diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 7f29242aad27..7e7e54893c6a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -7,14 +7,27 @@ body: attributes: value: > DuckDB has several repositories for different components, please make sure you're raising your issue in the correct one: - * [Our docs/website](https://github.com/duckdb/duckdb-web/issues/new) - * [DuckDB-Wasm](https://github.com/duckdb/duckdb-wasm/issues/new) - * [DuckDB-R](https://github.com/duckdb/duckdb-r/issues/new) - * [SQLite scanner](https://github.com/duckdblabs/sqlite_scanner/issues/new) - * [Postgres scanner](https://github.com/duckdblabs/postgres_scanner/issues/new) + + * [Documentation/website](https://github.com/duckdb/duckdb-web/issues/new) + * APIs: + * [duckdb-node](https://github.com/duckdb/duckdb-node/issues/new) + * [duckdb-r](https://github.com/duckdb/duckdb-r/issues/new) + * [duckdb-rs](https://github.com/duckdb/duckdb-rs/issues/new) + * [duckdb-wasm](https://github.com/duckdb/duckdb-wasm/issues/new) + * [go-duckdb](https://github.com/marcboeker/go-duckdb/issues/new) + * Extensions: + * [AWS extension](https://github.com/duckdb/duckdb_aws/issues/new) + * [Azure extension](https://github.com/duckdb/duckdb_azure/issues/new) + * [Iceberg extension](https://github.com/duckdb/duckdb_iceberg/issues/new) + * [MySQL extension](https://github.com/duckdb/duckdb_mysql/issues/new) + * [Postgres scanner](https://github.com/duckdb/postgres_scanner/issues/new) + * [Spatial extension](https://github.com/duckdb/duckdb_spatial/issues/new) + * [SQLite scanner](https://github.com/duckdb/sqlite_scanner/issues/new) If none of the above repositories are applicable, feel free to raise it in this one + Please report security vulnerabilities using GitHub's [report vulnerability form](https://github.com/duckdb/duckdb/security/advisories/new). + - type: textarea attributes: label: What happens? @@ -25,7 +38,7 @@ body: - type: textarea attributes: label: To Reproduce - description: Steps to reproduce the behavior. Please paste the code and the output as text, and avoid using screenshots. Please add the required imports for Python scripts (e.g., import duckdb). Bonus points if the steps only include SQL queries. + description: Steps to reproduce the behavior. Please paste the code and the output as text, and avoid using screenshots. Please use [code blocks](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks) for formatting and add the required imports for Python scripts (e.g., import duckdb). Bonus points if the steps only include SQL queries. validations: required: true @@ -77,14 +90,14 @@ body: - type: dropdown attributes: - label: Have you tried this on the latest `main` branch? + label: Have you tried this on the latest [nightly build](https://duckdb.org/docs/installation/?version=main)? description: | * **Python**: `pip install duckdb --upgrade --pre` * **R**: `install.packages('duckdb', repos=c('https://duckdb.r-universe.dev', 'https://cloud.r-project.org'))` * **Other Platforms**: You can find links to binaries [here](https://duckdb.org/docs/installation/) or compile from source. options: - - I have tested with a main build - - I have tested with a release build (and could not test with a main build) + - I have tested with a nightly build + - I have tested with a release build (and could not test with a nightly build) - I have not tested with any build validations: required: true diff --git a/.github/actions/build_extensions/action.yml b/.github/actions/build_extensions/action.yml index 6a70ca7c06ec..5584eb2a937f 100644 --- a/.github/actions/build_extensions/action.yml +++ b/.github/actions/build_extensions/action.yml @@ -27,6 +27,9 @@ inputs: default: '' # Build config + duckdb_arch: + description: 'Provide DUCKDB_PLATFORM to build system for cross compilation' + default: '' static_link_build: description: 'Links DuckDB statically to the loadable extensions' default: 1 @@ -93,7 +96,7 @@ runs: if: inputs.vcpkg_build == 1 uses: lukka/run-vcpkg@v11.1 with: - vcpkgGitCommitId: 501db0f17ef6df184fcdbfbe0f87cde2313b6ab1 + vcpkgGitCommitId: a42af01b72c28a8e1d7b48107b33e4f286a55ef6 - name: Set vcpkg env variables if: inputs.vcpkg_build == 1 @@ -140,6 +143,7 @@ runs: LOCAL_EXTENSION_REPO: ${{ inputs.run_autoload_tests == 1 && github.workspace || ''}} GEN: ${{ inputs.ninja == 1 && 'ninja' || '' }} USE_MERGED_VCPKG_MANIFEST: 1 + DUCKDB_PLATFORM: ${{ inputs.duckdb_arch }} run: | ls mkdir -p ~/.ssh @@ -209,15 +213,16 @@ runs: AWS_SECRET_ACCESS_KEY: ${{ inputs.s3_key }} DUCKDB_EXTENSION_SIGNING_PK: ${{ inputs.signing_pk }} AWS_DEFAULT_REGION: us-east-1 + DUCKDB_DEPLOY_SCRIPT_MODE: for_real run: | cd ${{ inputs.build_dir}} if [[ "$GITHUB_REPOSITORY" = "duckdb/duckdb" ]] ; then if [[ ! -z "${{ inputs.deploy_version }}" ]] ; then - ./scripts/extension-upload.sh ${{ inputs.deploy_as }} ${{ inputs.deploy_version }} + ./scripts/extension-upload-all.sh ${{ inputs.deploy_as }} ${{ inputs.deploy_version }} elif [[ "$GITHUB_REF" =~ ^(refs/tags/v.+)$ ]] ; then - ./scripts/extension-upload.sh ${{ inputs.deploy_as }} ${{ github.ref_name }} + ./scripts/extension-upload-all.sh ${{ inputs.deploy_as }} ${{ github.ref_name }} elif [[ "$GITHUB_REF" =~ ^(refs/heads/main)$ ]] ; then - ./scripts/extension-upload.sh ${{ inputs.deploy_as }} `git log -1 --format=%h` + ./scripts/extension-upload-all.sh ${{ inputs.deploy_as }} `git log -1 --format=%h` fi fi diff --git a/.github/actions/manylinux_2014_setup/action.yml b/.github/actions/manylinux_2014_setup/action.yml index 2e434d735c36..cd7d85743691 100644 --- a/.github/actions/manylinux_2014_setup/action.yml +++ b/.github/actions/manylinux_2014_setup/action.yml @@ -96,7 +96,7 @@ runs: if: ${{ inputs.vcpkg == 1 }} uses: lukka/run-vcpkg@v11.1 with: - vcpkgGitCommitId: 501db0f17ef6df184fcdbfbe0f87cde2313b6ab1 + vcpkgGitCommitId: a42af01b72c28a8e1d7b48107b33e4f286a55ef6 - name: Install OpenSSL if: ${{ inputs.openssl == 1 }} @@ -105,7 +105,7 @@ runs: - name: Setup Ccache if: ${{ inputs.ccache == 1 }} - uses: hendrikmuhs/ccache-action@main + uses: hendrikmuhs/ccache-action@v1.2.11 # Note: pinned due to GLIBC incompatibility in later releases with: key: ${{ github.job }} save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/duckdb' }} \ No newline at end of file diff --git a/.github/actions/ubuntu_18_setup/action.yml b/.github/actions/ubuntu_18_setup/action.yml index 468ff049ba09..c0616420a2f3 100644 --- a/.github/actions/ubuntu_18_setup/action.yml +++ b/.github/actions/ubuntu_18_setup/action.yml @@ -84,11 +84,11 @@ runs: if: ${{ inputs.vcpkg == 1 }} uses: lukka/run-vcpkg@v11.1 with: - vcpkgGitCommitId: 501db0f17ef6df184fcdbfbe0f87cde2313b6ab1 + vcpkgGitCommitId: a42af01b72c28a8e1d7b48107b33e4f286a55ef6 - name: Setup Ccache if: ${{ inputs.ccache == 1 }} - uses: hendrikmuhs/ccache-action@main + uses: hendrikmuhs/ccache-action@v1.2.11 # Note: pinned due to GLIBC incompatibility in later releases with: key: ${{ github.job }} save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/duckdb' }} diff --git a/.github/config/bundled_extensions.cmake b/.github/config/bundled_extensions.cmake index 869093434b14..ca2f5c03d771 100644 --- a/.github/config/bundled_extensions.cmake +++ b/.github/config/bundled_extensions.cmake @@ -28,4 +28,3 @@ duckdb_extension_load(autocomplete) # duckdb_extension_load(sqlsmith DONT_LINK) duckdb_extension_load(tpcds DONT_LINK) -duckdb_extension_load(visualizer DONT_LINK) diff --git a/.github/config/distribution_matrix.json b/.github/config/distribution_matrix.json index 4b209fe02236..5de0ce0e5b1f 100644 --- a/.github/config/distribution_matrix.json +++ b/.github/config/distribution_matrix.json @@ -37,7 +37,27 @@ { "duckdb_arch": "windows_amd64", "vcpkg_triplet": "x64-windows-static-md" + }, + { + "duckdb_arch": "windows_amd64_rtools", + "vcpkg_triplet": "x64-mingw-static" + } + ] + }, + "wasm": { + "include": [ + { + "duckdb_arch": "wasm_mvp", + "vcpkg_triplet": "wasm32-emscripten" + }, + { + "duckdb_arch": "wasm_eh", + "vcpkg_triplet": "wasm32-emscripten" + }, + { + "duckdb_arch": "wasm_threads", + "vcpkg_triplet": "wasm32-emscripten" } ] } -} \ No newline at end of file +} diff --git a/.github/config/extensions.csv b/.github/config/extensions.csv index 6d7e7d389040..8c4d1e0adfed 100644 --- a/.github/config/extensions.csv +++ b/.github/config/extensions.csv @@ -7,12 +7,11 @@ json,,, parquet,,, tpcds,,, tpch,,, -visualizer,,, -sqlite_scanner,https://github.com/duckdblabs/sqlite_scanner,3443b2999ae1e68a108568fd32145705237a5760, -postgres_scanner,https://github.com/duckdblabs/postgres_scanner,844f46536b5d5f9e65b57b7ff92f4ce3346e2829, -substrait,https://github.com/duckdblabs/substrait,5d621b1d7d16fe86f8b1930870c8e6bf05bcb92a,no-windows -arrow,https://github.com/duckdblabs/arrow,1b5b9649d28cd7f79496fb3f2e4dd7b03bf90ac5,no-windows -aws,https://github.com/duckdblabs/duckdb_aws,348ae2625de86ab760f80a43eb76e4441cd01354, -azure,https://github.com/duckdblabs/azure,1fe568d3eb3c8842118e395ba8031e2a8566daed, -spatial,https://github.com/duckdblabs/duckdb_spatial.git,36e5a126976ac3b66716893360ef7e6295707082, -iceberg,https://github.com/duckdblabs/duckdb_iceberg.git,51ba9564859698c29db4165f17143a2f6af2bb18, +sqlite_scanner,https://github.com/duckdb/sqlite_scanner,c1343464ef4397665b858db9c193d33fac591b1c, +postgres_scanner,https://github.com/duckdb/postgres_scanner,883a8f1a8a487264855a5166f7df1f46ad386434, +substrait,https://github.com/duckdb/substrait,e75ba6a9a43d75d8c72ecc38e6f751fd8e3474a0,no-windows +arrow,https://github.com/duckdb/arrow,9e10240da11f61ea7fbfe3fc9988ffe672ccd40f,no-windows +aws,https://github.com/duckdb/duckdb_aws,348ae2625de86ab760f80a43eb76e4441cd01354, +azure,https://github.com/duckdb/duckdb_azure,1fe568d3eb3c8842118e395ba8031e2a8566daed, +spatial,https://github.com/duckdb/duckdb_spatial,b9cd1904a2d243b9937294ae94d4c38e7ad289f4, +iceberg,https://github.com/duckdb/duckdb_iceberg,51ba9564859698c29db4165f17143a2f6af2bb18, diff --git a/.github/config/in_tree_extensions.cmake b/.github/config/in_tree_extensions.cmake index 5c7fdb5d7437..9587ea54461e 100644 --- a/.github/config/in_tree_extensions.cmake +++ b/.github/config/in_tree_extensions.cmake @@ -16,4 +16,3 @@ duckdb_extension_load(parquet) duckdb_extension_load(sqlsmith) duckdb_extension_load(tpcds) duckdb_extension_load(tpch) -duckdb_extension_load(visualizer) \ No newline at end of file diff --git a/.github/config/out_of_tree_extensions.cmake b/.github/config/out_of_tree_extensions.cmake index 45191dc52fee..2a1a335ded51 100644 --- a/.github/config/out_of_tree_extensions.cmake +++ b/.github/config/out_of_tree_extensions.cmake @@ -10,23 +10,27 @@ if (NOT WIN32) duckdb_extension_load(arrow LOAD_TESTS DONT_LINK GIT_URL https://github.com/duckdb/arrow - GIT_TAG 1b5b9649d28cd7f79496fb3f2e4dd7b03bf90ac5 + GIT_TAG 9e10240da11f61ea7fbfe3fc9988ffe672ccd40f ) endif() -################# AWS -duckdb_extension_load(aws - LOAD_TESTS - GIT_URL https://github.com/duckdb/duckdb_aws - GIT_TAG af729d027e57175c5496a2d7dfef68833e6d6cd3 - ) +################## AWS +if (NOT MINGW) + duckdb_extension_load(aws + LOAD_TESTS + GIT_URL https://github.com/duckdb/duckdb_aws + GIT_TAG af729d027e57175c5496a2d7dfef68833e6d6cd3 + ) +endif() ################# AZURE -duckdb_extension_load(azure - LOAD_TESTS - GIT_URL https://github.com/duckdb/duckdb_azure - GIT_TAG 10d4cf6a0ed00ea8aecb9bf1433fdfff166e6c44 - ) +if (NOT MINGW) + duckdb_extension_load(azure + LOAD_TESTS + GIT_URL https://github.com/duckdb/duckdb_azure + GIT_TAG 10d4cf6a0ed00ea8aecb9bf1433fdfff166e6c44 + ) +endif() ################# ICEBERG # Windows tests for iceberg currently not working @@ -36,30 +40,35 @@ else () set(LOAD_ICEBERG_TESTS "") endif() -duckdb_extension_load(iceberg - ${LOAD_ICEBERG_TESTS} - GIT_URL https://github.com/duckdb/duckdb_iceberg - GIT_TAG d8be56a293331a94d8e8d426b37d4593fc7dbd82 - ) +if (NOT MINGW) + duckdb_extension_load(iceberg + ${LOAD_ICEBERG_TESTS} + GIT_URL https://github.com/duckdb/duckdb_iceberg + GIT_TAG 7aa3d8e4cb7b513d35fdacfa28dc328771bc4047 + ) +endif() ################# POSTGRES_SCANNER # Note: tests for postgres_scanner are currently not run. All of them need a postgres server running. One test # uses a remote rds server but that's not something we want to run here. -duckdb_extension_load(postgres_scanner - DONT_LINK - GIT_URL https://github.com/duckdb/postgres_scanner - GIT_TAG 8c3e9624ee1d32f317e18136056dfca9fb97ee67 - ) +if (NOT MINGW) + duckdb_extension_load(postgres_scanner + DONT_LINK + GIT_URL https://github.com/duckdb/postgres_scanner + GIT_TAG 883a8f1a8a487264855a5166f7df1f46ad386434 + ) +endif() ################# SPATIAL -duckdb_extension_load(spatial - DONT_LINK LOAD_TESTS - GIT_URL https://github.com/duckdb/duckdb_spatial.git - GIT_TAG a86c504d60e0f4400564c0f2d633547f39feef2c - INCLUDE_DIR spatial/include - TEST_DIR test/sql - APPLY_PATCHES - ) +if (NOT MINGW) + duckdb_extension_load(spatial + DONT_LINK LOAD_TESTS + GIT_URL https://github.com/duckdb/duckdb_spatial.git + GIT_TAG b9cd1904a2d243b9937294ae94d4c38e7ad289f4 + INCLUDE_DIR spatial/include + TEST_DIR test/sql + ) +endif() ################# SQLITE_SCANNER # Static linking on windows does not properly work due to symbol collision @@ -72,7 +81,7 @@ endif() duckdb_extension_load(sqlite_scanner ${STATIC_LINK_SQLITE} LOAD_TESTS GIT_URL https://github.com/duckdb/sqlite_scanner - GIT_TAG ef91604503e5c9ef0cf89db4a29f7c97e7ba1fb5 + GIT_TAG c1343464ef4397665b858db9c193d33fac591b1c ) ################# SUBSTRAIT @@ -80,6 +89,6 @@ if (NOT WIN32) duckdb_extension_load(substrait LOAD_TESTS DONT_LINK GIT_URL https://github.com/duckdb/substrait - GIT_TAG 5d621b1d7d16fe86f8b1930870c8e6bf05bcb92a + GIT_TAG 870bab8725d1123905296bfb1f35ce737434e0b3 ) endif() diff --git a/.github/config/uncovered_files.csv b/.github/config/uncovered_files.csv index 671adf6bfd18..4bff1a13c06c 100644 --- a/.github/config/uncovered_files.csv +++ b/.github/config/uncovered_files.csv @@ -16,11 +16,11 @@ catalog/dependency_manager.cpp 5 common/allocator.cpp 20 common/arrow/arrow_appender.cpp 23 common/arrow/appender/map_data.cpp 7 -common/arrow/arrow_converter.cpp 11 +common/arrow/arrow_converter.cpp 13 common/arrow/arrow_wrapper.cpp 113 common/assert.cpp 2 common/bind_helpers.cpp 12 -common/box_renderer.cpp 35 +common/box_renderer.cpp 36 common/checksum.cpp 2 common/compressed_file_system.cpp 14 common/crypto/md5.cpp 2 @@ -34,7 +34,7 @@ common/file_buffer.cpp 5 common/file_system.cpp 20 common/fsst.cpp 7 common/gzip_file_system.cpp 40 -common/hive_partitioning.cpp 54 +common/hive_partitioning.cpp 55 common/http_state.cpp 36 common/local_file_system.cpp 22 common/multi_file_reader.cpp 15 @@ -58,7 +58,7 @@ common/serializer/buffered_file_reader.cpp 11 common/serializer/buffered_file_writer.cpp 2 common/serializer/binary_serializer.cpp 11 common/serializer/memory_stream.cpp 5 -common/sort/comparators.cpp 72 +common/sort/comparators.cpp 103 common/sort/merge_sorter.cpp 100 common/sort/partition_state.cpp 44 common/sort/sort_state.cpp 10 @@ -71,7 +71,7 @@ common/virtual_file_system.cpp 32 common/types/batched_data_collection.cpp 11 common/types/bit.cpp 9 common/types/blob.cpp 3 -common/types/chunk_collection.cpp 94 +common/types/cast_helpers.cpp 2 common/types/column/column_data_allocator.cpp 13 common/types/column/column_data_collection.cpp 55 common/types/column/partitioned_column_data.cpp 8 @@ -91,7 +91,7 @@ common/types/row/row_layout.cpp 4 common/types/row/tuple_data_allocator.cpp 23 common/types/row/tuple_data_collection.cpp 76 common/types/row/tuple_data_iterator.cpp 5 -common/types/row/tuple_data_scatter_gather.cpp 17 +common/types/row/tuple_data_scatter_gather.cpp 19 common/types/row/tuple_data_segment.cpp 10 common/types/string_heap.cpp 11 common/types/time.cpp 25 @@ -100,7 +100,7 @@ common/types/uuid.cpp 3 common/types/validity_mask.cpp 13 common/types/value.cpp 180 common/types/vector.cpp 153 -common/value_operations/comparison_operations.cpp 32 +common/value_operations/comparison_operations.cpp 33 common/vector_operations/generators.cpp 31 common/vector_operations/is_distinct_from.cpp 49 common/vector_operations/null_operations.cpp 15 @@ -111,10 +111,10 @@ common/vector_operations/vector_storage.cpp 13 core_functions/aggregate/distributive/approx_count.cpp 1 core_functions/aggregate/distributive/arg_min_max.cpp 10 core_functions/aggregate/distributive/bitagg.cpp 8 -core_functions/aggregate/distributive/bitstring_agg.cpp 6 +core_functions/aggregate/distributive/bitstring_agg.cpp 8 core_functions/aggregate/distributive/entropy.cpp 9 core_functions/aggregate/distributive/kurtosis.cpp 3 -core_functions/aggregate/distributive/minmax.cpp 2 +core_functions/aggregate/distributive/minmax.cpp 3 core_functions/aggregate/distributive/skew.cpp 2 core_functions/aggregate/distributive/sum.cpp 10 core_functions/aggregate/holistic/approximate_quantile.cpp 29 @@ -123,6 +123,9 @@ core_functions/aggregate/holistic/quantile.cpp 14 core_functions/aggregate/holistic/reservoir_quantile.cpp 39 core_functions/aggregate/nested/histogram.cpp 1 core_functions/aggregate/nested/list.cpp 4 +core_functions/scalar/array/array_value.cpp 2 +core_functions/scalar/string/length.cpp 2 +core_functions/lambda_functions.cpp 1 core_functions/scalar/bit/bitstring.cpp 3 core_functions/scalar/date/date_diff.cpp 124 core_functions/scalar/date/date_part.cpp 17 @@ -136,7 +139,7 @@ core_functions/scalar/generic/least.cpp 2 core_functions/scalar/generic/system_functions.cpp 4 core_functions/scalar/list/array_slice.cpp 3 core_functions/scalar/list/flatten.cpp 6 -core_functions/scalar/list/list_aggregates.cpp 2 +core_functions/scalar/list/list_aggregates.cpp 6 core_functions/scalar/list/list_lambdas.cpp 2 core_functions/scalar/list/list_sort.cpp 7 core_functions/scalar/list/range.cpp 6 @@ -197,7 +200,6 @@ execution/operator/join/physical_asof_join.cpp 38 execution/operator/join/physical_blockwise_nl_join.cpp 2 execution/operator/join/physical_hash_join.cpp 8 execution/operator/join/physical_iejoin.cpp 32 -execution/operator/join/physical_index_join.cpp 3 execution/operator/join/physical_nested_loop_join.cpp 4 execution/operator/join/physical_piecewise_merge_join.cpp 142 execution/operator/join/physical_range_join.cpp 62 @@ -255,7 +257,7 @@ function/cast/union_casts.cpp 4 function/cast/uuid_casts.cpp 2 function/cast/union/from_struct.cpp 0 function/cast/vector_cast_helpers.cpp 9 -function/cast_rules.cpp 18 +function/cast_rules.cpp 19 function/function.cpp 8 function/function_binder.cpp 18 function/function_set.cpp 8 @@ -265,11 +267,12 @@ function/pragma_function.cpp 6 function/scalar/generic/constant_or_null.cpp 5 function/scalar/list/list_concat.cpp 5 function/scalar/list/list_extract.cpp 10 -function/scalar/operators/add.cpp 4 +function/scalar/operators/add.cpp 8 function/scalar/operators/arithmetic.cpp 23 -function/scalar/operators/multiply.cpp 3 +function/scalar/operators/multiply.cpp 4 function/scalar/operators/subtract.cpp 5 function/scalar/strftime_format.cpp 31 +function/scalar/string/length.cpp 2 function/scalar/string/regexp.cpp 5 function/scalar/string/regexp/regexp_extract_all.cpp 5 function/scalar/string/substring.cpp 8 @@ -381,7 +384,6 @@ include/duckdb/common/sort/sorted_block.hpp 1 include/duckdb/common/string_util.hpp 9 include/duckdb/common/type_util.hpp 2 include/duckdb/common/types.hpp 5 -include/duckdb/common/types/chunk_collection.hpp 6 include/duckdb/common/types/column/column_data_allocator.hpp 3 include/duckdb/common/types/column/partitioned_column_data.hpp 2 include/duckdb/common/types/datetime.hpp 13 @@ -389,8 +391,10 @@ include/duckdb/common/types/hugeint.hpp 2 include/duckdb/common/types/row/partitioned_tuple_data.hpp 11 include/duckdb/common/types/string_type.hpp 5 include/duckdb/common/types/uuid.hpp 4 +include/duckdb/common/types/uhugeint.hpp 2 include/duckdb/common/types/validity_mask.hpp 5 include/duckdb/common/types/value.hpp 6 +include/duckdb/common/types/vector_buffer.hpp 1 include/duckdb/common/vector_operations/aggregate_executor.hpp 17 include/duckdb/common/vector_operations/binary_executor.hpp 15 include/duckdb/common/vector_operations/generic_executor.hpp 9 @@ -486,7 +490,7 @@ main/chunk_scan_state/query_result.cpp 28 main/capi/data_chunk-c.cpp 30 main/capi/duckdb-c.cpp 3 main/capi/duckdb_value-c.cpp 14 -main/capi/helper-c.cpp 49 +main/capi/helper-c.cpp 52 main/capi/hugeint-c.cpp 5 main/capi/logical_types-c.cpp 45 main/capi/pending-c.cpp 32 @@ -581,6 +585,7 @@ parser/expression/case_expression.cpp 3 parser/expression/collate_expression.cpp 3 parser/expression/default_expression.cpp 8 parser/expression/function_expression.cpp 2 +parser/expression/lambdaref_expression.cpp 3 parser/expression/star_expression.cpp 5 parser/expression/subquery_expression.cpp 5 parser/expression/window_expression.cpp 8 @@ -707,7 +712,7 @@ planner/expression/bound_lambdaref_expression.cpp 38 planner/expression/bound_reference_expression.cpp 12 planner/expression/bound_subquery_expression.cpp 5 planner/expression/bound_window_expression.cpp 7 -planner/expression_binder.cpp 7 +planner/expression_binder.cpp 9 planner/expression_binder/aggregate_binder.cpp 3 planner/expression_binder/alter_binder.cpp 3 planner/expression_binder/base_select_binder.cpp 3 @@ -794,6 +799,7 @@ storage/standard_buffer_manager.cpp 128 storage/statistics/base_statistics.cpp 48 storage/statistics/column_statistics.cpp 8 storage/statistics/distinct_statistics.cpp 12 +storage/statistics/array_stats.cpp 1 storage/statistics/list_stats.cpp 13 storage/statistics/numeric_stats.cpp 117 storage/statistics/numeric_stats_union.cpp 3 @@ -812,6 +818,7 @@ storage/table/column_data.cpp 16 storage/table/column_data_checkpointer.cpp 4 storage/table/column_segment.cpp 62 storage/table/list_column_data.cpp 28 +storage/table/array_column_data.cpp 25 storage/table/row_group.cpp 54 storage/table/row_group_collection.cpp 7 storage/table/row_version_manager.cpp 6 diff --git a/.github/patches/extensions/README.md b/.github/patches/extensions/README.md index 367eacdb43cf..5818e1e94286 100644 --- a/.github/patches/extensions/README.md +++ b/.github/patches/extensions/README.md @@ -7,7 +7,7 @@ lets say our extension config looks like this: ```shell duckdb_extension_load(spatial DONT_LINK - GIT_URL https://github.com/duckdblabs/duckdb_spatial.git + GIT_URL https://github.com/duckdb/duckdb_spatial GIT_TAG f577b9441793f9170403e489f5d3587e023a945f APPLY_PATCHES ) diff --git a/.github/patches/extensions/spatial/const_param_ifdeff_patch.patch b/.github/patches/extensions/spatial/const_param_ifdeff_patch.patch deleted file mode 100644 index 7cb2242a0b3a..000000000000 --- a/.github/patches/extensions/spatial/const_param_ifdeff_patch.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/spatial/src/spatial/gdal/functions/st_write.cpp b/spatial/src/spatial/gdal/functions/st_write.cpp -index 266a52a..15ebcf4 100644 ---- a/spatial/src/spatial/gdal/functions/st_write.cpp -+++ b/spatial/src/spatial/gdal/functions/st_write.cpp -@@ -55,14 +55,9 @@ struct GlobalState : public GlobalFunctionData { - //===--------------------------------------------------------------------===// - // Bind - //===--------------------------------------------------------------------===// --// The parameters are const in duckdb > 0.9.1, ifdef so we can build for both versions for now. --#if DUCKDB_PATCH_VERSION == 1 --static unique_ptr Bind(ClientContext &context, CopyInfo &info, vector &names, -- vector &sql_types) { --#else - static unique_ptr Bind(ClientContext &context, const CopyInfo &info, const vector &names, - const vector &sql_types) { --#endif -+ - GdalFileHandler::SetLocalClientContext(context); - - auto bind_data = make_uniq(info.file_path, sql_types, names); diff --git a/.github/regression/csv.csv b/.github/regression/csv.csv index 14108e3e7cf8..95f761fd08f7 100644 --- a/.github/regression/csv.csv +++ b/.github/regression/csv.csv @@ -1,3 +1,5 @@ benchmark/micro/csv/sniffer.benchmark benchmark/micro/csv/read.benchmark -benchmark/micro/csv/small_csv.benchmark \ No newline at end of file +benchmark/micro/csv/small_csv.benchmark +benchmark/micro/csv/null_padding.benchmark +benchmark/micro/csv/projection_pushdown.benchmark \ No newline at end of file diff --git a/.github/regression/tpcds.csv b/.github/regression/tpcds.csv index a415983f74a4..d575bb25da6a 100644 --- a/.github/regression/tpcds.csv +++ b/.github/regression/tpcds.csv @@ -82,6 +82,7 @@ benchmark/tpcds/sf1/q81.benchmark benchmark/tpcds/sf1/q82.benchmark benchmark/tpcds/sf1/q83.benchmark benchmark/tpcds/sf1/q84.benchmark +benchmark/tpcds/sf1/q85.benchmark benchmark/tpcds/sf1/q86.benchmark benchmark/tpcds/sf1/q87.benchmark benchmark/tpcds/sf1/q88.benchmark diff --git a/.github/workflows/CheckIssueForCodeFormatting.yml b/.github/workflows/CheckIssueForCodeFormatting.yml new file mode 100644 index 000000000000..3f7b65f4ed69 --- /dev/null +++ b/.github/workflows/CheckIssueForCodeFormatting.yml @@ -0,0 +1,28 @@ +name: Check Issue for Code Formatting +on: + issues: + types: + - opened + +env: + GH_TOKEN: ${{ secrets.DUCKDBLABS_BOT_TOKEN }} + +jobs: + check_code_formatting: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set up Python 3.11 + uses: actions/setup-python@v4 + with: + python-version: '3.11' + - name: Check issue for code formatting + run: | + cat << 'EOF' >> issue-text.md + ${{ github.event.issue.body }}" + EOF + if ! cat issue-text.md | python3 scripts/check-issue-for-code-formatting.py; then + gh issue comment ${{ github.event.issue.number }} --body-file .github/workflows/code-formatting-warning.md + fi diff --git a/.github/workflows/ExtensionRebuild.yml b/.github/workflows/ExtensionRebuild.yml deleted file mode 100644 index 264141c3beb4..000000000000 --- a/.github/workflows/ExtensionRebuild.yml +++ /dev/null @@ -1,209 +0,0 @@ -name: Out-of-tree Extension Rebuild -on: - workflow_dispatch: - inputs: - extension_name: - description: 'Extension name (e.g. postgres_scanner)' - required: true - type: string - extension_repo: - description: 'Extension git repo (e.g. https://github.com/duckdblabs/postgres_scanner)' - required: true - type: string - extension_ref: - description: 'Extension version (commit hash)' - required: true - type: string - duckdb_ref: - description: 'DuckDB version (short commit hash or vX.Y.Z tag)' - required: true - type: string - use_old_extension_config: - description: 'Use the old csv-based configuration for building extensions' - required: true - type: bool - -jobs: - linux-extensions-64-rebuild: - name: Linux Extensions (64 Bit) - runs-on: ubuntu-latest - container: quay.io/pypa/manylinux2014_x86_64 - - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - uses: ./.github/actions/manylinux_2014_setup - with: - aws-cli: 1 - ninja-build: 1 - vcpkg: 1 - openssl: 1 - ccache: 1 - ssh: 1 - - - name: Checkout specific DuckDB version - shell: bash - run: | - git clone https://github.com/duckdb/duckdb.git duckdb-old - git -C duckdb-old checkout ${{ inputs.duckdb_ref }} - - - name: Override config (CMake) - if: !use_old_extension_config - shell: bash - run: | - echo -e 'duckdb_extension_load( ${{ inputs.extension_name }} GIT_URL ${{ inputs.extension_repo }} GIT_TAG ${{ inputs.extension_ref }} DONT_LINK)' > duckdb-old/.github/config/out_of_tree_extensions.cmake - - - name: Override config (CSV) - if: use_old_extension_config - shell: bash - run: | - echo -e 'name,url,commit,options\n${{ inputs.extension_name }},${{ inputs.extension_repo }},${{ inputs.extension_ref }},true' > duckdb-old/.github/config/extensions.csv - - - uses: ./.github/actions/build_extensions - with: - build_in_tree_extensions: 0 - build_dir: duckdb-old - deploy_as: linux_amd64 - deploy_version: ${{ inputs.duckdb_ref }} - run_tests: 0 - s3_id: ${{ secrets.S3_ID }} - s3_key: ${{ secrets.S3_KEY }} - signing_pk: ${{ secrets.DUCKDB_EXTENSION_SIGNING_PK }} - python_name: python3 - vcpkg_target_triplet: x64-linux - - xcode-extensions-rebuild: - name: OSX Extensions Release - runs-on: macos-latest - env: - DUCKDB_EXTENSION_SIGNING_PK: ${{ secrets.DUCKDB_EXTENSION_SIGNING_PK }} - OSX_BUILD_UNIVERSAL: 1 - - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Checkout specific DuckDB version - shell: bash - run: | - git clone https://github.com/duckdb/duckdb.git duckdb-old - git -C duckdb-old checkout ${{ inputs.duckdb_ref }} - - - name: Override extensions.csv - shell: bash - run: | - echo -e 'name,url,commit,options\n${{ inputs.extension_name }},${{ inputs.extension_repo }},${{ inputs.extension_ref }},true' > duckdb-old/.github/config/extensions.csv - - - uses: actions/setup-python@v4 - with: - python-version: '3.7' - - - uses: ./.github/actions/build_extensions - with: - build_in_tree_extensions: 0 - treat_warn_as_error: 0 - build_dir: duckdb-old - post_install: rm build/release/src/libduckdb* - run_tests: 0 - osx_universal: 1 - - - name: Deploy - shell: bash - env: - AWS_ACCESS_KEY_ID: ${{secrets.S3_ID}} - AWS_SECRET_ACCESS_KEY: ${{secrets.S3_KEY}} - AWS_DEFAULT_REGION: us-east-1 - run: | - pip install awscli - cd duckdb-old - ./scripts/extension-upload.sh osx_amd64 ${{ inputs.duckdb_ref }} - ./scripts/extension-upload.sh osx_arm64 ${{ inputs.duckdb_ref }} - - win-extensions-64-rebuild: - name: Windows Extensions (64-bit) - runs-on: windows-latest - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Checkout specific DuckDB version - shell: bash - run: | - git clone https://github.com/duckdb/duckdb.git duckdb-old - git -C duckdb-old checkout ${{ inputs.duckdb_ref }} - - - name: Override extensions.csv - shell: bash - run: | - echo -e 'name,url,commit,options\n${{ inputs.extension_name }},${{ inputs.extension_repo }},${{ inputs.extension_ref }},true' > duckdb-old/.github/config/extensions.csv - - - uses: actions/setup-python@v4 - with: - python-version: '3.7' - - - uses: ./.github/actions/build_extensions - with: - build_in_tree_extensions: 0 - deploy_as: windows_amd64 - vcpkg_target_triplet: x64-windows - deploy_version: ${{ inputs.duckdb_ref }} - run_tests: 0 - treat_warn_as_error: 0 - build_dir: duckdb-old - s3_id: ${{ secrets.S3_ID }} - s3_key: ${{ secrets.S3_KEY }} - signing_pk: ${{ secrets.DUCKDB_EXTENSION_SIGNING_PK }} - - - manylinux-extensions-rebuild: - name: DuckDB Extensions (gcc4) - runs-on: ubuntu-latest - container: quay.io/pypa/manylinux2014_x86_64 - - steps: - - name: Install dependencies - shell: bash - run: | - yum install -y gcc gcc-c++ cmake make - yum install -y epel-release - yum install -y make gcc perl-core pcre-devel wget zlib-devel python3 - yum install -y https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm - yum install -y git - yum install -y curl-devel expat-devel gettext-devel zlib-devel perl-ExtUtils-MakeMaker - - name: Install AWS CLI - shell: bash - run: | - python3 -m pip install awscli - aws --version - - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Checkout specific DuckDB version - shell: bash - run: | - git clone https://github.com/duckdb/duckdb.git duckdb-old - git -C duckdb-old checkout ${{ inputs.duckdb_ref }} - - - name: Override extensions.csv - shell: bash - run: | - echo -e 'name,url,commit,options\n${{ inputs.extension_name }},${{ inputs.extension_repo }},${{ inputs.extension_ref }},true' > duckdb-old/.github/config/extensions.csv - - - uses: ./.github/actions/build_extensions - with: - build_in_tree_extensions: 0 - run_tests: 0 - build_dir: duckdb-old - deploy_as: linux_amd64_gcc4 - vcpkg_target_triplet: x64-linux - deploy_version: ${{ inputs.duckdb_ref }} - s3_id: ${{ secrets.S3_ID }} - s3_key: ${{ secrets.S3_KEY }} - signing_pk: ${{ secrets.DUCKDB_EXTENSION_SIGNING_PK }} - treat_warn_as_error: 0 diff --git a/.github/workflows/ExtensionTrigger.yml b/.github/workflows/ExtensionTrigger.yml index bc409fff973d..8f7fe1440deb 100644 --- a/.github/workflows/ExtensionTrigger.yml +++ b/.github/workflows/ExtensionTrigger.yml @@ -12,4 +12,4 @@ jobs: - name: Trigger Substrait Extension run: | - curl -XPOST -u "${{secrets.PAT_USERNAME}}:${{secrets.PAT_TOKEN}}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" https://api.github.com/repos/duckdblabs/substrait/dispatches --data '{"event_type": "build_application"}' \ No newline at end of file + curl -XPOST -u "${{secrets.PAT_USERNAME}}:${{secrets.PAT_TOKEN}}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" https://api.github.com/repos/duckdb/substrait/dispatches --data '{"event_type": "build_application"}' \ No newline at end of file diff --git a/.github/workflows/InternalIssuesCreateMirror.yml b/.github/workflows/InternalIssuesCreateMirror.yml index 94dcf4dd9d2b..ffd8065348bf 100644 --- a/.github/workflows/InternalIssuesCreateMirror.yml +++ b/.github/workflows/InternalIssuesCreateMirror.yml @@ -10,16 +10,24 @@ env: PUBLIC_ISSUE_TITLE: ${{ github.event.issue.title }} jobs: + handle_pr_submitted_label: + if: github.event.label.name == 'PR submitted' + runs-on: ubuntu-latest + steps: + - name: Remove 'needs triage' label + run: | + gh issue edit --repo duckdb/duckdb ${{ github.event.issue.number }} --remove-label "needs triage" + create_or_label_issue: if: github.event.label.name == 'reproduced' || github.event.label.name == 'under review' runs-on: ubuntu-latest steps: - - name: Remove needs triage / under review if reproduced + - name: Remove 'needs triage' / 'under review' if 'reproduced' if: github.event.label.name == 'reproduced' run: | gh issue edit --repo duckdb/duckdb ${{ github.event.issue.number }} --remove-label "needs triage" --remove-label "under review" - - name: Remove needs triage / reproduced if under review + - name: Remove 'needs triage' / 'reproduced' if 'under review' if: github.event.label.name == 'under review' run: | gh issue edit --repo duckdb/duckdb ${{ github.event.issue.number }} --remove-label "needs triage" --remove-label "reproduced" diff --git a/.github/workflows/InternalIssuesUpdateMirror.yml b/.github/workflows/InternalIssuesUpdateMirror.yml index 58c53b117275..dfd15ddbaccd 100644 --- a/.github/workflows/InternalIssuesUpdateMirror.yml +++ b/.github/workflows/InternalIssuesUpdateMirror.yml @@ -29,7 +29,7 @@ jobs: - name: Add comment with status to mirror issue run: | if [ "$MIRROR_ISSUE_NUMBER" != "" ]; then - gh issue comment --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER --body "The issue has been ${{ github.event.action }}." + gh issue comment --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER --body "The issue has been ${{ github.event.action }} (https://github.com/duckdb/duckdb/issues/${{ github.event.issue.number }})." fi - name: Add closed label to mirror issue diff --git a/.github/workflows/Java.yml b/.github/workflows/Java.yml index dab6468a5989..f40f1056e2f5 100644 --- a/.github/workflows/Java.yml +++ b/.github/workflows/Java.yml @@ -71,9 +71,8 @@ jobs: - name: Java Tests shell: bash if: ${{ !startsWith(github.ref, 'refs/tags/v') }} - run: > - java -cp build/release/tools/jdbc/duckdb_jdbc.jar - org.duckdb.test.TestDuckDBJDBC + working-directory: tools/jdbc + run: make test_release - name: Deploy shell: bash @@ -98,6 +97,7 @@ jobs: ENABLE_EXTENSION_AUTOINSTALL: 1 OVERRIDE_JDBC_OS_ARCH: arm64 JAVA_HOME: ../../jdk8u345-b01 + DUCKDB_PLATFORM: linux_arm64 steps: - uses: actions/checkout@v3 with: @@ -152,14 +152,14 @@ jobs: run: > python scripts/windows_ci.py - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_GENERATOR_PLATFORM=x64 -DJDBC_DRIVER=1 -DBUILD_EXTENSIONS=json -DENABLE_EXTENSION_AUTOLOADING=1 -DENABLE_EXTENSION_AUTOINSTALL=1 + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_GENERATOR_PLATFORM=x64 -DJDBC_DRIVER=1 -DBUILD_EXTENSIONS=json -DENABLE_EXTENSION_AUTOLOADING=1 -DENABLE_EXTENSION_AUTOINSTALL=1 -DBUILD_SHELL=0 cmake --build . --config Release - name: Java Tests if: ${{ !startsWith(github.ref, 'refs/tags/v') }} shell: bash - run: | - java -cp tools/jdbc/duckdb_jdbc.jar org.duckdb.test.TestDuckDBJDBC + working-directory: tools/jdbc + run: make test_release - name: Deploy shell: bash run: > @@ -200,9 +200,8 @@ jobs: - name: Java Tests if: ${{ !startsWith(github.ref, 'refs/tags/v') }} shell: bash - run: > - java -cp build/release/tools/jdbc/duckdb_jdbc.jar - org.duckdb.test.TestDuckDBJDBC + working-directory: tools/jdbc + run: make test_release - name: Java Example shell: bash run: | @@ -314,7 +313,7 @@ jobs: git clone https://github.com/cwida/jdbccts.git - name: Setup Ccache - uses: hendrikmuhs/ccache-action@main + uses: hendrikmuhs/ccache-action@v1.2.11 # Note: pinned due to GLIBC incompatibility in later releases with: key: ${{ github.job }} save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/duckdb' }} diff --git a/.github/workflows/LinuxRelease.yml b/.github/workflows/LinuxRelease.yml index 3bee876106ed..9ac8ff1332c8 100644 --- a/.github/workflows/LinuxRelease.yml +++ b/.github/workflows/LinuxRelease.yml @@ -13,6 +13,7 @@ on: - '**.md' - 'tools/**' - '!tools/odbc/**' + - '!tools/shell/**' - '.github/patches/duckdb-wasm/**' - '.github/workflows/**' - '!.github/workflows/LinuxRelease.yml' @@ -23,6 +24,7 @@ on: - '**.md' - 'tools/**' - '!tools/odbc/**' + - '!tools/shell/**' - '.github/patches/duckdb-wasm/**' - '.github/workflows/**' - '!.github/workflows/LinuxRelease.yml' @@ -81,7 +83,7 @@ jobs: if: ${{ !startsWith(github.ref, 'refs/tags/v') }} run: | make - python3 scripts/run_tests_one_by_one.py build/release/test/unittest "*" + python3 scripts/run_tests_one_by_one.py build/release/test/unittest "*" --time_execution --order lex --list - name: Tools Tests shell: bash @@ -133,6 +135,7 @@ jobs: FORCE_WARN_UNUSED: 1 BUILD_ODBC: 1 ODBC_CONFIG: ../../build/unixodbc/build/bin/odbc_config + DUCKDB_PLATFORM: linux_arm64 steps: - uses: actions/checkout@v3 @@ -200,8 +203,8 @@ jobs: post_install: rm build/release/src/libduckdb* deploy_as: linux_amd64 treat_warn_as_error: 0 - run_autoload_tests: ${{ !startsWith(github.ref, 'refs/tags/v') }} - run_tests: ${{ !startsWith(github.ref, 'refs/tags/v') }} + run_autoload_tests: ${{ startsWith(github.ref, 'refs/tags/v') && 0 || 1 }} + run_tests: ${{ startsWith(github.ref, 'refs/tags/v') && 0 || 1 }} s3_id: ${{ secrets.S3_ID }} s3_key: ${{ secrets.S3_KEY }} signing_pk: ${{ secrets.DUCKDB_EXTENSION_SIGNING_PK }} @@ -237,6 +240,7 @@ jobs: with: vcpkg_target_triplet: arm64-linux deploy_as: linux_arm64 + duckdb_arch: linux_arm64 treat_warn_as_error: 0 s3_id: ${{ secrets.S3_ID }} s3_key: ${{ secrets.S3_KEY }} @@ -336,7 +340,6 @@ jobs: runs-on: ubuntu-20.04 needs: linux-release-64 env: - BUILD_VISUALIZER: 1 BUILD_HTTPFS: 1 BUILD_TPCH: 1 BUILD_TPCDS: 1 @@ -387,6 +390,7 @@ jobs: run: | python3 scripts/get_test_list.py --file-contains 'require httpfs' --list '"*"' > test.list python3 scripts/run_tests_one_by_one.py ./build/release/test/unittest '-f test.list' + python3 scripts/run_tests_one_by_one.py ./build/release/test/unittest '[secret]' amalgamation-tests: name: Amalgamation Tests diff --git a/.github/workflows/Main.yml b/.github/workflows/Main.yml index 3067e5b9ae68..4a22a3d3178d 100644 --- a/.github/workflows/Main.yml +++ b/.github/workflows/Main.yml @@ -13,6 +13,7 @@ on: - '**.md' - 'tools/**' - '!tools/odbc/**' + - '!tools/shell/**' - '.github/patches/duckdb-wasm/**' - '.github/workflows/**' - '!.github/workflows/Main.yml' @@ -23,6 +24,7 @@ on: - '**.md' - 'tools/**' - '!tools/odbc/**' + - '!tools/shell/**' - '.github/patches/duckdb-wasm/**' - '.github/workflows/**' - '!.github/workflows/Main.yml' @@ -44,7 +46,6 @@ jobs: CC: gcc-10 CXX: g++-10 TREAT_WARNINGS_AS_ERRORS: 1 - BUILD_VISUALIZER: 1 GEN: ninja steps: @@ -66,11 +67,16 @@ jobs: shell: bash run: make debug + - name: Set DUCKDB_INSTALL_LIB for ADBC tests + shell: bash + run: echo "DUCKDB_INSTALL_LIB=$(find `pwd` -name "libduck*.so" | head -n 1)" >> $GITHUB_ENV + + - name: Test DUCKDB_INSTALL_LIB variable + run: echo $DUCKDB_INSTALL_LIB + - name: Test shell: bash - run: | - echo "DUCKDB_INSTALL_LIB=$(find `pwd` -name "libduck*.so" | head -n 1)" >> $GITHUB_ENV - make unittestci + run: make unittestci force-storage: @@ -88,10 +94,10 @@ jobs: BUILD_TPCH: 1 BUILD_TPCDS: 1 BUILD_FTS: 1 - BUILD_VISUALIZER: 1 BUILD_JSON: 1 BUILD_EXCEL: 1 BUILD_JEMALLOC: 1 + RUN_SLOW_VERIFIERS: 1 steps: - uses: actions/checkout@v3 @@ -131,7 +137,6 @@ jobs: BUILD_TPCH: 1 BUILD_TPCDS: 1 BUILD_FTS: 1 - BUILD_VISUALIZER: 1 BUILD_JSON: 1 BUILD_EXCEL: 1 BUILD_JEMALLOC: 1 diff --git a/.github/workflows/NightlyTests.yml b/.github/workflows/NightlyTests.yml index 5bab686fc7aa..8a23b9945240 100644 --- a/.github/workflows/NightlyTests.yml +++ b/.github/workflows/NightlyTests.yml @@ -84,6 +84,7 @@ jobs: BUILD_JEMALLOC: 1 DISABLE_SANITIZER: 1 CRASH_ON_ASSERT: 1 + RUN_SLOW_VERIFIERS: 1 steps: - uses: actions/checkout@v3 @@ -107,7 +108,7 @@ jobs: - name: Test shell: bash run: | - python3 scripts/run_tests_one_by_one.py build/relassert/test/unittest "*" + python3 scripts/run_tests_one_by_one.py build/relassert/test/unittest "*" --no-exit linux-clang: @@ -312,11 +313,8 @@ jobs: sqllogic: name: Sqllogic tests - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest # Secondary task of this CI job is to test building duckdb on latest ubuntu needs: linux-memory-leaks - env: - CC: gcc-10 - CXX: g++-10 steps: - uses: actions/checkout@v3 @@ -324,7 +322,7 @@ jobs: fetch-depth: 0 - name: Setup Ccache - uses: hendrikmuhs/ccache-action@main + uses: hendrikmuhs/ccache-action@v1.2.11 # Note: pinned due to GLIBC incompatibility in later releases with: key: ${{ github.job }} save: ${{ env.CCACHE_SAVE }} @@ -455,7 +453,7 @@ jobs: - name: Test shell: bash - run: build/relassert/test/unittest + run: python3 scripts/run_tests_one_by_one.py build/relassert/test/unittest --no-exit regression-test-memory-safety: name: Regression Tests between safe and unsafe builds @@ -558,7 +556,7 @@ jobs: BUILD_JSON: 1 BUILD_EXCEL: 1 BUILD_JEMALLOC: 1 - TSAN_OPTIONS: suppressions=.sanitizer-thread-suppressions.txt + TSAN_OPTIONS: suppressions=${{ github.workspace }}/.sanitizer-thread-suppressions.txt steps: - uses: actions/checkout@v3 @@ -582,11 +580,11 @@ jobs: - name: Test shell: bash run: | - python3 scripts/run_tests_one_by_one.py build/reldebug/test/unittest - python3 scripts/run_tests_one_by_one.py build/reldebug/test/unittest "[intraquery]" - python3 scripts/run_tests_one_by_one.py build/reldebug/test/unittest "[interquery]" - python3 scripts/run_tests_one_by_one.py build/reldebug/test/unittest "[detailed_profiler]" - python3 scripts/run_tests_one_by_one.py build/reldebug/test/unittest test/sql/tpch/tpch_sf01.test_slow + python3 scripts/run_tests_one_by_one.py build/reldebug/test/unittest --no-exit + python3 scripts/run_tests_one_by_one.py build/reldebug/test/unittest "[intraquery]" --no-exit + python3 scripts/run_tests_one_by_one.py build/reldebug/test/unittest "[interquery]" --no-exit + python3 scripts/run_tests_one_by_one.py build/reldebug/test/unittest "[detailed_profiler]" --no-exit + python3 scripts/run_tests_one_by_one.py build/reldebug/test/unittest test/sql/tpch/tpch_sf01.test_slow --no-exit vector-sizes: name: Vector Sizes @@ -615,6 +613,33 @@ jobs: shell: bash run: python scripts/test_vector_sizes.py + block-sizes: + name: Block Sizes + runs-on: ubuntu-20.04 + needs: linux-memory-leaks + env: + CC: gcc-10 + CXX: g++-10 + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - uses: actions/setup-python@v4 + with: + python-version: '3.7' + + - name: Setup Ccache + uses: hendrikmuhs/ccache-action@main + with: + key: ${{ github.job }} + save: ${{ env.CCACHE_SAVE }} + + - name: Test + shell: bash + run: python scripts/test_block_sizes.py + linux-wasm-experimental: name: WebAssembly duckdb-wasm builds runs-on: ubuntu-22.04 diff --git a/.github/workflows/OSX.yml b/.github/workflows/OSX.yml index 6eb0ea2e1582..63085793cd65 100644 --- a/.github/workflows/OSX.yml +++ b/.github/workflows/OSX.yml @@ -13,6 +13,7 @@ on: - '**.md' - 'tools/**' - '!tools/odbc/**' + - '!tools/shell/**' - '.github/patches/duckdb-wasm/**' - '.github/workflows/**' - '!.github/workflows/OSX.yml' @@ -56,12 +57,17 @@ jobs: shell: bash run: GEN=ninja make debug + - name: Set DUCKDB_INSTALL_LIB for ADBC tests + shell: bash + run: echo "DUCKDB_INSTALL_LIB=$(find `pwd` -name "libduck*.dylib" | head -n 1)" >> $GITHUB_ENV + + - name: Test DUCKDB_INSTALL_LIB variable + run: echo $DUCKDB_INSTALL_LIB + - name: Test if: ${{ !startsWith(github.ref, 'refs/tags/v') }} shell: bash - run: | - echo "DUCKDB_INSTALL_LIB=$(find `pwd` -name "libduck*.dylib" | head -n 1)" >> $GITHUB_ENV - make unittestci + run: make unittestci - name: Amalgamation if: ${{ !startsWith(github.ref, 'refs/tags/v') }} @@ -199,6 +205,7 @@ jobs: AWS_DEFAULT_REGION: us-east-1 VCPKG_TARGET_TRIPLET: ${{ matrix.vcpkg_triplet }} GEN: ninja + DUCKDB_PLATFORM: ${{ matrix.duckdb_arch }} steps: - uses: actions/checkout@v3 @@ -209,8 +216,8 @@ jobs: with: python-version: '3.7' - - name: Install Ninja - run: brew install ninja + - name: Install Ninja and Pkg-config + run: brew install pkg-config ninja - name: Setup Ccache uses: hendrikmuhs/ccache-action@main @@ -224,6 +231,7 @@ jobs: run_tests: 0 osx_arch: ${{ matrix.osx_arch }} vcpkg_target_triplet: ${{ matrix.vcpkg_triplet }} + duckdb_arch: ${{ matrix.duckdb_arch }} build_in_tree_extensions: 1 build_out_of_tree_extensions: 1 run_autoload_tests: ${{ matrix.run_autoload_tests }} @@ -251,15 +259,16 @@ jobs: env: AWS_ACCESS_KEY_ID: ${{secrets.S3_ID}} AWS_SECRET_ACCESS_KEY: ${{secrets.S3_KEY}} + DUCKDB_DEPLOY_SCRIPT_MODE: for_real run: | if [[ "$GITHUB_REF" =~ ^(refs/tags/v.+)$ && "$GITHUB_REPOSITORY" = "duckdb/duckdb" ]] ; then pip install awscli - ./scripts/extension-upload.sh ${{ matrix.duckdb_arch }} ${{ github.ref_name }} + ./scripts/extension-upload-all.sh ${{ matrix.duckdb_arch }} ${{ github.ref_name }} elif [[ "$GITHUB_REF" =~ ^(refs/heads/main)$ && "$GITHUB_REPOSITORY" = "duckdb/duckdb" ]] ; then pip install awscli - ./scripts/extension-upload.sh ${{ matrix.duckdb_arch }} `git log -1 --format=%h` + ./scripts/extension-upload-all.sh ${{ matrix.duckdb_arch }} `git log -1 --format=%h` else - echo "would do: ./scripts/extension-upload.sh ${{ matrix.duckdb_arch }} ${{ github.ref_name }}" + echo "would do: ./scripts/extension-upload-all.sh ${{ matrix.duckdb_arch }} ${{ github.ref_name }}" fi - name: Test loadable extensions @@ -294,4 +303,4 @@ jobs: run: | python3 scripts/get_test_list.py --file-contains 'require ' --list '"*.test"' > test.list python3 scripts/get_test_list.py --file-contains 'require-env LOCAL_EXTENSION_REPO' --list '"*.test"' >> test.list - python3 scripts/run_tests_one_by_one.py ./build/release/test/unittest '-f test.list' \ No newline at end of file + python3 scripts/run_tests_one_by_one.py ./build/release/test/unittest '-f test.list' diff --git a/.github/workflows/Python.yml b/.github/workflows/Python.yml index a23f16bea3a1..a548216d02b5 100644 --- a/.github/workflows/Python.yml +++ b/.github/workflows/Python.yml @@ -48,7 +48,6 @@ jobs: env: CIBW_BUILD: 'cp39-manylinux_x86_64' CIBW_TEST_COMMAND: 'python -m pytest {project}/tests --verbose' - SETUPTOOLS_SCM_NO_LOCAL: 'yes' PYTEST_TIMEOUT: '600' steps: @@ -58,11 +57,11 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: '3.9' + python-version: '3.10' - name: Install shell: bash - run: pip install cibuildwheel twine + run: pip install 'cibuildwheel>=2.16.2' twine build - name: Setup Ccache uses: hendrikmuhs/ccache-action@main @@ -74,7 +73,7 @@ jobs: shell: bash working-directory: tools/pythonpkg run: | - python setup.py sdist + pyproject-build . --sdist mkdir duckdb_tarball && tar xvf dist/duckdb-*.tar.gz --strip-components=1 -C duckdb_tarball - name: Build shell: bash @@ -82,11 +81,10 @@ jobs: run: | export DISTUTILS_C_COMPILER_LAUNCHER=ccache # TODO: Use ccache inside container, see https://github.com/pypa/cibuildwheel/issues/1030 - cibuildwheel --output-dir wheelhouse --config-file cibw.toml duckdb_tarball + cibuildwheel --output-dir wheelhouse --config-file pyproject.toml duckdb_tarball manylinux-extensions-x64: - # Builds extensions for linux_md64_gcc4 - name: Linux Extensions (gcc4) + name: Linux Extensions (linux_amd64_gcc4) runs-on: ubuntu-latest container: quay.io/pypa/manylinux2014_x86_64 needs: linux-python3-9 @@ -116,8 +114,8 @@ jobs: s3_id: ${{ secrets.S3_ID }} s3_key: ${{ secrets.S3_KEY }} signing_pk: ${{ secrets.DUCKDB_EXTENSION_SIGNING_PK }} - run_tests: ${{ !startsWith(github.ref, 'refs/tags/v') }} - run_autoload_tests: ${{ !startsWith(github.ref, 'refs/tags/v') }} + run_tests: ${{ startsWith(github.ref, 'refs/tags/v') && 0 || 1 }} + run_autoload_tests: ${{ startsWith(github.ref, 'refs/tags/v') && 0 || 1 }} treat_warn_as_error: 0 ninja: 1 @@ -133,16 +131,23 @@ jobs: strategy: matrix: arch: [x86_64, aarch64] - python_build: [cp37-*, cp38-*, cp39-*, cp310-*, cp311-*] + python_build: [cp37-*, cp38-*, cp39-*, cp310-*, cp311-*, cp312-*] + manylinux: [manylinux2014, manylinux_2_28] isRelease: - ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }} exclude: + # For now we don't distribute the 2_28 wheels on x64 + - arch: x86_64 + manylinux: manylinux_2_28 + # Speed things up a bit for non-releases - isRelease: false python_build: 'cp37-*' - isRelease: false python_build: 'cp38-*' - isRelease: false python_build: 'cp39-*' + - isRelease: false + python_build: 'cp310-*' - isRelease: false python_build: 'cp311-*' - isRelease: false @@ -152,7 +157,10 @@ jobs: CIBW_BUILD: ${{ matrix.python_build}} CIBW_SKIP: '*-musllinux_aarch64' CIBW_ARCHS: ${{ matrix.arch == 'aarch64' && 'aarch64' || 'auto64' }} - SETUPTOOLS_SCM_NO_LOCAL: 'yes' + CIBW_MANYLINUX_AARCH64_IMAGE: ${{ matrix.manylinux }} + CIBW_MANYLINUX_PYPY_AARCH64_IMAGE: ${{ matrix.manylinux }} + CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux }} + CIBW_MANYLINUX_PYPY_X86_64_IMAGE: ${{ matrix.manylinux }} PYTEST_TIMEOUT: '600' DUCKDB_BUILD_UNITY: 1 @@ -167,12 +175,12 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: '3.7' + python-version: '3.10' - name: Install shell: bash run: | - pip install cibuildwheel twine + pip install 'cibuildwheel>=2.16.2' twine build python -m pip install numpy --config-settings=setup-args="-Dallow-noblas=true" - uses: actions/download-artifact@v3 @@ -187,7 +195,7 @@ jobs: find tools/pythonpkg -maxdepth 2 -type f -name "*.duckdb_extension" - name: Setup Ccache - uses: hendrikmuhs/ccache-action@main + uses: hendrikmuhs/ccache-action@v1.2.11 # Note: pinned due to GLIBC incompatibility in later releases with: key: ${{ github.job }}-${{ matrix.arch }}-${{ matrix.python_build }} save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/duckdb' }} @@ -196,7 +204,7 @@ jobs: shell: bash run: | cd tools/pythonpkg - python setup.py sdist + pyproject-build . --sdist mkdir duckdb_tarball && tar xvf dist/duckdb-*.tar.gz --strip-components=1 -C duckdb_tarball ls duckdb_tarball export DISTUTILS_C_COMPILER_LAUNCHER=ccache @@ -204,7 +212,7 @@ jobs: if [[ "$GITHUB_REF" =~ ^refs/tags/v.+$ ]] ; then export CIBW_TEST_COMMAND='python -m pytest {project}/tests/fast/api/test_dbapi00.py --verbose' fi - cibuildwheel --output-dir wheelhouse --config-file cibw.toml duckdb_tarball + cibuildwheel --output-dir wheelhouse --config-file pyproject.toml duckdb_tarball ls wheelhouse - name: Deploy @@ -224,13 +232,12 @@ jobs: runs-on: macos-latest strategy: matrix: - python_build: [cp37-*, cp38-*, cp39-*, cp310-*, cp311-*] + python_build: [cp37-*, cp38-*, cp39-*, cp310-*, cp311-*, cp312-*] needs: linux-python3-9 env: CIBW_BUILD: ${{ matrix.python_build}} CIBW_ARCHS: 'x86_64 universal2 arm64' CIBW_TEST_COMMAND: 'python -m pytest {project}/tests/fast --verbose' - SETUPTOOLS_SCM_NO_LOCAL: 'yes' TWINE_USERNAME: '__token__' DUCKDB_BUILD_UNITY: 1 @@ -241,11 +248,11 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: '3.7' + python-version: '3.10' - name: Install shell: bash - run: pip install cibuildwheel twine + run: pip install 'cibuildwheel>=2.16.2' twine build - name: Setup Ccache uses: hendrikmuhs/ccache-action@main @@ -257,14 +264,14 @@ jobs: shell: bash run: | cd tools/pythonpkg - python setup.py sdist + pyproject-build . --sdist mkdir duckdb_tarball && tar xvf dist/duckdb-*.tar.gz --strip-components=1 -C duckdb_tarball export DISTUTILS_C_COMPILER_LAUNCHER=ccache # TODO: Use ccache inside container, see https://github.com/pypa/cibuildwheel/issues/1030 if [[ "$GITHUB_REF" =~ ^refs/tags/v.+$ ]] ; then export CIBW_TEST_COMMAND='python -m pytest {project}/tests/fast/api/test_dbapi00.py --verbose' fi - cibuildwheel --output-dir wheelhouse --config-file cibw.toml duckdb_tarball + cibuildwheel --output-dir wheelhouse --config-file pyproject.toml duckdb_tarball - name: Deploy env: @@ -281,7 +288,7 @@ jobs: runs-on: windows-2019 strategy: matrix: - python_build: [cp37-*, cp38-*, cp39-*, cp310-*, cp311-*] + python_build: [cp37-*, cp38-*, cp39-*, cp310-*, cp311-*, cp312-*] isRelease: - ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }} exclude: @@ -297,8 +304,6 @@ jobs: env: CIBW_BUILD: ${{ matrix.python_build}} - SETUPTOOLS_SCM_NO_LOCAL: 'yes' - SETUPTOOLS_USE_DISTUTILS: 'stdlib' TWINE_USERNAME: '__token__' DUCKDB_BUILD_UNITY: 1 @@ -309,11 +314,11 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: '3.7' + python-version: '3.10' - name: Install shell: bash - run: pip install cibuildwheel twine + run: pip install 'cibuildwheel>=2.16.2' twine build - name: Setup Ccache uses: hendrikmuhs/ccache-action@main @@ -321,18 +326,23 @@ jobs: key: ${{ github.job }}-${{ matrix.python_build }} save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/duckdb' }} - - name: Build + - name: Build source dist shell: bash + working-directory: tools/pythonpkg run: | - cd tools/pythonpkg - python setup.py sdist + pyproject-build . --sdist mkdir duckdb_tarball && tar xvf dist/duckdb-*.tar.gz --strip-components=1 -C duckdb_tarball + + - name: Build wheels + shell: bash + working-directory: tools/pythonpkg + run: | export DISTUTILS_C_COMPILER_LAUNCHER=ccache # TODO: Use ccache inside container, see https://github.com/pypa/cibuildwheel/issues/1030 if [[ "$GITHUB_REF" =~ ^refs/tags/v.+$ ]] ; then export CIBW_TEST_COMMAND='python -m pytest {project}/tests/fast/api/test_dbapi00.py --verbose' fi - cibuildwheel --output-dir wheelhouse --config-file cibw.toml duckdb_tarball + cibuildwheel --output-dir wheelhouse --config-file pyproject.toml duckdb_tarball - name: Deploy env: @@ -361,7 +371,7 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: '3.7' + python-version: '3.10' - name: Install Packages shell: bash diff --git a/.github/workflows/R.yml b/.github/workflows/R.yml index abb24f792f04..748aa675983b 100644 --- a/.github/workflows/R.yml +++ b/.github/workflows/R.yml @@ -55,15 +55,15 @@ jobs: - uses: ./.github/actions/build_extensions with: deploy_as: windows_amd64_rtools + duckdb_arch: windows_amd64_rtools + vcpkg_target_triplet: x64-mingw-static treat_warn_as_error: 0 s3_id: ${{ secrets.S3_ID }} s3_key: ${{ secrets.S3_KEY }} signing_pk: ${{ secrets.DUCKDB_EXTENSION_SIGNING_PK }} override_cc: gcc override_cxx: g++ - openssl_path: C:/rtools43/x86_64-w64-mingw32.static.posix # not sure if this is required, there seems to be an openssl there + vcpkg_build: 1 + no_static_linking: 1 run_tests: 0 run_autoload_tests: 0 - build_out_of_tree_extensions: 0 - vcpkg_build: 0 - no_static_linking: 1 diff --git a/.github/workflows/R_CMD_CHECK.yml b/.github/workflows/R_CMD_CHECK.yml index 6e0a873f2033..17bfad06790e 100644 --- a/.github/workflows/R_CMD_CHECK.yml +++ b/.github/workflows/R_CMD_CHECK.yml @@ -81,10 +81,10 @@ jobs: - name: Apply duckdb-r patches shell: bash - working-directory: ${{ env.DUCKDB_SRC }} + working-directory: ${{ env.DUCKDB_R_SRC }} run: | shopt -s nullglob - for filename in .github/patches/duckdb-r/*.patch; do + for filename in $GITHUB_WORKSPACE/$DUCKDB_SRC/.github/patches/duckdb-r/*.patch; do git apply $filename done diff --git a/.github/workflows/Regression.yml b/.github/workflows/Regression.yml index 9979c090df3e..c0453a2e4cbe 100644 --- a/.github/workflows/Regression.yml +++ b/.github/workflows/Regression.yml @@ -242,7 +242,7 @@ jobs: shell: bash run: | cd tools/pythonpkg - python setup.py install --user + pip install --use-pep517 . --user cd ../.. - name: Run New Version @@ -262,7 +262,7 @@ jobs: run: | git clone --branch ${{ env.BASE_BRANCH }} https://github.com/duckdb/duckdb.git --depth=1 cd duckdb/tools/pythonpkg - python setup.py install --user + pip install --use-pep517 . --user cd ../../.. - name: Run Current Version @@ -321,13 +321,13 @@ jobs: cp -r benchmark duckdb/ - name: Regression Test IMDB - continue-on-error: true + if: always() shell: bash run: | python scripts/plan_cost_runner.py --old=duckdb/build/release/duckdb --new=build/release/duckdb --dir=benchmark/imdb_plan_cost - name: Regression Test TPCH - continue-on-error: true + if: always() shell: bash run: | python scripts/plan_cost_runner.py --old=duckdb/build/release/duckdb --new=build/release/duckdb --dir=benchmark/tpch_plan_cost diff --git a/.github/workflows/Swift.yml b/.github/workflows/Swift.yml index 73ad116a910a..1e5be2a996eb 100644 --- a/.github/workflows/Swift.yml +++ b/.github/workflows/Swift.yml @@ -47,15 +47,12 @@ jobs: destination: - 'macOS' - 'iOS Simulator,name=iPhone 14' - - 'watchOS Simulator,name=Apple Watch Ultra (49mm)' - 'tvOS Simulator,name=Apple TV 4K (at 1080p) (2nd generation)' isRelease: - ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }} exclude: - isRelease: false destination: 'iOS Simulator,name=iPhone 14' - - isRelease: false - destination: 'watchOS Simulator,name=Apple Watch Ultra (49mm)' - isRelease: false destination: 'tvOS Simulator,name=Apple TV 4K (at 1080p) (2nd generation)' runs-on: macos-12 diff --git a/.github/workflows/Wasm.yml b/.github/workflows/Wasm.yml index da2e90e80cec..c2e961e36698 100644 --- a/.github/workflows/Wasm.yml +++ b/.github/workflows/Wasm.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - duckdb_wasm_arch: [ 'mvp', 'eh' ] + duckdb_wasm_arch: [ 'mvp', 'eh', 'threads' ] env: GEN: Ninja VCPKG_TOOLCHAIN_PATH: ${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -38,7 +38,7 @@ jobs: - name: Setup vcpkg uses: lukka/run-vcpkg@v11.1 with: - vcpkgGitCommitId: 501db0f17ef6df184fcdbfbe0f87cde2313b6ab1 + vcpkgGitCommitId: a42af01b72c28a8e1d7b48107b33e4f286a55ef6 - name: Setup Ccache uses: hendrikmuhs/ccache-action@main diff --git a/.github/workflows/Windows.yml b/.github/workflows/Windows.yml index af61c328ff69..e5a0eeefa8a5 100644 --- a/.github/workflows/Windows.yml +++ b/.github/workflows/Windows.yml @@ -13,6 +13,7 @@ on: - '**.md' - 'tools/**' - '!tools/odbc/**' + - '!tools/shell/**' - '.github/patches/duckdb-wasm/**' - '.github/workflows/**' - '!.github/workflows/Windows.yml' @@ -23,6 +24,7 @@ on: - '**.md' - 'tools/**' - '!tools/odbc/**' + - '!tools/shell/**' - '.github/patches/duckdb-wasm/**' - '.github/workflows/**' - '!.github/workflows/Windows.yml' @@ -66,11 +68,18 @@ jobs: cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_GENERATOR_PLATFORM=x64 -DENABLE_EXTENSION_AUTOLOADING=1 -DENABLE_EXTENSION_AUTOINSTALL=1 -DDUCKDB_EXTENSION_CONFIGS="${GITHUB_WORKSPACE}/.github/config/bundled_extensions.cmake" -DBUILD_ODBC_DRIVER=1 -DDISABLE_UNITY=1 cmake --build . --config Release + - name: Set DUCKDB_INSTALL_LIB for ADBC tests + shell: pwsh + run: echo "DUCKDB_INSTALL_LIB=$((Get-ChildItem -Recurse -Filter "duckdb.dll" | Select-Object -First 1).FullName)" >> $GITHUB_ENV + + - name: Test DUCKDB_INSTALL_LIB variable + shell: bash + run: echo $DUCKDB_INSTALL_LIB + - name: Test shell: bash if: ${{ !startsWith(github.ref, 'refs/tags/v') }} run: | - echo "DUCKDB_INSTALL_LIB=D:\a\duckdb\duckdb\src\Release\duckdb.dll" >> $env:GITHUB_ENV test/Release/unittest.exe - name: Tools Test @@ -225,6 +234,12 @@ jobs: runs-on: windows-latest needs: win-release-64 steps: + - name: Keep \n line endings + shell: bash + run: | + git config --global core.autocrlf false + git config --global core.eol lf + - uses: actions/checkout@v3 with: fetch-depth: 0 @@ -241,6 +256,6 @@ jobs: s3_id: ${{ secrets.S3_ID }} s3_key: ${{ secrets.S3_KEY }} signing_pk: ${{ secrets.DUCKDB_EXTENSION_SIGNING_PK }} - run_tests: ${{ !startsWith(github.ref, 'refs/tags/v') }} - run_autoload_tests: ${{ !startsWith(github.ref, 'refs/tags/v') }} + run_tests: ${{ startsWith(github.ref, 'refs/tags/v') && 0 || 1 }} + run_autoload_tests: ${{ startsWith(github.ref, 'refs/tags/v') && 0 || 1 }} unittest_script: python3 scripts/run_tests_one_by_one.py ./build/release/test/Release/unittest.exe diff --git a/.github/workflows/_extension_deploy.yml b/.github/workflows/_extension_deploy.yml new file mode 100644 index 000000000000..9e4a695be8a8 --- /dev/null +++ b/.github/workflows/_extension_deploy.yml @@ -0,0 +1,124 @@ +# +# Reusable workflow that deploys the artifacts produced by .github/workflows/_extension_distribution.yml +# +# Note: this workflow can be used to deploy an extension from a GH artifact. It is intended for Out-of-tree +# extensions that live the duckdb GitHub organisation (only repo's within the same organisation can share secrets +# through reusable workflows) + + +name: Extension Deployment +on: + workflow_call: + inputs: + # The name of the extension + extension_name: + required: true + type: string + # DuckDB version to build against + duckdb_version: + required: true + type: string + # ';' separated list of architectures to exclude, for example: 'linux_amd64;osx_arm64' + exclude_archs: + required: false + type: string + default: "" + # Whether to upload this deployment as the latest. This may overwrite a previous deployment. + deploy_latest: + required: false + type: boolean + default: false + # Whether to upload this deployment under a versioned path. These will not be deleted automatically + deploy_versioned: + required: false + type: boolean + default: false + # Postfix added to artifact names. Can be used to guarantee unique names when this workflow is called multiple times + artifact_postfix: + required: false + type: string + default: "" + # Override the default deploy script with a custom script + deploy_script: + required: false + type: string + default: "./duckdb/scripts/extension-upload-single.sh" + # Override the default matrix parse script with a custom script + matrix_parse_script: + required: false + type: string + default: "./duckdb/scripts/modify_distribution_matrix.py" + +jobs: + generate_matrix: + name: Generate matrix + runs-on: ubuntu-latest + outputs: + deploy_matrix: ${{ steps.parse-matrices.outputs.deploy_matrix }} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + submodules: 'true' + + - name: Checkout DuckDB to version + run: | + cd duckdb + git checkout ${{ inputs.duckdb_version }} + + - id: parse-matrices + run: | + cat ./duckdb/.github/config/distribution_matrix.json > distribution_matrix.json + grep wasm distribution_matrix.json || (head -n -1 ./duckdb/.github/config/distribution_matrix.json > distribution_matrix.json && echo ',"wasm":{"include":[{"duckdb_arch":"wasm_mvp","vcpkg_triplet":"wasm32-emscripten"},{"duckdb_arch":"wasm_eh","vcpkg_triplet":"wasm32-emscripten"},{"duckdb_arch":"wasm_threads","vcpkg_triplet":"wasm32-emscripten"}]}}' >> distribution_matrix.json) + python3 ${{ inputs.matrix_parse_script }} --input distribution_matrix.json --deploy_matrix --output deploy_matrix.json --exclude "${{ inputs.exclude_archs }}" --pretty + deploy_matrix="`cat deploy_matrix.json`" + echo deploy_matrix=$deploy_matrix >> $GITHUB_OUTPUT + echo `cat $GITHUB_OUTPUT` + + deploy: + name: Deploy + runs-on: ubuntu-latest + needs: generate_matrix + if: ${{ needs.generate_matrix.outputs.deploy_matrix != '{}' && needs.generate_matrix.outputs.deploy_matrix != '' }} + strategy: + matrix: ${{fromJson(needs.generate_matrix.outputs.deploy_matrix)}} + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + submodules: 'true' + + - name: Checkout DuckDB to version + run: | + cd duckdb + git checkout ${{ inputs.duckdb_version }} + + - uses: actions/download-artifact@v2 + with: + name: ${{ inputs.extension_name }}-${{ inputs.duckdb_version }}-extension-${{matrix.duckdb_arch}}${{inputs.artifact_postfix}}${{startsWith(matrix.duckdb, 'wasm') && '.wasm' || ''}} + path: | + /tmp/extension + + - name: Deploy + shell: bash + env: + AWS_ACCESS_KEY_ID: ${{ secrets.S3_DUCKDB_ORG_DEPLOY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_DUCKDB_ORG_DEPLOY_KEY }} + AWS_DEFAULT_REGION: ${{ secrets.S3_DUCKDB_ORG_REGION }} + BUCKET_NAME: ${{ secrets.S3_DUCKDB_ORG_BUCKET }} + DUCKDB_EXTENSION_SIGNING_PK: ${{ secrets.S3_DUCKDB_ORG_EXTENSION_SIGNING_PK }} + DUCKDB_DEPLOY_SCRIPT_MODE: for_real + run: | + pwd + python3 -m pip install pip awscli + git config --global --add safe.directory '*' + cd duckdb + git fetch --tags + export DUCKDB_VERSION=`git tag --points-at HEAD` + export DUCKDB_VERSION=${DUCKDB_VERSION:=`git log -1 --format=%h`} + cd .. + git fetch --tags + export EXT_VERSION=`git tag --points-at HEAD` + export EXT_VERSION=${EXT_VERSION:=`git log -1 --format=%h`} + ${{ inputs.deploy_script }} ${{ inputs.extension_name }} $EXT_VERSION $DUCKDB_VERSION ${{ matrix.duckdb_arch }} $BUCKET_NAME ${{inputs.deploy_latest || 'true' && 'false'}} ${{inputs.deploy_versioned || 'true' && 'false'}} diff --git a/.github/workflows/_extension_distribution.yml b/.github/workflows/_extension_distribution.yml index f7c03db68942..9dc6a6459803 100644 --- a/.github/workflows/_extension_distribution.yml +++ b/.github/workflows/_extension_distribution.yml @@ -34,7 +34,7 @@ on: vcpkg_commit: required: false type: string - default: "501db0f17ef6df184fcdbfbe0f87cde2313b6ab1" + default: "a42af01b72c28a8e1d7b48107b33e4f286a55ef6" # Override the default script producing the matrices. Allows specifying custom matrices. matrix_parse_script: required: false @@ -54,6 +54,7 @@ jobs: linux_matrix: ${{ steps.set-matrix-linux.outputs.linux_matrix }} windows_matrix: ${{ steps.set-matrix-windows.outputs.windows_matrix }} osx_matrix: ${{ steps.set-matrix-osx.outputs.osx_matrix }} + wasm_matrix: ${{ steps.set-matrix-wasm.outputs.wasm_matrix }} steps: - uses: actions/checkout@v3 with: @@ -67,9 +68,10 @@ jobs: - id: parse-matrices run: | - python3 ${{ inputs.matrix_parse_script }} --input ./duckdb/.github/config/distribution_matrix.json --select_os linux --output linux_matrix.json --exclude "${{ inputs.exclude_archs }}" --pretty - python3 ${{ inputs.matrix_parse_script }} --input ./duckdb/.github/config/distribution_matrix.json --select_os osx --output osx_matrix.json --exclude "${{ inputs.exclude_archs }}" --pretty - python3 ${{ inputs.matrix_parse_script }} --input ./duckdb/.github/config/distribution_matrix.json --select_os windows --output windows_matrix.json --exclude "${{ inputs.exclude_archs }}" --pretty + python3 ${{ inputs.matrix_parse_script }} --input ./duckdb/.github/config/distribution_matrix.json --select_os linux --output linux_matrix.json --exclude "${{ inputs.exclude_archs }}" --pretty + python3 ${{ inputs.matrix_parse_script }} --input ./duckdb/.github/config/distribution_matrix.json --select_os osx --output osx_matrix.json --exclude "${{ inputs.exclude_archs }}" --pretty + python3 ${{ inputs.matrix_parse_script }} --input ./duckdb/.github/config/distribution_matrix.json --select_os windows --output windows_matrix.json --exclude "${{ inputs.exclude_archs }}" --pretty + python3 ${{ inputs.matrix_parse_script }} --input ./duckdb/.github/config/distribution_matrix.json --select_os wasm --output wasm_matrix.json --exclude "${{ inputs.exclude_archs }}" --pretty - id: set-matrix-linux run: | @@ -89,6 +91,12 @@ jobs: echo windows_matrix=$windows_matrix >> $GITHUB_OUTPUT echo `cat $GITHUB_OUTPUT` + - id: set-matrix-wasm + run: | + wasm_matrix="`cat wasm_matrix.json`" + echo wasm_matrix=$wasm_matrix >> $GITHUB_OUTPUT + echo `cat $GITHUB_OUTPUT` + linux: name: Linux runs-on: ubuntu-latest @@ -102,6 +110,7 @@ jobs: VCPKG_TOOLCHAIN_PATH: ${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake GEN: Ninja BUILD_SHELL: ${{ inputs.build_duckdb_shell && '1' || '0' }} + DUCKDB_PLATFORM: ${{ matrix.duckdb_arch }} steps: - name: Install required ubuntu packages @@ -139,7 +148,7 @@ jobs: ./duckdb/scripts/setup_manylinux2014.sh general aws-cli ccache ssh python_alias openssl - name: Setup Ccache - uses: hendrikmuhs/ccache-action@main + uses: hendrikmuhs/ccache-action@v1.2.11 # Note: pinned due to GLIBC incompatibility in later releases with: key: ${{ github.job }}-${{ matrix.duckdb_arch }} @@ -159,6 +168,7 @@ jobs: GEN: ninja CC: ${{ matrix.duckdb_arch == 'linux_arm64' && 'aarch64-linux-gnu-gcc' || '' }} CXX: ${{ matrix.duckdb_arch == 'linux_arm64' && 'aarch64-linux-gnu-g++' || '' }} + DUCKDB_PLATFORM: ${{ matrix.duckdb_arch }} run: | make release @@ -186,6 +196,7 @@ jobs: OSX_BUILD_ARCH: ${{ matrix.osx_build_arch }} GEN: Ninja BUILD_SHELL: ${{ inputs.build_duckdb_shell && '1' || '0' }} + DUCKDB_PLATFORM: ${{ matrix.duckdb_arch }} steps: - uses: actions/checkout@v3 @@ -218,6 +229,8 @@ jobs: - name: Build extension shell: bash + env: + DUCKDB_PLATFORM: ${{ matrix.duckdb_arch }} run: | make release @@ -245,8 +258,17 @@ jobs: VCPKG_TOOLCHAIN_PATH: ${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake VCPKG_TARGET_TRIPLET: ${{ matrix.vcpkg_triplet }} BUILD_SHELL: ${{ inputs.build_duckdb_shell && '1' || '0' }} + DUCKDB_PLATFORM: ${{ matrix.duckdb_arch }} + CC: ${{ matrix.duckdb_arch == 'windows_amd64_rtools' && 'gcc' || '' }} + CXX: ${{ matrix.duckdb_arch == 'windows_amd64_rtools' && 'g++' || '' }} steps: + - name: Keep \n line endings + shell: bash + run: | + git config --global core.autocrlf false + git config --global core.eol lf + - uses: actions/checkout@v3 with: fetch-depth: 0 @@ -256,6 +278,13 @@ jobs: with: python-version: '3.7' + - uses: r-lib/actions/setup-r@v2 + if: matrix.duckdb_arch == 'windows_amd64_rtools' + with: + r-version: 'devel' + update-rtools: true + rtools-version: '42' # linker bug in 43 + - name: Checkout DuckDB to version run: | cd duckdb @@ -272,6 +301,8 @@ jobs: vcpkgGitCommitId: ${{ inputs.vcpkg_commit }} - name: Build extension + env: + DUCKDB_PLATFORM: ${{ matrix.duckdb_arch }} run: | make release @@ -284,4 +315,52 @@ jobs: with: name: ${{ inputs.extension_name }}-${{ inputs.duckdb_version }}-extension-${{matrix.duckdb_arch}}${{inputs.artifact_postfix}} path: | - build/release/extension/${{ inputs.extension_name }}/${{ inputs.extension_name }}.duckdb_extension \ No newline at end of file + build/release/extension/${{ inputs.extension_name }}/${{ inputs.extension_name }}.duckdb_extension + + wasm: + name: DuckDB-Wasm + runs-on: ubuntu-latest + needs: generate_matrix + if: ${{ needs.generate_matrix.outputs.wasm_matrix != '{}' && needs.generate_matrix.outputs.wasm_matrix != '' }} + strategy: + matrix: ${{fromJson(needs.generate_matrix.outputs.wasm_matrix)}} + env: + VCPKG_TARGET_TRIPLET: ${{ matrix.vcpkg_triplet }} + VCPKG_TOOLCHAIN_PATH: ${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake + GEN: Ninja + DUCKDB_PLATFORM: ${{ matrix.duckdb_arch }} + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + submodules: 'true' + + - name: Checkout DuckDB to version + run: | + cd duckdb + git checkout ${{ inputs.duckdb_version }} + + - uses: mymindstorm/setup-emsdk@v13 + with: + version: 'latest' + + - name: Setup vcpkg + uses: lukka/run-vcpkg@v11.1 + with: + vcpkgGitCommitId: ${{ inputs.vcpkg_commit }} + + - name: Setup Ccache + uses: hendrikmuhs/ccache-action@main + with: + key: ${{ github.job }}-${{ matrix.duckdb_arch }} + + - name: Build Wasm module + run: | + make ${{ matrix.duckdb_arch }} + + - uses: actions/upload-artifact@v3 + with: + name: ${{ inputs.extension_name }}-${{ inputs.duckdb_version }}-extension-${{matrix.duckdb_arch}}${{inputs.artifact_postfix}} + path: | + build/${{ matrix.duckdb_arch }}/${{ inputs.extension_name }}.duckdb_extension.wasm diff --git a/.github/workflows/code-formatting-warning.md b/.github/workflows/code-formatting-warning.md new file mode 100644 index 000000000000..daf971c68ccf --- /dev/null +++ b/.github/workflows/code-formatting-warning.md @@ -0,0 +1,9 @@ +Thanks for opening this issue! Based on our automated check, it seems that your post contains some code but it does not use [code blocks](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks) to format it. + +Please double-check your post and revise it if necessary. To employ syntax highlighting, it's recommended to use code blocks with triple backticks, e.g.: +```` +```sql +SELECT ... +``` +```` +If this is a false positive, feel free to disregard this comment. diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml new file mode 100644 index 000000000000..7ca6dce6cb55 --- /dev/null +++ b/.github/workflows/coverity.yml @@ -0,0 +1,60 @@ +# Creates and uploads a Coverity build on a schedule +# Requires that two secrets be created: +# COVERITY_SCAN_EMAIL, with the email address that should be notified with scan results +# COVERITY_SCAN_TOKEN, with the token from the Coverity project page (e.g., https://scan.coverity.com/projects/moshekaplan-duckdb?tab=project_settings ) +# Also, ensure that the 'github.repository' comparison and 'COVERITY_PROJECT_NAME' values below are accurate +name: Coverity Scan +on: + schedule: + # Run once daily, duckdb is at ~900k LOC + # Scan frequency limits from https://scan.coverity.com/faq#frequency : + # Up to 28 builds per week, with a maximum of 4 builds per day, for projects with fewer than 100K lines of code + # Up to 21 builds per week, with a maximum of 3 builds per day, for projects with 100K to 500K lines of code + # Up to 14 builds per week, with a maximum of 2 build per day, for projects with 500K to 1 million lines of code + # Up to 7 builds per week, with a maximum of 1 build per day, for projects with more than 1 million lines of code + - cron: '0 0 * * *' + # Support manual execution + workflow_dispatch: +jobs: + coverity: + # So it doesn't try to run on forks + if: github.repository == 'duckdb/duckdb' + runs-on: ubuntu-latest + env: + COVERITY_PROJECT_NAME: DuckDB + steps: + - uses: actions/checkout@v4 + - name: Download and extract the Coverity Build Tool + run: | + wget https://scan.coverity.com/download/cxx/linux64 --post-data "token=${{ secrets.COVERITY_SCAN_TOKEN }}&project=${{ env.COVERITY_PROJECT_NAME }}" -O cov-analysis-linux64.tar.gz + mkdir cov-analysis-linux64 + tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64 + - name: Install dependencies + run: sudo apt install -y git g++ cmake ninja-build libssl-dev default-jdk unixodbc-dev + - name: Build with cov-build + run: cov-analysis-linux64/bin/cov-build --dir cov-int make + env: + PYTHON_USER_SPACE: 1 + PYTHON_EDITABLE_BUILD: 1 + BUILD_PYTHON: 1 + BUILD_JDBC: 1 + BUILD_ODBC: 1 + BUILD_AUTOCOMPLETE: 1 + BUILD_ICU: 1 + BUILD_TPCDS: 1 + BUILD_TCPE: 1 + BUILD_FTS: 1 + BUILD_HTTPFS: 1 + BUILD_JSON: 1 + BUILD_INET: 1 + BUILD_SQLSMITH: 1 + + - name: Upload the result + run: | + tar czvf cov-int.tgz cov-int + curl \ + --form project=${{ env.COVERITY_PROJECT_NAME }} \ + --form email=${{ secrets.COVERITY_SCAN_EMAIL }} \ + --form token=${{ secrets.COVERITY_SCAN_TOKEN }} \ + --form file=@cov-int.tgz \ + https://scan.coverity.com/builds diff --git a/.github/workflows/lcov_exclude b/.github/workflows/lcov_exclude index 00146d5e692c..dfad3defa654 100644 --- a/.github/workflows/lcov_exclude +++ b/.github/workflows/lcov_exclude @@ -14,7 +14,6 @@ */extension/jemalloc/* */extension/tpcds/* */extension/tpch/* -*/extension/visualizer/* */extension/json/yyjson/* */extension_helper.cpp */generated_extension_loader.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 67444dbc8cce..ea74d55f861b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,9 @@ cmake_minimum_required(VERSION 3.5) +if(NOT CLANG_TIDY) + find_package(Python3) +endif() + if(POLICY CMP0026) cmake_policy(SET CMP0026 NEW) endif() @@ -286,7 +290,21 @@ else() set(DUCKDB_VERSION "v${DUCKDB_MAJOR_VERSION}.${DUCKDB_MINOR_VERSION}.${DUCKDB_PATCH_VERSION}-dev${DUCKDB_DEV_ITERATION}") endif() -message(STATUS "git hash ${GIT_COMMIT_HASH}, version ${DUCKDB_VERSION}") +string(REGEX MATCH ".*dev.*" DUCKDB_EXTENSION_FOLDER_IS_VERSION "${DUCKDB_VERSION}") + +if(DUCKDB_EXTENSION_FOLDER_IS_VERSION AND DEFINED GIT_COMMIT_HASH) + set(DUCKDB_NORMALIZED_VERSION "${GIT_COMMIT_HASH}") +else() + set(DUCKDB_NORMALIZED_VERSION "${DUCKDB_VERSION}") +endif() + +if(EMSCRIPTEN) + set(EXTENSION_POSTFIX "duckdb_extension.wasm") +else() + set(EXTENSION_POSTFIX "duckdb_extension") +endif() + +message(STATUS "git hash ${GIT_COMMIT_HASH}, version ${DUCKDB_VERSION}, extension folder ${DUCKDB_NORMALIZED_VERSION}") option(AMALGAMATION_BUILD "Build from the amalgamation files, rather than from the normal sources." @@ -320,8 +338,10 @@ option(DISABLE_STR_INLINE "Debug setting: disable inlining of strings" FALSE) option(DISABLE_MEMORY_SAFETY "Debug setting: disable memory access checks at runtime" FALSE) option(DISABLE_ASSERTIONS "Debug setting: disable assertions" FALSE) option(ALTERNATIVE_VERIFY "Debug setting: use alternative verify mode" FALSE) +option(RUN_SLOW_VERIFIERS "Debug setting: enable a more extensive set of verifiers" FALSE) option(DESTROY_UNPINNED_BLOCKS "Debug setting: destroy unpinned buffer-managed blocks" FALSE) option(FORCE_ASYNC_SINK_SOURCE "Debug setting: forces sinks/sources to block the first 2 times they're called" FALSE) +option(DEBUG_ALLOCATION "Debug setting: keep track of outstanding allocations to detect memory leaks" FALSE) option(DEBUG_STACKTRACE "Debug setting: print a stracktrace on asserts and when testing crashes" FALSE) option(DEBUG_MOVE "Debug setting: Ensure std::move is being used" FALSE) option(CLANG_TIDY "Enable build for clang-tidy, this disables all source files excluding the core database. This does not produce a working build." FALSE) @@ -385,12 +405,16 @@ if(FORCE_ASYNC_SINK_SOURCE) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDUCKDB_DEBUG_ASYNC_SINK_SOURCE") endif() +if(RUN_SLOW_VERIFIERS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDUCKDB_RUN_SLOW_VERIFIERS") +endif() + if(ALTERNATIVE_VERIFY) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDUCKDB_ALTERNATIVE_VERIFY") endif() -if(DEBUG_STACKTRACE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDUCKDB_DEBUG_STACKTRACE") +if(DEBUG_ALLOCATION) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDUCKDB_DEBUG_ALLOCATION") endif() if(DEBUG_MOVE) @@ -483,6 +507,7 @@ include_directories(third_party/fsst) include_directories(third_party/fmt/include) include_directories(third_party/hyperloglog) include_directories(third_party/fastpforlib) +include_directories(third_party/skiplist) include_directories(third_party/fast_float) include_directories(third_party/re2) include_directories(third_party/miniz) @@ -630,8 +655,36 @@ function(link_threads LIBRARY) target_link_libraries(${LIBRARY} Threads::Threads) endfunction() +# Deploys extensions to a local repository (a folder structure that contains the duckdb version + binary arch) +if ("${LOCAL_EXTENSION_REPO}" STREQUAL "") + set(LOCAL_EXTENSION_REPO_DIR ${CMAKE_BINARY_DIR}/repository) +else() + if (NOT Python3_FOUND) + MESSAGE(FATAL_ERROR "Could not find python3 executable, when providing LOCAL_EXTENSION_REPO this is compulsory") + endif() + set(LOCAL_EXTENSION_REPO_DIR ${LOCAL_EXTENSION_REPO}) +endif() + +if (NOT EXTENSION_CONFIG_BUILD AND NOT ${EXTENSION_TESTS_ONLY} AND NOT CLANG_TIDY) + if (NOT Python3_FOUND) + MESSAGE(STATUS "Could not find python3, create extension directory step will be skipped") + else() + add_custom_target( + duckdb_local_extension_repo ALL + COMMAND + ${Python3_EXECUTABLE} scripts/create_local_extension_repo.py "${DUCKDB_NORMALIZED_VERSION}" "${CMAKE_CURRENT_BINARY_DIR}/duckdb_platform_out" "${CMAKE_CURRENT_BINARY_DIR}" "${LOCAL_EXTENSION_REPO_DIR}" "${EXTENSION_POSTFIX}" + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + COMMENT Create local extension repository) + add_dependencies(duckdb_local_extension_repo duckdb_platform) + message(STATUS "Extensions will be deployed to: ${LOCAL_EXTENSION_REPO_DIR}") + endif() +endif() + function(build_loadable_extension_directory NAME OUTPUT_DIRECTORY PARAMETERS) set(TARGET_NAME ${NAME}_loadable_extension) + if (NOT EXTENSION_CONFIG_BUILD AND NOT ${EXTENSION_TESTS_ONLY} AND NOT CLANG_TIDY) + add_dependencies(duckdb_local_extension_repo ${NAME}_loadable_extension) + endif() # all parameters after output_directory set(FILES ${ARGV}) # remove name @@ -697,6 +750,10 @@ function(build_loadable_extension_directory NAME OUTPUT_DIRECTORY PARAMETERS) set_target_properties(${TARGET_NAME} PROPERTIES SUFFIX ".duckdb_extension") + if(EMSCRIPTEN) + set_target_properties(${TARGET_NAME} PROPERTIES SUFFIX ".duckdb_extension.wasm") + endif() + if(MSVC) set_target_properties( ${TARGET_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG @@ -705,6 +762,21 @@ function(build_loadable_extension_directory NAME OUTPUT_DIRECTORY PARAMETERS) ${TARGET_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY}") endif() + + if(EMSCRIPTEN) + # Copy file.duckdb_extension.wasm to file.duckdb_extension.wasm.lib + add_custom_command( + TARGET ${TARGET_NAME} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy $ $.lib + ) + # Compile the library into the actual wasm file + add_custom_command( + TARGET ${TARGET_NAME} + POST_BUILD + COMMAND emcc $.lib -o $ -sSIDE_MODULE=1 -O3 + ) + endif() endfunction() function(build_loadable_extension NAME PARAMETERS) @@ -1016,6 +1088,8 @@ if(${EXTENSION_CONFIG_BUILD}) FILE(APPEND ${CMAKE_BINARY_DIR}/extensions.txt "${EXT_NAME}\r") endif() endforeach() + + return() endif() if(BUILD_PYTHON) @@ -1032,29 +1106,54 @@ if(BUILD_PYTHON) get_target_property(duckdb_libs duckdb LINK_LIBRARIES) - if(BUILD_PYTHON) - if(USER_SPACE) - add_custom_target( - duckdb_python ALL - COMMAND - python3 setup.py install --user --binary-dir=${PROJECT_BINARY_DIR} - --compile-flags=${ALL_COMPILE_FLAGS} --libs="${duckdb_libs}" - DEPENDS duckdb duckdb_static - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tools/pythonpkg - COMMENT Build - Python package) - else() - add_custom_target( - duckdb_python ALL - COMMAND python3 setup.py install --binary-dir=${PROJECT_BINARY_DIR} - --compile-flags=${ALL_COMPILE_FLAGS} --libs="${duckdb_libs}" - DEPENDS duckdb duckdb_static - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tools/pythonpkg - COMMENT Build - Python package) - endif() - add_extension_dependencies(duckdb_python) + set(PIP_COMMAND + cmake + -E + env + DUCKDB_BINARY_DIR=${PROJECT_BINARY_DIR} + DUCKDB_COMPILE_FLAGS=${ALL_COMPILE_FLAGS} + DUCKDB_LIBS="${duckdb_libs}" + ) + + if(PYTHON_EDITABLE_BUILD) + set(PIP_COMMAND ${PIP_COMMAND} pip install --editable .) + else() + set(PIP_COMMAND ${PIP_COMMAND} pip install .) endif() + + if(USER_SPACE) + set(PIP_COMMAND ${PIP_COMMAND} --user) + endif() + add_custom_target( + duckdb_python ALL + COMMAND ${PIP_COMMAND} + DEPENDS duckdb duckdb_static + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tools/pythonpkg + COMMENT Build + Python package) + add_extension_dependencies(duckdb_python) +endif() + +if(NOT DUCKDB_EXPLICIT_PLATFORM) + set(VERSION_SOURCES tools/utils/test_platform.cpp) + + add_executable(duckdb_platform_binary ${VERSION_SOURCES}) + link_threads(duckdb_platform_binary) + + set_target_properties(duckdb_platform_binary PROPERTIES OUTPUT_NAME duckdb_platform_binary) + set_target_properties(duckdb_platform_binary PROPERTIES RUNTIME_OUTPUT_DIRECTORY + ${PROJECT_BINARY_DIR}) + add_custom_target( + duckdb_platform ALL + COMMAND duckdb_platform_binary > duckdb_platform_out || (echo "Provide explicit DUCKDB_PLATFORM=your_target_arch to avoid build-type detection of the platform" && exit 1) + ) + add_dependencies(duckdb_platform duckdb_platform_binary) +else() + add_custom_target( + duckdb_platform ALL + COMMAND + echo "${DUCKDB_EXPLICIT_PLATFORM}" > duckdb_platform_out + ) endif() if(NOT CLANG_TIDY) @@ -1071,23 +1170,6 @@ if(NOT CLANG_TIDY) endif() endif() -# Deploys extensions to a local repository (a folder structure that contains the duckdb version + binary arch) -if (NOT "${LOCAL_EXTENSION_REPO}" STREQUAL "") - add_custom_target( - duckdb_local_extension_repo ALL - COMMAND - python3 scripts/create_local_extension_repo.py $ "${CMAKE_CURRENT_BINARY_DIR}" "${LOCAL_EXTENSION_REPO}" - DEPENDS shell - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - COMMENT Create local extension repository) - add_extension_dependencies(duckdb_local_extension_repo) - foreach(EXT_NAME IN LISTS DUCKDB_EXTENSION_NAMES) - add_dependencies(duckdb_local_extension_repo ${EXT_NAME}_loadable_extension) - endforeach() - message(STATUS "Extensions will be deployed to: ${LOCAL_EXTENSION_REPO}") -endif() - -if (NOT EXTENSION_CONFIG_BUILD ) # Write the export set for build and install tree install(EXPORT "${DUCKDB_EXPORT_SET}" DESTINATION "${INSTALL_CMAKE_DIR}") export(EXPORT "${DUCKDB_EXPORT_SET}" @@ -1122,5 +1204,3 @@ if(EXISTS ${CMAKE_CONFIG_TEMPLATE} AND EXISTS ${CMAKE_CONFIG_VERSION_TEMPLATE}) "${PROJECT_BINARY_DIR}/DuckDBConfigVersion.cmake" DESTINATION "${INSTALL_CMAKE_DIR}") endif() - -endif() diff --git a/LICENSE b/LICENSE index d8cd6e6e8508..43eec6098cdb 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2018-2023 Stichting DuckDB Foundation +Copyright 2018-2024 Stichting DuckDB Foundation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/Makefile b/Makefile index 320a375e19db..42e078df6f4c 100644 --- a/Makefile +++ b/Makefile @@ -104,9 +104,6 @@ endif ifeq (${BUILD_FTS}, 1) BUILD_EXTENSIONS:=${BUILD_EXTENSIONS};fts endif -ifeq (${BUILD_VISUALIZER}, 1) - BUILD_EXTENSIONS:=${BUILD_EXTENSIONS};visualizer -endif ifeq (${BUILD_HTTPFS}, 1) BUILD_EXTENSIONS:=${BUILD_EXTENSIONS};httpfs endif @@ -156,6 +153,9 @@ endif ifeq (${PYTHON_USER_SPACE}, 1) CMAKE_VARS:=${CMAKE_VARS} -DUSER_SPACE=1 endif +ifeq (${PYTHON_EDITABLE_BUILD}, 1) + CMAKE_VARS:=${CMAKE_VARS} -DPYTHON_EDITABLE_BUILD=1 +endif ifeq (${CONFIGURE_R}, 1) CMAKE_VARS:=${CMAKE_VARS} -DCONFIGURE_R=1 endif @@ -201,12 +201,18 @@ endif ifeq (${FORCE_ASYNC_SINK_SOURCE}, 1) CMAKE_VARS:=${CMAKE_VARS} -DFORCE_ASYNC_SINK_SOURCE=1 endif +ifeq (${RUN_SLOW_VERIFIERS}, 1) + CMAKE_VARS:=${CMAKE_VARS} -DRUN_SLOW_VERIFIERS=1 +endif ifeq (${ALTERNATIVE_VERIFY}, 1) CMAKE_VARS:=${CMAKE_VARS} -DALTERNATIVE_VERIFY=1 endif ifeq (${DEBUG_MOVE}, 1) CMAKE_VARS:=${CMAKE_VARS} -DDEBUG_MOVE=1 endif +ifeq (${DEBUG_ALLOCATION}, 1) + CMAKE_VARS:=${CMAKE_VARS} -DDEBUG_ALLOCATION=1 +endif ifeq (${DEBUG_STACKTRACE}, 1) CMAKE_VARS:=${CMAKE_VARS} -DDEBUG_STACKTRACE=1 endif @@ -216,9 +222,7 @@ endif ifeq (${DISABLE_EXTENSION_LOAD}, 1) CMAKE_VARS:=${CMAKE_VARS} -DDISABLE_EXTENSION_LOAD=1 endif -ifneq (${LOCAL_EXTENSION_REPO},) - CMAKE_VARS:=${CMAKE_VARS} -DLOCAL_EXTENSION_REPO="${LOCAL_EXTENSION_REPO}" -endif +CMAKE_VARS:=${CMAKE_VARS} -DLOCAL_EXTENSION_REPO="${LOCAL_EXTENSION_REPO}" ifneq (${OSX_BUILD_ARCH}, ) CMAKE_VARS:=${CMAKE_VARS} -DOSX_BUILD_ARCH=${OSX_BUILD_ARCH} endif @@ -228,6 +232,12 @@ endif ifneq ("${CUSTOM_LINKER}", "") CMAKE_VARS:=${CMAKE_VARS} -DCUSTOM_LINKER=${CUSTOM_LINKER} endif +ifdef SKIP_PLATFORM_UTIL + CMAKE_VARS:=${CMAKE_VARS} -DSKIP_PLATFORM_UTIL=1 +endif +ifdef DEBUG_STACKTRACE + CMAKE_VARS:=${CMAKE_VARS} -DDEBUG_STACKTRACE=1 +endif # Enable VCPKG for this build ifneq ("${VCPKG_TOOLCHAIN_PATH}", "") @@ -247,6 +257,12 @@ ifneq ("${CMAKE_LLVM_PATH}", "") CMAKE_VARS:=${CMAKE_VARS} -DCMAKE_RANLIB='${CMAKE_LLVM_PATH}/bin/llvm-ranlib' -DCMAKE_AR='${CMAKE_LLVM_PATH}/bin/llvm-ar' -DCMAKE_CXX_COMPILER='${CMAKE_LLVM_PATH}/bin/clang++' -DCMAKE_C_COMPILER='${CMAKE_LLVM_PATH}/bin/clang' endif +ifdef DUCKDB_PLATFORM + ifneq ("${DUCKDB_PLATFORM}", "") + CMAKE_VARS:=${CMAKE_VARS} -DDUCKDB_EXPLICIT_PLATFORM='${DUCKDB_PLATFORM}' + endif +endif + clean: rm -rf build @@ -269,14 +285,17 @@ release: ${EXTENSION_CONFIG_STEP} wasm_mvp: ${EXTENSION_CONFIG_STEP} mkdir -p ./build/wasm_mvp && \ emcmake cmake $(GENERATOR) -DWASM_LOADABLE_EXTENSIONS=1 -DBUILD_EXTENSIONS_ONLY=1 -Bbuild/wasm_mvp -DCMAKE_CXX_FLAGS="-DDUCKDB_CUSTOM_PLATFORM=wasm_mvp" && \ - emmake make -j8 -Cbuild/wasm_mvp && \ - cd build/wasm_mvp && bash ../../scripts/link-wasm-extensions.sh + emmake make -j8 -Cbuild/wasm_mvp wasm_eh: ${EXTENSION_CONFIG_STEP} mkdir -p ./build/wasm_eh && \ emcmake cmake $(GENERATOR) -DWASM_LOADABLE_EXTENSIONS=1 -DBUILD_EXTENSIONS_ONLY=1 -Bbuild/wasm_eh -DCMAKE_CXX_FLAGS="-fwasm-exceptions -DWEBDB_FAST_EXCEPTIONS=1 -DDUCKDB_CUSTOM_PLATFORM=wasm_eh" && \ - emmake make -j8 -Cbuild/wasm_eh && \ - cd build/wasm_eh && bash ../../scripts/link-wasm-extensions.sh + emmake make -j8 -Cbuild/wasm_eh + +wasm_threads: ${EXTENSION_CONFIG_STEP} + mkdir -p ./build/wasm_threads && \ + emcmake cmake $(GENERATOR) -DWASM_LOADABLE_EXTENSIONS=1 -DBUILD_EXTENSIONS_ONLY=1 -Bbuild/wasm_threads -DCMAKE_CXX_FLAGS="-fwasm-exceptions -DWEBDB_FAST_EXCEPTIONS=1 -DWITH_WASM_THREADS=1 -DWITH_WASM_SIMD=1 -DWITH_WASM_BULK_MEMORY=1 -DDUCKDB_CUSTOM_PLATFORM=wasm_threads" && \ + emmake make -j8 -Cbuild/wasm_threads cldebug: ${EXTENSION_CONFIG_STEP} mkdir -p ./build/cldebug && \ @@ -396,7 +415,7 @@ sqlsmith: debug # works both on executable, libraries (-> .duckdb_extension) and on WebAssembly bloaty/bloaty: git clone https://github.com/google/bloaty.git - cd bloaty && git submodule update --init --recursive && cmake -B build -G Ninja -S . && cmake --build build + cd bloaty && git submodule update --init --recursive && cmake -Bm build -G Ninja -S . && cmake --build build mv bloaty/build/bloaty bloaty/bloaty bloaty: reldebug bloaty/bloaty @@ -414,3 +433,13 @@ generate-files: python3 scripts/generate_functions.py python3 scripts/generate_serialization.py python3 scripts/generate_enum_util.py + +bundle-library: release + cd build/release && \ + mkdir -p bundle && \ + cp src/libduckdb_static.a bundle/. && \ + cp third_party/*/libduckdb_*.a bundle/. && \ + cp extension/*/lib*_extension.a bundle/. && \ + cd bundle && \ + find . -name '*.a' -exec ${AR} -x {} \; && \ + ${AR} cr ../libduckdb_bundle.a *.o diff --git a/README.md b/README.md index 3f67b6d916ba..dce51122ce2c 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,10 @@ Refer to our [Data Import](https://duckdb.org/docs/data/overview) section for mo ## SQL Reference The [website](https://duckdb.org/docs/sql/introduction) contains a reference of functions and SQL constructs available in DuckDB. -## Development +## Development For development, DuckDB requires [CMake](https://cmake.org), Python3 and a `C++11` compliant compiler. Run `make` in the root directory to compile the sources. For development, use `make debug` to build a non-optimized debug version. You should run `make unit` and `make allunit` to verify that your version works properly after making changes. To test performance, you can run `BUILD_BENCHMARK=1 BUILD_TPCH=1 make` and then perform several standard benchmarks from the root directory by executing `./build/release/benchmark/benchmark_runner`. The detail of benchmarks is in our [Benchmark Guide](benchmark/README.md). Please also refer to our [Contribution Guide](CONTRIBUTING.md). + +## Support +See the [Support Options](https://duckdblabs.com/support/) page. diff --git a/benchmark/interpreted_benchmark.cpp b/benchmark/interpreted_benchmark.cpp index 8e38eed018af..aafc2f741c64 100644 --- a/benchmark/interpreted_benchmark.cpp +++ b/benchmark/interpreted_benchmark.cpp @@ -302,7 +302,7 @@ void InterpretedBenchmark::LoadBenchmark() { } // set up the queries if (queries.find("run") == queries.end()) { - throw Exception("Invalid benchmark file: no \"run\" query specified"); + throw InvalidInputException("Invalid benchmark file: no \"run\" query specified"); } run_query = queries["run"]; is_loaded = true; @@ -325,10 +325,10 @@ unique_ptr InterpretedBenchmark::Initialize(BenchmarkConfigurati for (auto &extension : extensions) { auto result = ExtensionHelper::LoadExtension(state->db, extension); if (result == ExtensionLoadResult::EXTENSION_UNKNOWN) { - throw std::runtime_error("Unknown extension " + extension); + throw InvalidInputException("Unknown extension " + extension); } else if (result == ExtensionLoadResult::NOT_LOADED) { - throw std::runtime_error("Extension " + extension + - " is not available/was not compiled. Cannot run this benchmark."); + throw InvalidInputException("Extension " + extension + + " is not available/was not compiled. Cannot run this benchmark."); } } @@ -467,14 +467,14 @@ string InterpretedBenchmark::VerifyInternal(BenchmarkState *state_p, Materialize } string InterpretedBenchmark::Verify(BenchmarkState *state_p) { - if (result_column_count == 0) { - // no result specified - return string(); - } auto &state = (InterpretedBenchmarkState &)*state_p; if (state.result->HasError()) { return state.result->GetError(); } + if (result_column_count == 0) { + // no result specified + return string(); + } if (!result_query.empty()) { // we are running a result query // store the current result in a table called "__answer" diff --git a/benchmark/micro/CMakeLists.txt b/benchmark/micro/CMakeLists.txt index 1aa75dce4f7d..21727ce6f2f8 100644 --- a/benchmark/micro/CMakeLists.txt +++ b/benchmark/micro/CMakeLists.txt @@ -2,6 +2,7 @@ include_directories(../../third_party/sqlite/include) add_library( duckdb_benchmark_micro OBJECT append.cpp append_mix.cpp bulkupdate.cpp cast.cpp in.cpp storage.cpp) + set(BENCHMARK_OBJECT_FILES ${BENCHMARK_OBJECT_FILES} $ PARENT_SCOPE) diff --git a/benchmark/micro/aggregate/ordered_first.benchmark b/benchmark/micro/aggregate/ordered_first.benchmark index e63813b191a5..00291f6b257f 100644 --- a/benchmark/micro/aggregate/ordered_first.benchmark +++ b/benchmark/micro/aggregate/ordered_first.benchmark @@ -5,13 +5,13 @@ name Ordered First (Grouped) group aggregate -#load -#PRAGMA ordered_aggregate_threshold=262144 +load +CREATE TABLE t AS FROM range(10000000) tbl(i); run SELECT SUM(agg) FROM ( SELECT i // 2048 AS grp, FIRST(i ORDER BY i DESC) AS agg - FROM range(10000000) tbl(i) + FROM t GROUP BY ALL ) diff --git a/benchmark/micro/aggregate/sorted_last.benchmark b/benchmark/micro/aggregate/sorted_last.benchmark new file mode 100644 index 000000000000..0a3144cc0ac6 --- /dev/null +++ b/benchmark/micro/aggregate/sorted_last.benchmark @@ -0,0 +1,17 @@ +# name: benchmark/micro/aggregate/sorted_last.benchmark +# description: LAST with ORDER BY +# group: [aggregate] + +load +SELECT SETSEED(0.8675309); +CREATE TABLE df AS + SELECT + '2019-01-01 00:00:00'::TIMESTAMP + INTERVAL (FLOOR(RANDOM() * 25000)::INT * 20) MINUTE AS time, + RANDOM()::DECIMAL(18, 17) AS value, + FLOOR(RANDOM() * 300)::INT AS id + FROM range(70000000); + +run +SELECT time::DATE, id, last(value ORDER BY time ASC) +FROM df +GROUP BY ALL diff --git a/benchmark/micro/cast/cast_date_string.benchmark b/benchmark/micro/cast/cast_date_string.benchmark index bacd3aea0ff4..e8e48c2ee9bf 100644 --- a/benchmark/micro/cast/cast_date_string.benchmark +++ b/benchmark/micro/cast/cast_date_string.benchmark @@ -12,4 +12,4 @@ run SELECT MIN(CAST(d AS VARCHAR)) FROM dates result I -1992-01-01 +1992-01-01 00:00:00 diff --git a/benchmark/micro/compression/chimp/chimp_read.benchmark b/benchmark/micro/compression/alp/alp_read.benchmark similarity index 75% rename from benchmark/micro/compression/chimp/chimp_read.benchmark rename to benchmark/micro/compression/alp/alp_read.benchmark index b4c37ce13569..7019278b72ee 100644 --- a/benchmark/micro/compression/chimp/chimp_read.benchmark +++ b/benchmark/micro/compression/alp/alp_read.benchmark @@ -1,16 +1,16 @@ -# name: benchmark/micro/compression/chimp/chimp_read.benchmark +# name: benchmark/micro/compression/alp/alp_read.benchmark # description: Scanning a large amount of doubles -# group: [chimp] +# group: [alp] -name Chimp Scan -group chimp +name Alp Scan +group alp storage persistent require parquet require httpfs load DROP TABLE IF EXISTS integers; -PRAGMA force_compression='chimp'; +PRAGMA force_compression='alp'; CREATE TABLE temperatures ( temperature DOUBLE ); diff --git a/benchmark/micro/compression/alp/alp_read_best_case.benchmark b/benchmark/micro/compression/alp/alp_read_best_case.benchmark new file mode 100644 index 000000000000..660332623d2f --- /dev/null +++ b/benchmark/micro/compression/alp/alp_read_best_case.benchmark @@ -0,0 +1,16 @@ +# name: benchmark/micro/compression/alp/alp_read_best_case.benchmark +# description: ALP best case scenario is when it founds low precision decimals within a limited absolute range +# group: [alp] + +name Alp Scan +group alp +storage persistent + +load +DROP TABLE IF EXISTS alp_random_doubles; +PRAGMA force_compression='alp'; +create table alp_random_doubles as select round(random(), 1)::DOUBLE as data from range(200000000) tbl(i); +checkpoint; + +run +select avg(data) from alp_random_doubles; \ No newline at end of file diff --git a/benchmark/micro/compression/alp/alp_read_worst_case.benchmark b/benchmark/micro/compression/alp/alp_read_worst_case.benchmark new file mode 100644 index 000000000000..7f204dae893a --- /dev/null +++ b/benchmark/micro/compression/alp/alp_read_worst_case.benchmark @@ -0,0 +1,16 @@ +# name: benchmark/micro/compression/alp/alp_read_worst_case.benchmark +# description: ALP slowest scenario is when it founds high precision decimals. Here, ALP achieves no compression and everything is encoded as exception +# group: [alp] + +name Alp Scan +group alp +storage persistent + +load +DROP TABLE IF EXISTS alp_random_doubles; +PRAGMA force_compression='alp'; +create table alp_random_doubles as select random()::DOUBLE as data from range(200000000) tbl(i); +checkpoint; + +run +select avg(data) from alp_random_doubles; \ No newline at end of file diff --git a/benchmark/micro/compression/alp/alp_store.benchmark b/benchmark/micro/compression/alp/alp_store.benchmark new file mode 100644 index 000000000000..3c8766fb0ce4 --- /dev/null +++ b/benchmark/micro/compression/alp/alp_store.benchmark @@ -0,0 +1,27 @@ +# name: benchmark/micro/compression/alp/alp_store.benchmark +# description: Scanning a large amount of doubles +# group: [alp] + +name Alp Insert +group alp +storage persistent +require_reinit +require parquet +require httpfs + +load +PRAGMA force_compression='uncompressed'; +DROP TABLE IF EXISTS temperatures_uncompressed; +CREATE TABLE temperatures_uncompressed ( + temperature DOUBLE +); +INSERT INTO temperatures_uncompressed SELECT temp FROM 'https://github.com/duckdb/duckdb-data/releases/download/v1.0/city_temperature.parquet' t(temp), range(28); +CREATE TABLE temperatures_alp ( + temperature DOUBLE +); +PRAGMA force_compression='alp'; +checkpoint; + +run +INSERT INTO temperatures_alp SELECT * FROM temperatures_uncompressed; +checkpoint; diff --git a/benchmark/micro/compression/alp/alp_store_best_case.benchmark b/benchmark/micro/compression/alp/alp_store_best_case.benchmark new file mode 100644 index 000000000000..62240483c808 --- /dev/null +++ b/benchmark/micro/compression/alp/alp_store_best_case.benchmark @@ -0,0 +1,16 @@ +# name: benchmark/micro/compression/alp/alp_store_best_case.benchmark +# description: ALP best case scenario is when it founds low precision decimals within a limited absolute range. +# group: [alp] + +name Alp Insert +group alp +storage persistent +require_reinit + +load +PRAGMA force_compression='alp'; +DROP TABLE IF EXISTS alp_random_doubles; + +run +create table alp_random_doubles as select round(random(), 1)::DOUBLE as data from range(50000000) tbl(i); +checkpoint; diff --git a/benchmark/micro/compression/alp/alp_store_worst_case.benchmark b/benchmark/micro/compression/alp/alp_store_worst_case.benchmark new file mode 100644 index 000000000000..023c719ffa4c --- /dev/null +++ b/benchmark/micro/compression/alp/alp_store_worst_case.benchmark @@ -0,0 +1,16 @@ +# name: benchmark/micro/compression/alp/alp_store_worst_case.benchmark +# description: ALP slowest scenario is when it founds high precision decimals. Here, ALP achieves no compression and everything is encoded as exception +# group: [alp] + +name Alp Insert +group alp +storage persistent +require_reinit + +load +PRAGMA force_compression='alp'; +DROP TABLE IF EXISTS alp_random_doubles; + +run +create table alp_random_doubles as select random()::DOUBLE as data from range(50000000) tbl(i); +checkpoint; diff --git a/benchmark/micro/compression/chimp/chimp_store.benchmark b/benchmark/micro/compression/alprd/alprd_read.benchmark similarity index 57% rename from benchmark/micro/compression/chimp/chimp_store.benchmark rename to benchmark/micro/compression/alprd/alprd_read.benchmark index c4d1d23e6cfc..b9f46323d934 100644 --- a/benchmark/micro/compression/chimp/chimp_store.benchmark +++ b/benchmark/micro/compression/alprd/alprd_read.benchmark @@ -1,21 +1,24 @@ -# name: benchmark/micro/compression/chimp/chimp_store.benchmark +# name: benchmark/micro/compression/alprd/alprd_read.benchmark # description: Scanning a large amount of doubles -# group: [chimp] +# group: [alprd] -name Chimp Insert -group chimp +name Alprd Scan +group alprd storage persistent -require_reinit require parquet require httpfs load -PRAGMA force_compression='chimp'; -DROP TABLE IF EXISTS temperatures; +DROP TABLE IF EXISTS integers; +PRAGMA force_compression='alprd'; CREATE TABLE temperatures ( temperature DOUBLE ); - -run INSERT INTO temperatures SELECT temp FROM 'https://github.com/duckdb/duckdb-data/releases/download/v1.0/city_temperature.parquet' t(temp), range(28); checkpoint; + +run +select avg(temperature) from temperatures; + +result I +56.028391124637494 diff --git a/benchmark/micro/compression/alprd/alprd_read_best_case.benchmark b/benchmark/micro/compression/alprd/alprd_read_best_case.benchmark new file mode 100644 index 000000000000..6f70bf657b6e --- /dev/null +++ b/benchmark/micro/compression/alprd/alprd_read_best_case.benchmark @@ -0,0 +1,16 @@ +# name: benchmark/micro/compression/alprd/alprd_read_best_case.benchmark +# description: ALPRD best case scenario is when all the floats share their front bits +# group: [alprd] + +name Alprd Scan +group alprd +storage persistent + +load +DROP TABLE IF EXISTS alprd_random_doubles; +PRAGMA force_compression='alprd'; +create table alprd_random_doubles as select (random() + 10)::DOUBLE as data from range(200000000) tbl(i); +checkpoint; + +run +select avg(data) from alprd_random_doubles; \ No newline at end of file diff --git a/benchmark/micro/compression/alprd/alprd_read_worst_case.benchmark b/benchmark/micro/compression/alprd/alprd_read_worst_case.benchmark new file mode 100644 index 000000000000..a1af0c98d02a --- /dev/null +++ b/benchmark/micro/compression/alprd/alprd_read_worst_case.benchmark @@ -0,0 +1,16 @@ +# name: benchmark/micro/compression/alprd/alprd_read_worst_case.benchmark +# description: ALPRD worst case scenario is when all the float have unique front bits. Multiplying by different powers of two ensures us unique front bits +# group: [alprd] + +name Alprd Scan +group alprd +storage persistent + +load +DROP TABLE IF EXISTS alprd_random_doubles; +PRAGMA force_compression='alprd'; +create table alprd_random_doubles as select (random() * pow(2, (i % 1000)) * (CASE WHEN i%2=0 THEN 1 ELSE -1 END))::DOUBLE as data from range(200000000) tbl(i); +checkpoint; + +run +select avg(data) from alprd_random_doubles; diff --git a/benchmark/micro/compression/alprd/alprd_store.benchmark b/benchmark/micro/compression/alprd/alprd_store.benchmark new file mode 100644 index 000000000000..c821d4a0301c --- /dev/null +++ b/benchmark/micro/compression/alprd/alprd_store.benchmark @@ -0,0 +1,27 @@ +# name: benchmark/micro/compression/alprd/alprd_store.benchmark +# description: Scanning a large amount of doubles +# group: [alprd] + +name Alprd Insert +group alprd +storage persistent +require_reinit +require parquet +require httpfs + +load +PRAGMA force_compression='uncompressed'; +DROP TABLE IF EXISTS temperatures_uncompressed; +CREATE TABLE temperatures_uncompressed ( + temperature DOUBLE +); +INSERT INTO temperatures_uncompressed SELECT temp FROM 'https://github.com/duckdb/duckdb-data/releases/download/v1.0/city_temperature.parquet' t(temp), range(28); +CREATE TABLE temperatures_alprd ( + temperature DOUBLE +); +PRAGMA force_compression='alprd'; +checkpoint; + +run +INSERT INTO temperatures_alprd SELECT * FROM temperatures_uncompressed; +checkpoint; diff --git a/benchmark/micro/compression/alprd/alprd_store_best_case.benchmark b/benchmark/micro/compression/alprd/alprd_store_best_case.benchmark new file mode 100644 index 000000000000..c991e89842b8 --- /dev/null +++ b/benchmark/micro/compression/alprd/alprd_store_best_case.benchmark @@ -0,0 +1,17 @@ +# name: benchmark/micro/compression/alprd/alprd_store_best_case.benchmark +# description: ALPRD best case scenario is when all the floats share their front bits. +# group: [alprd] + +name Alprd Insert +group alprd +storage persistent +require_reinit + +load +DROP TABLE IF EXISTS alprd_random_doubles; +PRAGMA force_compression='alprd'; +checkpoint; + +run +create table alprd_random_doubles as select (random() + 10)::DOUBLE as data from range(50000000) tbl(i); +checkpoint; \ No newline at end of file diff --git a/benchmark/micro/compression/alprd/alprd_store_worst_case.benchmark b/benchmark/micro/compression/alprd/alprd_store_worst_case.benchmark new file mode 100644 index 000000000000..f68fa0df6bde --- /dev/null +++ b/benchmark/micro/compression/alprd/alprd_store_worst_case.benchmark @@ -0,0 +1,17 @@ +# name: benchmark/micro/compression/alprd/alprd_store_worst_case.benchmark +# description: ALPRD worst case scenario is when all the float have unique front bits. Multiplying by different powers of two ensures us unique front bits +# group: [alprd] + +name Alprd Insert +group alprd +storage persistent +require_reinit + +load +DROP TABLE IF EXISTS alprd_random_doubles; +PRAGMA force_compression='alprd'; +checkpoint; + +run +create table alprd_random_doubles as select (random() * pow(2, (i % 1000)) * (CASE WHEN i%2=0 THEN 1 ELSE -1 END))::DOUBLE as data from range(50000000) tbl(i); +checkpoint; diff --git a/benchmark/micro/csv/null_padding.benchmark b/benchmark/micro/csv/null_padding.benchmark new file mode 100644 index 000000000000..09a2cb6b1307 --- /dev/null +++ b/benchmark/micro/csv/null_padding.benchmark @@ -0,0 +1,14 @@ +# name: benchmark/micro/csv/null_padding.benchmark +# description: Run CSV scan on file that needs null_padding +# group: [csv] + +name CSV Read Benchmark with nullpadding +group csv + +load +CREATE TABLE t1 AS select 'pedro;nl;1.73;31'; +insert into t1 select 'mark;nl;1.72' from range(0,10000000) tbl(i); +COPY t1 TO '${BENCHMARK_DIR}/null_padding.csv' (FORMAT CSV, HEADER 0); + +run +SELECT * from read_csv('${BENCHMARK_DIR}/null_padding.csv',delim= ';', null_padding = true, header = 0) diff --git a/benchmark/micro/csv/projection_pushdown.benchmark b/benchmark/micro/csv/projection_pushdown.benchmark new file mode 100644 index 000000000000..ef248d17c5fd --- /dev/null +++ b/benchmark/micro/csv/projection_pushdown.benchmark @@ -0,0 +1,16 @@ +# name: benchmark/micro/csv/projection_pushdown.benchmark +# description: Runs the CSV Scanner with Projection Pushdown +# group: [csv] + +name CSV Projection Pushdown +group csv + +require tpch + +cache tpch_sf1.duckdb + +load benchmark/tpch/sf1/load.sql +COPY lineitem TO '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER); + +run +SELECT l_returnflag, MIN(l_orderkey) FROM '${BENCHMARK_DIR}/lineitem.csv' GROUP BY l_returnflag; \ No newline at end of file diff --git a/benchmark/micro/csv/read.benchmark b/benchmark/micro/csv/read.benchmark index aa24191b5cda..1d29e4acc82d 100644 --- a/benchmark/micro/csv/read.benchmark +++ b/benchmark/micro/csv/read.benchmark @@ -6,9 +6,11 @@ name CSV Read Benchmark group csv require tpch -load -CALL dbgen(sf=1.5, suffix='_normal'); -COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER); + +cache tpch_sf1.duckdb + +load benchmark/tpch/sf1/load.sql +COPY lineitem TO '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER); run SELECT * FROM '${BENCHMARK_DIR}/lineitem.csv' \ No newline at end of file diff --git a/benchmark/micro/csv/sniffer.benchmark b/benchmark/micro/csv/sniffer.benchmark index 6c0590748230..00c3ee933eae 100644 --- a/benchmark/micro/csv/sniffer.benchmark +++ b/benchmark/micro/csv/sniffer.benchmark @@ -6,9 +6,11 @@ name CSV Sniffer Benchmark group csv require tpch -load -CALL dbgen(sf=2, suffix='_normal'); -COPY lineitem_normal TO '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER); + +cache tpch_sf1.duckdb + +load benchmark/tpch/sf1/load.sql +COPY lineitem TO '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER); run DESCRIBE SELECT * FROM '${BENCHMARK_DIR}/lineitem.csv' \ No newline at end of file diff --git a/benchmark/micro/csv/sniffer_quotes.benchmark b/benchmark/micro/csv/sniffer_quotes.benchmark new file mode 100644 index 000000000000..69b107831dbf --- /dev/null +++ b/benchmark/micro/csv/sniffer_quotes.benchmark @@ -0,0 +1,16 @@ +# name: benchmark/micro/csv/sniffer_quotes.benchmark +# description: Run sniffer on quoted lineitem +# group: [csv] + +name CSV Read Benchmark +group csv + +require tpch + +cache tpch_sf1.duckdb + +load benchmark/tpch/sf1/load.sql +COPY lineitem TO '${BENCHMARK_DIR}/lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER, FORCE_QUOTE *); + +result I +FROM read_csv('${BENCHMARK_DIR}/lineitem_quoted.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=true, columns={'l_orderkey': 'BIGINT', 'l_partkey': 'BIGINT', 'l_suppkey': 'BIGINT', 'l_linenumber': 'BIGINT', 'l_quantity': 'DOUBLE', 'l_extendedprice': 'DOUBLE', 'l_discount': 'DOUBLE', 'l_tax': 'DOUBLE', 'l_returnflag': 'VARCHAR', 'l_linestatus': 'VARCHAR', 'l_shipdate': 'DATE', 'l_commitdate': 'DATE', 'l_receiptdate': 'DATE', 'l_shipinstruct': 'VARCHAR', 'l_shipmode': 'VARCHAR', 'l_comment': 'VARCHAR'}, dateformat='%Y-%m-%d'); diff --git a/benchmark/micro/index/join/index_join_art.benchmark b/benchmark/micro/index/join/index_join_art.benchmark deleted file mode 100644 index b674f38788ee..000000000000 --- a/benchmark/micro/index/join/index_join_art.benchmark +++ /dev/null @@ -1,17 +0,0 @@ -# name: benchmark/micro/index/join/index_join_art.benchmark -# description: Perform an index nested loop join between two tables using an ART -# group: [join] - -name Index Join ART -group art - -load -PRAGMA force_index_join; -CREATE TABLE person (id BIGINT PRIMARY KEY); -CREATE TABLE person_knows_person (p1id BIGINT, p2id BIGINT); -INSERT INTO person SELECT range AS id FROM range(100000); -INSERT INTO person_knows_person SELECT range AS p1id, range + 1 AS p2id FROM range(99999); -INSERT INTO person_knows_person SELECT range AS p1id, range + 5 AS p2id FROM range(99995); - -run -SELECT p1.id FROM person_knows_person pkp JOIN person p1 ON p1.id = pkp.p1id; \ No newline at end of file diff --git a/benchmark/micro/join/indexjoin_highcardinality.benchmark b/benchmark/micro/join/indexjoin_highcardinality.benchmark deleted file mode 100644 index 73b731d612a4..000000000000 --- a/benchmark/micro/join/indexjoin_highcardinality.benchmark +++ /dev/null @@ -1,22 +0,0 @@ -# name: benchmark/micro/join/indexjoin_highcardinality.benchmark -# description: Index Join where RHS has high cardinality -# group: [join] - -name High Cardinality Join (Index, Count Only) -group join - -load -PRAGMA force_index_join; -CREATE TABLE t1 AS SELECT i as v1, i as v2 from range (0,1000) t(i); -CREATE TABLE t2 AS SELECT i as v1, i as v2 from range (0,10000000) t(i); -CREATE INDEX i_index ON t2(v1) - -run -SELECT t1.v2,t2.v2,count(*) from t1 inner join t2 on (t1.v1 = t2.v1) group by t1.v2,t2.v2 order by t1.v2 limit 5 - -result III -0 0 1 -1 1 1 -2 2 1 -3 3 1 -4 4 1 \ No newline at end of file diff --git a/benchmark/micro/join/indexjoin_lhsarithmetic.benchmark b/benchmark/micro/join/indexjoin_lhsarithmetic.benchmark deleted file mode 100644 index c95ab0bab53c..000000000000 --- a/benchmark/micro/join/indexjoin_lhsarithmetic.benchmark +++ /dev/null @@ -1,15 +0,0 @@ -# name: benchmark/micro/join/indexjoin_lhsarithmetic.benchmark -# description: Index Join where LHS performs case operation -# group: [join] - -name Equality Join + Arithmetic (Index) -group join - -load -PRAGMA force_index_join; -CREATE TABLE t1 AS SELECT i as v1, i as v2 from range (0,10000) t(i); -CREATE TABLE t2 AS SELECT i as v1, i as v2 from range (0,10000000) t(i); -CREATE INDEX i_index ON t2(v1) - -run -SELECT CASE WHEN t1.v1 > 50 THEN t1.v1+t1.v2 ELSE t1.v1*t1.v2 END FROM t1 JOIN t2 USING (v1); \ No newline at end of file diff --git a/benchmark/micro/json/inconsistent_schema.benchmark b/benchmark/micro/json/inconsistent_schema.benchmark new file mode 100644 index 000000000000..b231d25f6078 --- /dev/null +++ b/benchmark/micro/json/inconsistent_schema.benchmark @@ -0,0 +1,14 @@ +# name: benchmark/micro/json/inconsistent_schema.benchmark +# description: Read JSON file with inconsistent schema +# group: [json] + +name JSON inconsistent schema +group json + +require json + +run +CREATE OR REPLACE TABLE test AS SELECT * FROM 'data/json/5000.jsonl' + +result I +5000 diff --git a/benchmark/micro/lambdas/list_filter_where.benchmark b/benchmark/micro/lambdas/list_filter_where.benchmark new file mode 100644 index 000000000000..03d99bf7e7df --- /dev/null +++ b/benchmark/micro/lambdas/list_filter_where.benchmark @@ -0,0 +1,13 @@ +# name: benchmark/micro/lambdas/list_filter_where.benchmark +# description: Simulate a where-function with lambda functions on 100K values +# group: [lambdas] + +name Benchmark list_filter +group lambdas + +load +CREATE TABLE tbl (l INTEGER[], where_l BOOLEAN[]); +INSERT INTO tbl VALUES (range(100000), [x % 13 != 0 for x in range(100000)]); + +run +SELECT list_filter(l, (x, x_i) -> where_l[x_i]) FROM tbl; \ No newline at end of file diff --git a/benchmark/micro/lambdas/list_reduce/complex_expression.benchmark b/benchmark/micro/lambdas/list_reduce/complex_expression.benchmark new file mode 100644 index 000000000000..8478261d32d9 --- /dev/null +++ b/benchmark/micro/lambdas/list_reduce/complex_expression.benchmark @@ -0,0 +1,13 @@ +# name: benchmark/micro/lambdas/list_reduce/complex_expression.benchmark +# description: list_reduce with a complex expression +# group: [list_reduce] + +name list complex expression +group micro +subgroup lambdas + +load +CREATE TABLE tbl AS SELECT range(i, i + 1) || range(i + 1, i + 2) || range(i + 2, i + 3) || range(i + 3, i + 4) || range(i, i + 1) || range(i + 1, i + 2) || range(i + 2, i + 3) || range(i + 3, i + 4) || range(i + 1, i + 2) || range(i + 2, i + 3) AS l FROM range(500000) t(i); + +run +SELECT list_reduce(l, (x, y) -> list_reduce(l, (a, b) -> x + y + a + b)) FROM tbl; diff --git a/benchmark/micro/lambdas/list_reduce/list_length_2.benchmark b/benchmark/micro/lambdas/list_reduce/list_length_2.benchmark new file mode 100644 index 000000000000..979f86de8005 --- /dev/null +++ b/benchmark/micro/lambdas/list_reduce/list_length_2.benchmark @@ -0,0 +1,13 @@ +# name: benchmark/micro/lambdas/list_reduce/list_length_2.benchmark +# description: list_reduce with lists that have a length of 2 benchmark +# group: [list_reduce] + +name list length 2 +group micro +subgroup lambdas + +load +CREATE TABLE tbl AS SELECT range(i, i + 1) || range(i + 1, i + 2) AS l FROM range(5000000) t(i); + +run +SELECT list_reduce(l, (x, y) -> x + y) FROM tbl; diff --git a/benchmark/micro/lambdas/list_reduce/list_length_5000.benchmark b/benchmark/micro/lambdas/list_reduce/list_length_5000.benchmark new file mode 100644 index 000000000000..d8963654c106 --- /dev/null +++ b/benchmark/micro/lambdas/list_reduce/list_length_5000.benchmark @@ -0,0 +1,13 @@ +# name: benchmark/micro/lambdas/list_reduce/list_length_5000.benchmark +# description: list_reduce with lists that have a length of 5000 benchmark +# group: [list_reduce] + +name list length 5000 +group micro +subgroup lambdas + +load +CREATE TABLE t2 AS SELECT range(5000) as l FROM range(10000); + +run +SELECT list_reduce(l, (x, y) -> x + y) FROM t2; diff --git a/benchmark/micro/lambdas/list_reduce/list_variable_length.benchmark b/benchmark/micro/lambdas/list_reduce/list_variable_length.benchmark new file mode 100644 index 000000000000..d453d712312d --- /dev/null +++ b/benchmark/micro/lambdas/list_reduce/list_variable_length.benchmark @@ -0,0 +1,13 @@ +# name: benchmark/micro/lambdas/list_reduce/list_variable_length.benchmark +# description: list_reduce with list of variable length +# group: [list_reduce] + +name list variable length +group micro +subgroup lambdas + +load +CREATE TABLE tbl AS SELECT range((i * 95823983533) % 100000 + 1) AS l from range(5000) t(i); + +run +SELECT list_reduce(l, (x, y) -> x + y) FROM tbl; diff --git a/benchmark/micro/lambdas/list_reduce/varchar.benchmark b/benchmark/micro/lambdas/list_reduce/varchar.benchmark new file mode 100644 index 000000000000..94893eebcd9a --- /dev/null +++ b/benchmark/micro/lambdas/list_reduce/varchar.benchmark @@ -0,0 +1,19 @@ +# name: benchmark/micro/lambdas/list_reduce/varchar.benchmark +# description: list_reduce on varchars +# group: [list_reduce] + +name list reduce on varchars +group micro +subgroup lambdas + +load +CREATE TEMPORARY TABLE strings_temp AS + SELECT ((i * 95823983533) % 100000)::VARCHAR AS s1, + ((i * 547892347987) % 1000)::VARCHAR AS s2, + ((i * 847892347987) % 100)::VARCHAR AS s3, + FROM range(10000) tbl(i); +CREATE TEMPORARY TABLE concat_strings_tmp AS SELECT 'a' || s1 || repeat(s2, s2::INT) || s2 || 'c' || s3 AS l FROM strings_temp; +CREATE TABLE tbl AS SELECT string_split(l, '1') || string_split(l, '0') || string_split(l, '2') AS l FROM concat_strings_tmp; + +run +SELECT list_reduce(l, (a, b) -> a || b) FROM tbl; diff --git a/benchmark/micro/lambdas/list_transform_select.benchmark b/benchmark/micro/lambdas/list_transform_select.benchmark new file mode 100644 index 000000000000..c69338616b47 --- /dev/null +++ b/benchmark/micro/lambdas/list_transform_select.benchmark @@ -0,0 +1,13 @@ +# name: benchmark/micro/lambdas/list_transform_select.benchmark +# description: Simulate a select-function with lambda functions on 100K values +# group: [lambdas] + +name Benchmark list_transform +group lambdas + +load +CREATE TABLE tbl (l INTEGER[], sel INTEGER[]); +INSERT INTO tbl VALUES (range(100000), range(100000)); + +run +SELECT list_transform(sel, x -> l[x]) FROM tbl; \ No newline at end of file diff --git a/benchmark/micro/lambdas/list_transform_zip.benchmark b/benchmark/micro/lambdas/list_transform_zip.benchmark new file mode 100644 index 000000000000..5c45d45a8953 --- /dev/null +++ b/benchmark/micro/lambdas/list_transform_zip.benchmark @@ -0,0 +1,13 @@ +# name: benchmark/micro/lambdas/list_transform_zip.benchmark +# description: Simulate a zip-function with lambda functions on 100K values +# group: [lambdas] + +name Benchmark list_transform +group lambdas + +load +CREATE TABLE tbl (l INTEGER[], zip VARCHAR[]); +INSERT INTO tbl VALUES (range(100000), [x::VARCHAR || (x + 1)::VARCHAR for x in range(100000)]); + +run +SELECT list_transform(l, (x, x_i) -> (x, zip[x_i])) FROM tbl; \ No newline at end of file diff --git a/benchmark/micro/list/string_split_unicode.benchmark b/benchmark/micro/list/string_split_unicode.benchmark index db8a618997d0..91016c6546bf 100644 --- a/benchmark/micro/list/string_split_unicode.benchmark +++ b/benchmark/micro/list/string_split_unicode.benchmark @@ -16,4 +16,4 @@ run SELECT SUM(LENGTH(str_split(l_comment, ' '))) FROM duck_comments result I -27124176 +27116609 diff --git a/benchmark/micro/storage.cpp b/benchmark/micro/storage.cpp index 79893646212e..104f2f3c9943 100644 --- a/benchmark/micro/storage.cpp +++ b/benchmark/micro/storage.cpp @@ -1,6 +1,5 @@ #include "benchmark_runner.hpp" #include "duckdb_benchmark_macro.hpp" -#include "duckdb/main/appender.hpp" using namespace duckdb; diff --git a/benchmark/micro/many_values.benchmark b/benchmark/micro/view/many_values.benchmark similarity index 98% rename from benchmark/micro/many_values.benchmark rename to benchmark/micro/view/many_values.benchmark index 6587e4c6e0d1..10aaf9a888e4 100644 --- a/benchmark/micro/many_values.benchmark +++ b/benchmark/micro/view/many_values.benchmark @@ -1,9 +1,9 @@ -# name: benchmark/micro/many_values.benchmark +# name: benchmark/micro/view/many_values.benchmark # description: Summation over many statements in VALUES clause -# group: [micro] +# group: [view] name Many Values -group micro +group view load CREATE VIEW vals(v) AS VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11), (12), (13), (14), (15), (16), (17), (18), (19), (20), (21), (22), (23), (24), (25), (26), (27), (28), (29), (30), (31), (32), (33), (34), (35), (36), (37), (38), (39), (40), (41), (42), (43), (44), (45), (46), (47), (48), (49), (50), (51), (52), (53), (54), (55), (56), (57), (58), (59), (60), (61), (62), (63), (64), (65), (66), (67), (68), (69), (70), (71), (72), (73), (74), (75), (76), (77), (78), (79), (80), (81), (82), (83), (84), (85), (86), (87), (88), (89), (90), (91), (92), (93), (94), (95), (96), (97), (98), (99), (100), (101), (102), (103), (104), (105), (106), (107), (108), (109), (110), (111), (112), (113), (114), (115), (116), (117), (118), (119), (120), (121), (122), (123), (124), (125), (126), (127), (128), (129), (130), (131), (132), (133), (134), (135), (136), (137), (138), (139), (140), (141), (142), (143), (144), (145), (146), (147), (148), (149), (150), (151), (152), (153), (154), (155), (156), (157), (158), (159), (160), (161), (162), (163), (164), (165), (166), (167), (168), (169), (170), (171), (172), (173), (174), (175), (176), (177), (178), (179), (180), (181), (182), (183), (184), (185), (186), (187), (188), (189), (190), (191), (192), (193), (194), (195), (196), (197), (198), (199), (200), (201), (202), (203), (204), (205), (206), (207), (208), (209), (210), (211), (212), (213), (214), (215), (216), (217), (218), (219), (220), (221), (222), (223), (224), (225), (226), (227), (228), (229), (230), (231), (232), (233), (234), (235), (236), (237), (238), (239), (240), (241), (242), (243), (244), (245), (246), (247), (248), (249), (250), (251), (252), (253), (254), (255), (256), (257), (258), (259), (260), (261), (262), (263), (264), (265), (266), (267), (268), (269), (270), (271), (272), (273), (274), (275), (276), (277), (278), (279), (280), (281), (282), (283), (284), (285), (286), (287), (288), (289), (290), (291), (292), (293), (294), (295), (296), (297), (298), (299), (300), (301), (302), (303), (304), (305), (306), (307), (308), (309), (310), (311), (312), (313), (314), (315), (316), (317), (318), (319), (320), (321), (322), (323), (324), (325), (326), (327), (328), (329), (330), (331), (332), (333), (334), (335), (336), (337), (338), (339), (340), (341), (342), (343), (344), (345), (346), (347), (348), (349), (350), (351), (352), (353), (354), (355), (356), (357), (358), (359), (360), (361), (362), (363), (364), (365), (366), (367), (368), (369), (370), (371), (372), (373), (374), (375), (376), (377), (378), (379), (380), (381), (382), (383), (384), (385), (386), (387), (388), (389), (390), (391), (392), (393), (394), (395), (396), (397), (398), (399), (400), (401), (402), (403), (404), (405), (406), (407), (408), (409), (410), (411), (412), (413), (414), (415), (416), (417), (418), (419), (420), (421), (422), (423), (424), (425), (426), (427), (428), (429), (430), (431), (432), (433), (434), (435), (436), (437), (438), (439), (440), (441), (442), (443), (444), (445), (446), (447), (448), (449), (450), (451), (452), (453), (454), (455), (456), (457), (458), (459), (460), (461), (462), (463), (464), (465), (466), (467), (468), (469), (470), (471), (472), (473), (474), (475), (476), (477), (478), (479), (480), (481), (482), (483), (484), (485), (486), (487), (488), (489), (490), (491), (492), (493), (494), (495), (496), (497), (498), (499), (500), (501), (502), (503), (504), (505), (506), (507), (508), (509), (510), (511), (512), (513), (514), (515), (516), (517), (518), (519), (520), (521), (522), (523), (524), (525), (526), (527), (528), (529), (530), (531), (532), (533), (534), (535), (536), (537), (538), (539), (540), (541), (542), (543), (544), (545), (546), (547), (548), (549), (550), (551), (552), (553), (554), (555), (556), (557), (558), (559), (560), (561), (562), (563), (564), (565), (566), (567), (568), (569), (570), (571), (572), (573), (574), (575), (576), (577), (578), (579), (580), (581), (582), (583), (584), (585), (586), (587), (588), (589), (590), (591), (592), (593), (594), (595), (596), (597), (598), (599), (600), (601), (602), (603), (604), (605), (606), (607), (608), (609), (610), (611), (612), (613), (614), (615), (616), (617), (618), (619), (620), (621), (622), (623), (624), (625), (626), (627), (628), (629), (630), (631), (632), (633), (634), (635), (636), (637), (638), (639), (640), (641), (642), (643), (644), (645), (646), (647), (648), (649), (650), (651), (652), (653), (654), (655), (656), (657), (658), (659), (660), (661), (662), (663), (664), (665), (666), (667), (668), (669), (670), (671), (672), (673), (674), (675), (676), (677), (678), (679), (680), (681), (682), (683), (684), (685), (686), (687), (688), (689), (690), (691), (692), (693), (694), (695), (696), (697), (698), (699), (700), (701), (702), (703), (704), (705), (706), (707), (708), (709), (710), (711), (712), (713), (714), (715), (716), (717), (718), (719), (720), (721), (722), (723), (724), (725), (726), (727), (728), (729), (730), (731), (732), (733), (734), (735), (736), (737), (738), (739), (740), (741), (742), (743), (744), (745), (746), (747), (748), (749), (750), (751), (752), (753), (754), (755), (756), (757), (758), (759), (760), (761), (762), (763), (764), (765), (766), (767), (768), (769), (770), (771), (772), (773), (774), (775), (776), (777), (778), (779), (780), (781), (782), (783), (784), (785), (786), (787), (788), (789), (790), (791), (792), (793), (794), (795), (796), (797), (798), (799), (800), (801), (802), (803), (804), (805), (806), (807), (808), (809), (810), (811), (812), (813), (814), (815), (816), (817), (818), (819), (820), (821), (822), (823), (824), (825), (826), (827), (828), (829), (830), (831), (832), (833), (834), (835), (836), (837), (838), (839), (840), (841), (842), (843), (844), (845), (846), (847), (848), (849), (850), (851), (852), (853), (854), (855), (856), (857), (858), (859), (860), (861), (862), (863), (864), (865), (866), (867), (868), (869), (870), (871), (872), (873), (874), (875), (876), (877), (878), (879), (880), (881), (882), (883), (884), (885), (886), (887), (888), (889), (890), (891), (892), (893), (894), (895), (896), (897), (898), (899), (900), (901), (902), (903), (904), (905), (906), (907), (908), (909), (910), (911), (912), (913), (914), (915), (916), (917), (918), (919), (920), (921), (922), (923), (924), (925), (926), (927), (928), (929), (930), (931), (932), (933), (934), (935), (936), (937), (938), (939), (940), (941), (942), (943), (944), (945), (946), (947), (948), (949), (950), (951), (952), (953), (954), (955), (956), (957), (958), (959), (960), (961), (962), (963), (964), (965), (966), (967), (968), (969), (970), (971), (972), (973), (974), (975), (976), (977), (978), (979), (980), (981), (982), (983), (984), (985), (986), (987), (988), (989), (990), (991), (992), (993), (994), (995), (996), (997), (998), (999); diff --git a/benchmark/tpch/delete/delete_lineitem_half.benchmark b/benchmark/tpch/delete/delete_lineitem_half.benchmark new file mode 100644 index 000000000000..050791fe4985 --- /dev/null +++ b/benchmark/tpch/delete/delete_lineitem_half.benchmark @@ -0,0 +1,21 @@ +# name: benchmark/tpch/delete/delete_lineitem_half.benchmark +# description: Delete half of the lineitem table +# group: [delete] + +require tpch + +cache tpch_sf1.duckdb + +load +CALL dbgen(sf=1); +CREATE TABLE lineitem_deletes AS FROM lineitem; + +run +DELETE FROM lineitem_deletes WHERE l_orderkey%2=0; + +result I +3000586 + +cleanup +DROP TABLE lineitem_deletes; +CREATE TABLE lineitem_deletes AS FROM lineitem; diff --git a/data/csv/autotypecandidates.csv b/data/csv/autotypecandidates.csv new file mode 100644 index 000000000000..6b55a66a6785 --- /dev/null +++ b/data/csv/autotypecandidates.csv @@ -0,0 +1 @@ +1|1.1|bla diff --git a/data/csv/bug_10273.csv b/data/csv/bug_10273.csv new file mode 100644 index 000000000000..e38545a3878f --- /dev/null +++ b/data/csv/bug_10273.csv @@ -0,0 +1,3 @@ +这是alice的苹果,所以你不能吃。,"This is Alice's apple, so you can't eat it." +这是alice的苹果,所以你不能吃。,"This is ""Alice's apple"", so you can't eat it." +这是alice的苹果,所以你不能吃。,This is "Alice's apple" so you can't eat it. \ No newline at end of file diff --git a/data/csv/bug_10283.csv b/data/csv/bug_10283.csv new file mode 100644 index 000000000000..c677eea73582 --- /dev/null +++ b/data/csv/bug_10283.csv @@ -0,0 +1,293 @@ +C,NEMP.WORLD,DAILY,AEMO,PUBLIC,2023/11/18,04:05:04,0000000402799132,,0000000402799132 +I,DISPATCH,CASESOLUTION,1,SETTLEMENTDATE,RUNNO,INTERVENTION,CASESUBTYPE,SOLUTIONSTATUS,SPDVERSION,NONPHYSICALLOSSES,TOTALOBJECTIVE,TOTALAREAGENVIOLATION,TOTALINTERCONNECTORVIOLATION,TOTALGENERICVIOLATION,TOTALRAMPRATEVIOLATION,TOTALUNITMWCAPACITYVIOLATION,TOTAL5MINVIOLATION,TOTALREGVIOLATION,TOTAL6SECVIOLATION,TOTAL60SECVIOLATION,TOTALASPROFILEVIOLATION,TOTALFASTSTARTVIOLATION,TOTALENERGYOFFERVIOLATION,LASTCHANGED +D,DISPATCH,CASESOLUTION,1,"2023/11/17 04:05:00",1,0,,0,,0,-18891916.3260,0,0,0,0,0,,,,,0,0,0,"2023/11/17 04:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 04:10:00",1,0,,0,,0,-18991572.1050,0,0,0,0,0,,,,,0,0,0,"2023/11/17 04:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 04:15:00",1,0,,0,,0,-18873654.0430,0,0,0,0,0,,,,,0,0,0,"2023/11/17 04:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 04:20:00",1,0,,0,,0,-18814533.9560,0,0,0,0,0,,,,,0,0,0,"2023/11/17 04:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 04:25:00",1,0,,0,,0,-18955411.5810,0,0,0,0,0,,,,,0,0,0,"2023/11/17 04:20:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 04:30:00",1,0,,1,,0,-16453600.9790,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 04:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 04:35:00",1,0,,0,,0,-18918229.6050,0,0,0,0,0,,,,,0,0,0,"2023/11/17 04:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 04:40:00",1,0,,0,,0,-18903552.1320,0,0,0,0,0,,,,,0,0,0,"2023/11/17 04:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 04:45:00",1,0,,0,,0,-18956195.7840,0,0,0,0,0,,,,,0,0,0,"2023/11/17 04:40:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 04:50:00",1,0,,0,,0,-19068752.4310,0,0,0,0,0,,,,,0,0,0,"2023/11/17 04:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 04:55:00",1,0,,1,,0,-16547387.8360,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 04:50:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:00:00",1,0,,1,,0,-14134931.5130,0,0,0,0,0.2,,,,,0,0,0,"2023/11/17 04:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:05:00",1,0,,0,,0,-19099921.3580,0,0,0,0,0,,,,,0,0,0,"2023/11/17 05:00:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:10:00",1,0,,0,,0,-18967112.4580,0,0,0,0,0,,,,,0,0,0,"2023/11/17 05:05:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:15:00",1,0,,0,,0,-19075483.1820,0,0,0,0,0,,,,,0,0,0,"2023/11/17 05:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:20:00",1,0,,0,,0,-19184913.3440,0,0,0,0,0,,,,,0,0,0,"2023/11/17 05:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:25:00",1,0,,1,,0,-14343450.8660,0,0,0,0,0.2,,,,,0,0,0,"2023/11/17 05:20:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:30:00",1,0,,0,,0,-19331879.1490,0,0,0,0,0,,,,,0,0,0,"2023/11/17 05:25:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:35:00",1,0,,0,,0,-19582540.7460,0,0,0,0,0,,,,,0,0,0,"2023/11/17 05:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:40:00",1,0,,0,,0,-19995441.8250,0,0,0,0,0,,,,,0,0,0,"2023/11/17 05:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:45:00",1,0,,0,,0,-20392189.2680,0,0,0,0,0,,,,,0,0,0,"2023/11/17 05:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:50:00",1,0,,0,,0,-20620333.3450,0,0,0,0,0,,,,,0,0,0,"2023/11/17 05:45:07" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 05:55:00",1,0,,0,,0,-21362524.3070,0,0,0,0,0,,,,,0,0,0,"2023/11/17 05:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:00:00",1,0,,0,,0,-21489793.8170,0,0,0,0,0,,,,,0,0,0,"2023/11/17 05:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:05:00",1,0,,1,,0,2094013133.35,0,0,0,0,86.091,,,,,0,0,0,"2023/11/17 06:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:10:00",1,0,,1,,0,1338468636.7650,0,0,0,0,55.418,,,,,0,0,0,"2023/11/17 06:05:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:15:00",1,0,,1,,0,548289035.8710,0,0,0,0,23.281,,,,,0,0,0,"2023/11/17 06:10:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:20:00",1,0,,1,,0,2773061028.0780,0,0,0,0,113.806,,,,,0,0,0,"2023/11/17 06:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:25:00",1,0,,1,,0,1505021017.9440,0,0,0,0,62.326,,,,,0,0,0,"2023/11/17 06:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:30:00",1,0,,1,,0,490360523.2630,0,0,0,0,21.085,,,,,0,0,0,"2023/11/17 06:25:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:35:00",1,0,,1,,0,2187250227.8070,0,0,0,0,90.128,,,,,0,0,0,"2023/11/17 06:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:40:00",1,0,,1,,0,2664659481.8670,0,0,8.851,0,91.522,,,,,0,0,0,"2023/11/17 06:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:45:00",1,0,,1,,0,1062603019.6170,0,0,0,0,44.402,,,,,0,0,0,"2023/11/17 06:40:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:50:00",1,0,,1,,0,586841408.2250,0,0,0,0,25.053,,,,,0,0,0,"2023/11/17 06:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 06:55:00",1,0,,0,,0,-28726654.8030,0,0,0,0,0,,,,,0,0,0,"2023/11/17 06:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:00:00",1,0,,1,,0,1485033818.2130,0,0,0,0,61.621,,,,,0,0,0,"2023/11/17 06:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:05:00",1,0,,1,,0,1216625476.3170,0,0,0,0,50.703,,,,,0,0,0,"2023/11/17 07:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:10:00",1,0,,1,,0,1305259053.6630,0,0,0,0,54.355,,,,,0,0,0,"2023/11/17 07:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:15:00",1,0,,1,,0,591119444.4970,0,0,0,0,25.29,,,,,0,0,0,"2023/11/17 07:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:20:00",1,0,,1,,0,742149171.6520,0,0,0,0.416,30.151,,,,,0,0,0,"2023/11/17 07:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:25:00",1,0,,1,,0,766417739.3210,0,0,0,0.416,31.141,,,,,0,0,0,"2023/11/17 07:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:30:00",1,0,,1,,0,352861875.1030,0,0,0,0.416,14.315,,,,,0,0,0,"2023/11/17 07:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:35:00",1,0,,1,,0,8817834722.1480,0,0,0,0.416,358.351,,,,,0,0,0,"2023/11/17 07:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:40:00",1,0,,1,,0,2359869476.2250,0,0,0,0.416,95.668,,,,,0,0,0,"2023/11/17 07:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:45:00",1,0,,1,,0,1365028867.05,0,0,0,0.416,55.296,,,,,0,0,0,"2023/11/17 07:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:50:00",1,0,,1,,0,15272157.7030,0,0,0,0.416,0.51,,,,,0,0,0,"2023/11/17 07:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 07:55:00",1,0,,1,,0,5022568.40,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 07:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:00:00",1,0,,1,,0,2071536.4830,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 07:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:05:00",1,0,,1,,0,5881035925.2910,0,0,0,0.416,239.213,,,,,0,0,0,"2023/11/17 08:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:10:00",1,0,,1,,0,4892605710.2240,0,0,0,0.416,198.989,,,,,0,0,0,"2023/11/17 08:05:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:15:00",1,0,,1,,0,3819130532.2320,0,0,0,0.416,155.302,,,,,0,0,0,"2023/11/17 08:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:20:00",1,0,,1,,0,2677901325.5920,0,0,0,0.416,108.846,,,,,0,0,0,"2023/11/17 08:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:25:00",1,0,,1,,0,1509812889.8560,0,0,0,0.416,61.311,,,,,0,0,0,"2023/11/17 08:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:30:00",1,0,,1,,0,168787982.9490,0,0,0,0.416,6.736,,,,,0,0,0,"2023/11/17 08:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:35:00",1,0,,1,,0,7564605.6680,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 08:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:40:00",1,0,,1,,0,3536720.6290,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 08:35:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:45:00",1,0,,1,,0,3379078.5810,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 08:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:50:00",1,0,,1,,0,123950548.9330,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 08:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 08:55:00",1,0,,1,,0,122839634.4540,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 08:50:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:00:00",1,0,,1,,0,122216116.48,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 08:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:05:00",1,0,,1,,0,3424718.80,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 09:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:10:00",1,0,,1,,0,3271843.5390,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 09:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:15:00",1,0,,1,,0,3257726.6290,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 09:10:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:20:00",1,0,,1,,0,3586935.9820,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 09:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:25:00",1,0,,1,,0,5994413.4070,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 09:20:05" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:30:00",1,0,,1,,0,3610284.7060,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 09:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:35:00",1,0,,1,,0,4456441.6050,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 09:30:07" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:40:00",1,0,,1,,0,18731332.1660,0,0,0,0.416,0.61,,,,,0,0,0,"2023/11/17 09:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:45:00",1,0,,1,,0,6422848.2190,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 09:40:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:50:00",1,0,,1,,0,6444921.5360,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 09:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 09:55:00",1,0,,1,,0,6859042.8620,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 09:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:00:00",1,0,,1,,0,5911282.9530,0,0,0,0.416,0.06,,,,,0,0,0,"2023/11/17 09:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:05:00",1,0,,1,,0,5201965.0710,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 10:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:10:00",1,0,,1,,0,4376118.4030,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 10:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:15:00",1,0,,1,,0,4013503.9750,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 10:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:20:00",1,0,,1,,0,6348990.8130,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 10:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:25:00",1,0,,1,,0,13747527.9270,0,0,0,0.416,0.41,,,,,0,0,0,"2023/11/17 10:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:30:00",1,0,,1,,0,6571442.6830,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 10:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:35:00",1,0,,1,,0,14211057.60,0,0,0,0.416,0.31,,,,,0,0,0,"2023/11/17 10:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:40:00",1,0,,1,,0,7504324.2550,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 10:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:45:00",1,0,,1,,0,8528550.0170,0,0,0,0.416,0.16,,,,,0,0,0,"2023/11/17 10:40:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:50:00",1,0,,1,,0,4225305.82,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 10:45:07" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 10:55:00",1,0,,1,,0,21485872.2540,0,0,0,0.416,0.71,,,,,0,0,0,"2023/11/17 10:50:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:00:00",1,0,,1,,0,4226007.7930,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 10:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:05:00",1,0,,1,,0,4172215.6160,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 11:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:10:00",1,0,,1,,0,6683973.9840,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 11:05:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:15:00",1,0,,1,,0,3830504.4820,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 11:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:20:00",1,0,,1,,0,11791856.5180,0,0,0,0.416,0.31,,,,,0,0,0,"2023/11/17 11:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:25:00",1,0,,1,,0,6975406.9030,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 11:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:30:00",1,0,,1,,0,4534686.4890,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 11:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:35:00",1,0,,1,,0,4487944.2080,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 11:30:05" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:40:00",1,0,,1,,0,4280498.3490,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 11:35:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:45:00",1,0,,1,,0,4225721.8810,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 11:40:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:50:00",1,0,,1,,0,4102987.3650,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 11:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 11:55:00",1,0,,1,,0,22144271.3020,0,0,0,0.416,0.61,,,,,0,0,0,"2023/11/17 11:50:05" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:00:00",1,0,,1,,0,9140815.3220,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 11:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:05:00",1,0,,1,,0,9116493.9280,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 12:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:10:00",1,0,,1,,0,10003655.0370,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 12:05:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:15:00",1,0,,1,,0,18079517.01,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 12:10:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:20:00",1,0,,1,,0,27406117.0570,0,0,0,0.416,0.91,,,,,0,0,0,"2023/11/17 12:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:25:00",1,0,,1,,0,4320521.9670,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 12:20:10" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:30:00",1,0,,1,,0,2476488974.4520,0,0,0,0.416,100.343,,,,,0,0,0,"2023/11/17 12:25:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:35:00",1,0,,1,,0,1244271669.4330,0,0,0,0.416,50.318,,,,,0,0,0,"2023/11/17 12:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:40:00",1,0,,1,,0,27240398.8090,0,0,0,0.416,0.912,,,,,0,0,0,"2023/11/17 12:35:05" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:45:00",1,0,,1,,0,165936351.37,0,0,6.3,0.416,0.1,,,,,0,0,0,"2023/11/17 12:40:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:50:00",1,0,,1,,0,165859462.5740,0,0,5.5,0.416,0.92,,,,,0,0,0,"2023/11/17 12:45:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 12:55:00",1,0,,1,,0,8521883.3220,0,0,0,0.416,0.16,,,,,0,0,0,"2023/11/17 12:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:00:00",1,0,,1,,0,7561068.9480,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 12:55:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:05:00",1,0,,1,,0,4643264.7460,0,0,0,0.416,0.01,,,,,0,0,0,"2023/11/17 13:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:10:00",1,0,,1,,0,7234913.6530,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 13:05:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:15:00",1,0,,1,,0,7173770.6820,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 13:10:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:20:00",1,0,,1,,0,7113525.2630,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 13:15:07" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:25:00",1,0,,1,,0,4677430.2130,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 13:20:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:30:00",1,0,,1,,0,7137757.2140,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 13:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:35:00",1,0,,1,,0,3968739.0110,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 13:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:40:00",1,0,,1,,0,6180673.3160,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 13:35:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:45:00",1,0,,1,,0,11551903.7220,0,0,0,0.416,0.31,,,,,0,0,0,"2023/11/17 13:40:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:50:00",1,0,,1,,0,3872835.5480,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 13:45:07" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 13:55:00",1,0,,1,,0,17473325.51,0,0,0,0.416,0.56,,,,,0,0,0,"2023/11/17 13:50:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:00:00",1,0,,1,,0,3750810.7370,0,0,0,0.416,0.01,,,,,0,0,0,"2023/11/17 13:55:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:05:00",1,0,,1,,0,13604150.2940,0,0,0,0.416,0.41,,,,,0,0,0,"2023/11/17 14:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:10:00",1,0,,1,,0,527721659.4740,0,0,0,0.416,21.32,,,,,0,0,0,"2023/11/17 14:05:05" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:15:00",1,0,,1,,0,6294109.5750,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 14:10:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:20:00",1,0,,1,,0,21318486.3070,0,0,0,0.416,0.71,,,,,0,0,0,"2023/11/17 14:15:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:25:00",1,0,,1,,0,6046850.4370,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/17 14:20:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:30:00",1,0,,1,,0,3612256.4120,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 14:25:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:35:00",1,0,,1,,0,5906741.4970,0,0,0,0.416,0.21,,,,,0,0,0,"2023/11/17 14:30:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:40:00",1,0,,1,,0,72617.3270,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 14:35:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:45:00",1,0,,1,,0,272811.3590,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 14:40:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:50:00",1,0,,1,,0,548861020.6880,0,0,7.337,0.416,7.337,,,,,0,0,0,"2023/11/17 14:45:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 14:55:00",1,0,,1,,0,14953704.1040,0,0,0,0.416,0.61,,,,,0,0,0,"2023/11/17 14:50:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:00:00",1,0,,1,,0,76782.3890,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 14:55:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:05:00",1,0,,1,,0,1829348191.2050,0,0,72.095,0.416,0.41,,,,,0,0,0,"2023/11/17 15:00:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:10:00",1,0,,1,,0,1410714484.4390,0,0,55.817,0.416,0.1,,,,,0,0,0,"2023/11/17 15:05:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:15:00",1,0,,1,,0,1070070453.6940,0,0,42.332,0.416,0.1,,,,,0,0,0,"2023/11/17 15:10:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:20:00",1,0,,1,,0,741446570.9290,0,0,29.271,0.416,0.16,,,,,0,0,0,"2023/11/17 15:15:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:25:00",1,0,,1,,0,604683647.8940,0,0,14.659,2.808,2.1,,,,,0,0,0,"2023/11/17 15:20:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:30:00",1,0,,1,,0,182919191.4570,0,0,0,2.808,0,,,,,0,0,0,"2023/11/17 15:25:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:35:00",1,0,,1,,0,351791624.4190,0,0,0,5.002,0,,,,,0,0,0,"2023/11/17 15:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:40:00",1,0,,0,,0,-32479057.79,0,0,0,0,0,,,,,0,0,0,"2023/11/17 15:35:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:45:00",1,0,,1,,0,-21112431.6520,0,0,0,0,0.46,,,,,0,0,0,"2023/11/17 15:40:05" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:50:00",1,0,,1,,0,-29981122.65,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 15:45:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 15:55:00",1,0,,1,,0,-30107374.6380,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 15:50:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:00:00",1,0,,0,,0,-32339890.8670,0,0,0,0,0,,,,,0,0,0,"2023/11/17 15:55:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:05:00",1,0,,1,,0,80864316.1390,0,0,0,0,4.65,,,,,0,0,0,"2023/11/17 16:00:07" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:10:00",1,0,,0,,0,-34074408.4470,0,0,0,0,0,,,,,0,0,0,"2023/11/17 16:05:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:15:00",1,0,,0,,0,-35444084.7180,0,0,0,0,0,,,,,0,0,0,"2023/11/17 16:10:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:20:00",1,0,,1,,0,-30480486.3150,0,0,0,0,0.2,,,,,0,0,0,"2023/11/17 16:15:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:25:00",1,0,,1,,0,-33015540.6270,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 16:20:10" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:30:00",1,0,,1,,0,-24879655.5480,0,0,0,0,0.46,,,,,0,0,0,"2023/11/17 16:25:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:35:00",1,0,,0,,0,-41333053.0260,0,0,0,0,0,,,,,0,0,0,"2023/11/17 16:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:40:00",1,0,,0,,0,-41329313.6780,0,0,0,0,0,,,,,0,0,0,"2023/11/17 16:35:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:45:00",1,0,,0,,0,-41833547.9990,0,0,0,0,0,,,,,0,0,0,"2023/11/17 16:40:10" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:50:00",1,0,,0,,0,-42551070.1150,0,0,0,0,0,,,,,0,0,0,"2023/11/17 16:45:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 16:55:00",1,0,,1,,0,-40165172.80,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 16:50:05" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:00:00",1,0,,1,,0,-43463696.7360,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 16:55:09" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:05:00",1,0,,1,,0,402372864.7860,0,0,0,0,18.24,,,,,0,0,0,"2023/11/17 17:00:08" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:10:00",1,0,,1,,0,179581774.6110,0,0,0,0,9.16,,,,,0,0,0,"2023/11/17 17:05:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:15:00",1,0,,0,,0,-44774717.5690,0,0,0,0,0,,,,,0,0,0,"2023/11/17 17:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:20:00",1,0,,0,,0,-44827330.6740,0,0,0,0,0,,,,,0,0,0,"2023/11/17 17:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:25:00",1,0,,0,,0,-44178924.7790,0,0,0,0,0,,,,,0,0,0,"2023/11/17 17:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:30:00",1,0,,0,,0,-43916506.8830,0,0,0,0,0,,,,,0,0,0,"2023/11/17 17:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:35:00",1,0,,0,,0,-41189433.84,0,0,0,0,0,,,,,0,0,0,"2023/11/17 17:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:40:00",1,0,,0,,0,-40402133.1480,0,0,0,0,0,,,,,0,0,0,"2023/11/17 17:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:45:00",1,0,,1,,0,-34454714.9820,0,0,0,0,0.2,,,,,0,0,0,"2023/11/17 17:40:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:50:00",1,0,,1,,0,-33579028.50,0,0,0,0,0.2,,,,,0,0,0,"2023/11/17 17:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 17:55:00",1,0,,1,,0,-36094950.5570,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 17:50:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:00:00",1,0,,1,,0,-36433457.0950,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 17:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:05:00",1,0,,1,,0,-34430611.6970,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 18:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:10:00",1,0,,0,,0,-36891093.4820,0,0,0,0,0,,,,,0,0,0,"2023/11/17 18:05:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:15:00",1,0,,0,,0,-37374801.1820,0,0,0,0,0,,,,,0,0,0,"2023/11/17 18:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:20:00",1,0,,1,,0,-34255085.9680,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 18:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:25:00",1,0,,1,,0,-33215504.3040,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 18:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:30:00",1,0,,0,,0,-35196263.3820,0,0,0,0,0,,,,,0,0,0,"2023/11/17 18:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:35:00",1,0,,1,,0,-32334724.6370,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 18:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:40:00",1,0,,0,,0,-34191415.0880,0,0,0,0,0,,,,,0,0,0,"2023/11/17 18:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:45:00",1,0,,1,,0,-31336602.66,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 18:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:50:00",1,0,,0,,0,-34153952.3790,0,0,0,0,0,,,,,0,0,0,"2023/11/17 18:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 18:55:00",1,0,,0,,0,-34067481.2860,0,0,0,0,0,,,,,0,0,0,"2023/11/17 18:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:00:00",1,0,,0,,0,-34161469.6580,0,0,0,0,0,,,,,0,0,0,"2023/11/17 18:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:05:00",1,0,,0,,0,-25740682.46,0,0,0,0,0,,,,,0,0,0,"2023/11/17 19:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:10:00",1,0,,1,,0,888159560.5950,0,0,0,0,37.27,,,,,0,0,0,"2023/11/17 19:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:15:00",1,0,,1,,0,883712099.9530,0,0,0,0,37.23,,,,,0,0,0,"2023/11/17 19:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:20:00",1,0,,1,,0,881329177.0250,0,0,0,0,37.22,,,,,0,0,0,"2023/11/17 19:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:25:00",1,0,,1,,0,899723467.1060,0,0,0,0,37.98,,,,,0,0,0,"2023/11/17 19:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:30:00",1,0,,1,,0,872181619.7320,0,0,0,0,36.87,,,,,0,0,0,"2023/11/17 19:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:35:00",1,0,,1,,0,6225595163.4330,0,0,0,0,254.68,,,,,0,0,0,"2023/11/17 19:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:40:00",1,0,,1,,0,4900041508.0970,0,0,0,0,200.82,,,,,0,0,0,"2023/11/17 19:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:45:00",1,0,,1,,0,2374895739.2760,0,0,0,0,98,,,,,0,0,0,"2023/11/17 19:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:50:00",1,0,,1,,0,1051496257.6480,0,0,0,0,44.1,,,,,0,0,0,"2023/11/17 19:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 19:55:00",1,0,,0,,0,-32267107.2450,0,0,0,0,0,,,,,0,0,0,"2023/11/17 19:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:00:00",1,0,,1,,0,-30322764.1280,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 19:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:05:00",1,0,,1,,0,4027187861.5690,0,0,0,0,165.964,,,,,0,0,0,"2023/11/17 20:00:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:10:00",1,0,,1,,0,3623567899.1380,0,0,0,0,149.595,,,,,0,0,0,"2023/11/17 20:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:15:00",1,0,,1,,0,2841880378.5970,0,0,0,0,117.613,,,,,0,0,0,"2023/11/17 20:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:20:00",1,0,,1,,0,2244933416.7980,0,0,0,0,93.477,,,,,0,0,0,"2023/11/17 20:15:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:25:00",1,0,,1,,0,2863030435.6560,0,0,0,0,118.77,,,,,0,0,0,"2023/11/17 20:20:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:30:00",1,0,,1,,0,1904503784.6410,0,0,0,0,79.764,,,,,0,0,0,"2023/11/17 20:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:35:00",1,0,,1,,0,2438952364.8470,0,0,0,0,101.415,,,,,0,0,0,"2023/11/17 20:30:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:40:00",1,0,,1,,0,2404374386.37,0,0,0,0,100.112,,,,,0,0,0,"2023/11/17 20:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:45:00",1,0,,1,,0,483838402.8310,0,0,0,0,21.94,,,,,0,0,0,"2023/11/17 20:40:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:50:00",1,0,,1,,0,229032920.0450,0,0,0,0,11.564,,,,,0,0,0,"2023/11/17 20:45:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 20:55:00",1,0,,0,,0,-55281754.6920,0,0,0,0,0,,,,,0,0,0,"2023/11/17 20:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:00:00",1,0,,0,,0,-55407449.3540,0,0,0,0,0,,,,,0,0,0,"2023/11/17 20:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:05:00",1,0,,1,,0,638042862.1320,0,0,0,0,27.755,,,,,0,0,0,"2023/11/17 21:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:10:00",1,0,,1,,0,634495334.57,0,0,0,0,27.846,,,,,0,0,0,"2023/11/17 21:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:15:00",1,0,,1,,0,1074013155.4160,0,0,0,0,45.937,,,,,0,0,0,"2023/11/17 21:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:20:00",1,0,,1,,0,-52304385.61,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 21:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:25:00",1,0,,0,,0,-54778930.8770,0,0,0,0,0,,,,,0,0,0,"2023/11/17 21:20:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:30:00",1,0,,1,,0,-49933804.9660,0,0,0,0,0.2,,,,,0,0,0,"2023/11/17 21:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:35:00",1,0,,1,,0,-12582643.9120,0,0,0,0,1.487,,,,,0,0,0,"2023/11/17 21:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:40:00",1,0,,0,,0,-52297928.4560,0,0,0,0,0,,,,,0,0,0,"2023/11/17 21:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:45:00",1,0,,1,,0,3636295874.3410,0,0,0,0,150.225,,,,,0,0,0,"2023/11/17 21:40:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:50:00",1,0,,1,,0,-51935117.2980,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 21:45:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 21:55:00",1,0,,0,,0,-54402795.21,0,0,0,0,0,,,,,0,0,0,"2023/11/17 21:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:00:00",1,0,,1,,0,-51909940.0510,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 21:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:05:00",1,0,,1,,0,-46272644.3910,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 22:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:10:00",1,0,,1,,0,-48524238.9060,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 22:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:15:00",1,0,,1,,0,365490378.6370,0,0,0,0,16.983,,,,,0,0,0,"2023/11/17 22:10:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:20:00",1,0,,1,,0,319918669.0540,0,0,0,0,15.099,,,,,0,0,0,"2023/11/17 22:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:25:00",1,0,,1,,0,279776932.5480,0,0,0,0,13.463,,,,,0,0,0,"2023/11/17 22:20:05" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:30:00",1,0,,0,,0,-50757875.4790,0,0,0,0,0,,,,,0,0,0,"2023/11/17 22:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:35:00",1,0,,0,,0,-49364760.0730,0,0,0,0,0,,,,,0,0,0,"2023/11/17 22:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:40:00",1,0,,1,,0,-47241907.5760,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 22:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:45:00",1,0,,1,,0,-47915767.6690,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 22:40:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:50:00",1,0,,0,,0,-50172567.1080,0,0,0,0,0,,,,,0,0,0,"2023/11/17 22:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 22:55:00",1,0,,0,,0,-50056650.4350,0,0,0,0,0,,,,,0,0,0,"2023/11/17 22:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:00:00",1,0,,1,,0,-47573958.7360,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 22:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:05:00",1,0,,1,,0,-45568109.9610,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 23:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:10:00",1,0,,1,,0,-45494464.1590,0,0,0,0,0.1,,,,,0,0,0,"2023/11/17 23:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:15:00",1,0,,0,,0,-47995783.19,0,0,0,0,0,,,,,0,0,0,"2023/11/17 23:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:20:00",1,0,,1,,0,-16025744.1730,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 23:15:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:25:00",1,0,,1,,0,-15966430.1110,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 23:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:30:00",1,0,,1,,0,-15990262.8730,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 23:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:35:00",1,0,,1,,0,-15922778.3050,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 23:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:40:00",1,0,,1,,0,-7172455.1420,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 23:35:04" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:45:00",1,0,,1,,0,-3762172.28,0,0,0,0.416,0.26,,,,,0,0,0,"2023/11/17 23:40:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:50:00",1,0,,1,,0,-14168482.45,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 23:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/17 23:55:00",1,0,,1,,0,-15275361.3130,0,0,0,0.416,0,,,,,0,0,0,"2023/11/17 23:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:00:00",1,0,,1,,0,-5203508.2810,0,0,0,0.416,0.41,,,,,0,0,0,"2023/11/17 23:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:05:00",1,0,,1,,0,2006985581.7150,0,0,79.765,0.416,0.1,,,,,0,0,0,"2023/11/18 00:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:10:00",1,0,,1,,0,1713933363.3980,0,0,68.28,0.416,0,,,,,0,0,0,"2023/11/18 00:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:15:00",1,0,,1,,0,1324747813.8940,0,0,52.898,0.416,0,,,,,0,0,0,"2023/11/18 00:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:20:00",1,0,,1,,0,933413090.4160,0,0,37.427,0.416,0,,,,,0,0,0,"2023/11/18 00:15:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:25:00",1,0,,1,,0,550689839.8880,0,0,22.2,0.416,0.1,,,,,0,0,0,"2023/11/18 00:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:30:00",1,0,,1,,0,218937418.1080,0,0,8.395,0.416,0.81,,,,,0,0,0,"2023/11/18 00:25:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:35:00",1,0,,1,,0,7579525926.7580,0,0,0,0.416,308.996,,,,,0,0,0,"2023/11/18 00:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:40:00",1,0,,1,,0,7336915650.9690,0,0,0,0.416,299.12,,,,,0,0,0,"2023/11/18 00:35:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:45:00",1,0,,1,,0,6045182791.2170,0,0,0,0.416,246.546,,,,,0,0,0,"2023/11/18 00:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:50:00",1,0,,1,,0,4782443540.40,0,0,0,0.416,195.149,,,,,0,0,0,"2023/11/18 00:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 00:55:00",1,0,,1,,0,3533422992.0770,0,0,0,0.416,144.306,,,,,0,0,0,"2023/11/18 00:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:00:00",1,0,,1,,0,2826754356.2650,0,0,0,0.416,115.54,,,,,0,0,0,"2023/11/18 00:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:05:00",1,0,,1,,0,1453322777.0730,0,0,0,0.416,59.628,,,,,0,0,0,"2023/11/18 01:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:10:00",1,0,,1,,0,499129476.38,0,0,0,0.416,20.781,,,,,0,0,0,"2023/11/18 01:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:15:00",1,0,,1,,0,485407380.7220,0,0,0,0.416,20.229,,,,,0,0,0,"2023/11/18 01:10:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:20:00",1,0,,1,,0,17265665.6770,0,0,0,0.416,1.17,,,,,0,0,0,"2023/11/18 01:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:25:00",1,0,,1,,0,-11434172.2560,0,0,0,0.416,0,,,,,0,0,0,"2023/11/18 01:20:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:30:00",1,0,,1,,0,-3823519.21,0,0,0,0.416,0.31,,,,,0,0,0,"2023/11/18 01:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:35:00",1,0,,1,,0,1498287664.4310,0,0,0,0.416,61.408,,,,,0,0,0,"2023/11/18 01:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:40:00",1,0,,1,,0,608001450.7020,0,0,0,0.416,25.168,,,,,0,0,0,"2023/11/18 01:35:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:45:00",1,0,,1,,0,-7888393.7570,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/18 01:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:50:00",1,0,,1,,0,-10396306.4160,0,0,0,0.416,0,,,,,0,0,0,"2023/11/18 01:45:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 01:55:00",1,0,,1,,0,8316084.7680,0,0,0,0.416,0.76,,,,,0,0,0,"2023/11/18 01:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:00:00",1,0,,1,,0,-2731101.26,0,0,0,0.416,0.31,,,,,0,0,0,"2023/11/18 01:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:05:00",1,0,,1,,0,-8814993.7150,0,0,0,0.416,0.06,,,,,0,0,0,"2023/11/18 02:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:10:00",1,0,,1,,0,-7598613.6930,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/18 02:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:15:00",1,0,,1,,0,-7628193.4030,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/18 02:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:20:00",1,0,,1,,0,-7639055.3820,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/18 02:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:25:00",1,0,,1,,0,-2417482.6810,0,0,0,0.416,0.31,,,,,0,0,0,"2023/11/18 02:20:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:30:00",1,0,,1,,0,-9895427.42,0,0,0,0.416,0.01,,,,,0,0,0,"2023/11/18 02:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:35:00",1,0,,1,,0,-2318028.8590,0,0,0,0.416,0.31,,,,,0,0,0,"2023/11/18 02:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:40:00",1,0,,1,,0,-9895921.9650,0,0,0,0.416,0,,,,,0,0,0,"2023/11/18 02:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:45:00",1,0,,1,,0,-8500955.7880,0,0,0,0.416,0.06,,,,,0,0,0,"2023/11/18 02:40:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:50:00",1,0,,1,,0,-9903525.7990,0,0,0,0.416,0,,,,,0,0,0,"2023/11/18 02:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 02:55:00",1,0,,1,,0,-3502096.8430,0,0,0,0.416,0.26,,,,,0,0,0,"2023/11/18 02:50:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:00:00",1,0,,1,,0,-2234303.9630,0,0,0,0.416,0.31,,,,,0,0,0,"2023/11/18 02:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:05:00",1,0,,1,,0,-9867178.7940,0,0,0,0.416,0,,,,,0,0,0,"2023/11/18 03:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:10:00",1,0,,1,,0,-9517507.4350,0,0,0,0.416,0.01,,,,,0,0,0,"2023/11/18 03:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:15:00",1,0,,1,,0,-7178170.5820,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/18 03:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:20:00",1,0,,1,,0,-9624785.8940,0,0,0,0.416,0,,,,,0,0,0,"2023/11/18 03:15:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:25:00",1,0,,1,,0,-878688.5970,0,0,0,0.416,0.36,,,,,0,0,0,"2023/11/18 03:20:02" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:30:00",1,0,,1,,0,14145537.0950,0,0,0,0.416,0.97,,,,,0,0,0,"2023/11/18 03:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:35:00",1,0,,1,,0,-7149770.39,0,0,0,0.416,0.1,,,,,0,0,0,"2023/11/18 03:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:40:00",1,0,,1,,0,-9596739.4250,0,0,0,0.416,0,,,,,0,0,0,"2023/11/18 03:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:45:00",1,0,,1,,0,88789129.03,0,0,0,0.416,3.995,,,,,0,0,0,"2023/11/18 03:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:50:00",1,0,,1,,0,4426114.4320,0,0,0,0.416,0.56,,,,,0,0,0,"2023/11/18 03:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 03:55:00",1,0,,1,,0,5669292.5630,0,0,0,0.416,0.61,,,,,0,0,0,"2023/11/18 03:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/11/18 04:00:00",1,0,,1,,0,8250793.4510,0,0,0,0.416,0.71,,,,,0,0,0,"2023/11/18 03:55:03" +I,DREGION,,2,SETTLEMENTDATE,RUNNO,REGIONID,INTERVENTION,RRP,EEP,ROP,APCFLAG,MARKETSUSPENDEDFLAG,TOTALDEMAND,DEMANDFORECAST,DISPATCHABLEGENERATION,DISPATCHABLELOAD,NETINTERCHANGE,EXCESSGENERATION,LOWER5MINDISPATCH,LOWER5MINIMPORT,LOWER5MINLOCALDISPATCH,LOWER5MINLOCALPRICE,LOWER5MINLOCALREQ,LOWER5MINPRICE,LOWER5MINREQ,LOWER5MINSUPPLYPRICE,LOWER60SECDISPATCH,LOWER60SECIMPORT,LOWER60SECLOCALDISPATCH,LOWER60SECLOCALPRICE,LOWER60SECLOCALREQ,LOWER60SECPRICE,LOWER60SECREQ,LOWER60SECSUPPLYPRICE,LOWER6SECDISPATCH,LOWER6SECIMPORT,LOWER6SECLOCALDISPATCH,LOWER6SECLOCALPRICE,LOWER6SECLOCALREQ,LOWER6SECPRICE,LOWER6SECREQ,LOWER6SECSUPPLYPRICE,RAISE5MINDISPATCH,RAISE5MINIMPORT,RAISE5MINLOCALDISPATCH,RAISE5MINLOCALPRICE,RAISE5MINLOCALREQ,RAISE5MINPRICE,RAISE5MINREQ,RAISE5MINSUPPLYPRICE,RAISE60SECDISPATCH,RAISE60SECIMPORT,RAISE60SECLOCALDISPATCH,RAISE60SECLOCALPRICE,RAISE60SECLOCALREQ,RAISE60SECPRICE,RAISE60SECREQ,RAISE60SECSUPPLYPRICE,RAISE6SECDISPATCH,RAISE6SECIMPORT,RAISE6SECLOCALDISPATCH,RAISE6SECLOCALPRICE,RAISE6SECLOCALREQ,RAISE6SECPRICE,RAISE6SECREQ,RAISE6SECSUPPLYPRICE,AGGREGATEDISPATCHERROR,AVAILABLEGENERATION,AVAILABLELOAD,INITIALSUPPLY,CLEAREDSUPPLY,LOWERREGIMPORT,LOWERREGLOCALDISPATCH,LOWERREGLOCALREQ,LOWERREGREQ,RAISEREGIMPORT,RAISEREGLOCALDISPATCH,RAISEREGLOCALREQ,RAISEREGREQ,RAISE5MINLOCALVIOLATION,RAISEREGLOCALVIOLATION,RAISE60SECLOCALVIOLATION,RAISE6SECLOCALVIOLATION,LOWER5MINLOCALVIOLATION,LOWERREGLOCALVIOLATION,LOWER60SECLOCALVIOLATION,LOWER6SECLOCALVIOLATION,RAISE5MINVIOLATION,RAISEREGVIOLATION,RAISE60SECVIOLATION,RAISE6SECVIOLATION,LOWER5MINVIOLATION,LOWERREGVIOLATION,LOWER60SECVIOLATION,LOWER6SECVIOLATION,RAISE6SECRRP,RAISE6SECROP,RAISE6SECAPCFLAG,RAISE60SECRRP,RAISE60SECROP,RAISE60SECAPCFLAG,RAISE5MINRRP,RAISE5MINROP,RAISE5MINAPCFLAG,RAISEREGRRP,RAISEREGROP,RAISEREGAPCFLAG,LOWER6SECRRP,LOWER6SECROP,LOWER6SECAPCFLAG,LOWER60SECRRP,LOWER60SECROP,LOWER60SECAPCFLAG,LOWER5MINRRP,LOWER5MINROP,LOWER5MINAPCFLAG,LOWERREGRRP,LOWERREGROP,LOWERREGAPCFLAG +D,DREGION,,2,"2023/11/17 04:05:00",1,NSW1,0,88.56012,0,88.56012,0,0,6392.2,23,5694.97,0,-697.23,0,,,98.43,,,,,,,,103,,,,,,,,91,,,,,,,,105,,,,,,,,164,,,,,,,,171.23,,,,,,2.14388,8571.20053,207,6391.82764,6408.98,,72,,,,32,,,,,,,,,,,,,,,,,,,47.48,47.48,0,8.25,8.25,0,0.38,0.38,0,25.18,25.18,0,0.39,0.39,0,0.39,0.39,0,0.15,0.15,0,5.9,5.9,0 +D,DREGION,,2,"2023/11/17 04:05:00",1,QLD1,0,83.25,0,83.25,0,0,6012.9,1,6405.92,0,393.02,0,,,47,,,,,,,,47,,,,,,,,16,,,,,,,,69,,,,,,,,165,,,,,,,,158.59,,,,,,12.04781,9607.10393,98,6020.25977,6017.04,,10,,,,121,,,,,,,,,,,,,,,,,,,47.48,47.48,0,8.25,8.25,0,0.38,0.38,0,25.18,25.18,0,0.39,0.39,0,0.39,0.39,0,0.15,0.15,0,5.9,5.9,0 \ No newline at end of file diff --git a/data/csv/dates.csv b/data/csv/dates.csv new file mode 100644 index 000000000000..ce7ce3920d70 --- /dev/null +++ b/data/csv/dates.csv @@ -0,0 +1,2 @@ +number,date +"919 304 6161","10/08/2008" diff --git a/data/csv/double_quoted_header.csv b/data/csv/double_quoted_header.csv new file mode 100644 index 000000000000..26deec72b2d4 --- /dev/null +++ b/data/csv/double_quoted_header.csv @@ -0,0 +1,3 @@ +"foo ""bar",name +1,rob +2,sally \ No newline at end of file diff --git a/data/csv/empty_space_start_value.csv b/data/csv/empty_space_start_value.csv new file mode 100644 index 000000000000..84f72a54b37c --- /dev/null +++ b/data/csv/empty_space_start_value.csv @@ -0,0 +1,5 @@ +"Year", "Score", "Title" +1968, 86, "Greetings" +1970, 17, "Bloody Mama" +1970, 73, "Hi, Mom!" +1971, 40, "Born to Win" \ No newline at end of file diff --git a/data/csv/evil_nullpadding.csv b/data/csv/evil_nullpadding.csv new file mode 100644 index 000000000000..cc22d270ecaa --- /dev/null +++ b/data/csv/evil_nullpadding.csv @@ -0,0 +1,4 @@ +pedro;br;nl;1.72 +mark;nl +diego;" +pedro;nl;" \ No newline at end of file diff --git a/data/csv/evil_nullpadding_2.csv b/data/csv/evil_nullpadding_2.csv new file mode 100644 index 000000000000..659cd7c3938b --- /dev/null +++ b/data/csv/evil_nullpadding_2.csv @@ -0,0 +1,4 @@ +pedro;br;nl;1.72 +mark;nl +diego;" +pedro;nl" \ No newline at end of file diff --git a/data/csv/index_join.csv.gz b/data/csv/index_join.csv.gz deleted file mode 100644 index d68216b2f996..000000000000 Binary files a/data/csv/index_join.csv.gz and /dev/null differ diff --git a/data/csv/integer_exponent.csv b/data/csv/integer_exponent.csv new file mode 100644 index 000000000000..9b7d3aa8f5cd --- /dev/null +++ b/data/csv/integer_exponent.csv @@ -0,0 +1,4 @@ +a,b,c +1,2,3 +4,5,6 +7,8,1E-7 diff --git a/data/csv/null_mismatch.csv b/data/csv/null_mismatch.csv new file mode 100644 index 000000000000..9a62ee5a9ce7 --- /dev/null +++ b/data/csv/null_mismatch.csv @@ -0,0 +1,1461 @@ +id|name|url|type|PartOfPlaceId +0|India|http://dbpedia.org/resource/India|Country|1454 +1|China|http://dbpedia.org/resource/China|Country|1454 +2|Angola|http://dbpedia.org/resource/Angola|Country|1455 +3|Austria|http://dbpedia.org/resource/Austria|Country|1456 +4|Azerbaijan|http://dbpedia.org/resource/Azerbaijan|Country|1454 +5|Bolivia|http://dbpedia.org/resource/Bolivia|Country|1457 +6|Bosnia_and_Herzegovina|http://dbpedia.org/resource/Bosnia_and_Herzegovina|Country|1456 +7|Bulgaria|http://dbpedia.org/resource/Bulgaria|Country|1456 +8|Chad|http://dbpedia.org/resource/Chad|Country|1455 +9|Croatia|http://dbpedia.org/resource/Croatia|Country|1456 +10|Denmark|http://dbpedia.org/resource/Denmark|Country|1456 +11|Dominican_Republic|http://dbpedia.org/resource/Dominican_Republic|Country|1458 +12|El_Salvador|http://dbpedia.org/resource/El_Salvador|Country|1458 +13|Estonia|http://dbpedia.org/resource/Estonia|Country|1456 +14|Finland|http://dbpedia.org/resource/Finland|Country|1456 +15|Honduras|http://dbpedia.org/resource/Honduras|Country|1458 +16|Hong_Kong|http://dbpedia.org/resource/Hong_Kong|Country|1454 +17|Israel|http://dbpedia.org/resource/Israel|Country|1454 +18|Jordan|http://dbpedia.org/resource/Jordan|Country|1454 +19|Laos|http://dbpedia.org/resource/Laos|Country|1454 +20|Latvia|http://dbpedia.org/resource/Latvia|Country|1456 +21|Liberia|http://dbpedia.org/resource/Liberia|Country|1455 +22|Libya|http://dbpedia.org/resource/Libya|Country|1455 +23|Lithuania|http://dbpedia.org/resource/Lithuania|Country|1456 +24|Malta|http://dbpedia.org/resource/Malta|Country|1456 +25|Mauritania|http://dbpedia.org/resource/Mauritania|Country|1455 +26|Mauritius|http://dbpedia.org/resource/Mauritius|Country|1455 +27|Mongolia|http://dbpedia.org/resource/Mongolia|Country|1454 +28|Namibia|http://dbpedia.org/resource/Namibia|Country|1455 +29|New_Zealand|http://dbpedia.org/resource/New_Zealand|Country|1459 +30|Nicaragua|http://dbpedia.org/resource/Nicaragua|Country|1458 +31|Northern_Ireland|http://dbpedia.org/resource/Northern_Ireland|Country|1456 +32|Norway|http://dbpedia.org/resource/Norway|Country|1456 +33|Oman|http://dbpedia.org/resource/Oman|Country|1454 +34|Panama|http://dbpedia.org/resource/Panama|Country|1458 +35|Papua_New_Guinea|http://dbpedia.org/resource/Papua_New_Guinea|Country|1459 +36|Puerto_Rico|http://dbpedia.org/resource/Puerto_Rico|Country|1458 +37|Republic_of_Ireland|http://dbpedia.org/resource/Republic_of_Ireland|Country|1456 +38|Republic_of_Macedonia|http://dbpedia.org/resource/Republic_of_Macedonia|Country|1456 +39|Rwanda|http://dbpedia.org/resource/Rwanda|Country|1455 +40|Scotland|http://dbpedia.org/resource/Scotland|Country|1456 +41|Singapore|http://dbpedia.org/resource/Singapore|Country|1454 +42|Slovakia|http://dbpedia.org/resource/Slovakia|Country|1456 +43|Slovenia|http://dbpedia.org/resource/Slovenia|Country|1456 +44|Swaziland|http://dbpedia.org/resource/Swaziland|Country|1455 +45|Switzerland|http://dbpedia.org/resource/Switzerland|Country|1456 +46|Tajikistan|http://dbpedia.org/resource/Tajikistan|Country|1454 +47|Uruguay|http://dbpedia.org/resource/Uruguay|Country|1457 +48|Wales|http://dbpedia.org/resource/Wales|Country|1456 +49|Brazil|http://dbpedia.org/resource/Brazil|Country|1457 +50|Germany|http://dbpedia.org/resource/Germany|Country|1456 +51|Indonesia|http://dbpedia.org/resource/Indonesia|Country|1454 +52|Japan|http://dbpedia.org/resource/Japan|Country|1454 +53|Mexico|http://dbpedia.org/resource/Mexico|Country|1458 +54|Pakistan|http://dbpedia.org/resource/Pakistan|Country|1454 +55|Philippines|http://dbpedia.org/resource/Philippines|Country|1454 +56|Russia|http://dbpedia.org/resource/Russia|Country|1456 +57|United_States|http://dbpedia.org/resource/United_States|Country|1458 +58|Vietnam|http://dbpedia.org/resource/Vietnam|Country|1454 +59|Afghanistan|http://dbpedia.org/resource/Afghanistan|Country|1454 +60|Algeria|http://dbpedia.org/resource/Algeria|Country|1455 +61|Argentina|http://dbpedia.org/resource/Argentina|Country|1457 +62|Australia|http://dbpedia.org/resource/Australia|Country|1459 +63|Belarus|http://dbpedia.org/resource/Belarus|Country|1456 +64|Belgium|http://dbpedia.org/resource/Belgium|Country|1456 +65|Burma|http://dbpedia.org/resource/Burma|Country|1454 +66|Canada|http://dbpedia.org/resource/Canada|Country|1458 +67|Cambodia|http://dbpedia.org/resource/Cambodia|Country|1454 +68|Cameroon|http://dbpedia.org/resource/Cameroon|Country|1455 +69|Chile|http://dbpedia.org/resource/Chile|Country|1457 +70|Colombia|http://dbpedia.org/resource/Colombia|Country|1457 +71|Cuba|http://dbpedia.org/resource/Cuba|Country|1458 +72|Czech_Republic|http://dbpedia.org/resource/Czech_Republic|Country|1456 +73|Democratic_Republic_of_the_Congo|http://dbpedia.org/resource/Democratic_Republic_of_the_Congo|Country|1455 +74|Egypt|http://dbpedia.org/resource/Egypt|Country|1455 +75|England|http://dbpedia.org/resource/England|Country|1456 +76|Ethiopia|http://dbpedia.org/resource/Ethiopia|Country|1455 +77|France|http://dbpedia.org/resource/France|Country|1456 +78|Greece|http://dbpedia.org/resource/Greece|Country|1456 +79|Hungary|http://dbpedia.org/resource/Hungary|Country|1456 +80|Iran|http://dbpedia.org/resource/Iran|Country|1454 +81|Italy|http://dbpedia.org/resource/Italy|Country|1456 +82|Kazakhstan|http://dbpedia.org/resource/Kazakhstan|Country|1454 +83|Kenya|http://dbpedia.org/resource/Kenya|Country|1455 +84|Madagascar|http://dbpedia.org/resource/Madagascar|Country|1455 +85|Malaysia|http://dbpedia.org/resource/Malaysia|Country|1454 +86|Moldova|http://dbpedia.org/resource/Moldova|Country|1456 +87|Morocco|http://dbpedia.org/resource/Morocco|Country|1455 +88|Nepal|http://dbpedia.org/resource/Nepal|Country|1454 +89|Netherlands|http://dbpedia.org/resource/Netherlands|Country|1456 +90|Niger|http://dbpedia.org/resource/Niger|Country|1455 +91|Peru|http://dbpedia.org/resource/Peru|Country|1457 +92|Poland|http://dbpedia.org/resource/Poland|Country|1456 +93|Portugal|http://dbpedia.org/resource/Portugal|Country|1456 +94|Taiwan|http://dbpedia.org/resource/Taiwan|Country|1454 +95|Romania|http://dbpedia.org/resource/Romania|Country|1456 +96|Senegal|http://dbpedia.org/resource/Senegal|Country|1455 +97|South_Africa|http://dbpedia.org/resource/South_Africa|Country|1455 +98|South_Korea|http://dbpedia.org/resource/South_Korea|Country|1454 +99|Spain|http://dbpedia.org/resource/Spain|Country|1456 +100|Sri_Lanka|http://dbpedia.org/resource/Sri_Lanka|Country|1455 +101|Sweden|http://dbpedia.org/resource/Sweden|Country|1456 +102|Tanzania|http://dbpedia.org/resource/Tanzania|Country|1455 +103|Thailand|http://dbpedia.org/resource/Thailand|Country|1454 +104|Tunisia|http://dbpedia.org/resource/Tunisia|Country|1455 +105|Turkey|http://dbpedia.org/resource/Turkey|Country|1454 +106|Ukraine|http://dbpedia.org/resource/Ukraine|Country|1456 +107|United_Kingdom|http://dbpedia.org/resource/United_Kingdom|Country|1456 +108|Venezuela|http://dbpedia.org/resource/Venezuela|Country|1457 +109|Yemen|http://dbpedia.org/resource/Yemen|Country|1454 +110|Zambia|http://dbpedia.org/resource/Zambia|Country|1455 +111|Pondicherry|http://dbpedia.org/resource/Pondicherry|City|0 +112|Rewari|http://dbpedia.org/resource/Rewari|City|0 +113|Mysore|http://dbpedia.org/resource/Mysore|City|0 +114|Thane|http://dbpedia.org/resource/Thane|City|0 +115|Shibpur|http://dbpedia.org/resource/Shibpur|City|0 +116|Rohtak|http://dbpedia.org/resource/Rohtak|City|0 +117|Jiaganj_Azimganj|http://dbpedia.org/resource/Jiaganj_Azimganj|City|0 +118|Andhra_Pradesh|http://dbpedia.org/resource/Andhra_Pradesh|City|0 +119|Shillong|http://dbpedia.org/resource/Shillong|City|0 +120|Baharampur|http://dbpedia.org/resource/Baharampur|City|0 +121|Bhopal|http://dbpedia.org/resource/Bhopal|City|0 +122|Tezpur|http://dbpedia.org/resource/Tezpur|City|0 +123|Rourkela|http://dbpedia.org/resource/Rourkela|City|0 +124|Chennai|http://dbpedia.org/resource/Chennai|City|0 +125|Noida|http://dbpedia.org/resource/Noida|City|0 +126|Jammu|http://dbpedia.org/resource/Jammu|City|0 +127|Kalyani|http://dbpedia.org/resource/Kalyani|City|0 +128|Delhi|http://dbpedia.org/resource/Delhi|City|0 +129|Gobichettipalayam|http://dbpedia.org/resource/Gobichettipalayam|City|0 +130|Kochi|http://dbpedia.org/resource/Kochi|City|0 +131|Srinagar|http://dbpedia.org/resource/Srinagar|City|0 +132|Ahmedabad|http://dbpedia.org/resource/Ahmedabad|City|0 +133|Pune|http://dbpedia.org/resource/Pune|City|0 +134|Haldia|http://dbpedia.org/resource/Haldia|City|0 +135|Nagpur|http://dbpedia.org/resource/Nagpur|City|0 +136|Kakinada|http://dbpedia.org/resource/Kakinada|City|0 +137|Berhampur|http://dbpedia.org/resource/Berhampur|City|0 +138|Darbhanga|http://dbpedia.org/resource/Darbhanga|City|0 +139|Thirthahalli|http://dbpedia.org/resource/Thirthahalli|City|0 +140|Bikaner|http://dbpedia.org/resource/Bikaner|City|0 +141|Vellore|http://dbpedia.org/resource/Vellore|City|0 +142|Surat|http://dbpedia.org/resource/Surat|City|0 +143|Anantapur|http://dbpedia.org/resource/Anantapur|City|0 +144|Cooch_Behar|http://dbpedia.org/resource/Cooch_Behar|City|0 +145|Hubli|http://dbpedia.org/resource/Hubli|City|0 +146|Hamirpur|http://dbpedia.org/resource/Hamirpur|City|0 +147|Kanpur|http://dbpedia.org/resource/Kanpur|City|0 +148|Tiruchirappalli|http://dbpedia.org/resource/Tiruchirappalli|City|0 +149|Ujjain|http://dbpedia.org/resource/Ujjain|City|0 +150|Visakhapatnam|http://dbpedia.org/resource/Visakhapatnam|City|0 +151|Gandhinagar|http://dbpedia.org/resource/Gandhinagar|City|0 +152|Kannur|http://dbpedia.org/resource/Kannur|City|0 +153|Agra|http://dbpedia.org/resource/Agra|City|0 +154|Loni|http://dbpedia.org/resource/Loni|City|0 +155|Jind|http://dbpedia.org/resource/Jind|City|0 +156|Durgapur|http://dbpedia.org/resource/Durgapur|City|0 +157|Sangrur|http://dbpedia.org/resource/Sangrur|City|0 +158|Raichur|http://dbpedia.org/resource/Raichur|City|0 +159|Bardhaman|http://dbpedia.org/resource/Bardhaman|City|0 +160|Moga|http://dbpedia.org/resource/Moga|City|0 +161|Amritsar|http://dbpedia.org/resource/Amritsar|City|0 +162|Srikakulam|http://dbpedia.org/resource/Srikakulam|City|0 +163|Anantapur_district|http://dbpedia.org/resource/Anantapur_district|City|0 +164|Kolkata|http://dbpedia.org/resource/Kolkata|City|0 +165|Orissa|http://dbpedia.org/resource/Orissa|City|0 +166|Kalady|http://dbpedia.org/resource/Kalady|City|0 +167|Coimbatore|http://dbpedia.org/resource/Coimbatore|City|0 +168|Gurgaon|http://dbpedia.org/resource/Gurgaon|City|0 +169|Purulia|http://dbpedia.org/resource/Purulia|City|0 +170|Kodambakkam|http://dbpedia.org/resource/Kodambakkam|City|0 +171|Jodhpur|http://dbpedia.org/resource/Jodhpur|City|0 +172|Mahishadal|http://dbpedia.org/resource/Mahishadal|City|0 +173|Kurukshetra|http://dbpedia.org/resource/Kurukshetra|City|0 +174|Meerut|http://dbpedia.org/resource/Meerut|City|0 +175|Faizabad|http://dbpedia.org/resource/Faizabad|City|0 +176|Bangalore|http://dbpedia.org/resource/Bangalore|City|0 +177|Kota|http://dbpedia.org/resource/Kota|City|0 +178|Lucknow|http://dbpedia.org/resource/Lucknow|City|0 +179|Kalimpong|http://dbpedia.org/resource/Kalimpong|City|0 +180|Cuttack|http://dbpedia.org/resource/Cuttack|City|0 +181|Alappuzha|http://dbpedia.org/resource/Alappuzha|City|0 +182|Davangere|http://dbpedia.org/resource/Davangere|City|0 +183|Siliguri|http://dbpedia.org/resource/Siliguri|City|0 +184|Bidar|http://dbpedia.org/resource/Bidar|City|0 +185|Puttur|http://dbpedia.org/resource/Puttur|City|0 +186|Maharashtra|http://dbpedia.org/resource/Maharashtra|City|0 +187|Kolhapur|http://dbpedia.org/resource/Kolhapur|City|0 +188|Habra|http://dbpedia.org/resource/Habra|City|0 +189|Bihar|http://dbpedia.org/resource/Bihar|City|0 +190|Hyderabad|http://dbpedia.org/resource/Hyderabad|City|0 +191|Kadapa|http://dbpedia.org/resource/Kadapa|City|0 +192|Bhilai|http://dbpedia.org/resource/Bhilai|City|0 +193|Tirunelveli|http://dbpedia.org/resource/Tirunelveli|City|0 +194|Moradabad|http://dbpedia.org/resource/Moradabad|City|0 +195|Tiruvallur_district|http://dbpedia.org/resource/Tiruvallur_district|City|0 +196|Nashik|http://dbpedia.org/resource/Nashik|City|0 +197|Anand|http://dbpedia.org/resource/Anand|City|0 +198|Sion|http://dbpedia.org/resource/Sion|City|0 +199|Aizawl|http://dbpedia.org/resource/Aizawl|City|0 +200|Jhansi|http://dbpedia.org/resource/Jhansi|City|0 +201|Serampore|http://dbpedia.org/resource/Serampore|City|0 +202|Asansol|http://dbpedia.org/resource/Asansol|City|0 +203|Varanasi|http://dbpedia.org/resource/Varanasi|City|0 +204|Navi_Mumbai|http://dbpedia.org/resource/Navi_Mumbai|City|0 +205|Vadodara|http://dbpedia.org/resource/Vadodara|City|0 +206|Patna|http://dbpedia.org/resource/Patna|City|0 +207|Jajapur|http://dbpedia.org/resource/Jajapur|City|0 +208|Bareilly|http://dbpedia.org/resource/Bareilly|City|0 +209|Tamil_Nadu|http://dbpedia.org/resource/Tamil_Nadu|City|0 +210|Ranchi|http://dbpedia.org/resource/Ranchi|City|0 +211|Gulbarga|http://dbpedia.org/resource/Gulbarga|City|0 +212|Erode|http://dbpedia.org/resource/Erode|City|0 +213|Arambag|http://dbpedia.org/resource/Arambag|City|0 +214|Howrah|http://dbpedia.org/resource/Howrah|City|0 +215|Jaipur|http://dbpedia.org/resource/Jaipur|City|0 +216|Kasaragod|http://dbpedia.org/resource/Kasaragod|City|0 +217|Vallabh_Vidhyanagar|http://dbpedia.org/resource/Vallabh_Vidhyanagar|City|0 +218|Suri|http://dbpedia.org/resource/Suri|City|0 +219|Assam|http://dbpedia.org/resource/Assam|City|0 +220|Greater_Noida|http://dbpedia.org/resource/Greater_Noida|City|0 +221|Jorhat|http://dbpedia.org/resource/Jorhat|City|0 +222|Allahabad|http://dbpedia.org/resource/Allahabad|City|0 +223|Rajasthan|http://dbpedia.org/resource/Rajasthan|City|0 +224|Aurangabad|http://dbpedia.org/resource/Aurangabad|City|0 +225|Hisar|http://dbpedia.org/resource/Hisar|City|0 +226|Haldwani|http://dbpedia.org/resource/Haldwani|City|0 +227|Dum_Dum|http://dbpedia.org/resource/Dum_Dum|City|0 +228|Vijayawada|http://dbpedia.org/resource/Vijayawada|City|0 +229|Solapur|http://dbpedia.org/resource/Solapur|City|0 +230|Malappuram|http://dbpedia.org/resource/Malappuram|City|0 +231|Thanjavur|http://dbpedia.org/resource/Thanjavur|City|0 +232|Dharwad|http://dbpedia.org/resource/Dharwad|City|0 +233|Nalgonda|http://dbpedia.org/resource/Nalgonda|City|0 +234|English_Bazar|http://dbpedia.org/resource/English_Bazar|City|0 +235|Bankura|http://dbpedia.org/resource/Bankura|City|0 +236|Belgaum|http://dbpedia.org/resource/Belgaum|City|0 +237|Namakkal|http://dbpedia.org/resource/Namakkal|City|0 +238|Balasore|http://dbpedia.org/resource/Balasore|City|0 +239|Palayamkottai|http://dbpedia.org/resource/Palayamkottai|City|0 +240|Chetpet|http://dbpedia.org/resource/Chetpet|City|0 +241|Mangalore|http://dbpedia.org/resource/Mangalore|City|0 +242|Nellore|http://dbpedia.org/resource/Nellore|City|0 +243|Patiala|http://dbpedia.org/resource/Patiala|City|0 +244|Madurai|http://dbpedia.org/resource/Madurai|City|0 +245|Karaikudi|http://dbpedia.org/resource/Karaikudi|City|0 +246|Karnataka|http://dbpedia.org/resource/Karnataka|City|0 +247|Bahadurgarh|http://dbpedia.org/resource/Bahadurgarh|City|0 +248|Silchar|http://dbpedia.org/resource/Silchar|City|0 +249|Kandivali|http://dbpedia.org/resource/Kandivali|City|0 +250|Ghaziabad|http://dbpedia.org/resource/Ghaziabad|City|0 +251|Rajahmundry|http://dbpedia.org/resource/Rajahmundry|City|0 +252|Dehradun|http://dbpedia.org/resource/Dehradun|City|0 +253|Kozhikode|http://dbpedia.org/resource/Kozhikode|City|0 +254|Salem|http://dbpedia.org/resource/Salem|City|0 +255|Barasat|http://dbpedia.org/resource/Barasat|City|0 +256|Guwahati|http://dbpedia.org/resource/Guwahati|City|0 +257|Shimoga|http://dbpedia.org/resource/Shimoga|City|0 +258|Kollam|http://dbpedia.org/resource/Kollam|City|0 +259|Krishnanagar|http://dbpedia.org/resource/Krishnanagar|City|0 +260|Ernakulam|http://dbpedia.org/resource/Ernakulam|City|0 +261|Mumbai|http://dbpedia.org/resource/Mumbai|City|0 +262|Talcher|http://dbpedia.org/resource/Talcher|City|0 +263|Warangal|http://dbpedia.org/resource/Warangal|City|0 +264|Goa|http://dbpedia.org/resource/Goa|City|0 +265|Ajmer|http://dbpedia.org/resource/Ajmer|City|0 +266|Raipur|http://dbpedia.org/resource/Raipur|City|0 +267|Kerala|http://dbpedia.org/resource/Kerala|City|0 +268|Jalpaiguri|http://dbpedia.org/resource/Jalpaiguri|City|0 +269|Brahmavar|http://dbpedia.org/resource/Brahmavar|City|0 +270|Manipal|http://dbpedia.org/resource/Manipal|City|0 +271|Udaipur|http://dbpedia.org/resource/Udaipur|City|0 +272|Tiruvallur|http://dbpedia.org/resource/Tiruvallur|City|0 +273|Dhenkanal|http://dbpedia.org/resource/Dhenkanal|City|0 +274|Thrissur|http://dbpedia.org/resource/Thrissur|City|0 +275|Bandra|http://dbpedia.org/resource/Bandra|City|0 +276|Chandigarh|http://dbpedia.org/resource/Chandigarh|City|0 +277|Munsirhat|http://dbpedia.org/resource/Munsirhat|City|0 +278|Tirupati|http://dbpedia.org/resource/Tirupati|City|0 +279|Midnapore|http://dbpedia.org/resource/Midnapore|City|0 +280|Poonamallee|http://dbpedia.org/resource/Poonamallee|City|0 +281|Nalanda|http://dbpedia.org/resource/Nalanda|City|0 +282|Jabalpur|http://dbpedia.org/resource/Jabalpur|City|0 +283|Faridabad|http://dbpedia.org/resource/Faridabad|City|0 +284|Rupnagar|http://dbpedia.org/resource/Rupnagar|City|0 +285|Guntur|http://dbpedia.org/resource/Guntur|City|0 +286|Kottayam|http://dbpedia.org/resource/Kottayam|City|0 +287|Bhubaneswar|http://dbpedia.org/resource/Bhubaneswar|City|0 +288|Fatehgarh_Sahib|http://dbpedia.org/resource/Fatehgarh_Sahib|City|0 +289|Barrackpore|http://dbpedia.org/resource/Barrackpore|City|0 +290|Gaya|http://dbpedia.org/resource/Gaya|City|0 +291|Kashipur|http://dbpedia.org/resource/Kashipur|City|0 +292|Gangtok|http://dbpedia.org/resource/Gangtok|City|0 +293|Nerul|http://dbpedia.org/resource/Nerul|City|0 +294|Bilaspur|http://dbpedia.org/resource/Bilaspur|City|0 +295|Thiruchendur|http://dbpedia.org/resource/Thiruchendur|City|0 +296|Gwalior|http://dbpedia.org/resource/Gwalior|City|0 +297|Gujarat|http://dbpedia.org/resource/Gujarat|City|0 +298|Indore|http://dbpedia.org/resource/Indore|City|0 +299|Palakkad|http://dbpedia.org/resource/Palakkad|City|0 +300|New_Delhi|http://dbpedia.org/resource/New_Delhi|City|0 +301|Secunderabad|http://dbpedia.org/resource/Secunderabad|City|0 +302|Durg|http://dbpedia.org/resource/Durg|City|0 +303|Raniganj|http://dbpedia.org/resource/Raniganj|City|0 +304|Thiruvananthapuram|http://dbpedia.org/resource/Thiruvananthapuram|City|0 +305|Jamshedpur|http://dbpedia.org/resource/Jamshedpur|City|0 +306|Bhagalpur|http://dbpedia.org/resource/Bhagalpur|City|0 +307|Aligarh|http://dbpedia.org/resource/Aligarh|City|0 +308|Sambalpur|http://dbpedia.org/resource/Sambalpur|City|0 +309|Latur|http://dbpedia.org/resource/Latur|City|0 +310|Zhengzhou|http://dbpedia.org/resource/Zhengzhou|City|1 +311|Chishui|http://dbpedia.org/resource/Chishui|City|1 +312|Donggang|http://dbpedia.org/resource/Donggang|City|1 +313|Dandong|http://dbpedia.org/resource/Dandong|City|1 +314|Chaohu|http://dbpedia.org/resource/Chaohu|City|1 +315|Changji|http://dbpedia.org/resource/Changji|City|1 +316|Bayannur|http://dbpedia.org/resource/Bayannur|City|1 +317|Zhangzhou|http://dbpedia.org/resource/Zhangzhou|City|1 +318|Huanggang|http://dbpedia.org/resource/Huanggang|City|1 +319|Genhe|http://dbpedia.org/resource/Genhe|City|1 +320|Baicheng|http://dbpedia.org/resource/Baicheng|City|1 +321|Shenzhen|http://dbpedia.org/resource/Shenzhen|City|1 +322|Deyang|http://dbpedia.org/resource/Deyang|City|1 +323|Baiyin|http://dbpedia.org/resource/Baiyin|City|1 +324|Bole|http://dbpedia.org/resource/Bole|City|1 +325|Xi'an|http://dbpedia.org/resource/Xi'an|City|1 +326|Ezhou|http://dbpedia.org/resource/Ezhou|City|1 +327|Baoshan|http://dbpedia.org/resource/Baoshan|City|1 +328|Baotou|http://dbpedia.org/resource/Baotou|City|1 +329|Danyang|http://dbpedia.org/resource/Danyang|City|1 +330|Changzhi|http://dbpedia.org/resource/Changzhi|City|1 +331|Yueyang|http://dbpedia.org/resource/Yueyang|City|1 +332|Diaobingshan|http://dbpedia.org/resource/Diaobingshan|City|1 +333|Fuyang|http://dbpedia.org/resource/Fuyang|City|1 +334|Dingxi|http://dbpedia.org/resource/Dingxi|City|1 +335|Dunhuang|http://dbpedia.org/resource/Dunhuang|City|1 +336|Nanning|http://dbpedia.org/resource/Nanning|City|1 +337|Altay|http://dbpedia.org/resource/Altay|City|1 +338|Fuqing|http://dbpedia.org/resource/Fuqing|City|1 +339|Bei'an|http://dbpedia.org/resource/Bei'an|City|1 +340|Anguo|http://dbpedia.org/resource/Anguo|City|1 +341|Beihai|http://dbpedia.org/resource/Beihai|City|1 +342|Daye|http://dbpedia.org/resource/Daye|City|1 +343|Xinzheng|http://dbpedia.org/resource/Xinzheng|City|1 +344|Harbin|http://dbpedia.org/resource/Harbin|City|1 +345|Anshan|http://dbpedia.org/resource/Anshan|City|1 +346|Duyun|http://dbpedia.org/resource/Duyun|City|1 +347|Dongtai|http://dbpedia.org/resource/Dongtai|City|1 +348|Xinxiang|http://dbpedia.org/resource/Xinxiang|City|1 +349|Macau|http://dbpedia.org/resource/Macau|City|1 +350|Da'an|http://dbpedia.org/resource/Da'an|City|1 +351|Shenyang|http://dbpedia.org/resource/Shenyang|City|1 +352|Dengta|http://dbpedia.org/resource/Dengta|City|1 +353|Bijie|http://dbpedia.org/resource/Bijie|City|1 +354|Aral|http://dbpedia.org/resource/Aral|City|1 +355|Fujin|http://dbpedia.org/resource/Fujin|City|1 +356|Chuzhou|http://dbpedia.org/resource/Chuzhou|City|1 +357|Cenxi|http://dbpedia.org/resource/Cenxi|City|1 +358|Songjiang_District|http://dbpedia.org/resource/Songjiang_District|City|1 +359|Benxi|http://dbpedia.org/resource/Benxi|City|1 +360|Datong|http://dbpedia.org/resource/Datong|City|1 +361|Changde|http://dbpedia.org/resource/Changde|City|1 +362|Bazhong|http://dbpedia.org/resource/Bazhong|City|1 +363|Guilin|http://dbpedia.org/resource/Guilin|City|1 +364|Mbabane|http://dbpedia.org/resource/Mbabane|City|1 +365|Gaocheng|http://dbpedia.org/resource/Gaocheng|City|1 +366|Anshun|http://dbpedia.org/resource/Anshun|City|1 +367|Baise|http://dbpedia.org/resource/Baise|City|1 +368|Dujiangyan|http://dbpedia.org/resource/Dujiangyan|City|1 +369|Fangchenggang|http://dbpedia.org/resource/Fangchenggang|City|1 +370|Erenhot|http://dbpedia.org/resource/Erenhot|City|1 +371|Baoding|http://dbpedia.org/resource/Baoding|City|1 +372|Ergun|http://dbpedia.org/resource/Ergun|City|1 +373|Dunhua|http://dbpedia.org/resource/Dunhua|City|1 +374|Gaoping|http://dbpedia.org/resource/Gaoping|City|1 +375|Guangzhou|http://dbpedia.org/resource/Guangzhou|City|1 +376|Hefei|http://dbpedia.org/resource/Hefei|City|1 +377|Changle|http://dbpedia.org/resource/Changle|City|1 +378|Luoyang|http://dbpedia.org/resource/Luoyang|City|1 +379|Beipiao|http://dbpedia.org/resource/Beipiao|City|1 +380|Dezhou|http://dbpedia.org/resource/Dezhou|City|1 +381|Chongzuo|http://dbpedia.org/resource/Chongzuo|City|1 +382|Baoji|http://dbpedia.org/resource/Baoji|City|1 +383|Chenzhou|http://dbpedia.org/resource/Chenzhou|City|1 +384|Pudong|http://dbpedia.org/resource/Pudong|City|1 +385|Shijiazhuang|http://dbpedia.org/resource/Shijiazhuang|City|1 +386|Hangzhou|http://dbpedia.org/resource/Hangzhou|City|1 +387|Fuzhou|http://dbpedia.org/resource/Fuzhou|City|1 +388|Changzhou|http://dbpedia.org/resource/Changzhou|City|1 +389|Taiyuan|http://dbpedia.org/resource/Taiyuan|City|1 +390|Foshan|http://dbpedia.org/resource/Foshan|City|1 +391|Ankang|http://dbpedia.org/resource/Ankang|City|1 +392|Gejiu|http://dbpedia.org/resource/Gejiu|City|1 +393|Dongyang|http://dbpedia.org/resource/Dongyang|City|1 +394|Anning|http://dbpedia.org/resource/Anning|City|1 +395|Dexing|http://dbpedia.org/resource/Dexing|City|1 +396|Zhuhai|http://dbpedia.org/resource/Zhuhai|City|1 +397|Gaomi|http://dbpedia.org/resource/Gaomi|City|1 +398|Ürümqi|http://dbpedia.org/resource/Ürümqi|City|1 +399|Beiliu|http://dbpedia.org/resource/Beiliu|City|1 +400|Fuquan|http://dbpedia.org/resource/Fuquan|City|1 +401|Chaozhou|http://dbpedia.org/resource/Chaozhou|City|1 +402|Conghua|http://dbpedia.org/resource/Conghua|City|1 +403|Dangyang|http://dbpedia.org/resource/Dangyang|City|1 +404|Fukang|http://dbpedia.org/resource/Fukang|City|1 +405|Chaoyang|http://dbpedia.org/resource/Chaoyang|City|1 +406|Fuxin|http://dbpedia.org/resource/Fuxin|City|1 +407|Changyi|http://dbpedia.org/resource/Changyi|City|1 +408|Chongzhou|http://dbpedia.org/resource/Chongzhou|City|1 +409|Enping|http://dbpedia.org/resource/Enping|City|1 +410|Dehui|http://dbpedia.org/resource/Dehui|City|1 +411|Quanzhou|http://dbpedia.org/resource/Quanzhou|City|1 +412|Emeishan|http://dbpedia.org/resource/Emeishan|City|1 +413|Anqiu|http://dbpedia.org/resource/Anqiu|City|1 +414|Beitun|http://dbpedia.org/resource/Beitun|City|1 +415|Changning|http://dbpedia.org/resource/Changning|City|1 +416|Gaizhou|http://dbpedia.org/resource/Gaizhou|City|1 +417|Dongguan|http://dbpedia.org/resource/Dongguan|City|1 +418|Lanzhou|http://dbpedia.org/resource/Lanzhou|City|1 +419|Beibei_District|http://dbpedia.org/resource/Beibei_District|City|1 +420|Shantou|http://dbpedia.org/resource/Shantou|City|1 +421|Dazhou|http://dbpedia.org/resource/Dazhou|City|1 +422|Feicheng|http://dbpedia.org/resource/Feicheng|City|1 +423|Yantai|http://dbpedia.org/resource/Yantai|City|1 +424|Gaoyao|http://dbpedia.org/resource/Gaoyao|City|1 +425|Dali|http://dbpedia.org/resource/Dali|City|1 +426|Kunming|http://dbpedia.org/resource/Kunming|City|1 +427|Fu'an|http://dbpedia.org/resource/Fu'an|City|1 +428|Brooklyn|http://dbpedia.org/resource/Brooklyn|City|1 +429|Botou|http://dbpedia.org/resource/Botou|City|1 +430|Danzhou|http://dbpedia.org/resource/Danzhou|City|1 +431|Bozhou|http://dbpedia.org/resource/Bozhou|City|1 +432|Danjiangkou|http://dbpedia.org/resource/Danjiangkou|City|1 +433|Nanchang|http://dbpedia.org/resource/Nanchang|City|1 +434|Baishan|http://dbpedia.org/resource/Baishan|City|1 +435|Gaozhou|http://dbpedia.org/resource/Gaozhou|City|1 +436|Anda|http://dbpedia.org/resource/Anda|City|1 +437|Arxan|http://dbpedia.org/resource/Arxan|City|1 +438|Changge|http://dbpedia.org/resource/Changge|City|1 +439|Changshu|http://dbpedia.org/resource/Changshu|City|1 +440|Nan'an_District|http://dbpedia.org/resource/Nan'an_District|City|1 +441|Nanchong|http://dbpedia.org/resource/Nanchong|City|1 +442|Putian|http://dbpedia.org/resource/Putian|City|1 +443|Dafeng|http://dbpedia.org/resource/Dafeng|City|1 +444|Dongfang|http://dbpedia.org/resource/Dongfang|City|1 +445|Chizhou|http://dbpedia.org/resource/Chizhou|City|1 +446|Beijing|http://dbpedia.org/resource/Beijing|City|1 +447|Haidian_District|http://dbpedia.org/resource/Haidian_District|City|1 +448|Cixi|http://dbpedia.org/resource/Cixi|City|1 +449|Xiangtan|http://dbpedia.org/resource/Xiangtan|City|1 +450|Dongying|http://dbpedia.org/resource/Dongying|City|1 +451|Fenyang|http://dbpedia.org/resource/Fenyang|City|1 +452|Hengyang|http://dbpedia.org/resource/Hengyang|City|1 +453|Anlu|http://dbpedia.org/resource/Anlu|City|1 +454|Shihezi|http://dbpedia.org/resource/Shihezi|City|1 +455|Golmud|http://dbpedia.org/resource/Golmud|City|1 +456|Fuyu|http://dbpedia.org/resource/Fuyu|City|1 +457|Gaobeidian|http://dbpedia.org/resource/Gaobeidian|City|1 +458|Tianjin|http://dbpedia.org/resource/Tianjin|City|1 +459|Shanghai|http://dbpedia.org/resource/Shanghai|City|1 +460|Beizhen|http://dbpedia.org/resource/Beizhen|City|1 +461|Cangzhou|http://dbpedia.org/resource/Cangzhou|City|1 +462|Fuzhou,|http://dbpedia.org/resource/Fuzhou,|City|1 +463|Fengcheng,|http://dbpedia.org/resource/Fengcheng,|City|1 +464|Chibi|http://dbpedia.org/resource/Chibi|City|1 +465|Fengzhen|http://dbpedia.org/resource/Fengzhen|City|1 +466|Chuxiong|http://dbpedia.org/resource/Chuxiong|City|1 +467|Qiqihar|http://dbpedia.org/resource/Qiqihar|City|1 +468|Alashankou|http://dbpedia.org/resource/Alashankou|City|1 +469|Huainan|http://dbpedia.org/resource/Huainan|City|1 +470|Ma'anshan|http://dbpedia.org/resource/Ma'anshan|City|1 +471|Changchun|http://dbpedia.org/resource/Changchun|City|1 +472|Wuhan|http://dbpedia.org/resource/Wuhan|City|1 +473|Gaoyou|http://dbpedia.org/resource/Gaoyou|City|1 +474|Yinchuan|http://dbpedia.org/resource/Yinchuan|City|1 +475|Fushun|http://dbpedia.org/resource/Fushun|City|1 +476|Dongxing|http://dbpedia.org/resource/Dongxing|City|1 +477|Chifeng|http://dbpedia.org/resource/Chifeng|City|1 +478|Qingdao|http://dbpedia.org/resource/Qingdao|City|1 +479|Chongqing|http://dbpedia.org/resource/Chongqing|City|1 +480|Fuding|http://dbpedia.org/resource/Fuding|City|1 +481|Dengzhou|http://dbpedia.org/resource/Dengzhou|City|1 +482|Gongyi|http://dbpedia.org/resource/Gongyi|City|1 +483|Dengfeng|http://dbpedia.org/resource/Dengfeng|City|1 +484|Daqing|http://dbpedia.org/resource/Daqing|City|1 +485|Changsha|http://dbpedia.org/resource/Changsha|City|1 +486|Anqing|http://dbpedia.org/resource/Anqing|City|1 +487|Bazhou|http://dbpedia.org/resource/Bazhou|City|1 +488|Dingzhou|http://dbpedia.org/resource/Dingzhou|City|1 +489|Suzhou|http://dbpedia.org/resource/Suzhou|City|1 +490|Fuling_District|http://dbpedia.org/resource/Fuling_District|City|1 +491|Anyang|http://dbpedia.org/resource/Anyang|City|1 +492|Dalian|http://dbpedia.org/resource/Dalian|City|1 +493|Enshi|http://dbpedia.org/resource/Enshi|City|1 +494|Chengdu|http://dbpedia.org/resource/Chengdu|City|1 +495|Binzhou|http://dbpedia.org/resource/Binzhou|City|1 +496|Fuyang,|http://dbpedia.org/resource/Fuyang,|City|1 +497|Jinan|http://dbpedia.org/resource/Jinan|City|1 +498|Nanjing|http://dbpedia.org/resource/Nanjing|City|1 +499|Bengbu|http://dbpedia.org/resource/Bengbu|City|1 +500|Ganzhou|http://dbpedia.org/resource/Ganzhou|City|1 +501|Chengde|http://dbpedia.org/resource/Chengde|City|1 +502|Kowloon|http://dbpedia.org/resource/Kowloon|City|1 +503|Fenghua|http://dbpedia.org/resource/Fenghua|City|1 +504|Gao'an|http://dbpedia.org/resource/Gao'an|City|1 +505|Artux|http://dbpedia.org/resource/Artux|City|1 +506|Dashiqiao|http://dbpedia.org/resource/Dashiqiao|City|1 +507|Shanxi|http://dbpedia.org/resource/Shanxi|City|1 +508|Luanda|http://dbpedia.org/resource/Luanda|City|2 +509|Vienna|http://dbpedia.org/resource/Vienna|City|3 +510|Baku|http://dbpedia.org/resource/Baku|City|4 +511|Carmen_Pampa|http://dbpedia.org/resource/Carmen_Pampa|City|5 +512|Sarajevo|http://dbpedia.org/resource/Sarajevo|City|6 +513|Sofia|http://dbpedia.org/resource/Sofia|City|7 +514|ChadCity|http://dbpedia.org/resource/ChadCity|City|8 +515|Zagreb|http://dbpedia.org/resource/Zagreb|City|9 +516|Copenhagen|http://dbpedia.org/resource/Copenhagen|City|10 +517|Santo_Domingo|http://dbpedia.org/resource/Santo_Domingo|City|11 +518|San_Salvador|http://dbpedia.org/resource/San_Salvador|City|12 +519|Tallinn|http://dbpedia.org/resource/Tallinn|City|13 +520|Helsinki|http://dbpedia.org/resource/Helsinki|City|14 +521|Tegucigalpa|http://dbpedia.org/resource/Tegucigalpa|City|15 +522|Ma_Liu_Shui|http://dbpedia.org/resource/Ma_Liu_Shui|City|16 +523|Jerusalem|http://dbpedia.org/resource/Jerusalem|City|17 +524|Amman|http://dbpedia.org/resource/Amman|City|18 +525|Vientiane|http://dbpedia.org/resource/Vientiane|City|19 +526|Riga|http://dbpedia.org/resource/Riga|City|20 +527|Monrovia|http://dbpedia.org/resource/Monrovia|City|21 +528|Benghazi|http://dbpedia.org/resource/Benghazi|City|22 +529|Vilnius|http://dbpedia.org/resource/Vilnius|City|23 +530|San_Gwann|http://dbpedia.org/resource/San_Gwann|City|24 +531|Nouakchott|http://dbpedia.org/resource/Nouakchott|City|25 +532|Moka|http://dbpedia.org/resource/Moka|City|26 +533|Ulan_Bator|http://dbpedia.org/resource/Ulan_Bator|City|27 +534|Windhoek|http://dbpedia.org/resource/Windhoek|City|28 +535|Auckland|http://dbpedia.org/resource/Auckland|City|29 +536|Managua|http://dbpedia.org/resource/Managua|City|30 +537|Belfast|http://dbpedia.org/resource/Belfast|City|31 +538|Oslo|http://dbpedia.org/resource/Oslo|City|32 +539|Muscat|http://dbpedia.org/resource/Muscat|City|33 +540|Panama_City|http://dbpedia.org/resource/Panama_City|City|34 +541|Port_Moresby|http://dbpedia.org/resource/Port_Moresby|City|35 +542|Ponce|http://dbpedia.org/resource/Ponce|City|36 +543|Dublin|http://dbpedia.org/resource/Dublin|City|37 +544|Skopje|http://dbpedia.org/resource/Skopje|City|38 +545|Butare|http://dbpedia.org/resource/Butare|City|39 +546|Glasgow|http://dbpedia.org/resource/Glasgow|City|40 +547|SingaporeCity|http://dbpedia.org/resource/SingaporeCity|City|41 +548|Bratislava|http://dbpedia.org/resource/Bratislava|City|42 +549|Ljubljana|http://dbpedia.org/resource/Ljubljana|City|43 +550|Kwaluseni|http://dbpedia.org/resource/Kwaluseni|City|44 +551|Geneva|http://dbpedia.org/resource/Geneva|City|45 +552|Dushanbe|http://dbpedia.org/resource/Dushanbe|City|46 +553|Montevideo|http://dbpedia.org/resource/Montevideo|City|47 +554|Swansea|http://dbpedia.org/resource/Swansea|City|48 +555|Guanhães|http://dbpedia.org/resource/Guanhães|City|49 +556|Santos|http://dbpedia.org/resource/Santos|City|49 +557|São_Luís|http://dbpedia.org/resource/São_Luís|City|49 +558|Novo_Hamburgo|http://dbpedia.org/resource/Novo_Hamburgo|City|49 +559|Rio_de_Janeiro|http://dbpedia.org/resource/Rio_de_Janeiro|City|49 +560|Petrópolis|http://dbpedia.org/resource/Petrópolis|City|49 +561|Passos|http://dbpedia.org/resource/Passos|City|49 +562|Curitiba|http://dbpedia.org/resource/Curitiba|City|49 +563|Poços_de_Caldas|http://dbpedia.org/resource/Poços_de_Caldas|City|49 +564|Santa_Maria|http://dbpedia.org/resource/Santa_Maria|City|49 +565|Goiânia|http://dbpedia.org/resource/Goiânia|City|49 +566|Londrina|http://dbpedia.org/resource/Londrina|City|49 +567|Diamantina|http://dbpedia.org/resource/Diamantina|City|49 +568|Feira_de_Santana|http://dbpedia.org/resource/Feira_de_Santana|City|49 +569|João_Monlevade|http://dbpedia.org/resource/João_Monlevade|City|49 +570|Barbacena|http://dbpedia.org/resource/Barbacena|City|49 +571|Manaus|http://dbpedia.org/resource/Manaus|City|49 +572|Campinas|http://dbpedia.org/resource/Campinas|City|49 +573|São_Carlos|http://dbpedia.org/resource/São_Carlos|City|49 +574|Carangola|http://dbpedia.org/resource/Carangola|City|49 +575|Bagé|http://dbpedia.org/resource/Bagé|City|49 +576|Lorena|http://dbpedia.org/resource/Lorena|City|49 +577|Campos_dos_Goytacazes|http://dbpedia.org/resource/Campos_dos_Goytacazes|City|49 +578|Salvador|http://dbpedia.org/resource/Salvador|City|49 +579|Ribeirão_Preto|http://dbpedia.org/resource/Ribeirão_Preto|City|49 +580|Lavras|http://dbpedia.org/resource/Lavras|City|49 +581|Criciúma|http://dbpedia.org/resource/Criciúma|City|49 +582|São_Paulo|http://dbpedia.org/resource/São_Paulo|City|49 +583|Recife|http://dbpedia.org/resource/Recife|City|49 +584|Porto_Alegre|http://dbpedia.org/resource/Porto_Alegre|City|49 +585|Uberlândia|http://dbpedia.org/resource/Uberlândia|City|49 +586|Belo_Horizonte|http://dbpedia.org/resource/Belo_Horizonte|City|49 +587|Serro|http://dbpedia.org/resource/Serro|City|49 +588|Brasília|http://dbpedia.org/resource/Brasília|City|49 +589|Itajubá|http://dbpedia.org/resource/Itajubá|City|49 +590|Lagoa_da_Prata|http://dbpedia.org/resource/Lagoa_da_Prata|City|49 +591|Campo_Grande|http://dbpedia.org/resource/Campo_Grande|City|49 +592|Niterói|http://dbpedia.org/resource/Niterói|City|49 +593|Pelotas|http://dbpedia.org/resource/Pelotas|City|49 +594|Contagem|http://dbpedia.org/resource/Contagem|City|49 +595|Wernigerode|http://dbpedia.org/resource/Wernigerode|City|50 +596|Greifswald|http://dbpedia.org/resource/Greifswald|City|50 +597|Darmstadt|http://dbpedia.org/resource/Darmstadt|City|50 +598|Friedberg|http://dbpedia.org/resource/Friedberg|City|50 +599|Wedel|http://dbpedia.org/resource/Wedel|City|50 +600|Möckern|http://dbpedia.org/resource/Möckern|City|50 +601|Ingolstadt|http://dbpedia.org/resource/Ingolstadt|City|50 +602|Heidelberg|http://dbpedia.org/resource/Heidelberg|City|50 +603|Speyer|http://dbpedia.org/resource/Speyer|City|50 +604|Lörrach|http://dbpedia.org/resource/Lörrach|City|50 +605|Ludwigsburg|http://dbpedia.org/resource/Ludwigsburg|City|50 +606|Fulda|http://dbpedia.org/resource/Fulda|City|50 +607|Augsburg|http://dbpedia.org/resource/Augsburg|City|50 +608|Berlin|http://dbpedia.org/resource/Berlin|City|50 +609|Munich|http://dbpedia.org/resource/Munich|City|50 +610|Kempten|http://dbpedia.org/resource/Kempten|City|50 +611|Koblenz|http://dbpedia.org/resource/Koblenz|City|50 +612|Trier|http://dbpedia.org/resource/Trier|City|50 +613|Othmarschen|http://dbpedia.org/resource/Othmarschen|City|50 +614|Freiburg_im_Breisgau|http://dbpedia.org/resource/Freiburg_im_Breisgau|City|50 +615|Hamburg|http://dbpedia.org/resource/Hamburg|City|50 +616|Hanover|http://dbpedia.org/resource/Hanover|City|50 +617|Nuremberg|http://dbpedia.org/resource/Nuremberg|City|50 +618|Reutlingen|http://dbpedia.org/resource/Reutlingen|City|50 +619|Ilmenau|http://dbpedia.org/resource/Ilmenau|City|50 +620|Stuttgart|http://dbpedia.org/resource/Stuttgart|City|50 +621|Aachen|http://dbpedia.org/resource/Aachen|City|50 +622|Frankfurt|http://dbpedia.org/resource/Frankfurt|City|50 +623|Flensburg|http://dbpedia.org/resource/Flensburg|City|50 +624|Mannheim|http://dbpedia.org/resource/Mannheim|City|50 +625|Mainz|http://dbpedia.org/resource/Mainz|City|50 +626|Iserlohn|http://dbpedia.org/resource/Iserlohn|City|50 +627|Leipzig|http://dbpedia.org/resource/Leipzig|City|50 +628|Cologne|http://dbpedia.org/resource/Cologne|City|50 +629|Heilbronn|http://dbpedia.org/resource/Heilbronn|City|50 +630|Konstanz|http://dbpedia.org/resource/Konstanz|City|50 +631|Wiesbaden|http://dbpedia.org/resource/Wiesbaden|City|50 +632|Lübeck|http://dbpedia.org/resource/Lübeck|City|50 +633|Kassel|http://dbpedia.org/resource/Kassel|City|50 +634|Weimar|http://dbpedia.org/resource/Weimar|City|50 +635|Gorontalo|http://dbpedia.org/resource/Gorontalo|City|51 +636|West_Java|http://dbpedia.org/resource/West_Java|City|51 +637|Surabaya|http://dbpedia.org/resource/Surabaya|City|51 +638|Depok|http://dbpedia.org/resource/Depok|City|51 +639|Bandar_Lampung|http://dbpedia.org/resource/Bandar_Lampung|City|51 +640|Tangerang|http://dbpedia.org/resource/Tangerang|City|51 +641|Surakarta|http://dbpedia.org/resource/Surakarta|City|51 +642|Makassar|http://dbpedia.org/resource/Makassar|City|51 +643|Yogyakarta|http://dbpedia.org/resource/Yogyakarta|City|51 +644|Bangkalan|http://dbpedia.org/resource/Bangkalan|City|51 +645|Ciputat|http://dbpedia.org/resource/Ciputat|City|51 +646|Manokwari_Regency|http://dbpedia.org/resource/Manokwari_Regency|City|51 +647|Purwokerto|http://dbpedia.org/resource/Purwokerto|City|51 +648|Samarinda|http://dbpedia.org/resource/Samarinda|City|51 +649|Serang|http://dbpedia.org/resource/Serang|City|51 +650|Bali|http://dbpedia.org/resource/Bali|City|51 +651|Padang|http://dbpedia.org/resource/Padang|City|51 +652|Semarang|http://dbpedia.org/resource/Semarang|City|51 +653|Manado|http://dbpedia.org/resource/Manado|City|51 +654|Central_Jakarta|http://dbpedia.org/resource/Central_Jakarta|City|51 +655|Medan|http://dbpedia.org/resource/Medan|City|51 +656|Bengkulu|http://dbpedia.org/resource/Bengkulu|City|51 +657|Manokwari|http://dbpedia.org/resource/Manokwari|City|51 +658|Jakarta|http://dbpedia.org/resource/Jakarta|City|51 +659|Tarakan|http://dbpedia.org/resource/Tarakan|City|51 +660|Bandung|http://dbpedia.org/resource/Bandung|City|51 +661|Banda_Aceh|http://dbpedia.org/resource/Banda_Aceh|City|51 +662|Banjarmasin|http://dbpedia.org/resource/Banjarmasin|City|51 +663|Jambi_City|http://dbpedia.org/resource/Jambi_City|City|51 +664|Pontianak|http://dbpedia.org/resource/Pontianak|City|51 +665|Mataram|http://dbpedia.org/resource/Mataram|City|51 +666|Jimbaran|http://dbpedia.org/resource/Jimbaran|City|51 +667|Ambon|http://dbpedia.org/resource/Ambon|City|51 +668|Badung_Regency|http://dbpedia.org/resource/Badung_Regency|City|51 +669|Kupang|http://dbpedia.org/resource/Kupang|City|51 +670|Magelang|http://dbpedia.org/resource/Magelang|City|51 +671|West_Papua|http://dbpedia.org/resource/West_Papua|City|51 +672|South_Tangerang|http://dbpedia.org/resource/South_Tangerang|City|51 +673|Tegal_Regency|http://dbpedia.org/resource/Tegal_Regency|City|51 +674|Nagoya|http://dbpedia.org/resource/Nagoya|City|52 +675|Yokosuka|http://dbpedia.org/resource/Yokosuka|City|52 +676|Chiba|http://dbpedia.org/resource/Chiba|City|52 +677|Chiyoda|http://dbpedia.org/resource/Chiyoda|City|52 +678|Shibuya|http://dbpedia.org/resource/Shibuya|City|52 +679|Nara|http://dbpedia.org/resource/Nara|City|52 +680|Hachiōji|http://dbpedia.org/resource/Hachiōji|City|52 +681|Sagamihara|http://dbpedia.org/resource/Sagamihara|City|52 +682|Ichikawa|http://dbpedia.org/resource/Ichikawa|City|52 +683|Kyoto|http://dbpedia.org/resource/Kyoto|City|52 +684|Gifu|http://dbpedia.org/resource/Gifu|City|52 +685|Toyoake|http://dbpedia.org/resource/Toyoake|City|52 +686|Fujisawa|http://dbpedia.org/resource/Fujisawa|City|52 +687|Okazaki|http://dbpedia.org/resource/Okazaki|City|52 +688|Hirosaki|http://dbpedia.org/resource/Hirosaki|City|52 +689|Nagakute|http://dbpedia.org/resource/Nagakute|City|52 +690|Akita_City|http://dbpedia.org/resource/Akita_City|City|52 +691|Nagasaki|http://dbpedia.org/resource/Nagasaki|City|52 +692|Shimonoseki|http://dbpedia.org/resource/Shimonoseki|City|52 +693|Aomori|http://dbpedia.org/resource/Aomori|City|52 +694|Tokyo|http://dbpedia.org/resource/Tokyo|City|52 +695|Toyohashi|http://dbpedia.org/resource/Toyohashi|City|52 +696|Toyota|http://dbpedia.org/resource/Toyota|City|52 +697|Owariasahi|http://dbpedia.org/resource/Owariasahi|City|52 +698|Bunkyo|http://dbpedia.org/resource/Bunkyo|City|52 +699|Hamamatsu|http://dbpedia.org/resource/Hamamatsu|City|52 +700|Nisshin|http://dbpedia.org/resource/Nisshin|City|52 +701|Niigata|http://dbpedia.org/resource/Niigata|City|52 +702|Machida|http://dbpedia.org/resource/Machida|City|52 +703|Osaka|http://dbpedia.org/resource/Osaka|City|52 +704|Aichi_Prefecture|http://dbpedia.org/resource/Aichi_Prefecture|City|52 +705|Sapporo|http://dbpedia.org/resource/Sapporo|City|52 +706|Setagaya|http://dbpedia.org/resource/Setagaya|City|52 +707|Hachinohe|http://dbpedia.org/resource/Hachinohe|City|52 +708|Yokohama|http://dbpedia.org/resource/Yokohama|City|52 +709|Atsugi|http://dbpedia.org/resource/Atsugi|City|52 +710|Kobe|http://dbpedia.org/resource/Kobe|City|52 +711|Kagoshima|http://dbpedia.org/resource/Kagoshima|City|52 +712|Tokushima|http://dbpedia.org/resource/Tokushima|City|52 +713|Chikusa-ku|http://dbpedia.org/resource/Chikusa-ku|City|52 +714|Monterrey|http://dbpedia.org/resource/Monterrey|City|53 +715|Mexicali|http://dbpedia.org/resource/Mexicali|City|53 +716|Chihuahua|http://dbpedia.org/resource/Chihuahua|City|53 +717|Zacapoaxtla|http://dbpedia.org/resource/Zacapoaxtla|City|53 +718|Culiacán|http://dbpedia.org/resource/Culiacán|City|53 +719|San_Nicolás_de_los_Garza|http://dbpedia.org/resource/San_Nicolás_de_los_Garza|City|53 +720|Guadalajara|http://dbpedia.org/resource/Guadalajara|City|53 +721|Villahermosa|http://dbpedia.org/resource/Villahermosa|City|53 +722|Antón_Lizardo|http://dbpedia.org/resource/Antón_Lizardo|City|53 +723|Ciudad_Obregón|http://dbpedia.org/resource/Ciudad_Obregón|City|53 +724|Tlalpan|http://dbpedia.org/resource/Tlalpan|City|53 +725|Saltillo|http://dbpedia.org/resource/Saltillo|City|53 +726|San_Pedro_Garza_García|http://dbpedia.org/resource/San_Pedro_Garza_García|City|53 +727|Montemorelos|http://dbpedia.org/resource/Montemorelos|City|53 +728|Pedro_Escobedo|http://dbpedia.org/resource/Pedro_Escobedo|City|53 +729|Ensenada|http://dbpedia.org/resource/Ensenada|City|53 +730|Mexico_City|http://dbpedia.org/resource/Mexico_City|City|53 +731|Querétaro|http://dbpedia.org/resource/Querétaro|City|53 +732|Puebla|http://dbpedia.org/resource/Puebla|City|53 +733|Toluca|http://dbpedia.org/resource/Toluca|City|53 +734|Oaxaca|http://dbpedia.org/resource/Oaxaca|City|53 +735|Jiquilpan|http://dbpedia.org/resource/Jiquilpan|City|53 +736|Irapuato|http://dbpedia.org/resource/Irapuato|City|53 +737|Tlatelolco|http://dbpedia.org/resource/Tlatelolco|City|53 +738|Ixtlán_de_Juárez|http://dbpedia.org/resource/Ixtlán_de_Juárez|City|53 +739|Altamira|http://dbpedia.org/resource/Altamira|City|53 +740|Mérida|http://dbpedia.org/resource/Mérida|City|53 +741|Tijuana|http://dbpedia.org/resource/Tijuana|City|53 +742|Santa_Catarina|http://dbpedia.org/resource/Santa_Catarina|City|53 +743|Colima|http://dbpedia.org/resource/Colima|City|53 +744|Campeche|http://dbpedia.org/resource/Campeche|City|53 +745|San_Luis_Potosí|http://dbpedia.org/resource/San_Luis_Potosí|City|53 +746|Cancún|http://dbpedia.org/resource/Cancún|City|53 +747|Coyoacán|http://dbpedia.org/resource/Coyoacán|City|53 +748|Tepic|http://dbpedia.org/resource/Tepic|City|53 +749|Hermosillo|http://dbpedia.org/resource/Hermosillo|City|53 +750|Chapingo|http://dbpedia.org/resource/Chapingo|City|53 +751|Morelia|http://dbpedia.org/resource/Morelia|City|53 +752|Nuevo_Laredo|http://dbpedia.org/resource/Nuevo_Laredo|City|53 +753|Sukkur|http://dbpedia.org/resource/Sukkur|City|54 +754|Khuzdar|http://dbpedia.org/resource/Khuzdar|City|54 +755|Larkana_District|http://dbpedia.org/resource/Larkana_District|City|54 +756|Jhang|http://dbpedia.org/resource/Jhang|City|54 +757|Nawabshah|http://dbpedia.org/resource/Nawabshah|City|54 +758|Swat|http://dbpedia.org/resource/Swat|City|54 +759|http://maps.google.com/maps?ll=25.530889,69.017306&spn=0.01,0.01&t=m&q=25.530889,69.017306|http://dbpedia.org/resource/http://maps.google.com/maps?ll=25.530889,69.017306&spn=0.01,0.01&t=m&q=25.530889,69.017306|City|54 +760|Sialkot|http://dbpedia.org/resource/Sialkot|City|54 +761|Ahmedpur_Sial|http://dbpedia.org/resource/Ahmedpur_Sial|City|54 +762|Lahore|http://dbpedia.org/resource/Lahore|City|54 +763|Kahuta|http://dbpedia.org/resource/Kahuta|City|54 +764|Shorkot|http://dbpedia.org/resource/Shorkot|City|54 +765|Mirpur|http://dbpedia.org/resource/Mirpur|City|54 +766|Swabi|http://dbpedia.org/resource/Swabi|City|54 +767|Taxila|http://dbpedia.org/resource/Taxila|City|54 +768|Kharian|http://dbpedia.org/resource/Kharian|City|54 +769|Quetta|http://dbpedia.org/resource/Quetta|City|54 +770|Faisalabad|http://dbpedia.org/resource/Faisalabad|City|54 +771|Topi|http://dbpedia.org/resource/Topi|City|54 +772|Karachi|http://dbpedia.org/resource/Karachi|City|54 +773|Tando_Jam|http://dbpedia.org/resource/Tando_Jam|City|54 +774|Surat,India|http://dbpedia.org/resource/Surat,India|City|54 +775|New_Muslim_Town|http://dbpedia.org/resource/New_Muslim_Town|City|54 +776|Multan|http://dbpedia.org/resource/Multan|City|54 +777|Islamabad|http://dbpedia.org/resource/Islamabad|City|54 +778|Risalpur|http://dbpedia.org/resource/Risalpur|City|54 +779|Islamabad/Rawalpindi,Lahore|http://dbpedia.org/resource/Islamabad/Rawalpindi,Lahore|City|54 +780|Major_Cities|http://dbpedia.org/resource/Major_Cities|City|54 +781|Bahria_Town|http://dbpedia.org/resource/Bahria_Town|City|54 +782|Peshawar|http://dbpedia.org/resource/Peshawar|City|54 +783|Dera_Ismail_Khan|http://dbpedia.org/resource/Dera_Ismail_Khan|City|54 +784|Abbottabad|http://dbpedia.org/resource/Abbottabad|City|54 +785|Jamshoro|http://dbpedia.org/resource/Jamshoro|City|54 +786|Rawalpindi|http://dbpedia.org/resource/Rawalpindi|City|54 +787|Wah_Cantonment|http://dbpedia.org/resource/Wah_Cantonment|City|54 +788|Khyber_Pakhtunkhwa|http://dbpedia.org/resource/Khyber_Pakhtunkhwa|City|54 +789|Sahiwal_Division|http://dbpedia.org/resource/Sahiwal_Division|City|54 +790|Nilore|http://dbpedia.org/resource/Nilore|City|54 +791|Rahim_Yar_Khan|http://dbpedia.org/resource/Rahim_Yar_Khan|City|54 +792|Khairpur|http://dbpedia.org/resource/Khairpur|City|54 +793|Iloilo_City|http://dbpedia.org/resource/Iloilo_City|City|55 +794|Cabuyao|http://dbpedia.org/resource/Cabuyao|City|55 +795|Kalibo|http://dbpedia.org/resource/Kalibo|City|55 +796|Davao_City|http://dbpedia.org/resource/Davao_City|City|55 +797|Iligan|http://dbpedia.org/resource/Iligan|City|55 +798|Mandaluyong|http://dbpedia.org/resource/Mandaluyong|City|55 +799|Tuguegarao|http://dbpedia.org/resource/Tuguegarao|City|55 +800|Manila|http://dbpedia.org/resource/Manila|City|55 +801|Cebu_City|http://dbpedia.org/resource/Cebu_City|City|55 +802|Roxas|http://dbpedia.org/resource/Roxas|City|55 +803|Pasay|http://dbpedia.org/resource/Pasay|City|55 +804|Laoag|http://dbpedia.org/resource/Laoag|City|55 +805|Legazpi|http://dbpedia.org/resource/Legazpi|City|55 +806|Ermita|http://dbpedia.org/resource/Ermita|City|55 +807|Dumaguete|http://dbpedia.org/resource/Dumaguete|City|55 +808|Bacolod|http://dbpedia.org/resource/Bacolod|City|55 +809|Los_Baños|http://dbpedia.org/resource/Los_Baños|City|55 +810|Silang|http://dbpedia.org/resource/Silang|City|55 +811|Taguig|http://dbpedia.org/resource/Taguig|City|55 +812|Biñan|http://dbpedia.org/resource/Biñan|City|55 +813|Lipa|http://dbpedia.org/resource/Lipa|City|55 +814|Zamboanga_City|http://dbpedia.org/resource/Zamboanga_City|City|55 +815|Intramuros|http://dbpedia.org/resource/Intramuros|City|55 +816|Malate|http://dbpedia.org/resource/Malate|City|55 +817|Dagupan|http://dbpedia.org/resource/Dagupan|City|55 +818|Angeles|http://dbpedia.org/resource/Angeles|City|55 +819|Makati|http://dbpedia.org/resource/Makati|City|55 +820|Tacloban|http://dbpedia.org/resource/Tacloban|City|55 +821|Cagayan_de_Oro|http://dbpedia.org/resource/Cagayan_de_Oro|City|55 +822|Cavite_City|http://dbpedia.org/resource/Cavite_City|City|55 +823|Quezon_City|http://dbpedia.org/resource/Quezon_City|City|55 +824|Sampaloc|http://dbpedia.org/resource/Sampaloc|City|55 +825|Bislig|http://dbpedia.org/resource/Bislig|City|55 +826|Tagbilaran|http://dbpedia.org/resource/Tagbilaran|City|55 +827|Santa_Rosa|http://dbpedia.org/resource/Santa_Rosa|City|55 +828|San_Miguel|http://dbpedia.org/resource/San_Miguel|City|55 +829|Cabanatuan|http://dbpedia.org/resource/Cabanatuan|City|55 +830|Malolos|http://dbpedia.org/resource/Malolos|City|55 +831|Naga|http://dbpedia.org/resource/Naga|City|55 +832|Tula|http://dbpedia.org/resource/Tula|City|56 +833|Rostov|http://dbpedia.org/resource/Rostov|City|56 +834|Vladivostok|http://dbpedia.org/resource/Vladivostok|City|56 +835|Zhukovsky|http://dbpedia.org/resource/Zhukovsky|City|56 +836|Yekaterinburg|http://dbpedia.org/resource/Yekaterinburg|City|56 +837|Perm|http://dbpedia.org/resource/Perm|City|56 +838|Yaroslavl|http://dbpedia.org/resource/Yaroslavl|City|56 +839|Krasnodar|http://dbpedia.org/resource/Krasnodar|City|56 +840|Biysk|http://dbpedia.org/resource/Biysk|City|56 +841|Barnaul|http://dbpedia.org/resource/Barnaul|City|56 +842|Kursk|http://dbpedia.org/resource/Kursk|City|56 +843|Saransk|http://dbpedia.org/resource/Saransk|City|56 +844|Saint_Petersburg|http://dbpedia.org/resource/Saint_Petersburg|City|56 +845|Moscow|http://dbpedia.org/resource/Moscow|City|56 +846|Kemerovo_Oblast|http://dbpedia.org/resource/Kemerovo_Oblast|City|56 +847|Omsk|http://dbpedia.org/resource/Omsk|City|56 +848|Bishkek|http://dbpedia.org/resource/Bishkek|City|56 +849|Magnitogorsk|http://dbpedia.org/resource/Magnitogorsk|City|56 +850|Murmansk|http://dbpedia.org/resource/Murmansk|City|56 +851|Tomsk|http://dbpedia.org/resource/Tomsk|City|56 +852|Monino|http://dbpedia.org/resource/Monino|City|56 +853|Kazan|http://dbpedia.org/resource/Kazan|City|56 +854|Ulyanovsk|http://dbpedia.org/resource/Ulyanovsk|City|56 +855|Ivanovo_Oblast|http://dbpedia.org/resource/Ivanovo_Oblast|City|56 +856|Vologda|http://dbpedia.org/resource/Vologda|City|56 +857|Pereslavl-Zalessky|http://dbpedia.org/resource/Pereslavl-Zalessky|City|56 +858|Krasnoyarsk|http://dbpedia.org/resource/Krasnoyarsk|City|56 +859|Voronezh|http://dbpedia.org/resource/Voronezh|City|56 +860|Ulan-Ude|http://dbpedia.org/resource/Ulan-Ude|City|56 +861|Chita|http://dbpedia.org/resource/Chita|City|56 +862|Skolkovo|http://dbpedia.org/resource/Skolkovo|City|56 +863|Saratov|http://dbpedia.org/resource/Saratov|City|56 +864|Izhevsk|http://dbpedia.org/resource/Izhevsk|City|56 +865|Moscow_International_Business_Center|http://dbpedia.org/resource/Moscow_International_Business_Center|City|56 +866|Belgorod|http://dbpedia.org/resource/Belgorod|City|56 +867|Ufa|http://dbpedia.org/resource/Ufa|City|56 +868|Volgograd|http://dbpedia.org/resource/Volgograd|City|56 +869|Zaoksky|http://dbpedia.org/resource/Zaoksky|City|56 +870|Gorno-Altaysk|http://dbpedia.org/resource/Gorno-Altaysk|City|56 +871|Irkutsk|http://dbpedia.org/resource/Irkutsk|City|56 +872|New_Haven|http://dbpedia.org/resource/New_Haven|City|57 +873|Nashville|http://dbpedia.org/resource/Nashville|City|57 +874|San_Francisco|http://dbpedia.org/resource/San_Francisco|City|57 +875|Chicago|http://dbpedia.org/resource/Chicago|City|57 +876|Lubbock|http://dbpedia.org/resource/Lubbock|City|57 +877|New_York_City|http://dbpedia.org/resource/New_York_City|City|57 +878|Gainesville|http://dbpedia.org/resource/Gainesville|City|57 +879|Philadelphia|http://dbpedia.org/resource/Philadelphia|City|57 +880|Richmond|http://dbpedia.org/resource/Richmond|City|57 +881|New_York|http://dbpedia.org/resource/New_York|City|57 +882|Columbus|http://dbpedia.org/resource/Columbus|City|57 +883|Indianapolis|http://dbpedia.org/resource/Indianapolis|City|57 +884|Columbia|http://dbpedia.org/resource/Columbia|City|57 +885|Phoenix|http://dbpedia.org/resource/Phoenix|City|57 +886|Notre_Damena|http://dbpedia.org/resource/Notre_Damena|City|57 +887|Pittsburgh|http://dbpedia.org/resource/Pittsburgh|City|57 +888|Los_Angeles|http://dbpedia.org/resource/Los_Angeles|City|57 +889|Ann_Arbor|http://dbpedia.org/resource/Ann_Arbor|City|57 +890|San_Diego|http://dbpedia.org/resource/San_Diego|City|57 +891|Berkeley|http://dbpedia.org/resource/Berkeley|City|57 +892|Atlanta|http://dbpedia.org/resource/Atlanta|City|57 +893|Jacksonville|http://dbpedia.org/resource/Jacksonville|City|57 +894|Orlando|http://dbpedia.org/resource/Orlando|City|57 +895|San_Antonio|http://dbpedia.org/resource/San_Antonio|City|57 +896|Milwaukee|http://dbpedia.org/resource/Milwaukee|City|57 +897|Cincinnati|http://dbpedia.org/resource/Cincinnati|City|57 +898|Fayetteville|http://dbpedia.org/resource/Fayetteville|City|57 +899|Austin|http://dbpedia.org/resource/Austin|City|57 +900|Baltimore|http://dbpedia.org/resource/Baltimore|City|57 +901|Houston|http://dbpedia.org/resource/Houston|City|57 +902|Cambridge|http://dbpedia.org/resource/Cambridge|City|57 +903|Tallahassee|http://dbpedia.org/resource/Tallahassee|City|57 +904|Boston|http://dbpedia.org/resource/Boston|City|57 +905|Washington|http://dbpedia.org/resource/Washington|City|57 +906|Minneapolis|http://dbpedia.org/resource/Minneapolis|City|57 +907|New_Orleans|http://dbpedia.org/resource/New_Orleans|City|57 +908|Cleveland|http://dbpedia.org/resource/Cleveland|City|57 +909|St._Louis|http://dbpedia.org/resource/St._Louis|City|57 +910|Portland|http://dbpedia.org/resource/Portland|City|57 +911|Ithaca|http://dbpedia.org/resource/Ithaca|City|57 +912|Tuyên_Quang|http://dbpedia.org/resource/Tuyên_Quang|City|58 +913|Quảng_Ngãi|http://dbpedia.org/resource/Quảng_Ngãi|City|58 +914|Quy_Nhơn|http://dbpedia.org/resource/Quy_Nhơn|City|58 +915|Thái_Nguyên|http://dbpedia.org/resource/Thái_Nguyên|City|58 +916|Hanoi|http://dbpedia.org/resource/Hanoi|City|58 +917|Nha_Trang|http://dbpedia.org/resource/Nha_Trang|City|58 +918|Đông_Hà|http://dbpedia.org/resource/Đông_Hà|City|58 +919|Đồng_Hới|http://dbpedia.org/resource/Đồng_Hới|City|58 +920|Bắc_Giang|http://dbpedia.org/resource/Bắc_Giang|City|58 +921|Bến|http://dbpedia.org/resource/Bến|City|58 +922|Da_Nang|http://dbpedia.org/resource/Da_Nang|City|58 +923|Nghe_An_province|http://dbpedia.org/resource/Nghe_An_province|City|58 +924|Long_Xuyen|http://dbpedia.org/resource/Long_Xuyen|City|58 +925|Biên_Hòa|http://dbpedia.org/resource/Biên_Hòa|City|58 +926|Thái_Bình|http://dbpedia.org/resource/Thái_Bình|City|58 +927|Mỹ_Tho|http://dbpedia.org/resource/Mỹ_Tho|City|58 +928|Sơn_La|http://dbpedia.org/resource/Sơn_La|City|58 +929|Phan_Rang–Tháp_Chàm|http://dbpedia.org/resource/Phan_Rang–Tháp_Chàm|City|58 +930|Móng_Cái|http://dbpedia.org/resource/Móng_Cái|City|58 +931|Phan_Thiết|http://dbpedia.org/resource/Phan_Thiết|City|58 +932|Thanh_Hóa|http://dbpedia.org/resource/Thanh_Hóa|City|58 +933|Điện_Biên_Phủ|http://dbpedia.org/resource/Điện_Biên_Phủ|City|58 +934|Trà_Vinh|http://dbpedia.org/resource/Trà_Vinh|City|58 +935|Phủ_Lý|http://dbpedia.org/resource/Phủ_Lý|City|58 +936|Tuy_Hòa|http://dbpedia.org/resource/Tuy_Hòa|City|58 +937|Hung_Yen_province|http://dbpedia.org/resource/Hung_Yen_province|City|58 +938|Tân_An|http://dbpedia.org/resource/Tân_An|City|58 +939|Sóc_Trăng|http://dbpedia.org/resource/Sóc_Trăng|City|58 +940|Cần_Thơ|http://dbpedia.org/resource/Cần_Thơ|City|58 +941|Huế|http://dbpedia.org/resource/Huế|City|58 +942|Tam_Kỳ|http://dbpedia.org/resource/Tam_Kỳ|City|58 +943|Gia_lam|http://dbpedia.org/resource/Gia_lam|City|58 +944|Rạch_Giá|http://dbpedia.org/resource/Rạch_Giá|City|58 +945|Cua_Lo|http://dbpedia.org/resource/Cua_Lo|City|58 +946|Bạc_Liêu|http://dbpedia.org/resource/Bạc_Liêu|City|58 +947|Ho_Chi_Minh_City|http://dbpedia.org/resource/Ho_Chi_Minh_City|City|58 +948|Bà_Rịa|http://dbpedia.org/resource/Bà_Rịa|City|58 +949|Đà_Lạt|http://dbpedia.org/resource/Đà_Lạt|City|58 +950|Pleiku|http://dbpedia.org/resource/Pleiku|City|58 +951|Puli_Khumri|http://dbpedia.org/resource/Puli_Khumri|City|59 +952|Lashkar_Gah|http://dbpedia.org/resource/Lashkar_Gah|City|59 +953|Jalalabad|http://dbpedia.org/resource/Jalalabad|City|59 +954|Asadabad|http://dbpedia.org/resource/Asadabad|City|59 +955|Kabul|http://dbpedia.org/resource/Kabul|City|59 +956|Kandahar|http://dbpedia.org/resource/Kandahar|City|59 +957|Gardēz|http://dbpedia.org/resource/Gardēz|City|59 +958|Herat|http://dbpedia.org/resource/Herat|City|59 +959|Khost|http://dbpedia.org/resource/Khost|City|59 +960|Algiers|http://dbpedia.org/resource/Algiers|City|60 +961|Batna|http://dbpedia.org/resource/Batna|City|60 +962|Tiaret|http://dbpedia.org/resource/Tiaret|City|60 +963|El_Harrach|http://dbpedia.org/resource/El_Harrach|City|60 +964|Guelma|http://dbpedia.org/resource/Guelma|City|60 +965|Bab_Ezzouar|http://dbpedia.org/resource/Bab_Ezzouar|City|60 +966|Chief|http://dbpedia.org/resource/Chief|City|60 +967|Annaba|http://dbpedia.org/resource/Annaba|City|60 +968|El_Oued|http://dbpedia.org/resource/El_Oued|City|60 +969|Oran|http://dbpedia.org/resource/Oran|City|60 +970|Córdoba|http://dbpedia.org/resource/Córdoba|City|61 +971|Mendoza|http://dbpedia.org/resource/Mendoza|City|61 +972|Buenos_Aires|http://dbpedia.org/resource/Buenos_Aires|City|61 +973|Various|http://dbpedia.org/resource/Various|City|61 +974|Posadas|http://dbpedia.org/resource/Posadas|City|61 +975|San_Martín|http://dbpedia.org/resource/San_Martín|City|61 +976|Corrientes|http://dbpedia.org/resource/Corrientes|City|61 +977|Presidencia_Roque_Sáenz_Peña|http://dbpedia.org/resource/Presidencia_Roque_Sáenz_Peña|City|61 +978|Rosario|http://dbpedia.org/resource/Rosario|City|61 +979|San_Miguel_de_Tucumán|http://dbpedia.org/resource/San_Miguel_de_Tucumán|City|61 +980|Geelong|http://dbpedia.org/resource/Geelong|City|62 +981|Sydney|http://dbpedia.org/resource/Sydney|City|62 +982|Canberra|http://dbpedia.org/resource/Canberra|City|62 +983|Brisbane|http://dbpedia.org/resource/Brisbane|City|62 +984|Melbourne|http://dbpedia.org/resource/Melbourne|City|62 +985|Perth|http://dbpedia.org/resource/Perth|City|62 +986|Darlington|http://dbpedia.org/resource/Darlington|City|62 +987|Camperdown|http://dbpedia.org/resource/Camperdown|City|62 +988|Parkville|http://dbpedia.org/resource/Parkville|City|62 +989|Adelaide|http://dbpedia.org/resource/Adelaide|City|62 +990|Vitebsk|http://dbpedia.org/resource/Vitebsk|City|63 +991|Baranovichi|http://dbpedia.org/resource/Baranovichi|City|63 +992|Bobruysk|http://dbpedia.org/resource/Bobruysk|City|63 +993|Mogilev|http://dbpedia.org/resource/Mogilev|City|63 +994|Gomel|http://dbpedia.org/resource/Gomel|City|63 +995|Borisov|http://dbpedia.org/resource/Borisov|City|63 +996|Minsk|http://dbpedia.org/resource/Minsk|City|63 +997|Brest|http://dbpedia.org/resource/Brest|City|63 +998|Grodno|http://dbpedia.org/resource/Grodno|City|63 +999|Barysaw|http://dbpedia.org/resource/Barysaw|City|63 +1000|Liège|http://dbpedia.org/resource/Liège|City|64 +1001|Leuven|http://dbpedia.org/resource/Leuven|City|64 +1002|Paris|http://dbpedia.org/resource/Paris|City|64 +1003|Tonbridge|http://dbpedia.org/resource/Tonbridge|City|64 +1004|Antwerp|http://dbpedia.org/resource/Antwerp|City|64 +1005|Ottignies-Louvain-la-Neuve|http://dbpedia.org/resource/Ottignies-Louvain-la-Neuve|City|64 +1006|Canterbury|http://dbpedia.org/resource/Canterbury|City|64 +1007|Medway|http://dbpedia.org/resource/Medway|City|64 +1008|Ghent|http://dbpedia.org/resource/Ghent|City|64 +1009|Brussels|http://dbpedia.org/resource/Brussels|City|64 +1010|Taungoo_Township|http://dbpedia.org/resource/Taungoo_Township|City|65 +1011|Sittwe_District|http://dbpedia.org/resource/Sittwe_District|City|65 +1012|Lanmadaw_Township|http://dbpedia.org/resource/Lanmadaw_Township|City|65 +1013|Mayangone|http://dbpedia.org/resource/Mayangone|City|65 +1014|Insein_Township|http://dbpedia.org/resource/Insein_Township|City|65 +1015|Taungoo|http://dbpedia.org/resource/Taungoo|City|65 +1016|Yangon|http://dbpedia.org/resource/Yangon|City|65 +1017|Loikaw|http://dbpedia.org/resource/Loikaw|City|65 +1018|Pyin_U_Lwin|http://dbpedia.org/resource/Pyin_U_Lwin|City|65 +1019|Meiktila|http://dbpedia.org/resource/Meiktila|City|65 +1020|Toronto|http://dbpedia.org/resource/Toronto|City|66 +1021|Fredericton|http://dbpedia.org/resource/Fredericton|City|66 +1022|Edmonton|http://dbpedia.org/resource/Edmonton|City|66 +1023|Ottawa|http://dbpedia.org/resource/Ottawa|City|66 +1024|London|http://dbpedia.org/resource/London|City|66 +1025|Winnipeg|http://dbpedia.org/resource/Winnipeg|City|66 +1026|Hamilton|http://dbpedia.org/resource/Hamilton|City|66 +1027|Saskatoon|http://dbpedia.org/resource/Saskatoon|City|66 +1028|Vancouver|http://dbpedia.org/resource/Vancouver|City|66 +1029|Montreal|http://dbpedia.org/resource/Montreal|City|66 +1030|Kampong_Cham|http://dbpedia.org/resource/Kampong_Cham|City|67 +1031|Siem_Reap|http://dbpedia.org/resource/Siem_Reap|City|67 +1032|Kampong_Speu|http://dbpedia.org/resource/Kampong_Speu|City|67 +1033|Ta_Khmau|http://dbpedia.org/resource/Ta_Khmau|City|67 +1034|Pray_Veng|http://dbpedia.org/resource/Pray_Veng|City|67 +1035|Battambang|http://dbpedia.org/resource/Battambang|City|67 +1036|Borey_Seang_Nam|http://dbpedia.org/resource/Borey_Seang_Nam|City|67 +1037|Phnom_Penh|http://dbpedia.org/resource/Phnom_Penh|City|67 +1038|Sihanoukville|http://dbpedia.org/resource/Sihanoukville|City|67 +1039|Pursat|http://dbpedia.org/resource/Pursat|City|67 +1040|Mokolo|http://dbpedia.org/resource/Mokolo|City|68 +1041|Baffoussam|http://dbpedia.org/resource/Baffoussam|City|68 +1042|Garoua|http://dbpedia.org/resource/Garoua|City|68 +1043|Bangangté|http://dbpedia.org/resource/Bangangté|City|68 +1044|Maroua|http://dbpedia.org/resource/Maroua|City|68 +1045|Buea|http://dbpedia.org/resource/Buea|City|68 +1046|Kumba|http://dbpedia.org/resource/Kumba|City|68 +1047|Yaoundé|http://dbpedia.org/resource/Yaoundé|City|68 +1048|Bamenda|http://dbpedia.org/resource/Bamenda|City|68 +1049|Douala|http://dbpedia.org/resource/Douala|City|68 +1050|Valdivia|http://dbpedia.org/resource/Valdivia|City|69 +1051|Santiago|http://dbpedia.org/resource/Santiago|City|69 +1052|Antofagasta|http://dbpedia.org/resource/Antofagasta|City|69 +1053|Iquique|http://dbpedia.org/resource/Iquique|City|69 +1054|Valparaíso|http://dbpedia.org/resource/Valparaíso|City|69 +1055|Temuco|http://dbpedia.org/resource/Temuco|City|69 +1056|Viña_del_Mar|http://dbpedia.org/resource/Viña_del_Mar|City|69 +1057|Puerto_Montt|http://dbpedia.org/resource/Puerto_Montt|City|69 +1058|Osorno|http://dbpedia.org/resource/Osorno|City|69 +1059|Concepción|http://dbpedia.org/resource/Concepción|City|69 +1060|Bogotá|http://dbpedia.org/resource/Bogotá|City|70 +1061|Cartagena|http://dbpedia.org/resource/Cartagena|City|70 +1062|Pamplona|http://dbpedia.org/resource/Pamplona|City|70 +1063|Manizales|http://dbpedia.org/resource/Manizales|City|70 +1064|Armenia|http://dbpedia.org/resource/Armenia|City|70 +1065|Bucaramanga|http://dbpedia.org/resource/Bucaramanga|City|70 +1066|Cali|http://dbpedia.org/resource/Cali|City|70 +1067|Barranquilla|http://dbpedia.org/resource/Barranquilla|City|70 +1068|Tunja|http://dbpedia.org/resource/Tunja|City|70 +1069|Medellín|http://dbpedia.org/resource/Medellín|City|70 +1070|Havana|http://dbpedia.org/resource/Havana|City|71 +1071|Marianao|http://dbpedia.org/resource/Marianao|City|71 +1072|Santiago_de_Cuba|http://dbpedia.org/resource/Santiago_de_Cuba|City|71 +1073|Jagüey_Grande|http://dbpedia.org/resource/Jagüey_Grande|City|71 +1074|Cienfuegos|http://dbpedia.org/resource/Cienfuegos|City|71 +1075|Matanzas|http://dbpedia.org/resource/Matanzas|City|71 +1076|Pinar_del_Río|http://dbpedia.org/resource/Pinar_del_Río|City|71 +1077|Ciego_de_Ávila|http://dbpedia.org/resource/Ciego_de_Ávila|City|71 +1078|Santa_Clara|http://dbpedia.org/resource/Santa_Clara|City|71 +1079|Camagüey|http://dbpedia.org/resource/Camagüey|City|71 +1080|Ostrava|http://dbpedia.org/resource/Ostrava|City|72 +1081|Liberec|http://dbpedia.org/resource/Liberec|City|72 +1082|Prague|http://dbpedia.org/resource/Prague|City|72 +1083|Mladá_Boleslav|http://dbpedia.org/resource/Mladá_Boleslav|City|72 +1084|České_Budějovice|http://dbpedia.org/resource/České_Budějovice|City|72 +1085|Ústí_nad_Labem|http://dbpedia.org/resource/Ústí_nad_Labem|City|72 +1086|Hradec_Králové|http://dbpedia.org/resource/Hradec_Králové|City|72 +1087|Brno|http://dbpedia.org/resource/Brno|City|72 +1088|Moravia|http://dbpedia.org/resource/Moravia|City|72 +1089|Olomouc|http://dbpedia.org/resource/Olomouc|City|72 +1090|Kinshasa|http://dbpedia.org/resource/Kinshasa|City|73 +1091|Bandundu|http://dbpedia.org/resource/Bandundu|City|73 +1092|Baraka|http://dbpedia.org/resource/Baraka|City|73 +1093|Boma|http://dbpedia.org/resource/Boma|City|73 +1094|Bukavu|http://dbpedia.org/resource/Bukavu|City|73 +1095|Goma|http://dbpedia.org/resource/Goma|City|73 +1096|Kisangani|http://dbpedia.org/resource/Kisangani|City|73 +1097|Kananga|http://dbpedia.org/resource/Kananga|City|73 +1098|Lubumbashi|http://dbpedia.org/resource/Lubumbashi|City|73 +1099|Bas-Congo|http://dbpedia.org/resource/Bas-Congo|City|73 +1100|Alexandria|http://dbpedia.org/resource/Alexandria|City|74 +1101|Monufia_Governorate|http://dbpedia.org/resource/Monufia_Governorate|City|74 +1102|Cairo|http://dbpedia.org/resource/Cairo|City|74 +1103|Beni_Suef|http://dbpedia.org/resource/Beni_Suef|City|74 +1104|Giza|http://dbpedia.org/resource/Giza|City|74 +1105|El_Shorouk|http://dbpedia.org/resource/El_Shorouk|City|74 +1106|New_Cairo|http://dbpedia.org/resource/New_Cairo|City|74 +1107|Ramadan_City|http://dbpedia.org/resource/Ramadan_City|City|74 +1108|Bilbeis|http://dbpedia.org/resource/Bilbeis|City|74 +1109|Sohag|http://dbpedia.org/resource/Sohag|City|74 +1110|Southampton|http://dbpedia.org/resource/Southampton|City|75 +1111|Manchester|http://dbpedia.org/resource/Manchester|City|75 +1112|Leicester|http://dbpedia.org/resource/Leicester|City|75 +1113|Newcastle_upon_Tyne|http://dbpedia.org/resource/Newcastle_upon_Tyne|City|75 +1114|Durham|http://dbpedia.org/resource/Durham|City|75 +1115|Birmingham|http://dbpedia.org/resource/Birmingham|City|75 +1116|York|http://dbpedia.org/resource/York|City|75 +1117|Sheffield|http://dbpedia.org/resource/Sheffield|City|75 +1118|Leeds|http://dbpedia.org/resource/Leeds|City|75 +1119|Dire_Dawa|http://dbpedia.org/resource/Dire_Dawa|City|76 +1120|Debre_Marqos|http://dbpedia.org/resource/Debre_Marqos|City|76 +1121|Nekemte|http://dbpedia.org/resource/Nekemte|City|76 +1122|Awasa|http://dbpedia.org/resource/Awasa|City|76 +1123|Mek'ele|http://dbpedia.org/resource/Mek'ele|City|76 +1124|Bahir_Dar|http://dbpedia.org/resource/Bahir_Dar|City|76 +1125|Addis_Ababa|http://dbpedia.org/resource/Addis_Ababa|City|76 +1126|Mettu|http://dbpedia.org/resource/Mettu|City|76 +1127|Adama|http://dbpedia.org/resource/Adama|City|76 +1128|Jimma|http://dbpedia.org/resource/Jimma|City|76 +1129|Lyon|http://dbpedia.org/resource/Lyon|City|77 +1130|Toulouse|http://dbpedia.org/resource/Toulouse|City|77 +1131|Montpellier|http://dbpedia.org/resource/Montpellier|City|77 +1132|Lille|http://dbpedia.org/resource/Lille|City|77 +1133|Aix-en-Provence|http://dbpedia.org/resource/Aix-en-Provence|City|77 +1134|Évry|http://dbpedia.org/resource/Évry|City|77 +1135|Nancy|http://dbpedia.org/resource/Nancy|City|77 +1136|Grenoble|http://dbpedia.org/resource/Grenoble|City|77 +1137|Nantes|http://dbpedia.org/resource/Nantes|City|77 +1138|Thessaloniki|http://dbpedia.org/resource/Thessaloniki|City|78 +1139|Kozani|http://dbpedia.org/resource/Kozani|City|78 +1140|Patras|http://dbpedia.org/resource/Patras|City|78 +1141|Kalamata|http://dbpedia.org/resource/Kalamata|City|78 +1142|Athens|http://dbpedia.org/resource/Athens|City|78 +1143|Trikala|http://dbpedia.org/resource/Trikala|City|78 +1144|Crete|http://dbpedia.org/resource/Crete|City|78 +1145|Karditsa|http://dbpedia.org/resource/Karditsa|City|78 +1146|Piraeus|http://dbpedia.org/resource/Piraeus|City|78 +1147|Larissa|http://dbpedia.org/resource/Larissa|City|78 +1148|Győr|http://dbpedia.org/resource/Győr|City|79 +1149|Budapest|http://dbpedia.org/resource/Budapest|City|79 +1150|Szeged|http://dbpedia.org/resource/Szeged|City|79 +1151|Esztergom|http://dbpedia.org/resource/Esztergom|City|79 +1152|Salgótarján|http://dbpedia.org/resource/Salgótarján|City|79 +1153|Zalaegerszeg|http://dbpedia.org/resource/Zalaegerszeg|City|79 +1154|Visonta|http://dbpedia.org/resource/Visonta|City|79 +1155|Debrecen|http://dbpedia.org/resource/Debrecen|City|79 +1156|Veszprém|http://dbpedia.org/resource/Veszprém|City|79 +1157|Piliscsaba|http://dbpedia.org/resource/Piliscsaba|City|79 +1158|Shiraz|http://dbpedia.org/resource/Shiraz|City|80 +1159|Shahrekord|http://dbpedia.org/resource/Shahrekord|City|80 +1160|Babol|http://dbpedia.org/resource/Babol|City|80 +1161|Mashhad|http://dbpedia.org/resource/Mashhad|City|80 +1162|Zanjan|http://dbpedia.org/resource/Zanjan|City|80 +1163|Qazvin|http://dbpedia.org/resource/Qazvin|City|80 +1164|Tabriz|http://dbpedia.org/resource/Tabriz|City|80 +1165|Isfahan|http://dbpedia.org/resource/Isfahan|City|80 +1166|Tehran|http://dbpedia.org/resource/Tehran|City|80 +1167|Qom|http://dbpedia.org/resource/Qom|City|80 +1168|Venice|http://dbpedia.org/resource/Venice|City|81 +1169|Pisa|http://dbpedia.org/resource/Pisa|City|81 +1170|Naples|http://dbpedia.org/resource/Naples|City|81 +1171|Trieste|http://dbpedia.org/resource/Trieste|City|81 +1172|Milan|http://dbpedia.org/resource/Milan|City|81 +1173|Rome|http://dbpedia.org/resource/Rome|City|81 +1174|Pavia|http://dbpedia.org/resource/Pavia|City|81 +1175|Florence|http://dbpedia.org/resource/Florence|City|81 +1176|Turin|http://dbpedia.org/resource/Turin|City|81 +1177|Brescia|http://dbpedia.org/resource/Brescia|City|81 +1178|Astana|http://dbpedia.org/resource/Astana|City|82 +1179|Aktobe|http://dbpedia.org/resource/Aktobe|City|82 +1180|Karagandy|http://dbpedia.org/resource/Karagandy|City|82 +1181|Oskemen|http://dbpedia.org/resource/Oskemen|City|82 +1182|Pavlodar|http://dbpedia.org/resource/Pavlodar|City|82 +1183|Taraz|http://dbpedia.org/resource/Taraz|City|82 +1184|Semey|http://dbpedia.org/resource/Semey|City|82 +1185|Shymkent|http://dbpedia.org/resource/Shymkent|City|82 +1186|Almaty|http://dbpedia.org/resource/Almaty|City|82 +1187|Oral|http://dbpedia.org/resource/Oral|City|82 +1188|Machakos|http://dbpedia.org/resource/Machakos|City|83 +1189|Eldoret|http://dbpedia.org/resource/Eldoret|City|83 +1190|Kikuyu|http://dbpedia.org/resource/Kikuyu|City|83 +1191|Kitengela|http://dbpedia.org/resource/Kitengela|City|83 +1192|Nakuru|http://dbpedia.org/resource/Nakuru|City|83 +1193|Kitale|http://dbpedia.org/resource/Kitale|City|83 +1194|Thika|http://dbpedia.org/resource/Thika|City|83 +1195|Nairobi|http://dbpedia.org/resource/Nairobi|City|83 +1196|Nyeri|http://dbpedia.org/resource/Nyeri|City|83 +1197|Ambovombe|http://dbpedia.org/resource/Ambovombe|City|84 +1198|Amparafaravola|http://dbpedia.org/resource/Amparafaravola|City|84 +1199|Mahajanga|http://dbpedia.org/resource/Mahajanga|City|84 +1200|Antsirabe|http://dbpedia.org/resource/Antsirabe|City|84 +1201|Antananarivo|http://dbpedia.org/resource/Antananarivo|City|84 +1202|Toamasina|http://dbpedia.org/resource/Toamasina|City|84 +1203|Fianarantosa|http://dbpedia.org/resource/Fianarantosa|City|84 +1204|Antanifotsy|http://dbpedia.org/resource/Antanifotsy|City|84 +1205|Toliara|http://dbpedia.org/resource/Toliara|City|84 +1206|Antsiranana|http://dbpedia.org/resource/Antsiranana|City|84 +1207|Cyberjaya|http://dbpedia.org/resource/Cyberjaya|City|85 +1208|Kuching|http://dbpedia.org/resource/Kuching|City|85 +1209|Nilai|http://dbpedia.org/resource/Nilai|City|85 +1210|George_Town|http://dbpedia.org/resource/George_Town|City|85 +1211|Penang|http://dbpedia.org/resource/Penang|City|85 +1212|Selangor|http://dbpedia.org/resource/Selangor|City|85 +1213|Wilayah_Persekutuan_Kuala_Lumpur|http://dbpedia.org/resource/Wilayah_Persekutuan_Kuala_Lumpur|City|85 +1214|Kuala_Lumpur|http://dbpedia.org/resource/Kuala_Lumpur|City|85 +1215|Terengganu|http://dbpedia.org/resource/Terengganu|City|85 +1216|Shah_Alam|http://dbpedia.org/resource/Shah_Alam|City|85 +1217|Codru|http://dbpedia.org/resource/Codru|City|86 +1218|Ungheni|http://dbpedia.org/resource/Ungheni|City|86 +1219|Orhei|http://dbpedia.org/resource/Orhei|City|86 +1220|Comrat|http://dbpedia.org/resource/Comrat|City|86 +1221|Cahul|http://dbpedia.org/resource/Cahul|City|86 +1222|Tiraspol|http://dbpedia.org/resource/Tiraspol|City|86 +1223|Chişinău|http://dbpedia.org/resource/Chişinău|City|86 +1224|Balti|http://dbpedia.org/resource/Balti|City|86 +1225|Bender|http://dbpedia.org/resource/Bender|City|86 +1226|Soroca|http://dbpedia.org/resource/Soroca|City|86 +1227|Oujda|http://dbpedia.org/resource/Oujda|City|87 +1228|Casablanca|http://dbpedia.org/resource/Casablanca|City|87 +1229|Marrakech|http://dbpedia.org/resource/Marrakech|City|87 +1230|Rabat|http://dbpedia.org/resource/Rabat|City|87 +1231|Sale|http://dbpedia.org/resource/Sale|City|87 +1232|Ifrane|http://dbpedia.org/resource/Ifrane|City|87 +1233|Agadir|http://dbpedia.org/resource/Agadir|City|87 +1234|Fes|http://dbpedia.org/resource/Fes|City|87 +1235|Meknes|http://dbpedia.org/resource/Meknes|City|87 +1236|Tangier-Tetouan|http://dbpedia.org/resource/Tangier-Tetouan|City|87 +1237|Nala|http://dbpedia.org/resource/Nala|City|88 +1238|Kirtipur|http://dbpedia.org/resource/Kirtipur|City|88 +1239|Balkumari|http://dbpedia.org/resource/Balkumari|City|88 +1240|Lumbini|http://dbpedia.org/resource/Lumbini|City|88 +1241|Pokhara|http://dbpedia.org/resource/Pokhara|City|88 +1242|Dharan|http://dbpedia.org/resource/Dharan|City|88 +1243|Gwarko|http://dbpedia.org/resource/Gwarko|City|88 +1244|Lalitpur|http://dbpedia.org/resource/Lalitpur|City|88 +1245|Kathmandu|http://dbpedia.org/resource/Kathmandu|City|88 +1246|Rajbiraj|http://dbpedia.org/resource/Rajbiraj|City|88 +1247|Groningen|http://dbpedia.org/resource/Groningen|City|89 +1248|The_Hague|http://dbpedia.org/resource/The_Hague|City|89 +1249|Heerlen|http://dbpedia.org/resource/Heerlen|City|89 +1250|Leiden|http://dbpedia.org/resource/Leiden|City|89 +1251|Maastricht|http://dbpedia.org/resource/Maastricht|City|89 +1252|Eindhoven|http://dbpedia.org/resource/Eindhoven|City|89 +1253|Utrecht|http://dbpedia.org/resource/Utrecht|City|89 +1254|Amsterdam|http://dbpedia.org/resource/Amsterdam|City|89 +1255|Tilburg|http://dbpedia.org/resource/Tilburg|City|89 +1256|Rotterdam|http://dbpedia.org/resource/Rotterdam|City|89 +1257|Tessaoua|http://dbpedia.org/resource/Tessaoua|City|90 +1258|Arlit|http://dbpedia.org/resource/Arlit|City|90 +1259|Abidjan|http://dbpedia.org/resource/Abidjan|City|90 +1260|Niamey|http://dbpedia.org/resource/Niamey|City|90 +1261|Zinder|http://dbpedia.org/resource/Zinder|City|90 +1262|Tahoua|http://dbpedia.org/resource/Tahoua|City|90 +1263|Birni_Nkonni|http://dbpedia.org/resource/Birni_Nkonni|City|90 +1264|Agadez|http://dbpedia.org/resource/Agadez|City|90 +1265|Maradi|http://dbpedia.org/resource/Maradi|City|90 +1266|Dosso|http://dbpedia.org/resource/Dosso|City|90 +1267|Trujillo|http://dbpedia.org/resource/Trujillo|City|91 +1268|Distrito_de_Bellavista|http://dbpedia.org/resource/Distrito_de_Bellavista|City|91 +1269|Chorrillos_District|http://dbpedia.org/resource/Chorrillos_District|City|91 +1270|Arequipa|http://dbpedia.org/resource/Arequipa|City|91 +1271|Jesús_María|http://dbpedia.org/resource/Jesús_María|City|91 +1272|Chosica,Lima|http://dbpedia.org/resource/Chosica,Lima|City|91 +1273|Huancayo|http://dbpedia.org/resource/Huancayo|City|91 +1274|Callao|http://dbpedia.org/resource/Callao|City|91 +1275|Lima|http://dbpedia.org/resource/Lima|City|91 +1276|La_Punta|http://dbpedia.org/resource/La_Punta|City|91 +1277|Gdańsk|http://dbpedia.org/resource/Gdańsk|City|92 +1278|Szczecin|http://dbpedia.org/resource/Szczecin|City|92 +1279|Wrocław|http://dbpedia.org/resource/Wrocław|City|92 +1280|Radom|http://dbpedia.org/resource/Radom|City|92 +1281|Łódź|http://dbpedia.org/resource/Łódź|City|92 +1282|Katowice|http://dbpedia.org/resource/Katowice|City|92 +1283|Lublin|http://dbpedia.org/resource/Lublin|City|92 +1284|Kraków|http://dbpedia.org/resource/Kraków|City|92 +1285|Poznań|http://dbpedia.org/resource/Poznań|City|92 +1286|Warsaw|http://dbpedia.org/resource/Warsaw|City|92 +1287|Porto|http://dbpedia.org/resource/Porto|City|93 +1288|Steenokkerzeel|http://dbpedia.org/resource/Steenokkerzeel|City|93 +1289|Faro|http://dbpedia.org/resource/Faro|City|93 +1290|Almada|http://dbpedia.org/resource/Almada|City|93 +1291|Braga|http://dbpedia.org/resource/Braga|City|93 +1292|Coimbra|http://dbpedia.org/resource/Coimbra|City|93 +1293|Lisbon|http://dbpedia.org/resource/Lisbon|City|93 +1294|Évora|http://dbpedia.org/resource/Évora|City|93 +1295|Mesa|http://dbpedia.org/resource/Mesa|City|93 +1296|Funchal|http://dbpedia.org/resource/Funchal|City|93 +1297|Taichung|http://dbpedia.org/resource/Taichung|City|94 +1298|Yongkang_District|http://dbpedia.org/resource/Yongkang_District|City|94 +1299|Zhongli|http://dbpedia.org/resource/Zhongli|City|94 +1300|Yunlin_County|http://dbpedia.org/resource/Yunlin_County|City|94 +1301|Hsinchu|http://dbpedia.org/resource/Hsinchu|City|94 +1302|Kaohsiung|http://dbpedia.org/resource/Kaohsiung|City|94 +1303|Taipei|http://dbpedia.org/resource/Taipei|City|94 +1304|Tainan|http://dbpedia.org/resource/Tainan|City|94 +1305|Bucharest|http://dbpedia.org/resource/Bucharest|City|95 +1306|Cluj-Napoca|http://dbpedia.org/resource/Cluj-Napoca|City|95 +1307|Constanța|http://dbpedia.org/resource/Constanța|City|95 +1308|Iași|http://dbpedia.org/resource/Iași|City|95 +1309|Galați|http://dbpedia.org/resource/Galați|City|95 +1310|Brașov|http://dbpedia.org/resource/Brașov|City|95 +1311|Arad|http://dbpedia.org/resource/Arad|City|95 +1312|Oradea|http://dbpedia.org/resource/Oradea|City|95 +1313|Târgoviște|http://dbpedia.org/resource/Târgoviște|City|95 +1314|Timișoara|http://dbpedia.org/resource/Timișoara|City|95 +1315|Kolda|http://dbpedia.org/resource/Kolda|City|96 +1316|Saint-Louis|http://dbpedia.org/resource/Saint-Louis|City|96 +1317|Thies|http://dbpedia.org/resource/Thies|City|96 +1318|Louga|http://dbpedia.org/resource/Louga|City|96 +1319|Touba|http://dbpedia.org/resource/Touba|City|96 +1320|Dakar|http://dbpedia.org/resource/Dakar|City|96 +1321|Diourbel|http://dbpedia.org/resource/Diourbel|City|96 +1322|Tambacounda|http://dbpedia.org/resource/Tambacounda|City|96 +1323|Rufisque|http://dbpedia.org/resource/Rufisque|City|96 +1324|Cape_Town|http://dbpedia.org/resource/Cape_Town|City|97 +1325|Durban|http://dbpedia.org/resource/Durban|City|97 +1326|Bloemfontein|http://dbpedia.org/resource/Bloemfontein|City|97 +1327|Saldanha|http://dbpedia.org/resource/Saldanha|City|97 +1328|eMalahleni|http://dbpedia.org/resource/eMalahleni|City|97 +1329|Mthatha|http://dbpedia.org/resource/Mthatha|City|97 +1330|Johannesburg|http://dbpedia.org/resource/Johannesburg|City|97 +1331|Bellville|http://dbpedia.org/resource/Bellville|City|97 +1332|Pretoria|http://dbpedia.org/resource/Pretoria|City|97 +1333|Seoul|http://dbpedia.org/resource/Seoul|City|98 +1334|Seongbuk-gu|http://dbpedia.org/resource/Seongbuk-gu|City|98 +1335|Suwon|http://dbpedia.org/resource/Suwon|City|98 +1336|Gwangju|http://dbpedia.org/resource/Gwangju|City|98 +1337|Daejeon|http://dbpedia.org/resource/Daejeon|City|98 +1338|Pohang|http://dbpedia.org/resource/Pohang|City|98 +1339|Busan|http://dbpedia.org/resource/Busan|City|98 +1340|Andong|http://dbpedia.org/resource/Andong|City|98 +1341|Yongin|http://dbpedia.org/resource/Yongin|City|98 +1342|Incheon|http://dbpedia.org/resource/Incheon|City|98 +1343|Salamanca|http://dbpedia.org/resource/Salamanca|City|99 +1344|Madrid|http://dbpedia.org/resource/Madrid|City|99 +1345|Barcelona|http://dbpedia.org/resource/Barcelona|City|99 +1346|Seville|http://dbpedia.org/resource/Seville|City|99 +1347|Valladolid|http://dbpedia.org/resource/Valladolid|City|99 +1348|Santander|http://dbpedia.org/resource/Santander|City|99 +1349|Vigo|http://dbpedia.org/resource/Vigo|City|99 +1350|San_Sebastián|http://dbpedia.org/resource/San_Sebastián|City|99 +1351|Valencia|http://dbpedia.org/resource/Valencia|City|99 +1352|Bilbao|http://dbpedia.org/resource/Bilbao|City|99 +1353|Kelaniya|http://dbpedia.org/resource/Kelaniya|City|100 +1354|Elpitiya|http://dbpedia.org/resource/Elpitiya|City|100 +1355|Matara|http://dbpedia.org/resource/Matara|City|100 +1356|Nugegoda|http://dbpedia.org/resource/Nugegoda|City|100 +1357|Colombo|http://dbpedia.org/resource/Colombo|City|100 +1358|Kandy|http://dbpedia.org/resource/Kandy|City|100 +1359|Peradeniya|http://dbpedia.org/resource/Peradeniya|City|100 +1360|Ratmalana_Airport|http://dbpedia.org/resource/Ratmalana_Airport|City|100 +1361|Malabe|http://dbpedia.org/resource/Malabe|City|100 +1362|Batalanda|http://dbpedia.org/resource/Batalanda|City|100 +1363|Rovaniemi|http://dbpedia.org/resource/Rovaniemi|City|101 +1364|Malmö|http://dbpedia.org/resource/Malmö|City|101 +1365|Uppsala|http://dbpedia.org/resource/Uppsala|City|101 +1366|Umeå|http://dbpedia.org/resource/Umeå|City|101 +1367|Borås|http://dbpedia.org/resource/Borås|City|101 +1368|Jönköping|http://dbpedia.org/resource/Jönköping|City|101 +1369|Stockholm|http://dbpedia.org/resource/Stockholm|City|101 +1370|Lund|http://dbpedia.org/resource/Lund|City|101 +1371|Örebro|http://dbpedia.org/resource/Örebro|City|101 +1372|Gothenburg|http://dbpedia.org/resource/Gothenburg|City|101 +1373|Mwanza|http://dbpedia.org/resource/Mwanza|City|102 +1374|Arusha|http://dbpedia.org/resource/Arusha|City|102 +1375|Morogoro|http://dbpedia.org/resource/Morogoro|City|102 +1376|Mzumbe_morogoro|http://dbpedia.org/resource/Mzumbe_morogoro|City|102 +1377|Dar_es_Salaam|http://dbpedia.org/resource/Dar_es_Salaam|City|102 +1378|Mbeya|http://dbpedia.org/resource/Mbeya|City|102 +1379|Unguja|http://dbpedia.org/resource/Unguja|City|102 +1380|Dodoma|http://dbpedia.org/resource/Dodoma|City|102 +1381|Zanzibar|http://dbpedia.org/resource/Zanzibar|City|102 +1382|Nakhon_Pathom_Province|http://dbpedia.org/resource/Nakhon_Pathom_Province|City|103 +1383|Bangkok|http://dbpedia.org/resource/Bangkok|City|103 +1384|Pathum_Thani_Province|http://dbpedia.org/resource/Pathum_Thani_Province|City|103 +1385|Pathum_Thani|http://dbpedia.org/resource/Pathum_Thani|City|103 +1386|Lampang|http://dbpedia.org/resource/Lampang|City|103 +1387|Chiang_Mai|http://dbpedia.org/resource/Chiang_Mai|City|103 +1388|Klong_Luang|http://dbpedia.org/resource/Klong_Luang|City|103 +1389|Hat_Yai|http://dbpedia.org/resource/Hat_Yai|City|103 +1390|Songkhla|http://dbpedia.org/resource/Songkhla|City|103 +1391|Narathiwat|http://dbpedia.org/resource/Narathiwat|City|103 +1392|La_Marsa|http://dbpedia.org/resource/La_Marsa|City|104 +1393|Bizerte|http://dbpedia.org/resource/Bizerte|City|104 +1394|Etadhamen|http://dbpedia.org/resource/Etadhamen|City|104 +1395|Sfax|http://dbpedia.org/resource/Sfax|City|104 +1396|Gabes|http://dbpedia.org/resource/Gabes|City|104 +1397|Monastir|http://dbpedia.org/resource/Monastir|City|104 +1398|Sousse|http://dbpedia.org/resource/Sousse|City|104 +1399|Kairouan|http://dbpedia.org/resource/Kairouan|City|104 +1400|Tunis|http://dbpedia.org/resource/Tunis|City|104 +1401|El_Mourouj|http://dbpedia.org/resource/El_Mourouj|City|104 +1402|Mersin|http://dbpedia.org/resource/Mersin|City|105 +1403|Istanbul|http://dbpedia.org/resource/Istanbul|City|105 +1404|Çankaya|http://dbpedia.org/resource/Çankaya|City|105 +1405|Ankara|http://dbpedia.org/resource/Ankara|City|105 +1406|Bursa|http://dbpedia.org/resource/Bursa|City|105 +1407|Gaziantep|http://dbpedia.org/resource/Gaziantep|City|105 +1408|Eskişehir|http://dbpedia.org/resource/Eskişehir|City|105 +1409|Gebze|http://dbpedia.org/resource/Gebze|City|105 +1410|Kadıköy|http://dbpedia.org/resource/Kadıköy|City|105 +1411|Izmir|http://dbpedia.org/resource/Izmir|City|105 +1412|Kiev|http://dbpedia.org/resource/Kiev|City|106 +1413|Mykolaiv|http://dbpedia.org/resource/Mykolaiv|City|106 +1414|Dnipropetrovsk|http://dbpedia.org/resource/Dnipropetrovsk|City|106 +1415|Kharkiv|http://dbpedia.org/resource/Kharkiv|City|106 +1416|Uzhhorod|http://dbpedia.org/resource/Uzhhorod|City|106 +1417|Lviv|http://dbpedia.org/resource/Lviv|City|106 +1418|Donetsk|http://dbpedia.org/resource/Donetsk|City|106 +1419|Luhansk|http://dbpedia.org/resource/Luhansk|City|106 +1420|Chernivtsi|http://dbpedia.org/resource/Chernivtsi|City|106 +1421|Odessa|http://dbpedia.org/resource/Odessa|City|106 +1422|Coventry|http://dbpedia.org/resource/Coventry|City|107 +1423|Liverpool|http://dbpedia.org/resource/Liverpool|City|107 +1424|North_Wales|http://dbpedia.org/resource/North_Wales|City|107 +1425|Bristol|http://dbpedia.org/resource/Bristol|City|107 +1426|Caracas|http://dbpedia.org/resource/Caracas|City|108 +1427|Barquisimeto|http://dbpedia.org/resource/Barquisimeto|City|108 +1428|Nueva_Esparta|http://dbpedia.org/resource/Nueva_Esparta|City|108 +1429|Anzoátegui|http://dbpedia.org/resource/Anzoátegui|City|108 +1430|Maracaibo|http://dbpedia.org/resource/Maracaibo|City|108 +1431|Monagas|http://dbpedia.org/resource/Monagas|City|108 +1432|Bolívar|http://dbpedia.org/resource/Bolívar|City|108 +1433|Sucre|http://dbpedia.org/resource/Sucre|City|108 +1434|Al_Hudaydah|http://dbpedia.org/resource/Al_Hudaydah|City|109 +1435|Zinjibar|http://dbpedia.org/resource/Zinjibar|City|109 +1436|Dhamar|http://dbpedia.org/resource/Dhamar|City|109 +1437|Ibb|http://dbpedia.org/resource/Ibb|City|109 +1438|Hadhramaut|http://dbpedia.org/resource/Hadhramaut|City|109 +1439|Ta'izz|http://dbpedia.org/resource/Ta'izz|City|109 +1440|Sayyan|http://dbpedia.org/resource/Sayyan|City|109 +1441|Aden|http://dbpedia.org/resource/Aden|City|109 +1442|Sana'a|http://dbpedia.org/resource/Sana'a|City|109 +1443|Al_Mukalla|http://dbpedia.org/resource/Al_Mukalla|City|109 +1444|Luanshya|http://dbpedia.org/resource/Luanshya|City|110 +1445|Livingstone|http://dbpedia.org/resource/Livingstone|City|110 +1446|Monze|http://dbpedia.org/resource/Monze|City|110 +1447|Ndola|http://dbpedia.org/resource/Ndola|City|110 +1448|Kasama|http://dbpedia.org/resource/Kasama|City|110 +1449|Kabwe|http://dbpedia.org/resource/Kabwe|City|110 +1450|Mufulira|http://dbpedia.org/resource/Mufulira|City|110 +1451|Kitwe|http://dbpedia.org/resource/Kitwe|City|110 +1452|Lusaka|http://dbpedia.org/resource/Lusaka|City|110 +1453|Chingola|http://dbpedia.org/resource/Chingola|City|110 +1454|Asia|http://dbpedia.org/resource/Asia|Continent| +1455|Africa|http://dbpedia.org/resource/Africa|Continent| +1456|Europe|http://dbpedia.org/resource/Europe|Continent| +1457|South_America|http://dbpedia.org/resource/South_America|Continent| +1458|North_America|http://dbpedia.org/resource/North_America|Continent| +1459|Australia|http://dbpedia.org/resource/Australia|Continent| diff --git a/data/csv/nullpadding.csv b/data/csv/nullpadding.csv new file mode 100644 index 000000000000..cfae7552f7e4 --- /dev/null +++ b/data/csv/nullpadding.csv @@ -0,0 +1,5 @@ +10,100,1000 +10,100,1000,10000 +10 +10,100 +10,100,1000,10000,100000 diff --git a/data/csv/num.tsv.gz b/data/csv/num.tsv.gz new file mode 100644 index 000000000000..83be38ef1122 Binary files /dev/null and b/data/csv/num.tsv.gz differ diff --git a/data/csv/public_daily_sample.csv b/data/csv/public_daily_sample.csv new file mode 100644 index 000000000000..56330e4a9683 --- /dev/null +++ b/data/csv/public_daily_sample.csv @@ -0,0 +1,5956 @@ +C,NEMP.WORLD,DAILY,AEMO,PUBLIC,2023/12/15,04:05:05,0000000405621952,,0000000405621952 +I,DISPATCH,CASESOLUTION,1,SETTLEMENTDATE,RUNNO,INTERVENTION,CASESUBTYPE,SOLUTIONSTATUS,SPDVERSION,NONPHYSICALLOSSES,TOTALOBJECTIVE,TOTALAREAGENVIOLATION,TOTALINTERCONNECTORVIOLATION,TOTALGENERICVIOLATION,TOTALRAMPRATEVIOLATION,TOTALUNITMWCAPACITYVIOLATION,TOTAL5MINVIOLATION,TOTALREGVIOLATION,TOTAL6SECVIOLATION,TOTAL60SECVIOLATION,TOTALASPROFILEVIOLATION,TOTALFASTSTARTVIOLATION,TOTALENERGYOFFERVIOLATION,LASTCHANGED +D,DISPATCH,CASESOLUTION,1,"2023/12/14 04:05:00",1,0,,1,,0,2168940741.3630,0,0,0,0.416,89,,,,,0,0,0,"2023/12/14 04:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 04:10:00",1,0,,1,,0,940853207.18,0,0,0,0.416,39,,,,,0,0,0,"2023/12/14 04:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 04:15:00",1,0,,1,,0,-16984351.7420,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 04:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 04:20:00",1,0,,1,,0,-17245829.4290,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 04:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 04:25:00",1,0,,1,,0,-17341244.9120,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 04:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 04:30:00",1,0,,1,,0,-17604866.14,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 04:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 04:35:00",1,0,,1,,0,-17758936.7620,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 04:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 04:40:00",1,0,,1,,0,2169199669.0510,0,0,0,0.416,89,,,,,0,0,0,"2023/12/14 04:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 04:45:00",1,0,,1,,0,793565641.5720,0,0,0,0.416,33,,,,,0,0,0,"2023/12/14 04:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 04:50:00",1,0,,1,,0,-16812065.5260,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 04:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 04:55:00",1,0,,1,,0,-16961074.1980,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 04:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:00:00",1,0,,1,,0,-17153467.0240,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 04:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:05:00",1,0,,1,,0,-16050490.9420,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 05:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:10:00",1,0,,1,,0,2195491625.5180,0,0,0,0.416,90,,,,,0,0,0,"2023/12/14 05:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:15:00",1,0,,1,,0,868576407.9410,0,0,0,0.416,36,,,,,0,0,0,"2023/12/14 05:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:20:00",1,0,,1,,0,-15790375.9370,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 05:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:25:00",1,0,,1,,0,-16064854.1450,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 05:20:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:30:00",1,0,,1,,0,81358090.9280,0,0,0,0.416,3.972,,,,,0,0,0,"2023/12/14 05:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:35:00",1,0,,1,,0,-16033976.8810,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 05:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:40:00",1,0,,1,,0,2170708641.8570,0,0,0,0.416,89,,,,,0,0,0,"2023/12/14 05:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:45:00",1,0,,1,,0,819369473.87,0,0,0,0.416,34,,,,,0,0,0,"2023/12/14 05:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:50:00",1,0,,1,,0,-16136805.7480,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 05:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 05:55:00",1,0,,1,,0,-16927183.0130,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 05:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:00:00",1,0,,1,,0,-17532074.4790,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 05:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:05:00",1,0,,1,,0,-17049357.1450,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 06:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:10:00",1,0,,1,,0,-18833662.4440,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 06:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:15:00",1,0,,1,,0,-18987970.1550,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 06:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:20:00",1,0,,1,,0,-19363609.90,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 06:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:25:00",1,0,,1,,0,100982692.6220,0,0,0,0.416,4.9,,,,,0,0,0,"2023/12/14 06:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:30:00",1,0,,1,,0,95242101.7240,0,0,0,0.416,4.7,,,,,0,0,0,"2023/12/14 06:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:35:00",1,0,,1,,0,-17965660.5510,0,0,0,0.416,0.1,,,,,0,0,0,"2023/12/14 06:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:40:00",1,0,,1,,0,-20865510.6950,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 06:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:45:00",1,0,,1,,0,-21456314.6380,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 06:40:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:50:00",1,0,,1,,0,-7308069.64,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 06:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 06:55:00",1,0,,1,,0,-11855744.8020,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 06:50:07" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:00:00",1,0,,1,,0,-16048721.6170,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 06:55:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:05:00",1,0,,1,,0,-19901734.0840,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 07:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:10:00",1,0,,1,,0,-21593430.9780,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 07:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:15:00",1,0,,1,,0,-21051260.6070,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 07:10:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:20:00",1,0,,1,,0,-21325487.17,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 07:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:25:00",1,0,,1,,0,-22205664.1380,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 07:20:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:30:00",1,0,,1,,0,-22600208.7170,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 07:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:35:00",1,0,,1,,0,3113417796.5860,0,0,0,0.416,126.539,,,,,0,0,0,"2023/12/14 07:30:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:40:00",1,0,,1,,0,2037279397.1530,0,0,0,0.416,82.917,,,,,0,0,0,"2023/12/14 07:35:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:45:00",1,0,,1,,0,941903175.2470,0,0,0,0.416,38.635,,,,,0,0,0,"2023/12/14 07:40:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:50:00",1,0,,1,,0,-10175218.0460,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 07:45:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 07:55:00",1,0,,1,,0,-15545682.1790,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 07:50:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:00:00",1,0,,1,,0,-18125278.9580,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 07:55:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:05:00",1,0,,1,,0,2985011416.1390,0,0,0,0.416,122.201,,,,,0,0,0,"2023/12/14 08:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:10:00",1,0,,1,,0,26495745.2680,0,0,0,0.416,1.873,,,,,0,0,0,"2023/12/14 08:05:07" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:15:00",1,0,,1,,0,-20616215.3260,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 08:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:20:00",1,0,,1,,0,-21252273.5130,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 08:15:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:25:00",1,0,,1,,0,4545932174.3610,0,0,27.6,0.416,157.607,,,,,0,0,0,"2023/12/14 08:20:08" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:30:00",1,0,,1,,0,3877631288.4650,0,0,27.6,0.416,130.449,,,,,0,0,0,"2023/12/14 08:25:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:35:00",1,0,,1,,0,3240708988.7340,0,0,29.726,0.416,104.482,,,,,0,0,0,"2023/12/14 08:30:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:40:00",1,0,,1,,0,2531799765.9680,0,0,28.179,0.416,77.307,,,,,0,0,0,"2023/12/14 08:35:08" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:45:00",1,0,,1,,0,1599426997.2990,0,0,22.362,0.416,44.743,,,,,0,0,0,"2023/12/14 08:40:07" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:50:00",1,0,,1,,0,725095983.2140,0,0,20.967,0.416,9.108,,,,,0,0,0,"2023/12/14 08:45:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 08:55:00",1,0,,1,,0,500029659.4730,0,0,20.8,0.416,0,,,,,0,0,0,"2023/12/14 08:50:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:00:00",1,0,,1,,0,414799082.1420,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 08:55:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:05:00",1,0,,1,,0,414841710.5830,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 09:00:08" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:10:00",1,0,,1,,0,1497186151.1480,0,0,17.4,0.416,0,,,,,0,28.823,0,"2023/12/14 09:05:08" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:15:00",1,0,,1,,0,415112619.7580,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 09:10:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:20:00",1,0,,1,,0,415467475.6790,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 09:15:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:25:00",1,0,,1,,0,415459755.4320,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 09:20:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:30:00",1,0,,1,,0,415178248.9560,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 09:25:08" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:35:00",1,0,,1,,0,415849554.6870,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 09:30:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:40:00",1,0,,1,,0,415995236.6670,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 09:35:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:45:00",1,0,,1,,0,415756372.5260,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 09:40:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:50:00",1,0,,1,,0,415922498.4740,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 09:45:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 09:55:00",1,0,,1,,0,416341487.9290,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 09:50:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:00:00",1,0,,1,,0,416797796.8330,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 09:55:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:05:00",1,0,,1,,0,416704417.5670,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:00:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:10:00",1,0,,1,,0,416112127.49,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:05:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:15:00",1,0,,1,,0,416091670.5490,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:10:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:20:00",1,0,,1,,0,416415157.8950,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:15:07" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:25:00",1,0,,1,,0,416227903.4970,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:20:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:30:00",1,0,,1,,0,416030089.5530,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:25:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:35:00",1,0,,1,,0,416579705.75,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:30:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:40:00",1,0,,1,,0,416494706.90,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:35:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:45:00",1,0,,1,,0,417023504.0330,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:40:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:50:00",1,0,,1,,0,415833026.8950,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:45:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 10:55:00",1,0,,1,,0,416191273.9680,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:50:08" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:00:00",1,0,,1,,0,416300595.6520,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 10:55:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:05:00",1,0,,1,,0,415313896.6830,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 11:00:06" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:10:00",1,0,,1,,0,415592887.1020,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 11:05:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:15:00",1,0,,1,,0,414378280.95,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 11:10:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:20:00",1,0,,1,,0,414155006.6970,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 11:15:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:25:00",1,0,,1,,0,419834334.4860,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 11:20:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:30:00",1,0,,1,,0,238640027.5540,0,0,10.4,0.416,0,,,,,0,0,0,"2023/12/14 11:25:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:35:00",1,0,,1,,0,241667831.9130,0,0,10.4,0.416,0.1,,,,,0,0,0,"2023/12/14 11:30:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:40:00",1,0,,1,,0,12435352.6530,0,0,1.4,0.416,0,,,,,0,0,0,"2023/12/14 11:35:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:45:00",1,0,,1,,0,12191750.90,0,0,1.4,0.416,0,,,,,0,0,0,"2023/12/14 11:40:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:50:00",1,0,,1,,0,414914028.9510,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 11:45:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 11:55:00",1,0,,1,,0,414704349.5090,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 11:50:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:00:00",1,0,,1,,0,414553601.3260,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 11:55:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:05:00",1,0,,1,,0,412233593.7690,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 12:00:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:10:00",1,0,,1,,0,414387473.7950,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 12:05:08" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:15:00",1,0,,1,,0,412414812.1920,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 12:10:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:20:00",1,0,,1,,0,414854811.9440,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 12:15:08" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:25:00",1,0,,1,,0,411620825.0690,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 12:20:06" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:30:00",1,0,,1,,0,411523777.1470,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 12:25:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:35:00",1,0,,1,,0,496434228.0640,0,0,20.8,0.416,0,,,,,0,0,0,"2023/12/14 12:30:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:40:00",1,0,,1,,0,754657324.1510,0,0,25.43,0.416,0,,,,,0,0,0,"2023/12/14 12:35:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:45:00",1,0,,1,,0,753017608.5180,0,0,31,0.416,0,,,,,0,0,0,"2023/12/14 12:40:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:50:00",1,0,,1,,0,666927516.4640,0,0,27.6,0.416,0,,,,,0,0,0,"2023/12/14 12:45:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 12:55:00",1,0,,1,,0,495503706.1040,0,0,20.8,0.416,0,,,,,0,0,0,"2023/12/14 12:50:13" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:00:00",1,0,,1,,0,410271401.9980,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 12:55:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:05:00",1,0,,1,,0,408691051.4040,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 13:00:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:10:00",1,0,,1,,0,407990689.6520,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 13:05:12" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:15:00",1,0,,1,,0,408688733.4460,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 13:10:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:20:00",1,0,,1,,0,688825985.9080,0,0,28.542,0.416,0,,,,,0,0,0,"2023/12/14 13:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:25:00",1,0,,1,,0,408511661.4380,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 13:20:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:30:00",1,0,,1,,0,408612580.0160,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 13:25:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:35:00",1,0,,1,,0,405160240.6690,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 13:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:40:00",1,0,,1,,0,404417796.2450,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 13:35:11" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:45:00",1,0,,1,,0,674873160.8510,0,0,25.45,0.416,0,,,,,0,0,0,"2023/12/14 13:40:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:50:00",1,0,,1,,0,467998956.4580,0,0,19.888,0.416,0,,,,,0,0,0,"2023/12/14 13:45:06" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 13:55:00",1,0,,1,,0,405256293.9140,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 13:50:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:00:00",1,0,,1,,0,405743209.9920,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 13:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:05:00",1,0,,1,,0,403278691.5210,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 14:00:11" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:10:00",1,0,,1,,0,402705155.3540,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 14:05:13" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:15:00",1,0,,1,,0,402090693.0540,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 14:10:06" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:20:00",1,0,,1,,0,400476794.7950,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 14:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:25:00",1,0,,1,,0,400237705.2250,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 14:20:08" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:30:00",1,0,,1,,0,399576676.2390,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 14:25:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:35:00",1,0,,1,,0,398983569.3680,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 14:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:40:00",1,0,,1,,0,399641853.4360,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 14:35:09" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:45:00",1,0,,1,,0,399795757.8790,0,0,17.4,0.416,0,,,,,0,0,0,"2023/12/14 14:40:08" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:50:00",1,0,,1,,0,-40785378.0680,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 14:45:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 14:55:00",1,0,,1,,0,-41406295.5940,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 14:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:00:00",1,0,,1,,0,-41294505.9420,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 14:55:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:05:00",1,0,,1,,0,-41224756.5410,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 15:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:10:00",1,0,,1,,0,-41773193.5560,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 15:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:15:00",1,0,,1,,0,-42405538.24,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 15:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:20:00",1,0,,1,,0,-42198440.9260,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 15:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:25:00",1,0,,1,,0,247853335.0850,0,0,0,4.204,0,,,,,0,0,0,"2023/12/14 15:20:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:30:00",1,0,,1,,0,140966629.3680,0,0,0,2.808,0,,,,,0,0,0,"2023/12/14 15:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:35:00",1,0,,1,,0,-44687867.4280,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 15:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:40:00",1,0,,0,,0,-77259122.3660,0,0,0,0,0,,,,,0,0,0,"2023/12/14 15:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:45:00",1,0,,0,,0,-77794853.5190,0,0,0,0,0,,,,,0,0,0,"2023/12/14 15:40:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:50:00",1,0,,0,,0,-86265296.4740,0,0,0,0,0,,,,,0,0,0,"2023/12/14 15:45:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 15:55:00",1,0,,0,,0,-88985027.49,0,0,0,0,0,,,,,0,0,0,"2023/12/14 15:50:06" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:00:00",1,0,,0,,0,-89728440.3010,0,0,0,0,0,,,,,0,0,0,"2023/12/14 15:55:06" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:05:00",1,0,,0,,0,-89347534.3980,0,0,0,0,0,,,,,0,0,0,"2023/12/14 16:00:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:10:00",1,0,,0,,0,-89042232.0150,0,0,0,0,0,,,,,0,0,0,"2023/12/14 16:05:08" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:15:00",1,0,,0,,0,-89924804.1690,0,0,0,0,0,,,,,0,0,0,"2023/12/14 16:10:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:20:00",1,0,,0,,0,-89112161.2950,0,0,0,0,0,,,,,0,0,0,"2023/12/14 16:15:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:25:00",1,0,,0,,0,-89230790.0060,0,0,0,0,0,,,,,0,0,0,"2023/12/14 16:20:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:30:00",1,0,,0,,0,-88743133.60,0,0,0,0,0,,,,,0,0,0,"2023/12/14 16:25:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:35:00",1,0,,1,,0,7935931433.47,0,0,158.134,0,163.875,,,,,0,0,0,"2023/12/14 16:30:10" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:40:00",1,0,,1,,0,7175312134.8130,0,0,142.252,0,149.25,,,,,0,0,0,"2023/12/14 16:35:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:45:00",1,0,,1,,0,6565009439.4220,0,0,127.371,0,139.688,,,,,0,0,0,"2023/12/14 16:40:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:50:00",1,0,,1,,0,5872002148.7310,0,0,113.976,0,125.25,,,,,0,0,0,"2023/12/14 16:45:11" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 16:55:00",1,0,,1,,0,5031154913.2070,0,0,98.979,0,106.5,,,,,0,0,0,"2023/12/14 16:50:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:00:00",1,0,,1,,0,4554573215.4410,0,0,84.098,0,102.434,,,,,0,0,0,"2023/12/14 16:55:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:05:00",1,0,,1,,0,3475038100.1640,0,0,67.845,0,75.402,,,,,0,0,0,"2023/12/14 17:00:06" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:10:00",1,0,,1,,0,2878645010.7370,0,0,54.809,0,64.576,,,,,0,0,0,"2023/12/14 17:05:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:15:00",1,0,,1,,0,2617362188.17,0,0,41.011,0,69.71,,,,,0,0,0,"2023/12/14 17:10:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:20:00",1,0,,1,,0,1280814790.9540,0,0,22.867,0,32.438,,,,,0,0,0,"2023/12/14 17:15:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:25:00",1,0,,1,,0,647065392.33,0,0,8.998,0,20.92,,,,,0,0,0,"2023/12/14 17:20:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:30:00",1,0,,1,,0,201302582.9290,0,0,0.129,0,11.91,,,,,0,0,0,"2023/12/14 17:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:35:00",1,0,,0,,0,-95514562.2840,0,0,0,0,0,,,,,0,0,0,"2023/12/14 17:30:07" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:40:00",1,0,,1,,0,47441891.6810,0,0,0,0,5.76,,,,,0,0,0,"2023/12/14 17:35:07" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:45:00",1,0,,0,,0,-96782362.7290,0,0,0,0,0,,,,,0,0,0,"2023/12/14 17:40:06" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:50:00",1,0,,0,,0,-97342988.6980,0,0,0,0,0,,,,,0,0,0,"2023/12/14 17:45:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 17:55:00",1,0,,1,,0,-97507726.1540,0,0,0,0,0,,,,,0,0,0,"2023/12/14 17:50:06" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:00:00",1,0,,0,,0,-96846425.6040,0,0,0,0,0,,,,,0,0,0,"2023/12/14 17:55:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:05:00",1,0,,0,,0,-95598861.5970,0,0,0,0,0,,,,,0,0,0,"2023/12/14 18:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:10:00",1,0,,0,,0,-96823198.8740,0,0,0,0,0,,,,,0,0,0,"2023/12/14 18:05:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:15:00",1,0,,0,,0,-96588756.3230,0,0,0,0,0,,,,,0,0,0,"2023/12/14 18:10:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:20:00",1,0,,0,,0,-95701327.6870,0,0,0,0,0,,,,,0,0,0,"2023/12/14 18:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:25:00",1,0,,0,,0,-95831849.7690,0,0,0,0,0,,,,,0,0,0,"2023/12/14 18:20:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:30:00",1,0,,0,,0,-95231318.5030,0,0,0,0,0,,,,,0,0,0,"2023/12/14 18:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:35:00",1,0,,0,,0,-95850694.9410,0,0,0,0,0,,,,,0,0,0,"2023/12/14 18:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:40:00",1,0,,0,,0,-95698490.0060,0,0,0,0,0,,,,,0,0,0,"2023/12/14 18:35:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:45:00",1,0,,1,,0,-78951240.8150,0,0,0,0,0.66,,,,,0,0,0,"2023/12/14 18:40:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:50:00",1,0,,0,,0,-93035278.75,0,0,0,0,0,,,,,0,0,0,"2023/12/14 18:45:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 18:55:00",1,0,,0,,0,-91415246.1980,0,0,0,0,0,,,,,0,0,0,"2023/12/14 18:50:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:00:00",1,0,,0,,0,-90987008.3850,0,0,0,0,0,,,,,0,0,0,"2023/12/14 18:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:05:00",1,0,,0,,0,-90808757.6210,0,0,0,0,0,,,,,0,0,0,"2023/12/14 19:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:10:00",1,0,,0,,0,-90543629.2250,0,0,0,0,0,,,,,0,0,0,"2023/12/14 19:05:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:15:00",1,0,,0,,0,-90265369.4560,0,0,0,0,0,,,,,0,0,0,"2023/12/14 19:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:20:00",1,0,,1,,0,-47434599.0510,0,0,0,0,1.727,,,,,0,0,0,"2023/12/14 19:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:25:00",1,0,,0,,0,-89426634.6350,0,0,0,0,0,,,,,0,0,0,"2023/12/14 19:20:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:30:00",1,0,,0,,0,-87137832.7010,0,0,0,0,0,,,,,0,0,0,"2023/12/14 19:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:35:00",1,0,,0,,0,-72652067.1870,0,0,0,0,0,,,,,0,0,0,"2023/12/14 19:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:40:00",1,0,,0,,0,-80758182.0230,0,0,0,0,0,,,,,0,0,0,"2023/12/14 19:35:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:45:00",1,0,,0,,0,-84354607.3460,0,0,0,0,0,,,,,0,0,0,"2023/12/14 19:40:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:50:00",1,0,,0,,0,-82671951.8320,0,0,0,0,0,,,,,0,0,0,"2023/12/14 19:45:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 19:55:00",1,0,,0,,0,-82773096.3290,0,0,0,0,0,,,,,0,0,0,"2023/12/14 19:50:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:00:00",1,0,,1,,0,3659288286.2450,0,0,147.901,0,0,,,,,0,0,0,"2023/12/14 19:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:05:00",1,0,,1,,0,4182041763.3170,0,0,146.862,0,21.52,,,,,0,0,0,"2023/12/14 20:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:10:00",1,0,,1,,0,3531266353.9380,0,0,133.135,0,9.74,,,,,0,0,0,"2023/12/14 20:05:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:15:00",1,0,,1,,0,2927831600.0590,0,0,118.779,0,0,,,,,0,0,0,"2023/12/14 20:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:20:00",1,0,,1,,0,2515078931.4790,0,0,102.436,0,0,,,,,0,0,0,"2023/12/14 20:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:25:00",1,0,,1,,0,2119847752.7160,0,0,86.657,0,0,,,,,0,0,0,"2023/12/14 20:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:30:00",1,0,,1,,0,1763788250.7270,0,0,72.314,0,0.311,,,,,0,0,0,"2023/12/14 20:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:35:00",1,0,,1,,0,1357018733.3770,0,0,56.651,0,0,,,,,0,0,0,"2023/12/14 20:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:40:00",1,0,,1,,0,972655044.92,0,0,41.475,0,0,,,,,0,0,0,"2023/12/14 20:35:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:45:00",1,0,,1,,0,751550183.7210,0,0,25.837,0,7.098,,,,,0,0,0,"2023/12/14 20:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:50:00",1,0,,1,,0,225557321.0270,0,0,11.942,0,0,,,,,0,0,0,"2023/12/14 20:45:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 20:55:00",1,0,,0,,0,-76906738.7040,0,0,0,0,0,,,,,0,0,0,"2023/12/14 20:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:00:00",1,0,,0,,0,-76685424.3040,0,0,0,0,0,,,,,0,0,0,"2023/12/14 20:55:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:05:00",1,0,,0,,0,-59458506.4130,0,0,0,0,0,,,,,0,0,0,"2023/12/14 21:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:10:00",1,0,,0,,0,-63498515.1930,0,0,0,0,0,,,,,0,0,0,"2023/12/14 21:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:15:00",1,0,,0,,0,-64999464.5250,0,0,0,0,0,,,,,0,0,0,"2023/12/14 21:10:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:20:00",1,0,,0,,0,-60505587.6910,0,0,0,0,0,,,,,0,0,0,"2023/12/14 21:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:25:00",1,0,,0,,0,-62010094.4730,0,0,0,0,0,,,,,0,0,0,"2023/12/14 21:20:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:30:00",1,0,,0,,0,-63222676.4020,0,0,0,0,0,,,,,0,0,0,"2023/12/14 21:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:35:00",1,0,,1,,0,1011112885.8880,0,0,0,0,43.411,,,,,0,0,0,"2023/12/14 21:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:40:00",1,0,,1,,0,324679186.0080,0,0,0,0,15.686,,,,,0,0,0,"2023/12/14 21:35:06" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:45:00",1,0,,1,,0,20940922.9470,0,0,0,0,3.439,,,,,0,0,0,"2023/12/14 21:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:50:00",1,0,,0,,0,-60989063.8970,0,0,0,0,0,,,,,0,0,0,"2023/12/14 21:45:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 21:55:00",1,0,,0,,0,-63000864.1940,0,0,0,0,0,,,,,0,0,0,"2023/12/14 21:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:00:00",1,0,,0,,0,-63313378.4840,0,0,0,0,0,,,,,0,0,0,"2023/12/14 21:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:05:00",1,0,,1,,0,1314799245.8590,0,0,0,0,55.155,,,,,0,0,0,"2023/12/14 22:00:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:10:00",1,0,,1,,0,1137550533.3390,0,0,0,0,48.441,,,,,0,0,0,"2023/12/14 22:05:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:15:00",1,0,,1,,0,1108218018.9850,0,0,0,0,47.45,,,,,0,0,0,"2023/12/14 22:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:20:00",1,0,,1,,0,1038662243.2910,0,0,0,0,44.479,,,,,0,0,0,"2023/12/14 22:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:25:00",1,0,,1,,0,810197855.6990,0,0,0,0,35.348,,,,,0,0,0,"2023/12/14 22:20:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:30:00",1,0,,1,,0,820982323.8340,0,0,0,0,35.902,,,,,0,0,0,"2023/12/14 22:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:35:00",1,0,,1,,0,1119166650.2770,0,0,0,0,47.572,,,,,0,0,0,"2023/12/14 22:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:40:00",1,0,,1,,0,615642515.4440,0,0,0,0.416,25.898,,,,,0,0,0,"2023/12/14 22:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:45:00",1,0,,1,,0,490247977.1140,0,0,0,0.416,20.829,,,,,0,0,0,"2023/12/14 22:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:50:00",1,0,,1,,0,177080828.12,0,0,0,0,9.398,,,,,0,0,0,"2023/12/14 22:45:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 22:55:00",1,0,,1,,0,193150652.0590,0,0,0,0,10.053,,,,,0,0,0,"2023/12/14 22:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:00:00",1,0,,0,,0,-53912225.6880,0,0,0,0,0,,,,,0,0,0,"2023/12/14 22:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:05:00",1,0,,1,,0,2372240637.8580,0,0,0,0,98.543,,,,,0,0,0,"2023/12/14 23:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:10:00",1,0,,1,,0,1950639452.4760,0,0,0,0,81.526,,,,,0,0,0,"2023/12/14 23:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:15:00",1,0,,1,,0,2322240954.2470,0,0,0,0,96.658,,,,,0,0,0,"2023/12/14 23:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:20:00",1,0,,1,,0,1295816776.1610,0,0,0,0,54.871,,,,,0,0,0,"2023/12/14 23:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:25:00",1,0,,1,,0,487825003.2690,0,0,0,0,21.979,,,,,0,0,0,"2023/12/14 23:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:30:00",1,0,,1,,0,192135031.9850,0,0,0,0.416,8.624,,,,,0,0,0,"2023/12/14 23:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:35:00",1,0,,1,,0,-18355373.2970,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 23:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:40:00",1,0,,1,,0,-19619261.4360,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 23:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:45:00",1,0,,1,,0,-19743331.0690,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 23:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:50:00",1,0,,1,,0,-19899222.9380,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 23:45:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/14 23:55:00",1,0,,1,,0,-20010191.4330,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 23:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:00:00",1,0,,1,,0,-20127405.8920,0,0,0,0.416,0,,,,,0,0,0,"2023/12/14 23:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:05:00",1,0,,1,,0,-18797545.4580,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 00:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:10:00",1,0,,1,,0,-18055262.9610,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 00:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:15:00",1,0,,1,,0,-17853680.1670,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 00:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:20:00",1,0,,1,,0,-17759007.0980,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 00:15:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:25:00",1,0,,1,,0,-17806379.9880,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 00:20:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:30:00",1,0,,1,,0,-17884187.3840,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 00:25:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:35:00",1,0,,1,,0,3025312194.7540,0,0,0,0.416,123.832,,,,,0,0,0,"2023/12/15 00:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:40:00",1,0,,1,,0,2805184953.6950,0,0,0,0.416,114.873,,,,,0,0,0,"2023/12/15 00:35:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:45:00",1,0,,1,,0,2263368567.5290,0,0,0,0.416,92.823,,,,,0,0,0,"2023/12/15 00:40:05" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:50:00",1,0,,1,,0,2113402576.7270,0,0,0,0.416,86.719,,,,,0,0,0,"2023/12/15 00:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 00:55:00",1,0,,1,,0,1762096195.0980,0,0,0,0.416,72.418,,,,,0,0,0,"2023/12/15 00:50:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:00:00",1,0,,1,,0,1443359951.8110,0,0,0,0.416,59.43,,,,,0,0,0,"2023/12/15 00:55:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:05:00",1,0,,1,,0,157557073.7050,0,0,0,0.416,7.034,,,,,0,0,0,"2023/12/15 01:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:10:00",1,0,,1,,0,-15208691.5360,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 01:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:15:00",1,0,,1,,0,-15227085.8830,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 01:10:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:20:00",1,0,,1,,0,2824756729.9190,0,0,0,0.416,115.593,,,,,0,0,0,"2023/12/15 01:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:25:00",1,0,,1,,0,1570009712.2550,0,0,0,0.416,64.524,,,,,0,0,0,"2023/12/15 01:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:30:00",1,0,,1,,0,75977436.9580,0,0,0,0.416,3.707,,,,,0,0,0,"2023/12/15 01:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:35:00",1,0,,1,,0,-14845132.0070,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 01:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:40:00",1,0,,1,,0,-14825150.2130,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 01:35:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:45:00",1,0,,1,,0,-14738462.2160,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 01:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:50:00",1,0,,1,,0,-14703492.1770,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 01:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 01:55:00",1,0,,1,,0,-14646513.3530,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 01:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:00:00",1,0,,1,,0,-14665140.7980,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 01:55:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:05:00",1,0,,1,,0,-11956194.2480,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 02:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:10:00",1,0,,1,,0,-13704577.0710,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 02:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:15:00",1,0,,1,,0,-14183020.74,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 02:10:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:20:00",1,0,,1,,0,-14139524.12,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 02:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:25:00",1,0,,1,,0,-14254146.2230,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 02:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:30:00",1,0,,1,,0,-14242009.51,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 02:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:35:00",1,0,,1,,0,2418044099.6820,0,0,0,0.416,99,,,,,0,0,0,"2023/12/15 02:30:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:40:00",1,0,,1,,0,1140681292.5420,0,0,0,0.416,47,,,,,0,0,0,"2023/12/15 02:35:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:45:00",1,0,,1,,0,-13832251.6560,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 02:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:50:00",1,0,,1,,0,-14163077.44,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 02:45:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 02:55:00",1,0,,1,,0,-14321725.5120,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 02:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:00:00",1,0,,1,,0,-14798714.9540,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 02:55:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:05:00",1,0,,1,,0,2415769204.28,0,0,0,0.416,99,,,,,0,0,0,"2023/12/15 03:00:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:10:00",1,0,,1,,0,1140455349.1080,0,0,0,0.416,47,,,,,0,0,0,"2023/12/15 03:05:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:15:00",1,0,,1,,0,-14222726.1350,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 03:10:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:20:00",1,0,,1,,0,-14266775.0650,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 03:15:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:25:00",1,0,,1,,0,-14566220.7910,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 03:20:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:30:00",1,0,,1,,0,44725183.9410,0,0,2.457,0.416,0,,,,,0,0,0,"2023/12/15 03:25:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:35:00",1,0,,1,,0,274077314.27,0,0,11.417,0.416,0,,,,,0,0,0,"2023/12/15 03:30:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:40:00",1,0,,1,,0,-14896185.4820,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 03:35:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:45:00",1,0,,1,,0,-14937518.0240,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 03:40:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:50:00",1,0,,1,,0,-14905685.94,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 03:45:04" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 03:55:00",1,0,,1,,0,-15248724.5830,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 03:50:03" +D,DISPATCH,CASESOLUTION,1,"2023/12/15 04:00:00",1,0,,1,,0,-15205657.8620,0,0,0,0.416,0,,,,,0,0,0,"2023/12/15 03:55:03" +I,DREGION,,2,SETTLEMENTDATE,RUNNO,REGIONID,INTERVENTION,RRP,EEP,ROP,APCFLAG,MARKETSUSPENDEDFLAG,TOTALDEMAND,DEMANDFORECAST,DISPATCHABLEGENERATION,DISPATCHABLELOAD,NETINTERCHANGE,EXCESSGENERATION,LOWER5MINDISPATCH,LOWER5MINIMPORT,LOWER5MINLOCALDISPATCH,LOWER5MINLOCALPRICE,LOWER5MINLOCALREQ,LOWER5MINPRICE,LOWER5MINREQ,LOWER5MINSUPPLYPRICE,LOWER60SECDISPATCH,LOWER60SECIMPORT,LOWER60SECLOCALDISPATCH,LOWER60SECLOCALPRICE,LOWER60SECLOCALREQ,LOWER60SECPRICE,LOWER60SECREQ,LOWER60SECSUPPLYPRICE,LOWER6SECDISPATCH,LOWER6SECIMPORT,LOWER6SECLOCALDISPATCH,LOWER6SECLOCALPRICE,LOWER6SECLOCALREQ,LOWER6SECPRICE,LOWER6SECREQ,LOWER6SECSUPPLYPRICE,RAISE5MINDISPATCH,RAISE5MINIMPORT,RAISE5MINLOCALDISPATCH,RAISE5MINLOCALPRICE,RAISE5MINLOCALREQ,RAISE5MINPRICE,RAISE5MINREQ,RAISE5MINSUPPLYPRICE,RAISE60SECDISPATCH,RAISE60SECIMPORT,RAISE60SECLOCALDISPATCH,RAISE60SECLOCALPRICE,RAISE60SECLOCALREQ,RAISE60SECPRICE,RAISE60SECREQ,RAISE60SECSUPPLYPRICE,RAISE6SECDISPATCH,RAISE6SECIMPORT,RAISE6SECLOCALDISPATCH,RAISE6SECLOCALPRICE,RAISE6SECLOCALREQ,RAISE6SECPRICE,RAISE6SECREQ,RAISE6SECSUPPLYPRICE,AGGREGATEDISPATCHERROR,AVAILABLEGENERATION,AVAILABLELOAD,INITIALSUPPLY,CLEAREDSUPPLY,LOWERREGIMPORT,LOWERREGLOCALDISPATCH,LOWERREGLOCALREQ,LOWERREGREQ,RAISEREGIMPORT,RAISEREGLOCALDISPATCH,RAISEREGLOCALREQ,RAISEREGREQ,RAISE5MINLOCALVIOLATION,RAISEREGLOCALVIOLATION,RAISE60SECLOCALVIOLATION,RAISE6SECLOCALVIOLATION,LOWER5MINLOCALVIOLATION,LOWERREGLOCALVIOLATION,LOWER60SECLOCALVIOLATION,LOWER6SECLOCALVIOLATION,RAISE5MINVIOLATION,RAISEREGVIOLATION,RAISE60SECVIOLATION,RAISE6SECVIOLATION,LOWER5MINVIOLATION,LOWERREGVIOLATION,LOWER60SECVIOLATION,LOWER6SECVIOLATION,RAISE6SECRRP,RAISE6SECROP,RAISE6SECAPCFLAG,RAISE60SECRRP,RAISE60SECROP,RAISE60SECAPCFLAG,RAISE5MINRRP,RAISE5MINROP,RAISE5MINAPCFLAG,RAISEREGRRP,RAISEREGROP,RAISEREGAPCFLAG,LOWER6SECRRP,LOWER6SECROP,LOWER6SECAPCFLAG,LOWER60SECRRP,LOWER60SECROP,LOWER60SECAPCFLAG,LOWER5MINRRP,LOWER5MINROP,LOWER5MINAPCFLAG,LOWERREGRRP,LOWERREGROP,LOWERREGAPCFLAG +D,DREGION,,2,"2023/12/14 04:05:00",1,NSW1,0,62.75,0,62.75,0,0,6927.79,25,6347.74,5,-585.05,0,,,59,,,,,,,,127.87,,,,,,,,109,,,,,,,,105,,,,,,,,83,,,,,,,,88,,,,,,23.43995,11768.59728,116,6905.63135,6950.23,,53,,,,97,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.2,0.2,0,0.95,0.95,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 04:05:00",1,QLD1,0,61.94798,0,61.94798,0,0,5940.84,2,6087.37,0,146.53,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,66,,,,,,,,161,,,,,,,,137.96,,,,,,13.49735,9930.44217,125,5925.42822,5940.94,,0,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.2,0.2,0,0.95,0.95,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 04:05:00",1,SA1,0,55.33728,0,55.33728,0,0,1188.3,1,1222.82,8,26.52,0,,,52,,,,,,,,80,,,,,,,,58,,,,,,,,145,,,,,,,,151,,,,,,,,159,,,,,,-9.44872,2593.27693,362,1201.91394,1196.04,,31,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.2,0.2,0,0.95,0.95,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 04:05:00",1,TAS1,0,58.73231,0,58.73231,0,0,931.43,3,593.99,0,-337.44,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,144.55,,,,,,7.26284,2172.0854,0,921.1665,931.43,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.2,0.2,0,0.95,0.95,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 04:05:00",1,VIC1,0,55.71488,0,55.71488,0,0,4053.86,9,4850.38,3,793.52,0,,,104,,,,,,,,134,,,,,,,,105.83,,,,,,,,118.17,,,,,,,,115.79,,,,,,,,135,,,,,,-11.93094,7994.3828,433,4089.70752,4083.67,,76,,,,14,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.2,0.2,0,0.95,0.95,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 04:10:00",1,NSW1,0,65.33,0,65.33,0,0,7013.74,27,6594.39,4.74,-424.09,0,,,46.13,,,,,,,,101,,,,,,,,87,,,,,,,,105,,,,,,,,110,,,,,,,,88,,,,,,28.46649,11750.27383,116,6976.4165,7027.51,,48.61,,,,92,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 04:10:00",1,QLD1,0,64.5788,0,64.5788,0,0,5981,2,6127.16,0,146.16,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,66,,,,,,,,138.35,,,,,,,,134,,,,,,12.90386,9915.36589,125,5966.19775,5981.04,,0,,,,59,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 04:10:00",1,SA1,0,58.98704,0,58.98704,0,0,1196.09,2,1218.35,5,17.25,0,,,48,,,,,,,,55,,,,,,,,47,,,,,,,,140.63,,,,,,,,167,,,,,,,,161,,,,,,-2.2577,2573.62491,362,1198.87781,1200.81,,32,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 04:10:00",1,TAS1,0,62.77221,0,62.77221,0,0,922.51,3,583.32,0,-339.19,0,,,0,,,,,,,,92.79,,,,,,,,27.55,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,143.33,,,,,,7.81649,2166.42417,0,911.69324,922.51,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 04:10:00",1,VIC1,0,59.39762,0,59.39762,0,0,4182.39,15,4808.15,0,625.76,0,,,100,,,,,,,,91,,,,,,,,110,,,,,,,,126,,,,,,,,98,,,,,,,,140.74,,,,,,0,8003.15483,438,4192.49219,4199.51,,79.39,,,,8,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 04:15:00",1,NSW1,0,65.55094,0,65.55094,0,0,7062.92,29,6642.43,0,-420.49,0,,,93.64,,,,,,,,133,,,,,,,,119,,,,,,,,105,,,,,,,,110,,,,,,,,100.05,,,,,,32.81321,11707.73992,115,7014.54688,7070.52,,25,,,,89,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:15:00",1,QLD1,0,64,0,64,0,0,5997.71,5,6183.48,0,185.77,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,68,,,,,,,,164,,,,,,,,153,,,,,,22.61529,9922.07015,125,5970.32129,5997.99,,0,,,,71,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:15:00",1,SA1,0,60.28646,0,60.28646,0,0,1206.95,2,1212.63,8,-2.32,0,,,65,,,,,,,,68,,,,,,,,60,,,,,,,,112.85,,,,,,,,149.36,,,,,,,,161,,,,,,-1.09033,2570.13399,362,1211.48596,1214.65,,21,,,,0,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:15:00",1,TAS1,0,63.34065,0,63.34065,0,0,927.12,3,599.26,0,-327.86,0,,,0,,,,,,,,82.08,,,,,,,,34.25,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,143.03,,,,,,6.57731,2182.26419,0,917.54211,927.12,,50,,,,50,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 04:15:00",1,VIC1,0,60.08646,0,60.08646,0,0,4164.6,18,4754.38,3,586.78,0,,,39,,,,,,,,60,,,,,,,,60,,,,,,,,154,,,,,,,,92,,,,,,,,112,,,,,,-32.01303,7981.3845,430,4194.55273,4181.91,,114,,,,10,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:20:00",1,NSW1,0,62.75,0,62.75,0,0,7066.63,31,6522.74,5,-548.89,0,,,59,,,,,,,,133,,,,,,,,109,,,,,,,,105,,,,,,,,110,,,,,,,,89.03,,,,,,26.5091,11683.35833,116,7016.2002,7087.98,,39,,,,61,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,5.45,5.45,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 04:20:00",1,QLD1,0,62.02981,0,62.02981,0,0,5954.38,6,6076.25,0,121.88,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,68,,,,,,,,147.45,,,,,,,,154,,,,,,15.41556,9919.98454,125,5934.24463,5954.31,,0,,,,51,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,5.45,5.45,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 04:20:00",1,SA1,0,55.93217,0,55.93217,0,0,1211.44,2,1194.27,0,-17.18,0,,,52,,,,,,,,66,,,,,,,,58,,,,,,,,146,,,,,,,,164,,,,,,,,159,,,,,,4.03837,2561.77011,362,1214.04895,1211.16,,20,,,,39,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,5.45,5.45,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 04:20:00",1,TAS1,0,58.61741,0,58.61741,0,0,926.28,4,609.97,0,-316.31,0,,,0,,,,,,,,20.1,,,,,,,,0,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,143.14,,,,,,4.22581,2193.07417,0,918.05396,926.28,,50,,,,50,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.2,0.2,0,0.38,0.38,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 04:20:00",1,VIC1,0,55.74629,0,55.74629,0,0,4149.44,16,4957.62,7,801.18,0,,,104,,,,,,,,118,,,,,,,,104.46,,,,,,,,121.79,,,,,,,,95,,,,,,,,125,,,,,,-37.95753,8280.61857,430,4188.79785,4181.12,,101,,,,19,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,5.45,5.45,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 04:25:00",1,NSW1,0,62.75,0,62.75,0,0,7030.44,30,6495.21,5,-540.23,0,,,115,,,,,,,,133,,,,,,,,119,,,,,,,,138.04,,,,,,,,164,,,,,,,,175,,,,,,6.60741,11667.55629,116,7013.13818,7052.6,,25,,,,87,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.5,0.5,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:25:00",1,QLD1,0,62.46421,0,62.46421,0,0,5978.61,7,6075.08,0,96.47,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,26,,,,,,,,117,,,,,,,,106,,,,,,-3.06218,9824.24935,50,5974.52002,5978.46,,0,,,,44,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.5,0.5,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:25:00",1,SA1,0,56.20712,0,56.20712,0,0,1216.67,3,1198.23,0,-18.44,0,,,41,,,,,,,,59.88,,,,,,,,50.43,,,,,,,,125,,,,,,,,123,,,,,,,,118.29,,,,,,8.34109,2567.52566,105,1207.4165,1216.39,,11,,,,11,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.5,0.5,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:25:00",1,TAS1,0,58.47214,0,58.47214,0,0,932.02,4,630.01,0,-302,0,,,26.94,,,,,,,,124.54,,,,,,,,78.85,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,143,,,,,,3.77424,2213.3127,0,924.24268,932.02,,50,,,,50,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.5,0.5,0,7.57,7.57,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 04:25:00",1,VIC1,0,55.74892,0,55.74892,0,0,4191.46,19,4998.49,1,806.03,0,,,59,,,,,,,,70,,,,,,,,70,,,,,,,,143,,,,,,,,103.57,,,,,,,,119,,,,,,-15.64223,8264.48996,433,4219.12451,4217.56,,124,,,,28,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.5,0.5,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:30:00",1,NSW1,0,61.55,0,61.55,0,0,7065.59,28,6448.7,5,-621.89,0,,,115,,,,,,,,133,,,,,,,,119,,,,,,,,148.81,,,,,,,,164,,,,,,,,162,,,,,,-4.31498,11666.36156,116,7067.22998,7092.28,,27,,,,61,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.53,0.53,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 04:30:00",1,QLD1,0,61.28364,0,61.28364,0,0,5963.05,9,6071.53,0,108.48,0,,,0,,,,,,,,14.53,,,,,,,,0,,,,,,,,26,,,,,,,,117,,,,,,,,108.57,,,,,,0.65305,9820.49833,50,5953.25049,5962.92,,0,,,,40,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.53,0.53,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 04:30:00",1,SA1,0,53.97395,0,53.97395,0,0,1217.58,3,1208.62,0,-8.96,0,,,41,,,,,,,,41,,,,,,,,49.07,,,,,,,,125,,,,,,,,123,,,,,,,,118,,,,,,13.29785,2566.41561,105,1202.84045,1217.29,,0,,,,38,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.53,0.53,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 04:30:00",1,TAS1,0,56.28077,0,56.28077,0,0,940.91,4,646.86,0,-294.04,0,,,22.7,,,,,,,,124.54,,,,,,,,78.85,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,143.39,,,,,,1.89751,2229.96488,0,935.01025,940.91,,50,,,,50,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.53,0.53,0,7.6,7.6,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 04:30:00",1,VIC1,0,53.79579,0,53.79579,0,0,4204.94,23,5078.59,6,867.65,0,,,59,,,,,,,,70,,,,,,,,70,,,,,,,,140,,,,,,,,111.24,,,,,,,,137,,,,,,0,8308.59338,444,4212.12793,4240.92,,133,,,,31,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.53,0.53,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 04:35:00",1,NSW1,0,62.75,0,62.75,0,0,7063.27,31,6488.83,5,-579.44,0,,,90,,,,,,,,128,,,,,,,,114,,,,,,,,105,,,,,,,,110,,,,,,,,128.15,,,,,,-19.66243,11669.57264,116,7075.99707,7087.37,,30,,,,55,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:35:00",1,QLD1,0,62.49048,0,62.49048,0,0,5969.7,9,6072.08,0,102.38,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,68,,,,,,,,145.85,,,,,,,,153,,,,,,1.90497,9921.66383,125,5958.67041,5969.55,,0,,,,51,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:35:00",1,SA1,0,55.79287,0,55.79287,0,0,1236.89,3,1209.18,1,-28.71,0,,,66,,,,,,,,66,,,,,,,,58,,,,,,,,145,,,,,,,,163,,,,,,,,159,,,,,,18.20742,2559.60597,362,1215.5564,1237.64,,10,,,,28,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:35:00",1,TAS1,0,57.59091,0,57.59091,0,0,948.39,5,682.99,0,-265.4,0,,,0,,,,,,,,85.72,,,,,,,,38.47,,,,,,,,79.88,,,,,,,,153.72,,,,,,,,143.41,,,,,,2.5818,2241.08834,0,940.80432,948.39,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 04:35:00",1,VIC1,0,55.32892,0,55.32892,0,0,4271.73,27,5087.41,0,815.68,0,,,39.67,,,,,,,,61,,,,,,,,61,,,,,,,,110.63,,,,,,,,91,,,,,,,,80,,,,,,14.0666,8314.41422,444,4259.07129,4297.54,,120,,,,36,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:40:00",1,NSW1,0,62.75,0,62.75,0,0,7054.2,31,6482.2,5,-577.01,0,,,83,,,,,,,,101,,,,,,,,87,,,,,,,,105,,,,,,,,110,,,,,,,,104.66,,,,,,-30.99338,11677.93573,116,7083.81396,7079.58,,57,,,,75,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:40:00",1,QLD1,0,62.73,0,62.73,0,0,6037.53,12,6117.32,0,79.79,0,,,0,,,,,,,,45,,,,,,,,45,,,,,,,,68,,,,,,,,145.07,,,,,,,,154,,,,,,-0.70497,9927.29869,125,6026.11719,6037.32,,0,,,,90,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:40:00",1,SA1,0,56.05583,0,56.05583,0,0,1241.36,3,1206.41,8,-42.94,0,,,68,,,,,,,,68,,,,,,,,60,,,,,,,,147,,,,,,,,165,,,,,,,,161,,,,,,20.73605,2511.19061,362,1217.61145,1249.14,,21,,,,0,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:40:00",1,TAS1,0,57.26897,0,57.26897,0,0,957.28,5,710.98,0,-246.3,0,,,26.97,,,,,,,,98.03,,,,,,,,50.49,,,,,,,,79.88,,,,,,,,153.72,,,,,,,,143.13,,,,,,7.31966,2269.08322,0,944.96429,957.28,,50,,,,50,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 04:40:00",1,VIC1,0,55.30176,0,55.30176,0,0,4202.3,28,5035.46,0,833.16,0,,,63,,,,,,,,74,,,,,,,,74,,,,,,,,109.85,,,,,,,,91,,,,,,,,102,,,,,,11.15238,8172.45758,441,4197.45996,4229.05,,82,,,,5,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 04:45:00",1,NSW1,0,59.99043,0,59.99043,0,0,7080.44,33,6482.64,5,-602.79,0,,,34.09,,,,,,,,120.66,,,,,,,,104,,,,,,,,104,,,,,,,,110,,,,,,,,88,,,,,,-32.53595,11733.08962,116,7109.02783,7105.8,,30,,,,76,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.00057,11.00057,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 04:45:00",1,QLD1,0,59.78285,0,59.78285,0,0,5990.81,11,6093.8,0,102.99,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,71,,,,,,,,139,,,,,,,,156.17,,,,,,0,9943.42787,125,5980.0708,5990.64,,0,,,,68,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.00057,11.00057,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 04:45:00",1,SA1,0,52.96405,0,52.96405,0,0,1230.51,4,1193.16,3,-40.36,0,,,62,,,,,,,,68,,,,,,,,60,,,,,,,,138.43,,,,,,,,164.3,,,,,,,,161,,,,,,0,2495.74422,362,1238.19507,1233.29,,20,,,,17,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.00057,11.00057,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 04:45:00",1,TAS1,0,54.11179,0,54.11179,0,0,934.63,6,716.57,0,-218.05,0,,,0,,,,,,,,26.54,,,,,,,,0,,,,,,,,87.93,,,,,,,,155.16,,,,,,,,143.29,,,,,,7.97503,2283.92554,0,920.65265,934.63,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.13,8.13,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 04:45:00",1,VIC1,0,52.52236,0,52.52236,0,0,4201.65,25,5009.53,4,803.88,0,,,97,,,,,,,,123,,,,,,,,105.55,,,,,,,,103,,,,,,,,91,,,,,,,,111,,,,,,-3.64095,8202.53349,435,4213.04443,4231.34,,110,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.00057,11.00057,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 04:50:00",1,NSW1,0,64.15762,0,64.15762,0,0,7153.96,35,6724.01,5,-434.95,0,,,53.35,,,,,,,,101,,,,,,,,87,,,,,,,,104,,,,,,,,110,,,,,,,,96.74,,,,,,0,11735.6025,116,7141.00586,7169.92,,45,,,,80,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,9,9,0,0.38,0.38,0,0.38,0.38,0,0.15,0.15,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 04:50:00",1,QLD1,0,64,0,64,0,0,6051.33,10,6152.9,0,101.56,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,71,,,,,,,,149.02,,,,,,,,156,,,,,,13.2406,9935.18209,125,6027.92236,6051.13,,0,,,,70,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,9,9,0,0.38,0.38,0,0.38,0.38,0,0.15,0.15,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 04:50:00",1,SA1,0,59.34564,0,59.34564,0,0,1262.59,5,1191.35,0,-71.24,0,,,53,,,,,,,,53,,,,,,,,45,,,,,,,,145,,,,,,,,163,,,,,,,,159,,,,,,24.09714,2493.53651,362,1233.45544,1262.53,,40,,,,11,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,9,9,0,0.38,0.38,0,0.38,0.38,0,0.15,0.15,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 04:50:00",1,TAS1,0,59.55243,0,59.55243,0,0,933.54,6,730.86,0,-202.68,0,,,0,,,,,,,,91.43,,,,,,,,45.09,,,,,,,,79.88,,,,,,,,152.67,,,,,,,,142.95,,,,,,7.03375,2294.87388,0,920.50427,933.54,,50,,,,50,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.38,0.38,0,0.15,0.15,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 04:50:00",1,VIC1,0,57.96228,0,57.96228,0,0,4314.58,28,4951.17,4,632.59,0,,,86,,,,,,,,91,,,,,,,,91,,,,,,,,111.73,,,,,,,,91,,,,,,,,111,,,,,,0,8177.16742,433,4308.40234,4333.17,,75,,,,9,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,9,9,0,0.38,0.38,0,0.38,0.38,0,0.15,0.15,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 04:55:00",1,NSW1,0,62.75,0,62.75,0,0,7129.05,30,6620.81,5,-513.24,0,,,48.63,,,,,,,,101,,,,,,,,87,,,,,,,,104,,,,,,,,110,,,,,,,,88,,,,,,-7.62244,11686.79923,116,7123.34863,7150.17,,59.06,,,,87,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 04:55:00",1,QLD1,0,62.73,0,62.73,0,0,6074.33,9,6155.11,1,79.78,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,71,,,,,,,,139,,,,,,,,139,,,,,,10.66575,9947.83955,125,6054.4502,6075.11,,0,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 04:55:00",1,SA1,0,56.87071,0,56.87071,0,0,1258.75,5,1201.53,7,-64.21,0,,,49,,,,,,,,55,,,,,,,,47,,,,,,,,140.29,,,,,,,,162.61,,,,,,,,161,,,,,,18.38031,2474.97345,362,1235.5022,1265.64,,33.94,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 04:55:00",1,TAS1,0,57.36113,0,57.36113,0,0,933.83,6,737.22,0,-196.61,0,,,0,,,,,,,,59.68,,,,,,,,13.03,,,,,,,,79.88,,,,,,,,146.61,,,,,,,,143.01,,,,,,5.42365,2299.73754,0,922.40967,933.83,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 04:55:00",1,VIC1,0,55.82985,0,55.82985,0,0,4291.14,30,5022.66,1,730.51,0,,,97,,,,,,,,123,,,,,,,,123,,,,,,,,104,,,,,,,,95,,,,,,,,122.21,,,,,,-33.00145,8356.65617,416,4314.32959,4312.58,,67,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 05:00:00",1,NSW1,0,62.75,0,62.75,0,0,7165.08,32,6663.71,5,-506.37,0,,,83,,,,,,,,81,,,,,,,,63.42,,,,,,,,105,,,,,,,,110,,,,,,,,88,,,,,,-7.69634,11681.77574,116,7158.72363,7185.61,,56.99,,,,54,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.26,4.26,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0 +D,DREGION,,2,"2023/12/14 05:00:00",1,QLD1,0,62.73008,0,62.73008,0,0,6078.66,11,6161.92,3,80.27,0,,,0,,,,,,,,175,,,,,,,,155,,,,,,,,71,,,,,,,,236.33,,,,,,,,236,,,,,,14.73262,9948.38824,125,6052.84131,6081.44,,30,,,,111,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.26,4.26,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0 +D,DREGION,,2,"2023/12/14 05:00:00",1,SA1,0,57.20178,0,57.20178,0,0,1274.34,5,1196.28,0,-78.07,0,,,68,,,,,,,,68,,,,,,,,60,,,,,,,,146.48,,,,,,,,80,,,,,,,,121.37,,,,,,19.66496,2495.72728,362,1255.18665,1274.33,,21,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.26,4.26,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0 +D,DREGION,,2,"2023/12/14 05:00:00",1,TAS1,0,57.56249,0,57.56249,0,0,946.57,6,735.14,0,-211.43,0,,,33.46,,,,,,,,6.06,,,,,,,,0,,,,,,,,79.88,,,,,,,,139.64,,,,,,,,142.6,,,,,,5.52904,2293.23852,0,935.03662,946.57,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 05:00:00",1,VIC1,0,55.8717,0,55.8717,0,0,4324.4,26,5078.67,3,751.27,0,,,51,,,,,,,,51,,,,,,,,36,,,,,,,,103,,,,,,,,93,,,,,,,,71,,,,,,-14.23528,8345.66754,402,4330.35645,4347.77,,54,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.26,4.26,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0 +D,DREGION,,2,"2023/12/14 05:05:00",1,NSW1,0,62.75,0,62.75,0,0,7292.99,31,6787.21,5,-510.77,0,,,73.45,,,,,,,,78,,,,,,,,74,,,,,,,,140,,,,,,,,146,,,,,,,,124,,,,,,-7.87029,11754.08235,206,7289.30127,7312.15,,96,,,,59,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.2601,4.2601,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.0434,0.0434,0 +D,DREGION,,2,"2023/12/14 05:05:00",1,QLD1,0,62.6966,0,62.6966,0,0,6062.27,9,6176.9,3,111.63,0,,,0,,,,,,,,134.36,,,,,,,,75.46,,,,,,,,71,,,,,,,,236.33,,,,,,,,236,,,,,,12.33656,9946.85447,125,6043.28809,6065.06,,29,,,,111,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.2601,4.2601,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.0434,0.0434,0 +D,DREGION,,2,"2023/12/14 05:05:00",1,SA1,0,57.62577,0,57.62577,0,0,1287.28,6,1205.44,1,-82.83,0,,,60,,,,,,,,64,,,,,,,,56,,,,,,,,116.07,,,,,,,,77,,,,,,,,80.38,,,,,,15.8686,2505.14834,362,1265.59424,1288.3,,21,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.2601,4.2601,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.0434,0.0434,0 +D,DREGION,,2,"2023/12/14 05:05:00",1,TAS1,0,58.43975,0,58.43975,0,0,954.23,6,702.99,0,-251.24,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,104.52,,,,,,,,142.47,,,,,,5.66091,2273.99303,0,942.57336,954.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 05:05:00",1,VIC1,0,56.288,0,56.288,0,0,4351.5,29,5118.85,0,767.34,0,,,109,,,,,,,,109,,,,,,,,109,,,,,,,,104,,,,,,,,94,,,,,,,,75,,,,,,4.07797,8347.84724,419,4343.9834,4371.65,,14,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.2601,4.2601,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.0434,0.0434,0 +D,DREGION,,2,"2023/12/14 05:10:00",1,NSW1,0,68.33036,0,68.33036,0,0,7387.2,40,6995.14,0,-392.06,0,,,78,,,,,,,,83,,,,,,,,79,,,,,,,,140,,,,,,,,146,,,,,,,,124,,,,,,0,11722.02386,206,7363.97607,7394.49,,91,,,,26,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,5.22756,5.22756,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:10:00",1,QLD1,0,67.94756,0,67.94756,0,0,6131.71,10,6272.99,1,140.28,0,,,0,,,,,,,,130.52,,,,,,,,71.72,,,,,,,,71,,,,,,,,221.93,,,,,,,,221.6,,,,,,22.80335,9950.2696,125,6100.1001,6132.56,,45.76,,,,108,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,5.22756,5.22756,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:10:00",1,SA1,0,63.9154,0,63.9154,0,0,1282.32,7,1213.73,1,-69.6,0,,,53,,,,,,,,66,,,,,,,,58,,,,,,,,116.68,,,,,,,,78,,,,,,,,98.64,,,,,,14.05727,2507.82519,362,1261.13623,1283.25,,21,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,5.22756,5.22756,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:10:00",1,TAS1,0,64.82588,0,64.82588,0,0,955.7,6,725.36,0,-230.35,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,119.39,,,,,,,,142.08,,,,,,-2.15088,2285.50745,0,951.85498,955.7,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 05:10:00",1,VIC1,0,62.76,0,62.76,0,0,4491.02,33,5067.83,7,569.81,0,,,103,,,,,,,,103,,,,,,,,103,,,,,,,,104,,,,,,,,92,,,,,,,,71,,,,,,20.06499,8178.55196,408,4458.33887,4509.05,,9,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,5.22756,5.22756,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:15:00",1,NSW1,0,86.46532,0,86.46532,0,0,7502.78,43,7049.26,0,-453.51,0,,,100,,,,,,,,138,,,,,,,,114,,,,,,,,152.94,,,,,,,,146,,,,,,,,159.81,,,,,,7.06805,11713.90383,206,7464.83496,7511.6,,76,,,,62,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.49,0.49,0,20.68,20.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:15:00",1,QLD1,0,85.55,0,85.55,0,0,6161.84,11,6331.92,0,170.08,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,24,,,,,,,,176.33,,,,,,,,166,,,,,,26.35063,9873.17136,50,6125.8877,6161.75,,51.95,,,,108,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.49,0.49,0,20.68,20.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:15:00",1,SA1,0,80.17966,0,80.17966,0,0,1273.65,7,1227.25,11,-57.39,0,,,39,,,,,,,,41,,,,,,,,33,,,,,,,,121,,,,,,,,79.81,,,,,,,,117,,,,,,12.22797,2515.86057,105,1255.91113,1284.5,,0,,,,0,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.49,0.49,0,20.68,20.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:15:00",1,TAS1,0,81.32528,0,81.32528,0,0,959.94,7,726.6,0,-233.34,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,142.05,,,,,,0.40052,2290.43109,0,952.54376,959.94,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 05:15:00",1,VIC1,0,78.7336,0,78.7336,0,0,4517.28,34,5112.69,0,595.41,0,,,54,,,,,,,,71.99,,,,,,,,55.07,,,,,,,,133,,,,,,,,100,,,,,,,,71,,,,,,6.00654,8217.68997,410,4497.34082,4529.94,,79,,,,0,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.49,0.49,0,20.68,20.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:20:00",1,NSW1,0,85.98,0,85.98,0,0,7531.32,45,7060.4,0,-470.91,0,,,100,,,,,,,,138,,,,,,,,114,,,,,,,,142.55,,,,,,,,146.26,,,,,,,,160.36,,,,,,0,11720.06131,206,7501.90137,7539.41,,76,,,,71,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,18.66,18.66,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:20:00",1,QLD1,0,84.58181,0,84.58181,0,0,6157.45,12,6370.62,0,213.17,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,24,,,,,,,,181.33,,,,,,,,170,,,,,,0,9894.70396,50,6145.375,6157.54,,43.98,,,,87,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,18.66,18.66,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:20:00",1,SA1,0,80.34273,0,80.34273,0,0,1279.04,7,1217,0,-62.04,0,,,37,,,,,,,,39,,,,,,,,31,,,,,,,,119,,,,,,,,81,,,,,,,,115,,,,,,12.88338,2538.08983,105,1273.18945,1278.92,,0,,,,12,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,18.66,18.66,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:20:00",1,TAS1,0,82.11202,0,82.11202,0,0,970.66,6,706,0,-264.66,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,141.95,,,,,,1.55445,2269.1415,0,963.10474,970.66,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,7.34,7.34,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 05:20:00",1,VIC1,0,78.88692,0,78.88692,0,0,4427.08,33,5032.28,0,605.2,0,,,63,,,,,,,,74.87,,,,,,,,55.63,,,,,,,,154,,,,,,,,102,,,,,,,,77,,,,,,4.9889,8194.28328,411,4408.9082,4439.76,,81,,,,0,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,18.66,18.66,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:25:00",1,NSW1,0,85.98,0,85.98,0,0,7602.24,40,7044.53,0,-557.72,0,,,105,,,,,,,,106.09,,,,,,,,79.66,,,,,,,,145.87,,,,,,,,146,,,,,,,,124,,,,,,25.85004,11723.43989,206,7545.479,7614.36,,71,,,,57,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,12.89,12.89,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:25:00",1,QLD1,0,84.62339,0,84.62339,0,0,6186.71,11,6403.19,2,214.48,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,24,,,,,,,,156.23,,,,,,,,170,,,,,,21.44596,9912.02496,50,6154.36182,6188.79,,57,,,,102.18,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,12.89,12.89,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:25:00",1,SA1,0,79.01495,0,79.01495,0,0,1277.21,7,1206.47,0,-70.74,0,,,36.89,,,,,,,,41,,,,,,,,31,,,,,,,,120,,,,,,,,120,,,,,,,,116,,,,,,16.52226,2533.96589,105,1253.74402,1277.14,,0,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,12.89,12.89,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:25:00",1,TAS1,0,81.16814,0,81.16814,0,0,980.74,7,692.91,0,-287.83,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143.83,,,,,,0.82539,2256.52484,0,972.91333,980.74,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 05:25:00",1,VIC1,0,77.5843,0,77.5843,0,0,4447.97,30,5190.44,10,732.46,0,,,99,,,,,,,,104,,,,,,,,89,,,,,,,,144,,,,,,,,82,,,,,,,,104.12,,,,,,-11.24302,8389.43545,430,4447.08447,4476.51,,32,,,,10.82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,12.89,12.89,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 05:30:00",1,NSW1,0,85.98,0,85.98,0,0,7585.1,38,7046.31,0,-538.79,0,,,125,,,,,,,,143,,,,,,,,119,,,,,,,,140,,,,,,,,146,,,,,,,,132.09,,,,,,22.16813,11729.02476,206,7533.9917,7594.49,,71,,,,57,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.2,0.2,0,0.2,0.2,0 +D,DREGION,,2,"2023/12/14 05:30:00",1,QLD1,0,83.51552,0,83.51552,0,0,6170.21,11,6434.84,0,264.63,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,24.57,,,,,,,,149.33,,,,,,,,165,,,,,,17.73848,9942.61439,50,6143.4917,6170.72,,80,,,,92,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.2,0.2,0,0.2,0.2,0 +D,DREGION,,2,"2023/12/14 05:30:00",1,SA1,0,81.21302,0,81.21302,0,0,1297.59,7,1199.01,0,-98.58,0,,,41,,,,,,,,41,,,,,,,,33,,,,,,,,120,,,,,,,,118.03,,,,,,,,116,,,,,,17.35708,2525.07136,105,1274.21191,1297.75,,0,,,,11,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.2,0.2,0,0.2,0.2,0 +D,DREGION,,2,"2023/12/14 05:30:00",1,TAS1,0,82.79906,0,82.79906,0,0,990.03,7,678.56,0,-311.48,0,,,0,,,,,,,,7.18,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143.99,,,,,,-0.06753,2243.46828,0,983.10126,990.03,,50,,,,50,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.2,0.2,0,0.38,0.38,0,0.2,0.2,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 05:30:00",1,VIC1,0,78.94286,0,78.94286,0,0,4518.35,29,5228.73,0,710.37,0,,,64.55,,,,,,,,59,,,,,,,,46.85,,,,,,,,155,,,,,,,,96,,,,,,,,106,,,,,,1.09649,8378.7255,430,4513.74121,4534.46,,19,,,,10,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.2,0.2,0,0.2,0.2,0 +D,DREGION,,2,"2023/12/14 05:35:00",1,NSW1,0,85.98,0,85.98,0,0,7656.1,39,7129.91,0,-526.19,0,,,116.62,,,,,,,,159.66,,,,,,,,144,,,,,,,,150.4,,,,,,,,146,,,,,,,,124,,,,,,12.72394,11758.62037,206,7614.61816,7665.19,,82,,,,57,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 05:35:00",1,QLD1,0,84.1864,0,84.1864,0,0,6217.54,11,6468.46,0,250.91,0,,,0,,,,,,,,55,,,,,,,,45,,,,,,,,24,,,,,,,,164.33,,,,,,,,180,,,,,,11.22122,9975.28667,50,6195.51318,6217.8,,20,,,,76,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 05:35:00",1,SA1,0,81.16151,0,81.16151,0,0,1301.1,6,1199.01,1,-103.09,0,,,36,,,,,,,,39,,,,,,,,31,,,,,,,,118,,,,,,,,112.1,,,,,,,,109.07,,,,,,17.82549,2497.14645,105,1278.77844,1302.3,,11,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 05:35:00",1,TAS1,0,82.95501,0,82.95501,0,0,991.31,7,673.96,0,-317.36,0,,,0,,,,,,,,32.82,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,144.08,,,,,,-0.15321,2240.95565,0,984.46692,991.31,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 05:35:00",1,VIC1,0,78.89183,0,78.89183,0,0,4515.14,30,5264.04,27,721.9,0,,,88,,,,,,,,93,,,,,,,,87.75,,,,,,,,142,,,,,,,,81,,,,,,,,100,,,,,,6.96839,8387.03626,438,4498.74805,4558.76,,47,,,,37,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 05:40:00",1,NSW1,0,99.10241,0,99.10241,0,0,7746.61,41,7262.76,0,-483.85,0,,,114.72,,,,,,,,134.44,,,,,,,,106.11,,,,,,,,167.37,,,,,,,,146,,,,,,,,124,,,,,,19.10402,11810.22086,206,7694.46631,7752.3,,102,,,,59.84,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,11.07241,11.07241,0,0.03,0.03,0,0.15,0.15,0,0.15,0.15,0,1,1,0 +D,DREGION,,2,"2023/12/14 05:40:00",1,QLD1,0,93.98996,0,93.98996,0,0,6192.34,8,6589.38,0,397.04,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,29,,,,,,,,178.25,,,,,,,,180,,,,,,10.15551,10010.16084,50,6174.87207,6194.53,,20,,,,64.16,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,11.07241,11.07241,0,0.03,0.03,0,0.15,0.15,0,0.15,0.15,0,1,1,0 +D,DREGION,,2,"2023/12/14 05:40:00",1,SA1,0,97.67897,0,97.67897,0,0,1335.46,7,1206.39,0,-129.07,0,,,28,,,,,,,,41,,,,,,,,31,,,,,,,,120,,,,,,,,118,,,,,,,,113.97,,,,,,20.27513,2518.85554,105,1308.88086,1335.93,,11,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,11.07241,11.07241,0,0.03,0.03,0,0.15,0.15,0,0.15,0.15,0,1,1,0 +D,DREGION,,2,"2023/12/14 05:40:00",1,TAS1,0,98.34907,0,98.34907,0,0,992.5,7,701.13,0,-291.37,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,42.8,,,,,,,,122.64,,,,,,,,138.92,,,,,,-0.24038,2237.21564,0,985.74158,992.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.27907,7.27907,0,0.03,0.03,0,0.15,0.15,0,0.15,0.15,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 05:40:00",1,VIC1,0,94.00663,0,94.00663,0,0,4632.25,29,5172.09,16,523.84,0,,,99,,,,,,,,114,,,,,,,,99,,,,,,,,155,,,,,,,,97,,,,,,,,105,,,,,,12.06307,8237.08935,441,4621.10352,4656.49,,27,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,11.07241,11.07241,0,0.03,0.03,0,0.15,0.15,0,0.15,0.15,0,1,1,0 +D,DREGION,,2,"2023/12/14 05:45:00",1,NSW1,0,89.03,0,89.03,0,0,7733.87,38,7306.28,0,-427.59,0,,,106.4,,,,,,,,136.84,,,,,,,,107.7,,,,,,,,159.43,,,,,,,,146,,,,,,,,124,,,,,,0,11914.56416,206,7709.78711,7737.9,,96,,,,62,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 05:45:00",1,QLD1,0,85.55,0,85.55,0,0,6198.94,8,6558.26,0,359.32,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,29,,,,,,,,192.33,,,,,,,,181,,,,,,0,10057.81907,50,6192.56885,6200.42,,20,,,,67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 05:45:00",1,SA1,0,86.40576,0,86.40576,0,0,1304.84,7,1220.92,0,-83.92,0,,,34,,,,,,,,41,,,,,,,,31,,,,,,,,96,,,,,,,,78.7,,,,,,,,82.24,,,,,,0,2565.4094,105,1304.90002,1304.86,,0,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 05:45:00",1,TAS1,0,89.00908,0,89.00908,0,0,996.11,7,669.4,0,-326.71,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143.5,,,,,,0.79567,2237.06878,0,988.3147,996.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.27,7.27,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 05:45:00",1,VIC1,0,84.43615,0,84.43615,0,0,4630.84,33,5123.73,0,492.89,0,,,102,,,,,,,,112,,,,,,,,97,,,,,,,,151,,,,,,,,86,,,,,,,,126,,,,,,-1.93105,8246.7335,441,4630.03418,4639.3,,44,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 05:50:00",1,NSW1,0,62.75,0,62.75,0,0,7792.01,33,7221.78,5,-575.23,0,,,99.47,,,,,,,,135,,,,,,,,122,,,,,,,,155.99,,,,,,,,146,,,,,,,,124,,,,,,0,12018.94547,206,7775.65234,7805.92,,110,,,,70,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.38,0.38,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0 +D,DREGION,,2,"2023/12/14 05:50:00",1,QLD1,0,58.73577,0,58.73577,0,0,6121.51,5,6594.54,0,473.03,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,204.26,,,,,,,,174.92,,,,,,0,10126.99065,50,6119.729,6125.32,,0,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.38,0.38,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0 +D,DREGION,,2,"2023/12/14 05:50:00",1,SA1,0,60.58483,0,60.58483,0,0,1317.95,6,1223.53,0,-94.42,0,,,26,,,,,,,,26,,,,,,,,18,,,,,,,,116,,,,,,,,69.01,,,,,,,,112,,,,,,0,2583.41977,105,1317.48047,1318.07,,22,,,,14,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.38,0.38,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0 +D,DREGION,,2,"2023/12/14 05:50:00",1,TAS1,0,62.5296,0,62.5296,0,0,1003.76,7,646.93,0,-356.83,0,,,0,,,,,,,,35.59,,,,,,,,4.25,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143.35,,,,,,1.49187,2229.62673,0,995.26489,1003.76,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.38,0.38,0,0.38,0.38,0,0.07,0.07,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 05:50:00",1,VIC1,0,59.01977,0,59.01977,0,0,4569.37,32,5147.27,0,577.91,0,,,76,,,,,,,,91,,,,,,,,91,,,,,,,,138,,,,,,,,82,,,,,,,,100.71,,,,,,-15.92517,8289.27272,438,4572.55029,4580.99,,67,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.38,0.38,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0 +D,DREGION,,2,"2023/12/14 05:55:00",1,NSW1,0,62.75,0,62.75,0,0,7783.48,25,7211.2,5,-577.28,0,,,96.42,,,,,,,,122.74,,,,,,,,99,,,,,,,,148.29,,,,,,,,146,,,,,,,,124,,,,,,14.56021,12143.01006,206,7761.05322,7797.81,,79,,,,64,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.01,0.01,0,0.15,0.15,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 05:55:00",1,QLD1,0,58.70417,0,58.70417,0,0,6122.89,1,6617.98,0,495.09,0,,,0,,,,,,,,90,,,,,,,,64.1,,,,,,,,24,,,,,,,,190.33,,,,,,,,189,,,,,,24.34216,10163.80062,50,6102.26416,6127.33,,12,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.01,0.01,0,0.15,0.15,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 05:55:00",1,SA1,0,61.89212,0,61.89212,0,0,1350.89,7,1221,0,-129.89,0,,,36,,,,,,,,41,,,,,,,,31,,,,,,,,120,,,,,,,,79.43,,,,,,,,116,,,,,,15.3908,2595.04704,105,1332.9668,1351.37,,0,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.01,0.01,0,0.15,0.15,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 05:55:00",1,TAS1,0,63.58422,0,63.58422,0,0,1049.5,7,657.82,0,-391.67,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143.26,,,,,,1.4275,2240.55731,0,1041.0686,1049.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.01,0.01,0,0.15,0.15,0,0.01,0.01,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 05:55:00",1,VIC1,0,59.56734,0,59.56734,0,0,4611.93,28,5243.83,0,631.89,0,,,110,,,,,,,,125,,,,,,,,110,,,,,,,,143,,,,,,,,86,,,,,,,,83.22,,,,,,-22.56664,8542.82722,421,4620.68164,4625.82,,69,,,,13,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.01,0.01,0,0.15,0.15,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:00:00",1,NSW1,0,61.55,0,61.55,0,0,7837.31,24,7147.1,5,-695.21,0,,,107.61,,,,,,,,106.73,,,,,,,,78.49,,,,,,,,152.54,,,,,,,,146,,,,,,,,124,,,,,,13.21227,12221.27517,206,7817.62061,7855.29,,83,,,,82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:00:00",1,QLD1,0,57.25069,0,57.25069,0,0,6145.56,-3,6658.51,0,512.95,0,,,0,,,,,,,,121.22,,,,,,,,101.22,,,,,,,,24,,,,,,,,190.33,,,,,,,,189,,,,,,33.57537,10278.17206,50,6120.75586,6150.33,,10,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:00:00",1,SA1,0,58.99219,0,58.99219,0,0,1354.23,6,1238.68,0,-115.56,0,,,28,,,,,,,,28,,,,,,,,18,,,,,,,,120,,,,,,,,82.71,,,,,,,,116,,,,,,11.59306,2606.87857,105,1337.47412,1354.55,,12,,,,2,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:00:00",1,TAS1,0,60.91619,0,60.91619,0,0,1064.01,6,663.63,0,-400.38,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143,,,,,,5.02979,2245.56085,0,1052.97986,1064.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.03,0.03,0,0.15,0.15,0,0.07,0.07,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 06:00:00",1,VIC1,0,57.06786,0,57.06786,0,0,4642.91,25,5376.95,0,734.04,0,,,105,,,,,,,,120,,,,,,,,105,,,,,,,,138,,,,,,,,81,,,,,,,,81.76,,,,,,-21.57485,8652.95071,421,4656.09375,4660.69,,55,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:05:00",1,NSW1,0,62.75,0,62.75,0,0,7914.52,19,7178.27,20,-756.25,0,,,63.49,,,,,,,,95.49,,,,,,,,67.15,,,,,,,,155.65,,,,,,,,126,,,,,,,,124,,,,,,20.57207,12519.70478,206,7898.34961,7949.65,,145,,,,79,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0 +D,DREGION,,2,"2023/12/14 06:05:00",1,QLD1,0,58.38787,0,58.38787,0,0,6122.49,-5,6649,0,526.52,0,,,0,,,,,,,,82,,,,,,,,62,,,,,,,,24,,,,,,,,200.06,,,,,,,,211,,,,,,37.27564,10612.08804,50,6096.29248,6127.55,,9,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0 +D,DREGION,,2,"2023/12/14 06:05:00",1,SA1,0,59.72907,0,59.72907,0,0,1385.68,7,1267.02,0,-118.67,0,,,26,,,,,,,,26,,,,,,,,18,,,,,,,,118,,,,,,,,118,,,,,,,,114,,,,,,12.84934,2648.18151,105,1367.31323,1386.03,,21.75,,,,3,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0 +D,DREGION,,2,"2023/12/14 06:05:00",1,TAS1,0,61.52797,0,61.52797,0,0,1066.65,6,680.84,0,-385.81,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,98.88,,,,,,,,153.72,,,,,,,,143.05,,,,,,2.52396,2257.34603,0,1058.12451,1066.65,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.14,0.14,0,0.38,0.38,0,0.07,0.07,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 06:05:00",1,VIC1,0,57.78473,0,57.78473,0,0,4674.94,24,5453.51,5,773.58,0,,,104,,,,,,,,159,,,,,,,,154,,,,,,,,109,,,,,,,,52,,,,,,,,57.73,,,,,,-3.20464,8684.51292,410,4674.31543,4698.76,,19,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0 +D,DREGION,,2,"2023/12/14 06:10:00",1,NSW1,0,32.79008,0,32.79008,0,0,7889.32,18,7064.02,50,-875.3,0,,,86.33,,,,,,,,94.63,,,,,,,,70.79,,,,,,,,140,,,,,,,,126,,,,,,,,124,,,,,,0,12689.11875,206,7953.64307,7960.32,,95,,,,64.59,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.15,0.15,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 06:10:00",1,QLD1,0,29.75356,0,29.75356,0,0,6119.8,-2,6776.18,0,656.37,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,191.95,,,,,,,,189,,,,,,0,10872.0896,50,6129.93848,6128.63,,13,,,,76.41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.15,0.15,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 06:10:00",1,SA1,0,31.04578,0,31.04578,0,0,1393.68,8,1300.06,0,-93.62,0,,,41,,,,,,,,41,,,,,,,,33,,,,,,,,87.59,,,,,,,,79.59,,,,,,,,116,,,,,,0,2663.34978,105,1401.33618,1393.79,,0,,,,23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.15,0.15,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 06:10:00",1,TAS1,0,54.11,0,54.11,0,0,1068.92,5,606.92,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,149.64,,,,,,,,160,,,,,,,,142.96,,,,,,5.64918,2259.88464,0,1058.26941,1068.92,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.14,0.14,0,0.38,0.38,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 06:10:00",1,VIC1,0,30.24378,0,30.24378,0,0,4710.6,23,5543.69,5,828.09,0,,,96,,,,,,,,131,,,,,,,,126,,,,,,,,104,,,,,,,,91,,,,,,,,76.57,,,,,,0,8799.68666,410,4715.10303,4739.21,,97.38,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.15,0.15,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 06:15:00",1,NSW1,0,21.61679,0,21.61679,0,0,7927.1,18,6948.58,50,-1028.52,0,,,53,,,,,,,,83.57,,,,,,,,59,,,,,,,,140,,,,,,,,126,,,,,,,,124,,,,,,0,12732.53483,206,8002.07813,8005.05,,120,,,,45,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:15:00",1,QLD1,0,20.0424,0,20.0424,0,0,6216.23,4,6762.97,0,546.75,0,,,0,,,,,,,,67.4,,,,,,,,57.4,,,,,,,,24,,,,,,,,196,,,,,,,,189,,,,,,0,10990.05703,50,6219.61621,6221.31,,20.38,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:15:00",1,SA1,0,19.56637,0,19.56637,0,0,1392.63,8,1311.51,0,-81.12,0,,,34,,,,,,,,41,,,,,,,,33,,,,,,,,86.14,,,,,,,,66.99,,,,,,,,91.1,,,,,,0,2669.06614,105,1388.29163,1392.64,,16,,,,34,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:15:00",1,TAS1,0,54.1,0,54.1,0,0,1067.43,5,605.43,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,150.88,,,,,,,,160,,,,,,,,142.89,,,,,,5.77308,2269.50312,0,1056.65576,1067.43,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.05,0.05,0,0,0,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 06:15:00",1,VIC1,0,19.12,0,19.12,0,0,4491.66,17,5593.29,5,1096.63,0,,,105,,,,,,,,160,,,,,,,,150.15,,,,,,,,100,,,,,,,,95,,,,,,,,97,,,,,,0,8856.64957,416,4527.38721,4535.36,,49,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:20:00",1,NSW1,0,39.25,0,39.25,0,0,7984.37,19,6899.25,49.19,-1134.31,0,,,36.04,,,,,,,,111.81,,,,,,,,97.77,,,,,,,,140,,,,,,,,126,,,,,,,,138.28,,,,,,2.93244,12853.93642,206,8038.32959,8067.42,,96,,,,88,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.34,0.34,0,0.39,0.39,0,0.07,0.07,0,6,6,0 +D,DREGION,,2,"2023/12/14 06:20:00",1,QLD1,0,35.44616,0,35.44616,0,0,6214.69,6,6920.04,0,705.35,0,,,0,,,,,,,,37,,,,,,,,25,,,,,,,,24,,,,,,,,138.65,,,,,,,,141,,,,,,27.60333,11038.4305,50,6187.17725,6224.87,,39.38,,,,30,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.34,0.34,0,0.39,0.39,0,0.07,0.07,0,6,6,0 +D,DREGION,,2,"2023/12/14 06:20:00",1,SA1,0,35.86653,0,35.86653,0,0,1405.74,7,1311.47,0,-94.27,0,,,26,,,,,,,,51.38,,,,,,,,31,,,,,,,,80.05,,,,,,,,119,,,,,,,,115,,,,,,20.33492,2650.67794,105,1378.76855,1405.85,,20,,,,43,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.34,0.34,0,0.39,0.39,0,0.07,0.07,0,6,6,0 +D,DREGION,,2,"2023/12/14 06:20:00",1,TAS1,0,54.1,0,54.1,0,0,1069.16,4,607.16,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,150.88,,,,,,,,160,,,,,,,,139.38,,,,,,4.4292,2287.55324,0,1060.72827,1069.16,,50,,,,50,,,,,,,,,,,,,,,,,,,1,1,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.34,0.34,0,0,0,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 06:20:00",1,VIC1,0,34.94,0,34.94,0,0,4604.01,14,5674.54,5,1065.54,0,,,104,,,,,,,,150,,,,,,,,144,,,,,,,,106,,,,,,,,99,,,,,,,,109,,,,,,5.3569,8891.66962,418,4622.05176,4645.16,,50,,,,9,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.34,0.34,0,0.39,0.39,0,0.07,0.07,0,6,6,0 +D,DREGION,,2,"2023/12/14 06:25:00",1,NSW1,0,38.74711,0,38.74711,0,0,8072.65,18,6840.4,50.94,-1283.18,0,,,45.06,,,,,,,,89.06,,,,,,,,71.06,,,,,,,,141,,,,,,,,126,,,,,,,,126.38,,,,,,-13.13133,12902.91849,206,8157.16504,8167.18,,131,,,,65,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.52289,0.52289,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:25:00",1,QLD1,0,34.55,0,34.55,0,0,6166.75,2,6956.74,0,790,0,,,0,,,,,,,,91,,,,,,,,71,,,,,,,,24,,,,,,,,159.33,,,,,,,,177,,,,,,31.88779,11109.62494,50,6144.2124,6180.13,,18,,,,51,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.52289,0.52289,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:25:00",1,SA1,0,35.14367,0,35.14367,0,0,1427.73,6,1314.26,0,-113.47,0,,,36.61,,,,,,,,75,,,,,,,,60.47,,,,,,,,121,,,,,,,,115.94,,,,,,,,117,,,,,,22.12913,2653.52833,105,1399.93945,1428.03,,18,,,,35,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.52289,0.52289,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:25:00",1,TAS1,0,53.60593,0,53.60593,0,0,1072.88,4,615.76,0,-457.11,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,156.46,,,,,,,,139.36,,,,,,2.97492,2289.29659,0,1065.90088,1072.88,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0,0,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 06:25:00",1,VIC1,0,33.99802,0,33.99802,0,0,4583.53,15,5751.02,5,1162.49,0,,,84,,,,,,,,89,,,,,,,,94,,,,,,,,112.88,,,,,,,,85,,,,,,,,83,,,,,,9.10193,8984.12106,421,4606.36133,4629.98,,33.49,,,,19,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.52289,0.52289,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:30:00",1,NSW1,0,58,0,58,0,0,8096.11,23,6857.15,30,-1268.95,0,,,34,,,,,,,,106,,,,,,,,84,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,-6.98316,12942.34515,206,8167.39941,8168.61,,116,,,,65,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.05,0.05,0,0.17,0.17,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:30:00",1,QLD1,0,52.00029,0,52.00029,0,0,6183.07,3,6942.05,0,758.97,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,216.33,,,,,,,,189,,,,,,35.33744,11000.90075,50,6153.23193,6195.11,,25,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.05,0.05,0,0.17,0.17,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:30:00",1,SA1,0,32.55006,0,32.55006,0,0,1411.67,4,1309.05,0,-102.63,0,,,36.34,,,,,,,,41,,,,,,,,31.44,,,,,,,,96.03,,,,,,,,48.79,,,,,,,,91.81,,,,,,19.63134,2697.40251,105,1388.08313,1414.21,,3.38,,,,22,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.05,0.05,0,0.17,0.17,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:30:00",1,TAS1,0,53.57593,0,53.57593,0,0,1085.24,3,623.24,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,144.31,,,,,,2.62609,2292.06877,0,1079.61646,1085.24,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.05,0.05,0,0,0,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 06:30:00",1,VIC1,0,19.12,0,19.12,0,0,4574.66,10,5758.97,5,1179.32,0,,,95,,,,,,,,110.86,,,,,,,,110,,,,,,,,133,,,,,,,,93,,,,,,,,88,,,,,,0,9018.49744,418,4611.62939,4627.3,,61,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.05,0.05,0,0.17,0.17,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:35:00",1,NSW1,0,56.56774,0,56.56774,0,0,8216.85,25,6894.94,30,-1351.91,0,,,50.92,,,,,,,,98.44,,,,,,,,74,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,1.03295,13068.93125,206,8266.62305,8295.67,,115,,,,66,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 06:35:00",1,QLD1,0,49.55,0,49.55,0,0,6228.16,6,7123.83,0,895.68,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,37.31945,11152.08323,50,6200.55176,6245.69,,25,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 06:35:00",1,SA1,0,31.92246,0,31.92246,0,0,1426.73,2,1330.24,26,-122.49,0,,,20,,,,,,,,39,,,,,,,,29,,,,,,,,85.03,,,,,,,,83.8,,,,,,,,115,,,,,,12.46677,2644.33569,105,1415.06519,1455.11,,11,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 06:35:00",1,TAS1,0,54.1,0,54.1,0,0,1085.46,2,623.46,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,148.21,,,,,,3.79638,2244.50647,0,1079.65955,1085.46,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.03,0.03,0,0,0,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 06:35:00",1,VIC1,0,19.12,0,19.12,0,0,4540.12,1,5744.9,51,1153.79,0,,,94,,,,,,,,119,,,,,,,,121.02,,,,,,,,146,,,,,,,,86,,,,,,,,61.92,,,,,,-15.37807,8932.29,415,4608.39697,4635.44,,54.38,,,,23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 06:40:00",1,NSW1,0,57.27467,0,57.27467,0,0,8321,24,6976.55,51.36,-1395.8,0,,,48,,,,,,,,99.64,,,,,,,,77.87,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,16.05804,13175.62173,206,8356.99805,8425.23,,115,,,,60,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.14,0.14,0,0.32352,0.32352,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:40:00",1,QLD1,0,49.55,0,49.55,0,0,6221.02,12,7195.6,0,974.58,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,38.00837,11229.6237,50,6193.94287,6242.2,,25,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.14,0.14,0,0.32352,0.32352,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:40:00",1,SA1,0,21.88486,0,21.88486,0,0,1434.41,2,1306.06,11,-139.35,0,,,31,,,,,,,,41,,,,,,,,33,,,,,,,,88.34,,,,,,,,83.6,,,,,,,,103.37,,,,,,14.60934,2622.08653,105,1439.32312,1446.03,,14.38,,,,4,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.14,0.14,0,0.32352,0.32352,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:40:00",1,TAS1,0,54.1,0,54.1,0,0,1082.7,1,620.7,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,148.57,,,,,,5.88334,2246.0694,0,1075.81702,1082.7,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.14,0.14,0,0,0,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 06:40:00",1,VIC1,0,21.06756,0,21.06756,0,0,4620.81,-1,5767.6,11,1135.79,0,,,86,,,,,,,,113.64,,,,,,,,111,,,,,,,,146,,,,,,,,88,,,,,,,,75,,,,,,0,8961.68626,402,4703.30859,4670.35,,51,,,,25,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.14,0.14,0,0.32352,0.32352,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 06:45:00",1,NSW1,0,58,0,58,0,0,8440.32,29,7052.65,47.84,-1435.5,0,,,75.16,,,,,,,,117.19,,,,,,,,101.16,,,,,,,,141,,,,,,,,127,,,,,,,,124,,,,,,27.77548,13233.42672,206,8494.44629,8545.59,,100,,,,80,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.3,0.3,0,0.38,0.38,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:45:00",1,QLD1,0,49.55,0,49.55,0,0,6110.98,4,7134.82,0,1023.84,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,39.69926,11200.40163,50,6094.56885,6134.82,,21,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.3,0.3,0,0.38,0.38,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:45:00",1,SA1,0,47.17344,0,47.17344,0,0,1446.73,1,1301.22,1,-146.51,0,,,41,,,,,,,,41,,,,,,,,33,,,,,,,,102.4,,,,,,,,75.94,,,,,,,,91.64,,,,,,16.8179,2640.6582,105,1439.0625,1448.73,,11,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.3,0.3,0,0.38,0.38,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:45:00",1,TAS1,0,54.1,0,54.1,0,0,1084.83,1,628.1,0,-456.73,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,148.63,,,,,,3.50593,2269.4833,0,1080.32813,1084.83,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.3,0.3,0,0,0,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 06:45:00",1,VIC1,0,45.64098,0,45.64098,0,0,4631.84,-4,5780.1,12,1136.26,0,,,47.8,,,,,,,,89.8,,,,,,,,86.67,,,,,,,,129,,,,,,,,91,,,,,,,,83,,,,,,0,8915.99428,399,4676.29053,4682.93,,68.11,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.3,0.3,0,0.38,0.38,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:50:00",1,NSW1,0,58,0,58,0,0,8476.72,29,7089.84,36.71,-1423.58,0,,,82.56,,,,,,,,105.31,,,,,,,,95.51,,,,,,,,141,,,,,,,,127,,,,,,,,124,,,,,,38.9644,13289.81904,206,8519.2207,8572.56,,100,,,,86,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.14,0.14,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:50:00",1,QLD1,0,49.19438,0,49.19438,0,0,6120.38,1,7204.18,0,1083.8,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,36.63668,11294.72289,50,6110.96631,6147.47,,21,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.14,0.14,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:50:00",1,SA1,0,50.90967,0,50.90967,0,0,1438.19,-2,1297.82,0,-140.37,0,,,38,,,,,,,,38,,,,,,,,31,,,,,,,,95.86,,,,,,,,84.47,,,,,,,,106.82,,,,,,12.75954,2677.51502,105,1429.53125,1439.2,,11,,,,2,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.14,0.14,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:50:00",1,TAS1,0,54.1,0,54.1,0,0,1071.01,0,639.62,0,-431.39,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,148.99,,,,,,5.89659,2277.67801,0,1065.11157,1071.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.14,0.14,0,0,0,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 06:50:00",1,VIC1,0,49.50717,0,49.50717,0,0,4644.35,-4,5677.12,1,1031.77,0,,,43,,,,,,,,78,,,,,,,,93,,,,,,,,137,,,,,,,,83,,,,,,,,68,,,,,,4.92896,8900.342,379,4695.90527,4678.35,,42.77,,,,1,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.14,0.14,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 06:55:00",1,NSW1,0,42.65054,0,42.65054,0,0,8415.82,26,7029.75,64,-1450.07,0,,,49,,,,,,,,87,,,,,,,,65,,,,,,,,141,,,,,,,,127,,,,,,,,124,,,,,,0,13344.62828,206,8516.68652,8556.36,,100,,,,60,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.17,0.17,0,0.05,0.05,0,0.27,0.27,0 +D,DREGION,,2,"2023/12/14 06:55:00",1,QLD1,0,34.55,0,34.55,0,0,5898.08,-6,7203.11,0,1305.02,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,0,11341.61194,50,5940.41748,5940.43,,21,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.17,0.17,0,0.05,0.05,0,0.27,0.27,0 +D,DREGION,,2,"2023/12/14 06:55:00",1,SA1,0,9.20454,0,9.20454,0,0,1435.54,-4,1295.87,6,-145.67,0,,,38.21,,,,,,,,40,,,,,,,,31,,,,,,,,104.46,,,,,,,,87.68,,,,,,,,118,,,,,,0,2805.48856,105,1446.29956,1442.77,,11,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.17,0.17,0,0.05,0.05,0,0.27,0.27,0 +D,DREGION,,2,"2023/12/14 06:55:00",1,TAS1,0,54.08,0,54.08,0,0,1063.64,-1,601.64,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,148.95,,,,,,5.13918,2260.25699,0,1059.50049,1063.64,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.05,0.05,0,0,0,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 06:55:00",1,VIC1,0,8.95,0,8.95,0,0,4541.97,-12,5441.95,0,899.99,0,,,76.62,,,,,,,,125.8,,,,,,,,124.38,,,,,,,,129,,,,,,,,81,,,,,,,,58.06,,,,,,-8.35005,8870.70769,390,4600.4209,4569.11,,73.38,,,,32,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.17,0.17,0,0.05,0.05,0,0.27,0.27,0 +D,DREGION,,2,"2023/12/14 07:00:00",1,NSW1,0,59.99,0,59.99,0,0,8454.41,16,7272.41,64,-1246,0,,,48,,,,,,,,87,,,,,,,,80.3,,,,,,,,141,,,,,,,,127,,,,,,,,124,,,,,,48.9105,13413.36588,206,8521.96582,8583.7,,115,,,,60,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.35198,0.35198,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:00:00",1,QLD1,0,49.08772,0,49.08772,0,0,5976.54,-14,7235.46,0,1258.91,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,38.72833,11324.58835,50,5990.41309,6015.44,,25,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.35198,0.35198,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:00:00",1,SA1,0,19.66294,0,19.66294,0,0,1423.06,-6,1249.91,0,-173.16,0,,,34,,,,,,,,40,,,,,,,,33,,,,,,,,110.46,,,,,,,,84.23,,,,,,,,104.21,,,,,,18.82631,2786.31343,105,1413.69922,1425.93,,16.38,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.35198,0.35198,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:00:00",1,TAS1,0,53.57593,0,53.57593,0,0,1058.97,-1,596.97,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,149.35,,,,,,-0.52864,2282.60833,0,1060.5033,1058.97,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.14,0.14,0,0,0,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 07:00:00",1,VIC1,0,19.12,0,19.12,0,0,4641.52,-19,5404.48,10,752.96,0,,,105,,,,,,,,123.72,,,,,,,,105,,,,,,,,126,,,,,,,,86,,,,,,,,73,,,,,,0,8902.63373,379,4683.7373,4675.18,,49,,,,29,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.35198,0.35198,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:05:00",1,NSW1,0,57.9998,0,57.9998,0,0,8485.3,7,7293.09,154,-1346.21,0,,,80.54,,,,,,,,127.69,,,,,,,,85,,,,,,,,190.48,,,,,,,,127,,,,,,,,125,,,,,,50,13515.19198,206,8563.95508,8702.93,,35,,,,80,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,19.31,19.31,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:05:00",1,QLD1,0,48.15731,0,48.15731,0,0,6015.57,-9,7223.09,0,1207.51,0,,,11,,,,,,,,98,,,,,,,,70,,,,,,,,29,,,,,,,,216.33,,,,,,,,206,,,,,,35.7745,11319.15684,50,6032.69189,6050.67,,23,,,,88,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,19.31,19.31,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:05:00",1,SA1,0,54.37664,0,54.37664,0,0,1421.22,-8,1262.45,1,-159.77,0,,,78,,,,,,,,65,,,,,,,,61.17,,,,,,,,122,,,,,,,,120,,,,,,,,116,,,,,,9.01038,2795.08429,105,1423.07813,1427.21,,19,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,19.31,19.31,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:05:00",1,TAS1,0,55.75639,0,55.75639,0,0,1053.85,-1,794.82,0,-259.03,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,11.69,,,,,,,,84.28,,,,,,,,115.07,,,,,,-1.5354,2278.60849,0,1056.38306,1053.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,8.68639,8.68639,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 07:05:00",1,VIC1,0,53.70345,0,53.70345,0,0,4809.21,-18,5500.3,9,682.09,0,,,70.77,,,,,,,,73.77,,,,,,,,70.77,,,,,,,,151,,,,,,,,90.7,,,,,,,,76.25,,,,,,0,8651.11083,374,4859.4082,4839.08,,83,,,,2,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,19.31,19.31,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:10:00",1,NSW1,0,54.95,0,54.95,0,0,8454.32,2,7127.48,120,-1446.84,0,,,53,,,,,,,,91,,,,,,,,70,,,,,,,,150.62,,,,,,,,126,,,,,,,,124,,,,,,48.04181,13464.41495,206,8639.78027,8648.57,,25,,,,70,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,20.35967,20.35967,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,2,2,0 +D,DREGION,,2,"2023/12/14 07:10:00",1,QLD1,0,18.84,0,18.84,0,0,6048.15,-9,7352.16,3,1301.01,0,,,0,,,,,,,,74.6,,,,,,,,64.6,,,,,,,,21,,,,,,,,183,,,,,,,,177,,,,,,14.13577,11620.54004,50,6092.24072,6091.92,,15,,,,80,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,20.35967,20.35967,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,2,2,0 +D,DREGION,,2,"2023/12/14 07:10:00",1,SA1,0,49.66489,0,49.66489,0,0,1377.32,-11,1292.79,8,-92.53,0,,,56.66,,,,,,,,57.73,,,,,,,,33,,,,,,,,121,,,,,,,,96.57,,,,,,,,118,,,,,,9.62229,2827.19241,105,1383.60071,1390.78,,5,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,20.35967,20.35967,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,2,2,0 +D,DREGION,,2,"2023/12/14 07:10:00",1,TAS1,0,52.9113,0,52.9113,0,0,1076.3,-2,751.83,0,-324.46,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,61,,,,,,,,140.72,,,,,,,,143.58,,,,,,5.31428,2269.93379,0,1072.98132,1076.3,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 07:10:00",1,VIC1,0,50.31967,0,50.31967,0,0,4738.88,-22,5448.49,0,709.61,0,,,133.64,,,,,,,,143.64,,,,,,,,118.66,,,,,,,,141,,,,,,,,82,,,,,,,,65.71,,,,,,-10.92631,8641.04707,376,4801.88965,4765.19,,115,,,,20,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,20.35967,20.35967,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,2,2,0 +D,DREGION,,2,"2023/12/14 07:15:00",1,NSW1,0,58,0,58,0,0,8498.53,0,7167.7,115,-1445.83,0,,,92,,,,,,,,130,,,,,,,,119,,,,,,,,194.78,,,,,,,,130.2,,,,,,,,124,,,,,,48.36817,13513.07858,206,8676.67969,8687.66,,35,,,,65,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.39,0.39,0,0.42,0.42,0,0.39,0.39,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 07:15:00",1,QLD1,0,-20.5,0,-20.5,0,0,6028.7,-9,7304.46,0,1275.75,0,,,0,,,,,,,,42,,,,,,,,28,,,,,,,,26,,,,,,,,215,,,,,,,,199,,,,,,-6.72549,11909.97619,50,6113.0293,6069.27,,13,,,,94,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.39,0.39,0,0.42,0.42,0,0.39,0.39,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 07:15:00",1,SA1,0,52.40557,0,52.40557,0,0,1379.55,-13,1291.27,0,-88.27,0,,,71.86,,,,,,,,85,,,,,,,,37.98,,,,,,,,122,,,,,,,,110,,,,,,,,118,,,,,,13.27113,2812.25861,105,1387.91382,1384.55,,11,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.39,0.39,0,0.42,0.42,0,0.39,0.39,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 07:15:00",1,TAS1,0,55.68923,0,55.68923,0,0,1108.92,-2,802.45,0,-306.47,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,,,82.72,,,,,,,,115.22,,,,,,11.54796,2262.55201,0,1099.37354,1108.92,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,8.61923,8.61923,0,0.39,0.39,0,0.42,0.42,0,0.39,0.39,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 07:15:00",1,VIC1,0,53.09561,0,53.09561,0,0,4730.76,-22,5445.98,5,710.22,0,,,80.52,,,,,,,,110.52,,,,,,,,100.52,,,,,,,,154,,,,,,,,95,,,,,,,,76.7,,,,,,-10.06046,8550.37691,390,4786.28027,4761.46,,101,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.39,0.39,0,0.42,0.42,0,0.39,0.39,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 07:20:00",1,NSW1,0,9.37764,0,9.37764,0,0,8106.78,-6,7080.03,154,-1180.75,0,,,58,,,,,,,,98.61,,,,,,,,85,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,0,13612.46914,206,8282.96582,8325.12,,20,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:20:00",1,QLD1,0,1,0,1,0,0,6065.37,-5,7328.34,3,1259.97,0,,,28,,,,,,,,56,,,,,,,,25,,,,,,,,21,,,,,,,,192.38,,,,,,,,181,,,,,,-23.25622,11882.40585,50,6126.08252,6107.8,,15,,,,75,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:20:00",1,SA1,0,8.7426,0,8.7426,0,0,1337.32,-15,1280.54,0,-56.78,0,,,45.05,,,,,,,,80,,,,,,,,41.35,,,,,,,,69.81,,,,,,,,33,,,,,,,,65.86,,,,,,0,2807.3237,105,1361.4563,1342.65,,17.38,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:20:00",1,TAS1,0,37.08,0,37.08,0,0,1102.79,-2,640.79,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,147,,,,,,,,143.52,,,,,,0,2266.99974,0,1104.78711,1102.79,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0.45,0.45,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 07:20:00",1,VIC1,0,8.95,0,8.95,0,0,4779.67,-23,5354.89,0,575.21,0,,,112.61,,,,,,,,132.61,,,,,,,,132.61,,,,,,,,135,,,,,,,,105,,,,,,,,89,,,,,,0,8590.33855,404,4835.99365,4806.22,,153,,,,45,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:25:00",1,NSW1,0,22.57369,0,22.57369,0,0,8160.97,-18,7154.88,154,-1160.08,0,,,57,,,,,,,,96,,,,,,,,85,,,,,,,,141,,,,,,,,122.6,,,,,,,,124,,,,,,49.0209,13751.42705,206,8328.02441,8371.2,,20,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:25:00",1,QLD1,0,18.84,0,18.84,0,0,6055.67,0,7230.67,0,1175,0,,,0,,,,,,,,52,,,,,,,,25,,,,,,,,21,,,,,,,,196,,,,,,,,191,,,,,,-7.74915,11779.71991,50,6094.8418,6089.22,,40.38,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:25:00",1,SA1,0,18.50274,0,18.50274,0,0,1342.04,-17,1324.45,0,-17.59,0,,,59.61,,,,,,,,85.98,,,,,,,,34.42,,,,,,,,70.87,,,,,,,,35,,,,,,,,57.75,,,,,,19.52434,2815.45131,105,1344.75854,1346.72,,31,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:25:00",1,TAS1,0,54.1,0,54.1,0,0,1092.77,-2,630.77,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,136.64,,,,,,,,143.49,,,,,,-2.26338,2243.50541,0,1097.03223,1092.77,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.39,0.39,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 07:25:00",1,VIC1,0,19.14,0,19.14,0,0,4840.85,-19,5435.71,9,585.86,0,,,127.83,,,,,,,,132.83,,,,,,,,137.83,,,,,,,,111,,,,,,,,89,,,,,,,,63,,,,,,8.2061,8675.09202,421,4876.53955,4876.57,,114,,,,39,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:30:00",1,NSW1,0,54.95,0,54.95,0,0,8197.17,-18,7255.15,160,-1102.02,0,,,52,,,,,,,,91,,,,,,,,70,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,49.34727,13874.71774,211,8353.89746,8406.07,,32,,,,45.51,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:30:00",1,QLD1,0,46.50207,0,46.50207,0,0,6072.9,-4,7176.73,0,1103.83,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,21,,,,,,,,166,,,,,,,,166,,,,,,-10.36234,11571.17906,50,6109.0083,6101.92,,21,,,,69,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:30:00",1,SA1,0,9.07237,0,9.07237,0,0,1333.94,-18,1323.48,5,-15.46,0,,,75.17,,,,,,,,57.66,,,,,,,,33,,,,,,,,79.31,,,,,,,,44.8,,,,,,,,53.26,,,,,,22.04084,2823.91333,105,1334.32971,1343.64,,3.38,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:30:00",1,TAS1,0,54.1,0,54.1,0,0,1093.01,-3,631.01,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,147,,,,,,,,143.54,,,,,,-5.81563,2221.32044,0,1101.82422,1093.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.3,0.3,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 07:30:00",1,VIC1,0,9.38454,0,9.38454,0,0,4821.57,-15,5412.69,6,585.12,0,,,110.79,,,,,,,,120.79,,,,,,,,107.99,,,,,,,,97,,,,,,,,89,,,,,,,,86,,,,,,11.59629,8776.67391,410,4861.68408,4854.42,,149,,,,50.49,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:35:00",1,NSW1,0,54.95,0,54.95,0,0,8166.67,-9,7327.75,163,-1001.92,0,,,87.01,,,,,,,,160,,,,,,,,107,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,21.10221,13879.2854,211,8356.75684,8389.31,,43.38,,,,65,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.85,0.85,0,4.77,4.77,0,0.45,0.45,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 07:35:00",1,QLD1,0,45.16736,0,45.16736,0,0,5930.76,-6,7163.22,0,1232.45,0,,,28,,,,,,,,66,,,,,,,,55,,,,,,,,21,,,,,,,,180,,,,,,,,180,,,,,,7.38082,10910.97641,50,5962.16309,5968.73,,11,,,,69,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.85,0.85,0,4.77,4.77,0,0.45,0.45,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 07:35:00",1,SA1,0,8.83323,0,8.83323,0,0,1331.01,-18,1271.64,0,-59.37,0,,,90,,,,,,,,47,,,,,,,,78,,,,,,,,66.05,,,,,,,,57.09,,,,,,,,81.3,,,,,,23.66196,2507.002,105,1330.05115,1334.48,,16,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.85,0.85,0,4.77,4.77,0,0.45,0.45,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 07:35:00",1,TAS1,0,54.08,0,54.08,0,0,1086.32,-3,624.32,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,138.79,,,,,,-8.44965,2231.71573,0,1097.7677,1086.32,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.85,0.85,0,1.75,1.75,0,0,0,0,4.54033,4.54033,0 +D,DREGION,,2,"2023/12/14 07:35:00",1,VIC1,0,8.95,0,8.95,0,0,4865.28,-15,5277.13,0,411.86,0,,,41,,,,,,,,90.43,,,,,,,,41.79,,,,,,,,139,,,,,,,,86,,,,,,,,78,,,,,,9.29737,8701.79563,415,4896.84619,4885.22,,135,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.85,0.85,0,4.77,4.77,0,0.45,0.45,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 07:40:00",1,NSW1,0,62.75,0,62.75,0,0,8277.13,-8,7434.62,158,-1000.5,0,,,57,,,,,,,,118.6,,,,,,,,85,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,26.19048,13879.26316,211,8458.4248,8488.61,,25,,,,67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 07:40:00",1,QLD1,0,52.06759,0,52.06759,0,0,6035.63,-6,7223.02,0,1187.39,0,,,20,,,,,,,,74,,,,,,,,45,,,,,,,,21,,,,,,,,176,,,,,,,,176,,,,,,3.30924,10901.04979,50,6068.08301,6069.67,,23,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 07:40:00",1,SA1,0,8.97594,0,8.97594,0,0,1295.36,-18,1226.39,8,-76.98,0,,,99.42,,,,,,,,75,,,,,,,,83.83,,,,,,,,76.03,,,,,,,,65.21,,,,,,,,113.81,,,,,,9.96814,2487.04102,105,1306.96521,1305.24,,5.38,,,,3,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 07:40:00",1,TAS1,0,54.1,0,54.1,0,0,1080.59,-3,618.59,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.4,,,,,,-15.20696,2244.50044,0,1098.79834,1080.59,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0.45,0.45,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 07:40:00",1,VIC1,0,9,0,9,0,0,4775.35,-19,5235.95,2,458.6,0,,,66.72,,,,,,,,96.72,,,,,,,,66.72,,,,,,,,148,,,,,,,,100,,,,,,,,63,,,,,,0,8709.08173,413,4813.68213,4794.47,,152,,,,23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 07:45:00",1,NSW1,0,62.75,0,62.75,0,0,8265.91,-6,7481.12,154,-938.8,0,,,77,,,,,,,,140.01,,,,,,,,85,,,,,,,,142,,,,,,,,126,,,,,,,,124,,,,,,30.95238,13897.48001,206,8444.31738,8479.53,,35,,,,83,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:45:00",1,QLD1,0,51.67632,0,51.67632,0,0,5994.18,-3,7244.21,0,1250.03,0,,,0,,,,,,,,48,,,,,,,,25,,,,,,,,19,,,,,,,,178,,,,,,,,178,,,,,,10.66928,10877.45843,50,6022.15527,6032.62,,31.38,,,,76,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:45:00",1,SA1,0,-35.95,0,-35.95,0,0,1286,-18,1174.5,6,-117.5,0,,,97.08,,,,,,,,70,,,,,,,,79.35,,,,,,,,121,,,,,,,,77.78,,,,,,,,118,,,,,,-1.78739,2522.94468,105,1311.21008,1294.7,,31,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:45:00",1,TAS1,0,54.08,0,54.08,0,0,1070.17,-3,608.17,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,99.34,,,,,,,,153,,,,,,,,143.61,,,,,,-19.58331,2246.75938,0,1092.74878,1070.17,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0.45,0.45,0,0,0,0,4.56049,4.56049,0 +D,DREGION,,2,"2023/12/14 07:45:00",1,VIC1,0,-35.67741,0,-35.67741,0,0,4741.36,-20,5134.88,7,386.51,0,,,70.85,,,,,,,,107.85,,,,,,,,90.85,,,,,,,,104.51,,,,,,,,82,,,,,,,,53.17,,,,,,-11.77703,8751.84901,368,4795.07861,4765.85,,108,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 07:50:00",1,NSW1,0,60.61376,0,60.61376,0,0,8250.44,-9,7444.9,149,-954.53,0,,,70.48,,,,,,,,156.84,,,,,,,,58,,,,,,,,142,,,,,,,,126,,,,,,,,124,,,,,,35.71429,13626.88245,206,8432.2168,8460.94,,55,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,3.38,3.38,0,0.39,0.39,0,1,1,0,0.45,0.45,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 07:50:00",1,QLD1,0,49.55,0,49.55,0,0,5956.71,-4,7220.52,0,1263.8,0,,,9,,,,,,,,74,,,,,,,,55,,,,,,,,19,,,,,,,,191,,,,,,,,185,,,,,,6.30246,10804.52652,50,5994.09277,5996.31,,23,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,3.38,3.38,0,0.39,0.39,0,1,1,0,0.45,0.45,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 07:50:00",1,SA1,0,9.06452,0,9.06452,0,0,1272.65,-16,1143.21,5,-134.44,0,,,83,,,,,,,,47,,,,,,,,77,,,,,,,,119,,,,,,,,77.94,,,,,,,,116,,,,,,0,2482.73409,105,1294.42554,1280.76,,16,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,3.38,3.38,0,0.39,0.39,0,1,1,0,0.45,0.45,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 07:50:00",1,TAS1,0,54.1,0,54.1,0,0,1064.77,-3,602.77,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.54,,,,,,-21.57872,2240.38339,0,1089.34802,1064.77,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.39,0.39,0,1,1,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 07:50:00",1,VIC1,0,8.95,0,8.95,0,0,4791.2,-17,5203.86,3,409.66,0,,,82,,,,,,,,87,,,,,,,,89.38,,,,,,,,115.59,,,,,,,,81,,,,,,,,60.41,,,,,,0,8799.69474,338,4824.74365,4812.48,,111.38,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,3.38,3.38,0,0.39,0.39,0,1,1,0,0.45,0.45,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 07:55:00",1,NSW1,0,58,0,58,0,0,8193.81,-10,7501.42,149,-841.39,0,,,62,,,,,,,,94.84,,,,,,,,80,,,,,,,,142,,,,,,,,126,,,,,,,,124,,,,,,40.47619,13681.04063,206,8364.66211,8391.83,,45,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 07:55:00",1,QLD1,0,48.65862,0,48.65862,0,0,5923.49,-6,7063.65,0,1140.15,0,,,2,,,,,,,,67,,,,,,,,55,,,,,,,,19,,,,,,,,191,,,,,,,,185,,,,,,-2.01202,10721.7441,295,5968.65088,5955.4,,23,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 07:55:00",1,SA1,0,9.01801,0,9.01801,0,0,1250.89,-15,1130.76,3,-123.13,0,,,85.76,,,,,,,,71,,,,,,,,32.63,,,,,,,,83.55,,,,,,,,67.63,,,,,,,,115.11,,,,,,-9.75414,2430.4076,105,1286.46729,1256.93,,11,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 07:55:00",1,TAS1,0,54.08,0,54.08,0,0,1061.51,-3,599.51,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.52,,,,,,-22.91378,2279.17952,0,1087.42566,1061.51,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0.45,0.45,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 07:55:00",1,VIC1,0,8.95,0,8.95,0,0,4795.15,-16,5194.64,11,388.49,0,,,93,,,,,,,,130,,,,,,,,113,,,,,,,,142,,,,,,,,82,,,,,,,,52,,,,,,-22.20146,8821.93495,361,4850.55029,4824.3,,126.38,,,,3,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 08:00:00",1,NSW1,0,99.61,0,99.61,0,0,8236.37,-11,7711.06,149,-674.31,0,,,90.65,,,,,,,,181.66,,,,,,,,100.15,,,,,,,,141,,,,,,,,125,,,,,,,,124,,,,,,45.2381,13746.00609,207,8369.09375,8416.43,,40,,,,67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.5,0.5,0,1,1,0,0.41,0.41,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 08:00:00",1,QLD1,0,86,0,86,0,0,6005.01,-7,7202.92,245,952.92,0,,,0,,,,,,,,56.1,,,,,,,,46.1,,,,,,,,19,,,,,,,,186.15,,,,,,,,186.31,,,,,,0,10676.69022,295,6040.57373,6270.92,,25,,,,69,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.5,0.5,0,1,1,0,0.41,0.41,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 08:00:00",1,SA1,0,0.02036,0,0.02036,0,0,1260.98,-13,1115.51,0,-145.47,0,,,108,,,,,,,,68,,,,,,,,92,,,,,,,,87.76,,,,,,,,75.72,,,,,,,,116.28,,,,,,0,2435.58009,105,1280.6825,1264.3,,48.38,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.5,0.5,0,1,1,0,0.41,0.41,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 08:00:00",1,TAS1,0,53.57593,0,53.57593,0,0,1046.78,-4,584.78,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.29,,,,,,-24.24884,2276.40722,0,1075.03198,1046.78,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.5,0.5,0,1,1,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 08:00:00",1,VIC1,0,0.02,0,0.02,0,0,4767.46,-22,5173.17,3,402.71,0,,,41,,,,,,,,53,,,,,,,,41,,,,,,,,142,,,,,,,,82,,,,,,,,52,,,,,,0,8776.98091,344,4814.78027,4789.02,,92,,,,23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.5,0.5,0,1,1,0,0.41,0.41,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 08:05:00",1,NSW1,0,58,0,58,0,0,8205.34,-9,7638.25,96,-663.09,0,,,87,,,,,,,,126,,,,,,,,105,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,50,13899.93341,154,8324.24707,8336.91,,31,,,,59,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 08:05:00",1,QLD1,0,49.55,0,49.55,0,0,5973.1,-8,7242.82,246,1023.72,0,,,0,,,,,,,,70,,,,,,,,50,,,,,,,,16,,,,,,,,191.24,,,,,,,,186,,,,,,-16.88503,10308.87199,295,6270.19531,6242.82,,21,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 08:05:00",1,SA1,0,9.0183,0,9.0183,0,0,1259.43,-12,1124.72,2,-136.71,0,,,63.2,,,,,,,,73.17,,,,,,,,30,,,,,,,,95.21,,,,,,,,78.94,,,,,,,,116,,,,,,6.79145,2527.47082,105,1271.69348,1266.25,,11,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 08:05:00",1,TAS1,0,37.1,0,37.1,0,0,1057.52,-4,595.52,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,147,,,,,,,,143.27,,,,,,-15.02626,2271.8438,0,1076.54602,1057.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.3,0.3,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 08:05:00",1,VIC1,0,8.95,0,8.95,0,0,4779.22,-21,5102.81,0,323.59,0,,,94.35,,,,,,,,93.35,,,,,,,,92.62,,,,,,,,143,,,,,,,,83,,,,,,,,56.91,,,,,,-20.88427,8643.68032,413,4844.30859,4800.62,,142.38,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 08:10:00",1,NSW1,0,66.19627,0,66.19627,0,0,8205.02,-17,7630.06,75,-649.96,0,,,101,,,,,,,,140,,,,,,,,99,,,,,,,,142,,,,,,,,127,,,,,,,,124,,,,,,50,13895.25513,158,8275.39648,8325.92,,21,,,,63,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,1.2,1.2,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 08:10:00",1,QLD1,0,55.74998,0,55.74998,0,0,5988.25,-5,7363.71,247,1128.46,0,,,45,,,,,,,,110,,,,,,,,100,,,,,,,,61,,,,,,,,235,,,,,,,,229,,,,,,-27.64973,10643.89565,370,6287.68799,6265.09,,23,,,,71.16,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,1.2,1.2,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 08:10:00",1,SA1,0,5.2631,0,5.2631,0,0,1241.34,-13,1131.29,1,-111.05,0,,,35,,,,,,,,35,,,,,,,,32,,,,,,,,86.45,,,,,,,,35,,,,,,,,67.99,,,,,,13.10625,2473.66865,105,1246.9043,1245.79,,5.82,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,1.2,1.2,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 08:10:00",1,TAS1,0,37.08,0,37.08,0,0,1061.89,-3,599.89,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,140,,,,,,,,142.99,,,,,,-10.6432,2294.10679,0,1075.5293,1061.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 08:10:00",1,VIC1,0,5.24979,0,5.24979,0,0,4788.71,-22,4990.64,9,192.93,0,,,59.87,,,,,,,,73.4,,,,,,,,45.99,,,,,,,,97,,,,,,,,79.98,,,,,,,,53,,,,,,0,8600.89023,415,4830.35938,4816.91,,155.56,,,,23.84,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,1.2,1.2,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 08:15:00",1,NSW1,0,58,0,58,0,0,8086.88,-20,7425.11,65,-726.78,0,,,101,,,,,,,,120,,,,,,,,96.1,,,,,,,,142,,,,,,,,127,,,,,,,,124,,,,,,50,13814.86234,147,8208.00781,8209.06,,29,,,,55,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.3,0.3,0,0.3,0.3,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 08:15:00",1,QLD1,0,1,0,1,0,0,5926.61,-8,7400.09,247,1226.48,0,,,45,,,,,,,,135,,,,,,,,115,,,,,,,,37,,,,,,,,216.46,,,,,,,,216.5,,,,,,-25.7719,10877.10205,370,6252.09375,6210.66,,13,,,,85,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.3,0.3,0,0.3,0.3,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 08:15:00",1,SA1,0,9.06928,0,9.06928,0,0,1215.15,-14,1107.45,6,-113.7,0,,,35,,,,,,,,35,,,,,,,,31,,,,,,,,112.24,,,,,,,,38.39,,,,,,,,82.05,,,,,,19.15032,2349.18319,105,1216.93005,1223.68,,9,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.3,0.3,0,0.3,0.3,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 08:15:00",1,TAS1,0,36.57593,0,36.57593,0,0,1050.04,-3,588.04,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.3,,,,,,-8.88762,2296.16195,0,1061.92834,1050.04,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.03,0.03,0,0.3,0.3,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 08:15:00",1,VIC1,0,9,0,9,0,0,4775.09,-21,4965.16,0,190.07,0,,,57.6,,,,,,,,66.21,,,,,,,,35,,,,,,,,97,,,,,,,,84,,,,,,,,53,,,,,,-31.80533,8568.64785,410,4862.59033,4792.41,,154.38,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.3,0.3,0,0.3,0.3,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 08:20:00",1,NSW1,0,88.88,0,88.88,0,0,8160.23,-17,7513.52,79,-725.71,0,,,100,,,,,,,,125.37,,,,,,,,98,,,,,,,,142,,,,,,,,127,,,,,,,,124,,,,,,44.29195,13805.22532,148,8270.00684,8299.53,,21,,,,54,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 08:20:00",1,QLD1,0,1,0,1,0,0,5926.83,-7,7431.9,245,1260.06,0,,,45,,,,,,,,123,,,,,,,,113,,,,,,,,35,,,,,,,,218.98,,,,,,,,219,,,,,,-33.78773,11043.51936,370,6258.854,6211.08,,23.38,,,,75,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 08:20:00",1,SA1,0,0.02006,0,0.02006,0,0,1183.31,-17,1051.42,4,-135.89,0,,,31,,,,,,,,31,,,,,,,,29,,,,,,,,70.6,,,,,,,,31,,,,,,,,45.64,,,,,,22.81345,2292.0046,105,1187.07434,1192.78,,6,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 08:20:00",1,TAS1,0,37.08,0,37.08,0,0,1057.85,-2,595.85,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,137.08,,,,,,,,143.05,,,,,,-5.30032,2292.84986,0,1065.15479,1057.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 08:20:00",1,VIC1,0,0.02,0,0.02,0,0,4678.87,-23,4870.01,0,191.14,0,,,63.28,,,,,,,,77,,,,,,,,36.36,,,,,,,,106,,,,,,,,69.63,,,,,,,,52,,,,,,-20.71736,8625.97524,415,4739.55957,4701.46,,155,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 08:25:00",1,NSW1,0,85.98,0,85.98,0,0,8134.31,-12,7491.02,72,-715.29,0,,,74,,,,,,,,109.84,,,,,,,,87.36,,,,,,,,142,,,,,,,,113,,,,,,,,124,,,,,,45.24329,13836.07103,149,8260.61035,8268.87,,41,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.51,0.51,0 +D,DREGION,,2,"2023/12/14 08:25:00",1,QLD1,0,0,0,0,0,0,5809.7,-10,7324.74,245,1270.03,0,,,45,,,,,,,,107.3,,,,,,,,96.9,,,,,,,,35,,,,,,,,226,,,,,,,,223,,,,,,-39.86186,10873.79277,370,6152.32031,6095.26,,11.1,,,,78,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.51,0.51,0 +D,DREGION,,2,"2023/12/14 08:25:00",1,SA1,0,8.97482,0,8.97482,0,0,1178.71,-18,1033.6,1,-146.12,0,,,21,,,,,,,,21,,,,,,,,19,,,,,,,,50.71,,,,,,,,35,,,,,,,,33,,,,,,22.76872,2304.16461,105,1184.73901,1186.18,,16.28,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.51,0.51,0 +D,DREGION,,2,"2023/12/14 08:25:00",1,TAS1,0,37.08,0,37.08,0,0,1056.84,-2,594.84,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,137.23,,,,,,,,142.64,,,,,,-6.56176,2290.07852,0,1065.40479,1056.84,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 08:25:00",1,VIC1,0,8.95,0,8.95,0,0,4653.55,-33,4844.19,3,187.65,0,,,97.01,,,,,,,,115.8,,,,,,,,72.87,,,,,,,,107,,,,,,,,53.41,,,,,,,,42,,,,,,-26.15374,8537.98353,421,4738.08936,4681.24,,137,,,,42,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.51,0.51,0 +D,DREGION,,2,"2023/12/14 08:30:00",1,NSW1,0,85.98,0,85.98,0,0,8089.41,-9,7448.71,75,-715.7,0,,,101,,,,,,,,139,,,,,,,,111.31,,,,,,,,142,,,,,,,,107.19,,,,,,,,108.87,,,,,,46.19463,13836.68128,152,8195.31543,8225.54,,18,,,,69,,,,,,,,,,,,,,,,,,,0.1,0.1,0,0.1,0.1,0,0.39,0.39,0,1.2,1.2,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.83,0.83,0 +D,DREGION,,2,"2023/12/14 08:30:00",1,QLD1,0,1,0,1,0,0,5833.48,-11,7334.42,245,1255.94,0,,,45,,,,,,,,93,,,,,,,,90,,,,,,,,35,,,,,,,,222,,,,,,,,216,,,,,,-44.32862,10946.6748,370,6175.08252,6118.21,,13,,,,70,,,,,,,,,,,,,,,,,,,0.1,0.1,0,0.1,0.1,0,0.39,0.39,0,1.2,1.2,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.83,0.83,0 +D,DREGION,,2,"2023/12/14 08:30:00",1,SA1,0,8.83719,0,8.83719,0,0,1173.27,-18,1107.99,0,-65.28,0,,,34,,,,,,,,36.71,,,,,,,,32,,,,,,,,44.59,,,,,,,,35,,,,,,,,32,,,,,,23.29133,2370.23741,105,1176.05725,1176.95,,11,,,,11,,,,,,,,,,,,,,,,,,,0.1,0.1,0,0.1,0.1,0,0.39,0.39,0,1.2,1.2,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.83,0.83,0 +D,DREGION,,2,"2023/12/14 08:30:00",1,TAS1,0,37.08,0,37.08,0,0,1053.82,-2,591.82,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,136.64,,,,,,,,136.64,,,,,,-4.99008,2291.93506,0,1060.81409,1053.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 08:30:00",1,VIC1,0,8.95,0,8.95,0,0,4674.12,-30,4788.92,4,110.79,0,,,60.12,,,,,,,,87.66,,,,,,,,41.62,,,,,,,,101,,,,,,,,51,,,,,,,,43,,,,,,-20.01743,8522.05902,415,4751.60303,4697.33,,163.38,,,,20,,,,,,,,,,,,,,,,,,,0.1,0.1,0,0.1,0.1,0,0.39,0.39,0,1.2,1.2,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.83,0.83,0 +D,DREGION,,2,"2023/12/14 08:35:00",1,NSW1,0,88.89,0,88.89,0,0,8268.29,-11,7571.2,69,-766.1,0,,,68,,,,,,,,106,,,,,,,,79.47,,,,,,,,142,,,,,,,,113,,,,,,,,105,,,,,,40.95745,13936.21009,154,8365.44141,8400.93,,55,,,,60,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0 +D,DREGION,,2,"2023/12/14 08:35:00",1,QLD1,0,34.55,0,34.55,0,0,5780.7,-16,7327.95,255,1292.24,0,,,45,,,,,,,,102,,,,,,,,92,,,,,,,,36,,,,,,,,215,,,,,,,,198.43,,,,,,0,10706.3656,370,6078.27881,6077.32,,34,,,,80,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0 +D,DREGION,,2,"2023/12/14 08:35:00",1,SA1,0,0.01934,0,0.01934,0,0,1154.45,-19,1160.91,0,6.46,0,,,32,,,,,,,,34.39,,,,,,,,30,,,,,,,,43.57,,,,,,,,33,,,,,,,,28,,,,,,23.81394,2417.51062,105,1153.4469,1158.1,,11,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0 +D,DREGION,,2,"2023/12/14 08:35:00",1,TAS1,0,11.08,0,11.08,0,0,1049.17,-2,587.17,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,136.64,,,,,,,,136.64,,,,,,-4.89964,2300.39958,0,1056.06921,1049.17,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 08:35:00",1,VIC1,0,0.02,0,0.02,0,0,4652.22,-30,4709.83,1,56.61,0,,,81.76,,,,,,,,114.9,,,,,,,,73,,,,,,,,100,,,,,,,,52.85,,,,,,,,42,,,,,,0,8452.50189,415,4695.91455,4671.53,,120,,,,30,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0 +D,DREGION,,2,"2023/12/14 08:40:00",1,NSW1,0,100,0,100,0,0,8283.23,-12,7640.68,68,-710.55,0,,,73,,,,,,,,112,,,,,,,,85.08,,,,,,,,142,,,,,,,,111.69,,,,,,,,105,,,,,,35.35862,13893.82874,153,8390.7373,8412.96,,48,,,,55,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,1.5,1.5,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0 +D,DREGION,,2,"2023/12/14 08:40:00",1,QLD1,0,34.55,0,34.55,0,0,5789.54,-18,7318.54,255,1274,0,,,45,,,,,,,,111.2,,,,,,,,101.2,,,,,,,,36,,,,,,,,236,,,,,,,,180.82,,,,,,0,10776.00849,370,6101.0918,6084.67,,24,,,,74,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,1.5,1.5,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0 +D,DREGION,,2,"2023/12/14 08:40:00",1,SA1,0,8.32285,0,8.32285,0,0,1160.33,-19,1162.02,8,-6.32,0,,,21,,,,,,,,21.15,,,,,,,,19,,,,,,,,49.49,,,,,,,,35,,,,,,,,30,,,,,,18.82722,2431.2999,105,1164.09692,1173.18,,20,,,,11,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,1.5,1.5,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0 +D,DREGION,,2,"2023/12/14 08:40:00",1,TAS1,0,11.08,0,11.08,0,0,1027.07,-2,578.82,0,-448.26,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,122.89,,,,,,,,122.89,,,,,,-8.84715,2299.16653,0,1037.92041,1027.07,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 08:40:00",1,VIC1,0,8.65021,0,8.65021,0,0,4689.92,-27,4714.9,7,17.98,0,,,66.75,,,,,,,,111.86,,,,,,,,68,,,,,,,,101,,,,,,,,51,,,,,,,,43,,,,,,0,8413.81662,415,4729.98193,4717.06,,135.01,,,,30,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,1.5,1.5,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0 +D,DREGION,,2,"2023/12/14 08:45:00",1,NSW1,0,88.88,0,88.88,0,0,8288.91,-10,7653.44,68,-703.48,0,,,68,,,,,,,,107,,,,,,,,81.24,,,,,,,,142,,,,,,,,113,,,,,,,,104.22,,,,,,38.60498,13962.5785,157,8348.72363,8411.36,,49.18,,,,60,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.39,0.39,0,0.39,0.39,0,3.39719,3.39719,0 +D,DREGION,,2,"2023/12/14 08:45:00",1,QLD1,0,34.55,0,34.55,0,0,5795.86,-16,7268.22,256,1216.36,0,,,45,,,,,,,,113.8,,,,,,,,103.8,,,,,,,,36,,,,,,,,218.68,,,,,,,,149,,,,,,-32.88853,10748.72505,370,6135.92725,6087.97,,38,,,,78,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.39,0.39,0,0.39,0.39,0,3.39719,3.39719,0 +D,DREGION,,2,"2023/12/14 08:45:00",1,SA1,0,0.01905,0,0.01905,0,0,1098.62,-20,1196.55,13,84.93,0,,,66.25,,,,,,,,63.37,,,,,,,,19,,,,,,,,55.11,,,,,,,,35,,,,,,,,30,,,,,,12.51346,2409.14138,105,1119.19812,1113.95,,20,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.39,0.39,0,0.39,0.39,0,3.39719,3.39719,0 +D,DREGION,,2,"2023/12/14 08:45:00",1,TAS1,0,10.57593,0,10.57593,0,0,1034.1,-3,585.3,0,-448.8,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,122.69,,,,,,,,122.69,,,,,,-10.04081,2326.33693,0,1047.13843,1034.1,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.39,0.39,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 08:45:00",1,VIC1,0,0.02,0,0.02,0,0,4639.83,-26,4615.17,17,-41.67,0,,,59,,,,,,,,69,,,,,,,,69,,,,,,,,101,,,,,,,,72.66,,,,,,,,43,,,,,,-0.35848,8372.11303,393,4689.63867,4671.29,,85,,,,32,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.39,0.39,0,0.39,0.39,0,3.39719,3.39719,0 +D,DREGION,,2,"2023/12/14 08:50:00",1,NSW1,0,88.89,0,88.89,0,0,8237.69,-12,7643.48,75,-669.21,0,,,85,,,,,,,,114,,,,,,,,73,,,,,,,,142,,,,,,,,113,,,,,,,,105,,,,,,41.85135,13967.08865,157,8274.76855,8366.17,,25,,,,55,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.17,0.17,0,0.08,0.08,0,6,6,0 +D,DREGION,,2,"2023/12/14 08:50:00",1,QLD1,0,49.55,0,49.55,0,0,5776.22,-12,7225.75,250,1199.52,0,,,45,,,,,,,,110,,,,,,,,100,,,,,,,,36,,,,,,,,220.11,,,,,,,,127.57,,,,,,-35.74303,10715.89669,370,6107.02051,6061.65,,90.38,,,,85,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.17,0.17,0,0.08,0.08,0,6,6,0 +D,DREGION,,2,"2023/12/14 08:50:00",1,SA1,0,0.01885,0,0.01885,0,0,1080.05,-21,1168.97,12,76.92,0,,,31,,,,,,,,31,,,,,,,,28,,,,,,,,62.84,,,,,,,,33,,,,,,,,28,,,,,,14.89502,2411.84593,105,1098.84399,1096.8,,11,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.17,0.17,0,0.08,0.08,0,6,6,0 +D,DREGION,,2,"2023/12/14 08:50:00",1,TAS1,0,10.07187,0,10.07187,0,0,1037.08,-2,575.08,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,139.38,,,,,,,,139.38,,,,,,-8.60949,2329.99852,0,1047.69409,1037.08,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.03,0.03,0,0.17,0.17,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 08:50:00",1,VIC1,0,0.02,0,0.02,0,0,4679.75,-27,4649.6,1,-31.15,0,,,76.68,,,,,,,,97.19,,,,,,,,71.46,,,,,,,,110,,,,,,,,72.87,,,,,,,,42,,,,,,13.39509,8431.69309,396,4719.41406,4701.17,,79,,,,30,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.17,0.17,0,0.08,0.08,0,6,6,0 +D,DREGION,,2,"2023/12/14 08:55:00",1,NSW1,0,88.88,0,88.88,0,0,8120.51,-17,7613.29,20,-527.22,0,,,99,,,,,,,,134.78,,,,,,,,97,,,,,,,,142,,,,,,,,113,,,,,,,,105,,,,,,0,13979.99868,158,8217.0293,8190.61,,33.98,,,,60,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 08:55:00",1,QLD1,0,-2.02,0,-2.02,0,0,5717.68,-14,7112.87,250,1145.18,0,,,45,,,,,,,,110,,,,,,,,100,,,,,,,,32,,,,,,,,220.11,,,,,,,,124.16,,,,,,-38.59752,10812.80155,370,6061.00391,6000.66,,54.4,,,,75,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 08:55:00",1,SA1,0,-38.13542,0,-38.13542,0,0,1021.55,-22,1156.88,7,128.33,0,,,18,,,,,,,,18,,,,,,,,17,,,,,,,,68.55,,,,,,,,35,,,,,,,,30,,,,,,0,2380.19199,105,1075.30261,1033.62,,9,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 08:55:00",1,TAS1,0,10.07187,0,10.07187,0,0,1030.67,-3,568.67,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,139.38,,,,,,,,139.38,,,,,,-10.37764,2347.35771,0,1044.04272,1030.67,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.05,0.05,0,0.38,0.38,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 08:55:00",1,VIC1,0,-41.11,0,-41.11,0,0,4618.35,-22,4449.39,5,-173.96,0,,,73.93,,,,,,,,88.03,,,,,,,,58.98,,,,,,,,111,,,,,,,,73.94,,,,,,,,47,,,,,,0,8463.9788,404,4671.10254,4645.54,,108,,,,35,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 09:00:00",1,NSW1,0,88.88,0,88.88,0,0,8112.3,-26,7681.44,16,-446.85,0,,,94,,,,,,,,137.47,,,,,,,,119.24,,,,,,,,144,,,,,,,,107.03,,,,,,,,105,,,,,,46.44138,14018.92655,157,8154.41016,8179.7,,38.55,,,,60,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,3.38,3.38,0,0.34,0.34,0,0.95,0.95,0,0.38,0.38,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 09:00:00",1,QLD1,0,1,0,1,0,0,5698.84,-17,7084.46,245,1140.63,0,,,45,,,,,,,,54,,,,,,,,50,,,,,,,,31,,,,,,,,236,,,,,,,,96.58,,,,,,-41.452,10715.00866,370,6033.80811,5976.94,,32.37,,,,75,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,3.38,3.38,0,0.34,0.34,0,0.95,0.95,0,0.38,0.38,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 09:00:00",1,SA1,0,-35.15447,0,-35.15447,0,0,1033.25,-22,1121.55,0,88.3,0,,,19,,,,,,,,59,,,,,,,,17,,,,,,,,44.18,,,,,,,,35,,,,,,,,30,,,,,,16.97727,2342.04143,105,1050.80078,1036.86,,16,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,3.38,3.38,0,0.34,0.34,0,0.95,0.95,0,0.38,0.38,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 09:00:00",1,TAS1,0,-11.84668,0,-11.84668,0,0,1026.03,-3,565.5,0,-460.54,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,135.62,,,,,,,,135.62,,,,,,-10.07745,2344.66545,0,1039.11157,1026.03,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.34,0.34,0,0.95,0.95,0,0,0,0,47.98357,47.98357,0 +D,DREGION,,2,"2023/12/14 09:00:00",1,VIC1,0,-37.3,0,-37.3,0,0,4626.46,-22,4418.41,5,-213.05,0,,,79.16,,,,,,,,101.17,,,,,,,,86.17,,,,,,,,122,,,,,,,,55,,,,,,,,65,,,,,,7.82815,8356.77355,413,4658.9668,4651.81,,117,,,,35,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,3.38,3.38,0,0.34,0.34,0,0.95,0.95,0,0.38,0.38,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 09:05:00",1,NSW1,0,85.98,0,85.98,0,0,7965.16,-30,7660.64,14,-318.52,0,,,94,,,,,,,,133,,,,,,,,122,,,,,,,,144,,,,,,,,129,,,,,,,,126,,,,,,0,14028.03351,157,8065.30029,8032.64,,40,,,,55,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.3,0.3,0,6,6,0 +D,DREGION,,2,"2023/12/14 09:05:00",1,QLD1,0,0,0,0,0,0,5701.61,-16,7079.25,245,1132.64,0,,,45,,,,,,,,58.5,,,,,,,,45,,,,,,,,25,,,,,,,,129,,,,,,,,82,,,,,,-15.73506,10774.2798,370,6010.97168,5979.04,,34.6,,,,43,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.3,0.3,0,6,6,0 +D,DREGION,,2,"2023/12/14 09:05:00",1,SA1,0,-40.59485,0,-40.59485,0,0,987.17,-22,1063.31,0,76.14,0,,,17,,,,,,,,57,,,,,,,,15,,,,,,,,60.72,,,,,,,,77.08,,,,,,,,39.03,,,,,,0,2308.77328,105,1023.88269,992.26,,16,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.3,0.3,0,6,6,0 +D,DREGION,,2,"2023/12/14 09:05:00",1,TAS1,0,10.07187,0,10.07187,0,0,1032.52,-2,570.52,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.44,,,,,,-8.71989,2354.98793,0,1043.23877,1032.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.38,0.38,0,0.39,0.39,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 09:05:00",1,VIC1,0,-43.07,0,-43.07,0,0,4598.34,-17,4306.92,19.22,-310.64,0,,,74.72,,,,,,,,96.58,,,,,,,,89.1,,,,,,,,130,,,,,,,,99,,,,,,,,60,,,,,,0,8399.5378,415,4644.32813,4644.16,,114.78,,,,61,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.3,0.3,0,6,6,0 +D,DREGION,,2,"2023/12/14 09:10:00",1,NSW1,0,88.88,0,88.88,0,0,8064.44,-33,7668.3,0,-396.14,0,,,99,,,,,,,,138,,,,,,,,121.15,,,,,,,,145,,,,,,,,130,,,,,,,,120.24,,,,,,46.50039,14048.13469,147,8101.1001,8114.63,,46,,,,60,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 09:10:00",1,QLD1,0,34.55,0,34.55,0,0,5735.81,-11,7095.23,245,1114.42,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,157,,,,,,,,126,,,,,,0,10689.4382,370,6011.85547,6013.04,,32.22,,,,36,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 09:10:00",1,SA1,0,-38.28935,0,-38.28935,0,0,982.46,-21,1104.29,0,121.83,0,,,19,,,,,,,,59,,,,,,,,17,,,,,,,,81.1,,,,,,,,74.84,,,,,,,,32,,,,,,14.0345,2325.75555,105,994.36755,985.19,,17.51,,,,0,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 09:10:00",1,TAS1,0,10.57593,0,10.57593,0,0,1040.87,-2,578.87,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,137.08,,,,,,-7.64264,2348.85639,0,1050.51501,1040.87,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.34,0.34,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 09:10:00",1,VIC1,0,-40.83,0,-40.83,0,0,4472.08,-17,4215.8,18.35,-274.63,0,,,69.15,,,,,,,,103.88,,,,,,,,86.66,,,,,,,,112,,,,,,,,75,,,,,,,,37,,,,,,0,8439.17019,418,4526.55908,4508.76,,109.65,,,,74,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 09:15:00",1,NSW1,0,88.88,0,88.88,0,0,7886.83,-35,7614.81,0,-272.01,0,,,121,,,,,,,,160,,,,,,,,139,,,,,,,,144,,,,,,,,129,,,,,,,,69,,,,,,0,14036.28448,147,7979.62354,7940.07,,29,,,,65,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.39,0.39,0,1.5,1.5,0,0.32616,0.32616,0,0.39,0.39,0,0.3,0.3,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 09:15:00",1,QLD1,0,1,0,1,0,0,5771.92,-9,7128.56,245,1111.64,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,22,,,,,,,,146.54,,,,,,,,126,,,,,,-2.38095,10779.40616,370,6059.26318,6049.15,,68,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.39,0.39,0,1.5,1.5,0,0.32616,0.32616,0,0.39,0.39,0,0.3,0.3,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 09:15:00",1,SA1,0,-42.4336,0,-42.4336,0,0,948.43,-20,1207.53,44,215.1,0,,,32,,,,,,,,86.14,,,,,,,,30,,,,,,,,104.71,,,,,,,,40,,,,,,,,30,,,,,,0,2387.43812,105,980.27722,996.69,,28,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.39,0.39,0,1.5,1.5,0,0.32616,0.32616,0,0.39,0.39,0,0.3,0.3,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 09:15:00",1,TAS1,0,10.11,0,10.11,0,0,1045.15,-1,583.15,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,80,,,,,,,,153,,,,,,,,136.93,,,,,,-2.99132,2362.34779,0,1049.14307,1045.15,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.32616,0.32616,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 09:15:00",1,VIC1,0,-46.46,0,-46.46,0,0,4424.41,-22,4118.66,172,-477.75,0,,,34.49,,,,,,,,55.18,,,,,,,,55.18,,,,,,,,112,,,,,,,,118,,,,,,,,104,,,,,,-20.30363,8477.97061,421,4507.79102,4621.65,,80.38,,,,105,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.39,0.39,0,1.5,1.5,0,0.32616,0.32616,0,0.39,0.39,0,0.3,0.3,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 09:20:00",1,NSW1,0,89.03,0,89.03,0,0,7980.75,-36,7723.43,0,-257.33,0,,,121,,,,,,,,160,,,,,,,,149,,,,,,,,144,,,,,,,,129,,,,,,,,95.93,,,,,,47.90023,13998.48547,147,8021.80566,8040.47,,27.38,,,,79,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.65006,1.65006,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,25.1,25.1,0 +D,DREGION,,2,"2023/12/14 09:20:00",1,QLD1,0,34.54991,0,34.54991,0,0,5662.38,-6,7056.78,245,1149.4,0,,,45,,,,,,,,66,,,,,,,,45,,,,,,,,17,,,,,,,,99,,,,,,,,99,,,,,,-1.90461,10634.90406,370,5944.54346,5942.54,,74,,,,0,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.65006,1.65006,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,25.1,25.1,0 +D,DREGION,,2,"2023/12/14 09:20:00",1,SA1,0,-47.25296,0,-47.25296,0,0,953.97,-21,1155.1,73,128.14,0,,,17,,,,,,,,57,,,,,,,,15.24,,,,,,,,60.75,,,,,,,,69.15,,,,,,,,35,,,,,,15.89606,2383.25595,105,1000.05042,1029.55,,31,,,,0,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.65006,1.65006,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,25.1,25.1,0 +D,DREGION,,2,"2023/12/14 09:20:00",1,TAS1,0,10.11,0,10.11,0,0,1038.43,-1,576.43,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,91.2,,,,,,,,153,,,,,,,,136.93,,,,,,-4.13115,2366.72911,0,1043.55933,1038.43,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 09:20:00",1,VIC1,0,-50.39,0,-50.39,0,0,4382.62,-22,4145.49,200,-437.13,0,,,48.31,,,,,,,,61.51,,,,,,,,59.14,,,,,,,,137,,,,,,,,123,,,,,,,,68,,,,,,-19.27613,8769.55924,421,4549.23779,4606.24,,73,,,,91,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.65006,1.65006,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,25.1,25.1,0 +D,DREGION,,2,"2023/12/14 09:25:00",1,NSW1,0,88.88,0,88.88,0,0,8068.19,-27,7686.68,0,-381.51,0,,,121,,,,,,,,160,,,,,,,,139,,,,,,,,144,,,,,,,,112.81,,,,,,,,44,,,,,,48.60016,13964.51884,147,8113.01514,8117.88,,30,,,,83,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.39,0.39,0,0.17,0.17,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:25:00",1,QLD1,0,28.85,0,28.85,0,0,5743.33,-8,7108.24,245,1119.91,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,13,,,,,,,,118,,,,,,,,107.38,,,,,,10.3399,10875.11112,370,6020.5332,6019.71,,43.25,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.39,0.39,0,0.17,0.17,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:25:00",1,SA1,0,-37.66603,0,-37.66603,0,0,943.72,-19,1169.36,45,180.64,0,,,28,,,,,,,,68,,,,,,,,26,,,,,,,,38,,,,,,,,39,,,,,,,,33,,,,,,18.28152,2359.42114,105,1012.1095,991.73,,48,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.39,0.39,0,0.17,0.17,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:25:00",1,TAS1,0,10.1,0,10.1,0,0,1037.53,-2,575.53,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,63,,,,,,,,137.08,,,,,,,,137.08,,,,,,-4.95611,2346.67113,0,1044.48169,1037.53,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.3,0.3,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 09:25:00",1,VIC1,0,-40.6,0,-40.6,0,0,4472.37,-21,4363.71,244,-352.67,0,,,28.84,,,,,,,,61.46,,,,,,,,56.13,,,,,,,,132.27,,,,,,,,105,,,,,,,,99,,,,,,0,8782.98167,420,4669.17969,4736.66,,84.13,,,,87,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.39,0.39,0,0.17,0.17,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:30:00",1,NSW1,0,89.03,0,89.03,0,0,8114.79,-15,7798.73,6,-322.06,0,,,99,,,,,,,,138,,,,,,,,122.01,,,,,,,,127,,,,,,,,115,,,,,,,,71,,,,,,49.30008,14051.85281,154,8127.53418,8167.4,,27,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,8.3,8.3,0 +D,DREGION,,2,"2023/12/14 09:30:00",1,QLD1,0,5E-05,0,5E-05,0,0,5790.84,-1,7111.97,245,1076.12,0,,,45,,,,,,,,46.25,,,,,,,,45,,,,,,,,14,,,,,,,,49.88,,,,,,,,65.67,,,,,,-4.75644,10925.423,370,6068.51611,6065.15,,44,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,8.3,8.3,0 +D,DREGION,,2,"2023/12/14 09:30:00",1,SA1,0,-39.1349,0,-39.1349,0,0,941.17,-18,1149.06,69,138.89,0,,,38,,,,,,,,78,,,,,,,,37,,,,,,,,61,,,,,,,,74,,,,,,,,38,,,,,,20.17505,2331.00062,362,988.06329,1013.1,,31.38,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,8.3,8.3,0 +D,DREGION,,2,"2023/12/14 09:30:00",1,TAS1,0,10.1,0,10.1,0,0,1026.24,-2,564.24,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-1.41479,2337.18027,0,1029.65735,1026.24,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.34,0.34,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 09:30:00",1,VIC1,0,-41.96,0,-41.96,0,0,4403.9,-16,4265.04,193.07,-331.93,0,,,44.14,,,,,,,,74.8,,,,,,,,64.8,,,,,,,,141.96,,,,,,,,126,,,,,,,,96,,,,,,-14.64577,8883.92531,420,4672.47607,4617.14,,103,,,,110,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,8.3,8.3,0 +D,DREGION,,2,"2023/12/14 09:35:00",1,NSW1,0,90.67016,0,90.67016,0,0,8164.99,-4,7964.44,5,-205.55,0,,,120.12,,,,,,,,160,,,,,,,,143.51,,,,,,,,144,,,,,,,,129,,,,,,,,71,,,,,,50,14077.33318,153,8164.38623,8216.2,,27,,,,35.03,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.38,0.38,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.15,0.15,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:35:00",1,QLD1,0,7.06,0,7.06,0,0,5750.38,-2,7050.38,249.29,1050.71,0,,,35.71,,,,,,,,45.48,,,,,,,,35.71,,,,,,,,14,,,,,,,,62,,,,,,,,72.14,,,,,,-19.85278,10834.26239,365,6041.72021,6027.43,,30,,,,9.29,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.38,0.38,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.15,0.15,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:35:00",1,SA1,0,-41.97594,0,-41.97594,0,0,901.97,-17,1204.4,63,239.43,0,,,49,,,,,,,,89,,,,,,,,48,,,,,,,,59,,,,,,,,91.16,,,,,,,,67,,,,,,12.93966,2420.48109,362,975.91431,969.97,,26,,,,8,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.38,0.38,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.15,0.15,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:35:00",1,TAS1,0,10.1,0,10.1,0,0,1012.11,-2,550.11,0,-462,0,,,0,,,,,,,,1,,,,,,,,0,,,,,,,,84.5,,,,,,,,153,,,,,,,,136.93,,,,,,-3.10488,2337.49811,0,1017.21716,1012.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,7.12,7.12,0,0.34,0.34,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 09:35:00",1,VIC1,0,-46.46,0,-46.46,0,0,4405.18,-17,4113.69,225,-516.49,0,,,20,,,,,,,,40,,,,,,,,40,,,,,,,,127,,,,,,,,114,,,,,,,,65,,,,,,-23.75382,8858.56043,420,4642.27881,4657.32,,122.38,,,,117.67,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.38,0.38,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.15,0.15,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:40:00",1,NSW1,0,89.03,0,89.03,0,0,8335.05,10,7929.7,0,-405.36,0,,,98,,,,,,,,138,,,,,,,,117,,,,,,,,144,,,,,,,,115,,,,,,,,44,,,,,,50,14078.55313,147,8330.06543,8376.95,,57,,,,55,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.86,0.86,0,0.17,0.17,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:40:00",1,QLD1,0,6.61,0,6.61,0,0,5750.04,-4,7060.52,243.45,1067.03,0,,,41.55,,,,,,,,41.55,,,,,,,,41.55,,,,,,,,16,,,,,,,,85,,,,,,,,129,,,,,,0,10839.40274,365,6032.2666,6021.65,,48,,,,3.45,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.86,0.86,0,0.17,0.17,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:40:00",1,SA1,0,-33.16455,0,-33.16455,0,0,888.65,-15,1234.15,45,300.5,0,,,39,,,,,,,,68.69,,,,,,,,39,,,,,,,,62,,,,,,,,82,,,,,,,,75,,,,,,2.06896,2426.00167,362,959.80103,940.11,,61,,,,8,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.86,0.86,0,0.17,0.17,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:40:00",1,TAS1,0,-33.11145,0,-33.11145,0,0,1014.11,-2,562.5,0,-451.61,0,,,0,,,,,,,,1,,,,,,,,0,,,,,,,,52.97,,,,,,,,126.1,,,,,,,,126.1,,,,,,-6.81676,2350.59662,0,1022.927,1014.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.3,0.3,0,0.86,0.86,0,0,0,0,46.71145,46.71145,0 +D,DREGION,,2,"2023/12/14 09:40:00",1,VIC1,0,-37.3,0,-37.3,0,0,4402.4,-16,4219.95,228,-410.44,0,,,48.38,,,,,,,,87.41,,,,,,,,68.35,,,,,,,,147,,,,,,,,133.59,,,,,,,,42.65,,,,,,0,8833.96919,422,4611.31543,4653.99,,28.99,,,,103.55,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.86,0.86,0,0.17,0.17,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 09:45:00",1,NSW1,0,88.88,0,88.88,0,0,8359.34,19,7836.1,2,-525.24,0,,,120,,,,,,,,133,,,,,,,,143.01,,,,,,,,142,,,,,,,,127,,,,,,,,44,,,,,,50,14123.25275,149,8342.63965,8404.54,,30.42,,,,73,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.34,0.34,0,0.86,0.86,0,0.3,0.3,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 09:45:00",1,QLD1,0,1,0,1,0,0,5610.08,-8,6999.9,290,1099.83,0,,,10,,,,,,,,36,,,,,,,,10,,,,,,,,17,,,,,,,,43,,,,,,,,78.65,,,,,,2.61529,10789.89706,365,5892.8623,5929.91,,15,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.34,0.34,0,0.86,0.86,0,0.3,0.3,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 09:45:00",1,SA1,0,-36.09788,0,-36.09788,0,0,879.64,-12,1214.66,42,293.02,0,,,51,,,,,,,,78,,,,,,,,50,,,,,,,,63,,,,,,,,82,,,,,,,,74,,,,,,0.65038,2507.84472,362,942.30298,928.42,,31,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.34,0.34,0,0.86,0.86,0,0.3,0.3,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 09:45:00",1,TAS1,0,-39.51903,0,-39.51903,0,0,1010.9,-2,567.86,0,-443.04,0,,,0,,,,,,,,11.79,,,,,,,,0,,,,,,,,17.98,,,,,,,,117.97,,,,,,,,117.97,,,,,,-11.59019,2355.95709,0,1024.48694,1010.9,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.34,0.34,0,0.86,0.86,0,0,0,0,53.11903,53.11903,0 +D,DREGION,,2,"2023/12/14 09:45:00",1,VIC1,0,-40.6,0,-40.6,0,0,4393.5,-15,4177.83,107,-322.67,0,,,44.19,,,,,,,,76.04,,,,,,,,62.75,,,,,,,,138.37,,,,,,,,128.01,,,,,,,,96,,,,,,-5.19753,8778.50097,422,4644.59863,4522.59,,110,,,,43,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.34,0.34,0,0.86,0.86,0,0.3,0.3,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 09:50:00",1,NSW1,0,85.98,0,85.98,0,0,8358.15,24,7813.33,4,-548.81,0,,,93,,,,,,,,158.49,,,,,,,,122,,,,,,,,125,,,,,,,,112.46,,,,,,,,44,,,,,,50,14216.99742,152,8335.98242,8404.44,,30,,,,56,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.3,0.3,0,11,11,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 09:50:00",1,QLD1,0,1,0,1,0,0,5645.45,-8,7029.95,290,1094.5,0,,,10,,,,,,,,32,,,,,,,,10,,,,,,,,17,,,,,,,,83,,,,,,,,129,,,,,,14.81993,10840.37892,365,5948.28223,5965.28,,15,,,,66,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.3,0.3,0,11,11,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 09:50:00",1,SA1,0,-35.99,0,-35.99,0,0,873.77,-10,1221.8,29,319.03,0,,,77,,,,,,,,70,,,,,,,,62.53,,,,,,,,61,,,,,,,,77,,,,,,,,71,,,,,,0.73882,2493.29121,362,929.32178,910.96,,28,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.3,0.3,0,11,11,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 09:50:00",1,TAS1,0,-36.0546,0,-36.0546,0,0,1020.04,-2,566.72,0,-453.32,0,,,0,,,,,,,,11.79,,,,,,,,13.29,,,,,,,,27.96,,,,,,,,127.96,,,,,,,,127.96,,,,,,-13.08641,2354.82123,0,1035.12903,1020.04,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,1,1,0,0,0,0,49.6546,49.6546,0 +D,DREGION,,2,"2023/12/14 09:50:00",1,VIC1,0,-40.91128,0,-40.91128,0,0,4371.48,-13,4147.63,82,-305.85,0,,,50.47,,,,,,,,67.55,,,,,,,,57.55,,,,,,,,145.1,,,,,,,,95,,,,,,,,45.28,,,,,,9.56933,8739.50641,425,4545.73047,4478.71,,123.7,,,,48,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.3,0.3,0,11,11,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 09:55:00",1,NSW1,0,85.98,0,85.98,0,0,8347.36,24,7775.27,13,-585.09,0,,,120,,,,,,,,159,,,,,,,,137.7,,,,,,,,128.58,,,,,,,,102.78,,,,,,,,44,,,,,,50,14294.80103,153,8320.80078,8401.54,,35,,,,55,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.3,0.3,0,2.64,2.64,0,0.14,0.14,0,0.39,0.39,0,0.17,0.17,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 09:55:00",1,QLD1,0,7.24,0,7.24,0,0,5671.3,-2,7015.39,247.55,1096.54,0,,,37.45,,,,,,,,37.45,,,,,,,,37.45,,,,,,,,14,,,,,,,,85,,,,,,,,48.44,,,,,,0,10830.0933,365,5981.29395,5948.06,,63.38,,,,7.55,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.3,0.3,0,2.64,2.64,0,0.14,0.14,0,0.39,0.39,0,0.17,0.17,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 09:55:00",1,SA1,0,-18.13308,0,-18.13308,0,0,861.91,-8,1233.74,40,331.83,0,,,51,,,,,,,,106.96,,,,,,,,50,,,,,,,,61,,,,,,,,75,,,,,,,,73,,,,,,1.56066,2478.18705,362,902.974,911.02,,51,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.3,0.3,0,2.64,2.64,0,0.14,0.14,0,0.39,0.39,0,0.17,0.17,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 09:55:00",1,TAS1,0,11.08,0,11.08,0,0,1064.4,-1,602.4,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,38.57,,,,,,,,138.57,,,,,,,,138.57,,,,,,-13.56671,2351.15622,0,1078.96191,1064.4,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.14,0.14,0,0.39,0.39,0,0,0,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 09:55:00",1,VIC1,0,-20.72198,0,-20.72198,0,0,4400.04,-11,4290.58,165,-274.46,0,,,25.75,,,,,,,,40,,,,,,,,40,,,,,,,,136,,,,,,,,96,,,,,,,,96,,,,,,24.13753,8692.20189,425,4488.52783,4592.36,,56,,,,107.45,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.3,0.3,0,2.64,2.64,0,0.14,0.14,0,0.39,0.39,0,0.17,0.17,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 10:00:00",1,NSW1,0,54.95,0,54.95,0,0,8302.2,23,7554.16,11,-759.04,0,,,120,,,,,,,,159,,,,,,,,149,,,,,,,,129.01,,,,,,,,119.79,,,,,,,,44,,,,,,0,14337.34825,150,8322.86133,8349.82,,35,,,,71.48,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 10:00:00",1,QLD1,0,15.13,0,15.13,0,0,5750.32,4,7025.4,257.52,1017.56,0,,,27.48,,,,,,,,27.48,,,,,,,,27.48,,,,,,,,21,,,,,,,,39,,,,,,,,32.53,,,,,,0,10840.32032,365,6017.42529,6033.11,,63,,,,43.52,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 10:00:00",1,SA1,0,0.01741,0,0.01741,0,0,858.88,-7,1236.56,26,351.68,0,,,44.06,,,,,,,,96,,,,,,,,37.46,,,,,,,,63,,,,,,,,83,,,,,,,,76,,,,,,0,2525.78677,362,916.61975,893.7,,68,,,,4,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 10:00:00",1,TAS1,0,6.27156,0,6.27156,0,0,1015.64,-1,561.71,0,-453.93,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,28.87,,,,,,,,128.86,,,,,,,,128.86,,,,,,-13.32706,2350.80798,0,1029.9646,1015.64,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,7.32844,7.32844,0 +D,DREGION,,2,"2023/12/14 10:00:00",1,VIC1,0,0.02,0,0.02,0,0,4353.45,-11,4350.03,54,-57.42,0,,,42.08,,,,,,,,59.91,,,,,,,,52.08,,,,,,,,136,,,,,,,,126,,,,,,,,96,,,,,,35.42669,8718.8461,425,4467.70215,4435.58,,31.31,,,,51,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 10:05:00",1,NSW1,0,54.95,0,54.95,0,0,8234.34,22,7262.37,10,-981.96,0,,,93,,,,,,,,162,,,,,,,,132,,,,,,,,142,,,,,,,,132,,,,,,,,44,,,,,,0,14554.04739,149,8259.74023,8288.83,,15,,,,55,,,,,,,,,,,,,,,,,,,0,0,0,0.26,0.26,0,0.3,0.3,0,9.98,9.98,0,1.75,1.75,0,1.84,1.84,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 10:05:00",1,QLD1,0,34.55,0,34.55,0,0,5783.76,11,7086.97,240,1063.21,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,17.85,,,,,,,,37,,,,,,,,43.15,,,,,,0,11137.60854,365,6054.34766,6051.22,,15,,,,26,,,,,,,,,,,,,,,,,,,0,0,0,0.26,0.26,0,0.3,0.3,0,9.98,9.98,0,1.75,1.75,0,1.84,1.84,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 10:05:00",1,SA1,0,4.43056,0,4.43056,0,0,816.27,-8,1227,0,410.73,0,,,61.24,,,,,,,,62.58,,,,,,,,74,,,,,,,,59,,,,,,,,79,,,,,,,,73,,,,,,0,2587.39985,362,865.41681,825.92,,20,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.26,0.26,0,0.3,0.3,0,9.98,9.98,0,1.75,1.75,0,1.84,1.84,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 10:05:00",1,TAS1,0,11.05967,0,11.05967,0,0,1021.73,0,565.07,0,-456.67,0,,,0,,,,,,,,8.79,,,,,,,,5.57,,,,,,,,31.75,,,,,,,,131.75,,,,,,,,131.75,,,,,,-12.98756,2340.923,0,1034.72168,1021.73,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.75,1.75,0,1.84,1.84,0,0,0,0,2.54033,2.54033,0 +D,DREGION,,2,"2023/12/14 10:05:00",1,VIC1,0,5.14495,0,5.14495,0,0,4238.33,-14,4326.91,7,81.58,0,,,64.33,,,,,,,,94.33,,,,,,,,94.33,,,,,,,,105,,,,,,,,94.98,,,,,,,,65,,,,,,0,8701.91251,428,4343.5293,4280.62,,150.05,,,,89,,,,,,,,,,,,,,,,,,,0,0,0,0.26,0.26,0,0.3,0.3,0,9.98,9.98,0,1.75,1.75,0,1.84,1.84,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 10:10:00",1,NSW1,0,54.95003,0,54.95003,0,0,8268.52,13,7312.68,12,-967.84,0,,,94,,,,,,,,133,,,,,,,,122,,,,,,,,143,,,,,,,,115.22,,,,,,,,43,,,,,,26.70763,14625.79992,152,8276.58594,8321.04,,55,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0.15,0.15,0,0.38,0.38,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:10:00",1,QLD1,0,46.81573,0,46.81573,0,0,5887.16,18,7160.5,240,1033.34,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,21,,,,,,,,124,,,,,,,,123,,,,,,12.79219,11130.33931,365,6119.13623,6152.13,,23,,,,6,,,,,,,,,,,,,,,,,,,0,0,0,0.15,0.15,0,0.38,0.38,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:10:00",1,SA1,0,7.62506,0,7.62506,0,0,838.51,-7,1236.69,0,398.18,0,,,52,,,,,,,,95.64,,,,,,,,83.8,,,,,,,,64,,,,,,,,84,,,,,,,,76,,,,,,9.60151,2637.96855,362,845.41089,853,,21,,,,9,,,,,,,,,,,,,,,,,,,0,0,0,0.15,0.15,0,0.38,0.38,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:10:00",1,TAS1,0,11.05967,0,11.05967,0,0,1029.66,0,579.4,0,-450.26,0,,,0,,,,,,,,4,,,,,,,,4.64,,,,,,,,50.84,,,,,,,,125.05,,,,,,,,125.05,,,,,,-9.77235,2350.09866,0,1039.43201,1029.66,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0 +D,DREGION,,2,"2023/12/14 10:10:00",1,VIC1,0,9,0,9,0,0,4269.24,-14,4380.77,0,111.53,0,,,68.87,,,,,,,,90.66,,,,,,,,90.66,,,,,,,,147,,,,,,,,96,,,,,,,,32.12,,,,,,37.43589,8700.38029,425,4286.07959,4314.2,,94.64,,,,95,,,,,,,,,,,,,,,,,,,0,0,0,0.15,0.15,0,0.38,0.38,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:15:00",1,NSW1,0,70.8189,0,70.8189,0,0,8296.02,14,7428.06,13,-880.96,0,,,94,,,,,,,,133,,,,,,,,122,,,,,,,,125,,,,,,,,71,,,,,,,,43,,,,,,30.58969,14640.40056,153,8291.75781,8339.37,,57,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.26,0.26,0,4.98,4.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:15:00",1,QLD1,0,61.73,0,61.73,0,0,6079.77,27,7249.77,240,930,0,,,10,,,,,,,,22,,,,,,,,10,,,,,,,,41,,,,,,,,115.73,,,,,,,,30,,,,,,24.02,11124.26721,365,6286.88965,6338.46,,23,,,,9,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.26,0.26,0,4.98,4.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:15:00",1,SA1,0,7.50122,0,7.50122,0,0,834.95,-5,1257.67,0,422.73,0,,,53,,,,,,,,82.5,,,,,,,,87.27,,,,,,,,63,,,,,,,,77,,,,,,,,75,,,,,,4.32276,2617.04112,362,849.63306,846.56,,21,,,,5,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.26,0.26,0,4.98,4.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:15:00",1,TAS1,0,11.05967,0,11.05967,0,0,1015.82,-1,575.91,0,-439.92,0,,,0,,,,,,,,4,,,,,,,,4.64,,,,,,,,14.56,,,,,,,,114.55,,,,,,,,114.55,,,,,,-11.4909,2354.67047,0,1028.31409,1015.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0 +D,DREGION,,2,"2023/12/14 10:15:00",1,VIC1,0,8.80572,0,8.80572,0,0,4272.23,-9,4344.46,5,67.22,0,,,68.18,,,,,,,,90.96,,,,,,,,80.96,,,,,,,,113.44,,,,,,,,96,,,,,,,,96,,,,,,28.91516,8712.45599,429,4296.80908,4315.65,,82.3,,,,96,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.26,0.26,0,4.98,4.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:20:00",1,NSW1,0,54.95,0,54.95,0,0,8205.4,11,7348.88,9,-865.52,0,,,100.65,,,,,,,,138,,,,,,,,144,,,,,,,,99.54,,,,,,,,71,,,,,,,,43,,,,,,0,14610.02815,148,8245.77148,8247.98,,25,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 10:20:00",1,QLD1,0,10.3,0,10.3,0,0,5955.56,28,7176.94,263.72,957.66,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,64,,,,,,,,117.45,,,,,,,,123,,,,,,0,11181.35251,365,6194.05859,6240.56,,27.61,,,,41.72,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 10:20:00",1,SA1,0,4.36523,0,4.36523,0,0,846.04,-4,1224.62,0,378.58,0,,,47,,,,,,,,61.96,,,,,,,,47,,,,,,,,58,,,,,,,,51,,,,,,,,71.56,,,,,,0,2604.23981,362,865.15063,852.92,,51,,,,4.28,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 10:20:00",1,TAS1,0,11.05967,0,11.05967,0,0,1028.97,0,579.35,0,-449.62,0,,,0,,,,,,,,4,,,,,,,,0,,,,,,,,24.56,,,,,,,,124.56,,,,,,,,124.56,,,,,,-8.29084,2340.90212,0,1037.26465,1028.97,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.3,0.3,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0 +D,DREGION,,2,"2023/12/14 10:20:00",1,VIC1,0,4.95982,0,4.95982,0,0,4218.72,-9,4287.21,0,68.49,0,,,69,,,,,,,,120.59,,,,,,,,110.55,,,,,,,,65,,,,,,,,65,,,,,,,,0,,,,,,0,8685.82351,428,4266.59424,4246.58,,89.39,,,,104,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 10:25:00",1,NSW1,0,58,0,58,0,0,8234.27,8,7358.48,8,-883.78,0,,,116.77,,,,,,,,133,,,,,,,,149,,,,,,,,126,,,,,,,,81.99,,,,,,,,43,,,,,,29.71376,14666.77789,147,8232.15527,8274.49,,30,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.26,0.26,0,4.99,4.99,0,0.39,0.39,0,0.39,0.39,0,0.15,0.15,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:25:00",1,QLD1,0,34.55,0,34.55,0,0,6061.65,27,7237.4,240,935.75,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,64,,,,,,,,133,,,,,,,,54.4,,,,,,15.56478,11145.16186,365,6290.84863,6321.39,,23,,,,21,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.26,0.26,0,4.99,4.99,0,0.39,0.39,0,0.39,0.39,0,0.15,0.15,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:25:00",1,SA1,0,7.58254,0,7.58254,0,0,831.99,-4,1246.38,0,414.39,0,,,60,,,,,,,,100.09,,,,,,,,59.96,,,,,,,,62,,,,,,,,76,,,,,,,,74,,,,,,6.00149,2623.48441,362,838.67487,845.52,,21,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.26,0.26,0,4.99,4.99,0,0.39,0.39,0,0.39,0.39,0,0.15,0.15,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:25:00",1,TAS1,0,11.05967,0,11.05967,0,0,1014.36,0,597.74,0,-416.62,0,,,0,,,,,,,,4,,,,,,,,4.64,,,,,,,,3,,,,,,,,91.26,,,,,,,,91.26,,,,,,-10.22372,2349.45359,0,1024.58008,1014.36,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.26,0.26,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0 +D,DREGION,,2,"2023/12/14 10:25:00",1,VIC1,0,8.95035,0,8.95035,0,0,4299.85,-4,4356.17,0,56.32,0,,,40,,,,,,,,86.7,,,,,,,,86.7,,,,,,,,106.23,,,,,,,,96,,,,,,,,96,,,,,,9.51187,8712.72211,428,4324.36963,4340.41,,86,,,,99,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.26,0.26,0,4.99,4.99,0,0.39,0.39,0,0.39,0.39,0,0.15,0.15,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 10:30:00",1,NSW1,0,58,0,58,0,0,8258.05,9,7388.53,8,-877.52,0,,,83,,,,,,,,133,,,,,,,,122,,,,,,,,85,,,,,,,,72,,,,,,,,44,,,,,,0,14638.89061,147,8293.83496,8297.65,,57,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.08,0.08,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:30:00",1,QLD1,0,34.55,0,34.55,0,0,6015.26,27,7183.74,240,928.49,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,60.54,,,,,,,,69.83,,,,,,,,18.38,,,,,,0,11159.28407,365,6250.854,6274.62,,23,,,,32,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.08,0.08,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:30:00",1,SA1,0,-30,0,-30,0,0,817.09,-4,1276.82,0,459.73,0,,,59,,,,,,,,71.02,,,,,,,,57.29,,,,,,,,55,,,,,,,,76,,,,,,,,74,,,,,,-0.36145,2681.73686,362,836.93591,833.84,,31,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.08,0.08,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:30:00",1,TAS1,0,-17.40103,0,-17.40103,0,0,1006.46,0,562.41,0,-444.05,0,,,0,,,,,,,,4,,,,,,,,4.64,,,,,,,,19.29,,,,,,,,119.28,,,,,,,,119.28,,,,,,-11.53257,2351.51124,0,1017.99597,1006.46,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,31.00103,31.00103,0 +D,DREGION,,2,"2023/12/14 10:30:00",1,VIC1,0,-20.54722,0,-20.54722,0,0,4204.77,-5,4255.22,0,50.45,0,,,76.28,,,,,,,,117.55,,,,,,,,117.55,,,,,,,,96,,,,,,,,96,,,,,,,,96,,,,,,0,8777.68543,428,4254.70703,4254.14,,76.43,,,,118,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.08,0.08,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:35:00",1,NSW1,0,58,0,58,0,0,8310.42,14,7539.97,5,-775.46,0,,,71.32,,,,,,,,133,,,,,,,,121.73,,,,,,,,91.57,,,,,,,,44,,,,,,,,43,,,,,,0,14741.7473,148,8343.44434,8338.04,,30,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,9.98,9.98,0,0.14,0.14,0,0.3,0.3,0,0.01,0.01,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 10:35:00",1,QLD1,0,-2.02,0,-2.02,0,0,5964.51,20,7068.44,292,811.93,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,102.19,,,,,,,,10.66,,,,,,-6.43846,11237.586,365,6218.21289,6270.36,,61.34,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,9.98,9.98,0,0.14,0.14,0,0.3,0.3,0,0.01,0.01,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 10:35:00",1,SA1,0,-28.90575,0,-28.90575,0,0,806.99,-4,1254,0,447.01,0,,,56,,,,,,,,58,,,,,,,,54,,,,,,,,56,,,,,,,,74,,,,,,,,72,,,,,,-0.04973,2651.70174,362,827.04529,820.47,,40,,,,11,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,9.98,9.98,0,0.14,0.14,0,0.3,0.3,0,0.01,0.01,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 10:35:00",1,TAS1,0,-28.10728,0,-28.10728,0,0,1017.52,0,567.56,0,-449.96,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,24.9,,,,,,,,124.9,,,,,,,,124.9,,,,,,-11.9855,2356.65861,0,1029.5083,1017.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.14,0.14,0,0.3,0.3,0,0,0,0,41.70728,41.70728,0 +D,DREGION,,2,"2023/12/14 10:35:00",1,VIC1,0,-34.3,0,-34.3,0,0,4113.64,-11,4173.2,0,59.55,0,,,94,,,,,,,,137.93,,,,,,,,134,,,,,,,,95,,,,,,,,104,,,,,,,,102,,,,,,-1.53648,8792.16075,428,4174.5498,4156.76,,62,,,,79,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,9.98,9.98,0,0.14,0.14,0,0.3,0.3,0,0.01,0.01,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 10:40:00",1,NSW1,0,58,0,58,0,0,8348.34,17,7598.4,4,-753.93,0,,,113,,,,,,,,153,,,,,,,,143,,,,,,,,83,,,,,,,,44,,,,,,,,43,,,,,,46.36521,14843.02452,147,8315.48145,8373.47,,30,,,,37.2,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.17,0.17,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:40:00",1,QLD1,0,-10,0,-10,0,0,5899.94,10,6977.96,290,788.02,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,64,,,,,,,,124,,,,,,,,32.38,,,,,,-22.69943,11191.44678,365,6215.91455,6202.89,,15,,,,81,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.17,0.17,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:40:00",1,SA1,0,-30,0,-30,0,0,796.57,-5,1265.75,11,458.18,0,,,61,,,,,,,,76.49,,,,,,,,62.69,,,,,,,,49,,,,,,,,74,,,,,,,,72,,,,,,6.93963,2640.29807,362,807.49219,824.38,,31,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.17,0.17,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:40:00",1,TAS1,0,11.05967,0,11.05967,0,0,1039.26,1,577.26,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,4.62,,,,,,,,37.09,,,,,,,,137.08,,,,,,,,137.08,,,,,,-14.26037,2359.13489,0,1052.52441,1039.26,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.54033,2.54033,0 +D,DREGION,,2,"2023/12/14 10:40:00",1,VIC1,0,-34.3,0,-34.3,0,0,4097.91,-11,4174.43,5,71.52,0,,,40.06,,,,,,,,87.44,,,,,,,,87.44,,,,,,,,64,,,,,,,,73,,,,,,,,71,,,,,,5.41368,8794.58376,428,4145.77197,4153.8,,129.38,,,,51.8,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.17,0.17,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:45:00",1,NSW1,0,58,0,58,0,0,8243.07,13,7505.53,22,-759.54,0,,,86,,,,,,,,126,,,,,,,,116,,,,,,,,84,,,,,,,,41.22,,,,,,,,44,,,,,,0,14677.25597,147,8264.80566,8287.61,,38,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:45:00",1,QLD1,0,-20.5,0,-20.5,0,0,5786.84,1,6872.73,290,795.89,0,,,10,,,,,,,,26,,,,,,,,10,,,,,,,,64,,,,,,,,0,,,,,,,,1.22,,,,,,-33.77897,11228.65239,365,6128.3667,6090.65,,15,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:45:00",1,SA1,0,-35.95,0,-35.95,0,0,790.46,-5,1238.12,0,447.65,0,,,61,,,,,,,,89.99,,,,,,,,93.19,,,,,,,,53,,,,,,,,72,,,,,,,,70,,,,,,0,2635.08678,362,821.15411,807.95,,31,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:45:00",1,TAS1,0,11.05967,0,11.05967,0,0,1052.12,1,590.12,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,-12.0146,2363.16464,0,1063.13953,1052.12,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0 +D,DREGION,,2,"2023/12/14 10:45:00",1,VIC1,0,-34.3,0,-34.3,0,0,4098.4,-10,4187.44,5,84.04,0,,,71.7,,,,,,,,94.73,,,,,,,,94.73,,,,,,,,94,,,,,,,,103,,,,,,,,101,,,,,,0,8811.65586,428,4163.44824,4155.6,,121.38,,,,56,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:50:00",1,NSW1,0,58,0,58,0,0,8294.28,10,7592.16,31,-733.12,0,,,86,,,,,,,,126,,,,,,,,116,,,,,,,,84,,,,,,,,45,,,,,,,,44,,,,,,49.0402,14694.2209,152,8274.80371,8345.4,,10,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 10:50:00",1,QLD1,0,-0.01,0,-0.01,0,0,5887.74,-9,6943.32,290,765.57,0,,,10,,,,,,,,22.89,,,,,,,,10,,,,,,,,4.7,,,,,,,,32.23,,,,,,,,37.23,,,,,,0,11188.6857,365,6183.29395,6190.07,,15,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 10:50:00",1,SA1,0,-32.13413,0,-32.13413,0,0,834.9,-4,1250.75,0,415.85,0,,,60,,,,,,,,87,,,,,,,,85.39,,,,,,,,50,,,,,,,,70,,,,,,,,68,,,,,,12.9533,2677.67279,362,840.96118,844.75,,39.38,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 10:50:00",1,TAS1,0,11.05967,0,11.05967,0,0,1053.62,1,591.62,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,-10.57183,2362.17883,0,1063.19287,1053.62,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0 +D,DREGION,,2,"2023/12/14 10:50:00",1,VIC1,0,-37.3,0,-37.3,0,0,4000.95,-12,4098.42,5,92.47,0,,,67.39,,,,,,,,95.02,,,,,,,,95.02,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,7.72108,8793.65849,428,4060.04321,4042.42,,141,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 10:55:00",1,NSW1,0,88.89,0,88.89,0,0,8398.24,20,7687.53,31,-741.71,0,,,85,,,,,,,,125,,,,,,,,114,,,,,,,,53,,,,,,,,44,,,,,,,,43,,,,,,0,14796.54756,152,8438.23535,8450.1,,10,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:55:00",1,QLD1,0,-20.5,0,-20.5,0,0,5720.51,-16,6785.85,290,775.34,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,64,,,,,,,,25.2,,,,,,,,30.2,,,,,,-17.50129,11131.67482,365,6062.42236,6023.29,,15,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:55:00",1,SA1,0,-34.84617,0,-34.84617,0,0,845.28,-1,1351.12,3,502.84,0,,,55.46,,,,,,,,126.12,,,,,,,,99.72,,,,,,,,38,,,,,,,,75,,,,,,,,73,,,,,,0,2630.20807,362,852.80035,860.32,,32,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 10:55:00",1,TAS1,0,10.04328,0,10.04328,0,0,1056.01,1,594.01,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,-8.31816,2361.816,0,1063.33008,1056.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0,0,0,0,0,0,4.55672,4.55672,0 +D,DREGION,,2,"2023/12/14 10:55:00",1,VIC1,0,-41.11,0,-41.11,0,0,3858.97,-20,3876.32,5,12.36,0,,,45.1,,,,,,,,55.1,,,,,,,,55.1,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,-8.17209,8835.32484,429,3925.44849,3905.12,,148.38,,,,56,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:00:00",1,NSW1,0,58,0,58,0,0,8469.36,26,7771.82,5,-702.53,0,,,85,,,,,,,,125,,,,,,,,115,,,,,,,,81,,,,,,,,71,,,,,,,,43,,,,,,45.33145,14818.23401,148,8447.30371,8493.84,,57,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:00:00",1,QLD1,0,-20.5,0,-20.5,0,0,5625.34,-24,6675.97,293,757.63,0,,,10,,,,,,,,22,,,,,,,,10,,,,,,,,62,,,,,,,,103.65,,,,,,,,123,,,,,,-24.59261,11092.42985,365,5969.01758,5930.73,,15,,,,58,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:00:00",1,SA1,0,-32.31068,0,-32.31068,0,0,916.53,3,1287.54,14,357.02,0,,,78.21,,,,,,,,118,,,,,,,,122.27,,,,,,,,51,,,,,,,,12,,,,,,,,56.64,,,,,,17.08718,2495.56239,356,902.70703,940.36,,0,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:00:00",1,TAS1,0,10.04328,0,10.04328,0,0,1062.92,1,600.92,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-5.84624,2373.34088,0,1067.76721,1062.92,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,4.55672,4.55672,0 +D,DREGION,,2,"2023/12/14 11:00:00",1,VIC1,0,-37.3,0,-37.3,0,0,3884.84,-24,4045.84,34,127,0,,,47.8,,,,,,,,63.57,,,,,,,,57.8,,,,,,,,63,,,,,,,,75,,,,,,,,0,,,,,,-21.66283,8918.26129,428,3960.13501,3954.24,,133.38,,,,52,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:05:00",1,NSW1,0,299.99,0,299.99,0,0,8529.88,26,8631.35,5,96.46,0,,,93,,,,,,,,125.9,,,,,,,,136,,,,,,,,78,,,,,,,,66,,,,,,,,38,,,,,,46.31811,14651.5354,148,8483.70801,8556.35,,40,,,,26.6,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,0.95,0.95,0,0.39,0.39,0,29.56,29.56,0 +D,DREGION,,2,"2023/12/14 11:05:00",1,QLD1,0,-20.5,0,-20.5,0,0,5627.68,-29,6717.17,301.57,787.92,0,,,0,,,,,,,,15,,,,,,,,15,,,,,,,,64,,,,,,,,30,,,,,,,,43.72,,,,,,-17.14317,11092.81106,365,5964.47119,5942.86,,60.43,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,0.95,0.95,0,0.39,0.39,0,29.56,29.56,0 +D,DREGION,,2,"2023/12/14 11:05:00",1,SA1,0,-49.70384,0,-49.70384,0,0,916.16,2,1280.56,193,171.4,0,,,93.8,,,,,,,,95,,,,,,,,91,,,,,,,,56,,,,,,,,73,,,,,,,,71,,,,,,19.66968,2686.78214,356,915.01941,1110.56,,60,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,0.95,0.95,0,0.39,0.39,0,29.56,29.56,0 +D,DREGION,,2,"2023/12/14 11:05:00",1,TAS1,0,10.04328,0,10.04328,0,0,1048.52,1,586.52,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-7.37174,2362.94467,0,1054.88928,1048.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,3,3,0,0.95,0.95,0,0,0,0,4.55672,4.55672,0 +D,DREGION,,2,"2023/12/14 11:05:00",1,VIC1,0,-52.68,0,-52.68,0,0,3852.2,-19,3594.56,282,-539.63,0,,,40,,,,,,,,98,,,,,,,,69,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,-23.09345,8906.91958,428,3959.22925,4151.87,,44.95,,,,118.4,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,0.95,0.95,0,0.39,0.39,0,29.56,29.56,0 +D,DREGION,,2,"2023/12/14 11:10:00",1,NSW1,0,120.89,0,120.89,0,0,8587.34,28,8686.07,9,89.72,0,,,113,,,,,,,,133.96,,,,,,,,114.56,,,,,,,,78,,,,,,,,39,,,,,,,,38,,,,,,47.30477,14671.51506,153,8538.74609,8620.9,,40,,,,76,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.96,0.96,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:10:00",1,QLD1,0,-10,0,-10,0,0,5718.02,-21,6827.25,318,791.23,0,,,0,,,,,,,,18,,,,,,,,18,,,,,,,,6.04,,,,,,,,33.87,,,,,,,,34.87,,,,,,0,11115.25517,365,6040.63818,6049.29,,0,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.96,0.96,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:10:00",1,SA1,0,-50,0,-50,0,0,913.47,3,1268.48,197,158.02,0,,,66.13,,,,,,,,84,,,,,,,,81,,,,,,,,55,,,,,,,,72,,,,,,,,74,,,,,,6.8957,2788.94375,361,1087.02112,1112.38,,20,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.96,0.96,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:10:00",1,TAS1,0,10.04328,0,10.04328,0,0,1051.27,1,589.27,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.64,,,,,,,,136.64,,,,,,,,136.64,,,,,,-7.92989,2361.84948,0,1058.19873,1051.27,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.96,0.96,0,0.95,0.95,0,0,0,0,4.55672,4.55672,0 +D,DREGION,,2,"2023/12/14 11:10:00",1,VIC1,0,-51.38797,0,-51.38797,0,0,3940.75,-17,3556.23,130,-514.52,0,,,50,,,,,,,,98,,,,,,,,98,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,0,8844.85095,428,4172.646,4093.46,,145.38,,,,49,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.96,0.96,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:15:00",1,NSW1,0,137.69,0,137.69,0,0,8701.82,35,8979.47,9,268.66,0,,,113,,,,,,,,141.63,,,,,,,,123.93,,,,,,,,68,,,,,,,,39,,,,,,,,35.43,,,,,,48.29143,14744.52124,153,8636.34863,8740.19,,49,,,,46,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.19,1.19,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:15:00",1,QLD1,0,-2.02,0,-2.02,0,0,5766.29,-8,6858.38,315,777.09,0,,,0,,,,,,,,22,,,,,,,,17,,,,,,,,64,,,,,,,,1.55,,,,,,,,0,,,,,,-14.76639,11119.59228,365,6103.95898,6093.39,,0,,,,45,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.19,1.19,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:15:00",1,SA1,0,-51.16156,0,-51.16156,0,0,936.97,3,1287.33,194,156.36,0,,,63.28,,,,,,,,82,,,,,,,,85,,,,,,,,59,,,,,,,,81,,,,,,,,76,,,,,,10.78839,2815.0426,356,1122.40417,1132.46,,20,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.19,1.19,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:15:00",1,TAS1,0,10.04328,0,10.04328,0,0,1040.49,0,578.49,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.34,,,,,,,,136.34,,,,,,,,136.34,,,,,,-8.65353,2356.58938,0,1049.14722,1040.49,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.19,1.19,0,0.95,0.95,0,0,0,0,4.55672,4.55672,0 +D,DREGION,,2,"2023/12/14 11:15:00",1,VIC1,0,-54.25,0,-54.25,0,0,3835.64,-18,3297.5,129,-667.14,0,,,54.94,,,,,,,,89.94,,,,,,,,85.94,,,,,,,,96,,,,,,,,105,,,,,,,,103,,,,,,-27.63734,8913.42773,428,4055.10376,3994.64,,136.38,,,,49,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.19,1.19,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:20:00",1,NSW1,0,137.69,0,137.69,0,0,8745.55,37,9060.81,5,310.27,0,,,90,,,,,,,,109,,,,,,,,106.25,,,,,,,,60.37,,,,,,,,45,,,,,,,,44,,,,,,47.6133,15057.00435,148,8688.94336,8778.91,,62,,,,60.77,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,4,4,0,1.19,1.19,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 11:20:00",1,QLD1,0,-9.99998,0,-9.99998,0,0,5777.58,0,6852.23,315,759.66,0,,,27,,,,,,,,27,,,,,,,,17,,,,,,,,64,,,,,,,,51.71,,,,,,,,41.3,,,,,,-6.58144,11146.69502,365,6096.75293,6103.84,,0,,,,34,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,4,4,0,1.19,1.19,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 11:20:00",1,SA1,0,-52.7224,0,-52.7224,0,0,911.15,1,1300.17,183,206.02,0,,,67.92,,,,,,,,98,,,,,,,,94,,,,,,,,46,,,,,,,,79,,,,,,,,71,,,,,,0.39536,2827.22118,361,1105.11877,1096.44,,34.38,,,,27.23,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,4,4,0,1.19,1.19,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 11:20:00",1,TAS1,0,-40.01,0,-40.01,0,0,1024.2,-1,562.2,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-8.09596,2357.6446,0,1033.29236,1024.2,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.19,1.19,0,0.86,0.86,0,0,0,0,54.61,54.61,0 +D,DREGION,,2,"2023/12/14 11:20:00",1,VIC1,0,-56.79,0,-56.79,0,0,3820.29,-16,3158.94,78.52,-739.88,0,,,40,,,,,,,,95.25,,,,,,,,88,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,-16.12591,9115.61474,428,3999.2395,3930.97,,109,,,,48,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,4,4,0,1.19,1.19,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 11:25:00",1,NSW1,0,137.69,0,137.69,0,0,8794.06,38,9121.66,5,322.6,0,,,113,,,,,,,,143.75,,,,,,,,132.15,,,,,,,,55,,,,,,,,43,,,,,,,,42,,,,,,48.72299,15106.82157,148,8739.00684,8825.63,,56,,,,55,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,1.19,1.19,0,1,1,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 11:25:00",1,QLD1,0,-10.4,0,-10.4,0,0,5793.27,7,6844.66,300,751.38,0,,,0,,,,,,,,27,,,,,,,,17,,,,,,,,64,,,,,,,,43.7,,,,,,,,42.15,,,,,,-15.38242,11165.25074,365,6117.00684,6103.97,,32,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,1.19,1.19,0,1,1,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 11:25:00",1,SA1,0,-48.92353,0,-48.92353,0,0,895.58,-3,1286.24,199,191.67,0,,,64.35,,,,,,,,91,,,,,,,,88,,,,,,,,43.3,,,,,,,,81,,,,,,,,73,,,,,,1.85973,2821.44081,362,1081.57031,1097.31,,50,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,1.19,1.19,0,1,1,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 11:25:00",1,TAS1,0,-38.79281,0,-38.79281,0,0,1021.68,-2,587.06,0,-434.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,9.86,,,,,,,,109.85,,,,,,,,109.85,,,,,,-8.37048,2375.36157,0,1032.05176,1021.68,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.19,1.19,0,1,1,0,0,0,0,53.39281,53.39281,0 +D,DREGION,,2,"2023/12/14 11:25:00",1,VIC1,0,-52.69,0,-52.69,0,0,3776.81,-16,3230.67,215,-761.14,0,,,51.39,,,,,,,,71.39,,,,,,,,71.39,,,,,,,,96,,,,,,,,105,,,,,,,,103,,,,,,-14.45824,9152.85788,428,3916.70435,4021.69,,40,,,,70,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,1.19,1.19,0,1,1,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 11:30:00",1,NSW1,0,137.69,0,137.69,0,0,8872.75,38,9153.77,4,277.01,0,,,113,,,,,,,,109.05,,,,,,,,106,,,,,,,,78,,,,,,,,66,,,,,,,,38,,,,,,48.97839,15082.1553,147,8813.3457,8903.1,,40,,,,61,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,17.33448,17.33448,0 +D,DREGION,,2,"2023/12/14 11:30:00",1,QLD1,0,-10,0,-10,0,0,5806.86,16,6886.18,300,779.32,0,,,0,,,,,,,,27,,,,,,,,8.15,,,,,,,,62,,,,,,,,25.57,,,,,,,,63.57,,,,,,-17.34456,11213.89681,365,6114.35449,6118.46,,35,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,17.33448,17.33448,0 +D,DREGION,,2,"2023/12/14 11:30:00",1,SA1,0,-49.8396,0,-49.8396,0,0,853.26,-8,1258.12,188,216.86,0,,,61.22,,,,,,,,74,,,,,,,,72,,,,,,,,60,,,,,,,,81,,,,,,,,73,,,,,,7.30374,2763.32065,362,1052.17261,1044.77,,77,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,17.33448,17.33448,0 +D,DREGION,,2,"2023/12/14 11:30:00",1,TAS1,0,-40.01,0,-40.01,0,0,1013.67,-2,563.05,0,-450.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,25.41,,,,,,,,125.41,,,,,,,,125.41,,,,,,-5.77138,2358.63734,0,1021.44092,1013.67,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.84,1.84,0,0.95,0.95,0,0,0,0,54.61,54.61,0 +D,DREGION,,2,"2023/12/14 11:30:00",1,VIC1,0,-54.25,0,-54.25,0,0,3752.56,-15,3211.2,209,-750.36,0,,,53.38,,,,,,,,121.38,,,,,,,,121.38,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,-5.89503,9183.95636,428,3984.14966,3992.32,,42,,,,64,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,17.33448,17.33448,0 +D,DREGION,,2,"2023/12/14 11:35:00",1,NSW1,0,137.69,0,137.69,0,0,9033.06,46,9144.45,4,107.39,0,,,86,,,,,,,,129.54,,,,,,,,114.89,,,,,,,,78,,,,,,,,39,,,,,,,,38,,,,,,49.2338,15237.07385,147,8956.69141,9050.05,,70,,,,71,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,1,1,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 11:35:00",1,QLD1,0,-10,0,-10,0,0,5873.42,20,6922.53,315,734.11,0,,,11.56,,,,,,,,27,,,,,,,,17,,,,,,,,18.97,,,,,,,,52.96,,,,,,,,32.19,,,,,,-17.077,11267.62437,365,6179.31885,6197.61,,0,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,1,1,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 11:35:00",1,SA1,0,-49.31059,0,-49.31059,0,0,826.12,-12,1215.53,149,240.42,0,,,71,,,,,,,,71,,,,,,,,69,,,,,,,,61,,,,,,,,79,,,,,,,,71,,,,,,12.74776,2775.91991,362,1017.87421,977.9,,20,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,1,1,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 11:35:00",1,TAS1,0,-40.01,0,-40.01,0,0,991.72,-3,532.86,0,-458.86,0,,,0,,,,,,,,7,,,,,,,,7.75,,,,,,,,33.8,,,,,,,,133.8,,,,,,,,133.8,,,,,,-9.36492,2394.7235,0,1004.08484,991.72,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,1,1,0,0,0,0,53.61,53.61,0 +D,DREGION,,2,"2023/12/14 11:35:00",1,VIC1,0,-53.66,0,-53.66,0,0,3592.65,-15,3239.44,226,-579.21,0,,,56.48,,,,,,,,93.48,,,,,,,,94.48,,,,,,,,95,,,,,,,,95,,,,,,,,95,,,,,,-2.1727,9189.72543,428,3830.70459,3837.53,,112.24,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,1,1,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 11:40:00",1,NSW1,0,139.96017,0,139.96017,0,0,9143.45,53,9157.63,4,10.18,0,,,118,,,,,,,,111.79,,,,,,,,130,,,,,,,,51,,,,,,,,39,,,,,,,,38,,,,,,45.77327,15219.86758,147,9056.52441,9153.28,,37,,,,61,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,3.95,3.95,0,0.95,0.95,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 11:40:00",1,QLD1,0,-10,0,-10,0,0,5875.07,25,6886.51,315,696.44,0,,,0,,,,,,,,28,,,,,,,,0,,,,,,,,61,,,,,,,,16.1,,,,,,,,17,,,,,,-1.6901,11207.18394,365,6165.04639,6197.7,,0,,,,34,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,3.95,3.95,0,0.95,0.95,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 11:40:00",1,SA1,0,-52.1953,0,-52.1953,0,0,795.5,-15,1199.02,143,260.51,0,,,54.72,,,,,,,,85,,,,,,,,74.39,,,,,,,,53,,,,,,,,81,,,,,,,,73,,,,,,18.19177,2820.04382,362,946.69238,941.62,,26,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,3.95,3.95,0,0.95,0.95,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 11:40:00",1,TAS1,0,-40.01,0,-40.01,0,0,994.76,-3,532.76,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,4.62,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-13.97975,2405.89665,0,1011.73737,994.76,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,53.61,53.61,0 +D,DREGION,,2,"2023/12/14 11:40:00",1,VIC1,0,-56.79,0,-56.79,0,0,3566.57,-22,3179.46,87,-474.11,0,,,57.69,,,,,,,,103.69,,,,,,,,97.69,,,,,,,,96,,,,,,,,105,,,,,,,,103,,,,,,-6.48796,9198.22497,428,3806.79736,3668,,142.38,,,,45,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,3.95,3.95,0,0.95,0.95,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 11:45:00",1,NSW1,0,120.89,0,120.89,0,0,9023.57,51,9066.81,4,39.24,0,,,113,,,,,,,,135,,,,,,,,122,,,,,,,,77,,,,,,,,41.75,,,,,,,,38,,,,,,46.64799,15294.25272,147,8935.4502,9032.43,,34,,,,40,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,1,1,0,0.39,0.39,0,1.84,1.84,0,0.39,0.39,0,17.11043,17.11043,0 +D,DREGION,,2,"2023/12/14 11:45:00",1,QLD1,0,-10,0,-10,0,0,5895.79,22,6864.01,300,668.22,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.8,,,,,,,,71,,,,,,,,46.93,,,,,,6.18026,11179.96258,365,6179.24365,6202.73,,36,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,1,1,0,0.39,0.39,0,1.84,1.84,0,0.39,0.39,0,17.11043,17.11043,0 +D,DREGION,,2,"2023/12/14 11:45:00",1,SA1,0,-49.33602,0,-49.33602,0,0,796.27,-15,1244.33,185,263.06,0,,,43.27,,,,,,,,93.22,,,,,,,,66,,,,,,,,68,,,,,,,,85,,,,,,,,73,,,,,,21.25483,2851.68817,362,938.7475,985.26,,50,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,1,1,0,0.39,0.39,0,1.84,1.84,0,0.39,0.39,0,17.11043,17.11043,0 +D,DREGION,,2,"2023/12/14 11:45:00",1,TAS1,0,-40.01,0,-40.01,0,0,1026.65,-2,591.03,0,-435.62,0,,,0,,,,,,,,31,,,,,,,,21.02,,,,,,,,10.71,,,,,,,,110.7,,,,,,,,110.7,,,,,,-10.90007,2405.68223,0,1039.5498,1026.65,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,1.75,1.75,0,0,0,0,53.61,53.61,0 +D,DREGION,,2,"2023/12/14 11:45:00",1,VIC1,0,-54.25,0,-54.25,0,0,3584.51,-18,3262.77,183,-504.74,0,,,71.25,,,,,,,,71.25,,,,,,,,97.25,,,,,,,,96,,,,,,,,96,,,,,,,,96,,,,,,-11.3744,9226.47819,425,3771.75928,3781.89,,59,,,,85,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,1,1,0,0.39,0.39,0,1.84,1.84,0,0.39,0.39,0,17.11043,17.11043,0 +D,DREGION,,2,"2023/12/14 11:50:00",1,NSW1,0,137.69,0,137.69,0,0,9154.43,46,9180.04,9,16.61,0,,,113,,,,,,,,138.13,,,,,,,,105,,,,,,,,77,,,,,,,,65,,,,,,,,38,,,,,,47.52272,15371.75784,153,9072.63086,9163.32,,50,,,,61,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:50:00",1,QLD1,0,-20.5,0,-20.5,0,0,5937.1,25,6857.49,315,605.39,0,,,0,,,,,,,,27,,,,,,,,0,,,,,,,,61,,,,,,,,23.15,,,,,,,,18.77,,,,,,3.62842,11270.63416,365,6210.11426,6256.74,,0,,,,49,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:50:00",1,SA1,0,-54.68294,0,-54.68294,0,0,781.81,-16,1110.43,183,145.62,0,,,41.37,,,,,,,,67,,,,,,,,98,,,,,,,,70,,,,,,,,80,,,,,,,,72,,,,,,24.31789,2802.71573,362,957.66907,966.65,,20,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:50:00",1,TAS1,0,-40.01,0,-40.01,0,0,1040.07,-2,578.07,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,4.62,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-0.95257,2383.54293,0,1043.02588,1040.07,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,53.61,53.61,0 +D,DREGION,,2,"2023/12/14 11:50:00",1,VIC1,0,-58.25,0,-58.25,0,0,3579,-13,3371.11,81,-288.89,0,,,74.3,,,,,,,,94.3,,,,,,,,98.24,,,,,,,,95,,,,,,,,104,,,,,,,,102,,,,,,-10.20585,9321.36993,424,3755.39648,3670.37,,135.38,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 11:55:00",1,NSW1,0,137.69,0,137.69,0,0,9128.08,53,9000.13,8,-135.95,0,,,113,,,,,,,,132,,,,,,,,122,,,,,,,,81,,,,,,,,42,,,,,,,,43,,,,,,48.14204,15350.64528,152,9026.875,9134.39,,35,,,,33,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1,1,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,19.06,19.06,0 +D,DREGION,,2,"2023/12/14 11:55:00",1,QLD1,0,-10,0,-10,0,0,6028.41,25,6926.72,296.7,601.61,0,,,0,,,,,,,,16.57,,,,,,,,3.76,,,,,,,,61,,,,,,,,71,,,,,,,,63.59,,,,,,-9.41484,11339.79345,365,6328.73486,6329.36,,42.3,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1,1,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,19.06,19.06,0 +D,DREGION,,2,"2023/12/14 11:55:00",1,SA1,0,-51.89853,0,-51.89853,0,0,765.64,-16,1143.99,195,183.35,0,,,53.18,,,,,,,,91,,,,,,,,90,,,,,,,,72,,,,,,,,81,,,,,,,,73,,,,,,0,2829.24583,362,968.4126,963.57,,50,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1,1,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,19.06,19.06,0 +D,DREGION,,2,"2023/12/14 11:55:00",1,TAS1,0,-40.01,0,-40.01,0,0,1047.34,-2,600.42,0,-446.92,0,,,0,,,,,,,,19.29,,,,,,,,19.69,,,,,,,,22.16,,,,,,,,122.16,,,,,,,,122.16,,,,,,-1.11076,2407.03718,0,1050.45349,1047.34,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0,0,0,53.61,53.61,0 +D,DREGION,,2,"2023/12/14 11:55:00",1,VIC1,0,-55.85986,0,-55.85986,0,0,3465.75,-13,3490.55,211,-186.21,0,,,61.63,,,,,,,,71.63,,,,,,,,71.63,,,,,,,,66,,,,,,,,66,,,,,,,,66,,,,,,-10.17262,9301.38657,421,3602.80737,3687.13,,63,,,,92,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1,1,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,19.06,19.06,0 +D,DREGION,,2,"2023/12/14 12:00:00",1,NSW1,0,137.69,0,137.69,0,0,9211.15,53,9058.54,8,-160.61,0,,,113,,,,,,,,150.17,,,,,,,,125.37,,,,,,,,82,,,,,,,,45,,,,,,,,43,,,,,,40.86409,15434.82705,152,9122.77637,9216.68,,30,,,,66,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,4,4,0,1.19,1.19,0,1,1,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:00:00",1,QLD1,0,-20.5,0,-20.5,0,0,6021.92,25,6913.72,315,576.8,0,,,27,,,,,,,,20,,,,,,,,27,,,,,,,,61,,,,,,,,91,,,,,,,,48.71,,,,,,-0.17684,11372.43045,365,6296.97314,6340.42,,0,,,,59,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,4,4,0,1.19,1.19,0,1,1,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:00:00",1,SA1,0,-51.46728,0,-51.46728,0,0,805.09,-11,1110.68,187,118.58,0,,,47.74,,,,,,,,100,,,,,,,,99,,,,,,,,72,,,,,,,,81.65,,,,,,,,73,,,,,,13.09524,2803.04179,362,1000.21423,993.87,,26.38,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,4,4,0,1.19,1.19,0,1,1,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:00:00",1,TAS1,0,11.05967,0,11.05967,0,0,1064.05,-1,602.05,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,4.62,,,,,,,,37.38,,,,,,,,137.38,,,,,,,,137.38,,,,,,5.22435,2395.30569,0,1059.82837,1064.05,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.54033,2.54033,0 +D,DREGION,,2,"2023/12/14 12:00:00",1,VIC1,0,-54.25,0,-54.25,0,0,3504.72,-15,3516.37,72,-60.35,0,,,40,,,,,,,,55,,,,,,,,50,,,,,,,,66,,,,,,,,66,,,,,,,,66,,,,,,6.32344,9330.45826,421,3673.82593,3586.33,,149,,,,15,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,4,4,0,1.19,1.19,0,1,1,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:05:00",1,NSW1,0,137.69,0,137.69,0,0,9292.36,59,9087.42,4,-208.94,0,,,139,,,,,,,,181,,,,,,,,131,,,,,,,,83,,,,,,,,71,,,,,,,,44,,,,,,42.79962,15254.86109,147,9190.22461,9291.71,,40,,,,46.04,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,1.84,1.84,0,4.89,4.89,0,0.17,0.17,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:05:00",1,QLD1,0,-20.5,0,-20.5,0,0,6067.45,21,6892.53,315,510.08,0,,,0,,,,,,,,1.36,,,,,,,,0,,,,,,,,61,,,,,,,,91,,,,,,,,39.86,,,,,,-11.0679,11397.878,365,6355.81201,6384.14,,15.38,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,1.84,1.84,0,4.89,4.89,0,0.17,0.17,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:05:00",1,SA1,0,-50.51488,0,-50.51488,0,0,812.76,-6,1146.13,240,93.38,0,,,36,,,,,,,,63,,,,,,,,90.76,,,,,,,,71,,,,,,,,53.73,,,,,,,,72,,,,,,10.38768,2842.94259,362,997.20276,1053.48,,20,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,1.84,1.84,0,4.89,4.89,0,0.17,0.17,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:05:00",1,TAS1,0,-40.01,0,-40.01,0,0,1050.91,0,588.91,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.64,,,,,,,,136.64,,,,,,,,136.64,,,,,,5.51602,2404.48214,0,1045.39722,1050.91,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,1.84,1.84,0,4.89,4.89,0,0,0,0,54.61,54.61,0 +D,DREGION,,2,"2023/12/14 12:05:00",1,VIC1,0,-52.69,0,-52.69,0,0,3524.21,-5,3658.85,61,73.64,0,,,48.17,,,,,,,,79,,,,,,,,79,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,10.70205,9308.93493,421,3632.13403,3593.6,,130,,,,39.96,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,1.84,1.84,0,4.89,4.89,0,0.17,0.17,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:10:00",1,NSW1,0,137.69,0,137.69,0,0,9531.43,68,9152.61,4,-382.82,0,,,130.67,,,,,,,,161,,,,,,,,131,,,,,,,,82,,,,,,,,71,,,,,,,,21.55,,,,,,38.32835,15136.12112,147,9426.28809,9533.36,,40,,,,63.07,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,1.83,1.83,0,1.84,1.84,0,0.15,0.15,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:10:00",1,QLD1,0,-20.5,0,-20.5,0,0,6078.33,18,6882.42,315,489.09,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,23.96,,,,,,,,78.22,,,,,,,,131,,,,,,0,11350.40066,365,6362.08008,6394.18,,0,,,,33.93,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,1.83,1.83,0,1.84,1.84,0,0.15,0.15,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:10:00",1,SA1,0,-49.45771,0,-49.45771,0,0,793.09,-4,1207.7,226,188.61,0,,,45,,,,,,,,63.75,,,,,,,,72,,,,,,,,72,,,,,,,,39,,,,,,,,73,,,,,,0,2854.93389,362,1030.01294,1020.74,,33.38,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,1.83,1.83,0,1.84,1.84,0,0.15,0.15,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:10:00",1,TAS1,0,-40.01,0,-40.01,0,0,1019.22,-1,557.22,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,-2.19185,2407.17901,0,1022.41589,1019.22,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.83,1.83,0,1.84,1.84,0,0,0,0,54.61,54.61,0 +D,DREGION,,2,"2023/12/14 12:10:00",1,VIC1,0,-52.68,0,-52.68,0,0,3535.76,-1,3737.32,19,182.56,0,,,48,,,,,,,,99.17,,,,,,,,96.03,,,,,,,,66,,,,,,,,66,,,,,,,,0,,,,,,18.07429,9296.53365,421,3582.52539,3569.78,,132,,,,53,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,1.83,1.83,0,1.84,1.84,0,0.15,0.15,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:15:00",1,NSW1,0,137.69,0,137.69,0,0,9598.96,76,9104.76,5,-499.2,0,,,118.53,,,,,,,,135.15,,,,,,,,125.15,,,,,,,,82,,,,,,,,71,,,,,,,,44,,,,,,22.88693,15156.49927,148,9502.66113,9605.27,,45.85,,,,66,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,0.77,0.77,0,0.85,0.85,0,0.01,0.01,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 12:15:00",1,QLD1,0,-10,0,-10,0,0,6102.03,23,6918.33,315,501.29,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,61,,,,,,,,99,,,,,,,,40.35,,,,,,-30.62959,11340.96987,365,6415.92773,6417.82,,30,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,0.77,0.77,0,0.85,0.85,0,0.01,0.01,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 12:15:00",1,SA1,0,-44.60717,0,-44.60717,0,0,801.68,-2,1227.75,238.78,187.29,0,,,45.22,,,,,,,,61.22,,,,,,,,72.22,,,,,,,,71,,,,,,,,79,,,,,,,,73,,,,,,4.941,2858.63144,362,1029.33887,1042.03,,34.53,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,0.77,0.77,0,0.85,0.85,0,0.01,0.01,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 12:15:00",1,TAS1,0,-40.01,0,-40.01,0,0,1006.36,-2,544.36,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,-9.89971,2398.68775,0,1018.25671,1006.36,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.77,0.77,0,0.85,0.85,0,0,0,0,54.61,54.61,0 +D,DREGION,,2,"2023/12/14 12:15:00",1,VIC1,0,-47.51074,0,-47.51074,0,0,3520.38,2,3845.58,30,295.21,0,,,61,,,,,,,,128.36,,,,,,,,101.66,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,15.29669,9349.10815,421,3534.46167,3569.3,,95,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,0.77,0.77,0,0.85,0.85,0,0.01,0.01,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 12:20:00",1,NSW1,0,137.69,0,137.69,0,0,9493.45,75,8980.7,5,-517.75,0,,,139,,,,,,,,158,,,,,,,,121,,,,,,,,81,,,,,,,,71,,,,,,,,44,,,,,,0,15303.5368,148,9425.5918,9500.12,,40,,,,87.11,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:20:00",1,QLD1,0,0,0,0,0,0,6190.47,25,7037.91,327,520.43,0,,,0,,,,,,,,0,,,,,,,,8,,,,,,,,61,,,,,,,,91,,,,,,,,47.3,,,,,,-34.99638,11286.16273,365,6517.17236,6518.49,,0,,,,38,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:20:00",1,SA1,0,-49.74313,0,-49.74313,0,0,783.25,-1,1192.68,236,173.43,0,,,31,,,,,,,,87,,,,,,,,70,,,,,,,,75,,,,,,,,81,,,,,,,,74,,,,,,0,2788.06181,362,1025.3457,1020.38,,29,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:20:00",1,TAS1,0,-40.01,0,-40.01,0,0,1044.77,-1,582.77,0,-462,0,,,0,,,,,,,,0,,,,,,,,1,,,,,,,,37.09,,,,,,,,137.08,,,,,,,,137.08,,,,,,-8.84805,2396.90001,0,1054.62048,1044.77,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,56.46,56.46,0 +D,DREGION,,2,"2023/12/14 12:20:00",1,VIC1,0,-52.69,0,-52.69,0,0,3293.65,0,3611.34,10,307.69,0,,,53.64,,,,,,,,79.53,,,,,,,,99.73,,,,,,,,65,,,,,,,,65,,,,,,,,65,,,,,,0,9249.00974,422,3347.29614,3321.64,,136.38,,,,14.89,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:25:00",1,NSW1,0,137.69,0,137.69,0,0,9539.41,68,9058.87,4,-484.55,0,,,119,,,,,,,,81.69,,,,,,,,71,,,,,,,,80,,,,,,,,70,,,,,,,,43,,,,,,23.52906,15088.81217,147,9451.87109,9543.99,,40,,,,61,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.86,0.86,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:25:00",1,QLD1,0,0,0,0,0,0,6203.01,25,7020.47,332,485.46,0,,,10,,,,,,,,10,,,,,,,,0,,,,,,,,61,,,,,,,,121,,,,,,,,40.01,,,,,,-11.92416,11252.48907,365,6516.94385,6535.35,,0,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.86,0.86,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:25:00",1,SA1,0,-50.25219,0,-50.25219,0,0,815.95,-1,1169,213,140.05,0,,,38.3,,,,,,,,108,,,,,,,,121,,,,,,,,78,,,,,,,,81,,,,,,,,73,,,,,,11.64434,2827.32949,362,1043.17419,1029.72,,44,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.86,0.86,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:25:00",1,TAS1,0,8.16295,0,8.16295,0,0,1064.43,0,602.43,0,-462,0,,,0,,,,,,,,0,,,,,,,,1,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,0.01062,2380.94794,0,1064.41553,1064.43,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.86,0.86,0,0.95,0.95,0,0,0,0,8.28705,8.28705,0 +D,DREGION,,2,"2023/12/14 12:25:00",1,VIC1,0,-52.68,0,-52.68,0,0,3401.67,-4,3755.63,14,339.96,0,,,55.93,,,,,,,,123.93,,,,,,,,106.01,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,13.12872,9332.95338,423,3413.31006,3432.91,,121.38,,,,49,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.86,0.86,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:30:00",1,NSW1,0,137.69,0,137.69,0,0,9619.01,65,9134.93,4,-488.08,0,,,144,,,,,,,,163,,,,,,,,153,,,,,,,,82,,,,,,,,44,,,,,,,,44,,,,,,30.56192,15197.53174,147,9528.47852,9623.22,,35,,,,61,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:30:00",1,QLD1,0,-2.02,0,-2.02,0,0,6260.2,30,7063.61,315,488.41,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,61,,,,,,,,99,,,,,,,,35.35,,,,,,-8.88122,11386.57427,365,6572.48828,6575.32,,0,,,,35,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:30:00",1,SA1,0,-47.70506,0,-47.70506,0,0,814.2,1,1192.6,225,153.41,0,,,47,,,,,,,,98.56,,,,,,,,83.86,,,,,,,,80,,,,,,,,81,,,,,,,,73,,,,,,3.39866,2812.53956,362,1026.5769,1039.98,,31,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:30:00",1,TAS1,0,-40.01,0,-40.01,0,0,1053.14,-1,591.14,0,-462,0,,,0,,,,,,,,0,,,,,,,,1,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-6.85774,2402.5877,0,1060.99585,1053.14,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,56.46,56.46,0 +D,DREGION,,2,"2023/12/14 12:30:00",1,VIC1,0,-50.01,0,-50.01,0,0,3397.09,0,3745.71,22,326.62,0,,,33.4,,,,,,,,62.92,,,,,,,,62.92,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,-6.39094,9306.86973,425,3430.21362,3436.33,,139.38,,,,44,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:35:00",1,NSW1,0,89.03004,0,89.03004,0,0,9642.16,63,9156.69,1,-486.47,0,,,92,,,,,,,,111,,,,,,,,71,,,,,,,,81,,,,,,,,44,,,,,,,,23.25,,,,,,32.16431,15242.82616,148,9549.01758,9643.11,,67,,,,21.04,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,3.52,3.52,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:35:00",1,QLD1,0,1,0,1,0,0,6311.74,29,7108.63,310.52,486.37,0,,,4.48,,,,,,,,23.48,,,,,,,,9.38,,,,,,,,61,,,,,,,,119,,,,,,,,131,,,,,,-17.75647,11358.90335,365,6614.21533,6622.22,,0,,,,65.96,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,3.52,3.52,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:35:00",1,SA1,0,-47.91851,0,-47.91851,0,0,822.36,1,1168.66,90,256.3,0,,,36,,,,,,,,83,,,,,,,,113,,,,,,,,64.84,,,,,,,,45.98,,,,,,,,72,,,,,,6.5041,2798.95849,182,1033.06299,916.11,,24,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,3.52,3.52,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:35:00",1,TAS1,0,-40.01,0,-40.01,0,0,1023.96,0,561.96,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-7.36746,2378.82357,0,1031.32581,1023.96,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,3.52,3.52,0,0,0,0,103.85597,103.85597,0 +D,DREGION,,2,"2023/12/14 12:35:00",1,VIC1,0,-52.68,0,-52.68,0,0,3425.19,0,3681.16,23,232.97,0,,,89.91,,,,,,,,104.05,,,,,,,,104.05,,,,,,,,65,,,,,,,,72,,,,,,,,0,,,,,,-3.64628,9266.96866,425,3455.57324,3471.71,,114.38,,,,53,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,3.52,3.52,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:40:00",1,NSW1,0,100.02,0,100.02,0,0,9662.65,55,9173.34,0,-489.31,0,,,91,,,,,,,,131,,,,,,,,121,,,,,,,,78,,,,,,,,66,,,,,,,,39,,,,,,0,15253.75102,147,9619.19043,9662.6,,57,,,,30.05,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:40:00",1,QLD1,0,-2.02,0,-2.02,0,0,6279.61,23,7083.84,315,489.23,0,,,0,,,,,,,,10.47,,,,,,,,0,,,,,,,,61,,,,,,,,10,,,,,,,,25.14,,,,,,-25.97095,11442.92058,365,6594.08789,6594.57,,0,,,,77,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:40:00",1,SA1,0,-47.17342,0,-47.17342,0,0,840.61,2,1178.98,29,309.37,0,,,39.99,,,,,,,,79,,,,,,,,76.57,,,,,,,,81,,,,,,,,81,,,,,,,,73,,,,,,12.16146,2812.63935,123,923.37433,874.74,,24,,,,40,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:40:00",1,TAS1,0,-40.01,0,-40.01,0,0,1031.09,0,569.09,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-3.86926,2394.92735,0,1034.96069,1031.09,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,57.46,57.46,0 +D,DREGION,,2,"2023/12/14 12:40:00",1,VIC1,0,-52.69,0,-52.69,0,0,3423.66,1,3632.89,25,184.23,0,,,88.94,,,,,,,,98.94,,,,,,,,98.94,,,,,,,,66,,,,,,,,66,,,,,,,,66,,,,,,10.31963,9309.39697,425,3457.2478,3475.13,,124.38,,,,22.95,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/14 12:45:00",1,NSW1,0,100.02,0,100.02,0,0,9651.97,48,9178.5,10,-483.47,0,,,91,,,,,,,,131,,,,,,,,84.75,,,,,,,,80,,,,,,,,71,,,,,,,,44,,,,,,42.77483,15198.85274,147,9560.32422,9661.53,,47,,,,30.05,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,8.68,8.68,0,0.39,0.39,0,12.19319,12.19319,0 +D,DREGION,,2,"2023/12/14 12:45:00",1,QLD1,0,1,0,1,0,0,6390.06,26,7170.82,298,482.76,0,,,21.79,,,,,,,,22.15,,,,,,,,22,,,,,,,,61,,,,,,,,60.65,,,,,,,,51.72,,,,,,-29.8009,11359.93158,348,6691.65674,6687.79,,45,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,8.68,8.68,0,0.39,0.39,0,12.19319,12.19319,0 +D,DREGION,,2,"2023/12/14 12:45:00",1,SA1,0,-44.39563,0,-44.39563,0,0,826.22,2,1217.98,20,371.76,0,,,39,,,,,,,,78,,,,,,,,100,,,,,,,,81,,,,,,,,52,,,,,,,,73,,,,,,14.7213,2848.55573,117,844.65576,853.07,,68,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,8.68,8.68,0,0.39,0.39,0,12.19319,12.19319,0 +D,DREGION,,2,"2023/12/14 12:45:00",1,TAS1,0,-40.01,0,-40.01,0,0,1064.01,1,615.39,0,-448.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,26,,,,,,,,126,,,,,,,,126,,,,,,-3.25434,2404.46932,0,1066.26428,1064.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,1.36,1.36,0,0.38,0.38,0,9.11,9.11,0,3,3,0,8.68,8.68,0,0,0,0,80.67,80.67,0 +D,DREGION,,2,"2023/12/14 12:45:00",1,VIC1,0,-50.39,0,-50.39,0,0,3438.81,4,3701.59,150,112.78,0,,,68,,,,,,,,88,,,,,,,,88,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,-5.37803,9249.73008,425,3488.9834,3617.89,,32,,,,119.95,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,8.68,8.68,0,0.39,0.39,0,12.19319,12.19319,0 +D,DREGION,,2,"2023/12/14 12:50:00",1,NSW1,0,100,0,100,0,0,9729.03,43,9217.41,10,-521.62,0,,,101,,,,,,,,133.07,,,,,,,,121,,,,,,,,56,,,,,,,,44,,,,,,,,44,,,,,,38.00638,15212.37936,147,9653.18359,9738.99,,45,,,,30.02,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,0.39,0.39,0,0.95,0.95,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:50:00",1,QLD1,0,86,0,86,0,0,6510.29,32,7271.82,240,521.54,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,61,,,,,,,,27.25,,,,,,,,33.07,,,,,,-9.24341,11310.59544,292,6783.08545,6750.25,,57,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,0.39,0.39,0,0.95,0.95,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:50:00",1,SA1,0,-44.15352,0,-44.15352,0,0,795.88,-1,1200.64,14,390.76,0,,,34,,,,,,,,74,,,,,,,,72.67,,,,,,,,65,,,,,,,,78,,,,,,,,71,,,,,,18.11712,2859.33053,118,805.72375,817.12,,94.38,,,,25.98,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,0.39,0.39,0,0.95,0.95,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:50:00",1,TAS1,0,7.14656,0,7.14656,0,0,1063.52,2,601.52,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-8.1859,2392.43972,0,1069.70874,1063.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.95,0.95,0,0,0,0,10.30344,10.30344,0 +D,DREGION,,2,"2023/12/14 12:50:00",1,VIC1,0,-50.39,0,-50.39,0,0,3501.98,7,3759.42,148,109.44,0,,,83.89,,,,,,,,110.48,,,,,,,,100.48,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,1.96169,9347.97124,425,3585.87891,3680.94,,9,,,,114,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,0.39,0.39,0,0.95,0.95,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 12:55:00",1,NSW1,0,89.03,0,89.03,0,0,9617.41,38,9159.13,1,-459.29,0,,,91,,,,,,,,131,,,,,,,,121,,,,,,,,82,,,,,,,,70,,,,,,,,43,,,,,,0,15314.08735,148,9591.64063,9617.13,,51.38,,,,33.05,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 12:55:00",1,QLD1,0,85.75,0,85.75,0,0,6523.56,37,7220.77,240,457.21,0,,,22,,,,,,,,19.38,,,,,,,,22,,,,,,,,61,,,,,,,,20,,,,,,,,28.46,,,,,,1.72805,11235.75351,290,6724.37646,6762.77,,10,,,,32,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 12:55:00",1,SA1,0,-44.68292,0,-44.68292,0,0,724.76,-5,1250.73,19,506.97,0,,,49.07,,,,,,,,101,,,,,,,,84.28,,,,,,,,80,,,,,,,,80,,,,,,,,73,,,,,,14.70237,2900.76856,116,744.57324,755.78,,22,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 12:55:00",1,TAS1,0,7.14656,0,7.14656,0,0,1059.58,1,597.58,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-8.29941,2390.25634,0,1066.87537,1059.58,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.86,0.86,0,0.39,0.39,0,0,0,0,10.30344,10.30344,0 +D,DREGION,,2,"2023/12/14 12:55:00",1,VIC1,0,-52.69,0,-52.69,0,0,3527.13,12,3556.31,21,8.17,0,,,58,,,,,,,,68,,,,,,,,68,,,,,,,,65,,,,,,,,65,,,,,,,,65,,,,,,6.05404,9256.90286,422,3683.64526,3589.25,,122,,,,74.95,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/14 13:00:00",1,NSW1,0,100.02,0,100.02,0,0,9704.38,37,9209.67,0,-494.7,0,,,91,,,,,,,,142.04,,,,,,,,121,,,,,,,,82,,,,,,,,43,,,,,,,,43,,,,,,12.82705,15183.60357,147,9654.02832,9703.47,,57,,,,59,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 13:00:00",1,QLD1,0,83.02004,0,83.02004,0,0,6573.99,30,7317.4,240,503.41,0,,,27,,,,,,,,27,,,,,,,,0,,,,,,,,0,,,,,,,,11.18,,,,,,,,30,,,,,,6.97794,11225.44769,290,6775.61816,6813.69,,62.38,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 13:00:00",1,SA1,0,-34.67747,0,-34.67747,0,0,702.4,-8,1250.29,22,525.88,0,,,38.54,,,,,,,,77,,,,,,,,108.14,,,,,,,,81,,,,,,,,81,,,,,,,,73,,,,,,18.48052,2859.95892,115,714.35236,737.03,,48,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 13:00:00",1,TAS1,0,7.14656,0,7.14656,0,0,1056.98,0,594.98,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-4.63871,2386.00943,0,1061.61841,1056.98,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,1,1,0,0,0,0,10.30344,10.30344,0 +D,DREGION,,2,"2023/12/14 13:00:00",1,VIC1,0,-41.11,0,-41.11,0,0,3511.3,12,3626.99,135,-19.3,0,,,68,,,,,,,,78,,,,,,,,68,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,4.4337,8966.16474,420,3603.60327,3688.16,,38,,,,91,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 13:05:00",1,NSW1,0,100,0,100,0,0,9787.94,43,9230.29,10,-567.64,0,,,91,,,,,,,,131,,,,,,,,121,,,,,,,,55,,,,,,,,43,,,,,,,,43,,,,,,12.45055,14993.73575,147,9737.27246,9798.63,,47,,,,30.04,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:05:00",1,QLD1,0,94.66969,0,94.66969,0,0,6661.32,32,7470.08,240,568.76,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,61,,,,,,,,30,,,,,,,,37.72,,,,,,-5.05206,11270.88736,290,6872.66064,6901.74,,14,,,,35,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:05:00",1,SA1,0,-48.43875,0,-48.43875,0,0,664.21,-10,1179.9,24,491.7,0,,,45.47,,,,,,,,94.89,,,,,,,,80.99,,,,,,,,69,,,,,,,,82,,,,,,,,74,,,,,,15.70852,2850.05799,117,692.50049,699.1,,24,,,,35.96,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:05:00",1,TAS1,0,-40.01,0,-40.01,0,0,1038.89,1,576.89,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-4.14868,2390.23355,0,1042.04065,1038.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,57.46,57.46,0 +D,DREGION,,2,"2023/12/14 13:05:00",1,VIC1,0,-56.79,0,-56.79,0,0,3442.34,8,3494.22,32,19.88,0,,,87.24,,,,,,,,97.24,,,,,,,,97.24,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,16.65971,8875.46422,419,3540.45508,3513.02,,120.38,,,,69,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:10:00",1,NSW1,0,100.02,0,100.02,0,0,9971.82,53,9553.89,11,-428.93,0,,,71,,,,,,,,71,,,,,,,,71,,,,,,,,82,,,,,,,,70,,,,,,,,43,,,,,,17.60184,15025.36211,148,9899.73145,9977.24,,47,,,,35.04,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:10:00",1,QLD1,0,66.11008,0,66.11008,0,0,6695.03,35,7469.85,240,534.83,0,,,0,,,,,,,,23,,,,,,,,0,,,,,,,,0,,,,,,,,0.13,,,,,,,,36.13,,,,,,0,11269.82173,290,6900.24609,6934.44,,8,,,,40.7,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:10:00",1,SA1,0,-45.75747,0,-45.75747,0,0,666.26,-10,1197.09,15,515.83,0,,,57.12,,,,,,,,112,,,,,,,,123,,,,,,,,81,,,,,,,,81,,,,,,,,74,,,,,,17.71508,2835.25291,114,683.10962,693.63,,24,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:10:00",1,TAS1,0,-40.01,0,-40.01,0,0,1059.88,1,597.88,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,0,2395.4294,0,1058.8772,1059.88,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.86,0.86,0,0,0,0,57.46,57.46,0 +D,DREGION,,2,"2023/12/14 13:10:00",1,VIC1,0,-54.25,0,-54.25,0,0,3704.85,16,3606.74,19,-117.11,0,,,93.18,,,,,,,,113.54,,,,,,,,101.14,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,23.58504,8950.21644,418,3704.27319,3760.26,,126.38,,,,64.27,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:15:00",1,NSW1,0,100,0,100,0,0,9943.36,57,9580.36,12,-375,0,,,86,,,,,,,,71,,,,,,,,71,,,,,,,,82,,,,,,,,70,,,,,,,,29.67,,,,,,26.65499,14954.41217,149,9857.04297,9948.39,,46,,,,14.03,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:15:00",1,QLD1,0,54.55008,0,54.55008,0,0,6659.39,37,7394.72,240,495.33,0,,,0,,,,,,,,26,,,,,,,,26,,,,,,,,23.2,,,,,,,,72,,,,,,,,84,,,,,,-22.11219,11158.7999,290,6883.71875,6898.29,,8,,,,21,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:15:00",1,SA1,0,-42.73175,0,-42.73175,0,0,661.23,-9,1168.65,9,498.43,0,,,49,,,,,,,,130,,,,,,,,105.79,,,,,,,,67,,,,,,,,37,,,,,,,,60,,,,,,19.72165,2804.43817,39,676.00555,681.83,,11,,,,57.97,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:15:00",1,TAS1,0,11.1,0,11.1,0,0,1085.37,1,623.37,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,0.12862,2438.99809,0,1084.24121,1085.37,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.86,0.86,0,0.86,0.86,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 13:15:00",1,VIC1,0,-50.39,0,-50.39,0,0,3762.5,25,3648.39,5,-119.11,0,,,89.2,,,,,,,,95.66,,,,,,,,95.28,,,,,,,,66,,,,,,,,67.67,,,,,,,,73,,,,,,11.89764,8917.28872,418,3771.948,3801.62,,140.38,,,,77,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:20:00",1,NSW1,0,100,0,100,0,0,10082.88,62,9565.28,16,-533.61,0,,,71,,,,,,,,82.56,,,,,,,,71,,,,,,,,55,,,,,,,,43,,,,,,,,70,,,,,,35.70813,14889.7924,150,9987.88574,10097.31,,43,,,,40.02,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 13:20:00",1,QLD1,0,54.55,0,54.55,0,0,6723.3,32,7494.36,240,531.06,0,,,0,,,,,,,,22,,,,,,,,9.56,,,,,,,,63,,,,,,,,85,,,,,,,,85,,,,,,-27.18713,11177.13268,290,6956.18994,6962.33,,8,,,,41,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 13:20:00",1,SA1,0,-45.99999,0,-45.99999,0,0,639.12,-8,1246.42,31,576.3,0,,,32.14,,,,,,,,107,,,,,,,,107,,,,,,,,58.4,,,,,,,,47.82,,,,,,,,72,,,,,,7.32307,2868.03864,111,662.86469,685.06,,21.38,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 13:20:00",1,TAS1,0,11.08,0,11.08,0,0,1094.88,2,632.88,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-0.6132,2448.62356,0,1093.49536,1094.88,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,1,1,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 13:20:00",1,VIC1,0,-52.69,0,-52.69,0,0,3695.96,23,3686.85,43,-52.11,0,,,118.43,,,,,,,,108.43,,,,,,,,108.43,,,,,,,,65,,,,,,,,74,,,,,,,,22.82,,,,,,-6.70445,9095.24308,418,3722.16187,3786.21,,133,,,,58.98,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 13:25:00",1,NSW1,0,137.69,0,137.69,0,0,10213.09,73,9785.44,18,-445.65,0,,,71,,,,,,,,111.98,,,,,,,,71,,,,,,,,82,,,,,,,,43,,,,,,,,43,,,,,,20.77573,15093.35652,147,10130.1875,10225.09,,38,,,,41.81,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,6,6,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:25:00",1,QLD1,0,-2.02,0,-2.02,0,0,6677.98,30,7502.08,261,563.09,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,70.76,,,,,,,,79.76,,,,,,-9.22991,11288.34586,290,6899.7832,6938.43,,0,,,,41,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,6,6,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:25:00",1,SA1,0,-43.9369,0,-43.9369,0,0,650.94,-6,1236.15,28,557.21,0,,,47.09,,,,,,,,84,,,,,,,,115,,,,,,,,79,,,,,,,,80,,,,,,,,73,,,,,,7.04389,2848.60188,108,686.40784,693.13,,24,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,6,6,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:25:00",1,TAS1,0,12.24327,0,12.24327,0,0,1082.5,1,620.5,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-5.64426,2425.03848,0,1087.14685,1082.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,6,6,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 13:25:00",1,VIC1,0,-52.68,0,-52.68,0,0,3782.9,24,3654.59,37,-165.31,0,,,100.17,,,,,,,,120.17,,,,,,,,106.65,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,-17.64985,9210.87215,418,3841.10205,3859.6,,143.38,,,,57.19,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,6,6,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 13:30:00",1,NSW1,0,89.03004,0,89.03004,0,0,10246.43,83,9630.14,0,-616.29,0,,,91,,,,,,,,99,,,,,,,,71,,,,,,,,95,,,,,,,,49.75,,,,,,,,63.75,,,,,,28.4617,15159.92689,147,10142.90918,10246.73,,57,,,,55,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.01,0.01,0,0.26,0.26,0,2.64,2.64,0,2.31,2.31,0,3,3,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 13:30:00",1,QLD1,0,49.55,0,49.55,0,0,6705.07,27,7589.17,240,644.1,0,,,22,,,,,,,,22,,,,,,,,22,,,,,,,,64,,,,,,,,87,,,,,,,,87,,,,,,-18.95518,11233.83939,290,6956.11768,6945.97,,35,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.01,0.01,0,0.26,0.26,0,2.64,2.64,0,2.31,2.31,0,3,3,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 13:30:00",1,SA1,0,-34.85705,0,-34.85705,0,0,666.44,-3,1219.43,41,511.99,0,,,45.19,,,,,,,,105,,,,,,,,105,,,,,,,,72,,,,,,,,83,,,,,,,,72,,,,,,9.08168,2825.24695,111,694.89209,719.52,,44,,,,20,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.01,0.01,0,0.26,0.26,0,2.64,2.64,0,2.31,2.31,0,3,3,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 13:30:00",1,TAS1,0,11.08,0,11.08,0,0,1084.48,1,622.48,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-1.42348,2412.97083,0,1084.9021,1084.48,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,2.31,2.31,0,3,3,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 13:30:00",1,VIC1,0,-41.11,0,-41.11,0,0,3798.19,22,3917.48,144,-24.7,0,,,57.34,,,,,,,,87.34,,,,,,,,93.34,,,,,,,,39.93,,,,,,,,59,,,,,,,,56,,,,,,-15.03419,9173.28482,418,3851.11401,3982.01,,69.38,,,,95,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.01,0.01,0,0.26,0.26,0,2.64,2.64,0,2.31,2.31,0,3,3,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 13:35:00",1,NSW1,0,137.69,0,137.69,0,0,10102.61,74,10356.4,1,252.79,0,,,72,,,,,,,,133.68,,,,,,,,107.88,,,,,,,,38,,,,,,,,38,,,,,,,,38,,,,,,0,15096.1081,148,10034.84863,10097.56,,26,,,,5.04,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,1.19,1.19,0,1,1,0,0.39,0.39,0,6,6,0 +D,DREGION,,2,"2023/12/14 13:35:00",1,QLD1,0,49.55,0,49.55,0,0,6634.34,23,7537.51,255,648.17,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,62,,,,,,,,99,,,,,,,,67,,,,,,-17.72616,11199.90151,290,6869.64746,6890.89,,18.38,,,,70,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,1.19,1.19,0,1,1,0,0.39,0.39,0,6,6,0 +D,DREGION,,2,"2023/12/14 13:35:00",1,SA1,0,-49.92958,0,-49.92958,0,0,672.58,-1,1192.79,6,514.21,0,,,52.93,,,,,,,,80,,,,,,,,80,,,,,,,,78,,,,,,,,30,,,,,,,,71,,,,,,0,2852.88506,109,732.08411,690.09,,3,,,,40,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,1.19,1.19,0,1,1,0,0.39,0.39,0,6,6,0 +D,DREGION,,2,"2023/12/14 13:35:00",1,TAS1,0,11.08,0,11.08,0,0,1083.11,0,621.11,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-0.66365,2414.77737,0,1083.77722,1083.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,1.19,1.19,0,1,1,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 13:35:00",1,VIC1,0,-58.25,0,-58.25,0,0,3726.49,18,2888.06,78,-916.43,0,,,92.8,,,,,,,,102.8,,,,,,,,104.8,,,,,,,,91,,,,,,,,99.15,,,,,,,,90.15,,,,,,-1.34391,9146.58655,384,3866.13623,3834.22,,158,,,,54.96,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,1.19,1.19,0,1,1,0,0.39,0.39,0,6,6,0 +D,DREGION,,2,"2023/12/14 13:40:00",1,NSW1,0,137.69,0,137.69,0,0,10235.65,69,10529.53,9,284.88,0,,,62,,,,,,,,87.66,,,,,,,,62,,,,,,,,72,,,,,,,,70,,,,,,,,56.9,,,,,,38.62034,15119.10753,147,10115.57422,10232.4,,21,,,,14.05,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,19.91,19.91,0,2.12,2.12,0,3,3,0,0.39,0.39,0,15,15,0 +D,DREGION,,2,"2023/12/14 13:40:00",1,QLD1,0,132.03592,0,132.03592,0,0,6817.29,25,7649.05,289,542.76,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,64.9,,,,,,,,87,,,,,,0,11120.546,290,7043.05859,7105.03,,61.54,,,,46,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,19.91,19.91,0,2.12,2.12,0,3,3,0,0.39,0.39,0,15,15,0 +D,DREGION,,2,"2023/12/14 13:40:00",1,SA1,0,-51.58365,0,-51.58365,0,0,751.28,6,1201.24,65,384.96,0,,,79.7,,,,,,,,94,,,,,,,,94,,,,,,,,81,,,,,,,,81,,,,,,,,74,,,,,,12.00013,2848.2291,107,744.32776,822.96,,20,,,,40,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,19.91,19.91,0,2.12,2.12,0,3,3,0,0.39,0.39,0,15,15,0 +D,DREGION,,2,"2023/12/14 13:40:00",1,TAS1,0,13,0,13,0,0,1085.63,1,623.63,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-2.01729,2406.50432,0,1086.64795,1085.63,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,2.12,2.12,0,3,3,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 13:40:00",1,VIC1,0,-58.25,0,-58.25,0,0,3726.01,13,3083.38,97,-739.62,0,,,77.58,,,,,,,,135.58,,,,,,,,137.74,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,0,9119.91458,372,3807.63696,3840.81,,102.84,,,,69.95,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,19.91,19.91,0,2.12,2.12,0,3,3,0,0.39,0.39,0,15,15,0 +D,DREGION,,2,"2023/12/14 13:45:00",1,NSW1,0,138.98531,0,138.98531,0,0,10349.07,77,10655.48,57,249.41,0,,,40.92,,,,,,,,96.54,,,,,,,,55.65,,,,,,,,72,,,,,,,,70,,,,,,,,70,,,,,,42.41356,15061.25962,147,10217.76074,10397.91,,0,,,,25.01,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16.73,16.73,0,6,6,0,10,10,0,3,3,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 13:45:00",1,QLD1,0,131.75002,0,131.75002,0,0,6808.35,34,7718.93,289,621.58,0,,,0,,,,,,,,14,,,,,,,,0,,,,,,,,64,,,,,,,,51.46,,,,,,,,60.46,,,,,,0,11160.97296,290,7058.65088,7097.22,,14,,,,35.99,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16.73,16.73,0,6,6,0,10,10,0,3,3,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 13:45:00",1,SA1,0,-52.40958,0,-52.40958,0,0,777.48,11,1133.82,50,306.34,0,,,70,,,,,,,,75,,,,,,,,75,,,,,,,,81,,,,,,,,81,,,,,,,,74,,,,,,9.61025,2821.70861,112,816.09204,832.11,,59,,,,40,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16.73,16.73,0,6,6,0,10,10,0,3,3,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 13:45:00",1,TAS1,0,13,0,13,0,0,1086.64,1,624.64,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-3.30122,2410.79561,0,1088.93982,1086.64,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,6,6,0,9.21,9.21,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 13:45:00",1,VIC1,0,-58.25,0,-58.25,0,0,3795.88,4,3134.98,42,-702.9,0,,,108.46,,,,,,,,126.46,,,,,,,,161.46,,,,,,,,96,,,,,,,,105,,,,,,,,103,,,,,,0,9237.22568,356,3888.66724,3853.97,,132.38,,,,69,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16.73,16.73,0,6,6,0,10,10,0,3,3,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 13:50:00",1,NSW1,0,137.69,0,137.69,0,0,10315.72,71,10633.68,21,296.96,0,,,82,,,,,,,,125,,,,,,,,95,,,,,,,,72,,,,,,,,70,,,,,,,,63.72,,,,,,46.20678,15107.56705,149,10243.49219,10330.1,,10,,,,20.87,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,11.68,11.68,0,1.84,1.84,0,1.84,1.84,0,0.39,0.39,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 13:50:00",1,QLD1,0,54.55,0,54.55,0,0,6763.73,32,7673.15,290,619.42,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,73.72,,,,,,,,87,,,,,,3.82288,11030.05206,290,7016.51465,7053.68,,58,,,,54.13,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,11.68,11.68,0,1.84,1.84,0,1.84,1.84,0,0.39,0.39,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 13:50:00",1,SA1,0,-52.41478,0,-52.41478,0,0,803.14,13,1146.64,45,298.5,0,,,109.8,,,,,,,,117,,,,,,,,117,,,,,,,,78,,,,,,,,78,,,,,,,,71,,,,,,0.66466,2809.33515,112,849.37451,852.74,,7,,,,30,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,11.68,11.68,0,1.84,1.84,0,1.84,1.84,0,0.39,0.39,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 13:50:00",1,TAS1,0,13.96911,0,13.96911,0,0,1096.74,1,634.74,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-3.80975,2396.58274,0,1099.54834,1096.74,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,1.36,1.36,0,0.38,0.38,0,10.09,10.09,0,1.84,1.84,0,1.84,1.84,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 13:50:00",1,VIC1,0,-58.25,0,-58.25,0,0,3717.51,5,3019.24,39,-737.27,0,,,30,,,,,,,,77.79,,,,,,,,82.19,,,,,,,,95,,,,,,,,95,,,,,,,,95,,,,,,-2.16336,9260.82336,358,3769.41699,3774.19,,130.38,,,,65,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,11.68,11.68,0,1.84,1.84,0,1.84,1.84,0,0.39,0.39,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 13:55:00",1,NSW1,0,137.69,0,137.69,0,0,10419.7,66,10718.06,57,241.36,0,,,35,,,,,,,,68.17,,,,,,,,60.27,,,,,,,,112,,,,,,,,88.15,,,,,,,,122,,,,,,50,15483.43116,147,10309.27637,10468.93,,0,,,,35.33,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,11.58,11.58,0,6,6,0,3,3,0,0.39,0.39,0,6,6,0 +D,DREGION,,2,"2023/12/14 13:55:00",1,QLD1,0,93.75,0,93.75,0,0,6849.47,28,7724.62,242,633.15,0,,,26,,,,,,,,26,,,,,,,,26,,,,,,,,64,,,,,,,,94,,,,,,,,50,,,,,,17.66887,10952.58278,290,7090.73145,7091.36,,39.38,,,,31.67,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,11.58,11.58,0,6,6,0,3,3,0,0.39,0.39,0,6,6,0 +D,DREGION,,2,"2023/12/14 13:55:00",1,SA1,0,-51.64576,0,-51.64576,0,0,832.7,15,1154.97,27,295.27,0,,,78.54,,,,,,,,88,,,,,,,,88,,,,,,,,85,,,,,,,,83,,,,,,,,81,,,,,,6.00478,2833.83558,109,851.76392,863.65,,67,,,,34,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,11.58,11.58,0,6,6,0,3,3,0,0.39,0.39,0,6,6,0 +D,DREGION,,2,"2023/12/14 13:55:00",1,TAS1,0,13.96911,0,13.96911,0,0,1101,2,639,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,146.53,,,,,,-5.32297,2405.50827,0,1104.32422,1101,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,1.36,1.36,0,0.38,0.38,0,10.09,10.09,0,6,6,0,3,3,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 13:55:00",1,VIC1,0,-56.79,0,-56.79,0,0,3781.42,3,3114.76,30,-696.66,0,,,81,,,,,,,,136,,,,,,,,120,,,,,,,,71.52,,,,,,,,75,,,,,,,,80,,,,,,0,9213.38637,360,3823.75513,3826.47,,99,,,,69,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,11.58,11.58,0,6,6,0,3,3,0,0.39,0.39,0,6,6,0 +D,DREGION,,2,"2023/12/14 14:00:00",1,NSW1,0,100.02,0,100.02,0,0,10383.48,65,10798.93,58,357.45,0,,,55,,,,,,,,147.55,,,,,,,,95,,,,,,,,112,,,,,,,,70,,,,,,,,88.34,,,,,,0,15633.88894,148,10378.71289,10433.95,,0,,,,39.02,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.26,0.26,0,16.73,16.73,0,1.84,1.84,0,6,6,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:00:00",1,QLD1,0,42.62,0,42.62,0,0,6852.45,32,7703.29,271,579.85,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,63,,,,,,,,133,,,,,,,,86,,,,,,0,11103.83042,290,7070.87646,7122.21,,18,,,,69.98,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.26,0.26,0,16.73,16.73,0,1.84,1.84,0,6,6,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:00:00",1,SA1,0,-51.36694,0,-51.36694,0,0,847.92,15,1176.68,19,309.76,0,,,106.59,,,,,,,,92,,,,,,,,123,,,,,,,,87,,,,,,,,81,,,,,,,,74,,,,,,0,2876.35263,110,871.21033,871.12,,40,,,,40,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.26,0.26,0,16.73,16.73,0,1.84,1.84,0,6,6,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:00:00",1,TAS1,0,11.08,0,11.08,0,0,1091.24,2,629.24,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-10.81426,2422.85652,0,1100.04944,1091.24,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,1.36,1.36,0,0.38,0.38,0,10.09,10.09,0,1.84,1.84,0,6,6,0,0,0,0,7.33911,7.33911,0 +D,DREGION,,2,"2023/12/14 14:00:00",1,VIC1,0,-56.79,0,-56.79,0,0,3802.86,6,3062.23,31,-771.63,0,,,60,,,,,,,,80,,,,,,,,75.75,,,,,,,,97.18,,,,,,,,96,,,,,,,,96,,,,,,-11.796,9155.084,362,3856.43359,3851.86,,147.38,,,,21,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.26,0.26,0,16.73,16.73,0,1.84,1.84,0,6,6,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:05:00",1,NSW1,0,62.75,0,62.75,0,0,10491.78,62,10689.2,57,140.42,0,,,95,,,,,,,,115,,,,,,,,115,,,,,,,,109.97,,,,,,,,70,,,,,,,,94.65,,,,,,50,15674.57757,147,10427.8291,10539.87,,20,,,,21.24,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.01,0.01,0,4.22,4.22,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,15,15,0 +D,DREGION,,2,"2023/12/14 14:05:00",1,QLD1,0,59.12768,0,59.12768,0,0,6872.99,33,7804.56,265,666.57,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,102.65,,,,,,,,87,,,,,,2.13283,11178.79204,290,7109.88574,7138.24,,64.38,,,,18,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.01,0.01,0,4.22,4.22,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,15,15,0 +D,DREGION,,2,"2023/12/14 14:05:00",1,SA1,0,-49.33144,0,-49.33144,0,0,854.49,15,1169.54,15,300.05,0,,,59.59,,,,,,,,69.26,,,,,,,,92.46,,,,,,,,79,,,,,,,,79,,,,,,,,72,,,,,,10.06674,2849.16506,106,849.56488,873.51,,50,,,,30,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.01,0.01,0,4.22,4.22,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,15,15,0 +D,DREGION,,2,"2023/12/14 14:05:00",1,TAS1,0,10.30132,0,10.30132,0,0,1078.99,1,616.99,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-15.69018,2421.61278,0,1093.67786,1078.99,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,1.84,1.84,0,0.86,0.86,0,0,0,0,5.19868,5.19868,0 +D,DREGION,,2,"2023/12/14 14:05:00",1,VIC1,0,-54.25,0,-54.25,0,0,3850.58,11,3299.11,85,-636.47,0,,,66.67,,,,,,,,134.67,,,,,,,,86.67,,,,,,,,95,,,,,,,,104,,,,,,,,102,,,,,,-4.34994,9152.78073,363,3885.85156,3948.79,,71,,,,100.76,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.01,0.01,0,4.22,4.22,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,15,15,0 +D,DREGION,,2,"2023/12/14 14:10:00",1,NSW1,0,62.75,0,62.75,0,0,10335.72,56,10571.49,57,178.77,0,,,75,,,,,,,,100.32,,,,,,,,105,,,,,,,,111.05,,,,,,,,70,,,,,,,,104,,,,,,0,15613.11357,147,10330.05859,10379.86,,20,,,,27.27,,,,,,,,,,,,,,,,,,,0.05,0.05,0,0,0,0,0.01,0.01,0,11.68,11.68,0,8.68,8.68,0,6,6,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:10:00",1,QLD1,0,60.36429,0,60.36429,0,0,6883.48,33,7689.27,257,548.79,0,,,0,,,,,,,,0,,,,,,,,2.42,,,,,,,,64,,,,,,,,113.24,,,,,,,,87,,,,,,0,11023.9533,290,7117.03271,7138.71,,10,,,,42.73,,,,,,,,,,,,,,,,,,,0.05,0.05,0,0,0,0,0.01,0.01,0,11.68,11.68,0,8.68,8.68,0,6,6,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:10:00",1,SA1,0,-49.06241,0,-49.06241,0,0,839.87,12,1173.93,23,311.06,0,,,70.14,,,,,,,,88,,,,,,,,88,,,,,,,,82,,,,,,,,82,,,,,,,,74.24,,,,,,0,2821.80489,110,851.49731,867.1,,16,,,,30,,,,,,,,,,,,,,,,,,,0.05,0.05,0,0,0,0,0.01,0.01,0,11.68,11.68,0,8.68,8.68,0,6,6,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:10:00",1,TAS1,0,10.0941,0,10.0941,0,0,1080.69,1,618.69,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-15.32933,2404.16556,0,1095.02173,1080.69,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,8.68,8.68,0,6,6,0,0,0,0,4.4559,4.4559,0 +D,DREGION,,2,"2023/12/14 14:10:00",1,VIC1,0,-54.25,0,-54.25,0,0,3916.81,18,3363.6,21,-574.21,0,,,74.64,,,,,,,,129.64,,,,,,,,99.64,,,,,,,,96,,,,,,,,96,,,,,,,,96,,,,,,0,9165.19676,328,3981.45337,3950.64,,159.38,,,,70,,,,,,,,,,,,,,,,,,,0.05,0.05,0,0,0,0,0.01,0.01,0,11.68,11.68,0,8.68,8.68,0,6,6,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:15:00",1,NSW1,0,85.97995,0,85.97995,0,0,10528.95,56,10587.4,57,1.45,0,,,95,,,,,,,,115,,,,,,,,115,,,,,,,,85,,,,,,,,57.31,,,,,,,,86,,,,,,21.65727,15638.82976,147,10493.3584,10569.05,,20,,,,21.23,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,5.9,5.9,0 +D,DREGION,,2,"2023/12/14 14:15:00",1,QLD1,0,83.50773,0,83.50773,0,0,7018.56,37,7800.88,290,492.32,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,134,,,,,,,,90,,,,,,16.53302,11059.65849,290,7217.8042,7305.5,,12,,,,38,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,5.9,5.9,0 +D,DREGION,,2,"2023/12/14 14:15:00",1,SA1,0,-47,0,-47,0,0,850.33,11,1184.45,24,310.13,0,,,32,,,,,,,,96,,,,,,,,93.36,,,,,,,,88,,,,,,,,82,,,,,,,,81,,,,,,12.82757,2853.62037,109,849.93347,882.09,,59,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,5.9,5.9,0 +D,DREGION,,2,"2023/12/14 14:15:00",1,TAS1,0,10.0941,0,10.0941,0,0,1073.68,0,611.68,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,146.78,,,,,,-4.48296,2391.48484,0,1078.16028,1073.68,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,1.84,1.84,0,0.86,0.86,0,0,0,0,4.4559,4.4559,0 +D,DREGION,,2,"2023/12/14 14:15:00",1,VIC1,0,-53.37931,0,-53.37931,0,0,3918.72,24,3621.51,39,-336.21,0,,,93.22,,,,,,,,106.79,,,,,,,,84.44,,,,,,,,133.73,,,,,,,,105,,,,,,,,113.91,,,,,,7.86778,9196.0456,344,3917.2019,3975.61,,114.38,,,,80.77,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,5.9,5.9,0 +D,DREGION,,2,"2023/12/14 14:20:00",1,NSW1,0,62.75,0,62.75,0,0,10637.48,61,10650.29,57,-44.19,0,,,75,,,,,,,,115,,,,,,,,92.06,,,,,,,,90.86,,,,,,,,60.65,,,,,,,,86,,,,,,0,15626.78423,147,10616.30273,10678.15,,20,,,,21.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.01,0.01,0,0.3,0.3,0,7.73,7.73,0,6,6,0,8.68,8.68,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:20:00",1,QLD1,0,63.12575,0,63.12575,0,0,7105.5,43,7734,290,338.5,0,,,0,,,,,,,,7.26,,,,,,,,0,,,,,,,,64,,,,,,,,134,,,,,,,,90,,,,,,11.18732,11283.35666,290,7333.71045,7391.33,,10,,,,28.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.01,0.01,0,0.3,0.3,0,7.73,7.73,0,6,6,0,8.68,8.68,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:20:00",1,SA1,0,-34.8367,0,-34.8367,0,0,869.2,9,1251.77,19,363.58,0,,,55.48,,,,,,,,100,,,,,,,,100,,,,,,,,88,,,,,,,,86,,,,,,,,81.43,,,,,,9.30005,2831.19387,112,874.45679,905.01,,62,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.01,0.01,0,0.3,0.3,0,7.73,7.73,0,6,6,0,8.68,8.68,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:20:00",1,TAS1,0,10.57593,0,10.57593,0,0,1078.46,0,616.46,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,146.6,,,,,,-0.45677,2394.04397,0,1078.91345,1078.46,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.61098,7.61098,0,6,6,0,8.68,8.68,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 14:20:00",1,VIC1,0,-41.11,0,-41.11,0,0,4045.46,27,3944.07,59,-160.39,0,,,93.8,,,,,,,,98.8,,,,,,,,103.8,,,,,,,,135,,,,,,,,104,,,,,,,,120,,,,,,6.52451,9242.65973,329,4039.12354,4143.64,,113.38,,,,90,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.01,0.01,0,0.3,0.3,0,7.73,7.73,0,6,6,0,8.68,8.68,0,0.39,0.39,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 14:25:00",1,NSW1,0,62.75,0,62.75,0,0,10674.66,68,10565.56,58,-167.1,0,,,95,,,,,,,,145,,,,,,,,115,,,,,,,,86,,,,,,,,53.34,,,,,,,,86,,,,,,4.05169,15644.91073,148,10644.81445,10719.96,,19.38,,,,21.26,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,1.4,1.4,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 14:25:00",1,QLD1,0,63.59873,0,63.59873,0,0,7139.38,47,7737.9,290,308.52,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,134,,,,,,,,90,,,,,,-5.095,11261.23352,290,7380.1875,7425.18,,10,,,,41,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,1.4,1.4,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 14:25:00",1,SA1,0,-30,0,-30,0,0,843.98,7,1270.07,16,410.1,0,,,51.62,,,,,,,,77,,,,,,,,77,,,,,,,,88,,,,,,,,86,,,,,,,,81,,,,,,12.7665,2857.91108,112,861.44623,880.57,,86,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,1.4,1.4,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 14:25:00",1,TAS1,0,10.57593,0,10.57593,0,0,1077.94,0,615.94,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,146.36,,,,,,-1.64762,2402.80498,0,1079.58984,1077.94,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.61098,7.61098,0,1.84,1.84,0,1.4,1.4,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 14:25:00",1,VIC1,0,3.00057,0,3.00057,0,0,3964.58,32,3953.13,23,-34.45,0,,,77.1,,,,,,,,99.05,,,,,,,,104.65,,,,,,,,133,,,,,,,,105,,,,,,,,114.35,,,,,,20.80333,8968.20024,325,3979.72363,4038.95,,90,,,,77.74,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,1.4,1.4,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 14:30:00",1,NSW1,0,41.75264,0,41.75264,0,0,10680.56,69,10494.67,58,-243.89,0,,,95,,,,,,,,115,,,,,,,,111.24,,,,,,,,95.14,,,,,,,,69,,,,,,,,86,,,,,,0,15557.04515,148,10661.2373,10730.08,,20,,,,27.26,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,14.94,14.94,0,1.19,1.19,0,0.39,0.39,0,0.38,0.38,0,16.76829,16.76829,0 +D,DREGION,,2,"2023/12/14 14:30:00",1,QLD1,0,42.62,0,42.62,0,0,7165.69,48,7730.86,290,275.17,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,134,,,,,,,,90,,,,,,-15.6878,11344.54992,290,7419.14502,7451.6,,30,,,,56,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,14.94,14.94,0,1.19,1.19,0,0.39,0.39,0,0.38,0.38,0,16.76829,16.76829,0 +D,DREGION,,2,"2023/12/14 14:30:00",1,SA1,0,-46.64993,0,-46.64993,0,0,807.71,6,1229.94,12,410.23,0,,,46,,,,,,,,113.64,,,,,,,,78,,,,,,,,89,,,,,,,,83.55,,,,,,,,81,,,,,,0,2898.28116,109,840.82104,840.32,,35,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,14.94,14.94,0,1.19,1.19,0,0.39,0.39,0,0.38,0.38,0,16.76829,16.76829,0 +D,DREGION,,2,"2023/12/14 14:30:00",1,TAS1,0,10.08372,0,10.08372,0,0,1036.06,0,588.98,0,-447.08,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,24.46,,,,,,,,124.45,,,,,,,,146.2,,,,,,-0.0767,2408.6699,0,1036.13403,1036.06,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.12075,8.12075,0,1.19,1.19,0,0.39,0.39,0,0,0,0,4.47649,4.47649,0 +D,DREGION,,2,"2023/12/14 14:30:00",1,VIC1,0,-6.618,0,-6.618,0,0,4085.01,35,4175.56,22,68.55,0,,,87.15,,,,,,,,96.91,,,,,,,,111.91,,,,,,,,136,,,,,,,,105,,,,,,,,112.8,,,,,,0,9127.9934,314,4116.51709,4161.96,,105.46,,,,56.74,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,14.94,14.94,0,1.19,1.19,0,0.39,0.39,0,0.38,0.38,0,16.76829,16.76829,0 +D,DREGION,,2,"2023/12/14 14:35:00",1,NSW1,0,299.99,0,299.99,0,0,10856.02,71,10492.03,24,-387.99,0,,,70,,,,,,,,95.92,,,,,,,,100.32,,,,,,,,98,,,,,,,,69,,,,,,,,81,,,,,,24.10429,15367.86896,58,10817.10156,10872.13,,0,,,,15.26,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,14.94,14.94,0,6,6,0,3,3,0,0.39,0.39,0,4.07968,4.07968,0 +D,DREGION,,2,"2023/12/14 14:35:00",1,QLD1,0,301.34777,0,301.34777,0,0,7297.46,47,7912.71,240,375.25,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,68,,,,,,,,130.9,,,,,,,,85.9,,,,,,0,11212.36852,290,7531.19189,7532.62,,14,,,,20,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,14.94,14.94,0,6,6,0,3,3,0,0.39,0.39,0,4.07968,4.07968,0 +D,DREGION,,2,"2023/12/14 14:35:00",1,SA1,0,-46.64993,0,-46.64993,0,0,814.03,4,1255.11,29,412.07,0,,,48.01,,,,,,,,86,,,,,,,,86,,,,,,,,91,,,,,,,,89,,,,,,,,93.01,,,,,,18.74067,2881.11762,112,811.79785,863.46,,63,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,14.94,14.94,0,6,6,0,3,3,0,0.39,0.39,0,4.07968,4.07968,0 +D,DREGION,,2,"2023/12/14 14:35:00",1,TAS1,0,-40.01,0,-40.01,0,0,1037.27,0,606.65,0,-430.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,13.03,,,,,,,,108,,,,,,,,143.03,,,,,,-1.46058,2423.56941,0,1038.72705,1037.27,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,6,6,0,3,3,0,0,0,0,56.46,56.46,0 +D,DREGION,,2,"2023/12/14 14:35:00",1,VIC1,0,-41.11,0,-41.11,0,0,4102.24,37,4207.69,11,94.45,0,,,109.33,,,,,,,,142.33,,,,,,,,114.33,,,,,,,,146,,,,,,,,126.05,,,,,,,,120,,,,,,9.9499,9170.22319,304,4127.33057,4168.71,,97,,,,104.74,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,14.94,14.94,0,6,6,0,3,3,0,0.39,0.39,0,4.07968,4.07968,0 +D,DREGION,,2,"2023/12/14 14:40:00",1,NSW1,0,11.63017,0,11.63017,0,0,10845.68,76,10595.31,58,-308.37,0,,,110,,,,,,,,130,,,,,,,,111,,,,,,,,88.01,,,,,,,,73.55,,,,,,,,87,,,,,,0,15553.64757,58,10789.21777,10892.34,,0,,,,21.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.1,0.1,0,0.3,0.3,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,9.85,9.85,0 +D,DREGION,,2,"2023/12/14 14:40:00",1,QLD1,0,11.67833,0,11.67833,0,0,7304.66,45,7734.28,50,379.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,57,,,,,,,,126,,,,,,,,85.56,,,,,,-28.71714,11262.20887,50,7522.01416,7349.86,,14,,,,18,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.1,0.1,0,0.3,0.3,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,9.85,9.85,0 +D,DREGION,,2,"2023/12/14 14:40:00",1,SA1,0,-50,0,-50,0,0,786.86,2,1231.98,34,411.13,0,,,32,,,,,,,,79.53,,,,,,,,37,,,,,,,,91,,,,,,,,89,,,,,,,,81,,,,,,0,2871.39692,110,837.71399,841.39,,66,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.1,0.1,0,0.3,0.3,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,9.85,9.85,0 +D,DREGION,,2,"2023/12/14 14:40:00",1,TAS1,0,-34.10884,0,-34.10884,0,0,1042.03,0,595.34,0,-446.68,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,24.06,,,,,,,,124.06,,,,,,,,143.05,,,,,,-3.38783,2409.6426,0,1045.41553,1042.03,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.3,0.3,0,0.86,0.86,0,0,0,0,50.55884,50.55884,0 +D,DREGION,,2,"2023/12/14 14:40:00",1,VIC1,0,-41.11,0,-41.11,0,0,4130.88,36,4157.35,5,21.47,0,,,87,,,,,,,,117.01,,,,,,,,91.3,,,,,,,,150,,,,,,,,105,,,,,,,,121,,,,,,0,9257.36185,342,4156.75,4188.65,,110.06,,,,100.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.1,0.1,0,0.3,0.3,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,9.85,9.85,0 +D,DREGION,,2,"2023/12/14 14:45:00",1,NSW1,0,55.79943,0,55.79943,0,0,10941.49,78,10578,58,-421.48,0,,,111,,,,,,,,131,,,,,,,,112.73,,,,,,,,104,,,,,,,,74,,,,,,,,86,,,,,,15.58546,15364.54289,58,10897.15723,10988.55,,20,,,,26.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.3,0.3,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 14:45:00",1,QLD1,0,54.55,0,54.55,0,0,7352.27,52,7920.22,50,517.95,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,68,,,,,,,,133,,,,,,,,89,,,,,,-18.39651,11367.09673,50,7366.0332,7398.29,,12,,,,18,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.3,0.3,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 14:45:00",1,SA1,0,-55,0,-55,0,0,788.13,0,1202.56,6,408.43,0,,,32,,,,,,,,81,,,,,,,,37,,,,,,,,88,,,,,,,,89,,,,,,,,85.08,,,,,,23.66072,2871.37445,107,820.01556,814.93,,63.9,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.3,0.3,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 14:45:00",1,TAS1,0,-32.69621,0,-32.69621,0,0,1049.42,0,610.9,0,-438.52,0,,,0,,,,,,,,1,,,,,,,,0,,,,,,,,15.9,,,,,,,,115.9,,,,,,,,143.34,,,,,,-0.85622,2484.56735,0,1050.276,1049.42,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.34,0.34,0,0.39,0.39,0,0,0,0,49.14621,49.14621,0 +D,DREGION,,2,"2023/12/14 14:45:00",1,VIC1,0,-34.3,0,-34.3,0,0,4218.65,33,4214.75,5,-8.9,0,,,84.53,,,,,,,,112.35,,,,,,,,99.83,,,,,,,,140.69,,,,,,,,112.52,,,,,,,,121,,,,,,29.38748,9240.24918,340,4215.27979,4275.24,,86,,,,95.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.3,0.3,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 14:50:00",1,NSW1,0,62.74,0,62.74,0,0,11034.41,83,10507.28,57,-584.12,0,,,90,,,,,,,,130,,,,,,,,121,,,,,,,,104,,,,,,,,88,,,,,,,,86,,,,,,25.64987,15262.84439,57,10974.82129,11084.55,,10,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10.98,10.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 14:50:00",1,QLD1,0,59.84899,0,59.84899,0,0,7383.77,49,8061.94,50,628.17,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,68,,,,,,,,136,,,,,,,,89,,,,,,-23.5336,11417.12719,50,7404.86182,7430.97,,12,,,,38,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10.98,10.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 14:50:00",1,SA1,0,-52.11,0,-52.11,0,0,762.88,1,1220.81,102,355.94,0,,,44.69,,,,,,,,80,,,,,,,,43.59,,,,,,,,91,,,,,,,,91,,,,,,,,85.47,,,,,,14.17676,2894.22724,110,780.89795,882.97,,0,,,,109,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10.98,10.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 14:50:00",1,TAS1,0,36.61141,0,36.61141,0,0,1067.52,1,698.08,0,-369.44,0,,,5,,,,,,,,5,,,,,,,,6.64,,,,,,,,3,,,,,,,,67.22,,,,,,,,143.74,,,,,,-0.39136,2457.70305,0,1066.9126,1067.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 14:50:00",1,VIC1,0,34.47,0,34.47,0,0,4398.88,38,4425.38,5,21.5,0,,,86.3,,,,,,,,108.5,,,,,,,,78.44,,,,,,,,150.7,,,,,,,,142,,,,,,,,120,,,,,,35.06185,9199.51135,340,4385.17285,4447.49,,138,,,,14,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10.98,10.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 14:55:00",1,NSW1,0,62.74,0,62.74,0,0,11101.86,85,10507.38,57,-651.48,0,,,91,,,,,,,,146.61,,,,,,,,122,,,,,,,,103.56,,,,,,,,82.43,,,,,,,,86,,,,,,2.38095,15380.00901,57,11076.75391,11154.16,,10,,,,5.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.15,0.15,0,0.3,0.3,0,5,5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 14:55:00",1,QLD1,0,59.943,0,59.943,0,0,7428.03,49,8121.93,50,643.9,0,,,0,,,,,,,,4,,,,,,,,4,,,,,,,,64,,,,,,,,123,,,,,,,,79,,,,,,-16.00328,11652.21931,50,7442.47314,7475.15,,12,,,,18,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.15,0.15,0,0.3,0.3,0,5,5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 14:55:00",1,SA1,0,-101.96,0,-101.96,0,0,716.95,-2,1082.19,9,356.24,0,,,73.74,,,,,,,,87,,,,,,,,77.52,,,,,,,,88,,,,,,,,89,,,,,,,,100,,,,,,1.69492,2888.13248,34,794.16608,744.01,,29.68,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.15,0.15,0,0.3,0.3,0,5,5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 14:55:00",1,TAS1,0,11.1,0,11.1,0,0,1061.67,1,613.37,0,-448.3,0,,,0,,,,,,,,5,,,,,,,,6.64,,,,,,,,25.68,,,,,,,,125.68,,,,,,,,139.11,,,,,,7.43763,2450.41112,0,1053.23608,1061.67,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,1,1,0,0,0,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 14:55:00",1,VIC1,0,6.30766,0,6.30766,0,0,4348.11,42,4514.97,5,161.86,0,,,64,,,,,,,,84,,,,,,,,40,,,,,,,,136,,,,,,,,105,,,,,,,,121,,,,,,11.27771,9207.86147,341,4364.95752,4404.85,,140,,,,116.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.15,0.15,0,0.3,0.3,0,5,5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:00:00",1,NSW1,0,62.74,0,62.74,0,0,11120.74,84,10486.93,57,-690.81,0,,,90,,,,,,,,130,,,,,,,,121,,,,,,,,104,,,,,,,,94,,,,,,,,86,,,,,,11.90476,15234.61166,57,11078.86523,11174.12,,10,,,,5.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,1.3053,1.3053,0 +D,DREGION,,2,"2023/12/14 15:00:00",1,QLD1,0,59.57874,0,59.57874,0,0,7475.6,48,8210.57,50,684.97,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,65,,,,,,,,130,,,,,,,,86,,,,,,4.63505,11625.8171,50,7469.60303,7523.38,,8,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,1.3053,1.3053,0 +D,DREGION,,2,"2023/12/14 15:00:00",1,SA1,0,-99.99,0,-99.99,0,0,696.58,-4,1059.28,11,351.7,0,,,109.29,,,,,,,,111,,,,,,,,80.02,,,,,,,,91,,,,,,,,86,,,,,,,,95.3,,,,,,0,2885.46645,110,729.34387,726.11,,24,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,1.3053,1.3053,0 +D,DREGION,,2,"2023/12/14 15:00:00",1,TAS1,0,11.08,0,11.08,0,0,1052.58,1,631.96,0,-420.62,0,,,0,,,,,,,,5,,,,,,,,6.64,,,,,,,,3,,,,,,,,98,,,,,,,,139.1,,,,,,3.06706,2463.17328,0,1048.51636,1052.58,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.86,0.86,0,0.86,0.86,0,0,0,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 15:00:00",1,VIC1,0,9,0,9,0,0,4415.43,39,4558.44,5,138.02,0,,,30,,,,,,,,81.5,,,,,,,,43,,,,,,,,155.2,,,,,,,,118.41,,,,,,,,120,,,,,,20.82691,9147.85292,343,4408.20459,4471,,122,,,,113.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,1.3053,1.3053,0 +D,DREGION,,2,"2023/12/14 15:05:00",1,NSW1,0,55.67233,0,55.67233,0,0,11137.6,82,10706.22,34,-465.38,0,,,91,,,,,,,,131,,,,,,,,122,,,,,,,,104,,,,,,,,108,,,,,,,,86,,,,,,0,15660.54661,58,11103.62891,11160.78,,0,,,,16.67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,4.99,4.99,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:05:00",1,QLD1,0,54.75003,0,54.75003,0,0,7640.06,50,8193.72,50,503.66,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,18,,,,,,,,87,,,,,,,,86,,,,,,0,12011.07756,50,7636.21777,7684.89,,6,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,4.99,4.99,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:05:00",1,SA1,0,-99.99,0,-99.99,0,0,681.97,-3,1073.15,4,387.18,0,,,64.01,,,,,,,,115.19,,,,,,,,38.84,,,,,,,,90,,,,,,,,90,,,,,,,,89.65,,,,,,-16.1259,2832.11538,103,732.53027,706.93,,27,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,4.99,4.99,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:05:00",1,TAS1,0,10.09014,0,10.09014,0,0,1034.53,1,619.58,0,-414.94,0,,,1.68,,,,,,,,8.5,,,,,,,,19.71,,,,,,,,51.88,,,,,,,,93.88,,,,,,,,139.24,,,,,,-2.56771,2472.22856,0,1036.09387,1034.53,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.39,0.39,0,0.86,0.86,0,0.38,0.38,0,4.45986,4.45986,0 +D,DREGION,,2,"2023/12/14 15:05:00",1,VIC1,0,9.4199,0,9.4199,0,0,4481.11,37,4533,5,46.89,0,,,69.81,,,,,,,,69.81,,,,,,,,69.81,,,,,,,,149,,,,,,,,142,,,,,,,,120,,,,,,30.37611,9106.74826,342,4465.70508,4538.55,,127,,,,102.33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,4.99,4.99,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:10:00",1,NSW1,0,36.07,0,36.07,0,0,11259.1,80,10930.68,56,-384.42,0,,,91,,,,,,,,131,,,,,,,,112,,,,,,,,94,,,,,,,,108,,,,,,,,86,,,,,,30.95238,15660.13113,57,11177.06543,11306.04,,0,,,,10.26,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.38,0.38,0,5.15,5.15,0 +D,DREGION,,2,"2023/12/14 15:10:00",1,QLD1,0,36.43404,0,36.43404,0,0,7700.04,58,8119.83,50,369.79,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,18,,,,,,,,87,,,,,,,,86,,,,,,32.25277,12042.15818,50,7655.69092,7744.48,,2,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.38,0.38,0,5.15,5.15,0 +D,DREGION,,2,"2023/12/14 15:10:00",1,SA1,0,-66.37,0,-66.37,0,0,673.27,-3,1076.75,3,400.49,0,,,25,,,,,,,,69.97,,,,,,,,30,,,,,,,,92,,,,,,,,92,,,,,,,,90.77,,,,,,-14.29215,2847.8053,100,716.01874,697.94,,44,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.38,0.38,0,5.15,5.15,0 +D,DREGION,,2,"2023/12/14 15:10:00",1,TAS1,0,11.08,0,11.08,0,0,1029.47,1,622,0,-407.47,0,,,5.47,,,,,,,,8.5,,,,,,,,0,,,,,,,,60.71,,,,,,,,92.71,,,,,,,,138.95,,,,,,-3.57582,2457.66895,0,1032.04761,1029.47,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.3,0.3,0,0.86,0.86,0,0.38,0.38,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 15:10:00",1,VIC1,0,10.35428,0,10.35428,0,0,4502.15,36,4592.07,5,84.91,0,,,104.73,,,,,,,,114.73,,,,,,,,108.36,,,,,,,,150,,,,,,,,143,,,,,,,,121,,,,,,26.94116,9116.81307,345,4495.5835,4563.41,,114,,,,108.74,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.38,0.38,0,5.15,5.15,0 +D,DREGION,,2,"2023/12/14 15:15:00",1,NSW1,0,54.27322,0,54.27322,0,0,11373.78,82,10992.51,32,-413.27,0,,,91,,,,,,,,131,,,,,,,,121.48,,,,,,,,104,,,,,,,,108,,,,,,,,86,,,,,,40.47619,15686.04635,57,11297.94824,11395.6,,10,,,,10.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 15:15:00",1,QLD1,0,54.55,0,54.55,0,0,7714.41,55,8177.68,50,413.27,0,,,0,,,,,,,,0,,,,,,,,2,,,,,,,,20,,,,,,,,88,,,,,,,,88,,,,,,27.58304,12034.97033,50,7676.16992,7758.61,,14,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 15:15:00",1,SA1,0,-66.37,0,-66.37,0,0,683.82,-1,1090.73,4,402.91,0,,,39.45,,,,,,,,86.83,,,,,,,,30,,,,,,,,92,,,,,,,,92,,,,,,,,90.3,,,,,,-4.15993,2804.20554,100,711.63062,709.25,,24,,,,35.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 15:15:00",1,TAS1,0,11.08,0,11.08,0,0,1052.98,1,646.5,0,-406.48,0,,,8,,,,,,,,8.5,,,,,,,,0,,,,,,,,50.44,,,,,,,,93.32,,,,,,,,139.02,,,,,,-3.87238,2464.98354,0,1055.85229,1052.98,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.34,0.34,0,0.39,0.39,0,0.39,0.39,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 15:15:00",1,VIC1,0,10.35428,0,10.35428,0,0,4549.97,35,4618.86,5,63.88,0,,,86.7,,,,,,,,96.7,,,,,,,,96.7,,,,,,,,150,,,,,,,,143,,,,,,,,121,,,,,,20.63452,9110.60262,344,4548.26025,4609.83,,112,,,,103,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 15:20:00",1,NSW1,0,63.53951,0,63.53951,0,0,11431.43,80,10963.23,56,-524.2,0,,,91,,,,,,,,131,,,,,,,,122,,,,,,,,104,,,,,,,,108,,,,,,,,86,,,,,,45.2381,15472.31591,57,11339.06543,11478.07,,10,,,,10.22,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 15:20:00",1,QLD1,0,62.73,0,62.73,0,0,7777.9,53,8328.01,41,509.11,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,21,,,,,,,,89,,,,,,,,89,,,,,,24.62252,12032.74104,50,7744.37598,7813.17,,14,,,,18.78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 15:20:00",1,SA1,0,-52.11,0,-52.11,0,0,713,0,1123.17,3,407.17,0,,,40.18,,,,,,,,90.13,,,,,,,,29,,,,,,,,90,,,,,,,,89,,,,,,,,87.49,,,,,,5.9723,2804.70347,101,730.89343,736.97,,24,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 15:20:00",1,TAS1,0,10.57593,0,10.57593,0,0,1049.35,1,632.73,0,-416.62,0,,,0,,,,,,,,8.5,,,,,,,,10.48,,,,,,,,54.03,,,,,,,,98.48,,,,,,,,143.99,,,,,,-5.04884,2474.98702,0,1053.39917,1049.35,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.61098,7.61098,0,0.38,0.38,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 15:20:00",1,VIC1,0,8.71957,0,8.71957,0,0,4437,32,4527.94,5,85.94,0,,,89.51,,,,,,,,89.51,,,,,,,,89.51,,,,,,,,149,,,,,,,,142,,,,,,,,120,,,,,,12.08136,9079.37115,345,4458.7002,4497.52,,112,,,,111,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 15:25:00",1,NSW1,0,86.3768,0,86.3768,0,0,11581.32,82,11108.64,56,-528.68,0,,,112,,,,,,,,131,,,,,,,,122,,,,,,,,104,,,,,,,,108,,,,,,,,86,,,,,,50,15526.95616,57,11503.68848,11627.26,,20,,,,16.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 15:25:00",1,QLD1,0,85.55,0,85.55,0,0,7892.02,58,8446.49,42,512.47,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,21,,,,,,,,86,,,,,,,,89,,,,,,21.62112,12030.05075,50,7848.76074,7927.87,,14,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 15:25:00",1,SA1,0,-47,0,-47,0,0,695.1,3,1105.42,4,406.33,0,,,49.96,,,,,,,,105,,,,,,,,32,,,,,,,,92,,,,,,,,91,,,,,,,,81.93,,,,,,14.30065,2765.06618,104,703.22626,720.15,,24,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 15:25:00",1,TAS1,0,11.08,0,11.08,0,0,1057.65,1,641.03,0,-416.62,0,,,0,,,,,,,,8.5,,,,,,,,28.54,,,,,,,,46.87,,,,,,,,94,,,,,,,,144.06,,,,,,-4.2486,2462.55817,0,1060.8938,1057.65,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0,0,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 15:25:00",1,VIC1,0,8.95,0,8.95,0,0,4442.35,20,4534.38,5,87.03,0,,,58,,,,,,,,73.58,,,,,,,,68,,,,,,,,150,,,,,,,,143,,,,,,,,121,,,,,,7.60745,9091.20844,346,4479.45508,4503.03,,102,,,,102.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 15:30:00",1,NSW1,0,57.07077,0,57.07077,0,0,11568.26,81,10939.57,21,-649.69,0,,,112,,,,,,,,131,,,,,,,,112.91,,,,,,,,104,,,,,,,,108,,,,,,,,86,,,,,,0,15366.41026,58,11534.44434,11579.55,,10,,,,16.24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:30:00",1,QLD1,0,54.75,0,54.75,0,0,7873.05,59,8560.37,0,687.32,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,21,,,,,,,,89,,,,,,,,89,,,,,,0,12137.24139,50,7851.92871,7868.58,,14,,,,34.76,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:30:00",1,SA1,0,-47,0,-47,0,0,696.63,5,1108.55,3,408.92,0,,,37,,,,,,,,87.36,,,,,,,,43,,,,,,,,92,,,,,,,,92,,,,,,,,81.65,,,,,,0,2785.30824,102,720.13458,720.42,,17,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:30:00",1,TAS1,0,13.95,0,13.95,0,0,1064.71,1,703.89,0,-360.82,0,,,0,,,,,,,,8.5,,,,,,,,0,,,,,,,,35.13,,,,,,,,78.93,,,,,,,,144.29,,,,,,-4.26194,2474.88519,0,1067.96802,1064.71,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 15:30:00",1,VIC1,0,13.16698,0,13.16698,0,0,4456.21,19,4430.81,5,-30.41,0,,,74.65,,,,,,,,95.59,,,,,,,,95.59,,,,,,,,160,,,,,,,,153,,,,,,,,120,,,,,,0,9038.53643,346,4494.89502,4509.92,,119,,,,89,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:35:00",1,NSW1,0,299.99,0,299.99,0,0,11691.29,80,11747.95,0,56.67,0,,,139,,,,,,,,131,,,,,,,,142.34,,,,,,,,104,,,,,,,,75.79,,,,,,,,86,,,,,,33.73267,15363.61371,57,11588.92285,11687.02,,59.38,,,,53.75,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.91,19.91,0,0.34,0.34,0,0.86,0.86,0,0.39,0.39,0,10,10,0 +D,DREGION,,2,"2023/12/14 15:35:00",1,QLD1,0,273.10796,0,273.10796,0,0,7900.45,54,8869.29,0,968.84,0,,,0,,,,,,,,4.36,,,,,,,,0,,,,,,,,21,,,,,,,,86,,,,,,,,89,,,,,,33.19413,12199.40363,50,7807.5332,7903.01,,57,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.91,19.91,0,0.34,0.34,0,0.86,0.86,0,0.39,0.39,0,10,10,0 +D,DREGION,,2,"2023/12/14 15:35:00",1,SA1,0,-54.99998,0,-54.99998,0,0,731.59,8,1146.53,6,408.94,0,,,25.19,,,,,,,,113,,,,,,,,28,,,,,,,,90,,,,,,,,90,,,,,,,,85.73,,,,,,16.24816,2738.29627,101,727.71289,758.39,,47,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.91,19.91,0,0.34,0.34,0,0.86,0.86,0,0.39,0.39,0,10,10,0 +D,DREGION,,2,"2023/12/14 15:35:00",1,TAS1,0,-40.01,0,-40.01,0,0,1067.14,1,605.14,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,55.37,,,,,,,,139.38,,,,,,,,144.44,,,,,,-1.3768,2470.24328,0,1067.51721,1067.14,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.34,0.34,0,0.38,0.38,0,0,0,0,56.46,56.46,0 +D,DREGION,,2,"2023/12/14 15:35:00",1,VIC1,0,-54.25,0,-54.25,0,0,4512.02,18,3749.47,142,-904.55,0,,,61.16,,,,,,,,71.16,,,,,,,,81.16,,,,,,,,146,,,,,,,,134,,,,,,,,120,,,,,,0,9051.99798,348,4547.49609,4702.82,,42,,,,66.25,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.91,19.91,0,0.34,0.34,0,0.86,0.86,0,0.39,0.39,0,10,10,0 +D,DREGION,,2,"2023/12/14 15:40:00",1,NSW1,0,153.28675,0,153.28675,0,0,11711.8,74,11648.49,9,-72.3,0,,,139,,,,,,,,158,,,,,,,,139,,,,,,,,93,,,,,,,,69.17,,,,,,,,75,,,,,,36.47089,15320.24826,10,11609.06641,11725.03,,40,,,,49,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,14.64,14.64,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 15:40:00",1,QLD1,0,136.14,0,136.14,0,0,7992.97,47,9094.96,0,1102,0,,,0,,,,,,,,0,,,,,,,,16,,,,,,,,21,,,,,,,,86,,,,,,,,89,,,,,,38.98063,12144.00574,50,7914.3999,8000.01,,44.38,,,,20,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,14.64,14.64,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 15:40:00",1,SA1,0,-55,0,-55,0,0,746.98,11,1150.51,16,387.52,0,,,29.52,,,,,,,,94.1,,,,,,,,29,,,,,,,,92,,,,,,,,90,,,,,,,,98.07,,,,,,18.69472,2791.32897,104,747.08264,783.24,,47,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,14.64,14.64,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 15:40:00",1,TAS1,0,-40.01,0,-40.01,0,0,1039.49,2,577.49,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,66.36,,,,,,,,139.38,,,,,,,,144.47,,,,,,-7.93299,2481.49589,0,1045.42542,1039.49,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.3,0.3,0,0.38,0.38,0,0,0,0,56.46,56.46,0 +D,DREGION,,2,"2023/12/14 15:40:00",1,VIC1,0,-52.68,0,-52.68,0,0,4610.88,28,3809.22,73,-874.65,0,,,53.66,,,,,,,,63.66,,,,,,,,66.63,,,,,,,,144,,,,,,,,140,,,,,,,,118,,,,,,-21.75955,8991.18702,328,4791.58496,4732.9,,74,,,,71,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,14.64,14.64,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 15:45:00",1,NSW1,0,137.69,0,137.69,0,0,11822.04,72,11891.75,10,59.71,0,,,136,,,,,,,,158,,,,,,,,139,,,,,,,,106,,,,,,,,89,,,,,,,,87,,,,,,21.69096,15284.85999,11,11727.8877,11831.7,,40,,,,39,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,7.44,7.44,0 +D,DREGION,,2,"2023/12/14 15:45:00",1,QLD1,0,124.27948,0,124.27948,0,0,8095.42,50,9121.66,0,1026.24,0,,,0,,,,,,,,20.57,,,,,,,,12,,,,,,,,21,,,,,,,,77,,,,,,,,77,,,,,,17.22364,12081.54828,50,8031.65918,8098.46,,42,,,,37,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,7.44,7.44,0 +D,DREGION,,2,"2023/12/14 15:45:00",1,SA1,0,-59.99,0,-59.99,0,0,760.56,14,1117.26,4,352.7,0,,,23,,,,,,,,56,,,,,,,,29,,,,,,,,92,,,,,,,,92,,,,,,,,125.42,,,,,,5.67006,2803.867,98,769.84943,783.06,,57,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,7.44,7.44,0 +D,DREGION,,2,"2023/12/14 15:45:00",1,TAS1,0,-40.01,0,-40.01,0,0,1045.32,2,583.32,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,84.2,,,,,,,,146.46,,,,,,,,144.98,,,,,,-5.71658,2464.55247,0,1049.04041,1045.32,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.3,0.3,0,0.38,0.38,0,0,0,0,56.46,56.46,0 +D,DREGION,,2,"2023/12/14 15:45:00",1,VIC1,0,-52.68,0,-52.68,0,0,4604.49,30,3721.58,25,-907.91,0,,,65.51,,,,,,,,83.58,,,,,,,,70.72,,,,,,,,116,,,,,,,,123,,,,,,,,90,,,,,,0,8882.45357,320,4687.84619,4677.04,,66.38,,,,53,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,7.44,7.44,0 +D,DREGION,,2,"2023/12/14 15:50:00",1,NSW1,0,-19.91211,0,-19.91211,0,0,11900.7,72,12775.02,10,864.32,0,,,139,,,,,,,,158,,,,,,,,139,,,,,,,,96,,,,,,,,90,,,,,,,,87,,,,,,27.34886,15434.42025,59,11809.36328,11916.83,,40,,,,24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 15:50:00",1,QLD1,0,-20.5,0,-20.5,0,0,8180.97,58,8620.9,0,439.93,0,,,0,,,,,,,,14.3,,,,,,,,31,,,,,,,,21,,,,,,,,89,,,,,,,,89,,,,,,6.57056,12034.85366,50,8118.31104,8182.67,,0,,,,52,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 15:50:00",1,SA1,0,-59.99,0,-59.99,0,0,768.92,16,1126.74,7,350.82,0,,,22,,,,,,,,67,,,,,,,,27,,,,,,,,90,,,,,,,,90,,,,,,,,114.09,,,,,,-4.97365,2788.60029,103,780.37939,794.63,,97,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 15:50:00",1,TAS1,0,-40.01,0,-40.01,0,0,1045.99,2,583.99,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,93.92,,,,,,,,144.22,,,,,,,,145.13,,,,,,-2.13166,2473.98608,0,1046.1167,1045.99,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.3,0.3,0,0.38,0.38,0,0,0,0,56.46,56.46,0 +D,DREGION,,2,"2023/12/14 15:50:00",1,VIC1,0,-52.69,0,-52.69,0,0,4648.96,29,3565.77,24,-1107.19,0,,,59.53,,,,,,,,74.92,,,,,,,,55.33,,,,,,,,116,,,,,,,,112,,,,,,,,90,,,,,,-16.0569,8947.96217,319,4711.03369,4732.3,,68.38,,,,63,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,5.7,5.7,0 +D,DREGION,,2,"2023/12/14 15:55:00",1,NSW1,0,-36.51401,0,-36.51401,0,0,11899.79,70,13464.38,10,1554.6,0,,,92,,,,,,,,132,,,,,,,,122,,,,,,,,96,,,,,,,,90,,,,,,,,87,,,,,,0,15556.757,60,11857.10352,11953.43,,48,,,,7.48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:55:00",1,QLD1,0,-40.6,0,-40.6,0,0,8214.99,60,8266.21,0,51.22,0,,,28,,,,,,,,28,,,,,,,,36,,,,,,,,21,,,,,,,,86,,,,,,,,89,,,,,,-12.64976,12133.50985,50,8171.01221,8229.59,,0,,,,57.52,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:55:00",1,SA1,0,-55,0,-55,0,0,777.85,16,1191.74,8,405.89,0,,,50.24,,,,,,,,69,,,,,,,,37.43,,,,,,,,89,,,,,,,,87,,,,,,,,88.11,,,,,,-3.83732,2807.87328,112,802.39935,807.06,,72.38,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 15:55:00",1,TAS1,0,-40.01,0,-40.01,0,0,1054.49,3,592.49,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,4.62,,,,,,,,73.96,,,,,,,,139.38,,,,,,,,145.12,,,,,,-2.46747,2471.68375,0,1053.95813,1054.49,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,56.46,56.46,0 +D,DREGION,,2,"2023/12/14 15:55:00",1,VIC1,0,-56.79,0,-56.79,0,0,4708.2,31,3343.28,21,-1385.92,0,,,50,,,,,,,,85.18,,,,,,,,50,,,,,,,,147,,,,,,,,133.13,,,,,,,,114,,,,,,-3.0083,8839.62591,319,4774.10498,4813.53,,85,,,,64,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:00:00",1,NSW1,0,-23.37255,0,-23.37255,0,0,11751.64,52,13605.71,41,1813.07,0,,,92,,,,,,,,159.1,,,,,,,,116.98,,,,,,,,96,,,,,,,,90,,,,,,,,87,,,,,,0,15674.40869,61,11755.74414,11853.92,,35,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16,16,0,0.34,0.34,0,1,1,0,0.39,0.39,0,15.41,15.41,0 +D,DREGION,,2,"2023/12/14 16:00:00",1,QLD1,0,-26.8,0,-26.8,0,0,8264.15,56,8186.1,33,-111.05,0,,,0,,,,,,,,0,,,,,,,,24,,,,,,,,21,,,,,,,,89,,,,,,,,89,,,,,,-0.15407,12224.65873,50,8222.11133,8318.45,,21,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16,16,0,0.34,0.34,0,1,1,0,0.39,0.39,0,15.41,15.41,0 +D,DREGION,,2,"2023/12/14 16:00:00",1,SA1,0,-54.99999,0,-54.99999,0,0,784.91,17,1195.78,4,406.87,0,,,68.17,,,,,,,,76,,,,,,,,30,,,,,,,,89,,,,,,,,89,,,,,,,,98.18,,,,,,0,2801.09486,104,803.94727,810.03,,87,,,,35.89,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16,16,0,0.34,0.34,0,1,1,0,0.39,0.39,0,15.41,15.41,0 +D,DREGION,,2,"2023/12/14 16:00:00",1,TAS1,0,-40.01,0,-40.01,0,0,1063.21,3,601.21,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,76.59,,,,,,,,139.38,,,,,,,,145.2,,,,,,-0.30733,2476.78169,0,1060.51245,1063.21,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.34,0.34,0,0.38,0.38,0,0,0,0,56.46,56.46,0 +D,DREGION,,2,"2023/12/14 16:00:00",1,VIC1,0,-54.25,0,-54.25,0,0,4731.1,36,3326.8,47,-1451.31,0,,,60.5,,,,,,,,80.5,,,,,,,,80.5,,,,,,,,147,,,,,,,,131.77,,,,,,,,114,,,,,,0,8791.51349,319,4806.88965,4870,,62.38,,,,86.11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16,16,0,0.34,0.34,0,1,1,0,0.39,0.39,0,15.41,15.41,0 +D,DREGION,,2,"2023/12/14 16:05:00",1,NSW1,0,-68.26591,0,-68.26591,0,0,11972.63,54,13558.27,0,1585.64,0,,,56,,,,,,,,113.72,,,,,,,,86,,,,,,,,89,,,,,,,,84,,,,,,,,82,,,,,,25.11301,15691.68135,49,11972.62695,12019.4,,67,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.25,9.25,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,5.9,5.9,0 +D,DREGION,,2,"2023/12/14 16:05:00",1,QLD1,0,-20.5,0,-20.5,0,0,8355.42,59,8192.93,0,-162.49,0,,,17,,,,,,,,17,,,,,,,,31,,,,,,,,22,,,,,,,,89,,,,,,,,116,,,,,,0,12305.21169,50,8346.0332,8379.71,,32,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.25,9.25,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,5.9,5.9,0 +D,DREGION,,2,"2023/12/14 16:05:00",1,SA1,0,-66.37,0,-66.37,0,0,798.48,17,1170.83,4,368.35,0,,,64.15,,,,,,,,100,,,,,,,,98.08,,,,,,,,124.68,,,,,,,,151.7,,,,,,,,161,,,,,,0.10588,2788.62842,100,803.94531,822.39,,70,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.25,9.25,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,5.9,5.9,0 +D,DREGION,,2,"2023/12/14 16:05:00",1,TAS1,0,-40.01,0,-40.01,0,0,1067.86,3,605.86,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,152.55,,,,,,,,144.83,,,,,,5.98952,2473.62835,0,1058.87329,1067.86,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.11,9.11,0,0.39,0.39,0,0.45,0.45,0,0,0,0,56.46039,56.46039,0 +D,DREGION,,2,"2023/12/14 16:05:00",1,VIC1,0,-46.46,0,-46.46,0,0,4800.78,41,3697.64,69,-1172.14,0,,,83,,,,,,,,88,,,,,,,,35,,,,,,,,92,,,,,,,,62,,,,,,,,35.42,,,,,,17.38079,8801.44159,315,4847.8291,4936.17,,36.38,,,,90,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.25,9.25,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,5.9,5.9,0 +D,DREGION,,2,"2023/12/14 16:10:00",1,NSW1,0,-66.6765,0,-66.6765,0,0,11945.12,59,13430.13,10,1475.01,0,,,55,,,,,,,,118.55,,,,,,,,85,,,,,,,,89,,,,,,,,84,,,,,,,,82,,,,,,11.04313,15617.72434,50,11918.51953,11993.74,,52,,,,1,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 16:10:00",1,QLD1,0,-10,0,-10,0,0,8350.46,58,8302.74,50,-97.72,0,,,0,,,,,,,,0,,,,,,,,35,,,,,,,,21,,,,,,,,89,,,,,,,,89,,,,,,-16.53473,12347.03523,50,8333.03809,8420.96,,6.98,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 16:10:00",1,SA1,0,-66.67,0,-66.67,0,0,797.19,16,1165.73,4,364.54,0,,,47.62,,,,,,,,74,,,,,,,,48.4,,,,,,,,93,,,,,,,,93,,,,,,,,127.96,,,,,,-6.98156,2816.11583,107,817.32275,820.38,,50,,,,39,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 16:10:00",1,TAS1,0,-36.91792,0,-36.91792,0,0,1080.39,3,652.8,0,-427.6,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,93.53,,,,,,,,144.46,,,,,,,,144.5,,,,,,4.94291,2464.8234,0,1072.45117,1080.39,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.45,0.45,0,0,0,0,53.36792,53.36792,0 +D,DREGION,,2,"2023/12/14 16:10:00",1,VIC1,0,-50.00997,0,-50.00997,0,0,4672.34,36,3556.37,60,-1175.97,0,,,121.61,,,,,,,,131.61,,,,,,,,83.61,,,,,,,,127,,,,,,,,123,,,,,,,,90,,,,,,22.10959,8578.74409,296,4729.63232,4792.3,,62,,,,82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,16.73,16.73,0 +D,DREGION,,2,"2023/12/14 16:15:00",1,NSW1,0,-64.98634,0,-64.98634,0,0,12038.79,53,13497.84,0,1459.05,0,,,83,,,,,,,,123,,,,,,,,103,,,,,,,,81,,,,,,,,76,,,,,,,,74,,,,,,22.34997,15711.04399,50,12007.53418,12079.08,,30,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,14.94,14.94,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 16:15:00",1,QLD1,0,5E-05,0,5E-05,0,0,8483.76,57,8379,27,-131.76,0,,,0,,,,,,,,0,,,,,,,,35,,,,,,,,21,,,,,,,,89,,,,,,,,116,,,,,,3.39543,12382.04415,50,8493.32227,8534.3,,3.38,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,14.94,14.94,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 16:15:00",1,SA1,0,-66.37,0,-66.37,0,0,786.77,14,1153.64,0,366.87,0,,,69.89,,,,,,,,76,,,,,,,,30,,,,,,,,93,,,,,,,,99.15,,,,,,,,95.09,,,,,,-11.68804,2852.49435,101,808.35175,806.27,,101,,,,34,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,14.94,14.94,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 16:15:00",1,TAS1,0,-40.01,0,-40.01,0,0,1094.83,3,632.83,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,152.69,,,,,,,,144.75,,,,,,10.81543,2464.48709,0,1081.01831,1094.83,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,9.11,9.11,0,0.3,0.3,0,0.39,0.39,0,0,0,0,56.46039,56.46039,0 +D,DREGION,,2,"2023/12/14 16:15:00",1,VIC1,0,-46.46,0,-46.46,0,0,4775.44,31,3718.1,32,-1089.34,0,,,70.67,,,,,,,,123.85,,,,,,,,83.11,,,,,,,,124.54,,,,,,,,115,,,,,,,,102,,,,,,20.25,8740.90411,262,4821.66895,4866.93,,71,,,,73,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,14.94,14.94,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/14 16:20:00",1,NSW1,0,30.09242,0,30.09242,0,0,12233.22,56,13620.93,0,1387.71,0,,,83,,,,,,,,147.41,,,,,,,,113,,,,,,,,81,,,,,,,,68.39,,,,,,,,74,,,,,,30.73712,15731.25724,50,12177.0625,12254.45,,30,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,12.47,12.47,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,13.95117,13.95117,0 +D,DREGION,,2,"2023/12/14 16:20:00",1,QLD1,0,34.55,0,34.55,0,0,8501.13,57,8375.67,7,-132.47,0,,,0,,,,,,,,5,,,,,,,,35,,,,,,,,23,,,,,,,,92,,,,,,,,92,,,,,,18.73499,12422.1465,50,8471.5293,8520.94,,42,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,12.47,12.47,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,13.95117,13.95117,0 +D,DREGION,,2,"2023/12/14 16:20:00",1,SA1,0,-52.11,0,-52.11,0,0,808.11,13,1210.01,0,401.9,0,,,43.1,,,,,,,,73,,,,,,,,65.44,,,,,,,,91,,,,,,,,91,,,,,,,,101,,,,,,-8.02678,2909.39792,102,823.52893,829.76,,70,,,,36,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,12.47,12.47,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,13.95117,13.95117,0 +D,DREGION,,2,"2023/12/14 16:20:00",1,TAS1,0,-40.01,0,-40.01,0,0,1091.01,4,630.39,0,-460.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,81.09,,,,,,,,138,,,,,,,,144.39,,,,,,3.58523,2471.58518,0,1083.42322,1091.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.45,0.45,0,0,0,0,56.46,56.46,0 +D,DREGION,,2,"2023/12/14 16:20:00",1,VIC1,0,-50.00997,0,-50.00997,0,0,4815.33,31,3797.5,62,-1079.83,0,,,95.46,,,,,,,,95.46,,,,,,,,37.46,,,,,,,,146,,,,,,,,142,,,,,,,,120,,,,,,22.48528,8808.06722,246,4836.59961,4938.33,,62,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,12.47,12.47,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,13.95117,13.95117,0 +D,DREGION,,2,"2023/12/14 16:25:00",1,NSW1,0,124.52756,0,124.52756,0,0,12322.12,59,13302.67,0,980.55,0,,,83,,,,,,,,123,,,,,,,,113,,,,,,,,81,,,,,,,,76,,,,,,,,74,,,,,,39.12427,15699.53455,50,12238.95508,12319.28,,25,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.19968,4.19968,0 +D,DREGION,,2,"2023/12/14 16:25:00",1,QLD1,0,136.14,0,136.14,0,0,8573.71,55,8675.46,1,100.75,0,,,0,,,,,,,,0,,,,,,,,36,,,,,,,,23,,,,,,,,92,,,,,,,,91,,,,,,30.93136,12427.20566,51,8505.90137,8576.28,,16,,,,24.86,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.19968,4.19968,0 +D,DREGION,,2,"2023/12/14 16:25:00",1,SA1,0,-52.11,0,-52.11,0,0,807.45,13,1213.51,3,403.06,0,,,26,,,,,,,,84,,,,,,,,33.22,,,,,,,,92,,,,,,,,92,,,,,,,,101.89,,,,,,0.15783,2894.39953,109,817.35529,832,,93,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.19968,4.19968,0 +D,DREGION,,2,"2023/12/14 16:25:00",1,TAS1,0,-40.01,0,-40.01,0,0,1092.74,3,651.12,0,-441.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,79.22,,,,,,,,119,,,,,,,,143.51,,,,,,1.11253,2463.75761,0,1088.62781,1092.74,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,57.46,57.46,0 +D,DREGION,,2,"2023/12/14 16:25:00",1,VIC1,0,-41.11,0,-41.11,0,0,4915.12,30,3968.22,23,-969.9,0,,,116.2,,,,,,,,117.38,,,,,,,,68.49,,,,,,,,147,,,,,,,,152.4,,,,,,,,121,,,,,,19.48545,8917.63928,216,4955.44238,4990.67,,51,,,,90.14,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.19968,4.19968,0 +D,DREGION,,2,"2023/12/14 16:30:00",1,NSW1,0,499.37102,0,499.37102,0,0,12349.67,58,12978.3,0,628.63,0,,,83,,,,,,,,123,,,,,,,,103,,,,,,,,81,,,,,,,,71.68,,,,,,,,74,,,,,,0,15702.42226,50,12288.08984,12336.51,,30,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.38115,19.38115,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:30:00",1,QLD1,0,136.14,0,136.14,0,0,8614.98,53,8821.4,26,180.42,0,,,0,,,,,,,,0,,,,,,,,36,,,,,,,,23,,,,,,,,89,,,,,,,,91,,,,,,0,12455.70219,51,8566.21582,8640.56,,3.57,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.38115,19.38115,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:30:00",1,SA1,0,-64.18599,0,-64.18599,0,0,827.63,13,1199.21,0,371.58,0,,,66.14,,,,,,,,75,,,,,,,,31,,,,,,,,92,,,,,,,,90,,,,,,,,101.11,,,,,,-6.75772,2921.39339,196,850.06152,846.65,,104,,,,52,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.38115,19.38115,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:30:00",1,TAS1,0,8.89075,0,8.89075,0,0,1098.7,3,639.51,0,-459.19,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,66.17,,,,,,,,136.57,,,,,,,,143.14,,,,,,4.45509,2448.8217,0,1091.24841,1098.7,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,8.30362,8.30362,0,0.3,0.3,0,0.39,0.39,0,0,0,0,6.84318,6.84318,0 +D,DREGION,,2,"2023/12/14 16:30:00",1,VIC1,0,4.46115,0,4.46115,0,0,4783.09,22,4146.5,39,-675.59,0,,,75.95,,,,,,,,127.17,,,,,,,,82.01,,,,,,,,158,,,,,,,,143,,,,,,,,121,,,,,,18.9835,8871.56535,229,4820.68408,4862.5,,65,,,,73,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.38115,19.38115,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:35:00",1,NSW1,0,189.69969,0,189.69969,0,0,12322.56,48,12971.21,0,648.65,0,,,108,,,,,,,,177.7,,,,,,,,138,,,,,,,,81,,,,,,,,76,,,,,,,,74,,,,,,0,15799.6259,49,12270.37695,12323.69,,10,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,9.98,9.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 16:35:00",1,QLD1,0,59.53,0,59.53,0,0,8724.08,51,8693.55,17,-47.53,0,,,0,,,,,,,,6,,,,,,,,0,,,,,,,,23,,,,,,,,92,,,,,,,,91,,,,,,45.80029,12081.56055,50,8657.54688,8750.6,,26,,,,27.46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,9.98,9.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 16:35:00",1,SA1,0,-47,0,-47,0,0,834.48,13,1265.49,0,431.02,0,,,60.44,,,,,,,,75,,,,,,,,58.34,,,,,,,,90,,,,,,,,90,,,,,,,,104.1,,,,,,0,3057.12061,193,843.13641,847.49,,100,,,,42,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,9.98,9.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 16:35:00",1,TAS1,0,7.60161,0,7.60161,0,0,1095.72,3,638.16,0,-457.56,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,72.03,,,,,,,,134.94,,,,,,,,143.2,,,,,,3.48369,2447.18918,0,1089.23645,1095.72,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.45,0.45,0,0,0,0,8.84839,8.84839,0 +D,DREGION,,2,"2023/12/14 16:35:00",1,VIC1,0,0.02,0,0.02,0,0,4831.04,17,4324.42,18,-524.61,0,,,55.93,,,,,,,,65.93,,,,,,,,55.93,,,,,,,,157,,,,,,,,140.36,,,,,,,,121,,,,,,27.90617,8916.21705,210,4834.75879,4875.33,,64.94,,,,85.54,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,9.98,9.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 16:40:00",1,NSW1,0,461.42305,0,461.42305,0,0,12455.63,41,12658.96,0,203.33,0,,,108,,,,,,,,148,,,,,,,,138,,,,,,,,81,,,,,,,,76,,,,,,,,74,,,,,,7.14286,15705.73144,50,12401.55957,12447.23,,25,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:40:00",1,QLD1,0,85.75,0,85.75,0,0,8788.77,51,8925.36,1,135.59,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,23,,,,,,,,92,,,,,,,,91,,,,,,44.00642,12212.26021,51,8714.93945,8792,,1,,,,70.51,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:40:00",1,SA1,0,-47,0,-47,0,0,840.42,13,1343.47,6,497.06,0,,,56.57,,,,,,,,69,,,,,,,,53.35,,,,,,,,92,,,,,,,,92,,,,,,,,103.08,,,,,,0,3114.0968,212,847.0022,858.47,,97.78,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:40:00",1,TAS1,0,10.57593,0,10.57593,0,0,1093.5,3,675.1,0,-418.4,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,68.63,,,,,,,,128.98,,,,,,,,142.9,,,,,,3.70383,2435.50571,0,1086.79785,1093.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.61098,7.61098,0,0.39,0.39,0,0.39,0.39,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 16:40:00",1,VIC1,0,6.13933,0,6.13933,0,0,4820.8,15,4438.41,5,-387.39,0,,,61.04,,,,,,,,108.96,,,,,,,,61.04,,,,,,,,158,,,,,,,,144,,,,,,,,122,,,,,,9.51991,8816.36002,223,4840.19287,4850.09,,38,,,,44.49,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:45:00",1,NSW1,0,501.8912,0,501.8912,0,0,12464.41,35,12484.92,5,15.52,0,,,108,,,,,,,,148,,,,,,,,138,,,,,,,,79,,,,,,,,74,,,,,,,,72,,,,,,0,15607.55354,52,12418.14941,12460.69,,10,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:45:00",1,QLD1,0,114.8,0,114.8,0,0,8990.13,50,9202.33,7,205.2,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,23,,,,,,,,92,,,,,,,,91,,,,,,45.00535,12028.57565,57,8895.28613,8997.36,,1,,,,64.31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:45:00",1,SA1,0,-35,0,-35,0,0,861.52,14,1405.02,6,537.5,0,,,48.47,,,,,,,,83,,,,,,,,47.46,,,,,,,,92,,,,,,,,92,,,,,,,,105.64,,,,,,0,3112.65233,218,861.00366,880.47,,91,,,,37.69,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:45:00",1,TAS1,0,12.24327,0,12.24327,0,0,1094.57,2,677.95,0,-416.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,71.85,,,,,,,,131.8,,,,,,,,143.16,,,,,,-0.67503,2428.8093,0,1093.24524,1094.57,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 16:45:00",1,VIC1,0,8.95,0,8.95,0,0,4930.09,15,4625.36,3,-307.73,0,,,66.36,,,,,,,,91.78,,,,,,,,66.36,,,,,,,,157,,,,,,,,143,,,,,,,,121,,,,,,19.856,8846.59901,239,4923.25488,4962.5,,58,,,,53,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:50:00",1,NSW1,0,125.35666,0,125.35666,0,0,12575.38,36,12254.91,0,-320.48,0,,,108,,,,,,,,148,,,,,,,,138,,,,,,,,79,,,,,,,,74,,,,,,,,72,,,,,,0,15515.60475,47,12534.74805,12570.26,,10,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 16:50:00",1,QLD1,0,133.01,0,133.01,0,0,8978.17,48,9308.15,4,325.98,0,,,0,,,,,,,,15,,,,,,,,0,,,,,,,,23,,,,,,,,98.11,,,,,,,,86.3,,,,,,46.00428,11885.91388,54,8888.1582,8979.76,,40,,,,69.2,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 16:50:00",1,SA1,0,-29.31,0,-29.31,0,0,856.1,13,1420.38,13,551.29,0,,,47.49,,,,,,,,69,,,,,,,,47.35,,,,,,,,92.46,,,,,,,,90,,,,,,,,112.13,,,,,,0,3083.46253,230,859.53406,883.23,,48,,,,39.2,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 16:50:00",1,TAS1,0,21.38008,0,21.38008,0,0,1095.82,2,733.59,0,-362.22,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,72.4,,,,,,,,118.07,,,,,,,,142.75,,,,,,-3.85845,2430.94101,0,1097.67383,1095.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.13,9.13,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 16:50:00",1,VIC1,0,20.18,0,20.18,0,0,4939.83,21,4815.7,26,-150.13,0,,,67,,,,,,,,90.81,,,,,,,,67,,,,,,,,157,,,,,,,,154,,,,,,,,121,,,,,,28.30224,8803.47894,253,4922.43457,5003.66,,62,,,,46.6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.5,7.5,0 +D,DREGION,,2,"2023/12/14 16:55:00",1,NSW1,0,122.52307,0,122.52307,0,0,12602.58,34,12326.32,0,-276.27,0,,,108,,,,,,,,148,,,,,,,,138,,,,,,,,79,,,,,,,,74,,,,,,,,72,,,,,,1.00305,15395.19802,47,12568.05078,12601.53,,30,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:55:00",1,QLD1,0,131.75,0,131.75,0,0,9008.41,43,9283.4,0,274.99,0,,,0,,,,,,,,6,,,,,,,,0,,,,,,,,23,,,,,,,,80,,,,,,,,79,,,,,,47.00321,11769.49545,50,8922.44336,9008.19,,1,,,,58,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:55:00",1,SA1,0,-29.31,0,-29.31,0,0,855.61,13,1466.7,0,611.09,0,,,53.27,,,,,,,,89,,,,,,,,31.93,,,,,,,,91,,,,,,,,91,,,,,,,,118.03,,,,,,-8.43824,3122.29034,234,878.80927,872.22,,65,,,,49,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 16:55:00",1,TAS1,0,12.24327,0,12.24327,0,0,1100.22,2,683.6,0,-416.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,80.13,,,,,,,,144.15,,,,,,,,142.83,,,,,,-7.06498,2434.22679,0,1105.28479,1100.22,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 16:55:00",1,VIC1,0,8.95,0,8.95,0,0,4966.23,19,4840.16,5,-131.07,0,,,63,,,,,,,,81.99,,,,,,,,83,,,,,,,,150,,,,,,,,144.71,,,,,,,,122,,,,,,26.31913,8844.3267,254,4978.5918,5018.03,,64,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:00:00",1,NSW1,0,105.381,0,105.381,0,0,12730.79,34,12536.32,0,-194.48,0,,,108,,,,,,,,148,,,,,,,,128,,,,,,,,79,,,,,,,,63,,,,,,,,69.18,,,,,,3.45294,15277.89948,47,12690.54492,12734.3,,20.47,,,,15,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.01,0.01,0,0.38,0.38,0,4.98,4.98,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1,1,0 +D,DREGION,,2,"2023/12/14 17:00:00",1,QLD1,0,115.75,0,115.75,0,0,9092.52,41,9293.13,0,200.6,0,,,0,,,,,,,,70,,,,,,,,50,,,,,,,,23,,,,,,,,187.18,,,,,,,,189,,,,,,40.63201,11790.3468,50,9009.03516,9095.14,,71,,,,58.23,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.01,0.01,0,0.38,0.38,0,4.98,4.98,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1,1,0 +D,DREGION,,2,"2023/12/14 17:00:00",1,SA1,0,-30,0,-30,0,0,879.25,14,1440.9,0,561.65,0,,,52.63,,,,,,,,43.01,,,,,,,,27,,,,,,,,90,,,,,,,,86,,,,,,,,78,,,,,,1.17524,3117.30253,237,879.18805,893.23,,34,,,,30,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.01,0.01,0,0.38,0.38,0,4.98,4.98,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1,1,0 +D,DREGION,,2,"2023/12/14 17:00:00",1,TAS1,0,11.08,0,11.08,0,0,1103.6,2,679.51,0,-424.09,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.27,,,,,,,,101.47,,,,,,,,101.47,,,,,,-13.56027,2442.78743,0,1115.15845,1103.6,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.3,0.3,0,0.39,0.39,0,0,0,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 17:00:00",1,VIC1,0,8.97697,0,8.97697,0,0,5071.99,23,4995.47,5,-81.51,0,,,61.38,,,,,,,,61.38,,,,,,,,47.42,,,,,,,,157,,,,,,,,95,,,,,,,,95,,,,,,33.58731,8926.82339,253,5062.03516,5119.05,,42,,,,66.77,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.01,0.01,0,0.38,0.38,0,4.98,4.98,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1,1,0 +D,DREGION,,2,"2023/12/14 17:05:00",1,NSW1,0,471.30713,0,471.30713,0,0,12645.38,26,12459.14,0,-186.25,0,,,86,,,,,,,,125,,,,,,,,105,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,18.60423,15300.4334,47,12597.51367,12651.83,,15,,,,40,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 17:05:00",1,QLD1,0,93.75,0,93.75,0,0,9110.4,44,9307.61,0,197.21,0,,,0,,,,,,,,70,,,,,,,,50,,,,,,,,23,,,,,,,,193.33,,,,,,,,192,,,,,,22.06826,11808.6056,50,9043.44727,9114.92,,71,,,,82,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 17:05:00",1,SA1,0,7.18401,0,7.18401,0,0,899.69,16,1452.99,0,553.3,0,,,36,,,,,,,,40,,,,,,,,40,,,,,,,,114.28,,,,,,,,89,,,,,,,,78,,,,,,0.3631,3130.689,242,898.31555,914.07,,31,,,,41,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 17:05:00",1,TAS1,0,9.48225,0,9.48225,0,0,1104.28,2,740.46,0,-363.82,0,,,33.06,,,,,,,,16.41,,,,,,,,0,,,,,,,,103,,,,,,,,82.85,,,,,,,,128.19,,,,,,-13.53085,2451.47811,0,1115.80981,1104.28,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,9.11,9.11,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,49.96775,49.96775,0 +D,DREGION,,2,"2023/12/14 17:05:00",1,VIC1,0,8.95,0,8.95,0,0,5149.71,33,5018.76,5,-135.95,0,,,69.88,,,,,,,,74.44,,,,,,,,58.18,,,,,,,,162,,,,,,,,154,,,,,,,,123,,,,,,39.44824,8919.65127,277,5122.67578,5193.86,,43,,,,7,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 17:10:00",1,NSW1,0,478.48271,0,478.48271,0,0,12609.58,19,12423.07,0,-186.51,0,,,86,,,,,,,,105,,,,,,,,86,,,,,,,,20,,,,,,,,15,,,,,,,,13,,,,,,28.99362,15176.55358,47,12561.30957,12618.78,,5,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.33374,0.33374,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 17:10:00",1,QLD1,0,99.32,0,99.32,0,0,9095.06,34,9297.09,0,202.03,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,23,,,,,,,,158.33,,,,,,,,157,,,,,,27.76072,11710.70142,50,9034.28613,9101.39,,55.3,,,,82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.33374,0.33374,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 17:10:00",1,SA1,0,7.22262,0,7.22262,0,0,940.77,18,1506.93,0,566.16,0,,,71.88,,,,,,,,27,,,,,,,,27,,,,,,,,115.85,,,,,,,,89,,,,,,,,99.24,,,,,,-1.23992,3186.79778,247,942.29883,955.86,,44,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.33374,0.33374,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 17:10:00",1,TAS1,0,9.6408,0,9.6408,0,0,1115.52,1,706.25,0,-409.27,0,,,7.35,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,130.29,,,,,,,,143.38,,,,,,-3.24247,2450.88829,0,1117.76587,1115.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.11,7.11,0,0.05,0.05,0,0.33374,0.33374,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 17:10:00",1,VIC1,0,9,0,9,0,0,5122.97,31,5032.82,8,-98.15,0,,,61.39,,,,,,,,66.39,,,,,,,,31.42,,,,,,,,162,,,,,,,,143,,,,,,,,123,,,,,,45.30917,8769.36754,275,5092.1792,5174.61,,55.7,,,,7,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.33374,0.33374,0,0.39,0.39,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 17:15:00",1,NSW1,0,332.98701,0,332.98701,0,0,12703.27,15,12272.43,0,-430.84,0,,,86,,,,,,,,106,,,,,,,,97.4,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,39.383,14957.73688,47,12647.06836,12708.33,,5,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.14,0.14,0,0.3,0.3,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:15:00",1,QLD1,0,131.75,0,131.75,0,0,9131.93,26,9574.95,3,440.02,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,23,,,,,,,,192.33,,,,,,,,191,,,,,,16.44073,11717.798,53,9088.77246,9139.05,,38.87,,,,157,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.14,0.14,0,0.3,0.3,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:15:00",1,SA1,0,7.57154,0,7.57154,0,0,976.18,20,1486.53,0,510.35,0,,,69.82,,,,,,,,27,,,,,,,,27,,,,,,,,106.84,,,,,,,,89,,,,,,,,95.09,,,,,,0,3169.52846,252,970.83862,988.44,,58.33,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.14,0.14,0,0.3,0.3,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:15:00",1,TAS1,0,13.59106,0,13.59106,0,0,1118.02,1,695.2,0,-422.82,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,126.26,,,,,,,,143.51,,,,,,-1.68433,2434.64561,0,1118.7085,1118.02,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.11,7.11,0,0.14,0.14,0,0.3,0.3,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 17:15:00",1,VIC1,0,8.95,0,8.95,0,0,5170.38,26,5134.69,1,-36.7,0,,,71.99,,,,,,,,66.56,,,,,,,,20,,,,,,,,132,,,,,,,,113,,,,,,,,93,,,,,,46.87278,8781.96092,283,5139.45801,5209.96,,64,,,,1,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.14,0.14,0,0.3,0.3,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:20:00",1,NSW1,0,139.74537,0,139.74537,0,0,12757.9,11,12246.42,0,-511.48,0,,,86,,,,,,,,106,,,,,,,,73.19,,,,,,,,21,,,,,,,,7,,,,,,,,13,,,,,,45.01048,14824.325,47,12708.37305,12755,,26.4,,,,40,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,1,1,0 +D,DREGION,,2,"2023/12/14 17:20:00",1,QLD1,0,145.17,0,145.17,0,0,9139.58,23,9647.13,0,507.55,0,,,6.55,,,,,,,,130,,,,,,,,110,,,,,,,,24,,,,,,,,189.33,,,,,,,,191,,,,,,17.2826,11555.55003,50,9105.76953,9138.55,,69.14,,,,137,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,1,1,0 +D,DREGION,,2,"2023/12/14 17:20:00",1,SA1,0,7.61266,0,7.61266,0,0,977.88,21,1479.41,0,501.54,0,,,23,,,,,,,,27,,,,,,,,27,,,,,,,,96.01,,,,,,,,83,,,,,,,,76,,,,,,-14.43525,3162.41348,258,983.88269,989.44,,34,,,,10,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,1,1,0 +D,DREGION,,2,"2023/12/14 17:20:00",1,TAS1,0,10.70483,0,10.70483,0,0,1125.26,1,686.1,0,-439.16,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,116.53,,,,,,,,132.32,,,,,,-0.30148,2426.45452,0,1124.56104,1125.26,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.11,7.11,0,0.03,0.03,0,0.17,0.17,0,0,0,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 17:20:00",1,VIC1,0,8.95,0,8.95,0,0,5205.17,32,5192.64,0,-12.54,0,,,108,,,,,,,,62.86,,,,,,,,45,,,,,,,,162,,,,,,,,139.45,,,,,,,,123,,,,,,48.43639,8806.1152,288,5165.80615,5243.45,,53,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,1,1,0 +D,DREGION,,2,"2023/12/14 17:25:00",1,NSW1,0,253.82375,0,253.82375,0,0,12805.67,10,12265.35,0,-540.32,0,,,86,,,,,,,,126,,,,,,,,108.6,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,18.93381,14906.76663,47,12779.7041,12801.17,,25,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.34,0.34,0,0.38,0.38,0,0.39,0.39,0,2,2,0 +D,DREGION,,2,"2023/12/14 17:25:00",1,QLD1,0,262.32,0,262.32,0,0,9188.89,19,9722.67,0,533.78,0,,,0,,,,,,,,70,,,,,,,,50,,,,,,,,23,,,,,,,,185.68,,,,,,,,184.35,,,,,,23.54249,11627.80169,68,9146.18262,9186.85,,71,,,,171,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.34,0.34,0,0.38,0.38,0,0.39,0.39,0,2,2,0 +D,DREGION,,2,"2023/12/14 17:25:00",1,SA1,0,7.73759,0,7.73759,0,0,1031.11,22,1490.21,0,459.1,0,,,53.17,,,,,,,,42,,,,,,,,42,,,,,,,,93.55,,,,,,,,91,,,,,,,,102.21,,,,,,0,3170.29065,262,1021.08997,1040.77,,20,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.34,0.34,0,0.38,0.38,0,0.39,0.39,0,2,2,0 +D,DREGION,,2,"2023/12/14 17:25:00",1,TAS1,0,9.52977,0,9.52977,0,0,1080.85,1,703.14,0,-377.7,0,,,28,,,,,,,,28.5,,,,,,,,0,,,,,,,,103,,,,,,,,131.46,,,,,,,,143.58,,,,,,-0.56648,2443.2894,0,1080.41272,1080.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.11,7.11,0,0.34,0.34,0,0.38,0.38,0,0.39,0.39,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 17:25:00",1,VIC1,0,8.95,0,8.95,0,0,5237.28,31,5195.49,0,-41.79,0,,,56,,,,,,,,59.27,,,,,,,,55,,,,,,,,132,,,,,,,,113,,,,,,,,93,,,,,,50,8685.73873,289,5193.97461,5267.22,,44,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.34,0.34,0,0.38,0.38,0,0.39,0.39,0,2,2,0 +D,DREGION,,2,"2023/12/14 17:30:00",1,NSW1,0,272.82123,0,272.82123,0,0,12748.57,8,12250.5,0,-498.07,0,,,87,,,,,,,,107,,,,,,,,72.9,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,26.19048,14589.5219,47,12710.73242,12746.06,,10,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 17:30:00",1,QLD1,0,285.75,0,285.75,0,0,9294.58,17,9789.37,0,494.79,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,23,,,,,,,,152.33,,,,,,,,151,,,,,,32.35658,11574.05595,125,9243.07227,9293.81,,67.2,,,,137,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 17:30:00",1,SA1,0,7.73763,0,7.73763,0,0,1010.69,22,1464.66,0,453.97,0,,,39.46,,,,,,,,29,,,,,,,,29,,,,,,,,98.35,,,,,,,,92,,,,,,,,107,,,,,,-16.41207,3135.75358,268,1017.13397,1020.33,,34,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 17:30:00",1,TAS1,0,9.5062,0,9.5062,0,0,1076.1,2,699.45,0,-376.65,0,,,28,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,122.52,,,,,,,,143.85,,,,,,-1.04014,2433.73648,0,1075.13745,1076.1,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.11,7.11,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 17:30:00",1,VIC1,0,8.95018,0,8.95018,0,0,5206.23,30,5168.43,0,-37.8,0,,,71,,,,,,,,62.97,,,,,,,,45,,,,,,,,160,,,,,,,,154,,,,,,,,121,,,,,,0,8619.15461,291,5211.06543,5236.11,,48.8,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 17:35:00",1,NSW1,0,226.89335,0,226.89335,0,0,12857.79,3,12177.76,0,-680.02,0,,,87,,,,,,,,107,,,,,,,,106,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,0,14446.55463,47,12855.74609,12852.5,,30,,,,40,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 17:35:00",1,QLD1,0,228.81,0,228.81,0,0,9190.83,13,9863.12,0,672.3,0,,,0,,,,,,,,70,,,,,,,,50,,,,,,,,23,,,,,,,,193.33,,,,,,,,192,,,,,,0,11602.34943,125,9175.30762,9188.38,,79.65,,,,171,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 17:35:00",1,SA1,0,-16.68108,0,-16.68108,0,0,1030.51,22,1505.74,0,475.23,0,,,24,,,,,,,,28,,,,,,,,28,,,,,,,,90,,,,,,,,90,,,,,,,,78,,,,,,-19.08719,3258.74299,270,1038.60364,1045.74,,26.35,,,,10,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 17:35:00",1,TAS1,0,-20.97544,0,-20.97544,0,0,1076.89,2,781.91,0,-294.97,0,,,26.45,,,,,,,,26.73,,,,,,,,0,,,,,,,,86.29,,,,,,,,82.25,,,,,,,,130.58,,,,,,-2.69482,2442.01454,0,1077.58191,1076.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.2,0.2,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 17:35:00",1,VIC1,0,-20.0493,0,-20.0493,0,0,5185.49,24,5057.6,0,-127.88,0,,,88.95,,,,,,,,98.95,,,,,,,,66.43,,,,,,,,151,,,,,,,,156,,,,,,,,123,,,,,,50,8720.71754,295,5149.57275,5222.63,,24,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 17:40:00",1,NSW1,0,662.96976,0,662.96976,0,0,12930.04,-1,12205.83,0,-724.21,0,,,87,,,,,,,,88.12,,,,,,,,66,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,35.71429,14458.6837,47,12896.04297,12924.69,,30,,,,40,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.15,0.15,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:40:00",1,QLD1,0,255.22961,0,255.22961,0,0,9245.92,8,9962.31,0,716.4,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,21,,,,,,,,190.33,,,,,,,,190,,,,,,43.08641,11552.32105,125,9192.24023,9243.45,,63.9,,,,228,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.15,0.15,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:40:00",1,SA1,0,-23.79115,0,-23.79115,0,0,1044.55,21,1496.88,0,452.33,0,,,38,,,,,,,,42,,,,,,,,42,,,,,,,,92,,,,,,,,92,,,,,,,,80,,,,,,-12.77827,3244.11768,273,1053.71155,1062.03,,37.1,,,,10,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.15,0.15,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:40:00",1,TAS1,0,-20.83107,0,-20.83107,0,0,1063.89,1,795.07,0,-268.81,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,30.11,,,,,,,,84.72,,,,,,,,132.05,,,,,,4.11296,2470.70647,0,1058.77344,1063.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.03,0.03,0,0.15,0.15,0,0.3,0.3,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 17:40:00",1,VIC1,0,-20.01289,0,-20.01289,0,0,5104.96,14,4987.39,8,-125.58,0,,,100.18,,,,,,,,70,,,,,,,,39.47,,,,,,,,152,,,,,,,,157,,,,,,,,124,,,,,,21.42857,8713.56963,301,5113.12598,5153.42,,29,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.15,0.15,0,0.3,0.3,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:45:00",1,NSW1,0,256.37849,0,256.37849,0,0,12997.29,-6,12378.62,0,-618.67,0,,,68,,,,,,,,67,,,,,,,,66,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,40.47619,14516.23251,47,12959.62793,12992.88,,30,,,,40,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:45:00",1,QLD1,0,262.31,0,262.31,0,0,9292.11,3,9904.5,0,612.39,0,,,0,,,,,,,,130,,,,,,,,100.24,,,,,,,,21,,,,,,,,188.27,,,,,,,,186.94,,,,,,47.36973,11440.80887,125,9239.02148,9290.24,,61.06,,,,228,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:45:00",1,SA1,0,-22.36712,0,-22.36712,0,0,1108.69,21,1560.68,0,451.99,0,,,38,,,,,,,,42,,,,,,,,42,,,,,,,,92,,,,,,,,92,,,,,,,,80,,,,,,0,3396.20531,277,1106.57861,1124.35,,47.94,,,,10,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:45:00",1,TAS1,0,-19.76636,0,-19.76636,0,0,1063.27,-1,796.94,0,-266.32,0,,,12.71,,,,,,,,0,,,,,,,,0,,,,,,,,30.35,,,,,,,,90.14,,,,,,,,135.47,,,,,,10.92074,2456.24468,0,1053.34583,1063.27,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 17:45:00",1,VIC1,0,-18.99,0,-18.99,0,0,5145.32,11,5011.97,0,-133.35,0,,,103.71,,,,,,,,88.48,,,,,,,,44,,,,,,,,152,,,,,,,,154,,,,,,,,124,,,,,,0,8694.24339,301,5184.65332,5181.98,,21,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:50:00",1,NSW1,0,283.68148,0,283.68148,0,0,13030.84,-10,12387.15,0,-643.69,0,,,68,,,,,,,,67,,,,,,,,66,,,,,,,,7,,,,,,,,15,,,,,,,,13,,,,,,45.2381,14263.84227,47,12991.4043,13026.04,,15,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:50:00",1,QLD1,0,290.31,0,290.31,0,0,9290.27,3,9927.04,0,636.77,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,17,,,,,,,,151.33,,,,,,,,150,,,,,,48.98413,11275.61872,125,9236.02051,9288.16,,71,,,,332.16,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:50:00",1,SA1,0,7.6527,0,7.6527,0,0,1105.5,21,1560.46,0,454.97,0,,,38,,,,,,,,41,,,,,,,,41,,,,,,,,85,,,,,,,,89,,,,,,,,110.22,,,,,,-2.67463,3377.55496,283,1103.0061,1115.75,,38,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:50:00",1,TAS1,0,9.36324,0,9.36324,0,0,1080.11,-1,786.94,0,-293.17,0,,,60,,,,,,,,69.47,,,,,,,,14.73,,,,,,,,3,,,,,,,,131.23,,,,,,,,143.34,,,,,,12.81763,2447.14143,0,1068.28882,1080.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 17:50:00",1,VIC1,0,8.94982,0,8.94982,0,0,5159.59,14,5034.69,0,-124.9,0,,,57.07,,,,,,,,61,,,,,,,,61,,,,,,,,101,,,,,,,,154,,,,,,,,124,,,,,,-7.58208,8640.83077,304,5189.26123,5186.24,,36,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 17:55:00",1,NSW1,0,279.20286,0,279.20286,0,0,13053.11,-13,12435.14,0,-617.96,0,,,68,,,,,,,,67,,,,,,,,66,,,,,,,,11.3,,,,,,,,15,,,,,,,,13,,,,,,50,14201.95954,47,13012.37695,13048.66,,30,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.03,0.03,0,0.3,0.3,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 17:55:00",1,QLD1,0,285.75,0,285.75,0,0,9284.59,5,9896.21,0,611.62,0,,,0,,,,,,,,117.53,,,,,,,,97.53,,,,,,,,17,,,,,,,,151.33,,,,,,,,159.02,,,,,,49.51176,11205.27485,125,9227.60547,9282.69,,87,,,,321.08,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.03,0.03,0,0.3,0.3,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 17:55:00",1,SA1,0,0,0,0,0,0,1127.88,20,1623.52,0,495.64,0,,,40,,,,,,,,43,,,,,,,,43,,,,,,,,88,,,,,,,,113.73,,,,,,,,149,,,,,,2.99107,3407.8997,289,1116.67139,1143.37,,20,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.03,0.03,0,0.3,0.3,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 17:55:00",1,TAS1,0,0.42182,0,0.42182,0,0,1084.65,-1,792.11,0,-292.54,0,,,4.57,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,,,154.22,,,,,,,,143.26,,,,,,7.10344,2451.20623,0,1078.54211,1084.65,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,7.11778,7.11778,0,0.03,0.03,0,0.3,0.3,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 17:55:00",1,VIC1,0,0.4032,0,0.4032,0,0,5114.02,10,4964.04,0,-149.98,0,,,112.32,,,,,,,,103.26,,,,,,,,46.92,,,,,,,,111,,,,,,,,113,,,,,,,,83,,,,,,4.39589,8607.03883,310,5130.05615,5151.65,,23,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.03,0.03,0,0.3,0.3,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 18:00:00",1,NSW1,0,272.23827,0,272.23827,0,0,12950.27,-21,12563.45,0,-386.82,0,,,68,,,,,,,,67,,,,,,,,66,,,,,,,,7,,,,,,,,15,,,,,,,,13,,,,,,50,14089.71754,47,12912.91699,12945.01,,22,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 18:00:00",1,QLD1,0,285.75,0,285.75,0,0,9339.51,3,9831.14,0,491.63,0,,,0,,,,,,,,95,,,,,,,,85,,,,,,,,17,,,,,,,,132.33,,,,,,,,132,,,,,,44.03282,11107.37262,125,9290.45117,9339.55,,82,,,,319.37,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 18:00:00",1,SA1,0,45.57032,0,45.57032,0,0,1170.59,19,1579.25,0,408.65,0,,,40,,,,,,,,43,,,,,,,,43,,,,,,,,86,,,,,,,,108.53,,,,,,,,139.41,,,,,,10.98487,3385.59663,292,1155.93518,1178.17,,20,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 18:00:00",1,TAS1,0,53.57593,0,53.57593,0,0,1076.98,-1,848.21,0,-228.77,0,,,54.63,,,,,,,,63.89,,,,,,,,0,,,,,,,,3,,,,,,,,153.77,,,,,,,,143.23,,,,,,6.6128,2448.18627,0,1071.36255,1076.98,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,7.61057,7.61057,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 18:00:00",1,VIC1,0,51.86857,0,51.86857,0,0,5153.08,5,4884.41,0,-268.67,0,,,61.41,,,,,,,,61.41,,,,,,,,59.96,,,,,,,,117,,,,,,,,147,,,,,,,,129,,,,,,2.17977,8382.04754,316,5176.33984,5166.76,,36,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 18:05:00",1,NSW1,0,358.02232,0,358.02232,0,0,13014.44,-23,12460.21,0,-554.23,0,,,68,,,,,,,,67,,,,,,,,66,,,,,,,,19.33,,,,,,,,15,,,,,,,,13,,,,,,50,13970.49855,0,12979.94922,13011.75,,20,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 18:05:00",1,QLD1,0,371.02009,0,371.02009,0,0,9276.24,4,9829.03,0,552.79,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,17,,,,,,,,130.5,,,,,,,,130.53,,,,,,30.69521,11030.67265,75,9239.82031,9275.5,,91,,,,313.65,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 18:05:00",1,SA1,0,48.39572,0,48.39572,0,0,1166.8,18,1601.08,0,434.27,0,,,67.81,,,,,,,,29,,,,,,,,29,,,,,,,,87,,,,,,,,160.92,,,,,,,,163,,,,,,2.89655,3403.73725,296,1155.55322,1175.24,,29,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 18:05:00",1,TAS1,0,56,0,56,0,0,1077.19,-1,924.96,0,-152.23,0,,,60,,,,,,,,76.48,,,,,,,,19.54,,,,,,,,3,,,,,,,,102.22,,,,,,,,102.22,,,,,,-0.69082,2462.49826,0,1078.87903,1077.19,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.3,0.3,0,9.11,9.11,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 18:05:00",1,VIC1,0,55.08433,0,55.08433,0,0,5180.44,4,4967.84,45,-257.6,0,,,30,,,,,,,,30,,,,,,,,30,,,,,,,,113,,,,,,,,141,,,,,,,,140.89,,,,,,16.52342,8402.65505,337,5177.23291,5243.44,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/14 18:10:00",1,NSW1,0,178.69508,0,178.69508,0,0,12818.33,-25,12428.06,0,-390.27,0,,,68,,,,,,,,68,,,,,,,,66,,,,,,,,6,,,,,,,,15,,,,,,,,13,,,,,,0,13816.5579,47,12837.42578,12820.75,,20,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 18:10:00",1,QLD1,0,190.74,0,190.74,0,0,9194.31,-1,9589.33,0,395.02,0,,,28,,,,,,,,130,,,,,,,,110,,,,,,,,17,,,,,,,,191.33,,,,,,,,191,,,,,,0,10953.89901,125,9194.1416,9196.63,,34.14,,,,303,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 18:10:00",1,SA1,0,43.60546,0,43.60546,0,0,1204.83,18,1649.76,0,444.93,0,,,58.94,,,,,,,,29,,,,,,,,29,,,,,,,,84.09,,,,,,,,79,,,,,,,,80.58,,,,,,0,3454.6145,298,1199.39075,1213.71,,52.86,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 18:10:00",1,TAS1,0,52.08,0,52.08,0,0,1077.33,-1,792.03,0,-285.3,0,,,0,,,,,,,,25.85,,,,,,,,0,,,,,,,,3,,,,,,,,104.52,,,,,,,,143.41,,,,,,1.27026,2436.41058,0,1077.06018,1077.33,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,9.11,9.11,0,0.05,0.05,0,0.38,0.38,0,0.39,0.39,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 18:10:00",1,VIC1,0,49.90715,0,49.90715,0,0,5157.19,4,5062.61,33,-127.58,0,,,71,,,,,,,,81,,,,,,,,51.31,,,,,,,,104,,,,,,,,158.13,,,,,,,,120,,,,,,0,8442.73954,338,5210.94775,5213.36,,53,,,,33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.39,0.39,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 18:15:00",1,NSW1,0,216.98402,0,216.98402,0,0,12883.46,-30,12446.34,0,-437.12,0,,,68,,,,,,,,68,,,,,,,,66,,,,,,,,7,,,,,,,,15,,,,,,,,13,,,,,,43.52828,13717.13118,47,12867.56738,12883.49,,20,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.05,0.05,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:15:00",1,QLD1,0,228.81,0,228.81,0,0,9207.49,-3,9645.48,0,437.98,0,,,0,,,,,,,,95,,,,,,,,85,,,,,,,,17,,,,,,,,131.33,,,,,,,,131,,,,,,-2.8901,10923.52497,125,9213.3457,9208.32,,81,,,,318,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.05,0.05,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:15:00",1,SA1,0,45.18452,0,45.18452,0,0,1209.1,17,1663.35,0,454.24,0,,,48.35,,,,,,,,42,,,,,,,,42,,,,,,,,87.22,,,,,,,,99.25,,,,,,,,143.01,,,,,,11.38126,3501.46488,298,1190.57983,1218.34,,18,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.05,0.05,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:15:00",1,TAS1,0,53.57593,0,53.57593,0,0,1072.12,0,829.7,0,-242.42,0,,,60,,,,,,,,79.48,,,,,,,,20.03,,,,,,,,3,,,,,,,,153.77,,,,,,,,143.35,,,,,,-7.12323,2427.80489,0,1079.24646,1072.12,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.05,0.05,0,7.61057,7.61057,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 18:15:00",1,VIC1,0,51.73558,0,51.73558,0,0,5164.11,5,5002.72,19,-180.39,0,,,49,,,,,,,,49,,,,,,,,49,,,,,,,,104,,,,,,,,154,,,,,,,,123,,,,,,40.4488,8320.72187,339,5167.28662,5205.3,,41,,,,19,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.05,0.05,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:20:00",1,NSW1,0,183.569,0,183.569,0,0,12774.67,-31,12265.2,0,-509.46,0,,,68,,,,,,,,68,,,,,,,,66,,,,,,,,10,,,,,,,,15,,,,,,,,13,,,,,,0,13597.01695,47,12801.52441,12772.78,,20,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:20:00",1,QLD1,0,190.74,0,190.74,0,0,9111.99,-7,9619.21,0,507.22,0,,,11.87,,,,,,,,130,,,,,,,,110,,,,,,,,19,,,,,,,,133.33,,,,,,,,132,,,,,,0,10905.36651,125,9117.94629,9111.63,,81,,,,318,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:20:00",1,SA1,0,20.66,0,20.66,0,0,1237.91,16,1596.06,4.77,353.38,0,,,38,,,,,,,,41,,,,,,,,41,,,,,,,,87,,,,,,,,118.9,,,,,,,,163,,,,,,0,3507.1216,298,1229.87195,1248.29,,20,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:20:00",1,TAS1,0,24.20102,0,24.20102,0,0,1079.61,0,766.71,0,-312.89,0,,,60,,,,,,,,48.22,,,,,,,,0,,,,,,,,3,,,,,,,,154.22,,,,,,,,143.32,,,,,,-5.98604,2426.81432,0,1085.59534,1079.61,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,7.11778,7.11778,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 18:20:00",1,VIC1,0,23.01564,0,23.01564,0,0,5088.83,1,5101.59,30,-17.24,0,,,51,,,,,,,,51,,,,,,,,46.77,,,,,,,,84.1,,,,,,,,129,,,,,,,,99.14,,,,,,0,8353.5867,340,5121.77295,5136.47,,39,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:25:00",1,NSW1,0,280.09952,0,280.09952,0,0,12846.61,-36,12230.65,0,-615.95,0,,,69,,,,,,,,68,,,,,,,,67,,,,,,,,7,,,,,,,,15,,,,,,,,13,,,,,,26.78506,13455.329,47,12855.20117,12842.05,,20,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:25:00",1,QLD1,0,285.75,0,285.75,0,0,9136.49,-10,9745.87,0,609.39,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,19,,,,,,,,153.33,,,,,,,,153,,,,,,4.3985,10895.77519,125,9140.44238,9134.47,,80.63,,,,319.48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:25:00",1,SA1,0,46.68689,0,46.68689,0,0,1262.46,16,1600.88,0,338.42,0,,,39,,,,,,,,42,,,,,,,,42,,,,,,,,74,,,,,,,,92,,,,,,,,120.13,,,,,,6.82236,3360.88497,298,1249.82312,1267.55,,21.37,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:25:00",1,TAS1,0,53.57593,0,53.57593,0,0,1069.33,0,831.76,0,-237.57,0,,,59.82,,,,,,,,31.84,,,,,,,,0,,,,,,,,3,,,,,,,,138.16,,,,,,,,143.36,,,,,,-3.03235,2449.32048,0,1072.36279,1069.33,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,7.61098,7.61098,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 18:25:00",1,VIC1,0,51.73558,0,51.73558,0,0,5148.96,0,5093.47,27,-82.49,0,,,60,,,,,,,,65,,,,,,,,45.28,,,,,,,,107,,,,,,,,157,,,,,,,,126,,,,,,47.63432,8308.46833,340,5142.45215,5189.24,,38,,,,27,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 18:30:00",1,NSW1,0,254.00486,0,254.00486,0,0,12815.14,-32,12259.5,0,-555.64,0,,,69,,,,,,,,68,,,,,,,,67,,,,,,,,7,,,,,,,,15,,,,,,,,13,,,,,,28.69815,13359.03182,47,12812.8418,12811.21,,9,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:30:00",1,QLD1,0,262.33,0,262.33,0,0,9143.8,-7,9693.87,0,550.06,0,,,0,,,,,,,,130,,,,,,,,53.91,,,,,,,,19,,,,,,,,182.52,,,,,,,,179.52,,,,,,17.48889,10878.72418,125,9130.99316,9142.15,,81,,,,332.02,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:30:00",1,SA1,0,89.88629,0,89.88629,0,0,1253.24,16,1538.64,0,285.4,0,,,39,,,,,,,,42,,,,,,,,42,,,,,,,,87,,,,,,,,139,,,,,,,,165,,,,,,0.33348,3298.64088,299,1242.2677,1256.82,,10,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:30:00",1,TAS1,0,98.18,0,98.18,0,0,1066.82,0,956.17,0,-110.65,0,,,44.98,,,,,,,,57.09,,,,,,,,57.09,,,,,,,,3,,,,,,,,60.65,,,,,,,,60.65,,,,,,-5.82591,2438.51825,0,1072.65088,1066.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,9.11,9.11,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 18:30:00",1,VIC1,0,98.03565,0,98.03565,0,0,5234,2,5070.16,0,-163.84,0,,,76,,,,,,,,41.03,,,,,,,,35,,,,,,,,109,,,,,,,,159,,,,,,,,138,,,,,,50,8255.16047,341,5215.97119,5241.33,,60,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:35:00",1,NSW1,0,173.7398,0,173.7398,0,0,12789.39,-32,12441.26,0,-348.13,0,,,70,,,,,,,,69,,,,,,,,67,,,,,,,,10,,,,,,,,15,,,,,,,,13,,,,,,33.66086,13284.89504,47,12781.8916,12789.59,,7,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:35:00",1,QLD1,0,185.19,0,185.19,0,0,9146.87,-8,9524.81,0,377.94,0,,,0,,,,,,,,130,,,,,,,,94.79,,,,,,,,19,,,,,,,,133.33,,,,,,,,133,,,,,,8.13131,10884.23978,125,9144.27539,9148.35,,101,,,,318.03,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:35:00",1,SA1,0,47.80801,0,47.80801,0,0,1275.13,15,1551.67,0,276.54,0,,,38,,,,,,,,41,,,,,,,,41,,,,,,,,87,,,,,,,,100.76,,,,,,,,137.8,,,,,,-7.14611,3361.59957,299,1271.06177,1278.48,,10,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:35:00",1,TAS1,0,53.57593,0,53.57593,0,0,1080.87,1,857.97,0,-222.9,0,,,53.2,,,,,,,,25.62,,,,,,,,0,,,,,,,,3,,,,,,,,147.79,,,,,,,,144.08,,,,,,3.11259,2439.41053,0,1076.75305,1080.87,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,9.11,9.11,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 18:35:00",1,VIC1,0,51.86857,0,51.86857,0,0,5254.4,8,5204.94,21,-70.47,0,,,68,,,,,,,,73,,,,,,,,53,,,,,,,,118.43,,,,,,,,159,,,,,,,,128,,,,,,49.09615,8190.8186,342,5205.86914,5283.37,,42,,,,1,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:40:00",1,NSW1,0,172.64163,0,172.64163,0,0,12744.32,-33,12400.4,0,-343.93,0,,,70,,,,,,,,69,,,,,,,,67,,,,,,,,10,,,,,,,,15,,,,,,,,13,,,,,,38.62357,13159.04786,47,12740.23535,12746.7,,18,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:40:00",1,QLD1,0,185.19,0,185.19,0,0,9159.51,-3,9528.02,20,348.51,0,,,0,,,,,,,,130,,,,,,,,78.7,,,,,,,,19,,,,,,,,133.33,,,,,,,,133,,,,,,-7.11217,10873.94897,125,9169.89258,9181.71,,101,,,,318,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:40:00",1,SA1,0,48.41746,0,48.41746,0,0,1298.35,15,1577.41,0,279.05,0,,,39,,,,,,,,42,,,,,,,,42,,,,,,,,89,,,,,,,,95.11,,,,,,,,133.76,,,,,,-3.96673,3373.40608,298,1291.23975,1301.77,,21,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:40:00",1,TAS1,0,54.08,0,54.08,0,0,1062.93,1,858.05,0,-204.89,0,,,17,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,,,154.22,,,,,,,,148.9,,,,,,0,2427.0897,0,1061.93396,1062.93,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,7.11778,7.11778,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 18:40:00",1,VIC1,0,52.62713,0,52.62713,0,0,5195.91,7,5140.88,7,-62.02,0,,,104,,,,,,,,98.91,,,,,,,,79,,,,,,,,117.76,,,,,,,,159,,,,,,,,128,,,,,,49.24679,8096.48267,345,5171.10205,5211.63,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 18:45:00",1,NSW1,0,213.10754,0,213.10754,0,0,12720.59,-34,12447.6,0,-272.99,0,,,70,,,,,,,,69,,,,,,,,67,,,,,,,,15.07,,,,,,,,24,,,,,,,,24.67,,,,,,42.29194,13052.56493,47,12708.88379,12720.56,,5,,,,40,,,,,,,,,,,,,,,,,,,1.43,1.43,0,0.79,0.79,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 18:45:00",1,QLD1,0,228.81,0,228.81,0,0,9237.39,-1,9576.86,0,339.47,0,,,0,,,,,,,,73.35,,,,,,,,17.9,,,,,,,,19,,,,,,,,164.33,,,,,,,,163,,,,,,0,10860.54524,125,9255.18066,9239.38,,109.72,,,,318,,,,,,,,,,,,,,,,,,,1.43,1.43,0,0.79,0.79,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 18:45:00",1,SA1,0,174.84,0,174.84,0,0,1335.11,15,1590.63,11,244.52,0,,,27,,,,,,,,30,,,,,,,,30,,,,,,,,88,,,,,,,,140,,,,,,,,167,,,,,,-3.48157,3449.41966,299,1326.08984,1348.7,,22,,,,10,,,,,,,,,,,,,,,,,,,1.43,1.43,0,0.79,0.79,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 18:45:00",1,TAS1,0,169.92484,0,169.92484,0,0,1075.59,1,998.69,0,-76.9,0,,,56.57,,,,,,,,90.81,,,,,,,,90.81,,,,,,,,0,,,,,,,,26.89,,,,,,,,26.89,,,,,,3.74743,2418.49457,0,1070.84363,1075.59,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0,0,0,80.85484,80.85484,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 18:45:00",1,VIC1,0,187.71676,0,187.71676,0,0,5276.89,6,5049.88,0,-227.01,0,,,70,,,,,,,,70,,,,,,,,70,,,,,,,,143,,,,,,,,204.33,,,,,,,,178,,,,,,49.39743,7991.87784,346,5232.66406,5279.44,,23.28,,,,0,,,,,,,,,,,,,,,,,,,1.43,1.43,0,0.79,0.79,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 18:50:00",1,NSW1,0,134.65222,0,134.65222,0,0,12617.53,-33,12361.29,0,-256.24,0,,,70,,,,,,,,69,,,,,,,,67,,,,,,,,18.35,,,,,,,,29.4,,,,,,,,32.73,,,,,,0,12913.36263,47,12647.82324,12618.65,,15,,,,40,,,,,,,,,,,,,,,,,,,2.25,2.25,0,1.43,1.43,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.03,0.03,0,0.39,0.39,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 18:50:00",1,QLD1,0,145.20003,0,145.20003,0,0,9149.83,1,9463.35,0,313.53,0,,,0,,,,,,,,130,,,,,,,,85.53,,,,,,,,23,,,,,,,,164.33,,,,,,,,167,,,,,,-5.12799,10854.24846,125,9153.85449,9152.27,,101,,,,318,,,,,,,,,,,,,,,,,,,2.25,2.25,0,1.43,1.43,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.03,0.03,0,0.39,0.39,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 18:50:00",1,SA1,0,139.44,0,139.44,0,0,1340.45,15,1575.52,13.56,221.51,0,,,39.11,,,,,,,,41,,,,,,,,41,,,,,,,,88,,,,,,,,137,,,,,,,,166,,,,,,0,3421.0059,299,1340.01526,1356.11,,47,,,,10,,,,,,,,,,,,,,,,,,,2.25,2.25,0,1.43,1.43,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.03,0.03,0,0.39,0.39,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 18:50:00",1,TAS1,0,98.2,0,98.2,0,0,1095.75,1,1095.75,0,0,0,,,17.6,,,,,,,,117.6,,,,,,,,117.6,,,,,,,,34.58,,,,,,,,134.57,,,,,,,,134.57,,,,,,7.23069,2403.78327,0,1087.51819,1095.75,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,35.13,35.13,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 18:50:00",1,VIC1,0,148.93068,0,148.93068,0,0,5257.34,7,4986.59,0,-270.75,0,,,116,,,,,,,,95.49,,,,,,,,81,,,,,,,,156,,,,,,,,223,,,,,,,,188,,,,,,0,7934.58652,348,5257.74609,5259.72,,47,,,,0,,,,,,,,,,,,,,,,,,,2.25,2.25,0,1.43,1.43,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.03,0.03,0,0.39,0.39,0,19.89,19.89,0 +D,DREGION,,2,"2023/12/14 18:55:00",1,NSW1,0,255.30468,0,255.30468,0,0,12623.72,-39,12138.57,0,-485.15,0,,,43,,,,,,,,42,,,,,,,,40,,,,,,,,49,,,,,,,,52,,,,,,,,71,,,,,,49.56434,12789.15149,47,12614.20117,12619.61,,23,,,,0,,,,,,,,,,,,,,,,,,,4.35,4.35,0,0.75,0.75,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 18:55:00",1,QLD1,0,266.65,0,266.65,0,0,9140.14,-1,9624.06,0,483.92,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,21,,,,,,,,147.28,,,,,,,,158.95,,,,,,-17.79483,10865.22228,125,9160.05273,9138.37,,81,,,,318,,,,,,,,,,,,,,,,,,,4.35,4.35,0,0.75,0.75,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 18:55:00",1,SA1,0,67.31885,0,67.31885,0,0,1362.95,15,1585.74,0,222.79,0,,,57.1,,,,,,,,30,,,,,,,,30,,,,,,,,141.34,,,,,,,,175,,,,,,,,169,,,,,,-1.5469,3398.74465,299,1365.01904,1365.08,,22,,,,10,,,,,,,,,,,,,,,,,,,4.35,4.35,0,0.75,0.75,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 18:55:00",1,TAS1,0,70.12,0,70.12,0,0,1093.5,0,1111.17,0,17.67,0,,,17.66,,,,,,,,117.66,,,,,,,,117.66,,,,,,,,32.79,,,,,,,,132.79,,,,,,,,132.79,,,,,,12.72592,2407.77888,0,1080.77197,1093.47,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.56,3.56,0 +D,DREGION,,2,"2023/12/14 18:55:00",1,VIC1,0,71.90092,0,71.90092,0,0,5257.03,8,5018.74,0,-238.29,0,,,126,,,,,,,,134.46,,,,,,,,88.4,,,,,,,,114,,,,,,,,179.42,,,,,,,,154.76,,,,,,26.84142,7877.74252,349,5227.58154,5261.77,,84,,,,0,,,,,,,,,,,,,,,,,,,4.35,4.35,0,0.75,0.75,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:00:00",1,NSW1,0,275.22695,0,275.22695,0,0,12575.55,-34,12070.15,0,-505.41,0,,,43.9,,,,,,,,70.51,,,,,,,,40,,,,,,,,50,,,,,,,,53,,,,,,,,71,,,,,,21.42857,12734.78751,47,12589.42969,12571.35,,35,,,,0,,,,,,,,,,,,,,,,,,,4.89,4.89,0,0.86,0.86,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:00:00",1,QLD1,0,285.75,0,285.75,0,0,9200.35,1,9699.66,0,499.3,0,,,28,,,,,,,,149,,,,,,,,110,,,,,,,,21,,,,,,,,121.94,,,,,,,,127,,,,,,-0.59795,10875.21808,125,9198.74023,9198.45,,88,,,,318,,,,,,,,,,,,,,,,,,,4.89,4.89,0,0.86,0.86,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:00:00",1,SA1,0,68.83514,0,68.83514,0,0,1371.96,14,1590.71,22,196.75,0,,,99,,,,,,,,57,,,,,,,,64.69,,,,,,,,90,,,,,,,,177,,,,,,,,170,,,,,,-5.30611,3403.70874,300,1367.63953,1395.56,,28,,,,10,,,,,,,,,,,,,,,,,,,4.89,4.89,0,0.86,0.86,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:00:00",1,TAS1,0,70.18,0,70.18,0,0,1108.71,0,1212.95,0,104.25,0,,,17.66,,,,,,,,117.66,,,,,,,,117.66,,,,,,,,31.47,,,,,,,,131.46,,,,,,,,131.46,,,,,,17.23697,2408.90159,0,1091.46936,1109.42,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 19:00:00",1,VIC1,0,73.12884,0,73.12884,0,0,5187.4,7,4894.65,0,-292.75,0,,,55,,,,,,,,60,,,,,,,,55,,,,,,,,163.33,,,,,,,,202,,,,,,,,185.94,,,,,,23.25481,7846.6517,352,5166.84668,5193.34,,59,,,,1,,,,,,,,,,,,,,,,,,,4.89,4.89,0,0.86,0.86,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:05:00",1,NSW1,0,181.61968,0,181.61968,0,0,12485.01,-37,11927.06,0,-557.95,0,,,71,,,,,,,,70,,,,,,,,67,,,,,,,,86,,,,,,,,53,,,,,,,,57,,,,,,0,12688.08516,47,12519.34766,12486.68,,0,,,,11,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.38,0.38,0,1.61,1.61,0,0.2,0.2,0,0.38,0.38,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:05:00",1,QLD1,0,190.74,0,190.74,0,0,9165.95,-2,9610.41,0,444.46,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,21,,,,,,,,130.33,,,,,,,,133,,,,,,0,10855.68149,125,9165.76855,9165,,81,,,,108,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.38,0.38,0,1.61,1.61,0,0.2,0.2,0,0.38,0.38,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:05:00",1,SA1,0,99.98,0,99.98,0,0,1385.63,14,1702.67,25,292.05,0,,,43.56,,,,,,,,28,,,,,,,,28,,,,,,,,90,,,,,,,,80.87,,,,,,,,136,,,,,,-10.75058,3496.77757,309,1404.69861,1414.4,,22,,,,30,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.38,0.38,0,1.61,1.61,0,0.2,0.2,0,0.38,0.38,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:05:00",1,TAS1,0,103.02839,0,103.02839,0,0,1119.87,0,1295.42,0,175.55,0,,,60,,,,,,,,47.53,,,,,,,,0,,,,,,,,81.53,,,,,,,,152.3,,,,,,,,92.5,,,,,,19.93618,2415.4214,0,1101.08447,1122.31,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.38,0.38,0,9.11,9.11,0,0.2,0.2,0,0.38,0.38,0,0.39,0.39,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 19:05:00",1,VIC1,0,109.06503,0,109.06503,0,0,5178.36,0,4854.43,6,-329.93,0,,,54,,,,,,,,64,,,,,,,,55.75,,,,,,,,154,,,,,,,,137,,,,,,,,135,,,,,,22.42688,7765.26716,409,5163.20605,5201.6,,57,,,,21,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.38,0.38,0,1.61,1.61,0,0.2,0.2,0,0.38,0.38,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:10:00",1,NSW1,0,172.4309,0,172.4309,0,0,12393.03,-40,11751.85,0,-641.18,0,,,71,,,,,,,,69,,,,,,,,67,,,,,,,,86,,,,,,,,89,,,,,,,,57,,,,,,-12.22798,12578.2991,47,12446.82031,12396.3,,0,,,,11,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.72,0.72,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:10:00",1,QLD1,0,179.65125,0,179.65125,0,0,9103.72,-2,9572.09,0,468.37,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,23,,,,,,,,134.99,,,,,,,,134,,,,,,1.63975,10854.71019,125,9102.25977,9102.16,,77.89,,,,107,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.72,0.72,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:10:00",1,SA1,0,140.99,0,140.99,0,0,1396.66,13,1739.45,0,342.79,0,,,31,,,,,,,,31,,,,,,,,31,,,,,,,,166.47,,,,,,,,119,,,,,,,,138,,,,,,-2.48081,3432.7021,315,1410.49597,1401.93,,34,,,,15,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.72,0.72,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:10:00",1,TAS1,0,144.99248,0,144.99248,0,0,1116.99,0,1391.03,0,274.04,0,,,36.19,,,,,,,,9.46,,,,,,,,0,,,,,,,,3,,,,,,,,55.75,,,,,,,,96.74,,,,,,12.25477,2406.97747,0,1108.35156,1123.39,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.72,0.72,0,0.39,0.39,0,38.92248,38.92248,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,2.5,2.5,0 +D,DREGION,,2,"2023/12/14 19:10:00",1,VIC1,0,156.29516,0,156.29516,0,0,5244.32,-1,4864.35,25,-404.97,0,,,87,,,,,,,,97,,,,,,,,59.72,,,,,,,,156,,,,,,,,160,,,,,,,,133,,,,,,28.059,7750.2283,431,5231.86475,5294.98,,48.11,,,,40,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.72,0.72,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:15:00",1,NSW1,0,184.24997,0,184.24997,0,0,12334.07,-48,11583.26,0,-750.82,0,,,71,,,,,,,,70,,,,,,,,67,,,,,,,,86,,,,,,,,53,,,,,,,,57,,,,,,-27.93726,12491.81786,47,12416.22754,12339.84,,20,,,,11,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:15:00",1,QLD1,0,190.74,0,190.74,0,0,9112.61,-6,9619.41,0,506.8,0,,,0,,,,,,,,95,,,,,,,,33.57,,,,,,,,26,,,,,,,,193.33,,,,,,,,196,,,,,,-11.51442,10839.452,125,9128.74316,9110.43,,82,,,,152,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:15:00",1,SA1,0,148.52315,0,148.52315,0,0,1421.3,12,1761.26,0,339.96,0,,,44,,,,,,,,44,,,,,,,,44,,,,,,,,100.9,,,,,,,,94.3,,,,,,,,141.83,,,,,,5.18451,3383.44553,321,1409.3645,1426.48,,20,,,,15,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:15:00",1,TAS1,0,148.46548,0,148.46548,0,0,1116.03,0,1511.76,0,395.73,0,,,21.86,,,,,,,,37.39,,,,,,,,37.39,,,,,,,,24,,,,,,,,73.7,,,,,,,,15.51,,,,,,7.93187,2395.7106,0,1116.58618,1129.71,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.39,0.39,0,39.39548,39.39548,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 19:15:00",1,VIC1,0,164.47803,0,164.47803,0,0,5252.93,4,4841.1,25,-436.83,0,,,88,,,,,,,,89.91,,,,,,,,86,,,,,,,,167,,,,,,,,144,,,,,,,,148,,,,,,31.22072,7717.1035,428,5246.71387,5310.34,,38,,,,25,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:20:00",1,NSW1,0,175.75927,0,175.75927,0,0,12197.59,-45,11521.23,0,-676.36,0,,,71,,,,,,,,70,,,,,,,,67,,,,,,,,84,,,,,,,,79,,,,,,,,84,,,,,,-39.37061,12447.0849,47,12292.09375,12207.74,,20,,,,0,,,,,,,,,,,,,,,,,,,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,1.24,1.24,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 19:20:00",1,QLD1,0,185.19,0,185.19,0,0,9111.72,-8,9527.94,0,416.22,0,,,0,,,,,,,,121.47,,,,,,,,39.03,,,,,,,,24,,,,,,,,124.33,,,,,,,,153,,,,,,2.87137,10823.87982,125,9115.12793,9111.61,,79.76,,,,116,,,,,,,,,,,,,,,,,,,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,1.24,1.24,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 19:20:00",1,SA1,0,143.19927,0,143.19927,0,0,1421.09,11,1728.57,0,307.48,0,,,44,,,,,,,,44,,,,,,,,43,,,,,,,,157.76,,,,,,,,163.81,,,,,,,,163.81,,,,,,0,3336.57215,331,1414.85303,1425.3,,39.24,,,,20,,,,,,,,,,,,,,,,,,,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,1.24,1.24,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 19:20:00",1,TAS1,0,142.43474,0,142.43474,0,0,1119.54,1,1492.33,0,372.79,0,,,0,,,,,,,,15.85,,,,,,,,15.85,,,,,,,,25,,,,,,,,73.7,,,,,,,,3,,,,,,11.44602,2378.28101,0,1121.75989,1131.65,,50,,,,50,,,,,,,,,,,,,,,,,,,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,33.36474,33.36474,0,0.38,0.38,0,0.38,0.38,0,0.17,0.17,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 19:20:00",1,VIC1,0,157.05865,0,157.05865,0,0,5196.46,3,4845.77,12,-362.69,0,,,108.24,,,,,,,,84,,,,,,,,104,,,,,,,,144,,,,,,,,116,,,,,,,,153.04,,,,,,24.46356,7687.77315,430,5220.18457,5239.55,,21,,,,34,,,,,,,,,,,,,,,,,,,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,1.24,1.24,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 19:25:00",1,NSW1,0,178.00261,0,178.00261,0,0,12268.58,-49,11524.18,0,-744.4,0,,,71,,,,,,,,70,,,,,,,,67,,,,,,,,84,,,,,,,,79,,,,,,,,65,,,,,,0,12451.87978,47,12325.97656,12277.33,,0,,,,0,,,,,,,,,,,,,,,,,,,1.84,1.84,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:25:00",1,QLD1,0,185.19,0,185.19,0,0,9088.6,-13,9558.02,0,469.42,0,,,0,,,,,,,,95,,,,,,,,36.29,,,,,,,,28,,,,,,,,193.33,,,,,,,,200,,,,,,0,10806.8214,125,9100.09082,9087.26,,90.77,,,,167,,,,,,,,,,,,,,,,,,,1.84,1.84,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:25:00",1,SA1,0,148.98421,0,148.98421,0,0,1444.85,9,1668.24,0,223.39,0,,,47,,,,,,,,47,,,,,,,,45,,,,,,,,171,,,,,,,,116.21,,,,,,,,145.3,,,,,,14.20705,3276.23725,341,1424.96082,1446.99,,10,,,,10,,,,,,,,,,,,,,,,,,,1.84,1.84,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:25:00",1,TAS1,0,144.31749,0,144.31749,0,0,1115.68,1,1493.92,0,378.24,0,,,25.88,,,,,,,,24.58,,,,,,,,21.05,,,,,,,,18,,,,,,,,68.76,,,,,,,,43,,,,,,3.18996,2370.3686,0,1126.34583,1128.15,,50,,,,50,,,,,,,,,,,,,,,,,,,1.84,1.84,0,0.39,0.39,0,0.49,0.49,0,35.24749,35.24749,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 19:25:00",1,VIC1,0,159.14502,0,159.14502,0,0,5250.77,2,4973.7,0,-277.08,0,,,80,,,,,,,,99,,,,,,,,99,,,,,,,,119.6,,,,,,,,92,,,,,,,,96,,,,,,19.80653,7681.69617,430,5264.14746,5278.32,,59.23,,,,0,,,,,,,,,,,,,,,,,,,1.84,1.84,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:30:00",1,NSW1,0,301.38681,0,301.38681,0,0,12192.34,-48,11037.79,0,-1154.54,0,,,54,,,,,,,,60.71,,,,,,,,9.37,,,,,,,,94,,,,,,,,96,,,,,,,,122,,,,,,-44.26373,12465.47124,47,12288.46484,12206.71,,0,,,,0,,,,,,,,,,,,,,,,,,,31.51,31.51,0,1.49,1.49,0,0.72,0.72,0,32.99,32.99,0,0,0,0,0,0,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:30:00",1,QLD1,0,296,0,296,0,0,9025.56,-15,9787.27,0,761.7,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,33,,,,,,,,114.43,,,,,,,,128.1,,,,,,4.27181,10805.11434,125,9034.06543,9023.42,,69.52,,,,136.74,,,,,,,,,,,,,,,,,,,31.51,31.51,0,1.49,1.49,0,0.72,0.72,0,32.99,32.99,0,0,0,0,0,0,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:30:00",1,SA1,0,237.87,0,237.87,0,0,1445.3,8,1779.96,0,334.66,0,,,35,,,,,,,,47,,,,,,,,33,,,,,,,,176,,,,,,,,185,,,,,,,,179.81,,,,,,5.03677,3235.42337,345,1434.729,1450.32,,10,,,,79.26,,,,,,,,,,,,,,,,,,,31.51,31.51,0,1.49,1.49,0,0.72,0.72,0,32.99,32.99,0,0,0,0,0,0,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:30:00",1,TAS1,0,115.18,0,115.18,0,0,1108.18,1,1590.56,0,482.38,0,,,17.65,,,,,,,,117.65,,,,,,,,117.65,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,0.89584,2346.46381,0,1120.38293,1128.56,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.11,8.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 19:30:00",1,VIC1,0,263.42284,0,263.42284,0,0,5264.64,1,4922.2,0,-342.44,0,,,120.53,,,,,,,,114,,,,,,,,109,,,,,,,,125.73,,,,,,,,155.47,,,,,,,,121,,,,,,10.93827,7625.20192,433,5275.83301,5308.77,,80.48,,,,4,,,,,,,,,,,,,,,,,,,31.51,31.51,0,1.49,1.49,0,0.72,0.72,0,32.99,32.99,0,0,0,0,0,0,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:35:00",1,NSW1,0,221.41452,0,221.41452,0,0,12063.94,-53,11102.83,0,-961.11,0,,,64,,,,,,,,70,,,,,,,,8.79,,,,,,,,106,,,,,,,,97,,,,,,,,122.07,,,,,,-46.78793,12455.13336,57,12180.14258,12075.99,,10,,,,3,,,,,,,,,,,,,,,,,,,33.46011,33.46011,0,1.49,1.49,0,0.75,0.75,0,12,12,0,0,0,0,0.01,0.01,0,0,0,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:35:00",1,QLD1,0,223.82999,0,223.82999,0,0,8980.6,-24,9565.73,0,585.13,0,,,0,,,,,,,,17.36,,,,,,,,0,,,,,,,,33,,,,,,,,142.33,,,,,,,,157,,,,,,17.98321,10788.85021,125,8985.40137,8977.89,,98.65,,,,180.52,,,,,,,,,,,,,,,,,,,33.46011,33.46011,0,1.49,1.49,0,0.75,0.75,0,12,12,0,0,0,0,0.01,0.01,0,0,0,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:35:00",1,SA1,0,174.84,0,174.84,0,0,1452.91,7,1805.85,0,352.94,0,,,37,,,,,,,,46,,,,,,,,31,,,,,,,,146,,,,,,,,150,,,,,,,,162.87,,,,,,3.15722,3203.18509,356,1447.23071,1458.52,,10,,,,30,,,,,,,,,,,,,,,,,,,33.46011,33.46011,0,1.49,1.49,0,0.75,0.75,0,12,12,0,0,0,0,0.01,0.01,0,0,0,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:35:00",1,TAS1,0,115.16,0,115.16,0,0,1116.01,0,1593.5,0,477.48,0,,,13.12,,,,,,,,113.12,,,,,,,,113.12,,,,,,,,0,,,,,,,,4.47,,,,,,,,4.47,,,,,,7.0442,2379.62597,0,1128.95874,1135.98,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.38,0.38,0,0,0,0,8.11,8.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 19:35:00",1,VIC1,0,193.84488,0,193.84488,0,0,5249.9,2,4873.82,0,-376.08,0,,,114,,,,,,,,94,,,,,,,,109,,,,,,,,143.59,,,,,,,,157.6,,,,,,,,105,,,,,,1.17365,7620.82309,445,5288.74219,5293.34,,41.35,,,,2,,,,,,,,,,,,,,,,,,,33.46011,33.46011,0,1.49,1.49,0,0.75,0.75,0,12,12,0,0,0,0,0.01,0.01,0,0,0,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 19:40:00",1,NSW1,0,299.99,0,299.99,0,0,12002.07,-59,10746.28,0,-1255.78,0,,,54,,,,,,,,70,,,,,,,,19.13,,,,,,,,95,,,,,,,,59,,,,,,,,87.7,,,,,,-18.90057,12441.1004,57,12091.21191,12016.84,,18.93,,,,12,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.49,1.49,0,0.75,0.75,0,26.14124,26.14124,0,0,0,0,0.01,0.01,0,0.08,0.08,0,1,1,0 +D,DREGION,,2,"2023/12/14 19:40:00",1,QLD1,0,289.54852,0,289.54852,0,0,8942.28,-29,9773.69,0,831.41,0,,,0,,,,,,,,3.16,,,,,,,,0,,,,,,,,35,,,,,,,,175.33,,,,,,,,200,,,,,,3.12317,10781.58202,125,8965.96777,8939.21,,98.07,,,,164,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.49,1.49,0,0.75,0.75,0,26.14124,26.14124,0,0,0,0,0.01,0.01,0,0.08,0.08,0,1,1,0 +D,DREGION,,2,"2023/12/14 19:40:00",1,SA1,0,231.02124,0,231.02124,0,0,1451.72,6,1857.43,0,405.7,0,,,35,,,,,,,,47,,,,,,,,33,,,,,,,,161,,,,,,,,152,,,,,,,,158.87,,,,,,7.42423,3171.42664,362,1442.91296,1459.13,,10,,,,42,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.49,1.49,0,0.75,0.75,0,26.14124,26.14124,0,0,0,0,0.01,0.01,0,0.08,0.08,0,1,1,0 +D,DREGION,,2,"2023/12/14 19:40:00",1,TAS1,0,54.22,0,54.22,0,0,1126.48,0,1608.85,0,482.38,0,,,17.34,,,,,,,,117.33,,,,,,,,117.33,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,7.97765,2385.44917,0,1137.33948,1146.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.15,8.15,0,0.58588,0.58588,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 19:40:00",1,VIC1,0,260.69175,0,260.69175,0,0,5234.4,1,4861.17,0,-373.23,0,,,121.9,,,,,,,,104,,,,,,,,99,,,,,,,,137.31,,,,,,,,165.23,,,,,,,,105,,,,,,0.47597,7600.17126,446,5271.55176,5285.39,,33,,,,2,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.49,1.49,0,0.75,0.75,0,26.14124,26.14124,0,0,0,0,0.01,0.01,0,0.08,0.08,0,1,1,0 +D,DREGION,,2,"2023/12/14 19:45:00",1,NSW1,0,295.42724,0,295.42724,0,0,11915.86,-66,10666.36,0,-1249.5,0,,,67.43,,,,,,,,70,,,,,,,,21.13,,,,,,,,104,,,,,,,,95,,,,,,,,116,,,,,,-24.34654,12407.23115,57,12024.68164,11929.74,,30,,,,23,,,,,,,,,,,,,,,,,,,25,25,0,1.49,1.49,0,0.75,0.75,0,23.71095,23.71095,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:45:00",1,QLD1,0,286.72095,0,286.72095,0,0,8923.16,-33,9706.64,0,783.48,0,,,0,,,,,,,,11.38,,,,,,,,0,,,,,,,,32,,,,,,,,160.33,,,,,,,,175,,,,,,0,10800.6907,125,8954.25488,8917.9,,77,,,,153,,,,,,,,,,,,,,,,,,,25,25,0,1.49,1.49,0,0.75,0.75,0,23.71095,23.71095,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:45:00",1,SA1,0,229.88,0,229.88,0,0,1452.95,4,1807,0,354.05,0,,,47,,,,,,,,47,,,,,,,,34,,,,,,,,144,,,,,,,,147,,,,,,,,155.67,,,,,,0,3144.29773,362,1454.85498,1458.58,,20,,,,40,,,,,,,,,,,,,,,,,,,25,25,0,1.49,1.49,0,0.75,0.75,0,23.71095,23.71095,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:45:00",1,TAS1,0,54.2087,0,54.2087,0,0,1116.53,0,1598.91,0,482.38,0,,,17.6,,,,,,,,117.59,,,,,,,,117.59,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-1.02065,2386.80162,0,1136.66882,1136.91,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.1387,8.1387,0,0.56261,0.56261,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 19:45:00",1,VIC1,0,254.8369,0,254.8369,0,0,5144.11,-7,4858.37,0,-285.74,0,,,96,,,,,,,,96,,,,,,,,91,,,,,,,,147.72,,,,,,,,149.34,,,,,,,,105,,,,,,-0.72624,7585.36809,446,5201.08838,5194.15,,33,,,,4,,,,,,,,,,,,,,,,,,,25,25,0,1.49,1.49,0,0.75,0.75,0,23.71095,23.71095,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:50:00",1,NSW1,0,299.99,0,299.99,0,0,11836.46,-71,10774.68,0,-1061.78,0,,,61.45,,,,,,,,43,,,,,,,,34.03,,,,,,,,104,,,,,,,,95,,,,,,,,121,,,,,,-29.72309,12461.09848,57,11949.01563,11844.14,,30,,,,23,,,,,,,,,,,,,,,,,,,35.78461,35.78461,0,1.49,1.49,0,0.75,0.75,0,35.81461,35.81461,0,0,0,0,0.01,0.01,0,0.15,0.15,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 19:50:00",1,QLD1,0,298.82461,0,298.82461,0,0,9009.84,-29,9638.15,0,628.31,0,,,0,,,,,,,,54.18,,,,,,,,0,,,,,,,,34,,,,,,,,140.99,,,,,,,,154.66,,,,,,12.3077,10549.21205,125,9023.74316,9002.42,,100.39,,,,117,,,,,,,,,,,,,,,,,,,35.78461,35.78461,0,1.49,1.49,0,0.75,0.75,0,35.81461,35.81461,0,0,0,0,0.01,0.01,0,0.15,0.15,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 19:50:00",1,SA1,0,231.70534,0,231.70534,0,0,1470.61,3,1870.85,0,400.24,0,,,35,,,,,,,,33,,,,,,,,26,,,,,,,,156,,,,,,,,160,,,,,,,,169.86,,,,,,15.95825,3109.84731,362,1455.88098,1477.81,,14.61,,,,58,,,,,,,,,,,,,,,,,,,35.78461,35.78461,0,1.49,1.49,0,0.75,0.75,0,35.81461,35.81461,0,0,0,0,0.01,0.01,0,0.15,0.15,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 19:50:00",1,TAS1,0,54.22,0,54.22,0,0,1117.32,0,1599.7,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-2.67274,2384.88686,0,1139.71167,1137.7,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.15,8.15,0,0.58588,0.58588,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 19:50:00",1,VIC1,0,261.03409,0,261.03409,0,0,5183.25,-9,4830.01,18,-371.24,0,,,116,,,,,,,,96,,,,,,,,86,,,,,,,,143.79,,,,,,,,165.53,,,,,,,,116,,,,,,8.22249,7573.00672,447,5224.02881,5251.32,,15,,,,22,,,,,,,,,,,,,,,,,,,35.78461,35.78461,0,1.49,1.49,0,0.75,0.75,0,35.81461,35.81461,0,0,0,0,0.01,0.01,0,0.15,0.15,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 19:55:00",1,NSW1,0,299.99,0,299.99,0,0,11737.44,-74,10738.14,0,-999.3,0,,,65.06,,,,,,,,70,,,,,,,,1.38,,,,,,,,82.57,,,,,,,,81.21,,,,,,,,105.69,,,,,,-6.52821,12478.13526,57,11825.87305,11739.41,,30,,,,23,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.96,1.96,0,0.69,0.69,0,32.99,32.99,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:55:00",1,QLD1,0,296.58207,0,296.58207,0,0,9002.44,-28,9657.74,0,655.3,0,,,0,,,,,,,,9.03,,,,,,,,0,,,,,,,,31,,,,,,,,87.33,,,,,,,,109,,,,,,-4.92896,10516.06334,125,9030.66895,8995.1,,102,,,,114,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.96,1.96,0,0.69,0.69,0,32.99,32.99,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:55:00",1,SA1,0,236.94618,0,236.94618,0,0,1471.97,2,1857.74,0,385.77,0,,,49,,,,,,,,49,,,,,,,,49,,,,,,,,164,,,,,,,,171,,,,,,,,166.86,,,,,,20.22525,3063.74273,362,1456.23535,1478.66,,20,,,,54,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.96,1.96,0,0.69,0.69,0,32.99,32.99,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 19:55:00",1,TAS1,0,54.2,0,54.2,0,0,1115.56,-1,1597.94,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,0,,,,,,,,0,,,,,,-0.61475,2392.88336,0,1137.50378,1135.94,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 19:55:00",1,VIC1,0,265.52076,0,265.52076,0,0,5211.07,-8,4775.73,25,-460.34,0,,,96,,,,,,,,96,,,,,,,,96,,,,,,,,159,,,,,,,,221,,,,,,,,179,,,,,,9.4995,7536.7307,447,5261.87695,5278.18,,8,,,,29,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.96,1.96,0,0.69,0.69,0,32.99,32.99,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 20:00:00",1,NSW1,0,299.99,0,299.99,0,0,11692.79,-76,10525.19,0,-1167.59,0,,,75.74,,,,,,,,70,,,,,,,,16.66,,,,,,,,104,,,,,,,,95,,,,,,,,119.01,,,,,,-6.33154,12461.45488,57,11783.49316,11703.38,,30,,,,23,,,,,,,,,,,,,,,,,,,30,30,0,1.49,1.49,0,0.75,0.75,0,30.03,30.03,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 20:00:00",1,QLD1,0,293.04,0,293.04,0,0,8946.57,-28,9643.11,0,696.53,0,,,0,,,,,,,,21.11,,,,,,,,0,,,,,,,,35,,,,,,,,161.21,,,,,,,,174.87,,,,,,0,10768.03615,125,8971.05762,8939.52,,81,,,,123,,,,,,,,,,,,,,,,,,,30,30,0,1.49,1.49,0,0.75,0.75,0,30.03,30.03,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 20:00:00",1,SA1,0,232.78558,0,232.78558,0,0,1478.6,1,1848.66,0,370.06,0,,,56,,,,,,,,55,,,,,,,,53,,,,,,,,142,,,,,,,,146,,,,,,,,157.86,,,,,,23.6652,3040.65778,362,1459.95435,1484.75,,16,,,,70,,,,,,,,,,,,,,,,,,,30,30,0,1.49,1.49,0,0.75,0.75,0,30.03,30.03,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 20:00:00",1,TAS1,0,54.2,0,54.2,0,0,1115.25,-2,1597.63,0,482.38,0,,,18.67,,,,,,,,118.67,,,,,,,,118.67,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-4.48627,2407.85847,0,1140.14294,1135.63,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:00:00",1,VIC1,0,259.45927,0,259.45927,0,0,5182.7,-12,4881.87,0,-300.83,0,,,76,,,,,,,,76,,,,,,,,76,,,,,,,,151.37,,,,,,,,154.54,,,,,,,,105,,,,,,0,7552.86903,447,5251.60205,5233.17,,33,,,,4,,,,,,,,,,,,,,,,,,,30,30,0,1.49,1.49,0,0.75,0.75,0,30.03,30.03,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 20:05:00",1,NSW1,0,141.33776,0,141.33776,0,0,11598.98,-79,10764.77,0,-834.2,0,,,57.62,,,,,,,,46,,,,,,,,0,,,,,,,,134.05,,,,,,,,112.91,,,,,,,,110.24,,,,,,-17.57787,12352.83057,147,11710.625,11610.07,,11.98,,,,23,,,,,,,,,,,,,,,,,,,2.96,2.96,0,0.72,0.72,0,0.72,0.72,0,3.67,3.67,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:05:00",1,QLD1,0,146.65212,0,146.65212,0,0,8899.07,-25,9280.56,0,381.49,0,,,0,,,,,,,,13.54,,,,,,,,0,,,,,,,,34,,,,,,,,208.05,,,,,,,,216.72,,,,,,6.28284,10769.59378,125,8915.05078,8893.02,,1.03,,,,177,,,,,,,,,,,,,,,,,,,2.96,2.96,0,0.72,0.72,0,0.72,0.72,0,3.67,3.67,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:05:00",1,SA1,0,118.44,0,118.44,0,0,1476.79,0,1605.07,0,128.29,0,,,41,,,,,,,,54,,,,,,,,44,,,,,,,,155,,,,,,,,154,,,,,,,,145,,,,,,24.89313,2866.22175,362,1457.83691,1477.34,,10,,,,20,,,,,,,,,,,,,,,,,,,2.96,2.96,0,0.72,0.72,0,0.72,0.72,0,3.67,3.67,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:05:00",1,TAS1,0,54.2,0,54.2,0,0,1116.97,-2,1599.35,0,482.38,0,,,17.62,,,,,,,,117.62,,,,,,,,117.62,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-8.75965,2434.54618,0,1147.55518,1137.35,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:05:00",1,VIC1,0,123.24231,0,123.24231,0,0,5188.91,-17,5094.32,0,-94.59,0,,,114,,,,,,,,114,,,,,,,,109,,,,,,,,111,,,,,,,,84,,,,,,,,87,,,,,,17.48426,7424.32362,447,5236.38428,5226.3,,137,,,,0,,,,,,,,,,,,,,,,,,,2.96,2.96,0,0.72,0.72,0,0.72,0.72,0,3.67,3.67,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:10:00",1,NSW1,0,257.35274,0,257.35274,0,0,11517.55,-83,10466.7,5,-1055.85,0,,,45.97,,,,,,,,51,,,,,,,,0,,,,,,,,102,,,,,,,,85,,,,,,,,106,,,,,,-0.25277,12189.69471,147,11615.48828,11548.99,,14,,,,0,,,,,,,,,,,,,,,,,,,2.95,2.95,0,0.86,0.86,0,0.75,0.75,0,2.35,2.35,0,0,0,0,0.01,0.01,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:10:00",1,QLD1,0,265.36,0,265.36,0,0,8958.81,-22,9356.22,0,397.41,0,,,0,,,,,,,,7.99,,,,,,,,0,,,,,,,,34,,,,,,,,202.64,,,,,,,,216.74,,,,,,-8.29874,11055.77691,125,8984.88086,8952.44,,1,,,,200,,,,,,,,,,,,,,,,,,,2.95,2.95,0,0.86,0.86,0,0.75,0.75,0,2.35,2.35,0,0,0,0,0.01,0.01,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:10:00",1,SA1,0,197.87762,0,197.87762,0,0,1460.73,-1,1759.21,0,298.48,0,,,55,,,,,,,,57,,,,,,,,47,,,,,,,,158,,,,,,,,156,,,,,,,,142.9,,,,,,10.62879,2791.21001,362,1451.97705,1464.69,,10,,,,20,,,,,,,,,,,,,,,,,,,2.95,2.95,0,0.86,0.86,0,0.75,0.75,0,2.35,2.35,0,0,0,0,0.01,0.01,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:10:00",1,TAS1,0,54.18,0,54.18,0,0,1118.33,-2,1600.71,0,482.38,0,,,17.62,,,,,,,,117.62,,,,,,,,117.62,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-13.83468,2453.40311,0,1153.21765,1138.71,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.11,8.11,0,0.50353,0.50353,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:10:00",1,VIC1,0,215.8827,0,215.8827,0,0,5198.55,-16,5183.68,0,-14.87,0,,,114,,,,,,,,114,,,,,,,,109,,,,,,,,134.62,,,,,,,,110,,,,,,,,88,,,,,,27.42183,7420.67772,447,5224.6875,5261.69,,135,,,,0,,,,,,,,,,,,,,,,,,,2.95,2.95,0,0.86,0.86,0,0.75,0.75,0,2.35,2.35,0,0,0,0,0.01,0.01,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:15:00",1,NSW1,0,215.36836,0,215.36836,0,0,11311.9,-84,10460.76,25,-876.14,0,,,51.47,,,,,,,,46.33,,,,,,,,16,,,,,,,,103,,,,,,,,86,,,,,,,,100,,,,,,-11.49911,12178.01712,147,11436.16504,11364.32,,23,,,,13,,,,,,,,,,,,,,,,,,,2.25,2.25,0,0.86,0.86,0,0.75,0.75,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:15:00",1,QLD1,0,228.81,0,228.81,0,0,8985.88,-22,9234.42,0,248.54,0,,,0,,,,,,,,20,,,,,,,,0,,,,,,,,33,,,,,,,,192.33,,,,,,,,223,,,,,,0,11052.54501,125,9001.22852,8981.71,,1,,,,207,,,,,,,,,,,,,,,,,,,2.25,2.25,0,0.86,0.86,0,0.75,0.75,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:15:00",1,SA1,0,173.44,0,173.44,0,0,1449.6,-1,1615.63,0,166.03,0,,,43,,,,,,,,44,,,,,,,,34,,,,,,,,171,,,,,,,,161.49,,,,,,,,149,,,,,,0,2687.10886,362,1453.95923,1450.69,,10,,,,0,,,,,,,,,,,,,,,,,,,2.25,2.25,0,0.86,0.86,0,0.75,0.75,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:15:00",1,TAS1,0,54.2,0,54.2,0,0,1117.85,-2,1600.23,0,482.38,0,,,17.59,,,,,,,,117.58,,,,,,,,117.58,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-10.04255,2413.71475,0,1145.58667,1138.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:15:00",1,VIC1,0,182.36127,0,182.36127,0,0,5140.48,-20,5218.37,0,77.89,0,,,114,,,,,,,,114,,,,,,,,114,,,,,,,,121.96,,,,,,,,115,,,,,,,,82.83,,,,,,0,7429.37203,447,5215.20117,5194.46,,126,,,,0,,,,,,,,,,,,,,,,,,,2.25,2.25,0,0.86,0.86,0,0.75,0.75,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 20:20:00",1,NSW1,0,221,0,221,0,0,11298.82,-87,10396.29,22.53,-925.06,0,,,75.15,,,,,,,,72.18,,,,,,,,23.61,,,,,,,,91,,,,,,,,84.72,,,,,,,,82.06,,,,,,5.82599,12118.55417,147,11426.30176,11342.65,,25,,,,0,,,,,,,,,,,,,,,,,,,1.49,1.49,0,0.72,0.72,0,0.72,0.72,0,0.72,0.72,0,0,0,0,0.01,0.01,0,0.01,0.01,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 20:20:00",1,QLD1,0,230.21582,0,230.21582,0,0,8921.04,-23,9254.66,0,333.61,0,,,0,,,,,,,,20,,,,,,,,0,,,,,,,,29.03,,,,,,,,217.33,,,,,,,,223,,,,,,-4.15596,10926.70555,125,8941.28516,8915.1,,6,,,,207,,,,,,,,,,,,,,,,,,,1.49,1.49,0,0.72,0.72,0,0.72,0.72,0,0.72,0.72,0,0,0,0,0.01,0.01,0,0.01,0.01,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 20:20:00",1,SA1,0,180.24484,0,180.24484,0,0,1444.14,-2,1593.57,0,149.43,0,,,54,,,,,,,,53,,,,,,,,45,,,,,,,,167,,,,,,,,165,,,,,,,,158,,,,,,1.14773,2644.56856,362,1445.95532,1444.97,,29,,,,0,,,,,,,,,,,,,,,,,,,1.49,1.49,0,0.72,0.72,0,0.72,0.72,0,0.72,0.72,0,0,0,0,0.01,0.01,0,0.01,0.01,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 20:20:00",1,TAS1,0,54.2,0,54.2,0,0,1111.36,-3,1593.74,0,482.38,0,,,17.37,,,,,,,,117.37,,,,,,,,117.37,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-2.08492,2432.07638,0,1135.5647,1131.74,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:20:00",1,VIC1,0,188.52242,0,188.52242,0,0,5161.41,-20,5207.27,0,45.86,0,,,86,,,,,,,,86,,,,,,,,86,,,,,,,,111,,,,,,,,88,,,,,,,,92,,,,,,27.77998,7472.26567,447,5205.87842,5211.06,,100,,,,44,,,,,,,,,,,,,,,,,,,1.49,1.49,0,0.72,0.72,0,0.72,0.72,0,0.72,0.72,0,0,0,0,0.01,0.01,0,0.01,0.01,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 20:25:00",1,NSW1,0,155.39697,0,155.39697,0,0,11158.53,-83,10315.37,25,-868.17,0,,,46,,,,,,,,46,,,,,,,,0,,,,,,,,97.02,,,,,,,,50,,,,,,,,65,,,,,,0,12155.66218,147,11288.09375,11203.13,,30,,,,0,,,,,,,,,,,,,,,,,,,0.76,0.76,0,0.39,0.39,0,0.72,0.72,0,0.91,0.91,0,0,0,0,0.01,0.01,0,0,0,0,12,12,0 +D,DREGION,,2,"2023/12/14 20:25:00",1,QLD1,0,162.60896,0,162.60896,0,0,8885.49,-24,9189.1,0,303.62,0,,,0,,,,,,,,14.19,,,,,,,,0,,,,,,,,31,,,,,,,,210.05,,,,,,,,221,,,,,,0,10941.21334,125,8904.11621,8879.96,,22,,,,207,,,,,,,,,,,,,,,,,,,0.76,0.76,0,0.39,0.39,0,0.72,0.72,0,0.91,0.91,0,0,0,0,0.01,0.01,0,0,0,0,12,12,0 +D,DREGION,,2,"2023/12/14 20:25:00",1,SA1,0,130.25002,0,130.25002,0,0,1457.37,-3,1523.18,0,65.81,0,,,56,,,,,,,,58,,,,,,,,47,,,,,,,,169,,,,,,,,158,,,,,,,,134,,,,,,-2.89438,2626.92232,362,1468.56567,1457.32,,30,,,,0,,,,,,,,,,,,,,,,,,,0.76,0.76,0,0.39,0.39,0,0.72,0.72,0,0.91,0.91,0,0,0,0,0.01,0.01,0,0,0,0,12,12,0 +D,DREGION,,2,"2023/12/14 20:25:00",1,TAS1,0,54.2,0,54.2,0,0,1102.35,-3,1584.73,0,482.38,0,,,17.6,,,,,,,,117.6,,,,,,,,117.6,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-5.53033,2425.68035,0,1126.76611,1122.73,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:25:00",1,VIC1,0,132.72,0,132.72,0,0,5026.38,-26,5122.12,0,95.74,0,,,114,,,,,,,,114,,,,,,,,114,,,,,,,,130,,,,,,,,136,,,,,,,,134.05,,,,,,0,7418.39209,447,5095.75488,5071.36,,78,,,,13,,,,,,,,,,,,,,,,,,,0.76,0.76,0,0.39,0.39,0,0.72,0.72,0,0.91,0.91,0,0,0,0,0.01,0.01,0,0,0,0,12,12,0 +D,DREGION,,2,"2023/12/14 20:30:00",1,NSW1,0,174.80082,0,174.80082,0,0,11091,-84,10264.65,25,-851.35,0,,,55,,,,,,,,53,,,,,,,,16,,,,,,,,92,,,,,,,,77,,,,,,,,75,,,,,,-3.55713,12159.19051,147,11219.59277,11142.18,,30,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.72,0.72,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.2,0.2,0,24.88,24.88,0 +D,DREGION,,2,"2023/12/14 20:30:00",1,QLD1,0,185.19,0,185.19,0,0,8899.19,-26,9134,0,234.82,0,,,0,,,,,,,,20,,,,,,,,0,,,,,,,,34.55,,,,,,,,183.33,,,,,,,,210,,,,,,-12.06611,10948.64332,125,8931.92383,8894.93,,26,,,,215,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.72,0.72,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.2,0.2,0,24.88,24.88,0 +D,DREGION,,2,"2023/12/14 20:30:00",1,SA1,0,143.116,0,143.116,0,0,1440.46,-3,1547.9,0,107.43,0,,,45,,,,,,,,44.59,,,,,,,,41,,,,,,,,171,,,,,,,,159.44,,,,,,,,163,,,,,,-10.92591,2622.89705,362,1454.66943,1440.77,,31,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.72,0.72,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.2,0.2,0,24.88,24.88,0 +D,DREGION,,2,"2023/12/14 20:30:00",1,TAS1,0,54.18,0,54.18,0,0,1103.72,-3,1586.1,0,482.38,0,,,17.57,,,,,,,,117.57,,,,,,,,117.57,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-1.23593,2430.37815,0,1124.64526,1124.1,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.11,8.11,0,0.50353,0.50353,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:30:00",1,VIC1,0,148.11473,0,148.11473,0,0,5048.51,-30,5168.82,0,120.31,0,,,114.37,,,,,,,,114,,,,,,,,99.12,,,,,,,,138,,,,,,,,143,,,,,,,,114.78,,,,,,19.45423,7461.8158,447,5098.99756,5099.49,,73,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.72,0.72,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.2,0.2,0,24.88,24.88,0 +D,DREGION,,2,"2023/12/14 20:35:00",1,NSW1,0,140,0,140,0,0,10929.99,-87,9977.88,63,-1015.11,0,,,49.43,,,,,,,,44.74,,,,,,,,0,,,,,,,,75,,,,,,,,77,,,,,,,,85,,,,,,-16.65522,12095.78748,147,11075.9541,11031.61,,55,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.68,0.68,0,0.78,0.78,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 20:35:00",1,QLD1,0,146.93798,0,146.93798,0,0,8774.41,-30,9024.02,0,249.62,0,,,0,,,,,,,,20,,,,,,,,0,,,,,,,,30,,,,,,,,188.33,,,,,,,,188,,,,,,-23.62084,10951.91302,125,8821.66113,8769.85,,1,,,,210,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.68,0.68,0,0.78,0.78,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 20:35:00",1,SA1,0,116.81591,0,116.81591,0,0,1448.69,-3,1445.5,29,-32.19,0,,,45,,,,,,,,58,,,,,,,,48,,,,,,,,166.94,,,,,,,,147.92,,,,,,,,161,,,,,,-2.31216,2607.18201,362,1456.17957,1477.44,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.68,0.68,0,0.78,0.78,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 20:35:00",1,TAS1,0,54.2,0,54.2,0,0,1096.61,-3,1578.99,0,482.38,0,,,17.57,,,,,,,,117.57,,,,,,,,117.57,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,2.73631,2412.95833,0,1112.7605,1116.99,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:35:00",1,VIC1,0,115.99817,0,115.99817,0,0,5012,-27,5446.51,0,434.51,0,,,124,,,,,,,,114,,,,,,,,114,,,,,,,,158,,,,,,,,145,,,,,,,,124.25,,,,,,13.41655,7458.51003,447,5066.19531,5077.01,,84,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.68,0.68,0,0.78,0.78,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 20:40:00",1,NSW1,0,140,0,140,0,0,10901.98,-73,10057.74,72,-916.24,0,,,64.78,,,,,,,,61,,,,,,,,24,,,,,,,,92,,,,,,,,77,,,,,,,,85,,,,,,-29.75332,12086.5788,147,11098.94141,11006.7,,55,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,6,6,0 +D,DREGION,,2,"2023/12/14 20:40:00",1,QLD1,0,147.96361,0,147.96361,0,0,8784.5,-34,9003.07,0,218.58,0,,,0,,,,,,,,29.86,,,,,,,,0,,,,,,,,27,,,,,,,,193.33,,,,,,,,192,,,,,,-32.58351,10957.25943,125,8844.40625,8780.39,,7,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,6,6,0 +D,DREGION,,2,"2023/12/14 20:40:00",1,SA1,0,118.44,0,118.44,0,0,1438.68,-3,1424.46,27,-41.22,0,,,47,,,,,,,,49,,,,,,,,41.5,,,,,,,,168,,,,,,,,143.46,,,,,,,,163,,,,,,-7.98412,2587.70596,362,1473.48303,1465.46,,44,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,6,6,0 +D,DREGION,,2,"2023/12/14 20:40:00",1,TAS1,0,54.2,0,54.2,0,0,1112.25,-3,1594.63,0,482.38,0,,,17.72,,,,,,,,117.72,,,,,,,,117.72,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,7.53419,2408.59479,0,1125.74927,1132.63,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:40:00",1,VIC1,0,117.04047,0,117.04047,0,0,5052.76,-29,5424.31,9,362.55,0,,,104,,,,,,,,94,,,,,,,,94,,,,,,,,138.72,,,,,,,,145,,,,,,,,118.79,,,,,,7.15018,7469.95847,447,5135.93799,5119.03,,54,,,,7,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,6,6,0 +D,DREGION,,2,"2023/12/14 20:45:00",1,NSW1,0,140,0,140,0,0,10842.66,-74,9931.68,25,-935.98,0,,,74,,,,,,,,54.82,,,,,,,,0,,,,,,,,98.79,,,,,,,,77,,,,,,,,85,,,,,,-9.51809,12031.59384,147,11025.25195,10906.36,,45,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0.01,0.01,0,0,0,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 20:45:00",1,QLD1,0,148.8467,0,148.8467,0,0,8798.18,-35,8979.9,0,181.72,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,27,,,,,,,,197.08,,,,,,,,209.08,,,,,,-41.54618,10956.77972,125,8869.34375,8794.58,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0.01,0.01,0,0,0,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 20:45:00",1,SA1,0,117.15595,0,117.15595,0,0,1436.15,-4,1395.74,0,-40.42,0,,,60,,,,,,,,60,,,,,,,,51,,,,,,,,146,,,,,,,,152,,,,,,,,163,,,,,,-11.11744,2565.73805,362,1478.84473,1435.93,,19,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0.01,0.01,0,0,0,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 20:45:00",1,TAS1,0,54.2,0,54.2,0,0,1110.81,-3,1593.19,0,482.38,0,,,17.46,,,,,,,,117.46,,,,,,,,117.46,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,12.07403,2392.09534,0,1119.45801,1131.19,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:45:00",1,VIC1,0,116.2009,0,116.2009,0,0,5018.61,-23,5449.43,0,430.82,0,,,124,,,,,,,,114,,,,,,,,114,,,,,,,,168,,,,,,,,145,,,,,,,,114,,,,,,-2.11366,7456.42966,447,5103.84619,5081.88,,95,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0.01,0.01,0,0,0,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 20:50:00",1,NSW1,0,137.69,0,137.69,0,0,10682.35,-73,9667.51,25,-1039.84,0,,,83,,,,,,,,61,,,,,,,,53.16,,,,,,,,95,,,,,,,,80,,,,,,,,88,,,,,,-22.61619,12002.73564,206,10845.61035,10754.88,,57,,,,30,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 20:50:00",1,QLD1,0,145.19,0,145.19,0,0,8700.91,-39,8912.31,13,198.41,0,,,0,,,,,,,,57.42,,,,,,,,0,,,,,,,,27,,,,,,,,183.33,,,,,,,,181,,,,,,-38.459,10970.64373,125,8775.10742,8710.26,,1,,,,185,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 20:50:00",1,SA1,0,114.41117,0,114.41117,0,0,1438.31,-3,1379.87,0,-58.44,0,,,61,,,,,,,,61,,,,,,,,56,,,,,,,,166,,,,,,,,150.56,,,,,,,,161,,,,,,-0.88445,2548.87298,362,1452.47314,1438.16,,10,,,,0,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 20:50:00",1,TAS1,0,54.22,0,54.22,0,0,1107.54,-4,1589.91,0,482.38,0,,,17.46,,,,,,,,117.46,,,,,,,,117.46,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,11.56042,2383.19642,0,1116.45544,1127.91,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.15,8.15,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:50:00",1,VIC1,0,112.44475,0,112.44475,0,0,4916.66,-24,5472.15,0,555.5,0,,,68.66,,,,,,,,53,,,,,,,,53,,,,,,,,141.14,,,,,,,,145,,,,,,,,128.89,,,,,,-2.91143,7468.15484,447,5006.60742,4990.56,,92,,,,5,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 20:55:00",1,NSW1,0,137.69,0,137.69,0,0,10534.1,-79,9559.25,25,-999.85,0,,,93,,,,,,,,61,,,,,,,,58,,,,,,,,95,,,,,,,,80,,,,,,,,88,,,,,,-30.95238,11989.84965,206,10703.77637,10601.49,,57,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 20:55:00",1,QLD1,0,144.56224,0,144.56224,0,0,8564.69,-44,8794.93,27,203.24,0,,,0,,,,,,,,70,,,,,,,,18.57,,,,,,,,27,,,,,,,,193.33,,,,,,,,197.71,,,,,,-43.17459,10996.31059,125,8660.05664,8587.88,,1,,,,192,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 20:55:00",1,SA1,0,115.98145,0,115.98145,0,0,1440.64,-4,1368.28,2,-74.35,0,,,63,,,,,,,,63,,,,,,,,58,,,,,,,,168,,,,,,,,144.38,,,,,,,,163,,,,,,3.53792,2537.28359,362,1441.70166,1442.58,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 20:55:00",1,TAS1,0,54.2,0,54.2,0,0,1101.68,-4,1584.06,0,482.38,0,,,17.47,,,,,,,,117.47,,,,,,,,117.47,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,12.70909,2378.75964,0,1110.54248,1122.06,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 20:55:00",1,VIC1,0,113.40556,0,113.40556,0,0,4921.62,-27,5463.45,26,515.83,0,,,50.58,,,,,,,,33.33,,,,,,,,29,,,,,,,,127.96,,,,,,,,145,,,,,,,,114,,,,,,3.29975,7463.45424,447,5008.38721,5015.97,,92,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.08,0.08,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/14 21:00:00",1,NSW1,0,137.69,0,137.69,0,0,10428.25,-83,9466.97,25,-986.28,0,,,83,,,,,,,,61,,,,,,,,58,,,,,,,,95,,,,,,,,80,,,,,,,,88,,,,,,-10.94259,11950.90153,206,10581.75781,10492.18,,67,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 21:00:00",1,QLD1,0,144.41425,0,144.41425,0,0,8561.89,-43,8781.63,4,215.74,0,,,0,,,,,,,,64.22,,,,,,,,9.86,,,,,,,,30,,,,,,,,188.33,,,,,,,,198.91,,,,,,-44.96285,10998.66466,125,8672.04492,8561.91,,1,,,,200,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 21:00:00",1,SA1,0,116.57382,0,116.57382,0,0,1445.95,-4,1354.43,0,-91.51,0,,,63,,,,,,,,63,,,,,,,,58,,,,,,,,168,,,,,,,,150.58,,,,,,,,163,,,,,,7.73748,2568.43179,362,1443.95728,1446.03,,21,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 21:00:00",1,TAS1,0,54.47772,0,54.47772,0,0,1105.17,-4,1587.55,0,482.38,0,,,28.74,,,,,,,,117.47,,,,,,,,117.47,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,9.90821,2363.79996,0,1115.95618,1125.55,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 21:00:00",1,VIC1,0,113.56242,0,113.56242,0,0,4936.16,-23,5436.13,0,499.97,0,,,48,,,,,,,,38,,,,,,,,38,,,,,,,,139.95,,,,,,,,145,,,,,,,,114,,,,,,6.18096,7432.12926,447,5026.49658,5001.05,,71,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 21:05:00",1,NSW1,0,137.69,0,137.69,0,0,10319.9,-87,9395.31,25,-949.59,0,,,53,,,,,,,,24.84,,,,,,,,0,,,,,,,,97.56,,,,,,,,80,,,,,,,,88,,,,,,-5.74749,12005.67578,206,10473.50195,10381.43,,67,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 21:05:00",1,QLD1,0,144.0284,0,144.0284,0,0,8480.88,-45,8728.01,3,244.13,0,,,0,,,,,,,,47,,,,,,,,12.04,,,,,,,,40,,,,,,,,243.33,,,,,,,,243,,,,,,-36.13756,10672.33437,125,8562.14844,8481.97,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 21:05:00",1,SA1,0,118.58247,0,118.58247,0,0,1429.17,-5,1331.76,0,-97.41,0,,,58,,,,,,,,58,,,,,,,,49,,,,,,,,166,,,,,,,,124.11,,,,,,,,147.45,,,,,,4.16381,2567.57385,362,1431.38684,1429.3,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 21:05:00",1,TAS1,0,54.3637,0,54.3637,0,0,1083.61,-5,1565.98,0,482.38,0,,,17.17,,,,,,,,117.17,,,,,,,,117.17,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,11.95625,2367.06662,0,1095.92834,1103.98,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.2937,8.2937,0,1.14387,1.14387,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 21:05:00",1,VIC1,0,115.35614,0,115.35614,0,0,4910.21,-23,5344.31,0,434.09,0,,,114,,,,,,,,104,,,,,,,,104,,,,,,,,124,,,,,,,,115,,,,,,,,84,,,,,,4.14048,7418.30793,447,4994.14355,4968.7,,82,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/14 21:10:00",1,NSW1,0,137.69,0,137.69,0,0,10273.48,-79,9252.94,25,-1045.54,0,,,65.81,,,,,,,,33,,,,,,,,0,,,,,,,,92,,,,,,,,77,,,,,,,,85,,,,,,-16.98561,11951.6172,206,10425.68555,10331.62,,77.23,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 21:10:00",1,QLD1,0,140.98347,0,140.98347,0,0,8353.95,-56,8698.7,0,344.76,0,,,0,,,,,,,,65.39,,,,,,,,37.49,,,,,,,,32,,,,,,,,240.33,,,,,,,,240,,,,,,-29.443,10686.8096,125,8439.72266,8350.52,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 21:10:00",1,SA1,0,118.44,0,118.44,0,0,1436.25,-6,1350.28,0,-85.97,0,,,61,,,,,,,,61,,,,,,,,51,,,,,,,,157.88,,,,,,,,88,,,,,,,,107.46,,,,,,-0.02224,2572.23846,362,1442.44812,1436.28,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 21:10:00",1,TAS1,0,54.22,0,54.22,0,0,1079.16,-5,1561.53,0,482.38,0,,,17.72,,,,,,,,117.72,,,,,,,,117.72,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,2.25482,2372.83733,0,1099.15381,1099.53,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.15,8.15,0,0.605,0.605,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 21:10:00",1,VIC1,0,115.41407,0,115.41407,0,0,4882.92,-25,5294.58,0,411.66,0,,,87,,,,,,,,77,,,,,,,,77,,,,,,,,132,,,,,,,,151.13,,,,,,,,124,,,,,,3.19394,7406.58279,447,4957.73584,4940.08,,71.77,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 21:15:00",1,NSW1,0,137.75683,0,137.75683,0,0,10172.64,-78,9171.9,25,-1025.74,0,,,83.86,,,,,,,,46.92,,,,,,,,9.52,,,,,,,,92,,,,,,,,77,,,,,,,,85,,,,,,-28.22374,11951.10422,206,10336.25879,10232.2,,47,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:15:00",1,QLD1,0,141.83843,0,141.83843,0,0,8379.02,-55,8691.19,0,312.17,0,,,0,,,,,,,,67,,,,,,,,47,,,,,,,,31,,,,,,,,240.33,,,,,,,,240,,,,,,-11.18158,10669.61877,125,8441.7998,8375.56,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:15:00",1,SA1,0,118.44,0,118.44,0,0,1410.69,-5,1323.62,0,-87.08,0,,,47,,,,,,,,50,,,,,,,,38,,,,,,,,163.58,,,,,,,,88.31,,,,,,,,111.65,,,,,,-0.12676,2577.44267,362,1415.89197,1410.73,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:15:00",1,TAS1,0,54.30839,0,54.30839,0,0,1075.54,-5,1557.91,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,-0.72257,2367.77422,0,1098.25134,1095.91,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.23839,8.23839,0,0.93645,0.93645,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 21:15:00",1,VIC1,0,115.38038,0,115.38038,0,0,4849.64,-32,5278.29,0,428.65,0,,,87,,,,,,,,77,,,,,,,,72,,,,,,,,131,,,,,,,,155,,,,,,,,124,,,,,,5.05032,7390.28667,447,4932.17871,4908.49,,92,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:20:00",1,NSW1,0,137.69,0,137.69,0,0,10091.6,-74,9050.74,25,-1065.86,0,,,80,,,,,,,,59.06,,,,,,,,0,,,,,,,,92,,,,,,,,77,,,,,,,,85,,,,,,-34.69995,11936.90494,206,10260.18066,10159.41,,47,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:20:00",1,QLD1,0,142.55529,0,142.55529,0,0,8379.44,-52,8653.54,0,274.1,0,,,0,,,,,,,,47,,,,,,,,47,,,,,,,,30,,,,,,,,240.7,,,,,,,,240,,,,,,-1.23404,10648.07038,125,8428.97949,8376.22,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:20:00",1,SA1,0,116.04224,0,116.04224,0,0,1385.7,-7,1300.84,0,-84.86,0,,,58,,,,,,,,58,,,,,,,,49,,,,,,,,162.98,,,,,,,,87,,,,,,,,110.7,,,,,,-8.66368,2569.83772,362,1401.4801,1385.73,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:20:00",1,TAS1,0,54.47772,0,54.47772,0,0,1092.49,-5,1574.86,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,-1.10986,2352.89342,0,1113.69067,1112.86,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,4.37,4.37,0 +D,DREGION,,2,"2023/12/14 21:20:00",1,VIC1,0,113.43438,0,113.43438,0,0,4767.86,-33,5290.1,0,522.24,0,,,86,,,,,,,,76,,,,,,,,76,,,,,,,,131,,,,,,,,155,,,,,,,,124,,,,,,4.55605,7389.09933,447,4854.36426,4835.86,,92,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:25:00",1,NSW1,0,126.77369,0,126.77369,0,0,9993.17,-78,8931.39,25,-1086.78,0,,,81.1,,,,,,,,49.67,,,,,,,,26,,,,,,,,92,,,,,,,,77,,,,,,,,86,,,,,,-41.17618,11957.80814,206,10177.1416,10067.03,,63.23,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 21:25:00",1,QLD1,0,131.75,0,131.75,0,0,8262.33,-49,8505.04,0,242.7,0,,,0,,,,,,,,67,,,,,,,,47,,,,,,,,31,,,,,,,,240.33,,,,,,,,240,,,,,,3.75032,10638.20072,125,8304.3623,8259.7,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 21:25:00",1,SA1,0,106.63695,0,106.63695,0,0,1385.34,-7,1289.23,0,-96.11,0,,,48,,,,,,,,47,,,,,,,,38,,,,,,,,159.93,,,,,,,,88.17,,,,,,,,110.5,,,,,,-12.15227,2613.23129,362,1406.17566,1385.47,,22,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 21:25:00",1,TAS1,0,54.47772,0,54.47772,0,0,1090.93,-3,1573.31,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,5.61052,2353.92223,0,1105.00989,1111.31,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 21:25:00",1,VIC1,0,103.70884,0,103.70884,0,0,4738.27,-33,5337,0,598.73,0,,,87,,,,,,,,77,,,,,,,,62,,,,,,,,133,,,,,,,,155,,,,,,,,124,,,,,,2.06579,7444.004,447,4833.18066,4812.46,,73.77,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 21:30:00",1,NSW1,0,119.90818,0,119.90818,0,0,9903.82,-72,8908.08,25,-1020.73,0,,,80,,,,,,,,58,,,,,,,,0,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-38.72799,11980.11227,206,10083.34375,9976.67,,47,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0,0,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:30:00",1,QLD1,0,125.24406,0,125.24406,0,0,8233.73,-46,8428.19,0,194.46,0,,,0,,,,,,,,47,,,,,,,,47,,,,,,,,28,,,,,,,,240.33,,,,,,,,240,,,,,,8.39629,10622.27546,125,8268.53027,8231.67,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0,0,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:30:00",1,SA1,0,101.44,0,101.44,0,0,1378.94,-7,1258.14,0,-120.8,0,,,61,,,,,,,,61,,,,,,,,51,,,,,,,,158.4,,,,,,,,89,,,,,,,,109.28,,,,,,-10.63397,2612.363,362,1396.99487,1379.3,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0,0,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:30:00",1,TAS1,0,54.47772,0,54.47772,0,0,1089.41,-3,1571.79,0,482.38,0,,,17.65,,,,,,,,117.65,,,,,,,,117.65,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,5.68207,2364.17857,0,1104.40173,1109.79,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 21:30:00",1,VIC1,0,98.15809,0,98.15809,0,0,4777.02,-31,5380.64,0,603.62,0,,,87,,,,,,,,75.15,,,,,,,,77,,,,,,,,136,,,,,,,,152.95,,,,,,,,124,,,,,,2.73062,7495.64281,447,4873.56299,4849.42,,92,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0,0,0,0,0,0,3.99,3.99,0 +D,DREGION,,2,"2023/12/14 21:35:00",1,NSW1,0,126.45341,0,126.45341,0,0,9810.91,-70,8693.03,25,-1142.88,0,,,61.03,,,,,,,,49.83,,,,,,,,0,,,,,,,,94,,,,,,,,79,,,,,,,,77,,,,,,-33.29122,12014.76135,205,9982.2627,9895.74,,50,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,1,1,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 21:35:00",1,QLD1,0,131.75,0,131.75,0,0,8118.32,-47,8322.05,0,203.73,0,,,0,,,,,,,,47,,,,,,,,47,,,,,,,,29,,,,,,,,232.33,,,,,,,,232,,,,,,1.49051,10577.50582,125,8160.80518,8116.02,,0,,,,184,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,1,1,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 21:35:00",1,SA1,0,102.86575,0,102.86575,0,0,1352.13,-7,1281.24,0,-70.89,0,,,47,,,,,,,,47,,,,,,,,36,,,,,,,,164,,,,,,,,94.9,,,,,,,,128.23,,,,,,-14.78509,2606.24319,362,1374.54858,1352.06,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,1,1,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 21:35:00",1,TAS1,0,54.47772,0,54.47772,0,0,1078.38,-3,1560.75,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,2.35894,2364.15376,0,1096.3208,1098.75,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 21:35:00",1,VIC1,0,101.06347,0,101.06347,0,0,4749.53,-26,5440.98,0,691.45,0,,,114,,,,,,,,104,,,,,,,,94,,,,,,,,138.43,,,,,,,,155,,,,,,,,124,,,,,,1.66193,7457.07962,447,4841.82324,4835.48,,90,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,1,1,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 21:40:00",1,NSW1,0,126.07673,0,126.07673,0,0,9747.13,-63,8648.89,25,-1123.24,0,,,58.65,,,,,,,,39.99,,,,,,,,0,,,,,,,,94,,,,,,,,79,,,,,,,,78,,,,,,-27.05751,11990.07647,206,9925.8252,9841.4,,50,,,,22,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,1,1,0,0,0,0,0,0,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:40:00",1,QLD1,0,133.01,0,133.01,0,0,8122.83,-51,8250.71,0,127.87,0,,,0,,,,,,,,45,,,,,,,,20.43,,,,,,,,29,,,,,,,,256.28,,,,,,,,232,,,,,,-13.80877,10552.19064,125,8185.53711,8121.87,,21,,,,193,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,1,1,0,0,0,0,0,0,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:40:00",1,SA1,0,102.58166,0,102.58166,0,0,1357.92,-7,1270.63,0,-87.29,0,,,51,,,,,,,,61,,,,,,,,51,,,,,,,,166,,,,,,,,89,,,,,,,,146.28,,,,,,-3.79321,2595.62686,362,1368.90686,1357.97,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,1,1,0,0,0,0,0,0,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:40:00",1,TAS1,0,54.47772,0,54.47772,0,0,1067.16,-3,1549.54,0,482.38,0,,,19.29,,,,,,,,119.28,,,,,,,,119.28,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,0.32045,2351.49177,0,1087.40991,1087.54,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 21:40:00",1,VIC1,0,99.9317,0,99.9317,0,0,4651.68,-26,5435.41,0,783.73,0,,,110,,,,,,,,100,,,,,,,,100,,,,,,,,138.95,,,,,,,,140,,,,,,,,108,,,,,,-7.02491,7443.41081,447,4773.70459,4746.4,,69,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,1,1,0,0,0,0,0,0,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:45:00",1,NSW1,0,137.69,0,137.69,0,0,9640.43,-61,8646.12,25,-1019.31,0,,,74.1,,,,,,,,66,,,,,,,,59.33,,,,,,,,94,,,,,,,,79,,,,,,,,78,,,,,,-26.78456,12004.97497,206,9812.0332,9714.86,,50,,,,11,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:45:00",1,QLD1,0,143.12199,0,143.12199,0,0,8032.66,-48,8214.51,0,181.85,0,,,0,,,,,,,,143.04,,,,,,,,85,,,,,,,,25,,,,,,,,240.33,,,,,,,,240,,,,,,-27.50229,10515.47882,125,8106.59619,8030.77,,6,,,,206,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:45:00",1,SA1,0,115.6813,0,115.6813,0,0,1348.29,-7,1261.04,0,-87.25,0,,,49,,,,,,,,51,,,,,,,,45,,,,,,,,81,,,,,,,,89,,,,,,,,78,,,,,,-2.94774,2586.03667,362,1358.48975,1348.34,,20,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:45:00",1,TAS1,0,103.74096,0,103.74096,0,0,1067.27,-3,1386.36,0,319.09,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,42.02,,,,,,,,5.33,,,,,,,,46.96,,,,,,-0.85374,2358.46081,0,1088.5813,1076.07,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 21:45:00",1,VIC1,0,112.69295,0,112.69295,0,0,4683.61,-26,5415.13,0,731.52,0,,,115,,,,,,,,105,,,,,,,,105,,,,,,,,136,,,,,,,,153.29,,,,,,,,124,,,,,,-14.84412,7444.13154,447,4806.92041,4753.12,,84,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:50:00",1,NSW1,0,137.01732,0,137.01732,0,0,9556.36,-60,8710.68,25,-870.68,0,,,76.48,,,,,,,,84.17,,,,,,,,88.37,,,,,,,,94,,,,,,,,79,,,,,,,,78,,,,,,-17.8889,11992.53679,206,9709.95117,9613.13,,50,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:50:00",1,QLD1,0,141.23361,0,141.23361,0,0,7960.34,-49,8172.93,0,212.59,0,,,0,,,,,,,,115,,,,,,,,45,,,,,,,,25,,,,,,,,240.33,,,,,,,,240,,,,,,-27.21117,10524.75676,125,8033.99512,7958.1,,6,,,,206,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:50:00",1,SA1,0,118.44,0,118.44,0,0,1348.73,-6,1268.15,0,-80.58,0,,,49,,,,,,,,62,,,,,,,,56,,,,,,,,79,,,,,,,,87,,,,,,,,76,,,,,,-1.77417,2588.03267,362,1357.49438,1348.73,,20,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:50:00",1,TAS1,0,105.0596,0,105.0596,0,0,1040.02,-3,1398,0,357.97,0,,,0,,,,,,,,1.9,,,,,,,,1.9,,,,,,,,57.97,,,,,,,,14.22,,,,,,,,57.56,,,,,,-8.61005,2370.39671,0,1059.54846,1051.17,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:50:00",1,VIC1,0,115.7569,0,115.7569,0,0,4647.64,-22,5119.23,0,471.6,0,,,114,,,,,,,,104,,,,,,,,104,,,,,,,,136,,,,,,,,155,,,,,,,,124,,,,,,-13.4607,7454.23341,447,4750.45264,4697.88,,84,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 21:55:00",1,NSW1,0,123.52845,0,123.52845,0,0,9451.81,-66,8738.11,25,-738.7,0,,,115,,,,,,,,93,,,,,,,,90,,,,,,,,94,,,,,,,,79,,,,,,,,78,,,,,,-25.65453,11982.11024,206,9592.83203,9503.96,,42,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,1,1,0 +D,DREGION,,2,"2023/12/14 21:55:00",1,QLD1,0,128.63884,0,128.63884,0,0,7861.19,-49,8016.79,0,155.6,0,,,0,,,,,,,,167.44,,,,,,,,103.18,,,,,,,,23,,,,,,,,238.33,,,,,,,,238,,,,,,-35.75162,10547.6666,125,7943.23096,7859.85,,0,,,,206,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,1,1,0 +D,DREGION,,2,"2023/12/14 21:55:00",1,SA1,0,108.88922,0,108.88922,0,0,1350.97,-6,1262.1,0,-88.87,0,,,65,,,,,,,,64,,,,,,,,58,,,,,,,,81,,,,,,,,89,,,,,,,,78,,,,,,1.58225,2587.09886,362,1355.65723,1351.04,,10,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,1,1,0 +D,DREGION,,2,"2023/12/14 21:55:00",1,TAS1,0,98.15,0,98.15,0,0,1047.53,-4,1336.47,0,288.94,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64.73,,,,,,,,21.74,,,,,,,,65.07,,,,,,-6.06594,2395.44722,0,1066.27002,1054.68,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,3.53,3.53,0 +D,DREGION,,2,"2023/12/14 21:55:00",1,VIC1,0,106.07633,0,106.07633,0,0,4638.79,-21,5096.46,0,457.67,0,,,60.1,,,,,,,,44,,,,,,,,44,,,,,,,,136,,,,,,,,155,,,,,,,,124,,,,,,-10.4537,7428.46189,447,4713.03711,4680.41,,108,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,1,1,0 +D,DREGION,,2,"2023/12/14 22:00:00",1,NSW1,0,114.20773,0,114.20773,0,0,9396.3,-64,8713.11,25,-708.19,0,,,93,,,,,,,,98,,,,,,,,89.47,,,,,,,,94,,,,,,,,79,,,,,,,,78,,,,,,-33.42015,11957.10839,206,9553.51172,9449.05,,37,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 22:00:00",1,QLD1,0,119.55,0,119.55,0,0,7797.33,-46,7929.28,0,131.95,0,,,0,,,,,,,,163.83,,,,,,,,105,,,,,,,,22,,,,,,,,236.33,,,,,,,,239,,,,,,-41.77187,10564.02821,125,7883.62256,7796.22,,0,,,,214,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 22:00:00",1,SA1,0,100.13941,0,100.13941,0,0,1314.93,-6,1242.7,0,-72.24,0,,,52,,,,,,,,64,,,,,,,,58,,,,,,,,81,,,,,,,,87,,,,,,,,78,,,,,,1.65672,2601.69653,362,1319.42712,1314.87,,10,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 22:00:00",1,TAS1,0,93.24142,0,93.24142,0,0,1006.53,-4,1147.36,0,140.84,0,,,11.59,,,,,,,,0,,,,,,,,0,,,,,,,,70.73,,,,,,,,54.63,,,,,,,,78.96,,,,,,-11.31552,2395.56434,0,1027.70349,1008,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,5.5,5.5,0 +D,DREGION,,2,"2023/12/14 22:00:00",1,VIC1,0,97.84874,0,97.84874,0,0,4536.95,-22,5110.75,0,573.8,0,,,84,,,,,,,,44,,,,,,,,44,,,,,,,,121,,,,,,,,125,,,,,,,,108,,,,,,-11.36483,7441.75319,447,4618.50146,4575.06,,113,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 22:05:00",1,NSW1,0,114.10575,0,114.10575,0,0,9322.77,-81,8637.27,0,-685.5,0,,,106.65,,,,,,,,93,,,,,,,,90,,,,,,,,94,,,,,,,,71,,,,,,,,88,,,,,,-30.50044,11939.61679,206,9487.48633,9350.82,,50,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 22:05:00",1,QLD1,0,119.19478,0,119.19478,0,0,7706.22,-61,7818.11,0,111.89,0,,,0,,,,,,,,80,,,,,,,,70,,,,,,,,22,,,,,,,,233.33,,,,,,,,239,,,,,,-43.13053,10411.17673,125,7808.64941,7705.27,,35,,,,179,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 22:05:00",1,SA1,0,100.00214,0,100.00214,0,0,1293.48,-4,1222.21,0,-71.26,0,,,59,,,,,,,,63,,,,,,,,56,,,,,,,,79,,,,,,,,85,,,,,,,,76,,,,,,-5.47086,2610.21447,362,1302.99683,1293.41,,20,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 22:05:00",1,TAS1,0,95.18,0,95.18,0,0,990.69,-10,1116.57,0,125.88,0,,,0,,,,,,,,22.75,,,,,,,,0,,,,,,,,99.29,,,,,,,,69.25,,,,,,,,69.25,,,,,,-15.63649,2368.05793,0,1016.77533,991.82,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.38,0.38,0,7.11,7.11,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,5.5,5.5,0 +D,DREGION,,2,"2023/12/14 22:05:00",1,VIC1,0,97.70398,0,97.70398,0,0,4480.94,-54,5065.85,0,584.91,0,,,76,,,,,,,,113,,,,,,,,81.69,,,,,,,,134,,,,,,,,128.8,,,,,,,,115.14,,,,,,-10.20905,7490.57464,447,4582.20459,4518.69,,55,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 22:10:00",1,NSW1,0,134.85177,0,134.85177,0,0,9276.06,-57,8601.05,0,-675.01,0,,,95,,,,,,,,93,,,,,,,,90,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-36.76635,11928.05112,206,9401.82324,9325.12,,56,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.08,0.08,0,0.38,0.38,0,29.91,29.91,0 +D,DREGION,,2,"2023/12/14 22:10:00",1,QLD1,0,145.17,0,145.17,0,0,7650.19,-51,7592.88,0,-57.31,0,,,0,,,,,,,,142,,,,,,,,87.2,,,,,,,,22,,,,,,,,233.33,,,,,,,,239,,,,,,-32.93631,10329.76379,125,7732.87012,7653.23,,5,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.08,0.08,0,0.38,0.38,0,29.91,29.91,0 +D,DREGION,,2,"2023/12/14 22:10:00",1,SA1,0,112.83257,0,112.83257,0,0,1282.99,-9,1258.04,0,-24.95,0,,,53,,,,,,,,66,,,,,,,,58,,,,,,,,81,,,,,,,,89,,,,,,,,92.84,,,,,,-12.59843,2628.03961,362,1304.59314,1282.73,,51,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.08,0.08,0,0.38,0.38,0,29.91,29.91,0 +D,DREGION,,2,"2023/12/14 22:10:00",1,TAS1,0,98.15,0,98.15,0,0,972.92,-6,1270.85,0,297.92,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,99,,,,,,,,33.26,,,,,,,,45.76,,,,,,-15.85461,2363.70027,0,995.27081,980.55,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.01,0.01,0,0.08,0.08,0,0.38,0.38,0,3.53,3.53,0 +D,DREGION,,2,"2023/12/14 22:10:00",1,VIC1,0,111.94103,0,111.94103,0,0,4468.38,-33,5045.63,0,577.25,0,,,92.47,,,,,,,,70.07,,,,,,,,62,,,,,,,,134,,,,,,,,155,,,,,,,,124,,,,,,-13.6736,7499.58616,447,4552.49951,4526.81,,48,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.08,0.08,0,0.38,0.38,0,29.91,29.91,0 +D,DREGION,,2,"2023/12/14 22:15:00",1,NSW1,0,169.64362,0,169.64362,0,0,9265.56,-53,8647.03,0,-618.53,0,,,94,,,,,,,,92,,,,,,,,24.75,,,,,,,,110.04,,,,,,,,79,,,,,,,,88,,,,,,0,11919.50026,206,9359.11523,9332.75,,50,,,,21.8,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0.2,0.2,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 22:15:00",1,QLD1,0,188.32863,0,188.32863,0,0,7659.64,-28,7455,0,-204.64,0,,,0,,,,,,,,50.08,,,,,,,,47,,,,,,,,29,,,,,,,,229.33,,,,,,,,239,,,,,,0,10257.9793,125,7688.74268,7667.64,,25,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0.2,0.2,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 22:15:00",1,SA1,0,138.03499,0,138.03499,0,0,1292.6,-10,1278.73,0,-13.87,0,,,64,,,,,,,,60,,,,,,,,58,,,,,,,,143,,,,,,,,114.86,,,,,,,,127.2,,,,,,0,2618.7348,362,1302.54663,1292.32,,22,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0.2,0.2,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 22:15:00",1,TAS1,0,115.18,0,115.18,0,0,994.47,-2,1461.35,0,466.89,0,,,0,,,,,,,,99.43,,,,,,,,99.43,,,,,,,,0,,,,,,,,14.2,,,,,,,,14.2,,,,,,0,2352.38328,0,1001.87677,1013.55,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0,0,0,7.28193,7.28193,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 22:15:00",1,VIC1,0,137.66,0,137.66,0,0,4537.59,-5,5075.73,0,538.15,0,,,80.17,,,,,,,,67,,,,,,,,67,,,,,,,,170,,,,,,,,155,,,,,,,,124,,,,,,0,7502.61805,447,4593.31689,4611.59,,63,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0.2,0.2,0,9.88,9.88,0 +D,DREGION,,2,"2023/12/14 22:20:00",1,NSW1,0,156.54153,0,156.54153,0,0,9147.94,-53,8549.51,0,-598.42,0,,,88,,,,,,,,93,,,,,,,,73.94,,,,,,,,93,,,,,,,,78,,,,,,,,87,,,,,,-20.90044,11860.82437,206,9278.89746,9211.72,,50,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 22:20:00",1,QLD1,0,172.53519,0,172.53519,0,0,7601.37,-36,7398.53,0,-202.84,0,,,0,,,,,,,,90.16,,,,,,,,47,,,,,,,,24,,,,,,,,227.33,,,,,,,,240,,,,,,-40.98595,10208.54565,125,7684.26855,7608.92,,5,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 22:20:00",1,SA1,0,129.79274,0,129.79274,0,0,1286.09,-9,1243.85,0,-42.23,0,,,50,,,,,,,,62,,,,,,,,56,,,,,,,,149.93,,,,,,,,87,,,,,,,,92.56,,,,,,-7.40546,2594.85261,362,1302.62097,1285.87,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 22:20:00",1,TAS1,0,115.18,0,115.18,0,0,1033.57,-1,1438.38,0,404.8,0,,,0,,,,,,,,46.06,,,,,,,,46.06,,,,,,,,21.51,,,,,,,,39.23,,,,,,,,43,,,,,,5.01178,2354.08214,0,1043.47754,1047.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.38,0.38,0,0.38,0.38,0,0.08,0.08,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 22:20:00",1,VIC1,0,128.12017,0,128.12017,0,0,4498.4,-7,5092.11,0,593.71,0,,,98.1,,,,,,,,76,,,,,,,,76,,,,,,,,136,,,,,,,,155,,,,,,,,124,,,,,,-23.89773,7540.10711,447,4594.13574,4567.98,,85,,,,7,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,3.98,3.98,0 +D,DREGION,,2,"2023/12/14 22:25:00",1,NSW1,0,129.29672,0,129.29672,0,0,9093.97,-31,8492.95,0,-601.02,0,,,88,,,,,,,,93,,,,,,,,76.81,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-26.51686,11844.30786,206,9209.78125,9148.6,,50,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 22:25:00",1,QLD1,0,141.32488,0,141.32488,0,0,7491.8,-39,7339.06,0,-152.74,0,,,0,,,,,,,,137.21,,,,,,,,87,,,,,,,,28,,,,,,,,227.33,,,,,,,,244,,,,,,-37.84407,10211.92329,125,7574.09131,7497.03,,5,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 22:25:00",1,SA1,0,110.8539,0,110.8539,0,0,1296.74,-6,1164.1,0,-132.64,0,,,52,,,,,,,,64,,,,,,,,58,,,,,,,,83.7,,,,,,,,90,,,,,,,,88.68,,,,,,-6.16051,2585.09987,362,1309.30029,1297.26,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 22:25:00",1,TAS1,0,98.19,0,98.19,0,0,1055.78,-4,1373.54,0,317.76,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,85.02,,,,,,,,36.34,,,,,,,,43,,,,,,12.4164,2356.85828,0,1057.84314,1064.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,8.12,8.12,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 22:25:00",1,VIC1,0,106.66354,0,106.66354,0,0,4410.32,-21,5110.9,0,700.58,0,,,99.25,,,,,,,,77,,,,,,,,77,,,,,,,,134,,,,,,,,153,,,,,,,,122,,,,,,-19.32878,7556.90117,447,4517.43066,4473.16,,85,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 22:30:00",1,NSW1,0,167.34301,0,167.34301,0,0,9081.18,-53,8446.81,0,-634.37,0,,,68,,,,,,,,64.33,,,,,,,,22.63,,,,,,,,108.91,,,,,,,,79,,,,,,,,88,,,,,,0,11833.80678,206,9180.26855,9142.09,,50,,,,25,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,6.16905,6.16905,0,0,0,0,0.01,0.01,0,0.38,0.38,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:30:00",1,QLD1,0,182.69397,0,182.69397,0,0,7482.92,-63,7310.09,0,-172.83,0,,,0,,,,,,,,67,,,,,,,,47,,,,,,,,33,,,,,,,,223.33,,,,,,,,245,,,,,,0,10121.86511,125,7549.03027,7488.8,,27,,,,186,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,6.16905,6.16905,0,0,0,0,0.01,0.01,0,0.38,0.38,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:30:00",1,SA1,0,140.99,0,140.99,0,0,1290.97,-1,1193.69,0,-97.28,0,,,52,,,,,,,,63,,,,,,,,51,,,,,,,,143,,,,,,,,134.23,,,,,,,,134.56,,,,,,0,2580.21238,362,1292.32422,1291.11,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,6.16905,6.16905,0,0,0,0,0.01,0.01,0,0.38,0.38,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:30:00",1,TAS1,0,115.2087,0,115.2087,0,0,1042.02,-4,1522.21,0,480.19,0,,,33.42,,,,,,,,115.75,,,,,,,,115.75,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,4.66316,2365.39888,0,1049.81104,1062.21,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.45561,7.45561,0,0.56261,0.56261,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 22:30:00",1,VIC1,0,137.05833,0,137.05833,0,0,4529.36,-11,5112.62,0,583.26,0,,,87,,,,,,,,62,,,,,,,,62,,,,,,,,165,,,,,,,,153,,,,,,,,122,,,,,,0,7559.61777,447,4595.91846,4601.2,,63,,,,7,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,6.16905,6.16905,0,0,0,0,0.01,0.01,0,0.38,0.38,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:35:00",1,NSW1,0,161.00635,0,161.00635,0,0,8920.11,-63,8201.82,0,-718.29,0,,,80,,,,,,,,42.29,,,,,,,,30,,,,,,,,66,,,,,,,,51,,,,,,,,60,,,,,,-37.7497,11824.59028,206,9075.89648,8995.07,,42.55,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:35:00",1,QLD1,0,176.71993,0,176.71993,0,0,7453.81,-23,7246.84,0,-206.97,0,,,0,,,,,,,,107,,,,,,,,51.29,,,,,,,,34.27,,,,,,,,220.33,,,,,,,,244,,,,,,-38.31557,10106.52553,125,7520.3623,7460.63,,10.45,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:35:00",1,SA1,0,133.98513,0,133.98513,0,0,1287.87,-3,1160.55,0,-127.32,0,,,59,,,,,,,,48,,,,,,,,43,,,,,,,,156,,,,,,,,129.92,,,,,,,,128.25,,,,,,-3.81503,2559.55108,362,1295.50208,1288.33,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:35:00",1,TAS1,0,115.18,0,115.18,0,0,1048.72,-1,1480.5,0,431.77,0,,,0,,,,,,,,71.22,,,,,,,,71.22,,,,,,,,3,,,,,,,,43,,,,,,,,43,,,,,,11.26015,2362.72621,0,1056.02795,1065.03,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0,0,0,8.11,8.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 22:35:00",1,VIC1,0,128.93128,0,128.93128,0,0,4494.82,6,5300.27,0,805.46,0,,,114,,,,,,,,104,,,,,,,,104,,,,,,,,143,,,,,,,,144,,,,,,,,113,,,,,,-15.4476,7542.21378,447,4570.89697,4580.92,,87,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:40:00",1,NSW1,0,176.54995,0,176.54995,0,0,8902.89,-45,8046.24,0,-856.65,0,,,80,,,,,,,,58.91,,,,,,,,0,,,,,,,,104.32,,,,,,,,51.69,,,,,,,,60,,,,,,-36.17074,11888.24474,206,9061.96094,8997.7,,50,,,,18.33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:40:00",1,QLD1,0,195.01,0,195.01,0,0,7449.5,-9,7230.26,0,-219.24,0,,,0,,,,,,,,45,,,,,,,,45,,,,,,,,35,,,,,,,,238.33,,,,,,,,259.03,,,,,,-42.33225,10100.24382,125,7507.03857,7456.81,,47,,,,133.67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:40:00",1,SA1,0,140.99,0,140.99,0,0,1276.64,-3,1190.68,0,-85.96,0,,,61,,,,,,,,61,,,,,,,,51,,,,,,,,164,,,,,,,,147,,,,,,,,159,,,,,,0,2553.36206,362,1280.11584,1276.68,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:40:00",1,TAS1,0,115.22,0,115.22,0,0,1043.32,-1,1523.51,0,480.19,0,,,15.87,,,,,,,,115.87,,,,,,,,115.87,,,,,,,,0,,,,,,,,2,,,,,,,,3,,,,,,1.19048,2357.22665,0,1057.08643,1063.51,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.15,8.15,0,0.58588,0.58588,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/14 22:40:00",1,VIC1,0,137.66,0,137.66,0,0,4450.88,-12,5363.59,0,912.71,0,,,100,,,,,,,,90,,,,,,,,90,,,,,,,,146,,,,,,,,153,,,,,,,,112,,,,,,-24.19583,7528.69362,447,4578.30322,4559.59,,43,,,,66,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:45:00",1,NSW1,0,166.53653,0,166.53653,0,0,8699.96,-72,8028.1,0,-671.86,0,,,58.27,,,,,,,,58.86,,,,,,,,7.46,,,,,,,,107.01,,,,,,,,56.27,,,,,,,,63.6,,,,,,-41.1979,11865.10014,206,8903.19727,8787.32,,40,,,,6,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,0.53,0.53,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 22:45:00",1,QLD1,0,185.92237,0,185.92237,0,0,7439.09,-3,7138.9,0,-300.18,0,,,0,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,214.33,,,,,,,,245,,,,,,-44.31765,10090.10337,125,7493.80225,7449.47,,16,,,,179,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,0.53,0.53,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 22:45:00",1,SA1,0,136.81331,0,136.81331,0,0,1267.28,-5,1146.38,0,-120.89,0,,,50,,,,,,,,48,,,,,,,,45,,,,,,,,158,,,,,,,,161,,,,,,,,154,,,,,,3.44165,2545.38359,362,1269.01172,1267.66,,20,,,,0,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,0.53,0.53,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 22:45:00",1,TAS1,0,115.22,0,115.22,0,0,1029.37,-3,1507.63,0,478.25,0,,,13.69,,,,,,,,113.68,,,,,,,,113.68,,,,,,,,0,,,,,,,,3.77,,,,,,,,3.77,,,,,,5.95238,2354.54862,0,1044.51746,1049.4,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0,0,0,8.15,8.15,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 22:45:00",1,VIC1,0,132.31275,0,132.31275,0,0,4422.01,-13,5249.58,0,827.57,0,,,115,,,,,,,,105,,,,,,,,90,,,,,,,,144,,,,,,,,153,,,,,,,,122,,,,,,-31.0234,7488.58113,447,4565.95947,4516.74,,84,,,,34,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,0.53,0.53,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 22:50:00",1,NSW1,0,131.19651,0,131.19651,0,0,8682.58,-60,8025.75,0,-656.83,0,,,80,,,,,,,,93,,,,,,,,77.55,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-31.04394,11924.75432,206,8853.41113,8754.62,,40,,,,14,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 22:50:00",1,QLD1,0,144.30567,0,144.30567,0,0,7297.86,-17,7065.01,0,-232.85,0,,,0,,,,,,,,113.85,,,,,,,,65,,,,,,,,28,,,,,,,,209.33,,,,,,,,245,,,,,,-46.30304,10097.28519,125,7367.42432,7305.11,,16,,,,179,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 22:50:00",1,SA1,0,112.25678,0,112.25678,0,0,1268.02,-7,1066.54,0,-201.48,0,,,59,,,,,,,,63,,,,,,,,56,,,,,,,,75,,,,,,,,84,,,,,,,,72,,,,,,-3.75699,2531.29794,362,1279.73572,1269.65,,20,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 22:50:00",1,TAS1,0,98.18,0,98.18,0,0,1026.67,-3,1302.21,0,275.54,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,69.89,,,,,,,,71.12,,,,,,,,69.46,,,,,,0.50622,2341.82023,0,1044.80371,1033.14,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 22:50:00",1,VIC1,0,105.83679,0,105.83679,0,0,4298.51,-43,5282.25,0,983.74,0,,,114,,,,,,,,104,,,,,,,,104,,,,,,,,118,,,,,,,,143,,,,,,,,112,,,,,,-27.68804,7510.25425,447,4460.68213,4379.25,,84,,,,34,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/14 22:55:00",1,NSW1,0,157.90454,0,157.90454,0,0,8681.8,-48,8078.72,0,-603.09,0,,,80,,,,,,,,83.52,,,,,,,,83.57,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,0,11986.82211,206,8795.08398,8758.94,,50,,,,6,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:55:00",1,QLD1,0,175.80712,0,175.80712,0,0,7348.49,-35,7052.63,0,-295.86,0,,,0,,,,,,,,105,,,,,,,,45,,,,,,,,28,,,,,,,,206.33,,,,,,,,245,,,,,,0,10084.95847,125,7389.57617,7358.06,,35,,,,179,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:55:00",1,SA1,0,133.84699,0,133.84699,0,0,1266.67,-3,1094.49,0,-172.18,0,,,60,,,,,,,,64,,,,,,,,58,,,,,,,,125.43,,,,,,,,88,,,,,,,,78,,,,,,0,2510.49104,362,1271.18799,1267.77,,21,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 22:55:00",1,TAS1,0,115.18,0,115.18,0,0,1011.08,-5,1392.07,0,380.99,0,,,0,,,,,,,,24.02,,,,,,,,24.02,,,,,,,,43.67,,,,,,,,77.77,,,,,,,,71.1,,,,,,-7.31625,2345.92524,0,1029.37415,1023.74,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.28193,7.28193,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 22:55:00",1,VIC1,0,127.48206,0,127.48206,0,0,4414.09,-19,5288.27,0,874.19,0,,,105,,,,,,,,95,,,,,,,,95,,,,,,,,116,,,,,,,,145,,,,,,,,114,,,,,,0,7509.27196,447,4506.99365,4497.66,,54,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0 +D,DREGION,,2,"2023/12/14 23:00:00",1,NSW1,0,124.658,0,124.658,0,0,8622.72,-61,8079.35,0,-543.38,0,,,94,,,,,,,,99,,,,,,,,96,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,2.74405,11969.34585,206,8746.93164,8671,,35,,,,6,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.17,0.17,0,0.2,0.2,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 23:00:00",1,QLD1,0,135.10911,0,135.10911,0,0,7229.48,-31,7065.42,0,-164.05,0,,,0,,,,,,,,115,,,,,,,,95,,,,,,,,28,,,,,,,,203.33,,,,,,,,245,,,,,,-35.26125,10107.85409,125,7301.43994,7234.08,,0,,,,179,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.17,0.17,0,0.2,0.2,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 23:00:00",1,SA1,0,110.71548,0,110.71548,0,0,1255.71,-4,1030.95,0,-224.76,0,,,53,,,,,,,,66,,,,,,,,58,,,,,,,,81,,,,,,,,90,,,,,,,,78,,,,,,-0.55723,2496.95258,362,1262.90063,1257.82,,10,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.17,0.17,0,0.2,0.2,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 23:00:00",1,TAS1,0,98.12,0,98.12,0,0,1021.7,-3,1198.43,0,176.73,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,78.25,,,,,,,,72.59,,,,,,,,64.92,,,,,,1.52795,2350.0748,0,1032.94373,1024.18,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.03,0.03,0,0.17,0.17,0,0.2,0.2,0,3.56,3.56,0 +D,DREGION,,2,"2023/12/14 23:00:00",1,VIC1,0,103.86953,0,103.86953,0,0,4410.44,16,5279.94,0,869.5,0,,,89.72,,,,,,,,91.39,,,,,,,,57.54,,,,,,,,119,,,,,,,,145,,,,,,,,114,,,,,,-24.22204,7504.93834,447,4494.03076,4467,,115,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.17,0.17,0,0.2,0.2,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/14 23:05:00",1,NSW1,0,127.29166,0,127.29166,0,0,8586.51,-43,8023.43,3,-566.08,0,,,92,,,,,,,,70,,,,,,,,67,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,12.17372,11929.674,206,8671.48633,8641.76,,54,,,,6,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,2.22,2.22,0 +D,DREGION,,2,"2023/12/14 23:05:00",1,QLD1,0,137.88309,0,137.88309,0,0,7239.66,-59,7060.82,0,-178.84,0,,,0,,,,,,,,140,,,,,,,,130,,,,,,,,28,,,,,,,,200.33,,,,,,,,244,,,,,,-22.2202,10084.88649,125,7326.9165,7244.59,,5,,,,179,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,2.22,2.22,0 +D,DREGION,,2,"2023/12/14 23:05:00",1,SA1,0,111.63821,0,111.63821,0,0,1247,-1,1040.21,0,-206.79,0,,,61,,,,,,,,61,,,,,,,,56,,,,,,,,76,,,,,,,,85,,,,,,,,76,,,,,,-7.79928,2491.20682,362,1257.75073,1248.73,,20,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,2.22,2.22,0 +D,DREGION,,2,"2023/12/14 23:05:00",1,TAS1,0,98.15,0,98.15,0,0,1000.89,-2,1252.43,0,251.54,0,,,1.67,,,,,,,,23.46,,,,,,,,0,,,,,,,,83.96,,,,,,,,82.42,,,,,,,,69.75,,,,,,-6.29451,2345.06885,0,1011.16724,1006.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,3.53,3.53,0 +D,DREGION,,2,"2023/12/14 23:05:00",1,VIC1,0,105.26069,0,105.26069,0,0,4413.69,33,5239.7,0,826.01,0,,,83,,,,,,,,78,,,,,,,,51.56,,,,,,,,120,,,,,,,,145,,,,,,,,114,,,,,,-18.9236,7493.69896,447,4458.33301,4475.28,,81,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,2.22,2.22,0 +D,DREGION,,2,"2023/12/14 23:10:00",1,NSW1,0,128.61419,0,128.61419,0,0,8536.13,-44,7961.23,3,-577.9,0,,,62,,,,,,,,40,,,,,,,,37,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,0.64407,11927.16289,206,8632.54883,8594.64,,83,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 23:10:00",1,QLD1,0,140.05119,0,140.05119,0,0,7204.36,-23,7014.1,3,-193.27,0,,,0,,,,,,,,154.63,,,,,,,,94.5,,,,,,,,25,,,,,,,,201.89,,,,,,,,239,,,,,,-13.70805,10036.17687,125,7245.23535,7212.67,,5,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 23:10:00",1,SA1,0,112.78993,0,112.78993,0,0,1240.29,-4,1047.61,0,-192.68,0,,,49.65,,,,,,,,62,,,,,,,,58,,,,,,,,129.91,,,,,,,,134,,,,,,,,118.89,,,,,,-1.68394,2497.60857,362,1247.62109,1241.74,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 23:10:00",1,TAS1,0,98.15,0,98.15,0,0,1005.4,-1,1300.82,0,295.42,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,2.54969,2330.33177,0,1006.87915,1012.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,3.53,3.53,0 +D,DREGION,,2,"2023/12/14 23:10:00",1,VIC1,0,106.34821,0,106.34821,0,0,4447.56,44,5250.89,0,803.33,0,,,125,,,,,,,,115,,,,,,,,115,,,,,,,,120,,,,,,,,144,,,,,,,,113,,,,,,-12.39528,7505.88873,447,4475.52881,4512.7,,52,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 23:15:00",1,NSW1,0,157.43246,0,157.43246,0,0,8458.98,-49,7926.13,2,-534.85,0,,,68,,,,,,,,46,,,,,,,,42,,,,,,,,106.21,,,,,,,,79,,,,,,,,88,,,,,,-13.06255,11910.08594,206,8576.69238,8524.4,,61,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,0.53,0.53,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:15:00",1,QLD1,0,173.58939,0,173.58939,0,0,7236.73,-17,6967.51,0,-269.22,0,,,0,,,,,,,,100.05,,,,,,,,47.13,,,,,,,,30,,,,,,,,224.33,,,,,,,,227,,,,,,-14.47392,9843.67304,125,7275.97266,7244.77,,40,,,,164,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,0.53,0.53,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:15:00",1,SA1,0,134.37949,0,134.37949,0,0,1228.31,-3,1091.34,0,-136.97,0,,,67,,,,,,,,66,,,,,,,,58,,,,,,,,168,,,,,,,,126.56,,,,,,,,145.9,,,,,,-2.5384,2494.62635,362,1235.1615,1228.89,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,0.53,0.53,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:15:00",1,TAS1,0,115.18,0,115.18,0,0,1018.15,0,1455.61,0,437.46,0,,,0,,,,,,,,76.86,,,,,,,,76.86,,,,,,,,0,,,,,,,,41.29,,,,,,,,41.29,,,,,,9.01294,2343.71237,0,1016.00146,1034.9,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0,0,0,7.28193,7.28193,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 23:15:00",1,VIC1,0,129.31184,0,129.31184,0,0,4588.2,68,5251.16,0,662.96,0,,,98.22,,,,,,,,79,,,,,,,,79,,,,,,,,145,,,,,,,,144,,,,,,,,113,,,,,,-9.24663,7499.16272,447,4589.8623,4658.8,,49,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,0.53,0.53,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:20:00",1,NSW1,0,135.61888,0,135.61888,0,0,8423.44,-43,7894.67,0,-528.78,0,,,56,,,,,,,,68,,,,,,,,32.79,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-26.76917,11900.05447,206,8556.81055,8481.79,,40,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1.46,1.46,0 +D,DREGION,,2,"2023/12/14 23:20:00",1,QLD1,0,148.38884,0,148.38884,0,0,7138.07,-33,6893.65,0,-244.42,0,,,0,,,,,,,,113.61,,,,,,,,85,,,,,,,,27,,,,,,,,220.33,,,,,,,,227,,,,,,-23.17364,9778.21969,125,7200.20752,7145.01,,40,,,,149,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1.46,1.46,0 +D,DREGION,,2,"2023/12/14 23:20:00",1,SA1,0,118.44,0,118.44,0,0,1238.29,-2,1056.03,0,-182.27,0,,,60.39,,,,,,,,64,,,,,,,,56,,,,,,,,164,,,,,,,,121.91,,,,,,,,137.24,,,,,,6.50946,2498.7479,362,1234.76123,1239.56,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1.46,1.46,0 +D,DREGION,,2,"2023/12/14 23:20:00",1,TAS1,0,101.6006,0,101.6006,0,0,1029,0,1401.37,0,372.37,0,,,0,,,,,,,,16.08,,,,,,,,16.08,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,15.47619,2354.57331,0,1027.6228,1041.08,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 23:20:00",1,VIC1,0,112.25244,0,112.25244,0,0,4536.57,14,5265.02,0,728.45,0,,,124,,,,,,,,114,,,,,,,,114,,,,,,,,119.94,,,,,,,,144,,,,,,,,113,,,,,,-13.9705,7512.0249,447,4608.58105,4603.3,,70,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1.46,1.46,0 +D,DREGION,,2,"2023/12/14 23:25:00",1,NSW1,0,123.05388,0,123.05388,0,0,8266.58,-61,7892.06,0,-374.51,0,,,54.48,,,,,,,,46,,,,,,,,43,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-28.44736,11923.0825,206,8409.29004,8310.52,,81,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:25:00",1,QLD1,0,134.33747,0,134.33747,0,0,7081.07,-57,6844.74,10,-246.33,0,,,0,,,,,,,,149.48,,,,,,,,88.19,,,,,,,,26,,,,,,,,225.33,,,,,,,,216,,,,,,-31.87336,9750.66438,125,7176.19434,7097.82,,40,,,,149,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:25:00",1,SA1,0,110.16644,0,110.16644,0,0,1224.18,-3,1042.3,0,-181.89,0,,,61,,,,,,,,66,,,,,,,,58,,,,,,,,165,,,,,,,,117.45,,,,,,,,146.78,,,,,,-1.10934,2492.29681,362,1230.50488,1225.44,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:25:00",1,TAS1,0,98.12,0,98.12,0,0,1010.87,-2,1216.81,0,205.93,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,5.95238,2353.01974,0,1017.39844,1014.34,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.56,3.56,0 +D,DREGION,,2,"2023/12/14 23:25:00",1,VIC1,0,104.41313,0,104.41313,0,0,4569.24,10,5267.73,0,698.5,0,,,125,,,,,,,,115,,,,,,,,115,,,,,,,,117.79,,,,,,,,142,,,,,,,,113,,,,,,-14.3459,7505.73485,447,4634.51709,4615.52,,29,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:30:00",1,NSW1,0,134.64506,0,134.64506,0,0,8342.79,-42,7870,0,-472.79,0,,,62,,,,,,,,40,,,,,,,,38,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,0,11914.3715,206,8428.66016,8400.88,,87,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 23:30:00",1,QLD1,0,147.81771,0,147.81771,0,0,7031.13,-49,6756.35,10,-284.78,0,,,0,,,,,,,,130.93,,,,,,,,68.04,,,,,,,,27,,,,,,,,196.33,,,,,,,,230,,,,,,0,9655.33156,125,7094.42139,7049.21,,40,,,,149,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 23:30:00",1,SA1,0,118.44,0,118.44,0,0,1253.72,26,1052.17,0,-201.55,0,,,54,,,,,,,,66,,,,,,,,58,,,,,,,,165,,,,,,,,146.37,,,,,,,,134.71,,,,,,0,2480.47219,362,1229.1925,1255.34,,19,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 23:30:00",1,TAS1,0,100.55427,0,100.55427,0,0,988.8,-5,1386.4,0,397.6,0,,,0,,,,,,,,39.8,,,,,,,,39.8,,,,,,,,28.21,,,,,,,,50,,,,,,,,50,,,,,,-3.57143,2338.4979,0,1000.24408,1002.6,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.17,0.17,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 23:30:00",1,VIC1,0,111.69217,0,111.69217,0,0,4574.73,-4,5283.4,0,708.68,0,,,124.98,,,,,,,,100,,,,,,,,100,,,,,,,,140.75,,,,,,,,144,,,,,,,,113,,,,,,0,7522.40235,447,4628.08545,4640.28,,14,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/14 23:35:00",1,NSW1,0,161.01636,0,161.01636,0,0,8299.8,-23,7753.66,0,-546.14,0,,,18.96,,,,,,,,34,,,,,,,,0,,,,,,,,132.99,,,,,,,,82,,,,,,,,80,,,,,,-23.58815,11901.85434,206,8406.77441,8359.83,,40,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1.4504,1.4504,0,0,0,0,0.01,0.01,0,0,0,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 23:35:00",1,QLD1,0,176.78324,0,176.78324,0,0,6994.58,-50,6746.88,10,-257.7,0,,,42,,,,,,,,55.2,,,,,,,,42,,,,,,,,33,,,,,,,,202.33,,,,,,,,249,,,,,,-40.28371,9636.80135,125,7103.06885,7011.67,,45,,,,164,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1.4504,1.4504,0,0,0,0,0.01,0.01,0,0,0,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 23:35:00",1,SA1,0,143.59518,0,143.59518,0,0,1292.42,43,1032.17,0,-260.25,0,,,45,,,,,,,,63,,,,,,,,49,,,,,,,,155,,,,,,,,163,,,,,,,,152,,,,,,-1.50411,2470.57918,362,1253.21667,1295.35,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1.4504,1.4504,0,0,0,0,0.01,0.01,0,0,0,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 23:35:00",1,TAS1,0,115.2,0,115.2,0,0,1004.39,-1,1475.86,0,471.46,0,,,7.32,,,,,,,,107.32,,,,,,,,107.32,,,,,,,,0,,,,,,,,10,,,,,,,,10,,,,,,3.57143,2334.14958,0,1012.06464,1023.86,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0,0,0,7.31632,7.31632,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 23:35:00",1,VIC1,0,132.72,0,132.72,0,0,4474.41,-8,5230.71,0,756.3,0,,,124,,,,,,,,114,,,,,,,,114,,,,,,,,148,,,,,,,,157.9,,,,,,,,124.23,,,,,,-16.27071,7545.71551,447,4565.39014,4548.57,,55,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1.4504,1.4504,0,0,0,0,0.01,0.01,0,0,0,0,3.75,3.75,0 +D,DREGION,,2,"2023/12/14 23:40:00",1,NSW1,0,141.21574,0,141.21574,0,0,8172.79,-47,7761.22,0,-411.57,0,,,25.24,,,,,,,,41,,,,,,,,30.7,,,,,,,,99,,,,,,,,83,,,,,,,,82,,,,,,-29.09713,11909.21675,206,8297.38086,8206,,76,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:40:00",1,QLD1,0,151.64673,0,151.64673,0,0,6867.9,-44,6714.02,10,-163.88,0,,,42,,,,,,,,155.28,,,,,,,,102,,,,,,,,29,,,,,,,,197.33,,,,,,,,242,,,,,,-27.51986,9612.80312,125,6955.84912,6881.68,,40,,,,149,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:40:00",1,SA1,0,137.79,0,137.79,0,0,1333.09,29,918.83,0,-414.26,0,,,47,,,,,,,,65,,,,,,,,58,,,,,,,,153,,,,,,,,133.37,,,,,,,,120.71,,,,,,-5.94755,2459.18039,362,1314.90759,1341.15,,10,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:40:00",1,TAS1,0,112.38591,0,112.38591,0,0,1045.82,4,1371.98,0,326.17,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,8.33333,2323.08485,0,1047.31042,1055.02,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,8.11,8.11,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/14 23:40:00",1,VIC1,0,122.39435,0,122.39435,0,0,4454.41,-28,5228.64,0,774.23,0,,,125,,,,,,,,115,,,,,,,,115,,,,,,,,138.66,,,,,,,,154,,,,,,,,123,,,,,,-12.94601,7585.64423,447,4560.09473,4510.85,,34,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:45:00",1,NSW1,0,122.74686,0,122.74686,0,0,8116.34,-52,7766.53,0,-349.81,0,,,34.93,,,,,,,,74,,,,,,,,70,,,,,,,,109,,,,,,,,93,,,,,,,,91,,,,,,-23.85362,11914.52859,206,8231.49219,8153.95,,63,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 23:45:00",1,QLD1,0,133.43318,0,133.43318,0,0,6902.46,-34,6679.24,10,-233.22,0,,,45,,,,,,,,135.19,,,,,,,,76,,,,,,,,25.31,,,,,,,,217.33,,,,,,,,232,,,,,,-14.53103,9597.31268,125,6966.15479,6918.29,,43,,,,159,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 23:45:00",1,SA1,0,118.81324,0,118.81324,0,0,1312.06,3,899.11,0,-412.95,0,,,47,,,,,,,,65,,,,,,,,58,,,,,,,,150,,,,,,,,112.24,,,,,,,,130.57,,,,,,-12.00734,2433.10708,362,1328.20691,1320.07,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 23:45:00",1,TAS1,0,98.15,0,98.15,0,0,1024.59,-3,1280.13,0,255.54,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,-0.18832,2316.14003,0,1035.90295,1030.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.53,3.53,0 +D,DREGION,,2,"2023/12/14 23:45:00",1,VIC1,0,105.53257,0,105.53257,0,0,4437.98,-7,5291.31,0,853.33,0,,,112,,,,,,,,102,,,,,,,,102,,,,,,,,135,,,,,,,,144,,,,,,,,113,,,,,,-9.66529,7666.02551,447,4513.44629,4493.9,,34,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,2,2,0 +D,DREGION,,2,"2023/12/14 23:50:00",1,NSW1,0,121.43468,0,121.43468,0,0,8122.06,-27,7781.76,0,-340.31,0,,,43.04,,,,,,,,58,,,,,,,,54,,,,,,,,106,,,,,,,,91,,,,,,,,88,,,,,,-24.09818,11934.75741,206,8201.58789,8154.46,,76,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:50:00",1,QLD1,0,131.05313,0,131.05313,0,0,6847.04,-24,6658.04,10,-198.99,0,,,45,,,,,,,,163.33,,,,,,,,105.05,,,,,,,,28,,,,,,,,199.08,,,,,,,,232,,,,,,-9.06247,9606.32333,125,6892.18604,6861.7,,60,,,,159,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:50:00",1,SA1,0,118.44,0,118.44,0,0,1292.44,1,882.97,0,-409.47,0,,,50,,,,,,,,64,,,,,,,,56,,,,,,,,156.79,,,,,,,,135,,,,,,,,135.08,,,,,,-17.10442,2418.37526,362,1316.63354,1300.31,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:50:00",1,TAS1,0,98.12,0,98.12,0,0,1021,-3,1259.77,0,238.77,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,-7.4982,2343.50142,0,1036.14966,1025.77,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.56,3.56,0 +D,DREGION,,2,"2023/12/14 23:50:00",1,VIC1,0,105.20545,0,105.20545,0,0,4500.55,-36,5311.58,0,811.02,0,,,101,,,,,,,,91,,,,,,,,91,,,,,,,,130,,,,,,,,143,,,,,,,,113,,,,,,-6.20144,7683.64998,447,4593.27539,4551.88,,14,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/14 23:55:00",1,NSW1,0,115.02986,0,115.02986,0,0,8073.68,-32,7793.21,0,-280.47,0,,,29.91,,,,,,,,82,,,,,,,,56.61,,,,,,,,106,,,,,,,,91,,,,,,,,88,,,,,,-13.60847,11941.21013,206,8148.15625,8099.18,,90,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 23:55:00",1,QLD1,0,123.23319,0,123.23319,0,0,6817,-33,6650.79,10,-176.21,0,,,45,,,,,,,,122.59,,,,,,,,85,,,,,,,,27,,,,,,,,190.66,,,,,,,,232,,,,,,-3.66693,9598.46266,125,6867.7041,6830.92,,41,,,,159,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 23:55:00",1,SA1,0,116.29845,0,116.29845,0,0,1302.22,-3,830.45,0,-471.78,0,,,48,,,,,,,,66,,,,,,,,58,,,,,,,,165,,,,,,,,142,,,,,,,,134.66,,,,,,-15.45761,2413.44613,362,1330.12769,1312.85,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/14 23:55:00",1,TAS1,0,96.18,0,96.18,0,0,1014.02,-3,1165.57,0,151.55,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,-12.42713,2356.85715,0,1032.99243,1015.77,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0,0,0,5.5,5.5,0 +D,DREGION,,2,"2023/12/14 23:55:00",1,VIC1,0,101.28321,0,101.28321,0,0,4455.49,-17,5322.57,0,867.08,0,,,117,,,,,,,,107,,,,,,,,107,,,,,,,,121.98,,,,,,,,144,,,,,,,,113,,,,,,0.34456,7698.48465,447,4524.47021,4503.87,,19,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.01,0.01,0 +D,DREGION,,2,"2023/12/15 00:00:00",1,NSW1,0,111.67969,0,111.67969,0,0,8041.32,-32,7796.47,0,-244.86,0,,,95,,,,,,,,109,,,,,,,,105,,,,,,,,106,,,,,,,,91,,,,,,,,88,,,,,,-6.42002,11944.46683,206,8104.29199,8062.73,,30,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:00:00",1,QLD1,0,119.55,0,119.55,0,0,6797.45,-46,6649.3,10,-158.15,0,,,45,,,,,,,,157.81,,,,,,,,98.23,,,,,,,,27,,,,,,,,186.33,,,,,,,,232,,,,,,1.30133,9607.19444,125,6854.82764,6810.83,,40,,,,159,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:00:00",1,SA1,0,113.77231,0,113.77231,0,0,1296.08,-1,824.92,0,-471.16,0,,,61,,,,,,,,66,,,,,,,,58,,,,,,,,157.33,,,,,,,,131.63,,,,,,,,119.97,,,,,,-18.90088,2407.92278,362,1327.07129,1306.69,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:00:00",1,TAS1,0,96.18,0,96.18,0,0,1006.06,-2,1137.3,0,131.25,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,63.49,,,,,,,,63.49,,,,,,-17.35607,2346.42349,0,1026.01453,1007.3,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0,0,0,5.5,5.5,0 +D,DREGION,,2,"2023/12/15 00:00:00",1,VIC1,0,99.074,0,99.074,0,0,4389.45,-48,5213.12,0,823.66,0,,,56,,,,,,,,46,,,,,,,,46,,,,,,,,128,,,,,,,,144,,,,,,,,113,,,,,,4.17163,7698.86735,447,4480.40625,4433.55,,80,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:05:00",1,NSW1,0,116.77029,0,116.77029,0,0,8020.07,-32,7788.1,0,-231.98,0,,,68.89,,,,,,,,65,,,,,,,,61,,,,,,,,121,,,,,,,,106,,,,,,,,103,,,,,,5.00914,11959.39576,181,8066.92334,8044.91,,106.2,,,,32.02,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,20.68,20.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 00:05:00",1,QLD1,0,125.74745,0,125.74745,0,0,6802.74,-43,6621.2,16,-197.54,0,,,29,,,,,,,,43.51,,,,,,,,29,,,,,,,,25,,,,,,,,101.97,,,,,,,,141,,,,,,5.20593,9509.77693,125,6852.94482,6823.16,,0,,,,102.98,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,20.68,20.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 00:05:00",1,SA1,0,118.44,0,118.44,0,0,1289.29,6,820.78,0,-468.52,0,,,63,,,,,,,,98,,,,,,,,57,,,,,,,,84.77,,,,,,,,91,,,,,,,,146.7,,,,,,-15.82512,2410.08863,362,1309.67822,1299.78,,19.8,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,20.68,20.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 00:05:00",1,TAS1,0,98.11122,0,98.11122,0,0,998.56,2,1168.36,0,169.8,0,,,0,,,,,,,,61.48,,,,,,,,43.21,,,,,,,,153,,,,,,,,205.9,,,,,,,,145.17,,,,,,-14.96299,2385.58915,0,1012.62396,1000.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.58873,3.58873,0 +D,DREGION,,2,"2023/12/15 00:05:00",1,VIC1,0,103.58847,0,103.58847,0,0,4418.1,-2,5235.1,0,817,0,,,81,,,,,,,,112,,,,,,,,117,,,,,,,,87,,,,,,,,114,,,,,,,,83,,,,,,7.94803,7648.10133,392,4454.5708,4464.87,,34,,,,24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,20.68,20.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 00:10:00",1,NSW1,0,117.92275,0,117.92275,0,0,8028.33,-40,7824.9,0,-203.43,0,,,65.82,,,,,,,,126,,,,,,,,92.64,,,,,,,,122,,,,,,,,107,,,,,,,,104,,,,,,21.08255,11950.73259,181,8065.1665,8056.83,,87,,,,32.02,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,11.5,11.5,0,0.14,0.14,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 00:10:00",1,QLD1,0,127.66465,0,127.66465,0,0,6717.97,-36,6470.41,0,-247.56,0,,,29,,,,,,,,29,,,,,,,,29,,,,,,,,25,,,,,,,,108,,,,,,,,141,,,,,,-10.67269,9255.73335,125,6782.67627,6723.81,,0,,,,69,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,11.5,11.5,0,0.14,0.14,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 00:10:00",1,SA1,0,119.28023,0,119.28023,0,0,1311.48,6,835.27,0,-476.21,0,,,61,,,,,,,,63,,,,,,,,59,,,,,,,,84.24,,,,,,,,88,,,,,,,,135.51,,,,,,-11.40018,2404.26506,362,1329.31531,1322.33,,29,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,11.5,11.5,0,0.14,0.14,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 00:10:00",1,TAS1,0,98.12,0,98.12,0,0,992.75,-2,1174.77,0,182.02,0,,,0,,,,,,,,20.22,,,,,,,,0,,,,,,,,153,,,,,,,,204.64,,,,,,,,154.14,,,,,,-18.73131,2342.96492,0,1013.97394,995.39,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.38,0.38,0,0.01,0.01,0,3.57,3.57,0 +D,DREGION,,2,"2023/12/15 00:10:00",1,VIC1,0,103.86953,0,103.86953,0,0,4378.66,-30,5221.1,0,842.44,0,,,87,,,,,,,,143,,,,,,,,127,,,,,,,,85,,,,,,,,110,,,,,,,,83,,,,,,8.00202,7632.09772,392,4444.54395,4428.08,,44,,,,53.98,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,11.5,11.5,0,0.14,0.14,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 00:15:00",1,NSW1,0,110.69162,0,110.69162,0,0,7913.88,-42,7868.35,0,-45.53,0,,,60.04,,,,,,,,67,,,,,,,,63,,,,,,,,122,,,,,,,,107,,,,,,,,104,,,,,,28.12049,11956.61452,181,7952.7207,7932.68,,126,,,,26.01,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.73,7.73,0,0.2,0.2,0,0.39,0.39,0,0.01,0.01,0,1.2198,1.2198,0 +D,DREGION,,2,"2023/12/15 00:15:00",1,QLD1,0,119.55,0,119.55,0,0,6625.26,-33,6383.04,0,-242.22,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,122,,,,,,,,141,,,,,,-23.68052,9234.65353,125,6688.07422,6630.68,,0,,,,57.99,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.73,7.73,0,0.2,0.2,0,0.39,0.39,0,0.01,0.01,0,1.2198,1.2198,0 +D,DREGION,,2,"2023/12/15 00:15:00",1,SA1,0,117.93465,0,117.93465,0,0,1322.8,5,787.23,0,-535.56,0,,,51,,,,,,,,97.2,,,,,,,,59,,,,,,,,84.78,,,,,,,,89,,,,,,,,137.82,,,,,,-1.25813,2406.23495,362,1331.06433,1336.69,,10,,,,33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.73,7.73,0,0.2,0.2,0,0.39,0.39,0,0.01,0.01,0,1.2198,1.2198,0 +D,DREGION,,2,"2023/12/15 00:15:00",1,TAS1,0,98.12,0,98.12,0,0,1010,-3,1090.35,0,80.35,0,,,0,,,,,,,,30,,,,,,,,0,,,,,,,,153,,,,,,,,194.48,,,,,,,,154.12,,,,,,-5.83295,2345.0387,0,1019.98212,1010.35,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.57,3.57,0 +D,DREGION,,2,"2023/12/15 00:15:00",1,VIC1,0,100.70627,0,100.70627,0,0,4373,-25,5197.24,0,824.24,0,,,87,,,,,,,,143,,,,,,,,141.82,,,,,,,,86,,,,,,,,107.46,,,,,,,,83,,,,,,2.67436,7618.24412,389,4440.78516,4415.82,,44,,,,53,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.73,7.73,0,0.2,0.2,0,0.39,0.39,0,0.01,0.01,0,1.2198,1.2198,0 +D,DREGION,,2,"2023/12/15 00:20:00",1,NSW1,0,111.77349,0,111.77349,0,0,7894.57,-42,7800.17,3,-97.39,0,,,68.8,,,,,,,,144.34,,,,,,,,107.42,,,,,,,,122,,,,,,,,107,,,,,,,,104,,,,,,30.92782,11956.59474,181,7934.62988,7921.59,,63.2,,,,32.01,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,2.1839,2.1839,0 +D,DREGION,,2,"2023/12/15 00:20:00",1,QLD1,0,121.50733,0,121.50733,0,0,6656.32,-27,6391.09,0,-265.23,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,121,,,,,,,,141,,,,,,-17.7476,9214.01343,125,6709.56494,6662.49,,0,,,,79.99,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,2.1839,2.1839,0 +D,DREGION,,2,"2023/12/15 00:20:00",1,SA1,0,116.55246,0,116.55246,0,0,1309.97,4,787.55,0,-522.43,0,,,43,,,,,,,,62,,,,,,,,56,,,,,,,,83.55,,,,,,,,85,,,,,,,,135.94,,,,,,-6.20371,2406.5472,362,1324.41064,1323.19,,25,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,2.1839,2.1839,0 +D,DREGION,,2,"2023/12/15 00:20:00",1,TAS1,0,98.12,0,98.12,0,0,996.17,-3,1096.62,0,100.45,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,153,,,,,,,,196.08,,,,,,,,154.14,,,,,,-9.43424,2358.13526,0,1008.76813,996.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.03,0.03,0,0.38,0.38,0,0,0,0,3.57,3.57,0 +D,DREGION,,2,"2023/12/15 00:20:00",1,VIC1,0,100,0,100,0,0,4268.75,-23,5143.96,0,875.22,0,,,86,,,,,,,,131,,,,,,,,106,,,,,,,,85,,,,,,,,109,,,,,,,,83,,,,,,0.42719,7607.23176,389,4337.41406,4315.3,,72,,,,43,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,2.1839,2.1839,0 +D,DREGION,,2,"2023/12/15 00:25:00",1,NSW1,0,111.71086,0,111.71086,0,0,7829.82,-43,7754.1,0,-75.72,0,,,53,,,,,,,,67,,,,,,,,63,,,,,,,,122,,,,,,,,107,,,,,,,,104,,,,,,29.79887,11978.13998,181,7870.64063,7853.78,,102.86,,,,32,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.38,0.38,0,0.39,0.39,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:25:00",1,QLD1,0,121.3557,0,121.3557,0,0,6660.36,-23,6382.99,0,-277.37,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,28.24,,,,,,,,120,,,,,,,,141,,,,,,-10.56678,9205.33289,125,6700.70361,6666.85,,0,,,,82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.38,0.38,0,0.39,0.39,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:25:00",1,SA1,0,116.55726,0,116.55726,0,0,1315.52,2,781.51,0,-534.02,0,,,58.15,,,,,,,,86.89,,,,,,,,59,,,,,,,,79,,,,,,,,89,,,,,,,,135.99,,,,,,-5.91307,2399.50761,362,1334.1687,1329.36,,10,,,,33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.38,0.38,0,0.39,0.39,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:25:00",1,TAS1,0,96.68948,0,96.68948,0,0,1000.78,-2,1092.42,0,91.64,0,,,0,,,,,,,,41.13,,,,,,,,5.91,,,,,,,,156,,,,,,,,192.12,,,,,,,,157.13,,,,,,-6.39286,2354.52307,0,1009.25317,1001.29,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.38,0.38,0,0,0,0,5.00052,5.00052,0 +D,DREGION,,2,"2023/12/15 00:25:00",1,VIC1,0,100,0,100,0,0,4222.09,-26,5109.33,0,887.24,0,,,87,,,,,,,,143,,,,,,,,142,,,,,,,,86,,,,,,,,113,,,,,,,,83,,,,,,-2.19218,7617.94463,389,4296.84473,4269.07,,56,,,,23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.38,0.38,0,0.39,0.39,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:30:00",1,NSW1,0,110.14141,0,110.14141,0,0,7765.38,-44,7745.29,0,-20.08,0,,,89,,,,,,,,137.71,,,,,,,,63,,,,,,,,168.59,,,,,,,,211,,,,,,,,204.66,,,,,,36.00293,11982.90744,181,7794.01953,7786.92,,94,,,,41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.72,0.72,0,0.53,0.53,0,22.26136,22.26136,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 00:30:00",1,QLD1,0,119.55,0,119.55,0,0,6660.21,-20,6396.42,20,-283.79,0,,,45,,,,,,,,64,,,,,,,,64.82,,,,,,,,30,,,,,,,,144,,,,,,,,163,,,,,,-4.07781,9484.68065,125,6690.46338,6686.8,,0,,,,124,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.72,0.72,0,0.53,0.53,0,22.26136,22.26136,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 00:30:00",1,SA1,0,117.69915,0,117.69915,0,0,1320.71,-1,770.84,0,-549.87,0,,,55.63,,,,,,,,114,,,,,,,,119,,,,,,,,162,,,,,,,,136,,,,,,,,163,,,,,,-2.25794,2388.84354,362,1338.68591,1335.42,,21,,,,27,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.72,0.72,0,0.53,0.53,0,22.26136,22.26136,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 00:30:00",1,TAS1,0,96.18,0,96.18,0,0,1004.56,-3,1096.07,0,91.5,0,,,17.71,,,,,,,,117.71,,,,,,,,117.71,,,,,,,,42.75,,,,,,,,142.74,,,,,,,,142.74,,,,,,-5.24323,2364.85745,0,1012.87341,1005.07,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.75,1.75,0,1.75,1.75,0,0.38,0.38,0,5.5,5.5,0 +D,DREGION,,2,"2023/12/15 00:30:00",1,VIC1,0,100,0,100,0,0,4230.69,-25,5082.05,0,851.36,0,,,56,,,,,,,,70,,,,,,,,67,,,,,,,,111,,,,,,,,130.66,,,,,,,,91,,,,,,-5.18896,7630.02048,389,4306.39551,4276.47,,95,,,,28,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.72,0.72,0,0.53,0.53,0,22.26136,22.26136,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 00:35:00",1,NSW1,0,108.89663,0,108.89663,0,0,7751.07,-42,7847.71,0,96.64,0,,,85,,,,,,,,159,,,,,,,,132.5,,,,,,,,121,,,,,,,,131.39,,,,,,,,103.39,,,,,,29.76312,11982.06546,181,7776.6377,7771.28,,91,,,,80.92,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,11.68,11.68,0,0.14,0.14,0,0.38,0.38,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/15 00:35:00",1,QLD1,0,119.55,0,119.55,0,0,6572.88,-19,6269.77,20,-323.12,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,28,,,,,,,,146,,,,,,,,168,,,,,,0.83191,9355.83985,125,6614.45313,6600.67,,0,,,,44.08,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,11.68,11.68,0,0.14,0.14,0,0.38,0.38,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/15 00:35:00",1,SA1,0,117.59642,0,117.59642,0,0,1318.05,-3,764.62,0,-553.43,0,,,58,,,,,,,,64,,,,,,,,57,,,,,,,,130.13,,,,,,,,133,,,,,,,,161,,,,,,-3.54895,2382.62441,362,1339.58862,1332.96,,10,,,,12,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,11.68,11.68,0,0.14,0.14,0,0.38,0.38,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/15 00:35:00",1,TAS1,0,98.12,0,98.12,0,0,1017.29,-3,1117.94,0,100.65,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,106,,,,,,,,94,,,,,,,,94,,,,,,1.46712,2369.56137,0,1018.89966,1017.94,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.39,0.39,0,8.11,8.11,0,0.14,0.14,0,0.38,0.38,0,0,0,0,2.56,2.56,0 +D,DREGION,,2,"2023/12/15 00:35:00",1,VIC1,0,99.91625,0,99.91625,0,0,4261.48,-23,5026.84,0,765.35,0,,,86,,,,,,,,117.67,,,,,,,,76,,,,,,,,84,,,,,,,,115,,,,,,,,93,,,,,,-8.13685,7617.83548,389,4335.04736,4304.03,,59,,,,33,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,11.68,11.68,0,0.14,0.14,0,0.38,0.38,0,0,0,0,1,1,0 +D,DREGION,,2,"2023/12/15 00:40:00",1,NSW1,0,109.74113,0,109.74113,0,0,7778.33,-37,7828.24,0,49.91,0,,,79,,,,,,,,153,,,,,,,,139,,,,,,,,122,,,,,,,,107,,,,,,,,104,,,,,,33.26197,11954.24351,181,7800.83838,7800.59,,110,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0,0,0,4.53,4.53,0 +D,DREGION,,2,"2023/12/15 00:40:00",1,QLD1,0,120.51405,0,120.51405,0,0,6561.56,-20,6257.39,20,-324.17,0,,,39,,,,,,,,39,,,,,,,,39,,,,,,,,25,,,,,,,,140,,,,,,,,164,,,,,,-9.3305,9392.28502,125,6617.48682,6589.43,,16,,,,62,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0,0,0,4.53,4.53,0 +D,DREGION,,2,"2023/12/15 00:40:00",1,SA1,0,118.26803,0,118.26803,0,0,1340.59,0,766.18,0,-574.41,0,,,60,,,,,,,,70.02,,,,,,,,58,,,,,,,,131.87,,,,,,,,170.09,,,,,,,,156.09,,,,,,-8.70742,2384.17585,362,1365.04077,1356.73,,20,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0,0,0,4.53,4.53,0 +D,DREGION,,2,"2023/12/15 00:40:00",1,TAS1,0,98.12,0,98.12,0,0,1030.65,-2,1131.3,0,100.65,0,,,0,,,,,,,,50,,,,,,,,12.45,,,,,,,,106,,,,,,,,94,,,,,,,,94,,,,,,8.84563,2379.84702,0,1024.15344,1031.3,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.39,0.39,0,8.11,8.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.56,2.56,0 +D,DREGION,,2,"2023/12/15 00:40:00",1,VIC1,0,100,0,100,0,0,4234.72,-19,5076.99,0,842.27,0,,,72,,,,,,,,73,,,,,,,,62,,,,,,,,85,,,,,,,,109,,,,,,,,102,,,,,,-11.15253,7609.31381,389,4308.25684,4282.05,,14,,,,16,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0,0,0,4.53,4.53,0 +D,DREGION,,2,"2023/12/15 00:45:00",1,NSW1,0,85.99,0,85.99,0,0,7642.49,-39,7793.69,0,151.19,0,,,65.26,,,,,,,,111.32,,,,,,,,70.66,,,,,,,,96,,,,,,,,81,,,,,,,,78,,,,,,0,11958.55052,181,7706.95898,7660.81,,138,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.5,0.5,0,0.45,0.45,0,0.01,0.01,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/15 00:45:00",1,QLD1,0,94.31385,0,94.31385,0,0,6529.07,-20,6219.2,20,-329.86,0,,,45,,,,,,,,64,,,,,,,,72,,,,,,,,25,,,,,,,,116,,,,,,,,141,,,,,,-15.83554,9549.56846,125,6593.91846,6556.97,,0,,,,58,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.5,0.5,0,0.45,0.45,0,0.01,0.01,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/15 00:45:00",1,SA1,0,95.661,0,95.661,0,0,1363.71,1,743.82,4,-623.89,0,,,48,,,,,,,,139,,,,,,,,117,,,,,,,,125.55,,,,,,,,125.35,,,,,,,,128.35,,,,,,-9.89034,2381.8196,362,1392.55396,1386.89,,35,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.5,0.5,0,0.45,0.45,0,0.01,0.01,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/15 00:45:00",1,TAS1,0,115.12,0,115.12,0,0,1033.12,-1,1033.12,0,0,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,106,,,,,,,,191.26,,,,,,,,191.26,,,,,,9.41572,2369.47199,0,1024.84546,1033.12,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.39,0.39,0,8.11,8.11,0,0,0,0,0,0,0,0,0,0,2.56,2.56,0 +D,DREGION,,2,"2023/12/15 00:45:00",1,VIC1,0,79.70916,0,79.70916,0,0,4133.41,-16,5028.01,0,894.61,0,,,87,,,,,,,,122,,,,,,,,102,,,,,,,,118,,,,,,,,108,,,,,,,,83,,,,,,-13.01274,7619.01446,389,4214.04395,4180.06,,87,,,,24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.5,0.5,0,0.45,0.45,0,0.01,0.01,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/15 00:50:00",1,NSW1,0,100,0,100,0,0,7626.19,-40,7837.96,0,211.77,0,,,114.54,,,,,,,,159,,,,,,,,145,,,,,,,,147.87,,,,,,,,170.89,,,,,,,,182.89,,,,,,3.45252,11953.96526,181,7680.43359,7641.24,,92,,,,77,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,32.99,32.99,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:50:00",1,QLD1,0,108.94679,0,108.94679,0,0,6526.42,-20,6229.14,20,-317.28,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,143,,,,,,,,168,,,,,,-8.44384,9702.62481,125,6582.59033,6553.81,,0,,,,84.03,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,32.99,32.99,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:50:00",1,SA1,0,111.28947,0,111.28947,0,0,1358.19,1,794.38,0,-563.81,0,,,60,,,,,,,,131.56,,,,,,,,91.6,,,,,,,,163,,,,,,,,172,,,,,,,,163,,,,,,-10.75323,2384.61487,362,1389.48413,1373.69,,10,,,,18.98,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,32.99,32.99,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:50:00",1,TAS1,0,95.1112,0,95.1112,0,0,1018.58,-1,909.49,0,-109.09,0,,,17.69,,,,,,,,117.68,,,,,,,,117.68,,,,,,,,23.29,,,,,,,,123.28,,,,,,,,123.28,,,,,,1.37855,2340.58662,0,1018.19946,1020.29,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.38,0.38,0,8.11,8.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/15 00:50:00",1,VIC1,0,94.19276,0,94.19276,0,0,4173.26,-19,5025.46,0,852.21,0,,,25,,,,,,,,50,,,,,,,,30,,,,,,,,126,,,,,,,,135,,,,,,,,107,,,,,,-9.80584,7616.46339,389,4245.62207,4207.4,,108,,,,40,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,32.99,32.99,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 00:55:00",1,NSW1,0,100,0,100,0,0,7545.5,-42,7871.12,36,289.62,0,,,89,,,,,,,,67,,,,,,,,65.57,,,,,,,,149.57,,,,,,,,168.73,,,,,,,,175.73,,,,,,-0.47145,11965.10305,181,7602.34814,7599.53,,85,,,,72,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.5,0.5,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 00:55:00",1,QLD1,0,110.32534,0,110.32534,0,0,6575.42,-11,6228.16,26,-373.26,0,,,45,,,,,,,,46,,,,,,,,45,,,,,,,,33,,,,,,,,142,,,,,,,,168,,,,,,-13.74127,9718.66267,125,6628.21533,6610.91,,0,,,,71.41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.5,0.5,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 00:55:00",1,SA1,0,110.81874,0,110.81874,0,0,1350.32,-1,803.9,6,-552.42,0,,,66,,,,,,,,125,,,,,,,,98,,,,,,,,166,,,,,,,,176,,,,,,,,165,,,,,,-3.01164,2377.90324,362,1370.25708,1371.18,,21,,,,15,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.5,0.5,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 00:55:00",1,TAS1,0,73.57066,0,73.57066,0,0,1004.16,-1,926.56,0,-77.59,0,,,36.9,,,,,,,,131.9,,,,,,,,103.23,,,,,,,,0,,,,,,,,6,,,,,,,,6,,,,,,-6.65861,2357.76101,0,1011.8139,1004.16,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,8.11,8.11,0,0.5,0.5,0,0.39,0.39,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/15 00:55:00",1,VIC1,0,94.15132,0,94.15132,0,0,4173.78,-14,4968.56,5,789.78,0,,,10,,,,,,,,18.16,,,,,,,,0,,,,,,,,124,,,,,,,,131,,,,,,,,109,,,,,,-10.77155,7559.56212,389,4230.86865,4212.54,,54,,,,34,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.5,0.5,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 01:00:00",1,NSW1,0,90.16381,0,90.16381,0,0,7493.1,-42,7847.58,10,344.48,0,,,89,,,,,,,,80.07,,,,,,,,63.56,,,,,,,,150.28,,,,,,,,174.52,,,,,,,,182.52,,,,,,-0.42113,11958.58185,181,7580.80762,7516.44,,111,,,,62,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.5,0.5,0,0.45,0.45,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 01:00:00",1,QLD1,0,98.8153,0,98.8153,0,0,6557.13,-13,6221.2,0,-335.93,0,,,45,,,,,,,,53,,,,,,,,45,,,,,,,,33,,,,,,,,135,,,,,,,,163,,,,,,-14.957,9725.09843,125,6619.14844,6565.14,,0,,,,74,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.5,0.5,0,0.45,0.45,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 01:00:00",1,SA1,0,101.44,0,101.44,0,0,1334,-2,776.56,0,-557.44,0,,,66,,,,,,,,113,,,,,,,,98,,,,,,,,166,,,,,,,,176,,,,,,,,165,,,,,,-0.543,2366.15792,362,1354.08813,1349.14,,10,,,,32,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.5,0.5,0,0.45,0.45,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 01:00:00",1,TAS1,0,73.81376,0,73.81376,0,0,988.99,-1,926.83,0,-62.16,0,,,21.73,,,,,,,,131.9,,,,,,,,105.35,,,,,,,,0,,,,,,,,6,,,,,,,,6,,,,,,-6.79286,2357.93454,0,996.78754,988.99,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,8.11,8.11,0,1.75,1.75,0,0.45,0.45,0,0.38,0.38,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/15 01:00:00",1,VIC1,0,86.18164,0,86.18164,0,0,4199.47,-17,4878.68,0,679.22,0,,,25,,,,,,,,10,,,,,,,,0,,,,,,,,123,,,,,,,,132,,,,,,,,107,,,,,,6.73044,7478.68272,389,4240.44287,4231.14,,39,,,,39.84,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.5,0.5,0,0.45,0.45,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 01:05:00",1,NSW1,0,135.1967,0,135.1967,0,0,7482.99,-42,7847.25,0,364.26,0,,,112.97,,,,,,,,139,,,,,,,,94.37,,,,,,,,161.01,,,,,,,,191.87,,,,,,,,190.87,,,,,,-7.32057,11972.16613,181,7556.22607,7497.89,,64,,,,32,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 01:05:00",1,QLD1,0,148.95272,0,148.95272,0,0,6529.41,-15,6166.75,0,-362.66,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,134,,,,,,,,163,,,,,,-14.69225,9725.68369,125,6566.58789,6538.26,,0,,,,84.92,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 01:05:00",1,SA1,0,150.5851,0,150.5851,0,0,1335.6,-5,813.59,0,-522.02,0,,,61,,,,,,,,63,,,,,,,,55,,,,,,,,160,,,,,,,,170,,,,,,,,160,,,,,,-2.8758,2361.863,362,1360.55591,1348.83,,10,,,,62,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 01:05:00",1,TAS1,0,115.18,0,115.18,0,0,985.73,-1,921.65,0,-64.08,0,,,3.43,,,,,,,,104.99,,,,,,,,103.43,,,,,,,,6,,,,,,,,6,,,,,,,,6,,,,,,-6.46103,2346.83124,0,993.1908,985.73,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,8.11,8.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,5.79772,5.79772,0 +D,DREGION,,2,"2023/12/15 01:05:00",1,VIC1,0,129.17668,0,129.17668,0,0,4105.43,-18,4754.72,0,649.29,0,,,25,,,,,,,,37.27,,,,,,,,15,,,,,,,,116,,,,,,,,120,,,,,,,,102,,,,,,4.69343,7463.71812,389,4153.84766,4133.25,,86,,,,27,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 01:10:00",1,NSW1,0,145.39246,0,145.39246,0,0,7493.89,-38,7850.39,0,356.5,0,,,80,,,,,,,,94,,,,,,,,56,,,,,,,,154.76,,,,,,,,186.83,,,,,,,,186.83,,,,,,7.43553,11971.38932,181,7538.77588,7512.71,,50,,,,32,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0,0,0,0.38,0.38,0,0,0,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/15 01:10:00",1,QLD1,0,161.16684,0,161.16684,0,0,6516.76,-15,6112.86,0,-403.9,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,133,,,,,,,,163,,,,,,-23.62419,9706.18978,125,6563.8252,6527.22,,76,,,,91.06,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0,0,0,0.38,0.38,0,0,0,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/15 01:10:00",1,SA1,0,159.70267,0,159.70267,0,0,1327.1,-5,823.1,0,-504,0,,,53,,,,,,,,66,,,,,,,,57,,,,,,,,166,,,,,,,,175,,,,,,,,164,,,,,,5.85372,2352.09711,362,1338.42407,1339.37,,20,,,,59,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0,0,0,0.38,0.38,0,0,0,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/15 01:10:00",1,TAS1,0,123.62975,0,123.62975,0,0,1024.3,-1,966.36,0,-57.94,0,,,9.82,,,,,,,,109.81,,,,,,,,109.81,,,,,,,,0,,,,,,,,6,,,,,,,,6,,,,,,-12.7179,2361.45569,0,1038.01721,1024.3,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,7.11,7.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 01:10:00",1,VIC1,0,137.66,0,137.66,0,0,4069.38,-22,4747.69,0,678.32,0,,,72,,,,,,,,71.74,,,,,,,,62,,,,,,,,119,,,,,,,,124,,,,,,,,105,,,,,,-9.39063,7444.18163,392,4125.92383,4096.79,,14,,,,30,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0,0,0,0.38,0.38,0,0,0,0,7.73,7.73,0 +D,DREGION,,2,"2023/12/15 01:15:00",1,NSW1,0,127.74458,0,127.74458,0,0,7429.06,-36,7849.69,0,420.64,0,,,62.9,,,,,,,,113.02,,,,,,,,65.35,,,,,,,,156,,,,,,,,187.57,,,,,,,,187.57,,,,,,7.66029,11970.69492,181,7469.71924,7444.55,,55,,,,26,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,7.73,7.73,0,0.01,0.01,0,0.07,0.07,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 01:15:00",1,QLD1,0,141.40189,0,141.40189,0,0,6453.61,-19,6065.28,0,-388.34,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,133,,,,,,,,163,,,,,,-31.29059,9708.65236,125,6511.60449,6463.18,,26,,,,60.14,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,7.73,7.73,0,0.01,0.01,0,0.07,0.07,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 01:15:00",1,SA1,0,142.5231,0,142.5231,0,0,1319.94,-8,816.97,0,-502.97,0,,,48,,,,,,,,66,,,,,,,,57,,,,,,,,166,,,,,,,,175,,,,,,,,164,,,,,,11.74999,2345.96806,362,1328.30249,1332.17,,20,,,,55,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,7.73,7.73,0,0.01,0.01,0,0.07,0.07,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 01:15:00",1,TAS1,0,115.22,0,115.22,0,0,1025.83,1,927.98,0,-97.86,0,,,0,,,,,,,,69.45,,,,,,,,69.45,,,,,,,,0,,,,,,,,6,,,,,,,,6,,,,,,-2.37093,2352.70887,0,1027.20288,1025.83,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 01:15:00",1,VIC1,0,122.84801,0,122.84801,0,0,4061.5,-23,4692.53,0,631.03,0,,,87,,,,,,,,92,,,,,,,,77,,,,,,,,115,,,,,,,,121,,,,,,,,102,,,,,,-9.71265,7413.53167,392,4118.95068,4086.71,,59,,,,31,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,7.73,7.73,0,0.01,0.01,0,0.07,0.07,0,0.01,0.01,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 01:20:00",1,NSW1,0,143.05991,0,143.05991,0,0,7341.05,-35,7790.4,0,449.35,0,,,55,,,,,,,,68,,,,,,,,58.24,,,,,,,,163.38,,,,,,,,190.23,,,,,,,,192.23,,,,,,8.04142,11790.80659,181,7385.25,7355.51,,121,,,,29.45,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 01:20:00",1,QLD1,0,157.22673,0,157.22673,0,0,6439.35,-16,6054.14,0,-385.22,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,137,,,,,,,,168,,,,,,-37.20901,9710.71611,125,6502.89648,6448.65,,0,,,,68,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 01:20:00",1,SA1,0,159.70409,0,159.70409,0,0,1314.63,-9,809.84,0,-504.8,0,,,59.02,,,,,,,,64,,,,,,,,55,,,,,,,,155,,,,,,,,165,,,,,,,,155,,,,,,12.74506,2335.83891,362,1322.66565,1326.95,,10,,,,63,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 01:20:00",1,TAS1,0,126.82077,0,126.82077,0,0,1038.71,1,951.16,0,-87.55,0,,,0,,,,,,,,108.86,,,,,,,,79.96,,,,,,,,0,,,,,,,,6,,,,,,,,6,,,,,,-7.12088,2346.25618,0,1044.82886,1038.71,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 01:20:00",1,VIC1,0,137.66,0,137.66,0,0,4090.02,-22,4678.97,0,588.95,0,,,86,,,,,,,,102,,,,,,,,76,,,,,,,,121,,,,,,,,127,,,,,,,,104,,,,,,-5.52016,7380.21743,392,4142.92383,4114.68,,29,,,,22,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 01:25:00",1,NSW1,0,117.26901,0,117.26901,0,0,7312.94,-37,7729.24,0,416.3,0,,,108.81,,,,,,,,94,,,,,,,,90,,,,,,,,123,,,,,,,,197.05,,,,,,,,198.05,,,,,,-8.25401,11780.71572,181,7376.33105,7327.9,,40,,,,26,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/15 01:25:00",1,QLD1,0,128.85654,0,128.85654,0,0,6436.52,-16,6051.82,0,-384.7,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,29,,,,,,,,136,,,,,,,,168,,,,,,-33.41401,9737.74093,125,6496.36133,6445.77,,0,,,,56,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/15 01:25:00",1,SA1,0,130.77247,0,130.77247,0,0,1300.98,-10,799.66,0,-501.32,0,,,63,,,,,,,,77.59,,,,,,,,58,,,,,,,,152,,,,,,,,164,,,,,,,,153,,,,,,11.40738,2328.66126,362,1310.33521,1313.14,,20,,,,70,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/15 01:25:00",1,TAS1,0,115.21293,0,115.21293,0,0,1043.12,1,865.75,0,-177.37,0,,,0,,,,,,,,132.51,,,,,,,,89.33,,,,,,,,77.37,,,,,,,,6,,,,,,,,6,,,,,,2.41488,2328.75109,0,1039.70581,1043.12,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 01:25:00",1,VIC1,0,112.7099,0,112.7099,0,0,4008.12,-17,4717.79,0,709.67,0,,,21,,,,,,,,32,,,,,,,,32,,,,,,,,90.4,,,,,,,,122,,,,,,,,100,,,,,,-18.89306,7430.78787,392,4067.18896,4034.33,,100,,,,18,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/15 01:30:00",1,NSW1,0,118.22267,0,118.22267,0,0,7263.11,-35,7667.34,0,404.23,0,,,80,,,,,,,,154,,,,,,,,129.25,,,,,,,,122,,,,,,,,186.31,,,,,,,,185.31,,,,,,-22.14416,11779.62876,181,7336.60693,7277.6,,55,,,,26,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,9.28,9.28,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 01:30:00",1,QLD1,0,129.82797,0,129.82797,0,0,6431.62,-15,6053.43,0,-378.19,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,29.51,,,,,,,,137,,,,,,,,168,,,,,,-23.06586,9744.12651,125,6479.08496,6440.52,,10,,,,67,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,9.28,9.28,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 01:30:00",1,SA1,0,131.20368,0,131.20368,0,0,1289.08,-11,794.32,0,-494.76,0,,,53,,,,,,,,67,,,,,,,,59,,,,,,,,161,,,,,,,,174,,,,,,,,164,,,,,,9.26107,2323.31935,362,1301.36584,1300.9,,20,,,,56,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,9.28,9.28,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 01:30:00",1,TAS1,0,115.22,0,115.22,0,0,1035.95,1,882.49,0,-153.46,0,,,0,,,,,,,,29.58,,,,,,,,14.17,,,,,,,,53.46,,,,,,,,6,,,,,,,,6,,,,,,-4.71602,2325.98127,0,1039.66748,1035.95,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 01:30:00",1,VIC1,0,113.6397,0,113.6397,0,0,4057.92,-16,4740.43,0,682.5,0,,,77,,,,,,,,83,,,,,,,,67,,,,,,,,105,,,,,,,,121,,,,,,,,101,,,,,,-1.94483,7457.42513,392,4098.69629,4083.04,,75,,,,21,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,9.28,9.28,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 01:35:00",1,NSW1,0,143.22786,0,143.22786,0,0,7214.31,-32,7629.4,0,415.09,0,,,62.13,,,,,,,,67,,,,,,,,63,,,,,,,,188.3,,,,,,,,234,,,,,,,,219,,,,,,-33.14624,11779.63739,181,7295.07471,7227.29,,63,,,,36,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.75,0.75,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 01:35:00",1,QLD1,0,157.26717,0,157.26717,0,0,6454.21,-13,6091.62,0,-362.59,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,14,,,,,,,,120,,,,,,,,150.3,,,,,,-17.14943,9755.52158,125,6493.72949,6462.51,,0,,,,51,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.75,0.75,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 01:35:00",1,SA1,0,162.08159,0,162.08159,0,0,1281.01,-10,722.26,0,-558.75,0,,,45,,,,,,,,52,,,,,,,,44,,,,,,,,147,,,,,,,,160,,,,,,,,148,,,,,,5.4889,2317.79291,362,1296.36865,1296.28,,27,,,,71,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.75,0.75,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 01:35:00",1,TAS1,0,139.11729,0,139.11729,0,0,1048.44,1,924,0,-124.44,0,,,0,,,,,,,,126.69,,,,,,,,71.73,,,,,,,,24.44,,,,,,,,0,,,,,,,,0,,,,,,1.8805,2319.19673,0,1045.55859,1048.44,,50,,,,50,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.75,0.75,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 01:35:00",1,VIC1,0,137.66,0,137.66,0,0,4031.69,-19,4730.25,0,698.56,0,,,86,,,,,,,,91,,,,,,,,91,,,,,,,,100,,,,,,,,113.3,,,,,,,,110,,,,,,1.36318,7415.09868,392,4073.19312,4063.01,,70,,,,12,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.75,0.75,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 01:40:00",1,NSW1,0,142.16597,0,142.16597,0,0,7178.6,-27,7629.99,0,451.39,0,,,93,,,,,,,,98,,,,,,,,94,,,,,,,,159.96,,,,,,,,222,,,,,,,,219,,,,,,-37.87011,11775.9948,181,7257.30518,7190.48,,58,,,,46,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.72,0.72,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/15 01:40:00",1,QLD1,0,155.99258,0,155.99258,0,0,6435.13,-12,6076.64,0,-358.5,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,14,,,,,,,,117,,,,,,,,149,,,,,,-10.11112,9740.40443,125,6465.54297,6443.17,,0,,,,45,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.72,0.72,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/15 01:40:00",1,SA1,0,162.08534,0,162.08534,0,0,1254.8,-11,695.99,0,-558.81,0,,,53,,,,,,,,66,,,,,,,,58,,,,,,,,152,,,,,,,,163,,,,,,,,153,,,,,,-4.66219,2308.99039,362,1283.59253,1270.07,,10,,,,67,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.72,0.72,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/15 01:40:00",1,TAS1,0,139.4828,0,139.4828,0,0,1050.8,1,915.85,0,-134.95,0,,,6.36,,,,,,,,131.23,,,,,,,,76.17,,,,,,,,34.95,,,,,,,,0,,,,,,,,0,,,,,,9.30518,2310.94693,0,1040.4967,1050.8,,50,,,,50,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.72,0.72,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 01:40:00",1,VIC1,0,137.66,0,137.66,0,0,4023.13,-14,4689.87,0,666.73,0,,,41,,,,,,,,42,,,,,,,,42,,,,,,,,122,,,,,,,,134.78,,,,,,,,115.78,,,,,,-1.4014,7406.5781,392,4066.02295,4053.81,,92,,,,12,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.72,0.72,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,1,1,0 +D,DREGION,,2,"2023/12/15 01:45:00",1,NSW1,0,141.01703,0,141.01703,0,0,7167.97,-26,7623.31,0,455.33,0,,,80,,,,,,,,94,,,,,,,,90,,,,,,,,145,,,,,,,,218.72,,,,,,,,203.72,,,,,,-26.6765,11774.30523,181,7230.95605,7178.42,,60,,,,61,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11,11,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/15 01:45:00",1,QLD1,0,153.58585,0,153.58585,0,0,6381.27,-14,6037.64,0,-343.63,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,14,,,,,,,,116,,,,,,,,149,,,,,,-1.3155,9553.54119,125,6403.39307,6388.61,,0,,,,41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11,11,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/15 01:45:00",1,SA1,0,162.08525,0,162.08525,0,0,1248.6,-10,693.5,0,-555.1,0,,,58,,,,,,,,64,,,,,,,,57,,,,,,,,159,,,,,,,,171,,,,,,,,161,,,,,,-10.13636,2306.5038,362,1283.41479,1263.67,,20,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11,11,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/15 01:45:00",1,TAS1,0,139.3028,0,139.3028,0,0,1048.68,0,915.1,0,-133.58,0,,,0,,,,,,,,88.01,,,,,,,,34.05,,,,,,,,33.58,,,,,,,,0,,,,,,,,0,,,,,,6.69811,2310.19603,0,1041.97998,1048.68,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 01:45:00",1,VIC1,0,137.66,0,137.66,0,0,4017.3,-13,4657.01,0,639.71,0,,,87,,,,,,,,92,,,,,,,,89.5,,,,,,,,129,,,,,,,,129,,,,,,,,121,,,,,,-3.63866,7388.21882,392,4064.48438,4047.18,,80,,,,18,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11,11,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.61,3.61,0 +D,DREGION,,2,"2023/12/15 01:50:00",1,NSW1,0,114.98907,0,114.98907,0,0,7196.61,-25,7609.24,0,412.62,0,,,70.68,,,,,,,,94,,,,,,,,90,,,,,,,,120,,,,,,,,209.42,,,,,,,,198.42,,,,,,-16.62607,11759.23648,181,7250.27979,7204.66,,99,,,,60,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 01:50:00",1,QLD1,0,124.45005,0,124.45005,0,0,6365.66,-15,6065.28,0,-300.38,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,6,,,,,,,,116,,,,,,,,149,,,,,,-1.49289,9711.50711,125,6389.46143,6371.59,,0,,,,62,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 01:50:00",1,SA1,0,132.04396,0,132.04396,0,0,1246.19,-8,693.44,0,-552.75,0,,,44,,,,,,,,64,,,,,,,,56,,,,,,,,136.59,,,,,,,,170,,,,,,,,159,,,,,,-8.71767,2306.44453,362,1277.80713,1261.14,,17,,,,39,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 01:50:00",1,TAS1,0,115.22,0,115.22,0,0,1051.14,0,855.7,0,-195.44,0,,,0,,,,,,,,96.07,,,,,,,,33.91,,,,,,,,95.44,,,,,,,,0,,,,,,,,0,,,,,,6.96508,2300.76908,0,1044.17712,1051.14,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 01:50:00",1,VIC1,0,112.13433,0,112.13433,0,0,3935.47,-11,4631.09,0,695.63,0,,,86,,,,,,,,91,,,,,,,,91,,,,,,,,125,,,,,,,,142,,,,,,,,131,,,,,,-5.39509,7383.09474,392,3982.77246,3966.22,,44,,,,9,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 01:55:00",1,NSW1,0,102.51777,0,102.51777,0,0,7153.51,-22,7594.44,0,440.93,0,,,67.94,,,,,,,,67,,,,,,,,63,,,,,,,,120,,,,,,,,199.98,,,,,,,,194.98,,,,,,-5.63125,11739.43973,181,7189.01563,7161.01,,87,,,,65,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.86,7.86,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 01:55:00",1,QLD1,0,110.8247,0,110.8247,0,0,6332.68,-17,6031.92,0,-300.76,0,,,45,,,,,,,,47.66,,,,,,,,45,,,,,,,,7,,,,,,,,115,,,,,,,,149,,,,,,5.61928,9702.0778,125,6349.28174,6338.46,,0,,,,41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.86,7.86,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 01:55:00",1,SA1,0,117.1857,0,117.1857,0,0,1245.5,-8,697.31,0,-548.19,0,,,46,,,,,,,,53,,,,,,,,45,,,,,,,,127.7,,,,,,,,172,,,,,,,,161,,,,,,-8.71261,2310.3072,362,1277.53857,1260.19,,22,,,,55,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.86,7.86,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 01:55:00",1,TAS1,0,103.0262,0,103.0262,0,0,1042.23,0,827.08,0,-215.14,0,,,0,,,,,,,,131.03,,,,,,,,71.42,,,,,,,,99.53,,,,,,,,0,,,,,,,,0,,,,,,-2.37408,2292.18254,0,1044.60022,1042.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 01:55:00",1,VIC1,0,100,0,100,0,0,3907.46,-15,4589.01,0,681.55,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,127,,,,,,,,149,,,,,,,,131,,,,,,-5.83465,7383.27139,392,3962.07617,3937.86,,51,,,,9,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.86,7.86,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:00:00",1,NSW1,0,102.51225,0,102.51225,0,0,7137.25,-20,7584.26,0,447.01,0,,,63.05,,,,,,,,67,,,,,,,,63,,,,,,,,120,,,,,,,,216.84,,,,,,,,210.84,,,,,,0.6546,11734.26204,181,7163.77979,7144.86,,73.63,,,,46,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/15 02:00:00",1,QLD1,0,110.79558,0,110.79558,0,0,6338.2,-17,6033.89,0,-304.31,0,,,45,,,,,,,,46.81,,,,,,,,45,,,,,,,,7,,,,,,,,115,,,,,,,,149,,,,,,10.56172,9710.84688,125,6350.17236,6344.06,,0,,,,46,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/15 02:00:00",1,SA1,0,117.18609,0,117.18609,0,0,1245.2,-7,697.89,0,-547.31,0,,,50,,,,,,,,53,,,,,,,,45,,,,,,,,130.52,,,,,,,,157,,,,,,,,146,,,,,,-6.65595,2310.89063,362,1273.37305,1259.85,,42.37,,,,70,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/15 02:00:00",1,TAS1,0,103.0262,0,103.0262,0,0,1034,0,821.35,0,-212.65,0,,,0,,,,,,,,131.03,,,,,,,,71.47,,,,,,,,99.53,,,,,,,,0,,,,,,,,0,,,,,,-7.56975,2286.44949,0,1041.57349,1034,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 02:00:00",1,VIC1,0,100,0,100,0,0,3910.64,-17,4586.23,0,675.59,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,124,,,,,,,,147,,,,,,,,130,,,,,,-7.29441,7389.60358,392,3965.19531,3940.84,,44,,,,8,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/15 02:05:00",1,NSW1,0,101.75862,0,101.75862,0,0,7106.31,-19,7540.91,0,434.59,0,,,89,,,,,,,,67,,,,,,,,63,,,,,,,,120,,,,,,,,110,,,,,,,,107,,,,,,3.02797,11692.06912,181,7131.36182,7112.67,,96,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:05:00",1,QLD1,0,109.23146,0,109.23146,0,0,6319.73,-15,6035.87,0,-283.87,0,,,45,,,,,,,,64,,,,,,,,45,,,,,,,,14,,,,,,,,109.64,,,,,,,,127,,,,,,8.46851,9673.56915,125,6331.61279,6324.91,,0,,,,68,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:05:00",1,SA1,0,116.61619,0,116.61619,0,0,1230.89,-6,699.93,0,-530.95,0,,,64,,,,,,,,91,,,,,,,,77.02,,,,,,,,121.35,,,,,,,,172,,,,,,,,161,,,,,,-4.16238,2311.93285,362,1254.56543,1244.64,,10,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:05:00",1,TAS1,0,103.0262,0,103.0262,0,0,1031.55,-1,810.68,0,-220.87,0,,,8.92,,,,,,,,131.03,,,,,,,,101.68,,,,,,,,99.53,,,,,,,,152.18,,,,,,,,151.15,,,,,,-7.2974,2275.77714,0,1039.84473,1031.55,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 02:05:00",1,VIC1,0,100,0,100,0,0,3926.61,-17,4581.39,0,654.78,0,,,40,,,,,,,,38.83,,,,,,,,30,,,,,,,,127,,,,,,,,93,,,,,,,,90.66,,,,,,-6.76058,7391.25832,392,3979.14209,3955,,54,,,,14,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:10:00",1,NSW1,0,112.82208,0,112.82208,0,0,7168.26,-15,7499.29,0,331.03,0,,,62.34,,,,,,,,92,,,,,,,,88,,,,,,,,122,,,,,,,,109,,,,,,,,106,,,,,,6.47045,11676.21536,181,7179.30908,7170.74,,100,,,,56,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 02:10:00",1,QLD1,0,119.55,0,119.55,0,0,6263.09,-15,6073.22,0,-189.87,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,105.67,,,,,,,,141,,,,,,5.87547,9694.61573,125,6274.93506,6265.87,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 02:10:00",1,SA1,0,128.90984,0,128.90984,0,0,1238.94,-5,697.49,0,-541.45,0,,,50,,,,,,,,66,,,,,,,,58,,,,,,,,158.32,,,,,,,,174,,,,,,,,164,,,,,,-7.49792,2308.49162,362,1266.78125,1253.27,,10,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 02:10:00",1,TAS1,0,113.03895,0,113.03895,0,0,1019.09,-1,813.2,0,-205.89,0,,,0,,,,,,,,94.34,,,,,,,,33.78,,,,,,,,99.53,,,,,,,,152.18,,,,,,,,140.96,,,,,,-5.56167,2278.29719,0,1025.64795,1019.09,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 02:10:00",1,VIC1,0,110.00214,0,110.00214,0,0,3899.1,-15,4554.06,0,654.96,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,79,,,,,,,,98,,,,,,,,86.89,,,,,,-4.52142,7387.05596,392,3952.01563,3928.29,,50,,,,22,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 02:15:00",1,NSW1,0,114.97826,0,114.97826,0,0,7167.03,-14,7496.86,0,329.83,0,,,89,,,,,,,,67,,,,,,,,63,,,,,,,,122,,,,,,,,114.4,,,,,,,,105,,,,,,3.58899,11674.86001,181,7180.02588,7168.6,,72,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:15:00",1,QLD1,0,121.10319,0,121.10319,0,0,6280.48,-14,6112.71,0,-167.77,0,,,45,,,,,,,,64,,,,,,,,45,,,,,,,,28,,,,,,,,133,,,,,,,,154.4,,,,,,2.86892,9705.21138,125,6294.3125,6282.84,,0,,,,66,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:15:00",1,SA1,0,132.34583,0,132.34583,0,0,1226.08,-5,693.69,3,-535.38,0,,,53,,,,,,,,71.39,,,,,,,,82.28,,,,,,,,160,,,,,,,,173,,,,,,,,163,,,,,,-6.06116,2304.69231,362,1250.81519,1243.07,,22,,,,18,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:15:00",1,TAS1,0,115.21481,0,115.21481,0,0,1024.23,0,853.9,0,-170.33,0,,,28.67,,,,,,,,158.12,,,,,,,,96.53,,,,,,,,70.33,,,,,,,,120.32,,,,,,,,120.32,,,,,,-3.06989,2280.65614,0,1027.29895,1024.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 02:15:00",1,VIC1,0,112.93672,0,112.93672,0,0,3941.33,-14,4550.24,20,588.91,0,,,31,,,,,,,,31,,,,,,,,31,,,,,,,,100.56,,,,,,,,95,,,,,,,,93,,,,,,-5.50937,7374.24214,392,3989.44019,3988.67,,66,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:20:00",1,NSW1,0,113.52861,0,113.52861,0,0,7150.59,-12,7490.02,0,339.43,0,,,115.31,,,,,,,,99,,,,,,,,95,,,,,,,,121,,,,,,,,107,,,,,,,,104,,,,,,2.40951,11671.01916,181,7161.36328,7152.11,,64,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:20:00",1,QLD1,0,119.55,0,119.55,0,0,6277.74,-14,6108.36,0,-169.38,0,,,45,,,,,,,,56.2,,,,,,,,45,,,,,,,,25,,,,,,,,132,,,,,,,,141,,,,,,3.59105,9717.67326,125,6290.08447,6280.12,,0,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:20:00",1,SA1,0,130.03076,0,130.03076,0,0,1211.02,-5,689.42,0,-521.6,0,,,61,,,,,,,,64,,,,,,,,56,,,,,,,,148.16,,,,,,,,139.43,,,,,,,,149.21,,,,,,-11.50624,2300.41551,362,1243.14185,1224.27,,21,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:20:00",1,TAS1,0,115.17639,0,115.17639,0,0,1036.16,0,812.55,0,-223.61,0,,,0,,,,,,,,131.03,,,,,,,,80.93,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,157.4,,,,,,5.62614,2277.74718,0,1030.53394,1036.16,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 02:20:00",1,VIC1,0,111.50594,0,111.50594,0,0,3937.54,-8,4557.97,1,619.42,0,,,25,,,,,,,,41,,,,,,,,41,,,,,,,,80,,,,,,,,98,,,,,,,,83,,,,,,-14.6184,7391.96591,392,4003.31909,3965.65,,75,,,,28,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:25:00",1,NSW1,0,102.75655,0,102.75655,0,0,7159.01,-11,7496.34,3,334.33,0,,,80,,,,,,,,94,,,,,,,,90,,,,,,,,121,,,,,,,,107,,,,,,,,104,,,,,,3.66784,11677.34471,181,7169.2334,7165.32,,95,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.84,2.84,0 +D,DREGION,,2,"2023/12/15 02:25:00",1,QLD1,0,108.95605,0,108.95605,0,0,6310.67,-9,6103.15,0,-207.52,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,28,,,,,,,,110.89,,,,,,,,141,,,,,,3.05938,9734.73077,125,6319.32861,6313.92,,0,,,,57,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.84,2.84,0 +D,DREGION,,2,"2023/12/15 02:25:00",1,SA1,0,116.12544,0,116.12544,0,0,1201.43,-5,684.59,0,-516.84,0,,,59,,,,,,,,66,,,,,,,,58,,,,,,,,134.54,,,,,,,,174,,,,,,,,155.67,,,,,,-7.47848,2295.59088,362,1227.89258,1214.44,,31,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.84,2.84,0 +D,DREGION,,2,"2023/12/15 02:25:00",1,TAS1,0,103.29171,0,103.29171,0,0,1038.46,0,809.87,0,-228.59,0,,,0,,,,,,,,94.93,,,,,,,,33.04,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,157.4,,,,,,-0.97219,2274.97008,0,1039.43481,1038.46,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 02:25:00",1,VIC1,0,100,0,100,0,0,3897.63,-6,4583.03,20,665.4,0,,,77,,,,,,,,92,,,,,,,,92,,,,,,,,97,,,,,,,,91,,,,,,,,83,,,,,,-6.19229,7405.45737,392,3941.04492,3944.85,,34,,,,27,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.84,2.84,0 +D,DREGION,,2,"2023/12/15 02:30:00",1,NSW1,0,100,0,100,0,0,7138.91,-11,7480.32,5,336.41,0,,,72.83,,,,,,,,66,,,,,,,,62,,,,,,,,121,,,,,,,,107,,,,,,,,104,,,,,,4.18625,11677.5877,181,7151.17676,7146.42,,112,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:30:00",1,QLD1,0,105.95587,0,105.95587,0,0,6273.95,-11,6080.4,0,-193.55,0,,,45,,,,,,,,59.79,,,,,,,,45,,,,,,,,25,,,,,,,,132,,,,,,,,141,,,,,,5.39119,9718.52717,125,6282.2417,6276.8,,0,,,,53,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:30:00",1,SA1,0,113.56953,0,113.56953,0,0,1205.77,-5,684.15,1,-522.63,0,,,47,,,,,,,,53,,,,,,,,45,,,,,,,,148.46,,,,,,,,140.79,,,,,,,,149.76,,,,,,-5.26375,2295.14791,362,1229.7749,1220.09,,34,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:30:00",1,TAS1,0,100.59285,0,100.59285,0,0,1035.23,0,809.71,0,-225.53,0,,,0,,,,,,,,131.03,,,,,,,,82.92,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,157.21,,,,,,-1.1553,2274.80559,0,1036.38708,1035.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 02:30:00",1,VIC1,0,97.38715,0,97.38715,0,0,3937.3,-10,4593.81,5,651.5,0,,,82,,,,,,,,82,,,,,,,,82,,,,,,,,80,,,,,,,,97,,,,,,,,83,,,,,,-6.42665,7427.80554,389,3998.91309,3969.83,,14,,,,25,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:35:00",1,NSW1,0,116.43824,0,116.43824,0,0,7151.96,-7,7473.01,0,321.06,0,,,62,,,,,,,,40,,,,,,,,36,,,,,,,,121,,,,,,,,112.92,,,,,,,,106.92,,,,,,1.07518,11707.01185,181,7165.10791,7154.06,,96,,,,56,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.2,0.2,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:35:00",1,QLD1,0,122.5676,0,122.5676,0,0,6245.62,-8,6063.3,0,-182.33,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,30.83,,,,,,,,131,,,,,,,,168,,,,,,4.2227,9712.12627,125,6251.68604,6248.23,,0,,,,34,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.2,0.2,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:35:00",1,SA1,0,131.59818,0,131.59818,0,0,1201,-5,682.37,0,-518.63,0,,,51,,,,,,,,84.76,,,,,,,,56,,,,,,,,151,,,,,,,,165,,,,,,,,154,,,,,,-2.97927,2294.3684,362,1222.80469,1214.11,,21,,,,51,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.2,0.2,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:35:00",1,TAS1,0,115.22,0,115.22,0,0,1033.1,0,867.83,0,-165.28,0,,,0,,,,,,,,131,,,,,,,,89.06,,,,,,,,65.28,,,,,,,,115.27,,,,,,,,115.27,,,,,,1.4171,2267.70361,0,1031.68494,1033.1,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.2,0.2,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 02:35:00",1,VIC1,0,113.32416,0,113.32416,0,0,3934.72,-3,4523.21,0,588.5,0,,,88.68,,,,,,,,91,,,,,,,,91,,,,,,,,114,,,,,,,,113,,,,,,,,93,,,,,,-2.11314,7260.21312,389,3976.38159,3960.23,,43,,,,29,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.2,0.2,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 02:40:00",1,NSW1,0,114.9127,0,114.9127,0,0,7112.16,-5,7473.9,0,361.75,0,,,85,,,,,,,,99,,,,,,,,95,,,,,,,,121,,,,,,,,94.43,,,,,,,,104,,,,,,6.60294,11712.90348,181,7114.43652,7114.14,,94,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.49,0.49,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 02:40:00",1,QLD1,0,120.91927,0,120.91927,0,0,6244.44,-8,6056.45,0,-187.99,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25.13,,,,,,,,131,,,,,,,,160.43,,,,,,-4.53032,9709.8392,125,6259.79199,6247.13,,0,,,,52,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.49,0.49,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 02:40:00",1,SA1,0,132.23194,0,132.23194,0,0,1219.49,-5,681.74,0,-537.75,0,,,52,,,,,,,,66,,,,,,,,58,,,,,,,,159,,,,,,,,171,,,,,,,,161,,,,,,0.74211,2293.74115,362,1238.23853,1233.62,,10,,,,24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.49,0.49,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 02:40:00",1,TAS1,0,115.22,0,115.22,0,0,1036.13,0,859.54,0,-176.58,0,,,0,,,,,,,,78.17,,,,,,,,26.44,,,,,,,,76.58,,,,,,,,126.58,,,,,,,,126.58,,,,,,7.92539,2255.67995,0,1028.20044,1036.13,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 02:40:00",1,VIC1,0,112.83419,0,112.83419,0,0,3906.26,-1,4493.27,0,587.01,0,,,77,,,,,,,,103,,,,,,,,92,,,,,,,,98,,,,,,,,112,,,,,,,,83,,,,,,-15.06114,7268.27118,389,3952.81738,3933.89,,56,,,,17,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.49,0.49,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 02:45:00",1,NSW1,0,101.14732,0,101.14732,0,0,7104.35,-4,7514.93,0,410.58,0,,,63.88,,,,,,,,67,,,,,,,,63,,,,,,,,121,,,,,,,,110.71,,,,,,,,104,,,,,,7.72393,11710.92972,181,7104.06982,7106.41,,102,,,,70,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 02:45:00",1,QLD1,0,107.03506,0,107.03506,0,0,6202.73,-6,6000.93,0,-201.8,0,,,45,,,,,,,,48.66,,,,,,,,45,,,,,,,,28,,,,,,,,131,,,,,,,,165.71,,,,,,-3.7336,9698.97076,125,6214.76025,6205.66,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 02:45:00",1,SA1,0,116.63171,0,116.63171,0,0,1207.89,-4,677.36,0,-530.53,0,,,50,,,,,,,,53,,,,,,,,45,,,,,,,,144,,,,,,,,157,,,,,,,,146,,,,,,0,2288.35971,362,1226.80945,1221.64,,26,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 02:45:00",1,TAS1,0,101.98965,0,101.98965,0,0,1016.27,0,837.52,0,-178.75,0,,,0,,,,,,,,131,,,,,,,,70.13,,,,,,,,78.75,,,,,,,,128.75,,,,,,,,128.75,,,,,,8.6034,2252.61684,0,1007.66351,1016.27,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 02:45:00",1,VIC1,0,100,0,100,0,0,3828.87,1,4374.62,0,545.75,0,,,89,,,,,,,,94,,,,,,,,94,,,,,,,,109.93,,,,,,,,110,,,,,,,,93,,,,,,-25.66669,7239.01493,389,3883.12451,3855.38,,32,,,,33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 02:50:00",1,NSW1,0,96.17157,0,96.17157,0,0,7056.07,-5,7471.86,0,415.78,0,,,79.65,,,,,,,,67,,,,,,,,63,,,,,,,,121,,,,,,,,107,,,,,,,,104,,,,,,20.25133,11717.85515,181,7043.6582,7058.27,,107,,,,72,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:50:00",1,QLD1,0,101.74017,0,101.74017,0,0,6224.05,-5,6017.06,0,-206.99,0,,,45,,,,,,,,51.59,,,,,,,,45,,,,,,,,25,,,,,,,,102,,,,,,,,141,,,,,,-2.39053,9704.6767,125,6234.71436,6227.06,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:50:00",1,SA1,0,111.42805,0,111.42805,0,0,1202.74,-4,670.92,10,-541.82,0,,,45,,,,,,,,51,,,,,,,,43,,,,,,,,128.91,,,,,,,,158.86,,,,,,,,159.47,,,,,,5.84281,2281.92451,362,1214.8291,1227.11,,34,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:50:00",1,TAS1,0,98.18,0,98.18,0,0,1019.39,0,793.03,0,-226.37,0,,,0,,,,,,,,131,,,,,,,,75.36,,,,,,,,126.36,,,,,,,,176.36,,,,,,,,146.75,,,,,,2.50201,2255.20185,0,1016.88953,1019.39,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,4.5,4.5,0 +D,DREGION,,2,"2023/12/15 02:50:00",1,VIC1,0,95.07055,0,95.07055,0,0,3816.48,-5,4424.59,0,608.11,0,,,76,,,,,,,,91,,,,,,,,91,,,,,,,,77,,,,,,,,90,,,,,,,,83,,,,,,-34.3375,7402.59012,389,3883.93921,3845.62,,19,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:55:00",1,NSW1,0,102.04802,0,102.04802,0,0,7044.64,-7,7514.5,5,464.86,0,,,66.44,,,,,,,,72,,,,,,,,68,,,,,,,,120.09,,,,,,,,115.8,,,,,,,,104,,,,,,5.53666,11715.50365,181,7050.72119,7055.36,,100,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:55:00",1,QLD1,0,109.439,0,109.439,0,0,6293.66,-4,6011.39,2,-284.27,0,,,45,,,,,,,,46.14,,,,,,,,45,,,,,,,,30,,,,,,,,130,,,,,,,,141,,,,,,1.49728,9705.13835,125,6300.47168,6300.73,,0,,,,67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:55:00",1,SA1,0,116.63613,0,116.63613,0,0,1179.42,-4,668.34,15,-526.08,0,,,63,,,,,,,,66,,,,,,,,58,,,,,,,,138,,,,,,,,147,,,,,,,,162,,,,,,0.26603,2279.33988,362,1195.37891,1207.94,,21,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 02:55:00",1,TAS1,0,102.25516,0,102.25516,0,0,1032.17,0,845.04,0,-187.13,0,,,0,,,,,,,,131,,,,,,,,74.01,,,,,,,,87.13,,,,,,,,137.13,,,,,,,,137.13,,,,,,2.72981,2260.14246,0,1029.44385,1032.17,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 02:55:00",1,VIC1,0,100,0,100,0,0,3851.13,-6,4445.45,11,583.32,0,,,67,,,,,,,,72,,,,,,,,72,,,,,,,,102,,,,,,,,103,,,,,,,,88.8,,,,,,-15.05868,7399.81816,389,3897.65576,3888.53,,39,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0 +D,DREGION,,2,"2023/12/15 03:00:00",1,NSW1,0,100,0,100,0,0,7101.55,-4,7496.67,18,377.12,0,,,95,,,,,,,,73,,,,,,,,69,,,,,,,,134.98,,,,,,,,139.3,,,,,,,,104,,,,,,17.00239,11719.06873,181,7096.64648,7123.47,,71,,,,82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.85,7.85,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:00:00",1,QLD1,0,106.55888,0,106.55888,0,0,6253.39,-4,6020.2,0,-233.19,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,26,,,,,,,,130,,,,,,,,142.3,,,,,,0.94158,9715.14249,125,6261.7627,6257.11,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.85,7.85,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:00:00",1,SA1,0,113.56665,0,113.56665,0,0,1191.33,-4,669.34,12,-533.99,0,,,66,,,,,,,,112.4,,,,,,,,67.15,,,,,,,,135,,,,,,,,134,,,,,,,,162,,,,,,-7.32217,2280.33975,362,1225.20337,1217.25,,21,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.85,7.85,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:00:00",1,TAS1,0,99.31122,0,99.31122,0,0,1021.86,0,843.35,0,-178.52,0,,,20,,,,,,,,131,,,,,,,,103.32,,,,,,,,78.52,,,,,,,,128.51,,,,,,,,128.51,,,,,,1.15618,2258.54529,0,1020.70563,1021.86,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:00:00",1,VIC1,0,97.37999,0,97.37999,0,0,3907.15,-5,4524.82,0,617.67,0,,,22.08,,,,,,,,32,,,,,,,,32,,,,,,,,100,,,,,,,,98,,,,,,,,93,,,,,,-9.67002,7392.82039,389,3958.63452,3934.69,,68,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.85,7.85,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:05:00",1,NSW1,0,96.08367,0,96.08367,0,0,7002.97,-5,7458.26,29,426.28,0,,,69.8,,,,,,,,66,,,,,,,,62,,,,,,,,121,,,,,,,,106,,,,,,,,104,,,,,,11.78946,11719.25509,181,7012.07129,7034.74,,97,,,,85,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 03:05:00",1,QLD1,0,101.63614,0,101.63614,0,0,6240.51,-4,6020.12,0,-220.4,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,101,,,,,,,,141,,,,,,0.73289,9721.14937,125,6247.33057,6243.81,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 03:05:00",1,SA1,0,110.33169,0,110.33169,0,0,1171.94,-3,669.85,0,-502.09,0,,,45,,,,,,,,64,,,,,,,,56,,,,,,,,129.33,,,,,,,,159.93,,,,,,,,156.26,,,,,,-6.92124,2279.84896,362,1209.71973,1184.17,,31,,,,4,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 03:05:00",1,TAS1,0,98.18,0,98.18,0,0,1030.34,0,807.37,0,-222.97,0,,,0,,,,,,,,114.4,,,,,,,,49.87,,,,,,,,122.97,,,,,,,,172.97,,,,,,,,146.63,,,,,,-0.02734,2261.92481,0,1030.3667,1030.34,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:05:00",1,VIC1,0,95.07055,0,95.07055,0,0,3954.73,1,4516.88,0,562.15,0,,,88,,,,,,,,104,,,,,,,,104,,,,,,,,77,,,,,,,,91,,,,,,,,83,,,,,,9.11234,7227.87833,389,3975.00049,3979.41,,32,,,,35,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 03:10:00",1,NSW1,0,114.85244,0,114.85244,0,0,7076.94,-5,7494.63,0,417.68,0,,,75.55,,,,,,,,67,,,,,,,,63,,,,,,,,121,,,,,,,,114.35,,,,,,,,104,,,,,,8.88401,11715.6254,181,7093.80371,7078.28,,102,,,,61,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,10.98,10.98,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/15 03:10:00",1,QLD1,0,120.71112,0,120.71112,0,0,6182,-5,5995.88,0,-186.12,0,,,45,,,,,,,,62.04,,,,,,,,45,,,,,,,,28,,,,,,,,129,,,,,,,,168,,,,,,2.51364,9707.1239,125,6186.66309,6184.55,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,10.98,10.98,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/15 03:10:00",1,SA1,0,132.44742,0,132.44742,0,0,1194.64,-3,665.37,0,-529.27,0,,,46,,,,,,,,52,,,,,,,,44,,,,,,,,160,,,,,,,,173,,,,,,,,162,,,,,,0.59814,2275.36892,362,1210.95801,1208.31,,34,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,10.98,10.98,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/15 03:10:00",1,TAS1,0,115.26,0,115.26,0,0,1038.2,1,882.66,0,-155.54,0,,,0,,,,,,,,131,,,,,,,,82.71,,,,,,,,55.54,,,,,,,,105.54,,,,,,,,105.54,,,,,,-1.34773,2264.11427,0,1038.54553,1038.2,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:10:00",1,VIC1,0,113.57087,0,113.57087,0,0,3957.31,2,4453.84,0,496.53,0,,,82,,,,,,,,82,,,,,,,,82,,,,,,,,107.86,,,,,,,,106,,,,,,,,88.35,,,,,,7.99155,7226.84247,386,3976.55762,3983.04,,24,,,,42,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,10.98,10.98,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.7,3.7,0 +D,DREGION,,2,"2023/12/15 03:15:00",1,NSW1,0,139.28944,0,139.28944,0,0,7059.89,-2,7537.33,0,477.44,0,,,109,,,,,,,,127,,,,,,,,113,,,,,,,,151.67,,,,,,,,167.1,,,,,,,,129.1,,,,,,18.94527,11769.8836,181,7048.23877,7063.53,,96,,,,56,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:15:00",1,QLD1,0,148.37054,0,148.37054,0,0,6261.66,-2,6016.08,0,-245.58,0,,,45,,,,,,,,62.66,,,,,,,,45,,,,,,,,31,,,,,,,,128,,,,,,,,168,,,,,,2.95919,9701.42493,125,6265.05322,6265.65,,0,,,,21,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:15:00",1,SA1,0,159.85828,0,159.85828,0,0,1176.42,-2,657.72,0,-518.69,0,,,52,,,,,,,,52,,,,,,,,44,,,,,,,,147,,,,,,,,158,,,,,,,,147,,,,,,0.14107,2267.72389,362,1191.30933,1189.53,,34,,,,70,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:15:00",1,TAS1,0,138.92729,0,138.92729,0,0,1031.33,1,904,0,-127.32,0,,,11.23,,,,,,,,131,,,,,,,,93.63,,,,,,,,27.32,,,,,,,,77.32,,,,,,,,77.32,,,,,,6.14904,2281.1048,0,1024.17773,1031.33,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:15:00",1,VIC1,0,137.66,0,137.66,0,0,3948.89,1,4407.86,0,458.97,0,,,31,,,,,,,,21,,,,,,,,21,,,,,,,,102,,,,,,,,84,,,,,,,,93,,,,,,-5.56759,7205.52119,383,3978.31689,3972.97,,30,,,,23,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:20:00",1,NSW1,0,140.4018,0,140.4018,0,0,7123.53,3,7541.34,0,417.81,0,,,118.44,,,,,,,,159,,,,,,,,141.73,,,,,,,,149.74,,,,,,,,160.95,,,,,,,,124.95,,,,,,28.18887,11762.33789,181,7095.6958,7127.5,,44,,,,77,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,11,11,0,0.34,0.34,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:20:00",1,QLD1,0,149.63434,0,149.63434,0,0,6262.15,-1,6019.79,0,-242.36,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,31,,,,,,,,127,,,,,,,,168,,,,,,0.8507,9705.34161,125,6265.85693,6266.11,,0,,,,41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,11,11,0,0.34,0.34,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:20:00",1,SA1,0,160.54277,0,160.54277,0,0,1185.24,-2,656.51,0,-528.74,0,,,60,,,,,,,,63,,,,,,,,55,,,,,,,,160,,,,,,,,171,,,,,,,,160,,,,,,1.46567,2265.50527,362,1198.51855,1198.89,,10,,,,11,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,11,11,0,0.34,0.34,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:20:00",1,TAS1,0,138.88729,0,138.88729,0,0,1017.5,1,896.38,0,-121.12,0,,,0,,,,,,,,85.65,,,,,,,,44.59,,,,,,,,21.12,,,,,,,,71.11,,,,,,,,71.11,,,,,,8.93695,2273.48262,0,1007.56317,1017.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:20:00",1,VIC1,0,137.66,0,137.66,0,0,3937.87,6,4459.41,0,521.53,0,,,25,,,,,,,,41,,,,,,,,30,,,,,,,,100,,,,,,,,87,,,,,,,,93,,,,,,-19.12672,7371.25768,383,3974.41748,3963.42,,106,,,,41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,11,11,0,0.34,0.34,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:25:00",1,NSW1,0,100,0,100,0,0,7053.48,7,7531.74,0,478.26,0,,,80,,,,,,,,145.56,,,,,,,,124.53,,,,,,,,121,,,,,,,,126.11,,,,,,,,104,,,,,,28.58341,11753.98144,181,7023.62891,7060.45,,81,,,,75,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.86,7.86,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 03:25:00",1,QLD1,0,107.86229,0,107.86229,0,0,6263.52,2,5953.63,0,-309.89,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,29.68,,,,,,,,127,,,,,,,,152.11,,,,,,0.65954,9711.31356,125,6264.9209,6269.28,,0,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.86,7.86,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 03:25:00",1,SA1,0,113.1852,0,113.1852,0,0,1156.04,-2,659.5,0,-496.54,0,,,58,,,,,,,,65,,,,,,,,57,,,,,,,,160,,,,,,,,173,,,,,,,,162,,,,,,-3.33549,2268.50443,362,1175.05029,1167.99,,20,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.86,7.86,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 03:25:00",1,TAS1,0,99.19068,0,99.19068,0,0,1009.85,2,855.5,0,-154.35,0,,,0,,,,,,,,45,,,,,,,,13.1,,,,,,,,54.35,,,,,,,,104.34,,,,,,,,104.34,,,,,,7.36371,2270.60387,0,1000.48657,1009.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:25:00",1,VIC1,0,98.00594,0,98.00594,0,0,3969.69,9,4499.5,0,529.8,0,,,87,,,,,,,,92,,,,,,,,77,,,,,,,,99,,,,,,,,89,,,,,,,,97,,,,,,-4.11443,7339.49696,383,3988.60791,3992.3,,59,,,,43,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.86,7.86,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0 +D,DREGION,,2,"2023/12/15 03:30:00",1,NSW1,0,97.30663,0,97.30663,0,0,7017.58,6,7492.4,40,434.82,0,,,64.68,,,,,,,,121,,,,,,,,107,,,,,,,,121,,,,,,,,106,,,,,,,,104,,,,,,0,11754.39961,181,7019.99121,7063.29,,82,,,,107,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.42679,9.42679,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/15 03:30:00",1,QLD1,0,104.26045,0,104.26045,0,0,6242.14,3,5959.19,0,-282.95,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,98,,,,,,,,141,,,,,,2.15826,9718.33363,125,6242.12207,6247.06,,0,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.42679,9.42679,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/15 03:30:00",1,SA1,0,110.08612,0,110.08612,0,0,1155.32,-2,665.21,0,-490.11,0,,,49,,,,,,,,52,,,,,,,,44,,,,,,,,127.73,,,,,,,,170.52,,,,,,,,143.4,,,,,,-0.55213,2274.21385,362,1173.65759,1166.96,,44,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.42679,9.42679,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/15 03:30:00",1,TAS1,0,98.18,0,98.18,0,0,1029.31,2,814.87,0,-214.44,0,,,0,,,,,,,,81.46,,,,,,,,29.13,,,,,,,,114.43,,,,,,,,164.43,,,,,,,,146.54,,,,,,-1.43505,2264.22306,0,1028.74463,1029.31,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:30:00",1,VIC1,0,95.31556,0,95.31556,0,0,3923.89,8,4522.35,0,598.46,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,74,,,,,,,,79,,,,,,,,83,,,,,,10.69667,7322.35464,383,3931.75024,3947.41,,34,,,,22,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.42679,9.42679,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.71,3.71,0 +D,DREGION,,2,"2023/12/15 03:35:00",1,NSW1,0,100,0,100,0,0,7119.04,10,7529.89,0,410.85,0,,,109,,,,,,,,127,,,,,,,,113,,,,,,,,121,,,,,,,,106,,,,,,,,104,,,,,,5.37956,11750.27351,181,7135.51221,7120.77,,96,,,,86.71,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:35:00",1,QLD1,0,105.82836,0,105.82836,0,0,6180.17,-4,5981.13,0,-199.03,0,,,45,,,,,,,,53.73,,,,,,,,45,,,,,,,,25,,,,,,,,105.18,,,,,,,,141,,,,,,-0.16722,9723.39613,125,6187.10059,6183.04,,0,,,,41.29,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:35:00",1,SA1,0,114.48189,0,114.48189,0,0,1165.54,-2,666.01,0,-499.53,0,,,50,,,,,,,,50,,,,,,,,42,,,,,,,,138.98,,,,,,,,171,,,,,,,,134.56,,,,,,0.97398,2276.01178,362,1178.75562,1177.66,,34,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:35:00",1,TAS1,0,101.34889,0,101.34889,0,0,1049.76,2,841.88,0,-207.88,0,,,12.18,,,,,,,,131,,,,,,,,86.8,,,,,,,,105.53,,,,,,,,157.88,,,,,,,,156.51,,,,,,-2.52497,2257.08058,0,1050.28943,1049.76,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:35:00",1,VIC1,0,98.63587,0,98.63587,0,0,3917.65,7,4453.55,0,535.9,0,,,30,,,,,,,,30,,,,,,,,30,,,,,,,,73,,,,,,,,79,,,,,,,,83,,,,,,21.1295,7310.55264,383,3915.56982,3941.23,,30,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:40:00",1,NSW1,0,101.29515,0,101.29515,0,0,7086.41,17,7538.63,0,452.22,0,,,114,,,,,,,,154,,,,,,,,140,,,,,,,,120,,,,,,,,106,,,,,,,,104,,,,,,12.40138,11749.62552,181,7060.3999,7089.21,,69,,,,87,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:40:00",1,QLD1,0,107.91888,0,107.91888,0,0,6248.5,0,6022.27,0,-226.22,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,124,,,,,,,,141,,,,,,-2.95953,9756.26191,125,6254.92285,6252.02,,0,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:40:00",1,SA1,0,116.06214,0,116.06214,0,0,1166.86,-1,666.42,0,-500.44,0,,,61.06,,,,,,,,65,,,,,,,,57,,,,,,,,139.96,,,,,,,,150.83,,,,,,,,122.47,,,,,,0.11955,2276.41697,362,1180.17041,1179.02,,10,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:40:00",1,TAS1,0,103.29171,0,103.29171,0,0,1051.7,2,828.93,0,-222.77,0,,,0,,,,,,,,96.58,,,,,,,,43.75,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,168.53,,,,,,-2.46821,2244.12557,0,1052.16553,1051.7,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:40:00",1,VIC1,0,100,0,100,0,0,3920.44,8,4460.28,0,539.84,0,,,26,,,,,,,,31,,,,,,,,31,,,,,,,,73,,,,,,,,80,,,,,,,,83,,,,,,5.41287,7301.48957,383,3933.07153,3944.58,,81,,,,24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 03:45:00",1,NSW1,0,100,0,100,0,0,7061.74,16,7553.34,0,491.6,0,,,66.15,,,,,,,,126,,,,,,,,112,,,,,,,,121,,,,,,,,108,,,,,,,,104,,,,,,9.13658,11779.93846,181,7039.11279,7063.78,,127,,,,87,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 03:45:00",1,QLD1,0,105.84327,0,105.84327,0,0,6251.2,3,6042.88,0,-208.32,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,124,,,,,,,,141,,,,,,0.50833,9777.5695,125,6250.80078,6254.29,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 03:45:00",1,SA1,0,115.58162,0,115.58162,0,0,1179.21,-1,671.02,0,-508.18,0,,,47,,,,,,,,63,,,,,,,,57,,,,,,,,137.92,,,,,,,,151.76,,,,,,,,120.4,,,,,,1.74372,2281.02259,362,1191.3147,1191.76,,10,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 03:45:00",1,TAS1,0,103.13225,0,103.13225,0,0,1056.85,2,815.16,0,-241.69,0,,,0,,,,,,,,64.63,,,,,,,,10.7,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,168.53,,,,,,-3.09207,2230.36272,0,1057.94202,1056.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:45:00",1,VIC1,0,99.58962,0,99.58962,0,0,3939.17,9,4448.98,0,509.8,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,72,,,,,,,,75,,,,,,,,83,,,,,,8.7801,7282.97552,383,3948.48999,3964.71,,23,,,,25,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0 +D,DREGION,,2,"2023/12/15 03:50:00",1,NSW1,0,100.47471,0,100.47471,0,0,7126.34,18,7565.44,0,439.11,0,,,67.49,,,,,,,,127,,,,,,,,113,,,,,,,,121,,,,,,,,110,,,,,,,,104,,,,,,8.27806,11771.44373,181,7101.36035,7126.85,,102,,,,85,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 03:50:00",1,QLD1,0,105.69581,0,105.69581,0,0,6221.6,5,6056.89,0,-164.72,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,28,,,,,,,,123,,,,,,,,141,,,,,,-1.00187,9785.36644,125,6219.70361,6223.81,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 03:50:00",1,SA1,0,116.05715,0,116.05715,0,0,1175.52,0,672.68,0,-502.84,0,,,47,,,,,,,,50,,,,,,,,42,,,,,,,,117.51,,,,,,,,151.21,,,,,,,,124.85,,,,,,0.61579,2282.68216,362,1187.31274,1187.8,,24,,,,13,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 03:50:00",1,TAS1,0,103.82275,0,103.82275,0,0,1055.01,2,802.87,0,-252.15,0,,,0,,,,,,,,77.84,,,,,,,,24.51,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,168.53,,,,,,-2.88914,2217.96581,0,1055.90063,1055.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:50:00",1,VIC1,0,100,0,100,0,0,3944.59,9,4465.43,0,520.85,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,94,,,,,,,,79,,,,,,,,83,,,,,,5.29987,7289.17458,383,3957.48926,3969.84,,34,,,,26,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0 +D,DREGION,,2,"2023/12/15 03:55:00",1,NSW1,0,93.89,0,93.89,0,0,7057.86,15,7576.02,0,518.16,0,,,52.29,,,,,,,,127,,,,,,,,113,,,,,,,,95,,,,,,,,80,,,,,,,,78,,,,,,0,11775.323,181,7045.78906,7059.27,,131,,,,84.19,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 03:55:00",1,QLD1,0,99.33024,0,99.33024,0,0,6215.1,4,6023.84,0,-191.26,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,123,,,,,,,,141,,,,,,0,9810.89118,125,6213.47266,6217.77,,0,,,,47.81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 03:55:00",1,SA1,0,109.36899,0,109.36899,0,0,1170.23,0,672.55,0,-497.68,0,,,58,,,,,,,,65,,,,,,,,57,,,,,,,,126.49,,,,,,,,156.5,,,,,,,,154.81,,,,,,-0.37905,2281.54995,362,1185.42908,1182.24,,10,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 03:55:00",1,TAS1,0,98.19995,0,98.19995,0,0,1051.4,2,778.4,0,-273,0,,,0,,,,,,,,58.87,,,,,,,,9.84,,,,,,,,124.81,,,,,,,,177.37,,,,,,,,159.06,,,,,,-2.53011,2212.98638,0,1051.93311,1051.4,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 03:55:00",1,VIC1,0,94.23899,0,94.23899,0,0,3955.55,10,4441.1,0,485.56,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,89,,,,,,,,79,,,,,,,,83,,,,,,0,7289.10284,383,3974.55835,3981.22,,19,,,,27,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,0.72,0.72,0 +D,DREGION,,2,"2023/12/15 04:00:00",1,NSW1,0,93.91159,0,93.91159,0,0,7053.98,14,7587.87,0,533.89,0,,,109,,,,,,,,127,,,,,,,,113,,,,,,,,95,,,,,,,,83.4,,,,,,,,78,,,,,,-5.97607,11773.873,181,7048.31055,7056.15,,122,,,,85,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 04:00:00",1,QLD1,0,99.42,0,99.42,0,0,6249.7,1,6049.07,8,-208.63,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,26,,,,,,,,122,,,,,,,,121,,,,,,-11.11702,9817.16785,125,6262.7207,6260.82,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 04:00:00",1,SA1,0,109.41321,0,109.41321,0,0,1175.23,1,670.26,0,-504.97,0,,,52,,,,,,,,65,,,,,,,,57,,,,,,,,142.61,,,,,,,,172,,,,,,,,162,,,,,,0.97331,2279.26481,362,1185.51172,1187.61,,10,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0 +D,DREGION,,2,"2023/12/15 04:00:00",1,TAS1,0,98.38402,0,98.38402,0,0,1063.55,3,787.74,0,-275.81,0,,,0,,,,,,,,121.66,,,,,,,,68.63,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,158.93,,,,,,-1.11468,2202.84432,0,1061.66736,1063.55,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.39,0.39,0,7.48,7.48,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,3.5,3.5,0 +D,DREGION,,2,"2023/12/15 04:00:00",1,VIC1,0,94.27931,0,94.27931,0,0,3966.59,12,4466.39,0,499.8,0,,,38.23,,,,,,,,31,,,,,,,,31,,,,,,,,95,,,,,,,,84,,,,,,,,99.65,,,,,,-7.45028,7297.39085,383,3990.6355,3993.21,,28,,,,28,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0 +I,DREGION,,3,SETTLEMENTDATE,RUNNO,REGIONID,INTERVENTION,RRP,EEP,ROP,APCFLAG,MARKETSUSPENDEDFLAG,TOTALDEMAND,DEMANDFORECAST,DISPATCHABLEGENERATION,DISPATCHABLELOAD,NETINTERCHANGE,EXCESSGENERATION,LOWER5MINDISPATCH,LOWER5MINIMPORT,LOWER5MINLOCALDISPATCH,LOWER5MINLOCALPRICE,LOWER5MINLOCALREQ,LOWER5MINPRICE,LOWER5MINREQ,LOWER5MINSUPPLYPRICE,LOWER60SECDISPATCH,LOWER60SECIMPORT,LOWER60SECLOCALDISPATCH,LOWER60SECLOCALPRICE,LOWER60SECLOCALREQ,LOWER60SECPRICE,LOWER60SECREQ,LOWER60SECSUPPLYPRICE,LOWER6SECDISPATCH,LOWER6SECIMPORT,LOWER6SECLOCALDISPATCH,LOWER6SECLOCALPRICE,LOWER6SECLOCALREQ,LOWER6SECPRICE,LOWER6SECREQ,LOWER6SECSUPPLYPRICE,RAISE5MINDISPATCH,RAISE5MINIMPORT,RAISE5MINLOCALDISPATCH,RAISE5MINLOCALPRICE,RAISE5MINLOCALREQ,RAISE5MINPRICE,RAISE5MINREQ,RAISE5MINSUPPLYPRICE,RAISE60SECDISPATCH,RAISE60SECIMPORT,RAISE60SECLOCALDISPATCH,RAISE60SECLOCALPRICE,RAISE60SECLOCALREQ,RAISE60SECPRICE,RAISE60SECREQ,RAISE60SECSUPPLYPRICE,RAISE6SECDISPATCH,RAISE6SECIMPORT,RAISE6SECLOCALDISPATCH,RAISE6SECLOCALPRICE,RAISE6SECLOCALREQ,RAISE6SECPRICE,RAISE6SECREQ,RAISE6SECSUPPLYPRICE,AGGREGATEDISPATCHERROR,AVAILABLEGENERATION,AVAILABLELOAD,INITIALSUPPLY,CLEAREDSUPPLY,LOWERREGIMPORT,LOWERREGLOCALDISPATCH,LOWERREGLOCALREQ,LOWERREGREQ,RAISEREGIMPORT,RAISEREGLOCALDISPATCH,RAISEREGLOCALREQ,RAISEREGREQ,RAISE5MINLOCALVIOLATION,RAISEREGLOCALVIOLATION,RAISE60SECLOCALVIOLATION,RAISE6SECLOCALVIOLATION,LOWER5MINLOCALVIOLATION,LOWERREGLOCALVIOLATION,LOWER60SECLOCALVIOLATION,LOWER6SECLOCALVIOLATION,RAISE5MINVIOLATION,RAISEREGVIOLATION,RAISE60SECVIOLATION,RAISE6SECVIOLATION,LOWER5MINVIOLATION,LOWERREGVIOLATION,LOWER60SECVIOLATION,LOWER6SECVIOLATION,RAISE6SECRRP,RAISE6SECROP,RAISE6SECAPCFLAG,RAISE60SECRRP,RAISE60SECROP,RAISE60SECAPCFLAG,RAISE5MINRRP,RAISE5MINROP,RAISE5MINAPCFLAG,RAISEREGRRP,RAISEREGROP,RAISEREGAPCFLAG,LOWER6SECRRP,LOWER6SECROP,LOWER6SECAPCFLAG,LOWER60SECRRP,LOWER60SECROP,LOWER60SECAPCFLAG,LOWER5MINRRP,LOWER5MINROP,LOWER5MINAPCFLAG,LOWERREGRRP,LOWERREGROP,LOWERREGAPCFLAG,RAISE6SECACTUALAVAILABILITY,RAISE60SECACTUALAVAILABILITY,RAISE5MINACTUALAVAILABILITY,RAISEREGACTUALAVAILABILITY,LOWER6SECACTUALAVAILABILITY,LOWER60SECACTUALAVAILABILITY,LOWER5MINACTUALAVAILABILITY,LOWERREGACTUALAVAILABILITY,LORSURPLUS,LRCSURPLUS +D,DREGION,,3,"2023/12/14 04:05:00",1,NSW1,0,62.75,0,62.75,0,0,6927.79,25,6347.74,5,-585.05,0,,,59,,,,,,,,127.87,,,,,,,,109,,,,,,,,105,,,,,,,,83,,,,,,,,88,,,,,,23.43995,11768.59728,116,6905.63135,6950.23,,53,,,,97,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.2,0.2,0,0.95,0.95,0,0,0,0,3.76,3.76,0,392,396,648,289.772506,272.517980,386.517980,251.655610,330.873104,, +D,DREGION,,3,"2023/12/14 04:05:00",1,QLD1,0,61.94798,0,61.94798,0,0,5940.84,2,6087.37,0,146.53,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,66,,,,,,,,161,,,,,,,,137.96,,,,,,13.49735,9930.44217,125,5925.42822,5940.94,,0,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.2,0.2,0,0.95,0.95,0,0,0,0,3.76,3.76,0,336,454.333333,174,233.105749,243,347,240,223.571560,, +D,DREGION,,3,"2023/12/14 04:05:00",1,SA1,0,55.33728,0,55.33728,0,0,1188.3,1,1222.82,8,26.52,0,,,52,,,,,,,,80,,,,,,,,58,,,,,,,,145,,,,,,,,151,,,,,,,,159,,,,,,-9.44872,2593.27693,362,1201.91394,1196.04,,31,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.2,0.2,0,0.95,0.95,0,0,0,0,3.76,3.76,0,282,285,251,117.350356,247,255,253,349,, +D,DREGION,,3,"2023/12/14 04:05:00",1,TAS1,0,58.73231,0,58.73231,0,0,931.43,3,593.99,0,-337.44,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,144.55,,,,,,7.26284,2172.0854,0,921.1665,931.43,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.2,0.2,0,0.95,0.95,0,0,0,0,4.5,4.5,0,191.238095,210.354312,77.783784,50,78.850277,170.535150,188.911312,105.894309,, +D,DREGION,,3,"2023/12/14 04:05:00",1,VIC1,0,55.71488,0,55.71488,0,0,4053.86,9,4850.38,3,793.52,0,,,104,,,,,,,,134,,,,,,,,105.83,,,,,,,,118.17,,,,,,,,115.79,,,,,,,,135,,,,,,-11.93094,7994.3828,433,4089.70752,4083.67,,76,,,,14,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.2,0.2,0,0.95,0.95,0,0,0,0,3.76,3.76,0,595.666667,574,571,43,405.0001,640.0001,518.0001,544.3124,, +D,DREGION,,3,"2023/12/14 04:10:00",1,NSW1,0,65.33,0,65.33,0,0,7013.74,27,6594.39,4.74,-424.09,0,,,46.13,,,,,,,,101,,,,,,,,87,,,,,,,,105,,,,,,,,110,,,,,,,,88,,,,,,28.46649,11750.27383,116,6976.4165,7027.51,,48.61,,,,92,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.61,3.61,0,392,396,648,224.658967,251.389180,365.389180,259.506760,334.626912,, +D,DREGION,,3,"2023/12/14 04:10:00",1,QLD1,0,64.5788,0,64.5788,0,0,5981,2,6127.16,0,146.16,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,66,,,,,,,,138.35,,,,,,,,134,,,,,,12.90386,9915.36589,125,5966.19775,5981.04,,0,,,,59,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.61,3.61,0,336,454.333333,174,257.643192,253,357,240,223.026466,, +D,DREGION,,3,"2023/12/14 04:10:00",1,SA1,0,58.98704,0,58.98704,0,0,1196.09,2,1218.35,5,17.25,0,,,48,,,,,,,,55,,,,,,,,47,,,,,,,,140.63,,,,,,,,167,,,,,,,,161,,,,,,-2.2577,2573.62491,362,1198.87781,1200.81,,32,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.61,3.61,0,284,288,254,115.851470,248,256,254,350.997890,, +D,DREGION,,3,"2023/12/14 04:10:00",1,TAS1,0,62.77221,0,62.77221,0,0,922.51,3,583.32,0,-339.19,0,,,0,,,,,,,,92.79,,,,,,,,27.55,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,143.33,,,,,,7.81649,2166.42417,0,911.69324,922.51,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,4.5,4.5,0,191.238095,210.354312,77.783784,50,78.850277,170.535150,188.911312,105.894303,, +D,DREGION,,3,"2023/12/14 04:10:00",1,VIC1,0,59.39762,0,59.39762,0,0,4182.39,15,4808.15,0,625.76,0,,,100,,,,,,,,91,,,,,,,,110,,,,,,,,126,,,,,,,,98,,,,,,,,140.74,,,,,,0,8003.15483,438,4192.49219,4199.51,,79.39,,,,8,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.61,3.61,0,606.666667,585,581,38,278.0001,279.0001,279.0001,388.9999,, +D,DREGION,,3,"2023/12/14 04:15:00",1,NSW1,0,65.55094,0,65.55094,0,0,7062.92,29,6642.43,0,-420.49,0,,,93.64,,,,,,,,133,,,,,,,,119,,,,,,,,105,,,,,,,,110,,,,,,,,100.05,,,,,,32.81321,11707.73992,115,7014.54688,7070.52,,25,,,,89,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,392,396,648,260.915055,265,379,281,336.287293,, +D,DREGION,,3,"2023/12/14 04:15:00",1,QLD1,0,64,0,64,0,0,5997.71,5,6183.48,0,185.77,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,68,,,,,,,,164,,,,,,,,153,,,,,,22.61529,9922.07015,125,5970.32129,5997.99,,0,,,,71,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,338,457.333333,176,204.993593,281,385,240,280.571560,, +D,DREGION,,3,"2023/12/14 04:15:00",1,SA1,0,60.28646,0,60.28646,0,0,1206.95,2,1212.63,8,-2.32,0,,,65,,,,,,,,68,,,,,,,,60,,,,,,,,112.85,,,,,,,,149.36,,,,,,,,161,,,,,,-1.09033,2570.13399,362,1211.48596,1214.65,,21,,,,0,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,267,273,254,69,247,255,255,347,, +D,DREGION,,3,"2023/12/14 04:15:00",1,TAS1,0,63.34065,0,63.34065,0,0,927.12,3,599.26,0,-327.86,0,,,0,,,,,,,,82.08,,,,,,,,34.25,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,143.03,,,,,,6.57731,2182.26419,0,917.54211,927.12,,50,,,,50,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,4.5,4.5,0,191.238095,210.354312,77.783784,50,78.850277,170.535150,188.911312,105.894303,, +D,DREGION,,3,"2023/12/14 04:15:00",1,VIC1,0,60.08646,0,60.08646,0,0,4164.6,18,4754.38,3,586.78,0,,,39,,,,,,,,60,,,,,,,,60,,,,,,,,154,,,,,,,,92,,,,,,,,112,,,,,,-32.01303,7981.3845,430,4194.55273,4181.91,,114,,,,10,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,574.666667,579,580,37,300,412,346,473.093650,, +D,DREGION,,3,"2023/12/14 04:20:00",1,NSW1,0,62.75,0,62.75,0,0,7066.63,31,6522.74,5,-548.89,0,,,59,,,,,,,,133,,,,,,,,109,,,,,,,,105,,,,,,,,110,,,,,,,,89.03,,,,,,26.5091,11683.35833,116,7016.2002,7087.98,,39,,,,61,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,5.45,5.45,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.75,3.75,0,352,356,598,256.602896,259,373,275,272.629572,, +D,DREGION,,3,"2023/12/14 04:20:00",1,QLD1,0,62.02981,0,62.02981,0,0,5954.38,6,6076.25,0,121.88,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,68,,,,,,,,147.45,,,,,,,,154,,,,,,15.41556,9919.98454,125,5934.24463,5954.31,,0,,,,51,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,5.45,5.45,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.75,3.75,0,339,457.333333,176,241.362524,253,357,240,223.571560,, +D,DREGION,,3,"2023/12/14 04:20:00",1,SA1,0,55.93217,0,55.93217,0,0,1211.44,2,1194.27,0,-17.18,0,,,52,,,,,,,,66,,,,,,,,58,,,,,,,,146,,,,,,,,164,,,,,,,,159,,,,,,4.03837,2561.77011,362,1214.04895,1211.16,,20,,,,39,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,5.45,5.45,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.75,3.75,0,265,270,252,286,245,253,253,355,, +D,DREGION,,3,"2023/12/14 04:20:00",1,TAS1,0,58.61741,0,58.61741,0,0,926.28,4,609.97,0,-316.31,0,,,0,,,,,,,,20.1,,,,,,,,0,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,143.14,,,,,,4.22581,2193.07417,0,918.05396,926.28,,50,,,,50,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.2,0.2,0,0.38,0.38,0,0,0,0,4.5,4.5,0,191.238095,210.354312,77.783784,50,78.850277,170.535150,188.911312,105.894309,, +D,DREGION,,3,"2023/12/14 04:20:00",1,VIC1,0,55.74629,0,55.74629,0,0,4149.44,16,4957.62,7,801.18,0,,,104,,,,,,,,118,,,,,,,,104.46,,,,,,,,121.79,,,,,,,,95,,,,,,,,125,,,,,,-37.95753,8280.61857,430,4188.79785,4181.12,,101,,,,19,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,5.45,5.45,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.75,3.75,0,587.666667,578,576,47,405.0001,639.0001,517.0001,549.343649,, +D,DREGION,,3,"2023/12/14 04:25:00",1,NSW1,0,62.75,0,62.75,0,0,7030.44,30,6495.21,5,-540.23,0,,,115,,,,,,,,133,,,,,,,,119,,,,,,,,138.04,,,,,,,,164,,,,,,,,175,,,,,,6.60741,11667.55629,116,7013.13818,7052.6,,25,,,,87,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.5,0.5,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,352,356,598,259.593955,263,377,279,321.533395,, +D,DREGION,,3,"2023/12/14 04:25:00",1,QLD1,0,62.46421,0,62.46421,0,0,5978.61,7,6075.08,0,96.47,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,26,,,,,,,,117,,,,,,,,106,,,,,,-3.06218,9824.24935,50,5974.52002,5978.46,,0,,,,44,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.5,0.5,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,291,410.333333,129,187.908453,206,310,193,151.571560,, +D,DREGION,,3,"2023/12/14 04:25:00",1,SA1,0,56.20712,0,56.20712,0,0,1216.67,3,1198.23,0,-18.44,0,,,41,,,,,,,,59.88,,,,,,,,50.43,,,,,,,,125,,,,,,,,123,,,,,,,,118.29,,,,,,8.34109,2567.52566,105,1207.4165,1216.39,,11,,,,11,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.5,0.5,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,125,130,130,61,121,129,129,105,, +D,DREGION,,3,"2023/12/14 04:25:00",1,TAS1,0,58.47214,0,58.47214,0,0,932.02,4,630.01,0,-302,0,,,26.94,,,,,,,,124.54,,,,,,,,78.85,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,143,,,,,,3.77424,2213.3127,0,924.24268,932.02,,50,,,,50,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.5,0.5,0,7.57,7.57,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,4.5,4.5,0,191.238095,210.354312,77.783784,50,78.850277,170.535150,188.911312,61.878043,, +D,DREGION,,3,"2023/12/14 04:25:00",1,VIC1,0,55.74892,0,55.74892,0,0,4191.46,19,4998.49,1,806.03,0,,,59,,,,,,,,70,,,,,,,,70,,,,,,,,143,,,,,,,,103.57,,,,,,,,119,,,,,,-15.64223,8264.48996,433,4219.12451,4217.56,,124,,,,28,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.5,0.5,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,553.666667,558,559,56,348,460,394,501.7499,, +D,DREGION,,3,"2023/12/14 04:30:00",1,NSW1,0,61.55,0,61.55,0,0,7065.59,28,6448.7,5,-621.89,0,,,115,,,,,,,,133,,,,,,,,119,,,,,,,,148.81,,,,,,,,164,,,,,,,,162,,,,,,-4.31498,11666.36156,116,7067.22998,7092.28,,27,,,,61,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.53,0.53,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.72,0.72,0,352,356,598,272.687801,263,377,279,311.918340,, +D,DREGION,,3,"2023/12/14 04:30:00",1,QLD1,0,61.28364,0,61.28364,0,0,5963.05,9,6071.53,0,108.48,0,,,0,,,,,,,,14.53,,,,,,,,0,,,,,,,,26,,,,,,,,117,,,,,,,,108.57,,,,,,0.65305,9820.49833,50,5953.25049,5962.92,,0,,,,40,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.53,0.53,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.72,0.72,0,291,410.333333,129,184.606070,196,300,193,151.571560,, +D,DREGION,,3,"2023/12/14 04:30:00",1,SA1,0,53.97395,0,53.97395,0,0,1217.58,3,1208.62,0,-8.96,0,,,41,,,,,,,,41,,,,,,,,49.07,,,,,,,,125,,,,,,,,123,,,,,,,,118,,,,,,13.29785,2566.41561,105,1202.84045,1217.29,,0,,,,38,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.53,0.53,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.72,0.72,0,125,130,130,61,121,129,129,105,, +D,DREGION,,3,"2023/12/14 04:30:00",1,TAS1,0,56.28077,0,56.28077,0,0,940.91,4,646.86,0,-294.04,0,,,22.7,,,,,,,,124.54,,,,,,,,78.85,,,,,,,,73.78,,,,,,,,153.72,,,,,,,,143.39,,,,,,1.89751,2229.96488,0,935.01025,940.91,,50,,,,50,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.53,0.53,0,7.6,7.6,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,4.5,4.5,0,191.238095,210.354312,77.783784,50,78.850277,170.535150,188.911312,61.878043,, +D,DREGION,,3,"2023/12/14 04:30:00",1,VIC1,0,53.79579,0,53.79579,0,0,4204.94,23,5078.59,6,867.65,0,,,59,,,,,,,,70,,,,,,,,70,,,,,,,,140,,,,,,,,111.24,,,,,,,,137,,,,,,0,8308.59338,444,4212.12793,4240.92,,133,,,,31,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.72,0.72,0,0.53,0.53,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.72,0.72,0,577.666667,563,560,60,364.0001,598.0001,476.0001,562.7499,, +D,DREGION,,3,"2023/12/14 04:35:00",1,NSW1,0,62.75,0,62.75,0,0,7063.27,31,6488.83,5,-579.44,0,,,90,,,,,,,,128,,,,,,,,114,,,,,,,,105,,,,,,,,110,,,,,,,,128.15,,,,,,-19.66243,11669.57264,116,7075.99707,7087.37,,30,,,,55,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0,352,356,592,245.084428,258,372,254,311.946571,, +D,DREGION,,3,"2023/12/14 04:35:00",1,QLD1,0,62.49048,0,62.49048,0,0,5969.7,9,6072.08,0,102.38,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,68,,,,,,,,145.85,,,,,,,,153,,,,,,1.90497,9921.66383,125,5958.67041,5969.55,,0,,,,51,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0,338,457.333333,176,244.993582,243,347,240,223.571560,, +D,DREGION,,3,"2023/12/14 04:35:00",1,SA1,0,55.79287,0,55.79287,0,0,1236.89,3,1209.18,1,-28.71,0,,,66,,,,,,,,66,,,,,,,,58,,,,,,,,145,,,,,,,,163,,,,,,,,159,,,,,,18.20742,2559.60597,362,1215.5564,1237.64,,10,,,,28,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0,265,269,251,62,245,253,253,354,, +D,DREGION,,3,"2023/12/14 04:35:00",1,TAS1,0,57.59091,0,57.59091,0,0,948.39,5,682.99,0,-265.4,0,,,0,,,,,,,,85.72,,,,,,,,38.47,,,,,,,,79.88,,,,,,,,153.72,,,,,,,,143.41,,,,,,2.5818,2241.08834,0,940.80432,948.39,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,4.5,4.5,0,192.656315,212.169127,83.878378,50,81.586641,179.320864,193.438339,105.894303,, +D,DREGION,,3,"2023/12/14 04:35:00",1,VIC1,0,55.32892,0,55.32892,0,0,4271.73,27,5087.41,0,815.68,0,,,39.67,,,,,,,,61,,,,,,,,61,,,,,,,,110.63,,,,,,,,91,,,,,,,,80,,,,,,14.0666,8314.41422,444,4259.07129,4297.54,,120,,,,36,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0,538.666667,545,546,66,362,474,408,513.156150,, +D,DREGION,,3,"2023/12/14 04:40:00",1,NSW1,0,62.75,0,62.75,0,0,7054.2,31,6482.2,5,-577.01,0,,,83,,,,,,,,101,,,,,,,,87,,,,,,,,105,,,,,,,,110,,,,,,,,104.66,,,,,,-30.99338,11677.93573,116,7083.81396,7079.58,,57,,,,75,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,352,356,598,247.117588,231,345,247,300.599974,, +D,DREGION,,3,"2023/12/14 04:40:00",1,QLD1,0,62.73,0,62.73,0,0,6037.53,12,6117.32,0,79.79,0,,,0,,,,,,,,45,,,,,,,,45,,,,,,,,68,,,,,,,,145.07,,,,,,,,154,,,,,,-0.70497,9927.29869,125,6026.11719,6037.32,,0,,,,90,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,339,457.333333,176,231.052860,280.076640,384.076640,240,264.186520,, +D,DREGION,,3,"2023/12/14 04:40:00",1,SA1,0,56.05583,0,56.05583,0,0,1241.36,3,1206.41,8,-42.94,0,,,68,,,,,,,,68,,,,,,,,60,,,,,,,,147,,,,,,,,165,,,,,,,,161,,,,,,20.73605,2511.19061,362,1217.61145,1249.14,,21,,,,0,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,267,271,253,69,247,255,255,347,, +D,DREGION,,3,"2023/12/14 04:40:00",1,TAS1,0,57.26897,0,57.26897,0,0,957.28,5,710.98,0,-246.3,0,,,26.97,,,,,,,,98.03,,,,,,,,50.49,,,,,,,,79.88,,,,,,,,153.72,,,,,,,,143.13,,,,,,7.31966,2269.08322,0,944.96429,957.28,,50,,,,50,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0,192.656315,212.169127,83.878378,50,81.586641,179.320864,193.438339,86.216643,, +D,DREGION,,3,"2023/12/14 04:40:00",1,VIC1,0,55.30176,0,55.30176,0,0,4202.3,28,5035.46,0,833.16,0,,,63,,,,,,,,74,,,,,,,,74,,,,,,,,109.85,,,,,,,,91,,,,,,,,102,,,,,,11.15238,8172.45758,441,4197.45996,4229.05,,82,,,,5,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,570.666667,577,578,44,398.0001,633.0001,511.0001,559.843650,, +D,DREGION,,3,"2023/12/14 04:45:00",1,NSW1,0,59.99043,0,59.99043,0,0,7080.44,33,6482.64,5,-602.79,0,,,34.09,,,,,,,,120.66,,,,,,,,104,,,,,,,,104,,,,,,,,110,,,,,,,,88,,,,,,-32.53595,11733.08962,116,7109.02783,7105.8,,30,,,,76,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.00057,11.00057,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.75,3.75,0,272,276,497,222.879024,254,368,250,291.324506,, +D,DREGION,,3,"2023/12/14 04:45:00",1,QLD1,0,59.78285,0,59.78285,0,0,5990.81,11,6093.8,0,102.99,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,71,,,,,,,,139,,,,,,,,156.17,,,,,,0,9943.42787,125,5980.0708,5990.64,,0,,,,68,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.00057,11.00057,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.75,3.75,0,341,459.333333,179,225.939077,243,347,240,220,, +D,DREGION,,3,"2023/12/14 04:45:00",1,SA1,0,52.96405,0,52.96405,0,0,1230.51,4,1193.16,3,-40.36,0,,,62,,,,,,,,68,,,,,,,,60,,,,,,,,138.43,,,,,,,,164.3,,,,,,,,161,,,,,,0,2495.74422,362,1238.19507,1233.29,,20,,,,17,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.00057,11.00057,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.75,3.75,0,284,286,253,113.021453,249,257,255,353.6693,, +D,DREGION,,3,"2023/12/14 04:45:00",1,TAS1,0,54.11179,0,54.11179,0,0,934.63,6,716.57,0,-218.05,0,,,0,,,,,,,,26.54,,,,,,,,0,,,,,,,,87.93,,,,,,,,155.16,,,,,,,,143.29,,,,,,7.97503,2283.92554,0,920.65265,934.63,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.13,8.13,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,4.5,4.5,0,192.656315,213.614412,91.930678,50,81.586641,179.320864,193.438339,101.900892,, +D,DREGION,,3,"2023/12/14 04:45:00",1,VIC1,0,52.52236,0,52.52236,0,0,4201.65,25,5009.53,4,803.88,0,,,97,,,,,,,,123,,,,,,,,105.55,,,,,,,,103,,,,,,,,91,,,,,,,,111,,,,,,-3.64095,8202.53349,435,4213.04443,4231.34,,110,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.00057,11.00057,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.75,3.75,0,568.666667,575,576,38,398.0001,632.0001,510.0001,555.218650,, +D,DREGION,,3,"2023/12/14 04:50:00",1,NSW1,0,64.15762,0,64.15762,0,0,7153.96,35,6724.01,5,-434.95,0,,,53.35,,,,,,,,101,,,,,,,,87,,,,,,,,104,,,,,,,,110,,,,,,,,96.74,,,,,,0,11735.6025,116,7141.00586,7169.92,,45,,,,80,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,9,9,0,0.38,0.38,0,0.38,0.38,0,0.15,0.15,0,3.71,3.71,0,392,396,641,270.858056,244.9999,358.9999,240.9999,302.551503,, +D,DREGION,,3,"2023/12/14 04:50:00",1,QLD1,0,64,0,64,0,0,6051.33,10,6152.9,0,101.56,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,71,,,,,,,,149.02,,,,,,,,156,,,,,,13.2406,9935.18209,125,6027.92236,6051.13,,0,,,,70,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,9,9,0,0.38,0.38,0,0.38,0.38,0,0.15,0.15,0,3.71,3.71,0,341,459.333333,179,213.993571,266,360,205,280.571560,, +D,DREGION,,3,"2023/12/14 04:50:00",1,SA1,0,59.34564,0,59.34564,0,0,1262.59,5,1191.35,0,-71.24,0,,,53,,,,,,,,53,,,,,,,,45,,,,,,,,145,,,,,,,,163,,,,,,,,159,,,,,,24.09714,2493.53651,362,1233.45544,1262.53,,40,,,,11,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,9,9,0,0.38,0.38,0,0.38,0.38,0,0.15,0.15,0,3.71,3.71,0,282,284,251,110.851470,238,246,244,357,, +D,DREGION,,3,"2023/12/14 04:50:00",1,TAS1,0,59.55243,0,59.55243,0,0,933.54,6,730.86,0,-202.68,0,,,0,,,,,,,,91.43,,,,,,,,45.09,,,,,,,,79.88,,,,,,,,152.67,,,,,,,,142.95,,,,,,7.03375,2294.87388,0,920.50427,933.54,,50,,,,50,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.38,0.38,0,0.15,0.15,0,4.5,4.5,0,192.656315,212.169127,83.878378,50,81.586641,179.320864,193.438339,100.261687,, +D,DREGION,,3,"2023/12/14 04:50:00",1,VIC1,0,57.96228,0,57.96228,0,0,4314.58,28,4951.17,4,632.59,0,,,86,,,,,,,,91,,,,,,,,91,,,,,,,,111.73,,,,,,,,91,,,,,,,,111,,,,,,0,8177.16742,433,4308.40234,4333.17,,75,,,,9,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.39,0.39,0,9,9,0,0.38,0.38,0,0.38,0.38,0,0.15,0.15,0,3.71,3.71,0,570.666667,577,578,38,244.0001,240.0001,235.0001,377.9999,, +D,DREGION,,3,"2023/12/14 04:55:00",1,NSW1,0,62.75,0,62.75,0,0,7129.05,30,6620.81,5,-513.24,0,,,48.63,,,,,,,,101,,,,,,,,87,,,,,,,,104,,,,,,,,110,,,,,,,,88,,,,,,-7.62244,11686.79923,116,7123.34863,7150.17,,59.06,,,,87,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,352,356,597,264.816422,233,347,249,327.266673,, +D,DREGION,,3,"2023/12/14 04:55:00",1,QLD1,0,62.73,0,62.73,0,0,6074.33,9,6155.11,1,79.78,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,71,,,,,,,,139,,,,,,,,139,,,,,,10.66575,9947.83955,125,6054.4502,6075.11,,0,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,341,459.333333,179,261.870001,290.592080,394.592080,240,278.959680,, +D,DREGION,,3,"2023/12/14 04:55:00",1,SA1,0,56.87071,0,56.87071,0,0,1258.75,5,1201.53,7,-64.21,0,,,49,,,,,,,,55,,,,,,,,47,,,,,,,,140.29,,,,,,,,162.61,,,,,,,,161,,,,,,18.38031,2474.97345,362,1235.5022,1265.64,,33.94,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,267,271,253,68,234.057440,242.057440,242.057440,348,, +D,DREGION,,3,"2023/12/14 04:55:00",1,TAS1,0,57.36113,0,57.36113,0,0,933.83,6,737.22,0,-196.61,0,,,0,,,,,,,,59.68,,,,,,,,13.03,,,,,,,,79.88,,,,,,,,146.61,,,,,,,,143.01,,,,,,5.42365,2299.73754,0,922.40967,933.83,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,4.5,4.5,0,192.656315,212.169127,83.878378,50,81.586641,179.320864,193.438339,105.894309,, +D,DREGION,,3,"2023/12/14 04:55:00",1,VIC1,0,55.82985,0,55.82985,0,0,4291.14,30,5022.66,1,730.51,0,,,97,,,,,,,,123,,,,,,,,123,,,,,,,,104,,,,,,,,95,,,,,,,,122.21,,,,,,-33.00145,8356.65617,416,4314.32959,4312.58,,67,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,588.666667,579,577,43.793250,384.0001,497.0001,431.0001,484.9999,, +D,DREGION,,3,"2023/12/14 05:00:00",1,NSW1,0,62.75,0,62.75,0,0,7165.08,32,6663.71,5,-506.37,0,,,83,,,,,,,,81,,,,,,,,63.42,,,,,,,,105,,,,,,,,110,,,,,,,,88,,,,,,-7.69634,11681.77574,116,7158.72363,7185.61,,56.99,,,,54,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.26,4.26,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,392,396,648,286.102301,233.006290,347.006290,249.006290,325.258836,, +D,DREGION,,3,"2023/12/14 05:00:00",1,QLD1,0,62.73008,0,62.73008,0,0,6078.66,11,6161.92,3,80.27,0,,,0,,,,,,,,175,,,,,,,,155,,,,,,,,71,,,,,,,,236.33,,,,,,,,236,,,,,,14.73262,9948.38824,125,6052.84131,6081.44,,30,,,,111,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.26,4.26,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,337,455.333333,179,261.993582,291,395,240,237.571560,, +D,DREGION,,3,"2023/12/14 05:00:00",1,SA1,0,57.20178,0,57.20178,0,0,1274.34,5,1196.28,0,-78.07,0,,,68,,,,,,,,68,,,,,,,,60,,,,,,,,146.48,,,,,,,,80,,,,,,,,121.37,,,,,,19.66496,2495.72728,362,1255.18665,1274.33,,21,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.26,4.26,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,284,286,253,111.209675,249,257,255,357,, +D,DREGION,,3,"2023/12/14 05:00:00",1,TAS1,0,57.56249,0,57.56249,0,0,946.57,6,735.14,0,-211.43,0,,,33.46,,,,,,,,6.06,,,,,,,,0,,,,,,,,79.88,,,,,,,,139.64,,,,,,,,142.6,,,,,,5.52904,2293.23852,0,935.03662,946.57,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0,192.656315,212.169127,83.878378,50,81.586641,179.320864,193.438339,105.894309,, +D,DREGION,,3,"2023/12/14 05:00:00",1,VIC1,0,55.8717,0,55.8717,0,0,4324.4,26,5078.67,3,751.27,0,,,51,,,,,,,,51,,,,,,,,36,,,,,,,,103,,,,,,,,93,,,,,,,,71,,,,,,-14.23528,8345.66754,402,4330.35645,4347.77,,54,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.26,4.26,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,580.666667,579,578,53,370.0001,361.0001,351.0001,419.9999,, +D,DREGION,,3,"2023/12/14 05:05:00",1,NSW1,0,62.75,0,62.75,0,0,7292.99,31,6787.21,5,-510.77,0,,,73.45,,,,,,,,78,,,,,,,,74,,,,,,,,140,,,,,,,,146,,,,,,,,124,,,,,,-7.87029,11754.08235,206,7289.30127,7312.15,,96,,,,59,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.2601,4.2601,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.0434,0.0434,0,428,432,683,345.950619,270,384,286,406.953050,, +D,DREGION,,3,"2023/12/14 05:05:00",1,QLD1,0,62.6966,0,62.6966,0,0,6062.27,9,6176.9,3,111.63,0,,,0,,,,,,,,134.36,,,,,,,,75.46,,,,,,,,71,,,,,,,,236.33,,,,,,,,236,,,,,,12.33656,9946.85447,125,6043.28809,6065.06,,29,,,,111,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.2601,4.2601,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.0434,0.0434,0,337,455.333333,179,261.993582,254.265720,358.265720,240,236.571555,, +D,DREGION,,3,"2023/12/14 05:05:00",1,SA1,0,57.62577,0,57.62577,0,0,1287.28,6,1205.44,1,-82.83,0,,,60,,,,,,,,64,,,,,,,,56,,,,,,,,116.07,,,,,,,,77,,,,,,,,80.38,,,,,,15.8686,2505.14834,362,1265.59424,1288.3,,21,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.2601,4.2601,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.0434,0.0434,0,281,283,251,127.851470,247,255,253,354.997890,, +D,DREGION,,3,"2023/12/14 05:05:00",1,TAS1,0,58.43975,0,58.43975,0,0,954.23,6,702.99,0,-251.24,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,104.52,,,,,,,,142.47,,,,,,5.66091,2273.99303,0,942.57336,954.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,4.5,4.5,0,191.873706,220.754986,77.878378,50,80.859368,169.935150,193.438339,105.894309,, +D,DREGION,,3,"2023/12/14 05:05:00",1,VIC1,0,56.288,0,56.288,0,0,4351.5,29,5118.85,0,767.34,0,,,109,,,,,,,,109,,,,,,,,109,,,,,,,,104,,,,,,,,94,,,,,,,,75,,,,,,4.07797,8347.84724,419,4343.9834,4371.65,,14,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.2601,4.2601,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.0434,0.0434,0,583.666667,579,578,65,337,330,320,407.093650,, +D,DREGION,,3,"2023/12/14 05:10:00",1,NSW1,0,68.33036,0,68.33036,0,0,7387.2,40,6995.14,0,-392.06,0,,,78,,,,,,,,83,,,,,,,,79,,,,,,,,140,,,,,,,,146,,,,,,,,124,,,,,,0,11722.02386,206,7363.97607,7394.49,,91,,,,26,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,5.22756,5.22756,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,428,432,683,254.152232,275,389,291,403.547502,, +D,DREGION,,3,"2023/12/14 05:10:00",1,QLD1,0,67.94756,0,67.94756,0,0,6131.71,10,6272.99,1,140.28,0,,,0,,,,,,,,130.52,,,,,,,,71.72,,,,,,,,71,,,,,,,,221.93,,,,,,,,221.6,,,,,,22.80335,9950.2696,125,6100.1001,6132.56,,45.76,,,,108,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,5.22756,5.22756,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,322.599720,440.933053,179,258.993592,283.506370,387.506370,240,263.590590,, +D,DREGION,,3,"2023/12/14 05:10:00",1,SA1,0,63.9154,0,63.9154,0,0,1282.32,7,1213.73,1,-69.6,0,,,53,,,,,,,,66,,,,,,,,58,,,,,,,,116.68,,,,,,,,78,,,,,,,,98.64,,,,,,14.05727,2507.82519,362,1261.13623,1283.25,,21,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,5.22756,5.22756,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,282,284,251,352.851470,249,257,255,355.6693,, +D,DREGION,,3,"2023/12/14 05:10:00",1,TAS1,0,64.82588,0,64.82588,0,0,955.7,6,725.36,0,-230.35,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,119.39,,,,,,,,142.08,,,,,,-2.15088,2285.50745,0,951.85498,955.7,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.5,3.5,0,191.873706,220.754986,77.878378,50,85.563546,176.223529,205.466744,113.455285,, +D,DREGION,,3,"2023/12/14 05:10:00",1,VIC1,0,62.76,0,62.76,0,0,4491.02,33,5067.83,7,569.81,0,,,103,,,,,,,,103,,,,,,,,103,,,,,,,,104,,,,,,,,92,,,,,,,,71,,,,,,20.06499,8178.55196,408,4458.33887,4509.05,,9,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,5.22756,5.22756,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,578.666667,576,577,72,238,241,241,334.9999,, +D,DREGION,,3,"2023/12/14 05:15:00",1,NSW1,0,86.46532,0,86.46532,0,0,7502.78,43,7049.26,0,-453.51,0,,,100,,,,,,,,138,,,,,,,,114,,,,,,,,152.94,,,,,,,,146,,,,,,,,159.81,,,,,,7.06805,11713.90383,206,7464.83496,7511.6,,76,,,,62,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.49,0.49,0,20.68,20.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,428,432,682,251.514927,270,384,286,429.780065,, +D,DREGION,,3,"2023/12/14 05:15:00",1,QLD1,0,85.55,0,85.55,0,0,6161.84,11,6331.92,0,170.08,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,24,,,,,,,,176.33,,,,,,,,166,,,,,,26.35063,9873.17136,50,6125.8877,6161.75,,51.95,,,,108,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.49,0.49,0,20.68,20.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,250,368.333333,132,187.870001,244,348,193,208.494660,, +D,DREGION,,3,"2023/12/14 05:15:00",1,SA1,0,80.17966,0,80.17966,0,0,1273.65,7,1227.25,11,-57.39,0,,,39,,,,,,,,41,,,,,,,,33,,,,,,,,121,,,,,,,,79.81,,,,,,,,117,,,,,,12.22797,2515.86057,105,1255.91113,1284.5,,0,,,,0,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.49,0.49,0,20.68,20.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,124,128,128,72,121,129,129,94,, +D,DREGION,,3,"2023/12/14 05:15:00",1,TAS1,0,81.32528,0,81.32528,0,0,959.94,7,726.6,0,-233.34,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,142.05,,,,,,0.40052,2290.43109,0,952.54376,959.94,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,191.873706,220.754986,77.878378,50,85.563546,176.223529,205.466744,113.455285,, +D,DREGION,,3,"2023/12/14 05:15:00",1,VIC1,0,78.7336,0,78.7336,0,0,4517.28,34,5112.69,0,595.41,0,,,54,,,,,,,,71.99,,,,,,,,55.07,,,,,,,,133,,,,,,,,100,,,,,,,,71,,,,,,6.00654,8217.68997,410,4497.34082,4529.94,,79,,,,0,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.49,0.49,0,20.68,20.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,571.666667,577,579,51,367,603,481,529.156150,, +D,DREGION,,3,"2023/12/14 05:20:00",1,NSW1,0,85.98,0,85.98,0,0,7531.32,45,7060.4,0,-470.91,0,,,100,,,,,,,,138,,,,,,,,114,,,,,,,,142.55,,,,,,,,146.26,,,,,,,,160.36,,,,,,0,11720.06131,206,7501.90137,7539.41,,76,,,,71,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,18.66,18.66,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,348,352,583,245.060442,266,380,282,425.276506,, +D,DREGION,,3,"2023/12/14 05:20:00",1,QLD1,0,84.58181,0,84.58181,0,0,6157.45,12,6370.62,0,213.17,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,24,,,,,,,,181.33,,,,,,,,170,,,,,,0,9894.70396,50,6145.375,6157.54,,43.98,,,,87,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,18.66,18.66,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,254,373.333333,132,170.131598,244,348,193,212.964930,, +D,DREGION,,3,"2023/12/14 05:20:00",1,SA1,0,80.34273,0,80.34273,0,0,1279.04,7,1217,0,-62.04,0,,,37,,,,,,,,39,,,,,,,,31,,,,,,,,119,,,,,,,,81,,,,,,,,115,,,,,,12.88338,2538.08983,105,1273.18945,1278.92,,0,,,,12,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,18.66,18.66,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,122,126,126,61,119,127,127,105,, +D,DREGION,,3,"2023/12/14 05:20:00",1,TAS1,0,82.11202,0,82.11202,0,0,970.66,6,706,0,-264.66,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,141.95,,,,,,1.55445,2269.1415,0,963.10474,970.66,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,7.34,7.34,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,191.873706,220.754986,77.878378,50,85.563546,176.223529,205.466744,113.455285,, +D,DREGION,,3,"2023/12/14 05:20:00",1,VIC1,0,78.88692,0,78.88692,0,0,4427.08,33,5032.28,0,605.2,0,,,63,,,,,,,,74.87,,,,,,,,55.63,,,,,,,,154,,,,,,,,102,,,,,,,,77,,,,,,4.9889,8194.28328,411,4408.9082,4439.76,,81,,,,0,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,18.66,18.66,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,576.666667,578,579,34,365,601,489,530.2499,, +D,DREGION,,3,"2023/12/14 05:25:00",1,NSW1,0,85.98,0,85.98,0,0,7602.24,40,7044.53,0,-557.72,0,,,105,,,,,,,,106.09,,,,,,,,79.66,,,,,,,,145.87,,,,,,,,146,,,,,,,,124,,,,,,25.85004,11723.43989,206,7545.479,7614.36,,71,,,,57,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,12.89,12.89,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,0.01,0.01,0,388,392,633,286.033940,273,387,289,420.282326,, +D,DREGION,,3,"2023/12/14 05:25:00",1,QLD1,0,84.62339,0,84.62339,0,0,6186.71,11,6403.19,2,214.48,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,24,,,,,,,,156.23,,,,,,,,170,,,,,,21.44596,9912.02496,50,6154.36182,6188.79,,57,,,,102.18,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,12.89,12.89,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,0.01,0.01,0,254,373.333333,132,187.170153,244,348,193,216.571560,, +D,DREGION,,3,"2023/12/14 05:25:00",1,SA1,0,79.01495,0,79.01495,0,0,1277.21,7,1206.47,0,-70.74,0,,,36.89,,,,,,,,41,,,,,,,,31,,,,,,,,120,,,,,,,,120,,,,,,,,116,,,,,,16.52226,2533.96589,105,1253.74402,1277.14,,0,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,12.89,12.89,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,0.01,0.01,0,140,142,127,61,123,131,129,105,, +D,DREGION,,3,"2023/12/14 05:25:00",1,TAS1,0,81.16814,0,81.16814,0,0,980.74,7,692.91,0,-287.83,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143.83,,,,,,0.82539,2256.52484,0,972.91333,980.74,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.5,3.5,0,191.873706,220.754986,77.878378,50,85.563546,176.223529,205.466744,113.455285,, +D,DREGION,,3,"2023/12/14 05:25:00",1,VIC1,0,77.5843,0,77.5843,0,0,4447.97,30,5190.44,10,732.46,0,,,99,,,,,,,,104,,,,,,,,89,,,,,,,,144,,,,,,,,82,,,,,,,,104.12,,,,,,-11.24302,8389.43545,430,4447.08447,4476.51,,32,,,,10.82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,12.89,12.89,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,0.01,0.01,0,576.666667,579,580,53.9999,404,519,463,499.2499,, +D,DREGION,,3,"2023/12/14 05:30:00",1,NSW1,0,85.98,0,85.98,0,0,7585.1,38,7046.31,0,-538.79,0,,,125,,,,,,,,143,,,,,,,,119,,,,,,,,140,,,,,,,,146,,,,,,,,132.09,,,,,,22.16813,11729.02476,206,7533.9917,7594.49,,71,,,,57,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.2,0.2,0,0.2,0.2,0,388,392,633,283.424668,273,387,289,398.081680,, +D,DREGION,,3,"2023/12/14 05:30:00",1,QLD1,0,83.51552,0,83.51552,0,0,6170.21,11,6434.84,0,264.63,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,24.57,,,,,,,,149.33,,,,,,,,165,,,,,,17.73848,9942.61439,50,6143.4917,6170.72,,80,,,,92,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.2,0.2,0,0.2,0.2,0,249,368.333333,132,197.993582,244,348,193,218.571560,, +D,DREGION,,3,"2023/12/14 05:30:00",1,SA1,0,81.21302,0,81.21302,0,0,1297.59,7,1199.01,0,-98.58,0,,,41,,,,,,,,41,,,,,,,,33,,,,,,,,120,,,,,,,,118.03,,,,,,,,116,,,,,,17.35708,2525.07136,105,1274.21191,1297.75,,0,,,,11,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.2,0.2,0,0.2,0.2,0,123,127,127,61,121,129,129,105,, +D,DREGION,,3,"2023/12/14 05:30:00",1,TAS1,0,82.79906,0,82.79906,0,0,990.03,7,678.56,0,-311.48,0,,,0,,,,,,,,7.18,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143.99,,,,,,-0.06753,2243.46828,0,983.10126,990.03,,50,,,,50,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.2,0.2,0,0.38,0.38,0,0.2,0.2,0,3.5,3.5,0,191.873706,220.754986,77.878378,50,85.563546,176.223529,205.466744,113.455285,, +D,DREGION,,3,"2023/12/14 05:30:00",1,VIC1,0,78.94286,0,78.94286,0,0,4518.35,29,5228.73,0,710.37,0,,,64.55,,,,,,,,59,,,,,,,,46.85,,,,,,,,155,,,,,,,,96,,,,,,,,106,,,,,,1.09649,8378.7255,430,4513.74121,4534.46,,19,,,,10,,,,,,,,,,,,,,,,,,,0.45,0.45,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.2,0.2,0,0.2,0.2,0,598.666667,583,581,45,402,517,461,508.156150,, +D,DREGION,,3,"2023/12/14 05:35:00",1,NSW1,0,85.98,0,85.98,0,0,7656.1,39,7129.91,0,-526.19,0,,,116.62,,,,,,,,159.66,,,,,,,,144,,,,,,,,150.4,,,,,,,,146,,,,,,,,124,,,,,,12.72394,11758.62037,206,7614.61816,7665.19,,82,,,,57,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,388,392,633,252.127662,298,412,314,387.191829,, +D,DREGION,,3,"2023/12/14 05:35:00",1,QLD1,0,84.1864,0,84.1864,0,0,6217.54,11,6468.46,0,250.91,0,,,0,,,,,,,,55,,,,,,,,45,,,,,,,,24,,,,,,,,164.33,,,,,,,,180,,,,,,11.22122,9975.28667,50,6195.51318,6217.8,,20,,,,76,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,264,383.333333,132,183.993582,179,273,158,158.571560,, +D,DREGION,,3,"2023/12/14 05:35:00",1,SA1,0,81.16151,0,81.16151,0,0,1301.1,6,1199.01,1,-103.09,0,,,36,,,,,,,,39,,,,,,,,31,,,,,,,,118,,,,,,,,112.1,,,,,,,,109.07,,,,,,17.82549,2497.14645,105,1278.77844,1302.3,,11,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,121,125,125,62,119,127,127,104,, +D,DREGION,,3,"2023/12/14 05:35:00",1,TAS1,0,82.95501,0,82.95501,0,0,991.31,7,673.96,0,-317.36,0,,,0,,,,,,,,32.82,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,144.08,,,,,,-0.15321,2240.95565,0,984.46692,991.31,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,191.873706,220.754986,77.878378,50,85.563546,176.223529,205.466744,109.016259,, +D,DREGION,,3,"2023/12/14 05:35:00",1,VIC1,0,78.89183,0,78.89183,0,0,4515.14,30,5264.04,27,721.9,0,,,88,,,,,,,,93,,,,,,,,87.75,,,,,,,,142,,,,,,,,81,,,,,,,,100,,,,,,6.96839,8387.03626,438,4498.74805,4558.76,,47,,,,37,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,11.68,11.68,0,0.2,0.2,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,583.666667,579,579,80.9998,365,478,422,482,, +D,DREGION,,3,"2023/12/14 05:40:00",1,NSW1,0,99.10241,0,99.10241,0,0,7746.61,41,7262.76,0,-483.85,0,,,114.72,,,,,,,,134.44,,,,,,,,106.11,,,,,,,,167.37,,,,,,,,146,,,,,,,,124,,,,,,19.10402,11810.22086,206,7694.46631,7752.3,,102,,,,59.84,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,11.07241,11.07241,0,0.03,0.03,0,0.15,0.15,0,0.15,0.15,0,1,1,0,428,432,683,235.366398,361.540320,475.540320,377.540320,475.723421,, +D,DREGION,,3,"2023/12/14 05:40:00",1,QLD1,0,93.98996,0,93.98996,0,0,6192.34,8,6589.38,0,397.04,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,29,,,,,,,,178.25,,,,,,,,180,,,,,,10.15551,10010.16084,50,6174.87207,6194.53,,20,,,,64.16,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,11.07241,11.07241,0,0.03,0.03,0,0.15,0.15,0,0.15,0.15,0,1,1,0,264,383.333333,132,127.562785,216,333.502460,203,174.993582,, +D,DREGION,,3,"2023/12/14 05:40:00",1,SA1,0,97.67897,0,97.67897,0,0,1335.46,7,1206.39,0,-129.07,0,,,28,,,,,,,,41,,,,,,,,31,,,,,,,,120,,,,,,,,118,,,,,,,,113.97,,,,,,20.27513,2518.85554,105,1308.88086,1335.93,,11,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,11.07241,11.07241,0,0.03,0.03,0,0.15,0.15,0,0.15,0.15,0,1,1,0,138,140,125,110.692565,123,131,129,106.6693,, +D,DREGION,,3,"2023/12/14 05:40:00",1,TAS1,0,98.34907,0,98.34907,0,0,992.5,7,701.13,0,-291.37,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,42.8,,,,,,,,122.64,,,,,,,,138.92,,,,,,-0.24038,2237.21564,0,985.74158,992.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.27907,7.27907,0,0.03,0.03,0,0.15,0.15,0,0.15,0.15,0,3.5,3.5,0,180.006813,189.677186,46.800578,49.999997,116.641346,207.301329,236.753120,113.455285,, +D,DREGION,,3,"2023/12/14 05:40:00",1,VIC1,0,94.00663,0,94.00663,0,0,4632.25,29,5172.09,16,523.84,0,,,99,,,,,,,,114,,,,,,,,99,,,,,,,,155,,,,,,,,97,,,,,,,,105,,,,,,12.06307,8237.08935,441,4621.10352,4656.49,,27,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,11.07241,11.07241,0,0.03,0.03,0,0.15,0.15,0,0.15,0.15,0,1,1,0,601.0001,567.0001,563.0001,52.9999,380,373,363,444,, +D,DREGION,,3,"2023/12/14 05:45:00",1,NSW1,0,89.03,0,89.03,0,0,7733.87,38,7306.28,0,-427.59,0,,,106.4,,,,,,,,136.84,,,,,,,,107.7,,,,,,,,159.43,,,,,,,,146,,,,,,,,124,,,,,,0,11914.56416,206,7709.78711,7737.9,,96,,,,62,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,1,1,0,428,432,683,305.348149,306.714770,420.714770,322.714770,438.302636,, +D,DREGION,,3,"2023/12/14 05:45:00",1,QLD1,0,85.55,0,85.55,0,0,6198.94,8,6558.26,0,359.32,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,29,,,,,,,,192.33,,,,,,,,181,,,,,,0,10057.81907,50,6192.56885,6200.42,,20,,,,67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,1,1,0,264,383.333333,132,172.996791,204,308,193,145.729812,, +D,DREGION,,3,"2023/12/14 05:45:00",1,SA1,0,86.40576,0,86.40576,0,0,1304.84,7,1220.92,0,-83.92,0,,,34,,,,,,,,41,,,,,,,,31,,,,,,,,96,,,,,,,,78.7,,,,,,,,82.24,,,,,,0,2565.4094,105,1304.90002,1304.86,,0,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,1,1,0,121,125,125,77,121,129,129,105,, +D,DREGION,,3,"2023/12/14 05:45:00",1,TAS1,0,89.00908,0,89.00908,0,0,996.11,7,669.4,0,-326.71,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143.5,,,,,,0.79567,2237.06878,0,988.3147,996.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.27,7.27,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.5,3.5,0,191.873706,220.754986,77.878378,50,85.563546,176.223529,205.466744,113.455285,, +D,DREGION,,3,"2023/12/14 05:45:00",1,VIC1,0,84.43615,0,84.43615,0,0,4630.84,33,5123.73,0,492.89,0,,,102,,,,,,,,112,,,,,,,,97,,,,,,,,151,,,,,,,,86,,,,,,,,126,,,,,,-1.93105,8246.7335,441,4630.03418,4639.3,,44,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,1,1,0,586.0001,561.0001,558.0001,40.9999,406.0001,643.0001,526.0001,560.218650,, +D,DREGION,,3,"2023/12/14 05:50:00",1,NSW1,0,62.75,0,62.75,0,0,7792.01,33,7221.78,5,-575.23,0,,,99.47,,,,,,,,135,,,,,,,,122,,,,,,,,155.99,,,,,,,,146,,,,,,,,124,,,,,,0,12018.94547,206,7775.65234,7805.92,,110,,,,70,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.38,0.38,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0,428,432,683,346.966603,270,383,284,349.876712,, +D,DREGION,,3,"2023/12/14 05:50:00",1,QLD1,0,58.73577,0,58.73577,0,0,6121.51,5,6594.54,0,473.03,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,204.26,,,,,,,,174.92,,,,,,0,10126.99065,50,6119.729,6125.32,,0,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.38,0.38,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0,275.922660,395.255993,132,183.396383,204,308,193,138.571565,, +D,DREGION,,3,"2023/12/14 05:50:00",1,SA1,0,60.58483,0,60.58483,0,0,1317.95,6,1223.53,0,-94.42,0,,,26,,,,,,,,26,,,,,,,,18,,,,,,,,116,,,,,,,,69.01,,,,,,,,112,,,,,,0,2583.41977,105,1317.48047,1318.07,,22,,,,14,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.38,0.38,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0,136,138,123,109.350356,110,118,116,106.6693,, +D,DREGION,,3,"2023/12/14 05:50:00",1,TAS1,0,62.5296,0,62.5296,0,0,1003.76,7,646.93,0,-356.83,0,,,0,,,,,,,,35.59,,,,,,,,4.25,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143.35,,,,,,1.49187,2229.62673,0,995.26489,1003.76,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.38,0.38,0,0.38,0.38,0,0.07,0.07,0,4.5,4.5,0,191.873706,220.754986,77.878378,50,80.859368,169.935150,193.438339,105.894309,, +D,DREGION,,3,"2023/12/14 05:50:00",1,VIC1,0,59.01977,0,59.01977,0,0,4569.37,32,5147.27,0,577.91,0,,,76,,,,,,,,91,,,,,,,,91,,,,,,,,138,,,,,,,,82,,,,,,,,100.71,,,,,,-15.92517,8289.27272,438,4572.55029,4580.99,,67,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.38,0.38,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0,569.666667,566,566,24,405.0001,642.0001,520.0001,577.093650,, +D,DREGION,,3,"2023/12/14 05:55:00",1,NSW1,0,62.75,0,62.75,0,0,7783.48,25,7211.2,5,-577.28,0,,,96.42,,,,,,,,122.74,,,,,,,,99,,,,,,,,148.29,,,,,,,,146,,,,,,,,124,,,,,,14.56021,12143.01006,206,7761.05322,7797.81,,79,,,,64,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.01,0.01,0,0.15,0.15,0,0.01,0.01,0,3.99,3.99,0,388,392,633,322.089503,289,402,303,362.750784,, +D,DREGION,,3,"2023/12/14 05:55:00",1,QLD1,0,58.70417,0,58.70417,0,0,6122.89,1,6617.98,0,495.09,0,,,0,,,,,,,,90,,,,,,,,64.1,,,,,,,,24,,,,,,,,190.33,,,,,,,,189,,,,,,24.34216,10163.80062,50,6102.26416,6127.33,,12,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.01,0.01,0,0.15,0.15,0,0.01,0.01,0,3.99,3.99,0,290,409.333333,132,209.747488,204,308,193,142.657311,, +D,DREGION,,3,"2023/12/14 05:55:00",1,SA1,0,61.89212,0,61.89212,0,0,1350.89,7,1221,0,-129.89,0,,,36,,,,,,,,41,,,,,,,,31,,,,,,,,120,,,,,,,,79.43,,,,,,,,116,,,,,,15.3908,2595.04704,105,1332.9668,1351.37,,0,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.01,0.01,0,0.15,0.15,0,0.01,0.01,0,3.99,3.99,0,123,127,127,61,121,129,129,105,, +D,DREGION,,3,"2023/12/14 05:55:00",1,TAS1,0,63.58422,0,63.58422,0,0,1049.5,7,657.82,0,-391.67,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143.26,,,,,,1.4275,2240.55731,0,1041.0686,1049.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.01,0.01,0,0.15,0.15,0,0.01,0.01,0,4.5,4.5,0,191.873706,220.754986,77.878378,50,80.859368,169.935150,193.438339,105.894309,, +D,DREGION,,3,"2023/12/14 05:55:00",1,VIC1,0,59.56734,0,59.56734,0,0,4611.93,28,5243.83,0,631.89,0,,,110,,,,,,,,125,,,,,,,,110,,,,,,,,143,,,,,,,,86,,,,,,,,83.22,,,,,,-22.56664,8542.82722,421,4620.68164,4625.82,,69,,,,13,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.01,0.01,0,0.15,0.15,0,0.01,0.01,0,3.99,3.99,0,583.666667,564,562,35,400,637,515,559.031250,, +D,DREGION,,3,"2023/12/14 06:00:00",1,NSW1,0,61.55,0,61.55,0,0,7837.31,24,7147.1,5,-695.21,0,,,107.61,,,,,,,,106.73,,,,,,,,78.49,,,,,,,,152.54,,,,,,,,146,,,,,,,,124,,,,,,13.21227,12221.27517,206,7817.62061,7855.29,,83,,,,82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0,428,432,683,351.483333,297,409,311,362.529274,, +D,DREGION,,3,"2023/12/14 06:00:00",1,QLD1,0,57.25069,0,57.25069,0,0,6145.56,-3,6658.51,0,512.95,0,,,0,,,,,,,,121.22,,,,,,,,101.22,,,,,,,,24,,,,,,,,190.33,,,,,,,,189,,,,,,33.57537,10278.17206,50,6120.75586,6150.33,,10,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0,290,409.333333,132,214.946905,235.224710,339.224710,193,148.571562,, +D,DREGION,,3,"2023/12/14 06:00:00",1,SA1,0,58.99219,0,58.99219,0,0,1354.23,6,1238.68,0,-115.56,0,,,28,,,,,,,,28,,,,,,,,18,,,,,,,,120,,,,,,,,82.71,,,,,,,,116,,,,,,11.59306,2606.87857,105,1337.47412,1354.55,,12,,,,2,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0,140,142,127,110.021453,122,130,128,105.997890,, +D,DREGION,,3,"2023/12/14 06:00:00",1,TAS1,0,60.91619,0,60.91619,0,0,1064.01,6,663.63,0,-400.38,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.88,,,,,,,,153.72,,,,,,,,143,,,,,,5.02979,2245.56085,0,1052.97986,1064.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.03,0.03,0,0.15,0.15,0,0.07,0.07,0,4.5,4.5,0,191.873706,220.754986,77.878378,50,80.859368,169.935150,193.438339,105.894309,, +D,DREGION,,3,"2023/12/14 06:00:00",1,VIC1,0,57.06786,0,57.06786,0,0,4642.91,25,5376.95,0,734.04,0,,,105,,,,,,,,120,,,,,,,,105,,,,,,,,138,,,,,,,,81,,,,,,,,81.76,,,,,,-21.57485,8652.95071,421,4656.09375,4660.69,,55,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0,580,587,588,35,383,376,366,440,, +D,DREGION,,3,"2023/12/14 06:05:00",1,NSW1,0,62.75,0,62.75,0,0,7914.52,19,7178.27,20,-756.25,0,,,63.49,,,,,,,,95.49,,,,,,,,67.15,,,,,,,,155.65,,,,,,,,126,,,,,,,,124,,,,,,20.57207,12519.70478,206,7898.34961,7949.65,,145,,,,79,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0,308,312,533,290.617903,229.000550,341.000550,243.000550,345.017930,, +D,DREGION,,3,"2023/12/14 06:05:00",1,QLD1,0,58.38787,0,58.38787,0,0,6122.49,-5,6649,0,526.52,0,,,0,,,,,,,,82,,,,,,,,62,,,,,,,,24,,,,,,,,200.06,,,,,,,,211,,,,,,37.27564,10612.08804,50,6096.29248,6127.55,,9,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0,294,412.333333,132,180.232539,202,313.296630,198,144.568351,, +D,DREGION,,3,"2023/12/14 06:05:00",1,SA1,0,59.72907,0,59.72907,0,0,1385.68,7,1267.02,0,-118.67,0,,,26,,,,,,,,26,,,,,,,,18,,,,,,,,118,,,,,,,,118,,,,,,,,114,,,,,,12.84934,2648.18151,105,1367.31323,1386.03,,21.75,,,,3,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0,121,125,125,61,108.248290,116.248290,116.248290,105,, +D,DREGION,,3,"2023/12/14 06:05:00",1,TAS1,0,61.52797,0,61.52797,0,0,1066.65,6,680.84,0,-385.81,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,98.88,,,,,,,,153.72,,,,,,,,143.05,,,,,,2.52396,2257.34603,0,1058.12451,1066.65,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.14,0.14,0,0.38,0.38,0,0.07,0.07,0,4.5,4.5,0,196.224090,231.655449,102.878378,50,85.425687,162.435150,193.438339,105.894309,, +D,DREGION,,3,"2023/12/14 06:05:00",1,VIC1,0,57.78473,0,57.78473,0,0,4674.94,24,5453.51,5,773.58,0,,,104,,,,,,,,159,,,,,,,,154,,,,,,,,109,,,,,,,,52,,,,,,,,57.73,,,,,,-3.20464,8684.51292,410,4674.31543,4698.76,,19,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.07,0.07,0,0.07,0.07,0,574,582,583,49,391,506,440,474.25,, +D,DREGION,,3,"2023/12/14 06:10:00",1,NSW1,0,32.79008,0,32.79008,0,0,7889.32,18,7064.02,50,-875.3,0,,,86.33,,,,,,,,94.63,,,,,,,,70.79,,,,,,,,140,,,,,,,,126,,,,,,,,124,,,,,,0,12689.11875,206,7953.64307,7960.32,,95,,,,64.59,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.15,0.15,0,1.2,1.2,0,308,312,533,316.780733,234.000550,346.000550,248.000550,202.103673,, +D,DREGION,,3,"2023/12/14 06:10:00",1,QLD1,0,29.75356,0,29.75356,0,0,6119.8,-2,6776.18,0,656.37,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,191.95,,,,,,,,189,,,,,,0,10872.0896,50,6129.93848,6128.63,,13,,,,76.41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.15,0.15,0,1.2,1.2,0,290,410.947128,132,186.410289,189.488550,292.288570,178.488550,77.996797,, +D,DREGION,,3,"2023/12/14 06:10:00",1,SA1,0,31.04578,0,31.04578,0,0,1393.68,8,1300.06,0,-93.62,0,,,41,,,,,,,,41,,,,,,,,33,,,,,,,,87.59,,,,,,,,79.59,,,,,,,,116,,,,,,0,2663.34978,105,1401.33618,1393.79,,0,,,,23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.15,0.15,0,1.2,1.2,0,140,142,127,61,123,131,129,105,, +D,DREGION,,3,"2023/12/14 06:10:00",1,TAS1,0,54.11,0,54.11,0,0,1068.92,5,606.92,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,149.64,,,,,,,,160,,,,,,,,142.96,,,,,,5.64918,2259.88464,0,1058.26941,1068.92,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.14,0.14,0,0.38,0.38,0,0,0,0,4.5,4.5,0,191.351967,225.851852,153.643428,50,54.648750,127.929587,151.021123,51.259239,, +D,DREGION,,3,"2023/12/14 06:10:00",1,VIC1,0,30.24378,0,30.24378,0,0,4710.6,23,5543.69,5,828.09,0,,,96,,,,,,,,131,,,,,,,,126,,,,,,,,104,,,,,,,,91,,,,,,,,76.57,,,,,,0,8799.68666,410,4715.10303,4739.21,,97.38,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.14,0.14,0,0.38,0.38,0,0.15,0.15,0,1.2,1.2,0,594,617,619,64,369,605,483,495.460693,, +D,DREGION,,3,"2023/12/14 06:15:00",1,NSW1,0,21.61679,0,21.61679,0,0,7927.1,18,6948.58,50,-1028.52,0,,,53,,,,,,,,83.57,,,,,,,,59,,,,,,,,140,,,,,,,,126,,,,,,,,124,,,,,,0,12732.53483,206,8002.07813,8005.05,,120,,,,45,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.99,3.99,0,308,312,533,304.528954,229.000550,341.000550,243.000550,201.981913,, +D,DREGION,,3,"2023/12/14 06:15:00",1,QLD1,0,20.0424,0,20.0424,0,0,6216.23,4,6762.97,0,546.75,0,,,0,,,,,,,,67.4,,,,,,,,57.4,,,,,,,,24,,,,,,,,196,,,,,,,,189,,,,,,0,10990.05703,50,6219.61621,6221.31,,20.38,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.99,3.99,0,290,415,132,214.996791,177.830920,214.130920,156.830920,78.000003,, +D,DREGION,,3,"2023/12/14 06:15:00",1,SA1,0,19.56637,0,19.56637,0,0,1392.63,8,1311.51,0,-81.12,0,,,34,,,,,,,,41,,,,,,,,33,,,,,,,,86.14,,,,,,,,66.99,,,,,,,,91.1,,,,,,0,2669.06614,105,1388.29163,1392.64,,16,,,,34,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.99,3.99,0,123,127,127,77,121,129,129,105,, +D,DREGION,,3,"2023/12/14 06:15:00",1,TAS1,0,54.1,0,54.1,0,0,1067.43,5,605.43,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,150.88,,,,,,,,160,,,,,,,,142.89,,,,,,5.77308,2269.50312,0,1056.65576,1067.43,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.05,0.05,0,0,0,0,0,0,0,4.5,4.5,0,191.351967,225.851852,154.878378,59.886280,50.371354,121.381573,139.759118,61.316560,, +D,DREGION,,3,"2023/12/14 06:15:00",1,VIC1,0,19.12,0,19.12,0,0,4491.66,17,5593.29,5,1096.63,0,,,105,,,,,,,,160,,,,,,,,150.15,,,,,,,,100,,,,,,,,95,,,,,,,,97,,,,,,0,8856.64957,416,4527.38721,4535.36,,49,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.99,3.99,0,453.666667,446.362660,442.362660,73.362660,406,643,521,527.628551,, +D,DREGION,,3,"2023/12/14 06:20:00",1,NSW1,0,39.25,0,39.25,0,0,7984.37,19,6899.25,49.19,-1134.31,0,,,36.04,,,,,,,,111.81,,,,,,,,97.77,,,,,,,,140,,,,,,,,126,,,,,,,,138.28,,,,,,2.93244,12853.93642,206,8038.32959,8067.42,,96,,,,88,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.34,0.34,0,0.39,0.39,0,0.07,0.07,0,6,6,0,428,432,677,378.948339,239.812520,329.291990,222.785970,228.491901,, +D,DREGION,,3,"2023/12/14 06:20:00",1,QLD1,0,35.44616,0,35.44616,0,0,6214.69,6,6920.04,0,705.35,0,,,0,,,,,,,,37,,,,,,,,25,,,,,,,,24,,,,,,,,138.65,,,,,,,,141,,,,,,27.60333,11038.4305,50,6187.17725,6224.87,,39.38,,,,30,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.34,0.34,0,0.39,0.39,0,0.07,0.07,0,6,6,0,214,317.333333,132,117.100006,139,187.619450,138,135,, +D,DREGION,,3,"2023/12/14 06:20:00",1,SA1,0,35.86653,0,35.86653,0,0,1405.74,7,1311.47,0,-94.27,0,,,26,,,,,,,,51.38,,,,,,,,31,,,,,,,,80.05,,,,,,,,119,,,,,,,,115,,,,,,20.33492,2650.67794,105,1378.76855,1405.85,,20,,,,43,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.34,0.34,0,0.39,0.39,0,0.07,0.07,0,6,6,0,139,141,126,110.851470,121,129,127,106.6693,, +D,DREGION,,3,"2023/12/14 06:20:00",1,TAS1,0,54.1,0,54.1,0,0,1069.16,4,607.16,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,150.88,,,,,,,,160,,,,,,,,139.38,,,,,,4.4292,2287.55324,0,1060.72827,1069.16,,50,,,,50,,,,,,,,,,,,,,,,,,,1,1,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.34,0.34,0,0,0,0,0,0,0,4.5,4.5,0,191.351967,225.851852,154.878378,76.272780,44.068854,111.733446,123.165194,53.189922,, +D,DREGION,,3,"2023/12/14 06:20:00",1,VIC1,0,34.94,0,34.94,0,0,4604.01,14,5674.54,5,1065.54,0,,,104,,,,,,,,150,,,,,,,,144,,,,,,,,106,,,,,,,,99,,,,,,,,109,,,,,,5.3569,8891.66962,418,4622.05176,4645.16,,50,,,,9,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.34,0.34,0,0.39,0.39,0,0.07,0.07,0,6,6,0,436.126960,403.126960,399.126960,35.126960,380,622,505,518.156250,, +D,DREGION,,3,"2023/12/14 06:25:00",1,NSW1,0,38.74711,0,38.74711,0,0,8072.65,18,6840.4,50.94,-1283.18,0,,,45.06,,,,,,,,89.06,,,,,,,,71.06,,,,,,,,141,,,,,,,,126,,,,,,,,126.38,,,,,,-13.13133,12902.91849,206,8157.16504,8167.18,,131,,,,65,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.52289,0.52289,0,0.39,0.39,0,0.71,0.71,0,428,432,678,381.104162,223.064580,261.550090,168.265510,221.044105,, +D,DREGION,,3,"2023/12/14 06:25:00",1,QLD1,0,34.55,0,34.55,0,0,6166.75,2,6956.74,0,790,0,,,0,,,,,,,,91,,,,,,,,71,,,,,,,,24,,,,,,,,159.33,,,,,,,,177,,,,,,31.88779,11109.62494,50,6144.2124,6180.13,,18,,,,51,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.52289,0.52289,0,0.39,0.39,0,0.71,0.71,0,260,378.333333,132,166.996791,181.699530,225.699530,179.430930,109.568603,, +D,DREGION,,3,"2023/12/14 06:25:00",1,SA1,0,35.14367,0,35.14367,0,0,1427.73,6,1314.26,0,-113.47,0,,,36.61,,,,,,,,75,,,,,,,,60.47,,,,,,,,121,,,,,,,,115.94,,,,,,,,117,,,,,,22.12913,2653.52833,105,1399.93945,1428.03,,18,,,,35,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.52289,0.52289,0,0.39,0.39,0,0.71,0.71,0,141,143,128,110.851470,116,124,122,105.997890,, +D,DREGION,,3,"2023/12/14 06:25:00",1,TAS1,0,53.60593,0,53.60593,0,0,1072.88,4,615.76,0,-457.11,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,156.46,,,,,,,,139.36,,,,,,2.97492,2289.29659,0,1065.90088,1072.88,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0,0,0,0,0,0,4.5,4.5,0,192.351967,235.315962,179.725596,101.775003,44.699358,115.156995,124.545838,51.423374,, +D,DREGION,,3,"2023/12/14 06:25:00",1,VIC1,0,33.99802,0,33.99802,0,0,4583.53,15,5751.02,5,1162.49,0,,,84,,,,,,,,89,,,,,,,,94,,,,,,,,112.88,,,,,,,,85,,,,,,,,83,,,,,,9.10193,8984.12106,421,4606.36133,4629.98,,33.49,,,,19,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.52289,0.52289,0,0.39,0.39,0,0.71,0.71,0,417,422,421,72,380,622,505,492.118835,, +D,DREGION,,3,"2023/12/14 06:30:00",1,NSW1,0,58,0,58,0,0,8096.11,23,6857.15,30,-1268.95,0,,,34,,,,,,,,106,,,,,,,,84,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,-6.98316,12942.34515,206,8167.39941,8168.61,,116,,,,65,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.05,0.05,0,0.17,0.17,0,0.01,0.01,0,3.99,3.99,0,428,432,678,376.778172,254.000550,301.857550,196.902870,305.535791,, +D,DREGION,,3,"2023/12/14 06:30:00",1,QLD1,0,52.00029,0,52.00029,0,0,6183.07,3,6942.05,0,758.97,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,216.33,,,,,,,,189,,,,,,35.33744,11000.90075,50,6153.23193,6195.11,,25,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.05,0.05,0,0.17,0.17,0,0.01,0.01,0,3.99,3.99,0,290,408.333333,132,135.049681,198.428440,300.428440,187.428440,147.997510,, +D,DREGION,,3,"2023/12/14 06:30:00",1,SA1,0,32.55006,0,32.55006,0,0,1411.67,4,1309.05,0,-102.63,0,,,36.34,,,,,,,,41,,,,,,,,31.44,,,,,,,,96.03,,,,,,,,48.79,,,,,,,,91.81,,,,,,19.63134,2697.40251,105,1388.08313,1414.21,,3.38,,,,22,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.05,0.05,0,0.17,0.17,0,0.01,0.01,0,3.99,3.99,0,141,143,128,126.851470,123,131,129,105.997890,, +D,DREGION,,3,"2023/12/14 06:30:00",1,TAS1,0,53.57593,0,53.57593,0,0,1085.24,3,623.24,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,144.31,,,,,,2.62609,2292.06877,0,1079.61646,1085.24,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.05,0.05,0,0,0,0,0,0,0,4.5,4.5,0,191.351967,231.851852,181.604608,117.319848,39.063936,120.028794,123.576908,70.365640,, +D,DREGION,,3,"2023/12/14 06:30:00",1,VIC1,0,19.12,0,19.12,0,0,4574.66,10,5758.97,5,1179.32,0,,,95,,,,,,,,110.86,,,,,,,,110,,,,,,,,133,,,,,,,,93,,,,,,,,88,,,,,,0,9018.49744,418,4611.62939,4627.3,,61,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.05,0.05,0,0.17,0.17,0,0.01,0.01,0,3.99,3.99,0,441,459.223080,456.223080,97.223080,281,523,406,433.884525,, +D,DREGION,,3,"2023/12/14 06:35:00",1,NSW1,0,56.56774,0,56.56774,0,0,8216.85,25,6894.94,30,-1351.91,0,,,50.92,,,,,,,,98.44,,,,,,,,74,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,1.03295,13068.93125,206,8266.62305,8295.67,,115,,,,66,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.75,3.75,0,428,432,678,379.188012,338.628410,370.628410,282.628410,288.600576,, +D,DREGION,,3,"2023/12/14 06:35:00",1,QLD1,0,49.55,0,49.55,0,0,6228.16,6,7123.83,0,895.68,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,37.31945,11152.08323,50,6200.55176,6245.69,,25,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.75,3.75,0,290,408.333333,132,197.357274,198.428440,300.428440,187.428440,147.997510,, +D,DREGION,,3,"2023/12/14 06:35:00",1,SA1,0,31.92246,0,31.92246,0,0,1426.73,2,1330.24,26,-122.49,0,,,20,,,,,,,,39,,,,,,,,29,,,,,,,,85.03,,,,,,,,83.8,,,,,,,,115,,,,,,12.46677,2644.33569,105,1415.06519,1455.11,,11,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.75,3.75,0,139,141,126,135.851470,121,129,127,79.997890,, +D,DREGION,,3,"2023/12/14 06:35:00",1,TAS1,0,54.1,0,54.1,0,0,1085.46,2,623.46,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,148.21,,,,,,3.79638,2244.50647,0,1079.65955,1085.46,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.03,0.03,0,0,0,0,0,0,0,3.5,3.5,0,191.351967,231.851852,156.878378,90.921507,54.616108,142.894170,170.956304,94.161114,, +D,DREGION,,3,"2023/12/14 06:35:00",1,VIC1,0,19.12,0,19.12,0,0,4540.12,1,5744.9,51,1153.79,0,,,94,,,,,,,,119,,,,,,,,121.02,,,,,,,,146,,,,,,,,86,,,,,,,,61.92,,,,,,-15.37807,8932.29,415,4608.39697,4635.44,,54.38,,,,23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.03,0.03,0,0.15,0.15,0,0.01,0.01,0,3.75,3.75,0,404,417.385980,419.385980,120.385980,305,541,419,479.25,, +D,DREGION,,3,"2023/12/14 06:40:00",1,NSW1,0,57.27467,0,57.27467,0,0,8321,24,6976.55,51.36,-1395.8,0,,,48,,,,,,,,99.64,,,,,,,,77.87,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,16.05804,13175.62173,206,8356.99805,8425.23,,115,,,,60,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.14,0.14,0,0.32352,0.32352,0,0,0,0,3.99,3.99,0,428,432,678,374.192504,317.644660,349.644660,261.644660,253.147121,, +D,DREGION,,3,"2023/12/14 06:40:00",1,QLD1,0,49.55,0,49.55,0,0,6221.02,12,7195.6,0,974.58,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,38.00837,11229.6237,50,6193.94287,6242.2,,25,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.14,0.14,0,0.32352,0.32352,0,0,0,0,3.99,3.99,0,290,408.333333,132,214.996791,198.428440,300.428440,187.428440,141.482931,, +D,DREGION,,3,"2023/12/14 06:40:00",1,SA1,0,21.88486,0,21.88486,0,0,1434.41,2,1306.06,11,-139.35,0,,,31,,,,,,,,41,,,,,,,,33,,,,,,,,88.34,,,,,,,,83.6,,,,,,,,103.37,,,,,,14.60934,2622.08653,105,1439.32312,1446.03,,14.38,,,,4,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.14,0.14,0,0.32352,0.32352,0,0,0,0,3.99,3.99,0,141,143,128,135.480280,123,131,129,94.326510,, +D,DREGION,,3,"2023/12/14 06:40:00",1,TAS1,0,54.1,0,54.1,0,0,1082.7,1,620.7,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,148.57,,,,,,5.88334,2246.0694,0,1075.81702,1082.7,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.14,0.14,0,0,0,0,0,0,0,3.5,3.5,0,191.351967,231.851852,156.878378,92.877799,57.797317,144.024364,168.022257,92.118601,, +D,DREGION,,3,"2023/12/14 06:40:00",1,VIC1,0,21.06756,0,21.06756,0,0,4620.81,-1,5767.6,11,1135.79,0,,,86,,,,,,,,113.64,,,,,,,,111,,,,,,,,146,,,,,,,,88,,,,,,,,75,,,,,,0,8961.68626,402,4703.30859,4670.35,,51,,,,25,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.14,0.14,0,0.32352,0.32352,0,0,0,0,3.99,3.99,0,421,407,407,64,273.695364,514.695364,397.695364,448.5271,, +D,DREGION,,3,"2023/12/14 06:45:00",1,NSW1,0,58,0,58,0,0,8440.32,29,7052.65,47.84,-1435.5,0,,,75.16,,,,,,,,117.19,,,,,,,,101.16,,,,,,,,141,,,,,,,,127,,,,,,,,124,,,,,,27.77548,13233.42672,206,8494.44629,8545.59,,100,,,,80,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.3,0.3,0,0.38,0.38,0,0.08,0.08,0,0.71,0.71,0,428,433,678,344.029839,347.388170,379.388170,265.163010,339.514814,, +D,DREGION,,3,"2023/12/14 06:45:00",1,QLD1,0,49.55,0,49.55,0,0,6110.98,4,7134.82,0,1023.84,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,39.69926,11200.40163,50,6094.56885,6134.82,,21,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.3,0.3,0,0.38,0.38,0,0.08,0.08,0,0.71,0.71,0,290,408.333333,132,214.996791,200.428440,301.387440,189.428440,127.456464,, +D,DREGION,,3,"2023/12/14 06:45:00",1,SA1,0,47.17344,0,47.17344,0,0,1446.73,1,1301.22,1,-146.51,0,,,41,,,,,,,,41,,,,,,,,33,,,,,,,,102.4,,,,,,,,75.94,,,,,,,,91.64,,,,,,16.8179,2640.6582,105,1439.0625,1448.73,,11,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.3,0.3,0,0.38,0.38,0,0.08,0.08,0,0.71,0.71,0,141,143,128,127.851470,123,131,129,106,, +D,DREGION,,3,"2023/12/14 06:45:00",1,TAS1,0,54.1,0,54.1,0,0,1084.83,1,628.1,0,-456.73,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,148.63,,,,,,3.50593,2269.4833,0,1080.32813,1084.83,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.3,0.3,0,0,0,0,0,0,0,3.5,3.5,0,191.351967,231.851852,156.878378,100.483751,52.438496,134.009716,152.046315,84.177428,, +D,DREGION,,3,"2023/12/14 06:45:00",1,VIC1,0,45.64098,0,45.64098,0,0,4631.84,-4,5780.1,12,1136.26,0,,,47.8,,,,,,,,89.8,,,,,,,,86.67,,,,,,,,129,,,,,,,,91,,,,,,,,83,,,,,,0,8915.99428,399,4676.29053,4682.93,,68.11,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.99,7.99,0,0.3,0.3,0,0.38,0.38,0,0.08,0.08,0,0.71,0.71,0,408,387,384,24,245.887660,486.887660,369.887660,448.25,, +D,DREGION,,3,"2023/12/14 06:50:00",1,NSW1,0,58,0,58,0,0,8476.72,29,7089.84,36.71,-1423.58,0,,,82.56,,,,,,,,105.31,,,,,,,,95.51,,,,,,,,141,,,,,,,,127,,,,,,,,124,,,,,,38.9644,13289.81904,206,8519.2207,8572.56,,100,,,,86,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.14,0.14,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0,428,433,678,427.794233,332.587370,364.587370,276.587370,354.327868,, +D,DREGION,,3,"2023/12/14 06:50:00",1,QLD1,0,49.19438,0,49.19438,0,0,6120.38,1,7204.18,0,1083.8,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,36.63668,11294.72289,50,6110.96631,6147.47,,21,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.14,0.14,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0,290,408.333333,132,214.996791,200.428440,276.428440,189.428440,142.297498,, +D,DREGION,,3,"2023/12/14 06:50:00",1,SA1,0,50.90967,0,50.90967,0,0,1438.19,-2,1297.82,0,-140.37,0,,,38,,,,,,,,38,,,,,,,,31,,,,,,,,95.86,,,,,,,,84.47,,,,,,,,106.82,,,,,,12.75954,2677.51502,105,1429.53125,1439.2,,11,,,,2,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.14,0.14,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0,122,126,126,69.183420,119,126,126,105,, +D,DREGION,,3,"2023/12/14 06:50:00",1,TAS1,0,54.1,0,54.1,0,0,1071.01,0,639.62,0,-431.39,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,148.99,,,,,,5.89659,2277.67801,0,1065.11157,1071.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.14,0.14,0,0,0,0,0,0,0,3.5,3.5,0,191.351967,231.851852,156.878378,98.808896,48.229558,133.117377,154.141084,85.926099,, +D,DREGION,,3,"2023/12/14 06:50:00",1,VIC1,0,49.50717,0,49.50717,0,0,4644.35,-4,5677.12,1,1031.77,0,,,43,,,,,,,,78,,,,,,,,93,,,,,,,,137,,,,,,,,83,,,,,,,,68,,,,,,4.92896,8900.342,379,4695.90527,4678.35,,42.77,,,,1,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.14,0.14,0,0.15,0.15,0,0.07,0.07,0,0.71,0.71,0,390,378,378,13,372.234280,486.234280,420.234280,449,, +D,DREGION,,3,"2023/12/14 06:55:00",1,NSW1,0,42.65054,0,42.65054,0,0,8415.82,26,7029.75,64,-1450.07,0,,,49,,,,,,,,87,,,,,,,,65,,,,,,,,141,,,,,,,,127,,,,,,,,124,,,,,,0,13344.62828,206,8516.68652,8556.36,,100,,,,60,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.17,0.17,0,0.05,0.05,0,0.27,0.27,0,428,433,678,353.280385,275,307,249,257.822621,, +D,DREGION,,3,"2023/12/14 06:55:00",1,QLD1,0,34.55,0,34.55,0,0,5898.08,-6,7203.11,0,1305.02,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,0,11341.61194,50,5940.41748,5940.43,,21,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.17,0.17,0,0.05,0.05,0,0.27,0.27,0,290,408.333333,132,200,184.002490,233.893890,173.002490,138,, +D,DREGION,,3,"2023/12/14 06:55:00",1,SA1,0,9.20454,0,9.20454,0,0,1435.54,-4,1295.87,6,-145.67,0,,,38.21,,,,,,,,40,,,,,,,,31,,,,,,,,104.46,,,,,,,,87.68,,,,,,,,118,,,,,,0,2805.48856,105,1446.29956,1442.77,,11,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.17,0.17,0,0.05,0.05,0,0.27,0.27,0,142,144,129,115.350356,123,130,128,100.6693,, +D,DREGION,,3,"2023/12/14 06:55:00",1,TAS1,0,54.08,0,54.08,0,0,1063.64,-1,601.64,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,148.95,,,,,,5.13918,2260.25699,0,1059.50049,1063.64,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.05,0.05,0,0,0,0,0,0,0,3.5,3.5,0,191.351967,231.851852,171.395688,111.382007,45.628118,124.803561,134.592411,75.5116,, +D,DREGION,,3,"2023/12/14 06:55:00",1,VIC1,0,8.95,0,8.95,0,0,4541.97,-12,5441.95,0,899.99,0,,,76.62,,,,,,,,125.8,,,,,,,,124.38,,,,,,,,129,,,,,,,,81,,,,,,,,58.06,,,,,,-8.35005,8870.70769,390,4600.4209,4569.11,,73.38,,,,32,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.17,0.17,0,0.05,0.05,0,0.27,0.27,0,415.878340,477.228890,479.228890,141.630010,367.701140,603.701140,481.701140,403.621656,, +D,DREGION,,3,"2023/12/14 07:00:00",1,NSW1,0,59.99,0,59.99,0,0,8454.41,16,7272.41,64,-1246,0,,,48,,,,,,,,87,,,,,,,,80.3,,,,,,,,141,,,,,,,,127,,,,,,,,124,,,,,,48.9105,13413.36588,206,8521.96582,8583.7,,115,,,,60,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.35198,0.35198,0,0,0,0,3.99,3.99,0,428,433,678,260.747870,346.064630,382.508590,249,432.285395,, +D,DREGION,,3,"2023/12/14 07:00:00",1,QLD1,0,49.08772,0,49.08772,0,0,5976.54,-14,7235.46,0,1258.91,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,24,,,,,,,,189.33,,,,,,,,189,,,,,,38.72833,11324.58835,50,5990.41309,6015.44,,25,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.35198,0.35198,0,0,0,0,3.99,3.99,0,290,408.333333,132,212.708911,198.428440,272.428440,187.428440,147.997510,, +D,DREGION,,3,"2023/12/14 07:00:00",1,SA1,0,19.66294,0,19.66294,0,0,1423.06,-6,1249.91,0,-173.16,0,,,34,,,,,,,,40,,,,,,,,33,,,,,,,,110.46,,,,,,,,84.23,,,,,,,,104.21,,,,,,18.82631,2786.31343,105,1413.69922,1425.93,,16.38,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.35198,0.35198,0,0,0,0,3.99,3.99,0,142,144,129,122.390650,124.016280,131.016280,128,105,, +D,DREGION,,3,"2023/12/14 07:00:00",1,TAS1,0,53.57593,0,53.57593,0,0,1058.97,-1,596.97,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,149.35,,,,,,-0.52864,2282.60833,0,1060.5033,1058.97,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.14,0.14,0,0,0,0,0,0,0,4.5,4.5,0,191.351967,231.851852,198.312048,127.037441,35.782431,109.586194,107.554113,61.944004,, +D,DREGION,,3,"2023/12/14 07:00:00",1,VIC1,0,19.12,0,19.12,0,0,4641.52,-19,5404.48,10,752.96,0,,,105,,,,,,,,123.72,,,,,,,,105,,,,,,,,126,,,,,,,,86,,,,,,,,73,,,,,,0,8902.63373,379,4683.7373,4675.18,,49,,,,29,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.35198,0.35198,0,0,0,0,3.99,3.99,0,422,470.549040,469.549040,114.156250,363.762193,609.762193,497.762193,416.324922,, +D,DREGION,,3,"2023/12/14 07:05:00",1,NSW1,0,57.9998,0,57.9998,0,0,8485.3,7,7293.09,154,-1346.21,0,,,80.54,,,,,,,,127.69,,,,,,,,85,,,,,,,,190.48,,,,,,,,127,,,,,,,,125,,,,,,50,13515.19198,206,8563.95508,8702.93,,35,,,,80,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,19.31,19.31,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,3.99,3.99,0,429,433,678,449.257408,282.952970,314.952970,239.000550,165.752142,, +D,DREGION,,3,"2023/12/14 07:05:00",1,QLD1,0,48.15731,0,48.15731,0,0,6015.57,-9,7223.09,0,1207.51,0,,,11,,,,,,,,98,,,,,,,,70,,,,,,,,29,,,,,,,,216.33,,,,,,,,206,,,,,,35.7745,11319.15684,50,6032.69189,6050.67,,23,,,,88,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,19.31,19.31,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,3.99,3.99,0,290,408.333333,132,152.196803,190.430930,292.430930,179.430930,138,, +D,DREGION,,3,"2023/12/14 07:05:00",1,SA1,0,54.37664,0,54.37664,0,0,1421.22,-8,1262.45,1,-159.77,0,,,78,,,,,,,,65,,,,,,,,61.17,,,,,,,,122,,,,,,,,120,,,,,,,,116,,,,,,9.01038,2795.08429,105,1423.07813,1427.21,,19,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,19.31,19.31,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,3.99,3.99,0,140,143,128,111.851470,121,128,126,105.6693,, +D,DREGION,,3,"2023/12/14 07:05:00",1,TAS1,0,55.75639,0,55.75639,0,0,1053.85,-1,794.82,0,-259.03,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,11.69,,,,,,,,84.28,,,,,,,,115.07,,,,,,-1.5354,2278.60849,0,1056.38306,1053.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,8.68639,8.68639,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,2.5,2.5,0,155.055671,163.129946,25.570618,50,121.019292,229.307563,277.844537,191.583523,, +D,DREGION,,3,"2023/12/14 07:05:00",1,VIC1,0,53.70345,0,53.70345,0,0,4809.21,-18,5500.3,9,682.09,0,,,70.77,,,,,,,,73.77,,,,,,,,70.77,,,,,,,,151,,,,,,,,90.7,,,,,,,,76.25,,,,,,0,8651.11083,374,4859.4082,4839.08,,83,,,,2,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,19.31,19.31,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,3.99,3.99,0,400.084840,383.084840,382.084840,12,185.589577,426.589577,309.589577,388.906250,, +D,DREGION,,3,"2023/12/14 07:10:00",1,NSW1,0,54.95,0,54.95,0,0,8454.32,2,7127.48,120,-1446.84,0,,,53,,,,,,,,91,,,,,,,,70,,,,,,,,150.62,,,,,,,,126,,,,,,,,124,,,,,,48.04181,13464.41495,206,8639.78027,8648.57,,25,,,,70,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,20.35967,20.35967,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,2,2,0,428,432,677,448.384735,260.000550,291.000550,233.000550,179.072806,, +D,DREGION,,3,"2023/12/14 07:10:00",1,QLD1,0,18.84,0,18.84,0,0,6048.15,-9,7352.16,3,1301.01,0,,,0,,,,,,,,74.6,,,,,,,,64.6,,,,,,,,21,,,,,,,,183,,,,,,,,177,,,,,,14.13577,11620.54004,50,6092.24072,6091.92,,15,,,,80,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,20.35967,20.35967,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,2,2,0,268,376,129,185,178.600010,232.000010,157.600010,75,, +D,DREGION,,3,"2023/12/14 07:10:00",1,SA1,0,49.66489,0,49.66489,0,0,1377.32,-11,1292.79,8,-92.53,0,,,56.66,,,,,,,,57.73,,,,,,,,33,,,,,,,,121,,,,,,,,96.57,,,,,,,,118,,,,,,9.62229,2827.19241,105,1383.60071,1390.78,,5,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,20.35967,20.35967,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,2,2,0,125,128,128,69,121,124,124,97,, +D,DREGION,,3,"2023/12/14 07:10:00",1,TAS1,0,52.9113,0,52.9113,0,0,1076.3,-2,751.83,0,-324.46,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,61,,,,,,,,140.72,,,,,,,,143.58,,,,,,5.31428,2269.93379,0,1072.98132,1076.3,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.5,3.5,0,191.351967,219.569801,74.878378,50,96.583648,196.072269,229.931934,145.455285,, +D,DREGION,,3,"2023/12/14 07:10:00",1,VIC1,0,50.31967,0,50.31967,0,0,4738.88,-22,5448.49,0,709.61,0,,,133.64,,,,,,,,143.64,,,,,,,,118.66,,,,,,,,141,,,,,,,,82,,,,,,,,65.71,,,,,,-10.92631,8641.04707,376,4801.88965,4765.19,,115,,,,20,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,20.35967,20.35967,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,2,2,0,370,372,374,30,327,563,441,490.3125,, +D,DREGION,,3,"2023/12/14 07:15:00",1,NSW1,0,58,0,58,0,0,8498.53,0,7167.7,115,-1445.83,0,,,92,,,,,,,,130,,,,,,,,119,,,,,,,,194.78,,,,,,,,130.2,,,,,,,,124,,,,,,48.36817,13513.07858,206,8676.67969,8687.66,,35,,,,65,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.39,0.39,0,0.42,0.42,0,0.39,0.39,0,1.2,1.2,0,428,432,678,397.333473,301.408830,332.408830,272.000550,248.326072,, +D,DREGION,,3,"2023/12/14 07:15:00",1,QLD1,0,-20.5,0,-20.5,0,0,6028.7,-9,7304.46,0,1275.75,0,,,0,,,,,,,,42,,,,,,,,28,,,,,,,,26,,,,,,,,215,,,,,,,,199,,,,,,-6.72549,11909.97619,50,6113.0293,6069.27,,13,,,,94,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.39,0.39,0,0.42,0.42,0,0.39,0.39,0,1.2,1.2,0,272,380,129,171.996791,101.528460,135.528460,120.528460,78.000005,, +D,DREGION,,3,"2023/12/14 07:15:00",1,SA1,0,52.40557,0,52.40557,0,0,1379.55,-13,1291.27,0,-88.27,0,,,71.86,,,,,,,,85,,,,,,,,37.98,,,,,,,,122,,,,,,,,110,,,,,,,,118,,,,,,13.27113,2812.25861,105,1387.91382,1384.55,,11,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.39,0.39,0,0.42,0.42,0,0.39,0.39,0,1.2,1.2,0,142,143,128,110.692565,123,126,124,106.6693,, +D,DREGION,,3,"2023/12/14 07:15:00",1,TAS1,0,55.68923,0,55.68923,0,0,1108.92,-2,802.45,0,-306.47,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,,,82.72,,,,,,,,115.22,,,,,,11.54796,2262.55201,0,1099.37354,1108.92,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,8.61923,8.61923,0,0.39,0.39,0,0.42,0.42,0,0.39,0.39,0,2.5,2.5,0,155.055671,161.569801,16.878378,50,126.959886,237.248739,279.869853,203.455285,, +D,DREGION,,3,"2023/12/14 07:15:00",1,VIC1,0,53.09561,0,53.09561,0,0,4730.76,-22,5445.98,5,710.22,0,,,80.52,,,,,,,,110.52,,,,,,,,100.52,,,,,,,,154,,,,,,,,95,,,,,,,,76.7,,,,,,-10.06046,8550.37691,390,4786.28027,4761.46,,101,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.39,0.39,0,0.42,0.42,0,0.39,0.39,0,1.2,1.2,0,392,379,379,14,346.517130,580.517130,458.517130,498.906250,, +D,DREGION,,3,"2023/12/14 07:20:00",1,NSW1,0,9.37764,0,9.37764,0,0,8106.78,-6,7080.03,154,-1180.75,0,,,58,,,,,,,,98.61,,,,,,,,85,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,0,13612.46914,206,8282.96582,8325.12,,20,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0,428,432,678,444.361325,235.000550,266.000550,238.000550,103.019838,, +D,DREGION,,3,"2023/12/14 07:20:00",1,QLD1,0,1,0,1,0,0,6065.37,-5,7328.34,3,1259.97,0,,,28,,,,,,,,56,,,,,,,,25,,,,,,,,21,,,,,,,,192.38,,,,,,,,181,,,,,,-23.25622,11882.40585,50,6126.08252,6107.8,,15,,,,75,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0,272,380,128,179.618960,59,91,78,75,, +D,DREGION,,3,"2023/12/14 07:20:00",1,SA1,0,8.7426,0,8.7426,0,0,1337.32,-15,1280.54,0,-56.78,0,,,45.05,,,,,,,,80,,,,,,,,41.35,,,,,,,,69.81,,,,,,,,33,,,,,,,,65.86,,,,,,0,2807.3237,105,1361.4563,1342.65,,17.38,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0,123,126,126,77,119,121,121,105,, +D,DREGION,,3,"2023/12/14 07:20:00",1,TAS1,0,37.08,0,37.08,0,0,1102.79,-2,640.79,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,147,,,,,,,,143.52,,,,,,0,2266.99974,0,1104.78711,1102.79,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0.45,0.45,0,0,0,0,3.5,3.5,0,191.351967,225.851852,154.878378,88.016606,60.450333,141.149653,168.045726,72.286053,, +D,DREGION,,3,"2023/12/14 07:20:00",1,VIC1,0,8.95,0,8.95,0,0,4779.67,-23,5354.89,0,575.21,0,,,112.61,,,,,,,,132.61,,,,,,,,132.61,,,,,,,,135,,,,,,,,105,,,,,,,,89,,,,,,0,8590.33855,404,4835.99365,4806.22,,153,,,,45,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0,443.432440,464.052470,462.052470,122.052470,326,562,440,410.596279,, +D,DREGION,,3,"2023/12/14 07:25:00",1,NSW1,0,22.57369,0,22.57369,0,0,8160.97,-18,7154.88,154,-1160.08,0,,,57,,,,,,,,96,,,,,,,,85,,,,,,,,141,,,,,,,,122.6,,,,,,,,124,,,,,,49.0209,13751.42705,206,8328.02441,8371.2,,20,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,428,432,678,443.076516,235.000550,266.000550,237.000550,83.007639,, +D,DREGION,,3,"2023/12/14 07:25:00",1,QLD1,0,18.84,0,18.84,0,0,6055.67,0,7230.67,0,1175,0,,,0,,,,,,,,52,,,,,,,,25,,,,,,,,21,,,,,,,,196,,,,,,,,191,,,,,,-7.74915,11779.71991,50,6094.8418,6089.22,,40.38,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,292,415,128,214.996791,65.430930,94.050930,81.050930,78,, +D,DREGION,,3,"2023/12/14 07:25:00",1,SA1,0,18.50274,0,18.50274,0,0,1342.04,-17,1324.45,0,-17.59,0,,,59.61,,,,,,,,85.98,,,,,,,,34.42,,,,,,,,70.87,,,,,,,,35,,,,,,,,57.75,,,,,,19.52434,2815.45131,105,1344.75854,1346.72,,31,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,142,143,128,126.851470,123,126,124,106.6693,, +D,DREGION,,3,"2023/12/14 07:25:00",1,TAS1,0,54.1,0,54.1,0,0,1092.77,-2,630.77,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,136.64,,,,,,,,143.49,,,,,,-2.26338,2243.50541,0,1097.03223,1092.77,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.39,0.39,0,0.39,0.39,0,0,0,0,3.5,3.5,0,191.351967,225.851852,154.614938,87.736560,56.659708,145.946361,179.143724,98.350161,, +D,DREGION,,3,"2023/12/14 07:25:00",1,VIC1,0,19.14,0,19.14,0,0,4840.85,-19,5435.71,9,585.86,0,,,127.83,,,,,,,,132.83,,,,,,,,137.83,,,,,,,,111,,,,,,,,89,,,,,,,,63,,,,,,8.2061,8675.09202,421,4876.53955,4876.57,,114,,,,39,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,389,390,393,56.0565,308,548,431,495.3125,, +D,DREGION,,3,"2023/12/14 07:30:00",1,NSW1,0,54.95,0,54.95,0,0,8197.17,-18,7255.15,160,-1102.02,0,,,52,,,,,,,,91,,,,,,,,70,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,49.34727,13874.71774,211,8353.89746,8406.07,,32,,,,45.51,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,428,432,678,397.119812,233.000550,264.000550,235.000550,212.638060,, +D,DREGION,,3,"2023/12/14 07:30:00",1,QLD1,0,46.50207,0,46.50207,0,0,6072.9,-4,7176.73,0,1103.83,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,21,,,,,,,,166,,,,,,,,166,,,,,,-10.36234,11571.17906,50,6109.0083,6101.92,,21,,,,69,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,257,360,93,154.996791,168.430930,210.430930,164.430930,123,, +D,DREGION,,3,"2023/12/14 07:30:00",1,SA1,0,9.07237,0,9.07237,0,0,1333.94,-18,1323.48,5,-15.46,0,,,75.17,,,,,,,,57.66,,,,,,,,33,,,,,,,,79.31,,,,,,,,44.8,,,,,,,,53.26,,,,,,22.04084,2823.91333,105,1334.32971,1343.64,,3.38,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,142,143,128,131.692565,123,125,123,100.997890,, +D,DREGION,,3,"2023/12/14 07:30:00",1,TAS1,0,54.1,0,54.1,0,0,1093.01,-3,631.01,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,147,,,,,,,,143.54,,,,,,-5.81563,2221.32044,0,1101.82422,1093.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.3,0.3,0,0.39,0.39,0,0,0,0,3.5,3.5,0,191.351967,225.851852,147.090238,80.211860,65.470176,158.443956,201.953547,109.642899,, +D,DREGION,,3,"2023/12/14 07:30:00",1,VIC1,0,9.38454,0,9.38454,0,0,4821.57,-15,5412.69,6,585.12,0,,,110.79,,,,,,,,120.79,,,,,,,,107.99,,,,,,,,97,,,,,,,,89,,,,,,,,86,,,,,,11.59629,8776.67391,410,4861.68408,4854.42,,149,,,,50.49,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,438,477.506350,475.506350,123.3125,276,512,390,399.312498,, +D,DREGION,,3,"2023/12/14 07:35:00",1,NSW1,0,54.95,0,54.95,0,0,8166.67,-9,7327.75,163,-1001.92,0,,,87.01,,,,,,,,160,,,,,,,,107,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,21.10221,13879.2854,211,8356.75684,8389.31,,43.38,,,,65,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.85,0.85,0,4.77,4.77,0,0.45,0.45,0,3.71,3.71,0,428,432,678,387.967643,231.620550,262.620550,223.620550,132.476239,, +D,DREGION,,3,"2023/12/14 07:35:00",1,QLD1,0,45.16736,0,45.16736,0,0,5930.76,-6,7163.22,0,1232.45,0,,,28,,,,,,,,66,,,,,,,,55,,,,,,,,21,,,,,,,,180,,,,,,,,180,,,,,,7.38082,10910.97641,50,5962.16309,5968.73,,11,,,,69,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.85,0.85,0,4.77,4.77,0,0.45,0.45,0,3.71,3.71,0,281,399,113,154.996794,157.430930,249.430930,144.430930,126,, +D,DREGION,,3,"2023/12/14 07:35:00",1,SA1,0,8.83323,0,8.83323,0,0,1331.01,-18,1271.64,0,-59.37,0,,,90,,,,,,,,47,,,,,,,,78,,,,,,,,66.05,,,,,,,,57.09,,,,,,,,81.3,,,,,,23.66196,2507.002,105,1330.05115,1334.48,,16,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.85,0.85,0,4.77,4.77,0,0.45,0.45,0,3.71,3.71,0,123,125,125,77,114,116,116,105,, +D,DREGION,,3,"2023/12/14 07:35:00",1,TAS1,0,54.08,0,54.08,0,0,1086.32,-3,624.32,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,138.79,,,,,,-8.44965,2231.71573,0,1097.7677,1086.32,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.85,0.85,0,1.75,1.75,0,0,0,0,4.54033,4.54033,0,187.826087,210.037037,119.475410,62.475410,70.418549,116.167609,136.697619,64,, +D,DREGION,,3,"2023/12/14 07:35:00",1,VIC1,0,8.95,0,8.95,0,0,4865.28,-15,5277.13,0,411.86,0,,,41,,,,,,,,90.43,,,,,,,,41.79,,,,,,,,139,,,,,,,,86,,,,,,,,78,,,,,,9.29737,8701.79563,415,4896.84619,4885.22,,135,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5,5,0,0.85,0.85,0,4.77,4.77,0,0.45,0.45,0,3.71,3.71,0,427,575.312660,540,113.3125,117,361,249,325.312493,, +D,DREGION,,3,"2023/12/14 07:40:00",1,NSW1,0,62.75,0,62.75,0,0,8277.13,-8,7434.62,158,-1000.5,0,,,57,,,,,,,,118.6,,,,,,,,85,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,26.19048,13879.26316,211,8458.4248,8488.61,,25,,,,67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.7,3.7,0,428,433,678,369.472554,303.487740,334.487740,237.000550,217.796067,, +D,DREGION,,3,"2023/12/14 07:40:00",1,QLD1,0,52.06759,0,52.06759,0,0,6035.63,-6,7223.02,0,1187.39,0,,,20,,,,,,,,74,,,,,,,,45,,,,,,,,21,,,,,,,,176,,,,,,,,176,,,,,,3.30924,10901.04979,50,6068.08301,6069.67,,23,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.7,3.7,0,277,395,113,162.996782,165.430930,257.430930,144.430930,138,, +D,DREGION,,3,"2023/12/14 07:40:00",1,SA1,0,8.97594,0,8.97594,0,0,1295.36,-18,1226.39,8,-76.98,0,,,99.42,,,,,,,,75,,,,,,,,83.83,,,,,,,,76.03,,,,,,,,65.21,,,,,,,,113.81,,,,,,9.96814,2487.04102,105,1306.96521,1305.24,,5.38,,,,3,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.7,3.7,0,125,127,127,73.194350,120,122,122,97,, +D,DREGION,,3,"2023/12/14 07:40:00",1,TAS1,0,54.1,0,54.1,0,0,1080.59,-3,618.59,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.4,,,,,,-15.20696,2244.50044,0,1098.79834,1080.59,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0.45,0.45,0,0,0,0,3.5,3.5,0,190.326087,220.037037,153.744681,89.761804,56.764258,114.002307,142.660126,71.941035,, +D,DREGION,,3,"2023/12/14 07:40:00",1,VIC1,0,9,0,9,0,0,4775.35,-19,5235.95,2,458.6,0,,,66.72,,,,,,,,96.72,,,,,,,,66.72,,,,,,,,148,,,,,,,,100,,,,,,,,63,,,,,,0,8709.08173,413,4813.68213,4794.47,,152,,,,23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.7,3.7,0,401,619.8015,541,111.156250,219,425.3970,351,397.311490,, +D,DREGION,,3,"2023/12/14 07:45:00",1,NSW1,0,62.75,0,62.75,0,0,8265.91,-6,7481.12,154,-938.8,0,,,77,,,,,,,,140.01,,,,,,,,85,,,,,,,,142,,,,,,,,126,,,,,,,,124,,,,,,30.95238,13897.48001,206,8444.31738,8479.53,,35,,,,83,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0,428,433,685,405.622943,345.000550,381.950140,257.000550,215.465103,, +D,DREGION,,3,"2023/12/14 07:45:00",1,QLD1,0,51.67632,0,51.67632,0,0,5994.18,-3,7244.21,0,1250.03,0,,,0,,,,,,,,48,,,,,,,,25,,,,,,,,19,,,,,,,,178,,,,,,,,178,,,,,,10.66928,10877.45843,50,6022.15527,6032.62,,31.38,,,,76,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0,279,397,111,162.996786,145.430930,237.430930,144.430930,138,, +D,DREGION,,3,"2023/12/14 07:45:00",1,SA1,0,-35.95,0,-35.95,0,0,1286,-18,1174.5,6,-117.5,0,,,97.08,,,,,,,,70,,,,,,,,79.35,,,,,,,,121,,,,,,,,77.78,,,,,,,,118,,,,,,-1.78739,2522.94468,105,1311.21008,1294.7,,31,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0,125,128,128,67,120,122,122,99,, +D,DREGION,,3,"2023/12/14 07:45:00",1,TAS1,0,54.08,0,54.08,0,0,1070.17,-3,608.17,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,99.34,,,,,,,,153,,,,,,,,143.61,,,,,,-19.58331,2246.75938,0,1092.74878,1070.17,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0.45,0.45,0,0,0,0,4.56049,4.56049,0,190.326087,220.037037,112.088941,50,58.788177,132.434736,162.8155,72.000001,, +D,DREGION,,3,"2023/12/14 07:45:00",1,VIC1,0,-35.67741,0,-35.67741,0,0,4741.36,-20,5134.88,7,386.51,0,,,70.85,,,,,,,,107.85,,,,,,,,90.85,,,,,,,,104.51,,,,,,,,82,,,,,,,,53.17,,,,,,-11.77703,8751.84901,368,4795.07861,4765.85,,108,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.99,3.99,0,402,640,542,118.3125,153,262.586090,252.586090,307.3125,, +D,DREGION,,3,"2023/12/14 07:50:00",1,NSW1,0,60.61376,0,60.61376,0,0,8250.44,-9,7444.9,149,-954.53,0,,,70.48,,,,,,,,156.84,,,,,,,,58,,,,,,,,142,,,,,,,,126,,,,,,,,124,,,,,,35.71429,13626.88245,206,8432.2168,8460.94,,55,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,3.38,3.38,0,0.39,0.39,0,1,1,0,0.45,0.45,0,3.98,3.98,0,428,433,685,401.351103,330.000550,427.913910,312.000550,186.407282,, +D,DREGION,,3,"2023/12/14 07:50:00",1,QLD1,0,49.55,0,49.55,0,0,5956.71,-4,7220.52,0,1263.8,0,,,9,,,,,,,,74,,,,,,,,55,,,,,,,,19,,,,,,,,191,,,,,,,,185,,,,,,6.30246,10804.52652,50,5994.09277,5996.31,,23,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,3.38,3.38,0,0.39,0.39,0,1,1,0,0.45,0.45,0,3.98,3.98,0,286,410,126,183.479135,175.430930,267.430930,154.430930,138,, +D,DREGION,,3,"2023/12/14 07:50:00",1,SA1,0,9.06452,0,9.06452,0,0,1272.65,-16,1143.21,5,-134.44,0,,,83,,,,,,,,47,,,,,,,,77,,,,,,,,119,,,,,,,,77.94,,,,,,,,116,,,,,,0,2482.73409,105,1294.42554,1280.76,,16,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,3.38,3.38,0,0.39,0.39,0,1,1,0,0.45,0.45,0,3.98,3.98,0,123,126,126,66,113,116,116,100,, +D,DREGION,,3,"2023/12/14 07:50:00",1,TAS1,0,54.1,0,54.1,0,0,1064.77,-3,602.77,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.54,,,,,,-21.57872,2240.38339,0,1089.34802,1064.77,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,7.23,7.23,0,0.39,0.39,0,1,1,0,0,0,0,4.5,4.5,0,190.326087,220.037037,153.744681,89.168752,54.540283,130.900840,158.066788,96.999249,, +D,DREGION,,3,"2023/12/14 07:50:00",1,VIC1,0,8.95,0,8.95,0,0,4791.2,-17,5203.86,3,409.66,0,,,82,,,,,,,,87,,,,,,,,89.38,,,,,,,,115.59,,,,,,,,81,,,,,,,,60.41,,,,,,0,8799.69474,338,4824.74365,4812.48,,111.38,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,3.38,3.38,0,0.39,0.39,0,1,1,0,0.45,0.45,0,3.98,3.98,0,424.766160,675.149240,577.149240,155.584512,260,391,382,398.769583,, +D,DREGION,,3,"2023/12/14 07:55:00",1,NSW1,0,58,0,58,0,0,8193.81,-10,7501.42,149,-841.39,0,,,62,,,,,,,,94.84,,,,,,,,80,,,,,,,,142,,,,,,,,126,,,,,,,,124,,,,,,40.47619,13681.04063,206,8364.66211,8391.83,,45,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.98,3.98,0,428,433,685,407.244240,340.000550,451.000550,322.000550,209.706233,, +D,DREGION,,3,"2023/12/14 07:55:00",1,QLD1,0,48.65862,0,48.65862,0,0,5923.49,-6,7063.65,0,1140.15,0,,,2,,,,,,,,67,,,,,,,,55,,,,,,,,19,,,,,,,,191,,,,,,,,185,,,,,,-2.01202,10721.7441,295,5968.65088,5955.4,,23,,,,78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.98,3.98,0,286,410,126,214.996791,175.430930,267.430930,154.430930,86.000002,, +D,DREGION,,3,"2023/12/14 07:55:00",1,SA1,0,9.01801,0,9.01801,0,0,1250.89,-15,1130.76,3,-123.13,0,,,85.76,,,,,,,,71,,,,,,,,32.63,,,,,,,,83.55,,,,,,,,67.63,,,,,,,,115.11,,,,,,-9.75414,2430.4076,105,1286.46729,1256.93,,11,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.98,3.98,0,125,128,128,66.889720,120,123,123,102,, +D,DREGION,,3,"2023/12/14 07:55:00",1,TAS1,0,54.08,0,54.08,0,0,1061.51,-3,599.51,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.52,,,,,,-22.91378,2279.17952,0,1087.42566,1061.51,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0.45,0.45,0,0,0,0,4.5,4.5,0,190.326087,220.037037,153.744681,101.7750,48.099294,115.857923,143.651438,90.204929,, +D,DREGION,,3,"2023/12/14 07:55:00",1,VIC1,0,8.95,0,8.95,0,0,4795.15,-16,5194.64,11,388.49,0,,,93,,,,,,,,130,,,,,,,,113,,,,,,,,142,,,,,,,,82,,,,,,,,52,,,,,,-22.20146,8821.93495,361,4850.55029,4824.3,,126.38,,,,3,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,3.98,3.98,0,433.542933,689.3144,591.3144,169.122772,287.62,413.62,399.62,430.307121,, +D,DREGION,,3,"2023/12/14 08:00:00",1,NSW1,0,99.61,0,99.61,0,0,8236.37,-11,7711.06,149,-674.31,0,,,90.65,,,,,,,,181.66,,,,,,,,100.15,,,,,,,,141,,,,,,,,125,,,,,,,,124,,,,,,45.2381,13746.00609,207,8369.09375,8416.43,,40,,,,67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.5,0.5,0,1,1,0,0.41,0.41,0,3.99,3.99,0,428,432,684,322.178057,302.263090,413.263090,282.1389,182.114649,, +D,DREGION,,3,"2023/12/14 08:00:00",1,QLD1,0,86,0,86,0,0,6005.01,-7,7202.92,245,952.92,0,,,0,,,,,,,,56.1,,,,,,,,46.1,,,,,,,,19,,,,,,,,186.15,,,,,,,,186.31,,,,,,0,10676.69022,295,6040.57373,6270.92,,25,,,,69,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.5,0.5,0,1,1,0,0.41,0.41,0,3.99,3.99,0,287.306893,405.148833,126,147.947364,179.528450,271.528450,178.528450,152.997510,, +D,DREGION,,3,"2023/12/14 08:00:00",1,SA1,0,0.02036,0,0.02036,0,0,1260.98,-13,1115.51,0,-145.47,0,,,108,,,,,,,,68,,,,,,,,92,,,,,,,,87.76,,,,,,,,75.72,,,,,,,,116.28,,,,,,0,2435.58009,105,1280.6825,1264.3,,48.38,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.5,0.5,0,1,1,0,0.41,0.41,0,3.99,3.99,0,125,128,128,62.723460,111.62,119.2992,119.930222,105,, +D,DREGION,,3,"2023/12/14 08:00:00",1,TAS1,0,53.57593,0,53.57593,0,0,1046.78,-4,584.78,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.29,,,,,,-24.24884,2276.40722,0,1075.03198,1046.78,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.5,0.5,0,1,1,0,0,0,0,4.5,4.5,0,190.326087,220.037037,153.744681,101.7750,41.278763,91.195115,102.239863,52.026892,, +D,DREGION,,3,"2023/12/14 08:00:00",1,VIC1,0,0.02,0,0.02,0,0,4767.46,-22,5173.17,3,402.71,0,,,41,,,,,,,,53,,,,,,,,41,,,,,,,,142,,,,,,,,82,,,,,,,,52,,,,,,0,8776.98091,344,4814.78027,4789.02,,92,,,,23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.5,0.5,0,1,1,0,0.41,0.41,0,3.99,3.99,0,440,699,601,162.156250,198,333.997380,330,347.013127,, +D,DREGION,,3,"2023/12/14 08:05:00",1,NSW1,0,58,0,58,0,0,8205.34,-9,7638.25,96,-663.09,0,,,87,,,,,,,,126,,,,,,,,105,,,,,,,,141,,,,,,,,126,,,,,,,,124,,,,,,50,13899.93341,154,8324.24707,8336.91,,31,,,,59,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.2,1.2,0,428,433,684,410.236646,255.000550,366.000550,198.839630,156.561224,, +D,DREGION,,3,"2023/12/14 08:05:00",1,QLD1,0,49.55,0,49.55,0,0,5973.1,-8,7242.82,246,1023.72,0,,,0,,,,,,,,70,,,,,,,,50,,,,,,,,16,,,,,,,,191.24,,,,,,,,186,,,,,,-16.88503,10308.87199,295,6270.19531,6242.82,,21,,,,81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.2,1.2,0,287,410.244444,123,214.996791,170.430930,274.430930,179.430930,136.710108,, +D,DREGION,,3,"2023/12/14 08:05:00",1,SA1,0,9.0183,0,9.0183,0,0,1259.43,-12,1124.72,2,-136.71,0,,,63.2,,,,,,,,73.17,,,,,,,,30,,,,,,,,95.21,,,,,,,,78.94,,,,,,,,116,,,,,,6.79145,2527.47082,105,1271.69348,1266.25,,11,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.2,1.2,0,123,126,126,63,118,137.357420,137.357420,103,, +D,DREGION,,3,"2023/12/14 08:05:00",1,TAS1,0,37.1,0,37.1,0,0,1057.52,-4,595.52,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,147,,,,,,,,143.27,,,,,,-15.02626,2271.8438,0,1076.54602,1057.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.3,0.3,0,0.39,0.39,0,0,0,0,3.5,3.5,0,190.326087,220.037037,153.744681,101.406424,50.980627,119.368594,147.260453,91.783195,, +D,DREGION,,3,"2023/12/14 08:05:00",1,VIC1,0,8.95,0,8.95,0,0,4779.22,-21,5102.81,0,323.59,0,,,94.35,,,,,,,,93.35,,,,,,,,92.62,,,,,,,,143,,,,,,,,83,,,,,,,,56.91,,,,,,-20.88427,8643.68032,413,4844.30859,4800.62,,142.38,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.38,3.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.2,1.2,0,437.474731,695.525208,589.090760,172.274141,309.353936,437.353936,423.353936,441.467167,, +D,DREGION,,3,"2023/12/14 08:10:00",1,NSW1,0,66.19627,0,66.19627,0,0,8205.02,-17,7630.06,75,-649.96,0,,,101,,,,,,,,140,,,,,,,,99,,,,,,,,142,,,,,,,,127,,,,,,,,124,,,,,,50,13895.25513,158,8275.39648,8325.92,,21,,,,63,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,1.2,1.2,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,3.7,3.7,0,428,434,679,380.392558,269,380,211,183.440031,, +D,DREGION,,3,"2023/12/14 08:10:00",1,QLD1,0,55.74998,0,55.74998,0,0,5988.25,-5,7363.71,247,1128.46,0,,,45,,,,,,,,110,,,,,,,,100,,,,,,,,61,,,,,,,,235,,,,,,,,229,,,,,,-27.64973,10643.89565,370,6287.68799,6265.09,,23,,,,71.16,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,1.2,1.2,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,3.7,3.7,0,330,450.199990,170,207.156211,222.430930,314.430930,201.430930,208,, +D,DREGION,,3,"2023/12/14 08:10:00",1,SA1,0,5.2631,0,5.2631,0,0,1241.34,-13,1131.29,1,-111.05,0,,,35,,,,,,,,35,,,,,,,,32,,,,,,,,86.45,,,,,,,,35,,,,,,,,67.99,,,,,,13.10625,2473.66865,105,1246.9043,1245.79,,5.82,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,1.2,1.2,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,3.7,3.7,0,125,128,128,78,120,143,143,104,, +D,DREGION,,3,"2023/12/14 08:10:00",1,TAS1,0,37.08,0,37.08,0,0,1061.89,-3,599.89,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,140,,,,,,,,142.99,,,,,,-10.6432,2294.10679,0,1075.5293,1061.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.5,3.5,0,190.326087,220.037037,153.744681,101.7750,43.897317,109.870679,129.137273,82.768433,, +D,DREGION,,3,"2023/12/14 08:10:00",1,VIC1,0,5.24979,0,5.24979,0,0,4788.71,-22,4990.64,9,192.93,0,,,59.87,,,,,,,,73.4,,,,,,,,45.99,,,,,,,,97,,,,,,,,79.98,,,,,,,,53,,,,,,0,8600.89023,415,4830.35938,4816.91,,155.56,,,,23.84,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,1.2,1.2,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,3.7,3.7,0,449.494934,710,602,203.156250,248,374,360,423.339168,, +D,DREGION,,3,"2023/12/14 08:15:00",1,NSW1,0,58,0,58,0,0,8086.88,-20,7425.11,65,-726.78,0,,,101,,,,,,,,120,,,,,,,,96.1,,,,,,,,142,,,,,,,,127,,,,,,,,124,,,,,,50,13814.86234,147,8208.00781,8209.06,,29,,,,55,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.3,0.3,0,0.3,0.3,0,1.2,1.2,0,388,394,629,414.292951,269,380,211,167.322373,, +D,DREGION,,3,"2023/12/14 08:15:00",1,QLD1,0,1,0,1,0,0,5926.61,-8,7400.09,247,1226.48,0,,,45,,,,,,,,135,,,,,,,,115,,,,,,,,37,,,,,,,,216.46,,,,,,,,216.5,,,,,,-25.7719,10877.10205,370,6252.09375,6210.66,,13,,,,85,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.3,0.3,0,0.3,0.3,0,1.2,1.2,0,307.496548,409.462218,170,246.996791,237.428440,341.428440,226.428440,148.000002,, +D,DREGION,,3,"2023/12/14 08:15:00",1,SA1,0,9.06928,0,9.06928,0,0,1215.15,-14,1107.45,6,-113.7,0,,,35,,,,,,,,35,,,,,,,,31,,,,,,,,112.24,,,,,,,,38.39,,,,,,,,82.05,,,,,,19.15032,2349.18319,105,1216.93005,1223.68,,9,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.3,0.3,0,0.3,0.3,0,1.2,1.2,0,125,128,128,75.755030,120,123,123,99,, +D,DREGION,,3,"2023/12/14 08:15:00",1,TAS1,0,36.57593,0,36.57593,0,0,1050.04,-3,588.04,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.3,,,,,,-8.88762,2296.16195,0,1061.92834,1050.04,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.03,0.03,0,0.3,0.3,0,0,0,0,4.5,4.5,0,190.326087,226.037037,170.665901,111.616934,39.101859,103.460281,114.435845,75.308003,, +D,DREGION,,3,"2023/12/14 08:15:00",1,VIC1,0,9,0,9,0,0,4775.09,-21,4965.16,0,190.07,0,,,57.6,,,,,,,,66.21,,,,,,,,35,,,,,,,,97,,,,,,,,84,,,,,,,,53,,,,,,-31.80533,8568.64785,410,4862.59033,4792.41,,154.38,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.3,0.3,0,0.3,0.3,0,1.2,1.2,0,440.666667,697,589,141.416256,253,402.134220,365,469.499998,, +D,DREGION,,3,"2023/12/14 08:20:00",1,NSW1,0,88.88,0,88.88,0,0,8160.23,-17,7513.52,79,-725.71,0,,,100,,,,,,,,125.37,,,,,,,,98,,,,,,,,142,,,,,,,,127,,,,,,,,124,,,,,,44.29195,13805.22532,148,8270.00684,8299.53,,21,,,,54,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.76,3.76,0,388,394,629,339.221808,268,379,210,230.275152,, +D,DREGION,,3,"2023/12/14 08:20:00",1,QLD1,0,1,0,1,0,0,5926.83,-7,7431.9,245,1260.06,0,,,45,,,,,,,,123,,,,,,,,113,,,,,,,,35,,,,,,,,218.98,,,,,,,,219,,,,,,-33.78773,11043.51936,370,6258.854,6211.08,,23.38,,,,75,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.76,3.76,0,310,414.977778,170,232,229,321,208,150.000004,, +D,DREGION,,3,"2023/12/14 08:20:00",1,SA1,0,0.02006,0,0.02006,0,0,1183.31,-17,1051.42,4,-135.89,0,,,31,,,,,,,,31,,,,,,,,29,,,,,,,,70.6,,,,,,,,31,,,,,,,,45.64,,,,,,22.81345,2292.0046,105,1187.07434,1192.78,,6,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.76,3.76,0,123,125,125,66,118,119,119,101,, +D,DREGION,,3,"2023/12/14 08:20:00",1,TAS1,0,37.08,0,37.08,0,0,1057.85,-2,595.85,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,137.08,,,,,,,,143.05,,,,,,-5.30032,2292.84986,0,1065.15479,1057.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.05,0.05,0,0.38,0.38,0,0,0,0,3.5,3.5,0,190.326087,226.037037,159.640071,105.203951,41.267440,106.355152,125.009854,80.865738,, +D,DREGION,,3,"2023/12/14 08:20:00",1,VIC1,0,0.02,0,0.02,0,0,4678.87,-23,4870.01,0,191.14,0,,,63.28,,,,,,,,77,,,,,,,,36.36,,,,,,,,106,,,,,,,,69.63,,,,,,,,52,,,,,,-20.71736,8625.97524,415,4739.55957,4701.46,,155,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.76,3.76,0,633,893,785,194,281.893680,371.885780,361.885780,363.075664,, +D,DREGION,,3,"2023/12/14 08:25:00",1,NSW1,0,85.98,0,85.98,0,0,8134.31,-12,7491.02,72,-715.29,0,,,74,,,,,,,,109.84,,,,,,,,87.36,,,,,,,,142,,,,,,,,113,,,,,,,,124,,,,,,45.24329,13836.07103,149,8260.61035,8268.87,,41,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.51,0.51,0,388,394,629,377.470181,252,362,194,199.935309,, +D,DREGION,,3,"2023/12/14 08:25:00",1,QLD1,0,0,0,0,0,0,5809.7,-10,7324.74,245,1270.03,0,,,45,,,,,,,,107.3,,,,,,,,96.9,,,,,,,,35,,,,,,,,226,,,,,,,,223,,,,,,-39.86186,10873.79277,370,6152.32031,6095.26,,11.1,,,,78,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.51,0.51,0,314,422,170,246.996791,219.3292,313.729210,216.828450,148.099246,, +D,DREGION,,3,"2023/12/14 08:25:00",1,SA1,0,8.97482,0,8.97482,0,0,1178.71,-18,1033.6,1,-146.12,0,,,21,,,,,,,,21,,,,,,,,19,,,,,,,,50.71,,,,,,,,35,,,,,,,,33,,,,,,22.76872,2304.16461,105,1184.73901,1186.18,,16.28,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.51,0.51,0,125,129,129,78,113.719240,115.719240,115.719240,104,, +D,DREGION,,3,"2023/12/14 08:25:00",1,TAS1,0,37.08,0,37.08,0,0,1056.84,-2,594.84,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,137.23,,,,,,,,142.64,,,,,,-6.56176,2290.07852,0,1065.40479,1056.84,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.5,3.5,0,190.326087,226.037037,157.880181,104.180342,43.099372,108.804015,127.096959,81.752837,, +D,DREGION,,3,"2023/12/14 08:25:00",1,VIC1,0,8.95,0,8.95,0,0,4653.55,-33,4844.19,3,187.65,0,,,97.01,,,,,,,,115.8,,,,,,,,72.87,,,,,,,,107,,,,,,,,53.41,,,,,,,,42,,,,,,-26.15374,8537.98353,421,4738.08936,4681.24,,137,,,,42,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.38,0.38,0,0.38,0.38,0,0.51,0.51,0,634,894,786,151.459320,275.869630,407,393,469.3563,, +D,DREGION,,3,"2023/12/14 08:30:00",1,NSW1,0,85.98,0,85.98,0,0,8089.41,-9,7448.71,75,-715.7,0,,,101,,,,,,,,139,,,,,,,,111.31,,,,,,,,142,,,,,,,,107.19,,,,,,,,108.87,,,,,,46.19463,13836.68128,152,8195.31543,8225.54,,18,,,,69,,,,,,,,,,,,,,,,,,,0.1,0.1,0,0.1,0.1,0,0.39,0.39,0,1.2,1.2,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.83,0.83,0,428,434,679,446.955284,275,385,217,176.666762,, +D,DREGION,,3,"2023/12/14 08:30:00",1,QLD1,0,1,0,1,0,0,5833.48,-11,7334.42,245,1255.94,0,,,45,,,,,,,,93,,,,,,,,90,,,,,,,,35,,,,,,,,222,,,,,,,,216,,,,,,-44.32862,10946.6748,370,6175.08252,6118.21,,13,,,,70,,,,,,,,,,,,,,,,,,,0.1,0.1,0,0.1,0.1,0,0.39,0.39,0,1.2,1.2,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.83,0.83,0,310,418,170,232,206,277.800020,178,150.000006,, +D,DREGION,,3,"2023/12/14 08:30:00",1,SA1,0,8.83719,0,8.83719,0,0,1173.27,-18,1107.99,0,-65.28,0,,,34,,,,,,,,36.71,,,,,,,,32,,,,,,,,44.59,,,,,,,,35,,,,,,,,32,,,,,,23.29133,2370.23741,105,1176.05725,1176.95,,11,,,,11,,,,,,,,,,,,,,,,,,,0.1,0.1,0,0.1,0.1,0,0.39,0.39,0,1.2,1.2,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.83,0.83,0,125,129,129,77,120,122,122,105,, +D,DREGION,,3,"2023/12/14 08:30:00",1,TAS1,0,37.08,0,37.08,0,0,1053.82,-2,591.82,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,136.64,,,,,,,,136.64,,,,,,-4.99008,2291.93506,0,1060.81409,1053.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.39,0.39,0,0,0,0,3.5,3.5,0,190.326087,226.037037,162.755741,107.016127,41.168457,106.222836,122.159683,79.295238,, +D,DREGION,,3,"2023/12/14 08:30:00",1,VIC1,0,8.95,0,8.95,0,0,4674.12,-30,4788.92,4,110.79,0,,,60.12,,,,,,,,87.66,,,,,,,,41.62,,,,,,,,101,,,,,,,,51,,,,,,,,43,,,,,,-20.01743,8522.05902,415,4751.60303,4697.33,,163.38,,,,20,,,,,,,,,,,,,,,,,,,0.1,0.1,0,0.1,0.1,0,0.39,0.39,0,1.2,1.2,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.83,0.83,0,636,896,788,197.8125,273.658487,409.658487,395.658487,455.397899,, +D,DREGION,,3,"2023/12/14 08:35:00",1,NSW1,0,88.89,0,88.89,0,0,8268.29,-11,7571.2,69,-766.1,0,,,68,,,,,,,,106,,,,,,,,79.47,,,,,,,,142,,,,,,,,113,,,,,,,,105,,,,,,40.95745,13936.21009,154,8365.44141,8400.93,,55,,,,60,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,428,434,679,402.703027,243,354,200.1131,211.837551,, +D,DREGION,,3,"2023/12/14 08:35:00",1,QLD1,0,34.55,0,34.55,0,0,5780.7,-16,7327.95,255,1292.24,0,,,45,,,,,,,,102,,,,,,,,92,,,,,,,,36,,,,,,,,215,,,,,,,,198.43,,,,,,0,10706.3656,370,6078.27881,6077.32,,34,,,,80,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,319,437,155,271.996791,214.430930,308.430930,191.430930,200.509331,, +D,DREGION,,3,"2023/12/14 08:35:00",1,SA1,0,0.01934,0,0.01934,0,0,1154.45,-19,1160.91,0,6.46,0,,,32,,,,,,,,34.39,,,,,,,,30,,,,,,,,43.57,,,,,,,,33,,,,,,,,28,,,,,,23.81394,2417.51062,105,1153.4469,1158.1,,11,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,123,127,127,77,118,120,120,105,, +D,DREGION,,3,"2023/12/14 08:35:00",1,TAS1,0,11.08,0,11.08,0,0,1049.17,-2,587.17,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,136.64,,,,,,,,136.64,,,,,,-4.89964,2300.39958,0,1056.06921,1049.17,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.39,0.39,0,0,0,0,3.5,3.5,0,190.326087,226.037037,169.874691,111.156741,40.298346,99.861753,115.482661,75.706824,, +D,DREGION,,3,"2023/12/14 08:35:00",1,VIC1,0,0.02,0,0.02,0,0,4652.22,-30,4709.83,1,56.61,0,,,81.76,,,,,,,,114.9,,,,,,,,73,,,,,,,,100,,,,,,,,52.85,,,,,,,,42,,,,,,0,8452.50189,415,4695.91455,4671.53,,120,,,,30,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,635,895,787,195.218750,300.901508,420.513668,410.513668,391.385414,, +D,DREGION,,3,"2023/12/14 08:40:00",1,NSW1,0,100,0,100,0,0,8283.23,-12,7640.68,68,-710.55,0,,,73,,,,,,,,112,,,,,,,,85.08,,,,,,,,142,,,,,,,,111.69,,,,,,,,105,,,,,,35.35862,13893.82874,153,8390.7373,8412.96,,48,,,,55,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,1.5,1.5,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,428,434,679,349.829079,332.983880,443.983880,308.116940,316.866549,, +D,DREGION,,3,"2023/12/14 08:40:00",1,QLD1,0,34.55,0,34.55,0,0,5789.54,-18,7318.54,255,1274,0,,,45,,,,,,,,111.2,,,,,,,,101.2,,,,,,,,36,,,,,,,,236,,,,,,,,180.82,,,,,,0,10776.00849,370,6101.0918,6084.67,,24,,,,74,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,1.5,1.5,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,334,458,170,271.996791,223.630930,300.622930,210.630930,156.973240,, +D,DREGION,,3,"2023/12/14 08:40:00",1,SA1,0,8.32285,0,8.32285,0,0,1160.33,-19,1162.02,8,-6.32,0,,,21,,,,,,,,21.15,,,,,,,,19,,,,,,,,49.49,,,,,,,,35,,,,,,,,30,,,,,,18.82722,2431.2999,105,1164.09692,1173.18,,20,,,,11,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,1.5,1.5,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,125,129,129,85,111,113,113,97,, +D,DREGION,,3,"2023/12/14 08:40:00",1,TAS1,0,11.08,0,11.08,0,0,1027.07,-2,578.82,0,-448.26,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,122.89,,,,,,,,122.89,,,,,,-8.84715,2299.16653,0,1037.92041,1027.07,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.39,0.39,0,0,0,0,3.5,3.5,0,190.326087,226.037037,176.993941,115.297529,39.766411,98.477729,108.894834,72.118259,, +D,DREGION,,3,"2023/12/14 08:40:00",1,VIC1,0,8.65021,0,8.65021,0,0,4689.92,-27,4714.9,7,17.98,0,,,66.75,,,,,,,,111.86,,,,,,,,68,,,,,,,,101,,,,,,,,51,,,,,,,,43,,,,,,0,8413.81662,415,4729.98193,4717.06,,135.01,,,,30,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,1.5,1.5,0,0.14,0.14,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,637,897,789,188.247375,265,401,387,433.162690,, +D,DREGION,,3,"2023/12/14 08:45:00",1,NSW1,0,88.88,0,88.88,0,0,8288.91,-10,7653.44,68,-703.48,0,,,68,,,,,,,,107,,,,,,,,81.24,,,,,,,,142,,,,,,,,113,,,,,,,,104.22,,,,,,38.60498,13962.5785,157,8348.72363,8411.36,,49.18,,,,60,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.39,0.39,0,0.39,0.39,0,3.39719,3.39719,0,428,434,679,410.621341,339.8243,450.8243,297.921440,300.290411,, +D,DREGION,,3,"2023/12/14 08:45:00",1,QLD1,0,34.55,0,34.55,0,0,5795.86,-16,7268.22,256,1216.36,0,,,45,,,,,,,,113.8,,,,,,,,103.8,,,,,,,,36,,,,,,,,218.68,,,,,,,,149,,,,,,-32.88853,10748.72505,370,6135.92725,6087.97,,38,,,,78,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.39,0.39,0,0.39,0.39,0,3.39719,3.39719,0,310,414.675556,170,251.933169,226.228440,318.228440,205.228440,202,, +D,DREGION,,3,"2023/12/14 08:45:00",1,SA1,0,0.01905,0,0.01905,0,0,1098.62,-20,1196.55,13,84.93,0,,,66.25,,,,,,,,63.37,,,,,,,,19,,,,,,,,55.11,,,,,,,,35,,,,,,,,30,,,,,,12.51346,2409.14138,105,1119.19812,1113.95,,20,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.39,0.39,0,0.39,0.39,0,3.39719,3.39719,0,125,129,129,90,111,113,113,92,, +D,DREGION,,3,"2023/12/14 08:45:00",1,TAS1,0,10.57593,0,10.57593,0,0,1034.1,-3,585.3,0,-448.8,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,122.69,,,,,,,,122.69,,,,,,-10.04081,2326.33693,0,1047.13843,1034.1,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.39,0.39,0,0,0,0,4.5,4.5,0,190.326087,226.037037,197.679701,127.329042,33.796081,84.658994,88.529029,61.691291,, +D,DREGION,,3,"2023/12/14 08:45:00",1,VIC1,0,0.02,0,0.02,0,0,4639.83,-26,4615.17,17,-41.67,0,,,59,,,,,,,,69,,,,,,,,69,,,,,,,,101,,,,,,,,72.66,,,,,,,,43,,,,,,-0.35848,8372.11303,393,4689.63867,4671.29,,85,,,,32,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4.98,4.98,0,0.14,0.14,0,0.39,0.39,0,0.39,0.39,0,3.39719,3.39719,0,634,894,786,196.308227,271,384.032260,374.032260,381.574588,, +D,DREGION,,3,"2023/12/14 08:50:00",1,NSW1,0,88.89,0,88.89,0,0,8237.69,-12,7643.48,75,-669.21,0,,,85,,,,,,,,114,,,,,,,,73,,,,,,,,142,,,,,,,,113,,,,,,,,105,,,,,,41.85135,13967.08865,157,8274.76855,8366.17,,25,,,,55,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.17,0.17,0,0.08,0.08,0,6,6,0,428,434,679,446.3504,359,470,309.349670,332.972607,, +D,DREGION,,3,"2023/12/14 08:50:00",1,QLD1,0,49.55,0,49.55,0,0,5776.22,-12,7225.75,250,1199.52,0,,,45,,,,,,,,110,,,,,,,,100,,,,,,,,36,,,,,,,,220.11,,,,,,,,127.57,,,,,,-35.74303,10715.89669,370,6107.02051,6061.65,,90.38,,,,85,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.17,0.17,0,0.08,0.08,0,6,6,0,310,416.111111,170,228.663895,212.428440,294.428440,181.428440,205,, +D,DREGION,,3,"2023/12/14 08:50:00",1,SA1,0,0.01885,0,0.01885,0,0,1080.05,-21,1168.97,12,76.92,0,,,31,,,,,,,,31,,,,,,,,28,,,,,,,,62.84,,,,,,,,33,,,,,,,,28,,,,,,14.89502,2411.84593,105,1098.84399,1096.8,,11,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.17,0.17,0,0.08,0.08,0,6,6,0,123,127,127,66,117,119,119,93,, +D,DREGION,,3,"2023/12/14 08:50:00",1,TAS1,0,10.07187,0,10.07187,0,0,1037.08,-2,575.08,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,139.38,,,,,,,,139.38,,,,,,-8.60949,2329.99852,0,1047.69409,1037.08,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.03,0.03,0,0.17,0.17,0,0,0,0,4.5,4.5,0,190.326087,226.037037,211.558601,135.401464,31.070129,74.019167,75.218864,54.695422,, +D,DREGION,,3,"2023/12/14 08:50:00",1,VIC1,0,0.02,0,0.02,0,0,4679.75,-27,4649.6,1,-31.15,0,,,76.68,,,,,,,,97.19,,,,,,,,71.46,,,,,,,,110,,,,,,,,72.87,,,,,,,,42,,,,,,13.39509,8431.69309,396,4719.41406,4701.17,,79,,,,30,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,4,4,0,0.03,0.03,0,0.17,0.17,0,0.08,0.08,0,6,6,0,631,891,783,189.387268,311.163717,418.877737,408.877737,397.710481,, +D,DREGION,,3,"2023/12/14 08:55:00",1,NSW1,0,88.88,0,88.88,0,0,8120.51,-17,7613.29,20,-527.22,0,,,99,,,,,,,,134.78,,,,,,,,97,,,,,,,,142,,,,,,,,113,,,,,,,,105,,,,,,0,13979.99868,158,8217.0293,8190.61,,33.98,,,,60,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.99,3.99,0,428,434,679,353.904899,372.017290,483.017290,314.017290,379.291495,, +D,DREGION,,3,"2023/12/14 08:55:00",1,QLD1,0,-2.02,0,-2.02,0,0,5717.68,-14,7112.87,250,1145.18,0,,,45,,,,,,,,110,,,,,,,,100,,,,,,,,32,,,,,,,,220.11,,,,,,,,124.16,,,,,,-38.59752,10812.80155,370,6061.00391,6000.66,,54.4,,,,75,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.99,3.99,0,310,416.111111,170,245.519886,220.428440,264.728460,199.428440,145.000005,, +D,DREGION,,3,"2023/12/14 08:55:00",1,SA1,0,-38.13542,0,-38.13542,0,0,1021.55,-22,1156.88,7,128.33,0,,,18,,,,,,,,18,,,,,,,,17,,,,,,,,68.55,,,,,,,,35,,,,,,,,30,,,,,,0,2380.19199,105,1075.30261,1033.62,,9,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.99,3.99,0,125,129,129,66,113,114,114,98,, +D,DREGION,,3,"2023/12/14 08:55:00",1,TAS1,0,10.07187,0,10.07187,0,0,1030.67,-3,568.67,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,139.38,,,,,,,,139.38,,,,,,-10.37764,2347.35771,0,1044.04272,1030.67,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.05,0.05,0,0.38,0.38,0,0,0,0,4.5,4.5,0,186.326087,222.037037,207.744681,140.538275,27.579161,67.248615,66.749064,50.243666,, +D,DREGION,,3,"2023/12/14 08:55:00",1,VIC1,0,-41.11,0,-41.11,0,0,4618.35,-22,4449.39,5,-173.96,0,,,73.93,,,,,,,,88.03,,,,,,,,58.98,,,,,,,,111,,,,,,,,73.94,,,,,,,,47,,,,,,0,8463.9788,404,4671.10254,4645.54,,108,,,,35,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.26,0.26,0,0.39,0.39,0,3.38,3.38,0,0.05,0.05,0,0.38,0.38,0,0.3,0.3,0,3.99,3.99,0,637,893,785,188.112488,266,304,294,338.592316,, +D,DREGION,,3,"2023/12/14 09:00:00",1,NSW1,0,88.88,0,88.88,0,0,8112.3,-26,7681.44,16,-446.85,0,,,94,,,,,,,,137.47,,,,,,,,119.24,,,,,,,,144,,,,,,,,107.03,,,,,,,,105,,,,,,46.44138,14018.92655,157,8154.41016,8179.7,,38.55,,,,60,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,3.38,3.38,0,0.34,0.34,0,0.95,0.95,0,0.38,0.38,0,3.76,3.76,0,430,436,681,393.535207,370.454920,481.454920,312.454920,329.471331,, +D,DREGION,,3,"2023/12/14 09:00:00",1,QLD1,0,1,0,1,0,0,5698.84,-17,7084.46,245,1140.63,0,,,45,,,,,,,,54,,,,,,,,50,,,,,,,,31,,,,,,,,236,,,,,,,,96.58,,,,,,-41.452,10715.00866,370,6033.80811,5976.94,,32.37,,,,75,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,3.38,3.38,0,0.34,0.34,0,0.95,0.95,0,0.38,0.38,0,3.76,3.76,0,334,458,170,261.996791,150.230950,172.230950,159.130940,150.000005,, +D,DREGION,,3,"2023/12/14 09:00:00",1,SA1,0,-35.15447,0,-35.15447,0,0,1033.25,-22,1121.55,0,88.3,0,,,19,,,,,,,,59,,,,,,,,17,,,,,,,,44.18,,,,,,,,35,,,,,,,,30,,,,,,16.97727,2342.04143,105,1050.80078,1036.86,,16,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,3.38,3.38,0,0.34,0.34,0,0.95,0.95,0,0.38,0.38,0,3.76,3.76,0,125,129,129,77,113,115,115,105,, +D,DREGION,,3,"2023/12/14 09:00:00",1,TAS1,0,-11.84668,0,-11.84668,0,0,1026.03,-3,565.5,0,-460.54,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,135.62,,,,,,,,135.62,,,,,,-10.07745,2344.66545,0,1039.11157,1026.03,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.34,0.34,0,0.95,0.95,0,0,0,0,47.98357,47.98357,0,186.326087,222.037037,207.744681,140.819436,27.240548,66.878029,66.285473,50.000001,, +D,DREGION,,3,"2023/12/14 09:00:00",1,VIC1,0,-37.3,0,-37.3,0,0,4626.46,-22,4418.41,5,-213.05,0,,,79.16,,,,,,,,101.17,,,,,,,,86.17,,,,,,,,122,,,,,,,,55,,,,,,,,65,,,,,,7.82815,8356.77355,413,4658.9668,4651.81,,117,,,,35,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.1,0.1,0,0.39,0.39,0,3.38,3.38,0,0.34,0.34,0,0.95,0.95,0,0.38,0.38,0,3.76,3.76,0,654,895,784,193.917481,266,304,294,354.1250,, +D,DREGION,,3,"2023/12/14 09:05:00",1,NSW1,0,85.98,0,85.98,0,0,7965.16,-30,7660.64,14,-318.52,0,,,94,,,,,,,,133,,,,,,,,122,,,,,,,,144,,,,,,,,129,,,,,,,,126,,,,,,0,14028.03351,157,8065.30029,8032.64,,40,,,,55,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.3,0.3,0,6,6,0,430,436,681,352.358422,380,491,322,307.355214,, +D,DREGION,,3,"2023/12/14 09:05:00",1,QLD1,0,0,0,0,0,0,5701.61,-16,7079.25,245,1132.64,0,,,45,,,,,,,,58.5,,,,,,,,45,,,,,,,,25,,,,,,,,129,,,,,,,,82,,,,,,-15.73506,10774.2798,370,6010.97168,5979.04,,34.6,,,,43,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.3,0.3,0,6,6,0,331,455,168,261.996791,127.430930,156.832150,134.430930,150,, +D,DREGION,,3,"2023/12/14 09:05:00",1,SA1,0,-40.59485,0,-40.59485,0,0,987.17,-22,1063.31,0,76.14,0,,,17,,,,,,,,57,,,,,,,,15,,,,,,,,60.72,,,,,,,,77.08,,,,,,,,39.03,,,,,,0,2308.77328,105,1023.88269,992.26,,16,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.3,0.3,0,6,6,0,123,127,127,77,111,113,113,105,, +D,DREGION,,3,"2023/12/14 09:05:00",1,TAS1,0,10.07187,0,10.07187,0,0,1032.52,-2,570.52,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,143.44,,,,,,-8.71989,2354.98793,0,1043.23877,1032.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.38,0.38,0,0.39,0.39,0,0,0,0,4.5,4.5,0,187.108696,223.814815,213.744681,140.398345,28.474955,68.718763,66.979785,50.364934,, +D,DREGION,,3,"2023/12/14 09:05:00",1,VIC1,0,-43.07,0,-43.07,0,0,4598.34,-17,4306.92,19.22,-310.64,0,,,74.72,,,,,,,,96.58,,,,,,,,89.1,,,,,,,,130,,,,,,,,99,,,,,,,,60,,,,,,0,8399.5378,415,4644.32813,4644.16,,114.78,,,,61,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.3,0.3,0,6,6,0,623,883,775,145.8320,282.583633,320.583633,310.583633,352,, +D,DREGION,,3,"2023/12/14 09:10:00",1,NSW1,0,88.88,0,88.88,0,0,8064.44,-33,7668.3,0,-396.14,0,,,99,,,,,,,,138,,,,,,,,121.15,,,,,,,,145,,,,,,,,130,,,,,,,,120.24,,,,,,46.50039,14048.13469,147,8101.1001,8114.63,,46,,,,60,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.76,3.76,0,430,437,682,370.067932,368,480,311,326.310014,, +D,DREGION,,3,"2023/12/14 09:10:00",1,QLD1,0,34.55,0,34.55,0,0,5735.81,-11,7095.23,245,1114.42,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,157,,,,,,,,126,,,,,,0,10689.4382,370,6011.85547,6013.04,,32.22,,,,36,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.76,3.76,0,331,455,168,225.286489,168.941250,200.941250,165.941250,187.510320,, +D,DREGION,,3,"2023/12/14 09:10:00",1,SA1,0,-38.28935,0,-38.28935,0,0,982.46,-21,1104.29,0,121.83,0,,,19,,,,,,,,59,,,,,,,,17,,,,,,,,81.1,,,,,,,,74.84,,,,,,,,32,,,,,,14.0345,2325.75555,105,994.36755,985.19,,17.51,,,,0,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.76,3.76,0,125,129,129,77,111.492360,113.492360,113.492360,105,, +D,DREGION,,3,"2023/12/14 09:10:00",1,TAS1,0,10.57593,0,10.57593,0,0,1040.87,-2,578.87,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,153,,,,,,,,137.08,,,,,,-7.64264,2348.85639,0,1050.51501,1040.87,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.34,0.34,0,0.39,0.39,0,0,0,0,3.5,3.5,0,187.108696,223.814815,207.732691,103.750424,32.941667,79.771135,80.806038,57.632060,, +D,DREGION,,3,"2023/12/14 09:10:00",1,VIC1,0,-40.83,0,-40.83,0,0,4472.08,-17,4215.8,18.35,-274.63,0,,,69.15,,,,,,,,103.88,,,,,,,,86.66,,,,,,,,112,,,,,,,,75,,,,,,,,37,,,,,,0,8439.17019,418,4526.55908,4508.76,,109.65,,,,74,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,4.98,4.98,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.76,3.76,0,656,896,784,214.768481,283.663784,351.663784,341.663784,377.8750,, +D,DREGION,,3,"2023/12/14 09:15:00",1,NSW1,0,88.88,0,88.88,0,0,7886.83,-35,7614.81,0,-272.01,0,,,121,,,,,,,,160,,,,,,,,139,,,,,,,,144,,,,,,,,129,,,,,,,,69,,,,,,0,14036.28448,147,7979.62354,7940.07,,29,,,,65,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.39,0.39,0,1.5,1.5,0,0.32616,0.32616,0,0.39,0.39,0,0.3,0.3,0,19.89,19.89,0,430,436,681,353.298955,370,481,312,324.020847,, +D,DREGION,,3,"2023/12/14 09:15:00",1,QLD1,0,1,0,1,0,0,5771.92,-9,7128.56,245,1111.64,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,22,,,,,,,,146.54,,,,,,,,126,,,,,,-2.38095,10779.40616,370,6059.26318,6049.15,,68,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.39,0.39,0,1.5,1.5,0,0.32616,0.32616,0,0.39,0.39,0,0.3,0.3,0,19.89,19.89,0,331,455,168,229.460410,129.002490,154.002490,128.002490,150,, +D,DREGION,,3,"2023/12/14 09:15:00",1,SA1,0,-42.4336,0,-42.4336,0,0,948.43,-20,1207.53,44,215.1,0,,,32,,,,,,,,86.14,,,,,,,,30,,,,,,,,104.71,,,,,,,,40,,,,,,,,30,,,,,,0,2387.43812,105,980.27722,996.69,,28,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.39,0.39,0,1.5,1.5,0,0.32616,0.32616,0,0.39,0.39,0,0.3,0.3,0,19.89,19.89,0,129,133,130,121,92,94,94,61,, +D,DREGION,,3,"2023/12/14 09:15:00",1,TAS1,0,10.11,0,10.11,0,0,1045.15,-1,583.15,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,80,,,,,,,,153,,,,,,,,136.93,,,,,,-2.99132,2362.34779,0,1049.14307,1045.15,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.32616,0.32616,0,0.39,0.39,0,0,0,0,3.5,3.5,0,187.108696,223.814815,150.743731,104.091837,22.947795,76.403361,69.939149,74.000950,, +D,DREGION,,3,"2023/12/14 09:15:00",1,VIC1,0,-46.46,0,-46.46,0,0,4424.41,-22,4118.66,172,-477.75,0,,,34.49,,,,,,,,55.18,,,,,,,,55.18,,,,,,,,112,,,,,,,,118,,,,,,,,104,,,,,,-20.30363,8477.97061,421,4507.79102,4621.65,,80.38,,,,105,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.39,0.39,0,1.5,1.5,0,0.32616,0.32616,0,0.39,0.39,0,0.3,0.3,0,19.89,19.89,0,709,910,788,277.870270,241.185498,265.389358,255.389358,259.2840,, +D,DREGION,,3,"2023/12/14 09:20:00",1,NSW1,0,89.03,0,89.03,0,0,7980.75,-36,7723.43,0,-257.33,0,,,121,,,,,,,,160,,,,,,,,149,,,,,,,,144,,,,,,,,129,,,,,,,,95.93,,,,,,47.90023,13998.48547,147,8021.80566,8040.47,,27.38,,,,79,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.65006,1.65006,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,25.1,25.1,0,430,436,681,267.287494,409,520,386.2727,404.758583,, +D,DREGION,,3,"2023/12/14 09:20:00",1,QLD1,0,34.54991,0,34.54991,0,0,5662.38,-6,7056.78,245,1149.4,0,,,45,,,,,,,,66,,,,,,,,45,,,,,,,,17,,,,,,,,99,,,,,,,,99,,,,,,-1.90461,10634.90406,370,5944.54346,5942.54,,74,,,,0,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.65006,1.65006,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,25.1,25.1,0,271,349,128,209.8968,90.428440,105.428440,99.428440,168,, +D,DREGION,,3,"2023/12/14 09:20:00",1,SA1,0,-47.25296,0,-47.25296,0,0,953.97,-21,1155.1,73,128.14,0,,,17,,,,,,,,57,,,,,,,,15.24,,,,,,,,60.75,,,,,,,,69.15,,,,,,,,35,,,,,,15.89606,2383.25595,105,1000.05042,1029.55,,31,,,,0,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.65006,1.65006,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,25.1,25.1,0,127,131,128,150,58,60,60,32,, +D,DREGION,,3,"2023/12/14 09:20:00",1,TAS1,0,10.11,0,10.11,0,0,1038.43,-1,576.43,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,91.2,,,,,,,,153,,,,,,,,136.93,,,,,,-4.13115,2366.72911,0,1043.55933,1038.43,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,7.13,7.13,0,0.39,0.39,0,0.39,0.39,0,0,0,0,3.5,3.5,0,187.108696,223.814815,161.944611,50,22.947795,71.203431,59.788352,62.800070,, +D,DREGION,,3,"2023/12/14 09:20:00",1,VIC1,0,-50.39,0,-50.39,0,0,4382.62,-22,4145.49,200,-437.13,0,,,48.31,,,,,,,,61.51,,,,,,,,59.14,,,,,,,,137,,,,,,,,123,,,,,,,,68,,,,,,-19.27613,8769.55924,421,4549.23779,4606.24,,73,,,,91,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1.65006,1.65006,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,25.1,25.1,0,696,839,731,425.895416,205,217.8750,207.8750,241.2810,, +D,DREGION,,3,"2023/12/14 09:25:00",1,NSW1,0,88.88,0,88.88,0,0,8068.19,-27,7686.68,0,-381.51,0,,,121,,,,,,,,160,,,,,,,,139,,,,,,,,144,,,,,,,,112.81,,,,,,,,44,,,,,,48.60016,13964.51884,147,8113.01514,8117.88,,30,,,,83,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.39,0.39,0,0.17,0.17,0,5.7,5.7,0,430,436,681,367.152880,385,496,335.650730,325.516321,, +D,DREGION,,3,"2023/12/14 09:25:00",1,QLD1,0,28.85,0,28.85,0,0,5743.33,-8,7108.24,245,1119.91,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,13,,,,,,,,118,,,,,,,,107.38,,,,,,10.3399,10875.11112,370,6020.5332,6019.71,,43.25,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.39,0.39,0,0.17,0.17,0,5.7,5.7,0,331,455,167,269.996791,102.430930,124.430930,99.430930,150.2546,, +D,DREGION,,3,"2023/12/14 09:25:00",1,SA1,0,-37.66603,0,-37.66603,0,0,943.72,-19,1169.36,45,180.64,0,,,28,,,,,,,,68,,,,,,,,26,,,,,,,,38,,,,,,,,39,,,,,,,,33,,,,,,18.28152,2359.42114,105,1012.1095,991.73,,48,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.39,0.39,0,0.17,0.17,0,5.7,5.7,0,129,133,130,116,69,71,71,60,, +D,DREGION,,3,"2023/12/14 09:25:00",1,TAS1,0,10.1,0,10.1,0,0,1037.53,-2,575.53,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,63,,,,,,,,137.08,,,,,,,,137.08,,,,,,-4.95611,2346.67113,0,1044.48169,1037.53,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.3,0.3,0,0.39,0.39,0,0,0,0,3.5,3.5,0,187.108696,223.814815,157.790231,72.843273,22.947795,75.357811,63.553259,66.954450,, +D,DREGION,,3,"2023/12/14 09:25:00",1,VIC1,0,-40.6,0,-40.6,0,0,4472.37,-21,4363.71,244,-352.67,0,,,28.84,,,,,,,,61.46,,,,,,,,56.13,,,,,,,,132.27,,,,,,,,105,,,,,,,,99,,,,,,0,8782.98167,420,4669.17969,4736.66,,84.13,,,,87,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.39,0.39,0,0.17,0.17,0,5.7,5.7,0,694,837,757,475.906250,214.219027,232.219027,222.219027,267.2810,, +D,DREGION,,3,"2023/12/14 09:30:00",1,NSW1,0,89.03,0,89.03,0,0,8114.79,-15,7798.73,6,-322.06,0,,,99,,,,,,,,138,,,,,,,,122.01,,,,,,,,127,,,,,,,,115,,,,,,,,71,,,,,,49.30008,14051.85281,154,8127.53418,8167.4,,27,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,8.3,8.3,0,430,436,681,323.640394,398.994580,509.994580,361.896010,405.605306,, +D,DREGION,,3,"2023/12/14 09:30:00",1,QLD1,0,5E-05,0,5E-05,0,0,5790.84,-1,7111.97,245,1076.12,0,,,45,,,,,,,,46.25,,,,,,,,45,,,,,,,,14,,,,,,,,49.88,,,,,,,,65.67,,,,,,-4.75644,10925.423,370,6068.51611,6065.15,,44,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,8.3,8.3,0,231,279,88,200.328781,120.428440,148.428440,134.428440,150,, +D,DREGION,,3,"2023/12/14 09:30:00",1,SA1,0,-39.1349,0,-39.1349,0,0,941.17,-18,1149.06,69,138.89,0,,,38,,,,,,,,78,,,,,,,,37,,,,,,,,61,,,,,,,,74,,,,,,,,38,,,,,,20.17505,2331.00062,362,988.06329,1013.1,,31.38,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,8.3,8.3,0,263,267,252,135,217.62,218.62,218.62,291,, +D,DREGION,,3,"2023/12/14 09:30:00",1,TAS1,0,10.1,0,10.1,0,0,1026.24,-2,564.24,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-1.41479,2337.18027,0,1029.65735,1026.24,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.34,0.34,0,0.39,0.39,0,0,0,0,3.5,3.5,0,187.108696,223.814815,159.582401,131.852151,22.947795,73.565641,61.929104,65.162280,, +D,DREGION,,3,"2023/12/14 09:30:00",1,VIC1,0,-41.96,0,-41.96,0,0,4403.9,-16,4265.04,193.07,-331.93,0,,,44.14,,,,,,,,74.8,,,,,,,,64.8,,,,,,,,141.96,,,,,,,,126,,,,,,,,96,,,,,,-14.64577,8883.92531,420,4672.47607,4617.14,,103,,,,110,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,8.3,8.3,0,680,705,696,444.008781,165.666667,165.666667,155.666667,240.437245,, +D,DREGION,,3,"2023/12/14 09:35:00",1,NSW1,0,90.67016,0,90.67016,0,0,8164.99,-4,7964.44,5,-205.55,0,,,120.12,,,,,,,,160,,,,,,,,143.51,,,,,,,,144,,,,,,,,129,,,,,,,,71,,,,,,50,14077.33318,153,8164.38623,8216.2,,27,,,,35.03,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.38,0.38,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.15,0.15,0,5.7,5.7,0,430,436,681,243.571644,409,520,417.209290,422.459823,, +D,DREGION,,3,"2023/12/14 09:35:00",1,QLD1,0,7.06,0,7.06,0,0,5750.38,-2,7050.38,249.29,1050.71,0,,,35.71,,,,,,,,45.48,,,,,,,,35.71,,,,,,,,14,,,,,,,,62,,,,,,,,72.14,,,,,,-19.85278,10834.26239,365,6041.72021,6027.43,,30,,,,9.29,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.38,0.38,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.15,0.15,0,5.7,5.7,0,291,384,148,261.148541,86.114010,96.114010,84.114010,128.706350,, +D,DREGION,,3,"2023/12/14 09:35:00",1,SA1,0,-41.97594,0,-41.97594,0,0,901.97,-17,1204.4,63,239.43,0,,,49,,,,,,,,89,,,,,,,,48,,,,,,,,59,,,,,,,,91.16,,,,,,,,67,,,,,,12.93966,2420.48109,362,975.91431,969.97,,26,,,,8,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.38,0.38,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.15,0.15,0,5.7,5.7,0,265,269,250,137,222,223,223,297,, +D,DREGION,,3,"2023/12/14 09:35:00",1,TAS1,0,10.1,0,10.1,0,0,1012.11,-2,550.11,0,-462,0,,,0,,,,,,,,1,,,,,,,,0,,,,,,,,84.5,,,,,,,,153,,,,,,,,136.93,,,,,,-3.10488,2337.49811,0,1017.21716,1012.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,7.12,7.12,0,0.34,0.34,0,0.39,0.39,0,0,0,0,3.5,3.5,0,187.108696,223.814815,173.744681,104.377667,21.661965,59.117531,48.835505,50.714170,, +D,DREGION,,3,"2023/12/14 09:35:00",1,VIC1,0,-46.46,0,-46.46,0,0,4405.18,-17,4113.69,225,-516.49,0,,,20,,,,,,,,40,,,,,,,,40,,,,,,,,127,,,,,,,,114,,,,,,,,65,,,,,,-23.75382,8858.56043,420,4642.27881,4657.32,,122.38,,,,117.67,,,,,,,,,,,,,,,,,,,0,0,0,0.39,0.39,0,0.38,0.38,0,2.64,2.64,0,0.34,0.34,0,0.39,0.39,0,0.15,0.15,0,5.7,5.7,0,678,703,695,503.503021,110,110,100,230.603622,, +D,DREGION,,3,"2023/12/14 09:40:00",1,NSW1,0,89.03,0,89.03,0,0,8335.05,10,7929.7,0,-405.36,0,,,98,,,,,,,,138,,,,,,,,117,,,,,,,,144,,,,,,,,115,,,,,,,,44,,,,,,50,14078.55313,147,8330.06543,8376.95,,57,,,,55,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.86,0.86,0,0.17,0.17,0,5.7,5.7,0,430,436,681,335.030331,387,498,408,391.942758,, +D,DREGION,,3,"2023/12/14 09:40:00",1,QLD1,0,6.61,0,6.61,0,0,5750.04,-4,7060.52,243.45,1067.03,0,,,41.55,,,,,,,,41.55,,,,,,,,41.55,,,,,,,,16,,,,,,,,85,,,,,,,,129,,,,,,0,10839.40274,365,6032.2666,6021.65,,48,,,,3.45,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.86,0.86,0,0.17,0.17,0,5.7,5.7,0,334,458,170,268.447652,119.329480,139.329480,117.329480,134.545930,, +D,DREGION,,3,"2023/12/14 09:40:00",1,SA1,0,-33.16455,0,-33.16455,0,0,888.65,-15,1234.15,45,300.5,0,,,39,,,,,,,,68.69,,,,,,,,39,,,,,,,,62,,,,,,,,82,,,,,,,,75,,,,,,2.06896,2426.00167,362,959.80103,940.11,,61,,,,8,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.86,0.86,0,0.17,0.17,0,5.7,5.7,0,271,275,253,124,199,200,200,310,, +D,DREGION,,3,"2023/12/14 09:40:00",1,TAS1,0,-33.11145,0,-33.11145,0,0,1014.11,-2,562.5,0,-451.61,0,,,0,,,,,,,,1,,,,,,,,0,,,,,,,,52.97,,,,,,,,126.1,,,,,,,,126.1,,,,,,-6.81676,2350.59662,0,1022.927,1014.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.3,0.3,0,0.86,0.86,0,0,0,0,46.71145,46.71145,0,187.108696,223.814815,173.744681,151.068727,20.947795,58.403361,48.188288,50,, +D,DREGION,,3,"2023/12/14 09:40:00",1,VIC1,0,-37.3,0,-37.3,0,0,4402.4,-16,4219.95,228,-410.44,0,,,48.38,,,,,,,,87.41,,,,,,,,68.35,,,,,,,,147,,,,,,,,133.59,,,,,,,,42.65,,,,,,0,8833.96919,422,4611.31543,4653.99,,28.99,,,,103.55,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.38,0.38,0,2.64,2.64,0,0.3,0.3,0,0.86,0.86,0,0.17,0.17,0,5.7,5.7,0,682,707,699,478.290893,149.409276,151.409276,141.409276,240.232052,, +D,DREGION,,3,"2023/12/14 09:45:00",1,NSW1,0,88.88,0,88.88,0,0,8359.34,19,7836.1,2,-525.24,0,,,120,,,,,,,,133,,,,,,,,143.01,,,,,,,,142,,,,,,,,127,,,,,,,,44,,,,,,50,14123.25275,149,8342.63965,8404.54,,30.42,,,,73,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.34,0.34,0,0.86,0.86,0,0.3,0.3,0,3.71,3.71,0,428,434,679,351.341754,405.223390,516.223390,384.141680,328.461753,, +D,DREGION,,3,"2023/12/14 09:45:00",1,QLD1,0,1,0,1,0,0,5610.08,-8,6999.9,290,1099.83,0,,,10,,,,,,,,36,,,,,,,,10,,,,,,,,17,,,,,,,,43,,,,,,,,78.65,,,,,,2.61529,10789.89706,365,5892.8623,5929.91,,15,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.34,0.34,0,0.86,0.86,0,0.3,0.3,0,3.71,3.71,0,254,318,91,245.345782,76.430930,96.430930,84.430930,88,, +D,DREGION,,3,"2023/12/14 09:45:00",1,SA1,0,-36.09788,0,-36.09788,0,0,879.64,-12,1214.66,42,293.02,0,,,51,,,,,,,,78,,,,,,,,50,,,,,,,,63,,,,,,,,82,,,,,,,,74,,,,,,0.65038,2507.84472,362,942.30298,928.42,,31,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.34,0.34,0,0.86,0.86,0,0.3,0.3,0,3.71,3.71,0,271,275,254,113,230,231,231,313,, +D,DREGION,,3,"2023/12/14 09:45:00",1,TAS1,0,-39.51903,0,-39.51903,0,0,1010.9,-2,567.86,0,-443.04,0,,,0,,,,,,,,11.79,,,,,,,,0,,,,,,,,17.98,,,,,,,,117.97,,,,,,,,117.97,,,,,,-11.59019,2355.95709,0,1024.48694,1010.9,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.34,0.34,0,0.86,0.86,0,0,0,0,53.11903,53.11903,0,187.108696,223.814815,173.744681,152.140157,20.947795,58.403361,48.188288,50,, +D,DREGION,,3,"2023/12/14 09:45:00",1,VIC1,0,-40.6,0,-40.6,0,0,4393.5,-15,4177.83,107,-322.67,0,,,44.19,,,,,,,,76.04,,,,,,,,62.75,,,,,,,,138.37,,,,,,,,128.01,,,,,,,,96,,,,,,-5.19753,8778.50097,422,4644.59863,4522.59,,110,,,,43,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.34,0.34,0,0.86,0.86,0,0.3,0.3,0,3.71,3.71,0,681,706,698,357.576942,162.754199,164.754199,154.754199,336.231052,, +D,DREGION,,3,"2023/12/14 09:50:00",1,NSW1,0,85.98,0,85.98,0,0,8358.15,24,7813.33,4,-548.81,0,,,93,,,,,,,,158.49,,,,,,,,122,,,,,,,,125,,,,,,,,112.46,,,,,,,,44,,,,,,50,14216.99742,152,8335.98242,8404.44,,30,,,,56,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.3,0.3,0,11,11,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.61,3.61,0,428,434,679,376.975743,385,495,347.980990,267.910135,, +D,DREGION,,3,"2023/12/14 09:50:00",1,QLD1,0,1,0,1,0,0,5645.45,-8,7029.95,290,1094.5,0,,,10,,,,,,,,32,,,,,,,,10,,,,,,,,17,,,,,,,,83,,,,,,,,129,,,,,,14.81993,10840.37892,365,5948.28223,5965.28,,15,,,,66,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.3,0.3,0,11,11,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.61,3.61,0,334,458,171,294.993582,76.430930,96.430930,84.430930,88,, +D,DREGION,,3,"2023/12/14 09:50:00",1,SA1,0,-35.99,0,-35.99,0,0,873.77,-10,1221.8,29,319.03,0,,,77,,,,,,,,70,,,,,,,,62.53,,,,,,,,61,,,,,,,,77,,,,,,,,71,,,,,,0.73882,2493.29121,362,929.32178,910.96,,28,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.3,0.3,0,11,11,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.61,3.61,0,269,273,252,105,236,237,237,321,, +D,DREGION,,3,"2023/12/14 09:50:00",1,TAS1,0,-36.0546,0,-36.0546,0,0,1020.04,-2,566.72,0,-453.32,0,,,0,,,,,,,,11.79,,,,,,,,13.29,,,,,,,,27.96,,,,,,,,127.96,,,,,,,,127.96,,,,,,-13.08641,2354.82123,0,1035.12903,1020.04,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,1,1,0,0,0,0,49.6546,49.6546,0,187.108696,223.814815,173.744681,161.083467,20.947795,58.403361,48.188288,50,, +D,DREGION,,3,"2023/12/14 09:50:00",1,VIC1,0,-40.91128,0,-40.91128,0,0,4371.48,-13,4147.63,82,-305.85,0,,,50.47,,,,,,,,67.55,,,,,,,,57.55,,,,,,,,145.1,,,,,,,,95,,,,,,,,45.28,,,,,,9.56933,8739.50641,425,4545.73047,4478.71,,123.7,,,,48,,,,,,,,,,,,,,,,,,,0,0,0,0.1,0.1,0,0.3,0.3,0,11,11,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.61,3.61,0,685,710,702,338.556427,131.298620,131.298620,121.298620,338.229052,, +D,DREGION,,3,"2023/12/14 09:55:00",1,NSW1,0,85.98,0,85.98,0,0,8347.36,24,7775.27,13,-585.09,0,,,120,,,,,,,,159,,,,,,,,137.7,,,,,,,,128.58,,,,,,,,102.78,,,,,,,,44,,,,,,50,14294.80103,153,8320.80078,8401.54,,35,,,,55,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.3,0.3,0,2.64,2.64,0,0.14,0.14,0,0.39,0.39,0,0.17,0.17,0,7.73,7.73,0,428,434,679,384.991002,385,495,335.969090,259.020877,, +D,DREGION,,3,"2023/12/14 09:55:00",1,QLD1,0,7.24,0,7.24,0,0,5671.3,-2,7015.39,247.55,1096.54,0,,,37.45,,,,,,,,37.45,,,,,,,,37.45,,,,,,,,14,,,,,,,,85,,,,,,,,48.44,,,,,,0,10830.0933,365,5981.29395,5948.06,,63.38,,,,7.55,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.3,0.3,0,2.64,2.64,0,0.14,0.14,0,0.39,0.39,0,0.17,0.17,0,7.73,7.73,0,336,460,172,292.545272,98.499240,112.499240,105.879240,130.448310,, +D,DREGION,,3,"2023/12/14 09:55:00",1,SA1,0,-18.13308,0,-18.13308,0,0,861.91,-8,1233.74,40,331.83,0,,,51,,,,,,,,106.96,,,,,,,,50,,,,,,,,61,,,,,,,,75,,,,,,,,73,,,,,,1.56066,2478.18705,362,902.974,911.02,,51,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.3,0.3,0,2.64,2.64,0,0.14,0.14,0,0.39,0.39,0,0.17,0.17,0,7.73,7.73,0,271,275,254,117,212,213,213,315,, +D,DREGION,,3,"2023/12/14 09:55:00",1,TAS1,0,11.08,0,11.08,0,0,1064.4,-1,602.4,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,38.57,,,,,,,,138.57,,,,,,,,138.57,,,,,,-13.56671,2351.15622,0,1078.96191,1064.4,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.14,0.14,0,0.39,0.39,0,0,0,0,2.5,2.5,0,187.108696,223.814815,128.405701,72.223833,37.158530,79.992737,89.044329,50.496071,, +D,DREGION,,3,"2023/12/14 09:55:00",1,VIC1,0,-20.72198,0,-20.72198,0,0,4400.04,-11,4290.58,165,-274.46,0,,,25.75,,,,,,,,40,,,,,,,,40,,,,,,,,136,,,,,,,,96,,,,,,,,96,,,,,,24.13753,8692.20189,425,4488.52783,4592.36,,56,,,,107.45,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.3,0.3,0,2.64,2.64,0,0.14,0.14,0,0.39,0.39,0,0.17,0.17,0,7.73,7.73,0,704.333333,738,730,432.376217,175.013819,175.013819,165.013819,308.230052,, +D,DREGION,,3,"2023/12/14 10:00:00",1,NSW1,0,54.95,0,54.95,0,0,8302.2,23,7554.16,11,-759.04,0,,,120,,,,,,,,159,,,,,,,,149,,,,,,,,129.01,,,,,,,,119.79,,,,,,,,44,,,,,,0,14337.34825,150,8322.86133,8349.82,,35,,,,71.48,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5.7,5.7,0,428,434,679,382.896358,368.523760,478.523760,309.523760,243.635743,, +D,DREGION,,3,"2023/12/14 10:00:00",1,QLD1,0,15.13,0,15.13,0,0,5750.32,4,7025.4,257.52,1017.56,0,,,27.48,,,,,,,,27.48,,,,,,,,27.48,,,,,,,,21,,,,,,,,39,,,,,,,,32.53,,,,,,0,10840.32032,365,6017.42529,6033.11,,63,,,,43.52,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5.7,5.7,0,238,286,95,227.516801,92.910920,102.910920,90.910920,120.479990,, +D,DREGION,,3,"2023/12/14 10:00:00",1,SA1,0,0.01741,0,0.01741,0,0,858.88,-7,1236.56,26,351.68,0,,,44.06,,,,,,,,96,,,,,,,,37.46,,,,,,,,63,,,,,,,,83,,,,,,,,76,,,,,,0,2525.78677,362,916.61975,893.7,,68,,,,4,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5.7,5.7,0,271,275,254,103,206,207,207,329,, +D,DREGION,,3,"2023/12/14 10:00:00",1,TAS1,0,6.27156,0,6.27156,0,0,1015.64,-1,561.71,0,-453.93,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,28.87,,,,,,,,128.86,,,,,,,,128.86,,,,,,-13.32706,2350.80798,0,1029.9646,1015.64,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,7.32844,7.32844,0,187.108696,223.814815,142.744681,115.228267,20.947795,58.403361,48.188288,50,, +D,DREGION,,3,"2023/12/14 10:00:00",1,VIC1,0,0.02,0,0.02,0,0,4353.45,-11,4350.03,54,-57.42,0,,,42.08,,,,,,,,59.91,,,,,,,,52.08,,,,,,,,136,,,,,,,,126,,,,,,,,96,,,,,,35.42669,8718.8461,425,4467.70215,4435.58,,31.31,,,,51,,,,,,,,,,,,,,,,,,,0,0,0,0.3,0.3,0,0.3,0.3,0,11,11,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,5.7,5.7,0,665,680,672,321.817342,251.015597,252.015597,242.015597,377.228052,, +D,DREGION,,3,"2023/12/14 10:05:00",1,NSW1,0,54.95,0,54.95,0,0,8234.34,22,7262.37,10,-981.96,0,,,93,,,,,,,,162,,,,,,,,132,,,,,,,,142,,,,,,,,132,,,,,,,,44,,,,,,0,14554.04739,149,8259.74023,8288.83,,15,,,,55,,,,,,,,,,,,,,,,,,,0,0,0,0.26,0.26,0,0.3,0.3,0,9.98,9.98,0,1.75,1.75,0,1.84,1.84,0,0.39,0.39,0,3.98,3.98,0,428,433,679,375.006251,308.192770,418.192770,249.192770,193.313990,, +D,DREGION,,3,"2023/12/14 10:05:00",1,QLD1,0,34.55,0,34.55,0,0,5783.76,11,7086.97,240,1063.21,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,17.85,,,,,,,,37,,,,,,,,43.15,,,,,,0,11137.60854,365,6054.34766,6051.22,,15,,,,26,,,,,,,,,,,,,,,,,,,0,0,0,0.26,0.26,0,0.3,0.3,0,9.98,9.98,0,1.75,1.75,0,1.84,1.84,0,0.39,0.39,0,3.98,3.98,0,238,287,95,209.996791,123.430930,143.430930,121.430930,135,, +D,DREGION,,3,"2023/12/14 10:05:00",1,SA1,0,4.43056,0,4.43056,0,0,816.27,-8,1227,0,410.73,0,,,61.24,,,,,,,,62.58,,,,,,,,74,,,,,,,,59,,,,,,,,79,,,,,,,,73,,,,,,0,2587.39985,362,865.41681,825.92,,20,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.26,0.26,0,0.3,0.3,0,9.98,9.98,0,1.75,1.75,0,1.84,1.84,0,0.39,0.39,0,3.98,3.98,0,269,273,252,77,234,235,235,355,, +D,DREGION,,3,"2023/12/14 10:05:00",1,TAS1,0,11.05967,0,11.05967,0,0,1021.73,0,565.07,0,-456.67,0,,,0,,,,,,,,8.79,,,,,,,,5.57,,,,,,,,31.75,,,,,,,,131.75,,,,,,,,131.75,,,,,,-12.98756,2340.923,0,1034.72168,1021.73,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.75,1.75,0,1.84,1.84,0,0,0,0,2.54033,2.54033,0,187.108696,223.814815,156.207241,96.809323,26.193506,65.415643,61.601372,49.999999,, +D,DREGION,,3,"2023/12/14 10:05:00",1,VIC1,0,5.14495,0,5.14495,0,0,4238.33,-14,4326.91,7,81.58,0,,,64.33,,,,,,,,94.33,,,,,,,,94.33,,,,,,,,105,,,,,,,,94.98,,,,,,,,65,,,,,,0,8701.91251,428,4343.5293,4280.62,,150.05,,,,89,,,,,,,,,,,,,,,,,,,0,0,0,0.26,0.26,0,0.3,0.3,0,9.98,9.98,0,1.75,1.75,0,1.84,1.84,0,0.39,0.39,0,3.98,3.98,0,665,680,672,285.675873,188.326226,188.326226,178.326226,389.104302,, +D,DREGION,,3,"2023/12/14 10:10:00",1,NSW1,0,54.95003,0,54.95003,0,0,8268.52,13,7312.68,12,-967.84,0,,,94,,,,,,,,133,,,,,,,,122,,,,,,,,143,,,,,,,,115.22,,,,,,,,43,,,,,,26.70763,14625.79992,152,8276.58594,8321.04,,55,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0.15,0.15,0,0.38,0.38,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0,427,434,680,332.856860,357.168680,468.168680,299.168680,243.486364,, +D,DREGION,,3,"2023/12/14 10:10:00",1,QLD1,0,46.81573,0,46.81573,0,0,5887.16,18,7160.5,240,1033.34,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,21,,,,,,,,124,,,,,,,,123,,,,,,12.79219,11130.33931,365,6119.13623,6152.13,,23,,,,6,,,,,,,,,,,,,,,,,,,0,0,0,0.15,0.15,0,0.38,0.38,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0,318,427,175,189.996797,177.830940,188.230950,146.430930,195,, +D,DREGION,,3,"2023/12/14 10:10:00",1,SA1,0,7.62506,0,7.62506,0,0,838.51,-7,1236.69,0,398.18,0,,,52,,,,,,,,95.64,,,,,,,,83.8,,,,,,,,64,,,,,,,,84,,,,,,,,76,,,,,,9.60151,2637.96855,362,845.41089,853,,21,,,,9,,,,,,,,,,,,,,,,,,,0,0,0,0.15,0.15,0,0.38,0.38,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0,271,277,255,75,235,239,239,357,, +D,DREGION,,3,"2023/12/14 10:10:00",1,TAS1,0,11.05967,0,11.05967,0,0,1029.66,0,579.4,0,-450.26,0,,,0,,,,,,,,4,,,,,,,,4.64,,,,,,,,50.84,,,,,,,,125.05,,,,,,,,125.05,,,,,,-9.77235,2350.09866,0,1039.43201,1029.66,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0,187.108696,223.814815,159.243471,118.970076,28.275007,68.198120,66.923691,49.999999,, +D,DREGION,,3,"2023/12/14 10:10:00",1,VIC1,0,9,0,9,0,0,4269.24,-14,4380.77,0,111.53,0,,,68.87,,,,,,,,90.66,,,,,,,,90.66,,,,,,,,147,,,,,,,,96,,,,,,,,32.12,,,,,,37.43589,8700.38029,425,4286.07959,4314.2,,94.64,,,,95,,,,,,,,,,,,,,,,,,,0,0,0,0.15,0.15,0,0.38,0.38,0,5,5,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0,703,738,730,303.281250,268.360220,268.360220,258.360220,429.879641,, +D,DREGION,,3,"2023/12/14 10:15:00",1,NSW1,0,70.8189,0,70.8189,0,0,8296.02,14,7428.06,13,-880.96,0,,,94,,,,,,,,133,,,,,,,,122,,,,,,,,125,,,,,,,,71,,,,,,,,43,,,,,,30.58969,14640.40056,153,8291.75781,8339.37,,57,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.26,0.26,0,4.98,4.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0,427,434,679,321.216855,358,469,300,304.461458,, +D,DREGION,,3,"2023/12/14 10:15:00",1,QLD1,0,61.73,0,61.73,0,0,6079.77,27,7249.77,240,930,0,,,10,,,,,,,,22,,,,,,,,10,,,,,,,,41,,,,,,,,115.73,,,,,,,,30,,,,,,24.02,11124.26721,365,6286.88965,6338.46,,23,,,,9,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.26,0.26,0,4.98,4.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0,338,463,175,208.266692,180.781910,250.781910,158.781910,195,, +D,DREGION,,3,"2023/12/14 10:15:00",1,SA1,0,7.50122,0,7.50122,0,0,834.95,-5,1257.67,0,422.73,0,,,53,,,,,,,,82.5,,,,,,,,87.27,,,,,,,,63,,,,,,,,77,,,,,,,,75,,,,,,4.32276,2617.04112,362,849.63306,846.56,,21,,,,5,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.26,0.26,0,4.98,4.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0,270,276,256,77,236,240,240,349,, +D,DREGION,,3,"2023/12/14 10:15:00",1,TAS1,0,11.05967,0,11.05967,0,0,1015.82,-1,575.91,0,-439.92,0,,,0,,,,,,,,4,,,,,,,,4.64,,,,,,,,14.56,,,,,,,,114.55,,,,,,,,114.55,,,,,,-11.4909,2354.67047,0,1028.31409,1015.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0,187.108696,223.814815,153.554381,125.315475,25.159815,64.033841,58.958263,50,, +D,DREGION,,3,"2023/12/14 10:15:00",1,VIC1,0,8.80572,0,8.80572,0,0,4272.23,-9,4344.46,5,67.22,0,,,68.18,,,,,,,,90.96,,,,,,,,80.96,,,,,,,,113.44,,,,,,,,96,,,,,,,,96,,,,,,28.91516,8712.45599,429,4296.80908,4315.65,,82.3,,,,96,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.26,0.26,0,4.98,4.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.71,0.71,0,703,738,730,297.5625,255.702640,255.702640,245.702640,370.453667,, +D,DREGION,,3,"2023/12/14 10:20:00",1,NSW1,0,54.95,0,54.95,0,0,8205.4,11,7348.88,9,-865.52,0,,,100.65,,,,,,,,138,,,,,,,,144,,,,,,,,99.54,,,,,,,,71,,,,,,,,43,,,,,,0,14610.02815,148,8245.77148,8247.98,,25,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.01,0.01,0,3.99,3.99,0,427,434,680,316.391743,375.603840,486.603840,317.603840,254.757925,, +D,DREGION,,3,"2023/12/14 10:20:00",1,QLD1,0,10.3,0,10.3,0,0,5955.56,28,7176.94,263.72,957.66,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,64,,,,,,,,117.45,,,,,,,,123,,,,,,0,11181.35251,365,6194.05859,6240.56,,27.61,,,,41.72,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.01,0.01,0,3.99,3.99,0,318,427,175,273.719891,155.207830,175.207830,163.207830,114.276903,, +D,DREGION,,3,"2023/12/14 10:20:00",1,SA1,0,4.36523,0,4.36523,0,0,846.04,-4,1224.62,0,378.58,0,,,47,,,,,,,,61.96,,,,,,,,47,,,,,,,,58,,,,,,,,51,,,,,,,,71.56,,,,,,0,2604.23981,362,865.15063,852.92,,51,,,,4.28,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.01,0.01,0,3.99,3.99,0,268,274,254,77,234,237,237,349,, +D,DREGION,,3,"2023/12/14 10:20:00",1,TAS1,0,11.05967,0,11.05967,0,0,1028.97,0,579.35,0,-449.62,0,,,0,,,,,,,,4,,,,,,,,0,,,,,,,,24.56,,,,,,,,124.56,,,,,,,,124.56,,,,,,-8.29084,2340.90212,0,1037.26465,1028.97,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.3,0.3,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0,187.108696,223.814815,150.194361,122.377279,31.858813,72.988825,76.087346,50.000002,, +D,DREGION,,3,"2023/12/14 10:20:00",1,VIC1,0,4.95982,0,4.95982,0,0,4218.72,-9,4287.21,0,68.49,0,,,69,,,,,,,,120.59,,,,,,,,110.55,,,,,,,,65,,,,,,,,65,,,,,,,,0,,,,,,0,8685.82351,428,4266.59424,4246.58,,89.39,,,,104,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,5,5,0,0.3,0.3,0,0.39,0.39,0,0.01,0.01,0,3.99,3.99,0,700,735,727,322.399292,263.533672,264.533672,254.533672,394.335012,, +D,DREGION,,3,"2023/12/14 10:25:00",1,NSW1,0,58,0,58,0,0,8234.27,8,7358.48,8,-883.78,0,,,116.77,,,,,,,,133,,,,,,,,149,,,,,,,,126,,,,,,,,81.99,,,,,,,,43,,,,,,29.71376,14666.77789,147,8232.15527,8274.49,,30,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.26,0.26,0,4.99,4.99,0,0.39,0.39,0,0.39,0.39,0,0.15,0.15,0,0.71,0.71,0,427,434,680,362.602075,385,496,327,285.967581,, +D,DREGION,,3,"2023/12/14 10:25:00",1,QLD1,0,34.55,0,34.55,0,0,6061.65,27,7237.4,240,935.75,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,64,,,,,,,,133,,,,,,,,54.4,,,,,,15.56478,11145.16186,365,6290.84863,6321.39,,23,,,,21,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.26,0.26,0,4.99,4.99,0,0.39,0.39,0,0.39,0.39,0,0.15,0.15,0,0.71,0.71,0,338,462,175,226.714117,193.430930,273.430930,181.430930,195,, +D,DREGION,,3,"2023/12/14 10:25:00",1,SA1,0,7.58254,0,7.58254,0,0,831.99,-4,1246.38,0,414.39,0,,,60,,,,,,,,100.09,,,,,,,,59.96,,,,,,,,62,,,,,,,,76,,,,,,,,74,,,,,,6.00149,2623.48441,362,838.67487,845.52,,21,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.26,0.26,0,4.99,4.99,0,0.39,0.39,0,0.39,0.39,0,0.15,0.15,0,0.71,0.71,0,269,275,255,77,243,247,247,349,, +D,DREGION,,3,"2023/12/14 10:25:00",1,TAS1,0,11.05967,0,11.05967,0,0,1014.36,0,597.74,0,-416.62,0,,,0,,,,,,,,4,,,,,,,,4.64,,,,,,,,3,,,,,,,,91.26,,,,,,,,91.26,,,,,,-10.22372,2349.45359,0,1024.58008,1014.36,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.26,0.26,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0,187.108696,223.814815,133.164681,131.690736,35.792456,78.247181,86.145524,50.000006,, +D,DREGION,,3,"2023/12/14 10:25:00",1,VIC1,0,8.95035,0,8.95035,0,0,4299.85,-4,4356.17,0,56.32,0,,,40,,,,,,,,86.7,,,,,,,,86.7,,,,,,,,106.23,,,,,,,,96,,,,,,,,96,,,,,,9.51187,8712.72211,428,4324.36963,4340.41,,86,,,,99,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0.26,0.26,0,4.99,4.99,0,0.39,0.39,0,0.39,0.39,0,0.15,0.15,0,0.71,0.71,0,702,737,729,277.885193,290,290,280,438.749416,, +D,DREGION,,3,"2023/12/14 10:30:00",1,NSW1,0,58,0,58,0,0,8258.05,9,7388.53,8,-877.52,0,,,83,,,,,,,,133,,,,,,,,122,,,,,,,,85,,,,,,,,72,,,,,,,,44,,,,,,0,14638.89061,147,8293.83496,8297.65,,57,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.08,0.08,0,3.61,3.61,0,428,435,681,299.761795,358,469,299,313.745162,, +D,DREGION,,3,"2023/12/14 10:30:00",1,QLD1,0,34.55,0,34.55,0,0,6015.26,27,7183.74,240,928.49,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,60.54,,,,,,,,69.83,,,,,,,,18.38,,,,,,0,11159.28407,365,6250.854,6274.62,,23,,,,32,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.08,0.08,0,3.61,3.61,0,298,390,175,223.459660,186.535120,206.535120,175,180.135111,, +D,DREGION,,3,"2023/12/14 10:30:00",1,SA1,0,-30,0,-30,0,0,817.09,-4,1276.82,0,459.73,0,,,59,,,,,,,,71.02,,,,,,,,57.29,,,,,,,,55,,,,,,,,76,,,,,,,,74,,,,,,-0.36145,2681.73686,362,836.93591,833.84,,31,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.08,0.08,0,3.61,3.61,0,269,277,255,77,243,246,246,349,, +D,DREGION,,3,"2023/12/14 10:30:00",1,TAS1,0,-17.40103,0,-17.40103,0,0,1006.46,0,562.41,0,-444.05,0,,,0,,,,,,,,4,,,,,,,,4.64,,,,,,,,19.29,,,,,,,,119.28,,,,,,,,119.28,,,,,,-11.53257,2351.51124,0,1017.99597,1006.46,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,31.00103,31.00103,0,187.108696,223.814815,142.744681,124.808497,20.947795,58.403361,48.188288,50,, +D,DREGION,,3,"2023/12/14 10:30:00",1,VIC1,0,-20.54722,0,-20.54722,0,0,4204.77,-5,4255.22,0,50.45,0,,,76.28,,,,,,,,117.55,,,,,,,,117.55,,,,,,,,96,,,,,,,,96,,,,,,,,96,,,,,,0,8777.68543,428,4254.70703,4254.14,,76.43,,,,118,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.08,0.08,0,3.61,3.61,0,693,728,720,289.447631,239,240,230,370.720910,, +D,DREGION,,3,"2023/12/14 10:35:00",1,NSW1,0,58,0,58,0,0,8310.42,14,7539.97,5,-775.46,0,,,71.32,,,,,,,,133,,,,,,,,121.73,,,,,,,,91.57,,,,,,,,44,,,,,,,,43,,,,,,0,14741.7473,148,8343.44434,8338.04,,30,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,9.98,9.98,0,0.14,0.14,0,0.3,0.3,0,0.01,0.01,0,7.73,7.73,0,428,434,681,266.560624,385,495,325,321.655890,, +D,DREGION,,3,"2023/12/14 10:35:00",1,QLD1,0,-2.02,0,-2.02,0,0,5964.51,20,7068.44,292,811.93,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,102.19,,,,,,,,10.66,,,,,,-6.43846,11237.586,365,6218.21289,6270.36,,61.34,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,9.98,9.98,0,0.14,0.14,0,0.3,0.3,0,0.01,0.01,0,7.73,7.73,0,298,391,175,264.996791,71.028450,81.028450,59.028450,86.000004,, +D,DREGION,,3,"2023/12/14 10:35:00",1,SA1,0,-28.90575,0,-28.90575,0,0,806.99,-4,1254,0,447.01,0,,,56,,,,,,,,58,,,,,,,,54,,,,,,,,56,,,,,,,,74,,,,,,,,72,,,,,,-0.04973,2651.70174,362,827.04529,820.47,,40,,,,11,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,9.98,9.98,0,0.14,0.14,0,0.3,0.3,0,0.01,0.01,0,7.73,7.73,0,271,275,257,77,241,245,245,349,, +D,DREGION,,3,"2023/12/14 10:35:00",1,TAS1,0,-28.10728,0,-28.10728,0,0,1017.52,0,567.56,0,-449.96,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,24.9,,,,,,,,124.9,,,,,,,,124.9,,,,,,-11.9855,2356.65861,0,1029.5083,1017.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.14,0.14,0,0.3,0.3,0,0,0,0,41.70728,41.70728,0,187.108696,223.814815,142.744681,119.193587,20.947795,58.403361,48.188288,50,, +D,DREGION,,3,"2023/12/14 10:35:00",1,VIC1,0,-34.3,0,-34.3,0,0,4113.64,-11,4173.2,0,59.55,0,,,94,,,,,,,,137.93,,,,,,,,134,,,,,,,,95,,,,,,,,104,,,,,,,,102,,,,,,-1.53648,8792.16075,428,4174.5498,4156.76,,62,,,,79,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,9.98,9.98,0,0.14,0.14,0,0.3,0.3,0,0.01,0.01,0,7.73,7.73,0,658,791,733,244.877533,286,334.786530,324.786530,362.8807,, +D,DREGION,,3,"2023/12/14 10:40:00",1,NSW1,0,58,0,58,0,0,8348.34,17,7598.4,4,-753.93,0,,,113,,,,,,,,153,,,,,,,,143,,,,,,,,83,,,,,,,,44,,,,,,,,43,,,,,,46.36521,14843.02452,147,8315.48145,8373.47,,30,,,,37.2,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.17,0.17,0,3.61,3.61,0,428,434,681,347.717481,385,495,325,343.632791,, +D,DREGION,,3,"2023/12/14 10:40:00",1,QLD1,0,-10,0,-10,0,0,5899.94,10,6977.96,290,788.02,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,64,,,,,,,,124,,,,,,,,32.38,,,,,,-22.69943,11191.44678,365,6215.91455,6202.89,,15,,,,81,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.17,0.17,0,3.61,3.61,0,318,427,175,279.993582,76.428440,96.428440,84.428440,88,, +D,DREGION,,3,"2023/12/14 10:40:00",1,SA1,0,-30,0,-30,0,0,796.57,-5,1265.75,11,458.18,0,,,61,,,,,,,,76.49,,,,,,,,62.69,,,,,,,,49,,,,,,,,74,,,,,,,,72,,,,,,6.93963,2640.29807,362,807.49219,824.38,,31,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.17,0.17,0,3.61,3.61,0,271,275,257,88,245,248,248,338,, +D,DREGION,,3,"2023/12/14 10:40:00",1,TAS1,0,11.05967,0,11.05967,0,0,1039.26,1,577.26,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,4.62,,,,,,,,37.09,,,,,,,,137.08,,,,,,,,137.08,,,,,,-14.26037,2359.13489,0,1052.52441,1039.26,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.54033,2.54033,0,187.108696,223.814815,148.338081,99.551313,24.222792,62.639970,55.520241,49.999996,, +D,DREGION,,3,"2023/12/14 10:40:00",1,VIC1,0,-34.3,0,-34.3,0,0,4097.91,-11,4174.43,5,71.52,0,,,40.06,,,,,,,,87.44,,,,,,,,87.44,,,,,,,,64,,,,,,,,73,,,,,,,,71,,,,,,5.41368,8794.58376,428,4145.77197,4153.8,,129.38,,,,51.8,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.17,0.17,0,3.61,3.61,0,665,798,740,284.419464,204.62,248.466990,238.466990,367.099394,, +D,DREGION,,3,"2023/12/14 10:45:00",1,NSW1,0,58,0,58,0,0,8243.07,13,7505.53,22,-759.54,0,,,86,,,,,,,,126,,,,,,,,116,,,,,,,,84,,,,,,,,41.22,,,,,,,,44,,,,,,0,14677.25597,147,8264.80566,8287.61,,38,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,429,435,682,395.975529,359,469,299,369.275173,, +D,DREGION,,3,"2023/12/14 10:45:00",1,QLD1,0,-20.5,0,-20.5,0,0,5786.84,1,6872.73,290,795.89,0,,,10,,,,,,,,26,,,,,,,,10,,,,,,,,64,,,,,,,,0,,,,,,,,1.22,,,,,,-33.77897,11228.65239,365,6128.3667,6090.65,,15,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,258,321,115,234.996791,76.430930,96.430930,84.430930,88,, +D,DREGION,,3,"2023/12/14 10:45:00",1,SA1,0,-35.95,0,-35.95,0,0,790.46,-5,1238.12,0,447.65,0,,,61,,,,,,,,89.99,,,,,,,,93.19,,,,,,,,53,,,,,,,,72,,,,,,,,70,,,,,,0,2635.08678,362,821.15411,807.95,,31,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,269,273,257,77,245,248,248,349,, +D,DREGION,,3,"2023/12/14 10:45:00",1,TAS1,0,11.05967,0,11.05967,0,0,1052.12,1,590.12,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,-12.0146,2363.16464,0,1063.13953,1052.12,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0,187.108696,223.814815,159.068261,88.322391,27.308306,66.905868,64.451873,49.999997,, +D,DREGION,,3,"2023/12/14 10:45:00",1,VIC1,0,-34.3,0,-34.3,0,0,4098.4,-10,4187.44,5,84.04,0,,,71.7,,,,,,,,94.73,,,,,,,,94.73,,,,,,,,94,,,,,,,,103,,,,,,,,101,,,,,,0,8811.65586,428,4163.44824,4155.6,,121.38,,,,56,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,659,792,734,239.971283,212.62,250.318820,240.318820,380.344351,, +D,DREGION,,3,"2023/12/14 10:50:00",1,NSW1,0,58,0,58,0,0,8294.28,10,7592.16,31,-733.12,0,,,86,,,,,,,,126,,,,,,,,116,,,,,,,,84,,,,,,,,45,,,,,,,,44,,,,,,49.0402,14694.2209,152,8274.80371,8345.4,,10,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,429,435,682,385.475090,382,492,322,327.047951,, +D,DREGION,,3,"2023/12/14 10:50:00",1,QLD1,0,-0.01,0,-0.01,0,0,5887.74,-9,6943.32,290,765.57,0,,,10,,,,,,,,22.89,,,,,,,,10,,,,,,,,4.7,,,,,,,,32.23,,,,,,,,37.23,,,,,,0,11188.6857,365,6183.29395,6190.07,,15,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,318,427,155,299.993582,61.430930,71.430930,49.430930,88,, +D,DREGION,,3,"2023/12/14 10:50:00",1,SA1,0,-32.13413,0,-32.13413,0,0,834.9,-4,1250.75,0,415.85,0,,,60,,,,,,,,87,,,,,,,,85.39,,,,,,,,50,,,,,,,,70,,,,,,,,68,,,,,,12.9533,2677.67279,362,840.96118,844.75,,39.38,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,267,270,253,77,243,247,247,349,, +D,DREGION,,3,"2023/12/14 10:50:00",1,TAS1,0,11.05967,0,11.05967,0,0,1053.62,1,591.62,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,-10.57183,2362.17883,0,1063.19287,1053.62,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.54033,2.54033,0,187.108696,223.814815,159.202471,85.411602,28.291244,68.219825,66.965210,49.999995,, +D,DREGION,,3,"2023/12/14 10:50:00",1,VIC1,0,-37.3,0,-37.3,0,0,4000.95,-12,4098.42,5,92.47,0,,,67.39,,,,,,,,95.02,,,,,,,,95.02,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,7.72108,8793.65849,428,4060.04321,4042.42,,141,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,713,866,808,331.602936,204.975541,224.975541,214.975541,363.397423,, +D,DREGION,,3,"2023/12/14 10:55:00",1,NSW1,0,88.89,0,88.89,0,0,8398.24,20,7687.53,31,-741.71,0,,,85,,,,,,,,125,,,,,,,,114,,,,,,,,53,,,,,,,,44,,,,,,,,43,,,,,,0,14796.54756,152,8438.23535,8450.1,,10,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,425,431,678,349.002222,380,491,323.796340,367.323294,, +D,DREGION,,3,"2023/12/14 10:55:00",1,QLD1,0,-20.5,0,-20.5,0,0,5720.51,-16,6785.85,290,775.34,0,,,10,,,,,,,,10,,,,,,,,10,,,,,,,,64,,,,,,,,25.2,,,,,,,,30.2,,,,,,-17.50129,11131.67482,365,6062.42236,6023.29,,15,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,258,322,115,234.996791,86.430930,106.430930,84.430930,88,, +D,DREGION,,3,"2023/12/14 10:55:00",1,SA1,0,-34.84617,0,-34.84617,0,0,845.28,-1,1351.12,3,502.84,0,,,55.46,,,,,,,,126.12,,,,,,,,99.72,,,,,,,,38,,,,,,,,75,,,,,,,,73,,,,,,0,2630.20807,362,852.80035,860.32,,32,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,272,275,258,74,242,246,246,346,, +D,DREGION,,3,"2023/12/14 10:55:00",1,TAS1,0,10.04328,0,10.04328,0,0,1056.01,1,594.01,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,-8.31816,2361.816,0,1063.33008,1056.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0,0,0,0,0,0,4.55672,4.55672,0,187.108696,223.814815,156.348771,89.064783,29.421423,69.730608,69.855033,49.999996,, +D,DREGION,,3,"2023/12/14 10:55:00",1,VIC1,0,-41.11,0,-41.11,0,0,3858.97,-20,3876.32,5,12.36,0,,,45.1,,,,,,,,55.1,,,,,,,,55.1,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,-8.17209,8835.32484,429,3925.44849,3905.12,,148.38,,,,56,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,9.98,9.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,629,762,704,269.701111,148.62,166.62,156.62,366.948052,, +D,DREGION,,3,"2023/12/14 11:00:00",1,NSW1,0,58,0,58,0,0,8469.36,26,7771.82,5,-702.53,0,,,85,,,,,,,,125,,,,,,,,115,,,,,,,,81,,,,,,,,71,,,,,,,,43,,,,,,45.33145,14818.23401,148,8447.30371,8493.84,,57,,,,60,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,425,431,678,418.914733,357,467,297,341.768039,, +D,DREGION,,3,"2023/12/14 11:00:00",1,QLD1,0,-20.5,0,-20.5,0,0,5625.34,-24,6675.97,293,757.63,0,,,10,,,,,,,,22,,,,,,,,10,,,,,,,,62,,,,,,,,103.65,,,,,,,,123,,,,,,-24.59261,11092.42985,365,5969.01758,5930.73,,15,,,,58,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,318,428,155,279.993582,76.430930,96.430930,84.430930,85,, +D,DREGION,,3,"2023/12/14 11:00:00",1,SA1,0,-32.31068,0,-32.31068,0,0,916.53,3,1287.54,14,357.02,0,,,78.21,,,,,,,,118,,,,,,,,122.27,,,,,,,,51,,,,,,,,12,,,,,,,,56.64,,,,,,17.08718,2495.56239,356,902.70703,940.36,,0,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,272,275,258,11,243,247,247,24,, +D,DREGION,,3,"2023/12/14 11:00:00",1,TAS1,0,10.04328,0,10.04328,0,0,1062.92,1,600.92,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-5.84624,2373.34088,0,1067.76721,1062.92,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,4.55672,4.55672,0,187.108696,223.814815,159.698221,112.399912,27.553771,67.233997,65.079519,49.999997,, +D,DREGION,,3,"2023/12/14 11:00:00",1,VIC1,0,-37.3,0,-37.3,0,0,3884.84,-24,4045.84,34,127,0,,,47.8,,,,,,,,63.57,,,,,,,,57.8,,,,,,,,63,,,,,,,,75,,,,,,,,0,,,,,,-21.66283,8918.26129,428,3960.13501,3954.24,,133.38,,,,52,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,710,863,805,362.6250,150.62,168.62,158.62,364.222052,, +D,DREGION,,3,"2023/12/14 11:05:00",1,NSW1,0,299.99,0,299.99,0,0,8529.88,26,8631.35,5,96.46,0,,,93,,,,,,,,125.9,,,,,,,,136,,,,,,,,78,,,,,,,,66,,,,,,,,38,,,,,,46.31811,14651.5354,148,8483.70801,8556.35,,40,,,,26.6,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,0.95,0.95,0,0.39,0.39,0,29.56,29.56,0,420,425,672,189.708238,408,519,396.361330,421.934061,, +D,DREGION,,3,"2023/12/14 11:05:00",1,QLD1,0,-20.5,0,-20.5,0,0,5627.68,-29,6717.17,301.57,787.92,0,,,0,,,,,,,,15,,,,,,,,15,,,,,,,,64,,,,,,,,30,,,,,,,,43.72,,,,,,-17.14317,11092.81106,365,5964.47119,5942.86,,60.43,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,0.95,0.95,0,0.39,0.39,0,29.56,29.56,0,318,427,155,279.993582,52.430930,62.430930,62.430930,76.431950,, +D,DREGION,,3,"2023/12/14 11:05:00",1,SA1,0,-49.70384,0,-49.70384,0,0,916.16,2,1280.56,193,171.4,0,,,93.8,,,,,,,,95,,,,,,,,91,,,,,,,,56,,,,,,,,73,,,,,,,,71,,,,,,19.66968,2686.78214,356,915.01941,1110.56,,60,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,0.95,0.95,0,0.39,0.39,0,29.56,29.56,0,270,277,259,264,159,163,163,156,, +D,DREGION,,3,"2023/12/14 11:05:00",1,TAS1,0,10.04328,0,10.04328,0,0,1048.52,1,586.52,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-7.37174,2362.94467,0,1054.88928,1048.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,3,3,0,0.95,0.95,0,0,0,0,4.55672,4.55672,0,187.108696,223.814815,155.625301,99.443683,25.966753,65.112528,61.021574,50.000001,, +D,DREGION,,3,"2023/12/14 11:05:00",1,VIC1,0,-52.68,0,-52.68,0,0,3852.2,-19,3594.56,282,-539.63,0,,,40,,,,,,,,98,,,,,,,,69,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,-23.09345,8906.91958,428,3959.22925,4151.87,,44.95,,,,118.4,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,0.95,0.95,0,0.39,0.39,0,29.56,29.56,0,714,867,809,588.437103,99,99,89,171.220052,, +D,DREGION,,3,"2023/12/14 11:10:00",1,NSW1,0,120.89,0,120.89,0,0,8587.34,28,8686.07,9,89.72,0,,,113,,,,,,,,133.96,,,,,,,,114.56,,,,,,,,78,,,,,,,,39,,,,,,,,38,,,,,,47.30477,14671.51506,153,8538.74609,8620.9,,40,,,,76,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.96,0.96,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,420,425,678,280.443930,409,519,435.013980,435.510734,, +D,DREGION,,3,"2023/12/14 11:10:00",1,QLD1,0,-10,0,-10,0,0,5718.02,-21,6827.25,318,791.23,0,,,0,,,,,,,,18,,,,,,,,18,,,,,,,,6.04,,,,,,,,33.87,,,,,,,,34.87,,,,,,0,11115.25517,365,6040.63818,6049.29,,0,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.96,0.96,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,318,427,155,299.993582,76.430930,96.430930,74.430930,60,, +D,DREGION,,3,"2023/12/14 11:10:00",1,SA1,0,-50,0,-50,0,0,913.47,3,1268.48,197,158.02,0,,,66.13,,,,,,,,84,,,,,,,,81,,,,,,,,55,,,,,,,,72,,,,,,,,74,,,,,,6.8957,2788.94375,361,1087.02112,1112.38,,20,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.96,0.96,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,273,279,261,369,189,192,192,158,, +D,DREGION,,3,"2023/12/14 11:10:00",1,TAS1,0,10.04328,0,10.04328,0,0,1051.27,1,589.27,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.64,,,,,,,,136.64,,,,,,,,136.64,,,,,,-7.92989,2361.84948,0,1058.19873,1051.27,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.96,0.96,0,0.95,0.95,0,0,0,0,4.55672,4.55672,0,187.108696,223.814815,159.534841,95.081068,27.490112,67.1489,64.916744,50,, +D,DREGION,,3,"2023/12/14 11:10:00",1,VIC1,0,-51.38797,0,-51.38797,0,0,3940.75,-17,3556.23,130,-514.52,0,,,50,,,,,,,,98,,,,,,,,98,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,0,8844.85095,428,4172.646,4093.46,,145.38,,,,49,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.96,0.96,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,718,871,813,436.704528,113.62,113.62,103.62,301.223052,, +D,DREGION,,3,"2023/12/14 11:15:00",1,NSW1,0,137.69,0,137.69,0,0,8701.82,35,8979.47,9,268.66,0,,,113,,,,,,,,141.63,,,,,,,,123.93,,,,,,,,68,,,,,,,,39,,,,,,,,35.43,,,,,,48.29143,14744.52124,153,8636.34863,8740.19,,49,,,,46,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.19,1.19,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,424,429,442,280.165030,408,518,449,433.570018,, +D,DREGION,,3,"2023/12/14 11:15:00",1,QLD1,0,-2.02,0,-2.02,0,0,5766.29,-8,6858.38,315,777.09,0,,,0,,,,,,,,22,,,,,,,,17,,,,,,,,64,,,,,,,,1.55,,,,,,,,0,,,,,,-14.76639,11119.59228,365,6103.95898,6093.39,,0,,,,45,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.19,1.19,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,258,322,95,234.993582,66.430930,86.430930,74.430930,63,, +D,DREGION,,3,"2023/12/14 11:15:00",1,SA1,0,-51.16156,0,-51.16156,0,0,936.97,3,1287.33,194,156.36,0,,,63.28,,,,,,,,82,,,,,,,,85,,,,,,,,59,,,,,,,,81,,,,,,,,76,,,,,,10.78839,2815.0426,356,1122.40417,1132.46,,20,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.19,1.19,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,275,285,262,359,193,197,197,161,, +D,DREGION,,3,"2023/12/14 11:15:00",1,TAS1,0,10.04328,0,10.04328,0,0,1040.49,0,578.49,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.34,,,,,,,,136.34,,,,,,,,136.34,,,,,,-8.65353,2356.58938,0,1049.14722,1040.49,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.19,1.19,0,0.95,0.95,0,0,0,0,4.55672,4.55672,0,187.108696,223.814815,154.031021,101.728889,25.345537,64.282108,59.433149,49.999999,, +D,DREGION,,3,"2023/12/14 11:15:00",1,VIC1,0,-54.25,0,-54.25,0,0,3835.64,-18,3297.5,129,-667.14,0,,,54.94,,,,,,,,89.94,,,,,,,,85.94,,,,,,,,96,,,,,,,,105,,,,,,,,103,,,,,,-27.63734,8913.42773,428,4055.10376,3994.64,,136.38,,,,49,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.19,1.19,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,715,868,810,390.722382,122.62,122.62,112.62,302.221052,, +D,DREGION,,3,"2023/12/14 11:20:00",1,NSW1,0,137.69,0,137.69,0,0,8745.55,37,9060.81,5,310.27,0,,,90,,,,,,,,109,,,,,,,,106.25,,,,,,,,60.37,,,,,,,,45,,,,,,,,44,,,,,,47.6133,15057.00435,148,8688.94336,8778.91,,62,,,,60.77,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,4,4,0,1.19,1.19,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,431,436,689,315.450137,385,495,426,394.819025,, +D,DREGION,,3,"2023/12/14 11:20:00",1,QLD1,0,-9.99998,0,-9.99998,0,0,5777.58,0,6852.23,315,759.66,0,,,27,,,,,,,,27,,,,,,,,17,,,,,,,,64,,,,,,,,51.71,,,,,,,,41.3,,,,,,-6.58144,11146.69502,365,6096.75293,6103.84,,0,,,,34,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,4,4,0,1.19,1.19,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,258,322,95,234.993582,66.430930,86.430930,74.430930,63,, +D,DREGION,,3,"2023/12/14 11:20:00",1,SA1,0,-52.7224,0,-52.7224,0,0,911.15,1,1300.17,183,206.02,0,,,67.92,,,,,,,,98,,,,,,,,94,,,,,,,,46,,,,,,,,79,,,,,,,,71,,,,,,0.39536,2827.22118,361,1105.11877,1096.44,,34.38,,,,27.23,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,4,4,0,1.19,1.19,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,273,286,262,359,187.62,191.62,191.62,166,, +D,DREGION,,3,"2023/12/14 11:20:00",1,TAS1,0,-40.01,0,-40.01,0,0,1024.2,-1,562.2,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-8.09596,2357.6446,0,1033.29236,1024.2,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.19,1.19,0,0.86,0.86,0,0,0,0,54.61,54.61,0,187.108696,223.814815,142.744681,114.306337,20.947795,58.403361,48.188288,50,, +D,DREGION,,3,"2023/12/14 11:20:00",1,VIC1,0,-56.79,0,-56.79,0,0,3820.29,-16,3158.94,78.52,-739.88,0,,,40,,,,,,,,95.25,,,,,,,,88,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,-16.12591,9115.61474,428,3999.2395,3930.97,,109,,,,48,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0.01,0.01,0,4,4,0,1.19,1.19,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,714,867,809,401.406708,159,161,151,332.226052,, +D,DREGION,,3,"2023/12/14 11:25:00",1,NSW1,0,137.69,0,137.69,0,0,8794.06,38,9121.66,5,322.6,0,,,113,,,,,,,,143.75,,,,,,,,132.15,,,,,,,,55,,,,,,,,43,,,,,,,,42,,,,,,48.72299,15106.82157,148,8739.00684,8825.63,,56,,,,55,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,1.19,1.19,0,1,1,0,0.39,0.39,0,16.73,16.73,0,429,434,687,387.474267,409,518,449,422.192527,, +D,DREGION,,3,"2023/12/14 11:25:00",1,QLD1,0,-10.4,0,-10.4,0,0,5793.27,7,6844.66,300,751.38,0,,,0,,,,,,,,27,,,,,,,,17,,,,,,,,64,,,,,,,,43.7,,,,,,,,42.15,,,,,,-15.38242,11165.25074,365,6117.00684,6103.97,,32,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,1.19,1.19,0,1,1,0,0.39,0.39,0,16.73,16.73,0,258,323,95,234.993582,74.430930,94.430930,74.430930,78,, +D,DREGION,,3,"2023/12/14 11:25:00",1,SA1,0,-48.92353,0,-48.92353,0,0,895.58,-3,1286.24,199,191.67,0,,,64.35,,,,,,,,91,,,,,,,,88,,,,,,,,43.3,,,,,,,,81,,,,,,,,73,,,,,,1.85973,2821.44081,362,1081.57031,1097.31,,50,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,1.19,1.19,0,1,1,0,0.39,0.39,0,16.73,16.73,0,275,288,265,370,166,169,169,162,, +D,DREGION,,3,"2023/12/14 11:25:00",1,TAS1,0,-38.79281,0,-38.79281,0,0,1021.68,-2,587.06,0,-434.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,9.86,,,,,,,,109.85,,,,,,,,109.85,,,,,,-8.37048,2375.36157,0,1032.05176,1021.68,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.19,1.19,0,1,1,0,0,0,0,53.39281,53.39281,0,187.108696,223.814815,141.944681,69.344950,21.643447,59.203361,49.008801,49.999997,, +D,DREGION,,3,"2023/12/14 11:25:00",1,VIC1,0,-52.69,0,-52.69,0,0,3776.81,-16,3230.67,215,-761.14,0,,,51.39,,,,,,,,71.39,,,,,,,,71.39,,,,,,,,96,,,,,,,,105,,,,,,,,103,,,,,,-14.45824,9152.85788,428,3916.70435,4021.69,,40,,,,70,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,1.19,1.19,0,1,1,0,0.39,0.39,0,16.73,16.73,0,717,870,812,509.114319,112,112,102,226.226052,, +D,DREGION,,3,"2023/12/14 11:30:00",1,NSW1,0,137.69,0,137.69,0,0,8872.75,38,9153.77,4,277.01,0,,,113,,,,,,,,109.05,,,,,,,,106,,,,,,,,78,,,,,,,,66,,,,,,,,38,,,,,,48.97839,15082.1553,147,8813.3457,8903.1,,40,,,,61,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,17.33448,17.33448,0,425,430,683,411.341988,409,518,449,426.376125,, +D,DREGION,,3,"2023/12/14 11:30:00",1,QLD1,0,-10,0,-10,0,0,5806.86,16,6886.18,300,779.32,0,,,0,,,,,,,,27,,,,,,,,8.15,,,,,,,,62,,,,,,,,25.57,,,,,,,,63.57,,,,,,-17.34456,11213.89681,365,6114.35449,6118.46,,35,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,17.33448,17.33448,0,236,284,93,219.996791,74.430930,94.430930,74.430930,78,, +D,DREGION,,3,"2023/12/14 11:30:00",1,SA1,0,-49.8396,0,-49.8396,0,0,853.26,-8,1258.12,188,216.86,0,,,61.22,,,,,,,,74,,,,,,,,72,,,,,,,,60,,,,,,,,81,,,,,,,,73,,,,,,7.30374,2763.32065,362,1052.17261,1044.77,,77,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,17.33448,17.33448,0,275,288,266,359,150,152,152,173,, +D,DREGION,,3,"2023/12/14 11:30:00",1,TAS1,0,-40.01,0,-40.01,0,0,1013.67,-2,563.05,0,-450.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,25.41,,,,,,,,125.41,,,,,,,,125.41,,,,,,-5.77138,2358.63734,0,1021.44092,1013.67,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.84,1.84,0,0.95,0.95,0,0,0,0,54.61,54.61,0,187.108696,223.814815,141.904681,118.686297,21.678230,59.243361,49.049827,49.999996,, +D,DREGION,,3,"2023/12/14 11:30:00",1,VIC1,0,-54.25,0,-54.25,0,0,3752.56,-15,3211.2,209,-750.36,0,,,53.38,,,,,,,,121.38,,,,,,,,121.38,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,-5.89503,9183.95636,428,3984.14966,3992.32,,42,,,,64,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,17.33448,17.33448,0,676,809,751,478.332764,111,111,101,226.223052,, +D,DREGION,,3,"2023/12/14 11:35:00",1,NSW1,0,137.69,0,137.69,0,0,9033.06,46,9144.45,4,107.39,0,,,86,,,,,,,,129.54,,,,,,,,114.89,,,,,,,,78,,,,,,,,39,,,,,,,,38,,,,,,49.2338,15237.07385,147,8956.69141,9050.05,,70,,,,71,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,1,1,0,0.39,0.39,0,7.5,7.5,0,425,430,683,392.990321,398,508,439,366.511558,, +D,DREGION,,3,"2023/12/14 11:35:00",1,QLD1,0,-10,0,-10,0,0,5873.42,20,6922.53,315,734.11,0,,,11.56,,,,,,,,27,,,,,,,,17,,,,,,,,18.97,,,,,,,,52.96,,,,,,,,32.19,,,,,,-17.077,11267.62437,365,6179.31885,6197.61,,0,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,1,1,0,0.39,0.39,0,7.5,7.5,0,256,319,112,236.043570,70.002490,90.002490,68.002490,63,, +D,DREGION,,3,"2023/12/14 11:35:00",1,SA1,0,-49.31059,0,-49.31059,0,0,826.12,-12,1215.53,149,240.42,0,,,71,,,,,,,,71,,,,,,,,69,,,,,,,,61,,,,,,,,79,,,,,,,,71,,,,,,12.74776,2775.91991,362,1017.87421,977.9,,20,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,1,1,0,0.39,0.39,0,7.5,7.5,0,273,286,267,366,202,204,204,184,, +D,DREGION,,3,"2023/12/14 11:35:00",1,TAS1,0,-40.01,0,-40.01,0,0,991.72,-3,532.86,0,-458.86,0,,,0,,,,,,,,7,,,,,,,,7.75,,,,,,,,33.8,,,,,,,,133.8,,,,,,,,133.8,,,,,,-9.36492,2394.7235,0,1004.08484,991.72,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,1,1,0,0,0,0,53.61,53.61,0,187.108696,223.814815,142.744681,117.294117,20.947795,58.403361,48.188288,50,, +D,DREGION,,3,"2023/12/14 11:35:00",1,VIC1,0,-53.66,0,-53.66,0,0,3592.65,-15,3239.44,226,-579.21,0,,,56.48,,,,,,,,93.48,,,,,,,,94.48,,,,,,,,95,,,,,,,,95,,,,,,,,95,,,,,,-2.1727,9189.72543,428,3830.70459,3837.53,,112.24,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,1,1,0,0.39,0.39,0,7.5,7.5,0,643,648,640,395.661316,99,99,89,208.218052,, +D,DREGION,,3,"2023/12/14 11:40:00",1,NSW1,0,139.96017,0,139.96017,0,0,9143.45,53,9157.63,4,10.18,0,,,118,,,,,,,,111.79,,,,,,,,130,,,,,,,,51,,,,,,,,39,,,,,,,,38,,,,,,45.77327,15219.86758,147,9056.52441,9153.28,,37,,,,61,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,3.95,3.95,0,0.95,0.95,0,0.39,0.39,0,5.7,5.7,0,425,430,683,448.489635,413,523,454,353.079602,, +D,DREGION,,3,"2023/12/14 11:40:00",1,QLD1,0,-10,0,-10,0,0,5875.07,25,6886.51,315,696.44,0,,,0,,,,,,,,28,,,,,,,,0,,,,,,,,61,,,,,,,,16.1,,,,,,,,17,,,,,,-1.6901,11207.18394,365,6165.04639,6197.7,,0,,,,34,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,3.95,3.95,0,0.95,0.95,0,0.39,0.39,0,5.7,5.7,0,256,319,112,220,60.002490,80.002490,68.002490,63,, +D,DREGION,,3,"2023/12/14 11:40:00",1,SA1,0,-52.1953,0,-52.1953,0,0,795.5,-15,1199.02,143,260.51,0,,,54.72,,,,,,,,85,,,,,,,,74.39,,,,,,,,53,,,,,,,,81,,,,,,,,73,,,,,,18.19177,2820.04382,362,946.69238,941.62,,26,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,3.95,3.95,0,0.95,0.95,0,0.39,0.39,0,5.7,5.7,0,275,288,272,444,216,218,218,218,, +D,DREGION,,3,"2023/12/14 11:40:00",1,TAS1,0,-40.01,0,-40.01,0,0,994.76,-3,532.76,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,4.62,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-13.97975,2405.89665,0,1011.73737,994.76,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,53.61,53.61,0,187.108696,223.814815,142.744681,114.306217,20.947795,58.403361,48.188288,50,, +D,DREGION,,3,"2023/12/14 11:40:00",1,VIC1,0,-56.79,0,-56.79,0,0,3566.57,-22,3179.46,87,-474.11,0,,,57.69,,,,,,,,103.69,,,,,,,,97.69,,,,,,,,96,,,,,,,,105,,,,,,,,103,,,,,,-6.48796,9198.22497,428,3806.79736,3668,,142.38,,,,45,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,3.95,3.95,0,0.95,0.95,0,0.39,0.39,0,5.7,5.7,0,718,871,813,329.736542,151.655425,151.655425,141.655425,324.214052,, +D,DREGION,,3,"2023/12/14 11:45:00",1,NSW1,0,120.89,0,120.89,0,0,9023.57,51,9066.81,4,39.24,0,,,113,,,,,,,,135,,,,,,,,122,,,,,,,,77,,,,,,,,41.75,,,,,,,,38,,,,,,46.64799,15294.25272,147,8935.4502,9032.43,,34,,,,40,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,1,1,0,0.39,0.39,0,1.84,1.84,0,0.39,0.39,0,17.11043,17.11043,0,425,429,682,405.384049,408,518,449,413.225598,, +D,DREGION,,3,"2023/12/14 11:45:00",1,QLD1,0,-10,0,-10,0,0,5895.79,22,6864.01,300,668.22,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.8,,,,,,,,71,,,,,,,,46.93,,,,,,6.18026,11179.96258,365,6179.24365,6202.73,,36,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,1,1,0,0.39,0.39,0,1.84,1.84,0,0.39,0.39,0,17.11043,17.11043,0,216,248,92,204.996791,74.428440,94.428440,74.428440,78,, +D,DREGION,,3,"2023/12/14 11:45:00",1,SA1,0,-49.33602,0,-49.33602,0,0,796.27,-15,1244.33,185,263.06,0,,,43.27,,,,,,,,93.22,,,,,,,,66,,,,,,,,68,,,,,,,,85,,,,,,,,73,,,,,,21.25483,2851.68817,362,938.7475,985.26,,50,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,1,1,0,0.39,0.39,0,1.84,1.84,0,0.39,0.39,0,17.11043,17.11043,0,275,288,274,486,177,178,178,176,, +D,DREGION,,3,"2023/12/14 11:45:00",1,TAS1,0,-40.01,0,-40.01,0,0,1026.65,-2,591.03,0,-435.62,0,,,0,,,,,,,,31,,,,,,,,21.02,,,,,,,,10.71,,,,,,,,110.7,,,,,,,,110.7,,,,,,-10.90007,2405.68223,0,1039.5498,1026.65,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,1.75,1.75,0,0,0,0,53.61,53.61,0,187.108696,223.814815,142.664681,123.305007,21.017360,58.483361,48.270339,49.999995,, +D,DREGION,,3,"2023/12/14 11:45:00",1,VIC1,0,-54.25,0,-54.25,0,0,3584.51,-18,3262.77,183,-504.74,0,,,71.25,,,,,,,,71.25,,,,,,,,97.25,,,,,,,,96,,,,,,,,96,,,,,,,,96,,,,,,-11.3744,9226.47819,425,3771.75928,3781.89,,59,,,,85,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,1,1,0,0.39,0.39,0,1.84,1.84,0,0.39,0.39,0,17.11043,17.11043,0,705,740,732,449.842896,110,110,100,239.218052,, +D,DREGION,,3,"2023/12/14 11:50:00",1,NSW1,0,137.69,0,137.69,0,0,9154.43,46,9180.04,9,16.61,0,,,113,,,,,,,,138.13,,,,,,,,105,,,,,,,,77,,,,,,,,65,,,,,,,,38,,,,,,47.52272,15371.75784,153,9072.63086,9163.32,,50,,,,61,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,425,429,682,418.277513,408,518,449,437.967297,, +D,DREGION,,3,"2023/12/14 11:50:00",1,QLD1,0,-20.5,0,-20.5,0,0,5937.1,25,6857.49,315,605.39,0,,,0,,,,,,,,27,,,,,,,,0,,,,,,,,61,,,,,,,,23.15,,,,,,,,18.77,,,,,,3.62842,11270.63416,365,6210.11426,6256.74,,0,,,,49,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,256,318,132,234.996791,66.428440,86.428440,74.428440,63,, +D,DREGION,,3,"2023/12/14 11:50:00",1,SA1,0,-54.68294,0,-54.68294,0,0,781.81,-16,1110.43,183,145.62,0,,,41.37,,,,,,,,67,,,,,,,,98,,,,,,,,70,,,,,,,,80,,,,,,,,72,,,,,,24.31789,2802.71573,362,957.66907,966.65,,20,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,273,286,275,488.700440,206,207,207,172,, +D,DREGION,,3,"2023/12/14 11:50:00",1,TAS1,0,-40.01,0,-40.01,0,0,1040.07,-2,578.07,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,4.62,,,,,,,,36.79,,,,,,,,136.79,,,,,,,,136.79,,,,,,-0.95257,2383.54293,0,1043.02588,1040.07,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,53.61,53.61,0,187.108696,223.814815,142.664681,114.306237,21.017360,58.483361,48.270339,49.999995,, +D,DREGION,,3,"2023/12/14 11:50:00",1,VIC1,0,-58.25,0,-58.25,0,0,3579,-13,3371.11,81,-288.89,0,,,74.3,,,,,,,,94.3,,,,,,,,98.24,,,,,,,,95,,,,,,,,104,,,,,,,,102,,,,,,-10.20585,9321.36993,424,3755.39648,3670.37,,135.38,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,1.84,1.84,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,696,839,781,331.581330,131.62,131.62,121.62,320.219052,, +D,DREGION,,3,"2023/12/14 11:55:00",1,NSW1,0,137.69,0,137.69,0,0,9128.08,53,9000.13,8,-135.95,0,,,113,,,,,,,,132,,,,,,,,122,,,,,,,,81,,,,,,,,42,,,,,,,,43,,,,,,48.14204,15350.64528,152,9026.875,9134.39,,35,,,,33,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1,1,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,19.06,19.06,0,430,434,686,399.676601,408,518,449,438.008024,, +D,DREGION,,3,"2023/12/14 11:55:00",1,QLD1,0,-10,0,-10,0,0,6028.41,25,6926.72,296.7,601.61,0,,,0,,,,,,,,16.57,,,,,,,,3.76,,,,,,,,61,,,,,,,,71,,,,,,,,63.59,,,,,,-9.41484,11339.79345,365,6328.73486,6329.36,,42.3,,,,25,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1,1,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,19.06,19.06,0,225,248,92,182.996791,83.428440,94.428440,74.428440,81.304420,, +D,DREGION,,3,"2023/12/14 11:55:00",1,SA1,0,-51.89853,0,-51.89853,0,0,765.64,-16,1143.99,195,183.35,0,,,53.18,,,,,,,,91,,,,,,,,90,,,,,,,,72,,,,,,,,81,,,,,,,,73,,,,,,0,2829.24583,362,968.4126,963.57,,50,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1,1,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,19.06,19.06,0,275,288,278,472,169,170,170,160,, +D,DREGION,,3,"2023/12/14 11:55:00",1,TAS1,0,-40.01,0,-40.01,0,0,1047.34,-2,600.42,0,-446.92,0,,,0,,,,,,,,19.29,,,,,,,,19.69,,,,,,,,22.16,,,,,,,,122.16,,,,,,,,122.16,,,,,,-1.11076,2407.03718,0,1050.45349,1047.34,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0,0,0,53.61,53.61,0,187.108696,223.814815,142.624681,121.936247,21.052143,58.523361,48.311365,49.999997,, +D,DREGION,,3,"2023/12/14 11:55:00",1,VIC1,0,-55.85986,0,-55.85986,0,0,3465.75,-13,3490.55,211,-186.21,0,,,61.63,,,,,,,,71.63,,,,,,,,71.63,,,,,,,,66,,,,,,,,66,,,,,,,,66,,,,,,-10.17262,9301.38657,421,3602.80737,3687.13,,63,,,,92,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1,1,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,19.06,19.06,0,705,740,732,516.193664,98,98,88,235.219052,, +D,DREGION,,3,"2023/12/14 12:00:00",1,NSW1,0,137.69,0,137.69,0,0,9211.15,53,9058.54,8,-160.61,0,,,113,,,,,,,,150.17,,,,,,,,125.37,,,,,,,,82,,,,,,,,45,,,,,,,,43,,,,,,40.86409,15434.82705,152,9122.77637,9216.68,,30,,,,66,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,4,4,0,1.19,1.19,0,1,1,0,0.39,0.39,0,3.99,3.99,0,430,435,687,404.420680,408,518,449,432.657468,, +D,DREGION,,3,"2023/12/14 12:00:00",1,QLD1,0,-20.5,0,-20.5,0,0,6021.92,25,6913.72,315,576.8,0,,,27,,,,,,,,20,,,,,,,,27,,,,,,,,61,,,,,,,,91,,,,,,,,48.71,,,,,,-0.17684,11372.43045,365,6296.97314,6340.42,,0,,,,59,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,4,4,0,1.19,1.19,0,1,1,0,0.39,0.39,0,3.99,3.99,0,265,318,132,214.004561,75.428440,86.428440,74.428440,63,, +D,DREGION,,3,"2023/12/14 12:00:00",1,SA1,0,-51.46728,0,-51.46728,0,0,805.09,-11,1110.68,187,118.58,0,,,47.74,,,,,,,,100,,,,,,,,99,,,,,,,,72,,,,,,,,81.65,,,,,,,,73,,,,,,13.09524,2803.04179,362,1000.21423,993.87,,26.38,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,4,4,0,1.19,1.19,0,1,1,0,0.39,0.39,0,3.99,3.99,0,275,288,278,464,200.62,201.62,201.62,168,, +D,DREGION,,3,"2023/12/14 12:00:00",1,TAS1,0,11.05967,0,11.05967,0,0,1064.05,-1,602.05,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,4.62,,,,,,,,37.38,,,,,,,,137.38,,,,,,,,137.38,,,,,,5.22435,2395.30569,0,1059.82837,1064.05,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.54033,2.54033,0,187.108696,223.814815,153.549741,101.117431,25.296533,64.198735,59.176076,50.000005,, +D,DREGION,,3,"2023/12/14 12:00:00",1,VIC1,0,-54.25,0,-54.25,0,0,3504.72,-15,3516.37,72,-60.35,0,,,40,,,,,,,,55,,,,,,,,50,,,,,,,,66,,,,,,,,66,,,,,,,,66,,,,,,6.32344,9330.45826,421,3673.82593,3586.33,,149,,,,15,,,,,,,,,,,,,,,,,,,0,0,0,0.01,0.01,0,0,0,0,4,4,0,1.19,1.19,0,1,1,0,0.39,0.39,0,3.99,3.99,0,665,680,672,323.149780,114,114,104,320.590052,, +D,DREGION,,3,"2023/12/14 12:05:00",1,NSW1,0,137.69,0,137.69,0,0,9292.36,59,9087.42,4,-208.94,0,,,139,,,,,,,,181,,,,,,,,131,,,,,,,,83,,,,,,,,71,,,,,,,,44,,,,,,42.79962,15254.86109,147,9190.22461,9291.71,,40,,,,46.04,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,1.84,1.84,0,4.89,4.89,0,0.17,0.17,0,3.99,3.99,0,431,435,688,333.019207,408,518,449,432.916297,, +D,DREGION,,3,"2023/12/14 12:05:00",1,QLD1,0,-20.5,0,-20.5,0,0,6067.45,21,6892.53,315,510.08,0,,,0,,,,,,,,1.36,,,,,,,,0,,,,,,,,61,,,,,,,,91,,,,,,,,39.86,,,,,,-11.0679,11397.878,365,6355.81201,6384.14,,15.38,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,1.84,1.84,0,4.89,4.89,0,0.17,0.17,0,3.99,3.99,0,265,318,132,234.996791,75.428440,86.428440,74.428440,63,, +D,DREGION,,3,"2023/12/14 12:05:00",1,SA1,0,-50.51488,0,-50.51488,0,0,812.76,-6,1146.13,240,93.38,0,,,36,,,,,,,,63,,,,,,,,90.76,,,,,,,,71,,,,,,,,53.73,,,,,,,,72,,,,,,10.38768,2842.94259,362,997.20276,1053.48,,20,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,1.84,1.84,0,4.89,4.89,0,0.17,0.17,0,3.99,3.99,0,273,286,276,530,133,134,134,102,, +D,DREGION,,3,"2023/12/14 12:05:00",1,TAS1,0,-40.01,0,-40.01,0,0,1050.91,0,588.91,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.64,,,,,,,,136.64,,,,,,,,136.64,,,,,,5.51602,2404.48214,0,1045.39722,1050.91,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,1.84,1.84,0,4.89,4.89,0,0,0,0,54.61,54.61,0,187.108696,223.814815,142.744681,114.454927,20.947795,58.403361,48.188288,50,, +D,DREGION,,3,"2023/12/14 12:05:00",1,VIC1,0,-52.69,0,-52.69,0,0,3524.21,-5,3658.85,61,73.64,0,,,48.17,,,,,,,,79,,,,,,,,79,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,10.70205,9308.93493,421,3632.13403,3593.6,,130,,,,39.96,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,1.84,1.84,0,4.89,4.89,0,0.17,0.17,0,3.99,3.99,0,694,837,779,345.592407,143,143,133,326.215052,, +D,DREGION,,3,"2023/12/14 12:10:00",1,NSW1,0,137.69,0,137.69,0,0,9531.43,68,9152.61,4,-382.82,0,,,130.67,,,,,,,,161,,,,,,,,131,,,,,,,,82,,,,,,,,71,,,,,,,,21.55,,,,,,38.32835,15136.12112,147,9426.28809,9533.36,,40,,,,63.07,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,1.83,1.83,0,1.84,1.84,0,0.15,0.15,0,3.99,3.99,0,374.272520,378.272520,630.272520,358.859496,408,518,449,424.691211,, +D,DREGION,,3,"2023/12/14 12:10:00",1,QLD1,0,-20.5,0,-20.5,0,0,6078.33,18,6882.42,315,489.09,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,23.96,,,,,,,,78.22,,,,,,,,131,,,,,,0,11350.40066,365,6362.08008,6394.18,,0,,,,33.93,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,1.83,1.83,0,1.84,1.84,0,0.15,0.15,0,3.99,3.99,0,345,460,172,293.910232,75.430930,86.430930,74.430930,63,, +D,DREGION,,3,"2023/12/14 12:10:00",1,SA1,0,-49.45771,0,-49.45771,0,0,793.09,-4,1207.7,226,188.61,0,,,45,,,,,,,,63.75,,,,,,,,72,,,,,,,,72,,,,,,,,39,,,,,,,,73,,,,,,0,2854.93389,362,1030.01294,1020.74,,33.38,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,1.83,1.83,0,1.84,1.84,0,0.15,0.15,0,3.99,3.99,0,275,288,278,521,143,144,144,135,, +D,DREGION,,3,"2023/12/14 12:10:00",1,TAS1,0,-40.01,0,-40.01,0,0,1019.22,-1,557.22,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,-2.19185,2407.17901,0,1022.41589,1019.22,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.83,1.83,0,1.84,1.84,0,0,0,0,54.61,54.61,0,187.108696,223.814815,142.334681,58.1605,21.304317,58.813361,48.608801,49.999996,, +D,DREGION,,3,"2023/12/14 12:10:00",1,VIC1,0,-52.68,0,-52.68,0,0,3535.76,-1,3737.32,19,182.56,0,,,48,,,,,,,,99.17,,,,,,,,96.03,,,,,,,,66,,,,,,,,66,,,,,,,,0,,,,,,18.07429,9296.53365,421,3582.52539,3569.78,,132,,,,53,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,1.83,1.83,0,1.84,1.84,0,0.15,0.15,0,3.99,3.99,0,715,868,810,346.046601,160.127036,160.127036,150.127036,325.217052,, +D,DREGION,,3,"2023/12/14 12:15:00",1,NSW1,0,137.69,0,137.69,0,0,9598.96,76,9104.76,5,-499.2,0,,,118.53,,,,,,,,135.15,,,,,,,,125.15,,,,,,,,82,,,,,,,,71,,,,,,,,44,,,,,,22.88693,15156.49927,148,9502.66113,9605.27,,45.85,,,,66,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,0.77,0.77,0,0.85,0.85,0,0.01,0.01,0,9.88,9.88,0,365,369,621,360.506094,412.153230,522.153230,453.153230,420.044847,, +D,DREGION,,3,"2023/12/14 12:15:00",1,QLD1,0,-10,0,-10,0,0,6102.03,23,6918.33,315,501.29,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,61,,,,,,,,99,,,,,,,,40.35,,,,,,-30.62959,11340.96987,365,6415.92773,6417.82,,30,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,0.77,0.77,0,0.85,0.85,0,0.01,0.01,0,9.88,9.88,0,325,424,172,265,77.002490,88.002490,68.002490,63,, +D,DREGION,,3,"2023/12/14 12:15:00",1,SA1,0,-44.60717,0,-44.60717,0,0,801.68,-2,1227.75,238.78,187.29,0,,,45.22,,,,,,,,61.22,,,,,,,,72.22,,,,,,,,71,,,,,,,,79,,,,,,,,73,,,,,,4.941,2858.63144,362,1029.33887,1042.03,,34.53,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,0.77,0.77,0,0.85,0.85,0,0.01,0.01,0,9.88,9.88,0,275,286,277,535,140.686590,141.686590,141.686590,121,, +D,DREGION,,3,"2023/12/14 12:15:00",1,TAS1,0,-40.01,0,-40.01,0,0,1006.36,-2,544.36,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,-9.89971,2398.68775,0,1018.25671,1006.36,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.77,0.77,0,0.85,0.85,0,0,0,0,54.61,54.61,0,187.108696,223.814815,142.224681,114.157737,21.399969,58.923361,48.721622,49.999996,, +D,DREGION,,3,"2023/12/14 12:15:00",1,VIC1,0,-47.51074,0,-47.51074,0,0,3520.38,2,3845.58,30,295.21,0,,,61,,,,,,,,128.36,,,,,,,,101.66,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,15.29669,9349.10815,421,3534.46167,3569.3,,95,,,,54,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,3.38,3.38,0,0.77,0.77,0,0.85,0.85,0,0.01,0.01,0,9.88,9.88,0,715,868,810,362.182678,188,188,178,325.215052,, +D,DREGION,,3,"2023/12/14 12:20:00",1,NSW1,0,137.69,0,137.69,0,0,9493.45,75,8980.7,5,-517.75,0,,,139,,,,,,,,158,,,,,,,,121,,,,,,,,81,,,,,,,,71,,,,,,,,44,,,,,,0,15303.5368,148,9425.5918,9500.12,,40,,,,87.11,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,365,369,620,337.873368,408,518,449,419.449109,, +D,DREGION,,3,"2023/12/14 12:20:00",1,QLD1,0,0,0,0,0,0,6190.47,25,7037.91,327,520.43,0,,,0,,,,,,,,0,,,,,,,,8,,,,,,,,61,,,,,,,,91,,,,,,,,47.3,,,,,,-34.99638,11286.16273,365,6517.17236,6518.49,,0,,,,38,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,265,319,140,195.221191,85.430930,96.430930,74.430930,51,, +D,DREGION,,3,"2023/12/14 12:20:00",1,SA1,0,-49.74313,0,-49.74313,0,0,783.25,-1,1192.68,236,173.43,0,,,31,,,,,,,,87,,,,,,,,70,,,,,,,,75,,,,,,,,81,,,,,,,,74,,,,,,0,2788.06181,362,1025.3457,1020.38,,29,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,273,285,278,535,128,129,129,121,, +D,DREGION,,3,"2023/12/14 12:20:00",1,TAS1,0,-40.01,0,-40.01,0,0,1044.77,-1,582.77,0,-462,0,,,0,,,,,,,,0,,,,,,,,1,,,,,,,,37.09,,,,,,,,137.08,,,,,,,,137.08,,,,,,-8.84805,2396.90001,0,1054.62048,1044.77,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,56.46,56.46,0,187.108696,226.756148,142.224681,62.858750,21.399969,58.923361,48.721622,49.999996,, +D,DREGION,,3,"2023/12/14 12:20:00",1,VIC1,0,-52.69,0,-52.69,0,0,3293.65,0,3611.34,10,307.69,0,,,53.64,,,,,,,,79.53,,,,,,,,99.73,,,,,,,,65,,,,,,,,65,,,,,,,,65,,,,,,0,9249.00974,422,3347.29614,3321.64,,136.38,,,,14.89,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,640,645,637,212.345428,150.471578,150.471578,140.471578,324.219052,, +D,DREGION,,3,"2023/12/14 12:25:00",1,NSW1,0,137.69,0,137.69,0,0,9539.41,68,9058.87,4,-484.55,0,,,119,,,,,,,,81.69,,,,,,,,71,,,,,,,,80,,,,,,,,70,,,,,,,,43,,,,,,23.52906,15088.81217,147,9451.87109,9543.99,,40,,,,61,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.86,0.86,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,364,368,619,365.200569,338,418,349,345.619087,, +D,DREGION,,3,"2023/12/14 12:25:00",1,QLD1,0,0,0,0,0,0,6203.01,25,7020.47,332,485.46,0,,,10,,,,,,,,10,,,,,,,,0,,,,,,,,61,,,,,,,,121,,,,,,,,40.01,,,,,,-11.92416,11252.48907,365,6516.94385,6535.35,,0,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.86,0.86,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,325,425,180,248.136992,85.430930,96.430930,74.430930,46,, +D,DREGION,,3,"2023/12/14 12:25:00",1,SA1,0,-50.25219,0,-50.25219,0,0,815.95,-1,1169,213,140.05,0,,,38.3,,,,,,,,108,,,,,,,,121,,,,,,,,78,,,,,,,,81,,,,,,,,73,,,,,,11.64434,2827.32949,362,1043.17419,1029.72,,44,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.86,0.86,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,275,288,284,517,135,136,136,145,, +D,DREGION,,3,"2023/12/14 12:25:00",1,TAS1,0,8.16295,0,8.16295,0,0,1064.43,0,602.43,0,-462,0,,,0,,,,,,,,0,,,,,,,,1,,,,,,,,36.94,,,,,,,,136.93,,,,,,,,136.93,,,,,,0.01062,2380.94794,0,1064.41553,1064.43,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.86,0.86,0,0.95,0.95,0,0,0,0,8.28705,8.28705,0,187.108696,255.979650,154.262601,106.670631,34.286802,74.849168,72.078353,50,, +D,DREGION,,3,"2023/12/14 12:25:00",1,VIC1,0,-52.68,0,-52.68,0,0,3401.67,-4,3755.63,14,339.96,0,,,55.93,,,,,,,,123.93,,,,,,,,106.01,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,13.12872,9332.95338,423,3413.31006,3432.91,,121.38,,,,49,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.86,0.86,0,0.95,0.95,0,0.39,0.39,0,3.61,3.61,0,714,867,809,327.328736,143.62,143.62,133.62,327.218052,, +D,DREGION,,3,"2023/12/14 12:30:00",1,NSW1,0,137.69,0,137.69,0,0,9619.01,65,9134.93,4,-488.08,0,,,144,,,,,,,,163,,,,,,,,153,,,,,,,,82,,,,,,,,44,,,,,,,,44,,,,,,30.56192,15197.53174,147,9528.47852,9623.22,,35,,,,61,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,365,369,621,362.099391,413,523,454,423.148038,, +D,DREGION,,3,"2023/12/14 12:30:00",1,QLD1,0,-2.02,0,-2.02,0,0,6260.2,30,7063.61,315,488.41,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,61,,,,,,,,99,,,,,,,,35.35,,,,,,-8.88122,11386.57427,365,6572.48828,6575.32,,0,,,,35,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,325,425,152,241.025392,75.430930,86.430930,74.430930,63,, +D,DREGION,,3,"2023/12/14 12:30:00",1,SA1,0,-47.70506,0,-47.70506,0,0,814.2,1,1192.6,225,153.41,0,,,47,,,,,,,,98.56,,,,,,,,83.86,,,,,,,,80,,,,,,,,81,,,,,,,,73,,,,,,3.39866,2812.53956,362,1026.5769,1039.98,,31,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,275,288,286,526,144,145,145,136,, +D,DREGION,,3,"2023/12/14 12:30:00",1,TAS1,0,-40.01,0,-40.01,0,0,1053.14,-1,591.14,0,-462,0,,,0,,,,,,,,0,,,,,,,,1,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-6.85774,2402.5877,0,1060.99585,1053.14,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,56.46,56.46,0,187.108696,255.697426,177.154681,114.588467,21.460838,58.993361,48.793416,49.999996,, +D,DREGION,,3,"2023/12/14 12:30:00",1,VIC1,0,-50.01,0,-50.01,0,0,3397.09,0,3745.71,22,326.62,0,,,33.4,,,,,,,,62.92,,,,,,,,62.92,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,-6.39094,9306.86973,425,3430.21362,3436.33,,139.38,,,,44,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,3.61,3.61,0,695,838,780,316.554260,150.541535,150.541535,140.541535,329.214052,, +D,DREGION,,3,"2023/12/14 12:35:00",1,NSW1,0,89.03004,0,89.03004,0,0,9642.16,63,9156.69,1,-486.47,0,,,92,,,,,,,,111,,,,,,,,71,,,,,,,,81,,,,,,,,44,,,,,,,,23.25,,,,,,32.16431,15242.82616,148,9549.01758,9643.11,,67,,,,21.04,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,3.52,3.52,0,0.39,0.39,0,3.61,3.61,0,365,369,620,287.458723,311,391,322,319.656016,, +D,DREGION,,3,"2023/12/14 12:35:00",1,QLD1,0,1,0,1,0,0,6311.74,29,7108.63,310.52,486.37,0,,,4.48,,,,,,,,23.48,,,,,,,,9.38,,,,,,,,61,,,,,,,,119,,,,,,,,131,,,,,,-17.75647,11358.90335,365,6614.21533,6622.22,,0,,,,65.96,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,3.52,3.52,0,0.39,0.39,0,3.61,3.61,0,345,460,172,291.161102,64.915890,65.915890,43.915890,67.484960,, +D,DREGION,,3,"2023/12/14 12:35:00",1,SA1,0,-47.91851,0,-47.91851,0,0,822.36,1,1168.66,90,256.3,0,,,36,,,,,,,,83,,,,,,,,113,,,,,,,,64.84,,,,,,,,45.98,,,,,,,,72,,,,,,6.5041,2798.95849,182,1033.06299,916.11,,24,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,3.52,3.52,0,0.39,0.39,0,3.61,3.61,0,273,286,285,324,222,223,223,88,, +D,DREGION,,3,"2023/12/14 12:35:00",1,TAS1,0,-40.01,0,-40.01,0,0,1023.96,0,561.96,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-7.36746,2378.82357,0,1031.32581,1023.96,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,3.52,3.52,0,0,0,0,103.85597,103.85597,0,187.108696,249.852471,165.254671,80.100847,26.591282,64.893371,54.844709,50,, +D,DREGION,,3,"2023/12/14 12:35:00",1,VIC1,0,-52.68,0,-52.68,0,0,3425.19,0,3681.16,23,232.97,0,,,89.91,,,,,,,,104.05,,,,,,,,104.05,,,,,,,,65,,,,,,,,72,,,,,,,,0,,,,,,-3.64628,9266.96866,425,3455.57324,3471.71,,114.38,,,,53,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.73,7.73,0,0.39,0.39,0,3.52,3.52,0,0.39,0.39,0,3.61,3.61,0,715,868,810,349.669555,177.482876,179.482876,169.482876,330.204052,, +D,DREGION,,3,"2023/12/14 12:40:00",1,NSW1,0,100.02,0,100.02,0,0,9662.65,55,9173.34,0,-489.31,0,,,91,,,,,,,,131,,,,,,,,121,,,,,,,,78,,,,,,,,66,,,,,,,,39,,,,,,0,15253.75102,147,9619.19043,9662.6,,57,,,,30.05,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,400,404,661,253.659126,381,491,401,421.542211,, +D,DREGION,,3,"2023/12/14 12:40:00",1,QLD1,0,-2.02,0,-2.02,0,0,6279.61,23,7083.84,315,489.23,0,,,0,,,,,,,,10.47,,,,,,,,0,,,,,,,,61,,,,,,,,10,,,,,,,,25.14,,,,,,-25.97095,11442.92058,365,6594.08789,6594.57,,0,,,,77,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,245,283,140,219.996791,85.428440,96.428440,74.428440,63,, +D,DREGION,,3,"2023/12/14 12:40:00",1,SA1,0,-47.17342,0,-47.17342,0,0,840.61,2,1178.98,29,309.37,0,,,39.99,,,,,,,,79,,,,,,,,76.57,,,,,,,,81,,,,,,,,81,,,,,,,,73,,,,,,12.16146,2812.63935,123,923.37433,874.74,,24,,,,40,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,275,288,287,322,225,226,220,90,, +D,DREGION,,3,"2023/12/14 12:40:00",1,TAS1,0,-40.01,0,-40.01,0,0,1031.09,0,569.09,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-3.86926,2394.92735,0,1034.96069,1031.09,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,57.46,57.46,0,187.108696,255.425204,170.154681,74.666275,27.547795,65.993361,55.972904,49.999996,, +D,DREGION,,3,"2023/12/14 12:40:00",1,VIC1,0,-52.69,0,-52.69,0,0,3423.66,1,3632.89,25,184.23,0,,,88.94,,,,,,,,98.94,,,,,,,,98.94,,,,,,,,66,,,,,,,,66,,,,,,,,66,,,,,,10.31963,9309.39697,425,3457.2478,3475.13,,124.38,,,,22.95,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.61,3.61,0,662,677,669,268.679969,138.62,140.62,130.62,331.202052,, +D,DREGION,,3,"2023/12/14 12:45:00",1,NSW1,0,100.02,0,100.02,0,0,9651.97,48,9178.5,10,-483.47,0,,,91,,,,,,,,131,,,,,,,,84.75,,,,,,,,80,,,,,,,,71,,,,,,,,44,,,,,,42.77483,15198.85274,147,9560.32422,9661.53,,47,,,,30.05,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,8.68,8.68,0,0.39,0.39,0,12.19319,12.19319,0,405,409,669,306.722717,311,391,321,336.442879,, +D,DREGION,,3,"2023/12/14 12:45:00",1,QLD1,0,1,0,1,0,0,6390.06,26,7170.82,298,482.76,0,,,21.79,,,,,,,,22.15,,,,,,,,22,,,,,,,,61,,,,,,,,60.65,,,,,,,,51.72,,,,,,-29.8009,11359.93158,348,6691.65674,6687.79,,45,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,8.68,8.68,0,0.39,0.39,0,12.19319,12.19319,0,345,460,172,246.823122,61.430930,61.430930,41.430930,63,, +D,DREGION,,3,"2023/12/14 12:45:00",1,SA1,0,-44.39563,0,-44.39563,0,0,826.22,2,1217.98,20,371.76,0,,,39,,,,,,,,78,,,,,,,,100,,,,,,,,81,,,,,,,,52,,,,,,,,73,,,,,,14.7213,2848.55573,117,844.65576,853.07,,68,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,8.68,8.68,0,0.39,0.39,0,12.19319,12.19319,0,275,288,287,319,203,204,179,93,, +D,DREGION,,3,"2023/12/14 12:45:00",1,TAS1,0,-40.01,0,-40.01,0,0,1064.01,1,615.39,0,-448.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,26,,,,,,,,126,,,,,,,,126,,,,,,-3.25434,2404.46932,0,1066.26428,1064.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,1.36,1.36,0,0.38,0.38,0,9.11,9.11,0,3,3,0,8.68,8.68,0,0,0,0,80.67,80.67,0,187.108696,223.814815,118.744681,54.091837,29.643447,68.403361,58.444698,50,, +D,DREGION,,3,"2023/12/14 12:45:00",1,VIC1,0,-50.39,0,-50.39,0,0,3438.81,4,3701.59,150,112.78,0,,,68,,,,,,,,88,,,,,,,,88,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,-5.37803,9249.73008,425,3488.9834,3617.89,,32,,,,119.95,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,2.64,2.64,0,3,3,0,8.68,8.68,0,0.39,0.39,0,12.19319,12.19319,0,715,868,810,445.595429,129,131,121,230.208052,, +D,DREGION,,3,"2023/12/14 12:50:00",1,NSW1,0,100,0,100,0,0,9729.03,43,9217.41,10,-521.62,0,,,101,,,,,,,,133.07,,,,,,,,121,,,,,,,,56,,,,,,,,44,,,,,,,,44,,,,,,38.00638,15212.37936,147,9653.18359,9738.99,,45,,,,30.02,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,0.39,0.39,0,0.95,0.95,0,0.3,0.3,0,3.99,3.99,0,405,409,672,309.118285,383,493,413,387.325704,, +D,DREGION,,3,"2023/12/14 12:50:00",1,QLD1,0,86,0,86,0,0,6510.29,32,7271.82,240,521.54,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,61,,,,,,,,27.25,,,,,,,,33.07,,,,,,-9.24341,11310.59544,292,6783.08545,6750.25,,57,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,0.39,0.39,0,0.95,0.95,0,0.3,0.3,0,3.99,3.99,0,305,388,200,150.948346,103.60,103.60,66,123,, +D,DREGION,,3,"2023/12/14 12:50:00",1,SA1,0,-44.15352,0,-44.15352,0,0,795.88,-1,1200.64,14,390.76,0,,,34,,,,,,,,74,,,,,,,,72.67,,,,,,,,65,,,,,,,,78,,,,,,,,71,,,,,,18.11712,2859.33053,118,805.72375,817.12,,94.38,,,,25.98,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,0.39,0.39,0,0.95,0.95,0,0.3,0.3,0,3.99,3.99,0,272,284,283,315,178.62,179.62,153.62,103,, +D,DREGION,,3,"2023/12/14 12:50:00",1,TAS1,0,7.14656,0,7.14656,0,0,1063.52,2,601.52,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-8.1859,2392.43972,0,1069.70874,1063.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.95,0.95,0,0,0,0,10.30344,10.30344,0,187.108696,255.937199,172.259011,81.252031,23.120337,61.307540,53.743397,50,, +D,DREGION,,3,"2023/12/14 12:50:00",1,VIC1,0,-50.39,0,-50.39,0,0,3501.98,7,3759.42,148,109.44,0,,,83.89,,,,,,,,110.48,,,,,,,,100.48,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,1.96169,9347.97124,425,3585.87891,3680.94,,9,,,,114,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,4,4,0,0.39,0.39,0,0.95,0.95,0,0.3,0.3,0,3.99,3.99,0,713,866,808,439.768829,187.478232,189.478232,179.478232,229.205052,, +D,DREGION,,3,"2023/12/14 12:55:00",1,NSW1,0,89.03,0,89.03,0,0,9617.41,38,9159.13,1,-459.29,0,,,91,,,,,,,,131,,,,,,,,121,,,,,,,,82,,,,,,,,70,,,,,,,,43,,,,,,0,15314.08735,148,9591.64063,9617.13,,51.38,,,,33.05,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,3.71,3.71,0,364,368,621,288.735599,386.62,496.62,392.924680,330.789257,, +D,DREGION,,3,"2023/12/14 12:55:00",1,QLD1,0,85.75,0,85.75,0,0,6523.56,37,7220.77,240,457.21,0,,,22,,,,,,,,19.38,,,,,,,,22,,,,,,,,61,,,,,,,,20,,,,,,,,28.46,,,,,,1.72805,11235.75351,290,6724.37646,6762.77,,10,,,,32,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,3.71,3.71,0,325,424,200,188.996791,177.796820,235.196850,146.796820,128.365890,, +D,DREGION,,3,"2023/12/14 12:55:00",1,SA1,0,-44.68292,0,-44.68292,0,0,724.76,-5,1250.73,19,506.97,0,,,49.07,,,,,,,,101,,,,,,,,84.28,,,,,,,,80,,,,,,,,80,,,,,,,,73,,,,,,14.70237,2900.76856,116,744.57324,755.78,,22,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,3.71,3.71,0,275,287,286,316,224,225,198,96,, +D,DREGION,,3,"2023/12/14 12:55:00",1,TAS1,0,7.14656,0,7.14656,0,0,1059.58,1,597.58,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-8.29941,2390.25634,0,1066.87537,1059.58,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.86,0.86,0,0.39,0.39,0,0,0,0,10.30344,10.30344,0,187.108696,255.847646,173.711311,81.158874,22.739315,60.731616,52.278036,50.000001,, +D,DREGION,,3,"2023/12/14 12:55:00",1,VIC1,0,-52.69,0,-52.69,0,0,3527.13,12,3556.31,21,8.17,0,,,58,,,,,,,,68,,,,,,,,68,,,,,,,,65,,,,,,,,65,,,,,,,,65,,,,,,6.05404,9256.90286,422,3683.64526,3589.25,,122,,,,74.95,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,3.71,3.71,0,660,675,667,259.080230,153,155,145,328.580052,, +D,DREGION,,3,"2023/12/14 13:00:00",1,NSW1,0,100.02,0,100.02,0,0,9704.38,37,9209.67,0,-494.7,0,,,91,,,,,,,,142.04,,,,,,,,121,,,,,,,,82,,,,,,,,43,,,,,,,,43,,,,,,12.82705,15183.60357,147,9654.02832,9703.47,,57,,,,59,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,16.73,16.73,0,404,408,665,278.798732,381,491,401,408.233274,, +D,DREGION,,3,"2023/12/14 13:00:00",1,QLD1,0,83.02004,0,83.02004,0,0,6573.99,30,7317.4,240,503.41,0,,,27,,,,,,,,27,,,,,,,,0,,,,,,,,0,,,,,,,,11.18,,,,,,,,30,,,,,,6.97794,11225.44769,290,6775.61816,6813.69,,62.38,,,,0,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,16.73,16.73,0,345,460,200,221.140881,163.430930,234.430930,134.430930,139.394210,, +D,DREGION,,3,"2023/12/14 13:00:00",1,SA1,0,-34.67747,0,-34.67747,0,0,702.4,-8,1250.29,22,525.88,0,,,38.54,,,,,,,,77,,,,,,,,108.14,,,,,,,,81,,,,,,,,81,,,,,,,,73,,,,,,18.48052,2859.95892,115,714.35236,737.03,,48,,,,20,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,16.73,16.73,0,275,287,287,323,218,219,191,92,, +D,DREGION,,3,"2023/12/14 13:00:00",1,TAS1,0,7.14656,0,7.14656,0,0,1056.98,0,594.98,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-4.63871,2386.00943,0,1061.61841,1056.98,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,1,1,0,0,0,0,10.30344,10.30344,0,187.108696,255.529519,172.673711,77.223805,25.318993,63.436228,53.388232,49.999998,, +D,DREGION,,3,"2023/12/14 13:00:00",1,VIC1,0,-41.11,0,-41.11,0,0,3511.3,12,3626.99,135,-19.3,0,,,68,,,,,,,,78,,,,,,,,68,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,4.4337,8966.16474,420,3603.60327,3688.16,,38,,,,91,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,1.5,1.5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,16.73,16.73,0,716,869,811,429.451111,155,174,164,269.209052,, +D,DREGION,,3,"2023/12/14 13:05:00",1,NSW1,0,100,0,100,0,0,9787.94,43,9230.29,10,-567.64,0,,,91,,,,,,,,131,,,,,,,,121,,,,,,,,55,,,,,,,,43,,,,,,,,43,,,,,,12.45055,14993.73575,147,9737.27246,9798.63,,47,,,,30.04,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,401,405,662,296.554894,381,491,401,401.169114,, +D,DREGION,,3,"2023/12/14 13:05:00",1,QLD1,0,94.66969,0,94.66969,0,0,6661.32,32,7470.08,240,568.76,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,61,,,,,,,,30,,,,,,,,37.72,,,,,,-5.05206,11270.88736,290,6872.66064,6901.74,,14,,,,35,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,345,460,200,174.045585,205.219920,281.427810,172.219920,166.325991,, +D,DREGION,,3,"2023/12/14 13:05:00",1,SA1,0,-48.43875,0,-48.43875,0,0,664.21,-10,1179.9,24,491.7,0,,,45.47,,,,,,,,94.89,,,,,,,,80.99,,,,,,,,69,,,,,,,,82,,,,,,,,74,,,,,,15.70852,2850.05799,117,692.50049,699.1,,24,,,,35.96,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,273,286,285,325,220,221,194,92,, +D,DREGION,,3,"2023/12/14 13:05:00",1,TAS1,0,-40.01,0,-40.01,0,0,1038.89,1,576.89,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-4.14868,2390.23355,0,1042.04065,1038.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,57.46,57.46,0,187.108696,255.414704,169.884681,74.399315,27.782577,66.263361,56.249827,49.999996,, +D,DREGION,,3,"2023/12/14 13:05:00",1,VIC1,0,-56.79,0,-56.79,0,0,3442.34,8,3494.22,32,19.88,0,,,87.24,,,,,,,,97.24,,,,,,,,97.24,,,,,,,,65,,,,,,,,74,,,,,,,,72,,,,,,16.65971,8875.46422,419,3540.45508,3513.02,,120.38,,,,69,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,697,850,792,330.674621,219.1992,221.1992,211.1992,323.205052,, +D,DREGION,,3,"2023/12/14 13:10:00",1,NSW1,0,100.02,0,100.02,0,0,9971.82,53,9553.89,11,-428.93,0,,,71,,,,,,,,71,,,,,,,,71,,,,,,,,82,,,,,,,,70,,,,,,,,43,,,,,,17.60184,15025.36211,148,9899.73145,9977.24,,47,,,,35.04,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0,401,405,662,191.278912,311,391,301,350.244325,, +D,DREGION,,3,"2023/12/14 13:10:00",1,QLD1,0,66.11008,0,66.11008,0,0,6695.03,35,7469.85,240,534.83,0,,,0,,,,,,,,23,,,,,,,,0,,,,,,,,0,,,,,,,,0.13,,,,,,,,36.13,,,,,,0,11269.82173,290,6900.24609,6934.44,,8,,,,40.7,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0,345,460,172,222.467682,175.6407,246.6407,144.6407,123,, +D,DREGION,,3,"2023/12/14 13:10:00",1,SA1,0,-45.75747,0,-45.75747,0,0,666.26,-10,1197.09,15,515.83,0,,,57.12,,,,,,,,112,,,,,,,,123,,,,,,,,81,,,,,,,,81,,,,,,,,74,,,,,,17.71508,2835.25291,114,683.10962,693.63,,24,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0,275,287,286,319,225,226,200,99,, +D,DREGION,,3,"2023/12/14 13:10:00",1,TAS1,0,-40.01,0,-40.01,0,0,1059.88,1,597.88,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,0,2395.4294,0,1058.8772,1059.88,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.86,0.86,0,0,0,0,57.46,57.46,0,187.108696,255.381251,169.024671,73.548867,28.530412,67.123371,57.131888,50,, +D,DREGION,,3,"2023/12/14 13:10:00",1,VIC1,0,-54.25,0,-54.25,0,0,3704.85,16,3606.74,19,-117.11,0,,,93.18,,,,,,,,113.54,,,,,,,,101.14,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,23.58504,8950.21644,418,3704.27319,3760.26,,126.38,,,,64.27,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,14.94,14.94,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0,707,860,802,311.770569,231.184440,233.184440,223.184440,323.204052,, +D,DREGION,,3,"2023/12/14 13:15:00",1,NSW1,0,100,0,100,0,0,9943.36,57,9580.36,12,-375,0,,,86,,,,,,,,71,,,,,,,,71,,,,,,,,82,,,,,,,,70,,,,,,,,29.67,,,,,,26.65499,14954.41217,149,9857.04297,9948.39,,46,,,,14.03,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0,401,405,668,236.016839,312,392,317,295.097142,, +D,DREGION,,3,"2023/12/14 13:15:00",1,QLD1,0,54.55008,0,54.55008,0,0,6659.39,37,7394.72,240,495.33,0,,,0,,,,,,,,26,,,,,,,,26,,,,,,,,23.2,,,,,,,,72,,,,,,,,84,,,,,,-22.11219,11158.7999,290,6883.71875,6898.29,,8,,,,21,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0,345,459.103140,172,221.355220,155.430930,226.430930,134.430930,123,, +D,DREGION,,3,"2023/12/14 13:15:00",1,SA1,0,-42.73175,0,-42.73175,0,0,661.23,-9,1168.65,9,498.43,0,,,49,,,,,,,,130,,,,,,,,105.79,,,,,,,,67,,,,,,,,37,,,,,,,,60,,,,,,19.72165,2804.43817,39,676.00555,681.83,,11,,,,57.97,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0,274,286,285,322,240,240,212,108,, +D,DREGION,,3,"2023/12/14 13:15:00",1,TAS1,0,11.1,0,11.1,0,0,1085.37,1,623.37,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,0.12862,2438.99809,0,1084.24121,1085.37,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.86,0.86,0,0.86,0.86,0,0,0,0,3.5,3.5,0,187.108696,252.814815,125.604331,52.624641,44.987116,87.760185,89.166221,59.731590,, +D,DREGION,,3,"2023/12/14 13:15:00",1,VIC1,0,-50.39,0,-50.39,0,0,3762.5,25,3648.39,5,-119.11,0,,,89.2,,,,,,,,95.66,,,,,,,,95.28,,,,,,,,66,,,,,,,,67.67,,,,,,,,73,,,,,,11.89764,8917.28872,418,3771.948,3801.62,,140.38,,,,77,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,3.98,3.98,0,676,829,771,304.490204,188.62,190.62,180.62,325.948052,, +D,DREGION,,3,"2023/12/14 13:20:00",1,NSW1,0,100,0,100,0,0,10082.88,62,9565.28,16,-533.61,0,,,71,,,,,,,,82.56,,,,,,,,71,,,,,,,,55,,,,,,,,43,,,,,,,,70,,,,,,35.70813,14889.7924,150,9987.88574,10097.31,,43,,,,40.02,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.7,3.7,0,401,405,668,322.729306,312,392,302,346.597223,, +D,DREGION,,3,"2023/12/14 13:20:00",1,QLD1,0,54.55,0,54.55,0,0,6723.3,32,7494.36,240,531.06,0,,,0,,,,,,,,22,,,,,,,,9.56,,,,,,,,63,,,,,,,,85,,,,,,,,85,,,,,,-27.18713,11177.13268,290,6956.18994,6962.33,,8,,,,41,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.7,3.7,0,346,448.719112,202,263.244472,176.369070,247.369070,155.369070,123,, +D,DREGION,,3,"2023/12/14 13:20:00",1,SA1,0,-45.99999,0,-45.99999,0,0,639.12,-8,1246.42,31,576.3,0,,,32.14,,,,,,,,107,,,,,,,,107,,,,,,,,58.4,,,,,,,,47.82,,,,,,,,72,,,,,,7.32307,2868.03864,111,662.86469,685.06,,21.38,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.7,3.7,0,273,285,284,327,226.62,226.62,195.62,80,, +D,DREGION,,3,"2023/12/14 13:20:00",1,TAS1,0,11.08,0,11.08,0,0,1094.88,2,632.88,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-0.6132,2448.62356,0,1093.49536,1094.88,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,1,1,0,0,0,0,3.5,3.5,0,187.108696,257.275926,137.102441,71.362337,37.043731,79.919841,89.344987,50.648934,, +D,DREGION,,3,"2023/12/14 13:20:00",1,VIC1,0,-52.69,0,-52.69,0,0,3695.96,23,3686.85,43,-52.11,0,,,118.43,,,,,,,,108.43,,,,,,,,108.43,,,,,,,,65,,,,,,,,74,,,,,,,,22.82,,,,,,-6.70445,9095.24308,418,3722.16187,3786.21,,133,,,,58.98,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.7,3.7,0,716,869,811,371.978302,206.434854,208.434854,198.434854,347.201052,, +D,DREGION,,3,"2023/12/14 13:25:00",1,NSW1,0,137.69,0,137.69,0,0,10213.09,73,9785.44,18,-445.65,0,,,71,,,,,,,,111.98,,,,,,,,71,,,,,,,,82,,,,,,,,43,,,,,,,,43,,,,,,20.77573,15093.35652,147,10130.1875,10225.09,,38,,,,41.81,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,6,6,0,0.39,0.39,0,3.98,3.98,0,401,405,662,226.339137,312,392,302,318.273268,, +D,DREGION,,3,"2023/12/14 13:25:00",1,QLD1,0,-2.02,0,-2.02,0,0,6677.98,30,7502.08,261,563.09,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,70.76,,,,,,,,79.76,,,,,,-9.22991,11288.34586,290,6899.7832,6938.43,,0,,,,41,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,6,6,0,0.39,0.39,0,3.98,3.98,0,337,446,160,264.993582,160.430930,231.430930,129.430930,42.000006,, +D,DREGION,,3,"2023/12/14 13:25:00",1,SA1,0,-43.9369,0,-43.9369,0,0,650.94,-6,1236.15,28,557.21,0,,,47.09,,,,,,,,84,,,,,,,,115,,,,,,,,79,,,,,,,,80,,,,,,,,73,,,,,,7.04389,2848.60188,108,686.40784,693.13,,24,,,,30,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,6,6,0,0.39,0.39,0,3.98,3.98,0,274,286,285,330,228,228,196,80,, +D,DREGION,,3,"2023/12/14 13:25:00",1,TAS1,0,12.24327,0,12.24327,0,0,1082.5,1,620.5,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-5.64426,2425.03848,0,1087.14685,1082.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,6,6,0,0,0,0,3.5,3.5,0,187.108696,253.085657,126.093471,68.386864,44.338708,88.6649,100.573770,56.198166,, +D,DREGION,,3,"2023/12/14 13:25:00",1,VIC1,0,-52.68,0,-52.68,0,0,3782.9,24,3654.59,37,-165.31,0,,,100.17,,,,,,,,120.17,,,,,,,,106.65,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,-17.64985,9210.87215,418,3841.10205,3859.6,,143.38,,,,57.19,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,10,10,0,0.39,0.39,0,6,6,0,0.39,0.39,0,3.98,3.98,0,713,866,808,347.290238,173.62,175.62,165.62,335.197052,, +D,DREGION,,3,"2023/12/14 13:30:00",1,NSW1,0,89.03004,0,89.03004,0,0,10246.43,83,9630.14,0,-616.29,0,,,91,,,,,,,,99,,,,,,,,71,,,,,,,,95,,,,,,,,49.75,,,,,,,,63.75,,,,,,28.4617,15159.92689,147,10142.90918,10246.73,,57,,,,55,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.01,0.01,0,0.26,0.26,0,2.64,2.64,0,2.31,2.31,0,3,3,0,0.39,0.39,0,5.7,5.7,0,401,405,668,321.491778,311,391,321,247.813328,, +D,DREGION,,3,"2023/12/14 13:30:00",1,QLD1,0,49.55,0,49.55,0,0,6705.07,27,7589.17,240,644.1,0,,,22,,,,,,,,22,,,,,,,,22,,,,,,,,64,,,,,,,,87,,,,,,,,87,,,,,,-18.95518,11233.83939,290,6956.11768,6945.97,,35,,,,0,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.01,0.01,0,0.26,0.26,0,2.64,2.64,0,2.31,2.31,0,3,3,0,0.39,0.39,0,5.7,5.7,0,348,463,175,264.993582,158.430930,228.430930,136.430930,119.899034,, +D,DREGION,,3,"2023/12/14 13:30:00",1,SA1,0,-34.85705,0,-34.85705,0,0,666.44,-3,1219.43,41,511.99,0,,,45.19,,,,,,,,105,,,,,,,,105,,,,,,,,72,,,,,,,,83,,,,,,,,72,,,,,,9.08168,2825.24695,111,694.89209,719.52,,44,,,,20,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.01,0.01,0,0.26,0.26,0,2.64,2.64,0,2.31,2.31,0,3,3,0,0.39,0.39,0,5.7,5.7,0,274,286,285,342,208,208,176,70,, +D,DREGION,,3,"2023/12/14 13:30:00",1,TAS1,0,11.08,0,11.08,0,0,1084.48,1,622.48,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-1.42348,2412.97083,0,1084.9021,1084.48,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,2.31,2.31,0,3,3,0,0,0,0,3.5,3.5,0,187.108696,251.392787,124.744681,64.024368,51.828140,98.059076,115.170116,63.439136,, +D,DREGION,,3,"2023/12/14 13:30:00",1,VIC1,0,-41.11,0,-41.11,0,0,3798.19,22,3917.48,144,-24.7,0,,,57.34,,,,,,,,87.34,,,,,,,,93.34,,,,,,,,39.93,,,,,,,,59,,,,,,,,56,,,,,,-15.03419,9173.28482,418,3851.11401,3982.01,,69.38,,,,95,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0.01,0.01,0,0.26,0.26,0,2.64,2.64,0,2.31,2.31,0,3,3,0,0.39,0.39,0,5.7,5.7,0,712,865,807,439.449677,180.335810,198.335810,188.335810,308.199052,, +D,DREGION,,3,"2023/12/14 13:35:00",1,NSW1,0,137.69,0,137.69,0,0,10102.61,74,10356.4,1,252.79,0,,,72,,,,,,,,133.68,,,,,,,,107.88,,,,,,,,38,,,,,,,,38,,,,,,,,38,,,,,,0,15096.1081,148,10034.84863,10097.56,,26,,,,5.04,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,1.19,1.19,0,1,1,0,0.39,0.39,0,6,6,0,356,360,367,155.775657,408,518,428,426.007958,, +D,DREGION,,3,"2023/12/14 13:35:00",1,QLD1,0,49.55,0,49.55,0,0,6634.34,23,7537.51,255,648.17,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,62,,,,,,,,99,,,,,,,,67,,,,,,-17.72616,11199.90151,290,6869.64746,6890.89,,18.38,,,,70,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,1.19,1.19,0,1,1,0,0.39,0.39,0,6,6,0,300.793103,377.777778,170,234.996791,185.428440,266.428440,164.428440,90.030831,, +D,DREGION,,3,"2023/12/14 13:35:00",1,SA1,0,-49.92958,0,-49.92958,0,0,672.58,-1,1192.79,6,514.21,0,,,52.93,,,,,,,,80,,,,,,,,80,,,,,,,,78,,,,,,,,30,,,,,,,,71,,,,,,0,2852.88506,109,732.08411,690.09,,3,,,,40,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,1.19,1.19,0,1,1,0,0.39,0.39,0,6,6,0,272,284,283,302,240,240,208,99,, +D,DREGION,,3,"2023/12/14 13:35:00",1,TAS1,0,11.08,0,11.08,0,0,1083.11,0,621.11,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-0.66365,2414.77737,0,1083.77722,1083.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,1.19,1.19,0,1,1,0,0,0,0,3.5,3.5,0,187.108696,251.443980,124.744681,59.333932,50.282730,95.993227,111.218562,61.472193,, +D,DREGION,,3,"2023/12/14 13:35:00",1,VIC1,0,-58.25,0,-58.25,0,0,3726.49,18,2888.06,78,-916.43,0,,,92.8,,,,,,,,102.8,,,,,,,,104.8,,,,,,,,91,,,,,,,,99.15,,,,,,,,90.15,,,,,,-1.34391,9146.58655,384,3866.13623,3834.22,,158,,,,54.96,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,19.91,19.91,0,1.19,1.19,0,1,1,0,0.39,0.39,0,6,6,0,669,802,744,274.723725,158.798680,158.798680,148.798680,317.194052,, +D,DREGION,,3,"2023/12/14 13:40:00",1,NSW1,0,137.69,0,137.69,0,0,10235.65,69,10529.53,9,284.88,0,,,62,,,,,,,,87.66,,,,,,,,62,,,,,,,,72,,,,,,,,70,,,,,,,,56.9,,,,,,38.62034,15119.10753,147,10115.57422,10232.4,,21,,,,14.05,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,19.91,19.91,0,2.12,2.12,0,3,3,0,0.39,0.39,0,15,15,0,401,405,422,164.817818,338,418,328,334.772847,, +D,DREGION,,3,"2023/12/14 13:40:00",1,QLD1,0,132.03592,0,132.03592,0,0,6817.29,25,7649.05,289,542.76,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,64.9,,,,,,,,87,,,,,,0,11120.546,290,7043.05859,7105.03,,61.54,,,,46,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,19.91,19.91,0,2.12,2.12,0,3,3,0,0.39,0.39,0,15,15,0,348,463,175,166.000001,126.416070,186.416070,100.466580,118.993582,, +D,DREGION,,3,"2023/12/14 13:40:00",1,SA1,0,-51.58365,0,-51.58365,0,0,751.28,6,1201.24,65,384.96,0,,,79.7,,,,,,,,94,,,,,,,,94,,,,,,,,81,,,,,,,,81,,,,,,,,74,,,,,,12.00013,2848.2291,107,744.32776,822.96,,20,,,,40,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,19.91,19.91,0,2.12,2.12,0,3,3,0,0.39,0.39,0,15,15,0,275,287,286,367,197,197,164,42,, +D,DREGION,,3,"2023/12/14 13:40:00",1,TAS1,0,13,0,13,0,0,1085.63,1,623.63,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-2.01729,2406.50432,0,1086.64795,1085.63,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,2.12,2.12,0,3,3,0,0,0,0,3.5,3.5,0,187.108696,251.207264,119.315961,62.226636,57.334370,104.537964,122.746794,67.379101,, +D,DREGION,,3,"2023/12/14 13:40:00",1,VIC1,0,-58.25,0,-58.25,0,0,3726.01,13,3083.38,97,-739.62,0,,,77.58,,,,,,,,135.58,,,,,,,,137.74,,,,,,,,66,,,,,,,,75,,,,,,,,73,,,,,,0,9119.91458,372,3807.63696,3840.81,,102.84,,,,69.95,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,19.91,19.91,0,2.12,2.12,0,3,3,0,0.39,0.39,0,15,15,0,713,866,808,367.267390,164.162220,164.162220,154.162220,266.189052,, +D,DREGION,,3,"2023/12/14 13:45:00",1,NSW1,0,138.98531,0,138.98531,0,0,10349.07,77,10655.48,57,249.41,0,,,40.92,,,,,,,,96.54,,,,,,,,55.65,,,,,,,,72,,,,,,,,70,,,,,,,,70,,,,,,42.41356,15061.25962,147,10217.76074,10397.91,,0,,,,25.01,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16.73,16.73,0,6,6,0,10,10,0,3,3,0,5.7,5.7,0,401,405,422,309.049991,311,391,301,285.454433,, +D,DREGION,,3,"2023/12/14 13:45:00",1,QLD1,0,131.75002,0,131.75002,0,0,6808.35,34,7718.93,289,621.58,0,,,0,,,,,,,,14,,,,,,,,0,,,,,,,,64,,,,,,,,51.46,,,,,,,,60.46,,,,,,0,11160.97296,290,7058.65088,7097.22,,14,,,,35.99,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16.73,16.73,0,6,6,0,10,10,0,3,3,0,5.7,5.7,0,348,412.500010,203,164.694674,147,229.790780,112,118.835731,, +D,DREGION,,3,"2023/12/14 13:45:00",1,SA1,0,-52.40958,0,-52.40958,0,0,777.48,11,1133.82,50,306.34,0,,,70,,,,,,,,75,,,,,,,,75,,,,,,,,81,,,,,,,,81,,,,,,,,74,,,,,,9.61025,2821.70861,112,816.09204,832.11,,59,,,,40,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16.73,16.73,0,6,6,0,10,10,0,3,3,0,5.7,5.7,0,275,287,286,352,179,179,148,62,, +D,DREGION,,3,"2023/12/14 13:45:00",1,TAS1,0,13,0,13,0,0,1086.64,1,624.64,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-3.30122,2410.79561,0,1088.93982,1086.64,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,6,6,0,9.21,9.21,0,0,0,0,3.5,3.5,0,187.108696,251.4493,122.907041,65.748594,54.211692,100.946884,119.063635,62.9141,, +D,DREGION,,3,"2023/12/14 13:45:00",1,VIC1,0,-58.25,0,-58.25,0,0,3795.88,4,3134.98,42,-702.9,0,,,108.46,,,,,,,,126.46,,,,,,,,161.46,,,,,,,,96,,,,,,,,105,,,,,,,,103,,,,,,0,9237.22568,356,3888.66724,3853.97,,132.38,,,,69,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,16.73,16.73,0,6,6,0,10,10,0,3,3,0,5.7,5.7,0,714,867,809,329.468750,215.456728,215.456728,205.456728,260.192052,, +D,DREGION,,3,"2023/12/14 13:50:00",1,NSW1,0,137.69,0,137.69,0,0,10315.72,71,10633.68,21,296.96,0,,,82,,,,,,,,125,,,,,,,,95,,,,,,,,72,,,,,,,,70,,,,,,,,63.72,,,,,,46.20678,15107.56705,149,10243.49219,10330.1,,10,,,,20.87,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,11.68,11.68,0,1.84,1.84,0,1.84,1.84,0,0.39,0.39,0,19.89,19.89,0,361,365,372,193.341812,408,518,428,376.711517,, +D,DREGION,,3,"2023/12/14 13:50:00",1,QLD1,0,54.55,0,54.55,0,0,6763.73,32,7673.15,290,619.42,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,73.72,,,,,,,,87,,,,,,3.82288,11030.05206,290,7016.51465,7053.68,,58,,,,54.13,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,11.68,11.68,0,1.84,1.84,0,1.84,1.84,0,0.39,0.39,0,19.89,19.89,0,318.942840,367.942840,169.942840,229.066431,169.095570,249.095570,149.095570,88.000008,, +D,DREGION,,3,"2023/12/14 13:50:00",1,SA1,0,-52.41478,0,-52.41478,0,0,803.14,13,1146.64,45,298.5,0,,,109.8,,,,,,,,117,,,,,,,,117,,,,,,,,78,,,,,,,,78,,,,,,,,71,,,,,,0.66466,2809.33515,112,849.37451,852.74,,7,,,,30,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,11.68,11.68,0,1.84,1.84,0,1.84,1.84,0,0.39,0.39,0,19.89,19.89,0,273,285,284,340,232,232,202,67,, +D,DREGION,,3,"2023/12/14 13:50:00",1,TAS1,0,13.96911,0,13.96911,0,0,1096.74,1,634.74,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-3.80975,2396.58274,0,1099.54834,1096.74,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,1.36,1.36,0,0.38,0.38,0,10.09,10.09,0,1.84,1.84,0,1.84,1.84,0,0,0,0,3.5,3.5,0,187.108696,238.019266,101.730321,50,72.626231,122.123604,140.783347,87.453384,, +D,DREGION,,3,"2023/12/14 13:50:00",1,VIC1,0,-58.25,0,-58.25,0,0,3717.51,5,3019.24,39,-737.27,0,,,30,,,,,,,,77.79,,,,,,,,82.19,,,,,,,,95,,,,,,,,95,,,,,,,,95,,,,,,-2.16336,9260.82336,358,3769.41699,3774.19,,130.38,,,,65,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0,0,0,11.68,11.68,0,1.84,1.84,0,1.84,1.84,0,0.39,0.39,0,19.89,19.89,0,701,736,728,320.133240,144,144,134,283.948052,, +D,DREGION,,3,"2023/12/14 13:55:00",1,NSW1,0,137.69,0,137.69,0,0,10419.7,66,10718.06,57,241.36,0,,,35,,,,,,,,68.17,,,,,,,,60.27,,,,,,,,112,,,,,,,,88.15,,,,,,,,122,,,,,,50,15483.43116,147,10309.27637,10468.93,,0,,,,35.33,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,11.58,11.58,0,6,6,0,3,3,0,0.39,0.39,0,6,6,0,401,405,422,279.154963,340.712750,420.712750,330.712750,279.047335,, +D,DREGION,,3,"2023/12/14 13:55:00",1,QLD1,0,93.75,0,93.75,0,0,6849.47,28,7724.62,242,633.15,0,,,26,,,,,,,,26,,,,,,,,26,,,,,,,,64,,,,,,,,94,,,,,,,,50,,,,,,17.66887,10952.58278,290,7090.73145,7091.36,,39.38,,,,31.67,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,11.58,11.58,0,6,6,0,3,3,0,0.39,0.39,0,6,6,0,268,323,123,178.114968,197.748820,281.748820,164.748820,158.545696,, +D,DREGION,,3,"2023/12/14 13:55:00",1,SA1,0,-51.64576,0,-51.64576,0,0,832.7,15,1154.97,27,295.27,0,,,78.54,,,,,,,,88,,,,,,,,88,,,,,,,,85,,,,,,,,83,,,,,,,,81,,,,,,6.00478,2833.83558,109,851.76392,863.65,,67,,,,34,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,11.58,11.58,0,6,6,0,3,3,0,0.39,0.39,0,6,6,0,275,286,285,328,192,192,160,82,, +D,DREGION,,3,"2023/12/14 13:55:00",1,TAS1,0,13.96911,0,13.96911,0,0,1101,2,639,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,146.53,,,,,,-5.32297,2405.50827,0,1104.32422,1101,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,1.36,1.36,0,0.38,0.38,0,10.09,10.09,0,6,6,0,3,3,0,0,0,0,3.5,3.5,0,187.108696,242.254534,105.990991,49.999999,68.921301,117.862934,136.413430,80.309429,, +D,DREGION,,3,"2023/12/14 13:55:00",1,VIC1,0,-56.79,0,-56.79,0,0,3781.42,3,3114.76,30,-696.66,0,,,81,,,,,,,,136,,,,,,,,120,,,,,,,,71.52,,,,,,,,75,,,,,,,,80,,,,,,0,9213.38637,360,3823.75513,3826.47,,99,,,,69,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,11.58,11.58,0,6,6,0,3,3,0,0.39,0.39,0,6,6,0,716,869,811,346.785919,172,172,162,274.196052,, +D,DREGION,,3,"2023/12/14 14:00:00",1,NSW1,0,100.02,0,100.02,0,0,10383.48,65,10798.93,58,357.45,0,,,55,,,,,,,,147.55,,,,,,,,95,,,,,,,,112,,,,,,,,70,,,,,,,,88.34,,,,,,0,15633.88894,148,10378.71289,10433.95,,0,,,,39.02,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.26,0.26,0,16.73,16.73,0,1.84,1.84,0,6,6,0,0.39,0.39,0,5.7,5.7,0,401,405,422,267.432607,421,531,443.847720,329.299738,, +D,DREGION,,3,"2023/12/14 14:00:00",1,QLD1,0,42.62,0,42.62,0,0,6852.45,32,7703.29,271,579.85,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,63,,,,,,,,133,,,,,,,,86,,,,,,0,11103.83042,290,7070.87646,7122.21,,18,,,,69.98,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.26,0.26,0,16.73,16.73,0,1.84,1.84,0,6,6,0,0.39,0.39,0,5.7,5.7,0,347,409.699990,202,246.993582,171.486420,251.486420,149.486420,32.000002,, +D,DREGION,,3,"2023/12/14 14:00:00",1,SA1,0,-51.36694,0,-51.36694,0,0,847.92,15,1176.68,19,309.76,0,,,106.59,,,,,,,,92,,,,,,,,123,,,,,,,,87,,,,,,,,81,,,,,,,,74,,,,,,0,2876.35263,110,871.21033,871.12,,40,,,,40,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.26,0.26,0,16.73,16.73,0,1.84,1.84,0,6,6,0,0.39,0.39,0,5.7,5.7,0,275,287,286,321,227,227,195,91,, +D,DREGION,,3,"2023/12/14 14:00:00",1,TAS1,0,11.08,0,11.08,0,0,1091.24,2,629.24,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-10.81426,2422.85652,0,1100.04944,1091.24,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,1.36,1.36,0,0.38,0.38,0,10.09,10.09,0,1.84,1.84,0,6,6,0,0,0,0,7.33911,7.33911,0,187.108696,221.193104,84.744681,49.999999,45.681177,91.466074,111.430607,50,, +D,DREGION,,3,"2023/12/14 14:00:00",1,VIC1,0,-56.79,0,-56.79,0,0,3802.86,6,3062.23,31,-771.63,0,,,60,,,,,,,,80,,,,,,,,75.75,,,,,,,,97.18,,,,,,,,96,,,,,,,,96,,,,,,-11.796,9155.084,362,3856.43359,3851.86,,147.38,,,,21,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.26,0.26,0,16.73,16.73,0,1.84,1.84,0,6,6,0,0.39,0.39,0,5.7,5.7,0,662,677,669,195.113128,151,151,141,283.197052,, +D,DREGION,,3,"2023/12/14 14:05:00",1,NSW1,0,62.75,0,62.75,0,0,10491.78,62,10689.2,57,140.42,0,,,95,,,,,,,,115,,,,,,,,115,,,,,,,,109.97,,,,,,,,70,,,,,,,,94.65,,,,,,50,15674.57757,147,10427.8291,10539.87,,20,,,,21.24,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.01,0.01,0,4.22,4.22,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,15,15,0,467,471,734,332.126959,421,531,471,230.635814,, +D,DREGION,,3,"2023/12/14 14:05:00",1,QLD1,0,59.12768,0,59.12768,0,0,6872.99,33,7804.56,265,666.57,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,102.65,,,,,,,,87,,,,,,2.13283,11178.79204,290,7109.88574,7138.24,,64.38,,,,18,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.01,0.01,0,4.22,4.22,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,15,15,0,336,391,191,211.996791,183.237220,264.563590,162.237220,112.996791,, +D,DREGION,,3,"2023/12/14 14:05:00",1,SA1,0,-49.33144,0,-49.33144,0,0,854.49,15,1169.54,15,300.05,0,,,59.59,,,,,,,,69.26,,,,,,,,92.46,,,,,,,,79,,,,,,,,79,,,,,,,,72,,,,,,10.06674,2849.16506,106,849.56488,873.51,,50,,,,30,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.01,0.01,0,4.22,4.22,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,15,15,0,273,285,284,316,212,212,178,91,, +D,DREGION,,3,"2023/12/14 14:05:00",1,TAS1,0,10.30132,0,10.30132,0,0,1078.99,1,616.99,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-15.69018,2421.61278,0,1093.67786,1078.99,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,1.84,1.84,0,0.86,0.86,0,0,0,0,5.19868,5.19868,0,187.108696,257.302627,131.417181,69.988452,41.813155,85.431901,95.171245,50.000001,, +D,DREGION,,3,"2023/12/14 14:05:00",1,VIC1,0,-54.25,0,-54.25,0,0,3850.58,11,3299.11,85,-636.47,0,,,66.67,,,,,,,,134.67,,,,,,,,86.67,,,,,,,,95,,,,,,,,104,,,,,,,,102,,,,,,-4.34994,9152.78073,363,3885.85156,3948.79,,71,,,,100.76,,,,,,,,,,,,,,,,,,,0.01,0.01,0,0,0,0,0.01,0.01,0,4.22,4.22,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,15,15,0,715,868,810,371.156250,166.602860,166.602860,156.602860,287.197052,, +D,DREGION,,3,"2023/12/14 14:10:00",1,NSW1,0,62.75,0,62.75,0,0,10335.72,56,10571.49,57,178.77,0,,,75,,,,,,,,100.32,,,,,,,,105,,,,,,,,111.05,,,,,,,,70,,,,,,,,104,,,,,,0,15613.11357,147,10330.05859,10379.86,,20,,,,27.27,,,,,,,,,,,,,,,,,,,0.05,0.05,0,0,0,0,0.01,0.01,0,11.68,11.68,0,8.68,8.68,0,6,6,0,0.39,0.39,0,5.7,5.7,0,401,405,667,229.734792,351,431,371,257.447761,, +D,DREGION,,3,"2023/12/14 14:10:00",1,QLD1,0,60.36429,0,60.36429,0,0,6883.48,33,7689.27,257,548.79,0,,,0,,,,,,,,0,,,,,,,,2.42,,,,,,,,64,,,,,,,,113.24,,,,,,,,87,,,,,,0,11023.9533,290,7117.03271,7138.71,,10,,,,42.73,,,,,,,,,,,,,,,,,,,0.05,0.05,0,0,0,0,0.01,0.01,0,11.68,11.68,0,8.68,8.68,0,6,6,0,0.39,0.39,0,5.7,5.7,0,323.273520,372.273520,174.273520,211.996796,201.430930,291.662610,179.430930,120.996791,, +D,DREGION,,3,"2023/12/14 14:10:00",1,SA1,0,-49.06241,0,-49.06241,0,0,839.87,12,1173.93,23,311.06,0,,,70.14,,,,,,,,88,,,,,,,,88,,,,,,,,82,,,,,,,,82,,,,,,,,74.24,,,,,,0,2821.80489,110,851.49731,867.1,,16,,,,30,,,,,,,,,,,,,,,,,,,0.05,0.05,0,0,0,0,0.01,0.01,0,11.68,11.68,0,8.68,8.68,0,6,6,0,0.39,0.39,0,5.7,5.7,0,275,288,287,325,232,232,199,87,, +D,DREGION,,3,"2023/12/14 14:10:00",1,TAS1,0,10.0941,0,10.0941,0,0,1080.69,1,618.69,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,139.38,,,,,,-15.32933,2404.16556,0,1095.02173,1080.69,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,8.68,8.68,0,6,6,0,0,0,0,4.4559,4.4559,0,187.108696,256.840471,154.305921,78.186028,30.230472,70.812117,71.923741,50.000001,, +D,DREGION,,3,"2023/12/14 14:10:00",1,VIC1,0,-54.25,0,-54.25,0,0,3916.81,18,3363.6,21,-574.21,0,,,74.64,,,,,,,,129.64,,,,,,,,99.64,,,,,,,,96,,,,,,,,96,,,,,,,,96,,,,,,0,9165.19676,328,3981.45337,3950.64,,159.38,,,,70,,,,,,,,,,,,,,,,,,,0.05,0.05,0,0,0,0,0.01,0.01,0,11.68,11.68,0,8.68,8.68,0,6,6,0,0.39,0.39,0,5.7,5.7,0,701,736,728,240.883086,176,171,129,259.948052,, +D,DREGION,,3,"2023/12/14 14:15:00",1,NSW1,0,85.97995,0,85.97995,0,0,10528.95,56,10587.4,57,1.45,0,,,95,,,,,,,,115,,,,,,,,115,,,,,,,,85,,,,,,,,57.31,,,,,,,,86,,,,,,21.65727,15638.82976,147,10493.3584,10569.05,,20,,,,21.23,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,5.9,5.9,0,401,405,667,285.172478,421,531,471,297.781332,, +D,DREGION,,3,"2023/12/14 14:15:00",1,QLD1,0,83.50773,0,83.50773,0,0,7018.56,37,7800.88,290,492.32,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,134,,,,,,,,90,,,,,,16.53302,11059.65849,290,7217.8042,7305.5,,12,,,,38,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,5.9,5.9,0,325,374,176,207.996791,149.430930,233.430930,116.430930,90,, +D,DREGION,,3,"2023/12/14 14:15:00",1,SA1,0,-47,0,-47,0,0,850.33,11,1184.45,24,310.13,0,,,32,,,,,,,,96,,,,,,,,93.36,,,,,,,,88,,,,,,,,82,,,,,,,,81,,,,,,12.82757,2853.62037,109,849.93347,882.09,,59,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,5.9,5.9,0,275,288,287,325,201,201,168,85,, +D,DREGION,,3,"2023/12/14 14:15:00",1,TAS1,0,10.0941,0,10.0941,0,0,1073.68,0,611.68,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,146.78,,,,,,-4.48296,2391.48484,0,1078.16028,1073.68,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,1.84,1.84,0,0.86,0.86,0,0,0,0,4.4559,4.4559,0,187.108696,256.881935,148.834251,72.921259,33.143978,74.450761,77.485140,49.999999,, +D,DREGION,,3,"2023/12/14 14:15:00",1,VIC1,0,-53.37931,0,-53.37931,0,0,3918.72,24,3621.51,39,-336.21,0,,,93.22,,,,,,,,106.79,,,,,,,,84.44,,,,,,,,133.73,,,,,,,,105,,,,,,,,113.91,,,,,,7.86778,9196.0456,344,3917.2019,3975.61,,114.38,,,,80.77,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,0.86,0.86,0,0.39,0.39,0,5.9,5.9,0,699,852,794,329.269928,142.62,142.62,132.62,262.201052,, +D,DREGION,,3,"2023/12/14 14:20:00",1,NSW1,0,62.75,0,62.75,0,0,10637.48,61,10650.29,57,-44.19,0,,,75,,,,,,,,115,,,,,,,,92.06,,,,,,,,90.86,,,,,,,,60.65,,,,,,,,86,,,,,,0,15626.78423,147,10616.30273,10678.15,,20,,,,21.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.01,0.01,0,0.3,0.3,0,7.73,7.73,0,6,6,0,8.68,8.68,0,0.39,0.39,0,5.7,5.7,0,401,405,668,286.928781,351,431,371,246.805266,, +D,DREGION,,3,"2023/12/14 14:20:00",1,QLD1,0,63.12575,0,63.12575,0,0,7105.5,43,7734,290,338.5,0,,,0,,,,,,,,7.26,,,,,,,,0,,,,,,,,64,,,,,,,,134,,,,,,,,90,,,,,,11.18732,11283.35666,290,7333.71045,7391.33,,10,,,,28.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.01,0.01,0,0.3,0.3,0,7.73,7.73,0,6,6,0,8.68,8.68,0,0.39,0.39,0,5.7,5.7,0,336,391,191,209.996794,149.430930,233.430930,116.430930,86.999969,, +D,DREGION,,3,"2023/12/14 14:20:00",1,SA1,0,-34.8367,0,-34.8367,0,0,869.2,9,1251.77,19,363.58,0,,,55.48,,,,,,,,100,,,,,,,,100,,,,,,,,88,,,,,,,,86,,,,,,,,81.43,,,,,,9.30005,2831.19387,112,874.45679,905.01,,62,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.01,0.01,0,0.3,0.3,0,7.73,7.73,0,6,6,0,8.68,8.68,0,0.39,0.39,0,5.7,5.7,0,273,286,285,321,204,204,173,93,, +D,DREGION,,3,"2023/12/14 14:20:00",1,TAS1,0,10.57593,0,10.57593,0,0,1078.46,0,616.46,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,146.6,,,,,,-0.45677,2394.04397,0,1078.91345,1078.46,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.61098,7.61098,0,6,6,0,8.68,8.68,0,0,0,0,3.5,3.5,0,187.108696,257.511134,146.384551,83.355009,39.308542,82.126802,89.084032,53.040373,, +D,DREGION,,3,"2023/12/14 14:20:00",1,VIC1,0,-41.11,0,-41.11,0,0,4045.46,27,3944.07,59,-160.39,0,,,93.8,,,,,,,,98.8,,,,,,,,103.8,,,,,,,,135,,,,,,,,104,,,,,,,,120,,,,,,6.52451,9242.65973,329,4039.12354,4143.64,,113.38,,,,90,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.01,0.01,0,0.3,0.3,0,7.73,7.73,0,6,6,0,8.68,8.68,0,0.39,0.39,0,5.7,5.7,0,715,869,811,309.515045,215.768640,228.768640,223.768640,290.168297,, +D,DREGION,,3,"2023/12/14 14:25:00",1,NSW1,0,62.75,0,62.75,0,0,10674.66,68,10565.56,58,-167.1,0,,,95,,,,,,,,145,,,,,,,,115,,,,,,,,86,,,,,,,,53.34,,,,,,,,86,,,,,,4.05169,15644.91073,148,10644.81445,10719.96,,19.38,,,,21.26,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,1.4,1.4,0,0.39,0.39,0,3.99,3.99,0,401,405,668,229.215490,421,531,471,363.542755,, +D,DREGION,,3,"2023/12/14 14:25:00",1,QLD1,0,63.59873,0,63.59873,0,0,7139.38,47,7737.9,290,308.52,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,134,,,,,,,,90,,,,,,-5.095,11261.23352,290,7380.1875,7425.18,,10,,,,41,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,1.4,1.4,0,0.39,0.39,0,3.99,3.99,0,325,374,176,227.908557,149.430930,233.430930,116.430930,88,, +D,DREGION,,3,"2023/12/14 14:25:00",1,SA1,0,-30,0,-30,0,0,843.98,7,1270.07,16,410.1,0,,,51.62,,,,,,,,77,,,,,,,,77,,,,,,,,88,,,,,,,,86,,,,,,,,81,,,,,,12.7665,2857.91108,112,861.44623,880.57,,86,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,1.4,1.4,0,0.39,0.39,0,3.99,3.99,0,275,287,286,318,181,181,151,96,, +D,DREGION,,3,"2023/12/14 14:25:00",1,TAS1,0,10.57593,0,10.57593,0,0,1077.94,0,615.94,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,39.38,,,,,,,,139.38,,,,,,,,146.36,,,,,,-1.64762,2402.80498,0,1079.58984,1077.94,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.61098,7.61098,0,1.84,1.84,0,1.4,1.4,0,0,0,0,3.5,3.5,0,187.108696,257.430307,155.498921,88.716677,33.104436,74.653931,79.272359,53.550238,, +D,DREGION,,3,"2023/12/14 14:25:00",1,VIC1,0,3.00057,0,3.00057,0,0,3964.58,32,3953.13,23,-34.45,0,,,77.1,,,,,,,,99.05,,,,,,,,104.65,,,,,,,,133,,,,,,,,105,,,,,,,,114.35,,,,,,20.80333,8968.20024,325,3979.72363,4038.95,,90,,,,77.74,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.26,0.26,0,10,10,0,1.84,1.84,0,1.4,1.4,0,0.39,0.39,0,3.99,3.99,0,694,848,790,252.889744,204.072575,266.570045,253.072575,330.916802,, +D,DREGION,,3,"2023/12/14 14:30:00",1,NSW1,0,41.75264,0,41.75264,0,0,10680.56,69,10494.67,58,-243.89,0,,,95,,,,,,,,115,,,,,,,,111.24,,,,,,,,95.14,,,,,,,,69,,,,,,,,86,,,,,,0,15557.04515,148,10661.2373,10730.08,,20,,,,27.26,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,14.94,14.94,0,1.19,1.19,0,0.39,0.39,0,0.38,0.38,0,16.76829,16.76829,0,401,405,667,282.820733,421,531,471,365.267052,, +D,DREGION,,3,"2023/12/14 14:30:00",1,QLD1,0,42.62,0,42.62,0,0,7165.69,48,7730.86,290,275.17,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64,,,,,,,,134,,,,,,,,90,,,,,,-15.6878,11344.54992,290,7419.14502,7451.6,,30,,,,56,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,14.94,14.94,0,1.19,1.19,0,0.39,0.39,0,0.38,0.38,0,16.76829,16.76829,0,339.477530,441.067480,194.531670,228,166.002490,260.002490,145.002490,36.000016,, +D,DREGION,,3,"2023/12/14 14:30:00",1,SA1,0,-46.64993,0,-46.64993,0,0,807.71,6,1229.94,12,410.23,0,,,46,,,,,,,,113.64,,,,,,,,78,,,,,,,,89,,,,,,,,83.55,,,,,,,,81,,,,,,0,2898.28116,109,840.82104,840.32,,35,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,14.94,14.94,0,1.19,1.19,0,0.39,0.39,0,0.38,0.38,0,16.76829,16.76829,0,275,288,287,310,238,238,207,97,, +D,DREGION,,3,"2023/12/14 14:30:00",1,TAS1,0,10.08372,0,10.08372,0,0,1036.06,0,588.98,0,-447.08,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,24.46,,,,,,,,124.45,,,,,,,,146.2,,,,,,-0.0767,2408.6699,0,1036.13403,1036.06,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.12075,8.12075,0,1.19,1.19,0,0.39,0.39,0,0,0,0,4.47649,4.47649,0,187.108696,256.406915,185.077381,93.554049,21.467086,59.097531,49.516096,50.000003,, +D,DREGION,,3,"2023/12/14 14:30:00",1,VIC1,0,-6.618,0,-6.618,0,0,4085.01,35,4175.56,22,68.55,0,,,87.15,,,,,,,,96.91,,,,,,,,111.91,,,,,,,,136,,,,,,,,105,,,,,,,,112.8,,,,,,0,9127.9934,314,4116.51709,4161.96,,105.46,,,,56.74,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,14.94,14.94,0,1.19,1.19,0,0.39,0.39,0,0.38,0.38,0,16.76829,16.76829,0,700,844,786,268.202137,187,214,209,331.782354,, +D,DREGION,,3,"2023/12/14 14:35:00",1,NSW1,0,299.99,0,299.99,0,0,10856.02,71,10492.03,24,-387.99,0,,,70,,,,,,,,95.92,,,,,,,,100.32,,,,,,,,98,,,,,,,,69,,,,,,,,81,,,,,,24.10429,15367.86896,58,10817.10156,10872.13,,0,,,,15.26,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,14.94,14.94,0,6,6,0,3,3,0,0.39,0.39,0,4.07968,4.07968,0,396,400,656,251.202997,380,459,379,276.840248,, +D,DREGION,,3,"2023/12/14 14:35:00",1,QLD1,0,301.34777,0,301.34777,0,0,7297.46,47,7912.71,240,375.25,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,68,,,,,,,,130.9,,,,,,,,85.9,,,,,,0,11212.36852,290,7531.19189,7532.62,,14,,,,20,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,14.94,14.94,0,6,6,0,3,3,0,0.39,0.39,0,4.07968,4.07968,0,304.899990,360.899990,160.899990,138.000002,217,333.898420,202,167.996791,, +D,DREGION,,3,"2023/12/14 14:35:00",1,SA1,0,-46.64993,0,-46.64993,0,0,814.03,4,1255.11,29,412.07,0,,,48.01,,,,,,,,86,,,,,,,,86,,,,,,,,91,,,,,,,,89,,,,,,,,93.01,,,,,,18.74067,2881.11762,112,811.79785,863.46,,63,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,14.94,14.94,0,6,6,0,3,3,0,0.39,0.39,0,4.07968,4.07968,0,273,286,285,330,188,188,157,83,, +D,DREGION,,3,"2023/12/14 14:35:00",1,TAS1,0,-40.01,0,-40.01,0,0,1037.27,0,606.65,0,-430.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,13.03,,,,,,,,108,,,,,,,,143.03,,,,,,-1.46058,2423.56941,0,1038.72705,1037.27,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,6,6,0,3,3,0,0,0,0,56.46,56.46,0,186.326087,254.288867,178.302111,124.758651,24.953192,62.560217,53.770411,50.000004,, +D,DREGION,,3,"2023/12/14 14:35:00",1,VIC1,0,-41.11,0,-41.11,0,0,4102.24,37,4207.69,11,94.45,0,,,109.33,,,,,,,,142.33,,,,,,,,114.33,,,,,,,,146,,,,,,,,126.05,,,,,,,,120,,,,,,9.9499,9170.22319,304,4127.33057,4168.71,,97,,,,104.74,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,14.94,14.94,0,6,6,0,3,3,0,0.39,0.39,0,4.07968,4.07968,0,702,856,798,298.406250,168,181,186,273.295677,, +D,DREGION,,3,"2023/12/14 14:40:00",1,NSW1,0,11.63017,0,11.63017,0,0,10845.68,76,10595.31,58,-308.37,0,,,110,,,,,,,,130,,,,,,,,111,,,,,,,,88.01,,,,,,,,73.55,,,,,,,,87,,,,,,0,15553.64757,58,10789.21777,10892.34,,0,,,,21.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.1,0.1,0,0.3,0.3,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,9.85,9.85,0,402,406,668,316.152221,421,530,470,320.736303,, +D,DREGION,,3,"2023/12/14 14:40:00",1,QLD1,0,11.67833,0,11.67833,0,0,7304.66,45,7734.28,50,379.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,57,,,,,,,,126,,,,,,,,85.56,,,,,,-28.71714,11262.20887,50,7522.01416,7349.86,,14,,,,18,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.1,0.1,0,0.3,0.3,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,9.85,9.85,0,340,455,196,230,167.002490,259.727070,153.002490,27.996794,, +D,DREGION,,3,"2023/12/14 14:40:00",1,SA1,0,-50,0,-50,0,0,786.86,2,1231.98,34,411.13,0,,,32,,,,,,,,79.53,,,,,,,,37,,,,,,,,91,,,,,,,,89,,,,,,,,81,,,,,,0,2871.39692,110,837.71399,841.39,,66,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.1,0.1,0,0.3,0.3,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,9.85,9.85,0,275,288,287,331,186,186,155,76,, +D,DREGION,,3,"2023/12/14 14:40:00",1,TAS1,0,-34.10884,0,-34.10884,0,0,1042.03,0,595.34,0,-446.68,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,24.06,,,,,,,,124.06,,,,,,,,143.05,,,,,,-3.38783,2409.6426,0,1045.41553,1042.03,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.3,0.3,0,0.86,0.86,0,0,0,0,50.55884,50.55884,0,186.326087,254.385537,178.764181,113.403647,20.750957,57.727647,48.813929,49.999996,, +D,DREGION,,3,"2023/12/14 14:40:00",1,VIC1,0,-41.11,0,-41.11,0,0,4130.88,36,4157.35,5,21.47,0,,,87,,,,,,,,117.01,,,,,,,,91.3,,,,,,,,150,,,,,,,,105,,,,,,,,121,,,,,,0,9257.36185,342,4156.75,4188.65,,110.06,,,,100.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.1,0.1,0,0.3,0.3,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,9.85,9.85,0,684.230790,828.230790,770.230790,260.818115,170,181.936680,186.936680,317.854302,, +D,DREGION,,3,"2023/12/14 14:45:00",1,NSW1,0,55.79943,0,55.79943,0,0,10941.49,78,10578,58,-421.48,0,,,111,,,,,,,,131,,,,,,,,112.73,,,,,,,,104,,,,,,,,74,,,,,,,,86,,,,,,15.58546,15364.54289,58,10897.15723,10988.55,,20,,,,26.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.3,0.3,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,401,405,668,342.157217,422,531,471,352.814216,, +D,DREGION,,3,"2023/12/14 14:45:00",1,QLD1,0,54.55,0,54.55,0,0,7352.27,52,7920.22,50,517.95,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,68,,,,,,,,133,,,,,,,,89,,,,,,-18.39651,11367.09673,50,7366.0332,7398.29,,12,,,,18,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.3,0.3,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,336,412.584560,188,228.000001,184.002490,287.470820,160.002490,89.996791,, +D,DREGION,,3,"2023/12/14 14:45:00",1,SA1,0,-55,0,-55,0,0,788.13,0,1202.56,6,408.43,0,,,32,,,,,,,,81,,,,,,,,37,,,,,,,,88,,,,,,,,89,,,,,,,,85.08,,,,,,23.66072,2871.37445,107,820.01556,814.93,,63.9,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.3,0.3,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,275,287,286,306,209.098250,209.098250,176.098250,101,, +D,DREGION,,3,"2023/12/14 14:45:00",1,TAS1,0,-32.69621,0,-32.69621,0,0,1049.42,0,610.9,0,-438.52,0,,,0,,,,,,,,1,,,,,,,,0,,,,,,,,15.9,,,,,,,,115.9,,,,,,,,143.34,,,,,,-0.85622,2484.56735,0,1050.276,1049.42,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.34,0.34,0,0.39,0.39,0,0,0,0,49.14621,49.14621,0,186.326087,254.409259,178.794681,122.144717,20.220522,57.117647,48.188288,50,, +D,DREGION,,3,"2023/12/14 14:45:00",1,VIC1,0,-34.3,0,-34.3,0,0,4218.65,33,4214.75,5,-8.9,0,,,84.53,,,,,,,,112.35,,,,,,,,99.83,,,,,,,,140.69,,,,,,,,112.52,,,,,,,,121,,,,,,29.38748,9240.24918,340,4215.27979,4275.24,,86,,,,95.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.3,0.3,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,692.230790,836.230790,778.230790,255.476091,202.825649,243.164439,243.164439,319.948052,, +D,DREGION,,3,"2023/12/14 14:50:00",1,NSW1,0,62.74,0,62.74,0,0,11034.41,83,10507.28,57,-584.12,0,,,90,,,,,,,,130,,,,,,,,121,,,,,,,,104,,,,,,,,88,,,,,,,,86,,,,,,25.64987,15262.84439,57,10974.82129,11084.55,,10,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10.98,10.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,401,405,662,252.390973,421,530,450,364.474461,, +D,DREGION,,3,"2023/12/14 14:50:00",1,QLD1,0,59.84899,0,59.84899,0,0,7383.77,49,8061.94,50,628.17,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,68,,,,,,,,136,,,,,,,,89,,,,,,-23.5336,11417.12719,50,7404.86182,7430.97,,12,,,,38,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10.98,10.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,324,373,176,198.794094,159.002490,257.002490,125.002490,103,, +D,DREGION,,3,"2023/12/14 14:50:00",1,SA1,0,-52.11,0,-52.11,0,0,762.88,1,1220.81,102,355.94,0,,,44.69,,,,,,,,80,,,,,,,,43.59,,,,,,,,91,,,,,,,,91,,,,,,,,85.47,,,,,,14.17676,2894.22724,110,780.89795,882.97,,0,,,,109,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10.98,10.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,273,286,285,404,182,182,150,8,, +D,DREGION,,3,"2023/12/14 14:50:00",1,TAS1,0,36.61141,0,36.61141,0,0,1067.52,1,698.08,0,-369.44,0,,,5,,,,,,,,5,,,,,,,,6.64,,,,,,,,3,,,,,,,,67.22,,,,,,,,143.74,,,,,,-0.39136,2457.70305,0,1066.9126,1067.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,2.5,2.5,0,186.326087,217.592593,76.744681,83.816327,71.834814,123.352941,141.573553,117.878049,, +D,DREGION,,3,"2023/12/14 14:50:00",1,VIC1,0,34.47,0,34.47,0,0,4398.88,38,4425.38,5,21.5,0,,,86.3,,,,,,,,108.5,,,,,,,,78.44,,,,,,,,150.7,,,,,,,,142,,,,,,,,120,,,,,,35.06185,9199.51135,340,4385.17285,4447.49,,138,,,,14,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10.98,10.98,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,719.786672,873.733340,816,166.517297,240.403337,343.738407,294.270057,370.948052,, +D,DREGION,,3,"2023/12/14 14:55:00",1,NSW1,0,62.74,0,62.74,0,0,11101.86,85,10507.38,57,-651.48,0,,,91,,,,,,,,146.61,,,,,,,,122,,,,,,,,103.56,,,,,,,,82.43,,,,,,,,86,,,,,,2.38095,15380.00901,57,11076.75391,11154.16,,10,,,,5.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.15,0.15,0,0.3,0.3,0,5,5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.99,3.99,0,463.822310,467.822310,714.822310,241.365998,422,531,451,361.750721,, +D,DREGION,,3,"2023/12/14 14:55:00",1,QLD1,0,59.943,0,59.943,0,0,7428.03,49,8121.93,50,643.9,0,,,0,,,,,,,,4,,,,,,,,4,,,,,,,,64,,,,,,,,123,,,,,,,,79,,,,,,-16.00328,11652.21931,50,7442.47314,7475.15,,12,,,,18,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.15,0.15,0,0.3,0.3,0,5,5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.99,3.99,0,304,337,176,199.016213,188,296,161,103,, +D,DREGION,,3,"2023/12/14 14:55:00",1,SA1,0,-101.96,0,-101.96,0,0,716.95,-2,1082.19,9,356.24,0,,,73.74,,,,,,,,87,,,,,,,,77.52,,,,,,,,88,,,,,,,,89,,,,,,,,100,,,,,,1.69492,2888.13248,34,794.16608,744.01,,29.68,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.15,0.15,0,0.3,0.3,0,5,5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.99,3.99,0,275,288,287,305,224.944580,224.944580,192.944580,102,, +D,DREGION,,3,"2023/12/14 14:55:00",1,TAS1,0,11.1,0,11.1,0,0,1061.67,1,613.37,0,-448.3,0,,,0,,,,,,,,5,,,,,,,,6.64,,,,,,,,25.68,,,,,,,,125.68,,,,,,,,139.11,,,,,,7.43763,2450.41112,0,1053.23608,1061.67,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,1,1,0,0,0,0,2.5,2.5,0,186.326087,258.037037,126.604331,67.324441,33.292795,74.592201,81.613595,65.612682,, +D,DREGION,,3,"2023/12/14 14:55:00",1,VIC1,0,6.30766,0,6.30766,0,0,4348.11,42,4514.97,5,161.86,0,,,64,,,,,,,,84,,,,,,,,40,,,,,,,,136,,,,,,,,105,,,,,,,,121,,,,,,11.27771,9207.86147,341,4364.95752,4404.85,,140,,,,116.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.15,0.15,0,0.3,0.3,0,5,5,0,0.39,0.39,0,1,1,0,0.39,0.39,0,3.99,3.99,0,705.2327,859.2327,801.2327,291.274506,157,225,213,319.140465,, +D,DREGION,,3,"2023/12/14 15:00:00",1,NSW1,0,62.74,0,62.74,0,0,11120.74,84,10486.93,57,-690.81,0,,,90,,,,,,,,130,,,,,,,,121,,,,,,,,104,,,,,,,,94,,,,,,,,86,,,,,,11.90476,15234.61166,57,11078.86523,11174.12,,10,,,,5.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,1.3053,1.3053,0,429.490270,433.490270,670.490270,299.978291,421,530,450,330.202023,, +D,DREGION,,3,"2023/12/14 15:00:00",1,QLD1,0,59.57874,0,59.57874,0,0,7475.6,48,8210.57,50,684.97,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,65,,,,,,,,130,,,,,,,,86,,,,,,4.63505,11625.8171,50,7469.60303,7523.38,,8,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,1.3053,1.3053,0,332,387,188,229,149.002490,247.002490,125.002490,103,, +D,DREGION,,3,"2023/12/14 15:00:00",1,SA1,0,-99.99,0,-99.99,0,0,696.58,-4,1059.28,11,351.7,0,,,109.29,,,,,,,,111,,,,,,,,80.02,,,,,,,,91,,,,,,,,86,,,,,,,,95.3,,,,,,0,2885.46645,110,729.34387,726.11,,24,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,1.3053,1.3053,0,275,286,285,312,222,222,190,99,, +D,DREGION,,3,"2023/12/14 15:00:00",1,TAS1,0,11.08,0,11.08,0,0,1052.58,1,631.96,0,-420.62,0,,,0,,,,,,,,5,,,,,,,,6.64,,,,,,,,3,,,,,,,,98,,,,,,,,139.1,,,,,,3.06706,2463.17328,0,1048.51636,1052.58,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.86,0.86,0,0.86,0.86,0,0,0,0,2.5,2.5,0,186.326087,255.925926,141.632391,125.866749,36.896618,78.867048,86.826390,57.341154,, +D,DREGION,,3,"2023/12/14 15:00:00",1,VIC1,0,9,0,9,0,0,4415.43,39,4558.44,5,138.02,0,,,30,,,,,,,,81.5,,,,,,,,43,,,,,,,,155.2,,,,,,,,118.41,,,,,,,,120,,,,,,20.82691,9147.85292,343,4408.20459,4471,,122,,,,113.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.26,0.26,0,0.38,0.38,0,5,5,0,0.86,0.86,0,0.86,0.86,0,0.39,0.39,0,1.3053,1.3053,0,702.2327,846.900010,798.2327,241.396253,219,312.332690,275,388.948052,, +D,DREGION,,3,"2023/12/14 15:05:00",1,NSW1,0,55.67233,0,55.67233,0,0,11137.6,82,10706.22,34,-465.38,0,,,91,,,,,,,,131,,,,,,,,122,,,,,,,,104,,,,,,,,108,,,,,,,,86,,,,,,0,15660.54661,58,11103.62891,11160.78,,0,,,,16.67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,4.99,4.99,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,403.477480,407.477480,644.477480,274.323413,422,531,451,328.352852,, +D,DREGION,,3,"2023/12/14 15:05:00",1,QLD1,0,54.75003,0,54.75003,0,0,7640.06,50,8193.72,50,503.66,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,18,,,,,,,,87,,,,,,,,86,,,,,,0,12011.07756,50,7636.21777,7684.89,,6,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,4.99,4.99,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,344,460,200,263.000002,189.604910,297.604910,175,54.972786,, +D,DREGION,,3,"2023/12/14 15:05:00",1,SA1,0,-99.99,0,-99.99,0,0,681.97,-3,1073.15,4,387.18,0,,,64.01,,,,,,,,115.19,,,,,,,,38.84,,,,,,,,90,,,,,,,,90,,,,,,,,89.65,,,,,,-16.1259,2832.11538,103,732.53027,706.93,,27,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,4.99,4.99,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,273,285,284,306,220,220,188,104,, +D,DREGION,,3,"2023/12/14 15:05:00",1,TAS1,0,10.09014,0,10.09014,0,0,1034.53,1,619.58,0,-414.94,0,,,1.68,,,,,,,,8.5,,,,,,,,19.71,,,,,,,,51.88,,,,,,,,93.88,,,,,,,,139.24,,,,,,-2.56771,2472.22856,0,1036.09387,1034.53,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.39,0.39,0,0.86,0.86,0,0.38,0.38,0,4.45986,4.45986,0,186.326087,255.256073,162.320761,135.718996,28.705243,68.459722,69.883397,49.999996,, +D,DREGION,,3,"2023/12/14 15:05:00",1,VIC1,0,9.4199,0,9.4199,0,0,4481.11,37,4533,5,46.89,0,,,69.81,,,,,,,,69.81,,,,,,,,69.81,,,,,,,,149,,,,,,,,142,,,,,,,,120,,,,,,30.37611,9106.74826,342,4465.70508,4538.55,,127,,,,102.33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,4.99,4.99,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,721,843,817,236.269470,261.813983,379.813983,319.813983,373.948052,, +D,DREGION,,3,"2023/12/14 15:10:00",1,NSW1,0,36.07,0,36.07,0,0,11259.1,80,10930.68,56,-384.42,0,,,91,,,,,,,,131,,,,,,,,112,,,,,,,,94,,,,,,,,108,,,,,,,,86,,,,,,30.95238,15660.13113,57,11177.06543,11306.04,,0,,,,10.26,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.38,0.38,0,5.15,5.15,0,387.363950,391.363950,388.363950,303.483787,423,532,452,333.276015,, +D,DREGION,,3,"2023/12/14 15:10:00",1,QLD1,0,36.43404,0,36.43404,0,0,7700.04,58,8119.83,50,369.79,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,18,,,,,,,,87,,,,,,,,86,,,,,,32.25277,12042.15818,50,7655.69092,7744.48,,2,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.38,0.38,0,5.15,5.15,0,344,460,200,275,176.880560,256.880560,154.880560,15.000012,, +D,DREGION,,3,"2023/12/14 15:10:00",1,SA1,0,-66.37,0,-66.37,0,0,673.27,-3,1076.75,3,400.49,0,,,25,,,,,,,,69.97,,,,,,,,30,,,,,,,,92,,,,,,,,92,,,,,,,,90.77,,,,,,-14.29215,2847.8053,100,716.01874,697.94,,44,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.38,0.38,0,5.15,5.15,0,275,287,286,302,217,217,184,103,, +D,DREGION,,3,"2023/12/14 15:10:00",1,TAS1,0,11.08,0,11.08,0,0,1029.47,1,622,0,-407.47,0,,,5.47,,,,,,,,8.5,,,,,,,,0,,,,,,,,60.71,,,,,,,,92.71,,,,,,,,138.95,,,,,,-3.57582,2457.66895,0,1032.04761,1029.47,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.3,0.3,0,0.86,0.86,0,0.38,0.38,0,2.5,2.5,0,186.326087,255.925926,145.525771,119.412156,33.226570,74.503672,81.444258,55.378638,, +D,DREGION,,3,"2023/12/14 15:10:00",1,VIC1,0,10.35428,0,10.35428,0,0,4502.15,36,4592.07,5,84.91,0,,,104.73,,,,,,,,114.73,,,,,,,,108.36,,,,,,,,150,,,,,,,,143,,,,,,,,121,,,,,,26.94116,9116.81307,345,4495.5835,4563.41,,114,,,,108.74,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.3,0.3,0,0.86,0.86,0,0.38,0.38,0,5.15,5.15,0,693.261310,815.261310,789.261310,234.764313,295.730510,413.730510,353.730510,397.568291,, +D,DREGION,,3,"2023/12/14 15:15:00",1,NSW1,0,54.27322,0,54.27322,0,0,11373.78,82,10992.51,32,-413.27,0,,,91,,,,,,,,131,,,,,,,,121.48,,,,,,,,104,,,,,,,,108,,,,,,,,86,,,,,,40.47619,15686.04635,57,11297.94824,11395.6,,10,,,,10.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,387,391,628,261.837008,423,532,452,352.534447,, +D,DREGION,,3,"2023/12/14 15:15:00",1,QLD1,0,54.55,0,54.55,0,0,7714.41,55,8177.68,50,413.27,0,,,0,,,,,,,,0,,,,,,,,2,,,,,,,,20,,,,,,,,88,,,,,,,,88,,,,,,27.58304,12034.97033,50,7676.16992,7758.61,,14,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,335,444,187,275.219312,158.827330,228.827330,124.827330,86.997510,, +D,DREGION,,3,"2023/12/14 15:15:00",1,SA1,0,-66.37,0,-66.37,0,0,683.82,-1,1090.73,4,402.91,0,,,39.45,,,,,,,,86.83,,,,,,,,30,,,,,,,,92,,,,,,,,92,,,,,,,,90.3,,,,,,-4.15993,2804.20554,100,711.63062,709.25,,24,,,,35.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,275,287,286,306,217,217,184,103,, +D,DREGION,,3,"2023/12/14 15:15:00",1,TAS1,0,11.08,0,11.08,0,0,1052.98,1,646.5,0,-406.48,0,,,8,,,,,,,,8.5,,,,,,,,0,,,,,,,,50.44,,,,,,,,93.32,,,,,,,,139.02,,,,,,-3.87238,2464.98354,0,1055.85229,1052.98,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.34,0.34,0,0.39,0.39,0,0.39,0.39,0,2.5,2.5,0,186.326087,255.925926,128.994661,120.068963,37.961610,80.555371,91.501666,63.711392,, +D,DREGION,,3,"2023/12/14 15:15:00",1,VIC1,0,10.35428,0,10.35428,0,0,4549.97,35,4618.86,5,63.88,0,,,86.7,,,,,,,,96.7,,,,,,,,96.7,,,,,,,,150,,,,,,,,143,,,,,,,,121,,,,,,20.63452,9110.60262,344,4548.26025,4609.83,,112,,,,103,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,5,5,0,0.34,0.34,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,697,819,793,235.403625,286,404,344,391.432854,, +D,DREGION,,3,"2023/12/14 15:20:00",1,NSW1,0,63.53951,0,63.53951,0,0,11431.43,80,10963.23,56,-524.2,0,,,91,,,,,,,,131,,,,,,,,122,,,,,,,,104,,,,,,,,108,,,,,,,,86,,,,,,45.2381,15472.31591,57,11339.06543,11478.07,,10,,,,10.22,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,384.399840,388.399840,615.399840,308.978301,423,532,452,289.614676,, +D,DREGION,,3,"2023/12/14 15:20:00",1,QLD1,0,62.73,0,62.73,0,0,7777.9,53,8328.01,41,509.11,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,21,,,,,,,,89,,,,,,,,89,,,,,,24.62252,12032.74104,50,7744.37598,7813.17,,14,,,,18.78,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,347,459.733333,203,186.047617,228,346.705760,175,175,, +D,DREGION,,3,"2023/12/14 15:20:00",1,SA1,0,-52.11,0,-52.11,0,0,713,0,1123.17,3,407.17,0,,,40.18,,,,,,,,90.13,,,,,,,,29,,,,,,,,90,,,,,,,,89,,,,,,,,87.49,,,,,,5.9723,2804.70347,101,730.89343,736.97,,24,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,273,284,284,302,216,216,182,103,, +D,DREGION,,3,"2023/12/14 15:20:00",1,TAS1,0,10.57593,0,10.57593,0,0,1049.35,1,632.73,0,-416.62,0,,,0,,,,,,,,8.5,,,,,,,,10.48,,,,,,,,54.03,,,,,,,,98.48,,,,,,,,143.99,,,,,,-5.04884,2474.98702,0,1053.39917,1049.35,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.61098,7.61098,0,0.38,0.38,0,0.39,0.39,0,0,0,0,3.5,3.5,0,186.326087,255.475631,151.985351,129.639493,31.844134,72.655681,77.909422,52.409711,, +D,DREGION,,3,"2023/12/14 15:20:00",1,VIC1,0,8.71957,0,8.71957,0,0,4437,32,4527.94,5,85.94,0,,,89.51,,,,,,,,89.51,,,,,,,,89.51,,,,,,,,149,,,,,,,,142,,,,,,,,120,,,,,,12.08136,9079.37115,345,4458.7002,4497.52,,112,,,,111,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.98,3.98,0,685,839,781,258.043427,268.588260,345.983190,326.588260,323.536314,, +D,DREGION,,3,"2023/12/14 15:25:00",1,NSW1,0,86.3768,0,86.3768,0,0,11581.32,82,11108.64,56,-528.68,0,,,112,,,,,,,,131,,,,,,,,122,,,,,,,,104,,,,,,,,108,,,,,,,,86,,,,,,50,15526.95616,57,11503.68848,11627.26,,20,,,,16.23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.75,3.75,0,371.948490,375.948490,608.948490,274.245341,423,532,473,364.637297,, +D,DREGION,,3,"2023/12/14 15:25:00",1,QLD1,0,85.55,0,85.55,0,0,7892.02,58,8446.49,42,512.47,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,21,,,,,,,,86,,,,,,,,89,,,,,,21.62112,12030.05075,50,7848.76074,7927.87,,14,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.75,3.75,0,334.913793,443.877778,203,214.906333,236,358,183,183,, +D,DREGION,,3,"2023/12/14 15:25:00",1,SA1,0,-47,0,-47,0,0,695.1,3,1105.42,4,406.33,0,,,49.96,,,,,,,,105,,,,,,,,32,,,,,,,,92,,,,,,,,91,,,,,,,,81.93,,,,,,14.30065,2765.06618,104,703.22626,720.15,,24,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.75,3.75,0,275,287,286,306,219,219,185,103,, +D,DREGION,,3,"2023/12/14 15:25:00",1,TAS1,0,11.08,0,11.08,0,0,1057.65,1,641.03,0,-416.62,0,,,0,,,,,,,,8.5,,,,,,,,28.54,,,,,,,,46.87,,,,,,,,94,,,,,,,,144.06,,,,,,-4.2486,2462.55817,0,1060.8938,1057.65,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0,0,0,2.5,2.5,0,186.326087,255.925926,131.865391,124.185953,37.537177,79.961967,90.224376,60.392652,, +D,DREGION,,3,"2023/12/14 15:25:00",1,VIC1,0,8.95,0,8.95,0,0,4442.35,20,4534.38,5,87.03,0,,,58,,,,,,,,73.58,,,,,,,,68,,,,,,,,150,,,,,,,,143,,,,,,,,121,,,,,,7.60745,9091.20844,346,4479.45508,4503.03,,102,,,,102.77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,3.75,3.75,0,687.230790,841.230790,783.230790,256.156250,261.661760,331.661760,319.661760,363.728747,, +D,DREGION,,3,"2023/12/14 15:30:00",1,NSW1,0,57.07077,0,57.07077,0,0,11568.26,81,10939.57,21,-649.69,0,,,112,,,,,,,,131,,,,,,,,112.91,,,,,,,,104,,,,,,,,108,,,,,,,,86,,,,,,0,15366.41026,58,11534.44434,11579.55,,10,,,,16.24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,360.937560,364.937560,597.937560,273.249783,422,531,472,354.729662,, +D,DREGION,,3,"2023/12/14 15:30:00",1,QLD1,0,54.75,0,54.75,0,0,7873.05,59,8560.37,0,687.32,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,21,,,,,,,,89,,,,,,,,89,,,,,,0,12137.24139,50,7851.92871,7868.58,,14,,,,34.76,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,327,435.371115,202,255,255,376.598130,203,221.625693,, +D,DREGION,,3,"2023/12/14 15:30:00",1,SA1,0,-47,0,-47,0,0,696.63,5,1108.55,3,408.92,0,,,37,,,,,,,,87.36,,,,,,,,43,,,,,,,,92,,,,,,,,92,,,,,,,,81.65,,,,,,0,2785.30824,102,720.13458,720.42,,17,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,275,287,286,302,230,230,196,103,, +D,DREGION,,3,"2023/12/14 15:30:00",1,TAS1,0,13.95,0,13.95,0,0,1064.71,1,703.89,0,-360.82,0,,,0,,,,,,,,8.5,,,,,,,,0,,,,,,,,35.13,,,,,,,,78.93,,,,,,,,144.29,,,,,,-4.26194,2474.88519,0,1067.96802,1064.71,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,2.5,2.5,0,186.326087,228.801413,88.079441,93.639042,61.978501,112.018181,129.948158,106.543289,, +D,DREGION,,3,"2023/12/14 15:30:00",1,VIC1,0,13.16698,0,13.16698,0,0,4456.21,19,4430.81,5,-30.41,0,,,74.65,,,,,,,,95.59,,,,,,,,95.59,,,,,,,,160,,,,,,,,153,,,,,,,,120,,,,,,0,9038.53643,346,4494.89502,4509.92,,119,,,,89,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.34,0.34,0,0.39,0.39,0,0.3,0.3,0,3.99,3.99,0,710,857.005070,806,202.880009,296.590143,414.585073,354.590143,376.948052,, +D,DREGION,,3,"2023/12/14 15:35:00",1,NSW1,0,299.99,0,299.99,0,0,11691.29,80,11747.95,0,56.67,0,,,139,,,,,,,,131,,,,,,,,142.34,,,,,,,,104,,,,,,,,75.79,,,,,,,,86,,,,,,33.73267,15363.61371,57,11588.92285,11687.02,,59.38,,,,53.75,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.91,19.91,0,0.34,0.34,0,0.86,0.86,0,0.39,0.39,0,10,10,0,313.270140,317.270140,542.406430,205.259738,409,518,449,364.757954,, +D,DREGION,,3,"2023/12/14 15:35:00",1,QLD1,0,273.10796,0,273.10796,0,0,7900.45,54,8869.29,0,968.84,0,,,0,,,,,,,,4.36,,,,,,,,0,,,,,,,,21,,,,,,,,86,,,,,,,,89,,,,,,33.19413,12199.40363,50,7807.5332,7903.01,,57,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.91,19.91,0,0.34,0.34,0,0.86,0.86,0,0.39,0.39,0,10,10,0,290,363.533313,175,85.000006,220,333,168,215,, +D,DREGION,,3,"2023/12/14 15:35:00",1,SA1,0,-54.99998,0,-54.99998,0,0,731.59,8,1146.53,6,408.94,0,,,25.19,,,,,,,,113,,,,,,,,28,,,,,,,,90,,,,,,,,90,,,,,,,,85.73,,,,,,16.24816,2738.29627,101,727.71289,758.39,,47,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.91,19.91,0,0.34,0.34,0,0.86,0.86,0,0.39,0.39,0,10,10,0,273,285,284,308,215,215,181,100,, +D,DREGION,,3,"2023/12/14 15:35:00",1,TAS1,0,-40.01,0,-40.01,0,0,1067.14,1,605.14,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,55.37,,,,,,,,139.38,,,,,,,,144.44,,,,,,-1.3768,2470.24328,0,1067.51721,1067.14,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.34,0.34,0,0.38,0.38,0,0,0,0,56.46,56.46,0,186.874613,259.661379,155.440111,77.159334,27.600673,75.094184,61.673215,50.000001,, +D,DREGION,,3,"2023/12/14 15:35:00",1,VIC1,0,-54.25,0,-54.25,0,0,4512.02,18,3749.47,142,-904.55,0,,,61.16,,,,,,,,71.16,,,,,,,,81.16,,,,,,,,146,,,,,,,,134,,,,,,,,120,,,,,,0,9051.99798,348,4547.49609,4702.82,,42,,,,66.25,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.91,19.91,0,0.34,0.34,0,0.86,0.86,0,0.39,0.39,0,10,10,0,715.582782,868.728478,815,347.3125,279.156311,328.009461,318.009461,258.436623,, +D,DREGION,,3,"2023/12/14 15:40:00",1,NSW1,0,153.28675,0,153.28675,0,0,11711.8,74,11648.49,9,-72.3,0,,,139,,,,,,,,158,,,,,,,,139,,,,,,,,93,,,,,,,,69.17,,,,,,,,75,,,,,,36.47089,15320.24826,10,11609.06641,11725.03,,40,,,,49,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,14.64,14.64,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,308.430170,312.430170,535.430170,234.047011,450,559,500,308.684380,, +D,DREGION,,3,"2023/12/14 15:40:00",1,QLD1,0,136.14,0,136.14,0,0,7992.97,47,9094.96,0,1102,0,,,0,,,,,,,,0,,,,,,,,16,,,,,,,,21,,,,,,,,86,,,,,,,,89,,,,,,38.98063,12144.00574,50,7914.3999,8000.01,,44.38,,,,20,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,14.64,14.64,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,290.599950,338.933283,145.599950,106.629537,271,394,206,225,, +D,DREGION,,3,"2023/12/14 15:40:00",1,SA1,0,-55,0,-55,0,0,746.98,11,1150.51,16,387.52,0,,,29.52,,,,,,,,94.1,,,,,,,,29,,,,,,,,92,,,,,,,,90,,,,,,,,98.07,,,,,,18.69472,2791.32897,104,747.08264,783.24,,47,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,14.64,14.64,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,275,287,286,318,215,215,182,93,, +D,DREGION,,3,"2023/12/14 15:40:00",1,TAS1,0,-40.01,0,-40.01,0,0,1039.49,2,577.49,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,66.36,,,,,,,,139.38,,,,,,,,144.47,,,,,,-7.93299,2481.49589,0,1045.42542,1039.49,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.3,0.3,0,0.38,0.38,0,0,0,0,56.46,56.46,0,186.874613,259.630750,175.738681,90.935684,22.435023,68.237647,48.824186,49.999997,, +D,DREGION,,3,"2023/12/14 15:40:00",1,VIC1,0,-52.68,0,-52.68,0,0,4610.88,28,3809.22,73,-874.65,0,,,53.66,,,,,,,,63.66,,,,,,,,66.63,,,,,,,,144,,,,,,,,140,,,,,,,,118,,,,,,-21.75955,8991.18702,328,4791.58496,4732.9,,74,,,,71,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,14.64,14.64,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,713,866,813,305.312503,251.632653,264.394673,254.394673,248.948052,, +D,DREGION,,3,"2023/12/14 15:45:00",1,NSW1,0,137.69,0,137.69,0,0,11822.04,72,11891.75,10,59.71,0,,,136,,,,,,,,158,,,,,,,,139,,,,,,,,106,,,,,,,,89,,,,,,,,87,,,,,,21.69096,15284.85999,11,11727.8877,11831.7,,40,,,,39,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,7.44,7.44,0,280.779260,284.779260,508.779260,230.473838,409,518,449,315.677465,, +D,DREGION,,3,"2023/12/14 15:45:00",1,QLD1,0,124.27948,0,124.27948,0,0,8095.42,50,9121.66,0,1026.24,0,,,0,,,,,,,,20.57,,,,,,,,12,,,,,,,,21,,,,,,,,77,,,,,,,,77,,,,,,17.22364,12081.54828,50,8031.65918,8098.46,,42,,,,37,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,7.44,7.44,0,295,344.333333,151,188.000007,237,360,206,165,, +D,DREGION,,3,"2023/12/14 15:45:00",1,SA1,0,-59.99,0,-59.99,0,0,760.56,14,1117.26,4,352.7,0,,,23,,,,,,,,56,,,,,,,,29,,,,,,,,92,,,,,,,,92,,,,,,,,125.42,,,,,,5.67006,2803.867,98,769.84943,783.06,,57,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,7.44,7.44,0,275,287,286,306,212,212,179,103,, +D,DREGION,,3,"2023/12/14 15:45:00",1,TAS1,0,-40.01,0,-40.01,0,0,1045.32,2,583.32,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,84.2,,,,,,,,146.46,,,,,,,,144.98,,,,,,-5.71658,2464.55247,0,1049.04041,1045.32,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.3,0.3,0,0.38,0.38,0,0,0,0,56.46,56.46,0,186.874613,259.398194,173.644681,80.296854,27.635023,74.217647,54.957519,49.999998,, +D,DREGION,,3,"2023/12/14 15:45:00",1,VIC1,0,-52.68,0,-52.68,0,0,4604.49,30,3721.58,25,-907.91,0,,,65.51,,,,,,,,83.58,,,,,,,,70.72,,,,,,,,116,,,,,,,,123,,,,,,,,90,,,,,,0,8882.45357,320,4687.84619,4677.04,,66.38,,,,53,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,7.44,7.44,0,713.044824,866.806030,815,300.114319,251.580182,241.580182,231.580182,256.854302,, +D,DREGION,,3,"2023/12/14 15:50:00",1,NSW1,0,-19.91211,0,-19.91211,0,0,11900.7,72,12775.02,10,864.32,0,,,139,,,,,,,,158,,,,,,,,139,,,,,,,,96,,,,,,,,90,,,,,,,,87,,,,,,27.34886,15434.42025,59,11809.36328,11916.83,,40,,,,24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,5.7,5.7,0,257.264710,262.264710,239.264710,209.970788,449,558,499,324.910366,, +D,DREGION,,3,"2023/12/14 15:50:00",1,QLD1,0,-20.5,0,-20.5,0,0,8180.97,58,8620.9,0,439.93,0,,,0,,,,,,,,14.3,,,,,,,,31,,,,,,,,21,,,,,,,,89,,,,,,,,89,,,,,,6.57056,12034.85366,50,8118.31104,8182.67,,0,,,,52,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,5.7,5.7,0,347,421.999960,203,281,256,379,209,60.000013,, +D,DREGION,,3,"2023/12/14 15:50:00",1,SA1,0,-59.99,0,-59.99,0,0,768.92,16,1126.74,7,350.82,0,,,22,,,,,,,,67,,,,,,,,27,,,,,,,,90,,,,,,,,90,,,,,,,,114.09,,,,,,-4.97365,2788.60029,103,780.37939,794.63,,97,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,5.7,5.7,0,273,285,284,309,170,170,139,102,, +D,DREGION,,3,"2023/12/14 15:50:00",1,TAS1,0,-40.01,0,-40.01,0,0,1045.99,2,583.99,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,93.92,,,,,,,,144.22,,,,,,,,145.13,,,,,,-2.13166,2473.98608,0,1046.1167,1045.99,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.3,0.3,0,0.38,0.38,0,0,0,0,56.46,56.46,0,186.874613,259.430083,174.464681,81.185684,26.921980,73.397647,54.116493,49.999997,, +D,DREGION,,3,"2023/12/14 15:50:00",1,VIC1,0,-52.69,0,-52.69,0,0,4648.96,29,3565.77,24,-1107.19,0,,,59.53,,,,,,,,74.92,,,,,,,,55.33,,,,,,,,116,,,,,,,,112,,,,,,,,90,,,,,,-16.0569,8947.96217,319,4711.03369,4732.3,,68.38,,,,63,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,10,10,0,0.3,0.3,0,0.86,0.86,0,0.3,0.3,0,5.7,5.7,0,707.501770,860.877213,811,293.958069,184,174,164,253.205052,, +D,DREGION,,3,"2023/12/14 15:55:00",1,NSW1,0,-36.51401,0,-36.51401,0,0,11899.79,70,13464.38,10,1554.6,0,,,92,,,,,,,,132,,,,,,,,122,,,,,,,,96,,,,,,,,90,,,,,,,,87,,,,,,0,15556.757,60,11857.10352,11953.43,,48,,,,7.48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,275.531310,280.531310,257.531310,207.708424,422,532,452,309.639168,, +D,DREGION,,3,"2023/12/14 15:55:00",1,QLD1,0,-40.6,0,-40.6,0,0,8214.99,60,8266.21,0,51.22,0,,,28,,,,,,,,28,,,,,,,,36,,,,,,,,21,,,,,,,,86,,,,,,,,89,,,,,,-12.64976,12133.50985,50,8171.01221,8229.59,,0,,,,57.52,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,347,462,203,285,261,384,210,60.000007,, +D,DREGION,,3,"2023/12/14 15:55:00",1,SA1,0,-55,0,-55,0,0,777.85,16,1191.74,8,405.89,0,,,50.24,,,,,,,,69,,,,,,,,37.43,,,,,,,,89,,,,,,,,87,,,,,,,,88.11,,,,,,-3.83732,2807.87328,112,802.39935,807.06,,72.38,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,272,284,283,302,196.62,196.62,166.62,103,, +D,DREGION,,3,"2023/12/14 15:55:00",1,TAS1,0,-40.01,0,-40.01,0,0,1054.49,3,592.49,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,4.62,,,,,,,,73.96,,,,,,,,139.38,,,,,,,,145.12,,,,,,-2.46747,2471.68375,0,1053.95813,1054.49,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,56.46,56.46,0,186.874613,259.547917,175.632181,88.912214,24.287197,70.367647,51.008801,49.999994,, +D,DREGION,,3,"2023/12/14 15:55:00",1,VIC1,0,-56.79,0,-56.79,0,0,4708.2,31,3343.28,21,-1385.92,0,,,50,,,,,,,,85.18,,,,,,,,50,,,,,,,,147,,,,,,,,133.13,,,,,,,,114,,,,,,-3.0083,8839.62591,319,4774.10498,4813.53,,85,,,,64,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.86,0.86,0,0.39,0.39,0,3.99,3.99,0,693.711396,728.889245,730,191.406253,144,134,129,267.198052,, +D,DREGION,,3,"2023/12/14 16:00:00",1,NSW1,0,-23.37255,0,-23.37255,0,0,11751.64,52,13605.71,41,1813.07,0,,,92,,,,,,,,159.1,,,,,,,,116.98,,,,,,,,96,,,,,,,,90,,,,,,,,87,,,,,,0,15674.40869,61,11755.74414,11853.92,,35,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16,16,0,0.34,0.34,0,1,1,0,0.39,0.39,0,15.41,15.41,0,260.873480,265.873480,242.873480,228.739494,423,533,453,275.880194,, +D,DREGION,,3,"2023/12/14 16:00:00",1,QLD1,0,-26.8,0,-26.8,0,0,8264.15,56,8186.1,33,-111.05,0,,,0,,,,,,,,0,,,,,,,,24,,,,,,,,21,,,,,,,,89,,,,,,,,89,,,,,,-0.15407,12224.65873,50,8222.11133,8318.45,,21,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16,16,0,0.34,0.34,0,1,1,0,0.39,0.39,0,15.41,15.41,0,347,462,203,278,263,384.775110,181,27.000010,, +D,DREGION,,3,"2023/12/14 16:00:00",1,SA1,0,-54.99999,0,-54.99999,0,0,784.91,17,1195.78,4,406.87,0,,,68.17,,,,,,,,76,,,,,,,,30,,,,,,,,89,,,,,,,,89,,,,,,,,98.18,,,,,,0,2801.09486,104,803.94727,810.03,,87,,,,35.89,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16,16,0,0.34,0.34,0,1,1,0,0.39,0.39,0,15.41,15.41,0,272,284,283,306,179,179,145,100,, +D,DREGION,,3,"2023/12/14 16:00:00",1,TAS1,0,-40.01,0,-40.01,0,0,1063.21,3,601.21,0,-462,0,,,0,,,,,,,,4.62,,,,,,,,0,,,,,,,,76.59,,,,,,,,139.38,,,,,,,,145.2,,,,,,-0.30733,2476.78169,0,1060.51245,1063.21,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.34,0.34,0,0.38,0.38,0,0,0,0,56.46,56.46,0,186.834481,259.358333,175.769681,106.591397,21.763284,67.617647,48.188288,50,, +D,DREGION,,3,"2023/12/14 16:00:00",1,VIC1,0,-54.25,0,-54.25,0,0,4731.1,36,3326.8,47,-1451.31,0,,,60.5,,,,,,,,80.5,,,,,,,,80.5,,,,,,,,147,,,,,,,,131.77,,,,,,,,114,,,,,,0,8791.51349,319,4806.88965,4870,,62.38,,,,86.11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,16,16,0,0.34,0.34,0,1,1,0,0.39,0.39,0,15.41,15.41,0,673,698,700,219.114319,178.323911,168.323911,163.323911,261.205052,, +D,DREGION,,3,"2023/12/14 16:05:00",1,NSW1,0,-68.26591,0,-68.26591,0,0,11972.63,54,13558.27,0,1585.64,0,,,56,,,,,,,,113.72,,,,,,,,86,,,,,,,,89,,,,,,,,84,,,,,,,,82,,,,,,25.11301,15691.68135,49,11972.62695,12019.4,,67,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.25,9.25,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,5.9,5.9,0,259.550850,264.550850,240.550850,188.738466,422,532,452,271.606503,, +D,DREGION,,3,"2023/12/14 16:05:00",1,QLD1,0,-20.5,0,-20.5,0,0,8355.42,59,8192.93,0,-162.49,0,,,17,,,,,,,,17,,,,,,,,31,,,,,,,,22,,,,,,,,89,,,,,,,,116,,,,,,0,12305.21169,50,8346.0332,8379.71,,32,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.25,9.25,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,5.9,5.9,0,347,462,203,258,196.300020,266.570980,93.300020,60.000009,, +D,DREGION,,3,"2023/12/14 16:05:00",1,SA1,0,-66.37,0,-66.37,0,0,798.48,17,1170.83,4,368.35,0,,,64.15,,,,,,,,100,,,,,,,,98.08,,,,,,,,124.68,,,,,,,,151.7,,,,,,,,161,,,,,,0.10588,2788.62842,100,803.94531,822.39,,70,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.25,9.25,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,5.9,5.9,0,270,282,281,290,203,203,168,102,, +D,DREGION,,3,"2023/12/14 16:05:00",1,TAS1,0,-40.01,0,-40.01,0,0,1067.86,3,605.86,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,152.55,,,,,,,,144.83,,,,,,5.98952,2473.62835,0,1058.87329,1067.86,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.11,9.11,0,0.39,0.39,0,0.45,0.45,0,0,0,0,56.46039,56.46039,0,186.874613,259.523028,175.600181,78.346354,24.843719,71.007647,51.665211,49.999997,, +D,DREGION,,3,"2023/12/14 16:05:00",1,VIC1,0,-46.46,0,-46.46,0,0,4800.78,41,3697.64,69,-1172.14,0,,,83,,,,,,,,88,,,,,,,,35,,,,,,,,92,,,,,,,,62,,,,,,,,35.42,,,,,,17.38079,8801.44159,315,4847.8291,4936.17,,36.38,,,,90,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.25,9.25,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,5.9,5.9,0,688,840,792,404.540666,155.449050,148.449050,143.449050,254.490852,, +D,DREGION,,3,"2023/12/14 16:10:00",1,NSW1,0,-66.6765,0,-66.6765,0,0,11945.12,59,13430.13,10,1475.01,0,,,55,,,,,,,,118.55,,,,,,,,85,,,,,,,,89,,,,,,,,84,,,,,,,,82,,,,,,11.04313,15617.72434,50,11918.51953,11993.74,,52,,,,1,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,16.73,16.73,0,254.682860,260.682860,236.682860,197.763918,421,531,451,287.228106,, +D,DREGION,,3,"2023/12/14 16:10:00",1,QLD1,0,-10,0,-10,0,0,8350.46,58,8302.74,50,-97.72,0,,,0,,,,,,,,0,,,,,,,,35,,,,,,,,21,,,,,,,,89,,,,,,,,89,,,,,,-16.53473,12347.03523,50,8333.03809,8420.96,,6.98,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,16.73,16.73,0,327,442,203,260,238.967460,308.967460,115.100010,10.000002,, +D,DREGION,,3,"2023/12/14 16:10:00",1,SA1,0,-66.67,0,-66.67,0,0,797.19,16,1165.73,4,364.54,0,,,47.62,,,,,,,,74,,,,,,,,48.4,,,,,,,,93,,,,,,,,93,,,,,,,,127.96,,,,,,-6.98156,2816.11583,107,817.32275,820.38,,50,,,,39,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,16.73,16.73,0,275,288,287,306,217,217,185,106,, +D,DREGION,,3,"2023/12/14 16:10:00",1,TAS1,0,-36.91792,0,-36.91792,0,0,1080.39,3,652.8,0,-427.6,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,93.53,,,,,,,,144.46,,,,,,,,144.5,,,,,,4.94291,2464.8234,0,1072.45117,1080.39,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.45,0.45,0,0,0,0,53.36792,53.36792,0,186.834481,259.358333,175.769681,101.507407,21.763284,67.617647,48.188288,50,, +D,DREGION,,3,"2023/12/14 16:10:00",1,VIC1,0,-50.00997,0,-50.00997,0,0,4672.34,36,3556.37,60,-1175.97,0,,,121.61,,,,,,,,131.61,,,,,,,,83.61,,,,,,,,127,,,,,,,,123,,,,,,,,90,,,,,,22.10959,8578.74409,296,4729.63232,4792.3,,62,,,,82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,16.73,16.73,0,643,776,728,303.114319,160,149,144,265.948052,, +D,DREGION,,3,"2023/12/14 16:15:00",1,NSW1,0,-64.98634,0,-64.98634,0,0,12038.79,53,13497.84,0,1459.05,0,,,83,,,,,,,,123,,,,,,,,103,,,,,,,,81,,,,,,,,76,,,,,,,,74,,,,,,22.34997,15711.04399,50,12007.53418,12079.08,,30,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,14.94,14.94,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,258.474550,264.474550,240.474550,215.235422,449,559,479,381.454431,, +D,DREGION,,3,"2023/12/14 16:15:00",1,QLD1,0,5E-05,0,5E-05,0,0,8483.76,57,8379,27,-131.76,0,,,0,,,,,,,,0,,,,,,,,35,,,,,,,,21,,,,,,,,89,,,,,,,,116,,,,,,3.39543,12382.04415,50,8493.32227,8534.3,,3.38,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,14.94,14.94,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,336,445,188,258,154.752670,175.452680,102,10.000001,, +D,DREGION,,3,"2023/12/14 16:15:00",1,SA1,0,-66.37,0,-66.37,0,0,786.77,14,1153.64,0,366.87,0,,,69.89,,,,,,,,76,,,,,,,,30,,,,,,,,93,,,,,,,,99.15,,,,,,,,95.09,,,,,,-11.68804,2852.49435,101,808.35175,806.27,,101,,,,34,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,14.94,14.94,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,275,288,287,302,179,179,147,111,, +D,DREGION,,3,"2023/12/14 16:15:00",1,TAS1,0,-40.01,0,-40.01,0,0,1094.83,3,632.83,0,-462,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,152.69,,,,,,,,144.75,,,,,,10.81543,2464.48709,0,1081.01831,1094.83,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,9.11,9.11,0,0.3,0.3,0,0.39,0.39,0,0,0,0,56.46039,56.46039,0,186.874613,259.654861,175.769681,81.566851,21.895893,67.617647,48.188288,50,, +D,DREGION,,3,"2023/12/14 16:15:00",1,VIC1,0,-46.46,0,-46.46,0,0,4775.44,31,3718.1,32,-1089.34,0,,,70.67,,,,,,,,123.85,,,,,,,,83.11,,,,,,,,124.54,,,,,,,,115,,,,,,,,102,,,,,,20.25,8740.90411,262,4821.66895,4866.93,,71,,,,73,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,14.94,14.94,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,7.73,7.73,0,649,664,666,240.383124,161,150,143,287.071642,, +D,DREGION,,3,"2023/12/14 16:20:00",1,NSW1,0,30.09242,0,30.09242,0,0,12233.22,56,13620.93,0,1387.71,0,,,83,,,,,,,,147.41,,,,,,,,113,,,,,,,,81,,,,,,,,68.39,,,,,,,,74,,,,,,30.73712,15731.25724,50,12177.0625,12254.45,,30,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,12.47,12.47,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,13.95117,13.95117,0,248.707280,254.707280,230.707280,210.843872,449,559,479,369.791977,, +D,DREGION,,3,"2023/12/14 16:20:00",1,QLD1,0,34.55,0,34.55,0,0,8501.13,57,8375.67,7,-132.47,0,,,0,,,,,,,,5,,,,,,,,35,,,,,,,,23,,,,,,,,92,,,,,,,,92,,,,,,18.73499,12422.1465,50,8471.5293,8520.94,,42,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,12.47,12.47,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,13.95117,13.95117,0,328.482759,437.444444,205,258,226.053490,246.053490,143,108.488247,, +D,DREGION,,3,"2023/12/14 16:20:00",1,SA1,0,-52.11,0,-52.11,0,0,808.11,13,1210.01,0,401.9,0,,,43.1,,,,,,,,73,,,,,,,,65.44,,,,,,,,91,,,,,,,,91,,,,,,,,101,,,,,,-8.02678,2909.39792,102,823.52893,829.76,,70,,,,36,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,12.47,12.47,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,13.95117,13.95117,0,273,286,285,302,211,211,181,114,, +D,DREGION,,3,"2023/12/14 16:20:00",1,TAS1,0,-40.01,0,-40.01,0,0,1091.01,4,630.39,0,-460.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,81.09,,,,,,,,138,,,,,,,,144.39,,,,,,3.58523,2471.58518,0,1083.42322,1091.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.45,0.45,0,0,0,0,56.46,56.46,0,186.874613,259.582528,172.384681,96.199837,23.513284,69.477647,50.095981,49.999996,, +D,DREGION,,3,"2023/12/14 16:20:00",1,VIC1,0,-50.00997,0,-50.00997,0,0,4815.33,31,3797.5,62,-1079.83,0,,,95.46,,,,,,,,95.46,,,,,,,,37.46,,,,,,,,146,,,,,,,,142,,,,,,,,120,,,,,,22.48528,8808.06722,246,4836.59961,4938.33,,62,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,12.47,12.47,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,13.95117,13.95117,0,677,830,782,328.3125,137.458178,136.458178,136.458178,233.948052,, +D,DREGION,,3,"2023/12/14 16:25:00",1,NSW1,0,124.52756,0,124.52756,0,0,12322.12,59,13302.67,0,980.55,0,,,83,,,,,,,,123,,,,,,,,113,,,,,,,,81,,,,,,,,76,,,,,,,,74,,,,,,39.12427,15699.53455,50,12238.95508,12319.28,,25,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.19968,4.19968,0,238.157960,244.157960,220.157960,199.608520,409,519,429,349.556717,, +D,DREGION,,3,"2023/12/14 16:25:00",1,QLD1,0,136.14,0,136.14,0,0,8573.71,55,8675.46,1,100.75,0,,,0,,,,,,,,0,,,,,,,,36,,,,,,,,23,,,,,,,,92,,,,,,,,91,,,,,,30.93136,12427.20566,51,8505.90137,8576.28,,16,,,,24.86,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.19968,4.19968,0,318,428,190,167.000002,276,367.926540,131,165,, +D,DREGION,,3,"2023/12/14 16:25:00",1,SA1,0,-52.11,0,-52.11,0,0,807.45,13,1213.51,3,403.06,0,,,26,,,,,,,,84,,,,,,,,33.22,,,,,,,,92,,,,,,,,92,,,,,,,,101.89,,,,,,0.15783,2894.39953,109,817.35529,832,,93,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.19968,4.19968,0,275,287,286,305,187,187,158,114,, +D,DREGION,,3,"2023/12/14 16:25:00",1,TAS1,0,-40.01,0,-40.01,0,0,1092.74,3,651.12,0,-441.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,79.22,,,,,,,,119,,,,,,,,143.51,,,,,,1.11253,2463.75761,0,1088.62781,1092.74,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,57.46,57.46,0,186.763481,258.723278,175.627681,114.045257,23.998241,70.457647,51.101109,49.999996,, +D,DREGION,,3,"2023/12/14 16:25:00",1,VIC1,0,-41.11,0,-41.11,0,0,4915.12,30,3968.22,23,-969.9,0,,,116.2,,,,,,,,117.38,,,,,,,,68.49,,,,,,,,147,,,,,,,,152.4,,,,,,,,121,,,,,,19.48545,8917.63928,216,4955.44238,4990.67,,51,,,,90.14,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,4.19968,4.19968,0,639,772,724,191.138367,149,160,155,276.948052,, +D,DREGION,,3,"2023/12/14 16:30:00",1,NSW1,0,499.37102,0,499.37102,0,0,12349.67,58,12978.3,0,628.63,0,,,83,,,,,,,,123,,,,,,,,103,,,,,,,,81,,,,,,,,71.68,,,,,,,,74,,,,,,0,15702.42226,50,12288.08984,12336.51,,30,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.38115,19.38115,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,236.634040,242.634040,218.634040,166.644894,449,559,479,390.111641,, +D,DREGION,,3,"2023/12/14 16:30:00",1,QLD1,0,136.14,0,136.14,0,0,8614.98,53,8821.4,26,180.42,0,,,0,,,,,,,,0,,,,,,,,36,,,,,,,,23,,,,,,,,89,,,,,,,,91,,,,,,0,12455.70219,51,8566.21582,8640.56,,3.57,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.38115,19.38115,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,329,445,205,141.000004,295.428340,416.828330,158.828330,140,, +D,DREGION,,3,"2023/12/14 16:30:00",1,SA1,0,-64.18599,0,-64.18599,0,0,827.63,13,1199.21,0,371.58,0,,,66.14,,,,,,,,75,,,,,,,,31,,,,,,,,92,,,,,,,,90,,,,,,,,101.11,,,,,,-6.75772,2921.39339,196,850.06152,846.65,,104,,,,52,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.38115,19.38115,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,274,287,286,302,187,187,182,201,, +D,DREGION,,3,"2023/12/14 16:30:00",1,TAS1,0,8.89075,0,8.89075,0,0,1098.7,3,639.51,0,-459.19,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,66.17,,,,,,,,136.57,,,,,,,,143.14,,,,,,4.45509,2448.8217,0,1091.24841,1098.7,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,8.30362,8.30362,0,0.3,0.3,0,0.39,0.39,0,0,0,0,6.84318,6.84318,0,186.874613,259.717286,175.849941,108.991782,22.609540,68.560255,49.929197,50.000002,, +D,DREGION,,3,"2023/12/14 16:30:00",1,VIC1,0,4.46115,0,4.46115,0,0,4783.09,22,4146.5,39,-675.59,0,,,75.95,,,,,,,,127.17,,,,,,,,82.01,,,,,,,,158,,,,,,,,143,,,,,,,,121,,,,,,18.9835,8871.56535,229,4820.68408,4862.5,,65,,,,73,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,19.38115,19.38115,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,659,792,744,168.999997,174,221.568210,216.568210,307.135551,, +D,DREGION,,3,"2023/12/14 16:35:00",1,NSW1,0,189.69969,0,189.69969,0,0,12322.56,48,12971.21,0,648.65,0,,,108,,,,,,,,177.7,,,,,,,,138,,,,,,,,81,,,,,,,,76,,,,,,,,74,,,,,,0,15799.6259,49,12270.37695,12323.69,,10,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,9.98,9.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,7.5,7.5,0,238.157960,244.157960,220.157960,208.272694,369,479,379,309.448496,, +D,DREGION,,3,"2023/12/14 16:35:00",1,QLD1,0,59.53,0,59.53,0,0,8724.08,51,8693.55,17,-47.53,0,,,0,,,,,,,,6,,,,,,,,0,,,,,,,,23,,,,,,,,92,,,,,,,,91,,,,,,45.80029,12081.56055,50,8657.54688,8750.6,,26,,,,27.46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,9.98,9.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,7.5,7.5,0,319,435,205,190.224970,189.300020,291.300020,87.300020,148,, +D,DREGION,,3,"2023/12/14 16:35:00",1,SA1,0,-47,0,-47,0,0,834.48,13,1265.49,0,431.02,0,,,60.44,,,,,,,,75,,,,,,,,58.34,,,,,,,,90,,,,,,,,90,,,,,,,,104.1,,,,,,0,3057.12061,193,843.13641,847.49,,100,,,,42,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,9.98,9.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,7.5,7.5,0,272,285,284,302,189,189,184,204,, +D,DREGION,,3,"2023/12/14 16:35:00",1,TAS1,0,7.60161,0,7.60161,0,0,1095.72,3,638.16,0,-457.56,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,72.03,,,,,,,,134.94,,,,,,,,143.2,,,,,,3.48369,2447.18918,0,1089.23645,1095.72,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.45,0.45,0,0,0,0,8.84839,8.84839,0,186.778231,258.855208,175.657181,102.890417,23.533936,69.867647,50.495981,49.999996,, +D,DREGION,,3,"2023/12/14 16:35:00",1,VIC1,0,0.02,0,0.02,0,0,4831.04,17,4324.42,18,-524.61,0,,,55.93,,,,,,,,65.93,,,,,,,,55.93,,,,,,,,157,,,,,,,,140.36,,,,,,,,121,,,,,,27.90617,8916.21705,210,4834.75879,4875.33,,64.94,,,,85.54,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.3,0.3,0,0.38,0.38,0,9.98,9.98,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,7.5,7.5,0,685,838,790,198.2186,212.926056,314.154996,276.926056,316.948052,, +D,DREGION,,3,"2023/12/14 16:40:00",1,NSW1,0,461.42305,0,461.42305,0,0,12455.63,41,12658.96,0,203.33,0,,,108,,,,,,,,148,,,,,,,,138,,,,,,,,81,,,,,,,,76,,,,,,,,74,,,,,,7.14286,15705.73144,50,12401.55957,12447.23,,25,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,236.133540,242.133540,218.133540,171.364205,449,559,479,313.899355,, +D,DREGION,,3,"2023/12/14 16:40:00",1,QLD1,0,85.75,0,85.75,0,0,8788.77,51,8925.36,1,135.59,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,23,,,,,,,,92,,,,,,,,91,,,,,,44.00642,12212.26021,51,8714.93945,8792,,1,,,,70.51,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,349,465,205,239.355764,276,380.800020,122.800020,268.278744,, +D,DREGION,,3,"2023/12/14 16:40:00",1,SA1,0,-47,0,-47,0,0,840.42,13,1343.47,6,497.06,0,,,56.57,,,,,,,,69,,,,,,,,53.35,,,,,,,,92,,,,,,,,92,,,,,,,,103.08,,,,,,0,3114.0968,212,847.0022,858.47,,97.78,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,274,287,286,308,185.218640,185.218640,180.218640,204,, +D,DREGION,,3,"2023/12/14 16:40:00",1,TAS1,0,10.57593,0,10.57593,0,0,1093.5,3,675.1,0,-418.4,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,68.63,,,,,,,,128.98,,,,,,,,142.9,,,,,,3.70383,2435.50571,0,1086.79785,1093.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.61098,7.61098,0,0.39,0.39,0,0.39,0.39,0,0,0,0,3.5,3.5,0,186.874613,260.740678,129.415831,97.709811,42.510987,94.213744,93.809288,55.854016,, +D,DREGION,,3,"2023/12/14 16:40:00",1,VIC1,0,6.13933,0,6.13933,0,0,4820.8,15,4438.41,5,-387.39,0,,,61.04,,,,,,,,108.96,,,,,,,,61.04,,,,,,,,158,,,,,,,,144,,,,,,,,122,,,,,,9.51991,8816.36002,223,4840.19287,4850.09,,38,,,,44.49,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,703,813.509580,808,154.708529,266.975539,386.975539,330.975539,369,, +D,DREGION,,3,"2023/12/14 16:45:00",1,NSW1,0,501.8912,0,501.8912,0,0,12464.41,35,12484.92,5,15.52,0,,,108,,,,,,,,148,,,,,,,,138,,,,,,,,79,,,,,,,,74,,,,,,,,72,,,,,,0,15607.55354,52,12418.14941,12460.69,,10,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,234,240,216,171.332150,409,519,429,292.452556,, +D,DREGION,,3,"2023/12/14 16:45:00",1,QLD1,0,114.8,0,114.8,0,0,8990.13,50,9202.33,7,205.2,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,23,,,,,,,,92,,,,,,,,91,,,,,,45.00535,12028.57565,57,8895.28613,8997.36,,1,,,,64.31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,349,419.902188,205,250.395554,266,379,132,277.187432,, +D,DREGION,,3,"2023/12/14 16:45:00",1,SA1,0,-35,0,-35,0,0,861.52,14,1405.02,6,537.5,0,,,48.47,,,,,,,,83,,,,,,,,47.46,,,,,,,,92,,,,,,,,92,,,,,,,,105.64,,,,,,0,3112.65233,218,861.00366,880.47,,91,,,,37.69,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,274,287,286,308,192,192,187,210,, +D,DREGION,,3,"2023/12/14 16:45:00",1,TAS1,0,12.24327,0,12.24327,0,0,1094.57,2,677.95,0,-416.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,71.85,,,,,,,,131.8,,,,,,,,143.16,,,,,,-0.67503,2428.8093,0,1093.24524,1094.57,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.5,2.5,0,186.851516,260.143313,121.044941,89.275221,46.737740,99.522776,101.543541,62.498781,, +D,DREGION,,3,"2023/12/14 16:45:00",1,VIC1,0,8.95,0,8.95,0,0,4930.09,15,4625.36,3,-307.73,0,,,66.36,,,,,,,,91.78,,,,,,,,66.36,,,,,,,,157,,,,,,,,143,,,,,,,,121,,,,,,19.856,8846.59901,239,4923.25488,4962.5,,58,,,,53,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,712,798,800,197.136391,266.364126,386.364126,330.364126,360.289517,, +D,DREGION,,3,"2023/12/14 16:50:00",1,NSW1,0,125.35666,0,125.35666,0,0,12575.38,36,12254.91,0,-320.48,0,,,108,,,,,,,,148,,,,,,,,138,,,,,,,,79,,,,,,,,74,,,,,,,,72,,,,,,0,15515.60475,47,12534.74805,12570.26,,10,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.5,7.5,0,236.549320,242.549320,218.549320,212.664868,369,479,379,237.098120,, +D,DREGION,,3,"2023/12/14 16:50:00",1,QLD1,0,133.01,0,133.01,0,0,8978.17,48,9308.15,4,325.98,0,,,0,,,,,,,,15,,,,,,,,0,,,,,,,,23,,,,,,,,98.11,,,,,,,,86.3,,,,,,46.00428,11885.91388,54,8888.1582,8979.76,,40,,,,69.2,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.5,7.5,0,304.30,354.633333,160.30,222.721943,265,377,121,312,, +D,DREGION,,3,"2023/12/14 16:50:00",1,SA1,0,-29.31,0,-29.31,0,0,856.1,13,1420.38,13,551.29,0,,,47.49,,,,,,,,69,,,,,,,,47.35,,,,,,,,92.46,,,,,,,,90,,,,,,,,112.13,,,,,,0,3083.46253,230,859.53406,883.23,,48,,,,39.2,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.5,7.5,0,272,285,284,315,214,214,210,215,, +D,DREGION,,3,"2023/12/14 16:50:00",1,TAS1,0,21.38008,0,21.38008,0,0,1095.82,2,733.59,0,-362.22,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,72.4,,,,,,,,118.07,,,,,,,,142.75,,,,,,-3.85845,2430.94101,0,1097.67383,1095.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.13,9.13,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,2.5,2.5,0,186.574613,225.040972,78.144681,49.999983,69.040620,129.852941,137.470989,108.378049,, +D,DREGION,,3,"2023/12/14 16:50:00",1,VIC1,0,20.18,0,20.18,0,0,4939.83,21,4815.7,26,-150.13,0,,,67,,,,,,,,90.81,,,,,,,,67,,,,,,,,157,,,,,,,,154,,,,,,,,121,,,,,,28.30224,8803.47894,253,4922.43457,5003.66,,62,,,,46.6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16,16,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.5,7.5,0,709.468390,744.468390,746.468390,145.603396,260,381,325,388.843750,, +D,DREGION,,3,"2023/12/14 16:55:00",1,NSW1,0,122.52307,0,122.52307,0,0,12602.58,34,12326.32,0,-276.27,0,,,108,,,,,,,,148,,,,,,,,138,,,,,,,,79,,,,,,,,74,,,,,,,,72,,,,,,1.00305,15395.19802,47,12568.05078,12601.53,,30,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,236.682860,242.682860,218.682860,213.114444,449,559,479,315.934132,, +D,DREGION,,3,"2023/12/14 16:55:00",1,QLD1,0,131.75,0,131.75,0,0,9008.41,43,9283.4,0,274.99,0,,,0,,,,,,,,6,,,,,,,,0,,,,,,,,23,,,,,,,,80,,,,,,,,79,,,,,,47.00321,11769.49545,50,8922.44336,9008.19,,1,,,,58,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,297,347.333333,153,226.919316,277,400,162,220.850796,, +D,DREGION,,3,"2023/12/14 16:55:00",1,SA1,0,-29.31,0,-29.31,0,0,855.61,13,1466.7,0,611.09,0,,,53.27,,,,,,,,89,,,,,,,,31.93,,,,,,,,91,,,,,,,,91,,,,,,,,118.03,,,,,,-8.43824,3122.29034,234,878.80927,872.22,,65,,,,49,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,274,286,285,302,214,214,210,231,, +D,DREGION,,3,"2023/12/14 16:55:00",1,TAS1,0,12.24327,0,12.24327,0,0,1100.22,2,683.6,0,-416.62,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,80.13,,,,,,,,144.15,,,,,,,,142.83,,,,,,-7.06498,2434.22679,0,1105.28479,1100.22,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,9.11,9.11,0,0.39,0.39,0,0.39,0.39,0,0,0,0,2.5,2.5,0,186.849647,259.976265,120.993861,63.000020,46.809059,99.616372,101.667975,57.730324,, +D,DREGION,,3,"2023/12/14 16:55:00",1,VIC1,0,8.95,0,8.95,0,0,4966.23,19,4840.16,5,-131.07,0,,,63,,,,,,,,81.99,,,,,,,,83,,,,,,,,150,,,,,,,,144.71,,,,,,,,122,,,,,,26.31913,8844.3267,254,4978.5918,5018.03,,64,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.73,7.73,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,3.99,3.99,0,687,768.527830,770.527830,185.636310,278,388,327,322.000002,, +D,DREGION,,3,"2023/12/14 17:00:00",1,NSW1,0,105.381,0,105.381,0,0,12730.79,34,12536.32,0,-194.48,0,,,108,,,,,,,,148,,,,,,,,128,,,,,,,,79,,,,,,,,63,,,,,,,,69.18,,,,,,3.45294,15277.89948,47,12690.54492,12734.3,,20.47,,,,15,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.01,0.01,0,0.38,0.38,0,4.98,4.98,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1,1,0,226.731680,232.731680,208.731680,203.390631,449,559,479,322.7774,, +D,DREGION,,3,"2023/12/14 17:00:00",1,QLD1,0,115.75,0,115.75,0,0,9092.52,41,9293.13,0,200.6,0,,,0,,,,,,,,70,,,,,,,,50,,,,,,,,23,,,,,,,,187.18,,,,,,,,189,,,,,,40.63201,11790.3468,50,9009.03516,9095.14,,71,,,,58.23,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.01,0.01,0,0.38,0.38,0,4.98,4.98,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1,1,0,349,407.333333,205,311.269233,215,338,160,252.203130,, +D,DREGION,,3,"2023/12/14 17:00:00",1,SA1,0,-30,0,-30,0,0,879.25,14,1440.9,0,561.65,0,,,52.63,,,,,,,,43.01,,,,,,,,27,,,,,,,,90,,,,,,,,86,,,,,,,,78,,,,,,1.17524,3117.30253,237,879.18805,893.23,,34,,,,30,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.01,0.01,0,0.38,0.38,0,4.98,4.98,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1,1,0,274,285,284,302,214,214,210,234,, +D,DREGION,,3,"2023/12/14 17:00:00",1,TAS1,0,11.08,0,11.08,0,0,1103.6,2,679.51,0,-424.09,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,73.27,,,,,,,,101.47,,,,,,,,101.47,,,,,,-13.56027,2442.78743,0,1115.15845,1103.6,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.3,0.3,0,0.39,0.39,0,0,0,0,2.5,2.5,0,186.874613,261.190972,132.729181,105.555030,38.840661,89.892564,88.740392,59.816756,, +D,DREGION,,3,"2023/12/14 17:00:00",1,VIC1,0,8.97697,0,8.97697,0,0,5071.99,23,4995.47,5,-81.51,0,,,61.38,,,,,,,,61.38,,,,,,,,47.42,,,,,,,,157,,,,,,,,95,,,,,,,,95,,,,,,33.58731,8926.82339,253,5062.03516,5119.05,,42,,,,66.77,,,,,,,,,,,,,,,,,,,0.3,0.3,0,0.01,0.01,0,0.38,0.38,0,4.98,4.98,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,1,1,0,694,786.573340,788.573340,184.843750,270.301430,390.301430,334.301430,307.000004,, +D,DREGION,,3,"2023/12/14 17:05:00",1,NSW1,0,471.30713,0,471.30713,0,0,12645.38,26,12459.14,0,-186.25,0,,,86,,,,,,,,125,,,,,,,,105,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,18.60423,15300.4334,47,12597.51367,12651.83,,15,,,,40,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,3.98,3.98,0,199,205,182,164.450378,409,519,430,370.662036,, +D,DREGION,,3,"2023/12/14 17:05:00",1,QLD1,0,93.75,0,93.75,0,0,9110.4,44,9307.61,0,197.21,0,,,0,,,,,,,,70,,,,,,,,50,,,,,,,,23,,,,,,,,193.33,,,,,,,,192,,,,,,22.06826,11808.6056,50,9043.44727,9114.92,,71,,,,82,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,3.98,3.98,0,349,407.333333,205,372,228,351,163,198.228663,, +D,DREGION,,3,"2023/12/14 17:05:00",1,SA1,0,7.18401,0,7.18401,0,0,899.69,16,1452.99,0,553.3,0,,,36,,,,,,,,40,,,,,,,,40,,,,,,,,114.28,,,,,,,,89,,,,,,,,78,,,,,,0.3631,3130.689,242,898.31555,914.07,,31,,,,41,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,3.98,3.98,0,272,284,283,302,227,227,223,238,, +D,DREGION,,3,"2023/12/14 17:05:00",1,TAS1,0,9.48225,0,9.48225,0,0,1104.28,2,740.46,0,-363.82,0,,,33.06,,,,,,,,16.41,,,,,,,,0,,,,,,,,103,,,,,,,,82.85,,,,,,,,128.19,,,,,,-13.53085,2451.47811,0,1115.80981,1104.28,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,9.11,9.11,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,49.96775,49.96775,0,186.834481,259.358333,175.769681,92.966837,21.763284,67.617647,48.188288,50,, +D,DREGION,,3,"2023/12/14 17:05:00",1,VIC1,0,8.95,0,8.95,0,0,5149.71,33,5018.76,5,-135.95,0,,,69.88,,,,,,,,74.44,,,,,,,,58.18,,,,,,,,162,,,,,,,,154,,,,,,,,123,,,,,,39.44824,8919.65127,277,5122.67578,5193.86,,43,,,,7,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,3.98,3.98,0,725,846,898,218.400180,239,359,303,314.664551,, +D,DREGION,,3,"2023/12/14 17:10:00",1,NSW1,0,478.48271,0,478.48271,0,0,12609.58,19,12423.07,0,-186.51,0,,,86,,,,,,,,105,,,,,,,,86,,,,,,,,20,,,,,,,,15,,,,,,,,13,,,,,,28.99362,15176.55358,47,12561.30957,12618.78,,5,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.33374,0.33374,0,0.39,0.39,0,3.98,3.98,0,177.107440,183.107440,159.107440,122.153584,330,439,330,416.138115,, +D,DREGION,,3,"2023/12/14 17:10:00",1,QLD1,0,99.32,0,99.32,0,0,9095.06,34,9297.09,0,202.03,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,23,,,,,,,,158.33,,,,,,,,157,,,,,,27.76072,11710.70142,50,9034.28613,9101.39,,55.3,,,,82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.33374,0.33374,0,0.39,0.39,0,3.98,3.98,0,314,372.333333,205,352.454248,298,421,165,283.984012,, +D,DREGION,,3,"2023/12/14 17:10:00",1,SA1,0,7.22262,0,7.22262,0,0,940.77,18,1506.93,0,566.16,0,,,71.88,,,,,,,,27,,,,,,,,27,,,,,,,,115.85,,,,,,,,89,,,,,,,,99.24,,,,,,-1.23992,3186.79778,247,942.29883,955.86,,44,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.33374,0.33374,0,0.39,0.39,0,3.98,3.98,0,272,284,284,298,214,214,210,247,, +D,DREGION,,3,"2023/12/14 17:10:00",1,TAS1,0,9.6408,0,9.6408,0,0,1115.52,1,706.25,0,-409.27,0,,,7.35,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,130.29,,,,,,,,143.38,,,,,,-3.24247,2450.88829,0,1117.76587,1115.52,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.11,7.11,0,0.05,0.05,0,0.33374,0.33374,0,0.38,0.38,0,4.5,4.5,0,187.400929,261.190972,181.744681,120.041837,26.451713,102.207647,102.805071,105.959996,, +D,DREGION,,3,"2023/12/14 17:10:00",1,VIC1,0,9,0,9,0,0,5122.97,31,5032.82,8,-98.15,0,,,61.39,,,,,,,,66.39,,,,,,,,31.42,,,,,,,,162,,,,,,,,143,,,,,,,,123,,,,,,45.30917,8769.36754,275,5092.1792,5174.61,,55.7,,,,7,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,4.98,4.98,0,0.05,0.05,0,0.33374,0.33374,0,0.39,0.39,0,3.98,3.98,0,720,821.544590,893,170.663029,272.682118,387.682118,331.682118,356,, +D,DREGION,,3,"2023/12/14 17:15:00",1,NSW1,0,332.98701,0,332.98701,0,0,12703.27,15,12272.43,0,-430.84,0,,,86,,,,,,,,106,,,,,,,,97.4,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,39.383,14957.73688,47,12647.06836,12708.33,,5,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.14,0.14,0,0.3,0.3,0,0.39,0.39,0,3.99,3.99,0,203,209,186,215.865097,370,480,380,324.898683,, +D,DREGION,,3,"2023/12/14 17:15:00",1,QLD1,0,131.75,0,131.75,0,0,9131.93,26,9574.95,3,440.02,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,23,,,,,,,,192.33,,,,,,,,191,,,,,,16.44073,11717.798,53,9088.77246,9139.05,,38.87,,,,157,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.14,0.14,0,0.3,0.3,0,0.39,0.39,0,3.99,3.99,0,308,358.333333,165,311.723821,301,424,166,279.8686,, +D,DREGION,,3,"2023/12/14 17:15:00",1,SA1,0,7.57154,0,7.57154,0,0,976.18,20,1486.53,0,510.35,0,,,69.82,,,,,,,,27,,,,,,,,27,,,,,,,,106.84,,,,,,,,89,,,,,,,,95.09,,,,,,0,3169.52846,252,970.83862,988.44,,58.33,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.14,0.14,0,0.3,0.3,0,0.39,0.39,0,3.99,3.99,0,272,284,284,302,214,214,210,248,, +D,DREGION,,3,"2023/12/14 17:15:00",1,TAS1,0,13.59106,0,13.59106,0,0,1118.02,1,695.2,0,-422.82,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,126.26,,,,,,,,143.51,,,,,,-1.68433,2434.64561,0,1118.7085,1118.02,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.11,7.11,0,0.14,0.14,0,0.3,0.3,0,0,0,0,4.5,4.5,0,186.979876,261.190972,177.744681,120.041837,26.408805,102.677657,106.852779,110.439995,, +D,DREGION,,3,"2023/12/14 17:15:00",1,VIC1,0,8.95,0,8.95,0,0,5170.38,26,5134.69,1,-36.7,0,,,71.99,,,,,,,,66.56,,,,,,,,20,,,,,,,,132,,,,,,,,113,,,,,,,,93,,,,,,46.87278,8781.96092,283,5139.45801,5209.96,,64,,,,1,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.14,0.14,0,0.3,0.3,0,0.39,0.39,0,3.99,3.99,0,725,848,898,226.426940,232,353,297,322.444855,, +D,DREGION,,3,"2023/12/14 17:20:00",1,NSW1,0,139.74537,0,139.74537,0,0,12757.9,11,12246.42,0,-511.48,0,,,86,,,,,,,,106,,,,,,,,73.19,,,,,,,,21,,,,,,,,7,,,,,,,,13,,,,,,45.01048,14824.325,47,12708.37305,12755,,26.4,,,,40,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,1,1,0,139.549960,145.549960,122.549960,114.991914,450,560,480,505.458956,, +D,DREGION,,3,"2023/12/14 17:20:00",1,QLD1,0,145.17,0,145.17,0,0,9139.58,23,9647.13,0,507.55,0,,,6.55,,,,,,,,130,,,,,,,,110,,,,,,,,24,,,,,,,,189.33,,,,,,,,191,,,,,,17.2826,11555.55003,50,9105.76953,9138.55,,69.14,,,,137,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,1,1,0,308,355.333333,165,253.377409,299,422,165,329.135761,, +D,DREGION,,3,"2023/12/14 17:20:00",1,SA1,0,7.61266,0,7.61266,0,0,977.88,21,1479.41,0,501.54,0,,,23,,,,,,,,27,,,,,,,,27,,,,,,,,96.01,,,,,,,,83,,,,,,,,76,,,,,,-14.43525,3162.41348,258,983.88269,989.44,,34,,,,10,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,1,1,0,270,280,280,302,214,214,210,254,, +D,DREGION,,3,"2023/12/14 17:20:00",1,TAS1,0,10.70483,0,10.70483,0,0,1125.26,1,686.1,0,-439.16,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,116.53,,,,,,,,132.32,,,,,,-0.30148,2426.45452,0,1124.56104,1125.26,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,7.11,7.11,0,0.03,0.03,0,0.17,0.17,0,0,0,0,4.5,4.5,0,186.979876,261.190972,177.744681,108.641854,22.008796,97.617647,106.774147,115.50,, +D,DREGION,,3,"2023/12/14 17:20:00",1,VIC1,0,8.95,0,8.95,0,0,5205.17,32,5192.64,0,-12.54,0,,,108,,,,,,,,62.86,,,,,,,,45,,,,,,,,162,,,,,,,,139.45,,,,,,,,123,,,,,,48.43639,8806.1152,288,5165.80615,5243.45,,53,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,1,1,0,722,845,895,251.810306,323,433,372,377.718751,, +D,DREGION,,3,"2023/12/14 17:25:00",1,NSW1,0,253.82375,0,253.82375,0,0,12805.67,10,12265.35,0,-540.32,0,,,86,,,,,,,,126,,,,,,,,108.6,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,18.93381,14906.76663,47,12779.7041,12801.17,,25,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.34,0.34,0,0.38,0.38,0,0.39,0.39,0,2,2,0,118.353130,124.353130,102.052040,65.488642,450,560,480,524.815439,, +D,DREGION,,3,"2023/12/14 17:25:00",1,QLD1,0,262.32,0,262.32,0,0,9188.89,19,9722.67,0,533.78,0,,,0,,,,,,,,70,,,,,,,,50,,,,,,,,23,,,,,,,,185.68,,,,,,,,184.35,,,,,,23.54249,11627.80169,68,9146.18262,9186.85,,71,,,,171,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.34,0.34,0,0.38,0.38,0,0.39,0.39,0,2,2,0,291.350320,338.683653,147.350320,274.985050,252,375,168,345.057636,, +D,DREGION,,3,"2023/12/14 17:25:00",1,SA1,0,7.73759,0,7.73759,0,0,1031.11,22,1490.21,0,459.1,0,,,53.17,,,,,,,,42,,,,,,,,42,,,,,,,,93.55,,,,,,,,91,,,,,,,,102.21,,,,,,0,3170.29065,262,1021.08997,1040.77,,20,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.34,0.34,0,0.38,0.38,0,0.39,0.39,0,2,2,0,274,286,286,302,229,229,225,257,, +D,DREGION,,3,"2023/12/14 17:25:00",1,TAS1,0,9.52977,0,9.52977,0,0,1080.85,1,703.14,0,-377.7,0,,,28,,,,,,,,28.5,,,,,,,,0,,,,,,,,103,,,,,,,,131.46,,,,,,,,143.58,,,,,,-0.56648,2443.2894,0,1080.41272,1080.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.11,7.11,0,0.34,0.34,0,0.38,0.38,0,0.39,0.39,0,4.5,4.5,0,186.979876,261.190972,177.744681,108.641854,22.008796,97.617647,106.774147,115.50,, +D,DREGION,,3,"2023/12/14 17:25:00",1,VIC1,0,8.95,0,8.95,0,0,5237.28,31,5195.49,0,-41.79,0,,,56,,,,,,,,59.27,,,,,,,,55,,,,,,,,132,,,,,,,,113,,,,,,,,93,,,,,,50,8685.73873,289,5193.97461,5267.22,,44,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.34,0.34,0,0.38,0.38,0,0.39,0.39,0,2,2,0,721,844,894,225.097290,270,385,324,351.819061,, +D,DREGION,,3,"2023/12/14 17:30:00",1,NSW1,0,272.82123,0,272.82123,0,0,12748.57,8,12250.5,0,-498.07,0,,,87,,,,,,,,107,,,,,,,,72.9,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,26.19048,14589.5219,47,12710.73242,12746.06,,10,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0,101.175020,107.175020,97.175020,65.121921,450,561,481,596.318023,, +D,DREGION,,3,"2023/12/14 17:30:00",1,QLD1,0,285.75,0,285.75,0,0,9294.58,17,9789.37,0,494.79,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,23,,,,,,,,152.33,,,,,,,,151,,,,,,32.35658,11574.05595,125,9243.07227,9293.81,,67.2,,,,137,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0,254.0315,278.396333,115,222.927418,312,435,193,399.204725,, +D,DREGION,,3,"2023/12/14 17:30:00",1,SA1,0,7.73763,0,7.73763,0,0,1010.69,22,1464.66,0,453.97,0,,,39.46,,,,,,,,29,,,,,,,,29,,,,,,,,98.35,,,,,,,,92,,,,,,,,107,,,,,,-16.41207,3135.75358,268,1017.13397,1020.33,,34,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0,274,287,286,302,216,216,212,263,, +D,DREGION,,3,"2023/12/14 17:30:00",1,TAS1,0,9.5062,0,9.5062,0,0,1076.1,2,699.45,0,-376.65,0,,,28,,,,,,,,0,,,,,,,,0,,,,,,,,103,,,,,,,,122.52,,,,,,,,143.85,,,,,,-1.04014,2433.73648,0,1075.13745,1076.1,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.11,7.11,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,4.5,4.5,0,186.874613,261.190972,177.744681,108.641854,21.895893,97.617647,107.784248,116.50,, +D,DREGION,,3,"2023/12/14 17:30:00",1,VIC1,0,8.95018,0,8.95018,0,0,5206.23,30,5168.43,0,-37.8,0,,,71,,,,,,,,62.97,,,,,,,,45,,,,,,,,160,,,,,,,,154,,,,,,,,121,,,,,,0,8619.15461,291,5211.06543,5236.11,,48.8,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0,698,834,803,149.207327,292.204720,402.204720,341.204720,379.843750,, +D,DREGION,,3,"2023/12/14 17:35:00",1,NSW1,0,226.89335,0,226.89335,0,0,12857.79,3,12177.76,0,-680.02,0,,,87,,,,,,,,107,,,,,,,,106,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,0,14446.55463,47,12855.74609,12852.5,,30,,,,40,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0,86.780970,92.780970,82.780970,62.980140,450,561,481,596.544464,, +D,DREGION,,3,"2023/12/14 17:35:00",1,QLD1,0,228.81,0,228.81,0,0,9190.83,13,9863.12,0,672.3,0,,,0,,,,,,,,70,,,,,,,,50,,,,,,,,23,,,,,,,,193.33,,,,,,,,192,,,,,,0,11602.34943,125,9175.30762,9188.38,,79.65,,,,171,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0,292,338.333333,147,258.881054,252,375,205,365.342008,, +D,DREGION,,3,"2023/12/14 17:35:00",1,SA1,0,-16.68108,0,-16.68108,0,0,1030.51,22,1505.74,0,475.23,0,,,24,,,,,,,,28,,,,,,,,28,,,,,,,,90,,,,,,,,90,,,,,,,,78,,,,,,-19.08719,3258.74299,270,1038.60364,1045.74,,26.35,,,,10,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0,272,285,284,302,227,227,223,265,, +D,DREGION,,3,"2023/12/14 17:35:00",1,TAS1,0,-20.97544,0,-20.97544,0,0,1076.89,2,781.91,0,-294.97,0,,,26.45,,,,,,,,26.73,,,,,,,,0,,,,,,,,86.29,,,,,,,,82.25,,,,,,,,130.58,,,,,,-2.69482,2442.01454,0,1077.58191,1076.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.2,0.2,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0,188.257654,268.190972,181.828125,136.749797,27.523948,163.617647,173.436880,115.50,, +D,DREGION,,3,"2023/12/14 17:35:00",1,VIC1,0,-20.0493,0,-20.0493,0,0,5185.49,24,5057.6,0,-127.88,0,,,88.95,,,,,,,,98.95,,,,,,,,66.43,,,,,,,,151,,,,,,,,156,,,,,,,,123,,,,,,50,8720.71754,295,5149.57275,5222.63,,24,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0,710,863,815,190.156250,314,376.763310,365,254.343754,, +D,DREGION,,3,"2023/12/14 17:40:00",1,NSW1,0,662.96976,0,662.96976,0,0,12930.04,-1,12205.83,0,-724.21,0,,,87,,,,,,,,88.12,,,,,,,,66,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,35.71429,14458.6837,47,12896.04297,12924.69,,30,,,,40,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.15,0.15,0,0.3,0.3,0,3.99,3.99,0,150.804750,156.804750,146.804750,205.599722,450,561,481,454.285815,, +D,DREGION,,3,"2023/12/14 17:40:00",1,QLD1,0,255.22961,0,255.22961,0,0,9245.92,8,9962.31,0,716.4,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,21,,,,,,,,190.33,,,,,,,,190,,,,,,43.08641,11552.32105,125,9192.24023,9243.45,,63.9,,,,228,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.15,0.15,0,0.3,0.3,0,3.99,3.99,0,297,343.333333,153,334.985050,312,435,205,306.591444,, +D,DREGION,,3,"2023/12/14 17:40:00",1,SA1,0,-23.79115,0,-23.79115,0,0,1044.55,21,1496.88,0,452.33,0,,,38,,,,,,,,42,,,,,,,,42,,,,,,,,92,,,,,,,,92,,,,,,,,80,,,,,,-12.77827,3244.11768,273,1053.71155,1062.03,,37.1,,,,10,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.15,0.15,0,0.3,0.3,0,3.99,3.99,0,274,287,286,302,229,229,225,268,, +D,DREGION,,3,"2023/12/14 17:40:00",1,TAS1,0,-20.83107,0,-20.83107,0,0,1063.89,1,795.07,0,-268.81,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,30.11,,,,,,,,84.72,,,,,,,,132.05,,,,,,4.11296,2470.70647,0,1058.77344,1063.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.03,0.03,0,0.15,0.15,0,0.3,0.3,0,4.5,4.5,0,191.732094,283.398174,190.317098,188.323967,35.104544,161.982667,159.389827,115.50,, +D,DREGION,,3,"2023/12/14 17:40:00",1,VIC1,0,-20.01289,0,-20.01289,0,0,5104.96,14,4987.39,8,-125.58,0,,,100.18,,,,,,,,70,,,,,,,,39.47,,,,,,,,152,,,,,,,,157,,,,,,,,124,,,,,,21.42857,8713.56963,301,5113.12598,5153.42,,29,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.15,0.15,0,0.3,0.3,0,3.99,3.99,0,711,864,816,207.843750,305,322.309420,317.309420,255.906253,, +D,DREGION,,3,"2023/12/14 17:45:00",1,NSW1,0,256.37849,0,256.37849,0,0,12997.29,-6,12378.62,0,-618.67,0,,,68,,,,,,,,67,,,,,,,,66,,,,,,,,21,,,,,,,,15,,,,,,,,13,,,,,,40.47619,14516.23251,47,12959.62793,12992.88,,30,,,,40,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,3.99,3.99,0,86.737640,92.737640,82.737640,65.121921,320,361,342,502.868199,, +D,DREGION,,3,"2023/12/14 17:45:00",1,QLD1,0,262.31,0,262.31,0,0,9292.11,3,9904.5,0,612.39,0,,,0,,,,,,,,130,,,,,,,,100.24,,,,,,,,21,,,,,,,,188.27,,,,,,,,186.94,,,,,,47.36973,11440.80887,125,9239.02148,9290.24,,61.06,,,,228,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,3.99,3.99,0,293.936440,341.269773,150.936440,353.985050,312,435,205,303.750993,, +D,DREGION,,3,"2023/12/14 17:45:00",1,SA1,0,-22.36712,0,-22.36712,0,0,1108.69,21,1560.68,0,451.99,0,,,38,,,,,,,,42,,,,,,,,42,,,,,,,,92,,,,,,,,92,,,,,,,,80,,,,,,0,3396.20531,277,1106.57861,1124.35,,47.94,,,,10,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,3.99,3.99,0,274,287,286,302,229,229,225,272,, +D,DREGION,,3,"2023/12/14 17:45:00",1,TAS1,0,-19.76636,0,-19.76636,0,0,1063.27,-1,796.94,0,-266.32,0,,,12.71,,,,,,,,0,,,,,,,,0,,,,,,,,30.35,,,,,,,,90.14,,,,,,,,135.47,,,,,,10.92074,2456.24468,0,1053.34583,1063.27,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,4.5,4.5,0,188.152391,267.763194,181.278125,182.906637,27.732784,163.987647,174.452730,116.129997,, +D,DREGION,,3,"2023/12/14 17:45:00",1,VIC1,0,-18.99,0,-18.99,0,0,5145.32,11,5011.97,0,-133.35,0,,,103.71,,,,,,,,88.48,,,,,,,,44,,,,,,,,152,,,,,,,,154,,,,,,,,124,,,,,,0,8694.24339,301,5184.65332,5181.98,,21,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,3.99,3.99,0,719,859,892,231.046964,269,330.730960,330.730960,276.156250,, +D,DREGION,,3,"2023/12/14 17:50:00",1,NSW1,0,283.68148,0,283.68148,0,0,13030.84,-10,12387.15,0,-643.69,0,,,68,,,,,,,,67,,,,,,,,66,,,,,,,,7,,,,,,,,15,,,,,,,,13,,,,,,45.2381,14263.84227,47,12991.4043,13026.04,,15,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.99,3.99,0,86.163910,92.163910,82.163910,68.069326,380,461,382,434.564888,, +D,DREGION,,3,"2023/12/14 17:50:00",1,QLD1,0,290.31,0,290.31,0,0,9290.27,3,9927.04,0,636.77,0,,,0,,,,,,,,90,,,,,,,,70,,,,,,,,17,,,,,,,,151.33,,,,,,,,150,,,,,,48.98413,11275.61872,125,9236.02051,9288.16,,71,,,,332.16,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.99,3.99,0,235.045470,256.180783,97.999530,406.984589,272,395,205,359.267666,, +D,DREGION,,3,"2023/12/14 17:50:00",1,SA1,0,7.6527,0,7.6527,0,0,1105.5,21,1560.46,0,454.97,0,,,38,,,,,,,,41,,,,,,,,41,,,,,,,,85,,,,,,,,89,,,,,,,,110.22,,,,,,-2.67463,3377.55496,283,1103.0061,1115.75,,38,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.99,3.99,0,272,284,284,292,228,228,225,288,, +D,DREGION,,3,"2023/12/14 17:50:00",1,TAS1,0,9.36324,0,9.36324,0,0,1080.11,-1,786.94,0,-293.17,0,,,60,,,,,,,,69.47,,,,,,,,14.73,,,,,,,,3,,,,,,,,131.23,,,,,,,,143.34,,,,,,12.81763,2447.14143,0,1068.28882,1080.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0,188.257654,268.190972,181.828125,126.746177,27.523948,163.617647,173.436880,91.466667,, +D,DREGION,,3,"2023/12/14 17:50:00",1,VIC1,0,8.94982,0,8.94982,0,0,5159.59,14,5034.69,0,-124.9,0,,,57.07,,,,,,,,61,,,,,,,,61,,,,,,,,101,,,,,,,,154,,,,,,,,124,,,,,,-7.58208,8640.83077,304,5189.26123,5186.24,,36,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.99,3.99,0,711,847.388610,884,171.593089,255,366.611390,320,336.156250,, +D,DREGION,,3,"2023/12/14 17:55:00",1,NSW1,0,279.20286,0,279.20286,0,0,13053.11,-13,12435.14,0,-617.96,0,,,68,,,,,,,,67,,,,,,,,66,,,,,,,,11.3,,,,,,,,15,,,,,,,,13,,,,,,50,14201.95954,47,13012.37695,13048.66,,30,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.03,0.03,0,0.3,0.3,0,0.38,0.38,0,2,2,0,86.713220,92.713220,82.713220,72.580541,320,361,342,504.430760,, +D,DREGION,,3,"2023/12/14 17:55:00",1,QLD1,0,285.75,0,285.75,0,0,9284.59,5,9896.21,0,611.62,0,,,0,,,,,,,,117.53,,,,,,,,97.53,,,,,,,,17,,,,,,,,151.33,,,,,,,,159.02,,,,,,49.51176,11205.27485,125,9227.60547,9282.69,,87,,,,321.08,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.03,0.03,0,0.3,0.3,0,0.38,0.38,0,2,2,0,257,278.954113,113,435.660835,299.530090,422.530090,205,409.986377,, +D,DREGION,,3,"2023/12/14 17:55:00",1,SA1,0,0,0,0,0,0,1127.88,20,1623.52,0,495.64,0,,,40,,,,,,,,43,,,,,,,,43,,,,,,,,88,,,,,,,,113.73,,,,,,,,149,,,,,,2.99107,3407.8997,289,1116.67139,1143.37,,20,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.03,0.03,0,0.3,0.3,0,0.38,0.38,0,2,2,0,273,285,285,265.071690,230,230,227,318.928310,, +D,DREGION,,3,"2023/12/14 17:55:00",1,TAS1,0,0.42182,0,0.42182,0,0,1084.65,-1,792.11,0,-292.54,0,,,4.57,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,,,154.22,,,,,,,,143.26,,,,,,7.10344,2451.20623,0,1078.54211,1084.65,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,7.11778,7.11778,0,0.03,0.03,0,0.3,0.3,0,0.38,0.38,0,4.5,4.5,0,188.152391,268.190972,181.828125,113.091852,27.411045,163.617647,174.446981,116.50,, +D,DREGION,,3,"2023/12/14 17:55:00",1,VIC1,0,0.4032,0,0.4032,0,0,5114.02,10,4964.04,0,-149.98,0,,,112.32,,,,,,,,103.26,,,,,,,,46.92,,,,,,,,111,,,,,,,,113,,,,,,,,83,,,,,,4.39589,8607.03883,310,5130.05615,5151.65,,23,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.03,0.03,0,0.3,0.3,0,0.38,0.38,0,2,2,0,685,808,858,237.305786,321.308725,439.308725,378.308725,328,, +D,DREGION,,3,"2023/12/14 18:00:00",1,NSW1,0,272.23827,0,272.23827,0,0,12950.27,-21,12563.45,0,-386.82,0,,,68,,,,,,,,67,,,,,,,,66,,,,,,,,7,,,,,,,,15,,,,,,,,13,,,,,,50,14089.71754,47,12912.91699,12945.01,,22,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,2,2,0,86.188320,92.188320,82.188320,83.361946,380,461,382,445.736695,, +D,DREGION,,3,"2023/12/14 18:00:00",1,QLD1,0,285.75,0,285.75,0,0,9339.51,3,9831.14,0,491.63,0,,,0,,,,,,,,95,,,,,,,,85,,,,,,,,17,,,,,,,,132.33,,,,,,,,132,,,,,,44.03282,11107.37262,125,9290.45117,9339.55,,82,,,,319.37,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,2,2,0,239,256.338273,113,467.989990,287,400,170,412.762661,, +D,DREGION,,3,"2023/12/14 18:00:00",1,SA1,0,45.57032,0,45.57032,0,0,1170.59,19,1579.25,0,408.65,0,,,40,,,,,,,,43,,,,,,,,43,,,,,,,,86,,,,,,,,108.53,,,,,,,,139.41,,,,,,10.98487,3385.59663,292,1155.93518,1178.17,,20,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,2,2,0,273,286,285,296,230,230,227,292,, +D,DREGION,,3,"2023/12/14 18:00:00",1,TAS1,0,53.57593,0,53.57593,0,0,1076.98,-1,848.21,0,-228.77,0,,,54.63,,,,,,,,63.89,,,,,,,,0,,,,,,,,3,,,,,,,,153.77,,,,,,,,143.23,,,,,,6.6128,2448.18627,0,1071.36255,1076.98,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,7.61057,7.61057,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,188.152391,267.740678,153.708985,79.042961,38.908914,178.987593,234.237515,146.587013,, +D,DREGION,,3,"2023/12/14 18:00:00",1,VIC1,0,51.86857,0,51.86857,0,0,5153.08,5,4884.41,0,-268.67,0,,,61.41,,,,,,,,61.41,,,,,,,,59.96,,,,,,,,117,,,,,,,,147,,,,,,,,129,,,,,,2.17977,8382.04754,316,5176.33984,5166.76,,36,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,2,2,0,722,794.633450,870.633450,123.374115,279.387430,426.387430,370.387430,380.843750,, +D,DREGION,,3,"2023/12/14 18:05:00",1,NSW1,0,358.02232,0,358.02232,0,0,13014.44,-23,12460.21,0,-554.23,0,,,68,,,,,,,,67,,,,,,,,66,,,,,,,,19.33,,,,,,,,15,,,,,,,,13,,,,,,50,13970.49855,0,12979.94922,13011.75,,20,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,3.7,3.7,0,86.854210,92.854210,82.854210,64.870144,380,461,382,508.951471,, +D,DREGION,,3,"2023/12/14 18:05:00",1,QLD1,0,371.02009,0,371.02009,0,0,9276.24,4,9829.03,0,552.79,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,17,,,,,,,,130.5,,,,,,,,130.53,,,,,,30.69521,11030.67265,75,9239.82031,9275.5,,91,,,,313.65,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,3.7,3.7,0,217.528687,225.782166,113,400.634474,312,435,205,415.155148,, +D,DREGION,,3,"2023/12/14 18:05:00",1,SA1,0,48.39572,0,48.39572,0,0,1166.8,18,1601.08,0,434.27,0,,,67.81,,,,,,,,29,,,,,,,,29,,,,,,,,87,,,,,,,,160.92,,,,,,,,163,,,,,,2.89655,3403.73725,296,1155.55322,1175.24,,29,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,3.7,3.7,0,272,285,284,286,229,229,226,290,, +D,DREGION,,3,"2023/12/14 18:05:00",1,TAS1,0,56,0,56,0,0,1077.19,-1,924.96,0,-152.23,0,,,60,,,,,,,,76.48,,,,,,,,19.54,,,,,,,,3,,,,,,,,102.22,,,,,,,,102.22,,,,,,-0.69082,2462.49826,0,1078.87903,1077.19,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.3,0.3,0,9.11,9.11,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,2.5,2.5,0,190.112080,270.174571,128.036528,101.759839,56.960051,210.975445,295.309114,171.942779,, +D,DREGION,,3,"2023/12/14 18:05:00",1,VIC1,0,55.08433,0,55.08433,0,0,5180.44,4,4967.84,45,-257.6,0,,,30,,,,,,,,30,,,,,,,,30,,,,,,,,113,,,,,,,,141,,,,,,,,140.89,,,,,,16.52342,8402.65505,337,5177.23291,5243.44,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.3,0.3,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,3.7,3.7,0,697,752.813780,754.813780,111.264608,266,512,399,395.843750,, +D,DREGION,,3,"2023/12/14 18:10:00",1,NSW1,0,178.69508,0,178.69508,0,0,12818.33,-25,12428.06,0,-390.27,0,,,68,,,,,,,,68,,,,,,,,66,,,,,,,,6,,,,,,,,15,,,,,,,,13,,,,,,0,13816.5579,47,12837.42578,12820.75,,20,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.39,0.39,0,3.99,3.99,0,86.737640,92.737640,82.737640,65.121921,380,462,382,510.822273,, +D,DREGION,,3,"2023/12/14 18:10:00",1,QLD1,0,190.74,0,190.74,0,0,9194.31,-1,9589.33,0,395.02,0,,,28,,,,,,,,130,,,,,,,,110,,,,,,,,17,,,,,,,,191.33,,,,,,,,191,,,,,,0,10953.89901,125,9194.1416,9196.63,,34.14,,,,303,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.39,0.39,0,3.99,3.99,0,298.825660,337.829093,153.825660,504.810710,312,435,205,305.089781,, +D,DREGION,,3,"2023/12/14 18:10:00",1,SA1,0,43.60546,0,43.60546,0,0,1204.83,18,1649.76,0,444.93,0,,,58.94,,,,,,,,29,,,,,,,,29,,,,,,,,84.09,,,,,,,,79,,,,,,,,80.58,,,,,,0,3454.6145,298,1199.39075,1213.71,,52.86,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.39,0.39,0,3.99,3.99,0,274,287,286,302,229,229,226,292,, +D,DREGION,,3,"2023/12/14 18:10:00",1,TAS1,0,52.08,0,52.08,0,0,1077.33,-1,792.03,0,-285.3,0,,,0,,,,,,,,25.85,,,,,,,,0,,,,,,,,3,,,,,,,,104.52,,,,,,,,143.41,,,,,,1.27026,2436.41058,0,1077.06018,1077.33,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,9.11,9.11,0,0.05,0.05,0,0.38,0.38,0,0.39,0.39,0,4.5,4.5,0,184.389087,244.092361,113.45,105.599770,24.474977,73.961102,89.725727,96.465483,, +D,DREGION,,3,"2023/12/14 18:10:00",1,VIC1,0,49.90715,0,49.90715,0,0,5157.19,4,5062.61,33,-127.58,0,,,71,,,,,,,,81,,,,,,,,51.31,,,,,,,,104,,,,,,,,158.13,,,,,,,,120,,,,,,0,8442.73954,338,5210.94775,5213.36,,53,,,,33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.39,0.39,0,3.99,3.99,0,708.134030,743.134030,745.134030,142.9999,298,532,415,408.6875,, +D,DREGION,,3,"2023/12/14 18:15:00",1,NSW1,0,216.98402,0,216.98402,0,0,12883.46,-30,12446.34,0,-437.12,0,,,68,,,,,,,,68,,,,,,,,66,,,,,,,,7,,,,,,,,15,,,,,,,,13,,,,,,43.52828,13717.13118,47,12867.56738,12883.49,,20,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.05,0.05,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0,86.188320,92.188320,82.188320,66.103996,320,362,342,457.104138,, +D,DREGION,,3,"2023/12/14 18:15:00",1,QLD1,0,228.81,0,228.81,0,0,9207.49,-3,9645.48,0,437.98,0,,,0,,,,,,,,95,,,,,,,,85,,,,,,,,17,,,,,,,,131.33,,,,,,,,131,,,,,,-2.8901,10923.52497,125,9213.3457,9208.32,,81,,,,318,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.05,0.05,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0,238,281.333333,153,443.985050,287,400,170,383.350439,, +D,DREGION,,3,"2023/12/14 18:15:00",1,SA1,0,45.18452,0,45.18452,0,0,1209.1,17,1663.35,0,454.24,0,,,48.35,,,,,,,,42,,,,,,,,42,,,,,,,,87.22,,,,,,,,99.25,,,,,,,,143.01,,,,,,11.38126,3501.46488,298,1190.57983,1218.34,,18,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.05,0.05,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0,274,287,286,302,229,229,226,292,, +D,DREGION,,3,"2023/12/14 18:15:00",1,TAS1,0,53.57593,0,53.57593,0,0,1072.12,0,829.7,0,-242.42,0,,,60,,,,,,,,79.48,,,,,,,,20.03,,,,,,,,3,,,,,,,,153.77,,,,,,,,143.35,,,,,,-7.12323,2427.80489,0,1079.24646,1072.12,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.05,0.05,0,7.61057,7.61057,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,3.5,3.5,0,188.257654,267.740678,150.932255,77.427924,39.567199,179.716641,236.035723,122.953326,, +D,DREGION,,3,"2023/12/14 18:15:00",1,VIC1,0,51.73558,0,51.73558,0,0,5164.11,5,5002.72,19,-180.39,0,,,49,,,,,,,,49,,,,,,,,49,,,,,,,,104,,,,,,,,154,,,,,,,,123,,,,,,40.4488,8320.72187,339,5167.28662,5205.3,,41,,,,19,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.05,0.05,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0,708,743,745,133,266,510,398,393.843750,, +D,DREGION,,3,"2023/12/14 18:20:00",1,NSW1,0,183.569,0,183.569,0,0,12774.67,-31,12265.2,0,-509.46,0,,,68,,,,,,,,68,,,,,,,,66,,,,,,,,10,,,,,,,,15,,,,,,,,13,,,,,,0,13597.01695,47,12801.52441,12772.78,,20,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0,86.586210,92.586210,82.586210,63.973538,320,362,342,496.431851,, +D,DREGION,,3,"2023/12/14 18:20:00",1,QLD1,0,190.74,0,190.74,0,0,9111.99,-7,9619.21,0,507.22,0,,,11.87,,,,,,,,130,,,,,,,,110,,,,,,,,19,,,,,,,,133.33,,,,,,,,132,,,,,,0,10905.36651,125,9117.94629,9111.63,,81,,,,318,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0,249,293.333333,165,454.308780,312,435,205,421.156250,, +D,DREGION,,3,"2023/12/14 18:20:00",1,SA1,0,20.66,0,20.66,0,0,1237.91,16,1596.06,4.77,353.38,0,,,38,,,,,,,,41,,,,,,,,41,,,,,,,,87,,,,,,,,118.9,,,,,,,,163,,,,,,0,3507.1216,298,1229.87195,1248.29,,20,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0,272,285,284,290.767650,228,228,225,287.232350,, +D,DREGION,,3,"2023/12/14 18:20:00",1,TAS1,0,24.20102,0,24.20102,0,0,1079.61,0,766.71,0,-312.89,0,,,60,,,,,,,,48.22,,,,,,,,0,,,,,,,,3,,,,,,,,154.22,,,,,,,,143.32,,,,,,-5.98604,2426.81432,0,1085.59534,1079.61,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,7.11778,7.11778,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,4.5,4.5,0,188.257654,268.190972,181.828125,113.091852,27.523948,163.617647,173.436880,91.466667,, +D,DREGION,,3,"2023/12/14 18:20:00",1,VIC1,0,23.01564,0,23.01564,0,0,5088.83,1,5101.59,30,-17.24,0,,,51,,,,,,,,51,,,,,,,,46.77,,,,,,,,84.1,,,,,,,,129,,,,,,,,99.14,,,,,,0,8353.5867,340,5121.77295,5136.47,,39,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,1.5,1.5,0,680,715,717,140,258,502,390,383.843650,, +D,DREGION,,3,"2023/12/14 18:25:00",1,NSW1,0,280.09952,0,280.09952,0,0,12846.61,-36,12230.65,0,-615.95,0,,,69,,,,,,,,68,,,,,,,,67,,,,,,,,7,,,,,,,,15,,,,,,,,13,,,,,,26.78506,13455.329,47,12855.20117,12842.05,,20,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0,83.605130,89.605130,79.605130,60.070156,381,462,383,514.301995,, +D,DREGION,,3,"2023/12/14 18:25:00",1,QLD1,0,285.75,0,285.75,0,0,9136.49,-10,9745.87,0,609.39,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,19,,,,,,,,153.33,,,,,,,,153,,,,,,4.3985,10895.77519,125,9140.44238,9134.47,,80.63,,,,319.48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0,260,295.320833,115,466.985050,312,435,205,399.839157,, +D,DREGION,,3,"2023/12/14 18:25:00",1,SA1,0,46.68689,0,46.68689,0,0,1262.46,16,1600.88,0,338.42,0,,,39,,,,,,,,42,,,,,,,,42,,,,,,,,74,,,,,,,,92,,,,,,,,120.13,,,,,,6.82236,3360.88497,298,1249.82312,1267.55,,21.37,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0,274,287,286,302,229,229,226,292,, +D,DREGION,,3,"2023/12/14 18:25:00",1,TAS1,0,53.57593,0,53.57593,0,0,1069.33,0,831.76,0,-237.57,0,,,59.82,,,,,,,,31.84,,,,,,,,0,,,,,,,,3,,,,,,,,138.16,,,,,,,,143.36,,,,,,-3.03235,2449.32048,0,1072.36279,1069.33,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,7.61098,7.61098,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,188.257654,267.740678,170.285055,104.298644,35.766118,174.635489,216.462897,113.198263,, +D,DREGION,,3,"2023/12/14 18:25:00",1,VIC1,0,51.73558,0,51.73558,0,0,5148.96,0,5093.47,27,-82.49,0,,,60,,,,,,,,65,,,,,,,,45.28,,,,,,,,107,,,,,,,,157,,,,,,,,126,,,,,,47.63432,8308.46833,340,5142.45215,5189.24,,38,,,,27,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,0.38,0.38,0,0.38,0.38,0,1.5,1.5,0,675.666667,695,697,132,273.0001,390.0001,334.0001,351.882652,, +D,DREGION,,3,"2023/12/14 18:30:00",1,NSW1,0,254.00486,0,254.00486,0,0,12815.14,-32,12259.5,0,-555.64,0,,,69,,,,,,,,68,,,,,,,,67,,,,,,,,7,,,,,,,,15,,,,,,,,13,,,,,,28.69815,13359.03182,47,12812.8418,12811.21,,9,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0,83.610620,89.610620,79.610620,61.870144,381,462,383,513.765809,, +D,DREGION,,3,"2023/12/14 18:30:00",1,QLD1,0,262.33,0,262.33,0,0,9143.8,-7,9693.87,0,550.06,0,,,0,,,,,,,,130,,,,,,,,53.91,,,,,,,,19,,,,,,,,182.52,,,,,,,,179.52,,,,,,17.48889,10878.72418,125,9130.99316,9142.15,,81,,,,332.02,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0,282.578960,325.912293,137.578960,482.378320,312,435,205,416.366919,, +D,DREGION,,3,"2023/12/14 18:30:00",1,SA1,0,89.88629,0,89.88629,0,0,1253.24,16,1538.64,0,285.4,0,,,39,,,,,,,,42,,,,,,,,42,,,,,,,,87,,,,,,,,139,,,,,,,,165,,,,,,0.33348,3298.64088,299,1242.2677,1256.82,,10,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0,274,287,286,286,229,229,226,292,, +D,DREGION,,3,"2023/12/14 18:30:00",1,TAS1,0,98.18,0,98.18,0,0,1066.82,0,956.17,0,-110.65,0,,,44.98,,,,,,,,57.09,,,,,,,,57.09,,,,,,,,3,,,,,,,,60.65,,,,,,,,60.65,,,,,,-5.82591,2438.51825,0,1072.65088,1066.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,9.11,9.11,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,2.5,2.5,0,182.993914,197.286732,47.473885,55.666151,112.788272,264.607181,335.142967,124.466669,, +D,DREGION,,3,"2023/12/14 18:30:00",1,VIC1,0,98.03565,0,98.03565,0,0,5234,2,5070.16,0,-163.84,0,,,76,,,,,,,,41.03,,,,,,,,35,,,,,,,,109,,,,,,,,159,,,,,,,,138,,,,,,50,8255.16047,341,5215.97119,5241.33,,60,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0,667,680,682,106,293.0001,532.0001,415.0001,428.974509,, +D,DREGION,,3,"2023/12/14 18:35:00",1,NSW1,0,173.7398,0,173.7398,0,0,12789.39,-32,12441.26,0,-348.13,0,,,70,,,,,,,,69,,,,,,,,67,,,,,,,,10,,,,,,,,15,,,,,,,,13,,,,,,33.66086,13284.89504,47,12781.8916,12789.59,,7,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,1,1,0,86.653960,92.653960,82.653960,64.870144,381,463,384,473.040925,, +D,DREGION,,3,"2023/12/14 18:35:00",1,QLD1,0,185.19,0,185.19,0,0,9146.87,-8,9524.81,0,377.94,0,,,0,,,,,,,,130,,,,,,,,94.79,,,,,,,,19,,,,,,,,133.33,,,,,,,,133,,,,,,8.13131,10884.23978,125,9144.27539,9148.35,,101,,,,318.03,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,1,1,0,250,293.333333,165,452.010046,312,435,205,434.562649,, +D,DREGION,,3,"2023/12/14 18:35:00",1,SA1,0,47.80801,0,47.80801,0,0,1275.13,15,1551.67,0,276.54,0,,,38,,,,,,,,41,,,,,,,,41,,,,,,,,87,,,,,,,,100.76,,,,,,,,137.8,,,,,,-7.14611,3361.59957,299,1271.06177,1278.48,,10,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,1,1,0,272,285,284,302,228,228,225,291.89,, +D,DREGION,,3,"2023/12/14 18:35:00",1,TAS1,0,53.57593,0,53.57593,0,0,1080.87,1,857.97,0,-222.9,0,,,53.2,,,,,,,,25.62,,,,,,,,0,,,,,,,,3,,,,,,,,147.79,,,,,,,,144.08,,,,,,3.11259,2439.41053,0,1076.75305,1080.87,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,9.11,9.11,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,191.154274,276.763194,128.515723,59.550017,49.346526,200.833270,246.335360,137.224928,, +D,DREGION,,3,"2023/12/14 18:35:00",1,VIC1,0,51.86857,0,51.86857,0,0,5254.4,8,5204.94,21,-70.47,0,,,68,,,,,,,,73,,,,,,,,53,,,,,,,,118.43,,,,,,,,159,,,,,,,,128,,,,,,49.09615,8190.8186,342,5205.86914,5283.37,,42,,,,1,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,1,1,0,658.666667,667,669,116,275,544.12,407,394.068359,, +D,DREGION,,3,"2023/12/14 18:40:00",1,NSW1,0,172.64163,0,172.64163,0,0,12744.32,-33,12400.4,0,-343.93,0,,,70,,,,,,,,69,,,,,,,,67,,,,,,,,10,,,,,,,,15,,,,,,,,13,,,,,,38.62357,13159.04786,47,12740.23535,12746.7,,18,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0,86.586210,92.586210,82.586210,66.103996,381,463,384,490.834481,, +D,DREGION,,3,"2023/12/14 18:40:00",1,QLD1,0,185.19,0,185.19,0,0,9159.51,-3,9528.02,20,348.51,0,,,0,,,,,,,,130,,,,,,,,78.7,,,,,,,,19,,,,,,,,133.33,,,,,,,,133,,,,,,-7.11217,10873.94897,125,9169.89258,9181.71,,101,,,,318,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0,250,293.333333,165,473.985050,312,435,205,413.765774,, +D,DREGION,,3,"2023/12/14 18:40:00",1,SA1,0,48.41746,0,48.41746,0,0,1298.35,15,1577.41,0,279.05,0,,,39,,,,,,,,42,,,,,,,,42,,,,,,,,89,,,,,,,,95.11,,,,,,,,133.76,,,,,,-3.96673,3373.40608,298,1291.23975,1301.77,,21,,,,10,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0,274,287,286,302,229,229,226,291,, +D,DREGION,,3,"2023/12/14 18:40:00",1,TAS1,0,54.08,0,54.08,0,0,1062.93,1,858.05,0,-204.89,0,,,17,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,,,154.22,,,,,,,,148.9,,,,,,0,2427.0897,0,1061.93396,1062.93,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,7.11778,7.11778,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,2.5,2.5,0,191.259537,283.190972,156.261563,75.137885,45.129353,200.465631,253.940359,136.892341,, +D,DREGION,,3,"2023/12/14 18:40:00",1,VIC1,0,52.62713,0,52.62713,0,0,5195.91,7,5140.88,7,-62.02,0,,,104,,,,,,,,98.91,,,,,,,,79,,,,,,,,117.76,,,,,,,,159,,,,,,,,128,,,,,,49.24679,8096.48267,345,5171.10205,5211.63,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.26,0.26,0,0.26,0.26,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,1,1,0,654,669.60,671.60,115,336,625.40,463,426.099509,, +D,DREGION,,3,"2023/12/14 18:45:00",1,NSW1,0,213.10754,0,213.10754,0,0,12720.59,-34,12447.6,0,-272.99,0,,,70,,,,,,,,69,,,,,,,,67,,,,,,,,15.07,,,,,,,,24,,,,,,,,24.67,,,,,,42.29194,13052.56493,47,12708.88379,12720.56,,5,,,,40,,,,,,,,,,,,,,,,,,,1.43,1.43,0,0.79,0.79,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,3.98,3.98,0,83.068390,89.068390,79.068390,76.618885,261,343,234,415.308888,, +D,DREGION,,3,"2023/12/14 18:45:00",1,QLD1,0,228.81,0,228.81,0,0,9237.39,-1,9576.86,0,339.47,0,,,0,,,,,,,,73.35,,,,,,,,17.9,,,,,,,,19,,,,,,,,164.33,,,,,,,,163,,,,,,0,10860.54524,125,9255.18066,9239.38,,109.72,,,,318,,,,,,,,,,,,,,,,,,,1.43,1.43,0,0.79,0.79,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,3.98,3.98,0,240,283.333333,155,415.985050,287,400,170,408.250123,, +D,DREGION,,3,"2023/12/14 18:45:00",1,SA1,0,174.84,0,174.84,0,0,1335.11,15,1590.63,11,244.52,0,,,27,,,,,,,,30,,,,,,,,30,,,,,,,,88,,,,,,,,140,,,,,,,,167,,,,,,-3.48157,3449.41966,299,1326.08984,1348.7,,22,,,,10,,,,,,,,,,,,,,,,,,,1.43,1.43,0,0.79,0.79,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,3.98,3.98,0,274,286,285,294.885880,228,228,225,283.114120,, +D,DREGION,,3,"2023/12/14 18:45:00",1,TAS1,0,169.92484,0,169.92484,0,0,1075.59,1,998.69,0,-76.9,0,,,56.57,,,,,,,,90.81,,,,,,,,90.81,,,,,,,,0,,,,,,,,26.89,,,,,,,,26.89,,,,,,3.74743,2418.49457,0,1070.84363,1075.59,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0,0,0,80.85484,80.85484,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,2.5,2.5,0,154.557978,177.640972,21.515723,50,117.046927,320.052941,384.514812,193.287293,, +D,DREGION,,3,"2023/12/14 18:45:00",1,VIC1,0,187.71676,0,187.71676,0,0,5276.89,6,5049.88,0,-227.01,0,,,70,,,,,,,,70,,,,,,,,70,,,,,,,,143,,,,,,,,204.33,,,,,,,,178,,,,,,49.39743,7991.87784,346,5232.66406,5279.44,,23.28,,,,0,,,,,,,,,,,,,,,,,,,1.43,1.43,0,0.79,0.79,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,3.98,3.98,0,649,654,656,100,198,380,264,322.848533,, +D,DREGION,,3,"2023/12/14 18:50:00",1,NSW1,0,134.65222,0,134.65222,0,0,12617.53,-33,12361.29,0,-256.24,0,,,70,,,,,,,,69,,,,,,,,67,,,,,,,,18.35,,,,,,,,29.4,,,,,,,,32.73,,,,,,0,12913.36263,47,12647.82324,12618.65,,15,,,,40,,,,,,,,,,,,,,,,,,,2.25,2.25,0,1.43,1.43,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.03,0.03,0,0.39,0.39,0,19.89,19.89,0,136.067750,142.067750,132.067750,169.079167,341,423,334,392.787746,, +D,DREGION,,3,"2023/12/14 18:50:00",1,QLD1,0,145.20003,0,145.20003,0,0,9149.83,1,9463.35,0,313.53,0,,,0,,,,,,,,130,,,,,,,,85.53,,,,,,,,23,,,,,,,,164.33,,,,,,,,167,,,,,,-5.12799,10854.24846,125,9153.85449,9152.27,,101,,,,318,,,,,,,,,,,,,,,,,,,2.25,2.25,0,1.43,1.43,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.03,0.03,0,0.39,0.39,0,19.89,19.89,0,250,293.333333,165,445.985050,312,435,205,419.946407,, +D,DREGION,,3,"2023/12/14 18:50:00",1,SA1,0,139.44,0,139.44,0,0,1340.45,15,1575.52,13.56,221.51,0,,,39.11,,,,,,,,41,,,,,,,,41,,,,,,,,88,,,,,,,,137,,,,,,,,166,,,,,,0,3421.0059,299,1340.01526,1356.11,,47,,,,10,,,,,,,,,,,,,,,,,,,2.25,2.25,0,1.43,1.43,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.03,0.03,0,0.39,0.39,0,19.89,19.89,0,272,283,282,299.557780,226.442220,226.442220,224.442220,278.442220,, +D,DREGION,,3,"2023/12/14 18:50:00",1,TAS1,0,98.2,0,98.2,0,0,1095.75,1,1095.75,0,0,0,,,17.6,,,,,,,,117.6,,,,,,,,117.6,,,,,,,,34.58,,,,,,,,134.57,,,,,,,,134.57,,,,,,7.23069,2403.78327,0,1087.51819,1095.75,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,35.13,35.13,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,178.854274,260.969611,111.515723,49.999983,124.901105,307.994118,364.721798,177.039110,, +D,DREGION,,3,"2023/12/14 18:50:00",1,VIC1,0,148.93068,0,148.93068,0,0,5257.34,7,4986.59,0,-270.75,0,,,116,,,,,,,,95.49,,,,,,,,81,,,,,,,,156,,,,,,,,223,,,,,,,,188,,,,,,0,7934.58652,348,5257.74609,5259.72,,47,,,,0,,,,,,,,,,,,,,,,,,,2.25,2.25,0,1.43,1.43,0,0.3,0.3,0,0.3,0.3,0,0.01,0.01,0,0.03,0.03,0,0.39,0.39,0,19.89,19.89,0,648,653,655,105,361,595,474,451.843650,, +D,DREGION,,3,"2023/12/14 18:55:00",1,NSW1,0,255.30468,0,255.30468,0,0,12623.72,-39,12138.57,0,-485.15,0,,,43,,,,,,,,42,,,,,,,,40,,,,,,,,49,,,,,,,,52,,,,,,,,71,,,,,,49.56434,12789.15149,47,12614.20117,12619.61,,23,,,,0,,,,,,,,,,,,,,,,,,,4.35,4.35,0,0.75,0.75,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0,173.736020,179.736020,169.736020,152.123184,318,360,341,390.152038,, +D,DREGION,,3,"2023/12/14 18:55:00",1,QLD1,0,266.65,0,266.65,0,0,9140.14,-1,9624.06,0,483.92,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,21,,,,,,,,147.28,,,,,,,,158.95,,,,,,-17.79483,10865.22228,125,9160.05273,9138.37,,81,,,,318,,,,,,,,,,,,,,,,,,,4.35,4.35,0,0.75,0.75,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0,222.947080,266.280413,137.947080,415.985050,312,435,205,421.687490,, +D,DREGION,,3,"2023/12/14 18:55:00",1,SA1,0,67.31885,0,67.31885,0,0,1362.95,15,1585.74,0,222.79,0,,,57.1,,,,,,,,30,,,,,,,,30,,,,,,,,141.34,,,,,,,,175,,,,,,,,169,,,,,,-1.5469,3398.74465,299,1365.01904,1365.08,,22,,,,10,,,,,,,,,,,,,,,,,,,4.35,4.35,0,0.75,0.75,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0,271,283,282,241,229,229,228,342,, +D,DREGION,,3,"2023/12/14 18:55:00",1,TAS1,0,70.12,0,70.12,0,0,1093.5,0,1111.17,0,17.67,0,,,17.66,,,,,,,,117.66,,,,,,,,117.66,,,,,,,,32.79,,,,,,,,132.79,,,,,,,,132.79,,,,,,12.72592,2407.77888,0,1080.77197,1093.47,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.56,3.56,0,234.354132,399.420491,299.022363,189.704329,139.405313,408.783409,488.290221,260.029929,, +D,DREGION,,3,"2023/12/14 18:55:00",1,VIC1,0,71.90092,0,71.90092,0,0,5257.03,8,5018.74,0,-238.29,0,,,126,,,,,,,,134.46,,,,,,,,88.4,,,,,,,,114,,,,,,,,179.42,,,,,,,,154.76,,,,,,26.84142,7877.74252,349,5227.58154,5261.77,,84,,,,0,,,,,,,,,,,,,,,,,,,4.35,4.35,0,0.75,0.75,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.17,0.17,0,0.39,0.39,0,0.71,0.71,0,602,606,608,64,364,598,481,544.445151,, +D,DREGION,,3,"2023/12/14 19:00:00",1,NSW1,0,275.22695,0,275.22695,0,0,12575.55,-34,12070.15,0,-505.41,0,,,43.9,,,,,,,,70.51,,,,,,,,40,,,,,,,,50,,,,,,,,53,,,,,,,,71,,,,,,21.42857,12734.78751,47,12589.42969,12571.35,,35,,,,0,,,,,,,,,,,,,,,,,,,4.89,4.89,0,0.86,0.86,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,2,2,0,164.086850,171.086850,161.086850,151.332764,381,463,384,405.576069,, +D,DREGION,,3,"2023/12/14 19:00:00",1,QLD1,0,285.75,0,285.75,0,0,9200.35,1,9699.66,0,499.3,0,,,28,,,,,,,,149,,,,,,,,110,,,,,,,,21,,,,,,,,121.94,,,,,,,,127,,,,,,-0.59795,10875.21808,125,9198.74023,9198.45,,88,,,,318,,,,,,,,,,,,,,,,,,,4.89,4.89,0,0.86,0.86,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,2,2,0,198,226.020973,113,401.837783,312,435,205,416.756405,, +D,DREGION,,3,"2023/12/14 19:00:00",1,SA1,0,68.83514,0,68.83514,0,0,1371.96,14,1590.71,22,196.75,0,,,99,,,,,,,,57,,,,,,,,64.69,,,,,,,,90,,,,,,,,177,,,,,,,,170,,,,,,-5.30611,3403.70874,300,1367.63953,1395.56,,28,,,,10,,,,,,,,,,,,,,,,,,,4.89,4.89,0,0.86,0.86,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,2,2,0,272,285,284,258,230,230,230,321,, +D,DREGION,,3,"2023/12/14 19:00:00",1,TAS1,0,70.18,0,70.18,0,0,1108.71,0,1212.95,0,104.25,0,,,17.66,,,,,,,,117.66,,,,,,,,117.66,,,,,,,,31.47,,,,,,,,131.46,,,,,,,,131.46,,,,,,17.23697,2408.90159,0,1091.46936,1109.42,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,219.116037,318.622634,198.365423,90.379744,176.375706,480.744418,589.511863,177.150306,, +D,DREGION,,3,"2023/12/14 19:00:00",1,VIC1,0,73.12884,0,73.12884,0,0,5187.4,7,4894.65,0,-292.75,0,,,55,,,,,,,,60,,,,,,,,55,,,,,,,,163.33,,,,,,,,202,,,,,,,,185.94,,,,,,23.25481,7846.6517,352,5166.84668,5193.34,,59,,,,1,,,,,,,,,,,,,,,,,,,4.89,4.89,0,0.86,0.86,0,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.45,0.45,0,0.45,0.45,0,2,2,0,647,652,654,106,304.0001,543.0001,421.0001,440.843650,, +D,DREGION,,3,"2023/12/14 19:05:00",1,NSW1,0,181.61968,0,181.61968,0,0,12485.01,-37,11927.06,0,-557.95,0,,,71,,,,,,,,70,,,,,,,,67,,,,,,,,86,,,,,,,,53,,,,,,,,57,,,,,,0,12688.08516,47,12519.34766,12486.68,,0,,,,11,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.38,0.38,0,1.61,1.61,0,0.2,0.2,0,0.38,0.38,0,0.39,0.39,0,0.71,0.71,0,154.531430,161.531430,151.531430,106.121921,321,364,345,392.227294,, +D,DREGION,,3,"2023/12/14 19:05:00",1,QLD1,0,190.74,0,190.74,0,0,9165.95,-2,9610.41,0,444.46,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,21,,,,,,,,130.33,,,,,,,,133,,,,,,0,10855.68149,125,9165.76855,9165,,81,,,,108,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.38,0.38,0,1.61,1.61,0,0.2,0.2,0,0.38,0.38,0,0.39,0.39,0,0.71,0.71,0,247,290.333333,163,260.325824,312,435,205,413.280527,, +D,DREGION,,3,"2023/12/14 19:05:00",1,SA1,0,99.98,0,99.98,0,0,1385.63,14,1702.67,25,292.05,0,,,43.56,,,,,,,,28,,,,,,,,28,,,,,,,,90,,,,,,,,80.87,,,,,,,,136,,,,,,-10.75058,3496.77757,309,1404.69861,1414.4,,22,,,,30,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.38,0.38,0,1.61,1.61,0,0.2,0.2,0,0.38,0.38,0,0.39,0.39,0,0.71,0.71,0,271,285,284,251,222,222,222,352,, +D,DREGION,,3,"2023/12/14 19:05:00",1,TAS1,0,103.02839,0,103.02839,0,0,1119.87,0,1295.42,0,175.55,0,,,60,,,,,,,,47.53,,,,,,,,0,,,,,,,,81.53,,,,,,,,152.3,,,,,,,,92.5,,,,,,19.93618,2415.4214,0,1101.08447,1122.31,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.38,0.38,0,9.11,9.11,0,0.2,0.2,0,0.38,0.38,0,0.39,0.39,0,2.5,2.5,0,181.201234,280.713682,134.165723,55.813270,164.659869,503.239615,680.345557,528.841582,, +D,DREGION,,3,"2023/12/14 19:05:00",1,VIC1,0,109.06503,0,109.06503,0,0,5178.36,0,4854.43,6,-329.93,0,,,54,,,,,,,,64,,,,,,,,55.75,,,,,,,,154,,,,,,,,137,,,,,,,,135,,,,,,22.42688,7765.26716,409,5163.20605,5201.6,,57,,,,21,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.38,0.38,0,1.61,1.61,0,0.2,0.2,0,0.38,0.38,0,0.39,0.39,0,0.71,0.71,0,649,654,656,157,358,622.16,449,491.781250,, +D,DREGION,,3,"2023/12/14 19:10:00",1,NSW1,0,172.4309,0,172.4309,0,0,12393.03,-40,11751.85,0,-641.18,0,,,71,,,,,,,,69,,,,,,,,67,,,,,,,,86,,,,,,,,89,,,,,,,,57,,,,,,-12.22798,12578.2991,47,12446.82031,12396.3,,0,,,,11,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.72,0.72,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,174.550350,181.550350,171.550350,102.816388,381,463,385,370.635969,, +D,DREGION,,3,"2023/12/14 19:10:00",1,QLD1,0,179.65125,0,179.65125,0,0,9103.72,-2,9572.09,0,468.37,0,,,0,,,,,,,,130,,,,,,,,110,,,,,,,,23,,,,,,,,134.99,,,,,,,,134,,,,,,1.63975,10854.71019,125,9102.25977,9102.16,,77.89,,,,107,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.72,0.72,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,250,293.333333,165,281.422550,312,435,205,430.889668,, +D,DREGION,,3,"2023/12/14 19:10:00",1,SA1,0,140.99,0,140.99,0,0,1396.66,13,1739.45,0,342.79,0,,,31,,,,,,,,31,,,,,,,,31,,,,,,,,166.47,,,,,,,,119,,,,,,,,138,,,,,,-2.48081,3432.7021,315,1410.49597,1401.93,,34,,,,15,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.72,0.72,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,273,285,284,219.531530,219,221,220,383,, +D,DREGION,,3,"2023/12/14 19:10:00",1,TAS1,0,144.99248,0,144.99248,0,0,1116.99,0,1391.03,0,274.04,0,,,36.19,,,,,,,,9.46,,,,,,,,0,,,,,,,,3,,,,,,,,55.75,,,,,,,,96.74,,,,,,12.25477,2406.97747,0,1108.35156,1123.39,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.72,0.72,0,0.39,0.39,0,38.92248,38.92248,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,2.5,2.5,0,159.887169,175.671627,30.515723,50,163.634571,565.374370,782.950502,631.819715,, +D,DREGION,,3,"2023/12/14 19:10:00",1,VIC1,0,156.29516,0,156.29516,0,0,5244.32,-1,4864.35,25,-404.97,0,,,87,,,,,,,,97,,,,,,,,59.72,,,,,,,,156,,,,,,,,160,,,,,,,,133,,,,,,28.059,7750.2283,431,5231.86475,5294.98,,48.11,,,,40,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.72,0.72,0,0.39,0.39,0,0.39,0.39,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,648,662.88,664.88,169.9999,352.0001,642.1201,455.0001,493.912109,, +D,DREGION,,3,"2023/12/14 19:15:00",1,NSW1,0,184.24997,0,184.24997,0,0,12334.07,-48,11583.26,0,-750.82,0,,,71,,,,,,,,70,,,,,,,,67,,,,,,,,86,,,,,,,,53,,,,,,,,57,,,,,,-27.93726,12491.81786,47,12416.22754,12339.84,,20,,,,11,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,2,2,0,174.580260,181.580260,171.580260,92.121921,321,364,345,326.793151,, +D,DREGION,,3,"2023/12/14 19:15:00",1,QLD1,0,190.74,0,190.74,0,0,9112.61,-6,9619.41,0,506.8,0,,,0,,,,,,,,95,,,,,,,,33.57,,,,,,,,26,,,,,,,,193.33,,,,,,,,196,,,,,,-11.51442,10839.452,125,9128.74316,9110.43,,82,,,,152,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,2,2,0,307.511190,350.844523,162.511190,330.714990,287,400,170,431.197922,, +D,DREGION,,3,"2023/12/14 19:15:00",1,SA1,0,148.52315,0,148.52315,0,0,1421.3,12,1761.26,0,339.96,0,,,44,,,,,,,,44,,,,,,,,44,,,,,,,,100.9,,,,,,,,94.3,,,,,,,,141.83,,,,,,5.18451,3383.44553,321,1409.3645,1426.48,,20,,,,15,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,2,2,0,311.826087,323,321,235.851472,275,288,279,438.851470,, +D,DREGION,,3,"2023/12/14 19:15:00",1,TAS1,0,148.46548,0,148.46548,0,0,1116.03,0,1511.76,0,395.73,0,,,21.86,,,,,,,,37.39,,,,,,,,37.39,,,,,,,,24,,,,,,,,73.7,,,,,,,,15.51,,,,,,7.93187,2395.7106,0,1116.58618,1129.71,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.39,0.39,0,39.39548,39.39548,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,135.781906,120.671627,30.515723,49.999977,194.236261,545.227311,764.111244,600.350610,, +D,DREGION,,3,"2023/12/14 19:15:00",1,VIC1,0,164.47803,0,164.47803,0,0,5252.93,4,4841.1,25,-436.83,0,,,88,,,,,,,,89.91,,,,,,,,86,,,,,,,,167,,,,,,,,144,,,,,,,,148,,,,,,31.22072,7717.1035,428,5246.71387,5310.34,,38,,,,25,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.38,0.38,0,2,2,0,646,651,653,140.336710,272,572,370,441.074219,, +D,DREGION,,3,"2023/12/14 19:20:00",1,NSW1,0,175.75927,0,175.75927,0,0,12197.59,-45,11521.23,0,-676.36,0,,,71,,,,,,,,70,,,,,,,,67,,,,,,,,84,,,,,,,,79,,,,,,,,84,,,,,,-39.37061,12447.0849,47,12292.09375,12207.74,,20,,,,0,,,,,,,,,,,,,,,,,,,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,1.24,1.24,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.99,3.99,0,174.577580,180.577580,169.577580,91.870144,381,464,385,362.993923,, +D,DREGION,,3,"2023/12/14 19:20:00",1,QLD1,0,185.19,0,185.19,0,0,9111.72,-8,9527.94,0,416.22,0,,,0,,,,,,,,121.47,,,,,,,,39.03,,,,,,,,24,,,,,,,,124.33,,,,,,,,153,,,,,,2.87137,10823.87982,125,9115.12793,9111.61,,79.76,,,,116,,,,,,,,,,,,,,,,,,,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,1.24,1.24,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.99,3.99,0,240,284.333333,165,293.985050,312,435,205,427.762155,, +D,DREGION,,3,"2023/12/14 19:20:00",1,SA1,0,143.19927,0,143.19927,0,0,1421.09,11,1728.57,0,307.48,0,,,44,,,,,,,,44,,,,,,,,43,,,,,,,,157.76,,,,,,,,163.81,,,,,,,,163.81,,,,,,0,3336.57215,331,1414.85303,1425.3,,39.24,,,,20,,,,,,,,,,,,,,,,,,,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,1.24,1.24,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.99,3.99,0,305.807692,331,326,247.223449,275,291,281,448.851470,, +D,DREGION,,3,"2023/12/14 19:20:00",1,TAS1,0,142.43474,0,142.43474,0,0,1119.54,1,1492.33,0,372.79,0,,,0,,,,,,,,15.85,,,,,,,,15.85,,,,,,,,25,,,,,,,,73.7,,,,,,,,3,,,,,,11.44602,2378.28101,0,1121.75989,1131.65,,50,,,,50,,,,,,,,,,,,,,,,,,,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,33.36474,33.36474,0,0.38,0.38,0,0.38,0.38,0,0.17,0.17,0,3.5,3.5,0,135.887169,120.671627,31.515723,49.999977,199.804610,598.227311,881.092669,725.679817,, +D,DREGION,,3,"2023/12/14 19:20:00",1,VIC1,0,157.05865,0,157.05865,0,0,5196.46,3,4845.77,12,-362.69,0,,,108.24,,,,,,,,84,,,,,,,,104,,,,,,,,144,,,,,,,,116,,,,,,,,153.04,,,,,,24.46356,7687.77315,430,5220.18457,5239.55,,21,,,,34,,,,,,,,,,,,,,,,,,,0.86,0.86,0,0.39,0.39,0,0.39,0.39,0,1.24,1.24,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.99,3.99,0,614,619,621,116,405,642,502,555.9375,, +D,DREGION,,3,"2023/12/14 19:25:00",1,NSW1,0,178.00261,0,178.00261,0,0,12268.58,-49,11524.18,0,-744.4,0,,,71,,,,,,,,70,,,,,,,,67,,,,,,,,84,,,,,,,,79,,,,,,,,65,,,,,,0,12451.87978,47,12325.97656,12277.33,,0,,,,0,,,,,,,,,,,,,,,,,,,1.84,1.84,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,174.699640,180.699640,169.699640,91.870144,381,464,385,362.920681,, +D,DREGION,,3,"2023/12/14 19:25:00",1,QLD1,0,185.19,0,185.19,0,0,9088.6,-13,9558.02,0,469.42,0,,,0,,,,,,,,95,,,,,,,,36.29,,,,,,,,28,,,,,,,,193.33,,,,,,,,200,,,,,,0,10806.8214,125,9100.09082,9087.26,,90.77,,,,167,,,,,,,,,,,,,,,,,,,1.84,1.84,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,310,353.333333,165,366.4538,287,400,170,439.415769,, +D,DREGION,,3,"2023/12/14 19:25:00",1,SA1,0,148.98421,0,148.98421,0,0,1444.85,9,1668.24,0,223.39,0,,,47,,,,,,,,47,,,,,,,,45,,,,,,,,171,,,,,,,,116.21,,,,,,,,145.3,,,,,,14.20705,3276.23725,341,1424.96082,1446.99,,10,,,,10,,,,,,,,,,,,,,,,,,,1.84,1.84,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,307.807692,333,328,265.851470,277,294,284,456.675261,, +D,DREGION,,3,"2023/12/14 19:25:00",1,TAS1,0,144.31749,0,144.31749,0,0,1115.68,1,1493.92,0,378.24,0,,,25.88,,,,,,,,24.58,,,,,,,,21.05,,,,,,,,18,,,,,,,,68.76,,,,,,,,43,,,,,,3.18996,2370.3686,0,1126.34583,1128.15,,50,,,,50,,,,,,,,,,,,,,,,,,,1.84,1.84,0,0.39,0.39,0,0.49,0.49,0,35.24749,35.24749,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,135.781906,115.731375,24.515723,49.999977,197.434564,562.227311,889.187241,683.830760,, +D,DREGION,,3,"2023/12/14 19:25:00",1,VIC1,0,159.14502,0,159.14502,0,0,5250.77,2,4973.7,0,-277.08,0,,,80,,,,,,,,99,,,,,,,,99,,,,,,,,119.6,,,,,,,,92,,,,,,,,96,,,,,,19.80653,7681.69617,430,5264.14746,5278.32,,59.23,,,,0,,,,,,,,,,,,,,,,,,,1.84,1.84,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.38,0.38,0,0.38,0.38,0,0.71,0.71,0,523,527,529,32,201,326,244,555.692283,, +D,DREGION,,3,"2023/12/14 19:30:00",1,NSW1,0,301.38681,0,301.38681,0,0,12192.34,-48,11037.79,0,-1154.54,0,,,54,,,,,,,,60.71,,,,,,,,9.37,,,,,,,,94,,,,,,,,96,,,,,,,,122,,,,,,-44.26373,12465.47124,47,12288.46484,12206.71,,0,,,,0,,,,,,,,,,,,,,,,,,,31.51,31.51,0,1.49,1.49,0,0.72,0.72,0,32.99,32.99,0,0,0,0,0,0,0,0.08,0.08,0,0.71,0.71,0,174.675230,180.675230,169.675230,91.870144,411,524,435,407.749782,, +D,DREGION,,3,"2023/12/14 19:30:00",1,QLD1,0,296,0,296,0,0,9025.56,-15,9787.27,0,761.7,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,33,,,,,,,,114.43,,,,,,,,128.1,,,,,,4.27181,10805.11434,125,9034.06543,9023.42,,69.52,,,,136.74,,,,,,,,,,,,,,,,,,,31.51,31.51,0,1.49,1.49,0,0.72,0.72,0,32.99,32.99,0,0,0,0,0,0,0,0.08,0.08,0,0.71,0.71,0,174.214610,191.547943,115,195.726481,312,435,205,425.679601,, +D,DREGION,,3,"2023/12/14 19:30:00",1,SA1,0,237.87,0,237.87,0,0,1445.3,8,1779.96,0,334.66,0,,,35,,,,,,,,47,,,,,,,,33,,,,,,,,176,,,,,,,,185,,,,,,,,179.81,,,,,,5.03677,3235.42337,345,1434.729,1450.32,,10,,,,79.26,,,,,,,,,,,,,,,,,,,31.51,31.51,0,1.49,1.49,0,0.72,0.72,0,32.99,32.99,0,0,0,0,0,0,0,0.08,0.08,0,0.71,0.71,0,192.008902,222.201210,217.201210,108.105317,278,295,285,575.597620,, +D,DREGION,,3,"2023/12/14 19:30:00",1,TAS1,0,115.18,0,115.18,0,0,1108.18,1,1590.56,0,482.38,0,,,17.65,,,,,,,,117.65,,,,,,,,117.65,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,0.89584,2346.46381,0,1120.38293,1128.56,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.11,8.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,160.209585,179.232752,173.321253,66.305552,216.515702,616.605840,950.412830,555.365930,, +D,DREGION,,3,"2023/12/14 19:30:00",1,VIC1,0,263.42284,0,263.42284,0,0,5264.64,1,4922.2,0,-342.44,0,,,120.53,,,,,,,,114,,,,,,,,109,,,,,,,,125.73,,,,,,,,155.47,,,,,,,,121,,,,,,10.93827,7625.20192,433,5275.83301,5308.77,,80.48,,,,4,,,,,,,,,,,,,,,,,,,31.51,31.51,0,1.49,1.49,0,0.72,0.72,0,32.99,32.99,0,0,0,0,0,0,0,0.08,0.08,0,0.71,0.71,0,530.333333,541,543,29,415,652,519,693.912009,, +D,DREGION,,3,"2023/12/14 19:35:00",1,NSW1,0,221.41452,0,221.41452,0,0,12063.94,-53,11102.83,0,-961.11,0,,,64,,,,,,,,70,,,,,,,,8.79,,,,,,,,106,,,,,,,,97,,,,,,,,122.07,,,,,,-46.78793,12455.13336,57,12180.14258,12075.99,,10,,,,3,,,,,,,,,,,,,,,,,,,33.46011,33.46011,0,1.49,1.49,0,0.75,0.75,0,12,12,0,0,0,0,0.01,0.01,0,0,0,0,0.71,0.71,0,174.393920,181.393920,170.393920,81.870144,301,384,285,332.974079,, +D,DREGION,,3,"2023/12/14 19:35:00",1,QLD1,0,223.82999,0,223.82999,0,0,8980.6,-24,9565.73,0,585.13,0,,,0,,,,,,,,17.36,,,,,,,,0,,,,,,,,33,,,,,,,,142.33,,,,,,,,157,,,,,,17.98321,10788.85021,125,8985.40137,8977.89,,98.65,,,,180.52,,,,,,,,,,,,,,,,,,,33.46011,33.46011,0,1.49,1.49,0,0.75,0.75,0,12,12,0,0,0,0,0.01,0.01,0,0,0,0,0.71,0.71,0,216,254.333333,130,258.922550,312,435,205,339.809442,, +D,DREGION,,3,"2023/12/14 19:35:00",1,SA1,0,174.84,0,174.84,0,0,1452.91,7,1805.85,0,352.94,0,,,37,,,,,,,,46,,,,,,,,31,,,,,,,,146,,,,,,,,150,,,,,,,,162.87,,,,,,3.15722,3203.18509,356,1447.23071,1458.52,,10,,,,30,,,,,,,,,,,,,,,,,,,33.46011,33.46011,0,1.49,1.49,0,0.75,0.75,0,12,12,0,0,0,0,0.01,0.01,0,0,0,0,0.71,0.71,0,245.201295,261.335910,260.072752,109.335910,276,293,283,592.515560,, +D,DREGION,,3,"2023/12/14 19:35:00",1,TAS1,0,115.16,0,115.16,0,0,1116.01,0,1593.5,0,477.48,0,,,13.12,,,,,,,,113.12,,,,,,,,113.12,,,,,,,,0,,,,,,,,4.47,,,,,,,,4.47,,,,,,7.0442,2379.62597,0,1128.95874,1135.98,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.38,0.38,0,0,0,0,8.11,8.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,179.524714,254.711226,180.515723,119.800022,192.682496,594.938809,1003.700950,684.148429,, +D,DREGION,,3,"2023/12/14 19:35:00",1,VIC1,0,193.84488,0,193.84488,0,0,5249.9,2,4873.82,0,-376.08,0,,,114,,,,,,,,94,,,,,,,,109,,,,,,,,143.59,,,,,,,,157.6,,,,,,,,105,,,,,,1.17365,7620.82309,445,5288.74219,5293.34,,41.35,,,,2,,,,,,,,,,,,,,,,,,,33.46011,33.46011,0,1.49,1.49,0,0.75,0.75,0,12,12,0,0,0,0,0.01,0.01,0,0,0,0,0.71,0.71,0,563,567,569,77.589310,376,496,440,596.600425,, +D,DREGION,,3,"2023/12/14 19:40:00",1,NSW1,0,299.99,0,299.99,0,0,12002.07,-59,10746.28,0,-1255.78,0,,,54,,,,,,,,70,,,,,,,,19.13,,,,,,,,95,,,,,,,,59,,,,,,,,87.7,,,,,,-18.90057,12441.1004,57,12091.21191,12016.84,,18.93,,,,12,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.49,1.49,0,0.75,0.75,0,26.14124,26.14124,0,0,0,0,0.01,0.01,0,0.08,0.08,0,1,1,0,163.320680,170.320680,159.320680,43.637302,451,564,485,488.528591,, +D,DREGION,,3,"2023/12/14 19:40:00",1,QLD1,0,289.54852,0,289.54852,0,0,8942.28,-29,9773.69,0,831.41,0,,,0,,,,,,,,3.16,,,,,,,,0,,,,,,,,35,,,,,,,,175.33,,,,,,,,200,,,,,,3.12317,10781.58202,125,8965.96777,8939.21,,98.07,,,,164,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.49,1.49,0,0.75,0.75,0,26.14124,26.14124,0,0,0,0,0.01,0.01,0,0.08,0.08,0,1,1,0,245.078420,261.155623,112,200.985053,312,435,205,451.074238,, +D,DREGION,,3,"2023/12/14 19:40:00",1,SA1,0,231.02124,0,231.02124,0,0,1451.72,6,1857.43,0,405.7,0,,,35,,,,,,,,47,,,,,,,,33,,,,,,,,161,,,,,,,,152,,,,,,,,158.87,,,,,,7.42423,3171.42664,362,1442.91296,1459.13,,10,,,,42,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.49,1.49,0,0.75,0.75,0,26.14124,26.14124,0,0,0,0,0.01,0.01,0,0.08,0.08,0,1,1,0,164.865385,181,179.6875,50,278,295,285,663.851470,, +D,DREGION,,3,"2023/12/14 19:40:00",1,TAS1,0,54.22,0,54.22,0,0,1126.48,0,1608.85,0,482.38,0,,,17.34,,,,,,,,117.33,,,,,,,,117.33,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,7.97765,2385.44917,0,1137.33948,1146.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.15,8.15,0,0.58588,0.58588,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,175.454538,224.890877,168.010663,51.809990,237.307319,642.259757,1017.981531,715.690196,, +D,DREGION,,3,"2023/12/14 19:40:00",1,VIC1,0,260.69175,0,260.69175,0,0,5234.4,1,4861.17,0,-373.23,0,,,121.9,,,,,,,,104,,,,,,,,99,,,,,,,,137.31,,,,,,,,165.23,,,,,,,,105,,,,,,0.47597,7600.17126,446,5271.55176,5285.39,,33,,,,2,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.49,1.49,0,0.75,0.75,0,26.14124,26.14124,0,0,0,0,0.01,0.01,0,0.08,0.08,0,1,1,0,564,568,570,53,391.0001,506.0001,445.0001,611.786032,, +D,DREGION,,3,"2023/12/14 19:45:00",1,NSW1,0,295.42724,0,295.42724,0,0,11915.86,-66,10666.36,0,-1249.5,0,,,67.43,,,,,,,,70,,,,,,,,21.13,,,,,,,,104,,,,,,,,95,,,,,,,,116,,,,,,-24.34654,12407.23115,57,12024.68164,11929.74,,30,,,,23,,,,,,,,,,,,,,,,,,,25,25,0,1.49,1.49,0,0.75,0.75,0,23.71095,23.71095,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0,173.8656,179.8656,168.8656,47.134491,391,464,445,462.342468,, +D,DREGION,,3,"2023/12/14 19:45:00",1,QLD1,0,286.72095,0,286.72095,0,0,8923.16,-33,9706.64,0,783.48,0,,,0,,,,,,,,11.38,,,,,,,,0,,,,,,,,32,,,,,,,,160.33,,,,,,,,175,,,,,,0,10800.6907,125,8954.25488,8917.9,,77,,,,153,,,,,,,,,,,,,,,,,,,25,25,0,1.49,1.49,0,0.75,0.75,0,23.71095,23.71095,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0,217,225.333333,145,189.523369,312,435,205,385.505258,, +D,DREGION,,3,"2023/12/14 19:45:00",1,SA1,0,229.88,0,229.88,0,0,1452.95,4,1807,0,354.05,0,,,47,,,,,,,,47,,,,,,,,34,,,,,,,,144,,,,,,,,147,,,,,,,,155.67,,,,,,0,3144.29773,362,1454.85498,1458.58,,20,,,,40,,,,,,,,,,,,,,,,,,,25,25,0,1.49,1.49,0,0.75,0.75,0,23.71095,23.71095,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0,217.157109,228.295040,227.461707,97.295040,279,295,285,618.556430,, +D,DREGION,,3,"2023/12/14 19:45:00",1,TAS1,0,54.2087,0,54.2087,0,0,1116.53,0,1598.91,0,482.38,0,,,17.6,,,,,,,,117.59,,,,,,,,117.59,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-1.02065,2386.80162,0,1136.66882,1136.91,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.1387,8.1387,0,0.56261,0.56261,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,177.799044,225.816592,178.290644,61.000018,237.569823,643.140801,1006.699096,704.834165,, +D,DREGION,,3,"2023/12/14 19:45:00",1,VIC1,0,254.8369,0,254.8369,0,0,5144.11,-7,4858.37,0,-285.74,0,,,96,,,,,,,,96,,,,,,,,91,,,,,,,,147.72,,,,,,,,149.34,,,,,,,,105,,,,,,-0.72624,7585.36809,446,5201.08838,5194.15,,33,,,,4,,,,,,,,,,,,,,,,,,,25,25,0,1.49,1.49,0,0.75,0.75,0,23.71095,23.71095,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0,552,556,558,54,380.0001,622.0001,510.0001,646.562399,, +D,DREGION,,3,"2023/12/14 19:50:00",1,NSW1,0,299.99,0,299.99,0,0,11836.46,-71,10774.68,0,-1061.78,0,,,61.45,,,,,,,,43,,,,,,,,34.03,,,,,,,,104,,,,,,,,95,,,,,,,,121,,,,,,-29.72309,12461.09848,57,11949.01563,11844.14,,30,,,,23,,,,,,,,,,,,,,,,,,,35.78461,35.78461,0,1.49,1.49,0,0.75,0.75,0,35.81461,35.81461,0,0,0,0,0.01,0.01,0,0.15,0.15,0,1.5,1.5,0,173.890010,179.890010,168.890010,47.121921,451,564,485,457.501010,, +D,DREGION,,3,"2023/12/14 19:50:00",1,QLD1,0,298.82461,0,298.82461,0,0,9009.84,-29,9638.15,0,628.31,0,,,0,,,,,,,,54.18,,,,,,,,0,,,,,,,,34,,,,,,,,140.99,,,,,,,,154.66,,,,,,12.3077,10549.21205,125,9023.74316,9002.42,,100.39,,,,117,,,,,,,,,,,,,,,,,,,35.78461,35.78461,0,1.49,1.49,0,0.75,0.75,0,35.81461,35.81461,0,0,0,0,0.01,0.01,0,0.15,0.15,0,1.5,1.5,0,199.6562,208.989533,128.6562,147,312,435,205,457.391621,, +D,DREGION,,3,"2023/12/14 19:50:00",1,SA1,0,231.70534,0,231.70534,0,0,1470.61,3,1870.85,0,400.24,0,,,35,,,,,,,,33,,,,,,,,26,,,,,,,,156,,,,,,,,160,,,,,,,,169.86,,,,,,15.95825,3109.84731,362,1455.88098,1477.81,,14.61,,,,58,,,,,,,,,,,,,,,,,,,35.78461,35.78461,0,1.49,1.49,0,0.75,0.75,0,35.81461,35.81461,0,0,0,0,0.01,0.01,0,0.15,0.15,0,1.5,1.5,0,172.862069,186,184.166667,58,278,295,285,642.851470,, +D,DREGION,,3,"2023/12/14 19:50:00",1,TAS1,0,54.22,0,54.22,0,0,1117.32,0,1599.7,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-2.67274,2384.88686,0,1139.71167,1137.7,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.15,8.15,0,0.58588,0.58588,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,177.494836,224.764830,175.601743,59.530570,237.357322,636.803880,1009.315827,707.180516,, +D,DREGION,,3,"2023/12/14 19:50:00",1,VIC1,0,261.03409,0,261.03409,0,0,5183.25,-9,4830.01,18,-371.24,0,,,116,,,,,,,,96,,,,,,,,86,,,,,,,,143.79,,,,,,,,165.53,,,,,,,,116,,,,,,8.22249,7573.00672,447,5224.02881,5251.32,,15,,,,22,,,,,,,,,,,,,,,,,,,35.78461,35.78461,0,1.49,1.49,0,0.75,0.75,0,35.81461,35.81461,0,0,0,0,0.01,0.01,0,0.15,0.15,0,1.5,1.5,0,563,567,569,68.3060,405,702,525,657.222718,, +D,DREGION,,3,"2023/12/14 19:55:00",1,NSW1,0,299.99,0,299.99,0,0,11737.44,-74,10738.14,0,-999.3,0,,,65.06,,,,,,,,70,,,,,,,,1.38,,,,,,,,82.57,,,,,,,,81.21,,,,,,,,105.69,,,,,,-6.52821,12478.13526,57,11825.87305,11739.41,,30,,,,23,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.96,1.96,0,0.69,0.69,0,32.99,32.99,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0,163.982170,169.982170,158.982170,46.193264,451,564,485,488.276814,, +D,DREGION,,3,"2023/12/14 19:55:00",1,QLD1,0,296.58207,0,296.58207,0,0,9002.44,-28,9657.74,0,655.3,0,,,0,,,,,,,,9.03,,,,,,,,0,,,,,,,,31,,,,,,,,87.33,,,,,,,,109,,,,,,-4.92896,10516.06334,125,9030.66895,8995.1,,102,,,,114,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.96,1.96,0,0.69,0.69,0,32.99,32.99,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0,167.301180,176.634513,123,137,312,435,205,452.708027,, +D,DREGION,,3,"2023/12/14 19:55:00",1,SA1,0,236.94618,0,236.94618,0,0,1471.97,2,1857.74,0,385.77,0,,,49,,,,,,,,49,,,,,,,,49,,,,,,,,164,,,,,,,,171,,,,,,,,166.86,,,,,,20.22525,3063.74273,362,1456.23535,1478.66,,20,,,,54,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.96,1.96,0,0.69,0.69,0,32.99,32.99,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0,190.861869,204.9998,203.166467,70,281,298,288,640.851470,, +D,DREGION,,3,"2023/12/14 19:55:00",1,TAS1,0,54.2,0,54.2,0,0,1115.56,-1,1597.94,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,0,,,,,,,,0,,,,,,-0.61475,2392.88336,0,1137.50378,1135.94,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,178.562989,230.487975,185.379833,66.286823,237.357403,664.265476,999.819305,699.7887,, +D,DREGION,,3,"2023/12/14 19:55:00",1,VIC1,0,265.52076,0,265.52076,0,0,5211.07,-8,4775.73,25,-460.34,0,,,96,,,,,,,,96,,,,,,,,96,,,,,,,,159,,,,,,,,221,,,,,,,,179,,,,,,9.4995,7536.7307,447,5261.87695,5278.18,,8,,,,29,,,,,,,,,,,,,,,,,,,20.46,20.46,0,1.96,1.96,0,0.69,0.69,0,32.99,32.99,0,0,0,0,0.01,0.01,0,0,0,0,2,2,0,580,584,586,43.9999,380,622,510,619.600525,, +D,DREGION,,3,"2023/12/14 20:00:00",1,NSW1,0,299.99,0,299.99,0,0,11692.79,-76,10525.19,0,-1167.59,0,,,75.74,,,,,,,,70,,,,,,,,16.66,,,,,,,,104,,,,,,,,95,,,,,,,,119.01,,,,,,-6.33154,12461.45488,57,11783.49316,11703.38,,30,,,,23,,,,,,,,,,,,,,,,,,,30,30,0,1.49,1.49,0,0.75,0.75,0,30.03,30.03,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1.5,1.5,0,178.408210,184.408210,173.408210,46.870144,451,564,485,477.505580,, +D,DREGION,,3,"2023/12/14 20:00:00",1,QLD1,0,293.04,0,293.04,0,0,8946.57,-28,9643.11,0,696.53,0,,,0,,,,,,,,21.11,,,,,,,,0,,,,,,,,35,,,,,,,,161.21,,,,,,,,174.87,,,,,,0,10768.03615,125,8971.05762,8939.52,,81,,,,123,,,,,,,,,,,,,,,,,,,30,30,0,1.49,1.49,0,0.75,0.75,0,30.03,30.03,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1.5,1.5,0,231.507860,240.841193,145.8730,153,312,435,205,426.226976,, +D,DREGION,,3,"2023/12/14 20:00:00",1,SA1,0,232.78558,0,232.78558,0,0,1478.6,1,1848.66,0,370.06,0,,,56,,,,,,,,55,,,,,,,,53,,,,,,,,142,,,,,,,,146,,,,,,,,157.86,,,,,,23.6652,3040.65778,362,1459.95435,1484.75,,16,,,,70,,,,,,,,,,,,,,,,,,,30,30,0,1.49,1.49,0,0.75,0.75,0,30.03,30.03,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1.5,1.5,0,181.862069,197,195.166667,91,285,303,293,633.851470,, +D,DREGION,,3,"2023/12/14 20:00:00",1,TAS1,0,54.2,0,54.2,0,0,1115.25,-2,1597.63,0,482.38,0,,,18.67,,,,,,,,118.67,,,,,,,,118.67,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-4.48627,2407.85847,0,1140.14294,1135.63,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,184.093188,240.963707,200.663743,78.920130,238.644833,657.345346,984.409798,682.838692,, +D,DREGION,,3,"2023/12/14 20:00:00",1,VIC1,0,259.45927,0,259.45927,0,0,5182.7,-12,4881.87,0,-300.83,0,,,76,,,,,,,,76,,,,,,,,76,,,,,,,,151.37,,,,,,,,154.54,,,,,,,,105,,,,,,0,7552.86903,447,5251.60205,5233.17,,33,,,,4,,,,,,,,,,,,,,,,,,,30,30,0,1.49,1.49,0,0.75,0.75,0,30.03,30.03,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1.5,1.5,0,508.0001,512.0001,514.0001,4,390,632,515,732.031049,, +D,DREGION,,3,"2023/12/14 20:05:00",1,NSW1,0,141.33776,0,141.33776,0,0,11598.98,-79,10764.77,0,-834.2,0,,,57.62,,,,,,,,46,,,,,,,,0,,,,,,,,134.05,,,,,,,,112.91,,,,,,,,110.24,,,,,,-17.57787,12352.83057,147,11710.625,11610.07,,11.98,,,,23,,,,,,,,,,,,,,,,,,,2.96,2.96,0,0.72,0.72,0,0.72,0.72,0,3.67,3.67,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1,1,0,178.039670,184.039670,173.039670,89.996914,351,424,396,403.415825,, +D,DREGION,,3,"2023/12/14 20:05:00",1,QLD1,0,146.65212,0,146.65212,0,0,8899.07,-25,9280.56,0,381.49,0,,,0,,,,,,,,13.54,,,,,,,,0,,,,,,,,34,,,,,,,,208.05,,,,,,,,216.72,,,,,,6.28284,10769.59378,125,8915.05078,8893.02,,1.03,,,,177,,,,,,,,,,,,,,,,,,,2.96,2.96,0,0.72,0.72,0,0.72,0.72,0,3.67,3.67,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1,1,0,293.716240,335.049573,146,273.3750,312,435,205,249.153282,, +D,DREGION,,3,"2023/12/14 20:05:00",1,SA1,0,118.44,0,118.44,0,0,1476.79,0,1605.07,0,128.29,0,,,41,,,,,,,,54,,,,,,,,44,,,,,,,,155,,,,,,,,154,,,,,,,,145,,,,,,24.89313,2866.22175,362,1457.83691,1477.34,,10,,,,20,,,,,,,,,,,,,,,,,,,2.96,2.96,0,0.72,0.72,0,0.72,0.72,0,3.67,3.67,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1,1,0,296,304,301,255.851470,283,301,291,424.594773,, +D,DREGION,,3,"2023/12/14 20:05:00",1,TAS1,0,54.2,0,54.2,0,0,1116.97,-2,1599.35,0,482.38,0,,,17.62,,,,,,,,117.62,,,,,,,,117.62,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-8.75965,2434.54618,0,1147.55518,1137.35,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,192.330031,256.002154,225.930123,106.348350,237.594796,629.917126,958.926093,658.931187,, +D,DREGION,,3,"2023/12/14 20:05:00",1,VIC1,0,123.24231,0,123.24231,0,0,5188.91,-17,5094.32,0,-94.59,0,,,114,,,,,,,,114,,,,,,,,109,,,,,,,,111,,,,,,,,84,,,,,,,,87,,,,,,17.48426,7424.32362,447,5236.38428,5226.3,,137,,,,0,,,,,,,,,,,,,,,,,,,2.96,2.96,0,0.72,0.72,0,0.72,0.72,0,3.67,3.67,0,0,0,0,0.01,0.01,0,0.07,0.07,0,1,1,0,592.0001,596.0001,598.0001,72,371,616,500,637.692183,, +D,DREGION,,3,"2023/12/14 20:10:00",1,NSW1,0,257.35274,0,257.35274,0,0,11517.55,-83,10466.7,5,-1055.85,0,,,45.97,,,,,,,,51,,,,,,,,0,,,,,,,,102,,,,,,,,85,,,,,,,,106,,,,,,-0.25277,12189.69471,147,11615.48828,11548.99,,14,,,,0,,,,,,,,,,,,,,,,,,,2.95,2.95,0,0.86,0.86,0,0.75,0.75,0,2.35,2.35,0,0,0,0,0.01,0.01,0,0,0,0,1,1,0,147.982170,143.982170,132.982170,38.978122,456,569,491,428.537746,, +D,DREGION,,3,"2023/12/14 20:10:00",1,QLD1,0,265.36,0,265.36,0,0,8958.81,-22,9356.22,0,397.41,0,,,0,,,,,,,,7.99,,,,,,,,0,,,,,,,,34,,,,,,,,202.64,,,,,,,,216.74,,,,,,-8.29874,11055.77691,125,8984.88086,8952.44,,1,,,,200,,,,,,,,,,,,,,,,,,,2.95,2.95,0,0.86,0.86,0,0.75,0.75,0,2.35,2.35,0,0,0,0,0.01,0.01,0,0,0,0,1,1,0,294.742360,338.075693,132.742360,250,312,435,205,317.740441,, +D,DREGION,,3,"2023/12/14 20:10:00",1,SA1,0,197.87762,0,197.87762,0,0,1460.73,-1,1759.21,0,298.48,0,,,55,,,,,,,,57,,,,,,,,47,,,,,,,,158,,,,,,,,156,,,,,,,,142.9,,,,,,10.62879,2791.21001,362,1451.97705,1464.69,,10,,,,20,,,,,,,,,,,,,,,,,,,2.95,2.95,0,0.86,0.86,0,0.75,0.75,0,2.35,2.35,0,0,0,0,0.01,0.01,0,0,0,0,1,1,0,292,304,302,60.303313,286,304,294,564.851470,, +D,DREGION,,3,"2023/12/14 20:10:00",1,TAS1,0,54.18,0,54.18,0,0,1118.33,-2,1600.71,0,482.38,0,,,17.62,,,,,,,,117.62,,,,,,,,117.62,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-13.83468,2453.40311,0,1153.21765,1138.71,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.11,8.11,0,0.50353,0.50353,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,203.719494,270.950514,244.428883,124.614730,237.594763,611.650746,941.335464,641.286360,, +D,DREGION,,3,"2023/12/14 20:10:00",1,VIC1,0,215.8827,0,215.8827,0,0,5198.55,-16,5183.68,0,-14.87,0,,,114,,,,,,,,114,,,,,,,,109,,,,,,,,134.62,,,,,,,,110,,,,,,,,88,,,,,,27.42183,7420.67772,447,5224.6875,5261.69,,135,,,,0,,,,,,,,,,,,,,,,,,,2.95,2.95,0,0.86,0.86,0,0.75,0.75,0,2.35,2.35,0,0,0,0,0.01,0.01,0,0,0,0,1,1,0,539,543,544,39.3080,371,616,500,681.379683,, +D,DREGION,,3,"2023/12/14 20:15:00",1,NSW1,0,215.36836,0,215.36836,0,0,11311.9,-84,10460.76,25,-876.14,0,,,51.47,,,,,,,,46.33,,,,,,,,16,,,,,,,,103,,,,,,,,86,,,,,,,,100,,,,,,-11.49911,12178.01712,147,11436.16504,11364.32,,23,,,,13,,,,,,,,,,,,,,,,,,,2.25,2.25,0,0.86,0.86,0,0.75,0.75,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1,1,0,148.252930,144.252930,133.252930,59.995938,391,464,446,378.415825,, +D,DREGION,,3,"2023/12/14 20:15:00",1,QLD1,0,228.81,0,228.81,0,0,8985.88,-22,9234.42,0,248.54,0,,,0,,,,,,,,20,,,,,,,,0,,,,,,,,33,,,,,,,,192.33,,,,,,,,223,,,,,,0,11052.54501,125,9001.22852,8981.71,,1,,,,207,,,,,,,,,,,,,,,,,,,2.25,2.25,0,0.86,0.86,0,0.75,0.75,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1,1,0,306,349.333333,143,303.9375,312,435,205,284.523922,, +D,DREGION,,3,"2023/12/14 20:15:00",1,SA1,0,173.44,0,173.44,0,0,1449.6,-1,1615.63,0,166.03,0,,,43,,,,,,,,44,,,,,,,,34,,,,,,,,171,,,,,,,,161.49,,,,,,,,149,,,,,,0,2687.10886,362,1453.95923,1450.69,,10,,,,0,,,,,,,,,,,,,,,,,,,2.25,2.25,0,0.86,0.86,0,0.75,0.75,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1,1,0,301,308,305,106.480840,286,305,295,398.719110,, +D,DREGION,,3,"2023/12/14 20:15:00",1,TAS1,0,54.2,0,54.2,0,0,1117.85,-2,1600.23,0,482.38,0,,,17.59,,,,,,,,117.58,,,,,,,,117.58,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-10.04255,2413.71475,0,1145.58667,1138.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,185.146456,242.921616,204.914753,85.177764,237.557285,651.087716,981.129890,680.848993,, +D,DREGION,,3,"2023/12/14 20:15:00",1,VIC1,0,182.36127,0,182.36127,0,0,5140.48,-20,5218.37,0,77.89,0,,,114,,,,,,,,114,,,,,,,,114,,,,,,,,121.96,,,,,,,,115,,,,,,,,82.83,,,,,,0,7429.37203,447,5215.20117,5194.46,,126,,,,0,,,,,,,,,,,,,,,,,,,2.25,2.25,0,0.86,0.86,0,0.75,0.75,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1,1,0,518,522,523,22,421,656,535,713.593650,, +D,DREGION,,3,"2023/12/14 20:20:00",1,NSW1,0,221,0,221,0,0,11298.82,-87,10396.29,22.53,-925.06,0,,,75.15,,,,,,,,72.18,,,,,,,,23.61,,,,,,,,91,,,,,,,,84.72,,,,,,,,82.06,,,,,,5.82599,12118.55417,147,11426.30176,11342.65,,25,,,,0,,,,,,,,,,,,,,,,,,,1.49,1.49,0,0.72,0.72,0,0.72,0.72,0,0.72,0.72,0,0,0,0,0.01,0.01,0,0.01,0.01,0,9.88,9.88,0,147.252930,143.252930,132.252930,60.651341,411,524,436,395.130281,, +D,DREGION,,3,"2023/12/14 20:20:00",1,QLD1,0,230.21582,0,230.21582,0,0,8921.04,-23,9254.66,0,333.61,0,,,0,,,,,,,,20,,,,,,,,0,,,,,,,,29.03,,,,,,,,217.33,,,,,,,,223,,,,,,-4.15596,10926.70555,125,8941.28516,8915.1,,6,,,,207,,,,,,,,,,,,,,,,,,,1.49,1.49,0,0.72,0.72,0,0.72,0.72,0,0.72,0.72,0,0,0,0,0.01,0.01,0,0.01,0.01,0,9.88,9.88,0,306,337.333333,143,315,312,435,205,314,, +D,DREGION,,3,"2023/12/14 20:20:00",1,SA1,0,180.24484,0,180.24484,0,0,1444.14,-2,1593.57,0,149.43,0,,,54,,,,,,,,53,,,,,,,,45,,,,,,,,167,,,,,,,,165,,,,,,,,158,,,,,,1.14773,2644.56856,362,1445.95532,1444.97,,29,,,,0,,,,,,,,,,,,,,,,,,,1.49,1.49,0,0.72,0.72,0,0.72,0.72,0,0.72,0.72,0,0,0,0,0.01,0.01,0,0.01,0.01,0,9.88,9.88,0,291,302,298,84.409820,284,302,292,404.851470,, +D,DREGION,,3,"2023/12/14 20:20:00",1,TAS1,0,54.2,0,54.2,0,0,1111.36,-3,1593.74,0,482.38,0,,,17.37,,,,,,,,117.37,,,,,,,,117.37,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-2.08492,2432.07638,0,1135.5647,1131.74,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,193.583610,258.489942,230.067863,110.768291,237.344824,625.497186,955.762970,655.970832,, +D,DREGION,,3,"2023/12/14 20:20:00",1,VIC1,0,188.52242,0,188.52242,0,0,5161.41,-20,5207.27,0,45.86,0,,,86,,,,,,,,86,,,,,,,,86,,,,,,,,111,,,,,,,,88,,,,,,,,92,,,,,,27.77998,7472.26567,447,5205.87842,5211.06,,100,,,,44,,,,,,,,,,,,,,,,,,,1.49,1.49,0,0.72,0.72,0,0.72,0.72,0,0.72,0.72,0,0,0,0,0.01,0.01,0,0.01,0.01,0,9.88,9.88,0,545,549,550,80,421,656,535,645.411033,, +D,DREGION,,3,"2023/12/14 20:25:00",1,NSW1,0,155.39697,0,155.39697,0,0,11158.53,-83,10315.37,25,-868.17,0,,,46,,,,,,,,46,,,,,,,,0,,,,,,,,97.02,,,,,,,,50,,,,,,,,65,,,,,,0,12155.66218,147,11288.09375,11203.13,,30,,,,0,,,,,,,,,,,,,,,,,,,0.76,0.76,0,0.39,0.39,0,0.72,0.72,0,0.91,0.91,0,0,0,0,0.01,0.01,0,0,0,0,12,12,0,148.870910,144.870910,133.870910,63.121921,451,564,486,348.465426,, +D,DREGION,,3,"2023/12/14 20:25:00",1,QLD1,0,162.60896,0,162.60896,0,0,8885.49,-24,9189.1,0,303.62,0,,,0,,,,,,,,14.19,,,,,,,,0,,,,,,,,31,,,,,,,,210.05,,,,,,,,221,,,,,,0,10941.21334,125,8904.11621,8879.96,,22,,,,207,,,,,,,,,,,,,,,,,,,0.76,0.76,0,0.39,0.39,0,0.72,0.72,0,0.91,0.91,0,0,0,0,0.01,0.01,0,0,0,0,12,12,0,308,339.333333,144,316,312,435,205,314,, +D,DREGION,,3,"2023/12/14 20:25:00",1,SA1,0,130.25002,0,130.25002,0,0,1457.37,-3,1523.18,0,65.81,0,,,56,,,,,,,,58,,,,,,,,47,,,,,,,,169,,,,,,,,158,,,,,,,,134,,,,,,-2.89438,2626.92232,362,1468.56567,1457.32,,30,,,,0,,,,,,,,,,,,,,,,,,,0.76,0.76,0,0.39,0.39,0,0.72,0.72,0,0.91,0.91,0,0,0,0,0.01,0.01,0,0,0,0,12,12,0,304,311,306,110.851470,286,305,295,388.186645,, +D,DREGION,,3,"2023/12/14 20:25:00",1,TAS1,0,54.2,0,54.2,0,0,1102.35,-3,1584.73,0,482.38,0,,,17.6,,,,,,,,117.6,,,,,,,,117.6,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-5.53033,2425.68035,0,1126.76611,1122.73,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,0.54471,0.54471,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,194.531394,260.286144,232.683563,112.920674,237.569865,623.344806,953.125790,653.063903,, +D,DREGION,,3,"2023/12/14 20:25:00",1,VIC1,0,132.72,0,132.72,0,0,5026.38,-26,5122.12,0,95.74,0,,,114,,,,,,,,114,,,,,,,,114,,,,,,,,130,,,,,,,,136,,,,,,,,134.05,,,,,,0,7418.39209,447,5095.75488,5071.36,,78,,,,13,,,,,,,,,,,,,,,,,,,0.76,0.76,0,0.39,0.39,0,0.72,0.72,0,0.91,0.91,0,0,0,0,0.01,0.01,0,0,0,0,12,12,0,609.274790,604.274790,566.274790,40.225410,421,656,535,597.475010,, +D,DREGION,,3,"2023/12/14 20:30:00",1,NSW1,0,174.80082,0,174.80082,0,0,11091,-84,10264.65,25,-851.35,0,,,55,,,,,,,,53,,,,,,,,16,,,,,,,,92,,,,,,,,77,,,,,,,,75,,,,,,-3.55713,12159.19051,147,11219.59277,11142.18,,30,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.72,0.72,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.2,0.2,0,24.88,24.88,0,138.8410,144.8410,133.8410,63.121921,381,464,386,347.041713,, +D,DREGION,,3,"2023/12/14 20:30:00",1,QLD1,0,185.19,0,185.19,0,0,8899.19,-26,9134,0,234.82,0,,,0,,,,,,,,20,,,,,,,,0,,,,,,,,34.55,,,,,,,,183.33,,,,,,,,210,,,,,,-12.06611,10948.64332,125,8931.92383,8894.93,,26,,,,215,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.72,0.72,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.2,0.2,0,24.88,24.88,0,300,331.333333,135,322.593750,312,435,205,314,, +D,DREGION,,3,"2023/12/14 20:30:00",1,SA1,0,143.116,0,143.116,0,0,1440.46,-3,1547.9,0,107.43,0,,,45,,,,,,,,44.59,,,,,,,,41,,,,,,,,171,,,,,,,,159.44,,,,,,,,163,,,,,,-10.92591,2622.89705,362,1454.66943,1440.77,,31,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.72,0.72,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.2,0.2,0,24.88,24.88,0,307,314,308,108.054290,286,305,295,404.851470,, +D,DREGION,,3,"2023/12/14 20:30:00",1,TAS1,0,54.18,0,54.18,0,0,1103.72,-3,1586.1,0,482.38,0,,,17.57,,,,,,,,117.57,,,,,,,,117.57,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,-1.23593,2430.37815,0,1124.64526,1124.1,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.11,8.11,0,0.50353,0.50353,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,196.138846,261.587558,235.014363,115.535370,237.544874,620.730106,949.772592,649.911549,, +D,DREGION,,3,"2023/12/14 20:30:00",1,VIC1,0,148.11473,0,148.11473,0,0,5048.51,-30,5168.82,0,120.31,0,,,114.37,,,,,,,,114,,,,,,,,99.12,,,,,,,,138,,,,,,,,143,,,,,,,,114.78,,,,,,19.45423,7461.8158,447,5098.99756,5099.49,,73,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.72,0.72,0,2.75,2.75,0,0,0,0,0.01,0.01,0,0.2,0.2,0,24.88,24.88,0,603,611,559,37.3090,371,616,500,567.755759,, +D,DREGION,,3,"2023/12/14 20:35:00",1,NSW1,0,140,0,140,0,0,10929.99,-87,9977.88,63,-1015.11,0,,,49.43,,,,,,,,44.74,,,,,,,,0,,,,,,,,75,,,,,,,,77,,,,,,,,85,,,,,,-16.65522,12095.78748,147,11075.9541,11031.61,,55,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.68,0.68,0,0.78,0.78,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0,148.797660,144.797660,379.797660,109.688144,363,446,388,350.789523,, +D,DREGION,,3,"2023/12/14 20:35:00",1,QLD1,0,146.93798,0,146.93798,0,0,8774.41,-30,9024.02,0,249.62,0,,,0,,,,,,,,20,,,,,,,,0,,,,,,,,30,,,,,,,,188.33,,,,,,,,188,,,,,,-23.62084,10951.91302,125,8821.66113,8769.85,,1,,,,210,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.68,0.68,0,0.78,0.78,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0,305,336.333333,140,334.883370,312,435,205,314,, +D,DREGION,,3,"2023/12/14 20:35:00",1,SA1,0,116.81591,0,116.81591,0,0,1448.69,-3,1445.5,29,-32.19,0,,,45,,,,,,,,58,,,,,,,,48,,,,,,,,166.94,,,,,,,,147.92,,,,,,,,161,,,,,,-2.31216,2607.18201,362,1456.17957,1477.44,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.68,0.68,0,0.78,0.78,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0,305,314,306,139.851470,284,306,296,331.333068,, +D,DREGION,,3,"2023/12/14 20:35:00",1,TAS1,0,54.2,0,54.2,0,0,1096.61,-3,1578.99,0,482.38,0,,,17.57,,,,,,,,117.57,,,,,,,,117.57,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,2.73631,2412.95833,0,1112.7605,1116.99,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,192.425687,256.497807,224.800513,101.7690,239.270384,634.496476,960.070387,657.892386,, +D,DREGION,,3,"2023/12/14 20:35:00",1,VIC1,0,115.99817,0,115.99817,0,0,5012,-27,5446.51,0,434.51,0,,,124,,,,,,,,114,,,,,,,,114,,,,,,,,158,,,,,,,,145,,,,,,,,124.25,,,,,,13.41655,7458.51003,447,5066.19531,5077.01,,84,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.68,0.68,0,0.78,0.78,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0,647.666667,654,604,84,396,636,525,570.194075,, +D,DREGION,,3,"2023/12/14 20:40:00",1,NSW1,0,140,0,140,0,0,10901.98,-73,10057.74,72,-916.24,0,,,64.78,,,,,,,,61,,,,,,,,24,,,,,,,,92,,,,,,,,77,,,,,,,,85,,,,,,-29.75332,12086.5788,147,11098.94141,11006.7,,55,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,6,6,0,175.305860,171.305860,406.305860,130.241055,384,497,429,258.764034,, +D,DREGION,,3,"2023/12/14 20:40:00",1,QLD1,0,147.96361,0,147.96361,0,0,8784.5,-34,9003.07,0,218.58,0,,,0,,,,,,,,29.86,,,,,,,,0,,,,,,,,27,,,,,,,,193.33,,,,,,,,192,,,,,,-32.58351,10957.25943,125,8844.40625,8780.39,,7,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,6,6,0,309,341.333333,144,335.406250,312,435,205,312.635799,, +D,DREGION,,3,"2023/12/14 20:40:00",1,SA1,0,118.44,0,118.44,0,0,1438.68,-3,1424.46,27,-41.22,0,,,47,,,,,,,,49,,,,,,,,41.5,,,,,,,,168,,,,,,,,143.46,,,,,,,,163,,,,,,-7.98412,2587.70596,362,1473.48303,1465.46,,44,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,6,6,0,307,316,307,137.851470,277,296,286,366.750820,, +D,DREGION,,3,"2023/12/14 20:40:00",1,TAS1,0,54.2,0,54.2,0,0,1112.25,-3,1594.63,0,482.38,0,,,17.72,,,,,,,,117.72,,,,,,,,117.72,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,7.53419,2408.59479,0,1125.74927,1132.63,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,185.867846,244.560538,205.700883,82.669370,239.157481,653.596106,980.341979,677.992016,, +D,DREGION,,3,"2023/12/14 20:40:00",1,VIC1,0,117.04047,0,117.04047,0,0,5052.76,-29,5424.31,9,362.55,0,,,104,,,,,,,,94,,,,,,,,94,,,,,,,,138.72,,,,,,,,145,,,,,,,,118.79,,,,,,7.15018,7469.95847,447,5135.93799,5119.03,,54,,,,7,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,6,6,0,642,647,598,82,244.0001,368.0001,320.0001,420.316367,, +D,DREGION,,3,"2023/12/14 20:45:00",1,NSW1,0,140,0,140,0,0,10842.66,-74,9931.68,25,-935.98,0,,,74,,,,,,,,54.82,,,,,,,,0,,,,,,,,98.79,,,,,,,,77,,,,,,,,85,,,,,,-9.51809,12031.59384,147,11025.25195,10906.36,,45,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0.01,0.01,0,0,0,0,1.5,1.5,0,148.773260,144.773260,379.773260,84.870144,281,324,316,316.443695,, +D,DREGION,,3,"2023/12/14 20:45:00",1,QLD1,0,148.8467,0,148.8467,0,0,8798.18,-35,8979.9,0,181.72,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,27,,,,,,,,197.08,,,,,,,,209.08,,,,,,-41.54618,10956.77972,125,8869.34375,8794.58,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0.01,0.01,0,0,0,0,1.5,1.5,0,309,341.333333,143,323.263580,252,375,205,314,, +D,DREGION,,3,"2023/12/14 20:45:00",1,SA1,0,117.15595,0,117.15595,0,0,1436.15,-4,1395.74,0,-40.42,0,,,60,,,,,,,,60,,,,,,,,51,,,,,,,,146,,,,,,,,152,,,,,,,,163,,,,,,-11.11744,2565.73805,362,1478.84473,1435.93,,19,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0.01,0.01,0,0,0,0,1.5,1.5,0,307,316,307,110.851470,277,280,280,387,, +D,DREGION,,3,"2023/12/14 20:45:00",1,TAS1,0,54.2,0,54.2,0,0,1110.81,-3,1593.19,0,482.38,0,,,17.46,,,,,,,,117.46,,,,,,,,117.46,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,12.07403,2392.09534,0,1119.45801,1131.19,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,180.746295,235.085670,190.541093,67.509580,239.157481,664.265476,995.630242,693.151806,, +D,DREGION,,3,"2023/12/14 20:45:00",1,VIC1,0,116.2009,0,116.2009,0,0,5018.61,-23,5449.43,0,430.82,0,,,124,,,,,,,,114,,,,,,,,114,,,,,,,,168,,,,,,,,145,,,,,,,,114,,,,,,-2.11366,7456.42966,447,5103.84619,5081.88,,95,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0.01,0.01,0,0,0,0,1.5,1.5,0,614,619,573,68,371,676,510,578.535933,, +D,DREGION,,3,"2023/12/14 20:50:00",1,NSW1,0,137.69,0,137.69,0,0,10682.35,-73,9667.51,25,-1039.84,0,,,83,,,,,,,,61,,,,,,,,53.16,,,,,,,,95,,,,,,,,80,,,,,,,,88,,,,,,-22.61619,12002.73564,206,10845.61035,10754.88,,57,,,,30,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,0.71,0.71,0,151.865410,147.865410,382.865410,84.870144,354,437,379,386.838764,, +D,DREGION,,3,"2023/12/14 20:50:00",1,QLD1,0,145.19,0,145.19,0,0,8700.91,-39,8912.31,13,198.41,0,,,0,,,,,,,,57.42,,,,,,,,0,,,,,,,,27,,,,,,,,183.33,,,,,,,,181,,,,,,-38.459,10970.64373,125,8775.10742,8710.26,,1,,,,185,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,0.71,0.71,0,271,303.333333,134,293,252,375,205,301,, +D,DREGION,,3,"2023/12/14 20:50:00",1,SA1,0,114.41117,0,114.41117,0,0,1438.31,-3,1379.87,0,-58.44,0,,,61,,,,,,,,61,,,,,,,,56,,,,,,,,166,,,,,,,,150.56,,,,,,,,161,,,,,,-0.88445,2548.87298,362,1452.47314,1438.16,,10,,,,0,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,0.71,0.71,0,305,314,305,103.694854,285,308,298,387,, +D,DREGION,,3,"2023/12/14 20:50:00",1,TAS1,0,54.22,0,54.22,0,0,1107.54,-4,1589.91,0,482.38,0,,,17.46,,,,,,,,117.46,,,,,,,,117.46,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,11.56042,2383.19642,0,1116.45544,1127.91,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.15,8.15,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,178.648455,231.017182,184.016353,60.984840,239.270384,664.276189,1001.200175,698.676546,, +D,DREGION,,3,"2023/12/14 20:50:00",1,VIC1,0,112.44475,0,112.44475,0,0,4916.66,-24,5472.15,0,555.5,0,,,68.66,,,,,,,,53,,,,,,,,53,,,,,,,,141.14,,,,,,,,145,,,,,,,,128.89,,,,,,-2.91143,7468.15484,447,5006.60742,4990.56,,92,,,,5,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,0.71,0.71,0,607,612,566,69,420.9999,654.9999,543.9999,616.593550,, +D,DREGION,,3,"2023/12/14 20:55:00",1,NSW1,0,137.69,0,137.69,0,0,10534.1,-79,9559.25,25,-999.85,0,,,93,,,,,,,,61,,,,,,,,58,,,,,,,,95,,,,,,,,80,,,,,,,,88,,,,,,-30.95238,11989.84965,206,10703.77637,10601.49,,57,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.08,0.08,0,0.71,0.71,0,151.797660,147.797660,382.797660,85.121921,384,497,429,402.722730,, +D,DREGION,,3,"2023/12/14 20:55:00",1,QLD1,0,144.56224,0,144.56224,0,0,8564.69,-44,8794.93,27,203.24,0,,,0,,,,,,,,70,,,,,,,,18.57,,,,,,,,27,,,,,,,,193.33,,,,,,,,197.71,,,,,,-43.17459,10996.31059,125,8660.05664,8587.88,,1,,,,192,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.08,0.08,0,0.71,0.71,0,310,341.333333,143,313.3591,248,370,200,287,, +D,DREGION,,3,"2023/12/14 20:55:00",1,SA1,0,115.98145,0,115.98145,0,0,1440.64,-4,1368.28,2,-74.35,0,,,63,,,,,,,,63,,,,,,,,58,,,,,,,,168,,,,,,,,144.38,,,,,,,,163,,,,,,3.53792,2537.28359,362,1441.70166,1442.58,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.08,0.08,0,0.71,0.71,0,307,316,307,109.050384,287,310,300,385,, +D,DREGION,,3,"2023/12/14 20:55:00",1,TAS1,0,54.2,0,54.2,0,0,1101.68,-4,1584.06,0,482.38,0,,,17.47,,,,,,,,117.47,,,,,,,,117.47,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,12.70909,2378.75964,0,1110.54248,1122.06,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.13,8.13,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,179.3574,232.516213,186.429963,63.398450,239.157481,664.265476,999.776212,697.262936,, +D,DREGION,,3,"2023/12/14 20:55:00",1,VIC1,0,113.40556,0,113.40556,0,0,4921.62,-27,5463.45,26,515.83,0,,,50.58,,,,,,,,33.33,,,,,,,,29,,,,,,,,127.96,,,,,,,,145,,,,,,,,114,,,,,,3.29975,7463.45424,447,5008.38721,5015.97,,92,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.03,0.03,0,0.08,0.08,0,0.71,0.71,0,605,610,562,90,396.9999,628.9999,517.9999,586.570051,, +D,DREGION,,3,"2023/12/14 21:00:00",1,NSW1,0,137.69,0,137.69,0,0,10428.25,-83,9466.97,25,-986.28,0,,,83,,,,,,,,61,,,,,,,,58,,,,,,,,95,,,,,,,,80,,,,,,,,88,,,,,,-10.94259,11950.90153,206,10581.75781,10492.18,,67,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.72,0.72,0,151.712950,147.712950,382.712950,84.127659,214,257,239,283.630981,, +D,DREGION,,3,"2023/12/14 21:00:00",1,QLD1,0,144.41425,0,144.41425,0,0,8561.89,-43,8781.63,4,215.74,0,,,0,,,,,,,,64.22,,,,,,,,9.86,,,,,,,,30,,,,,,,,188.33,,,,,,,,198.91,,,,,,-44.96285,10998.66466,125,8672.04492,8561.91,,1,,,,200,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.72,0.72,0,305,336.333333,136,320.406250,252,375,205,309.832027,, +D,DREGION,,3,"2023/12/14 21:00:00",1,SA1,0,116.57382,0,116.57382,0,0,1445.95,-4,1354.43,0,-91.51,0,,,63,,,,,,,,63,,,,,,,,58,,,,,,,,168,,,,,,,,150.58,,,,,,,,163,,,,,,7.73748,2568.43179,362,1443.95728,1446.03,,21,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.72,0.72,0,307,315,307,110.851470,287,310,300,387,, +D,DREGION,,3,"2023/12/14 21:00:00",1,TAS1,0,54.47772,0,54.47772,0,0,1105.17,-4,1587.55,0,482.38,0,,,28.74,,,,,,,,117.47,,,,,,,,117.47,,,,,,,,0,,,,,,,,0,,,,,,,,3,,,,,,9.90821,2363.79996,0,1115.95618,1125.55,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,175.404317,230.044960,171.981123,50.000010,238.638003,672.781085,1013.337399,715.503443,, +D,DREGION,,3,"2023/12/14 21:00:00",1,VIC1,0,113.56242,0,113.56242,0,0,4936.16,-23,5436.13,0,499.97,0,,,48,,,,,,,,38,,,,,,,,38,,,,,,,,139.95,,,,,,,,145,,,,,,,,114,,,,,,6.18096,7432.12926,447,5026.49658,5001.05,,71,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,2.75,2.75,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,0.72,0.72,0,597,602,557,68,189,371,261,447.9999,, +D,DREGION,,3,"2023/12/14 21:05:00",1,NSW1,0,137.69,0,137.69,0,0,10319.9,-87,9395.31,25,-949.59,0,,,53,,,,,,,,24.84,,,,,,,,0,,,,,,,,97.56,,,,,,,,80,,,,,,,,88,,,,,,-5.74749,12005.67578,206,10473.50195,10381.43,,67,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.72,0.72,0,273.798120,269.798120,514.798120,164.907532,364,437,439,338.755112,, +D,DREGION,,3,"2023/12/14 21:05:00",1,QLD1,0,144.0284,0,144.0284,0,0,8480.88,-45,8728.01,3,244.13,0,,,0,,,,,,,,47,,,,,,,,12.04,,,,,,,,40,,,,,,,,243.33,,,,,,,,243,,,,,,-36.13756,10672.33437,125,8562.14844,8481.97,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.72,0.72,0,313,344.333333,143,339,252,375,205,311,, +D,DREGION,,3,"2023/12/14 21:05:00",1,SA1,0,118.58247,0,118.58247,0,0,1429.17,-5,1331.76,0,-97.41,0,,,58,,,,,,,,58,,,,,,,,49,,,,,,,,166,,,,,,,,124.11,,,,,,,,147.45,,,,,,4.16381,2567.57385,362,1431.38684,1429.3,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.72,0.72,0,305,313,305,65.851468,288,308,298,404.851470,, +D,DREGION,,3,"2023/12/14 21:05:00",1,TAS1,0,54.3637,0,54.3637,0,0,1083.61,-5,1565.98,0,482.38,0,,,17.17,,,,,,,,117.17,,,,,,,,117.17,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,11.95625,2367.06662,0,1095.92834,1103.98,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.2937,8.2937,0,1.14387,1.14387,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,176.229744,234.554633,171.224841,50.000035,234.144962,654.010028,991.982883,717.548436,, +D,DREGION,,3,"2023/12/14 21:05:00",1,VIC1,0,115.35614,0,115.35614,0,0,4910.21,-23,5344.31,0,434.09,0,,,114,,,,,,,,104,,,,,,,,104,,,,,,,,124,,,,,,,,115,,,,,,,,84,,,,,,4.14048,7418.30793,447,4994.14355,4968.7,,82,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.72,0.72,0,578,583,536,64,411.0001,646.0001,535.0001,615.843650,, +D,DREGION,,3,"2023/12/14 21:10:00",1,NSW1,0,137.69,0,137.69,0,0,10273.48,-79,9252.94,25,-1045.54,0,,,65.81,,,,,,,,33,,,,,,,,0,,,,,,,,92,,,,,,,,77,,,,,,,,85,,,,,,-16.98561,11951.6172,206,10425.68555,10331.62,,77.23,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0,336.6424,332.6424,593.977860,179.792936,424,537,479,347.128948,, +D,DREGION,,3,"2023/12/14 21:10:00",1,QLD1,0,140.98347,0,140.98347,0,0,8353.95,-56,8698.7,0,344.76,0,,,0,,,,,,,,65.39,,,,,,,,37.49,,,,,,,,32,,,,,,,,240.33,,,,,,,,240,,,,,,-29.443,10686.8096,125,8439.72266,8350.52,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0,310,341.333333,140,336.645520,312,435,205,314,, +D,DREGION,,3,"2023/12/14 21:10:00",1,SA1,0,118.44,0,118.44,0,0,1436.25,-6,1350.28,0,-85.97,0,,,61,,,,,,,,61,,,,,,,,51,,,,,,,,157.88,,,,,,,,88,,,,,,,,107.46,,,,,,-0.02224,2572.23846,362,1442.44812,1436.28,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0,307,313,304,96.028333,290,310,300,404.851470,, +D,DREGION,,3,"2023/12/14 21:10:00",1,TAS1,0,54.22,0,54.22,0,0,1079.16,-5,1561.53,0,482.38,0,,,17.72,,,,,,,,117.72,,,,,,,,117.72,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,2.25482,2372.83733,0,1099.15381,1099.53,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.15,8.15,0,0.605,0.605,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,178.100078,233.507377,176.333817,53.710446,234.694962,638.565307,986.698020,707.534419,, +D,DREGION,,3,"2023/12/14 21:10:00",1,VIC1,0,115.41407,0,115.41407,0,0,4882.92,-25,5294.58,0,411.66,0,,,87,,,,,,,,77,,,,,,,,77,,,,,,,,132,,,,,,,,151.13,,,,,,,,124,,,,,,3.19394,7406.58279,447,4957.73584,4940.08,,71.77,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0,617,622,575,73,412.0001,647.0001,536.0001,600.031149,, +D,DREGION,,3,"2023/12/14 21:15:00",1,NSW1,0,137.75683,0,137.75683,0,0,10172.64,-78,9171.9,25,-1025.74,0,,,83.86,,,,,,,,46.92,,,,,,,,9.52,,,,,,,,92,,,,,,,,77,,,,,,,,85,,,,,,-28.22374,11951.10422,206,10336.25879,10232.2,,47,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0,341,337,599,179.792936,381,464,406,275.999265,, +D,DREGION,,3,"2023/12/14 21:15:00",1,QLD1,0,141.83843,0,141.83843,0,0,8379.02,-55,8691.19,0,312.17,0,,,0,,,,,,,,67,,,,,,,,47,,,,,,,,31,,,,,,,,240.33,,,,,,,,240,,,,,,-11.18158,10669.61877,125,8441.7998,8375.56,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0,310,341.333333,140,343,312,435,205,314,, +D,DREGION,,3,"2023/12/14 21:15:00",1,SA1,0,118.44,0,118.44,0,0,1410.69,-5,1323.62,0,-87.08,0,,,47,,,,,,,,50,,,,,,,,38,,,,,,,,163.58,,,,,,,,88.31,,,,,,,,111.65,,,,,,-0.12676,2577.44267,362,1415.89197,1410.73,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0,307,313,304,112.271010,290,310,300,376.137282,, +D,DREGION,,3,"2023/12/14 21:15:00",1,TAS1,0,54.30839,0,54.30839,0,0,1075.54,-5,1557.91,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,-0.72257,2367.77422,0,1098.25134,1095.91,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.23839,8.23839,0,0.93645,0.93645,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,177.038511,232.728264,172.547913,50.000021,234.357478,635.446824,990.511595,713.261256,, +D,DREGION,,3,"2023/12/14 21:15:00",1,VIC1,0,115.38038,0,115.38038,0,0,4849.64,-32,5278.29,0,428.65,0,,,87,,,,,,,,77,,,,,,,,72,,,,,,,,131,,,,,,,,155,,,,,,,,124,,,,,,5.05032,7390.28667,447,4932.17871,4908.49,,92,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.99,3.99,0,625,630,582,70,387.0001,627.0001,516.0001,574.348533,, +D,DREGION,,3,"2023/12/14 21:20:00",1,NSW1,0,137.69,0,137.69,0,0,10091.6,-74,9050.74,25,-1065.86,0,,,80,,,,,,,,59.06,,,,,,,,0,,,,,,,,92,,,,,,,,77,,,,,,,,85,,,,,,-34.69995,11936.90494,206,10260.18066,10159.41,,47,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0,0,0,3.99,3.99,0,341,337,599,179.764326,381,464,406,305.444921,, +D,DREGION,,3,"2023/12/14 21:20:00",1,QLD1,0,142.55529,0,142.55529,0,0,8379.44,-52,8653.54,0,274.1,0,,,0,,,,,,,,47,,,,,,,,47,,,,,,,,30,,,,,,,,240.7,,,,,,,,240,,,,,,-1.23404,10648.07038,125,8428.97949,8376.22,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0,0,0,3.99,3.99,0,310,341.333333,139,335,252,375,205,314,, +D,DREGION,,3,"2023/12/14 21:20:00",1,SA1,0,116.04224,0,116.04224,0,0,1385.7,-7,1300.84,0,-84.86,0,,,58,,,,,,,,58,,,,,,,,49,,,,,,,,162.98,,,,,,,,87,,,,,,,,110.7,,,,,,-8.66368,2569.83772,362,1401.4801,1385.73,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0,0,0,3.99,3.99,0,305,312,303,111.870520,288,308,298,390.492797,, +D,DREGION,,3,"2023/12/14 21:20:00",1,TAS1,0,54.47772,0,54.47772,0,0,1092.49,-5,1574.86,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,-1.10986,2352.89342,0,1113.69067,1112.86,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,4.37,4.37,0,168.617146,216.799640,142.202705,50.000022,228.723208,669.838809,1021.284912,722.639115,, +D,DREGION,,3,"2023/12/14 21:20:00",1,VIC1,0,113.43438,0,113.43438,0,0,4767.86,-33,5290.1,0,522.24,0,,,86,,,,,,,,76,,,,,,,,76,,,,,,,,131,,,,,,,,155,,,,,,,,124,,,,,,4.55605,7389.09933,447,4854.36426,4835.86,,92,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0,0,0,3.99,3.99,0,620,625,577,70,386.0001,626.0001,520.0001,583.826010,, +D,DREGION,,3,"2023/12/14 21:25:00",1,NSW1,0,126.77369,0,126.77369,0,0,9993.17,-78,8931.39,25,-1086.78,0,,,81.1,,,,,,,,49.67,,,,,,,,26,,,,,,,,92,,,,,,,,77,,,,,,,,86,,,,,,-41.17618,11957.80814,206,10177.1416,10067.03,,63.23,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0,342,337,599,178.7413,448,561,503,387.843611,, +D,DREGION,,3,"2023/12/14 21:25:00",1,QLD1,0,131.75,0,131.75,0,0,8262.33,-49,8505.04,0,242.7,0,,,0,,,,,,,,67,,,,,,,,47,,,,,,,,31,,,,,,,,240.33,,,,,,,,240,,,,,,3.75032,10638.20072,125,8304.3623,8259.7,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0,310,359.333333,138,375,312,435,205,216.151470,, +D,DREGION,,3,"2023/12/14 21:25:00",1,SA1,0,106.63695,0,106.63695,0,0,1385.34,-7,1289.23,0,-96.11,0,,,48,,,,,,,,47,,,,,,,,38,,,,,,,,159.93,,,,,,,,88.17,,,,,,,,110.5,,,,,,-12.15227,2613.23129,362,1406.17566,1385.47,,22,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0,307,313,304,114.173567,289,309,299,392,, +D,DREGION,,3,"2023/12/14 21:25:00",1,TAS1,0,54.47772,0,54.47772,0,0,1090.93,-3,1573.31,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,5.61052,2353.92223,0,1105.00989,1111.31,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,169.259689,219.155632,144.687205,50.000028,229.190589,669.838809,1018.779357,722.012399,, +D,DREGION,,3,"2023/12/14 21:25:00",1,VIC1,0,103.70884,0,103.70884,0,0,4738.27,-33,5337,0,598.73,0,,,87,,,,,,,,77,,,,,,,,62,,,,,,,,133,,,,,,,,155,,,,,,,,124,,,,,,2.06579,7444.004,447,4833.18066,4812.46,,73.77,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0.01,0.01,0,0.01,0.01,0,1.2,1.2,0,623,628,582,77,387.0001,627.0001,521.0001,582.162009,, +D,DREGION,,3,"2023/12/14 21:30:00",1,NSW1,0,119.90818,0,119.90818,0,0,9903.82,-72,8908.08,25,-1020.73,0,,,80,,,,,,,,58,,,,,,,,0,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-38.72799,11980.11227,206,10083.34375,9976.67,,47,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0,0,0,0,0,0,3.99,3.99,0,344,339,601,179.098057,381,464,406,306.213751,, +D,DREGION,,3,"2023/12/14 21:30:00",1,QLD1,0,125.24406,0,125.24406,0,0,8233.73,-46,8428.19,0,194.46,0,,,0,,,,,,,,47,,,,,,,,47,,,,,,,,28,,,,,,,,240.33,,,,,,,,240,,,,,,8.39629,10622.27546,125,8268.53027,8231.67,,1,,,,207,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0,0,0,0,0,0,3.99,3.99,0,310,359.333333,138,379,312,435,205,281.867925,, +D,DREGION,,3,"2023/12/14 21:30:00",1,SA1,0,101.44,0,101.44,0,0,1378.94,-7,1258.14,0,-120.8,0,,,61,,,,,,,,61,,,,,,,,51,,,,,,,,158.4,,,,,,,,89,,,,,,,,109.28,,,,,,-10.63397,2612.363,362,1396.99487,1379.3,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0,0,0,0,0,0,3.99,3.99,0,307,314,305,118.447720,251.773940,257.773940,257.773940,361.773940,, +D,DREGION,,3,"2023/12/14 21:30:00",1,TAS1,0,54.47772,0,54.47772,0,0,1089.41,-3,1571.79,0,482.38,0,,,17.65,,,,,,,,117.65,,,,,,,,117.65,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,5.68207,2364.17857,0,1104.40173,1109.79,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,172.151130,229.371616,155.460425,50.000006,231.330138,662.779859,1006.904738,717.401443,, +D,DREGION,,3,"2023/12/14 21:30:00",1,VIC1,0,98.15809,0,98.15809,0,0,4777.02,-31,5380.64,0,603.62,0,,,87,,,,,,,,75.15,,,,,,,,77,,,,,,,,136,,,,,,,,152.95,,,,,,,,124,,,,,,2.73062,7495.64281,447,4873.56299,4849.42,,92,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0,0,0,0,0,0,0,0,0,3.99,3.99,0,622,627,587,92,362.0001,607.0001,501.0001,566.668784,, +D,DREGION,,3,"2023/12/14 21:35:00",1,NSW1,0,126.45341,0,126.45341,0,0,9810.91,-70,8693.03,25,-1142.88,0,,,61.03,,,,,,,,49.83,,,,,,,,0,,,,,,,,94,,,,,,,,79,,,,,,,,77,,,,,,-33.29122,12014.76135,205,9982.2627,9895.74,,50,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,1,1,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.98,3.98,0,343,339,601,170.449628,451,564,506,442.070333,, +D,DREGION,,3,"2023/12/14 21:35:00",1,QLD1,0,131.75,0,131.75,0,0,8118.32,-47,8322.05,0,203.73,0,,,0,,,,,,,,47,,,,,,,,47,,,,,,,,29,,,,,,,,232.33,,,,,,,,232,,,,,,1.49051,10577.50582,125,8160.80518,8116.02,,0,,,,184,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,1,1,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.98,3.98,0,302,351.333333,129,264.202676,312,435,205,227,, +D,DREGION,,3,"2023/12/14 21:35:00",1,SA1,0,102.86575,0,102.86575,0,0,1352.13,-7,1281.24,0,-70.89,0,,,47,,,,,,,,47,,,,,,,,36,,,,,,,,164,,,,,,,,94.9,,,,,,,,128.23,,,,,,-14.78509,2606.24319,362,1374.54858,1352.06,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,1,1,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.98,3.98,0,305,312,303,74.548430,288,309,299,392,, +D,DREGION,,3,"2023/12/14 21:35:00",1,TAS1,0,54.47772,0,54.47772,0,0,1078.38,-3,1560.75,0,482.38,0,,,17.39,,,,,,,,117.38,,,,,,,,117.38,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,2.35894,2364.15376,0,1096.3208,1098.75,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,175.024781,235.071627,166.571875,50.000018,233.420410,654.927768,995.699123,715.941150,, +D,DREGION,,3,"2023/12/14 21:35:00",1,VIC1,0,101.06347,0,101.06347,0,0,4749.53,-26,5440.98,0,691.45,0,,,114,,,,,,,,104,,,,,,,,94,,,,,,,,138.43,,,,,,,,155,,,,,,,,124,,,,,,1.66193,7457.07962,447,4841.82324,4835.48,,90,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,1,1,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.98,3.98,0,628,633,592,99,386.0001,626.0001,515.0001,570.287925,, +D,DREGION,,3,"2023/12/14 21:40:00",1,NSW1,0,126.07673,0,126.07673,0,0,9747.13,-63,8648.89,25,-1123.24,0,,,58.65,,,,,,,,39.99,,,,,,,,0,,,,,,,,94,,,,,,,,79,,,,,,,,78,,,,,,-27.05751,11990.07647,206,9925.8252,9841.4,,50,,,,22,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,1,1,0,0,0,0,0,0,0,0.01,0.01,0,3.76,3.76,0,344,339,601,179.808195,381,464,406,360.400650,, +D,DREGION,,3,"2023/12/14 21:40:00",1,QLD1,0,133.01,0,133.01,0,0,8122.83,-51,8250.71,0,127.87,0,,,0,,,,,,,,45,,,,,,,,20.43,,,,,,,,29,,,,,,,,256.28,,,,,,,,232,,,,,,-13.80877,10552.19064,125,8185.53711,8121.87,,21,,,,193,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,1,1,0,0,0,0,0,0,0,0.01,0.01,0,3.76,3.76,0,302,339.709873,128,219.048411,287,400,170,227,, +D,DREGION,,3,"2023/12/14 21:40:00",1,SA1,0,102.58166,0,102.58166,0,0,1357.92,-7,1270.63,0,-87.29,0,,,51,,,,,,,,61,,,,,,,,51,,,,,,,,166,,,,,,,,89,,,,,,,,146.28,,,,,,-3.79321,2595.62686,362,1368.90686,1357.97,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,1,1,0,0,0,0,0,0,0,0.01,0.01,0,3.76,3.76,0,307,314,305,110.851470,291,312,302,392,, +D,DREGION,,3,"2023/12/14 21:40:00",1,TAS1,0,54.47772,0,54.47772,0,0,1067.16,-3,1549.54,0,482.38,0,,,19.29,,,,,,,,119.28,,,,,,,,119.28,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,0.32045,2351.49177,0,1087.40991,1087.54,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.40772,8.40772,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,174.624244,235.071627,165.023135,50.000006,233.129063,656.022211,997.260988,706.615180,, +D,DREGION,,3,"2023/12/14 21:40:00",1,VIC1,0,99.9317,0,99.9317,0,0,4651.68,-26,5435.41,0,783.73,0,,,110,,,,,,,,100,,,,,,,,100,,,,,,,,138.95,,,,,,,,140,,,,,,,,108,,,,,,-7.02491,7443.41081,447,4773.70459,4746.4,,69,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,1,1,0,0,0,0,0,0,0,0.01,0.01,0,3.76,3.76,0,626,631,586,99,295.0001,419.0001,371.0001,490.068259,, +D,DREGION,,3,"2023/12/14 21:45:00",1,NSW1,0,137.69,0,137.69,0,0,9640.43,-61,8646.12,25,-1019.31,0,,,74.1,,,,,,,,66,,,,,,,,59.33,,,,,,,,94,,,,,,,,79,,,,,,,,78,,,,,,-26.78456,12004.97497,206,9812.0332,9714.86,,50,,,,11,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0,344,339,601,179.792936,381,464,406,325.117279,, +D,DREGION,,3,"2023/12/14 21:45:00",1,QLD1,0,143.12199,0,143.12199,0,0,8032.66,-48,8214.51,0,181.85,0,,,0,,,,,,,,143.04,,,,,,,,85,,,,,,,,25,,,,,,,,240.33,,,,,,,,240,,,,,,-27.50229,10515.47882,125,8106.59619,8030.77,,6,,,,206,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0,310,341.333333,143,293,312,435,205,227,, +D,DREGION,,3,"2023/12/14 21:45:00",1,SA1,0,115.6813,0,115.6813,0,0,1348.29,-7,1261.04,0,-87.25,0,,,49,,,,,,,,51,,,,,,,,45,,,,,,,,81,,,,,,,,89,,,,,,,,78,,,,,,-2.94774,2586.03667,362,1358.48975,1348.34,,20,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0,307,314,305,126.851470,281,282,282,392,, +D,DREGION,,3,"2023/12/14 21:45:00",1,TAS1,0,103.74096,0,103.74096,0,0,1067.27,-3,1386.36,0,319.09,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,42.02,,,,,,,,5.33,,,,,,,,46.96,,,,,,-0.85374,2358.46081,0,1088.5813,1076.07,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.5,3.5,0,217.168706,338.016149,309.271345,285.820852,200.091756,521.653711,845.067608,627.445594,, +D,DREGION,,3,"2023/12/14 21:45:00",1,VIC1,0,112.69295,0,112.69295,0,0,4683.61,-26,5415.13,0,731.52,0,,,115,,,,,,,,105,,,,,,,,105,,,,,,,,136,,,,,,,,153.29,,,,,,,,124,,,,,,-14.84412,7444.13154,447,4806.92041,4753.12,,84,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0,632,637,596,103.555870,362.0001,607.0001,501.0001,549.536033,, +D,DREGION,,3,"2023/12/14 21:50:00",1,NSW1,0,137.01732,0,137.01732,0,0,9556.36,-60,8710.68,25,-870.68,0,,,76.48,,,,,,,,84.17,,,,,,,,88.37,,,,,,,,94,,,,,,,,79,,,,,,,,78,,,,,,-17.8889,11992.53679,206,9709.95117,9613.13,,50,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0,344,339,601,161.640375,381,464,406,392.890538,, +D,DREGION,,3,"2023/12/14 21:50:00",1,QLD1,0,141.23361,0,141.23361,0,0,7960.34,-49,8172.93,0,212.59,0,,,0,,,,,,,,115,,,,,,,,45,,,,,,,,25,,,,,,,,240.33,,,,,,,,240,,,,,,-27.21117,10524.75676,125,8033.99512,7958.1,,6,,,,206,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0,310,341.333333,143,293,252,375,205,227,, +D,DREGION,,3,"2023/12/14 21:50:00",1,SA1,0,118.44,0,118.44,0,0,1348.73,-6,1268.15,0,-80.58,0,,,49,,,,,,,,62,,,,,,,,56,,,,,,,,79,,,,,,,,87,,,,,,,,76,,,,,,-1.77417,2588.03267,362,1357.49438,1348.73,,20,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0,305,312,303,118.983617,289,310,300,397.120020,, +D,DREGION,,3,"2023/12/14 21:50:00",1,TAS1,0,105.0596,0,105.0596,0,0,1040.02,-3,1398,0,357.97,0,,,0,,,,,,,,1.9,,,,,,,,1.9,,,,,,,,57.97,,,,,,,,14.22,,,,,,,,57.56,,,,,,-8.61005,2370.39671,0,1059.54846,1051.17,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.76,3.76,0,217.168706,343.615210,311.271345,252.468138,200.091756,521.653711,845.067608,627.445594,, +D,DREGION,,3,"2023/12/14 21:50:00",1,VIC1,0,115.7569,0,115.7569,0,0,4647.64,-22,5119.23,0,471.6,0,,,114,,,,,,,,104,,,,,,,,104,,,,,,,,136,,,,,,,,155,,,,,,,,124,,,,,,-13.4607,7454.23341,447,4750.45264,4697.88,,84,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0,635,640,598,96,411.0001,646.0001,535.0001,577.724509,, +D,DREGION,,3,"2023/12/14 21:55:00",1,NSW1,0,123.52845,0,123.52845,0,0,9451.81,-66,8738.11,25,-738.7,0,,,115,,,,,,,,93,,,,,,,,90,,,,,,,,94,,,,,,,,79,,,,,,,,78,,,,,,-25.65453,11982.11024,206,9592.83203,9503.96,,42,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,1,1,0,344,339,595,161.987976,381,464,406,405.475771,, +D,DREGION,,3,"2023/12/14 21:55:00",1,QLD1,0,128.63884,0,128.63884,0,0,7861.19,-49,8016.79,0,155.6,0,,,0,,,,,,,,167.44,,,,,,,,103.18,,,,,,,,23,,,,,,,,238.33,,,,,,,,238,,,,,,-35.75162,10547.6666,125,7943.23096,7859.85,,0,,,,206,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,1,1,0,308,357.333333,141,291,312,435,205,182.000006,, +D,DREGION,,3,"2023/12/14 21:55:00",1,SA1,0,108.88922,0,108.88922,0,0,1350.97,-6,1262.1,0,-88.87,0,,,65,,,,,,,,64,,,,,,,,58,,,,,,,,81,,,,,,,,89,,,,,,,,78,,,,,,1.58225,2587.09886,362,1355.65723,1351.04,,10,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,1,1,0,307,314,305,126.116942,291,312,302,392,, +D,DREGION,,3,"2023/12/14 21:55:00",1,TAS1,0,98.15,0,98.15,0,0,1047.53,-4,1336.47,0,288.94,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,64.73,,,,,,,,21.74,,,,,,,,65.07,,,,,,-6.06594,2395.44722,0,1066.27002,1054.68,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,3.53,3.53,0,218.580471,411.250774,381.218713,265.695846,153.069076,480.153711,757.820249,540.571914,, +D,DREGION,,3,"2023/12/14 21:55:00",1,VIC1,0,106.07633,0,106.07633,0,0,4638.79,-21,5096.46,0,457.67,0,,,60.1,,,,,,,,44,,,,,,,,44,,,,,,,,136,,,,,,,,155,,,,,,,,124,,,,,,-10.4537,7428.46189,447,4713.03711,4680.41,,108,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,1,1,0,627,632,590,95,381.0001,620.0001,509.0001,570.476402,, +D,DREGION,,3,"2023/12/14 22:00:00",1,NSW1,0,114.20773,0,114.20773,0,0,9396.3,-64,8713.11,25,-708.19,0,,,93,,,,,,,,98,,,,,,,,89.47,,,,,,,,94,,,,,,,,79,,,,,,,,78,,,,,,-33.42015,11957.10839,206,9553.51172,9449.05,,37,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0,344,339,595,162.889699,386,469,411,406.353908,, +D,DREGION,,3,"2023/12/14 22:00:00",1,QLD1,0,119.55,0,119.55,0,0,7797.33,-46,7929.28,0,131.95,0,,,0,,,,,,,,163.83,,,,,,,,105,,,,,,,,22,,,,,,,,236.33,,,,,,,,239,,,,,,-41.77187,10564.02821,125,7883.62256,7796.22,,0,,,,214,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0,331.073120,380.406453,163.073120,325.073120,312,435,205,197.219797,, +D,DREGION,,3,"2023/12/14 22:00:00",1,SA1,0,100.13941,0,100.13941,0,0,1314.93,-6,1242.7,0,-72.24,0,,,52,,,,,,,,64,,,,,,,,58,,,,,,,,81,,,,,,,,87,,,,,,,,78,,,,,,1.65672,2601.69653,362,1319.42712,1314.87,,10,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0,307,314,305,126.851470,258,284,274,357,, +D,DREGION,,3,"2023/12/14 22:00:00",1,TAS1,0,93.24142,0,93.24142,0,0,1006.53,-4,1147.36,0,140.84,0,,,11.59,,,,,,,,0,,,,,,,,0,,,,,,,,70.73,,,,,,,,54.63,,,,,,,,78.96,,,,,,-11.31552,2395.56434,0,1027.70349,1008,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,5.5,5.5,0,238.828591,522.787675,587.971960,456.460194,138.393847,419.412857,602.933796,351.445594,, +D,DREGION,,3,"2023/12/14 22:00:00",1,VIC1,0,97.84874,0,97.84874,0,0,4536.95,-22,5110.75,0,573.8,0,,,84,,,,,,,,44,,,,,,,,44,,,,,,,,121,,,,,,,,125,,,,,,,,108,,,,,,-11.36483,7441.75319,447,4618.50146,4575.06,,113,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.3,0.3,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0,629,634,593,114,376.0001,615.0001,504.0001,569.9374,, +D,DREGION,,3,"2023/12/14 22:05:00",1,NSW1,0,114.10575,0,114.10575,0,0,9322.77,-81,8637.27,0,-685.5,0,,,106.65,,,,,,,,93,,,,,,,,90,,,,,,,,94,,,,,,,,71,,,,,,,,88,,,,,,-30.50044,11939.61679,206,9487.48633,9350.82,,50,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,3.98,3.98,0,344,339,595,143.044713,381,464,406,404.965847,, +D,DREGION,,3,"2023/12/14 22:05:00",1,QLD1,0,119.19478,0,119.19478,0,0,7706.22,-61,7818.11,0,111.89,0,,,0,,,,,,,,80,,,,,,,,70,,,,,,,,22,,,,,,,,233.33,,,,,,,,239,,,,,,-43.13053,10411.17673,125,7808.64941,7705.27,,35,,,,179,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,3.98,3.98,0,349,456.333333,180,315,225,338,213,157.000013,, +D,DREGION,,3,"2023/12/14 22:05:00",1,SA1,0,100.00214,0,100.00214,0,0,1293.48,-4,1222.21,0,-71.26,0,,,59,,,,,,,,63,,,,,,,,56,,,,,,,,79,,,,,,,,85,,,,,,,,76,,,,,,-5.47086,2610.21447,362,1302.99683,1293.41,,20,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,3.98,3.98,0,305,312,303,126.851470,256,282,272,357,, +D,DREGION,,3,"2023/12/14 22:05:00",1,TAS1,0,95.18,0,95.18,0,0,990.69,-10,1116.57,0,125.88,0,,,0,,,,,,,,22.75,,,,,,,,0,,,,,,,,99.29,,,,,,,,69.25,,,,,,,,69.25,,,,,,-15.63649,2368.05793,0,1016.77533,991.82,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.38,0.38,0,7.11,7.11,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,5.5,5.5,0,238.828591,522.787675,585.462380,438.810706,139.025188,414.976903,605.464465,353.955174,, +D,DREGION,,3,"2023/12/14 22:05:00",1,VIC1,0,97.70398,0,97.70398,0,0,4480.94,-54,5065.85,0,584.91,0,,,76,,,,,,,,113,,,,,,,,81.69,,,,,,,,134,,,,,,,,128.8,,,,,,,,115.14,,,,,,-10.20905,7490.57464,447,4582.20459,4518.69,,55,,,,5,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.26,0.26,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,3.98,3.98,0,620,625,581,89,294.0001,408.0001,355.0001,501.504783,, +D,DREGION,,3,"2023/12/14 22:10:00",1,NSW1,0,134.85177,0,134.85177,0,0,9276.06,-57,8601.05,0,-675.01,0,,,95,,,,,,,,93,,,,,,,,90,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-36.76635,11928.05112,206,9401.82324,9325.12,,56,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.08,0.08,0,0.38,0.38,0,29.91,29.91,0,344,339,595,139.028776,381,464,386,373.685177,, +D,DREGION,,3,"2023/12/14 22:10:00",1,QLD1,0,145.17,0,145.17,0,0,7650.19,-51,7592.88,0,-57.31,0,,,0,,,,,,,,142,,,,,,,,87.2,,,,,,,,22,,,,,,,,233.33,,,,,,,,239,,,,,,-32.93631,10329.76379,125,7732.87012,7653.23,,5,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.08,0.08,0,0.38,0.38,0,29.91,29.91,0,349,458.333333,179,319,287,400,215,157,, +D,DREGION,,3,"2023/12/14 22:10:00",1,SA1,0,112.83257,0,112.83257,0,0,1282.99,-9,1258.04,0,-24.95,0,,,53,,,,,,,,66,,,,,,,,58,,,,,,,,81,,,,,,,,89,,,,,,,,92.84,,,,,,-12.59843,2628.03961,362,1304.59314,1282.73,,51,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.08,0.08,0,0.38,0.38,0,29.91,29.91,0,307,314,305,94.575072,281,283,283,392,, +D,DREGION,,3,"2023/12/14 22:10:00",1,TAS1,0,98.15,0,98.15,0,0,972.92,-6,1270.85,0,297.92,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,99,,,,,,,,33.26,,,,,,,,45.76,,,,,,-15.85461,2363.70027,0,995.27081,980.55,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.01,0.01,0,0.08,0.08,0,0.38,0.38,0,3.53,3.53,0,221.467511,437.250774,426.088422,337.217956,156.181979,500.722698,729.725588,512.791674,, +D,DREGION,,3,"2023/12/14 22:10:00",1,VIC1,0,111.94103,0,111.94103,0,0,4468.38,-33,5045.63,0,577.25,0,,,92.47,,,,,,,,70.07,,,,,,,,62,,,,,,,,134,,,,,,,,155,,,,,,,,124,,,,,,-13.6736,7499.58616,447,4552.49951,4526.81,,48,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.08,0.08,0,0.38,0.38,0,29.91,29.91,0,626,680.96,636.96,88,220.0001,349.0401,286.0001,455.068259,, +D,DREGION,,3,"2023/12/14 22:15:00",1,NSW1,0,169.64362,0,169.64362,0,0,9265.56,-53,8647.03,0,-618.53,0,,,94,,,,,,,,92,,,,,,,,24.75,,,,,,,,110.04,,,,,,,,79,,,,,,,,88,,,,,,0,11919.50026,206,9359.11523,9332.75,,50,,,,21.8,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0.2,0.2,0,9.88,9.88,0,344,339,595,138.662702,380,463,385,366.038532,, +D,DREGION,,3,"2023/12/14 22:15:00",1,QLD1,0,188.32863,0,188.32863,0,0,7659.64,-28,7455,0,-204.64,0,,,0,,,,,,,,50.08,,,,,,,,47,,,,,,,,29,,,,,,,,229.33,,,,,,,,239,,,,,,0,10257.9793,125,7688.74268,7667.64,,25,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0.2,0.2,0,9.88,9.88,0,349,458.333333,179,300,287,400,215,194.099976,, +D,DREGION,,3,"2023/12/14 22:15:00",1,SA1,0,138.03499,0,138.03499,0,0,1292.6,-10,1278.73,0,-13.87,0,,,64,,,,,,,,60,,,,,,,,58,,,,,,,,143,,,,,,,,114.86,,,,,,,,127.2,,,,,,0,2618.7348,362,1302.54663,1292.32,,22,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0.2,0.2,0,9.88,9.88,0,307,313,304,82.156890,281,281,281,404.851470,, +D,DREGION,,3,"2023/12/14 22:15:00",1,TAS1,0,115.18,0,115.18,0,0,994.47,-2,1461.35,0,466.89,0,,,0,,,,,,,,99.43,,,,,,,,99.43,,,,,,,,0,,,,,,,,14.2,,,,,,,,14.2,,,,,,0,2352.38328,0,1001.87677,1013.55,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0,0,0,7.28193,7.28193,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,3.5,3.5,0,197.261550,252.581842,221.883996,135.584580,218.981821,491.617340,930.831103,658.483324,, +D,DREGION,,3,"2023/12/14 22:15:00",1,VIC1,0,137.66,0,137.66,0,0,4537.59,-5,5075.73,0,538.15,0,,,80.17,,,,,,,,67,,,,,,,,67,,,,,,,,170,,,,,,,,155,,,,,,,,124,,,,,,0,7502.61805,447,4593.31689,4611.59,,63,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0.2,0.2,0,9.88,9.88,0,619,683,635,64,231.0001,234.0001,241.0001,409.9999,, +D,DREGION,,3,"2023/12/14 22:20:00",1,NSW1,0,156.54153,0,156.54153,0,0,9147.94,-53,8549.51,0,-598.42,0,,,88,,,,,,,,93,,,,,,,,73.94,,,,,,,,93,,,,,,,,78,,,,,,,,87,,,,,,-20.90044,11860.82437,206,9278.89746,9211.72,,50,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,3.98,3.98,0,343,338,594,117.244421,381,464,406,432.524612,, +D,DREGION,,3,"2023/12/14 22:20:00",1,QLD1,0,172.53519,0,172.53519,0,0,7601.37,-36,7398.53,0,-202.84,0,,,0,,,,,,,,90.16,,,,,,,,47,,,,,,,,24,,,,,,,,227.33,,,,,,,,240,,,,,,-40.98595,10208.54565,125,7684.26855,7608.92,,5,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,3.98,3.98,0,345,454.333333,164,270,252,375,250,248.094507,, +D,DREGION,,3,"2023/12/14 22:20:00",1,SA1,0,129.79274,0,129.79274,0,0,1286.09,-9,1243.85,0,-42.23,0,,,50,,,,,,,,62,,,,,,,,56,,,,,,,,149.93,,,,,,,,87,,,,,,,,92.56,,,,,,-7.40546,2594.85261,362,1302.62097,1285.87,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,3.98,3.98,0,305,312,301,93.430346,289,310,300,419.851470,, +D,DREGION,,3,"2023/12/14 22:20:00",1,TAS1,0,115.18,0,115.18,0,0,1033.57,-1,1438.38,0,404.8,0,,,0,,,,,,,,46.06,,,,,,,,46.06,,,,,,,,21.51,,,,,,,,39.23,,,,,,,,43,,,,,,5.01178,2354.08214,0,1043.47754,1047.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.38,0.38,0,0.38,0.38,0,0.08,0.08,0,3.5,3.5,0,203.840975,301.734962,268.558726,261.891090,190.557411,437.848020,893.779842,637.972506,, +D,DREGION,,3,"2023/12/14 22:20:00",1,VIC1,0,128.12017,0,128.12017,0,0,4498.4,-7,5092.11,0,593.71,0,,,98.1,,,,,,,,76,,,,,,,,76,,,,,,,,136,,,,,,,,155,,,,,,,,124,,,,,,-23.89773,7540.10711,447,4594.13574,4567.98,,85,,,,7,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.08,0.08,0,3.98,3.98,0,613,618,576,83,397.0001,510.0001,455.0001,546.843650,, +D,DREGION,,3,"2023/12/14 22:25:00",1,NSW1,0,129.29672,0,129.29672,0,0,9093.97,-31,8492.95,0,-601.02,0,,,88,,,,,,,,93,,,,,,,,76.81,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-26.51686,11844.30786,206,9209.78125,9148.6,,50,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.75,3.75,0,344,339,595,107.230280,381,464,406,455.775934,, +D,DREGION,,3,"2023/12/14 22:25:00",1,QLD1,0,141.32488,0,141.32488,0,0,7491.8,-39,7339.06,0,-152.74,0,,,0,,,,,,,,137.21,,,,,,,,87,,,,,,,,28,,,,,,,,227.33,,,,,,,,244,,,,,,-37.84407,10211.92329,125,7574.09131,7497.03,,5,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.75,3.75,0,349,458.333333,175,290,312,435,250,262,, +D,DREGION,,3,"2023/12/14 22:25:00",1,SA1,0,110.8539,0,110.8539,0,0,1296.74,-6,1164.1,0,-132.64,0,,,52,,,,,,,,64,,,,,,,,58,,,,,,,,83.7,,,,,,,,90,,,,,,,,88.68,,,,,,-6.16051,2585.09987,362,1309.30029,1297.26,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.75,3.75,0,307,315,304,110.851470,291,312,302,378.635345,, +D,DREGION,,3,"2023/12/14 22:25:00",1,TAS1,0,98.19,0,98.19,0,0,1055.78,-4,1373.54,0,317.76,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,85.02,,,,,,,,36.34,,,,,,,,43,,,,,,12.4164,2356.85828,0,1057.84314,1064.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,8.12,8.12,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.5,3.5,0,204.311563,316.930597,314.490295,255.242105,195.034217,511.034761,839.831203,622.226644,, +D,DREGION,,3,"2023/12/14 22:25:00",1,VIC1,0,106.66354,0,106.66354,0,0,4410.32,-21,5110.9,0,700.58,0,,,99.25,,,,,,,,77,,,,,,,,77,,,,,,,,134,,,,,,,,153,,,,,,,,122,,,,,,-19.32878,7556.90117,447,4517.43066,4473.16,,85,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,3.75,3.75,0,616,621,579,84,387.0001,627.0001,516.0001,583.9999,, +D,DREGION,,3,"2023/12/14 22:30:00",1,NSW1,0,167.34301,0,167.34301,0,0,9081.18,-53,8446.81,0,-634.37,0,,,68,,,,,,,,64.33,,,,,,,,22.63,,,,,,,,108.91,,,,,,,,79,,,,,,,,88,,,,,,0,11833.80678,206,9180.26855,9142.09,,50,,,,25,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,6.16905,6.16905,0,0,0,0,0.01,0.01,0,0.38,0.38,0,6,6,0,344,339,595,119.199438,381,464,386,387.140004,, +D,DREGION,,3,"2023/12/14 22:30:00",1,QLD1,0,182.69397,0,182.69397,0,0,7482.92,-63,7310.09,0,-172.83,0,,,0,,,,,,,,67,,,,,,,,47,,,,,,,,33,,,,,,,,223.33,,,,,,,,245,,,,,,0,10121.86511,125,7549.03027,7488.8,,27,,,,186,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,6.16905,6.16905,0,0,0,0,0.01,0.01,0,0.38,0.38,0,6,6,0,350,458.333333,174,291,312,435,250,261.367799,, +D,DREGION,,3,"2023/12/14 22:30:00",1,SA1,0,140.99,0,140.99,0,0,1290.97,-1,1193.69,0,-97.28,0,,,52,,,,,,,,63,,,,,,,,51,,,,,,,,143,,,,,,,,134.23,,,,,,,,134.56,,,,,,0,2580.21238,362,1292.32422,1291.11,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,6.16905,6.16905,0,0,0,0,0.01,0.01,0,0.38,0.38,0,6,6,0,307,314,304,81.565642,281,282,282,416.851470,, +D,DREGION,,3,"2023/12/14 22:30:00",1,TAS1,0,115.2087,0,115.2087,0,0,1042.02,-4,1522.21,0,480.19,0,,,33.42,,,,,,,,115.75,,,,,,,,115.75,,,,,,,,0,,,,,,,,3,,,,,,,,3,,,,,,4.66316,2365.39888,0,1049.81104,1062.21,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,7.45561,7.45561,0,0.56261,0.56261,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,179.463847,234.028623,183.992350,61,232.720269,623.341429,979.409864,686.448637,, +D,DREGION,,3,"2023/12/14 22:30:00",1,VIC1,0,137.05833,0,137.05833,0,0,4529.36,-11,5112.62,0,583.26,0,,,87,,,,,,,,62,,,,,,,,62,,,,,,,,165,,,,,,,,153,,,,,,,,122,,,,,,0,7559.61777,447,4595.91846,4601.2,,63,,,,7,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,6.16905,6.16905,0,0,0,0,0.01,0.01,0,0.38,0.38,0,6,6,0,610,615,574,84,209.0001,328.0001,280.0001,469.692283,, +D,DREGION,,3,"2023/12/14 22:35:00",1,NSW1,0,161.00635,0,161.00635,0,0,8920.11,-63,8201.82,0,-718.29,0,,,80,,,,,,,,42.29,,,,,,,,30,,,,,,,,66,,,,,,,,51,,,,,,,,60,,,,,,-37.7497,11824.59028,206,9075.89648,8995.07,,42.55,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0,316,311,573,163.896496,381,464,406,415.605347,, +D,DREGION,,3,"2023/12/14 22:35:00",1,QLD1,0,176.71993,0,176.71993,0,0,7453.81,-23,7246.84,0,-206.97,0,,,0,,,,,,,,107,,,,,,,,51.29,,,,,,,,34.27,,,,,,,,220.33,,,,,,,,244,,,,,,-38.31557,10106.52553,125,7520.3623,7460.63,,10.45,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0,349,458.333333,173,272,312,435,250,262,, +D,DREGION,,3,"2023/12/14 22:35:00",1,SA1,0,133.98513,0,133.98513,0,0,1287.87,-3,1160.55,0,-127.32,0,,,59,,,,,,,,48,,,,,,,,43,,,,,,,,156,,,,,,,,129.92,,,,,,,,128.25,,,,,,-3.81503,2559.55108,362,1295.50208,1288.33,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0,305,314,303,85.343261,289,311,301,421.851470,, +D,DREGION,,3,"2023/12/14 22:35:00",1,TAS1,0,115.18,0,115.18,0,0,1048.72,-1,1480.5,0,431.77,0,,,0,,,,,,,,71.22,,,,,,,,71.22,,,,,,,,3,,,,,,,,43,,,,,,,,43,,,,,,11.26015,2362.72621,0,1056.02795,1065.03,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0,0,0,8.11,8.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0,195.007014,246.522687,234.086016,163.930460,222.847323,503.606444,927.225182,671.445216,, +D,DREGION,,3,"2023/12/14 22:35:00",1,VIC1,0,128.93128,0,128.93128,0,0,4494.82,6,5300.27,0,805.46,0,,,114,,,,,,,,104,,,,,,,,104,,,,,,,,143,,,,,,,,144,,,,,,,,113,,,,,,-15.4476,7542.21378,447,4570.89697,4580.92,,87,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.49,0.49,0,0.49,0.49,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0,639.0001,644.0001,599.0001,118.9999,384.0001,625.0001,520.0001,548.068259,, +D,DREGION,,3,"2023/12/14 22:40:00",1,NSW1,0,176.54995,0,176.54995,0,0,8902.89,-45,8046.24,0,-856.65,0,,,80,,,,,,,,58.91,,,,,,,,0,,,,,,,,104.32,,,,,,,,51.69,,,,,,,,60,,,,,,-36.17074,11888.24474,206,9061.96094,8997.7,,50,,,,18.33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0,0,0,6,6,0,316,311,333,158.601071,381,464,406,427.568937,, +D,DREGION,,3,"2023/12/14 22:40:00",1,QLD1,0,195.01,0,195.01,0,0,7449.5,-9,7230.26,0,-219.24,0,,,0,,,,,,,,45,,,,,,,,45,,,,,,,,35,,,,,,,,238.33,,,,,,,,259.03,,,,,,-42.33225,10100.24382,125,7507.03857,7456.81,,47,,,,133.67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0,0,0,6,6,0,350,458.333333,172,224.670280,310,433,248,271.670280,, +D,DREGION,,3,"2023/12/14 22:40:00",1,SA1,0,140.99,0,140.99,0,0,1276.64,-3,1190.68,0,-85.96,0,,,61,,,,,,,,61,,,,,,,,51,,,,,,,,164,,,,,,,,147,,,,,,,,159,,,,,,0,2553.36206,362,1280.11584,1276.68,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0,0,0,6,6,0,303,312,301,71.851470,281,283,283,439.555449,, +D,DREGION,,3,"2023/12/14 22:40:00",1,TAS1,0,115.22,0,115.22,0,0,1043.32,-1,1523.51,0,480.19,0,,,15.87,,,,,,,,115.87,,,,,,,,115.87,,,,,,,,0,,,,,,,,2,,,,,,,,3,,,,,,1.19048,2357.22665,0,1057.08643,1063.51,,50,,,,50,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,8.15,8.15,0,0.58588,0.58588,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0,166.210171,218.138849,185.573376,50.716205,234.845262,614.232709,976.134599,694.880433,, +D,DREGION,,3,"2023/12/14 22:40:00",1,VIC1,0,137.66,0,137.66,0,0,4450.88,-12,5363.59,0,912.71,0,,,100,,,,,,,,90,,,,,,,,90,,,,,,,,146,,,,,,,,153,,,,,,,,112,,,,,,-24.19583,7528.69362,447,4578.30322,4559.59,,43,,,,66,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.53,0.53,0,1,1,0,0,0,0,0.01,0.01,0,0,0,0,6,6,0,599.0001,653.3601,616.3601,78.9999,218.0001,347.6401,291.0001,459.068259,, +D,DREGION,,3,"2023/12/14 22:45:00",1,NSW1,0,166.53653,0,166.53653,0,0,8699.96,-72,8028.1,0,-671.86,0,,,58.27,,,,,,,,58.86,,,,,,,,7.46,,,,,,,,107.01,,,,,,,,56.27,,,,,,,,63.6,,,,,,-41.1979,11865.10014,206,8903.19727,8787.32,,40,,,,6,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,0.53,0.53,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0,316,311,573,156.371533,381,464,406,439.047758,, +D,DREGION,,3,"2023/12/14 22:45:00",1,QLD1,0,185.92237,0,185.92237,0,0,7439.09,-3,7138.9,0,-300.18,0,,,0,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,214.33,,,,,,,,245,,,,,,-44.31765,10090.10337,125,7493.80225,7449.47,,16,,,,179,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,0.53,0.53,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0,329,438.333333,152,271,287,400,215,262,, +D,DREGION,,3,"2023/12/14 22:45:00",1,SA1,0,136.81331,0,136.81331,0,0,1267.28,-5,1146.38,0,-120.89,0,,,50,,,,,,,,48,,,,,,,,45,,,,,,,,158,,,,,,,,161,,,,,,,,154,,,,,,3.44165,2545.38359,362,1269.01172,1267.66,,20,,,,0,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,0.53,0.53,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0,303,310,300,97.107543,291,312,302,421.851470,, +D,DREGION,,3,"2023/12/14 22:45:00",1,TAS1,0,115.22,0,115.22,0,0,1029.37,-3,1507.63,0,478.25,0,,,13.69,,,,,,,,113.68,,,,,,,,113.68,,,,,,,,0,,,,,,,,3.77,,,,,,,,3.77,,,,,,5.95238,2354.54862,0,1044.51746,1049.4,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0,0,0,8.15,8.15,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,180.780223,250.043849,198.991165,55.519837,237.561609,639.338136,962.975817,684.269764,, +D,DREGION,,3,"2023/12/14 22:45:00",1,VIC1,0,132.31275,0,132.31275,0,0,4422.01,-13,5249.58,0,827.57,0,,,115,,,,,,,,105,,,,,,,,90,,,,,,,,144,,,,,,,,153,,,,,,,,122,,,,,,-31.0234,7488.58113,447,4565.95947,4516.74,,84,,,,34,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,0.53,0.53,0,0,0,0,0.01,0.01,0,0.01,0.01,0,3.76,3.76,0,636.0001,699.0001,647.0001,87.9999,406.0001,644.0001,536.0001,559.974509,, +D,DREGION,,3,"2023/12/14 22:50:00",1,NSW1,0,131.19651,0,131.19651,0,0,8682.58,-60,8025.75,0,-656.83,0,,,80,,,,,,,,93,,,,,,,,77.55,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-31.04394,11924.75432,206,8853.41113,8754.62,,40,,,,14,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0,344,339,601,156.070133,381,463,405,404.655827,, +D,DREGION,,3,"2023/12/14 22:50:00",1,QLD1,0,144.30567,0,144.30567,0,0,7297.86,-17,7065.01,0,-232.85,0,,,0,,,,,,,,113.85,,,,,,,,65,,,,,,,,28,,,,,,,,209.33,,,,,,,,245,,,,,,-46.30304,10097.28519,125,7367.42432,7305.11,,16,,,,179,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0,355,464.333333,177,316,312,435,250,262,, +D,DREGION,,3,"2023/12/14 22:50:00",1,SA1,0,112.25678,0,112.25678,0,0,1268.02,-7,1066.54,0,-201.48,0,,,59,,,,,,,,63,,,,,,,,56,,,,,,,,75,,,,,,,,84,,,,,,,,72,,,,,,-3.75699,2531.29794,362,1279.73572,1269.65,,20,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0,301,309,299,126.851470,289,311,301,359.851473,, +D,DREGION,,3,"2023/12/14 22:50:00",1,TAS1,0,98.18,0,98.18,0,0,1026.67,-3,1302.21,0,275.54,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,69.89,,,,,,,,71.12,,,,,,,,69.46,,,,,,0.50622,2341.82023,0,1044.80371,1033.14,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,8.11,8.11,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.5,3.5,0,219.168706,394.226106,369.680405,221.807795,161.139478,473.844651,783.324792,566.036534,, +D,DREGION,,3,"2023/12/14 22:50:00",1,VIC1,0,105.83679,0,105.83679,0,0,4298.51,-43,5282.25,0,983.74,0,,,114,,,,,,,,104,,,,,,,,104,,,,,,,,118,,,,,,,,143,,,,,,,,112,,,,,,-27.68804,7510.25425,447,4460.68213,4379.25,,84,,,,34,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.76,3.76,0,610.0001,615.0001,569.0001,81.9999,405.0001,642.0001,535.0001,586.288901,, +D,DREGION,,3,"2023/12/14 22:55:00",1,NSW1,0,157.90454,0,157.90454,0,0,8681.8,-48,8078.72,0,-603.09,0,,,80,,,,,,,,83.52,,,,,,,,83.57,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,0,11986.82211,206,8795.08398,8758.94,,50,,,,6,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0,344,339,601,182.597165,381,464,406,358.980007,, +D,DREGION,,3,"2023/12/14 22:55:00",1,QLD1,0,175.80712,0,175.80712,0,0,7348.49,-35,7052.63,0,-295.86,0,,,0,,,,,,,,105,,,,,,,,45,,,,,,,,28,,,,,,,,206.33,,,,,,,,245,,,,,,0,10084.95847,125,7389.57617,7358.06,,35,,,,179,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0,355,464.333333,177,320,285,398,213,262,, +D,DREGION,,3,"2023/12/14 22:55:00",1,SA1,0,133.84699,0,133.84699,0,0,1266.67,-3,1094.49,0,-172.18,0,,,60,,,,,,,,64,,,,,,,,58,,,,,,,,125.43,,,,,,,,88,,,,,,,,78,,,,,,0,2510.49104,362,1271.18799,1267.77,,21,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0,307,313,303,95.578948,291,312,302,404.851470,, +D,DREGION,,3,"2023/12/14 22:55:00",1,TAS1,0,115.18,0,115.18,0,0,1011.08,-5,1392.07,0,380.99,0,,,0,,,,,,,,24.02,,,,,,,,24.02,,,,,,,,43.67,,,,,,,,77.77,,,,,,,,71.1,,,,,,-7.31625,2345.92524,0,1029.37415,1023.74,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.28193,7.28193,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0,205.840975,320.152739,293.707586,166.035822,188.752055,437.793750,867.749218,640.184609,, +D,DREGION,,3,"2023/12/14 22:55:00",1,VIC1,0,127.48206,0,127.48206,0,0,4414.09,-19,5288.27,0,874.19,0,,,105,,,,,,,,95,,,,,,,,95,,,,,,,,116,,,,,,,,145,,,,,,,,114,,,,,,0,7509.27196,447,4506.99365,4497.66,,54,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0,0,0,6,6,0,612.0001,617.0001,566.0001,69.9999,228.0001,231.0001,241.0001,412.9999,, +D,DREGION,,3,"2023/12/14 23:00:00",1,NSW1,0,124.658,0,124.658,0,0,8622.72,-61,8079.35,0,-543.38,0,,,94,,,,,,,,99,,,,,,,,96,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,2.74405,11969.34585,206,8746.93164,8671,,35,,,,6,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.17,0.17,0,0.2,0.2,0,1.2,1.2,0,344,339,601,175.702581,386,469,411,410.004640,, +D,DREGION,,3,"2023/12/14 23:00:00",1,QLD1,0,135.10911,0,135.10911,0,0,7229.48,-31,7065.42,0,-164.05,0,,,0,,,,,,,,115,,,,,,,,95,,,,,,,,28,,,,,,,,203.33,,,,,,,,245,,,,,,-35.26125,10107.85409,125,7301.43994,7234.08,,0,,,,179,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.17,0.17,0,0.2,0.2,0,1.2,1.2,0,355,464.333333,176,320,252,375,250,262,, +D,DREGION,,3,"2023/12/14 23:00:00",1,SA1,0,110.71548,0,110.71548,0,0,1255.71,-4,1030.95,0,-224.76,0,,,53,,,,,,,,66,,,,,,,,58,,,,,,,,81,,,,,,,,90,,,,,,,,78,,,,,,-0.55723,2496.95258,362,1262.90063,1257.82,,10,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.17,0.17,0,0.2,0.2,0,1.2,1.2,0,307,315,305,126.851470,291,313,303,368.675261,, +D,DREGION,,3,"2023/12/14 23:00:00",1,TAS1,0,98.12,0,98.12,0,0,1021.7,-3,1198.43,0,176.73,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,78.25,,,,,,,,72.59,,,,,,,,64.92,,,,,,1.52795,2350.0748,0,1032.94373,1024.18,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.03,0.03,0,0.17,0.17,0,0.2,0.2,0,3.56,3.56,0,235.125604,454.981026,429.763493,287.853087,157.157094,472.519270,670.321740,453.900814,, +D,DREGION,,3,"2023/12/14 23:00:00",1,VIC1,0,103.86953,0,103.86953,0,0,4410.44,16,5279.94,0,869.5,0,,,89.72,,,,,,,,91.39,,,,,,,,57.54,,,,,,,,119,,,,,,,,145,,,,,,,,114,,,,,,-24.22204,7504.93834,447,4494.03076,4467,,115,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.17,0.17,0,0.2,0.2,0,1.2,1.2,0,616.0001,621.0001,571.0001,77.9999,395.0001,631.0001,524.0001,582.475424,, +D,DREGION,,3,"2023/12/14 23:05:00",1,NSW1,0,127.29166,0,127.29166,0,0,8586.51,-43,8023.43,3,-566.08,0,,,92,,,,,,,,70,,,,,,,,67,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,12.17372,11929.674,206,8671.48633,8641.76,,54,,,,6,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,2.22,2.22,0,344,339,601,185.538037,383,466,408,347.269779,, +D,DREGION,,3,"2023/12/14 23:05:00",1,QLD1,0,137.88309,0,137.88309,0,0,7239.66,-59,7060.82,0,-178.84,0,,,0,,,,,,,,140,,,,,,,,130,,,,,,,,28,,,,,,,,200.33,,,,,,,,244,,,,,,-22.2202,10084.88649,125,7326.9165,7244.59,,5,,,,179,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,2.22,2.22,0,354,463.333333,173,308,287,400,215,262,, +D,DREGION,,3,"2023/12/14 23:05:00",1,SA1,0,111.63821,0,111.63821,0,0,1247,-1,1040.21,0,-206.79,0,,,61,,,,,,,,61,,,,,,,,56,,,,,,,,76,,,,,,,,85,,,,,,,,76,,,,,,-7.79928,2491.20682,362,1257.75073,1248.73,,20,,,,0,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,2.22,2.22,0,305,310,300,123.867919,279,278,278,404.851470,, +D,DREGION,,3,"2023/12/14 23:05:00",1,TAS1,0,98.15,0,98.15,0,0,1000.89,-2,1252.43,0,251.54,0,,,1.67,,,,,,,,23.46,,,,,,,,0,,,,,,,,83.96,,,,,,,,82.42,,,,,,,,69.75,,,,,,-6.29451,2345.06885,0,1011.16724,1006.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,3.53,3.53,0,223.580471,451.250774,454.483341,287.262675,158.214237,493.251252,701.549889,484.910084,, +D,DREGION,,3,"2023/12/14 23:05:00",1,VIC1,0,105.26069,0,105.26069,0,0,4413.69,33,5239.7,0,826.01,0,,,83,,,,,,,,78,,,,,,,,51.56,,,,,,,,120,,,,,,,,145,,,,,,,,114,,,,,,-18.9236,7493.69896,447,4458.33301,4475.28,,81,,,,30,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,0.03,0.03,0,0.38,0.38,0,0.38,0.38,0,2.22,2.22,0,617.0001,622.0001,574.0001,82.9999,340,582,475,551.200034,, +D,DREGION,,3,"2023/12/14 23:10:00",1,NSW1,0,128.61419,0,128.61419,0,0,8536.13,-44,7961.23,3,-577.9,0,,,62,,,,,,,,40,,,,,,,,37,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,0.64407,11927.16289,206,8632.54883,8594.64,,83,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,3.75,3.75,0,344,339,601,192.336854,354,437,379,365.441972,, +D,DREGION,,3,"2023/12/14 23:10:00",1,QLD1,0,140.05119,0,140.05119,0,0,7204.36,-23,7014.1,3,-193.27,0,,,0,,,,,,,,154.63,,,,,,,,94.5,,,,,,,,25,,,,,,,,201.89,,,,,,,,239,,,,,,-13.70805,10036.17687,125,7245.23535,7212.67,,5,,,,179,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,3.75,3.75,0,349,458.333333,169,301.442140,312,435,250,262,, +D,DREGION,,3,"2023/12/14 23:10:00",1,SA1,0,112.78993,0,112.78993,0,0,1240.29,-4,1047.61,0,-192.68,0,,,49.65,,,,,,,,62,,,,,,,,58,,,,,,,,129.91,,,,,,,,134,,,,,,,,118.89,,,,,,-1.68394,2497.60857,362,1247.62109,1241.74,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,3.75,3.75,0,307,312,302,122.525725,291,310,300,404.851470,, +D,DREGION,,3,"2023/12/14 23:10:00",1,TAS1,0,98.15,0,98.15,0,0,1005.4,-1,1300.82,0,295.42,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,2.54969,2330.33177,0,1006.87915,1012.89,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,3.53,3.53,0,219.329138,414.416636,388.805215,348.141076,154.656409,486.497166,765.375674,548.036204,, +D,DREGION,,3,"2023/12/14 23:10:00",1,VIC1,0,106.34821,0,106.34821,0,0,4447.56,44,5250.89,0,803.33,0,,,125,,,,,,,,115,,,,,,,,115,,,,,,,,120,,,,,,,,144,,,,,,,,113,,,,,,-12.39528,7505.88873,447,4475.52881,4512.7,,52,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.05,0.05,0,3.75,3.75,0,613.0001,618.0001,569.0001,81.9999,366,613,511,554.536033,, +D,DREGION,,3,"2023/12/14 23:15:00",1,NSW1,0,157.43246,0,157.43246,0,0,8458.98,-49,7926.13,2,-534.85,0,,,68,,,,,,,,46,,,,,,,,42,,,,,,,,106.21,,,,,,,,79,,,,,,,,88,,,,,,-13.06255,11910.08594,206,8576.69238,8524.4,,61,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,0.53,0.53,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0,344,339,601,219.0519,359,443,385,402.525075,, +D,DREGION,,3,"2023/12/14 23:15:00",1,QLD1,0,173.58939,0,173.58939,0,0,7236.73,-17,6967.51,0,-269.22,0,,,0,,,,,,,,100.05,,,,,,,,47.13,,,,,,,,30,,,,,,,,224.33,,,,,,,,227,,,,,,-14.47392,9843.67304,125,7275.97266,7244.77,,40,,,,164,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,0.53,0.53,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0,337,446.333333,166,277,252,375,250,302,, +D,DREGION,,3,"2023/12/14 23:15:00",1,SA1,0,134.37949,0,134.37949,0,0,1228.31,-3,1091.34,0,-136.97,0,,,67,,,,,,,,66,,,,,,,,58,,,,,,,,168,,,,,,,,126.56,,,,,,,,145.9,,,,,,-2.5384,2494.62635,362,1235.1615,1228.89,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,0.53,0.53,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0,307,315,305,65.851472,281,284,284,404.851470,, +D,DREGION,,3,"2023/12/14 23:15:00",1,TAS1,0,115.18,0,115.18,0,0,1018.15,0,1455.61,0,437.46,0,,,0,,,,,,,,76.86,,,,,,,,76.86,,,,,,,,0,,,,,,,,41.29,,,,,,,,41.29,,,,,,9.01294,2343.71237,0,1016.00146,1034.9,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0,0,0,7.28193,7.28193,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,203.946238,276.543197,245.958376,155.658960,215.548928,467.542960,905.666106,647.672856,, +D,DREGION,,3,"2023/12/14 23:15:00",1,VIC1,0,129.31184,0,129.31184,0,0,4588.2,68,5251.16,0,662.96,0,,,98.22,,,,,,,,79,,,,,,,,79,,,,,,,,145,,,,,,,,144,,,,,,,,113,,,,,,-9.24663,7499.16272,447,4589.8623,4658.8,,49,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,0.53,0.53,0,0.01,0.01,0,0.01,0.01,0,0.38,0.38,0,1,1,0,611.0001,616.0001,565.0001,72.9999,202,327,281,439.848533,, +D,DREGION,,3,"2023/12/14 23:20:00",1,NSW1,0,135.61888,0,135.61888,0,0,8423.44,-43,7894.67,0,-528.78,0,,,56,,,,,,,,68,,,,,,,,32.79,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-26.76917,11900.05447,206,8556.81055,8481.79,,40,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1.46,1.46,0,344,339,601,203.748999,380,464,406,426.187368,, +D,DREGION,,3,"2023/12/14 23:20:00",1,QLD1,0,148.38884,0,148.38884,0,0,7138.07,-33,6893.65,0,-244.42,0,,,0,,,,,,,,113.61,,,,,,,,85,,,,,,,,27,,,,,,,,220.33,,,,,,,,227,,,,,,-23.17364,9778.21969,125,7200.20752,7145.01,,40,,,,149,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1.46,1.46,0,337,446.333333,166,255,312,435,250,302,, +D,DREGION,,3,"2023/12/14 23:20:00",1,SA1,0,118.44,0,118.44,0,0,1238.29,-2,1056.03,0,-182.27,0,,,60.39,,,,,,,,64,,,,,,,,56,,,,,,,,164,,,,,,,,121.91,,,,,,,,137.24,,,,,,6.50946,2498.7479,362,1234.76123,1239.56,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1.46,1.46,0,305,313,303,110.851470,289,312,302,378.876387,, +D,DREGION,,3,"2023/12/14 23:20:00",1,TAS1,0,101.6006,0,101.6006,0,0,1029,0,1401.37,0,372.37,0,,,0,,,,,,,,16.08,,,,,,,,16.08,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,15.47619,2354.57331,0,1027.6228,1041.08,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,217.273969,343.615210,311.271345,276.205371,200.204659,516.253711,842.034780,624.445594,, +D,DREGION,,3,"2023/12/14 23:20:00",1,VIC1,0,112.25244,0,112.25244,0,0,4536.57,14,5265.02,0,728.45,0,,,124,,,,,,,,114,,,,,,,,114,,,,,,,,119.94,,,,,,,,144,,,,,,,,113,,,,,,-13.9705,7512.0249,447,4608.58105,4603.3,,70,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1.46,1.46,0,615.0001,620.0001,569.0001,73.9999,390,632,525,571.070151,, +D,DREGION,,3,"2023/12/14 23:25:00",1,NSW1,0,123.05388,0,123.05388,0,0,8266.58,-61,7892.06,0,-374.51,0,,,54.48,,,,,,,,46,,,,,,,,43,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,-28.44736,11923.0825,206,8409.29004,8310.52,,81,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0,344,339,601,206.170949,360,443,385,427.879242,, +D,DREGION,,3,"2023/12/14 23:25:00",1,QLD1,0,134.33747,0,134.33747,0,0,7081.07,-57,6844.74,10,-246.33,0,,,0,,,,,,,,149.48,,,,,,,,88.19,,,,,,,,26,,,,,,,,225.33,,,,,,,,216,,,,,,-31.87336,9750.66438,125,7176.19434,7097.82,,40,,,,149,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0,326,435.333333,164,265.899990,312,435,250,295,, +D,DREGION,,3,"2023/12/14 23:25:00",1,SA1,0,110.16644,0,110.16644,0,0,1224.18,-3,1042.3,0,-181.89,0,,,61,,,,,,,,66,,,,,,,,58,,,,,,,,165,,,,,,,,117.45,,,,,,,,146.78,,,,,,-1.10934,2492.29681,362,1230.50488,1225.44,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0,307,315,304,110.851470,291,314,304,401.123992,, +D,DREGION,,3,"2023/12/14 23:25:00",1,TAS1,0,98.12,0,98.12,0,0,1010.87,-2,1216.81,0,205.93,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,5.95238,2353.01974,0,1017.39844,1014.34,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.56,3.56,0,238.723328,483.970774,499.084470,459.844196,158.011933,462.947605,657.725176,441.333084,, +D,DREGION,,3,"2023/12/14 23:25:00",1,VIC1,0,104.41313,0,104.41313,0,0,4569.24,10,5267.73,0,698.5,0,,,125,,,,,,,,115,,,,,,,,115,,,,,,,,117.79,,,,,,,,142,,,,,,,,113,,,,,,-14.3459,7505.73485,447,4634.51709,4615.52,,29,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0,615.0001,616.0001,566.0001,68.9999,391,633,526,570.287925,, +D,DREGION,,3,"2023/12/14 23:30:00",1,NSW1,0,134.64506,0,134.64506,0,0,8342.79,-42,7870,0,-472.79,0,,,62,,,,,,,,40,,,,,,,,38,,,,,,,,94,,,,,,,,79,,,,,,,,88,,,,,,0,11914.3715,206,8428.66016,8400.88,,87,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,1.5,1.5,0,344,339,601,215.322176,354,436,378,409.428149,, +D,DREGION,,3,"2023/12/14 23:30:00",1,QLD1,0,147.81771,0,147.81771,0,0,7031.13,-49,6756.35,10,-284.78,0,,,0,,,,,,,,130.93,,,,,,,,68.04,,,,,,,,27,,,,,,,,196.33,,,,,,,,230,,,,,,0,9655.33156,125,7094.42139,7049.21,,40,,,,149,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,1.5,1.5,0,340,449.333333,166,276,287,400,215,295,, +D,DREGION,,3,"2023/12/14 23:30:00",1,SA1,0,118.44,0,118.44,0,0,1253.72,26,1052.17,0,-201.55,0,,,54,,,,,,,,66,,,,,,,,58,,,,,,,,165,,,,,,,,146.37,,,,,,,,134.71,,,,,,0,2480.47219,362,1229.1925,1255.34,,19,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,1.5,1.5,0,307,315,304,94.220782,291,314,304,409.851470,, +D,DREGION,,3,"2023/12/14 23:30:00",1,TAS1,0,100.55427,0,100.55427,0,0,988.8,-5,1386.4,0,397.6,0,,,0,,,,,,,,39.8,,,,,,,,39.8,,,,,,,,28.21,,,,,,,,50,,,,,,,,50,,,,,,-3.57143,2338.4979,0,1000.24408,1002.6,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.17,0.17,0,3.5,3.5,0,217.168706,343.615210,311.271345,214.599621,200.091756,516.253711,843.044881,624.685337,, +D,DREGION,,3,"2023/12/14 23:30:00",1,VIC1,0,111.69217,0,111.69217,0,0,4574.73,-4,5283.4,0,708.68,0,,,124.98,,,,,,,,100,,,,,,,,100,,,,,,,,140.75,,,,,,,,144,,,,,,,,113,,,,,,0,7522.40235,447,4628.08545,4640.28,,14,,,,30,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0.17,0.17,0,1.5,1.5,0,609.0001,612.0001,561.0001,55.9999,213,211,221,407.906150,, +D,DREGION,,3,"2023/12/14 23:35:00",1,NSW1,0,161.01636,0,161.01636,0,0,8299.8,-23,7753.66,0,-546.14,0,,,18.96,,,,,,,,34,,,,,,,,0,,,,,,,,132.99,,,,,,,,82,,,,,,,,80,,,,,,-23.58815,11901.85434,206,8406.77441,8359.83,,40,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1.4504,1.4504,0,0,0,0,0.01,0.01,0,0,0,0,3.75,3.75,0,363,358,620,205.531163,381,464,406,335.591619,, +D,DREGION,,3,"2023/12/14 23:35:00",1,QLD1,0,176.78324,0,176.78324,0,0,6994.58,-50,6746.88,10,-257.7,0,,,42,,,,,,,,55.2,,,,,,,,42,,,,,,,,33,,,,,,,,202.33,,,,,,,,249,,,,,,-40.28371,9636.80135,125,7103.06885,7011.67,,45,,,,164,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1.4504,1.4504,0,0,0,0,0.01,0.01,0,0,0,0,3.75,3.75,0,332,440.333333,163,264.700010,312,435,250,295,, +D,DREGION,,3,"2023/12/14 23:35:00",1,SA1,0,143.59518,0,143.59518,0,0,1292.42,43,1032.17,0,-260.25,0,,,45,,,,,,,,63,,,,,,,,49,,,,,,,,155,,,,,,,,163,,,,,,,,152,,,,,,-1.50411,2470.57918,362,1253.21667,1295.35,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1.4504,1.4504,0,0,0,0,0.01,0.01,0,0,0,0,3.75,3.75,0,295.232570,305,294,6.851466,279,281,281,472.851470,, +D,DREGION,,3,"2023/12/14 23:35:00",1,TAS1,0,115.2,0,115.2,0,0,1004.39,-1,1475.86,0,471.46,0,,,7.32,,,,,,,,107.32,,,,,,,,107.32,,,,,,,,0,,,,,,,,10,,,,,,,,10,,,,,,3.57143,2334.14958,0,1012.06464,1023.86,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0,0,0,7.31632,7.31632,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,190.386575,255.130460,216.463255,90.848056,233.809010,610.282441,935.617046,652.641915,, +D,DREGION,,3,"2023/12/14 23:35:00",1,VIC1,0,132.72,0,132.72,0,0,4474.41,-8,5230.71,0,756.3,0,,,124,,,,,,,,114,,,,,,,,114,,,,,,,,148,,,,,,,,157.9,,,,,,,,124.23,,,,,,-16.27071,7545.71551,447,4565.39014,4548.57,,55,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.53,0.53,0,1.4504,1.4504,0,0,0,0,0.01,0.01,0,0,0,0,3.75,3.75,0,617.004370,619.004370,569.004370,49.004370,415,650,543,591.839280,, +D,DREGION,,3,"2023/12/14 23:40:00",1,NSW1,0,141.21574,0,141.21574,0,0,8172.79,-47,7761.22,0,-411.57,0,,,25.24,,,,,,,,41,,,,,,,,30.7,,,,,,,,99,,,,,,,,83,,,,,,,,82,,,,,,-29.09713,11909.21675,206,8297.38086,8206,,76,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0,0,0,1,1,0,365,359,621,211.912778,353,437,379,410.720136,, +D,DREGION,,3,"2023/12/14 23:40:00",1,QLD1,0,151.64673,0,151.64673,0,0,6867.9,-44,6714.02,10,-163.88,0,,,42,,,,,,,,155.28,,,,,,,,102,,,,,,,,29,,,,,,,,197.33,,,,,,,,242,,,,,,-27.51986,9612.80312,125,6955.84912,6881.68,,40,,,,149,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0,0,0,1,1,0,352,461.333333,173,284,312,435,250,295,, +D,DREGION,,3,"2023/12/14 23:40:00",1,SA1,0,137.79,0,137.79,0,0,1333.09,29,918.83,0,-414.26,0,,,47,,,,,,,,65,,,,,,,,58,,,,,,,,153,,,,,,,,133.37,,,,,,,,120.71,,,,,,-5.94755,2459.18039,362,1314.90759,1341.15,,10,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0,0,0,1,1,0,304,314,303,92.349350,281,283,283,416.502120,, +D,DREGION,,3,"2023/12/14 23:40:00",1,TAS1,0,112.38591,0,112.38591,0,0,1045.82,4,1371.98,0,326.17,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,8.33333,2323.08485,0,1047.31042,1055.02,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,8.11,8.11,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.5,3.5,0,217.273969,338.016149,309.271345,275.042105,200.204659,516.253711,844.057507,626.445594,, +D,DREGION,,3,"2023/12/14 23:40:00",1,VIC1,0,122.39435,0,122.39435,0,0,4454.41,-28,5228.64,0,774.23,0,,,125,,,,,,,,115,,,,,,,,115,,,,,,,,138.66,,,,,,,,154,,,,,,,,123,,,,,,-12.94601,7585.64423,447,4560.09473,4510.85,,34,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.41,0.41,0,0.41,0.41,0,0.01,0.01,0,0.01,0.01,0,0,0,0,1,1,0,646,651,600,86,416,651,544,560.507651,, +D,DREGION,,3,"2023/12/14 23:45:00",1,NSW1,0,122.74686,0,122.74686,0,0,8116.34,-52,7766.53,0,-349.81,0,,,34.93,,,,,,,,74,,,,,,,,70,,,,,,,,109,,,,,,,,93,,,,,,,,91,,,,,,-23.85362,11914.52859,206,8231.49219,8153.95,,63,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,2,2,0,364,369,631,230.385484,377,461,403,424.869242,, +D,DREGION,,3,"2023/12/14 23:45:00",1,QLD1,0,133.43318,0,133.43318,0,0,6902.46,-34,6679.24,10,-233.22,0,,,45,,,,,,,,135.19,,,,,,,,76,,,,,,,,25.31,,,,,,,,217.33,,,,,,,,232,,,,,,-14.53103,9597.31268,125,6966.15479,6918.29,,43,,,,159,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,2,2,0,342,451.333333,188,292,312,435,250,295,, +D,DREGION,,3,"2023/12/14 23:45:00",1,SA1,0,118.81324,0,118.81324,0,0,1312.06,3,899.11,0,-412.95,0,,,47,,,,,,,,65,,,,,,,,58,,,,,,,,150,,,,,,,,112.24,,,,,,,,130.57,,,,,,-12.00734,2433.10708,362,1328.20691,1320.07,,20,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,2,2,0,304,314,303,107,281,283,283,404.851470,, +D,DREGION,,3,"2023/12/14 23:45:00",1,TAS1,0,98.15,0,98.15,0,0,1024.59,-3,1280.13,0,255.54,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,-0.18832,2316.14003,0,1035.90295,1030.11,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0,0,0,3.53,3.53,0,218.685734,411.250774,381.218713,344.731686,153.181979,474.753711,759.002461,541.739594,, +D,DREGION,,3,"2023/12/14 23:45:00",1,VIC1,0,105.53257,0,105.53257,0,0,4437.98,-7,5291.31,0,853.33,0,,,112,,,,,,,,102,,,,,,,,102,,,,,,,,135,,,,,,,,144,,,,,,,,113,,,,,,-9.66529,7666.02551,447,4513.44629,4493.9,,34,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,2,2,0,624,629,578,80,316,563,461,505.288025,, +D,DREGION,,3,"2023/12/14 23:50:00",1,NSW1,0,121.43468,0,121.43468,0,0,8122.06,-27,7781.76,0,-340.31,0,,,43.04,,,,,,,,58,,,,,,,,54,,,,,,,,106,,,,,,,,91,,,,,,,,88,,,,,,-24.09818,11934.75741,206,8201.58789,8154.46,,76,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0,359,365,627,229.619480,361,445,387,420.787860,, +D,DREGION,,3,"2023/12/14 23:50:00",1,QLD1,0,131.05313,0,131.05313,0,0,6847.04,-24,6658.04,10,-198.99,0,,,45,,,,,,,,163.33,,,,,,,,105.05,,,,,,,,28,,,,,,,,199.08,,,,,,,,232,,,,,,-9.06247,9606.32333,125,6892.18604,6861.7,,60,,,,159,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0,342,451.333333,192,309,312,435,250,297.858057,, +D,DREGION,,3,"2023/12/14 23:50:00",1,SA1,0,118.44,0,118.44,0,0,1292.44,1,882.97,0,-409.47,0,,,50,,,,,,,,64,,,,,,,,56,,,,,,,,156.79,,,,,,,,135,,,,,,,,135.08,,,,,,-17.10442,2418.37526,362,1316.63354,1300.31,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0,303.404420,313,302,100.617090,279,282,282,401.031248,, +D,DREGION,,3,"2023/12/14 23:50:00",1,TAS1,0,98.12,0,98.12,0,0,1021,-3,1259.77,0,238.77,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,-7.4982,2343.50142,0,1036.14966,1025.77,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,3.56,3.56,0,226.119933,446.529434,446.504830,407.264556,158.011933,492.900053,710.672506,493.912724,, +D,DREGION,,3,"2023/12/14 23:50:00",1,VIC1,0,105.20545,0,105.20545,0,0,4500.55,-36,5311.58,0,811.02,0,,,101,,,,,,,,91,,,,,,,,91,,,,,,,,130,,,,,,,,143,,,,,,,,113,,,,,,-6.20144,7683.64998,447,4593.27539,4551.88,,14,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0.01,0.01,0,1,1,0,632,633,578,74.093754,251,366,310,440.224609,, +D,DREGION,,3,"2023/12/14 23:55:00",1,NSW1,0,115.02986,0,115.02986,0,0,8073.68,-32,7793.21,0,-280.47,0,,,29.91,,,,,,,,82,,,,,,,,56.61,,,,,,,,106,,,,,,,,91,,,,,,,,88,,,,,,-13.60847,11941.21013,206,8148.15625,8099.18,,90,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.01,0.01,0,359,365,627,215.977937,359,443,385,425.920267,, +D,DREGION,,3,"2023/12/14 23:55:00",1,QLD1,0,123.23319,0,123.23319,0,0,6817,-33,6650.79,10,-176.21,0,,,45,,,,,,,,122.59,,,,,,,,85,,,,,,,,27,,,,,,,,190.66,,,,,,,,232,,,,,,-3.66693,9598.46266,125,6867.7041,6830.92,,41,,,,159,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.01,0.01,0,342,451.333333,196,315,312,435,250,315,, +D,DREGION,,3,"2023/12/14 23:55:00",1,SA1,0,116.29845,0,116.29845,0,0,1302.22,-3,830.45,0,-471.78,0,,,48,,,,,,,,66,,,,,,,,58,,,,,,,,165,,,,,,,,142,,,,,,,,134.66,,,,,,-15.45761,2413.44613,362,1330.12769,1312.85,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.01,0.01,0,307,315,304,110.851470,281,284,284,362.160003,, +D,DREGION,,3,"2023/12/14 23:55:00",1,TAS1,0,96.18,0,96.18,0,0,1014.02,-3,1165.57,0,151.55,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,50,,,,,,,,50,,,,,,-12.42713,2356.85715,0,1032.99243,1015.77,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0,0,0,5.5,5.5,0,238.723328,500.086665,554.163870,514.923596,147.966478,428.802492,602.210281,386.253684,, +D,DREGION,,3,"2023/12/14 23:55:00",1,VIC1,0,101.28321,0,101.28321,0,0,4455.49,-17,5322.57,0,867.08,0,,,117,,,,,,,,107,,,,,,,,107,,,,,,,,121.98,,,,,,,,144,,,,,,,,113,,,,,,0.34456,7698.48465,447,4524.47021,4503.87,,19,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.01,0.01,0,636.582282,642.477853,586,77.093752,416,653,541,551.788024,, +D,DREGION,,3,"2023/12/15 00:00:00",1,NSW1,0,111.67969,0,111.67969,0,0,8041.32,-32,7796.47,0,-244.86,0,,,95,,,,,,,,109,,,,,,,,105,,,,,,,,106,,,,,,,,91,,,,,,,,88,,,,,,-6.42002,11944.46683,206,8104.29199,8062.73,,30,,,,6,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.72,0.72,0,359,365,627,222.917830,455,569,511,504.095261,, +D,DREGION,,3,"2023/12/15 00:00:00",1,QLD1,0,119.55,0,119.55,0,0,6797.45,-46,6649.3,10,-158.15,0,,,45,,,,,,,,157.81,,,,,,,,98.23,,,,,,,,27,,,,,,,,186.33,,,,,,,,232,,,,,,1.30133,9607.19444,125,6854.82764,6810.83,,40,,,,159,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.72,0.72,0,342,451.333333,200,318,312,435,250,295,, +D,DREGION,,3,"2023/12/15 00:00:00",1,SA1,0,113.77231,0,113.77231,0,0,1296.08,-1,824.92,0,-471.16,0,,,61,,,,,,,,66,,,,,,,,58,,,,,,,,157.33,,,,,,,,131.63,,,,,,,,119.97,,,,,,-18.90088,2407.92278,362,1327.07129,1306.69,,10,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.72,0.72,0,311,319,308,122.517620,281,284,284,395.044097,, +D,DREGION,,3,"2023/12/15 00:00:00",1,TAS1,0,96.18,0,96.18,0,0,1006.06,-2,1137.3,0,131.25,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,50,,,,,,,,63.49,,,,,,,,63.49,,,,,,-17.35607,2346.42349,0,1026.01453,1007.3,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.39,0.39,0,7.11,7.11,0,0.01,0.01,0,0.01,0.01,0,0,0,0,5.5,5.5,0,239.249644,512.854749,570.992180,487.835655,144.123392,422.072163,613.515241,368.425374,, +D,DREGION,,3,"2023/12/15 00:00:00",1,VIC1,0,99.074,0,99.074,0,0,4389.45,-48,5213.12,0,823.66,0,,,56,,,,,,,,46,,,,,,,,46,,,,,,,,128,,,,,,,,144,,,,,,,,113,,,,,,4.17163,7698.86735,447,4480.40625,4433.55,,80,,,,5,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,0.77,0.77,0,0.01,0.01,0,0.01,0.01,0,0,0,0,0.72,0.72,0,633.549872,638.937340,585,79.000001,389,503,447,501.25,, +D,DREGION,,3,"2023/12/15 00:05:00",1,NSW1,0,116.77029,0,116.77029,0,0,8020.07,-32,7788.1,0,-231.98,0,,,68.89,,,,,,,,65,,,,,,,,61,,,,,,,,121,,,,,,,,106,,,,,,,,103,,,,,,5.00914,11959.39576,181,8066.92334,8044.91,,106.2,,,,32.02,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,20.68,20.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0,374,380,642,198.8172,342,426,368,318.568616,, +D,DREGION,,3,"2023/12/15 00:05:00",1,QLD1,0,125.74745,0,125.74745,0,0,6802.74,-43,6621.2,16,-197.54,0,,,29,,,,,,,,43.51,,,,,,,,29,,,,,,,,25,,,,,,,,101.97,,,,,,,,141,,,,,,5.20593,9509.77693,125,6852.94482,6823.16,,0,,,,102.98,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,20.68,20.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0,351,460.333333,204,219,312,435,250,274,, +D,DREGION,,3,"2023/12/15 00:05:00",1,SA1,0,118.44,0,118.44,0,0,1289.29,6,820.78,0,-468.52,0,,,63,,,,,,,,98,,,,,,,,57,,,,,,,,84.77,,,,,,,,91,,,,,,,,146.7,,,,,,-15.82512,2410.08863,362,1309.67822,1299.78,,19.8,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,20.68,20.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0,308,316,305,126.851470,279,282,282,397.786720,, +D,DREGION,,3,"2023/12/15 00:05:00",1,TAS1,0,98.11122,0,98.11122,0,0,998.56,2,1168.36,0,169.8,0,,,0,,,,,,,,61.48,,,,,,,,43.21,,,,,,,,153,,,,,,,,205.9,,,,,,,,145.17,,,,,,-14.96299,2385.58915,0,1012.62396,1000.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.58873,3.58873,0,227.863517,438.002024,470.942155,216.992565,145.583853,386.879882,575.285840,346.442348,, +D,DREGION,,3,"2023/12/15 00:05:00",1,VIC1,0,103.58847,0,103.58847,0,0,4418.1,-2,5235.1,0,817,0,,,81,,,,,,,,112,,,,,,,,117,,,,,,,,87,,,,,,,,114,,,,,,,,83,,,,,,7.94803,7648.10133,392,4454.5708,4464.87,,34,,,,24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,20.68,20.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0,582,587,535,67,288,406,355,439.162109,, +D,DREGION,,3,"2023/12/15 00:10:00",1,NSW1,0,117.92275,0,117.92275,0,0,8028.33,-40,7824.9,0,-203.43,0,,,65.82,,,,,,,,126,,,,,,,,92.64,,,,,,,,122,,,,,,,,107,,,,,,,,104,,,,,,21.08255,11950.73259,181,8065.1665,8056.83,,87,,,,32.02,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,11.5,11.5,0,0.14,0.14,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,375,381,643,199.068976,413,526,468,438.682424,, +D,DREGION,,3,"2023/12/15 00:10:00",1,QLD1,0,127.66465,0,127.66465,0,0,6717.97,-36,6470.41,0,-247.56,0,,,29,,,,,,,,29,,,,,,,,29,,,,,,,,25,,,,,,,,108,,,,,,,,141,,,,,,-10.67269,9255.73335,125,6782.67627,6723.81,,0,,,,69,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,11.5,11.5,0,0.14,0.14,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,347,455.333333,201,215,312,435,250,267,, +D,DREGION,,3,"2023/12/15 00:10:00",1,SA1,0,119.28023,0,119.28023,0,0,1311.48,6,835.27,0,-476.21,0,,,61,,,,,,,,63,,,,,,,,59,,,,,,,,84.24,,,,,,,,88,,,,,,,,135.51,,,,,,-11.40018,2404.26506,362,1329.31531,1322.33,,29,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,11.5,11.5,0,0.14,0.14,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,308,313,302,105.552337,281,280,280,404.851470,, +D,DREGION,,3,"2023/12/15 00:10:00",1,TAS1,0,98.12,0,98.12,0,0,992.75,-2,1174.77,0,182.02,0,,,0,,,,,,,,20.22,,,,,,,,0,,,,,,,,153,,,,,,,,204.64,,,,,,,,154.14,,,,,,-18.73131,2342.96492,0,1013.97394,995.39,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.14,0.14,0,0.38,0.38,0,0.01,0.01,0,3.57,3.57,0,222.831166,432.227080,441.965036,176.012383,154.492944,456.400053,665.199011,495.348314,, +D,DREGION,,3,"2023/12/15 00:10:00",1,VIC1,0,103.86953,0,103.86953,0,0,4378.66,-30,5221.1,0,842.44,0,,,87,,,,,,,,143,,,,,,,,127,,,,,,,,85,,,,,,,,110,,,,,,,,83,,,,,,8.00202,7632.09772,392,4444.54395,4428.08,,44,,,,53.98,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,11.5,11.5,0,0.14,0.14,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,572,571,523,76,378,613,501,506.322326,, +D,DREGION,,3,"2023/12/15 00:15:00",1,NSW1,0,110.69162,0,110.69162,0,0,7913.88,-42,7868.35,0,-45.53,0,,,60.04,,,,,,,,67,,,,,,,,63,,,,,,,,122,,,,,,,,107,,,,,,,,104,,,,,,28.12049,11956.61452,181,7952.7207,7932.68,,126,,,,26.01,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.73,7.73,0,0.2,0.2,0,0.39,0.39,0,0.01,0.01,0,1.2198,1.2198,0,375,381,643,192.809587,343,427,369,417.989582,, +D,DREGION,,3,"2023/12/15 00:15:00",1,QLD1,0,119.55,0,119.55,0,0,6625.26,-33,6383.04,0,-242.22,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,122,,,,,,,,141,,,,,,-23.68052,9234.65353,125,6688.07422,6630.68,,0,,,,57.99,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.73,7.73,0,0.2,0.2,0,0.39,0.39,0,0.01,0.01,0,1.2198,1.2198,0,352,461.333333,207,209,252,375,250,246.433668,, +D,DREGION,,3,"2023/12/15 00:15:00",1,SA1,0,117.93465,0,117.93465,0,0,1322.8,5,787.23,0,-535.56,0,,,51,,,,,,,,97.2,,,,,,,,59,,,,,,,,84.78,,,,,,,,89,,,,,,,,137.82,,,,,,-1.25813,2406.23495,362,1331.06433,1336.69,,10,,,,33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.73,7.73,0,0.2,0.2,0,0.39,0.39,0,0.01,0.01,0,1.2198,1.2198,0,308,314,303,126.851470,268,275,275,362.057403,, +D,DREGION,,3,"2023/12/15 00:15:00",1,TAS1,0,98.12,0,98.12,0,0,1010,-3,1090.35,0,80.35,0,,,0,,,,,,,,30,,,,,,,,0,,,,,,,,153,,,,,,,,194.48,,,,,,,,154.12,,,,,,-5.83295,2345.0387,0,1019.98212,1010.35,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.57,3.57,0,236.594366,470.107998,528.456746,262.504090,150.174179,398.809720,578.102464,408.856604,, +D,DREGION,,3,"2023/12/15 00:15:00",1,VIC1,0,100.70627,0,100.70627,0,0,4373,-25,5197.24,0,824.24,0,,,87,,,,,,,,143,,,,,,,,141.82,,,,,,,,86,,,,,,,,107.46,,,,,,,,83,,,,,,2.67436,7618.24412,389,4440.78516,4415.82,,44,,,,53,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.73,7.73,0,0.2,0.2,0,0.39,0.39,0,0.01,0.01,0,1.2198,1.2198,0,571,572,522,78,378,613,501,501.755859,, +D,DREGION,,3,"2023/12/15 00:20:00",1,NSW1,0,111.77349,0,111.77349,0,0,7894.57,-42,7800.17,3,-97.39,0,,,68.8,,,,,,,,144.34,,,,,,,,107.42,,,,,,,,122,,,,,,,,107,,,,,,,,104,,,,,,30.92782,11956.59474,181,7934.62988,7921.59,,63.2,,,,32.01,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,2.1839,2.1839,0,375,381,643,201.641727,444,558,500,360.865080,, +D,DREGION,,3,"2023/12/15 00:20:00",1,QLD1,0,121.50733,0,121.50733,0,0,6656.32,-27,6391.09,0,-265.23,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,121,,,,,,,,141,,,,,,-17.7476,9214.01343,125,6709.56494,6662.49,,0,,,,79.99,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,2.1839,2.1839,0,352,461.333333,207,203.500031,312,435,250,247,, +D,DREGION,,3,"2023/12/15 00:20:00",1,SA1,0,116.55246,0,116.55246,0,0,1309.97,4,787.55,0,-522.43,0,,,43,,,,,,,,62,,,,,,,,56,,,,,,,,83.55,,,,,,,,85,,,,,,,,135.94,,,,,,-6.20371,2406.5472,362,1324.41064,1323.19,,25,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,2.1839,2.1839,0,306,310,299,126.851470,266,271,271,377,, +D,DREGION,,3,"2023/12/15 00:20:00",1,TAS1,0,98.12,0,98.12,0,0,996.17,-3,1096.62,0,100.45,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,153,,,,,,,,196.08,,,,,,,,154.14,,,,,,-9.43424,2358.13526,0,1008.76813,996.82,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.03,0.03,0,0.38,0.38,0,0,0,0,3.57,3.57,0,236.594366,472.039061,535.282866,269.330213,144.899449,392.816054,571.228609,402.030484,, +D,DREGION,,3,"2023/12/15 00:20:00",1,VIC1,0,100,0,100,0,0,4268.75,-23,5143.96,0,875.22,0,,,86,,,,,,,,131,,,,,,,,106,,,,,,,,85,,,,,,,,109,,,,,,,,83,,,,,,0.42719,7607.23176,389,4337.41406,4315.3,,72,,,,43,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.03,0.03,0,0.38,0.38,0,0.01,0.01,0,2.1839,2.1839,0,578,574,528,72,377,612,500,501.692383,, +D,DREGION,,3,"2023/12/15 00:25:00",1,NSW1,0,111.71086,0,111.71086,0,0,7829.82,-43,7754.1,0,-75.72,0,,,53,,,,,,,,67,,,,,,,,63,,,,,,,,122,,,,,,,,107,,,,,,,,104,,,,,,29.79887,11978.13998,181,7870.64063,7853.78,,102.86,,,,32,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.38,0.38,0,0.39,0.39,0,0,0,0,0.72,0.72,0,375,381,643,196.976927,344,428,370,319.932811,, +D,DREGION,,3,"2023/12/15 00:25:00",1,QLD1,0,121.3557,0,121.3557,0,0,6660.36,-23,6382.99,0,-277.37,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,28.24,,,,,,,,120,,,,,,,,141,,,,,,-10.56678,9205.33289,125,6700.70361,6666.85,,0,,,,82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.38,0.38,0,0.39,0.39,0,0,0,0,0.72,0.72,0,352,461.333333,207,201,312,435,250,247,, +D,DREGION,,3,"2023/12/15 00:25:00",1,SA1,0,116.55726,0,116.55726,0,0,1315.52,2,781.51,0,-534.02,0,,,58.15,,,,,,,,86.89,,,,,,,,59,,,,,,,,79,,,,,,,,89,,,,,,,,135.99,,,,,,-5.91307,2399.50761,362,1334.1687,1329.36,,10,,,,33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.38,0.38,0,0.39,0.39,0,0,0,0,0.72,0.72,0,307,314,303,121.997130,268,276,276,377,, +D,DREGION,,3,"2023/12/15 00:25:00",1,TAS1,0,96.68948,0,96.68948,0,0,1000.78,-2,1092.42,0,91.64,0,,,0,,,,,,,,41.13,,,,,,,,5.91,,,,,,,,156,,,,,,,,192.12,,,,,,,,157.13,,,,,,-6.39286,2354.52307,0,1009.25317,1001.29,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.38,0.38,0,0,0,0,5.00052,5.00052,0,239.594366,473.107998,538.867756,269.9151,144.447489,392.302492,570.639629,401.445594,, +D,DREGION,,3,"2023/12/15 00:25:00",1,VIC1,0,100,0,100,0,0,4222.09,-26,5109.33,0,887.24,0,,,87,,,,,,,,143,,,,,,,,142,,,,,,,,86,,,,,,,,113,,,,,,,,83,,,,,,-2.19218,7617.94463,389,4296.84473,4269.07,,56,,,,23,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,16.73,16.73,0,0.38,0.38,0,0.39,0.39,0,0,0,0,0.72,0.72,0,606,607,557,63,378,613,501,501.535216,, +D,DREGION,,3,"2023/12/15 00:30:00",1,NSW1,0,110.14141,0,110.14141,0,0,7765.38,-44,7745.29,0,-20.08,0,,,89,,,,,,,,137.71,,,,,,,,63,,,,,,,,168.59,,,,,,,,211,,,,,,,,204.66,,,,,,36.00293,11982.90744,181,7794.01953,7786.92,,94,,,,41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.72,0.72,0,0.53,0.53,0,22.26136,22.26136,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,0.71,0.71,0,375,381,643,207.762750,345,429,371,366.576516,, +D,DREGION,,3,"2023/12/15 00:30:00",1,QLD1,0,119.55,0,119.55,0,0,6660.21,-20,6396.42,20,-283.79,0,,,45,,,,,,,,64,,,,,,,,64.82,,,,,,,,30,,,,,,,,144,,,,,,,,163,,,,,,-4.07781,9484.68065,125,6690.46338,6686.8,,0,,,,124,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.72,0.72,0,0.53,0.53,0,22.26136,22.26136,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,0.71,0.71,0,347,455.333333,201,221,252,375,250,210,, +D,DREGION,,3,"2023/12/15 00:30:00",1,SA1,0,117.69915,0,117.69915,0,0,1320.71,-1,770.84,0,-549.87,0,,,55.63,,,,,,,,114,,,,,,,,119,,,,,,,,162,,,,,,,,136,,,,,,,,163,,,,,,-2.25794,2388.84354,362,1338.68591,1335.42,,21,,,,27,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.72,0.72,0,0.53,0.53,0,22.26136,22.26136,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,0.71,0.71,0,307,314,303,108.681548,268,276,276,377,, +D,DREGION,,3,"2023/12/15 00:30:00",1,TAS1,0,96.18,0,96.18,0,0,1004.56,-3,1096.07,0,91.5,0,,,17.71,,,,,,,,117.71,,,,,,,,117.71,,,,,,,,42.75,,,,,,,,142.74,,,,,,,,142.74,,,,,,-5.24323,2364.85745,0,1012.87341,1005.07,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,1.75,1.75,0,1.75,1.75,0,0.38,0.38,0,5.5,5.5,0,239.489103,495.432316,546.357206,264.326114,154.380040,403.717126,575.660386,326.952898,, +D,DREGION,,3,"2023/12/15 00:30:00",1,VIC1,0,100,0,100,0,0,4230.69,-25,5082.05,0,851.36,0,,,56,,,,,,,,70,,,,,,,,67,,,,,,,,111,,,,,,,,130.66,,,,,,,,91,,,,,,-5.18896,7630.02048,389,4306.39551,4276.47,,95,,,,28,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.72,0.72,0,0.53,0.53,0,22.26136,22.26136,0,0.39,0.39,0,0.45,0.45,0,0.39,0.39,0,0.71,0.71,0,607,611,559,49,321.9999,560.9999,453.9999,486.732361,, +D,DREGION,,3,"2023/12/15 00:35:00",1,NSW1,0,108.89663,0,108.89663,0,0,7751.07,-42,7847.71,0,96.64,0,,,85,,,,,,,,159,,,,,,,,132.5,,,,,,,,121,,,,,,,,131.39,,,,,,,,103.39,,,,,,29.76312,11982.06546,181,7776.6377,7771.28,,91,,,,80.92,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,11.68,11.68,0,0.14,0.14,0,0.38,0.38,0,0,0,0,1,1,0,374,380,642,116.650118,445,559,501,469.465501,, +D,DREGION,,3,"2023/12/15 00:35:00",1,QLD1,0,119.55,0,119.55,0,0,6572.88,-19,6269.77,20,-323.12,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,28,,,,,,,,146,,,,,,,,168,,,,,,0.83191,9355.83985,125,6614.45313,6600.67,,0,,,,44.08,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,11.68,11.68,0,0.14,0.14,0,0.38,0.38,0,0,0,0,1,1,0,322,431.333333,207,212,289.790940,412.790940,250,186.759198,, +D,DREGION,,3,"2023/12/15 00:35:00",1,SA1,0,117.59642,0,117.59642,0,0,1318.05,-3,764.62,0,-553.43,0,,,58,,,,,,,,64,,,,,,,,57,,,,,,,,130.13,,,,,,,,133,,,,,,,,161,,,,,,-3.54895,2382.62441,362,1339.58862,1332.96,,10,,,,12,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,11.68,11.68,0,0.14,0.14,0,0.38,0.38,0,0,0,0,1,1,0,305,311,299,106.668242,266,273,273,377,, +D,DREGION,,3,"2023/12/15 00:35:00",1,TAS1,0,98.12,0,98.12,0,0,1017.29,-3,1117.94,0,100.65,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,106,,,,,,,,94,,,,,,,,94,,,,,,1.46712,2369.56137,0,1018.89966,1017.94,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.39,0.39,0,8.11,8.11,0,0.14,0.14,0,0.38,0.38,0,0,0,0,2.56,2.56,0,234.405703,446.987632,447.539369,230.876352,145.604410,427.665476,598.224102,432.020734,, +D,DREGION,,3,"2023/12/15 00:35:00",1,VIC1,0,99.91625,0,99.91625,0,0,4261.48,-23,5026.84,0,765.35,0,,,86,,,,,,,,117.67,,,,,,,,76,,,,,,,,84,,,,,,,,115,,,,,,,,93,,,,,,-8.13685,7617.83548,389,4335.04736,4304.03,,59,,,,33,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,11.68,11.68,0,0.14,0.14,0,0.38,0.38,0,0,0,0,1,1,0,594,585,542,61,377,612,500,503.817382,, +D,DREGION,,3,"2023/12/15 00:40:00",1,NSW1,0,109.74113,0,109.74113,0,0,7778.33,-37,7828.24,0,49.91,0,,,79,,,,,,,,153,,,,,,,,139,,,,,,,,122,,,,,,,,107,,,,,,,,104,,,,,,33.26197,11954.24351,181,7800.83838,7800.59,,110,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0,0,0,4.53,4.53,0,375,381,643,194.761178,439,553,495,450.135053,, +D,DREGION,,3,"2023/12/15 00:40:00",1,QLD1,0,120.51405,0,120.51405,0,0,6561.56,-20,6257.39,20,-324.17,0,,,39,,,,,,,,39,,,,,,,,39,,,,,,,,25,,,,,,,,140,,,,,,,,164,,,,,,-9.3305,9392.28502,125,6617.48682,6589.43,,16,,,,62,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0,0,0,4.53,4.53,0,329,437.333333,203,227.400055,304,427,242,210,, +D,DREGION,,3,"2023/12/15 00:40:00",1,SA1,0,118.26803,0,118.26803,0,0,1340.59,0,766.18,0,-574.41,0,,,60,,,,,,,,70.02,,,,,,,,58,,,,,,,,131.87,,,,,,,,170.09,,,,,,,,156.09,,,,,,-8.70742,2384.17585,362,1365.04077,1356.73,,20,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0,0,0,4.53,4.53,0,310,317,305,117.601334,267,275,275,377,, +D,DREGION,,3,"2023/12/15 00:40:00",1,TAS1,0,98.12,0,98.12,0,0,1030.65,-2,1131.3,0,100.65,0,,,0,,,,,,,,50,,,,,,,,12.45,,,,,,,,106,,,,,,,,94,,,,,,,,94,,,,,,8.84563,2379.84702,0,1024.15344,1031.3,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.39,0.39,0,8.11,8.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.56,2.56,0,232.988808,458.091498,444.563889,223.900872,145.604410,427.665476,601.220389,434.996214,, +D,DREGION,,3,"2023/12/15 00:40:00",1,VIC1,0,100,0,100,0,0,4234.72,-19,5076.99,0,842.27,0,,,72,,,,,,,,73,,,,,,,,62,,,,,,,,85,,,,,,,,109,,,,,,,,102,,,,,,-11.15253,7609.31381,389,4308.25684,4282.05,,14,,,,16,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0,0,0,4.53,4.53,0,609,605,559,71,189,307,256,371.848633,, +D,DREGION,,3,"2023/12/15 00:45:00",1,NSW1,0,85.99,0,85.99,0,0,7642.49,-39,7793.69,0,151.19,0,,,65.26,,,,,,,,111.32,,,,,,,,70.66,,,,,,,,96,,,,,,,,81,,,,,,,,78,,,,,,0,11958.55052,181,7706.95898,7660.81,,138,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.5,0.5,0,0.45,0.45,0,0.01,0.01,0,3.7,3.7,0,349.000640,355.000640,617.000640,210.021491,372,456,398,407.594003,, +D,DREGION,,3,"2023/12/15 00:45:00",1,QLD1,0,94.31385,0,94.31385,0,0,6529.07,-20,6219.2,20,-329.86,0,,,45,,,,,,,,64,,,,,,,,72,,,,,,,,25,,,,,,,,116,,,,,,,,141,,,,,,-15.83554,9549.56846,125,6593.91846,6556.97,,0,,,,58,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.5,0.5,0,0.45,0.45,0,0.01,0.01,0,3.7,3.7,0,332,441.333333,207,264,312,435,250,196.300018,, +D,DREGION,,3,"2023/12/15 00:45:00",1,SA1,0,95.661,0,95.661,0,0,1363.71,1,743.82,4,-623.89,0,,,48,,,,,,,,139,,,,,,,,117,,,,,,,,125.55,,,,,,,,125.35,,,,,,,,128.35,,,,,,-9.89034,2381.8196,362,1392.55396,1386.89,,35,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.5,0.5,0,0.45,0.45,0,0.01,0.01,0,3.7,3.7,0,310,317,305,130.851470,243.999360,251.999360,251.999360,353,, +D,DREGION,,3,"2023/12/15 00:45:00",1,TAS1,0,115.12,0,115.12,0,0,1033.12,-1,1033.12,0,0,0,,,0,,,,,,,,0,,,,,,,,0,,,,,,,,106,,,,,,,,191.26,,,,,,,,191.26,,,,,,9.41572,2369.47199,0,1024.84546,1033.12,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.39,0.39,0,8.11,8.11,0,0,0,0,0,0,0,0,0,0,2.56,2.56,0,246.489103,494.579644,532.366779,178.583974,148.125915,394.557511,512.567285,347.193324,, +D,DREGION,,3,"2023/12/15 00:45:00",1,VIC1,0,79.70916,0,79.70916,0,0,4133.41,-16,5028.01,0,894.61,0,,,87,,,,,,,,122,,,,,,,,102,,,,,,,,118,,,,,,,,108,,,,,,,,83,,,,,,-13.01274,7619.01446,389,4214.04395,4180.06,,87,,,,24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.5,0.5,0,0.45,0.45,0,0.01,0.01,0,3.7,3.7,0,599,593,548,58,378,613,501,502.6875,, +D,DREGION,,3,"2023/12/15 00:50:00",1,NSW1,0,100,0,100,0,0,7626.19,-40,7837.96,0,211.77,0,,,114.54,,,,,,,,159,,,,,,,,145,,,,,,,,147.87,,,,,,,,170.89,,,,,,,,182.89,,,,,,3.45252,11953.96526,181,7680.43359,7641.24,,92,,,,77,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,32.99,32.99,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.72,0.72,0,349.000640,355.000640,617.000640,196.963532,445,559,501,532.709119,, +D,DREGION,,3,"2023/12/15 00:50:00",1,QLD1,0,108.94679,0,108.94679,0,0,6526.42,-20,6229.14,20,-317.28,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,143,,,,,,,,168,,,,,,-8.44384,9702.62481,125,6582.59033,6553.81,,0,,,,84.03,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,32.99,32.99,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.72,0.72,0,332,441.333333,207,221.0250,312,435,250,230,, +D,DREGION,,3,"2023/12/15 00:50:00",1,SA1,0,111.28947,0,111.28947,0,0,1358.19,1,794.38,0,-563.81,0,,,60,,,,,,,,131.56,,,,,,,,91.6,,,,,,,,163,,,,,,,,172,,,,,,,,163,,,,,,-10.75323,2384.61487,362,1389.48413,1373.69,,10,,,,18.98,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,32.99,32.99,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.72,0.72,0,307,312,300,94.588378,266,271,271,377,, +D,DREGION,,3,"2023/12/15 00:50:00",1,TAS1,0,95.1112,0,95.1112,0,0,1018.58,-1,909.49,0,-109.09,0,,,17.69,,,,,,,,117.68,,,,,,,,117.68,,,,,,,,23.29,,,,,,,,123.28,,,,,,,,123.28,,,,,,1.37855,2340.58662,0,1018.19946,1020.29,,50,,,,50,,,,,,,,,,,,,,,,,,,1.23,1.23,0,1.36,1.36,0,0.38,0.38,0,8.11,8.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,4.5,4.5,0,246.489103,523.966152,627.114509,316.645069,126.795934,322.423451,421.169386,49.999989,, +D,DREGION,,3,"2023/12/15 00:50:00",1,VIC1,0,94.19276,0,94.19276,0,0,4173.26,-19,5025.46,0,852.21,0,,,25,,,,,,,,50,,,,,,,,30,,,,,,,,126,,,,,,,,135,,,,,,,,107,,,,,,-9.80584,7616.46339,389,4245.62207,4207.4,,108,,,,40,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,32.99,32.99,0,0.39,0.39,0,0.39,0.39,0,0.01,0.01,0,0.72,0.72,0,583,582,534,67,304,421,370,436.378968,, +D,DREGION,,3,"2023/12/15 00:55:00",1,NSW1,0,100,0,100,0,0,7545.5,-42,7871.12,36,289.62,0,,,89,,,,,,,,67,,,,,,,,65.57,,,,,,,,149.57,,,,,,,,168.73,,,,,,,,175.73,,,,,,-0.47145,11965.10305,181,7602.34814,7599.53,,85,,,,72,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.5,0.5,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,349.000640,355.000640,617.000640,221.744529,344,428,370,430.574414,, +D,DREGION,,3,"2023/12/15 00:55:00",1,QLD1,0,110.32534,0,110.32534,0,0,6575.42,-11,6228.16,26,-373.26,0,,,45,,,,,,,,46,,,,,,,,45,,,,,,,,33,,,,,,,,142,,,,,,,,168,,,,,,-13.74127,9718.66267,125,6628.21533,6610.91,,0,,,,71.41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.5,0.5,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,332,441.333333,207,221,287,400,215,203.812196,, +D,DREGION,,3,"2023/12/15 00:55:00",1,SA1,0,110.81874,0,110.81874,0,0,1350.32,-1,803.9,6,-552.42,0,,,66,,,,,,,,125,,,,,,,,98,,,,,,,,166,,,,,,,,176,,,,,,,,165,,,,,,-3.01164,2377.90324,362,1370.25708,1371.18,,21,,,,15,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.5,0.5,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,309,316,303,116.851470,267,275,275,371,, +D,DREGION,,3,"2023/12/15 00:55:00",1,TAS1,0,73.57066,0,73.57066,0,0,1004.16,-1,926.56,0,-77.59,0,,,36.9,,,,,,,,131.9,,,,,,,,103.23,,,,,,,,0,,,,,,,,6,,,,,,,,6,,,,,,-6.65861,2357.76101,0,1011.8139,1004.16,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,8.11,8.11,0,0.5,0.5,0,0.39,0.39,0,0.38,0.38,0,4.5,4.5,0,246.489103,523.966152,627.114509,466.311711,126.795934,322.423451,421.169386,153.944914,, +D,DREGION,,3,"2023/12/15 00:55:00",1,VIC1,0,94.15132,0,94.15132,0,0,4173.78,-14,4968.56,5,789.78,0,,,10,,,,,,,,18.16,,,,,,,,0,,,,,,,,124,,,,,,,,131,,,,,,,,109,,,,,,-10.77155,7559.56212,389,4230.86865,4212.54,,54,,,,34,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,20.68,20.68,0,0.5,0.5,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,586,576,533,60,143.999360,143.999360,153.999360,303,, +D,DREGION,,3,"2023/12/15 01:00:00",1,NSW1,0,90.16381,0,90.16381,0,0,7493.1,-42,7847.58,10,344.48,0,,,89,,,,,,,,80.07,,,,,,,,63.56,,,,,,,,150.28,,,,,,,,174.52,,,,,,,,182.52,,,,,,-0.42113,11958.58185,181,7580.80762,7516.44,,111,,,,62,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.5,0.5,0,0.45,0.45,0,0.38,0.38,0,0.71,0.71,0,349.000640,355.000640,617.000640,199.556264,344,428,370,421.048169,, +D,DREGION,,3,"2023/12/15 01:00:00",1,QLD1,0,98.8153,0,98.8153,0,0,6557.13,-13,6221.2,0,-335.93,0,,,45,,,,,,,,53,,,,,,,,45,,,,,,,,33,,,,,,,,135,,,,,,,,163,,,,,,-14.957,9725.09843,125,6619.14844,6565.14,,0,,,,74,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.5,0.5,0,0.45,0.45,0,0.38,0.38,0,0.71,0.71,0,327,435.333333,201,247,312,435,250,247,, +D,DREGION,,3,"2023/12/15 01:00:00",1,SA1,0,101.44,0,101.44,0,0,1334,-2,776.56,0,-557.44,0,,,66,,,,,,,,113,,,,,,,,98,,,,,,,,166,,,,,,,,176,,,,,,,,165,,,,,,-0.543,2366.15792,362,1354.08813,1349.14,,10,,,,32,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.5,0.5,0,0.45,0.45,0,0.38,0.38,0,0.71,0.71,0,309,316,303,110.851470,251.401050,259.401050,259.401050,361.401050,, +D,DREGION,,3,"2023/12/15 01:00:00",1,TAS1,0,73.81376,0,73.81376,0,0,988.99,-1,926.83,0,-62.16,0,,,21.73,,,,,,,,131.9,,,,,,,,105.35,,,,,,,,0,,,,,,,,6,,,,,,,,6,,,,,,-6.79286,2357.93454,0,996.78754,988.99,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,8.11,8.11,0,1.75,1.75,0,0.45,0.45,0,0.38,0.38,0,4.5,4.5,0,246.489103,523.966152,627.114509,466.311711,126.795934,322.423451,421.169386,145.530395,, +D,DREGION,,3,"2023/12/15 01:00:00",1,VIC1,0,86.18164,0,86.18164,0,0,4199.47,-17,4878.68,0,679.22,0,,,25,,,,,,,,10,,,,,,,,0,,,,,,,,123,,,,,,,,132,,,,,,,,107,,,,,,6.73044,7478.68272,389,4240.44287,4231.14,,39,,,,39.84,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.5,0.5,0,0.45,0.45,0,0.38,0.38,0,0.71,0.71,0,584,578,532,67,202,442,335,421.536133,, +D,DREGION,,3,"2023/12/15 01:05:00",1,NSW1,0,135.1967,0,135.1967,0,0,7482.99,-42,7847.25,0,364.26,0,,,112.97,,,,,,,,139,,,,,,,,94.37,,,,,,,,161.01,,,,,,,,191.87,,,,,,,,190.87,,,,,,-7.32057,11972.16613,181,7556.22607,7497.89,,64,,,,32,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,377,383,644,164.257856,445,559,501,458.079845,, +D,DREGION,,3,"2023/12/15 01:05:00",1,QLD1,0,148.95272,0,148.95272,0,0,6529.41,-15,6166.75,0,-362.66,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,134,,,,,,,,163,,,,,,-14.69225,9725.68369,125,6566.58789,6538.26,,0,,,,84.92,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,347,455.333333,201,219.229776,305.340220,428.340220,250,247.000004,, +D,DREGION,,3,"2023/12/15 01:05:00",1,SA1,0,150.5851,0,150.5851,0,0,1335.6,-5,813.59,0,-522.02,0,,,61,,,,,,,,63,,,,,,,,55,,,,,,,,160,,,,,,,,170,,,,,,,,160,,,,,,-2.8758,2361.863,362,1360.55591,1348.83,,10,,,,62,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,304,310,297,68.851472,278,280,280,402.7236,, +D,DREGION,,3,"2023/12/15 01:05:00",1,TAS1,0,115.18,0,115.18,0,0,985.73,-1,921.65,0,-64.08,0,,,3.43,,,,,,,,104.99,,,,,,,,103.43,,,,,,,,6,,,,,,,,6,,,,,,,,6,,,,,,-6.46103,2346.83124,0,993.1908,985.73,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,8.11,8.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,5.79772,5.79772,0,200.672659,288.995247,172.531151,106.704811,191.794104,332.277907,476.310665,50.000004,, +D,DREGION,,3,"2023/12/15 01:05:00",1,VIC1,0,129.17668,0,129.17668,0,0,4105.43,-18,4754.72,0,649.29,0,,,25,,,,,,,,37.27,,,,,,,,15,,,,,,,,116,,,,,,,,120,,,,,,,,102,,,,,,4.69343,7463.71812,389,4153.84766,4133.25,,86,,,,27,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,0.72,0.72,0,580,567,526,44,343,455,399,478.820251,, +D,DREGION,,3,"2023/12/15 01:10:00",1,NSW1,0,145.39246,0,145.39246,0,0,7493.89,-38,7850.39,0,356.5,0,,,80,,,,,,,,94,,,,,,,,56,,,,,,,,154.76,,,,,,,,186.83,,,,,,,,186.83,,,,,,7.43553,11971.38932,181,7538.77588,7512.71,,50,,,,32,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0,0,0,0.38,0.38,0,0,0,0,7.73,7.73,0,379,385,644,212.392665,370,454,396,345.631251,, +D,DREGION,,3,"2023/12/15 01:10:00",1,QLD1,0,161.16684,0,161.16684,0,0,6516.76,-15,6112.86,0,-403.9,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,133,,,,,,,,163,,,,,,-23.62419,9706.18978,125,6563.8252,6527.22,,76,,,,91.06,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0,0,0,0.38,0.38,0,0,0,0,7.73,7.73,0,347,455.333333,201,252,306,429,248,327,, +D,DREGION,,3,"2023/12/15 01:10:00",1,SA1,0,159.70267,0,159.70267,0,0,1327.1,-5,823.1,0,-504,0,,,53,,,,,,,,66,,,,,,,,57,,,,,,,,166,,,,,,,,175,,,,,,,,164,,,,,,5.85372,2352.09711,362,1338.42407,1339.37,,20,,,,59,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0,0,0,0.38,0.38,0,0,0,0,7.73,7.73,0,308,315,303,87.512389,280,283,283,404.851470,, +D,DREGION,,3,"2023/12/15 01:10:00",1,TAS1,0,123.62975,0,123.62975,0,0,1024.3,-1,966.36,0,-57.94,0,,,9.82,,,,,,,,109.81,,,,,,,,109.81,,,,,,,,0,,,,,,,,6,,,,,,,,6,,,,,,-12.7179,2361.45569,0,1038.01721,1024.3,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,7.11,7.11,0,1.75,1.75,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,190.386021,269.910356,147.851351,120.963299,157.545988,326.227044,512.597665,234.254797,, +D,DREGION,,3,"2023/12/15 01:10:00",1,VIC1,0,137.66,0,137.66,0,0,4069.38,-22,4747.69,0,678.32,0,,,72,,,,,,,,71.74,,,,,,,,62,,,,,,,,119,,,,,,,,124,,,,,,,,105,,,,,,-9.39063,7444.18163,392,4125.92383,4096.79,,14,,,,30,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11.68,11.68,0,0,0,0,0.38,0.38,0,0,0,0,7.73,7.73,0,585,573.50,529,48,175,171,176,328,, +D,DREGION,,3,"2023/12/15 01:15:00",1,NSW1,0,127.74458,0,127.74458,0,0,7429.06,-36,7849.69,0,420.64,0,,,62.9,,,,,,,,113.02,,,,,,,,65.35,,,,,,,,156,,,,,,,,187.57,,,,,,,,187.57,,,,,,7.66029,11970.69492,181,7469.71924,7444.55,,55,,,,26,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,7.73,7.73,0,0.01,0.01,0,0.07,0.07,0,0.01,0.01,0,3.76,3.76,0,379,385,644,212.199047,440,554,496,470.751935,, +D,DREGION,,3,"2023/12/15 01:15:00",1,QLD1,0,141.40189,0,141.40189,0,0,6453.61,-19,6065.28,0,-388.34,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,133,,,,,,,,163,,,,,,-31.29059,9708.65236,125,6511.60449,6463.18,,26,,,,60.14,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,7.73,7.73,0,0.01,0.01,0,0.07,0.07,0,0.01,0.01,0,3.76,3.76,0,347,455.333333,201,252,292,415,250,287,, +D,DREGION,,3,"2023/12/15 01:15:00",1,SA1,0,142.5231,0,142.5231,0,0,1319.94,-8,816.97,0,-502.97,0,,,48,,,,,,,,66,,,,,,,,57,,,,,,,,166,,,,,,,,175,,,,,,,,164,,,,,,11.74999,2345.96806,362,1328.30249,1332.17,,20,,,,55,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,7.73,7.73,0,0.01,0.01,0,0.07,0.07,0,0.01,0.01,0,3.76,3.76,0,308,315,303,104.290008,280,283,283,404.851470,, +D,DREGION,,3,"2023/12/15 01:15:00",1,TAS1,0,115.22,0,115.22,0,0,1025.83,1,927.98,0,-97.86,0,,,0,,,,,,,,69.45,,,,,,,,69.45,,,,,,,,0,,,,,,,,6,,,,,,,,6,,,,,,-2.37093,2352.70887,0,1027.20288,1025.83,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,197.204957,297.454789,176.815821,139.963278,162.142336,325.920902,483.426134,309.112050,, +D,DREGION,,3,"2023/12/15 01:15:00",1,VIC1,0,122.84801,0,122.84801,0,0,4061.5,-23,4692.53,0,631.03,0,,,87,,,,,,,,92,,,,,,,,77,,,,,,,,115,,,,,,,,121,,,,,,,,102,,,,,,-9.71265,7413.53167,392,4118.95068,4086.71,,59,,,,31,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,7.73,7.73,0,0.01,0.01,0,0.07,0.07,0,0.01,0.01,0,3.76,3.76,0,578,564.50,521,62,378,613,501,522.455871,, +D,DREGION,,3,"2023/12/15 01:20:00",1,NSW1,0,143.05991,0,143.05991,0,0,7341.05,-35,7790.4,0,449.35,0,,,55,,,,,,,,68,,,,,,,,58.24,,,,,,,,163.38,,,,,,,,190.23,,,,,,,,192.23,,,,,,8.04142,11790.80659,181,7385.25,7355.51,,121,,,,29.45,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,1,1,0,379,385,644,211.039517,344,428,370,410.195569,, +D,DREGION,,3,"2023/12/15 01:20:00",1,QLD1,0,157.22673,0,157.22673,0,0,6439.35,-16,6054.14,0,-385.22,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,33,,,,,,,,137,,,,,,,,168,,,,,,-37.20901,9710.71611,125,6502.89648,6448.65,,0,,,,68,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,1,1,0,352,461.333333,207,247,292,415,250,287,, +D,DREGION,,3,"2023/12/15 01:20:00",1,SA1,0,159.70409,0,159.70409,0,0,1314.63,-9,809.84,0,-504.8,0,,,59.02,,,,,,,,64,,,,,,,,55,,,,,,,,155,,,,,,,,165,,,,,,,,155,,,,,,12.74506,2335.83891,362,1322.66565,1326.95,,10,,,,63,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,1,1,0,299,305,292,111.645537,278,281,281,407.851470,, +D,DREGION,,3,"2023/12/15 01:20:00",1,TAS1,0,126.82077,0,126.82077,0,0,1038.71,1,951.16,0,-87.55,0,,,0,,,,,,,,108.86,,,,,,,,79.96,,,,,,,,0,,,,,,,,6,,,,,,,,6,,,,,,-7.12088,2346.25618,0,1044.82886,1038.71,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0,0,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,190.386021,269.910356,147.851351,120.963299,157.545988,326.227044,512.597665,278.250133,, +D,DREGION,,3,"2023/12/15 01:20:00",1,VIC1,0,137.66,0,137.66,0,0,4090.02,-22,4678.97,0,588.95,0,,,86,,,,,,,,102,,,,,,,,76,,,,,,,,121,,,,,,,,127,,,,,,,,104,,,,,,-5.52016,7380.21743,392,4142.92383,4114.68,,29,,,,22,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,10.98,10.98,0,0.01,0.01,0,0.38,0.38,0,0.01,0.01,0,1,1,0,581,574.50,528,54,377,612,500,530.274109,, +D,DREGION,,3,"2023/12/15 01:25:00",1,NSW1,0,117.26901,0,117.26901,0,0,7312.94,-37,7729.24,0,416.3,0,,,108.81,,,,,,,,94,,,,,,,,90,,,,,,,,123,,,,,,,,197.05,,,,,,,,198.05,,,,,,-8.25401,11780.71572,181,7376.33105,7327.9,,40,,,,26,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.61,3.61,0,379,385,644,215.059669,370,454,396,407.007343,, +D,DREGION,,3,"2023/12/15 01:25:00",1,QLD1,0,128.85654,0,128.85654,0,0,6436.52,-16,6051.82,0,-384.7,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,29,,,,,,,,136,,,,,,,,168,,,,,,-33.41401,9737.74093,125,6496.36133,6445.77,,0,,,,56,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.61,3.61,0,352,460.333333,206,247,267,380,215,270.024683,, +D,DREGION,,3,"2023/12/15 01:25:00",1,SA1,0,130.77247,0,130.77247,0,0,1300.98,-10,799.66,0,-501.32,0,,,63,,,,,,,,77.59,,,,,,,,58,,,,,,,,152,,,,,,,,164,,,,,,,,153,,,,,,11.40738,2328.66126,362,1310.33521,1313.14,,20,,,,70,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.61,3.61,0,297,304,291,121.851470,280,283,283,404.701903,, +D,DREGION,,3,"2023/12/15 01:25:00",1,TAS1,0,115.21293,0,115.21293,0,0,1043.12,1,865.75,0,-177.37,0,,,0,,,,,,,,132.51,,,,,,,,89.33,,,,,,,,77.37,,,,,,,,6,,,,,,,,6,,,,,,2.41488,2328.75109,0,1039.70581,1043.12,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0,207.154364,310.285328,215.286861,63.025247,167.704404,298.734701,444.629068,190.453654,, +D,DREGION,,3,"2023/12/15 01:25:00",1,VIC1,0,112.7099,0,112.7099,0,0,4008.12,-17,4717.79,0,709.67,0,,,21,,,,,,,,32,,,,,,,,32,,,,,,,,90.4,,,,,,,,122,,,,,,,,100,,,,,,-18.89306,7430.78787,392,4067.18896,4034.33,,100,,,,18,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.61,3.61,0,572,564.50,518,51,271,388,337,444.692383,, +D,DREGION,,3,"2023/12/15 01:30:00",1,NSW1,0,118.22267,0,118.22267,0,0,7263.11,-35,7667.34,0,404.23,0,,,80,,,,,,,,154,,,,,,,,129.25,,,,,,,,122,,,,,,,,186.31,,,,,,,,185.31,,,,,,-22.14416,11779.62876,181,7336.60693,7277.6,,55,,,,26,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,9.28,9.28,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0,379,385,643,214.823148,440,554,496,463.657996,, +D,DREGION,,3,"2023/12/15 01:30:00",1,QLD1,0,129.82797,0,129.82797,0,0,6431.62,-15,6053.43,0,-378.19,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,29.51,,,,,,,,137,,,,,,,,168,,,,,,-23.06586,9744.12651,125,6479.08496,6440.52,,10,,,,67,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,9.28,9.28,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0,352,461.333333,207,246,292,415,250,287,, +D,DREGION,,3,"2023/12/15 01:30:00",1,SA1,0,131.20368,0,131.20368,0,0,1289.08,-11,794.32,0,-494.76,0,,,53,,,,,,,,67,,,,,,,,59,,,,,,,,161,,,,,,,,174,,,,,,,,164,,,,,,9.26107,2323.31935,362,1301.36584,1300.9,,20,,,,56,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,9.28,9.28,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0,308,314,300,110.851470,281,284,284,403.359679,, +D,DREGION,,3,"2023/12/15 01:30:00",1,TAS1,0,115.22,0,115.22,0,0,1035.95,1,882.49,0,-153.46,0,,,0,,,,,,,,29.58,,,,,,,,14.17,,,,,,,,53.46,,,,,,,,6,,,,,,,,6,,,,,,-4.71602,2325.98127,0,1039.66748,1035.95,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0,202.107612,312.216390,195.772751,168.461380,165.708491,312.524672,464.308552,353.555444,, +D,DREGION,,3,"2023/12/15 01:30:00",1,VIC1,0,113.6397,0,113.6397,0,0,4057.92,-16,4740.43,0,682.5,0,,,77,,,,,,,,83,,,,,,,,67,,,,,,,,105,,,,,,,,121,,,,,,,,101,,,,,,-1.94483,7457.42513,392,4098.69629,4083.04,,75,,,,21,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,9.28,9.28,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0,573,563.50,518,54,250,241,241,389.669769,, +D,DREGION,,3,"2023/12/15 01:35:00",1,NSW1,0,143.22786,0,143.22786,0,0,7214.31,-32,7629.4,0,415.09,0,,,62.13,,,,,,,,67,,,,,,,,63,,,,,,,,188.3,,,,,,,,234,,,,,,,,219,,,,,,-33.14624,11779.63739,181,7295.07471,7227.29,,63,,,,36,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.75,0.75,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,378,384,641,228.413974,367,451,393,375.225474,, +D,DREGION,,3,"2023/12/15 01:35:00",1,QLD1,0,157.26717,0,157.26717,0,0,6454.21,-13,6091.62,0,-362.59,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,14,,,,,,,,120,,,,,,,,150.3,,,,,,-17.14943,9755.52158,125,6493.72949,6462.51,,0,,,,51,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.75,0.75,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,333,442.333333,188,233.934396,292,415,250,287,, +D,DREGION,,3,"2023/12/15 01:35:00",1,SA1,0,162.08159,0,162.08159,0,0,1281.01,-10,722.26,0,-558.75,0,,,45,,,,,,,,52,,,,,,,,44,,,,,,,,147,,,,,,,,160,,,,,,,,148,,,,,,5.4889,2317.79291,362,1296.36865,1296.28,,27,,,,71,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.75,0.75,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,292,298,284,122.851470,262.465150,270.465150,270.465150,359.851471,, +D,DREGION,,3,"2023/12/15 01:35:00",1,TAS1,0,139.11729,0,139.11729,0,0,1048.44,1,924,0,-124.44,0,,,0,,,,,,,,126.69,,,,,,,,71.73,,,,,,,,24.44,,,,,,,,0,,,,,,,,0,,,,,,1.8805,2319.19673,0,1045.55859,1048.44,,50,,,,50,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.75,0.75,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,184.386021,263.910356,141.851351,134.557982,157.545988,326.227044,512.597665,270.702317,, +D,DREGION,,3,"2023/12/15 01:35:00",1,VIC1,0,137.66,0,137.66,0,0,4031.69,-19,4730.25,0,698.56,0,,,86,,,,,,,,91,,,,,,,,91,,,,,,,,100,,,,,,,,113.3,,,,,,,,110,,,,,,1.36318,7415.09868,392,4073.19312,4063.01,,70,,,,12,,,,,,,,,,,,,,,,,,,0.72,0.72,0,0.75,0.75,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,573,551.50,513,56,338,456,405,469.635437,, +D,DREGION,,3,"2023/12/15 01:40:00",1,NSW1,0,142.16597,0,142.16597,0,0,7178.6,-27,7629.99,0,451.39,0,,,93,,,,,,,,98,,,,,,,,94,,,,,,,,159.96,,,,,,,,222,,,,,,,,219,,,,,,-37.87011,11775.9948,181,7257.30518,7190.48,,58,,,,46,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.72,0.72,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,1,1,0,378,384,641,241.793302,374,458,400,405.958541,, +D,DREGION,,3,"2023/12/15 01:40:00",1,QLD1,0,155.99258,0,155.99258,0,0,6435.13,-12,6076.64,0,-358.5,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,14,,,,,,,,117,,,,,,,,149,,,,,,-10.11112,9740.40443,125,6465.54297,6443.17,,0,,,,45,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.72,0.72,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,1,1,0,333,442.333333,188,231,292,415,250,267,, +D,DREGION,,3,"2023/12/15 01:40:00",1,SA1,0,162.08534,0,162.08534,0,0,1254.8,-11,695.99,0,-558.81,0,,,53,,,,,,,,66,,,,,,,,58,,,,,,,,152,,,,,,,,163,,,,,,,,153,,,,,,-4.66219,2308.99039,362,1283.59253,1270.07,,10,,,,67,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.72,0.72,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,1,1,0,297,303,289,118.851470,247,255,255,357,, +D,DREGION,,3,"2023/12/15 01:40:00",1,TAS1,0,139.4828,0,139.4828,0,0,1050.8,1,915.85,0,-134.95,0,,,6.36,,,,,,,,131.23,,,,,,,,76.17,,,,,,,,34.95,,,,,,,,0,,,,,,,,0,,,,,,9.30518,2310.94693,0,1040.4967,1050.8,,50,,,,50,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.72,0.72,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,3.5,3.5,0,184.386021,263.910356,141.851351,123.208657,157.545988,326.227044,512.597665,246.579444,, +D,DREGION,,3,"2023/12/15 01:40:00",1,VIC1,0,137.66,0,137.66,0,0,4023.13,-14,4689.87,0,666.73,0,,,41,,,,,,,,42,,,,,,,,42,,,,,,,,122,,,,,,,,134.78,,,,,,,,115.78,,,,,,-1.4014,7406.5781,392,4066.02295,4053.81,,92,,,,12,,,,,,,,,,,,,,,,,,,0.5,0.5,0,0.72,0.72,0,0.53,0.53,0,10.98,10.98,0,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,1,1,0,593,577.50,535,59,338,577,470,498.160217,, +D,DREGION,,3,"2023/12/15 01:45:00",1,NSW1,0,141.01703,0,141.01703,0,0,7167.97,-26,7623.31,0,455.33,0,,,80,,,,,,,,94,,,,,,,,90,,,,,,,,145,,,,,,,,218.72,,,,,,,,203.72,,,,,,-26.6765,11774.30523,181,7230.95605,7178.42,,60,,,,61,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11,11,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.61,3.61,0,378,384,641,242.510541,370,454,396,400.521405,, +D,DREGION,,3,"2023/12/15 01:45:00",1,QLD1,0,153.58585,0,153.58585,0,0,6381.27,-14,6037.64,0,-343.63,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,14,,,,,,,,116,,,,,,,,149,,,,,,-1.3155,9553.54119,125,6403.39307,6388.61,,0,,,,41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11,11,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.61,3.61,0,303,412.333333,188,231,292,415,250,307,, +D,DREGION,,3,"2023/12/15 01:45:00",1,SA1,0,162.08525,0,162.08525,0,0,1248.6,-10,693.5,0,-555.1,0,,,58,,,,,,,,64,,,,,,,,57,,,,,,,,159,,,,,,,,171,,,,,,,,161,,,,,,-10.13636,2306.5038,362,1283.41479,1263.67,,20,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11,11,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.61,3.61,0,305,311,296,110.851470,246,253,253,357,, +D,DREGION,,3,"2023/12/15 01:45:00",1,TAS1,0,139.3028,0,139.3028,0,0,1048.68,0,915.1,0,-133.58,0,,,0,,,,,,,,88.01,,,,,,,,34.05,,,,,,,,33.58,,,,,,,,0,,,,,,,,0,,,,,,6.69811,2310.19603,0,1041.97998,1048.68,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0,184.386021,263.910356,141.851351,133.581525,157.545988,326.227044,512.597665,346.851724,, +D,DREGION,,3,"2023/12/15 01:45:00",1,VIC1,0,137.66,0,137.66,0,0,4017.3,-13,4657.01,0,639.71,0,,,87,,,,,,,,92,,,,,,,,89.5,,,,,,,,129,,,,,,,,129,,,,,,,,121,,,,,,-3.63866,7388.21882,392,4064.48438,4047.18,,80,,,,18,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.53,0.53,0,11,11,0,0.2,0.2,0,0.38,0.38,0,0,0,0,3.61,3.61,0,595,567.50,533,50,364,477,421,457.631774,, +D,DREGION,,3,"2023/12/15 01:50:00",1,NSW1,0,114.98907,0,114.98907,0,0,7196.61,-25,7609.24,0,412.62,0,,,70.68,,,,,,,,94,,,,,,,,90,,,,,,,,120,,,,,,,,209.42,,,,,,,,198.42,,,,,,-16.62607,11759.23648,181,7250.27979,7204.66,,99,,,,60,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,378,384,641,243.782646,370,454,396,399.952262,, +D,DREGION,,3,"2023/12/15 01:50:00",1,QLD1,0,124.45005,0,124.45005,0,0,6365.66,-15,6065.28,0,-300.38,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,6,,,,,,,,116,,,,,,,,149,,,,,,-1.49289,9711.50711,125,6389.46143,6371.59,,0,,,,62,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,323,432.333333,188,216.065523,312,435,250,289.511987,, +D,DREGION,,3,"2023/12/15 01:50:00",1,SA1,0,132.04396,0,132.04396,0,0,1246.19,-8,693.44,0,-552.75,0,,,44,,,,,,,,64,,,,,,,,56,,,,,,,,136.59,,,,,,,,170,,,,,,,,159,,,,,,-8.71767,2306.44453,362,1277.80713,1261.14,,17,,,,39,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,303,310,295,110.851470,245,253,253,357,, +D,DREGION,,3,"2023/12/15 01:50:00",1,TAS1,0,115.22,0,115.22,0,0,1051.14,0,855.7,0,-195.44,0,,,0,,,,,,,,96.07,,,,,,,,33.91,,,,,,,,95.44,,,,,,,,0,,,,,,,,0,,,,,,6.96508,2300.76908,0,1044.17712,1051.14,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,196.515839,304.285328,191.351231,121.221715,166.005433,311.409213,462.716695,290.486997,, +D,DREGION,,3,"2023/12/15 01:50:00",1,VIC1,0,112.13433,0,112.13433,0,0,3935.47,-11,4631.09,0,695.63,0,,,86,,,,,,,,91,,,,,,,,91,,,,,,,,125,,,,,,,,142,,,,,,,,131,,,,,,-5.39509,7383.09474,392,3982.77246,3966.22,,44,,,,9,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,608,584.50,547,45,377,612,500,503.994964,, +D,DREGION,,3,"2023/12/15 01:55:00",1,NSW1,0,102.51777,0,102.51777,0,0,7153.51,-22,7594.44,0,440.93,0,,,67.94,,,,,,,,67,,,,,,,,63,,,,,,,,120,,,,,,,,199.98,,,,,,,,194.98,,,,,,-5.63125,11739.43973,181,7189.01563,7161.01,,87,,,,65,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.86,7.86,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,378,384,641,240.783903,367,451,393,429.207677,, +D,DREGION,,3,"2023/12/15 01:55:00",1,QLD1,0,110.8247,0,110.8247,0,0,6332.68,-17,6031.92,0,-300.76,0,,,45,,,,,,,,47.66,,,,,,,,45,,,,,,,,7,,,,,,,,115,,,,,,,,149,,,,,,5.61928,9702.0778,125,6349.28174,6338.46,,0,,,,41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.86,7.86,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,303,412.333333,188,231,252,375,250,206.299957,, +D,DREGION,,3,"2023/12/15 01:55:00",1,SA1,0,117.1857,0,117.1857,0,0,1245.5,-8,697.31,0,-548.19,0,,,46,,,,,,,,53,,,,,,,,45,,,,,,,,127.7,,,,,,,,172,,,,,,,,161,,,,,,-8.71261,2310.3072,362,1277.53857,1260.19,,22,,,,55,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.86,7.86,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,270,282,268,61,244,252,252,355,, +D,DREGION,,3,"2023/12/15 01:55:00",1,TAS1,0,103.0262,0,103.0262,0,0,1042.23,0,827.08,0,-215.14,0,,,0,,,,,,,,131.03,,,,,,,,71.42,,,,,,,,99.53,,,,,,,,0,,,,,,,,0,,,,,,-2.37408,2292.18254,0,1044.60022,1042.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0,201.696366,306.216390,211.382601,75,167.704404,297.253711,442.515568,253.127559,, +D,DREGION,,3,"2023/12/15 01:55:00",1,VIC1,0,100,0,100,0,0,3907.46,-15,4589.01,0,681.55,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,127,,,,,,,,149,,,,,,,,131,,,,,,-5.83465,7383.27139,392,3962.07617,3937.86,,51,,,,9,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.86,7.86,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,607,592.50,549,47,378,613,501,504.849609,, +D,DREGION,,3,"2023/12/15 02:00:00",1,NSW1,0,102.51225,0,102.51225,0,0,7137.25,-20,7584.26,0,447.01,0,,,63.05,,,,,,,,67,,,,,,,,63,,,,,,,,120,,,,,,,,216.84,,,,,,,,210.84,,,,,,0.6546,11734.26204,181,7163.77979,7144.86,,73.63,,,,46,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.71,3.71,0,378,384,641,243.463335,356.3668,440.3668,382.3668,417.016446,, +D,DREGION,,3,"2023/12/15 02:00:00",1,QLD1,0,110.79558,0,110.79558,0,0,6338.2,-17,6033.89,0,-304.31,0,,,45,,,,,,,,46.81,,,,,,,,45,,,,,,,,7,,,,,,,,115,,,,,,,,149,,,,,,10.56172,9710.84688,125,6350.17236,6344.06,,0,,,,46,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.71,3.71,0,333,442.333333,188,246,252,375,250,227,, +D,DREGION,,3,"2023/12/15 02:00:00",1,SA1,0,117.18609,0,117.18609,0,0,1245.2,-7,697.89,0,-547.31,0,,,50,,,,,,,,53,,,,,,,,45,,,,,,,,130.52,,,,,,,,157,,,,,,,,146,,,,,,-6.65595,2310.89063,362,1273.37305,1259.85,,42.37,,,,70,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.71,3.71,0,255,267,253,76,233.6332,241.6332,241.6332,355,, +D,DREGION,,3,"2023/12/15 02:00:00",1,TAS1,0,103.0262,0,103.0262,0,0,1034,0,821.35,0,-212.65,0,,,0,,,,,,,,131.03,,,,,,,,71.47,,,,,,,,99.53,,,,,,,,0,,,,,,,,0,,,,,,-7.56975,2286.44949,0,1041.57349,1034,,50,,,,50,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0,201.696366,304.285328,211.382601,74.999995,167.704404,297.253711,442.515568,252.918474,, +D,DREGION,,3,"2023/12/15 02:00:00",1,VIC1,0,100,0,100,0,0,3910.64,-17,4586.23,0,675.59,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,124,,,,,,,,147,,,,,,,,130,,,,,,-7.29441,7389.60358,392,3965.19531,3940.84,,44,,,,8,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.39,0.39,0,7.85,7.85,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.71,3.71,0,608,592.50,550,46,364,477,421,454.895295,, +D,DREGION,,3,"2023/12/15 02:05:00",1,NSW1,0,101.75862,0,101.75862,0,0,7106.31,-19,7540.91,0,434.59,0,,,89,,,,,,,,67,,,,,,,,63,,,,,,,,120,,,,,,,,110,,,,,,,,107,,,,,,3.02797,11692.06912,181,7131.36182,7112.67,,96,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,378,384,641,266.948586,343,427,369,378.735810,, +D,DREGION,,3,"2023/12/15 02:05:00",1,QLD1,0,109.23146,0,109.23146,0,0,6319.73,-15,6035.87,0,-283.87,0,,,45,,,,,,,,64,,,,,,,,45,,,,,,,,14,,,,,,,,109.64,,,,,,,,127,,,,,,8.46851,9673.56915,125,6331.61279,6324.91,,0,,,,68,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,317,426.333333,193,256.362990,312,435,250,327,, +D,DREGION,,3,"2023/12/15 02:05:00",1,SA1,0,116.61619,0,116.61619,0,0,1230.89,-6,699.93,0,-530.95,0,,,64,,,,,,,,91,,,,,,,,77.02,,,,,,,,121.35,,,,,,,,172,,,,,,,,161,,,,,,-4.16238,2311.93285,362,1254.56543,1244.64,,10,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,270,282,267,61,243,251,251,355,, +D,DREGION,,3,"2023/12/15 02:05:00",1,TAS1,0,103.0262,0,103.0262,0,0,1031.55,-1,810.68,0,-220.87,0,,,8.92,,,,,,,,131.03,,,,,,,,101.68,,,,,,,,99.53,,,,,,,,152.18,,,,,,,,151.15,,,,,,-7.2974,2275.77714,0,1039.84473,1031.55,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,3.5,3.5,0,201.696366,306.216390,211.382601,55.666668,167.704404,297.253711,442.515568,180.775006,, +D,DREGION,,3,"2023/12/15 02:05:00",1,VIC1,0,100,0,100,0,0,3926.61,-17,4581.39,0,654.78,0,,,40,,,,,,,,38.83,,,,,,,,30,,,,,,,,127,,,,,,,,93,,,,,,,,90.66,,,,,,-6.76058,7391.25832,392,3979.14209,3955,,54,,,,14,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,16.73,16.73,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,608,586.50,548,47,352,592,485,489.450134,, +D,DREGION,,3,"2023/12/15 02:10:00",1,NSW1,0,112.82208,0,112.82208,0,0,7168.26,-15,7499.29,0,331.03,0,,,62.34,,,,,,,,92,,,,,,,,88,,,,,,,,122,,,,,,,,109,,,,,,,,106,,,,,,6.47045,11676.21536,181,7179.30908,7170.74,,100,,,,56,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0,377,383,643,267.515882,369,453,395,384.598639,, +D,DREGION,,3,"2023/12/15 02:10:00",1,QLD1,0,119.55,0,119.55,0,0,6263.09,-15,6073.22,0,-189.87,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,105.67,,,,,,,,141,,,,,,5.87547,9694.61573,125,6274.93506,6265.87,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0,352,461.333333,207,252,252,375,250,227,, +D,DREGION,,3,"2023/12/15 02:10:00",1,SA1,0,128.90984,0,128.90984,0,0,1238.94,-5,697.49,0,-541.45,0,,,50,,,,,,,,66,,,,,,,,58,,,,,,,,158.32,,,,,,,,174,,,,,,,,164,,,,,,-7.49792,2308.49162,362,1266.78125,1253.27,,10,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0,273,284,269,61,245,253,253,355,, +D,DREGION,,3,"2023/12/15 02:10:00",1,TAS1,0,113.03895,0,113.03895,0,0,1019.09,-1,813.2,0,-205.89,0,,,0,,,,,,,,94.34,,,,,,,,33.78,,,,,,,,99.53,,,,,,,,152.18,,,,,,,,140.96,,,,,,-5.56167,2278.29719,0,1025.64795,1019.09,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,201.696366,306.216390,211.382601,56.666657,167.704404,297.253711,442.515568,271.427756,, +D,DREGION,,3,"2023/12/15 02:10:00",1,VIC1,0,110.00214,0,110.00214,0,0,3899.1,-15,4554.06,0,654.96,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,79,,,,,,,,98,,,,,,,,86.89,,,,,,-4.52142,7387.05596,392,3952.01563,3928.29,,50,,,,22,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0,606,588.50,547,61,378,613,501,494.826111,, +D,DREGION,,3,"2023/12/15 02:15:00",1,NSW1,0,114.97826,0,114.97826,0,0,7167.03,-14,7496.86,0,329.83,0,,,89,,,,,,,,67,,,,,,,,63,,,,,,,,122,,,,,,,,114.4,,,,,,,,105,,,,,,3.58899,11674.86001,181,7180.02588,7168.6,,72,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,376,382,643,270.060812,367,451,393,377.323236,, +D,DREGION,,3,"2023/12/15 02:15:00",1,QLD1,0,121.10319,0,121.10319,0,0,6280.48,-14,6112.71,0,-167.77,0,,,45,,,,,,,,64,,,,,,,,45,,,,,,,,28,,,,,,,,133,,,,,,,,154.4,,,,,,2.86892,9705.21138,125,6294.3125,6282.84,,0,,,,66,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,352,461.333333,207,246,227,340,215,227,, +D,DREGION,,3,"2023/12/15 02:15:00",1,SA1,0,132.34583,0,132.34583,0,0,1226.08,-5,693.69,3,-535.38,0,,,53,,,,,,,,71.39,,,,,,,,82.28,,,,,,,,160,,,,,,,,173,,,,,,,,163,,,,,,-6.06116,2304.69231,362,1250.81519,1243.07,,22,,,,18,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,307,313,299,112.232848,246,254,254,354,, +D,DREGION,,3,"2023/12/15 02:15:00",1,TAS1,0,115.21481,0,115.21481,0,0,1024.23,0,853.9,0,-170.33,0,,,28.67,,,,,,,,158.12,,,,,,,,96.53,,,,,,,,70.33,,,,,,,,120.32,,,,,,,,120.32,,,,,,-3.06989,2280.65614,0,1027.29895,1024.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,3.5,3.5,0,197.779245,299.560511,179.036401,63.497207,162.560069,324.351692,481.186735,180.775006,, +D,DREGION,,3,"2023/12/15 02:15:00",1,VIC1,0,112.93672,0,112.93672,0,0,3941.33,-14,4550.24,20,588.91,0,,,31,,,,,,,,31,,,,,,,,31,,,,,,,,100.56,,,,,,,,95,,,,,,,,93,,,,,,-5.50937,7374.24214,392,3989.44019,3988.67,,66,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,609,574.50,545,30,314,310,305,358.693817,, +D,DREGION,,3,"2023/12/15 02:20:00",1,NSW1,0,113.52861,0,113.52861,0,0,7150.59,-12,7490.02,0,339.43,0,,,115.31,,,,,,,,99,,,,,,,,95,,,,,,,,121,,,,,,,,107,,,,,,,,104,,,,,,2.40951,11671.01916,181,7161.36328,7152.11,,64,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,0.71,0.71,0,375,381,642,268.281522,375,459,401,412.487708,, +D,DREGION,,3,"2023/12/15 02:20:00",1,QLD1,0,119.55,0,119.55,0,0,6277.74,-14,6108.36,0,-169.38,0,,,45,,,,,,,,56.2,,,,,,,,45,,,,,,,,25,,,,,,,,132,,,,,,,,141,,,,,,3.59105,9717.67326,125,6290.08447,6280.12,,0,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,0.71,0.71,0,332,441.333333,207,246,312,435,250,326.284254,, +D,DREGION,,3,"2023/12/15 02:20:00",1,SA1,0,130.03076,0,130.03076,0,0,1211.02,-5,689.42,0,-521.6,0,,,61,,,,,,,,64,,,,,,,,56,,,,,,,,148.16,,,,,,,,139.43,,,,,,,,149.21,,,,,,-11.50624,2300.41551,362,1243.14185,1224.27,,21,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,0.71,0.71,0,270,281,267,70.836160,243,251,251,355,, +D,DREGION,,3,"2023/12/15 02:20:00",1,TAS1,0,115.17639,0,115.17639,0,0,1036.16,0,812.55,0,-223.61,0,,,0,,,,,,,,131.03,,,,,,,,80.93,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,157.4,,,,,,5.62614,2277.74718,0,1030.53394,1036.16,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0,207.696366,312.216390,217.382601,56.666657,167.704404,297.253711,442.515568,180.775006,, +D,DREGION,,3,"2023/12/15 02:20:00",1,VIC1,0,111.50594,0,111.50594,0,0,3937.54,-8,4557.97,1,619.42,0,,,25,,,,,,,,41,,,,,,,,41,,,,,,,,80,,,,,,,,98,,,,,,,,83,,,,,,-14.6184,7391.96591,392,4003.31909,3965.65,,75,,,,28,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,0.71,0.71,0,593,574.50,534,52,369,603,491,493.732361,, +D,DREGION,,3,"2023/12/15 02:25:00",1,NSW1,0,102.75655,0,102.75655,0,0,7159.01,-11,7496.34,3,334.33,0,,,80,,,,,,,,94,,,,,,,,90,,,,,,,,121,,,,,,,,107,,,,,,,,104,,,,,,3.66784,11677.34471,181,7169.2334,7165.32,,95,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.84,2.84,0,375,381,642,270.353599,370,454,396,413.365218,, +D,DREGION,,3,"2023/12/15 02:25:00",1,QLD1,0,108.95605,0,108.95605,0,0,6310.67,-9,6103.15,0,-207.52,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,28,,,,,,,,110.89,,,,,,,,141,,,,,,3.05938,9734.73077,125,6319.32861,6313.92,,0,,,,57,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.84,2.84,0,352,461.333333,207,267.110650,252,375,250,212.899963,, +D,DREGION,,3,"2023/12/15 02:25:00",1,SA1,0,116.12544,0,116.12544,0,0,1201.43,-5,684.59,0,-516.84,0,,,59,,,,,,,,66,,,,,,,,58,,,,,,,,134.54,,,,,,,,174,,,,,,,,155.67,,,,,,-7.47848,2295.59088,362,1227.89258,1214.44,,31,,,,9,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.84,2.84,0,272,284,270,61,245,253,253,355,, +D,DREGION,,3,"2023/12/15 02:25:00",1,TAS1,0,103.29171,0,103.29171,0,0,1038.46,0,809.87,0,-228.59,0,,,0,,,,,,,,94.93,,,,,,,,33.04,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,157.4,,,,,,-0.97219,2274.97008,0,1039.43481,1038.46,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0,207.696366,312.216390,217.382601,56.666657,167.704404,297.253711,442.515568,272.715347,, +D,DREGION,,3,"2023/12/15 02:25:00",1,VIC1,0,100,0,100,0,0,3897.63,-6,4583.03,20,665.4,0,,,77,,,,,,,,92,,,,,,,,92,,,,,,,,97,,,,,,,,91,,,,,,,,83,,,,,,-6.19229,7405.45737,392,3941.04492,3944.85,,34,,,,27,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,2.84,2.84,0,592,564,532,38,342,582,475,459.692383,, +D,DREGION,,3,"2023/12/15 02:30:00",1,NSW1,0,100,0,100,0,0,7138.91,-11,7480.32,5,336.41,0,,,72.83,,,,,,,,66,,,,,,,,62,,,,,,,,121,,,,,,,,107,,,,,,,,104,,,,,,4.18625,11677.5877,181,7151.17676,7146.42,,112,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,375,381,642,273.824293,343,427,369,371.154042,, +D,DREGION,,3,"2023/12/15 02:30:00",1,QLD1,0,105.95587,0,105.95587,0,0,6273.95,-11,6080.4,0,-193.55,0,,,45,,,,,,,,59.79,,,,,,,,45,,,,,,,,25,,,,,,,,132,,,,,,,,141,,,,,,5.39119,9718.52717,125,6282.2417,6276.8,,0,,,,53,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,322,431.333333,207,231,252,375,250,227,, +D,DREGION,,3,"2023/12/15 02:30:00",1,SA1,0,113.56953,0,113.56953,0,0,1205.77,-5,684.15,1,-522.63,0,,,47,,,,,,,,53,,,,,,,,45,,,,,,,,148.46,,,,,,,,140.79,,,,,,,,149.76,,,,,,-5.26375,2295.14791,362,1229.7749,1220.09,,34,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,308,315,300,124.392410,234,242,242,356,, +D,DREGION,,3,"2023/12/15 02:30:00",1,TAS1,0,100.59285,0,100.59285,0,0,1035.23,0,809.71,0,-225.53,0,,,0,,,,,,,,131.03,,,,,,,,82.92,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,157.21,,,,,,-1.1553,2274.80559,0,1036.38708,1035.23,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0,207.696366,312.216390,217.382601,56.666657,167.704404,297.253711,442.515568,180.775006,, +D,DREGION,,3,"2023/12/15 02:30:00",1,VIC1,0,97.38715,0,97.38715,0,0,3937.3,-10,4593.81,5,651.5,0,,,82,,,,,,,,82,,,,,,,,82,,,,,,,,80,,,,,,,,97,,,,,,,,83,,,,,,-6.42665,7427.80554,389,3998.91309,3969.83,,14,,,,25,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,595,575,538,64,303,543,436,455.604492,, +D,DREGION,,3,"2023/12/15 02:35:00",1,NSW1,0,116.43824,0,116.43824,0,0,7151.96,-7,7473.01,0,321.06,0,,,62,,,,,,,,40,,,,,,,,36,,,,,,,,121,,,,,,,,112.92,,,,,,,,106.92,,,,,,1.07518,11707.01185,181,7165.10791,7154.06,,96,,,,56,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.2,0.2,0,0.71,0.71,0,376,381,642,253.938123,342,426,368,378.296399,, +D,DREGION,,3,"2023/12/15 02:35:00",1,QLD1,0,122.5676,0,122.5676,0,0,6245.62,-8,6063.3,0,-182.33,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,30.83,,,,,,,,131,,,,,,,,168,,,,,,4.2227,9712.12627,125,6251.68604,6248.23,,0,,,,34,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.2,0.2,0,0.71,0.71,0,352,461.333333,207,230.700043,292,415,250,242.918648,, +D,DREGION,,3,"2023/12/15 02:35:00",1,SA1,0,131.59818,0,131.59818,0,0,1201,-5,682.37,0,-518.63,0,,,51,,,,,,,,84.76,,,,,,,,56,,,,,,,,151,,,,,,,,165,,,,,,,,154,,,,,,-2.97927,2294.3684,362,1222.80469,1214.11,,21,,,,51,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.2,0.2,0,0.71,0.71,0,299,306,291,117.903960,245,253,253,357,, +D,DREGION,,3,"2023/12/15 02:35:00",1,TAS1,0,115.22,0,115.22,0,0,1033.1,0,867.83,0,-165.28,0,,,0,,,,,,,,131,,,,,,,,89.06,,,,,,,,65.28,,,,,,,,115.27,,,,,,,,115.27,,,,,,1.4171,2267.70361,0,1031.68494,1033.1,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.2,0.2,0,3.5,3.5,0,190.828473,274.074346,152.160081,94.048820,157.504128,326.227044,508.290821,209.922537,, +D,DREGION,,3,"2023/12/15 02:35:00",1,VIC1,0,113.32416,0,113.32416,0,0,3934.72,-3,4523.21,0,588.5,0,,,88.68,,,,,,,,91,,,,,,,,91,,,,,,,,114,,,,,,,,113,,,,,,,,93,,,,,,-2.11314,7260.21312,389,3976.38159,3960.23,,43,,,,29,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.49,0.49,0,7.73,7.73,0,0.38,0.38,0,0.39,0.39,0,0.2,0.2,0,0.71,0.71,0,580,554,521,53,377,612,490,492.879882,, +D,DREGION,,3,"2023/12/15 02:40:00",1,NSW1,0,114.9127,0,114.9127,0,0,7112.16,-5,7473.9,0,361.75,0,,,85,,,,,,,,99,,,,,,,,95,,,,,,,,121,,,,,,,,94.43,,,,,,,,104,,,,,,6.60294,11712.90348,181,7114.43652,7114.14,,94,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.49,0.49,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,1.2,1.2,0,376,381,642,267.034122,375,459,401,403.425359,, +D,DREGION,,3,"2023/12/15 02:40:00",1,QLD1,0,120.91927,0,120.91927,0,0,6244.44,-8,6056.45,0,-187.99,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25.13,,,,,,,,131,,,,,,,,160.43,,,,,,-4.53032,9709.8392,125,6259.79199,6247.13,,0,,,,52,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.49,0.49,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,1.2,1.2,0,352,461.333333,207,246,292,415,250,287,, +D,DREGION,,3,"2023/12/15 02:40:00",1,SA1,0,132.23194,0,132.23194,0,0,1219.49,-5,681.74,0,-537.75,0,,,52,,,,,,,,66,,,,,,,,58,,,,,,,,159,,,,,,,,171,,,,,,,,161,,,,,,0.74211,2293.74115,362,1238.23853,1233.62,,10,,,,24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.49,0.49,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,1.2,1.2,0,270,281,268,61,245,253,253,355,, +D,DREGION,,3,"2023/12/15 02:40:00",1,TAS1,0,115.22,0,115.22,0,0,1036.13,0,859.54,0,-176.58,0,,,0,,,,,,,,78.17,,,,,,,,26.44,,,,,,,,76.58,,,,,,,,126.58,,,,,,,,126.58,,,,,,7.92539,2255.67995,0,1028.20044,1036.13,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0,189.861591,270.529112,148.421471,66.814038,156.800825,326.227044,512.061114,384.984870,, +D,DREGION,,3,"2023/12/15 02:40:00",1,VIC1,0,112.83419,0,112.83419,0,0,3906.26,-1,4493.27,0,587.01,0,,,77,,,,,,,,103,,,,,,,,92,,,,,,,,98,,,,,,,,112,,,,,,,,83,,,,,,-15.06114,7268.27118,389,3952.81738,3933.89,,56,,,,17,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.49,0.49,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,1.2,1.2,0,578,553,519,40,378,613,501,508.569274,, +D,DREGION,,3,"2023/12/15 02:45:00",1,NSW1,0,101.14732,0,101.14732,0,0,7104.35,-4,7514.93,0,410.58,0,,,63.88,,,,,,,,67,,,,,,,,63,,,,,,,,121,,,,,,,,110.71,,,,,,,,104,,,,,,7.72393,11710.92972,181,7104.06982,7106.41,,102,,,,70,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0,376,381,642,260.916754,367,451,393,431.050759,, +D,DREGION,,3,"2023/12/15 02:45:00",1,QLD1,0,107.03506,0,107.03506,0,0,6202.73,-6,6000.93,0,-201.8,0,,,45,,,,,,,,48.66,,,,,,,,45,,,,,,,,28,,,,,,,,131,,,,,,,,165.71,,,,,,-3.7336,9698.97076,125,6214.76025,6205.66,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0,352,461.333333,207,246,292,415,250,270.299957,, +D,DREGION,,3,"2023/12/15 02:45:00",1,SA1,0,116.63171,0,116.63171,0,0,1207.89,-4,677.36,0,-530.53,0,,,50,,,,,,,,53,,,,,,,,45,,,,,,,,144,,,,,,,,157,,,,,,,,146,,,,,,0,2288.35971,362,1226.80945,1221.64,,26,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0,270,282,268,76,244,252,252,355,, +D,DREGION,,3,"2023/12/15 02:45:00",1,TAS1,0,101.98965,0,101.98965,0,0,1016.27,0,837.52,0,-178.75,0,,,0,,,,,,,,131,,,,,,,,70.13,,,,,,,,78.75,,,,,,,,128.75,,,,,,,,128.75,,,,,,8.6034,2252.61684,0,1007.66351,1016.27,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0,194.765332,288.509494,167.382601,55.034154,160.367770,326.227044,492.939296,275.313812,, +D,DREGION,,3,"2023/12/15 02:45:00",1,VIC1,0,100,0,100,0,0,3828.87,1,4374.62,0,545.75,0,,,89,,,,,,,,94,,,,,,,,94,,,,,,,,109.93,,,,,,,,110,,,,,,,,93,,,,,,-25.66669,7239.01493,389,3883.12451,3855.38,,32,,,,33,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.84,7.84,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1.5,1.5,0,578,550,518,55,380,615,503,492.9375,, +D,DREGION,,3,"2023/12/15 02:50:00",1,NSW1,0,96.17157,0,96.17157,0,0,7056.07,-5,7471.86,0,415.78,0,,,79.65,,,,,,,,67,,,,,,,,63,,,,,,,,121,,,,,,,,107,,,,,,,,104,,,,,,20.25133,11717.85515,181,7043.6582,7058.27,,107,,,,72,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,376,381,642,270.068373,343,427,369,390.928611,, +D,DREGION,,3,"2023/12/15 02:50:00",1,QLD1,0,101.74017,0,101.74017,0,0,6224.05,-5,6017.06,0,-206.99,0,,,45,,,,,,,,51.59,,,,,,,,45,,,,,,,,25,,,,,,,,102,,,,,,,,141,,,,,,-2.39053,9704.6767,125,6234.71436,6227.06,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,352,461.333333,207,252,292,415,250,287,, +D,DREGION,,3,"2023/12/15 02:50:00",1,SA1,0,111.42805,0,111.42805,0,0,1202.74,-4,670.92,10,-541.82,0,,,45,,,,,,,,51,,,,,,,,43,,,,,,,,128.91,,,,,,,,158.86,,,,,,,,159.47,,,,,,5.84281,2281.92451,362,1214.8291,1227.11,,34,,,,40,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,269,281,267,71.527930,230,238,238,345,, +D,DREGION,,3,"2023/12/15 02:50:00",1,TAS1,0,98.18,0,98.18,0,0,1019.39,0,793.03,0,-226.37,0,,,0,,,,,,,,131,,,,,,,,75.36,,,,,,,,126.36,,,,,,,,176.36,,,,,,,,146.75,,,,,,2.50201,2255.20185,0,1016.88953,1019.39,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,4.5,4.5,0,194.765332,335.363803,214.457921,75.284673,114.748388,279.151724,445.706534,148.568044,, +D,DREGION,,3,"2023/12/15 02:50:00",1,VIC1,0,95.07055,0,95.07055,0,0,3816.48,-5,4424.59,0,608.11,0,,,76,,,,,,,,91,,,,,,,,91,,,,,,,,77,,,,,,,,90,,,,,,,,83,,,,,,-34.3375,7402.59012,389,3883.93921,3845.62,,19,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,597,568,537,53,363,476,410,443.093750,, +D,DREGION,,3,"2023/12/15 02:55:00",1,NSW1,0,102.04802,0,102.04802,0,0,7044.64,-7,7514.5,5,464.86,0,,,66.44,,,,,,,,72,,,,,,,,68,,,,,,,,120.09,,,,,,,,115.8,,,,,,,,104,,,,,,5.53666,11715.50365,181,7050.72119,7055.36,,100,,,,77,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,376,381,641,233.972259,348,432,374,373.218444,, +D,DREGION,,3,"2023/12/15 02:55:00",1,QLD1,0,109.439,0,109.439,0,0,6293.66,-4,6011.39,2,-284.27,0,,,45,,,,,,,,46.14,,,,,,,,45,,,,,,,,30,,,,,,,,130,,,,,,,,141,,,,,,1.49728,9705.13835,125,6300.47168,6300.73,,0,,,,67,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,352,461.333333,207,246,292,415,250,285,, +D,DREGION,,3,"2023/12/15 02:55:00",1,SA1,0,116.63613,0,116.63613,0,0,1179.42,-4,668.34,15,-526.08,0,,,63,,,,,,,,66,,,,,,,,58,,,,,,,,138,,,,,,,,147,,,,,,,,162,,,,,,0.26603,2279.33988,362,1195.37891,1207.94,,21,,,,15,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,306,313,299,125.851470,247,255,255,342,, +D,DREGION,,3,"2023/12/15 02:55:00",1,TAS1,0,102.25516,0,102.25516,0,0,1032.17,0,845.04,0,-187.13,0,,,0,,,,,,,,131,,,,,,,,74.01,,,,,,,,87.13,,,,,,,,137.13,,,,,,,,137.13,,,,,,2.72981,2260.14246,0,1029.44385,1032.17,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0,194.765332,288.509494,167.382601,64.963271,160.367770,326.227044,492.939296,200.999239,, +D,DREGION,,3,"2023/12/15 02:55:00",1,VIC1,0,100,0,100,0,0,3851.13,-6,4445.45,11,583.32,0,,,67,,,,,,,,72,,,,,,,,72,,,,,,,,102,,,,,,,,103,,,,,,,,88.8,,,,,,-15.05868,7399.81816,389,3897.65576,3888.53,,39,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,1,1,0,596,572,537,52,198,199,199,312,, +D,DREGION,,3,"2023/12/15 03:00:00",1,NSW1,0,100,0,100,0,0,7101.55,-4,7496.67,18,377.12,0,,,95,,,,,,,,73,,,,,,,,69,,,,,,,,134.98,,,,,,,,139.3,,,,,,,,104,,,,,,17.00239,11719.06873,181,7096.64648,7123.47,,71,,,,82,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.85,7.85,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,376,381,642,286.809033,349,433,375,346.805190,, +D,DREGION,,3,"2023/12/15 03:00:00",1,QLD1,0,106.55888,0,106.55888,0,0,6253.39,-4,6020.2,0,-233.19,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,26,,,,,,,,130,,,,,,,,142.3,,,,,,0.94158,9715.14249,125,6261.7627,6257.11,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.85,7.85,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,352,461.333333,207,246,267,380,215,287,, +D,DREGION,,3,"2023/12/15 03:00:00",1,SA1,0,113.56665,0,113.56665,0,0,1191.33,-4,669.34,12,-533.99,0,,,66,,,,,,,,112.4,,,,,,,,67.15,,,,,,,,135,,,,,,,,134,,,,,,,,162,,,,,,-7.32217,2280.33975,362,1225.20337,1217.25,,21,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.85,7.85,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,306,312,298,122.851470,247,255,255,345,, +D,DREGION,,3,"2023/12/15 03:00:00",1,TAS1,0,99.31122,0,99.31122,0,0,1021.86,0,843.35,0,-178.52,0,,,20,,,,,,,,131,,,,,,,,103.32,,,,,,,,78.52,,,,,,,,128.51,,,,,,,,128.51,,,,,,1.15618,2258.54529,0,1020.70563,1021.86,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,3.5,3.5,0,194.765332,288.509494,167.382601,61.320248,160.367770,326.227044,492.939296,194.700017,, +D,DREGION,,3,"2023/12/15 03:00:00",1,VIC1,0,97.37999,0,97.37999,0,0,3907.15,-5,4524.82,0,617.67,0,,,22.08,,,,,,,,32,,,,,,,,32,,,,,,,,100,,,,,,,,98,,,,,,,,93,,,,,,-9.67002,7392.82039,389,3958.63452,3934.69,,68,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.85,7.85,0,0.39,0.39,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,581,551,520,52,280,397,336,412.162109,, +D,DREGION,,3,"2023/12/15 03:05:00",1,NSW1,0,96.08367,0,96.08367,0,0,7002.97,-5,7458.26,29,426.28,0,,,69.8,,,,,,,,66,,,,,,,,62,,,,,,,,121,,,,,,,,106,,,,,,,,104,,,,,,11.78946,11719.25509,181,7012.07129,7034.74,,97,,,,85,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,376,381,643,293.397170,342,426,368,372.278612,, +D,DREGION,,3,"2023/12/15 03:05:00",1,QLD1,0,101.63614,0,101.63614,0,0,6240.51,-4,6020.12,0,-220.4,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,101,,,,,,,,141,,,,,,0.73289,9721.14937,125,6247.33057,6243.81,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,352,461.333333,207,257,292,415,250,287,, +D,DREGION,,3,"2023/12/15 03:05:00",1,SA1,0,110.33169,0,110.33169,0,0,1171.94,-3,669.85,0,-502.09,0,,,45,,,,,,,,64,,,,,,,,56,,,,,,,,129.33,,,,,,,,159.93,,,,,,,,156.26,,,,,,-6.92124,2279.84896,362,1209.71973,1184.17,,31,,,,4,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,269,281,267,64.735920,243,251,251,355,, +D,DREGION,,3,"2023/12/15 03:05:00",1,TAS1,0,98.18,0,98.18,0,0,1030.34,0,807.37,0,-222.97,0,,,0,,,,,,,,114.4,,,,,,,,49.87,,,,,,,,122.97,,,,,,,,172.97,,,,,,,,146.63,,,,,,-0.02734,2261.92481,0,1030.3667,1030.34,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,194.765332,327.681092,206.738971,64.000014,122.228607,286.870674,453.4513,267.544331,, +D,DREGION,,3,"2023/12/15 03:05:00",1,VIC1,0,95.07055,0,95.07055,0,0,3954.73,1,4516.88,0,562.15,0,,,88,,,,,,,,104,,,,,,,,104,,,,,,,,77,,,,,,,,91,,,,,,,,83,,,,,,9.11234,7227.87833,389,3975.00049,3979.41,,32,,,,35,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.84,7.84,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,579,551,519,56,379,614,502,492.656250,, +D,DREGION,,3,"2023/12/15 03:10:00",1,NSW1,0,114.85244,0,114.85244,0,0,7076.94,-5,7494.63,0,417.68,0,,,75.55,,,,,,,,67,,,,,,,,63,,,,,,,,121,,,,,,,,114.35,,,,,,,,104,,,,,,8.88401,11715.6254,181,7093.80371,7078.28,,102,,,,61,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,10.98,10.98,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.7,3.7,0,376,381,643,229.102032,367,451,393,392.974990,, +D,DREGION,,3,"2023/12/15 03:10:00",1,QLD1,0,120.71112,0,120.71112,0,0,6182,-5,5995.88,0,-186.12,0,,,45,,,,,,,,62.04,,,,,,,,45,,,,,,,,28,,,,,,,,129,,,,,,,,168,,,,,,2.51364,9707.1239,125,6186.66309,6184.55,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,10.98,10.98,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.7,3.7,0,352,461.333333,207,228.900055,254,377,250,230,, +D,DREGION,,3,"2023/12/15 03:10:00",1,SA1,0,132.44742,0,132.44742,0,0,1194.64,-3,665.37,0,-529.27,0,,,46,,,,,,,,52,,,,,,,,44,,,,,,,,160,,,,,,,,173,,,,,,,,162,,,,,,0.59814,2275.36892,362,1210.95801,1208.31,,34,,,,21,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,10.98,10.98,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.7,3.7,0,306,313,299,109.575072,243,251,251,357,, +D,DREGION,,3,"2023/12/15 03:10:00",1,TAS1,0,115.26,0,115.26,0,0,1038.2,1,882.66,0,-155.54,0,,,0,,,,,,,,131,,,,,,,,82.71,,,,,,,,55.54,,,,,,,,105.54,,,,,,,,105.54,,,,,,-1.34773,2264.11427,0,1038.54553,1038.2,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.5,3.5,0,186.166470,256.653074,133.799167,103.264937,154.159849,326.227044,526.802392,228.343807,, +D,DREGION,,3,"2023/12/15 03:10:00",1,VIC1,0,113.57087,0,113.57087,0,0,3957.31,2,4453.84,0,496.53,0,,,82,,,,,,,,82,,,,,,,,82,,,,,,,,107.86,,,,,,,,106,,,,,,,,88.35,,,,,,7.99155,7226.84247,386,3976.55762,3983.04,,24,,,,42,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,10.98,10.98,0,0.38,0.38,0,0.39,0.39,0,0.01,0.01,0,3.7,3.7,0,579,546,517,62,289,407,356,398.504883,, +D,DREGION,,3,"2023/12/15 03:15:00",1,NSW1,0,139.28944,0,139.28944,0,0,7059.89,-2,7537.33,0,477.44,0,,,109,,,,,,,,127,,,,,,,,113,,,,,,,,151.67,,,,,,,,167.1,,,,,,,,129.1,,,,,,18.94527,11769.8836,181,7048.23877,7063.53,,96,,,,56,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,386,391,653,268.572513,413,527,469,410.925016,, +D,DREGION,,3,"2023/12/15 03:15:00",1,QLD1,0,148.37054,0,148.37054,0,0,6261.66,-2,6016.08,0,-245.58,0,,,45,,,,,,,,62.66,,,,,,,,45,,,,,,,,31,,,,,,,,128,,,,,,,,168,,,,,,2.95919,9701.42493,125,6265.05322,6265.65,,0,,,,21,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,352,461.333333,207,232.101449,254,377,250,230,, +D,DREGION,,3,"2023/12/15 03:15:00",1,SA1,0,159.85828,0,159.85828,0,0,1176.42,-2,657.72,0,-518.69,0,,,52,,,,,,,,52,,,,,,,,44,,,,,,,,147,,,,,,,,158,,,,,,,,147,,,,,,0.14107,2267.72389,362,1191.30933,1189.53,,34,,,,70,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,291,298,284,125.246154,233,241,241,357,, +D,DREGION,,3,"2023/12/15 03:15:00",1,TAS1,0,138.92729,0,138.92729,0,0,1031.33,1,904,0,-127.32,0,,,11.23,,,,,,,,131,,,,,,,,93.63,,,,,,,,27.32,,,,,,,,77.32,,,,,,,,77.32,,,,,,6.14904,2281.1048,0,1024.17773,1031.33,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,3.5,3.5,0,185.730849,252.841390,129.851351,113.786087,154.159849,326.227044,530.750207,232.700017,, +D,DREGION,,3,"2023/12/15 03:15:00",1,VIC1,0,137.66,0,137.66,0,0,3948.89,1,4407.86,0,458.97,0,,,31,,,,,,,,21,,,,,,,,21,,,,,,,,102,,,,,,,,84,,,,,,,,93,,,,,,-5.56759,7205.52119,383,3978.31689,3972.97,,30,,,,23,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,5,5,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,595,544,527,57,303,543,436,459.345837,, +D,DREGION,,3,"2023/12/15 03:20:00",1,NSW1,0,140.4018,0,140.4018,0,0,7123.53,3,7541.34,0,417.81,0,,,118.44,,,,,,,,159,,,,,,,,141.73,,,,,,,,149.74,,,,,,,,160.95,,,,,,,,124.95,,,,,,28.18887,11762.33789,181,7095.6958,7127.5,,44,,,,77,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,11,11,0,0.34,0.34,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,376,381,643,278.824293,445,559,501,462.865247,, +D,DREGION,,3,"2023/12/15 03:20:00",1,QLD1,0,149.63434,0,149.63434,0,0,6262.15,-1,6019.79,0,-242.36,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,31,,,,,,,,127,,,,,,,,168,,,,,,0.8507,9705.34161,125,6265.85693,6266.11,,0,,,,41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,11,11,0,0.34,0.34,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,322,431.333333,207,231,229,342,215,230,, +D,DREGION,,3,"2023/12/15 03:20:00",1,SA1,0,160.54277,0,160.54277,0,0,1185.24,-2,656.51,0,-528.74,0,,,60,,,,,,,,63,,,,,,,,55,,,,,,,,160,,,,,,,,171,,,,,,,,160,,,,,,1.46567,2265.50527,362,1198.51855,1198.89,,10,,,,11,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,11,11,0,0.34,0.34,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,304,311,297,109.575072,244,252,252,357,, +D,DREGION,,3,"2023/12/15 03:20:00",1,TAS1,0,138.88729,0,138.88729,0,0,1017.5,1,896.38,0,-121.12,0,,,0,,,,,,,,85.65,,,,,,,,44.59,,,,,,,,21.12,,,,,,,,71.11,,,,,,,,71.11,,,,,,8.93695,2273.48262,0,1007.56317,1017.5,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,185.730849,252.841390,129.851351,131.507932,154.159849,326.227044,530.750207,373.775682,, +D,DREGION,,3,"2023/12/15 03:20:00",1,VIC1,0,137.66,0,137.66,0,0,3937.87,6,4459.41,0,521.53,0,,,25,,,,,,,,41,,,,,,,,30,,,,,,,,100,,,,,,,,87,,,,,,,,93,,,,,,-19.12672,7371.25768,383,3974.41748,3963.42,,106,,,,41,,,,,,,,,,,,,,,,,,,0.48,0.48,0,0.5,0.5,0,0.5,0.5,0,11,11,0,0.34,0.34,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,579,533,513,57,290,407,356,422.123971,, +D,DREGION,,3,"2023/12/15 03:25:00",1,NSW1,0,100,0,100,0,0,7053.48,7,7531.74,0,478.26,0,,,80,,,,,,,,145.56,,,,,,,,124.53,,,,,,,,121,,,,,,,,126.11,,,,,,,,104,,,,,,28.58341,11753.98144,181,7023.62891,7060.45,,81,,,,75,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.86,7.86,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0,386,391,653,295.437605,440,554,496,490.453896,, +D,DREGION,,3,"2023/12/15 03:25:00",1,QLD1,0,107.86229,0,107.86229,0,0,6263.52,2,5953.63,0,-309.89,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,29.68,,,,,,,,127,,,,,,,,152.11,,,,,,0.65954,9711.31356,125,6264.9209,6269.28,,0,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.86,7.86,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0,322,431.333333,207,231,254,377,250,200.780160,, +D,DREGION,,3,"2023/12/15 03:25:00",1,SA1,0,113.1852,0,113.1852,0,0,1156.04,-2,659.5,0,-496.54,0,,,58,,,,,,,,65,,,,,,,,57,,,,,,,,160,,,,,,,,173,,,,,,,,162,,,,,,-3.33549,2268.50443,362,1175.05029,1167.99,,20,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.86,7.86,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0,271,283,269,61,244,252,252,355,, +D,DREGION,,3,"2023/12/15 03:25:00",1,TAS1,0,99.19068,0,99.19068,0,0,1009.85,2,855.5,0,-154.35,0,,,0,,,,,,,,45,,,,,,,,13.1,,,,,,,,54.35,,,,,,,,104.34,,,,,,,,104.34,,,,,,7.36371,2270.60387,0,1000.48657,1009.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0.38,0.38,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0,194.765332,288.509494,167.382601,105.029709,160.367770,326.227044,492.939296,399.945594,, +D,DREGION,,3,"2023/12/15 03:25:00",1,VIC1,0,98.00594,0,98.00594,0,0,3969.69,9,4499.5,0,529.8,0,,,87,,,,,,,,92,,,,,,,,77,,,,,,,,99,,,,,,,,89,,,,,,,,97,,,,,,-4.11443,7339.49696,383,3988.60791,3992.3,,59,,,,43,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.49,0.49,0,7.86,7.86,0,0.14,0.14,0,0.38,0.38,0,0,0,0,3.76,3.76,0,574,522,506,62,378,613,501,497.164001,, +D,DREGION,,3,"2023/12/15 03:30:00",1,NSW1,0,97.30663,0,97.30663,0,0,7017.58,6,7492.4,40,434.82,0,,,64.68,,,,,,,,121,,,,,,,,107,,,,,,,,121,,,,,,,,106,,,,,,,,104,,,,,,0,11754.39961,181,7019.99121,7063.29,,82,,,,107,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.42679,9.42679,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.71,3.71,0,376,381,643,308.274603,417,531,473,411.220275,, +D,DREGION,,3,"2023/12/15 03:30:00",1,QLD1,0,104.26045,0,104.26045,0,0,6242.14,3,5959.19,0,-282.95,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,98,,,,,,,,141,,,,,,2.15826,9718.33363,125,6242.12207,6247.06,,0,,,,41,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.42679,9.42679,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.71,3.71,0,322,431.333333,207,252,254,377,250,230,, +D,DREGION,,3,"2023/12/15 03:30:00",1,SA1,0,110.08612,0,110.08612,0,0,1155.32,-2,665.21,0,-490.11,0,,,49,,,,,,,,52,,,,,,,,44,,,,,,,,127.73,,,,,,,,170.52,,,,,,,,143.4,,,,,,-0.55213,2274.21385,362,1173.65759,1166.96,,44,,,,0,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.42679,9.42679,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.71,3.71,0,271,283,269,63.484790,231,239,239,355,, +D,DREGION,,3,"2023/12/15 03:30:00",1,TAS1,0,98.18,0,98.18,0,0,1029.31,2,814.87,0,-214.44,0,,,0,,,,,,,,81.46,,,,,,,,29.13,,,,,,,,114.43,,,,,,,,164.43,,,,,,,,146.54,,,,,,-1.43505,2264.22306,0,1028.74463,1029.31,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.38,0.38,0,7.11,7.11,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,194.765332,322.497802,201.531231,65.208326,127.275283,292.078414,458.676457,325.086092,, +D,DREGION,,3,"2023/12/15 03:30:00",1,VIC1,0,95.31556,0,95.31556,0,0,3923.89,8,4522.35,0,598.46,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,74,,,,,,,,79,,,,,,,,83,,,,,,10.69667,7322.35464,383,3931.75024,3947.41,,34,,,,22,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,9.42679,9.42679,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.71,3.71,0,584,540,519,50,378,613,501,497.1875,, +D,DREGION,,3,"2023/12/15 03:35:00",1,NSW1,0,100,0,100,0,0,7119.04,10,7529.89,0,410.85,0,,,109,,,,,,,,127,,,,,,,,113,,,,,,,,121,,,,,,,,106,,,,,,,,104,,,,,,5.37956,11750.27351,181,7135.51221,7120.77,,96,,,,86.71,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,376,381,643,242.167625,413,527,469,484.737462,, +D,DREGION,,3,"2023/12/15 03:35:00",1,QLD1,0,105.82836,0,105.82836,0,0,6180.17,-4,5981.13,0,-199.03,0,,,45,,,,,,,,53.73,,,,,,,,45,,,,,,,,25,,,,,,,,105.18,,,,,,,,141,,,,,,-0.16722,9723.39613,125,6187.10059,6183.04,,0,,,,41.29,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,322,431.333333,207,250.8169,254,377,250,230,, +D,DREGION,,3,"2023/12/15 03:35:00",1,SA1,0,114.48189,0,114.48189,0,0,1165.54,-2,666.01,0,-499.53,0,,,50,,,,,,,,50,,,,,,,,42,,,,,,,,138.98,,,,,,,,171,,,,,,,,134.56,,,,,,0.97398,2276.01178,362,1178.75562,1177.66,,34,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,304,311,297,110.851470,231,239,239,357,, +D,DREGION,,3,"2023/12/15 03:35:00",1,TAS1,0,101.34889,0,101.34889,0,0,1049.76,2,841.88,0,-207.88,0,,,12.18,,,,,,,,131,,,,,,,,86.8,,,,,,,,105.53,,,,,,,,157.88,,,,,,,,156.51,,,,,,-2.52497,2257.08058,0,1050.28943,1049.76,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.38,0.38,0,0.39,0.39,0,7.12,7.12,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,3.5,3.5,0,194.765332,288.509494,167.382601,51.299790,160.367770,326.227044,492.939296,216.406657,, +D,DREGION,,3,"2023/12/15 03:35:00",1,VIC1,0,98.63587,0,98.63587,0,0,3917.65,7,4453.55,0,535.9,0,,,30,,,,,,,,30,,,,,,,,30,,,,,,,,73,,,,,,,,79,,,,,,,,83,,,,,,21.1295,7310.55264,383,3915.56982,3941.23,,30,,,,31,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.39,0.39,0,0.38,0.38,0,0.71,0.71,0,580,537,515,49,352,592,475,470.566467,, +D,DREGION,,3,"2023/12/15 03:40:00",1,NSW1,0,101.29515,0,101.29515,0,0,7086.41,17,7538.63,0,452.22,0,,,114,,,,,,,,154,,,,,,,,140,,,,,,,,120,,,,,,,,106,,,,,,,,104,,,,,,12.40138,11749.62552,181,7060.3999,7089.21,,69,,,,87,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,376,381,642,270.335273,440,554,496,485.739333,, +D,DREGION,,3,"2023/12/15 03:40:00",1,QLD1,0,107.91888,0,107.91888,0,0,6248.5,0,6022.27,0,-226.22,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,124,,,,,,,,141,,,,,,-2.95953,9756.26191,125,6254.92285,6252.02,,0,,,,48,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,352,461.333333,207,246,254,377,250,230,, +D,DREGION,,3,"2023/12/15 03:40:00",1,SA1,0,116.06214,0,116.06214,0,0,1166.86,-1,666.42,0,-500.44,0,,,61.06,,,,,,,,65,,,,,,,,57,,,,,,,,139.96,,,,,,,,150.83,,,,,,,,122.47,,,,,,0.11955,2276.41697,362,1180.17041,1179.02,,10,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,271,283,269,77,244,252,252,355,, +D,DREGION,,3,"2023/12/15 03:40:00",1,TAS1,0,103.29171,0,103.29171,0,0,1051.7,2,828.93,0,-222.77,0,,,0,,,,,,,,96.58,,,,,,,,43.75,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,168.53,,,,,,-2.46821,2244.12557,0,1052.16553,1051.7,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,194.765332,288.509494,167.382601,51.000001,160.367770,326.227044,492.939296,332.122337,, +D,DREGION,,3,"2023/12/15 03:40:00",1,VIC1,0,100,0,100,0,0,3920.44,8,4460.28,0,539.84,0,,,26,,,,,,,,31,,,,,,,,31,,,,,,,,73,,,,,,,,80,,,,,,,,83,,,,,,5.41287,7301.48957,383,3933.07153,3944.58,,81,,,,24,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,0.71,0.71,0,581,540,517,43,330,569,462,476.818360,, +D,DREGION,,3,"2023/12/15 03:45:00",1,NSW1,0,100,0,100,0,0,7061.74,16,7553.34,0,491.6,0,,,66.15,,,,,,,,126,,,,,,,,112,,,,,,,,121,,,,,,,,108,,,,,,,,104,,,,,,9.13658,11779.93846,181,7039.11279,7063.78,,127,,,,87,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0,378,383,645,275.100614,412,526,468,456.100197,, +D,DREGION,,3,"2023/12/15 03:45:00",1,QLD1,0,105.84327,0,105.84327,0,0,6251.2,3,6042.88,0,-208.32,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,124,,,,,,,,141,,,,,,0.50833,9777.5695,125,6250.80078,6254.29,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0,352,461.333333,207,246,254,377,250,230,, +D,DREGION,,3,"2023/12/15 03:45:00",1,SA1,0,115.58162,0,115.58162,0,0,1179.21,-1,671.02,0,-508.18,0,,,47,,,,,,,,63,,,,,,,,57,,,,,,,,137.92,,,,,,,,151.76,,,,,,,,120.4,,,,,,1.74372,2281.02259,362,1191.3147,1191.76,,10,,,,12,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0,271,281,267,77,244,250,250,355,, +D,DREGION,,3,"2023/12/15 03:45:00",1,TAS1,0,103.13225,0,103.13225,0,0,1056.85,2,815.16,0,-241.69,0,,,0,,,,,,,,64.63,,,,,,,,10.7,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,168.53,,,,,,-3.09207,2230.36272,0,1057.94202,1056.85,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,194.765332,288.509494,167.382601,51.000001,160.367770,326.227044,492.939296,384.966322,, +D,DREGION,,3,"2023/12/15 03:45:00",1,VIC1,0,99.58962,0,99.58962,0,0,3939.17,9,4448.98,0,509.8,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,72,,,,,,,,75,,,,,,,,83,,,,,,8.7801,7282.97552,383,3948.48999,3964.71,,23,,,,25,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.2,1.2,0,581,533,514,42,314,437,391,410.156250,, +D,DREGION,,3,"2023/12/15 03:50:00",1,NSW1,0,100.47471,0,100.47471,0,0,7126.34,18,7565.44,0,439.11,0,,,67.49,,,,,,,,127,,,,,,,,113,,,,,,,,121,,,,,,,,110,,,,,,,,104,,,,,,8.27806,11771.44373,181,7101.36035,7126.85,,102,,,,85,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,380,385,647,254.495542,437,551,493,482.661626,, +D,DREGION,,3,"2023/12/15 03:50:00",1,QLD1,0,105.69581,0,105.69581,0,0,6221.6,5,6056.89,0,-164.72,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,28,,,,,,,,123,,,,,,,,141,,,,,,-1.00187,9785.36644,125,6219.70361,6223.81,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,352,461.333333,207,246,254,377,250,230,, +D,DREGION,,3,"2023/12/15 03:50:00",1,SA1,0,116.05715,0,116.05715,0,0,1175.52,0,672.68,0,-502.84,0,,,47,,,,,,,,50,,,,,,,,42,,,,,,,,117.51,,,,,,,,151.21,,,,,,,,124.85,,,,,,0.61579,2282.68216,362,1187.31274,1187.8,,24,,,,13,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,269,280,266,77,241,249,249,355,, +D,DREGION,,3,"2023/12/15 03:50:00",1,TAS1,0,103.82275,0,103.82275,0,0,1055.01,2,802.87,0,-252.15,0,,,0,,,,,,,,77.84,,,,,,,,24.51,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,168.53,,,,,,-2.88914,2217.96581,0,1055.90063,1055.01,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,3.5,3.5,0,194.765332,288.509494,167.382601,51.000001,160.367770,326.227044,492.939296,370.876336,, +D,DREGION,,3,"2023/12/15 03:50:00",1,VIC1,0,100,0,100,0,0,3944.59,9,4465.43,0,520.85,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,94,,,,,,,,79,,,,,,,,83,,,,,,5.29987,7289.17458,383,3957.48926,3969.84,,34,,,,26,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,8.23,8.23,0,0.38,0.38,0,0.38,0.38,0,0.01,0.01,0,1.5,1.5,0,582,539,517,44,378,613,501,489.347717,, +D,DREGION,,3,"2023/12/15 03:55:00",1,NSW1,0,93.89,0,93.89,0,0,7057.86,15,7576.02,0,518.16,0,,,52.29,,,,,,,,127,,,,,,,,113,,,,,,,,95,,,,,,,,80,,,,,,,,78,,,,,,0,11775.323,181,7045.78906,7059.27,,131,,,,84.19,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,0.72,0.72,0,350.000640,354.000640,616.000640,224.003210,413,527,469,513.918527,, +D,DREGION,,3,"2023/12/15 03:55:00",1,QLD1,0,99.33024,0,99.33024,0,0,6215.1,4,6023.84,0,-191.26,0,,,45,,,,,,,,45,,,,,,,,45,,,,,,,,25,,,,,,,,123,,,,,,,,141,,,,,,0,9810.89118,125,6213.47266,6217.77,,0,,,,47.81,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,0.72,0.72,0,352,461.333333,207,246,254,377,250,230,, +D,DREGION,,3,"2023/12/15 03:55:00",1,SA1,0,109.36899,0,109.36899,0,0,1170.23,0,672.55,0,-497.68,0,,,58,,,,,,,,65,,,,,,,,57,,,,,,,,126.49,,,,,,,,156.5,,,,,,,,154.81,,,,,,-0.37905,2281.54995,362,1185.42908,1182.24,,10,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,0.72,0.72,0,271,283,268,68.1873,244,252,252,355,, +D,DREGION,,3,"2023/12/15 03:55:00",1,TAS1,0,98.19995,0,98.19995,0,0,1051.4,2,778.4,0,-273,0,,,0,,,,,,,,58.87,,,,,,,,9.84,,,,,,,,124.81,,,,,,,,177.37,,,,,,,,159.06,,,,,,-2.53011,2212.98638,0,1051.93311,1051.4,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,7.15,7.15,0,0.38,0.38,0,0.38,0.38,0,0,0,0,3.5,3.5,0,194.765332,307.702352,186.665991,50.999998,141.680774,306.943654,473.591413,371.257032,, +D,DREGION,,3,"2023/12/15 03:55:00",1,VIC1,0,94.23899,0,94.23899,0,0,3955.55,10,4441.1,0,485.56,0,,,87,,,,,,,,92,,,,,,,,92,,,,,,,,89,,,,,,,,79,,,,,,,,83,,,,,,0,7289.10284,383,3974.55835,3981.22,,19,,,,27,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.39,0.39,0,0.39,0.39,0,11.68,11.68,0,0.38,0.38,0,0.38,0.38,0,0,0,0,0.72,0.72,0,578,534,513,44,378,613,501,489.656250,, +D,DREGION,,3,"2023/12/15 04:00:00",1,NSW1,0,93.91159,0,93.91159,0,0,7053.98,14,7587.87,0,533.89,0,,,109,,,,,,,,127,,,,,,,,113,,,,,,,,95,,,,,,,,83.4,,,,,,,,78,,,,,,-5.97607,11773.873,181,7048.31055,7056.15,,122,,,,85,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0,350.000640,354.000640,616.000640,236.780525,413,527,469,521.380241,, +D,DREGION,,3,"2023/12/15 04:00:00",1,QLD1,0,99.42,0,99.42,0,0,6249.7,1,6049.07,8,-208.63,0,,,47,,,,,,,,47,,,,,,,,47,,,,,,,,26,,,,,,,,122,,,,,,,,121,,,,,,-11.11702,9817.16785,125,6262.7207,6260.82,,0,,,,46,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0,352,461.333333,207,272,254,377,250,222,, +D,DREGION,,3,"2023/12/15 04:00:00",1,SA1,0,109.41321,0,109.41321,0,0,1175.23,1,670.26,0,-504.97,0,,,52,,,,,,,,65,,,,,,,,57,,,,,,,,142.61,,,,,,,,172,,,,,,,,162,,,,,,0.97331,2279.26481,362,1185.51172,1187.61,,10,,,,11,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0,306,312,297,108.903960,246,254,254,357,, +D,DREGION,,3,"2023/12/15 04:00:00",1,TAS1,0,98.38402,0,98.38402,0,0,1063.55,3,787.74,0,-275.81,0,,,0,,,,,,,,121.66,,,,,,,,68.63,,,,,,,,105.53,,,,,,,,158.18,,,,,,,,158.93,,,,,,-1.11468,2202.84432,0,1061.66736,1063.55,,50,,,,50,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.39,0.39,0,7.48,7.48,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,3.5,3.5,0,194.765332,288.509494,167.382601,50.000002,160.367770,326.227044,492.939296,277.288990,, +D,DREGION,,3,"2023/12/15 04:00:00",1,VIC1,0,94.27931,0,94.27931,0,0,3966.59,12,4466.39,0,499.8,0,,,38.23,,,,,,,,31,,,,,,,,31,,,,,,,,95,,,,,,,,84,,,,,,,,99.65,,,,,,-7.45028,7297.39085,383,3990.6355,3993.21,,28,,,,28,,,,,,,,,,,,,,,,,,,0.39,0.39,0,0.5,0.5,0,0.39,0.39,0,11,11,0,0.38,0.38,0,0.38,0.38,0,0.2,0.2,0,0.71,0.71,0,582,533,515,45,339,457,406,420.254882,, +I,DUNIT,,2,SETTLEMENTDATE,RUNNO,DUID,INTERVENTION,DISPATCHMODE,AGCSTATUS,INITIALMW,TOTALCLEARED,RAMPDOWNRATE,RAMPUPRATE,LOWER5MIN,LOWER60SEC,LOWER6SEC,RAISE5MIN,RAISE60SEC,RAISE6SEC,MARGINAL5MINVALUE,MARGINAL60SECVALUE,MARGINAL6SECVALUE,MARGINALVALUE,VIOLATION5MINDEGREE,VIOLATION60SECDEGREE,VIOLATION6SECDEGREE,VIOLATIONDEGREE,LOWERREG,RAISEREG,AVAILABILITY,RAISE6SECFLAGS,RAISE60SECFLAGS,RAISE5MINFLAGS,RAISEREGFLAGS,LOWER6SECFLAGS,LOWER60SECFLAGS,LOWER5MINFLAGS,LOWERREGFLAGS,RAISEREGAVAILABILITY,RAISEREGENABLEMENTMAX,RAISEREGENABLEMENTMIN,LOWERREGAVAILABILITY,LOWERREGENABLEMENTMAX,LOWERREGENABLEMENTMIN +D,DUNIT,,2,"2023/12/14 04:05:00",1,ADPBA1G,0,0,1,0,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ADPBA1L,0,0,1,0,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ADPPV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,AGLHAL,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,AGLSOM,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ANGAST1,0,0,0,-0.1,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,APD01,0,0,0,0,0,0,0,0,0,0,40,30,0,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ARWF1,0,0,0,29.8,29.5549,240,1200,0,0,0,0,0,0,,,,,,,,,0,0,29.5549,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASNAES1,0,0,0,0,0,0,0,6,4,2,2,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASNBRL1,0,0,0,0,0,0,0,0,0,0,6,6,6,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASNENC1,0,0,0,0,0,0,0,0,0,0,17,14,13,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASNSEL2,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASPAPM01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASQEEV1,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASQENC1,0,0,0,0,0,0,0,0,0,0,4,3,3,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASRMGE01,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASRMGE02,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASRMGE03,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASSDE1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASSEL1,0,0,0,0,0,0,0,7,7,7,7,7,7,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASSENC1,0,0,0,0,0,0,0,0,0,0,1,1,1,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASSERDV1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASSSN1,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASTHYD1,0,0,0,0,0,0,0,0,0,0,0,0,58.546,,,,,,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ASVIEL2,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,AVLSF1,0,0,0,0,0,2280,2280,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BALBG1,0,0,1,0,0,6000,6000,0,0,0,30,30,30,,,,,,,,,0,0,30,1,1,1,1,0,0,0,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BALBL1,0,0,1,0,0,6000,6000,28,28,28,0,0,0,,,,,,,,,2,0,30,0,0,0,1,1,1,1,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BALDHWF1,0,0,0,40.814,41.098,540,1800,0,0,0,0,0,0,,,,,,,,,0,0,41.098,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BANGOWF1,0,0,0,120.9955,121.498,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,121.498,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BANGOWF2,0,0,0,74.79767,74.798,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,74.798,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BANN1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BARCALDN,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BARKIPS1,0,0,1,0,0,1836,1836,0,0,0,0,0,0,,,,,,,,,0,0,122,0,0,0,0,0,0,0,0,0,9,9,0,9,9 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BARRON-1,0,4,0,32.8,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BARRON-2,0,4,0,33,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BASTYAN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BBATRYL1,0,0,1,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,50,0,0,0,0,1,1,1,1,0,50,0,50,50,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BBATTERY,0,0,1,-0.16208,0,600,600,0,0,0,0,27,3.96085,,,,,,,,,0,0,50,1,1,0,1,0,0,0,0,50,50,0,0,50,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BBTHREE1,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BBTHREE2,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BBTHREE3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BDL01,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BDL02,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BERYLSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BHBG1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BHBL1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BLOWERNG,0,0,1,62.8,63,120,120,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BLUEGSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BLUFF1,0,0,0,29.3,29.914,600,600,0,0,0,0,0,0,,,,,,,,,0,0,29.914,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BNGSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BNGSF2,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BOCORWF1,0,0,0,107.8,107.83,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,107.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BODWF1,0,0,0,10.38034,10.74,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,10.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BOLIVPS1,0,0,0,0,0,1560,1560,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BOMENSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BOWWBA1G,0,0,0,0,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BOWWBA1L,0,0,0,0.002,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BOWWPV1,0,0,0,0,0,97.38,97.38,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BRAEMAR1,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,179,97,0,179,97 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BRAEMAR2,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,183,97,0,183,97 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BRAEMAR3,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,175,97,0,175,97 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BRAEMAR5,0,0,0,0.19135,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BRAEMAR6,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BRAEMAR7,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BROKENH1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BRYB1WF1,0,0,0,80.16785,79.106,2160,2160,0,0,0,0,0,0,,,,,,,,,0,0,79.106,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BRYB2WF2,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BULBESG1,0,0,1,0,0,240,240,0,0,0,11,11,11,,,,,,,,,0,0,20,1,1,1,1,0,0,0,0,20,20,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BULBESL1,0,0,1,0.03,3,240,240,0,0,0,0,0,0,,,,,,,,,0,0,20,0,0,0,0,1,1,1,1,0,0,0,20,20,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BULGANA1,0,0,0,53.07,50.10934,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,50.10934,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BW01,0,0,1,545.87012,553.37984,180,210.12,0,0,0,0,0,0,,,,,,,,,1.0001,10,660,0,0,0,1,0,0,0,1,17.50973,660,331.14557,17.50973,660,331.14557 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BW02,0,0,1,559.93286,569.94507,180,240,0,0,0,0,0,0,,,,,,,,,5,10,650,0,0,0,1,0,0,0,1,20.01221,649.992,333.9906,20.01221,649.992,333.9906 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BW03,0,0,1,561.34888,571.36108,180,240,0,0,0,0,0,0,,,,,,,,,5,10,685,0,0,0,1,0,0,0,1,20.01221,685,331.72464,20.01221,685,331.72464 +D,DUNIT,,2,"2023/12/14 04:05:00",1,BW04,0,0,1,550.63098,570.63098,180,240,0,0,0,0,0,0,,,,,,,,,5,15,670,0,0,0,1,0,0,0,1,75,670,330,20.01221,670,330 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CALL_B_1,0,0,1,258.80002,260,240,240,0,0,0,0,0,0,,,,,,,,,0,0,260,1,1,1,0,1,1,1,0,0,260,210,0,260,210 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CALL_B_2,0,0,1,318.89999,320,240,240,0,0,0,0,0,0,,,,,,,,,0,0,350,1,1,1,0,1,1,1,0,0,350,280,0,350,280 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CAPBES1G,0,0,0,0,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CAPBES1L,0,0,0,0.17,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CATHROCK,0,0,0,24.4,23.592,840,840,0,0,0,0,0,0,,,,,,,,,0,0,23.592,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CBWWBA1G,0,0,0,0,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CBWWBA1L,0,0,0,0.003,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CETHANA,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,100,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CG1,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CG2,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CG3,0,4,0,151.51019,152,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CG4,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CHBESSG1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CHBESSL1,0,0,1,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CHILDSF1,0,0,0,0,0,11520,11520,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CHYTWF1,0,0,0,16.7,16.44,720,720,0,0,0,0,0,0,,,,,,,,,0,0,16.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CLARESF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CLEMGPWF,0,0,0,23.33934,7.05708,660,660,0,0,0,0,0,0,,,,,,,,,0,0,21.31465,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CLERMSF1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CNUNDAWF,0,0,0,20.22359,19.523,600,600,0,0,0,0,0,0,,,,,,,,,0,0,19.523,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,COHUNSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,COLEASF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,COLUMSF1,0,0,0,0.56314,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,COLWF01,0,0,0,125.60311,128.44289,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,128.44289,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,COOPGWF1,0,0,0,215.85001,218.09,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,218.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CPP_3,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CPP_4,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CPSA,0,0,0,0,0,179.18,1.55,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CROOKWF2,0,0,0,59.85503,59.574,1200,6000,0,0,0,0,0,0,,,,,,,,,0,0,59.574,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CROWLWF1,0,0,0,22.1225,19.36682,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,19.36682,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CRURWF1,0,0,0,33.99596,33.899,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,33.899,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CRWASF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CSPVPS1,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,CTHLWF1,0,0,0,22.39109,21.09748,1740,1740,0,0,0,0,0,0,,,,,,,,,0,0,21.09748,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DALNTH01,0,0,0,0,0,6000,6000,0,0,0,5,24,23,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DALNTHL1,0,0,1,0.00763,0,6000,6000,0,7,7,0,0,0,,,,,,,,,0,0,7,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DARLSF1,0,0,0,0,0,3300,3300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DARTM1,0,0,0,0,0,3600,3600,0,0,0,0,0,0,,,,,,,,,0,0,177,0,0,0,0,0,0,0,0,0,1,1,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DAYDSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DDPS1,0,0,1,254.14905,255,600,600,0,0,0,0,0,0,,,,,,,,,0,0,458,0,0,0,0,0,0,0,0,0,320.59454,228,0,320.59454,228 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DDSF1,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DEVILS_G,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,64,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DG_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DG_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DG_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DG_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DG_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DPNTBG1,0,0,1,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,25,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DPNTBL1,0,0,1,0.07028,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,24.99945,0,0,24.99945,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRACAN1,0,0,0,0,0,0,0,0,0,0,1,1,0,,,,,,,,,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRAESN1,0,0,0,0,0,0,0,1,1,1,1,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DREXMN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRFIIN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRGBND02,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRSHVN01,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRSHVS01,0,0,0,0,0,0,0,0,3,0,2,2,0,,,,,,,,,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRVIOT01,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRVIOT02,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRVIOT03,0,0,0,0,0,0,0,0,0,0,2,1,1,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRVIOT04,0,0,0,0,0,0,0,0,0,0,13,12,12,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRVIOT05,0,0,0,0,0,0,0,0,0,0,3,3,3,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXNDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXNDA02,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXNDA03,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXNDA04,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXNDE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXNQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXQDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXQQE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXSQS01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXVDJ01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXVDP01,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXVDX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXVQP01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXVQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRXVQX02,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRYCGT1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRYCGT2,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DRYCGT3,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DULAWF1,0,0,0,127,126.4,2100,2100,0,0,0,0,0,0,,,,,,,,,0,0,126.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DUNDWF1,0,0,0,134.19,134.936,2040,2040,0,0,0,0,0,0,,,,,,,,,0,0,134.936,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DUNDWF2,0,0,0,32.4,31.753,600,600,0,0,0,0,0,0,,,,,,,,,0,0,31.753,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,DUNDWF3,0,0,0,93.36,92.021,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,92.021,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,EDENVSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,EILDON1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,EILDON2,0,0,0,0.04,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ELAINWF1,0,0,0,44.53,44.68948,960,960,0,0,0,0,0,0,,,,,,,,,0,0,44.68948,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,EMERASF1,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ER01,0,0,1,381.17038,356.26003,298.92,300,0,6.26003,0,0,0,0,,,,,,,,,0,5,700,1,1,1,1,1,1,1,1,25,699.99847,350,24.91035,699.99847,350 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ER02,0,0,1,210.53789,210,300,300,0,0,0,0,0,0,,,,,,,,,0,0,210,0,0,0,0,0,0,0,0,0,700,210.51347,0,700,210.51347 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ER03,0,0,1,382.00046,357.25795,296.91,297.46,0,7.25795,0,0,0,0,,,,,,,,,0,5,640,1,1,1,1,1,1,1,1,24.78828,639.45068,350,24.7425,639.45068,350 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ER04,0,0,1,351.82422,352,297.83,298.92,0,0,0,0,0,0,,,,,,,,,2,5,650,1,1,1,1,1,1,1,1,24.91035,650,350,24.8188,650,350 +D,DUNIT,,2,"2023/12/14 04:05:00",1,FINLYSF1,0,0,0,0,0,180,1620,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,FISHER,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,FLYCRKWF,0,0,0,2.72,2.79,1680,1680,0,0,0,0,0,0,,,,,,,,,0,0,2.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GANGARR1,0,0,0,0,0,1440,1440,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GANNBG1,0,0,1,0,0,300,300,0,0,0,10,10,10,,,,,,,,,0,7,25,1,1,1,1,0,0,0,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GANNBL1,0,0,1,0.61623,0,300,300,0,0,0,0,0,0,,,,,,,,,24.9999,0,25,0,0,0,1,1,1,1,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GANNSF1,0,0,0,0,0,3000,3000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GLENSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GLRWNSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GNNDHSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GOONSF1,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GORDON,0,0,1,12.14008,12,1800,1800,0,0,0,58,72,41,,,,,,,,,0,50,345,1,1,1,1,1,1,1,1,119,120,1,138,120,12 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GRANWF1,0,0,0,100.62,99.58792,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,99.58792,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GSTONE1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GSTONE2,0,0,1,111.36426,111,290.13,290.13,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GSTONE3,0,0,1,111.72656,111,287.33,287.33,0,0,0,0,0,0,,,,,,,,,0,5,280,0,0,0,1,0,0,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GSTONE4,0,0,1,111.47363,111,287.84,287.84,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GSTONE5,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GSTONE6,0,0,1,200.51855,200,295.36,295.36,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,280,190,20,280,190 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GSWF1A,0,0,0,0,0,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GSWF1B1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GULLRSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GULLRWF1,0,0,0,135.93294,133.75572,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,133.75572,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GULLRWF2,0,0,0,92.70259,94.80166,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,94.80166,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GUNNING1,0,0,0,0.00034,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,GUTHEGA,0,0,1,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,34,10,0,34,10 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HALLWF1,0,0,0,26.63,25,600,600,0,0,0,0,0,0,,,,,,,,,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HALLWF2,0,0,0,33.19,33.04,600,600,0,0,0,0,0,0,,,,,,,,,0,0,33.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HAMISF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HAUGHT11,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HAYMSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HBESSG1,0,0,1,0,0,1800,1800,0,0,0,2,6,31,,,,,,,,,0,0,7,1,1,1,1,0,0,0,1,7,150,0,7,150,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HBESSL1,0,0,1,1.9,0,1800,1800,61,76,61,0,0,0,,,,,,,,,0,0,114,0,0,0,1,1,1,1,1,113,150,0,113,150,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HDWF1,0,0,1,78.4,71.9822,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,79.87,0,0,0,0,0,0,0,0,0,79.87,15,0,79.87,15 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HDWF2,0,0,1,63.2,67.71,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,67.71,0,0,0,0,0,1,1,0,0,67.1,15,0,67.1,15 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HDWF3,0,0,1,72.2,76.92215,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,79.93,0,0,0,0,0,0,0,0,0,76.2,15,0,76.2,15 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HEZ1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HILLSTN1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HPRG1,0,0,1,0,0,960,960,0,0,0,85,85,85,,,,,,,,,0,0,50,1,1,1,1,0,0,0,1,60,60,0,50,60,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HPRL1,0,0,1,3.8,8,960,960,0,27,0,0,0,0,,,,,,,,,0,0,75,0,0,0,1,1,1,1,1,75,75,0,75,75,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HUMENSW,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HUMEV,0,0,0,14.5,14,120,120,0,0,0,0,0,0,,,,,,,,,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HVWWBA1G,0,0,0,0,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HVWWBA1L,0,0,0,0.003,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,HVWWPV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,JBUTTERS,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,142,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,JEMALNG1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,JLA01,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,JLA02,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,JLA03,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,JLA04,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,JLB01,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,JLB02,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,JLB03,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,JUNEESF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KABANWF1,0,0,0,87.301,88.298,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,88.298,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KAREEYA1,0,4,1,21.5225,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KAREEYA2,0,4,1,21.5625,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KAREEYA3,0,4,1,21.525,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,4,0,0,0,0,16,21,5,8,21,5 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KAREEYA4,0,4,1,21.5225,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KARSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KEPBG1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KEPBL1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KEPSF1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KEPWF1,0,0,0,30.17,30,480,480,0,0,0,0,0,0,,,,,,,,,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KIAMSF1,0,0,0,0,0,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KIATAWF1,0,0,0,25.4,23.9,180,420,0,0,0,0,0,0,,,,,,,,,0,0,23.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KPP_1,0,0,1,755.13818,761,479.9,479.9,0,0,0,0,0,0,,,,,,,,,0,0,761,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,KSP1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LADBROK1,0,0,0,-0.01,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LADBROK2,0,0,0,0.02,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LBBG1,0,0,1,0,0,300,300,0,0,0,13,0,13,,,,,,,,,0,11,24,1,1,1,1,0,0,0,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LBBL1,0,0,1,0.3,0,300,300,13,0,13,0,0,0,,,,,,,,,11,0,24,0,0,0,1,1,1,1,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LEM_WIL,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LGAPWF1,0,0,0,33.15,33.51,600,600,0,0,0,0,0,0,,,,,,,,,0,0,33.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LGAPWF2,0,0,0,23.86,24.315,600,600,0,0,0,0,0,0,,,,,,,,,0,0,24.315,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LILYSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LIMOSF11,0,0,0,0,0,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LIMOSF21,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LI_WY_CA,0,0,1,46.10146,53,1680,1680,0,0,0,12.78378,0,0,,,,,,,,,0,0,182,1,1,1,0,1,1,1,0,0,71,1,0,71,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LKBONNY1,0,0,0,28.04316,26.882,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,26.882,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LKBONNY2,0,0,0,55.38816,54.925,1920,1920,0,0,0,0,0,0,,,,,,,,,0,0,54.925,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LKBONNY3,0,0,0,11.8901,11.499,480,480,0,0,0,0,0,0,,,,,,,,,0,0,11.499,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LK_ECHO,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LNGS1,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LNGS2,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LONSDALE,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,19,0,0,0,0,0,0,0,0,0,0,5,0,0,5 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LOYYB1,0,0,1,567.66833,570,600,600,0,0,0,0,0,0,,,,,,,,,0,0,570,1,1,1,1,1,1,1,1,50.15625,570,319.5,50.15625,570,319.5 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LOYYB2,0,0,1,569.92407,570,600,600,0,0,0,0,0,0,,,,,,,,,0,0,570,1,1,1,1,1,1,1,1,50.15625,570,350.625,50.15625,570,350.625 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LYA1,0,0,1,515,510,300,300,5,10,5,0,0,0,,,,,,,,,15,0,520,1,1,1,1,1,1,1,1,25,520,300,25,520,300 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LYA2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,204,300,0,204,300 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LYA3,0,0,1,557,560,300,300,5,10,5,0,0,0,,,,,,,,,15,0,560,1,1,1,1,1,1,1,1,25,560,300,25,560,300 +D,DUNIT,,2,"2023/12/14 04:05:00",1,LYA4,0,0,1,547,550,300,300,5,10,6.83366,0,0,0,,,,,,,,,15,0,550,1,1,1,1,1,1,1,1,25,550,300,25,550,300 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MACARTH1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MACKNTSH,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,88,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MANNSF2,0,0,0,0,0,240,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MANSLR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MAPS2PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MAPS3PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MARYRSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MBPS2PV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MCKAY1,0,0,0,0.02,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,300,0,0,0,0,1,1,0,0,299,300,19.95,300,300,19.95 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MEADOWBK,0,0,1,29.98042,30,480,60,0,0,0,0,0,0,,,,,,,,,0,0,44,1,1,0,0,1,1,0,0,0,42,4.5,0,42,8 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MERCER01,0,0,0,39.4,37.5,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,37.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,METZSF1,0,0,0,0,0,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MEWF1,0,0,0,169.24672,165.42813,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,165.42813,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MIDDLSF1,0,0,0,0.05,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MINTARO,0,0,0,0.08545,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MOLNGSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MOORAWF1,0,0,0,0,0,3660,3660,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MOREESF1,0,0,0,0,0,180,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MORTLK11,0,4,1,269,204,780,780,0,0,0,0,0,0,,,,,,,,,0,0,115,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MORTLK12,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,269,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MOUSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MP1,0,0,1,348.13763,363.13763,180,180,0,68.35072,40,0,20,0,,,,,,,,,0,20,730,1,1,1,1,1,1,1,1,60,514.74176,246.15854,60,514.74176,246.15854 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MP2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,25.00191,700,220,25.00191,700,220 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MPP_1,0,0,1,425.38351,426,299.94,299.94,0,0,0,0,0,0,,,,,,,,,0,0,426,0,0,0,0,0,0,0,0,0,425.9939,350,0,425.9939,350 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MPP_2,0,0,1,403.88315,405,119.94,119.94,0,0,0,0,0,0,,,,,,,,,0,0,405,0,0,0,0,0,0,0,0,0,404.9971,350,0,404.9971,350 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MRTLSWF1,0,0,0,0,0,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MSTUART1,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,138,43,0,138,43 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MSTUART2,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,144,43,0,144,43 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MSTUART3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MTGELWF1,0,0,0,99.77111,100,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MTMILLAR,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,25.403,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MURRAY,0,0,1,0,0,6000,9000,0,0,0,0,0,0,,,,,,,,,0,0,915,0,0,0,4,0,0,4,4,10,886,105,10,886,105 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MUSSELR1,0,0,0,90.7,87.4,10080,9000,0,0,0,0,0,0,,,,,,,,,0,0,87.4,0,0,0,0,0,0,0,0,0,87.4,50,0,87.4,50 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MUWAWF1,0,0,0,97.75,94.46,2700,1380,0,0,0,0,0,0,,,,,,,,,0,0,94.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MUWAWF2,0,0,0,119.5,108.61318,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,108.61318,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MWPS1PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MWPS2PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MWPS3PV1,0,0,1,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,MWPS4PV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,NBHWF1,0,0,0,62,63.1,600,600,0,0,0,0,0,0,,,,,,,,,0,0,63.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,NEVERSF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,NEWENSF1,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,NEWENSF2,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,NPS,0,0,0,0,0,6.75,6.75,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,NUMURSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,NYNGAN1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,OAKEY1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,172.99594,40,0,172.99594,40 +D,DUNIT,,2,"2023/12/14 04:05:00",1,OAKEY1SF,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,OAKEY2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,170,40,0,170,40 +D,DUNIT,,2,"2023/12/14 04:05:00",1,OAKEY2SF,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,OAKLAND1,0,0,0,30.7,31.8,600,600,0,0,0,0,0,0,,,,,,,,,0,0,31.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,OSB-AG,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,180.94,145,0,180.94,145 +D,DUNIT,,2,"2023/12/14 04:05:00",1,PAREPS1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,PAREPW1,0,0,0,58.3,69.887,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,69.887,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,PARSF1,0,0,0,0.00153,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,PIBESSG1,0,0,1,0,0,60,60,0,0,0,0,1,2,,,,,,,,,0,0,1,1,1,0,1,0,0,0,1,1,4.303,0,1,4.303,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,PIBESSL1,0,0,1,0.126,0,60,60,0,0,0,0,0,0,,,,,,,,,4,0,4,0,0,0,1,1,1,1,1,4,4.303,0,4,4.303,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,POAT110,0,0,1,81.62337,98,960,960,0,0,0,0,0,0,,,,,,,,,46.87805,0,113,0,3,3,3,1,1,1,1,57,98,5,62,113.5,5 +D,DUNIT,,2,"2023/12/14 04:05:00",1,POAT220,0,0,1,119.31008,120,960,1200,0,0,0,0,0.71795,0,,,,,,,,,3.12195,0,120,0,1,1,1,1,1,1,1,57,120,0,61,121,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,POR01,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,POR03,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,PPCCGT,0,0,1,165.49889,167,540,540,0,0,0,0,0,0,,,,,,,,,0,0,241,1,1,0,1,1,1,0,1,49.85147,241,165,49.85147,241,165 +D,DUNIT,,2,"2023/12/14 04:05:00",1,PTSTAN1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,PUMP1,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,PUMP2,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,QBYNBG1,0,0,1,0.32649,0,120,120,0,0,0,5,5,5,,,,,,,,,0,5,10,1,1,1,1,0,0,0,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,QBYNBL1,0,0,1,0,0,120,120,5,5,5,0,0,0,,,,,,,,,5,0,10,0,0,0,1,1,1,1,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,QPS1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,QPS2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,QPS3,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,QPS4,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,QPS5,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,127,74,0,127,74 +D,DUNIT,,2,"2023/12/14 04:05:00",1,REECE1,0,0,0,0,0,60,60,0,0,0,0,23,22,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,REECE2,0,0,0,0,0,60,60,0,0,0,0,55,20,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RESS1G,0,0,1,0,0,720,720,0,0,0,34,34,34,,,,,,,,,0,0,59,1,1,1,1,0,0,0,1,59,59.99872,0,59,59.99872,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RESS1L,0,0,1,6.22528,5,720,720,0,34,34,0,0,0,,,,,,,,,0,0,59,0,0,0,0,1,1,1,1,0,59.99988,0,59,59.99988,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RIVNBG2,0,0,1,0.14505,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RIVNBL2,0,0,1,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ROMA_7,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,ROMA_8,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RRSF1,0,0,0,0,0,41760,41760,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_NSW2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_NSW3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_NSW4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_NSW5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_NSW6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_SA2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_SA3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_SA4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_SA5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_SA6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC10,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC11,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC12,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC7,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC8,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RT_VIC9,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RUGBYR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,RYEPARK1,0,0,0,92.94987,92.279,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,92.279,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SALTCRK1,0,0,0,26.77,26.364,660,660,0,0,0,0,0,0,,,,,,,,,0,0,26.364,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SAPHWF1,0,0,0,91.5404,92.126,3240,3240,0,0,0,0,0,0,,,,,,,,,0,0,92.126,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SEBSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SHGEN,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SHPUMP,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SITHE01,0,0,0,0.14381,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SMCSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SNAPPER1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SNOWNTH1,0,0,0,57.3,55.2,540,300,0,0,0,0,0,0,,,,,,,,,0,0,55.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SNOWSTH1,0,0,0,70,73.75555,480,240,0,0,0,0,0,0,,,,,,,,,0,0,73.75555,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SNOWTWN1,0,0,0,67.97825,66.47,1200,600,0,0,0,0,0,0,,,,,,,,,0,0,66.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SNOWYGJP,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SNOWYP,0,0,0,0,0,6000,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SNUG1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SRSF1,0,0,0,0,0,15300,15300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,STAN-1,0,0,0,185.93501,185,180,179.96,0,0,0,0,0,0,,,,,,,,,0,0,365,0,0,0,0,0,0,0,0,0,364.99966,185,0,364.99966,185 +D,DUNIT,,2,"2023/12/14 04:05:00",1,STAN-2,0,0,1,197.52229,200,239.95,239.69,0,0,0,0,10,10,,,,,,,,,0,6,365,1,1,0,1,1,1,1,1,15,360,170.00249,15,361.89777,170.00249 +D,DUNIT,,2,"2023/12/14 04:05:00",1,STAN-3,0,0,1,159.15863,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,6,270,1,1,0,1,1,1,1,1,14.99679,260.27826,150,14.99679,260.27826,150 +D,DUNIT,,2,"2023/12/14 04:05:00",1,STAN-4,0,0,1,158.95354,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,3,270,1,1,0,1,1,1,1,1,14.99679,265.2131,156.42844,14.99679,265.2131,156.42844 +D,DUNIT,,2,"2023/12/14 04:05:00",1,STARHLWF,0,0,0,19.99417,19.99417,0,420,0,0,0,0,0,0,,,,,,,,,0,0,19.99417,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,STOCKYD1,0,0,0,165.72,163.7,6120,6120,0,0,0,0,0,0,,,,,,,,,0,0,163.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,STWF1,0,0,0,56.97047,57.498,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,57.498,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SUNRSF1,0,0,0,0,0,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SUNTPSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,SWAN_E,0,0,0,-0.58,0,903.66,1.97,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0.16406,355,95,75.30469,355,95 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TALWA1,0,0,1,191,190,480,480,0,0,0,0,0,0,,,,,,,,,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TALWB1,0,0,0,0,0,1560,1560,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TARALGA1,0,0,0,0,0,180,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TARONG#1,0,0,1,269.70001,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TARONG#2,0,0,1,268.80002,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TARONG#3,0,0,1,269.10001,270,240,240,0,0,0,0,10,10,,,,,,,,,0,4,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TARONG#4,0,0,1,267.5,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TARRALEA,0,0,0,67.9,67.9,0,0,0,0,0,0,0,0,,,,,,,,,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TB2BG1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TB2BL1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TB2SF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TBSF1,0,0,0,0,0,1140,1140,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TIBG1,0,0,1,0,0,3000,3000,0,0,0,20,20,20,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TIBL1,0,0,1,1.35,0,3000,3000,20,20,20,0,0,0,,,,,,,,,20,0,250,0,0,0,1,1,1,1,1,250,250,0,250,250,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TNPS1,0,0,1,440.5,443,240,240,0,0,0,0,0,0,,,,,,,,,0,0,443,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TORRB1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,40,40,0,40,40 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TORRB2,0,0,1,40,40,300,300,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,200,40,0,200,40 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TORRB3,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,200,40,0,200,40 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TORRB4,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,40 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TREVALLN,0,0,0,0,5,60,60,0,0,0,0,0,0,,,,,,,,,0,0,99,0,0,4,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TRIBUTE,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TUMUT3,0,0,1,0,0,6000,21600,0,0,0,10,0,0,,,,,,,,,0,0,1500,0,0,1,4,0,0,0,4,10,1250,120,20,1250,120 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TUNGATIN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,84,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TVCC201,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,TVPP104,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,UPPTUMUT,0,0,1,150.63417,156.90988,1200,1800,20,0,0,0,0,0,,,,,,,,,10,12,642,0,0,1,1,0,0,1,1,12,642,100,20,642,80 +D,DUNIT,,2,"2023/12/14 04:05:00",1,URANQ11,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,URANQ12,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,URANQ13,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,URANQ14,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VBBG1,0,0,1,0,0,3600,3600,0,0,0,12.16595,17.7889,42,,,,,,,,,0,7,45,1,1,1,1,0,0,0,1,45,45,0,45,45,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VBBL1,0,0,1,0,0,3000,3000,0,0,0,0,0,0,,,,,,,,,0,0,240,0,0,0,1,1,1,1,1,150,240,0,150,240,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VENUS1,0,0,0,0,0,0,0,0,0,0,11,8,7,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VP5,0,0,1,382.65329,412.65329,360,360,0,0,0,0,0,0,,,,,,,,,0,0,660,1,1,1,1,1,1,1,1,30.12177,654.46332,250,30.12177,654.46332,250 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VP6,0,0,1,383.60547,413.60547,360,360,0,0,0,0,0,0,,,,,,,,,0,0,660,1,1,1,1,1,1,1,1,30.12177,528.14111,250,30.12177,528.14111,250 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VPGS1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VPGS2,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VPGS3,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VPGS4,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VPGS5,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VPGS6,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VSNEL2S1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VSNSN1V1,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VSQHT1V1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VSSAE1V1,0,0,0,0,0,0,0,3,3,0,2,2,0,,,,,,,,,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VSSEL1V1,0,0,0,0,0,0,0,6,6,6,6,6,6,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VSSSE1V1,0,0,0,0,0,0,0,0,2,2,2,2,2,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VSSSH1S1,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,VSVEL2S1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,W/HOE#1,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,265,0,0,0,0,0,0,0,0,125,45,160,62,45,160 +D,DUNIT,,2,"2023/12/14 04:05:00",1,W/HOE#2,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,265,0,0,0,0,0,0,0,0,125,45,160,62,45,160 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WAGGNSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WALGRVG1,0,0,1,0,0,600,600,0,0,0,27,0,27,,,,,,,,,0,0,50,1,1,1,1,0,0,0,1,50,50,0,50,50,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WALGRVL1,0,0,1,0.03258,0,600,600,27,0,27,0,0,0,,,,,,,,,20,0,47,0,0,0,1,1,1,1,1,47,47,0,47,47,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WANDBG1,0,0,1,0.92875,0,1200,1200,0,0,0,47,47,47,,,,,,,,,0,0,94,1,1,1,1,0,0,0,0,70,94,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WANDBL1,0,0,1,0,0,1200,1200,47,47,47,0,0,0,,,,,,,,,0,0,75,0,0,0,1,1,1,1,1,30,75,0,72,75,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WANDSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WARWSF1,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WARWSF2,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WATERLWF,0,0,0,17.9,91.74202,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,116.73956,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WDGPH1,0,0,0,0,0,4800,4800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,59 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WELLSF1,0,0,0,0,0,2040,2040,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WEMENSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WGWF1,0,0,0,100.6,50.6,600,600,0,0,0,0,0,0,,,,,,,,,0,0,100.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WHITSF1,0,0,0,0,0.22603,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0.22603,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WINTSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WKIEWA1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,1,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WKIEWA2,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,1,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WOODLWN1,0,0,0,34.27347,34.159,600,600,0,0,0,0,0,0,,,,,,,,,0,0,34.159,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WOOLGSF1,0,0,0,0,0,2112,2112,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WPWF,0,0,0,16.76,19.203,600,600,0,0,0,0,0,0,,,,,,,,,0,0,19.203,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WRSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WRWF1,0,0,0,10.80766,11.406,2100,2100,0,0,0,0,0,0,,,,,,,,,0,0,11.406,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WSTWYSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,WYASF1,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,YABULU,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,YABULU2,0,0,0,0,0,480,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,YARANSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,YARWUN_1,0,0,0,116.93,116.93,0,0,0,0,0,0,0,0,,,,,,,,,0,0,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,YATSF1,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,YENDWF1,0,0,0,39.08,36.97108,1680,1680,0,0,0,0,0,0,,,,,,,,,0,0,36.97108,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:05:00",1,YWPS1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,365,250,0,365,250 +D,DUNIT,,2,"2023/12/14 04:05:00",1,YWPS2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,15,365,250,15,365,250 +D,DUNIT,,2,"2023/12/14 04:05:00",1,YWPS3,0,0,1,358.82404,360,180,180,0,0,0,0,0,0,,,,,,,,,0,0,360,1,1,0,1,1,1,1,1,15,360,280,15,360,280 +D,DUNIT,,2,"2023/12/14 04:05:00",1,YWPS4,0,0,1,349.79114,350,180,180,0,0,0,0,0,0,,,,,,,,,0,0,350,1,1,0,1,1,1,1,1,15,350,280,20,350,280 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ADPBA1G,0,0,1,0,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ADPBA1L,0,0,1,0,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ADPPV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,AGLHAL,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,AGLSOM,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ANGAST1,0,0,0,-0.1,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,APD01,0,0,0,0,0,0,0,0,0,0,40,30,0,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ARWF1,0,0,0,29.2,28.54396,240,1200,0,0,0,0,0,0,,,,,,,,,0,0,28.54396,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASNAES1,0,0,0,0,0,0,0,6,4,2,2,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASNBRL1,0,0,0,0,0,0,0,0,0,0,6,6,6,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASNENC1,0,0,0,0,0,0,0,0,0,0,17,14,13,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASNSEL2,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASPAPM01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASQEEV1,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASQENC1,0,0,0,0,0,0,0,0,0,0,4,3,3,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASRMGE01,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASRMGE02,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASRMGE03,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASSDE1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASSEL1,0,0,0,0,0,0,0,8,8,8,8,8,8,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASSENC1,0,0,0,0,0,0,0,0,0,0,1,1,1,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASSERDV1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASSSN1,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASTHYD1,0,0,0,0,0,0,0,0,0,0,0,0,58.33,,,,,,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ASVIEL2,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,AVLSF1,0,0,0,0,0,2280,2280,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BALBG1,0,0,1,0,0,6000,6000,0,0,0,30,30,30,,,,,,,,,0,0,30,1,1,1,1,0,0,0,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BALBL1,0,0,1,0,0,6000,6000,28,28,28,0,0,0,,,,,,,,,2,0,30,0,0,0,1,1,1,1,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BALDHWF1,0,0,0,42.469,42.73,540,1800,0,0,0,0,0,0,,,,,,,,,0,0,42.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BANGOWF1,0,0,0,119.29626,118.798,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,118.798,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BANGOWF2,0,0,0,77.19974,75.799,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,75.799,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BANN1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BARCALDN,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BARKIPS1,0,0,1,0,0,1836,1836,0,0,0,0,0,0,,,,,,,,,0,0,122,0,0,0,0,0,0,0,0,0,9,9,0,9,9 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BARRON-1,0,4,0,32.8,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BARRON-2,0,4,0,33,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BASTYAN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BBATRYL1,0,0,1,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,50,0,0,0,0,1,1,1,1,0,50,0,50,50,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BBATTERY,0,0,1,2.07978,0,600,600,0,0,0,0,4.35039,0,,,,,,,,,0,0,50,1,1,0,1,0,0,0,0,50,50,0,0,50,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BBTHREE1,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BBTHREE2,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BBTHREE3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BDL01,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BDL02,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BERYLSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BHBG1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BHBL1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BLOWERNG,0,0,1,62.8,63,120,120,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BLUEGSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BLUFF1,0,0,0,25.8,34.119,600,600,0,0,0,0,0,0,,,,,,,,,0,0,34.119,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BNGSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BNGSF2,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BOCORWF1,0,0,0,107.8,107.4,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,107.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BODWF1,0,0,0,10.60222,11.05,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,11.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BOLIVPS1,0,0,0,0,0,1560,1560,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BOMENSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BOWWBA1G,0,0,0,0,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BOWWBA1L,0,0,0,0.003,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BOWWPV1,0,0,0,0,0,97.38,97.38,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BRAEMAR1,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,179,97,0,179,97 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BRAEMAR2,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,183,97,0,183,97 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BRAEMAR3,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,175,97,0,175,97 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BRAEMAR5,0,0,0,0.19135,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BRAEMAR6,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BRAEMAR7,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BROKENH1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BRYB1WF1,0,0,0,103.27001,110.924,2160,2160,0,0,0,0,0,0,,,,,,,,,0,0,110.924,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BRYB2WF2,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BULBESG1,0,0,1,0,0,240,240,0,0,0,11,11,11,,,,,,,,,0,1,20,1,1,1,1,0,0,0,0,20,20,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BULBESL1,0,0,1,2.12,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,20,0,0,0,0,1,1,1,1,0,0,0,20,20,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BULGANA1,0,0,0,43,43.31092,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,43.31092,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BW01,0,0,1,561.17798,568.68771,180,210.12,0,0,0,0,0,0,,,,,,,,,0,10,660,0,0,0,1,0,0,0,1,17.50973,660,331.90088,17.50973,660,331.90088 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BW02,0,0,1,579.75739,589.76959,180,240,0,0,0,0,0,0,,,,,,,,,0,10,650,0,0,0,1,0,0,0,1,20.01221,649.992,330,20.01221,649.992,330 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BW03,0,0,1,579.46442,589.47662,180,240,0,0,0,0,0,0,,,,,,,,,0,10,685,0,0,0,1,0,0,0,1,20.01221,685,332.00162,20.01221,685,332.00162 +D,DUNIT,,2,"2023/12/14 04:10:00",1,BW04,0,0,1,571.09027,581.10248,180,240,0,0,0,0,0,0,,,,,,,,,0,10,670,0,0,0,1,0,0,0,1,20.01221,670,330,20.01221,670,330 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CALL_B_1,0,0,1,259.89999,260,240,240,0,0,0,0,0,0,,,,,,,,,0,0,260,1,1,1,0,1,1,1,0,0,260,210,0,260,210 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CALL_B_2,0,0,1,321.80002,320,240,240,0,0,0,0,0,0,,,,,,,,,0,0,350,1,1,1,0,1,1,1,0,0,350,280,0,350,280 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CAPBES1G,0,0,0,0,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CAPBES1L,0,0,0,0.18,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CATHROCK,0,0,0,23.6,26.747,840,840,0,0,0,0,0,0,,,,,,,,,0,0,26.747,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CBWWBA1G,0,0,0,0,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CBWWBA1L,0,0,0,0.003,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CETHANA,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,100,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CG1,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CG2,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CG3,0,4,0,151.88739,152,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CG4,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CHBESSG1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CHBESSL1,0,0,1,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CHILDSF1,0,0,0,0,0,11520,11520,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CHYTWF1,0,0,0,16.04,16.15,720,720,0,0,0,0,0,0,,,,,,,,,0,0,16.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CLARESF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CLEMGPWF,0,0,0,5.97891,20.216,660,660,0,0,0,0,0,0,,,,,,,,,0,0,20.216,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CLERMSF1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CNUNDAWF,0,0,0,19.92324,19.122,600,600,0,0,0,0,0,0,,,,,,,,,0,0,19.122,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,COHUNSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,COLEASF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,COLUMSF1,0,0,0,0.56314,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,COLWF01,0,0,0,117.1725,111.88569,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,111.88569,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,COOPGWF1,0,0,0,219.17,218.66,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,218.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CPP_3,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CPP_4,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CPSA,0,0,0,0,0,179.18,1.55,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CROOKWF2,0,0,0,61.50424,60.673,1200,6000,0,0,0,0,0,0,,,,,,,,,0,0,60.673,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CROWLWF1,0,0,0,19.1488,18.11888,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,18.11888,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CRURWF1,0,0,0,25.49973,26.898,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,26.898,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CRWASF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CSPVPS1,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,CTHLWF1,0,0,0,15.90906,15.04997,1740,1740,0,0,0,0,0,0,,,,,,,,,0,0,15.04997,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DALNTH01,0,0,0,0,0,6000,6000,0,0,0,5,24,23,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DALNTHL1,0,0,1,0.00763,0,6000,6000,7,7,7,0,0,0,,,,,,,,,0,0,7,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DARLSF1,0,0,0,0,0,3300,3300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DARTM1,0,0,0,0,0,3600,3600,0,0,0,0,0,0,,,,,,,,,0,0,177,0,0,0,0,0,0,0,0,0,1,1,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DAYDSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DDPS1,0,0,1,260.37854,310.37854,600,600,0,0,0,0,0,0,,,,,,,,,0,0,458,0,0,0,0,0,0,0,0,0,322.43176,228,0,322.43176,228 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DDSF1,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DEVILS_G,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,64,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DG_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DG_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DG_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DG_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DG_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DPNTBG1,0,0,1,0.05234,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,25,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DPNTBL1,0,0,1,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,24.99945,0,0,24.99945,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRACAN1,0,0,0,0,0,0,0,0,0,0,1,1,0,,,,,,,,,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRAESN1,0,0,0,0,0,0,0,1,1,1,1,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DREXMN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRFIIN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRGBND02,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRSHVN01,0,0,0,0,0,0,0,1,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRSHVS01,0,0,0,0,0,0,0,0,3,0,2,2,0,,,,,,,,,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRVIOT01,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRVIOT02,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRVIOT03,0,0,0,0,0,0,0,0,0,0,2,1,1,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRVIOT04,0,0,0,0,0,0,0,0,0,0,13,12,12,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRVIOT05,0,0,0,0,0,0,0,0,0,0,3,3,3,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXNDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXNDA02,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXNDA03,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXNDA04,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXNDE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXNQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXQDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXQQE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXSQS01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXVDJ01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXVDP01,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXVDX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXVQP01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXVQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRXVQX02,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRYCGT1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRYCGT2,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DRYCGT3,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DULAWF1,0,0,0,114.39999,111.9,2100,2100,0,0,0,0,0,0,,,,,,,,,0,0,111.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DUNDWF1,0,0,0,124.24,123.736,2040,2040,0,0,0,0,0,0,,,,,,,,,0,0,123.736,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DUNDWF2,0,0,0,30.99,29.253,600,600,0,0,0,0,0,0,,,,,,,,,0,0,29.253,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,DUNDWF3,0,0,0,84.57,81.676,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,81.676,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,EDENVSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,EILDON1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,EILDON2,0,0,0,0.04,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ELAINWF1,0,0,0,50.46,50.11321,960,960,0,0,0,0,0,0,,,,,,,,,0,0,50.11321,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,EMERASF1,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ER01,0,0,1,364.22675,352,298.92,300,0,0,0,0,0,0,,,,,,,,,2,5,700,1,1,1,1,1,1,1,1,25,699.97406,350,24.91035,699.97406,350 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ER02,0,0,1,214.49301,210,300,300,0,0,0,0,0,0,,,,,,,,,0,0,210,0,0,0,0,0,0,0,0,0,700,210.51347,0,700,210.51347 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ER03,0,0,1,368.47485,352,296.73,296.91,0,0,0,0,0,0,,,,,,,,,2,5,640,1,1,1,1,1,1,1,1,24.7425,639.45068,350,24.72724,639.45068,350 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ER04,0,0,1,356.41412,352,298.19,298.92,0,0,0,0,0,0,,,,,,,,,2,5,650,1,1,1,1,1,1,1,1,24.91035,650,350,24.84932,650,350 +D,DUNIT,,2,"2023/12/14 04:10:00",1,FINLYSF1,0,0,0,0,0,180,1620,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,FISHER,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,FLYCRKWF,0,0,0,9.23,8.89,1680,1680,0,0,0,0,0,0,,,,,,,,,0,0,8.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GANGARR1,0,0,0,0,0,1440,1440,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GANNBG1,0,0,1,3.38204,0,300,300,0,0,0,10,10,10,,,,,,,,,0,7,25,1,1,1,1,0,0,0,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GANNBL1,0,0,1,0,0,300,300,0,0,0,0,0,0,,,,,,,,,24.9999,0,25,0,0,0,1,1,1,1,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GANNSF1,0,0,0,0,0,3000,3000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GLENSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GLRWNSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GNNDHSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GOONSF1,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GORDON,0,0,1,12.82856,12,1800,1800,0,0,0,58,72,40,,,,,,,,,0,50,345,1,1,1,1,1,1,1,1,119,120,1,138,120,12 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GRANWF1,0,0,0,98.5,97.0742,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,97.0742,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GSTONE1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GSTONE2,0,0,1,113.24414,111,290.13,290.13,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GSTONE3,0,0,1,113.55859,111,287.33,287.33,0,0,0,0,0,0,,,,,,,,,0,5,280,0,0,0,1,0,0,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GSTONE4,0,0,1,113.52441,111,287.84,287.84,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GSTONE5,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GSTONE6,0,0,1,202.26172,200,295.36,295.36,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,241,190,20,241,190 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GSWF1A,0,0,0,0,0,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GSWF1B1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GULLRSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GULLRWF1,0,0,0,136.18292,133.30506,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,133.30506,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GULLRWF2,0,0,0,95.9082,93.66608,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,93.66608,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GUNNING1,0,0,0,0.00034,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,GUTHEGA,0,0,1,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,34,10,0,34,10 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HALLWF1,0,0,0,24.83,24.72,600,600,0,0,0,0,0,0,,,,,,,,,0,0,24.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HALLWF2,0,0,0,33.17,32.86,600,600,0,0,0,0,0,0,,,,,,,,,0,0,32.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HAMISF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HAUGHT11,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HAYMSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HBESSG1,0,0,1,0.8,0,1800,1800,0,0,0,2,6,31,,,,,,,,,0,0,8,1,1,1,1,0,0,0,1,8,150,0,8,150,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HBESSL1,0,0,1,0,0,1800,1800,61,42,61,0,0,0,,,,,,,,,28.38928,0,119,0,0,0,1,1,1,1,1,118,150,0,118,150,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HDWF1,0,0,1,71.6,79.15,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,79.15,0,0,0,0,0,0,0,0,0,79,15,0,79,15 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HDWF2,0,0,1,67.1,68.42,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,68.42,0,0,0,0,0,1,1,0,0,68.42,15,0,68.42,15 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HDWF3,0,0,1,74.1,73.46,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,73.46,0,0,0,0,0,0,0,0,0,73.46,15,0,73.46,15 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HEZ1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HILLSTN1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HPRG1,0,0,1,0,0,960,960,0,0,0,77.62507,85,85,,,,,,,,,0,0,50,1,1,1,1,0,0,0,1,60,60,0,50,60,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HPRL1,0,0,1,2.8,5,960,960,0,0,0,0,0,0,,,,,,,,,0,0,75,0,0,0,1,1,1,1,1,75,75,0,75,75,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HUMENSW,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HUMEV,0,0,0,14.7,14,120,120,0,0,0,0,0,0,,,,,,,,,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HVWWBA1G,0,0,0,0,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HVWWBA1L,0,0,0,0.005,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,HVWWPV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,JBUTTERS,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,142,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,JEMALNG1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,JLA01,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,JLA02,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,JLA03,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,JLA04,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,JLB01,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,JLB02,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,JLB03,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,JUNEESF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KABANWF1,0,0,0,88.11501,87.651,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,87.651,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KAREEYA1,0,4,1,21.6625,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KAREEYA2,0,4,1,21.7025,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KAREEYA3,0,4,1,21.495,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,4,0,0,0,0,16,21,5,8,21,5 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KAREEYA4,0,4,1,21.495,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KARSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KEPBG1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KEPBL1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KEPSF1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KEPWF1,0,0,0,30.32,30,480,480,0,0,0,0,0,0,,,,,,,,,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KIAMSF1,0,0,0,0,0,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KIATAWF1,0,0,0,25.4,25.9,180,420,0,0,0,0,0,0,,,,,,,,,0,0,25.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KPP_1,0,0,1,758.98199,761,479.9,479.9,0,0,0,0,0,0,,,,,,,,,0,0,761,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,KSP1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LADBROK1,0,0,0,-0.02,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LADBROK2,0,0,0,0.02,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LBBG1,0,0,1,4.95,0,300,300,0,0,0,13,13,13,,,,,,,,,0,11,24,1,1,1,1,0,0,0,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LBBL1,0,0,1,0,0,300,300,0,0,0,0,0,0,,,,,,,,,12,0,24,0,0,0,1,1,1,1,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LEM_WIL,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LGAPWF1,0,0,0,33.93,35.849,600,600,0,0,0,0,0,0,,,,,,,,,0,0,35.849,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LGAPWF2,0,0,0,19.4,19.82,600,600,0,0,0,0,0,0,,,,,,,,,0,0,19.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LILYSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LIMOSF11,0,0,0,0,0,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LIMOSF21,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LI_WY_CA,0,0,1,53.23999,53,1680,1680,0,51,0,12.78378,0,0,,,,,,,,,0,0,182,1,1,1,0,1,1,1,0,0,71,1,0,71,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LKBONNY1,0,0,0,24.02424,25.542,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,25.542,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LKBONNY2,0,0,0,52.8874,52.391,1920,1920,0,0,0,0,0,0,,,,,,,,,0,0,52.391,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LKBONNY3,0,0,0,12.8949,13.397,480,480,0,0,0,0,0,0,,,,,,,,,0,0,13.397,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LK_ECHO,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LNGS1,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LNGS2,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LONSDALE,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,19,0,0,0,0,0,0,0,0,0,0,5,0,0,5 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LOYYB1,0,0,1,572.55573,570,600,600,0,0,0,0,0,0,,,,,,,,,0,0,570,0,0,0,0,0,0,0,0,50,570,319.5,50,570,319.5 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LOYYB2,0,0,1,574.05951,570,600,600,0,0,0,0,0,0,,,,,,,,,0,0,570,0,0,0,0,0,0,0,0,50.3125,570,350.25,50.3125,570,350.25 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LYA1,0,0,1,518,510,300,300,5,10,10,0,0,0,,,,,,,,,10,0,520,1,1,1,1,1,1,1,1,25,520,300,25,520,300 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LYA2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,204,300,0,204,300 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LYA3,0,0,1,559,560,300,300,5,10,10,0,0,0,,,,,,,,,10,0,560,1,1,1,1,1,1,1,1,25,560,300,25,560,300 +D,DUNIT,,2,"2023/12/14 04:10:00",1,LYA4,0,0,1,555,550,300,300,0,0,0,0,0,0,,,,,,,,,0,0,550,0,0,0,0,4,4,4,4,25,550,300,25,550,300 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MACARTH1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MACKNTSH,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,88,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MANNSF2,0,0,0,0,0,240,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MANSLR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MAPS2PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MAPS3PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MARYRSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MBPS2PV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MCKAY1,0,0,0,0.02,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,300,0,0,0,0,1,1,0,0,299,300,19.95,300,300,19.95 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MEADOWBK,0,0,1,30.03758,30,480,60,0,0,0,0,0,0,,,,,,,,,0,0,44,1,1,0,0,1,1,0,0,0,42,4.5,0,42,8 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MERCER01,0,0,0,48.1,44.3,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,44.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,METZSF1,0,0,0,0,0,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MEWF1,0,0,0,166.24025,164.90278,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,164.90278,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MIDDLSF1,0,0,0,0.05,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MINTARO,0,0,0,0.08545,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MOLNGSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MOORAWF1,0,0,0,0,0,3660,3660,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MOREESF1,0,0,0,0,0,180,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MORTLK11,0,4,1,219,154,780,780,0,0,0,0,0,0,,,,,,,,,0,0,115,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MORTLK12,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,269,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MOUSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MP1,0,0,1,377.11758,392.11758,180,180,0,60,50,0,20,0,,,,,,,,,0,20,730,1,1,1,1,1,1,1,1,60,516.08453,247.86755,60,516.08453,247.86755 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MP2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,25.01717,700,220,25.01717,700,220 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MPP_1,0,0,1,426.13123,426,299.94,299.94,0,0,0,0,0,0,,,,,,,,,0,0,426,0,0,0,0,0,0,0,0,0,425.9939,350,0,425.9939,350 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MPP_2,0,0,1,405.48538,405,119.94,119.94,0,0,0,0,0,0,,,,,,,,,0,0,405,0,0,0,0,0,0,0,0,0,404.9971,350,0,404.9971,350 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MRTLSWF1,0,0,0,0,0,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MSTUART1,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,138,43,0,138,43 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MSTUART2,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,144,43,0,144,43 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MSTUART3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MTGELWF1,0,0,0,99.68261,99.44949,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,99.44949,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MTMILLAR,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,25.946,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MURRAY,0,0,1,0,0,6000,9000,0,0,0,0,0,0,,,,,,,,,0,0,915,0,0,0,4,0,0,4,4,10,886,105,10,886,105 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MUSSELR1,0,0,0,89.59999,90.3,10080,9000,0,0,0,0,0,0,,,,,,,,,0,0,90.3,0,0,0,0,0,0,0,0,0,87.81,50,0,87.81,50 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MUWAWF1,0,0,0,90.15,92.83,2700,1380,0,0,0,0,0,0,,,,,,,,,0,0,92.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MUWAWF2,0,0,0,116.7,104.86937,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,104.86937,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MWPS1PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MWPS2PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MWPS3PV1,0,0,1,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,MWPS4PV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,NBHWF1,0,0,0,63,62.7,600,600,0,0,0,0,0,0,,,,,,,,,0,0,62.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,NEVERSF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,NEWENSF1,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,NEWENSF2,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,NPS,0,0,0,0,0,6,6,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,NUMURSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,NYNGAN1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,OAKEY1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,172.99594,40,0,172.99594,40 +D,DUNIT,,2,"2023/12/14 04:10:00",1,OAKEY1SF,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,OAKEY2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,170,40,0,170,40 +D,DUNIT,,2,"2023/12/14 04:10:00",1,OAKEY2SF,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,OAKLAND1,0,0,0,29.2,31.9,600,600,0,0,0,0,0,0,,,,,,,,,0,0,31.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,OSB-AG,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,180.89,145,0,180.89,145 +D,DUNIT,,2,"2023/12/14 04:10:00",1,PAREPS1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,PAREPW1,0,0,0,66.15,76.745,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,76.745,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,PARSF1,0,0,0,0.00153,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,PIBESSG1,0,0,1,0.088,0,60,60,0,0,0,0,1,2,,,,,,,,,0,0,1,1,1,0,1,0,0,0,1,1,4.303,0,1,4.303,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,PIBESSL1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,4,0,4,0,0,0,1,1,1,1,1,4,4.303,0,4,4.303,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,POAT110,0,0,1,90.71696,98,960,960,0,26.53515,19.85028,0,0,0,,,,,,,,,46.87805,0,113,0,3,3,3,1,1,1,1,57,98,5,62,113.5,5 +D,DUNIT,,2,"2023/12/14 04:10:00",1,POAT220,0,0,1,119.66113,120,960,1200,0,15.2512,7.70106,0,0.71795,0,,,,,,,,,3.12195,0,120,0,1,1,1,1,1,1,1,57,120,0,61,121,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,POR01,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,POR03,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,PPCCGT,0,0,1,168.8544,167,540,540,0,0,0,0,0,0,,,,,,,,,0,0,241,1,1,0,1,1,1,0,1,49.85147,241,166.00211,49.85147,241,166.00211 +D,DUNIT,,2,"2023/12/14 04:10:00",1,PTSTAN1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,PUMP1,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,PUMP2,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,QBYNBG1,0,0,1,2.36546,0,120,120,0,0,0,5,5,5,,,,,,,,,0,5,10,1,1,1,1,0,0,0,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,QBYNBL1,0,0,1,0,0,120,120,0,0,0,0,0,0,,,,,,,,,9.61082,0,10,0,0,0,1,1,1,1,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,QPS1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,QPS2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,QPS3,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,QPS4,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,QPS5,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,127,74,0,127,74 +D,DUNIT,,2,"2023/12/14 04:10:00",1,REECE1,0,0,0,0,0,60,60,0,0,0,0,23,22,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,REECE2,0,0,0,0,0,60,60,0,0,0,0,55,20,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RESS1G,0,0,1,0,0,720,720,0,0,0,34,34,34,,,,,,,,,0,0,59,1,1,1,1,0,0,0,1,59,59.99872,0,59,59.99872,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RESS1L,0,0,1,3.54257,4.73827,720,720,18.12687,34,34,0,0,0,,,,,,,,,0,0,59,0,0,0,0,1,1,1,1,0,59.99988,0,59,59.99988,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RIVNBG2,0,0,1,0.0643,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RIVNBL2,0,0,1,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ROMA_7,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,ROMA_8,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RRSF1,0,0,0,0,0,41760,41760,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_NSW2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_NSW3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_NSW4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_NSW5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_NSW6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_SA2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_SA3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_SA4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_SA5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_SA6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC10,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC11,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC12,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC7,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC8,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RT_VIC9,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RUGBYR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,RYEPARK1,0,0,0,91.84409,90.811,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,90.811,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SALTCRK1,0,0,0,21.74,20.825,660,660,0,0,0,0,0,0,,,,,,,,,0,0,20.825,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SAPHWF1,0,0,0,96.75899,95.944,3240,3240,0,0,0,0,0,0,,,,,,,,,0,0,95.944,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SEBSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SHGEN,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SHPUMP,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SITHE01,0,0,0,0.1639,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SMCSF1,0,0,0,0,0.02704,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0.02704,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SNAPPER1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SNOWNTH1,0,0,0,54.6,54.2,540,300,0,0,0,0,0,0,,,,,,,,,0,0,54.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SNOWSTH1,0,0,0,71.6,71.9,480,240,0,0,0,0,0,0,,,,,,,,,0,0,71.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SNOWTWN1,0,0,0,63.96992,65.192,1200,600,0,0,0,0,0,0,,,,,,,,,0,0,65.192,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SNOWYGJP,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SNOWYP,0,0,0,0,0,6000,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SNUG1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SRSF1,0,0,0,0,0,15300,15300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,STAN-1,0,0,0,184.88394,185,180,179.96,0,0,0,0,0,0,,,,,,,,,0,0,365,0,0,0,0,0,0,0,0,0,364.99966,185,0,364.99966,185 +D,DUNIT,,2,"2023/12/14 04:10:00",1,STAN-2,0,0,1,204.71309,200,239.95,239.69,0,0,0,0,10,10,,,,,,,,,0,6,365,1,1,0,1,1,1,1,1,15,360,170.00249,15,362.57712,170.00249 +D,DUNIT,,2,"2023/12/14 04:10:00",1,STAN-3,0,0,1,165.54189,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,6,270,1,1,0,1,1,1,1,1,14.99679,260.32953,150,14.99679,260.32953,150 +D,DUNIT,,2,"2023/12/14 04:10:00",1,STAN-4,0,0,1,164.96509,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,6,270,1,1,0,1,1,1,1,1,14.99679,265.22592,156.42844,14.99679,265.22592,156.42844 +D,DUNIT,,2,"2023/12/14 04:10:00",1,STARHLWF,0,0,0,20.89391,20.89391,0,420,0,0,0,0,0,0,,,,,,,,,0,0,20.89391,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,STOCKYD1,0,0,0,165.42,166.29,6120,6120,0,0,0,0,0,0,,,,,,,,,0,0,166.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,STWF1,0,0,0,57.6846,57.432,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,57.432,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SUNRSF1,0,0,0,0,0,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SUNTPSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,SWAN_E,0,0,0,-0.58,0,903.66,1.97,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0.16406,355,95,75.30469,355,95 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TALWA1,0,0,1,191,190,480,480,0,0,0,0,0,0,,,,,,,,,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TALWB1,0,0,0,0,0,1560,1560,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TARALGA1,0,0,0,0,0,180,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TARONG#1,0,0,1,271.89999,270,240,240,0,0,0,0,10,10,,,,,,,,,0,6,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TARONG#2,0,0,1,273.5,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TARONG#3,0,0,1,273.89999,270,240,240,0,0,0,0,10,10,,,,,,,,,0,6,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TARONG#4,0,0,1,273.10001,270,240,240,0,0,0,0,10,10,,,,,,,,,0,6,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TARRALEA,0,0,0,67.9,67.9,0,0,0,0,0,0,0,0,,,,,,,,,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TB2BG1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TB2BL1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TB2SF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TBSF1,0,0,0,0,0,1140,1140,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TIBG1,0,0,1,3.81,0,3000,3000,0,0,0,20,20,20,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TIBL1,0,0,1,0,0,3000,3000,20,20,20,0,0,0,,,,,,,,,20,0,250,0,0,0,1,1,1,1,1,250,250,0,250,250,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TNPS1,0,0,1,443.3125,443,240,240,0,0,0,0,0,0,,,,,,,,,0,0,443,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TORRB1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,40,40,0,40,40 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TORRB2,0,0,1,43,40,300,300,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,200,40,0,200,40 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TORRB3,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,200,40,0,200,40 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TORRB4,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,40 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TREVALLN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,99,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TRIBUTE,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TUMUT3,0,0,1,0,0,6000,21600,0,0,0,10,0,0,,,,,,,,,0,0,1500,0,0,1,4,0,0,0,4,10,1250,120,20,1250,120 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TUNGATIN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,84,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TVCC201,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,TVPP104,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,UPPTUMUT,0,0,1,163.75638,280,1200,1800,20,0,0,0,0,0,,,,,,,,,10,12,642,0,0,1,1,0,0,1,1,12,642,100,20,642,80 +D,DUNIT,,2,"2023/12/14 04:10:00",1,URANQ11,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,URANQ12,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,URANQ13,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,URANQ14,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VBBG1,0,0,1,5.3,0,3600,3600,0,0,0,20,0,47.73833,,,,,,,,,0,0,45,1,1,1,1,0,0,0,1,45,45,0,45,45,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VBBL1,0,0,1,0,0,3000,3000,0,0,0,0,0,0,,,,,,,,,0,0,240,0,0,0,1,1,1,1,1,150,240,0,150,240,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VENUS1,0,0,0,0,0,0,0,0,0,0,11,8,7,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VP5,0,0,1,409.21658,439.08657,358.44,358.44,0,0,0,0,0,0,,,,,,,,,0,0,660,1,1,1,1,1,1,1,1,29.86999,654.51215,250,29.86999,654.51215,250 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VP6,0,0,1,416.00391,445.8739,358.44,358.44,0,0,0,0,0,0,,,,,,,,,0,0,660,1,1,1,1,1,1,1,1,29.86999,591.61963,250,29.86999,591.61963,250 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VPGS1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VPGS2,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VPGS3,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VPGS4,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VPGS5,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VPGS6,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VSNEL2S1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VSNSN1V1,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VSQHT1V1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VSSAE1V1,0,0,0,0,0,0,0,3,3,0,3,3,0,,,,,,,,,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VSSEL1V1,0,0,0,0,0,0,0,7,7,7,7,7,7,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VSSSE1V1,0,0,0,0,0,0,0,0,2,2,2,2,2,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VSSSH1S1,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,VSVEL2S1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,W/HOE#1,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,265,0,0,0,0,0,0,0,0,125,45,160,62,45,160 +D,DUNIT,,2,"2023/12/14 04:10:00",1,W/HOE#2,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,265,0,0,0,0,0,0,0,0,125,45,160,62,45,160 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WAGGNSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WALGRVG1,0,0,1,0.17778,0,600,600,0,0,0,27,27,27,,,,,,,,,0,0,50,1,1,1,1,0,0,0,1,50,50,0,50,50,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WALGRVL1,0,0,1,0,0,600,600,0,0,0,0,0,0,,,,,,,,,23,0,47,0,0,0,1,1,1,1,1,47,47,0,47,47,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WANDBG1,0,0,1,1.79145,0,1200,1200,0,0,0,47,47,47,,,,,,,,,0,0,94,1,1,1,1,0,0,0,0,70,94,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WANDBL1,0,0,1,0,0,1200,1200,47,47,47,0,0,0,,,,,,,,,0,0,75,0,0,0,1,1,1,1,1,30,75,0,72,75,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WANDSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WARWSF1,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WARWSF2,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WATERLWF,0,0,0,90.5,103.64,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,103.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WDGPH1,0,0,0,0,0,4800,4800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,59 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WELLSF1,0,0,0,0,0,2040,2040,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WEMENSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WGWF1,0,0,0,54.8,12.77,600,600,0,0,0,0,0,0,,,,,,,,,0,0,97.103,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WHITSF1,0,0,0,0,0.22507,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0.22507,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WINTSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WKIEWA1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,1,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WKIEWA2,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,1,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WOODLWN1,0,0,0,33.23635,32.867,600,600,0,0,0,0,0,0,,,,,,,,,0,0,32.867,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WOOLGSF1,0,0,0,0,0,2112,2112,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WPWF,0,0,0,16.78,17.492,600,600,0,0,0,0,0,0,,,,,,,,,0,0,17.492,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WRSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WRWF1,0,0,0,10.93462,11.855,2100,2100,0,0,0,0,0,0,,,,,,,,,0,0,11.855,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WSTWYSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,WYASF1,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,YABULU,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,YABULU2,0,0,0,0,0,480,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,YARANSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,YARWUN_1,0,0,0,116.42,116.42,0,0,0,0,0,0,0,0,,,,,,,,,0,0,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,YATSF1,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,YENDWF1,0,0,0,39.43,39.235,1680,1680,0,0,0,0,0,0,,,,,,,,,0,0,39.235,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:10:00",1,YWPS1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,365,250,0,365,250 +D,DUNIT,,2,"2023/12/14 04:10:00",1,YWPS2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,15,364.5,250,15,364.5,250 +D,DUNIT,,2,"2023/12/14 04:10:00",1,YWPS3,0,0,1,361.08228,360,178.88,178.88,0,0,0,0,0,0,,,,,,,,,0,0,360,0,0,0,0,0,0,0,0,14.90625,360,280,14.90625,360,280 +D,DUNIT,,2,"2023/12/14 04:10:00",1,YWPS4,0,0,1,350.35568,350,180,180,0,0,0,0,0,0,,,,,,,,,0,0,350,0,0,0,0,0,0,0,0,15,350,280,20,350,280 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ADPBA1G,0,0,1,0,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ADPBA1L,0,0,1,0,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ADPPV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,AGLHAL,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,AGLSOM,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ANGAST1,0,0,0,-0.1,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,APD01,0,0,0,0,0,0,0,0,0,0,40,30,0,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ARWF1,0,0,0,24.6,24.12524,240,1200,0,0,0,0,0,0,,,,,,,,,0,0,24.12524,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASNAES1,0,0,0,0,0,0,0,6,4,2,2,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASNBRL1,0,0,0,0,0,0,0,0,0,0,6,6,6,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASNENC1,0,0,0,0,0,0,0,0,0,0,17,14,13,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASNSEL2,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASPAPM01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASQEEV1,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASQENC1,0,0,0,0,0,0,0,0,0,0,4,3,3,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASRMGE01,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASRMGE02,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASRMGE03,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASSDE1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASSEL1,0,0,0,0,0,0,0,8,8,8,8,8,8,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASSENC1,0,0,0,0,0,0,0,0,0,0,1,1,1,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASSERDV1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASSSN1,0,0,0,0,0,0,0,1,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASTHYD1,0,0,0,0,0,0,0,0,0,0,0,0,58.03299,,,,,,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ASVIEL2,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,AVLSF1,0,0,0,0,0,2280,2280,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BALBG1,0,0,1,0,0,6000,6000,0,0,0,30,30,30,,,,,,,,,0,0,30,1,1,1,1,0,0,0,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BALBL1,0,0,1,0,0,6000,6000,28,28,28,0,0,0,,,,,,,,,2,0,30,0,0,0,1,1,1,1,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BALDHWF1,0,0,0,43.479,44.621,540,1800,0,0,0,0,0,0,,,,,,,,,0,0,44.621,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BANGOWF1,0,0,0,118.1976,119.799,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,119.799,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BANGOWF2,0,0,0,75.89754,73,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BANN1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BARCALDN,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BARKIPS1,0,0,1,0,0,1836,1836,0,0,0,0,0,0,,,,,,,,,0,0,122,0,0,0,0,0,0,0,0,0,9,9,0,9,9 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BARRON-1,0,4,0,32.8,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BARRON-2,0,4,0,33,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BASTYAN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BBATRYL1,0,0,1,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,50,0,0,0,0,1,1,1,1,0,50,0,50,50,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BBATTERY,0,0,1,0,0,600,600,0,0,0,0,27,17,,,,,,,,,0,0,50,1,1,0,1,0,0,0,0,50,50,0,0,50,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BBTHREE1,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BBTHREE2,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BBTHREE3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BDL01,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BDL02,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BERYLSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BHBG1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BHBL1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BLOWERNG,0,0,1,62.8,63,120,120,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BLUEGSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BLUFF1,0,0,0,27.6,27.151,600,600,0,0,0,0,0,0,,,,,,,,,0,0,27.151,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BNGSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BNGSF2,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BOCORWF1,0,0,0,107.6,107.44,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,107.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BODWF1,0,0,0,5.82337,6.652,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,6.652,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BOLIVPS1,0,0,0,0,0,1560,1560,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BOMENSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BOWWBA1G,0,0,0,0,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BOWWBA1L,0,0,0,0.003,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BOWWPV1,0,0,0,0,0,97.38,97.38,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BRAEMAR1,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,179,97,0,179,97 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BRAEMAR2,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,183,97,0,183,97 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BRAEMAR3,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,175,97,0,175,97 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BRAEMAR5,0,0,0,0.19135,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BRAEMAR6,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BRAEMAR7,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BROKENH1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BRYB1WF1,0,0,0,110.79576,110.057,2160,2160,0,0,0,0,0,0,,,,,,,,,0,0,110.057,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BRYB2WF2,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BULBESG1,0,0,1,0,0,240,240,0,0,0,11,11,11,,,,,,,,,0,0,20,1,1,1,1,0,0,0,0,20,20,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BULBESL1,0,0,1,0.1,0,240,240,0,11,11,0,0,0,,,,,,,,,0,0,20,0,0,0,0,1,1,1,1,0,0,0,20,20,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BULGANA1,0,0,0,36.61,36.56715,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,36.56715,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BW01,0,0,1,568.89294,576.40267,180,210.12,0,0,0,0,0,0,,,,,,,,,0,10,660,0,0,0,1,0,0,0,1,17.50973,660,332.32892,17.50973,660,332.32892 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BW02,0,0,1,590.89038,600.90259,180,240,0,0,0,0,0,0,,,,,,,,,0,10,650,0,0,0,1,0,0,0,1,20.01221,649.992,330,20.01221,649.992,330 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BW03,0,0,1,590.18237,597.6921,180,210.12,0,0,0,0,0,0,,,,,,,,,0,10,685,0,0,0,1,0,0,0,1,17.50973,685,332.17786,17.50973,685,332.17786 +D,DUNIT,,2,"2023/12/14 04:15:00",1,BW04,0,0,1,584.22522,594.23743,180,240,0,0,0,0,0,0,,,,,,,,,0,10,670,0,0,0,1,0,0,0,1,20.01221,670,330,20.01221,670,330 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CALL_B_1,0,0,1,259.80002,260,240,240,0,0,0,0,0,0,,,,,,,,,0,0,260,1,1,1,0,1,1,1,0,0,260,210,0,260,210 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CALL_B_2,0,0,1,319.80002,320,240,240,0,0,0,0,0,0,,,,,,,,,0,0,350,1,1,1,0,1,1,1,0,0,350,280,0,350,280 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CAPBES1G,0,0,0,0,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CAPBES1L,0,0,0,0.17,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CATHROCK,0,0,0,26.6,27.843,840,840,0,0,0,0,0,0,,,,,,,,,0,0,27.843,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CBWWBA1G,0,0,0,0,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CBWWBA1L,0,0,0,0.003,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CETHANA,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,100,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CG1,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CG2,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CG3,0,4,0,151.71893,150,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CG4,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CHBESSG1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CHBESSL1,0,0,1,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CHILDSF1,0,0,0,0,0,11520,11520,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CHYTWF1,0,0,0,17.12,15.97,720,720,0,0,0,0,0,0,,,,,,,,,0,0,15.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CLARESF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CLEMGPWF,0,0,0,18.80113,26.968,660,660,0,0,0,0,0,0,,,,,,,,,0,0,26.968,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CLERMSF1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CNUNDAWF,0,0,0,16.41916,16.519,600,600,0,0,0,0,0,0,,,,,,,,,0,0,16.519,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,COHUNSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,COLEASF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,COLUMSF1,0,0,0,0.56314,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,COLWF01,0,0,0,100.61951,93.34055,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,93.34055,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,COOPGWF1,0,0,0,227.75,227.78,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,227.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CPP_3,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CPP_4,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CPSA,0,0,0,0,0,179.18,1.55,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CROOKWF2,0,0,0,60.13459,60.673,1200,6000,0,0,0,0,0,0,,,,,,,,,0,0,60.673,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CROWLWF1,0,0,0,18.06131,16.75177,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,16.75177,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CRURWF1,0,0,0,20.79583,21.898,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,21.898,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CRWASF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CSPVPS1,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,CTHLWF1,0,0,0,22.83665,23.72613,1740,1740,0,0,0,0,0,0,,,,,,,,,0,0,23.72613,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DALNTH01,0,0,0,0.01373,0,6000,6000,0,0,0,5,24,23,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DALNTHL1,0,0,1,0,0,6000,6000,7,7,7,0,0,0,,,,,,,,,0,0,7,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DARLSF1,0,0,0,0,0,3300,3300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DARTM1,0,0,0,0,0,3600,3600,0,0,0,0,0,0,,,,,,,,,0,0,177,0,0,0,0,0,0,0,0,0,1,1,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DAYDSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DDPS1,0,0,1,308.22571,297.97927,600,600,0,0,0,0,0,0,,,,,,,,,0,0,458,0,0,0,0,0,0,0,0,0,337.30038,228,0,337.30038,228 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DDSF1,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DEVILS_G,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,64,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DG_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DG_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DG_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DG_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DG_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DPNTBG1,0,0,1,0.14505,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,25,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DPNTBL1,0,0,1,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,24.99945,0,0,24.99945,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRACAN1,0,0,0,0,0,0,0,0,0,0,1,1,0,,,,,,,,,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRAESN1,0,0,0,0,0,0,0,1,1,1,1,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DREXMN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRFIIN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRGBND02,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRSHVN01,0,0,0,0,0,0,0,1,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRSHVS01,0,0,0,0,0,0,0,3,3,0,2,2,0,,,,,,,,,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRVIOT01,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRVIOT02,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRVIOT03,0,0,0,0,0,0,0,0,0,0,2,1,1,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRVIOT04,0,0,0,0,0,0,0,0,0,0,15,15,14,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRVIOT05,0,0,0,0,0,0,0,0,0,0,3,3,3,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXNDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXNDA02,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXNDA03,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXNDA04,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXNDE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXNQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXQDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXQQE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXSQS01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXVDJ01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXVDP01,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXVDX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXVQP01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXVQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRXVQX02,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRYCGT1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRYCGT2,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DRYCGT3,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DULAWF1,0,0,0,106.39999,108.7,2100,2100,0,0,0,0,0,0,,,,,,,,,0,0,108.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DUNDWF1,0,0,0,118.7,116.53,2040,2040,0,0,0,0,0,0,,,,,,,,,0,0,116.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DUNDWF2,0,0,0,28.62,27.712,600,600,0,0,0,0,0,0,,,,,,,,,0,0,27.712,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,DUNDWF3,0,0,0,84.28,82.497,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,82.497,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,EDENVSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,EILDON1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,EILDON2,0,0,0,0.04,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ELAINWF1,0,0,0,48.54,48.14529,960,960,0,0,0,0,0,0,,,,,,,,,0,0,48.14529,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,EMERASF1,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ER01,0,0,1,351.21387,352,298.92,300,0,0,0,0,0,0,,,,,,,,,0,5,700,1,1,1,1,1,1,1,1,25,699.97406,350,24.91035,699.97406,350 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ER02,0,0,1,210.80644,210,300,300,0,0,0,0,0,0,,,,,,,,,0,0,210,0,0,0,0,0,0,0,0,0,700,210.61113,0,700,210.61113 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ER03,0,0,1,353.02054,352,296.91,297.28,0,0,0,0,0,0,,,,,,,,,0,5,640,1,1,1,1,1,1,1,1,24.77302,639.45068,350,24.7425,639.45068,350 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ER04,0,0,1,352.89844,352,298.19,299.29,0,0,0,0,0,0,,,,,,,,,0,5,650,1,1,1,1,1,1,1,1,24.94087,650,350,24.84932,650,350 +D,DUNIT,,2,"2023/12/14 04:15:00",1,FINLYSF1,0,0,0,0,0,180,1620,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,FISHER,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,FLYCRKWF,0,0,0,9.92,10,1680,1680,0,0,0,0,0,0,,,,,,,,,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GANGARR1,0,0,0,0,0,1440,1440,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GANNBG1,0,0,1,1.33771,0,300,300,0,0,0,10,10,10,,,,,,,,,0,7,25,1,1,1,1,0,0,0,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GANNBL1,0,0,1,0,0,300,300,0,0,0,0,0,0,,,,,,,,,24.9999,0,25,0,0,0,1,1,1,1,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GANNSF1,0,0,0,0,0,3000,3000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GLENSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GLRWNSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GNNDHSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GOONSF1,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GORDON,0,0,1,12.25727,12,1800,1800,0,0,0,58,72,40,,,,,,,,,0,50,345,1,1,1,1,1,1,1,1,119,120,1,138,120,12 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GRANWF1,0,0,0,93.8,98.23806,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,98.23806,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GSTONE1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GSTONE2,0,0,1,112.41699,131.59437,290.13,290.13,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GSTONE3,0,0,1,112.1709,131.11494,287.33,287.33,0,0,0,0,0,0,,,,,,,,,0,5,280,0,0,0,1,0,0,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GSTONE4,0,0,1,112.65625,131.64315,287.84,287.84,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GSTONE5,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GSTONE6,0,0,1,201.37305,200,295.36,295.36,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,280,190,20,280,190 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GSWF1A,0,0,0,0,0,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GSWF1B1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GULLRSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GULLRWF1,0,0,0,136.05293,134.8659,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,134.8659,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GULLRWF2,0,0,0,95.19725,93.36047,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,93.36048,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GUNNING1,0,0,0,0.00034,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,GUTHEGA,0,0,1,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,34,10,0,34,10 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HALLWF1,0,0,0,24.5,24.59,600,600,0,0,0,0,0,0,,,,,,,,,0,0,24.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HALLWF2,0,0,0,32.97,33.05,600,600,0,0,0,0,0,0,,,,,,,,,0,0,33.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HAMISF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HAUGHT11,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HAYMSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HBESSG1,0,0,1,0,0,1800,1800,0,0,0,0,0,2,,,,,,,,,0,0,1,1,0,0,1,0,0,0,1,1,150,0,1,150,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HBESSL1,0,0,1,0.1,0,1800,1800,0,0,0,0,0,0,,,,,,,,,73.0001,0,111,0,0,0,1,1,1,1,1,110,150,0,110,150,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HDWF1,0,0,1,75.6,75.64,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,75.64,0,0,0,0,0,0,0,0,0,75.64,15,0,75.64,15 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HDWF2,0,0,1,68.2,66.95,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,66.95,0,0,0,0,0,0,0,0,0,66.95,15,0,66.95,15 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HDWF3,0,0,1,73.2,78.74,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,78.74,0,0,0,0,0,0,0,0,0,75.3,15,0,75.3,15 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HEZ1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HILLSTN1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HPRG1,0,0,1,0,0,960,960,0,0,0,49.84984,67.36147,85,,,,,,,,,0,0,50,1,1,1,1,0,0,0,1,60,60,0,50,60,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HPRL1,0,0,1,5.7,8,960,960,0,0,0,0,0,0,,,,,,,,,0,0,75,0,0,0,1,1,1,1,1,75,75,0,75,75,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HUMENSW,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HUMEV,0,0,0,14.6,14,120,120,0,0,0,0,0,0,,,,,,,,,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HVWWBA1G,0,0,0,0,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HVWWBA1L,0,0,0,0.005,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,HVWWPV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,JBUTTERS,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,142,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,JEMALNG1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,JLA01,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,JLA02,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,JLA03,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,JLA04,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,JLB01,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,JLB02,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,JLB03,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,JUNEESF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KABANWF1,0,0,0,87.65301,87.826,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,87.826,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KAREEYA1,0,4,1,21.5825,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KAREEYA2,0,4,1,21.5375,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KAREEYA3,0,4,1,21.51,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,4,0,0,0,0,16,21,5,8,21,5 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KAREEYA4,0,4,1,21.525,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KARSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KEPBG1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KEPBL1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KEPSF1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KEPWF1,0,0,0,30.3,30,480,480,0,0,0,0,0,0,,,,,,,,,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KIAMSF1,0,0,0,0,0,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KIATAWF1,0,0,0,26.4,26.9,180,420,0,0,0,0,0,0,,,,,,,,,0,0,26.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KPP_1,0,0,1,761.29834,761,479.9,479.9,0,0,0,0,0,0,,,,,,,,,0,0,761,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,KSP1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LADBROK1,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LADBROK2,0,0,0,0.02,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LBBG1,0,0,1,3.9,0,300,300,0,0,0,13,13,13,,,,,,,,,0,0,24,1,1,1,1,0,0,0,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LBBL1,0,0,1,0,0,300,300,13,13,13,0,0,0,,,,,,,,,11,0,24,0,0,0,1,1,1,1,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LEM_WIL,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LGAPWF1,0,0,0,36.52,36.04,600,600,0,0,0,0,0,0,,,,,,,,,0,0,36.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LGAPWF2,0,0,0,17.7,19.791,600,600,0,0,0,0,0,0,,,,,,,,,0,0,19.791,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LILYSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LIMOSF11,0,0,0,0,0,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LIMOSF21,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LI_WY_CA,0,0,1,53.2583,53,1680,1680,0,51,0,12.78378,0,0,,,,,,,,,0,0,182,1,1,1,0,1,1,1,0,0,71,1,0,71,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LKBONNY1,0,0,0,22.50598,22.327,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,22.327,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LKBONNY2,0,0,0,47.4003,50.236,1920,1920,0,0,0,0,0,0,,,,,,,,,0,0,50.236,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LKBONNY3,0,0,0,13.8997,12.951,480,480,0,0,0,0,0,0,,,,,,,,,0,0,12.951,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LK_ECHO,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LNGS1,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LNGS2,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LONSDALE,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,19,0,0,0,0,0,0,0,0,0,0,5,0,0,5 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LOYYB1,0,0,1,569.5481,570,600,600,0,0,0,0,0,0,,,,,,,,,0,0,570,1,1,1,1,1,1,1,1,50,570,319.125,50,570,319.125 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LOYYB2,0,0,1,571.80377,570,600,600,0,0,0,0,0,0,,,,,,,,,0,0,570,0,0,0,0,0,0,0,0,50.15625,570,349.875,50.15625,570,349.875 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LYA1,0,0,1,511,510,300,300,5,10,10,0,0,0,,,,,,,,,5,0,520,1,1,1,1,1,1,1,1,25,520,300,25,520,300 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LYA2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,204,300,0,204,300 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LYA3,0,0,1,558,560,300,300,5,10,10,0,0,0,,,,,,,,,5,0,560,1,1,1,1,1,1,1,1,25,560,300,25,560,300 +D,DUNIT,,2,"2023/12/14 04:15:00",1,LYA4,0,0,1,551,550,300,300,0,0,0,0,0,0,,,,,,,,,0,0,550,0,0,0,0,4,4,4,4,25,550,300,25,550,300 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MACARTH1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MACKNTSH,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,88,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MANNSF2,0,0,0,0,0,240,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MANSLR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MAPS2PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MAPS3PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MARYRSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MBPS2PV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MCKAY1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,300,0,0,0,0,1,1,0,0,299,300,19.95,300,300,19.95 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MEADOWBK,0,0,1,29.89468,30,480,60,0,0,0,0,0,0,,,,,,,,,0,0,44,1,1,0,0,1,1,0,0,0,42,4.5,0,42,8 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MERCER01,0,0,0,58.2,55.9,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,55.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,METZSF1,0,0,0,0,0,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MEWF1,0,0,0,166.52696,165.53953,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,165.53953,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MIDDLSF1,0,0,0,0.05,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MINTARO,0,0,0,0.08545,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MOLNGSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MOORAWF1,0,0,0,0,0,3660,3660,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MOREESF1,0,0,0,0,0,180,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MORTLK11,0,4,1,153,115,780,780,0,0,0,0,0,0,,,,,,,,,0,0,115,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MORTLK12,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,269,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MOUSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MP1,0,0,1,396.4538,411.4538,180,180,0,60,50,0,20,12.04642,,,,,,,,,0,20,730,1,1,1,1,1,1,1,1,60,516.98785,249.03944,60,516.98785,249.03944 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MP2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,25.01717,700,220,25.01717,700,220 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MPP_1,0,0,1,426.78738,426,299.94,299.94,0,0,0,0,0,0,,,,,,,,,0,0,426,0,0,0,0,0,0,0,0,0,425.9939,350,0,425.9939,350 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MPP_2,0,0,1,406.90451,405,119.94,119.94,0,0,0,0,0,0,,,,,,,,,0,0,405,0,0,0,0,0,0,0,0,0,404.9971,350,0,404.9971,350 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MRTLSWF1,0,0,0,0,0,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MSTUART1,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,138,43,0,138,43 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MSTUART2,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,144,43,0,144,43 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MSTUART3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MTGELWF1,0,0,0,100.06714,100,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MTMILLAR,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,23.557,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MURRAY,0,0,1,0,0,6000,9000,0,0,0,0,0,0,,,,,,,,,0,0,915,0,0,0,4,0,0,4,0,10,886,105,10,886,105 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MUSSELR1,0,0,0,100.1,96.3,10080,9000,0,0,0,0,0,0,,,,,,,,,0,0,96.3,0,0,0,0,0,0,0,0,0,96.3,50,0,96.3,50 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MUWAWF1,0,0,0,72.13,72.81,2700,1380,0,0,0,0,0,0,,,,,,,,,0,0,72.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MUWAWF2,0,0,0,113.8,105.24215,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,105.24215,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MWPS1PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MWPS2PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MWPS3PV1,0,0,1,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,MWPS4PV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,NBHWF1,0,0,0,62.4,62.3,600,600,0,0,0,0,0,0,,,,,,,,,0,0,62.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,NEVERSF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,NEWENSF1,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,NEWENSF2,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,NPS,0,0,0,0,0,6,6,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,NUMURSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,NYNGAN1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,OAKEY1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,172.99594,40,0,172.99594,40 +D,DUNIT,,2,"2023/12/14 04:15:00",1,OAKEY1SF,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,OAKEY2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,170,40,0,170,40 +D,DUNIT,,2,"2023/12/14 04:15:00",1,OAKEY2SF,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,OAKLAND1,0,0,0,32.8,30.6,600,600,0,0,0,0,0,0,,,,,,,,,0,0,30.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,OSB-AG,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,180.89999,145,0,180.89999,145 +D,DUNIT,,2,"2023/12/14 04:15:00",1,PAREPS1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,PAREPW1,0,0,0,72.06,78.539,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,78.539,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,PARSF1,0,0,0,0.00153,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,PIBESSG1,0,0,1,0,0,60,60,0,0,0,0,1,2,,,,,,,,,0,0,1,1,1,0,1,0,0,0,1,1,4.302,0,1,4.302,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,PIBESSL1,0,0,1,0.049,0,60,60,0,0,0,0,0,0,,,,,,,,,4,0,4,0,0,0,1,1,1,1,1,4,4.302,0,4,4.302,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,POAT110,0,0,1,90.88193,98,960,960,0,26.53515,19.85028,0,0,0,,,,,,,,,46.87805,0,113,0,3,3,3,1,1,1,1,57,98,5,62,113.5,5 +D,DUNIT,,2,"2023/12/14 04:15:00",1,POAT220,0,0,1,119.31329,120,960,1200,0,4.54592,14.3958,0,0.71795,0,,,,,,,,,3.12195,0,120,0,1,1,1,1,1,1,1,57,120,0,61,121,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,POR01,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,POR03,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,PPCCGT,0,0,1,164.15668,167,540,540,0,0,0,0,0,0,,,,,,,,,0,0,241,0,0,0,0,0,0,0,0,49.85147,241,165.3307,49.85147,241,165.3307 +D,DUNIT,,2,"2023/12/14 04:15:00",1,PTSTAN1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,PUMP1,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,PUMP2,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,QBYNBG1,0,0,1,1.30448,0,120,120,0,0,0,5,5,5,,,,,,,,,0,5,10,1,1,1,1,0,0,0,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,QBYNBL1,0,0,1,0,0,120,120,5,5,5,0,0,0,,,,,,,,,5,0,10,0,0,0,1,1,1,1,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,QPS1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,QPS2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,QPS3,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,QPS4,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,QPS5,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,127,74,0,127,74 +D,DUNIT,,2,"2023/12/14 04:15:00",1,REECE1,0,0,0,0,0,60,60,0,0,0,0,23,22,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,REECE2,0,0,0,0,0,60,60,0,0,0,0,55,20,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RESS1G,0,0,1,0,0,720,720,0,0,0,34,34,34,,,,,,,,,0,0,58,1,1,1,1,0,0,0,1,58,59.99872,0,58,59.99872,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RESS1L,0,0,1,4.4697,0,720,720,33.63527,34,34,0,0,0,,,,,,,,,0,0,58,0,0,0,0,1,1,1,1,0,59.99988,0,58,59.99988,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RIVNBG2,0,0,1,0.28263,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,64.99936,0,0,64.99936,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RIVNBL2,0,0,1,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,65,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ROMA_7,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,ROMA_8,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RRSF1,0,0,0,0,0,41760,41760,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_NSW2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_NSW3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_NSW4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_NSW5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_NSW6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_SA2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_SA3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_SA4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_SA5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_SA6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC10,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC11,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC12,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC7,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC8,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RT_VIC9,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RUGBYR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,RYEPARK1,0,0,0,86.55079,83.288,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,83.288,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SALTCRK1,0,0,0,29.75,29.354,660,660,0,0,0,0,0,0,,,,,,,,,0,0,29.354,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SAPHWF1,0,0,0,100.55848,100.687,3240,3240,0,0,0,0,0,0,,,,,,,,,0,0,100.687,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SEBSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SHGEN,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SHPUMP,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SITHE01,0,0,0,0.17395,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SMCSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SNAPPER1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SNOWNTH1,0,0,0,53.6,53.7,540,300,0,0,0,0,0,0,,,,,,,,,0,0,53.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SNOWSTH1,0,0,0,70.2,71.761,480,240,0,0,0,0,0,0,,,,,,,,,0,0,71.761,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SNOWTWN1,0,0,0,63.72203,66.02,1200,600,0,0,0,0,0,0,,,,,,,,,0,0,66.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SNOWYGJP,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SNOWYP,0,0,0,0,0,6000,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SNUG1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SRSF1,0,0,0,0,0,15300,15300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,STAN-1,0,0,0,184.88394,185,180,179.96,0,0,0,0,0,0,,,,,,,,,0,0,365,0,0,0,0,0,0,0,0,0,364.99966,185,0,364.99966,185 +D,DUNIT,,2,"2023/12/14 04:15:00",1,STAN-2,0,0,1,200.73956,200,239.95,239.69,0,0,0,0,10,10,,,,,,,,,0,3,365,1,1,0,1,1,1,1,1,15,360,170.00249,15,361.96185,170.00249 +D,DUNIT,,2,"2023/12/14 04:15:00",1,STAN-3,0,0,1,161.79909,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,3,270,1,1,0,1,1,1,1,1,14.99679,260.16287,150,14.99679,260.16287,150 +D,DUNIT,,2,"2023/12/14 04:15:00",1,STAN-4,0,0,1,161.88881,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,3,270,1,1,0,1,1,1,1,1,14.99679,265.14902,156.42844,14.99679,265.14902,156.42844 +D,DUNIT,,2,"2023/12/14 04:15:00",1,STARHLWF,0,0,0,20.59399,20.59399,0,420,0,0,0,0,0,0,,,,,,,,,0,0,20.59399,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,STOCKYD1,0,0,0,175.88,173.93,6120,6120,0,0,0,0,0,0,,,,,,,,,0,0,173.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,STWF1,0,0,0,51.97162,52.982,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,52.982,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SUNRSF1,0,0,0,0,0,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SUNTPSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,SWAN_E,0,0,0,-0.58,0,903.66,1.97,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0.16406,355,95,75.30469,355,95 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TALWA1,0,0,1,192,190,480,480,0,0,0,0,0,0,,,,,,,,,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TALWB1,0,0,0,0,0,1560,1560,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TARALGA1,0,0,0,0,0,180,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TARONG#1,0,0,1,272.39999,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TARONG#2,0,0,1,270.80002,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TARONG#3,0,0,1,271.39999,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TARONG#4,0,0,1,272.60001,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TARRALEA,0,0,0,68,68,0,0,0,0,0,0,0,0,,,,,,,,,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TB2BG1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TB2BL1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TB2SF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TBSF1,0,0,0,0,0,1140,1140,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TIBG1,0,0,1,0.29,0,3000,3000,0,0,0,20,20,20,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TIBL1,0,0,1,0,0,3000,3000,20,20,20,0,0,0,,,,,,,,,10,0,250,0,0,0,1,1,1,1,1,250,250,0,250,250,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TNPS1,0,0,1,442.1875,443,240,240,0,0,0,0,0,0,,,,,,,,,0,0,443,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TORRB1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,40,40,0,40,40 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TORRB2,0,0,1,40,40,300,300,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,200,40,0,200,40 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TORRB3,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,200,40,0,200,40 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TORRB4,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,40 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TREVALLN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,99,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TRIBUTE,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TUMUT3,0,0,1,0,0,6000,21600,0,0,0,10,0,0,,,,,,,,,0,0,1500,0,0,1,4,0,0,0,0,10,1250,120,20,1250,120 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TUNGATIN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,84,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TVCC201,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,TVPP104,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,UPPTUMUT,0,0,1,271.85004,295,1200,1800,20,0,0,0,0,0,,,,,,,,,0,9,642,0,0,1,1,0,0,1,1,12,642,100,20,642,80 +D,DUNIT,,2,"2023/12/14 04:15:00",1,URANQ11,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,URANQ12,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,URANQ13,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,URANQ14,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VBBG1,0,0,1,0,0,3600,3600,0,0,0,50,0,48,,,,,,,,,0,0,45,1,1,1,1,0,0,0,1,45,45,0,45,45,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VBBL1,0,0,1,0,3,3000,3000,0,0,0,0,0,0,,,,,,,,,0,3,240,0,0,0,1,1,1,1,1,150,240,0,150,240,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VENUS1,0,0,0,0,0,0,0,0,0,0,11,8,7,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VP5,0,0,1,435.60901,450,360,360,0,0,0,0,0,0,,,,,,,,,0,0,660,1,1,1,1,1,1,1,1,30.12177,654.56097,250,30.12177,654.56097,250 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VP6,0,0,1,441.12674,450,360,360,0,0,0,0,0,0,,,,,,,,,0,0,660,1,1,1,1,1,1,1,1,30.12177,660,250,30.12177,660,250 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VPGS1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VPGS2,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VPGS3,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VPGS4,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VPGS5,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VPGS6,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VSNEL2S1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VSNSN1V1,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VSQHT1V1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VSSAE1V1,0,0,0,0,0,0,0,3,3,0,3,3,0,,,,,,,,,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VSSEL1V1,0,0,0,0,0,0,0,7,7,7,7,7,7,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VSSSE1V1,0,0,0,0,0,0,0,0,2,2,2,2,2,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VSSSH1S1,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,VSVEL2S1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,W/HOE#1,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,265,0,0,0,0,0,0,0,0,125,45,160,62,45,160 +D,DUNIT,,2,"2023/12/14 04:15:00",1,W/HOE#2,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,265,0,0,0,0,0,0,0,0,125,45,160,62,45,160 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WAGGNSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WALGRVG1,0,0,1,0,0,600,600,0,0,0,27,27,27,,,,,,,,,0,0,50,1,1,1,1,0,0,0,1,50,50,0,50,50,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WALGRVL1,0,0,1,0.15731,0,600,600,27,27,27,0,0,0,,,,,,,,,20,0,47,0,0,0,1,1,1,1,1,47,47,0,47,47,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WANDBG1,0,0,1,0,0,1200,1200,0,0,0,47,47,47,,,,,,,,,0,30,94,1,1,1,1,0,0,0,0,70,94,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WANDBL1,0,0,1,0,0,1200,1200,45,45,45,0,0,0,,,,,,,,,0,0,75,0,0,0,1,1,1,1,1,30,75,0,72,75,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WANDSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WARWSF1,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WARWSF2,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WATERLWF,0,0,0,102.8,106.219,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,106.219,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WDGPH1,0,0,0,0,0,4800,4800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,59 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WELLSF1,0,0,0,0,0,2040,2040,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WEMENSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WGWF1,0,0,0,14.7,8.956,600,600,0,0,0,0,0,0,,,,,,,,,0,0,97.906,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WHITSF1,0,0,0,0,0.22462,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0.22462,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WINTSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WKIEWA1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,1,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WKIEWA2,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,1,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WOODLWN1,0,0,0,31.63671,30.257,600,600,0,0,0,0,0,0,,,,,,,,,0,0,30.257,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WOOLGSF1,0,0,0,0,0,2112,2112,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WPWF,0,0,0,16.43,18.742,600,600,0,0,0,0,0,0,,,,,,,,,0,0,18.742,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WRSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WRWF1,0,0,0,9.34157,9.497,2100,2100,0,0,0,0,0,0,,,,,,,,,0,0,9.497,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WSTWYSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,WYASF1,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,YABULU,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,YABULU2,0,0,0,0,0,480,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,YARANSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,YARWUN_1,0,0,0,117.07999,117.07999,0,0,0,0,0,0,0,0,,,,,,,,,0,0,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,YATSF1,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,YENDWF1,0,0,0,39.19,37.6719,1680,1680,0,0,0,0,0,0,,,,,,,,,0,0,37.6719,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:15:00",1,YWPS1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,364.75,250,0,364.75,250 +D,DUNIT,,2,"2023/12/14 04:15:00",1,YWPS2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,15,365,250,15,365,250 +D,DUNIT,,2,"2023/12/14 04:15:00",1,YWPS3,0,0,1,358.54178,360,180,180,0,0,0,0,0,0,,,,,,,,,0,0,360,1,1,0,1,1,1,1,1,15,360,280,15.09375,360,280 +D,DUNIT,,2,"2023/12/14 04:15:00",1,YWPS4,0,0,1,349.50885,350,180,180,0,0,0,0,0,0,,,,,,,,,0,0,350,1,1,0,1,1,1,1,1,15,350,280,20,350,280 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ADPBA1G,0,0,1,0,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ADPBA1L,0,0,1,0.002,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ADPPV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,AGLHAL,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,AGLSOM,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ANGAST1,0,0,0,-0.1,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,APD01,0,0,0,0,0,0,0,0,0,0,40,30,0,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ARWF1,0,0,0,15.8,13.53229,240,1200,0,0,0,0,0,0,,,,,,,,,0,0,13.53229,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASNAES1,0,0,0,0,0,0,0,6,4,2,2,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASNBRL1,0,0,0,0,0,0,0,0,0,0,6,6,6,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASNENC1,0,0,0,0,0,0,0,0,0,0,17,14,13,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASNSEL2,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASPAPM01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASQEEV1,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASQENC1,0,0,0,0,0,0,0,0,0,0,4,3,3,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASRMGE01,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASRMGE02,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASRMGE03,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASSDE1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASSEL1,0,0,0,0,0,0,0,7,7,7,7,7,7,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASSENC1,0,0,0,0,0,0,0,0,0,0,1,1,1,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASSERDV1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASSSN1,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASTHYD1,0,0,0,0,0,0,0,0,0,0,0,0,58.141,,,,,,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ASVIEL2,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,AVLSF1,0,0,0,0,0,2280,2280,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BALBG1,0,0,1,0,0,6000,6000,0,0,0,30,30,30,,,,,,,,,0,0,30,1,1,1,1,0,0,0,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BALBL1,0,0,1,0,0,6000,6000,28,28,28,0,0,0,,,,,,,,,2,0,30,0,0,0,1,1,1,1,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BALDHWF1,0,0,0,44.977,44.129,540,1800,0,0,0,0,0,0,,,,,,,,,0,0,44.129,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BANGOWF1,0,0,0,119.19859,118.1,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,118.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BANGOWF2,0,0,0,72.49935,69.498,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,69.498,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BANN1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BARCALDN,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BARKIPS1,0,0,1,0,0,1836,1836,0,0,0,0,0,0,,,,,,,,,0,0,122,0,0,0,0,0,0,0,0,0,9,9,0,9,9 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BARRON-1,0,4,0,32.8,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BARRON-2,0,4,0,33,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BASTYAN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BBATRYL1,0,0,1,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,50,0,0,0,0,1,1,1,1,0,50,0,50,50,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BBATTERY,0,0,1,-1.04267,0,600,600,0,0,0,0,10.4511,17,,,,,,,,,0,0,50,1,1,0,1,0,0,0,0,50,50,0,0,50,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BBTHREE1,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BBTHREE2,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BBTHREE3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BDL01,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BDL02,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BERYLSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BHBG1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BHBL1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BLOWERNG,0,0,1,62.8,63,120,120,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BLUEGSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BLUFF1,0,0,0,26.9,28,600,600,0,0,0,0,0,0,,,,,,,,,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BNGSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BNGSF2,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BOCORWF1,0,0,0,107.57,107.14,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,107.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BODWF1,0,0,0,3.99389,4.304,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,4.304,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BOLIVPS1,0,0,0,0,0,1560,1560,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BOMENSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BOWWBA1G,0,0,0,0,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BOWWBA1L,0,0,0,0.003,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BOWWPV1,0,0,0,0,0,97.38,97.38,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BRAEMAR1,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,179,97,0,179,97 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BRAEMAR2,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,183,97,0,183,97 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BRAEMAR3,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,175,97,0,175,97 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BRAEMAR5,0,0,0,0.19135,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BRAEMAR6,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BRAEMAR7,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BROKENH1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BRYB1WF1,0,0,0,104.82033,107.897,2160,2160,0,0,0,0,0,0,,,,,,,,,0,0,107.897,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BRYB2WF2,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BULBESG1,0,0,1,0,0,240,240,0,0,0,10,10,10,,,,,,,,,0,0,20,1,1,1,1,0,0,0,0,20,20,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BULBESL1,0,0,1,0.04,0,240,240,0,11,0,0,0,0,,,,,,,,,0,0,20,0,0,0,0,1,1,1,1,0,0,0,20,20,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BULGANA1,0,0,0,37.12,35.94498,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,35.94498,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BW01,0,0,1,574.72803,582.23775,180,210.12,0,0,0,0,0,0,,,,,,,,,0,10,660,0,0,0,1,0,0,0,1,17.50973,660,332.07715,17.50973,660,332.07715 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BW02,0,0,1,598.36121,608.37341,180,240,0,0,0,0,0,0,,,,,,,,,0,10,650,0,0,0,1,0,0,0,1,20.01221,649.992,330,20.01221,649.992,330 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BW03,0,0,1,595.79767,605.80988,180,240,0,0,0,0,0,0,,,,,,,,,0,10,685,0,0,0,1,0,0,0,1,20.01221,685,331.90088,20.01221,685,331.90088 +D,DUNIT,,2,"2023/12/14 04:20:00",1,BW04,0,0,1,595.72443,605.73663,180,240,0,0,0,0,0,0,,,,,,,,,0,10,670,0,0,0,1,0,0,0,1,20.01221,670,330,20.01221,670,330 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CALL_B_1,0,0,1,258.70001,260,240,240,0,0,0,0,0,0,,,,,,,,,0,0,260,1,1,1,0,1,1,1,0,0,260,210,0,260,210 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CALL_B_2,0,0,1,318.20001,320,240,240,0,0,0,0,0,0,,,,,,,,,0,0,350,1,1,1,0,1,1,1,0,0,350,280,0,350,280 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CAPBES1G,0,0,0,0,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CAPBES1L,0,0,0,0.17,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CATHROCK,0,0,0,26.8,28.052,840,840,0,0,0,0,0,0,,,,,,,,,0,0,28.052,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CBWWBA1G,0,0,0,0,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CBWWBA1L,0,0,0,0.002,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CETHANA,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,100,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CG1,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CG2,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CG3,0,4,0,152.0119,145,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CG4,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CHBESSG1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CHBESSL1,0,0,1,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CHILDSF1,0,0,0,0,0,11520,11520,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CHYTWF1,0,0,0,17.87,17.98,720,720,0,0,0,0,0,0,,,,,,,,,0,0,17.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CLARESF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CLEMGPWF,0,0,0,24.34783,34.036,660,660,0,0,0,0,0,0,,,,,,,,,0,0,34.036,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CLERMSF1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CNUNDAWF,0,0,0,13.51577,13.716,600,600,0,0,0,0,0,0,,,,,,,,,0,0,13.716,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,COHUNSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,COLEASF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,COLUMSF1,0,0,0,0.56314,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,COLWF01,0,0,0,97.46394,94.29954,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,94.29954,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,COOPGWF1,0,0,0,236.28,235.27,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,235.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CPP_3,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CPP_4,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CPSA,0,0,0,0,0,179.18,1.55,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CROOKWF2,0,0,0,61.4139,60.924,1200,6000,0,0,0,0,0,0,,,,,,,,,0,0,60.924,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CROWLWF1,0,0,0,18.45965,17.5281,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,17.5281,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CRURWF1,0,0,0,14.19799,15.198,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,15.198,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CRWASF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CSPVPS1,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,CTHLWF1,0,0,0,22.4155,23.18625,1740,1740,0,0,0,0,0,0,,,,,,,,,0,0,23.18625,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DALNTH01,0,0,0,0,0,6000,6000,0,0,0,5,23,23,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DALNTHL1,0,0,1,0.19684,0,6000,6000,0,7,7,0,0,0,,,,,,,,,0,0,7,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DARLSF1,0,0,0,0,0,3300,3300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DARTM1,0,0,0,0,0,3600,3600,0,0,0,0,0,0,,,,,,,,,0,0,177,0,0,0,0,0,0,0,0,0,1,1,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DAYDSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DDPS1,0,0,1,295.56384,255,600,600,0,0,0,0,0,0,,,,,,,,,0,0,458,0,0,0,0,0,0,0,0,0,337.77039,228,0,337.77039,228 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DDSF1,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DEVILS_G,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,64,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DG_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DG_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DG_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DG_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DG_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DPNTBG1,0,0,1,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,25,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DPNTBL1,0,0,1,0.07327,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,24.99945,0,0,24.99945,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRACAN1,0,0,0,0,0,0,0,0,0,0,1,1,0,,,,,,,,,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRAESN1,0,0,0,0,0,0,0,1,1,1,1,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DREXMN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRFIIN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRGBND02,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRSHVN01,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRSHVS01,0,0,0,0,0,0,0,0,3,0,2,2,0,,,,,,,,,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRVIOT01,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRVIOT02,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRVIOT03,0,0,0,0,0,0,0,0,0,0,2,1,1,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRVIOT04,0,0,0,0,0,0,0,0,0,0,15,15,15,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRVIOT05,0,0,0,0,0,0,0,0,0,0,3,3,3,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXNDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXNDA02,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXNDA03,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXNDA04,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXNDE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXNQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXQDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXQQE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXSQS01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXVDJ01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXVDP01,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXVDX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXVQP01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXVQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRXVQX02,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRYCGT1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRYCGT2,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DRYCGT3,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DULAWF1,0,0,0,101,101.5,2100,2100,0,0,0,0,0,0,,,,,,,,,0,0,101.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DUNDWF1,0,0,0,113.19,111.266,2040,2040,0,0,0,0,0,0,,,,,,,,,0,0,111.266,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DUNDWF2,0,0,0,29.11,28.613,600,600,0,0,0,0,0,0,,,,,,,,,0,0,28.613,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,DUNDWF3,0,0,0,74.95,73.298,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,73.298,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,EDENVSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,EILDON1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,EILDON2,0,0,0,0.04,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ELAINWF1,0,0,0,49.53,48.0979,960,960,0,0,0,0,0,0,,,,,,,,,0,0,48.0979,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,EMERASF1,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ER01,0,0,1,347.91791,352,298.92,299.66,0,0,0,0,0,0,,,,,,,,,0,0,700,0,0,0,4,0,0,0,4,24.97139,699.97406,350,24.91035,699.97406,350 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ER02,0,0,1,209.92752,210,300,300,0,0,0,0,0,0,,,,,,,,,0,0,210,0,0,0,0,0,0,0,0,0,700,210.51347,0,700,210.51347 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ER03,0,0,1,351.06738,352,296.91,297.46,0,0,0,0,0,0,,,,,,,,,2,5,640,1,1,1,1,1,1,1,1,24.78828,639.45068,350,24.7425,639.45068,350 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ER04,0,0,1,350.09079,352,297.83,298.92,0,0,0,0,0,0,,,,,,,,,2,5,650,1,1,1,1,1,1,1,1,24.91035,650,350,24.8188,650,350 +D,DUNIT,,2,"2023/12/14 04:20:00",1,FINLYSF1,0,0,0,0,0,180,1620,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,FISHER,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,FLYCRKWF,0,0,0,9.96,10,1680,1680,0,0,0,0,0,0,,,,,,,,,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GANGARR1,0,0,0,0,0,1440,1440,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GANNBG1,0,0,1,0,0,300,300,0,0,0,10,10,10,,,,,,,,,0,7,25,1,1,1,1,0,0,0,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GANNBL1,0,0,1,0.48358,0,300,300,0,0,0,0,0,0,,,,,,,,,24.9999,0,25,0,0,0,1,1,1,1,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GANNSF1,0,0,0,0,0,3000,3000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GLENSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GLRWNSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GNNDHSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GOONSF1,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GORDON,0,0,1,11.24651,12,1800,1800,0,0,0,58,72,40,,,,,,,,,0,50,345,1,1,1,1,1,1,1,4,119,120,1,138,120,12 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GRANWF1,0,0,0,94.8,97.68793,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,97.68793,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GSTONE1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GSTONE2,0,0,1,130.68945,111,296.29,296.29,0,0,0,0,0,0,,,,,,,,,0,0,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GSTONE3,0,0,1,131.22949,111,299.57,299.57,0,0,0,0,0,0,,,,,,,,,0,0,280,0,0,0,1,0,0,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GSTONE4,0,0,1,129.38379,111,294.07,294.07,0,0,0,0,0,0,,,,,,,,,0,0,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GSTONE5,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GSTONE6,0,0,1,200.09473,200,295.36,295.36,0,0,0,0,0,0,,,,,,,,,0,0,280,1,1,0,1,1,1,0,1,15,241,190,20,241,190 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GSWF1A,0,0,0,0,0,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GSWF1B1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GULLRSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GULLRWF1,0,0,0,131.07301,128.67135,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,128.67135,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GULLRWF2,0,0,0,94.04196,93.43844,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,93.43844,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GUNNING1,0,0,0,0.00034,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,GUTHEGA,0,0,1,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,34,10,0,34,10 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HALLWF1,0,0,0,24.49,24.65,600,600,0,0,0,0,0,0,,,,,,,,,0,0,24.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HALLWF2,0,0,0,32.98,33,600,600,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HAMISF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HAUGHT11,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HAYMSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HBESSG1,0,0,1,0,0,1800,1800,0,0,0,1,4,20,,,,,,,,,0,0,5,1,1,1,1,0,0,0,1,5,150,0,5,150,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HBESSL1,0,0,1,2.5,0,1800,1800,61,49,61,0,0,0,,,,,,,,,31,0,111,0,0,0,1,1,1,1,1,110,150,0,110,150,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HDWF1,0,0,1,75.6,74.47,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,74.47,0,0,0,0,0,0,0,0,0,74.47,15,0,74.47,15 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HDWF2,0,0,1,67.1,67.81,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,67.81,0,0,0,0,0,1,1,0,0,67.81,15,0,67.81,15 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HDWF3,0,0,1,71.4,73.57,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,73.57,0,0,0,0,0,0,0,0,0,73.57,15,0,73.57,15 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HEZ1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HILLSTN1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HPRG1,0,0,1,0,0,960,960,0,0,0,85,85,85,,,,,,,,,0,3,56,1,1,1,1,0,0,0,1,60,60,0,56,60,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HPRL1,0,0,1,8.5,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,75,0,0,0,1,1,1,1,1,75,75,0,75,75,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HUMENSW,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HUMEV,0,0,0,14.8,14,120,120,0,0,0,0,0,0,,,,,,,,,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HVWWBA1G,0,0,0,0,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HVWWBA1L,0,0,0,0.005,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,HVWWPV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,JBUTTERS,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,142,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,JEMALNG1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,JLA01,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,JLA02,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,JLA03,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,JLA04,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,JLB01,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,JLB02,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,JLB03,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,JUNEESF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KABANWF1,0,0,0,88.049,86.998,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,86.998,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KAREEYA1,0,4,1,21.6025,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KAREEYA2,0,4,1,21.55,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KAREEYA3,0,4,1,21.4725,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,4,0,0,0,0,16,21,5,8,21,5 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KAREEYA4,0,4,1,21.5125,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KARSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KEPBG1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KEPBL1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KEPSF1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KEPWF1,0,0,0,30.41,30,480,480,0,0,0,0,0,0,,,,,,,,,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KIAMSF1,0,0,0,0,0,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KIATAWF1,0,0,0,26.3,26,180,420,0,0,0,0,0,0,,,,,,,,,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KPP_1,0,0,1,762.17114,761,479.9,479.9,0,0,0,0,0,0,,,,,,,,,0,0,761,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,KSP1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LADBROK1,0,0,0,-0.01,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LADBROK2,0,0,0,0.02,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LBBG1,0,0,1,0,0,300,300,0,0,0,13,13,13,,,,,,,,,0,6,24,1,1,1,1,0,0,0,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LBBL1,0,0,1,0.15,0,300,300,13,13,13,0,0,0,,,,,,,,,0,0,24,0,0,0,1,1,1,1,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LEM_WIL,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LGAPWF1,0,0,0,34.06,34.3,600,600,0,0,0,0,0,0,,,,,,,,,0,0,34.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LGAPWF2,0,0,0,16.82,16.751,600,600,0,0,0,0,0,0,,,,,,,,,0,0,16.751,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LILYSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LIMOSF11,0,0,0,0,0,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LIMOSF21,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LI_WY_CA,0,0,1,52.65826,53,1680,1680,0,0,0,12.78378,0,0,,,,,,,,,0,0,182,1,1,1,0,1,1,1,0,0,71,1,0,71,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LKBONNY1,0,0,0,23.30976,21.256,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,21.256,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LKBONNY2,0,0,0,44.43077,44.152,1920,1920,0,0,0,0,0,0,,,,,,,,,0,0,44.152,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LKBONNY3,0,0,0,13.62059,12.951,480,480,0,0,0,0,0,0,,,,,,,,,0,0,12.951,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LK_ECHO,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LNGS1,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LNGS2,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LONSDALE,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,19,0,0,0,0,0,0,0,0,0,0,5,0,0,5 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LOYYB1,0,0,1,568.42023,570,600,600,0,0,0,0,0,0,,,,,,,,,0,0,570,1,1,1,1,1,1,1,1,50,570,319.875,50,570,319.875 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LOYYB2,0,0,1,569.92407,570,600,600,0,0,0,0,0,0,,,,,,,,,0,0,570,1,1,1,1,1,1,1,1,50.15625,570,350.25,50.15625,570,350.25 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LYA1,0,0,1,504,510,300,300,5,10,5,0,0,0,,,,,,,,,10,0,520,1,1,1,1,1,1,1,1,25,520,300,25,520,300 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LYA2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,204,300,0,204,300 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LYA3,0,0,1,558,560,300,300,5,10,5,0,0,0,,,,,,,,,14.0001,0,560,1,1,1,1,1,1,1,1,25,560,300,25,560,300 +D,DUNIT,,2,"2023/12/14 04:20:00",1,LYA4,0,0,1,548,550,300,300,5,10,5.4629,0,0,0,,,,,,,,,15,0,550,1,1,1,1,1,1,1,1,25,550,300,25,550,300 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MACARTH1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MACKNTSH,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,88,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MANNSF2,0,0,0,0,0,240,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MANSLR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MAPS2PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MAPS3PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MARYRSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MBPS2PV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MCKAY1,0,0,0,0.02,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,300,0,0,0,0,1,1,0,0,299,300,19.95,300,300,19.95 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MEADOWBK,0,0,1,29.8661,30,480,60,0,0,0,0,0,0,,,,,,,,,0,0,44,1,1,0,0,1,1,0,0,0,42,4.5,0,42,8 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MERCER01,0,0,0,65.1,66.8,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,66.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,METZSF1,0,0,0,0,0,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MEWF1,0,0,0,164.10214,163.96293,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,163.96294,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MIDDLSF1,0,0,0,0.05,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MINTARO,0,0,0,0.08545,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MOLNGSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MOORAWF1,0,0,0,0,169.495,3660,3660,0,0,0,0,0,0,,,,,,,,,0,0,169.495,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MOREESF1,0,0,0,0,0,180,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MORTLK11,0,4,1,116,181,780,780,0,0,0,0,0,0,,,,,,,,,0,0,273,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MORTLK12,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,269,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MOUSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MP1,0,0,1,409.78409,424.78409,180,180,0,60,40,0,20,1.02805,,,,,,,,,0,0,730,1,1,1,1,1,1,1,1,60,517.89117,250.23575,60,517.89117,250.23575 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MP2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,25.00191,700,220,25.00191,700,220 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MPP_1,0,0,1,425.5361,426,299.94,299.94,0,0,0,0,0,0,,,,,,,,,0,0,426,0,0,0,0,0,0,0,0,0,425.9939,350,0,425.9939,350 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MPP_2,0,0,1,405.10391,405,119.94,119.94,0,0,0,0,0,0,,,,,,,,,0,0,405,0,0,0,0,0,0,0,0,0,404.9971,350,0,404.9971,350 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MRTLSWF1,0,0,0,0,0,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MSTUART1,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,138,43,0,138,43 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MSTUART2,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,144,43,0,144,43 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MSTUART3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MTGELWF1,0,0,0,99.20041,99.7193,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,99.7193,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MTMILLAR,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,17.194,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MURRAY,0,0,1,0,0,6000,9000,0,0,0,0,0,0,,,,,,,,,0,0,915,0,0,0,4,0,0,4,4,10,886,105,10,886,105 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MUSSELR1,0,0,0,110,108.2,10080,9000,0,0,0,0,0,0,,,,,,,,,0,0,108.2,0,0,0,0,0,0,0,0,0,106.88,50,0,106.88,50 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MUWAWF1,0,0,0,62.5,63.12,2700,1380,0,0,0,0,0,0,,,,,,,,,0,0,63.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MUWAWF2,0,0,0,104.9,99.19668,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,99.19668,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MWPS1PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MWPS2PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MWPS3PV1,0,0,1,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,MWPS4PV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,NBHWF1,0,0,0,62.9,61.2,600,600,0,0,0,0,0,0,,,,,,,,,0,0,61.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,NEVERSF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,NEWENSF1,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,NEWENSF2,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,NPS,0,0,0,0,0,6.75,6.75,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,NUMURSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,NYNGAN1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,OAKEY1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,172.99594,40,0,172.99594,40 +D,DUNIT,,2,"2023/12/14 04:20:00",1,OAKEY1SF,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,OAKEY2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,170,40,0,170,40 +D,DUNIT,,2,"2023/12/14 04:20:00",1,OAKEY2SF,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,OAKLAND1,0,0,0,30.8,30.4,600,600,0,0,0,0,0,0,,,,,,,,,0,0,30.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,OSB-AG,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,181.15999,145,0,181.15999,145 +D,DUNIT,,2,"2023/12/14 04:20:00",1,PAREPS1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,PAREPW1,0,0,0,72.09,80.334,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,80.334,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,PARSF1,0,0,0,0.00153,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,PIBESSG1,0,0,1,0,0,60,60,0,0,0,0,1,2,,,,,,,,,0,0,1,1,1,0,1,0,0,0,1,1,4.303,0,1,4.303,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,PIBESSL1,0,0,1,0.044,0,60,60,0,0,0,0,0,0,,,,,,,,,4,0,4,0,0,0,1,1,1,1,1,4,4.303,0,4,4.303,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,POAT110,0,0,1,85.83353,98,960,960,0,20.09794,0,0,0,0,,,,,,,,,46.87805,0,113,0,3,3,3,1,1,1,1,57,98,5,62,113.5,5 +D,DUNIT,,2,"2023/12/14 04:20:00",1,POAT220,0,0,1,118.03409,120,960,1200,0,0,0,0,0.71795,0,,,,,,,,,3.12195,0,120,0,1,1,1,1,1,1,1,57,120,0,61,121,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,POR01,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,POR03,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,PPCCGT,0,0,1,164.15668,167,540,540,0,0,0,0,0,0,,,,,,,,,0,0,241,0,0,0,0,0,0,0,0,49.85147,241,165,49.85147,241,165 +D,DUNIT,,2,"2023/12/14 04:20:00",1,PTSTAN1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,PUMP1,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,PUMP2,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,QBYNBG1,0,0,1,0.1415,0,120,120,0,0,0,5,5,5,,,,,,,,,0,5,10,1,1,1,1,0,0,0,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,QBYNBL1,0,0,1,0,0,120,120,5,5,5,0,0,0,,,,,,,,,5,0,10,0,0,0,1,1,1,1,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,QPS1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,QPS2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,QPS3,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,QPS4,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,QPS5,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,127,74,0,127,74 +D,DUNIT,,2,"2023/12/14 04:20:00",1,REECE1,0,0,0,0,0,60,60,0,0,0,0,23,22,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,REECE2,0,0,0,0,0,60,60,0,0,0,0,55,20,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RESS1G,0,0,1,0,0,720,720,0,0,0,34,34,34,,,,,,,,,0,0,59,1,1,1,1,0,0,0,1,59,59.99872,0,59,59.99872,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RESS1L,0,0,1,0.82695,5,720,720,0,34,34,0,0,0,,,,,,,,,0,0,59,0,0,0,0,1,1,1,1,0,59.99988,0,59,59.99988,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RIVNBG2,0,0,1,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,64.99936,0,0,64.99936,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RIVNBL2,0,0,1,0.18991,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,65,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ROMA_7,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,ROMA_8,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RRSF1,0,0,0,0,0,41760,41760,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_NSW2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_NSW3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_NSW4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_NSW5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_NSW6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_SA2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_SA3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_SA4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_SA5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_SA6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC10,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC11,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC12,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC7,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC8,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RT_VIC9,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RUGBYR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,RYEPARK1,0,0,0,88.32731,89.632,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,89.632,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SALTCRK1,0,0,0,29.52,29.214,660,660,0,0,0,0,0,0,,,,,,,,,0,0,29.214,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SAPHWF1,0,0,0,102.1973,100.385,3240,3240,0,0,0,0,0,0,,,,,,,,,0,0,100.385,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SEBSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SHGEN,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SHPUMP,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SITHE01,0,0,0,0.1639,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SMCSF1,0,0,0,0,0.02888,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0.02888,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SNAPPER1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SNOWNTH1,0,0,0,53,53.459,540,300,0,0,0,0,0,0,,,,,,,,,0,0,53.459,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SNOWSTH1,0,0,0,70,70,480,240,0,0,0,0,0,0,,,,,,,,,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SNOWTWN1,0,0,0,64.5454,69.498,1200,600,0,0,0,0,0,0,,,,,,,,,0,0,69.498,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SNOWYGJP,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SNOWYP,0,0,0,0,0,6000,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SNUG1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SRSF1,0,0,0,0,0,15300,15300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,STAN-1,0,0,0,184.88394,185,180,179.96,0,0,0,0,0,0,,,,,,,,,0,0,365,0,0,0,0,0,0,0,0,0,364.99966,185,0,364.99966,185 +D,DUNIT,,2,"2023/12/14 04:20:00",1,STAN-2,0,0,1,197.65048,200,239.95,239.69,0,0,0,0,10,10,,,,,,,,,0,3,365,1,1,0,1,1,1,1,1,15,360,170.00249,15,361.52606,170.00249 +D,DUNIT,,2,"2023/12/14 04:20:00",1,STAN-3,0,0,1,157.82558,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,3,270,1,1,0,1,1,1,1,1,14.99679,259.94498,150,14.99679,259.94498,150 +D,DUNIT,,2,"2023/12/14 04:20:00",1,STAN-4,0,0,1,158.54337,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,3,270,1,1,0,1,1,1,1,1,14.99679,264.85422,156.42844,14.99679,264.85422,156.42844 +D,DUNIT,,2,"2023/12/14 04:20:00",1,STARHLWF,0,0,0,20.19411,20.19411,0,420,0,0,0,0,0,0,,,,,,,,,0,0,20.19411,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,STOCKYD1,0,0,0,170.62,169.13,6120,6120,0,0,0,0,0,0,,,,,,,,,0,0,169.13,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,STWF1,0,0,0,49.76333,49.203,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,49.203,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SUNRSF1,0,0,0,0,0,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SUNTPSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,SWAN_E,0,0,0,-0.58,0,903.66,1.97,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0.16406,355,95,75.30469,355,95 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TALWA1,0,0,1,191,190,480,480,0,0,0,0,0,0,,,,,,,,,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TALWB1,0,0,0,0,0,1560,1560,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TARALGA1,0,0,0,0,0,180,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TARONG#1,0,0,1,270.10001,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TARONG#2,0,0,1,268.70001,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TARONG#3,0,0,1,268.70001,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TARONG#4,0,0,1,269.60001,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TARRALEA,0,0,0,67.9,67.9,0,0,0,0,0,0,0,0,,,,,,,,,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TB2BG1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TB2BL1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TB2SF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TBSF1,0,0,0,0,0,1140,1140,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TIBG1,0,0,1,0.13,0,3000,3000,0,0,0,20,20,20,,,,,,,,,0,30,0,1,1,1,1,0,0,0,1,250,250,0,250,250,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TIBL1,0,0,1,0,0,3000,3000,20,20,20,0,0,0,,,,,,,,,20,0,250,0,0,0,1,1,1,1,1,250,250,0,250,250,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TNPS1,0,0,1,439.93747,443,240,240,0,0,0,0,0,0,,,,,,,,,0,0,443,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TORRB1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,40,40,0,40,40 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TORRB2,0,0,1,40,40,300,300,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,200,40,0,200,40 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TORRB3,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,200,40,0,200,40 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TORRB4,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,40 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TREVALLN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,99,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TRIBUTE,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TUMUT3,0,0,1,0,0,6000,21600,0,0,0,10,0,0,,,,,,,,,0,0,1500,0,0,1,4,0,0,0,4,10,1250,120,20,1250,120 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TUNGATIN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,84,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TVCC201,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,TVPP104,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,UPPTUMUT,0,0,1,290.98779,213.15104,1200,1800,20,0,0,0,0,0,,,,,,,,,10,6,642,0,0,1,1,0,0,1,1,12,642,100,20,642,80 +D,DUNIT,,2,"2023/12/14 04:20:00",1,URANQ11,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,URANQ12,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,URANQ13,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,URANQ14,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VBBG1,0,0,1,0,0,3600,3600,0,0,0,17.78769,0,44,,,,,,,,,0,5,45,1,1,1,1,0,0,0,1,45,45,0,45,45,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VBBL1,0,0,1,2.9,7,3000,3000,0,0,0,0,0,0,,,,,,,,,0,7,240,0,0,0,1,1,1,1,1,150,240,0,150,240,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VENUS1,0,0,0,0,0,0,0,0,0,0,11,8,7,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VP5,0,0,1,450.69736,420.82737,358.44,358.44,0,0,0,0,0,0,,,,,,,,,0,0,660,1,1,1,1,1,1,1,1,29.86999,654.51215,250,29.86999,654.51215,250 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VP6,0,0,1,450.33112,420.46113,358.44,358.44,0,0,0,0,0,0,,,,,,,,,0,0,660,1,1,1,1,1,1,1,1,29.86999,660,250,29.86999,660,250 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VPGS1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VPGS2,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VPGS3,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VPGS4,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VPGS5,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VPGS6,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VSNEL2S1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VSNSN1V1,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VSQHT1V1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VSSAE1V1,0,0,0,0,0,0,0,3,3,0,3,3,0,,,,,,,,,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VSSEL1V1,0,0,0,0,0,0,0,6,6,6,6,6,6,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VSSSE1V1,0,0,0,0,0,0,0,0,2,2,2,2,2,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VSSSH1S1,0,0,0,0,0,0,0,0,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,VSVEL2S1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,W/HOE#1,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,265,0,0,0,0,0,0,0,0,125,45,160,62,45,160 +D,DUNIT,,2,"2023/12/14 04:20:00",1,W/HOE#2,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,265,0,0,0,0,0,0,0,0,125,45,160,62,45,160 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WAGGNSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WALGRVG1,0,0,1,0,0,600,600,0,0,0,27,27,27,,,,,,,,,0,0,50,1,1,1,1,0,0,0,1,50,50,0,50,50,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WALGRVL1,0,0,1,0.01582,0,600,600,27,27,27,0,0,0,,,,,,,,,20,0,47,0,0,0,1,1,1,1,1,47,47,0,47,47,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WANDBG1,0,0,1,0,0,1200,1200,0,0,0,47,47,47,,,,,,,,,0,30,94,1,1,1,1,0,0,0,0,70,94,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WANDBL1,0,0,1,0.57698,0,1200,1200,47,47,47,0,0,0,,,,,,,,,0,0,75,0,0,0,1,1,1,1,1,30,75,0,72,75,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WANDSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WARWSF1,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WARWSF2,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WATERLWF,0,0,0,104.6,104.423,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,106.219,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WDGPH1,0,0,0,0,0,4800,4800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,59 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WELLSF1,0,0,0,0,0,2040,2040,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WEMENSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WGWF1,0,0,0,9.3,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,97.511,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WHITSF1,0,0,0,0,0.22471,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0.22471,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WINTSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WKIEWA1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,1,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WKIEWA2,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,1,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WOODLWN1,0,0,0,26.2753,28.095,600,600,0,0,0,0,0,0,,,,,,,,,0,0,28.095,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WOOLGSF1,0,0,0,0,0,2112,2112,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WPWF,0,0,0,19.6,21.447,600,600,0,0,0,0,0,0,,,,,,,,,0,0,21.447,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WRSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WRWF1,0,0,0,7.58618,8.47,2100,2100,0,0,0,0,0,0,,,,,,,,,0,0,8.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WSTWYSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,WYASF1,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,YABULU,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,YABULU2,0,0,0,0,0,480,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,YARANSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,YARWUN_1,0,0,0,116.27,116.27,0,0,0,0,0,0,0,0,,,,,,,,,0,0,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,YATSF1,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,YENDWF1,0,0,0,42.33,41.25732,1680,1680,0,0,0,0,0,0,,,,,,,,,0,0,41.25732,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:20:00",1,YWPS1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,365,250,0,365,250 +D,DUNIT,,2,"2023/12/14 04:20:00",1,YWPS2,0,0,0,0,0,178.88,178.88,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,14.90625,364.75,250,14.90625,364.75,250 +D,DUNIT,,2,"2023/12/14 04:20:00",1,YWPS3,0,0,1,359.95316,360,180,180,0,0,0,0,0,0,,,,,,,,,0,0,360,1,1,0,1,1,1,1,1,15,360,280,15.1875,360,280 +D,DUNIT,,2,"2023/12/14 04:20:00",1,YWPS4,0,0,1,349.50885,350,180,180,0,0,0,0,0,0,,,,,,,,,0,0,350,1,1,0,1,1,1,1,1,15,350,280,20,350,280 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ADPBA1G,0,0,1,0,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ADPBA1L,0,0,1,0.002,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ADPPV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,AGLHAL,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,AGLSOM,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ANGAST1,0,0,0,-0.1,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,APD01,0,0,0,0,0,0,0,0,0,0,40,30,20,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ARWF1,0,0,0,16.8,16.36787,240,1200,0,0,0,0,0,0,,,,,,,,,0,0,16.36787,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASNAES1,0,0,0,0,0,0,0,6,4,2,2,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASNBRL1,0,0,0,0,0,0,0,0,0,0,6,6,6,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASNENC1,0,0,0,0,0,0,0,0,0,0,34,14,26,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASNSEL2,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASPAPM01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASQEEV1,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASQENC1,0,0,0,0,0,0,0,0,0,0,9,3,3,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASRMGE01,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASRMGE02,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASRMGE03,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASSDE1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASSEL1,0,0,0,0,0,0,0,8,8,8,8,8,8,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASSENC1,0,0,0,0,0,0,0,0,0,0,3,1,1.29245,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASSERDV1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASSSN1,0,0,0,0,0,0,0,1,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASTHYD1,0,0,0,0,0,0,0,0,0,0,0,0,57.99699,,,,,,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ASVIEL2,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,AVLSF1,0,0,0,0,0,2280,2280,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BALBG1,0,0,1,0,0,6000,6000,0,0,0,30,30,30,,,,,,,,,0,0,30,1,1,1,1,0,0,0,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BALBL1,0,0,1,0,0,6000,6000,28,28,28,0,0,0,,,,,,,,,2,0,30,0,0,0,1,1,1,1,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BALDHWF1,0,0,0,46.183,46.219,540,1800,0,0,0,0,0,0,,,,,,,,,0,0,46.219,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BANGOWF1,0,0,0,121.89883,120.996,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,120.996,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BANGOWF2,0,0,0,68.89883,71.399,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,71.399,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BANN1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BARCALDN,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BARKIPS1,0,0,1,0,0,1836,1836,0,0,0,0,0,0,,,,,,,,,0,0,122,0,0,0,0,0,0,0,0,0,9,9,0,9,9 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BARRON-1,0,4,0,32.8,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BARRON-2,0,4,0,33,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BASTYAN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BBATRYL1,0,0,1,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,50,0,0,0,0,1,1,1,1,0,50,0,50,50,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BBATTERY,0,0,1,-0.70537,0,600,600,0,0,0,0,27,17,,,,,,,,,0,0,50,1,1,0,1,0,0,0,0,50,50,0,0,50,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BBTHREE1,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BBTHREE2,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BBTHREE3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BDL01,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BDL02,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BERYLSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BHBG1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BHBL1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BLOWERNG,0,0,1,62.7,63,120,120,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BLUEGSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BLUFF1,0,0,0,28.4,27,600,600,0,0,0,0,0,0,,,,,,,,,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BNGSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BNGSF2,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BOCORWF1,0,0,0,106.86,107.04,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,107.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BODWF1,0,0,0,1.72796,2.127,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,2.127,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BOLIVPS1,0,0,0,0,0,1560,1560,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BOMENSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BOWWBA1G,0,0,0,0,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BOWWBA1L,0,0,0,0.003,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BOWWPV1,0,0,0,0,0,97.38,97.38,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BRAEMAR1,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,179,97,0,179,97 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BRAEMAR2,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,183,97,0,183,97 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BRAEMAR3,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,175,97,0,175,97 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BRAEMAR5,0,0,0,0.19135,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BRAEMAR6,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BRAEMAR7,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BROKENH1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BRYB1WF1,0,0,0,116.24017,111.498,2160,2160,0,0,0,0,0,0,,,,,,,,,0,0,111.498,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BRYB2WF2,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BULBESG1,0,0,1,0,0,240,240,0,0,0,10,10,10,,,,,,,,,0,0,20,1,1,1,1,0,0,0,0,20,20,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BULBESL1,0,0,1,0,0,240,240,0,11,11,0,0,0,,,,,,,,,0,0,20,0,0,0,0,1,1,1,1,0,0,0,20,20,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BULGANA1,0,0,0,28.64,26.95447,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,26.95447,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BW01,0,0,1,583.59045,591.10018,180,210.12,0,0,0,0,0,0,,,,,,,,,0,10,660,0,0,0,1,0,0,0,1,17.50973,660,335.1236,17.50973,660,335.1236 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BW02,0,0,1,606.36914,616.38135,180,240,0,0,0,0,0,0,,,,,,,,,0,10,650,0,0,0,1,0,0,0,1,20.01221,649.992,368.48364,20.01221,649.992,368.48364 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BW03,0,0,1,605.90521,613.41494,180,210.12,0,0,0,0,0,0,,,,,,,,,0,10,685,0,0,0,1,0,0,0,1,17.50973,685,332.22821,17.50973,685,332.22821 +D,DUNIT,,2,"2023/12/14 04:25:00",1,BW04,0,0,1,608.61523,618.62744,180,240,0,0,0,0,0,0,,,,,,,,,0,10,670,0,0,0,1,0,0,0,1,20.01221,670,330,20.01221,670,330 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CALL_B_1,0,0,1,260,260,240,240,0,0,0,0,0,0,,,,,,,,,0,0,260,1,1,1,0,1,1,1,0,0,260,210,0,260,210 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CALL_B_2,0,0,1,319.60001,320,240,240,0,0,0,0,0,0,,,,,,,,,0,0,350,1,1,1,0,1,1,1,0,0,350,280,0,350,280 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CAPBES1G,0,0,0,0,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CAPBES1L,0,0,0,0.17,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CATHROCK,0,0,0,28,28,840,840,0,0,0,0,0,0,,,,,,,,,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CBWWBA1G,0,0,0,0,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CBWWBA1L,0,0,0,0.002,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CETHANA,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,100,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CG1,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CG2,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CG3,0,4,0,150.12222,140,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CG4,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CHBESSG1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CHBESSL1,0,0,1,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CHILDSF1,0,0,0,0,0,11520,11520,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CHYTWF1,0,0,0,17.32,17.07,720,720,0,0,0,0,0,0,,,,,,,,,0,0,17.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CLARESF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CLEMGPWF,0,0,0,29.53435,34.036,660,660,0,0,0,0,0,0,,,,,,,,,0,0,34.036,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CLERMSF1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CNUNDAWF,0,0,0,15.81845,15.518,600,600,0,0,0,0,0,0,,,,,,,,,0,0,15.518,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,COHUNSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,COLEASF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,COLUMSF1,0,0,0,0.56314,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,COLWF01,0,0,0,92.92744,91.42157,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,91.42157,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,COOPGWF1,0,0,0,228.46001,230.24,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,230.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CPP_3,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CPP_4,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CPSA,0,0,0,0,0,179.18,1.55,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CROOKWF2,0,0,0,61.47372,60.924,1200,6000,0,0,0,0,0,0,,,,,,,,,0,0,60.924,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CROWLWF1,0,0,0,17.17862,15.72613,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,15.72613,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CRURWF1,0,0,0,9.49851,9.596,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,9.596,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CRWASF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CSPVPS1,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,CTHLWF1,0,0,0,31.27794,33.68308,1740,1740,0,0,0,0,0,0,,,,,,,,,0,0,33.68308,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DALNTH01,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DALNTHL1,0,0,1,0.09613,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DARLSF1,0,0,0,0,0,3300,3300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DARTM1,0,0,0,0,0,3600,3600,0,0,0,0,0,0,,,,,,,,,0,0,177,0,0,0,0,0,0,0,0,0,1,1,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DAYDSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DDPS1,0,0,1,255.29279,255,600,600,0,0,0,0,0,0,,,,,,,,,0,0,458,0,0,0,0,0,0,0,0,0,323.67081,228,0,323.67081,228 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DDSF1,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DEVILS_G,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,64,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DG_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DG_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DG_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DG_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DG_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DPNTBG1,0,0,1,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,25,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DPNTBL1,0,0,1,0.03738,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,24.99945,0,0,24.99945,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRACAN1,0,0,0,0,0,0,0,0,0,0,1,1,0,,,,,,,,,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRAESN1,0,0,0,0,0,0,0,1,1,1,1,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DREXMN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRFIIN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRGBND02,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRSHVN01,0,0,0,0,0,0,0,1,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRSHVS01,0,0,0,0,0,0,0,3,3,0,2,2,0,,,,,,,,,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRVIOT01,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRVIOT02,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRVIOT03,0,0,0,0,0,0,0,0,0,0,2,1,1,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRVIOT04,0,0,0,0,0,0,0,0,0,0,15,15,14,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRVIOT05,0,0,0,0,0,0,0,0,0,0,3,3,3,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXNDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXNDA02,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXNDA03,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXNDA04,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXNDE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXNQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXQDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXQQE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXSQS01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXVDJ01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXVDP01,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXVDX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXVQP01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXVQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRXVQX02,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRYCGT1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRYCGT2,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DRYCGT3,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DULAWF1,0,0,0,103.8,105.6,2100,2100,0,0,0,0,0,0,,,,,,,,,0,0,105.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DUNDWF1,0,0,0,107.84,106.125,2040,2040,0,0,0,0,0,0,,,,,,,,,0,0,106.125,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DUNDWF2,0,0,0,23.3,23.113,600,600,0,0,0,0,0,0,,,,,,,,,0,0,23.113,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,DUNDWF3,0,0,0,79.24,78.02,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,78.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,EDENVSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,EILDON1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,EILDON2,0,0,0,0.04,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ELAINWF1,0,0,0,50.49,51.14145,960,960,0,0,0,0,0,0,,,,,,,,,0,0,51.14145,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,EMERASF1,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ER01,0,0,1,347.18549,352,298.92,300,0,0,0,0,0,0,,,,,,,,,0,0,700,4,4,0,4,0,0,0,0,25,699.99847,350,24.91035,699.99847,350 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ER02,0,0,1,211.68536,210,300,300,0,0,0,0,0,0,,,,,,,,,0,0,210,0,0,0,0,0,0,0,0,0,700,210.44022,0,700,210.44022 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ER03,0,0,1,351.89746,352,296.91,297.46,0,0,0,0,27,27,,,,,,,,,0,5,640,1,1,1,1,1,1,1,1,24.78828,639.40186,350,24.7425,639.40186,350 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ER04,0,0,1,352.43457,352,298.19,298.92,0,0,0,0,27,27,,,,,,,,,0,5,650,1,1,1,1,1,1,1,1,24.91035,650,350,24.84932,650,350 +D,DUNIT,,2,"2023/12/14 04:25:00",1,FINLYSF1,0,0,0,0,0,180,1620,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,FISHER,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,FLYCRKWF,0,0,0,9.93,10,1680,1680,0,0,0,0,0,0,,,,,,,,,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GANGARR1,0,0,0,0,0,1440,1440,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GANNBG1,0,0,1,0,0,300,300,0,0,0,10,10,10,,,,,,,,,0,7,25,1,1,1,1,0,0,0,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GANNBL1,0,0,1,0.12174,0,300,300,0,0,0,0,0,0,,,,,,,,,24.9999,0,25,0,0,0,1,1,1,1,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GANNSF1,0,0,0,0,0,3000,3000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GLENSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GLRWNSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GNNDHSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GOONSF1,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GORDON,0,0,1,11.5761,12,1800,1800,0,0,12,58,72,40,,,,,,,,,0,50,345,1,1,1,1,1,1,1,4,119,120,1,138,120,12 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GRANWF1,0,0,0,104.64,104.42963,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,104.42963,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GSTONE1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GSTONE2,0,0,1,112.47168,111,289.81,289.81,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GSTONE3,0,0,1,110.33887,111,287.04,287.04,0,0,0,0,0,0,,,,,,,,,0,5,280,0,0,0,1,0,0,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GSTONE4,0,0,1,112.06836,111,287.76,287.76,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GSTONE5,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GSTONE6,0,0,1,200.10156,200,295.36,295.36,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,241,190,20,241,190 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GSWF1A,0,0,0,0,0,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GSWF1B1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GULLRSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GULLRWF1,0,0,0,131.423,126.04674,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,126.04674,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GULLRWF2,0,0,0,92.53754,92.09697,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,92.09697,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GUNNING1,0,0,0,0.00034,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,GUTHEGA,0,0,1,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,34,10,0,34,10 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HALLWF1,0,0,0,24.56,24.56,600,600,0,0,0,0,0,0,,,,,,,,,0,0,24.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HALLWF2,0,0,0,33.09,33.12,600,600,0,0,0,0,0,0,,,,,,,,,0,0,33.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HAMISF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HAUGHT11,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HAYMSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HBESSG1,0,0,1,0,0,1800,1800,0,0,0,0,0,2,,,,,,,,,0,0,1,1,0,0,1,0,0,0,1,1,150,0,1,150,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HBESSL1,0,0,1,2.8,0,1800,1800,0,0,0,0,0,0,,,,,,,,,78.0001,0,114,0,0,0,1,1,1,1,1,113,150,0,113,150,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HDWF1,0,0,1,74.1,75.25,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,75.25,0,0,0,0,0,0,0,0,0,75.25,15,0,75.25,15 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HDWF2,0,0,1,67.6,72.17,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,72.17,0,0,0,0,0,1,1,0,0,71.2,15,0,71.2,15 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HDWF3,0,0,1,72.9,72.7,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,72.7,0,0,0,0,0,0,0,0,0,72.7,15,0,72.7,15 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HEZ1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HILLSTN1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HPRG1,0,0,1,0,0,960,960,0,0,0,85,85,85,,,,,,,,,0,0,60,1,1,1,1,0,0,0,1,60,60,0,60,60,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HPRL1,0,0,1,2.2,0,960,960,0,18.87784,17.42772,0,0,0,,,,,,,,,0,0,75,0,0,0,1,1,1,1,1,75,75,0,75,75,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HUMENSW,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HUMEV,0,0,0,14.8,14,120,120,0,0,0,0,0,0,,,,,,,,,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HVWWBA1G,0,0,0,0,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HVWWBA1L,0,0,0,0.005,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,HVWWPV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,JBUTTERS,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,142,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,JEMALNG1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,JLA01,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,JLA02,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,JLA03,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,JLA04,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,JLB01,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,JLB02,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,JLB03,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,JUNEESF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KABANWF1,0,0,0,87.80101,87.663,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,87.663,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KAREEYA1,0,4,1,21.525,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KAREEYA2,0,4,1,21.5225,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KAREEYA3,0,4,1,21.45,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,4,0,0,0,0,16,21,5,8,21,5 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KAREEYA4,0,4,1,21.49,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KARSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KEPBG1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KEPBL1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KEPSF1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KEPWF1,0,0,0,30.13,30,480,480,0,0,0,0,0,0,,,,,,,,,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KIAMSF1,0,0,0,0,0,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KIATAWF1,0,0,0,25.6,23.9,180,420,0,0,0,0,0,0,,,,,,,,,0,0,23.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KPP_1,0,0,1,753.47644,761,479.9,479.9,0,0,0,0,0,0,,,,,,,,,0,0,761,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,KSP1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LADBROK1,0,0,0,-0.01,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LADBROK2,0,0,0,0.02,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LBBG1,0,0,1,0.15,0,300,300,0,0,0,13,13,13,,,,,,,,,0,11,24,1,1,1,1,0,0,0,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LBBL1,0,0,1,0,0,300,300,13,13,13,0,0,0,,,,,,,,,11,0,24,0,0,0,1,1,1,1,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LEM_WIL,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LGAPWF1,0,0,0,33.16,33.66,600,600,0,0,0,0,0,0,,,,,,,,,0,0,33.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LGAPWF2,0,0,0,15.43,17.765,600,600,0,0,0,0,0,0,,,,,,,,,0,0,17.765,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LILYSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LIMOSF11,0,0,0,0,0,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LIMOSF21,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LI_WY_CA,0,0,1,52.60964,53,1680,1680,26.94485,51,6,12.78378,0,0,,,,,,,,,0,0,182,1,1,1,0,1,1,1,0,0,71,1,0,71,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LKBONNY1,0,0,0,26.07836,26.257,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,26.257,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LKBONNY2,0,0,0,40.45087,42.818,1920,1920,0,0,0,0,0,0,,,,,,,,,0,0,42.818,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LKBONNY3,0,0,0,13.62059,13.341,480,480,0,0,0,0,0,0,,,,,,,,,0,0,13.341,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LK_ECHO,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LNGS1,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LNGS2,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LONSDALE,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,19,0,0,0,0,0,0,0,0,0,0,5,0,0,5 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LOYYB1,0,0,1,569.5481,570,598.13,598.13,0,0,0,0,0,0,,,,,,,,,0,0,570,1,1,1,1,1,1,1,1,49.84375,570,319.5,49.84375,570,319.5 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LOYYB2,0,0,1,570.67596,570,600,600,0,0,0,0,0,0,,,,,,,,,0,0,570,0,0,0,0,0,0,0,0,50.3125,570,351,50.3125,570,351 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LYA1,0,0,1,507,510,300,300,10,10,10,0,0,0,,,,,,,,,5,0,520,1,1,1,1,1,1,1,1,25,520,300,25,520,300 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LYA2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,204,300,0,204,300 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LYA3,0,0,1,556,560,300,300,10,10,10,0,0,0,,,,,,,,,5,0,560,1,1,1,1,1,1,1,1,25,560,300,25,560,300 +D,DUNIT,,2,"2023/12/14 04:25:00",1,LYA4,0,0,1,547,550,300,300,10,10,10,0,0,0,,,,,,,,,5,0,550,1,1,1,1,1,1,1,1,25,550,300,25,550,300 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MACARTH1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MACKNTSH,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,88,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MANNSF2,0,0,0,0,0,240,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MANSLR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MAPS2PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MAPS3PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MARYRSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MBPS2PV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MCKAY1,0,0,0,0.02,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,300,0,0,0,0,1,1,0,0,299,300,19.95,300,300,19.95 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MEADOWBK,0,0,1,29.7232,30,480,60,0,18,1,0,0,0,,,,,,,,,0,0,44,1,1,0,0,1,1,0,0,0,42,4.5,0,42,8 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MERCER01,0,0,0,76.4,74.2,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,74.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,METZSF1,0,0,0,0,0,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MEWF1,0,0,0,162.9225,162.52073,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,162.52073,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MIDDLSF1,0,0,0,0.05,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MINTARO,0,0,0,0.08545,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MOLNGSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MOORAWF1,0,0,0,166.48001,158.76,3660,3660,0,0,0,0,0,0,,,,,,,,,0,0,158.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MOREESF1,0,0,0,0,0,180,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MORTLK11,0,4,1,169,234,780,780,0,0,0,0,0,0,,,,,,,,,0,0,273,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MORTLK12,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,269,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MOUSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MP1,0,0,1,422.43076,437.43076,180,180,20,60,50,0,20,20,,,,,,,,,0,20,730,1,1,1,1,1,1,1,1,60,517.89117,250.47989,60,517.89117,250.47989 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MP2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,25.01717,700,220,25.01717,700,220 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MPP_1,0,0,1,425.73447,426,299.94,299.94,0,0,0,0,0,0,,,,,,,,,0,0,426,0,0,0,0,0,0,0,0,0,425.9939,350,0,425.9939,350 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MPP_2,0,0,1,404.78345,405,119.94,119.94,0,0,0,0,0,0,,,,,,,,,0,0,405,0,0,0,0,0,0,0,0,0,404.9971,350,0,404.9971,350 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MRTLSWF1,0,0,0,0,0,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MSTUART1,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,138,43,0,138,43 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MSTUART2,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,144,43,0,144,43 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MSTUART3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MTGELWF1,0,0,0,99.2233,100,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MTMILLAR,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,16.674,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MURRAY,0,0,1,0,0,6000,9000,0,0,0,0,0,0,,,,,,,,,0,0,915,0,0,0,4,0,0,4,0,10,886,105,10,886,105 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MUSSELR1,0,0,0,113.89999,111.2,10080,9000,0,0,0,0,0,0,,,,,,,,,0,0,111.2,0,0,0,0,0,0,0,0,0,111.14999,50,0,111.14999,50 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MUWAWF1,0,0,0,71.29,67.68,2700,1380,0,0,0,0,0,0,,,,,,,,,0,0,67.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MUWAWF2,0,0,0,99.7,87.50853,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,87.50853,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MWPS1PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MWPS2PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MWPS3PV1,0,0,1,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,MWPS4PV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,NBHWF1,0,0,0,59.8,61,600,600,0,0,0,0,0,0,,,,,,,,,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,NEVERSF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,NEWENSF1,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,NEWENSF2,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,NPS,0,0,0,0,0,6.75,6.75,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,NUMURSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,NYNGAN1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,OAKEY1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,172.99594,40,0,172.99594,40 +D,DUNIT,,2,"2023/12/14 04:25:00",1,OAKEY1SF,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,OAKEY2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,170,40,0,170,40 +D,DUNIT,,2,"2023/12/14 04:25:00",1,OAKEY2SF,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,OAKLAND1,0,0,0,34.6,34,600,600,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,OSB-AG,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,181.28999,145,0,181.28999,145 +D,DUNIT,,2,"2023/12/14 04:25:00",1,PAREPS1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,PAREPW1,0,0,0,69.63,77.941,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,77.941,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,PARSF1,0,0,0,0.00153,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,PIBESSG1,0,0,1,0,0,60,60,0,0,0,0,1,2,,,,,,,,,0,0,1,1,1,0,1,0,0,0,1,1,4.302,0,1,4.302,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,PIBESSL1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,4,0,4,0,0,0,1,1,1,1,1,4,4.302,0,4,4.302,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,POAT110,0,0,1,86.36784,98,960,960,0,26.53515,19.85028,0,0,0,,,,,,,,,46.87805,0,113,0,3,3,3,1,1,1,1,57,98,5,62,113.5,5 +D,DUNIT,,2,"2023/12/14 04:25:00",1,POAT220,0,0,1,119.44792,120,960,1200,0,29,40,0,0.71795,0,,,,,,,,,3.12195,0,120,0,1,1,1,1,1,1,1,57,120,0,61,121,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,POR01,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,POR03,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,PPCCGT,0,0,1,164.82777,167,540,540,0,0,0,0,0,0,,,,,,,,,0,0,241,0,0,0,0,0,0,0,0,49.85147,241,166.00211,49.85147,241,166.00211 +D,DUNIT,,2,"2023/12/14 04:25:00",1,PTSTAN1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,PUMP1,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,PUMP2,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,QBYNBG1,0,0,1,0.0695,0,120,120,0,0,0,5,5,5,,,,,,,,,0,5,10,1,1,1,1,0,0,0,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,QBYNBL1,0,0,1,0,0,120,120,5,5,5,0,0,0,,,,,,,,,5,0,10,0,0,0,1,1,1,1,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,QPS1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,QPS2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,QPS3,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,QPS4,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,QPS5,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,127,74,0,127,74 +D,DUNIT,,2,"2023/12/14 04:25:00",1,REECE1,0,0,0,0,0,60,60,0,0,0,0,23,22,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,REECE2,0,0,0,0,0,60,60,0,0,0,0,55,20,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RESS1G,0,0,1,0,0,720,720,0,0,0,34,34,34,,,,,,,,,0,0,59,1,1,1,1,0,0,0,1,59,59.99872,0,59,59.99872,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RESS1L,0,0,1,5.10076,5,720,720,34,34,34,0,0,0,,,,,,,,,0,0,59,0,0,0,0,1,1,1,1,0,59.99988,0,59,59.99988,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RIVNBG2,0,0,1,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,64.99936,0,0,64.99936,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RIVNBL2,0,0,1,0.15103,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,65,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ROMA_7,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,ROMA_8,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RRSF1,0,0,0,0,0,41760,41760,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_NSW2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_NSW3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_NSW4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_NSW5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_NSW6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_SA2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_SA3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_SA4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_SA5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_SA6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC10,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC11,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC12,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC7,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC8,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RT_VIC9,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RUGBYR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,RYEPARK1,0,0,0,90.24884,89.669,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,89.669,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SALTCRK1,0,0,0,32.26,31.984,660,660,0,0,0,0,0,0,,,,,,,,,0,0,31.984,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SAPHWF1,0,0,0,100.16479,101.19,3240,3240,0,0,0,0,0,0,,,,,,,,,0,0,101.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SEBSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SHGEN,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SHPUMP,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SITHE01,0,0,0,0.14381,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SMCSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SNAPPER1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SNOWNTH1,0,0,0,52.6,52.97,540,300,0,0,0,0,0,0,,,,,,,,,0,0,52.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SNOWSTH1,0,0,0,68.1,68.4,480,240,0,0,0,0,0,0,,,,,,,,,0,0,68.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SNOWTWN1,0,0,0,68.51348,67.22,1200,600,0,0,0,0,0,0,,,,,,,,,0,0,67.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SNOWYGJP,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SNOWYP,0,0,0,0,0,6000,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SNUG1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SRSF1,0,0,0,0,0,15300,15300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,STAN-1,0,0,0,184.88394,185,180,179.96,0,0,0,0,0,0,,,,,,,,,0,0,365,0,0,0,0,0,0,0,0,0,364.99966,185,0,364.99966,185 +D,DUNIT,,2,"2023/12/14 04:25:00",1,STAN-2,0,0,1,200.80365,200,239.95,239.69,0,0,0,0,10,10,,,,,,,,,0,3,365,1,1,0,1,1,1,1,1,15,360,170.00249,15,361.61578,170.00249 +D,DUNIT,,2,"2023/12/14 04:25:00",1,STAN-3,0,0,1,159.91487,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,3,270,1,1,0,1,1,1,1,1,14.99679,257.54807,150,14.99679,257.54807,150 +D,DUNIT,,2,"2023/12/14 04:25:00",1,STAN-4,0,0,1,160.33786,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,3,270,1,1,0,1,1,1,1,1,14.99679,264.89267,156.42844,14.99679,264.89267,156.42844 +D,DUNIT,,2,"2023/12/14 04:25:00",1,STARHLWF,0,0,0,18.29466,18.29466,0,420,0,0,0,0,0,0,,,,,,,,,0,0,18.29466,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,STOCKYD1,0,0,0,160.55,162.12,6120,6120,0,0,0,0,0,0,,,,,,,,,0,0,162.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,STWF1,0,0,0,49.56557,49.214,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,49.214,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SUNRSF1,0,0,0,0,0,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SUNTPSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,SWAN_E,0,0,0,-0.58,0,903.66,1.97,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0.16406,355,95,75.30469,355,95 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TALWA1,0,0,1,191,190,480,480,0,0,0,0,0,0,,,,,,,,,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TALWB1,0,0,0,0,0,1560,1560,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TARALGA1,0,0,0,0,0,180,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TARONG#1,0,0,1,270,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TARONG#2,0,0,1,270.10001,270,240,240,0,0,0,0,10,10,,,,,,,,,0,6,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TARONG#3,0,0,1,270.10001,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TARONG#4,0,0,1,270.30002,270,240,240,0,0,0,0,10,10,,,,,,,,,0,3,350,1,1,1,1,1,1,1,1,15,350,210,15,350,210 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TARRALEA,0,0,0,67.7,67.7,0,0,0,0,0,0,0,0,,,,,,,,,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TB2BG1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TB2BL1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TB2SF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TBSF1,0,0,0,0,0,1140,1140,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TIBG1,0,0,1,0.21,0,3000,3000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,250,0,0,250,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TIBL1,0,0,1,0,0,3000,3000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,250,0,0,250,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TNPS1,0,0,1,439.5625,443,240,240,0,0,0,0,0,0,,,,,,,,,0,0,443,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TORRB1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,40,40,0,40,40 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TORRB2,0,0,1,40,40,300,300,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,200,40,0,200,40 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TORRB3,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,200,40,0,200,40 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TORRB4,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,40 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TREVALLN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,99,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TRIBUTE,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TUMUT3,0,0,1,0,0,6000,21600,0,0,0,10,0,0,,,,,,,,,0,0,1500,0,0,1,4,0,0,0,0,10,1250,120,20,1250,120 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TUNGATIN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,84,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TVCC201,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,TVPP104,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,UPPTUMUT,0,0,1,212.20999,152.69613,1200,1800,20,0,0,0,0,0,,,,,,,,,0,12,642,0,0,1,1,0,0,1,1,12,642,100,20,642,80 +D,DUNIT,,2,"2023/12/14 04:25:00",1,URANQ11,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,URANQ12,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,URANQ13,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,URANQ14,0,0,0,0,0,659.93,659.93,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VBBG1,0,0,1,0,0,3600,3600,0,0,0,29,10,29,,,,,,,,,0,20,45,1,1,1,1,0,0,0,1,45,45,0,45,45,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VBBL1,0,0,1,6.6,1,3000,3000,0,0,0,0,0,0,,,,,,,,,0,1,240,0,0,0,1,1,1,1,1,150,240,0,150,240,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VENUS1,0,0,0,0,0,0,0,0,0,0,22,10.57149,14,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VP5,0,0,1,423.35275,420,358.44,358.44,0,0,0,6.03752,0,0,,,,,,,,,0,0,660,1,1,1,1,1,1,1,1,29.86999,654.41449,250,29.86999,654.41449,250 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VP6,0,0,1,425.2327,420,360,360,0,0,0,10,0,0,,,,,,,,,0,0,660,1,1,1,1,1,1,1,1,30.12177,660,250,30.12177,660,250 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VPGS1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VPGS2,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VPGS3,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VPGS4,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VPGS5,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VPGS6,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VSNEL2S1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VSNSN1V1,0,0,0,0,0,0,0,1,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VSQHT1V1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VSSAE1V1,0,0,0,0,0,0,0,3,3,0,3,3,0,,,,,,,,,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VSSEL1V1,0,0,0,0,0,0,0,7,7,7,7,7,7,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VSSSE1V1,0,0,0,0,0,0,0,2,2,2,2,2,2,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VSSSH1S1,0,0,0,0,0,0,0,1,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,VSVEL2S1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,W/HOE#1,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,265,0,0,0,0,0,0,0,0,125,45,160,62,45,160 +D,DUNIT,,2,"2023/12/14 04:25:00",1,W/HOE#2,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,265,0,0,0,0,0,0,0,0,125,45,160,62,45,160 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WAGGNSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WALGRVG1,0,0,1,0,0,600,600,0,0,0,27,27,27,,,,,,,,,0,0,50,1,1,1,1,0,0,0,1,50,50,0,50,50,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WALGRVL1,0,0,1,0.07912,0,600,600,27,27,27,0,0,0,,,,,,,,,20,0,47,0,0,0,1,1,1,1,1,47,47,0,47,47,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WANDBG1,0,0,1,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WANDBL1,0,0,1,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,75,0,0,75,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WANDSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WARWSF1,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WARWSF2,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WATERLWF,0,0,0,103.6,105.903,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,106.219,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WDGPH1,0,0,0,0,0,4800,4800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,59 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WELLSF1,0,0,0,0,0,2040,2040,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WEMENSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WGWF1,0,0,0,0.8,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,97.307,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WHITSF1,0,0,0,0,0.22562,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0.22562,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WINTSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WKIEWA1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,34,4,4,0,0,1,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WKIEWA2,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,34,4,4,0,0,1,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WOODLWN1,0,0,0,27.91009,26.346,600,600,0,0,0,0,0,0,,,,,,,,,0,0,26.346,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WOOLGSF1,0,0,0,0,0,2112,2112,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WPWF,0,0,0,19.99,23.305,600,600,0,0,0,0,0,0,,,,,,,,,0,0,23.305,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WRSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WRWF1,0,0,0,9.71633,8.49,2100,2100,0,0,0,0,0,0,,,,,,,,,0,0,8.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WSTWYSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,WYASF1,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,YABULU,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,YABULU2,0,0,0,0,0,480,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,YARANSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,YARWUN_1,0,0,0,116.82999,116.82999,0,0,0,0,0,0,0,0,,,,,,,,,0,0,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,YATSF1,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,YENDWF1,0,0,0,49.91,48.10252,1680,1680,0,0,0,0,0,0,,,,,,,,,0,0,48.10253,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:25:00",1,YWPS1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,365,250,0,365,250 +D,DUNIT,,2,"2023/12/14 04:25:00",1,YWPS2,0,0,0,0,0,178.88,178.88,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,14.90625,364.75,250,14.90625,364.75,250 +D,DUNIT,,2,"2023/12/14 04:25:00",1,YWPS3,0,0,1,358.82404,360,178.88,178.88,0,0,0,0,0,0,,,,,,,,,0,0,360,1,1,0,1,1,1,1,1,14.90625,360,280,14.90625,360,280 +D,DUNIT,,2,"2023/12/14 04:25:00",1,YWPS4,0,0,1,348.94431,350,180,180,0,0,0,0,0,0,,,,,,,,,0,0,350,1,1,0,1,1,1,1,1,15,350,280,20,350,280 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ADPBA1G,0,0,1,0,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ADPBA1L,0,0,1,0.003,0,93.12,93.12,0,0,0,0,0,0,,,,,,,,,0,0,6,0,0,0,1,0,0,0,1,6,6,0,6,6,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ADPPV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,AGLHAL,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,AGLSOM,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ANGAST1,0,0,0,-0.1,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,APD01,0,0,0,0,0,0,0,0,0,0,40,30,20,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ARWF1,0,0,0,21.1,20.63841,240,1200,0,0,0,0,0,0,,,,,,,,,0,0,20.63841,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASNAES1,0,0,0,0,0,0,0,6,4,2,2,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASNBRL1,0,0,0,0,0,0,0,0,0,0,6,6,6,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASNENC1,0,0,0,0,0,0,0,0,0,0,34,14,13,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASNSEL2,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASPAPM01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASQEEV1,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASQENC1,0,0,0,0,0,0,0,0,0,0,9,3,5.56741,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASRMGE01,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASRMGE02,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASRMGE03,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASSDE1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASSEL1,0,0,0,0,0,0,0,8,8,8,8,8,8,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASSENC1,0,0,0,0,0,0,0,0,0,0,3,1,1,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASSERDV1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASSSN1,0,0,0,0,0,0,0,1,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASTHYD1,0,0,0,0,0,0,0,0,0,0,0,0,58.39299,,,,,,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ASVIEL2,0,0,0,0,0,0,0,1,1,1,0,0,0,,,,,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,AVLSF1,0,0,0,0,0,2280,2280,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BALBG1,0,0,1,0,0,6000,6000,0,0,0,30,30,30,,,,,,,,,0,0,30,1,1,1,1,0,0,0,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BALBL1,0,0,1,0,0,6000,6000,28,28,28,0,0,0,,,,,,,,,2,0,30,0,0,0,1,1,1,1,1,30,30,0,30,30,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BALDHWF1,0,0,0,46.35,45.9,540,1800,0,0,0,0,0,0,,,,,,,,,0,0,45.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BANGOWF1,0,0,0,116.99641,118.295,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,118.295,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BANGOWF2,0,0,0,69.59922,69.498,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,69.498,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BANN1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BARCALDN,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BARKIPS1,0,0,1,0,0,1836,1836,0,0,0,0,0,0,,,,,,,,,0,0,122,0,0,0,0,0,0,0,0,0,9,9,0,9,9 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BARRON-1,0,4,0,32.8,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BARRON-2,0,4,0,33,33,120,240,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BASTYAN,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,80,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BBATRYL1,0,0,1,0,0,600,600,0,14.52692,0,0,0,0,,,,,,,,,0,0,50,0,0,0,0,1,1,1,1,0,50,0,50,50,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BBATTERY,0,0,1,-0.32994,0,600,600,0,0,0,0,27,17,,,,,,,,,0,0,50,1,1,0,1,0,0,0,0,50,50,0,0,50,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BBTHREE1,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BBTHREE2,0,0,0,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BBTHREE3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BDL01,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BDL02,0,0,0,0,0,240,180,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BERYLSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BHBG1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BHBL1,0,0,0,0,0,599.98,599.98,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BLOWERNG,0,0,1,63,63,120,120,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BLUEGSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BLUFF1,0,0,0,28.1,27,600,600,0,0,0,0,0,0,,,,,,,,,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BNGSF1,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BNGSF2,0,0,0,0,0,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BOCORWF1,0,0,0,106.6,106.92,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,106.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BODWF1,0,0,0,0.99743,1,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BOLIVPS1,0,0,0,0,0,1560,1560,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BOMENSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BOWWBA1G,0,0,0,0,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BOWWBA1L,0,0,0,0.003,0,36.96,36.96,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BOWWPV1,0,0,0,0,0,97.38,97.38,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BRAEMAR1,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,179,97,0,179,97 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BRAEMAR2,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,176,0,0,0,0,0,0,0,0,0,183,97,0,183,97 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BRAEMAR3,0,0,0,0,0,600,660,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,175,97,0,175,97 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BRAEMAR5,0,0,0,0.19135,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BRAEMAR6,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BRAEMAR7,0,0,0,0,0,540,600,0,0,0,0,0,0,,,,,,,,,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BROKENH1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BRYB1WF1,0,0,0,114.53117,111.37,2160,2160,0,0,0,0,0,0,,,,,,,,,0,0,111.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BRYB2WF2,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BULBESG1,0,0,1,0,0,240,240,0,0,0,10,10,10,,,,,,,,,0,0,20,1,1,1,1,0,0,0,0,20,20,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BULBESL1,0,0,1,0.07,0,240,240,0,11,11,0,0,0,,,,,,,,,0,0,20,0,0,0,0,1,1,1,1,0,0,0,20,20,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BULGANA1,0,0,0,28.71,29.13957,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,29.13957,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BW01,0,0,1,589.03485,596.54458,180,210.12,0,0,0,0,0,0,,,,,,,,,0,10,660,0,0,0,1,0,0,0,1,17.50973,660,334.897,17.50973,660,334.897 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BW02,0,0,1,612.17975,622.19196,180,240,0,0,0,0,0,0,,,,,,,,,0,10,650,0,0,0,1,0,0,0,1,20.01221,649.992,371.12726,20.01221,649.992,371.12726 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BW03,0,0,1,611.44733,621.45953,180,240,0,0,0,0,0,0,,,,,,,,,0,10,685,0,0,0,1,0,0,0,1,20.01221,685,332.17786,20.01221,685,332.17786 +D,DUNIT,,2,"2023/12/14 04:30:00",1,BW04,0,0,1,615.52454,625.53674,180,240,0,0,0,0,0,0,,,,,,,,,0,10,670,0,0,0,1,0,0,0,1,20.01221,670,330,20.01221,670,330 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CALL_B_1,0,0,1,258.10001,260,240,240,0,0,0,0,0,0,,,,,,,,,0,0,260,1,1,1,0,1,1,1,0,0,260,210,0,260,210 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CALL_B_2,0,0,1,318.5,320,240,240,0,0,0,0,0,0,,,,,,,,,0,0,350,1,1,1,0,1,1,1,0,0,350,280,0,350,280 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CAPBES1G,0,0,0,0,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CAPBES1L,0,0,0,0.17,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CATHROCK,0,0,0,28,31.894,840,840,0,0,0,0,0,0,,,,,,,,,0,0,31.894,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CBWWBA1G,0,0,0,0,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CBWWBA1L,0,0,0,0.003,0,28.8,28.8,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CETHANA,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,100,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CG1,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CG2,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CG3,0,4,0,144.91096,135,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CG4,0,0,0,0,0,719.99,719.99,0,0,0,0,0,0,,,,,,,,,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CHBESSG1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CHBESSL1,0,0,1,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CHILDSF1,0,0,0,0,0,11520,11520,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CHYTWF1,0,0,0,20.1,20.21,720,720,0,0,0,0,0,0,,,,,,,,,0,0,20.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CLARESF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CLEMGPWF,0,0,0,27.94958,33.158,660,660,0,0,0,0,0,0,,,,,,,,,0,0,33.158,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CLERMSF1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CNUNDAWF,0,0,0,15.5181,16.72,600,600,0,0,0,0,0,0,,,,,,,,,0,0,16.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,COHUNSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,COLEASF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,COLUMSF1,0,0,0,0.56314,0,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,COLWF01,0,0,0,97.12978,99.01902,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,99.01902,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,COOPGWF1,0,0,0,226.98,227.56,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,227.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CPP_3,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CPP_4,0,0,0,0,0,240,240,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CPSA,0,0,0,0,0,179.18,1.55,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CROOKWF2,0,0,0,61.19539,61.455,1200,6000,0,0,0,0,0,0,,,,,,,,,0,0,61.455,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CROWLWF1,0,0,0,16.6313,16.03408,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,16.03408,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CRURWF1,0,0,0,11.59602,12.499,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,12.499,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CRWASF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CSPVPS1,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,CTHLWF1,0,0,0,37.73557,39.88839,1740,1740,0,0,0,0,0,0,,,,,,,,,0,0,39.88839,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DALNTH01,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DALNTHL1,0,0,1,0.07477,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DARLSF1,0,0,0,0,0,3300,3300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DARTM1,0,0,0,0,0,3600,3600,0,0,0,0,0,0,,,,,,,,,0,0,177,0,0,0,0,0,0,0,0,0,1,1,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DAYDSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DDPS1,0,0,1,252.95972,255,600,600,0,0,0,0,0,0,,,,,,,,,0,0,458,0,0,0,0,0,0,0,0,0,322.02585,228,0,322.02585,228 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DDSF1,0,0,0,0,0,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DEVILS_G,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,64,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DG_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DG_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DG_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DG_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DG_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DPNTBG1,0,0,1,0.01645,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,25,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DPNTBL1,0,0,1,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,24.99945,0,0,24.99945,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRACAN1,0,0,0,0,0,0,0,0,0,0,1,1,0,,,,,,,,,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRAESN1,0,0,0,0,0,0,0,1,1,1,1,1,1,,,,,,,,,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DREXMN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRFIIN01,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRGBND02,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRSHVN01,0,0,0,0,0,0,0,1,1,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRSHVS01,0,0,0,0,0,0,0,3,3,0,2,2,0,,,,,,,,,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRVIOT01,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRVIOT02,0,0,0,0,0,0,0,0,0,0,2,2,2,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRVIOT03,0,0,0,0,0,0,0,0,0,0,2,1,1,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRVIOT04,0,0,0,0,0,0,0,0,0,0,15,15,14,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRVIOT05,0,0,0,0,0,0,0,0,0,0,3,3,3,,,,,,,,,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXNDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXNDA02,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXNDA03,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXNDA04,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXNDE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXNQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXQDA01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXQQE01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXSQS01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXVDJ01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXVDP01,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXVDX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXVQP01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXVQX01,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRXVQX02,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRYCGT1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRYCGT2,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DRYCGT3,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DULAWF1,0,0,0,105.8,105.2,2100,2100,0,0,0,0,0,0,,,,,,,,,0,0,105.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DUNDWF1,0,0,0,112.93,112.736,2040,2040,0,0,0,0,0,0,,,,,,,,,0,0,112.736,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DUNDWF2,0,0,0,30.61,30.513,600,600,0,0,0,0,0,0,,,,,,,,,0,0,30.513,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,DUNDWF3,0,0,0,82.71,82.074,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,82.074,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,EDENVSF1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,EILDON1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,EILDON2,0,0,0,0.04,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,60,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ELAINWF1,0,0,0,60.76,59.87694,960,960,0,0,0,0,0,0,,,,,,,,,0,0,59.87694,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,EMERASF1,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ER01,0,0,1,349.2363,352,298.92,300,0,0,0,0,0,0,,,,,,,,,0,0,700,4,4,4,4,0,0,0,0,25,699.99847,350,24.91035,699.99847,350 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ER02,0,0,1,211.44121,210,300,300,0,0,0,0,0,0,,,,,,,,,0,0,210,0,0,0,0,0,0,0,0,0,700,210.48904,0,700,210.48904 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ER03,0,0,1,351.31152,352,296.73,297.28,0,0,0,0,27,27,,,,,,,,,0,5,640,1,1,1,1,1,1,1,1,24.77302,639.45068,350,24.72724,639.45068,350 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ER04,0,0,1,350.70114,352,298.19,298.92,0,0,0,6.81414,27,27,,,,,,,,,0,5,650,1,1,1,1,1,1,1,1,24.91035,650,350,24.84932,650,350 +D,DUNIT,,2,"2023/12/14 04:30:00",1,FINLYSF1,0,0,0,0,0,180,1620,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,FISHER,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:30:00",1,FLYCRKWF,0,0,0,9.98,10,1680,1680,0,0,0,0,0,0,,,,,,,,,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GANGARR1,0,0,0,0,0,1440,1440,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GANNBG1,0,0,1,0,0,300,300,0,0,0,10,10,10,,,,,,,,,0,7,25,1,1,1,1,0,0,0,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GANNBL1,0,0,1,0.83069,0,300,300,0,0,0,0,0,0,,,,,,,,,24.9999,0,25,0,0,0,1,1,1,1,1,24.9999,25,0,24.9999,25,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GANNSF1,0,0,0,0,0,3000,3000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GLENSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GLRWNSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GNNDHSF1,0,0,0,0,0,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GOONSF1,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GORDON,0,0,1,11.22454,12,1800,1800,0,0,12,58,72,40,,,,,,,,,0,50,345,1,1,1,1,1,1,1,4,119,120,1,138,120,12 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GRANWF1,0,0,0,103.18999,100.77649,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,100.77649,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GSTONE1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GSTONE2,0,0,1,111.23438,111,289.81,289.81,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GSTONE3,0,0,1,111.07715,111,287.04,287.04,0,0,0,0,0,0,,,,,,,,,0,5,280,0,0,0,1,0,0,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GSTONE4,0,0,1,110.99512,111,287.76,287.76,0,0,0,0,0,0,,,,,,,,,0,5,280,1,1,0,1,1,1,0,1,15,175,110,20,175,110 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GSTONE5,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,80,110,0,80,110 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GSTONE6,0,0,1,199.98535,200,295.36,295.36,0,0,0,0,0,0,,,,,,,,,0,4,280,1,1,0,1,1,1,0,1,15,280,190,20,280,190 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GSWF1A,0,0,0,0,0,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GSWF1B1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GULLRSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GULLRWF1,0,0,0,125.38309,125.69699,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,125.69699,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GULLRWF2,0,0,0,90.03654,90.64654,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,90.64654,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GUNNING1,0,0,0,0.00034,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,GUTHEGA,0,0,1,0,0,600,120,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,34,10,0,34,10 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HALLWF1,0,0,0,24.54,24.59,600,600,0,0,0,0,0,0,,,,,,,,,0,0,24.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HALLWF2,0,0,0,32.61,33.03,600,600,0,0,0,0,0,0,,,,,,,,,0,0,33.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HAMISF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HAUGHT11,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HAYMSF1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HBESSG1,0,0,1,0,0,1800,1800,0,0,0,1,5,25,,,,,,,,,0,0,6,1,1,1,1,0,0,0,1,6,150,0,6,150,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HBESSL1,0,0,1,0.8,0,1800,1800,0,0,0,0,0,0,,,,,,,,,87,0,125,0,0,0,1,1,1,1,1,124,150,0,124,150,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HDWF1,0,0,1,74.6,76.54,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,76.54,0,0,0,0,0,0,0,0,0,76.54,15,0,76.54,15 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HDWF2,0,0,1,71.1,71.55,1260,1260,0,0,0,0,0,0,,,,,,,,,0,0,71.55,0,0,0,0,0,1,1,0,0,71.55,15,0,71.55,15 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HDWF3,0,0,1,72.5,75.93,1320,1320,0,0,0,0,0,0,,,,,,,,,0,0,75.93,0,0,0,0,0,0,0,0,0,74.6,15,0,74.6,15 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HEZ1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HILLSTN1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HPRG1,0,0,1,0,0,960,960,0,0,0,85,85,85,,,,,,,,,0,27,60,1,1,1,1,0,0,0,1,60,60,0,60,60,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HPRL1,0,0,1,1.1,0,960,960,0,0,16.06679,0,0,0,,,,,,,,,0,0,75,0,0,0,1,1,1,1,1,75,75,0,75,75,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HUMENSW,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HUMEV,0,0,0,14.5,14,120,120,0,0,0,0,0,0,,,,,,,,,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HVWWBA1G,0,0,0,0,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HVWWBA1L,0,0,0,0.005,0,52.92,52.92,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,HVWWPV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,JBUTTERS,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,142,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:30:00",1,JEMALNG1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,JLA01,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,JLA02,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,JLA03,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,JLA04,0,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,JLB01,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,JLB02,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,JLB03,0,0,0,0,0,420,420,0,0,0,0,0,0,,,,,,,,,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,JUNEESF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KABANWF1,0,0,0,88.18901,87.228,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,87.228,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KAREEYA1,0,4,1,21.6275,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KAREEYA2,0,4,1,21.4825,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KAREEYA3,0,4,1,21.56,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,4,0,0,0,0,16,21,5,8,21,5 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KAREEYA4,0,4,1,21.4975,22,180,300,0,0,0,0,0,0,,,,,,,,,0,0,22,0,0,0,0,0,0,0,0,0,21,5,0,21,5 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KARSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KEPBG1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KEPBL1,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KEPSF1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KEPWF1,0,0,0,30.1,30,480,480,0,0,0,0,0,0,,,,,,,,,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KIAMSF1,0,0,0,0,0,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KIATAWF1,0,0,0,25.1,25.9,180,420,0,0,0,0,0,0,,,,,,,,,0,0,25.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KPP_1,0,0,1,761.29834,761,479.9,479.9,0,0,0,0,0,0,,,,,,,,,0,0,761,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,KSP1,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LADBROK1,0,0,0,-0.01,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LADBROK2,0,0,0,0.02,0,480,480,0,0,0,0,0,0,,,,,,,,,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LBBG1,0,0,1,0,0,300,300,0,0,0,13,13,13,,,,,,,,,0,11,24,1,1,1,1,0,0,0,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LBBL1,0,0,1,0.45,0,300,300,13,13,13,0,0,0,,,,,,,,,0,0,24,0,0,0,1,1,1,1,1,24,24,0,24,24,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LEM_WIL,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LGAPWF1,0,0,0,29.2,28.4,600,600,0,0,0,0,0,0,,,,,,,,,0,0,28.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LGAPWF2,0,0,0,17.81,17.78,600,600,0,0,0,0,0,0,,,,,,,,,0,0,17.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LILYSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LIMOSF11,0,0,0,0,0,2640,2640,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LIMOSF21,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LI_WY_CA,0,0,1,52.74597,53,1680,1680,22.69959,51,6,12.78378,0,0,,,,,,,,,0,0,182,1,1,1,0,1,1,1,0,0,71,1,0,71,1 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LKBONNY1,0,0,0,28.66833,29.115,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,29.115,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LKBONNY2,0,0,0,49.9848,49.789,1920,1920,0,0,0,0,0,0,,,,,,,,,0,0,49.789,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LKBONNY3,0,0,0,13.45312,12.504,480,480,0,0,0,0,0,0,,,,,,,,,0,0,12.504,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LK_ECHO,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LNGS1,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LNGS2,0,0,0,0,0,780,900,0,0,0,0,0,0,,,,,,,,,0,0,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LONSDALE,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,19,0,0,0,0,0,0,0,0,0,0,5,0,0,5 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LOYYB1,0,0,1,566.91644,570,598.13,598.13,0,0,0,0,0,0,,,,,,,,,0,0,570,1,1,1,1,1,1,1,1,49.84375,570,319.125,49.84375,570,319.125 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LOYYB2,0,0,1,568.7962,570,600,600,0,0,0,0,0,0,,,,,,,,,0,0,570,1,1,1,1,1,1,1,1,50,570,350.625,50,570,350.625 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LYA1,0,0,1,502,510,300,300,10,10,10,0,0,0,,,,,,,,,5,0,520,1,1,1,1,1,1,1,1,25,520,300,25,520,300 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LYA2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,204,300,0,204,300 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LYA3,0,0,1,556,560,300,300,10,10,10,0,0,0,,,,,,,,,5,0,560,1,1,1,1,1,1,1,1,25,560,300,25,560,300 +D,DUNIT,,2,"2023/12/14 04:30:00",1,LYA4,0,0,1,545,550,300,300,10,10,10,0,0,0,,,,,,,,,5,0,550,1,1,1,1,1,1,1,1,25,550,300,25,550,300 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MACARTH1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MACKNTSH,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,88,0,0,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MANNSF2,0,0,0,0,0,240,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MANSLR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MAPS2PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MAPS3PV1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MARYRSF1,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MBPS2PV1,0,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MCKAY1,0,0,0,0.02,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,300,0,0,0,0,1,1,0,0,299,300,19.95,300,300,19.95 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MEADOWBK,0,0,1,29.89468,30,480,60,0,18,1,0,0,0,,,,,,,,,0,0,44,1,1,0,0,1,1,0,0,0,42,4.5,0,42,8 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MERCER01,0,0,0,78.6,77.6,1980,1980,0,0,0,0,0,0,,,,,,,,,0,0,77.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,METZSF1,0,0,0,0,0,1380,1380,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MEWF1,0,0,0,162.67673,162.25583,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,162.25583,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MIDDLSF1,0,0,0,0.05,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MINTARO,0,0,0,0.08545,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MOLNGSF1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MOORAWF1,0,0,0,142.39,143.16,3660,3660,0,0,0,0,0,0,,,,,,,,,0,0,143.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MOREESF1,0,0,0,0,0,180,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MORTLK11,0,4,1,232,273,780,780,0,0,0,0,0,0,,,,,,,,,0,0,273,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MORTLK12,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,269,0,0,0,0,0,0,0,0,0,292,125,0,292,125 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MOUSF1,0,0,0,0,0,1020,1020,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MP1,0,0,1,431.87915,418.60802,180,180,20,60,50,0,20,20,,,,,,,,,0,0,730,1,1,1,1,1,1,1,1,60,575.19189,308.12238,60,575.19189,308.12238 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MP2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,25.01717,700,220,25.01717,700,220 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MPP_1,0,0,1,425.71921,426,299.94,299.94,0,0,0,0,0,0,,,,,,,,,0,0,426,0,0,0,0,0,0,0,0,0,425.9939,350,0,425.9939,350 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MPP_2,0,0,1,404.37146,405,119.94,119.94,0,0,0,0,0,0,,,,,,,,,0,0,405,0,0,0,0,0,0,0,0,0,404.9971,350,0,404.9971,350 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MRTLSWF1,0,0,0,0,0,1860,1860,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MSTUART1,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,138,43,0,138,43 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MSTUART2,0,0,0,0,0,660,660,0,0,0,0,0,0,,,,,,,,,0,0,138,0,0,0,0,0,0,0,0,0,144,43,0,144,43 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MSTUART3,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MTGELWF1,0,0,0,99.27061,100,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MTMILLAR,0,0,0,0,0,840,840,0,0,0,0,0,0,,,,,,,,,0,0,17.066,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MURRAY,0,0,1,0,0,6000,9000,0,0,0,0,0,0,,,,,,,,,0,0,915,0,0,0,4,0,0,4,4,10,886,105,10,886,105 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MUSSELR1,0,0,0,125.8,125.3,10080,9000,0,0,0,0,0,0,,,,,,,,,0,0,125.3,0,0,0,0,0,0,0,0,0,125.3,50,0,125.3,50 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MUWAWF1,0,0,0,80.12,75.66,2700,1380,0,0,0,0,0,0,,,,,,,,,0,0,75.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MUWAWF2,0,0,0,103.2,96.48886,2400,2400,0,0,0,0,0,0,,,,,,,,,0,0,96.48886,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MWPS1PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MWPS2PV1,0,0,1,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MWPS3PV1,0,0,1,0,0,120,120,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,MWPS4PV1,0,0,0,0,0,60,60,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,NBHWF1,0,0,0,59.2,60.2,600,600,0,0,0,0,0,0,,,,,,,,,0,0,60.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,NEVERSF1,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,NEWENSF1,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,NEWENSF2,0,0,0,0,0,2399.85,2399.85,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,NPS,0,0,0,0,0,6,6,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,NUMURSF1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,NYNGAN1,0,0,0,0,0,1200,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,OAKEY1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,172.99594,40,0,172.99594,40 +D,DUNIT,,2,"2023/12/14 04:30:00",1,OAKEY1SF,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,OAKEY2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,170,40,0,170,40 +D,DUNIT,,2,"2023/12/14 04:30:00",1,OAKEY2SF,0,0,0,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,OAKLAND1,0,0,0,34.6,32.8,600,600,0,0,0,0,0,0,,,,,,,,,0,0,32.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,OSB-AG,0,0,0,0,0,300,300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,181.01999,145,0,181.01999,145 +D,DUNIT,,2,"2023/12/14 04:30:00",1,PAREPS1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,PAREPW1,0,0,0,65.64,69.609,2460,2460,0,0,0,0,0,0,,,,,,,,,0,0,69.609,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,PARSF1,0,0,0,0.00153,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,PIBESSG1,0,0,1,0,0,60,60,0,0,0,0,1,2,,,,,,,,,0,0,1,1,1,0,1,0,0,0,1,1,4.301,0,1,4.301,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,PIBESSL1,0,0,1,0.148,0,60,60,0,0,0,0,0,0,,,,,,,,,4,0,4,0,0,0,1,1,1,1,1,4,4.301,0,4,4.301,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,POAT110,0,0,1,83.5244,98,960,960,0,26.53515,19.85028,0,0,0,,,,,,,,,46.87805,0,113,0,3,3,3,1,1,1,1,57,98,5,62,113.5,5 +D,DUNIT,,2,"2023/12/14 04:30:00",1,POAT220,0,0,1,118.39513,120,960,1200,0,29,40,0,0.71795,0,,,,,,,,,3.12195,0,120,0,1,1,1,1,1,1,1,57,120,0,61,121,1 +D,DUNIT,,2,"2023/12/14 04:30:00",1,POR01,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,POR03,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,PPCCGT,0,0,1,164.15668,167,540,540,0,0,0,0,0,0,,,,,,,,,0,0,241,0,0,0,0,0,0,0,0,49.85147,241,165,49.85147,241,165 +D,DUNIT,,2,"2023/12/14 04:30:00",1,PTSTAN1,0,0,0,0,0,900,900,0,0,0,0,0,0,,,,,,,,,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,PUMP1,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,PUMP2,0,0,0,0,0,7200,7200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,QBYNBG1,0,0,1,0,0,120,120,0,0,0,5,5,5,,,,,,,,,0,5,10,1,1,1,1,0,0,0,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,QBYNBL1,0,0,1,0.1825,0,120,120,5,5,5,0,0,0,,,,,,,,,5,0,10,0,0,0,1,1,1,1,1,10,10,0,10,10,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,QPS1,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,QPS2,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,QPS3,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,QPS4,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,QPS5,0,0,0,0,0,600,600,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,127,74,0,127,74 +D,DUNIT,,2,"2023/12/14 04:30:00",1,REECE1,0,0,0,0,0,60,60,0,0,0,0,23,22,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,REECE2,0,0,0,0,0,60,60,0,0,0,0,55,20,,,,,,,,,0,0,119,1,1,0,0,0,0,0,0,0,0,1,0,0,1 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RESS1G,0,0,1,0,0,720,720,0,0,0,34,34,34,,,,,,,,,0,0,59,1,1,1,1,0,0,0,1,59,59.99872,0,59,59.99872,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RESS1L,0,0,1,5.97107,5,720,720,34,34,34,0,0,0,,,,,,,,,0,0,59,0,0,0,0,1,1,1,1,0,59.99988,0,59,59.99988,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RIVNBG2,0,0,1,0.07926,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,64.99936,0,0,64.99936,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RIVNBL2,0,0,1,0,0,780,780,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,65,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ROMA_7,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,ROMA_8,0,0,0,0,0,360,360,0,0,0,0,0,0,,,,,,,,,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RRSF1,0,0,0,0,0,41760,41760,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_NSW1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_NSW2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_NSW3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_NSW4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_NSW5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_NSW6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_QLD1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_SA1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_SA2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_SA3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_SA4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_SA5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_SA6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_TAS1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC1,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC10,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC11,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC12,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC2,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC3,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC4,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC5,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC6,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC7,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC8,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RT_VIC9,0,0,0,0,0,6000,6000,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RUGBYR1,0,0,0,0,0,540,540,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,RYEPARK1,0,0,0,86.06134,83.832,1620,1620,0,0,0,0,0,0,,,,,,,,,0,0,83.832,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SALTCRK1,0,0,0,37.44,37.538,660,660,0,0,0,0,0,0,,,,,,,,,0,0,37.538,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SAPHWF1,0,0,0,94.80888,94.159,3240,3240,0,0,0,0,0,0,,,,,,,,,0,0,94.159,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SEBSF1,0,0,0,0,0,1080,1080,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SHGEN,0,0,0,0,0,960,960,0,0,0,0,0,0,,,,,,,,,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SHPUMP,0,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SITHE01,0,0,0,0.1639,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SMCSF1,0,0,0,0,0.02704,1500,1500,0,0,0,0,0,0,,,,,,,,,0,0,0.02704,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SNAPPER1,0,0,0,0,0,1800,1800,0,0,0,0,0,0,,,,,,,,,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SNOWNTH1,0,0,0,52.1,52.2,540,300,0,0,0,0,0,0,,,,,,,,,0,0,52.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SNOWSTH1,0,0,0,66.6,68.255,480,240,0,0,0,0,0,0,,,,,,,,,0,0,68.255,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SNOWTWN1,0,0,0,66.19481,66.767,1200,600,0,0,0,0,0,0,,,,,,,,,0,0,66.767,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SNOWYGJP,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SNOWYP,0,0,0,0,0,6000,1200,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SNUG1,0,0,0,0,0,180,180,0,0,0,0,0,0,,,,,,,,,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,SRSF1,0,0,0,0,0,15300,15300,0,0,0,0,0,0,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +D,DUNIT,,2,"2023/12/14 04:30:00",1,STAN-1,0,0,0,184.81985,185,180,179.96,0,0,0,0,0,0,,,,,,,,,0,0,365,0,0,0,0,0,0,0,0,0,364.87149,185,0,364.87149,185 +D,DUNIT,,2,"2023/12/14 04:30:00",1,STAN-2,0,0,1,199.2527,200,239.95,239.69,0,0,0,0,10,10,,,,,,,,,0,3,365,1,1,0,1,1,1,1,1,15,360,170.00249,15,361.53888,170.00249 +D,DUNIT,,2,"2023/12/14 04:30:00",1,STAN-3,0,0,1,158.33829,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,3,270,1,1,0,1,1,1,1,1,14.99679,257.34296,150,14.99679,257.34296,150 +D,DUNIT,,2,"2023/12/14 04:30:00",1,STAN-4,0,0,1,158.2742,160,179.96,179.96,0,0,0,0,10,10,,,,,,,,,0,3,270,1,1,0,1,1,1,1,1,14.99679,264.7901,156.42844,14.99679,264.7901,156.42844 \ No newline at end of file diff --git a/data/csv/small_lineitem_strings.csv b/data/csv/small_lineitem_strings.csv new file mode 100644 index 000000000000..41eb994ece00 --- /dev/null +++ b/data/csv/small_lineitem_strings.csv @@ -0,0 +1,2 @@ +DELIVER IN PERSON +TAKE BACK RETURN \ No newline at end of file diff --git a/data/csv/union-by-name/null_padding/np1.csv b/data/csv/union-by-name/null_padding/np1.csv new file mode 100644 index 000000000000..746b89da0ed3 --- /dev/null +++ b/data/csv/union-by-name/null_padding/np1.csv @@ -0,0 +1,2905 @@ +a,b,c +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2, +1 \ No newline at end of file diff --git a/data/csv/union-by-name/null_padding/np2.csv b/data/csv/union-by-name/null_padding/np2.csv new file mode 100644 index 000000000000..40af75454ff6 --- /dev/null +++ b/data/csv/union-by-name/null_padding/np2.csv @@ -0,0 +1,2905 @@ +d,a,b +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2,3 +1,2, +1 \ No newline at end of file diff --git a/data/json/5000.jsonl b/data/json/5000.jsonl new file mode 100644 index 000000000000..2c105fb408db --- /dev/null +++ b/data/json/5000.jsonl @@ -0,0 +1,5000 @@ +{"_meta/file":"/test_data/data.jsonl","_meta/offset":0,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":0,"uuid":"9dcc2606-5655-11ee-8401-675ed0f8e89b"},"arrayField":["Vsfa"],"boolField":false,"intField":-163,"numField":59.414574995021454,"objField":{"AtnWJfx":8877642917025001363,"HnimXI":3447445621643546082,"QccnWe":9206220703489362074,"WoYWbBLIB":-8435676591685774477,"fMhKy":-5069520455983116088,"nnUrvwnKYQ":-7044218473356066422},"stringDateField":"1908-09-04","stringDateTimeField":"1989-07-15T03:13:05Z","stringField":"hSWYyyJa","stringTimeField":"03:27:15.25Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":-163,"numField":59.414574995021454,"stringDateField":"1908-09-04","stringDateTimeField":"1989-07-15T03:13:05Z","stringField":"hSWYyyJa","stringTimeField":"03:27:15.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1,"uuid":"9dcc2606-5655-11ee-8801-675ed0f8e89b"},"arrayField":["dYeMwaRV","fpDc","gMAeXOEZOZ","VBdTQJ","WocLSFdO","OIQKuhjgBt","USZted"],"boolField":false,"intField":-85,"numField":-105.97933658375923,"objField":{"PXyu":2727885355900071569,"RHNhBW":-8640225658860333621,"VbiBqF":-5527546632755700077,"VtJwFZqaN":-7861588894638475699,"xlKeiJ":-2670470679054628670,"xsiQHV":5613096139221834205,"zFrALXa":-6048361945378515825},"stringDateField":"2005-08-07","stringDateTimeField":"1945-09-29T06:38:44Z","stringField":"zkpLPKEcQ","stringTimeField":"21:51:05.46Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":-85,"numField":-105.97933658375923,"stringDateField":"2005-08-07","stringDateTimeField":"1945-09-29T06:38:44Z","stringField":"zkpLPKEcQ","stringTimeField":"21:51:05.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2,"uuid":"9dcc2606-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["WCznS","ayspMx","VcAV","GNxV","yPOEAxXNQ","acXqWXoquX","pyBlmy","vJqaPpr","YbLmRQi"],"boolField":false,"intField":284,"numField":-473.9610132046063,"objField":{"DwTHIGhi":-1195113548421608242,"FeXOren":7610168802017752748,"HNMBO":-61452517424803673,"KspYZU":-1091223852058454360,"NOLoTc":6611301284332821839,"QyUkQ":4250941301324034807,"SINgNUqJ":4728501172835786291,"pHVa":1501987370105357740,"xarIhTuSO":-993515517805851288},"stringDateField":"1900-06-08","stringDateTimeField":"1967-01-11T14:35:32Z","stringField":"mKoXHeDokc","stringTimeField":"00:12:38.36Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":284,"numField":-473.9610132046063,"stringDateField":"1900-06-08","stringDateTimeField":"1967-01-11T14:35:32Z","stringField":"mKoXHeDokc","stringTimeField":"00:12:38.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3,"uuid":"9dcc2606-5655-11ee-9001-675ed0f8e89b"},"arrayField":["iTJbQSy","mijfnkLIa","lbpmcvfMBJ","aZYmtAjvc","EPPwNBYsuI","MUQckavpD","CoVnKRZM","NccFWzgK"],"boolField":false,"intField":-377,"numField":-586.99352349718,"objField":{"DCVJ":-7231385423619084130,"EGVMHmK":-3060228485245942809,"HsIwgz":-6624123853321536292,"OxQrCuPYY":-7079934263639661379,"ZeElOWTANC":4888060656839971552,"jLhB":-1393848605933205167,"zoHtKDhN":8186250205018626371},"stringDateField":"2002-04-10","stringDateTimeField":"1921-06-06T00:22:46Z","stringField":"CnmFO","stringTimeField":"15:51:10.15Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":-377,"numField":-586.99352349718,"stringDateField":"2002-04-10","stringDateTimeField":"1921-06-06T00:22:46Z","stringField":"CnmFO","stringTimeField":"15:51:10.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4,"uuid":"9dcc2606-5655-11ee-9401-675ed0f8e89b"},"arrayField":["jgMCrl","dmSv"],"boolField":false,"intField":-669,"numField":429.9747375349772,"objField":{"DtHiQ":4690014378396935834,"PLRCjfJPic":954152311831759153,"XpVE":1787040182690022179,"duof":5540504811278246015,"iqZe":6161982972602980606,"oVMfqut":7620309914797683717},"stringDateField":"1911-03-22","stringDateTimeField":"1981-06-27T02:03:03Z","stringField":"fZAWYzS","stringTimeField":"03:15:34.48Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":-669,"numField":429.9747375349772,"stringDateField":"1911-03-22","stringDateTimeField":"1981-06-27T02:03:03Z","stringField":"fZAWYzS","stringTimeField":"03:15:34.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":5,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":5,"uuid":"9dcc2606-5655-11ee-9801-675ed0f8e89b"},"arrayField":["StyZ"],"boolField":false,"intField":803,"numField":810.8731736471284,"objField":{"CndIkYmkXX":-8138456880633579997,"HwCaOJBoGY":2589252269538142664,"QUCVkFKP":-7072541945007304818,"RoIpZ":-3262004481731700131,"VcgyxV":-2889218683512955915,"XmUnraKNEY":7131592903103794631,"nLNJHOQ":2669527165004983371,"yGbKkwp":4536274589024648154},"stringDateField":"1939-05-07","stringDateTimeField":"1930-03-18T14:03:39Z","stringField":"yjtOwq","stringTimeField":"04:25:36.41Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":803,"numField":810.8731736471284,"stringDateField":"1939-05-07","stringDateTimeField":"1930-03-18T14:03:39Z","stringField":"yjtOwq","stringTimeField":"04:25:36.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":6,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":6,"uuid":"9dcc2606-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["VIlvugkt"],"boolField":false,"intField":638,"numField":102.33457848033667,"objField":{"AKaVRSgD":-5560379790136500981,"KzppJNaXt":-3902277329531547817},"stringDateField":"1961-11-27","stringDateTimeField":"1953-12-29T23:39:14Z","stringField":"jrdRQQtFfZ","stringTimeField":"23:20:04.21Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":638,"numField":102.33457848033667,"stringDateField":"1961-11-27","stringDateTimeField":"1953-12-29T23:39:14Z","stringField":"jrdRQQtFfZ","stringTimeField":"23:20:04.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":7,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":7,"uuid":"9dcc2606-5655-11ee-a001-675ed0f8e89b"},"arrayField":["hzjNFD","DRXiLkCVUU","fZnk","IYsHcqe","PeDFFCewS","FKJNncBYIS","ysQRUWfZN","hClukS"],"boolField":true,"intField":636,"numField":-407.24724254806534,"objField":{"AYuFGO":-8826396129766370434,"LpWyxPUO":-2057720124994818704,"NOgFy":-5652472286828891115,"PoohV":3573880636244554546,"foxGY":3794894492972573954,"kKbi":7508063543544602176,"lBgq":646763185696647011,"qhMVzKz":-251933546668112321,"sCZvV":1989291278694274917,"xUVZFPIrJ":-7261049778093728765},"stringDateField":"1943-11-26","stringDateTimeField":"2018-08-03T04:13:30Z","stringField":"Olisag","stringTimeField":"11:51:00.27Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":636,"numField":-407.24724254806534,"stringDateField":"1943-11-26","stringDateTimeField":"2018-08-03T04:13:30Z","stringField":"Olisag","stringTimeField":"11:51:00.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":8,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":8,"uuid":"9dcc2606-5655-11ee-a401-675ed0f8e89b"},"arrayField":["VCZVtSOFYk","nCwRvSSpY","ATpLt","GheNAm","HGlAcD"],"boolField":false,"intField":658,"numField":349.44455234441784,"objField":{"EeqoahS":-1160042110652183819,"FflPMx":676593265936740101,"MGZRiEdVV":-284274824442530717,"RAor":9091233709077184098,"TsHr":-5871237365187020322,"VMWyHF":-6800920164859432973,"iJgr":453646538902735541,"imDM":-781772058392504049,"itgqb":-964743794139336226,"jZOWer":-2450130177001747988},"stringDateField":"1952-06-07","stringDateTimeField":"1987-08-22T01:51:19Z","stringField":"LGgxuNPxGA","stringTimeField":"19:55:24.45Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":658,"numField":349.44455234441784,"stringDateField":"1952-06-07","stringDateTimeField":"1987-08-22T01:51:19Z","stringField":"LGgxuNPxGA","stringTimeField":"19:55:24.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":9,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":9,"uuid":"9dcc2606-5655-11ee-a801-675ed0f8e89b"},"arrayField":["wRjccgljjb","uCfuwRF","gALZTZpGl","afvANhS","RAMLbUV","lLGcreK","KaMyCfrw","hNXi","DTtxgN","vBCISL"],"boolField":false,"intField":569,"numField":-216.17409591440108,"objField":{"GLeL":-5442209359437884929,"XcjsCeT":-8942457251373420409,"aSDMFb":2966315205035094993,"vHsrjxU":-6404871209943318470},"stringDateField":"1959-11-05","stringDateTimeField":"1999-11-03T22:09:54Z","stringField":"LEbCJYAo","stringTimeField":"13:32:07.32Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":569,"numField":-216.17409591440108,"stringDateField":"1959-11-05","stringDateTimeField":"1999-11-03T22:09:54Z","stringField":"LEbCJYAo","stringTimeField":"13:32:07.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":10,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":10,"uuid":"9dcc2606-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["fmqzAvj","oEaF","vhzUmChn","CtNA","fLDoM"],"boolField":true,"intField":818,"numField":985.026984418678,"objField":{"TPNyRbywn":436711537511879657,"VLPC":-272146759947110764,"etLQfpuo":5970879228048926906,"pKqhQXL":8144708439066726892},"stringDateField":"1937-05-18","stringDateTimeField":"1947-12-16T16:50:26Z","stringField":"KJZTh","stringTimeField":"05:58:02.40Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":818,"numField":985.026984418678,"stringDateField":"1937-05-18","stringDateTimeField":"1947-12-16T16:50:26Z","stringField":"KJZTh","stringTimeField":"05:58:02.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":11,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":11,"uuid":"9dcc2606-5655-11ee-b001-675ed0f8e89b"},"arrayField":["yMZuB","LoNzYtEq","tEpTMtEXnR"],"boolField":false,"intField":-734,"numField":-516.778084979285,"objField":{"OcjJSFs":-5557421603528849517,"aUoa":9184322566848294595,"gaHKyaK":-2280040122778003245,"hhNysdRl":-3546663917775020867,"loOPspEpPZ":-9119118859935794743,"slALTH":-1491411343794233664},"stringDateField":"1933-01-03","stringDateTimeField":"1943-08-18T19:16:47Z","stringField":"OljjgKgcoX","stringTimeField":"04:05:33.25Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":-734,"numField":-516.778084979285,"stringDateField":"1933-01-03","stringDateTimeField":"1943-08-18T19:16:47Z","stringField":"OljjgKgcoX","stringTimeField":"04:05:33.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":12,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":12,"uuid":"9dcc2606-5655-11ee-b401-675ed0f8e89b"},"arrayField":["RnND","Cphsuo"],"boolField":false,"intField":254,"numField":707.5004525667749,"objField":{"xNsT":-4446839068560857650},"stringDateField":"1986-10-09","stringDateTimeField":"1988-07-26T03:58:54Z","stringField":"oryL","stringTimeField":"09:49:37.12Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":254,"numField":707.5004525667749,"stringDateField":"1986-10-09","stringDateTimeField":"1988-07-26T03:58:54Z","stringField":"oryL","stringTimeField":"09:49:37.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":13,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":13,"uuid":"9dcc2606-5655-11ee-b801-675ed0f8e89b"},"arrayField":["Atpy"],"boolField":false,"intField":-670,"numField":108.3587527308798,"objField":{"TmkIINGfvS":6534246118077504442},"stringDateField":"1984-06-26","stringDateTimeField":"1945-11-26T01:44:37Z","stringField":"ODHUt","stringTimeField":"06:19:57.33Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":-670,"numField":108.3587527308798,"stringDateField":"1984-06-26","stringDateTimeField":"1945-11-26T01:44:37Z","stringField":"ODHUt","stringTimeField":"06:19:57.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":14,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":14,"uuid":"9dcc2606-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["zLUmkyqA"],"boolField":false,"intField":-225,"numField":597.516186544989,"objField":{"cPEzOI":-2841606727751130665,"cePs":3179151603993957721,"nqJay":-2574445484687962258},"stringDateField":"2001-09-22","stringDateTimeField":"1989-02-02T02:46:13Z","stringField":"SeeY","stringTimeField":"13:00:03.16Z"},"flow_published_at":"2023-09-18T19:00:21.467495Z","intField":-225,"numField":597.516186544989,"stringDateField":"2001-09-22","stringDateTimeField":"1989-02-02T02:46:13Z","stringField":"SeeY","stringTimeField":"13:00:03.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":15,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":15,"uuid":"9dcc2607-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ZzCKcYXBQX","hkoAR"],"boolField":false,"intField":-107,"numField":684.45754228969,"objField":{"HNNr":-2094564673227093335,"VCZbmEDGwn":-7318136927593016481,"fnYlEfHSfQ":-7852571509286486051,"fwPGRbiL":-2627511197239498360},"stringDateField":"1940-05-10","stringDateTimeField":"1989-04-30T10:24:28Z","stringField":"FGDzVjPUq","stringTimeField":"22:01:33.13Z"},"flow_published_at":"2023-09-18T19:00:21.4674951Z","intField":-107,"numField":684.45754228969,"stringDateField":"1940-05-10","stringDateTimeField":"1989-04-30T10:24:28Z","stringField":"FGDzVjPUq","stringTimeField":"22:01:33.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":16,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":16,"uuid":"9de3e3ea-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UkDwWiB","RpSrE","KaUcgKB"],"boolField":false,"intField":-395,"numField":446.29476062476823,"objField":{"QEEURwEzeC":-8577231591821510504,"UtMp":3919864334084122906,"WpuizeNPgF":5448268316577770589,"ZEyFgdslfW":-8629820502287845628,"ZdyvKGbZR":8209817458082065382,"dKiA":6431739513990209408,"nKplNHG":4558196483139722599,"qyfmUMUEKF":-6728706432246172356,"trzvInw":-4331078790357896900},"stringDateField":"2009-06-29","stringDateTimeField":"2007-06-24T05:00:45Z","stringField":"Erqfm","stringTimeField":"07:06:02.18Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":-395,"numField":446.29476062476823,"stringDateField":"2009-06-29","stringDateTimeField":"2007-06-24T05:00:45Z","stringField":"Erqfm","stringTimeField":"07:06:02.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":17,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":17,"uuid":"9de3e3ea-5655-11ee-8801-675ed0f8e89b"},"arrayField":["EKlstqiL"],"boolField":true,"intField":-29,"numField":-446.6012825365504,"objField":{"CsXKpSoej":3729521295947190920,"LLpLlT":-1876172793336465130,"MRfMxv":6877582054478322686,"QWwG":6463817292456918838,"ZvXR":6698100684154819889,"fGMK":-5212056009334517962,"ikLgAHpXk":-3341472550011084298,"rqdZHkjeg":14576833143410227,"upuonULuf":7882286121309583574,"zcdtGDr":-4108875255929401312},"stringDateField":"1996-12-03","stringDateTimeField":"1915-05-30T23:49:49Z","stringField":"rBdY","stringTimeField":"14:38:22.24Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":-29,"numField":-446.6012825365504,"stringDateField":"1996-12-03","stringDateTimeField":"1915-05-30T23:49:49Z","stringField":"rBdY","stringTimeField":"14:38:22.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":18,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":18,"uuid":"9de3e3ea-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["cyUDrmv","LXVP","PniMsHpEEh","JsijPI","gRqiTe","RldBSFf"],"boolField":true,"intField":979,"numField":553.2058723447242,"objField":{"avAWpWfhtv":4929805470577578200,"riUC":-2775528092423994239,"zUfCH":8139750901795398380},"stringDateField":"2017-03-31","stringDateTimeField":"2000-08-17T08:36:50Z","stringField":"cgsSyNX","stringTimeField":"00:44:21.49Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":979,"numField":553.2058723447242,"stringDateField":"2017-03-31","stringDateTimeField":"2000-08-17T08:36:50Z","stringField":"cgsSyNX","stringTimeField":"00:44:21.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":19,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":19,"uuid":"9de3e3ea-5655-11ee-9001-675ed0f8e89b"},"arrayField":["bLHa","ieVXOGQo","ATrQyD","JWOWXjz","boYI","blTdzGvYR","vyRnS","aTQpdejn","zknnWvLHa","dBcNqUeb"],"boolField":true,"intField":-874,"numField":-325.3792620011671,"objField":{"Aubw":1618586505015535770,"PXIsN":5366120188549322816,"aCxhaFBLPh":-2705719764065632983,"cNaKUyMpIV":2336122350594801451,"hVMfU":-1329813911986382934,"kbnC":4987336931705488813,"kmlAuaB":-3113990675438052786,"lYICNb":8072512056919122857,"xXnbnBOGm":-1953314420146108269},"stringDateField":"1987-11-27","stringDateTimeField":"1986-11-23T14:38:26Z","stringField":"inqvDAj","stringTimeField":"03:01:52.39Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":-874,"numField":-325.3792620011671,"stringDateField":"1987-11-27","stringDateTimeField":"1986-11-23T14:38:26Z","stringField":"inqvDAj","stringTimeField":"03:01:52.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":20,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":20,"uuid":"9de3e3ea-5655-11ee-9401-675ed0f8e89b"},"arrayField":["qMdcSK","JgvOdXN","ynDakzaA","wYUSHFsP"],"boolField":true,"intField":345,"numField":418.1112969684335,"objField":{"DZHyv":-3348595090683438082,"IAtfcyZh":-7060873181693857410,"IFdo":7972480450345955561,"LwmBYQyet":5718244919474838790,"RXrnM":1228564733848065945,"RbFSQm":-1128291288958149988,"ShGMgsZMgm":3276401853493978204,"auOeMl":-7320229270245985722,"iqlJx":3138443171184259830},"stringDateField":"1942-04-18","stringDateTimeField":"1946-02-11T11:02:13Z","stringField":"wJFHqvPFp","stringTimeField":"00:59:26.45Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":345,"numField":418.1112969684335,"stringDateField":"1942-04-18","stringDateTimeField":"1946-02-11T11:02:13Z","stringField":"wJFHqvPFp","stringTimeField":"00:59:26.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":21,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":21,"uuid":"9de3e3ea-5655-11ee-9801-675ed0f8e89b"},"arrayField":["vhxDlC","weDfEH","WFoMY","GxoyxEaj"],"boolField":false,"intField":888,"numField":-87.76094852453697,"objField":{"BaJFVeBM":1440971803948551021,"KUoXjtnc":-2625824716111016959,"MQoHPwiD":-2109349286201130402,"vvDtVJ":21929057380049189},"stringDateField":"1911-08-31","stringDateTimeField":"1995-05-01T04:21:35Z","stringField":"ZMaBrl","stringTimeField":"17:19:57.17Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":888,"numField":-87.76094852453697,"stringDateField":"1911-08-31","stringDateTimeField":"1995-05-01T04:21:35Z","stringField":"ZMaBrl","stringTimeField":"17:19:57.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":22,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":22,"uuid":"9de3e3ea-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["bdGKuU","cPLL","PshiG","vxapz","VLcScIhCH","NcTdgLI","RyocF","tJdlsgYgI","FAGcGw"],"boolField":true,"intField":-575,"numField":-670.8552242137305,"objField":{"BPCp":5164542453400409514,"LAiuAVQNl":1645201349897211189,"MwZitTV":5227023491247956830,"OINuRBQiFa":-868526899277288862,"WCtTcEFAlA":-833138465944479793,"YJCplPXmc":8898329794533660406,"aaZXfRmt":5444641239385018308,"cuNCQDdfSA":-2123726001012319434,"jjphd":-992824776417623444},"stringDateField":"1969-04-05","stringDateTimeField":"2003-03-01T03:27:42Z","stringField":"zjqsFf","stringTimeField":"01:26:55.33Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":-575,"numField":-670.8552242137305,"stringDateField":"1969-04-05","stringDateTimeField":"2003-03-01T03:27:42Z","stringField":"zjqsFf","stringTimeField":"01:26:55.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":23,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":23,"uuid":"9de3e3ea-5655-11ee-a001-675ed0f8e89b"},"arrayField":["TMsLWZ","RzuHQLMfW","hOdCmX","APIHejYD","HrABIQl","AQnLIIcgJ","VOqYwwvC","rQFfJvjTWG"],"boolField":false,"intField":-345,"numField":171.17269352282395,"objField":{"DBPOCsIWQ":-4355702117649556812,"PVnEs":8939642739079593595,"XaTsFAMJ":-5913789179388469122,"cMAI":-735080739462065302,"xpYroEihTh":4603291465156320615},"stringDateField":"1991-05-17","stringDateTimeField":"1968-09-21T03:55:50Z","stringField":"WrhUxU","stringTimeField":"23:25:09.14Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":-345,"numField":171.17269352282395,"stringDateField":"1991-05-17","stringDateTimeField":"1968-09-21T03:55:50Z","stringField":"WrhUxU","stringTimeField":"23:25:09.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":24,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":24,"uuid":"9de3e3ea-5655-11ee-a401-675ed0f8e89b"},"arrayField":["JwCSI","flHWzgwh","LJtsdC","Bwal","dGiBtMvJZW","JGSmZnnW","GdaEkO","oxXBero"],"boolField":false,"intField":264,"numField":-511.7663120739497,"objField":{"HAskewYM":-8584652528023977329,"TGLmjINW":5242594809177869596,"TrbelcDFg":141430336963796233,"diiltE":7246760319149413088,"iHuz":2714770531111855416,"mKDPUf":-5274751526593500939,"qdnaJVhvi":-6970626171191169351,"teEEinv":-6357875762220944541},"stringDateField":"1986-06-25","stringDateTimeField":"1938-06-03T08:35:38Z","stringField":"rtVF","stringTimeField":"04:02:00.50Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":264,"numField":-511.7663120739497,"stringDateField":"1986-06-25","stringDateTimeField":"1938-06-03T08:35:38Z","stringField":"rtVF","stringTimeField":"04:02:00.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":25,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":25,"uuid":"9de3e3ea-5655-11ee-a801-675ed0f8e89b"},"arrayField":["dMICsK","pzfpG","CsLhlEhyM","FjlMYKSpI","pfZDxJ"],"boolField":false,"intField":-53,"numField":-10.019547916655714,"objField":{"BYnnjSyOe":2384431008290804006,"BkeIzp":-7801195429557460539,"MLHPSzNxLj":-7763988787479148476,"WvTGB":5281237175619315056,"bemEINt":7073098082952657810,"cwFUjuPR":-7454905302439602265,"qigRQyTyS":-2878209071123758698,"uBBnBC":241692201213793915},"stringDateField":"1932-09-10","stringDateTimeField":"1940-12-17T09:27:25Z","stringField":"lwqOU","stringTimeField":"04:31:51.48Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":-53,"numField":-10.019547916655714,"stringDateField":"1932-09-10","stringDateTimeField":"1940-12-17T09:27:25Z","stringField":"lwqOU","stringTimeField":"04:31:51.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":26,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":26,"uuid":"9de3e3ea-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["miHaak","EBNmi","JEKWpfVIAi","LyMKRGWu","FyswC","BNsdzTupfv"],"boolField":false,"intField":-821,"numField":-57.06610691433267,"objField":{"AdMAZarl":3019679336955094537,"IBVd":-418096962862488050,"SxBldmKze":2209618513107814325,"WyIZt":-4759435364962121135,"YEccWlPfD":-4606828576187737383,"ZnMLVgWbb":6741430808030333574,"pxDOa":3327886273732266632,"sJnQIHN":5546100396094189927,"waHAK":4728484053252517134},"stringDateField":"1917-07-01","stringDateTimeField":"2001-09-06T00:55:19Z","stringField":"sEMAfvTY","stringTimeField":"09:56:49.37Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":-821,"numField":-57.06610691433267,"stringDateField":"1917-07-01","stringDateTimeField":"2001-09-06T00:55:19Z","stringField":"sEMAfvTY","stringTimeField":"09:56:49.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":27,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":27,"uuid":"9de3e3ea-5655-11ee-b001-675ed0f8e89b"},"arrayField":["UpuLzWJwC"],"boolField":false,"intField":-884,"numField":253.3619169352692,"objField":{"BStQDvqAyi":4583323066344906961,"EUFZEVKz":-5353282589051545476,"MWRGFoB":3501858694046338272,"YGMnsir":1438001331657398049,"dfYFa":5061443439017709888,"vKaxBLuEwO":-4617246560284234571,"zVQpLTNO":-2751621683689973904},"stringDateField":"1988-03-10","stringDateTimeField":"1986-03-15T16:13:38Z","stringField":"cDsxqz","stringTimeField":"16:29:05.16Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":-884,"numField":253.3619169352692,"stringDateField":"1988-03-10","stringDateTimeField":"1986-03-15T16:13:38Z","stringField":"cDsxqz","stringTimeField":"16:29:05.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":28,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":28,"uuid":"9de3e3ea-5655-11ee-b401-675ed0f8e89b"},"arrayField":["JNZrgnerJ","vsHL","ZjYYWLjOB","NltZt","wzIGZFlZo","JiAvg","Iteavd","CeERGZRvHV","IzQIsqV","GuBGiTy"],"boolField":true,"intField":-996,"numField":-547.4885445108769,"objField":{"BgxIqqHMK":-4655387880265620799,"Tvijt":1580981706874727052,"ZEmvz":-2380584631269725515,"wVbzmQRJ":-3156596485851235483},"stringDateField":"1984-04-17","stringDateTimeField":"1903-07-22T03:29:44Z","stringField":"HNpPrbHk","stringTimeField":"07:26:59.48Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":-996,"numField":-547.4885445108769,"stringDateField":"1984-04-17","stringDateTimeField":"1903-07-22T03:29:44Z","stringField":"HNpPrbHk","stringTimeField":"07:26:59.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":29,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":29,"uuid":"9de3e3ea-5655-11ee-b801-675ed0f8e89b"},"arrayField":["pbewlueqft","SyHH"],"boolField":false,"intField":194,"numField":425.2134881418823,"objField":{"mWZjLt":634446451088307248},"stringDateField":"1945-11-04","stringDateTimeField":"2014-05-31T14:28:47Z","stringField":"LpWhicc","stringTimeField":"13:53:43.21Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":194,"numField":425.2134881418823,"stringDateField":"1945-11-04","stringDateTimeField":"2014-05-31T14:28:47Z","stringField":"LpWhicc","stringTimeField":"13:53:43.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":30,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":30,"uuid":"9de3e3ea-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["dAtydqMPj","yAXcc","DHQuy","HtPkmEKNPu","uGyBvYDOF","BMEHAvPP","yqTPxRAQ","iunXFGaO","KNmut","HdPe"],"boolField":true,"intField":-314,"numField":-954.6101756052976,"objField":{"nPAqYeZDR":-2920962170731913398},"stringDateField":"1913-07-10","stringDateTimeField":"1989-06-06T21:22:33Z","stringField":"djGx","stringTimeField":"06:23:33.29Z"},"flow_published_at":"2023-09-18T19:00:21.623089Z","intField":-314,"numField":-954.6101756052976,"stringDateField":"1913-07-10","stringDateTimeField":"1989-06-06T21:22:33Z","stringField":"djGx","stringTimeField":"06:23:33.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":31,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":31,"uuid":"9de3e3eb-5655-11ee-8001-675ed0f8e89b"},"arrayField":["XYkKCchetm","LXjCGwTaq","ecjXj","czYkiC","tSUJ","ZHTV","KBjfQUgJy","tUAZVNCY","fJoW","tFmLqX"],"boolField":false,"intField":-406,"numField":-474.34814191204214,"objField":{"HGMQTxBVS":6453628907744746441,"MMlZC":4680844632085627670,"auqM":2764961372713489601,"biXZFX":8168788189592747697,"bwusCchHlA":4172680828466835597,"hQuP":7579673450535077406,"qQLHA":8362619386394914776},"stringDateField":"1916-05-27","stringDateTimeField":"1961-09-03T01:26:01Z","stringField":"BcRyhsrpdP","stringTimeField":"22:53:14.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":-406,"numField":-474.34814191204214,"stringDateField":"1916-05-27","stringDateTimeField":"1961-09-03T01:26:01Z","stringField":"BcRyhsrpdP","stringTimeField":"22:53:14.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":32,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":32,"uuid":"9de3e3eb-5655-11ee-8401-675ed0f8e89b"},"arrayField":["siyrUldM"],"boolField":false,"intField":597,"numField":-877.8986885340648,"objField":{"DwQB":5421723536711654968,"ETCpgxe":-5909553894581066554,"EWmlWAkXB":-6055603635539617109,"ZRsBm":-469432061856795296,"ZrZQCMu":-4903156708408445188,"tciT":-2964189305083515905},"stringDateField":"1914-01-19","stringDateTimeField":"2017-11-16T08:52:48Z","stringField":"UNXaG","stringTimeField":"20:09:03.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":597,"numField":-877.8986885340648,"stringDateField":"1914-01-19","stringDateTimeField":"2017-11-16T08:52:48Z","stringField":"UNXaG","stringTimeField":"20:09:03.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":33,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":33,"uuid":"9de3e3eb-5655-11ee-8801-675ed0f8e89b"},"arrayField":["eKKDNRPcN","IALFw","kEVM","yNyTlnLbKx","RcfUxmhUas","mCfEsQXQWy"],"boolField":true,"intField":164,"numField":-665.8402265309303,"objField":{"FLKtxwaad":7810555247579221920,"FrxHTs":-1124581601005500667,"JZFXi":8870862805451968243,"KfJw":-7942671779830375981,"REUfqeclEg":7174244455910088203,"WsWIqPS":-1277054108486805252,"XuSmZ":-1457741071743985117,"nmrUFgnNBW":-4830770665093742689,"nyVJo":3074168440030253833},"stringDateField":"1953-01-31","stringDateTimeField":"1938-02-16T16:19:21Z","stringField":"nlvhbl","stringTimeField":"16:01:24.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":164,"numField":-665.8402265309303,"stringDateField":"1953-01-31","stringDateTimeField":"1938-02-16T16:19:21Z","stringField":"nlvhbl","stringTimeField":"16:01:24.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":34,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":34,"uuid":"9de3e3eb-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["pMMXHc","nNux","dNuoj","llMgVItO","GIvw","RgObeInKi","RFjTWNto","bxiOajliq","TodVrm","bhxTzvk"],"boolField":true,"intField":393,"numField":96.44669937417572,"objField":{"UmlnvauCHP":1383312928987360183},"stringDateField":"1910-07-29","stringDateTimeField":"1991-05-05T03:14:21Z","stringField":"IcBLPmfM","stringTimeField":"16:11:55.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":393,"numField":96.44669937417572,"stringDateField":"1910-07-29","stringDateTimeField":"1991-05-05T03:14:21Z","stringField":"IcBLPmfM","stringTimeField":"16:11:55.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":35,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":35,"uuid":"9de3e3eb-5655-11ee-9001-675ed0f8e89b"},"arrayField":["JfGBRCL","qrtw","jMCL","pyVgAwCIF","JTxLn","LJuUsBnu","ethnpEohP","hsZgxhzOQm","XeJgLyPsy"],"boolField":true,"intField":-390,"numField":-685.5878219544691,"objField":{"HQIES":-900459420830300010},"stringDateField":"1931-01-10","stringDateTimeField":"1945-04-10T10:31:48Z","stringField":"EkrxnSs","stringTimeField":"22:45:46.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":-390,"numField":-685.5878219544691,"stringDateField":"1931-01-10","stringDateTimeField":"1945-04-10T10:31:48Z","stringField":"EkrxnSs","stringTimeField":"22:45:46.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":36,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":36,"uuid":"9de3e3eb-5655-11ee-9401-675ed0f8e89b"},"arrayField":["kzWKgFfXC","ICQy","YDtzuKbiD","AZsCX","TEKPrO"],"boolField":false,"intField":-666,"numField":975.9058211600568,"objField":{"rIwmUas":5751988933322012520},"stringDateField":"1921-06-27","stringDateTimeField":"1934-04-18T12:59:57Z","stringField":"ThJzE","stringTimeField":"13:41:07.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":-666,"numField":975.9058211600568,"stringDateField":"1921-06-27","stringDateTimeField":"1934-04-18T12:59:57Z","stringField":"ThJzE","stringTimeField":"13:41:07.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":37,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":37,"uuid":"9de3e3eb-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gXqBDtRFH","Pemo","ZlCywtLno","AxSmzD","TyecJpbM","okCDLhc","vNmu","AYwGbh"],"boolField":true,"intField":81,"numField":596.8894080240086,"objField":{"GKPFGdf":3259750748341018332,"LyFZm":6838173793940247259,"isZYKB":3712458060878463670,"kqMsEBPeT":-4018490153860963769,"paDHitbDTj":-8418188270725571123,"yVKSNWNz":-4367970693050482455,"ysOw":7942054214611901769},"stringDateField":"1910-02-28","stringDateTimeField":"1955-02-03T21:55:45Z","stringField":"MbPCmFauc","stringTimeField":"10:30:41.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":81,"numField":596.8894080240086,"stringDateField":"1910-02-28","stringDateTimeField":"1955-02-03T21:55:45Z","stringField":"MbPCmFauc","stringTimeField":"10:30:41.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":38,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":38,"uuid":"9de3e3eb-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["IHjsi"],"boolField":false,"intField":632,"numField":744.7867035607751,"objField":{"CwrDB":-1538219171342977847,"TpECjjNTk":7474402611034192478,"cMQwZOz":-737899963206911388,"eEjLweJ":3171039011380159179,"jxemgxXzxE":-160023148224780941,"orvD":-3698713654400040062,"uzClKYeqm":-7658210245740775125},"stringDateField":"1935-05-11","stringDateTimeField":"1906-11-02T17:58:30Z","stringField":"uytjNVmJtj","stringTimeField":"23:12:04.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":632,"numField":744.7867035607751,"stringDateField":"1935-05-11","stringDateTimeField":"1906-11-02T17:58:30Z","stringField":"uytjNVmJtj","stringTimeField":"23:12:04.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":39,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":39,"uuid":"9de3e3eb-5655-11ee-a001-675ed0f8e89b"},"arrayField":["flivpqYM","mflBTruzGK","VSrMxz","IvQRIcEQ","PVwJNFkvUk","rPTuk"],"boolField":true,"intField":-254,"numField":-401.1400464107057,"objField":{"DLVw":6810449968837038829,"EDCB":8115581815084388057,"TvJjnncmF":-7833358117265962965,"atBVuH":-9074496524789723601,"bioCshdE":4696247926550648568,"mYQCPfOGnn":8206127565352415664},"stringDateField":"1918-03-02","stringDateTimeField":"2009-10-02T11:06:49Z","stringField":"JqcnliEM","stringTimeField":"04:25:12.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":-254,"numField":-401.1400464107057,"stringDateField":"1918-03-02","stringDateTimeField":"2009-10-02T11:06:49Z","stringField":"JqcnliEM","stringTimeField":"04:25:12.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":40,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":40,"uuid":"9de3e3eb-5655-11ee-a401-675ed0f8e89b"},"arrayField":["QUeI","rtAUiJmk","bztKcR","THFP"],"boolField":true,"intField":933,"numField":-64.04987805785301,"objField":{"GXOA":-195793446019897689,"LRgAf":3127168383715941571,"Nyof":6406060710569585101,"VTCO":-2102081300078208329,"cHydjWaTf":-5204244676727323663,"uDQtvE":-7263482980975654596,"wQiCTaHggT":-2216592248598243440,"xRvKMA":-7596013447918744709,"yHNviaFJiY":-325887068818592552},"stringDateField":"1943-06-05","stringDateTimeField":"1952-09-02T01:52:26Z","stringField":"xHvDG","stringTimeField":"10:30:22.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":933,"numField":-64.04987805785301,"stringDateField":"1943-06-05","stringDateTimeField":"1952-09-02T01:52:26Z","stringField":"xHvDG","stringTimeField":"10:30:22.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":41,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":41,"uuid":"9de3e3eb-5655-11ee-a801-675ed0f8e89b"},"arrayField":["WteF","gWuhb","KNiwNQnqdl","epMZ","EIOD","PDxVO"],"boolField":false,"intField":-848,"numField":-42.35812143171069,"objField":{"mWFNfcyxvm":-3276248889631138435,"nEiHUKL":3387943214809754434,"odCukkR":-4596680916391418045},"stringDateField":"1954-05-10","stringDateTimeField":"2009-09-27T03:00:47Z","stringField":"NcokVCrD","stringTimeField":"01:49:47.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":-848,"numField":-42.35812143171069,"stringDateField":"1954-05-10","stringDateTimeField":"2009-09-27T03:00:47Z","stringField":"NcokVCrD","stringTimeField":"01:49:47.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":42,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":42,"uuid":"9de3e3eb-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["aODbQ","yiwYdH","cDpDC"],"boolField":false,"intField":160,"numField":948.7645088540322,"objField":{"RvmVx":6319475746503826006,"WrjQiN":-6477348960011515849,"gGxjgiRMs":5757343663670353567,"jFCu":-1679016213858830593,"jjFYg":-2272683212208006606,"qebITe":-5626832330993196610,"yVWBsEyy":8823893057308901141,"ybLbavqC":-3603462225514669089,"zUSshrVt":4716252808254866045},"stringDateField":"1971-01-15","stringDateTimeField":"1927-02-11T06:03:31Z","stringField":"AwfdQxfLh","stringTimeField":"04:40:35.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":160,"numField":948.7645088540322,"stringDateField":"1971-01-15","stringDateTimeField":"1927-02-11T06:03:31Z","stringField":"AwfdQxfLh","stringTimeField":"04:40:35.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":43,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":43,"uuid":"9de3e3eb-5655-11ee-b001-675ed0f8e89b"},"arrayField":["yZEY","bagolL","LnvfuMpgG"],"boolField":true,"intField":-317,"numField":774.4097125341376,"objField":{"QdkLKcDKlj":5340484716680614458,"fAbsYz":818571280793821595,"qhJJypJ":8333164348449018183,"thkrzh":3609446648960997619,"wQTIkmHqPz":-4026581692954572646},"stringDateField":"1913-11-12","stringDateTimeField":"1958-08-02T17:18:34Z","stringField":"kKhpyGHNx","stringTimeField":"21:36:06.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":-317,"numField":774.4097125341376,"stringDateField":"1913-11-12","stringDateTimeField":"1958-08-02T17:18:34Z","stringField":"kKhpyGHNx","stringTimeField":"21:36:06.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":44,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":44,"uuid":"9de3e3eb-5655-11ee-b401-675ed0f8e89b"},"arrayField":["FhuGNu","iWXNm","jQNXOVx","alCCrsp","HovP","fkOpOYrdB","ckCv","OHxFh","NBxsWgVGk"],"boolField":false,"intField":364,"numField":-546.8626473012783,"objField":{"DtssahKNa":7813099045980963871,"LHVJoqt":3212065372214419011,"NAdGxYOPqq":3153092732172623280,"YRAEP":-8219701886506688606,"achc":-7626379086835400469,"cxSzzL":-8556571711636319148,"psazWrVl":-7730283730922831773,"zuGXDnzFH":110932039154232727},"stringDateField":"1945-01-29","stringDateTimeField":"1965-07-18T03:16:25Z","stringField":"ngzBOATo","stringTimeField":"04:19:42.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":364,"numField":-546.8626473012783,"stringDateField":"1945-01-29","stringDateTimeField":"1965-07-18T03:16:25Z","stringField":"ngzBOATo","stringTimeField":"04:19:42.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":45,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":45,"uuid":"9de3e3eb-5655-11ee-b801-675ed0f8e89b"},"arrayField":["aDZGGlF","naZGTrkdZ","LdkcLLy","nnRPY"],"boolField":true,"intField":-840,"numField":212.30296268211336,"objField":{"UydJIg":9184467832691782747,"bTmcHR":291775382984830628,"eaBDVbO":-2867924421136839258},"stringDateField":"2003-04-16","stringDateTimeField":"1923-09-01T15:15:41Z","stringField":"WeLgQ","stringTimeField":"16:40:34.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":-840,"numField":212.30296268211336,"stringDateField":"2003-04-16","stringDateTimeField":"1923-09-01T15:15:41Z","stringField":"WeLgQ","stringTimeField":"16:40:34.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":46,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":46,"uuid":"9de3e3eb-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ccnnYBNpDE","umdUqpaD"],"boolField":true,"intField":-205,"numField":553.9972732127503,"objField":{"CTmAHXPcX":-8558635094279332383,"cfqPzQK":1223316045997240766,"ckHYaJaK":-4752409669925601873,"hVSuWjbIy":2131320501275976848,"pAMsA":-7557269251432670053,"uZTcooSU":270720809194573704},"stringDateField":"2003-04-17","stringDateTimeField":"1984-10-01T19:42:00Z","stringField":"NJoTSYdjk","stringTimeField":"00:18:58.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230891Z","intField":-205,"numField":553.9972732127503,"stringDateField":"2003-04-17","stringDateTimeField":"1984-10-01T19:42:00Z","stringField":"NJoTSYdjk","stringTimeField":"00:18:58.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":47,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":47,"uuid":"9de3e3ec-5655-11ee-8001-675ed0f8e89b"},"arrayField":["VqrHg","wIITaiYTDi","jYdvXagnk","eLZEOY","gnuJOUZ","HSce","fKIuOgnpGx","xavkQIJMBY","wrsf"],"boolField":false,"intField":396,"numField":-889.4329491719612,"objField":{"DmhkWCxUc":-4442925712704539587,"Kpcd":7414870407273299965,"bzKJdYYWwR":1861178601240725381,"iRHcTtCLmo":4783387265425516077,"jKKVaKAEe":-9009414892024107652,"lWPwZD":4596139686123692842,"nckufk":-6182795071532483046,"tNWVUkdGcP":572435293650046629,"vAVfSR":4888726356667279522},"stringDateField":"1944-05-07","stringDateTimeField":"1912-06-16T10:23:45Z","stringField":"zikVdMXLkh","stringTimeField":"07:38:40.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":396,"numField":-889.4329491719612,"stringDateField":"1944-05-07","stringDateTimeField":"1912-06-16T10:23:45Z","stringField":"zikVdMXLkh","stringTimeField":"07:38:40.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":48,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":48,"uuid":"9de3e3ec-5655-11ee-8401-675ed0f8e89b"},"arrayField":["pTgWcg","xEAf","jcianI","EfKhFdGddK","egIvuQom","HyRr","AegXWG","XxaMkJYY"],"boolField":false,"intField":-830,"numField":250.1944941972034,"objField":{"GusksZuVuH":5485750538037158701,"IJvIH":7982718931413060854,"bWAncrr":477565149891862052,"gYXuxY":-3108323600106476191,"xgzzaUSI":-7122809229406723691,"xreQV":2749527367988065944},"stringDateField":"1931-06-25","stringDateTimeField":"1939-09-12T15:32:01Z","stringField":"zyFvH","stringTimeField":"11:22:27.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":-830,"numField":250.1944941972034,"stringDateField":"1931-06-25","stringDateTimeField":"1939-09-12T15:32:01Z","stringField":"zyFvH","stringTimeField":"11:22:27.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":49,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":49,"uuid":"9de3e3ec-5655-11ee-8801-675ed0f8e89b"},"arrayField":["lohSy"],"boolField":false,"intField":312,"numField":-436.2931250091581,"objField":{"abxIB":-6690461248437366689,"ivWhG":-5021935135695797536,"pUXwe":-6244705473610869160,"tJXjwRDCS":-2970640015913711758,"tbAr":-5015684987989005235,"uDuLMmjPVZ":3114950547827952528},"stringDateField":"1940-06-28","stringDateTimeField":"1992-08-06T10:00:42Z","stringField":"SHhzVKpX","stringTimeField":"22:42:16.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":312,"numField":-436.2931250091581,"stringDateField":"1940-06-28","stringDateTimeField":"1992-08-06T10:00:42Z","stringField":"SHhzVKpX","stringTimeField":"22:42:16.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":50,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":50,"uuid":"9de3e3ec-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KYdo"],"boolField":true,"intField":593,"numField":143.0098168185412,"objField":{"SMwaH":-561765335359447930,"ulzNL":5888969143356429654},"stringDateField":"2003-03-10","stringDateTimeField":"1953-07-30T15:14:30Z","stringField":"aWliCqWBZ","stringTimeField":"19:24:20.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":593,"numField":143.0098168185412,"stringDateField":"2003-03-10","stringDateTimeField":"1953-07-30T15:14:30Z","stringField":"aWliCqWBZ","stringTimeField":"19:24:20.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":51,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":51,"uuid":"9de3e3ec-5655-11ee-9001-675ed0f8e89b"},"arrayField":["SQzxNwmsmn","FhJEmVGkRS"],"boolField":true,"intField":671,"numField":57.96146059645868,"objField":{"PyAtbSbZu":9069701887648439086},"stringDateField":"1947-02-07","stringDateTimeField":"2015-03-08T13:15:48Z","stringField":"jpmEWHw","stringTimeField":"01:17:50.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":671,"numField":57.96146059645868,"stringDateField":"1947-02-07","stringDateTimeField":"2015-03-08T13:15:48Z","stringField":"jpmEWHw","stringTimeField":"01:17:50.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":52,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":52,"uuid":"9de3e3ec-5655-11ee-9401-675ed0f8e89b"},"arrayField":["MikY","nxKMW","fwaiDU","BRuhBMG","cuVtly","lAEUzmCU","Eskrjz","LkufGCfT"],"boolField":true,"intField":483,"numField":-98.00002775839069,"objField":{"JWaQuyzX":-1104073805309652675,"KxoAiTIvQ":6419779936091595387,"NknrcxaSd":8957454521624113862,"hQNjv":4457713355025792829},"stringDateField":"1932-11-03","stringDateTimeField":"1928-06-24T09:43:31Z","stringField":"NtOQPW","stringTimeField":"16:25:58.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":483,"numField":-98.00002775839069,"stringDateField":"1932-11-03","stringDateTimeField":"1928-06-24T09:43:31Z","stringField":"NtOQPW","stringTimeField":"16:25:58.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":53,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":53,"uuid":"9de3e3ec-5655-11ee-9801-675ed0f8e89b"},"arrayField":["rJsDMODFE","LejDtI","DktpjC","gzxahwJjpe","HxETAoYVWu","cQfMz","wrfJPSf"],"boolField":true,"intField":914,"numField":-292.035464301789,"objField":{"IReoIWR":4393565856112789566,"VgIowCyqM":-3263214430276960056,"ayBalNsv":5267125018450809352,"pwQLiiaOez":-6566531316539112396},"stringDateField":"1968-07-22","stringDateTimeField":"2001-04-06T16:58:22Z","stringField":"uXzgiSgKWx","stringTimeField":"11:26:59.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":914,"numField":-292.035464301789,"stringDateField":"1968-07-22","stringDateTimeField":"2001-04-06T16:58:22Z","stringField":"uXzgiSgKWx","stringTimeField":"11:26:59.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":54,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":54,"uuid":"9de3e3ec-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["OkdTmtdwk","wixFZMo","MYgV"],"boolField":true,"intField":746,"numField":974.159504970154,"objField":{"BCpabQG":-9127741167462349654,"GEoxTOGC":2216157485450013227,"OfWT":4711278228730686731,"TAwYaBhAkc":-2202531048590136151,"XrpyCg":2398910642954848165,"qnQCDfgt":-1930109468144632023,"tSRIisnId":-2089734345946530551},"stringDateField":"1934-10-22","stringDateTimeField":"1909-02-07T14:16:01Z","stringField":"emDrMtUkDW","stringTimeField":"11:23:19.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":746,"numField":974.159504970154,"stringDateField":"1934-10-22","stringDateTimeField":"1909-02-07T14:16:01Z","stringField":"emDrMtUkDW","stringTimeField":"11:23:19.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":55,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":55,"uuid":"9de3e3ec-5655-11ee-a001-675ed0f8e89b"},"arrayField":["vqGQDvvoy","OjpnVifAJV","oRWVMkBpsQ","oSAGqkFxS","fARKjyneK"],"boolField":true,"intField":-872,"numField":948.3710934600056,"objField":{"AVYkvY":-6403485117376914114,"HxyHW":-2568322139387602262,"ZGAayS":-904751834070963580,"bnlnRCd":8894377446613098654,"jzJOFBVbBb":6646012681991207231,"pHramxOTLy":-2465034461423385462,"sPYMDUu":758863305405086259,"uPHPlP":-6254355134084659033,"vaCFe":-3326648860134891907,"wwQKtc":-8385173906263300307},"stringDateField":"1914-05-22","stringDateTimeField":"1912-06-20T16:11:36Z","stringField":"DULlT","stringTimeField":"16:16:35.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":-872,"numField":948.3710934600056,"stringDateField":"1914-05-22","stringDateTimeField":"1912-06-20T16:11:36Z","stringField":"DULlT","stringTimeField":"16:16:35.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":56,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":56,"uuid":"9de3e3ec-5655-11ee-a401-675ed0f8e89b"},"arrayField":["AfKJF","wGNDkPJ","jxRltzd","DzssEXBsY","OFCGdexLh","BLuSQxvAX","iODYq","kyUXDt","ayyCJvFO","XaqvH"],"boolField":false,"intField":872,"numField":-999.58615246474,"objField":{"CizeqrKAyM":-3021555308922208694,"RqOTyU":5289941949135741024,"TCsJb":-3133641129136874979,"dGfXp":7471929084936467499},"stringDateField":"2015-06-10","stringDateTimeField":"2018-06-17T13:17:31Z","stringField":"lvCtG","stringTimeField":"02:21:11.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":872,"numField":-999.58615246474,"stringDateField":"2015-06-10","stringDateTimeField":"2018-06-17T13:17:31Z","stringField":"lvCtG","stringTimeField":"02:21:11.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":57,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":57,"uuid":"9de3e3ec-5655-11ee-a801-675ed0f8e89b"},"arrayField":["dpBSnHklDn"],"boolField":true,"intField":19,"numField":-678.8082601099137,"objField":{"DhPAc":8543139754019968870,"MNorDdFOz":-3505741539219197741,"MskHZaim":4494988824973053185,"QJAh":-6393137950226992867,"QPVCL":-6375655598996148386,"YKnzKcyl":5005343369388832305,"YlizmsvC":8906676318699935122},"stringDateField":"1986-05-05","stringDateTimeField":"1928-05-28T21:37:02Z","stringField":"OsqjWifHpM","stringTimeField":"17:53:57.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":19,"numField":-678.8082601099137,"stringDateField":"1986-05-05","stringDateTimeField":"1928-05-28T21:37:02Z","stringField":"OsqjWifHpM","stringTimeField":"17:53:57.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":58,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":58,"uuid":"9de3e3ec-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["DJuui","qQvSQjkWve","BZgZdqsrH","DgRWYXnUc","cVVWN","arjQbPSy"],"boolField":true,"intField":-392,"numField":-235.4349669944237,"objField":{"MhOEqDU":-177251788782854382,"NdyPVWzP":6706601231069283586,"OEZVIYDpl":-2530875085638921938,"QgMJqYeArq":7000693104625063130,"YGrCfwD":-3658656376141577522,"cFoAxxdb":4956495003249462641,"hAvmOXiIj":2141966179534807045,"ubSyeBVrq":4801355154328985323},"stringDateField":"1990-08-23","stringDateTimeField":"1902-07-16T21:15:49Z","stringField":"GrKUXjnSw","stringTimeField":"13:05:09.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":-392,"numField":-235.4349669944237,"stringDateField":"1990-08-23","stringDateTimeField":"1902-07-16T21:15:49Z","stringField":"GrKUXjnSw","stringTimeField":"13:05:09.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":59,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":59,"uuid":"9de3e3ec-5655-11ee-b001-675ed0f8e89b"},"arrayField":["MEjvgwKE","MVNslR","mUEgccCO","yPOwa","Dtgcvoz","gNwzCvV","ACDxBtAfnj"],"boolField":false,"intField":-436,"numField":749.6834749782408,"objField":{"cLroqTq":4877313716996562841,"rCdWGUiQjw":996969655587312992},"stringDateField":"2019-02-08","stringDateTimeField":"1920-03-22T01:18:15Z","stringField":"EUEIbiOPU","stringTimeField":"13:05:57.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":-436,"numField":749.6834749782408,"stringDateField":"2019-02-08","stringDateTimeField":"1920-03-22T01:18:15Z","stringField":"EUEIbiOPU","stringTimeField":"13:05:57.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":60,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":60,"uuid":"9de3e3ec-5655-11ee-b401-675ed0f8e89b"},"arrayField":["PmmzUJwCGp"],"boolField":true,"intField":-756,"numField":-562.2169943957483,"objField":{"TDmpbPdMiN":-3284392775421762588,"qkkYCyYVq":-5674274378198094707},"stringDateField":"1941-10-06","stringDateTimeField":"1935-08-01T23:07:38Z","stringField":"kpoiWbp","stringTimeField":"09:14:14.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":-756,"numField":-562.2169943957483,"stringDateField":"1941-10-06","stringDateTimeField":"1935-08-01T23:07:38Z","stringField":"kpoiWbp","stringTimeField":"09:14:14.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":61,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":61,"uuid":"9de3e3ec-5655-11ee-b801-675ed0f8e89b"},"arrayField":["LvjSFqIBH","buOIhviWIm"],"boolField":false,"intField":875,"numField":-511.7002029896798,"objField":{"GFMe":-8060506475727493842,"bfUItawmd":1437542820864736881,"zdpJqVOL":987475800834251412},"stringDateField":"1929-07-20","stringDateTimeField":"1918-02-05T00:01:15Z","stringField":"ldZvotfM","stringTimeField":"03:51:00.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":875,"numField":-511.7002029896798,"stringDateField":"1929-07-20","stringDateTimeField":"1918-02-05T00:01:15Z","stringField":"ldZvotfM","stringTimeField":"03:51:00.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":62,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":62,"uuid":"9de3e3ec-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["VzDb","oJNmGuNfc","bmnFrJScA","KSxZsfOnJT"],"boolField":false,"intField":-742,"numField":370.6860794153046,"objField":{"AVrw":4896720741916989052,"UoVYG":3726656437116031561,"VxOIkQqacA":9221772457859882108,"aylx":6190191692171478889,"cgFrknkVe":-3663466886471977541,"lBcBKOE":3442808323615299401,"nfKNV":529636424091389765},"stringDateField":"1916-04-15","stringDateTimeField":"1925-01-12T00:12:21Z","stringField":"DRVfOE","stringTimeField":"08:36:21.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230892Z","intField":-742,"numField":370.6860794153046,"stringDateField":"1916-04-15","stringDateTimeField":"1925-01-12T00:12:21Z","stringField":"DRVfOE","stringTimeField":"08:36:21.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":63,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":63,"uuid":"9de3e3ed-5655-11ee-8001-675ed0f8e89b"},"arrayField":["hYXddeu","qgcFUT","yhuyb","hQtM","UtLzdBCe"],"boolField":false,"intField":549,"numField":775.3312823263688,"objField":{"GcJmBlK":-693905700639569663},"stringDateField":"1951-04-27","stringDateTimeField":"1912-10-04T16:52:11Z","stringField":"FXhcrDxg","stringTimeField":"23:45:12.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":549,"numField":775.3312823263688,"stringDateField":"1951-04-27","stringDateTimeField":"1912-10-04T16:52:11Z","stringField":"FXhcrDxg","stringTimeField":"23:45:12.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":64,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":64,"uuid":"9de3e3ed-5655-11ee-8401-675ed0f8e89b"},"arrayField":["OFVtsOoBTN","CEXTZ","tspAtc"],"boolField":true,"intField":-166,"numField":-803.4689359442249,"objField":{"rwKM":-6865359745881289691},"stringDateField":"1922-08-07","stringDateTimeField":"1985-06-26T06:09:15Z","stringField":"ZcORxCzvl","stringTimeField":"20:58:58.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":-166,"numField":-803.4689359442249,"stringDateField":"1922-08-07","stringDateTimeField":"1985-06-26T06:09:15Z","stringField":"ZcORxCzvl","stringTimeField":"20:58:58.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":65,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":65,"uuid":"9de3e3ed-5655-11ee-8801-675ed0f8e89b"},"arrayField":["PlxSP","OIRoktsyxf","ZsQPpMqp","MDlrjndrSB","FtguDkTE","fduYgoMVqs","NGxRza"],"boolField":true,"intField":755,"numField":-625.175986741674,"objField":{"OxhngB":-6710840072469908970,"SGfSyhcDa":8250164568800352848,"UOrskyF":7728972476142201712,"VlZYJyUdRt":8345680213580869926,"ZPRt":3097230970331475012,"ifgEeLpvr":6946753458001539087,"nvHIpNoagd":-3341999101909910668,"zBaYMvXy":-887637160583988431},"stringDateField":"1990-10-08","stringDateTimeField":"2001-04-14T00:31:58Z","stringField":"zNwClbhcDx","stringTimeField":"12:58:14.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":755,"numField":-625.175986741674,"stringDateField":"1990-10-08","stringDateTimeField":"2001-04-14T00:31:58Z","stringField":"zNwClbhcDx","stringTimeField":"12:58:14.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":66,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":66,"uuid":"9de3e3ed-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["LmroGzlLR","qbdlklGo","POpA","tXLbHX","xLVnt","zBrfUwFMO"],"boolField":false,"intField":-232,"numField":964.0273668552747,"objField":{"eQZR":5348897593116035094,"uKVnSGuMs":-8216966092453373976},"stringDateField":"2003-12-21","stringDateTimeField":"1911-09-12T00:59:25Z","stringField":"pbGc","stringTimeField":"18:04:29.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":-232,"numField":964.0273668552747,"stringDateField":"2003-12-21","stringDateTimeField":"1911-09-12T00:59:25Z","stringField":"pbGc","stringTimeField":"18:04:29.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":67,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":67,"uuid":"9de3e3ed-5655-11ee-9001-675ed0f8e89b"},"arrayField":["sxSL","GrzoRFIx","GDDsgWjmYU"],"boolField":false,"intField":-370,"numField":227.8328304622259,"objField":{"BwDltHaDC":7701474630643202128},"stringDateField":"1991-07-20","stringDateTimeField":"1911-01-23T16:53:40Z","stringField":"vDZkgJl","stringTimeField":"02:55:21.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":-370,"numField":227.8328304622259,"stringDateField":"1991-07-20","stringDateTimeField":"1911-01-23T16:53:40Z","stringField":"vDZkgJl","stringTimeField":"02:55:21.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":68,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":68,"uuid":"9de3e3ed-5655-11ee-9401-675ed0f8e89b"},"arrayField":["CvtrEUqM"],"boolField":false,"intField":73,"numField":-52.19572858134003,"objField":{"AzSlMQ":6110492053848489501,"SHjigeIT":5685116720629368969,"VKSMZysSH":4981506445757326871,"qMqHaZ":7761427650788979882},"stringDateField":"1903-06-13","stringDateTimeField":"1942-10-03T16:32:35Z","stringField":"MVnzJn","stringTimeField":"05:33:59.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":73,"numField":-52.19572858134003,"stringDateField":"1903-06-13","stringDateTimeField":"1942-10-03T16:32:35Z","stringField":"MVnzJn","stringTimeField":"05:33:59.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":69,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":69,"uuid":"9de3e3ed-5655-11ee-9801-675ed0f8e89b"},"arrayField":["xcKALIU","HUfFh","RrSMApjs","gEoVJVr"],"boolField":false,"intField":-733,"numField":-621.5532534570837,"objField":{"EAhT":190079501544793701,"KaiWXbEJHb":8154806287480408883,"hYdkd":2266237864243804378,"mtvCWCT":6161889339314213215,"ncVNvR":-7842490447551006892,"xEezdEHPpZ":-8918910401105996731,"yiBpPELhwY":475208453873078530,"zbXfmBjjM":-1972643590948618255},"stringDateField":"1946-09-22","stringDateTimeField":"1952-04-13T09:31:37Z","stringField":"nqXJDHrTz","stringTimeField":"16:50:14.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":-733,"numField":-621.5532534570837,"stringDateField":"1946-09-22","stringDateTimeField":"1952-04-13T09:31:37Z","stringField":"nqXJDHrTz","stringTimeField":"16:50:14.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":70,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":70,"uuid":"9de3e3ed-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["gLSkmmnauo","UjIDIoYx","Nvyl","LhXSBvL"],"boolField":false,"intField":-104,"numField":722.5198341555279,"objField":{"JDGctthYF":-7522052061195881873,"PcXT":7793024268132409589,"UxzAds":5208143298826339425,"ZUBg":7682330817178624093},"stringDateField":"1940-08-16","stringDateTimeField":"1982-05-11T16:59:40Z","stringField":"hLnKjJAjb","stringTimeField":"16:47:35.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":-104,"numField":722.5198341555279,"stringDateField":"1940-08-16","stringDateTimeField":"1982-05-11T16:59:40Z","stringField":"hLnKjJAjb","stringTimeField":"16:47:35.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":71,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":71,"uuid":"9de3e3ed-5655-11ee-a001-675ed0f8e89b"},"arrayField":["vNHYH"],"boolField":true,"intField":-986,"numField":-784.9284080728736,"objField":{"CtFOUjUj":5732074073291860608,"HeGjKZ":-9025391426432371720,"JIiz":5064726774005649418,"PXnd":-8240123485340200180,"SNKLLCsZ":6523891114579987155,"lcocFi":-8719401223182603689,"ltIyy":-1460676751318771096,"odyUfaOAG":-3201113144992678734},"stringDateField":"2014-04-16","stringDateTimeField":"1935-12-21T01:59:47Z","stringField":"SSvuFIP","stringTimeField":"05:07:58.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":-986,"numField":-784.9284080728736,"stringDateField":"2014-04-16","stringDateTimeField":"1935-12-21T01:59:47Z","stringField":"SSvuFIP","stringTimeField":"05:07:58.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":72,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":72,"uuid":"9de3e3ed-5655-11ee-a401-675ed0f8e89b"},"arrayField":["TgXE","MzAeSJiwN","vCmb","YwGMpRQW","ZHvnc","VrRGaDANk","NpQapoUF","htSyS"],"boolField":false,"intField":892,"numField":621.6335894351992,"objField":{"FHMXfPJ":-599883935373987107,"FOSxKxy":6099080231980386090,"UFbOpvOwrO":-862801230057398799,"gXaK":952528949790866200,"ptoOwrtDh":-5283046988975434663,"rdPuTDYb":-1318924943959197421,"uinriazI":-1048933644869290616,"xKLA":-4500480855287648424},"stringDateField":"2021-06-29","stringDateTimeField":"1980-07-20T01:10:57Z","stringField":"BMUFJhr","stringTimeField":"21:04:15.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":892,"numField":621.6335894351992,"stringDateField":"2021-06-29","stringDateTimeField":"1980-07-20T01:10:57Z","stringField":"BMUFJhr","stringTimeField":"21:04:15.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":73,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":73,"uuid":"9de3e3ed-5655-11ee-a801-675ed0f8e89b"},"arrayField":["cIOkyv","yYKoHZUD","xOzopyGGzj","SYbtKPps"],"boolField":false,"intField":-507,"numField":926.844800609058,"objField":{"BBfr":7572913202500399690,"YZqMCzZYq":8894417713674512997,"cWOlFc":-1159777653753096373,"nuDgQ":3201998484765204045,"rCeOFA":7527414906515700584,"xAZRHpfBtg":3552219711430982818},"stringDateField":"1969-01-02","stringDateTimeField":"1956-04-24T03:15:56Z","stringField":"NeTyPnUUS","stringTimeField":"11:57:45.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":-507,"numField":926.844800609058,"stringDateField":"1969-01-02","stringDateTimeField":"1956-04-24T03:15:56Z","stringField":"NeTyPnUUS","stringTimeField":"11:57:45.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":74,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":74,"uuid":"9de3e3ed-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["CATkNBzWsH"],"boolField":false,"intField":-54,"numField":80.97890975360045,"objField":{"ALfD":-3965794477856562364,"CUyqNYzSa":4857394523714426101,"IfRiEjGJs":-5138201620152562189,"NluUg":-4096668042656140477,"PvGFgtBa":-3020678566637279492,"haytZ":-6053912163926727827,"kmorfJY":-836740006629395786,"mbzzc":-6158561761525690320,"pWYXrnJ":2651488821328044911},"stringDateField":"1937-08-15","stringDateTimeField":"1994-12-26T14:27:39Z","stringField":"qlUZHsdUH","stringTimeField":"22:07:06.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":-54,"numField":80.97890975360045,"stringDateField":"1937-08-15","stringDateTimeField":"1994-12-26T14:27:39Z","stringField":"qlUZHsdUH","stringTimeField":"22:07:06.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":75,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":75,"uuid":"9de3e3ed-5655-11ee-b001-675ed0f8e89b"},"arrayField":["mbHZ","BOfYCt"],"boolField":false,"intField":-615,"numField":-815.2199840668136,"objField":{"FAEeVyIGq":-361399934548821250,"NSEzSR":-4950116529786478875,"OMJIpWG":1754993327061635347,"POsiK":9192156423099815662,"bfqCINtOsw":-8692618786219132856,"zUVXgxHLGK":-4022545394478450322},"stringDateField":"1930-09-23","stringDateTimeField":"1918-04-01T10:05:41Z","stringField":"VwifulsUr","stringTimeField":"09:20:19.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":-615,"numField":-815.2199840668136,"stringDateField":"1930-09-23","stringDateTimeField":"1918-04-01T10:05:41Z","stringField":"VwifulsUr","stringTimeField":"09:20:19.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":76,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":76,"uuid":"9de3e3ed-5655-11ee-b401-675ed0f8e89b"},"arrayField":["rnzFtvo","GSajHn","PPRxITQkp","gqFPVSzTi","KBzI","UNhh","awqlD","vBSSObEk"],"boolField":false,"intField":204,"numField":978.2646386578712,"objField":{"IgZbAF":-2952122977839811596,"NnUarLXPx":5785107860016520219,"PchHNoyt":-7238545036501407160,"XRlArHPSXw":-7872069487864919906,"cbzNaONVR":4229629103519034669,"czNwnTBAE":1025250444649451635,"wRDvslhiRA":-6024820994869565180},"stringDateField":"1965-10-15","stringDateTimeField":"1905-04-09T01:34:18Z","stringField":"KLkexr","stringTimeField":"11:08:35.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":204,"numField":978.2646386578712,"stringDateField":"1965-10-15","stringDateTimeField":"1905-04-09T01:34:18Z","stringField":"KLkexr","stringTimeField":"11:08:35.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":77,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":77,"uuid":"9de3e3ed-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ngyvdac","PEUHWHGGZp","saVi","Yeirc","KIscYGwcR"],"boolField":false,"intField":648,"numField":-844.4179768215042,"objField":{"duJGt":8886523935564469621,"kEclcf":6410096921256829726},"stringDateField":"1952-09-21","stringDateTimeField":"1940-08-12T17:24:57Z","stringField":"WDbhJzW","stringTimeField":"03:31:18.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":648,"numField":-844.4179768215042,"stringDateField":"1952-09-21","stringDateTimeField":"1940-08-12T17:24:57Z","stringField":"WDbhJzW","stringTimeField":"03:31:18.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":78,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":78,"uuid":"9de3e3ed-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["BVRj","GHPwvRUU","lYPucZzwTk"],"boolField":false,"intField":-857,"numField":714.1188412454767,"objField":{"ViYOMfX":-561873962792759914,"aFGBH":-379364877969425134,"abohVQmS":-1845137634297134508,"bySSYwtG":-340725799629584018,"gGWTsbd":1962593749895023550,"wHPtRx":-2091993262724777345,"wHsD":-2507221465777038085},"stringDateField":"2008-06-06","stringDateTimeField":"1922-10-02T17:46:08Z","stringField":"PlnakVx","stringTimeField":"11:12:24.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230893Z","intField":-857,"numField":714.1188412454767,"stringDateField":"2008-06-06","stringDateTimeField":"1922-10-02T17:46:08Z","stringField":"PlnakVx","stringTimeField":"11:12:24.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":79,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":79,"uuid":"9de3e3ee-5655-11ee-8001-675ed0f8e89b"},"arrayField":["GZkhmxPc","GOvw","DANdc","nmCPlo","FYCuHchmr","DFwLDElvQs","eIHBiPXg","kJNP","ZhvW"],"boolField":false,"intField":452,"numField":886.9140931748167,"objField":{"RUfch":3082107098162887022,"oADhs":8978470771438130821},"stringDateField":"1972-05-30","stringDateTimeField":"1901-01-18T08:20:56Z","stringField":"AZwtIat","stringTimeField":"04:22:19.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":452,"numField":886.9140931748167,"stringDateField":"1972-05-30","stringDateTimeField":"1901-01-18T08:20:56Z","stringField":"AZwtIat","stringTimeField":"04:22:19.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":80,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":80,"uuid":"9de3e3ee-5655-11ee-8401-675ed0f8e89b"},"arrayField":["tpRs","DeXMbuBBt","lGGETBJg","YBuYtkh","NNgThomccG","LYTzs","AhDefb","tBIjRTIXF","XlknWTO"],"boolField":false,"intField":-96,"numField":-788.8022089004004,"objField":{"DwwB":1964250555369114296,"IUXhMQk":5021336974879108594,"QvwUa":-7142331102795180140,"REQfxO":6806717999173822785,"rHVXiuS":-8971156189264872877,"yAZCaoESR":-1025631835674185913},"stringDateField":"1929-05-02","stringDateTimeField":"1901-04-22T08:42:42Z","stringField":"ZESsohU","stringTimeField":"07:56:24.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":-96,"numField":-788.8022089004004,"stringDateField":"1929-05-02","stringDateTimeField":"1901-04-22T08:42:42Z","stringField":"ZESsohU","stringTimeField":"07:56:24.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":81,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":81,"uuid":"9de3e3ee-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bakAxAgK","KiFtbz","RULQjIwxU","FKWlqEhgI","itqxVCU","JviyDAbTl","nyqPfU","yBLqkR","qQXfq","tmbtxr"],"boolField":false,"intField":383,"numField":176.00099434142714,"objField":{"CYsUAWXnwy":3858867335733573118,"MLSKzAxHdX":1738384229018095964,"NVNGL":7196093341285307362,"PxkcvXD":-501905895410085936,"SRSVtBgqs":6446889213513121268,"UDEVuMxi":2909520434436946796,"atAsuNf":-2169097297570039882,"gyNLyyOCd":-405832905019095126,"ldYnDmnnGh":3219385662839508373,"xczpAT":-877190374721889174},"stringDateField":"1992-03-27","stringDateTimeField":"1933-04-26T06:30:40Z","stringField":"IVlvAEL","stringTimeField":"08:18:26.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":383,"numField":176.00099434142714,"stringDateField":"1992-03-27","stringDateTimeField":"1933-04-26T06:30:40Z","stringField":"IVlvAEL","stringTimeField":"08:18:26.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":82,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":82,"uuid":"9de3e3ee-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["EyjYBOuP"],"boolField":false,"intField":831,"numField":-223.1612381913777,"objField":{"HNSfz":3252495743216279735,"JnUmirpGGH":-595532429641516078,"JxqhQgLJT":-4650538667804278243,"eheT":1522607316341917438,"htahviiKaN":-3507815913192886976,"oovVJdBa":-3652477435238449109,"pkemyhRZMl":-5267300191441250656,"qgSVPejc":3697396724164421409,"uQUptz":923277224594380011},"stringDateField":"1925-12-03","stringDateTimeField":"1996-01-27T05:07:05Z","stringField":"WJqWKJIThs","stringTimeField":"15:18:29.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":831,"numField":-223.1612381913777,"stringDateField":"1925-12-03","stringDateTimeField":"1996-01-27T05:07:05Z","stringField":"WJqWKJIThs","stringTimeField":"15:18:29.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":83,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":83,"uuid":"9de3e3ee-5655-11ee-9001-675ed0f8e89b"},"arrayField":["PrWNln","zYooToli","rLgGP","rFkg","rZMt","itPdJSlfK"],"boolField":true,"intField":-189,"numField":760.2026128639181,"objField":{"AQZMEfYWNX":-8438285984591516758,"Kpaz":-2376676089097156135,"MMoNtcnq":-3630302235736089304,"QAgVaVGm":-7634490428600706570,"UajFXAYtFx":1391063130779054898,"VTrf":-3842651396189353460,"etnjCi":-1649116339433325374,"yaWLY":3753470835159527451},"stringDateField":"2021-04-06","stringDateTimeField":"1985-02-12T00:54:47Z","stringField":"njKOs","stringTimeField":"22:40:03.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":-189,"numField":760.2026128639181,"stringDateField":"2021-04-06","stringDateTimeField":"1985-02-12T00:54:47Z","stringField":"njKOs","stringTimeField":"22:40:03.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":84,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":84,"uuid":"9de3e3ee-5655-11ee-9401-675ed0f8e89b"},"arrayField":["wuZM","GwzZXPZS","akQpfPLta","lSfLqetpX","pKAjyccr","oUMzePvOmF","LipZXB","pcUzEgVeq","VmpXGPTdhX","dxan"],"boolField":true,"intField":656,"numField":-842.3216850583078,"objField":{"KaCEuxs":1042225734266244510,"McWh":-6432228000945517100,"PHGagQ":-8067308055052199945,"oDFo":8277891873045263178,"rCrbfb":589696111499439968},"stringDateField":"2016-07-18","stringDateTimeField":"1937-01-14T18:10:32Z","stringField":"sXBmpA","stringTimeField":"01:53:03.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":656,"numField":-842.3216850583078,"stringDateField":"2016-07-18","stringDateTimeField":"1937-01-14T18:10:32Z","stringField":"sXBmpA","stringTimeField":"01:53:03.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":85,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":85,"uuid":"9de3e3ee-5655-11ee-9801-675ed0f8e89b"},"arrayField":["QWYy","npDOb","ExkyNlkXc","muDZeqwWDL","KzTqBTt"],"boolField":false,"intField":-941,"numField":-711.2663251869216,"objField":{"AHBvbjApyg":-9106974804119601598,"COuSFRMtxm":6434733594026838198,"RFQdOi":-6353420822132115378,"Tkjb":4599299091516631842,"krZSGOAZC":-6856732426985396419,"rPZqHvMmTc":7970367261634521337,"tihpBcq":-3630281489102178288,"zHmZObGl":-2487110034376425136},"stringDateField":"1925-03-02","stringDateTimeField":"2007-05-27T10:42:05Z","stringField":"eVEXUWjw","stringTimeField":"02:55:50.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":-941,"numField":-711.2663251869216,"stringDateField":"1925-03-02","stringDateTimeField":"2007-05-27T10:42:05Z","stringField":"eVEXUWjw","stringTimeField":"02:55:50.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":86,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":86,"uuid":"9de3e3ee-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["khQehicCZ","GFnEpC","vFsjv","eeneE","ttpsQvyT"],"boolField":true,"intField":-570,"numField":-245.8284136405019,"objField":{"AcoTe":-178571125220128029,"LIlOUQFWnp":4558960728519803045,"RFZyfBzuH":6577383264842644303,"YKAaCXYF":-6576878082087851015,"dLVEEM":-1634479697768238897,"gALb":169534664994830937,"hvSSRASc":6604489453346106673,"iHHK":4787333187101310388,"lMbe":5060917431726168335,"rRGJjumWLF":-8926532577035462456},"stringDateField":"1936-06-30","stringDateTimeField":"1970-12-17T20:38:41Z","stringField":"nDMO","stringTimeField":"12:17:13.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":-570,"numField":-245.8284136405019,"stringDateField":"1936-06-30","stringDateTimeField":"1970-12-17T20:38:41Z","stringField":"nDMO","stringTimeField":"12:17:13.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":87,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":87,"uuid":"9de3e3ee-5655-11ee-a001-675ed0f8e89b"},"arrayField":["QcWdDTuG","DVEyj","bWLjX","hprpPcV","dSNpMxDkYB","zvEkE"],"boolField":true,"intField":305,"numField":845.3094198986581,"objField":{"CaNo":-1071969454776921095,"EYIOiLl":-2158567256668060232,"YUKSuFOV":-6115247958509948895,"cJyspMLu":6512038685057148067,"kHQCwdkRw":5641165120857763997,"qtmBbJfAW":1813831885275025362,"uhksBQbJ":-2483488093043908606,"xqSlt":39916250237199601,"yjCeAMMinP":-1719193091954097945},"stringDateField":"1916-03-07","stringDateTimeField":"1912-04-17T04:45:27Z","stringField":"SSwd","stringTimeField":"11:16:11.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":305,"numField":845.3094198986581,"stringDateField":"1916-03-07","stringDateTimeField":"1912-04-17T04:45:27Z","stringField":"SSwd","stringTimeField":"11:16:11.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":88,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":88,"uuid":"9de3e3ee-5655-11ee-a401-675ed0f8e89b"},"arrayField":["MLUkEKUcK"],"boolField":true,"intField":393,"numField":493.26691818086334,"objField":{"IdKeyoBHo":-5435944863771898115,"OdUNi":-7998601803097318638,"dEPDznZXJ":-5577628063538676612,"kHJFRVPY":6321510535308217468,"qmax":4683533631115607980},"stringDateField":"1991-03-11","stringDateTimeField":"1988-08-12T08:29:58Z","stringField":"dUCRurACq","stringTimeField":"17:11:01.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":393,"numField":493.26691818086334,"stringDateField":"1991-03-11","stringDateTimeField":"1988-08-12T08:29:58Z","stringField":"dUCRurACq","stringTimeField":"17:11:01.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":89,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":89,"uuid":"9de3e3ee-5655-11ee-a801-675ed0f8e89b"},"arrayField":["fDPY","pSxqvjQROZ"],"boolField":false,"intField":-261,"numField":-537.8700616379779,"objField":{"TeaTfLBz":6714698162077150678,"VXGhHCqPZ":-583820850946951319},"stringDateField":"1991-02-26","stringDateTimeField":"1973-04-12T10:27:20Z","stringField":"ZYgPhDoU","stringTimeField":"05:43:50.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":-261,"numField":-537.8700616379779,"stringDateField":"1991-02-26","stringDateTimeField":"1973-04-12T10:27:20Z","stringField":"ZYgPhDoU","stringTimeField":"05:43:50.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":90,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":90,"uuid":"9de3e3ee-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["XGKOqS","eMFWyObcyX","bTVKBjmuq","YuPagZg","rSNUmCylV","inAbjEa","CANFiS","AcwQOoN","vCJszKAu","ockKSz"],"boolField":true,"intField":208,"numField":351.90047440868113,"objField":{"BaWOY":-4315535306896456301,"CJJFXi":7451087513540955812,"HyHmOrqy":-2485177942225853212,"ROkZ":2402450857093812004,"VMMdgWwir":6707811047538178180,"VcZXiwbGd":-4733825706312550859,"Vfvl":6659645295352027484,"ZGcE":-7919167386825531249,"gcsRee":228511217247082820},"stringDateField":"1947-10-15","stringDateTimeField":"1926-07-02T11:30:46Z","stringField":"PszMcW","stringTimeField":"23:28:11.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":208,"numField":351.90047440868113,"stringDateField":"1947-10-15","stringDateTimeField":"1926-07-02T11:30:46Z","stringField":"PszMcW","stringTimeField":"23:28:11.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":91,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":91,"uuid":"9de3e3ee-5655-11ee-b001-675ed0f8e89b"},"arrayField":["xFhi","BRVKH","uIXsB","nXxqOau","dsqPJk","uvOMMvXh","zaKyac"],"boolField":false,"intField":386,"numField":-175.65589159140626,"objField":{"FjTWzXIY":-7483449040152579190,"nxeI":-4222720629556814797,"uxOcj":8722249209169301586},"stringDateField":"2004-07-02","stringDateTimeField":"1908-08-25T15:31:58Z","stringField":"BCuF","stringTimeField":"13:50:18.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":386,"numField":-175.65589159140626,"stringDateField":"2004-07-02","stringDateTimeField":"1908-08-25T15:31:58Z","stringField":"BCuF","stringTimeField":"13:50:18.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":92,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":92,"uuid":"9de3e3ee-5655-11ee-b401-675ed0f8e89b"},"arrayField":["KHxhbB","GDOlNBCtne"],"boolField":true,"intField":459,"numField":-879.9970466577678,"objField":{"Dqcj":803926214048802120,"Eempd":5185205847000447520,"ZVeimgch":5075430741241860456,"cpjUHs":-8342803557774350250,"fMFQU":7369088220679524902,"tFBgI":-7329391342664710052},"stringDateField":"1921-10-04","stringDateTimeField":"2005-11-09T15:51:15Z","stringField":"MpkSl","stringTimeField":"23:54:49.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":459,"numField":-879.9970466577678,"stringDateField":"1921-10-04","stringDateTimeField":"2005-11-09T15:51:15Z","stringField":"MpkSl","stringTimeField":"23:54:49.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":93,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":93,"uuid":"9de3e3ee-5655-11ee-b801-675ed0f8e89b"},"arrayField":["jeiCNBxOV","EDWT","WgCGmJ"],"boolField":false,"intField":560,"numField":-673.7436081195625,"objField":{"EcJPaZoffA":6935854451094796538,"FlSx":5372644374796042408,"SzkPqbCGw":1919335447531946477,"ToZHMb":7186833297682744960,"YnRE":-6564010055449752432,"cpaNUER":8920021175101557480,"lDXsHJYM":5182758858927633755,"vNNMofuR":-812408190804211259},"stringDateField":"1989-02-10","stringDateTimeField":"2011-03-10T22:14:11Z","stringField":"cxiKMjAAi","stringTimeField":"08:18:54.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":560,"numField":-673.7436081195625,"stringDateField":"1989-02-10","stringDateTimeField":"2011-03-10T22:14:11Z","stringField":"cxiKMjAAi","stringTimeField":"08:18:54.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":94,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":94,"uuid":"9de3e3ee-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["GLGHeDjkvC","JvLR","iTer","KozuqavR","ErsTYL","PgMY","aBRXQSavGG","ZDYTtP","pzoIBZi","csePVQpxP"],"boolField":false,"intField":534,"numField":998.3299614380388,"objField":{"MZnxHvBqzD":1158654140735317173,"nKmu":8431027755074962620,"nhLrT":2253834567786311778,"olhmXfD":-506353191974980791},"stringDateField":"1975-07-17","stringDateTimeField":"2023-11-01T16:53:10Z","stringField":"FndIA","stringTimeField":"18:26:47.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230894Z","intField":534,"numField":998.3299614380388,"stringDateField":"1975-07-17","stringDateTimeField":"2023-11-01T16:53:10Z","stringField":"FndIA","stringTimeField":"18:26:47.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":95,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":95,"uuid":"9de3e3ef-5655-11ee-8001-675ed0f8e89b"},"arrayField":["FTCGy"],"boolField":false,"intField":-871,"numField":-366.1357002832104,"objField":{"CoUJzAMw":-4055470081000385647,"HfLsr":6294666885743061289,"INCEcDdlj":7859187748217176845,"JAkTaJpIe":920868983563313236,"PxpNbAhL":7200775009358802259,"QHqhf":1756652315736758343,"TrqELZRNTP":9120500381064530513,"VUKTOqL":-4121148263788578078,"XvBxAe":-2915802597463409767},"stringDateField":"2003-06-19","stringDateTimeField":"1922-08-30T16:58:41Z","stringField":"TZdOLxL","stringTimeField":"17:58:30.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":-871,"numField":-366.1357002832104,"stringDateField":"2003-06-19","stringDateTimeField":"1922-08-30T16:58:41Z","stringField":"TZdOLxL","stringTimeField":"17:58:30.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":96,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":96,"uuid":"9de3e3ef-5655-11ee-8401-675ed0f8e89b"},"arrayField":["IQmDkGRy","oaadz","KuohHX","COFqelGxQ","JnLtVte"],"boolField":false,"intField":332,"numField":-665.5315560968488,"objField":{"aiJqiaiGi":3425778384242510736,"fyjUxZs":3161813025312216391,"gglnAWZSee":-8639754997719121705,"mYfAcsZM":-1776728003493778340,"tQSOICjvKY":-7765146590075552532},"stringDateField":"2008-03-01","stringDateTimeField":"1920-07-26T01:35:04Z","stringField":"oyVFyq","stringTimeField":"14:09:18.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":332,"numField":-665.5315560968488,"stringDateField":"2008-03-01","stringDateTimeField":"1920-07-26T01:35:04Z","stringField":"oyVFyq","stringTimeField":"14:09:18.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":97,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":97,"uuid":"9de3e3ef-5655-11ee-8801-675ed0f8e89b"},"arrayField":["rHqTEzcbY","akDuPzQByE","uEGCO","dYoOnWW","XZCRhEg","iWEtnIV","LtzOBfQgz","juHRnEIrtj","OllXlsdrZ","wfRVJSf"],"boolField":true,"intField":575,"numField":-455.9779668702535,"objField":{"IqHCofqlq":3927709551255899023,"lfRmNtMPdj":-2374711825734016813,"xMnJ":-2339531472478220044},"stringDateField":"1968-12-18","stringDateTimeField":"2008-09-05T07:20:22Z","stringField":"FiGaI","stringTimeField":"05:17:33.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":575,"numField":-455.9779668702535,"stringDateField":"1968-12-18","stringDateTimeField":"2008-09-05T07:20:22Z","stringField":"FiGaI","stringTimeField":"05:17:33.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":98,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":98,"uuid":"9de3e3ef-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["EOGcDED","vzJq","vxHkcS","waovg","bgtlh","LrGMN"],"boolField":true,"intField":469,"numField":746.3106754744624,"objField":{"PMKQ":-5379533962385079634,"PMLI":6677257763837067273,"tQPNIAHjNu":8167613477733854172},"stringDateField":"2005-01-01","stringDateTimeField":"1930-03-09T16:22:36Z","stringField":"NfZm","stringTimeField":"18:47:20.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":469,"numField":746.3106754744624,"stringDateField":"2005-01-01","stringDateTimeField":"1930-03-09T16:22:36Z","stringField":"NfZm","stringTimeField":"18:47:20.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":99,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":99,"uuid":"9de3e3ef-5655-11ee-9001-675ed0f8e89b"},"arrayField":["bHEEj","LFuvsaYSr"],"boolField":true,"intField":-759,"numField":93.34486333328762,"objField":{"LXvNAr":-463797932256008424,"LtsWmFrJ":1224224977178203248,"PSFy":2304327024579112035,"ZgUBA":2923459368081104975,"dZwnWPjN":-3236024254832367897,"znjqW":6440680615336724473},"stringDateField":"1908-03-19","stringDateTimeField":"2019-05-20T05:59:48Z","stringField":"SSmmiAPgb","stringTimeField":"13:05:36.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":-759,"numField":93.34486333328762,"stringDateField":"1908-03-19","stringDateTimeField":"2019-05-20T05:59:48Z","stringField":"SSmmiAPgb","stringTimeField":"13:05:36.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":100,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":100,"uuid":"9de3e3ef-5655-11ee-9401-675ed0f8e89b"},"arrayField":["DmrnTLVVD","jctjjcI","mwpkdGXzT","zBfBn"],"boolField":true,"intField":666,"numField":-535.9260094908589,"objField":{"CvuIQ":-837356820148699069,"xLDgrHvcuo":-9195019331876370741},"stringDateField":"1940-01-25","stringDateTimeField":"2005-05-04T08:00:08Z","stringField":"KbfPHZDi","stringTimeField":"00:29:00.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":666,"numField":-535.9260094908589,"stringDateField":"1940-01-25","stringDateTimeField":"2005-05-04T08:00:08Z","stringField":"KbfPHZDi","stringTimeField":"00:29:00.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":101,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":101,"uuid":"9de3e3ef-5655-11ee-9801-675ed0f8e89b"},"arrayField":["znZZV","yrfbzQ","vNGXjuw","SHAPzRU","rFmQLUXS","rPwENLot","xAECEbZ"],"boolField":true,"intField":548,"numField":32.531167494556534,"objField":{"KUqBOH":-8934227618090283725,"MUTBHMeFeU":-4280644097455840373,"NktsdiEO":-2958885117120054329,"ZtQCg":-2251231020347193245,"iEzdZZ":-4450032211808830098,"liMdh":-6987158770550652804,"svDXhrM":5218245263080787860},"stringDateField":"2003-08-31","stringDateTimeField":"1954-05-24T22:31:05Z","stringField":"QGqfzQR","stringTimeField":"15:03:41.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":548,"numField":32.531167494556534,"stringDateField":"2003-08-31","stringDateTimeField":"1954-05-24T22:31:05Z","stringField":"QGqfzQR","stringTimeField":"15:03:41.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":102,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":102,"uuid":"9de3e3ef-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["BhFUAe","ektHDJ","yZVpQUZoRi","cpREGLEOTY","YfuK"],"boolField":false,"intField":-605,"numField":155.97158426463787,"objField":{"RXeqzp":1658905470301564116,"pLpxyVRU":4851523315107905923},"stringDateField":"1951-08-12","stringDateTimeField":"1991-11-24T17:00:00Z","stringField":"sUmtzADj","stringTimeField":"09:06:50.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":-605,"numField":155.97158426463787,"stringDateField":"1951-08-12","stringDateTimeField":"1991-11-24T17:00:00Z","stringField":"sUmtzADj","stringTimeField":"09:06:50.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":103,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":103,"uuid":"9de3e3ef-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ncbPKUO","VpBvE","qGFbW","QNYaG"],"boolField":true,"intField":-199,"numField":-440.7961211469219,"objField":{"AHTrLLPtY":1416298699721758859,"ZJpRxx":3741618836873699278,"cDwpPid":-8023447730442499179,"oMHY":-9150316466186040991,"oVIg":-4441453395720189603,"ogfEtYQ":-1288461168215366884,"pSAJBBOqn":6787639482934093832,"wuETyR":394512892537254294},"stringDateField":"1907-03-02","stringDateTimeField":"1971-05-05T22:40:15Z","stringField":"QBfWF","stringTimeField":"16:50:30.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":-199,"numField":-440.7961211469219,"stringDateField":"1907-03-02","stringDateTimeField":"1971-05-05T22:40:15Z","stringField":"QBfWF","stringTimeField":"16:50:30.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":104,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":104,"uuid":"9de3e3ef-5655-11ee-a401-675ed0f8e89b"},"arrayField":["yXpiJIjCVN","gdrcJOp","zjEYScnhcf","lBwcjEuG","YBydfqc"],"boolField":true,"intField":620,"numField":126.26282840743008,"objField":{"FBSpSMvr":5202247563269854818,"TorKEqH":8307663404122948656,"xsYWkOQrSe":-8732753499453704052,"xwwMYKGaBO":4278673962280942384},"stringDateField":"1904-04-28","stringDateTimeField":"1915-04-25T23:08:53Z","stringField":"WDGHzgGaZ","stringTimeField":"21:45:42.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":620,"numField":126.26282840743008,"stringDateField":"1904-04-28","stringDateTimeField":"1915-04-25T23:08:53Z","stringField":"WDGHzgGaZ","stringTimeField":"21:45:42.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":105,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":105,"uuid":"9de3e3ef-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ABuevBcmvl"],"boolField":false,"intField":719,"numField":355.51955679702195,"objField":{"fwjLUAi":-3162830769328265863,"gjvf":4330109568687412228,"hxzDAfof":-637358052208958010,"taAp":-7717271389115936904,"tzFHs":-3511360824221462826},"stringDateField":"1936-10-03","stringDateTimeField":"1974-01-28T16:18:46Z","stringField":"FCLPvZg","stringTimeField":"20:23:25.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":719,"numField":355.51955679702195,"stringDateField":"1936-10-03","stringDateTimeField":"1974-01-28T16:18:46Z","stringField":"FCLPvZg","stringTimeField":"20:23:25.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":106,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":106,"uuid":"9de3e3ef-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["jpwY","ufJiAg","uBzQHC","YVTymQbU","GDNvJ","AtgjndHa","ShNHekOzb","CJEOAy","Ajyw","vAUFXTHIeJ"],"boolField":true,"intField":892,"numField":-52.88084616394173,"objField":{"GWGUx":-91228570136416980,"cpPc":-5913406095068841008,"kion":7538555055779774588,"nSxfyD":-2752031500749040586,"nwEIFl":2339103622770507903,"pVfRYCTv":2454486986164466775},"stringDateField":"1921-04-09","stringDateTimeField":"1900-12-23T07:35:39Z","stringField":"tbfM","stringTimeField":"08:45:02.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":892,"numField":-52.88084616394173,"stringDateField":"1921-04-09","stringDateTimeField":"1900-12-23T07:35:39Z","stringField":"tbfM","stringTimeField":"08:45:02.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":107,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":107,"uuid":"9de3e3ef-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ZhFNHqoNpq","nmxEg","bYYMCAwB","kuOqVeDxQ","bfnqrnH","HhjfkZX","NCixopKDZa","ZutlAquHL","rbLVCVhzw"],"boolField":false,"intField":675,"numField":226.02338525603116,"objField":{"Vere":-5744357621693532188,"ilgvvXECZ":955622187192727992,"mZqhk":1855261448276799585,"xbjZsYsll":-8906070830163175062},"stringDateField":"1995-02-14","stringDateTimeField":"1912-12-10T12:17:01Z","stringField":"ufFcGfNeb","stringTimeField":"19:35:45.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":675,"numField":226.02338525603116,"stringDateField":"1995-02-14","stringDateTimeField":"1912-12-10T12:17:01Z","stringField":"ufFcGfNeb","stringTimeField":"19:35:45.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":108,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":108,"uuid":"9de3e3ef-5655-11ee-b401-675ed0f8e89b"},"arrayField":["QYWLAju","fiFmV","VeGBHsrV"],"boolField":false,"intField":904,"numField":-86.4087039547845,"objField":{"HVjZQame":8039209105238055188,"bmrWueIW":7910631694821621117,"eTuKIhJ":8424994086424488181,"nZpfRQBPo":-7135025211644103107},"stringDateField":"1973-10-01","stringDateTimeField":"1984-04-18T23:52:40Z","stringField":"oTcYts","stringTimeField":"02:59:28.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":904,"numField":-86.4087039547845,"stringDateField":"1973-10-01","stringDateTimeField":"1984-04-18T23:52:40Z","stringField":"oTcYts","stringTimeField":"02:59:28.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":109,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":109,"uuid":"9de3e3ef-5655-11ee-b801-675ed0f8e89b"},"arrayField":["nOExXOx","MkmbMqBf","OXtbLXNyZ","sGmrAHbFJ","wNtpS"],"boolField":true,"intField":60,"numField":-442.8177296147433,"objField":{"JIZzYsNBlf":-4670167425411563117,"kdhMGc":994392859440942346,"scPK":51563081788086438},"stringDateField":"1999-02-15","stringDateTimeField":"1913-11-04T03:13:48Z","stringField":"dqoAXYQN","stringTimeField":"22:22:26.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":60,"numField":-442.8177296147433,"stringDateField":"1999-02-15","stringDateTimeField":"1913-11-04T03:13:48Z","stringField":"dqoAXYQN","stringTimeField":"22:22:26.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":110,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":110,"uuid":"9de3e3ef-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["BptRl","Axgs","JARHw","bhTgVdL","fWhMe","HVvrIVllC","dRoUPNtTK","QQpQeMtwBD","ARMlZJP"],"boolField":false,"intField":-546,"numField":694.9170064872028,"objField":{"DUIaVAxv":4483409844977564854,"Goxi":4588818168969102306,"KTNkl":-4717820568016995503,"RxaH":-566109583548129557,"nNRrhL":5751279185289978574,"vBlmXSpIH":-4715840713488249766,"ziTzrHNB":-1058114849906387666},"stringDateField":"2005-07-27","stringDateTimeField":"1931-10-18T17:30:59Z","stringField":"EBEaLUlKJR","stringTimeField":"07:13:43.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230895Z","intField":-546,"numField":694.9170064872028,"stringDateField":"2005-07-27","stringDateTimeField":"1931-10-18T17:30:59Z","stringField":"EBEaLUlKJR","stringTimeField":"07:13:43.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":111,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":111,"uuid":"9de3e3f0-5655-11ee-8001-675ed0f8e89b"},"arrayField":["GGnlDYj","zmmzaiwUQ","twBGNlnynR"],"boolField":true,"intField":359,"numField":-382.8515961252216,"objField":{"CtZvE":-2762374129104755166,"GacIIfI":4815561527015503424,"JTpm":-7437165162846579392,"ZUTF":3452082591656092623,"fzWpfPE":-5575974073775570194},"stringDateField":"1902-05-26","stringDateTimeField":"1966-12-05T10:13:00Z","stringField":"khiRBcEv","stringTimeField":"13:21:55.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":359,"numField":-382.8515961252216,"stringDateField":"1902-05-26","stringDateTimeField":"1966-12-05T10:13:00Z","stringField":"khiRBcEv","stringTimeField":"13:21:55.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":112,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":112,"uuid":"9de3e3f0-5655-11ee-8401-675ed0f8e89b"},"arrayField":["GUmg","kkxtUCgOY","evuHhQqi","ZtmcJq"],"boolField":false,"intField":-337,"numField":493.40619263531727,"objField":{"BQeXd":1176012152885043355,"UUAJxEz":-1238101224293097293,"YYvqsgN":-6846266978322007425,"cOtZrFB":6527839229448678091,"hviAYm":4405443721709246397,"rvWu":-1267994224616631657},"stringDateField":"1997-08-03","stringDateTimeField":"1960-08-30T08:35:14Z","stringField":"wIbUntKL","stringTimeField":"10:37:31.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":-337,"numField":493.40619263531727,"stringDateField":"1997-08-03","stringDateTimeField":"1960-08-30T08:35:14Z","stringField":"wIbUntKL","stringTimeField":"10:37:31.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":113,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":113,"uuid":"9de3e3f0-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ybttG","SLSBee","gYOnWHR","zQRgbdUbO","INGhOmfGe","Akvaaac"],"boolField":true,"intField":990,"numField":303.9272083179161,"objField":{"pJnQOI":4720118909581091613},"stringDateField":"2003-04-22","stringDateTimeField":"1978-12-02T02:24:53Z","stringField":"msKGg","stringTimeField":"11:59:07.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":990,"numField":303.9272083179161,"stringDateField":"2003-04-22","stringDateTimeField":"1978-12-02T02:24:53Z","stringField":"msKGg","stringTimeField":"11:59:07.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":114,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":114,"uuid":"9de3e3f0-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["tuhQg"],"boolField":false,"intField":-677,"numField":-766.5892216341981,"objField":{"JDxX":-2253704562788455594,"LEjZj":-1215039076267647456,"PdKmKOPE":4398586219735792738,"XUfswTVw":3811349093922745292,"bRSREthjz":2158411534508076593,"bwqDoigoza":7128952711390073533,"cKnE":3485849761498831434,"kHEPbh":4438354979069094167,"oUyAbiLtV":8698073971647566035},"stringDateField":"1912-07-03","stringDateTimeField":"1910-11-27T01:40:10Z","stringField":"OmuOKFLcK","stringTimeField":"11:14:36.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":-677,"numField":-766.5892216341981,"stringDateField":"1912-07-03","stringDateTimeField":"1910-11-27T01:40:10Z","stringField":"OmuOKFLcK","stringTimeField":"11:14:36.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":115,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":115,"uuid":"9de3e3f0-5655-11ee-9001-675ed0f8e89b"},"arrayField":["QdHV","ruHZ","MdUWtAF","gLpY","oERMugAGx","VhyIInKDyq"],"boolField":true,"intField":-107,"numField":-439.5785062196311,"objField":{"HZOimEO":4581056108376787701,"aFBVRrb":-2423760648893161738,"gCpExLxADV":-371675109378543055,"lfAXX":-9104207807068112610,"xIvC":-3636756119990591157},"stringDateField":"1956-10-13","stringDateTimeField":"1906-10-17T06:35:22Z","stringField":"cWCCGTi","stringTimeField":"03:25:47.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":-107,"numField":-439.5785062196311,"stringDateField":"1956-10-13","stringDateTimeField":"1906-10-17T06:35:22Z","stringField":"cWCCGTi","stringTimeField":"03:25:47.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":116,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":116,"uuid":"9de3e3f0-5655-11ee-9401-675ed0f8e89b"},"arrayField":["nhgDfuWAk"],"boolField":true,"intField":211,"numField":876.3575094894003,"objField":{"FEFYjReKZT":-1552770841943254250,"ROUx":-2752950599157189595,"XDPIh":7173997765980178059,"nJZhAm":-8692475166955854747,"oiUzV":-9135099211911476057},"stringDateField":"1907-09-11","stringDateTimeField":"2000-01-27T21:07:03Z","stringField":"JTxT","stringTimeField":"20:09:11.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":211,"numField":876.3575094894003,"stringDateField":"1907-09-11","stringDateTimeField":"2000-01-27T21:07:03Z","stringField":"JTxT","stringTimeField":"20:09:11.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":117,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":117,"uuid":"9de3e3f0-5655-11ee-9801-675ed0f8e89b"},"arrayField":["WUqhnHW","NFBOVoQvZ","VdFNrZj","AJys","oqfiWhuCD","uyhrLbkQ","Dpoh"],"boolField":true,"intField":975,"numField":-578.6861392852411,"objField":{"MtZeBNNwO":-2010119755825695691,"deHdrmspd":-1875624134678800478,"qVkwmIqaE":4924636864637306499},"stringDateField":"2015-10-02","stringDateTimeField":"1970-02-13T14:47:35Z","stringField":"oJaeUIGL","stringTimeField":"17:53:59.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":975,"numField":-578.6861392852411,"stringDateField":"2015-10-02","stringDateTimeField":"1970-02-13T14:47:35Z","stringField":"oJaeUIGL","stringTimeField":"17:53:59.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":118,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":118,"uuid":"9de3e3f0-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["nTYwg","iWJTyqUzJY","LBbKj","WdGlbVO","UAarMGXLK","dEvhj","QHadPOxg","smrfIYdV"],"boolField":false,"intField":89,"numField":584.973285089988,"objField":{"HGlWZ":-4024483231690058621,"IEEE":315419329671488491,"mTZa":-7833988424903560617},"stringDateField":"1929-04-18","stringDateTimeField":"1927-01-16T07:18:49Z","stringField":"YdXT","stringTimeField":"00:48:20.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":89,"numField":584.973285089988,"stringDateField":"1929-04-18","stringDateTimeField":"1927-01-16T07:18:49Z","stringField":"YdXT","stringTimeField":"00:48:20.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":119,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":119,"uuid":"9de3e3f0-5655-11ee-a001-675ed0f8e89b"},"arrayField":["OSvoOq","xmMkbb","mFmtiSf","pPYpUWiamb","JokH"],"boolField":false,"intField":450,"numField":473.4009273636106,"objField":{"DEyiC":4250260992571276400,"EPBQDdT":-4550752575423271263,"JVYzw":7631227062900895350,"LhYWoh":4966884717023249532,"NKGKHADAwO":-8837679961485272488,"SBIgQ":-5639096224167091927,"Ynaym":-5983042062693959399,"nVtjBHuf":-4412214668332747265,"nreCxtOPQ":5636193402179288116,"vtTDvdBaxJ":-7389276672413523778},"stringDateField":"1924-08-29","stringDateTimeField":"2018-05-16T05:24:56Z","stringField":"xXLE","stringTimeField":"11:37:16.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":450,"numField":473.4009273636106,"stringDateField":"1924-08-29","stringDateTimeField":"2018-05-16T05:24:56Z","stringField":"xXLE","stringTimeField":"11:37:16.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":120,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":120,"uuid":"9de3e3f0-5655-11ee-a401-675ed0f8e89b"},"arrayField":["iZbdeYzqrH","XDMo","DlNbPyVzl","DlUPOF","ZbHRfXXpnV","LuXOvmvOa","fpIdvNjR","OlyYHsFg","vErtDT"],"boolField":true,"intField":75,"numField":-635.677578450965,"objField":{"DcinSXb":-7756343560832025310,"SGWNL":2951389783699211686},"stringDateField":"1999-05-07","stringDateTimeField":"1990-10-24T20:16:14Z","stringField":"gKRca","stringTimeField":"00:59:35.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":75,"numField":-635.677578450965,"stringDateField":"1999-05-07","stringDateTimeField":"1990-10-24T20:16:14Z","stringField":"gKRca","stringTimeField":"00:59:35.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":121,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":121,"uuid":"9de3e3f0-5655-11ee-a801-675ed0f8e89b"},"arrayField":["kLANzQuR","rjNqVYc","sCkeH","EnMglQeS","taSBGH"],"boolField":false,"intField":249,"numField":-1.392564183576139,"objField":{"rtEHJ":6644335108879272369},"stringDateField":"1916-12-08","stringDateTimeField":"1959-01-22T07:03:16Z","stringField":"aivt","stringTimeField":"09:01:11.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":249,"numField":-1.392564183576139,"stringDateField":"1916-12-08","stringDateTimeField":"1959-01-22T07:03:16Z","stringField":"aivt","stringTimeField":"09:01:11.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":122,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":122,"uuid":"9de3e3f0-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["JdndQbi","KuhxUGSk","AMeQXsKcmS","dBebOTgX","zomzBNl","OToZc"],"boolField":true,"intField":-585,"numField":-283.1873158737561,"objField":{"PETd":8288002411251781615,"fnvxeRtlhx":6462515504240182339,"lmgiCrpy":-5352348798757482099,"lqqMJghjV":-7014538193371052384},"stringDateField":"1958-03-28","stringDateTimeField":"1989-06-27T11:55:59Z","stringField":"Sorp","stringTimeField":"01:11:24.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":-585,"numField":-283.1873158737561,"stringDateField":"1958-03-28","stringDateTimeField":"1989-06-27T11:55:59Z","stringField":"Sorp","stringTimeField":"01:11:24.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":123,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":123,"uuid":"9de3e3f0-5655-11ee-b001-675ed0f8e89b"},"arrayField":["GHfJGQEPeX","XPTuWV","peEiylhs","LpAsX","eDSqT","IyDpFqbc","JBqO","FwMze","bpdhgy"],"boolField":true,"intField":579,"numField":-18.46354737855249,"objField":{"BkMyp":430058271274038937,"CvsW":658678007014701193,"UGobVijRC":-8313551261992507973,"WCJQabipw":4614696058980975896,"ebSDXghG":-3688754023314973244,"lHrUw":-821271812920920399,"rglf":-6629602065640446349},"stringDateField":"1925-06-06","stringDateTimeField":"1973-02-14T19:04:04Z","stringField":"yxMGNDB","stringTimeField":"22:47:27.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":579,"numField":-18.46354737855249,"stringDateField":"1925-06-06","stringDateTimeField":"1973-02-14T19:04:04Z","stringField":"yxMGNDB","stringTimeField":"22:47:27.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":124,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":124,"uuid":"9de3e3f0-5655-11ee-b401-675ed0f8e89b"},"arrayField":["mzoloIyYe","HrWPzqCWO","dpglLiCQsp","tiyyHhVKY","TCkfzMewG","ldBLTuu"],"boolField":false,"intField":393,"numField":632.867915505317,"objField":{"GVpeMr":-7062067172728572638,"KYCuJEgyE":-7101438778876432243,"UTQUUPhr":-6038205460041362789,"ZmPMivskQ":-6903216362244722176},"stringDateField":"1944-03-16","stringDateTimeField":"1930-02-18T12:27:32Z","stringField":"AoTCcTLkXa","stringTimeField":"19:09:09.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":393,"numField":632.867915505317,"stringDateField":"1944-03-16","stringDateTimeField":"1930-02-18T12:27:32Z","stringField":"AoTCcTLkXa","stringTimeField":"19:09:09.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":125,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":125,"uuid":"9de3e3f0-5655-11ee-b801-675ed0f8e89b"},"arrayField":["xCZcBDqC","DTGHdXQJ","nfvz"],"boolField":false,"intField":80,"numField":199.26774838371375,"objField":{"puDSNv":2239624405069003515},"stringDateField":"1999-08-23","stringDateTimeField":"1953-10-08T08:24:07Z","stringField":"lXeG","stringTimeField":"07:45:37.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":80,"numField":199.26774838371375,"stringDateField":"1999-08-23","stringDateTimeField":"1953-10-08T08:24:07Z","stringField":"lXeG","stringTimeField":"07:45:37.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":126,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":126,"uuid":"9de3e3f0-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["NaUbuDaV","Kdwum","uLVtYRR","cpdTtUlK","UDcRB","WgEL","prVDPFxRP"],"boolField":false,"intField":646,"numField":-860.1316316368352,"objField":{"EcIlYy":-3707945037885943917,"FxIMDqpwMF":3185240695597585812,"RuaOFEbgF":-8143405960176415070},"stringDateField":"2023-12-11","stringDateTimeField":"1992-12-25T14:25:13Z","stringField":"fiPHtB","stringTimeField":"18:07:02.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230896Z","intField":646,"numField":-860.1316316368352,"stringDateField":"2023-12-11","stringDateTimeField":"1992-12-25T14:25:13Z","stringField":"fiPHtB","stringTimeField":"18:07:02.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":127,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":127,"uuid":"9de3e3f1-5655-11ee-8001-675ed0f8e89b"},"arrayField":["GuQKEJtq","vwFYlzdXPx","XrCNqT","cLrFEKDS","fmLDC","xDJN"],"boolField":false,"intField":-464,"numField":-596.8715360227359,"objField":{"HlGYQNL":-8765775717519291641,"ITkZAsVP":-4901260779748271054,"KeeXrBa":3425809327964824805,"Loput":642938107985791684,"XUtcEmJI":3062600729352431385,"duIKPrrq":-6113303705857836120,"jaQLbi":187499227848349382,"qeMfeta":-2903229127506153648},"stringDateField":"1930-05-03","stringDateTimeField":"1930-05-24T12:11:12Z","stringField":"sLJPw","stringTimeField":"14:00:29.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":-464,"numField":-596.8715360227359,"stringDateField":"1930-05-03","stringDateTimeField":"1930-05-24T12:11:12Z","stringField":"sLJPw","stringTimeField":"14:00:29.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":128,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":128,"uuid":"9de3e3f1-5655-11ee-8401-675ed0f8e89b"},"arrayField":["VeJRDLY","yLphqLa","pRePd"],"boolField":true,"intField":-424,"numField":28.32519685102386,"objField":{"AQMG":5912714099464999262,"LzVDxpZZgo":4813904036600821478,"invHHEiUJ":7743232897403136578,"kYBZy":6126819458820583463},"stringDateField":"1972-09-26","stringDateTimeField":"1933-04-18T23:48:02Z","stringField":"MngnL","stringTimeField":"00:20:27.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":-424,"numField":28.32519685102386,"stringDateField":"1972-09-26","stringDateTimeField":"1933-04-18T23:48:02Z","stringField":"MngnL","stringTimeField":"00:20:27.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":129,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":129,"uuid":"9de3e3f1-5655-11ee-8801-675ed0f8e89b"},"arrayField":["qirccIGs","gpdhoesmtr","arFzRmvnq","bhQvhaMShl","csnxuItxI"],"boolField":true,"intField":936,"numField":-669.5044260725058,"objField":{"BYbvlQTuAM":1878832921721114719,"KFFsXGP":7944349463915109012,"XzZQu":-1363647747122361602,"ZGkGnww":-7954941955281596939,"dicNUme":-9065270842081542754,"jzcm":3635821016335638722,"ljeJfJfvED":-3176293341928715533,"pAJO":3963673965367199626,"rbKhZ":-1625930372314296831},"stringDateField":"1955-02-22","stringDateTimeField":"1997-06-01T16:19:38Z","stringField":"WhJIFhz","stringTimeField":"09:43:55.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":936,"numField":-669.5044260725058,"stringDateField":"1955-02-22","stringDateTimeField":"1997-06-01T16:19:38Z","stringField":"WhJIFhz","stringTimeField":"09:43:55.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":130,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":130,"uuid":"9de3e3f1-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["ItLbpxl","yVpvK","MHSHrCSAET","SpZhJXX","qhFvwJnrge","AUBDyEpDz","PpylqL"],"boolField":false,"intField":-321,"numField":-417.1200897760257,"objField":{"LAwUYbUJ":4559627929189372410,"PizChLgUX":1171448550143826160,"RhSj":-3950850761742822057,"SiFsKypUB":-4161169064327820873,"UMsYVBY":-8142545129749728543,"uSQi":4483731905903421722},"stringDateField":"1955-07-03","stringDateTimeField":"1970-03-11T06:55:25Z","stringField":"wXEQuE","stringTimeField":"10:52:21.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":-321,"numField":-417.1200897760257,"stringDateField":"1955-07-03","stringDateTimeField":"1970-03-11T06:55:25Z","stringField":"wXEQuE","stringTimeField":"10:52:21.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":131,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":131,"uuid":"9de3e3f1-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ARgd","TXvNMYPFFG","ogeievEm","OHGDk","rCYXSUiRX","KEFSsq"],"boolField":false,"intField":-371,"numField":-631.0399778345715,"objField":{"ECWQO":-5966085902392145397,"SjjtzgHZ":273788694903913371,"hVVD":6912423555647168547,"mnGJQxccm":6665808017560552296},"stringDateField":"1983-03-08","stringDateTimeField":"1905-11-10T19:49:59Z","stringField":"LMIqyUT","stringTimeField":"15:14:49.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":-371,"numField":-631.0399778345715,"stringDateField":"1983-03-08","stringDateTimeField":"1905-11-10T19:49:59Z","stringField":"LMIqyUT","stringTimeField":"15:14:49.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":132,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":132,"uuid":"9de3e3f1-5655-11ee-9401-675ed0f8e89b"},"arrayField":["qjNaIMqv","WAPoz","vvTsgKMuOh","GSsMVeeKZ","sxEAeAARU","AIbu"],"boolField":false,"intField":560,"numField":-287.24526216736143,"objField":{"BoRcxQW":-6406609766159797258,"DuFeIpmIjC":-15440419787456754,"NFLfL":-1360686177099023753,"OOuzlY":-5395343756179858881,"OYiUuY":381591040184578991,"fUlDgktP":6303721547865430230,"uieMTU":-6080258452114182635,"vusHu":3426794473889391728,"ycdiX":5213217390582642900},"stringDateField":"1991-08-12","stringDateTimeField":"1933-12-09T16:51:38Z","stringField":"WvOsKFaat","stringTimeField":"07:25:49.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":560,"numField":-287.24526216736143,"stringDateField":"1991-08-12","stringDateTimeField":"1933-12-09T16:51:38Z","stringField":"WvOsKFaat","stringTimeField":"07:25:49.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":133,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":133,"uuid":"9de3e3f1-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ylbcnV","IHhrngv","scoEs","XwVprwQ","TedpBR","ReaOHfqO","nuKI","jqOyXLd","AMUalhKdg","zRscFh"],"boolField":false,"intField":-975,"numField":-876.6950143590846,"objField":{"AAZkn":-1162493489899675594,"dqJp":4947582561118295529},"stringDateField":"1900-07-10","stringDateTimeField":"1936-05-05T17:30:02Z","stringField":"PCYSZE","stringTimeField":"01:03:34.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":-975,"numField":-876.6950143590846,"stringDateField":"1900-07-10","stringDateTimeField":"1936-05-05T17:30:02Z","stringField":"PCYSZE","stringTimeField":"01:03:34.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":134,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":134,"uuid":"9de3e3f1-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["lxLz","saZUHnWbjW","rKRThB","QuhhcxaNM","aXHiPHKfE","DmsLJUBLP","mOmHxD","dALMi","DxoCp","whcjfPw"],"boolField":true,"intField":960,"numField":-443.3797744411224,"objField":{"BKezu":-7829104188312519143,"QYuKnAH":4426315718653646036,"iihd":-4367581130146619872,"nIuoZrP":-369441281990408045,"nVKIOI":-4242142791322192562,"rxBdNvg":-6685415522475318417,"zMoDrkw":2746464861955422862},"stringDateField":"1964-09-06","stringDateTimeField":"1957-03-24T01:13:48Z","stringField":"LoeEkBKlf","stringTimeField":"18:43:24.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":960,"numField":-443.3797744411224,"stringDateField":"1964-09-06","stringDateTimeField":"1957-03-24T01:13:48Z","stringField":"LoeEkBKlf","stringTimeField":"18:43:24.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":135,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":135,"uuid":"9de3e3f1-5655-11ee-a001-675ed0f8e89b"},"arrayField":["qGyBMitDGp","nZZRhyDb","CzYqjorYI","MoDcgRBb","ZdGNtyDTkl"],"boolField":true,"intField":925,"numField":211.39075796109296,"objField":{"BLAYV":-847607384368818565,"JRqQ":3506913411670308865,"VYdeMWee":-7666746558721358557,"yosq":50243793722804577},"stringDateField":"1997-05-09","stringDateTimeField":"1935-05-15T23:04:47Z","stringField":"xmqp","stringTimeField":"15:16:25.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":925,"numField":211.39075796109296,"stringDateField":"1997-05-09","stringDateTimeField":"1935-05-15T23:04:47Z","stringField":"xmqp","stringTimeField":"15:16:25.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":136,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":136,"uuid":"9de3e3f1-5655-11ee-a401-675ed0f8e89b"},"arrayField":["UXVtMpWsvj","tOXdgq","svPOK","hsuMeHcbV","rFIoK","aKgHAxxyIu","DbjYph","nwWBUsYp","PHdJN"],"boolField":false,"intField":26,"numField":-358.6097435806389,"objField":{"BLrxSCaYtz":-1027452650539963534,"FuVSnQHC":8402619295016811362,"HMnaJOeRH":4583439242445938419,"HqUmfypIpB":-2740944642234507723,"kFlERa":-1594454439493240982,"kGsl":-8175886642443241170,"rihTFuuTd":8972472734690187156},"stringDateField":"2008-07-02","stringDateTimeField":"1955-10-18T01:16:33Z","stringField":"YBvuyw","stringTimeField":"02:53:17.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":26,"numField":-358.6097435806389,"stringDateField":"2008-07-02","stringDateTimeField":"1955-10-18T01:16:33Z","stringField":"YBvuyw","stringTimeField":"02:53:17.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":137,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":137,"uuid":"9de3e3f1-5655-11ee-a801-675ed0f8e89b"},"arrayField":["fsvM","ICQBmX"],"boolField":false,"intField":-938,"numField":14.107778519130145,"objField":{"DVbasT":2635417968685531050,"JRFr":8739511108335282804,"ODDthLduif":6635555122957125662,"PCMFNo":-1187703588220281624,"mSNYXnKs":6548378624624603091,"oXZzNewRQ":-6993469427352177261,"rLpIePP":4247636742316217940},"stringDateField":"1919-11-29","stringDateTimeField":"1912-02-28T15:08:56Z","stringField":"WVuTMis","stringTimeField":"07:42:48.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":-938,"numField":14.107778519130145,"stringDateField":"1919-11-29","stringDateTimeField":"1912-02-28T15:08:56Z","stringField":"WVuTMis","stringTimeField":"07:42:48.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":138,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":138,"uuid":"9de3e3f1-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["eNvQbmw","PgBYRMRuIn","RgTWOEXdu","rqPSAUf"],"boolField":false,"intField":-252,"numField":-116.43847956373764,"objField":{"LOZSzgQjJ":5551033045181430846,"qtaVHumOus":-2525876009800950311},"stringDateField":"1973-07-25","stringDateTimeField":"1966-07-17T03:49:10Z","stringField":"mZBxH","stringTimeField":"14:33:53.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":-252,"numField":-116.43847956373764,"stringDateField":"1973-07-25","stringDateTimeField":"1966-07-17T03:49:10Z","stringField":"mZBxH","stringTimeField":"14:33:53.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":139,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":139,"uuid":"9de3e3f1-5655-11ee-b001-675ed0f8e89b"},"arrayField":["HkIweVh","XSjzrazke","gkvw","rNiMK"],"boolField":true,"intField":486,"numField":-500.34563826141544,"objField":{"RfXxYjbXBQ":-7456405532829319120,"SgCdwwzkv":-4956987828405789041,"TmvSqPQvaY":6166345954661049171,"aHYAPC":1083641806275665309,"bvRWX":-7437457248825854961,"cdZUDVA":6352017644704313941,"dSChmPkmxD":-4317972519929407053,"fPdFTgc":-5818294553888816075,"xiTXylTc":1972436064295295766,"xrzrbZ":-3627931549633111290},"stringDateField":"1924-08-04","stringDateTimeField":"1933-11-20T08:11:31Z","stringField":"QlvSVhBEGT","stringTimeField":"07:57:41.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":486,"numField":-500.34563826141544,"stringDateField":"1924-08-04","stringDateTimeField":"1933-11-20T08:11:31Z","stringField":"QlvSVhBEGT","stringTimeField":"07:57:41.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":140,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":140,"uuid":"9de3e3f1-5655-11ee-b401-675ed0f8e89b"},"arrayField":["OfkKDMJebv"],"boolField":false,"intField":-357,"numField":-497.37758810019193,"objField":{"CnFb":696824291832070001,"EiRnHbfLNk":-7231413759698557970,"LZaznrF":7559536126334557088,"bzRITBV":-8302541074950302965,"caPR":3178363140209158317,"diAK":-6260044565852187273,"nJeJxM":-1170699261712286319,"zlrOywsyv":-6205058556596949235},"stringDateField":"1945-08-13","stringDateTimeField":"1973-09-08T02:49:50Z","stringField":"jcdqxSYWSm","stringTimeField":"16:49:58.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":-357,"numField":-497.37758810019193,"stringDateField":"1945-08-13","stringDateTimeField":"1973-09-08T02:49:50Z","stringField":"jcdqxSYWSm","stringTimeField":"16:49:58.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":141,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":141,"uuid":"9de3e3f1-5655-11ee-b801-675ed0f8e89b"},"arrayField":["NqfKBqX","jbsSNfLW","BoVOxShxNo","aXYlg","LyTMWwNlOb","yopqehpL","uloDr"],"boolField":false,"intField":-810,"numField":-813.9631140675019,"objField":{"AhLmyhs":8732403772343607703,"ExjeS":-997795990892694749,"SchRZ":-6000080876919098379,"bLemru":117605936920503265,"dXGXRDL":-1516336997702653887,"wcKs":-4183293837751608707,"ymDdCpeQ":-182090618569660567},"stringDateField":"1961-08-22","stringDateTimeField":"1951-09-25T20:55:29Z","stringField":"KmPXTS","stringTimeField":"21:50:49.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":-810,"numField":-813.9631140675019,"stringDateField":"1961-08-22","stringDateTimeField":"1951-09-25T20:55:29Z","stringField":"KmPXTS","stringTimeField":"21:50:49.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":142,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":142,"uuid":"9de3e3f1-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["mLqIMhNJur","waaGTPgOmM","wNtlfTaQU","qYRzeZr","WdTDPiZh","EvAVoIn","gbJwHn","xNOxDnt","MaysZl","xMSYKUGN"],"boolField":false,"intField":-281,"numField":-46.2319877716576,"objField":{"DlUX":6475738071057636937,"MYqLo":6044928298702041911,"QLfE":7766217218234133407,"VAkA":-3875595824213034850,"aUTtwvjrxx":-8217688222724932740,"bjfIt":416192074667134818,"nGMaStlxOD":3768124043735346142,"zMzQ":3090855729094591450},"stringDateField":"1954-11-23","stringDateTimeField":"1935-09-29T04:16:40Z","stringField":"kCPCzbkV","stringTimeField":"22:17:18.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230897Z","intField":-281,"numField":-46.2319877716576,"stringDateField":"1954-11-23","stringDateTimeField":"1935-09-29T04:16:40Z","stringField":"kCPCzbkV","stringTimeField":"22:17:18.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":143,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":143,"uuid":"9de3e3f2-5655-11ee-8001-675ed0f8e89b"},"arrayField":["OvNUdsa","TMrhOJSfwx"],"boolField":false,"intField":-124,"numField":545.5669655272172,"objField":{"CJpx":-608968540429223467,"LurIBgoBds":-4783522845732967975,"NlIvNQ":-3554052377112772005,"RnGLLJ":3831616782824073356,"SKifGWk":8773786443698331504,"VLQNRG":7581707953937750865,"aELGc":5570823314157706158,"mMnnxlx":-7746982695107987881,"pZLCsHGkHm":7180054533773117968,"tPOeqHna":6207154950331374646},"stringDateField":"1964-10-08","stringDateTimeField":"1987-01-09T17:59:16Z","stringField":"Sjja","stringTimeField":"02:42:04.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":-124,"numField":545.5669655272172,"stringDateField":"1964-10-08","stringDateTimeField":"1987-01-09T17:59:16Z","stringField":"Sjja","stringTimeField":"02:42:04.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":144,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":144,"uuid":"9de3e3f2-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UwYa","JNgxLfQ","wrVPORcMQh","BxacAks","HbozkFQCE","rPeEVejGr"],"boolField":false,"intField":-832,"numField":157.16076476246576,"objField":{"CGplspycJ":-9195409074284931596,"McnOFk":3077762368593919833,"cveU":-5858409302377033718,"cwgw":690714541287383496},"stringDateField":"1964-02-18","stringDateTimeField":"1977-07-19T20:27:11Z","stringField":"gAWFIfLzik","stringTimeField":"15:56:26.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":-832,"numField":157.16076476246576,"stringDateField":"1964-02-18","stringDateTimeField":"1977-07-19T20:27:11Z","stringField":"gAWFIfLzik","stringTimeField":"15:56:26.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":145,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":145,"uuid":"9de3e3f2-5655-11ee-8801-675ed0f8e89b"},"arrayField":["GQlvLFTyNi","lgOFrGzCjH"],"boolField":false,"intField":157,"numField":727.2239851112286,"objField":{"EnZnfX":4411523495130770592,"LgIeWHCvV":-1091624119997559404,"PoiigPGsud":2676144895966776614,"gsOP":8507137381561666691,"kICOmlrXby":9119196662468817663,"lKgx":3232148332151617416,"wkaTEY":-2317946407064824007},"stringDateField":"1936-03-01","stringDateTimeField":"1917-10-30T21:01:30Z","stringField":"VCgDQ","stringTimeField":"14:19:21.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":157,"numField":727.2239851112286,"stringDateField":"1936-03-01","stringDateTimeField":"1917-10-30T21:01:30Z","stringField":"VCgDQ","stringTimeField":"14:19:21.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":146,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":146,"uuid":"9de3e3f2-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KKgcoXSnT","yDvgpeVC","yJReYved","hKWXkXfT","xfZjL","KeRqpT","ljEjfAdWc"],"boolField":false,"intField":865,"numField":-678.4209171955033,"objField":{"HFgamitIOw":5964846278370614417,"KNxWzH":-4518691155850680759,"OfcK":-8566405832500645682,"cFOYCruR":-179935490210787015,"pEexdpLa":2785425762971696123},"stringDateField":"2015-10-15","stringDateTimeField":"1992-10-11T07:35:17Z","stringField":"qMjrjX","stringTimeField":"16:28:06.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":865,"numField":-678.4209171955033,"stringDateField":"2015-10-15","stringDateTimeField":"1992-10-11T07:35:17Z","stringField":"qMjrjX","stringTimeField":"16:28:06.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":147,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":147,"uuid":"9de3e3f2-5655-11ee-9001-675ed0f8e89b"},"arrayField":["Rauexfs","rJHPLZT","YbaFyUHi","oovN","lMORvNr","sBlev","MoMJjsQF","gEIFRMW","BllHwUc","NKfgwJDiti"],"boolField":false,"intField":235,"numField":491.0780432503703,"objField":{"KjzzpK":-6998670001119390313,"OTgk":-158653743514606160,"fKUyNR":1285915005547377585,"hQzkiYFSL":-1263845775306752229,"wFgyj":7582525412979831559,"yJRYcJ":-2999682580722357267},"stringDateField":"1984-11-09","stringDateTimeField":"1996-05-13T05:06:13Z","stringField":"YekNQlVD","stringTimeField":"18:54:48.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":235,"numField":491.0780432503703,"stringDateField":"1984-11-09","stringDateTimeField":"1996-05-13T05:06:13Z","stringField":"YekNQlVD","stringTimeField":"18:54:48.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":148,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":148,"uuid":"9de3e3f2-5655-11ee-9401-675ed0f8e89b"},"arrayField":["KVWiWheAnr","PCMdhAfcGd","LkqG","cKNdAa","OxTUs","kaPyClWf","tZhSkUQ","UIPcoFu","NNnCL"],"boolField":true,"intField":-738,"numField":-443.6206561820911,"objField":{"OkoEpkFLc":3047399867833380042,"nwaktg":3932573908077578080,"oydYWWyqT":5963398666426047148,"sILlv":1675154155897231335,"tVAhPpKNbs":-1499865371246215210,"tvFgDmWgZY":-6904516687818215128,"wUtCjzB":-6618739994388543950},"stringDateField":"1943-10-20","stringDateTimeField":"1944-03-02T08:14:06Z","stringField":"dwoLPGuP","stringTimeField":"20:47:23.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":-738,"numField":-443.6206561820911,"stringDateField":"1943-10-20","stringDateTimeField":"1944-03-02T08:14:06Z","stringField":"dwoLPGuP","stringTimeField":"20:47:23.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":149,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":149,"uuid":"9de3e3f2-5655-11ee-9801-675ed0f8e89b"},"arrayField":["dfkgAcbWZ","CDbMC","QXbB","FGEPhVUad","eaGAzTysmv","EveQKe","KVgbyH","loHfe","ySDim"],"boolField":false,"intField":-609,"numField":-76.46701107523756,"objField":{"SRztZdZ":-1758375190972300248,"SkueObVpb":9207246098007740545,"VwYIaQNG":-3116034797172410808,"ekiDeQeS":-363056528652780531,"qiIXF":-7833997438435918738,"vlayFEEBZ":-6298840293425521694,"xoXb":-1204295266982946054},"stringDateField":"1972-10-04","stringDateTimeField":"1935-12-29T08:18:45Z","stringField":"OauS","stringTimeField":"12:05:11.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":-609,"numField":-76.46701107523756,"stringDateField":"1972-10-04","stringDateTimeField":"1935-12-29T08:18:45Z","stringField":"OauS","stringTimeField":"12:05:11.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":150,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":150,"uuid":"9de3e3f2-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["lXdabc","wviTkWZNt","QKJLeesX","BLjVuht","JvuDT","QlLNwsKeM","GexvB","LTVrZs"],"boolField":true,"intField":225,"numField":-666.2285970123326,"objField":{"RFAdHXa":-2692304819578884278,"hBYTL":-5087374471294756000,"oeCnnx":-7583350129428859729,"uRRA":2708189461759214441},"stringDateField":"2001-01-28","stringDateTimeField":"1907-09-21T10:07:39Z","stringField":"tQkuCvc","stringTimeField":"13:45:30.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":225,"numField":-666.2285970123326,"stringDateField":"2001-01-28","stringDateTimeField":"1907-09-21T10:07:39Z","stringField":"tQkuCvc","stringTimeField":"13:45:30.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":151,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":151,"uuid":"9de3e3f2-5655-11ee-a001-675ed0f8e89b"},"arrayField":["IBrBV","zmHWTQRaK","MBnm","thrygqVh","GTDbqlDD","HyxDkEl","ypETp","skJa"],"boolField":false,"intField":258,"numField":-75.0356663588182,"objField":{"PToJhicdb":-5123594221744724321},"stringDateField":"1953-07-27","stringDateTimeField":"1943-07-29T07:47:59Z","stringField":"EKePLxA","stringTimeField":"12:34:19.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":258,"numField":-75.0356663588182,"stringDateField":"1953-07-27","stringDateTimeField":"1943-07-29T07:47:59Z","stringField":"EKePLxA","stringTimeField":"12:34:19.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":152,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":152,"uuid":"9de3e3f2-5655-11ee-a401-675ed0f8e89b"},"arrayField":["RCAGeR","RaDyo","TmlaUYSrY"],"boolField":true,"intField":471,"numField":449.4173391573213,"objField":{"UOgGhDijtj":-2596947616055539898,"XlWwBhXFkU":2835125191450633523},"stringDateField":"1942-12-09","stringDateTimeField":"1905-09-04T20:07:05Z","stringField":"klmlCWhF","stringTimeField":"15:11:40.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":471,"numField":449.4173391573213,"stringDateField":"1942-12-09","stringDateTimeField":"1905-09-04T20:07:05Z","stringField":"klmlCWhF","stringTimeField":"15:11:40.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":153,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":153,"uuid":"9de3e3f2-5655-11ee-a801-675ed0f8e89b"},"arrayField":["AntUMCrt","EHTfgROmv","zggvOjBmO","cIlF","qcWYR","ecJTnsOplw","pIbNXbG"],"boolField":false,"intField":585,"numField":-871.715925596674,"objField":{"Lbgi":-1777257689472080945},"stringDateField":"2009-08-13","stringDateTimeField":"2018-01-20T12:08:15Z","stringField":"MoWJ","stringTimeField":"07:44:36.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":585,"numField":-871.715925596674,"stringDateField":"2009-08-13","stringDateTimeField":"2018-01-20T12:08:15Z","stringField":"MoWJ","stringTimeField":"07:44:36.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":154,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":154,"uuid":"9de3e3f2-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["dIoW","JTmD","txYE","wyUR","NCKwOXYeuz","gPkAjXf","LtNuuPl","AlFFJqpqw"],"boolField":true,"intField":480,"numField":-729.1208592230577,"objField":{"DrQthRu":-1028600419620559012,"USMHMcQb":8263816306860409453,"ZBkbKL":5540157577029474596,"kGPwjeRH":1094655055949303391,"meqMdsgN":-2008970658340741913,"qXOWIOddF":-4748512635535476852,"vshjxtwF":-8439763782602131790,"wcArF":9173958449294068262,"zhZb":-8693807340217908334},"stringDateField":"1917-05-21","stringDateTimeField":"2008-09-07T08:09:04Z","stringField":"dqnL","stringTimeField":"20:47:33.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":480,"numField":-729.1208592230577,"stringDateField":"1917-05-21","stringDateTimeField":"2008-09-07T08:09:04Z","stringField":"dqnL","stringTimeField":"20:47:33.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":155,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":155,"uuid":"9de3e3f2-5655-11ee-b001-675ed0f8e89b"},"arrayField":["gZrVSUPc"],"boolField":false,"intField":857,"numField":-673.2466319283881,"objField":{"SvBTZpZFaW":3607492365094208452,"pCxTe":2681171906042558362},"stringDateField":"2018-05-12","stringDateTimeField":"1909-03-28T03:40:40Z","stringField":"jbCaSgBgQF","stringTimeField":"14:10:13.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":857,"numField":-673.2466319283881,"stringDateField":"2018-05-12","stringDateTimeField":"1909-03-28T03:40:40Z","stringField":"jbCaSgBgQF","stringTimeField":"14:10:13.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":156,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":156,"uuid":"9de3e3f2-5655-11ee-b401-675ed0f8e89b"},"arrayField":["MrNJ"],"boolField":true,"intField":-896,"numField":798.5263687123855,"objField":{"RUEoRhO":-2208934813481906695,"SbPGbLRLY":-7201875567034032704,"SwYtVlLe":1486863462467768143,"XULH":-6498625010502192460,"bNREuVMlnf":1176604509203764507,"fRRpl":2378163884382917199,"nlMLFnl":-7703809814674995141,"ytwI":-5588625341876640497},"stringDateField":"1992-02-22","stringDateTimeField":"1991-06-13T01:34:58Z","stringField":"hLfBalg","stringTimeField":"23:27:47.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":-896,"numField":798.5263687123855,"stringDateField":"1992-02-22","stringDateTimeField":"1991-06-13T01:34:58Z","stringField":"hLfBalg","stringTimeField":"23:27:47.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":157,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":157,"uuid":"9de3e3f2-5655-11ee-b801-675ed0f8e89b"},"arrayField":["iyza","CQbPTsm","grNNly"],"boolField":false,"intField":-776,"numField":531.8695341905342,"objField":{"LauNnPzcT":1589858343204452924,"QxjYQOrA":-2678793288968702577,"SuOJjDJik":2246408375709313167,"UcJztdeT":322137566283381749,"ZBQXkJopfo":-6496469785389286381,"kHqKPwad":3240000646151638983,"qSyvNRhJb":-9045810506271099584,"yDrP":-4044838205733267915},"stringDateField":"1953-03-20","stringDateTimeField":"1935-09-27T19:50:32Z","stringField":"imtlHw","stringTimeField":"00:36:39.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":-776,"numField":531.8695341905342,"stringDateField":"1953-03-20","stringDateTimeField":"1935-09-27T19:50:32Z","stringField":"imtlHw","stringTimeField":"00:36:39.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":158,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":158,"uuid":"9de3e3f2-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["XeTxYd","zKGifM","HApsDDHd","zHCjOA","NaSF","PyqE"],"boolField":true,"intField":-805,"numField":-745.6554179900223,"objField":{"QiHo":-2763486362503954750,"cmJiXGn":-8007797120773482096,"yEPFcxpgo":-7391471257425521524},"stringDateField":"1987-07-03","stringDateTimeField":"1902-09-22T11:20:35Z","stringField":"gDsy","stringTimeField":"22:56:33.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230898Z","intField":-805,"numField":-745.6554179900223,"stringDateField":"1987-07-03","stringDateTimeField":"1902-09-22T11:20:35Z","stringField":"gDsy","stringTimeField":"22:56:33.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":159,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":159,"uuid":"9de3e3f3-5655-11ee-8001-675ed0f8e89b"},"arrayField":["rBRW"],"boolField":true,"intField":340,"numField":-965.5203398595452,"objField":{"BhXyO":-3209247292353763143,"NnFeWcM":6166866112949170414,"mkhMspD":7599715395355621799,"qPGqwZ":-6531904547399752218,"qRsAbZmg":3043995322873662898},"stringDateField":"1922-02-04","stringDateTimeField":"2017-03-31T02:18:25Z","stringField":"eDElr","stringTimeField":"07:53:00.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":340,"numField":-965.5203398595452,"stringDateField":"1922-02-04","stringDateTimeField":"2017-03-31T02:18:25Z","stringField":"eDElr","stringTimeField":"07:53:00.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":160,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":160,"uuid":"9de3e3f3-5655-11ee-8401-675ed0f8e89b"},"arrayField":["gJIcYbTxgy","PWAkGS","HmkJeyop"],"boolField":true,"intField":690,"numField":577.7105485178427,"objField":{"HrleSYxSUP":7283972058984824481,"JUJkiiFoZh":6914824136847131243,"JqRrOIFa":-4999683811724791881,"OKagaoVTs":7490620227931655799,"TkJjuUR":-4326036247029631522,"YOheAL":6094533364083639669,"pJVdsdxCGS":5938578260014465736,"vJwo":-5832468317570227100,"vYUGpVqg":7657370202001904784,"yHOXrb":2365024581240086684},"stringDateField":"1907-10-12","stringDateTimeField":"2009-01-18T13:12:49Z","stringField":"mHqEzi","stringTimeField":"12:57:38.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":690,"numField":577.7105485178427,"stringDateField":"1907-10-12","stringDateTimeField":"2009-01-18T13:12:49Z","stringField":"mHqEzi","stringTimeField":"12:57:38.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":161,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":161,"uuid":"9de3e3f3-5655-11ee-8801-675ed0f8e89b"},"arrayField":["HxDvOiscfX","UEjYm","vdwPWO"],"boolField":true,"intField":-270,"numField":925.9706726377448,"objField":{"HVRA":-2246231289376821293,"VVbJlXeXPH":1176350585319461958,"gzTIlRsFER":108213840043929640,"nkWC":-1487606750350849265},"stringDateField":"1943-11-09","stringDateTimeField":"1914-12-26T04:52:55Z","stringField":"wrIXupyQUP","stringTimeField":"03:31:37.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":-270,"numField":925.9706726377448,"stringDateField":"1943-11-09","stringDateTimeField":"1914-12-26T04:52:55Z","stringField":"wrIXupyQUP","stringTimeField":"03:31:37.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":162,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":162,"uuid":"9de3e3f3-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["mYxEcdqD","MhgU","LOPZMQBOE","DFCBF","RWXVFDs","ABJMvPtnM"],"boolField":false,"intField":879,"numField":502.90110761607144,"objField":{"PQWAQ":50787327897648335,"TkanfzdWd":-3445339341819737354,"hBcyAHETy":-5773550568915143683,"znVPuA":-8814958699367003863},"stringDateField":"2014-08-10","stringDateTimeField":"1965-04-29T14:49:34Z","stringField":"QxiG","stringTimeField":"23:15:43.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":879,"numField":502.90110761607144,"stringDateField":"2014-08-10","stringDateTimeField":"1965-04-29T14:49:34Z","stringField":"QxiG","stringTimeField":"23:15:43.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":163,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":163,"uuid":"9de3e3f3-5655-11ee-9001-675ed0f8e89b"},"arrayField":["DCdkAqQwB","DUbUyvueM","nWEh","FlhGcVm","dQcOpYmq"],"boolField":true,"intField":-577,"numField":871.5245095965356,"objField":{"qCli":-8112811732421103862},"stringDateField":"1991-03-12","stringDateTimeField":"1998-08-06T07:49:10Z","stringField":"MHFDSJA","stringTimeField":"16:30:54.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":-577,"numField":871.5245095965356,"stringDateField":"1991-03-12","stringDateTimeField":"1998-08-06T07:49:10Z","stringField":"MHFDSJA","stringTimeField":"16:30:54.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":164,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":164,"uuid":"9de3e3f3-5655-11ee-9401-675ed0f8e89b"},"arrayField":["eSGiHcnZz","xNjsQCxY","SZwJWJVuZ"],"boolField":true,"intField":113,"numField":16.23210258602814,"objField":{"MWpAmiph":-6689854312560142076,"WjxmzVq":1436273983168841075,"XdUIg":-37169897989319554,"YRXlTMjAon":175267029367033331,"kKtswrqY":-7443511104768517376,"sIeUINKQ":-5353776498732451518,"wNGBBw":-4121355413581042072},"stringDateField":"1967-03-02","stringDateTimeField":"1992-01-24T22:16:34Z","stringField":"Dmcq","stringTimeField":"12:20:11.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":113,"numField":16.23210258602814,"stringDateField":"1967-03-02","stringDateTimeField":"1992-01-24T22:16:34Z","stringField":"Dmcq","stringTimeField":"12:20:11.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":165,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":165,"uuid":"9de3e3f3-5655-11ee-9801-675ed0f8e89b"},"arrayField":["EXTcsN","oClRclm","GXDqBlx","nykRbqbXo","IDxJwJeF","kxrNB","KfatMTB"],"boolField":false,"intField":-822,"numField":150.96794003336367,"objField":{"fWxUkLzLA":-2850415660776005974,"qNZls":8213117764316819805},"stringDateField":"1955-01-25","stringDateTimeField":"1902-03-26T14:59:41Z","stringField":"aboyWMB","stringTimeField":"08:29:49.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":-822,"numField":150.96794003336367,"stringDateField":"1955-01-25","stringDateTimeField":"1902-03-26T14:59:41Z","stringField":"aboyWMB","stringTimeField":"08:29:49.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":166,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":166,"uuid":"9de3e3f3-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["MQAlTNSGSD","nmqQcYNGG","CvCSEu","JMeBViWi","TWZZTzgvhh","RLHwcEkj","nJyqhtXj"],"boolField":true,"intField":712,"numField":206.0720884907432,"objField":{"tQAXCU":287456322582380096},"stringDateField":"2007-07-01","stringDateTimeField":"1947-01-16T05:17:01Z","stringField":"gZLfNE","stringTimeField":"09:51:59.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":712,"numField":206.0720884907432,"stringDateField":"2007-07-01","stringDateTimeField":"1947-01-16T05:17:01Z","stringField":"gZLfNE","stringTimeField":"09:51:59.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":167,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":167,"uuid":"9de3e3f3-5655-11ee-a001-675ed0f8e89b"},"arrayField":["eLBbNxuT","YjJIaUy","xkAdWwzC","lwnh","CtsDjxZT","jJsLD","fyijHg","iAZGyE","IDgr"],"boolField":true,"intField":-755,"numField":194.86583988996696,"objField":{"JroFSjs":953390474236542362},"stringDateField":"1977-06-08","stringDateTimeField":"2020-01-28T01:48:04Z","stringField":"WXltcsT","stringTimeField":"03:39:35.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":-755,"numField":194.86583988996696,"stringDateField":"1977-06-08","stringDateTimeField":"2020-01-28T01:48:04Z","stringField":"WXltcsT","stringTimeField":"03:39:35.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":168,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":168,"uuid":"9de3e3f3-5655-11ee-a401-675ed0f8e89b"},"arrayField":["dZKn"],"boolField":true,"intField":-572,"numField":-724.3299678196227,"objField":{"mjzdOX":5886452152926545754,"sfScYutmk":-1967233324513685430},"stringDateField":"1975-10-17","stringDateTimeField":"1990-01-03T10:22:16Z","stringField":"VlFCxCK","stringTimeField":"15:55:37.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":-572,"numField":-724.3299678196227,"stringDateField":"1975-10-17","stringDateTimeField":"1990-01-03T10:22:16Z","stringField":"VlFCxCK","stringTimeField":"15:55:37.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":169,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":169,"uuid":"9de3e3f3-5655-11ee-a801-675ed0f8e89b"},"arrayField":["zwkepjRrG","RYRPh","wDaVHbk","WnVgRRVeK"],"boolField":true,"intField":394,"numField":-538.1143319927801,"objField":{"DNEnv":-3517842203732047495,"HoSzRRG":-3743345286449286853,"MaxGvFG":-3280346453968194430,"syqrVQQy":-7357743571383029892,"trCbvcmvw":2215909084948993728},"stringDateField":"1922-10-03","stringDateTimeField":"1963-03-31T15:39:22Z","stringField":"CbCbd","stringTimeField":"01:11:35.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":394,"numField":-538.1143319927801,"stringDateField":"1922-10-03","stringDateTimeField":"1963-03-31T15:39:22Z","stringField":"CbCbd","stringTimeField":"01:11:35.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":170,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":170,"uuid":"9de3e3f3-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["WXHpZqmFe"],"boolField":false,"intField":440,"numField":-386.15220945928854,"objField":{"FrqKSnC":-6135983834148497046,"GuFwOQTtE":-2484948462862098716,"XUss":2590362475070244372,"bRyTQiOaiA":-801063919289637807,"bhRoxJLG":7270187569913353948,"glQmr":3261189133552773613,"vJojiZavL":3805158421104480639,"yXRx":3371184936647557189,"zCSVFQyzN":-4112535570075546078},"stringDateField":"2000-11-14","stringDateTimeField":"1947-06-18T04:07:03Z","stringField":"qjUwIqRbQ","stringTimeField":"05:15:25.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":440,"numField":-386.15220945928854,"stringDateField":"2000-11-14","stringDateTimeField":"1947-06-18T04:07:03Z","stringField":"qjUwIqRbQ","stringTimeField":"05:15:25.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":171,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":171,"uuid":"9de3e3f3-5655-11ee-b001-675ed0f8e89b"},"arrayField":["WVdXF"],"boolField":false,"intField":-419,"numField":201.4015389476016,"objField":{"CUYEomRzwX":-3078984154494298366,"DBgE":7511706381771396537,"GxUNW":-1675163121539677488,"QiOeIRDTqP":1210902570084063931,"clyTyyqAa":7428856845476563197,"etYi":9120987160785255388,"tqVjXep":2341540188398778377},"stringDateField":"2021-11-30","stringDateTimeField":"1972-05-02T11:24:45Z","stringField":"NmirBA","stringTimeField":"21:03:25.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":-419,"numField":201.4015389476016,"stringDateField":"2021-11-30","stringDateTimeField":"1972-05-02T11:24:45Z","stringField":"NmirBA","stringTimeField":"21:03:25.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":172,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":172,"uuid":"9de3e3f3-5655-11ee-b401-675ed0f8e89b"},"arrayField":["HZhkyCTcE","YgGiEhZqx"],"boolField":true,"intField":20,"numField":353.5312563715389,"objField":{"BPHkL":6206002781962974020,"BeyVKv":-3993346309573142614,"IgZzVg":8748290402575134638,"Xxrrloo":4769564390349197238,"YExifiTNi":5879221347551725779,"kbIrEyTCh":1870856218862378137,"lENdpDyI":6655126064908937651,"pvCT":1647447454108208842,"sOqth":5377776829941966670,"yUmhtbv":4560850369497091514},"stringDateField":"1920-04-13","stringDateTimeField":"1981-10-24T08:39:43Z","stringField":"xgZdTpxgp","stringTimeField":"11:26:29.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":20,"numField":353.5312563715389,"stringDateField":"1920-04-13","stringDateTimeField":"1981-10-24T08:39:43Z","stringField":"xgZdTpxgp","stringTimeField":"11:26:29.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":173,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":173,"uuid":"9de3e3f3-5655-11ee-b801-675ed0f8e89b"},"arrayField":["MNnxdCsyrk","LMrJo"],"boolField":false,"intField":-852,"numField":-749.8612777142049,"objField":{"KYRPHtZRDq":-3964080703345746535},"stringDateField":"1945-09-12","stringDateTimeField":"1914-10-25T08:08:09Z","stringField":"UDBE","stringTimeField":"20:39:57.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":-852,"numField":-749.8612777142049,"stringDateField":"1945-09-12","stringDateTimeField":"1914-10-25T08:08:09Z","stringField":"UDBE","stringTimeField":"20:39:57.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":174,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":174,"uuid":"9de3e3f3-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["qDfMi","jXFfc","SLIvctl","mzvqP","YKmvWwuy","aYnqx","aSlKlxFsP","yjBVd","BXOmOBJn"],"boolField":true,"intField":-389,"numField":-386.37534095993095,"objField":{"FuyTORpe":7951857079091971209,"HStG":1609515689536280717,"KFGqsYQ":-2131049923010346967,"eCVYUM":-7028810200998339214,"hSPQkG":-1672784355225631672,"jVOZR":-4875340219424132136,"sHNiKGev":866302367648773820},"stringDateField":"1918-06-28","stringDateTimeField":"2022-09-13T23:00:07Z","stringField":"NqFg","stringTimeField":"20:27:51.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230899Z","intField":-389,"numField":-386.37534095993095,"stringDateField":"1918-06-28","stringDateTimeField":"2022-09-13T23:00:07Z","stringField":"NqFg","stringTimeField":"20:27:51.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":175,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":175,"uuid":"9de3e3f4-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PvsGrdkuJ","LjoU","KyHMpQ","LeiaeH","dSiQbSOTxN","yAmQnwooJE","eQGaJBQi","yRBWRPg"],"boolField":true,"intField":682,"numField":218.96016784152783,"objField":{"RBZahhmT":165832475146741797,"RmVao":65047270517289383,"TXfqMGjyiu":1920526182172777672,"VZyYgzXF":30136126592582622,"lhYnsHD":-4150068975836686461,"pPom":6999547526889185394,"xBJXpBZ":-1781823145676961797,"yMbChYTzhx":-5873984192327356371},"stringDateField":"1967-11-20","stringDateTimeField":"2005-08-11T23:30:39Z","stringField":"XBzInQ","stringTimeField":"01:53:56.35Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":682,"numField":218.96016784152783,"stringDateField":"1967-11-20","stringDateTimeField":"2005-08-11T23:30:39Z","stringField":"XBzInQ","stringTimeField":"01:53:56.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":176,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":176,"uuid":"9de3e3f4-5655-11ee-8401-675ed0f8e89b"},"arrayField":["QhFejMd","iLyANEfc","wIQsneQZ","BxmvMa","hoUVQynWX","kXrsqcoB","gfkz","uqSL"],"boolField":true,"intField":-658,"numField":-582.263537978361,"objField":{"JolY":4722674906854995658,"YhTGGuoF":-4508666095879067593},"stringDateField":"1985-07-02","stringDateTimeField":"1900-06-12T06:39:35Z","stringField":"BGbL","stringTimeField":"09:44:28.45Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":-658,"numField":-582.263537978361,"stringDateField":"1985-07-02","stringDateTimeField":"1900-06-12T06:39:35Z","stringField":"BGbL","stringTimeField":"09:44:28.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":177,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":177,"uuid":"9de3e3f4-5655-11ee-8801-675ed0f8e89b"},"arrayField":["XwmdSlYWO"],"boolField":false,"intField":-633,"numField":97.07101407080332,"objField":{"LlqFWyJX":6295363230301330521},"stringDateField":"2018-12-17","stringDateTimeField":"1904-03-01T02:24:20Z","stringField":"waxZbECPzy","stringTimeField":"15:09:48.10Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":-633,"numField":97.07101407080332,"stringDateField":"2018-12-17","stringDateTimeField":"1904-03-01T02:24:20Z","stringField":"waxZbECPzy","stringTimeField":"15:09:48.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":178,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":178,"uuid":"9de3e3f4-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["lzzMbEKru","zPMzvoHX","szadAR","epyEcx","YgTNcCK","mQJESzXo","ktOtg","ZuaIqQwGj","cbVpS"],"boolField":false,"intField":-365,"numField":-605.9975270683976,"objField":{"ERxgt":-867447015284296611,"EgGRhSY":-8200744453441954063,"ZidSe":-8494288404552996984,"jSPx":-4946684487604880668,"ktMGmmHqjz":8966729198732092062,"lxyk":443838945366914339,"zvpwuyvVp":-2328013326081732784},"stringDateField":"1984-02-21","stringDateTimeField":"2023-02-04T10:35:32Z","stringField":"RSdKcHhYr","stringTimeField":"18:04:54.48Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":-365,"numField":-605.9975270683976,"stringDateField":"1984-02-21","stringDateTimeField":"2023-02-04T10:35:32Z","stringField":"RSdKcHhYr","stringTimeField":"18:04:54.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":179,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":179,"uuid":"9de3e3f4-5655-11ee-9001-675ed0f8e89b"},"arrayField":["uVWDbnh","lCLLGc","GOtP"],"boolField":true,"intField":195,"numField":-0.4827830273449462,"objField":{"AZkz":8287409812909125603,"DHdWNxqp":1935016016499254422,"HdJPlfa":2519062184414629283,"RHOLa":-7453929650889546880,"icvYBJ":1095278798309976938,"wsWMCa":-4811626945014627907},"stringDateField":"1933-10-03","stringDateTimeField":"1907-04-19T21:34:45Z","stringField":"gMujR","stringTimeField":"17:06:42.28Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":195,"numField":-0.4827830273449462,"stringDateField":"1933-10-03","stringDateTimeField":"1907-04-19T21:34:45Z","stringField":"gMujR","stringTimeField":"17:06:42.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":180,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":180,"uuid":"9de3e3f4-5655-11ee-9401-675ed0f8e89b"},"arrayField":["VyrEBqbBr","InEvcA","cDrLBmQjq","oQJlBjh","oUsqhb","FXzv","LCxY","bXwwQc"],"boolField":false,"intField":-136,"numField":834.6092888929768,"objField":{"HIUmQszF":5976814575067689245,"IrfLzfncW":2605946958063062062,"NaONmJYkR":3512838253230188763,"ZOLJ":-3121658547589754823,"mQLlu":3067285257128626172,"qXNaMy":-4856184626241799211},"stringDateField":"1907-12-26","stringDateTimeField":"1956-09-21T09:01:21Z","stringField":"xqwcit","stringTimeField":"07:03:46.47Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":-136,"numField":834.6092888929768,"stringDateField":"1907-12-26","stringDateTimeField":"1956-09-21T09:01:21Z","stringField":"xqwcit","stringTimeField":"07:03:46.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":181,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":181,"uuid":"9de3e3f4-5655-11ee-9801-675ed0f8e89b"},"arrayField":["JmxzU"],"boolField":false,"intField":120,"numField":551.7120036376484,"objField":{"dgBMfVIkru":5042820013555103963,"iNdlqJpbU":7038201690913366567,"npNwBVd":-2431139970921685982},"stringDateField":"1975-01-24","stringDateTimeField":"1938-03-30T11:12:20Z","stringField":"MDPTE","stringTimeField":"18:45:15.21Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":120,"numField":551.7120036376484,"stringDateField":"1975-01-24","stringDateTimeField":"1938-03-30T11:12:20Z","stringField":"MDPTE","stringTimeField":"18:45:15.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":182,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":182,"uuid":"9de3e3f4-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wtCoWpQAz","XvNZyCIBF","ekXczJheaO","HMuHbD","SEIwjryyQ","MFuK","tooPEmop"],"boolField":true,"intField":200,"numField":911.5123724862935,"objField":{"CllRpqnqfS":-3987775016339559061,"HKitHR":-8957592067393245930,"HaxDYizwl":-7370627654724259756,"HmuNDYLtA":5870705407091769424,"LyGraSC":-1199313246306870009,"LyHHPTM":-8097771134945632756,"SbavTr":6845077675223300441,"ccKL":-1259415050251760261,"otMs":-1569593457745149553,"raDNcofVMw":-4275603467933871688},"stringDateField":"1921-05-29","stringDateTimeField":"1958-03-26T11:42:13Z","stringField":"Lrsk","stringTimeField":"15:12:52.25Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":200,"numField":911.5123724862935,"stringDateField":"1921-05-29","stringDateTimeField":"1958-03-26T11:42:13Z","stringField":"Lrsk","stringTimeField":"15:12:52.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":183,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":183,"uuid":"9de3e3f4-5655-11ee-a001-675ed0f8e89b"},"arrayField":["RtXy","wwRUO"],"boolField":false,"intField":626,"numField":-755.2891606855677,"objField":{"CqkSH":3836633399824085307,"KpAwxvjVqn":884210105283715488,"MrCEr":-4998401038333109745,"PvxkAvAjiE":-5155104253525326791,"daMDJxS":3914942581799577440,"nbafxsbSb":3856541582339056782,"sQQn":-9212132132569951960,"uUcc":5451308529038772369,"xsNE":7671888958007165717},"stringDateField":"1916-02-16","stringDateTimeField":"1958-03-05T02:31:53Z","stringField":"bLNHrHvO","stringTimeField":"04:38:08.10Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":626,"numField":-755.2891606855677,"stringDateField":"1916-02-16","stringDateTimeField":"1958-03-05T02:31:53Z","stringField":"bLNHrHvO","stringTimeField":"04:38:08.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":184,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":184,"uuid":"9de3e3f4-5655-11ee-a401-675ed0f8e89b"},"arrayField":["csewikYdm"],"boolField":true,"intField":-772,"numField":922.7939179990768,"objField":{"FdjZ":8443708548736370089,"IxvUayjhp":-6944864532031094072,"REGK":359221732139069590,"VEfhyz":5056055706505232488,"WGuRqL":-2121132577728622638,"aVtSMZN":-8497162932987118988,"biqgcbI":-8263823910614754624,"cOHL":-1362317073752909206,"cwIuNfuFMF":7519844837833396096,"zlkzKzPap":4221661959720163914},"stringDateField":"1917-09-23","stringDateTimeField":"1902-12-18T10:07:48Z","stringField":"mwlavbWUZ","stringTimeField":"19:26:17.23Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":-772,"numField":922.7939179990768,"stringDateField":"1917-09-23","stringDateTimeField":"1902-12-18T10:07:48Z","stringField":"mwlavbWUZ","stringTimeField":"19:26:17.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":185,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":185,"uuid":"9de3e3f4-5655-11ee-a801-675ed0f8e89b"},"arrayField":["CjgnWJbea","GUIuUc"],"boolField":true,"intField":689,"numField":818.6580747250556,"objField":{"EaSVk":-2893918676451625025,"JcgpHI":7007859947948619103,"kgIchcqE":-1587123518855836854},"stringDateField":"1908-10-02","stringDateTimeField":"1934-03-19T09:01:19Z","stringField":"RuwKbu","stringTimeField":"12:45:02.23Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":689,"numField":818.6580747250556,"stringDateField":"1908-10-02","stringDateTimeField":"1934-03-19T09:01:19Z","stringField":"RuwKbu","stringTimeField":"12:45:02.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":186,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":186,"uuid":"9de3e3f4-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["Lnzs","MnkNzNdELB","efYm","HfkcWobcq","fRmkeFakk","IXrVyYRV"],"boolField":false,"intField":975,"numField":-261.42300753657213,"objField":{"JDYGDAqc":4951253236084778105,"yfief":-8322761957364476440},"stringDateField":"1915-12-16","stringDateTimeField":"1967-11-29T23:50:19Z","stringField":"boblR","stringTimeField":"10:21:55.35Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":975,"numField":-261.42300753657213,"stringDateField":"1915-12-16","stringDateTimeField":"1967-11-29T23:50:19Z","stringField":"boblR","stringTimeField":"10:21:55.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":187,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":187,"uuid":"9de3e3f4-5655-11ee-b001-675ed0f8e89b"},"arrayField":["PIHKJt","mnINTG","SHkFgYqY"],"boolField":true,"intField":241,"numField":752.9868408242423,"objField":{"CxOUYvJ":-522019205084669908,"IYNJfG":3171791321191849081,"QQOFTZ":-7318311006573856618,"RzgOIp":-6249967467998193426,"WAAFAX":-4495234363407782059},"stringDateField":"1906-07-21","stringDateTimeField":"1936-06-02T20:46:00Z","stringField":"bHUr","stringTimeField":"11:28:20.33Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":241,"numField":752.9868408242423,"stringDateField":"1906-07-21","stringDateTimeField":"1936-06-02T20:46:00Z","stringField":"bHUr","stringTimeField":"11:28:20.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":188,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":188,"uuid":"9de3e3f4-5655-11ee-b401-675ed0f8e89b"},"arrayField":["VbziPfWKrN","rkUmrA","TemwJ","XzMYoXPd","hsziWTYR","jroZIj","xPXGw","fSDR","qupzeGcGN"],"boolField":true,"intField":-191,"numField":805.5794068032875,"objField":{"FrMIFXG":-6473745801941977140,"qxJMuXpRmm":3754592365566307879},"stringDateField":"1962-09-05","stringDateTimeField":"1990-08-26T12:50:58Z","stringField":"uQPN","stringTimeField":"02:28:59.50Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":-191,"numField":805.5794068032875,"stringDateField":"1962-09-05","stringDateTimeField":"1990-08-26T12:50:58Z","stringField":"uQPN","stringTimeField":"02:28:59.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":189,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":189,"uuid":"9de3e3f4-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ZwkdZOVZn","kDkhoWpLr","VGJAbwH","IUso","pbCNOcoQyL","rrnQTyIKT","GxEkwQPHL","cpSbCydO","tHCjsy"],"boolField":true,"intField":287,"numField":977.7362500333502,"objField":{"KHXrJgy":-5097362959744853185,"QorfELgOe":-5111774393618710290,"TyKKMuwI":6149043218535103950,"bGfHuLcm":5000182058755693544,"datrKKrZ":2863537761187582983,"eVOCG":8180946319296256156,"ondXGu":-2863578764057435616,"ubuTqWe":4590952668629206039},"stringDateField":"2007-08-31","stringDateTimeField":"1986-02-16T23:43:33Z","stringField":"rgTxkzmGHw","stringTimeField":"08:21:43.12Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":287,"numField":977.7362500333502,"stringDateField":"2007-08-31","stringDateTimeField":"1986-02-16T23:43:33Z","stringField":"rgTxkzmGHw","stringTimeField":"08:21:43.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":190,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":190,"uuid":"9de3e3f4-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["xgQZIMNDMC","ieWCinbA","eEJyjcV"],"boolField":true,"intField":-589,"numField":927.5642160984994,"objField":{"HfFQp":-3728568226842636930,"QhYLFbN":-1054294614799805052,"UJqAPukd":-3040398579400903929,"Vxeuyq":-1220314244139893138,"jinpg":-1599155518279034762,"oAeNmk":8756157908930402170,"vFkb":-9022448115800461601,"yseMU":-2284293658419768342},"stringDateField":"1953-02-15","stringDateTimeField":"1972-01-18T05:58:12Z","stringField":"YCqCDR","stringTimeField":"07:04:17.41Z"},"flow_published_at":"2023-09-18T19:00:21.62309Z","intField":-589,"numField":927.5642160984994,"stringDateField":"1953-02-15","stringDateTimeField":"1972-01-18T05:58:12Z","stringField":"YCqCDR","stringTimeField":"07:04:17.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":191,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":191,"uuid":"9de3e3f5-5655-11ee-8001-675ed0f8e89b"},"arrayField":["TRkAPDFsn","OWTjHrO","XrKezcbC","MJTc"],"boolField":false,"intField":532,"numField":-208.11631005775365,"objField":{"JKtu":8967513418062423422,"ZxyWG":-7752855277035586946,"gQLKxIRDof":4354949265264626767,"hoZioXHUD":-7444329580351574172,"moJh":6353910686244650738},"stringDateField":"1950-05-05","stringDateTimeField":"1913-10-23T22:38:10Z","stringField":"FoYnW","stringTimeField":"12:29:10.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":532,"numField":-208.11631005775365,"stringDateField":"1950-05-05","stringDateTimeField":"1913-10-23T22:38:10Z","stringField":"FoYnW","stringTimeField":"12:29:10.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":192,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":192,"uuid":"9de3e3f5-5655-11ee-8401-675ed0f8e89b"},"arrayField":["nmAzAMP","VFVQwdUs","iPfDPd","rGwIk","kyeiyNPI"],"boolField":true,"intField":-621,"numField":-93.36178554037488,"objField":{"FaBOCUZw":-660639145860381023,"UZbF":-127666580096710796,"hwMulYfF":5148852466914639146,"nLLInWPdFR":-8366546906199546520,"phjccUzv":8151044561295516660,"tmVID":-7298534037046703851,"wRgdozwH":9092847157617821571,"wiSsjYu":-3915953456477455255},"stringDateField":"1951-05-19","stringDateTimeField":"2000-07-26T00:18:05Z","stringField":"LYMMrAXqhd","stringTimeField":"02:47:26.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":-621,"numField":-93.36178554037488,"stringDateField":"1951-05-19","stringDateTimeField":"2000-07-26T00:18:05Z","stringField":"LYMMrAXqhd","stringTimeField":"02:47:26.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":193,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":193,"uuid":"9de3e3f5-5655-11ee-8801-675ed0f8e89b"},"arrayField":["OyFQfkoW","IIZehB","EGkGY","wpOyyEqmi"],"boolField":true,"intField":-276,"numField":997.201627573128,"objField":{"AMsQcgX":7053654694524280966,"UGMs":-2556044477608206683,"UjCmsKqgjY":-88241403772927597,"XnSjAXFI":-8929012822956753495,"pIPsdqCeA":-7308083277366490967,"wFlUbIC":8340270717354663055},"stringDateField":"1948-02-18","stringDateTimeField":"1931-03-06T04:43:28Z","stringField":"yGckHhMIr","stringTimeField":"23:10:33.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":-276,"numField":997.201627573128,"stringDateField":"1948-02-18","stringDateTimeField":"1931-03-06T04:43:28Z","stringField":"yGckHhMIr","stringTimeField":"23:10:33.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":194,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":194,"uuid":"9de3e3f5-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["sZZjmpd"],"boolField":true,"intField":839,"numField":-523.1510622308746,"objField":{"hfkG":5858073501934185660,"pxwcMqBdZ":-2565062862805455496},"stringDateField":"1930-04-18","stringDateTimeField":"1914-11-11T00:59:19Z","stringField":"yromujqqa","stringTimeField":"14:28:49.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":839,"numField":-523.1510622308746,"stringDateField":"1930-04-18","stringDateTimeField":"1914-11-11T00:59:19Z","stringField":"yromujqqa","stringTimeField":"14:28:49.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":195,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":195,"uuid":"9de3e3f5-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ALNch","jUWplRWqTB","cFnaYu","KXVxs","lzmLVYm"],"boolField":true,"intField":-404,"numField":-593.3993939685644,"objField":{"IkddZJf":-7683844241856376464,"QqEMazaqmq":-6086303553277263352,"tOVYy":8435558647497805826},"stringDateField":"2006-08-25","stringDateTimeField":"1946-03-26T22:19:58Z","stringField":"VvCAkfYBVN","stringTimeField":"03:19:47.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":-404,"numField":-593.3993939685644,"stringDateField":"2006-08-25","stringDateTimeField":"1946-03-26T22:19:58Z","stringField":"VvCAkfYBVN","stringTimeField":"03:19:47.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":196,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":196,"uuid":"9de3e3f5-5655-11ee-9401-675ed0f8e89b"},"arrayField":["aqzz","wuMa"],"boolField":true,"intField":-453,"numField":151.0265189285713,"objField":{"IbBL":9161588524953435051,"LLkr":7015551490459508721,"qDOwAoCJ":-1366507370791587485,"twKrsduDeL":2402005095564432405},"stringDateField":"1906-03-16","stringDateTimeField":"1901-04-21T00:33:55Z","stringField":"qABT","stringTimeField":"00:29:15.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":-453,"numField":151.0265189285713,"stringDateField":"1906-03-16","stringDateTimeField":"1901-04-21T00:33:55Z","stringField":"qABT","stringTimeField":"00:29:15.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":197,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":197,"uuid":"9de3e3f5-5655-11ee-9801-675ed0f8e89b"},"arrayField":["PVGBdmL","AzonEK","fByD"],"boolField":true,"intField":20,"numField":-491.7300787508174,"objField":{"RlKewsCC":-495357245293021903,"TdCibprqRi":7505254621645420566,"kZIRnnC":-8521882894022602938,"lecgzoX":-8528113786742638263,"mZOx":-8423789421099630089,"sSKoCtbk":9149667906665646506},"stringDateField":"1901-06-02","stringDateTimeField":"1953-01-10T20:02:41Z","stringField":"jZRAGH","stringTimeField":"03:42:43.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":20,"numField":-491.7300787508174,"stringDateField":"1901-06-02","stringDateTimeField":"1953-01-10T20:02:41Z","stringField":"jZRAGH","stringTimeField":"03:42:43.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":198,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":198,"uuid":"9de3e3f5-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ehQDmsXP","xhtsHXu"],"boolField":false,"intField":617,"numField":526.2281554795198,"objField":{"JncEoaAgHg":-4948823937795916516,"PmSccz":-4101676948179532227,"cLtSYHkzQ":-3842176450359965716,"eXdclD":-4971997292712835648,"inOsIIYj":-1883463455764953432},"stringDateField":"1996-08-23","stringDateTimeField":"1934-09-30T10:07:35Z","stringField":"JOjucwhAA","stringTimeField":"06:28:58.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":617,"numField":526.2281554795198,"stringDateField":"1996-08-23","stringDateTimeField":"1934-09-30T10:07:35Z","stringField":"JOjucwhAA","stringTimeField":"06:28:58.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":199,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":199,"uuid":"9de3e3f5-5655-11ee-a001-675ed0f8e89b"},"arrayField":["lcEX","PYyNrwsOyn","JwGAx","yiMnSdvAa","LQIf","GPdbtc","dCRy"],"boolField":true,"intField":56,"numField":-752.4610148148579,"objField":{"HhbbWUoAnB":6056789372494862717,"LEHeU":7642990063861373472,"NectyqM":-4043136545286222917,"VGdk":2926808732364001502,"ifJvkAiXh":6016964204119702314,"mxdF":297425367626538298,"qOBUuEmeN":-519030233405098726,"uXOD":6369461970976083994},"stringDateField":"1919-05-18","stringDateTimeField":"1941-01-15T15:44:43Z","stringField":"pCeBDz","stringTimeField":"07:53:30.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":56,"numField":-752.4610148148579,"stringDateField":"1919-05-18","stringDateTimeField":"1941-01-15T15:44:43Z","stringField":"pCeBDz","stringTimeField":"07:53:30.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":200,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":200,"uuid":"9de3e3f5-5655-11ee-a401-675ed0f8e89b"},"arrayField":["CnzKqN","PMllXJukqI","YsNM","kSbVFl","AbxgVq","glzHzZfPmj"],"boolField":true,"intField":208,"numField":792.864786066074,"objField":{"CqhCKOscqn":-6156169121835298063,"PZdegR":-1874867254208154670,"RoaUib":7475170882693885330,"RvTIOxU":3706822735901914641,"WKmsWFzHy":-1465117298695538869,"pUPq":1804145964137947388,"vKGFIRl":263112772838711808,"xMgHlMDhi":7900427651906223309,"xkOH":4830209361969374759},"stringDateField":"1915-10-18","stringDateTimeField":"1913-12-05T04:02:21Z","stringField":"mPblbLEQtp","stringTimeField":"09:14:19.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":208,"numField":792.864786066074,"stringDateField":"1915-10-18","stringDateTimeField":"1913-12-05T04:02:21Z","stringField":"mPblbLEQtp","stringTimeField":"09:14:19.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":201,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":201,"uuid":"9de3e3f5-5655-11ee-a801-675ed0f8e89b"},"arrayField":["IVJPw","LgoAoL"],"boolField":false,"intField":-428,"numField":27.446766891428886,"objField":{"IDlbjC":-6972876941935482368,"SfeL":-2240864293967722310,"qpTTWso":-3345006904204038606},"stringDateField":"2013-01-12","stringDateTimeField":"1906-05-04T00:00:36Z","stringField":"avmK","stringTimeField":"00:24:27.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":-428,"numField":27.446766891428886,"stringDateField":"2013-01-12","stringDateTimeField":"1906-05-04T00:00:36Z","stringField":"avmK","stringTimeField":"00:24:27.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":202,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":202,"uuid":"9de3e3f5-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["zvoDxTG","GlIwQNFh","ebjSQCCj","XaSCc","PMOky","mzZLziW","hHDAiHfd","HGvNbVuBs","lpiK"],"boolField":true,"intField":-489,"numField":915.5808302103854,"objField":{"PsGmXJDYVf":9206328272663429609,"QzyDm":1529983272219868187,"YaeGsmBSwE":3003706332806848396,"ZjJYrm":6776396750546711796,"hSoyh":-9023559581597919623},"stringDateField":"1996-08-16","stringDateTimeField":"1988-11-02T15:19:23Z","stringField":"jwHdF","stringTimeField":"03:04:31.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":-489,"numField":915.5808302103854,"stringDateField":"1996-08-16","stringDateTimeField":"1988-11-02T15:19:23Z","stringField":"jwHdF","stringTimeField":"03:04:31.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":203,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":203,"uuid":"9de3e3f5-5655-11ee-b001-675ed0f8e89b"},"arrayField":["sVmDI","OEJqAC"],"boolField":true,"intField":198,"numField":958.849128332338,"objField":{"JfoN":3573555443832453275,"XcagHWz":-6559499944563004719,"YcmFFAk":2723163322604136414,"gwgCJ":6620256936722698657,"twGqtJ":4546667329964231587},"stringDateField":"1997-11-05","stringDateTimeField":"2017-12-01T20:07:37Z","stringField":"LEEgIeuzfB","stringTimeField":"19:34:04.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":198,"numField":958.849128332338,"stringDateField":"1997-11-05","stringDateTimeField":"2017-12-01T20:07:37Z","stringField":"LEEgIeuzfB","stringTimeField":"19:34:04.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":204,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":204,"uuid":"9de3e3f5-5655-11ee-b401-675ed0f8e89b"},"arrayField":["IHYlPwQF","yTWrjw","iTRNWjSE","nkSXvZomMW"],"boolField":true,"intField":-167,"numField":103.95489414846648,"objField":{"DDBVGyB":6391792215050063045,"MvmpNRT":387515988167481660,"eiiA":-8132838802039637351,"sQCSDkdYB":8441833094630534608,"vbooxS":-4143470009773152280,"yYKObgcB":-3676980630249276439},"stringDateField":"2023-12-19","stringDateTimeField":"2001-10-12T23:52:51Z","stringField":"rcuPKTh","stringTimeField":"02:24:57.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":-167,"numField":103.95489414846648,"stringDateField":"2023-12-19","stringDateTimeField":"2001-10-12T23:52:51Z","stringField":"rcuPKTh","stringTimeField":"02:24:57.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":205,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":205,"uuid":"9de3e3f5-5655-11ee-b801-675ed0f8e89b"},"arrayField":["MpdtA","anyQnlxCWM"],"boolField":true,"intField":343,"numField":-786.9530174813531,"objField":{"UoafNA":317688360533889740},"stringDateField":"1986-10-18","stringDateTimeField":"1989-08-01T14:30:39Z","stringField":"dVCyuqwvXX","stringTimeField":"12:56:55.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":343,"numField":-786.9530174813531,"stringDateField":"1986-10-18","stringDateTimeField":"1989-08-01T14:30:39Z","stringField":"dVCyuqwvXX","stringTimeField":"12:56:55.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":206,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":206,"uuid":"9de3e3f5-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["mHteM","JhjykV"],"boolField":false,"intField":424,"numField":72.1205787750332,"objField":{"ORzv":3896224260142918486,"XxgjYVFuG":-4716031830470462975,"awdw":4788288919395487337,"ivurNhfmHa":2922075212446585675,"xNPXtlH":6754402168022313043},"stringDateField":"1968-02-16","stringDateTimeField":"1978-01-20T02:06:06Z","stringField":"ZEPlWDxl","stringTimeField":"19:29:03.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230901Z","intField":424,"numField":72.1205787750332,"stringDateField":"1968-02-16","stringDateTimeField":"1978-01-20T02:06:06Z","stringField":"ZEPlWDxl","stringTimeField":"19:29:03.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":207,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":207,"uuid":"9de3e3f6-5655-11ee-8001-675ed0f8e89b"},"arrayField":["NNOEUfS","HYZohk","myCQVIpaAh","GqXSZX","oWuGTG","nigXzwKB"],"boolField":false,"intField":-711,"numField":-429.1744011548103,"objField":{"IeqrHyjuU":-1516747446610039930,"VgJWTtY":-8564076845997126172,"YcLu":-464090794244407335,"dmrWEf":-2116398187702513583,"gGHBT":2577366133450137614,"nHdDiiJG":1961779532560189437,"qLoMvmZEL":6460533339905100895,"terF":4735847829503443896},"stringDateField":"1934-04-06","stringDateTimeField":"1983-09-01T21:52:40Z","stringField":"HqrKdn","stringTimeField":"01:25:02.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":-711,"numField":-429.1744011548103,"stringDateField":"1934-04-06","stringDateTimeField":"1983-09-01T21:52:40Z","stringField":"HqrKdn","stringTimeField":"01:25:02.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":208,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":208,"uuid":"9de3e3f6-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ljOqRtfqqO","MBXSOvVawL","oHQEpKRO"],"boolField":true,"intField":503,"numField":-960.184691886312,"objField":{"URDPWkQij":8958154173167824971,"iiEN":647773279645410421,"tktAmjR":-685157266608537784},"stringDateField":"1959-05-23","stringDateTimeField":"1992-02-24T12:27:25Z","stringField":"NPrrAOp","stringTimeField":"09:24:51.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":503,"numField":-960.184691886312,"stringDateField":"1959-05-23","stringDateTimeField":"1992-02-24T12:27:25Z","stringField":"NPrrAOp","stringTimeField":"09:24:51.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":209,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":209,"uuid":"9de3e3f6-5655-11ee-8801-675ed0f8e89b"},"arrayField":["zfTCkQ","avdK","iJVaQiI"],"boolField":false,"intField":752,"numField":-370.88512817084097,"objField":{"CDrCH":-4086929773312371498,"SicOaBH":-4945269297904793830,"Uzkltl":5993515274463077838,"XIxgaL":-588542638996987729},"stringDateField":"1984-10-14","stringDateTimeField":"1929-11-10T23:37:18Z","stringField":"JCnyfrejw","stringTimeField":"14:03:14.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":752,"numField":-370.88512817084097,"stringDateField":"1984-10-14","stringDateTimeField":"1929-11-10T23:37:18Z","stringField":"JCnyfrejw","stringTimeField":"14:03:14.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":210,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":210,"uuid":"9de3e3f6-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KqxoqbvuO","edrAZzNcU","rMwCwUDbf"],"boolField":true,"intField":-598,"numField":951.3658741655042,"objField":{"MZclhU":1132146435416671285,"dCQeYrSQ":-4649080702900165642,"omjULj":1040454477407709624,"zTCwlLYd":-8815135259224274884},"stringDateField":"2009-12-27","stringDateTimeField":"2013-12-04T08:19:44Z","stringField":"gYiXBGcYlI","stringTimeField":"02:47:50.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":-598,"numField":951.3658741655042,"stringDateField":"2009-12-27","stringDateTimeField":"2013-12-04T08:19:44Z","stringField":"gYiXBGcYlI","stringTimeField":"02:47:50.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":211,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":211,"uuid":"9de3e3f6-5655-11ee-9001-675ed0f8e89b"},"arrayField":["FdOxoR","mSYPxNai","ubQMAoY","tzKMKWe","rMDA","GZuszrdC","AhtjKcJdUm","nuqROlbBdx","tKIcmWBTfP","SvWcHTD"],"boolField":false,"intField":216,"numField":78.90108982152722,"objField":{"AklmChbWWc":-8431404749359907309,"BCimIUY":-759576250870827007,"BWXUxNFHb":1013562311808270096,"MHCIDoclC":3456881102935991164,"NbNs":-5268216243216640052,"VRAlA":1006031624133041519,"eVTPhAFCXC":8165010720352081066,"hvSZA":3453507944095179809,"lSsRZc":7127043076111780687},"stringDateField":"1945-02-09","stringDateTimeField":"1907-08-23T08:52:33Z","stringField":"ZUGIMP","stringTimeField":"08:16:08.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":216,"numField":78.90108982152722,"stringDateField":"1945-02-09","stringDateTimeField":"1907-08-23T08:52:33Z","stringField":"ZUGIMP","stringTimeField":"08:16:08.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":212,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":212,"uuid":"9de3e3f6-5655-11ee-9401-675ed0f8e89b"},"arrayField":["wmmdJDoOD","FSxItrdz","pnKK","NlIDBv","ueSGO","kfqlq","EpqkXyE","pQsIhVLn"],"boolField":true,"intField":-863,"numField":826.5408948938598,"objField":{"AvNtfJZ":9205336830887082772,"DQgjGhgIHX":2726114163592462772},"stringDateField":"2006-05-29","stringDateTimeField":"2002-03-20T22:52:15Z","stringField":"UwaleiD","stringTimeField":"03:40:18.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":-863,"numField":826.5408948938598,"stringDateField":"2006-05-29","stringDateTimeField":"2002-03-20T22:52:15Z","stringField":"UwaleiD","stringTimeField":"03:40:18.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":213,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":213,"uuid":"9de3e3f6-5655-11ee-9801-675ed0f8e89b"},"arrayField":["hCEftbt","UvCpb","tZzpcAem"],"boolField":true,"intField":908,"numField":544.7032189813909,"objField":{"mTPfSTjJ":6346550465678915425},"stringDateField":"2004-02-14","stringDateTimeField":"1944-02-20T21:49:00Z","stringField":"AnDEjH","stringTimeField":"08:00:20.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":908,"numField":544.7032189813909,"stringDateField":"2004-02-14","stringDateTimeField":"1944-02-20T21:49:00Z","stringField":"AnDEjH","stringTimeField":"08:00:20.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":214,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":214,"uuid":"9de3e3f6-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["mvomM","XIlD","ZCUWdxukKW","vKtB","UlcmEV","SlMsedI","TPaGZifV"],"boolField":false,"intField":-179,"numField":-242.086823895433,"objField":{"GrzOJbv":-1072885345973880004,"LcbzJvYjf":-3500941395325752944,"UHslPsd":-7693379970275090410,"cWWVgRjA":-2972048330928591316,"mypMzdbV":-3083709121722382547,"rzcDR":2692680505712459742},"stringDateField":"1987-01-28","stringDateTimeField":"1924-06-19T03:00:03Z","stringField":"RHfkSYZAM","stringTimeField":"05:41:51.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":-179,"numField":-242.086823895433,"stringDateField":"1987-01-28","stringDateTimeField":"1924-06-19T03:00:03Z","stringField":"RHfkSYZAM","stringTimeField":"05:41:51.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":215,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":215,"uuid":"9de3e3f6-5655-11ee-a001-675ed0f8e89b"},"arrayField":["SCxJVNEhlu","buEQzCE","eyFv","mpCbzOvJ","wOym","ATfyzUQhd"],"boolField":true,"intField":175,"numField":171.67003177349426,"objField":{"HjgnSeYtF":-7407538798978273149,"OEwBQ":5688146238325808538,"PaqNaAxohS":-8368520187199910391,"SncrJRs":6491022771098258519,"VwVY":-7092022956397355773,"lCzEGkYKuC":313686630733916925,"quAZFizUAG":-4611439844021117413,"sftzZ":-3102163078708708002},"stringDateField":"2008-06-07","stringDateTimeField":"1979-08-22T13:26:42Z","stringField":"CKhjAXa","stringTimeField":"21:21:59.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":175,"numField":171.67003177349426,"stringDateField":"2008-06-07","stringDateTimeField":"1979-08-22T13:26:42Z","stringField":"CKhjAXa","stringTimeField":"21:21:59.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":216,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":216,"uuid":"9de3e3f6-5655-11ee-a401-675ed0f8e89b"},"arrayField":["PsUkeJt","pOhVA","LjWK","OIDlGCsIy","QrfORLI"],"boolField":true,"intField":685,"numField":-6.92979480675715,"objField":{"CRtKM":-7471540939176038381,"LkmPMCQd":-3031870612419984598,"Uhlz":4666062661285207185,"UxCFln":-299624468433287966,"farc":3065378669034342004,"lQJWU":7412954361968451647,"rjsS":2577535681521908036,"sCIY":-3448443074333927135,"tjjOeKFP":7157268712472303166},"stringDateField":"1907-08-06","stringDateTimeField":"1994-04-27T01:11:10Z","stringField":"fxmKuvv","stringTimeField":"16:12:59.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":685,"numField":-6.92979480675715,"stringDateField":"1907-08-06","stringDateTimeField":"1994-04-27T01:11:10Z","stringField":"fxmKuvv","stringTimeField":"16:12:59.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":217,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":217,"uuid":"9de3e3f6-5655-11ee-a801-675ed0f8e89b"},"arrayField":["mXpiMSUYJX","Cjhox"],"boolField":true,"intField":186,"numField":5.603637576488518,"objField":{"FZmEBs":2688403612667530224,"JnWhqB":-946145037610532759,"OQaSiqk":-6645321471837639817,"aOtclx":1631230237569227436,"dUPWtSq":4450468573963149280,"gJUig":-7157612288320053732,"qJYCV":-4191391292849340422,"qSqn":5333017435234718441,"xfkUUGrw":7026588937315453333},"stringDateField":"1952-09-14","stringDateTimeField":"1949-02-21T00:19:59Z","stringField":"mxtdkGpc","stringTimeField":"09:16:53.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":186,"numField":5.603637576488518,"stringDateField":"1952-09-14","stringDateTimeField":"1949-02-21T00:19:59Z","stringField":"mxtdkGpc","stringTimeField":"09:16:53.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":218,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":218,"uuid":"9de3e3f6-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ujbxYg","HvsMp","QSRPQ"],"boolField":false,"intField":-364,"numField":956.128108686704,"objField":{"CqiYTR":6564901429887967234,"UHDMapmkNQ":2867217277825838934,"VRecESqxb":-390751063794716556,"VtWmHC":1030408011919445719,"bHUNMbHRur":4817122705472069097,"chkbh":-2183189537076731251,"hooKY":8371647832457811050,"iEHGTVe":891089682643970064,"zCjylVZixS":1116602779482555422},"stringDateField":"1993-05-10","stringDateTimeField":"1969-08-01T02:44:15Z","stringField":"BJeDPlSOw","stringTimeField":"06:09:37.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":-364,"numField":956.128108686704,"stringDateField":"1993-05-10","stringDateTimeField":"1969-08-01T02:44:15Z","stringField":"BJeDPlSOw","stringTimeField":"06:09:37.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":219,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":219,"uuid":"9de3e3f6-5655-11ee-b001-675ed0f8e89b"},"arrayField":["hCZFAW","zBjVw","ocMcicRDal","YlCpD","pLAP"],"boolField":false,"intField":455,"numField":-77.38550583671078,"objField":{"iBYwh":5009535307928007924},"stringDateField":"1968-04-23","stringDateTimeField":"1927-10-31T14:47:37Z","stringField":"qejvMHqWPM","stringTimeField":"11:37:15.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":455,"numField":-77.38550583671078,"stringDateField":"1968-04-23","stringDateTimeField":"1927-10-31T14:47:37Z","stringField":"qejvMHqWPM","stringTimeField":"11:37:15.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":220,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":220,"uuid":"9de3e3f6-5655-11ee-b401-675ed0f8e89b"},"arrayField":["MlvDCc","Bast","QVPKWXT","wgddZCFs","bxKCuOjkEr","RpZw","RpqpFBOKon","KQqgeK","wPlq","SvyBtVzv"],"boolField":false,"intField":674,"numField":979.811247093183,"objField":{"JSAZDLCJJP":2136043492836519969,"KOBufacGw":1053643461547548138,"MYHxT":-6781609537419188750,"RJipNVqwJN":834178827292257582,"XESRURNQp":5105372573132429025,"XaZsU":-8194866191631788900,"iXndOOYN":-1041425095371935354,"itotVHXv":8397559286772859378,"pqFCrd":138837991193797568,"watlcPQuLE":6555948912310158867},"stringDateField":"1975-10-25","stringDateTimeField":"1994-05-03T09:48:23Z","stringField":"fqQNcY","stringTimeField":"13:16:42.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":674,"numField":979.811247093183,"stringDateField":"1975-10-25","stringDateTimeField":"1994-05-03T09:48:23Z","stringField":"fqQNcY","stringTimeField":"13:16:42.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":221,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":221,"uuid":"9de3e3f6-5655-11ee-b801-675ed0f8e89b"},"arrayField":["YWXSjgSr","yJyKCKBGk","lKkuWVS","ODhGRwLRU"],"boolField":true,"intField":-27,"numField":451.5083651332246,"objField":{"JiJjhF":-411170276986524187,"MBqezkApNv":-8018855334280977229,"QIfhbo":-4690391070116413484,"eSyNEUJXsB":-7284441990154464764,"jBrXClFA":7816672408869184534,"lvLSuwK":-8121894185786631441,"oCpuK":3350980452556804703,"xEoata":-2920029278509108165,"yyTY":-9051109417405871697},"stringDateField":"1917-02-25","stringDateTimeField":"1928-09-22T12:09:29Z","stringField":"fiqTLxe","stringTimeField":"10:50:23.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":-27,"numField":451.5083651332246,"stringDateField":"1917-02-25","stringDateTimeField":"1928-09-22T12:09:29Z","stringField":"fiqTLxe","stringTimeField":"10:50:23.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":222,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":222,"uuid":"9de3e3f6-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["pTPSMjtwOs","JdihJg","mzAPI","ljlCw","rLRM","vJhXApmU"],"boolField":false,"intField":-398,"numField":-90.73442512343532,"objField":{"shNUItbEb":-6804494691960769346},"stringDateField":"1993-10-24","stringDateTimeField":"1933-05-28T03:35:53Z","stringField":"guKEXISkkj","stringTimeField":"21:52:03.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230902Z","intField":-398,"numField":-90.73442512343532,"stringDateField":"1993-10-24","stringDateTimeField":"1933-05-28T03:35:53Z","stringField":"guKEXISkkj","stringTimeField":"21:52:03.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":223,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":223,"uuid":"9de3e3f7-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wRyQz","YmmVYKg","OuFij","zWMKknKRf","IFxR","kYcJxkUU","SfcLShDDSy"],"boolField":false,"intField":-812,"numField":-886.3923661371343,"objField":{"GoDkCqxL":5732791218259039166,"MnyqBFSx":4188167860344613731,"TFadrsypy":1910232630077361799,"YBPzw":-7842551685446614352,"cjJr":1256397653143429049,"fXsM":6976635810705852854,"lqDai":-3864587819575805721,"nHmVm":-2797438752402641776,"phxp":-1769458750083724976,"qhqibjzNx":2839818573196465441},"stringDateField":"2002-08-19","stringDateTimeField":"1958-04-29T04:14:05Z","stringField":"gytGOjDVBD","stringTimeField":"05:05:25.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":-812,"numField":-886.3923661371343,"stringDateField":"2002-08-19","stringDateTimeField":"1958-04-29T04:14:05Z","stringField":"gytGOjDVBD","stringTimeField":"05:05:25.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":224,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":224,"uuid":"9de3e3f7-5655-11ee-8401-675ed0f8e89b"},"arrayField":["gzKYNnjlSi","zGemAwY","RWZlIsEYMV","KHYXGJsPo","VBioU","aimtqAE","RkDNrU","ndmKyn"],"boolField":true,"intField":-812,"numField":-252.7079491279266,"objField":{"FvMrzJVUz":2207695507809268450,"QHEIdOGfaE":-732181315867901099,"UOOZPDVAkI":7207878320984478631,"lPZuIzRQWX":-4569055325646704577,"miyLE":2133039365395300741,"oQtdAwMum":5575110655684855003,"qnWOoXV":3494628501736206398,"rdaBtYG":8989154289072969178,"rjQWJVKU":-7183845310572727347,"xHnXBEW":2497213082048019982},"stringDateField":"1998-07-17","stringDateTimeField":"1973-04-20T02:12:18Z","stringField":"ABDQsvT","stringTimeField":"10:30:08.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":-812,"numField":-252.7079491279266,"stringDateField":"1998-07-17","stringDateTimeField":"1973-04-20T02:12:18Z","stringField":"ABDQsvT","stringTimeField":"10:30:08.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":225,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":225,"uuid":"9de3e3f7-5655-11ee-8801-675ed0f8e89b"},"arrayField":["LOHT","NvExzv","KJJFrDm","xadMXLGVB","JIwbpRDd"],"boolField":true,"intField":671,"numField":643.6486534096489,"objField":{"FHpUPWubUG":-4154699744496050335,"OyDudG":-1958536697264169448,"RXGkqQi":7472311028006558188,"SUsS":7708867548935021262,"pchZMQWv":3851786782190239068,"vgMgsWc":-7573559963300988790},"stringDateField":"1992-01-24","stringDateTimeField":"2013-07-10T04:24:56Z","stringField":"tBlxQV","stringTimeField":"06:23:03.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":671,"numField":643.6486534096489,"stringDateField":"1992-01-24","stringDateTimeField":"2013-07-10T04:24:56Z","stringField":"tBlxQV","stringTimeField":"06:23:03.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":226,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":226,"uuid":"9de3e3f7-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["BGzbhslxG","nnehHWDXD","TVzuyM","gjUvOu","uWyQWpSoL","TuvDArc","PQDRfn","HguGYbudP","JXOug","gyGnh"],"boolField":true,"intField":-509,"numField":738.0182943354619,"objField":{"ADuPpGg":6103758148027328793,"QMgG":3354663370422149679,"RfwbZSMlh":7430943945661065137,"SlOmJzXtGm":-3915529720043441876,"dNnHTmvIqQ":-599546424831361594,"mfLCDGQo":3846757496955262460,"orzOm":-342350339961141409,"rKMWheTiN":-8700523945390934079},"stringDateField":"1949-07-20","stringDateTimeField":"1937-07-24T09:16:00Z","stringField":"IISuGFyU","stringTimeField":"04:00:45.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":-509,"numField":738.0182943354619,"stringDateField":"1949-07-20","stringDateTimeField":"1937-07-24T09:16:00Z","stringField":"IISuGFyU","stringTimeField":"04:00:45.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":227,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":227,"uuid":"9de3e3f7-5655-11ee-9001-675ed0f8e89b"},"arrayField":["RNvq"],"boolField":true,"intField":-876,"numField":-675.438924438354,"objField":{"JZLWfNbbXz":1071042408301819399,"JsrQqtCL":-2286699029169651152,"Kfqv":3708301632304553564,"PoIAEnlBk":4935308079594125777,"RQez":-218594102319958715,"XsoyzyLmVI":3480737224275068174,"YZhqw":-7681868461697886806,"nxpCt":-2586164547056775170,"rbuYdSs":-3720889762343623839,"vruNIP":-4865789319546241095},"stringDateField":"1979-12-08","stringDateTimeField":"1931-09-25T16:55:06Z","stringField":"vcaLSBY","stringTimeField":"22:23:37.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":-876,"numField":-675.438924438354,"stringDateField":"1979-12-08","stringDateTimeField":"1931-09-25T16:55:06Z","stringField":"vcaLSBY","stringTimeField":"22:23:37.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":228,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":228,"uuid":"9de3e3f7-5655-11ee-9401-675ed0f8e89b"},"arrayField":["EUjBeIdCk","cRukajs","amOHkmJNAl","MUgeLuRXp"],"boolField":false,"intField":281,"numField":955.2731575701824,"objField":{"VLoxdCw":-5495541820811455470,"YbuqOOM":4046738737940539198,"eAActSpw":5632366423416739617,"gyUm":1562818327016916136,"jcYYbVkxOT":-7305799068553992512,"pWqaBngG":8028460474644107662,"qdBsOOtxMw":9042271252230467344,"qqTUb":-4623108444328526821,"wMLrqzgn":2217748687475513195,"wjYkd":-5552663092799037261},"stringDateField":"1996-03-19","stringDateTimeField":"1996-07-29T06:11:41Z","stringField":"YHZnH","stringTimeField":"10:23:38.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":281,"numField":955.2731575701824,"stringDateField":"1996-03-19","stringDateTimeField":"1996-07-29T06:11:41Z","stringField":"YHZnH","stringTimeField":"10:23:38.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":229,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":229,"uuid":"9de3e3f7-5655-11ee-9801-675ed0f8e89b"},"arrayField":["FCSzj","wVLefzVqd","ZqEPg","eejmGzz","ncCjohVVT","EWvhZoO"],"boolField":true,"intField":559,"numField":-215.49720038846257,"objField":{"NvpAuyZC":2402714334490221012},"stringDateField":"1914-09-09","stringDateTimeField":"1980-03-06T18:44:45Z","stringField":"TTXLSZAah","stringTimeField":"14:04:56.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":559,"numField":-215.49720038846257,"stringDateField":"1914-09-09","stringDateTimeField":"1980-03-06T18:44:45Z","stringField":"TTXLSZAah","stringTimeField":"14:04:56.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":230,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":230,"uuid":"9de3e3f7-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["rRosl"],"boolField":false,"intField":-332,"numField":253.10338227049556,"objField":{"GmjjvekvAl":-8915880741520467062,"PIjlG":3917499752915991864,"TgjYy":898146598028653204,"UWXnbgvRcv":-4589877216133727268,"xGVkYcvbiz":7735756895000328599,"xqVOhpbt":-5342138794893072075},"stringDateField":"2022-07-01","stringDateTimeField":"2005-12-07T18:37:39Z","stringField":"gLzAr","stringTimeField":"02:55:41.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":-332,"numField":253.10338227049556,"stringDateField":"2022-07-01","stringDateTimeField":"2005-12-07T18:37:39Z","stringField":"gLzAr","stringTimeField":"02:55:41.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":231,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":231,"uuid":"9de3e3f7-5655-11ee-a001-675ed0f8e89b"},"arrayField":["KKMdaiU","hNvq","urnEh","bnSwDrVGt","wXTbfqkXU"],"boolField":true,"intField":761,"numField":-209.09088055573756,"objField":{"BccZ":5119631369113379542,"EbpGnHanQ":-3414223057077276260,"GUJD":-8515297534184876833},"stringDateField":"1974-12-13","stringDateTimeField":"1991-10-07T15:54:47Z","stringField":"ZTJseuEM","stringTimeField":"08:14:52.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":761,"numField":-209.09088055573756,"stringDateField":"1974-12-13","stringDateTimeField":"1991-10-07T15:54:47Z","stringField":"ZTJseuEM","stringTimeField":"08:14:52.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":232,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":232,"uuid":"9de3e3f7-5655-11ee-a401-675ed0f8e89b"},"arrayField":["UlvsG","fhhqinTyH","gUSGgmHnc","iCVkdP","EQRsThsNku","NtFzYk"],"boolField":true,"intField":-229,"numField":929.6277117877534,"objField":{"MGnJZuHxyr":5199754374121581538,"PkcblR":4118713519937473313,"QVtE":1359640887126440283,"WoLe":-7061241551815008001,"fnsvK":5569462111815563646,"kbypqYj":6324682853231642403,"rLujeuXx":-7686491496026095500},"stringDateField":"1932-12-16","stringDateTimeField":"1960-05-15T00:14:49Z","stringField":"FYbVSNIDZe","stringTimeField":"00:24:33.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":-229,"numField":929.6277117877534,"stringDateField":"1932-12-16","stringDateTimeField":"1960-05-15T00:14:49Z","stringField":"FYbVSNIDZe","stringTimeField":"00:24:33.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":233,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":233,"uuid":"9de3e3f7-5655-11ee-a801-675ed0f8e89b"},"arrayField":["GjOwpnDww","yNBjLoK","IOHCah","AiYhmreZ","DnjpBUq","nraEAhTfFr","Aptm","QmRoRuFh","smgsU","xDJmp"],"boolField":true,"intField":78,"numField":-840.8569231294513,"objField":{"BhWdIN":3752140069932481876,"OZfYhk":8107879802724414442,"QUcsg":1129122905311428012,"hrVUGWHmx":7725228441593149593,"ysQRUO":6559143378640498535},"stringDateField":"1947-04-01","stringDateTimeField":"2013-08-27T13:49:34Z","stringField":"yjPGdBtSt","stringTimeField":"22:35:48.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":78,"numField":-840.8569231294513,"stringDateField":"1947-04-01","stringDateTimeField":"2013-08-27T13:49:34Z","stringField":"yjPGdBtSt","stringTimeField":"22:35:48.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":234,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":234,"uuid":"9de3e3f7-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["XXRZnHsEaK","kIaCWuB","PmGwvpfbq","qvebgDJef","PjAfKZH","vsiYToOx","qOztUlEeN","yANj","xaJWCrWjuG","qUtRb"],"boolField":true,"intField":-677,"numField":-801.3225479991643,"objField":{"dAPuOzpEFx":3111637790099558266,"dPCvaVvX":5985743196741935436,"hXAyrBhQPa":-2775718712285306426},"stringDateField":"2021-11-09","stringDateTimeField":"1970-04-01T14:25:08Z","stringField":"HDIaQc","stringTimeField":"01:53:42.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":-677,"numField":-801.3225479991643,"stringDateField":"2021-11-09","stringDateTimeField":"1970-04-01T14:25:08Z","stringField":"HDIaQc","stringTimeField":"01:53:42.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":235,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":235,"uuid":"9de3e3f7-5655-11ee-b001-675ed0f8e89b"},"arrayField":["bwKhGsqBPg"],"boolField":true,"intField":908,"numField":53.301521569304676,"objField":{"eMwaewK":6288037652295642808,"ilKyIgulg":-941187994507317516},"stringDateField":"1997-01-30","stringDateTimeField":"1972-07-28T23:39:02Z","stringField":"RpfSWayanh","stringTimeField":"19:35:19.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":908,"numField":53.301521569304676,"stringDateField":"1997-01-30","stringDateTimeField":"1972-07-28T23:39:02Z","stringField":"RpfSWayanh","stringTimeField":"19:35:19.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":236,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":236,"uuid":"9de3e3f7-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ulJyT","FBnwXK","LaWoGuj"],"boolField":true,"intField":347,"numField":505.0812850331039,"objField":{"AleUr":7242036727287768718,"HEBcTxFx":8042206670130927647,"XcFa":-6063927841373780643,"ZjcVLVNcd":6710965455938723996,"msEhLXn":-4206355990702398217,"owic":-8115207996241443924,"pWVcDojCPm":-4317886858143602303,"xZaUVJ":41135693116533285},"stringDateField":"1974-11-05","stringDateTimeField":"1978-12-25T12:19:09Z","stringField":"BUYAvv","stringTimeField":"01:34:39.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":347,"numField":505.0812850331039,"stringDateField":"1974-11-05","stringDateTimeField":"1978-12-25T12:19:09Z","stringField":"BUYAvv","stringTimeField":"01:34:39.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":237,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":237,"uuid":"9de3e3f7-5655-11ee-b801-675ed0f8e89b"},"arrayField":["jYSUzVE","GgkpaDyxY","dpWWhmw","gYREZIJjc","ksEEAZaX","XfOwiDuM"],"boolField":false,"intField":918,"numField":-394.5574201777384,"objField":{"ADkXw":7147780589727532322,"CyegFhMuG":183414002639457931,"ILJyRF":-4118840096824906275,"IpBVwka":-1582192956178936863,"qWCEqeva":8998578985027184483},"stringDateField":"1912-05-05","stringDateTimeField":"1906-01-26T09:57:24Z","stringField":"QmGtGdPYTj","stringTimeField":"01:30:46.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":918,"numField":-394.5574201777384,"stringDateField":"1912-05-05","stringDateTimeField":"1906-01-26T09:57:24Z","stringField":"QmGtGdPYTj","stringTimeField":"01:30:46.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":238,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":238,"uuid":"9de3e3f7-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["inZxBiUqlr","WTRuGDkft","VYXmlX","qeXiU","KEQFaxsN","GXNIPsrJVT","RDwSCuk","oKqfQd","YGMSg","XAsspHkmR"],"boolField":true,"intField":24,"numField":587.5980127134051,"objField":{"YgDflHUB":-4970619263087434206,"bGHKYaqnfW":581317287492115729,"bSCXk":-1845979789090586747},"stringDateField":"2011-01-02","stringDateTimeField":"1993-08-26T18:56:12Z","stringField":"YAPjl","stringTimeField":"12:16:10.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230903Z","intField":24,"numField":587.5980127134051,"stringDateField":"2011-01-02","stringDateTimeField":"1993-08-26T18:56:12Z","stringField":"YAPjl","stringTimeField":"12:16:10.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":239,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":239,"uuid":"9de3e3f8-5655-11ee-8001-675ed0f8e89b"},"arrayField":["uILxjRdPBc","NoHNdW","WEXhZPjg","VmQuxt","zdgNeTu","QHHXd","GdSYK","DVYXUflJ","vwTiBuCu"],"boolField":true,"intField":975,"numField":976.4641175138776,"objField":{"PLptHQ":-1823834285914162316,"QHvYBUf":5796752234936532119,"VwLWHwrvBJ":-7591132655228951377,"ZnaPwV":4330615626006038118,"dweJGfI":-4644801368595668260,"eOidVe":6476546681936122887,"iBbzTCCm":657740688331683238,"qWLN":1658518911181826939,"rqNoItRkJS":-8982558752976593731},"stringDateField":"1978-02-15","stringDateTimeField":"2009-04-08T21:54:24Z","stringField":"nSyfxkO","stringTimeField":"17:30:02.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":975,"numField":976.4641175138776,"stringDateField":"1978-02-15","stringDateTimeField":"2009-04-08T21:54:24Z","stringField":"nSyfxkO","stringTimeField":"17:30:02.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":240,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":240,"uuid":"9de3e3f8-5655-11ee-8401-675ed0f8e89b"},"arrayField":["uNbQzc","EUTyUxZla","yDwXcIS","PrLtVZUJ","Zwxo","uecviWnT"],"boolField":true,"intField":-16,"numField":-904.9410584741136,"objField":{"HYcEyoOd":5813043235426227977,"PlgGTIW":7724243384733587371,"SDqv":-4475954267331629989,"TqTqLioo":5254398158195760749,"gRrn":-7540774895575028472,"knPMTupu":6445984096578756953,"ufZzxuKY":5436307094133810201,"xjbdHo":2871453746002135832,"zwyld":2751505240180528854},"stringDateField":"1937-09-19","stringDateTimeField":"1943-05-30T07:08:08Z","stringField":"coUsqvKP","stringTimeField":"21:47:19.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":-16,"numField":-904.9410584741136,"stringDateField":"1937-09-19","stringDateTimeField":"1943-05-30T07:08:08Z","stringField":"coUsqvKP","stringTimeField":"21:47:19.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":241,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":241,"uuid":"9de3e3f8-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bBBlbFOwh","bqfjE","ypVn","bEYWWqua","kMALefO","oIOzr"],"boolField":true,"intField":3,"numField":705.5933426338113,"objField":{"awcrBbAnP":-3995677242202185347,"xDpoV":4296254838583900255},"stringDateField":"1971-11-18","stringDateTimeField":"1959-02-23T14:29:39Z","stringField":"jlojO","stringTimeField":"21:50:32.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":3,"numField":705.5933426338113,"stringDateField":"1971-11-18","stringDateTimeField":"1959-02-23T14:29:39Z","stringField":"jlojO","stringTimeField":"21:50:32.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":242,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":242,"uuid":"9de3e3f8-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["lwpLSs","DbZMLGrff","mtBXFGLuU","CTNGRgQ","YUuEeJoHz","NNoVw","uaPG"],"boolField":false,"intField":659,"numField":-766.934812622519,"objField":{"GbIZN":-1345713787343454786,"ImliQNwpEB":-6628468457975264249,"TGGCrtZglZ":4054586518404016671,"TQxD":1407058427363182371,"TZTk":1381237159189498021,"lkAve":6650030076087948669,"sdyBTXwzF":1101799561891166128,"tEBJ":-5611827755587884897,"xzkJxKQ":3519478109991842976},"stringDateField":"1981-11-23","stringDateTimeField":"2022-05-12T05:46:15Z","stringField":"eXIjTCGvD","stringTimeField":"05:09:28.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":659,"numField":-766.934812622519,"stringDateField":"1981-11-23","stringDateTimeField":"2022-05-12T05:46:15Z","stringField":"eXIjTCGvD","stringTimeField":"05:09:28.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":243,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":243,"uuid":"9de3e3f8-5655-11ee-9001-675ed0f8e89b"},"arrayField":["jOON","MfMudKJoal","mKBYEap","VuPmUEWBvA","EufYxGZtoS","iNxWEbls","vCryqcW","uXmQtq","Huky"],"boolField":false,"intField":867,"numField":-460.9003058081733,"objField":{"NLGTTKhJ":1159470011723293549},"stringDateField":"1988-12-23","stringDateTimeField":"2020-10-27T13:16:22Z","stringField":"xxOVYpP","stringTimeField":"08:58:11.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":867,"numField":-460.9003058081733,"stringDateField":"1988-12-23","stringDateTimeField":"2020-10-27T13:16:22Z","stringField":"xxOVYpP","stringTimeField":"08:58:11.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":244,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":244,"uuid":"9de3e3f8-5655-11ee-9401-675ed0f8e89b"},"arrayField":["aUoexnWr"],"boolField":true,"intField":-598,"numField":820.4615186976782,"objField":{"IRchRMEhZy":-6120752023262132107,"KJmf":-3814472376082968832},"stringDateField":"1990-01-10","stringDateTimeField":"1973-04-23T08:38:31Z","stringField":"TWRcZWlDH","stringTimeField":"14:21:14.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":-598,"numField":820.4615186976782,"stringDateField":"1990-01-10","stringDateTimeField":"1973-04-23T08:38:31Z","stringField":"TWRcZWlDH","stringTimeField":"14:21:14.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":245,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":245,"uuid":"9de3e3f8-5655-11ee-9801-675ed0f8e89b"},"arrayField":["fTAA","hLKrlZad","qBsBbMbxD","fKdqSOm"],"boolField":false,"intField":-17,"numField":937.0852700427243,"objField":{"uQjrLytW":4704940729497725613},"stringDateField":"1916-08-14","stringDateTimeField":"1911-07-28T21:36:14Z","stringField":"oCUH","stringTimeField":"04:42:29.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":-17,"numField":937.0852700427243,"stringDateField":"1916-08-14","stringDateTimeField":"1911-07-28T21:36:14Z","stringField":"oCUH","stringTimeField":"04:42:29.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":246,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":246,"uuid":"9de3e3f8-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["AeGc","fWKT","IIeDgchdD","obbgb","nCeGyXYN","MBetwyXQ","VZrjW","JjVjSp"],"boolField":true,"intField":76,"numField":-72.46726622677369,"objField":{"AGeTyCYn":6704980508639596098,"Szyiyh":8787505219918992998,"feaQi":6815738108222371205,"ryWe":-4795131297924520011},"stringDateField":"1904-04-21","stringDateTimeField":"1906-01-22T08:58:02Z","stringField":"pfynxnusH","stringTimeField":"21:12:38.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":76,"numField":-72.46726622677369,"stringDateField":"1904-04-21","stringDateTimeField":"1906-01-22T08:58:02Z","stringField":"pfynxnusH","stringTimeField":"21:12:38.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":247,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":247,"uuid":"9de3e3f8-5655-11ee-a001-675ed0f8e89b"},"arrayField":["cGhcQEAy","zXevX","dTjaxXz","wnIkC","omsGEH","sixFuBN","KEDuLjuyU","sAakOusR","BNYeD"],"boolField":false,"intField":296,"numField":386.1634540090879,"objField":{"pXvAgEfLKT":-1933874634075958979},"stringDateField":"1986-07-26","stringDateTimeField":"2022-11-27T19:24:43Z","stringField":"oNjsKx","stringTimeField":"12:23:31.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":296,"numField":386.1634540090879,"stringDateField":"1986-07-26","stringDateTimeField":"2022-11-27T19:24:43Z","stringField":"oNjsKx","stringTimeField":"12:23:31.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":248,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":248,"uuid":"9de3e3f8-5655-11ee-a401-675ed0f8e89b"},"arrayField":["AiFZQfx"],"boolField":true,"intField":-677,"numField":-340.8229763892064,"objField":{"BLsLq":3792268467643190842,"MRVA":-8862972817469936646,"OIMX":3506708504137851694},"stringDateField":"1931-05-08","stringDateTimeField":"1902-04-29T17:41:15Z","stringField":"luAQs","stringTimeField":"20:35:06.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":-677,"numField":-340.8229763892064,"stringDateField":"1931-05-08","stringDateTimeField":"1902-04-29T17:41:15Z","stringField":"luAQs","stringTimeField":"20:35:06.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":249,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":249,"uuid":"9de3e3f8-5655-11ee-a801-675ed0f8e89b"},"arrayField":["rMAShVj","SIbGhERstl","nBdHzoyY","YrLUEaFrW","DUHcb","QHwnD","rvPx","XIMDlgp","pZwMzEvm"],"boolField":false,"intField":-822,"numField":36.95528452484132,"objField":{"UxNWsDqtxU":8071385977473399994},"stringDateField":"1949-01-16","stringDateTimeField":"1901-10-01T10:25:17Z","stringField":"UiAwQYW","stringTimeField":"21:45:58.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":-822,"numField":36.95528452484132,"stringDateField":"1949-01-16","stringDateTimeField":"1901-10-01T10:25:17Z","stringField":"UiAwQYW","stringTimeField":"21:45:58.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":250,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":250,"uuid":"9de3e3f8-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["khrVfDmM","YgXQmGAJJ","GGzs","ntfxbv","jUJWScZ","jlho"],"boolField":true,"intField":-987,"numField":-592.7361104641869,"objField":{"KOOubvGd":2055161710685452707,"eoHfu":3157814195510643598,"reomNTtWQ":63511067794043154,"stSbslEr":3565956968983983297,"vHmqsxnaeP":3830368322756289326,"zfJVccCeF":-8526321958339341949},"stringDateField":"2003-08-10","stringDateTimeField":"1963-04-15T23:46:05Z","stringField":"nuRtDlY","stringTimeField":"12:36:27.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":-987,"numField":-592.7361104641869,"stringDateField":"2003-08-10","stringDateTimeField":"1963-04-15T23:46:05Z","stringField":"nuRtDlY","stringTimeField":"12:36:27.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":251,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":251,"uuid":"9de3e3f8-5655-11ee-b001-675ed0f8e89b"},"arrayField":["qeetOL","bXNWCgsRX","HlnKSxcuAS","KqWPPds","ubsuaAHQ","XALXUph","HTJFDGO","ABHNrv"],"boolField":false,"intField":53,"numField":680.4775388451231,"objField":{"ztOAjb":8256105275960278871},"stringDateField":"1995-10-06","stringDateTimeField":"2019-08-12T02:48:04Z","stringField":"nlQirgFu","stringTimeField":"13:13:12.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":53,"numField":680.4775388451231,"stringDateField":"1995-10-06","stringDateTimeField":"2019-08-12T02:48:04Z","stringField":"nlQirgFu","stringTimeField":"13:13:12.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":252,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":252,"uuid":"9de3e3f8-5655-11ee-b401-675ed0f8e89b"},"arrayField":["WkbRnxc","ZFRGZI","kIoJiyJNS","ttpvifyybt","tPfWHrkkVl","GaLvqC"],"boolField":false,"intField":-348,"numField":-178.06963787537322,"objField":{"AgwsO":8253469493539655914,"KBeDQ":-8486780346562660159,"RUngRJxM":5632177729300722547,"fKVm":2733839061166023498,"qmCLeZaJk":8484635623618814804},"stringDateField":"1959-08-18","stringDateTimeField":"2005-09-15T07:30:49Z","stringField":"iOrrgfwB","stringTimeField":"09:56:49.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":-348,"numField":-178.06963787537322,"stringDateField":"1959-08-18","stringDateTimeField":"2005-09-15T07:30:49Z","stringField":"iOrrgfwB","stringTimeField":"09:56:49.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":253,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":253,"uuid":"9de3e3f8-5655-11ee-b801-675ed0f8e89b"},"arrayField":["jnsAgNX","jfPpQu","SRiKRkjj"],"boolField":false,"intField":448,"numField":947.0080331793084,"objField":{"CIqQTl":-1800850493494724616,"IzJCCyhwy":-301460681583779571,"NjTAkEY":1888735081254253302,"TneXuLF":-3372403050372802208,"bMpyzR":-8713292451696138322,"kkyBZYJ":7721848406824938466,"naGDy":-5293680003664732112,"rcUHgqIq":-797344294633951857},"stringDateField":"1923-07-21","stringDateTimeField":"1940-09-26T23:44:59Z","stringField":"WOFLaQ","stringTimeField":"17:28:20.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":448,"numField":947.0080331793084,"stringDateField":"1923-07-21","stringDateTimeField":"1940-09-26T23:44:59Z","stringField":"WOFLaQ","stringTimeField":"17:28:20.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":254,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":254,"uuid":"9de3e3f8-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["hqDjTOAPY","Ddrxj","jIOlqej","caOOsp","ZEgfEMuKA","ahqkupkEa","RCBaGLXS","dsVr","fNkpx"],"boolField":true,"intField":-497,"numField":-253.41620110642293,"objField":{"DEvek":-854332953823664715,"FqXxUvo":-5506500260688820894,"PPkmTa":4060323189822502301,"fVSYcgfQH":8402789809207710483,"oEcCUQwL":5385106765726607623,"wPraEXDm":-614694015682639092},"stringDateField":"1939-03-31","stringDateTimeField":"2023-09-13T02:46:01Z","stringField":"gEiBcNaB","stringTimeField":"03:21:00.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230904Z","intField":-497,"numField":-253.41620110642293,"stringDateField":"1939-03-31","stringDateTimeField":"2023-09-13T02:46:01Z","stringField":"gEiBcNaB","stringTimeField":"03:21:00.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":255,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":255,"uuid":"9de3e3f9-5655-11ee-8001-675ed0f8e89b"},"arrayField":["EXkFocTOVg","QpKcXIJJmX","CvxPUnZy","kRAv","WNPtQAxV","kCBe","TxKRnlEGP","rtmcpIqg","SmuIFPTB","kQIKayb"],"boolField":true,"intField":269,"numField":590.2523096916331,"objField":{"QcSZapR":3987569599380904822,"bJNVwrK":5013783974739251375,"cmZbnK":-3055943564201078938,"jPuvZVBxI":5366395422959982822,"ptxwqzoBLe":-6126302462677853922},"stringDateField":"2022-04-29","stringDateTimeField":"2010-10-31T12:15:28Z","stringField":"goPih","stringTimeField":"11:05:40.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":269,"numField":590.2523096916331,"stringDateField":"2022-04-29","stringDateTimeField":"2010-10-31T12:15:28Z","stringField":"goPih","stringTimeField":"11:05:40.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":256,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":256,"uuid":"9de3e3f9-5655-11ee-8401-675ed0f8e89b"},"arrayField":["cjENJAm","PMfdAYrOtD","wxXApc","QJyLimspZc","gwFm"],"boolField":true,"intField":24,"numField":513.0306265186075,"objField":{"UYeFe":-2983283193901937309,"UYmFVvvW":5691417368667290192,"bLtmmqF":2681998462028641310,"fVODEgFip":-8259692367720181990,"nWMxtyFZU":2373718157691576004},"stringDateField":"1987-05-11","stringDateTimeField":"1915-03-19T07:52:48Z","stringField":"pzcgRp","stringTimeField":"06:28:00.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":24,"numField":513.0306265186075,"stringDateField":"1987-05-11","stringDateTimeField":"1915-03-19T07:52:48Z","stringField":"pzcgRp","stringTimeField":"06:28:00.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":257,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":257,"uuid":"9de3e3f9-5655-11ee-8801-675ed0f8e89b"},"arrayField":["vCjaGZms","sWcHNb","wtwxONcx","VlELHhm","UMstt","OayyL"],"boolField":false,"intField":465,"numField":938.1808480970687,"objField":{"ImxsZrr":1297832530518985346,"USNYgHbFbv":-977223745898868348,"vzkpg":8816171432682408369,"xLDuRn":2130092002706561638},"stringDateField":"1954-08-17","stringDateTimeField":"1965-10-01T22:35:37Z","stringField":"GGSAAUBZ","stringTimeField":"21:59:32.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":465,"numField":938.1808480970687,"stringDateField":"1954-08-17","stringDateTimeField":"1965-10-01T22:35:37Z","stringField":"GGSAAUBZ","stringTimeField":"21:59:32.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":258,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":258,"uuid":"9de3e3f9-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["tPJMgwWGLz","mgPGAG","JqAA","aOOFvEGP","nnKC","dcuMZyluFl","alXrr","BEdAkNQI","tnzylOW","WJqpjlGJbg"],"boolField":false,"intField":57,"numField":738.3941116258636,"objField":{"MPPcovd":8341571360114560022,"SwAZWmNDtX":-113856506485305001,"UmSuDZSU":-5406759556848039195,"iFJSEXebVL":-4101496274251615239,"jepF":-1051104689937099814,"uOhBh":-5651990789177368461,"waCrWg":-6348493212786392571},"stringDateField":"1986-09-28","stringDateTimeField":"1988-10-27T08:05:10Z","stringField":"NPbx","stringTimeField":"02:23:18.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":57,"numField":738.3941116258636,"stringDateField":"1986-09-28","stringDateTimeField":"1988-10-27T08:05:10Z","stringField":"NPbx","stringTimeField":"02:23:18.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":259,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":259,"uuid":"9de3e3f9-5655-11ee-9001-675ed0f8e89b"},"arrayField":["mUrGQZiPi","lukQdHIBl","zUASoHwPVi","PynI","KMzwxY","Xfta","eAyOhowIJy","rWyela","NSHDLcOOQ"],"boolField":false,"intField":-952,"numField":-909.603331128482,"objField":{"DAmRbVzMay":-7703535156036623947,"HucoIul":882472886806784828,"RVtnJ":4283435602331556468,"SbKvmEiU":-3535844308498055233,"VcAfZDVG":1688123059874363575,"dQVIIRuqOg":-2000419841062139573,"sajwAvxci":3267045578206299558,"wddYcOc":-1462397911489645924},"stringDateField":"1940-07-06","stringDateTimeField":"2005-07-01T15:59:34Z","stringField":"OCIeuawj","stringTimeField":"15:29:15.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":-952,"numField":-909.603331128482,"stringDateField":"1940-07-06","stringDateTimeField":"2005-07-01T15:59:34Z","stringField":"OCIeuawj","stringTimeField":"15:29:15.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":260,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":260,"uuid":"9de3e3f9-5655-11ee-9401-675ed0f8e89b"},"arrayField":["xKggfIYa","tBzyEc","eVTjAyrc","rPUDLAe","oVxxJDA"],"boolField":false,"intField":-740,"numField":515.9014577620422,"objField":{"bDFdYvHNyG":4377795557252085556,"cVmo":-148512824243687710,"hpOpRnLCo":-4507934272995216721},"stringDateField":"1945-05-23","stringDateTimeField":"1951-12-19T01:02:09Z","stringField":"bAylfDkvXA","stringTimeField":"05:37:07.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":-740,"numField":515.9014577620422,"stringDateField":"1945-05-23","stringDateTimeField":"1951-12-19T01:02:09Z","stringField":"bAylfDkvXA","stringTimeField":"05:37:07.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":261,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":261,"uuid":"9de3e3f9-5655-11ee-9801-675ed0f8e89b"},"arrayField":["xXTwfJHc","ErhubuN","yamkWZXx","nrWRZuZYY","zqgR"],"boolField":false,"intField":-283,"numField":-625.8318371818256,"objField":{"AQGWRzdzw":-1029730188736735436},"stringDateField":"1935-09-03","stringDateTimeField":"1930-12-30T18:25:50Z","stringField":"zBSDev","stringTimeField":"16:03:47.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":-283,"numField":-625.8318371818256,"stringDateField":"1935-09-03","stringDateTimeField":"1930-12-30T18:25:50Z","stringField":"zBSDev","stringTimeField":"16:03:47.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":262,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":262,"uuid":"9de3e3f9-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["TFOTQocKSa","fBRa","fPKICzBph"],"boolField":false,"intField":382,"numField":-141.9146458693187,"objField":{"oaWKN":6929312354765661904,"vcaPuqnWr":-1911608398078261511},"stringDateField":"1979-08-12","stringDateTimeField":"1907-03-03T20:31:52Z","stringField":"aVVHfraT","stringTimeField":"01:26:50.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":382,"numField":-141.9146458693187,"stringDateField":"1979-08-12","stringDateTimeField":"1907-03-03T20:31:52Z","stringField":"aVVHfraT","stringTimeField":"01:26:50.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":263,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":263,"uuid":"9de3e3f9-5655-11ee-a001-675ed0f8e89b"},"arrayField":["EIHKvZ"],"boolField":true,"intField":-887,"numField":-538.749211999684,"objField":{"BRvBqAZ":-9139201174668091439,"RBEQ":-8312426196576679314,"REnbeuvl":8100764807504700168,"XeWcoBz":1570997133596325566,"XgWSW":-4416765747030834596,"bGyOX":-8306583526502420019,"nstgF":6142998001131041049,"qLndWh":-8662011870485916191,"sDemsG":-2610366194847852260,"tdoxpF":7444048297982044473},"stringDateField":"1909-01-21","stringDateTimeField":"1958-04-19T20:33:14Z","stringField":"wkPs","stringTimeField":"04:30:21.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":-887,"numField":-538.749211999684,"stringDateField":"1909-01-21","stringDateTimeField":"1958-04-19T20:33:14Z","stringField":"wkPs","stringTimeField":"04:30:21.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":264,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":264,"uuid":"9de3e3f9-5655-11ee-a401-675ed0f8e89b"},"arrayField":["bgATcJKO","fzluihU","LwWbmcI","iciJlQB","FzmY","WErltlq"],"boolField":false,"intField":-630,"numField":-395.5767905106701,"objField":{"VKkQGK":-3042316056992174510,"zzUcrXKr":1735672844791021670},"stringDateField":"1974-12-19","stringDateTimeField":"1933-10-21T09:46:04Z","stringField":"zWXtlMuIq","stringTimeField":"07:51:08.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":-630,"numField":-395.5767905106701,"stringDateField":"1974-12-19","stringDateTimeField":"1933-10-21T09:46:04Z","stringField":"zWXtlMuIq","stringTimeField":"07:51:08.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":265,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":265,"uuid":"9de3e3f9-5655-11ee-a801-675ed0f8e89b"},"arrayField":["xHsadRJ","rHOyHpyZc","tsfbHjzvoz","UoPZK","PABWs","HcaDzH","IdCSt","WbMAYmhV","kVfuoHbA"],"boolField":false,"intField":831,"numField":-223.23676080959964,"objField":{"BkSFwEDz":-820903165049258232,"OIdaia":4829771325539212897,"XeZxiI":-8665933437303006310,"YpCvQZJUGi":-980845237228439086,"haVF":-8553450329373884444,"mAHtUZLd":5973748761355489916,"sHuC":-3759867752140064339,"vshzRgARBJ":8987175343623977149},"stringDateField":"1951-11-26","stringDateTimeField":"2004-03-15T21:41:13Z","stringField":"yZGNq","stringTimeField":"16:53:48.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":831,"numField":-223.23676080959964,"stringDateField":"1951-11-26","stringDateTimeField":"2004-03-15T21:41:13Z","stringField":"yZGNq","stringTimeField":"16:53:48.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":266,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":266,"uuid":"9de3e3f9-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["zUBWdRYXXj","XyuZEmgvj","okWDEtpQ"],"boolField":false,"intField":758,"numField":-981.7200282755202,"objField":{"ASejBvbCRa":-1012215722679081044},"stringDateField":"2021-09-06","stringDateTimeField":"1954-03-10T22:08:44Z","stringField":"OMTr","stringTimeField":"19:38:01.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":758,"numField":-981.7200282755202,"stringDateField":"2021-09-06","stringDateTimeField":"1954-03-10T22:08:44Z","stringField":"OMTr","stringTimeField":"19:38:01.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":267,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":267,"uuid":"9de3e3f9-5655-11ee-b001-675ed0f8e89b"},"arrayField":["KjfVNWkI","XkwX","pSGCiLhwLT","PzBLP"],"boolField":true,"intField":736,"numField":71.76491198844693,"objField":{"JemCe":5661025457439811773,"yTntC":-7380421500112245266,"zCCSPmEZhP":-2270835024306556153},"stringDateField":"1979-04-03","stringDateTimeField":"2013-05-29T10:19:26Z","stringField":"pIbvnQH","stringTimeField":"12:05:20.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":736,"numField":71.76491198844693,"stringDateField":"1979-04-03","stringDateTimeField":"2013-05-29T10:19:26Z","stringField":"pIbvnQH","stringTimeField":"12:05:20.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":268,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":268,"uuid":"9de3e3f9-5655-11ee-b401-675ed0f8e89b"},"arrayField":["WazPwiR","zYlDK","Pprytt","gbbA"],"boolField":true,"intField":-360,"numField":43.85099314296714,"objField":{"BgtDetbhBn":3950277178984359689,"RvONowQ":6026298324463687417,"bQecwuYE":2760700703169739274,"falV":-9203615789050775026},"stringDateField":"1958-03-14","stringDateTimeField":"1975-12-11T10:44:58Z","stringField":"BqYbLBJw","stringTimeField":"11:42:17.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":-360,"numField":43.85099314296714,"stringDateField":"1958-03-14","stringDateTimeField":"1975-12-11T10:44:58Z","stringField":"BqYbLBJw","stringTimeField":"11:42:17.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":269,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":269,"uuid":"9de3e3f9-5655-11ee-b801-675ed0f8e89b"},"arrayField":["COuI"],"boolField":true,"intField":103,"numField":-580.1418001519567,"objField":{"SaVlpjAIPT":4041799596142862745,"WHxYE":4020893227359590082,"ayMp":941013830592610378,"mJbK":433318510108674246,"rUOCbs":3576947024367918652},"stringDateField":"1915-01-03","stringDateTimeField":"1971-04-28T02:22:17Z","stringField":"pzJQZULRrp","stringTimeField":"00:06:27.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":103,"numField":-580.1418001519567,"stringDateField":"1915-01-03","stringDateTimeField":"1971-04-28T02:22:17Z","stringField":"pzJQZULRrp","stringTimeField":"00:06:27.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":270,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":270,"uuid":"9de3e3f9-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["gxzxgKtY","ULqAOw","Ccdtfb"],"boolField":false,"intField":184,"numField":-69.87643094146546,"objField":{"HGSkU":-1124061317561839833,"HLjRI":-78629487141781753,"PsPmB":-2419667472146826758,"WEiqvuoAOE":4061977025735322671,"lsnIdmiZ":-4730134177288641031,"pHbZLumDU":4601737340618134820,"rUFvphFMqE":-7217736810270374868,"sfboCII":-7474739100969617389},"stringDateField":"1906-08-10","stringDateTimeField":"2009-09-28T07:03:40Z","stringField":"dCvlguKu","stringTimeField":"16:00:06.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230905Z","intField":184,"numField":-69.87643094146546,"stringDateField":"1906-08-10","stringDateTimeField":"2009-09-28T07:03:40Z","stringField":"dCvlguKu","stringTimeField":"16:00:06.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":271,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":271,"uuid":"9de3e3fa-5655-11ee-8001-675ed0f8e89b"},"arrayField":["aEsm","StbFCM","CXArCXSS","eCuhhsXb","GhZeiiyvg","xQNMlHoL","tvkNu","lzDhRHJ"],"boolField":true,"intField":960,"numField":182.7932695742271,"objField":{"TdvVcpDJa":-8211147660001162774,"jlzC":-5257362137500347361,"oqAPLuyJ":5084802932013396730},"stringDateField":"1982-07-01","stringDateTimeField":"1912-01-11T11:06:32Z","stringField":"UjkH","stringTimeField":"04:00:30.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":960,"numField":182.7932695742271,"stringDateField":"1982-07-01","stringDateTimeField":"1912-01-11T11:06:32Z","stringField":"UjkH","stringTimeField":"04:00:30.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":272,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":272,"uuid":"9de3e3fa-5655-11ee-8401-675ed0f8e89b"},"arrayField":["OQhs","qxAKmv","lXTsVIKVRP","Nzskh"],"boolField":false,"intField":-761,"numField":-306.6545002754394,"objField":{"JCGFQFKxSO":-7435040500481578787},"stringDateField":"1908-06-05","stringDateTimeField":"1958-04-29T08:39:24Z","stringField":"Coke","stringTimeField":"06:19:07.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":-761,"numField":-306.6545002754394,"stringDateField":"1908-06-05","stringDateTimeField":"1958-04-29T08:39:24Z","stringField":"Coke","stringTimeField":"06:19:07.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":273,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":273,"uuid":"9de3e3fa-5655-11ee-8801-675ed0f8e89b"},"arrayField":["RLnJzjlM","kZwtFn","hXelo","CPAUb","iSxtaO","tIDnsD"],"boolField":false,"intField":125,"numField":-956.9529983114932,"objField":{"EZqXP":8428737618943456953,"TLSIZG":2665437327016304000,"UeOkH":2159298136895352778,"bYUTSDLdx":-7688863312564080328,"esEjyNm":-5543087715865523677,"mmwOnmv":-5524365349336231826,"vSGIwlUF":-2363799866555538373,"ybdYBb":5005263683345822125},"stringDateField":"1965-02-20","stringDateTimeField":"1920-05-20T22:54:25Z","stringField":"qgDWdA","stringTimeField":"23:53:12.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":125,"numField":-956.9529983114932,"stringDateField":"1965-02-20","stringDateTimeField":"1920-05-20T22:54:25Z","stringField":"qgDWdA","stringTimeField":"23:53:12.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":274,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":274,"uuid":"9de3e3fa-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["zpwLPYvfCw","UvzJUEg","dNduICA","HlAJoInRwm","vMEGG","viPnvTiE","HcRj","TbJSB","sFioHrVC"],"boolField":true,"intField":173,"numField":929.4688646539768,"objField":{"AdgQfXqmoJ":-2658144216888888675,"GKuu":2136960384369363476,"RCkYnwBQ":-6086660524675792699,"WoFFcpKBqy":8524768053676558826,"XdwB":-3312011204473873918,"enCGeAGWbB":-3156898229682489448,"safuG":-4907199695669614536},"stringDateField":"1957-01-28","stringDateTimeField":"1972-12-13T08:05:24Z","stringField":"MBIzMtGMjS","stringTimeField":"15:49:01.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":173,"numField":929.4688646539768,"stringDateField":"1957-01-28","stringDateTimeField":"1972-12-13T08:05:24Z","stringField":"MBIzMtGMjS","stringTimeField":"15:49:01.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":275,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":275,"uuid":"9de3e3fa-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ZjpgcZuoIq","JqVHNx","VJVCJU"],"boolField":false,"intField":55,"numField":-860.1966017536427,"objField":{"ElonEr":1740640999811695998},"stringDateField":"1998-05-20","stringDateTimeField":"2006-04-03T20:26:23Z","stringField":"mUmmA","stringTimeField":"00:51:35.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":55,"numField":-860.1966017536427,"stringDateField":"1998-05-20","stringDateTimeField":"2006-04-03T20:26:23Z","stringField":"mUmmA","stringTimeField":"00:51:35.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":276,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":276,"uuid":"9de3e3fa-5655-11ee-9401-675ed0f8e89b"},"arrayField":["RhJfC","tjMFLoQ","ibBcWO","WGtkfCjgyI","oIsZulOwR","dXkiFn","dqFTZu","GvrlpmEKW","FhFwcR"],"boolField":false,"intField":-216,"numField":461.7736903232763,"objField":{"MJJguSwoTq":-6428286612987953661},"stringDateField":"1986-12-25","stringDateTimeField":"1991-03-02T11:01:24Z","stringField":"agzrD","stringTimeField":"11:48:02.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":-216,"numField":461.7736903232763,"stringDateField":"1986-12-25","stringDateTimeField":"1991-03-02T11:01:24Z","stringField":"agzrD","stringTimeField":"11:48:02.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":277,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":277,"uuid":"9de3e3fa-5655-11ee-9801-675ed0f8e89b"},"arrayField":["VjYgObu","Ydhmub","BiyamtMWoT","ozKAbifzUE","mQGlfTDo","IcGxFgeI","aEVyQ","FViEJ"],"boolField":false,"intField":882,"numField":510.2493828397118,"objField":{"KTRzT":-801237015246241961,"MTQmBW":-1119901868650384904,"SHkafIAE":4223625102845521776,"SQPhlJIq":7197035579835621379,"apvmVzo":-6593721955664192456,"eEnU":-6922828635673302426,"jRiigkG":7606142450763659716,"pZQwklaM":-1465981643836819860,"yKJTB":4215923151717947546},"stringDateField":"1915-07-27","stringDateTimeField":"1991-03-10T02:20:39Z","stringField":"VheWeU","stringTimeField":"20:02:24.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":882,"numField":510.2493828397118,"stringDateField":"1915-07-27","stringDateTimeField":"1991-03-10T02:20:39Z","stringField":"VheWeU","stringTimeField":"20:02:24.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":278,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":278,"uuid":"9de3e3fa-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wEjOopra","BfGEEDdR","pdaSEHq","mjUfjfx","ITuTSc","GEgwwzbeev","biUzjmT","risOpLh","IQAsdT","tDDM"],"boolField":false,"intField":161,"numField":635.916510939172,"objField":{"CFfh":3471132844420935645,"WeEy":-2262621488755722480,"mYtEiS":-7498032004852768947,"qXfiUQ":-2042117628477857784,"tvFjNs":3991349164756140011},"stringDateField":"1938-07-22","stringDateTimeField":"1911-11-07T18:01:34Z","stringField":"GBgcQ","stringTimeField":"18:44:51.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":161,"numField":635.916510939172,"stringDateField":"1938-07-22","stringDateTimeField":"1911-11-07T18:01:34Z","stringField":"GBgcQ","stringTimeField":"18:44:51.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":279,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":279,"uuid":"9de3e3fa-5655-11ee-a001-675ed0f8e89b"},"arrayField":["qpDp","mAzCCSGO"],"boolField":true,"intField":-927,"numField":-236.58599719549923,"objField":{"EOqydFYZAK":7066277123539006576,"EcETkn":2147673031731613235,"rCstFx":-7658391160235583434},"stringDateField":"1915-09-26","stringDateTimeField":"1915-01-08T14:01:39Z","stringField":"Jwmn","stringTimeField":"08:45:43.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":-927,"numField":-236.58599719549923,"stringDateField":"1915-09-26","stringDateTimeField":"1915-01-08T14:01:39Z","stringField":"Jwmn","stringTimeField":"08:45:43.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":280,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":280,"uuid":"9de3e3fa-5655-11ee-a401-675ed0f8e89b"},"arrayField":["xPebwU","acpg","WEkz","ItBrsykgP","BCvKHxa","gKbvPGlWP","SJRwkqddeE","eUczCYLu","OQwAXo","nGLaOmBhdV"],"boolField":false,"intField":537,"numField":-543.40847834424,"objField":{"KCmeG":8023317216803722509},"stringDateField":"1942-06-09","stringDateTimeField":"2002-01-27T22:50:56Z","stringField":"DAOibzxOq","stringTimeField":"14:27:11.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":537,"numField":-543.40847834424,"stringDateField":"1942-06-09","stringDateTimeField":"2002-01-27T22:50:56Z","stringField":"DAOibzxOq","stringTimeField":"14:27:11.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":281,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":281,"uuid":"9de3e3fa-5655-11ee-a801-675ed0f8e89b"},"arrayField":["Inuyar","oEPCVzN","ekfKW"],"boolField":false,"intField":-115,"numField":30.27956987153435,"objField":{"ESaSjcZ":2834423593314224585,"FJUjej":-919432727462542313,"HubHVlmSRA":9211450220861979762,"JNeZDerMBp":-8634487845363790126,"QVYRIpG":8808142889804172385,"jgFRJubn":-643150472904123638,"myTAcR":8495799048361389157,"qmzxpLTSUK":-2192496439168496841,"vlkm":7292382298965471672},"stringDateField":"1911-02-24","stringDateTimeField":"1933-11-28T02:41:01Z","stringField":"IWVo","stringTimeField":"11:41:46.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":-115,"numField":30.27956987153435,"stringDateField":"1911-02-24","stringDateTimeField":"1933-11-28T02:41:01Z","stringField":"IWVo","stringTimeField":"11:41:46.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":282,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":282,"uuid":"9de3e3fa-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["REwhgS","BKzwTwuNM","oyEk","CJdCdAy","fcPaLZU","DsLdfEfka"],"boolField":false,"intField":765,"numField":338.185933439028,"objField":{"BqZuCfKFF":7140550478069867532,"ICMXfX":2074428382647673015,"RRoVvTpm":-2365428764979986223,"UQfDLIj":-852864158301382944,"XMJvTTLzEZ":5859629795725018959,"YWJgZ":8333837182160062548,"eLgOSZrBj":-3500365957984421583,"qeLhJfs":3922364650285883903,"rTfTupHT":2007665767030391648,"sIERHy":6242722912426925681},"stringDateField":"1997-04-26","stringDateTimeField":"1945-11-23T19:18:15Z","stringField":"SYKQs","stringTimeField":"19:20:36.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":765,"numField":338.185933439028,"stringDateField":"1997-04-26","stringDateTimeField":"1945-11-23T19:18:15Z","stringField":"SYKQs","stringTimeField":"19:20:36.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":283,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":283,"uuid":"9de3e3fa-5655-11ee-b001-675ed0f8e89b"},"arrayField":["noQxWWHJYn","RWAkjkjWc","nBYkGF","ePYnulRyA","FMtd"],"boolField":true,"intField":845,"numField":51.621015220084445,"objField":{"ONBSkAO":-3633766642539102315},"stringDateField":"1903-03-08","stringDateTimeField":"1934-07-29T13:51:19Z","stringField":"eBazgYDen","stringTimeField":"16:54:10.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":845,"numField":51.621015220084445,"stringDateField":"1903-03-08","stringDateTimeField":"1934-07-29T13:51:19Z","stringField":"eBazgYDen","stringTimeField":"16:54:10.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":284,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":284,"uuid":"9de3e3fa-5655-11ee-b401-675ed0f8e89b"},"arrayField":["NziaI","ljZZCKxSYK","TRQgyKHbJR","fryBAJAT","IEhLugu","rwTCrbBvTR"],"boolField":false,"intField":575,"numField":-148.46114496641917,"objField":{"KABmhk":1123552522753264479,"VttkK":-7612973023742174359,"cwTxtWx":-7427185609941880642,"moRvITqa":-1870281947051406331},"stringDateField":"2012-06-20","stringDateTimeField":"2016-04-02T15:34:11Z","stringField":"DbukyN","stringTimeField":"11:33:46.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":575,"numField":-148.46114496641917,"stringDateField":"2012-06-20","stringDateTimeField":"2016-04-02T15:34:11Z","stringField":"DbukyN","stringTimeField":"11:33:46.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":285,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":285,"uuid":"9de3e3fa-5655-11ee-b801-675ed0f8e89b"},"arrayField":["AXWIXWj","cJuxql","KOjqoY","ALwq","ElmI"],"boolField":true,"intField":680,"numField":-68.12872681326643,"objField":{"DoBR":-4245688091018207398,"NPtgBqKVCj":-6103665187084615565,"NYyUmawh":7630614126621661507,"OTUYDGd":7912515595560860943,"TZUtnUp":-7952688573484511102,"XWEXeWRKh":-7194739606599910200,"iUOIWeB":7511397334147715828,"jzmRzeMMv":5677747745542143053,"oCgk":-1872051252065553605,"phoazbn":9211415966895907370},"stringDateField":"1969-11-26","stringDateTimeField":"2002-01-08T05:21:35Z","stringField":"tVnab","stringTimeField":"16:03:12.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":680,"numField":-68.12872681326643,"stringDateField":"1969-11-26","stringDateTimeField":"2002-01-08T05:21:35Z","stringField":"tVnab","stringTimeField":"16:03:12.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":286,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":286,"uuid":"9de3e3fa-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["mFTrPpWB","UZVZlI","NkVzUBWr"],"boolField":true,"intField":-105,"numField":-109.24763618576527,"objField":{"BOoLE":-649148559771711160,"FTJQew":2168579351143700872,"UilZ":6694158118012482197,"cKWC":7605023571859890387,"kbQlAU":-3315705077526194149,"nTpmyDZiBG":-4490105200340051997,"owBEGkTR":6917464412659445474,"qnHSGIzndD":8625968229777018594,"uSVUsBk":1686527857514241789,"uTmcqlfPTb":-6056504633505619899},"stringDateField":"1986-06-29","stringDateTimeField":"1967-11-15T23:03:50Z","stringField":"AANVijPu","stringTimeField":"12:06:11.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230906Z","intField":-105,"numField":-109.24763618576527,"stringDateField":"1986-06-29","stringDateTimeField":"1967-11-15T23:03:50Z","stringField":"AANVijPu","stringTimeField":"12:06:11.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":287,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":287,"uuid":"9de3e3fb-5655-11ee-8001-675ed0f8e89b"},"arrayField":["saidsIO","sVVCAGtOKT","UcvD","jIYiw","HZtFSlaLX"],"boolField":true,"intField":-287,"numField":352.22942432773266,"objField":{"FWFMPUbue":1352396049096756344,"JNBKeZWz":-229416021218336358,"MVtCOYe":5332936832184575055,"OvNxt":7386579211412333714,"RwyDdYbTDN":-4417432313415965079,"eOwxkf":-3698296499364146791,"hFGklTwAmK":-2233242341123052776,"muYxMgHSnV":2439628571937587238,"qSqo":-7284636757642935432,"sQLXRTxuxV":7638706657737535663},"stringDateField":"1953-07-11","stringDateTimeField":"1902-06-24T07:15:37Z","stringField":"HmJNYENvUf","stringTimeField":"10:40:46.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":-287,"numField":352.22942432773266,"stringDateField":"1953-07-11","stringDateTimeField":"1902-06-24T07:15:37Z","stringField":"HmJNYENvUf","stringTimeField":"10:40:46.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":288,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":288,"uuid":"9de3e3fb-5655-11ee-8401-675ed0f8e89b"},"arrayField":["qypXlsuv","GqLZ","eEFhjc","XAmcAF","VWAwrTLXw","pSWaRUGD"],"boolField":false,"intField":-827,"numField":-69.40012659270745,"objField":{"DHIO":-3721161216507130485,"KAmjGwRGCC":-1491191785564463991,"OiowI":-26445631759568339,"WWcBifwho":-9078913880170647642,"XqxMR":2352756015393397118,"edduuF":8228065312124643370,"lIECKctiFx":3298900782334852366,"nSfdLGRxW":-5552552071549503551,"nikls":7631068154227406264,"wZBmi":-6990939963949268843},"stringDateField":"1983-03-09","stringDateTimeField":"2002-05-30T12:14:43Z","stringField":"pHQRS","stringTimeField":"12:28:20.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":-827,"numField":-69.40012659270745,"stringDateField":"1983-03-09","stringDateTimeField":"2002-05-30T12:14:43Z","stringField":"pHQRS","stringTimeField":"12:28:20.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":289,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":289,"uuid":"9de3e3fb-5655-11ee-8801-675ed0f8e89b"},"arrayField":["IbTEzdkCpZ"],"boolField":false,"intField":-618,"numField":888.5854387287806,"objField":{"BknKyxHQ":8439180473168294866,"Ympbfi":5776987572593170274,"dpDRbSBRle":6591178088706674921,"gomphUuAD":-5787559774162237756,"pFMNFfZW":-8209388189732610335,"sukT":3214789079438967838,"xYHmsqeE":7586106251212931237},"stringDateField":"1937-05-02","stringDateTimeField":"1944-10-29T12:45:37Z","stringField":"FkeHXRdTVb","stringTimeField":"01:01:40.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":-618,"numField":888.5854387287806,"stringDateField":"1937-05-02","stringDateTimeField":"1944-10-29T12:45:37Z","stringField":"FkeHXRdTVb","stringTimeField":"01:01:40.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":290,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":290,"uuid":"9de3e3fb-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["jOzxDjHQg","mYea","offscjTz","zDydZVryuo","tuecyN"],"boolField":false,"intField":602,"numField":-862.0432815377857,"objField":{"DLDEzfaQv":587722005595220310,"DNrHLA":7168957913249702886,"Palsokz":-1461639147930367270,"XABBzShQUw":2331883184685433098,"cJUJre":3097015115967353648,"dqXUdESWqc":-1473323754640314083,"hDOxlWJrSs":3479274889915640004,"uoAabUPqe":-3749426789103127605},"stringDateField":"1946-12-28","stringDateTimeField":"1964-01-27T16:35:16Z","stringField":"KKExzDISd","stringTimeField":"03:39:49.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":602,"numField":-862.0432815377857,"stringDateField":"1946-12-28","stringDateTimeField":"1964-01-27T16:35:16Z","stringField":"KKExzDISd","stringTimeField":"03:39:49.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":291,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":291,"uuid":"9de3e3fb-5655-11ee-9001-675ed0f8e89b"},"arrayField":["PglIs","HvRe","tnFgHsS","ozpLSNiJCR","lyyNsrYQOu","TEINhh","zMgewpKxKe","lqNzpY","ztWdfKy","xIioJIql"],"boolField":false,"intField":904,"numField":148.63789652740422,"objField":{"BwfKbLrmo":7977649946298383736,"hvnB":-2464795747910002674,"ydVDujoud":3559139149884681448},"stringDateField":"1935-02-26","stringDateTimeField":"1946-04-27T12:40:05Z","stringField":"BLofT","stringTimeField":"20:24:52.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":904,"numField":148.63789652740422,"stringDateField":"1935-02-26","stringDateTimeField":"1946-04-27T12:40:05Z","stringField":"BLofT","stringTimeField":"20:24:52.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":292,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":292,"uuid":"9de3e3fb-5655-11ee-9401-675ed0f8e89b"},"arrayField":["xlrFmjy","SYdFcpbef","NUvknpFBB","CKdBEfKc","efjMjHj","vwWcAKtCO","GXetXXuxjy","toYYScNbna","TwemveITRz","QEfHpRojPL"],"boolField":false,"intField":21,"numField":-44.14815642526371,"objField":{"XAYjDi":3208753238885577116,"tGslD":-8747746410704998947},"stringDateField":"1918-09-30","stringDateTimeField":"1928-07-13T14:00:54Z","stringField":"POsp","stringTimeField":"12:22:22.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":21,"numField":-44.14815642526371,"stringDateField":"1918-09-30","stringDateTimeField":"1928-07-13T14:00:54Z","stringField":"POsp","stringTimeField":"12:22:22.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":293,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":293,"uuid":"9de3e3fb-5655-11ee-9801-675ed0f8e89b"},"arrayField":["LSko","nJrz"],"boolField":false,"intField":148,"numField":-990.8000391128672,"objField":{"vkzLsLG":3484051554820251870},"stringDateField":"2005-07-29","stringDateTimeField":"1989-04-23T20:41:44Z","stringField":"YOAVxVy","stringTimeField":"09:22:45.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":148,"numField":-990.8000391128672,"stringDateField":"2005-07-29","stringDateTimeField":"1989-04-23T20:41:44Z","stringField":"YOAVxVy","stringTimeField":"09:22:45.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":294,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":294,"uuid":"9de3e3fb-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ZoLoXatXDW","OKhM","pWqRyODD","vSdYKb","bCBg","QkJJs","HpIVr","mJWybw","lYLOJxUfCl","pFJHqe"],"boolField":true,"intField":-409,"numField":-569.4169915056691,"objField":{"hqIMOn":8598695430538729559},"stringDateField":"1921-10-31","stringDateTimeField":"2013-09-11T16:19:20Z","stringField":"NRtEstBXA","stringTimeField":"17:15:34.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":-409,"numField":-569.4169915056691,"stringDateField":"1921-10-31","stringDateTimeField":"2013-09-11T16:19:20Z","stringField":"NRtEstBXA","stringTimeField":"17:15:34.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":295,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":295,"uuid":"9de3e3fb-5655-11ee-a001-675ed0f8e89b"},"arrayField":["liXSKf","cYNew","ZrFMl","ZwMIbR","fTmUkRFN","njkEj","nexn","mfTvDnVQJ"],"boolField":true,"intField":-587,"numField":-358.33885525636356,"objField":{"GxoHmeyRqa":-4586397177874827234,"JidRw":-8969396934306911208,"LmgQp":928779234932975555,"VqbV":-4783884109101428592,"aKlboS":-6911713359478622284,"dzxAMOvj":-1513369725213623048,"jGTZl":5146921209727532516,"wsMPFfKXH":2473883283667025735},"stringDateField":"1904-07-30","stringDateTimeField":"1909-07-10T18:02:39Z","stringField":"wtVkdIqkTF","stringTimeField":"09:29:07.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":-587,"numField":-358.33885525636356,"stringDateField":"1904-07-30","stringDateTimeField":"1909-07-10T18:02:39Z","stringField":"wtVkdIqkTF","stringTimeField":"09:29:07.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":296,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":296,"uuid":"9de3e3fb-5655-11ee-a401-675ed0f8e89b"},"arrayField":["BgQkmXnSiA","LMayOUVaM","mCmFE","IczcXLF"],"boolField":true,"intField":790,"numField":-67.6726300304219,"objField":{"LLOEqUi":-1201016087325603960,"eIVaf":446305326780890884,"uwuQ":1342751453235719462,"vtvisHoKdq":1492841190210776658},"stringDateField":"1978-01-06","stringDateTimeField":"1934-04-15T13:39:36Z","stringField":"eVHHmwhQSJ","stringTimeField":"20:03:17.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":790,"numField":-67.6726300304219,"stringDateField":"1978-01-06","stringDateTimeField":"1934-04-15T13:39:36Z","stringField":"eVHHmwhQSJ","stringTimeField":"20:03:17.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":297,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":297,"uuid":"9de3e3fb-5655-11ee-a801-675ed0f8e89b"},"arrayField":["jpbXMl","aYQiVXN","AHBB","jbbWv","kDMjkUSJJ","yLlSYio","FaHVBrd"],"boolField":false,"intField":-582,"numField":-86.79756425499806,"objField":{"AJdkW":-470834538545494790,"GpuplJvg":8659712335291121678,"LRic":1074724131594749052,"PepmR":5950702378991730511,"RcNqGwYBO":4482102829681476381,"qgffkS":-7133525504259487616,"uZgnrdMJ":-585365150513911778},"stringDateField":"1913-12-31","stringDateTimeField":"1997-07-21T00:43:08Z","stringField":"rCuNd","stringTimeField":"01:59:39.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":-582,"numField":-86.79756425499806,"stringDateField":"1913-12-31","stringDateTimeField":"1997-07-21T00:43:08Z","stringField":"rCuNd","stringTimeField":"01:59:39.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":298,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":298,"uuid":"9de3e3fb-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["dTCM","nmje"],"boolField":false,"intField":362,"numField":-168.9655936753176,"objField":{"IQRbaDvv":-8636906797901255551,"NRvRQpTyO":-4634529786187944517,"TjQTbPQhXi":-8121047893736013488,"UWvyVhc":3127133024987276480,"VhEVpVmq":-8838760265578103873,"euKPbL":2081141694031739031,"gAdIv":-2956439913422937109,"nDEdLfs":-6362513064454476854,"oVDyViZhL":-6251715311867496357,"qYdYqQuKi":-8704548805175894859},"stringDateField":"1956-06-10","stringDateTimeField":"2004-04-02T09:36:06Z","stringField":"eFoVVjroWQ","stringTimeField":"17:46:44.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":362,"numField":-168.9655936753176,"stringDateField":"1956-06-10","stringDateTimeField":"2004-04-02T09:36:06Z","stringField":"eFoVVjroWQ","stringTimeField":"17:46:44.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":299,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":299,"uuid":"9de3e3fb-5655-11ee-b001-675ed0f8e89b"},"arrayField":["sBbnp","XMYKNz","ftHAU","AZxlkk","Ijhiu","hUPcZt","OnNrYjHn"],"boolField":true,"intField":878,"numField":631.4713068487162,"objField":{"NrgA":854241687328531042,"OSZFfsJ":6581870821383100757,"VvsNwRd":-8691037145968627770,"wIBkI":3106379734236343279,"yxxVN":-697755684328179866},"stringDateField":"1992-07-11","stringDateTimeField":"1948-03-25T03:32:55Z","stringField":"XhImjExIt","stringTimeField":"12:11:15.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":878,"numField":631.4713068487162,"stringDateField":"1992-07-11","stringDateTimeField":"1948-03-25T03:32:55Z","stringField":"XhImjExIt","stringTimeField":"12:11:15.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":300,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":300,"uuid":"9de3e3fb-5655-11ee-b401-675ed0f8e89b"},"arrayField":["PsxPP"],"boolField":true,"intField":328,"numField":-469.63312368371913,"objField":{"AXcRfJYdTs":3681792964013384184,"HcShQPBdGE":5220653333430723939,"JjCFxL":-3011304002234044087,"rfPo":2273969887639085808,"zCalULbtDz":3663643430548925607,"zKCmYEAj":-742105279745100371},"stringDateField":"2008-05-07","stringDateTimeField":"1942-11-04T03:59:37Z","stringField":"aTVlas","stringTimeField":"19:46:54.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":328,"numField":-469.63312368371913,"stringDateField":"2008-05-07","stringDateTimeField":"1942-11-04T03:59:37Z","stringField":"aTVlas","stringTimeField":"19:46:54.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":301,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":301,"uuid":"9de3e3fb-5655-11ee-b801-675ed0f8e89b"},"arrayField":["WLixHn","xGKkZvN","Ujrq","FHTYC","gYRYoKW","JqCGUmX"],"boolField":true,"intField":349,"numField":-538.1571535243918,"objField":{"aVtDnjE":3587900298511297416,"aWwsWQuXF":-6684124944822560762,"dpKQoIcmF":-4134215434638906845,"hDCO":3221377145029561746,"lNmcT":850206102766334467,"oJMZLbEAr":5243266749438446918},"stringDateField":"1953-06-16","stringDateTimeField":"1954-09-28T04:54:15Z","stringField":"yrRA","stringTimeField":"18:11:20.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":349,"numField":-538.1571535243918,"stringDateField":"1953-06-16","stringDateTimeField":"1954-09-28T04:54:15Z","stringField":"yrRA","stringTimeField":"18:11:20.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":302,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":302,"uuid":"9de3e3fb-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["IKpGYW"],"boolField":true,"intField":-185,"numField":-343.93745550157416,"objField":{"DqxbygGRp":7906397674341882786,"JHgImQM":512086851635851374,"OZUhKInWU":-6543630857911575678,"OkDLbfW":7273130061066462477,"XhebxwS":6323236303255248186,"resJA":-1210872209528155710},"stringDateField":"2004-10-07","stringDateTimeField":"1991-09-19T09:01:20Z","stringField":"kJxLILSNA","stringTimeField":"18:21:34.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230907Z","intField":-185,"numField":-343.93745550157416,"stringDateField":"2004-10-07","stringDateTimeField":"1991-09-19T09:01:20Z","stringField":"kJxLILSNA","stringTimeField":"18:21:34.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":303,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":303,"uuid":"9de3e3fc-5655-11ee-8001-675ed0f8e89b"},"arrayField":["VxoRN","XJyLoLSQNv","fKFYse","nDeFtxWWp","ksGzNUL","RNQdcx","MvBQZhBtP","EmtjLHycCe","gnDDAMZId","gmJEjvGN"],"boolField":false,"intField":-180,"numField":-374.2094263306061,"objField":{"PDRMWPGw":-1136604782803006123,"jTBo":-3412363477336509867},"stringDateField":"1991-03-21","stringDateTimeField":"1980-06-10T17:43:20Z","stringField":"oGhrOxkIb","stringTimeField":"14:20:11.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-180,"numField":-374.2094263306061,"stringDateField":"1991-03-21","stringDateTimeField":"1980-06-10T17:43:20Z","stringField":"oGhrOxkIb","stringTimeField":"14:20:11.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":304,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":304,"uuid":"9de3e3fc-5655-11ee-8401-675ed0f8e89b"},"arrayField":["kUTPIOVz","jyqYoNv","uHBmQz"],"boolField":false,"intField":-48,"numField":-380.17600607186085,"objField":{"GzFhUJLx":-2301864411354448546,"bBhKY":3528775989477663921,"mCcxsWHHjv":-5454312741299853947,"nPDJDCqZ":-8126145562464773213,"rSZHq":4325206813885283155},"stringDateField":"2004-08-24","stringDateTimeField":"1923-02-21T12:07:02Z","stringField":"NtnsylSv","stringTimeField":"23:03:56.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-48,"numField":-380.17600607186085,"stringDateField":"2004-08-24","stringDateTimeField":"1923-02-21T12:07:02Z","stringField":"NtnsylSv","stringTimeField":"23:03:56.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":305,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":305,"uuid":"9de3e3fc-5655-11ee-8801-675ed0f8e89b"},"arrayField":["xkUpU","rSXTjCi","vhzfCwjaB"],"boolField":false,"intField":560,"numField":-932.8457636594212,"objField":{"BZmtdfL":-6798502351584170131,"PVHmML":-3900438106574100141,"UxhRxMOdT":-4659835528981712304,"XeloY":6064352677112173543,"avFKg":7818821394372721193,"gGIPJIpHl":5963508314653377291,"lWrh":3676923425927569812,"vJkXoBuZ":3153268165428528765},"stringDateField":"2013-05-16","stringDateTimeField":"1915-09-05T07:26:53Z","stringField":"hoJIHRzIo","stringTimeField":"06:43:16.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":560,"numField":-932.8457636594212,"stringDateField":"2013-05-16","stringDateTimeField":"1915-09-05T07:26:53Z","stringField":"hoJIHRzIo","stringTimeField":"06:43:16.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":306,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":306,"uuid":"9de3e3fc-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["HWRUZ","lhMP"],"boolField":true,"intField":279,"numField":793.4045041042716,"objField":{"CfnoqR":-4368249508750088550,"WQctvXGit":-6701907276528255605,"YzbPvncst":-5877173871093645542,"bYXdDBWRUZ":-6937916135454316636,"cQBF":-8127458069158359524,"gIeckmnqBE":746627144312928228,"oyHsluzhJU":-6356491741856449324,"xUhvJpkVOq":-3883564945658081233,"yZPBV":5390522811409028179,"zUGQStI":-2742238524393884056},"stringDateField":"1903-05-22","stringDateTimeField":"1996-10-17T23:10:58Z","stringField":"IHiGTy","stringTimeField":"02:15:31.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":279,"numField":793.4045041042716,"stringDateField":"1903-05-22","stringDateTimeField":"1996-10-17T23:10:58Z","stringField":"IHiGTy","stringTimeField":"02:15:31.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":307,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":307,"uuid":"9de3e3fc-5655-11ee-9001-675ed0f8e89b"},"arrayField":["TImfHdk","HUZTikEOwB","FHtSUhfYIv","DWGtr"],"boolField":false,"intField":-729,"numField":822.8955275143945,"objField":{"DomCOVsM":4542548904455862593,"XvqBNw":5602081846805403098,"ZnQQtIUPb":7380283542415110385,"bJxFC":-8027211977816612067,"euHAY":-7903108693545058930,"gyjXDes":8383425437160179652,"pbruknBJb":-2796694323552529433},"stringDateField":"1997-08-06","stringDateTimeField":"1989-11-28T14:45:09Z","stringField":"AxYH","stringTimeField":"00:26:45.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-729,"numField":822.8955275143945,"stringDateField":"1997-08-06","stringDateTimeField":"1989-11-28T14:45:09Z","stringField":"AxYH","stringTimeField":"00:26:45.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":308,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":308,"uuid":"9de3e3fc-5655-11ee-9401-675ed0f8e89b"},"arrayField":["Hgey","lbcU","mDfOUxO","RfEu","GlLBSer","jtOd","fjWDbY","HnRJUEaC"],"boolField":true,"intField":-147,"numField":347.43476367559924,"objField":{"iKuptQ":-907946183814128112,"xhyxPeHcQ":-8922088933959842128,"zYIW":-4010270598819095623},"stringDateField":"1931-09-08","stringDateTimeField":"1970-02-23T11:09:25Z","stringField":"aYUolqswX","stringTimeField":"11:43:10.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-147,"numField":347.43476367559924,"stringDateField":"1931-09-08","stringDateTimeField":"1970-02-23T11:09:25Z","stringField":"aYUolqswX","stringTimeField":"11:43:10.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":309,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":309,"uuid":"9de3e3fc-5655-11ee-9801-675ed0f8e89b"},"arrayField":["MnsHRA"],"boolField":true,"intField":-907,"numField":-685.1389274388923,"objField":{"AnmGHjK":6433424072043625933,"VZRuFmsY":-5135489570672378744,"kKOjQAPNb":-4308041924081510723},"stringDateField":"1936-04-24","stringDateTimeField":"1985-09-28T08:33:40Z","stringField":"LsWGE","stringTimeField":"04:44:46.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-907,"numField":-685.1389274388923,"stringDateField":"1936-04-24","stringDateTimeField":"1985-09-28T08:33:40Z","stringField":"LsWGE","stringTimeField":"04:44:46.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":310,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":310,"uuid":"9de3e3fc-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["CJkLPl","ReKeHjcYJ","GgGPgFIhu","RHIhMl","DdGwsj","sSIVRq","uSVp"],"boolField":false,"intField":-804,"numField":-250.12223222561235,"objField":{"IRMRDmhCKD":-5932179941745943401,"PAXjTT":-2773831002304769927,"PjOfK":5234091651159881012,"cafRzFc":-1221206502773167924,"mTDuooxY":-4643395552320380109,"nVSlCIK":1602678291509407165,"riao":-4467849795238988779,"wCnxLpE":5315953199420116933,"yOPVQFIl":4968814003766045483},"stringDateField":"1980-10-24","stringDateTimeField":"1944-04-11T04:28:58Z","stringField":"dRzLon","stringTimeField":"22:47:19.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-804,"numField":-250.12223222561235,"stringDateField":"1980-10-24","stringDateTimeField":"1944-04-11T04:28:58Z","stringField":"dRzLon","stringTimeField":"22:47:19.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":311,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":311,"uuid":"9de3e3fc-5655-11ee-a001-675ed0f8e89b"},"arrayField":["pDdOtGDNZE","SiyaUuAJC","EiHlDW","bEWaMKH","fNpBV","WGvBV","kyfRsWy","SwcrGdRA","prEt","DVYNuhTOw"],"boolField":false,"intField":196,"numField":124.21209781728317,"objField":{"AlvbhDtUDP":6998670413710003362,"CCnyJzj":-745900456817076816,"EUXcMpjQ":-7613783112209493485,"JFEk":6665983775038366875,"JzMxu":-4588609569943438475,"vSgytNpSH":-7439627704164381546},"stringDateField":"1933-07-17","stringDateTimeField":"1947-03-31T01:25:52Z","stringField":"CFeBd","stringTimeField":"12:39:32.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":196,"numField":124.21209781728317,"stringDateField":"1933-07-17","stringDateTimeField":"1947-03-31T01:25:52Z","stringField":"CFeBd","stringTimeField":"12:39:32.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":312,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":312,"uuid":"9de3e3fc-5655-11ee-a401-675ed0f8e89b"},"arrayField":["YtpnyZxpf","YdosNQI","EwprwXUBjf","PKEGG"],"boolField":false,"intField":-548,"numField":557.2785307910403,"objField":{"PQpgbomm":1114393389298731061,"YCbfPJhGy":7402476048386274213,"YNrfgLZlo":4096322395033854453,"cdeAoL":-904356165830484191,"jbcdjOzJG":9002288642231813138,"nQAOPbBDn":4694744368099683478,"uATHX":-580387472244249461,"yjlmpkvxE":-2714769566699749198,"zsbcLHYMeV":-4232271547807793491},"stringDateField":"1937-08-06","stringDateTimeField":"2018-12-29T10:32:52Z","stringField":"oytEc","stringTimeField":"16:39:46.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-548,"numField":557.2785307910403,"stringDateField":"1937-08-06","stringDateTimeField":"2018-12-29T10:32:52Z","stringField":"oytEc","stringTimeField":"16:39:46.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":313,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":313,"uuid":"9de3e3fc-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ZqFIbX","PhsaWfsjcy","TiavFDl","BpDKzXYe","nIxgq","YMXdDLzDdr","LIxwi","Vssjys","WZjeYIl"],"boolField":true,"intField":-567,"numField":-937.5135095699492,"objField":{"QSwL":7369899886755033332,"UPTsqSHT":-2063274862162861065,"bluCcKixRu":-1211663769856939739,"gujgndQD":6322541251178427489,"iPNtHHz":6411709217178867238,"pusa":828883864987058303,"sWOqNyRWj":4195418783085075436,"xuMek":1244665507806404372},"stringDateField":"1988-12-23","stringDateTimeField":"1926-12-03T04:21:01Z","stringField":"pyYXU","stringTimeField":"00:36:16.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-567,"numField":-937.5135095699492,"stringDateField":"1988-12-23","stringDateTimeField":"1926-12-03T04:21:01Z","stringField":"pyYXU","stringTimeField":"00:36:16.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":314,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":314,"uuid":"9de3e3fc-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["FPHicSs","Jcky","lSBY","foXKWSWdTP","RzNuTeeKK","WUSA","JlZW","VqkacKiI","QpPLHv","PgJVAV"],"boolField":true,"intField":-23,"numField":604.8973379313979,"objField":{"NSBvcy":-1131466573392251800,"RtGKRb":8231055970564772368,"idVhbVP":-5779329760084907972,"qLFfAr":-8392569442387976873,"wWjmfQoZe":-5365359245935717730},"stringDateField":"1924-05-11","stringDateTimeField":"2012-08-15T17:57:24Z","stringField":"DaQSnq","stringTimeField":"17:02:28.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-23,"numField":604.8973379313979,"stringDateField":"1924-05-11","stringDateTimeField":"2012-08-15T17:57:24Z","stringField":"DaQSnq","stringTimeField":"17:02:28.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":315,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":315,"uuid":"9de3e3fc-5655-11ee-b001-675ed0f8e89b"},"arrayField":["xFEbpZD","rmgB","ftzY","ubAvKp","ubQnW","lfmfYxdRf","TWOWuOBQ"],"boolField":true,"intField":-253,"numField":5.908177163320483,"objField":{"EMjxJmY":3302575882498754817,"FKLWoN":-4137567208031733094,"MKKMnpufcI":3159668186066234463,"TbySYGDUyE":2971166546788414447,"hVkASVrrs":8825180344213908807,"syUwcz":-4274576991046797379},"stringDateField":"1983-03-11","stringDateTimeField":"1913-04-21T21:50:27Z","stringField":"NytrZIxXY","stringTimeField":"11:50:54.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-253,"numField":5.908177163320483,"stringDateField":"1983-03-11","stringDateTimeField":"1913-04-21T21:50:27Z","stringField":"NytrZIxXY","stringTimeField":"11:50:54.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":316,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":316,"uuid":"9de3e3fc-5655-11ee-b401-675ed0f8e89b"},"arrayField":["IMKe","HBZk","JWAy","eBAintb","JHIEqikUiI","mWPmUP","FeYKd","CwLHSh","LxuVunO"],"boolField":true,"intField":-646,"numField":774.6912543736923,"objField":{"BIZqsnE":6921066691613167342,"NXayx":-2344424912279329266,"RnblILQzYM":8208838537719475200,"WygicqC":1181317332107371828,"hQGzPO":-1789751969626701576,"mbziw":-636585866315013471,"skGlIwkW":-7816992950707262952,"xxBjLR":2705489563182823162},"stringDateField":"1929-09-01","stringDateTimeField":"2014-09-20T19:41:26Z","stringField":"iebxJxC","stringTimeField":"11:53:32.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-646,"numField":774.6912543736923,"stringDateField":"1929-09-01","stringDateTimeField":"2014-09-20T19:41:26Z","stringField":"iebxJxC","stringTimeField":"11:53:32.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":317,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":317,"uuid":"9de3e3fc-5655-11ee-b801-675ed0f8e89b"},"arrayField":["elqqDvj","uirKUn","tozh","sSTOXU","AnAXIrXWVK","dkFYLZsBY","KgiTPqGaa","udstb","eMDFZteQq"],"boolField":true,"intField":-321,"numField":327.536538332166,"objField":{"idVTxl":-6968500566439017354,"sEvsm":-7425099137409666300},"stringDateField":"1936-12-19","stringDateTimeField":"1900-06-06T03:14:25Z","stringField":"HPzyZveGAA","stringTimeField":"08:13:04.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-321,"numField":327.536538332166,"stringDateField":"1936-12-19","stringDateTimeField":"1900-06-06T03:14:25Z","stringField":"HPzyZveGAA","stringTimeField":"08:13:04.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":318,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":318,"uuid":"9de3e3fc-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["tHwPEiFquS","eflouMk","NvqlH","yiwEqcCC"],"boolField":false,"intField":-105,"numField":-604.6548264572442,"objField":{"Annl":-5858541842021319069,"SPEOYiG":6707538337608664133,"USKFjLj":3419350313095619508},"stringDateField":"2005-04-05","stringDateTimeField":"1928-01-05T16:51:31Z","stringField":"rpHd","stringTimeField":"01:42:32.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230908Z","intField":-105,"numField":-604.6548264572442,"stringDateField":"2005-04-05","stringDateTimeField":"1928-01-05T16:51:31Z","stringField":"rpHd","stringTimeField":"01:42:32.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":319,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":319,"uuid":"9de3e3fd-5655-11ee-8001-675ed0f8e89b"},"arrayField":["NFZsil","QncDazoXW","qZkzdj","iXvC","WGVgRFo","bCeu"],"boolField":false,"intField":943,"numField":-819.1514928547025,"objField":{"Ognou":-833579065482341081,"PXAZAcEvCO":4540534303143595056,"QVQD":4138669287193560198,"RQyTSKOIwJ":-1527050117070837761,"msUbXGB":2746287742525496736,"nxCTTtmwWp":4135710582671719494,"vCaqROfA":1168479529860983719,"vEUMnRkmE":-3364328512046148911},"stringDateField":"1900-07-01","stringDateTimeField":"1994-11-24T15:41:33Z","stringField":"OlfGvtWiT","stringTimeField":"23:40:05.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":943,"numField":-819.1514928547025,"stringDateField":"1900-07-01","stringDateTimeField":"1994-11-24T15:41:33Z","stringField":"OlfGvtWiT","stringTimeField":"23:40:05.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":320,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":320,"uuid":"9de3e3fd-5655-11ee-8401-675ed0f8e89b"},"arrayField":["kziMohWzCh","LAnFmcFI","morAiyp","QiJUYc"],"boolField":true,"intField":-866,"numField":593.9376076268142,"objField":{"AAADZCiVH":6588119407083210250,"CCItDbv":-8323146365169617695,"DmCRsPKZtc":-5520210500831963807,"LEYO":1184890412843633539,"UDcVvpf":470822408505665135,"sXnN":7559384003658586091,"xJqrRp":-8225544143109913696},"stringDateField":"1969-05-11","stringDateTimeField":"1942-09-18T18:50:38Z","stringField":"yOEkSVmQZH","stringTimeField":"20:59:18.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":-866,"numField":593.9376076268142,"stringDateField":"1969-05-11","stringDateTimeField":"1942-09-18T18:50:38Z","stringField":"yOEkSVmQZH","stringTimeField":"20:59:18.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":321,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":321,"uuid":"9de3e3fd-5655-11ee-8801-675ed0f8e89b"},"arrayField":["SkWUe"],"boolField":false,"intField":878,"numField":810.391386180834,"objField":{"BxrFujl":-4488431908148952545,"CrBUVlfi":8585694493455379260,"DyAYPNoUI":6134466508062446797,"MrRSFR":-7683229953801552406,"SkyLBMUfBF":-3538583873638176616,"SxSVQNMu":-6240773682160390598,"VLuRgYA":-1694815765634877568},"stringDateField":"1937-10-17","stringDateTimeField":"1900-03-03T05:59:17Z","stringField":"AIOTsjYhwZ","stringTimeField":"01:44:14.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":878,"numField":810.391386180834,"stringDateField":"1937-10-17","stringDateTimeField":"1900-03-03T05:59:17Z","stringField":"AIOTsjYhwZ","stringTimeField":"01:44:14.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":322,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":322,"uuid":"9de3e3fd-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["xDHkGypfoO","RmEu","YNDd","wflq","watlJOK","vmTUKKcsK"],"boolField":false,"intField":-804,"numField":441.5432689077187,"objField":{"bLhOpwPK":5621575926418993416,"lDNhhsbO":7704355795563546161,"sONewgo":-232989438526589727,"uMciWTVoGY":-8178867627879402876,"urbzt":902818810471136536,"yqDFXYiarW":8690501904760318698},"stringDateField":"1919-10-18","stringDateTimeField":"2021-08-06T09:42:34Z","stringField":"wtbQg","stringTimeField":"09:59:32.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":-804,"numField":441.5432689077187,"stringDateField":"1919-10-18","stringDateTimeField":"2021-08-06T09:42:34Z","stringField":"wtbQg","stringTimeField":"09:59:32.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":323,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":323,"uuid":"9de3e3fd-5655-11ee-9001-675ed0f8e89b"},"arrayField":["bloUkUFhD","SkrxCjolj","iwCHqbViBY","sAfcQOBStL","hSocdCCAn","rYID","gMBwP","VtpKwptQb","dcUVAWPriF"],"boolField":true,"intField":-948,"numField":-357.12502200563057,"objField":{"PChuhZDVzQ":4758936162640982900,"btfwZX":-4442508597012062497,"eqrF":3211906453452879049,"fWQtfLn":2836375652654474048,"gvnEE":1487319768797755828,"iGCqh":317784534836721859,"jzjdi":7014546694757427523,"svqzSKN":-6985723142196690241,"sxsxa":-2129119159043492488,"yuMRA":-6724975732603778303},"stringDateField":"1984-09-19","stringDateTimeField":"1976-07-29T18:42:34Z","stringField":"wfGt","stringTimeField":"15:06:14.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":-948,"numField":-357.12502200563057,"stringDateField":"1984-09-19","stringDateTimeField":"1976-07-29T18:42:34Z","stringField":"wfGt","stringTimeField":"15:06:14.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":324,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":324,"uuid":"9de3e3fd-5655-11ee-9401-675ed0f8e89b"},"arrayField":["hcdy","uAlFPyHx","eSNeycyu","HQQHeDnXsA","YuZsbMwbY","azSP"],"boolField":false,"intField":-690,"numField":-398.8741405252564,"objField":{"HkFlRc":-3787775199727674735,"JSJp":3485897664934160872,"MgTZB":3873429532336819985,"PrWHIRBtMJ":5514081836436929489,"ZQvw":-4253511462096984148,"gIGmZyPLq":-1001379354448654600,"jOfehA":-8364284816182672885,"jbTUjpDD":7961965157949512221,"oCzWJDARve":1696076044911078670,"pBdtyttkFF":7173859957353848451},"stringDateField":"1970-03-04","stringDateTimeField":"1958-06-13T12:55:32Z","stringField":"Vlpl","stringTimeField":"22:36:48.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":-690,"numField":-398.8741405252564,"stringDateField":"1970-03-04","stringDateTimeField":"1958-06-13T12:55:32Z","stringField":"Vlpl","stringTimeField":"22:36:48.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":325,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":325,"uuid":"9de3e3fd-5655-11ee-9801-675ed0f8e89b"},"arrayField":["YZqQ","KKFsXz","BtIXL","IdhshOEO","AdiYreRefW","UEtXIREVzU"],"boolField":true,"intField":651,"numField":975.5202582902745,"objField":{"GJeCvhu":-1594663844864302022,"GalVnIx":-4619513715663821664,"QxQchdGfN":-5285032595583673643,"xCMhXtaej":-943701271483193741},"stringDateField":"1938-05-14","stringDateTimeField":"1926-03-03T00:55:00Z","stringField":"WgMAm","stringTimeField":"07:08:18.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":651,"numField":975.5202582902745,"stringDateField":"1938-05-14","stringDateTimeField":"1926-03-03T00:55:00Z","stringField":"WgMAm","stringTimeField":"07:08:18.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":326,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":326,"uuid":"9de3e3fd-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["DhuYRGOjqq","zkol","DQoqcd","wVsUBw","PHQIRZik","TAnd","sYkFovYf","HednXY","TLVBt","xLaOsXw"],"boolField":false,"intField":389,"numField":25.251928682745508,"objField":{"RwKBywIyg":6569363564593104957,"qszN":9036931242261754985,"vPHqOqEyH":8479049058003779549,"xmIf":2859023873656020883},"stringDateField":"1980-02-04","stringDateTimeField":"1956-11-29T14:25:29Z","stringField":"usVRRAW","stringTimeField":"20:20:36.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":389,"numField":25.251928682745508,"stringDateField":"1980-02-04","stringDateTimeField":"1956-11-29T14:25:29Z","stringField":"usVRRAW","stringTimeField":"20:20:36.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":327,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":327,"uuid":"9de3e3fd-5655-11ee-a001-675ed0f8e89b"},"arrayField":["tGdM","Gqne"],"boolField":false,"intField":268,"numField":-690.1822084197522,"objField":{"WZeioKcvTp":-709302906738480220},"stringDateField":"1996-07-06","stringDateTimeField":"1942-09-02T21:56:54Z","stringField":"VoIaxqEQn","stringTimeField":"22:29:34.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":268,"numField":-690.1822084197522,"stringDateField":"1996-07-06","stringDateTimeField":"1942-09-02T21:56:54Z","stringField":"VoIaxqEQn","stringTimeField":"22:29:34.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":328,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":328,"uuid":"9de3e3fd-5655-11ee-a401-675ed0f8e89b"},"arrayField":["FhxKJfCCS"],"boolField":false,"intField":435,"numField":771.2046585268699,"objField":{"BWEX":-4722569139281459342,"PixSSLlwM":-4402742727134885242,"WvZh":-6531458022631206768,"YvgPyP":-5483214808836700724,"aGiLTvHsBU":-5697322616576976363,"tfnZT":8621142086112796488,"vCssBXHZ":-2969235931389328588},"stringDateField":"1992-12-03","stringDateTimeField":"1993-09-02T00:01:54Z","stringField":"VadIJcdZ","stringTimeField":"10:18:39.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":435,"numField":771.2046585268699,"stringDateField":"1992-12-03","stringDateTimeField":"1993-09-02T00:01:54Z","stringField":"VadIJcdZ","stringTimeField":"10:18:39.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":329,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":329,"uuid":"9de3e3fd-5655-11ee-a801-675ed0f8e89b"},"arrayField":["YNHsyeJrWF","pNVcJeT","GlYjuyKq","oIJi","PeFVaF","cWrIStCoA","bABKSM","QyTquRoSS"],"boolField":false,"intField":-653,"numField":-225.1606911505004,"objField":{"EwVSg":-1757155144018644241,"FJToFyq":-9068974967375075595,"ZKgjq":-4447363155787027784,"kQJcRXsr":-4031144755831467053,"ldmxqEeUC":-6464173023600450839,"wCtFSAxwte":1393530133281532097},"stringDateField":"1953-02-02","stringDateTimeField":"2013-10-31T20:34:42Z","stringField":"jdkV","stringTimeField":"18:01:02.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":-653,"numField":-225.1606911505004,"stringDateField":"1953-02-02","stringDateTimeField":"2013-10-31T20:34:42Z","stringField":"jdkV","stringTimeField":"18:01:02.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":330,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":330,"uuid":"9de3e3fd-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["WrGTKW","JwrL","GjaDrHbUeW","KzFIwdkR","qmOgkRPN","HOZKktFdj","wSoMpxP","xONUyJYkI"],"boolField":true,"intField":-253,"numField":960.2277924819944,"objField":{"uHsfj":-3823570561453218590},"stringDateField":"1945-06-16","stringDateTimeField":"1935-12-01T20:26:33Z","stringField":"SgojmeP","stringTimeField":"16:49:32.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":-253,"numField":960.2277924819944,"stringDateField":"1945-06-16","stringDateTimeField":"1935-12-01T20:26:33Z","stringField":"SgojmeP","stringTimeField":"16:49:32.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":331,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":331,"uuid":"9de3e3fd-5655-11ee-b001-675ed0f8e89b"},"arrayField":["WpEBERAd","gNpw","KnZzWg"],"boolField":true,"intField":802,"numField":-787.6911610843409,"objField":{"CPgLsN":9064167396729184465,"IsmgmzcLN":7574345374855370213,"jPonxAFcL":-4348891970321578853,"xGSS":8632604444986965897},"stringDateField":"1910-01-27","stringDateTimeField":"1969-12-29T05:43:07Z","stringField":"GHvGs","stringTimeField":"20:29:12.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":802,"numField":-787.6911610843409,"stringDateField":"1910-01-27","stringDateTimeField":"1969-12-29T05:43:07Z","stringField":"GHvGs","stringTimeField":"20:29:12.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":332,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":332,"uuid":"9de3e3fd-5655-11ee-b401-675ed0f8e89b"},"arrayField":["omOTQbIxTH","WjhOtORvEZ","lmZX","Foxhvcle","LYAXYLIMoV","qBTTulPv","gjQZhzO","ooytO","kKfkaO"],"boolField":false,"intField":-453,"numField":-708.6818930388869,"objField":{"IrNYNvU":3834027440782136224,"LprtaAZ":1144262855872013207,"Punll":-8351495970219042897,"QVHxmuzJ":4043965051832532195,"TTWmZCHWkH":-7404268040290360884,"UTPZlxzcx":2554289373836377372,"YZVNEgUH":7132012351025020020,"gVPokAo":8376580287493715392,"wYDvZNIN":-5629655385679865629},"stringDateField":"1977-11-23","stringDateTimeField":"1944-07-10T02:24:51Z","stringField":"LepMYNypXN","stringTimeField":"02:02:59.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":-453,"numField":-708.6818930388869,"stringDateField":"1977-11-23","stringDateTimeField":"1944-07-10T02:24:51Z","stringField":"LepMYNypXN","stringTimeField":"02:02:59.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":333,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":333,"uuid":"9de3e3fd-5655-11ee-b801-675ed0f8e89b"},"arrayField":["wDkt","ZGRXM","MuzAcfY","IVYFLzLJG","uGNLiC"],"boolField":false,"intField":54,"numField":-642.8520533238041,"objField":{"ITSLbrnRwA":-624058398022402269,"JUQzCUCw":4796046165359795203,"XardohQLoo":6705389474531440326},"stringDateField":"1948-01-06","stringDateTimeField":"1901-02-03T04:06:44Z","stringField":"keoEcGf","stringTimeField":"22:04:43.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":54,"numField":-642.8520533238041,"stringDateField":"1948-01-06","stringDateTimeField":"1901-02-03T04:06:44Z","stringField":"keoEcGf","stringTimeField":"22:04:43.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":334,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":334,"uuid":"9de3e3fd-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["qshy","weKrflFzCM","XsLgpAqbd","yAdqfPTHf","TrzTUTISPg"],"boolField":false,"intField":862,"numField":-792.9556069228397,"objField":{"QMNjfuT":-6848173946740901593,"fBavVc":-1512053448394540937,"mvPQGd":-5565625879700160024},"stringDateField":"1981-06-04","stringDateTimeField":"1951-07-12T22:45:42Z","stringField":"ZkEIfwVSu","stringTimeField":"23:35:33.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230909Z","intField":862,"numField":-792.9556069228397,"stringDateField":"1981-06-04","stringDateTimeField":"1951-07-12T22:45:42Z","stringField":"ZkEIfwVSu","stringTimeField":"23:35:33.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":335,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":335,"uuid":"9de3e3fe-5655-11ee-8001-675ed0f8e89b"},"arrayField":["YUSEu","fQHJ","EogYcZJsa"],"boolField":true,"intField":-498,"numField":733.7128139669813,"objField":{"DUCKUhecu":-5941574845907402994,"GkXr":6513183445102622102,"IrFwERBGVe":6409587454390920238,"KAJDx":3692456255789337536,"PvIaZc":2204768557716189096,"SbuCvGVaG":8752824908457864042,"Uhfw":2131426454745492111,"fqcDd":8165137457857753844,"gkcTj":649459132874299720,"uQjKbvpQ":2212221455608385883},"stringDateField":"1958-01-22","stringDateTimeField":"1938-09-14T06:42:28Z","stringField":"KmWAghO","stringTimeField":"00:28:21.47Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":-498,"numField":733.7128139669813,"stringDateField":"1958-01-22","stringDateTimeField":"1938-09-14T06:42:28Z","stringField":"KmWAghO","stringTimeField":"00:28:21.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":336,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":336,"uuid":"9de3e3fe-5655-11ee-8401-675ed0f8e89b"},"arrayField":["fyqmh","LqOW","iLNxlqbo","RZkvhu","zAIoFUUI","CtJvfq","LtHzQmpl","JMrdQXm"],"boolField":true,"intField":503,"numField":-627.1107487034573,"objField":{"LWqcZEKPfE":7357437649781304352,"buWbYnEjGB":-926299729643089831,"jfAD":4334058394575393971,"lFFQ":-6482150968421700903,"mTedLLv":2365088293270258348,"oohW":7629521815648348972,"qxnVpd":2606329867516638537,"rIjUpt":3082228023306350704,"xRAOZgPb":5176101110949644482},"stringDateField":"1944-02-14","stringDateTimeField":"1935-09-16T08:11:21Z","stringField":"TIyUVm","stringTimeField":"15:07:53.22Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":503,"numField":-627.1107487034573,"stringDateField":"1944-02-14","stringDateTimeField":"1935-09-16T08:11:21Z","stringField":"TIyUVm","stringTimeField":"15:07:53.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":337,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":337,"uuid":"9de3e3fe-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ieXXerSG","xOgUfMLnU"],"boolField":true,"intField":-103,"numField":28.04091630525551,"objField":{"MdvTsjbmKV":2412508883499342791,"STbwUBoVS":-2007435333758092111,"UdbpaaXbYl":3304731339449287241,"jvErAE":-3200824484115025775,"qeHOmch":6822354073804816053},"stringDateField":"1919-10-13","stringDateTimeField":"1908-06-17T14:30:57Z","stringField":"EpvlUr","stringTimeField":"09:36:49.27Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":-103,"numField":28.04091630525551,"stringDateField":"1919-10-13","stringDateTimeField":"1908-06-17T14:30:57Z","stringField":"EpvlUr","stringTimeField":"09:36:49.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":338,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":338,"uuid":"9de3e3fe-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["oXpIdl","FLeRtS","zkevLAIP","MEqEIvlP","BZWuIfi","PQNCEwbX","BBujJTTf","ULWsP","jSOwqEvM","TlhyJXWOf"],"boolField":false,"intField":867,"numField":495.31594920353103,"objField":{"BeoRiJM":1476841283227741174,"EDHubxZT":392177107731739384,"glWAi":-8763405412077610204,"iZQUqx":-3994061195124549287,"pFXm":7802426696227461831,"saJW":-8702469496279771323,"yyTpjfEHHh":-8313790914408760813},"stringDateField":"2003-10-08","stringDateTimeField":"1992-03-19T12:25:21Z","stringField":"zdNDXTZf","stringTimeField":"19:39:37.39Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":867,"numField":495.31594920353103,"stringDateField":"2003-10-08","stringDateTimeField":"1992-03-19T12:25:21Z","stringField":"zdNDXTZf","stringTimeField":"19:39:37.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":339,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":339,"uuid":"9de3e3fe-5655-11ee-9001-675ed0f8e89b"},"arrayField":["PscaNL","ScyozPJQB","yIyvas"],"boolField":false,"intField":207,"numField":194.07273938834655,"objField":{"NXhw":7772016274798526558,"RIaNiTcQ":-2369987445487264146,"dJJivrSbeR":5470450407898550555,"ejOPfGiMX":-8072650146389614677,"qBWKWBuq":1809736823758916898,"rLZf":8755274115401296065,"sxXMoKpyqX":-3096066205598325406},"stringDateField":"1937-08-30","stringDateTimeField":"1967-05-12T21:30:22Z","stringField":"uduFvLl","stringTimeField":"03:48:12.45Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":207,"numField":194.07273938834655,"stringDateField":"1937-08-30","stringDateTimeField":"1967-05-12T21:30:22Z","stringField":"uduFvLl","stringTimeField":"03:48:12.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":340,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":340,"uuid":"9de3e3fe-5655-11ee-9401-675ed0f8e89b"},"arrayField":["pArbQpXQNJ","mJemYmya","iHTWf"],"boolField":true,"intField":-178,"numField":-633.9335902387792,"objField":{"KQvAQSjDOp":-1393620744726781581,"bfIXHDjiH":5403889741966935725,"iMzdKu":-9094464728418953794,"rTHYltT":7694684209666336483,"tmoAsWv":8359584784398313982,"uakx":-4164569661720045729},"stringDateField":"1928-04-19","stringDateTimeField":"2017-01-23T06:09:57Z","stringField":"kJDNIbj","stringTimeField":"18:42:19.40Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":-178,"numField":-633.9335902387792,"stringDateField":"1928-04-19","stringDateTimeField":"2017-01-23T06:09:57Z","stringField":"kJDNIbj","stringTimeField":"18:42:19.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":341,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":341,"uuid":"9de3e3fe-5655-11ee-9801-675ed0f8e89b"},"arrayField":["iMDW","FbLIuvS","DcFg","Phdq","ZSgN","aviAd"],"boolField":false,"intField":310,"numField":-200.50506143592617,"objField":{"isUirCqVJ":-3878647283237955759},"stringDateField":"1926-08-16","stringDateTimeField":"1927-12-11T04:15:09Z","stringField":"wiaWcPjd","stringTimeField":"06:57:23.15Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":310,"numField":-200.50506143592617,"stringDateField":"1926-08-16","stringDateTimeField":"1927-12-11T04:15:09Z","stringField":"wiaWcPjd","stringTimeField":"06:57:23.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":342,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":342,"uuid":"9de3e3fe-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["kdznglxxH","XitDzgoWF"],"boolField":false,"intField":456,"numField":469.0125674558552,"objField":{"JDGl":-6993327689667359888,"OnfTHA":837225006914975734,"oUwY":1313274194010817407,"picdFClIiP":-2422026261686888857},"stringDateField":"2016-05-16","stringDateTimeField":"1992-02-07T14:43:38Z","stringField":"GcjwDrFX","stringTimeField":"17:34:55.39Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":456,"numField":469.0125674558552,"stringDateField":"2016-05-16","stringDateTimeField":"1992-02-07T14:43:38Z","stringField":"GcjwDrFX","stringTimeField":"17:34:55.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":343,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":343,"uuid":"9de3e3fe-5655-11ee-a001-675ed0f8e89b"},"arrayField":["DToiwJ","ANaXSuQoK","QTSDpQQ"],"boolField":false,"intField":-39,"numField":-202.8505850034985,"objField":{"KXDNnnAykW":5403273846657669139,"PiaQgRoIeb":-4060273658561124113,"eXOKFFL":-448852129415510015,"hOdWAdLdTr":6452621653792048487,"lGPbb":3461202189816048584,"mGcBmMOZfi":1743553574515996322,"qmyS":-2891849173367196501,"tfcBQsuS":3372175763322806238},"stringDateField":"1942-09-30","stringDateTimeField":"1917-04-11T08:58:39Z","stringField":"KtTscmVFp","stringTimeField":"13:24:35.30Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":-39,"numField":-202.8505850034985,"stringDateField":"1942-09-30","stringDateTimeField":"1917-04-11T08:58:39Z","stringField":"KtTscmVFp","stringTimeField":"13:24:35.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":344,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":344,"uuid":"9de3e3fe-5655-11ee-a401-675ed0f8e89b"},"arrayField":["jGpGT","iJgGX","agNHTbKWCf","MgVOn","WTPpc","GygCF"],"boolField":false,"intField":387,"numField":134.3768085313366,"objField":{"DPLiwvE":3343162433729593667,"VSsavPu":2439714517173448269,"jUhBSmRg":-8149530794186660371,"vBTouMoXpj":3794713628493191831},"stringDateField":"2004-09-08","stringDateTimeField":"1906-05-17T13:36:26Z","stringField":"BBKjhamvJ","stringTimeField":"16:09:38.12Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":387,"numField":134.3768085313366,"stringDateField":"2004-09-08","stringDateTimeField":"1906-05-17T13:36:26Z","stringField":"BBKjhamvJ","stringTimeField":"16:09:38.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":345,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":345,"uuid":"9de3e3fe-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sWuXJjJgXU","aIjGxiUZWV"],"boolField":false,"intField":530,"numField":969.60460645813,"objField":{"ZJubsWoih":-7331600586988954414,"hftxUh":-9083951883947127726},"stringDateField":"1952-05-10","stringDateTimeField":"1995-10-24T14:04:31Z","stringField":"HmYCSbcl","stringTimeField":"15:47:57.42Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":530,"numField":969.60460645813,"stringDateField":"1952-05-10","stringDateTimeField":"1995-10-24T14:04:31Z","stringField":"HmYCSbcl","stringTimeField":"15:47:57.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":346,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":346,"uuid":"9de3e3fe-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["mIJoQHpSa","NyNiXQPo","BLiEHl","HtYAyxPm","tfFOzFYEi","prpPlRVYc"],"boolField":false,"intField":-843,"numField":771.018598053103,"objField":{"dufEUuZUiT":6525121999720210473},"stringDateField":"1921-09-12","stringDateTimeField":"1956-07-19T05:00:46Z","stringField":"CmZnt","stringTimeField":"02:01:08.36Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":-843,"numField":771.018598053103,"stringDateField":"1921-09-12","stringDateTimeField":"1956-07-19T05:00:46Z","stringField":"CmZnt","stringTimeField":"02:01:08.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":347,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":347,"uuid":"9de3e3fe-5655-11ee-b001-675ed0f8e89b"},"arrayField":["yDswtmEjeg","Cgwvy","OAQNYjTd","eAtruren","TqTtXrjdH"],"boolField":true,"intField":-997,"numField":858.9014473521304,"objField":{"QDfguYKWo":2455565031598963342,"UrPs":1596632490092644291,"XOIThdtLB":-4622806849495099301,"cyUTtLiBXw":-3250983267866457249,"fbSgVFovB":-4081493005914009033,"oVSWOIxDO":6887998613837804288,"rNWSRvv":-5718455042801340840,"vDEgZR":2530323011951291928,"yFkigHaY":-7037286705048009085},"stringDateField":"2016-12-01","stringDateTimeField":"1953-05-23T03:32:46Z","stringField":"Vwjb","stringTimeField":"09:26:52.48Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":-997,"numField":858.9014473521304,"stringDateField":"2016-12-01","stringDateTimeField":"1953-05-23T03:32:46Z","stringField":"Vwjb","stringTimeField":"09:26:52.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":348,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":348,"uuid":"9de3e3fe-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ciuechvMZ","BCnfKz","wmgNCnbBqH","khyUh","pARKMFaW","jGnm","yPjQwBWe","xdnopfQHd"],"boolField":false,"intField":976,"numField":451.1508206083961,"objField":{"BTTRdrphAb":5821677887489522811,"INHKTkeBsv":7228838028621414278,"OUafpSmhAo":-3436273111630420334,"OYXctnly":-9107502883153276580,"mFaWA":5465605216304127841,"tQmmXgab":-6024395133105732105,"uWjZAW":3680511478534305145,"wQwC":6127654363774367952,"wcXHB":5673702497292865985,"zOHDBIi":-5500845224979541742},"stringDateField":"1979-05-18","stringDateTimeField":"1974-11-27T12:04:27Z","stringField":"lWhoWb","stringTimeField":"02:25:10.40Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":976,"numField":451.1508206083961,"stringDateField":"1979-05-18","stringDateTimeField":"1974-11-27T12:04:27Z","stringField":"lWhoWb","stringTimeField":"02:25:10.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":349,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":349,"uuid":"9de3e3fe-5655-11ee-b801-675ed0f8e89b"},"arrayField":["LrLDti","EASJdUsKKp","NGPJi","ngGE"],"boolField":false,"intField":-982,"numField":639.2165693105107,"objField":{"BXiSGIaE":-7759553300789119391,"IixxmSybnf":4942182000567907517,"LDyh":-8812462774284048350,"RwvfRShat":6104932585998653195,"fbzhMb":-532976212332508970,"uKwMi":-88775329982731941,"vLTtSgzsH":1153790383388066434,"wtGaxk":-4809167765450816821},"stringDateField":"1994-09-06","stringDateTimeField":"1966-09-29T00:12:06Z","stringField":"xVUId","stringTimeField":"13:09:44.48Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":-982,"numField":639.2165693105107,"stringDateField":"1994-09-06","stringDateTimeField":"1966-09-29T00:12:06Z","stringField":"xVUId","stringTimeField":"13:09:44.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":350,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":350,"uuid":"9de3e3fe-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["GBeSH","WKQs","XfZWtzQ","JdcELai","YkfiUH","fbtvMYC","tEtk","iigmhb"],"boolField":true,"intField":-690,"numField":181.80216335962717,"objField":{"AOziMixir":-155487686855464605,"GmlJ":-1527145850496793026,"nwotv":-383332521723172400,"wgvaBiB":-467617595560498334,"ycnyOMvvS":-5856919189350702720},"stringDateField":"1924-10-10","stringDateTimeField":"1950-12-25T20:08:26Z","stringField":"iGaWK","stringTimeField":"03:03:18.14Z"},"flow_published_at":"2023-09-18T19:00:21.623091Z","intField":-690,"numField":181.80216335962717,"stringDateField":"1924-10-10","stringDateTimeField":"1950-12-25T20:08:26Z","stringField":"iGaWK","stringTimeField":"03:03:18.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":351,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":351,"uuid":"9de3e3ff-5655-11ee-8001-675ed0f8e89b"},"arrayField":["BIIHmmep"],"boolField":true,"intField":-661,"numField":-32.491253872776404,"objField":{"FGjimHgI":5849306794286419027,"GmNIepUIQU":-7387696301044371786,"bUqN":-5719303032717425545,"eWxqM":-118533193614774202,"eZrtwObzLv":-7846047207749737558},"stringDateField":"1935-07-16","stringDateTimeField":"1921-06-24T17:21:36Z","stringField":"OPQONNdDFK","stringTimeField":"22:29:09.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":-661,"numField":-32.491253872776404,"stringDateField":"1935-07-16","stringDateTimeField":"1921-06-24T17:21:36Z","stringField":"OPQONNdDFK","stringTimeField":"22:29:09.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":352,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":352,"uuid":"9de3e3ff-5655-11ee-8401-675ed0f8e89b"},"arrayField":["gWrbLa","JJofI"],"boolField":true,"intField":-16,"numField":-835.860463022587,"objField":{"AsWpWIZN":3154155637863696059,"EIlLy":-2693602946959079614,"LZehvY":-2808465193019519139,"MfunAKQxUR":4938540698550460128,"OTuAEljAJ":-1913538653380754726,"asyiWw":-6640942433164490071,"boIqQQCbxR":-4383875904707100887,"ehPOVCjUQ":1622779291518470014,"wZNUJURS":-4961711425945817800},"stringDateField":"2018-01-10","stringDateTimeField":"1916-08-30T16:22:06Z","stringField":"whOuK","stringTimeField":"12:22:33.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":-16,"numField":-835.860463022587,"stringDateField":"2018-01-10","stringDateTimeField":"1916-08-30T16:22:06Z","stringField":"whOuK","stringTimeField":"12:22:33.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":353,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":353,"uuid":"9de3e3ff-5655-11ee-8801-675ed0f8e89b"},"arrayField":["badDvYS","TNBOD","nrUYcp","lspkjRj","gStTAQ","vvJOlV","WpsgULP","sGWgsGsl","UUCIfSmIY","TgaMj"],"boolField":true,"intField":891,"numField":441.5548682389865,"objField":{"ASFbkQ":3596220032222365916,"GZDX":-6913270419578426885,"YqXKlPlxr":2646070406786597261},"stringDateField":"1976-02-14","stringDateTimeField":"1909-11-04T18:40:18Z","stringField":"ARNO","stringTimeField":"09:10:39.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":891,"numField":441.5548682389865,"stringDateField":"1976-02-14","stringDateTimeField":"1909-11-04T18:40:18Z","stringField":"ARNO","stringTimeField":"09:10:39.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":354,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":354,"uuid":"9de3e3ff-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["FVxENEy","LZca","khJSMtU","ynnRnhywdw","yrWiQvgVfw"],"boolField":true,"intField":-218,"numField":-155.76491161091312,"objField":{"HvWsyL":-4361256002339803511,"OvYGuu":-7970675554528523539,"WrcML":4906145134807984503,"nlnWVnloq":5619657314691841373,"rELIrP":-7521172130222930886},"stringDateField":"2011-01-19","stringDateTimeField":"2016-09-11T11:34:45Z","stringField":"aydgJIf","stringTimeField":"09:32:06.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":-218,"numField":-155.76491161091312,"stringDateField":"2011-01-19","stringDateTimeField":"2016-09-11T11:34:45Z","stringField":"aydgJIf","stringTimeField":"09:32:06.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":355,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":355,"uuid":"9de3e3ff-5655-11ee-9001-675ed0f8e89b"},"arrayField":["oFegVhhrgb"],"boolField":true,"intField":160,"numField":607.3250336360487,"objField":{"CchZJSz":-5255469066388024957,"SqmDC":-3181217365131126848,"UXRMIlVNz":7429037206319303134,"XkUiDJLJso":-6733927280321490342,"nCsJ":7651966251449407014,"pOdTvfR":6803530167874436076,"vUduCD":1772505308830371131},"stringDateField":"1975-10-30","stringDateTimeField":"1923-07-31T08:25:51Z","stringField":"DtdmqutW","stringTimeField":"10:35:57.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":160,"numField":607.3250336360487,"stringDateField":"1975-10-30","stringDateTimeField":"1923-07-31T08:25:51Z","stringField":"DtdmqutW","stringTimeField":"10:35:57.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":356,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":356,"uuid":"9de3e3ff-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ffrKev","GhnvImG","jClEH","IlFue","AGIST","qsvVQkcgh"],"boolField":false,"intField":720,"numField":-751.5290779763175,"objField":{"uItTEFfO":-4598050568854183791},"stringDateField":"1929-09-07","stringDateTimeField":"1902-11-28T16:04:58Z","stringField":"RFNypAljj","stringTimeField":"12:19:28.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":720,"numField":-751.5290779763175,"stringDateField":"1929-09-07","stringDateTimeField":"1902-11-28T16:04:58Z","stringField":"RFNypAljj","stringTimeField":"12:19:28.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":357,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":357,"uuid":"9de3e3ff-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ueRcAY","gOwwKqCpG","VryRc","fWSvh","lZBPJsmJ","tGpDZVZo","grfm","HypAotvws","ZUmnim"],"boolField":false,"intField":-972,"numField":868.6041365000921,"objField":{"FZfoWHr":2057030398888047196,"IxUtWMSIL":5092080849868159986,"PvWRLKatk":9153948640631362238,"iOamI":1468817825557950440,"ufIGWyIG":-4040772031667663785,"yKqYXvwJf":-3132505559637004716},"stringDateField":"1981-02-17","stringDateTimeField":"2021-01-18T15:39:46Z","stringField":"piuR","stringTimeField":"22:06:14.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":-972,"numField":868.6041365000921,"stringDateField":"1981-02-17","stringDateTimeField":"2021-01-18T15:39:46Z","stringField":"piuR","stringTimeField":"22:06:14.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":358,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":358,"uuid":"9de3e3ff-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["fFpqDH","vBgHYNgBDE","EJsVXBCMrJ","gYBNnkVx","qoqCBnEUE","CHZzFtWKD"],"boolField":true,"intField":-470,"numField":-213.7177291993519,"objField":{"APelFuvkCO":-7276647567768110809,"KpopTEiL":-4864198640958394763,"RqAMEz":-4853680111775555418,"UhCPNGHT":-3748243643657565758,"wlsQSrZL":-8164712095723601721},"stringDateField":"1964-07-26","stringDateTimeField":"2012-10-19T19:24:35Z","stringField":"WzpK","stringTimeField":"20:16:08.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":-470,"numField":-213.7177291993519,"stringDateField":"1964-07-26","stringDateTimeField":"2012-10-19T19:24:35Z","stringField":"WzpK","stringTimeField":"20:16:08.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":359,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":359,"uuid":"9de3e3ff-5655-11ee-a001-675ed0f8e89b"},"arrayField":["VPVg","dfuil","WJYaH","BgmFfF","zbDQ","clBG","JweT","CHZnQT","hXsugAVI","IGWsrPNjWE"],"boolField":false,"intField":-576,"numField":-15.739824422534078,"objField":{"GslrZTyqVH":-5856730428834424886,"IHpB":-1112947844709839348,"JeItUvLcxv":8530397760095157319,"LVgu":-8908109295493387320,"RDcWYqGbyH":-3575903506327490892,"YWqM":-3687521537905170948,"Yxza":8368011818054184785,"eFPItbJ":4759265178213665250,"quvjDHOeN":6870280479860636857,"wFsWGYma":-8806833901036320915},"stringDateField":"1991-10-09","stringDateTimeField":"1906-11-20T12:36:26Z","stringField":"PTTp","stringTimeField":"23:58:21.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":-576,"numField":-15.739824422534078,"stringDateField":"1991-10-09","stringDateTimeField":"1906-11-20T12:36:26Z","stringField":"PTTp","stringTimeField":"23:58:21.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":360,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":360,"uuid":"9de3e3ff-5655-11ee-a401-675ed0f8e89b"},"arrayField":["CsDcmstVa","pDmZXfPX","wzWfljmXC","waQT","HUFzE","oDFp","TXsepKA"],"boolField":true,"intField":769,"numField":529.7148321815616,"objField":{"AuqLUk":-3468710364889379818,"EvtR":-3355988699899293627,"JrQD":-4524614799083043476,"LEMXZQOtgk":7198280589764033716,"PrYjZB":5274249630302241917,"VwrUcex":-4510118921136727842,"XGwvoQl":1593879650892018564,"uujdtk":4222399416951846282,"vpJIqHd":1665632612290636105},"stringDateField":"1974-11-20","stringDateTimeField":"1949-02-26T14:13:00Z","stringField":"iITQ","stringTimeField":"17:50:14.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":769,"numField":529.7148321815616,"stringDateField":"1974-11-20","stringDateTimeField":"1949-02-26T14:13:00Z","stringField":"iITQ","stringTimeField":"17:50:14.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":361,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":361,"uuid":"9de3e3ff-5655-11ee-a801-675ed0f8e89b"},"arrayField":["IVlHjDgcxY","bmNRb","cNnQ","afJjlpYP","EJKva","YUEiFGTk"],"boolField":true,"intField":551,"numField":-608.5455471528262,"objField":{"rxNmoVdc":5622829672179829897,"skMFVuP":-3799631439257303469,"zYRk":-4972797830960280484},"stringDateField":"1963-11-17","stringDateTimeField":"1966-05-03T09:11:20Z","stringField":"aqAqFe","stringTimeField":"13:42:54.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":551,"numField":-608.5455471528262,"stringDateField":"1963-11-17","stringDateTimeField":"1966-05-03T09:11:20Z","stringField":"aqAqFe","stringTimeField":"13:42:54.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":362,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":362,"uuid":"9de3e3ff-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["oVNo","FhZDwbNJ","PtXGhD","vTKzGTFvW","CAFOFIdkq","mKtx","nsycEshSZ"],"boolField":true,"intField":241,"numField":496.9703631512885,"objField":{"CIkOeZ":-1975697708828920805,"MOHMIyAzpy":3623597660463828747,"PtGRpPJ":8205279287653339916,"UlTT":-449761609193363116,"WZwoAmW":-6909469994557042447,"WgeRULFk":-3043223034885025808,"tErOHRbcmF":2189160038585254576,"tiXi":-2884639194291499822,"xzMMYiCpK":1173821000438095351},"stringDateField":"1930-03-08","stringDateTimeField":"1934-03-20T02:19:11Z","stringField":"hXzn","stringTimeField":"23:12:13.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":241,"numField":496.9703631512885,"stringDateField":"1930-03-08","stringDateTimeField":"1934-03-20T02:19:11Z","stringField":"hXzn","stringTimeField":"23:12:13.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":363,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":363,"uuid":"9de3e3ff-5655-11ee-b001-675ed0f8e89b"},"arrayField":["QRNbjBpav","fjJbHo","fNsbdaOLT","LgTsqLibC","vDokAIwqC","tSqdfJD","nnZHYKsFZl","oMzkOvQUNb","zITCb"],"boolField":true,"intField":-220,"numField":-188.0536247003266,"objField":{"ixsgkuo":-3441407925795245773,"jKSNVecacP":4953725531966957281,"vXPg":4029805329490801777},"stringDateField":"1992-02-16","stringDateTimeField":"1974-03-09T12:39:37Z","stringField":"HtTx","stringTimeField":"23:04:54.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":-220,"numField":-188.0536247003266,"stringDateField":"1992-02-16","stringDateTimeField":"1974-03-09T12:39:37Z","stringField":"HtTx","stringTimeField":"23:04:54.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":364,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":364,"uuid":"9de3e3ff-5655-11ee-b401-675ed0f8e89b"},"arrayField":["DDwfRknF","DkTN","dRWc","CsFGlw","eqwATxldmE","VkaPqzBRf","DTPwQCyP","RYodVuYrDU","rtvER","kuzRmnOkWv"],"boolField":false,"intField":286,"numField":735.2171990710585,"objField":{"Dakao":-6487476874996276877,"DjqW":-3570561703836689949,"RCKVfnCH":-7793839672492632014,"UETCLKA":937680177065198630},"stringDateField":"2017-01-06","stringDateTimeField":"2012-10-26T15:01:43Z","stringField":"LUVlMoa","stringTimeField":"15:37:39.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":286,"numField":735.2171990710585,"stringDateField":"2017-01-06","stringDateTimeField":"2012-10-26T15:01:43Z","stringField":"LUVlMoa","stringTimeField":"15:37:39.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":365,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":365,"uuid":"9de3e3ff-5655-11ee-b801-675ed0f8e89b"},"arrayField":["vPUHFcoYI","USREO"],"boolField":true,"intField":-189,"numField":-814.9182693274361,"objField":{"AYUgFWr":6213849187353425889,"BBBhePQCxd":-7557168471813744446,"JQMHogEITC":-561735472194842283,"UULkdKa":345382087124822843,"Umacnz":5360863433703299116,"ZVGl":-4089786458850510431,"rIWARdokKB":-7232089661107173726,"tTNTmPoO":2466292174569596301,"tkqeTTP":2054485142284857662},"stringDateField":"1984-08-24","stringDateTimeField":"1986-06-12T12:22:10Z","stringField":"mLrofb","stringTimeField":"02:59:33.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":-189,"numField":-814.9182693274361,"stringDateField":"1984-08-24","stringDateTimeField":"1986-06-12T12:22:10Z","stringField":"mLrofb","stringTimeField":"02:59:33.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":366,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":366,"uuid":"9de3e3ff-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["jnLu","epFJuZ","exVnGLJlz","dVagoa","OXqb","KJTKFnxhiu","ZoaMtR","LjoRYpG"],"boolField":true,"intField":364,"numField":-566.1182652089034,"objField":{"ArnXV":-3715630310127234105,"KqutooJFSQ":-1404238405998642822,"dwFjapGMTY":-8864246487859924347,"rjBrG":-4459949618167952014,"rkLvIrsgl":2186785082212170814,"tCHgX":6824427160341409860,"urczdfnHM":2702093849191884572,"vjoelFUwKy":-1044159317353651165,"worAp":3066246832209371362,"zipLzzSL":2776142356969913038},"stringDateField":"1935-08-26","stringDateTimeField":"1918-11-17T23:17:23Z","stringField":"BdGTTai","stringTimeField":"22:12:35.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230911Z","intField":364,"numField":-566.1182652089034,"stringDateField":"1935-08-26","stringDateTimeField":"1918-11-17T23:17:23Z","stringField":"BdGTTai","stringTimeField":"22:12:35.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":367,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":367,"uuid":"9de3e400-5655-11ee-8001-675ed0f8e89b"},"arrayField":["pfCwCKlSoi","RXOB","zfOiBwit","NuDtNaLD","LvvmlyBq","xPpKvsX","crmPOoWrf","Awwfxrus","XPrjJqpy"],"boolField":false,"intField":-736,"numField":600.047343081207,"objField":{"PJbkr":3992060027903956242},"stringDateField":"1935-02-07","stringDateTimeField":"1948-11-11T04:25:09Z","stringField":"xmNQcLA","stringTimeField":"08:50:17.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":-736,"numField":600.047343081207,"stringDateField":"1935-02-07","stringDateTimeField":"1948-11-11T04:25:09Z","stringField":"xmNQcLA","stringTimeField":"08:50:17.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":368,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":368,"uuid":"9de3e400-5655-11ee-8401-675ed0f8e89b"},"arrayField":["fKROqzbto","AVQyGry","oCFA","WEerq","WnPwLZwh","upobOmDYh"],"boolField":true,"intField":290,"numField":201.1166966568818,"objField":{"iCDN":1953824254088795359,"jayeuhU":-1702098601275299034,"loMEUiUiu":8198559223145104947,"mJyahibGp":-1640152568534658760,"oWeyPJi":-294196453028816346,"wUNPhOiyj":-5953385253106801570,"wloSE":-7610317092848674410},"stringDateField":"1907-03-29","stringDateTimeField":"1979-09-06T01:51:31Z","stringField":"esdVBiU","stringTimeField":"08:31:42.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":290,"numField":201.1166966568818,"stringDateField":"1907-03-29","stringDateTimeField":"1979-09-06T01:51:31Z","stringField":"esdVBiU","stringTimeField":"08:31:42.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":369,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":369,"uuid":"9de3e400-5655-11ee-8801-675ed0f8e89b"},"arrayField":["usKmV","nKvKnJtuQN","rcTQaoXP"],"boolField":true,"intField":583,"numField":227.12374156613845,"objField":{"CXbdaiD":5212012923066789615,"QurDp":8230869325145367666,"tGvSjLR":-254342470432812197,"wYGbVOG":-1415299027030728753,"yMkE":6225042210614880120},"stringDateField":"1924-02-29","stringDateTimeField":"1936-01-19T06:01:00Z","stringField":"treVJA","stringTimeField":"13:33:56.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":583,"numField":227.12374156613845,"stringDateField":"1924-02-29","stringDateTimeField":"1936-01-19T06:01:00Z","stringField":"treVJA","stringTimeField":"13:33:56.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":370,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":370,"uuid":"9de3e400-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["aqRu","jKLlFQkM","mgTxLExoIf","xRbO","tZJTBdxey","MStrctdqXy","rUmiOxm","vdMjCE"],"boolField":false,"intField":863,"numField":433.0539297819216,"objField":{"BAFggznkH":-6334478941578569442,"CpbQJbaZgd":-4920946862145619177},"stringDateField":"1980-07-15","stringDateTimeField":"2002-07-28T08:03:35Z","stringField":"oKvGlkRy","stringTimeField":"18:24:59.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":863,"numField":433.0539297819216,"stringDateField":"1980-07-15","stringDateTimeField":"2002-07-28T08:03:35Z","stringField":"oKvGlkRy","stringTimeField":"18:24:59.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":371,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":371,"uuid":"9de3e400-5655-11ee-9001-675ed0f8e89b"},"arrayField":["dXeiJtppF","aHXpkqmzY","zUbRgEB"],"boolField":false,"intField":275,"numField":-706.0818937634527,"objField":{"ABVyLWgozh":7059415611838116311,"AkdjEpla":-5961148203080328045,"HTZYw":-6856056792179544562,"HxwVpU":6025974090157889481,"RGQtsAQfG":-5538899698346261233,"dwQaRWluvF":-6070920317713030841,"oMaysReik":-513992288013755898},"stringDateField":"1985-10-29","stringDateTimeField":"2010-07-01T14:43:11Z","stringField":"QGUsWQxN","stringTimeField":"10:44:31.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":275,"numField":-706.0818937634527,"stringDateField":"1985-10-29","stringDateTimeField":"2010-07-01T14:43:11Z","stringField":"QGUsWQxN","stringTimeField":"10:44:31.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":372,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":372,"uuid":"9de3e400-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ylWwYrcU","aayKtH","vtdH","iAxyqUCHet","BbXK","nhhyMSDDGh","DpqnfEKHde","nxAPJxkEAH","kVqNbYqM","IrYgBFNSJX"],"boolField":true,"intField":46,"numField":-633.5431057394694,"objField":{"NjcgnmP":6893649587181605725},"stringDateField":"1941-06-11","stringDateTimeField":"1951-11-25T11:09:08Z","stringField":"WTIjmjz","stringTimeField":"18:08:59.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":46,"numField":-633.5431057394694,"stringDateField":"1941-06-11","stringDateTimeField":"1951-11-25T11:09:08Z","stringField":"WTIjmjz","stringTimeField":"18:08:59.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":373,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":373,"uuid":"9de3e400-5655-11ee-9801-675ed0f8e89b"},"arrayField":["XHes"],"boolField":true,"intField":-882,"numField":582.1463366687448,"objField":{"RdMAs":-3413269535581423452,"kCeKOTY":-4821832924435138217,"lSEWdEitd":1305528315450859543,"ohxt":-9140700250019654907},"stringDateField":"1928-11-28","stringDateTimeField":"1984-03-01T06:28:12Z","stringField":"EnmhQWdTx","stringTimeField":"02:16:26.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":-882,"numField":582.1463366687448,"stringDateField":"1928-11-28","stringDateTimeField":"1984-03-01T06:28:12Z","stringField":"EnmhQWdTx","stringTimeField":"02:16:26.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":374,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":374,"uuid":"9de3e400-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["OYysrBpOr","nodEZMzj","KEPwcjMD","acuhCfyU","hzOZgBjBCH"],"boolField":false,"intField":976,"numField":-140.4589975472844,"objField":{"JyAfXxpM":-5082181687313984332,"LtfOj":-2839154947599278094,"MJVhzUp":1582601102940152854,"SJQZbnDuxO":-1203944519895297759,"blZiUI":2410624205848540903,"iDqFYNrU":5292295399042694158,"iprE":-6077589808170412719},"stringDateField":"1961-09-04","stringDateTimeField":"1954-04-01T13:07:46Z","stringField":"wrPaxkR","stringTimeField":"02:34:01.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":976,"numField":-140.4589975472844,"stringDateField":"1961-09-04","stringDateTimeField":"1954-04-01T13:07:46Z","stringField":"wrPaxkR","stringTimeField":"02:34:01.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":375,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":375,"uuid":"9de3e400-5655-11ee-a001-675ed0f8e89b"},"arrayField":["cCJciklVyg","FXYliwzLN","idAMYO","ycdltEowaR","HnZfl"],"boolField":true,"intField":747,"numField":76.26912304291622,"objField":{"CJEhvZtI":5027105915938206648,"yuUMRtkZKS":4447598169778363994},"stringDateField":"1957-04-16","stringDateTimeField":"1908-02-16T20:01:25Z","stringField":"JhJrhE","stringTimeField":"02:17:23.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":747,"numField":76.26912304291622,"stringDateField":"1957-04-16","stringDateTimeField":"1908-02-16T20:01:25Z","stringField":"JhJrhE","stringTimeField":"02:17:23.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":376,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":376,"uuid":"9de3e400-5655-11ee-a401-675ed0f8e89b"},"arrayField":["uwCGdwZ","TeNjx","kQuX","rdvy","UCcZq","ESvAI","ZIcHJzHeG"],"boolField":true,"intField":-27,"numField":859.2419934494919,"objField":{"HbOihIF":4634597812442197644,"LykyYkHF":-8961952501108302199,"OPbsvdLSBQ":-7031572289342544487,"XEsiwT":-9055798810416840658,"doIsSgvG":-6185208730039468044,"sixZWbUyB":-758307736949611758,"xqumfQ":1987914988370034793},"stringDateField":"1927-11-06","stringDateTimeField":"1932-02-29T10:37:28Z","stringField":"gkIs","stringTimeField":"20:23:35.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":-27,"numField":859.2419934494919,"stringDateField":"1927-11-06","stringDateTimeField":"1932-02-29T10:37:28Z","stringField":"gkIs","stringTimeField":"20:23:35.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":377,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":377,"uuid":"9de3e400-5655-11ee-a801-675ed0f8e89b"},"arrayField":["xPBTPfR","rRADK","TFNj","RYYJdU","nXbyKKqYg","lzCAGmei","gnXQxccZgC","BQyegElV"],"boolField":true,"intField":-776,"numField":529.2406286640065,"objField":{"Njry":-7657023937521589290},"stringDateField":"1994-10-02","stringDateTimeField":"1932-09-25T01:58:03Z","stringField":"VWDDVSj","stringTimeField":"07:25:46.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":-776,"numField":529.2406286640065,"stringDateField":"1994-10-02","stringDateTimeField":"1932-09-25T01:58:03Z","stringField":"VWDDVSj","stringTimeField":"07:25:46.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":378,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":378,"uuid":"9de3e400-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["urZn","JoGOgrXX","agSkEKd"],"boolField":true,"intField":-930,"numField":200.60630253369197,"objField":{"eidad":1526977850595496905,"kItQBfG":-3736712641540747554,"yutvEpohQ":-6037933391033637965},"stringDateField":"1951-07-01","stringDateTimeField":"1916-02-17T15:19:10Z","stringField":"VBbMemQMlJ","stringTimeField":"22:15:49.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":-930,"numField":200.60630253369197,"stringDateField":"1951-07-01","stringDateTimeField":"1916-02-17T15:19:10Z","stringField":"VBbMemQMlJ","stringTimeField":"22:15:49.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":379,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":379,"uuid":"9de3e400-5655-11ee-b001-675ed0f8e89b"},"arrayField":["GyUXE","XgIPg"],"boolField":false,"intField":-283,"numField":-954.3671576341138,"objField":{"BPVlqpNhQI":2580746068242535381,"Jizbzt":-2517483114964411139,"aKzuTXord":-395741998395110569,"lwxc":-5886854005651246018,"pQJFUg":-1496229480827887937,"wbvsFXNXg":-8227882478752934366},"stringDateField":"1937-04-04","stringDateTimeField":"1991-01-29T16:48:29Z","stringField":"sEOyoz","stringTimeField":"23:45:12.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":-283,"numField":-954.3671576341138,"stringDateField":"1937-04-04","stringDateTimeField":"1991-01-29T16:48:29Z","stringField":"sEOyoz","stringTimeField":"23:45:12.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":380,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":380,"uuid":"9de3e400-5655-11ee-b401-675ed0f8e89b"},"arrayField":["KdotojWzF","mZtEpwnJYK","YqUGUTQ","cyQaIQU","lxTY","zLVuZpUiCK","rVMsottgZW","qqFucLwmhl"],"boolField":true,"intField":807,"numField":-39.121321895212006,"objField":{"eajmxXh":7049386986891527485,"ySCOkm":-5739685551815712486},"stringDateField":"1939-04-15","stringDateTimeField":"1924-01-08T13:43:53Z","stringField":"McOVsqqB","stringTimeField":"18:31:45.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":807,"numField":-39.121321895212006,"stringDateField":"1939-04-15","stringDateTimeField":"1924-01-08T13:43:53Z","stringField":"McOVsqqB","stringTimeField":"18:31:45.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":381,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":381,"uuid":"9de3e400-5655-11ee-b801-675ed0f8e89b"},"arrayField":["TVtyqj","axoRhucd","FSoD","cvPS","bUpKVGJJ","gbIRFqzBs","ePNJ","PNRnN","nSpYzA"],"boolField":true,"intField":-841,"numField":669.4348750508525,"objField":{"JyZdUoAJFq":4046876824514993695,"PrlmqeMKpG":-2349446503890946131,"SnzpyoSV":3754454715782872673,"WapOoMRD":-8239898466170477876,"bxWjFDcp":-3189697623147088754,"dGLiGQK":4554820220065586295,"hRALIJt":-6521787755465530481,"hoUeXH":-6753017000440616943,"pnDLhKTBH":-4380245963093669459,"wvUTcF":5213173154952984051},"stringDateField":"1928-08-04","stringDateTimeField":"1966-12-30T04:59:56Z","stringField":"lMquKvcDq","stringTimeField":"05:27:56.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":-841,"numField":669.4348750508525,"stringDateField":"1928-08-04","stringDateTimeField":"1966-12-30T04:59:56Z","stringField":"lMquKvcDq","stringTimeField":"05:27:56.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":382,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":382,"uuid":"9de3e400-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["dtMLtBELZo"],"boolField":true,"intField":-735,"numField":-154.1799634337305,"objField":{"EhVJ":-7048092505204332330,"RbrPjZM":7636576077644648427,"dtKzXUHpNE":-238014278642393752,"rdSzvJg":-1176861377327594248,"toeMucE":-4570824878160119914},"stringDateField":"1969-12-11","stringDateTimeField":"2023-06-14T19:40:15Z","stringField":"GMuIfkVS","stringTimeField":"21:21:40.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230912Z","intField":-735,"numField":-154.1799634337305,"stringDateField":"1969-12-11","stringDateTimeField":"2023-06-14T19:40:15Z","stringField":"GMuIfkVS","stringTimeField":"21:21:40.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":383,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":383,"uuid":"9de3e401-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ayfBjE","NrOWXxceCq","hLFOBJM","vkHlvNy","QvcWWugmR","GIaih","idSIdHe","RCHiXREJkY"],"boolField":false,"intField":652,"numField":409.1042439862114,"objField":{"BicVY":6110829094570276691,"JLZmK":7100653812484018889,"Xacgk":-404001058928012095,"sESfVat":6420980300044354532,"xLHSKVxCxb":-8207851004856049482},"stringDateField":"1965-04-30","stringDateTimeField":"1998-05-19T10:52:31Z","stringField":"wwbz","stringTimeField":"21:57:07.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":652,"numField":409.1042439862114,"stringDateField":"1965-04-30","stringDateTimeField":"1998-05-19T10:52:31Z","stringField":"wwbz","stringTimeField":"21:57:07.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":384,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":384,"uuid":"9de3e401-5655-11ee-8401-675ed0f8e89b"},"arrayField":["tMKBGVPqaC","khBuEefs","TNxmHwCu","PVPgW","xayfddVw","BOZR","TXmMortRI","YvVxMSe","VqqKeLIOzl","lZizcBiylk"],"boolField":true,"intField":47,"numField":-963.6398916862696,"objField":{"AWRDbazD":1353464024807162517,"NcOrwdLGc":-371324329224477269,"yMyZEjAER":3799207920807107474},"stringDateField":"1985-03-22","stringDateTimeField":"1916-11-13T13:49:22Z","stringField":"NsdZOGd","stringTimeField":"12:42:27.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":47,"numField":-963.6398916862696,"stringDateField":"1985-03-22","stringDateTimeField":"1916-11-13T13:49:22Z","stringField":"NsdZOGd","stringTimeField":"12:42:27.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":385,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":385,"uuid":"9de3e401-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ycSADPEYO"],"boolField":true,"intField":-186,"numField":-559.2230270178264,"objField":{"QlcMxG":5952628168301554087,"gpwIaS":510156041771068532,"nwtguQp":5906261207248572202,"wDHcSPsh":4879660413409892858},"stringDateField":"1904-03-21","stringDateTimeField":"2003-01-12T13:10:27Z","stringField":"KNVOP","stringTimeField":"19:36:20.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":-186,"numField":-559.2230270178264,"stringDateField":"1904-03-21","stringDateTimeField":"2003-01-12T13:10:27Z","stringField":"KNVOP","stringTimeField":"19:36:20.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":386,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":386,"uuid":"9de3e401-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["URXcDS","RVmeTCBbI","dWSyb","NSJvFhU","yBjdha","MVrEhFnHG","PMqYfK"],"boolField":true,"intField":272,"numField":5.598804679337821,"objField":{"Cqpuwu":-830619500853804266,"Hyubpfkj":-6330567938373960347,"OSiMHGxvd":6667985725540172081,"PMxZuPSTaC":3904507891569724218,"XHjUnGjauj":7260405920429284090,"wCbtaVzZ":2642134427147818539},"stringDateField":"1924-01-27","stringDateTimeField":"1920-03-22T15:24:12Z","stringField":"ejGkGIL","stringTimeField":"06:47:28.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":272,"numField":5.598804679337821,"stringDateField":"1924-01-27","stringDateTimeField":"1920-03-22T15:24:12Z","stringField":"ejGkGIL","stringTimeField":"06:47:28.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":387,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":387,"uuid":"9de3e401-5655-11ee-9001-675ed0f8e89b"},"arrayField":["bERgo","WBdQ","rJZGMpRcQ","TLdDcMuun"],"boolField":false,"intField":702,"numField":-520.8707839321094,"objField":{"DujRwoSTuN":2609594517815667919,"OpHqQDwjOo":1096869358866123372,"QSTQ":6916649170127149336,"TGKr":-3370703876985857821,"hCDsCM":-4885386489997119948,"oLLR":-3373903983725171425,"rlsIhq":6395542721594526437,"stmxRg":7939574125495642665,"wIztaFZqp":-7273538868276992328},"stringDateField":"1934-08-31","stringDateTimeField":"1947-11-03T06:44:56Z","stringField":"rHYdC","stringTimeField":"11:05:08.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":702,"numField":-520.8707839321094,"stringDateField":"1934-08-31","stringDateTimeField":"1947-11-03T06:44:56Z","stringField":"rHYdC","stringTimeField":"11:05:08.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":388,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":388,"uuid":"9de3e401-5655-11ee-9401-675ed0f8e89b"},"arrayField":["lPoa","RrrSbBjz","ZLnGFWNuRe","MKZiniy","waOxQQ"],"boolField":false,"intField":825,"numField":403.4944821800552,"objField":{"JLfRh":-2307546286682318546,"LPbFIDtB":-819526747796245723,"bcQiEve":5324297856621114951,"oFyyRTB":-3138347503030298305,"zZvrVnVm":6854988223063323956},"stringDateField":"1998-04-28","stringDateTimeField":"1979-02-06T23:01:27Z","stringField":"sYyXTCUQ","stringTimeField":"18:14:54.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":825,"numField":403.4944821800552,"stringDateField":"1998-04-28","stringDateTimeField":"1979-02-06T23:01:27Z","stringField":"sYyXTCUQ","stringTimeField":"18:14:54.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":389,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":389,"uuid":"9de3e401-5655-11ee-9801-675ed0f8e89b"},"arrayField":["hhBaH","EQNinv","AMEVZwWr","ZoCkLG","fikIeRq","jhiFpISI"],"boolField":true,"intField":-570,"numField":-209.77631692945863,"objField":{"fjDuXBSPzP":4906590845194678391},"stringDateField":"1905-03-27","stringDateTimeField":"1984-03-14T01:54:43Z","stringField":"CBwoyk","stringTimeField":"15:31:45.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":-570,"numField":-209.77631692945863,"stringDateField":"1905-03-27","stringDateTimeField":"1984-03-14T01:54:43Z","stringField":"CBwoyk","stringTimeField":"15:31:45.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":390,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":390,"uuid":"9de3e401-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["mHsgkgOMd","loUYWduK","axRR","wZBeH"],"boolField":true,"intField":922,"numField":285.0707783134665,"objField":{"ETATL":-5109897122405555921,"LEwGLryS":4814742394549585754,"PqerCzhGn":-1671266344324705572,"edDNAAhlLU":7184376471158415532,"eqcIU":-8392123087359997706,"hpay":5447799152462494205,"ifefLJ":6531201721698040775,"jBTZtSa":-7212406295606527199},"stringDateField":"1920-04-12","stringDateTimeField":"2004-09-16T10:39:42Z","stringField":"CECkEWfyX","stringTimeField":"00:14:49.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":922,"numField":285.0707783134665,"stringDateField":"1920-04-12","stringDateTimeField":"2004-09-16T10:39:42Z","stringField":"CECkEWfyX","stringTimeField":"00:14:49.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":391,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":391,"uuid":"9de3e401-5655-11ee-a001-675ed0f8e89b"},"arrayField":["KIeAwANI","sSbCfZfrqP","Hrng","WJzUdbbZl","GWgs","uwnHTUmA","wDzq","IVKiZBdEK","EEHz"],"boolField":false,"intField":870,"numField":962.7921893414768,"objField":{"eyEA":5642850224201874836},"stringDateField":"1903-12-01","stringDateTimeField":"2010-12-22T17:22:15Z","stringField":"oQAQy","stringTimeField":"06:34:28.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":870,"numField":962.7921893414768,"stringDateField":"1903-12-01","stringDateTimeField":"2010-12-22T17:22:15Z","stringField":"oQAQy","stringTimeField":"06:34:28.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":392,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":392,"uuid":"9de3e401-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ZSxr","hoFhEbXe","iBfKtdJvuk","KDVwKzFiN","VPJGhSwQUx","nmBtYMzgkk"],"boolField":true,"intField":138,"numField":-514.6275453414158,"objField":{"CwsZLjVN":-4671271300423475913,"DowDtSU":7581469502846999885,"VTSxTuiMAt":7396561037833134247,"tyjmqZXAa":1445198733801825574,"wSHoGxs":6534842546053179242,"zqEuPkFIMT":7723260397568515387},"stringDateField":"1959-12-24","stringDateTimeField":"1971-05-15T05:54:45Z","stringField":"xMfizBs","stringTimeField":"13:23:04.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":138,"numField":-514.6275453414158,"stringDateField":"1959-12-24","stringDateTimeField":"1971-05-15T05:54:45Z","stringField":"xMfizBs","stringTimeField":"13:23:04.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":393,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":393,"uuid":"9de3e401-5655-11ee-a801-675ed0f8e89b"},"arrayField":["hPNbTq","CVkN","oxkOY","hGFUl","PsHcctpRyU","vQrLoO","aHQTNlqfhZ","HMEEbnQ","LyUHG"],"boolField":false,"intField":-335,"numField":-157.85008055410665,"objField":{"BzboKtKTsS":-5185114422422287610,"PvqIr":806453557502910536,"ZGnAFfaol":-6569739011237808960,"ZNTgHMc":-6105692745948454294,"bERuvyPu":3710892259820182342,"iVkTsN":3864990903740698956,"uqUDNKZ":-978628610986598105},"stringDateField":"1959-12-23","stringDateTimeField":"1919-04-10T23:04:23Z","stringField":"IAMbr","stringTimeField":"08:39:27.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":-335,"numField":-157.85008055410665,"stringDateField":"1959-12-23","stringDateTimeField":"1919-04-10T23:04:23Z","stringField":"IAMbr","stringTimeField":"08:39:27.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":394,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":394,"uuid":"9de3e401-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["vNyWgonX","YPDogPUdM"],"boolField":false,"intField":-134,"numField":-231.4993430227811,"objField":{"BOoA":-759482467235339573,"FMhysRn":8313670190622175110,"LobYK":-5293607992140620818,"OIEhFXD":6046864552546406159,"OdToZxPD":-2075182059117873743,"aJvpuF":-3332089980516439485,"eaqykQdDZB":2016718608189874051,"raCOr":-2828735836195694810},"stringDateField":"1968-05-24","stringDateTimeField":"2016-01-29T05:20:26Z","stringField":"vwOEVd","stringTimeField":"08:21:04.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":-134,"numField":-231.4993430227811,"stringDateField":"1968-05-24","stringDateTimeField":"2016-01-29T05:20:26Z","stringField":"vwOEVd","stringTimeField":"08:21:04.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":395,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":395,"uuid":"9de3e401-5655-11ee-b001-675ed0f8e89b"},"arrayField":["AfKkha","SCqZwWuSEy"],"boolField":true,"intField":43,"numField":442.492320505657,"objField":{"OkDYgRa":7430283349078880623,"TwDhJLTo":-737408985473800131,"XWjM":-6287951471423421508,"aMkA":-9222660777279827480,"rPBvngjt":-7786235439873885168},"stringDateField":"1940-08-01","stringDateTimeField":"1997-06-11T23:22:47Z","stringField":"ectRCgdIQX","stringTimeField":"07:05:45.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":43,"numField":442.492320505657,"stringDateField":"1940-08-01","stringDateTimeField":"1997-06-11T23:22:47Z","stringField":"ectRCgdIQX","stringTimeField":"07:05:45.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":396,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":396,"uuid":"9de3e401-5655-11ee-b401-675ed0f8e89b"},"arrayField":["JkEJRew","ejcqvEFzCP","aVxHGSr","DwGzzv","YycjVTbLT","QCNQ","UcajlTZs"],"boolField":false,"intField":716,"numField":-80.93193825160361,"objField":{"mClSNbGsxD":-8080470302363918720},"stringDateField":"1999-03-22","stringDateTimeField":"1924-01-11T15:53:41Z","stringField":"BNzBob","stringTimeField":"10:19:13.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":716,"numField":-80.93193825160361,"stringDateField":"1999-03-22","stringDateTimeField":"1924-01-11T15:53:41Z","stringField":"BNzBob","stringTimeField":"10:19:13.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":397,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":397,"uuid":"9de3e401-5655-11ee-b801-675ed0f8e89b"},"arrayField":["UKazDLsVq","kskgeAMX","hpvV","NGLRKRzBR","aMbuX"],"boolField":false,"intField":392,"numField":-145.2344285330176,"objField":{"IxWi":-2417029922277153026,"JHVHfEJMdr":-1806976483830569237,"JPLkQTw":-2384696566472337225,"KaEV":7748432073273330252,"NZFqttQ":7514426922387475616,"cvUnBQiO":-8821099834877869672,"ukoFX":8080550040612480127,"yRZLqkHoAd":-4775434266872660228},"stringDateField":"1941-08-13","stringDateTimeField":"1933-07-28T05:37:47Z","stringField":"vxyt","stringTimeField":"01:17:47.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":392,"numField":-145.2344285330176,"stringDateField":"1941-08-13","stringDateTimeField":"1933-07-28T05:37:47Z","stringField":"vxyt","stringTimeField":"01:17:47.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":398,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":398,"uuid":"9de3e401-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["yAhuDfH"],"boolField":true,"intField":-6,"numField":-917.7378672305796,"objField":{"BRcF":-3570928634162697210,"BafTmvPO":6418179035814191870,"LpwOJheZ":-4323441991953349123},"stringDateField":"1903-06-07","stringDateTimeField":"1996-02-15T18:57:12Z","stringField":"SlDbRDDnBh","stringTimeField":"01:34:08.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230913Z","intField":-6,"numField":-917.7378672305796,"stringDateField":"1903-06-07","stringDateTimeField":"1996-02-15T18:57:12Z","stringField":"SlDbRDDnBh","stringTimeField":"01:34:08.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":399,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":399,"uuid":"9de3e402-5655-11ee-8001-675ed0f8e89b"},"arrayField":["Jjzb","wmMyoy","JHmXXgwNQ","UndMEUSia","TSkeNN"],"boolField":true,"intField":722,"numField":96.51838142720726,"objField":{"EuoSWShgj":4339736798245448708,"KRiFBgtWl":-6729778380843371013,"WjMdZQeFUu":6188421183590106352,"iYjLCFXgdc":6279470072549669294,"imCh":2971260923754404197},"stringDateField":"1928-09-23","stringDateTimeField":"1921-11-11T01:31:51Z","stringField":"Gtdet","stringTimeField":"05:05:11.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":722,"numField":96.51838142720726,"stringDateField":"1928-09-23","stringDateTimeField":"1921-11-11T01:31:51Z","stringField":"Gtdet","stringTimeField":"05:05:11.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":400,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":400,"uuid":"9de3e402-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rUxqTXEOui","HcVzwp","whFRalVY"],"boolField":false,"intField":311,"numField":-626.6797347721373,"objField":{"LGnv":431517290169057797,"PwoGFVQ":-8564183501430118972,"TsJAF":6957860090093621804,"aJSwWcof":-3826015738752853543,"anpWwv":-4980646587558836485},"stringDateField":"1925-09-20","stringDateTimeField":"1910-01-11T09:17:24Z","stringField":"mEzN","stringTimeField":"14:33:08.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":311,"numField":-626.6797347721373,"stringDateField":"1925-09-20","stringDateTimeField":"1910-01-11T09:17:24Z","stringField":"mEzN","stringTimeField":"14:33:08.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":401,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":401,"uuid":"9de3e402-5655-11ee-8801-675ed0f8e89b"},"arrayField":["UnGQZi","URxTMZC","kGXSzi","ZDFHY","VyeuFaay","cFfIiZv","oqEc","Pmua","YnJSnYME","GlsuttwZPH"],"boolField":false,"intField":-813,"numField":388.82593348418726,"objField":{"EIIpiQplf":-8422474248615528226,"rezhZY":8573815216203913657,"zrYqC":-1664118775699214994},"stringDateField":"1990-10-24","stringDateTimeField":"1928-10-01T22:07:48Z","stringField":"qokumWBc","stringTimeField":"21:42:39.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":-813,"numField":388.82593348418726,"stringDateField":"1990-10-24","stringDateTimeField":"1928-10-01T22:07:48Z","stringField":"qokumWBc","stringTimeField":"21:42:39.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":402,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":402,"uuid":"9de3e402-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["CNZjXQigt","BXMIKnn","gDOORNWMqL","KYKNspKKU","CLsj","oohJx","wmSknhYJK","wDFLoQVfoA"],"boolField":false,"intField":661,"numField":-6.921358375786668,"objField":{"CganzKnEpp":4996654002462990602,"QvRl":-7654515741738305663,"TxWyLu":853535783961352316,"YYigXSb":-3860513751700159097,"fzMAznwlC":7454854632771688355,"fzXi":3550810721705751650,"wFWWgKbFJ":-1736520085209290294},"stringDateField":"1946-01-03","stringDateTimeField":"1921-02-17T17:58:25Z","stringField":"xrccZOpRor","stringTimeField":"02:29:13.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":661,"numField":-6.921358375786668,"stringDateField":"1946-01-03","stringDateTimeField":"1921-02-17T17:58:25Z","stringField":"xrccZOpRor","stringTimeField":"02:29:13.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":403,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":403,"uuid":"9de3e402-5655-11ee-9001-675ed0f8e89b"},"arrayField":["TLwJti","foAhWoW","SnBypRI","MmFbpaW","UGaysQb","FfiZ","cvioNYqR","PAxbDq","SiasEFK"],"boolField":false,"intField":543,"numField":574.4278711557655,"objField":{"DWYrD":479462811919518170,"THrYuGSVd":3067005989734084343,"XpCUXHCr":2763622136542343543,"dbvAqgm":5195562337367227508,"gOgLvnB":614962858619245887,"nuMZGnutn":-4478093339306183592,"vGmhpxVE":-1049981743334604579},"stringDateField":"2023-06-24","stringDateTimeField":"1918-10-24T05:59:17Z","stringField":"UXgvKS","stringTimeField":"19:07:45.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":543,"numField":574.4278711557655,"stringDateField":"2023-06-24","stringDateTimeField":"1918-10-24T05:59:17Z","stringField":"UXgvKS","stringTimeField":"19:07:45.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":404,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":404,"uuid":"9de3e402-5655-11ee-9401-675ed0f8e89b"},"arrayField":["LKfDEdENBU","pleAIp","OvQo","lHAclNLp","uMRwHH","iNmbHJ","XCqlOp","jWoxbBQi","DWHUDu","CtSX"],"boolField":true,"intField":-949,"numField":-906.619899433146,"objField":{"OcJHrXxRK":7427078577162886252,"QcUzAuL":-2818261909772093061,"twlYYFBBmW":-5738308448779702698},"stringDateField":"2021-05-20","stringDateTimeField":"1994-11-02T03:35:52Z","stringField":"iBgTKz","stringTimeField":"11:30:40.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":-949,"numField":-906.619899433146,"stringDateField":"2021-05-20","stringDateTimeField":"1994-11-02T03:35:52Z","stringField":"iBgTKz","stringTimeField":"11:30:40.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":405,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":405,"uuid":"9de3e402-5655-11ee-9801-675ed0f8e89b"},"arrayField":["YczNPguUSm","gPEZPfUVUD","JeGikm","XshvqSsjOU","djpzB","rtilF","iYjjlPOZp","tVCMotAJ","mhzRbvC","YsCqXAVGDz"],"boolField":false,"intField":-522,"numField":843.8689654775164,"objField":{"ELzFQ":-4101359452852191456,"MWmqOScAS":-676110538561263038,"nXsnwSDE":731137925042764235,"qmoIbnuvP":-9096697721684896383,"vUcpRPJ":241392861978594890,"wocsrNgg":5239359262997950191},"stringDateField":"1907-03-02","stringDateTimeField":"1965-09-03T14:34:41Z","stringField":"Tbhdy","stringTimeField":"07:32:43.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":-522,"numField":843.8689654775164,"stringDateField":"1907-03-02","stringDateTimeField":"1965-09-03T14:34:41Z","stringField":"Tbhdy","stringTimeField":"07:32:43.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":406,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":406,"uuid":"9de3e402-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["unbZt","qLkxMadgXD","zBnDhb","tqBGus"],"boolField":false,"intField":937,"numField":896.0572237698723,"objField":{"MNpx":8999747712851178480,"UPeQt":5711847706492653475,"ZCgxFkC":4762480464709450949,"iOWFEtdWZJ":-904661615093046255,"mEqWkPBCbz":4293683299049583670,"rfaDCIxYFf":-2808322374663809680,"uGVZjz":1331970082626140099},"stringDateField":"1982-07-06","stringDateTimeField":"1987-05-26T02:01:35Z","stringField":"lNAGUkhjUK","stringTimeField":"18:27:22.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":937,"numField":896.0572237698723,"stringDateField":"1982-07-06","stringDateTimeField":"1987-05-26T02:01:35Z","stringField":"lNAGUkhjUK","stringTimeField":"18:27:22.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":407,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":407,"uuid":"9de3e402-5655-11ee-a001-675ed0f8e89b"},"arrayField":["yAYHz"],"boolField":false,"intField":-184,"numField":128.06568158937236,"objField":{"MGiNjC":-2152891936395867079,"MYgTv":3191699978984580777,"bwvbVODMeX":-1716626893295395577,"iGlP":-766637862554308000,"pzCXnTf":5498088932504485532,"vivUVtvgR":4790906984779614408,"zAHmNV":-2015577429766867252},"stringDateField":"1945-12-28","stringDateTimeField":"2006-01-18T01:36:09Z","stringField":"DdwC","stringTimeField":"16:05:06.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":-184,"numField":128.06568158937236,"stringDateField":"1945-12-28","stringDateTimeField":"2006-01-18T01:36:09Z","stringField":"DdwC","stringTimeField":"16:05:06.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":408,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":408,"uuid":"9de3e402-5655-11ee-a401-675ed0f8e89b"},"arrayField":["gjLfHIl","ziIXtC","bgHSCcbVor","mEPlb","OvRFeXP","VQlt","VXqaU"],"boolField":true,"intField":-36,"numField":376.2881922222376,"objField":{"QRzSw":-1837833524637034450,"XJMGtmYtaF":-3721193265200032226,"mWjlZMmsjf":8375078157035558696,"ogScP":-7519980252266849650,"tcZvkiwyz":-2647432257379828218,"yWNhtnFOQQ":-3330703874900515594},"stringDateField":"1907-03-17","stringDateTimeField":"1930-09-10T02:31:58Z","stringField":"mtbO","stringTimeField":"03:10:45.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":-36,"numField":376.2881922222376,"stringDateField":"1907-03-17","stringDateTimeField":"1930-09-10T02:31:58Z","stringField":"mtbO","stringTimeField":"03:10:45.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":409,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":409,"uuid":"9de3e402-5655-11ee-a801-675ed0f8e89b"},"arrayField":["CwOLPhM","AGQuTTwQ","lPSgTP","qmCHFnfE","eJST","JavEwnn","nRzM","uZyhAKpxF","BejbRxFr","RuqZxH"],"boolField":false,"intField":534,"numField":-195.77610789675148,"objField":{"AWeSY":-2765193094363286052,"DgDbPv":509499721762625682,"XKoZ":3010958727887148926,"aSywrAGZ":-268643854512436229,"gOEDf":692120831196297698,"hlTJm":-1583467561183406339,"isITq":3461649659364571436},"stringDateField":"1929-08-05","stringDateTimeField":"1960-05-06T03:45:05Z","stringField":"qZLcLzT","stringTimeField":"00:49:45.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":534,"numField":-195.77610789675148,"stringDateField":"1929-08-05","stringDateTimeField":"1960-05-06T03:45:05Z","stringField":"qZLcLzT","stringTimeField":"00:49:45.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":410,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":410,"uuid":"9de3e402-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["scsrmUrqo","hfnpE","BYTJYJQnv","Tvblh"],"boolField":true,"intField":260,"numField":-599.7466566933559,"objField":{"JQXtLgsHCN":-1220182832854198932},"stringDateField":"1974-07-29","stringDateTimeField":"2011-01-27T19:08:01Z","stringField":"KMGl","stringTimeField":"23:43:05.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":260,"numField":-599.7466566933559,"stringDateField":"1974-07-29","stringDateTimeField":"2011-01-27T19:08:01Z","stringField":"KMGl","stringTimeField":"23:43:05.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":411,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":411,"uuid":"9de3e402-5655-11ee-b001-675ed0f8e89b"},"arrayField":["wDZzugcEe","KuFZIAlaDq"],"boolField":true,"intField":-980,"numField":-739.7099017464028,"objField":{"FiIEjh":-3302016201279229611,"MvPGfe":6306493375083194687,"PdrlSfn":5971219788774681591,"YCnfZsJJVH":7779050333891286598,"YnVlEWFs":3902876029407989023,"qGmtCE":6387697141218648097},"stringDateField":"2017-07-18","stringDateTimeField":"1949-12-15T16:12:23Z","stringField":"eiPbMhuf","stringTimeField":"12:55:01.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":-980,"numField":-739.7099017464028,"stringDateField":"2017-07-18","stringDateTimeField":"1949-12-15T16:12:23Z","stringField":"eiPbMhuf","stringTimeField":"12:55:01.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":412,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":412,"uuid":"9de3e402-5655-11ee-b401-675ed0f8e89b"},"arrayField":["kTJxNAqC","NtwXyxmeVg","xftZYpgd","zfkZMPuGI","RpdWceWWD","mNjETfBZN","QMFDIUL","HAHXLISIOJ","CXLF","mMyzKfzqLq"],"boolField":false,"intField":-190,"numField":-879.2879104451766,"objField":{"FfeUI":-3160363862960700944,"IMtEFHNXYJ":2360313140948284564,"JAkvPz":81064612699207423,"MnqHiICZP":-7264136256900311245,"YpGgEnP":-6062340269552477229},"stringDateField":"1949-05-19","stringDateTimeField":"1929-03-18T03:54:16Z","stringField":"WOARVtsOf","stringTimeField":"01:33:28.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":-190,"numField":-879.2879104451766,"stringDateField":"1949-05-19","stringDateTimeField":"1929-03-18T03:54:16Z","stringField":"WOARVtsOf","stringTimeField":"01:33:28.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":413,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":413,"uuid":"9de3e402-5655-11ee-b801-675ed0f8e89b"},"arrayField":["HMdHaEW","SjGhs","hqDYk","hvvEwMY","qDRwE","vAQjiT","fadrrfyO"],"boolField":false,"intField":-389,"numField":986.8103262068996,"objField":{"Ulmd":1993026463129662232,"VCRNhLR":-7742076028890448468},"stringDateField":"2020-07-04","stringDateTimeField":"1905-01-26T21:21:18Z","stringField":"dJNN","stringTimeField":"14:48:34.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":-389,"numField":986.8103262068996,"stringDateField":"2020-07-04","stringDateTimeField":"1905-01-26T21:21:18Z","stringField":"dJNN","stringTimeField":"14:48:34.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":414,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":414,"uuid":"9de3e402-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["SxXgNjf","ePzw","OWryvRwAA","ShCGCMoh","WQRS","wMSfZpyCpn","chkj","QXYj","pHtyMTG","LFWYlgHZqt"],"boolField":true,"intField":-80,"numField":-318.43447747835177,"objField":{"ILiuT":-7567225521001840843,"bFqrWD":-2539928032688681845,"hMWcCqAceL":6836088240972652823,"kzVukBdYGi":-5235425953493145031,"nVgPyB":3356483028208736577,"pUPt":6283511329316513157,"tsAxWdM":1604229486743316293,"wkpCwbr":4207309530915598552},"stringDateField":"2018-07-31","stringDateTimeField":"1930-06-10T01:27:40Z","stringField":"UbsXzaNy","stringTimeField":"02:15:06.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230914Z","intField":-80,"numField":-318.43447747835177,"stringDateField":"2018-07-31","stringDateTimeField":"1930-06-10T01:27:40Z","stringField":"UbsXzaNy","stringTimeField":"02:15:06.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":415,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":415,"uuid":"9de3e403-5655-11ee-8001-675ed0f8e89b"},"arrayField":["fqYZBG"],"boolField":true,"intField":997,"numField":-190.89603163562808,"objField":{"DNgXVlH":-7009438890203798217,"JKcMHRHKbj":1102595604479564622,"RDUsjLc":-1298308987009890474,"SoTRkzqb":6314267216961487394,"YyGBHIPxy":8987158803696915770,"bDNM":-6904853535241621206,"holZEGOUd":7237362283707742688,"kVjkp":-62601228333569497,"uOSGyN":4892443551491400435},"stringDateField":"1958-03-01","stringDateTimeField":"1982-01-11T22:50:28Z","stringField":"hGuRkWh","stringTimeField":"17:49:25.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":997,"numField":-190.89603163562808,"stringDateField":"1958-03-01","stringDateTimeField":"1982-01-11T22:50:28Z","stringField":"hGuRkWh","stringTimeField":"17:49:25.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":416,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":416,"uuid":"9de3e403-5655-11ee-8401-675ed0f8e89b"},"arrayField":["weNeMNnBPa","EXJUEDb","vYtGX","eFKlleX","LDAx","qDuH","cBoEHL"],"boolField":false,"intField":-294,"numField":-27.171107337971566,"objField":{"BNiirPxegG":-2631333175934083566,"BZjK":26708643436408297,"REMB":-5583147000050898332,"bXQpnjzHO":602340069889293482,"cJrsGd":6779259476475914362,"efqALtV":2616402222982779873,"pMlMNoHO":8616121493297707755,"xwkjVjrHWO":7629357979931660467,"zmeVDc":-3642636835004057378},"stringDateField":"1902-07-05","stringDateTimeField":"1937-01-16T07:19:31Z","stringField":"kqdihdYBF","stringTimeField":"15:46:44.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":-294,"numField":-27.171107337971566,"stringDateField":"1902-07-05","stringDateTimeField":"1937-01-16T07:19:31Z","stringField":"kqdihdYBF","stringTimeField":"15:46:44.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":417,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":417,"uuid":"9de3e403-5655-11ee-8801-675ed0f8e89b"},"arrayField":["JAVfV","pBoAMpx","NMmSDW","aLWMOCj","cmAZrph","eyvfDZ","MhHyHnTNZ","LLumwyR","VbDUKCQ","XpYD"],"boolField":false,"intField":762,"numField":-656.9033531552893,"objField":{"BHyUa":8970476600329406531,"GcWkvK":4892665053347683056,"ngMgYWc":-5162605040818619109,"qxAJy":1911984692183800411},"stringDateField":"1918-06-30","stringDateTimeField":"1913-12-30T21:22:42Z","stringField":"XslX","stringTimeField":"20:54:02.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":762,"numField":-656.9033531552893,"stringDateField":"1918-06-30","stringDateTimeField":"1913-12-30T21:22:42Z","stringField":"XslX","stringTimeField":"20:54:02.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":418,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":418,"uuid":"9de3e403-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["aXxbAEEe","vBKHuW","kEbPNUn","GJnziFz","VQPouZeQFw","dzhrIubF","rlTtJnP","zMnrxKYjRa","HZDEjd","XzasY"],"boolField":false,"intField":751,"numField":-946.5905325325234,"objField":{"HQnQCrdOr":2356297119490742948,"jKPgnkt":-2302191301159112198,"tTSSMS":-2970074229224361487,"tlvbgeFPDC":5420541473138622809},"stringDateField":"1993-12-27","stringDateTimeField":"1946-12-01T10:12:27Z","stringField":"hwYhzFE","stringTimeField":"11:31:44.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":751,"numField":-946.5905325325234,"stringDateField":"1993-12-27","stringDateTimeField":"1946-12-01T10:12:27Z","stringField":"hwYhzFE","stringTimeField":"11:31:44.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":419,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":419,"uuid":"9de3e403-5655-11ee-9001-675ed0f8e89b"},"arrayField":["QNyBPeIb","jMueo","ElDqmPjuV","nOEKCtPCL","GAJZCZW","rezht","nJbLSqPJ","MNpQpTsjkA","qWMqafr"],"boolField":false,"intField":-388,"numField":904.7173918326424,"objField":{"FufjpGE":8034811587836515069,"FwNQCxL":-3724727553633956213,"VEFW":-6331151367535113379,"gkMHIEoek":-4961421807150550627,"hWDDkFbU":-5867916125070883250,"tBcXpNZ":4472861758454247638,"uEYtT":3741258398371290666,"xnoBYVluf":-7010161322081805879},"stringDateField":"2000-08-04","stringDateTimeField":"1991-04-24T04:32:54Z","stringField":"CMztMvtAQv","stringTimeField":"18:00:43.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":-388,"numField":904.7173918326424,"stringDateField":"2000-08-04","stringDateTimeField":"1991-04-24T04:32:54Z","stringField":"CMztMvtAQv","stringTimeField":"18:00:43.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":420,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":420,"uuid":"9de3e403-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ULJd","NeyW","LtnUNJhq","etAzvYLnj","wPwO","oZoy"],"boolField":false,"intField":-811,"numField":-503.3305597299727,"objField":{"EFSeJACmjE":-6807620677670727953,"HseK":-7711329839427246602,"Qqueh":5866158213623499551,"RhfkKqQ":-1749725048833401561,"qhXQRX":-4739125755993200496},"stringDateField":"1981-10-03","stringDateTimeField":"2012-03-01T03:46:56Z","stringField":"jIIYuo","stringTimeField":"01:37:39.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":-811,"numField":-503.3305597299727,"stringDateField":"1981-10-03","stringDateTimeField":"2012-03-01T03:46:56Z","stringField":"jIIYuo","stringTimeField":"01:37:39.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":421,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":421,"uuid":"9de3e403-5655-11ee-9801-675ed0f8e89b"},"arrayField":["XZlqYO","SQSE"],"boolField":false,"intField":804,"numField":-792.237796481119,"objField":{"ZuOKPO":-8696550862686388766,"rukUPqG":7977851092229271164},"stringDateField":"1942-01-09","stringDateTimeField":"1950-01-15T13:55:23Z","stringField":"BDexrdZ","stringTimeField":"18:28:20.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":804,"numField":-792.237796481119,"stringDateField":"1942-01-09","stringDateTimeField":"1950-01-15T13:55:23Z","stringField":"BDexrdZ","stringTimeField":"18:28:20.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":422,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":422,"uuid":"9de3e403-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["kDanJe","HtRmWiK","tOnRZhXesP","eUgdwEPg","gAzqKYdlq","gZstd","xIpedtw","pARKucy","ICCmCH","GvrajzAdaC"],"boolField":true,"intField":464,"numField":-977.9000881067658,"objField":{"HzMipNbhc":-1120643733695456186,"VLSTZAyEuY":7471130271256979534,"WnikzTaH":-970485270276260483,"XGVZgzSukU":-2411599034744145260,"XzGYMn":-158380270449293723,"aWwFf":3345747940449769990,"cogDkJrQ":6946744719905796514,"feruuW":5893823066940361558,"jnItoi":-6429370484171996651,"qoiz":7890984586485096855},"stringDateField":"1988-10-30","stringDateTimeField":"1978-12-29T22:12:44Z","stringField":"IZmjcazKC","stringTimeField":"04:12:31.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":464,"numField":-977.9000881067658,"stringDateField":"1988-10-30","stringDateTimeField":"1978-12-29T22:12:44Z","stringField":"IZmjcazKC","stringTimeField":"04:12:31.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":423,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":423,"uuid":"9de3e403-5655-11ee-a001-675ed0f8e89b"},"arrayField":["pjHMKE","rkOmxJAHS","OYXx","YLHaL","fvJsHNo"],"boolField":false,"intField":-595,"numField":765.422593586813,"objField":{"JomyFLqQ":-4899124137545361216,"kvRGksP":121325167012984427,"xJXxlrX":-591486685635221898,"xKyYCszky":-1975464595963291122,"yscQi":-8420686659822220313},"stringDateField":"1975-07-07","stringDateTimeField":"1949-08-15T23:28:08Z","stringField":"rPjMRoYsRs","stringTimeField":"09:58:35.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":-595,"numField":765.422593586813,"stringDateField":"1975-07-07","stringDateTimeField":"1949-08-15T23:28:08Z","stringField":"rPjMRoYsRs","stringTimeField":"09:58:35.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":424,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":424,"uuid":"9de3e403-5655-11ee-a401-675ed0f8e89b"},"arrayField":["qgpDLQF","qpUAdWaoT","VxdITEnkr","TfRv","ygYexhoyn","sJXokzOv","bSsnhl"],"boolField":false,"intField":403,"numField":563.2423059384096,"objField":{"DLAwfwxKUN":6952499917000764744,"GxnIEymEq":4762407526522243629,"RwmoboNqF":6117205833382664317,"nKhQCPXrY":-1509155949690741138,"sfnrxvwsz":-1693419035915551024},"stringDateField":"2022-01-22","stringDateTimeField":"2022-11-16T20:14:08Z","stringField":"wFDb","stringTimeField":"03:46:22.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":403,"numField":563.2423059384096,"stringDateField":"2022-01-22","stringDateTimeField":"2022-11-16T20:14:08Z","stringField":"wFDb","stringTimeField":"03:46:22.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":425,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":425,"uuid":"9de3e403-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nuHjJhjI","dsXAz","pFXO","SpxAerIJ","fBHZx","MRoTOi"],"boolField":true,"intField":-588,"numField":-17.806758163750658,"objField":{"FnfoXyj":-8514533901532933016,"ZtxfkeI":6073149343104552576,"vVAlaZtNgD":1631678642758794825},"stringDateField":"1923-12-24","stringDateTimeField":"1994-03-15T13:28:22Z","stringField":"PXvLjDFb","stringTimeField":"14:26:10.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":-588,"numField":-17.806758163750658,"stringDateField":"1923-12-24","stringDateTimeField":"1994-03-15T13:28:22Z","stringField":"PXvLjDFb","stringTimeField":"14:26:10.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":426,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":426,"uuid":"9de3e403-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ggiOc","Jlrkf","sSvHjGgb","OeGihrQf","tpuNU"],"boolField":false,"intField":-125,"numField":757.9312884861646,"objField":{"WaTgFdO":298155968752933659,"fSwViYrD":-7372651948444669649,"nUoFOWpPLZ":8037519955518958314,"ofMFGxP":2292681969529388434},"stringDateField":"1979-11-08","stringDateTimeField":"1920-02-22T20:52:11Z","stringField":"EkDiKM","stringTimeField":"01:07:43.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":-125,"numField":757.9312884861646,"stringDateField":"1979-11-08","stringDateTimeField":"1920-02-22T20:52:11Z","stringField":"EkDiKM","stringTimeField":"01:07:43.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":427,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":427,"uuid":"9de3e403-5655-11ee-b001-675ed0f8e89b"},"arrayField":["VluR","BVNvby","vsAKdlU"],"boolField":true,"intField":241,"numField":65.36852211887134,"objField":{"DQpVD":-781785740077897170,"UlYlwY":-1302144243883872109,"fTrL":-9036556674416297645,"qybckSU":2247686128448142954},"stringDateField":"1947-05-02","stringDateTimeField":"1953-10-09T07:24:45Z","stringField":"UZDTsScOqy","stringTimeField":"06:42:57.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":241,"numField":65.36852211887134,"stringDateField":"1947-05-02","stringDateTimeField":"1953-10-09T07:24:45Z","stringField":"UZDTsScOqy","stringTimeField":"06:42:57.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":428,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":428,"uuid":"9de3e403-5655-11ee-b401-675ed0f8e89b"},"arrayField":["fvbtPNignd","fOiFpcIXb","OHDoefBjR","tkWVDa","snUwc"],"boolField":true,"intField":197,"numField":-121.45951350783248,"objField":{"CwttV":-516974935868458878,"IfEJM":-6868085762616954550,"JgELVq":6339185643842156549,"NxgTqrbjn":-462699346956195857,"UTrAc":7469669717584935639,"XKEHBr":8683412236206238094,"kCPTr":-8122205412238328607,"mTcMZn":151355868798417734},"stringDateField":"1949-06-06","stringDateTimeField":"1946-11-19T09:23:59Z","stringField":"jpZzpi","stringTimeField":"11:38:12.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":197,"numField":-121.45951350783248,"stringDateField":"1949-06-06","stringDateTimeField":"1946-11-19T09:23:59Z","stringField":"jpZzpi","stringTimeField":"11:38:12.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":429,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":429,"uuid":"9de3e403-5655-11ee-b801-675ed0f8e89b"},"arrayField":["qgUUVtD","ksWI","TJGqYi","QGcQGZgy","FVgeVHsvi","NcrjjZOxPE","gXpMmyj"],"boolField":false,"intField":-161,"numField":333.127136651836,"objField":{"CUNuEsZza":8876702477740838994,"DjXJo":-7157666056363808912,"FRRHQ":2899402390118246864,"LCMuMoRpD":6635300112043258470,"OZVvse":3184925757704533895,"cOjem":-2908032303820092311,"hPbDsvkY":-7685884607992821037,"mYxkw":8943284351966994554,"xCcQfFa":4416020696460770524},"stringDateField":"1914-09-09","stringDateTimeField":"1972-07-25T11:26:41Z","stringField":"sQvFNRYNfM","stringTimeField":"15:27:41.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":-161,"numField":333.127136651836,"stringDateField":"1914-09-09","stringDateTimeField":"1972-07-25T11:26:41Z","stringField":"sQvFNRYNfM","stringTimeField":"15:27:41.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":430,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":430,"uuid":"9de3e403-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["GkfsxOuP","nbhyuy","CePAXXF","TbasBjP","mGgTzOcpdB","XAdoVmUsvW"],"boolField":true,"intField":611,"numField":-430.46585824177265,"objField":{"OCoMiINSb":8584525462311949258,"ajJNo":-5293373298359053863,"grEQzo":6621218602395498950,"xcbd":4483505372923858390,"ygHjHBC":-7139080722223539438},"stringDateField":"1946-01-18","stringDateTimeField":"1972-08-13T07:57:49Z","stringField":"bIykOWY","stringTimeField":"15:13:21.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230915Z","intField":611,"numField":-430.46585824177265,"stringDateField":"1946-01-18","stringDateTimeField":"1972-08-13T07:57:49Z","stringField":"bIykOWY","stringTimeField":"15:13:21.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":431,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":431,"uuid":"9de3e404-5655-11ee-8001-675ed0f8e89b"},"arrayField":["JxCgrqTU","Koipizm","ftsTU","nukEtAiaL","rKLCFKOvog","DxvOlAuzyh","sAdxBPBa","amWLl"],"boolField":true,"intField":-189,"numField":-538.3606391098531,"objField":{"AXus":-7448590351885529558,"DWsw":2006793370512505399,"SGYRW":1076163013993126318,"bScl":6279652311407159025,"mczH":-6120182521031135573,"vjTN":-5552869544560413029,"ziLZSGLN":-7500710618176014677},"stringDateField":"1994-05-09","stringDateTimeField":"1976-06-18T17:57:05Z","stringField":"UzUXiUxW","stringTimeField":"15:05:17.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":-189,"numField":-538.3606391098531,"stringDateField":"1994-05-09","stringDateTimeField":"1976-06-18T17:57:05Z","stringField":"UzUXiUxW","stringTimeField":"15:05:17.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":432,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":432,"uuid":"9de3e404-5655-11ee-8401-675ed0f8e89b"},"arrayField":["bTofVc","CqUhXxgESv","lDdkrpFSyb","ljoRQOx","bMxjSaFnK","knzE"],"boolField":false,"intField":654,"numField":358.45222252540964,"objField":{"NGkILYkDt":3637723300512854793,"PNaarQi":-6992230060089216079,"Seqo":8271185840726419177,"bEmfJKpoNK":-9188834953993994003,"ksOBRN":2975272346980304085,"oIqPq":1715766547108339757,"tJkdwq":-1643311866109393779,"unPfy":-8329526348846753893},"stringDateField":"2002-01-08","stringDateTimeField":"1988-06-10T03:19:24Z","stringField":"FbPBLqZWZ","stringTimeField":"10:58:33.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":654,"numField":358.45222252540964,"stringDateField":"2002-01-08","stringDateTimeField":"1988-06-10T03:19:24Z","stringField":"FbPBLqZWZ","stringTimeField":"10:58:33.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":433,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":433,"uuid":"9de3e404-5655-11ee-8801-675ed0f8e89b"},"arrayField":["btNVLWXS","EzbspPDF","HAVsO","WPXWC","HxjA","KBkl"],"boolField":true,"intField":253,"numField":-746.6261974089007,"objField":{"BcmBbprcI":-2122677956621584574,"IDlQKAFxLv":611408875412045573,"PsVK":-2272616176216754880,"QsNcL":3361097539226313118,"cyRd":3558794459084320293,"wiuJd":-4968761511938028666},"stringDateField":"1910-04-30","stringDateTimeField":"2015-02-27T21:10:23Z","stringField":"maJKtcly","stringTimeField":"22:53:38.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":253,"numField":-746.6261974089007,"stringDateField":"1910-04-30","stringDateTimeField":"2015-02-27T21:10:23Z","stringField":"maJKtcly","stringTimeField":"22:53:38.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":434,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":434,"uuid":"9de3e404-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["MaKrfej","DnRbCQFCL","WkzcRPCSP"],"boolField":false,"intField":939,"numField":291.9475895564003,"objField":{"AvGq":-336139215812613944,"bIhdFYzczp":2379200689340845285,"zQmrBZTKL":6314344078215864250},"stringDateField":"1981-08-11","stringDateTimeField":"1969-04-26T22:24:49Z","stringField":"Zgai","stringTimeField":"14:19:21.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":939,"numField":291.9475895564003,"stringDateField":"1981-08-11","stringDateTimeField":"1969-04-26T22:24:49Z","stringField":"Zgai","stringTimeField":"14:19:21.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":435,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":435,"uuid":"9de3e404-5655-11ee-9001-675ed0f8e89b"},"arrayField":["nmdJH","KZhOfniq","CWCg","pVhaXPT","sAVTcBetB","rNqAH","AbBzbm"],"boolField":false,"intField":860,"numField":962.4142280362267,"objField":{"DJZFdFg":-7767042875954156981,"JntORSCzaf":-5016473879587306582,"LSyQplX":-4991489718642927166,"kEHJhYEuV":-260216224679060659},"stringDateField":"1989-10-16","stringDateTimeField":"1963-08-07T14:00:34Z","stringField":"XwzPT","stringTimeField":"07:55:27.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":860,"numField":962.4142280362267,"stringDateField":"1989-10-16","stringDateTimeField":"1963-08-07T14:00:34Z","stringField":"XwzPT","stringTimeField":"07:55:27.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":436,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":436,"uuid":"9de3e404-5655-11ee-9401-675ed0f8e89b"},"arrayField":["gBLuPSbOoW","lmlHVYchE","DQXzjZo","lbeAnkNUF","XUlKyh","TUAsGJdCY"],"boolField":false,"intField":-649,"numField":-834.0675936762243,"objField":{"EhTlBrnUN":-5293892816075842635,"GPInG":4587879870975561341,"NUSmh":-9038902174711689865,"WgQSj":8947056739517386666,"dfST":1400141584802944604,"kdlvo":8120294877635776861,"thmPvyH":-5765827207150565444,"veluGCgmLe":3806286013119883380,"yqKzzHosJ":-7513671678042805371},"stringDateField":"1959-08-18","stringDateTimeField":"1906-12-07T04:01:44Z","stringField":"Bneht","stringTimeField":"12:53:32.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":-649,"numField":-834.0675936762243,"stringDateField":"1959-08-18","stringDateTimeField":"1906-12-07T04:01:44Z","stringField":"Bneht","stringTimeField":"12:53:32.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":437,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":437,"uuid":"9de3e404-5655-11ee-9801-675ed0f8e89b"},"arrayField":["nTSX","EKPqmVcr","Avce","cYqHaGc","eoqOeYaOe"],"boolField":false,"intField":227,"numField":-905.3238627530916,"objField":{"AHYeNErj":-8338852553997058589,"djSoohk":692193126936804290,"eJGqrAfZWl":1489650117076728121,"ggAAEH":8640571242727661212},"stringDateField":"1928-03-07","stringDateTimeField":"2021-07-14T10:44:49Z","stringField":"BewvWZ","stringTimeField":"00:38:11.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":227,"numField":-905.3238627530916,"stringDateField":"1928-03-07","stringDateTimeField":"2021-07-14T10:44:49Z","stringField":"BewvWZ","stringTimeField":"00:38:11.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":438,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":438,"uuid":"9de3e404-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["NOBEQb","TPoVYFIuwy","SGaAtRZ","RTurZsIgo"],"boolField":false,"intField":-305,"numField":187.1076873718942,"objField":{"BIwvpD":-8157362636625576076,"BwbaewZxn":3099608866868596531,"LfBeS":9186455737577204237},"stringDateField":"1928-10-11","stringDateTimeField":"1981-09-02T03:21:50Z","stringField":"ELntTlsK","stringTimeField":"23:49:12.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":-305,"numField":187.1076873718942,"stringDateField":"1928-10-11","stringDateTimeField":"1981-09-02T03:21:50Z","stringField":"ELntTlsK","stringTimeField":"23:49:12.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":439,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":439,"uuid":"9de3e404-5655-11ee-a001-675ed0f8e89b"},"arrayField":["TsABvhT","NOBH","YxcGzfHo","ficqjjIjQ","RuQEUfDVIm","BadsggEQHF","TzYgGxuSw","ivgXf","hUJwbKY"],"boolField":false,"intField":667,"numField":-851.6532085718197,"objField":{"AwXmEYuuSe":3365604099477029649,"EEgfp":-1215920667901735091,"GdbZMFs":-8232962719355218553,"KnmJlTJxLT":9069998563335211406,"SbuHW":8199455040829631100,"VlbsBY":901735863714767075,"ctfYGCwyd":-6215384993598242292,"nuLujOC":2471817643986163411,"oHpXh":-396262621160813967,"tjsKd":168987247257488861},"stringDateField":"2017-09-19","stringDateTimeField":"2008-10-14T06:07:42Z","stringField":"vpPWeLsLbf","stringTimeField":"18:28:38.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":667,"numField":-851.6532085718197,"stringDateField":"2017-09-19","stringDateTimeField":"2008-10-14T06:07:42Z","stringField":"vpPWeLsLbf","stringTimeField":"18:28:38.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":440,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":440,"uuid":"9de3e404-5655-11ee-a401-675ed0f8e89b"},"arrayField":["uFOnxGGabs","hsmQio","kWvgNrz","hlZYhfC","CmvoTGrPjB","ZRvhh","ixbhuJJx","TqLqEVX","nNOsxkH","QzgBP"],"boolField":false,"intField":214,"numField":-64.04611000373761,"objField":{"BwokoEpKlk":-6800892593395757504,"TrcSqz":7522268545145808869,"VGFzY":-4960546905847416936,"VwDI":8778145470153873996,"cwQbLalBQ":2642882540610667423,"dmzO":8087716858566640013,"dyDz":-4038330511348893086,"kwlciwCg":3807101690946673709,"zkfAzlX":3168249382304747892},"stringDateField":"1993-08-21","stringDateTimeField":"1941-05-29T02:40:57Z","stringField":"naTgnegp","stringTimeField":"09:43:30.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":214,"numField":-64.04611000373761,"stringDateField":"1993-08-21","stringDateTimeField":"1941-05-29T02:40:57Z","stringField":"naTgnegp","stringTimeField":"09:43:30.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":441,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":441,"uuid":"9de3e404-5655-11ee-a801-675ed0f8e89b"},"arrayField":["bbNmNstLDx","BayJVU","MoPh","MvZhWCS","gTmDhLx","KzkfBYHkp"],"boolField":true,"intField":-18,"numField":300.600015481959,"objField":{"YjKr":4438848318113632261,"eNmINb":4753548238428277252,"eyvlLfJ":2080209968035344494,"iUKf":-2525490993582754507,"kxoNL":138584567987773167,"oWLzIJINE":-953503210937604420,"qfMJe":-2727814320021412113,"xLOOV":2410595791306934952},"stringDateField":"1991-11-27","stringDateTimeField":"2001-08-28T14:09:23Z","stringField":"dJWqbTePSm","stringTimeField":"16:05:50.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":-18,"numField":300.600015481959,"stringDateField":"1991-11-27","stringDateTimeField":"2001-08-28T14:09:23Z","stringField":"dJWqbTePSm","stringTimeField":"16:05:50.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":442,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":442,"uuid":"9de3e404-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["RXGebP","lvvm"],"boolField":true,"intField":-298,"numField":-16.70812573314584,"objField":{"AhSPeGX":-9142483359672836742,"CQMjxCmemx":255841800230699139,"CgwevlP":-3708276127447648283,"DEcPdzGI":-4414511662883622247,"MdXGqHBb":-1962220125770263909,"ZlAga":-1289467208339305286,"buzTHrg":-8080420500110487294,"lMtgxCu":-619631208437525253,"lyXxq":2290905075459019955,"xxSz":-3610809202950808270},"stringDateField":"1913-07-18","stringDateTimeField":"1935-02-03T13:48:50Z","stringField":"vORFypcJ","stringTimeField":"20:00:29.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":-298,"numField":-16.70812573314584,"stringDateField":"1913-07-18","stringDateTimeField":"1935-02-03T13:48:50Z","stringField":"vORFypcJ","stringTimeField":"20:00:29.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":443,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":443,"uuid":"9de3e404-5655-11ee-b001-675ed0f8e89b"},"arrayField":["JNXghp","HaNfOlsyHp","ZkPN","emqhMjmE","hrahuL","lzzN","BwxZ","PyZlvIkrw"],"boolField":true,"intField":-776,"numField":-957.4358516144596,"objField":{"cHZSfPyvA":2257497036883330086,"oAMEJfQ":3097442139007920795},"stringDateField":"1973-05-09","stringDateTimeField":"2015-12-07T11:30:56Z","stringField":"QypQt","stringTimeField":"22:00:06.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":-776,"numField":-957.4358516144596,"stringDateField":"1973-05-09","stringDateTimeField":"2015-12-07T11:30:56Z","stringField":"QypQt","stringTimeField":"22:00:06.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":444,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":444,"uuid":"9de3e404-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ySjaF","IBCuML","buBdvXy","dOpzimcPR","HqqWNiMd","nOuiE","LdaPzg","TJwmGmjrf","jexmPUdJB","aDuta"],"boolField":true,"intField":-330,"numField":-287.6896690535928,"objField":{"AeLkaHFeE":-4659007215436223636,"Bccl":-1200260567262982316,"GlWPsxXE":6992524720660539049,"KRll":-1019218116823136162,"OaGSUpNL":-7506553991138298742,"gTgEtYobo":5378701811284953639,"lukcwdP":5955477375431160675,"uoqZ":-204881854118035781,"zSAOlHQg":-2939843835911727169},"stringDateField":"1920-09-11","stringDateTimeField":"1981-03-02T02:59:17Z","stringField":"geUMULblD","stringTimeField":"05:11:41.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":-330,"numField":-287.6896690535928,"stringDateField":"1920-09-11","stringDateTimeField":"1981-03-02T02:59:17Z","stringField":"geUMULblD","stringTimeField":"05:11:41.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":445,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":445,"uuid":"9de3e404-5655-11ee-b801-675ed0f8e89b"},"arrayField":["nRaOGzxK","fMah","brblf"],"boolField":true,"intField":313,"numField":787.8960913146626,"objField":{"fouoM":-8616057220644411157},"stringDateField":"1919-01-02","stringDateTimeField":"2009-11-10T06:35:17Z","stringField":"HcUQmzev","stringTimeField":"15:24:49.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":313,"numField":787.8960913146626,"stringDateField":"1919-01-02","stringDateTimeField":"2009-11-10T06:35:17Z","stringField":"HcUQmzev","stringTimeField":"15:24:49.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":446,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":446,"uuid":"9de3e404-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["CiMaM"],"boolField":true,"intField":-439,"numField":-534.080915201984,"objField":{"HMxen":-4499257432845971110,"IzJRUihOEF":-5715482900430446184,"PzhPPjg":-8755029117732005311,"prnbWvN":-8894106253441856482},"stringDateField":"2007-12-11","stringDateTimeField":"2006-02-08T04:27:06Z","stringField":"EmBXeeh","stringTimeField":"09:17:31.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230916Z","intField":-439,"numField":-534.080915201984,"stringDateField":"2007-12-11","stringDateTimeField":"2006-02-08T04:27:06Z","stringField":"EmBXeeh","stringTimeField":"09:17:31.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":447,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":447,"uuid":"9de3e405-5655-11ee-8001-675ed0f8e89b"},"arrayField":["sMDVBCs"],"boolField":false,"intField":671,"numField":-44.46030957317593,"objField":{"DIIKlN":-3952653785638751387,"FCcBUWbzAj":8600434103213943772,"GxmfJ":-3471659227087375119,"QwNYqaK":8571991909556575354,"bGjYNoyB":-5320292020857432111,"dxeUvGOCod":1368267396567371570,"rwzJkzeGQ":-9075341631231701920,"uXmmF":-5633128882886078682},"stringDateField":"1935-11-08","stringDateTimeField":"1937-11-24T01:50:10Z","stringField":"RzaxEb","stringTimeField":"02:31:23.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":671,"numField":-44.46030957317593,"stringDateField":"1935-11-08","stringDateTimeField":"1937-11-24T01:50:10Z","stringField":"RzaxEb","stringTimeField":"02:31:23.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":448,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":448,"uuid":"9de3e405-5655-11ee-8401-675ed0f8e89b"},"arrayField":["LZybUDmH","WSImRL","IVNAgYP","TvCzNh","exKLOrWXQ","GCbu","FUJylrZemh","mLcpYOmu"],"boolField":false,"intField":-818,"numField":-72.87169070122034,"objField":{"mduNddM":2110182661799967348,"tifeMHT":-443245518472713209},"stringDateField":"1929-06-20","stringDateTimeField":"1910-07-13T21:38:53Z","stringField":"gqwbpv","stringTimeField":"06:23:56.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":-818,"numField":-72.87169070122034,"stringDateField":"1929-06-20","stringDateTimeField":"1910-07-13T21:38:53Z","stringField":"gqwbpv","stringTimeField":"06:23:56.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":449,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":449,"uuid":"9de3e405-5655-11ee-8801-675ed0f8e89b"},"arrayField":["HUIAMAgxc","FCDzf","dwCChsL"],"boolField":true,"intField":-817,"numField":351.97157674867685,"objField":{"GUQYA":872843293564078944,"JJoO":-58474219990839394,"OyyUlnQM":7163495634980228708,"SCnwvn":3591784890232487247,"VMGifI":-8504077774344550157,"VwojPFqk":8215426894102008934,"aGdUxV":8082076904376826221,"jWLGgYkZ":-4286751585084454943,"osuzKg":17617888087801785,"pcNo":3136844915907895267},"stringDateField":"2003-11-22","stringDateTimeField":"1969-08-09T01:08:47Z","stringField":"gSrsYTBFnz","stringTimeField":"23:51:34.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":-817,"numField":351.97157674867685,"stringDateField":"2003-11-22","stringDateTimeField":"1969-08-09T01:08:47Z","stringField":"gSrsYTBFnz","stringTimeField":"23:51:34.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":450,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":450,"uuid":"9de3e405-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["sRZRnlRzR","iYbop","idIftTCl","izfMx","vMCKRzqfz","nNmR","xRLTjwHlCb","oQiEodjPKP"],"boolField":true,"intField":-647,"numField":-903.815105661796,"objField":{"EHNl":-2074677888646708978,"TFlIsohovW":7852394719595978280,"VeVxs":334959947893377822,"higTyUopw":9036828093265521343,"iyhtmGUeKE":-1003260200175509324,"izbSN":2004520200076603084,"lXuDoM":-8985248852499114731,"mQwCNYp":5999611906000333609,"pkSuOgC":-4251217797322376943,"yfcqytY":-8138661082200704242},"stringDateField":"1919-10-02","stringDateTimeField":"2001-07-02T21:51:02Z","stringField":"xkEh","stringTimeField":"10:52:45.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":-647,"numField":-903.815105661796,"stringDateField":"1919-10-02","stringDateTimeField":"2001-07-02T21:51:02Z","stringField":"xkEh","stringTimeField":"10:52:45.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":451,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":451,"uuid":"9de3e405-5655-11ee-9001-675ed0f8e89b"},"arrayField":["xEhoakVA","TQFzISck","VfYXRmyTC","YhDJAFiHUu","ULSJ","ALANHutKe"],"boolField":false,"intField":69,"numField":-912.8463904802928,"objField":{"IDdkF":-3749328370302772892,"Ilepey":-5333682793219204907,"ZSHhAyb":-3761949162931147509,"dWDDc":7082760736717988753,"fUrIdJSFug":1904312582056170170,"gzNhSpwQfT":-7099489037911225811,"pTyjeMjYLJ":-49774870637866269,"yFVAmMkEl":4820031153644473583,"yqUvo":-8972551144397264682},"stringDateField":"1996-02-05","stringDateTimeField":"1936-05-04T20:10:00Z","stringField":"JmFSzHR","stringTimeField":"05:32:42.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":69,"numField":-912.8463904802928,"stringDateField":"1996-02-05","stringDateTimeField":"1936-05-04T20:10:00Z","stringField":"JmFSzHR","stringTimeField":"05:32:42.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":452,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":452,"uuid":"9de3e405-5655-11ee-9401-675ed0f8e89b"},"arrayField":["PNKJYdjgL","EMBmGYep","YXxcGFGeN"],"boolField":true,"intField":467,"numField":318.78693577308417,"objField":{"IvguwZ":5888084141003748817,"RjLeVsjau":1866676658555115633,"peYdNYREmU":8406287860626024289,"wwnO":6822080339165074108,"xQVdKe":-872612764976482037},"stringDateField":"1947-07-11","stringDateTimeField":"1943-04-16T17:45:11Z","stringField":"EyqpQb","stringTimeField":"23:13:25.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":467,"numField":318.78693577308417,"stringDateField":"1947-07-11","stringDateTimeField":"1943-04-16T17:45:11Z","stringField":"EyqpQb","stringTimeField":"23:13:25.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":453,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":453,"uuid":"9de3e405-5655-11ee-9801-675ed0f8e89b"},"arrayField":["hnBdtOEJ","ogqKYfibli","HdiQI","nMGN","apkZYj","YRRTdwCPZy","HxjsX","YTgHnRZuLS","OAmCE","znZXKClBoD"],"boolField":true,"intField":442,"numField":-45.79243726619298,"objField":{"CVmloseXNW":-1589567709703108087,"CmrBrLKV":5165104098794704478,"IJul":936874390080824914,"LxmAHbQh":7515349272549968564,"NGCFJVj":2593124287176585683,"RKjNaZh":-2399299605949322686,"SorJvMWGp":-2459829705391815457,"dbjMQPHsal":-5460223994634642220,"nbcmgxTk":5154979004749632271,"zZiSvfXFX":-5712483526306743643},"stringDateField":"1957-04-22","stringDateTimeField":"2004-05-07T19:42:06Z","stringField":"cQzwWu","stringTimeField":"06:23:15.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":442,"numField":-45.79243726619298,"stringDateField":"1957-04-22","stringDateTimeField":"2004-05-07T19:42:06Z","stringField":"cQzwWu","stringTimeField":"06:23:15.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":454,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":454,"uuid":"9de3e405-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["NlTMWt","cwwjvv","btYAtanq","ustuqDDFhP","rcELybERXA"],"boolField":true,"intField":-629,"numField":-342.9196123982523,"objField":{"HTnYdcKk":-6376854623739205235,"HqZX":1113349791734632792,"IZyVDDPkk":-2939663053492718856,"OAZRVy":6334624374550598659,"QBCZTy":-5097320499579360945,"TpybZOBg":951504046627226648,"XiIjVM":8077530218075840035,"dtfh":-3021193751046557250},"stringDateField":"1989-08-30","stringDateTimeField":"1954-10-06T04:10:08Z","stringField":"UqkOXwFzAq","stringTimeField":"17:52:19.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":-629,"numField":-342.9196123982523,"stringDateField":"1989-08-30","stringDateTimeField":"1954-10-06T04:10:08Z","stringField":"UqkOXwFzAq","stringTimeField":"17:52:19.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":455,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":455,"uuid":"9de3e405-5655-11ee-a001-675ed0f8e89b"},"arrayField":["IUOnRNA","lFxXFofNzc","dksydmzY","iovjY","XAaGaoilk","aejJ","qZdhTWKTD","YAwkDpkt","nhixTkGc"],"boolField":true,"intField":912,"numField":229.440327176063,"objField":{"AdiwZY":6941108478626350717,"CZkDyC":7672849763992067243,"dXrLBEoA":6396067831410714934,"ySbQ":1823337996814208710},"stringDateField":"2005-09-23","stringDateTimeField":"1975-06-21T13:43:28Z","stringField":"SfID","stringTimeField":"12:19:05.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":912,"numField":229.440327176063,"stringDateField":"2005-09-23","stringDateTimeField":"1975-06-21T13:43:28Z","stringField":"SfID","stringTimeField":"12:19:05.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":456,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":456,"uuid":"9de3e405-5655-11ee-a401-675ed0f8e89b"},"arrayField":["StdHLcrcq","BasqHUO"],"boolField":false,"intField":-130,"numField":-635.3466041171432,"objField":{"Ekolk":749016320450780629,"GAHqPHDKLD":-2169302464886420536,"GeampLB":-7527384703197704008,"LnixUoIoQm":6855479522879282205,"MZWeZvYPK":5456707428870920628,"SiZH":-1744034292916122583,"amWkPvt":-9003329148316425752,"jqPswwBW":-2580747209418339543,"mwENxp":-1344139016268130979},"stringDateField":"1944-04-29","stringDateTimeField":"1919-03-27T15:11:26Z","stringField":"kajUysc","stringTimeField":"22:11:56.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":-130,"numField":-635.3466041171432,"stringDateField":"1944-04-29","stringDateTimeField":"1919-03-27T15:11:26Z","stringField":"kajUysc","stringTimeField":"22:11:56.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":457,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":457,"uuid":"9de3e405-5655-11ee-a801-675ed0f8e89b"},"arrayField":["fcyEPVE","ynvyKbentx","XpSgTCv","bXXIgzGOYH","dKBPO","yTyl"],"boolField":true,"intField":392,"numField":-994.4962633341642,"objField":{"DdVSHodwxb":4226577342579376953,"EenROcKzZ":-7437527985073068630,"bkDUJW":-6266747425750147172,"cDqsBNGKnf":4366666234737916605,"jSdoNCuT":6072154902731116920,"qSvK":6050437989717107171},"stringDateField":"1961-05-06","stringDateTimeField":"2000-12-22T16:49:24Z","stringField":"kPgtobegY","stringTimeField":"00:15:47.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":392,"numField":-994.4962633341642,"stringDateField":"1961-05-06","stringDateTimeField":"2000-12-22T16:49:24Z","stringField":"kPgtobegY","stringTimeField":"00:15:47.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":458,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":458,"uuid":"9de3e405-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["qwQLm","JzHdpq","CowAUlMocS","PxuRJUG","AEqCCTBN","HqTRkS","tFer","vEWPotKfUG","LvgFjLRf"],"boolField":false,"intField":191,"numField":329.55859420853284,"objField":{"BrOdrf":-6541871903708782006,"KZgfayNbgm":-3916962539271470095,"OKcssdwjC":6166352369160016776,"bWKAlGO":4052882980312783507,"cADkiR":-2620644988547257204,"cLXPooULPJ":-6886405852152222657,"hlkS":-4930625313721363745,"mOGH":-5976914659827517233,"rAreao":-8493207327132389610,"xjuUOvklMy":1084185472736307370},"stringDateField":"1968-03-27","stringDateTimeField":"1953-12-06T12:58:19Z","stringField":"Lhccyoxg","stringTimeField":"15:56:23.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":191,"numField":329.55859420853284,"stringDateField":"1968-03-27","stringDateTimeField":"1953-12-06T12:58:19Z","stringField":"Lhccyoxg","stringTimeField":"15:56:23.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":459,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":459,"uuid":"9de3e405-5655-11ee-b001-675ed0f8e89b"},"arrayField":["rHyOdglj","jtGLvNLyT","MbWrMSzykW","DOciNgC","ILWEqLF","lHZxfMrpx","GPWIYIbPr"],"boolField":true,"intField":756,"numField":606.702671632585,"objField":{"CuGGgq":-8480992043458127207,"Plrv":-5390680139857811605,"RnuwL":-1387011236667122571,"gAeTK":2262847715483185705,"mTfhYxpLK":-4356382633060602761,"mgggdBPAZH":-4579156842560760360,"nOYleH":-2494857104464971201,"wlMCXtuk":-1127314622049956898},"stringDateField":"1982-08-14","stringDateTimeField":"2009-12-01T02:04:41Z","stringField":"IISuNGGt","stringTimeField":"07:41:53.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":756,"numField":606.702671632585,"stringDateField":"1982-08-14","stringDateTimeField":"2009-12-01T02:04:41Z","stringField":"IISuNGGt","stringTimeField":"07:41:53.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":460,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":460,"uuid":"9de3e405-5655-11ee-b401-675ed0f8e89b"},"arrayField":["rvzsmB","PvxKE","GZztUCWUZd"],"boolField":false,"intField":975,"numField":942.4769214768858,"objField":{"GPMJisY":-8925773942227770616,"zXUvlvhMT":-1629915558038318405},"stringDateField":"1957-02-20","stringDateTimeField":"2022-05-19T02:43:20Z","stringField":"aBwR","stringTimeField":"22:28:54.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":975,"numField":942.4769214768858,"stringDateField":"1957-02-20","stringDateTimeField":"2022-05-19T02:43:20Z","stringField":"aBwR","stringTimeField":"22:28:54.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":461,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":461,"uuid":"9de3e405-5655-11ee-b801-675ed0f8e89b"},"arrayField":["qFriqu","XTHMBWRI","xrNTlsKIPw","LfxsmcXIAV","XgVfsRJ","hIDkWuR","yLfzuaO","nqmNFI","QWma","XUNSMCMv"],"boolField":true,"intField":-330,"numField":971.758683264779,"objField":{"CPUdcPSIeG":-1709961646238345720,"ClTopYDDL":-6042686938527308662,"EWTxgFSXDI":4101936650943502787,"IoMIQ":1663010454847679120,"TGNkwwu":-8096876922462230959,"UcpKn":-8504171627012131780,"cPLotAyl":8770241674586145668,"gUhiCnjCnO":-5842334293611304248},"stringDateField":"1942-12-08","stringDateTimeField":"2020-08-26T02:29:27Z","stringField":"tIMxLue","stringTimeField":"15:02:52.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":-330,"numField":971.758683264779,"stringDateField":"1942-12-08","stringDateTimeField":"2020-08-26T02:29:27Z","stringField":"tIMxLue","stringTimeField":"15:02:52.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":462,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":462,"uuid":"9de3e405-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["JwXlui","DFeyUmnbq","CyWXrD","QHPjL","GMnfCGJ","WxjPJSkms","WdlTsrk"],"boolField":true,"intField":-646,"numField":-715.3011433381806,"objField":{"ALxe":1584564941038405732,"DJpoQ":-406495458013051214,"LvhDNA":-1399171466490074519,"UYloTuhzTN":1546482721850176278,"VIOoOzLHRu":-1814675017413283819,"aWjMMWv":-6812036910780572265,"eECUy":-669497573625276329,"jLnZoDSlAe":-295097917353684537,"qarMBHdtB":6523354905774458220},"stringDateField":"1982-02-18","stringDateTimeField":"1968-11-29T21:34:33Z","stringField":"QKtMN","stringTimeField":"16:23:00.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230917Z","intField":-646,"numField":-715.3011433381806,"stringDateField":"1982-02-18","stringDateTimeField":"1968-11-29T21:34:33Z","stringField":"QKtMN","stringTimeField":"16:23:00.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":463,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":463,"uuid":"9de3e406-5655-11ee-8001-675ed0f8e89b"},"arrayField":["JvhBbbc","dwJaKDftxK","QXtoYjqH","YQUE","LSyxRiZH"],"boolField":false,"intField":588,"numField":-161.74253576283058,"objField":{"AZlebEBDpv":3461483307827877879,"PMfzNAkNmU":-352799411730685340,"jmaxyRAi":8300188189998199498,"ujBVe":355752079619889227},"stringDateField":"1989-09-18","stringDateTimeField":"1994-11-16T22:31:38Z","stringField":"xiQERJ","stringTimeField":"17:11:13.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":588,"numField":-161.74253576283058,"stringDateField":"1989-09-18","stringDateTimeField":"1994-11-16T22:31:38Z","stringField":"xiQERJ","stringTimeField":"17:11:13.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":464,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":464,"uuid":"9de3e406-5655-11ee-8401-675ed0f8e89b"},"arrayField":["DVKQ"],"boolField":true,"intField":-651,"numField":207.12460607991545,"objField":{"HemTRI":1716351845095813158,"OgQT":-8760153886077076151,"VPPI":2780281848527379442,"aFLlZzI":-9103774511620028568,"pUWOM":-3332438438472171129},"stringDateField":"1943-03-01","stringDateTimeField":"1906-11-12T23:34:36Z","stringField":"gZLqmXJt","stringTimeField":"15:14:40.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":-651,"numField":207.12460607991545,"stringDateField":"1943-03-01","stringDateTimeField":"1906-11-12T23:34:36Z","stringField":"gZLqmXJt","stringTimeField":"15:14:40.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":465,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":465,"uuid":"9de3e406-5655-11ee-8801-675ed0f8e89b"},"arrayField":["zdBq","BhQxRYNM","PJdjWQ","PvzDiRH"],"boolField":false,"intField":-80,"numField":-450.9830573139632,"objField":{"mgajpGVOU":2668889182636932925},"stringDateField":"1998-01-25","stringDateTimeField":"2002-03-03T20:57:57Z","stringField":"GONkuxjzRP","stringTimeField":"07:48:40.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":-80,"numField":-450.9830573139632,"stringDateField":"1998-01-25","stringDateTimeField":"2002-03-03T20:57:57Z","stringField":"GONkuxjzRP","stringTimeField":"07:48:40.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":466,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":466,"uuid":"9de3e406-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KpYSprEp"],"boolField":false,"intField":137,"numField":-208.23082147659767,"objField":{"bLNjBtRIF":-2198964904576458268,"jscXuxhuTf":-8227952058957203428,"kjFiQXaT":-7940864757553748582,"rwlASbkGfZ":-8666993493515307297,"wmnSphWrT":-7911066496178170045},"stringDateField":"1976-06-20","stringDateTimeField":"1986-02-16T15:49:50Z","stringField":"afLNiRlVM","stringTimeField":"15:29:31.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":137,"numField":-208.23082147659767,"stringDateField":"1976-06-20","stringDateTimeField":"1986-02-16T15:49:50Z","stringField":"afLNiRlVM","stringTimeField":"15:29:31.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":467,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":467,"uuid":"9de3e406-5655-11ee-9001-675ed0f8e89b"},"arrayField":["aityGQ","FeAtUprrp","Jrsyvlwmdd","DuLlREYJSq"],"boolField":false,"intField":861,"numField":-755.6708229228033,"objField":{"jwZXK":-4101095689134677071,"jyrln":4299902971994589092,"wjOJyBy":3583655871435289597,"wsJze":5620378796183639002},"stringDateField":"1982-01-26","stringDateTimeField":"1982-10-04T02:16:03Z","stringField":"dqAABuAKGL","stringTimeField":"08:32:59.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":861,"numField":-755.6708229228033,"stringDateField":"1982-01-26","stringDateTimeField":"1982-10-04T02:16:03Z","stringField":"dqAABuAKGL","stringTimeField":"08:32:59.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":468,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":468,"uuid":"9de3e406-5655-11ee-9401-675ed0f8e89b"},"arrayField":["DEnl","ubPu","SlQjGmIFWz","PZYqEH","WdivxPMup","GikHqFhEvm","eXhDFN","dgzOP"],"boolField":true,"intField":67,"numField":-188.7133907205227,"objField":{"CHtiqExt":7533856680904488402,"CTfgEwmDrk":8760210499803124140,"IKpACa":3392148061677161061,"OkZMKK":8038774932208028586,"RLXoAoOkWO":-5329504425874734973,"TlxvrtWtu":-733502765445059985,"ZXydvhw":5602976853887564743,"dusmCu":-720236682980498009},"stringDateField":"1976-03-27","stringDateTimeField":"1903-05-31T10:54:58Z","stringField":"jQQHFzKKIc","stringTimeField":"01:00:59.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":67,"numField":-188.7133907205227,"stringDateField":"1976-03-27","stringDateTimeField":"1903-05-31T10:54:58Z","stringField":"jQQHFzKKIc","stringTimeField":"01:00:59.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":469,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":469,"uuid":"9de3e406-5655-11ee-9801-675ed0f8e89b"},"arrayField":["VMzNUWK","Pjcr","edOgUky","TlCgVVP","cxMt","PrMhLvSiV","KwwJZxQJda","gtBGhSTNO"],"boolField":false,"intField":650,"numField":146.70485252782672,"objField":{"AwYg":3970752272868784322,"OVrDzepO":6496691801432357446,"Wycl":-4980741861676183433,"ZQZCCPTvC":-1612232322918911659,"bKxxL":593417300073441681,"gAZZRuLR":7197902858909990974,"vwymsuZs":8533283696304839926},"stringDateField":"2021-05-16","stringDateTimeField":"1921-06-20T07:41:29Z","stringField":"uVGKXDF","stringTimeField":"07:23:04.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":650,"numField":146.70485252782672,"stringDateField":"2021-05-16","stringDateTimeField":"1921-06-20T07:41:29Z","stringField":"uVGKXDF","stringTimeField":"07:23:04.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":470,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":470,"uuid":"9de3e406-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["zgKW","nVapFFR","hsYKdIss"],"boolField":false,"intField":-260,"numField":483.04733488879646,"objField":{"ApTccgVY":279308524891459190,"BXstADM":5649620169572678190,"PyAhhzagR":-5175476442276098627,"SdhZ":-6086131448707303570,"TDJLyAUxeC":5257916426086119086,"WBNIusPcYz":-7954369716479538069,"XhkPeMFv":8614569739024001112,"iknzsCqdz":-2661578048765569028,"rxDbat":-3091248712838826312,"xNtBuxdRM":6218718293312895990},"stringDateField":"1906-06-24","stringDateTimeField":"1957-02-15T13:15:33Z","stringField":"RVIDEyAs","stringTimeField":"12:02:45.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":-260,"numField":483.04733488879646,"stringDateField":"1906-06-24","stringDateTimeField":"1957-02-15T13:15:33Z","stringField":"RVIDEyAs","stringTimeField":"12:02:45.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":471,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":471,"uuid":"9de3e406-5655-11ee-a001-675ed0f8e89b"},"arrayField":["jbEqTUDdcU","xVWCTn","RaAuU","lJDf"],"boolField":true,"intField":432,"numField":425.5449245365328,"objField":{"FmLAL":-6677043600259660650,"KrnhGaAT":-76788638505424769,"RMfZ":-4083821628938240562,"cUHIduw":-7031359464724703189,"eHDr":-5099029829960849297,"gMNuqZ":3610073021435561838,"kEPLM":1465809999354471339,"sfwnfs":8007977977652648057,"wTPWFjk":8810339655026111895,"wUEAhALhwd":8041298623510686015},"stringDateField":"2020-09-14","stringDateTimeField":"1918-05-14T19:28:50Z","stringField":"cKAhDKnG","stringTimeField":"05:31:38.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":432,"numField":425.5449245365328,"stringDateField":"2020-09-14","stringDateTimeField":"1918-05-14T19:28:50Z","stringField":"cKAhDKnG","stringTimeField":"05:31:38.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":472,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":472,"uuid":"9de3e406-5655-11ee-a401-675ed0f8e89b"},"arrayField":["mArljorMF","WefJFIJ","CLGMIuZc"],"boolField":true,"intField":580,"numField":-974.1278172562048,"objField":{"GwJa":7626424838355268358,"ILGSXntqof":-7170748310216503531,"LeBlD":-425736157821295776,"QLuQHyADM":6811080502975128219,"QQPcERD":7538410709097309065,"UsQKyg":-4830104957635460757,"kEnDfovXTz":210725534190321018,"mbSjWL":5593251131035854915,"rQhMHyAbZL":-4204176405021092770,"zqlVdjaubr":5690231222940683212},"stringDateField":"1960-12-26","stringDateTimeField":"2001-12-02T17:05:11Z","stringField":"AEhG","stringTimeField":"12:50:08.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":580,"numField":-974.1278172562048,"stringDateField":"1960-12-26","stringDateTimeField":"2001-12-02T17:05:11Z","stringField":"AEhG","stringTimeField":"12:50:08.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":473,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":473,"uuid":"9de3e406-5655-11ee-a801-675ed0f8e89b"},"arrayField":["JNPsroyyl","zKIrvu","AeJAJqAE","UlawC","cEYxYr","IlncQd","ghrP","uFjqkQJU","qZAx","pNIby"],"boolField":true,"intField":-311,"numField":583.2725311451743,"objField":{"CROQiRuA":7202130982145270956,"UCkAVNDObE":-1281266809422786023,"bLDroopZM":-1316372353048153542,"hcwXp":-6426817693079288064,"icgC":-5556687262293997701,"uVSRRIt":7217128016809506137},"stringDateField":"2008-09-29","stringDateTimeField":"2003-06-10T15:38:18Z","stringField":"JIDFMwpJ","stringTimeField":"14:20:29.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":-311,"numField":583.2725311451743,"stringDateField":"2008-09-29","stringDateTimeField":"2003-06-10T15:38:18Z","stringField":"JIDFMwpJ","stringTimeField":"14:20:29.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":474,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":474,"uuid":"9de3e406-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["NJfwOG","JngiA","mBOPm","qKxVftZh"],"boolField":false,"intField":366,"numField":-407.4583951356728,"objField":{"CowiX":-4081651283734764644,"HgnQeenldr":-5229915910065679931,"QaDOcpX":-3458681608846400034,"RKulF":-7083876998944110943,"UpyiFpV":7643910016022873815,"ireOsoxhV":7496284742875490629,"sbGvtIyd":5003266826099001661,"xeXJBncmB":9214438060512155021},"stringDateField":"2016-09-20","stringDateTimeField":"1951-04-26T10:23:26Z","stringField":"bwauOe","stringTimeField":"16:53:05.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":366,"numField":-407.4583951356728,"stringDateField":"2016-09-20","stringDateTimeField":"1951-04-26T10:23:26Z","stringField":"bwauOe","stringTimeField":"16:53:05.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":475,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":475,"uuid":"9de3e406-5655-11ee-b001-675ed0f8e89b"},"arrayField":["mchaYyfUR","SkBJ","kMHTIm","TdcS"],"boolField":true,"intField":607,"numField":135.94838787519993,"objField":{"AJMmtXbI":-7342446092978736965,"HKne":7852823301429793359,"IHws":-3182824588284241355,"LiTUaEp":-2596964678736907347,"PWppgrkESP":1131067164567389890,"kDZG":5098260952695800447,"mwFZFgX":-9101286247307244107,"toYr":8476730278153285530,"uxxJi":-260275087933646491},"stringDateField":"1982-02-14","stringDateTimeField":"1907-05-12T19:42:52Z","stringField":"iFENDB","stringTimeField":"05:48:02.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":607,"numField":135.94838787519993,"stringDateField":"1982-02-14","stringDateTimeField":"1907-05-12T19:42:52Z","stringField":"iFENDB","stringTimeField":"05:48:02.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":476,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":476,"uuid":"9de3e406-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ERwEsHmz","pjhyAYhDMH","TUZOxTIVlF","dfxgT","CcJtebIp","ZwlCG","OrhZS","clXpea"],"boolField":true,"intField":557,"numField":-850.8330308719785,"objField":{"FIWRXUKnDf":-8841524301140588980,"UTOuC":5168434787774769510,"bNgVR":8615559079389245494,"nwClYQ":5924956071856526084,"oTeaP":-1358167963829719189,"spbWUTixF":-6208035146696917432,"wRLYb":-4748011983124951359},"stringDateField":"1913-03-03","stringDateTimeField":"1966-10-16T18:42:46Z","stringField":"EVQm","stringTimeField":"22:06:21.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":557,"numField":-850.8330308719785,"stringDateField":"1913-03-03","stringDateTimeField":"1966-10-16T18:42:46Z","stringField":"EVQm","stringTimeField":"22:06:21.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":477,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":477,"uuid":"9de3e406-5655-11ee-b801-675ed0f8e89b"},"arrayField":["TGjJNHkud","RUAgGuSKt","OoKT","iIjYupQeu"],"boolField":true,"intField":-477,"numField":-889.3840191130935,"objField":{"IGYjH":-4591340772127584663},"stringDateField":"2006-08-03","stringDateTimeField":"1916-10-04T15:31:30Z","stringField":"OiNHznIBP","stringTimeField":"01:44:29.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":-477,"numField":-889.3840191130935,"stringDateField":"2006-08-03","stringDateTimeField":"1916-10-04T15:31:30Z","stringField":"OiNHznIBP","stringTimeField":"01:44:29.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":478,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":478,"uuid":"9de3e406-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["EapqUeTql","OxBbbR","XJDaFwRPRD","GkfaG","yyeQc","FTlHgwUrlH","xtDrVwuU","klsnS","dtitf","jqqmoZcS"],"boolField":true,"intField":653,"numField":623.0194250751517,"objField":{"fzBtMFji":4592227674790713563},"stringDateField":"1968-01-27","stringDateTimeField":"2005-01-12T08:09:12Z","stringField":"eGXyeCTJ","stringTimeField":"03:52:15.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230918Z","intField":653,"numField":623.0194250751517,"stringDateField":"1968-01-27","stringDateTimeField":"2005-01-12T08:09:12Z","stringField":"eGXyeCTJ","stringTimeField":"03:52:15.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":479,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":479,"uuid":"9de3e407-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ZNqrXw","KZqwqwhaV","HlNES","JDAak","ZhzBXMMUHU","WZlwJTP","bUawqsmoeW","lsvApeTV","VcRhX","TJMcz"],"boolField":false,"intField":307,"numField":-697.6496751008456,"objField":{"BjKSgFChOR":-2020379553759246198,"JFWcFMuOvE":8362948496639225048,"aBxJhq":-7396187571638046745,"aWkTr":-1971455652989976569,"sxINsvbrt":1330772048729259252,"wCxl":6109965261183425636},"stringDateField":"1976-08-01","stringDateTimeField":"1957-09-02T19:53:57Z","stringField":"DYMhN","stringTimeField":"10:19:33.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":307,"numField":-697.6496751008456,"stringDateField":"1976-08-01","stringDateTimeField":"1957-09-02T19:53:57Z","stringField":"DYMhN","stringTimeField":"10:19:33.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":480,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":480,"uuid":"9de3e407-5655-11ee-8401-675ed0f8e89b"},"arrayField":["FxNjRcofXK","BmYvU","cUzK","fmlAXHAYQ","GkiNkimYC"],"boolField":true,"intField":-233,"numField":-754.5053877047858,"objField":{"GjIazis":1708555618065954236,"IkyumooU":-3373133701506639695,"RAfBgB":-85364980853450412,"axJJbUXvb":-2462198568514265843,"cTfsUJf":2243556783396362653,"qHSIUyAqOY":-6024150309943123993},"stringDateField":"1981-04-14","stringDateTimeField":"1980-12-25T20:25:02Z","stringField":"faGXmCM","stringTimeField":"12:01:23.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":-233,"numField":-754.5053877047858,"stringDateField":"1981-04-14","stringDateTimeField":"1980-12-25T20:25:02Z","stringField":"faGXmCM","stringTimeField":"12:01:23.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":481,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":481,"uuid":"9de3e407-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ulUKEdSn","suWLjGA","gMaVAj","iyzKKqF","GhrfXf","jsfZmm"],"boolField":false,"intField":-485,"numField":-902.5895332009344,"objField":{"FKkMTw":-3688817278832428155,"HnMJM":8625344827934469576,"LwOYIhcOg":-2385177150810981940,"VqnjuHl":6525092257140247540,"iaSbP":-3809932233648610776,"ieWezmPRfy":2737942865052546780,"nNEUcd":5244983587818050185,"wRqkADtLP":7298236497010730570},"stringDateField":"2011-10-08","stringDateTimeField":"1970-11-12T09:17:34Z","stringField":"YcxvrKAjyI","stringTimeField":"20:45:16.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":-485,"numField":-902.5895332009344,"stringDateField":"2011-10-08","stringDateTimeField":"1970-11-12T09:17:34Z","stringField":"YcxvrKAjyI","stringTimeField":"20:45:16.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":482,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":482,"uuid":"9de3e407-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["zXfqRYP","vsuA","IZghputMBc","SFGXKgE","BnSOsAGq","eiczBaKzJH","fxejjrPoX","PPIRTkd","zfEdBummV"],"boolField":false,"intField":-325,"numField":516.2180617997683,"objField":{"BRCNj":-4296941761584151997,"GBjS":4776571406328964847,"MGCCK":-5819303326572408694,"XZCElUE":4709028011586657768,"foVmQq":5111086253393010587,"usWpWqY":1806123812612833163,"zcpkJMzUkw":8621174578136988291},"stringDateField":"1992-08-14","stringDateTimeField":"1955-07-28T13:01:56Z","stringField":"soDjQHP","stringTimeField":"20:12:34.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":-325,"numField":516.2180617997683,"stringDateField":"1992-08-14","stringDateTimeField":"1955-07-28T13:01:56Z","stringField":"soDjQHP","stringTimeField":"20:12:34.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":483,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":483,"uuid":"9de3e407-5655-11ee-9001-675ed0f8e89b"},"arrayField":["aOdDp","CUumOst","eTVYO"],"boolField":false,"intField":-38,"numField":805.4992573015802,"objField":{"RaJUKKWPFS":9118465962409875549,"aLMRkg":-686670053273295281,"eIktpEcbi":998413961247146353,"hxiSV":1007319069934985194,"rfhYlchXgD":-2271553131694556460,"ybsc":-4562243048266000391,"zRVBHvCVH":207679732529288032},"stringDateField":"1934-02-03","stringDateTimeField":"1974-03-25T04:43:20Z","stringField":"WKBoqb","stringTimeField":"05:45:19.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":-38,"numField":805.4992573015802,"stringDateField":"1934-02-03","stringDateTimeField":"1974-03-25T04:43:20Z","stringField":"WKBoqb","stringTimeField":"05:45:19.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":484,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":484,"uuid":"9de3e407-5655-11ee-9401-675ed0f8e89b"},"arrayField":["EFKcialD","vNimXkNPWC","xAmEsngtP","pejWB","DeonVW","vOSDnS","KKiiqm"],"boolField":true,"intField":906,"numField":-687.9605206817408,"objField":{"OVhnu":3575742770446524049,"QRxIltgrj":-2578672482278758418,"nfhQbNfOeg":-4316822575259274429,"pcWUzUINbt":-6997754648617339357,"ydAWTFXsRR":-6719832494786406336},"stringDateField":"1913-05-19","stringDateTimeField":"1915-10-19T21:21:17Z","stringField":"UjZxraLVh","stringTimeField":"18:56:20.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":906,"numField":-687.9605206817408,"stringDateField":"1913-05-19","stringDateTimeField":"1915-10-19T21:21:17Z","stringField":"UjZxraLVh","stringTimeField":"18:56:20.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":485,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":485,"uuid":"9de3e407-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gGos","hOQsXklkEX"],"boolField":false,"intField":884,"numField":-163.53822247231008,"objField":{"KAff":-6418538202902349256,"nByP":-1830395616676219848,"qoHl":-1164681946335322346},"stringDateField":"2013-06-12","stringDateTimeField":"2018-10-09T09:01:28Z","stringField":"mIQy","stringTimeField":"04:25:29.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":884,"numField":-163.53822247231008,"stringDateField":"2013-06-12","stringDateTimeField":"2018-10-09T09:01:28Z","stringField":"mIQy","stringTimeField":"04:25:29.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":486,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":486,"uuid":"9de3e407-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["zLTgVFZ","QWIv","CIljfy","uULPyp","aTFYyOBxtG","yays","ASpvGQHoRS","eNaL"],"boolField":false,"intField":-143,"numField":-215.90208529517375,"objField":{"DxdzTwxp":-633047838652661977,"Gnpt":-5484219137301044803,"KjLt":1502071500411330328,"QQhLHL":-3431343525101734044,"fBFuzsVi":4439914019854241093,"kznTgU":2674528345434636794,"vmDFTdH":-1022445591202451423},"stringDateField":"1902-12-06","stringDateTimeField":"2000-08-24T01:01:45Z","stringField":"OKmpx","stringTimeField":"18:16:46.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":-143,"numField":-215.90208529517375,"stringDateField":"1902-12-06","stringDateTimeField":"2000-08-24T01:01:45Z","stringField":"OKmpx","stringTimeField":"18:16:46.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":487,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":487,"uuid":"9de3e407-5655-11ee-a001-675ed0f8e89b"},"arrayField":["yEeUhv"],"boolField":false,"intField":495,"numField":-789.6506674465644,"objField":{"FlMUlzyt":5863207991127281041,"GIPJEHi":3114344129086539032,"PmlLY":4123434939255408684,"ZOfP":7102316124929136983,"pfeTDx":-8513659998401549545,"yejx":2576339206478539943},"stringDateField":"1994-04-10","stringDateTimeField":"1928-05-21T12:15:55Z","stringField":"FNqCWxUI","stringTimeField":"21:20:19.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":495,"numField":-789.6506674465644,"stringDateField":"1994-04-10","stringDateTimeField":"1928-05-21T12:15:55Z","stringField":"FNqCWxUI","stringTimeField":"21:20:19.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":488,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":488,"uuid":"9de3e407-5655-11ee-a401-675ed0f8e89b"},"arrayField":["WqhYHdbYN","tJlbnqZik","GpzK","GNlcyhl","qBLYL","ymyXUGlRm"],"boolField":false,"intField":-513,"numField":729.0889404425873,"objField":{"QLtny":3538520140660670706,"cQJXLz":-7240640246801397135,"ovDmotRLUL":8465970994590420021,"wNTTJggXZy":8204678347878742641,"wQxHUNvv":-7397303894506354492},"stringDateField":"1952-10-01","stringDateTimeField":"1931-04-06T05:00:43Z","stringField":"TgXLOvxOXX","stringTimeField":"21:41:24.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":-513,"numField":729.0889404425873,"stringDateField":"1952-10-01","stringDateTimeField":"1931-04-06T05:00:43Z","stringField":"TgXLOvxOXX","stringTimeField":"21:41:24.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":489,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":489,"uuid":"9de3e407-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ZKKGxUIRXI","MRCObzbN","VtaIW","RMxpsTjmx","UgJCzsdBP","kxCp"],"boolField":true,"intField":-463,"numField":-274.2810471973331,"objField":{"MJgLFuz":4683439325098761299,"PmGmwZ":8584282654681531124,"UhuwyzHc":-6743601720447281446,"WEsSAGF":-1320800991440475544,"iEPWdKS":2378437315371569653,"nzKgIQmjN":-7805012826596520799},"stringDateField":"1983-12-18","stringDateTimeField":"1983-01-26T11:06:17Z","stringField":"zPcg","stringTimeField":"14:18:17.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":-463,"numField":-274.2810471973331,"stringDateField":"1983-12-18","stringDateTimeField":"1983-01-26T11:06:17Z","stringField":"zPcg","stringTimeField":"14:18:17.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":490,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":490,"uuid":"9de3e407-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["NhBvyJQwQ","RgOP","HKctf","zVIj","dnalvkKD"],"boolField":false,"intField":870,"numField":703.1816117489027,"objField":{"AdroHi":1875930480560152618,"OwVG":6352420135703460435,"TJFMRoK":-1306974208934542553},"stringDateField":"1975-12-08","stringDateTimeField":"1976-02-18T10:53:19Z","stringField":"cftmSawOK","stringTimeField":"13:09:22.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":870,"numField":703.1816117489027,"stringDateField":"1975-12-08","stringDateTimeField":"1976-02-18T10:53:19Z","stringField":"cftmSawOK","stringTimeField":"13:09:22.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":491,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":491,"uuid":"9de3e407-5655-11ee-b001-675ed0f8e89b"},"arrayField":["xUiBvR","OtrM","MfkQFI","jXcQTW","ngqd","PFOLuSCh","HWerxubIR","zZaCVXdIH"],"boolField":true,"intField":24,"numField":705.3804403679709,"objField":{"AJWdKA":-4283097684729777264,"BLgInuaEAE":4429124637714529516,"CmLBSC":5834674778055300669,"FxZXnSk":3016601077469856993,"IQzP":5381961326643820855,"RldVm":1685794811717892867,"iXhUGbjwjG":2275016601451912972,"rvvHjaBvKV":3325201941106204328,"xqQUSSWUj":-1146839078579224172,"zTjwt":-7523512959650173419},"stringDateField":"1923-03-16","stringDateTimeField":"1985-06-17T02:52:11Z","stringField":"KCIhcRc","stringTimeField":"21:20:17.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":24,"numField":705.3804403679709,"stringDateField":"1923-03-16","stringDateTimeField":"1985-06-17T02:52:11Z","stringField":"KCIhcRc","stringTimeField":"21:20:17.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":492,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":492,"uuid":"9de3e407-5655-11ee-b401-675ed0f8e89b"},"arrayField":["zNJodJ","YIVd","uuwQNUO","lNUlLVE","SIyBq","hUHvcP","nXDPyPnE","wRFjOUCcH","UxgRJHk"],"boolField":true,"intField":648,"numField":-16.167138578088046,"objField":{"DwrAEk":-8821007869845608361,"crWy":-6015469525161170165},"stringDateField":"1999-04-30","stringDateTimeField":"1961-05-21T21:47:04Z","stringField":"YciJcFN","stringTimeField":"17:24:52.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":648,"numField":-16.167138578088046,"stringDateField":"1999-04-30","stringDateTimeField":"1961-05-21T21:47:04Z","stringField":"YciJcFN","stringTimeField":"17:24:52.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":493,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":493,"uuid":"9de3e407-5655-11ee-b801-675ed0f8e89b"},"arrayField":["RaNmt","daSU"],"boolField":true,"intField":-640,"numField":939.859706409915,"objField":{"PIbodbpYie":-6080025022583647988,"UctozCzc":-2835959796139716229,"WNJbVh":6998975750999933286,"YuWTA":1694346160897402282,"iPTCrr":-3167896487955451018,"svQfe":-5967492283284292774,"ttFkL":-1132465360562705331},"stringDateField":"1900-05-11","stringDateTimeField":"1902-08-14T13:59:50Z","stringField":"aRTyUa","stringTimeField":"15:07:29.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":-640,"numField":939.859706409915,"stringDateField":"1900-05-11","stringDateTimeField":"1902-08-14T13:59:50Z","stringField":"aRTyUa","stringTimeField":"15:07:29.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":494,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":494,"uuid":"9de3e407-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["EsGka"],"boolField":true,"intField":377,"numField":-490.752032458693,"objField":{"FhHyR":-8584799062029238876,"KthqNXkcU":-3004337851283235485,"PrkQteiN":6896883304490529938,"VWVqNZ":-5828441596534243746,"azSJslqWA":4819516958516581316,"jtgvEG":-3830710947723684417},"stringDateField":"2015-11-26","stringDateTimeField":"1911-06-13T15:51:11Z","stringField":"IPWwsS","stringTimeField":"17:40:34.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230919Z","intField":377,"numField":-490.752032458693,"stringDateField":"2015-11-26","stringDateTimeField":"1911-06-13T15:51:11Z","stringField":"IPWwsS","stringTimeField":"17:40:34.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":495,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":495,"uuid":"9de3e408-5655-11ee-8001-675ed0f8e89b"},"arrayField":["DJrfEGMzUG","weKVWffz","UCEoaZHQ"],"boolField":false,"intField":113,"numField":-745.2852346401303,"objField":{"HGkSPX":748189505773924015,"UByrIWBF":-823055383779073576,"muDCJaitBj":-116684782500447374,"qcqHk":-4415471017792246363,"vjIxmga":6863670418290948546},"stringDateField":"1946-07-27","stringDateTimeField":"1923-03-22T20:01:55Z","stringField":"imlGU","stringTimeField":"03:58:02.33Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":113,"numField":-745.2852346401303,"stringDateField":"1946-07-27","stringDateTimeField":"1923-03-22T20:01:55Z","stringField":"imlGU","stringTimeField":"03:58:02.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":496,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":496,"uuid":"9de3e408-5655-11ee-8401-675ed0f8e89b"},"arrayField":["zncyNSZSpN","fjRPjBpbld","YyKeVLO","CeKwNT","CYHtXt","UNogRs","Uoezd"],"boolField":false,"intField":-531,"numField":845.4426601030672,"objField":{"shPXzL":-1700378685865623644},"stringDateField":"1927-07-26","stringDateTimeField":"1986-09-06T08:46:05Z","stringField":"ZkdcYWr","stringTimeField":"04:46:57.17Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":-531,"numField":845.4426601030672,"stringDateField":"1927-07-26","stringDateTimeField":"1986-09-06T08:46:05Z","stringField":"ZkdcYWr","stringTimeField":"04:46:57.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":497,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":497,"uuid":"9de3e408-5655-11ee-8801-675ed0f8e89b"},"arrayField":["DLTPih","WncMqBkyN","amgaG"],"boolField":true,"intField":-469,"numField":984.9506238790622,"objField":{"ArGYHl":-1902376361883109866,"GDUaD":7124445273584847070,"gBSte":-4755407113173092239,"hmGCvwp":-3444776693121325402,"uRmYBS":5071332248196710933,"yjWrrkpG":7548149781777508135},"stringDateField":"1931-06-04","stringDateTimeField":"1981-09-27T10:25:20Z","stringField":"kpHfwS","stringTimeField":"20:23:58.32Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":-469,"numField":984.9506238790622,"stringDateField":"1931-06-04","stringDateTimeField":"1981-09-27T10:25:20Z","stringField":"kpHfwS","stringTimeField":"20:23:58.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":498,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":498,"uuid":"9de3e408-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["qfFXGtqR","HnCVIJ","cPrICAKCrX","WlBWzS","AFECwuRWP","hpRsrO","iPzjH","mtMTd"],"boolField":true,"intField":59,"numField":588.1075814134545,"objField":{"KnNorjz":-6563427124857243349,"ZDeb":-3778427190507454476},"stringDateField":"1966-11-28","stringDateTimeField":"2006-07-04T20:27:37Z","stringField":"cHWYMKCZpt","stringTimeField":"10:49:52.43Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":59,"numField":588.1075814134545,"stringDateField":"1966-11-28","stringDateTimeField":"2006-07-04T20:27:37Z","stringField":"cHWYMKCZpt","stringTimeField":"10:49:52.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":499,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":499,"uuid":"9de3e408-5655-11ee-9001-675ed0f8e89b"},"arrayField":["YiLbJ","LtgcZ","BIpDvxSf","RNHCiJv","MXDsZga","TEJvmt","nleggPIwHS","FWlsTrJIR","jkDg","ArSoXsn"],"boolField":true,"intField":-680,"numField":-9.991236065760134,"objField":{"EwczFpOKAe":-5352297135051838628,"VnfdXQbr":430821388664488202,"dImpgU":2738038129647102639,"klJVos":-3164569811384705385},"stringDateField":"1936-11-10","stringDateTimeField":"1933-05-06T14:17:07Z","stringField":"dOtmdyg","stringTimeField":"15:10:53.43Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":-680,"numField":-9.991236065760134,"stringDateField":"1936-11-10","stringDateTimeField":"1933-05-06T14:17:07Z","stringField":"dOtmdyg","stringTimeField":"15:10:53.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":500,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":500,"uuid":"9de3e408-5655-11ee-9401-675ed0f8e89b"},"arrayField":["JcLA","aIjmZFnU"],"boolField":false,"intField":-412,"numField":829.8014025906111,"objField":{"FkUqC":-3028097913306361182,"IXOEkm":3411481540177491828,"ebcTcsQ":3566043812983464402,"hGlbMMjDxg":-2038125950944670048},"stringDateField":"1938-04-16","stringDateTimeField":"1913-03-15T03:40:42Z","stringField":"dJRxFJo","stringTimeField":"05:31:09.49Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":-412,"numField":829.8014025906111,"stringDateField":"1938-04-16","stringDateTimeField":"1913-03-15T03:40:42Z","stringField":"dJRxFJo","stringTimeField":"05:31:09.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":501,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":501,"uuid":"9de3e408-5655-11ee-9801-675ed0f8e89b"},"arrayField":["cByzSjy","Adsq","dHiHxzPnG","zcBrLlsr"],"boolField":true,"intField":845,"numField":-693.1630994115322,"objField":{"LJOysq":7895885504432960018,"LfmWpWp":4281041422583999759,"RHWgT":-6743010453416660810,"VdralyCJn":-1045769426784092492,"bFZT":1127993026575755716,"jXeznQriWq":3869232408713409267,"nHaw":6119330800613949355,"nrjWPTQzpg":4324529525976399254,"nvmylNRgtl":8664945381661926138,"oLFUuML":4752359510701695374},"stringDateField":"1925-06-30","stringDateTimeField":"1999-05-10T09:38:38Z","stringField":"VVgR","stringTimeField":"07:33:31.33Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":845,"numField":-693.1630994115322,"stringDateField":"1925-06-30","stringDateTimeField":"1999-05-10T09:38:38Z","stringField":"VVgR","stringTimeField":"07:33:31.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":502,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":502,"uuid":"9de3e408-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["kXEDcHV","YSQcrKe"],"boolField":false,"intField":202,"numField":457.5351164532215,"objField":{"DonwRPnkV":-1010435542188380064,"FAMt":-9038882788293009132,"FeTY":-2162638799861532999,"VzrgwiQXF":8152649343407606881,"WQWcztY":-3930784736290691128},"stringDateField":"1992-09-06","stringDateTimeField":"1915-11-26T23:54:14Z","stringField":"MYhmIRoKho","stringTimeField":"13:48:05.14Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":202,"numField":457.5351164532215,"stringDateField":"1992-09-06","stringDateTimeField":"1915-11-26T23:54:14Z","stringField":"MYhmIRoKho","stringTimeField":"13:48:05.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":503,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":503,"uuid":"9de3e408-5655-11ee-a001-675ed0f8e89b"},"arrayField":["IHdK","wpizwK","RYzh","nsDPBd","rHxGcymwa","eMUIC","jMzIIuh","dcbBBP"],"boolField":true,"intField":355,"numField":-131.5879339313455,"objField":{"eKbANeLT":-6399013606579598693,"pTvkK":7137322893578499913},"stringDateField":"2010-10-27","stringDateTimeField":"1988-11-08T11:34:36Z","stringField":"qzSO","stringTimeField":"05:16:35.29Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":355,"numField":-131.5879339313455,"stringDateField":"2010-10-27","stringDateTimeField":"1988-11-08T11:34:36Z","stringField":"qzSO","stringTimeField":"05:16:35.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":504,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":504,"uuid":"9de3e408-5655-11ee-a401-675ed0f8e89b"},"arrayField":["Fntu"],"boolField":true,"intField":742,"numField":475.3376328621273,"objField":{"GYyxsVdlH":-7935281656101064555,"HKbAK":3360781045721495305,"HMlRQiS":-3408983071314139514,"fNWwPGL":-7050500823766626769},"stringDateField":"1991-08-10","stringDateTimeField":"1900-08-12T08:47:24Z","stringField":"qDnmeGfUO","stringTimeField":"23:21:08.43Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":742,"numField":475.3376328621273,"stringDateField":"1991-08-10","stringDateTimeField":"1900-08-12T08:47:24Z","stringField":"qDnmeGfUO","stringTimeField":"23:21:08.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":505,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":505,"uuid":"9de3e408-5655-11ee-a801-675ed0f8e89b"},"arrayField":["jVEQEyCBOA","gpPAKlkyH","TwsV","rSxGmeR","TieTZYmP","pvANW","PHxJKKb","POdLDVoAtq"],"boolField":true,"intField":-32,"numField":247.9095130308,"objField":{"FiyyE":139239751500535241,"OybibXgh":-180276497939129598,"PQrGuxOEd":4019949665922888283,"eyoVaF":4443958189484167532,"qubBrOP":7402705893120116053,"wdOaOpQICb":2884360469922473552},"stringDateField":"2018-01-08","stringDateTimeField":"1922-08-22T14:33:25Z","stringField":"PlEvYDZT","stringTimeField":"20:41:05.36Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":-32,"numField":247.9095130308,"stringDateField":"2018-01-08","stringDateTimeField":"1922-08-22T14:33:25Z","stringField":"PlEvYDZT","stringTimeField":"20:41:05.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":506,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":506,"uuid":"9de3e408-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["pAmCfuAa","rbNaywqcCB","EdSXamLBb","yOmeuSAGrc","uSpNoxjCu","MBAJWh","DHtsCL"],"boolField":true,"intField":-915,"numField":-728.9322359669685,"objField":{"AQChFu":1681881951872321655,"CXdNmAS":-6632072151043784031,"DMUk":2101333361063383900,"EIUHshqmBm":-7470285603320595883,"IALXhh":-8098037682121258656,"IdbDfCCI":-648340925183261949,"mbMGaeJPx":-7503492580382508252,"sXuqwYqNa":2010217671415945904},"stringDateField":"2020-12-06","stringDateTimeField":"1948-12-10T15:40:34Z","stringField":"eUdXQTVslc","stringTimeField":"02:34:19.20Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":-915,"numField":-728.9322359669685,"stringDateField":"2020-12-06","stringDateTimeField":"1948-12-10T15:40:34Z","stringField":"eUdXQTVslc","stringTimeField":"02:34:19.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":507,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":507,"uuid":"9de3e408-5655-11ee-b001-675ed0f8e89b"},"arrayField":["aWVTzk","Hgkj","IunM","IIzONW","RSWgEy","lZrOKW","NedlZg"],"boolField":true,"intField":855,"numField":-262.2178938072769,"objField":{"dwLbyGSI":-5029554445815547471},"stringDateField":"2006-12-23","stringDateTimeField":"1972-09-15T07:22:44Z","stringField":"TpDZ","stringTimeField":"01:39:21.12Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":855,"numField":-262.2178938072769,"stringDateField":"2006-12-23","stringDateTimeField":"1972-09-15T07:22:44Z","stringField":"TpDZ","stringTimeField":"01:39:21.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":508,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":508,"uuid":"9de3e408-5655-11ee-b401-675ed0f8e89b"},"arrayField":["EOjnwwNWEg","YiIiujoCs","XPgz","aCYvdj"],"boolField":false,"intField":-985,"numField":854.2508021856396,"objField":{"CYFtJYtZ":1474250613608596570,"DFGvhv":-2569695016227381208,"GfKZGCXg":-8345311317105387165,"SRDByFVgc":7693209191541607587,"eopOL":-4284557306505556009,"kyJuPcIm":7391394671581928056},"stringDateField":"1985-04-26","stringDateTimeField":"1982-08-12T21:10:24Z","stringField":"cTGlADe","stringTimeField":"13:10:40.50Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":-985,"numField":854.2508021856396,"stringDateField":"1985-04-26","stringDateTimeField":"1982-08-12T21:10:24Z","stringField":"cTGlADe","stringTimeField":"13:10:40.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":509,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":509,"uuid":"9de3e408-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ILvssXS","JxvFuCOS","cbTxc"],"boolField":false,"intField":436,"numField":-940.7074538254508,"objField":{"OzBE":6330156905366229021,"PlDwCkPlis":-2351590402905703451,"TYETgKyb":7630243234392535269,"UcdoHmhn":-6324701889906074737,"jPjyqHgb":-8427061203987540267,"rYSVruwfWW":5937944973999097442,"zXoE":1420706428312812730},"stringDateField":"1979-02-12","stringDateTimeField":"1905-12-20T09:18:07Z","stringField":"VrFAkTCHHD","stringTimeField":"01:41:28.32Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":436,"numField":-940.7074538254508,"stringDateField":"1979-02-12","stringDateTimeField":"1905-12-20T09:18:07Z","stringField":"VrFAkTCHHD","stringTimeField":"01:41:28.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":510,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":510,"uuid":"9de3e408-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["AxvzAxu","fnJS","Zvmsio","OMMApkIp","XAVumz","lcCyMat"],"boolField":false,"intField":-6,"numField":-334.540423396815,"objField":{"AFjpNMh":1804352680780395575,"GMmzcopjGq":2976861075780313172,"KTPN":6086642156887983020,"MvZfkHf":-7532292415447274705,"NYXptbwNSl":-4597245257915006210,"nBDJlbvtV":8977550433316311670,"zrNhK":-2303261885751244018},"stringDateField":"2016-02-17","stringDateTimeField":"1950-05-20T18:31:14Z","stringField":"eVsycMf","stringTimeField":"06:35:13.15Z"},"flow_published_at":"2023-09-18T19:00:21.623092Z","intField":-6,"numField":-334.540423396815,"stringDateField":"2016-02-17","stringDateTimeField":"1950-05-20T18:31:14Z","stringField":"eVsycMf","stringTimeField":"06:35:13.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":511,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":511,"uuid":"9de3e409-5655-11ee-8001-675ed0f8e89b"},"arrayField":["sLrli","sIKdq","hlFNmH"],"boolField":true,"intField":-937,"numField":464.43275549312824,"objField":{"FDLoX":-8874215644540515324,"NmahbFFEPk":-580064850762914653},"stringDateField":"1949-11-22","stringDateTimeField":"1932-02-25T07:41:17Z","stringField":"BAxTJoT","stringTimeField":"04:39:25.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":-937,"numField":464.43275549312824,"stringDateField":"1949-11-22","stringDateTimeField":"1932-02-25T07:41:17Z","stringField":"BAxTJoT","stringTimeField":"04:39:25.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":512,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":512,"uuid":"9de3e409-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rNSdvthqv"],"boolField":true,"intField":-388,"numField":-465.97639211017304,"objField":{"CWnrimgDS":-2349575166817910847,"IvdyYCw":800659660829603407,"RUGvBUmQ":-8036035009425206656,"fwLBe":5379050980004892652,"fxLV":-7647635300794672789,"hfhq":-6998187736809952152,"jkPLsB":-6596091856518069330,"wJdt":-8953680822659979298},"stringDateField":"1951-07-14","stringDateTimeField":"1982-03-11T09:46:06Z","stringField":"qnCIR","stringTimeField":"05:26:11.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":-388,"numField":-465.97639211017304,"stringDateField":"1951-07-14","stringDateTimeField":"1982-03-11T09:46:06Z","stringField":"qnCIR","stringTimeField":"05:26:11.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":513,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":513,"uuid":"9de3e409-5655-11ee-8801-675ed0f8e89b"},"arrayField":["EkLBetuQPl","Ldehd","RYfvBvN","VmapyeBV","TwPBavHTY","bsatv"],"boolField":true,"intField":555,"numField":220.02287958727695,"objField":{"BcneC":4008700479738768986,"SfbofDpicQ":-4537506468945743661,"ULbwtiqqE":-1499203051755425244,"YMcNvf":8745455699254984026,"kdkcG":-6169561113134625203,"lJinE":8719371878022230239,"mXBn":7969060818783169628,"nzQNpk":-4096306050341554692,"zMrAoa":-8769280805658860066},"stringDateField":"1981-03-03","stringDateTimeField":"1991-07-19T14:41:22Z","stringField":"Wqdu","stringTimeField":"01:25:23.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":555,"numField":220.02287958727695,"stringDateField":"1981-03-03","stringDateTimeField":"1991-07-19T14:41:22Z","stringField":"Wqdu","stringTimeField":"01:25:23.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":514,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":514,"uuid":"9de3e409-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["fdddz","jolbqH","qbAGr","yahpdLcRn","VAhciBVE","GylH","UkTCnuPh","DEzUG","xzvmmfIX","sglXsOnHkO"],"boolField":false,"intField":-328,"numField":-742.5385171165947,"objField":{"YyDZ":7705142613746005804,"hfYyv":2327091272831029936,"xWCbJmnvlF":-8396653319459222419},"stringDateField":"1927-03-17","stringDateTimeField":"1907-10-16T20:48:32Z","stringField":"MGyBFoYXU","stringTimeField":"21:54:22.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":-328,"numField":-742.5385171165947,"stringDateField":"1927-03-17","stringDateTimeField":"1907-10-16T20:48:32Z","stringField":"MGyBFoYXU","stringTimeField":"21:54:22.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":515,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":515,"uuid":"9de3e409-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ITmS","JluzphX","BArrCGZEq","EnvmafZ","ZlCe","bQEk","ygvWfrt","NljhLTeM"],"boolField":false,"intField":854,"numField":-569.3599347928014,"objField":{"FxjGGN":-7338564389267073405,"Kbupg":1912553025479282860,"KvdWa":-7043258548222096415,"PBECrsdoLT":-4025318067461907268,"QakJCWQna":-3151886220178432374,"fanB":8518166099439060279,"kZFOgIh":8568520328299086625,"nREfSBCTR":-4987440754745315389},"stringDateField":"2021-06-24","stringDateTimeField":"1953-02-20T19:42:10Z","stringField":"lcrPFwrb","stringTimeField":"21:35:38.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":854,"numField":-569.3599347928014,"stringDateField":"2021-06-24","stringDateTimeField":"1953-02-20T19:42:10Z","stringField":"lcrPFwrb","stringTimeField":"21:35:38.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":516,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":516,"uuid":"9de3e409-5655-11ee-9401-675ed0f8e89b"},"arrayField":["tXNZibbdW"],"boolField":false,"intField":150,"numField":-191.72009079234832,"objField":{"WiECSBGWfk":-2462250324670852680,"Wsxh":110699028795361749,"gsnnakjdS":5424047160703402402,"qtezTIFr":-6384243748346064654,"uORbVsSq":-8087498575648695092},"stringDateField":"1986-12-14","stringDateTimeField":"1964-03-18T17:47:53Z","stringField":"gwWTsEP","stringTimeField":"11:42:59.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":150,"numField":-191.72009079234832,"stringDateField":"1986-12-14","stringDateTimeField":"1964-03-18T17:47:53Z","stringField":"gwWTsEP","stringTimeField":"11:42:59.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":517,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":517,"uuid":"9de3e409-5655-11ee-9801-675ed0f8e89b"},"arrayField":["PYkge","NhsAqieB","DmUF","svlJN","GgaWFWD","dqcrPyX","PFNpEBhhYo"],"boolField":false,"intField":161,"numField":-462.25602454385626,"objField":{"CnmKGa":-5487548773750912319,"cDTKBStWy":2593587109625708462,"eRZXb":4752525140692147580,"iVOnZ":-8552676167011270300},"stringDateField":"1959-03-20","stringDateTimeField":"2011-02-21T07:59:01Z","stringField":"CCFS","stringTimeField":"14:31:05.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":161,"numField":-462.25602454385626,"stringDateField":"1959-03-20","stringDateTimeField":"2011-02-21T07:59:01Z","stringField":"CCFS","stringTimeField":"14:31:05.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":518,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":518,"uuid":"9de3e409-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["onbUunqdam","zfTePqbQ","LuoKt","pMAtQardF","XrbenDl","NddB","NTsglAup","JhdWE","IHzKv","ubGH"],"boolField":true,"intField":536,"numField":-244.9056195623581,"objField":{"EgXKNXvtZ":-3062522510965759447,"GqsNcrkI":1778038865416280242,"HsTsLpXkqT":-4312487678269720689,"SxFs":3517260122820143250,"UyMVgIIYW":4070125673878053385,"czQbg":6186241393584967558,"oZNJiFXbQ":1192780883784997411},"stringDateField":"2018-10-04","stringDateTimeField":"1990-05-08T01:53:32Z","stringField":"COaVg","stringTimeField":"08:54:42.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":536,"numField":-244.9056195623581,"stringDateField":"2018-10-04","stringDateTimeField":"1990-05-08T01:53:32Z","stringField":"COaVg","stringTimeField":"08:54:42.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":519,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":519,"uuid":"9de3e409-5655-11ee-a001-675ed0f8e89b"},"arrayField":["jTjcLrzk","taFHz","XkuoagLrQ","TLRf","poNe","Godyz","SsFmsMZ","dQjOsMMxzy","dvqPMCfA"],"boolField":true,"intField":788,"numField":136.005190286834,"objField":{"EmpMVYJleC":3885521943084841067,"TftvUrrR":-8098288465431094687,"YkRvnEY":-2172292829193156495,"acczxefNb":9027227694583697510,"rjLdcAcyS":-8867742090792857069},"stringDateField":"1987-05-01","stringDateTimeField":"1968-04-16T09:55:34Z","stringField":"uTdwK","stringTimeField":"04:42:01.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":788,"numField":136.005190286834,"stringDateField":"1987-05-01","stringDateTimeField":"1968-04-16T09:55:34Z","stringField":"uTdwK","stringTimeField":"04:42:01.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":520,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":520,"uuid":"9de3e409-5655-11ee-a401-675ed0f8e89b"},"arrayField":["okNMMeDsOm","wggv"],"boolField":true,"intField":186,"numField":-601.7604365901308,"objField":{"WLLV":-8479655529064436019,"vCQi":3733552337454653174},"stringDateField":"1913-10-13","stringDateTimeField":"1926-09-03T15:50:27Z","stringField":"ccCdHjt","stringTimeField":"13:21:25.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":186,"numField":-601.7604365901308,"stringDateField":"1913-10-13","stringDateTimeField":"1926-09-03T15:50:27Z","stringField":"ccCdHjt","stringTimeField":"13:21:25.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":521,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":521,"uuid":"9de3e409-5655-11ee-a801-675ed0f8e89b"},"arrayField":["bFILeENqt","swVi","vzhoy","QIicUWnHuA","vQOoyZP","SvJphBBDV","EWxTDaXcD","jpJL","uxrsS"],"boolField":true,"intField":777,"numField":611.580692187434,"objField":{"DSzkzbn":-6069499695863020019,"LhkIkczpm":5794412962539541601,"UKjKOrWoOR":2978561361949318313,"WEaEGlRD":4605948659245860216,"gLVrNscCi":163637969586045918,"mfIdLrjOY":7668543286236474845},"stringDateField":"1906-03-04","stringDateTimeField":"1939-12-06T08:52:34Z","stringField":"cgtJW","stringTimeField":"22:06:43.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":777,"numField":611.580692187434,"stringDateField":"1906-03-04","stringDateTimeField":"1939-12-06T08:52:34Z","stringField":"cgtJW","stringTimeField":"22:06:43.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":522,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":522,"uuid":"9de3e409-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["hNEh","jYyqn","WPadfYEOtm","nluzBvmXO","LSCI","QVBEejMq","VvHpm","GopIioXw","NNkeraUuD"],"boolField":true,"intField":879,"numField":641.3030377824902,"objField":{"Anbx":598409995675604563,"Anoeugz":-6056896627417662258,"QnilHa":-1319241590435744794,"ivgusSGi":-654995291867558099},"stringDateField":"1926-06-17","stringDateTimeField":"2004-11-06T03:15:43Z","stringField":"ZJEN","stringTimeField":"21:00:48.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":879,"numField":641.3030377824902,"stringDateField":"1926-06-17","stringDateTimeField":"2004-11-06T03:15:43Z","stringField":"ZJEN","stringTimeField":"21:00:48.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":523,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":523,"uuid":"9de3e409-5655-11ee-b001-675ed0f8e89b"},"arrayField":["BbmEKwpLHG","wwoQcn"],"boolField":false,"intField":53,"numField":-482.6283718492724,"objField":{"BfsbckXNx":-8233324593903293352,"BqQYvP":-531744298026178389,"RuPiteIqL":3080752773456565094,"XRoaY":-5819880151750719594,"aerIZC":2332616889045414602,"hVBjbbJO":-3627268592843042582,"voLzXf":-7521760722935874792,"wafPpE":6303104997906399442},"stringDateField":"1975-09-02","stringDateTimeField":"1924-06-08T01:23:57Z","stringField":"JSBOZzxZtC","stringTimeField":"08:15:34.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":53,"numField":-482.6283718492724,"stringDateField":"1975-09-02","stringDateTimeField":"1924-06-08T01:23:57Z","stringField":"JSBOZzxZtC","stringTimeField":"08:15:34.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":524,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":524,"uuid":"9de3e409-5655-11ee-b401-675ed0f8e89b"},"arrayField":["QEEL","SrtJJI","EqoS","HdqLfWCm","RNqw","AnxV","pWmAq","SoQxnXomE","wHUS","BSvJZ"],"boolField":false,"intField":-665,"numField":854.8583452142922,"objField":{"HcNlY":-4374349521321993033,"PETMPAjx":6322248709824306973,"mqGnytEc":-7131376339149234957,"tWxPL":-7651294736822989665},"stringDateField":"1999-11-27","stringDateTimeField":"1977-09-26T14:07:13Z","stringField":"rsKMtsjY","stringTimeField":"20:28:31.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":-665,"numField":854.8583452142922,"stringDateField":"1999-11-27","stringDateTimeField":"1977-09-26T14:07:13Z","stringField":"rsKMtsjY","stringTimeField":"20:28:31.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":525,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":525,"uuid":"9de3e409-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ViqSihzvEH","DKelJVNO","aFmRW","hDXz","sCXwVhaH","MiDMPVwDBc","OBrxfvfH","sXPWlcwkBP"],"boolField":true,"intField":47,"numField":-585.0748969233914,"objField":{"aPKT":-776822118373606597,"erspm":2908019020924242031,"tHHompEzRD":-6789672397471156667},"stringDateField":"1948-11-19","stringDateTimeField":"1933-10-15T03:06:16Z","stringField":"JtEZR","stringTimeField":"07:49:24.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":47,"numField":-585.0748969233914,"stringDateField":"1948-11-19","stringDateTimeField":"1933-10-15T03:06:16Z","stringField":"JtEZR","stringTimeField":"07:49:24.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":526,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":526,"uuid":"9de3e409-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["StPx","IfiuWhsHxg","TXFhXvW","qeIFAZeS","jEOJvx","Euxv","OxzD"],"boolField":true,"intField":-359,"numField":-100.91837103816424,"objField":{"ajdmgH":-4666388833746433351,"dSPZ":6400703475066515788,"hobrqf":-1938890343595647156,"lIVkVQw":5924849410386133632,"mcTimG":7327570973875921532,"tbdT":8949144222901633495,"vsqAb":8179301986146434639},"stringDateField":"1962-06-15","stringDateTimeField":"1946-03-20T22:36:17Z","stringField":"atwImlgv","stringTimeField":"06:17:46.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230921Z","intField":-359,"numField":-100.91837103816424,"stringDateField":"1962-06-15","stringDateTimeField":"1946-03-20T22:36:17Z","stringField":"atwImlgv","stringTimeField":"06:17:46.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":527,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":527,"uuid":"9de3e40a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["iSASQSHxFT","PsERvccDc","AvwLzhVHnM"],"boolField":false,"intField":-747,"numField":613.137702346751,"objField":{"dQzkhK":-2843131918175056440,"oWZy":-7804887917583798556},"stringDateField":"1994-02-18","stringDateTimeField":"1946-09-02T05:47:02Z","stringField":"ACqoYOGisI","stringTimeField":"13:35:27.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":-747,"numField":613.137702346751,"stringDateField":"1994-02-18","stringDateTimeField":"1946-09-02T05:47:02Z","stringField":"ACqoYOGisI","stringTimeField":"13:35:27.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":528,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":528,"uuid":"9de3e40a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["kfQeHfEz","tlFgeT","ydmQSCP","NdHR","RAmK","NhunuO","PXLULfEmvT","ozWfqZrh","cfyVP","EaZaRw"],"boolField":true,"intField":-722,"numField":9.052633376506858,"objField":{"AzUVzqkewf":5098497188945075671,"PPGKKA":-5340517678935892769,"lQfbTpCuy":3625678664827402313,"nNcp":954869122686888623,"ywFTNtDn":6708641159423162938},"stringDateField":"1915-03-04","stringDateTimeField":"2022-08-25T08:09:16Z","stringField":"YfJz","stringTimeField":"11:23:00.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":-722,"numField":9.052633376506858,"stringDateField":"1915-03-04","stringDateTimeField":"2022-08-25T08:09:16Z","stringField":"YfJz","stringTimeField":"11:23:00.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":529,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":529,"uuid":"9de3e40a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["VIHO","RnjocDtRw","XXrcNwoz"],"boolField":true,"intField":982,"numField":-920.2888667034334,"objField":{"JCLjGSR":1429010090961426437,"RvGCwmUu":147685429069948206,"VCeuc":-7715205007074989013,"WXYttMeRy":-3878574794453853677,"jqgBDgZOk":5002532892674649453,"lnAW":-4586025203419780299,"rwBsSk":-9080850327718193025,"wlIfFiVO":1455099153927872363,"ztOWZzjtm":8999815476410041696},"stringDateField":"1973-07-17","stringDateTimeField":"2005-07-29T05:47:39Z","stringField":"uKpzMY","stringTimeField":"07:09:19.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":982,"numField":-920.2888667034334,"stringDateField":"1973-07-17","stringDateTimeField":"2005-07-29T05:47:39Z","stringField":"uKpzMY","stringTimeField":"07:09:19.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":530,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":530,"uuid":"9de3e40a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["Fqjp"],"boolField":true,"intField":379,"numField":139.5706812905022,"objField":{"RjTt":9107900889130207462,"bJdV":115380198316557577,"ebPfF":-5193369630356219883,"kiKaB":1742934610247794593,"vRinQbiXxP":-8352347749508308836,"wSRJ":-6396754325058435215},"stringDateField":"1996-12-07","stringDateTimeField":"1970-08-13T06:39:14Z","stringField":"hnTusejLyw","stringTimeField":"23:28:29.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":379,"numField":139.5706812905022,"stringDateField":"1996-12-07","stringDateTimeField":"1970-08-13T06:39:14Z","stringField":"hnTusejLyw","stringTimeField":"23:28:29.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":531,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":531,"uuid":"9de3e40a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["iFpG","rEBwmUQ","uqLPXy","oPouawM","FjXoZ","mSMGljPZxA","YUJeMpEyj","AAqVNUDvA","oWbBuNR","YyYaRvae"],"boolField":false,"intField":-495,"numField":-604.072479622974,"objField":{"KShn":-750224098629493258,"LMFgY":4295942795406666131,"SnGqYoNqJK":7542673035427192773,"aJJviJbA":-3833049347507154155,"ePzmdQTDw":-4228597510489963736,"tEhx":3854962408523534560,"tbCR":-4761301610118359357,"wYlyBgdsyo":6445903797298663248},"stringDateField":"2010-11-07","stringDateTimeField":"1906-05-23T00:04:54Z","stringField":"rIFu","stringTimeField":"02:15:49.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":-495,"numField":-604.072479622974,"stringDateField":"2010-11-07","stringDateTimeField":"1906-05-23T00:04:54Z","stringField":"rIFu","stringTimeField":"02:15:49.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":532,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":532,"uuid":"9de3e40a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["FAlQjIsE"],"boolField":true,"intField":230,"numField":-851.5708387465371,"objField":{"DKhg":8135845211274481355,"QoSuy":4978844937486852634,"aPEQUX":1765160970112449212,"lzsAOYJlZ":6319049925458997507,"xPNChO":-6932847136285118220},"stringDateField":"1948-04-28","stringDateTimeField":"1938-08-24T01:29:35Z","stringField":"wdISYihhX","stringTimeField":"10:56:19.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":230,"numField":-851.5708387465371,"stringDateField":"1948-04-28","stringDateTimeField":"1938-08-24T01:29:35Z","stringField":"wdISYihhX","stringTimeField":"10:56:19.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":533,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":533,"uuid":"9de3e40a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ygmw","lDzmjKXhh","FiLmS","vlJEj","wsInzGrZ","WCMtrQad","eImNTl"],"boolField":true,"intField":-605,"numField":-546.1223194354385,"objField":{"MsevLyS":-2690234281468082524,"NzyjxrJ":8599888304227011049,"WbRd":7848749975502194213,"atpKYHpXi":-726639399843087597,"icwfuJRWBT":2069248606235017499,"rDoQ":6957837765416028082,"xjurrdfcL":7670768358172438924,"zckSSyczIU":-3304234986523841411},"stringDateField":"2020-01-18","stringDateTimeField":"1922-01-20T07:35:54Z","stringField":"ScKSj","stringTimeField":"01:21:44.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":-605,"numField":-546.1223194354385,"stringDateField":"2020-01-18","stringDateTimeField":"1922-01-20T07:35:54Z","stringField":"ScKSj","stringTimeField":"01:21:44.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":534,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":534,"uuid":"9de3e40a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["fXeLQAt","aBHph","WrxYSefWs","JTfGHZR","FosEMJWl","kAkJuLiYz","IYnUR","JocwbzHnsf"],"boolField":true,"intField":-47,"numField":565.8959496128967,"objField":{"LgIKKcRirB":-3686747351956780140,"MWpEwVr":1183927059203893882},"stringDateField":"1999-05-14","stringDateTimeField":"1976-06-27T16:03:45Z","stringField":"UAmdGQuGaP","stringTimeField":"18:33:10.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":-47,"numField":565.8959496128967,"stringDateField":"1999-05-14","stringDateTimeField":"1976-06-27T16:03:45Z","stringField":"UAmdGQuGaP","stringTimeField":"18:33:10.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":535,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":535,"uuid":"9de3e40a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["CZoPNY","AXNPuUOK","NqHRSN","enWgfqhg","DKYlRu","LzfewOcE"],"boolField":false,"intField":-654,"numField":544.9593002017557,"objField":{"EGRyjluqmB":-8813173814001058926,"FikZcjpY":-2332541149112485284,"HcKVG":-3624492649540438740,"fEYr":-3228588695887126773,"fHsarLof":-4626632900331735574,"pRyvLgImbf":-4818748101221210933,"ziQocnI":-5098910609903215596},"stringDateField":"1992-07-09","stringDateTimeField":"1988-03-16T15:24:52Z","stringField":"VKHrONWyfS","stringTimeField":"02:15:07.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":-654,"numField":544.9593002017557,"stringDateField":"1992-07-09","stringDateTimeField":"1988-03-16T15:24:52Z","stringField":"VKHrONWyfS","stringTimeField":"02:15:07.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":536,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":536,"uuid":"9de3e40a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["tgOmrSZSC","qXRvPNcBpR","ldLEuN","vJhR"],"boolField":true,"intField":923,"numField":-144.00427986863295,"objField":{"AjuXTQVZ":2666488164230721713,"DfuWiDcm":-2712943656453022055,"EKiajVt":-3581354111611462056,"QHdpfE":5794328683835768464,"SxpmMClQ":1824833944029770464,"anDpE":1909858771280323879,"dqhtV":5032914802352564358,"zgYhOWHoGk":-4338672448415855444},"stringDateField":"1952-06-09","stringDateTimeField":"2005-02-25T06:20:28Z","stringField":"sErgiqXg","stringTimeField":"22:52:52.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":923,"numField":-144.00427986863295,"stringDateField":"1952-06-09","stringDateTimeField":"2005-02-25T06:20:28Z","stringField":"sErgiqXg","stringTimeField":"22:52:52.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":537,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":537,"uuid":"9de3e40a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["QQThaDip","WKeaxn","LFrw","aCio"],"boolField":true,"intField":-975,"numField":-862.2298746276002,"objField":{"wBRdYCTYCt":9634194961341153},"stringDateField":"1975-09-27","stringDateTimeField":"2006-01-05T21:50:18Z","stringField":"jFqYgqgQP","stringTimeField":"03:15:59.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":-975,"numField":-862.2298746276002,"stringDateField":"1975-09-27","stringDateTimeField":"2006-01-05T21:50:18Z","stringField":"jFqYgqgQP","stringTimeField":"03:15:59.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":538,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":538,"uuid":"9de3e40a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["bysac","ZQMHhyUp","EEeqME"],"boolField":false,"intField":348,"numField":128.4224845304387,"objField":{"bBoiUep":-9120390395005479257,"qIsfFe":-1581297715619268434},"stringDateField":"1973-02-08","stringDateTimeField":"2017-09-25T04:16:53Z","stringField":"yLRhLsPMNv","stringTimeField":"17:45:57.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":348,"numField":128.4224845304387,"stringDateField":"1973-02-08","stringDateTimeField":"2017-09-25T04:16:53Z","stringField":"yLRhLsPMNv","stringTimeField":"17:45:57.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":539,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":539,"uuid":"9de3e40a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["BxQaxCwCg","Zlcr"],"boolField":false,"intField":-3,"numField":230.87163444716265,"objField":{"acoSSiiUD":3952269015391543864,"ogQxuw":1935619555186779813,"qyplzI":-4973177502672093730,"rNMbIzf":6338111576789797541},"stringDateField":"1963-04-30","stringDateTimeField":"1945-03-13T07:29:48Z","stringField":"LyMsYsVPh","stringTimeField":"08:59:32.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":-3,"numField":230.87163444716265,"stringDateField":"1963-04-30","stringDateTimeField":"1945-03-13T07:29:48Z","stringField":"LyMsYsVPh","stringTimeField":"08:59:32.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":540,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":540,"uuid":"9de3e40a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["KLYYx","vPlAvyCVGQ","LRnNUVqdw","ZjlKD","bReHGbnvmY","VYArO","lpYmNO","sktbYHZya","fUEBgwmBtr","GRFz"],"boolField":false,"intField":-63,"numField":-936.5675522925036,"objField":{"TUZTyjD":1473081295114368859},"stringDateField":"2004-12-01","stringDateTimeField":"2011-12-01T09:09:28Z","stringField":"VZnscYPy","stringTimeField":"13:40:00.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":-63,"numField":-936.5675522925036,"stringDateField":"2004-12-01","stringDateTimeField":"2011-12-01T09:09:28Z","stringField":"VZnscYPy","stringTimeField":"13:40:00.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":541,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":541,"uuid":"9de3e40a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["gBwNbLQG","KGHVRUf","QOjCj","cgjX"],"boolField":true,"intField":-131,"numField":-697.2838935967466,"objField":{"DUweEoxpFS":6958340947344295940,"NRwVxjoQ":-8532377700006596467,"OKVgT":7823273410038446368,"YZEhJhcs":6202498710362062789,"YdKCk":4031475306276306051,"cFBanCyf":-8686144128344338079,"mAThp":7574314241551288584,"mcJUjlv":7368562225759980474,"qEgtDxyTD":-4089175753532376499},"stringDateField":"1935-02-17","stringDateTimeField":"1953-09-28T11:08:22Z","stringField":"FiWjgV","stringTimeField":"02:50:25.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":-131,"numField":-697.2838935967466,"stringDateField":"1935-02-17","stringDateTimeField":"1953-09-28T11:08:22Z","stringField":"FiWjgV","stringTimeField":"02:50:25.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":542,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":542,"uuid":"9de3e40a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["eIoSvIWZs","yLWvRDeGB","eEygLelWK","PRqiUsk","WOkG","JVkLLnrndU","VQvP","fjNcQG","cyKZPOyxgY"],"boolField":true,"intField":-750,"numField":167.5651241197089,"objField":{"Aajou":6614522022465264764,"FEPVwtKVu":17281310394996981,"gAIQrXEEm":-6339493234224684671,"okubkZELRH":3215103929372953641},"stringDateField":"1942-12-06","stringDateTimeField":"1993-09-22T07:15:19Z","stringField":"gTThsRnD","stringTimeField":"11:01:53.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230922Z","intField":-750,"numField":167.5651241197089,"stringDateField":"1942-12-06","stringDateTimeField":"1993-09-22T07:15:19Z","stringField":"gTThsRnD","stringTimeField":"11:01:53.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":543,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":543,"uuid":"9de3e40b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ERpqe","bNjfNJxS","PSoa","HKqb","PRpS","UFBSNgIYJp","CJHw","jjkwcAkr"],"boolField":true,"intField":-732,"numField":935.1567294516126,"objField":{"gNHNgvUbf":4952177615584407974,"mLtVQF":1238387734478236655},"stringDateField":"2015-05-07","stringDateTimeField":"1999-07-07T05:38:39Z","stringField":"ASjoRXH","stringTimeField":"07:23:05.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":-732,"numField":935.1567294516126,"stringDateField":"2015-05-07","stringDateTimeField":"1999-07-07T05:38:39Z","stringField":"ASjoRXH","stringTimeField":"07:23:05.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":544,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":544,"uuid":"9de3e40b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["gapVAhWZ","DHrB","qtaOWBHd","StbGIqZ","yPzTSycTFl","FIQDeKVvZK","OPMFa"],"boolField":true,"intField":149,"numField":283.1409629947219,"objField":{"EQMvPaG":-4594132960951134475,"EeRuxmFg":-8279188190466117654,"NXNV":8682520797588369026,"YkbPCfg":5394867710807693831,"eSeQZYZyI":-1441113693727515752,"iwmlG":7556302595966184223,"jLvLBEc":-6590342889836306901},"stringDateField":"1981-09-06","stringDateTimeField":"1989-11-08T08:55:38Z","stringField":"SKUf","stringTimeField":"00:44:27.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":149,"numField":283.1409629947219,"stringDateField":"1981-09-06","stringDateTimeField":"1989-11-08T08:55:38Z","stringField":"SKUf","stringTimeField":"00:44:27.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":545,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":545,"uuid":"9de3e40b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["zrNUSDv","NEkiCFhOe","aACXo","TgXjOR","QiENlM","gvuhHgfBz","gBzmNh","XNOadEzMuQ"],"boolField":false,"intField":131,"numField":-253.5644539197589,"objField":{"WJLcW":-2758259653012668053,"glhvNt":-6526027202947858593,"naNppM":9122757772130867531},"stringDateField":"1913-06-30","stringDateTimeField":"1907-06-02T23:41:33Z","stringField":"EGSaAqto","stringTimeField":"12:52:19.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":131,"numField":-253.5644539197589,"stringDateField":"1913-06-30","stringDateTimeField":"1907-06-02T23:41:33Z","stringField":"EGSaAqto","stringTimeField":"12:52:19.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":546,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":546,"uuid":"9de3e40b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["wBFhcI","zDaknioFIc","FsYdVzV","OQAjhx","sjtqmLxtDm","gkBKg","Yfiip"],"boolField":false,"intField":-270,"numField":-444.77832549038,"objField":{"CNKYag":-2303377071096897877,"Eujvvqm":6688657931669914099,"FfXrkYE":3222441551835594518,"FsngPkN":2792121256923934369,"QvRUb":-8692123062443336049,"TxALtm":4357052011118048008,"VknNnYdld":-6169459191935943611,"XjzsmHU":-5930113508762540534,"fAoVQGhQKj":-1026680051011306966},"stringDateField":"2003-07-19","stringDateTimeField":"1963-12-01T09:23:20Z","stringField":"CDbYNYDFN","stringTimeField":"17:18:05.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":-270,"numField":-444.77832549038,"stringDateField":"2003-07-19","stringDateTimeField":"1963-12-01T09:23:20Z","stringField":"CDbYNYDFN","stringTimeField":"17:18:05.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":547,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":547,"uuid":"9de3e40b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["pKvHoMiM","qLzAJcctvj","MDJLVj"],"boolField":true,"intField":903,"numField":202.7456259813023,"objField":{"vlSCkP":-8596345514903271014},"stringDateField":"1907-08-13","stringDateTimeField":"1961-04-29T06:14:29Z","stringField":"YjjkRK","stringTimeField":"05:19:53.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":903,"numField":202.7456259813023,"stringDateField":"1907-08-13","stringDateTimeField":"1961-04-29T06:14:29Z","stringField":"YjjkRK","stringTimeField":"05:19:53.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":548,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":548,"uuid":"9de3e40b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["acrPzJR","RCiZN","lzvuzWmlsy","EiLNduY","rwBOn","syBLXG"],"boolField":true,"intField":-990,"numField":-801.3110100964392,"objField":{"KgeP":7837648435403748396,"WjDyao":-2752900465850525815,"jXLjytPcg":5784293438302561189,"jhTmP":-7765466531919984661,"nGhPpk":1166389903958078129},"stringDateField":"1900-06-02","stringDateTimeField":"1987-07-30T05:42:48Z","stringField":"eTYRP","stringTimeField":"14:22:32.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":-990,"numField":-801.3110100964392,"stringDateField":"1900-06-02","stringDateTimeField":"1987-07-30T05:42:48Z","stringField":"eTYRP","stringTimeField":"14:22:32.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":549,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":549,"uuid":"9de3e40b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["FIbYeoQJO","vBbPQegLHF","CvTqM","DJRyyPdOOD","FKBguKMATn","HdYrNmZH","QElVPENvH","CTXfxFn"],"boolField":false,"intField":-11,"numField":803.2769238651139,"objField":{"GaxN":-6955421215545245967,"LhKja":3112768303660818155,"PUIfmIDEQ":-6220674982165730905,"ULUSVD":3967313716100771732,"UQueuHWLG":7690014614631228252,"YAtsZgNBF":3204274678968220682,"gPwQQXWRG":-3425175940553638786},"stringDateField":"2003-07-02","stringDateTimeField":"1990-01-12T06:41:20Z","stringField":"odFlAvr","stringTimeField":"11:43:57.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":-11,"numField":803.2769238651139,"stringDateField":"2003-07-02","stringDateTimeField":"1990-01-12T06:41:20Z","stringField":"odFlAvr","stringTimeField":"11:43:57.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":550,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":550,"uuid":"9de3e40b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ySRG","qEYHUY","DsAJk","TjKWkGDTKj","gzSXH","DIqjXqYRSD","bbbLVoD","mfFpTEzrV","ejpla","gOZUHrKq"],"boolField":false,"intField":-831,"numField":-340.26196783310104,"objField":{"EBfJzaHtW":5968646074084903776,"fBgeHSfHH":-6380001201583920279},"stringDateField":"2004-12-01","stringDateTimeField":"1941-10-30T11:51:12Z","stringField":"ijsivF","stringTimeField":"13:58:51.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":-831,"numField":-340.26196783310104,"stringDateField":"2004-12-01","stringDateTimeField":"1941-10-30T11:51:12Z","stringField":"ijsivF","stringTimeField":"13:58:51.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":551,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":551,"uuid":"9de3e40b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["xNbfPz","HdDYearA","QHYVNB","GbgY","DdFNKejNbX","qqWbIzLSxd","weqsqoj","IQKhvGL","ANqaNZJr","PoaFvEq"],"boolField":true,"intField":-675,"numField":-213.64014483219108,"objField":{"CAyxRATzPC":3868473629254871767,"IGVcvtyT":4073738022188320352,"KerbcTjri":5485655402108974270,"pSqSR":6351332528711332892,"zlxZ":9053768490775069499},"stringDateField":"2008-05-26","stringDateTimeField":"1921-10-09T16:02:24Z","stringField":"qofUqTXn","stringTimeField":"22:38:14.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":-675,"numField":-213.64014483219108,"stringDateField":"2008-05-26","stringDateTimeField":"1921-10-09T16:02:24Z","stringField":"qofUqTXn","stringTimeField":"22:38:14.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":552,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":552,"uuid":"9de3e40b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["whTsxMib","evRGJNclY","rppfWI","IhpKYHo","OYQvZO","BvQqaf","LRzAV","olAcjRXuz","OlVokddiLf"],"boolField":true,"intField":-538,"numField":4.061425770436999,"objField":{"DvPA":-3820990985822522533,"GmaoILI":-4774319235403762957,"JOeuuhyJ":5992949155322435484,"tTkeY":-8017402512741773814},"stringDateField":"1923-09-23","stringDateTimeField":"1955-09-29T07:58:01Z","stringField":"MhfVmH","stringTimeField":"06:39:35.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":-538,"numField":4.061425770436999,"stringDateField":"1923-09-23","stringDateTimeField":"1955-09-29T07:58:01Z","stringField":"MhfVmH","stringTimeField":"06:39:35.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":553,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":553,"uuid":"9de3e40b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["hVsN","WJnrzN","iORvQPl","mtGqyXk","afmYXMEEk"],"boolField":false,"intField":44,"numField":273.4468641428891,"objField":{"mFQGnYE":-3802389603051168244},"stringDateField":"1975-04-10","stringDateTimeField":"1966-09-25T18:11:01Z","stringField":"hickPemBF","stringTimeField":"18:51:23.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":44,"numField":273.4468641428891,"stringDateField":"1975-04-10","stringDateTimeField":"1966-09-25T18:11:01Z","stringField":"hickPemBF","stringTimeField":"18:51:23.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":554,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":554,"uuid":"9de3e40b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["rOXJrzzm","UjhJcY","PwMxuSGngX","hxXJ","NxId","TNdXkpj","ucnh","jbPfY"],"boolField":false,"intField":-939,"numField":-778.8659966961175,"objField":{"CRsg":-1555370369449736310,"VNXzrcJ":-177004123110271647,"Xroiffek":-7572496000473669171,"oqGBQy":-1830396899975777536,"qCKG":-7476656323396239394,"uVeNRADRD":-6523207474562405161},"stringDateField":"1948-06-09","stringDateTimeField":"1941-07-31T02:45:08Z","stringField":"VZZOv","stringTimeField":"10:05:52.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":-939,"numField":-778.8659966961175,"stringDateField":"1948-06-09","stringDateTimeField":"1941-07-31T02:45:08Z","stringField":"VZZOv","stringTimeField":"10:05:52.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":555,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":555,"uuid":"9de3e40b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["aBjbvp","MAKlbaKtUC","lvwt"],"boolField":false,"intField":-965,"numField":453.5316331827968,"objField":{"FRFo":2375821650944907884,"FxbcLw":-8937866530834510806,"MGWweMjWz":-6806723502127895506,"WFBbEyjhn":-9139251191319273235,"sZFfSMiY":-4861159174538552842,"uApWoO":-274342061207097272},"stringDateField":"1930-02-07","stringDateTimeField":"1911-08-15T00:25:32Z","stringField":"eHlzHcBCXy","stringTimeField":"14:03:00.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":-965,"numField":453.5316331827968,"stringDateField":"1930-02-07","stringDateTimeField":"1911-08-15T00:25:32Z","stringField":"eHlzHcBCXy","stringTimeField":"14:03:00.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":556,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":556,"uuid":"9de3e40b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["isnd"],"boolField":true,"intField":-724,"numField":974.9563653897482,"objField":{"PUEEdet":2887916105063298463,"qWebbAfN":6762960992872333146},"stringDateField":"1925-02-05","stringDateTimeField":"2017-11-25T01:35:21Z","stringField":"bPADVIykMW","stringTimeField":"08:19:20.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":-724,"numField":974.9563653897482,"stringDateField":"1925-02-05","stringDateTimeField":"2017-11-25T01:35:21Z","stringField":"bPADVIykMW","stringTimeField":"08:19:20.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":557,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":557,"uuid":"9de3e40b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ZPVqEB","lNEIHfBtJh","TeEdU","XvVyf","bmLVu","tAxKY","HLIXAU","IqUpPmysp","Eocl"],"boolField":false,"intField":875,"numField":-306.1145653297036,"objField":{"UexLH":-3275623867338237385},"stringDateField":"1990-04-28","stringDateTimeField":"1959-07-01T15:53:26Z","stringField":"iBYkcAgExW","stringTimeField":"06:38:27.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":875,"numField":-306.1145653297036,"stringDateField":"1990-04-28","stringDateTimeField":"1959-07-01T15:53:26Z","stringField":"iBYkcAgExW","stringTimeField":"06:38:27.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":558,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":558,"uuid":"9de3e40b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["oxUqyNJD","NsACTRIc"],"boolField":false,"intField":-420,"numField":-754.8499721870685,"objField":{"DBeKzMkjnt":1708952764290434889,"EoJxTc":-5370115179924388245,"FltJuCCBp":7506296534079286817,"MCKsS":8864363895860677381,"YKmkgJoI":2648524242836763406,"aAIQ":2859434443831021683,"czIc":2935130995855041654,"rQRgBTWmX":1691335050005719002},"stringDateField":"1942-09-26","stringDateTimeField":"2005-04-12T02:01:07Z","stringField":"WgUH","stringTimeField":"15:53:29.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230923Z","intField":-420,"numField":-754.8499721870685,"stringDateField":"1942-09-26","stringDateTimeField":"2005-04-12T02:01:07Z","stringField":"WgUH","stringTimeField":"15:53:29.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":559,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":559,"uuid":"9de3e40c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["lpyZtoQpM","tebR","zMfqWBsd","AQCyY","HNyhfs","LKtya","jwCcFM","JHBNuG"],"boolField":false,"intField":-773,"numField":-756.3860353984362,"objField":{"ETxiL":-3323723991389928092,"EoRCEgxOjc":-7225441747881602054,"RxksyaaK":-6383762772830840382,"nigmSEW":4869552566205652731,"qXLBET":6186388166566625580},"stringDateField":"1951-07-17","stringDateTimeField":"1900-05-17T11:50:49Z","stringField":"oMPFkcJb","stringTimeField":"14:06:56.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":-773,"numField":-756.3860353984362,"stringDateField":"1951-07-17","stringDateTimeField":"1900-05-17T11:50:49Z","stringField":"oMPFkcJb","stringTimeField":"14:06:56.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":560,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":560,"uuid":"9de3e40c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["fUASQ","cnJcKDKaI","IoTUSis","yhadf"],"boolField":false,"intField":-306,"numField":-738.5857717609427,"objField":{"DXnMTb":-6551235786839644580,"GexPnqLPI":759978103434002905,"JjIQQ":-2609374765972638250,"KcGZThSDhc":-6167894893408544642,"NXnXDO":-3499218362924793611,"QYEZFWAXl":4925352637556309100,"Zulm":9128510685897802158,"ftfVuoXraf":-5114478845386929966,"mifRqMORHi":2202403409427484543,"sxlv":7488437749393158555},"stringDateField":"1993-11-15","stringDateTimeField":"2022-02-22T22:30:53Z","stringField":"Xrsacdp","stringTimeField":"16:08:01.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":-306,"numField":-738.5857717609427,"stringDateField":"1993-11-15","stringDateTimeField":"2022-02-22T22:30:53Z","stringField":"Xrsacdp","stringTimeField":"16:08:01.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":561,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":561,"uuid":"9de3e40c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bAnKjqtiYj","DBZD","NUYeRUZz","LawQeZpO","Jazkbx","EsewNbv","mbnw","uPXqgP","DcfXpk","CCsQZP"],"boolField":false,"intField":511,"numField":414.5606469873704,"objField":{"OVKeE":-6965495083872309785,"QAFzlppCWZ":-2129971979058870020,"QyoDUgE":-5581139914222118967,"WyIoSMoSEm":918763224205516420,"ZqCSAJ":-1668513435367237182,"ZvGJi":5523710236974086598,"alRlt":-1726429629535401426,"lZTCfX":3205977712089801189,"rQJGgVGCC":664393555080331660},"stringDateField":"1983-02-17","stringDateTimeField":"1916-11-19T22:27:59Z","stringField":"juUXN","stringTimeField":"08:41:00.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":511,"numField":414.5606469873704,"stringDateField":"1983-02-17","stringDateTimeField":"1916-11-19T22:27:59Z","stringField":"juUXN","stringTimeField":"08:41:00.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":562,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":562,"uuid":"9de3e40c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["GwPBU","xHcZUTr","sSqnXWm","qTRRyyw"],"boolField":true,"intField":-79,"numField":-865.2704551610879,"objField":{"CGvdAEkMvI":1401708353276340961,"JfOH":-1681651795976070572,"KCKGhPp":2267283005795737529,"MjXLLnUF":-8746365891662167048,"NEATcjmzq":7370214016285335262,"RCKG":-2480812062028536313,"dmhG":8890357118138393157,"oOeQ":172537285493073256,"rtAiug":3972451303489278627},"stringDateField":"1988-03-09","stringDateTimeField":"1933-08-04T22:51:59Z","stringField":"uipC","stringTimeField":"14:20:37.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":-79,"numField":-865.2704551610879,"stringDateField":"1988-03-09","stringDateTimeField":"1933-08-04T22:51:59Z","stringField":"uipC","stringTimeField":"14:20:37.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":563,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":563,"uuid":"9de3e40c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["kePfCVhZ","LvdqdxBdN","tsZFRVO","lOiUysQADp","DgPM","XKpBAo","rxus","uuKint"],"boolField":false,"intField":879,"numField":248.00493872298924,"objField":{"DNJoYnfD":-7355160846499288747,"KhiTrzbtK":1455083254450495831,"SgVfh":2302471313154168855,"YldCQE":3632804264653934503,"kuIz":-5451035552581205321,"swVbrY":1611342376749236126},"stringDateField":"2020-04-23","stringDateTimeField":"1919-08-16T02:08:12Z","stringField":"dxCsgIDH","stringTimeField":"11:25:51.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":879,"numField":248.00493872298924,"stringDateField":"2020-04-23","stringDateTimeField":"1919-08-16T02:08:12Z","stringField":"dxCsgIDH","stringTimeField":"11:25:51.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":564,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":564,"uuid":"9de3e40c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["jvmuFr","NlFWmIwC","ZMmFzvmg","tApdU","dwGyNpTpU","LBfsLk"],"boolField":false,"intField":467,"numField":848.0291428783466,"objField":{"EAGv":-1424633570440380571,"Gkpf":8418769839626808645,"ZPepZoe":-7477933088079550772},"stringDateField":"1943-09-26","stringDateTimeField":"1938-02-02T08:20:41Z","stringField":"CfULeJyn","stringTimeField":"10:40:25.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":467,"numField":848.0291428783466,"stringDateField":"1943-09-26","stringDateTimeField":"1938-02-02T08:20:41Z","stringField":"CfULeJyn","stringTimeField":"10:40:25.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":565,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":565,"uuid":"9de3e40c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ftHLWe","equYSdv","OPQYihd","znQzINkTC","ONtPQM"],"boolField":true,"intField":-474,"numField":88.80589463738376,"objField":{"BbyDfyDTg":8431706488056686681,"aPXoaWXfik":4114553797224647788},"stringDateField":"1937-07-28","stringDateTimeField":"1994-12-12T15:53:05Z","stringField":"jUNCZkrWkX","stringTimeField":"23:33:40.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":-474,"numField":88.80589463738376,"stringDateField":"1937-07-28","stringDateTimeField":"1994-12-12T15:53:05Z","stringField":"jUNCZkrWkX","stringTimeField":"23:33:40.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":566,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":566,"uuid":"9de3e40c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["FWnahg","UgoM","sdmnGHauWH","HGQVCE","aFWe","GbIbku"],"boolField":true,"intField":-506,"numField":-685.3099561563317,"objField":{"AINTq":1728786224520179252,"BOrP":-8743984866953361298,"IJbX":-6226337991551447658,"NXVgB":197314369823131661,"binvIY":-4863261750172968699,"ctjMNM":8695103406860020988,"gSoOY":-2422757787545226294,"oXCKUF":2154090714512172096,"vByYcTVNb":5707659779934140881},"stringDateField":"1925-03-18","stringDateTimeField":"1931-10-21T08:12:25Z","stringField":"njjTRvZpe","stringTimeField":"14:40:24.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":-506,"numField":-685.3099561563317,"stringDateField":"1925-03-18","stringDateTimeField":"1931-10-21T08:12:25Z","stringField":"njjTRvZpe","stringTimeField":"14:40:24.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":567,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":567,"uuid":"9de3e40c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["DVwC","Cvpt","BSxTuUv","wGXThkbr","hSWDx","GcNrBUY","uxfxMi","OmRwdpiB","MnRzYPuHM"],"boolField":false,"intField":240,"numField":403.0039400029071,"objField":{"UiyYVciFyq":-6046122695059483341,"YryjeO":-7898520277091445039,"aEuuq":306604484076694474,"cbfxhNoEpw":9019482172770149572,"fIYRtJveQ":7884117909096126525},"stringDateField":"1966-04-14","stringDateTimeField":"2017-05-22T20:02:49Z","stringField":"qIchwVctU","stringTimeField":"20:53:00.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":240,"numField":403.0039400029071,"stringDateField":"1966-04-14","stringDateTimeField":"2017-05-22T20:02:49Z","stringField":"qIchwVctU","stringTimeField":"20:53:00.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":568,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":568,"uuid":"9de3e40c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["tvJPBYIUk","LyZQtWT","jGeptIGhVP","bIvhzuw","nLJTtE","UklPzUuUIM","DEOWlCP"],"boolField":true,"intField":46,"numField":254.2032679152224,"objField":{"YfaReUe":3742400674858683880},"stringDateField":"1928-10-16","stringDateTimeField":"1981-08-25T03:54:33Z","stringField":"mTrIj","stringTimeField":"15:19:24.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":46,"numField":254.2032679152224,"stringDateField":"1928-10-16","stringDateTimeField":"1981-08-25T03:54:33Z","stringField":"mTrIj","stringTimeField":"15:19:24.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":569,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":569,"uuid":"9de3e40c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sudTU","nnXJTkvClS","QaTrHRYE","qilGdggQyW","MbqET"],"boolField":true,"intField":-556,"numField":-253.2664197801632,"objField":{"XAvqp":-3998202097344938730,"vuhuJeu":-3967710910046854659},"stringDateField":"1915-02-13","stringDateTimeField":"1990-01-12T10:57:18Z","stringField":"UrEarH","stringTimeField":"21:25:44.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":-556,"numField":-253.2664197801632,"stringDateField":"1915-02-13","stringDateTimeField":"1990-01-12T10:57:18Z","stringField":"UrEarH","stringTimeField":"21:25:44.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":570,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":570,"uuid":"9de3e40c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["UkOzXPy","KpJselbdh"],"boolField":false,"intField":-403,"numField":-791.5263505399688,"objField":{"qyeechP":-7789946811630492126,"yjbXquc":6339690262466919878},"stringDateField":"1956-02-09","stringDateTimeField":"1906-11-08T05:56:05Z","stringField":"cJExge","stringTimeField":"14:26:44.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":-403,"numField":-791.5263505399688,"stringDateField":"1956-02-09","stringDateTimeField":"1906-11-08T05:56:05Z","stringField":"cJExge","stringTimeField":"14:26:44.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":571,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":571,"uuid":"9de3e40c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["wJhpCWZh","TDUGYG","mwZpMxgC","orihW"],"boolField":true,"intField":-81,"numField":-307.1194398702579,"objField":{"ARdt":1586489397012444056,"DEfHYSajzy":116968011790215507,"JhRMb":8400607707917686753,"LpUluP":-1298361325433602700,"eSmfhSbYq":4284179796548409149},"stringDateField":"1971-11-11","stringDateTimeField":"1983-10-25T09:30:08Z","stringField":"WEBbxLf","stringTimeField":"09:12:03.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":-81,"numField":-307.1194398702579,"stringDateField":"1971-11-11","stringDateTimeField":"1983-10-25T09:30:08Z","stringField":"WEBbxLf","stringTimeField":"09:12:03.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":572,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":572,"uuid":"9de3e40c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["FInVIynxF","YKcRr","YssfE","BvLUR","TJFVHb","RjISVnK","hahLMUNWEA","VNfa","jAOaOlljK","kQtV"],"boolField":true,"intField":609,"numField":-658.0088196742979,"objField":{"QuHQUWI":-8666194424722759149,"lUmeisi":5757603352181121885,"uLcydjQXT":7433666634147980536,"vHuyyzc":4865435416009598257},"stringDateField":"2018-08-19","stringDateTimeField":"1939-01-02T04:25:49Z","stringField":"XcyEi","stringTimeField":"20:56:55.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":609,"numField":-658.0088196742979,"stringDateField":"2018-08-19","stringDateTimeField":"1939-01-02T04:25:49Z","stringField":"XcyEi","stringTimeField":"20:56:55.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":573,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":573,"uuid":"9de3e40c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["AUXT","dlguzQAn","NRvT","CxWd","pyALb","ecZoEek","UeTpJTOy","xOoHLQf","DGxdmKrhxe","UByFQguCN"],"boolField":true,"intField":-768,"numField":-993.647066357521,"objField":{"UBJZjFPCM":7518737195100766986,"jIXYoXRtS":-5583966348945113320,"zcorbYVbHV":-1684626461297690797},"stringDateField":"1973-11-21","stringDateTimeField":"2022-09-15T16:35:22Z","stringField":"DrXV","stringTimeField":"05:31:38.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":-768,"numField":-993.647066357521,"stringDateField":"1973-11-21","stringDateTimeField":"2022-09-15T16:35:22Z","stringField":"DrXV","stringTimeField":"05:31:38.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":574,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":574,"uuid":"9de3e40c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["OenbR","DMCi","sRMPpPXHO","WdXJ","NTUazZkVoZ","pDSaNDNn","VQZoks","WrqeYfc","ORKEj","hqKEvszYJJ"],"boolField":false,"intField":10,"numField":-381.6264999287277,"objField":{"HcCH":7377034739660760157,"LJYKCEmxDJ":883907043968142529,"NHWbsl":3534355669972591427,"kDakSxVMNA":4628172090132864737,"sMnmE":5898689129048550990,"zYuCgervjU":5053487983845007549,"zboGq":-3202352996345127873},"stringDateField":"1967-08-27","stringDateTimeField":"2006-10-20T21:44:53Z","stringField":"NKHIfTZIic","stringTimeField":"01:43:51.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230924Z","intField":10,"numField":-381.6264999287277,"stringDateField":"1967-08-27","stringDateTimeField":"2006-10-20T21:44:53Z","stringField":"NKHIfTZIic","stringTimeField":"01:43:51.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":575,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":575,"uuid":"9de3e40d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["WPuuXdfcx","htQdiLSlx","xlhd","BGXNOW","ZgOHftZC","UvXi","fFHYdRIZ","uvnrA"],"boolField":true,"intField":784,"numField":985.279315371126,"objField":{"Ndiyz":3619452617590150318,"VfRIYLA":1240559834052129490,"YkOaWLD":-2068876301365821347,"bqsbKXlr":3079804053271254819,"dDFc":3149143232674368914,"gziDRm":-8661954582680799371},"stringDateField":"2018-10-11","stringDateTimeField":"1961-08-18T10:20:46Z","stringField":"QKHuRcX","stringTimeField":"18:04:48.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":784,"numField":985.279315371126,"stringDateField":"2018-10-11","stringDateTimeField":"1961-08-18T10:20:46Z","stringField":"QKHuRcX","stringTimeField":"18:04:48.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":576,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":576,"uuid":"9de3e40d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["HQSyLRzhYO","TylgTBB","Gzok","hwMLgo","uEsDDLwE","dThJYU","HcMgRca","gxdxfCFg","WvxJcIbmGQ","txAxGSm"],"boolField":false,"intField":-301,"numField":-801.9635529639764,"objField":{"EUxdi":593142322776234727,"IVrwSZM":2325170607352183360,"JqsaUXl":5089765702998631563,"Rfjk":-1965362775970523987,"TfPbwMzs":-9119526112017660095,"WOBmVMDHUy":-1740690303268156655,"bBCIKmgGN":-7304828485212537930,"uqjyMLiG":7817765670488930943},"stringDateField":"2001-04-02","stringDateTimeField":"1973-12-27T01:46:57Z","stringField":"AhaklXddWc","stringTimeField":"13:59:12.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":-301,"numField":-801.9635529639764,"stringDateField":"2001-04-02","stringDateTimeField":"1973-12-27T01:46:57Z","stringField":"AhaklXddWc","stringTimeField":"13:59:12.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":577,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":577,"uuid":"9de3e40d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["JvHHwjua","evebpn","mVdfgV","jTjapPtd","cxus","RLgxIuECz"],"boolField":true,"intField":88,"numField":-305.1528451164551,"objField":{"LmCJPbo":-5903872388972270173,"OACoXNXlFs":4663703435445381163,"aqFWXIVqx":4834181012534825582,"cxjS":-5491005223030245326,"idxD":-8682717728237371653,"lDkGAINQT":-4518904321979066050,"lbhB":-4596489653874989659,"pMxUOo":6476956627359594120},"stringDateField":"1989-12-01","stringDateTimeField":"1911-03-12T14:46:58Z","stringField":"tvHY","stringTimeField":"03:28:03.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":88,"numField":-305.1528451164551,"stringDateField":"1989-12-01","stringDateTimeField":"1911-03-12T14:46:58Z","stringField":"tvHY","stringTimeField":"03:28:03.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":578,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":578,"uuid":"9de3e40d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["bfjLd","GRDqzaAI","BcEEU","OKJKlShjaJ","ZVSRoxgZjP","uEDutBy","rQDddTV","baSkRjfmBk","glQV"],"boolField":false,"intField":169,"numField":180.1543511987815,"objField":{"bwynROFC":-7520191499511570615},"stringDateField":"2013-11-12","stringDateTimeField":"1989-02-22T17:16:07Z","stringField":"qMsbai","stringTimeField":"09:55:16.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":169,"numField":180.1543511987815,"stringDateField":"2013-11-12","stringDateTimeField":"1989-02-22T17:16:07Z","stringField":"qMsbai","stringTimeField":"09:55:16.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":579,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":579,"uuid":"9de3e40d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["LJptN","GShl","MbVdLe","khBknRq","mbUpryCeo","chulmYJ","RvmGfVRr","NAsEs","szotqTTF"],"boolField":true,"intField":168,"numField":-293.82203504873763,"objField":{"FpmoMcRHDc":-3534861952865838654,"HzlnksaP":1766516683606209287,"IvlP":-3627139614849521252,"NwDvwgs":3967528978389416526,"ZvXch":7343731952701207174,"uctSfXYU":-1035949515213276222},"stringDateField":"1967-07-13","stringDateTimeField":"1964-05-27T17:10:52Z","stringField":"UOFzBGH","stringTimeField":"06:00:48.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":168,"numField":-293.82203504873763,"stringDateField":"1967-07-13","stringDateTimeField":"1964-05-27T17:10:52Z","stringField":"UOFzBGH","stringTimeField":"06:00:48.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":580,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":580,"uuid":"9de3e40d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["jdetUpss","AjZDKIww","IkyLtdhq","dRmbyMWsL","ftwBg","mZcl","nAnIo","SXGVLCTSV","mIcrxIbn"],"boolField":true,"intField":98,"numField":433.13855706956184,"objField":{"TuUala":-7699751863000637198,"VkWEWgx":-9016486106571551206,"ZTDLZwci":-3285092069976091302,"zrkzQ":2390250935280281939},"stringDateField":"2009-02-26","stringDateTimeField":"1994-05-27T23:05:07Z","stringField":"SjilcCMz","stringTimeField":"01:01:28.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":98,"numField":433.13855706956184,"stringDateField":"2009-02-26","stringDateTimeField":"1994-05-27T23:05:07Z","stringField":"SjilcCMz","stringTimeField":"01:01:28.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":581,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":581,"uuid":"9de3e40d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["nSHaWE","ZKOmNflEbJ","sEcMpANnPH","VMwZ","mgIegiHml","yifW"],"boolField":true,"intField":-207,"numField":986.418288565607,"objField":{"aXlZPOG":-8402744020792622383,"pcMIw":-2559120947154403796,"unAG":8910941309700577632,"xSNl":-9167429177564267481},"stringDateField":"1960-01-27","stringDateTimeField":"1994-10-22T16:00:06Z","stringField":"vRVAZLnKG","stringTimeField":"03:48:46.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":-207,"numField":986.418288565607,"stringDateField":"1960-01-27","stringDateTimeField":"1994-10-22T16:00:06Z","stringField":"vRVAZLnKG","stringTimeField":"03:48:46.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":582,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":582,"uuid":"9de3e40d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["DHrY","Oszye","QxXUR","yhrP"],"boolField":false,"intField":695,"numField":255.54595141989677,"objField":{"JPzYEaN":1678187405607977098,"OzsxQPEFja":-5901949497060673395,"hUNuQ":-2850063101351507414},"stringDateField":"1985-01-14","stringDateTimeField":"1999-01-14T17:44:33Z","stringField":"YZKjp","stringTimeField":"01:02:38.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":695,"numField":255.54595141989677,"stringDateField":"1985-01-14","stringDateTimeField":"1999-01-14T17:44:33Z","stringField":"YZKjp","stringTimeField":"01:02:38.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":583,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":583,"uuid":"9de3e40d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["DGUULW","OBsEhu","suApz","bNrRBkdwX","lsabara","jNzeLsngSl","xHRbHGotW"],"boolField":true,"intField":916,"numField":181.82733524157467,"objField":{"BZywS":-694884716607721351,"EsJgwSZFQO":8359643535929092996,"JYXUOajmf":468085376656894605,"KmPRsui":75019250420355770,"OfktMJ":6306155621257922861,"cclwn":9167423310362863123,"sdMo":-6799179837101646209,"xaTxQF":1872265111169041817},"stringDateField":"1931-07-30","stringDateTimeField":"2021-07-01T11:01:40Z","stringField":"gzCgONJjo","stringTimeField":"23:58:12.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":916,"numField":181.82733524157467,"stringDateField":"1931-07-30","stringDateTimeField":"2021-07-01T11:01:40Z","stringField":"gzCgONJjo","stringTimeField":"23:58:12.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":584,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":584,"uuid":"9de3e40d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["AnuShd","NHJYUpB","CiBbZfnzrQ","sASpvupfI","pAPhKCW","sLwGWSt","YflhbQBpWE","lMZGiN","IuzBMypqIU","rOVXKhdvg"],"boolField":true,"intField":-925,"numField":881.8927007961444,"objField":{"FpIhWlZN":-1389881380011002634,"NTfs":-9153657730360767094,"Shvw":1970105429882677255,"VQRVWHANKB":8264062122155038022,"cauMUnU":-7639433550588532466,"kFdlqKkNM":-1100044499706311962,"uQpdZeW":2639380069956727148,"yCHh":6965142989335033817,"zyNnkAFWXj":2244574075033698847},"stringDateField":"1970-05-10","stringDateTimeField":"1963-04-05T10:14:44Z","stringField":"PbapM","stringTimeField":"03:30:23.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":-925,"numField":881.8927007961444,"stringDateField":"1970-05-10","stringDateTimeField":"1963-04-05T10:14:44Z","stringField":"PbapM","stringTimeField":"03:30:23.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":585,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":585,"uuid":"9de3e40d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["GoQce","GYczhwAHnS","PEnzKsNuVw","gdIylXC","UarL","XRMEJiUANv"],"boolField":true,"intField":87,"numField":-62.91168193319019,"objField":{"CVKSIw":-2752781342255364684,"MIWku":-6745531323890881393,"MRDr":7643343987833144132,"NysgsmWCl":-956165673081302061,"ZDyNwSb":8354856047211699111,"dVdxxv":-2543878971017366697,"mXjq":-1560633693114965402,"qsdx":-2553070519122550458},"stringDateField":"2001-03-21","stringDateTimeField":"1954-07-30T18:14:34Z","stringField":"lbdFzxL","stringTimeField":"11:46:38.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":87,"numField":-62.91168193319019,"stringDateField":"2001-03-21","stringDateTimeField":"1954-07-30T18:14:34Z","stringField":"lbdFzxL","stringTimeField":"11:46:38.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":586,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":586,"uuid":"9de3e40d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["uzbwKXAY"],"boolField":true,"intField":-40,"numField":-856.5203823820664,"objField":{"KexF":2362508030244485353,"KoXda":5546710261907148841,"MMzBT":1578669691871278342,"MniQYpL":-8004600084583043812,"TThj":2073829449428965395,"ZpUgrDhEeG":-6687566039226834633},"stringDateField":"1955-10-15","stringDateTimeField":"1952-05-11T08:22:36Z","stringField":"kTMAH","stringTimeField":"23:34:00.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":-40,"numField":-856.5203823820664,"stringDateField":"1955-10-15","stringDateTimeField":"1952-05-11T08:22:36Z","stringField":"kTMAH","stringTimeField":"23:34:00.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":587,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":587,"uuid":"9de3e40d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["JckVXguSa","MfnKrlkL","ZgbhlE","HaAN","oPDbzBiavD","CXmOUWtBf","TnXCa","CILyZP","awnwFEosK"],"boolField":false,"intField":-287,"numField":792.0874928480317,"objField":{"FoHZzOgg":1477059099192334694,"PTAgTaZxrT":9191674484474324546,"ROIQLzm":8856606960050504432,"akHWeBvEL":-2815642472034941375,"bJJnsrXzq":-3388500850379064187,"cmjrE":-4792648445101350246,"mFEYGf":134926947094924430,"qSDi":-952534128797807873,"wApFBizXlD":1425573075837417657,"zrroxBWUwH":31153295142945925},"stringDateField":"2010-08-25","stringDateTimeField":"1952-09-18T21:01:19Z","stringField":"oRNUPdnUw","stringTimeField":"21:52:11.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":-287,"numField":792.0874928480317,"stringDateField":"2010-08-25","stringDateTimeField":"1952-09-18T21:01:19Z","stringField":"oRNUPdnUw","stringTimeField":"21:52:11.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":588,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":588,"uuid":"9de3e40d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["XyRAAapP","bclvZ","oJArLAaBVp","ZPVwHy","TlLxtm"],"boolField":false,"intField":649,"numField":378.2176094685494,"objField":{"IUJaKxizA":-2238612240136256247,"SouSWvF":-8570218667076178332,"VXhj":-4940126558624053677,"WjaMQ":1740803885976110762,"dqktSZ":-3851808551209466942,"itURqiKW":-2570186156802920291,"pRkKyRsBZt":5538652842691596969},"stringDateField":"1993-03-23","stringDateTimeField":"1926-05-22T02:13:34Z","stringField":"VgWuzafPAC","stringTimeField":"02:44:01.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":649,"numField":378.2176094685494,"stringDateField":"1993-03-23","stringDateTimeField":"1926-05-22T02:13:34Z","stringField":"VgWuzafPAC","stringTimeField":"02:44:01.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":589,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":589,"uuid":"9de3e40d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["kklQ","udLv","zpuKOfVRiS","EjZHGf"],"boolField":false,"intField":-631,"numField":527.1438808896655,"objField":{"bvdgOC":-1085937279106375794,"fBnqP":-3109063082581103192,"uRwqpz":5667247443819978840,"xeco":-345528564525371975},"stringDateField":"1955-11-30","stringDateTimeField":"1935-05-19T00:20:26Z","stringField":"TeckeUza","stringTimeField":"19:15:29.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":-631,"numField":527.1438808896655,"stringDateField":"1955-11-30","stringDateTimeField":"1935-05-19T00:20:26Z","stringField":"TeckeUza","stringTimeField":"19:15:29.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":590,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":590,"uuid":"9de3e40d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["jhqIZceAZb","fFRPpKjXC"],"boolField":true,"intField":487,"numField":877.5834681900214,"objField":{"TqhakUG":7055320265672181452,"eQrGyOzB":4284644970411605491,"kvcypgM":-1167442887067823361,"scWwLdKaf":-1963496964802001805,"tIMcRcxmt":4329247071720716392},"stringDateField":"1994-09-16","stringDateTimeField":"1944-12-25T14:13:25Z","stringField":"xnOMY","stringTimeField":"18:49:21.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230925Z","intField":487,"numField":877.5834681900214,"stringDateField":"1994-09-16","stringDateTimeField":"1944-12-25T14:13:25Z","stringField":"xnOMY","stringTimeField":"18:49:21.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":591,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":591,"uuid":"9de3e40e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["OzkksqG","HQeBA","Tegt","oOPcEJwIGL","dHvrXUkPds","MZUGS"],"boolField":true,"intField":-142,"numField":641.3341478460144,"objField":{"QDBZ":-3677581582074438237,"eadVm":1156655156239681195,"mBovh":-9185641039072070096,"vQBUZ":-5057052773968472776},"stringDateField":"2005-08-14","stringDateTimeField":"1941-05-26T20:13:33Z","stringField":"fuFtGQdR","stringTimeField":"03:39:01.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":-142,"numField":641.3341478460144,"stringDateField":"2005-08-14","stringDateTimeField":"1941-05-26T20:13:33Z","stringField":"fuFtGQdR","stringTimeField":"03:39:01.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":592,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":592,"uuid":"9de3e40e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["cOEXSnlYo","RGfj","Dntcvfuav","flSQTMq"],"boolField":true,"intField":-503,"numField":921.3034368556912,"objField":{"CRgPdAS":4241982747962154444,"CfAiBu":-7922489568831929304,"bPHGJzafzV":3703409675872967145},"stringDateField":"1921-12-12","stringDateTimeField":"1972-11-16T05:48:55Z","stringField":"oADeU","stringTimeField":"17:26:38.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":-503,"numField":921.3034368556912,"stringDateField":"1921-12-12","stringDateTimeField":"1972-11-16T05:48:55Z","stringField":"oADeU","stringTimeField":"17:26:38.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":593,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":593,"uuid":"9de3e40e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["xxpEwINVb","CTDC","IlcPBULIv","Alvhqyd"],"boolField":true,"intField":44,"numField":923.8187307745858,"objField":{"VSlIRnC":4379652198797530531,"kXUQPOf":-4005622242449005710,"sUlmj":4477376567492900363},"stringDateField":"2016-01-10","stringDateTimeField":"1911-12-31T10:42:42Z","stringField":"lRAZDspk","stringTimeField":"22:17:51.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":44,"numField":923.8187307745858,"stringDateField":"2016-01-10","stringDateTimeField":"1911-12-31T10:42:42Z","stringField":"lRAZDspk","stringTimeField":"22:17:51.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":594,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":594,"uuid":"9de3e40e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["RKlWB"],"boolField":true,"intField":-487,"numField":820.2912691748023,"objField":{"EGMAkdu":8476090697044478403,"EdrJOrjSK":9216823515782438655,"EoDBjUWa":-6214091239683406427,"EuEkXIz":-7907612598167341333,"GwDKUUZRq":1701970957207854602,"NKyTVyKhLl":8199360033077299909,"NOHSyashhN":-8391285802177912082,"jSJezEJ":-6953927350938427934,"mZSbEevdoE":-8365306555553458769,"rfsRHQonPv":1668047104094824911},"stringDateField":"1977-12-31","stringDateTimeField":"1984-07-26T09:24:46Z","stringField":"MxaDLkLQc","stringTimeField":"11:09:33.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":-487,"numField":820.2912691748023,"stringDateField":"1977-12-31","stringDateTimeField":"1984-07-26T09:24:46Z","stringField":"MxaDLkLQc","stringTimeField":"11:09:33.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":595,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":595,"uuid":"9de3e40e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["RmWhUGBMP"],"boolField":false,"intField":147,"numField":-411.29986093040026,"objField":{"HRIYGWhHJ":116724736893374493,"aytyoMsF":-3570282425565743761,"cdEXFEFPSK":1100510214840596230,"kZOG":1103091328556113935,"vMOuUJ":8169337961648171426,"wInFCveeWw":-8362405407579932237,"wuquO":3499609053620747368},"stringDateField":"1979-03-31","stringDateTimeField":"1909-11-28T03:21:42Z","stringField":"dTzatSCvjQ","stringTimeField":"17:47:01.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":147,"numField":-411.29986093040026,"stringDateField":"1979-03-31","stringDateTimeField":"1909-11-28T03:21:42Z","stringField":"dTzatSCvjQ","stringTimeField":"17:47:01.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":596,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":596,"uuid":"9de3e40e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["UxBSP","koroO","pBUzWc","EoTmZwWb","RsKdz","VMAlCIdwUe"],"boolField":false,"intField":334,"numField":193.60214543882083,"objField":{"AeFzBW":-7527253051635761352,"RdSigyFpBR":-6677687282909125034,"eViitcbim":-3592070584430614722,"ftSDfCb":5504814626802253678,"iuTxgFYx":8267471284052131606,"mHLTpmNMI":-7904584704989849390,"sFFdA":1319343853747154184},"stringDateField":"1932-07-25","stringDateTimeField":"1929-05-05T07:31:44Z","stringField":"JcJR","stringTimeField":"13:52:12.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":334,"numField":193.60214543882083,"stringDateField":"1932-07-25","stringDateTimeField":"1929-05-05T07:31:44Z","stringField":"JcJR","stringTimeField":"13:52:12.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":597,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":597,"uuid":"9de3e40e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["TYDURL","hisqMl","qAwMyD","BAmAUeTT","UJQsHq","CPlUNcGMy","NPNQYLjRS"],"boolField":false,"intField":690,"numField":800.8435951323427,"objField":{"PVrhBpd":-3007680738217961936,"dbJONA":-2582357827823413345,"qfFlWiTP":-2029125174886743218},"stringDateField":"2008-08-29","stringDateTimeField":"1939-06-24T18:03:30Z","stringField":"HoOo","stringTimeField":"03:39:18.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":690,"numField":800.8435951323427,"stringDateField":"2008-08-29","stringDateTimeField":"1939-06-24T18:03:30Z","stringField":"HoOo","stringTimeField":"03:39:18.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":598,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":598,"uuid":"9de3e40e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["GgJZROS","fJhDhG","Icli","FVeJ"],"boolField":false,"intField":137,"numField":748.0872449358437,"objField":{"EuYTfvJp":-7729076853389839525,"IfJMQOspoS":-2051336548232735634,"NJAE":6314507644192639526,"PeHtHK":-4754488044702127152,"QtbtzJ":8500185631389230583,"kolMGio":5952745830605501260},"stringDateField":"1970-07-23","stringDateTimeField":"2015-08-13T22:41:38Z","stringField":"tFdSqfWu","stringTimeField":"19:21:48.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":137,"numField":748.0872449358437,"stringDateField":"1970-07-23","stringDateTimeField":"2015-08-13T22:41:38Z","stringField":"tFdSqfWu","stringTimeField":"19:21:48.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":599,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":599,"uuid":"9de3e40e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["hGIkhdF","PLYJfgO","HuFgV","gzhX","aicyIwivYZ","epCzSHWrma"],"boolField":true,"intField":34,"numField":243.1050691077965,"objField":{"NmNcxaga":-806912446605737828,"OTyDzP":3578807896431665155,"UTXy":6586127945803046696,"aZiFEy":4449102239177355525,"cVIRvjRzU":-338954318964209351,"dxpt":1068147217230163412,"jEGMAiPBV":6851301207534764013,"qNmYXtQWF":-2679375985671330892,"vDDWvmX":8543535111566524539},"stringDateField":"1924-12-01","stringDateTimeField":"1924-02-12T20:53:34Z","stringField":"kbbMndaf","stringTimeField":"02:59:21.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":34,"numField":243.1050691077965,"stringDateField":"1924-12-01","stringDateTimeField":"1924-02-12T20:53:34Z","stringField":"kbbMndaf","stringTimeField":"02:59:21.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":600,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":600,"uuid":"9de3e40e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["iqtgCc","DRnDqGQ","zfJoYQlD"],"boolField":false,"intField":-964,"numField":-634.2427630320434,"objField":{"Vssuf":1218764522142307604,"YLOGdJlQqh":5766579445238643945,"bqIU":-2952218178500089868,"eRqgmk":2469775384156140498,"hLEXNTExY":3596751035387397371,"iKbMevNDF":-1137128746045649664,"ktdYcAJVU":3433347576412913448,"zanIcUtQxH":9044698459039393224},"stringDateField":"1916-06-26","stringDateTimeField":"1915-03-22T09:34:34Z","stringField":"lYPaDuUR","stringTimeField":"08:26:54.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":-964,"numField":-634.2427630320434,"stringDateField":"1916-06-26","stringDateTimeField":"1915-03-22T09:34:34Z","stringField":"lYPaDuUR","stringTimeField":"08:26:54.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":601,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":601,"uuid":"9de3e40e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["CjmKW","CYYtg"],"boolField":true,"intField":-630,"numField":449.6022010087022,"objField":{"HPLcpzBJx":3475825306498373292,"QwGputX":5286361485444673129,"SLzWooJ":-8896967394305506329,"UNbNsPSBSp":3886715373239234768,"lUJetNjHh":6596091317424220051},"stringDateField":"1934-11-29","stringDateTimeField":"1910-09-05T02:51:26Z","stringField":"lohq","stringTimeField":"20:41:27.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":-630,"numField":449.6022010087022,"stringDateField":"1934-11-29","stringDateTimeField":"1910-09-05T02:51:26Z","stringField":"lohq","stringTimeField":"20:41:27.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":602,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":602,"uuid":"9de3e40e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["lmFEdqAI","sZNYlKcuu","eLSIhMRhi","efEWTRkk","lgWsKn","jVvbM","XUCLx","uioTxbxtZD","NjTGyubqWF","GnHLl"],"boolField":true,"intField":-344,"numField":423.2196514921211,"objField":{"QnOpUR":-5557422752486989892,"hbHlry":-8986675113372215508,"ouOSZ":4589334383658771608,"tREV":5131953691593509218},"stringDateField":"1965-02-07","stringDateTimeField":"1928-08-04T11:19:06Z","stringField":"WtdOYWNvJ","stringTimeField":"06:55:30.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":-344,"numField":423.2196514921211,"stringDateField":"1965-02-07","stringDateTimeField":"1928-08-04T11:19:06Z","stringField":"WtdOYWNvJ","stringTimeField":"06:55:30.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":603,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":603,"uuid":"9de3e40e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["bLSzEvLh","HhdvRsujgg"],"boolField":false,"intField":-81,"numField":-545.2105340496165,"objField":{"htWkFoFnf":3880875441147648385,"sHecB":-5040718160482440373},"stringDateField":"1995-10-29","stringDateTimeField":"1974-07-27T20:34:47Z","stringField":"TrpAteqx","stringTimeField":"20:58:12.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":-81,"numField":-545.2105340496165,"stringDateField":"1995-10-29","stringDateTimeField":"1974-07-27T20:34:47Z","stringField":"TrpAteqx","stringTimeField":"20:58:12.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":604,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":604,"uuid":"9de3e40e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["wKpNpMZfJo","MhQrklaM","xHbO","eWFFhdxbx","NtKQjTonPo","tivkrlVFO"],"boolField":false,"intField":-510,"numField":-90.03794257152487,"objField":{"BfILpWxuJt":4366879040153687067,"BzpIqJXLle":5747531686879057844,"EdkmVRz":-3937283584501139508,"FVid":-1858362815016842381,"aVbaMie":-7326203609459441664,"jhkdtb":7122330972518480575,"nNHTAVt":8024451722577898070,"tWhkbPEEPm":-7290837021520249781,"vEHrarOZi":4856580975610183363},"stringDateField":"1924-09-20","stringDateTimeField":"1935-03-14T18:20:03Z","stringField":"uUBQpBcJkt","stringTimeField":"16:00:18.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":-510,"numField":-90.03794257152487,"stringDateField":"1924-09-20","stringDateTimeField":"1935-03-14T18:20:03Z","stringField":"uUBQpBcJkt","stringTimeField":"16:00:18.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":605,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":605,"uuid":"9de3e40e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["NGoDVmhJr","LBsngje","NOnAKV","qJqqaaYEHB","iLdwE","PEUKO"],"boolField":false,"intField":-727,"numField":297.2437607823024,"objField":{"VJTtkbWd":-1649165236973217276},"stringDateField":"1911-02-11","stringDateTimeField":"2022-03-12T07:52:17Z","stringField":"Mkoh","stringTimeField":"10:29:22.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":-727,"numField":297.2437607823024,"stringDateField":"1911-02-11","stringDateTimeField":"2022-03-12T07:52:17Z","stringField":"Mkoh","stringTimeField":"10:29:22.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":606,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":606,"uuid":"9de3e40e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["nhHpwKHMu","mXSZAS","NhaVKZVRb","fPwsxPlAJY","kBKDAW","olbtQ","azBXInPRhi","PCLDcxZ","GxRW","UHRVgcGF"],"boolField":true,"intField":761,"numField":-606.697556189484,"objField":{"AICbTwjW":5539115007205662558,"DPfoAP":8612056276135775904,"LnKvjiG":7420565645211362922},"stringDateField":"2021-08-06","stringDateTimeField":"1906-10-21T00:24:55Z","stringField":"QPzIRIJmhD","stringTimeField":"14:36:05.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230926Z","intField":761,"numField":-606.697556189484,"stringDateField":"2021-08-06","stringDateTimeField":"1906-10-21T00:24:55Z","stringField":"QPzIRIJmhD","stringTimeField":"14:36:05.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":607,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":607,"uuid":"9de3e40f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["zjPMc","rfeL","jbRERyO","YervGru","nEbZrLwh"],"boolField":false,"intField":223,"numField":996.46156888551,"objField":{"DjvxWhJu":-5665933827603903137,"GUULVB":2863147780072640416,"HFpLpiCV":3615962015394280619,"JHBIcizv":4698753764298729061,"Leqo":6064033609811528429,"TIZjtrgDeL":5997578788694783348,"dOSPFa":-5527936369187758302,"gCnkFwg":4242333550739535179,"kXoTzHri":-4912013491446978917,"uhmsEG":5697844370093047875},"stringDateField":"2005-10-01","stringDateTimeField":"1917-06-28T14:33:20Z","stringField":"WQrEWAKsYZ","stringTimeField":"06:39:19.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":223,"numField":996.46156888551,"stringDateField":"2005-10-01","stringDateTimeField":"1917-06-28T14:33:20Z","stringField":"WQrEWAKsYZ","stringTimeField":"06:39:19.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":608,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":608,"uuid":"9de3e40f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["LuYi","jkOHYHLV","OqXMby","qtCLWsHmgm","VOWCcNkh","PDHoJgKBiK","ssfYCoAAa"],"boolField":false,"intField":-940,"numField":-753.9804633426104,"objField":{"usVVC":-8814367508897543019},"stringDateField":"1993-04-23","stringDateTimeField":"2010-02-01T17:47:36Z","stringField":"clJbb","stringTimeField":"19:42:17.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":-940,"numField":-753.9804633426104,"stringDateField":"1993-04-23","stringDateTimeField":"2010-02-01T17:47:36Z","stringField":"clJbb","stringTimeField":"19:42:17.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":609,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":609,"uuid":"9de3e40f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["RdvboawSH"],"boolField":true,"intField":14,"numField":-575.1793348241528,"objField":{"ZvvjBlKNIm":-9093235090413510818,"eoDPpKW":4983832915040369107,"ibWS":6867271611664942385,"nUFr":-3899462039242954383,"xDhKYpbw":9011387904196797270,"zjjWdmcxua":8313407357825364642},"stringDateField":"1995-10-26","stringDateTimeField":"1982-01-28T11:30:16Z","stringField":"IMVKH","stringTimeField":"05:07:54.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":14,"numField":-575.1793348241528,"stringDateField":"1995-10-26","stringDateTimeField":"1982-01-28T11:30:16Z","stringField":"IMVKH","stringTimeField":"05:07:54.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":610,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":610,"uuid":"9de3e40f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["VVXZUlq","HnBHo","NYXEVZiF","dfKWRF","OfMFTg","Nlep","TStOq"],"boolField":false,"intField":-103,"numField":-968.5373313838892,"objField":{"HnRLKaZVnC":-5646874708126766047,"HvvlG":4333756548224992166,"IqFACDjA":7469084646309450428,"RceMLxuOu":6800051707041879248,"SLFGQJhFju":-2073719793799402448,"TZArkfoZry":5213975392177037599,"aNnRTM":-6170342259477018372,"ncVj":3806428424320157480,"sZRWkzgvI":-5031230890917258044,"wJpJfmhE":-515438771770783748},"stringDateField":"1977-12-04","stringDateTimeField":"1948-04-19T07:12:39Z","stringField":"JXojcFlYx","stringTimeField":"13:11:59.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":-103,"numField":-968.5373313838892,"stringDateField":"1977-12-04","stringDateTimeField":"1948-04-19T07:12:39Z","stringField":"JXojcFlYx","stringTimeField":"13:11:59.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":611,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":611,"uuid":"9de3e40f-5655-11ee-9001-675ed0f8e89b"},"arrayField":["XjlBDxguRK","AXdGhMYoI","WVrdgnBr","NlXA","YklCbMRNb","LCVP","DOlc","UpsaLt","IiyC"],"boolField":true,"intField":-764,"numField":-94.5127235562242,"objField":{"LQmRq":1200173620164114706,"aWnE":7579675369864278584,"wGPN":7331772686332565769},"stringDateField":"1968-01-27","stringDateTimeField":"2008-11-07T05:25:06Z","stringField":"xSXeXhG","stringTimeField":"16:13:31.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":-764,"numField":-94.5127235562242,"stringDateField":"1968-01-27","stringDateTimeField":"2008-11-07T05:25:06Z","stringField":"xSXeXhG","stringTimeField":"16:13:31.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":612,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":612,"uuid":"9de3e40f-5655-11ee-9401-675ed0f8e89b"},"arrayField":["SGKuAcj","wrrWijtsR","whsQpyj","INMFkUvPr","uJRzAbs","LRMZaUmcUQ"],"boolField":false,"intField":-638,"numField":-731.2228511164373,"objField":{"KAWyjOYhpo":-3090250382826190487,"KRVJKKk":-8375642406633365328,"LEqYvwDKF":-84666566908774398,"MWiLrxJO":8326227531324552624,"MjrfRd":-8089018774642034657,"UGlPxDo":4429474827950054448,"cvTbZ":8167354274976567349,"fJVVWvyNGJ":4382894873515212945,"gESm":3638787136531863001,"hcviaoGDTc":-1363036027879238945},"stringDateField":"1918-09-18","stringDateTimeField":"1931-08-06T16:42:46Z","stringField":"HHsjT","stringTimeField":"18:47:28.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":-638,"numField":-731.2228511164373,"stringDateField":"1918-09-18","stringDateTimeField":"1931-08-06T16:42:46Z","stringField":"HHsjT","stringTimeField":"18:47:28.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":613,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":613,"uuid":"9de3e40f-5655-11ee-9801-675ed0f8e89b"},"arrayField":["HNbWdFd","MsnEtBmou","mKUuK","yHIkAHrd","zlkLkm","vGCQylPq","YSBlE","jzTSlcZ","rGqQaK"],"boolField":true,"intField":-424,"numField":-473.9558652517414,"objField":{"AUzTlE":823708983820894107,"WrJqAwt":-1253129622436503897,"XKIKvFBdhG":-3907817038941234919,"ZOCbCF":-5880071295239158050,"bVdCs":-4614742111557490145,"eynCGmss":8916627361869424756,"pjgaMuFQeB":-1117720861008983352,"tsmJhFxY":-123545982938725746,"ukMtuOR":-6883920820690715577,"usQdDuQAYC":4531927027419803611},"stringDateField":"1983-05-29","stringDateTimeField":"1962-05-14T02:03:50Z","stringField":"yetcpK","stringTimeField":"11:06:07.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":-424,"numField":-473.9558652517414,"stringDateField":"1983-05-29","stringDateTimeField":"1962-05-14T02:03:50Z","stringField":"yetcpK","stringTimeField":"11:06:07.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":614,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":614,"uuid":"9de3e40f-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["DzlA","ospQWHnVdx","zuFuNKM","viRYDGWZ","QlBbv","FBxCCBNxD"],"boolField":false,"intField":679,"numField":734.1426807219165,"objField":{"EmWXOUiM":3188752322098078288,"KECY":-2266025153135258389,"XqhZpeZhg":2451707791766165136,"bMSSxLKDB":225040274836002041},"stringDateField":"1914-07-09","stringDateTimeField":"1969-05-19T23:47:52Z","stringField":"pMDG","stringTimeField":"11:26:52.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":679,"numField":734.1426807219165,"stringDateField":"1914-07-09","stringDateTimeField":"1969-05-19T23:47:52Z","stringField":"pMDG","stringTimeField":"11:26:52.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":615,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":615,"uuid":"9de3e40f-5655-11ee-a001-675ed0f8e89b"},"arrayField":["EzXFlNeKl","htAxk"],"boolField":true,"intField":-118,"numField":225.3441971794159,"objField":{"GogDVek":-8013585448051589496,"IgaStS":3321203846963260922,"QPLCYQ":7631562206314306560,"chUPEHs":-4780111483603056336,"czErwmfKJQ":4459911723475722055,"lqcsE":8563832139786016522,"mmfFUDrjLO":5704791165608168599,"pODvQNN":4073223184146106281,"sAHT":-115317924611544317,"xDBCtQ":-749987609491995904},"stringDateField":"1917-10-10","stringDateTimeField":"1911-06-09T13:59:10Z","stringField":"VYdI","stringTimeField":"21:23:51.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":-118,"numField":225.3441971794159,"stringDateField":"1917-10-10","stringDateTimeField":"1911-06-09T13:59:10Z","stringField":"VYdI","stringTimeField":"21:23:51.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":616,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":616,"uuid":"9de3e40f-5655-11ee-a401-675ed0f8e89b"},"arrayField":["zOUprtcuVi","TldA","QSqdUyD","Pauu","HAVcfw","tMfkrcZe","mncCVyVT","fYUiSUGCm","dpjDreuWFo","MwtmGsc"],"boolField":true,"intField":809,"numField":233.15853693457257,"objField":{"QqzIoBvvxn":667226345973430768,"XCKsxPiPi":-316011892471058513,"cRvDy":-5687257894431336741,"fSwrZoxiQM":8580108077273962169,"vtWFWJgOUI":-5858391802540414592},"stringDateField":"1987-06-05","stringDateTimeField":"1969-01-06T20:33:56Z","stringField":"aROSA","stringTimeField":"09:31:38.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":809,"numField":233.15853693457257,"stringDateField":"1987-06-05","stringDateTimeField":"1969-01-06T20:33:56Z","stringField":"aROSA","stringTimeField":"09:31:38.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":617,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":617,"uuid":"9de3e40f-5655-11ee-a801-675ed0f8e89b"},"arrayField":["BjDOmU","SQltrUE","NUzmZQk","VSZQ"],"boolField":false,"intField":813,"numField":143.01557713997147,"objField":{"GwOQevxguI":1449054229592651943,"MyzERaM":6032025244903218119,"SuNlsVLHFk":5950803672159125475,"TeCqhqFt":-693134527377806314,"WezpvtWj":210575196024999732,"axlZGW":-2160386922692857848,"qtKPio":-4043129088389970393},"stringDateField":"1910-05-02","stringDateTimeField":"1989-01-18T11:39:18Z","stringField":"ltppRpS","stringTimeField":"06:32:09.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":813,"numField":143.01557713997147,"stringDateField":"1910-05-02","stringDateTimeField":"1989-01-18T11:39:18Z","stringField":"ltppRpS","stringTimeField":"06:32:09.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":618,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":618,"uuid":"9de3e40f-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["HTxvv","AQnRctb","ykdldf","pJAxnDUz","RFczDCRk","mAktjbD"],"boolField":true,"intField":-367,"numField":-454.9417079717291,"objField":{"IgBcti":-7360307306988410300,"TcyXPqTwVu":8641143457849895345,"UKKAaf":4484068671791591980,"bPfOebVBea":4407797273420199025,"jgIWvzWDs":8046273997374703566,"rmjtnqP":-4625401390997489219,"vTxUQ":3571397695850060046},"stringDateField":"1977-11-23","stringDateTimeField":"1951-03-17T13:13:18Z","stringField":"DBdBtjDiJy","stringTimeField":"15:45:20.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":-367,"numField":-454.9417079717291,"stringDateField":"1977-11-23","stringDateTimeField":"1951-03-17T13:13:18Z","stringField":"DBdBtjDiJy","stringTimeField":"15:45:20.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":619,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":619,"uuid":"9de3e40f-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ZFmsLi","OofkFGB","FlolLvC","BALvcqmMW"],"boolField":true,"intField":877,"numField":962.507347447753,"objField":{"KOXjAy":-6599304793373553487,"QHlBnNrwi":1964314483647559815,"RierGIxDW":897614411932591736,"Zoordl":2590104940216743145,"dhmpEjN":765975155523328188,"fkxrbB":8349036259161061870,"nFzJd":3905284910952596658,"vBLcSMG":-27177225946743033},"stringDateField":"2011-06-04","stringDateTimeField":"1928-09-27T02:32:01Z","stringField":"hwsJAH","stringTimeField":"23:32:36.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":877,"numField":962.507347447753,"stringDateField":"2011-06-04","stringDateTimeField":"1928-09-27T02:32:01Z","stringField":"hwsJAH","stringTimeField":"23:32:36.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":620,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":620,"uuid":"9de3e40f-5655-11ee-b401-675ed0f8e89b"},"arrayField":["wBIcOeTEZS","IwWRXYpXE","REqeIu","nCtq"],"boolField":true,"intField":-576,"numField":-128.15344217350744,"objField":{"EsuyZQmoaX":-648106741439023841,"GhegqrR":-6630779762968840858,"PVdYwhxLIg":3966202107217126878,"TGxAzAIyZF":-4182535686175541778,"TIdRDev":-362700863995373978,"WbFsGqrX":-8643279507609094699,"cVfqqhEf":8911206415431517241,"cWijOQDYss":-2862680580487523673,"dHdgPlav":8814040999770968632,"vezo":-4865094436880913788},"stringDateField":"1985-06-05","stringDateTimeField":"1937-03-03T22:39:29Z","stringField":"mPTU","stringTimeField":"09:17:51.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":-576,"numField":-128.15344217350744,"stringDateField":"1985-06-05","stringDateTimeField":"1937-03-03T22:39:29Z","stringField":"mPTU","stringTimeField":"09:17:51.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":621,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":621,"uuid":"9de3e40f-5655-11ee-b801-675ed0f8e89b"},"arrayField":["HPZqR","lvUjSTrdbM","rgfRyddLep","eagbdSbyJ","hnOtr","UsxFSfiIMO","XXjHZ","fZomfayQ"],"boolField":true,"intField":850,"numField":-187.07426151512377,"objField":{"myTcBAn":-6444567295831482381},"stringDateField":"1903-11-18","stringDateTimeField":"1906-06-25T13:45:50Z","stringField":"rIZs","stringTimeField":"05:48:29.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":850,"numField":-187.07426151512377,"stringDateField":"1903-11-18","stringDateTimeField":"1906-06-25T13:45:50Z","stringField":"rIZs","stringTimeField":"05:48:29.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":622,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":622,"uuid":"9de3e40f-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["TEfZ","oQav","LNJK","oypc"],"boolField":true,"intField":-870,"numField":-880.1434469218013,"objField":{"GuJAbAw":5566062851883617046,"HHStRJBtn":-5377096438363224620,"QKdpUdkydP":970635682323591007,"WQgnH":6593078680347780980,"efZAIXjG":2721367285803352405,"gBNIC":8477111781557972882,"nMogdSl":4184091549939479797,"tUZuWv":2659232896556067862,"xGWIKm":8666898340129537355},"stringDateField":"2017-08-11","stringDateTimeField":"1966-07-15T02:32:46Z","stringField":"iXPFkLto","stringTimeField":"13:45:20.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230927Z","intField":-870,"numField":-880.1434469218013,"stringDateField":"2017-08-11","stringDateTimeField":"1966-07-15T02:32:46Z","stringField":"iXPFkLto","stringTimeField":"13:45:20.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":623,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":623,"uuid":"9de3e410-5655-11ee-8001-675ed0f8e89b"},"arrayField":["fExXmn","bTnHNus","OEqpxPVg","kftut","mUNKpwBpk","NUnuowTuX","jvBcajJr","Vsuhekq","rZjanKGwm","yimjx"],"boolField":true,"intField":30,"numField":300.7711645104598,"objField":{"ATVxKqpW":4256356491660040657,"DgqhTOt":7467209482960026644,"SDRvcI":-1964267091149420499,"TNmuY":-5368421413285728076,"nQgjukfZp":7799382504755884486},"stringDateField":"1973-01-01","stringDateTimeField":"1963-12-26T23:14:45Z","stringField":"CbvsCuvRAv","stringTimeField":"04:09:53.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":30,"numField":300.7711645104598,"stringDateField":"1973-01-01","stringDateTimeField":"1963-12-26T23:14:45Z","stringField":"CbvsCuvRAv","stringTimeField":"04:09:53.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":624,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":624,"uuid":"9de3e410-5655-11ee-8401-675ed0f8e89b"},"arrayField":["PChCmXUq","apnAXa","HocRqxQO","OxUVARF","ZSkOI","yUwcmJWHHr","XOae","QdVyWe","fnNeMYa","zVxwMJFAKN"],"boolField":true,"intField":523,"numField":-19.62358880852799,"objField":{"WFYRKX":7058443566378778377},"stringDateField":"2008-07-05","stringDateTimeField":"1938-11-18T09:28:46Z","stringField":"GuZVZAAvV","stringTimeField":"23:03:21.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":523,"numField":-19.62358880852799,"stringDateField":"2008-07-05","stringDateTimeField":"1938-11-18T09:28:46Z","stringField":"GuZVZAAvV","stringTimeField":"23:03:21.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":625,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":625,"uuid":"9de3e410-5655-11ee-8801-675ed0f8e89b"},"arrayField":["TIdZqpCV","HvGodnoEkP","ZGZCrVobWH","yzlcbJZhMq","zqlSuzPQ","jOWIgUh"],"boolField":true,"intField":689,"numField":-877.1259854222485,"objField":{"BWJSVLRdFh":8964673444702990007,"FykioPA":-6657546169149917647,"QqvR":3133750657842969297,"YZaDyv":8662542315958452187,"jGtgOTr":1459978235276684460,"zJtOr":-113240660964839434,"zzMuMgMK":-9038924066153653617},"stringDateField":"2002-10-13","stringDateTimeField":"1933-12-28T00:25:21Z","stringField":"yval","stringTimeField":"20:20:35.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":689,"numField":-877.1259854222485,"stringDateField":"2002-10-13","stringDateTimeField":"1933-12-28T00:25:21Z","stringField":"yval","stringTimeField":"20:20:35.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":626,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":626,"uuid":"9de3e410-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["tUuXTQSYC","ekgI","xQSjseepEm","qCxhasca","kNwFkeduX","ERyreaDfby","hkIl","QqYTy","MftnaCqkl","SywLPjRUg"],"boolField":false,"intField":912,"numField":-562.677188687388,"objField":{"JUjXJxF":4350243452738284779,"WgCIJA":-5339685265388720979,"ZOuKDpal":6416040839618800480,"agrdXRdoA":-5248760499191777767},"stringDateField":"2006-11-11","stringDateTimeField":"1927-03-27T02:40:40Z","stringField":"iVzIbYN","stringTimeField":"01:47:09.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":912,"numField":-562.677188687388,"stringDateField":"2006-11-11","stringDateTimeField":"1927-03-27T02:40:40Z","stringField":"iVzIbYN","stringTimeField":"01:47:09.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":627,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":627,"uuid":"9de3e410-5655-11ee-9001-675ed0f8e89b"},"arrayField":["OUAqQ","tPDHNIN","cXVm","gdJTfdyI","ujNNjeMkum","rHrVAmY","JKQKf","UqbDR","wpaloBxG","EpATuD"],"boolField":false,"intField":822,"numField":-211.00675660383283,"objField":{"UfcjuQ":2177095452469716140,"aZCQhwxEi":-3522384355298462267,"bEoaprmk":3464428810859857818,"cfVIrotNtH":-6474789247035656882,"dfjuM":2022115249770846812,"jDRKIqQkww":-7146943726810917941,"kBaethy":-1232605213209496536,"mUYxHuR":1862394856388835947,"nJwh":-3380450366276035226,"rCAYFKK":-6891333684961594176},"stringDateField":"1948-12-17","stringDateTimeField":"1936-01-25T11:37:04Z","stringField":"aLZjeXu","stringTimeField":"20:31:02.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":822,"numField":-211.00675660383283,"stringDateField":"1948-12-17","stringDateTimeField":"1936-01-25T11:37:04Z","stringField":"aLZjeXu","stringTimeField":"20:31:02.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":628,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":628,"uuid":"9de3e410-5655-11ee-9401-675ed0f8e89b"},"arrayField":["VhDNOEcDa","dhbyFUFApR","QOwquto","ORhIltUiA","iWFVsDtbY"],"boolField":true,"intField":-312,"numField":502.4901428430537,"objField":{"KBcOoGXRHT":8526313319511134506,"VRif":-6382407730174795383,"xMry":9049206033432928922},"stringDateField":"1949-10-25","stringDateTimeField":"1999-04-24T14:10:05Z","stringField":"kWncl","stringTimeField":"05:54:33.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":-312,"numField":502.4901428430537,"stringDateField":"1949-10-25","stringDateTimeField":"1999-04-24T14:10:05Z","stringField":"kWncl","stringTimeField":"05:54:33.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":629,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":629,"uuid":"9de3e410-5655-11ee-9801-675ed0f8e89b"},"arrayField":["WFCDoW","QvwPEAn","YXvHQ","FzZR","hMwQEml","KYUuYw","mMSWetRsf","QAzx"],"boolField":true,"intField":-286,"numField":-79.88624678429801,"objField":{"JgYyBkdI":2779241839898586790},"stringDateField":"2017-03-03","stringDateTimeField":"1911-12-29T19:10:42Z","stringField":"cyUaPUqVft","stringTimeField":"14:18:18.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":-286,"numField":-79.88624678429801,"stringDateField":"2017-03-03","stringDateTimeField":"1911-12-29T19:10:42Z","stringField":"cyUaPUqVft","stringTimeField":"14:18:18.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":630,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":630,"uuid":"9de3e410-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["OmjFDzSd","XWSgCqkofy","wPsH","fGtGP"],"boolField":false,"intField":151,"numField":-833.8175870071935,"objField":{"HMkkCpZAud":-8076721701008920665},"stringDateField":"1966-11-04","stringDateTimeField":"1936-04-02T07:58:22Z","stringField":"eHVkjlKQRi","stringTimeField":"03:28:06.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":151,"numField":-833.8175870071935,"stringDateField":"1966-11-04","stringDateTimeField":"1936-04-02T07:58:22Z","stringField":"eHVkjlKQRi","stringTimeField":"03:28:06.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":631,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":631,"uuid":"9de3e410-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ZGEDDQIcS","TvNUBE","nPfyJjiRI"],"boolField":true,"intField":531,"numField":-814.4260507916878,"objField":{"VHFEoLBwOd":5084508751236729533},"stringDateField":"1963-12-28","stringDateTimeField":"1942-03-31T16:45:10Z","stringField":"ShCsCRZsTf","stringTimeField":"14:51:32.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":531,"numField":-814.4260507916878,"stringDateField":"1963-12-28","stringDateTimeField":"1942-03-31T16:45:10Z","stringField":"ShCsCRZsTf","stringTimeField":"14:51:32.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":632,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":632,"uuid":"9de3e410-5655-11ee-a401-675ed0f8e89b"},"arrayField":["HKXgn"],"boolField":true,"intField":352,"numField":-383.2213654626858,"objField":{"CIpV":5962409487642379445,"GYajQGrne":-6680972972994957499,"ivuP":2958456586808587956},"stringDateField":"1919-09-01","stringDateTimeField":"1989-09-09T18:11:50Z","stringField":"GpcNM","stringTimeField":"11:22:50.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":352,"numField":-383.2213654626858,"stringDateField":"1919-09-01","stringDateTimeField":"1989-09-09T18:11:50Z","stringField":"GpcNM","stringTimeField":"11:22:50.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":633,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":633,"uuid":"9de3e410-5655-11ee-a801-675ed0f8e89b"},"arrayField":["bFyKsH","tPQDiDm"],"boolField":false,"intField":-226,"numField":919.1187479709716,"objField":{"AdCcoOrDNH":4394982070109909931,"FkhgdFK":1201931979403362024,"FyGmmQw":3431061786049877661,"MqTT":-3754283370273495466,"PsQTzioTY":-297846599701683502,"UyyZP":-3116570235133429010,"hrui":7121419416819321666,"qwRYN":-7188720715446439202},"stringDateField":"1941-02-12","stringDateTimeField":"1917-10-14T21:35:47Z","stringField":"mfHJftP","stringTimeField":"21:37:27.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":-226,"numField":919.1187479709716,"stringDateField":"1941-02-12","stringDateTimeField":"1917-10-14T21:35:47Z","stringField":"mfHJftP","stringTimeField":"21:37:27.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":634,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":634,"uuid":"9de3e410-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["pHJXXz","GqTCY","wXTxops","OnMgJNOqM"],"boolField":true,"intField":177,"numField":682.0493123459453,"objField":{"xVQVkIuKM":2741506485848404948},"stringDateField":"1993-08-30","stringDateTimeField":"1909-10-22T14:55:28Z","stringField":"nijKbeLC","stringTimeField":"05:19:14.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":177,"numField":682.0493123459453,"stringDateField":"1993-08-30","stringDateTimeField":"1909-10-22T14:55:28Z","stringField":"nijKbeLC","stringTimeField":"05:19:14.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":635,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":635,"uuid":"9de3e410-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ifFx"],"boolField":true,"intField":-496,"numField":-633.5811219031525,"objField":{"BEOrU":-4924041860211190554},"stringDateField":"1961-04-13","stringDateTimeField":"1970-10-05T06:50:50Z","stringField":"iZNYvyC","stringTimeField":"11:17:02.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":-496,"numField":-633.5811219031525,"stringDateField":"1961-04-13","stringDateTimeField":"1970-10-05T06:50:50Z","stringField":"iZNYvyC","stringTimeField":"11:17:02.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":636,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":636,"uuid":"9de3e410-5655-11ee-b401-675ed0f8e89b"},"arrayField":["qRFxMJe","lGuzwru","nxOW","IgcQUn","xtSCZEQVu","jzgeCpDSk","oDKBo","zYiwFYic"],"boolField":false,"intField":-634,"numField":827.8289211322025,"objField":{"YYcI":5190825910392019902},"stringDateField":"1911-08-12","stringDateTimeField":"1954-04-04T07:06:18Z","stringField":"gZkQmScHyE","stringTimeField":"03:09:54.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":-634,"numField":827.8289211322025,"stringDateField":"1911-08-12","stringDateTimeField":"1954-04-04T07:06:18Z","stringField":"gZkQmScHyE","stringTimeField":"03:09:54.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":637,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":637,"uuid":"9de3e410-5655-11ee-b801-675ed0f8e89b"},"arrayField":["PWvQSapMl","jAKUo","DSBjGsjIe","kQlPvq"],"boolField":true,"intField":-775,"numField":-836.0943038294432,"objField":{"CxVPGoC":4947852671118387812,"JxRsm":1418534069793339098,"XjChzPL":9189990757884888449,"ajiRXimcb":-8247798722287986769,"iUFcyTuJ":-4777436671671508136,"lyelxxKji":2006297244858813331,"mwpWVSs":-402543465072592340,"rEAxsZ":-2793025553227207798},"stringDateField":"2015-06-03","stringDateTimeField":"1913-08-07T00:19:28Z","stringField":"fdQaXQxW","stringTimeField":"20:19:26.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":-775,"numField":-836.0943038294432,"stringDateField":"2015-06-03","stringDateTimeField":"1913-08-07T00:19:28Z","stringField":"fdQaXQxW","stringTimeField":"20:19:26.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":638,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":638,"uuid":"9de3e410-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ZyKf"],"boolField":true,"intField":715,"numField":-821.9323079470867,"objField":{"SFgwbw":-7795615556553731781,"XFaBn":-5967398438348941905,"ewRqs":4708660033658904467,"jiSM":-6552640765822417383,"kXaXYdzY":6007327725762446788,"nsHEcN":-3227489233829264491},"stringDateField":"1907-01-03","stringDateTimeField":"1985-10-24T15:05:46Z","stringField":"HzlEvnPD","stringTimeField":"08:37:28.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230928Z","intField":715,"numField":-821.9323079470867,"stringDateField":"1907-01-03","stringDateTimeField":"1985-10-24T15:05:46Z","stringField":"HzlEvnPD","stringTimeField":"08:37:28.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":639,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":639,"uuid":"9de3e411-5655-11ee-8001-675ed0f8e89b"},"arrayField":["RuHYZ","QZdklM"],"boolField":true,"intField":-367,"numField":224.40600189790504,"objField":{"OIvPIjdgw":-976763967457739445,"bkLUNE":-3835378158567122188,"cvzP":7936578025584956728,"ggOpyBx":5378079580915803533,"mwmWRrIX":-7296831380523008012},"stringDateField":"1945-11-23","stringDateTimeField":"2020-12-01T12:45:20Z","stringField":"mQaPnWue","stringTimeField":"14:15:53.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":-367,"numField":224.40600189790504,"stringDateField":"1945-11-23","stringDateTimeField":"2020-12-01T12:45:20Z","stringField":"mQaPnWue","stringTimeField":"14:15:53.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":640,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":640,"uuid":"9de3e411-5655-11ee-8401-675ed0f8e89b"},"arrayField":["qQCehlgwfN","vYEpd","zHfBnRLMq"],"boolField":false,"intField":646,"numField":538.9516141823858,"objField":{"EveToxFKYd":-2416900577739479366,"IyBqmhf":399105685927896224,"OYzoQ":-3597079978986712660,"OrzHnrMemo":5187018096825056495,"dmAt":-857545476882764135},"stringDateField":"1924-07-24","stringDateTimeField":"2020-12-07T20:50:41Z","stringField":"vBPeCkaegU","stringTimeField":"15:36:38.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":646,"numField":538.9516141823858,"stringDateField":"1924-07-24","stringDateTimeField":"2020-12-07T20:50:41Z","stringField":"vBPeCkaegU","stringTimeField":"15:36:38.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":641,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":641,"uuid":"9de3e411-5655-11ee-8801-675ed0f8e89b"},"arrayField":["lfFKgH","DUMcJgnh","GzbedoFQ","ZAPeVbLqxt","ZHqiZo","fsqcxez","hEVIbztHtH","NRCfD","dbYLOZgn"],"boolField":false,"intField":-924,"numField":213.13853439719367,"objField":{"IpGed":6639427700946312141,"KhoZBrSO":-4648412255310475932,"OmTwm":-8999491165524817789,"TEjwpv":-3292561840294501526,"XaHa":4678701427539021172,"aIzSSOORG":-2625313263264060294,"pxNCFJXrhE":-2598067734999669949,"uoETXK":6092045085727870712},"stringDateField":"1917-04-07","stringDateTimeField":"2002-10-27T19:47:48Z","stringField":"DgzSLRfB","stringTimeField":"09:16:42.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":-924,"numField":213.13853439719367,"stringDateField":"1917-04-07","stringDateTimeField":"2002-10-27T19:47:48Z","stringField":"DgzSLRfB","stringTimeField":"09:16:42.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":642,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":642,"uuid":"9de3e411-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["SavHvET","UaNZdZKUK","WPxoE","PLvyan","jIoX"],"boolField":true,"intField":-896,"numField":-226.5647609651752,"objField":{"GGgL":-6846538050593566925,"MUuyPUje":-9093796836184644602,"NHmjsps":-6885292245859317882,"NrzT":-4490402790515633245,"QYKxMffmR":8554040803997611349,"QbIRUeaj":-6949211497826436654,"WZeNaKgQge":7807081373410565169,"gCPKFP":-8893672818410040869,"sOxeA":-3537188867972653452,"ueyVDzYz":309974917413566615},"stringDateField":"2018-08-30","stringDateTimeField":"2007-11-27T23:12:02Z","stringField":"zjUPwDrrQ","stringTimeField":"02:17:14.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":-896,"numField":-226.5647609651752,"stringDateField":"2018-08-30","stringDateTimeField":"2007-11-27T23:12:02Z","stringField":"zjUPwDrrQ","stringTimeField":"02:17:14.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":643,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":643,"uuid":"9de3e411-5655-11ee-9001-675ed0f8e89b"},"arrayField":["QdAZKERowm"],"boolField":false,"intField":-506,"numField":-172.523241138814,"objField":{"Xrkgl":3716592461577588904,"tVAHvQSn":-5434740881799082472},"stringDateField":"1930-01-12","stringDateTimeField":"1963-10-12T20:45:57Z","stringField":"AySJzR","stringTimeField":"17:11:09.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":-506,"numField":-172.523241138814,"stringDateField":"1930-01-12","stringDateTimeField":"1963-10-12T20:45:57Z","stringField":"AySJzR","stringTimeField":"17:11:09.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":644,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":644,"uuid":"9de3e411-5655-11ee-9401-675ed0f8e89b"},"arrayField":["CiflJ","SrmUEEErSQ","dvzPOsN","AOivfLBZjx","vqZsvqSNU","VGUKS","PcmxSjgbtU"],"boolField":false,"intField":-225,"numField":-612.122908557429,"objField":{"GFHYtlfrl":-6209731127302164735,"OCUdYOONJ":-4537595602370808281,"UrnLvxfjHo":337583514211844159,"sQKQPgg":7343246106417111003,"sXrgURZclO":93207450401259790,"vmkV":4527284202155634635,"zLSI":7809734096734733716},"stringDateField":"1977-09-04","stringDateTimeField":"2012-05-25T15:12:29Z","stringField":"gjiGVoFv","stringTimeField":"08:30:04.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":-225,"numField":-612.122908557429,"stringDateField":"1977-09-04","stringDateTimeField":"2012-05-25T15:12:29Z","stringField":"gjiGVoFv","stringTimeField":"08:30:04.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":645,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":645,"uuid":"9de3e411-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ZfVoMcnt","psQijy","mTbVdwt","tAzGEh","rmSawuzaD","eURDsaNG","QTERhbt","pdvlbSrKVi"],"boolField":false,"intField":43,"numField":248.47249743401423,"objField":{"DuXgCx":6997333126606561020,"OjypkDubZA":-2948441207691967711,"TUjMdGimT":-1536344793395286993,"jOQDcYaEK":-4448220032368325012},"stringDateField":"2005-08-29","stringDateTimeField":"1959-01-27T20:13:03Z","stringField":"BIGmlTALC","stringTimeField":"11:31:47.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":43,"numField":248.47249743401423,"stringDateField":"2005-08-29","stringDateTimeField":"1959-01-27T20:13:03Z","stringField":"BIGmlTALC","stringTimeField":"11:31:47.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":646,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":646,"uuid":"9de3e411-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["RKVu","wZMXOtkm","jsGts"],"boolField":true,"intField":3,"numField":-373.515305247344,"objField":{"AyWNzFqiJB":657975025977538271,"OvrO":2372575367718266032,"TYrEBVG":-6468952361501806898,"WlNbeRQg":1821693602057321590,"caGc":965026930501365665,"oMZQOQDAE":5120806499579598227,"rGyJiTq":2942963288263238914,"zidiBBH":-2622882317532887229},"stringDateField":"1990-01-16","stringDateTimeField":"1913-01-01T13:11:34Z","stringField":"TjyXtb","stringTimeField":"04:50:23.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":3,"numField":-373.515305247344,"stringDateField":"1990-01-16","stringDateTimeField":"1913-01-01T13:11:34Z","stringField":"TjyXtb","stringTimeField":"04:50:23.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":647,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":647,"uuid":"9de3e411-5655-11ee-a001-675ed0f8e89b"},"arrayField":["eVGDGiPbIG","bKuuJISJO","rWQqYjNjI","qvyNrLAPY"],"boolField":false,"intField":-821,"numField":683.8219070141228,"objField":{"PGSMMU":2181000200055675539,"ROVAuTcTh":3798134742700757725,"SdyvtO":-1474041259066681238,"UMZykrmZIu":8926835242509558743,"VnvQxWrkrm":913479676073028003,"viUYO":-367618554515333704},"stringDateField":"1999-09-05","stringDateTimeField":"1997-06-24T09:08:13Z","stringField":"QQLN","stringTimeField":"16:16:42.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":-821,"numField":683.8219070141228,"stringDateField":"1999-09-05","stringDateTimeField":"1997-06-24T09:08:13Z","stringField":"QQLN","stringTimeField":"16:16:42.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":648,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":648,"uuid":"9de3e411-5655-11ee-a401-675ed0f8e89b"},"arrayField":["HQrR","keHeV"],"boolField":false,"intField":-186,"numField":518.4630400529437,"objField":{"Gopsf":7704684062137848403,"JdZOT":-3813240553769644718,"sXah":6848344567512471759,"utBs":-2975112804685097299,"zUBdooSbCy":-5876399991732361107},"stringDateField":"2003-09-15","stringDateTimeField":"2016-08-04T15:58:07Z","stringField":"TAKOpXHv","stringTimeField":"00:23:41.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":-186,"numField":518.4630400529437,"stringDateField":"2003-09-15","stringDateTimeField":"2016-08-04T15:58:07Z","stringField":"TAKOpXHv","stringTimeField":"00:23:41.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":649,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":649,"uuid":"9de3e411-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ChMBIKWkOA","ABhq","ixjBUkB","cWDjHcu","sxjGRzAcUU","hEsX","ODbK"],"boolField":true,"intField":403,"numField":-187.3963286836874,"objField":{"elMbBQZt":-8762720180514793466,"wnJKJW":-4033629798251581151,"yRaUiamw":4198551790059732832},"stringDateField":"1928-05-16","stringDateTimeField":"1909-03-28T20:38:12Z","stringField":"fmvg","stringTimeField":"18:19:35.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":403,"numField":-187.3963286836874,"stringDateField":"1928-05-16","stringDateTimeField":"1909-03-28T20:38:12Z","stringField":"fmvg","stringTimeField":"18:19:35.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":650,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":650,"uuid":"9de3e411-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["rNehrtot","XgTv","QMsZRtkD","eiANkR","iElvx","ZyQOKr","Naib","FAIQsadk","LGSzKG","UgBydsn"],"boolField":true,"intField":-932,"numField":-181.5033968515246,"objField":{"MIdLGFOAm":4791933383033420576,"TtJZAJ":2790973792679741198,"eVhdpne":-8573577984991876080,"glkbAn":3842829015619763382},"stringDateField":"1984-06-28","stringDateTimeField":"1926-08-11T14:12:51Z","stringField":"sPhaJYBkQ","stringTimeField":"00:46:19.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":-932,"numField":-181.5033968515246,"stringDateField":"1984-06-28","stringDateTimeField":"1926-08-11T14:12:51Z","stringField":"sPhaJYBkQ","stringTimeField":"00:46:19.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":651,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":651,"uuid":"9de3e411-5655-11ee-b001-675ed0f8e89b"},"arrayField":["AoIEaUUKFb","uBLEe","OorrO","BMMksTWPw"],"boolField":false,"intField":-667,"numField":-435.08995925958914,"objField":{"AXqRZJGspA":-664772727177267445,"ApwycutRi":8437308176589114886,"NvWBBRhP":8528552908690141742,"PCjOqYmVV":-3351420162385799647,"iCcqP":1493989910247512591,"oiEt":-9091289347000810208,"qHhBb":944325974351008374,"rAMeVP":-5814651251046351492,"xOjfqCNdZw":285802856472779549,"yCbTHDC":-2016283437007636537},"stringDateField":"1978-01-11","stringDateTimeField":"2014-03-18T12:59:14Z","stringField":"rdrlAcE","stringTimeField":"10:08:10.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":-667,"numField":-435.08995925958914,"stringDateField":"1978-01-11","stringDateTimeField":"2014-03-18T12:59:14Z","stringField":"rdrlAcE","stringTimeField":"10:08:10.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":652,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":652,"uuid":"9de3e411-5655-11ee-b401-675ed0f8e89b"},"arrayField":["WBRNdL","FAyao","sJWXUi","UkZaAIhIdk","dcngcPL","gJoIBSnn","FOcUrwXYLC","NUXtQRTh","Lijoh"],"boolField":true,"intField":507,"numField":-233.03878101459983,"objField":{"XbOa":4548332492806077919},"stringDateField":"1928-01-29","stringDateTimeField":"1974-11-13T14:32:39Z","stringField":"IXIwA","stringTimeField":"02:08:30.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":507,"numField":-233.03878101459983,"stringDateField":"1928-01-29","stringDateTimeField":"1974-11-13T14:32:39Z","stringField":"IXIwA","stringTimeField":"02:08:30.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":653,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":653,"uuid":"9de3e411-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ZeYCcFq","FyFFGuaPA","utEFo","nBRrrRx","UXIUXu","eSNT","EDcxYexMUf","chWb","MFLV","ObOdThMKmH"],"boolField":true,"intField":-679,"numField":-753.5948899967389,"objField":{"Ubygx":-7538629494113458382,"UybCAC":6737799933634322144,"eRunNKOMiR":1656047059749671268,"kmLACbB":-8236987297731706088,"nsIaLBIdN":7722375875000350977},"stringDateField":"2010-04-18","stringDateTimeField":"2019-09-12T12:13:35Z","stringField":"ucqY","stringTimeField":"01:12:50.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":-679,"numField":-753.5948899967389,"stringDateField":"2010-04-18","stringDateTimeField":"2019-09-12T12:13:35Z","stringField":"ucqY","stringTimeField":"01:12:50.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":654,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":654,"uuid":"9de3e411-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["CnRhvoY","FarxQM","dDxvZCpb","WPhd","oxDkEsKwsS"],"boolField":true,"intField":-842,"numField":-75.6914815087174,"objField":{"CXCgmumNE":-2830856175678227895,"HPWJUCL":-4061909267458435111,"JXeXyAwFG":-5600097223593953754,"KNcG":-9011080987236040574,"ieonNmk":-3388614666160578270,"jhPHs":-3593649230600666276,"xLmsDeT":-4875803784516126904,"ycvI":-8655751190515556927},"stringDateField":"1922-10-06","stringDateTimeField":"2003-03-22T11:57:49Z","stringField":"yzJqLGaq","stringTimeField":"06:41:54.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230929Z","intField":-842,"numField":-75.6914815087174,"stringDateField":"1922-10-06","stringDateTimeField":"2003-03-22T11:57:49Z","stringField":"yzJqLGaq","stringTimeField":"06:41:54.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":655,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":655,"uuid":"9de3e412-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PQeahEgR"],"boolField":true,"intField":374,"numField":-778.2172810496152,"objField":{"AkOkjrkXj":-5339580649812209478,"IgqnwD":1522998095047864708,"UUsR":2466336567346595183,"YYHprvXIk":-1121980576548784581,"bIaykz":3153466223194086569,"gEEaSq":6293648926018771908,"gFJHWlJWQ":-7565197225179765616,"xgMkMTn":5642644127061859621},"stringDateField":"1905-05-16","stringDateTimeField":"1920-07-21T17:54:49Z","stringField":"NIreJ","stringTimeField":"10:17:33.43Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":374,"numField":-778.2172810496152,"stringDateField":"1905-05-16","stringDateTimeField":"1920-07-21T17:54:49Z","stringField":"NIreJ","stringTimeField":"10:17:33.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":656,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":656,"uuid":"9de3e412-5655-11ee-8401-675ed0f8e89b"},"arrayField":["jZXAlC","NbTreehw","drDWDc"],"boolField":true,"intField":404,"numField":616.2042154347578,"objField":{"BeYXO":-655787137962993403,"EMHmvqPslw":3099682078967189629,"FErjazFr":-6464117799277353476,"VnSTwbFQ":1090157915471423693,"lVxzdy":485588172735448583,"qBTAU":38478359288480493,"suEQxm":308017326137978417,"vkIO":-6514912925260500382},"stringDateField":"1942-04-19","stringDateTimeField":"1900-06-14T08:19:19Z","stringField":"XpQRelPVHs","stringTimeField":"01:03:20.18Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":404,"numField":616.2042154347578,"stringDateField":"1942-04-19","stringDateTimeField":"1900-06-14T08:19:19Z","stringField":"XpQRelPVHs","stringTimeField":"01:03:20.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":657,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":657,"uuid":"9de3e412-5655-11ee-8801-675ed0f8e89b"},"arrayField":["yJdkVuYs","mqmmPprFaB","cFrHIma","gKhXMdt","HGQNqshjvj","USzDU"],"boolField":true,"intField":-971,"numField":306.4118555465178,"objField":{"ADCxr":2222312238148100493,"CAqZGNoc":-1023732959446675026,"ISYuzn":-5703338282870329825,"KRRJmPR":-2131752003761160163,"haBTxW":8747400416770468155,"oCSyJlUMc":8567035648234141655},"stringDateField":"1941-01-11","stringDateTimeField":"1992-02-28T21:17:01Z","stringField":"gMdt","stringTimeField":"18:25:51.31Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":-971,"numField":306.4118555465178,"stringDateField":"1941-01-11","stringDateTimeField":"1992-02-28T21:17:01Z","stringField":"gMdt","stringTimeField":"18:25:51.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":658,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":658,"uuid":"9de3e412-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["XefVf","sEjoh","VRZh","eJJEGaJO","xcgVynTue","wKHbBjT"],"boolField":true,"intField":969,"numField":310.4141210987006,"objField":{"mGfubNasT":-7484195851730989517,"piZqrlN":8488461654661824407,"qavXCUTz":-1364854253821035951,"vDPVJdlfEe":-3285631904462687859},"stringDateField":"1954-09-15","stringDateTimeField":"1979-03-03T15:44:53Z","stringField":"kojB","stringTimeField":"07:17:48.39Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":969,"numField":310.4141210987006,"stringDateField":"1954-09-15","stringDateTimeField":"1979-03-03T15:44:53Z","stringField":"kojB","stringTimeField":"07:17:48.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":659,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":659,"uuid":"9de3e412-5655-11ee-9001-675ed0f8e89b"},"arrayField":["UBuGOvHl","lZNOYgONbG","vOvzg","XDVmV","DjOGuUek","VEFFpLNf","WJEauRaQUH","eISz","kzpR","pkEiV"],"boolField":true,"intField":891,"numField":-562.7484949496638,"objField":{"EMfxYrJzl":-5366852776251440577,"GFXADgJHd":7628319620321789518,"jVYXRKExa":-7575934881573512481,"kWwOdh":-355175252249578598},"stringDateField":"2012-08-16","stringDateTimeField":"1960-04-17T02:56:28Z","stringField":"qWAbA","stringTimeField":"15:12:00.29Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":891,"numField":-562.7484949496638,"stringDateField":"2012-08-16","stringDateTimeField":"1960-04-17T02:56:28Z","stringField":"qWAbA","stringTimeField":"15:12:00.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":660,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":660,"uuid":"9de3e412-5655-11ee-9401-675ed0f8e89b"},"arrayField":["tMoMIOLp","lWZbf","TsBUKODwEL"],"boolField":true,"intField":800,"numField":588.0655715189231,"objField":{"JRHQEKkzwa":-9197682186183888253,"dlzhBb":-5662546240862846602},"stringDateField":"1901-01-24","stringDateTimeField":"1951-11-10T20:38:55Z","stringField":"wEAw","stringTimeField":"14:38:55.27Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":800,"numField":588.0655715189231,"stringDateField":"1901-01-24","stringDateTimeField":"1951-11-10T20:38:55Z","stringField":"wEAw","stringTimeField":"14:38:55.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":661,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":661,"uuid":"9de3e412-5655-11ee-9801-675ed0f8e89b"},"arrayField":["XXwSqj","EtKFa","FiJA","XIZVtbT","QZNjmR","ZksKWQbSF","pcBcK","EkyLyiMd"],"boolField":false,"intField":-810,"numField":821.4707182237495,"objField":{"DMcgynh":1595025700485963702,"HDIqy":-529737062810662965,"PiwpChT":-4326777355685859772,"UdNHWvLb":574987394230892628,"WqGrEZ":-3134923912913328695,"jLcPDEo":7354799312917529691,"yBWEuN":7560597278697105532},"stringDateField":"1929-03-18","stringDateTimeField":"1939-11-04T20:07:48Z","stringField":"yWXL","stringTimeField":"00:24:54.48Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":-810,"numField":821.4707182237495,"stringDateField":"1929-03-18","stringDateTimeField":"1939-11-04T20:07:48Z","stringField":"yWXL","stringTimeField":"00:24:54.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":662,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":662,"uuid":"9de3e412-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["XbeASKWAbD","uTzQp","CvfiojN","HigDsfq"],"boolField":true,"intField":159,"numField":-495.1114586861517,"objField":{"PwNJwnlw":-7529003881397299557,"PzLxSZRD":-3563019483930187521,"RXrzxl":-6270236228060077827,"WleT":-7372912940331748980,"bCdZFyymC":2969478416464307460,"msZYY":-2413444256994161891,"zpLEH":-3735421375362545366},"stringDateField":"1969-05-03","stringDateTimeField":"1982-12-31T12:20:01Z","stringField":"ASWgj","stringTimeField":"22:19:54.44Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":159,"numField":-495.1114586861517,"stringDateField":"1969-05-03","stringDateTimeField":"1982-12-31T12:20:01Z","stringField":"ASWgj","stringTimeField":"22:19:54.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":663,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":663,"uuid":"9de3e412-5655-11ee-a001-675ed0f8e89b"},"arrayField":["vnrqOVUnw","FwnrKEU","mHjNkcxgvS","dadKuT","uDIyntjfN","TtOlsRmRV","pHyqHdBhl","HaXuNTowj"],"boolField":false,"intField":-516,"numField":-542.5836737274564,"objField":{"zajbM":-5129078910025841399},"stringDateField":"1993-03-04","stringDateTimeField":"1964-12-01T02:35:37Z","stringField":"pneSrjZrzI","stringTimeField":"22:23:40.15Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":-516,"numField":-542.5836737274564,"stringDateField":"1993-03-04","stringDateTimeField":"1964-12-01T02:35:37Z","stringField":"pneSrjZrzI","stringTimeField":"22:23:40.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":664,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":664,"uuid":"9de3e412-5655-11ee-a401-675ed0f8e89b"},"arrayField":["cNDlWxZG","KiTHQx","ABzejji","yLXw","qVSNvEu","GnEiw","oiFq","PAywl"],"boolField":false,"intField":-843,"numField":212.1924765447012,"objField":{"SpJakOxyO":-7970329188208400497,"WmHdpxLRO":2395682487457168837,"djaC":2682588345311936128,"miRT":8787394222808866493,"yjQzZN":-9192032578333733293},"stringDateField":"1917-03-09","stringDateTimeField":"1933-04-13T18:07:26Z","stringField":"gfJPB","stringTimeField":"11:03:23.17Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":-843,"numField":212.1924765447012,"stringDateField":"1917-03-09","stringDateTimeField":"1933-04-13T18:07:26Z","stringField":"gfJPB","stringTimeField":"11:03:23.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":665,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":665,"uuid":"9de3e412-5655-11ee-a801-675ed0f8e89b"},"arrayField":["fDedEbudt","pErhZcY","ezkErq","bpXtemSQL","QcUOLOkNN","wSYZ","sECtzwuEo","TSZdVco"],"boolField":true,"intField":-785,"numField":113.91232555004648,"objField":{"AOjcl":-7787866860867986435,"BfJbpwRiF":-1369713555143557717,"JNbaJSqpkV":6804567541672750452,"XGtjxaZe":-5545372489285701345,"dGCA":5282642338013542214},"stringDateField":"2005-11-10","stringDateTimeField":"1963-08-01T18:24:10Z","stringField":"EYYdddLa","stringTimeField":"16:52:49.28Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":-785,"numField":113.91232555004648,"stringDateField":"2005-11-10","stringDateTimeField":"1963-08-01T18:24:10Z","stringField":"EYYdddLa","stringTimeField":"16:52:49.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":666,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":666,"uuid":"9de3e412-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["DvvhMj","BQNWH","FTDhA","irUWPwSo","hippeUHDpG","rYjZCOhK","FIJkH","bNLSPw","JLkroWRR"],"boolField":true,"intField":971,"numField":-274.33173917430895,"objField":{"HlJin":988709473451707921,"LeDOT":6658149889087663063,"NwROCjZk":-8173916673099888289,"aHZP":1290203928948743428,"oVpCVWjSU":-552340760504613493,"xPALvUKI":-8575535213892120591,"yxjjuOIvzF":3518071942406779268},"stringDateField":"1928-09-12","stringDateTimeField":"1925-10-17T12:43:45Z","stringField":"jlfIDtYmb","stringTimeField":"16:25:53.33Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":971,"numField":-274.33173917430895,"stringDateField":"1928-09-12","stringDateTimeField":"1925-10-17T12:43:45Z","stringField":"jlfIDtYmb","stringTimeField":"16:25:53.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":667,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":667,"uuid":"9de3e412-5655-11ee-b001-675ed0f8e89b"},"arrayField":["cXXD","hxTXXdhB","SMXoTNpIFc","QaVP","GkrsI","XcrYiDbbRp","HZHnv","jLUAU","jRoTkFRH"],"boolField":false,"intField":-667,"numField":219.17151804841905,"objField":{"GbFLTCS":-3746918297743528690,"XetcVFfknQ":-8603455018077630347,"feaXdqHBN":-5445348482533148300,"rmNHVt":-8393995011599175981},"stringDateField":"2014-03-25","stringDateTimeField":"1982-04-19T01:09:09Z","stringField":"iQkJV","stringTimeField":"22:17:28.16Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":-667,"numField":219.17151804841905,"stringDateField":"2014-03-25","stringDateTimeField":"1982-04-19T01:09:09Z","stringField":"iQkJV","stringTimeField":"22:17:28.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":668,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":668,"uuid":"9de3e412-5655-11ee-b401-675ed0f8e89b"},"arrayField":["QLOLdc"],"boolField":true,"intField":-397,"numField":2.2002719057443443,"objField":{"DSRWccT":-4874163537500785080,"DzJcmg":174343190283604108,"GhmNdQQ":-7877432232413763197,"HOXdIZj":-1656229369991548840,"LfTrjPC":1338195228193946834,"gmcvk":7909762358901265055,"nYnxduHce":-959096725725319791,"sfdYB":-1136767034728018064,"vtLE":2788958236656011587,"wUtPD":1482838694456504685},"stringDateField":"2016-03-15","stringDateTimeField":"2023-11-06T08:57:05Z","stringField":"fekQSRiC","stringTimeField":"16:28:30.41Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":-397,"numField":2.2002719057443443,"stringDateField":"2016-03-15","stringDateTimeField":"2023-11-06T08:57:05Z","stringField":"fekQSRiC","stringTimeField":"16:28:30.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":669,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":669,"uuid":"9de3e412-5655-11ee-b801-675ed0f8e89b"},"arrayField":["utpDFHFLa","oPQabC","NygUVZ","LzJF","gScCtBzXn","zXVjgKEFQ","TRci","AriGCrLe","BjHlL","TCDq"],"boolField":false,"intField":593,"numField":474.66438744989415,"objField":{"INAie":-6941148089568501789,"aEOlF":-7864926330763261439,"eWBXE":7238866394795231881,"wizk":1227328664019088056},"stringDateField":"1988-06-13","stringDateTimeField":"1942-04-11T17:59:23Z","stringField":"PBzDdnjXnx","stringTimeField":"06:47:46.20Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":593,"numField":474.66438744989415,"stringDateField":"1988-06-13","stringDateTimeField":"1942-04-11T17:59:23Z","stringField":"PBzDdnjXnx","stringTimeField":"06:47:46.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":670,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":670,"uuid":"9de3e412-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["wYkNUsnV","JjIghjJqD","JzUnTp","gOXwEMj","kqUpy","OvNM","dtfdgt"],"boolField":true,"intField":-356,"numField":-300.8643787514921,"objField":{"EGFy":-8105009317805293727,"FhdyZbw":-6656375995860216094,"FiKCKjn":-5784716149209756627,"HaGtw":-3626467659110896906,"ORdXdg":-3553336484863569948,"SQTJ":3945912504182760795,"uZZo":4277002029190574186,"wRIcmyPj":-6006918434624601371},"stringDateField":"2007-07-02","stringDateTimeField":"1955-11-11T16:01:16Z","stringField":"lPfaPqqm","stringTimeField":"12:34:42.37Z"},"flow_published_at":"2023-09-18T19:00:21.623093Z","intField":-356,"numField":-300.8643787514921,"stringDateField":"2007-07-02","stringDateTimeField":"1955-11-11T16:01:16Z","stringField":"lPfaPqqm","stringTimeField":"12:34:42.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":671,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":671,"uuid":"9de3e413-5655-11ee-8001-675ed0f8e89b"},"arrayField":["rpgjeNa","lsBMGpPMB","oyrBOqy","gnCTCwfb"],"boolField":true,"intField":251,"numField":-608.2064951624811,"objField":{"DLMrnZb":-2395244172986874041,"GqSAutlfGx":-4610179416311107896,"XUjjZKV":811208226527820075,"oKbfDgoB":7657950251257456701,"vdFFYFO":-9007543986128241683},"stringDateField":"2020-09-03","stringDateTimeField":"1982-02-11T03:11:20Z","stringField":"KMFfwrgRQ","stringTimeField":"19:23:13.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":251,"numField":-608.2064951624811,"stringDateField":"2020-09-03","stringDateTimeField":"1982-02-11T03:11:20Z","stringField":"KMFfwrgRQ","stringTimeField":"19:23:13.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":672,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":672,"uuid":"9de3e413-5655-11ee-8401-675ed0f8e89b"},"arrayField":["pdzx"],"boolField":false,"intField":809,"numField":266.540102925779,"objField":{"tZlBJz":7560516115301377894},"stringDateField":"1997-01-04","stringDateTimeField":"1932-10-25T05:13:30Z","stringField":"cZnwmkbI","stringTimeField":"11:04:13.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":809,"numField":266.540102925779,"stringDateField":"1997-01-04","stringDateTimeField":"1932-10-25T05:13:30Z","stringField":"cZnwmkbI","stringTimeField":"11:04:13.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":673,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":673,"uuid":"9de3e413-5655-11ee-8801-675ed0f8e89b"},"arrayField":["jsvTBTVDZ","Pckk","AASqJlTR","XKmo","TZgQeL","YqvT","XvTa"],"boolField":false,"intField":-599,"numField":427.0395444054524,"objField":{"DKBVezXgg":1474935447299746166,"LbkMvxYW":4617278248286928048,"eCkTlsdZx":8326164596922000426,"eELPxDe":5845339114737174530,"mNRVPSiT":3259689211298144001},"stringDateField":"2007-10-07","stringDateTimeField":"1911-02-20T16:01:37Z","stringField":"qdlPzYmc","stringTimeField":"06:12:02.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":-599,"numField":427.0395444054524,"stringDateField":"2007-10-07","stringDateTimeField":"1911-02-20T16:01:37Z","stringField":"qdlPzYmc","stringTimeField":"06:12:02.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":674,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":674,"uuid":"9de3e413-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["FDfBO","kZUfOmOMUH","snPMAk","xIgf","LUkG"],"boolField":true,"intField":163,"numField":943.4828680317718,"objField":{"AivMi":6795998696641871136,"Czhh":9030645870898217891,"IlKZC":8534962743704626258,"Qacm":-2655029910958646167,"RhttHqI":7459268397575367762,"SERvMJdLH":-1770855165613455822,"aKPy":-4089817449448247207,"ldZpHnDEc":-6384187169880712739,"mBAMZw":6415156946822583517,"rmjuUBOh":-1895678832286508267},"stringDateField":"2018-09-10","stringDateTimeField":"1906-07-16T16:37:55Z","stringField":"RfFeheZeF","stringTimeField":"22:40:46.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":163,"numField":943.4828680317718,"stringDateField":"2018-09-10","stringDateTimeField":"1906-07-16T16:37:55Z","stringField":"RfFeheZeF","stringTimeField":"22:40:46.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":675,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":675,"uuid":"9de3e413-5655-11ee-9001-675ed0f8e89b"},"arrayField":["keEkDjLhc","rgXRZ","blVtdADXJH","ZplGWugkd","AJNxN","dGvBvBHOec","FVUBsIc","tGITZ","JvfXQ","kEQUIk"],"boolField":false,"intField":-893,"numField":-717.3323394079656,"objField":{"AolAOiLlZ":7039001526536069955,"WHFBFPoKd":3704576049397845282,"aIydyNaE":5293886534069363079,"heouyyPZb":-7632482465517400384,"kKSQm":6436641401367977128,"lMMPIOoCFM":-6537011331938657452,"lezeMxfb":4316476276793705170},"stringDateField":"1969-09-12","stringDateTimeField":"1924-02-10T23:29:51Z","stringField":"eqlPkGw","stringTimeField":"06:06:36.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":-893,"numField":-717.3323394079656,"stringDateField":"1969-09-12","stringDateTimeField":"1924-02-10T23:29:51Z","stringField":"eqlPkGw","stringTimeField":"06:06:36.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":676,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":676,"uuid":"9de3e413-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ZECmhi","xCxvMbFK","NFHEOPZe","KYhBcUTBps","MTPOfCAuJ","uczCTD","fkdhvDivG","BupUGnr","jGNSW","uHuj"],"boolField":false,"intField":-746,"numField":361.4839666244094,"objField":{"IPwV":-1830088348625761922,"KJZRlft":5022589901090415486,"NcRLa":-2895193270773810928,"QCaCY":-173591676651369570,"RmRFNG":-2903347542655709971,"SIlZvQF":-5695506681339227397,"cOsAxJ":-8891422921929601399,"ikaG":-4543692047179773958,"nOPCgpX":-1827863775566766869,"oBSCsZQ":-3993398580957991103},"stringDateField":"1913-05-15","stringDateTimeField":"1980-07-01T08:05:21Z","stringField":"KEUWMrAbQK","stringTimeField":"02:37:18.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":-746,"numField":361.4839666244094,"stringDateField":"1913-05-15","stringDateTimeField":"1980-07-01T08:05:21Z","stringField":"KEUWMrAbQK","stringTimeField":"02:37:18.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":677,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":677,"uuid":"9de3e413-5655-11ee-9801-675ed0f8e89b"},"arrayField":["FQmPMY","TGuWceVx","eEfMyd","ZfAdaUNP","Eptw","MKOrKSAER","DBDKad"],"boolField":false,"intField":138,"numField":-337.1226154260313,"objField":{"BYzswx":49909672071283096,"JQBnWJCcib":7657224636004288255,"aPaNqAZBFF":7413358464676152580,"eLGjPZZSPT":-8028857922255634657,"lKoSwA":5988431307003173739,"ysnPRJTC":1066542127704599043},"stringDateField":"1952-02-05","stringDateTimeField":"1977-08-26T08:30:35Z","stringField":"QfNXFTAZQ","stringTimeField":"04:54:10.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":138,"numField":-337.1226154260313,"stringDateField":"1952-02-05","stringDateTimeField":"1977-08-26T08:30:35Z","stringField":"QfNXFTAZQ","stringTimeField":"04:54:10.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":678,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":678,"uuid":"9de3e413-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["TiNmsvSwO","jJsstBvUPy","gmREVjzsAH","mJXBrEaC","vkeUtjfK","QSayMgh","OoEukvpBc","xmdqbMBt"],"boolField":true,"intField":955,"numField":-253.27909555756668,"objField":{"KiXOZimcI":-75533763160758698,"Utkrs":-1321461851303547373},"stringDateField":"1910-04-20","stringDateTimeField":"1915-05-01T22:34:48Z","stringField":"GpPzxzT","stringTimeField":"23:11:18.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":955,"numField":-253.27909555756668,"stringDateField":"1910-04-20","stringDateTimeField":"1915-05-01T22:34:48Z","stringField":"GpPzxzT","stringTimeField":"23:11:18.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":679,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":679,"uuid":"9de3e413-5655-11ee-a001-675ed0f8e89b"},"arrayField":["FmTJK","jDGiAHLNo","wQiElm","pATw","MIAiwYT","LWxIp","yIQyxwjn"],"boolField":false,"intField":-601,"numField":82.21564090167655,"objField":{"DXNwJ":-7358368647982724609,"SkVJRYzs":1778370949939778153,"kaet":-1620807456303433633,"utgkdSFKdZ":4389994266079539545,"vYgGxdK":-1946816610955487898,"zAALpRFxLS":8343252695261569214},"stringDateField":"1974-08-29","stringDateTimeField":"1906-07-07T23:13:18Z","stringField":"SDEJf","stringTimeField":"16:23:23.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":-601,"numField":82.21564090167655,"stringDateField":"1974-08-29","stringDateTimeField":"1906-07-07T23:13:18Z","stringField":"SDEJf","stringTimeField":"16:23:23.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":680,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":680,"uuid":"9de3e413-5655-11ee-a401-675ed0f8e89b"},"arrayField":["UmpriTX","Kgaw","nuOojauq","zGcGd","lhZznRp","npIWzD","EHeqzHBGV","PNbsUYPh"],"boolField":false,"intField":87,"numField":-253.43887541698228,"objField":{"CmGOCSaO":2543231115154156217,"NGeTs":5304480076152170606},"stringDateField":"2007-10-19","stringDateTimeField":"1951-03-22T05:01:02Z","stringField":"xVyRL","stringTimeField":"04:00:33.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":87,"numField":-253.43887541698228,"stringDateField":"2007-10-19","stringDateTimeField":"1951-03-22T05:01:02Z","stringField":"xVyRL","stringTimeField":"04:00:33.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":681,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":681,"uuid":"9de3e413-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nhDkyEIvG","JGqMuOYspx","fupixYKC","yvTQWOic","duvus","PLlMNDq","AXvsAZ","rwfFN"],"boolField":false,"intField":-537,"numField":617.8919429199501,"objField":{"HIXjhKfKaa":8363414684096004529,"MlyHOYdO":6341414724011085632,"QRvsxpHK":6699759845429609197,"bxCZjmQVbo":3309932511200934025,"cktx":-2747001842318189780,"eTtNCKQ":1649285917993969391},"stringDateField":"1988-10-04","stringDateTimeField":"1941-04-18T00:33:52Z","stringField":"IYomt","stringTimeField":"09:38:58.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":-537,"numField":617.8919429199501,"stringDateField":"1988-10-04","stringDateTimeField":"1941-04-18T00:33:52Z","stringField":"IYomt","stringTimeField":"09:38:58.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":682,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":682,"uuid":"9de3e413-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["jStgU","tlnYU","VkPFVI"],"boolField":true,"intField":-642,"numField":197.82026629979876,"objField":{"FicUI":2007347607919138603,"OGnIoL":1972028999196200752,"cGnY":597979359803746292,"dKTA":7905876316273577036,"rhsLjJo":3145294153263421239,"tJQPS":-8483080994500824484},"stringDateField":"1905-09-23","stringDateTimeField":"1981-06-24T02:05:57Z","stringField":"ELVm","stringTimeField":"16:52:07.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":-642,"numField":197.82026629979876,"stringDateField":"1905-09-23","stringDateTimeField":"1981-06-24T02:05:57Z","stringField":"ELVm","stringTimeField":"16:52:07.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":683,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":683,"uuid":"9de3e413-5655-11ee-b001-675ed0f8e89b"},"arrayField":["zQbAgNoN","mvBHtrWYaq","jnYcuNXZVK","uzGJzEC","ELYh","jgWaJ","esYLdawqyE","byBDjIPrii","RfWZCBhsSF","gBAT"],"boolField":false,"intField":-887,"numField":-724.1533399108889,"objField":{"NmJKRi":1096170649464139449,"ZdUNNOUku":-7002167906645614327,"acJVET":-2399255218457211457},"stringDateField":"1970-12-22","stringDateTimeField":"1948-05-10T11:38:24Z","stringField":"JkFKp","stringTimeField":"22:45:32.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":-887,"numField":-724.1533399108889,"stringDateField":"1970-12-22","stringDateTimeField":"1948-05-10T11:38:24Z","stringField":"JkFKp","stringTimeField":"22:45:32.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":684,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":684,"uuid":"9de3e413-5655-11ee-b401-675ed0f8e89b"},"arrayField":["NjrToVs","mFKX","DXmcaTKD","YmMFWnQ"],"boolField":true,"intField":-843,"numField":24.14869831942612,"objField":{"BXIklEFb":8223267809105991346,"dCXuF":5375604573484317083,"stJTkjdyi":7848047944880196615},"stringDateField":"1948-10-16","stringDateTimeField":"2006-03-03T09:16:01Z","stringField":"DUAbcB","stringTimeField":"08:15:55.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":-843,"numField":24.14869831942612,"stringDateField":"1948-10-16","stringDateTimeField":"2006-03-03T09:16:01Z","stringField":"DUAbcB","stringTimeField":"08:15:55.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":685,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":685,"uuid":"9de3e413-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ZuQsdFmUS","iNXVp","TzMYEE","tgpYOn","hgTjBvcyC","TEySgES"],"boolField":true,"intField":-592,"numField":-327.62324619973236,"objField":{"gkwTAYjwsM":-3748956317376822626},"stringDateField":"2022-02-20","stringDateTimeField":"2004-01-04T04:05:33Z","stringField":"lLqupb","stringTimeField":"15:19:17.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":-592,"numField":-327.62324619973236,"stringDateField":"2022-02-20","stringDateTimeField":"2004-01-04T04:05:33Z","stringField":"lLqupb","stringTimeField":"15:19:17.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":686,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":686,"uuid":"9de3e413-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["zNjTwK","keXnHfssd","nviu","JqZW","GFGTfW","iyGdBhz","VjfgLcR","cELVgye"],"boolField":false,"intField":291,"numField":905.9606982768548,"objField":{"cvezqZ":-8315835405477859166,"jATH":-5225820644649434590,"vNlSDIy":3467798037228555364},"stringDateField":"1951-08-19","stringDateTimeField":"1906-12-14T00:31:52Z","stringField":"agqhlm","stringTimeField":"17:59:49.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230931Z","intField":291,"numField":905.9606982768548,"stringDateField":"1951-08-19","stringDateTimeField":"1906-12-14T00:31:52Z","stringField":"agqhlm","stringTimeField":"17:59:49.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":687,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":687,"uuid":"9de3e414-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wgWHcUCY","OVrDxo","lpMX","BnmzhqqlLB","mIsiJcOux","tQAJoyW","tzOwsrEkhg","HuZBEqtaCj","wdkQRVEiQO","LtanoqhvRB"],"boolField":true,"intField":-56,"numField":-662.1947522745745,"objField":{"FNwcvRzda":-3508744805201416649,"VVxkGyd":9098776634611294674,"cCsCSMQ":2263832802484195032,"enuUoLE":5864185662706000429},"stringDateField":"1994-07-29","stringDateTimeField":"1915-10-23T23:40:47Z","stringField":"YXJJJSPui","stringTimeField":"23:37:35.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":-56,"numField":-662.1947522745745,"stringDateField":"1994-07-29","stringDateTimeField":"1915-10-23T23:40:47Z","stringField":"YXJJJSPui","stringTimeField":"23:37:35.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":688,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":688,"uuid":"9de3e414-5655-11ee-8401-675ed0f8e89b"},"arrayField":["JhdvIxF","puIUGJO","Lhdyeb","PWSqbiCP"],"boolField":true,"intField":674,"numField":377.199186733292,"objField":{"DRZUx":-990291145184478599,"ShGbBk":-8266799123148928010,"VLtOMhgYTV":-2348343810533555472},"stringDateField":"1965-01-29","stringDateTimeField":"1909-12-31T12:42:12Z","stringField":"mPCpqKXL","stringTimeField":"22:00:41.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":674,"numField":377.199186733292,"stringDateField":"1965-01-29","stringDateTimeField":"1909-12-31T12:42:12Z","stringField":"mPCpqKXL","stringTimeField":"22:00:41.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":689,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":689,"uuid":"9de3e414-5655-11ee-8801-675ed0f8e89b"},"arrayField":["rxUxkE"],"boolField":false,"intField":-545,"numField":70.64106908243505,"objField":{"NOcscka":5136307840397987452,"eJdSubiCRo":-5072090847809525383},"stringDateField":"2004-08-10","stringDateTimeField":"2004-05-13T03:48:43Z","stringField":"rVxUDikM","stringTimeField":"14:32:35.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":-545,"numField":70.64106908243505,"stringDateField":"2004-08-10","stringDateTimeField":"2004-05-13T03:48:43Z","stringField":"rVxUDikM","stringTimeField":"14:32:35.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":690,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":690,"uuid":"9de3e414-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["VtMcjrc","gvmvQQDvs","icuNh","LCohm","IsSvUrNNVW","zFPUcT"],"boolField":true,"intField":96,"numField":6.559651075957129,"objField":{"CTbmAwCaxK":-3492715510420873617,"ERpGRl":4017232135553836958,"Gmmh":545852160048878193,"WmOAHQNtkU":3192870203792808600,"XNGdKm":1493228156544603134,"dWBiEHavS":-3421140403965531300,"eZkh":4060813359799496977,"ebxBiZE":-2921571175165718243,"iKlGvlgDyE":-5785594633698032311,"xBvo":-3011768806442542525},"stringDateField":"2021-06-07","stringDateTimeField":"1928-01-25T02:34:37Z","stringField":"qUiSWrKIK","stringTimeField":"18:12:06.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":96,"numField":6.559651075957129,"stringDateField":"2021-06-07","stringDateTimeField":"1928-01-25T02:34:37Z","stringField":"qUiSWrKIK","stringTimeField":"18:12:06.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":691,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":691,"uuid":"9de3e414-5655-11ee-9001-675ed0f8e89b"},"arrayField":["NgsyXpb","hESEl","CopyMu","kGLihEdF","puJjqvsY","MAfqRLbsP","eIYpvBvn"],"boolField":true,"intField":-168,"numField":-168.29199283745444,"objField":{"BrHZFZe":8159124501516349023,"LGWiQC":-7374424546765387746,"YulCbXjc":-6180807200086709325,"amRlKIR":5830036513090701976,"bwEQxl":4453797170703234333,"lmkeEsv":2894759843169397367,"mMxmQKs":8352293358111344790,"rUME":-7025128752615386351,"wTFjTm":8838978715684912376},"stringDateField":"1941-10-15","stringDateTimeField":"1934-02-10T07:03:10Z","stringField":"xZExDYmg","stringTimeField":"18:26:58.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":-168,"numField":-168.29199283745444,"stringDateField":"1941-10-15","stringDateTimeField":"1934-02-10T07:03:10Z","stringField":"xZExDYmg","stringTimeField":"18:26:58.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":692,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":692,"uuid":"9de3e414-5655-11ee-9401-675ed0f8e89b"},"arrayField":["mqtJlrbUV","hPpC","EIUfDNEvga","IbrBz","DTninKsDq","DqVIOWNY","ZXFVWhl","OXEHKYKQt","OiWoBK"],"boolField":true,"intField":615,"numField":600.9731352306371,"objField":{"GbJgeA":-7174445256506383054,"VaAA":6973268902163714526,"cYlDyl":-5360639175223611015,"dQCGf":-6817481062416135642,"eSTV":-8432777928076825934,"jgGxLziFXG":-3258534584233466680,"sgdLrwgQ":-5693664817536611419,"wTzqv":-8712868182020880552,"xjLa":3205296655411631490,"yAPlay":1478622708886930645},"stringDateField":"1964-12-27","stringDateTimeField":"1918-01-18T21:06:19Z","stringField":"GoeiBPni","stringTimeField":"02:38:17.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":615,"numField":600.9731352306371,"stringDateField":"1964-12-27","stringDateTimeField":"1918-01-18T21:06:19Z","stringField":"GoeiBPni","stringTimeField":"02:38:17.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":693,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":693,"uuid":"9de3e414-5655-11ee-9801-675ed0f8e89b"},"arrayField":["nMJBTX","sDTIYpji","sFerHNZKEi","fcqXRbag","eWRh","clCCHNdko","CQcJBmPMfL","kfNJTcCUEC","DGBo"],"boolField":true,"intField":-677,"numField":-126.86832812633952,"objField":{"afkT":3410321242039846910,"eFkbHVnOW":-2715822673210448498},"stringDateField":"1957-05-15","stringDateTimeField":"1975-11-21T19:18:07Z","stringField":"ojfgM","stringTimeField":"22:46:44.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":-677,"numField":-126.86832812633952,"stringDateField":"1957-05-15","stringDateTimeField":"1975-11-21T19:18:07Z","stringField":"ojfgM","stringTimeField":"22:46:44.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":694,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":694,"uuid":"9de3e414-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["TqaV","erNddDOZIq","WZzr"],"boolField":false,"intField":457,"numField":368.3747034527845,"objField":{"HwICYBDrk":-2261176975198149579,"JBduI":3372157027807138211,"RRSCOI":3088593301193290151,"UwKjoxDhJ":-2582535170475581824,"YUrCeO":-7574079415231257049,"YdLScQAUw":4768510081076005812,"dIGJNKabAl":-8869448025860824826,"uDuMWDOt":2083694053843415433,"uVAx":-7206987642550016499},"stringDateField":"1980-03-05","stringDateTimeField":"1982-02-07T17:50:06Z","stringField":"iluJdZKXVM","stringTimeField":"19:39:09.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":457,"numField":368.3747034527845,"stringDateField":"1980-03-05","stringDateTimeField":"1982-02-07T17:50:06Z","stringField":"iluJdZKXVM","stringTimeField":"19:39:09.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":695,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":695,"uuid":"9de3e414-5655-11ee-a001-675ed0f8e89b"},"arrayField":["mrfltJ","KAPFR","HelvAE"],"boolField":true,"intField":-470,"numField":-62.151583806664966,"objField":{"QKDxlL":804540266738393798,"hPvMzsDWiD":-5856876674565031768,"pWOwqES":-4644946584831972664,"yvChJNGi":5079370169510240794},"stringDateField":"1940-03-01","stringDateTimeField":"2008-09-12T03:29:54Z","stringField":"rRdzSHf","stringTimeField":"05:47:54.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":-470,"numField":-62.151583806664966,"stringDateField":"1940-03-01","stringDateTimeField":"2008-09-12T03:29:54Z","stringField":"rRdzSHf","stringTimeField":"05:47:54.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":696,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":696,"uuid":"9de3e414-5655-11ee-a401-675ed0f8e89b"},"arrayField":["tqtco","VnFwnGM","dVOof","thudze","nBHBYYmW","VtpaUoyTc"],"boolField":false,"intField":148,"numField":-614.2588398637827,"objField":{"ESWHYA":-8479512941566030464,"JZZtI":6003504124359981317,"UnnFeWE":8228732175203561838,"oSDSE":-4465317143434217975},"stringDateField":"1998-03-07","stringDateTimeField":"1951-01-08T10:48:53Z","stringField":"iNcrvgc","stringTimeField":"03:45:52.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":148,"numField":-614.2588398637827,"stringDateField":"1998-03-07","stringDateTimeField":"1951-01-08T10:48:53Z","stringField":"iNcrvgc","stringTimeField":"03:45:52.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":697,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":697,"uuid":"9de3e414-5655-11ee-a801-675ed0f8e89b"},"arrayField":["xKvoLiQ","XBgwZgxU","YTXA","zZCJcfm","EvtHseOyoW","yjRji","dhOPTuqbE","QgbzGedLR","dYZZr","lWHIxFwCX"],"boolField":true,"intField":-176,"numField":-602.5184921545878,"objField":{"HGIy":1337677096805296833,"YEGoVy":-5931878706975080023,"cOghvpRo":-8623730009466142782,"sMTtPfem":2257253662088910696},"stringDateField":"1918-06-10","stringDateTimeField":"1968-03-04T13:00:59Z","stringField":"rsuvAp","stringTimeField":"11:35:50.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":-176,"numField":-602.5184921545878,"stringDateField":"1918-06-10","stringDateTimeField":"1968-03-04T13:00:59Z","stringField":"rsuvAp","stringTimeField":"11:35:50.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":698,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":698,"uuid":"9de3e414-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["dNVRYqzxRE","TSaCGTwFL","lPjMRaAj","bqklGVNr","dAEbSRE","TMxVGLJc","Jgme","bXXadFGND","fvAed"],"boolField":false,"intField":181,"numField":871.5051434511898,"objField":{"Hjyae":-1387414892871606129,"ZKnvpidjgC":6329676983579650602,"apsJD":-6338952104153397478,"fUQnWZPKr":-5243268996341858606,"iBORoALWSQ":-6881018262238781054,"leEFHSSQB":-1583701619382168287,"npOr":8511159360811511862,"plKVKMu":7339283126682318104,"qOoIbXFJi":-7843141275675680837,"ttrECDaTA":3838373846646906802},"stringDateField":"1977-11-01","stringDateTimeField":"1909-06-02T14:12:17Z","stringField":"RHrzd","stringTimeField":"08:15:43.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":181,"numField":871.5051434511898,"stringDateField":"1977-11-01","stringDateTimeField":"1909-06-02T14:12:17Z","stringField":"RHrzd","stringTimeField":"08:15:43.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":699,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":699,"uuid":"9de3e414-5655-11ee-b001-675ed0f8e89b"},"arrayField":["TGbIOTtGf","ejVizSX","gXMPjMISt","GFRxZDfO","OtpeJXxv","otMRILn","DFSFBT","MdLeZaaiMc","wldVzK","MPNOjHFkSq"],"boolField":false,"intField":-397,"numField":316.71833366324,"objField":{"Bempmy":-1785540337608185080,"PdHE":495203641463590516,"WYwnFd":-1948916094831139247,"XLctEHZdRk":5487874281909075054,"lruuGgg":8251610770838448423,"nOTwPqJ":-5939687557300608684,"qmyJiq":-7467888650381602068,"vDRe":7710236909801911209},"stringDateField":"2004-06-02","stringDateTimeField":"1900-04-10T06:38:33Z","stringField":"ZaxSn","stringTimeField":"02:42:19.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":-397,"numField":316.71833366324,"stringDateField":"2004-06-02","stringDateTimeField":"1900-04-10T06:38:33Z","stringField":"ZaxSn","stringTimeField":"02:42:19.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":700,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":700,"uuid":"9de3e414-5655-11ee-b401-675ed0f8e89b"},"arrayField":["gkXvxky"],"boolField":true,"intField":-687,"numField":-885.4218490392553,"objField":{"OYCDuEa":9048009177023137442,"jokWe":-2356118501149763299,"nLAbAlI":6898995603701294875,"sjPj":3595180488322376600,"tuILWOBFe":-745011356677230858,"wrtNBTJfE":-6031493082611191908},"stringDateField":"1967-07-30","stringDateTimeField":"1911-09-19T06:07:24Z","stringField":"oSrB","stringTimeField":"19:26:58.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":-687,"numField":-885.4218490392553,"stringDateField":"1967-07-30","stringDateTimeField":"1911-09-19T06:07:24Z","stringField":"oSrB","stringTimeField":"19:26:58.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":701,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":701,"uuid":"9de3e414-5655-11ee-b801-675ed0f8e89b"},"arrayField":["NSqynILe","WKhLFQNIc","lPys"],"boolField":true,"intField":-522,"numField":611.3378707002022,"objField":{"HMwwLE":-7438004386582196359,"JLkBxvpsX":-5169913385043504812,"OqjhqCW":-148146536311372793,"ZJaaSx":-7263084973032873193,"ZgkmryTm":-1703794084560177464,"ptoOmHVUo":2869370983358949094,"wqGCDZK":1439291806140820668,"xTZyzBFR":-2471329809331583075},"stringDateField":"2000-12-05","stringDateTimeField":"1901-02-08T04:53:16Z","stringField":"jRMHYhnN","stringTimeField":"19:33:43.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":-522,"numField":611.3378707002022,"stringDateField":"2000-12-05","stringDateTimeField":"1901-02-08T04:53:16Z","stringField":"jRMHYhnN","stringTimeField":"19:33:43.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":702,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":702,"uuid":"9de3e414-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["FOlrNbuPtv"],"boolField":false,"intField":154,"numField":222.9125452847438,"objField":{"GHMxNUdXQG":-4572023388329563272,"QAgcga":-3076065337969872936,"dwWEw":-6823776852275920449,"kDlRyTl":2907139146437472048,"rfTjj":-4103868019222611677},"stringDateField":"1909-08-28","stringDateTimeField":"1952-12-03T07:43:57Z","stringField":"hcufKFx","stringTimeField":"07:56:48.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230932Z","intField":154,"numField":222.9125452847438,"stringDateField":"1909-08-28","stringDateTimeField":"1952-12-03T07:43:57Z","stringField":"hcufKFx","stringTimeField":"07:56:48.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":703,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":703,"uuid":"9de3e415-5655-11ee-8001-675ed0f8e89b"},"arrayField":["VgblohAx","BQBExtggLo","VqnepNy","SGKsrf","vJHrH"],"boolField":false,"intField":-454,"numField":43.01690967663219,"objField":{"xvhQMyXJ":3124007226213892317},"stringDateField":"1948-01-17","stringDateTimeField":"1974-11-13T09:13:02Z","stringField":"PulAfCvQBA","stringTimeField":"14:11:50.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":-454,"numField":43.01690967663219,"stringDateField":"1948-01-17","stringDateTimeField":"1974-11-13T09:13:02Z","stringField":"PulAfCvQBA","stringTimeField":"14:11:50.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":704,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":704,"uuid":"9de3e415-5655-11ee-8401-675ed0f8e89b"},"arrayField":["dIUrFr","SriHQYv","MPlhlUSGWT","qGFbDCqnA"],"boolField":true,"intField":-784,"numField":544.2157118516311,"objField":{"AZTfiKQ":-7169939730833517591,"OTjPLPvIk":-1028526056514209172,"Pjugr":-4500443184317746965,"QfKUOLE":1266303948502496177,"SJZle":4273800487098439880,"WqSCA":-8434109502758686309,"uFyusM":-3029818917975524383},"stringDateField":"1903-04-25","stringDateTimeField":"1960-05-03T17:52:21Z","stringField":"qsBE","stringTimeField":"04:02:28.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":-784,"numField":544.2157118516311,"stringDateField":"1903-04-25","stringDateTimeField":"1960-05-03T17:52:21Z","stringField":"qsBE","stringTimeField":"04:02:28.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":705,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":705,"uuid":"9de3e415-5655-11ee-8801-675ed0f8e89b"},"arrayField":["OHCasBMauc","oryUpML","wURgPOslA","QEVYyESG","HvIvzoOmi"],"boolField":false,"intField":70,"numField":-691.5732880820732,"objField":{"RMcZKWLN":7432379083968191542,"RctpxhjS":4369587778472439916,"TQyb":-2433718610889996931,"fiWo":6809141990298612658,"kOkftXu":-4885763159364995572,"nJSOvGT":3217269306178647369},"stringDateField":"1987-11-30","stringDateTimeField":"1953-08-05T12:02:06Z","stringField":"odHT","stringTimeField":"01:39:49.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":70,"numField":-691.5732880820732,"stringDateField":"1987-11-30","stringDateTimeField":"1953-08-05T12:02:06Z","stringField":"odHT","stringTimeField":"01:39:49.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":706,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":706,"uuid":"9de3e415-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["DfUncvjgIE","KwqT","JckQLXZSiL","AitKM"],"boolField":false,"intField":715,"numField":-777.591919389484,"objField":{"CGDZ":-6668383891081613642,"CkfsN":3843086042714251803,"MMGvUo":5140994452853179249,"eVaUCVGMrX":-4541179155276913269,"ehRrrb":-5631515306323740567,"jVUspw":2812427257105187710,"qsoDZrwyL":3705247891412122067,"ttnaNc":6957120067632625255,"vWGeHXjI":-3395877188374924354},"stringDateField":"1983-04-04","stringDateTimeField":"1906-01-11T22:03:10Z","stringField":"fzHEMYcgqR","stringTimeField":"05:59:39.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":715,"numField":-777.591919389484,"stringDateField":"1983-04-04","stringDateTimeField":"1906-01-11T22:03:10Z","stringField":"fzHEMYcgqR","stringTimeField":"05:59:39.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":707,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":707,"uuid":"9de3e415-5655-11ee-9001-675ed0f8e89b"},"arrayField":["uMiXBjg","eLwlaaxCFv","vNurJpv"],"boolField":false,"intField":709,"numField":409.0922481042492,"objField":{"Hfkrof":-9145584689748649029,"LkPV":-510443836830960812},"stringDateField":"1939-02-07","stringDateTimeField":"1932-12-10T11:37:47Z","stringField":"grTIBJqb","stringTimeField":"21:04:12.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":709,"numField":409.0922481042492,"stringDateField":"1939-02-07","stringDateTimeField":"1932-12-10T11:37:47Z","stringField":"grTIBJqb","stringTimeField":"21:04:12.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":708,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":708,"uuid":"9de3e415-5655-11ee-9401-675ed0f8e89b"},"arrayField":["MNOwEXNf","IGgCetuIYv","KGHqioL","dpuRKZiXWb"],"boolField":true,"intField":413,"numField":356.2027454665122,"objField":{"RDaWXtpJMN":5771004862560877799,"SIZuqpR":-8459589813716343559,"XNHRN":-5033715849744557611,"XRUTW":3721589435905169234,"cGTu":-4631418830170131232,"jMKZd":-6939344529790825401,"wbPZKv":-2623234875741615077},"stringDateField":"1912-07-23","stringDateTimeField":"1922-06-10T05:20:16Z","stringField":"yOczNOP","stringTimeField":"18:41:10.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":413,"numField":356.2027454665122,"stringDateField":"1912-07-23","stringDateTimeField":"1922-06-10T05:20:16Z","stringField":"yOczNOP","stringTimeField":"18:41:10.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":709,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":709,"uuid":"9de3e415-5655-11ee-9801-675ed0f8e89b"},"arrayField":["llzDVMbHq","uzif","uCGqBlO","IFVstYmvfR","koqrIo","jSQlHl"],"boolField":true,"intField":-332,"numField":572.230171021712,"objField":{"JTYC":3365207819468792864},"stringDateField":"1953-12-31","stringDateTimeField":"1916-05-09T20:12:01Z","stringField":"nHJSiSD","stringTimeField":"16:34:22.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":-332,"numField":572.230171021712,"stringDateField":"1953-12-31","stringDateTimeField":"1916-05-09T20:12:01Z","stringField":"nHJSiSD","stringTimeField":"16:34:22.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":710,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":710,"uuid":"9de3e415-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["fChvOTZF","sQsAOY","bUpoJabf"],"boolField":true,"intField":-833,"numField":-299.4246597474003,"objField":{"ElPsyC":-260897511488369399,"Movya":841356482524694926,"TCnn":7866659995017327949,"jWhHS":3572999693341703434,"yXCj":7771729275817472381},"stringDateField":"1931-08-24","stringDateTimeField":"1949-03-18T01:33:36Z","stringField":"XVOo","stringTimeField":"04:13:04.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":-833,"numField":-299.4246597474003,"stringDateField":"1931-08-24","stringDateTimeField":"1949-03-18T01:33:36Z","stringField":"XVOo","stringTimeField":"04:13:04.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":711,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":711,"uuid":"9de3e415-5655-11ee-a001-675ed0f8e89b"},"arrayField":["cuTsmD","INiKmzBjDy"],"boolField":true,"intField":802,"numField":21.8229815012998,"objField":{"NUxpQO":-2193185425031897701,"YOdsHTWlKK":8885131972032856710,"bFarDrXZ":-8268310934489279940,"cdLYjIS":8114563814775878025,"csmpq":5058575500874627417,"qWjQrlCe":-7731493616179084588,"tEnEsWfO":5320643613722867675,"vUWJ":5528185014837724303},"stringDateField":"1939-03-03","stringDateTimeField":"2016-04-04T02:54:55Z","stringField":"ZqKxGQM","stringTimeField":"20:46:01.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":802,"numField":21.8229815012998,"stringDateField":"1939-03-03","stringDateTimeField":"2016-04-04T02:54:55Z","stringField":"ZqKxGQM","stringTimeField":"20:46:01.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":712,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":712,"uuid":"9de3e415-5655-11ee-a401-675ed0f8e89b"},"arrayField":["Odcaca","LCWO"],"boolField":false,"intField":507,"numField":-750.0341228900176,"objField":{"IDNR":-6120854204495343011,"QjxTaliBU":-3657126795540724311,"SYepJM":6339077971050426218,"WZYd":-2577134922873660150,"WbOxItNuxo":-1206175461259009149,"ltGpnmXC":3004401351440978742,"nzZUTHxqNL":-2821759442417951294,"oSfVnGOwR":6222342910982309183,"walkr":2285655903922731124},"stringDateField":"1912-04-28","stringDateTimeField":"1988-12-31T21:53:06Z","stringField":"AHeKnyIHL","stringTimeField":"09:12:36.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":507,"numField":-750.0341228900176,"stringDateField":"1912-04-28","stringDateTimeField":"1988-12-31T21:53:06Z","stringField":"AHeKnyIHL","stringTimeField":"09:12:36.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":713,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":713,"uuid":"9de3e415-5655-11ee-a801-675ed0f8e89b"},"arrayField":["mJyPnhK"],"boolField":true,"intField":235,"numField":-593.6292035327766,"objField":{"GWaTx":-3041795791135793418,"KAdOZbnIYE":781138376742327769,"PytreEGDo":8053783020689232080,"aIUFJQz":-6483876041855693713,"cZCarYGsyZ":7112874815072579259,"ceJK":4102066528653529788,"qYrTQrJ":4824078207447508293,"rimOZAyDh":-7017976295872323014,"skRlJu":4062180568183325303,"ykGVCxJ":8194215780269725822},"stringDateField":"2003-12-20","stringDateTimeField":"1924-01-01T01:40:46Z","stringField":"liDfrJeX","stringTimeField":"05:14:03.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":235,"numField":-593.6292035327766,"stringDateField":"2003-12-20","stringDateTimeField":"1924-01-01T01:40:46Z","stringField":"liDfrJeX","stringTimeField":"05:14:03.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":714,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":714,"uuid":"9de3e415-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["gknsbuRLet","JSnzvqni","XFqbKnZjG"],"boolField":false,"intField":-620,"numField":-778.691881876163,"objField":{"ACGY":-4124696039540378968,"DccnEsXSto":6564272826454186023,"RjlfcYWi":6129613912962576236,"ouGWVFkF":5094574342006168959,"sFKbMbq":-6054900289830948137,"swPhTiM":1680126128794345201,"uRupuEmVo":-828910604689501658},"stringDateField":"1905-09-13","stringDateTimeField":"1932-04-27T15:17:47Z","stringField":"VuGBLrKZe","stringTimeField":"22:51:11.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":-620,"numField":-778.691881876163,"stringDateField":"1905-09-13","stringDateTimeField":"1932-04-27T15:17:47Z","stringField":"VuGBLrKZe","stringTimeField":"22:51:11.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":715,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":715,"uuid":"9de3e415-5655-11ee-b001-675ed0f8e89b"},"arrayField":["woQDiclF","GwoNL"],"boolField":true,"intField":-184,"numField":-732.8253324192598,"objField":{"iHdYAjHnne":3461459440280630715,"kupRtZJwB":-885153552112346877,"lRbr":5215971656482873278,"rNzykrKTZ":-235563006493245459,"uLib":-4792164246302193546},"stringDateField":"1927-06-08","stringDateTimeField":"1951-12-17T21:32:28Z","stringField":"RWkuntva","stringTimeField":"05:35:02.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":-184,"numField":-732.8253324192598,"stringDateField":"1927-06-08","stringDateTimeField":"1951-12-17T21:32:28Z","stringField":"RWkuntva","stringTimeField":"05:35:02.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":716,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":716,"uuid":"9de3e415-5655-11ee-b401-675ed0f8e89b"},"arrayField":["crtRgCUyg"],"boolField":false,"intField":689,"numField":560.1715366638284,"objField":{"FhRzw":-5092903248211292280,"KLgCd":-6839577048694868367,"XPjbkdwjLJ":2628233797066754617,"bIwfWJvMh":-7648326838921831308,"pVDfRsmBmJ":7987787479973361171,"rBdRDuciJP":-2248497529743332486,"wyQvybgoom":-7028593117732417538},"stringDateField":"1918-04-05","stringDateTimeField":"1909-06-14T05:42:36Z","stringField":"TpKRufQ","stringTimeField":"08:01:59.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":689,"numField":560.1715366638284,"stringDateField":"1918-04-05","stringDateTimeField":"1909-06-14T05:42:36Z","stringField":"TpKRufQ","stringTimeField":"08:01:59.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":717,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":717,"uuid":"9de3e415-5655-11ee-b801-675ed0f8e89b"},"arrayField":["zxKucyxa","zmUqP","TrUqXDJB","PefL","GSsF","Cddh","WqqE"],"boolField":true,"intField":-308,"numField":-479.915605049856,"objField":{"ZxgNoI":-2692927720797582259,"oDtbs":6702202842182059171,"sxijkloZ":6713945024327555735},"stringDateField":"1983-04-10","stringDateTimeField":"2000-08-15T04:50:50Z","stringField":"nBhgRQBwY","stringTimeField":"09:27:28.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":-308,"numField":-479.915605049856,"stringDateField":"1983-04-10","stringDateTimeField":"2000-08-15T04:50:50Z","stringField":"nBhgRQBwY","stringTimeField":"09:27:28.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":718,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":718,"uuid":"9de3e415-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["wnSGnQTwWE","FrKeNe","foyNJ","eJmNXLHtP","NZXYygmVJy","dKpqU"],"boolField":true,"intField":570,"numField":521.9283978496834,"objField":{"RbqMgvtbuJ":-1886211256593389416,"WipjGaGXs":-3403922828629608398,"iyTRqP":8137070387788660029,"zomBHVeU":-5874858102454884049},"stringDateField":"1946-07-03","stringDateTimeField":"1994-09-05T14:45:54Z","stringField":"IGPvV","stringTimeField":"07:18:00.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230933Z","intField":570,"numField":521.9283978496834,"stringDateField":"1946-07-03","stringDateTimeField":"1994-09-05T14:45:54Z","stringField":"IGPvV","stringTimeField":"07:18:00.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":719,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":719,"uuid":"9de3e416-5655-11ee-8001-675ed0f8e89b"},"arrayField":["AgQGlxXp","IiXmh","FUEaKeC","LQvvgmKf","ElHHl","HDSJXflrhj","dQmYUkjmGV"],"boolField":false,"intField":402,"numField":16.072698590337886,"objField":{"FGhQVCqwzw":-5070907733996811631,"IvPC":3908185289559753173,"QOEJ":7006231855433985156,"dGjV":-917565304617238765,"dYEBFwozNm":8233080970033408868,"mWMGRih":-6497593433177580834,"zwvPyGQhNe":3165324831146394589},"stringDateField":"1975-01-29","stringDateTimeField":"1961-06-04T03:29:44Z","stringField":"hrfpqupD","stringTimeField":"22:42:49.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":402,"numField":16.072698590337886,"stringDateField":"1975-01-29","stringDateTimeField":"1961-06-04T03:29:44Z","stringField":"hrfpqupD","stringTimeField":"22:42:49.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":720,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":720,"uuid":"9de3e416-5655-11ee-8401-675ed0f8e89b"},"arrayField":["mhPjFAgSk","woorl","IIznH","IoatWfhqh","ixfmFGXa","PajCSc","YOKTf"],"boolField":true,"intField":344,"numField":502.52950290199095,"objField":{"YFZCcEqd":693491249618505544,"YpgRGUyq":-5000383468831639196,"ucDg":-3805672395816618491,"vmhBzos":-82309644444886112},"stringDateField":"2021-10-23","stringDateTimeField":"2010-09-29T05:12:00Z","stringField":"xulmN","stringTimeField":"02:40:44.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":344,"numField":502.52950290199095,"stringDateField":"2021-10-23","stringDateTimeField":"2010-09-29T05:12:00Z","stringField":"xulmN","stringTimeField":"02:40:44.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":721,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":721,"uuid":"9de3e416-5655-11ee-8801-675ed0f8e89b"},"arrayField":["TvGXFrC","MWPS","KglIeyzKW"],"boolField":false,"intField":305,"numField":-848.7388039936467,"objField":{"ANPYVNxmO":-3375199323709510702,"IfXZBxz":-3430211084992576682,"SsEOa":5912023056004358969,"TcNqJVZkfh":5148306071992555501,"YyFscf":-342142148615701683,"ZknsXKpR":7543474118032893783,"dgfn":9113705698717560209,"rVrLcT":-492674535271219914,"rjnsF":-731571961359607056,"sinznn":-6030435682583413245},"stringDateField":"1952-06-06","stringDateTimeField":"1928-05-02T22:12:40Z","stringField":"hauE","stringTimeField":"16:42:01.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":305,"numField":-848.7388039936467,"stringDateField":"1952-06-06","stringDateTimeField":"1928-05-02T22:12:40Z","stringField":"hauE","stringTimeField":"16:42:01.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":722,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":722,"uuid":"9de3e416-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["YIWtEZcyZe","lGApwd","cwsZ","NvyPglEQ","JxHMm"],"boolField":false,"intField":422,"numField":-558.7586470167033,"objField":{"EFKK":490995032558821443,"IfImssXMrX":-6157367393761093740,"OEeuzySUB":-3242145301304068420,"XzLDUk":-575101167965995349,"btIPVz":-5482127500986095259,"sORRkc":4000668903566751236},"stringDateField":"1923-09-06","stringDateTimeField":"1988-05-01T18:06:38Z","stringField":"CxmmpptM","stringTimeField":"19:26:18.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":422,"numField":-558.7586470167033,"stringDateField":"1923-09-06","stringDateTimeField":"1988-05-01T18:06:38Z","stringField":"CxmmpptM","stringTimeField":"19:26:18.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":723,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":723,"uuid":"9de3e416-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ZYDjYNb","PcVcphyz","KDBGwQPXQi","BANwBsIPu","wexsr","jkGRFiCNTC","EEUN","wrIgmrcK"],"boolField":true,"intField":673,"numField":640.4132359616243,"objField":{"FWICFQ":-3515430805752545616,"ILtN":4050233945367392745,"NupBoUY":-1475633334503919019,"PoZx":4347963342812414195,"QZsKaQVhz":-7415273300683931917,"SMxx":8279582423419599713,"TnpwakLq":8119530362248838970,"iMjujvvp":-2269759546336932297,"mkqRtAwWx":58434412971610515,"nNRxS":6843599243281201199},"stringDateField":"1985-06-02","stringDateTimeField":"1998-10-06T10:52:18Z","stringField":"pNjwodJIGx","stringTimeField":"06:50:22.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":673,"numField":640.4132359616243,"stringDateField":"1985-06-02","stringDateTimeField":"1998-10-06T10:52:18Z","stringField":"pNjwodJIGx","stringTimeField":"06:50:22.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":724,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":724,"uuid":"9de3e416-5655-11ee-9401-675ed0f8e89b"},"arrayField":["uwbmpbD"],"boolField":false,"intField":942,"numField":-934.1649537088203,"objField":{"AqeTrqSi":7314910566586537368,"OQSUsPco":870065269689679963,"OqJbSQ":-4221594165295701620,"YSLsrrA":2091086629205041275,"eorais":-1049920363918807627,"tPecMO":-2817159872408142214},"stringDateField":"1933-01-13","stringDateTimeField":"1997-12-17T14:36:48Z","stringField":"yvZDFdxm","stringTimeField":"20:21:28.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":942,"numField":-934.1649537088203,"stringDateField":"1933-01-13","stringDateTimeField":"1997-12-17T14:36:48Z","stringField":"yvZDFdxm","stringTimeField":"20:21:28.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":725,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":725,"uuid":"9de3e416-5655-11ee-9801-675ed0f8e89b"},"arrayField":["IekmHncm","RwkDj"],"boolField":true,"intField":-701,"numField":-235.5366179075141,"objField":{"XZmcu":-3671364038914866973,"dFEZelnVtY":5681994793928477794,"jsXxoUxiCx":8317134330441666797,"lqNXUI":4451856058230813926,"sSWiJdQVtH":-708252719417874126},"stringDateField":"1903-07-09","stringDateTimeField":"1981-10-22T13:49:55Z","stringField":"afpvEbZiy","stringTimeField":"06:02:43.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":-701,"numField":-235.5366179075141,"stringDateField":"1903-07-09","stringDateTimeField":"1981-10-22T13:49:55Z","stringField":"afpvEbZiy","stringTimeField":"06:02:43.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":726,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":726,"uuid":"9de3e416-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["dOxZ","beFw","txnL","TqJQAHfw","ozqCJf","QkDYVh","RICLPzK"],"boolField":true,"intField":-741,"numField":-818.8278395210741,"objField":{"ZQbyVhVsZ":6914733841672313767,"cZGN":-5416729173976612835,"hwijnnrmKh":3212446571580324205,"nKsoennyi":985050298484293431},"stringDateField":"1941-10-13","stringDateTimeField":"1975-09-06T05:59:23Z","stringField":"PxxyBzqg","stringTimeField":"06:57:39.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":-741,"numField":-818.8278395210741,"stringDateField":"1941-10-13","stringDateTimeField":"1975-09-06T05:59:23Z","stringField":"PxxyBzqg","stringTimeField":"06:57:39.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":727,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":727,"uuid":"9de3e416-5655-11ee-a001-675ed0f8e89b"},"arrayField":["gGSdkxE","MWazCMGTl","sMJaf","Rnwdel","MisCHRr","eKsuCK","tbCiFxoCHN","gUBD","TkOL","eBsY"],"boolField":true,"intField":655,"numField":909.801886511889,"objField":{"GIIQg":-5609128864238042057,"GVgd":7368775592273242868,"HyfLq":-7797501958961804027,"TsRWlJaagV":5162605083720099905,"eAsMU":6231348896752634855,"pbuqgj":3537765749639192176},"stringDateField":"1987-05-02","stringDateTimeField":"1914-07-13T13:06:23Z","stringField":"HLAitaT","stringTimeField":"19:41:59.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":655,"numField":909.801886511889,"stringDateField":"1987-05-02","stringDateTimeField":"1914-07-13T13:06:23Z","stringField":"HLAitaT","stringTimeField":"19:41:59.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":728,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":728,"uuid":"9de3e416-5655-11ee-a401-675ed0f8e89b"},"arrayField":["Mirj","WtLNlkpk","xqXvgEbC","BrFUgZz","iwBDhfLJ","sJNVWna","slqwapoHWg","XjADKHiAS","hFnz"],"boolField":false,"intField":482,"numField":620.1403838312917,"objField":{"GGPH":4974617651875925056,"HdbXmERvP":-3522209089833884600,"QDdZKq":-8995380432246208703,"dUSny":-8790734080955639840,"pBRqTbc":-1898614432954298687,"tiLuCgRaya":2484044408833738367},"stringDateField":"1904-08-11","stringDateTimeField":"1940-06-01T11:19:27Z","stringField":"EViL","stringTimeField":"03:38:53.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":482,"numField":620.1403838312917,"stringDateField":"1904-08-11","stringDateTimeField":"1940-06-01T11:19:27Z","stringField":"EViL","stringTimeField":"03:38:53.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":729,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":729,"uuid":"9de3e416-5655-11ee-a801-675ed0f8e89b"},"arrayField":["akVjiOacL","yCNKdO"],"boolField":true,"intField":-157,"numField":-994.7171192111468,"objField":{"MWdtHee":-181617678363388376,"ctHvM":-4809590285724428714,"dnHcK":6954647992756854124,"glPdGwgMT":9048097469856152809},"stringDateField":"1969-09-07","stringDateTimeField":"1903-05-17T10:05:53Z","stringField":"DAywXg","stringTimeField":"15:41:53.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":-157,"numField":-994.7171192111468,"stringDateField":"1969-09-07","stringDateTimeField":"1903-05-17T10:05:53Z","stringField":"DAywXg","stringTimeField":"15:41:53.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":730,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":730,"uuid":"9de3e416-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["esEWOPHRVq"],"boolField":false,"intField":-92,"numField":-196.70922358000408,"objField":{"CIMEIcM":7102306748232702860,"EYUPnuo":8265964126910479276,"FcMaFAfC":-2179030259115964952,"TQpxIUQq":2744337141692022429,"VwLyr":-9106049915113705800,"iMfRylzx":-8071425134903432713,"kbgrDo":5541111992568186118,"ngHuoyafsp":6762036885880619528},"stringDateField":"1989-03-15","stringDateTimeField":"2022-05-24T01:32:36Z","stringField":"wTjJ","stringTimeField":"21:43:07.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":-92,"numField":-196.70922358000408,"stringDateField":"1989-03-15","stringDateTimeField":"2022-05-24T01:32:36Z","stringField":"wTjJ","stringTimeField":"21:43:07.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":731,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":731,"uuid":"9de3e416-5655-11ee-b001-675ed0f8e89b"},"arrayField":["GciMvlb","DrDRJaPOj","NtJXrboij","yfsgO","MIus","WieH","YvdjJaXe"],"boolField":false,"intField":269,"numField":944.3426461637508,"objField":{"ZTUIEk":2613256275738634899,"apEOyDfKAK":9208867085220076887,"wfAakhMGld":-1724817058906319056},"stringDateField":"1972-09-27","stringDateTimeField":"1980-03-15T00:54:41Z","stringField":"AgnW","stringTimeField":"17:14:15.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":269,"numField":944.3426461637508,"stringDateField":"1972-09-27","stringDateTimeField":"1980-03-15T00:54:41Z","stringField":"AgnW","stringTimeField":"17:14:15.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":732,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":732,"uuid":"9de3e416-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ZAkpd","WMQY","jTLs","DNOKIt","KvQss","TIuBei"],"boolField":true,"intField":136,"numField":-972.006280992096,"objField":{"APdvwZTSoW":-7413690213482092750,"CcXhLoE":-1758237245782718372,"krwbcVJjo":3357729656154716055,"vGjPqd":3659615604015001082,"zLPHgQBrzx":-6185700934555108101},"stringDateField":"1918-12-10","stringDateTimeField":"1991-10-16T22:32:45Z","stringField":"REXAOhAmz","stringTimeField":"08:48:23.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":136,"numField":-972.006280992096,"stringDateField":"1918-12-10","stringDateTimeField":"1991-10-16T22:32:45Z","stringField":"REXAOhAmz","stringTimeField":"08:48:23.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":733,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":733,"uuid":"9de3e416-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ePvj","oSJDcqdSW","IqsiJMJ","Buxer","syBGFYgsmN","izNdlDvmm","qdBtTkXG","eGpeQfvzFz","KscVyvG"],"boolField":true,"intField":583,"numField":8.154562603065463,"objField":{"hxta":7612514978319193872},"stringDateField":"2017-09-12","stringDateTimeField":"1982-01-06T09:09:57Z","stringField":"vmGbJ","stringTimeField":"01:12:21.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":583,"numField":8.154562603065463,"stringDateField":"2017-09-12","stringDateTimeField":"1982-01-06T09:09:57Z","stringField":"vmGbJ","stringTimeField":"01:12:21.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":734,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":734,"uuid":"9de3e416-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["XgWaZDPXF","BEpXs","aNuHqmhQoM","cGqrOU"],"boolField":true,"intField":6,"numField":923.6155287971789,"objField":{"ReKetkzI":-7672412536521566101,"txkSSaJfo":4116479205955096165},"stringDateField":"2012-08-22","stringDateTimeField":"1954-06-13T01:56:13Z","stringField":"PYkamfbGrS","stringTimeField":"09:42:25.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230934Z","intField":6,"numField":923.6155287971789,"stringDateField":"2012-08-22","stringDateTimeField":"1954-06-13T01:56:13Z","stringField":"PYkamfbGrS","stringTimeField":"09:42:25.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":735,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":735,"uuid":"9de3e417-5655-11ee-8001-675ed0f8e89b"},"arrayField":["uGbHzjxE","Dohh","UWSA","yaZiBwZXnc","Xnqx","yZqp"],"boolField":true,"intField":-116,"numField":-760.9230533651936,"objField":{"FNGVgleV":-5886355810900968222,"LTwoU":-5343971083021798775,"OlKqipRgBt":114813879084411109,"cErFy":1677559504078539530,"jntuwYk":920050634168534122,"olwG":5365307906106133375},"stringDateField":"1937-07-01","stringDateTimeField":"1999-10-04T10:27:25Z","stringField":"xnUkujsvLL","stringTimeField":"22:03:45.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":-116,"numField":-760.9230533651936,"stringDateField":"1937-07-01","stringDateTimeField":"1999-10-04T10:27:25Z","stringField":"xnUkujsvLL","stringTimeField":"22:03:45.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":736,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":736,"uuid":"9de3e417-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rUNtRnWA","OmJvhyXJUS","cAlzy","LyvJSpuF","OqDY","CnOch"],"boolField":false,"intField":943,"numField":619.0338577959753,"objField":{"NUjOo":-7968544961294980203,"NnWX":-5152324590344351978,"UdTULMaKlf":-8103700237556997156,"WjMYtE":-5034072868162147424,"bkICfm":-6867335091093584171,"goNVjwaM":-5910684382506177240,"wYkwvWh":7748826344200828665},"stringDateField":"1937-05-24","stringDateTimeField":"2008-01-17T00:16:39Z","stringField":"KRjkOmSWh","stringTimeField":"22:42:51.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":943,"numField":619.0338577959753,"stringDateField":"1937-05-24","stringDateTimeField":"2008-01-17T00:16:39Z","stringField":"KRjkOmSWh","stringTimeField":"22:42:51.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":737,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":737,"uuid":"9de3e417-5655-11ee-8801-675ed0f8e89b"},"arrayField":["NJlEVFT","cuQDokLOo","bpmqPhyri","NXowohnPdr","mPpXDdHT","FGHJUuG","bVsiNs","VqJDcmeXkZ","oxCKP","PeActslF"],"boolField":false,"intField":560,"numField":-376.3279597043803,"objField":{"BcGU":44785102536692413,"EywfkL":778364939613532732,"FDrHiL":-571335761625736758,"GUpkwEJqB":5097753184695295421,"LovUk":1813566968798681648,"OagH":8043001891324615682,"fyYBUMaR":-920249344131680472,"qiWSsZu":4791859307313578875,"wJJJhHSj":4076665474637703189,"ytvtz":-4795121209429842242},"stringDateField":"1962-02-17","stringDateTimeField":"1983-10-03T01:06:20Z","stringField":"qhGWktWcb","stringTimeField":"13:53:14.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":560,"numField":-376.3279597043803,"stringDateField":"1962-02-17","stringDateTimeField":"1983-10-03T01:06:20Z","stringField":"qhGWktWcb","stringTimeField":"13:53:14.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":738,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":738,"uuid":"9de3e417-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["uTJqwyeC","sftrfdUPvq","RrmCZsx","hRfF","XmDvkQe","oYPL","yTdWofgr","wsoQ","ityZmS","TkzIkuZXlZ"],"boolField":false,"intField":-26,"numField":984.1976677376814,"objField":{"TOJNpu":6430944874874561465,"arBCnSoBP":-6927429855127427628},"stringDateField":"1934-03-24","stringDateTimeField":"1974-12-22T23:59:43Z","stringField":"xyzVXDzYVR","stringTimeField":"14:39:43.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":-26,"numField":984.1976677376814,"stringDateField":"1934-03-24","stringDateTimeField":"1974-12-22T23:59:43Z","stringField":"xyzVXDzYVR","stringTimeField":"14:39:43.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":739,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":739,"uuid":"9de3e417-5655-11ee-9001-675ed0f8e89b"},"arrayField":["zlTkOfabM"],"boolField":true,"intField":523,"numField":826.9083621403579,"objField":{"TrEfQ":-2373019939037768409,"gUAkEKsC":-7556098199367849114},"stringDateField":"1946-03-01","stringDateTimeField":"1992-12-05T06:29:24Z","stringField":"EFXiuIeDrV","stringTimeField":"09:37:23.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":523,"numField":826.9083621403579,"stringDateField":"1946-03-01","stringDateTimeField":"1992-12-05T06:29:24Z","stringField":"EFXiuIeDrV","stringTimeField":"09:37:23.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":740,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":740,"uuid":"9de3e417-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ienkQzy","IiUSbP"],"boolField":true,"intField":-513,"numField":-401.17778159357897,"objField":{"EnBfaR":8714079009789791526,"LQiT":7893791294617731036,"ShCrrD":7792792364897509887,"jlzOhGeU":-6544532027871044242,"lDcbmlyoo":-8589837210937990777,"oKACgpmYfi":-8530420000568424090,"yZyDSaoacf":-7804377384634427007},"stringDateField":"1938-04-17","stringDateTimeField":"2008-03-02T19:26:53Z","stringField":"dGRcOzm","stringTimeField":"05:28:30.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":-513,"numField":-401.17778159357897,"stringDateField":"1938-04-17","stringDateTimeField":"2008-03-02T19:26:53Z","stringField":"dGRcOzm","stringTimeField":"05:28:30.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":741,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":741,"uuid":"9de3e417-5655-11ee-9801-675ed0f8e89b"},"arrayField":["PBSCieO","zoOGqc","mRiyn","WcnuY","rwQNcoYcPI","DpSY","ubyFq","knmj","tKuIqwx"],"boolField":true,"intField":-48,"numField":-167.69011669624467,"objField":{"JeMuKcl":-144830607108474121,"OhVGMgXtuO":675207050867724927,"WSRGFIUSL":-3333201395978708586,"WTrUXDWD":8973703376148498990,"XKyk":-1076809855124058541,"cTqIMvER":8608295060578989751,"nxWuzi":7787940552422778262,"slRAF":3589276923546100046,"wMZvXevQpY":-7193509299969801460,"wSIWhZV":6180795455127610924},"stringDateField":"1938-07-16","stringDateTimeField":"1976-04-17T08:06:51Z","stringField":"IMIfjGaRH","stringTimeField":"10:54:17.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":-48,"numField":-167.69011669624467,"stringDateField":"1938-07-16","stringDateTimeField":"1976-04-17T08:06:51Z","stringField":"IMIfjGaRH","stringTimeField":"10:54:17.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":742,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":742,"uuid":"9de3e417-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["MMFcIIdJ","TCNmVWRKbJ","TqdpIn","ZiMlcWas","UUCZe","hgigrBAUjQ","TPpJoxwlPK","BodkBcllpV"],"boolField":true,"intField":-530,"numField":-314.0215870298176,"objField":{"AYryl":-1675334111980028830,"FyWNJQj":4971184075839301995,"KvToATW":-5507886371861283015,"XgrdYyQJ":7135875405952575689,"crJsX":-762881750949155348,"pkSzBvOPwF":9169922014776227476,"tdMx":3653884381640528620},"stringDateField":"1939-08-24","stringDateTimeField":"1976-03-20T11:58:20Z","stringField":"vsebrsvTAi","stringTimeField":"11:59:37.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":-530,"numField":-314.0215870298176,"stringDateField":"1939-08-24","stringDateTimeField":"1976-03-20T11:58:20Z","stringField":"vsebrsvTAi","stringTimeField":"11:59:37.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":743,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":743,"uuid":"9de3e417-5655-11ee-a001-675ed0f8e89b"},"arrayField":["eKnzTD"],"boolField":false,"intField":-370,"numField":-8.846193352803123,"objField":{"KrdjX":5095341207861052584,"MFxoMa":112062413526378261,"fmvUiLkK":-3304523510812501417,"ocRYMCMYDa":306500320381368794},"stringDateField":"1940-12-01","stringDateTimeField":"2016-05-21T00:04:40Z","stringField":"rvUPJIaS","stringTimeField":"09:32:46.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":-370,"numField":-8.846193352803123,"stringDateField":"1940-12-01","stringDateTimeField":"2016-05-21T00:04:40Z","stringField":"rvUPJIaS","stringTimeField":"09:32:46.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":744,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":744,"uuid":"9de3e417-5655-11ee-a401-675ed0f8e89b"},"arrayField":["HPLzZXR","gwtrLOu","Dhml","WQielQgogo","dpStsYbt","kEzE","HQGoVJD","YgJAl","GodcbwHg"],"boolField":false,"intField":784,"numField":849.3170042532561,"objField":{"RIGXEZ":-3891544360515851704,"jUfhUq":2316931699780263424,"mloOqbp":-8446781324277840010},"stringDateField":"1964-08-19","stringDateTimeField":"1986-05-25T17:11:07Z","stringField":"MITOT","stringTimeField":"03:02:50.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":784,"numField":849.3170042532561,"stringDateField":"1964-08-19","stringDateTimeField":"1986-05-25T17:11:07Z","stringField":"MITOT","stringTimeField":"03:02:50.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":745,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":745,"uuid":"9de3e417-5655-11ee-a801-675ed0f8e89b"},"arrayField":["dAdo","yncLLC","ZKTImMjHJa"],"boolField":false,"intField":-678,"numField":511.2239024928731,"objField":{"TCXbkNvEZR":2559237424369995532,"faPsHeeHO":58835964893383448,"hAomH":-2525319456500068709,"lxUbIYI":-5314556017100349653,"pjbrD":-6224187213626152165},"stringDateField":"1910-04-10","stringDateTimeField":"1916-09-17T22:43:31Z","stringField":"TreSpzJYwv","stringTimeField":"21:31:05.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":-678,"numField":511.2239024928731,"stringDateField":"1910-04-10","stringDateTimeField":"1916-09-17T22:43:31Z","stringField":"TreSpzJYwv","stringTimeField":"21:31:05.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":746,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":746,"uuid":"9de3e417-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["rKKyeK","TepnCMps","FdDyEF","rpuVLtSHo","lZbOmlaF","NypwFcK","mCDHNfKxNc","dSKGiog","pELPOH"],"boolField":false,"intField":-402,"numField":219.02263030220004,"objField":{"ElwVBlu":494525231260412876,"UXyGvygeVO":6439653379564013165,"WMwx":6888445259665119521,"XjFgUshH":2820228527312770000,"YmgEftuX":-5898528340812180781,"jqumDMwC":8107314414102808704,"wHdpHUJ":5506655039580996193},"stringDateField":"1974-09-24","stringDateTimeField":"1903-07-17T16:48:40Z","stringField":"NyJtWa","stringTimeField":"12:08:45.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":-402,"numField":219.02263030220004,"stringDateField":"1974-09-24","stringDateTimeField":"1903-07-17T16:48:40Z","stringField":"NyJtWa","stringTimeField":"12:08:45.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":747,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":747,"uuid":"9de3e417-5655-11ee-b001-675ed0f8e89b"},"arrayField":["nolORt"],"boolField":true,"intField":18,"numField":-116.5684623950548,"objField":{"CqkMEn":1143734111432731073,"DPLoZDL":-9160698536685776510,"GViPw":-1403801848699569309,"KxABr":5709819719678283412,"ZFTkyJDp":-1396135997204045472,"hBpVgXX":-1099440432323246277,"oOud":309969983111388304,"oWaofM":5457210029928077964,"zJIuVEib":2622155361340001985},"stringDateField":"1921-01-09","stringDateTimeField":"1925-07-14T14:28:15Z","stringField":"CDprhA","stringTimeField":"19:43:59.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":18,"numField":-116.5684623950548,"stringDateField":"1921-01-09","stringDateTimeField":"1925-07-14T14:28:15Z","stringField":"CDprhA","stringTimeField":"19:43:59.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":748,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":748,"uuid":"9de3e417-5655-11ee-b401-675ed0f8e89b"},"arrayField":["IqUmSUzjVu","bKckp","NdYECxX","OcjL"],"boolField":true,"intField":-542,"numField":493.6856698215553,"objField":{"BGsXCI":-5861373374658306889,"IHCz":-8306874754037356406,"RXsNiareNz":-4657740353294591474,"XCVcObL":4490998343810283323,"rWXIHUPiq":4205779975647948168,"uCzuJ":7816605832394603260,"wNmDSI":5478227569337365259,"xQOsY":-2827096808236091327,"zjrO":-6724674755306851617},"stringDateField":"1996-05-31","stringDateTimeField":"1987-08-16T08:54:24Z","stringField":"WzcdYRhEC","stringTimeField":"19:48:04.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":-542,"numField":493.6856698215553,"stringDateField":"1996-05-31","stringDateTimeField":"1987-08-16T08:54:24Z","stringField":"WzcdYRhEC","stringTimeField":"19:48:04.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":749,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":749,"uuid":"9de3e417-5655-11ee-b801-675ed0f8e89b"},"arrayField":["rfZWN","Nthhtyr","AtlTpIE","HYqaFCGgdT","ptPtXD","Woze","szRl","gnekAs"],"boolField":false,"intField":-973,"numField":-336.7969688418655,"objField":{"DAMeg":-6078083578097974450,"QYUcPElVqW":-5165663356626227855,"Thdz":6158940840377418371,"WIeFg":7360356454437993048,"bYVXPEsr":-3355718682257699908,"bthCDQqhE":8547353831422392523,"dlXqqgj":1718530104601043856,"hfwpgIiK":4932123528774150933,"yLcJ":1817133449798597888,"zhlNmtwrPV":-8659547098882369833},"stringDateField":"1907-10-04","stringDateTimeField":"2002-08-12T02:17:58Z","stringField":"ypnsw","stringTimeField":"02:43:56.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":-973,"numField":-336.7969688418655,"stringDateField":"1907-10-04","stringDateTimeField":"2002-08-12T02:17:58Z","stringField":"ypnsw","stringTimeField":"02:43:56.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":750,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":750,"uuid":"9de3e417-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["YdpXt","hduV","SmnjesXrx","VpklOF"],"boolField":false,"intField":-564,"numField":-334.08984065014715,"objField":{"BGqIj":4814261464329908390,"DOXHyD":-4052904060546277637,"FMJmhVw":790176214489145167,"JHBDhjjw":6483808801438131142,"WYLhLyZ":-7486504460307263832,"aOCQqknxCH":4890859560579381270,"cPIK":-5029517188076569353,"qFBDsg":-4777360174456665487},"stringDateField":"1978-02-26","stringDateTimeField":"1940-09-08T08:34:00Z","stringField":"Nvuqz","stringTimeField":"15:24:59.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230935Z","intField":-564,"numField":-334.08984065014715,"stringDateField":"1978-02-26","stringDateTimeField":"1940-09-08T08:34:00Z","stringField":"Nvuqz","stringTimeField":"15:24:59.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":751,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":751,"uuid":"9de3e418-5655-11ee-8001-675ed0f8e89b"},"arrayField":["YlhfmyHYte","UUxgeDPc","CRtVR"],"boolField":false,"intField":-228,"numField":-891.9144000461848,"objField":{"JkhPzULfdi":3853086912865114087,"LrNlkwBCOB":-3045740741452743851,"XVYO":-884399042341240075,"xqIFpQOO":-5349460908247169220,"yJzPgjkY":-863238625980326416,"yniBGCw":-2584878605578883883},"stringDateField":"1930-04-12","stringDateTimeField":"2009-06-27T12:33:00Z","stringField":"fgMI","stringTimeField":"13:32:52.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":-228,"numField":-891.9144000461848,"stringDateField":"1930-04-12","stringDateTimeField":"2009-06-27T12:33:00Z","stringField":"fgMI","stringTimeField":"13:32:52.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":752,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":752,"uuid":"9de3e418-5655-11ee-8401-675ed0f8e89b"},"arrayField":["bznCkrBJ","kxACu"],"boolField":false,"intField":-661,"numField":-38.41003260859976,"objField":{"FoBBR":-2378573525574879028,"WIbvxpmcG":-1354503263096979130,"lCllNoD":2191797564900424812},"stringDateField":"1988-02-15","stringDateTimeField":"1989-05-25T21:49:50Z","stringField":"upPJZtcRP","stringTimeField":"14:44:04.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":-661,"numField":-38.41003260859976,"stringDateField":"1988-02-15","stringDateTimeField":"1989-05-25T21:49:50Z","stringField":"upPJZtcRP","stringTimeField":"14:44:04.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":753,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":753,"uuid":"9de3e418-5655-11ee-8801-675ed0f8e89b"},"arrayField":["DMDiHrZY","BJYcerW","RUYqWwp","YFMGFGgX","GuNBGacvLc","oMKGWEOl"],"boolField":false,"intField":189,"numField":-377.75238265761703,"objField":{"LzzhfmUh":-7910290214409544899,"ZGzZI":-3283153035910607081,"odCiPh":-7630512238909362301,"rlniuX":311532952560535786,"uqhsN":-3330016803766180063,"wjXL":-3848221978947293173,"zuUHsTRdqk":-2298051610354599666},"stringDateField":"1992-08-14","stringDateTimeField":"2003-02-21T10:49:28Z","stringField":"KGLhbRtNVQ","stringTimeField":"08:37:02.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":189,"numField":-377.75238265761703,"stringDateField":"1992-08-14","stringDateTimeField":"2003-02-21T10:49:28Z","stringField":"KGLhbRtNVQ","stringTimeField":"08:37:02.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":754,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":754,"uuid":"9de3e418-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["uWZi","wRZtZ","iKBkMmDP","LWKE","FiTAeiZ","UZFnSI","cczEab","qile"],"boolField":false,"intField":755,"numField":947.3728166636944,"objField":{"EgqFKtTM":-7546162536951327212,"RDfXRHsy":-2553817174711014920,"TgWuSDpPaD":6606152049197316193,"WfyaBrrBir":9011720665913906184,"bkXRGPoTsj":-1883023720325924014,"bkhaVPfNK":9081632613428460862,"fyYP":5971438310243312189,"nYLlmdFm":8489161203382343307},"stringDateField":"1907-10-12","stringDateTimeField":"1993-11-11T16:23:22Z","stringField":"bJUqH","stringTimeField":"21:24:16.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":755,"numField":947.3728166636944,"stringDateField":"1907-10-12","stringDateTimeField":"1993-11-11T16:23:22Z","stringField":"bJUqH","stringTimeField":"21:24:16.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":755,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":755,"uuid":"9de3e418-5655-11ee-9001-675ed0f8e89b"},"arrayField":["yMXyp","tzjNVkmIp","fgRbloXC","IWVQ","YTLyet","JVYzs","zqKo","vLtGowDEEx"],"boolField":false,"intField":306,"numField":-492.4612594928852,"objField":{"FpnxtH":-3369846453927218200,"NBmtA":-739215861558946773,"tcqLTJki":1438152351816432325,"wOStOZduA":5152897133776786137,"yJPxvWVjHN":-8750574545289998580},"stringDateField":"1944-10-27","stringDateTimeField":"1905-12-07T21:19:54Z","stringField":"HclhIQQgo","stringTimeField":"07:26:45.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":306,"numField":-492.4612594928852,"stringDateField":"1944-10-27","stringDateTimeField":"1905-12-07T21:19:54Z","stringField":"HclhIQQgo","stringTimeField":"07:26:45.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":756,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":756,"uuid":"9de3e418-5655-11ee-9401-675ed0f8e89b"},"arrayField":["YPAeReM","XveJpd","aWxnqGWw","nzBZCXB","DcMdsJ","CDvS","VYPO","IUAifmYe"],"boolField":true,"intField":700,"numField":-552.4810600671535,"objField":{"LFBSnIY":6285346820722125130,"PCMFLgN":-5599905065949081483,"PrWPa":8112204095536715818,"XLenlbbslo":5950620276349317106,"YJwRBfEag":8253622806724195889,"eXMEqbWL":2328219241307031016,"leDkjmOxvw":6971553608517596147,"nYOVCxgZGl":6271982643335273117,"yEsJttq":-3649001926095855019},"stringDateField":"1964-03-16","stringDateTimeField":"1983-06-05T01:10:04Z","stringField":"fwXQJ","stringTimeField":"05:35:28.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":700,"numField":-552.4810600671535,"stringDateField":"1964-03-16","stringDateTimeField":"1983-06-05T01:10:04Z","stringField":"fwXQJ","stringTimeField":"05:35:28.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":757,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":757,"uuid":"9de3e418-5655-11ee-9801-675ed0f8e89b"},"arrayField":["CDaQwr","eKZPdcIRtT"],"boolField":false,"intField":-505,"numField":166.26221243497395,"objField":{"vfCtHBtzY":3344787117046759893},"stringDateField":"1903-02-12","stringDateTimeField":"1985-08-26T23:07:47Z","stringField":"TPshZSZHaV","stringTimeField":"10:44:42.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":-505,"numField":166.26221243497395,"stringDateField":"1903-02-12","stringDateTimeField":"1985-08-26T23:07:47Z","stringField":"TPshZSZHaV","stringTimeField":"10:44:42.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":758,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":758,"uuid":"9de3e418-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["sYoG","qAdfwIyMB"],"boolField":false,"intField":935,"numField":560.8010618418746,"objField":{"BRNqvfHjV":-3349562788977815962,"GVFSpY":8499013261201653705,"YWJkRmHfJ":5114132882245601068,"lxZOx":-5316786458568013886,"nAhEd":-1134274486893635051},"stringDateField":"2019-02-21","stringDateTimeField":"2019-03-01T21:04:38Z","stringField":"TGhLhhlVEf","stringTimeField":"21:42:01.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":935,"numField":560.8010618418746,"stringDateField":"2019-02-21","stringDateTimeField":"2019-03-01T21:04:38Z","stringField":"TGhLhhlVEf","stringTimeField":"21:42:01.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":759,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":759,"uuid":"9de3e418-5655-11ee-a001-675ed0f8e89b"},"arrayField":["qnHyofsG","gmptKJT","ATRPeOD","BKCE","OJqSqq"],"boolField":false,"intField":745,"numField":-777.0588346248217,"objField":{"gUXwMuXx":5824515907895746252,"kVyetF":7526339675720934246,"krRT":7889530494792003037,"oacFPLsW":-2180626198586944931},"stringDateField":"2012-05-02","stringDateTimeField":"2001-02-02T08:55:54Z","stringField":"wbhF","stringTimeField":"02:22:12.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":745,"numField":-777.0588346248217,"stringDateField":"2012-05-02","stringDateTimeField":"2001-02-02T08:55:54Z","stringField":"wbhF","stringTimeField":"02:22:12.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":760,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":760,"uuid":"9de3e418-5655-11ee-a401-675ed0f8e89b"},"arrayField":["tjme","dRGH"],"boolField":false,"intField":971,"numField":-804.8239808067191,"objField":{"ENjEz":4253670312019006475,"FjBxn":-5146127412055181914,"JPgTh":-8762772130521132581,"XPzsrBZQdg":-1202836099762241371,"bOwkuj":-1257455844655132312,"rbKxWbMIy":449971459970109431,"sZHVvy":-2854606951037495983},"stringDateField":"1944-03-12","stringDateTimeField":"2018-08-19T22:00:05Z","stringField":"MVCclZffY","stringTimeField":"16:28:09.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":971,"numField":-804.8239808067191,"stringDateField":"1944-03-12","stringDateTimeField":"2018-08-19T22:00:05Z","stringField":"MVCclZffY","stringTimeField":"16:28:09.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":761,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":761,"uuid":"9de3e418-5655-11ee-a801-675ed0f8e89b"},"arrayField":["gbifJkQ","zEtcr","hVwI","nXVdzNn"],"boolField":false,"intField":684,"numField":-539.7064209941493,"objField":{"XjUSVXDdXc":-6330198192017985594,"dVIluKIQNQ":1390170146426962053,"nruAfqSJZY":-4832900594812448531},"stringDateField":"1919-01-25","stringDateTimeField":"2003-09-01T14:29:18Z","stringField":"DMYX","stringTimeField":"05:58:15.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":684,"numField":-539.7064209941493,"stringDateField":"1919-01-25","stringDateTimeField":"2003-09-01T14:29:18Z","stringField":"DMYX","stringTimeField":"05:58:15.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":762,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":762,"uuid":"9de3e418-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["SpXHEZ","RKNrFDt"],"boolField":true,"intField":-111,"numField":-68.44935528948137,"objField":{"BgMKzB":4083332926618784637,"GdYhg":6249054817152394254,"MKxWFoWGll":-4245846201293133470,"YcbjQ":-7902961956410760609,"hoYedmWVe":2652322276200324118,"oAfUQzz":3943390479705820019,"wFLnu":2699413601200664123},"stringDateField":"1912-06-16","stringDateTimeField":"1990-03-13T01:45:19Z","stringField":"wHzsQM","stringTimeField":"15:07:25.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":-111,"numField":-68.44935528948137,"stringDateField":"1912-06-16","stringDateTimeField":"1990-03-13T01:45:19Z","stringField":"wHzsQM","stringTimeField":"15:07:25.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":763,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":763,"uuid":"9de3e418-5655-11ee-b001-675ed0f8e89b"},"arrayField":["Cfyc","RRimT","yTgUPwytpg","ylTuE"],"boolField":false,"intField":-54,"numField":-598.2630048087958,"objField":{"AhquiYc":-2790015749045659229,"CAgqdRny":2152990862106183077,"CFmRSPXj":3399369060618136109,"MkEx":6589441506085955359,"TwQzVtACqs":-4852221825547696790,"YcVHhw":5095610353408996845,"bScIXtXEsr":-1272842033772674805,"dYwN":-7458831188480179411,"dqZKyv":-3791417535743208641},"stringDateField":"1985-06-28","stringDateTimeField":"1991-03-30T19:55:12Z","stringField":"fLfi","stringTimeField":"16:46:08.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":-54,"numField":-598.2630048087958,"stringDateField":"1985-06-28","stringDateTimeField":"1991-03-30T19:55:12Z","stringField":"fLfi","stringTimeField":"16:46:08.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":764,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":764,"uuid":"9de3e418-5655-11ee-b401-675ed0f8e89b"},"arrayField":["mmGQLAbUDW","ijUYBL"],"boolField":false,"intField":-291,"numField":183.1131011798219,"objField":{"RVeBbPle":2660228420673488789,"UoGKG":1830590014478935313,"fkIGMC":3893633012940633516,"pYwOu":6687418889711648463},"stringDateField":"1950-02-08","stringDateTimeField":"1940-10-05T00:28:59Z","stringField":"fZWKWJQvU","stringTimeField":"07:09:07.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":-291,"numField":183.1131011798219,"stringDateField":"1950-02-08","stringDateTimeField":"1940-10-05T00:28:59Z","stringField":"fZWKWJQvU","stringTimeField":"07:09:07.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":765,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":765,"uuid":"9de3e418-5655-11ee-b801-675ed0f8e89b"},"arrayField":["wqDJ","cPikg","WroRYpE","fPGVFHxJLK","nBOPPS","McJqefoQjg","xQoqun","AZvPQkMupc"],"boolField":true,"intField":487,"numField":373.8744231974787,"objField":{"KHFzUjox":782908210204578887,"wZruOD":-4335623334053078465},"stringDateField":"1951-07-27","stringDateTimeField":"1974-04-21T05:21:28Z","stringField":"rTxtuiGMSQ","stringTimeField":"00:23:30.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":487,"numField":373.8744231974787,"stringDateField":"1951-07-27","stringDateTimeField":"1974-04-21T05:21:28Z","stringField":"rTxtuiGMSQ","stringTimeField":"00:23:30.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":766,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":766,"uuid":"9de3e418-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["VKoBXvuDAw","dYFuJyuU","KozNzq","dMAiQAgoC"],"boolField":false,"intField":148,"numField":-228.25394293815137,"objField":{"PknqYKDAB":-679993723256741268,"WKbIp":-1623245601931714929,"ZsUKa":7663249772172640545,"cgweQgCX":-6368696865619847078,"lzWkANHCk":3148861205679156786,"muZGD":7004951337120898998,"udPEucWESs":-1193929862870430697},"stringDateField":"1929-09-03","stringDateTimeField":"1944-10-17T16:48:21Z","stringField":"Ijmx","stringTimeField":"11:48:03.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230936Z","intField":148,"numField":-228.25394293815137,"stringDateField":"1929-09-03","stringDateTimeField":"1944-10-17T16:48:21Z","stringField":"Ijmx","stringTimeField":"11:48:03.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":767,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":767,"uuid":"9de3e419-5655-11ee-8001-675ed0f8e89b"},"arrayField":["iEzHewnLLw","FuvxsJFqLp","FNAX","GSWr"],"boolField":true,"intField":71,"numField":-708.6727657287252,"objField":{"GQAqwI":-2586571289453682553,"GWrkIEq":2591882349881114290,"JcGmsh":1701703168177539573,"OZRWywNG":-4940893695109096425,"OrZLqSUbNT":7631167135187354286,"TbAH":1603703574652497221,"WAxv":-3170376994184108307,"sxURljaSMb":-8185529001209742227,"uwKuqxgaVc":6487388800676647553},"stringDateField":"1962-12-10","stringDateTimeField":"1976-07-19T21:49:13Z","stringField":"DStcz","stringTimeField":"23:21:13.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":71,"numField":-708.6727657287252,"stringDateField":"1962-12-10","stringDateTimeField":"1976-07-19T21:49:13Z","stringField":"DStcz","stringTimeField":"23:21:13.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":768,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":768,"uuid":"9de3e419-5655-11ee-8401-675ed0f8e89b"},"arrayField":["MziF","cvCIgj","kgpv","NjCo","FrRbHLn","djLtzFs"],"boolField":true,"intField":654,"numField":-915.948495751331,"objField":{"VwReVC":7057482238610015078,"tddO":-8373853981591013427,"ueamfKjb":-9073246647087159258},"stringDateField":"1978-10-01","stringDateTimeField":"2010-01-05T22:01:46Z","stringField":"bcnekl","stringTimeField":"13:19:58.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":654,"numField":-915.948495751331,"stringDateField":"1978-10-01","stringDateTimeField":"2010-01-05T22:01:46Z","stringField":"bcnekl","stringTimeField":"13:19:58.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":769,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":769,"uuid":"9de3e419-5655-11ee-8801-675ed0f8e89b"},"arrayField":["tOAjQzh","uLzkSJoYmS","fVpNV","QCtvFSQKe","wVrbSn","pwnHlnbJg"],"boolField":true,"intField":-969,"numField":601.1677907761215,"objField":{"GLWk":-5046881949201499913,"KsQi":-6401185291650914136,"YXIFchW":2705646236544600149,"cjww":-8755016717548465483,"kVza":-6145010261698994367},"stringDateField":"2018-02-26","stringDateTimeField":"1982-07-11T15:06:32Z","stringField":"BKWufNfR","stringTimeField":"11:16:55.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":-969,"numField":601.1677907761215,"stringDateField":"2018-02-26","stringDateTimeField":"1982-07-11T15:06:32Z","stringField":"BKWufNfR","stringTimeField":"11:16:55.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":770,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":770,"uuid":"9de3e419-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["YycS","pzqisJd","mCkQRqw"],"boolField":false,"intField":949,"numField":-822.0392811740617,"objField":{"KSWaqvVZw":6323379986280433544,"PxObSt":-7972434874744038409,"dmRQZhxFO":1690895163512484281},"stringDateField":"1927-08-20","stringDateTimeField":"2016-12-05T07:28:41Z","stringField":"jvAy","stringTimeField":"17:01:08.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":949,"numField":-822.0392811740617,"stringDateField":"1927-08-20","stringDateTimeField":"2016-12-05T07:28:41Z","stringField":"jvAy","stringTimeField":"17:01:08.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":771,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":771,"uuid":"9de3e419-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ccxvWo","kyIIOe","GcyrlojM","QEEpxH","urKziye","GZum","hJiR","uKtJ","SMnxpeMkI"],"boolField":true,"intField":-272,"numField":-406.521661677261,"objField":{"BCAVIxbpb":-6404298771287723583,"Trfv":7203769552960447510,"VzqvYYFFrA":-5977979046901758928,"ZpwJPdFp":8759361796356733687,"cipx":8731726707683085341,"oMRjgfAWtu":5486432736594795450,"zvJWeyZqz":-528060409237296940},"stringDateField":"2007-08-04","stringDateTimeField":"1972-10-11T13:28:01Z","stringField":"xtOKCu","stringTimeField":"08:45:57.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":-272,"numField":-406.521661677261,"stringDateField":"2007-08-04","stringDateTimeField":"1972-10-11T13:28:01Z","stringField":"xtOKCu","stringTimeField":"08:45:57.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":772,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":772,"uuid":"9de3e419-5655-11ee-9401-675ed0f8e89b"},"arrayField":["dCDpKkzCey","ASaGZyIPZ","SoqXLM","tllGlAzrO","eMQM","vBcb","uSZXRF","cPhFkexcaN"],"boolField":true,"intField":818,"numField":-508.1671835214943,"objField":{"FPesFuXOD":6980334028806211461,"kdLNxaNSAy":-2810890742979352043,"rNgmB":-8171061113900369079,"vHFElvJx":1976524548609128030},"stringDateField":"1957-01-22","stringDateTimeField":"2011-04-08T14:53:13Z","stringField":"AUDu","stringTimeField":"17:25:45.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":818,"numField":-508.1671835214943,"stringDateField":"1957-01-22","stringDateTimeField":"2011-04-08T14:53:13Z","stringField":"AUDu","stringTimeField":"17:25:45.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":773,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":773,"uuid":"9de3e419-5655-11ee-9801-675ed0f8e89b"},"arrayField":["qhizt","XLhZeR","AoneOCgPK","gUFjzpl","AnGU"],"boolField":true,"intField":76,"numField":-235.449763144155,"objField":{"ILnyYvhQC":745938139585921769,"KcCosJM":7739979530356142551,"NKaLokq":-3116163095766757915,"ZxdMA":429132224579582549,"oCCYSAL":5399988585785241611,"owTjVOAiG":2954488508934466490,"qTZdGnwECS":-649727440132387462,"tshRDuj":4242524063723176820,"vMWDjVym":-144731107900286287},"stringDateField":"1931-09-01","stringDateTimeField":"1935-04-21T02:12:19Z","stringField":"apbL","stringTimeField":"08:32:20.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":76,"numField":-235.449763144155,"stringDateField":"1931-09-01","stringDateTimeField":"1935-04-21T02:12:19Z","stringField":"apbL","stringTimeField":"08:32:20.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":774,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":774,"uuid":"9de3e419-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["JUDvXkQ","uYVEtbD","FbTNYN"],"boolField":true,"intField":-639,"numField":-939.7912560604364,"objField":{"IMrBBkKBwY":8228454821458400963,"iIWA":-4579204269606002007,"jXYCy":1835241139266854888,"vlSnO":7193782406220412496},"stringDateField":"1989-11-22","stringDateTimeField":"1950-03-07T06:45:37Z","stringField":"UoXgBWEt","stringTimeField":"22:59:43.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":-639,"numField":-939.7912560604364,"stringDateField":"1989-11-22","stringDateTimeField":"1950-03-07T06:45:37Z","stringField":"UoXgBWEt","stringTimeField":"22:59:43.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":775,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":775,"uuid":"9de3e419-5655-11ee-a001-675ed0f8e89b"},"arrayField":["HGlU","JfeocbMz","fSAbDgg","zTDWw","EOzndkyLz","qpAQqfdE","Dafskg","RbpJViKGU","KAftae"],"boolField":false,"intField":-660,"numField":590.7741742664497,"objField":{"HYWAB":-8125501184775037800,"LTVkXEau":-2689924625729279930,"VrnQihXsH":-7668822416534823300,"VubmG":7104558775659927914,"libVZnMrRO":-7139903346169871362,"wTTTe":4558797249539940842},"stringDateField":"1966-01-09","stringDateTimeField":"1962-02-17T07:31:30Z","stringField":"iBBCWXZFnm","stringTimeField":"18:31:39.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":-660,"numField":590.7741742664497,"stringDateField":"1966-01-09","stringDateTimeField":"1962-02-17T07:31:30Z","stringField":"iBBCWXZFnm","stringTimeField":"18:31:39.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":776,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":776,"uuid":"9de3e419-5655-11ee-a401-675ed0f8e89b"},"arrayField":["KRElfLx","yUEkVzBQ"],"boolField":true,"intField":-432,"numField":156.6262139523875,"objField":{"BiAC":8477407237361849878,"CaNhwO":9165569632174983037,"RXXQ":-2764703620776234979,"UWFT":-6838775856560657299,"XdouUp":8697021667518569216,"iGBX":5181884657990713402,"yLXbHaMGKw":2857104127324732582},"stringDateField":"1977-04-28","stringDateTimeField":"2002-12-28T18:43:03Z","stringField":"XbxnKTKHn","stringTimeField":"16:54:23.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":-432,"numField":156.6262139523875,"stringDateField":"1977-04-28","stringDateTimeField":"2002-12-28T18:43:03Z","stringField":"XbxnKTKHn","stringTimeField":"16:54:23.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":777,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":777,"uuid":"9de3e419-5655-11ee-a801-675ed0f8e89b"},"arrayField":["LLfUq"],"boolField":true,"intField":-569,"numField":-454.5097201571926,"objField":{"Bxjhp":7134856735991984827,"COFbv":-3348928524587636926,"HXWxFwm":8042032748925406791,"Oaec":-1620334629969931316,"WRna":5895641847409705991,"eJqLKe":-4605410785249391223,"hhGBQlZpcX":2026817034188010380,"kROaSQC":409720655481462634,"oDwHchxz":3022759767188145775,"prRmIAOTiH":3357804518537941208},"stringDateField":"1926-03-08","stringDateTimeField":"1958-12-13T22:06:23Z","stringField":"xnEojc","stringTimeField":"09:13:27.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":-569,"numField":-454.5097201571926,"stringDateField":"1926-03-08","stringDateTimeField":"1958-12-13T22:06:23Z","stringField":"xnEojc","stringTimeField":"09:13:27.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":778,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":778,"uuid":"9de3e419-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["qNcujGiooN","eyfZvBfYEy","JAuVb","LdoXCSPh","gGizB","EVOEvoN","ozGVUmnYI"],"boolField":false,"intField":-396,"numField":51.69236687611334,"objField":{"TrBUqSZyBs":-2524998771451232656},"stringDateField":"1920-02-26","stringDateTimeField":"1954-05-27T22:49:25Z","stringField":"lKAdyOygo","stringTimeField":"12:31:58.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":-396,"numField":51.69236687611334,"stringDateField":"1920-02-26","stringDateTimeField":"1954-05-27T22:49:25Z","stringField":"lKAdyOygo","stringTimeField":"12:31:58.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":779,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":779,"uuid":"9de3e419-5655-11ee-b001-675ed0f8e89b"},"arrayField":["NQuA","ZnuRUk","MOLBzPa","cmATQ"],"boolField":true,"intField":-481,"numField":-378.3173508699994,"objField":{"McCVyObc":-7898791206965507050,"YjFld":2512404578029056044,"eMzcAfjfJQ":-8152355527465601662,"kMjyCYVg":8198282469440868202,"piHCPsdmG":-3407440288056164388,"zpRghCsG":7175032974306309794},"stringDateField":"2016-02-18","stringDateTimeField":"1958-09-24T16:57:14Z","stringField":"YCVS","stringTimeField":"00:28:29.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":-481,"numField":-378.3173508699994,"stringDateField":"2016-02-18","stringDateTimeField":"1958-09-24T16:57:14Z","stringField":"YCVS","stringTimeField":"00:28:29.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":780,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":780,"uuid":"9de3e419-5655-11ee-b401-675ed0f8e89b"},"arrayField":["dbEqhSz","ScXBfZ","zhosnSyjl","hsquaVH","VqsRcx","PTWr"],"boolField":true,"intField":-660,"numField":-532.9879127764948,"objField":{"YSEI":5327731210522775560,"ePPB":-120029206550858683,"luLNHoFBe":5145259793262868183,"uhAuXgyLN":-379698279997045126},"stringDateField":"1989-01-17","stringDateTimeField":"1915-01-24T13:52:05Z","stringField":"fcCdhgp","stringTimeField":"14:00:33.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":-660,"numField":-532.9879127764948,"stringDateField":"1989-01-17","stringDateTimeField":"1915-01-24T13:52:05Z","stringField":"fcCdhgp","stringTimeField":"14:00:33.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":781,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":781,"uuid":"9de3e419-5655-11ee-b801-675ed0f8e89b"},"arrayField":["IkBTP","tUChvgKcn","cVlgZkI","wGYgchH","eBwvwS","cRHI","xAZqGzM","trJDQ","tYGWZwrML"],"boolField":false,"intField":560,"numField":-415.1966175260233,"objField":{"IPqd":-7770891532339304188,"OhOG":-696140828649384825,"sNGubRkWq":-8569918755321783351},"stringDateField":"2020-07-17","stringDateTimeField":"1954-08-29T17:23:06Z","stringField":"pNUe","stringTimeField":"21:01:18.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":560,"numField":-415.1966175260233,"stringDateField":"2020-07-17","stringDateTimeField":"1954-08-29T17:23:06Z","stringField":"pNUe","stringTimeField":"21:01:18.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":782,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":782,"uuid":"9de3e419-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["GdCeiemfD","dmomS","lrGGrtU","vigNJpNH","msWYWBGIb","ApuEKZ","ejaTr","cGPQwwFK","dGXiStY","fPmBz"],"boolField":false,"intField":-759,"numField":-531.5944967334682,"objField":{"EczGTrPlsn":4862552764125628504,"NtFG":3093253702315208153,"PxKp":6959777315381832636,"mEZDoXExy":1453374194798055757,"ojjv":-297110084547607875,"olybZac":-1675627059841560946,"vnBjfuDg":-3736848153474776840},"stringDateField":"2002-11-28","stringDateTimeField":"1904-03-08T09:00:46Z","stringField":"szyBQYYaBx","stringTimeField":"02:59:21.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230937Z","intField":-759,"numField":-531.5944967334682,"stringDateField":"2002-11-28","stringDateTimeField":"1904-03-08T09:00:46Z","stringField":"szyBQYYaBx","stringTimeField":"02:59:21.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":783,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":783,"uuid":"9de3e41a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["gJFsNNlWA","ygkoJdbpAs"],"boolField":true,"intField":251,"numField":502.78428507324446,"objField":{"EfXMLNqf":2703156812462147815,"GXfFig":8864680703537672040,"JANSwQkoj":-4177709983736914091,"OhJild":3833636959279824835,"PWziiUNh":6916354635695545493,"ccywiiJbWc":4750619206496837481,"gZYj":-3760896763691844035,"oOCsiaEer":-4252317470804074083,"opchre":-3634708172102095053,"qzxxdzq":4135897840350640712},"stringDateField":"1972-02-02","stringDateTimeField":"1989-12-22T19:35:36Z","stringField":"IWlAUpXJF","stringTimeField":"22:46:56.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":251,"numField":502.78428507324446,"stringDateField":"1972-02-02","stringDateTimeField":"1989-12-22T19:35:36Z","stringField":"IWlAUpXJF","stringTimeField":"22:46:56.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":784,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":784,"uuid":"9de3e41a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["PtQUKYpp","zVJZgrALR"],"boolField":true,"intField":837,"numField":360.5971636859229,"objField":{"KdsSuJGj":-2077236381212001942,"NAHAVMlWjE":-8331223740115634242,"dqyaFfgpOy":3505523708935611895,"ksXJRcfLEO":-35154633212607351,"utqx":880411877276457979,"wojT":-1152053534973563620},"stringDateField":"1901-06-26","stringDateTimeField":"1976-01-26T03:43:25Z","stringField":"hkkBpZG","stringTimeField":"19:30:32.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":837,"numField":360.5971636859229,"stringDateField":"1901-06-26","stringDateTimeField":"1976-01-26T03:43:25Z","stringField":"hkkBpZG","stringTimeField":"19:30:32.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":785,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":785,"uuid":"9de3e41a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["NCizVTeJWz"],"boolField":true,"intField":697,"numField":-375.0575952727517,"objField":{"MwXLmbMI":4589059637671697685,"hyrRhuJxpG":-1945049616751955661},"stringDateField":"1906-05-07","stringDateTimeField":"1968-06-15T23:09:46Z","stringField":"QREzG","stringTimeField":"01:41:18.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":697,"numField":-375.0575952727517,"stringDateField":"1906-05-07","stringDateTimeField":"1968-06-15T23:09:46Z","stringField":"QREzG","stringTimeField":"01:41:18.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":786,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":786,"uuid":"9de3e41a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["EuLbh","NvxSQhy","wQTFibi","JDBU","VHwd","isGNFOUGqp","VnyHFOo","VugxFhVKX"],"boolField":false,"intField":-622,"numField":-198.1295703660606,"objField":{"Lvbqf":-1695430554985139355,"TrTOYs":4378420254847151159},"stringDateField":"1954-10-02","stringDateTimeField":"1906-08-07T05:17:21Z","stringField":"ZWMYoak","stringTimeField":"00:43:04.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":-622,"numField":-198.1295703660606,"stringDateField":"1954-10-02","stringDateTimeField":"1906-08-07T05:17:21Z","stringField":"ZWMYoak","stringTimeField":"00:43:04.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":787,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":787,"uuid":"9de3e41a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["jFxSTGY","NTWFhU"],"boolField":true,"intField":-610,"numField":-487.0037531519783,"objField":{"IQNyPB":5693996817188665792},"stringDateField":"1918-10-25","stringDateTimeField":"1965-01-03T20:36:15Z","stringField":"WHCjwh","stringTimeField":"03:39:14.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":-610,"numField":-487.0037531519783,"stringDateField":"1918-10-25","stringDateTimeField":"1965-01-03T20:36:15Z","stringField":"WHCjwh","stringTimeField":"03:39:14.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":788,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":788,"uuid":"9de3e41a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["vYHMS","bqNemOI","MeOAbKBdw"],"boolField":true,"intField":-946,"numField":953.0315920367524,"objField":{"ENudP":-8859669689015568760,"QzJhHdgJ":-4509966059663039940,"devVG":-8847330963590652605,"qSDJHwXZuy":5363287533349450707,"yAlF":-7504448985226263576},"stringDateField":"1924-10-03","stringDateTimeField":"2004-03-11T17:31:25Z","stringField":"xIlEt","stringTimeField":"13:47:06.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":-946,"numField":953.0315920367524,"stringDateField":"1924-10-03","stringDateTimeField":"2004-03-11T17:31:25Z","stringField":"xIlEt","stringTimeField":"13:47:06.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":789,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":789,"uuid":"9de3e41a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["cTwJon","onlL","YYNiHAxQwb","kaHJh","lUtGIUdC","nJDCD","pDtHe","XftMeq","szAtUTmzQ","LtzIccRBp"],"boolField":false,"intField":-143,"numField":-175.1537160553285,"objField":{"eiJGLUy":7473979482129128663,"uuUKYbPJ":-1210350306569124028},"stringDateField":"1980-05-27","stringDateTimeField":"1934-10-28T22:15:34Z","stringField":"mDoHm","stringTimeField":"09:25:28.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":-143,"numField":-175.1537160553285,"stringDateField":"1980-05-27","stringDateTimeField":"1934-10-28T22:15:34Z","stringField":"mDoHm","stringTimeField":"09:25:28.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":790,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":790,"uuid":"9de3e41a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["BzLnssV","ZaByQY","HxWSoGBPyZ","HgAJIs","YMci","umnZxPr","FEebTZ","TeqFhObqa"],"boolField":false,"intField":885,"numField":876.9118991084534,"objField":{"JiKnNDwBY":7049475056881756551,"qlGldsiETb":631075515643072021},"stringDateField":"1930-01-01","stringDateTimeField":"1959-04-27T13:22:16Z","stringField":"XbAP","stringTimeField":"01:12:05.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":885,"numField":876.9118991084534,"stringDateField":"1930-01-01","stringDateTimeField":"1959-04-27T13:22:16Z","stringField":"XbAP","stringTimeField":"01:12:05.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":791,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":791,"uuid":"9de3e41a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["OQgwTFP","vsGpCSmQP","TyoULys","ApXuGZioIn","dyqYx"],"boolField":false,"intField":559,"numField":-185.35912030506685,"objField":{"ElFD":4490777180244878491,"GIzrGwmpW":2567049773670816488,"KQpl":8466315415015331690,"aQhrbC":6485014570713220587,"eCjo":-104016688717885218,"jsteH":5181326685987362623,"mbEsuEYnV":6632121085471447525,"ywYhKEO":6611021511137004111},"stringDateField":"1990-11-17","stringDateTimeField":"1994-05-11T11:37:35Z","stringField":"HEGm","stringTimeField":"06:56:34.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":559,"numField":-185.35912030506685,"stringDateField":"1990-11-17","stringDateTimeField":"1994-05-11T11:37:35Z","stringField":"HEGm","stringTimeField":"06:56:34.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":792,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":792,"uuid":"9de3e41a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["SSEqxY","lhQxE","lMRJLRjuG","eiAdpqFkH","MArTIRtyvW","PIWm","lpWi","WKYQqV"],"boolField":true,"intField":-46,"numField":312.00378227698945,"objField":{"HzVuCR":-4072446172168795465,"TwXIH":2568429200661263026,"UmCtA":-8235408347980102979,"XEFaE":-3062491082697929536,"bTKrywgD":-7979323366686672797,"kPUHi":-2052663625867984076,"ugfswNXQ":-5963423869459251391},"stringDateField":"1952-01-02","stringDateTimeField":"1904-10-26T06:43:40Z","stringField":"iHLMMye","stringTimeField":"09:23:13.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":-46,"numField":312.00378227698945,"stringDateField":"1952-01-02","stringDateTimeField":"1904-10-26T06:43:40Z","stringField":"iHLMMye","stringTimeField":"09:23:13.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":793,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":793,"uuid":"9de3e41a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["QUbOgcnIL","FGqz","aMDkCmJTv","GHAjIjXvlm","fZwW","uhijG","reQQywba","mGKJOXOdAy","RVrPICkAFE","UMlbR"],"boolField":true,"intField":-374,"numField":437.1287239854147,"objField":{"DwspxHec":5419710988761972077,"HxcR":-7716817576296011169,"IfQML":6951379314484925149,"LrMcMyLe":-4058301281170001404,"SORlKBYhM":-47115136511899895,"UOjz":-3482163592923574975,"WbTDjy":9026171492402251400,"ZGziPS":7437905802918810030,"nrzuCLH":7898762871748565483,"yHRYOs":320545496499801120},"stringDateField":"1948-03-01","stringDateTimeField":"2007-05-25T10:55:36Z","stringField":"ezceXdMK","stringTimeField":"23:44:50.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":-374,"numField":437.1287239854147,"stringDateField":"1948-03-01","stringDateTimeField":"2007-05-25T10:55:36Z","stringField":"ezceXdMK","stringTimeField":"23:44:50.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":794,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":794,"uuid":"9de3e41a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["soVFzwrA","VPIlMrw"],"boolField":true,"intField":133,"numField":-673.1322153773776,"objField":{"XeDO":-299063465362714387},"stringDateField":"2005-09-09","stringDateTimeField":"2009-02-17T05:21:47Z","stringField":"IOSuXkN","stringTimeField":"01:46:30.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":133,"numField":-673.1322153773776,"stringDateField":"2005-09-09","stringDateTimeField":"2009-02-17T05:21:47Z","stringField":"IOSuXkN","stringTimeField":"01:46:30.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":795,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":795,"uuid":"9de3e41a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["aSbcqhk","hXAZodyr","eYQec","TtQxRRth","jscJp","EwSDXKYyT","AADVvqg","FtPIYG","BRJXVc","XqBiELTYrH"],"boolField":true,"intField":111,"numField":-490.1506096406013,"objField":{"LKitKyvZ":3232719831493712794,"LNCYXtJe":-2354094468928019991,"OLHfZJOTe":3326269911534910369,"QJhAMmqAq":-3848578205184734408,"QlJOF":-3344591053137034285,"TUQbrUaIK":-3432814429245502442,"oJDZg":-8287843757159234068,"ukmuafCO":8747576739478228996},"stringDateField":"1932-03-19","stringDateTimeField":"2011-02-22T20:37:28Z","stringField":"csQEGLa","stringTimeField":"15:14:54.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":111,"numField":-490.1506096406013,"stringDateField":"1932-03-19","stringDateTimeField":"2011-02-22T20:37:28Z","stringField":"csQEGLa","stringTimeField":"15:14:54.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":796,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":796,"uuid":"9de3e41a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ndiYksTe"],"boolField":false,"intField":300,"numField":388.4307072540402,"objField":{"CQtrNo":-2240893703983794162,"LtViBmchDB":-8174952291863923217,"RhEWCOk":-5943512894912721666,"RrDkmzm":8960131696774286126,"XaucMoMq":-1684713934357398888,"XcWSQ":-2200584384130227961,"qSBlR":-6537990793040870906},"stringDateField":"1909-06-01","stringDateTimeField":"1984-12-06T06:16:10Z","stringField":"LPijXJNobn","stringTimeField":"00:54:50.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":300,"numField":388.4307072540402,"stringDateField":"1909-06-01","stringDateTimeField":"1984-12-06T06:16:10Z","stringField":"LPijXJNobn","stringTimeField":"00:54:50.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":797,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":797,"uuid":"9de3e41a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["zPjYsxLDBS","CEeJd","GHuJQRptHZ","eSHJbihh"],"boolField":false,"intField":-694,"numField":-927.3190804966504,"objField":{"BIwXocrYS":6978390940306971802,"TnXeYjyiJn":-6009271363450939745,"UkqmWAQi":-2354405558525690524,"XkTK":-2395318590478696175,"lyHxTZ":-9103511015898926389,"nxqaOf":5655209134044007355,"oDDrsBot":3518459456139044850,"uYPeMOkBFz":-2020747531245577578},"stringDateField":"1901-11-28","stringDateTimeField":"2017-01-07T23:59:57Z","stringField":"PzGygaijre","stringTimeField":"06:14:13.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":-694,"numField":-927.3190804966504,"stringDateField":"1901-11-28","stringDateTimeField":"2017-01-07T23:59:57Z","stringField":"PzGygaijre","stringTimeField":"06:14:13.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":798,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":798,"uuid":"9de3e41a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["iZKzIOjwAv","waRQwQDC","LPFC","pGGPHd","OawEwYk","MFAiwHCnox","gEfsQ"],"boolField":false,"intField":1,"numField":864.249979794397,"objField":{"GsTZrnhhs":1568952681589035953,"LuEuj":-6802183076607956660,"SjvEYjAY":-2807410493478865535,"SkPwvVw":-2334722875852322208,"aovimfBLH":5113413895962693215,"btpjd":-8216944744555695781,"npvQm":22964857244381085,"ppcxGwqSK":-3372230507345298728,"qNZcVeN":4288964568589401197,"zmXIspFd":2563738117550172541},"stringDateField":"1997-04-25","stringDateTimeField":"1915-02-27T20:01:49Z","stringField":"czJBSWc","stringTimeField":"23:06:42.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230938Z","intField":1,"numField":864.249979794397,"stringDateField":"1997-04-25","stringDateTimeField":"1915-02-27T20:01:49Z","stringField":"czJBSWc","stringTimeField":"23:06:42.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":799,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":799,"uuid":"9de3e41b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["XMrqEQCrp","XSSZU","ThAISBiFrg","WvUhjQoD","lyAYucY"],"boolField":true,"intField":-774,"numField":580.5605790142789,"objField":{"LkxyKhnYEa":-8149923662395596032,"hjWkdJV":-3969216508190645595,"wyCb":-608812987740615366},"stringDateField":"1932-04-05","stringDateTimeField":"1954-08-04T04:36:09Z","stringField":"ELTMZ","stringTimeField":"09:34:35.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":-774,"numField":580.5605790142789,"stringDateField":"1932-04-05","stringDateTimeField":"1954-08-04T04:36:09Z","stringField":"ELTMZ","stringTimeField":"09:34:35.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":800,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":800,"uuid":"9de3e41b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["MkWq","tIzHIWrzmT","yfvbsQEkz"],"boolField":true,"intField":66,"numField":-658.7368832270367,"objField":{"ALVwz":-4529442526966865927,"DKZI":617050090585305952,"KUok":-797795395340230846,"bGbnFiPxR":4328411985572112952,"mdcCf":2802501969634309591,"tEAAP":-8465083558297193812},"stringDateField":"1966-12-05","stringDateTimeField":"1914-08-21T13:17:20Z","stringField":"nvmJHThD","stringTimeField":"21:01:28.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":66,"numField":-658.7368832270367,"stringDateField":"1966-12-05","stringDateTimeField":"1914-08-21T13:17:20Z","stringField":"nvmJHThD","stringTimeField":"21:01:28.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":801,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":801,"uuid":"9de3e41b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["OplvLGxTZ","RgSmoOJwHW","pYVkp","jdYRWAQ","xzZTl"],"boolField":false,"intField":-607,"numField":-603.3193428022282,"objField":{"iXpJJU":-8808214064140155566},"stringDateField":"2009-03-16","stringDateTimeField":"1941-08-11T05:19:59Z","stringField":"sKEOaFILRz","stringTimeField":"01:06:59.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":-607,"numField":-603.3193428022282,"stringDateField":"2009-03-16","stringDateTimeField":"1941-08-11T05:19:59Z","stringField":"sKEOaFILRz","stringTimeField":"01:06:59.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":802,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":802,"uuid":"9de3e41b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["WOXlSweVAJ","hhWuIT","HFdGXU","ICnhbL"],"boolField":true,"intField":431,"numField":-875.5849382640575,"objField":{"BZemR":-6537920279578964476,"RfqwCLuTY":-6548409210971054768,"TOWlzBUEr":5755535022404712465,"eYrNrFiF":5303669322019480178,"epyyVZi":-7342390294099359258,"rklwkpAzbj":-9091492930788912171},"stringDateField":"1911-05-30","stringDateTimeField":"1929-09-10T14:37:25Z","stringField":"ZijOHtK","stringTimeField":"13:50:32.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":431,"numField":-875.5849382640575,"stringDateField":"1911-05-30","stringDateTimeField":"1929-09-10T14:37:25Z","stringField":"ZijOHtK","stringTimeField":"13:50:32.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":803,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":803,"uuid":"9de3e41b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["isISRM","fddLydCooF","MYKwVIqE","TvTCes","Unvk","XgKLJ","qnonRjxon","dyUw"],"boolField":false,"intField":-882,"numField":325.34437581923737,"objField":{"FBXp":1694588202824002217,"GBpZZKMBP":3375779272168540560,"QdlipZqpX":4692708843976474235,"RNPfAm":-1399776774937420898,"SQAmyxv":-521894344686151196,"jnAcSR":-4525217568636982406},"stringDateField":"1997-01-19","stringDateTimeField":"1978-02-14T20:12:11Z","stringField":"GPHrwza","stringTimeField":"08:30:30.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":-882,"numField":325.34437581923737,"stringDateField":"1997-01-19","stringDateTimeField":"1978-02-14T20:12:11Z","stringField":"GPHrwza","stringTimeField":"08:30:30.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":804,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":804,"uuid":"9de3e41b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["gHwwIH","zwwsRAHF","JxaDfmoLs","dUSMFjh","oJFoSKTNMw","ywsG","dKsjm","btuZ","UZBcHaWMN"],"boolField":false,"intField":-117,"numField":952.2714569085392,"objField":{"JusoK":-9125412250833445421,"SKuS":-1109800839765313650,"UxIHbCtN":7827218803621672386,"ZDlkIXPh":-8684952642800203585,"vbjueMoEG":-6845178354381612791},"stringDateField":"1911-04-20","stringDateTimeField":"2016-11-25T12:22:50Z","stringField":"amEJ","stringTimeField":"06:33:54.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":-117,"numField":952.2714569085392,"stringDateField":"1911-04-20","stringDateTimeField":"2016-11-25T12:22:50Z","stringField":"amEJ","stringTimeField":"06:33:54.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":805,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":805,"uuid":"9de3e41b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["YszkQKXAD","TnYzUCF","CEiEDPsW"],"boolField":false,"intField":-937,"numField":-238.92962907871717,"objField":{"FJbW":1318170338383229307,"MiDpJSP":-883372054397015701,"ZLyhTPgw":-7631236062952589950,"hWpLk":5956050083440935295,"kwbTEzK":-8176235430723639853,"ozFGA":-6982888945655508669,"wEmpM":3738192164516025354,"zDasPcbJ":-1043941586771348724},"stringDateField":"1933-09-17","stringDateTimeField":"1959-04-10T14:48:26Z","stringField":"zWemsGk","stringTimeField":"19:49:23.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":-937,"numField":-238.92962907871717,"stringDateField":"1933-09-17","stringDateTimeField":"1959-04-10T14:48:26Z","stringField":"zWemsGk","stringTimeField":"19:49:23.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":806,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":806,"uuid":"9de3e41b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["eQYWSVKFXU","RqVtvTdEZ","cIrbHi"],"boolField":true,"intField":-793,"numField":763.2810329059847,"objField":{"CEvogz":-1393142333726683506,"OYDvpqbVrG":4393850835064070165,"WbMKByJ":6944542873515670815,"YeqAOE":-6363912279074214078,"YhRxaEGb":508492056880702765,"aewUuBtW":4405119002466529861,"ndDhHJ":1750376689500481952,"rRRTwvMysv":-7294691697672365000,"rTDkqJVS":-4074941703985098285,"yCLwT":3992290792733438647},"stringDateField":"1956-10-31","stringDateTimeField":"1997-12-31T05:36:00Z","stringField":"kCQAwJfWmt","stringTimeField":"17:41:36.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":-793,"numField":763.2810329059847,"stringDateField":"1956-10-31","stringDateTimeField":"1997-12-31T05:36:00Z","stringField":"kCQAwJfWmt","stringTimeField":"17:41:36.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":807,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":807,"uuid":"9de3e41b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["XEBEMoQTx","eglVrsn"],"boolField":false,"intField":-702,"numField":664.5657419130229,"objField":{"jgcLhrDJT":-5962981088811801716},"stringDateField":"1972-04-10","stringDateTimeField":"1971-04-22T09:08:58Z","stringField":"rbIaaFLrb","stringTimeField":"23:16:14.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":-702,"numField":664.5657419130229,"stringDateField":"1972-04-10","stringDateTimeField":"1971-04-22T09:08:58Z","stringField":"rbIaaFLrb","stringTimeField":"23:16:14.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":808,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":808,"uuid":"9de3e41b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["gZeWqmuda","mnIPu","XNRFf","dmIkQ","NCMcI","YYantfE","yWJcWUVO"],"boolField":false,"intField":775,"numField":-186.81491994100577,"objField":{"efiOPQ":-1768496392627228849,"mrxdl":-5361560039992563897,"oGmvzXqi":4900463557631847606},"stringDateField":"1953-03-27","stringDateTimeField":"2020-06-08T05:48:36Z","stringField":"kuUz","stringTimeField":"01:14:06.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":775,"numField":-186.81491994100577,"stringDateField":"1953-03-27","stringDateTimeField":"2020-06-08T05:48:36Z","stringField":"kuUz","stringTimeField":"01:14:06.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":809,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":809,"uuid":"9de3e41b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["PHogflBiHN","XyMjfiAbV","vqndOsxfq","XFqryFeMWX"],"boolField":false,"intField":198,"numField":-642.8719339795747,"objField":{"EJrDoE":6119153797618876164,"XMwAbqso":-8197111661182284963,"dyIX":-8272825001872172889,"uEOGzc":-7038943724893915390,"yrnEKxrand":-2090769226711420026,"ytBw":-5846966142946221773},"stringDateField":"1950-10-04","stringDateTimeField":"2005-07-22T20:05:36Z","stringField":"JHjqJ","stringTimeField":"21:02:36.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":198,"numField":-642.8719339795747,"stringDateField":"1950-10-04","stringDateTimeField":"2005-07-22T20:05:36Z","stringField":"JHjqJ","stringTimeField":"21:02:36.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":810,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":810,"uuid":"9de3e41b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["BzDke","JUsI","rPisG","MLcOf","LGcJhwVw"],"boolField":false,"intField":374,"numField":-723.6952011950187,"objField":{"eZfWxKOq":-898306362177771706,"rOaB":116121239175207328,"zCXeZqc":-3592113239160314591},"stringDateField":"1969-10-29","stringDateTimeField":"2023-08-08T05:39:32Z","stringField":"jKVJ","stringTimeField":"21:09:25.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":374,"numField":-723.6952011950187,"stringDateField":"1969-10-29","stringDateTimeField":"2023-08-08T05:39:32Z","stringField":"jKVJ","stringTimeField":"21:09:25.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":811,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":811,"uuid":"9de3e41b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["XQEQtYV","zPncqzAJlY"],"boolField":false,"intField":-678,"numField":-739.3114142176421,"objField":{"BdMPS":4648866262752229002,"JXqV":5366610088650522546,"VTwir":2540849445202500609,"WYsPqPzW":2500144284214034445,"dtjsFfPcQ":-6337896441487184203,"yIXwhrCpjH":-1173592655812723448},"stringDateField":"1992-08-29","stringDateTimeField":"2006-12-01T22:37:36Z","stringField":"JeshA","stringTimeField":"23:27:21.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":-678,"numField":-739.3114142176421,"stringDateField":"1992-08-29","stringDateTimeField":"2006-12-01T22:37:36Z","stringField":"JeshA","stringTimeField":"23:27:21.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":812,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":812,"uuid":"9de3e41b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["LwqtiRQmzJ","NPHKSPDRw","sxwnI","MTjpP","loLFdSx","lHJHWIaFO","DKNDVjdhh","fncxbPQ"],"boolField":false,"intField":663,"numField":-268.09226478089363,"objField":{"JRiYMwIHst":1160956035889522581,"dcldwB":-7820331145828994309,"eBXuqw":98897811734725431,"gMNVHZpAH":3970757190792690421,"iIrm":-5845835417413702949,"lwlafm":2821851003293773227},"stringDateField":"1963-11-02","stringDateTimeField":"1937-11-07T00:25:02Z","stringField":"nWUDtiC","stringTimeField":"10:57:53.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":663,"numField":-268.09226478089363,"stringDateField":"1963-11-02","stringDateTimeField":"1937-11-07T00:25:02Z","stringField":"nWUDtiC","stringTimeField":"10:57:53.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":813,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":813,"uuid":"9de3e41b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["nBaYJUae","YLZV","UDcmE","IrSGCOc","NHGpcHwk","IwqOyy"],"boolField":true,"intField":-416,"numField":155.14379619155406,"objField":{"ECUwbj":-4392920022491737106,"TJrrwbcb":-2857351025205349254,"lHSxVnJjuI":-3039662466740318221,"qzRao":-7955607735806130790,"rZicnb":-4101147923176851883},"stringDateField":"2015-05-24","stringDateTimeField":"1936-06-28T08:22:23Z","stringField":"aHslgqm","stringTimeField":"21:43:55.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":-416,"numField":155.14379619155406,"stringDateField":"2015-05-24","stringDateTimeField":"1936-06-28T08:22:23Z","stringField":"aHslgqm","stringTimeField":"21:43:55.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":814,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":814,"uuid":"9de3e41b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["LLjUb","xJxJGmmjAg","HnlYBxKy","Qafkb","XqAHrZWu"],"boolField":true,"intField":375,"numField":495.7378363648182,"objField":{"CcrDhG":-4655692738684956262,"pYqhn":4020519945846405851},"stringDateField":"1931-07-30","stringDateTimeField":"1910-02-16T12:29:23Z","stringField":"PTWPnZ","stringTimeField":"17:26:55.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230939Z","intField":375,"numField":495.7378363648182,"stringDateField":"1931-07-30","stringDateTimeField":"1910-02-16T12:29:23Z","stringField":"PTWPnZ","stringTimeField":"17:26:55.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":815,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":815,"uuid":"9de3e41c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PzNpeRsO"],"boolField":false,"intField":651,"numField":-504.1820039645316,"objField":{"OkcZwmmQH":-648343622451643555,"TgaHsixF":3472579625945646466,"XByZdVCTAx":8985099335440577378,"bgrv":-5211110004616220903,"gJVWw":-4180844110698638409,"iQgejBThz":2320192614425522305,"iWym":-1127099465743324950,"qboYjwYXDO":-423215922699848393,"rRSbyiqCB":-5351190141174910956,"xSjozv":-5419664043753226366},"stringDateField":"2014-07-10","stringDateTimeField":"1942-09-16T19:30:48Z","stringField":"MGLbtNuUAh","stringTimeField":"03:37:59.46Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":651,"numField":-504.1820039645316,"stringDateField":"2014-07-10","stringDateTimeField":"1942-09-16T19:30:48Z","stringField":"MGLbtNuUAh","stringTimeField":"03:37:59.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":816,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":816,"uuid":"9de3e41c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["iOkqWJrBPP","kkrZFg","veTKDhRo","IZfSuwcK","UkYdzaaEH","lgBOTPSbrB","bwKuCPssMG"],"boolField":false,"intField":555,"numField":-545.1184850602655,"objField":{"FJJXfuAtNQ":-8277378915930386591,"SCaQaUuzhi":-4675951436629949407,"dTYYRia":2729298039565535535},"stringDateField":"1903-04-28","stringDateTimeField":"1953-05-17T17:53:33Z","stringField":"yziHDaE","stringTimeField":"00:48:33.14Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":555,"numField":-545.1184850602655,"stringDateField":"1903-04-28","stringDateTimeField":"1953-05-17T17:53:33Z","stringField":"yziHDaE","stringTimeField":"00:48:33.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":817,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":817,"uuid":"9de3e41c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["dQVfEUGtXR","OAszSnMnaH","ERFr","iGGp","xxPOgPKCV","ZgUcqhjk","QYnAtwLsY","fREHtlNm","KCskVLoiZO"],"boolField":true,"intField":-87,"numField":213.04798834181815,"objField":{"jkzppph":848050958897675241},"stringDateField":"1966-09-30","stringDateTimeField":"1964-06-11T17:13:43Z","stringField":"ZwhPhxf","stringTimeField":"02:25:08.23Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":-87,"numField":213.04798834181815,"stringDateField":"1966-09-30","stringDateTimeField":"1964-06-11T17:13:43Z","stringField":"ZwhPhxf","stringTimeField":"02:25:08.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":818,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":818,"uuid":"9de3e41c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["wnGGjC"],"boolField":true,"intField":-953,"numField":538.8549228419879,"objField":{"Gckreq":-3088136633458967853,"IVSVH":421327444984476986,"gYeHq":6939175562555878582,"gqedTqe":4132842917805870275,"iOonpE":-4633389290260447484,"ldjcZPrmU":6160851963359527392,"mDkZRZ":-2367958638851391135,"rtCsKIcg":-3231548906331438312,"wRtPzMNFO":-7573259950779931570},"stringDateField":"2022-01-21","stringDateTimeField":"1953-08-21T00:37:13Z","stringField":"HZYRXP","stringTimeField":"06:09:24.45Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":-953,"numField":538.8549228419879,"stringDateField":"2022-01-21","stringDateTimeField":"1953-08-21T00:37:13Z","stringField":"HZYRXP","stringTimeField":"06:09:24.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":819,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":819,"uuid":"9de3e41c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ARKUklms","QlvlRDbhI","IOntrHu","YtnuT","oMyaU"],"boolField":false,"intField":-69,"numField":-387.77258054532183,"objField":{"SPRhErb":-5714218458078484865,"VSFYnicDtS":658075617293892486,"rXVrXxeTh":-6265152857861863451,"xmQNQklWf":7449978392932684860,"yxTEErdj":3927932068335804214},"stringDateField":"1960-08-23","stringDateTimeField":"1928-11-05T09:38:02Z","stringField":"JxKeQwX","stringTimeField":"05:11:10.23Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":-69,"numField":-387.77258054532183,"stringDateField":"1960-08-23","stringDateTimeField":"1928-11-05T09:38:02Z","stringField":"JxKeQwX","stringTimeField":"05:11:10.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":820,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":820,"uuid":"9de3e41c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["vVolFmOdu","VFNWJ","DfbrkV","GGxs","yRskJ","dnrx"],"boolField":false,"intField":525,"numField":469.15943732867095,"objField":{"BuBEGkDj":-2273820096971842471,"Evfzf":-5952138128586210284,"Hdtd":8065762644419998471,"TSvHCD":-4347645199044217811,"TfgoQ":-6310601973968021967,"UfkmgFqn":131036583633718142,"VgfeOJUY":-5543541360817034867,"ssvzqqKPk":24262688578003942,"uDjQ":-6798590981972259212,"yyvhgsD":1740327228434459474},"stringDateField":"2023-01-08","stringDateTimeField":"1907-05-07T17:04:23Z","stringField":"zbzkpV","stringTimeField":"08:27:33.33Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":525,"numField":469.15943732867095,"stringDateField":"2023-01-08","stringDateTimeField":"1907-05-07T17:04:23Z","stringField":"zbzkpV","stringTimeField":"08:27:33.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":821,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":821,"uuid":"9de3e41c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["fKxUsLesqN","FFVR","mVZg","rwub","ZBhI"],"boolField":false,"intField":755,"numField":640.059357837885,"objField":{"OvEaj":3466277082869973181,"eOoMMSQV":7055513421397678465},"stringDateField":"1939-10-03","stringDateTimeField":"2010-12-05T09:00:03Z","stringField":"toCONDB","stringTimeField":"12:45:04.15Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":755,"numField":640.059357837885,"stringDateField":"1939-10-03","stringDateTimeField":"2010-12-05T09:00:03Z","stringField":"toCONDB","stringTimeField":"12:45:04.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":822,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":822,"uuid":"9de3e41c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["LTQZHzti","MkuQk","arPtxx","UysyLznQ","uLZptNj","Nhnyx","hblVBHs"],"boolField":false,"intField":-294,"numField":-540.7482327777705,"objField":{"PwBSZXL":-1706208020783082028,"SCywWbXWk":-1903465330537679691,"ZOwpS":-7780865909660860091,"hfRfB":3491279580483481046},"stringDateField":"1967-02-06","stringDateTimeField":"1935-02-21T08:27:56Z","stringField":"sIGzxTwlCn","stringTimeField":"14:02:30.38Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":-294,"numField":-540.7482327777705,"stringDateField":"1967-02-06","stringDateTimeField":"1935-02-21T08:27:56Z","stringField":"sIGzxTwlCn","stringTimeField":"14:02:30.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":823,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":823,"uuid":"9de3e41c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["QUwnhVQAo","WLLgSqGjxi","iFRohKUB","HqAo","ZQxbo","ErEI","UAJo","NghHEN","zbAYayF","zaCMNoqy"],"boolField":false,"intField":-611,"numField":-290.7109535304925,"objField":{"HpMmEv":-5589552314396379922,"TFVffcGK":2970103671147422794,"jAftnRkkr":4220168703601107302},"stringDateField":"2016-10-23","stringDateTimeField":"1922-12-20T21:54:08Z","stringField":"POCh","stringTimeField":"20:18:16.41Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":-611,"numField":-290.7109535304925,"stringDateField":"2016-10-23","stringDateTimeField":"1922-12-20T21:54:08Z","stringField":"POCh","stringTimeField":"20:18:16.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":824,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":824,"uuid":"9de3e41c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["JebfwwWD","mFqqlFt","BBqy","wAWtlB","FFNTziWM","KFnJEGSKI","ehPW","OqHjjBMsYr"],"boolField":false,"intField":-447,"numField":-114.12441587547671,"objField":{"AreDnGLf":4322597558284449690,"Dbrgg":8927694596261809048,"KjrZW":6603870856518530097,"bvEAQspr":254184996661194254,"hBkpIWwI":3872206263596705463,"kSjB":6825606516530498523,"sNgVlMb":-2704107060514168151,"sxAp":-7513597494139658596,"uDGvZnw":-3341223809569190866},"stringDateField":"2013-03-18","stringDateTimeField":"1968-07-26T05:02:01Z","stringField":"BAVVlrwJd","stringTimeField":"10:50:17.38Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":-447,"numField":-114.12441587547671,"stringDateField":"2013-03-18","stringDateTimeField":"1968-07-26T05:02:01Z","stringField":"BAVVlrwJd","stringTimeField":"10:50:17.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":825,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":825,"uuid":"9de3e41c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["rqLIFczZ","QFumtYnZ","Qumo","YsodF","bEMyQCfq","QyFF","cmROQLIJ","QHcATQYyb","FFiCEBeqe","ZztxcJLVJ"],"boolField":true,"intField":-557,"numField":399.0109982241794,"objField":{"LuRu":6102531811287172663,"XMkv":4236882453932925467,"ldnHa":-5635588794529616760,"ujceUt":3272608783895410249,"vegBmpt":-7123015738085704906},"stringDateField":"1981-11-08","stringDateTimeField":"1923-06-20T20:36:41Z","stringField":"ZQyrngFqe","stringTimeField":"04:01:53.21Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":-557,"numField":399.0109982241794,"stringDateField":"1981-11-08","stringDateTimeField":"1923-06-20T20:36:41Z","stringField":"ZQyrngFqe","stringTimeField":"04:01:53.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":826,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":826,"uuid":"9de3e41c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["qlJmxWTawb","ninSpJ","DUdBA","qvKemcK","ZlCtDhh","AtDm","njMdRO"],"boolField":true,"intField":-308,"numField":-882.1146658692196,"objField":{"KCASMJM":9030088673744567784,"btvU":628264659876254954,"lcHlGyh":-5109799807495539229,"ovrsULuQt":1330352879995950449,"siYxkQx":195264980305657186,"wapR":7297609860709679509},"stringDateField":"1992-09-26","stringDateTimeField":"1918-09-27T18:40:16Z","stringField":"IwJG","stringTimeField":"12:03:33.21Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":-308,"numField":-882.1146658692196,"stringDateField":"1992-09-26","stringDateTimeField":"1918-09-27T18:40:16Z","stringField":"IwJG","stringTimeField":"12:03:33.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":827,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":827,"uuid":"9de3e41c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["KsEQMz","AiwPoMG","lcHJAiSffU","BNVeYRUp"],"boolField":false,"intField":236,"numField":502.5095198156915,"objField":{"ENHYkZfT":-2048982484088503984,"JNde":3441154390754830075,"LUTRhzPgrv":-4609728260885636008,"XPwWlcV":420126698607763171,"afzYGmcqwf":-1719726266726276685,"eeeBKwxq":-7490811756790615935,"jvJM":-516565044228125873,"ydpsmO":2764731652041167520,"yylnIw":4451737739078841084},"stringDateField":"1941-03-01","stringDateTimeField":"1961-05-16T18:57:05Z","stringField":"gZNZZSlZ","stringTimeField":"21:11:34.42Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":236,"numField":502.5095198156915,"stringDateField":"1941-03-01","stringDateTimeField":"1961-05-16T18:57:05Z","stringField":"gZNZZSlZ","stringTimeField":"21:11:34.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":828,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":828,"uuid":"9de3e41c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["onKRm","oHLLg","qodexo","oraZ","pfsF","nKZkJdIsan"],"boolField":false,"intField":856,"numField":-781.9222237260461,"objField":{"rKZJ":6131415001108275414,"tVxzvEoLe":-6971947070503233909},"stringDateField":"1997-04-19","stringDateTimeField":"1955-07-12T23:04:59Z","stringField":"wpAzbOs","stringTimeField":"14:27:19.42Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":856,"numField":-781.9222237260461,"stringDateField":"1997-04-19","stringDateTimeField":"1955-07-12T23:04:59Z","stringField":"wpAzbOs","stringTimeField":"14:27:19.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":829,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":829,"uuid":"9de3e41c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["uyDSwwVbE","ZoQS","KrIpKK","ShRngjZy","NLcG","HhFSyaJzG","nQpaTQM"],"boolField":true,"intField":163,"numField":418.89819815794425,"objField":{"EqijML":-5800516502474540100,"NpRnVfalu":-666378971750047071,"RiAFY":136729354178788269,"XhPfmG":2062312119716138228,"nkfnch":-5763729863338960618},"stringDateField":"1986-08-26","stringDateTimeField":"1908-06-27T11:15:14Z","stringField":"ZdnfWwiT","stringTimeField":"21:44:46.43Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":163,"numField":418.89819815794425,"stringDateField":"1986-08-26","stringDateTimeField":"1908-06-27T11:15:14Z","stringField":"ZdnfWwiT","stringTimeField":"21:44:46.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":830,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":830,"uuid":"9de3e41c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["pebOVOD","IrSuIie","aqwKOgIama","sriNi","JtqHzTo","cMFIbtUp","DYxvA","WltCKk"],"boolField":true,"intField":-104,"numField":-158.32679768064816,"objField":{"Echly":-6929020655340781814,"ILkKRv":-381319574886768186,"XGVpAnmH":6039874080731276685,"dbYV":1136138774149671321,"hCXnv":3410607168399264520,"iYJeYdiPuD":-7945460310178756459,"qEExv":-3579229040941564267},"stringDateField":"2020-02-08","stringDateTimeField":"1997-03-19T23:35:06Z","stringField":"nXIBoEOs","stringTimeField":"02:12:35.18Z"},"flow_published_at":"2023-09-18T19:00:21.623094Z","intField":-104,"numField":-158.32679768064816,"stringDateField":"2020-02-08","stringDateTimeField":"1997-03-19T23:35:06Z","stringField":"nXIBoEOs","stringTimeField":"02:12:35.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":831,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":831,"uuid":"9de3e41d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PxBPa","csWTx","LmNtMFsI","xEPb","NbrUIXOzq","riYuunwqwN","rvQPNSfW","uMVWajygM"],"boolField":true,"intField":751,"numField":284.84860163777756,"objField":{"CRxdvrCkC":5170855034842420334,"KCdTRvurC":-2024834856171227797,"URKqmg":7578050057174403959,"WUZGblb":-2267545787605377490,"bGpGTqoeg":-7657073535936453926,"errFuo":-1301258150265138461,"hSVVBIf":8200164629534492366,"yUGBiiVu":-8040615926901595525},"stringDateField":"2013-03-10","stringDateTimeField":"2018-06-08T06:51:33Z","stringField":"EVvmPGH","stringTimeField":"04:47:38.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":751,"numField":284.84860163777756,"stringDateField":"2013-03-10","stringDateTimeField":"2018-06-08T06:51:33Z","stringField":"EVvmPGH","stringTimeField":"04:47:38.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":832,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":832,"uuid":"9de3e41d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["dykNJ","nmHC","NMNSoBuHT","XOwTzoJ","XzJslPh","FtaQDTzej","ffBmN","qqxhV","wIUyjwD","NWuQx"],"boolField":true,"intField":-964,"numField":-902.4431717610836,"objField":{"AlRpFYzIVw":3560731835497033868,"LXYtSVnEU":-5343487094568735587,"SJEdmb":-7415498588682887973,"WOmSMenBg":-8892438215830414583,"oZjxHQvlc":-5966318027630773456},"stringDateField":"2007-03-06","stringDateTimeField":"2022-01-02T04:44:44Z","stringField":"RvmlLVGj","stringTimeField":"16:04:58.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":-964,"numField":-902.4431717610836,"stringDateField":"2007-03-06","stringDateTimeField":"2022-01-02T04:44:44Z","stringField":"RvmlLVGj","stringTimeField":"16:04:58.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":833,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":833,"uuid":"9de3e41d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["UjkmMx","UjMNl","yOcOhFnAW","ySjmUv","WgiqCCge"],"boolField":true,"intField":-867,"numField":-660.6335874644682,"objField":{"XQPBQRtkRZ":3836940886975568931,"uSWTCuH":-3909451387539408999},"stringDateField":"1994-12-04","stringDateTimeField":"1960-11-30T01:13:07Z","stringField":"KaOAHcTo","stringTimeField":"02:55:41.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":-867,"numField":-660.6335874644682,"stringDateField":"1994-12-04","stringDateTimeField":"1960-11-30T01:13:07Z","stringField":"KaOAHcTo","stringTimeField":"02:55:41.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":834,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":834,"uuid":"9de3e41d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["ANVhnyJrth","wBoCLOZC"],"boolField":true,"intField":-515,"numField":694.80606135757,"objField":{"BMXI":2591525929731519749,"JJbm":-3919687656272879166,"cYDlH":490295768846655411,"gXyk":1819699557602999544,"pPBUWE":2870701343432651023},"stringDateField":"1915-05-02","stringDateTimeField":"1916-01-16T01:20:30Z","stringField":"eYHKdxbg","stringTimeField":"10:09:33.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":-515,"numField":694.80606135757,"stringDateField":"1915-05-02","stringDateTimeField":"1916-01-16T01:20:30Z","stringField":"eYHKdxbg","stringTimeField":"10:09:33.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":835,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":835,"uuid":"9de3e41d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["pXBBMnNUDu","jjRelcJtb","Uxuwhd","IQIMx"],"boolField":false,"intField":-463,"numField":189.57047238979484,"objField":{"BlQJkw":2743836539660666623,"DjoCjmP":-1178257576704809396,"UfkDIrdyUF":-8839124734751472375},"stringDateField":"1977-02-12","stringDateTimeField":"1909-05-24T13:50:21Z","stringField":"IRgVLseef","stringTimeField":"02:43:18.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":-463,"numField":189.57047238979484,"stringDateField":"1977-02-12","stringDateTimeField":"1909-05-24T13:50:21Z","stringField":"IRgVLseef","stringTimeField":"02:43:18.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":836,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":836,"uuid":"9de3e41d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["BcTM","QITb"],"boolField":false,"intField":664,"numField":915.1185712672608,"objField":{"FeUq":-4382857146365666650,"HYSoYxDWOj":-1145704203798183393,"LUGwxZ":8323367062764705078,"OaofkOaZ":-4642405596550772335,"PldhoGe":4241365197298488749,"SFCfNXZti":5710746394648572244,"zWbbzAQU":3893422905504249812},"stringDateField":"1975-03-23","stringDateTimeField":"2010-01-09T09:18:43Z","stringField":"oDABV","stringTimeField":"18:16:59.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":664,"numField":915.1185712672608,"stringDateField":"1975-03-23","stringDateTimeField":"2010-01-09T09:18:43Z","stringField":"oDABV","stringTimeField":"18:16:59.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":837,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":837,"uuid":"9de3e41d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["MSmocrJec","yvSVqHAJ","SDuoTXFu","uxxz","HCEbCYMo","MPyOLrc"],"boolField":true,"intField":-50,"numField":-887.1195195146491,"objField":{"BLWGzFc":7874852342383457972,"KSQZvvja":-4205458436195601482,"UjIpBCkqu":-8466337917604278770,"gHOfLhBBTG":-564641469242568541,"hTSZuytwle":119511013486621256,"htXH":1402510806388682463,"kBzHY":-722289782632021472,"lbuiBafRqz":-1554348100339422454,"xAPjyL":-1323733717382349411},"stringDateField":"2004-10-18","stringDateTimeField":"2015-09-02T04:13:11Z","stringField":"crsIivwkp","stringTimeField":"03:17:44.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":-50,"numField":-887.1195195146491,"stringDateField":"2004-10-18","stringDateTimeField":"2015-09-02T04:13:11Z","stringField":"crsIivwkp","stringTimeField":"03:17:44.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":838,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":838,"uuid":"9de3e41d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["EqdEvy","zEkJu","XMxm"],"boolField":false,"intField":-985,"numField":-95.89505496144844,"objField":{"EguMlDAE":-6350493916887627306,"MyWfj":-6977146340066393009,"TAlF":8375081356651652371,"ZyCu":-2925732282745414982,"aGnaUN":3226947892365678643,"cuZhCDTz":1879414578029535755,"gtyKXJECpB":-3568304654080229422},"stringDateField":"2006-02-23","stringDateTimeField":"1962-09-18T13:26:54Z","stringField":"IORNmjmsh","stringTimeField":"13:21:40.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":-985,"numField":-95.89505496144844,"stringDateField":"2006-02-23","stringDateTimeField":"1962-09-18T13:26:54Z","stringField":"IORNmjmsh","stringTimeField":"13:21:40.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":839,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":839,"uuid":"9de3e41d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["GNUdiINN","YEHwH","TqqPPdBPtI"],"boolField":true,"intField":-723,"numField":74.08381903798133,"objField":{"CxLBII":101526881396560926,"JPDGt":7253419257600487696,"iOLdHaRgvA":3322812404140549910,"qWGuJKnpN":8297318580365953738,"qgJrM":-4686627185124013965},"stringDateField":"2023-03-01","stringDateTimeField":"1974-12-18T06:49:01Z","stringField":"NwtZ","stringTimeField":"15:07:17.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":-723,"numField":74.08381903798133,"stringDateField":"2023-03-01","stringDateTimeField":"1974-12-18T06:49:01Z","stringField":"NwtZ","stringTimeField":"15:07:17.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":840,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":840,"uuid":"9de3e41d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["dmRrhimn","ANzqCx","zCKs","rFXrJ","gEMWdTfn","rXGF"],"boolField":false,"intField":278,"numField":359.80219141960276,"objField":{"HIepBCiRx":973120760913036855,"IYGSari":-4605944937878435675,"JbsAggI":47509918712619545,"NTHzMjEXnQ":6573479307320794546,"QmrqgrPCr":-7631919696049558472,"bKjEZtcy":5768919779579206649,"umJzcOYi":8349477290163201110},"stringDateField":"1975-07-10","stringDateTimeField":"1946-01-24T11:36:58Z","stringField":"hXKz","stringTimeField":"05:21:48.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":278,"numField":359.80219141960276,"stringDateField":"1975-07-10","stringDateTimeField":"1946-01-24T11:36:58Z","stringField":"hXKz","stringTimeField":"05:21:48.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":841,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":841,"uuid":"9de3e41d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["npjEFtAQ","uYPvd","qlAr","kmrXyeTU","MEeRCWqo","mjoV"],"boolField":false,"intField":114,"numField":-410.25475765815446,"objField":{"BSSTf":481686333195726428,"GsIwPwdup":8491030050720627366,"IHpZxa":5433398354303639219,"IfGjT":-8501341955708412205,"UGFIrOc":-1555689916041167001,"nzqXRpac":139188948335431732,"oOOQ":8790368670086400742,"oVlwPkV":-4655519386591980398,"rljM":-624374211900645552,"vsSg":8768618007086801964},"stringDateField":"1939-03-24","stringDateTimeField":"1904-06-22T02:56:19Z","stringField":"BoaBgagb","stringTimeField":"19:02:47.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":114,"numField":-410.25475765815446,"stringDateField":"1939-03-24","stringDateTimeField":"1904-06-22T02:56:19Z","stringField":"BoaBgagb","stringTimeField":"19:02:47.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":842,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":842,"uuid":"9de3e41d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["trFxKADJ","SIcsIBmofN","EVfiURonnQ","UKQN","vzyAqB"],"boolField":true,"intField":606,"numField":-480.2555366072453,"objField":{"DBmKWWf":-8707008964103307131,"HNuDtPd":-7506227259003191890,"JYiRe":-7854232248579185075,"KYUnIXblNn":-4954023789970697872,"WJmzAYU":7227707275520495356,"WiqNNCyNYp":-5168665382570813004,"bmsww":-7857071188764972746,"eIYVAyr":-6760294508795615435,"fRTR":8053303270704934017},"stringDateField":"1930-12-08","stringDateTimeField":"1961-03-13T08:13:44Z","stringField":"QifQe","stringTimeField":"03:07:21.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":606,"numField":-480.2555366072453,"stringDateField":"1930-12-08","stringDateTimeField":"1961-03-13T08:13:44Z","stringField":"QifQe","stringTimeField":"03:07:21.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":843,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":843,"uuid":"9de3e41d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ONSGr","jAJBgN","DAgGA"],"boolField":false,"intField":-694,"numField":-578.6955034450887,"objField":{"ETsD":-550720113248819556,"cucw":5946940703667330996},"stringDateField":"1929-10-26","stringDateTimeField":"1915-11-05T13:52:35Z","stringField":"oiSdiMrD","stringTimeField":"13:16:22.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":-694,"numField":-578.6955034450887,"stringDateField":"1929-10-26","stringDateTimeField":"1915-11-05T13:52:35Z","stringField":"oiSdiMrD","stringTimeField":"13:16:22.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":844,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":844,"uuid":"9de3e41d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["qoqAfA","miRKJzGCne","lUFeFRjrSO","QPcUInK"],"boolField":true,"intField":334,"numField":753.7354334754596,"objField":{"HLeszHl":-5999297706184844292,"LkFEauEqgl":-1961311356942668405,"WKLFMBoB":2081815567729361550,"bVRtrgOqG":-8113526927836506367,"hoMjvADeJ":405182625017706866,"nSkVfv":-7499179031692120832,"rsniaaNh":4331906567032375493,"vheVnhVfw":957759020266842722},"stringDateField":"1960-09-06","stringDateTimeField":"1909-03-27T21:53:16Z","stringField":"QYpVyz","stringTimeField":"21:14:00.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":334,"numField":753.7354334754596,"stringDateField":"1960-09-06","stringDateTimeField":"1909-03-27T21:53:16Z","stringField":"QYpVyz","stringTimeField":"21:14:00.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":845,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":845,"uuid":"9de3e41d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["tdgKk","jJTGDmVe","gEZhoshkpl","YvztJ","lVmWlyNKiw","gIxTute","MJaicbrXgb","PudCZMl","MdUUVGqRcY","CEwcJsJzFq"],"boolField":false,"intField":576,"numField":-873.8387599694862,"objField":{"AcCSf":6311858445466058937,"JPXqT":-8682826814125238337,"NUhXe":-8397391559478455619,"aPhM":2694423268190169686,"ckvncDD":4628039612816957440,"nNeBgLvQ":-946775625602585669,"ptKSpDqa":-3444049358183647937},"stringDateField":"1915-07-02","stringDateTimeField":"1943-10-20T15:19:17Z","stringField":"pJGcFsZSK","stringTimeField":"07:00:19.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":576,"numField":-873.8387599694862,"stringDateField":"1915-07-02","stringDateTimeField":"1943-10-20T15:19:17Z","stringField":"pJGcFsZSK","stringTimeField":"07:00:19.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":846,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":846,"uuid":"9de3e41d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["fsixwGEDhn"],"boolField":true,"intField":466,"numField":-351.0252252929091,"objField":{"azPorXAz":5874522718741059722,"joQxu":-7198874005089110221},"stringDateField":"1900-02-03","stringDateTimeField":"1921-03-02T10:23:15Z","stringField":"wKjMM","stringTimeField":"15:05:57.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230941Z","intField":466,"numField":-351.0252252929091,"stringDateField":"1900-02-03","stringDateTimeField":"1921-03-02T10:23:15Z","stringField":"wKjMM","stringTimeField":"15:05:57.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":847,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":847,"uuid":"9de3e41e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["nsejtSv","iNaOf","KgRbwSPZFG"],"boolField":true,"intField":-446,"numField":620.2313440129923,"objField":{"BsCiEGzpw":2255203646720884121,"Dnix":8221968399596164448,"HzeoSduBR":-4147113414338040279,"eXMHbUBzQD":-2198434149054406239,"mFNAtMiVe":9222369366246020519},"stringDateField":"1986-09-29","stringDateTimeField":"1995-04-19T03:37:54Z","stringField":"RUnwPpI","stringTimeField":"13:09:12.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":-446,"numField":620.2313440129923,"stringDateField":"1986-09-29","stringDateTimeField":"1995-04-19T03:37:54Z","stringField":"RUnwPpI","stringTimeField":"13:09:12.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":848,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":848,"uuid":"9de3e41e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ErJnGKgI","MVueGKn","WcSuAjXrB"],"boolField":true,"intField":412,"numField":-655.7777588266539,"objField":{"CVcBQ":806249222115399850,"EoqL":5116423637482828120,"WoMGyKGKyJ":-6629115962969908932,"bImlQPJKT":592086575979157958},"stringDateField":"1958-09-22","stringDateTimeField":"1991-11-30T22:02:49Z","stringField":"uYfK","stringTimeField":"17:11:20.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":412,"numField":-655.7777588266539,"stringDateField":"1958-09-22","stringDateTimeField":"1991-11-30T22:02:49Z","stringField":"uYfK","stringTimeField":"17:11:20.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":849,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":849,"uuid":"9de3e41e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["pkxJQaeGIg","vVHbAcai","sGJFJ","FOwyWcNjM","jmYR","NHBXzqQDd","hvMGDcM","vOogBkrox"],"boolField":true,"intField":103,"numField":-294.74930842472844,"objField":{"FsWGjP":-2356802083366972114,"Kckeuqr":-3228923370195140287,"LRyefO":-5832546845291330143,"OPQkntC":-9082605228220190574,"bXdxLxiTim":-6717675140699123354,"jYwISa":4730069243433404295,"oavPFQtq":-4768632424394503176,"tttuVURf":-346039502184765099},"stringDateField":"1918-06-23","stringDateTimeField":"2022-04-26T17:52:07Z","stringField":"EkCEhiI","stringTimeField":"07:44:25.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":103,"numField":-294.74930842472844,"stringDateField":"1918-06-23","stringDateTimeField":"2022-04-26T17:52:07Z","stringField":"EkCEhiI","stringTimeField":"07:44:25.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":850,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":850,"uuid":"9de3e41e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["bcAQ","TcyWMT","WwSwCnNvK","NIvGpFRq","PDnj","Twxl","HKNiSvGxx"],"boolField":true,"intField":-18,"numField":-512.6341211435604,"objField":{"IDyNyg":4652479773017491866,"WYuZu":-4160982873970019439,"fVRm":5588644244366150169,"sWcKJnEl":7769878614848863816},"stringDateField":"1965-09-12","stringDateTimeField":"1942-01-31T02:49:00Z","stringField":"DxSkRdAShl","stringTimeField":"23:06:12.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":-18,"numField":-512.6341211435604,"stringDateField":"1965-09-12","stringDateTimeField":"1942-01-31T02:49:00Z","stringField":"DxSkRdAShl","stringTimeField":"23:06:12.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":851,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":851,"uuid":"9de3e41e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["zfuY","CnbK","EzgSFDacQ","MjDBF","wuYgsplY","gXyPRqhKkc"],"boolField":false,"intField":928,"numField":826.8395421862284,"objField":{"asHfeTzcwt":7529465885525416675,"mMFBSQH":-6810780474185089762},"stringDateField":"2019-08-11","stringDateTimeField":"1906-11-04T17:02:40Z","stringField":"KbYeCCAse","stringTimeField":"03:45:47.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":928,"numField":826.8395421862284,"stringDateField":"2019-08-11","stringDateTimeField":"1906-11-04T17:02:40Z","stringField":"KbYeCCAse","stringTimeField":"03:45:47.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":852,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":852,"uuid":"9de3e41e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["AaaVXdxz","zFpZfHZeFm","dSeeRaoN","xxyvLayQPa","VVAEYSD","HvtMvD"],"boolField":false,"intField":-539,"numField":-57.52468921380305,"objField":{"AASIARf":4014375889835851291,"GGubShJGo":-6465911314029406991,"MQTslPwjiA":7591644911367615205,"ODFRJ":-809696162858924186,"RQixgi":-4088011982978136506,"ZuotXuU":-2492537208119369791},"stringDateField":"1968-04-09","stringDateTimeField":"1921-09-11T14:29:41Z","stringField":"jenSZNIxho","stringTimeField":"18:55:05.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":-539,"numField":-57.52468921380305,"stringDateField":"1968-04-09","stringDateTimeField":"1921-09-11T14:29:41Z","stringField":"jenSZNIxho","stringTimeField":"18:55:05.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":853,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":853,"uuid":"9de3e41e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["BHQvgAMVQv","eamXaoRrh","cjlVLj"],"boolField":false,"intField":-115,"numField":892.5641675718288,"objField":{"JBARhnurJL":5943283009979126333,"bCkQsWA":276403763405079035,"hlJDkyQUy":-6487280813227974395},"stringDateField":"1943-07-10","stringDateTimeField":"1986-08-14T04:02:30Z","stringField":"sZDbkuWAx","stringTimeField":"00:22:17.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":-115,"numField":892.5641675718288,"stringDateField":"1943-07-10","stringDateTimeField":"1986-08-14T04:02:30Z","stringField":"sZDbkuWAx","stringTimeField":"00:22:17.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":854,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":854,"uuid":"9de3e41e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wous","GJrevNpUJz","QsSRpe","iuvZtk","aUwxDaHun","qbGWbfJvOp"],"boolField":true,"intField":-780,"numField":472.7012990645285,"objField":{"AXBw":7295180587983159749,"CAqVw":-515479068196590206,"VwDzJUVnO":-7974981962380762245,"ivQdaRVmt":-2913987453226118085,"rNKCE":-4247589722998813051,"vUVRFco":-2619603833737088840,"wZZbiHvI":6527226570878619883},"stringDateField":"1918-11-29","stringDateTimeField":"2013-06-10T13:49:55Z","stringField":"wpdAKvB","stringTimeField":"13:59:39.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":-780,"numField":472.7012990645285,"stringDateField":"1918-11-29","stringDateTimeField":"2013-06-10T13:49:55Z","stringField":"wpdAKvB","stringTimeField":"13:59:39.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":855,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":855,"uuid":"9de3e41e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["lHLXnIKrCv","ZXHts","vhAfL","LxenA","lClcyVLTY","YOYW","NxuafjTaZS"],"boolField":false,"intField":65,"numField":674.5967139587124,"objField":{"PuyD":-1527020037430215043,"VYBCj":6261358724410551761,"VeGE":-5453468933668723040,"lEOmIbr":-4961044569502209843,"roABn":-1569586213461054603},"stringDateField":"1942-12-11","stringDateTimeField":"1994-03-23T12:35:10Z","stringField":"pdelXja","stringTimeField":"01:50:42.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":65,"numField":674.5967139587124,"stringDateField":"1942-12-11","stringDateTimeField":"1994-03-23T12:35:10Z","stringField":"pdelXja","stringTimeField":"01:50:42.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":856,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":856,"uuid":"9de3e41e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["Cvub","IiqQGvQcs","YciHutJiXm","QjHKqMacD"],"boolField":true,"intField":922,"numField":638.1705826640318,"objField":{"BwWAY":-6098087206261493744,"GPKCUE":1565797624621044086,"OWQvvq":1332205250225097673,"cszWL":7928567081627392840,"jTCQAqAAE":3822137841881848120,"sntSJ":-2898626717483482983,"tFtvgQ":-2852251790525030875},"stringDateField":"2013-03-01","stringDateTimeField":"1966-09-15T21:26:54Z","stringField":"dkpymUW","stringTimeField":"00:40:45.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":922,"numField":638.1705826640318,"stringDateField":"2013-03-01","stringDateTimeField":"1966-09-15T21:26:54Z","stringField":"dkpymUW","stringTimeField":"00:40:45.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":857,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":857,"uuid":"9de3e41e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ejScHVnJBz","yYpRDdszkw","NLtppX","mPVVKpvynb"],"boolField":false,"intField":-558,"numField":604.4715604553083,"objField":{"QkXFNfKXVh":8436200134633707181,"lZEvg":3405337233814378075,"utjHPDYKt":3585854026140363431},"stringDateField":"1982-11-05","stringDateTimeField":"2001-12-14T11:07:29Z","stringField":"dkleYork","stringTimeField":"17:02:13.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":-558,"numField":604.4715604553083,"stringDateField":"1982-11-05","stringDateTimeField":"2001-12-14T11:07:29Z","stringField":"dkleYork","stringTimeField":"17:02:13.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":858,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":858,"uuid":"9de3e41e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["RKuw","EsTAEhN"],"boolField":false,"intField":-703,"numField":768.6720869504285,"objField":{"JuyRridV":8920810110516094659,"KLIdiLzqlR":-3249053815706703102,"MwPsCT":-4347456614859401961,"NaTM":2739186494611189511,"ShpfT":4103387696518750576,"VFFvN":8118064424215954494,"VjHOY":-8671367812672934081,"ipUdIrGBFv":93375545851822715,"orsD":1416983368221285212},"stringDateField":"1904-02-03","stringDateTimeField":"1989-06-12T21:13:35Z","stringField":"dkOV","stringTimeField":"07:25:27.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":-703,"numField":768.6720869504285,"stringDateField":"1904-02-03","stringDateTimeField":"1989-06-12T21:13:35Z","stringField":"dkOV","stringTimeField":"07:25:27.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":859,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":859,"uuid":"9de3e41e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["pyHMuWLQtY","Dkkmn","IvtAGtkmw"],"boolField":false,"intField":-361,"numField":-74.95611473948627,"objField":{"AZack":-8791458359032313118,"JWjX":-8235035015260477596,"NjnffgnY":-7236638641416390541,"UfCM":-140565078645542709,"enWgFaONE":3858154763833665794,"oxKxzt":-390734566105989043,"zHvYTTnPBx":-2874161160361275871},"stringDateField":"1947-09-23","stringDateTimeField":"1988-11-27T17:27:07Z","stringField":"OVblTaRzzc","stringTimeField":"22:14:45.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":-361,"numField":-74.95611473948627,"stringDateField":"1947-09-23","stringDateTimeField":"1988-11-27T17:27:07Z","stringField":"OVblTaRzzc","stringTimeField":"22:14:45.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":860,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":860,"uuid":"9de3e41e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["BnoCalfBS"],"boolField":false,"intField":684,"numField":508.30348789270994,"objField":{"RRzwXUJG":3115016957646752037,"TCZaetfsUd":-7889085119382697031,"Tnhz":8943221273850600480,"mfTIvTGIZp":-8199518495184317991,"rtnFJyrtqu":7090901524278053646,"tMvAjVQidk":5994235461608745251,"vJxy":8091123984360739572,"yjBQNJ":-2758730328062100665,"ypdCOmbpr":3500803787417520919},"stringDateField":"2018-06-11","stringDateTimeField":"1902-09-12T21:50:31Z","stringField":"sPUkovEhSl","stringTimeField":"20:49:25.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":684,"numField":508.30348789270994,"stringDateField":"2018-06-11","stringDateTimeField":"1902-09-12T21:50:31Z","stringField":"sPUkovEhSl","stringTimeField":"20:49:25.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":861,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":861,"uuid":"9de3e41e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["MKoOd","BuukXYK","tpDk","ebNMJLkP"],"boolField":false,"intField":279,"numField":-611.7229112579727,"objField":{"CrdYA":4901186801387113930,"ETPUQ":1040685341700939648,"Jxrn":-6221892788273299310,"QPBkN":2351275467882878911,"ReZcad":634805389134758036,"VwPqjUlfK":1579481971038213474,"ayrbqJBzJw":-1066409557147929145,"feudskQ":-6391954643986923457,"oBmmedToZ":4096862961567103346,"qEEEvZSf":6066785085507229456},"stringDateField":"1932-10-03","stringDateTimeField":"1921-06-13T06:11:57Z","stringField":"bjKu","stringTimeField":"02:01:00.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":279,"numField":-611.7229112579727,"stringDateField":"1932-10-03","stringDateTimeField":"1921-06-13T06:11:57Z","stringField":"bjKu","stringTimeField":"02:01:00.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":862,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":862,"uuid":"9de3e41e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["iUBDjBAsWZ","kFFF","bKfWMjAEqR","CrmLdoyMI","cxZcWQZC","RifnlQjL","PWiyVPYNv"],"boolField":false,"intField":-92,"numField":158.7110321998302,"objField":{"FVlQrN":3957831045312641257,"FnfL":-1056334629918112603},"stringDateField":"1960-09-21","stringDateTimeField":"1926-08-15T13:39:52Z","stringField":"YdjMU","stringTimeField":"10:41:36.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230942Z","intField":-92,"numField":158.7110321998302,"stringDateField":"1960-09-21","stringDateTimeField":"1926-08-15T13:39:52Z","stringField":"YdjMU","stringTimeField":"10:41:36.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":863,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":863,"uuid":"9de3e41f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["OULwI"],"boolField":true,"intField":114,"numField":-46.217814688044314,"objField":{"MQmBq":-2269181070547455788,"RhCxIFNC":-9194560869513808910,"SNjAo":7365479453862367480,"TQIwMPcn":-5240270378006678759,"ZmUbvGGK":-8704275911703162936,"cMBvqpM":-868612137205255211,"iNhPDnMTkz":-8193554603365467099,"qZtOV":-94391797890617222,"wWaervx":1950889819741010670},"stringDateField":"1915-01-02","stringDateTimeField":"1968-04-03T15:36:14Z","stringField":"SgrwkcrwnQ","stringTimeField":"17:16:37.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":114,"numField":-46.217814688044314,"stringDateField":"1915-01-02","stringDateTimeField":"1968-04-03T15:36:14Z","stringField":"SgrwkcrwnQ","stringTimeField":"17:16:37.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":864,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":864,"uuid":"9de3e41f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["sqtY","eajmkYWspS","UiljjYO","gUryy","cMOHgbwh","SxiQexezO","HExLpacD","SLbqA","TIpdiBTzX","WjBNyzUOT"],"boolField":false,"intField":-641,"numField":23.457909732905513,"objField":{"WoaHYw":7693968360394009817,"XRYCNaGeAT":6960908528567990874,"ioysa":-6948135499353750160,"zzKyvEUdF":-4337640387002592993},"stringDateField":"1938-06-12","stringDateTimeField":"2004-01-23T22:39:04Z","stringField":"HXIvp","stringTimeField":"04:11:55.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":-641,"numField":23.457909732905513,"stringDateField":"1938-06-12","stringDateTimeField":"2004-01-23T22:39:04Z","stringField":"HXIvp","stringTimeField":"04:11:55.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":865,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":865,"uuid":"9de3e41f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["cWJd","nhYMtOoW","xUCdIJ","LoiDgbphj","UYBLwHSiP"],"boolField":true,"intField":879,"numField":-421.55402583454526,"objField":{"HBHLcvse":-3882215348746846921,"JzAXWE":7720463786169373489,"SmXmdP":1423268804800706194,"Ycge":5286872307932354252,"acCou":-29933126758139788,"fRHcMdN":3485196412852556882,"ftYzqPBc":1788660261768628901,"jLkwis":-3957031192841592759,"rapUNMZC":5408966335678396273},"stringDateField":"1978-02-05","stringDateTimeField":"1926-04-23T17:38:38Z","stringField":"GJKOBEkan","stringTimeField":"16:07:14.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":879,"numField":-421.55402583454526,"stringDateField":"1978-02-05","stringDateTimeField":"1926-04-23T17:38:38Z","stringField":"GJKOBEkan","stringTimeField":"16:07:14.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":866,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":866,"uuid":"9de3e41f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["nGkZmmP","PgqCjzVNX","yJqeeVOcqM","xHaunPOdtq","kAgfd"],"boolField":false,"intField":899,"numField":937.705814662009,"objField":{"QVEDTe":-5723697773567406902,"ccUEneP":4626325368837320105,"dcbSQDSPmr":-7395022723998936672,"wWgbXg":8368865380529322503,"ykexnxgJWF":1246081418932739217},"stringDateField":"2015-01-07","stringDateTimeField":"1905-05-09T11:27:57Z","stringField":"AfmHvqUmf","stringTimeField":"06:59:22.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":899,"numField":937.705814662009,"stringDateField":"2015-01-07","stringDateTimeField":"1905-05-09T11:27:57Z","stringField":"AfmHvqUmf","stringTimeField":"06:59:22.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":867,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":867,"uuid":"9de3e41f-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ECqnU","BriTNTry","AQbGTvZUpC","LoNkO","TlPKPrbbS","oGJt","KOnPzYU","ZAAeMMHWY","SmETAVuDxg","XgeNk"],"boolField":false,"intField":-287,"numField":-323.5382262309434,"objField":{"CHhOmqm":9194206596573659797,"CfVJVOEKw":-5816029612019226949,"GOQDbzZE":-455460220519123159,"XBeb":3246286466351068014},"stringDateField":"1908-08-10","stringDateTimeField":"2004-06-09T09:49:52Z","stringField":"ryKRW","stringTimeField":"10:30:43.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":-287,"numField":-323.5382262309434,"stringDateField":"1908-08-10","stringDateTimeField":"2004-06-09T09:49:52Z","stringField":"ryKRW","stringTimeField":"10:30:43.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":868,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":868,"uuid":"9de3e41f-5655-11ee-9401-675ed0f8e89b"},"arrayField":["FCqEqHohL","vUvadAjc","PBZU","mqBo","YHQfV","guuQxsVbG","aLXRaA"],"boolField":true,"intField":-682,"numField":50.62994910688934,"objField":{"JlWHYrLmG":5671547165721008794,"YKul":279485494022111088,"YtyftY":-8743123459097064087,"lCpXjmhCqC":1628036193752609505,"nQnYg":-3366936971463408072,"pGZTboTsyk":2391541034812514921},"stringDateField":"2007-03-26","stringDateTimeField":"1979-10-13T17:20:53Z","stringField":"OhqbEhC","stringTimeField":"20:01:52.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":-682,"numField":50.62994910688934,"stringDateField":"2007-03-26","stringDateTimeField":"1979-10-13T17:20:53Z","stringField":"OhqbEhC","stringTimeField":"20:01:52.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":869,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":869,"uuid":"9de3e41f-5655-11ee-9801-675ed0f8e89b"},"arrayField":["tIHRvC","FqZkx","BwapyInU","maLg","flFgWZNrBL","JOyQDHi","RUsmuktxwR","rZunOCyxe"],"boolField":true,"intField":-913,"numField":626.9623621386448,"objField":{"akpvufQA":1905216971823817170,"nXkiP":-5036806733373863644,"uCEaCgXMG":240311166886027286,"xIIO":2530800947497216900,"yhDg":1063016114859562787},"stringDateField":"1959-08-01","stringDateTimeField":"1925-02-06T08:47:12Z","stringField":"QgTZbVhis","stringTimeField":"00:58:09.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":-913,"numField":626.9623621386448,"stringDateField":"1959-08-01","stringDateTimeField":"1925-02-06T08:47:12Z","stringField":"QgTZbVhis","stringTimeField":"00:58:09.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":870,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":870,"uuid":"9de3e41f-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["neoXzGuNhf","qbus","IBBaUnVuW","HSfiTNo","HhCPAdZd","yhQFCU","aunccYWfVM","qrXVKgIvkz","BxYHnqmYo","mKgAEYkveu"],"boolField":false,"intField":133,"numField":-765.6863430817939,"objField":{"EPKkKu":-6237615726008332973,"RDJZJAti":-5396113202102361783,"SpRiA":-1670728411449024709,"WIHMsTClX":2570336655423155435,"igLjK":7090287220327913610,"isHgJYIEm":-8817484733209684662,"lhmsniz":3125311484073460403,"rKetdnsvC":3375481855817457521},"stringDateField":"1980-07-30","stringDateTimeField":"1908-02-27T14:35:12Z","stringField":"DCMpPQzi","stringTimeField":"23:06:19.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":133,"numField":-765.6863430817939,"stringDateField":"1980-07-30","stringDateTimeField":"1908-02-27T14:35:12Z","stringField":"DCMpPQzi","stringTimeField":"23:06:19.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":871,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":871,"uuid":"9de3e41f-5655-11ee-a001-675ed0f8e89b"},"arrayField":["gCffZ","mJtUOb","WErGGw","erqNAGIX","gpLprQu","AUzD","uOeCTjP","zKEFeHtC","duCO","XzME"],"boolField":false,"intField":-810,"numField":-43.867800739137984,"objField":{"LpvE":-2741002124714325499,"OVzDmIMkPn":7321511680345781043,"RnvNa":4556345509819829897,"TzasA":-9046938771166235142,"akOLh":-4150275587355569079,"rOwehpRvt":-7252487990342005582,"spriduCDY":2134958074927949125,"ulaO":7739626382271708046},"stringDateField":"1973-06-28","stringDateTimeField":"1992-08-25T11:23:41Z","stringField":"AytXYtcw","stringTimeField":"05:55:11.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":-810,"numField":-43.867800739137984,"stringDateField":"1973-06-28","stringDateTimeField":"1992-08-25T11:23:41Z","stringField":"AytXYtcw","stringTimeField":"05:55:11.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":872,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":872,"uuid":"9de3e41f-5655-11ee-a401-675ed0f8e89b"},"arrayField":["gXrYnu"],"boolField":false,"intField":104,"numField":416.27187989280935,"objField":{"EehSc":-5416415784127017951,"EtstkVd":2925700976289150121,"gASnrA":-5535034962559629644,"gFuYhLx":-101185053368631321},"stringDateField":"1941-01-14","stringDateTimeField":"1968-08-23T21:57:11Z","stringField":"qJDleqbxv","stringTimeField":"18:43:21.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":104,"numField":416.27187989280935,"stringDateField":"1941-01-14","stringDateTimeField":"1968-08-23T21:57:11Z","stringField":"qJDleqbxv","stringTimeField":"18:43:21.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":873,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":873,"uuid":"9de3e41f-5655-11ee-a801-675ed0f8e89b"},"arrayField":["DJwDrLGX","yyMTfZmSB","RNAsCy","RQBQavyeZ","xLHpeMAyj","trWTRlJW"],"boolField":false,"intField":-250,"numField":575.53115542611,"objField":{"UrVNAwIUJD":-7244280162423879104,"jJGY":34959491691277207,"oqcRARUPw":3595111761510301768,"qXiV":-7995048762072406429,"yAnB":-1832699104237288125},"stringDateField":"1987-10-24","stringDateTimeField":"1988-05-30T19:03:55Z","stringField":"TatKF","stringTimeField":"04:31:09.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":-250,"numField":575.53115542611,"stringDateField":"1987-10-24","stringDateTimeField":"1988-05-30T19:03:55Z","stringField":"TatKF","stringTimeField":"04:31:09.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":874,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":874,"uuid":"9de3e41f-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["gpSUWr","tKZWUrRJ","oxksQ","XmcKPJ"],"boolField":false,"intField":591,"numField":960.295431004615,"objField":{"AEKopBZjI":-2602769152142846518,"DqBvRJ":567584477698603533,"aZYsWyjUzw":1724974221964882482,"gayUIj":-5967524810187180493,"jrty":-3584576536573445449,"uMxk":8844439446887529282,"vpubz":4999679906082258606},"stringDateField":"1937-10-01","stringDateTimeField":"1914-11-28T04:45:57Z","stringField":"uRJocCyWtN","stringTimeField":"13:03:18.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":591,"numField":960.295431004615,"stringDateField":"1937-10-01","stringDateTimeField":"1914-11-28T04:45:57Z","stringField":"uRJocCyWtN","stringTimeField":"13:03:18.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":875,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":875,"uuid":"9de3e41f-5655-11ee-b001-675ed0f8e89b"},"arrayField":["TbrpC","qLSzkmwYKl","ysZWHnP","ojRRc","tizZ"],"boolField":false,"intField":693,"numField":-599.0491211003666,"objField":{"BjtWViDr":-8950149014248170002,"HDLHBiz":-194156765438265468,"PzXCWlJu":377167319005383696,"egeU":-2937551598347256756,"iYDv":3545988019396901558,"jNFcmsS":-7465682371639615008,"sGmdgpU":-1871015376461977605,"thBeHCDW":-1528860358272860734},"stringDateField":"1975-08-30","stringDateTimeField":"1963-10-14T17:41:41Z","stringField":"LNzy","stringTimeField":"15:29:25.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":693,"numField":-599.0491211003666,"stringDateField":"1975-08-30","stringDateTimeField":"1963-10-14T17:41:41Z","stringField":"LNzy","stringTimeField":"15:29:25.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":876,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":876,"uuid":"9de3e41f-5655-11ee-b401-675ed0f8e89b"},"arrayField":["RCyXYxHb","fQUyi","XHghVIq","wjViCPwKBy","NEwB","ZITKRA","AXDK"],"boolField":true,"intField":278,"numField":741.3694322763074,"objField":{"BbIRzX":-23930740155738052,"PpKxXKsW":8740781104140435582,"RcSXq":-6884875695391191434,"SemyMekqdz":-8210947879598722488,"Stjap":6405042343700004978,"VTuPVjW":-3023918759691300565,"oGEzfE":-3094131502791521549,"sbUkXzQ":4689887293297710359,"wENOh":-6433118100997640835,"xOOXBUnfd":2263866287154087857},"stringDateField":"1992-08-18","stringDateTimeField":"1986-10-01T22:36:09Z","stringField":"mbdluO","stringTimeField":"00:36:11.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":278,"numField":741.3694322763074,"stringDateField":"1992-08-18","stringDateTimeField":"1986-10-01T22:36:09Z","stringField":"mbdluO","stringTimeField":"00:36:11.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":877,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":877,"uuid":"9de3e41f-5655-11ee-b801-675ed0f8e89b"},"arrayField":["LJlzXj","LBKKMap","scHp","ZaUICDAdql","vTAOaFnRnc","yhAjUsV","JdCzoQ","wKCSn"],"boolField":false,"intField":952,"numField":58.22571244739394,"objField":{"EQKqunDcQD":-7524228188741041983,"KtegG":4051202162046119741,"eZoxJkVoGq":-3821163391338038159,"pTqDiNp":3983230890636658402,"pZYme":-5271721594590801138,"qMqKPdk":-58372214987649573,"vbXgXeCj":1019399728961630574,"wlvaoEtM":-7311677516681944320,"xWwqoEJw":2717406256140044653},"stringDateField":"2017-01-29","stringDateTimeField":"2001-03-14T10:33:57Z","stringField":"EYoNTBC","stringTimeField":"20:55:44.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":952,"numField":58.22571244739394,"stringDateField":"2017-01-29","stringDateTimeField":"2001-03-14T10:33:57Z","stringField":"EYoNTBC","stringTimeField":"20:55:44.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":878,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":878,"uuid":"9de3e41f-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ERfACdCt","KmgjUI","tQLgJyC","kNLtG","ETyH","ZuKHbFCMX","uKtlb","rdZHjmNO","yFZemS"],"boolField":false,"intField":13,"numField":127.00772925547544,"objField":{"GzbkAOmeHt":5934493682606710213,"ZHtE":7052224746859948422,"gSpu":500078988745276936,"hJuNBI":4076162626438824308,"rfAgaQydA":-5074450059158243690,"rnRRkKnL":-2107040811953025605,"xBmrX":5993365118084094199},"stringDateField":"2021-10-09","stringDateTimeField":"1990-11-09T19:54:54Z","stringField":"sLiVIGDcFF","stringTimeField":"19:59:00.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230943Z","intField":13,"numField":127.00772925547544,"stringDateField":"2021-10-09","stringDateTimeField":"1990-11-09T19:54:54Z","stringField":"sLiVIGDcFF","stringTimeField":"19:59:00.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":879,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":879,"uuid":"9de3e420-5655-11ee-8001-675ed0f8e89b"},"arrayField":["tHpCtIMXo","dbQFHQ","dVkZY","rcjHSv"],"boolField":false,"intField":567,"numField":168.34817515988055,"objField":{"AbGejFL":3968615636305509461,"BRnvIs":-6980703524671607104,"EaAHxS":1963149821323755275,"NjGAO":4278006562053518295,"NlRvjUaF":4096131282874546690,"NrOChML":690437380156900832,"QEoEzAKvAm":-5958859294796031478,"YDBEF":-4913940326539963420,"dgrhKH":1498184770413144098},"stringDateField":"1971-02-20","stringDateTimeField":"2015-03-14T23:30:04Z","stringField":"IvYPaNczW","stringTimeField":"08:32:40.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":567,"numField":168.34817515988055,"stringDateField":"1971-02-20","stringDateTimeField":"2015-03-14T23:30:04Z","stringField":"IvYPaNczW","stringTimeField":"08:32:40.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":880,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":880,"uuid":"9de3e420-5655-11ee-8401-675ed0f8e89b"},"arrayField":["tQsERcIe","CMeBah","vVpPNYj"],"boolField":true,"intField":-227,"numField":17.157746290745955,"objField":{"ChZxKhBbpc":6283372290799092429,"FxeDtyMJIu":-2983893473683172324,"avYjJw":3253592569167131081,"pCvqkVZclo":4184018511405049102,"xmKqt":-145872787376568348,"yZaVqDzIF":6407766251028097042},"stringDateField":"1943-12-23","stringDateTimeField":"2005-03-01T18:38:51Z","stringField":"FwWHqTyq","stringTimeField":"23:03:45.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":-227,"numField":17.157746290745955,"stringDateField":"1943-12-23","stringDateTimeField":"2005-03-01T18:38:51Z","stringField":"FwWHqTyq","stringTimeField":"23:03:45.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":881,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":881,"uuid":"9de3e420-5655-11ee-8801-675ed0f8e89b"},"arrayField":["jtipG","obIiLeo","BtVI","djYjLXGkjk","JaUtLUQpp","eacPSIZC","KCHCoC","ARObk"],"boolField":true,"intField":-710,"numField":-905.5276549945204,"objField":{"HzMA":8408345554444393187,"KfhCZymOn":7988334024312431124,"PViqQjEF":-4851891174469966052,"WrpOI":-5575409329082789885,"qvqRk":-1765308323955813488,"uhFzBiVN":6987262132367089115,"waHAUw":4121586743438671266},"stringDateField":"1925-09-17","stringDateTimeField":"1962-05-08T05:31:07Z","stringField":"FDghdCxqC","stringTimeField":"12:28:18.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":-710,"numField":-905.5276549945204,"stringDateField":"1925-09-17","stringDateTimeField":"1962-05-08T05:31:07Z","stringField":"FDghdCxqC","stringTimeField":"12:28:18.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":882,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":882,"uuid":"9de3e420-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["esIUZqE","gSxdI","wLckO","OMErM","JCfdyEnC"],"boolField":true,"intField":850,"numField":-421.6722440701349,"objField":{"MMIIwgq":-5743430236120364653,"PzIacr":-5989958438881985797,"dCFtAPYA":471239416615797395,"nDCoUGiFu":8681219534299127046,"pbIDi":-6356772631602421145},"stringDateField":"1967-09-12","stringDateTimeField":"1989-09-25T14:06:13Z","stringField":"tTWBqLAx","stringTimeField":"15:42:27.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":850,"numField":-421.6722440701349,"stringDateField":"1967-09-12","stringDateTimeField":"1989-09-25T14:06:13Z","stringField":"tTWBqLAx","stringTimeField":"15:42:27.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":883,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":883,"uuid":"9de3e420-5655-11ee-9001-675ed0f8e89b"},"arrayField":["GlOYO","rNRXiIal","knLe","kDLJYGVY","QOirCdmPJA","SYiBRSTpak"],"boolField":true,"intField":-638,"numField":-786.8751949458142,"objField":{"DNrywEJud":-165134380196120593,"yPyiBW":3800106303590775795},"stringDateField":"2022-06-24","stringDateTimeField":"1953-03-26T10:30:41Z","stringField":"GHlyxiFp","stringTimeField":"12:30:17.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":-638,"numField":-786.8751949458142,"stringDateField":"2022-06-24","stringDateTimeField":"1953-03-26T10:30:41Z","stringField":"GHlyxiFp","stringTimeField":"12:30:17.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":884,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":884,"uuid":"9de3e420-5655-11ee-9401-675ed0f8e89b"},"arrayField":["tjqQVE","OeZDuFmE","dNmfEJJR","nKJp"],"boolField":true,"intField":387,"numField":-687.7705277037376,"objField":{"IlGAt":-1113845021151996515,"SGMpmWSEqA":525838934633624202,"jHQAaiY":3724831985782928476,"sBgsqgv":-5194796622546290070,"xrCjXy":-5006696713165598815},"stringDateField":"1975-01-16","stringDateTimeField":"1977-01-17T02:39:12Z","stringField":"MAmjiKMC","stringTimeField":"05:30:10.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":387,"numField":-687.7705277037376,"stringDateField":"1975-01-16","stringDateTimeField":"1977-01-17T02:39:12Z","stringField":"MAmjiKMC","stringTimeField":"05:30:10.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":885,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":885,"uuid":"9de3e420-5655-11ee-9801-675ed0f8e89b"},"arrayField":["cRVhNal","gDzT","HGjp","hPrPRo","pcCRhXTyxs","rXkKe","SANwpifV","dtLegqRGCG"],"boolField":false,"intField":201,"numField":-292.4000725689001,"objField":{"PFetZF":1838247222764659910,"gLJbQJ":-1284004061589233874,"nrzFaXOq":-2030197151717608791},"stringDateField":"1918-11-24","stringDateTimeField":"1931-12-15T15:10:58Z","stringField":"QbkGZBU","stringTimeField":"16:31:08.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":201,"numField":-292.4000725689001,"stringDateField":"1918-11-24","stringDateTimeField":"1931-12-15T15:10:58Z","stringField":"QbkGZBU","stringTimeField":"16:31:08.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":886,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":886,"uuid":"9de3e420-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["YClZPK","KjGbgVPku"],"boolField":true,"intField":-373,"numField":871.616605400727,"objField":{"KQJhBJtme":1070989114283905742},"stringDateField":"1929-03-13","stringDateTimeField":"1938-11-04T01:48:46Z","stringField":"NiSWfKUwLD","stringTimeField":"10:01:02.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":-373,"numField":871.616605400727,"stringDateField":"1929-03-13","stringDateTimeField":"1938-11-04T01:48:46Z","stringField":"NiSWfKUwLD","stringTimeField":"10:01:02.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":887,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":887,"uuid":"9de3e420-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ejJPU","lkqeYt","VrPswwIdbk"],"boolField":false,"intField":40,"numField":-76.5750079774672,"objField":{"MiBIeY":-7836731105384090987,"OVDm":3598329618140607526,"RYrnKHClkY":4160927459543375071,"eRsTspGvlt":-524901401637401762,"gxZbUZuRa":3406934639459298652},"stringDateField":"1950-08-23","stringDateTimeField":"2023-05-28T17:44:49Z","stringField":"ByYEgkOpON","stringTimeField":"13:56:26.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":40,"numField":-76.5750079774672,"stringDateField":"1950-08-23","stringDateTimeField":"2023-05-28T17:44:49Z","stringField":"ByYEgkOpON","stringTimeField":"13:56:26.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":888,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":888,"uuid":"9de3e420-5655-11ee-a401-675ed0f8e89b"},"arrayField":["mXRkv","ytXbSqjuuE","Yhcz","EkTknzS","mChEH","BztCvSoKND","STsHcN"],"boolField":false,"intField":758,"numField":296.31285815371666,"objField":{"ACRdXbvSU":-7191067639644567733,"iRWVZ":8435046970059204349,"qxuS":6299078948729846710},"stringDateField":"1952-09-13","stringDateTimeField":"1937-02-23T08:49:40Z","stringField":"ELtIinyA","stringTimeField":"03:58:07.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":758,"numField":296.31285815371666,"stringDateField":"1952-09-13","stringDateTimeField":"1937-02-23T08:49:40Z","stringField":"ELtIinyA","stringTimeField":"03:58:07.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":889,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":889,"uuid":"9de3e420-5655-11ee-a801-675ed0f8e89b"},"arrayField":["tTKpFbunY","WEVRJVqGs"],"boolField":true,"intField":68,"numField":-490.1875538542507,"objField":{"dlQubIznY":1918520800677769331,"eWYpJsIHW":8346034517827217075,"qWxAciL":6846235072265017957,"xQsRJwvPlq":-7975399055843241776},"stringDateField":"2014-04-11","stringDateTimeField":"1971-09-08T05:36:37Z","stringField":"tlqdSMb","stringTimeField":"04:52:29.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":68,"numField":-490.1875538542507,"stringDateField":"2014-04-11","stringDateTimeField":"1971-09-08T05:36:37Z","stringField":"tlqdSMb","stringTimeField":"04:52:29.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":890,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":890,"uuid":"9de3e420-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["QehiNTjM","GUGHYFKIzL","XXmNouUvWe","jJBZquY","pfbzqWocHX","vuqBKqRS","CmKeEUWTLJ"],"boolField":true,"intField":950,"numField":535.7491163896883,"objField":{"DxCvEhA":9096415333531570761,"Fmlo":-4543531268905267056,"GIOOjaLtL":6447594186000416426,"WYnYncU":8884349660731452171,"YDSUPRGOD":6272577365125076021,"hkkIY":7679201499182980011,"lNACBcU":-8922860540023616585},"stringDateField":"1993-02-18","stringDateTimeField":"1908-12-16T08:15:57Z","stringField":"nrdd","stringTimeField":"12:48:44.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":950,"numField":535.7491163896883,"stringDateField":"1993-02-18","stringDateTimeField":"1908-12-16T08:15:57Z","stringField":"nrdd","stringTimeField":"12:48:44.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":891,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":891,"uuid":"9de3e420-5655-11ee-b001-675ed0f8e89b"},"arrayField":["iYsp"],"boolField":true,"intField":292,"numField":678.9336799374654,"objField":{"BjNuubE":805290860206243635,"JkpkagoDW":196750941166079886,"RHkVfRI":7693040691921625995,"ZQnVXhM":-6521510228316423889,"lSefmUmh":-708727640948888008},"stringDateField":"2013-09-10","stringDateTimeField":"2004-11-12T05:09:59Z","stringField":"KaMQaUHGj","stringTimeField":"00:50:09.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":292,"numField":678.9336799374654,"stringDateField":"2013-09-10","stringDateTimeField":"2004-11-12T05:09:59Z","stringField":"KaMQaUHGj","stringTimeField":"00:50:09.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":892,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":892,"uuid":"9de3e420-5655-11ee-b401-675ed0f8e89b"},"arrayField":["uRQcVLnuDp","vvmk","vEWGMD","eRRRwc","oNWnL","GfzaDfueo","sdfKhp"],"boolField":false,"intField":-535,"numField":247.4010104203346,"objField":{"Juiw":5252690514965209463,"XQoh":-1834450438158424216,"dZDvZTuHAj":-6365744207610227121,"fgqmbfB":-1676524510453019592,"hKeB":1550918319245053475,"jhGUVgzRW":-2376923145477024126,"xJVCusL":-1285470583767339267},"stringDateField":"2013-09-25","stringDateTimeField":"2019-11-27T19:10:23Z","stringField":"RwPGgy","stringTimeField":"12:44:56.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":-535,"numField":247.4010104203346,"stringDateField":"2013-09-25","stringDateTimeField":"2019-11-27T19:10:23Z","stringField":"RwPGgy","stringTimeField":"12:44:56.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":893,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":893,"uuid":"9de3e420-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ToMPHjbLG","DcsRQ","XksLq"],"boolField":false,"intField":-104,"numField":145.42546887377395,"objField":{"BwLpdV":5332266494569740783,"DcYIyV":3641475293566693589,"LRYto":-4438796550841249450,"QBNQV":6972876580294932770,"dJccnZUs":6137507431316129949,"eVep":-7080312090423883984,"jvThjd":7785774366020422901,"qTqiS":-8632717285871231053,"yHNdIAl":-2585059890418237388},"stringDateField":"1914-06-07","stringDateTimeField":"1972-04-30T08:21:48Z","stringField":"KltI","stringTimeField":"10:52:17.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":-104,"numField":145.42546887377395,"stringDateField":"1914-06-07","stringDateTimeField":"1972-04-30T08:21:48Z","stringField":"KltI","stringTimeField":"10:52:17.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":894,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":894,"uuid":"9de3e420-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["HCWxbMfrU","lBHo","Bvxsrw","RlegQ","rPgbDaf","TMmZNHag","dQSIa","sNEt","fAjvaJ","rCanpWAPjz"],"boolField":true,"intField":478,"numField":348.4206495430133,"objField":{"HMVJg":-2188480708687896751,"ZMfBxDqY":994467552404038963,"dMlNh":4760062622123664215,"hFzicnW":-7157146321619757467,"uWxraYGyN":4755635146052997436},"stringDateField":"1916-01-02","stringDateTimeField":"2008-08-16T09:20:32Z","stringField":"DFthW","stringTimeField":"12:44:06.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230944Z","intField":478,"numField":348.4206495430133,"stringDateField":"1916-01-02","stringDateTimeField":"2008-08-16T09:20:32Z","stringField":"DFthW","stringTimeField":"12:44:06.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":895,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":895,"uuid":"9de3e421-5655-11ee-8001-675ed0f8e89b"},"arrayField":["KlPn","lZJD","CJdouVMp","ZXvxFgW","sffdri","LFZOmLI","DqTenCg","wRSuCONv"],"boolField":true,"intField":-580,"numField":-648.3517325094799,"objField":{"MgzB":-408041588074220140},"stringDateField":"2005-09-03","stringDateTimeField":"1900-08-28T15:21:59Z","stringField":"JEmXhmAXN","stringTimeField":"11:49:05.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":-580,"numField":-648.3517325094799,"stringDateField":"2005-09-03","stringDateTimeField":"1900-08-28T15:21:59Z","stringField":"JEmXhmAXN","stringTimeField":"11:49:05.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":896,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":896,"uuid":"9de3e421-5655-11ee-8401-675ed0f8e89b"},"arrayField":["vXKKRN","EFmOlVH","UKpINbWpLT","Yisltjg","nXov","OwPBrNxKc","bGEOHH","sxIJgVpePq"],"boolField":true,"intField":-358,"numField":906.8172009082732,"objField":{"WJcYiyvE":-8045828406884908653,"dkXv":-1934907102273348523},"stringDateField":"2008-12-13","stringDateTimeField":"1999-01-02T03:18:11Z","stringField":"fttDNNbml","stringTimeField":"18:59:11.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":-358,"numField":906.8172009082732,"stringDateField":"2008-12-13","stringDateTimeField":"1999-01-02T03:18:11Z","stringField":"fttDNNbml","stringTimeField":"18:59:11.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":897,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":897,"uuid":"9de3e421-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ARHX"],"boolField":false,"intField":-41,"numField":430.1003718455891,"objField":{"IeSia":2849951738031710393,"dDIpV":-2853997343103417096,"etOQpTn":7939120765237973566,"lSKHruGA":-8764862481383355829,"sgcl":-1682532081830868331},"stringDateField":"1988-08-14","stringDateTimeField":"2023-11-07T20:44:28Z","stringField":"sDLrHe","stringTimeField":"20:38:11.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":-41,"numField":430.1003718455891,"stringDateField":"1988-08-14","stringDateTimeField":"2023-11-07T20:44:28Z","stringField":"sDLrHe","stringTimeField":"20:38:11.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":898,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":898,"uuid":"9de3e421-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["SIBCISwmuv","OgQaXu","bRYwVR","LnurAa","xOLmhjawMq","vRMlDox"],"boolField":false,"intField":620,"numField":-741.2055039522647,"objField":{"CtgAdQrac":-3423954064282311031,"bnBts":5363174360891432813,"lrIYfqtIdp":-5968771865736453022},"stringDateField":"1949-11-16","stringDateTimeField":"1962-07-27T23:56:55Z","stringField":"JBaZns","stringTimeField":"13:53:51.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":620,"numField":-741.2055039522647,"stringDateField":"1949-11-16","stringDateTimeField":"1962-07-27T23:56:55Z","stringField":"JBaZns","stringTimeField":"13:53:51.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":899,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":899,"uuid":"9de3e421-5655-11ee-9001-675ed0f8e89b"},"arrayField":["AqYud","yXBwKofc","scypdLqs","wQVamOKz","WaiSt","TEZQ","XjOF","dbxk","CwQF","dJwUt"],"boolField":false,"intField":649,"numField":758.4324838702614,"objField":{"AOeIGxgXrG":-7728912515495967856,"DLoHyGHY":-1425968454624152240,"QCdxyua":-9195976770638700322,"aMDdj":8768960633276705492,"edIZlpc":-9208139448321582915,"kNJFPp":7263878538552694771,"pGlBzsP":1517860436933406482,"pYIRmPLiVl":-5920357694701684188,"yOwTvbgHXi":5352598218258193585},"stringDateField":"1996-11-13","stringDateTimeField":"1923-07-11T12:47:12Z","stringField":"rVglghE","stringTimeField":"15:53:04.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":649,"numField":758.4324838702614,"stringDateField":"1996-11-13","stringDateTimeField":"1923-07-11T12:47:12Z","stringField":"rVglghE","stringTimeField":"15:53:04.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":900,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":900,"uuid":"9de3e421-5655-11ee-9401-675ed0f8e89b"},"arrayField":["DFXgJcjZ","ogDMSdp","GPgP","YwLdwDpI","bgYpQPyf","qhvdIv","fehkai"],"boolField":true,"intField":-660,"numField":129.41775577490856,"objField":{"eSAS":-2200888922315502055,"wVDPwcJm":1196527564872626932},"stringDateField":"2023-12-25","stringDateTimeField":"1947-02-08T00:04:02Z","stringField":"VaYoZhZT","stringTimeField":"19:20:38.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":-660,"numField":129.41775577490856,"stringDateField":"2023-12-25","stringDateTimeField":"1947-02-08T00:04:02Z","stringField":"VaYoZhZT","stringTimeField":"19:20:38.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":901,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":901,"uuid":"9de3e421-5655-11ee-9801-675ed0f8e89b"},"arrayField":["RrKRZquGN","mHroMDBy","VBUKKP"],"boolField":true,"intField":-552,"numField":-446.1643752549153,"objField":{"AVbj":-3093060818693373880,"BkvOr":5854433385223686131,"VUtvaD":-8774813860158504341,"WGgpeC":4155716754818974633,"WaFz":2098211742009787951,"hjkScg":351491232987031298,"ujwA":-7423224200127419646,"zyPtnHUy":-6338802894272437153},"stringDateField":"1905-08-22","stringDateTimeField":"1975-12-19T08:30:52Z","stringField":"GCHAn","stringTimeField":"21:40:03.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":-552,"numField":-446.1643752549153,"stringDateField":"1905-08-22","stringDateTimeField":"1975-12-19T08:30:52Z","stringField":"GCHAn","stringTimeField":"21:40:03.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":902,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":902,"uuid":"9de3e421-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["jWCvQ","LcOp","oXVzjimkmg","EAebAabH","CFyhvLdgz","kXpMP","rThxnW","KSBflz","ppHcEmz","GsHDM"],"boolField":false,"intField":406,"numField":541.073848394245,"objField":{"FvgtQ":5447486928592639520,"NsAswgWC":8395637964818398743,"cxLJZbA":3767051705761515622,"gEhCed":-3579694555132171198,"idOlnQjBb":-815067175801786196,"jUVKtFMA":-7007196509351702326},"stringDateField":"1918-12-01","stringDateTimeField":"1921-06-20T19:59:08Z","stringField":"eFwre","stringTimeField":"09:29:34.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":406,"numField":541.073848394245,"stringDateField":"1918-12-01","stringDateTimeField":"1921-06-20T19:59:08Z","stringField":"eFwre","stringTimeField":"09:29:34.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":903,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":903,"uuid":"9de3e421-5655-11ee-a001-675ed0f8e89b"},"arrayField":["wHvq","bUKfCgYl","KpgJUQG","IxxakDo","kAgKTL","LTcP","ZszVSNji"],"boolField":true,"intField":-90,"numField":-812.8442050612597,"objField":{"LDXx":1508473307183128913,"QLRdcyN":3352195954171570799,"lSOY":679627982324815723,"mIWLhL":8356577847233653823},"stringDateField":"1921-03-03","stringDateTimeField":"1917-03-06T00:47:14Z","stringField":"XSrWMydFli","stringTimeField":"22:12:37.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":-90,"numField":-812.8442050612597,"stringDateField":"1921-03-03","stringDateTimeField":"1917-03-06T00:47:14Z","stringField":"XSrWMydFli","stringTimeField":"22:12:37.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":904,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":904,"uuid":"9de3e421-5655-11ee-a401-675ed0f8e89b"},"arrayField":["GEgo","LbSwLhut"],"boolField":true,"intField":-819,"numField":-774.2684846246127,"objField":{"rzRnGbukAS":6585687187282406646},"stringDateField":"1973-11-13","stringDateTimeField":"1970-05-11T09:32:29Z","stringField":"MvIBNXNYt","stringTimeField":"20:03:25.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":-819,"numField":-774.2684846246127,"stringDateField":"1973-11-13","stringDateTimeField":"1970-05-11T09:32:29Z","stringField":"MvIBNXNYt","stringTimeField":"20:03:25.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":905,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":905,"uuid":"9de3e421-5655-11ee-a801-675ed0f8e89b"},"arrayField":["yXldlByXTX"],"boolField":true,"intField":-731,"numField":84.232864234848,"objField":{"GWaKYi":-661505447326990517,"HzJnr":5589261950965255213,"KAvAFHp":6195363305688485333,"KnqXK":-260647670957226655,"OUVxlKDh":-8122088298385982917,"ZGxgzgN":3856624297289353702,"kMJtNPeMw":-1295715368428510144,"xZqKg":-177324336531087580,"zmrb":-8469776504542538444},"stringDateField":"1982-08-23","stringDateTimeField":"1958-04-06T22:59:56Z","stringField":"ckHGmMSvJv","stringTimeField":"00:03:11.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":-731,"numField":84.232864234848,"stringDateField":"1982-08-23","stringDateTimeField":"1958-04-06T22:59:56Z","stringField":"ckHGmMSvJv","stringTimeField":"00:03:11.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":906,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":906,"uuid":"9de3e421-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["qnvP","naKL","PBGhkJvant","Vymeei"],"boolField":false,"intField":-560,"numField":-252.77218986931516,"objField":{"BZViEhd":4064477163787480570,"CJdigIdPqK":-4039115785312161108,"XKOkIDz":-4237113197932694062,"jhPcmiXk":7079707744187315561},"stringDateField":"1909-07-30","stringDateTimeField":"2003-06-14T08:12:09Z","stringField":"cOtpZL","stringTimeField":"13:05:59.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":-560,"numField":-252.77218986931516,"stringDateField":"1909-07-30","stringDateTimeField":"2003-06-14T08:12:09Z","stringField":"cOtpZL","stringTimeField":"13:05:59.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":907,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":907,"uuid":"9de3e421-5655-11ee-b001-675ed0f8e89b"},"arrayField":["scaYgyvsN","amBWzuc","xUrW","WegHK","ElwregUyyJ","SyuWiy","tIEussQV"],"boolField":false,"intField":-687,"numField":-139.82591478337304,"objField":{"QXvWD":875749446817862260,"QsHJSBDur":-6867552661929241949,"QumJ":2263805098180195140,"XlWQleT":-6834716574208276721,"cHoArKQU":-8748732584097650589,"xGArdG":5855688928630801972,"xzMaq":-5848867510512992313},"stringDateField":"1962-10-13","stringDateTimeField":"1907-03-12T07:33:39Z","stringField":"YYwEazMsUm","stringTimeField":"02:32:37.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":-687,"numField":-139.82591478337304,"stringDateField":"1962-10-13","stringDateTimeField":"1907-03-12T07:33:39Z","stringField":"YYwEazMsUm","stringTimeField":"02:32:37.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":908,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":908,"uuid":"9de3e421-5655-11ee-b401-675ed0f8e89b"},"arrayField":["gsYvl","EpNWx","pGkt","ZUIkbWDfQl","wHBuEaKIPR","oDlUNBJgW","OBFexKVR"],"boolField":true,"intField":-131,"numField":-569.3618864812629,"objField":{"QfyAmvGE":-6188964740432216473},"stringDateField":"2013-11-16","stringDateTimeField":"1947-10-23T04:49:15Z","stringField":"LGgQmVC","stringTimeField":"21:25:31.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":-131,"numField":-569.3618864812629,"stringDateField":"2013-11-16","stringDateTimeField":"1947-10-23T04:49:15Z","stringField":"LGgQmVC","stringTimeField":"21:25:31.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":909,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":909,"uuid":"9de3e421-5655-11ee-b801-675ed0f8e89b"},"arrayField":["UgoIlC","HJtfwI","ukExwTdGz","RpIDr","bvUDqN","PhGTbPi","dTJxumTxc","ZMmKM","QBjcNNP"],"boolField":false,"intField":404,"numField":152.7081737277023,"objField":{"DtCzmvZ":7510228795103287327,"EFkKjy":2328614232803936300,"FSeddXABG":-6832014132722900074,"GwxTVXdRza":6024697137846631632,"POYuB":-1387616576177274925,"PPSc":-3755773931254780712,"XZhMLvnJh":7780274268347423635,"dOrk":-2553487604702739299,"rcmgIAWx":-794437438111438059,"ucVabBigJ":3681844893957169114},"stringDateField":"1966-02-26","stringDateTimeField":"1980-06-18T19:11:08Z","stringField":"surktBmvRQ","stringTimeField":"01:32:22.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":404,"numField":152.7081737277023,"stringDateField":"1966-02-26","stringDateTimeField":"1980-06-18T19:11:08Z","stringField":"surktBmvRQ","stringTimeField":"01:32:22.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":910,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":910,"uuid":"9de3e421-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["nBaxTJ","Ktjvflevq","iLTWoMDAu","zJttFroxfR"],"boolField":true,"intField":429,"numField":-535.0264795954483,"objField":{"AALZaI":6707225214200357297,"LZdHnZUsf":-4705982572899417787,"WZCfIJW":7568842612999511310,"YgIhNLx":-5419081863286049660,"eOAFs":-7000847176215711182,"rJSuJ":5362839260224004220,"snQqpjQk":-3772410111845139451,"uPtOKNk":-2463856561781208031,"uTDes":-8031916746565429202},"stringDateField":"2007-01-27","stringDateTimeField":"1981-06-04T07:46:13Z","stringField":"QKehIEo","stringTimeField":"01:38:57.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230945Z","intField":429,"numField":-535.0264795954483,"stringDateField":"2007-01-27","stringDateTimeField":"1981-06-04T07:46:13Z","stringField":"QKehIEo","stringTimeField":"01:38:57.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":911,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":911,"uuid":"9de3e422-5655-11ee-8001-675ed0f8e89b"},"arrayField":["GoWPvFfzO","HxdG","LDhLqbYwSW","kihTBQc","mEDPmt","bmJb","Rwakq","hPZMvhmXAH"],"boolField":true,"intField":-761,"numField":479.75182281382024,"objField":{"WULbTJVi":-1073108512060042817,"XKOX":7176735841066720174,"ZqYcjMhA":2625023811346680612,"cLoGi":4523222243417431268,"eAzNO":-3021048365631770229,"gObdfizJnR":-463221853622913475,"pPEPAF":-3096756139958350916,"pWBjl":-8133187952449085502,"qSrm":7406293730217607677,"yKROSWl":3832626377457378839},"stringDateField":"1911-03-10","stringDateTimeField":"2012-05-21T08:53:56Z","stringField":"MDtAuFKqb","stringTimeField":"11:57:34.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":-761,"numField":479.75182281382024,"stringDateField":"1911-03-10","stringDateTimeField":"2012-05-21T08:53:56Z","stringField":"MDtAuFKqb","stringTimeField":"11:57:34.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":912,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":912,"uuid":"9de3e422-5655-11ee-8401-675ed0f8e89b"},"arrayField":["sLrcHNtb","FRGVDXRlzZ","kSUAMXKcek","IoxAEi"],"boolField":false,"intField":80,"numField":-115.7255573016639,"objField":{"DCut":-2181212157938357789,"NNSlu":-2740604596241935155,"PnGFnCif":9132649708786526696,"YNFOr":3278753902846674457,"cPMQsCm":-4607412541441088891,"izsQCQ":1283374302882118656,"pRdeBaz":3157718303668958329,"smxrY":-1628879783215134288,"vzwL":6580057941451230645,"ylzRKrRbaM":-5515044179943099785},"stringDateField":"1918-11-28","stringDateTimeField":"1962-02-25T10:27:36Z","stringField":"RTPASHG","stringTimeField":"06:05:56.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":80,"numField":-115.7255573016639,"stringDateField":"1918-11-28","stringDateTimeField":"1962-02-25T10:27:36Z","stringField":"RTPASHG","stringTimeField":"06:05:56.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":913,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":913,"uuid":"9de3e422-5655-11ee-8801-675ed0f8e89b"},"arrayField":["WokHVX","iJysxyBAht","PkDIseVstO","dzsKZjUNO","rtWXmIH"],"boolField":false,"intField":-145,"numField":518.331771902242,"objField":{"UkmhBa":6528516341724869142,"XjMzSsQqUQ":-8273602592491357887,"aYpqEUtQT":2915630524271674869,"eFNpEPFOe":-1556210659786740511,"orOU":-4674610470109144532,"tbvQ":763626901710830837},"stringDateField":"1958-06-19","stringDateTimeField":"1928-03-01T15:54:14Z","stringField":"dghlXSFQ","stringTimeField":"05:05:24.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":-145,"numField":518.331771902242,"stringDateField":"1958-06-19","stringDateTimeField":"1928-03-01T15:54:14Z","stringField":"dghlXSFQ","stringTimeField":"05:05:24.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":914,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":914,"uuid":"9de3e422-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["feiuOipNCv","lFwOdG","RvvodnRjp"],"boolField":true,"intField":-60,"numField":-350.9454530903696,"objField":{"TgwTlKmTa":-264783460487852034,"WiVtZmRf":4347511128013493898,"jfWK":-8052543598681265728},"stringDateField":"1972-11-23","stringDateTimeField":"1953-10-19T13:04:39Z","stringField":"bRwZnMs","stringTimeField":"07:01:38.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":-60,"numField":-350.9454530903696,"stringDateField":"1972-11-23","stringDateTimeField":"1953-10-19T13:04:39Z","stringField":"bRwZnMs","stringTimeField":"07:01:38.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":915,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":915,"uuid":"9de3e422-5655-11ee-9001-675ed0f8e89b"},"arrayField":["EMIVkhOy","wpScd","wVwQaxX","xYGBfk","HHwexx","CpHze"],"boolField":true,"intField":41,"numField":-724.7066270116005,"objField":{"gkDDPPZy":1130585061966095637,"rjoZWguQU":-6155257877540064015,"xdLjp":7459792354719566419},"stringDateField":"1999-04-21","stringDateTimeField":"1933-07-02T06:50:58Z","stringField":"HzvURRllCd","stringTimeField":"05:18:43.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":41,"numField":-724.7066270116005,"stringDateField":"1999-04-21","stringDateTimeField":"1933-07-02T06:50:58Z","stringField":"HzvURRllCd","stringTimeField":"05:18:43.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":916,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":916,"uuid":"9de3e422-5655-11ee-9401-675ed0f8e89b"},"arrayField":["oGIsvNjAvT"],"boolField":false,"intField":-17,"numField":-999.967469870517,"objField":{"CHpOzM":299249002861594654,"CsAqmsB":6753801147627227580,"FjGZ":771633307664438722,"WETzij":1173301662597209254,"aDnKYyBN":-8653982377432443296,"aiGREnTB":7409758274595653597,"dUjfECwPa":91486532334113528,"grTolvpi":7719604816654487853,"iGnwGUq":5669616424533477295,"jAMxJA":-2312469450539962965},"stringDateField":"1934-05-29","stringDateTimeField":"1907-03-24T12:38:43Z","stringField":"kfPMimp","stringTimeField":"04:07:11.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":-17,"numField":-999.967469870517,"stringDateField":"1934-05-29","stringDateTimeField":"1907-03-24T12:38:43Z","stringField":"kfPMimp","stringTimeField":"04:07:11.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":917,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":917,"uuid":"9de3e422-5655-11ee-9801-675ed0f8e89b"},"arrayField":["KyOoXs","TsPZzBgZz"],"boolField":false,"intField":419,"numField":-624.4141395084328,"objField":{"EANyaeFb":-2152873194417736128,"OStGKtPJe":-4371635762640598562,"QPqp":-1426072838653325185,"XhAgbJbcF":-4172168615868460257,"YavlD":-4757418060791582423,"eoxZC":-5486334804996266128,"gQTm":-883275438981455010,"igNOlyvqKv":3666113545744889657,"xVkr":1022887645415631788},"stringDateField":"1935-04-09","stringDateTimeField":"1972-11-20T00:16:46Z","stringField":"pDEBPQtw","stringTimeField":"18:07:14.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":419,"numField":-624.4141395084328,"stringDateField":"1935-04-09","stringDateTimeField":"1972-11-20T00:16:46Z","stringField":"pDEBPQtw","stringTimeField":"18:07:14.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":918,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":918,"uuid":"9de3e422-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["IjGyJo"],"boolField":false,"intField":572,"numField":-772.318043587251,"objField":{"GCGLQ":-506367988536756527},"stringDateField":"1976-12-24","stringDateTimeField":"1966-11-29T08:01:48Z","stringField":"VTqBpwLp","stringTimeField":"14:49:31.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":572,"numField":-772.318043587251,"stringDateField":"1976-12-24","stringDateTimeField":"1966-11-29T08:01:48Z","stringField":"VTqBpwLp","stringTimeField":"14:49:31.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":919,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":919,"uuid":"9de3e422-5655-11ee-a001-675ed0f8e89b"},"arrayField":["mZGUvl","rDFirAbaqz","GfPdXA","CiXIOyOQ","CExnTrPuux","QnKwlX","soWAHKh","eKhNhdzl","Kfqe","hdzaEaFLJn"],"boolField":true,"intField":959,"numField":191.13857546095937,"objField":{"HKtvvE":-8196569427097592906,"aUbYiyMzTC":2764425309998404183,"cdrmKSo":3844220452701089388,"eGxyae":-8549529358971513756,"ltzRqas":-4937057832866477343,"skrMFoJc":-7007615123930967000,"vYOAdOb":-8279731255650318172,"vokUIU":-9060737312396790874,"wieizQ":4837666899863244147},"stringDateField":"1980-07-01","stringDateTimeField":"2001-10-01T03:48:12Z","stringField":"pYoWbzH","stringTimeField":"10:03:17.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":959,"numField":191.13857546095937,"stringDateField":"1980-07-01","stringDateTimeField":"2001-10-01T03:48:12Z","stringField":"pYoWbzH","stringTimeField":"10:03:17.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":920,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":920,"uuid":"9de3e422-5655-11ee-a401-675ed0f8e89b"},"arrayField":["KRONId","QkMNSO"],"boolField":false,"intField":231,"numField":402.68124747011666,"objField":{"Asflqkcg":-49275600155872319,"CpDV":-2084144283419742415,"FforJH":-5991736103425627918,"ICpw":3897737398667077285,"PZgnfdXG":3178237061026051350,"WEhHXVBR":-3864031968217891422,"dCVxSBAJNm":8112990451726186972,"lPMmLXGjX":6569653203312910632,"slzv":4048932466796063081},"stringDateField":"1969-04-18","stringDateTimeField":"1902-06-23T05:17:51Z","stringField":"xuXaJxvZEX","stringTimeField":"01:25:46.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":231,"numField":402.68124747011666,"stringDateField":"1969-04-18","stringDateTimeField":"1902-06-23T05:17:51Z","stringField":"xuXaJxvZEX","stringTimeField":"01:25:46.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":921,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":921,"uuid":"9de3e422-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sSMcHpkgDo","pDeli","XZPopmX","fwOvQeoJ","spqNCrlm","LnNVk"],"boolField":true,"intField":601,"numField":599.6817383006731,"objField":{"BKiY":7766393938454326824,"HYqvUNcKYT":-8902892230643009759,"VGrVEPHE":7637020626962113436,"lVCdT":-2982817280363831159,"ucDLvUoFev":-3436176559448967598,"wIOnBNRLH":-7834520087409183414},"stringDateField":"1910-02-18","stringDateTimeField":"1999-01-09T08:43:32Z","stringField":"dImHvlPhHc","stringTimeField":"13:49:18.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":601,"numField":599.6817383006731,"stringDateField":"1910-02-18","stringDateTimeField":"1999-01-09T08:43:32Z","stringField":"dImHvlPhHc","stringTimeField":"13:49:18.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":922,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":922,"uuid":"9de3e422-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["YkWO","qNlEma","TrMSWS","RuFmG","YqfAVEtYI","QYJZpYUr"],"boolField":true,"intField":-569,"numField":395.8179099831778,"objField":{"HBsHKSfVfl":7973832596725488384,"LzDisaN":3539641845184974699,"TdKFyVg":3557878269064421213,"wHbgQZQbG":-7106095730006311331},"stringDateField":"2014-08-03","stringDateTimeField":"2000-12-02T12:05:13Z","stringField":"tpaBgPkD","stringTimeField":"17:43:40.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":-569,"numField":395.8179099831778,"stringDateField":"2014-08-03","stringDateTimeField":"2000-12-02T12:05:13Z","stringField":"tpaBgPkD","stringTimeField":"17:43:40.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":923,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":923,"uuid":"9de3e422-5655-11ee-b001-675ed0f8e89b"},"arrayField":["FXex","FbypaeM","kFmRZVeM","QMuJlh","LCzvUTS","WjuSawZS"],"boolField":false,"intField":850,"numField":-943.660291353314,"objField":{"AZYBsTM":5633805139636804579,"nEYDxuaPjI":1091343974815838588},"stringDateField":"1968-01-22","stringDateTimeField":"1924-12-13T14:06:45Z","stringField":"vZLG","stringTimeField":"20:13:36.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":850,"numField":-943.660291353314,"stringDateField":"1968-01-22","stringDateTimeField":"1924-12-13T14:06:45Z","stringField":"vZLG","stringTimeField":"20:13:36.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":924,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":924,"uuid":"9de3e422-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ZXpKdlmJ"],"boolField":false,"intField":526,"numField":627.2656344897727,"objField":{"AOkFGcem":5288145416285061832,"FGSn":-2127719378760853765,"IizKhL":3936473258693524613,"QeSLzDDA":3886860042535957784,"ZIwR":8731349210461573134,"aGLjwrz":-8379152197670802382,"icHfMykjau":-6861351619534087137,"oKKXvX":-243056659851191968,"yijEm":3636538987853753127},"stringDateField":"1959-11-22","stringDateTimeField":"1974-06-04T17:40:52Z","stringField":"xLfv","stringTimeField":"17:40:10.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":526,"numField":627.2656344897727,"stringDateField":"1959-11-22","stringDateTimeField":"1974-06-04T17:40:52Z","stringField":"xLfv","stringTimeField":"17:40:10.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":925,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":925,"uuid":"9de3e422-5655-11ee-b801-675ed0f8e89b"},"arrayField":["KOnYz","ddVycKPBGo","uwHAepF","gxJNN","wvYDvZ","NDMtf","nGSDFHQAg"],"boolField":false,"intField":549,"numField":588.9888063272697,"objField":{"LDlUEeVMcu":8185772648909354404,"VPTZIWzh":-9183791562755834248,"sxOocbc":-1803849780928102068},"stringDateField":"1985-05-03","stringDateTimeField":"1926-11-28T09:56:36Z","stringField":"mBZwyZC","stringTimeField":"08:07:18.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":549,"numField":588.9888063272697,"stringDateField":"1985-05-03","stringDateTimeField":"1926-11-28T09:56:36Z","stringField":"mBZwyZC","stringTimeField":"08:07:18.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":926,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":926,"uuid":"9de3e422-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["mjzm","brdiZGEw","WrJPkrOFj","dBeISUp","sVxdrTZNm"],"boolField":false,"intField":619,"numField":-115.33607817376146,"objField":{"dVkKLeXuQ":-3571236518835492630,"qqDtR":3159017292742512520,"reKnK":-6170159893829986214},"stringDateField":"1974-03-10","stringDateTimeField":"1957-09-20T09:10:31Z","stringField":"YIiT","stringTimeField":"06:05:31.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230946Z","intField":619,"numField":-115.33607817376146,"stringDateField":"1974-03-10","stringDateTimeField":"1957-09-20T09:10:31Z","stringField":"YIiT","stringTimeField":"06:05:31.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":927,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":927,"uuid":"9de3e423-5655-11ee-8001-675ed0f8e89b"},"arrayField":["hlslkKeRt","XelLUi","azUREax","aqDvD","TJpYVcv","AnwXl","TdjAlLd","BZdjMZ","gqWB"],"boolField":false,"intField":-862,"numField":-430.9583991510861,"objField":{"FUWcW":5910616523313373492,"UayjylV":2142620940846300487,"wBlE":722642088034218305},"stringDateField":"2006-10-23","stringDateTimeField":"1959-11-18T09:02:59Z","stringField":"sBFjcYbOm","stringTimeField":"01:04:28.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":-862,"numField":-430.9583991510861,"stringDateField":"2006-10-23","stringDateTimeField":"1959-11-18T09:02:59Z","stringField":"sBFjcYbOm","stringTimeField":"01:04:28.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":928,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":928,"uuid":"9de3e423-5655-11ee-8401-675ed0f8e89b"},"arrayField":["zXdSAYx","DVcBp","XvZsexnV","zmGVOauLv","oJkdsNgZTJ","tdwVNlL"],"boolField":false,"intField":-131,"numField":-723.8703690431952,"objField":{"gffZkJIz":-6962762791214321678,"stRdwiJExf":7586076278467593187,"xBvNV":-4105387779502709404,"zbGtR":-1285866293362125280},"stringDateField":"1990-03-19","stringDateTimeField":"1927-04-09T21:45:43Z","stringField":"OxyJObig","stringTimeField":"23:45:44.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":-131,"numField":-723.8703690431952,"stringDateField":"1990-03-19","stringDateTimeField":"1927-04-09T21:45:43Z","stringField":"OxyJObig","stringTimeField":"23:45:44.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":929,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":929,"uuid":"9de3e423-5655-11ee-8801-675ed0f8e89b"},"arrayField":["sYRee","LuxDEU","DnFOX","FxWzavnwz","LcpuPKa","UTqQkAj","eatAeqZ"],"boolField":true,"intField":259,"numField":308.3892248213127,"objField":{"NBpPmk":8888840562991389444,"cSmZeWZWP":8016830013665418479},"stringDateField":"2004-08-19","stringDateTimeField":"1990-01-15T16:29:52Z","stringField":"XkewIc","stringTimeField":"12:45:43.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":259,"numField":308.3892248213127,"stringDateField":"2004-08-19","stringDateTimeField":"1990-01-15T16:29:52Z","stringField":"XkewIc","stringTimeField":"12:45:43.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":930,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":930,"uuid":"9de3e423-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KhumKXCNgl","RpFp","RkpYv","VsPOPlftAp","iQaondHQc","Ognt"],"boolField":true,"intField":-352,"numField":-489.56163492760584,"objField":{"FuUKSRdq":3822396685552798887,"JXJGlwWzOB":-488469254033163040,"MSEhYFiBEx":-8842248072886044164,"ZkLSvM":-5848755058693505627,"aGcEN":-4699677871409621760,"fYQuxeLf":2871478332327734185,"sBqjHLEyD":-4600652764399600786,"tjCaYi":4901808493585434181,"wiVNTxeNb":3952172559086376706,"yhMyTd":8372811654946518579},"stringDateField":"1947-02-25","stringDateTimeField":"2016-12-29T14:43:01Z","stringField":"TgGrPGVWG","stringTimeField":"06:03:53.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":-352,"numField":-489.56163492760584,"stringDateField":"1947-02-25","stringDateTimeField":"2016-12-29T14:43:01Z","stringField":"TgGrPGVWG","stringTimeField":"06:03:53.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":931,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":931,"uuid":"9de3e423-5655-11ee-9001-675ed0f8e89b"},"arrayField":["HANipBlyDh","pHRRUF"],"boolField":false,"intField":55,"numField":660.1023602228215,"objField":{"MwOTbIWpa":360918455104302991,"WQVJyg":2229848992988744031,"WYJoklr":-4246111605324133509,"XUmNMhoF":7672859349827223263,"hMzAYmUKo":-2372085959152575979,"jBFTuJwL":9019104641818948497,"nSLj":2290740448106607713},"stringDateField":"2017-03-02","stringDateTimeField":"2017-09-23T10:50:57Z","stringField":"ENfQ","stringTimeField":"19:12:49.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":55,"numField":660.1023602228215,"stringDateField":"2017-03-02","stringDateTimeField":"2017-09-23T10:50:57Z","stringField":"ENfQ","stringTimeField":"19:12:49.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":932,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":932,"uuid":"9de3e423-5655-11ee-9401-675ed0f8e89b"},"arrayField":["kFXogpVuTp","FLcuVf","CAzW","bedS","FhoUbvOsmq","mMIoKU","hAvyKJEdg","pNDNU"],"boolField":true,"intField":-151,"numField":8.961722200350852,"objField":{"GJigdnuhEv":-1550571671096762227,"LpZqZCcx":8649168885186941052,"cfmo":-5949258779066964272,"wRKGMcznv":9220717179893898598},"stringDateField":"1984-09-21","stringDateTimeField":"2023-11-20T05:06:13Z","stringField":"pcSpbpFym","stringTimeField":"10:22:49.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":-151,"numField":8.961722200350852,"stringDateField":"1984-09-21","stringDateTimeField":"2023-11-20T05:06:13Z","stringField":"pcSpbpFym","stringTimeField":"10:22:49.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":933,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":933,"uuid":"9de3e423-5655-11ee-9801-675ed0f8e89b"},"arrayField":["WiDL"],"boolField":false,"intField":-579,"numField":-865.8044958152008,"objField":{"Cvfp":-1530834545656478410,"OMokqD":5370589453836170257,"VFHcVs":6735888663275289252,"geDIHIAPv":3672932313910996329,"iGilq":4332557376324341518,"pnrCcrHm":-963522884802173345,"voeoPYjp":9182139329577035390},"stringDateField":"1962-06-13","stringDateTimeField":"2007-05-20T03:00:50Z","stringField":"ZbaHWe","stringTimeField":"15:05:01.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":-579,"numField":-865.8044958152008,"stringDateField":"1962-06-13","stringDateTimeField":"2007-05-20T03:00:50Z","stringField":"ZbaHWe","stringTimeField":"15:05:01.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":934,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":934,"uuid":"9de3e423-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["LcfygewfYb","xBfrVqdQ"],"boolField":true,"intField":488,"numField":-884.8813991185274,"objField":{"CpODu":4077281996049823540,"EbNLo":-4377647020413094524,"NlscOtWxpe":7916522779681096582,"RhIRU":1372838350618203729,"TNImGrr":-2860764820500174877,"VDrIa":-4629650082992604613,"VTivaJy":3219996604102170354,"jevgZ":-80848758229381541,"opjRr":-5061632769097503094,"qgSEDdbl":4683939643678244402},"stringDateField":"1923-01-25","stringDateTimeField":"1924-05-09T12:20:02Z","stringField":"WoqqUQ","stringTimeField":"01:44:06.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":488,"numField":-884.8813991185274,"stringDateField":"1923-01-25","stringDateTimeField":"1924-05-09T12:20:02Z","stringField":"WoqqUQ","stringTimeField":"01:44:06.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":935,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":935,"uuid":"9de3e423-5655-11ee-a001-675ed0f8e89b"},"arrayField":["WgfXzMYjr","tFgz","bCmhO","cqeDPsrST","wjsP","GbxI","HEgVv"],"boolField":true,"intField":-367,"numField":-488.82926980441664,"objField":{"NoCXf":-3426794137974423807,"SNaZufvLq":4152828987183087121,"vHZYxEXkNo":-7853774938003283769,"vVxfKMjx":-1624620554832384470},"stringDateField":"2000-07-15","stringDateTimeField":"1947-07-18T15:10:28Z","stringField":"AflW","stringTimeField":"04:23:41.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":-367,"numField":-488.82926980441664,"stringDateField":"2000-07-15","stringDateTimeField":"1947-07-18T15:10:28Z","stringField":"AflW","stringTimeField":"04:23:41.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":936,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":936,"uuid":"9de3e423-5655-11ee-a401-675ed0f8e89b"},"arrayField":["hFvkefbW"],"boolField":true,"intField":216,"numField":710.7081183623709,"objField":{"AebrGPsUZ":5231580235386991351,"DHbRUWq":-2097271610239134726,"OgyaPNk":-4352411261414050898,"PmlKC":-2307001444892448200,"SYNcf":-7175766616707759689,"lYJdYTTxaY":-6726772164042297489},"stringDateField":"1920-03-08","stringDateTimeField":"2018-02-04T20:49:59Z","stringField":"MUlAe","stringTimeField":"01:07:14.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":216,"numField":710.7081183623709,"stringDateField":"1920-03-08","stringDateTimeField":"2018-02-04T20:49:59Z","stringField":"MUlAe","stringTimeField":"01:07:14.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":937,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":937,"uuid":"9de3e423-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nBkSnuN","HgJoWMnQ"],"boolField":false,"intField":-174,"numField":232.17901800785245,"objField":{"kgtnDsqBJM":1205330740693654126},"stringDateField":"1923-05-09","stringDateTimeField":"1941-02-20T03:19:27Z","stringField":"yMkZI","stringTimeField":"08:11:57.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":-174,"numField":232.17901800785245,"stringDateField":"1923-05-09","stringDateTimeField":"1941-02-20T03:19:27Z","stringField":"yMkZI","stringTimeField":"08:11:57.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":938,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":938,"uuid":"9de3e423-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["OMmoOpXx","UdiwjJ"],"boolField":true,"intField":263,"numField":276.5697096383086,"objField":{"WexhE":-3553758161206414349,"YxImDc":6611301692974381682,"scsB":7317409554433742599,"swWH":-5213338872115997410,"xjmv":234531053547478354},"stringDateField":"1930-02-18","stringDateTimeField":"1963-11-22T06:03:05Z","stringField":"syCarX","stringTimeField":"22:07:12.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":263,"numField":276.5697096383086,"stringDateField":"1930-02-18","stringDateTimeField":"1963-11-22T06:03:05Z","stringField":"syCarX","stringTimeField":"22:07:12.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":939,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":939,"uuid":"9de3e423-5655-11ee-b001-675ed0f8e89b"},"arrayField":["GDCCIDCH","tnXZZup","nJIIt","wSCxHljb"],"boolField":false,"intField":189,"numField":-820.1614919325333,"objField":{"DIHte":-4923646530368090398,"KkPBWn":-5977528905486859938,"beEcm":-2261326460254772975,"rFhxOGl":759957040498926568,"sfqAc":365034397978471381,"xsQxP":7735518101789206914},"stringDateField":"1901-05-07","stringDateTimeField":"1996-08-02T14:41:04Z","stringField":"eiyWgKEzY","stringTimeField":"18:10:47.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":189,"numField":-820.1614919325333,"stringDateField":"1901-05-07","stringDateTimeField":"1996-08-02T14:41:04Z","stringField":"eiyWgKEzY","stringTimeField":"18:10:47.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":940,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":940,"uuid":"9de3e423-5655-11ee-b401-675ed0f8e89b"},"arrayField":["hGvyVTtoDo","YcyA"],"boolField":false,"intField":-355,"numField":-950.8213121260528,"objField":{"NNHYr":-4833716132610892525},"stringDateField":"1981-02-20","stringDateTimeField":"1930-02-17T03:50:58Z","stringField":"ncoR","stringTimeField":"21:43:28.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":-355,"numField":-950.8213121260528,"stringDateField":"1981-02-20","stringDateTimeField":"1930-02-17T03:50:58Z","stringField":"ncoR","stringTimeField":"21:43:28.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":941,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":941,"uuid":"9de3e423-5655-11ee-b801-675ed0f8e89b"},"arrayField":["wSADDxFAQM","KuyVl","riRuWHt","SuRM","eOqHBq","MWIIyo","HoHOFPDHo","YwxCgDDX"],"boolField":false,"intField":180,"numField":-789.7794915776541,"objField":{"HEqwlnHM":-3680941343835331823,"HmyiLWLT":728696680270357057,"VuPUb":5924128738361243828,"WXtVbCSY":-733589071746179656,"XtlZsMMg":-4712191632285921827,"dCXaFCCr":2509747040012347804,"hytcFl":-282499273889138564,"vGiFxIXcB":-49426585173845570},"stringDateField":"1989-11-07","stringDateTimeField":"1970-08-28T17:14:47Z","stringField":"UPuMXr","stringTimeField":"00:55:35.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":180,"numField":-789.7794915776541,"stringDateField":"1989-11-07","stringDateTimeField":"1970-08-28T17:14:47Z","stringField":"UPuMXr","stringTimeField":"00:55:35.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":942,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":942,"uuid":"9de3e423-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["nLmUqgZ","zluYq","pzDwv","Ctrf","QwPQ"],"boolField":true,"intField":-826,"numField":975.003964872326,"objField":{"BoIAqRX":-1428527497607397372,"NllbiDVwQK":3552721156777278637,"pRmUqnpn":-6407144254134903209,"vLroiXA":473926096489981166,"yOmFJndnb":7581060192615689880},"stringDateField":"1911-12-06","stringDateTimeField":"1924-10-27T22:47:57Z","stringField":"RJOLOWxB","stringTimeField":"09:21:17.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230947Z","intField":-826,"numField":975.003964872326,"stringDateField":"1911-12-06","stringDateTimeField":"1924-10-27T22:47:57Z","stringField":"RJOLOWxB","stringTimeField":"09:21:17.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":943,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":943,"uuid":"9de3e424-5655-11ee-8001-675ed0f8e89b"},"arrayField":["VGqMqNa","HRjwH","cJPN","NLjQIkHNlm","OXaW"],"boolField":true,"intField":690,"numField":-256.4271972390811,"objField":{"AwPIWeO":8049022335406488392,"MNdUt":7355765363845943192,"QEeVLUXfpD":155972938262389640,"WxddLAdo":4970113687328762991,"YbjqW":7945294427653846963,"bcnSnjo":-4931367438633406393,"jCpogxGHm":3000906126254294216},"stringDateField":"1917-10-05","stringDateTimeField":"1967-02-22T15:55:29Z","stringField":"eIytDtUYr","stringTimeField":"17:48:24.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":690,"numField":-256.4271972390811,"stringDateField":"1917-10-05","stringDateTimeField":"1967-02-22T15:55:29Z","stringField":"eIytDtUYr","stringTimeField":"17:48:24.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":944,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":944,"uuid":"9de3e424-5655-11ee-8401-675ed0f8e89b"},"arrayField":["goGueiHeuB","ZGOEQ","ycrcQyZu","jtPBsYF","KPscgJV","CTFAkPyZFG","UalQQqy","fraPZ","rqAxdGwHPZ","heYICmJWFG"],"boolField":false,"intField":355,"numField":-495.8050233002684,"objField":{"EZSU":-215930645704252660,"GucAusipst":-7324082103467190581,"MPuLiNuN":-6638745902113686315,"pWLyKoG":532522538622913280,"rGTUKRg":1797958452626230605},"stringDateField":"1987-01-09","stringDateTimeField":"1979-01-07T23:02:17Z","stringField":"mSEZaVXOlU","stringTimeField":"20:47:39.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":355,"numField":-495.8050233002684,"stringDateField":"1987-01-09","stringDateTimeField":"1979-01-07T23:02:17Z","stringField":"mSEZaVXOlU","stringTimeField":"20:47:39.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":945,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":945,"uuid":"9de3e424-5655-11ee-8801-675ed0f8e89b"},"arrayField":["yHCIUjRv","dJkpPA","BcrwHI","PnAbWJzhe","YDJeCvX","ErGFcncpbh","pFpyFtBd"],"boolField":true,"intField":13,"numField":863.9997156728439,"objField":{"HKxtuO":-2743311702526702145,"MzuZENHRQn":5585285895920950912,"VuzaOPbd":-4118619382941058290,"fXgssMOqQ":7276919783037964645,"xdCUTpmA":-868013946005133504},"stringDateField":"1958-09-14","stringDateTimeField":"1935-10-07T13:06:07Z","stringField":"noMV","stringTimeField":"15:25:38.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":13,"numField":863.9997156728439,"stringDateField":"1958-09-14","stringDateTimeField":"1935-10-07T13:06:07Z","stringField":"noMV","stringTimeField":"15:25:38.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":946,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":946,"uuid":"9de3e424-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["uXDe","iVPzUxYKd","AEpH","IHLNoSE","KvlZRx"],"boolField":true,"intField":-991,"numField":-37.57841073945845,"objField":{"SQuInqjus":-1659467255802231295,"ZnmztK":-2166519107804046522,"jaDhXuHO":6443164190717232051,"lVskFfZvH":1277229803583751470,"nvsqIjrq":-9003918431708142326,"oYGgU":1419501359590450360,"uToqPtvvoB":-1430053394817441082},"stringDateField":"2005-01-16","stringDateTimeField":"1979-08-08T12:32:09Z","stringField":"DjapwWKyP","stringTimeField":"07:01:53.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":-991,"numField":-37.57841073945845,"stringDateField":"2005-01-16","stringDateTimeField":"1979-08-08T12:32:09Z","stringField":"DjapwWKyP","stringTimeField":"07:01:53.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":947,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":947,"uuid":"9de3e424-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ahviGJ","uGjUDeDaqs"],"boolField":true,"intField":-481,"numField":-204.67539086464092,"objField":{"aVZW":4220164161883203150},"stringDateField":"1970-01-23","stringDateTimeField":"1952-08-18T15:56:53Z","stringField":"msyAlZUSu","stringTimeField":"16:52:27.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":-481,"numField":-204.67539086464092,"stringDateField":"1970-01-23","stringDateTimeField":"1952-08-18T15:56:53Z","stringField":"msyAlZUSu","stringTimeField":"16:52:27.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":948,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":948,"uuid":"9de3e424-5655-11ee-9401-675ed0f8e89b"},"arrayField":["xepkmLtX","nDdVQfeZ","oKtNNdcpK"],"boolField":false,"intField":0,"numField":600.1353595432639,"objField":{"GMfHLdoK":1144614978657851723,"PUHfEPQWZ":7714638724042618001,"aopaK":-7819163109303758047,"taaoHLO":-179297368679193871},"stringDateField":"1964-04-18","stringDateTimeField":"2020-05-04T11:26:21Z","stringField":"uAGI","stringTimeField":"03:45:01.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":0,"numField":600.1353595432639,"stringDateField":"1964-04-18","stringDateTimeField":"2020-05-04T11:26:21Z","stringField":"uAGI","stringTimeField":"03:45:01.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":949,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":949,"uuid":"9de3e424-5655-11ee-9801-675ed0f8e89b"},"arrayField":["pIBbJfBdf","zNVJAt"],"boolField":true,"intField":486,"numField":5.97797177428383,"objField":{"EczJYVME":-3234466583660992358,"FYQwqRaTuE":5662217215803031838,"MmrwzEArX":5254337281340649097,"VcNFBtkuD":3614435656502345135,"YdCCSG":-3426241458538708923,"qAsmIlR":-8670978640534753648,"tjQbxoIlhm":6049551240604193608,"yFdoi":-117860199609547268},"stringDateField":"2000-05-12","stringDateTimeField":"1907-01-23T06:14:45Z","stringField":"SpfkIPua","stringTimeField":"12:10:17.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":486,"numField":5.97797177428383,"stringDateField":"2000-05-12","stringDateTimeField":"1907-01-23T06:14:45Z","stringField":"SpfkIPua","stringTimeField":"12:10:17.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":950,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":950,"uuid":"9de3e424-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["fruyyXmHF","ycyMGwi","RPVpZBzAx"],"boolField":false,"intField":825,"numField":-625.3200858620427,"objField":{"EnsYmlObF":-8720133792650559587,"SNZtJWkaSf":418753674430396667,"ScDyTOhLIS":3341731257569619451,"WwoB":3146179594443306853,"ecZrD":7060239580579050549,"gnVD":-6912624340793893686,"oAvU":443951733787650785},"stringDateField":"2013-04-29","stringDateTimeField":"2001-05-16T20:36:10Z","stringField":"XnsK","stringTimeField":"07:33:58.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":825,"numField":-625.3200858620427,"stringDateField":"2013-04-29","stringDateTimeField":"2001-05-16T20:36:10Z","stringField":"XnsK","stringTimeField":"07:33:58.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":951,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":951,"uuid":"9de3e424-5655-11ee-a001-675ed0f8e89b"},"arrayField":["xCEl","KIYMmhrZ","btzu","QnCUcVPSd","rYDetPp","NnTdpGRRFO"],"boolField":false,"intField":-665,"numField":-214.8881975313981,"objField":{"FJwQmaPYFD":4336537855305693020,"FlgyhUDVr":-9073121752867433942,"FvPW":7902961436607966811,"bTqBgsT":-5772275076042988117,"cabO":-9043127221195301498,"kMOuhFIhc":-4585279052271112327,"lWVAAfqfc":-7743111529975126825,"nCAyQG":2588330925569066979,"uVQLCn":-7295628415783842089,"vhaRikN":-7090193811651991913},"stringDateField":"1955-01-20","stringDateTimeField":"1916-05-12T03:30:12Z","stringField":"CQmsiNYeBZ","stringTimeField":"10:51:46.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":-665,"numField":-214.8881975313981,"stringDateField":"1955-01-20","stringDateTimeField":"1916-05-12T03:30:12Z","stringField":"CQmsiNYeBZ","stringTimeField":"10:51:46.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":952,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":952,"uuid":"9de3e424-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ZMTdxEY","ckuOrsSiA","mdPwvhgs","kfLNelq","wRcvQLN","gxgY","YtrkUe","oummQ"],"boolField":true,"intField":833,"numField":959.801455931844,"objField":{"ledFwtri":4256610613550325208,"nTOIMDcBk":-1864949653114759932,"qanp":4820127202463142896},"stringDateField":"1944-09-26","stringDateTimeField":"1946-03-10T12:46:31Z","stringField":"ySHBoM","stringTimeField":"13:44:07.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":833,"numField":959.801455931844,"stringDateField":"1944-09-26","stringDateTimeField":"1946-03-10T12:46:31Z","stringField":"ySHBoM","stringTimeField":"13:44:07.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":953,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":953,"uuid":"9de3e424-5655-11ee-a801-675ed0f8e89b"},"arrayField":["NdlKrVJar","UBRQlNz","oWZBq","RDcSah","BpVmBN","DTWsvtlpu","nFVO","xzlQfJsZ"],"boolField":true,"intField":-451,"numField":745.0556507012536,"objField":{"FwVBJlGi":-7073032047925630310,"QOeeqA":-7824783042780198527,"hPuwCZoPe":-6165316208463981186,"lBKApT":-2235499601718695989,"oLGL":5728416888763381153,"vEmVgHWU":-7134679280027412335,"wTCh":6627666769304743276,"yzRbCQizOh":-4342237287177967660},"stringDateField":"1952-10-14","stringDateTimeField":"1932-10-10T06:53:51Z","stringField":"QcDQOXjPD","stringTimeField":"00:55:27.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":-451,"numField":745.0556507012536,"stringDateField":"1952-10-14","stringDateTimeField":"1932-10-10T06:53:51Z","stringField":"QcDQOXjPD","stringTimeField":"00:55:27.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":954,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":954,"uuid":"9de3e424-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["lIlBYD","kBaCHuC"],"boolField":true,"intField":23,"numField":494.5660286427518,"objField":{"YAiX":-3513850794182633459,"dQagy":8632170958226862403,"fZhhpekIyU":-2637659271194417659,"jSnJp":-2588913221366302856},"stringDateField":"1953-01-27","stringDateTimeField":"1975-03-09T04:45:55Z","stringField":"BuesWhYYA","stringTimeField":"23:30:32.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":23,"numField":494.5660286427518,"stringDateField":"1953-01-27","stringDateTimeField":"1975-03-09T04:45:55Z","stringField":"BuesWhYYA","stringTimeField":"23:30:32.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":955,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":955,"uuid":"9de3e424-5655-11ee-b001-675ed0f8e89b"},"arrayField":["czhoPeEM","ZPHkPbFp","EoOfcMC","EhBeSTe","XGFblw","ZflevOuAkQ","Dpxd"],"boolField":true,"intField":-74,"numField":941.4344858269131,"objField":{"CSpnpmXt":6633699601692731959,"EjGSmOiAlc":5932439310184820879,"HvFEkzogV":2327477126569144894,"KyjH":6990830768114040396,"MRpkFRskTw":-1827429885514229563,"PbZma":-3322196672417576006,"xkHR":7351918030616431180},"stringDateField":"1972-12-24","stringDateTimeField":"1908-03-31T08:27:41Z","stringField":"MSWiDtAYLQ","stringTimeField":"18:55:16.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":-74,"numField":941.4344858269131,"stringDateField":"1972-12-24","stringDateTimeField":"1908-03-31T08:27:41Z","stringField":"MSWiDtAYLQ","stringTimeField":"18:55:16.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":956,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":956,"uuid":"9de3e424-5655-11ee-b401-675ed0f8e89b"},"arrayField":["kbBAsSlGib","gSWWWvqW","KkKzXFeiNj","cZvtVn","iqjU","cMNk"],"boolField":true,"intField":139,"numField":-960.3661032862532,"objField":{"LlVNN":-5629346162367346024,"OhrkQYaSXV":-250972643060950560,"iXOsVaSsV":-7431223236993554612,"peBhS":-482816038297373379},"stringDateField":"1923-06-07","stringDateTimeField":"2011-04-29T17:54:22Z","stringField":"VPNlx","stringTimeField":"20:33:39.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":139,"numField":-960.3661032862532,"stringDateField":"1923-06-07","stringDateTimeField":"2011-04-29T17:54:22Z","stringField":"VPNlx","stringTimeField":"20:33:39.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":957,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":957,"uuid":"9de3e424-5655-11ee-b801-675ed0f8e89b"},"arrayField":["rQvVZSdU","bWDKvyYkJz","EjRzOUw","tNsMudPr","fRSYKrjJ","RWzoS","eCdpGpoVN","EIOxf"],"boolField":false,"intField":-425,"numField":555.8906486321526,"objField":{"HEkynfM":4213602646433832041,"HxWpUPO":-161533547139261189,"MVrmZYEuP":-6049091737108299032,"RpceTanVFo":8791754451797715805,"eHMsmT":2971859791392599258,"eYNAR":-348687702661586315,"evJcuLAn":1485018382059330269,"krhxbkoQe":5414414262873205988,"mZAmedX":3407040384546536167,"uXvORnfL":5502961900355323451},"stringDateField":"2002-10-02","stringDateTimeField":"2000-06-17T15:56:24Z","stringField":"ZvtQgNd","stringTimeField":"11:59:00.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":-425,"numField":555.8906486321526,"stringDateField":"2002-10-02","stringDateTimeField":"2000-06-17T15:56:24Z","stringField":"ZvtQgNd","stringTimeField":"11:59:00.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":958,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":958,"uuid":"9de3e424-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["JdPfgfTTI","sMDOMK","wEMRLq","aRkhqiKXWt","NcqJFAPQQ","UejRqY","HFYMXN","JXNRznJKb"],"boolField":true,"intField":585,"numField":911.8397000263952,"objField":{"gwpHgnQ":-6459347156425229862,"hVRSfKF":-2480575884560568742,"rJPuzD":7536095403595925543},"stringDateField":"1972-02-24","stringDateTimeField":"1929-12-04T04:22:05Z","stringField":"wCgfI","stringTimeField":"16:27:54.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230948Z","intField":585,"numField":911.8397000263952,"stringDateField":"1972-02-24","stringDateTimeField":"1929-12-04T04:22:05Z","stringField":"wCgfI","stringTimeField":"16:27:54.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":959,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":959,"uuid":"9de3e425-5655-11ee-8001-675ed0f8e89b"},"arrayField":["jIDF","SHFIWVPn","vXuRJw","fmWNLwcsx","wlLYJp","RYitUy","otjq","dBBTHkBt","cSxhPdqxx"],"boolField":false,"intField":36,"numField":774.1036737212179,"objField":{"Aukoz":3644752188305061462,"fSZgkKhfQn":-7607850225678282177,"pEcjnFmUA":9181779543519275665},"stringDateField":"2016-11-20","stringDateTimeField":"1951-07-26T11:39:09Z","stringField":"rAHKfVy","stringTimeField":"18:25:59.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":36,"numField":774.1036737212179,"stringDateField":"2016-11-20","stringDateTimeField":"1951-07-26T11:39:09Z","stringField":"rAHKfVy","stringTimeField":"18:25:59.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":960,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":960,"uuid":"9de3e425-5655-11ee-8401-675ed0f8e89b"},"arrayField":["FxobFfyf"],"boolField":true,"intField":-876,"numField":-32.9297335092904,"objField":{"DPFmNT":904060186288285596,"EmmtMJ":-2008686476965347682,"Fdufjtft":7598216312668862231,"OGHvjrc":117359122091650775,"Vbui":4398392797211208126,"YdtCxHTMh":-4370260065991483417,"hZEw":9214738602796133851,"hloKIJAuy":7178807041910760098,"tmbKPmH":6105029391134060926,"ttVQFZCm":1029622894702868242},"stringDateField":"1973-09-14","stringDateTimeField":"1940-04-30T02:27:37Z","stringField":"KGXNVzJe","stringTimeField":"20:56:19.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":-876,"numField":-32.9297335092904,"stringDateField":"1973-09-14","stringDateTimeField":"1940-04-30T02:27:37Z","stringField":"KGXNVzJe","stringTimeField":"20:56:19.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":961,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":961,"uuid":"9de3e425-5655-11ee-8801-675ed0f8e89b"},"arrayField":["xTMG"],"boolField":true,"intField":-210,"numField":-264.81799277774275,"objField":{"Beps":-7461780954096021817,"SbjWa":-5353713011521003423,"bpSOVh":-7854056719810892004,"irxACUt":-248979287722200312,"lCQtp":5349102686612858728,"lTvr":-27688169984084523,"rCsJkYs":-717703469359353176,"znSsS":-1798847269253014810},"stringDateField":"1969-05-01","stringDateTimeField":"1922-05-28T19:48:29Z","stringField":"QnzWzNZ","stringTimeField":"05:52:52.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":-210,"numField":-264.81799277774275,"stringDateField":"1969-05-01","stringDateTimeField":"1922-05-28T19:48:29Z","stringField":"QnzWzNZ","stringTimeField":"05:52:52.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":962,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":962,"uuid":"9de3e425-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["AdOvXGNAH","XXJQ","AgkZxlHw","ZyDxIM","syyTNJn"],"boolField":true,"intField":-28,"numField":364.05327575341073,"objField":{"DfZnn":-7489544685147070932,"EHaAOCzW":9056815332315396336,"IHaCkV":-8173152174604878434,"JoYTdaCmTG":4178417154019966639,"VGSSn":4824391123637037551,"WGEdWSao":5520510776623789307,"ihfwXkGhuQ":8759393857507231852,"qScxxbqk":-1900307863725367681,"uuBw":8181448879928229348},"stringDateField":"1962-03-03","stringDateTimeField":"1940-12-22T19:23:38Z","stringField":"mhJMNokIu","stringTimeField":"03:25:50.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":-28,"numField":364.05327575341073,"stringDateField":"1962-03-03","stringDateTimeField":"1940-12-22T19:23:38Z","stringField":"mhJMNokIu","stringTimeField":"03:25:50.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":963,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":963,"uuid":"9de3e425-5655-11ee-9001-675ed0f8e89b"},"arrayField":["MaIdjBE","UGkVbMtiXN","KKKZTHPxr"],"boolField":true,"intField":845,"numField":-943.0081522443847,"objField":{"HyShCV":542106830134613603,"khlZNSmZd":-4013370674698614067,"mWWAR":-4301062148870607711},"stringDateField":"2003-03-12","stringDateTimeField":"1958-06-24T11:51:53Z","stringField":"bfLidnU","stringTimeField":"04:19:19.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":845,"numField":-943.0081522443847,"stringDateField":"2003-03-12","stringDateTimeField":"1958-06-24T11:51:53Z","stringField":"bfLidnU","stringTimeField":"04:19:19.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":964,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":964,"uuid":"9de3e425-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ZXDsweX","wBCGyW","zpOSX","mvbu","rksBiKguq","dclTg"],"boolField":false,"intField":-708,"numField":-242.64444639487735,"objField":{"MSzBfCwCP":-8512825260698916747,"SnBMlkT":1888367293036015168},"stringDateField":"1919-03-21","stringDateTimeField":"1952-01-16T12:17:07Z","stringField":"kMwZicDjVT","stringTimeField":"14:34:20.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":-708,"numField":-242.64444639487735,"stringDateField":"1919-03-21","stringDateTimeField":"1952-01-16T12:17:07Z","stringField":"kMwZicDjVT","stringTimeField":"14:34:20.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":965,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":965,"uuid":"9de3e425-5655-11ee-9801-675ed0f8e89b"},"arrayField":["NPzLifBhW","iLpMjeWGWh","weftlV","dkYTIBP","VENLyxC","eVMAggYCph","lCMbajuj","xRsXPcFGFD","FBwdQ"],"boolField":false,"intField":790,"numField":-440.5416986663485,"objField":{"Aioj":-3619868918199931483,"WQINXw":-2676903872451546330,"avQhlru":-2054580155197905279,"iXtAKqLaSO":-7696441679283584762,"pvxhRb":-4322819940088509187,"sWMCp":-1596520891927769222,"tApnOOChY":6607578384663199335,"uBHMZYXb":-9121518173444741907},"stringDateField":"1969-04-19","stringDateTimeField":"1952-07-05T22:18:20Z","stringField":"dmbDFYDIC","stringTimeField":"10:20:15.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":790,"numField":-440.5416986663485,"stringDateField":"1969-04-19","stringDateTimeField":"1952-07-05T22:18:20Z","stringField":"dmbDFYDIC","stringTimeField":"10:20:15.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":966,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":966,"uuid":"9de3e425-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["BpyndBX","HnWKfT","icEY","XOiawvIJXw","hVjkgis","DYeKNnnJg","lmRCWTKn","AeEeDQc"],"boolField":true,"intField":20,"numField":450.9853808546429,"objField":{"CeVYM":-157973007045053872,"HfWpzIu":9136804899436279333,"RQZdhmf":4649664771645257077,"TFsb":-9213795968283893154,"UpoKgZ":5247619345501178316,"naaIm":-1140321927395978388},"stringDateField":"1993-10-29","stringDateTimeField":"1918-01-17T07:16:33Z","stringField":"dWWIYW","stringTimeField":"01:06:25.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":20,"numField":450.9853808546429,"stringDateField":"1993-10-29","stringDateTimeField":"1918-01-17T07:16:33Z","stringField":"dWWIYW","stringTimeField":"01:06:25.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":967,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":967,"uuid":"9de3e425-5655-11ee-a001-675ed0f8e89b"},"arrayField":["cAyn","ICsHLdHY"],"boolField":false,"intField":-654,"numField":-128.86717236469246,"objField":{"cdGJYb":362828165046537518,"oXoVeWia":1199633078474487926,"vGrPJ":-5673927107944281933,"xkLZDQlI":-4579948563745423729},"stringDateField":"1935-02-01","stringDateTimeField":"1996-06-07T15:06:25Z","stringField":"BvjVLTa","stringTimeField":"04:52:49.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":-654,"numField":-128.86717236469246,"stringDateField":"1935-02-01","stringDateTimeField":"1996-06-07T15:06:25Z","stringField":"BvjVLTa","stringTimeField":"04:52:49.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":968,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":968,"uuid":"9de3e425-5655-11ee-a401-675ed0f8e89b"},"arrayField":["nzjuY","iXDyfu","tvGlItOzaS"],"boolField":true,"intField":-319,"numField":-751.7398289907079,"objField":{"KpwT":-5341810826476188166,"QqTQGvL":2857306466016838046,"ULznviCUFd":-5693154846728789631,"ekceiThcGs":-6056490186332653962,"puEmOcjEC":-3369020217935951847},"stringDateField":"1946-08-26","stringDateTimeField":"1941-12-19T15:36:50Z","stringField":"cAtpur","stringTimeField":"12:49:20.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":-319,"numField":-751.7398289907079,"stringDateField":"1946-08-26","stringDateTimeField":"1941-12-19T15:36:50Z","stringField":"cAtpur","stringTimeField":"12:49:20.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":969,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":969,"uuid":"9de3e425-5655-11ee-a801-675ed0f8e89b"},"arrayField":["KnLyuN","pLul","XUyKeMcowG","PGTZrUQsmE","ZfBSCFfsIj","tSbZ","WyifddO","qDMLS","mEPjTTrI"],"boolField":false,"intField":760,"numField":165.54661074939858,"objField":{"GncERzcZoS":-4409485083456551070,"HTUU":-858021462760827525,"Hlnpxox":8365411576357364576,"NFol":7451656504192403804,"bCvAm":5630204031845509393,"qkOT":-428744798769890636,"tCtbU":3602366339586012912},"stringDateField":"1995-02-20","stringDateTimeField":"1967-01-29T07:12:16Z","stringField":"deHPLJ","stringTimeField":"09:11:45.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":760,"numField":165.54661074939858,"stringDateField":"1995-02-20","stringDateTimeField":"1967-01-29T07:12:16Z","stringField":"deHPLJ","stringTimeField":"09:11:45.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":970,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":970,"uuid":"9de3e425-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["AzDfrdmh","pkzPlG","PQXnSFWFO","NwsWYTGX"],"boolField":false,"intField":-655,"numField":693.5164148754301,"objField":{"HntKQclq":-5962514711149253169,"ZPzn":-9040841667044202815,"dEPLHwzU":-4323464940352553747,"viIZbin":-4378505887145488771},"stringDateField":"1969-08-12","stringDateTimeField":"2023-09-28T13:52:44Z","stringField":"PJzWqYHwcG","stringTimeField":"09:46:00.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":-655,"numField":693.5164148754301,"stringDateField":"1969-08-12","stringDateTimeField":"2023-09-28T13:52:44Z","stringField":"PJzWqYHwcG","stringTimeField":"09:46:00.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":971,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":971,"uuid":"9de3e425-5655-11ee-b001-675ed0f8e89b"},"arrayField":["FokAxwyxl","ihHjmqygX","OEIICUmo","clOSJf","DKOKHCf"],"boolField":false,"intField":-51,"numField":-805.4701768001553,"objField":{"gCUvVkBGoA":6229698558702985192},"stringDateField":"1995-04-18","stringDateTimeField":"2012-10-05T10:35:28Z","stringField":"qypJsS","stringTimeField":"18:38:07.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":-51,"numField":-805.4701768001553,"stringDateField":"1995-04-18","stringDateTimeField":"2012-10-05T10:35:28Z","stringField":"qypJsS","stringTimeField":"18:38:07.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":972,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":972,"uuid":"9de3e425-5655-11ee-b401-675ed0f8e89b"},"arrayField":["sQXXiohn","iUBpHPEkar","lZxxi","rLAZZI","kudkTL","ZXjrZPS","TCif","souqtoGqn"],"boolField":false,"intField":136,"numField":-662.8529617529146,"objField":{"ERYFL":-2576126679713015645,"PSrRpk":1997476184373992060,"cXKL":1833584426473001596,"hWwswvMk":-8829764955988551152,"sHkUyYBjNe":6737388165538726959},"stringDateField":"1929-08-12","stringDateTimeField":"1926-08-28T00:07:36Z","stringField":"kPdUiTULZS","stringTimeField":"16:59:24.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":136,"numField":-662.8529617529146,"stringDateField":"1929-08-12","stringDateTimeField":"1926-08-28T00:07:36Z","stringField":"kPdUiTULZS","stringTimeField":"16:59:24.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":973,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":973,"uuid":"9de3e425-5655-11ee-b801-675ed0f8e89b"},"arrayField":["tLVXh","jMqaZwpZe","dyiQtpkVOe"],"boolField":true,"intField":954,"numField":-582.0756968566398,"objField":{"LmbNM":-9023417739060248926,"TdUE":7097428192984519238},"stringDateField":"1901-07-21","stringDateTimeField":"1904-06-07T11:26:19Z","stringField":"zTytO","stringTimeField":"07:21:15.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":954,"numField":-582.0756968566398,"stringDateField":"1901-07-21","stringDateTimeField":"1904-06-07T11:26:19Z","stringField":"zTytO","stringTimeField":"07:21:15.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":974,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":974,"uuid":"9de3e425-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["iWFjejsR","dFzfybClyA","ksfJvndAv","AMzXXuZTk","cYJGVcLxI","NEGcOq"],"boolField":false,"intField":36,"numField":846.9958707445921,"objField":{"HRshIZWMa":513523064195961500,"XgwycmUiG":-2317682813181262786,"btOXw":8673185683062122361,"ftcBOYOukX":-7982337932472570008,"fyyUbbC":8864548739023113681,"gXlPUunCRB":2084810797457193939,"iCFMPGLf":3872679885703454219,"lAVNciQH":134698015625197852},"stringDateField":"1952-02-17","stringDateTimeField":"1921-10-09T10:53:03Z","stringField":"wXUBorgFE","stringTimeField":"06:20:09.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230949Z","intField":36,"numField":846.9958707445921,"stringDateField":"1952-02-17","stringDateTimeField":"1921-10-09T10:53:03Z","stringField":"wXUBorgFE","stringTimeField":"06:20:09.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":975,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":975,"uuid":"9de3e426-5655-11ee-8001-675ed0f8e89b"},"arrayField":["fcfSlzs","bdAFRVZv","hbubwsqUKQ"],"boolField":true,"intField":-311,"numField":950.8788340732912,"objField":{"OELYWTq":-1019418212660573242,"oTWZQ":1988943754683345766,"smKoIZDlZ":591786085882409014,"vOrDG":6053840837059274847},"stringDateField":"1945-10-03","stringDateTimeField":"1991-06-15T09:07:12Z","stringField":"EAbGnF","stringTimeField":"06:03:12.14Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":-311,"numField":950.8788340732912,"stringDateField":"1945-10-03","stringDateTimeField":"1991-06-15T09:07:12Z","stringField":"EAbGnF","stringTimeField":"06:03:12.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":976,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":976,"uuid":"9de3e426-5655-11ee-8401-675ed0f8e89b"},"arrayField":["kFuNBxj","dWvLxtga","Jzppm","qHisZo","Yjho","JtdF","tfYnFeCBVt","eRzFd","awhaEwSDzR"],"boolField":false,"intField":362,"numField":-949.460823526108,"objField":{"FtQOCLj":-7142651629322259517,"oeOKFgHGJ":-6788567559841423137,"zSPsCM":-7728531270122473776},"stringDateField":"1960-06-05","stringDateTimeField":"1941-10-15T04:18:31Z","stringField":"EpzQWufhj","stringTimeField":"06:21:08.39Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":362,"numField":-949.460823526108,"stringDateField":"1960-06-05","stringDateTimeField":"1941-10-15T04:18:31Z","stringField":"EpzQWufhj","stringTimeField":"06:21:08.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":977,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":977,"uuid":"9de3e426-5655-11ee-8801-675ed0f8e89b"},"arrayField":["AtMPlvWQN","CYbv","eGXvbyDvv","JdOeSNgpk","oMAAXlKkm","PTEwUwNKUy"],"boolField":false,"intField":223,"numField":533.2099999487359,"objField":{"JRjzdiva":3029695681151754752,"hEiGhF":-2366284478131824886,"hurYwaGK":1973814018177824622,"izvhD":-7925179983685398107,"lLhS":1819093639334182449,"mPbuFNQv":9132286698926425142,"qaivVMusYw":-2335842269630748721,"wukTECKl":-1638115324319940150,"ycNjCwqOVi":5066393969980518219},"stringDateField":"1980-10-04","stringDateTimeField":"1901-10-23T22:16:57Z","stringField":"ycrgtic","stringTimeField":"08:55:07.43Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":223,"numField":533.2099999487359,"stringDateField":"1980-10-04","stringDateTimeField":"1901-10-23T22:16:57Z","stringField":"ycrgtic","stringTimeField":"08:55:07.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":978,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":978,"uuid":"9de3e426-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["dJJWzv","WiTiA","XBjPIbm","YPFuHtg","hYYnAYqM","udqbal"],"boolField":true,"intField":280,"numField":-591.0169634977616,"objField":{"XlaAPuzn":-2731098950335020854},"stringDateField":"1920-04-11","stringDateTimeField":"1970-08-03T19:02:08Z","stringField":"xVAz","stringTimeField":"17:21:44.18Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":280,"numField":-591.0169634977616,"stringDateField":"1920-04-11","stringDateTimeField":"1970-08-03T19:02:08Z","stringField":"xVAz","stringTimeField":"17:21:44.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":979,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":979,"uuid":"9de3e426-5655-11ee-9001-675ed0f8e89b"},"arrayField":["iNpCzcDDJT","qRgD","rstNHQhueC","Adzg","pJZayr","zyYvj","jVNTuzio","IozTkm","UTTmTYEjYy"],"boolField":true,"intField":-55,"numField":36.609511331319624,"objField":{"AWjqYbAjDl":2477318927154451810,"VBngutc":-172441144023153146,"hQGwquTMzg":900286388104334416},"stringDateField":"1994-07-02","stringDateTimeField":"1917-08-29T00:11:03Z","stringField":"PZFc","stringTimeField":"01:53:55.43Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":-55,"numField":36.609511331319624,"stringDateField":"1994-07-02","stringDateTimeField":"1917-08-29T00:11:03Z","stringField":"PZFc","stringTimeField":"01:53:55.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":980,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":980,"uuid":"9de3e426-5655-11ee-9401-675ed0f8e89b"},"arrayField":["TxvZPChfbp","rAwFN","tUkvDRQI","KTyonr","EhAl","rNgKgPSY","JKYkv","Mgtqmm","PjNC","DjcMAMm"],"boolField":true,"intField":-580,"numField":-535.7819118007052,"objField":{"CGEugrc":4377594359360047508,"IzXIv":-1762944117979447646,"VrfIP":7407288699821888122,"bcudiyGpOg":6111682120265469121,"ephl":6417340617667502815,"jpoQGsKHtp":499855876196484409},"stringDateField":"1977-04-25","stringDateTimeField":"2017-07-08T05:45:06Z","stringField":"ItKWjVeFVP","stringTimeField":"11:31:59.17Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":-580,"numField":-535.7819118007052,"stringDateField":"1977-04-25","stringDateTimeField":"2017-07-08T05:45:06Z","stringField":"ItKWjVeFVP","stringTimeField":"11:31:59.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":981,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":981,"uuid":"9de3e426-5655-11ee-9801-675ed0f8e89b"},"arrayField":["XSVe"],"boolField":false,"intField":-718,"numField":285.4384274314923,"objField":{"JcCFle":-7044685335389708723,"WteR":-5241009631173743931,"dfoMjlW":-859056815379669140,"gTAbxgxQs":-3676865360495988103,"nDdkmNZ":5796239864524358243,"nSJC":2055963270373392959},"stringDateField":"1939-11-09","stringDateTimeField":"1941-02-09T17:17:28Z","stringField":"urHmlLejxA","stringTimeField":"17:23:58.17Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":-718,"numField":285.4384274314923,"stringDateField":"1939-11-09","stringDateTimeField":"1941-02-09T17:17:28Z","stringField":"urHmlLejxA","stringTimeField":"17:23:58.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":982,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":982,"uuid":"9de3e426-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["mhOhXedBd","dhvvukGTGa"],"boolField":true,"intField":86,"numField":-838.8529200310435,"objField":{"BiNa":-2125123643136815825,"QGPL":-7077353755961281265,"bdWyxOro":-7007076525821860635},"stringDateField":"1945-09-18","stringDateTimeField":"1952-07-17T20:15:39Z","stringField":"wITgB","stringTimeField":"17:41:14.26Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":86,"numField":-838.8529200310435,"stringDateField":"1945-09-18","stringDateTimeField":"1952-07-17T20:15:39Z","stringField":"wITgB","stringTimeField":"17:41:14.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":983,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":983,"uuid":"9de3e426-5655-11ee-a001-675ed0f8e89b"},"arrayField":["yLvrKgbla","THtN","cZhzVTt","IrPQLu","LbqbwJaR","FLpGwgBWQo"],"boolField":true,"intField":-557,"numField":659.2422499514532,"objField":{"BnoEEv":-506363544062001247,"UlJyM":-7115884677653807439,"Wanbw":-12120030153568789,"XYPbMoc":-2348600425304839786,"YgEqEFHWv":8161925127384040237,"hqIKkL":6205133058798766718,"rWmum":-2811980048165037696},"stringDateField":"1964-10-14","stringDateTimeField":"1944-09-05T02:20:01Z","stringField":"ilcv","stringTimeField":"17:39:54.50Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":-557,"numField":659.2422499514532,"stringDateField":"1964-10-14","stringDateTimeField":"1944-09-05T02:20:01Z","stringField":"ilcv","stringTimeField":"17:39:54.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":984,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":984,"uuid":"9de3e426-5655-11ee-a401-675ed0f8e89b"},"arrayField":["hOPfHxzAL","FTBCKYBdji","XDDJFpHxS"],"boolField":false,"intField":867,"numField":506.6462041689903,"objField":{"cVciyHKirc":-6995922979637580336},"stringDateField":"1986-08-04","stringDateTimeField":"1995-09-05T17:52:32Z","stringField":"uejAVzXMN","stringTimeField":"04:49:12.41Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":867,"numField":506.6462041689903,"stringDateField":"1986-08-04","stringDateTimeField":"1995-09-05T17:52:32Z","stringField":"uejAVzXMN","stringTimeField":"04:49:12.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":985,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":985,"uuid":"9de3e426-5655-11ee-a801-675ed0f8e89b"},"arrayField":["inqYEFAZ","GFrhdRrG"],"boolField":false,"intField":654,"numField":-327.2486118347537,"objField":{"DXSoZ":-8694457006641028764},"stringDateField":"1940-06-17","stringDateTimeField":"1961-06-04T10:35:42Z","stringField":"iofvBbP","stringTimeField":"22:14:23.43Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":654,"numField":-327.2486118347537,"stringDateField":"1940-06-17","stringDateTimeField":"1961-06-04T10:35:42Z","stringField":"iofvBbP","stringTimeField":"22:14:23.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":986,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":986,"uuid":"9de3e426-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["SbHmGQ","JlKyhwDoG","pCOfB"],"boolField":false,"intField":-767,"numField":92.1443072931294,"objField":{"OTTVF":-5590789631560196227,"SmStnXjr":-5967161916121158340,"rCEZuxb":-6177282722446152002,"sNLuMlJZf":5734255480039331099,"vPNReEav":-4169253503710749965},"stringDateField":"1929-02-07","stringDateTimeField":"1962-06-27T09:59:20Z","stringField":"UosFpSeC","stringTimeField":"03:07:14.17Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":-767,"numField":92.1443072931294,"stringDateField":"1929-02-07","stringDateTimeField":"1962-06-27T09:59:20Z","stringField":"UosFpSeC","stringTimeField":"03:07:14.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":987,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":987,"uuid":"9de3e426-5655-11ee-b001-675ed0f8e89b"},"arrayField":["buDWUlP","JnmIYNC","MPHtLNAk","TlxoO","yyArfTr","mXuL"],"boolField":false,"intField":679,"numField":-931.9398858441342,"objField":{"COtIzKfWjv":3973140760623929759,"fqxcxXo":3119961535434864883,"kUHZcmok":-719359670292287150,"korSrCSARr":-5638942471061133150,"nTrgrt":-702696203302284742},"stringDateField":"1987-04-04","stringDateTimeField":"1927-12-26T07:37:20Z","stringField":"cFPVSEQvX","stringTimeField":"00:58:14.43Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":679,"numField":-931.9398858441342,"stringDateField":"1987-04-04","stringDateTimeField":"1927-12-26T07:37:20Z","stringField":"cFPVSEQvX","stringTimeField":"00:58:14.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":988,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":988,"uuid":"9de3e426-5655-11ee-b401-675ed0f8e89b"},"arrayField":["SXWJ","HaqidUr"],"boolField":true,"intField":149,"numField":-174.51335962693838,"objField":{"CcJUQbY":-6977619083276697895,"KMeJW":-6027728538029293579,"TAWrOr":-5140883950982703646,"TpvTawlre":2321454007420787661,"gOIcJZ":7334356977932278584,"ieePD":-3279780110134021570,"uECq":2395115403358644065,"xslikC":6340104798458809126},"stringDateField":"2006-05-13","stringDateTimeField":"1963-12-29T05:38:55Z","stringField":"IAZUrXJT","stringTimeField":"22:38:43.17Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":149,"numField":-174.51335962693838,"stringDateField":"2006-05-13","stringDateTimeField":"1963-12-29T05:38:55Z","stringField":"IAZUrXJT","stringTimeField":"22:38:43.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":989,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":989,"uuid":"9de3e426-5655-11ee-b801-675ed0f8e89b"},"arrayField":["KVNyP","NOYbM","IUkDkq"],"boolField":true,"intField":-6,"numField":-105.57469460037116,"objField":{"FYzVXNg":8549100224867140693,"VTvNPsy":7719744136292395707,"cqwhLBVBl":1880364157596850509},"stringDateField":"1901-10-01","stringDateTimeField":"1954-12-06T09:42:36Z","stringField":"pMHL","stringTimeField":"21:28:35.44Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":-6,"numField":-105.57469460037116,"stringDateField":"1901-10-01","stringDateTimeField":"1954-12-06T09:42:36Z","stringField":"pMHL","stringTimeField":"21:28:35.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":990,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":990,"uuid":"9de3e426-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["OnukRJIybg","aTfmkNFigw","LqNCHwI","TRQRjObd","jsjrNWPP","xcpTVx","qtgNmE"],"boolField":true,"intField":136,"numField":738.1849524474486,"objField":{"JjFRMMCF":-1716637499973094732,"UEdPVgiCX":7724257715218956186,"WDNUyXY":4866411828543881474,"WxYgZXAS":-5797499726089821860,"admPaZ":1419961479459568515,"mYFPNosVw":7942991619456043212,"qvfCKll":-6073767773390628538,"tLzxZrXm":3913923946442571551,"xeumF":9049636435791110203},"stringDateField":"1956-05-12","stringDateTimeField":"2002-07-10T12:32:42Z","stringField":"fFOqmBR","stringTimeField":"15:14:05.17Z"},"flow_published_at":"2023-09-18T19:00:21.623095Z","intField":136,"numField":738.1849524474486,"stringDateField":"1956-05-12","stringDateTimeField":"2002-07-10T12:32:42Z","stringField":"fFOqmBR","stringTimeField":"15:14:05.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":991,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":991,"uuid":"9de3e427-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PbWFvi","btxWJzSPz","TsEJw","YBInwfBtD","KyjOfWsE","ANJBQmtTa","NTwZSdMc","rlELW"],"boolField":true,"intField":-36,"numField":266.50365075330205,"objField":{"LnQRQOGWwc":5047190344552689891,"Qfjfld":-8599032125343666431,"tAEf":8855900544331596776,"tpOUlgK":3422295624396805580,"wNtV":6735303052477671257},"stringDateField":"1994-06-09","stringDateTimeField":"1900-06-14T02:31:03Z","stringField":"xJZil","stringTimeField":"00:09:09.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":-36,"numField":266.50365075330205,"stringDateField":"1994-06-09","stringDateTimeField":"1900-06-14T02:31:03Z","stringField":"xJZil","stringTimeField":"00:09:09.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":992,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":992,"uuid":"9de3e427-5655-11ee-8401-675ed0f8e89b"},"arrayField":["bzjzGho","xKUczeK","SKxdMcZk","MVhjpM","MLKN"],"boolField":false,"intField":419,"numField":-136.43616957821447,"objField":{"cgFhqDJKr":4346701305616027848,"zlsbViNW":-7604469678002941546},"stringDateField":"1980-03-04","stringDateTimeField":"2020-01-27T12:44:05Z","stringField":"tUUtDhwMdy","stringTimeField":"18:41:40.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":419,"numField":-136.43616957821447,"stringDateField":"1980-03-04","stringDateTimeField":"2020-01-27T12:44:05Z","stringField":"tUUtDhwMdy","stringTimeField":"18:41:40.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":993,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":993,"uuid":"9de3e427-5655-11ee-8801-675ed0f8e89b"},"arrayField":["PgPXARjem","LDvBQV"],"boolField":true,"intField":-633,"numField":-162.72524729812588,"objField":{"KPEZOmI":8455213530614720985,"NYptBLtHPz":5816918382481947462,"QIaxk":5628113994102808253,"eprktGQx":7808486414457972882,"tPpShtvTMW":3070951040123886726,"xPFs":221971228771686896},"stringDateField":"2008-04-11","stringDateTimeField":"1930-06-13T10:18:48Z","stringField":"GdtayO","stringTimeField":"14:04:46.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":-633,"numField":-162.72524729812588,"stringDateField":"2008-04-11","stringDateTimeField":"1930-06-13T10:18:48Z","stringField":"GdtayO","stringTimeField":"14:04:46.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":994,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":994,"uuid":"9de3e427-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["wSGEC","vcdf"],"boolField":true,"intField":-467,"numField":-325.4567318235845,"objField":{"IwFlzZhQ":5474689683233037665,"zuVjrXYjR":-5136253574055280876},"stringDateField":"1931-05-18","stringDateTimeField":"1918-11-05T15:45:54Z","stringField":"EqSzDReZo","stringTimeField":"21:24:35.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":-467,"numField":-325.4567318235845,"stringDateField":"1931-05-18","stringDateTimeField":"1918-11-05T15:45:54Z","stringField":"EqSzDReZo","stringTimeField":"21:24:35.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":995,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":995,"uuid":"9de3e427-5655-11ee-9001-675ed0f8e89b"},"arrayField":["xASTLyx","ZRWSaB","UgRtIqBKRY","QqHSaqbj","pQsMZNn","pYAOGMH","ljoZhd","jojONqjrkO"],"boolField":false,"intField":601,"numField":598.8797356225424,"objField":{"BZxgHG":6775053821118337454,"CqdEguNs":-8390929973023303277,"EopxVYhboB":6323919424004084936,"JxaZcCU":-3361729263725206782,"PfJAZtt":-6484009669381480046,"agdxAQAmVY":-8429977290085701959,"fUabZhiRex":4011071020853939322,"sgjdgQYH":7784121550938880072},"stringDateField":"2005-12-31","stringDateTimeField":"1967-08-04T17:43:24Z","stringField":"UMLUtuhg","stringTimeField":"22:28:53.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":601,"numField":598.8797356225424,"stringDateField":"2005-12-31","stringDateTimeField":"1967-08-04T17:43:24Z","stringField":"UMLUtuhg","stringTimeField":"22:28:53.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":996,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":996,"uuid":"9de3e427-5655-11ee-9401-675ed0f8e89b"},"arrayField":["AfqH","vMApL","OzLRoABPPD"],"boolField":true,"intField":230,"numField":-2.4071507559596528,"objField":{"ATghi":3971962030169157263,"CYTxTQLLOg":-3330711664997640019,"NuyUcOYRq":3014496580418748549,"TXiIgvJSnk":3340681682141804150,"iJvulKFBoB":4663751714988262278,"oklKvx":-8310576319220465373,"pYFCXHFJlV":-340938685128842729,"wjnYgqJs":7131511955730224883},"stringDateField":"1951-10-12","stringDateTimeField":"1997-03-10T22:06:37Z","stringField":"jjQNfaklr","stringTimeField":"23:48:52.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":230,"numField":-2.4071507559596528,"stringDateField":"1951-10-12","stringDateTimeField":"1997-03-10T22:06:37Z","stringField":"jjQNfaklr","stringTimeField":"23:48:52.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":997,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":997,"uuid":"9de3e427-5655-11ee-9801-675ed0f8e89b"},"arrayField":["JTFpVJC","ShKlFACi","bwgV","xzrPFUWVoa","SBRsgrlCVe"],"boolField":true,"intField":582,"numField":915.319254412944,"objField":{"GjtdGko":-5681333415649510174,"JnhHzvJD":8705219748633303811,"JpuCZy":7166176606219470910,"XDmTY":-4023051525088103360,"uWOeofq":-2687180328260894918},"stringDateField":"1965-12-05","stringDateTimeField":"1997-12-11T07:42:10Z","stringField":"AGdWZsJZ","stringTimeField":"03:10:57.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":582,"numField":915.319254412944,"stringDateField":"1965-12-05","stringDateTimeField":"1997-12-11T07:42:10Z","stringField":"AGdWZsJZ","stringTimeField":"03:10:57.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":998,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":998,"uuid":"9de3e427-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["DkQiCwT","NhINmpFWu","snloyGQjb","RLVRVUn","tMDWorX","ZBbrTXUf","rZzFMmxc","iYvxt","dWyuXiJMD"],"boolField":true,"intField":-337,"numField":317.8925483883317,"objField":{"DzwGlfU":-4718050169087734566,"LEqE":-2206426313389455855,"PySeENEthC":8481927714486717113,"YgPZViYi":-3104051170426433905,"ZwJRQU":5757374857648202277,"ymeb":-3017703888266162493,"zXuTY":2783566527877486065},"stringDateField":"1948-09-17","stringDateTimeField":"1994-11-02T03:43:43Z","stringField":"JBVqhGHK","stringTimeField":"11:56:33.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":-337,"numField":317.8925483883317,"stringDateField":"1948-09-17","stringDateTimeField":"1994-11-02T03:43:43Z","stringField":"JBVqhGHK","stringTimeField":"11:56:33.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":999,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":999,"uuid":"9de3e427-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ulLLgTuTH"],"boolField":true,"intField":797,"numField":851.2526155737021,"objField":{"KAjuMGci":55671245363826555,"TxGwuiXv":1279049373409278507,"UpgwBGTFNA":-7337012835934554621,"ZQHhmtFWRT":7985875951776420128,"dSnDMmXQye":-3894436548357480269,"kyIF":5534475665211685942,"kzRKCBFOd":8994721481006748,"weEHoIZB":-4779486531241558190,"yXfp":-6364643965441417340},"stringDateField":"1945-08-17","stringDateTimeField":"1992-12-01T06:57:57Z","stringField":"bBmLeSo","stringTimeField":"21:58:31.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":797,"numField":851.2526155737021,"stringDateField":"1945-08-17","stringDateTimeField":"1992-12-01T06:57:57Z","stringField":"bBmLeSo","stringTimeField":"21:58:31.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1000,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1000,"uuid":"9de3e427-5655-11ee-a401-675ed0f8e89b"},"arrayField":["FssXJEZhQr","CSJOolZOu","cXIg","FggWGOWJMK","nxMry","VAMJ"],"boolField":false,"intField":-408,"numField":112.44315351612076,"objField":{"AVLYnPfwxR":6739791925827556643,"VooNstxukh":-9007315662421129506,"ZtjxvLQr":-1878691995898747104,"rBYfJCK":6583402535664300659,"yejtTCFUet":-4291692054703759189,"zfUpfFnq":1648495780108064249},"stringDateField":"1995-05-10","stringDateTimeField":"1989-08-08T23:05:01Z","stringField":"hTyfPuHbjf","stringTimeField":"23:23:41.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":-408,"numField":112.44315351612076,"stringDateField":"1995-05-10","stringDateTimeField":"1989-08-08T23:05:01Z","stringField":"hTyfPuHbjf","stringTimeField":"23:23:41.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1001,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1001,"uuid":"9de3e427-5655-11ee-a801-675ed0f8e89b"},"arrayField":["QzNnT"],"boolField":false,"intField":-751,"numField":-875.3349957629565,"objField":{"LDNOOCWT":-67690138330250617,"ZYnkHE":2365333562685812960},"stringDateField":"1926-10-17","stringDateTimeField":"1927-02-18T16:08:11Z","stringField":"vqoNAIQt","stringTimeField":"22:29:15.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":-751,"numField":-875.3349957629565,"stringDateField":"1926-10-17","stringDateTimeField":"1927-02-18T16:08:11Z","stringField":"vqoNAIQt","stringTimeField":"22:29:15.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1002,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1002,"uuid":"9de3e427-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ewjtcYgTFI","RJuQkABCO","BPqlnRou","iwKn","kBaj","inyoczIXlf","BDGCpcr","bRNKUFTsD","XRqKISNmc","Nkxfizmh"],"boolField":true,"intField":-429,"numField":871.1668644426518,"objField":{"tFpbHlqC":-7613909802580184343,"veUOlZJK":5980002297090696956},"stringDateField":"1901-05-19","stringDateTimeField":"1963-02-19T22:51:13Z","stringField":"ErMUkir","stringTimeField":"08:19:57.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":-429,"numField":871.1668644426518,"stringDateField":"1901-05-19","stringDateTimeField":"1963-02-19T22:51:13Z","stringField":"ErMUkir","stringTimeField":"08:19:57.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1003,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1003,"uuid":"9de3e427-5655-11ee-b001-675ed0f8e89b"},"arrayField":["YitIKlIht"],"boolField":false,"intField":588,"numField":831.1768403010724,"objField":{"GaJrwje":4597678831871691692,"JaoVG":5380686467350181598,"aSJaqoPm":-27986702342453823,"chxpT":-5510032102561593951,"dyrDJqXNiH":2811262058789470,"oIWbcs":1529499259021779057,"qOVZKNrH":5744796069665765332,"xHKQgyMyHO":-4491881300158468177},"stringDateField":"2022-08-02","stringDateTimeField":"1951-04-15T23:35:29Z","stringField":"PENDbs","stringTimeField":"20:17:59.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":588,"numField":831.1768403010724,"stringDateField":"2022-08-02","stringDateTimeField":"1951-04-15T23:35:29Z","stringField":"PENDbs","stringTimeField":"20:17:59.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1004,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1004,"uuid":"9de3e427-5655-11ee-b401-675ed0f8e89b"},"arrayField":["PhumQMqZaI","ZfULu","BduTzS","WDKWceCmS","Xnyq"],"boolField":true,"intField":-140,"numField":180.34347160955,"objField":{"iNDfyxSS":5808247103254517713},"stringDateField":"1961-11-05","stringDateTimeField":"1911-08-15T18:43:27Z","stringField":"PMxHDOKZ","stringTimeField":"18:51:05.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":-140,"numField":180.34347160955,"stringDateField":"1961-11-05","stringDateTimeField":"1911-08-15T18:43:27Z","stringField":"PMxHDOKZ","stringTimeField":"18:51:05.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1005,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1005,"uuid":"9de3e427-5655-11ee-b801-675ed0f8e89b"},"arrayField":["nkKAJZnBx","YOJdpWjMxo","HgTgKhAc","gYgirj","JRNxsmtG","noQuZA"],"boolField":true,"intField":-70,"numField":953.6067373677809,"objField":{"BZLo":1577706347803216501,"FXbFGut":3393037335821015439,"NEIOtLG":-8035840760984574170,"OOOAsM":2239422799178875687,"SBhIHjgSVh":7497535304639683920,"XpivQnEN":8798289781634746666,"ZRpt":-471367128160385862,"gsXdcfwuC":-2345476239601578599,"vsYFQ":6171286300662341370},"stringDateField":"1944-01-05","stringDateTimeField":"1939-01-21T20:51:49Z","stringField":"CWruDU","stringTimeField":"07:06:51.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":-70,"numField":953.6067373677809,"stringDateField":"1944-01-05","stringDateTimeField":"1939-01-21T20:51:49Z","stringField":"CWruDU","stringTimeField":"07:06:51.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1006,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1006,"uuid":"9de3e427-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["GZhj","vDnNrtYU","qenD","dIWOOOCCg","HOBn"],"boolField":true,"intField":-443,"numField":573.947529737042,"objField":{"NRCEu":-3080721509418323661,"elqDffLpQ":5159960379513263572,"fRINCxUJ":515374008886798035,"gFgBKZCWaO":6892253822619772120,"gMqY":8608786686325818105,"nWtJf":1000657443503046384,"oWvvRwhGXY":4018800084335402958,"sEPoQv":-3017183882121656953,"twAZ":-1416884679356199702},"stringDateField":"1989-09-17","stringDateTimeField":"1952-01-24T18:04:42Z","stringField":"KFODWjfiWn","stringTimeField":"20:25:36.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230951Z","intField":-443,"numField":573.947529737042,"stringDateField":"1989-09-17","stringDateTimeField":"1952-01-24T18:04:42Z","stringField":"KFODWjfiWn","stringTimeField":"20:25:36.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1007,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1007,"uuid":"9de3e428-5655-11ee-8001-675ed0f8e89b"},"arrayField":["TRbuNVyG","JWjBRAsa","snoU","arGtWSt","SpYr","KovBC","fZlwn","XBmMCbzwoC","IXpFwDLUoy"],"boolField":false,"intField":13,"numField":-607.6164386889836,"objField":{"CUQpKjOvHS":5906520281578458517,"ClDzQEPcFD":1472072487403061571,"GVdeW":4633500716355826007,"HrwhcpC":1340680742164826462,"RYPl":-3972256071774702906,"TqypUVv":-8357739781450486404,"WcfclY":-4668033886943033553},"stringDateField":"1992-07-16","stringDateTimeField":"1984-05-24T00:51:15Z","stringField":"odwcicgj","stringTimeField":"20:45:24.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":13,"numField":-607.6164386889836,"stringDateField":"1992-07-16","stringDateTimeField":"1984-05-24T00:51:15Z","stringField":"odwcicgj","stringTimeField":"20:45:24.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1008,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1008,"uuid":"9de3e428-5655-11ee-8401-675ed0f8e89b"},"arrayField":["BMvQMZf","ZKPjNDfdgQ","JuLIB","Qoxwd"],"boolField":true,"intField":665,"numField":146.53747451614362,"objField":{"NpObfx":-1575657319800308254,"PHQIaIYPsk":4033945418557857873,"QjuLVkeOOI":-2956361605804545204,"ZOzecvqG":-8176889645801337008,"hYVpHfil":3497315088999390114,"szqP":6274909120762244207,"vMtJ":3481012010171061838,"yVwQtTYu":-747069317165041742},"stringDateField":"1946-07-26","stringDateTimeField":"1959-07-11T04:36:11Z","stringField":"iCZw","stringTimeField":"02:23:32.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":665,"numField":146.53747451614362,"stringDateField":"1946-07-26","stringDateTimeField":"1959-07-11T04:36:11Z","stringField":"iCZw","stringTimeField":"02:23:32.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1009,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1009,"uuid":"9de3e428-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ONvMIO"],"boolField":false,"intField":819,"numField":678.4082746820179,"objField":{"DuZd":-98557519509443682,"EiAFp":855580644098194974,"FFebuff":-9198140645345546026,"KroqYOWqq":9061193338861257865,"KySdbA":9058038329005387630,"YxOZgBc":1228726734641933930,"dwSmW":4903754902116477702,"lseZIqx":-8134516238940616424,"wdbxYc":7903782680832807629},"stringDateField":"1972-08-10","stringDateTimeField":"1902-05-24T07:04:48Z","stringField":"tzVbNC","stringTimeField":"04:44:10.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":819,"numField":678.4082746820179,"stringDateField":"1972-08-10","stringDateTimeField":"1902-05-24T07:04:48Z","stringField":"tzVbNC","stringTimeField":"04:44:10.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1010,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1010,"uuid":"9de3e428-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["rKrUji","HWaTsAF","wYiGobosX","SMhCUxBVe","ZqpMj","PXqHF","MqvBzEfkX","WJjqBigmB","HDeLcE"],"boolField":true,"intField":-745,"numField":353.34108392986076,"objField":{"DFeOFtlWxk":6126373551196920570,"EETQ":-7529944524347999844,"GzRRr":-3456344280944525320,"QdSbhSocn":493326536177105354,"QvdsyLBwD":-9100767569668106541,"UZxKYuiE":2297515103550749480,"UcStIiOaXP":-3282067755369910173,"WjmF":-3744955770399958857,"daDlVmy":-1886195361836652727,"mnjkzr":2714209997258084831},"stringDateField":"1971-11-05","stringDateTimeField":"1946-08-05T16:13:16Z","stringField":"VjExeOpWPi","stringTimeField":"15:54:11.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":-745,"numField":353.34108392986076,"stringDateField":"1971-11-05","stringDateTimeField":"1946-08-05T16:13:16Z","stringField":"VjExeOpWPi","stringTimeField":"15:54:11.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1011,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1011,"uuid":"9de3e428-5655-11ee-9001-675ed0f8e89b"},"arrayField":["qTGHZTm","lyJBLAlLq","OPxWrgp","TgxDDeQKA","cREcYiekNc","InfNrRJOmX","LyxOOq","wzOAxccN"],"boolField":false,"intField":931,"numField":-99.7625235667815,"objField":{"AIgAAxcqsL":-9082272718878330430,"FTFqWjOu":6977047258831540901,"YMdZTLi":-7854282365409314989,"eeNCmNYb":-2552952170501767223,"fSOKv":1701176442353887320,"tZOSb":-8373865953949303709},"stringDateField":"1905-10-20","stringDateTimeField":"1986-08-16T11:49:09Z","stringField":"EbiwOIET","stringTimeField":"11:14:50.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":931,"numField":-99.7625235667815,"stringDateField":"1905-10-20","stringDateTimeField":"1986-08-16T11:49:09Z","stringField":"EbiwOIET","stringTimeField":"11:14:50.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1012,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1012,"uuid":"9de3e428-5655-11ee-9401-675ed0f8e89b"},"arrayField":["QCAvQ","VAIIJuPZj","DTeU","biHa","TgIFlYV","pJKSGDo","GuFG"],"boolField":true,"intField":-274,"numField":-485.9812918962765,"objField":{"JWChNL":-3243799503994691148,"KXwfwCjZM":-7500922747131719507,"NVBTn":2501230897341545329,"WJyUCJu":1116286691387675294,"brRTM":-8742904446083214278,"iEdM":-5296103640434951115,"neaugeVhVF":8468935222480018100,"vXSDOaq":-4468277966303701797,"xdRNShj":-5139033941550508851},"stringDateField":"1988-07-03","stringDateTimeField":"1920-11-23T13:33:21Z","stringField":"WAvE","stringTimeField":"05:40:53.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":-274,"numField":-485.9812918962765,"stringDateField":"1988-07-03","stringDateTimeField":"1920-11-23T13:33:21Z","stringField":"WAvE","stringTimeField":"05:40:53.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1013,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1013,"uuid":"9de3e428-5655-11ee-9801-675ed0f8e89b"},"arrayField":["MLDURMXt","WXsit","FfMEW","cOMiaKel","PRja","kRWHqPQRa","IVKXzohlv","vrfF"],"boolField":false,"intField":-489,"numField":585.837694947478,"objField":{"CHQIeULdnK":-477853844093549266,"EtgvGQLEF":7904805668570532022,"JgyZgcR":6518164665589911616,"YeAO":-1570813889536088408,"ixyqRFIXz":7981917909415411996,"oVKjAnkYy":2487179351362068957,"vWEqpFYqNN":5953987394187403459,"wfol":-8168757939181202045},"stringDateField":"1908-03-23","stringDateTimeField":"1970-04-11T12:23:53Z","stringField":"ysEsTr","stringTimeField":"12:28:06.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":-489,"numField":585.837694947478,"stringDateField":"1908-03-23","stringDateTimeField":"1970-04-11T12:23:53Z","stringField":"ysEsTr","stringTimeField":"12:28:06.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1014,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1014,"uuid":"9de3e428-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["PzuQ","knqI","VjFxBEhPk","Ulxx"],"boolField":true,"intField":-278,"numField":-78.55757697103782,"objField":{"BjeYwCzb":8499592146071182559,"CXGn":7337693166864438578,"SiZcX":-4774567850843946387,"WxONJvEyw":-1042259312502487765,"YiXdP":-263384595401664658,"gFuR":-3191544835955951520,"oZuVPiOkKR":5279560092774778514,"wAONRvy":-7053549939401730783,"xdeoC":878344790819967100},"stringDateField":"2011-09-06","stringDateTimeField":"1977-04-17T17:24:37Z","stringField":"MkXQ","stringTimeField":"04:27:07.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":-278,"numField":-78.55757697103782,"stringDateField":"2011-09-06","stringDateTimeField":"1977-04-17T17:24:37Z","stringField":"MkXQ","stringTimeField":"04:27:07.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1015,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1015,"uuid":"9de3e428-5655-11ee-a001-675ed0f8e89b"},"arrayField":["orszuxLeaC","kCXAan","EOjsEzwday","KWKsZ","rOyeiPAa","sEFjxvtEPH"],"boolField":false,"intField":187,"numField":344.50098692461495,"objField":{"EJBSEUFch":-9132253990466511900,"GcHo":-6464186327404476597,"VZccKv":2321344714514520562,"VimMkmIcuk":-420127391011567014,"WAylwpJO":-6509630831586147360,"agTTtBxv":-7216776284814812306,"cjbrSaYQEb":-7743880695863795488,"dydC":-6430611732148707770,"kIpdsLXZ":-3182590764743598428,"mFJIfrVOUP":-2292680845427548111},"stringDateField":"1910-07-01","stringDateTimeField":"2021-06-04T23:00:25Z","stringField":"uyHyDvJB","stringTimeField":"23:54:49.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":187,"numField":344.50098692461495,"stringDateField":"1910-07-01","stringDateTimeField":"2021-06-04T23:00:25Z","stringField":"uyHyDvJB","stringTimeField":"23:54:49.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1016,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1016,"uuid":"9de3e428-5655-11ee-a401-675ed0f8e89b"},"arrayField":["mJNKpW","ADxnlO","RZOctrmIQZ","WpZZeRBOF"],"boolField":true,"intField":401,"numField":-281.89911419734926,"objField":{"EZWruW":713788076235537237,"IDrSdRF":-2999684592474537148,"MMXt":-202163478256966218,"WlWfrfEEGy":-4535589953772119945,"jQNd":-4016832770318333627,"nGxAdnt":3562184269205044633,"rllxw":1105647857555473273,"sWBfyiMIS":-2324019597030015783,"uWRuijbR":-1578878809591687623},"stringDateField":"1936-07-16","stringDateTimeField":"2010-02-11T01:35:28Z","stringField":"sBOdUFYOKE","stringTimeField":"06:10:44.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":401,"numField":-281.89911419734926,"stringDateField":"1936-07-16","stringDateTimeField":"2010-02-11T01:35:28Z","stringField":"sBOdUFYOKE","stringTimeField":"06:10:44.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1017,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1017,"uuid":"9de3e428-5655-11ee-a801-675ed0f8e89b"},"arrayField":["SPecZCVH","IQLmqy","pLEIkGo","hbxC","jdeiFCw","PuFu"],"boolField":false,"intField":-100,"numField":-35.103425576016754,"objField":{"AegAjaWkRR":-2990420775743075587,"CoYG":1235662918867856324,"EnvBQHqeX":-1202160896268064045,"KdNPXBAsW":-204592304892361918,"Prch":-7460689625739642187,"PtERDq":-8743032144834698546,"RNJCnK":1851258581661137628,"TDXMegH":-7687382332653546811},"stringDateField":"1971-05-08","stringDateTimeField":"1993-08-06T08:49:03Z","stringField":"yuXhEnIx","stringTimeField":"04:32:55.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":-100,"numField":-35.103425576016754,"stringDateField":"1971-05-08","stringDateTimeField":"1993-08-06T08:49:03Z","stringField":"yuXhEnIx","stringTimeField":"04:32:55.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1018,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1018,"uuid":"9de3e428-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["TwUKpo","AcVJhwtlNv","CBOsluepoI","CEgWyMv","TofNo","rdgsPg","DhHH","PXPq","LjeKkfnj","qbuyEYb"],"boolField":false,"intField":946,"numField":522.6684914515811,"objField":{"EjKPWa":2815338869879106454,"FyuhbFGP":7276429070632353488,"HtnYEuCOd":-3146996411521832882,"LWunq":3001001270596541693,"YYQQytBfC":-7791311187570454718,"dXUTjgFfQ":953175443711584585,"iDLVH":1900213227702912084,"sHJqXMEGBY":62467708715710541,"syrohDCri":-2466838363629108765,"tdfWAjUDGT":6621586784747346719},"stringDateField":"1921-05-18","stringDateTimeField":"1965-10-11T02:12:04Z","stringField":"gFtQ","stringTimeField":"01:51:04.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":946,"numField":522.6684914515811,"stringDateField":"1921-05-18","stringDateTimeField":"1965-10-11T02:12:04Z","stringField":"gFtQ","stringTimeField":"01:51:04.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1019,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1019,"uuid":"9de3e428-5655-11ee-b001-675ed0f8e89b"},"arrayField":["YnXIwrOX"],"boolField":false,"intField":892,"numField":961.5734936022428,"objField":{"mTaxTXEX":7607729777482745320},"stringDateField":"1950-10-28","stringDateTimeField":"2009-02-27T06:29:39Z","stringField":"EmPE","stringTimeField":"10:18:30.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":892,"numField":961.5734936022428,"stringDateField":"1950-10-28","stringDateTimeField":"2009-02-27T06:29:39Z","stringField":"EmPE","stringTimeField":"10:18:30.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1020,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1020,"uuid":"9de3e428-5655-11ee-b401-675ed0f8e89b"},"arrayField":["sEydFCMAhb","SUco","eboHmwXQh","FHai"],"boolField":true,"intField":-159,"numField":709.6863919181579,"objField":{"EfHnPagNsT":5767697260214169837,"pbweAt":-1414329210672721838},"stringDateField":"1926-06-01","stringDateTimeField":"1908-11-23T19:09:43Z","stringField":"OIBJq","stringTimeField":"07:19:39.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":-159,"numField":709.6863919181579,"stringDateField":"1926-06-01","stringDateTimeField":"1908-11-23T19:09:43Z","stringField":"OIBJq","stringTimeField":"07:19:39.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1021,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1021,"uuid":"9de3e428-5655-11ee-b801-675ed0f8e89b"},"arrayField":["kxTWq","rdRKwLcP","uURuwjpum","ooMF","leKR","xfFaMaO","MxfNhpQWM"],"boolField":true,"intField":654,"numField":-437.4911729349167,"objField":{"bSfJTANV":7476320153602500201},"stringDateField":"1942-01-28","stringDateTimeField":"1940-02-28T16:19:17Z","stringField":"lwOngFa","stringTimeField":"16:56:24.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":654,"numField":-437.4911729349167,"stringDateField":"1942-01-28","stringDateTimeField":"1940-02-28T16:19:17Z","stringField":"lwOngFa","stringTimeField":"16:56:24.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1022,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1022,"uuid":"9de3e428-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ReBAJR"],"boolField":true,"intField":-740,"numField":-861.0354858990469,"objField":{"NklzpMg":1397334504148549200,"SiYx":-1263022407502773674,"TavdgNKU":-1242113726495974001,"ZYAvckZq":6207789113379304210,"bSKlfSNUP":-399986460616918355,"bjEpJa":4351414926704533354,"sCujfjoZH":2985874723265075227,"tBbTHNSm":4538015444025248404,"zaob":1315322130195819692,"zhelROS":9200717609236760517},"stringDateField":"2011-02-06","stringDateTimeField":"1951-05-29T14:04:54Z","stringField":"iRZijU","stringTimeField":"08:30:22.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230952Z","intField":-740,"numField":-861.0354858990469,"stringDateField":"2011-02-06","stringDateTimeField":"1951-05-29T14:04:54Z","stringField":"iRZijU","stringTimeField":"08:30:22.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1023,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1023,"uuid":"9de3e429-5655-11ee-8001-675ed0f8e89b"},"arrayField":["xqmox","HmhFvkDKJS","mMkSF","BOnu","SRsKg"],"boolField":false,"intField":-221,"numField":343.6924458796082,"objField":{"PInTwNn":-6404763744233796286,"QnRVcwY":8313017652585844994},"stringDateField":"1933-09-09","stringDateTimeField":"1934-06-27T12:49:32Z","stringField":"MWXefPwoDF","stringTimeField":"15:16:31.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":-221,"numField":343.6924458796082,"stringDateField":"1933-09-09","stringDateTimeField":"1934-06-27T12:49:32Z","stringField":"MWXefPwoDF","stringTimeField":"15:16:31.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1024,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1024,"uuid":"9de3e429-5655-11ee-8401-675ed0f8e89b"},"arrayField":["cBjt","NeXxRzNIS"],"boolField":false,"intField":644,"numField":776.3469929915578,"objField":{"EKcW":-6281756956949383829,"MOhg":5822941955687459574,"Taeg":5327056062182720045,"WuJbdk":-8800131071247889397,"YjTAiyiwj":-1724860054945979899,"bLljzucXM":-1397786273103884887,"kSGxx":-7738003609029193749},"stringDateField":"1959-12-05","stringDateTimeField":"1910-06-03T17:11:58Z","stringField":"cEvW","stringTimeField":"12:59:34.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":644,"numField":776.3469929915578,"stringDateField":"1959-12-05","stringDateTimeField":"1910-06-03T17:11:58Z","stringField":"cEvW","stringTimeField":"12:59:34.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1025,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1025,"uuid":"9de3e429-5655-11ee-8801-675ed0f8e89b"},"arrayField":["QxTXPX","zDZxmHYY","uxso","zRQEZeSdpL","DQzEO","lfoCOrQHU","nKeQAXkE","SzymR","hZXGH","vXcmXXtC"],"boolField":true,"intField":272,"numField":392.2636233214787,"objField":{"KNgBL":-3071994551258334343,"VlcyAQ":-35568338439274297,"uwDZLnOf":-5171363655854372085},"stringDateField":"1934-06-14","stringDateTimeField":"1979-06-25T00:49:19Z","stringField":"pjfVkzInl","stringTimeField":"06:09:12.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":272,"numField":392.2636233214787,"stringDateField":"1934-06-14","stringDateTimeField":"1979-06-25T00:49:19Z","stringField":"pjfVkzInl","stringTimeField":"06:09:12.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1026,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1026,"uuid":"9de3e429-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KkxEvw","vEMfccycih","gXVms","UFkJ","NpATv","JXXzwh","LWnN","ywSsXb"],"boolField":false,"intField":531,"numField":459.7794801873392,"objField":{"HBZMljcy":4452032607869778853,"OtFfLkOF":3898383526177918077,"RPlyTbyOhl":4673678903091469213,"WEygBCRyGE":-3733959971618718880,"itrWtHldjS":5987247689894197725,"otas":-2603616845914622578,"tPFqed":4796320515961099140,"wdXGquHc":-3346462706021765453,"yTSbUVloFm":1908830600284266634},"stringDateField":"1923-01-16","stringDateTimeField":"1914-05-07T23:49:38Z","stringField":"CrpeOIFFGQ","stringTimeField":"05:16:46.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":531,"numField":459.7794801873392,"stringDateField":"1923-01-16","stringDateTimeField":"1914-05-07T23:49:38Z","stringField":"CrpeOIFFGQ","stringTimeField":"05:16:46.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1027,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1027,"uuid":"9de3e429-5655-11ee-9001-675ed0f8e89b"},"arrayField":["bYrWZUxhge","BkpF","ZSvosW","BpDfKRO","hHor","CCpjUqFcp","goTlD","xBHPiGlzHp","eWnmgyWKC","eGGRM"],"boolField":true,"intField":156,"numField":18.42424424701594,"objField":{"IFCVAVOI":-133985087892383964,"TtkBci":-4776522616638476343,"UPASrYsyh":-5433677491064844881,"WfePiI":-4507308876850571520,"YaCBGhU":7607405287266050477,"doEzXGFZnL":7900591911295685793,"joEFEv":4910789883206917283,"krmTIbo":6401671353219356812,"wIDXUoDB":-5893840579490926839},"stringDateField":"1929-12-14","stringDateTimeField":"1948-05-24T02:46:48Z","stringField":"atkv","stringTimeField":"12:24:23.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":156,"numField":18.42424424701594,"stringDateField":"1929-12-14","stringDateTimeField":"1948-05-24T02:46:48Z","stringField":"atkv","stringTimeField":"12:24:23.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1028,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1028,"uuid":"9de3e429-5655-11ee-9401-675ed0f8e89b"},"arrayField":["MZYdVZdSJ","uvfTvhWsF"],"boolField":true,"intField":453,"numField":-691.8292194353412,"objField":{"KZbZeHQ":361058915517628583,"WFuXwnujC":4590217259014480087,"XTwPmeJPFE":4803717150183424084},"stringDateField":"1909-08-04","stringDateTimeField":"1971-04-01T16:35:00Z","stringField":"kzfhX","stringTimeField":"21:28:38.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":453,"numField":-691.8292194353412,"stringDateField":"1909-08-04","stringDateTimeField":"1971-04-01T16:35:00Z","stringField":"kzfhX","stringTimeField":"21:28:38.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1029,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1029,"uuid":"9de3e429-5655-11ee-9801-675ed0f8e89b"},"arrayField":["nNuN","zlNWDhFj"],"boolField":false,"intField":226,"numField":822.8078625081383,"objField":{"QNXSsra":-505998620973296317},"stringDateField":"2008-10-20","stringDateTimeField":"1902-07-15T02:47:35Z","stringField":"bFVZBDcSLr","stringTimeField":"15:10:50.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":226,"numField":822.8078625081383,"stringDateField":"2008-10-20","stringDateTimeField":"1902-07-15T02:47:35Z","stringField":"bFVZBDcSLr","stringTimeField":"15:10:50.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1030,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1030,"uuid":"9de3e429-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["lzJdREu","mGJZp","xgdK","yAWb","iCumLnk","PSfuVAvh"],"boolField":true,"intField":355,"numField":-314.9158020241237,"objField":{"YdXHcQen":-6692197098687204722,"ZcCMdY":-107605124549245231,"clRsqrsi":5434753821729535242,"hrJmwB":8091537197793503128,"kIUtA":3244082328023563559,"mXoau":-2451608366720663681,"tELN":7341560606420531469},"stringDateField":"1991-06-04","stringDateTimeField":"1951-09-02T07:44:57Z","stringField":"dGMUI","stringTimeField":"04:32:51.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":355,"numField":-314.9158020241237,"stringDateField":"1991-06-04","stringDateTimeField":"1951-09-02T07:44:57Z","stringField":"dGMUI","stringTimeField":"04:32:51.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1031,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1031,"uuid":"9de3e429-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ZfBFExYKm","tLXQmen","SgWimLSuwV","fKZsInLDPy","jCdtqXrPGP","ydSVtyv","XUnrovjYqc","urJQ","OHabux"],"boolField":false,"intField":-647,"numField":462.4253179929432,"objField":{"FqfeVb":2838227997547097745,"MNyyRa":5604278057407870816,"akTEc":-2643101584205214383,"cGnqJDXlXy":4049457072156427665,"hnKen":-7138311198917144358,"nnyifmaUb":183440061385485250,"qhIAgpyeW":5039604878831649839,"tbCpchhX":-8860378385832160045},"stringDateField":"1955-07-24","stringDateTimeField":"2008-02-15T02:46:57Z","stringField":"ggYzuPMhHP","stringTimeField":"23:41:19.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":-647,"numField":462.4253179929432,"stringDateField":"1955-07-24","stringDateTimeField":"2008-02-15T02:46:57Z","stringField":"ggYzuPMhHP","stringTimeField":"23:41:19.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1032,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1032,"uuid":"9de3e429-5655-11ee-a401-675ed0f8e89b"},"arrayField":["wsauCEqQF","myOK","NLBMhKl","NnLmlb","lUIiSrK","GUGuKKgo"],"boolField":false,"intField":-19,"numField":694.0895175688786,"objField":{"BXZkt":-1764280327084422112,"RSQj":-9099182364828977355,"XCAYZyj":-3876139648790983842},"stringDateField":"1905-10-29","stringDateTimeField":"2009-04-06T11:24:54Z","stringField":"HEcggoC","stringTimeField":"21:44:05.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":-19,"numField":694.0895175688786,"stringDateField":"1905-10-29","stringDateTimeField":"2009-04-06T11:24:54Z","stringField":"HEcggoC","stringTimeField":"21:44:05.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1033,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1033,"uuid":"9de3e429-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ZqOwYlcyp","yUdemKbr","DXOS","YXsEiyQbyH","XzHLcislFy","iGfLZyl","OhvAq","OAdjU","IGJZNtvfVJ","kXcylk"],"boolField":false,"intField":550,"numField":628.848160585668,"objField":{"GvMKvtQ":3282548497201299290,"IcZNWPR":7293187800864931969,"TEDH":5073903445681733688,"erZZNHFV":3695659116863562252,"ndmYgP":7867351081776931828,"qejRGR":-861558471811503265},"stringDateField":"1987-08-05","stringDateTimeField":"2020-01-15T02:06:42Z","stringField":"zdkrEjr","stringTimeField":"12:19:06.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":550,"numField":628.848160585668,"stringDateField":"1987-08-05","stringDateTimeField":"2020-01-15T02:06:42Z","stringField":"zdkrEjr","stringTimeField":"12:19:06.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1034,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1034,"uuid":"9de3e429-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["uhdNHBZ","JjkEzcolO","NUEJ","eTwGHMk","vHMN"],"boolField":true,"intField":-390,"numField":-763.9548995950947,"objField":{"HNbVyXDgVi":577515303799740422,"HgRdqJ":4243294202637154977,"PGKNYBof":5840751459518927214,"TpHdC":-979863901700213450,"fnYD":-4449519101455726567,"iHSqyVaUD":3329123138468280311,"mftqjoCGQT":-5036157763472221522,"rEVHa":8742677115812629759},"stringDateField":"1925-03-21","stringDateTimeField":"1994-03-13T10:16:25Z","stringField":"mCQQhhGzig","stringTimeField":"13:28:37.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":-390,"numField":-763.9548995950947,"stringDateField":"1925-03-21","stringDateTimeField":"1994-03-13T10:16:25Z","stringField":"mCQQhhGzig","stringTimeField":"13:28:37.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1035,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1035,"uuid":"9de3e429-5655-11ee-b001-675ed0f8e89b"},"arrayField":["nBpbgW","hsEgDw","CQeE","OIeOlqHy","pLWDn"],"boolField":true,"intField":956,"numField":-526.0814135390813,"objField":{"kOOYRKQvRJ":598130943099954156},"stringDateField":"1992-06-21","stringDateTimeField":"1902-06-04T02:33:52Z","stringField":"XbhbWSxsN","stringTimeField":"08:09:10.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":956,"numField":-526.0814135390813,"stringDateField":"1992-06-21","stringDateTimeField":"1902-06-04T02:33:52Z","stringField":"XbhbWSxsN","stringTimeField":"08:09:10.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1036,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1036,"uuid":"9de3e429-5655-11ee-b401-675ed0f8e89b"},"arrayField":["DTIKV","FpaAp","mOIZTSeOw","NUeXpTcyJo","hHOS","qxZDxJ","flGjpsZi","xYGvnHVDLv","jFYoidtMrc","BKcZv"],"boolField":false,"intField":-655,"numField":-75.12472067095932,"objField":{"YvwvDX":-8992591702053131338,"cdkG":-3915573330076311194,"vcSAyA":-6728434646832913982},"stringDateField":"2007-04-16","stringDateTimeField":"2015-06-01T21:42:59Z","stringField":"RAVDQLl","stringTimeField":"16:46:02.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":-655,"numField":-75.12472067095932,"stringDateField":"2007-04-16","stringDateTimeField":"2015-06-01T21:42:59Z","stringField":"RAVDQLl","stringTimeField":"16:46:02.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1037,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1037,"uuid":"9de3e429-5655-11ee-b801-675ed0f8e89b"},"arrayField":["uEEFvqYp","RgWK","qaJuc"],"boolField":true,"intField":-512,"numField":308.08321860598363,"objField":{"NYwLbq":-7174734855134400794,"WIfoCXP":931637710730633781},"stringDateField":"1950-08-23","stringDateTimeField":"1953-12-03T12:51:09Z","stringField":"RtGpXX","stringTimeField":"13:19:09.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":-512,"numField":308.08321860598363,"stringDateField":"1950-08-23","stringDateTimeField":"1953-12-03T12:51:09Z","stringField":"RtGpXX","stringTimeField":"13:19:09.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1038,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1038,"uuid":"9de3e429-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["BPVhY","oTkqno","gwCrLXW","FYFTWwec","oJkkhho","KeODglLM","yNoCgr","qYcP","mmwjSmtcZ"],"boolField":false,"intField":-808,"numField":-783.2284998842678,"objField":{"BIUmba":-5955324552502782311,"dOjwjxTd":-2798007318846954982,"gOhGzolbgF":8748024420686153687,"kulL":6023867199770408303,"tOiM":527215099597032116,"uqsjIrEv":-1595990373356548012},"stringDateField":"1911-06-11","stringDateTimeField":"1973-05-26T05:16:00Z","stringField":"RzTbqz","stringTimeField":"03:26:09.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230953Z","intField":-808,"numField":-783.2284998842678,"stringDateField":"1911-06-11","stringDateTimeField":"1973-05-26T05:16:00Z","stringField":"RzTbqz","stringTimeField":"03:26:09.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1039,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1039,"uuid":"9de3e42a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["msxJ","huhU","eSVyB","leqIe","qjYblVadBH","OSWZAYOTk","WuFB"],"boolField":true,"intField":-801,"numField":488.0021824124363,"objField":{"OYbANo":4972850934195296785,"QrfOVzme":-2873768359161656089,"UzCB":460773832279543901,"cDblo":7548396357241825807,"dQOW":-4497043583704877911,"tcRs":-8398243087214258346,"uDoYBTAuI":-7492941996122828308,"vvsJnwuTjM":-2540033961423936027,"whoVcn":-4839357972267331895,"yVoohfngTV":2333200253929906850},"stringDateField":"1953-02-14","stringDateTimeField":"1924-05-01T12:28:16Z","stringField":"dJNaI","stringTimeField":"10:57:38.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":-801,"numField":488.0021824124363,"stringDateField":"1953-02-14","stringDateTimeField":"1924-05-01T12:28:16Z","stringField":"dJNaI","stringTimeField":"10:57:38.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1040,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1040,"uuid":"9de3e42a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["Ptdiu","seSzAfTuO","EvShLmVr","YRYA","JgUbxbB","mXmY","gbfOVloi","mOLtuxyZa","VpJbFf","BflmAn"],"boolField":true,"intField":869,"numField":-302.96671289475165,"objField":{"OsXoHu":-1654852155045557787,"PbyucH":7064676918060452763,"cnjRsb":7269272057907320835,"dubeNmlJ":3451910406149147712,"kTflkkx":-7730230974702439613,"mBvvLsBYc":1518570756624290189},"stringDateField":"1935-03-26","stringDateTimeField":"1994-01-24T02:14:10Z","stringField":"eycCPU","stringTimeField":"10:55:58.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":869,"numField":-302.96671289475165,"stringDateField":"1935-03-26","stringDateTimeField":"1994-01-24T02:14:10Z","stringField":"eycCPU","stringTimeField":"10:55:58.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1041,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1041,"uuid":"9de3e42a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["KSnD"],"boolField":true,"intField":-363,"numField":696.1581983077243,"objField":{"AIKiPZNys":-8755144216206957849,"CXxzyfMn":-7833640774159427562,"CefJEjQy":-2804701511712486270,"CmihI":5043018626204679352,"RjTwhN":-8895799769982579398,"iCpqh":-2783895971181781946,"jrdwLJE":-1587023155964068812,"pmxPEpDage":3446084590477287068,"uafXOjek":-39235638543103434,"yMlYN":-6654713599790985540},"stringDateField":"1917-03-12","stringDateTimeField":"1990-06-22T11:48:00Z","stringField":"WjTj","stringTimeField":"10:39:41.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":-363,"numField":696.1581983077243,"stringDateField":"1917-03-12","stringDateTimeField":"1990-06-22T11:48:00Z","stringField":"WjTj","stringTimeField":"10:39:41.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1042,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1042,"uuid":"9de3e42a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["Bibh","yvecD","KsKfckVom","rodm","CwaQAKjr","YfqLUdgHYm"],"boolField":true,"intField":787,"numField":124.71042241897769,"objField":{"DcJryxSf":7446660330115237969,"Deocyg":-7885700930651221196,"IqgV":4530943566167270085,"KcvHHeOpB":5162895429868134864,"abEwmRrsqk":-5028401647810133165,"eEPZq":3212887405270805048,"kjVq":-7214704672438903414,"uetuikVNS":9048000389043177659,"vWMpmXEjKA":3711220335894647802,"wBli":-4559919085718299414},"stringDateField":"1952-01-12","stringDateTimeField":"1957-10-18T01:49:51Z","stringField":"Tuyl","stringTimeField":"18:56:58.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":787,"numField":124.71042241897769,"stringDateField":"1952-01-12","stringDateTimeField":"1957-10-18T01:49:51Z","stringField":"Tuyl","stringTimeField":"18:56:58.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1043,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1043,"uuid":"9de3e42a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["rohCRsVlD","TwBhaKk","JRaVU","cEcJoxgo","hKMefxI"],"boolField":true,"intField":37,"numField":-856.6997267707826,"objField":{"eYqI":-7960382818891803852},"stringDateField":"1901-05-01","stringDateTimeField":"1977-06-15T22:57:56Z","stringField":"IBeUkyi","stringTimeField":"23:36:22.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":37,"numField":-856.6997267707826,"stringDateField":"1901-05-01","stringDateTimeField":"1977-06-15T22:57:56Z","stringField":"IBeUkyi","stringTimeField":"23:36:22.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1044,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1044,"uuid":"9de3e42a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["lcNsNYGZTV"],"boolField":true,"intField":801,"numField":-565.2550516795386,"objField":{"MFLcs":-1655131079280319302,"SsvtlFx":153618291896192809,"TTHIO":5722740636034592630,"eNvJwqPwy":4935228425772723885,"kEQHP":1545996353461302906,"lnRdLfsmhb":-3893635229612403627,"yknlbLbwz":5242572421569905484},"stringDateField":"1978-03-21","stringDateTimeField":"1979-05-30T05:08:34Z","stringField":"nOXluYfkD","stringTimeField":"22:50:44.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":801,"numField":-565.2550516795386,"stringDateField":"1978-03-21","stringDateTimeField":"1979-05-30T05:08:34Z","stringField":"nOXluYfkD","stringTimeField":"22:50:44.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1045,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1045,"uuid":"9de3e42a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["UPIXKElq","hxpAJ","GRew","wDvpEsBiP","ErziyKDFC","ZdFF","CkrqpdpoV"],"boolField":true,"intField":-988,"numField":122.176631835758,"objField":{"GfWtTZ":4199360952968004091,"SdOejKmpr":-381429569966882091,"VpvAouTR":-8580594983726576990,"dKGFHnF":7637113051506582849,"dXZmEuSgGD":-2187660961875411824,"fLUJ":-7766348031008762873,"gkCdsvDRX":418813756793500875,"vwASn":-4386489331825192265},"stringDateField":"2019-10-24","stringDateTimeField":"2023-09-24T08:42:49Z","stringField":"RyEd","stringTimeField":"21:29:25.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":-988,"numField":122.176631835758,"stringDateField":"2019-10-24","stringDateTimeField":"2023-09-24T08:42:49Z","stringField":"RyEd","stringTimeField":"21:29:25.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1046,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1046,"uuid":"9de3e42a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wGeDr","nipjkbMfi","KTvsRAnqj","sYGOh","XkAcofwJye","HGamOWiPhQ","QyTt"],"boolField":true,"intField":387,"numField":521.4722535591245,"objField":{"DYiWUPFj":-2035769543585739774,"GKjZa":-587612848530435857,"UqxdfxlH":-4837211632649362994,"YseyS":-2335687928477175599,"cyZILgiqWX":-4518326000817063148,"eanrsoBy":1546194361108986402,"jwLfqXm":1462038509487365669,"qogYC":-2318714704099188740},"stringDateField":"1911-07-28","stringDateTimeField":"1974-11-14T13:36:14Z","stringField":"tfWrHrhoKX","stringTimeField":"22:03:03.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":387,"numField":521.4722535591245,"stringDateField":"1911-07-28","stringDateTimeField":"1974-11-14T13:36:14Z","stringField":"tfWrHrhoKX","stringTimeField":"22:03:03.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1047,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1047,"uuid":"9de3e42a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["WZOY","UUVj","saiL","hFPpMz","VBjVnjp","TXxc","gRVDsOVWSt","GYzkL","PODCk","qgThtVw"],"boolField":false,"intField":796,"numField":-269.99557982454115,"objField":{"EcZcLalw":-3068891109285277797,"HZCPWC":-8489965897935705518,"ICVgVCjXfQ":-5901700564482886655,"MZcdkxN":-7389142251961022796,"WoDkbZf":8890085408698150269,"oKjr":-6677754368499373207},"stringDateField":"2015-11-25","stringDateTimeField":"1968-10-25T05:41:29Z","stringField":"GUTjILNdcI","stringTimeField":"20:48:12.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":796,"numField":-269.99557982454115,"stringDateField":"2015-11-25","stringDateTimeField":"1968-10-25T05:41:29Z","stringField":"GUTjILNdcI","stringTimeField":"20:48:12.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1048,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1048,"uuid":"9de3e42a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["qplY","KKdZDET","KogdS","MRpIzYwEu"],"boolField":false,"intField":906,"numField":-871.2544932560434,"objField":{"AQjsSlX":-295101317566071826,"AnUrQ":-7440362316397051905,"EtYdpljlB":-2773055769444708224,"cnVgqkn":-845192445026713879,"dHWLKoD":5289567483489019260,"lQrP":-1448625672306531599,"vDAsSZUDp":5997246304463226875,"wxXYIGUv":838520809397420293,"xvlDUuxDPn":-1522149689348795182},"stringDateField":"1999-08-15","stringDateTimeField":"2004-01-19T22:10:56Z","stringField":"biMklar","stringTimeField":"08:46:59.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":906,"numField":-871.2544932560434,"stringDateField":"1999-08-15","stringDateTimeField":"2004-01-19T22:10:56Z","stringField":"biMklar","stringTimeField":"08:46:59.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1049,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1049,"uuid":"9de3e42a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["kkqF","usoNfcFL"],"boolField":true,"intField":-18,"numField":-59.18062593896878,"objField":{"FqkZfvv":-3839977760174815776,"ePovnQqf":8711712918463908061,"ouaQeK":-5526968064179994525},"stringDateField":"2007-12-31","stringDateTimeField":"1974-06-04T02:01:09Z","stringField":"SGhZR","stringTimeField":"01:37:22.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":-18,"numField":-59.18062593896878,"stringDateField":"2007-12-31","stringDateTimeField":"1974-06-04T02:01:09Z","stringField":"SGhZR","stringTimeField":"01:37:22.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1050,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1050,"uuid":"9de3e42a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["uCZnBqa"],"boolField":false,"intField":598,"numField":-266.1975040878396,"objField":{"AaLsg":6776240991755259354,"OaYbuuYViQ":-2818012073594501610,"RpyPbiZlFc":-5134028283598089895,"WNhmpGFzz":-814139124896879575,"YNmvo":-8410476519787600223,"bWPfBr":-2782343258499914845,"nmnaEdBs":-7468562121704674801,"vRsnw":407465031162119883},"stringDateField":"1926-11-13","stringDateTimeField":"2008-02-11T05:13:55Z","stringField":"rhhonFTII","stringTimeField":"21:17:49.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":598,"numField":-266.1975040878396,"stringDateField":"1926-11-13","stringDateTimeField":"2008-02-11T05:13:55Z","stringField":"rhhonFTII","stringTimeField":"21:17:49.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1051,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1051,"uuid":"9de3e42a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["otjaWeK","HBReQ","iReBxQigM","UDVqN","FLHpszTk","RuxaAgXE","ZGQLdZ","lLwuiLH","WsFRimk","gjhx"],"boolField":false,"intField":796,"numField":-662.9332332981802,"objField":{"YEfGfqeMda":7396768382544374721,"cxem":-7982012239266129586,"eNMYBhb":2242476032606092079,"isPacrFyc":5022565136139481075,"nvGe":-2282629784057018599,"ustsIJCS":-6100706688669009720,"vDcNnIeT":-170319607223923552,"wTzr":-1895015259478287105},"stringDateField":"1933-09-10","stringDateTimeField":"1906-07-06T11:02:25Z","stringField":"YUzGEiRNbG","stringTimeField":"14:38:26.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":796,"numField":-662.9332332981802,"stringDateField":"1933-09-10","stringDateTimeField":"1906-07-06T11:02:25Z","stringField":"YUzGEiRNbG","stringTimeField":"14:38:26.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1052,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1052,"uuid":"9de3e42a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["TcXprv","StyIr"],"boolField":true,"intField":869,"numField":569.6188662681611,"objField":{"DjZfAsyV":1258730824910018484,"NtilYDd":6224413435676091624,"RiCCRsHYPX":-2825694406832673124,"YMPxgyMwm":1314717800898834204,"yqFYQltW":-1407135250888144048},"stringDateField":"1934-06-10","stringDateTimeField":"1984-05-29T03:50:32Z","stringField":"lUWygnY","stringTimeField":"06:47:24.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":869,"numField":569.6188662681611,"stringDateField":"1934-06-10","stringDateTimeField":"1984-05-29T03:50:32Z","stringField":"lUWygnY","stringTimeField":"06:47:24.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1053,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1053,"uuid":"9de3e42a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["QOnyZDpS","Cgye","GCQzPOLLYh","iVtHWY","ckzTh","rXoEneN","YmWgDUVf"],"boolField":false,"intField":-411,"numField":869.2876676118957,"objField":{"vEPoqRsTj":-5340081553809983107,"zuIky":-1280544916366792601},"stringDateField":"1930-11-28","stringDateTimeField":"1982-11-12T10:18:46Z","stringField":"AJHpBz","stringTimeField":"07:01:51.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":-411,"numField":869.2876676118957,"stringDateField":"1930-11-28","stringDateTimeField":"1982-11-12T10:18:46Z","stringField":"AJHpBz","stringTimeField":"07:01:51.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1054,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1054,"uuid":"9de3e42a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["emixkal","VyrfEzWH","sjOIdLSNdC","QxVH","ijLRdYWqvH"],"boolField":true,"intField":-239,"numField":-177.3808653605814,"objField":{"DxVf":-4343664487178879364,"KActtaJmV":7530821837396892482,"KBdeTmcm":-730186977932963235,"VcvnuIZtk":-4326100926485452176,"fngRRWps":1810961101611731674,"lOnnBDU":-6544575588404844124,"nlWIvHQWO":-4189478509388058893,"wqzDoP":-8750962874419955894,"xyly":-3629522763754320918},"stringDateField":"2012-07-09","stringDateTimeField":"2008-09-27T03:24:43Z","stringField":"SGHEwccOw","stringTimeField":"11:46:02.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230954Z","intField":-239,"numField":-177.3808653605814,"stringDateField":"2012-07-09","stringDateTimeField":"2008-09-27T03:24:43Z","stringField":"SGHEwccOw","stringTimeField":"11:46:02.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1055,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1055,"uuid":"9de3e42b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["xwQGbsmSFq","BeUHmyL","NKrzd","KmZyTereY","Mcdx","AxdTvoW","NAZNSOIZ","ZxKSl","jPOClnF"],"boolField":true,"intField":-602,"numField":-333.1017718519067,"objField":{"CNNkT":8408188047802987305,"LiIp":7095560704277859176,"MXdjHN":-6348342260493446598,"NSEJySGw":-59145033743179662,"QLcjrjLi":-2702957611531096533,"VeGhWfUg":7934318278909751849,"wCYI":-4459173694986720863},"stringDateField":"2010-12-07","stringDateTimeField":"2017-08-29T08:47:44Z","stringField":"XavPtR","stringTimeField":"23:58:23.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":-602,"numField":-333.1017718519067,"stringDateField":"2010-12-07","stringDateTimeField":"2017-08-29T08:47:44Z","stringField":"XavPtR","stringTimeField":"23:58:23.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1056,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1056,"uuid":"9de3e42b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["BbgwuUl","fNtlY","qgVwV","FDOGyN","nGHQWDbaBr","dUoQa","mugOM","oXepMVZ","akmwYOHCe","xasfr"],"boolField":true,"intField":-134,"numField":-453.74914102795896,"objField":{"OFGSD":6396213666903623806,"YxYbw":-6273487179967687635,"loWc":-8207542876740978074},"stringDateField":"1998-05-22","stringDateTimeField":"1985-06-30T08:33:41Z","stringField":"SmUibSjRit","stringTimeField":"05:57:57.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":-134,"numField":-453.74914102795896,"stringDateField":"1998-05-22","stringDateTimeField":"1985-06-30T08:33:41Z","stringField":"SmUibSjRit","stringTimeField":"05:57:57.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1057,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1057,"uuid":"9de3e42b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ICuBkFUBRk","YqNUCyfL","iqGUflTdtp","SqVpSB","WXQemyb","ZogvkXQ","miBJekNV"],"boolField":true,"intField":-898,"numField":-811.6848833103178,"objField":{"BYiRy":233690732238561578,"CXplcYUmSl":1137845063397318147,"MsMNNPXbS":-3457510152802011407,"QTXJuvL":2225749142337824663,"TCwlFBQz":-6300899718487993742,"aXEDLlos":-8344410654617994306,"tmzTTEBR":8742574622088863299,"uMmklGAT":-8221993943789932104,"zzqAF":-6836312488862128367},"stringDateField":"1928-06-15","stringDateTimeField":"1964-01-22T08:05:50Z","stringField":"GGra","stringTimeField":"22:36:56.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":-898,"numField":-811.6848833103178,"stringDateField":"1928-06-15","stringDateTimeField":"1964-01-22T08:05:50Z","stringField":"GGra","stringTimeField":"22:36:56.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1058,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1058,"uuid":"9de3e42b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["hWXBHdQ","SZjeKrlQzO","Setd","qZdlPxmIL","FDVe","OFxGTa","ANReFhXNu","uvZFKYVF","qJcIvbOu"],"boolField":false,"intField":-65,"numField":-464.8262717928104,"objField":{"CbsPWwi":-3106366905066264986,"VSellHUqjE":-4715147725234900863,"aLWNA":-5884187221097381102,"fbIhOLac":3612471096312465149,"hvjOaeiWz":-7549494019089692174,"tNVmAmrl":3052416953115949504,"uCvnbGkI":2761518835813333813,"zGGNAKza":-6943399109342854863,"zHOUo":7231121158144102110},"stringDateField":"1992-03-04","stringDateTimeField":"1945-11-21T15:46:30Z","stringField":"xTciE","stringTimeField":"22:40:41.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":-65,"numField":-464.8262717928104,"stringDateField":"1992-03-04","stringDateTimeField":"1945-11-21T15:46:30Z","stringField":"xTciE","stringTimeField":"22:40:41.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1059,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1059,"uuid":"9de3e42b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["RolEph","ZOmXfKM","JioMbRk","BTLF","bcAbx","SBTGCLjYTs"],"boolField":true,"intField":457,"numField":872.9332511559115,"objField":{"HNzMQkBoz":4470326602493078222,"ZMKCxOWH":-7574016187862341488},"stringDateField":"1925-10-08","stringDateTimeField":"2022-10-17T04:48:17Z","stringField":"CxwTdDrgvm","stringTimeField":"15:22:30.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":457,"numField":872.9332511559115,"stringDateField":"1925-10-08","stringDateTimeField":"2022-10-17T04:48:17Z","stringField":"CxwTdDrgvm","stringTimeField":"15:22:30.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1060,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1060,"uuid":"9de3e42b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["kbMYSqlHDb","efaYgZ","YODjbA","fFHtQMQOu","jbHhRyT","NShT"],"boolField":true,"intField":369,"numField":989.7722608568962,"objField":{"GZirFhxq":-3360802462628139993,"JAWZZ":8077119965352719056,"kbRdsLuxxr":7454882016219193163},"stringDateField":"1946-12-12","stringDateTimeField":"1910-08-21T05:13:47Z","stringField":"EclpGp","stringTimeField":"10:43:15.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":369,"numField":989.7722608568962,"stringDateField":"1946-12-12","stringDateTimeField":"1910-08-21T05:13:47Z","stringField":"EclpGp","stringTimeField":"10:43:15.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1061,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1061,"uuid":"9de3e42b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["BgrzOmBUd"],"boolField":false,"intField":-977,"numField":-572.803782406348,"objField":{"CILNdQuQ":-6285485363111985650,"NzsZvdf":-203534648727233800,"XqEjvGkD":9091452477721745197,"ckVdHuVH":487823933629007976,"drKqLjr":1966381939488993087,"rFckV":-7987178053729682463,"vDZp":-2370988425887539782},"stringDateField":"1973-12-26","stringDateTimeField":"1925-12-02T15:01:10Z","stringField":"bNekm","stringTimeField":"02:46:41.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":-977,"numField":-572.803782406348,"stringDateField":"1973-12-26","stringDateTimeField":"1925-12-02T15:01:10Z","stringField":"bNekm","stringTimeField":"02:46:41.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1062,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1062,"uuid":"9de3e42b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["roVwjEq","TtwSlGkHB","XYRZnav","uTcDFFhM","RPBiLtw","KzxHgwWe","qsxHup","SViC","hrqxVeMxSk","FaaKl"],"boolField":true,"intField":389,"numField":-921.4558419225566,"objField":{"DEijZPP":-6392908238690491967,"JVVTbVei":3879242551625309317,"UsoPZ":-4740203413332640722,"Xngo":-1433310559833959921,"cLbtAZZ":7178506790850474768,"rIuA":-974149053256458669,"tOYEIeJiNi":4048209354783307964,"uZcScatWPT":-5594699399871365342,"ypFVeN":6530181462781947949},"stringDateField":"2022-04-04","stringDateTimeField":"1987-01-17T01:20:46Z","stringField":"USLCPqT","stringTimeField":"21:22:17.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":389,"numField":-921.4558419225566,"stringDateField":"2022-04-04","stringDateTimeField":"1987-01-17T01:20:46Z","stringField":"USLCPqT","stringTimeField":"21:22:17.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1063,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1063,"uuid":"9de3e42b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["nwrnYTQSgH","CLnUAftEB"],"boolField":true,"intField":952,"numField":-346.70230059218187,"objField":{"DfVys":7460662424621802036,"KijDLiLT":3289266903758999931,"NrEMhPeU":137894120031742651,"WqKSxhph":-6877807596956930360,"gNMzxvhklv":6613502378088388992,"huEkHR":-802987357146880773,"jTYXKokMD":8329011826435486525,"jvXKEgZwqW":1492977473635956380},"stringDateField":"1995-10-05","stringDateTimeField":"1927-06-26T07:05:07Z","stringField":"nqVaElGR","stringTimeField":"14:51:36.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":952,"numField":-346.70230059218187,"stringDateField":"1995-10-05","stringDateTimeField":"1927-06-26T07:05:07Z","stringField":"nqVaElGR","stringTimeField":"14:51:36.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1064,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1064,"uuid":"9de3e42b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["cDMqxCWhiz"],"boolField":false,"intField":949,"numField":-645.2918899627019,"objField":{"kHyGbOASdJ":2409543613775147525},"stringDateField":"1929-10-21","stringDateTimeField":"1969-09-29T16:08:43Z","stringField":"axfLcR","stringTimeField":"04:16:09.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":949,"numField":-645.2918899627019,"stringDateField":"1929-10-21","stringDateTimeField":"1969-09-29T16:08:43Z","stringField":"axfLcR","stringTimeField":"04:16:09.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1065,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1065,"uuid":"9de3e42b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ebUUApsZ","ElXxExTS"],"boolField":false,"intField":-553,"numField":431.4448228608716,"objField":{"BBEtUB":3015942332615400391,"HuetfRusR":-985671043867686514,"MjJQtN":4014977946945705179,"PViM":-791851986320705255,"ZQRkWSLlc":6434851609321161250,"ZTBtmtGAl":7172590328264022166},"stringDateField":"1948-07-26","stringDateTimeField":"1944-06-09T07:32:08Z","stringField":"cFuUwOWy","stringTimeField":"08:58:35.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":-553,"numField":431.4448228608716,"stringDateField":"1948-07-26","stringDateTimeField":"1944-06-09T07:32:08Z","stringField":"cFuUwOWy","stringTimeField":"08:58:35.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1066,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1066,"uuid":"9de3e42b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["KtHbsJJIM","TExBbR","yZjGYr","cPIOi","szJzB"],"boolField":false,"intField":222,"numField":860.5638575630097,"objField":{"CsGOLLep":-6868028183773895064},"stringDateField":"2002-01-08","stringDateTimeField":"1930-08-29T21:16:24Z","stringField":"gWttsvKUC","stringTimeField":"14:43:37.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":222,"numField":860.5638575630097,"stringDateField":"2002-01-08","stringDateTimeField":"1930-08-29T21:16:24Z","stringField":"gWttsvKUC","stringTimeField":"14:43:37.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1067,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1067,"uuid":"9de3e42b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["abNcKSKuIb","OJTQqzvWn","bcFqMpsKoH","JLUWCrx","ntuFG","tkmHzYPBRi","uvakRy","fgSY"],"boolField":true,"intField":-62,"numField":-925.4969101577674,"objField":{"ApUO":8830228204937015851,"GDDZcp":-4183759983906627053,"HszxtmI":1178436567315552587,"PWtGVSRPL":-8841318291825629440,"VjlH":-689623794000071792,"WkNw":-3286807421772280126,"uJLqqcWNY":-7327936792524985089,"vzyGmTSH":3457692283378481992,"xfLKjD":-4871349763075496672},"stringDateField":"1914-10-19","stringDateTimeField":"1945-09-22T01:11:52Z","stringField":"rmhZOKZbY","stringTimeField":"09:34:58.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":-62,"numField":-925.4969101577674,"stringDateField":"1914-10-19","stringDateTimeField":"1945-09-22T01:11:52Z","stringField":"rmhZOKZbY","stringTimeField":"09:34:58.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1068,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1068,"uuid":"9de3e42b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["cirDqs","qqtLqD","ghdcZh","YnPwWvNpWM","TVHrX","pcJD","qcAuvmjRe","eeYAT","TtxwG","VizgLwp"],"boolField":true,"intField":-218,"numField":-92.03989520969114,"objField":{"QzDtJzJePx":-3683972523431915993,"gORVDqoM":-6984893723403194951,"pIZBfzu":8499284622613350784,"soLzuxQ":-785632734402782248},"stringDateField":"1997-10-16","stringDateTimeField":"1940-02-28T19:03:43Z","stringField":"aLOojyADfm","stringTimeField":"08:18:27.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":-218,"numField":-92.03989520969114,"stringDateField":"1997-10-16","stringDateTimeField":"1940-02-28T19:03:43Z","stringField":"aLOojyADfm","stringTimeField":"08:18:27.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1069,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1069,"uuid":"9de3e42b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ByAU","ghxIZgVvj","xdSTsh"],"boolField":false,"intField":119,"numField":-923.7969995115476,"objField":{"NLXrPv":2693226915035048594,"OXYi":-903724859489412131,"RGUVeFOMnS":-5251444049661334656,"asifDO":-7969902911472501317,"kkTU":7476554371552360064,"qOthiTWuZb":-8722993410276402904},"stringDateField":"1990-08-02","stringDateTimeField":"2009-01-04T08:47:46Z","stringField":"gxgTnEU","stringTimeField":"19:15:49.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":119,"numField":-923.7969995115476,"stringDateField":"1990-08-02","stringDateTimeField":"2009-01-04T08:47:46Z","stringField":"gxgTnEU","stringTimeField":"19:15:49.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1070,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1070,"uuid":"9de3e42b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["dtgpjNGoG","ZmZYJ","MOWYmkyFcW","tteGNzW"],"boolField":true,"intField":-586,"numField":-973.165849230215,"objField":{"BxtCKIx":4625812184414764318,"DLirEU":-6435869724920234852,"HiNu":-3472370893711427020,"TyrXMAZzii":458710539554929616,"cZLVZjvUI":-4593273530560424448,"myFRZDUu":-2239287117861561526,"oKtJXAoW":-4295028016030448931},"stringDateField":"1991-10-25","stringDateTimeField":"1907-04-01T17:39:41Z","stringField":"tJFgu","stringTimeField":"10:56:41.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230955Z","intField":-586,"numField":-973.165849230215,"stringDateField":"1991-10-25","stringDateTimeField":"1907-04-01T17:39:41Z","stringField":"tJFgu","stringTimeField":"10:56:41.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1071,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1071,"uuid":"9de3e42c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["eXVpXqFK","xMYbdH","aIzLlwrkAe","XvDbBaZJQZ","sZVWFjsbtY","TEtIn","SzeIoxgYfJ","WzZKHL","dDWNBURz"],"boolField":false,"intField":410,"numField":-811.1032653906927,"objField":{"Wpcq":8590075880272288311},"stringDateField":"2002-11-08","stringDateTimeField":"1995-01-18T07:20:51Z","stringField":"mXBrzM","stringTimeField":"07:07:57.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":410,"numField":-811.1032653906927,"stringDateField":"2002-11-08","stringDateTimeField":"1995-01-18T07:20:51Z","stringField":"mXBrzM","stringTimeField":"07:07:57.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1072,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1072,"uuid":"9de3e42c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["kikMTn","sbmo","TedtVrgYF"],"boolField":false,"intField":-460,"numField":7.590600949968884,"objField":{"CAXEAjsrFD":-6587052350530183477,"OJjsuLQmSI":4122353585109322111,"UiimDOX":-1063606609624889145,"jqjJ":6067894089722710915,"kjqPn":-2617633278263524577,"uyrTaWK":1572368282518210060,"xyhifwKR":-8608893702916230031},"stringDateField":"1912-12-31","stringDateTimeField":"2014-04-01T17:09:12Z","stringField":"UZjQg","stringTimeField":"05:32:09.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":-460,"numField":7.590600949968884,"stringDateField":"1912-12-31","stringDateTimeField":"2014-04-01T17:09:12Z","stringField":"UZjQg","stringTimeField":"05:32:09.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1073,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1073,"uuid":"9de3e42c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["swhJfo","wpKzNoA","Nvsu","qrDLAH"],"boolField":true,"intField":-3,"numField":317.879984153534,"objField":{"TEKpKPYmj":2989325194363251606,"rramckyF":-5502877636971191458},"stringDateField":"2013-10-13","stringDateTimeField":"1941-04-05T03:49:37Z","stringField":"GcStr","stringTimeField":"04:20:50.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":-3,"numField":317.879984153534,"stringDateField":"2013-10-13","stringDateTimeField":"1941-04-05T03:49:37Z","stringField":"GcStr","stringTimeField":"04:20:50.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1074,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1074,"uuid":"9de3e42c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["dxpR"],"boolField":true,"intField":-902,"numField":364.6392980598387,"objField":{"Lufzc":-1326124663263397769,"TyRhDXDL":-2805280967176764546,"YqDBeBa":3609197943035501903,"iVod":5344044643812047341,"itRGdjh":3826758691396372985,"obMXWjy":5117620777054475648,"qZCfwtN":2741462403523058327,"wcMtaiaOHJ":5910144396551266974},"stringDateField":"2005-08-01","stringDateTimeField":"1973-07-10T11:57:35Z","stringField":"Petrv","stringTimeField":"06:33:17.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":-902,"numField":364.6392980598387,"stringDateField":"2005-08-01","stringDateTimeField":"1973-07-10T11:57:35Z","stringField":"Petrv","stringTimeField":"06:33:17.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1075,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1075,"uuid":"9de3e42c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["imTKVwSXyk","jKWxI","dSPd","ZjZoR","SQXj","UVZrGqOLd","idfQDALy","sVDJpehz"],"boolField":false,"intField":19,"numField":717.3480742226063,"objField":{"KTwUyt":1704239663509426855,"nDyzTt":-5936524294205280452},"stringDateField":"1992-11-16","stringDateTimeField":"1915-11-17T22:20:47Z","stringField":"etuVuKR","stringTimeField":"12:59:11.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":19,"numField":717.3480742226063,"stringDateField":"1992-11-16","stringDateTimeField":"1915-11-17T22:20:47Z","stringField":"etuVuKR","stringTimeField":"12:59:11.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1076,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1076,"uuid":"9de3e42c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["NKuiS","FUfBOC","dZjKPq","RTGEnDob","yKJB","jeGj","aVpwMixusL","QddVzq","jmkWPd"],"boolField":false,"intField":96,"numField":995.5212450592918,"objField":{"AuoVSBZDVR":124725964333188358,"DpKGwLHvzt":-4268508650937383531,"IVWZOyUyn":4362660871606680087,"QBnI":1372294375866201788,"WDUFm":5743599659163277412,"YPqVJs":-7087764362799763333,"claUOBldm":-7928656298689364501,"eJuFEN":238668673344122941,"niBgdVzFGU":1512115208751444021,"rtsBxmGv":-8902135378209608522},"stringDateField":"1907-09-27","stringDateTimeField":"1965-04-12T16:03:26Z","stringField":"ilplCSYMj","stringTimeField":"02:23:15.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":96,"numField":995.5212450592918,"stringDateField":"1907-09-27","stringDateTimeField":"1965-04-12T16:03:26Z","stringField":"ilplCSYMj","stringTimeField":"02:23:15.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1077,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1077,"uuid":"9de3e42c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gxxmLLQO","rPLDecrYy","RbHxvTo"],"boolField":false,"intField":419,"numField":472.52999290909,"objField":{"HbqiWQi":5834774894147561120,"cjfZRvkjh":-9036712847924158727,"fVjXN":-1793251854283612081,"gcxb":9019455306174073954,"mTvjSViaJU":-3393114294215976748,"owcgX":-8556783560536073692,"pigh":1324253496592155653},"stringDateField":"1924-08-17","stringDateTimeField":"1901-05-12T12:31:57Z","stringField":"qAspjGnWy","stringTimeField":"18:05:10.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":419,"numField":472.52999290909,"stringDateField":"1924-08-17","stringDateTimeField":"1901-05-12T12:31:57Z","stringField":"qAspjGnWy","stringTimeField":"18:05:10.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1078,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1078,"uuid":"9de3e42c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["rdzV","LRdNa","QqAgZHKUgT","MfQdyEbsg","iENpxESio","HNypJSs","KXnCZLql","RBYbiM","VxrCw","BdnoteKB"],"boolField":false,"intField":197,"numField":980.2487977438182,"objField":{"DIJXp":5275615965629974419,"HqXxfKD":6704774618390333328,"OWocqao":343141419574531021,"RPnKtZqPp":4065482701535094588,"jtwcNKpbNg":1851482753911553745,"uHafu":-6693452136596868745,"vNcEKW":6375131958121636294},"stringDateField":"1999-04-22","stringDateTimeField":"1907-10-08T19:51:27Z","stringField":"HcxZIuXA","stringTimeField":"19:09:15.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":197,"numField":980.2487977438182,"stringDateField":"1999-04-22","stringDateTimeField":"1907-10-08T19:51:27Z","stringField":"HcxZIuXA","stringTimeField":"19:09:15.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1079,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1079,"uuid":"9de3e42c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["menlAr","mfxfeT"],"boolField":true,"intField":-663,"numField":479.95628446098726,"objField":{"DdvLoFfj":8669994889708250534,"VqHMe":-5650279992312174050,"cpQbSo":-4223555687194214558},"stringDateField":"1956-04-04","stringDateTimeField":"1954-07-13T18:27:34Z","stringField":"PCeNvmKVOn","stringTimeField":"23:31:42.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":-663,"numField":479.95628446098726,"stringDateField":"1956-04-04","stringDateTimeField":"1954-07-13T18:27:34Z","stringField":"PCeNvmKVOn","stringTimeField":"23:31:42.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1080,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1080,"uuid":"9de3e42c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["LxyYCHeBSF","qcRLW","fzFvlZaHjv","aFQZzjb","DlFR"],"boolField":true,"intField":-759,"numField":-908.5603639341216,"objField":{"BYVDZq":-8506206201865588343,"BoBlWtbuL":-9214867405555839507,"PnFpaLXstc":4980788756852426160,"RpVC":-1704064173886679543,"XjrvsDZqNV":4901538985622372273},"stringDateField":"1941-05-06","stringDateTimeField":"1992-04-11T09:08:30Z","stringField":"JzOWX","stringTimeField":"04:53:54.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":-759,"numField":-908.5603639341216,"stringDateField":"1941-05-06","stringDateTimeField":"1992-04-11T09:08:30Z","stringField":"JzOWX","stringTimeField":"04:53:54.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1081,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1081,"uuid":"9de3e42c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["RbopI","HRgJCKBQVc"],"boolField":false,"intField":-467,"numField":-191.73356264185904,"objField":{"OutQ":1883307080899873351,"poqW":2993231690110340146},"stringDateField":"1971-10-01","stringDateTimeField":"1906-07-26T08:08:53Z","stringField":"Bnpz","stringTimeField":"22:45:09.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":-467,"numField":-191.73356264185904,"stringDateField":"1971-10-01","stringDateTimeField":"1906-07-26T08:08:53Z","stringField":"Bnpz","stringTimeField":"22:45:09.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1082,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1082,"uuid":"9de3e42c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["dwgXXBKTQF","gPLtPfP","dQRtQIT","IYMIEkbUHp","PJVARUYeD","qEjOQdYh","XtKsuEvVP"],"boolField":true,"intField":-1000,"numField":648.404304585817,"objField":{"EvlwIxWgyc":9198284580152456755,"KQJaOAMej":4045049295333008086,"UWQszX":-6037440020342268005,"UyplJm":-5272092324740209915,"YgHH":3775515564345362562,"bieEGimm":-6075106560467104874},"stringDateField":"1920-05-18","stringDateTimeField":"1908-05-31T11:54:40Z","stringField":"hgGNKiZ","stringTimeField":"07:22:26.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":-1000,"numField":648.404304585817,"stringDateField":"1920-05-18","stringDateTimeField":"1908-05-31T11:54:40Z","stringField":"hgGNKiZ","stringTimeField":"07:22:26.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1083,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1083,"uuid":"9de3e42c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["XlUhcon","WufRKJZHx","ziLGigkc","uwfcqhxiA","zCxoDQJH","BpodZmaDDM","lfZIsoyq","TNbJgNBYbm","OMOJFhbJhw","QCoksEqQPl"],"boolField":false,"intField":-142,"numField":346.89640289736354,"objField":{"IEbd":-8727133683953295055,"QsnTJKKSUS":-7619818708458371411,"iNJa":8709602214570129937},"stringDateField":"1938-07-01","stringDateTimeField":"1965-04-02T14:56:18Z","stringField":"eUHfLia","stringTimeField":"07:50:58.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":-142,"numField":346.89640289736354,"stringDateField":"1938-07-01","stringDateTimeField":"1965-04-02T14:56:18Z","stringField":"eUHfLia","stringTimeField":"07:50:58.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1084,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1084,"uuid":"9de3e42c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["nzGRlC","djRB"],"boolField":false,"intField":371,"numField":226.3560682816892,"objField":{"ETsSL":1713597921825801463,"NxFNQ":5317742679504128899,"RDHulGGx":1436960682711291527},"stringDateField":"2000-01-16","stringDateTimeField":"1902-02-27T04:22:43Z","stringField":"icuTc","stringTimeField":"10:13:27.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":371,"numField":226.3560682816892,"stringDateField":"2000-01-16","stringDateTimeField":"1902-02-27T04:22:43Z","stringField":"icuTc","stringTimeField":"10:13:27.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1085,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1085,"uuid":"9de3e42c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["NEDzXQ","JVteJFtBb"],"boolField":false,"intField":-164,"numField":822.758647210966,"objField":{"pQoGyiDmef":8932183119312561445},"stringDateField":"1919-04-22","stringDateTimeField":"1934-10-24T03:36:49Z","stringField":"razZd","stringTimeField":"05:09:51.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":-164,"numField":822.758647210966,"stringDateField":"1919-04-22","stringDateTimeField":"1934-10-24T03:36:49Z","stringField":"razZd","stringTimeField":"05:09:51.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1086,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1086,"uuid":"9de3e42c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["Hrviwcb"],"boolField":true,"intField":6,"numField":744.4358123971792,"objField":{"LXiSlgzT":-8813781347757584367,"ORqCkNfFCI":-1666558909655596894,"VGuTRS":-2639938421619625565,"nLtwNWkT":-1016007608068472956,"rFIfkXzxcD":6689844941716417438,"xJWS":-8236258020660937141},"stringDateField":"1977-12-20","stringDateTimeField":"1997-01-06T06:52:13Z","stringField":"AzQjndLhm","stringTimeField":"03:34:39.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230956Z","intField":6,"numField":744.4358123971792,"stringDateField":"1977-12-20","stringDateTimeField":"1997-01-06T06:52:13Z","stringField":"AzQjndLhm","stringTimeField":"03:34:39.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1087,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1087,"uuid":"9de3e42d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["oXEBeeFX","oYEpTwCg","UneFy","ebddECt","zGwLT"],"boolField":true,"intField":-270,"numField":-75.18204500962156,"objField":{"BBugBYGZ":2525883586016761095,"GZoI":4532586527517179552,"HyELrUntxN":7878803505549627444,"TtAgUV":-6314481433881099855,"VEFc":-4318696434605812707,"blafYRndP":-549191348916587588,"gjCn":4443677728531559705,"lPOcnPzRbL":3948717951935631504,"xsbDacyL":-983962421018724387},"stringDateField":"1914-03-01","stringDateTimeField":"1907-06-18T07:39:53Z","stringField":"jLYGAY","stringTimeField":"15:22:55.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-270,"numField":-75.18204500962156,"stringDateField":"1914-03-01","stringDateTimeField":"1907-06-18T07:39:53Z","stringField":"jLYGAY","stringTimeField":"15:22:55.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1088,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1088,"uuid":"9de3e42d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["vxQMiWESeN","xdrPkwNraH","rllieHy","SiTyT"],"boolField":false,"intField":-204,"numField":976.5563365231347,"objField":{"AlMV":-981538516923418059,"FMQYYiLZ":-7430541842953129574,"HhTK":-7089140615926179585,"LqKi":-1617738972756292950,"NNrmgnix":-2874841888511623772,"TwqmCeSknM":-3765256307511601847,"ULXrlxQqPV":2781291153038141411,"hnRoNNw":-8415546484503747197,"mmCdfs":841485424591824392,"nphvkWuCks":4530007081566766049},"stringDateField":"1964-10-11","stringDateTimeField":"2009-06-05T03:53:46Z","stringField":"YcsPr","stringTimeField":"09:28:09.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-204,"numField":976.5563365231347,"stringDateField":"1964-10-11","stringDateTimeField":"2009-06-05T03:53:46Z","stringField":"YcsPr","stringTimeField":"09:28:09.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1089,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1089,"uuid":"9de3e42d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["onLE","jzWugjPHR","rKsECtj","bdLhxKTdV","qvdaOZWL","nEWlUULxoo","FEUBjWC","YkZQAymqd","RhxjCto"],"boolField":false,"intField":-277,"numField":-406.2551479276646,"objField":{"COMWb":-6717159526091331329,"VYrAy":-4212034814739172181,"XLWqg":305449038696910860,"aKFMa":3876319677422083130,"aUJKK":-7986848220111485967,"eEiDaXKt":1841087547942947486,"jPLDHrHYbc":3970584858767363220,"qCFcEZdvDz":4564386416341149359,"quSAOmFUzc":8157068166955372226},"stringDateField":"2002-07-23","stringDateTimeField":"1993-10-28T17:39:12Z","stringField":"ywYrT","stringTimeField":"20:30:29.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-277,"numField":-406.2551479276646,"stringDateField":"2002-07-23","stringDateTimeField":"1993-10-28T17:39:12Z","stringField":"ywYrT","stringTimeField":"20:30:29.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1090,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1090,"uuid":"9de3e42d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["tglgEroi","lWSJf","YxISoe","TLJqw","Qowbrslz","sLCRjKTlI","rNuoE"],"boolField":true,"intField":-247,"numField":234.15912093372748,"objField":{"IJhJPFtA":7621733476754559562,"LQKKnmwZhF":4441372201412094084,"RjMvVH":7223630664072396967,"ZJzvIcB":-4872034846158937622,"cRAAdx":-527436463191905309,"hndVNZlL":6215565525537057647,"jAUAHhLFLf":4821115733452626555,"mavih":-2353814446039689513,"uIph":-1217156781786801750,"vKPI":-8883947138597343694},"stringDateField":"1995-05-03","stringDateTimeField":"1977-08-15T06:49:18Z","stringField":"rGvMNJ","stringTimeField":"16:58:03.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-247,"numField":234.15912093372748,"stringDateField":"1995-05-03","stringDateTimeField":"1977-08-15T06:49:18Z","stringField":"rGvMNJ","stringTimeField":"16:58:03.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1091,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1091,"uuid":"9de3e42d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["lmjYkWZLxm","XqlezNhxC","buVaDM","NbAyi","FHBbn"],"boolField":false,"intField":-738,"numField":-261.09346009384836,"objField":{"CpMRAEfQFS":-7535184628749262445,"DDSKyz":-8448058210052493704,"JcEeIQSYt":-1630390489080246703,"XulNZW":-9185361725764470052,"hLqGWlqU":-8969314153337641465,"oWgA":2521774857333974058},"stringDateField":"1904-06-30","stringDateTimeField":"2012-05-27T07:38:54Z","stringField":"fqpZ","stringTimeField":"05:12:50.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-738,"numField":-261.09346009384836,"stringDateField":"1904-06-30","stringDateTimeField":"2012-05-27T07:38:54Z","stringField":"fqpZ","stringTimeField":"05:12:50.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1092,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1092,"uuid":"9de3e42d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["MyTr","yIkBMkU","fPqXHy","BpkKw","pbseZOw","chbjOzJBzl"],"boolField":false,"intField":575,"numField":-614.6412204269956,"objField":{"JKrKsuFO":7750748082111333398,"nRIZKvhZ":-8648793356547062657,"rjUBdtNT":-2621035268101983231,"sMqMdUVc":2871046570527754085,"wDgO":-7763368244995640670,"zQDPEokZjN":-852789585902910744},"stringDateField":"1914-09-13","stringDateTimeField":"1960-04-12T20:01:05Z","stringField":"ejtjauV","stringTimeField":"01:10:09.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":575,"numField":-614.6412204269956,"stringDateField":"1914-09-13","stringDateTimeField":"1960-04-12T20:01:05Z","stringField":"ejtjauV","stringTimeField":"01:10:09.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1093,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1093,"uuid":"9de3e42d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["HLyoEih","JMgcMhD"],"boolField":false,"intField":836,"numField":714.185690429017,"objField":{"JXAIUiTKr":-4117547264676597532,"QlppSGcezb":1634044026760641911,"QwRXLOBiW":6172208122190137296,"RBTVtzjQS":-2362654742560704777,"TyAXz":-8181152705559451744,"Vzmc":-624938312819260495,"amhVQ":-8305941263018924100},"stringDateField":"1996-09-10","stringDateTimeField":"1934-07-18T18:12:02Z","stringField":"uHIt","stringTimeField":"07:46:39.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":836,"numField":714.185690429017,"stringDateField":"1996-09-10","stringDateTimeField":"1934-07-18T18:12:02Z","stringField":"uHIt","stringTimeField":"07:46:39.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1094,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1094,"uuid":"9de3e42d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["nnYGkQcmW","xrAWRz","FiWAjVZ","mJXRPLbih","sAnLtBJzmV","XVioJmurv"],"boolField":false,"intField":830,"numField":-476.389516980889,"objField":{"OENu":4118617864949872738,"nEvIV":1087206510247628290},"stringDateField":"1943-03-27","stringDateTimeField":"1953-02-01T14:34:54Z","stringField":"Sial","stringTimeField":"13:17:51.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":830,"numField":-476.389516980889,"stringDateField":"1943-03-27","stringDateTimeField":"1953-02-01T14:34:54Z","stringField":"Sial","stringTimeField":"13:17:51.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1095,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1095,"uuid":"9de3e42d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["iacGOytD","sBhEvLLoH","NMxbkixAiP","FWkL"],"boolField":true,"intField":3,"numField":-825.9493051750493,"objField":{"OveezNJid":-2905966649399628303,"PZFSRzoW":7421915051027159377,"RwUy":28107871969324101,"UqAHMslDCf":-9029600635763309057,"gFpbq":3354811653193971743,"jOkWxezyl":8548904702399584394,"lZufVqA":-9205163480705396311,"yJujRD":-1425365783694880164},"stringDateField":"1949-12-27","stringDateTimeField":"2013-02-27T12:31:55Z","stringField":"vnlPwUlp","stringTimeField":"02:16:48.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":3,"numField":-825.9493051750493,"stringDateField":"1949-12-27","stringDateTimeField":"2013-02-27T12:31:55Z","stringField":"vnlPwUlp","stringTimeField":"02:16:48.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1096,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1096,"uuid":"9de3e42d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["qGSxRCkLI","EuqiIe","jzQBWeY","NeoFAfNNeg","nyDzv","qwauMMY","obXhQqei","RTWXuckrzh","pTFdStcRmg","KuvB"],"boolField":false,"intField":-855,"numField":861.9833996912605,"objField":{"ZeKe":6974392483264091422,"uoTVMyAvRp":1622412769526810945},"stringDateField":"1939-10-01","stringDateTimeField":"2009-02-20T08:02:42Z","stringField":"DvUoMidLln","stringTimeField":"08:32:31.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-855,"numField":861.9833996912605,"stringDateField":"1939-10-01","stringDateTimeField":"2009-02-20T08:02:42Z","stringField":"DvUoMidLln","stringTimeField":"08:32:31.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1097,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1097,"uuid":"9de3e42d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["coDkhKjmSz","qNSnK","DVJHPC","zaSFow","cbdyuEK"],"boolField":true,"intField":-63,"numField":-618.0846564598718,"objField":{"DSoA":1036580693145432654,"EZMtvLsGi":3044342190157894125,"JBxSGI":-7678558809848940797,"KqvTp":-4415250300290646927,"cfsnjE":-468372400235176908,"dPukYcuV":7037888658396653414,"hauj":707549257829142595,"ngBPLMlpB":5796695517772723162,"rgNDECBXeG":-1542104822743500229,"zUgkv":-8461304509693295996},"stringDateField":"1979-12-15","stringDateTimeField":"1973-08-16T13:46:16Z","stringField":"iPKcWhddrd","stringTimeField":"21:33:32.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-63,"numField":-618.0846564598718,"stringDateField":"1979-12-15","stringDateTimeField":"1973-08-16T13:46:16Z","stringField":"iPKcWhddrd","stringTimeField":"21:33:32.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1098,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1098,"uuid":"9de3e42d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["sIMN","aaMt","MFjVhnvxh","bSIXSCGjT","AAGZICK","gDKCQNQbk","DasSBVHQX","TyZIwEGqY","SbkWuSDg"],"boolField":false,"intField":-768,"numField":-801.0440530931451,"objField":{"CMGDOLdDja":-6067072027013521710,"LRcWFKKz":3582690072325036715,"MQgPV":3746169733557995473,"MzKFWOdbwO":3955193891089785861,"jcZSoJI":7448478174147988086,"sANfnh":5497254531720397862,"tBoxjLsbpf":-2835979556786856810,"tTOrfn":2392294018246827278,"zbfm":7031029745538523373},"stringDateField":"2015-11-09","stringDateTimeField":"1914-09-22T08:52:17Z","stringField":"mzGkjPwj","stringTimeField":"08:49:25.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-768,"numField":-801.0440530931451,"stringDateField":"2015-11-09","stringDateTimeField":"1914-09-22T08:52:17Z","stringField":"mzGkjPwj","stringTimeField":"08:49:25.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1099,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1099,"uuid":"9de3e42d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["vxtKVV","jcTgxN","MCKHb","EFtMvHTGc","HSrdQJOxOg","fWyDPoW","diIqtwJ","WTAKdpY","Jammn"],"boolField":true,"intField":-74,"numField":564.7167788158223,"objField":{"IHbuTCkX":2869670379596857013,"KhdKdTu":1412591362335149120,"MHWQXxCRM":7590445320555644315,"eVfzzAHGr":-7363424838141472967,"iVxrw":2058260667509693649,"jYqdu":214087594559707475,"pfbb":-6075041413800755390,"svaADptYv":-3700461650384976652,"wxAFnbH":-7032573154771409573,"yLFytWLpy":7922382003266279616},"stringDateField":"2017-03-08","stringDateTimeField":"1959-01-26T05:28:35Z","stringField":"pgYYhOL","stringTimeField":"04:35:43.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-74,"numField":564.7167788158223,"stringDateField":"2017-03-08","stringDateTimeField":"1959-01-26T05:28:35Z","stringField":"pgYYhOL","stringTimeField":"04:35:43.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1100,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1100,"uuid":"9de3e42d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["rJxXFOxyv","AzVgO","zRNimlcbGq","ircnd","CtLaMa"],"boolField":false,"intField":-121,"numField":847.1755631171019,"objField":{"JJjnEu":8327369977974973194,"ZTDXKR":-7766234555725708655,"mnmIm":-7134731106568038829,"rhMtRhE":6690232660850485420,"ucspu":4532651580189421958},"stringDateField":"2023-03-01","stringDateTimeField":"2004-01-18T18:21:24Z","stringField":"wpsiCgL","stringTimeField":"11:45:51.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-121,"numField":847.1755631171019,"stringDateField":"2023-03-01","stringDateTimeField":"2004-01-18T18:21:24Z","stringField":"wpsiCgL","stringTimeField":"11:45:51.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1101,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1101,"uuid":"9de3e42d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["gcqaLMndhl","etiPST","LZxbQaUma","sJDT","TDnX","BJOS","iwHQUojxR","QraK","Toak","TQZoK"],"boolField":true,"intField":-314,"numField":679.5996023412579,"objField":{"Dphtf":-6521268791097581219,"IJeygfwUdZ":-1122432257246489030,"ViQf":3092092685152553016,"eDDAVmtT":-9180495644807530246,"nJrmraAjr":-2952130770730061634},"stringDateField":"1905-03-01","stringDateTimeField":"1908-07-09T16:42:34Z","stringField":"zyJU","stringTimeField":"18:04:03.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-314,"numField":679.5996023412579,"stringDateField":"1905-03-01","stringDateTimeField":"1908-07-09T16:42:34Z","stringField":"zyJU","stringTimeField":"18:04:03.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1102,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1102,"uuid":"9de3e42d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["SUVEpXiXa","vGzbUCH","avVU","LRCPcYeUuf","orsaBGUny","CCPMd","GQXCuOq","eSal","nigXzTAHi","sVAKJIBKh"],"boolField":true,"intField":-783,"numField":-65.11211431900144,"objField":{"NGbozJwbeQ":-1049254037645832746,"WiWfdZ":782070072594457130,"eqOxZCrO":5858487026001268358,"hucg":-6136384130678868937,"iOnmw":484667628606833706,"oNhbMc":-622280978564910342,"pZxyK":-5419645548385372764},"stringDateField":"1971-10-02","stringDateTimeField":"2017-04-09T03:44:11Z","stringField":"yrPAvj","stringTimeField":"15:09:14.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230957Z","intField":-783,"numField":-65.11211431900144,"stringDateField":"1971-10-02","stringDateTimeField":"2017-04-09T03:44:11Z","stringField":"yrPAvj","stringTimeField":"15:09:14.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1103,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1103,"uuid":"9de3e42e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["VBWyKXHm","iGJS","OBvbu","HVczlTd","jeFkwFksI"],"boolField":true,"intField":574,"numField":-457.0584319923313,"objField":{"BBPJiMj":2301943883065395897,"MzTVQM":8250181814877917118,"NWwJoKEY":4427255014953608463,"QZHJ":-8764241517259652638,"bTxwScCmnw":1650214069637431709,"cqwtL":1864178393717813673,"sqiBl":2328351990708661569,"yJlOW":-8339900675147598530},"stringDateField":"1928-09-01","stringDateTimeField":"1915-03-09T06:59:52Z","stringField":"wOeJzDCs","stringTimeField":"16:17:53.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":574,"numField":-457.0584319923313,"stringDateField":"1928-09-01","stringDateTimeField":"1915-03-09T06:59:52Z","stringField":"wOeJzDCs","stringTimeField":"16:17:53.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1104,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1104,"uuid":"9de3e42e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["WtAJpe"],"boolField":true,"intField":267,"numField":817.9000740800337,"objField":{"CwwoHabV":532068662245751099,"FsRRkup":-2188824207744817197,"KDSnEBIyvY":-2110248675178965236,"QzOJo":2878759828137226993,"SVpRiFxpB":8032807621291944035,"WNCoOQWcV":-3205125260618966075,"XMkShsDyBb":4727517376978513174,"Ydxse":5010353830907267563,"tAwuqaUTn":-2836089223001649280,"xxROaMJdsX":2021107984251126321},"stringDateField":"1991-09-16","stringDateTimeField":"2021-06-27T09:04:03Z","stringField":"wYahPiUE","stringTimeField":"17:50:00.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":267,"numField":817.9000740800337,"stringDateField":"1991-09-16","stringDateTimeField":"2021-06-27T09:04:03Z","stringField":"wYahPiUE","stringTimeField":"17:50:00.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1105,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1105,"uuid":"9de3e42e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["Wmfa","xkkItZPfg","pEdBJ","OXwkWCdsjC","eSoHY"],"boolField":true,"intField":-702,"numField":495.3694083499569,"objField":{"NNlBWMmci":2522415924483406750,"PzWey":7197825515688550974,"ohbslo":8343858886387179818},"stringDateField":"1956-11-09","stringDateTimeField":"1954-12-05T17:28:22Z","stringField":"aiGuPbbXul","stringTimeField":"17:28:59.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":-702,"numField":495.3694083499569,"stringDateField":"1956-11-09","stringDateTimeField":"1954-12-05T17:28:22Z","stringField":"aiGuPbbXul","stringTimeField":"17:28:59.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1106,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1106,"uuid":"9de3e42e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["xgGZNq","RofMsjWES","sfFGq","DGKnVLTYjk","letAs","eJKAMmwRuP","iKtjm","JmDIDVKEl"],"boolField":false,"intField":-765,"numField":710.63668276158,"objField":{"KvrXjtd":-2786408756273892874,"TGSgLZ":2249671848417402685,"pAdsXWmn":-6841444775914766319,"pOOYL":8563671880571748431},"stringDateField":"1968-05-19","stringDateTimeField":"1929-07-30T23:10:37Z","stringField":"SLDBDqboxT","stringTimeField":"18:53:23.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":-765,"numField":710.63668276158,"stringDateField":"1968-05-19","stringDateTimeField":"1929-07-30T23:10:37Z","stringField":"SLDBDqboxT","stringTimeField":"18:53:23.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1107,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1107,"uuid":"9de3e42e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["LBYj","UBaiKdv","RmbKTvpx","KGIlL","dyVoqcqoJ","oKPVoeLRgx","taZYdmyBh","QXkej","gtBjEYHH","MqkWQr"],"boolField":false,"intField":881,"numField":-891.9619746525235,"objField":{"KLbQj":8271672821129233413,"VbJYodGll":5467862844327218386,"rVzQZ":8118918916899520879,"tmhYZRvanM":4534267183327435350},"stringDateField":"1982-10-17","stringDateTimeField":"1927-06-28T04:58:20Z","stringField":"mQfZUrnmoa","stringTimeField":"11:56:12.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":881,"numField":-891.9619746525235,"stringDateField":"1982-10-17","stringDateTimeField":"1927-06-28T04:58:20Z","stringField":"mQfZUrnmoa","stringTimeField":"11:56:12.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1108,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1108,"uuid":"9de3e42e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["QDWAiarRIf","kEqHwMIA","bWftqe","PIOyTsoJm","DHaDHU","YpWB","NEBaqyCi"],"boolField":true,"intField":623,"numField":456.97384129328935,"objField":{"CQNGr":5531284689777399225,"HeBAiJLwEV":508272548114093868,"NFgg":-1447494647166506890,"NFgoQkv":-2607789459541380198,"PMAQ":2215403060553408255,"csMjRbQ":3655891894633659572,"phtPhGmbc":-2490458323053529344,"tarHLMtLI":2132143994547285659},"stringDateField":"1900-03-14","stringDateTimeField":"1960-07-07T03:06:21Z","stringField":"mvHPsOyID","stringTimeField":"20:14:10.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":623,"numField":456.97384129328935,"stringDateField":"1900-03-14","stringDateTimeField":"1960-07-07T03:06:21Z","stringField":"mvHPsOyID","stringTimeField":"20:14:10.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1109,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1109,"uuid":"9de3e42e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["KxgKmlptnR","WuDC"],"boolField":false,"intField":-532,"numField":-559.8494316944578,"objField":{"JkaQbJ":7116461782663141899,"OlnOoQmf":-4973423212192181370,"STQYlW":2720922468818813202,"UeUKXqi":7054576555543731220,"gTpeLMtHor":-316651384509953552,"hsEBpqU":4266161992869335997,"iHtqJa":-1921110257099794411,"oQqPPdq":-593856953852905080},"stringDateField":"1901-10-29","stringDateTimeField":"2023-08-24T01:47:33Z","stringField":"ZEyln","stringTimeField":"06:03:19.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":-532,"numField":-559.8494316944578,"stringDateField":"1901-10-29","stringDateTimeField":"2023-08-24T01:47:33Z","stringField":"ZEyln","stringTimeField":"06:03:19.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1110,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1110,"uuid":"9de3e42e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["nJOrMWZ","dGQSvhC","UfheNHJPZJ","pOBkjZPOS"],"boolField":false,"intField":684,"numField":570.3283804476839,"objField":{"Mifmn":836874926991176424},"stringDateField":"1918-04-20","stringDateTimeField":"1973-11-28T04:58:29Z","stringField":"MIhKBB","stringTimeField":"21:50:47.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":684,"numField":570.3283804476839,"stringDateField":"1918-04-20","stringDateTimeField":"1973-11-28T04:58:29Z","stringField":"MIhKBB","stringTimeField":"21:50:47.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1111,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1111,"uuid":"9de3e42e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["PVQR","WnjoIshHQ","llxbQsbXch","aFqvnCi","YrvqPpmX","aVzLc"],"boolField":false,"intField":-499,"numField":299.92667664162377,"objField":{"CtfblYmMhj":523277213333308409,"FTSpvB":5445287910129879054,"dQhGGck":5265047730460638695,"fcHcfW":-2897783896930824646,"iVPKzTJuN":-8420207350192339445,"jPulx":-7549681301331300234,"kevfPFw":5384338498116666453},"stringDateField":"1995-11-24","stringDateTimeField":"1994-02-03T20:37:56Z","stringField":"nTauMA","stringTimeField":"12:26:36.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":-499,"numField":299.92667664162377,"stringDateField":"1995-11-24","stringDateTimeField":"1994-02-03T20:37:56Z","stringField":"nTauMA","stringTimeField":"12:26:36.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1112,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1112,"uuid":"9de3e42e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["KVbWVKi","kyxft","EZaaOijx","FeXyktXEu","FBUMziRSwp","xwsqYZsvxh","MKyMgFi","GLybEIND"],"boolField":false,"intField":-752,"numField":-115.2981479853561,"objField":{"krsZdgqeR":1520445388290310577,"rNzmYKa":2976692469792548764,"yrPvLLYZ":7616272475277842158},"stringDateField":"2006-07-03","stringDateTimeField":"1927-04-24T12:55:11Z","stringField":"amKzRLJB","stringTimeField":"18:32:14.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":-752,"numField":-115.2981479853561,"stringDateField":"2006-07-03","stringDateTimeField":"1927-04-24T12:55:11Z","stringField":"amKzRLJB","stringTimeField":"18:32:14.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1113,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1113,"uuid":"9de3e42e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["TQlogN","jMXlkka","JGZWGPBV"],"boolField":true,"intField":-623,"numField":-671.0954684535102,"objField":{"Fpbhv":8771478074592447259,"MlffHQz":-7480118864181456316,"ZiDiU":8410783947617797941,"eZuEUUBxu":-9034990723759706351,"gTwL":7602727391789480261,"oGrnh":4568462057522497598,"rwskgHQv":-3196941060516305625,"smfEoJka":4223599865134910377,"vGTdYd":-8240558552678058525,"vnllCV":-3184575404750198435},"stringDateField":"1900-11-06","stringDateTimeField":"1951-03-19T02:16:48Z","stringField":"rPYpYyg","stringTimeField":"04:16:41.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":-623,"numField":-671.0954684535102,"stringDateField":"1900-11-06","stringDateTimeField":"1951-03-19T02:16:48Z","stringField":"rPYpYyg","stringTimeField":"04:16:41.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1114,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1114,"uuid":"9de3e42e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["TyoDQXYDm"],"boolField":true,"intField":-635,"numField":333.97556282090534,"objField":{"AWAE":3437886047741075411,"tnqbfnpk":-3289947783440857946},"stringDateField":"1986-04-01","stringDateTimeField":"1979-11-07T20:57:22Z","stringField":"jxgzMORRk","stringTimeField":"19:55:42.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":-635,"numField":333.97556282090534,"stringDateField":"1986-04-01","stringDateTimeField":"1979-11-07T20:57:22Z","stringField":"jxgzMORRk","stringTimeField":"19:55:42.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1115,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1115,"uuid":"9de3e42e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ZYLAjPf","gtuaHQMbwU","PnFGsH","YVYIzmz","YBDEffT","UeJkkYRP"],"boolField":true,"intField":221,"numField":726.7565607000905,"objField":{"DlMfL":-2315464133348862569,"YgFllqaNZe":-2509301864646189635,"ZEXmUn":-2983646546517514353,"cFlgyqp":-8470349471071098984,"feefrx":-1488528970435391996,"khpCkeLX":-2859781561079201340,"pwZV":-2084381670301215422},"stringDateField":"1936-05-15","stringDateTimeField":"1941-04-19T14:57:58Z","stringField":"fpWTxx","stringTimeField":"04:13:20.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":221,"numField":726.7565607000905,"stringDateField":"1936-05-15","stringDateTimeField":"1941-04-19T14:57:58Z","stringField":"fpWTxx","stringTimeField":"04:13:20.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1116,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1116,"uuid":"9de3e42e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["zVTeDx","hoGS","CVftuXMSn","uxKODU","YMRatQvfU","PZacY","GkanTVoe","PZDhtALbq","AYpHesW","aKjlBr"],"boolField":true,"intField":-565,"numField":-523.327144109531,"objField":{"AmFXoXZYFw":4277553615949437855,"DiLj":1830812030108135967,"EfiMhJpwx":235003944028099255,"ayiCYFf":8057848895823772714,"gJLOvVkoIF":-6623379343813385267,"oaDUSFDqK":3112485245485883322,"qnMnS":-6774863264625429577},"stringDateField":"1977-05-06","stringDateTimeField":"1903-10-24T23:50:14Z","stringField":"gaLOzNMI","stringTimeField":"16:50:28.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":-565,"numField":-523.327144109531,"stringDateField":"1977-05-06","stringDateTimeField":"1903-10-24T23:50:14Z","stringField":"gaLOzNMI","stringTimeField":"16:50:28.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1117,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1117,"uuid":"9de3e42e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["PuytO","PNxyrIFgI","BPpyG","jtxBsIs","nghuYmKRGI"],"boolField":false,"intField":407,"numField":-267.61914638392057,"objField":{"KDIocDHO":3846206928130056922,"RmjYS":-117102490182159490,"bkOHuUO":5328215409940559726,"eUyqzRaZ":-2347346844570762429,"twAxSDLa":-4956188693221579692},"stringDateField":"1927-04-22","stringDateTimeField":"1916-11-29T02:31:07Z","stringField":"tUsNJIyW","stringTimeField":"12:13:16.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":407,"numField":-267.61914638392057,"stringDateField":"1927-04-22","stringDateTimeField":"1916-11-29T02:31:07Z","stringField":"tUsNJIyW","stringTimeField":"12:13:16.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1118,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1118,"uuid":"9de3e42e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["rZHKwGXnl","bivpjwNnx","oXeEZrgQ","tJzrIaR"],"boolField":true,"intField":-6,"numField":-893.4234476075695,"objField":{"AdmqQ":7270882978323414233,"GumEdlE":-4852448383253882778,"HQnnsXeDYQ":-202978043864804019,"MQJat":-5067084715995170905,"SctMbKygvw":-7921198933131268179,"gUMXQT":-5058515926385006319,"jBUbyic":351722366278220780,"zvOAOVXXFI":-1258973437533227570},"stringDateField":"1975-09-23","stringDateTimeField":"2008-04-02T04:05:51Z","stringField":"DyNehGN","stringTimeField":"17:29:57.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230958Z","intField":-6,"numField":-893.4234476075695,"stringDateField":"1975-09-23","stringDateTimeField":"2008-04-02T04:05:51Z","stringField":"DyNehGN","stringTimeField":"17:29:57.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1119,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1119,"uuid":"9de3e42f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["vrKORtcW","oXZUGUct"],"boolField":false,"intField":-679,"numField":107.56942561240156,"objField":{"BLer":1434684256351306698,"KmcdzN":3627702306046947338,"evPkcZR":-5232951100325896100,"gxZP":-8719054781571634340,"oEYarZkeX":-5701983788118060331,"raWZtXxo":-567114536068616927,"zNueJdc":-5949796978651714421},"stringDateField":"1934-09-30","stringDateTimeField":"2011-02-08T20:52:00Z","stringField":"MDRJgfOEd","stringTimeField":"08:17:44.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":-679,"numField":107.56942561240156,"stringDateField":"1934-09-30","stringDateTimeField":"2011-02-08T20:52:00Z","stringField":"MDRJgfOEd","stringTimeField":"08:17:44.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1120,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1120,"uuid":"9de3e42f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["RwWsc","SfSsNmNL","AkBCJLg","ORhngHHMI","cLUAsaiXxQ","dkwsLatA","KVYnGAOrW"],"boolField":false,"intField":-194,"numField":460.66621649556015,"objField":{"DQXIWj":1260359892082184786,"HEYGaPmN":985322898235930372,"JxQTD":8552028471021297726,"Reev":-2964805805844315043},"stringDateField":"1921-03-06","stringDateTimeField":"1937-12-27T15:50:04Z","stringField":"AlhjiO","stringTimeField":"13:04:14.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":-194,"numField":460.66621649556015,"stringDateField":"1921-03-06","stringDateTimeField":"1937-12-27T15:50:04Z","stringField":"AlhjiO","stringTimeField":"13:04:14.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1121,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1121,"uuid":"9de3e42f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["snnkP","kvdsoA","XslZ","ySPPmtSd","WClTbEo","bFExqhq","gKEqNaOrQ","BNXcOgKbHJ"],"boolField":false,"intField":-796,"numField":431.2248089549091,"objField":{"IGtuvL":7690466670831794962,"JhjRaJX":-237467191784343575},"stringDateField":"1974-03-01","stringDateTimeField":"1968-03-01T18:49:10Z","stringField":"MewEGNev","stringTimeField":"07:14:04.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":-796,"numField":431.2248089549091,"stringDateField":"1974-03-01","stringDateTimeField":"1968-03-01T18:49:10Z","stringField":"MewEGNev","stringTimeField":"07:14:04.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1122,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1122,"uuid":"9de3e42f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["ZBFd"],"boolField":true,"intField":295,"numField":513.2152123585496,"objField":{"RxtrNlm":5762440585416499301,"eOpB":1420411009872719047,"hyCcDXDd":2119138581611651569,"pnuFNAeHXC":2790627345071567774},"stringDateField":"1912-01-04","stringDateTimeField":"2021-04-11T14:27:27Z","stringField":"ZnwdzSPigd","stringTimeField":"05:00:58.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":295,"numField":513.2152123585496,"stringDateField":"1912-01-04","stringDateTimeField":"2021-04-11T14:27:27Z","stringField":"ZnwdzSPigd","stringTimeField":"05:00:58.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1123,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1123,"uuid":"9de3e42f-5655-11ee-9001-675ed0f8e89b"},"arrayField":["QAEwQCjVH"],"boolField":false,"intField":-727,"numField":203.69137064890475,"objField":{"CakQacQAO":-4836635277500100760,"EVKOvvz":613254893059974269,"GLliFqjhYf":8332706806197307067,"SvvnPbwwZ":-4882805083071271984,"XUNmPsgs":3269378408082559471,"mbPwrKZxcE":3313081213985009396,"mqKXjpxlzU":1074469837858081653,"vUctrYusHS":3248305248487584243,"wfDICtBP":-2039442697933277237},"stringDateField":"2001-10-21","stringDateTimeField":"1937-04-30T15:59:27Z","stringField":"WXQAi","stringTimeField":"02:43:41.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":-727,"numField":203.69137064890475,"stringDateField":"2001-10-21","stringDateTimeField":"1937-04-30T15:59:27Z","stringField":"WXQAi","stringTimeField":"02:43:41.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1124,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1124,"uuid":"9de3e42f-5655-11ee-9401-675ed0f8e89b"},"arrayField":["MRhDP","vcIlxGo","hOXjRDKBsR","oBWLCXpP","ayPKPrgZmj","EZNYrVfVv","jDIyZhz","KJssQqdd","VolABID"],"boolField":false,"intField":-66,"numField":-203.9858937269966,"objField":{"FPalhnTj":-40902519107893807,"KIjEuX":6182000390292235115,"XqVxVMtmbi":-1606699653073333341,"ZKoyd":310217802022490134,"vUJCMW":1495272081197719632,"xyzYfKXs":8477551634545650223},"stringDateField":"1906-03-10","stringDateTimeField":"1995-10-28T04:22:41Z","stringField":"IdyqUXGCbp","stringTimeField":"16:34:33.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":-66,"numField":-203.9858937269966,"stringDateField":"1906-03-10","stringDateTimeField":"1995-10-28T04:22:41Z","stringField":"IdyqUXGCbp","stringTimeField":"16:34:33.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1125,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1125,"uuid":"9de3e42f-5655-11ee-9801-675ed0f8e89b"},"arrayField":["JRAOokTkqM","uysEPRm"],"boolField":false,"intField":-759,"numField":-104.4666084558643,"objField":{"Tuco":-2769101524010155935},"stringDateField":"1941-05-02","stringDateTimeField":"1956-05-04T02:30:19Z","stringField":"KNedvnardx","stringTimeField":"07:51:39.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":-759,"numField":-104.4666084558643,"stringDateField":"1941-05-02","stringDateTimeField":"1956-05-04T02:30:19Z","stringField":"KNedvnardx","stringTimeField":"07:51:39.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1126,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1126,"uuid":"9de3e42f-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["UQvgO","fAWg","mPHMBhmCVc","uLwv","RJnvYm","TKurnpwi","DxfosoXrLa","sxjBRwv","rIuGl"],"boolField":true,"intField":408,"numField":560.5844515702904,"objField":{"COFulqgiII":8643638978921132951,"bwKjKk":-7135794886001278472,"luyYhNZ":-8109145945020689648},"stringDateField":"1978-03-31","stringDateTimeField":"1979-02-12T08:13:20Z","stringField":"XwYCjP","stringTimeField":"09:53:50.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":408,"numField":560.5844515702904,"stringDateField":"1978-03-31","stringDateTimeField":"1979-02-12T08:13:20Z","stringField":"XwYCjP","stringTimeField":"09:53:50.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1127,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1127,"uuid":"9de3e42f-5655-11ee-a001-675ed0f8e89b"},"arrayField":["jEMEhWF","fOpmINbcX"],"boolField":false,"intField":-48,"numField":710.6727644084443,"objField":{"iqFnd":852659630039065087,"lCDyJozeNE":7184537489933812325,"qVxMFgC":-138177591261968341},"stringDateField":"1986-03-18","stringDateTimeField":"2017-04-16T08:47:26Z","stringField":"fCZYISPz","stringTimeField":"12:23:05.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":-48,"numField":710.6727644084443,"stringDateField":"1986-03-18","stringDateTimeField":"2017-04-16T08:47:26Z","stringField":"fCZYISPz","stringTimeField":"12:23:05.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1128,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1128,"uuid":"9de3e42f-5655-11ee-a401-675ed0f8e89b"},"arrayField":["WScSuZ","KQxSuvWfX","UCDrrPyMub","lwtSiYE","usUI","oDsSCE","clsn","pHwKsz"],"boolField":true,"intField":-209,"numField":699.3685298140163,"objField":{"MeWH":5268997630474514257,"VrHCYmxpDt":-8149026684147927615,"ZRne":-9037924173983092050,"cEZCVcVFr":3356249649545169065,"cSYUavs":2701583893750191545,"fsYSasr":4335913269805909063,"leNoXufkT":4711369420390580018,"sAsX":6549378771636436712,"yhNfuVN":-5854506428125527724},"stringDateField":"2020-05-21","stringDateTimeField":"1933-05-19T16:48:37Z","stringField":"YHkhx","stringTimeField":"23:34:05.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":-209,"numField":699.3685298140163,"stringDateField":"2020-05-21","stringDateTimeField":"1933-05-19T16:48:37Z","stringField":"YHkhx","stringTimeField":"23:34:05.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1129,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1129,"uuid":"9de3e42f-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sSSitBzgS","AHUJcV","GWiKmWKGC","qBFFu"],"boolField":false,"intField":24,"numField":234.8419559435459,"objField":{"GkOWC":2227157439925456503,"OusCbJ":2950287655266395174,"dLqKz":6096723293735663042,"fMwmMAeuB":-1072265049093371824,"hzdFvwQ":-7508597396521929393,"klNJGt":-2509500196093149833},"stringDateField":"2004-08-30","stringDateTimeField":"1962-07-07T03:26:51Z","stringField":"UOLiPpPn","stringTimeField":"18:10:28.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":24,"numField":234.8419559435459,"stringDateField":"2004-08-30","stringDateTimeField":"1962-07-07T03:26:51Z","stringField":"UOLiPpPn","stringTimeField":"18:10:28.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1130,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1130,"uuid":"9de3e42f-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["HdNQIFz","AHkiSI","wPfV","zzjM","KdAAjnk","jzQhZzWfvE","xYCw","VkLXj","zoHO"],"boolField":false,"intField":112,"numField":916.9299347915772,"objField":{"CjbZrl":-8302675354210588111,"gjHizaL":8812608413607824610,"luRpT":1309980415613914774,"nCfcAwnwrb":3591131715610285701},"stringDateField":"1949-10-02","stringDateTimeField":"1982-05-18T00:30:54Z","stringField":"SLiEg","stringTimeField":"16:22:17.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":112,"numField":916.9299347915772,"stringDateField":"1949-10-02","stringDateTimeField":"1982-05-18T00:30:54Z","stringField":"SLiEg","stringTimeField":"16:22:17.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1131,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1131,"uuid":"9de3e42f-5655-11ee-b001-675ed0f8e89b"},"arrayField":["sZGlTruZF","diLMbdiM","YSITUaLhgz","NhhOKYwtL","vfeughamzr"],"boolField":true,"intField":124,"numField":-81.84128058907936,"objField":{"IeGps":-6361851556824628149,"XrpgCeKnp":4993875681398673554,"megx":2687214324656107253},"stringDateField":"1915-07-16","stringDateTimeField":"1961-07-02T04:39:32Z","stringField":"YANXm","stringTimeField":"07:23:37.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":124,"numField":-81.84128058907936,"stringDateField":"1915-07-16","stringDateTimeField":"1961-07-02T04:39:32Z","stringField":"YANXm","stringTimeField":"07:23:37.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1132,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1132,"uuid":"9de3e42f-5655-11ee-b401-675ed0f8e89b"},"arrayField":["RQYcH","uFNyjkh","wYBwxQ","qTWGQAIgX","tupRq","zMpHPGGmH","NlttG","SydhDMifl","VVWoLKvbX"],"boolField":true,"intField":260,"numField":-135.29533686706796,"objField":{"AMNW":4265521153308781084,"BcZgPO":5763177770018903141,"FIzFZVyAX":6010702729544448171,"PepJERGbg":-4628239521105143526,"fnOExaAdX":5116508441096486157,"gMEBdhkpF":335659955211846946,"iuqAFJJ":-3263074303089693478,"ugpTVRJx":2289553933965536127},"stringDateField":"2002-05-22","stringDateTimeField":"1940-03-02T07:34:11Z","stringField":"TDxBM","stringTimeField":"06:44:19.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":260,"numField":-135.29533686706796,"stringDateField":"2002-05-22","stringDateTimeField":"1940-03-02T07:34:11Z","stringField":"TDxBM","stringTimeField":"06:44:19.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1133,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1133,"uuid":"9de3e42f-5655-11ee-b801-675ed0f8e89b"},"arrayField":["qvsyqR","oYFnksQvc","zNAGpt","AYvkDZ","GaOPcC","WGoLQoqz","MKZoaYbB","cuGFv","cvWadVnOBu","VsTutqiwSz"],"boolField":true,"intField":-754,"numField":221.06919013941305,"objField":{"FRBiKva":5409554997702010944,"LRTYyYOxWM":59176250490440912,"PsCdqtFfRG":-7955906535438272798,"QQQPr":-8461070902125355226,"TAiYbSK":698027532768237962,"bRIX":-8384009549714470854,"dGrPgVqMrY":5465713508816797228,"xOmKw":-1171903806166747881},"stringDateField":"1968-06-19","stringDateTimeField":"1986-07-29T20:01:43Z","stringField":"QESd","stringTimeField":"01:22:54.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":-754,"numField":221.06919013941305,"stringDateField":"1968-06-19","stringDateTimeField":"1986-07-29T20:01:43Z","stringField":"QESd","stringTimeField":"01:22:54.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1134,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1134,"uuid":"9de3e42f-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["lAbGWwUNt","TDgPbHwWH","MRbwED","vkieULO","mpXbTicod","kYsDqF"],"boolField":true,"intField":-78,"numField":-667.2479172532459,"objField":{"HYtIQ":-5502252138027169890,"SeGSrlc":-3600054251663023183,"dNboHogCam":6095964025020553672,"wdNmZYamFt":-833686395470039334},"stringDateField":"1933-09-13","stringDateTimeField":"2022-06-16T06:14:20Z","stringField":"bNgjNH","stringTimeField":"01:57:17.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230959Z","intField":-78,"numField":-667.2479172532459,"stringDateField":"1933-09-13","stringDateTimeField":"2022-06-16T06:14:20Z","stringField":"bNgjNH","stringTimeField":"01:57:17.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1135,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1135,"uuid":"9de3e430-5655-11ee-8001-675ed0f8e89b"},"arrayField":["OBFxEazHt","vZGwmHH","DBOGvjen","rOHHNq"],"boolField":false,"intField":47,"numField":-493.9231242434643,"objField":{"FvmIJCsw":-7540174509636264339,"rTWRiG":-2201852313149620434,"rXrtWk":3168429377784190582,"tYLqvIDr":-5905122330192840332,"zreyh":6567102900327668658},"stringDateField":"1951-08-10","stringDateTimeField":"2022-08-28T07:07:55Z","stringField":"cJWsw","stringTimeField":"10:36:26.21Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":47,"numField":-493.9231242434643,"stringDateField":"1951-08-10","stringDateTimeField":"2022-08-28T07:07:55Z","stringField":"cJWsw","stringTimeField":"10:36:26.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1136,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1136,"uuid":"9de3e430-5655-11ee-8401-675ed0f8e89b"},"arrayField":["YhaxQ","OttTD","YYRXnKh","CuOOVtNqZb","cePKXpTyR","sCuZo","YiRQ"],"boolField":true,"intField":-265,"numField":-370.45575620479633,"objField":{"Vyrtgkm":802416280993329760,"XrbBtJmaTI":-4856868950356630840,"bryr":-2233793054414986789,"dttpMN":-4882416402297312983,"eBxZBQFf":-7404069970534115203,"fMYGNJtQQ":-4467872660169509961,"vpsFUsEXBV":5049417473787730089},"stringDateField":"1928-11-20","stringDateTimeField":"1991-12-29T17:08:55Z","stringField":"VLDTMOldzL","stringTimeField":"09:00:20.35Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":-265,"numField":-370.45575620479633,"stringDateField":"1928-11-20","stringDateTimeField":"1991-12-29T17:08:55Z","stringField":"VLDTMOldzL","stringTimeField":"09:00:20.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1137,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1137,"uuid":"9de3e430-5655-11ee-8801-675ed0f8e89b"},"arrayField":["CeKW","QgYRr","EXqrlTBeL","hBXOjV","sRlpR","sLRIXe","BozygHdE","ZezDIKvFY","EIiepl"],"boolField":false,"intField":-892,"numField":-951.7670238921124,"objField":{"AOAAg":557918647692269623,"AeBOBfmEe":8240855689695433558,"FXksSp":-370136622193091265,"PDkzmJtcg":-8416813853161288070,"ZVWKqMz":-2260030219624637444,"oBKLXM":7420883895160511581,"tGTj":-4763284069459100878,"zVhmO":7761584187568368696},"stringDateField":"1932-07-11","stringDateTimeField":"1903-10-16T15:53:54Z","stringField":"jkwb","stringTimeField":"02:35:47.23Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":-892,"numField":-951.7670238921124,"stringDateField":"1932-07-11","stringDateTimeField":"1903-10-16T15:53:54Z","stringField":"jkwb","stringTimeField":"02:35:47.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1138,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1138,"uuid":"9de3e430-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["OcKcci","CpJrpiPQ","nbGQ","Wojr","JXHRyWZh","MEeGBB","WdeGaozmK","dRplYt"],"boolField":false,"intField":643,"numField":274.083958005511,"objField":{"aXFYAJohw":-8761030590689628787,"dNNIz":6270803774512988255,"iMODeq":-4329152350760340434,"rFTrmBf":3940521968511847535,"twDiUItzH":-3848275198170335687,"vlMbCdmkX":-7922801860155935478},"stringDateField":"1965-11-23","stringDateTimeField":"1902-01-16T13:06:06Z","stringField":"qDtMNdi","stringTimeField":"19:29:20.22Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":643,"numField":274.083958005511,"stringDateField":"1965-11-23","stringDateTimeField":"1902-01-16T13:06:06Z","stringField":"qDtMNdi","stringTimeField":"19:29:20.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1139,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1139,"uuid":"9de3e430-5655-11ee-9001-675ed0f8e89b"},"arrayField":["GkpWORIQY","eRxiyZCosO","nieVoab","oPel","MquVgYbd","EQCiYTsUb","mRjRxeA","RzAEXm","PMzrxTvCb","txsXrabXM"],"boolField":true,"intField":539,"numField":610.1650444441071,"objField":{"UhtQoBLKg":-2653513798567486824,"bEdAPGf":-1957473364194429423,"epZSK":-6361649075172201295,"jVVoKDFod":-8878273205408181840,"kNihpWQ":2557022518620776350,"pIlgCyyUb":678284600575657850,"pyFUGYhE":1033100435282331380,"tuSTKB":6255933613651133278,"wzjnridEd":-8642149571964476543},"stringDateField":"2014-01-02","stringDateTimeField":"1939-12-07T15:02:24Z","stringField":"ctIKMERIPS","stringTimeField":"11:36:06.50Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":539,"numField":610.1650444441071,"stringDateField":"2014-01-02","stringDateTimeField":"1939-12-07T15:02:24Z","stringField":"ctIKMERIPS","stringTimeField":"11:36:06.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1140,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1140,"uuid":"9de3e430-5655-11ee-9401-675ed0f8e89b"},"arrayField":["HMVc","flTp","rAJKrE","UocZLUa","DSxz","pUDiKW"],"boolField":true,"intField":-607,"numField":766.9719553361738,"objField":{"MohV":9057249579965346226,"RbJWxyPjc":7502980701616036832,"iaIdu":-84584254612755098,"jevlwHoVF":-5633712951575394995,"kFZvJP":-5694729305326813966},"stringDateField":"1924-09-22","stringDateTimeField":"1954-05-25T15:35:24Z","stringField":"FgpCSZJ","stringTimeField":"12:45:26.50Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":-607,"numField":766.9719553361738,"stringDateField":"1924-09-22","stringDateTimeField":"1954-05-25T15:35:24Z","stringField":"FgpCSZJ","stringTimeField":"12:45:26.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1141,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1141,"uuid":"9de3e430-5655-11ee-9801-675ed0f8e89b"},"arrayField":["HtmPqp","EuJfHJpokh","CZtTJrMRQe","mwuhwS","xeKJ","uwvlZsNJJH","LHZF","IzImMNVE","pjNAGCA","bnWSBHzEF"],"boolField":false,"intField":910,"numField":-898.2504371530713,"objField":{"SSpGujs":-1632841369851161796,"THGLJJTVZ":-1906255235266740640,"ZEzghafB":7354948983537213750,"amHQWzP":572496531314770535,"eBeO":8315675022739304126,"fAzTax":-8970821349254341757,"myAmBOCT":2339429482714312476,"rapapG":2064761819867209011},"stringDateField":"1928-05-29","stringDateTimeField":"1960-01-12T22:46:48Z","stringField":"kgqHND","stringTimeField":"10:58:29.14Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":910,"numField":-898.2504371530713,"stringDateField":"1928-05-29","stringDateTimeField":"1960-01-12T22:46:48Z","stringField":"kgqHND","stringTimeField":"10:58:29.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1142,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1142,"uuid":"9de3e430-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["gnsEU","hkxdlK","TVnZ","RHrek","aqYaYMcBT","yVDHQLtV","RGlR","eTDbvAJXSQ","liyYXFDfoZ","ijNPV"],"boolField":false,"intField":425,"numField":-976.6824620756848,"objField":{"EzrqcfmSx":-528898660006836819,"JRYsR":-8805091699613240331,"XBgU":356456614637175026,"ZRiAgYF":7817065254536229923,"oYNS":2136964388889712223,"pqwrC":4807510444135987370,"tfhKcfofYw":-7372144219713489652,"xgxoJSqKC":4278780467298095104},"stringDateField":"1921-07-13","stringDateTimeField":"1911-04-11T00:41:44Z","stringField":"TyRpX","stringTimeField":"02:39:22.35Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":425,"numField":-976.6824620756848,"stringDateField":"1921-07-13","stringDateTimeField":"1911-04-11T00:41:44Z","stringField":"TyRpX","stringTimeField":"02:39:22.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1143,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1143,"uuid":"9de3e430-5655-11ee-a001-675ed0f8e89b"},"arrayField":["wAYEXeajyl"],"boolField":false,"intField":-657,"numField":-487.4511734898732,"objField":{"EtuqwCavKV":-1707758661641604065,"FWKUZTIPq":2512568743089843394,"YAjntqTW":-8272772131250343277,"jkHoWhijE":-463666179155761348,"taerhOykI":3237739439759573084,"wvBlqCf":5757972864440698951,"zwWR":408462338428158527},"stringDateField":"2021-09-06","stringDateTimeField":"1938-07-26T16:04:22Z","stringField":"HSqg","stringTimeField":"20:38:04.13Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":-657,"numField":-487.4511734898732,"stringDateField":"2021-09-06","stringDateTimeField":"1938-07-26T16:04:22Z","stringField":"HSqg","stringTimeField":"20:38:04.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1144,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1144,"uuid":"9de3e430-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ASISZkuy","VxgQLbuvjU","WUShHixkg","WzpSzk","lUmMC","FzIgzCg","Wacxis","bqyA","lmFAihrnJU","sfKbHe"],"boolField":true,"intField":-322,"numField":-768.153903007878,"objField":{"ESKhMrEpow":4003926292093441837,"QVvFoxKz":2843415731563842621,"RxFElswtT":-3162539369331647958},"stringDateField":"1941-02-19","stringDateTimeField":"1962-05-04T05:33:36Z","stringField":"Ijpsugfvl","stringTimeField":"04:32:40.24Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":-322,"numField":-768.153903007878,"stringDateField":"1941-02-19","stringDateTimeField":"1962-05-04T05:33:36Z","stringField":"Ijpsugfvl","stringTimeField":"04:32:40.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1145,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1145,"uuid":"9de3e430-5655-11ee-a801-675ed0f8e89b"},"arrayField":["HJRFseIwRX","ZnyMUrB","uaMYZBfPfo","RqEwvIyT","uHtBd","ssSXAmr","ioRt","XZyiiLf","kZXjCwUO"],"boolField":true,"intField":-827,"numField":711.8082012539091,"objField":{"AsToycz":-1187891064686590410,"EASzUPv":8836141382246990341,"YVRlJuDA":4027438596129985600,"hasIetRy":-3102654700513586228,"rhicwLHnB":6256532761791523651,"tBtxoeih":4689185321301545467,"xQAhqFbr":-2979907069793727229,"zGLYeg":-9022272664891723974},"stringDateField":"1973-11-06","stringDateTimeField":"1933-05-03T04:46:08Z","stringField":"cKTtPIoWpR","stringTimeField":"08:38:08.15Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":-827,"numField":711.8082012539091,"stringDateField":"1973-11-06","stringDateTimeField":"1933-05-03T04:46:08Z","stringField":"cKTtPIoWpR","stringTimeField":"08:38:08.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1146,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1146,"uuid":"9de3e430-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["wukpZRADYb","azbNN"],"boolField":false,"intField":-13,"numField":-653.1871340317625,"objField":{"HuTjevBV":-4591962540545153690,"OjDCjsiU":5229868697826815659,"eWSQ":7294243894025362244,"grCzH":-1253269291213326740,"ricbcjE":6039081376422256100},"stringDateField":"2008-12-20","stringDateTimeField":"1916-04-07T16:48:40Z","stringField":"DPFFvp","stringTimeField":"18:35:09.12Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":-13,"numField":-653.1871340317625,"stringDateField":"2008-12-20","stringDateTimeField":"1916-04-07T16:48:40Z","stringField":"DPFFvp","stringTimeField":"18:35:09.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1147,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1147,"uuid":"9de3e430-5655-11ee-b001-675ed0f8e89b"},"arrayField":["Cyxfzn","phhgBGD","OLWZQicIRn","AmTuQfo"],"boolField":false,"intField":79,"numField":-877.2209269675998,"objField":{"YRhjrDVaPE":-7132823508786274949,"mpFPTngM":844595111127962188,"tXAnwlK":7962444137334589788},"stringDateField":"2004-01-03","stringDateTimeField":"1909-07-22T15:10:55Z","stringField":"cZjdVV","stringTimeField":"14:54:57.26Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":79,"numField":-877.2209269675998,"stringDateField":"2004-01-03","stringDateTimeField":"1909-07-22T15:10:55Z","stringField":"cZjdVV","stringTimeField":"14:54:57.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1148,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1148,"uuid":"9de3e430-5655-11ee-b401-675ed0f8e89b"},"arrayField":["UDCt","hYhcGwaDr","lwaKJFzYI","qiNPRjb","AGkopsIq"],"boolField":false,"intField":642,"numField":-273.6401581007695,"objField":{"HAcvCX":-1360199451814639008,"NhaAiWmcCo":5861573327170805186,"aryPRZ":7027524443299893721,"jmbWcyxobo":1623418748122207708},"stringDateField":"2011-03-01","stringDateTimeField":"1960-08-17T00:26:24Z","stringField":"VTxsaozWx","stringTimeField":"15:17:57.20Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":642,"numField":-273.6401581007695,"stringDateField":"2011-03-01","stringDateTimeField":"1960-08-17T00:26:24Z","stringField":"VTxsaozWx","stringTimeField":"15:17:57.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1149,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1149,"uuid":"9de3e430-5655-11ee-b801-675ed0f8e89b"},"arrayField":["diqb"],"boolField":true,"intField":938,"numField":-84.06945559899614,"objField":{"ANUw":-5797435682462142561,"EPluMWjVV":7805169756495996375,"FNOS":364785457149906829,"FcGfn":-8482729219841632269,"jNgrrFIZmz":7148215155197935713,"pRqxNC":6815897787319312671,"rbBouNcm":7683125154938557729,"wtnyUc":2519366820000055939,"yyuMXDMQ":8275818834847590791},"stringDateField":"1931-01-13","stringDateTimeField":"1984-09-14T19:41:16Z","stringField":"smNbZyI","stringTimeField":"19:39:39.14Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":938,"numField":-84.06945559899614,"stringDateField":"1931-01-13","stringDateTimeField":"1984-09-14T19:41:16Z","stringField":"smNbZyI","stringTimeField":"19:39:39.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1150,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1150,"uuid":"9de3e430-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["EWRV","SNqQTGNxlK","KSnqjM","PEQaZfQjsV","fGJinVTklg","YXDhnYHLDh","MpWtPGgmui","EBsTePeb","UqPTdp"],"boolField":true,"intField":786,"numField":-620.0342249367541,"objField":{"fdCZECIH":-1059459509302075403,"fgfMZJO":1844485762146864741,"haDaiHKibT":265617314914289636,"jzBaX":-177386062587053746,"kowJrsYFX":-3420294625759304429,"wdvkSzlaI":2963471250923296659},"stringDateField":"2001-11-13","stringDateTimeField":"1974-01-17T05:18:18Z","stringField":"QdNIrJY","stringTimeField":"18:58:58.41Z"},"flow_published_at":"2023-09-18T19:00:21.623096Z","intField":786,"numField":-620.0342249367541,"stringDateField":"2001-11-13","stringDateTimeField":"1974-01-17T05:18:18Z","stringField":"QdNIrJY","stringTimeField":"18:58:58.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1151,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1151,"uuid":"9de3e431-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ogdvw"],"boolField":false,"intField":99,"numField":-763.9657920675663,"objField":{"NItOJBEypI":8256152232526529553,"ORGHlyVI":-8477971916494662705,"cfwn":-2797691297708394931,"uvBEbIKssn":-8585014032146557402},"stringDateField":"1993-04-30","stringDateTimeField":"1938-11-17T15:27:50Z","stringField":"hVMTfVCd","stringTimeField":"22:36:26.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":99,"numField":-763.9657920675663,"stringDateField":"1993-04-30","stringDateTimeField":"1938-11-17T15:27:50Z","stringField":"hVMTfVCd","stringTimeField":"22:36:26.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1152,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1152,"uuid":"9de3e431-5655-11ee-8401-675ed0f8e89b"},"arrayField":["EySGbJM","OxPRu","wbGiwcj","XLYJpUahJ","xZwX","rSDHEV","SKTzfLw"],"boolField":true,"intField":492,"numField":513.8212003134082,"objField":{"DFdZiZMP":7429990006432922680,"RCnChGb":-6993338292345448936,"TpqEu":-3371148881656115751,"bLfSNyvRC":5290555857692040807,"bvllMJEPmp":4618713908627305029,"jaIz":-2149600662318918622,"ktYVBjCfWE":2075730576685664303},"stringDateField":"1903-11-08","stringDateTimeField":"1929-05-16T05:00:46Z","stringField":"jQszBGzC","stringTimeField":"18:32:49.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":492,"numField":513.8212003134082,"stringDateField":"1903-11-08","stringDateTimeField":"1929-05-16T05:00:46Z","stringField":"jQszBGzC","stringTimeField":"18:32:49.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1153,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1153,"uuid":"9de3e431-5655-11ee-8801-675ed0f8e89b"},"arrayField":["uvPkqGloks","jrqEgcH","Uywx","okcAjx"],"boolField":true,"intField":444,"numField":-488.2793658394038,"objField":{"HkmdOvc":-2496639701251857173,"KPWOgs":-2916999716346699900,"PYnzpxRe":2592424391478033259,"cPJRBCz":5680516876153511321,"coIMM":-898059064696325482,"gUYBA":-4695308289554694358,"lqWyCJTXUW":7325677821910067117},"stringDateField":"2016-09-01","stringDateTimeField":"2004-05-07T23:53:23Z","stringField":"tCMMWjojK","stringTimeField":"22:55:37.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":444,"numField":-488.2793658394038,"stringDateField":"2016-09-01","stringDateTimeField":"2004-05-07T23:53:23Z","stringField":"tCMMWjojK","stringTimeField":"22:55:37.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1154,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1154,"uuid":"9de3e431-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["cuOjP","JOuevSer","vVpfcvODo","WbCTg","lXVqMHKx","qEQTlNLMB"],"boolField":false,"intField":70,"numField":432.32376566466303,"objField":{"FWrRILXCuB":2525653038662137777,"HQlwPW":2301688687742158950,"PCvKGg":-1687185437025101848,"PuZmvyBDxN":-5165563947963059096,"zMPlogFDeL":6450498608095170376},"stringDateField":"2021-01-31","stringDateTimeField":"1981-01-25T11:55:37Z","stringField":"jbOiOF","stringTimeField":"10:37:41.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":70,"numField":432.32376566466303,"stringDateField":"2021-01-31","stringDateTimeField":"1981-01-25T11:55:37Z","stringField":"jbOiOF","stringTimeField":"10:37:41.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1155,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1155,"uuid":"9de3e431-5655-11ee-9001-675ed0f8e89b"},"arrayField":["gSWexMUar"],"boolField":true,"intField":-720,"numField":-946.1124978009802,"objField":{"BipOCVSMcX":-8139109183208995091,"CxkZQUR":-2667450353350898685,"HLkxVgfGfs":6789483310599962328,"JxendDI":7950353995284285516,"cAKtpGf":-2352830519995434686,"fJADYDL":9075303735987728021,"mWKtbd":-8347225885255978381,"pjIKXI":9030546883395624549,"ztqea":752291108937201162},"stringDateField":"1942-02-03","stringDateTimeField":"1967-04-20T14:16:05Z","stringField":"WirI","stringTimeField":"00:55:58.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":-720,"numField":-946.1124978009802,"stringDateField":"1942-02-03","stringDateTimeField":"1967-04-20T14:16:05Z","stringField":"WirI","stringTimeField":"00:55:58.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1156,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1156,"uuid":"9de3e431-5655-11ee-9401-675ed0f8e89b"},"arrayField":["xraXfAeDay","WGYt","yUdn","gnWXqN"],"boolField":true,"intField":-893,"numField":889.9041179087401,"objField":{"KsrOCciAnk":3982704690198948170,"ThJomE":6791263111785252888,"XislrWkSnS":3224953869949034437,"YJjzXH":5341419782997680333,"tTKh":2427845612426153043,"zVCaivmRz":-770967821273853038},"stringDateField":"1948-02-22","stringDateTimeField":"1908-12-15T00:25:51Z","stringField":"DWcRLYAp","stringTimeField":"18:41:41.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":-893,"numField":889.9041179087401,"stringDateField":"1948-02-22","stringDateTimeField":"1908-12-15T00:25:51Z","stringField":"DWcRLYAp","stringTimeField":"18:41:41.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1157,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1157,"uuid":"9de3e431-5655-11ee-9801-675ed0f8e89b"},"arrayField":["BBrkn","hBTLQf"],"boolField":true,"intField":556,"numField":910.679042268966,"objField":{"jljWWuhle":3844652041150609386,"wPNdHNt":-3759143641876772429},"stringDateField":"2009-09-17","stringDateTimeField":"1945-10-29T18:50:22Z","stringField":"hEtXqTJtpb","stringTimeField":"04:50:09.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":556,"numField":910.679042268966,"stringDateField":"2009-09-17","stringDateTimeField":"1945-10-29T18:50:22Z","stringField":"hEtXqTJtpb","stringTimeField":"04:50:09.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1158,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1158,"uuid":"9de3e431-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["jUrs"],"boolField":false,"intField":-391,"numField":856.0524659137538,"objField":{"EzxmS":8671252175564247189,"hLLDR":3919747639821651103,"lHihfXTqW":785955213563918534,"lMGjcORdh":2594659990247451084,"ouZP":-7446429153138707182,"zqTpUWwN":3371155048279007999},"stringDateField":"1974-12-27","stringDateTimeField":"2001-04-05T14:52:26Z","stringField":"Ufeotq","stringTimeField":"03:21:58.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":-391,"numField":856.0524659137538,"stringDateField":"1974-12-27","stringDateTimeField":"2001-04-05T14:52:26Z","stringField":"Ufeotq","stringTimeField":"03:21:58.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1159,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1159,"uuid":"9de3e431-5655-11ee-a001-675ed0f8e89b"},"arrayField":["DXoHu","mWCCCAz","boSoazyJCP"],"boolField":false,"intField":-818,"numField":987.1092314614872,"objField":{"OASRaAJaBK":-6317743022070262836,"oSWgCBcOD":8679164917472424369},"stringDateField":"1929-05-04","stringDateTimeField":"1973-09-23T20:57:41Z","stringField":"vqhNjP","stringTimeField":"04:43:34.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":-818,"numField":987.1092314614872,"stringDateField":"1929-05-04","stringDateTimeField":"1973-09-23T20:57:41Z","stringField":"vqhNjP","stringTimeField":"04:43:34.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1160,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1160,"uuid":"9de3e431-5655-11ee-a401-675ed0f8e89b"},"arrayField":["vDcA"],"boolField":true,"intField":606,"numField":712.3936437752634,"objField":{"BlpoR":5359291461877414126,"DLvXLLQhyK":4187846768560942305,"EYvIAnO":-7402351783313895503,"RxaZlBKzCL":5224732931192175253,"agJTWR":707683315964574437,"hLhYs":-8963413683265421019,"ywatsDdKEr":-1468009388299180189},"stringDateField":"1963-11-18","stringDateTimeField":"1996-07-11T07:54:53Z","stringField":"YNZw","stringTimeField":"12:59:19.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":606,"numField":712.3936437752634,"stringDateField":"1963-11-18","stringDateTimeField":"1996-07-11T07:54:53Z","stringField":"YNZw","stringTimeField":"12:59:19.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1161,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1161,"uuid":"9de3e431-5655-11ee-a801-675ed0f8e89b"},"arrayField":["vBUIiu","ndidAtWKz","EmWd","DjeY","sJnMFmmVdu","eSETjOAX","MazXlCbR"],"boolField":true,"intField":-543,"numField":282.5602107074223,"objField":{"KVSrXgJp":3101672883754574587,"ZXDaj":4004218502190715340,"hWba":-3157355397152591997,"mMjpIxB":-2533840961434407546,"qLpgO":6504868525985196733,"sUAJglmf":2123492773685007347,"zaeYulB":2970243762214487033},"stringDateField":"2008-07-07","stringDateTimeField":"1909-05-06T09:14:20Z","stringField":"BCfB","stringTimeField":"23:13:54.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":-543,"numField":282.5602107074223,"stringDateField":"2008-07-07","stringDateTimeField":"1909-05-06T09:14:20Z","stringField":"BCfB","stringTimeField":"23:13:54.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1162,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1162,"uuid":"9de3e431-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["dPJF","sZWDU","wstPNRfjW","tGEqbzEw","pnCa"],"boolField":false,"intField":-603,"numField":466.5135767148025,"objField":{"fzZfHytF":-3082947435028266271,"mlCB":9121010035132866680},"stringDateField":"1987-10-13","stringDateTimeField":"1985-11-01T00:36:40Z","stringField":"BnSKtscn","stringTimeField":"15:31:48.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":-603,"numField":466.5135767148025,"stringDateField":"1987-10-13","stringDateTimeField":"1985-11-01T00:36:40Z","stringField":"BnSKtscn","stringTimeField":"15:31:48.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1163,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1163,"uuid":"9de3e431-5655-11ee-b001-675ed0f8e89b"},"arrayField":["xSficaFwh","mMmYthpq","PTIRCvw","TMCbl","FlDG","NXgv","uHfNMvo","wjodo"],"boolField":true,"intField":110,"numField":612.8744639809416,"objField":{"BvVZg":-423790908464369028,"BwXuYlR":8659833960420890643,"RyilrUERsX":-5752130254560282217,"VFceBxHQz":431327533439681162,"paDnBSnNBf":3417342238785770117},"stringDateField":"1941-10-24","stringDateTimeField":"2012-05-09T02:55:05Z","stringField":"ttZyxYOhN","stringTimeField":"17:38:30.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":110,"numField":612.8744639809416,"stringDateField":"1941-10-24","stringDateTimeField":"2012-05-09T02:55:05Z","stringField":"ttZyxYOhN","stringTimeField":"17:38:30.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1164,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1164,"uuid":"9de3e431-5655-11ee-b401-675ed0f8e89b"},"arrayField":["qRmfJt","UgZqYPIcQq","qKMdVZ","UzLoBcbpv","yIsnKaUlOQ","toescJ","lIXWgoi","ArPF"],"boolField":true,"intField":-727,"numField":839.4606122136947,"objField":{"Umxg":7732533686361966047,"aZsTiOo":6433430531639178711},"stringDateField":"1965-04-17","stringDateTimeField":"1913-04-13T00:38:13Z","stringField":"LRFgR","stringTimeField":"14:24:08.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":-727,"numField":839.4606122136947,"stringDateField":"1965-04-17","stringDateTimeField":"1913-04-13T00:38:13Z","stringField":"LRFgR","stringTimeField":"14:24:08.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1165,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1165,"uuid":"9de3e431-5655-11ee-b801-675ed0f8e89b"},"arrayField":["KqTt","ijXoZWnKC","sNReXu","gFqoQL","XqCj","NUNa"],"boolField":true,"intField":-398,"numField":702.7315702644257,"objField":{"IvdRrXZ":7597990982457063401,"OuCiRUl":2198680945815716954,"SfmkjN":-1703080033259236688,"ZqlhrhbXj":7950183353296991339,"btYHgHoH":-2499662971255230702,"cRetYU":113803817828509788,"hNZz":-4952641585352493868,"wNldw":3366532565730790611,"xgYnifoPDW":8246207801371264777},"stringDateField":"2021-05-23","stringDateTimeField":"1999-04-29T02:24:46Z","stringField":"FlWS","stringTimeField":"12:53:02.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":-398,"numField":702.7315702644257,"stringDateField":"2021-05-23","stringDateTimeField":"1999-04-29T02:24:46Z","stringField":"FlWS","stringTimeField":"12:53:02.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1166,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1166,"uuid":"9de3e431-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["cXzi","GnnlI","NliyVe","eksbpmz","rJfiY","vlmy","gaVqhSK","pzfGlxP"],"boolField":true,"intField":-648,"numField":-732.3677876968108,"objField":{"GXRRwdrjkl":-5984501074695530140,"aXwtRa":-8394195372651080093,"ehuaAxe":4737630491243215842,"jRUqhimU":4309424801772288034},"stringDateField":"1938-08-23","stringDateTimeField":"1927-09-24T05:54:49Z","stringField":"FeQBG","stringTimeField":"02:02:29.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230961Z","intField":-648,"numField":-732.3677876968108,"stringDateField":"1938-08-23","stringDateTimeField":"1927-09-24T05:54:49Z","stringField":"FeQBG","stringTimeField":"02:02:29.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1167,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1167,"uuid":"9de3e432-5655-11ee-8001-675ed0f8e89b"},"arrayField":["Hitpt","GuCZxZcbSe","jJRMz","uyWSim","LxUklAHpQ","QxvcTWGj"],"boolField":false,"intField":533,"numField":-365.744169277272,"objField":{"AFkOoZvdSm":4600535139212790715,"JoDSbmcTaj":-6520638110425355285,"PKPXnPRh":1183892026930567007,"UlpRzKbU":-1756652674551057267,"aCscmAMWhT":6725106006792981783,"mAWPG":-5166546943672972710},"stringDateField":"1917-01-07","stringDateTimeField":"1937-11-17T17:10:36Z","stringField":"dzcc","stringTimeField":"06:54:11.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":533,"numField":-365.744169277272,"stringDateField":"1917-01-07","stringDateTimeField":"1937-11-17T17:10:36Z","stringField":"dzcc","stringTimeField":"06:54:11.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1168,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1168,"uuid":"9de3e432-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UDKXeY","mRiCXz","jyBNzlxG","PcVErO"],"boolField":true,"intField":-82,"numField":-4.52242633121458,"objField":{"BqbwjpX":-4933553728228424257,"bItWqz":-2419176933802899015,"jmNQGMXr":-5845285798684796899,"lvyR":-1055995141186096004,"wirqpBJHyz":-3199559405203304038,"zKuode":200970953718408848},"stringDateField":"1916-05-02","stringDateTimeField":"2020-01-27T13:45:40Z","stringField":"MRIkgDqn","stringTimeField":"23:34:17.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":-82,"numField":-4.52242633121458,"stringDateField":"1916-05-02","stringDateTimeField":"2020-01-27T13:45:40Z","stringField":"MRIkgDqn","stringTimeField":"23:34:17.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1169,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1169,"uuid":"9de3e432-5655-11ee-8801-675ed0f8e89b"},"arrayField":["wypQOTSh","popUrK","WHBLlv","eJDSy","fLCTa","BWufVCwkw","GrLGqXtBH","gbHRJ"],"boolField":false,"intField":-504,"numField":-814.8520401889638,"objField":{"Oslitba":-3515586007192435489,"PXFB":1789070050231387104,"YaZN":6474566265228798917,"hFsnMOA":9102209310144000795,"qGqoSKbG":-2705894717612963568},"stringDateField":"1986-11-10","stringDateTimeField":"1954-12-11T20:22:46Z","stringField":"FPOS","stringTimeField":"00:14:02.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":-504,"numField":-814.8520401889638,"stringDateField":"1986-11-10","stringDateTimeField":"1954-12-11T20:22:46Z","stringField":"FPOS","stringTimeField":"00:14:02.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1170,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1170,"uuid":"9de3e432-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["DtokLZY","MsIJ","hEYUkd","XBOQNOyxED","yfGuo","MdnLpMZst","qTxX","jnuidW","mXaaUcQIQ","zMTDHncz"],"boolField":true,"intField":80,"numField":744.2595535960639,"objField":{"FRpOZyp":-955517503653144490,"JjnqXOsECd":-3919507459997934075,"dVpj":-7202157199746978662},"stringDateField":"1953-01-16","stringDateTimeField":"1992-03-03T10:40:29Z","stringField":"hOJgK","stringTimeField":"10:49:35.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":80,"numField":744.2595535960639,"stringDateField":"1953-01-16","stringDateTimeField":"1992-03-03T10:40:29Z","stringField":"hOJgK","stringTimeField":"10:49:35.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1171,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1171,"uuid":"9de3e432-5655-11ee-9001-675ed0f8e89b"},"arrayField":["OYOIb","xgKgpyVNaS","cVVTPCVmh","oHejRvo","lcwS","vaoxeoH","bhGralUuBj","CvCIkNrV","KLuTQnfxrH","ehjW"],"boolField":false,"intField":787,"numField":22.727332749304058,"objField":{"FvIwpBhvkj":-1812200563237109179,"JbRp":-261548522128308246,"KfGUk":-7906884501603884651,"MdrGXIEP":7509494607312716717,"NNLpIs":7557588681161104122,"NTxq":829934991128370535,"SjXTk":1680823518183583312,"VtpLOSv":1603334762504563295,"mgecMsDeG":3572260471208056461,"ongLJEsHb":-1411048558129967834},"stringDateField":"1929-06-11","stringDateTimeField":"2000-07-01T15:01:42Z","stringField":"xtKl","stringTimeField":"11:12:47.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":787,"numField":22.727332749304058,"stringDateField":"1929-06-11","stringDateTimeField":"2000-07-01T15:01:42Z","stringField":"xtKl","stringTimeField":"11:12:47.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1172,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1172,"uuid":"9de3e432-5655-11ee-9401-675ed0f8e89b"},"arrayField":["nirz","dhpkhQDWJ"],"boolField":true,"intField":585,"numField":-7.148173390774559,"objField":{"IoWmtRPaF":271600706257184187,"NGltSn":4680518881332569046,"RjASZGf":-5554972772162687274,"SSch":4154670907396600706,"YgCemvU":5263428983463411088,"hLrx":6583475529814649214,"hPtkCluNPW":-5894623015824676072,"jNnVzVT":4779635308667955460,"mGkojnRxi":-3062566194623148433},"stringDateField":"1958-02-23","stringDateTimeField":"1965-12-29T17:47:13Z","stringField":"kuzCRgCOTu","stringTimeField":"06:01:14.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":585,"numField":-7.148173390774559,"stringDateField":"1958-02-23","stringDateTimeField":"1965-12-29T17:47:13Z","stringField":"kuzCRgCOTu","stringTimeField":"06:01:14.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1173,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1173,"uuid":"9de3e432-5655-11ee-9801-675ed0f8e89b"},"arrayField":["jGoQFj","EgiZg","hNDlwxE","AzQpBOE","atLRxDm","pZjNu","JFfTzUDWW","boOhHC","hRHwAmeIuP","FWNHGepOCv"],"boolField":true,"intField":370,"numField":-400.3543863332983,"objField":{"HLKpta":-6333325301591399496,"Nilnu":7446396471594336469,"SIGwab":-4674979808589962027,"juFV":-1716806380037870268},"stringDateField":"1920-02-16","stringDateTimeField":"2020-02-03T05:39:17Z","stringField":"nMvLGqY","stringTimeField":"10:43:55.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":370,"numField":-400.3543863332983,"stringDateField":"1920-02-16","stringDateTimeField":"2020-02-03T05:39:17Z","stringField":"nMvLGqY","stringTimeField":"10:43:55.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1174,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1174,"uuid":"9de3e432-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["LsiSIviQHg","FYMpfA","hQlXrPfF","mbYrnKfY","EtRYtsW","YzsrfktBfK","irnwFHHQ"],"boolField":false,"intField":-287,"numField":-506.5671735060997,"objField":{"ALmvdbtu":-5139337694418775604,"OFnMeSCAh":-7658338366410749522,"RgrE":1954409084338584005,"SZgyr":-6665890531296880097},"stringDateField":"1916-10-14","stringDateTimeField":"2008-12-01T15:44:56Z","stringField":"IknG","stringTimeField":"14:18:27.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":-287,"numField":-506.5671735060997,"stringDateField":"1916-10-14","stringDateTimeField":"2008-12-01T15:44:56Z","stringField":"IknG","stringTimeField":"14:18:27.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1175,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1175,"uuid":"9de3e432-5655-11ee-a001-675ed0f8e89b"},"arrayField":["lbclSuMP"],"boolField":false,"intField":-192,"numField":35.1547794910767,"objField":{"BZeUOvLP":7115180091969577009,"CajDkNNjMJ":-5995795230827940368,"SVddSOyD":7576497464531374223,"VizWKtr":-4653658954842281199,"aWLx":-9118618360368399189,"bxezB":-5719911698044486347,"jjHg":-1722238209276752441,"qFumEJ":1288873928149685956},"stringDateField":"1990-05-30","stringDateTimeField":"1990-10-01T03:09:10Z","stringField":"iXYi","stringTimeField":"02:01:30.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":-192,"numField":35.1547794910767,"stringDateField":"1990-05-30","stringDateTimeField":"1990-10-01T03:09:10Z","stringField":"iXYi","stringTimeField":"02:01:30.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1176,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1176,"uuid":"9de3e432-5655-11ee-a401-675ed0f8e89b"},"arrayField":["AZuGlZVF","CiYbCEh","VFSSubCcG","YVmyRWBZrV","GXGl"],"boolField":false,"intField":411,"numField":-849.574448388265,"objField":{"SBuvfxjZ":-5970297887212810608,"XaOWjlnVny":447562075687630527,"azOybvGTL":8138056114319361048},"stringDateField":"1901-08-15","stringDateTimeField":"1987-06-23T04:53:46Z","stringField":"qKnjwIulb","stringTimeField":"22:44:49.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":411,"numField":-849.574448388265,"stringDateField":"1901-08-15","stringDateTimeField":"1987-06-23T04:53:46Z","stringField":"qKnjwIulb","stringTimeField":"22:44:49.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1177,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1177,"uuid":"9de3e432-5655-11ee-a801-675ed0f8e89b"},"arrayField":["EijAyTD","juWLee","wKOgcglMn","FNExhX"],"boolField":true,"intField":-248,"numField":216.97398420840085,"objField":{"BsyMT":-2615333373544375351,"SXsVC":-9113525509326436317,"TboVysBr":734910034229201879,"wBffKmeJF":1797609422799755783,"wzjWtbI":8079061620286262815},"stringDateField":"1943-07-29","stringDateTimeField":"1974-12-01T01:24:29Z","stringField":"Mxua","stringTimeField":"12:20:42.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":-248,"numField":216.97398420840085,"stringDateField":"1943-07-29","stringDateTimeField":"1974-12-01T01:24:29Z","stringField":"Mxua","stringTimeField":"12:20:42.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1178,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1178,"uuid":"9de3e432-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["nQuaIB","mRIqda","IuLtoPC","JdoQ","wEzVPN","mJpV","KiwSkJW","NtmML","saIVPdqDEP"],"boolField":true,"intField":367,"numField":-579.0169781996226,"objField":{"GdScT":-1125701536328869930,"GnLISLQR":7066713563305498272,"JLLGLn":-3004634716322191789,"JsgnTPXKjk":-7202914324016609421,"UTIMVY":5347690601189014233,"bnJpbBS":-5282584954915174387,"dnLTkPyk":4989011800457667312},"stringDateField":"1973-05-26","stringDateTimeField":"1923-07-13T00:31:07Z","stringField":"wmKnL","stringTimeField":"00:48:32.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":367,"numField":-579.0169781996226,"stringDateField":"1973-05-26","stringDateTimeField":"1923-07-13T00:31:07Z","stringField":"wmKnL","stringTimeField":"00:48:32.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1179,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1179,"uuid":"9de3e432-5655-11ee-b001-675ed0f8e89b"},"arrayField":["GNTBVfs"],"boolField":true,"intField":224,"numField":-871.9956631442315,"objField":{"IXgyyKtvM":-8409546589106227879,"OjvEiwki":-4178302429667592662,"YYHunc":-2367409678552654076,"aQNfIILF":-4887215394530304600,"fntFZaCprU":-2984310351319609856,"wTESv":6490905176610946182},"stringDateField":"1906-10-27","stringDateTimeField":"1979-10-29T07:44:57Z","stringField":"AJmrw","stringTimeField":"11:39:52.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":224,"numField":-871.9956631442315,"stringDateField":"1906-10-27","stringDateTimeField":"1979-10-29T07:44:57Z","stringField":"AJmrw","stringTimeField":"11:39:52.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1180,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1180,"uuid":"9de3e432-5655-11ee-b401-675ed0f8e89b"},"arrayField":["OtQzceylA","RuMQLRQKEB","hxuvMrp"],"boolField":false,"intField":552,"numField":-271.11722282278663,"objField":{"MeuSEK":-5092680365785569819,"OgdiygeG":7515497243004044369,"SIgKvRI":2456755690335009453,"UmTjYWChYw":5121177478249420578,"jKbAotx":5800147870848314287,"kkZyQj":4370774971557094774,"nfsbvwAM":1883798249283741031,"vTHFDea":3600317200333953833,"ysfhfzgkO":2060701961269572105},"stringDateField":"1951-03-22","stringDateTimeField":"2015-07-14T16:57:32Z","stringField":"UrBqSIOmc","stringTimeField":"02:16:05.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":552,"numField":-271.11722282278663,"stringDateField":"1951-03-22","stringDateTimeField":"2015-07-14T16:57:32Z","stringField":"UrBqSIOmc","stringTimeField":"02:16:05.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1181,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1181,"uuid":"9de3e432-5655-11ee-b801-675ed0f8e89b"},"arrayField":["dsRQ","tpCemLTI","qnJNgR","sBKW","zrUqAT","uuidPBVDmr","NlgG","OdTD"],"boolField":false,"intField":126,"numField":-475.8296692581227,"objField":{"NWZLoWbQS":-2030926887914365261,"awtewOf":-6508715937678100586,"jghBqLTz":5227922944821259243,"mNpemYhOLR":-1887023524690974238,"qctJOIb":-8932951916376570235,"ueifrt":6158503263452152358},"stringDateField":"1956-08-16","stringDateTimeField":"2019-04-08T21:04:58Z","stringField":"KbVAU","stringTimeField":"19:08:56.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":126,"numField":-475.8296692581227,"stringDateField":"1956-08-16","stringDateTimeField":"2019-04-08T21:04:58Z","stringField":"KbVAU","stringTimeField":"19:08:56.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1182,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1182,"uuid":"9de3e432-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["GFcXep","tjgwe","VHKIdW"],"boolField":true,"intField":-801,"numField":5.570376925614573,"objField":{"BHoHgIcInj":-7826005472455146255,"BtKtcd":-24353780286192082,"CuiCYi":-918142723097504437,"VpOmlb":-5515404182983425593,"qxggsx":2011795359093102098},"stringDateField":"2008-04-09","stringDateTimeField":"1981-12-03T21:50:19Z","stringField":"FBIJBY","stringTimeField":"04:07:38.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230962Z","intField":-801,"numField":5.570376925614573,"stringDateField":"2008-04-09","stringDateTimeField":"1981-12-03T21:50:19Z","stringField":"FBIJBY","stringTimeField":"04:07:38.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1183,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1183,"uuid":"9de3e433-5655-11ee-8001-675ed0f8e89b"},"arrayField":["GlgOLGeK","AAfITSwNQ","usVYWO","mIbJiN","dhVIm","kAAcnSwuDk","GvAfZb","OIAw","sIYVbvSmW"],"boolField":true,"intField":-993,"numField":658.4474848565962,"objField":{"DpkhLM":-7707458894927304109,"TRhBO":-3624710865973176577,"WrOURDv":-4286481814954739108,"XCxPOJA":-3478300460972492079,"YBkjLeyisk":8452842008526132953,"llsfbwE":-8108269913562150703,"pBAYT":-2048879319892574538,"tzpOLRpy":-7678126482654395561},"stringDateField":"1961-07-29","stringDateTimeField":"1940-11-07T10:00:16Z","stringField":"fdIzYW","stringTimeField":"16:51:33.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":-993,"numField":658.4474848565962,"stringDateField":"1961-07-29","stringDateTimeField":"1940-11-07T10:00:16Z","stringField":"fdIzYW","stringTimeField":"16:51:33.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1184,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1184,"uuid":"9de3e433-5655-11ee-8401-675ed0f8e89b"},"arrayField":["GnQrSUUytC","AKUgC","lahSeBoxka","gQfSZ","qltzs","TKFJaS","jrWYQ","efoRzk"],"boolField":false,"intField":-125,"numField":-508.4447132393004,"objField":{"MAsvNaZ":81028918454205666,"SDFsBooU":516459364408586192,"SZrZ":14572662314176020,"URcQIx":-440230526589673762,"WvKJwFuTSK":7606268957590537953,"oxctTezLY":-3524608688629876817,"tzSfFJkeyo":4812365087946257837,"xZDEJyfOW":5090231447316809768,"xkGBoig":6254203194929700471},"stringDateField":"1909-01-26","stringDateTimeField":"1960-08-14T02:23:28Z","stringField":"PsKq","stringTimeField":"12:28:28.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":-125,"numField":-508.4447132393004,"stringDateField":"1909-01-26","stringDateTimeField":"1960-08-14T02:23:28Z","stringField":"PsKq","stringTimeField":"12:28:28.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1185,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1185,"uuid":"9de3e433-5655-11ee-8801-675ed0f8e89b"},"arrayField":["FOXoBbs","qYuZcww","SmHOPKkWWY","JeVeUmWXL","qceqOI","lNOYtzB","WlVECBUblT","jTIFtVg","fDhMmBmRG","uPvBgg"],"boolField":false,"intField":-211,"numField":399.18698450080535,"objField":{"DvelIJu":2710300048018613479,"OccIVHP":-6134006725053436210,"UoqIwWP":-7177722009693188567,"XkyJhKaAiG":-1608129017774707313,"bCJo":2532320853086212050,"wtYwoSdoBV":3987142534350752195},"stringDateField":"2004-12-04","stringDateTimeField":"1985-07-30T12:17:58Z","stringField":"uwDZNPPoPv","stringTimeField":"09:42:43.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":-211,"numField":399.18698450080535,"stringDateField":"2004-12-04","stringDateTimeField":"1985-07-30T12:17:58Z","stringField":"uwDZNPPoPv","stringTimeField":"09:42:43.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1186,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1186,"uuid":"9de3e433-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["kMUsm","JxnYRaY","CDUQRR","LFENP","EsgduUuUh"],"boolField":false,"intField":-949,"numField":720.4530332456189,"objField":{"HknJvQyr":3425235527351091638,"OreppgVJx":3254258876882949233,"YPKS":3593352127552295931,"cVxO":5145760849200155771,"gUXGqQgfg":-3714437441143385125,"jvZcqsFqv":146074294597189205,"mNVAixXQVT":5832947675348574320},"stringDateField":"1988-06-11","stringDateTimeField":"1941-11-12T09:51:50Z","stringField":"jIFtLWV","stringTimeField":"09:50:31.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":-949,"numField":720.4530332456189,"stringDateField":"1988-06-11","stringDateTimeField":"1941-11-12T09:51:50Z","stringField":"jIFtLWV","stringTimeField":"09:50:31.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1187,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1187,"uuid":"9de3e433-5655-11ee-9001-675ed0f8e89b"},"arrayField":["FFXS","jVyDOh"],"boolField":true,"intField":184,"numField":288.03242697202893,"objField":{"ARJDGfBEB":1441716207508188856,"EKqXC":8763007302401509624,"VGCcCnRuu":-2546809401045910784,"dyTEecj":8626458368915593932,"mipDn":-1471671125995628609,"obhym":5187617243918082216,"zTEbJE":-4694375089371374390},"stringDateField":"1910-05-23","stringDateTimeField":"1985-02-05T19:33:26Z","stringField":"iZjkdP","stringTimeField":"13:57:06.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":184,"numField":288.03242697202893,"stringDateField":"1910-05-23","stringDateTimeField":"1985-02-05T19:33:26Z","stringField":"iZjkdP","stringTimeField":"13:57:06.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1188,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1188,"uuid":"9de3e433-5655-11ee-9401-675ed0f8e89b"},"arrayField":["EyDufPFO","BJognSxerN"],"boolField":false,"intField":24,"numField":473.8046929169568,"objField":{"ADWkXxQAVk":147634603272108079,"XKFMGtp":9128232818800509878,"xcwKkobEk":3121174940960515986},"stringDateField":"1970-11-14","stringDateTimeField":"1935-07-17T18:10:32Z","stringField":"oDMwxXBox","stringTimeField":"17:54:33.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":24,"numField":473.8046929169568,"stringDateField":"1970-11-14","stringDateTimeField":"1935-07-17T18:10:32Z","stringField":"oDMwxXBox","stringTimeField":"17:54:33.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1189,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1189,"uuid":"9de3e433-5655-11ee-9801-675ed0f8e89b"},"arrayField":["BaPnrXqFcA","OxYPZoG","GAwdsTfT","NEza","UCreSfJP","MEgBfoypZ","qhWNiRctUD","yyGTER","woPLJpCV"],"boolField":false,"intField":-598,"numField":-642.443187200987,"objField":{"TvsfVPMcz":4658460442752042340,"UXicKVLU":6844853915402516924,"ardWOgJvy":2651908808302788177,"tEEth":1546899889263253679,"tbpeaxdWPZ":3901998243604242985,"vxIE":-5817984996022178916},"stringDateField":"1957-03-15","stringDateTimeField":"1906-10-25T01:18:19Z","stringField":"nCjVsNBQKX","stringTimeField":"12:47:14.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":-598,"numField":-642.443187200987,"stringDateField":"1957-03-15","stringDateTimeField":"1906-10-25T01:18:19Z","stringField":"nCjVsNBQKX","stringTimeField":"12:47:14.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1190,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1190,"uuid":"9de3e433-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["WGiMPqs","QslZXMLAqQ","aAqrrnnIX","ouGtpb","CdIYXHHB","ebpEvG"],"boolField":false,"intField":795,"numField":-844.7179956860545,"objField":{"GTFI":-2379056442831754611,"KNCvQcNvwq":5664344520920535237,"VDZmE":-1932363082198407146,"ZCgKUAQH":-1036036553437575344,"jhPofi":770933997731729102,"nFuDf":4251652485129631723,"qNzLKdwt":3715282253499421804,"qyJsW":-7071656719468214088,"xiWA":9199276717192696377},"stringDateField":"1995-05-13","stringDateTimeField":"1905-10-01T15:46:12Z","stringField":"LvKDyN","stringTimeField":"21:04:32.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":795,"numField":-844.7179956860545,"stringDateField":"1995-05-13","stringDateTimeField":"1905-10-01T15:46:12Z","stringField":"LvKDyN","stringTimeField":"21:04:32.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1191,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1191,"uuid":"9de3e433-5655-11ee-a001-675ed0f8e89b"},"arrayField":["RZpMZ","UDjsW"],"boolField":false,"intField":238,"numField":698.3978685188725,"objField":{"CHyiqlHsJV":-2289467935519387632,"QEdhW":7151755938386781772,"UbejDknxb":-2054096419531353539,"aDkZ":-738641221716664737},"stringDateField":"1985-11-07","stringDateTimeField":"1990-12-02T07:39:21Z","stringField":"FNCiCWpqBA","stringTimeField":"08:26:29.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":238,"numField":698.3978685188725,"stringDateField":"1985-11-07","stringDateTimeField":"1990-12-02T07:39:21Z","stringField":"FNCiCWpqBA","stringTimeField":"08:26:29.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1192,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1192,"uuid":"9de3e433-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ahbxlJE","YhtEopQN","qGFsJp","pqbqNsaysy","hWHIHetnea"],"boolField":true,"intField":-138,"numField":-13.829667481979444,"objField":{"CLwE":8892473407586027541,"SPUyXMNm":-5065404867064425600,"WELdZLjM":-4735821309381884322,"XOqb":1851585116625661368,"dynHE":-1623150052448491290,"jqLvRe":4712746842755509225,"nFdtIy":-8971440243308540370,"ycOKTMiF":-6951808424186375413},"stringDateField":"1933-04-30","stringDateTimeField":"1901-08-28T14:24:48Z","stringField":"CzHx","stringTimeField":"13:44:06.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":-138,"numField":-13.829667481979444,"stringDateField":"1933-04-30","stringDateTimeField":"1901-08-28T14:24:48Z","stringField":"CzHx","stringTimeField":"13:44:06.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1193,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1193,"uuid":"9de3e433-5655-11ee-a801-675ed0f8e89b"},"arrayField":["qgVxxpXv","XNQRLxDN","ETWQoq","LBfOZ","hKzoe","tOWTQNDGdB","EdfJLB","nXjv"],"boolField":true,"intField":524,"numField":-708.6217217953076,"objField":{"CQvXlhOFzq":5506216191312818396,"mGFze":6611703571415446141,"tJXDcyd":6012655177657552849,"xiEoO":-4591991558434520961},"stringDateField":"1960-09-13","stringDateTimeField":"1907-07-10T17:23:00Z","stringField":"fmsRrrn","stringTimeField":"15:40:36.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":524,"numField":-708.6217217953076,"stringDateField":"1960-09-13","stringDateTimeField":"1907-07-10T17:23:00Z","stringField":"fmsRrrn","stringTimeField":"15:40:36.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1194,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1194,"uuid":"9de3e433-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["XwfhE"],"boolField":false,"intField":-499,"numField":623.5431191986345,"objField":{"ZxQMkD":6430863785272313602,"wsji":5743919718286662224},"stringDateField":"1944-09-26","stringDateTimeField":"1973-08-02T21:39:54Z","stringField":"jjis","stringTimeField":"19:31:15.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":-499,"numField":623.5431191986345,"stringDateField":"1944-09-26","stringDateTimeField":"1973-08-02T21:39:54Z","stringField":"jjis","stringTimeField":"19:31:15.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1195,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1195,"uuid":"9de3e433-5655-11ee-b001-675ed0f8e89b"},"arrayField":["tPswNOdxTZ","GNIhITZeDA","HJCsc","suXfceqn","bBrCypJHA"],"boolField":false,"intField":3,"numField":408.3669182179413,"objField":{"DEVKRZcgX":-1702612057295423129,"LmkeLe":-934073685729042463,"aKdvvdBxrJ":2789001726004218823},"stringDateField":"1965-11-08","stringDateTimeField":"1939-10-16T22:41:07Z","stringField":"qXDjLQKop","stringTimeField":"07:39:14.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":3,"numField":408.3669182179413,"stringDateField":"1965-11-08","stringDateTimeField":"1939-10-16T22:41:07Z","stringField":"qXDjLQKop","stringTimeField":"07:39:14.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1196,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1196,"uuid":"9de3e433-5655-11ee-b401-675ed0f8e89b"},"arrayField":["swGzV","vRLwWyiQWa","dRRLvX","AOkJbAmul","vSfYuwbUN","EJorG","MlGzum","eYpixcfLb","gOzJ"],"boolField":false,"intField":487,"numField":184.8807055537858,"objField":{"ARLbjzXT":3001553308587480842,"vnLopd":146969801750630850},"stringDateField":"2013-04-30","stringDateTimeField":"2001-04-21T19:40:55Z","stringField":"XhylBbwVmA","stringTimeField":"18:37:40.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":487,"numField":184.8807055537858,"stringDateField":"2013-04-30","stringDateTimeField":"2001-04-21T19:40:55Z","stringField":"XhylBbwVmA","stringTimeField":"18:37:40.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1197,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1197,"uuid":"9de3e433-5655-11ee-b801-675ed0f8e89b"},"arrayField":["avwWNE","oFhSuRLTIE","yWotiRER"],"boolField":false,"intField":-928,"numField":542.2707035396486,"objField":{"EohdNJ":-3508728325534761946},"stringDateField":"1924-11-16","stringDateTimeField":"1921-04-02T06:18:27Z","stringField":"sBZaHRpe","stringTimeField":"05:18:04.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":-928,"numField":542.2707035396486,"stringDateField":"1924-11-16","stringDateTimeField":"1921-04-02T06:18:27Z","stringField":"sBZaHRpe","stringTimeField":"05:18:04.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1198,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1198,"uuid":"9de3e433-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ryJAWoscz","XwLFPJG","zbVmKO","SLcqFiC","LXQaHJ","YUpePZggIc","rOLsrvfVK","KeJJjEIeT","BSLz","QkPgN"],"boolField":true,"intField":-286,"numField":-288.34774198292325,"objField":{"BzisocgG":1496883514439741839,"KiSvwZ":-5506922260653053977,"SfwyVWYs":2926084978950376272,"iQIDs":6882698423165193608,"wYINGscbzr":-1287781259022658139,"xxXTKQ":6993498032926219272},"stringDateField":"1992-01-22","stringDateTimeField":"1921-07-31T02:48:29Z","stringField":"iPneoZDU","stringTimeField":"07:51:17.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230963Z","intField":-286,"numField":-288.34774198292325,"stringDateField":"1992-01-22","stringDateTimeField":"1921-07-31T02:48:29Z","stringField":"iPneoZDU","stringTimeField":"07:51:17.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1199,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1199,"uuid":"9de3e434-5655-11ee-8001-675ed0f8e89b"},"arrayField":["SbDSPSl","GhEzSJmOgw"],"boolField":true,"intField":-156,"numField":915.9092606901248,"objField":{"AxVJ":416687195333898299,"cIMgiTt":1006988443289829612,"fczW":4547383770397625853,"tEIR":-1231916654100713460,"yyjDAOM":-4290691934029929006},"stringDateField":"1996-07-01","stringDateTimeField":"2006-12-27T00:36:12Z","stringField":"SqFwm","stringTimeField":"16:09:58.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":-156,"numField":915.9092606901248,"stringDateField":"1996-07-01","stringDateTimeField":"2006-12-27T00:36:12Z","stringField":"SqFwm","stringTimeField":"16:09:58.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1200,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1200,"uuid":"9de3e434-5655-11ee-8401-675ed0f8e89b"},"arrayField":["mmeGHstr","QjHmYNECl","kslOBi","VQDZfM","SkCmYdr","KXKEfouef","wlPnDAsECp","sfxDseG"],"boolField":true,"intField":846,"numField":-457.2826409628269,"objField":{"iZVnrmXBOx":3823794049249311115,"kJlx":-1120359438878934347},"stringDateField":"1977-01-30","stringDateTimeField":"2010-02-16T16:41:56Z","stringField":"zRlc","stringTimeField":"16:27:32.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":846,"numField":-457.2826409628269,"stringDateField":"1977-01-30","stringDateTimeField":"2010-02-16T16:41:56Z","stringField":"zRlc","stringTimeField":"16:27:32.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1201,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1201,"uuid":"9de3e434-5655-11ee-8801-675ed0f8e89b"},"arrayField":["LnpSsx","fXhAPvv","pINTQO","BepVn","pFqOsSdQC","ghrTRyA","CVQPU","MnfEc","ZIgUtqJas"],"boolField":false,"intField":-627,"numField":208.4809504678944,"objField":{"EFpPFXXL":5025575364725052611,"MAtUuhC":-361183524765814940,"TJsCU":-543338826103186445,"crTSHNfxI":7536003755868816937,"grRUGJMUna":6147659537437538017,"jdyqNgSjv":-4319060348553853497,"sUCe":516420972770360999,"upDZKpcU":-358169790662140115},"stringDateField":"1952-08-21","stringDateTimeField":"1953-04-13T07:03:26Z","stringField":"BjkeasAX","stringTimeField":"12:34:10.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":-627,"numField":208.4809504678944,"stringDateField":"1952-08-21","stringDateTimeField":"1953-04-13T07:03:26Z","stringField":"BjkeasAX","stringTimeField":"12:34:10.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1202,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1202,"uuid":"9de3e434-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["HhjWRFi","xQJkEgP","yfINEt","jbiCOys","FnQwhV"],"boolField":false,"intField":242,"numField":117.37309139842678,"objField":{"DnAcFSTQ":9209093657370793283,"JfWGN":-7190138417008071953,"LTdMmRrnuP":-6887120501241806407,"MJoMw":6291646052676188548,"RnrbkJ":-1440963587671488003,"gSyAQwq":3503410141173553930,"rCmmGUpQi":2858836959835584575,"vksVvgUQ":5369736325090913544,"zcjq":6914870867712637477},"stringDateField":"1923-11-23","stringDateTimeField":"1935-04-23T17:11:07Z","stringField":"yARD","stringTimeField":"06:43:46.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":242,"numField":117.37309139842678,"stringDateField":"1923-11-23","stringDateTimeField":"1935-04-23T17:11:07Z","stringField":"yARD","stringTimeField":"06:43:46.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1203,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1203,"uuid":"9de3e434-5655-11ee-9001-675ed0f8e89b"},"arrayField":["BJdFsaflM","vMIKrjti","ijPaCK","CGgF","Bwdw","Nfixr"],"boolField":true,"intField":578,"numField":-789.4979937663331,"objField":{"LsUn":-823961459550025276,"NbpcSW":-818292153365283925,"TLwbyUv":-739353515995568226,"Yggovs":-1178284915583322905,"aWNAYsabmz":-8002866803861529086,"epFTSEjZS":3605687873073387201},"stringDateField":"2016-06-06","stringDateTimeField":"2005-04-25T06:35:37Z","stringField":"rscKg","stringTimeField":"05:17:01.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":578,"numField":-789.4979937663331,"stringDateField":"2016-06-06","stringDateTimeField":"2005-04-25T06:35:37Z","stringField":"rscKg","stringTimeField":"05:17:01.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1204,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1204,"uuid":"9de3e434-5655-11ee-9401-675ed0f8e89b"},"arrayField":["OOZaEdU","UUpW","lOuYxrZ","wdPZpnx","NeMoRZsR","OWLGmG","ObSm","LEieyzrMPq","kfKL","LwxCbcdfXp"],"boolField":false,"intField":-152,"numField":879.6638950335307,"objField":{"PaPAtm":-1735996565629768896,"fXZBzcDJm":1543645926282897188,"pChX":4318164366095714813,"sIBzEABN":8312854109588356883,"tMmyNXgpCe":6076672206156910324,"tPpz":-4955618430796159522},"stringDateField":"1978-08-21","stringDateTimeField":"1998-06-24T07:06:35Z","stringField":"ZzIecsJrLx","stringTimeField":"11:31:46.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":-152,"numField":879.6638950335307,"stringDateField":"1978-08-21","stringDateTimeField":"1998-06-24T07:06:35Z","stringField":"ZzIecsJrLx","stringTimeField":"11:31:46.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1205,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1205,"uuid":"9de3e434-5655-11ee-9801-675ed0f8e89b"},"arrayField":["GVgFs","LzeBy","odrPpLpMZ","GmPUdIhkD","GZPWCkdm","HswyAoBHh","LqkyBEsqr","hnfkQwJa","lmVwB","emFSBMA"],"boolField":true,"intField":-115,"numField":-901.2795524783256,"objField":{"MjdQ":-3133385253674235253,"SNHji":4539256521881826862,"TVCIMy":8714653103820278413,"TcQLuj":-1653249744037961738,"kcuZ":-7335253006770880793,"mRGMKLhHe":-3508592257634739911,"otlFhWJOvs":-3350628190135643530,"xqTFIiXzMs":5183552999637323823},"stringDateField":"2012-03-12","stringDateTimeField":"1968-02-06T17:54:58Z","stringField":"WEqwc","stringTimeField":"00:19:37.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":-115,"numField":-901.2795524783256,"stringDateField":"2012-03-12","stringDateTimeField":"1968-02-06T17:54:58Z","stringField":"WEqwc","stringTimeField":"00:19:37.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1206,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1206,"uuid":"9de3e434-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wtGxvRZ"],"boolField":true,"intField":-697,"numField":377.5994377240592,"objField":{"DjCXl":280341944982538548,"OtCNTHb":8518122049031021523,"Slsp":1188008562242083580,"Spwz":-3715957862640074739,"dmXc":-5231534291793045190,"fZoSqMGS":1211014716807575206,"jCQwM":-6828383159094012722,"kYWCQ":-3500327027873207289,"kifoznrUIh":-7664209869827193414},"stringDateField":"2016-03-28","stringDateTimeField":"1929-10-03T19:59:00Z","stringField":"wtuMjzkvf","stringTimeField":"16:03:41.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":-697,"numField":377.5994377240592,"stringDateField":"2016-03-28","stringDateTimeField":"1929-10-03T19:59:00Z","stringField":"wtuMjzkvf","stringTimeField":"16:03:41.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1207,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1207,"uuid":"9de3e434-5655-11ee-a001-675ed0f8e89b"},"arrayField":["fphVAsxPc","kptpnduOVb","gMIkbDmBLb","cSskn","LKpznhtkpJ"],"boolField":true,"intField":-10,"numField":175.62828674658903,"objField":{"KgZPiCeIQc":3764332489123529862,"WjWHzXqDPI":-3043551891264012985},"stringDateField":"1980-12-29","stringDateTimeField":"1977-04-04T07:45:57Z","stringField":"twciaxaifd","stringTimeField":"08:28:39.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":-10,"numField":175.62828674658903,"stringDateField":"1980-12-29","stringDateTimeField":"1977-04-04T07:45:57Z","stringField":"twciaxaifd","stringTimeField":"08:28:39.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1208,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1208,"uuid":"9de3e434-5655-11ee-a401-675ed0f8e89b"},"arrayField":["OWxdcbqT","HXInmr","FcMLyIbF","GaYamXD","LbkDTA","czKmyxWfM","qVfTuvC","WIpTT"],"boolField":true,"intField":101,"numField":-322.12725192786485,"objField":{"JKCO":2640538877461875798,"NWBDJ":3754357212263009712,"YeFSDPwcf":5989394819592373845,"jWaF":-5448077467278860981,"lSgWptPfi":-1549924187719034130,"mgPwmn":5690466413930649458,"rkAb":-6104275915775573502,"tgnsxgLEo":-5354244888186999802,"veRCusYW":-8657058584476696215,"xnIJ":9034401909454317860},"stringDateField":"1954-12-24","stringDateTimeField":"1992-04-15T05:40:00Z","stringField":"RSAHClUH","stringTimeField":"05:33:02.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":101,"numField":-322.12725192786485,"stringDateField":"1954-12-24","stringDateTimeField":"1992-04-15T05:40:00Z","stringField":"RSAHClUH","stringTimeField":"05:33:02.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1209,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1209,"uuid":"9de3e434-5655-11ee-a801-675ed0f8e89b"},"arrayField":["OLyGxVr","AqAwAoXG"],"boolField":true,"intField":-901,"numField":-639.8831563806251,"objField":{"wOqwCByxz":8996301474789758057},"stringDateField":"1910-05-03","stringDateTimeField":"1932-01-23T13:39:07Z","stringField":"nmlvCpFQU","stringTimeField":"06:34:38.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":-901,"numField":-639.8831563806251,"stringDateField":"1910-05-03","stringDateTimeField":"1932-01-23T13:39:07Z","stringField":"nmlvCpFQU","stringTimeField":"06:34:38.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1210,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1210,"uuid":"9de3e434-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["xQcaRKFWt","suiZOQXc"],"boolField":false,"intField":-850,"numField":734.2585841829772,"objField":{"FiAeqKITv":3461942844780063517,"TTmt":-8554694964812480604,"VVMGIMi":-620199591040879857},"stringDateField":"2009-03-09","stringDateTimeField":"1965-04-19T18:38:33Z","stringField":"cJQin","stringTimeField":"07:29:00.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":-850,"numField":734.2585841829772,"stringDateField":"2009-03-09","stringDateTimeField":"1965-04-19T18:38:33Z","stringField":"cJQin","stringTimeField":"07:29:00.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1211,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1211,"uuid":"9de3e434-5655-11ee-b001-675ed0f8e89b"},"arrayField":["iqqM","zohLHvQnNg","FsPEuWq","QuWLTrT","gqhpu","DdJOAcPx","rAhweiocW"],"boolField":true,"intField":-359,"numField":-891.584605462596,"objField":{"JBgsCpCOg":315762361450243327,"KszFLSxJHq":-8582469216325329217,"QuspK":-7726982467563460884,"TDOojt":-7485094303757142991,"ZnVFk":-6393883892333296161,"hmbgrWT":376612666668011305,"jwYTR":5780144823281504432,"ypEVDjrsCt":-6502221853406653750},"stringDateField":"1965-03-20","stringDateTimeField":"1949-11-06T06:19:41Z","stringField":"ywobbuGnB","stringTimeField":"09:10:48.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":-359,"numField":-891.584605462596,"stringDateField":"1965-03-20","stringDateTimeField":"1949-11-06T06:19:41Z","stringField":"ywobbuGnB","stringTimeField":"09:10:48.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1212,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1212,"uuid":"9de3e434-5655-11ee-b401-675ed0f8e89b"},"arrayField":["jGhB","zzjZ","RFOFKEd","HmTdsv","cJmXVS","ivRBLk","cnkqe","AovHBKt","AvNOQeX","TPYGt"],"boolField":false,"intField":860,"numField":521.4533130457215,"objField":{"CMHhLUbio":-7481255901128400788,"EfuRVVXsQc":6650642372862635945,"GluOTg":-1179995312466820301},"stringDateField":"1924-06-30","stringDateTimeField":"1924-10-12T17:30:31Z","stringField":"ZRvmkSH","stringTimeField":"05:32:57.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":860,"numField":521.4533130457215,"stringDateField":"1924-06-30","stringDateTimeField":"1924-10-12T17:30:31Z","stringField":"ZRvmkSH","stringTimeField":"05:32:57.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1213,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1213,"uuid":"9de3e434-5655-11ee-b801-675ed0f8e89b"},"arrayField":["UMSVvJ","kraQ","tQevhGv","prnYklH","SrYkkmZ","uIhC"],"boolField":true,"intField":-888,"numField":122.79726662768265,"objField":{"Uulq":7434446807273959039,"grZzYJ":-583365199808630381,"llgET":5807951181551561533,"qkJkVWXs":2619291914967564579,"xyHknXc":-4089221891500902447},"stringDateField":"1968-12-05","stringDateTimeField":"1980-05-27T03:25:51Z","stringField":"dTBmspfD","stringTimeField":"13:02:40.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":-888,"numField":122.79726662768265,"stringDateField":"1968-12-05","stringDateTimeField":"1980-05-27T03:25:51Z","stringField":"dTBmspfD","stringTimeField":"13:02:40.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1214,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1214,"uuid":"9de3e434-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["lLcxE","eKsiJAwjt"],"boolField":false,"intField":674,"numField":-359.8070167939752,"objField":{"KopEMlyYt":-4001634325192311753,"NYWypNzsVj":-634895370993576039,"QzbAvaf":-7156299917969457802,"ZbYQsxy":-2586720781176046351,"eFeaQjX":709710044229877686,"ieexUxHPMN":1909961381582211792,"jDyHvrPG":7529650202335211660,"rDQqxVgr":5914561880816030314},"stringDateField":"1915-08-07","stringDateTimeField":"1918-03-13T07:36:14Z","stringField":"BTuEKOXxT","stringTimeField":"08:10:40.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230964Z","intField":674,"numField":-359.8070167939752,"stringDateField":"1915-08-07","stringDateTimeField":"1918-03-13T07:36:14Z","stringField":"BTuEKOXxT","stringTimeField":"08:10:40.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1215,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1215,"uuid":"9de3e435-5655-11ee-8001-675ed0f8e89b"},"arrayField":["kDltSNwKv","HCaq","RUAu","gHvdSIvU","oPnZgCxD","jhrGCb","mCmlk","ZNRaIZVBBd","HfJwmN"],"boolField":true,"intField":-820,"numField":486.3831558133549,"objField":{"DUpOyVIVM":8835965008715966928,"LEGXyn":-6991480342489119804,"MPwC":-6452156027081802702,"xYnYQ":696224092177367902},"stringDateField":"2007-06-18","stringDateTimeField":"1949-04-20T19:05:58Z","stringField":"gwOWO","stringTimeField":"08:20:19.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":-820,"numField":486.3831558133549,"stringDateField":"2007-06-18","stringDateTimeField":"1949-04-20T19:05:58Z","stringField":"gwOWO","stringTimeField":"08:20:19.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1216,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1216,"uuid":"9de3e435-5655-11ee-8401-675ed0f8e89b"},"arrayField":["lKIrM","aLdxup","SAikXJ","TcmABjbCw"],"boolField":true,"intField":637,"numField":-446.11464213663254,"objField":{"GpaprdHLy":8804321357203567896,"LNzyK":3160386745881739605,"OkFPx":-7677783952516053759,"btAbp":-5592705292690571222,"sZjeasVOg":-8020216776256579550,"zroZLyDWDJ":-6589141022881354766},"stringDateField":"1960-12-22","stringDateTimeField":"1983-03-13T14:07:38Z","stringField":"HXliSsoWVA","stringTimeField":"18:20:24.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":637,"numField":-446.11464213663254,"stringDateField":"1960-12-22","stringDateTimeField":"1983-03-13T14:07:38Z","stringField":"HXliSsoWVA","stringTimeField":"18:20:24.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1217,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1217,"uuid":"9de3e435-5655-11ee-8801-675ed0f8e89b"},"arrayField":["VtNXYtJA","LRss","zKcJ","CUUx","eqiexjW"],"boolField":false,"intField":998,"numField":166.07643630239895,"objField":{"BGnnTwZkvu":-5880855767526194750,"CJnsCMmhQS":466953247309167559,"OfakbL":-5411225864949658386,"ZcuTX":-6905530744940552781,"mwUjJFf":-1348170103296215900,"zcCqd":-4638842349026736360},"stringDateField":"1949-06-19","stringDateTimeField":"1980-07-12T13:03:42Z","stringField":"YFky","stringTimeField":"11:03:30.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":998,"numField":166.07643630239895,"stringDateField":"1949-06-19","stringDateTimeField":"1980-07-12T13:03:42Z","stringField":"YFky","stringTimeField":"11:03:30.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1218,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1218,"uuid":"9de3e435-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["HmLJE","KQVaKcNvzk","IOknobTMi","nNRYjktXRo","RYHML","gTlcsG","hCRJaFX"],"boolField":false,"intField":-932,"numField":-528.0679163634085,"objField":{"JiUzA":6577163696069224979,"WbnBZrjM":1962108779767951718},"stringDateField":"1974-06-16","stringDateTimeField":"1997-01-28T06:39:38Z","stringField":"gaKXEJt","stringTimeField":"02:02:07.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":-932,"numField":-528.0679163634085,"stringDateField":"1974-06-16","stringDateTimeField":"1997-01-28T06:39:38Z","stringField":"gaKXEJt","stringTimeField":"02:02:07.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1219,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1219,"uuid":"9de3e435-5655-11ee-9001-675ed0f8e89b"},"arrayField":["kDul","niOBpvG","OLDFq","oGfbpP","jqXTvAMDOf"],"boolField":false,"intField":-567,"numField":-443.79845435843737,"objField":{"nKpRyqb":3952156134313019485,"xsJBc":5847415618451460610},"stringDateField":"1958-04-06","stringDateTimeField":"1903-06-23T06:04:44Z","stringField":"rVrLEhVc","stringTimeField":"09:41:19.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":-567,"numField":-443.79845435843737,"stringDateField":"1958-04-06","stringDateTimeField":"1903-06-23T06:04:44Z","stringField":"rVrLEhVc","stringTimeField":"09:41:19.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1220,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1220,"uuid":"9de3e435-5655-11ee-9401-675ed0f8e89b"},"arrayField":["rzLxeGAB","JdDS","bkDZCjjk","qbFUvLyK","kMmEJxt","sszS","eppybR","Fvjh"],"boolField":true,"intField":402,"numField":-15.66257622783318,"objField":{"GoULASxA":8650388740971673361,"IiQOcG":-4381352729830792403,"MkJjVlL":-3174832936363441992,"XJAtwOx":-1453585487767575236,"hJenGkJkwz":4481863641343930201},"stringDateField":"1970-04-17","stringDateTimeField":"2016-02-03T19:40:14Z","stringField":"VKpz","stringTimeField":"02:45:20.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":402,"numField":-15.66257622783318,"stringDateField":"1970-04-17","stringDateTimeField":"2016-02-03T19:40:14Z","stringField":"VKpz","stringTimeField":"02:45:20.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1221,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1221,"uuid":"9de3e435-5655-11ee-9801-675ed0f8e89b"},"arrayField":["wcOsQI","ZgAVvk","yfRyJ","VMNZsWhS","AXKCFVrOT","bLjZHkS","OgHesW","kvVwBCcn"],"boolField":true,"intField":716,"numField":399.0822713739532,"objField":{"XIbRnF":-4911618365313898979,"ZjiPskdxKi":-301594726387619236,"jIayboFhIg":6040320599986267732,"mXmvVkm":-4598808266958207166,"wBQEA":5863291929657272077},"stringDateField":"1986-02-17","stringDateTimeField":"1931-01-10T07:10:29Z","stringField":"MyTRet","stringTimeField":"06:17:15.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":716,"numField":399.0822713739532,"stringDateField":"1986-02-17","stringDateTimeField":"1931-01-10T07:10:29Z","stringField":"MyTRet","stringTimeField":"06:17:15.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1222,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1222,"uuid":"9de3e435-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["XEoUdopAX","CNbLDmJ"],"boolField":false,"intField":-271,"numField":-561.0153485346704,"objField":{"EelQPftAlT":7576754450794427874,"KhHnHCIPlP":3831620140782770035,"afcCT":4250029263544004695,"ghwLrj":388179446106970178,"iUViAfOfv":-9078460914876881513,"qjigi":-8485936378490306362},"stringDateField":"1940-03-30","stringDateTimeField":"1963-04-08T08:32:46Z","stringField":"GsYWfQJH","stringTimeField":"19:21:22.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":-271,"numField":-561.0153485346704,"stringDateField":"1940-03-30","stringDateTimeField":"1963-04-08T08:32:46Z","stringField":"GsYWfQJH","stringTimeField":"19:21:22.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1223,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1223,"uuid":"9de3e435-5655-11ee-a001-675ed0f8e89b"},"arrayField":["BDlPGnF","tgNg","wqfqZ","zmqQuDz"],"boolField":false,"intField":-625,"numField":114.75610848427786,"objField":{"OBARNoeNC":-3912622443537936239,"eIAO":-8773475940324701700},"stringDateField":"1962-04-26","stringDateTimeField":"1916-07-05T22:56:44Z","stringField":"RvdTVBz","stringTimeField":"09:01:19.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":-625,"numField":114.75610848427786,"stringDateField":"1962-04-26","stringDateTimeField":"1916-07-05T22:56:44Z","stringField":"RvdTVBz","stringTimeField":"09:01:19.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1224,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1224,"uuid":"9de3e435-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ttnRutX"],"boolField":false,"intField":844,"numField":368.5348588066948,"objField":{"UQDGykuhcq":-7063171080243892059,"sMRaUQg":-3588458838965078550,"yaVueLCSl":-3117444403733017828,"ypSQPXUHK":-7216412063742805010},"stringDateField":"2005-05-26","stringDateTimeField":"1960-12-13T00:26:06Z","stringField":"xkBgmW","stringTimeField":"01:45:16.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":844,"numField":368.5348588066948,"stringDateField":"2005-05-26","stringDateTimeField":"1960-12-13T00:26:06Z","stringField":"xkBgmW","stringTimeField":"01:45:16.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1225,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1225,"uuid":"9de3e435-5655-11ee-a801-675ed0f8e89b"},"arrayField":["cZBSZTZMZT","HMwlSQNrKj","LFYyAIO"],"boolField":true,"intField":485,"numField":-197.22515753705616,"objField":{"DUqLIiyC":-819897348569385858,"NRnRQvT":3392913670550082305,"RFeueRCQ":-6739434977097832910,"WuvxhAlnZn":1599995928705259715,"lCGKKlaM":-5218976483061270457,"vflTAxYg":4523798107484770561,"yubZWLpUJ":-1923972100149801444},"stringDateField":"2009-12-30","stringDateTimeField":"2004-06-12T03:55:14Z","stringField":"tkKesqjYV","stringTimeField":"02:45:21.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":485,"numField":-197.22515753705616,"stringDateField":"2009-12-30","stringDateTimeField":"2004-06-12T03:55:14Z","stringField":"tkKesqjYV","stringTimeField":"02:45:21.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1226,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1226,"uuid":"9de3e435-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["KRxrOEmT","jnEpVhL","Epykfe","LwOgKs","OcKZ","GYMRjCwMk","fGoX","pMMSo","svgsAMD"],"boolField":true,"intField":961,"numField":26.800705026944097,"objField":{"BWEAiUko":-7930712819889575636,"NQfgyZt":2611205353952261939,"SZhnvI":-2103939235172260495,"SilBtWoqHb":4045296323740070634,"UJULyhgs":-7163160395028606595,"YmdcAoCwV":-9155868023018917374,"jPMexybd":1051826882454959875},"stringDateField":"1936-01-07","stringDateTimeField":"1976-05-02T06:49:19Z","stringField":"MwYOiR","stringTimeField":"02:17:03.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":961,"numField":26.800705026944097,"stringDateField":"1936-01-07","stringDateTimeField":"1976-05-02T06:49:19Z","stringField":"MwYOiR","stringTimeField":"02:17:03.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1227,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1227,"uuid":"9de3e435-5655-11ee-b001-675ed0f8e89b"},"arrayField":["OFYgvbE","MuisqKJW"],"boolField":true,"intField":-482,"numField":219.70047841839047,"objField":{"DNgMFrPlEu":-3507859235085637877,"FtQpf":5513284889343869863,"OzLJzW":398743821256201012,"jpRnJI":-4848715962499502257,"nFtM":8187280461646881968,"wlQPST":-2504543411049485099,"zWXI":-4001504778842625278},"stringDateField":"1914-09-02","stringDateTimeField":"1976-03-22T21:48:43Z","stringField":"wDKOHEdBtG","stringTimeField":"18:01:27.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":-482,"numField":219.70047841839047,"stringDateField":"1914-09-02","stringDateTimeField":"1976-03-22T21:48:43Z","stringField":"wDKOHEdBtG","stringTimeField":"18:01:27.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1228,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1228,"uuid":"9de3e435-5655-11ee-b401-675ed0f8e89b"},"arrayField":["LmvBV","uClBsOT"],"boolField":true,"intField":182,"numField":641.8079883063937,"objField":{"PuDZPqPU":3321404244160310420,"SLMNmSFksp":-1938087767172836920,"TZxhXE":8215161781627742875,"pdzKAJI":5040145924795851231},"stringDateField":"1997-10-13","stringDateTimeField":"1961-07-24T14:07:16Z","stringField":"HfhIxpxlh","stringTimeField":"06:33:10.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":182,"numField":641.8079883063937,"stringDateField":"1997-10-13","stringDateTimeField":"1961-07-24T14:07:16Z","stringField":"HfhIxpxlh","stringTimeField":"06:33:10.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1229,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1229,"uuid":"9de3e435-5655-11ee-b801-675ed0f8e89b"},"arrayField":["HIXNt"],"boolField":true,"intField":-258,"numField":376.4961463692604,"objField":{"YhaM":-4338154356568689944},"stringDateField":"1974-09-23","stringDateTimeField":"1907-12-29T08:59:50Z","stringField":"gyIY","stringTimeField":"06:31:29.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":-258,"numField":376.4961463692604,"stringDateField":"1974-09-23","stringDateTimeField":"1907-12-29T08:59:50Z","stringField":"gyIY","stringTimeField":"06:31:29.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1230,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1230,"uuid":"9de3e435-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["eChygFqGn","aMfUT","wUGgyjG","RAKISTbgn","etEpzpO","tjmIyXu"],"boolField":true,"intField":-556,"numField":-517.6205237243164,"objField":{"DquqwG":6953817103323473270,"EXKaRcaRjv":-5776891710258793787,"SYkJKxg":-1420922469665463146,"ZuYNwT":-158253446608614231,"gWaPIlHTN":-9062728218412792078,"lyMpY":1581309807648913305,"qhnQd":-832193426028954803,"rxTn":-5381812352898814139},"stringDateField":"1983-01-24","stringDateTimeField":"2001-05-01T23:39:01Z","stringField":"lJhWo","stringTimeField":"15:08:52.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230965Z","intField":-556,"numField":-517.6205237243164,"stringDateField":"1983-01-24","stringDateTimeField":"2001-05-01T23:39:01Z","stringField":"lJhWo","stringTimeField":"15:08:52.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1231,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1231,"uuid":"9de3e436-5655-11ee-8001-675ed0f8e89b"},"arrayField":["LhXk","RcFhMtYOd"],"boolField":true,"intField":-214,"numField":-752.2593621925334,"objField":{"EMhewtrQsL":1834399733505731547,"GyBYlg":5772660024600163440,"IKiRhpTIle":9160423551795655,"TeaHEjOBFg":7865580174697335457,"YjUeehDazP":514518911776619484,"nUguj":3345302570616339418,"pVvqjYxII":-8642563035433970971,"ryhedxB":-2804679900924046818,"zMlShSxtLw":2552573164464339362},"stringDateField":"1947-08-08","stringDateTimeField":"1945-03-25T00:48:29Z","stringField":"nGzlTdpGq","stringTimeField":"08:29:54.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":-214,"numField":-752.2593621925334,"stringDateField":"1947-08-08","stringDateTimeField":"1945-03-25T00:48:29Z","stringField":"nGzlTdpGq","stringTimeField":"08:29:54.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1232,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1232,"uuid":"9de3e436-5655-11ee-8401-675ed0f8e89b"},"arrayField":["FXxGv","PdieSAqFF","khBfvzojHj"],"boolField":true,"intField":526,"numField":-403.1859164375898,"objField":{"MWBEOvmH":-4268721083661165126,"fSFqcVWCMI":-3140503994997203518},"stringDateField":"1908-05-31","stringDateTimeField":"1965-08-29T03:24:43Z","stringField":"BavYa","stringTimeField":"17:48:55.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":526,"numField":-403.1859164375898,"stringDateField":"1908-05-31","stringDateTimeField":"1965-08-29T03:24:43Z","stringField":"BavYa","stringTimeField":"17:48:55.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1233,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1233,"uuid":"9de3e436-5655-11ee-8801-675ed0f8e89b"},"arrayField":["VqYOADuJ","ZDNiPNJTB","vumRqK"],"boolField":true,"intField":-327,"numField":-649.1613032074785,"objField":{"BXtjEO":1938978983449845181,"GOCmArNU":3034995157232420831,"TsHqScll":4148204664865352851,"VjcR":8042037596421312662,"WVMKy":331764127993398193,"dABaMN":4643380939099420104,"qDuL":-7320262009119977041,"qVQu":-6819299391693684547,"svMEsorUC":-3495414563780606638,"vnRvGXET":7403238059945741126},"stringDateField":"2011-08-08","stringDateTimeField":"1945-09-11T14:32:47Z","stringField":"xYjp","stringTimeField":"13:25:36.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":-327,"numField":-649.1613032074785,"stringDateField":"2011-08-08","stringDateTimeField":"1945-09-11T14:32:47Z","stringField":"xYjp","stringTimeField":"13:25:36.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1234,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1234,"uuid":"9de3e436-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["YNDyE","SNaSl","xvbO","cVsydsg","qqslx","HAjNWF","gpoxPEGiZb","sYvWMIAm"],"boolField":false,"intField":-465,"numField":-353.91645268404136,"objField":{"qXVvDry":-3956135021577147183},"stringDateField":"2016-05-07","stringDateTimeField":"2015-05-26T13:49:37Z","stringField":"diUlHz","stringTimeField":"11:30:04.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":-465,"numField":-353.91645268404136,"stringDateField":"2016-05-07","stringDateTimeField":"2015-05-26T13:49:37Z","stringField":"diUlHz","stringTimeField":"11:30:04.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1235,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1235,"uuid":"9de3e436-5655-11ee-9001-675ed0f8e89b"},"arrayField":["YBzF","bWRO","oZtqDKufbp"],"boolField":true,"intField":891,"numField":-597.719210774836,"objField":{"DBJgzdM":-5174382137957681402,"HbnQ":-7803363175101645667,"XaHxIWWE":-7924686657540765057,"kEWDWuHM":-1832109074752841478,"kdOn":-4985773426832489730},"stringDateField":"2019-10-08","stringDateTimeField":"2000-07-11T19:16:39Z","stringField":"bmKIO","stringTimeField":"04:50:33.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":891,"numField":-597.719210774836,"stringDateField":"2019-10-08","stringDateTimeField":"2000-07-11T19:16:39Z","stringField":"bmKIO","stringTimeField":"04:50:33.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1236,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1236,"uuid":"9de3e436-5655-11ee-9401-675ed0f8e89b"},"arrayField":["omCIKtkARJ","UnVk","FXGnSsUW","cNhVhqA"],"boolField":true,"intField":-87,"numField":-496.6487855343551,"objField":{"Axxj":-4353056017278094051,"KVfomKQt":4098285913554524392,"MaWTt":6388625041194998562,"RTfACcVm":-3743060790481087313,"cZBJfgBJe":7638220099254215685,"fBgXVf":3359944898008797588,"picsh":-6713748884321814477,"sNsY":-8151547201749654427,"tBAor":3460554517497345047},"stringDateField":"2014-09-10","stringDateTimeField":"1947-01-23T13:35:17Z","stringField":"IobrNIijb","stringTimeField":"20:08:41.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":-87,"numField":-496.6487855343551,"stringDateField":"2014-09-10","stringDateTimeField":"1947-01-23T13:35:17Z","stringField":"IobrNIijb","stringTimeField":"20:08:41.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1237,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1237,"uuid":"9de3e436-5655-11ee-9801-675ed0f8e89b"},"arrayField":["EgUsEx","HuThbrR","bnlfGqsl","Bvnvm","tqjxLo","XYXUQYYumP","SiuOVO"],"boolField":true,"intField":96,"numField":221.59607502958156,"objField":{"CmHSFJoOgE":7496168138089266326,"ILhfANNVx":637182582937418724,"IcsFaTPY":-3476571681024409944,"ZnPCgLlksW":-1091147484634231623,"ebooybFTth":8991823135539205132,"lHIWtAbnmz":-2578793622786359987,"xXLjUFk":7591903220353155323,"xjSxOKaCaJ":1291851973021482308},"stringDateField":"1988-07-10","stringDateTimeField":"2013-11-06T02:53:04Z","stringField":"XRnPbTPTRZ","stringTimeField":"22:16:08.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":96,"numField":221.59607502958156,"stringDateField":"1988-07-10","stringDateTimeField":"2013-11-06T02:53:04Z","stringField":"XRnPbTPTRZ","stringTimeField":"22:16:08.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1238,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1238,"uuid":"9de3e436-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["EsDja","tUvr","DfLSiaKfdC","cFKP","znjPx"],"boolField":true,"intField":-859,"numField":873.2494516552766,"objField":{"MfSJw":-6605575425071709036,"akRl":-3739208375292163796},"stringDateField":"2007-09-15","stringDateTimeField":"1984-11-03T16:41:10Z","stringField":"uuPSgHa","stringTimeField":"03:49:56.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":-859,"numField":873.2494516552766,"stringDateField":"2007-09-15","stringDateTimeField":"1984-11-03T16:41:10Z","stringField":"uuPSgHa","stringTimeField":"03:49:56.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1239,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1239,"uuid":"9de3e436-5655-11ee-a001-675ed0f8e89b"},"arrayField":["feNuM","RMCwVVOXdT","aXyPVMG","ZuWb","dykDDeVIA"],"boolField":true,"intField":-391,"numField":-977.426101838564,"objField":{"CpteESd":7937828648945326610,"IiQpAN":2929337764980256363,"OXHSAuTC":-5719811893978396291,"uYSkBWmHPr":7675601289435761698},"stringDateField":"1958-12-27","stringDateTimeField":"1951-04-29T02:39:17Z","stringField":"RwtF","stringTimeField":"05:47:45.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":-391,"numField":-977.426101838564,"stringDateField":"1958-12-27","stringDateTimeField":"1951-04-29T02:39:17Z","stringField":"RwtF","stringTimeField":"05:47:45.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1240,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1240,"uuid":"9de3e436-5655-11ee-a401-675ed0f8e89b"},"arrayField":["uNaUvuHXL"],"boolField":true,"intField":627,"numField":-514.2292313916158,"objField":{"CrlFNxIgD":-8954295694298877822,"SjuVMIr":-5811743660980758775,"Xpqbpp":4256833330836572847,"suIIYTfmna":-5736483773671237729,"yFHCsx":-3039829077747507393,"zMaKpq":-1628242744210114996},"stringDateField":"1904-05-30","stringDateTimeField":"1911-10-17T06:34:16Z","stringField":"gcAE","stringTimeField":"22:46:39.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":627,"numField":-514.2292313916158,"stringDateField":"1904-05-30","stringDateTimeField":"1911-10-17T06:34:16Z","stringField":"gcAE","stringTimeField":"22:46:39.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1241,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1241,"uuid":"9de3e436-5655-11ee-a801-675ed0f8e89b"},"arrayField":["wjDy","xpckCnql","LgHmaRGS","sMsU","sQmuRgwnP"],"boolField":true,"intField":-250,"numField":-867.3880218477251,"objField":{"YtQBZG":6472513925610288258},"stringDateField":"1979-06-30","stringDateTimeField":"2012-12-03T01:44:24Z","stringField":"nQTcMh","stringTimeField":"17:30:22.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":-250,"numField":-867.3880218477251,"stringDateField":"1979-06-30","stringDateTimeField":"2012-12-03T01:44:24Z","stringField":"nQTcMh","stringTimeField":"17:30:22.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1242,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1242,"uuid":"9de3e436-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["kvgua","wYYyR","pKIBYqyw"],"boolField":false,"intField":983,"numField":-557.4850367298911,"objField":{"VmKI":-5341939704995738623},"stringDateField":"1996-11-14","stringDateTimeField":"1927-09-23T05:32:48Z","stringField":"wMoIdjXw","stringTimeField":"20:04:39.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":983,"numField":-557.4850367298911,"stringDateField":"1996-11-14","stringDateTimeField":"1927-09-23T05:32:48Z","stringField":"wMoIdjXw","stringTimeField":"20:04:39.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1243,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1243,"uuid":"9de3e436-5655-11ee-b001-675ed0f8e89b"},"arrayField":["yDTPVf","gwFa","PrnXQMFN","eafecqu","jRutAyId","vNFeKnIx","MRmKFELhyZ","rkTe","vsVYges","NFXq"],"boolField":false,"intField":-732,"numField":294.009737799886,"objField":{"UDXjlXbF":3368478759181456943,"mILSjItSP":8997499951712321338,"nAJWrpzTr":-8881094534360732464,"vEJvYOq":8413289924385119974},"stringDateField":"1926-12-01","stringDateTimeField":"1970-06-06T19:30:23Z","stringField":"SyDP","stringTimeField":"03:51:53.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":-732,"numField":294.009737799886,"stringDateField":"1926-12-01","stringDateTimeField":"1970-06-06T19:30:23Z","stringField":"SyDP","stringTimeField":"03:51:53.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1244,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1244,"uuid":"9de3e436-5655-11ee-b401-675ed0f8e89b"},"arrayField":["hdYnBKc","vJJIiNJlca","QbaAsYM","njTB","sbOE","AvsbBXyj"],"boolField":false,"intField":-661,"numField":365.33591363782006,"objField":{"DtnLUam":-6444981351785340563,"HUsZ":-1674681482234568865,"HypMdOEm":6562449413278611231,"MHhLhfLL":-8781193288742917101,"SBpT":3720443388407796349,"yDYrnXZdjO":8716775972812512348,"ykISdJzhb":8554702477732045507},"stringDateField":"1922-09-29","stringDateTimeField":"1929-05-12T11:46:05Z","stringField":"fJLZyiydq","stringTimeField":"01:32:27.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":-661,"numField":365.33591363782006,"stringDateField":"1922-09-29","stringDateTimeField":"1929-05-12T11:46:05Z","stringField":"fJLZyiydq","stringTimeField":"01:32:27.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1245,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1245,"uuid":"9de3e436-5655-11ee-b801-675ed0f8e89b"},"arrayField":["FNtT","XSSOOwmJ","vzLGFhymcI","fBnasd","OmNgtr","DZkIPrWsK","cUyVPTlzO","fidTz"],"boolField":true,"intField":428,"numField":-960.31092648988,"objField":{"DrQPlcmiy":7553990686225194771,"PUtmrVWra":5473889565038699785,"cRjZFNL":-1689804213077277449,"jKtGMP":-3552872240561751856,"sTgmIbNe":-9056991710237698750},"stringDateField":"1977-08-24","stringDateTimeField":"1974-05-19T13:31:34Z","stringField":"KvvPn","stringTimeField":"14:29:26.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":428,"numField":-960.31092648988,"stringDateField":"1977-08-24","stringDateTimeField":"1974-05-19T13:31:34Z","stringField":"KvvPn","stringTimeField":"14:29:26.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1246,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1246,"uuid":"9de3e436-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["oYXxHPtQ"],"boolField":true,"intField":185,"numField":-210.4899330099365,"objField":{"IrClmKfPp":-6682092278098832617,"OWZXqStb":-9156010286477706027,"OlzgNVlQgG":2154490295505820803,"QoFYXNaa":-4349621746656744543,"ZhvlLN":4333380435591004481,"jaaoJVRH":-2835616566447020438,"mrrDfp":6717915839345176984,"raIfrfCTSf":-4402127546729592976},"stringDateField":"1951-02-17","stringDateTimeField":"1930-01-01T19:50:49Z","stringField":"hyjdGyYet","stringTimeField":"14:23:41.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230966Z","intField":185,"numField":-210.4899330099365,"stringDateField":"1951-02-17","stringDateTimeField":"1930-01-01T19:50:49Z","stringField":"hyjdGyYet","stringTimeField":"14:23:41.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1247,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1247,"uuid":"9de3e437-5655-11ee-8001-675ed0f8e89b"},"arrayField":["EAAWhKnbiS","dfYAOZfCC","QbbncD","uytGzj","agOwg","aOxMzwMn","gAxY","KKkyguF","uqRslL"],"boolField":false,"intField":-66,"numField":194.8350709154416,"objField":{"VCaJL":-3862348546970527324,"ZUrmJtEpWE":8127747966646137291},"stringDateField":"2003-02-21","stringDateTimeField":"1944-01-07T17:12:37Z","stringField":"MfhOhBNH","stringTimeField":"05:46:25.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":-66,"numField":194.8350709154416,"stringDateField":"2003-02-21","stringDateTimeField":"1944-01-07T17:12:37Z","stringField":"MfhOhBNH","stringTimeField":"05:46:25.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1248,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1248,"uuid":"9de3e437-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ICiRKdax","OtIAiDR","UABsNnlDh","SVGsOyfHpT","IAphshjAo","XxmzXMgPp","UdtjVN","HsJOt","UezpfEtE","XLvjV"],"boolField":false,"intField":-658,"numField":-148.0785699716317,"objField":{"ENvRX":4735825214907575957,"OSowlQEb":-7698494412310294954,"cKhVJoWa":3265347742141247968,"kGaanZOE":6015081980134507356,"yvuiDorr":-252346963702842143,"zZIEFuq":621879109562024608},"stringDateField":"1904-03-13","stringDateTimeField":"1994-04-10T00:29:50Z","stringField":"rjJYxB","stringTimeField":"21:14:11.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":-658,"numField":-148.0785699716317,"stringDateField":"1904-03-13","stringDateTimeField":"1994-04-10T00:29:50Z","stringField":"rjJYxB","stringTimeField":"21:14:11.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1249,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1249,"uuid":"9de3e437-5655-11ee-8801-675ed0f8e89b"},"arrayField":["qRdVTbpXg","qLcSWyRo","qRicGJ","OiaUEtl"],"boolField":false,"intField":927,"numField":960.3825457090578,"objField":{"IXzRz":5311262879818785486},"stringDateField":"1915-05-14","stringDateTimeField":"1962-09-30T12:42:14Z","stringField":"INvgmaI","stringTimeField":"14:58:02.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":927,"numField":960.3825457090578,"stringDateField":"1915-05-14","stringDateTimeField":"1962-09-30T12:42:14Z","stringField":"INvgmaI","stringTimeField":"14:58:02.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1250,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1250,"uuid":"9de3e437-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["kNIWAku","qHGp"],"boolField":true,"intField":957,"numField":119.88596540256124,"objField":{"KCzpPmc":3237540067591830866,"SOieXer":-1236167194896594115,"VcETDVkqml":-5926524378319264153,"aDkDpEXZ":1902143331802978660,"wBah":3194730588620613148},"stringDateField":"1976-10-28","stringDateTimeField":"1953-11-24T18:04:19Z","stringField":"LqYpu","stringTimeField":"21:52:32.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":957,"numField":119.88596540256124,"stringDateField":"1976-10-28","stringDateTimeField":"1953-11-24T18:04:19Z","stringField":"LqYpu","stringTimeField":"21:52:32.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1251,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1251,"uuid":"9de3e437-5655-11ee-9001-675ed0f8e89b"},"arrayField":["nOuJsLMs","aJPldgImpU","zHIOlye","Ftphxz"],"boolField":false,"intField":900,"numField":-975.5394790276484,"objField":{"mrqpOR":6432794107642438898},"stringDateField":"1923-08-18","stringDateTimeField":"1962-11-12T10:27:06Z","stringField":"MybtzIcnot","stringTimeField":"13:26:06.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":900,"numField":-975.5394790276484,"stringDateField":"1923-08-18","stringDateTimeField":"1962-11-12T10:27:06Z","stringField":"MybtzIcnot","stringTimeField":"13:26:06.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1252,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1252,"uuid":"9de3e437-5655-11ee-9401-675ed0f8e89b"},"arrayField":["cGdA","SjACZqkheW","YcmhDMS","AwrBT","XcPmrIsm","WOFFNLvXT","LTcl","KhLCGjWC","mZfZVoeB","UoqUDNH"],"boolField":true,"intField":598,"numField":-184.85516397422853,"objField":{"oHiXATSx":4760601165218833954,"vrSOXuVYK":8438495707630529352},"stringDateField":"1955-03-28","stringDateTimeField":"2004-10-02T11:59:13Z","stringField":"zFqrvoGhW","stringTimeField":"21:32:38.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":598,"numField":-184.85516397422853,"stringDateField":"1955-03-28","stringDateTimeField":"2004-10-02T11:59:13Z","stringField":"zFqrvoGhW","stringTimeField":"21:32:38.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1253,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1253,"uuid":"9de3e437-5655-11ee-9801-675ed0f8e89b"},"arrayField":["HZxoE","BCvNgHyH","lBtpBeg","EBUjaqlWO","LkSeGcW","rIvWT","zKnIdPhjnc"],"boolField":false,"intField":-461,"numField":484.4530947048136,"objField":{"mzHGR":-7097342763073435968},"stringDateField":"2005-01-21","stringDateTimeField":"1961-07-10T03:47:24Z","stringField":"NJeEw","stringTimeField":"18:03:21.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":-461,"numField":484.4530947048136,"stringDateField":"2005-01-21","stringDateTimeField":"1961-07-10T03:47:24Z","stringField":"NJeEw","stringTimeField":"18:03:21.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1254,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1254,"uuid":"9de3e437-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["sfGaSrG","tFCx","iYFkS","RQDaCZbpY","wUDI","RHeGw","AScjda","VbjbnwG"],"boolField":true,"intField":360,"numField":-410.2475326320156,"objField":{"CofUMj":5868136310616600381,"MgvKSz":7545715239068982825,"XNAcP":-6164550493148809009,"YtRmq":-2581238355081018748,"kJrCtXX":8052036054711960076,"pQkZZvDvPo":-5403594964846329067},"stringDateField":"1977-08-21","stringDateTimeField":"1949-07-14T07:12:38Z","stringField":"EzkZI","stringTimeField":"03:47:07.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":360,"numField":-410.2475326320156,"stringDateField":"1977-08-21","stringDateTimeField":"1949-07-14T07:12:38Z","stringField":"EzkZI","stringTimeField":"03:47:07.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1255,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1255,"uuid":"9de3e437-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ZwXE","HVtu","ePXFCuJpLj","zjZh","aiYEExzZG","aZKwOHOMP","yasth","rPzfnQ","sGlQ","UmmvJoO"],"boolField":false,"intField":-84,"numField":665.408672497068,"objField":{"NYMm":-1028476893084338931,"PXsdnIdFur":-3901671008505894897,"rqhGjcnpcs":8143284851424549299,"xSFQj":-6810493238403972827},"stringDateField":"1944-08-02","stringDateTimeField":"1961-06-23T00:38:36Z","stringField":"Czacq","stringTimeField":"01:35:49.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":-84,"numField":665.408672497068,"stringDateField":"1944-08-02","stringDateTimeField":"1961-06-23T00:38:36Z","stringField":"Czacq","stringTimeField":"01:35:49.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1256,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1256,"uuid":"9de3e437-5655-11ee-a401-675ed0f8e89b"},"arrayField":["hbsucqNqx","doMuAEu","kEgWXcYiAC","tyIu","THrT"],"boolField":true,"intField":495,"numField":498.4253482541053,"objField":{"Ibxa":-995450344292568552,"TSunLg":-3096528684548761251,"YZLCjx":7766932808661659535,"ZHLAsC":-4334756501797295775,"pMGBU":7801103564018988871},"stringDateField":"1975-04-22","stringDateTimeField":"1956-06-26T04:36:21Z","stringField":"OkSbYfR","stringTimeField":"08:53:51.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":495,"numField":498.4253482541053,"stringDateField":"1975-04-22","stringDateTimeField":"1956-06-26T04:36:21Z","stringField":"OkSbYfR","stringTimeField":"08:53:51.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1257,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1257,"uuid":"9de3e437-5655-11ee-a801-675ed0f8e89b"},"arrayField":["tyPqltGWuv","ScmK","Nykv","EaUuqgOp","Ynqx"],"boolField":true,"intField":-681,"numField":127.46480983332552,"objField":{"CIFtjbZT":-4333071656795410571,"QloXhjpD":1742566627020004296,"Swlq":-4071988189239117419,"WHyB":3687041702078315416,"ZUIkMcgn":-8282735351975896433,"luWi":-6541765015878801297,"luYVh":-2773583168564821390,"rAKSBH":-4297946240990604801,"rtrRcoEO":-3801890245024788952,"vkchCoZmq":-7977699298495182167},"stringDateField":"1945-12-30","stringDateTimeField":"2006-11-15T13:42:51Z","stringField":"YHBTF","stringTimeField":"08:25:48.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":-681,"numField":127.46480983332552,"stringDateField":"1945-12-30","stringDateTimeField":"2006-11-15T13:42:51Z","stringField":"YHBTF","stringTimeField":"08:25:48.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1258,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1258,"uuid":"9de3e437-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["EaXPQrXiv","JcCYslxC","pQPTCpE","uDoyQPd"],"boolField":false,"intField":389,"numField":910.6299368513246,"objField":{"KCCj":9117484187994456681,"rVAp":1617365704062698643,"vbwmsZ":-8216814999988243659},"stringDateField":"2009-12-01","stringDateTimeField":"1925-03-01T05:24:52Z","stringField":"swUBo","stringTimeField":"05:36:27.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":389,"numField":910.6299368513246,"stringDateField":"2009-12-01","stringDateTimeField":"1925-03-01T05:24:52Z","stringField":"swUBo","stringTimeField":"05:36:27.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1259,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1259,"uuid":"9de3e437-5655-11ee-b001-675ed0f8e89b"},"arrayField":["kWXvqyAEOp","JweKO","FsLcycTF","tYcp"],"boolField":false,"intField":695,"numField":-725.2148477645375,"objField":{"ZmqiN":5725149348555418482,"fgcEfCx":-291837059185427056},"stringDateField":"1904-02-27","stringDateTimeField":"1912-01-17T03:25:49Z","stringField":"QERXv","stringTimeField":"22:38:44.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":695,"numField":-725.2148477645375,"stringDateField":"1904-02-27","stringDateTimeField":"1912-01-17T03:25:49Z","stringField":"QERXv","stringTimeField":"22:38:44.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1260,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1260,"uuid":"9de3e437-5655-11ee-b401-675ed0f8e89b"},"arrayField":["syIUsQCR","qEVGLgbAbh","pGhA","hqNr","BgOOLPUq","cDhGxwQNVs"],"boolField":true,"intField":594,"numField":-10.852871023980803,"objField":{"BiQWHIqBzp":-2748927159811309955,"KKOe":8391070702008994014,"VEgDpHpBcG":-4226892793397132971,"XgXhsoKjTO":4837243394524074169,"YYcfybFVTd":8911136918080970585,"bAeJ":-8074797846168267688,"tOyoinnKhu":-7017946514952990838},"stringDateField":"2011-06-23","stringDateTimeField":"1965-02-27T08:28:37Z","stringField":"PLpMC","stringTimeField":"04:41:40.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":594,"numField":-10.852871023980803,"stringDateField":"2011-06-23","stringDateTimeField":"1965-02-27T08:28:37Z","stringField":"PLpMC","stringTimeField":"04:41:40.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1261,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1261,"uuid":"9de3e437-5655-11ee-b801-675ed0f8e89b"},"arrayField":["YwGI","agVjVVROFQ"],"boolField":true,"intField":-477,"numField":860.3281904297977,"objField":{"IgGADEzEr":4032176868123164239,"JKeMcW":4903212779132300716,"Virr":3726609798967431290,"VuwPpP":5317326336474967514,"bZmlrUCykt":7878082420627047597,"gxMojAkUwq":-2809305948870855684,"yIcKLl":-5886215882780748083,"ysPcZgqODc":-5380931310828328290},"stringDateField":"1990-05-07","stringDateTimeField":"1986-12-30T19:31:49Z","stringField":"XDaqcko","stringTimeField":"02:32:58.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":-477,"numField":860.3281904297977,"stringDateField":"1990-05-07","stringDateTimeField":"1986-12-30T19:31:49Z","stringField":"XDaqcko","stringTimeField":"02:32:58.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1262,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1262,"uuid":"9de3e437-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["GbmQIziYC","KxWmUocq","dzFHjgP"],"boolField":true,"intField":909,"numField":-667.1141808515426,"objField":{"APkcBz":-5002951743961873514,"FPkW":9127543329477431143,"NEZTYFIAYG":3235027158826516026,"NkFtFByd":-7517636890749787807,"TIcojyH":1622834116904821410,"TQctBiPsz":4160163042804834506,"eGryAwV":137965324476362717,"efEDX":-7271557800138968505,"lGtGwKm":-6965526549176847371,"sqMchDcp":7992214809323906225},"stringDateField":"1938-10-05","stringDateTimeField":"1992-08-31T22:10:46Z","stringField":"hbgF","stringTimeField":"08:49:47.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230967Z","intField":909,"numField":-667.1141808515426,"stringDateField":"1938-10-05","stringDateTimeField":"1992-08-31T22:10:46Z","stringField":"hbgF","stringTimeField":"08:49:47.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1263,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1263,"uuid":"9de3e438-5655-11ee-8001-675ed0f8e89b"},"arrayField":["UMqqb"],"boolField":false,"intField":-740,"numField":-113.1941711092198,"objField":{"DQKO":-3456909541690146014,"EEvOr":-2946792072257815759,"QkWMzw":-3462397325190334960,"ZuNtt":-2157107665527654722,"bQeok":2619870455520446456,"mrMchDe":-1030140869323017825,"rLfV":-5957940105547302694,"xoFb":7250306812042547174,"zLFD":-3796431874585948658},"stringDateField":"1918-06-16","stringDateTimeField":"1998-08-24T08:27:46Z","stringField":"UCdcPh","stringTimeField":"00:48:34.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":-740,"numField":-113.1941711092198,"stringDateField":"1918-06-16","stringDateTimeField":"1998-08-24T08:27:46Z","stringField":"UCdcPh","stringTimeField":"00:48:34.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1264,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1264,"uuid":"9de3e438-5655-11ee-8401-675ed0f8e89b"},"arrayField":["QOcwxMK","WVNjoyu","pRKiDknA"],"boolField":false,"intField":-252,"numField":125.37616346758472,"objField":{"RHEODXlbDJ":-2728190706261881787,"TYipFNMRgv":3976634495179930617,"UsYvFq":-5681617095734889845,"XfGUeaXa":6991342563622142916,"dXNh":7241792844103010188,"hSFnAYnz":7596309855218191692,"ixuyQ":-7980101213850149656,"xgjXUfK":-129429456325083889},"stringDateField":"1962-03-03","stringDateTimeField":"1959-08-29T15:12:06Z","stringField":"XBvhlt","stringTimeField":"20:55:03.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":-252,"numField":125.37616346758472,"stringDateField":"1962-03-03","stringDateTimeField":"1959-08-29T15:12:06Z","stringField":"XBvhlt","stringTimeField":"20:55:03.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1265,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1265,"uuid":"9de3e438-5655-11ee-8801-675ed0f8e89b"},"arrayField":["PdmUeBFn","DpasIo","YpddJ","SVsbE"],"boolField":false,"intField":696,"numField":581.4168668425331,"objField":{"EQhs":5069635956259267922,"InXDIoCpbO":-5395316269844943822,"JIWS":-7793384215588821885,"NKlx":6701531038208261957,"YXxsTaAAL":11863321433199635,"cvBcF":-4693879034875147522,"iBEYskr":172307150908592706,"lxPiYF":726457038919800727,"mbIBgf":-8963329549496341778,"vMDWMMU":8798381778232224201},"stringDateField":"2007-09-16","stringDateTimeField":"1956-08-04T20:16:22Z","stringField":"MdhRmZ","stringTimeField":"23:47:48.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":696,"numField":581.4168668425331,"stringDateField":"2007-09-16","stringDateTimeField":"1956-08-04T20:16:22Z","stringField":"MdhRmZ","stringTimeField":"23:47:48.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1266,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1266,"uuid":"9de3e438-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["sQUMYVT","tykxL","aAKIiODEu","svJwEQ","gZjKAsP","iyTVm","xUJol","mjxGfvDB","YwOmSEzm"],"boolField":false,"intField":-740,"numField":-779.6363018775378,"objField":{"IgssK":5741452357230936916,"qmheD":393034193484691454},"stringDateField":"1978-06-09","stringDateTimeField":"1965-01-17T07:31:08Z","stringField":"LZtp","stringTimeField":"21:00:55.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":-740,"numField":-779.6363018775378,"stringDateField":"1978-06-09","stringDateTimeField":"1965-01-17T07:31:08Z","stringField":"LZtp","stringTimeField":"21:00:55.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1267,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1267,"uuid":"9de3e438-5655-11ee-9001-675ed0f8e89b"},"arrayField":["jsSfX","MbGj","WCkxg","IhjkzICLvG","zucX","rjRBQs"],"boolField":true,"intField":390,"numField":0.8622992489559778,"objField":{"AktSxN":2833806190284942380,"NOPC":-5733548494977044204,"SEIGfhy":-3844453287686066868,"jVdsGIHK":-3126807057885814317,"oxcSEgHch":-3764321333896385941},"stringDateField":"1994-05-03","stringDateTimeField":"1909-10-30T16:41:18Z","stringField":"zVQFPoWHLz","stringTimeField":"18:48:37.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":390,"numField":0.8622992489559778,"stringDateField":"1994-05-03","stringDateTimeField":"1909-10-30T16:41:18Z","stringField":"zVQFPoWHLz","stringTimeField":"18:48:37.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1268,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1268,"uuid":"9de3e438-5655-11ee-9401-675ed0f8e89b"},"arrayField":["IndG","VxIHS","rqkc","yPmUBboW","oDcXFhOAX","LcAXGeu","Fgrln"],"boolField":true,"intField":-281,"numField":196.03522414798792,"objField":{"DNDqgFqCs":-3762172569598556252,"LZdweEmN":-7223666694845164118,"PCGhKsmhAV":8196576902746563816,"PFHcIG":1477684685447844095,"bfhQtpGUGs":5584165316457522746,"ifwGAXAwz":3686696170043833326},"stringDateField":"1917-01-26","stringDateTimeField":"1943-10-26T15:34:29Z","stringField":"ZNPbyBcnU","stringTimeField":"22:06:40.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":-281,"numField":196.03522414798792,"stringDateField":"1917-01-26","stringDateTimeField":"1943-10-26T15:34:29Z","stringField":"ZNPbyBcnU","stringTimeField":"22:06:40.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1269,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1269,"uuid":"9de3e438-5655-11ee-9801-675ed0f8e89b"},"arrayField":["sDmZfQ","BskyB"],"boolField":false,"intField":54,"numField":-121.08885553842208,"objField":{"HTnKZ":5342815498219249565,"lnKFvVGi":7361167967494451217},"stringDateField":"1941-06-16","stringDateTimeField":"1966-02-11T13:06:54Z","stringField":"ekmIyqWD","stringTimeField":"08:46:18.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":54,"numField":-121.08885553842208,"stringDateField":"1941-06-16","stringDateTimeField":"1966-02-11T13:06:54Z","stringField":"ekmIyqWD","stringTimeField":"08:46:18.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1270,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1270,"uuid":"9de3e438-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["nbAE","pkaOQHXho","ksiOF","zWMxPPnpW","MZuufPdV","RXYxk","ShEw","PxSjnr"],"boolField":true,"intField":-400,"numField":40.903898324353925,"objField":{"EGguVbKU":2163747392942633961,"OeOTNkwD":3768455111123061843,"ensBPyfd":-6755056714290245558},"stringDateField":"1946-03-12","stringDateTimeField":"2008-09-30T00:38:33Z","stringField":"qGWow","stringTimeField":"04:26:12.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":-400,"numField":40.903898324353925,"stringDateField":"1946-03-12","stringDateTimeField":"2008-09-30T00:38:33Z","stringField":"qGWow","stringTimeField":"04:26:12.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1271,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1271,"uuid":"9de3e438-5655-11ee-a001-675ed0f8e89b"},"arrayField":["GznR","aAGdizEEsW"],"boolField":false,"intField":318,"numField":-437.8581597667394,"objField":{"JBaBZeeOR":-1662190606236840694,"RxotE":4421338480407834612,"SYGC":8652736594172485968,"WcgxLHsi":-8539838894903785105,"YLFKaNtE":8991374065509370587,"dmcELr":3596846633598065276,"gDjleE":-6412064621665292336,"qtOe":4942910757576366187,"ubFbO":-5038238083189509718},"stringDateField":"1929-10-15","stringDateTimeField":"1984-02-04T20:21:00Z","stringField":"YwOtqvGYu","stringTimeField":"04:33:34.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":318,"numField":-437.8581597667394,"stringDateField":"1929-10-15","stringDateTimeField":"1984-02-04T20:21:00Z","stringField":"YwOtqvGYu","stringTimeField":"04:33:34.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1272,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1272,"uuid":"9de3e438-5655-11ee-a401-675ed0f8e89b"},"arrayField":["BcFSKKv","fVCxSeDsU","TpPzf","lRnzAeOmVT","RMiIFRh","gGqovnnf","KLavYaDXqs","oBUkQfP","saLqHUFsYW"],"boolField":false,"intField":411,"numField":223.05187663723268,"objField":{"BTogJO":-8908443201421230433,"MhGaLo":-1355851298466825908,"TKEjEB":-6498358583066991945,"UjjYH":3313671210696925867,"VLgF":2815052988594244736,"YZDFIpfROJ":-5307999347017386315,"iLVHargNrY":5109366374397195541,"nkic":-7397272143641349081,"pyavrrhry":-5365426318463213149,"sWVyLvB":-5566634952846464071},"stringDateField":"1950-10-18","stringDateTimeField":"2021-02-07T08:17:17Z","stringField":"lEOhNJMAJ","stringTimeField":"18:05:19.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":411,"numField":223.05187663723268,"stringDateField":"1950-10-18","stringDateTimeField":"2021-02-07T08:17:17Z","stringField":"lEOhNJMAJ","stringTimeField":"18:05:19.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1273,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1273,"uuid":"9de3e438-5655-11ee-a801-675ed0f8e89b"},"arrayField":["FTWTuq","ykQKNJkU","ZwylNAbVI","AdiTgktYja","yswVj","mEBapSZF","oCKaaMg","KDsMKSWqEM","oxQNDa","YNtnEFjmeV"],"boolField":false,"intField":860,"numField":-983.1260397395068,"objField":{"EicZMc":-8953068416825180703,"KXvFUF":188758944912994467,"UhhRVORql":1452266380786833020,"WPnflZ":-7175868450251534575,"dLJOiICPRl":-1531044434393912163,"jZpmPLy":4823728186694233804,"oCpjUOF":-3960178336394174525,"qNrps":7713516072159492646},"stringDateField":"1988-07-14","stringDateTimeField":"1905-05-02T18:45:48Z","stringField":"nyIBMHUhkY","stringTimeField":"04:58:20.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":860,"numField":-983.1260397395068,"stringDateField":"1988-07-14","stringDateTimeField":"1905-05-02T18:45:48Z","stringField":"nyIBMHUhkY","stringTimeField":"04:58:20.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1274,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1274,"uuid":"9de3e438-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["PPSU","wBGbqxzq","iNbrAnwghZ","EGFeJmgJi","GHdLVKeFQ","KXnIajA","mjpuErpCi","jIjNUIyu","ThyawUis"],"boolField":false,"intField":828,"numField":-956.872002985658,"objField":{"bzclTFFe":5899323517363734593,"qwBzlLScH":2561771745275008743,"rYyY":8701715737591434337},"stringDateField":"1906-01-30","stringDateTimeField":"1913-01-29T07:24:05Z","stringField":"HaRRMnaR","stringTimeField":"01:41:04.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":828,"numField":-956.872002985658,"stringDateField":"1906-01-30","stringDateTimeField":"1913-01-29T07:24:05Z","stringField":"HaRRMnaR","stringTimeField":"01:41:04.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1275,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1275,"uuid":"9de3e438-5655-11ee-b001-675ed0f8e89b"},"arrayField":["oFZEKs","MsZnaHAls","qBBZ","sbqPLYlwSv","iIUwMcOZO","HJkI","EcpP"],"boolField":false,"intField":-642,"numField":791.7459234383086,"objField":{"XABy":342248477787774003,"enHAqArUjy":4851850166519423157,"qlVX":-6150253971914405251,"tNoHZhrI":-7904355782633967163,"xGRop":471363943966484387,"ylsXR":4493509032750491969,"zJXvsys":5001881498255885078},"stringDateField":"1989-03-25","stringDateTimeField":"1963-01-05T10:16:17Z","stringField":"WPAbfsRdkr","stringTimeField":"21:07:06.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":-642,"numField":791.7459234383086,"stringDateField":"1989-03-25","stringDateTimeField":"1963-01-05T10:16:17Z","stringField":"WPAbfsRdkr","stringTimeField":"21:07:06.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1276,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1276,"uuid":"9de3e438-5655-11ee-b401-675ed0f8e89b"},"arrayField":["wblJJ"],"boolField":true,"intField":-144,"numField":-3.3169198765750085,"objField":{"GJHLTFMk":-8687139443617645746},"stringDateField":"1918-06-20","stringDateTimeField":"1927-08-23T10:29:27Z","stringField":"jbxDXx","stringTimeField":"17:13:24.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":-144,"numField":-3.3169198765750085,"stringDateField":"1918-06-20","stringDateTimeField":"1927-08-23T10:29:27Z","stringField":"jbxDXx","stringTimeField":"17:13:24.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1277,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1277,"uuid":"9de3e438-5655-11ee-b801-675ed0f8e89b"},"arrayField":["vnZTkRo","uGKBXAl","WnzMTTS","VWTZ","xrpIT"],"boolField":true,"intField":453,"numField":343.0390989696237,"objField":{"sSkVBEcBHO":-5675458540087924026},"stringDateField":"1933-09-05","stringDateTimeField":"2010-03-30T04:29:50Z","stringField":"nncckEo","stringTimeField":"10:25:17.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":453,"numField":343.0390989696237,"stringDateField":"1933-09-05","stringDateTimeField":"2010-03-30T04:29:50Z","stringField":"nncckEo","stringTimeField":"10:25:17.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1278,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1278,"uuid":"9de3e438-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["BuKJyIcs","FPTHxKNfCj","UaZtDGMEcB","rcOUcEKh","sfLpZ","XmmKZ","wPbOCJ","PYbgK","TFymnARX"],"boolField":false,"intField":892,"numField":-385.6871770973945,"objField":{"BBBFVOynaI":-6808102350739112302},"stringDateField":"1946-11-18","stringDateTimeField":"1902-05-15T16:43:33Z","stringField":"SbBNR","stringTimeField":"01:21:32.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230968Z","intField":892,"numField":-385.6871770973945,"stringDateField":"1946-11-18","stringDateTimeField":"1902-05-15T16:43:33Z","stringField":"SbBNR","stringTimeField":"01:21:32.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1279,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1279,"uuid":"9de3e439-5655-11ee-8001-675ed0f8e89b"},"arrayField":["nFjRRMaYZ"],"boolField":true,"intField":13,"numField":368.40895075249193,"objField":{"KDBDsBs":-8388203414401631296,"NWnDyPnUs":-7206930557230278715,"OnkcvUUAnv":-3319646604195789115,"fksoAOm":-6962244838738809925,"hTygV":5386193593897395908,"hUKTSpOGd":1789710453961167541,"ulLN":-5833260197938668306},"stringDateField":"2001-12-03","stringDateTimeField":"1992-06-02T17:01:19Z","stringField":"PZkIPUS","stringTimeField":"02:03:16.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":13,"numField":368.40895075249193,"stringDateField":"2001-12-03","stringDateTimeField":"1992-06-02T17:01:19Z","stringField":"PZkIPUS","stringTimeField":"02:03:16.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1280,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1280,"uuid":"9de3e439-5655-11ee-8401-675ed0f8e89b"},"arrayField":["MdbrYA","iQVyQQ","dzVawMFcQ","njjkM","mXFJ","kOxkmPck","unDgyahFT","KTIikt","NwnFbzst","CUzgE"],"boolField":true,"intField":807,"numField":567.8920302922025,"objField":{"CJDuxt":-3395803031019904966,"FkeBBlUB":-8497273918958698303,"ZkurY":-809890110103925308,"slSmq":1925319881925905705,"zEZVgUjzp":26338893076298435},"stringDateField":"1929-01-19","stringDateTimeField":"1912-05-16T17:38:54Z","stringField":"YenMIc","stringTimeField":"00:53:12.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":807,"numField":567.8920302922025,"stringDateField":"1929-01-19","stringDateTimeField":"1912-05-16T17:38:54Z","stringField":"YenMIc","stringTimeField":"00:53:12.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1281,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1281,"uuid":"9de3e439-5655-11ee-8801-675ed0f8e89b"},"arrayField":["YwPlCnUNqz","poXQUefah","dVcfjdfv","XKSYfh","iGyIHJ","quUdCJHr","LRwCWsJ","xBtrAdWGvf","mJQTmqFsL","DopCIJ"],"boolField":false,"intField":-642,"numField":481.2129902842277,"objField":{"GcNkvoRKcj":5193847217912671909,"PHUhjIvh":-6335725691942505660,"VNnEkKTyg":6542479764114976524,"xmob":8334167204807872051},"stringDateField":"1914-09-07","stringDateTimeField":"1941-07-23T06:58:58Z","stringField":"MEsYLEzQCw","stringTimeField":"19:21:03.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":-642,"numField":481.2129902842277,"stringDateField":"1914-09-07","stringDateTimeField":"1941-07-23T06:58:58Z","stringField":"MEsYLEzQCw","stringTimeField":"19:21:03.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1282,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1282,"uuid":"9de3e439-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["WRpI","ZhkGTxTa","TlogjnwbwG"],"boolField":true,"intField":459,"numField":279.88799585363336,"objField":{"EKVRr":9010273059791923304,"HFxySrL":-3008898390447767964,"mNRa":1123802871692413678,"qZyNbh":-921600713591337910,"tnBQDqV":-6583452285928910880,"urmN":4614329169572621871},"stringDateField":"2023-02-26","stringDateTimeField":"1971-07-22T04:18:25Z","stringField":"nzFYHx","stringTimeField":"01:27:23.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":459,"numField":279.88799585363336,"stringDateField":"2023-02-26","stringDateTimeField":"1971-07-22T04:18:25Z","stringField":"nzFYHx","stringTimeField":"01:27:23.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1283,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1283,"uuid":"9de3e439-5655-11ee-9001-675ed0f8e89b"},"arrayField":["FRSK","JcfYG","MPSeQ","vtsY","BBYEgNCHh","KVsEwPydWq","embuiOQJyu","mrJDTsa","YlOFEcxz"],"boolField":true,"intField":-914,"numField":-977.8608838277376,"objField":{"RjTkNjHy":8435384609747698032,"WeDLgS":3102781290225030931,"gSuOTstyU":8213392162784929799,"jstOMcCrku":8478975332776104530,"wotz":-2824788786674585883},"stringDateField":"1915-03-29","stringDateTimeField":"2003-10-10T14:20:38Z","stringField":"mgeLVMAM","stringTimeField":"16:54:27.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":-914,"numField":-977.8608838277376,"stringDateField":"1915-03-29","stringDateTimeField":"2003-10-10T14:20:38Z","stringField":"mgeLVMAM","stringTimeField":"16:54:27.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1284,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1284,"uuid":"9de3e439-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ymZtxoc","BOsg","UhVSNDaNb","eOtil","hlQeh"],"boolField":true,"intField":495,"numField":-481.5851209679699,"objField":{"AknaCth":-2627649858083244681,"CzCBENL":8293869789299540283,"JxMurzfL":7986912398927492759,"YLKgE":3017608360965096666,"cXczAosVXk":5386170832927574575,"ehJvJ":-2448464971330538012,"ennwnVWRc":906177430200422425,"kMHXzWb":-5135577219663575182,"sHGoF":-3243646504236937175,"zumVbJ":2186843833314712444},"stringDateField":"1992-08-01","stringDateTimeField":"1936-05-17T11:22:02Z","stringField":"klbaLvZx","stringTimeField":"18:54:38.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":495,"numField":-481.5851209679699,"stringDateField":"1992-08-01","stringDateTimeField":"1936-05-17T11:22:02Z","stringField":"klbaLvZx","stringTimeField":"18:54:38.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1285,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1285,"uuid":"9de3e439-5655-11ee-9801-675ed0f8e89b"},"arrayField":["bxVo","qeeAQtOWCK","sowCi","FFmS","UXaSP","edIReALx","HfQwUM","QpDR"],"boolField":false,"intField":-502,"numField":-569.7628506288538,"objField":{"DGUPrPdl":-1797206519978549193,"KbWXx":-3274171608105876836,"TaLJVH":-2506191141262040772,"TbJdLhO":-2665940433522795665,"jiPS":-1912576504597757600,"sqqYlP":-1914469518114524956,"srJQdRXlDs":2840841246107141184},"stringDateField":"1961-09-17","stringDateTimeField":"2011-04-25T02:20:39Z","stringField":"ZEBQB","stringTimeField":"06:53:41.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":-502,"numField":-569.7628506288538,"stringDateField":"1961-09-17","stringDateTimeField":"2011-04-25T02:20:39Z","stringField":"ZEBQB","stringTimeField":"06:53:41.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1286,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1286,"uuid":"9de3e439-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["IymuIpa","tGBmk","xnOdMe","vgUW","SJZpbG","aozqoUQ","qSRWxUC"],"boolField":true,"intField":779,"numField":-106.35298818572758,"objField":{"FLagRuxUAl":6786342873113882145,"PGxs":-3491268620992090709,"QGlBSiC":9076125008047850152,"QRYM":-2649655066836401275,"loLQL":-6856546325545146768,"tCLbNN":6568783916755537273,"xpuOaaCUUa":608451775152334423},"stringDateField":"1984-06-09","stringDateTimeField":"1981-03-23T22:54:48Z","stringField":"eGtZTld","stringTimeField":"06:48:28.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":779,"numField":-106.35298818572758,"stringDateField":"1984-06-09","stringDateTimeField":"1981-03-23T22:54:48Z","stringField":"eGtZTld","stringTimeField":"06:48:28.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1287,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1287,"uuid":"9de3e439-5655-11ee-a001-675ed0f8e89b"},"arrayField":["DCTtlPu","tnhKQxhVIf","caYFXNHw","HhIGuG"],"boolField":false,"intField":-292,"numField":-490.9508565734265,"objField":{"JHZjX":5864797620213785419,"LTOQeXhzn":-6846441205664004929,"LfAGqMbH":-4451540484465532214,"ZYGjqOykjT":8976394696274726024,"nignQmWs":3715656622883806255,"upJalrLyOU":-612333123106194360,"ymmlDczj":-8113140108738144760},"stringDateField":"1903-04-27","stringDateTimeField":"1953-09-19T16:05:16Z","stringField":"xnmKrv","stringTimeField":"15:04:05.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":-292,"numField":-490.9508565734265,"stringDateField":"1903-04-27","stringDateTimeField":"1953-09-19T16:05:16Z","stringField":"xnmKrv","stringTimeField":"15:04:05.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1288,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1288,"uuid":"9de3e439-5655-11ee-a401-675ed0f8e89b"},"arrayField":["yQvnk","JesaF","igRy","NOBdF","NNcvvX","NZrLSegbJ","ArNtug","ziYW"],"boolField":false,"intField":-702,"numField":974.8293724928144,"objField":{"FSldD":-5979867793264828390,"FtRFWv":4527116754774475896,"raNKTlLBn":8241260191711275850},"stringDateField":"1903-04-02","stringDateTimeField":"1930-04-27T16:21:40Z","stringField":"gMuKmrMtG","stringTimeField":"12:50:07.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":-702,"numField":974.8293724928144,"stringDateField":"1903-04-02","stringDateTimeField":"1930-04-27T16:21:40Z","stringField":"gMuKmrMtG","stringTimeField":"12:50:07.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1289,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1289,"uuid":"9de3e439-5655-11ee-a801-675ed0f8e89b"},"arrayField":["GZyqc","uixPgp","gDKsshkI","obpttk"],"boolField":false,"intField":-447,"numField":-147.2824349011992,"objField":{"MbpJAZcYuB":-6329483596212749395,"WWuyg":8052328129347205395,"XsWwaEw":-2941300776743943937},"stringDateField":"1992-08-17","stringDateTimeField":"1992-01-03T11:23:43Z","stringField":"WHnUxSk","stringTimeField":"01:23:09.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":-447,"numField":-147.2824349011992,"stringDateField":"1992-08-17","stringDateTimeField":"1992-01-03T11:23:43Z","stringField":"WHnUxSk","stringTimeField":"01:23:09.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1290,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1290,"uuid":"9de3e439-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["isFhDohs","XWnIIxykRf","DsJuRTC","Qhmej"],"boolField":false,"intField":-428,"numField":-73.82314037427473,"objField":{"HnsRDJO":-3068194346026977449},"stringDateField":"1967-10-05","stringDateTimeField":"1933-11-06T06:34:10Z","stringField":"pPpHt","stringTimeField":"00:34:37.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":-428,"numField":-73.82314037427473,"stringDateField":"1967-10-05","stringDateTimeField":"1933-11-06T06:34:10Z","stringField":"pPpHt","stringTimeField":"00:34:37.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1291,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1291,"uuid":"9de3e439-5655-11ee-b001-675ed0f8e89b"},"arrayField":["qMtyRw","webLqAxhJD","FueZj","UwrQoS","StoiHIDiN","TFVp"],"boolField":false,"intField":234,"numField":-284.6476356006823,"objField":{"FzHCXUw":3293315743856043399,"RucTmsjy":-1795435975066674923,"cTwephGm":7021770397149052726,"lidWA":-3876024885167172599,"mgKlVO":-4311514787955580538,"yjfHQmL":8012555224532595523},"stringDateField":"1933-12-21","stringDateTimeField":"1974-09-16T13:28:02Z","stringField":"qCnvwa","stringTimeField":"17:07:23.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":234,"numField":-284.6476356006823,"stringDateField":"1933-12-21","stringDateTimeField":"1974-09-16T13:28:02Z","stringField":"qCnvwa","stringTimeField":"17:07:23.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1292,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1292,"uuid":"9de3e439-5655-11ee-b401-675ed0f8e89b"},"arrayField":["oJMe","mqkj","zXGOMwi","gpHtyBxpAl","WdOUckWORR","vHFUpXQGWd"],"boolField":true,"intField":-148,"numField":531.9333414352851,"objField":{"BBmwL":1869994992067816663,"LnQtKLPw":-7481479708756158198,"NhGQQpf":-5206407614867658643,"XSRpVRkYQ":8906476047985891355,"ltOhXM":5901796460703874488,"qdoTdvYoHk":-8300099035610526213,"zlNYZbDiZ":-6019382677013554277},"stringDateField":"1989-02-23","stringDateTimeField":"1901-06-22T02:40:09Z","stringField":"dRVXXQr","stringTimeField":"21:53:26.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":-148,"numField":531.9333414352851,"stringDateField":"1989-02-23","stringDateTimeField":"1901-06-22T02:40:09Z","stringField":"dRVXXQr","stringTimeField":"21:53:26.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1293,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1293,"uuid":"9de3e439-5655-11ee-b801-675ed0f8e89b"},"arrayField":["tBib"],"boolField":false,"intField":11,"numField":-526.5831642885588,"objField":{"RtDJrdFL":-4702443644407293155,"UcLqdKN":973079605269888261},"stringDateField":"1903-05-03","stringDateTimeField":"1929-11-23T01:29:23Z","stringField":"BnjosC","stringTimeField":"17:29:15.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":11,"numField":-526.5831642885588,"stringDateField":"1903-05-03","stringDateTimeField":"1929-11-23T01:29:23Z","stringField":"BnjosC","stringTimeField":"17:29:15.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1294,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1294,"uuid":"9de3e439-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["qixBKZ","pNvsQ","NKBA","mrfkQtEPX","xFdsuV","AJxAkaI"],"boolField":true,"intField":487,"numField":204.8652176197272,"objField":{"BtSiMp":965061646938254566,"HKqtVwI":-3513302194011489554,"HvfRB":3998065712220191316,"OfCy":-3169997035209627276,"ieuplSmi":5226181774604627157,"mOoP":8986391171510367679,"oEqhk":4999078800819535174,"qiPJrm":546652175619228809,"reTDRUM":-4707223038386183666},"stringDateField":"1976-07-10","stringDateTimeField":"1963-03-03T10:58:40Z","stringField":"vWgfc","stringTimeField":"13:13:49.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230969Z","intField":487,"numField":204.8652176197272,"stringDateField":"1976-07-10","stringDateTimeField":"1963-03-03T10:58:40Z","stringField":"vWgfc","stringTimeField":"13:13:49.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1295,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1295,"uuid":"9de3e43a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["qeLCYId","oeRqqB","kUqrOE","DQNx","tBoyYrF","jVHnBI"],"boolField":true,"intField":-24,"numField":621.8740708976793,"objField":{"JLGxx":-1083088445852142985,"LaVtEe":7744871353356048055,"ViSYwiiFIh":-2072359756437237159,"cTRyKhGrw":6759299891955262541,"gmKxIbwsWk":-852433016086230247,"ivLrNadVT":-1363222868127006503,"yWGVvPtG":3024538801594594607,"yfbuquoF":-4426806019255359538,"yfrregjSI":-9126222862419850333},"stringDateField":"1971-03-01","stringDateTimeField":"1983-12-31T07:13:33Z","stringField":"iTwkT","stringTimeField":"22:18:36.39Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":-24,"numField":621.8740708976793,"stringDateField":"1971-03-01","stringDateTimeField":"1983-12-31T07:13:33Z","stringField":"iTwkT","stringTimeField":"22:18:36.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1296,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1296,"uuid":"9de3e43a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UBWCCn","RrbFXGmRGQ","PlNtO","bAltKxqOu","TfRKDWA","bQXXAg","dvJNKGeUw"],"boolField":false,"intField":-274,"numField":615.4292499378648,"objField":{"GyGM":2396305589920835113,"HXHlkD":-8982256836521488329,"JfuPPgKt":426667167079142481,"OCrKgvTx":-673802196675264672,"VVQFoFRR":5457509460572892372,"XThAB":-3647343340163501310,"XdwoWhP":-4268526452487366598},"stringDateField":"1939-12-06","stringDateTimeField":"1995-11-11T22:18:08Z","stringField":"jbjwPQv","stringTimeField":"23:45:36.16Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":-274,"numField":615.4292499378648,"stringDateField":"1939-12-06","stringDateTimeField":"1995-11-11T22:18:08Z","stringField":"jbjwPQv","stringTimeField":"23:45:36.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1297,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1297,"uuid":"9de3e43a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["YGJndsdxz","rutFpATl","bWtJ","zuRFcrG"],"boolField":true,"intField":81,"numField":-770.9673048613193,"objField":{"ECOcvlmk":-1610379213572434333,"JmTbBRgrGn":5794988971194339436,"MFBYs":8828425517825747945,"QfpxbblDt":-7796193714934292250,"UceG":-8226078990384834180,"VFctT":7960104528277138401,"gcesfi":6616329720918955416,"xeHkMW":-483313250974879672,"xvdLA":3297814562179327090,"xxkzBEoOgx":-8064433057347123264},"stringDateField":"1903-03-12","stringDateTimeField":"2007-07-09T16:53:44Z","stringField":"gvAGSkf","stringTimeField":"21:25:36.10Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":81,"numField":-770.9673048613193,"stringDateField":"1903-03-12","stringDateTimeField":"2007-07-09T16:53:44Z","stringField":"gvAGSkf","stringTimeField":"21:25:36.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1298,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1298,"uuid":"9de3e43a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["wudGmEoXt","egaGmbjL"],"boolField":true,"intField":-35,"numField":-178.07347476172808,"objField":{"WqGA":-789769324563841921,"YQxXZ":3010314664877464888},"stringDateField":"2012-11-14","stringDateTimeField":"1920-02-19T17:27:45Z","stringField":"QbPGKLTV","stringTimeField":"07:03:15.49Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":-35,"numField":-178.07347476172808,"stringDateField":"2012-11-14","stringDateTimeField":"1920-02-19T17:27:45Z","stringField":"QbPGKLTV","stringTimeField":"07:03:15.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1299,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1299,"uuid":"9de3e43a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["lSULHJVS","kLbGZo","wWlGoPEJcb","OTPG","GqYP","crKEKTI","rEDx","eOcC","kADBxS","xyMBEZQZ"],"boolField":true,"intField":-379,"numField":938.1471090833724,"objField":{"NpXCMIN":1769548541293418446,"awdb":-79925090623025287},"stringDateField":"1997-07-25","stringDateTimeField":"1961-05-16T22:51:43Z","stringField":"HtKYHVu","stringTimeField":"13:03:00.19Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":-379,"numField":938.1471090833724,"stringDateField":"1997-07-25","stringDateTimeField":"1961-05-16T22:51:43Z","stringField":"HtKYHVu","stringTimeField":"13:03:00.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1300,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1300,"uuid":"9de3e43a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["HMWN","Qhny","dUlMz","rtfIxkmP","dVNf","LeIPYGxAWF","BoAcRcb","kwcx","vbmwWX"],"boolField":true,"intField":484,"numField":-240.18134849574255,"objField":{"SVXhf":8289541414967182163,"VdNfyoNmd":-2286054668002142707,"YKIEYRToW":-5236854164707243252,"ejOmvx":-5860103932558680480,"lLEzRekAXi":-28925776410593990,"xyqakpjZ":-1433230475304682129},"stringDateField":"1930-09-28","stringDateTimeField":"1962-06-12T18:38:46Z","stringField":"JlswVURIYR","stringTimeField":"15:24:08.48Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":484,"numField":-240.18134849574255,"stringDateField":"1930-09-28","stringDateTimeField":"1962-06-12T18:38:46Z","stringField":"JlswVURIYR","stringTimeField":"15:24:08.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1301,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1301,"uuid":"9de3e43a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["nvqluN","vXOayRQ","LaoKbdAh","kwIZY","FPALlsOUui","oqVWCTYmAq"],"boolField":true,"intField":-635,"numField":560.3766132696582,"objField":{"BShBsMz":3217312606220523362,"IGcIwjtmpx":2129803490953888318,"PlPRDvFt":-9124294197450292728,"UpUdhkGFu":-1557040559484545255,"VkNVkTXM":-6552837399285139779,"kTJUwKjprJ":-2795783107206755541,"kdRToYwYe":2108684447898654665,"zczT":1802383723472240393},"stringDateField":"2000-12-26","stringDateTimeField":"1932-05-01T02:50:52Z","stringField":"jsbm","stringTimeField":"13:15:56.33Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":-635,"numField":560.3766132696582,"stringDateField":"2000-12-26","stringDateTimeField":"1932-05-01T02:50:52Z","stringField":"jsbm","stringTimeField":"13:15:56.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1302,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1302,"uuid":"9de3e43a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["nmXz","njrgt","jbJZsRrs","hLMDq","AwChef","QLPYv"],"boolField":false,"intField":651,"numField":-707.830879407685,"objField":{"cuokA":-8314885543754983924,"xezHFFCqqI":371085781053170693},"stringDateField":"1921-05-05","stringDateTimeField":"1928-05-21T03:22:54Z","stringField":"sGXRaBJGf","stringTimeField":"11:31:01.47Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":651,"numField":-707.830879407685,"stringDateField":"1921-05-05","stringDateTimeField":"1928-05-21T03:22:54Z","stringField":"sGXRaBJGf","stringTimeField":"11:31:01.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1303,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1303,"uuid":"9de3e43a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["neVIitY","tWLcIsxr","mZUPNsc","sKEOPhsuu","nHzU","pNTJH","bWOzKuc","CHWGtc"],"boolField":true,"intField":809,"numField":-711.0401963031837,"objField":{"DITCfTiI":8780485714368861211,"JLML":3273898426107889093,"TSLQOWaN":-5179048402672666394,"UbhudN":-3968625454083766895,"rnQqznPmt":3006750611816893570},"stringDateField":"1930-01-02","stringDateTimeField":"2002-06-24T04:59:55Z","stringField":"tkym","stringTimeField":"14:44:09.14Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":809,"numField":-711.0401963031837,"stringDateField":"1930-01-02","stringDateTimeField":"2002-06-24T04:59:55Z","stringField":"tkym","stringTimeField":"14:44:09.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1304,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1304,"uuid":"9de3e43a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["sxrW","FqwGsxlG","CRZpfAAe","YqrTuzD","iurNewRzHO","tSLjT","EgpawkVZ","oNIEUye","mPtzjqCEvg","tXhJ"],"boolField":false,"intField":-974,"numField":850.1616803842313,"objField":{"HpxzS":-5194480199486054574,"IFgYv":2427601188887080123,"MHPjj":636832796463105691},"stringDateField":"1989-04-24","stringDateTimeField":"1917-09-19T03:46:39Z","stringField":"CFglbYmL","stringTimeField":"23:49:25.11Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":-974,"numField":850.1616803842313,"stringDateField":"1989-04-24","stringDateTimeField":"1917-09-19T03:46:39Z","stringField":"CFglbYmL","stringTimeField":"23:49:25.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1305,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1305,"uuid":"9de3e43a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["vDThmZRWj","kMivWhW","eEBHYOu","qODCTIXrF","hEjvcfNK","tcdQa","ZZRl"],"boolField":true,"intField":342,"numField":-459.5527836823441,"objField":{"Bstee":9210952658799098421,"JWRxey":-1767736609064194786,"OIEmETJzvP":-6191930479450804208,"Qsyuhj":7901714715100951833,"TtyZl":4131590256009719080,"auLvlOD":2159537107895731073,"nAgtTxuUC":1769435772674974099,"uZsuhMii":-517799021638806805},"stringDateField":"1971-05-14","stringDateTimeField":"2005-07-02T02:15:38Z","stringField":"PwBcABU","stringTimeField":"21:13:20.22Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":342,"numField":-459.5527836823441,"stringDateField":"1971-05-14","stringDateTimeField":"2005-07-02T02:15:38Z","stringField":"PwBcABU","stringTimeField":"21:13:20.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1306,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1306,"uuid":"9de3e43a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["xripbm","cess","IvBDv","djwBRUp","trAg"],"boolField":false,"intField":-686,"numField":-345.9998707320094,"objField":{"SoMbvpDHE":819936196727015061,"abYSJSaiE":5826743739788783722,"eQUBdAjEdY":2021871440554688698,"jrsROY":7089314183711966153,"nGIAIvY":-3521629756809908392},"stringDateField":"2008-10-07","stringDateTimeField":"1946-06-25T08:21:41Z","stringField":"TYBckaot","stringTimeField":"22:06:20.37Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":-686,"numField":-345.9998707320094,"stringDateField":"2008-10-07","stringDateTimeField":"1946-06-25T08:21:41Z","stringField":"TYBckaot","stringTimeField":"22:06:20.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1307,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1307,"uuid":"9de3e43a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["rLdR","fJJVg","SQaJlDW","jaGZ","vNfSTBNJB","ehQrLthPP","LAvL","vXpmgGAO","drLu","orIFjuUKU"],"boolField":true,"intField":-564,"numField":754.0954154366948,"objField":{"CJfyLaU":-8406196129266312623,"EmAuq":-2995275246655578448,"IsmYCdbZL":-4860067850424649300,"dfTXfAVzZ":-8051728081554196361,"fhNFbSK":278179874730526517,"oiil":6001308493806901455,"rNkxFINOY":4450553239745888210,"uCFLOgi":-4729797468234263874,"vobzZkhN":-8918626649988232763},"stringDateField":"2003-05-22","stringDateTimeField":"1926-09-11T22:16:40Z","stringField":"zldpkQdlvY","stringTimeField":"01:42:19.45Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":-564,"numField":754.0954154366948,"stringDateField":"2003-05-22","stringDateTimeField":"1926-09-11T22:16:40Z","stringField":"zldpkQdlvY","stringTimeField":"01:42:19.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1308,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1308,"uuid":"9de3e43a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ZdBK"],"boolField":true,"intField":-770,"numField":14.913117293964053,"objField":{"BASn":-4225260272732124064,"FthQoNGzV":8655645803737838618},"stringDateField":"1904-05-30","stringDateTimeField":"2006-04-25T00:17:31Z","stringField":"sMTAyb","stringTimeField":"02:47:32.10Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":-770,"numField":14.913117293964053,"stringDateField":"1904-05-30","stringDateTimeField":"2006-04-25T00:17:31Z","stringField":"sMTAyb","stringTimeField":"02:47:32.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1309,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1309,"uuid":"9de3e43a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["EjvyKhgGeB","YuPEaJX","JCXk","QrsMUiaBYm","BwNPBtuk","pSVcse","WTjtzC"],"boolField":false,"intField":415,"numField":-410.43155404448794,"objField":{"ABRvPk":6682143097372758222,"LfOBa":3105482874797732338,"MRNZu":6726029097133357979,"oPSulCrJWy":3793312334167364153,"qDKdcrEhH":-7760757088635516786,"vMTL":2009154072125943205,"wmTj":-1668200090953113027},"stringDateField":"2004-01-03","stringDateTimeField":"1937-10-08T19:32:46Z","stringField":"GtLNwOnUjj","stringTimeField":"15:28:02.43Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":415,"numField":-410.43155404448794,"stringDateField":"2004-01-03","stringDateTimeField":"1937-10-08T19:32:46Z","stringField":"GtLNwOnUjj","stringTimeField":"15:28:02.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1310,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1310,"uuid":"9de3e43a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["wDROkssw","QxTCneKDQ","THYI","AcWQop","yJVMQJ"],"boolField":false,"intField":344,"numField":213.89850976887948,"objField":{"EyWXAxTv":894389192230943117,"FJAKEgv":6226635476597069526,"HhAR":6563847642265007333,"KgIJdWff":1863046390306462073,"QTFYJ":7973126691662844269,"RpxZ":-8327346915840817224,"YmisTYR":-3938303788524128980,"ieaCSP":3973899954972442397,"wADXLZavB":-515504397687468521,"zPpEV":8510732921509778335},"stringDateField":"1952-07-30","stringDateTimeField":"1915-08-02T20:41:02Z","stringField":"XzVNzbHx","stringTimeField":"07:44:17.31Z"},"flow_published_at":"2023-09-18T19:00:21.623097Z","intField":344,"numField":213.89850976887948,"stringDateField":"1952-07-30","stringDateTimeField":"1915-08-02T20:41:02Z","stringField":"XzVNzbHx","stringTimeField":"07:44:17.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1311,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1311,"uuid":"9de3e43b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["FOnPEuTJ","HUfjvhr","seHqZ","hqbCLyTOMR"],"boolField":false,"intField":-377,"numField":-935.2329528039754,"objField":{"Egea":5185200604344424626,"Emsji":2519432319336870331,"SMAKKQTZX":-5469291528395297387,"VRkxk":6918831373282290262,"YYIfdAdJD":3074426607504088932,"bsqo":-2278144982856266218,"cFZl":-8198962899339444952,"lhHpr":-5757385869093661606,"oewJ":1044801306839274278,"rlwHKMGYqJ":4087470510513915634},"stringDateField":"1949-10-30","stringDateTimeField":"1905-07-18T03:31:15Z","stringField":"XQpFdEJgLF","stringTimeField":"03:34:56.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":-377,"numField":-935.2329528039754,"stringDateField":"1949-10-30","stringDateTimeField":"1905-07-18T03:31:15Z","stringField":"XQpFdEJgLF","stringTimeField":"03:34:56.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1312,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1312,"uuid":"9de3e43b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["Edoksfx","DvuwvvuPo","TsCFwn","EKELdDF","wPcdsw","wxHWxN","KLzVHv"],"boolField":false,"intField":-442,"numField":-566.3270054896414,"objField":{"AqLxPzdd":7176875356696253950,"JdnuUqHM":8196330492495500959,"ZxzHhtEsaR":224162887951810189,"cKGPyRwZLj":-1298277479310273092,"kVOoE":-5995747263902518252,"kfel":-706245820645679055,"rgWQdJr":3463018859206354000,"xNRTZZo":-1820133238666364710,"zQIimHBSYb":-2451686194093651213},"stringDateField":"2004-08-07","stringDateTimeField":"1933-12-01T09:49:02Z","stringField":"XODIPamlE","stringTimeField":"13:09:32.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":-442,"numField":-566.3270054896414,"stringDateField":"2004-08-07","stringDateTimeField":"1933-12-01T09:49:02Z","stringField":"XODIPamlE","stringTimeField":"13:09:32.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1313,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1313,"uuid":"9de3e43b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["iLZxpUpSxs","gRSQYygNr","haJMhS"],"boolField":false,"intField":463,"numField":764.5033875228299,"objField":{"NGcly":8970429420766809932},"stringDateField":"1959-06-01","stringDateTimeField":"1911-10-02T10:53:26Z","stringField":"aCWwpJ","stringTimeField":"19:52:35.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":463,"numField":764.5033875228299,"stringDateField":"1959-06-01","stringDateTimeField":"1911-10-02T10:53:26Z","stringField":"aCWwpJ","stringTimeField":"19:52:35.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1314,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1314,"uuid":"9de3e43b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["acjvhZt","QPwEsInQj","YrNYaQ","GYJRQ","GvXgSkHGRp","agoqyc","BTTGbuQKWX"],"boolField":true,"intField":205,"numField":981.8090411560116,"objField":{"EoEfdTbia":-2360616860275940081,"RLRZry":-4746579752857533866},"stringDateField":"2020-12-18","stringDateTimeField":"1983-05-26T17:13:44Z","stringField":"UNKAJ","stringTimeField":"21:59:05.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":205,"numField":981.8090411560116,"stringDateField":"2020-12-18","stringDateTimeField":"1983-05-26T17:13:44Z","stringField":"UNKAJ","stringTimeField":"21:59:05.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1315,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1315,"uuid":"9de3e43b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["FYQrHW","bsYOZRcNa","SuhhUXBl","PegulQr","HEXpAou","aBdYzar","WbVR"],"boolField":true,"intField":69,"numField":725.0186392564408,"objField":{"RzhNmjc":-642647935629005867,"Tuei":-3480622879953194244,"YgVdD":-5366438540413619225,"ZDoL":-1536111379817380876,"klWS":-7115796218264101776,"lWlNKRIKMu":-5304515058769990447,"lXaCcKL":-2386282108889787315,"lwQt":-7631373263556363242,"qzAVl":125976337623824418},"stringDateField":"1977-08-20","stringDateTimeField":"1988-01-16T22:49:21Z","stringField":"tmKKLRwFI","stringTimeField":"05:47:45.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":69,"numField":725.0186392564408,"stringDateField":"1977-08-20","stringDateTimeField":"1988-01-16T22:49:21Z","stringField":"tmKKLRwFI","stringTimeField":"05:47:45.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1316,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1316,"uuid":"9de3e43b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["YMTcNWA"],"boolField":true,"intField":-240,"numField":-414.1620902850327,"objField":{"GKJjrxO":-1393863448632963686},"stringDateField":"1973-07-15","stringDateTimeField":"1994-08-19T05:24:25Z","stringField":"PUePwDk","stringTimeField":"17:52:19.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":-240,"numField":-414.1620902850327,"stringDateField":"1973-07-15","stringDateTimeField":"1994-08-19T05:24:25Z","stringField":"PUePwDk","stringTimeField":"17:52:19.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1317,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1317,"uuid":"9de3e43b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["hbXxYxRie","qlqlSGSJ","IMyaUY","DWPt"],"boolField":true,"intField":-311,"numField":958.8616136042398,"objField":{"hBoNtlWD":679453870216854489},"stringDateField":"1964-11-04","stringDateTimeField":"1904-11-08T10:26:37Z","stringField":"FJsCrTjxI","stringTimeField":"22:53:05.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":-311,"numField":958.8616136042398,"stringDateField":"1964-11-04","stringDateTimeField":"1904-11-08T10:26:37Z","stringField":"FJsCrTjxI","stringTimeField":"22:53:05.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1318,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1318,"uuid":"9de3e43b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["PirhwrsgS"],"boolField":true,"intField":828,"numField":994.6465803551145,"objField":{"MFiaEl":-6870056264419394913,"ZnJd":-5063008279350621968,"hDvLj":-1033197718650022728,"jbjhGOX":5493241608137478849,"klJcuG":-1556094433838092326,"orGQT":7332825190375075913},"stringDateField":"1962-02-08","stringDateTimeField":"1971-09-23T10:41:06Z","stringField":"FUhXVq","stringTimeField":"16:53:43.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":828,"numField":994.6465803551145,"stringDateField":"1962-02-08","stringDateTimeField":"1971-09-23T10:41:06Z","stringField":"FUhXVq","stringTimeField":"16:53:43.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1319,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1319,"uuid":"9de3e43b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["DKFB","UDsFu","NkxaVCf","ERzvIQd","EKVHKfGIWU","xVqFrfN"],"boolField":false,"intField":258,"numField":156.08460983674743,"objField":{"FvZShNP":-1697398962286571242,"NAHn":3365226731590567514,"eStzMsClB":-5601370341559341904,"pRlufKex":6103091937879979100,"qJSuuHd":4593252985866130047,"yasqG":-2583038547674650239},"stringDateField":"1912-04-24","stringDateTimeField":"2022-02-08T03:22:04Z","stringField":"pTJc","stringTimeField":"07:43:45.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":258,"numField":156.08460983674743,"stringDateField":"1912-04-24","stringDateTimeField":"2022-02-08T03:22:04Z","stringField":"pTJc","stringTimeField":"07:43:45.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1320,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1320,"uuid":"9de3e43b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["dKbAIZH","GKmbzoUJH","dPtCEIyNW","DsdMhzULK","tdlnw","ErnjrKLPGQ","vGaMnumBlj","hFPhe","XuGUxx"],"boolField":false,"intField":-371,"numField":-990.1191851694832,"objField":{"AVnC":7297962558385245397,"Hjpb":6558309265571457443,"ezOhXQOV":3739248698455321002,"fJIF":-1389230568823631514,"pRJyY":9053962455666615671,"vFNKHEZSZD":-3298800979184664263},"stringDateField":"2002-09-07","stringDateTimeField":"2017-03-05T21:04:17Z","stringField":"hDjLSu","stringTimeField":"10:56:31.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":-371,"numField":-990.1191851694832,"stringDateField":"2002-09-07","stringDateTimeField":"2017-03-05T21:04:17Z","stringField":"hDjLSu","stringTimeField":"10:56:31.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1321,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1321,"uuid":"9de3e43b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["OVsyeeA","bltbCdonxT","CablLhH","sRqdcWPw","DlMhkwkKR","jRAAhs","moCCI","GdweWcffA","tBWqarZZfh","rsFSldPFZp"],"boolField":false,"intField":159,"numField":-132.05070970623345,"objField":{"ByFa":2230003617431520765,"CgKzCF":5721957583976951265,"DLljC":1403051583233733632,"biKzfeJL":809339787976269185,"eSnD":5901591197483594008,"einUufMj":2847564362877343242,"ioIDc":-912186344605736028,"lkeVdPsHr":-8245341024349013697,"oNZSYKWoL":5891194521467034959},"stringDateField":"2013-09-01","stringDateTimeField":"1933-09-26T05:21:08Z","stringField":"DWzUyXZt","stringTimeField":"13:47:55.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":159,"numField":-132.05070970623345,"stringDateField":"2013-09-01","stringDateTimeField":"1933-09-26T05:21:08Z","stringField":"DWzUyXZt","stringTimeField":"13:47:55.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1322,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1322,"uuid":"9de3e43b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["rOtyu","rFntS","lCifxQzmRz","jCIXW","mTRzYvtZAR","AqcjfqIBlU","rFniWPvJV","bXfl","HoFdZB","tOSmEC"],"boolField":true,"intField":426,"numField":418.71426223759346,"objField":{"YusUFWkM":8328391084459584223},"stringDateField":"1906-11-04","stringDateTimeField":"1939-02-05T22:27:31Z","stringField":"JAgqFijm","stringTimeField":"03:57:20.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":426,"numField":418.71426223759346,"stringDateField":"1906-11-04","stringDateTimeField":"1939-02-05T22:27:31Z","stringField":"JAgqFijm","stringTimeField":"03:57:20.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1323,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1323,"uuid":"9de3e43b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["MuyzwpAWY","UKwb","UXHFrgZ","duLUFon","aBYl","gvohZe","tcOgtJgw","VUsNNxdZp","pDcGZXxUyB"],"boolField":false,"intField":-449,"numField":997.5410426826286,"objField":{"AnZgM":-212602660707624481,"BZISnCeSGK":501378542941837787,"EfwCrlU":3919479350305377255,"VszSCkEVm":-3984197574203676544,"dlDebTgDcA":-2486055681816900415,"icyoL":5942641304236742614,"lsXPMDTSII":3817549783564121289,"mVhHzI":-3597326448331202389,"sFzinWzlab":34823754848363467},"stringDateField":"1948-05-23","stringDateTimeField":"1906-02-07T13:09:30Z","stringField":"IwqLP","stringTimeField":"15:28:08.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":-449,"numField":997.5410426826286,"stringDateField":"1948-05-23","stringDateTimeField":"1906-02-07T13:09:30Z","stringField":"IwqLP","stringTimeField":"15:28:08.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1324,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1324,"uuid":"9de3e43b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["GUkSVmvDhd","afxg","xuBCmto"],"boolField":false,"intField":161,"numField":-977.2399037844428,"objField":{"CnfiSdNhn":1644297402705219552,"KUURjjk":4028741116123184109,"VXpobeFPUj":9010101766626630294,"WAdEmKWY":-2931135102176190432,"bGceJF":9067964275212139967,"eEkDjEsWa":-1667166815664086760,"mkCFTA":1444367045236495203},"stringDateField":"1921-04-10","stringDateTimeField":"1901-01-27T15:58:29Z","stringField":"RtnXBp","stringTimeField":"04:16:02.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":161,"numField":-977.2399037844428,"stringDateField":"1921-04-10","stringDateTimeField":"1901-01-27T15:58:29Z","stringField":"RtnXBp","stringTimeField":"04:16:02.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1325,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1325,"uuid":"9de3e43b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["mDRM","jSiSUMS","zqRp","cvRiarByDi","YYDN","ZyWLRu","OEMiDtXGxa","rttXPxGKPI","aRKSHOg"],"boolField":true,"intField":-570,"numField":985.7549256255656,"objField":{"CdRxCJ":-9190224601762647459,"MpEKRdY":8293275055513558980,"ludWBQCRby":7385587389281296149,"nItck":8077486364282381747,"qWywAVkT":-6323894378562418087},"stringDateField":"2002-04-01","stringDateTimeField":"1989-01-22T17:15:02Z","stringField":"SAzEjaApC","stringTimeField":"17:18:15.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":-570,"numField":985.7549256255656,"stringDateField":"2002-04-01","stringDateTimeField":"1989-01-22T17:15:02Z","stringField":"SAzEjaApC","stringTimeField":"17:18:15.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1326,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1326,"uuid":"9de3e43b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ZfThyWMg","WtlYXM","CRINz","acdP","HketWF","zwSLtqtdaD","YBSHB"],"boolField":false,"intField":-985,"numField":-240.79225412986472,"objField":{"FGdjWD":-522689341073420982,"JustGKVIOP":-691537682358425457,"MaaD":-1232485529832698353,"NqskS":598159245439762747,"WwgwUPd":7099483122004979151,"eCBkSK":7217227180137725142,"jVnTgBpcr":3847951081175902259,"vLzpe":-7740571552046093127},"stringDateField":"1912-07-16","stringDateTimeField":"1982-09-01T12:53:37Z","stringField":"SvEFqdxKvJ","stringTimeField":"03:51:38.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230971Z","intField":-985,"numField":-240.79225412986472,"stringDateField":"1912-07-16","stringDateTimeField":"1982-09-01T12:53:37Z","stringField":"SvEFqdxKvJ","stringTimeField":"03:51:38.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1327,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1327,"uuid":"9de3e43c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PwyhW","SyzjHdW","WjcN","DHTJaoqxF","pcGMHpFO","GcDvFIlpF","zcppMJyfoY","cyajpAAyH"],"boolField":true,"intField":336,"numField":695.1658017103504,"objField":{"BTavCecxqf":-9207915604477322332,"drdApzCRc":6731681382490478737,"owuI":-2690093840145279900,"wMpIU":-5448590534908119645},"stringDateField":"2003-10-08","stringDateTimeField":"1996-11-13T17:20:33Z","stringField":"mPKT","stringTimeField":"09:53:50.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":336,"numField":695.1658017103504,"stringDateField":"2003-10-08","stringDateTimeField":"1996-11-13T17:20:33Z","stringField":"mPKT","stringTimeField":"09:53:50.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1328,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1328,"uuid":"9de3e43c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["gPFW","qXYb","DMgkrbPBqh","sttY","bXGixRoRc","qMHiin","qVRD"],"boolField":false,"intField":291,"numField":80.5196031246005,"objField":{"DYKEqWqVz":8743038563521201378,"PRmn":2442095424013046722,"SQBOXL":126034648645256371,"bONCOAlSp":-4845323819379262520,"rpoy":-192776717740191901},"stringDateField":"2000-09-21","stringDateTimeField":"1985-08-18T23:20:30Z","stringField":"iHgYpz","stringTimeField":"18:30:46.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":291,"numField":80.5196031246005,"stringDateField":"2000-09-21","stringDateTimeField":"1985-08-18T23:20:30Z","stringField":"iHgYpz","stringTimeField":"18:30:46.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1329,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1329,"uuid":"9de3e43c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["dKai","LxzNatdi","vPxBEqBruI","yCbAHD","EaQgEll"],"boolField":false,"intField":-18,"numField":364.06773990780783,"objField":{"EMBjr":-1864081910023013866,"PdTsm":3165134756601619729,"VzhatjO":4349316513583844761,"WmLcUyIwvR":8348645367634703382,"cOnaP":-1316305854031322794,"hUvpaniWVR":-6715866093899843032,"wKLYnCOzig":2070151649529589242,"wkMs":-7955111730403564356},"stringDateField":"1992-03-16","stringDateTimeField":"1919-10-21T21:12:21Z","stringField":"cQau","stringTimeField":"17:55:40.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":-18,"numField":364.06773990780783,"stringDateField":"1992-03-16","stringDateTimeField":"1919-10-21T21:12:21Z","stringField":"cQau","stringTimeField":"17:55:40.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1330,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1330,"uuid":"9de3e43c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["MlJfGItOj"],"boolField":false,"intField":-401,"numField":-341.6887096451191,"objField":{"qwwceK":5000059830249292179},"stringDateField":"1922-04-05","stringDateTimeField":"1901-07-10T18:45:51Z","stringField":"XDQgIg","stringTimeField":"22:22:29.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":-401,"numField":-341.6887096451191,"stringDateField":"1922-04-05","stringDateTimeField":"1901-07-10T18:45:51Z","stringField":"XDQgIg","stringTimeField":"22:22:29.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1331,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1331,"uuid":"9de3e43c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["vJjwSYQzIH","OKuCqI","sHJKhLnneQ","MOIHOpDmW"],"boolField":false,"intField":104,"numField":129.58914521712762,"objField":{"CeDcv":-3474281433915172272,"DlLtTYDlY":6785337088102726092,"OsLRvAaZ":-6190909362813774494,"PPAuLrgjCb":-5448357872307768889,"XgiojimCad":-7459337002074456151,"cYwDM":1121503732684935068,"cbDKphTK":2274087965632275608,"ofiwJ":-7795370235366667177},"stringDateField":"1987-04-30","stringDateTimeField":"1918-05-01T01:39:56Z","stringField":"Bagof","stringTimeField":"05:11:03.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":104,"numField":129.58914521712762,"stringDateField":"1987-04-30","stringDateTimeField":"1918-05-01T01:39:56Z","stringField":"Bagof","stringTimeField":"05:11:03.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1332,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1332,"uuid":"9de3e43c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["tPyIqtL","gNvfhQ"],"boolField":true,"intField":705,"numField":323.3215971180492,"objField":{"CxoVBIJNu":4354088747013742108,"GTGbFP":4051904427078755978,"KAflsDD":-834022448534450037,"NlHHTE":4475154777266244718,"hRPP":8177849298472370272,"kMIE":-5810900359758667118,"uYooG":-787821777673005866,"urMbFO":3179949597869639048,"zDcx":5924190961339323129},"stringDateField":"1904-09-01","stringDateTimeField":"1944-05-17T22:22:07Z","stringField":"kNOSo","stringTimeField":"06:56:03.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":705,"numField":323.3215971180492,"stringDateField":"1904-09-01","stringDateTimeField":"1944-05-17T22:22:07Z","stringField":"kNOSo","stringTimeField":"06:56:03.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1333,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1333,"uuid":"9de3e43c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["BGzHza","WsEewCzD","Qlkld","BirDxPUY","cDyqJ","jrlKaw","kLfwvYgJ","KgxMqYx","TIFFTu","UgAnYtxXLH"],"boolField":false,"intField":-332,"numField":-816.372855957601,"objField":{"FSqL":-8568995919536800729,"ggrc":-4035279096560288940,"jKaZVUlgED":-2199682666212172586,"oHFdvCuW":7896921744663996911,"rWzHDJirNN":3235026063263226215,"ycZoBqCEJT":-3469012256152511887,"zcjPl":2423830873764449107},"stringDateField":"1900-05-16","stringDateTimeField":"2012-02-05T22:08:25Z","stringField":"OcHD","stringTimeField":"07:52:15.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":-332,"numField":-816.372855957601,"stringDateField":"1900-05-16","stringDateTimeField":"2012-02-05T22:08:25Z","stringField":"OcHD","stringTimeField":"07:52:15.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1334,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1334,"uuid":"9de3e43c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["JIGTMI","HrFzGy","OFurZ","wZDXn","dYXdgvfQbm","BKWym","QVgv","nMoacpeHn","QHrdjXbILt","EdyBbs"],"boolField":false,"intField":-647,"numField":734.173707486119,"objField":{"VRWnDBkB":6872555318244864745,"rUPEmOtyNh":-6438700094554852026,"roSLQ":-6430563330172518629},"stringDateField":"2010-06-04","stringDateTimeField":"1995-04-27T10:37:04Z","stringField":"fHgtaIg","stringTimeField":"23:44:37.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":-647,"numField":734.173707486119,"stringDateField":"2010-06-04","stringDateTimeField":"1995-04-27T10:37:04Z","stringField":"fHgtaIg","stringTimeField":"23:44:37.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1335,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1335,"uuid":"9de3e43c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["QrIrlmRe","mLOkgcE","eirUFLUpm","bzorrWEZ","ggvrD","jvGWNf","htXk"],"boolField":true,"intField":797,"numField":345.41619581508144,"objField":{"DKczNKVuu":5875619312763419945,"QHloEu":-3201851258941632328,"Sjbe":-4825636094686662137,"fZue":-3226235231941940732,"gVcFkLG":121889623296428016,"wNyOi":-8281277242779288072},"stringDateField":"1912-08-12","stringDateTimeField":"1916-05-26T02:13:07Z","stringField":"eAdhLHSmUV","stringTimeField":"13:57:28.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":797,"numField":345.41619581508144,"stringDateField":"1912-08-12","stringDateTimeField":"1916-05-26T02:13:07Z","stringField":"eAdhLHSmUV","stringTimeField":"13:57:28.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1336,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1336,"uuid":"9de3e43c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["tJIEEz","pqMnV","wYOeMUAyIx","moEdk","vaSayb","FXlrHYDk","wNRmjVZXG","ZbnWa","vqLW","ACPWh"],"boolField":true,"intField":-296,"numField":-6.203499551898806,"objField":{"EYnaQAow":-1604703418004205769,"FKHFQsovX":1322091079550433015,"MEPwP":4504572216042422742,"SMxrfJxTRM":7554997443542860797,"WCiKBLyoo":-2594300921619331361,"awVXkWf":-1253847971827486956,"ilyHOzaY":4619658935474933451,"oKalZnSHv":4605213073174919302,"vbOkfJpp":5787760344975348588,"zDeh":7957733553260830434},"stringDateField":"1965-04-01","stringDateTimeField":"1901-12-18T06:58:52Z","stringField":"jZwHf","stringTimeField":"07:35:19.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":-296,"numField":-6.203499551898806,"stringDateField":"1965-04-01","stringDateTimeField":"1901-12-18T06:58:52Z","stringField":"jZwHf","stringTimeField":"07:35:19.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1337,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1337,"uuid":"9de3e43c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["yhHpe"],"boolField":false,"intField":-706,"numField":63.39524084757886,"objField":{"HCjXM":2564812254334411308,"hriVgWYlV":2276001421766682159},"stringDateField":"1924-06-28","stringDateTimeField":"1929-05-11T13:25:43Z","stringField":"fcopX","stringTimeField":"03:06:21.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":-706,"numField":63.39524084757886,"stringDateField":"1924-06-28","stringDateTimeField":"1929-05-11T13:25:43Z","stringField":"fcopX","stringTimeField":"03:06:21.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1338,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1338,"uuid":"9de3e43c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["WTwGYDVXf","xklJWbW","nBDEnxzB","ummXobzj","CcOPMF","ejXjxIM","zVIHpL","TXRNyFQz"],"boolField":false,"intField":586,"numField":-930.496903953858,"objField":{"IAHv":8677204526078365892},"stringDateField":"1994-03-05","stringDateTimeField":"1939-05-01T02:39:00Z","stringField":"DIriG","stringTimeField":"19:46:27.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":586,"numField":-930.496903953858,"stringDateField":"1994-03-05","stringDateTimeField":"1939-05-01T02:39:00Z","stringField":"DIriG","stringTimeField":"19:46:27.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1339,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1339,"uuid":"9de3e43c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["McUGzN","dMEm","ChbmggsoCs","TRvjtCGVb","HDwoxR","SzRXZJGwD","hMydYcKB"],"boolField":true,"intField":-972,"numField":777.1886502530674,"objField":{"UrzrOVKQ":-1996454280180432262},"stringDateField":"2001-06-29","stringDateTimeField":"2001-12-14T03:03:14Z","stringField":"rCua","stringTimeField":"20:34:30.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":-972,"numField":777.1886502530674,"stringDateField":"2001-06-29","stringDateTimeField":"2001-12-14T03:03:14Z","stringField":"rCua","stringTimeField":"20:34:30.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1340,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1340,"uuid":"9de3e43c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["gjwdmv","UmlLbw","rrvJqtsLBU","fcQsFwnjab","QwFiTqNU","oTIluVNL","FCBrR"],"boolField":true,"intField":529,"numField":932.2617193574148,"objField":{"KkDBBlpr":3172881708393142624,"OebYwn":2527883451813240112,"eULSCMdvKV":7698645253763716352,"jtqpOSwV":-1614962094792364673,"mSKdBEm":801388427072403976,"npvqORAN":1622032904906812709,"ujKeFqgFBK":-6990213869232779592},"stringDateField":"2007-01-07","stringDateTimeField":"1994-04-17T01:44:36Z","stringField":"MTZmNWrR","stringTimeField":"07:49:32.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":529,"numField":932.2617193574148,"stringDateField":"2007-01-07","stringDateTimeField":"1994-04-17T01:44:36Z","stringField":"MTZmNWrR","stringTimeField":"07:49:32.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1341,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1341,"uuid":"9de3e43c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["tMRLRq","dfBKJQTK"],"boolField":true,"intField":860,"numField":791.0955339945253,"objField":{"AVZtGSiLsK":-8957018279373505584,"TvfsFtTjE":-3254936684879470440,"aFywzcA":1170861108781231963,"hjPtOmcN":-8224659969804805650,"sVlYAaHjPV":3897182641376470786},"stringDateField":"1918-01-07","stringDateTimeField":"1985-04-12T04:14:17Z","stringField":"AvDcpm","stringTimeField":"21:28:17.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":860,"numField":791.0955339945253,"stringDateField":"1918-01-07","stringDateTimeField":"1985-04-12T04:14:17Z","stringField":"AvDcpm","stringTimeField":"21:28:17.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1342,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1342,"uuid":"9de3e43c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["oSRmr","wKSb","VDVl","DJac","LisF","togVTXWc"],"boolField":false,"intField":77,"numField":-745.1665517364065,"objField":{"Lvdbc":290916544451768343,"VThIqkfA":2557741136406750324,"hCMje":1100533717036197424,"rLdR":1629493794594769962,"tupd":-2887385621684582467},"stringDateField":"2012-09-11","stringDateTimeField":"2022-08-04T19:06:48Z","stringField":"RMcNy","stringTimeField":"12:08:28.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230972Z","intField":77,"numField":-745.1665517364065,"stringDateField":"2012-09-11","stringDateTimeField":"2022-08-04T19:06:48Z","stringField":"RMcNy","stringTimeField":"12:08:28.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1343,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1343,"uuid":"9de3e43d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["URffqOeVT","CJBLf","kGsztVECln","UKdONSwAWW","nKmwUBTIh","wLkzmdE","OmFkVB"],"boolField":true,"intField":-80,"numField":809.8162844644829,"objField":{"lsUQhoE":-6904596756672173812},"stringDateField":"1959-08-09","stringDateTimeField":"2013-01-05T22:03:18Z","stringField":"PkBYeTKiBa","stringTimeField":"07:08:33.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":-80,"numField":809.8162844644829,"stringDateField":"1959-08-09","stringDateTimeField":"2013-01-05T22:03:18Z","stringField":"PkBYeTKiBa","stringTimeField":"07:08:33.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1344,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1344,"uuid":"9de3e43d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["DKjB","MHkvSe","ADtwbf","jtWkG","bzIiaZ"],"boolField":true,"intField":585,"numField":966.217674659798,"objField":{"WAfBrbcTBD":2383934406431466401,"WcOPwfNRNX":-4195810194678765254,"rSwWcBO":-3953258566026845708},"stringDateField":"1923-11-03","stringDateTimeField":"1976-01-05T19:12:58Z","stringField":"oZdoDv","stringTimeField":"01:07:56.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":585,"numField":966.217674659798,"stringDateField":"1923-11-03","stringDateTimeField":"1976-01-05T19:12:58Z","stringField":"oZdoDv","stringTimeField":"01:07:56.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1345,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1345,"uuid":"9de3e43d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["SXxDFFPl","CfMoDWOWiI","oQpDjyF","GWUMOMaQve","EaYKwxF","QketX","LpGIZrDLjo","SUuNIJYwC"],"boolField":false,"intField":810,"numField":440.1497994147554,"objField":{"RrYWpc":5825289126960268828,"RzVqUp":-5476350107136822804,"XUXBLuC":-9190260183221634622,"chnfBPC":5453165984805272041,"jODBXcqPLS":7576931823236500169,"sJzL":5317536216211280675,"vOWP":1850907009108809542,"wZqLmZIVny":-4420243365344696854,"xkwOWBr":-3122348639209494186,"xrIUEUYG":-1498577760840854995},"stringDateField":"1956-12-20","stringDateTimeField":"1997-09-23T23:15:22Z","stringField":"CatC","stringTimeField":"11:00:45.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":810,"numField":440.1497994147554,"stringDateField":"1956-12-20","stringDateTimeField":"1997-09-23T23:15:22Z","stringField":"CatC","stringTimeField":"11:00:45.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1346,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1346,"uuid":"9de3e43d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["QcoaOyT"],"boolField":false,"intField":665,"numField":19.757247502306896,"objField":{"ZPYqEg":-6912251557846160146},"stringDateField":"1986-02-18","stringDateTimeField":"1988-08-08T21:34:46Z","stringField":"ANuNruy","stringTimeField":"13:13:39.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":665,"numField":19.757247502306896,"stringDateField":"1986-02-18","stringDateTimeField":"1988-08-08T21:34:46Z","stringField":"ANuNruy","stringTimeField":"13:13:39.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1347,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1347,"uuid":"9de3e43d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["amPzk","lDZEqrlno","ofJHys","KXoJrjay","SEBJ","lCvVqHrN"],"boolField":true,"intField":-433,"numField":-194.23208702198735,"objField":{"GxIOO":1145495386358840536,"oCLBKpr":-6450412491252491228},"stringDateField":"2013-11-18","stringDateTimeField":"1965-01-20T17:16:29Z","stringField":"EIIcRaqnia","stringTimeField":"05:27:23.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":-433,"numField":-194.23208702198735,"stringDateField":"2013-11-18","stringDateTimeField":"1965-01-20T17:16:29Z","stringField":"EIIcRaqnia","stringTimeField":"05:27:23.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1348,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1348,"uuid":"9de3e43d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["PgbVstfX","FoHdl","xFYbv","grvkFe","USOZSoKKQD"],"boolField":true,"intField":-831,"numField":628.5062641732521,"objField":{"HxZzvUGFz":4017000760531232734,"cMtuUvBMf":-7876354298861242154,"esnb":2845444945054780582,"frwCD":-4874162026788266609,"gWjgpdpA":365696171088797953,"sBJvsaWl":2662505944984466796},"stringDateField":"1990-07-06","stringDateTimeField":"1977-06-18T23:30:49Z","stringField":"hQqCS","stringTimeField":"01:32:40.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":-831,"numField":628.5062641732521,"stringDateField":"1990-07-06","stringDateTimeField":"1977-06-18T23:30:49Z","stringField":"hQqCS","stringTimeField":"01:32:40.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1349,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1349,"uuid":"9de3e43d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["lIyXTo","Irxeav","oooeJDP"],"boolField":true,"intField":-494,"numField":-476.48480237229086,"objField":{"PurOufpo":6108337697190746439,"avffFizWrE":-5618305111442549546,"rZpPkj":-4431237467854270971},"stringDateField":"2003-02-09","stringDateTimeField":"2017-10-25T12:35:52Z","stringField":"AYmd","stringTimeField":"08:13:48.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":-494,"numField":-476.48480237229086,"stringDateField":"2003-02-09","stringDateTimeField":"2017-10-25T12:35:52Z","stringField":"AYmd","stringTimeField":"08:13:48.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1350,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1350,"uuid":"9de3e43d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ACOGs","gWBbzDK","flwsvNBfs","vQgZEQZET","WuoRNJY","LIBpPPDe","AWfvlas","wstTkrCT","mqLexAe","ORePeSfkin"],"boolField":false,"intField":-337,"numField":-101.36291508680108,"objField":{"CGvNonE":-7344858536078799472,"NPIw":5108312660284162668,"SnwIv":-6596731922993046574,"aiBgDEex":-8952100057964093823,"rFOsfOq":693658884414419574,"rPOC":-8847633611454729707,"vkiTfQcqp":-1064455780872454085,"wyUGgGnGe":-8746102987352207518},"stringDateField":"1928-12-06","stringDateTimeField":"1935-10-29T01:27:52Z","stringField":"GupMAbiLUe","stringTimeField":"03:59:57.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":-337,"numField":-101.36291508680108,"stringDateField":"1928-12-06","stringDateTimeField":"1935-10-29T01:27:52Z","stringField":"GupMAbiLUe","stringTimeField":"03:59:57.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1351,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1351,"uuid":"9de3e43d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ziwfhWG","sbqaPjddwf","nnlbRWRAxA","yeTsGrd","ObNm","YbHiUgzut","fDOxp"],"boolField":true,"intField":303,"numField":283.54844420934745,"objField":{"KEmi":-6219192638487996723},"stringDateField":"1989-01-20","stringDateTimeField":"1987-05-19T01:26:12Z","stringField":"latlA","stringTimeField":"02:39:49.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":303,"numField":283.54844420934745,"stringDateField":"1989-01-20","stringDateTimeField":"1987-05-19T01:26:12Z","stringField":"latlA","stringTimeField":"02:39:49.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1352,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1352,"uuid":"9de3e43d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["yIgsKo"],"boolField":false,"intField":-865,"numField":-750.2426661008835,"objField":{"AeqFO":-7352002098633439963,"JaLBy":7363002825293707437,"MztWoEeM":3045272865561638847,"NWuOZKHALx":-6936163162882367829,"TqxXZD":1467881511662491824,"gtPYBJ":-540417099645651420,"qVmM":2302681185589076279,"vwabSfPmVK":8929534244840542289},"stringDateField":"1949-07-01","stringDateTimeField":"1922-01-11T20:55:02Z","stringField":"mmNNx","stringTimeField":"21:08:59.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":-865,"numField":-750.2426661008835,"stringDateField":"1949-07-01","stringDateTimeField":"1922-01-11T20:55:02Z","stringField":"mmNNx","stringTimeField":"21:08:59.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1353,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1353,"uuid":"9de3e43d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["BbSfNLazNR","SDlLwGrcP","eLgarxy","vxJjltAEDE","VFiKPGloAF"],"boolField":false,"intField":-171,"numField":-153.9873741844412,"objField":{"SNFaQR":-2521830235241747766,"SUKNppMLuO":-8434509178701150304,"cyoI":3808117446849535605,"dIXhYCmCKR":6639574958444397864,"eEORbHXMp":7919482412588195951,"ndfWn":8075440141249640581},"stringDateField":"1901-11-16","stringDateTimeField":"1938-09-10T19:38:01Z","stringField":"aXIcYDJTcK","stringTimeField":"14:41:43.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":-171,"numField":-153.9873741844412,"stringDateField":"1901-11-16","stringDateTimeField":"1938-09-10T19:38:01Z","stringField":"aXIcYDJTcK","stringTimeField":"14:41:43.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1354,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1354,"uuid":"9de3e43d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["WgBs","vPtxJADqjb","MremBBHZd","mMxdLRF","jiifZ","dQzgzfU","QhtATtc","mteTH","QoljGSsmRs"],"boolField":true,"intField":-544,"numField":25.663547706345604,"objField":{"QzCaTA":-5736401889051190035,"VOWEqORJ":-918688522549752544,"XeuUcZw":137268443394674930},"stringDateField":"2015-04-11","stringDateTimeField":"1932-11-23T05:16:08Z","stringField":"UxMuFkDLZ","stringTimeField":"07:01:58.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":-544,"numField":25.663547706345604,"stringDateField":"2015-04-11","stringDateTimeField":"1932-11-23T05:16:08Z","stringField":"UxMuFkDLZ","stringTimeField":"07:01:58.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1355,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1355,"uuid":"9de3e43d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["XvSx","rJOC","cWNJFfGuDB","NDbXgOW","qDQRJi","XOfgYwTBMV","kjYjHd","FRvhZw","PpWCE"],"boolField":false,"intField":-624,"numField":-643.6808414276243,"objField":{"FtFhYUEznZ":-6247217001588337069,"VUlJEC":-7718476067832121547,"cEGhAj":-5631810320266868419,"hxLiWPP":4138734149227771171,"tPnfwvbaa":5798013284206210447,"ydtCz":-2405266080492716318},"stringDateField":"1933-07-25","stringDateTimeField":"2000-11-03T02:08:18Z","stringField":"nqSGNjH","stringTimeField":"05:22:39.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":-624,"numField":-643.6808414276243,"stringDateField":"1933-07-25","stringDateTimeField":"2000-11-03T02:08:18Z","stringField":"nqSGNjH","stringTimeField":"05:22:39.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1356,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1356,"uuid":"9de3e43d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["dlQL"],"boolField":false,"intField":-818,"numField":-525.416716578003,"objField":{"DutVJXKFx":-5992910745074722641,"PXBRYs":-3935522025827544166,"TgrTvrcxN":-7025032334012663947,"hvxc":6827599982262653445,"jLmCxKFprX":5020602645141570600,"lZZX":5102638613696276122,"qTmf":-6361699765829976409},"stringDateField":"2014-05-23","stringDateTimeField":"2006-07-30T21:42:55Z","stringField":"BXhTtGvA","stringTimeField":"09:29:06.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":-818,"numField":-525.416716578003,"stringDateField":"2014-05-23","stringDateTimeField":"2006-07-30T21:42:55Z","stringField":"BXhTtGvA","stringTimeField":"09:29:06.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1357,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1357,"uuid":"9de3e43d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["kRjvfKrVNk","JtJUuRCUd","JapwLUPGk","BfzYaPAIzY","GjzihOip","GMHeJHn","ubjPmCxZL","cwvFMjqV","jbrMEni","KuQZL"],"boolField":false,"intField":-292,"numField":266.30652674860625,"objField":{"HqcdD":-479015897708594244,"ImFJzvA":4318553386711284517,"Qbfip":385690683259004658,"eoCnPTtlsr":-6165651795459210748,"rASLw":-3168011760896627431,"uqJUtFDFLM":8674419968745180307,"yCdpqoJD":8107049653047795344},"stringDateField":"1919-04-24","stringDateTimeField":"1960-11-17T08:48:05Z","stringField":"tYmNQAVYc","stringTimeField":"16:44:44.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":-292,"numField":266.30652674860625,"stringDateField":"1919-04-24","stringDateTimeField":"1960-11-17T08:48:05Z","stringField":"tYmNQAVYc","stringTimeField":"16:44:44.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1358,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1358,"uuid":"9de3e43d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["QOqkNmr","exlVTf","VvknF","yNzV","bQvgNxx"],"boolField":false,"intField":585,"numField":-74.84266758370339,"objField":{"ANVFK":6368241219997592745,"BghRKrkL":-6270776786994219986,"FCmmqCGg":-790057848765759568,"TezB":720511470618012777,"Trpxb":6545752018840193353,"dWqnQGK":6762144362844113164,"kMLDpa":7531691004932120905,"oGICDXFQQ":-392754219940933507,"rxLMOceCJ":-4622710595317921973},"stringDateField":"1989-09-01","stringDateTimeField":"1970-11-17T20:40:42Z","stringField":"mBEQtTv","stringTimeField":"20:50:52.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230973Z","intField":585,"numField":-74.84266758370339,"stringDateField":"1989-09-01","stringDateTimeField":"1970-11-17T20:40:42Z","stringField":"mBEQtTv","stringTimeField":"20:50:52.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1359,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1359,"uuid":"9de3e43e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ZMeSXI","IpZOeJRhBg","SkLSRj"],"boolField":false,"intField":-880,"numField":734.2813238507872,"objField":{"ItjJ":-128923376708065152,"MbAHj":6299518778217237864,"TxYWBgfj":-2182439554996124894,"culN":4854608803700769738},"stringDateField":"1944-08-31","stringDateTimeField":"1997-02-12T12:26:49Z","stringField":"BNweNWRAvN","stringTimeField":"22:37:47.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":-880,"numField":734.2813238507872,"stringDateField":"1944-08-31","stringDateTimeField":"1997-02-12T12:26:49Z","stringField":"BNweNWRAvN","stringTimeField":"22:37:47.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1360,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1360,"uuid":"9de3e43e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["fOOzww","gNwsz","rhjuOHx","MHYJxuG","HJoig","nfBEImsh","eLOz","NZxKmpsL"],"boolField":true,"intField":295,"numField":212.1022417777343,"objField":{"BPYMH":6011589473698876898,"NcKJMU":-1625282373448078933,"PAem":-6584986219030578861,"eWeFMfRczM":-7835816305737484925,"fTPR":418281218724449663,"iyWfZi":4554856017019630865,"lWBaCzbkCs":2217127682418784755,"mErfH":-8961455137947719060,"xPspvwiEKv":6916736030619160800,"xhejgHe":-1649757180862337367},"stringDateField":"1913-05-11","stringDateTimeField":"2023-07-15T17:03:49Z","stringField":"uYinsn","stringTimeField":"20:27:28.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":295,"numField":212.1022417777343,"stringDateField":"1913-05-11","stringDateTimeField":"2023-07-15T17:03:49Z","stringField":"uYinsn","stringTimeField":"20:27:28.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1361,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1361,"uuid":"9de3e43e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ScZXqURd","wyPy","dwcDtSFxLN"],"boolField":false,"intField":-528,"numField":-740.3099793137171,"objField":{"DAQWWNo":-4785635666268034502,"MLbGOGrM":6224091466166993612,"OIlfXfuu":4610883485890472245,"QMduZd":1701042463859901256,"VXtKYe":-1129403370064028313,"hSkDEd":-4032892534336870401,"nqbmmC":-476903025162729317,"pQkGxBfOkX":-7616924134186351471},"stringDateField":"1905-01-20","stringDateTimeField":"1959-10-10T15:57:26Z","stringField":"VDUok","stringTimeField":"02:02:38.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":-528,"numField":-740.3099793137171,"stringDateField":"1905-01-20","stringDateTimeField":"1959-10-10T15:57:26Z","stringField":"VDUok","stringTimeField":"02:02:38.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1362,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1362,"uuid":"9de3e43e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["WZUcs","wZKK","GCkFRPs","wERXAKMm","LmDlHLVDMU","mVrQ"],"boolField":true,"intField":874,"numField":390.00182933245367,"objField":{"Fuuayh":2411479856835834518,"GGgCU":-4948912142901929823,"OIBTu":7503430742652376537,"VnovQjW":-6343885460815128834,"VtNO":-6754589869668834390,"amAmfsYs":1689223688636079213,"itKo":1828743238247619439,"qRoMO":-8397553175410795808,"tMVmSNp":951986842227221008,"vgKZHsy":-201251311480608844},"stringDateField":"1983-08-07","stringDateTimeField":"1939-05-25T21:38:48Z","stringField":"TgPwHxyU","stringTimeField":"08:42:11.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":874,"numField":390.00182933245367,"stringDateField":"1983-08-07","stringDateTimeField":"1939-05-25T21:38:48Z","stringField":"TgPwHxyU","stringTimeField":"08:42:11.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1363,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1363,"uuid":"9de3e43e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["xRbHGC","QuAWpqqXR","yFotZ","lUufBoUmy"],"boolField":true,"intField":-688,"numField":469.0828947575423,"objField":{"AgpCVoJg":-3598109241420817414,"YOUWu":2235564839494566200,"YfXgUaj":-6006060062207457430,"ZvZveD":-6054800481969035624,"bzUdt":3102549456164245994,"cqtvA":-492136753414111412,"lVWuaT":-720177686410269414,"oMWDFuesD":4698525261581857607,"qGmWkVMqcM":-9147134409296080,"sspFIXC":5519911503062693570},"stringDateField":"1921-04-18","stringDateTimeField":"1927-04-21T06:14:14Z","stringField":"ZHpq","stringTimeField":"14:35:35.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":-688,"numField":469.0828947575423,"stringDateField":"1921-04-18","stringDateTimeField":"1927-04-21T06:14:14Z","stringField":"ZHpq","stringTimeField":"14:35:35.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1364,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1364,"uuid":"9de3e43e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["lEMbSLkoG","WMaAaBOn","pJJSgYuhK","Pble","pEQVfgB","CTsdCjVAqF","ILFFrWAIQF","zuLDlmN","IsSifdwQ","qvJGFZnK"],"boolField":true,"intField":759,"numField":-364.21935988836674,"objField":{"FSlgppAcYg":8408581556245992909,"NPQzAitdD":-5201064265799914836,"iSZmvz":209237166825597035,"uNtVgv":795459648941958379},"stringDateField":"1973-06-11","stringDateTimeField":"1931-09-02T09:33:15Z","stringField":"NXshcG","stringTimeField":"17:54:59.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":759,"numField":-364.21935988836674,"stringDateField":"1973-06-11","stringDateTimeField":"1931-09-02T09:33:15Z","stringField":"NXshcG","stringTimeField":"17:54:59.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1365,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1365,"uuid":"9de3e43e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ExDI"],"boolField":false,"intField":-268,"numField":355.1239884191206,"objField":{"QTwOklgaW":-558572777254538959,"UwfwEm":-6742497681573424699,"ZxKZSH":-8415453246454159142,"cYhmgWGF":-5430457596985849243,"kbUfrf":-425499578396438009,"rTiWSA":1329854199291248129},"stringDateField":"1928-12-17","stringDateTimeField":"1993-09-27T18:32:57Z","stringField":"vCEL","stringTimeField":"18:28:38.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":-268,"numField":355.1239884191206,"stringDateField":"1928-12-17","stringDateTimeField":"1993-09-27T18:32:57Z","stringField":"vCEL","stringTimeField":"18:28:38.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1366,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1366,"uuid":"9de3e43e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["mpQbcP","sFnwegL","CeBbtC","SuENK","qJqDnmM"],"boolField":true,"intField":785,"numField":-660.0619288417709,"objField":{"NdPb":-6900980040389712588,"aNgtVcUOW":7150646127220300773,"lmMrTcU":-4628783787331893293},"stringDateField":"1915-09-01","stringDateTimeField":"1936-03-20T18:59:56Z","stringField":"ZmAANZrq","stringTimeField":"02:15:51.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":785,"numField":-660.0619288417709,"stringDateField":"1915-09-01","stringDateTimeField":"1936-03-20T18:59:56Z","stringField":"ZmAANZrq","stringTimeField":"02:15:51.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1367,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1367,"uuid":"9de3e43e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["QBQRu","lKJndRCZ","qLHVfmukL","xBnOAK","peDcKMs","HcVkOLj"],"boolField":false,"intField":-770,"numField":-76.1742469489558,"objField":{"AqDjCZ":-9072708915174282694,"DBuxFfcCst":-1881045941159126725,"MKwyY":-2470864030900472930,"dNJzdYOc":-7659168073875101792,"hmtkn":-441795203313486007,"koHRDli":4169066582425737591,"oINmowgv":-6948266717932240252},"stringDateField":"1943-06-27","stringDateTimeField":"1921-01-06T17:50:01Z","stringField":"giayNqw","stringTimeField":"09:37:53.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":-770,"numField":-76.1742469489558,"stringDateField":"1943-06-27","stringDateTimeField":"1921-01-06T17:50:01Z","stringField":"giayNqw","stringTimeField":"09:37:53.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1368,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1368,"uuid":"9de3e43e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["VgmhlbTUc","saPLTR","HvyWhvEEcF","DTAbpyzk","GDETzclSx","UxGLgyRXB","IcLcK","TRPNmF","eYoW"],"boolField":false,"intField":263,"numField":271.0977399189254,"objField":{"aFxm":-8611464039403146127},"stringDateField":"2019-12-30","stringDateTimeField":"2023-04-28T12:17:10Z","stringField":"leloFYA","stringTimeField":"02:52:45.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":263,"numField":271.0977399189254,"stringDateField":"2019-12-30","stringDateTimeField":"2023-04-28T12:17:10Z","stringField":"leloFYA","stringTimeField":"02:52:45.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1369,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1369,"uuid":"9de3e43e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["NeFvM","yYgjhMREY","cNtGgyQ","lIDPcuzF","qjfIdNuQs","QhJdWR","BSINUge","gYgajhw","CpgPNNjc"],"boolField":true,"intField":574,"numField":-119.1854233443933,"objField":{"CNDy":7278921991268373061,"QRPNXPYVL":-4027049430956524876,"StOeW":7584041539148600767,"VwVtouwbI":982438656778528112,"lbeL":-7833838945157988270,"yHYktYODhj":5757464698735370612},"stringDateField":"1927-12-15","stringDateTimeField":"1977-03-30T12:43:26Z","stringField":"WSSbBk","stringTimeField":"08:55:16.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":574,"numField":-119.1854233443933,"stringDateField":"1927-12-15","stringDateTimeField":"1977-03-30T12:43:26Z","stringField":"WSSbBk","stringTimeField":"08:55:16.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1370,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1370,"uuid":"9de3e43e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["OSZdb","BnoFewK","WjrWqLCloG","YdoTQ","buzNwF","XYZwMrQq"],"boolField":false,"intField":-730,"numField":-527.4643710107034,"objField":{"SCeX":6147381601935327598,"uGsDrdtlVi":-5179034081701111857,"wBHvceJH":2233189390870126816},"stringDateField":"1917-10-19","stringDateTimeField":"1977-05-31T03:27:12Z","stringField":"uiTUxc","stringTimeField":"14:45:34.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":-730,"numField":-527.4643710107034,"stringDateField":"1917-10-19","stringDateTimeField":"1977-05-31T03:27:12Z","stringField":"uiTUxc","stringTimeField":"14:45:34.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1371,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1371,"uuid":"9de3e43e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["bQcVowj","YSeLERGJl"],"boolField":true,"intField":742,"numField":-835.4433094661109,"objField":{"UvZcxmdH":-7492040010366702929,"oGtKJ":359844215838959797,"yrePMNty":2744018354228923581},"stringDateField":"2015-09-30","stringDateTimeField":"1938-08-06T14:04:42Z","stringField":"zGOI","stringTimeField":"21:25:11.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":742,"numField":-835.4433094661109,"stringDateField":"2015-09-30","stringDateTimeField":"1938-08-06T14:04:42Z","stringField":"zGOI","stringTimeField":"21:25:11.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1372,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1372,"uuid":"9de3e43e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["zGFIkgio","TuKIdqW","KmHWi"],"boolField":false,"intField":-654,"numField":633.489418141776,"objField":{"CKANVLp":-3528385926323096779,"CwHdV":3839817734388850408,"ICWXdyrvlt":4525122235723838535,"QTqtzQCG":5868956964319924197,"VVyAj":8245921833846055732,"goYOZM":-6513559859849654827,"rksiXb":7796983926891236725},"stringDateField":"1951-07-09","stringDateTimeField":"1950-07-08T19:31:22Z","stringField":"avfZXt","stringTimeField":"10:04:55.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":-654,"numField":633.489418141776,"stringDateField":"1951-07-09","stringDateTimeField":"1950-07-08T19:31:22Z","stringField":"avfZXt","stringTimeField":"10:04:55.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1373,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1373,"uuid":"9de3e43e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["pQkNgqER","UmFn"],"boolField":false,"intField":-588,"numField":168.97374912023278,"objField":{"FNzjilqUwQ":-4249266226708720788,"cALmnA":-5772529921009494786,"ngnzwmpsOD":4077325812877411276,"oXbyfjEiX":-7920407699415966064},"stringDateField":"1967-07-03","stringDateTimeField":"1977-04-01T18:45:21Z","stringField":"EsWhVL","stringTimeField":"11:11:57.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":-588,"numField":168.97374912023278,"stringDateField":"1967-07-03","stringDateTimeField":"1977-04-01T18:45:21Z","stringField":"EsWhVL","stringTimeField":"11:11:57.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1374,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1374,"uuid":"9de3e43e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["dxTE","GSndXtTgTb","jtOtjD","gnGzV","vKYSyu","dMlSpBS"],"boolField":true,"intField":596,"numField":-133.12499138064138,"objField":{"EzFQ":-4791167171622430858,"MfBzQywECD":7521843967460154414,"NqMc":-5213914472924999857,"VscrucGsF":-5431140918002536913,"qlOX":-6844040659058958937},"stringDateField":"1923-08-07","stringDateTimeField":"1926-04-11T00:35:29Z","stringField":"vmRG","stringTimeField":"01:48:12.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230974Z","intField":596,"numField":-133.12499138064138,"stringDateField":"1923-08-07","stringDateTimeField":"1926-04-11T00:35:29Z","stringField":"vmRG","stringTimeField":"01:48:12.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1375,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1375,"uuid":"9de3e43f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["hpeekcJ","CThMCHdH","ptFalxTVJM","gPlbV"],"boolField":true,"intField":-675,"numField":941.8245047320252,"objField":{"azQO":4339510641255773424},"stringDateField":"1900-11-27","stringDateTimeField":"1988-12-11T10:32:37Z","stringField":"LnIAkcF","stringTimeField":"21:04:03.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":-675,"numField":941.8245047320252,"stringDateField":"1900-11-27","stringDateTimeField":"1988-12-11T10:32:37Z","stringField":"LnIAkcF","stringTimeField":"21:04:03.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1376,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1376,"uuid":"9de3e43f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["iYXXShFO","lgTlDluI","wQNNX","BmwBkof","evRQWEGTNo","oWcgYzh","rvmvjOZ","uhkprDS","JVtyte"],"boolField":true,"intField":760,"numField":91.2247425527537,"objField":{"HyJmXzGv":-4706915362421104742,"RWBPYpRA":-8582747549640731893,"cLaMkx":4957621583860854929},"stringDateField":"1935-10-01","stringDateTimeField":"1999-04-13T13:31:43Z","stringField":"NkVYFAoEw","stringTimeField":"00:02:12.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":760,"numField":91.2247425527537,"stringDateField":"1935-10-01","stringDateTimeField":"1999-04-13T13:31:43Z","stringField":"NkVYFAoEw","stringTimeField":"00:02:12.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1377,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1377,"uuid":"9de3e43f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["uTIlmf","xDhozsOdS","zRZbLZ","ZNUb","eJawi"],"boolField":true,"intField":-882,"numField":525.7774379890778,"objField":{"EIipG":7186614257009673745,"bgvP":-3410564868880910557},"stringDateField":"2020-06-09","stringDateTimeField":"1952-05-23T08:45:59Z","stringField":"HvfjXJlnBO","stringTimeField":"19:48:26.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":-882,"numField":525.7774379890778,"stringDateField":"2020-06-09","stringDateTimeField":"1952-05-23T08:45:59Z","stringField":"HvfjXJlnBO","stringTimeField":"19:48:26.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1378,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1378,"uuid":"9de3e43f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["cWUQR","gfniYUxz","FNMtgrRrb"],"boolField":false,"intField":749,"numField":911.1636533999572,"objField":{"CezhjrXOGV":-3382472096848903939,"DNvUcWxzCd":7508695782411144382,"IYziQQPP":9051119097784914668,"LWpp":7525357983452697808,"ceRMmVMMw":-2660717746665906863},"stringDateField":"1903-11-17","stringDateTimeField":"2021-12-07T02:05:20Z","stringField":"opww","stringTimeField":"22:03:28.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":749,"numField":911.1636533999572,"stringDateField":"1903-11-17","stringDateTimeField":"2021-12-07T02:05:20Z","stringField":"opww","stringTimeField":"22:03:28.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1379,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1379,"uuid":"9de3e43f-5655-11ee-9001-675ed0f8e89b"},"arrayField":["BDPXWldg","DUanap","apazQ","ujuSamKaMR","uBPoUs","sVqUo","svOZVZ"],"boolField":true,"intField":-513,"numField":75.18768667156195,"objField":{"RTIGFoH":1884580342553431168,"fbffzdEG":7070103289683444993},"stringDateField":"1954-04-05","stringDateTimeField":"1933-12-31T15:50:29Z","stringField":"XHBhVaG","stringTimeField":"21:16:13.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":-513,"numField":75.18768667156195,"stringDateField":"1954-04-05","stringDateTimeField":"1933-12-31T15:50:29Z","stringField":"XHBhVaG","stringTimeField":"21:16:13.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1380,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1380,"uuid":"9de3e43f-5655-11ee-9401-675ed0f8e89b"},"arrayField":["VszY"],"boolField":true,"intField":-327,"numField":-195.6844719923676,"objField":{"HWWogJSm":-6841543261156938311,"VEIDqkbCCT":-2055270149337162205,"eldqncRnH":-792384860469969982,"iSnV":7045972055316353549},"stringDateField":"1903-01-09","stringDateTimeField":"1985-02-18T14:13:10Z","stringField":"Cbls","stringTimeField":"15:12:12.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":-327,"numField":-195.6844719923676,"stringDateField":"1903-01-09","stringDateTimeField":"1985-02-18T14:13:10Z","stringField":"Cbls","stringTimeField":"15:12:12.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1381,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1381,"uuid":"9de3e43f-5655-11ee-9801-675ed0f8e89b"},"arrayField":["cFfQGPfs","QOBveXYdW","xHFpPpi","GewKwvrBOo","PvyFa"],"boolField":false,"intField":921,"numField":-747.6273296470837,"objField":{"LfXKTHuZE":1814228703207395938,"Squg":-8986466660280646574,"VbutmW":5365649452009656981,"WYSEhqaBl":-5921548600832174224,"ajywMtGko":-807862883210979669,"dwfQ":3909424727426550619,"jYLs":-66007910187553470,"sQwB":-2611855947568208719,"srkyAUpba":6206058237212716196,"yExzm":-2579229520486523404},"stringDateField":"1986-03-02","stringDateTimeField":"1953-08-05T17:18:49Z","stringField":"MFVBMsYt","stringTimeField":"12:41:18.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":921,"numField":-747.6273296470837,"stringDateField":"1986-03-02","stringDateTimeField":"1953-08-05T17:18:49Z","stringField":"MFVBMsYt","stringTimeField":"12:41:18.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1382,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1382,"uuid":"9de3e43f-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["uwYD","JFQNGPNPK"],"boolField":false,"intField":-485,"numField":26.207300732303377,"objField":{"BCcUh":8826301261726648846,"DdPUMZnkNb":3802488045870520087,"IaKOpC":2406936283360219548,"Mudvnp":-7589264106346204038,"UhZlHkZHQS":-7095850160123548809,"UzELu":-5057315092733661426,"YijxmYsJX":5494957724607759051,"zGmUWcZH":-1695023224172853765},"stringDateField":"1952-10-21","stringDateTimeField":"1902-04-25T13:49:40Z","stringField":"RbEKEpGqut","stringTimeField":"12:11:58.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":-485,"numField":26.207300732303377,"stringDateField":"1952-10-21","stringDateTimeField":"1902-04-25T13:49:40Z","stringField":"RbEKEpGqut","stringTimeField":"12:11:58.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1383,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1383,"uuid":"9de3e43f-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ZgLVlfsM"],"boolField":true,"intField":-945,"numField":-260.3093994726192,"objField":{"BGSEvjWH":8331948607915607539,"TvKXwfACvt":7407485517380202292,"fqxecFP":5591006910683818238,"pOnI":-7962042465485495189,"piwDWUonMw":-4815301712188509973},"stringDateField":"1976-11-27","stringDateTimeField":"2005-10-08T10:12:03Z","stringField":"hNWGcT","stringTimeField":"02:15:43.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":-945,"numField":-260.3093994726192,"stringDateField":"1976-11-27","stringDateTimeField":"2005-10-08T10:12:03Z","stringField":"hNWGcT","stringTimeField":"02:15:43.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1384,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1384,"uuid":"9de3e43f-5655-11ee-a401-675ed0f8e89b"},"arrayField":["yhitukqa"],"boolField":false,"intField":528,"numField":27.280212879889465,"objField":{"DmwlTyRKow":-5279701279864533604,"LvowaEowC":-3503084390336742204,"QdSUcetj":5272615145785148151,"WFHhbbp":6646441401853376372,"XQsbkPqdm":-4071121985247619287,"ZnVIP":-7424413921007798579,"hyYtrjPNb":-4983772079452290944,"kMJMSVF":5317170537442837209},"stringDateField":"1991-03-05","stringDateTimeField":"2019-02-13T10:18:52Z","stringField":"RyZRaqe","stringTimeField":"23:13:13.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":528,"numField":27.280212879889465,"stringDateField":"1991-03-05","stringDateTimeField":"2019-02-13T10:18:52Z","stringField":"RyZRaqe","stringTimeField":"23:13:13.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1385,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1385,"uuid":"9de3e43f-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ZxnbdP","TGIwlBRrZo","QMEdRT","mesR","sLvkRXH","eBuHDpRUc","PrKW","pyLCMrI","OtRqgqZB"],"boolField":false,"intField":987,"numField":-236.2016483976637,"objField":{"LydgAv":-1383108366047485049,"SHmqjmuj":-5523832912966526912,"XySz":2838100548818959574,"ZiyffT":3686243448717496278,"fHWixbeyk":2701761546109222625,"sssIwpLZ":1105445145802884790},"stringDateField":"1996-10-19","stringDateTimeField":"1941-10-25T12:24:04Z","stringField":"gKbXYWRDPZ","stringTimeField":"01:51:41.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":987,"numField":-236.2016483976637,"stringDateField":"1996-10-19","stringDateTimeField":"1941-10-25T12:24:04Z","stringField":"gKbXYWRDPZ","stringTimeField":"01:51:41.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1386,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1386,"uuid":"9de3e43f-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ssEjyDwNeX","nJxpk","oZgvpb","KkYYUPrk","gWQXfTKv","EvAZKtCEWf","oWCwOMc","FDYpdKpiC"],"boolField":false,"intField":162,"numField":716.7919049314954,"objField":{"FGdeCHIsH":-2263338416192842164,"iSvTG":6275114430734284354,"qLkOyNU":-1710459685453608148,"uvNjGUqd":8759187470691242533},"stringDateField":"1951-06-04","stringDateTimeField":"1951-03-25T07:31:21Z","stringField":"wURhL","stringTimeField":"05:00:43.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":162,"numField":716.7919049314954,"stringDateField":"1951-06-04","stringDateTimeField":"1951-03-25T07:31:21Z","stringField":"wURhL","stringTimeField":"05:00:43.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1387,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1387,"uuid":"9de3e43f-5655-11ee-b001-675ed0f8e89b"},"arrayField":["xUvXGC"],"boolField":false,"intField":658,"numField":-504.6638957845266,"objField":{"IkOdnFkNpD":3495686982508767637,"LzCvGMnn":-7611382442635266682,"WRqo":-5381596883207002264,"cwuBTIK":-3349121784880797819,"exHw":-4783724223033576709,"pWGbMq":-519899814749453440,"ukayPx":-6493724798842172132,"xTGRQ":2105174600109148945,"yBeEFVhgV":7195384223622052386},"stringDateField":"1927-05-26","stringDateTimeField":"1979-03-02T09:19:55Z","stringField":"CZVJ","stringTimeField":"22:07:54.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":658,"numField":-504.6638957845266,"stringDateField":"1927-05-26","stringDateTimeField":"1979-03-02T09:19:55Z","stringField":"CZVJ","stringTimeField":"22:07:54.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1388,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1388,"uuid":"9de3e43f-5655-11ee-b401-675ed0f8e89b"},"arrayField":["nPoIQOF","bxerBQJtUD","IqgGonqgl","tjyWISIjTU","uPLUHHLgSO"],"boolField":true,"intField":489,"numField":450.8478338850794,"objField":{"AlqIIZVhl":4329400529500102173,"KQTLhUNO":7405114163207980948,"NrbcA":-171388308125429281,"bSBO":8412556743708773926,"kuDuUeRa":-7703644880274818610},"stringDateField":"1956-02-12","stringDateTimeField":"1930-05-29T13:37:36Z","stringField":"Qbxab","stringTimeField":"02:55:19.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":489,"numField":450.8478338850794,"stringDateField":"1956-02-12","stringDateTimeField":"1930-05-29T13:37:36Z","stringField":"Qbxab","stringTimeField":"02:55:19.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1389,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1389,"uuid":"9de3e43f-5655-11ee-b801-675ed0f8e89b"},"arrayField":["nEcoZNsh","DWteIns","LjNGyWgMFy","HcxzX","dJbXnEbDS"],"boolField":true,"intField":404,"numField":-374.576404295314,"objField":{"FITKRnpSJt":-1685548733837616407,"HFAkk":1614559429148456153,"LQZbBmx":-1947979507395631661,"OhNrXMni":-5389302437380945138,"gsFHTtoRWP":-3136222838725470695,"ltDgO":-2686163698487805563,"oOpzmsjQx":-2251987525724042918},"stringDateField":"1958-01-29","stringDateTimeField":"1987-08-04T12:24:17Z","stringField":"UMkSLzJ","stringTimeField":"05:22:56.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":404,"numField":-374.576404295314,"stringDateField":"1958-01-29","stringDateTimeField":"1987-08-04T12:24:17Z","stringField":"UMkSLzJ","stringTimeField":"05:22:56.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1390,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1390,"uuid":"9de3e43f-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ZLTfJjo"],"boolField":true,"intField":917,"numField":-436.18476807067606,"objField":{"OMRiJL":-8747101557332120496,"qfGXPUK":8611918135081868405},"stringDateField":"1981-08-16","stringDateTimeField":"1987-04-18T07:53:23Z","stringField":"ZTTY","stringTimeField":"05:34:06.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230975Z","intField":917,"numField":-436.18476807067606,"stringDateField":"1981-08-16","stringDateTimeField":"1987-04-18T07:53:23Z","stringField":"ZTTY","stringTimeField":"05:34:06.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1391,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1391,"uuid":"9de3e440-5655-11ee-8001-675ed0f8e89b"},"arrayField":["swxrzbvHG","pMLdm","TLvm"],"boolField":true,"intField":792,"numField":-496.8720651896812,"objField":{"TBdlTYkP":-2422659858069820432,"wzTd":-3870870354104298059},"stringDateField":"1905-07-01","stringDateTimeField":"1988-03-08T04:35:58Z","stringField":"BWpknsGdhH","stringTimeField":"13:28:16.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":792,"numField":-496.8720651896812,"stringDateField":"1905-07-01","stringDateTimeField":"1988-03-08T04:35:58Z","stringField":"BWpknsGdhH","stringTimeField":"13:28:16.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1392,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1392,"uuid":"9de3e440-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ZfJPmVU","gVYUwha","BQhB","bMLBFDk","Wywsl"],"boolField":true,"intField":-143,"numField":912.1170687213756,"objField":{"GCoqMMvKpp":-6988983055432708081,"GJRgJzQl":871313982638088802,"KZNsubayPa":2110894266184630264,"LbhGOtPz":7828668899681233653,"MKDsJl":339701026486388924,"PUrWY":595318513460667239,"WKLurGcjFp":8711999148816580390,"gtFaFWLts":-9010856803323946760,"nGjk":303960400847829076,"thgWhhb":1303645212470588423},"stringDateField":"1958-11-05","stringDateTimeField":"1988-07-27T23:28:40Z","stringField":"gCyUaJSj","stringTimeField":"16:07:59.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":-143,"numField":912.1170687213756,"stringDateField":"1958-11-05","stringDateTimeField":"1988-07-27T23:28:40Z","stringField":"gCyUaJSj","stringTimeField":"16:07:59.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1393,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1393,"uuid":"9de3e440-5655-11ee-8801-675ed0f8e89b"},"arrayField":["QhKcvoGn","ewcD","FnVHjINTEo"],"boolField":true,"intField":32,"numField":552.8652595473511,"objField":{"AoiYERiy":674110711153466830,"fNoyWNSCd":-7809378017549385349,"rfsKhugt":7157971199813646345,"yQpdwfUqG":-819439670936942334},"stringDateField":"1923-02-24","stringDateTimeField":"1970-12-15T00:44:06Z","stringField":"ANILHjM","stringTimeField":"10:16:09.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":32,"numField":552.8652595473511,"stringDateField":"1923-02-24","stringDateTimeField":"1970-12-15T00:44:06Z","stringField":"ANILHjM","stringTimeField":"10:16:09.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1394,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1394,"uuid":"9de3e440-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["TRAOltgWxX","dEcBs","FzWUhOh","CCrimZ","MeWwN"],"boolField":true,"intField":819,"numField":-337.44071347474403,"objField":{"JBhyTBJHtx":1124014803567054519,"MuVjAPT":-2072739222615232259,"UpEAVfSKu":3548376542006928530,"mQppP":-3251560339239910486,"phbnCwCt":5553027656268274042,"vrXzzc":6148021047019909357,"yVOYg":-7441294836418713353},"stringDateField":"1970-03-16","stringDateTimeField":"1908-11-16T07:14:03Z","stringField":"SRDzhcL","stringTimeField":"04:29:26.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":819,"numField":-337.44071347474403,"stringDateField":"1970-03-16","stringDateTimeField":"1908-11-16T07:14:03Z","stringField":"SRDzhcL","stringTimeField":"04:29:26.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1395,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1395,"uuid":"9de3e440-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ufwRkUjYi","PbXT","WJfYwy","rVwiuLCe","Zxah","kRWo","vKHmIm","weMJI","PDWsUUkJ","JQnO"],"boolField":true,"intField":-116,"numField":128.79310883444938,"objField":{"BLMn":1135479667822910306,"DmKu":2384873961881571105,"XWSHryDPD":8746282095809431087,"jvxZg":3890736759642543121,"khyEDDgfCf":7676424904933770334,"lLiNFboGuH":-5096944244687341846,"rbsyVG":-3326099445982642378,"wQIZDgQUhH":-6972000198160907357,"xEZPRB":-19685605198000899,"yjuaKMI":7588773675337828807},"stringDateField":"1949-06-21","stringDateTimeField":"1912-08-03T03:30:52Z","stringField":"BTJBepBurb","stringTimeField":"01:14:56.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":-116,"numField":128.79310883444938,"stringDateField":"1949-06-21","stringDateTimeField":"1912-08-03T03:30:52Z","stringField":"BTJBepBurb","stringTimeField":"01:14:56.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1396,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1396,"uuid":"9de3e440-5655-11ee-9401-675ed0f8e89b"},"arrayField":["LVcgZmq","nxReFkyIYl","yXoUfb","AEuANoSNoZ","iOEBCtxo"],"boolField":true,"intField":377,"numField":248.02197677777872,"objField":{"GdYHsc":6708872788282956984,"HUprNsCP":2822555127102792886},"stringDateField":"1989-03-09","stringDateTimeField":"2016-09-03T06:55:06Z","stringField":"vnQZAHfR","stringTimeField":"10:42:08.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":377,"numField":248.02197677777872,"stringDateField":"1989-03-09","stringDateTimeField":"2016-09-03T06:55:06Z","stringField":"vnQZAHfR","stringTimeField":"10:42:08.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1397,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1397,"uuid":"9de3e440-5655-11ee-9801-675ed0f8e89b"},"arrayField":["iyujc"],"boolField":false,"intField":733,"numField":-415.4274893175651,"objField":{"XcUPUpRyW":-2721314902361562221,"ahfFkEw":2464211990749928665,"gUrVxqN":6068642066046871297,"yXeFhE":5660889297103178537},"stringDateField":"1900-07-31","stringDateTimeField":"1997-02-21T20:47:59Z","stringField":"TnErqLG","stringTimeField":"13:11:10.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":733,"numField":-415.4274893175651,"stringDateField":"1900-07-31","stringDateTimeField":"1997-02-21T20:47:59Z","stringField":"TnErqLG","stringTimeField":"13:11:10.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1398,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1398,"uuid":"9de3e440-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["toKaEQ","wKJlyfp","WuHiVMxda"],"boolField":false,"intField":-528,"numField":730.635436668197,"objField":{"ATQbqEaJFn":4255639813068879225,"PlKEeUiTr":2420782414439737374,"UGIRoObW":-3755811335001666608,"kaeFAPU":-7291382679692380455,"rgrkOnGs":3868532261277454477,"twgxrHSaYk":3518913419083482695,"uxeU":2605001053579694758,"vXxmqm":-2935900197116947317},"stringDateField":"1972-06-06","stringDateTimeField":"1971-06-03T07:21:17Z","stringField":"NzSd","stringTimeField":"02:33:33.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":-528,"numField":730.635436668197,"stringDateField":"1972-06-06","stringDateTimeField":"1971-06-03T07:21:17Z","stringField":"NzSd","stringTimeField":"02:33:33.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1399,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1399,"uuid":"9de3e440-5655-11ee-a001-675ed0f8e89b"},"arrayField":["fzfEZfS","pZnIJIC","ULDP","FqcEtc","Peba","qBlduqeZX"],"boolField":false,"intField":858,"numField":-371.1274986677972,"objField":{"CfeCFDq":-793086216234479917,"ERcfhVg":-6091483620686667181,"NnAP":-475401364926552440,"dGADZ":-6182330291933094559,"lFUHF":3276360179011708790},"stringDateField":"2022-12-18","stringDateTimeField":"1949-12-17T10:46:50Z","stringField":"uQWjHTuZ","stringTimeField":"10:55:38.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":858,"numField":-371.1274986677972,"stringDateField":"2022-12-18","stringDateTimeField":"1949-12-17T10:46:50Z","stringField":"uQWjHTuZ","stringTimeField":"10:55:38.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1400,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1400,"uuid":"9de3e440-5655-11ee-a401-675ed0f8e89b"},"arrayField":["pcQncnchXT"],"boolField":true,"intField":825,"numField":-417.6418075607781,"objField":{"CosfAKWb":-587493336729416208,"FblX":-2729341846021203630,"IrHFZedKxC":-2831454629878624120,"SouoHMqCGg":-7012144293466295063,"UGxnMF":1158139023204133638,"aUKtb":-8691772997234014266,"fOXZCSyNAH":7819836512507533467,"ulTEGZx":-2703079336792050029,"vkCBbgTEd":-5658858487096185775},"stringDateField":"1996-09-16","stringDateTimeField":"1909-05-29T10:23:34Z","stringField":"qmxldVfyH","stringTimeField":"23:40:12.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":825,"numField":-417.6418075607781,"stringDateField":"1996-09-16","stringDateTimeField":"1909-05-29T10:23:34Z","stringField":"qmxldVfyH","stringTimeField":"23:40:12.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1401,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1401,"uuid":"9de3e440-5655-11ee-a801-675ed0f8e89b"},"arrayField":["slaiW","IvyDFkj","HLoPx","nOuYs"],"boolField":false,"intField":622,"numField":146.1803330951321,"objField":{"CekeVqhqYH":1570269377850187681,"OwTRbkTwGy":8585289341397019446,"PdgVH":3629628920529786990,"SawF":5492011138623122333,"enqUQaocUJ":4340307239320519159,"fHfdmNyko":7889289715962907194,"pKxcmbceq":4702775975240891247,"vlFOjLKlUi":-8058226714989001322},"stringDateField":"1946-05-02","stringDateTimeField":"2016-11-07T04:24:13Z","stringField":"iwkHszkxwi","stringTimeField":"20:32:19.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":622,"numField":146.1803330951321,"stringDateField":"1946-05-02","stringDateTimeField":"2016-11-07T04:24:13Z","stringField":"iwkHszkxwi","stringTimeField":"20:32:19.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1402,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1402,"uuid":"9de3e440-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["KfEoFOtKQw","fiJgMA","ZuBEpIW","gdFi","ZYPTlKTG"],"boolField":false,"intField":-937,"numField":370.7837648377612,"objField":{"rzhKnAZSt":-8589909621074108988},"stringDateField":"1938-07-08","stringDateTimeField":"1980-03-22T16:20:18Z","stringField":"cIos","stringTimeField":"03:23:20.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":-937,"numField":370.7837648377612,"stringDateField":"1938-07-08","stringDateTimeField":"1980-03-22T16:20:18Z","stringField":"cIos","stringTimeField":"03:23:20.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1403,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1403,"uuid":"9de3e440-5655-11ee-b001-675ed0f8e89b"},"arrayField":["Urny","xiHMcYGUdH","WrpS","bmFl"],"boolField":true,"intField":256,"numField":-405.1443675907075,"objField":{"EEpUeFAVue":3890229234477547156,"LamoQUn":9106841163479204008,"jVJRfWonj":-5205828826902073135},"stringDateField":"1912-02-11","stringDateTimeField":"1965-07-28T00:00:28Z","stringField":"DZWIVrA","stringTimeField":"17:28:25.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":256,"numField":-405.1443675907075,"stringDateField":"1912-02-11","stringDateTimeField":"1965-07-28T00:00:28Z","stringField":"DZWIVrA","stringTimeField":"17:28:25.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1404,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1404,"uuid":"9de3e440-5655-11ee-b401-675ed0f8e89b"},"arrayField":["vvgZ","WZtvX","BMYM","dRSqOMM","OhUXW","eeCPJ","MsEkTMaGD","CoOtVBzT","NNBi","apnjXqjo"],"boolField":false,"intField":372,"numField":-64.2606231668702,"objField":{"RpAD":950741715818418516,"bGLTINw":8213034912312145403},"stringDateField":"1929-04-26","stringDateTimeField":"1943-11-08T18:01:07Z","stringField":"GLqvmv","stringTimeField":"20:29:12.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":372,"numField":-64.2606231668702,"stringDateField":"1929-04-26","stringDateTimeField":"1943-11-08T18:01:07Z","stringField":"GLqvmv","stringTimeField":"20:29:12.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1405,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1405,"uuid":"9de3e440-5655-11ee-b801-675ed0f8e89b"},"arrayField":["vwDuRhdmW","eRUdjEtZz","hdQGIF","FszgtwaFP","AXllfQdReA","KFQnwett","ufZpedFdIQ","WErZw"],"boolField":false,"intField":-142,"numField":457.96543392962707,"objField":{"GaMakg":231478442386311984,"UbfGXzXI":5360663969509316256,"Wtpnwipjup":-1510399973653935551,"gkVUHJM":7166614217999743137,"idssHrhs":7651553773757118124,"zOsOS":2547239369065794722},"stringDateField":"1909-07-30","stringDateTimeField":"1942-08-20T07:21:55Z","stringField":"mMvF","stringTimeField":"01:21:02.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":-142,"numField":457.96543392962707,"stringDateField":"1909-07-30","stringDateTimeField":"1942-08-20T07:21:55Z","stringField":"mMvF","stringTimeField":"01:21:02.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1406,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1406,"uuid":"9de3e440-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["AtrP"],"boolField":true,"intField":-150,"numField":-168.256101619633,"objField":{"WICF":7158084905122894750},"stringDateField":"2011-05-14","stringDateTimeField":"1989-11-12T05:38:47Z","stringField":"CFhKjtW","stringTimeField":"21:08:15.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230976Z","intField":-150,"numField":-168.256101619633,"stringDateField":"2011-05-14","stringDateTimeField":"1989-11-12T05:38:47Z","stringField":"CFhKjtW","stringTimeField":"21:08:15.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1407,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1407,"uuid":"9de3e441-5655-11ee-8001-675ed0f8e89b"},"arrayField":["EMExQEBd","iYAXGcKbk","LUCjWzW","gIZpaAn","dGuugtzsc","bpVDTy","ePkgCAw","YWTJbRR","SIqC"],"boolField":false,"intField":352,"numField":-75.59948231565039,"objField":{"Qzlzqxttj":1066768967515322383,"SZxjDYa":-9148912071787949055,"UqWoR":2633312025146376639,"VTkHfbfO":-4517354439697970957,"bqNXOoE":-3660468057976939160,"deTh":-8752314318747374484,"gpvFzoSs":2474134236917168787,"iJJhf":1479774224286830780},"stringDateField":"2020-03-16","stringDateTimeField":"1984-05-04T11:07:49Z","stringField":"iNLh","stringTimeField":"01:53:38.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":352,"numField":-75.59948231565039,"stringDateField":"2020-03-16","stringDateTimeField":"1984-05-04T11:07:49Z","stringField":"iNLh","stringTimeField":"01:53:38.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1408,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1408,"uuid":"9de3e441-5655-11ee-8401-675ed0f8e89b"},"arrayField":["cdrJRtibU","szJTffQNJ","EAbMnUdtd","ctjNYeMrM"],"boolField":false,"intField":-408,"numField":-960.8071682187624,"objField":{"Dnlh":6648571213369910547,"fKLNbFA":-5459991707156427572},"stringDateField":"2015-04-24","stringDateTimeField":"1966-07-24T09:24:54Z","stringField":"EVUnKK","stringTimeField":"13:52:50.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":-408,"numField":-960.8071682187624,"stringDateField":"2015-04-24","stringDateTimeField":"1966-07-24T09:24:54Z","stringField":"EVUnKK","stringTimeField":"13:52:50.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1409,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1409,"uuid":"9de3e441-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ZrNB","SSMn","iahCYt"],"boolField":false,"intField":-85,"numField":0.36222903953020413,"objField":{"AuAiMUC":7900776969079723431,"DfiMpx":696614664325834916,"EpHh":5775032639996908341,"FflV":-7765577735106358363,"LlYsMhS":7066066531260988092,"hNmhJegu":6641706308552344571,"sYkCiVNoPq":7633908376627216471,"swNxARJYNg":-1435248188394860503},"stringDateField":"1955-11-17","stringDateTimeField":"2010-12-14T12:22:46Z","stringField":"APqQF","stringTimeField":"08:31:12.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":-85,"numField":0.36222903953020413,"stringDateField":"1955-11-17","stringDateTimeField":"2010-12-14T12:22:46Z","stringField":"APqQF","stringTimeField":"08:31:12.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1410,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1410,"uuid":"9de3e441-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["xfmDBTxOy","ckauXpkpnr","iAEFQmTmR","tACXOA","AKeg","PuCH"],"boolField":false,"intField":244,"numField":987.3609097543988,"objField":{"KcgKSJ":-5634751269669426784,"NoErUCxV":-594280542052720562,"WDJtCNUo":3283100421888251870,"WLIBiVT":1234074115367996867,"ZJvDdL":-1124893834304653250,"aOGlcFEVw":8693533930234178037,"kqyaqThth":6441051564802272677,"omLBdWkS":3543973759935795151,"syVDRwIQ":-3945322365640877136},"stringDateField":"1949-08-24","stringDateTimeField":"1967-10-07T01:49:08Z","stringField":"QkuHjm","stringTimeField":"11:03:46.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":244,"numField":987.3609097543988,"stringDateField":"1949-08-24","stringDateTimeField":"1967-10-07T01:49:08Z","stringField":"QkuHjm","stringTimeField":"11:03:46.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1411,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1411,"uuid":"9de3e441-5655-11ee-9001-675ed0f8e89b"},"arrayField":["pnoZn","oCbR","pdvbXQw","TLmG"],"boolField":true,"intField":-765,"numField":608.3169104783072,"objField":{"DgvSoe":-92794316689669503,"KrpjGm":8974233830992011896,"WnkUYal":5241583653657619515,"bjBCdGpqk":-3570370354732499999,"cUIYCsE":-8604090136085675791,"eALUpT":371873300134522564,"rvgtWQUWO":4035657748992153784,"vdnDbSoxuQ":929400611297605666,"wZocb":3762974093900604283},"stringDateField":"1988-03-17","stringDateTimeField":"1974-04-03T03:45:25Z","stringField":"qczvpmezr","stringTimeField":"08:08:35.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":-765,"numField":608.3169104783072,"stringDateField":"1988-03-17","stringDateTimeField":"1974-04-03T03:45:25Z","stringField":"qczvpmezr","stringTimeField":"08:08:35.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1412,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1412,"uuid":"9de3e441-5655-11ee-9401-675ed0f8e89b"},"arrayField":["koMbnxwpjy","DokvgVP","SfNBJ","utXZadDirH","cHfRuI","cZhy"],"boolField":false,"intField":-631,"numField":856.9881430729422,"objField":{"GBQCues":2460199871901425129,"VkBZhQ":364586667881212252,"XoBjJsuPmO":159930918925043577,"eWfhMI":-808111996026805426,"gMiNtd":713063188562020913,"xMuSESJ":8097407370381732329,"xXjMXxtda":2049457607911385222},"stringDateField":"1913-02-11","stringDateTimeField":"1917-10-16T08:29:50Z","stringField":"auiJnF","stringTimeField":"08:31:43.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":-631,"numField":856.9881430729422,"stringDateField":"1913-02-11","stringDateTimeField":"1917-10-16T08:29:50Z","stringField":"auiJnF","stringTimeField":"08:31:43.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1413,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1413,"uuid":"9de3e441-5655-11ee-9801-675ed0f8e89b"},"arrayField":["Ssgnmalj","sDvUgER","zZMvrXiw","HqfbgdThpl","epEMHzh","UEvAKZcOd","bZiJzL"],"boolField":true,"intField":12,"numField":229.61946233592357,"objField":{"DPfyH":6561432732881980148,"ROOYbqwAO":-3820979691474469530,"pfNY":2999262978068800932,"uMrEskr":7750059009674580326},"stringDateField":"2020-07-28","stringDateTimeField":"2004-04-06T06:39:51Z","stringField":"eDjtx","stringTimeField":"11:38:38.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":12,"numField":229.61946233592357,"stringDateField":"2020-07-28","stringDateTimeField":"2004-04-06T06:39:51Z","stringField":"eDjtx","stringTimeField":"11:38:38.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1414,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1414,"uuid":"9de3e441-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["lFTLltU","gXvskaU","SKYHBiSOak","vLLXTTB","DGuq","YKdOTB"],"boolField":true,"intField":-116,"numField":-700.2418518454407,"objField":{"Ggymwwdqv":-7680142311186368572,"HacyW":3283531723279382089,"MdMtK":-7325651845119699716,"OnOG":3168585522577448676,"TMTkw":-1893481265416952937,"TMhJ":4216485447517196120,"fwclgcAR":4673638976216006894,"gKvaeQRug":-682174288486254803,"hckbSVOi":-6543531217147927886,"qeEQyUo":6911334243832635859},"stringDateField":"1989-07-05","stringDateTimeField":"2018-12-19T07:14:52Z","stringField":"CHLQGKpk","stringTimeField":"00:42:19.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":-116,"numField":-700.2418518454407,"stringDateField":"1989-07-05","stringDateTimeField":"2018-12-19T07:14:52Z","stringField":"CHLQGKpk","stringTimeField":"00:42:19.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1415,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1415,"uuid":"9de3e441-5655-11ee-a001-675ed0f8e89b"},"arrayField":["nqSyoacf","BCGjmuT","EaaYCM","bgVCrhZU","NnDR","CsFZQ","srQTxaN","fcmCNCgOg","ANiPPZ","bVIrB"],"boolField":true,"intField":340,"numField":-761.9041952222551,"objField":{"ynnyC":-2358724937255756503,"zKbb":-1795401123766384836},"stringDateField":"1915-02-23","stringDateTimeField":"1942-05-16T08:43:35Z","stringField":"UGaspa","stringTimeField":"00:34:06.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":340,"numField":-761.9041952222551,"stringDateField":"1915-02-23","stringDateTimeField":"1942-05-16T08:43:35Z","stringField":"UGaspa","stringTimeField":"00:34:06.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1416,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1416,"uuid":"9de3e441-5655-11ee-a401-675ed0f8e89b"},"arrayField":["HqtKKepK","gZdnkNmI","zelfvU","CmMmzhIDgy","hZKF","LuaUIjz","RQfaUojPtc","bdzc","YYcvnb"],"boolField":true,"intField":530,"numField":-558.3791148497143,"objField":{"BFYiOXy":7412698450974842298,"EMDY":2696428096412715700,"RowOtjuDEx":8058603585589313752,"VYIgkXZ":-5210746936882133978,"oywtr":4366277065447230008,"urpNcus":8307321880535064605,"xBIvzIMsWb":7733322445939632102},"stringDateField":"1943-04-19","stringDateTimeField":"1988-10-16T15:09:46Z","stringField":"DVQFDk","stringTimeField":"04:56:39.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":530,"numField":-558.3791148497143,"stringDateField":"1943-04-19","stringDateTimeField":"1988-10-16T15:09:46Z","stringField":"DVQFDk","stringTimeField":"04:56:39.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1417,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1417,"uuid":"9de3e441-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ZqercwrB","EeQzsBFk","wSvRzSNf","hiaAeFX","SfFvI"],"boolField":false,"intField":-118,"numField":-863.2506272099895,"objField":{"BbOsZO":-5900620820930078884,"JfAcl":362553568842858336,"JtmXNoHk":7378378462519723904,"lkHNlH":5467137328880399280},"stringDateField":"1932-09-03","stringDateTimeField":"1912-02-24T18:41:37Z","stringField":"DAXtY","stringTimeField":"07:36:47.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":-118,"numField":-863.2506272099895,"stringDateField":"1932-09-03","stringDateTimeField":"1912-02-24T18:41:37Z","stringField":"DAXtY","stringTimeField":"07:36:47.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1418,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1418,"uuid":"9de3e441-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ELWjAxJy"],"boolField":true,"intField":-137,"numField":454.8327393690905,"objField":{"cDKZsaee":-2565888293353164126,"xXyxr":6577259605008915826},"stringDateField":"1927-12-12","stringDateTimeField":"1985-01-15T15:47:38Z","stringField":"NXiPEsEWW","stringTimeField":"23:14:49.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":-137,"numField":454.8327393690905,"stringDateField":"1927-12-12","stringDateTimeField":"1985-01-15T15:47:38Z","stringField":"NXiPEsEWW","stringTimeField":"23:14:49.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1419,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1419,"uuid":"9de3e441-5655-11ee-b001-675ed0f8e89b"},"arrayField":["HvrtKZQiR"],"boolField":true,"intField":-351,"numField":692.0250794540767,"objField":{"RXeq":9002008969211908187,"XGnn":8006406348724141476,"dgidkdm":5428112264612464945},"stringDateField":"1994-05-22","stringDateTimeField":"2023-10-06T09:30:20Z","stringField":"RPWePUtFe","stringTimeField":"19:38:20.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":-351,"numField":692.0250794540767,"stringDateField":"1994-05-22","stringDateTimeField":"2023-10-06T09:30:20Z","stringField":"RPWePUtFe","stringTimeField":"19:38:20.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1420,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1420,"uuid":"9de3e441-5655-11ee-b401-675ed0f8e89b"},"arrayField":["PljBtGNcE","wPds"],"boolField":true,"intField":237,"numField":-936.024476260175,"objField":{"DnLPq":-7404826196615472588,"SxBuUya":683842882834705959,"SyXtTCjIS":3276672925242757032,"VmavNoD":4596971046640514203,"gZSUPmzcxe":8730796296171975711,"iSLJBhzeQR":5326568147732646965,"rvrjiMMQqe":3201676507185968574,"skWpHttOk":8250766616044441704},"stringDateField":"1908-12-29","stringDateTimeField":"1924-12-15T08:43:28Z","stringField":"LoRiTWwokn","stringTimeField":"11:22:47.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":237,"numField":-936.024476260175,"stringDateField":"1908-12-29","stringDateTimeField":"1924-12-15T08:43:28Z","stringField":"LoRiTWwokn","stringTimeField":"11:22:47.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1421,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1421,"uuid":"9de3e441-5655-11ee-b801-675ed0f8e89b"},"arrayField":["dOuE","yhyMFFnlh","XgjJdvdsV","qDCWdq","eINRATDwg","XBeBN","FsRfZA","bWjIMOo","PvXqkIT"],"boolField":false,"intField":841,"numField":-538.5785849874881,"objField":{"BwQa":-856637044573494856,"CjvzQpscP":-1111205776528460729,"DCMnpigBF":-8364173469204286684,"DsugaROh":849424928079143535,"FVXyNj":5480893155059939496,"QZaas":-8133311266394704678,"dqJFYRx":73917141788896081,"omcVWvATT":7893807184974432455,"vgPr":7074189574065309827},"stringDateField":"1963-04-06","stringDateTimeField":"2011-06-18T20:04:21Z","stringField":"eDOX","stringTimeField":"20:26:51.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":841,"numField":-538.5785849874881,"stringDateField":"1963-04-06","stringDateTimeField":"2011-06-18T20:04:21Z","stringField":"eDOX","stringTimeField":"20:26:51.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1422,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1422,"uuid":"9de3e441-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["URfZqt","JIKXj","oSwuqOg","EvFPt","fEDaFy","rIyxjeBmf","YmzrVj","xHCEiFG","UIYMs"],"boolField":false,"intField":142,"numField":-910.5745676139264,"objField":{"HJoKwlXXZo":6133903608734644194,"KXqTD":-8764204173772333786,"LKvWfYxS":7155685505999609994,"Ndnj":-4475048502954677642,"SVDj":3494680735525301774,"SnfhhZNtpS":4903206608591884139,"bMlBoOOt":8413225981827109821,"ccOJYp":3729527471097828365,"hhIEDjdptY":1357135359955324031},"stringDateField":"1967-03-13","stringDateTimeField":"1965-11-23T21:29:05Z","stringField":"LBKsVe","stringTimeField":"14:08:14.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230977Z","intField":142,"numField":-910.5745676139264,"stringDateField":"1967-03-13","stringDateTimeField":"1965-11-23T21:29:05Z","stringField":"LBKsVe","stringTimeField":"14:08:14.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1423,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1423,"uuid":"9de3e442-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ZPMfCZH","dpzbeuZW","bHKXRu","fZKmPlG","imoG"],"boolField":false,"intField":-286,"numField":212.94622634370407,"objField":{"YZbPS":5189491808303392757,"oLXtEQMt":8055569295020224902},"stringDateField":"1901-02-27","stringDateTimeField":"1922-08-27T22:45:13Z","stringField":"dKoAyRy","stringTimeField":"02:36:44.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":-286,"numField":212.94622634370407,"stringDateField":"1901-02-27","stringDateTimeField":"1922-08-27T22:45:13Z","stringField":"dKoAyRy","stringTimeField":"02:36:44.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1424,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1424,"uuid":"9de3e442-5655-11ee-8401-675ed0f8e89b"},"arrayField":["NdJgzXV","gvbs","UikSyxMTP","BFwnvmoKG"],"boolField":false,"intField":392,"numField":-305.5501063815015,"objField":{"HdYaAUrB":-4129379554464718108,"RebHbMa":1312527572963001854,"ebPFvVmmeF":4010144754145228964,"eelhZUZTno":146434403855931570,"xhbIlnsk":-5445577552293980445},"stringDateField":"1984-12-14","stringDateTimeField":"1916-10-14T16:43:19Z","stringField":"wzZLhoBp","stringTimeField":"20:13:40.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":392,"numField":-305.5501063815015,"stringDateField":"1984-12-14","stringDateTimeField":"1916-10-14T16:43:19Z","stringField":"wzZLhoBp","stringTimeField":"20:13:40.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1425,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1425,"uuid":"9de3e442-5655-11ee-8801-675ed0f8e89b"},"arrayField":["vqikfICf","lorjD","LqNh","cduLIUHNeT","buhShuoEmo"],"boolField":true,"intField":240,"numField":-684.1935685872619,"objField":{"ZJHJ":-2794118609034207041},"stringDateField":"1945-09-25","stringDateTimeField":"1979-09-03T05:11:39Z","stringField":"GwgLn","stringTimeField":"11:07:33.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":240,"numField":-684.1935685872619,"stringDateField":"1945-09-25","stringDateTimeField":"1979-09-03T05:11:39Z","stringField":"GwgLn","stringTimeField":"11:07:33.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1426,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1426,"uuid":"9de3e442-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["vLjc","wuiHZl","ThAlrzHsoR","bLAuOOjidL","hOHUNKr","jwNnHds","TLITtj","lTLblsqdwq","JfyhoDf"],"boolField":false,"intField":-930,"numField":335.01900976442414,"objField":{"HjXCdNgjAR":4451942289770509562,"WoeopW":3148578862416873033,"oNCObixX":-3132689908997263908,"wKLBdNbr":-5625740598533335267},"stringDateField":"1944-12-07","stringDateTimeField":"1986-02-02T18:29:28Z","stringField":"nJKCF","stringTimeField":"17:28:39.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":-930,"numField":335.01900976442414,"stringDateField":"1944-12-07","stringDateTimeField":"1986-02-02T18:29:28Z","stringField":"nJKCF","stringTimeField":"17:28:39.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1427,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1427,"uuid":"9de3e442-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ZisqmMg","IcVYQhef","cUJIGjz","pgxOQeqbm","WadAwblT","pNyhuJ","sVjPBK","QibbvpooRp","WPLd","FzKO"],"boolField":false,"intField":-276,"numField":791.2821160889218,"objField":{"CxgEEPQY":-3117432483942519973,"DxjZotEc":8456817273203608249,"IxnSR":8637919937459813485,"JWOvemYq":-5658219359891450227,"vrMsZeLsH":5266089382191249004,"wnPqmozwr":1651179316367810036},"stringDateField":"1985-07-13","stringDateTimeField":"1946-07-13T10:03:28Z","stringField":"bmtUMfdowg","stringTimeField":"03:18:43.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":-276,"numField":791.2821160889218,"stringDateField":"1985-07-13","stringDateTimeField":"1946-07-13T10:03:28Z","stringField":"bmtUMfdowg","stringTimeField":"03:18:43.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1428,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1428,"uuid":"9de3e442-5655-11ee-9401-675ed0f8e89b"},"arrayField":["vqPzSoEyX","EyWYtziW","RWZRYGU","uXcXZsq","WOfl","aDJBgvg","eWXUY","CRVK","HqlQcN","TlqdQkjG"],"boolField":false,"intField":54,"numField":-988.6328709492194,"objField":{"DoFIYLeN":-794931135210757291,"RZGdm":-7913886372570499337,"VlxkqX":-2880043683860171415,"YXMI":-4562765898459974435,"akGgZaZfg":7055381623739492967,"dbrYNZCrt":-1090094259787754321,"dlwQ":9122401328272408903,"fbftcMaH":1329326223666076951,"kDETj":3043116440316487676},"stringDateField":"1996-03-12","stringDateTimeField":"1922-04-05T18:24:16Z","stringField":"PLUjM","stringTimeField":"20:59:06.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":54,"numField":-988.6328709492194,"stringDateField":"1996-03-12","stringDateTimeField":"1922-04-05T18:24:16Z","stringField":"PLUjM","stringTimeField":"20:59:06.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1429,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1429,"uuid":"9de3e442-5655-11ee-9801-675ed0f8e89b"},"arrayField":["DWFKQ","pHXmLsr","XMQzlo","CrVfre","glwn","Usxt","gFLHKjgPM","ANtK"],"boolField":true,"intField":147,"numField":909.40651680013,"objField":{"SIeQTaLeWT":1438025801269413946,"wTgDxSN":-1152170762141023124},"stringDateField":"1902-08-15","stringDateTimeField":"1977-04-16T17:48:55Z","stringField":"LGpKtqB","stringTimeField":"07:38:06.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":147,"numField":909.40651680013,"stringDateField":"1902-08-15","stringDateTimeField":"1977-04-16T17:48:55Z","stringField":"LGpKtqB","stringTimeField":"07:38:06.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1430,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1430,"uuid":"9de3e442-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["vDdDOaO","pmMF"],"boolField":false,"intField":-896,"numField":921.5329261331548,"objField":{"DXjcADFs":375259920061315379,"XtKLrmE":4817033935174224970,"eOxSPnkzSM":-6967737999878835879,"vkZsFGP":-1252632950194220289,"yihN":-2532602265067696599},"stringDateField":"1999-05-23","stringDateTimeField":"1938-04-14T02:27:37Z","stringField":"MkwpRjk","stringTimeField":"04:03:18.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":-896,"numField":921.5329261331548,"stringDateField":"1999-05-23","stringDateTimeField":"1938-04-14T02:27:37Z","stringField":"MkwpRjk","stringTimeField":"04:03:18.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1431,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1431,"uuid":"9de3e442-5655-11ee-a001-675ed0f8e89b"},"arrayField":["bIuqx","imUHWE","LTwvH","nSkgZIqijj","GpwVGKyHyt","GBGxvf","qGopRaGD","gLyQVS"],"boolField":true,"intField":345,"numField":616.867982923321,"objField":{"GtuKC":-7941584600508563928,"SnRDfEPwdp":-1322250580792701387,"YHZkQDe":140495250747656758,"eAHtYgdvvq":-4690417006564740505,"eFkc":-1739525445149564698,"sfSIYLSewV":-7397304071993945092,"uzOPmy":-3479332315680243484},"stringDateField":"1938-09-08","stringDateTimeField":"1965-02-25T14:29:35Z","stringField":"HSuuxHjv","stringTimeField":"17:35:10.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":345,"numField":616.867982923321,"stringDateField":"1938-09-08","stringDateTimeField":"1965-02-25T14:29:35Z","stringField":"HSuuxHjv","stringTimeField":"17:35:10.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1432,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1432,"uuid":"9de3e442-5655-11ee-a401-675ed0f8e89b"},"arrayField":["pnMXrLuPf","UgPEv","utQJbOC","qmVAgZCD","CHNx","hQEftRUY"],"boolField":false,"intField":172,"numField":-767.2596083950417,"objField":{"ALvnuJ":5501061314024081974,"BpGwjR":-6214875191371586811,"RCAqkrFlu":4574080020967636171,"SQlzgiP":-3696851663114844306,"hJukGkIpeY":4199727418624428645,"lNDZhb":1312352978946533351},"stringDateField":"2011-07-21","stringDateTimeField":"1963-12-02T07:23:22Z","stringField":"FSkf","stringTimeField":"02:59:36.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":172,"numField":-767.2596083950417,"stringDateField":"2011-07-21","stringDateTimeField":"1963-12-02T07:23:22Z","stringField":"FSkf","stringTimeField":"02:59:36.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1433,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1433,"uuid":"9de3e442-5655-11ee-a801-675ed0f8e89b"},"arrayField":["NLUyAyjvgu","oLxaNGq","QXiqqN","JIFSVq","cRbIQBWHrR"],"boolField":true,"intField":-664,"numField":627.1880505597318,"objField":{"bRcNFT":-9162948701127319264,"boAeeuvS":388549306267215609,"sOQKlNxo":-7575821358608010051},"stringDateField":"2021-01-25","stringDateTimeField":"2004-07-20T22:10:22Z","stringField":"VdUQ","stringTimeField":"09:49:31.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":-664,"numField":627.1880505597318,"stringDateField":"2021-01-25","stringDateTimeField":"2004-07-20T22:10:22Z","stringField":"VdUQ","stringTimeField":"09:49:31.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1434,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1434,"uuid":"9de3e442-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["taIvPHWod","pgdoB"],"boolField":false,"intField":213,"numField":283.97035330155364,"objField":{"CFaOmcOUrx":-9162443677781058556,"FIRfSuDUmC":3267566993186880958,"IxdSatmTTW":429909121019883361,"NaJAZgw":6027786545756533720,"QLgU":-1795456156692912175,"ethxa":846654261207250685,"igTOSDtxA":8963470904966183136,"kQVp":-3842018022306742304,"qzYfMpzrs":-8430830486555957998},"stringDateField":"1919-03-13","stringDateTimeField":"1913-09-04T17:53:22Z","stringField":"mnEIySwKAk","stringTimeField":"15:55:40.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":213,"numField":283.97035330155364,"stringDateField":"1919-03-13","stringDateTimeField":"1913-09-04T17:53:22Z","stringField":"mnEIySwKAk","stringTimeField":"15:55:40.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1435,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1435,"uuid":"9de3e442-5655-11ee-b001-675ed0f8e89b"},"arrayField":["pgPAyxz","JuZr","DXls","iXdn","hUJfJSAn","oPXBpj","zZUN"],"boolField":true,"intField":335,"numField":531.4199942714606,"objField":{"DXsAYwxBa":-2180906012715974851,"KCCF":-6252615021936898668,"WpZJ":-8667985821008122290,"YceuKWiTP":-7527224481537597681,"zMnTYDJm":-7323362871649245765},"stringDateField":"1968-03-29","stringDateTimeField":"2019-01-22T13:31:04Z","stringField":"HsxhgKIHco","stringTimeField":"13:18:15.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":335,"numField":531.4199942714606,"stringDateField":"1968-03-29","stringDateTimeField":"2019-01-22T13:31:04Z","stringField":"HsxhgKIHco","stringTimeField":"13:18:15.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1436,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1436,"uuid":"9de3e442-5655-11ee-b401-675ed0f8e89b"},"arrayField":["gMwWWuDEHf","zpXUD","fCGS","UlikEIU","nxMBEhO"],"boolField":true,"intField":-189,"numField":-504.0019809248008,"objField":{"GCKMwTr":-837361035593024627,"GQlyu":1031345260374989852,"NCMC":-6386515302267633341,"mKVrfDN":4707531719388819922,"sHFHtPilG":6972861866289226956,"slZhUnZn":3715542177995095015,"tRkwnvGdml":254042650114741659},"stringDateField":"1962-02-18","stringDateTimeField":"1972-11-28T16:30:01Z","stringField":"mlcKjl","stringTimeField":"21:39:58.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":-189,"numField":-504.0019809248008,"stringDateField":"1962-02-18","stringDateTimeField":"1972-11-28T16:30:01Z","stringField":"mlcKjl","stringTimeField":"21:39:58.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1437,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1437,"uuid":"9de3e442-5655-11ee-b801-675ed0f8e89b"},"arrayField":["FpYvxC","vTdPywQ"],"boolField":true,"intField":-892,"numField":-818.8431624510379,"objField":{"AqxVRkfjB":2403232323442495597,"Dhye":9052882325696532212,"DnfSrQtr":3701465616413586000,"GamQJWqKuL":1058397070909579142,"cKDibrwrS":1022924184852529426,"egCsnu":3022204387013627247,"fdvQW":-100650964692121503,"lnEgVtip":2580247979724963499,"tlioDyX":2846145244108562203},"stringDateField":"1923-03-16","stringDateTimeField":"1963-06-10T21:40:21Z","stringField":"AASBTjjj","stringTimeField":"01:17:48.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":-892,"numField":-818.8431624510379,"stringDateField":"1923-03-16","stringDateTimeField":"1963-06-10T21:40:21Z","stringField":"AASBTjjj","stringTimeField":"01:17:48.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1438,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1438,"uuid":"9de3e442-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["YWBM","dhqqZiBR","OxJvjOY","dmYUPdBijB","ghBL","PxKQj","sOlebCWB"],"boolField":false,"intField":383,"numField":858.2229514969231,"objField":{"CJctBXK":4241002965139438632,"WYjSSdZ":3890412407210146161,"bzbRA":5095322762675485895,"fYRJ":-889644607183445461,"fwueGVfzY":8576290422657297685,"pYbsxuSwec":-8990472717865333698,"sdXtb":7703348925977478127,"utak":6143114561954958918},"stringDateField":"1954-01-26","stringDateTimeField":"1982-03-14T11:36:39Z","stringField":"nUenXHKn","stringTimeField":"04:05:15.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230978Z","intField":383,"numField":858.2229514969231,"stringDateField":"1954-01-26","stringDateTimeField":"1982-03-14T11:36:39Z","stringField":"nUenXHKn","stringTimeField":"04:05:15.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1439,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1439,"uuid":"9de3e443-5655-11ee-8001-675ed0f8e89b"},"arrayField":["VINQl","ojoKoLYXC","vmWKUGc","sSJpVCEJCQ","fLpZWIjl","ncOrvoyZ","PkzKqhokyC","eNYxusCxD","cZdBr","UfpYQb"],"boolField":true,"intField":644,"numField":452.421902821017,"objField":{"LAhlV":3956194694834672981,"NqIBi":5784134227943610398,"SatQQQtA":-4879552597988921563,"gUFo":3871956154849257641,"giESagw":-7175323686567384714,"oOcn":-315693834027873862,"wSxuzkvSPB":4070357113644600552,"wTewvWB":4116547004090947056},"stringDateField":"1967-03-31","stringDateTimeField":"2019-07-19T20:46:54Z","stringField":"ytIDulRHF","stringTimeField":"13:10:01.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":644,"numField":452.421902821017,"stringDateField":"1967-03-31","stringDateTimeField":"2019-07-19T20:46:54Z","stringField":"ytIDulRHF","stringTimeField":"13:10:01.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1440,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1440,"uuid":"9de3e443-5655-11ee-8401-675ed0f8e89b"},"arrayField":["mYEpCbmF","bwPz","Fyiqmpdc","FsMH","MVjkuxpLxq","FiNRF"],"boolField":true,"intField":123,"numField":479.407325346527,"objField":{"EQuJSkhQT":154747213250182210,"JRLGMImD":7396497708098095961,"WNrEGY":-940929485213647327,"XGdFqr":-1381205866609669849,"XnidAnW":604952066952332160,"ZIrvWaps":2023955905744595003,"afHd":7640882402085188364,"fJxcV":-3588739146015199065,"rfBAQNx":-1135738637915578134},"stringDateField":"1947-04-12","stringDateTimeField":"1920-09-03T03:06:52Z","stringField":"OrsXQWb","stringTimeField":"08:54:58.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":123,"numField":479.407325346527,"stringDateField":"1947-04-12","stringDateTimeField":"1920-09-03T03:06:52Z","stringField":"OrsXQWb","stringTimeField":"08:54:58.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1441,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1441,"uuid":"9de3e443-5655-11ee-8801-675ed0f8e89b"},"arrayField":["Bnxv","FeYY","opStGsFV","wjFYI","asbrbxH"],"boolField":true,"intField":179,"numField":-21.71912167129331,"objField":{"BcuK":-8695681865147332442,"Ifmio":-4548661558245244999,"Wtun":7388312927726519737,"ZbQDoUQ":729021948063961351,"gJEHKiBBu":3538646268234796683,"vxoG":3628308778404918890},"stringDateField":"1995-12-12","stringDateTimeField":"1999-07-02T22:38:09Z","stringField":"TcDYPvbTxt","stringTimeField":"17:21:05.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":179,"numField":-21.71912167129331,"stringDateField":"1995-12-12","stringDateTimeField":"1999-07-02T22:38:09Z","stringField":"TcDYPvbTxt","stringTimeField":"17:21:05.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1442,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1442,"uuid":"9de3e443-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["pmpyooKQBl","iUPgIG","lBQN","KhoaBHiifW"],"boolField":true,"intField":-143,"numField":-320.59801633815033,"objField":{"FoMqSd":3990348959795753793,"GYBxSd":8404792988650310709,"HbpnHsko":-652079466280144214,"brvpQxfQ":4060705470345079382,"dddBP":7533048207496006071,"gnnxjxA":-5236842182518652334,"jzEutfuD":6214997609945280054,"qQUPwg":-107340854235188215,"ziEWhFis":-3264342618993197861},"stringDateField":"1978-10-14","stringDateTimeField":"1929-02-18T11:41:08Z","stringField":"etvtb","stringTimeField":"00:57:47.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":-143,"numField":-320.59801633815033,"stringDateField":"1978-10-14","stringDateTimeField":"1929-02-18T11:41:08Z","stringField":"etvtb","stringTimeField":"00:57:47.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1443,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1443,"uuid":"9de3e443-5655-11ee-9001-675ed0f8e89b"},"arrayField":["aWBI"],"boolField":false,"intField":178,"numField":-638.7909611227622,"objField":{"BMpu":-7851640155968741947,"HaJpyZv":5561488815662435435,"KeeeWcK":4492466531388854412,"RZpFMQI":8011756257552664779,"TMelWO":-4546187919693362395,"TYUXChtnG":280549838693625585,"ZhwaVNwK":-3199283761331923466,"juvZ":-169330308495313551,"nfqR":724317817676227696,"psonTtd":-1619970273186779185},"stringDateField":"1913-05-31","stringDateTimeField":"1907-06-01T11:25:02Z","stringField":"nHmoQrhtA","stringTimeField":"18:47:36.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":178,"numField":-638.7909611227622,"stringDateField":"1913-05-31","stringDateTimeField":"1907-06-01T11:25:02Z","stringField":"nHmoQrhtA","stringTimeField":"18:47:36.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1444,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1444,"uuid":"9de3e443-5655-11ee-9401-675ed0f8e89b"},"arrayField":["eDcpxUaPWQ","MVLN","YpCer"],"boolField":false,"intField":801,"numField":414.2507703078868,"objField":{"DwNWz":5284303560051241839,"JLGwLET":-6285806347925150122,"jboVAV":-7757121247462590710},"stringDateField":"1950-01-02","stringDateTimeField":"1967-04-09T14:51:46Z","stringField":"ggejrmO","stringTimeField":"05:45:45.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":801,"numField":414.2507703078868,"stringDateField":"1950-01-02","stringDateTimeField":"1967-04-09T14:51:46Z","stringField":"ggejrmO","stringTimeField":"05:45:45.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1445,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1445,"uuid":"9de3e443-5655-11ee-9801-675ed0f8e89b"},"arrayField":["sdhhS","WJQgMyL","bGJx","imDBi","VlPF","SKJZ"],"boolField":true,"intField":50,"numField":758.1646749735551,"objField":{"CbLGC":1125956875089856682,"EPnWuSoOX":7507065403237858700,"IVnQs":-7007970663024140735,"JMcICiyKiL":6812872116846846058,"ZDjXGQzbWq":8478964196143146709,"cKufUEEtf":8533994223334756753,"eOsYriQE":6922668888233966047,"kkXtSA":-1185956304359001291,"nigaIsf":7435260858986624203},"stringDateField":"1936-01-28","stringDateTimeField":"1926-09-16T15:35:06Z","stringField":"MJaQgLHn","stringTimeField":"22:01:29.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":50,"numField":758.1646749735551,"stringDateField":"1936-01-28","stringDateTimeField":"1926-09-16T15:35:06Z","stringField":"MJaQgLHn","stringTimeField":"22:01:29.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1446,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1446,"uuid":"9de3e443-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["oJUVWRwU","KmyYJcANH","VsGq","bIZgEFuYuH","NEIowYFD","tlvkMzB"],"boolField":true,"intField":122,"numField":-906.4798535359232,"objField":{"EnCKxwqick":6483667255505890577,"NjsCVkgYD":-2975272781899519490,"aoTrPwJpS":-3663360629066948279,"cpCOuFZbf":8039520670044052658,"ftcoQu":-8319693761587482750},"stringDateField":"1919-06-24","stringDateTimeField":"2018-02-07T05:36:05Z","stringField":"fpXec","stringTimeField":"21:11:28.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":122,"numField":-906.4798535359232,"stringDateField":"1919-06-24","stringDateTimeField":"2018-02-07T05:36:05Z","stringField":"fpXec","stringTimeField":"21:11:28.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1447,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1447,"uuid":"9de3e443-5655-11ee-a001-675ed0f8e89b"},"arrayField":["zUeQxyY","ErmwBmPYij","MMrbTQ","SJYGJ","mdecvDD","rGNvRKSY","DpvSIxjBN","MzacNoJY"],"boolField":true,"intField":301,"numField":-1.7062331191678437,"objField":{"HSitBZbLZ":-6740410873840529231,"HbhLM":-6260761584799721405,"kpGXyVtdjd":3672219835187886107},"stringDateField":"1978-09-28","stringDateTimeField":"1987-04-10T00:34:13Z","stringField":"ezDHOt","stringTimeField":"14:11:38.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":301,"numField":-1.7062331191678437,"stringDateField":"1978-09-28","stringDateTimeField":"1987-04-10T00:34:13Z","stringField":"ezDHOt","stringTimeField":"14:11:38.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1448,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1448,"uuid":"9de3e443-5655-11ee-a401-675ed0f8e89b"},"arrayField":["vyotAVXr","vuNZN","DLrwFCpuXj","PnbFUUuAn","IyWcjEep","jiREtFHF"],"boolField":true,"intField":-106,"numField":85.77419326578139,"objField":{"GxTZH":6076036802843732343,"iIOdhyGgq":-1730334908535600117,"lrphA":2668574671800839828},"stringDateField":"1932-03-30","stringDateTimeField":"1989-05-31T05:33:03Z","stringField":"jOErRH","stringTimeField":"01:57:52.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":-106,"numField":85.77419326578139,"stringDateField":"1932-03-30","stringDateTimeField":"1989-05-31T05:33:03Z","stringField":"jOErRH","stringTimeField":"01:57:52.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1449,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1449,"uuid":"9de3e443-5655-11ee-a801-675ed0f8e89b"},"arrayField":["pZwQOD","haxeRD","FYcZgQF","ZuzvDa","jckSoboei","cfHOFR","JJcAfdlPn","mrHvSnKP"],"boolField":true,"intField":-826,"numField":-898.5299007384072,"objField":{"FQCFiIPlUo":2704645062884808040,"OtYpHzNYtv":-6242801264088456707,"RNRvRJOrgg":-1335510429718250169,"jLINAd":3298155791994226132},"stringDateField":"2015-05-23","stringDateTimeField":"1965-10-06T17:58:06Z","stringField":"mnhfS","stringTimeField":"14:59:39.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":-826,"numField":-898.5299007384072,"stringDateField":"2015-05-23","stringDateTimeField":"1965-10-06T17:58:06Z","stringField":"mnhfS","stringTimeField":"14:59:39.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1450,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1450,"uuid":"9de3e443-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["gloaYkimOG","DOSCEvWzhx","uiBE","QQjkmNp","JutGxqVE","XBZwYnb","qiKonje"],"boolField":false,"intField":-453,"numField":35.454455130151885,"objField":{"OsWgyAL":-8500048913514464800,"ltOUnmLFA":-4792365577390723959,"oOObXmT":-5274654564186710415,"pmKJiDh":-1432621276960791835,"vfpwxAl":-3906661412529633891,"vkIMnTORvb":5631141483045722081,"yOkyulYlV":1006751833953385756},"stringDateField":"2013-02-03","stringDateTimeField":"1908-03-23T07:05:16Z","stringField":"ejaS","stringTimeField":"07:57:06.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":-453,"numField":35.454455130151885,"stringDateField":"2013-02-03","stringDateTimeField":"1908-03-23T07:05:16Z","stringField":"ejaS","stringTimeField":"07:57:06.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1451,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1451,"uuid":"9de3e443-5655-11ee-b001-675ed0f8e89b"},"arrayField":["BsEOmKa","GRdbK","hnxKHz","nUYXEtSia"],"boolField":false,"intField":-330,"numField":-25.776672882659945,"objField":{"gkzAcOZ":585192186823068367},"stringDateField":"1908-08-30","stringDateTimeField":"1903-06-01T20:29:01Z","stringField":"FpmUEhUzK","stringTimeField":"14:38:35.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":-330,"numField":-25.776672882659945,"stringDateField":"1908-08-30","stringDateTimeField":"1903-06-01T20:29:01Z","stringField":"FpmUEhUzK","stringTimeField":"14:38:35.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1452,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1452,"uuid":"9de3e443-5655-11ee-b401-675ed0f8e89b"},"arrayField":["WbbzA","ITwRHl","RoXMVzpxr","ilKYkiWR","mHdA","rzWoUKl","AniEs","ysetLt","bcmD","ONwXBAzBxs"],"boolField":false,"intField":553,"numField":-299.4992941465008,"objField":{"FrYyz":-2367904361596139531,"LmYFjbIHUx":7173260034393447406,"klfbu":4084205762761671774,"qigXV":-5764619551903668960,"qqsvIRFFt":422978658782865734,"tVyWMeHjpt":8300019698623100911,"vPWiG":1516904891488867525,"yxbIsb":-288673163770895352},"stringDateField":"2016-11-12","stringDateTimeField":"1923-07-14T22:04:29Z","stringField":"HxJQFKtGM","stringTimeField":"07:27:33.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":553,"numField":-299.4992941465008,"stringDateField":"2016-11-12","stringDateTimeField":"1923-07-14T22:04:29Z","stringField":"HxJQFKtGM","stringTimeField":"07:27:33.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1453,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1453,"uuid":"9de3e443-5655-11ee-b801-675ed0f8e89b"},"arrayField":["MNBCfk","bNeaxrwVE"],"boolField":true,"intField":944,"numField":-516.0022653997155,"objField":{"Jgtb":-6737673503626827667,"QntlLdtN":-4897441120283465273,"cRwO":-6767896123743232366},"stringDateField":"2003-10-05","stringDateTimeField":"1985-01-13T11:49:58Z","stringField":"sASGUKLhp","stringTimeField":"14:15:21.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":944,"numField":-516.0022653997155,"stringDateField":"2003-10-05","stringDateTimeField":"1985-01-13T11:49:58Z","stringField":"sASGUKLhp","stringTimeField":"14:15:21.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1454,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1454,"uuid":"9de3e443-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["qDVC","pQMGSVkSJ","hbqpW","SahOQeQMD","bNMKH","MBIKd","SHHwVyUcP","oEUXLGUlu","SDodtUTQW"],"boolField":true,"intField":-602,"numField":631.171187267386,"objField":{"HfqS":-2002222650675687169,"XkkEFBxqvI":-1222713965179011001,"paffOWLAJ":-4288500785864649038},"stringDateField":"1994-05-18","stringDateTimeField":"1973-04-22T00:10:26Z","stringField":"NHGfjQOo","stringTimeField":"12:51:30.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230979Z","intField":-602,"numField":631.171187267386,"stringDateField":"1994-05-18","stringDateTimeField":"1973-04-22T00:10:26Z","stringField":"NHGfjQOo","stringTimeField":"12:51:30.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1455,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1455,"uuid":"9de3e444-5655-11ee-8001-675ed0f8e89b"},"arrayField":["XnkPohR","GtttsyGA","EwXpRkwnU"],"boolField":false,"intField":15,"numField":-822.3514342112172,"objField":{"HtzP":8014458290744423985,"KXyKHoAam":-5868016224649579499,"LdHmUmJ":344194394132966493,"Ozaoar":8748244282655220560,"tZACjyfpc":-8179679389769577127,"yzomIED":1400186023913177259},"stringDateField":"1996-06-18","stringDateTimeField":"1978-07-17T09:27:02Z","stringField":"TfHZ","stringTimeField":"09:48:56.35Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":15,"numField":-822.3514342112172,"stringDateField":"1996-06-18","stringDateTimeField":"1978-07-17T09:27:02Z","stringField":"TfHZ","stringTimeField":"09:48:56.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1456,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1456,"uuid":"9de3e444-5655-11ee-8401-675ed0f8e89b"},"arrayField":["gBLriRxR","ngjvofL","qKWoeltbLP","CsKjrhuirj","pxPZuiRjp"],"boolField":true,"intField":-987,"numField":891.4264307098647,"objField":{"NGMQiSBDW":3766033072804803314},"stringDateField":"1985-03-16","stringDateTimeField":"1993-09-13T17:37:33Z","stringField":"ceyF","stringTimeField":"21:48:09.10Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":-987,"numField":891.4264307098647,"stringDateField":"1985-03-16","stringDateTimeField":"1993-09-13T17:37:33Z","stringField":"ceyF","stringTimeField":"21:48:09.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1457,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1457,"uuid":"9de3e444-5655-11ee-8801-675ed0f8e89b"},"arrayField":["cTMwyjv","jVNXy","VRnfRT","ddxu"],"boolField":true,"intField":195,"numField":123.91337617733056,"objField":{"KULd":6730982602489403441,"UJNnGfSdZo":-837483410110246369,"Xemzjo":3038335506708935547,"upxzxV":4249292700790831367,"yIOta":-1153783976222332611,"zpoNrMa":-8479951824807207083},"stringDateField":"1911-02-15","stringDateTimeField":"1972-12-10T01:00:50Z","stringField":"gltUB","stringTimeField":"21:57:38.13Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":195,"numField":123.91337617733056,"stringDateField":"1911-02-15","stringDateTimeField":"1972-12-10T01:00:50Z","stringField":"gltUB","stringTimeField":"21:57:38.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1458,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1458,"uuid":"9de3e444-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["eScso","LisgY","Tcwy","SrfRpXpyv","gHuHBn","zTzqiIMFqU","YynxgCiE","YcpP","WuQygzmN"],"boolField":true,"intField":-792,"numField":518.7693246239849,"objField":{"XxWJh":-1311363608810124572,"dzmjWlxXi":1000974230542971203,"eJBhbvVhe":3265948871102745066},"stringDateField":"1999-03-12","stringDateTimeField":"1928-08-15T09:08:39Z","stringField":"JzqvyfiYU","stringTimeField":"10:13:24.17Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":-792,"numField":518.7693246239849,"stringDateField":"1999-03-12","stringDateTimeField":"1928-08-15T09:08:39Z","stringField":"JzqvyfiYU","stringTimeField":"10:13:24.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1459,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1459,"uuid":"9de3e444-5655-11ee-9001-675ed0f8e89b"},"arrayField":["vnEM","jBjhFsoynN","ifVryLSF","Muxyilw","ccHBSNFA","TRzTvNw","yUdnX"],"boolField":false,"intField":-699,"numField":227.5361608454072,"objField":{"VulPKs":-3965777131392870533,"eBKOCRHliu":3724831980333600655,"edCdybLdrE":638949226145244174,"pjIyy":-6005086237487246176,"tBLSsB":1356493310383333491,"ugpjpI":4046669114704330797},"stringDateField":"1993-02-14","stringDateTimeField":"2005-11-12T03:17:46Z","stringField":"jEDaE","stringTimeField":"03:24:52.30Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":-699,"numField":227.5361608454072,"stringDateField":"1993-02-14","stringDateTimeField":"2005-11-12T03:17:46Z","stringField":"jEDaE","stringTimeField":"03:24:52.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1460,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1460,"uuid":"9de3e444-5655-11ee-9401-675ed0f8e89b"},"arrayField":["QPVbFCGMTP","IxVgZ","jZBtYdcrU","igRdNXkLg","WPjebKINV"],"boolField":false,"intField":-38,"numField":839.5401617868404,"objField":{"KxfZT":-7201922850144546661,"LrVPtn":3496616432419947209,"QBltIuwpS":-7305356768061854696,"YsnvRYESv":4159838446877938649,"lULnYATSwe":5233035733970882187,"ptACJiIk":2970126249777159986,"uNKoO":-5114361477028369292},"stringDateField":"2017-11-05","stringDateTimeField":"1940-02-15T16:32:04Z","stringField":"lSKh","stringTimeField":"21:07:32.27Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":-38,"numField":839.5401617868404,"stringDateField":"2017-11-05","stringDateTimeField":"1940-02-15T16:32:04Z","stringField":"lSKh","stringTimeField":"21:07:32.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1461,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1461,"uuid":"9de3e444-5655-11ee-9801-675ed0f8e89b"},"arrayField":["kNFqWGHkOe","vvBzvgLXVh","qKJwLdTjKj","lKaddaVL","ouourBRmSm","bAieCYRe","bDzbR","RXeRNaBQWN","DvYKNGBE","dgDnPHU"],"boolField":true,"intField":-220,"numField":667.6477158515928,"objField":{"QNBDet":-8011139705894605636,"QUWRe":8638165682888800051,"QvYjzN":-2953798531138431004,"YFNNWpxwr":-7792021030790315072,"aPYwIFZ":-7551664583851742848,"tVCnDz":6150132998496129081,"zyNPWF":6498165680936744641},"stringDateField":"1971-05-10","stringDateTimeField":"1947-12-01T23:01:54Z","stringField":"tzGvKmq","stringTimeField":"00:06:51.46Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":-220,"numField":667.6477158515928,"stringDateField":"1971-05-10","stringDateTimeField":"1947-12-01T23:01:54Z","stringField":"tzGvKmq","stringTimeField":"00:06:51.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1462,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1462,"uuid":"9de3e444-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["NyWYcVF","YuFLEPXq","tTSBualYu","DfJSDunp","nUXgRgmuT","WmHDU"],"boolField":true,"intField":-366,"numField":168.0934001727701,"objField":{"XnMptV":1774305521142755163,"fWcw":-3594385949710466170,"zaUnYSXtB":-6046556641543033716},"stringDateField":"1913-01-11","stringDateTimeField":"1956-06-08T18:13:18Z","stringField":"LAFqBiUFI","stringTimeField":"17:53:50.26Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":-366,"numField":168.0934001727701,"stringDateField":"1913-01-11","stringDateTimeField":"1956-06-08T18:13:18Z","stringField":"LAFqBiUFI","stringTimeField":"17:53:50.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1463,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1463,"uuid":"9de3e444-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ZWjjqOO","JOcXDerHd","shkm","EkYsbm"],"boolField":false,"intField":-476,"numField":507.9751295213259,"objField":{"nkUBzoMw":-383375127126522874},"stringDateField":"1961-04-11","stringDateTimeField":"1930-04-27T13:44:52Z","stringField":"xFGEDt","stringTimeField":"11:05:17.45Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":-476,"numField":507.9751295213259,"stringDateField":"1961-04-11","stringDateTimeField":"1930-04-27T13:44:52Z","stringField":"xFGEDt","stringTimeField":"11:05:17.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1464,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1464,"uuid":"9de3e444-5655-11ee-a401-675ed0f8e89b"},"arrayField":["QuPyUn","dDwn","oSNTaRLVxq"],"boolField":true,"intField":-861,"numField":579.0315381959625,"objField":{"LiqGYetYHt":7288433104945520069,"RYkoMmscCP":-1553954147049375698,"rPlKn":5984798321351767976},"stringDateField":"1997-02-22","stringDateTimeField":"1928-10-10T00:02:28Z","stringField":"XYbI","stringTimeField":"05:18:09.18Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":-861,"numField":579.0315381959625,"stringDateField":"1997-02-22","stringDateTimeField":"1928-10-10T00:02:28Z","stringField":"XYbI","stringTimeField":"05:18:09.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1465,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1465,"uuid":"9de3e444-5655-11ee-a801-675ed0f8e89b"},"arrayField":["oShrWF"],"boolField":false,"intField":-403,"numField":117.8619683178177,"objField":{"FdYoWTnC":-6638528793203523471,"HozhYIsXNT":-1671647503114671187,"TKskPlPlW":5941078226723691796,"cOfdCjJ":-1185915682433996214,"sCpmfN":-9157751031985650336,"ttmGZhTFGI":1428294367091925186,"uYKSY":8579577710042912948},"stringDateField":"1902-09-14","stringDateTimeField":"2020-02-07T01:01:24Z","stringField":"krSMMmVkc","stringTimeField":"21:25:12.18Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":-403,"numField":117.8619683178177,"stringDateField":"1902-09-14","stringDateTimeField":"2020-02-07T01:01:24Z","stringField":"krSMMmVkc","stringTimeField":"21:25:12.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1466,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1466,"uuid":"9de3e444-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["CtJmxsROtJ","qIdjuCvK","mUxZHLuH"],"boolField":false,"intField":-586,"numField":-624.6154167780634,"objField":{"ITzW":1201166837781125797,"JuOYYqI":6446542924787751879,"RoWplLjKD":-4615523942546876065,"XTdQwy":687622837970082717,"nqJdvni":5038563692351853808},"stringDateField":"1995-05-25","stringDateTimeField":"1945-09-05T05:08:38Z","stringField":"hTiai","stringTimeField":"08:11:41.35Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":-586,"numField":-624.6154167780634,"stringDateField":"1995-05-25","stringDateTimeField":"1945-09-05T05:08:38Z","stringField":"hTiai","stringTimeField":"08:11:41.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1467,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1467,"uuid":"9de3e444-5655-11ee-b001-675ed0f8e89b"},"arrayField":["GeWbUCuuQ","EehEq","qAjgs","ZbMZCZf","CufhMmFx","kcSPJ","oFbG","uTEp","GgULWqB"],"boolField":false,"intField":529,"numField":523.5333675191661,"objField":{"RDKlS":5684750927654629018,"kAZnUzqGU":5601979990916928537,"xUJuRuplCw":-5683394242161206592},"stringDateField":"1943-07-30","stringDateTimeField":"1904-04-10T03:14:10Z","stringField":"ZtVRvwcvuO","stringTimeField":"11:40:38.33Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":529,"numField":523.5333675191661,"stringDateField":"1943-07-30","stringDateTimeField":"1904-04-10T03:14:10Z","stringField":"ZtVRvwcvuO","stringTimeField":"11:40:38.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1468,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1468,"uuid":"9de3e444-5655-11ee-b401-675ed0f8e89b"},"arrayField":["VLjQg","BfWXuS","GEqfKJdO","mWANfTjRe","jqUOrVce","LoLoFPnDSh","Rkci"],"boolField":true,"intField":557,"numField":-619.3168160946618,"objField":{"GSfUzCt":-4361417934050125116,"NtSDry":-2289825434229957806,"WhzbZkn":7119630691698360908,"YwnFV":-3656696949906463186,"eOYQz":3170715264792244588,"joAj":6150863266243228683,"lnVhoNwWT":840404598159772269,"okqFe":7378239447626285599,"rFEQj":4047589827155961556,"xKuSa":-7791121614977581514},"stringDateField":"1971-04-10","stringDateTimeField":"1905-12-18T19:23:51Z","stringField":"BaSzm","stringTimeField":"04:55:24.20Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":557,"numField":-619.3168160946618,"stringDateField":"1971-04-10","stringDateTimeField":"1905-12-18T19:23:51Z","stringField":"BaSzm","stringTimeField":"04:55:24.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1469,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1469,"uuid":"9de3e444-5655-11ee-b801-675ed0f8e89b"},"arrayField":["FrQLcxwZ","vvOedAIE","KIqiBbxzy","rJVW","FxaQDopcpQ","VhVac","tBAmzvgrgl","PBHuLoG","njthSF","gmQbUMwMMT"],"boolField":false,"intField":876,"numField":-684.4279930924296,"objField":{"OIJNkz":1843787245891583684,"XhJOylrr":2964107478310673529,"cqpMyXqeZC":3425707505342820402,"eqRJ":-1736532364842914759,"fRPCDz":3838240510650040964,"mbzZFjRwff":-2619390033674967526,"pBAXEiKF":-5369289308652993731,"rbGKKQL":6605452805782752743},"stringDateField":"1971-04-05","stringDateTimeField":"2020-09-12T19:06:42Z","stringField":"frtpbLgVZU","stringTimeField":"21:00:07.16Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":876,"numField":-684.4279930924296,"stringDateField":"1971-04-05","stringDateTimeField":"2020-09-12T19:06:42Z","stringField":"frtpbLgVZU","stringTimeField":"21:00:07.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1470,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1470,"uuid":"9de3e444-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["rFCTlJd","CSwu","LfVOvPwK","HMwvA","eqaQoE","SRCGlLRe","tnUrFJz","KUTWq"],"boolField":false,"intField":679,"numField":253.27101796745643,"objField":{"suuM":2476196202339443592,"tcUpMjh":7117122992130135135},"stringDateField":"1938-02-01","stringDateTimeField":"1901-05-06T09:07:35Z","stringField":"MnBwom","stringTimeField":"13:07:56.14Z"},"flow_published_at":"2023-09-18T19:00:21.623098Z","intField":679,"numField":253.27101796745643,"stringDateField":"1938-02-01","stringDateTimeField":"1901-05-06T09:07:35Z","stringField":"MnBwom","stringTimeField":"13:07:56.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1471,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1471,"uuid":"9de3e445-5655-11ee-8001-675ed0f8e89b"},"arrayField":["sZQRVGg","zcxw","VHmH","KxodTymCCk","zxdl"],"boolField":true,"intField":-48,"numField":-496.39735826745954,"objField":{"CoWnz":9118000788673971357,"Hcmi":-8903175162020493267,"MyTlprK":-7458038520783209312,"XXYLm":-8411054649162525022,"ySbIQOs":-9059198837434799539},"stringDateField":"1918-08-20","stringDateTimeField":"1916-02-04T07:48:20Z","stringField":"LRDMHgfq","stringTimeField":"06:41:37.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":-48,"numField":-496.39735826745954,"stringDateField":"1918-08-20","stringDateTimeField":"1916-02-04T07:48:20Z","stringField":"LRDMHgfq","stringTimeField":"06:41:37.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1472,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1472,"uuid":"9de3e445-5655-11ee-8401-675ed0f8e89b"},"arrayField":["tcUCfIzAV","REExGKq","igLr"],"boolField":true,"intField":240,"numField":719.4301667940823,"objField":{"DOCn":4194845931850896523,"KVpGCWNaJ":4888206667873880759,"VnRnXHvuo":1630186872300110695,"cDTZZLii":-6096382787093705396,"dcUcy":8509673239583453862,"gnQYOoiJi":4186611841988750988,"hEsaGuqR":6063447191346666142,"safyci":3146761792949922861,"uBYMHQAW":-7390593381911127474,"zgeJ":5400374940297413174},"stringDateField":"2023-07-16","stringDateTimeField":"1900-05-31T03:57:05Z","stringField":"DaXpR","stringTimeField":"01:07:42.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":240,"numField":719.4301667940823,"stringDateField":"2023-07-16","stringDateTimeField":"1900-05-31T03:57:05Z","stringField":"DaXpR","stringTimeField":"01:07:42.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1473,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1473,"uuid":"9de3e445-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ZRIg","ouJxiCRIw","iXKFYchoBv","uBJdRc","tmeo","QtLUpkPvM"],"boolField":false,"intField":-717,"numField":-130.94378433114795,"objField":{"ACOAFtXoS":626069402276452111,"KdXW":2385081360225097054,"MHlOxS":112098372190850047,"OZlJqcOo":9178025996371374690,"ddCGtC":-6691795410019035016,"ectdQJLQqk":-6935578684805223504,"nJysu":-366315105574738196,"nQIzSSk":-8018067560079672806,"vFsDF":-7259437466346491298,"vjlpidGpz":5599630919006141251},"stringDateField":"1933-07-20","stringDateTimeField":"1978-11-27T18:42:52Z","stringField":"hkmce","stringTimeField":"04:41:10.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":-717,"numField":-130.94378433114795,"stringDateField":"1933-07-20","stringDateTimeField":"1978-11-27T18:42:52Z","stringField":"hkmce","stringTimeField":"04:41:10.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1474,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1474,"uuid":"9de3e445-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["xQye"],"boolField":false,"intField":440,"numField":-321.2309450611138,"objField":{"AiSEdbFejw":6714523508256082181,"HSsazv":-5759543592933467681,"IZzeMu":7516302579939807712,"PGAzZdoJ":5877708571258822107,"TdjWeCDNZH":8529035021498130667,"UPfwcAmLi":1070955982479449854,"VDUxuS":7449322027928794211,"WebfvQJ":3793398658458807821,"gZIuc":-8930796151127040463,"lCfZ":5167684048265928492},"stringDateField":"1988-03-23","stringDateTimeField":"1905-11-03T20:10:42Z","stringField":"EMJq","stringTimeField":"10:08:48.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":440,"numField":-321.2309450611138,"stringDateField":"1988-03-23","stringDateTimeField":"1905-11-03T20:10:42Z","stringField":"EMJq","stringTimeField":"10:08:48.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1475,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1475,"uuid":"9de3e445-5655-11ee-9001-675ed0f8e89b"},"arrayField":["eECgCrhcjb","Pnaelw"],"boolField":true,"intField":-554,"numField":-473.80133271827754,"objField":{"QcVZmG":-5136154583945009874,"QiJPmbZlc":-3847317413876050990,"iwPYVlSW":-1575582139753706833,"nSoAgROPmB":-218687668970411565,"rFbWzvnR":-65741687615522682},"stringDateField":"2018-12-10","stringDateTimeField":"1927-08-01T15:16:19Z","stringField":"TnqcJFaf","stringTimeField":"23:54:41.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":-554,"numField":-473.80133271827754,"stringDateField":"2018-12-10","stringDateTimeField":"1927-08-01T15:16:19Z","stringField":"TnqcJFaf","stringTimeField":"23:54:41.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1476,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1476,"uuid":"9de3e445-5655-11ee-9401-675ed0f8e89b"},"arrayField":["bYZHtgE","amzQazQz","PwwnCBpyu","FAaWVQZqR","hHxbSfpvj","magJSYM","HLRxtacT"],"boolField":false,"intField":-468,"numField":735.2402137903671,"objField":{"Crrc":6391540689971705338,"QGojqFLP":6975107116489487888,"SgOyypNwbd":829657360769519927,"XhImZSCeZs":-8146829303366940403,"aDLrqjKhq":6713527965281217309,"vVjymFH":-5682638204520692306},"stringDateField":"1992-05-17","stringDateTimeField":"1915-08-01T00:28:57Z","stringField":"azydf","stringTimeField":"14:16:21.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":-468,"numField":735.2402137903671,"stringDateField":"1992-05-17","stringDateTimeField":"1915-08-01T00:28:57Z","stringField":"azydf","stringTimeField":"14:16:21.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1477,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1477,"uuid":"9de3e445-5655-11ee-9801-675ed0f8e89b"},"arrayField":["wRqwoEFBW","AoYVTkHg","nEqewwna","VViY","dwdhYHX","PHGxnvzh","cLKYd"],"boolField":false,"intField":908,"numField":812.8642464014583,"objField":{"EYynOEZvT":-2111614986676977226,"OJQOPSKD":-6011627980252627733,"SpPwCvHgZd":4535122687710215618,"bKWgkm":3658804387480097937,"clsgHY":8751466159792728959,"gJwVxmWr":2469437183052405375,"qBLys":-3650277473666358511,"qKSeEw":-1879176651435442696},"stringDateField":"2017-10-14","stringDateTimeField":"1958-11-23T16:03:32Z","stringField":"TFJGeqRfIj","stringTimeField":"06:33:49.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":908,"numField":812.8642464014583,"stringDateField":"2017-10-14","stringDateTimeField":"1958-11-23T16:03:32Z","stringField":"TFJGeqRfIj","stringTimeField":"06:33:49.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1478,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1478,"uuid":"9de3e445-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wzQlRD","wwyX","VztskHDAAu","ZQDIPl","shKGqYXm","lKPXzq","snfGLtWeTi","NYpqYyjXr","tEma","OZKqsOlTR"],"boolField":false,"intField":-14,"numField":126.8331896486332,"objField":{"NLtcmii":-4830512961179043288},"stringDateField":"1974-04-18","stringDateTimeField":"1918-03-01T20:00:22Z","stringField":"GrLGpfvP","stringTimeField":"19:30:58.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":-14,"numField":126.8331896486332,"stringDateField":"1974-04-18","stringDateTimeField":"1918-03-01T20:00:22Z","stringField":"GrLGpfvP","stringTimeField":"19:30:58.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1479,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1479,"uuid":"9de3e445-5655-11ee-a001-675ed0f8e89b"},"arrayField":["lMMY","xtOEP","lqvJPIm","UOowW","RjzKloiDCk","ozlWBT","bcUM","cNkaZF","dmwZnFkagy","TBgX"],"boolField":false,"intField":-204,"numField":472.858564482115,"objField":{"Bzecxns":-5087789369585661124,"NQJXsEAelW":2376215932222223411,"NslR":-5350681254738646342,"SmVVzmvR":-8288207132087845566,"UFVZnn":6655861139837069824,"ioaWneH":8877905522642731718,"ncejPvpUBs":-6594777021263211429},"stringDateField":"1996-12-14","stringDateTimeField":"1912-09-30T04:46:33Z","stringField":"ZROgZFmtf","stringTimeField":"21:22:55.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":-204,"numField":472.858564482115,"stringDateField":"1996-12-14","stringDateTimeField":"1912-09-30T04:46:33Z","stringField":"ZROgZFmtf","stringTimeField":"21:22:55.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1480,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1480,"uuid":"9de3e445-5655-11ee-a401-675ed0f8e89b"},"arrayField":["gQaMT"],"boolField":true,"intField":264,"numField":-492.545232873792,"objField":{"NUrL":-3065275790245035871,"PHPufUaMp":-2661535044104158473,"RgMEEBCgd":2594878095136576544},"stringDateField":"1990-11-25","stringDateTimeField":"1979-12-24T20:09:42Z","stringField":"bGAJwAguM","stringTimeField":"05:57:25.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":264,"numField":-492.545232873792,"stringDateField":"1990-11-25","stringDateTimeField":"1979-12-24T20:09:42Z","stringField":"bGAJwAguM","stringTimeField":"05:57:25.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1481,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1481,"uuid":"9de3e445-5655-11ee-a801-675ed0f8e89b"},"arrayField":["MUwJGe","aBaQCHj","rtEzPSK","Tebvrhl","fGyHNgh"],"boolField":true,"intField":749,"numField":377.05025199654176,"objField":{"AOiEY":-2286949851773884751,"AmkhSR":-5530469480561857049,"BpjqHRwrq":-8190260957453401137,"ciqqTWFUj":-8518876577672844922,"uokWZDVpnV":4365982139351589721},"stringDateField":"1988-10-21","stringDateTimeField":"1970-05-26T13:04:00Z","stringField":"VVniy","stringTimeField":"00:31:02.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":749,"numField":377.05025199654176,"stringDateField":"1988-10-21","stringDateTimeField":"1970-05-26T13:04:00Z","stringField":"VVniy","stringTimeField":"00:31:02.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1482,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1482,"uuid":"9de3e445-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["cvWR","oWrrd","DLOh","hSOksCml","wfwqdG","TdGXMF","YzvUcel","prxZXxz","GHVs","JoppSz"],"boolField":false,"intField":729,"numField":720.9222940550479,"objField":{"EYUJUjYC":-8128185555739889840,"IrhXwnuij":1361379374674866954,"LMhbXbxgZ":2766121279289562,"QXGxdjAL":5748374395027643697,"UnwHfZUION":5768770699286954472,"gnUfevMLn":-1913155260456524852,"pXmvnAI":2930468111937627992,"sJkzaW":-2459542353050158669},"stringDateField":"1907-10-04","stringDateTimeField":"1959-04-30T11:20:39Z","stringField":"GRjJwwcJf","stringTimeField":"03:37:57.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":729,"numField":720.9222940550479,"stringDateField":"1907-10-04","stringDateTimeField":"1959-04-30T11:20:39Z","stringField":"GRjJwwcJf","stringTimeField":"03:37:57.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1483,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1483,"uuid":"9de3e445-5655-11ee-b001-675ed0f8e89b"},"arrayField":["HNPH","slkupSq","fhVVLSE","msNtsuS","kxJdZa","GgjDjHD","MoGntyFqBa","YpeXlKiNP","UhNXFWx"],"boolField":false,"intField":-32,"numField":125.08482884496952,"objField":{"DuITxJYq":-6525611420459412052,"EtjpwdG":-6014871264306190820,"KyPtw":-3162517014522135639,"PqWgctB":-2545187043999891905,"fOeCSM":-6715983949920413684,"mkpKl":-8846776874905400941,"qaBgMEuUeC":9135813749776817763,"sbpczHERnL":-5909260031904066993,"tmemweUB":3055715789653639430},"stringDateField":"1948-05-24","stringDateTimeField":"1934-10-25T20:27:55Z","stringField":"ijJdf","stringTimeField":"20:23:21.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":-32,"numField":125.08482884496952,"stringDateField":"1948-05-24","stringDateTimeField":"1934-10-25T20:27:55Z","stringField":"ijJdf","stringTimeField":"20:23:21.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1484,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1484,"uuid":"9de3e445-5655-11ee-b401-675ed0f8e89b"},"arrayField":["onIkQBRSWu","VeKAwdc","mmECkjgOW","AsxouC","JosH","JvFfWb","RODhOAql","GgMhuiRM","AJXIpn"],"boolField":true,"intField":-997,"numField":-333.390390968214,"objField":{"CUUXooyZa":-5680330502306409123,"JEiviH":1328796736192361,"iFrBIoDsjL":-7279348270634314189},"stringDateField":"1969-03-12","stringDateTimeField":"2000-11-18T13:16:20Z","stringField":"NXDu","stringTimeField":"19:02:05.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":-997,"numField":-333.390390968214,"stringDateField":"1969-03-12","stringDateTimeField":"2000-11-18T13:16:20Z","stringField":"NXDu","stringTimeField":"19:02:05.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1485,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1485,"uuid":"9de3e445-5655-11ee-b801-675ed0f8e89b"},"arrayField":["YyuvT","MxQbWmR"],"boolField":false,"intField":149,"numField":500.2173207814999,"objField":{"BWUQGW":4089811465156849962,"ePrFDs":-6235407691039354850,"wHBwKkxC":-4317269117202294413,"zXOHbWBG":-7738473528203542972},"stringDateField":"1992-02-07","stringDateTimeField":"1935-10-14T19:24:46Z","stringField":"RMedkhpRcB","stringTimeField":"10:21:06.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":149,"numField":500.2173207814999,"stringDateField":"1992-02-07","stringDateTimeField":"1935-10-14T19:24:46Z","stringField":"RMedkhpRcB","stringTimeField":"10:21:06.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1486,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1486,"uuid":"9de3e445-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["kXBp","NpVf","PUSRf","DAoONT","IZLJ","cZWCPT","fUmtXwS","HpsvMsb"],"boolField":false,"intField":-380,"numField":-62.506105833815326,"objField":{"CApGw":2227973595625159473,"VTvIRcKm":8180065634358084259,"VUgo":337257305502555755,"YpmhMKjAQr":3900893962648998645,"lvAuX":3312324064620690500,"qHOS":6338455354053390970,"uRLjYRLDua":3820617219253216708},"stringDateField":"1966-02-13","stringDateTimeField":"1926-03-20T09:44:09Z","stringField":"VhHwlJ","stringTimeField":"19:30:34.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230981Z","intField":-380,"numField":-62.506105833815326,"stringDateField":"1966-02-13","stringDateTimeField":"1926-03-20T09:44:09Z","stringField":"VhHwlJ","stringTimeField":"19:30:34.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1487,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1487,"uuid":"9de3e446-5655-11ee-8001-675ed0f8e89b"},"arrayField":["vZMDbJtDmc","GXPrHgAZGk","cWQSNvW","NLig","TCWzrHZ","Doeg"],"boolField":false,"intField":878,"numField":405.2858384003275,"objField":{"QhhCNgRmUV":6242907932175264349,"YVbmvmHLy":2260830855921479857,"lAVOHJ":-8629053287483052347,"opImvcfT":-2849146604993405},"stringDateField":"2016-08-11","stringDateTimeField":"1972-01-16T14:31:19Z","stringField":"zbRQnWv","stringTimeField":"15:15:07.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":878,"numField":405.2858384003275,"stringDateField":"2016-08-11","stringDateTimeField":"1972-01-16T14:31:19Z","stringField":"zbRQnWv","stringTimeField":"15:15:07.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1488,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1488,"uuid":"9de3e446-5655-11ee-8401-675ed0f8e89b"},"arrayField":["BwDoxWm"],"boolField":true,"intField":-622,"numField":296.4588866843019,"objField":{"DLVDgF":3876599028668494665,"EQLmImxcbb":8432205258143214177,"NUcRkzG":5741978252471756394,"RCPc":5250449161558696208,"dEEaNgX":-8703278842194550879,"djMTsCn":4219709898480275384,"fitugzQT":-8175986009514034482,"iWNGlqyKtj":3654198351966862826},"stringDateField":"1939-04-14","stringDateTimeField":"1905-02-23T05:09:05Z","stringField":"QDcJxRN","stringTimeField":"18:14:23.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":-622,"numField":296.4588866843019,"stringDateField":"1939-04-14","stringDateTimeField":"1905-02-23T05:09:05Z","stringField":"QDcJxRN","stringTimeField":"18:14:23.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1489,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1489,"uuid":"9de3e446-5655-11ee-8801-675ed0f8e89b"},"arrayField":["mTVfL","OXgaBlzDd","NYMC","FfCEN","ZPWRM"],"boolField":false,"intField":98,"numField":-253.4787167618764,"objField":{"PJXX":3388975273054197172,"YOxM":9203856243769213136,"hKspn":3854777796789398555},"stringDateField":"1954-10-09","stringDateTimeField":"1955-12-28T20:23:08Z","stringField":"EQOAgFC","stringTimeField":"10:13:55.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":98,"numField":-253.4787167618764,"stringDateField":"1954-10-09","stringDateTimeField":"1955-12-28T20:23:08Z","stringField":"EQOAgFC","stringTimeField":"10:13:55.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1490,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1490,"uuid":"9de3e446-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["dUovsEWB","mKkn","CBed"],"boolField":true,"intField":272,"numField":-885.6414206644221,"objField":{"EsWpjP":-4043055031528967345,"gYJJh":-599116640019822220,"hhJL":-8158727974093663410,"lyIZff":2367040580745294041,"tPWRUJJsg":2887606172773522025,"uMsf":-6875155244499870923},"stringDateField":"1930-03-05","stringDateTimeField":"1970-04-04T02:18:38Z","stringField":"fTyGZoKv","stringTimeField":"08:31:52.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":272,"numField":-885.6414206644221,"stringDateField":"1930-03-05","stringDateTimeField":"1970-04-04T02:18:38Z","stringField":"fTyGZoKv","stringTimeField":"08:31:52.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1491,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1491,"uuid":"9de3e446-5655-11ee-9001-675ed0f8e89b"},"arrayField":["lyQqMWoqiC","ICHB","TqqdRZnzzX","CXDk","DxEX","KItuhAE"],"boolField":true,"intField":-478,"numField":214.75917645109476,"objField":{"BZwvsLJU":-5769591859538007409,"DcfMLH":-8330795902716783562,"HyAx":4018466085225123240,"LdXOrp":-7142546117776145174,"MJtfMnLbxg":-6610941906767728283,"NEiaPkA":3935959308893275694,"WSqrtXVPA":-5843973201832519335,"bYZHFfqyFW":5442764338328752656,"wPSYy":1544221134332470898,"whfVXtIF":-2718950706505721025},"stringDateField":"1925-07-06","stringDateTimeField":"1930-09-25T17:55:43Z","stringField":"JbUcngQy","stringTimeField":"20:52:01.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":-478,"numField":214.75917645109476,"stringDateField":"1925-07-06","stringDateTimeField":"1930-09-25T17:55:43Z","stringField":"JbUcngQy","stringTimeField":"20:52:01.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1492,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1492,"uuid":"9de3e446-5655-11ee-9401-675ed0f8e89b"},"arrayField":["VWzefDdNeT","WDWhxqPpl","vFBu","VEbGWc","tKpTdhdUo","WeaDwce","CCHnYYm","soyfdovgv","EszFFd"],"boolField":true,"intField":-575,"numField":-953.6046915733212,"objField":{"NJlLXv":8067458294642254084,"UOIeXIPt":1314426435209919698,"WFIxp":5112874715577726076,"iXOIhrvzpf":-8346209846852700841,"nEhns":5550769611357157539},"stringDateField":"1978-05-28","stringDateTimeField":"1997-06-30T23:51:38Z","stringField":"LXPTSqz","stringTimeField":"08:23:46.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":-575,"numField":-953.6046915733212,"stringDateField":"1978-05-28","stringDateTimeField":"1997-06-30T23:51:38Z","stringField":"LXPTSqz","stringTimeField":"08:23:46.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1493,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1493,"uuid":"9de3e446-5655-11ee-9801-675ed0f8e89b"},"arrayField":["LCrQPkK","XhtDFqcw","Znnzle","qkbejOLH","PFPaspkxp"],"boolField":false,"intField":-976,"numField":-506.98624408227903,"objField":{"GYJtQhp":2194394988068311664,"XSwxcjdqL":-3947601783835129904,"ZAYpFGltO":9159776830026004391,"axmlwcwVt":3746077686533845157,"hckqqE":1874739822313289233,"njdYkXsA":-2204203082736436417,"oSxkan":-5961323006087775103,"tuniG":-7481834695797968547},"stringDateField":"1962-10-20","stringDateTimeField":"1905-11-25T10:37:14Z","stringField":"BFbyqck","stringTimeField":"21:38:27.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":-976,"numField":-506.98624408227903,"stringDateField":"1962-10-20","stringDateTimeField":"1905-11-25T10:37:14Z","stringField":"BFbyqck","stringTimeField":"21:38:27.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1494,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1494,"uuid":"9de3e446-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["qsbmRxJy","TSbsB","IQrgdI","sMvS"],"boolField":true,"intField":-564,"numField":-93.33321115822746,"objField":{"GsAHW":-691913418500140213},"stringDateField":"1996-09-09","stringDateTimeField":"1914-08-20T19:22:42Z","stringField":"oARjSnXlsC","stringTimeField":"18:50:18.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":-564,"numField":-93.33321115822746,"stringDateField":"1996-09-09","stringDateTimeField":"1914-08-20T19:22:42Z","stringField":"oARjSnXlsC","stringTimeField":"18:50:18.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1495,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1495,"uuid":"9de3e446-5655-11ee-a001-675ed0f8e89b"},"arrayField":["dSJODVJ"],"boolField":false,"intField":646,"numField":-381.531490544791,"objField":{"FkvkCIwd":-2765627736643019367,"JiggD":836204227219228507,"MUzcQmKQ":8296147397265232108,"YaPoNES":-235022526535004614,"gmcBZ":-4138081195605103152,"oXreijNF":-7444117882800209877,"srYHLJA":8129611179436206722,"xqeP":4760945940573674057},"stringDateField":"1904-11-28","stringDateTimeField":"2020-08-09T22:00:20Z","stringField":"DUkLhcFSiP","stringTimeField":"09:09:24.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":646,"numField":-381.531490544791,"stringDateField":"1904-11-28","stringDateTimeField":"2020-08-09T22:00:20Z","stringField":"DUkLhcFSiP","stringTimeField":"09:09:24.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1496,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1496,"uuid":"9de3e446-5655-11ee-a401-675ed0f8e89b"},"arrayField":["HyPyIlGR","nSSenSLJoa","rrsru","xakbjZhJy","ntfa","uQgicExqb"],"boolField":false,"intField":-190,"numField":8.515537506653681,"objField":{"XFXG":2590927216487662230,"cSatRoe":-7568774494766645845,"gwdI":-3371847270748973274,"hoFh":-28900340357618096,"sDezkcD":5928964761309239252,"vTrox":-502721826736614591,"xSeUg":8774317372209149340},"stringDateField":"2012-01-06","stringDateTimeField":"1943-02-09T14:52:42Z","stringField":"ywwfSnohRC","stringTimeField":"04:15:19.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":-190,"numField":8.515537506653681,"stringDateField":"2012-01-06","stringDateTimeField":"1943-02-09T14:52:42Z","stringField":"ywwfSnohRC","stringTimeField":"04:15:19.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1497,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1497,"uuid":"9de3e446-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sztMH","kYnqzE","uiztKnl","QcjTQPtdU"],"boolField":true,"intField":-374,"numField":-543.0552319403462,"objField":{"PeOnXSKtB":881998196146907634,"Ssxk":4813925085606220453,"VIQnopGt":455817641401840891,"WuZTvPapn":6267721232405271929,"YYiHDiH":-6722229678660494103,"khDGQZ":-767458626556554680},"stringDateField":"1912-07-17","stringDateTimeField":"1906-09-12T21:23:26Z","stringField":"lzmLyo","stringTimeField":"14:22:35.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":-374,"numField":-543.0552319403462,"stringDateField":"1912-07-17","stringDateTimeField":"1906-09-12T21:23:26Z","stringField":"lzmLyo","stringTimeField":"14:22:35.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1498,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1498,"uuid":"9de3e446-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["mMUPzf","MqQKUzbm","GQXPzY","cssPnOdohv","nleIkD","bskIIlUh","diJSDfCzG","MxXmKvgsH"],"boolField":false,"intField":-800,"numField":381.5726997738282,"objField":{"BIMlY":8604067756213610718,"IEOmEne":-7980765821090393236,"rwbpry":-4938192475101941693,"ucJfJoiop":-597603570250386910},"stringDateField":"1925-03-12","stringDateTimeField":"1966-12-24T13:54:12Z","stringField":"jrRfotH","stringTimeField":"07:21:13.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":-800,"numField":381.5726997738282,"stringDateField":"1925-03-12","stringDateTimeField":"1966-12-24T13:54:12Z","stringField":"jrRfotH","stringTimeField":"07:21:13.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1499,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1499,"uuid":"9de3e446-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ufWhTrQjEk","ECNodQA","tvNH","uvFZU","guvPwYqf"],"boolField":true,"intField":-853,"numField":449.60651417631146,"objField":{"WPytWGgrT":2233745390832821971,"cBBjqyHhk":-678868258588570913},"stringDateField":"1978-05-18","stringDateTimeField":"1955-10-16T21:35:25Z","stringField":"cXDXaaxk","stringTimeField":"13:53:42.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":-853,"numField":449.60651417631146,"stringDateField":"1978-05-18","stringDateTimeField":"1955-10-16T21:35:25Z","stringField":"cXDXaaxk","stringTimeField":"13:53:42.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1500,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1500,"uuid":"9de3e446-5655-11ee-b401-675ed0f8e89b"},"arrayField":["gmrpR","EhipFRm","kunHd","VEiTkEKvr","UtPDrxaYo","lrQqZMZDq","JOsH","irJatRxSh","hhRs"],"boolField":true,"intField":-847,"numField":-763.9636822021528,"objField":{"CkIvq":7536133568398103897,"CsTDCvp":6691807150325189301,"HyCXNJbYPQ":8660644678689606968,"sRFkGeX":6875147981150871281},"stringDateField":"1982-12-07","stringDateTimeField":"1928-02-09T18:43:49Z","stringField":"sVuoWo","stringTimeField":"02:35:18.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":-847,"numField":-763.9636822021528,"stringDateField":"1982-12-07","stringDateTimeField":"1928-02-09T18:43:49Z","stringField":"sVuoWo","stringTimeField":"02:35:18.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1501,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1501,"uuid":"9de3e446-5655-11ee-b801-675ed0f8e89b"},"arrayField":["mYmiLip","KxbPBKnQL","XYCmod","LJbDm","Ejma","VENOOIh","PKypv","IDli","FLLPXa"],"boolField":true,"intField":828,"numField":-681.203938982899,"objField":{"EUPqVRd":-8445328991080041425,"JkBBhKoV":5122615892805194694,"MvOMmaE":-6798074060760310505,"NlVSNpD":-8606803884005960642,"SjHH":-1825873762302894011,"fZqieG":3756490842280835237,"kUzc":2830513615478196586,"nNWfn":8826164293986009263,"oVpKbOxEo":5004176715018210013,"yXBqK":6791456269720524835},"stringDateField":"1917-02-17","stringDateTimeField":"1940-12-31T15:32:22Z","stringField":"CJjfBFFqWr","stringTimeField":"02:47:11.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":828,"numField":-681.203938982899,"stringDateField":"1917-02-17","stringDateTimeField":"1940-12-31T15:32:22Z","stringField":"CJjfBFFqWr","stringTimeField":"02:47:11.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1502,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1502,"uuid":"9de3e446-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["HLqzkVcB","xrjW","MBEGRZXK","CQBmkPYZe","xNyrvwVO"],"boolField":true,"intField":-388,"numField":-190.8819861987324,"objField":{"BZiPSMw":-3245157947103335172,"IeBi":8999002431588035665,"MTnR":-6194292479681984868,"RHeLWZU":-8130782823751403531,"RblqmENS":-1636935876639497589,"aDIPiPSvhW":-4398433412764003333,"kXmzvDUW":8060662877354049417,"uGahh":3062349959168592625},"stringDateField":"1984-07-13","stringDateTimeField":"2011-03-29T18:19:55Z","stringField":"Jxco","stringTimeField":"13:33:13.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230982Z","intField":-388,"numField":-190.8819861987324,"stringDateField":"1984-07-13","stringDateTimeField":"2011-03-29T18:19:55Z","stringField":"Jxco","stringTimeField":"13:33:13.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1503,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1503,"uuid":"9de3e447-5655-11ee-8001-675ed0f8e89b"},"arrayField":["RVlhd","KXttu","tylUDdoZ","EshUmYrm","ZdjhDc","okFZ","bsqKr","AJNFjDADBs"],"boolField":true,"intField":-15,"numField":141.9879480768789,"objField":{"PXUGt":-4454139046241343967,"RcdeKlck":-5986979528804770720,"VAHWf":2417558032843796039,"WMtUMrTMak":-4211959119468925972,"aVXMBSSBlP":9196884309015852211,"bLHlkuED":1218179116399015447,"fINmJ":8080420864054287719,"pHJknJ":3323877680421064096,"wLJEJg":8558324010845650695},"stringDateField":"1903-12-06","stringDateTimeField":"2006-02-19T06:45:32Z","stringField":"OAVjzG","stringTimeField":"15:36:21.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":-15,"numField":141.9879480768789,"stringDateField":"1903-12-06","stringDateTimeField":"2006-02-19T06:45:32Z","stringField":"OAVjzG","stringTimeField":"15:36:21.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1504,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1504,"uuid":"9de3e447-5655-11ee-8401-675ed0f8e89b"},"arrayField":["CsJK","iSGV","sHUGLs"],"boolField":true,"intField":-619,"numField":511.83686349333743,"objField":{"DlHlanBx":-3630860313705842675,"EfHcJ":5595463201529299771,"LSJrR":5556570055973964262,"PrmGoNeQFm":6011394033421868627,"TtFnDK":-9152759300088296223,"hMHVczEZtH":-2379628497632902237,"hjsCZ":2389988486297892121,"kPGGN":7099291173549949108},"stringDateField":"1956-06-20","stringDateTimeField":"1939-10-25T07:02:10Z","stringField":"yjkzEz","stringTimeField":"12:42:42.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":-619,"numField":511.83686349333743,"stringDateField":"1956-06-20","stringDateTimeField":"1939-10-25T07:02:10Z","stringField":"yjkzEz","stringTimeField":"12:42:42.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1505,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1505,"uuid":"9de3e447-5655-11ee-8801-675ed0f8e89b"},"arrayField":["sFvyOgoWD","VydKXiY"],"boolField":false,"intField":-882,"numField":147.04427616859084,"objField":{"GskNstCq":5644666587468173812,"IoRkyyQ":-5364251097493920252,"LKfPHJzo":-8484469635138861598,"PaDPwP":3748138372314363559,"dqIrUMzeof":1915025240162867957,"mjPQKhQo":-7925173836757206330,"rZNL":8957698639897706707,"vbCa":-6481456743135861688,"xgsUuQz":636416343911520505},"stringDateField":"1941-01-08","stringDateTimeField":"1991-10-20T06:08:45Z","stringField":"CbUVNbXUxE","stringTimeField":"17:46:10.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":-882,"numField":147.04427616859084,"stringDateField":"1941-01-08","stringDateTimeField":"1991-10-20T06:08:45Z","stringField":"CbUVNbXUxE","stringTimeField":"17:46:10.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1506,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1506,"uuid":"9de3e447-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["gzZBPqAG","DgihzeFYW","woCTF","YtoQm","ymJTaoFjE","qwpLALpJMU","GuIJCYNF"],"boolField":true,"intField":27,"numField":213.19043876700405,"objField":{"KNeN":8802045526482999165,"WoVMDp":-7587415598288596318,"YsafUfv":2175828839683354876,"dkZHxoEjk":-6830945511456351511},"stringDateField":"1956-01-18","stringDateTimeField":"2013-05-27T20:56:05Z","stringField":"bQEau","stringTimeField":"07:57:05.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":27,"numField":213.19043876700405,"stringDateField":"1956-01-18","stringDateTimeField":"2013-05-27T20:56:05Z","stringField":"bQEau","stringTimeField":"07:57:05.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1507,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1507,"uuid":"9de3e447-5655-11ee-9001-675ed0f8e89b"},"arrayField":["qskqFGhp","cxpEepq","qAYP","IHyK","DFeHiqHg","iGab","sHAutDxAz"],"boolField":true,"intField":-314,"numField":-989.8458623151704,"objField":{"AAKujC":681434797893747032,"DiVYIzKiz":705637951940114022,"GRwDOEANi":-6140625935542621759,"PDRxAcT":2245036905528119687,"YFNPjAhMeT":-3228343704110614342,"YPYbDE":-8409172478900702471,"dYfMyb":-2536464478456157548,"mUCVr":4498010310131371650,"sgelh":5990854844747150100,"vLPNhwSBFz":8600711603418587095},"stringDateField":"1905-10-02","stringDateTimeField":"1963-05-12T12:17:55Z","stringField":"dJEuRJVub","stringTimeField":"08:18:33.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":-314,"numField":-989.8458623151704,"stringDateField":"1905-10-02","stringDateTimeField":"1963-05-12T12:17:55Z","stringField":"dJEuRJVub","stringTimeField":"08:18:33.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1508,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1508,"uuid":"9de3e447-5655-11ee-9401-675ed0f8e89b"},"arrayField":["bptsf","gosgw","Nvzml","RUFKYRXyWE","YZhvyCkOA","sZGzTQWh","kNYZjMWvu","nUXe","EhtBU"],"boolField":false,"intField":754,"numField":-685.4478175510608,"objField":{"GInGrGfzSf":2793369107547395154,"cfwjTDX":6260184540286400396},"stringDateField":"2007-01-13","stringDateTimeField":"1940-09-15T14:52:20Z","stringField":"HQyyOIHVx","stringTimeField":"00:33:53.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":754,"numField":-685.4478175510608,"stringDateField":"2007-01-13","stringDateTimeField":"1940-09-15T14:52:20Z","stringField":"HQyyOIHVx","stringTimeField":"00:33:53.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1509,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1509,"uuid":"9de3e447-5655-11ee-9801-675ed0f8e89b"},"arrayField":["MenrDSCg","QcvXjfrz","qgSbYSDb","kQlaxQKdc","HKGvPGs","giwV","QDUHBMr","feISsj","CTmMj","FjEha"],"boolField":true,"intField":603,"numField":540.6513482801128,"objField":{"CnhKYkD":-1859520297710080671,"DSZEvECQs":4044834121817237408,"MDtxe":3781335950686627199,"NTIiC":4904565609451658416,"NuNPTGI":4698839986034021227,"jNeD":3169547491606103829,"tlPZ":2817041894635120712},"stringDateField":"2007-06-09","stringDateTimeField":"1947-07-26T22:44:17Z","stringField":"dpOxJWtyMI","stringTimeField":"07:25:24.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":603,"numField":540.6513482801128,"stringDateField":"2007-06-09","stringDateTimeField":"1947-07-26T22:44:17Z","stringField":"dpOxJWtyMI","stringTimeField":"07:25:24.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1510,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1510,"uuid":"9de3e447-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["uzmqEROV","NcNcfBE"],"boolField":true,"intField":730,"numField":482.9706528019682,"objField":{"FiFFB":3460923721010260744,"ZKLtIMtP":-2186439766950886641,"dvnfnnVTL":1570341390665063887,"yTSzkjht":7299246451596045785},"stringDateField":"1904-04-04","stringDateTimeField":"1962-10-01T02:07:10Z","stringField":"YevWOrLE","stringTimeField":"22:52:29.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":730,"numField":482.9706528019682,"stringDateField":"1904-04-04","stringDateTimeField":"1962-10-01T02:07:10Z","stringField":"YevWOrLE","stringTimeField":"22:52:29.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1511,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1511,"uuid":"9de3e447-5655-11ee-a001-675ed0f8e89b"},"arrayField":["JFXnBNR","TehfDJLaRa","NaHPRuzkgS"],"boolField":false,"intField":-133,"numField":-738.531841409419,"objField":{"QqpzxKJnwe":-5776602358297124939,"RBeMDbWsf":6275833666982730600,"RYfUDJmgq":5505736063193784524,"RbuejHf":-8035026539017706170,"YnNopdi":-1052718964849871813,"goMocjGz":996013037807299204,"xfqo":494839563326650983,"yDvMzeGojt":-5926259433568944808},"stringDateField":"2022-03-28","stringDateTimeField":"2015-01-24T13:43:28Z","stringField":"humeVf","stringTimeField":"19:45:22.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":-133,"numField":-738.531841409419,"stringDateField":"2022-03-28","stringDateTimeField":"2015-01-24T13:43:28Z","stringField":"humeVf","stringTimeField":"19:45:22.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1512,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1512,"uuid":"9de3e447-5655-11ee-a401-675ed0f8e89b"},"arrayField":["kmWMt"],"boolField":false,"intField":939,"numField":193.41515684884092,"objField":{"GEJBQFIaFM":-4305961098127035267,"WmlzAieY":4826542506106660598,"zIsLgOb":-7839731024194630362},"stringDateField":"1921-10-01","stringDateTimeField":"1991-03-10T15:58:42Z","stringField":"iKTYo","stringTimeField":"13:31:17.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":939,"numField":193.41515684884092,"stringDateField":"1921-10-01","stringDateTimeField":"1991-03-10T15:58:42Z","stringField":"iKTYo","stringTimeField":"13:31:17.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1513,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1513,"uuid":"9de3e447-5655-11ee-a801-675ed0f8e89b"},"arrayField":["yeGPcIWb","bpfQ","ZNBcn","jVkDOaLFw","KYcrs","uKXOWD","pekqheU"],"boolField":false,"intField":-894,"numField":-396.0308983492775,"objField":{"ArRbXHHLT":-7854588036124967351,"QKroaaWaU":-6720439111245050693,"YgAHJC":6412766015218892351,"ZNbpAZz":-8641436754468548378,"fQvXdH":-8899489251559917167,"ijHlhcsK":-2946546404031172101,"mkeU":7456769974448611739,"yZGtaQcgxY":1875633708354593981},"stringDateField":"1997-03-01","stringDateTimeField":"1962-01-17T04:50:47Z","stringField":"coZYK","stringTimeField":"14:39:34.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":-894,"numField":-396.0308983492775,"stringDateField":"1997-03-01","stringDateTimeField":"1962-01-17T04:50:47Z","stringField":"coZYK","stringTimeField":"14:39:34.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1514,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1514,"uuid":"9de3e447-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["RphPMbgA","jPzxzfq","FTip","OIKjbwVzdg","SrcJPzB","ryQnY"],"boolField":false,"intField":-668,"numField":508.8173485494791,"objField":{"NlJDihYdA":-5736571804445768404,"OppuIeJRG":3280590041749011390,"TVecuP":-2083178353885150887,"YQLI":-4057466726914564145,"aGFWe":-7374896943211554193,"lbXbNMs":-1420990708199435427,"umdH":8371427341274015199},"stringDateField":"1914-05-16","stringDateTimeField":"2017-07-27T02:09:45Z","stringField":"FEmBjdAd","stringTimeField":"12:32:49.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":-668,"numField":508.8173485494791,"stringDateField":"1914-05-16","stringDateTimeField":"2017-07-27T02:09:45Z","stringField":"FEmBjdAd","stringTimeField":"12:32:49.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1515,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1515,"uuid":"9de3e447-5655-11ee-b001-675ed0f8e89b"},"arrayField":["XzphD","rfZveLU","vMaryw","WWjm","WeEtd","AvTpvgi","RwDitPkft","ghFN","dTlqYwDN"],"boolField":true,"intField":883,"numField":-947.5028862708162,"objField":{"nYnsqPyF":2389091753042812069,"tPYIXojE":-4691772047357664122,"ujIyzpFD":6999850074497492567},"stringDateField":"1906-06-08","stringDateTimeField":"1996-02-20T21:18:59Z","stringField":"chpGRLHXc","stringTimeField":"09:00:36.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":883,"numField":-947.5028862708162,"stringDateField":"1906-06-08","stringDateTimeField":"1996-02-20T21:18:59Z","stringField":"chpGRLHXc","stringTimeField":"09:00:36.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1516,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1516,"uuid":"9de3e447-5655-11ee-b401-675ed0f8e89b"},"arrayField":["mbVsUa"],"boolField":false,"intField":587,"numField":577.5124225034554,"objField":{"FsknGNHe":-3623620411088771839,"GvpFZOiZ":3012022684625269202,"eZWqeZlY":-523123485675237289,"qILbhWRSSo":-1409471364761233048},"stringDateField":"1954-06-16","stringDateTimeField":"1919-08-08T00:15:21Z","stringField":"uBKBJHh","stringTimeField":"11:49:15.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":587,"numField":577.5124225034554,"stringDateField":"1954-06-16","stringDateTimeField":"1919-08-08T00:15:21Z","stringField":"uBKBJHh","stringTimeField":"11:49:15.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1517,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1517,"uuid":"9de3e447-5655-11ee-b801-675ed0f8e89b"},"arrayField":["yQldxBhP","cPld","coJCc","ecyB"],"boolField":false,"intField":-687,"numField":271.26910583236594,"objField":{"CtLf":-248682698791647325,"DKqwQGb":2672370738435545371,"WcasZWk":-5952871395504041255},"stringDateField":"1998-08-29","stringDateTimeField":"1943-12-21T22:29:50Z","stringField":"rtGCiN","stringTimeField":"13:53:39.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":-687,"numField":271.26910583236594,"stringDateField":"1998-08-29","stringDateTimeField":"1943-12-21T22:29:50Z","stringField":"rtGCiN","stringTimeField":"13:53:39.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1518,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1518,"uuid":"9de3e447-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["LkOYydlyrs"],"boolField":false,"intField":-375,"numField":-247.76625772046577,"objField":{"OyYxZkQpC":-8112018968308538548,"UZTx":7964986879034536990},"stringDateField":"2016-01-15","stringDateTimeField":"2012-07-07T13:03:06Z","stringField":"XWJecTmOPu","stringTimeField":"16:51:57.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230983Z","intField":-375,"numField":-247.76625772046577,"stringDateField":"2016-01-15","stringDateTimeField":"2012-07-07T13:03:06Z","stringField":"XWJecTmOPu","stringTimeField":"16:51:57.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1519,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1519,"uuid":"9de3e448-5655-11ee-8001-675ed0f8e89b"},"arrayField":["AzZiDZ","GgbdSgPqF","ZgwtgvbO","TjTq","dArp","lYUmEIgT","VwNix","bPbFWnNE","gVRBmD","ZgTvX"],"boolField":false,"intField":-50,"numField":-275.32022904521324,"objField":{"VrpDGsMqhl":-6028277953371893481,"hYSXOksTF":6681187323371060255,"zdXdjxJY":6429409995152589822},"stringDateField":"1960-12-05","stringDateTimeField":"1962-10-24T10:16:28Z","stringField":"SxVcXlD","stringTimeField":"23:57:47.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":-50,"numField":-275.32022904521324,"stringDateField":"1960-12-05","stringDateTimeField":"1962-10-24T10:16:28Z","stringField":"SxVcXlD","stringTimeField":"23:57:47.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1520,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1520,"uuid":"9de3e448-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UfXlKgZG","IMhHcYOn","BSRbZJBkI","ZYsrNy","SWrnTNi"],"boolField":true,"intField":471,"numField":-956.5166830906082,"objField":{"EElYhtYGZ":2076950986617239754,"gIDzRsSMg":2613441427448096410},"stringDateField":"1918-12-12","stringDateTimeField":"1959-01-24T05:35:36Z","stringField":"DDUxQeyYo","stringTimeField":"15:12:51.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":471,"numField":-956.5166830906082,"stringDateField":"1918-12-12","stringDateTimeField":"1959-01-24T05:35:36Z","stringField":"DDUxQeyYo","stringTimeField":"15:12:51.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1521,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1521,"uuid":"9de3e448-5655-11ee-8801-675ed0f8e89b"},"arrayField":["hlQU","yDslXd","Woje","AVXXjq","EgyLfQaJ","ZFyjL"],"boolField":true,"intField":518,"numField":638.8708963387795,"objField":{"BMEaWXHH":3444956076489670830,"HJTAD":-5740212964865774429,"aJMmlAn":-4143980902499927844,"lGjr":3320556621454447312},"stringDateField":"1997-01-17","stringDateTimeField":"1934-11-04T09:33:28Z","stringField":"sKySkovYBE","stringTimeField":"13:56:20.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":518,"numField":638.8708963387795,"stringDateField":"1997-01-17","stringDateTimeField":"1934-11-04T09:33:28Z","stringField":"sKySkovYBE","stringTimeField":"13:56:20.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1522,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1522,"uuid":"9de3e448-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["QIyOMROaDm","hCzi","EGaTAU","gZZhhKMX","eDzSVWSIgG","TCFdJXjZH","yxNlJwf","gYrdLUd","uVOuUfUoH"],"boolField":false,"intField":72,"numField":-472.2238497363148,"objField":{"NwdIIhDsVW":2679577635469347278,"OPvz":1598585536319300807,"WTlV":5063353714057279309},"stringDateField":"1992-11-04","stringDateTimeField":"1908-10-10T02:39:59Z","stringField":"urOFFSZ","stringTimeField":"13:29:55.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":72,"numField":-472.2238497363148,"stringDateField":"1992-11-04","stringDateTimeField":"1908-10-10T02:39:59Z","stringField":"urOFFSZ","stringTimeField":"13:29:55.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1523,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1523,"uuid":"9de3e448-5655-11ee-9001-675ed0f8e89b"},"arrayField":["AXuDQH","LmVDoSNgz","tqgt"],"boolField":false,"intField":199,"numField":-180.0056706865677,"objField":{"GOkqQcjUH":-6465799075479619816,"WtFFqLmyKa":3702663338099936939,"uzjpuoa":6629603978934464103},"stringDateField":"1936-11-26","stringDateTimeField":"1912-02-28T09:41:52Z","stringField":"cmfKZoeqX","stringTimeField":"07:08:27.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":199,"numField":-180.0056706865677,"stringDateField":"1936-11-26","stringDateTimeField":"1912-02-28T09:41:52Z","stringField":"cmfKZoeqX","stringTimeField":"07:08:27.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1524,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1524,"uuid":"9de3e448-5655-11ee-9401-675ed0f8e89b"},"arrayField":["lLlgbnJL","QaTcDCh","DtHq","rXmHgG","bWeTfBX"],"boolField":false,"intField":-74,"numField":-254.44305133879945,"objField":{"HSJe":2083533049947105871,"JssM":-2347666863258223126,"LzCPx":-6153964903466065572,"NvzUYBMrM":-5901496203545529984,"QgpqmQBwlL":1698350388582268820,"ceseJuQVIv":-4286223082919495678,"nNBZ":-4366075774393929957,"olXzMOQ":6978983206804179020,"uJtuJ":7765945285154196657},"stringDateField":"2001-07-30","stringDateTimeField":"1971-08-08T08:01:16Z","stringField":"cMEYwgcQz","stringTimeField":"05:58:08.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":-74,"numField":-254.44305133879945,"stringDateField":"2001-07-30","stringDateTimeField":"1971-08-08T08:01:16Z","stringField":"cMEYwgcQz","stringTimeField":"05:58:08.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1525,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1525,"uuid":"9de3e448-5655-11ee-9801-675ed0f8e89b"},"arrayField":["RQasON","UKInrXeH","XNQIR"],"boolField":true,"intField":-747,"numField":-662.3847711026255,"objField":{"AsnoXJ":-1902551685059566391,"BSltKTXGlu":-3799614853213498085,"BzbmKr":-7983154515735608838,"MPmFiDqwN":-72807115129257092,"NBJsZouuz":7695375104534864362,"Vpze":8556241431084110518,"ijta":-2277745923120183652,"njfiaC":2643940417427304401,"szahxZ":-6276225344625434040},"stringDateField":"1928-02-16","stringDateTimeField":"1949-12-27T06:18:55Z","stringField":"fIcqpJ","stringTimeField":"15:46:11.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":-747,"numField":-662.3847711026255,"stringDateField":"1928-02-16","stringDateTimeField":"1949-12-27T06:18:55Z","stringField":"fIcqpJ","stringTimeField":"15:46:11.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1526,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1526,"uuid":"9de3e448-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["gdkgRfC","BTafxiWg","nIMC","atRFb","XGguD"],"boolField":true,"intField":-143,"numField":-298.9349480623452,"objField":{"MmCMwyKz":-8849344780846127266,"VjczbbmC":1610774770586229442,"adaKu":7196979571719337356,"jlzYaedzPR":-8252907442491119677},"stringDateField":"1933-07-24","stringDateTimeField":"1918-06-09T02:39:51Z","stringField":"EuVc","stringTimeField":"21:34:13.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":-143,"numField":-298.9349480623452,"stringDateField":"1933-07-24","stringDateTimeField":"1918-06-09T02:39:51Z","stringField":"EuVc","stringTimeField":"21:34:13.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1527,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1527,"uuid":"9de3e448-5655-11ee-a001-675ed0f8e89b"},"arrayField":["cDDin","WewCp","QUfILZ","xrnd","NbMIGx","UScRyAV","byeMie"],"boolField":true,"intField":-337,"numField":-763.3471299680872,"objField":{"WCYBgLztEa":5595922964445598668,"azmAyCd":-7287262370082958729,"gMdtmyNnXq":-1787516982790912289,"jPyHafrc":-421222971038190250,"pRnDLvzbVJ":2206115988661841820,"rvBh":-1481561104309439629,"wmIlVEF":-1186491092878631435},"stringDateField":"1930-03-01","stringDateTimeField":"2002-05-03T01:26:30Z","stringField":"nEXISjQYwk","stringTimeField":"09:57:55.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":-337,"numField":-763.3471299680872,"stringDateField":"1930-03-01","stringDateTimeField":"2002-05-03T01:26:30Z","stringField":"nEXISjQYwk","stringTimeField":"09:57:55.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1528,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1528,"uuid":"9de3e448-5655-11ee-a401-675ed0f8e89b"},"arrayField":["uSbs","MaXdPb","fOXF","ODDolkid","dxDRCYPqL","JQHDB","KSTuBB","KJNPDPkcU","EefgtdTV","VhwqEKMSnC"],"boolField":false,"intField":-233,"numField":-236.71492553402507,"objField":{"coSTRABe":-4117909102242177377},"stringDateField":"1971-11-24","stringDateTimeField":"1918-11-04T15:57:07Z","stringField":"UNfMVCe","stringTimeField":"04:48:37.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":-233,"numField":-236.71492553402507,"stringDateField":"1971-11-24","stringDateTimeField":"1918-11-04T15:57:07Z","stringField":"UNfMVCe","stringTimeField":"04:48:37.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1529,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1529,"uuid":"9de3e448-5655-11ee-a801-675ed0f8e89b"},"arrayField":["EyJunDJa","anSLseUWV","GbjS","VSvN","fISRwRDjud","mmYBfn","VyinB","lLivL"],"boolField":true,"intField":246,"numField":-366.6223018972363,"objField":{"KlMvxvdy":-3060856564656207477,"NpMKhImhIq":7981187744841202457,"gavj":-803939829944022985,"ghSaDucas":7487619590906819054,"jnCdGQ":-6243351192227584132,"mcKrShATyK":3660017474714479720,"qhIBgAI":8275214333074889795,"rWgANiEYJ":-366374162015379915,"uopZUjd":-7211083550892114092,"zdyfNBcxd":-7835688580780565975},"stringDateField":"1916-09-21","stringDateTimeField":"1986-04-29T00:05:21Z","stringField":"MGPAIdp","stringTimeField":"23:48:41.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":246,"numField":-366.6223018972363,"stringDateField":"1916-09-21","stringDateTimeField":"1986-04-29T00:05:21Z","stringField":"MGPAIdp","stringTimeField":"23:48:41.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1530,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1530,"uuid":"9de3e448-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ySFrEMCj","FyRxNpZt","BVKZxxlJ","zyPGz","xmQqSKh","btGoNl","HgsxI","bdlvYfD"],"boolField":true,"intField":-624,"numField":391.34902898901936,"objField":{"DckrsmpGy":7962355277979511000,"JVdKxyYRw":-2641004884348739745,"fHXwHs":-1375393418224974041,"fJRPWEhE":6103133447885775743,"mrtM":-872711493448623907,"rdVlNV":-7479604921890623468,"rruepbS":5748184772140343366},"stringDateField":"1951-05-27","stringDateTimeField":"1996-12-17T23:52:12Z","stringField":"WwHmph","stringTimeField":"04:09:39.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":-624,"numField":391.34902898901936,"stringDateField":"1951-05-27","stringDateTimeField":"1996-12-17T23:52:12Z","stringField":"WwHmph","stringTimeField":"04:09:39.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1531,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1531,"uuid":"9de3e448-5655-11ee-b001-675ed0f8e89b"},"arrayField":["eEpvJMv"],"boolField":true,"intField":-641,"numField":-908.8361148629194,"objField":{"CtOpWxLk":-3022704747158809400,"MpqrH":-5037686546177673600,"OcQDs":4531581824330528534,"QtcQYBHUTw":-3193633411244735596,"SVqy":4119021996701425792,"blCpj":-4465806680767197592,"dDgFjYbG":-6057659136015179480,"lccN":3020779750521276669,"pSAw":-2197163378297012510,"yfZCERH":2011554345923444240},"stringDateField":"1974-11-14","stringDateTimeField":"2017-07-24T12:21:58Z","stringField":"xEVQgBQ","stringTimeField":"23:03:49.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":-641,"numField":-908.8361148629194,"stringDateField":"1974-11-14","stringDateTimeField":"2017-07-24T12:21:58Z","stringField":"xEVQgBQ","stringTimeField":"23:03:49.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1532,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1532,"uuid":"9de3e448-5655-11ee-b401-675ed0f8e89b"},"arrayField":["DnfyLLJ","NwMlkX","CHCio","kTfKiBS","yzfPpXBOSq","yGRWju","achaeK","QZpESRKh"],"boolField":false,"intField":-41,"numField":-410.38252954454146,"objField":{"sYMxSMGq":-7063159951162944820},"stringDateField":"1989-06-09","stringDateTimeField":"1906-03-20T19:17:53Z","stringField":"FQXkxIfZje","stringTimeField":"15:11:17.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":-41,"numField":-410.38252954454146,"stringDateField":"1989-06-09","stringDateTimeField":"1906-03-20T19:17:53Z","stringField":"FQXkxIfZje","stringTimeField":"15:11:17.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1533,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1533,"uuid":"9de3e448-5655-11ee-b801-675ed0f8e89b"},"arrayField":["juPoLQQqY","SRIZPElG","oXqHCjDBy","wIoKgASeFj","UuRiuCo","xqVvygtPad"],"boolField":true,"intField":-206,"numField":443.5815142545403,"objField":{"NHgdIfUzll":1402946064366222145,"roWbgMAQQ":-8819489093326795088},"stringDateField":"1910-06-22","stringDateTimeField":"1918-10-21T08:28:41Z","stringField":"cXTKOZD","stringTimeField":"14:58:12.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":-206,"numField":443.5815142545403,"stringDateField":"1910-06-22","stringDateTimeField":"1918-10-21T08:28:41Z","stringField":"cXTKOZD","stringTimeField":"14:58:12.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1534,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1534,"uuid":"9de3e448-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["SpcgQsd","jUoM"],"boolField":true,"intField":391,"numField":-114.77885803058372,"objField":{"EFqBKbCE":-1957060702872295563,"GWRVQVB":-6892125694909755286,"HLns":-2060132733090812003,"HNCStjiwes":-8373517171831633620,"HsiuGY":-5717976796633527918,"JdkJcqEiip":1810904785983405768,"WRKwZVEl":2218657869137771237,"YnxmN":6734299055850869063,"scjmrskYg":-5071110364241793531},"stringDateField":"2008-03-08","stringDateTimeField":"1918-09-29T17:07:37Z","stringField":"mKNRPolA","stringTimeField":"15:34:27.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230984Z","intField":391,"numField":-114.77885803058372,"stringDateField":"2008-03-08","stringDateTimeField":"1918-09-29T17:07:37Z","stringField":"mKNRPolA","stringTimeField":"15:34:27.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1535,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1535,"uuid":"9de3e449-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wbPu","aYjjMwsyxU","xfgYIsBgCY"],"boolField":true,"intField":505,"numField":53.19644391439971,"objField":{"BJsxgSejJl":-8048470513982587241,"GGEmWjVBLV":8126446379881593831,"IxHQ":-6372070550591144050,"NHnCVMBT":3813730803616714074,"QicWbez":-2551402387147456534,"WwCYG":-209798858175450947,"bgYjJxawW":5204517141006807698,"rOwMIDhtE":7170890396209291103,"wlQqW":-6803577018763277570},"stringDateField":"1914-07-25","stringDateTimeField":"1998-07-14T11:46:55Z","stringField":"kCByA","stringTimeField":"06:45:16.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":505,"numField":53.19644391439971,"stringDateField":"1914-07-25","stringDateTimeField":"1998-07-14T11:46:55Z","stringField":"kCByA","stringTimeField":"06:45:16.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1536,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1536,"uuid":"9de3e449-5655-11ee-8401-675ed0f8e89b"},"arrayField":["MLQSNuQ","rpAvdg","KUajJN","qAGDlXkJx","kNkwSU","nuRD","HTTHnt","fiUizm","VyVpA"],"boolField":true,"intField":-180,"numField":960.1495533364852,"objField":{"DBlJngBns":-4843940486706824819,"VVAkj":-666851012528926085,"XgFthwZ":6043891750444563710,"tnnW":-1415265947980321814,"zSzaOV":-875942230249642194},"stringDateField":"1979-09-26","stringDateTimeField":"1927-07-27T00:41:53Z","stringField":"qUKwQp","stringTimeField":"19:51:00.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":-180,"numField":960.1495533364852,"stringDateField":"1979-09-26","stringDateTimeField":"1927-07-27T00:41:53Z","stringField":"qUKwQp","stringTimeField":"19:51:00.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1537,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1537,"uuid":"9de3e449-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bOhls","KbYr","UNTxYA","YTIxDoIQl","QNPhlydJg","WCEPPd","AhhRKFul","FccJBIj","XyoyZgoPSq","wTYZkPXA"],"boolField":false,"intField":-812,"numField":74.80121177484355,"objField":{"BZamJ":6168225735435319006,"VPpixYWtcO":-4099469366052189662,"aTCHhdjcKs":847633351837034274,"cqsekWdEX":7308122042136256554,"dBvTuO":3155123843729192227,"dTxeQ":2612341135424496635,"nccd":-8211303756724854203,"rsSaaPbY":-4484991018636825400,"vKgEjGOtBL":-5884198010891356552,"zPgorYgO":6135162659723983687},"stringDateField":"2009-09-07","stringDateTimeField":"1972-11-01T02:43:46Z","stringField":"SQwuNxmgiM","stringTimeField":"19:53:28.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":-812,"numField":74.80121177484355,"stringDateField":"2009-09-07","stringDateTimeField":"1972-11-01T02:43:46Z","stringField":"SQwuNxmgiM","stringTimeField":"19:53:28.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1538,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1538,"uuid":"9de3e449-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["eyLF","oECVcBx","wIWqCNS","GfBvoix","mMrdGW","uaAemVwWJi","cLlLDzGan","kkPvmbb"],"boolField":true,"intField":200,"numField":-195.95388567336448,"objField":{"XbTVUQ":6067165297999258721,"jjQLvXv":394758160480099330},"stringDateField":"1984-06-19","stringDateTimeField":"1948-04-09T14:54:38Z","stringField":"KnsrJqofs","stringTimeField":"17:33:50.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":200,"numField":-195.95388567336448,"stringDateField":"1984-06-19","stringDateTimeField":"1948-04-09T14:54:38Z","stringField":"KnsrJqofs","stringTimeField":"17:33:50.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1539,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1539,"uuid":"9de3e449-5655-11ee-9001-675ed0f8e89b"},"arrayField":["hMCBnMpBIM","HEJELPKL","qeEPhPxzJw","dTQMTPNN","ZdRbGsjMhH","tThtTgjI","Lpuu","iPQDEeBno","tEtoZ"],"boolField":false,"intField":-465,"numField":-397.2061717406961,"objField":{"EBRjgpG":-6785511686985270002,"YeOtTdarW":-7863357352962604070,"oCDcNHNs":-5916708870528062218,"oTSyvMcUu":7867944565205704573,"vBEwgMix":7950662180264878162,"wyAO":8555848882390920626,"yxHlEJSYWO":-565984834203994095},"stringDateField":"1990-12-01","stringDateTimeField":"1916-05-09T15:19:03Z","stringField":"dTbmyr","stringTimeField":"21:21:38.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":-465,"numField":-397.2061717406961,"stringDateField":"1990-12-01","stringDateTimeField":"1916-05-09T15:19:03Z","stringField":"dTbmyr","stringTimeField":"21:21:38.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1540,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1540,"uuid":"9de3e449-5655-11ee-9401-675ed0f8e89b"},"arrayField":["XGFmeXV","vXEuZbMxDv","cWERYIWnHZ","iPVSVq","JxepDN","UldtcI","beuLIK","KLDpbUMjJl","gxtrblJ"],"boolField":false,"intField":-288,"numField":263.7982945686654,"objField":{"BuuaSmi":7037000046388050914,"FRUKjslSGs":-5931188137003231496,"NAQisTyS":-3038978158991911171,"SuywRYaLYZ":-2762444136910651824,"TaEsuIclU":8442289609855678323,"VaHf":-4475029542985900437,"hUXz":4400623051847185136,"rTqs":-78778420355105462,"zlMJmbD":3155207834777599909},"stringDateField":"1995-11-11","stringDateTimeField":"1954-02-16T15:21:52Z","stringField":"ykUBiDIq","stringTimeField":"03:27:07.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":-288,"numField":263.7982945686654,"stringDateField":"1995-11-11","stringDateTimeField":"1954-02-16T15:21:52Z","stringField":"ykUBiDIq","stringTimeField":"03:27:07.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1541,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1541,"uuid":"9de3e449-5655-11ee-9801-675ed0f8e89b"},"arrayField":["noHfRXEmcG","uxWeZQPF","XEhIbp","eIKHP","uxRwkqvbQ","wHHDnct","NOsOe"],"boolField":true,"intField":136,"numField":901.5017131251004,"objField":{"gckas":-4544138339764770741,"jXSqoB":1658100842446584009,"kmnn":-1088144382794630709},"stringDateField":"1947-06-22","stringDateTimeField":"1964-09-06T23:50:41Z","stringField":"Udon","stringTimeField":"01:46:59.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":136,"numField":901.5017131251004,"stringDateField":"1947-06-22","stringDateTimeField":"1964-09-06T23:50:41Z","stringField":"Udon","stringTimeField":"01:46:59.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1542,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1542,"uuid":"9de3e449-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["PYNWcYRRuj","egtVzAJFnz"],"boolField":false,"intField":909,"numField":-583.1266925476804,"objField":{"Imgm":-1264067989536918864,"ZGUdvoSJ":-5238461419627668158,"afZOJO":6086053580816985804,"azXytmURZU":-3161533478886489053,"hnmo":8400215378619824013},"stringDateField":"1957-08-04","stringDateTimeField":"1935-05-20T11:49:16Z","stringField":"bBgp","stringTimeField":"23:33:29.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":909,"numField":-583.1266925476804,"stringDateField":"1957-08-04","stringDateTimeField":"1935-05-20T11:49:16Z","stringField":"bBgp","stringTimeField":"23:33:29.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1543,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1543,"uuid":"9de3e449-5655-11ee-a001-675ed0f8e89b"},"arrayField":["dopuIBV"],"boolField":true,"intField":676,"numField":-825.793384361049,"objField":{"pLckzaBavw":7528174838548781846,"rNbhzD":-4218551809282704945,"soxWBks":-1781973844930838940},"stringDateField":"1979-05-24","stringDateTimeField":"1963-10-03T13:15:21Z","stringField":"qcWZOXcr","stringTimeField":"10:27:51.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":676,"numField":-825.793384361049,"stringDateField":"1979-05-24","stringDateTimeField":"1963-10-03T13:15:21Z","stringField":"qcWZOXcr","stringTimeField":"10:27:51.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1544,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1544,"uuid":"9de3e449-5655-11ee-a401-675ed0f8e89b"},"arrayField":["irNXpLtEo","VtUBT","AsXeCLXR","uZVUL"],"boolField":false,"intField":-200,"numField":819.5522903855639,"objField":{"KTrXngkNu":4772615570856637464,"NYdrmQ":-6501509593622597738,"QaPszr":3572914118676092283,"WADyIV":-2355069897608093642,"qwjSJmtx":7709513206084362456,"xMqY":6849049527364040644},"stringDateField":"1963-05-10","stringDateTimeField":"1937-07-19T10:27:35Z","stringField":"nULcX","stringTimeField":"14:09:34.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":-200,"numField":819.5522903855639,"stringDateField":"1963-05-10","stringDateTimeField":"1937-07-19T10:27:35Z","stringField":"nULcX","stringTimeField":"14:09:34.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1545,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1545,"uuid":"9de3e449-5655-11ee-a801-675ed0f8e89b"},"arrayField":["gBOoeX","ezPW","gJNEXm","fJSuPrL","PeFk","yfzwAPAtCM","nJZqIIzDQ","nkEmZdCJz","BTvmoKmq"],"boolField":true,"intField":-172,"numField":-971.3737056258068,"objField":{"OTlgDFgzaA":-4462611274479720944,"bOEGFz":-4432194852131563898,"bzqxuCAe":6660996722302208052,"lrLm":4438826309949754334,"viPsKW":-5764241506833500894,"ytpwEva":2037879629903882459},"stringDateField":"2008-06-21","stringDateTimeField":"2013-01-31T02:41:55Z","stringField":"qmLOzhO","stringTimeField":"00:12:20.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":-172,"numField":-971.3737056258068,"stringDateField":"2008-06-21","stringDateTimeField":"2013-01-31T02:41:55Z","stringField":"qmLOzhO","stringTimeField":"00:12:20.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1546,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1546,"uuid":"9de3e449-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["FIEVRpyje","aJqMUYNp","JCjDZIn","eoCL","wfXTBny","vZJZU","vWqTLCqayB","mbzqYfwyaR","lzyyTHI","YrVIlkt"],"boolField":false,"intField":940,"numField":-516.9089080190771,"objField":{"UbXojoHp":1294197416976218163,"chmejrVX":5373486263317468321,"nLgRKO":-7216251447438474580,"uBoBK":-3536317693017169397},"stringDateField":"1964-06-14","stringDateTimeField":"1954-06-08T19:42:34Z","stringField":"lwowySwG","stringTimeField":"22:57:45.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":940,"numField":-516.9089080190771,"stringDateField":"1964-06-14","stringDateTimeField":"1954-06-08T19:42:34Z","stringField":"lwowySwG","stringTimeField":"22:57:45.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1547,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1547,"uuid":"9de3e449-5655-11ee-b001-675ed0f8e89b"},"arrayField":["hxcllH","OCiDBu","wTpHu","TkzD","AKJSEr","nbcwtFcXag","DjFBolecb"],"boolField":true,"intField":349,"numField":352.52056261895626,"objField":{"KiDABZwZ":-6336250173840009048,"OoalXwLO":-9063821115746297020,"gnsFOgLlf":-7348335402536213315,"nYDdEWUIHP":6205501511928616240,"okAvlAO":3966967931351242597},"stringDateField":"1964-10-19","stringDateTimeField":"1919-05-29T16:48:57Z","stringField":"HPBZK","stringTimeField":"03:27:58.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":349,"numField":352.52056261895626,"stringDateField":"1964-10-19","stringDateTimeField":"1919-05-29T16:48:57Z","stringField":"HPBZK","stringTimeField":"03:27:58.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1548,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1548,"uuid":"9de3e449-5655-11ee-b401-675ed0f8e89b"},"arrayField":["BMHqpZ","BmpUxvzW","bTOePlWjG"],"boolField":false,"intField":959,"numField":-879.4089046376521,"objField":{"KuzkI":-479754836074111495,"PlDmx":6189463822997754981,"QtwGF":-7904625997392745784,"RzTmWoZbr":-5424158401586271360,"ZFqGUveMB":-4808552047180466253,"fbda":4777897536312422592,"kbPUolzPWc":-8181170055797064699,"mKfo":2944381477254421132,"wdGRdejOAI":-9093295962637760561},"stringDateField":"1923-07-15","stringDateTimeField":"1998-07-12T20:18:17Z","stringField":"slwIGiZE","stringTimeField":"18:23:08.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":959,"numField":-879.4089046376521,"stringDateField":"1923-07-15","stringDateTimeField":"1998-07-12T20:18:17Z","stringField":"slwIGiZE","stringTimeField":"18:23:08.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1549,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1549,"uuid":"9de3e449-5655-11ee-b801-675ed0f8e89b"},"arrayField":["pucVLUqVBK","yVuwL","IOGLbChzv","kOJrG","nDoONFKcC","dKgATd","kkmjGUwR","sdajCtboR","bPcaqsw"],"boolField":false,"intField":-840,"numField":982.2538139746224,"objField":{"DCHA":-4439415180933843673,"FXiqzyA":5887887275960943052,"FreG":-6571897978834664265,"eWdyTNfKgS":5158850135013119966,"llUTAmYb":-5173586979316092109,"mJoPp":103395088088768897,"zeQUZn":927537047554231943},"stringDateField":"2016-08-12","stringDateTimeField":"2023-12-24T14:44:06Z","stringField":"gNfPqh","stringTimeField":"20:58:36.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":-840,"numField":982.2538139746224,"stringDateField":"2016-08-12","stringDateTimeField":"2023-12-24T14:44:06Z","stringField":"gNfPqh","stringTimeField":"20:58:36.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1550,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1550,"uuid":"9de3e449-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["rkSYxI","jsfXmVe","OnyAOWxc","lTHfsYbZqF","EPpQXt","bnnbFR","HtYHgu","MenhB","gPRrhNZ","tfGCVs"],"boolField":true,"intField":28,"numField":363.14956901847296,"objField":{"VCzJlvGSR":-2029741812881089716,"cycHOJpLM":7464215966256658713,"fcQdIigj":-1587024968619092193,"nWmzJqhO":582742971215685845,"yhioXrTky":1824030130060801298,"zVQMVf":3130010326669277306},"stringDateField":"1918-08-14","stringDateTimeField":"2015-02-13T14:38:33Z","stringField":"OSkMYEcMg","stringTimeField":"19:11:20.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230985Z","intField":28,"numField":363.14956901847296,"stringDateField":"1918-08-14","stringDateTimeField":"2015-02-13T14:38:33Z","stringField":"OSkMYEcMg","stringTimeField":"19:11:20.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1551,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1551,"uuid":"9de3e44a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["EQzpNvz","dpziIKIbSb","TYZmkjvjFQ","XvJurF","TLZHoH","RFwalUTCrV","PSFCYM"],"boolField":false,"intField":-417,"numField":446.5824186987599,"objField":{"KmeTffYGit":6801045668285165753,"PKaeDaau":3869260979999141865,"YcxsMWeNx":4523747717860417756,"kNcDg":-3590135643677232352,"sCjjVfY":3545199308250041115},"stringDateField":"1968-02-23","stringDateTimeField":"1951-08-28T12:50:53Z","stringField":"RYlzZvlTH","stringTimeField":"11:52:57.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":-417,"numField":446.5824186987599,"stringDateField":"1968-02-23","stringDateTimeField":"1951-08-28T12:50:53Z","stringField":"RYlzZvlTH","stringTimeField":"11:52:57.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1552,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1552,"uuid":"9de3e44a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["Aaml","OzTcrbr","uRhr","TOxWFsHRwK","LNiwij","FuHIYyurM","vKzFCYWHY"],"boolField":false,"intField":416,"numField":295.9113526326711,"objField":{"dcLrcMflo":6473047786366823792},"stringDateField":"1952-11-25","stringDateTimeField":"1968-02-13T06:49:53Z","stringField":"JmdEqnLfx","stringTimeField":"10:14:01.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":416,"numField":295.9113526326711,"stringDateField":"1952-11-25","stringDateTimeField":"1968-02-13T06:49:53Z","stringField":"JmdEqnLfx","stringTimeField":"10:14:01.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1553,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1553,"uuid":"9de3e44a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["rYasa","jbJYP","tKXHA","iAPzOQq","eOrNh","IVlGyeT","ZUGog"],"boolField":true,"intField":-552,"numField":-75.8134586457967,"objField":{"vagZ":2193005587833490827,"wDRxU":-85901076449350958},"stringDateField":"1993-05-07","stringDateTimeField":"1952-03-12T07:57:49Z","stringField":"PflA","stringTimeField":"17:36:16.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":-552,"numField":-75.8134586457967,"stringDateField":"1993-05-07","stringDateTimeField":"1952-03-12T07:57:49Z","stringField":"PflA","stringTimeField":"17:36:16.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1554,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1554,"uuid":"9de3e44a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["vyHUAo","LMGusYadTA","wPnzS"],"boolField":true,"intField":984,"numField":-568.1563082238002,"objField":{"FLqhQ":-7844841042469298515,"HopWjlrm":-3889810919865949125,"JkaLmMzprt":6384581726939620705,"LLZDLUOdcZ":6566350395007801593,"LLZZcZRIzh":-5870690308102234458,"SgfySheY":4092452210846875755,"fmdkRRY":4972326098568280978,"rEVzwAut":-4496472648921751026,"zdogztMHn":-1611301804229030463},"stringDateField":"1922-01-23","stringDateTimeField":"2000-11-17T22:26:00Z","stringField":"epZBEWPgm","stringTimeField":"02:45:22.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":984,"numField":-568.1563082238002,"stringDateField":"1922-01-23","stringDateTimeField":"2000-11-17T22:26:00Z","stringField":"epZBEWPgm","stringTimeField":"02:45:22.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1555,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1555,"uuid":"9de3e44a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["CGxzOyNnp"],"boolField":false,"intField":-996,"numField":-845.2140648244624,"objField":{"JrfHr":-8850440167636657136,"KCxJgPmd":-5688935142029005535,"WcYSRVn":2467211139766383836,"bmkIb":-7232753962309648209,"gPpzaz":1012122491069349447,"hEQiYK":-6176774913203238382,"wlaewtTq":9071595435009725200,"xllSOM":-574045101253061313},"stringDateField":"1941-06-11","stringDateTimeField":"1935-10-29T04:22:29Z","stringField":"aFQuqfrSi","stringTimeField":"07:30:09.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":-996,"numField":-845.2140648244624,"stringDateField":"1941-06-11","stringDateTimeField":"1935-10-29T04:22:29Z","stringField":"aFQuqfrSi","stringTimeField":"07:30:09.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1556,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1556,"uuid":"9de3e44a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["vgldwXYqa","DCVUuyCU","vaJHCwwnB","GaDBubtlAA","lZYvtCuzMD","kNSBAsPInc"],"boolField":false,"intField":-744,"numField":-124.5138441185548,"objField":{"FBlTWLy":4176036324346556961,"KzoQwtt":-2290218130687794308,"MaAfcgrFfu":-8975860127172141711,"MkZyAwCDas":-3791206481219235054,"OxreVkvG":7840110670212560289,"VhQYCwF":9146588836723713704,"ealhHVz":-8724426703446330748,"wsur":8918727704582902429},"stringDateField":"1962-09-07","stringDateTimeField":"1954-10-13T20:43:02Z","stringField":"RjkSW","stringTimeField":"14:57:44.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":-744,"numField":-124.5138441185548,"stringDateField":"1962-09-07","stringDateTimeField":"1954-10-13T20:43:02Z","stringField":"RjkSW","stringTimeField":"14:57:44.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1557,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1557,"uuid":"9de3e44a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["XYYFz","cvLrICum","OyvzDRIHn","KIrNs","cjbHsqZr","CcGPNdWp","ojSFnCXBx","QksyGW"],"boolField":false,"intField":-817,"numField":527.8858271662776,"objField":{"YdGJWE":8774581245115804885,"wNAI":4307669160242324546,"ySxSK":5321883254719441805},"stringDateField":"1955-05-25","stringDateTimeField":"1949-03-02T04:52:21Z","stringField":"WqqWlECO","stringTimeField":"21:42:59.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":-817,"numField":527.8858271662776,"stringDateField":"1955-05-25","stringDateTimeField":"1949-03-02T04:52:21Z","stringField":"WqqWlECO","stringTimeField":"21:42:59.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1558,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1558,"uuid":"9de3e44a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["EDPmF","Ybrjvk","jXbIIXAucH","MwBMWro","FrwhbpKe","ZKps","GjmQ","ZwskINxxaL"],"boolField":false,"intField":-371,"numField":772.9747630704744,"objField":{"HoAIdr":-3432574875787213194,"KFNVG":-458523921281361933,"Kgdnlc":-5268193274593401917,"coZLDxPXr":3351627620543548470,"gxKJD":5242675329501128533,"tgEN":-7461324926939033986,"vBKOJxV":8702157478336119933,"zHPtTLn":4904600506281968803},"stringDateField":"1905-03-08","stringDateTimeField":"1952-05-27T02:23:28Z","stringField":"NmOIM","stringTimeField":"02:39:37.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":-371,"numField":772.9747630704744,"stringDateField":"1905-03-08","stringDateTimeField":"1952-05-27T02:23:28Z","stringField":"NmOIM","stringTimeField":"02:39:37.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1559,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1559,"uuid":"9de3e44a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["BKyePf","cRgwC","zngTL","Blof","ABFDZ","LHaUsfIY","qFeKaczF","lSXXNTm","pkqaSLcaA"],"boolField":true,"intField":778,"numField":-344.4817453696798,"objField":{"AKgLjteb":4287609011747564018,"ANqLzhSM":-1470282834741881566,"gEJTdjaZm":6976026175750330481,"kMVy":8436093091717539805,"msmTrakm":-7637583463319424125,"xCrCYzxWJ":6066453106845188616},"stringDateField":"2016-09-19","stringDateTimeField":"1970-08-06T23:23:38Z","stringField":"jXMceY","stringTimeField":"12:48:38.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":778,"numField":-344.4817453696798,"stringDateField":"2016-09-19","stringDateTimeField":"1970-08-06T23:23:38Z","stringField":"jXMceY","stringTimeField":"12:48:38.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1560,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1560,"uuid":"9de3e44a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["aYnWRU","lKkmeiSc","QAuqsDdFD","LvxtBJQ","enrPsqFlaP","rhogkCQg","gthzvl","aRGxfFS","QMJWSupw","wJRtB"],"boolField":true,"intField":607,"numField":884.7601665004199,"objField":{"DCZaui":2910512014679307581,"MpLyyzYN":-7974647641398822688,"OSiYDRm":-6590109876616018371,"QgkjOYWSUG":2898908346427189565,"SDYLsAB":-3439398617198272962,"TfRPLRcKWQ":-385441790105541124,"pnKlbIUVH":-2216556002081149683,"tLkktLMe":6318197373034237100,"wCavgbpDHn":1324622680900279656,"wOQCw":-3866083867851441515},"stringDateField":"1908-12-05","stringDateTimeField":"1956-03-21T19:37:14Z","stringField":"WeXIVKMVlo","stringTimeField":"04:30:10.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":607,"numField":884.7601665004199,"stringDateField":"1908-12-05","stringDateTimeField":"1956-03-21T19:37:14Z","stringField":"WeXIVKMVlo","stringTimeField":"04:30:10.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1561,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1561,"uuid":"9de3e44a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["UcvqvMWT","dxCUpPTioq","tKhQj","pkwOmtPO","vOWSIXdXIU","ASiuZ","wZLI","VhVjFFtG"],"boolField":true,"intField":299,"numField":813.8733677851015,"objField":{"AbLXflxl":-1085502762896227769,"HddcBOGs":1502367020068684099,"SCicKyoJ":-8380353241137825749,"TlfwdBohIi":1434491597735723874,"VWIzx":-115581426272355413,"knGJaztlS":8620971213691320646,"nBCGtEMDMK":4471060760773170676,"pcWGRLU":7159884569412190010,"ssRpCKSnZd":-4062994767401915089},"stringDateField":"2012-12-17","stringDateTimeField":"1938-11-13T06:35:55Z","stringField":"ffYp","stringTimeField":"14:34:04.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":299,"numField":813.8733677851015,"stringDateField":"2012-12-17","stringDateTimeField":"1938-11-13T06:35:55Z","stringField":"ffYp","stringTimeField":"14:34:04.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1562,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1562,"uuid":"9de3e44a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ZJfkTBICqZ","QsCJSHqdN","vFPgp","dVPF","xxah","jthDJPeJc","kcBPr","OxVodaF","RyVQrUbi","OXVMnaf"],"boolField":false,"intField":-186,"numField":-999.9090579465518,"objField":{"DGZxgYPF":420303545574449181,"FTXi":3336305398962111752,"FjRBQ":8176056460561572307,"KgOdln":-1548384987872485824,"LuUMAP":-2820070530369522372,"MrdNjctT":6144102214932262320,"gyNE":1469723864019875509,"qPQSZI":-3936221678973497214,"thLzUFTo":7498964556765176566,"wGOrwOk":7386314403523808857},"stringDateField":"1972-09-24","stringDateTimeField":"1917-03-08T18:59:01Z","stringField":"EmYnVBljL","stringTimeField":"07:26:39.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":-186,"numField":-999.9090579465518,"stringDateField":"1972-09-24","stringDateTimeField":"1917-03-08T18:59:01Z","stringField":"EmYnVBljL","stringTimeField":"07:26:39.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1563,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1563,"uuid":"9de3e44a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["EbwCnHFx","qGkJObwI"],"boolField":false,"intField":834,"numField":965.4082945277796,"objField":{"CZHexuVX":4376808651727574666,"LeRfv":1880933086798913185,"SeURj":3198900230586967157,"SkbMkjdAc":8339521055111922154,"XzhHVXhR":3700238226562278613,"ZgQI":-45634706871860427,"acweR":1748903565631533731,"gpcbdIcA":-1123661326223471253,"iUgouLr":10080462804999159,"uZKSyPqU":-1433292298783964710},"stringDateField":"1900-03-23","stringDateTimeField":"1917-12-17T15:51:22Z","stringField":"YrwVZb","stringTimeField":"22:47:33.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":834,"numField":965.4082945277796,"stringDateField":"1900-03-23","stringDateTimeField":"1917-12-17T15:51:22Z","stringField":"YrwVZb","stringTimeField":"22:47:33.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1564,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1564,"uuid":"9de3e44a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["lflnlk","SPCkqcNJzT","GQWEzDAcLJ","VBhp","pFWYdNbiW","slII","WtcoOSzEQ","SVflOwSyx"],"boolField":true,"intField":362,"numField":-926.3050109821957,"objField":{"GYJAYqrqoy":-3152052797273791770,"IUmGCk":2375700526340406704,"Ptoi":5904583173393235910,"Pwgg":6036029348933137747,"TmFaFhqWoL":451792422938456776,"nhNVRBzt":-3450450843588293934,"wdWEYqzT":-5321917094721184365,"xDaQ":-6083047468273564095},"stringDateField":"1952-01-21","stringDateTimeField":"1925-08-27T09:40:12Z","stringField":"dXAILT","stringTimeField":"12:22:24.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":362,"numField":-926.3050109821957,"stringDateField":"1952-01-21","stringDateTimeField":"1925-08-27T09:40:12Z","stringField":"dXAILT","stringTimeField":"12:22:24.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1565,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1565,"uuid":"9de3e44a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["vHEfA","ZkxKJxB","IocuYSC","IZoh","CRpP","PxwUZEt","xTEKQvJK","mHmPPgvj","HoFy","PHxmv"],"boolField":false,"intField":390,"numField":188.37207620896712,"objField":{"HzIAhW":-1196505848845644222,"Mrrz":1338338231191736460,"QyyDlM":-6535934246841987068,"TpYUdSRn":-4826405651674408603,"voDPSwD":5255769506467989453},"stringDateField":"1950-06-20","stringDateTimeField":"1928-12-31T19:30:31Z","stringField":"GxMxaIFYe","stringTimeField":"13:20:27.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":390,"numField":188.37207620896712,"stringDateField":"1950-06-20","stringDateTimeField":"1928-12-31T19:30:31Z","stringField":"GxMxaIFYe","stringTimeField":"13:20:27.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1566,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1566,"uuid":"9de3e44a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["IrRimBgl"],"boolField":true,"intField":970,"numField":464.06432019730335,"objField":{"MDLogUMnZu":7907574251075045625,"YeakE":8832892562512552322,"zSFdgkp":5698030964509947803},"stringDateField":"2017-12-18","stringDateTimeField":"1934-09-15T11:23:59Z","stringField":"AjaXMAk","stringTimeField":"20:31:52.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230986Z","intField":970,"numField":464.06432019730335,"stringDateField":"2017-12-18","stringDateTimeField":"1934-09-15T11:23:59Z","stringField":"AjaXMAk","stringTimeField":"20:31:52.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1567,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1567,"uuid":"9de3e44b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["njybICnXd","qvGAqNXWwp","pTkEmEDh","kCLCu"],"boolField":true,"intField":39,"numField":334.05338115096384,"objField":{"dGKcBiIMw":8601251177250608132},"stringDateField":"1917-01-25","stringDateTimeField":"1911-05-07T04:13:33Z","stringField":"eTVErDGmt","stringTimeField":"12:54:03.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":39,"numField":334.05338115096384,"stringDateField":"1917-01-25","stringDateTimeField":"1911-05-07T04:13:33Z","stringField":"eTVErDGmt","stringTimeField":"12:54:03.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1568,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1568,"uuid":"9de3e44b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["Hoexi"],"boolField":false,"intField":-137,"numField":905.949882784393,"objField":{"EeaWPRS":-3674664132578419963,"NmjLXm":-3173116341311685727,"WIJKIL":8797131743541435570,"qsfjW":1957831765504000139,"uENxRuOQ":-1867982474939710271},"stringDateField":"2020-12-21","stringDateTimeField":"1985-07-18T05:05:30Z","stringField":"jYDbNkK","stringTimeField":"19:43:32.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":-137,"numField":905.949882784393,"stringDateField":"2020-12-21","stringDateTimeField":"1985-07-18T05:05:30Z","stringField":"jYDbNkK","stringTimeField":"19:43:32.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1569,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1569,"uuid":"9de3e44b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["sQixSXz","qLheMyrM","AXsH","bVXimRMCU","ZuVda","BFCQ","julg","dfEsQgKf","oRhW"],"boolField":false,"intField":-400,"numField":849.2357243051367,"objField":{"qgyRZXn":-6243197963270104132},"stringDateField":"1958-03-01","stringDateTimeField":"2013-05-07T06:14:35Z","stringField":"YrXIA","stringTimeField":"08:13:16.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":-400,"numField":849.2357243051367,"stringDateField":"1958-03-01","stringDateTimeField":"2013-05-07T06:14:35Z","stringField":"YrXIA","stringTimeField":"08:13:16.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1570,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1570,"uuid":"9de3e44b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["vMzgA","kHAuOjhIUG"],"boolField":false,"intField":-107,"numField":-763.8014195090975,"objField":{"COFRBq":-4831382869761856007,"ErBezokZB":-6065627327187700315,"HZGDzd":-6854470467700999700,"HoJly":-2064649267388827263,"ICgUP":3296618690227466744,"XGDe":6155883351623245649,"ZYvDE":7384415273933643042,"bbgoGY":-1104972076416420836,"fGvvJuTibd":-5746964494215450140},"stringDateField":"1989-08-26","stringDateTimeField":"1962-12-26T01:05:34Z","stringField":"TCtOrkhX","stringTimeField":"18:45:46.35Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":-107,"numField":-763.8014195090975,"stringDateField":"1989-08-26","stringDateTimeField":"1962-12-26T01:05:34Z","stringField":"TCtOrkhX","stringTimeField":"18:45:46.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1571,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1571,"uuid":"9de3e44b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["wBQDUCXgd","YXpvLLpkIX","nzSwCAAGj","sKFxeiUrSK","xzVHtE"],"boolField":false,"intField":-198,"numField":768.9271656753903,"objField":{"oerFLo":6265921865556398605},"stringDateField":"2023-11-27","stringDateTimeField":"1918-03-21T19:33:39Z","stringField":"hggdopCLJ","stringTimeField":"18:55:14.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":-198,"numField":768.9271656753903,"stringDateField":"2023-11-27","stringDateTimeField":"1918-03-21T19:33:39Z","stringField":"hggdopCLJ","stringTimeField":"18:55:14.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1572,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1572,"uuid":"9de3e44b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ttUN","fCsNRAfbSX","ZHzroKJD","NTCKrvuHtE","QbcUX","cVwBaIDn"],"boolField":false,"intField":312,"numField":-908.8084206290636,"objField":{"LFXvxNt":3494503319450995061},"stringDateField":"1935-03-14","stringDateTimeField":"1973-01-07T02:02:54Z","stringField":"TvPIzdIBc","stringTimeField":"14:48:19.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":312,"numField":-908.8084206290636,"stringDateField":"1935-03-14","stringDateTimeField":"1973-01-07T02:02:54Z","stringField":"TvPIzdIBc","stringTimeField":"14:48:19.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1573,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1573,"uuid":"9de3e44b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["XAwfLSFCf","AmyInjDv"],"boolField":false,"intField":-549,"numField":514.3406466409473,"objField":{"bzXULgQlZR":1813967424511605171},"stringDateField":"1935-12-15","stringDateTimeField":"1924-04-20T10:12:06Z","stringField":"vuSarDhsh","stringTimeField":"05:07:04.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":-549,"numField":514.3406466409473,"stringDateField":"1935-12-15","stringDateTimeField":"1924-04-20T10:12:06Z","stringField":"vuSarDhsh","stringTimeField":"05:07:04.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1574,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1574,"uuid":"9de3e44b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["osoKwcEc","vhirZycMJ","STCWMPdZg","iOgQ"],"boolField":false,"intField":-466,"numField":279.87127480982775,"objField":{"KwUeKgP":-704767572250753513,"exzjbz":-7484920804758002586,"nsMi":6493172582398929123,"oaVnIRoYjz":-3759815425231812563,"qWfWu":6335562793547241329},"stringDateField":"1952-03-17","stringDateTimeField":"1998-10-09T05:21:49Z","stringField":"TzBP","stringTimeField":"14:31:56.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":-466,"numField":279.87127480982775,"stringDateField":"1952-03-17","stringDateTimeField":"1998-10-09T05:21:49Z","stringField":"TzBP","stringTimeField":"14:31:56.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1575,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1575,"uuid":"9de3e44b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["cBZdviyQZ","kxRuM","onkqmHiPWI","HqpuQ","SplmKAbg"],"boolField":true,"intField":-108,"numField":462.7513814140667,"objField":{"Ijsmls":-2598047762008065545,"NcgvpqOQ":-8072563280294266492,"OxAv":3862198307818876515,"ZFleBsQ":3235678866087732189,"kuVNxq":6380601795464679882},"stringDateField":"1990-12-03","stringDateTimeField":"1908-07-23T10:38:00Z","stringField":"FzzhlR","stringTimeField":"04:48:07.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":-108,"numField":462.7513814140667,"stringDateField":"1990-12-03","stringDateTimeField":"1908-07-23T10:38:00Z","stringField":"FzzhlR","stringTimeField":"04:48:07.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1576,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1576,"uuid":"9de3e44b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["XYaae","eFjIjHgJ","FBtoBg","vUci","HBTEB","xRqOVoaMUm","eCThFFSa","xRIPKWsVNe","ceAWeXx","QtvHee"],"boolField":true,"intField":-681,"numField":861.2867099261632,"objField":{"Bidl":6473502101899109087,"GYJiEXQp":-7194570513968657701,"OFHLZsW":-1189807871308082098,"OMHPdo":-7886633583465419108,"TLFoi":-8545614364184358128,"XCurx":379672507908637729,"doXWxFn":-1873491653566119881,"gXFkMahW":7724876731516741006,"swoSLum":-6075729032051072436},"stringDateField":"1952-08-21","stringDateTimeField":"1991-05-08T10:35:34Z","stringField":"udujzoRjD","stringTimeField":"22:05:46.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":-681,"numField":861.2867099261632,"stringDateField":"1952-08-21","stringDateTimeField":"1991-05-08T10:35:34Z","stringField":"udujzoRjD","stringTimeField":"22:05:46.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1577,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1577,"uuid":"9de3e44b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["FDaFqtMbn","CqYjqnA","RAhch","jqHqtWO","fnNRabALx","lIjmmQH","IWKGT"],"boolField":true,"intField":-189,"numField":-574.4487534247784,"objField":{"AlRVZi":3259829953714284970,"ECsGx":1553176292842007569,"RilrlVi":3677764175038122409,"nTDRBZvF":5923087796696387171,"naWWozI":-1681430023946262423,"xUzmjGH":1290925850831902910,"zDFFsng":-6315785462809417166},"stringDateField":"1989-09-15","stringDateTimeField":"1921-04-27T01:45:26Z","stringField":"yHqrYFPre","stringTimeField":"10:53:12.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":-189,"numField":-574.4487534247784,"stringDateField":"1989-09-15","stringDateTimeField":"1921-04-27T01:45:26Z","stringField":"yHqrYFPre","stringTimeField":"10:53:12.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1578,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1578,"uuid":"9de3e44b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["gsfJra","LiWahA","hvihS","xqSbQZcSiv","dtEih","BSqoiQ","xOKiqOXlgN","lGZca","EFbfjpaQch","XjMivw"],"boolField":false,"intField":157,"numField":651.6820849470768,"objField":{"DnLGeoc":2884901460601984458,"TVndW":-6163515129142800640,"onUOtfg":-8077031510619570622,"xLfzOFMxZ":-253822938239079468},"stringDateField":"1966-04-02","stringDateTimeField":"1939-10-17T22:31:04Z","stringField":"ouJfBF","stringTimeField":"00:12:53.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":157,"numField":651.6820849470768,"stringDateField":"1966-04-02","stringDateTimeField":"1939-10-17T22:31:04Z","stringField":"ouJfBF","stringTimeField":"00:12:53.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1579,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1579,"uuid":"9de3e44b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["tpODEMp","woad","mVanLs","Lveh","duaJVnRgC","NKddxb","DMlugmnwmb","xZqXN","FjYfJ","WPpXllcA"],"boolField":false,"intField":478,"numField":855.8494883849053,"objField":{"HPFnqJ":-2412803922968305267,"VWbw":-3953269365048534340,"VmOENVUL":-6847214195418571465,"XtxM":6794758339741908573,"iGkTmMNy":-3919352155523415059,"jRfSQvbr":1126376537511991220},"stringDateField":"1978-06-26","stringDateTimeField":"1927-06-18T20:13:25Z","stringField":"YpYccVqw","stringTimeField":"14:58:13.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":478,"numField":855.8494883849053,"stringDateField":"1978-06-26","stringDateTimeField":"1927-06-18T20:13:25Z","stringField":"YpYccVqw","stringTimeField":"14:58:13.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1580,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1580,"uuid":"9de3e44b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ROFgjNj","uxJdzRJ","sJYHtBKexo","vWfnCyCFtd","tYswnrxoMz","HhvUgyaY","KKyUdgCEV"],"boolField":true,"intField":59,"numField":-431.3424430666893,"objField":{"Doaetd":-5152482457678090543,"OGQDP":-4140503640345084579,"jvxnzk":-3647578548724409324,"lSiwl":2038802921788213760,"nMOze":4554573101996355886,"nhsxv":4199404224023870834,"nsRZvay":-4872269810869353690,"uByBAuyP":2934258234906924517,"uxph":8885049179653945558,"xZyKVQm":6311553209061527701},"stringDateField":"1990-11-20","stringDateTimeField":"1995-04-10T05:19:50Z","stringField":"YxrNPVL","stringTimeField":"05:38:14.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":59,"numField":-431.3424430666893,"stringDateField":"1990-11-20","stringDateTimeField":"1995-04-10T05:19:50Z","stringField":"YxrNPVL","stringTimeField":"05:38:14.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1581,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1581,"uuid":"9de3e44b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["vfwcEXvRK","qHUSAPtIKJ","UaEqCSbQd","nAcMh"],"boolField":true,"intField":571,"numField":151.81126089067988,"objField":{"BLSduEA":-6062869473436832316,"BPbd":8526378212644082280,"MAxHOvva":-4135497771077129910,"MORt":4805510025889515624,"VOBuyJk":-3476084572854735497,"XGZNuWyIhI":-7382391175609229833,"kWBNUD":7799890451033545374,"pqpvIiMAyL":-7556125915531646581,"sWUVrETRb":2931186533878631374},"stringDateField":"1946-12-06","stringDateTimeField":"2019-09-08T07:16:11Z","stringField":"lDZK","stringTimeField":"12:58:59.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":571,"numField":151.81126089067988,"stringDateField":"1946-12-06","stringDateTimeField":"2019-09-08T07:16:11Z","stringField":"lDZK","stringTimeField":"12:58:59.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1582,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1582,"uuid":"9de3e44b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["HCHezZ","wqyyRosUrM","QFFmiCtTZf","mDGvnETNSb"],"boolField":false,"intField":358,"numField":-615.3265205446812,"objField":{"AwUjrlnw":3105092588850181834},"stringDateField":"2015-12-29","stringDateTimeField":"1918-02-09T03:46:29Z","stringField":"kDeuwzh","stringTimeField":"19:05:29.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230987Z","intField":358,"numField":-615.3265205446812,"stringDateField":"2015-12-29","stringDateTimeField":"1918-02-09T03:46:29Z","stringField":"kDeuwzh","stringTimeField":"19:05:29.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1583,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1583,"uuid":"9de3e44c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["XSfqztQ","LzWJJvCr","ieBpd","kkenMmgM","MyLWzkJGj","BhwjSUTdo","fHmZaRHTv","yjAPkGoJdq","yfdfDVkM"],"boolField":true,"intField":618,"numField":743.2102002600402,"objField":{"BSySWZU":6492789768450280594,"GftVuMsLl":-3978835841812565739,"QNsuVx":5414904908233008214,"SiJFrFTuj":-2629351651912653932,"TvFKofGpPg":-6357169989896070635,"ofksl":-4167443012481528551},"stringDateField":"2013-10-08","stringDateTimeField":"2010-08-02T20:14:35Z","stringField":"ZeBbZmmBpD","stringTimeField":"20:45:33.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":618,"numField":743.2102002600402,"stringDateField":"2013-10-08","stringDateTimeField":"2010-08-02T20:14:35Z","stringField":"ZeBbZmmBpD","stringTimeField":"20:45:33.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1584,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1584,"uuid":"9de3e44c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rdSe","WNJxUt","wyGG","wfsvgjygj","hlCGiUXE"],"boolField":true,"intField":417,"numField":-392.6154320991071,"objField":{"iNxKnySi":6459539964747195628},"stringDateField":"1992-09-21","stringDateTimeField":"1968-02-02T01:47:28Z","stringField":"dwVzkrod","stringTimeField":"13:51:49.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":417,"numField":-392.6154320991071,"stringDateField":"1992-09-21","stringDateTimeField":"1968-02-02T01:47:28Z","stringField":"dwVzkrod","stringTimeField":"13:51:49.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1585,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1585,"uuid":"9de3e44c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bZiTWyaYZy","qEaSOm","CQqdN","JXwnYQMEv","iLjVedd","vRvWejPISC","BCUBDHeFDJ"],"boolField":false,"intField":-63,"numField":629.5302080555587,"objField":{"AOMCUA":5477242528220682614,"ImSvypOkC":-7561014933253124897,"QwoQGrGFb":6993397040198346674,"TExv":4443674799974740776,"YyfTMLS":-1028076905135584362,"htnWH":-6489837877473976956,"icmDREggE":-3997545464594595568,"uIJquf":-7493143015134792861},"stringDateField":"1960-03-19","stringDateTimeField":"1933-04-25T08:41:15Z","stringField":"oxOHAplbx","stringTimeField":"08:51:26.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":-63,"numField":629.5302080555587,"stringDateField":"1960-03-19","stringDateTimeField":"1933-04-25T08:41:15Z","stringField":"oxOHAplbx","stringTimeField":"08:51:26.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1586,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1586,"uuid":"9de3e44c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["cYzNrY","XJieHKmljD","gKhgt","bKkpc","Nplisuc","AiOThzPi","ixDwVfnnsq","hjPgCh","MMWDrxjvML","Kehb"],"boolField":false,"intField":-959,"numField":-723.151082853581,"objField":{"oOZiy":-869615391886458305},"stringDateField":"1963-06-18","stringDateTimeField":"1977-09-09T00:25:13Z","stringField":"DHsGEPRHs","stringTimeField":"12:49:57.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":-959,"numField":-723.151082853581,"stringDateField":"1963-06-18","stringDateTimeField":"1977-09-09T00:25:13Z","stringField":"DHsGEPRHs","stringTimeField":"12:49:57.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1587,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1587,"uuid":"9de3e44c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["vGBdMLuuzH","arGkHtX","ztqrZjWkVR","PVcJrZD","amBzYgyn","EbXpYkJgeY"],"boolField":true,"intField":397,"numField":793.2142731931948,"objField":{"LjTVW":-3909317945581606588,"srctZ":-400654027437758056},"stringDateField":"2019-04-24","stringDateTimeField":"1952-03-19T06:00:49Z","stringField":"BcUGiPSkK","stringTimeField":"21:53:43.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":397,"numField":793.2142731931948,"stringDateField":"2019-04-24","stringDateTimeField":"1952-03-19T06:00:49Z","stringField":"BcUGiPSkK","stringTimeField":"21:53:43.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1588,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1588,"uuid":"9de3e44c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["oIyndB","rxbKSKwv","XxzUONYng","aexpPB"],"boolField":false,"intField":22,"numField":556.3470618198323,"objField":{"JOyLkK":-8174739758524794537,"NYSEab":-6058119811372285008,"QDiog":8444680259840383668,"abcpavX":-4140876022021158223,"jtIcIaIQow":-7264360284879737384,"rBtAKl":1365907971196911267,"rEnmYwvq":2751540318732626701,"sOORGKq":3895386059040441888},"stringDateField":"1913-04-15","stringDateTimeField":"1961-04-16T08:43:41Z","stringField":"egDodO","stringTimeField":"21:28:33.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":22,"numField":556.3470618198323,"stringDateField":"1913-04-15","stringDateTimeField":"1961-04-16T08:43:41Z","stringField":"egDodO","stringTimeField":"21:28:33.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1589,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1589,"uuid":"9de3e44c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gXurHKGSlx","jYVVCaapa","czLzOK"],"boolField":true,"intField":-420,"numField":-890.7620119752057,"objField":{"TsIasx":3240772053943848044,"jyUu":-4058003944880660019},"stringDateField":"1966-11-15","stringDateTimeField":"1944-09-30T18:46:25Z","stringField":"lwnFrVi","stringTimeField":"05:27:03.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":-420,"numField":-890.7620119752057,"stringDateField":"1966-11-15","stringDateTimeField":"1944-09-30T18:46:25Z","stringField":"lwnFrVi","stringTimeField":"05:27:03.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1590,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1590,"uuid":"9de3e44c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["jChswbYF","wWZzBJEk","dKiAJpK","chUqr","VsSAkNP"],"boolField":false,"intField":-858,"numField":-263.9932169235071,"objField":{"CXadfcjJ":-4959747093736411286},"stringDateField":"2012-10-09","stringDateTimeField":"2015-07-22T08:16:41Z","stringField":"tonlrD","stringTimeField":"15:44:26.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":-858,"numField":-263.9932169235071,"stringDateField":"2012-10-09","stringDateTimeField":"2015-07-22T08:16:41Z","stringField":"tonlrD","stringTimeField":"15:44:26.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1591,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1591,"uuid":"9de3e44c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["OfqikIe","BjcjZmHz","XwXYADWD","OzqzxU","gmVv","YvVSnU","rMGDTaQR","PFOSPMnA","TSDBGp","iGWFkA"],"boolField":false,"intField":396,"numField":-546.0589740528613,"objField":{"BhzSaXIR":6504141546864010743,"KHaTZwIQ":-6583114409120948526,"NmJC":-3524119871086470016,"RqoQxE":-3579568747510262179,"jhmZYm":-6254990189011507205,"kAjXgK":4169895644951111994},"stringDateField":"1929-10-04","stringDateTimeField":"1948-10-14T16:36:14Z","stringField":"TTiEuVyq","stringTimeField":"13:32:18.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":396,"numField":-546.0589740528613,"stringDateField":"1929-10-04","stringDateTimeField":"1948-10-14T16:36:14Z","stringField":"TTiEuVyq","stringTimeField":"13:32:18.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1592,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1592,"uuid":"9de3e44c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["UWjmobnCT","KLrOzu","LuKKDS"],"boolField":true,"intField":-581,"numField":36.23638242846216,"objField":{"BwYuLBGxJ":530782598810546716,"Nhbk":-1824270194005070037,"Nlqct":-7651225450493386031,"VEuVj":-1823898439902952679,"dwJqFkOkt":8861015068510679632,"jsjCWR":-4211685109480810822,"oRMDzL":8852598404446864975,"qKQJm":6027660254337317444,"rqSgzY":-7952717114603349673},"stringDateField":"1962-12-30","stringDateTimeField":"1935-09-08T04:09:08Z","stringField":"zqCtwI","stringTimeField":"16:00:06.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":-581,"numField":36.23638242846216,"stringDateField":"1962-12-30","stringDateTimeField":"1935-09-08T04:09:08Z","stringField":"zqCtwI","stringTimeField":"16:00:06.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1593,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1593,"uuid":"9de3e44c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["SPuVd","ucMb","xsyLe"],"boolField":false,"intField":644,"numField":969.751538270746,"objField":{"GyWfrMOTRa":8505558864174286759,"uBQDAcc":-5809940144982403989},"stringDateField":"1997-10-01","stringDateTimeField":"1902-06-23T20:07:58Z","stringField":"dfFiy","stringTimeField":"14:50:48.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":644,"numField":969.751538270746,"stringDateField":"1997-10-01","stringDateTimeField":"1902-06-23T20:07:58Z","stringField":"dfFiy","stringTimeField":"14:50:48.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1594,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1594,"uuid":"9de3e44c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ItIj","ePovIue","oLEMcDrcf","nzxpJRvDH","veikk","DQlHLNpdMy","ASMWes","QhzUCMWD","SrdASV","ytLLx"],"boolField":false,"intField":-68,"numField":-214.96660260996305,"objField":{"DveindhRCl":-2040688721793695575,"GilAIaM":5352628447912841729,"NmczXPvUgL":7709129646089860036,"dhIacfx":-6902140116191895575,"gIBZVrt":-7273861464381411859,"hbFMewXBIA":1881742809611839489,"oLfdA":278426661450620384,"qokpc":6546465504604130072,"qvYMGbONg":3498060605480098148},"stringDateField":"1943-09-03","stringDateTimeField":"1946-06-18T11:55:34Z","stringField":"sOWviQ","stringTimeField":"13:34:58.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":-68,"numField":-214.96660260996305,"stringDateField":"1943-09-03","stringDateTimeField":"1946-06-18T11:55:34Z","stringField":"sOWviQ","stringTimeField":"13:34:58.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1595,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1595,"uuid":"9de3e44c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["oxxnOwT","MxbHgnAL","rciyzfxuZ"],"boolField":false,"intField":375,"numField":-867.6196700106764,"objField":{"OacxIpvz":6224687111689529788,"kzLhDrZ":3905034565235270883,"scMubYijbL":-3055439332702231173},"stringDateField":"2002-03-04","stringDateTimeField":"1931-04-23T05:32:11Z","stringField":"eKsXAPLHM","stringTimeField":"22:01:37.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":375,"numField":-867.6196700106764,"stringDateField":"2002-03-04","stringDateTimeField":"1931-04-23T05:32:11Z","stringField":"eKsXAPLHM","stringTimeField":"22:01:37.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1596,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1596,"uuid":"9de3e44c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["exJhWCnEJp","CBtO","feLRir","YzXDmv","dVxWsVMxN","XAay","cEEzCz","cxbYumd","YyoZszcAj","ZbedcBMuj"],"boolField":false,"intField":-846,"numField":193.7482846577887,"objField":{"AhFQlxCx":5141325418480478363,"DhFrseDr":4673524649627278083,"EDbp":8756475809063920883,"IdfTwWi":-2632205692609103131,"TjnjnKzgoT":-9179593676565668817,"fdSnpMOHZ":9052222575849133976,"hEqDSM":247342130905734454,"hGbwohSZX":-2536207311581316670,"okzcSm":8414613273408695110,"ytNET":7608387716343699265},"stringDateField":"1915-07-28","stringDateTimeField":"1962-06-02T02:44:44Z","stringField":"ATBluSJ","stringTimeField":"23:52:37.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":-846,"numField":193.7482846577887,"stringDateField":"1915-07-28","stringDateTimeField":"1962-06-02T02:44:44Z","stringField":"ATBluSJ","stringTimeField":"23:52:37.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1597,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1597,"uuid":"9de3e44c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["hfXvS","CScSrwX","YXUplMIdB","oFSOmkU","ZMMrgSnM","tEdKsT"],"boolField":true,"intField":-494,"numField":367.524570074349,"objField":{"JUTTMTRfIU":-3634253131307834686,"UOAY":-8264564048457325839,"VXetSao":-5156475591574872981,"gHqpVVA":3513978334307269644,"kMpv":-2439425538444680791,"kTQMZmKcM":2583726063252528005,"koIyn":4568083622046209322,"nDShIBNHq":6832704483658405207,"onloaK":-1097673819465092510},"stringDateField":"1951-10-31","stringDateTimeField":"1926-06-07T13:37:43Z","stringField":"pexJatr","stringTimeField":"21:08:15.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":-494,"numField":367.524570074349,"stringDateField":"1951-10-31","stringDateTimeField":"1926-06-07T13:37:43Z","stringField":"pexJatr","stringTimeField":"21:08:15.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1598,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1598,"uuid":"9de3e44c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["QKrHepwq","rnSCX","vWRX","ITwb","FkQqgBt","rEgJPZjdj"],"boolField":false,"intField":-798,"numField":927.4186303879364,"objField":{"ANHyS":-5601350927168842942,"UGqln":-118470702417199640,"UOwbnHu":5697291853101178327,"UlXbDBZn":-1919060727961490789,"kAIwMwrH":7032521336631856847,"zzhfDt":-123459064546825341},"stringDateField":"1973-11-21","stringDateTimeField":"1955-05-16T01:19:39Z","stringField":"IxnFIO","stringTimeField":"17:51:22.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230988Z","intField":-798,"numField":927.4186303879364,"stringDateField":"1973-11-21","stringDateTimeField":"1955-05-16T01:19:39Z","stringField":"IxnFIO","stringTimeField":"17:51:22.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1599,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1599,"uuid":"9de3e44d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["VpFfX","mHvazpIBRv","MxQxmfN","LhbQGdPIA","Eymzcjp","sfpgkM","FVPwhHv"],"boolField":false,"intField":-64,"numField":970.2077368211342,"objField":{"ELQkFknz":-876413759929967192,"OaCYMoHye":-7319490048072457967,"TDeV":-8377921855413334422,"ZBzyM":7379635451311522840,"aLNrccmP":7911825707700074551,"iyJxfGPB":-7655164569346981396,"lxrd":1218002971282461247,"pmfAT":637051711812877479},"stringDateField":"1921-07-08","stringDateTimeField":"1927-08-04T16:48:52Z","stringField":"IPBiJfuK","stringTimeField":"01:37:45.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":-64,"numField":970.2077368211342,"stringDateField":"1921-07-08","stringDateTimeField":"1927-08-04T16:48:52Z","stringField":"IPBiJfuK","stringTimeField":"01:37:45.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1600,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1600,"uuid":"9de3e44d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["IrWuiOnuZJ","KjDUABl","UQtWVuSC","BNFSk","ABYiMpLrY"],"boolField":false,"intField":670,"numField":305.0248305977394,"objField":{"uKSQjkU":-7869478703445956051},"stringDateField":"1968-11-12","stringDateTimeField":"1910-08-17T20:12:54Z","stringField":"GVzkEhsHL","stringTimeField":"11:16:02.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":670,"numField":305.0248305977394,"stringDateField":"1968-11-12","stringDateTimeField":"1910-08-17T20:12:54Z","stringField":"GVzkEhsHL","stringTimeField":"11:16:02.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1601,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1601,"uuid":"9de3e44d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["cZqjbZY","RbjXhnzNa"],"boolField":true,"intField":-568,"numField":-631.815353333173,"objField":{"AjpzFmrjI":-4070108111800473360,"nAispo":-4089341789265404900,"nPIgLTv":3806279216117672689},"stringDateField":"1990-12-09","stringDateTimeField":"1993-08-30T02:16:17Z","stringField":"lawUpGeRp","stringTimeField":"08:54:14.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":-568,"numField":-631.815353333173,"stringDateField":"1990-12-09","stringDateTimeField":"1993-08-30T02:16:17Z","stringField":"lawUpGeRp","stringTimeField":"08:54:14.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1602,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1602,"uuid":"9de3e44d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["Qqia","uqaZMoDKD","vGmSD","TjMxBp","uOBw","VvXgzd","totg"],"boolField":false,"intField":-711,"numField":918.4098683629452,"objField":{"NOwBtxPLm":-2680402480455786604,"ZvIa":3101273011458688237,"bVyknlBwDl":-914128261819073894,"dNFDPv":5737039721152849380,"oGNxgl":550610503771906256},"stringDateField":"1937-03-13","stringDateTimeField":"1915-12-27T13:54:10Z","stringField":"VdFcunC","stringTimeField":"10:11:20.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":-711,"numField":918.4098683629452,"stringDateField":"1937-03-13","stringDateTimeField":"1915-12-27T13:54:10Z","stringField":"VdFcunC","stringTimeField":"10:11:20.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1603,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1603,"uuid":"9de3e44d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["knmEVjtUhV","GLTprxasyQ","WNREQWQ","clET","uXBeptBbR","EtCjVhTpK","MnpJ","WzWEpgx","MvYVlkrc","BInehX"],"boolField":false,"intField":700,"numField":333.36206742998644,"objField":{"BTpwmbG":-1073586938067437491},"stringDateField":"2017-02-01","stringDateTimeField":"2010-11-20T12:24:46Z","stringField":"dKHV","stringTimeField":"17:00:13.11Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":700,"numField":333.36206742998644,"stringDateField":"2017-02-01","stringDateTimeField":"2010-11-20T12:24:46Z","stringField":"dKHV","stringTimeField":"17:00:13.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1604,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1604,"uuid":"9de3e44d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["asWfX","iVKw","BYvwsGSf","azRqBaUOv","Mnqk","NMfwjQweMg","qAIBgjP","ECfXpVi"],"boolField":true,"intField":618,"numField":682.9415173233238,"objField":{"DpzB":-1263809041638663125,"GiKQLv":-2676201885624024767,"JGjxxpJ":2156849890211745778,"KaptzzNVa":-5782282717165532627,"KpUgVP":-8213646324380971059,"PjVQaGBLf":-3379785398756597393,"WAZZG":5848635972280045057,"cLwsuQKwE":2292889785846710165,"fxEWagsQ":4270883645946801565,"voCNR":-4765624857409455112},"stringDateField":"2019-08-25","stringDateTimeField":"1935-05-25T20:18:36Z","stringField":"UwsU","stringTimeField":"08:32:36.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":618,"numField":682.9415173233238,"stringDateField":"2019-08-25","stringDateTimeField":"1935-05-25T20:18:36Z","stringField":"UwsU","stringTimeField":"08:32:36.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1605,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1605,"uuid":"9de3e44d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["GzUMfhzCtE"],"boolField":false,"intField":-112,"numField":-907.760395675572,"objField":{"ASwJjwRZ":3753531574838455771,"ydnES":-4636125881808863658},"stringDateField":"1906-05-15","stringDateTimeField":"2006-02-14T06:54:15Z","stringField":"IFewOJRJ","stringTimeField":"22:23:36.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":-112,"numField":-907.760395675572,"stringDateField":"1906-05-15","stringDateTimeField":"2006-02-14T06:54:15Z","stringField":"IFewOJRJ","stringTimeField":"22:23:36.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1606,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1606,"uuid":"9de3e44d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["YLpvqiva","aCVNsEWAgJ"],"boolField":true,"intField":0,"numField":-330.4726498437828,"objField":{"DcBhWt":-2551874886542437500,"QwHvlH":-7687999601889789827,"UXQFJTR":646002296023124394,"fOtgtejpah":3469400323662814340,"fOzwC":-3841323994932158051,"jpLtCadN":-4016061471098970442,"lkvnWb":-4011488022557915832,"nJZBFK":-2335167675620831312,"rJlCjDOCH":8544549273444568628,"wpjWFWYeq":-7001577725927307655},"stringDateField":"1925-08-24","stringDateTimeField":"1951-07-16T23:46:44Z","stringField":"aKuqq","stringTimeField":"12:43:56.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":0,"numField":-330.4726498437828,"stringDateField":"1925-08-24","stringDateTimeField":"1951-07-16T23:46:44Z","stringField":"aKuqq","stringTimeField":"12:43:56.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1607,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1607,"uuid":"9de3e44d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["mmqgUkUMx","EmPSp","cHaNYg","VzoTbxKZTK","rfhhMEM"],"boolField":true,"intField":138,"numField":488.7279502529558,"objField":{"ENkeJ":457781348557406225,"HNxE":3997624231271533870,"JRTaaBOgp":4309074633577143526,"OTqJA":1877127241286758551,"hUjPTwtK":-827388877214110588,"ojtpNBLJV":4385727431259777501,"qvWHyyeaby":4794884947279968498,"zCwHLQvV":-7059232268164493790},"stringDateField":"1926-10-04","stringDateTimeField":"1953-06-21T07:19:07Z","stringField":"WvnGbuOtV","stringTimeField":"03:23:27.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":138,"numField":488.7279502529558,"stringDateField":"1926-10-04","stringDateTimeField":"1953-06-21T07:19:07Z","stringField":"WvnGbuOtV","stringTimeField":"03:23:27.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1608,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1608,"uuid":"9de3e44d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["vQxSEqEarE","gLiEmxwG","izhwvPJlv","HPKIJB","bsLAQNK","XslsLWzxq","USMPsl","OPJtESy","IHOmNPBT","zzovk"],"boolField":false,"intField":579,"numField":488.4387602054079,"objField":{"PsDgaxMuUh":8143334360422172397,"QMXsdyET":-1665165287402613594,"Riih":7121864343959850699,"UpGUN":4918947950428436548,"bhGOzg":2434327000489986814},"stringDateField":"1992-11-29","stringDateTimeField":"1933-01-10T08:05:04Z","stringField":"tqpggnS","stringTimeField":"12:08:51.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":579,"numField":488.4387602054079,"stringDateField":"1992-11-29","stringDateTimeField":"1933-01-10T08:05:04Z","stringField":"tqpggnS","stringTimeField":"12:08:51.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1609,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1609,"uuid":"9de3e44d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nCyrQQEUxE","arEj","UdFBDyvh","BCEEVZgoGJ"],"boolField":true,"intField":-869,"numField":-123.755402955137,"objField":{"AcSphd":6857952667780980831,"FrPb":8942622813436586552,"HWBfNeXs":485332083881091343,"SfmsyJUM":-3149513285965416727,"UJZXcjWT":4580964418494188541,"YqgydjpbK":-7721577327142043483,"eNQBmOV":-1783333603271478544,"hFnch":-5579634019266900435,"hhuGZH":2115347595188224766},"stringDateField":"1939-02-07","stringDateTimeField":"1931-08-03T14:30:02Z","stringField":"stGg","stringTimeField":"15:13:32.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":-869,"numField":-123.755402955137,"stringDateField":"1939-02-07","stringDateTimeField":"1931-08-03T14:30:02Z","stringField":"stGg","stringTimeField":"15:13:32.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1610,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1610,"uuid":"9de3e44d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["gJpkM","ORnQj","shqRSZ"],"boolField":false,"intField":172,"numField":577.9205594965073,"objField":{"PaJrPf":1225452372480303974,"TDmcgzDGZ":-8734041498016392190,"YOfU":7266622643956744196,"aCjDlB":-4635192084419564653,"duiYuwUh":2678912775609195135,"ilwElh":7295783992035319870,"jwGvrv":9041269424666341033},"stringDateField":"2004-04-15","stringDateTimeField":"1941-11-22T17:28:47Z","stringField":"ORByX","stringTimeField":"15:46:31.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":172,"numField":577.9205594965073,"stringDateField":"2004-04-15","stringDateTimeField":"1941-11-22T17:28:47Z","stringField":"ORByX","stringTimeField":"15:46:31.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1611,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1611,"uuid":"9de3e44d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["sRRow","kKgAkRP","roelnCs","XhTLySbu","XOhxXVPsdF","ylYrXZk","rpktE","UpQASMXjB","OjiWoWIq"],"boolField":false,"intField":-539,"numField":-121.47964101677056,"objField":{"CZkZ":8713658935043779448,"FXpWS":-8984555918364736744,"FbzVjnYFY":-2946248288461836523,"UAIIuzyRR":3741855857070699714,"XSjD":7693949507039733918,"gSAJtpe":-2262459233085026999,"pIvsJEcUOI":-5468049126644557108,"sFZtfb":2599207567532519889},"stringDateField":"1937-12-09","stringDateTimeField":"2016-12-26T06:50:27Z","stringField":"FitInC","stringTimeField":"07:40:35.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":-539,"numField":-121.47964101677056,"stringDateField":"1937-12-09","stringDateTimeField":"2016-12-26T06:50:27Z","stringField":"FitInC","stringTimeField":"07:40:35.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1612,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1612,"uuid":"9de3e44d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["fVJEp","TnbLi","JSsLe","BngqNzbjO"],"boolField":false,"intField":-494,"numField":-866.2602492605959,"objField":{"WhzG":-8449342107575723154,"WpHs":-6541260705038340699,"bFOSYvlkl":9043746285484813586},"stringDateField":"1947-06-21","stringDateTimeField":"2020-01-02T02:54:02Z","stringField":"VKlIYLi","stringTimeField":"07:14:59.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":-494,"numField":-866.2602492605959,"stringDateField":"1947-06-21","stringDateTimeField":"2020-01-02T02:54:02Z","stringField":"VKlIYLi","stringTimeField":"07:14:59.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1613,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1613,"uuid":"9de3e44d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["gegEWjqe","zJOdHYBoU","PgBGr","mMZkBkQk"],"boolField":true,"intField":-408,"numField":-547.1213432464557,"objField":{"NCoOSHpBNc":4280766544815089527,"QMjgz":3741279166866850323,"rEzBBDCVe":-2762830125806736408,"wlZvW":-665422969507847162},"stringDateField":"1954-11-20","stringDateTimeField":"1946-07-04T22:13:08Z","stringField":"uwKK","stringTimeField":"04:16:59.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":-408,"numField":-547.1213432464557,"stringDateField":"1954-11-20","stringDateTimeField":"1946-07-04T22:13:08Z","stringField":"uwKK","stringTimeField":"04:16:59.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1614,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1614,"uuid":"9de3e44d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["WmIAEV","MUOKWO","hImTqdwn","MOcfoyG","odjyWuP","zmRSYE","nXchUgCn","gbui","wZlD","HcGmeDXmU"],"boolField":true,"intField":-529,"numField":293.29902516610383,"objField":{"CDBuOX":2063631876741915734,"CuxAvun":6736943262761788681,"EJkbd":6858993336407026125,"ONeauSYSOq":-5563565114545093368,"dDJWxMeh":3285614546529229290,"okvJDqoW":7658376500724648095,"rHTxJvKpy":4702594763186080927,"rcCAD":-7782758577566795412,"rdVJqsgW":-6539817063688258213},"stringDateField":"1992-09-29","stringDateTimeField":"2022-07-27T15:15:36Z","stringField":"tumLNWFpcv","stringTimeField":"13:51:50.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230989Z","intField":-529,"numField":293.29902516610383,"stringDateField":"1992-09-29","stringDateTimeField":"2022-07-27T15:15:36Z","stringField":"tumLNWFpcv","stringTimeField":"13:51:50.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1615,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1615,"uuid":"9de3e44e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wOzwWKwdD","yEPhgC","FnxaUuO","fwQU","tVsBlaXFgK","BjEXNQ","jrbNKRnmFF","wHMEasnBHC"],"boolField":true,"intField":574,"numField":-758.4619178021635,"objField":{"LmIiXvWrBQ":-1088967942474854567,"PYzcY":7622560721689702982,"ZTvGIKlDRU":8622290157109999035},"stringDateField":"1969-08-16","stringDateTimeField":"1942-10-06T22:17:53Z","stringField":"RHIIydFL","stringTimeField":"21:08:32.26Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":574,"numField":-758.4619178021635,"stringDateField":"1969-08-16","stringDateTimeField":"1942-10-06T22:17:53Z","stringField":"RHIIydFL","stringTimeField":"21:08:32.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1616,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1616,"uuid":"9de3e44e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["DZchKW","zdOKIpUA","kmkM","xuXpMgQ","NmRTQwtP","PIlXrJwHG","ViXJgEkU","bDtHcJkF"],"boolField":true,"intField":194,"numField":-139.01325394270836,"objField":{"BxcMRnh":8168382253864173665,"VTaUfn":-4810790410147504860},"stringDateField":"1949-11-13","stringDateTimeField":"1964-04-02T23:05:11Z","stringField":"ByaqjoAvr","stringTimeField":"06:41:02.30Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":194,"numField":-139.01325394270836,"stringDateField":"1949-11-13","stringDateTimeField":"1964-04-02T23:05:11Z","stringField":"ByaqjoAvr","stringTimeField":"06:41:02.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1617,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1617,"uuid":"9de3e44e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["QgyuUcF","thspCjopwK","uaGee","KSBUBw","kbjjo","hvvUWLtUov"],"boolField":false,"intField":39,"numField":954.4648476071028,"objField":{"AXnVH":-509827139093305534,"HKzqqcGG":-1746801270787868696,"OJmzSVeT":8718827650954132228,"UXjOu":3645100120201068710,"UxplFYwM":1093667585498333169,"dbFp":-8768608632359967900,"myvh":3961702847961899928,"qcJebev":-1649804160694141084,"vDwPuD":8614309769329194230},"stringDateField":"1929-11-03","stringDateTimeField":"1992-03-04T06:01:53Z","stringField":"umHEdg","stringTimeField":"14:01:14.44Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":39,"numField":954.4648476071028,"stringDateField":"1929-11-03","stringDateTimeField":"1992-03-04T06:01:53Z","stringField":"umHEdg","stringTimeField":"14:01:14.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1618,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1618,"uuid":"9de3e44e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["pfvxy","xEwBX","OCQVeXE","fjhDoi","dajngI","dFTrWdtkga","eufyr"],"boolField":true,"intField":955,"numField":-937.612671017762,"objField":{"nZVwUPBXx":-5739407506764948977},"stringDateField":"2004-04-15","stringDateTimeField":"2020-04-10T15:52:36Z","stringField":"yyWHeVcxO","stringTimeField":"12:04:17.48Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":955,"numField":-937.612671017762,"stringDateField":"2004-04-15","stringDateTimeField":"2020-04-10T15:52:36Z","stringField":"yyWHeVcxO","stringTimeField":"12:04:17.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1619,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1619,"uuid":"9de3e44e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["MPoj","JFCHjQsl","sTci","DNmMgb","LjAjCHWQYE"],"boolField":true,"intField":968,"numField":508.5193516909647,"objField":{"eWOPqgHF":6329833353106125391},"stringDateField":"2008-02-02","stringDateTimeField":"1903-12-06T10:49:16Z","stringField":"lKpfx","stringTimeField":"16:33:10.36Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":968,"numField":508.5193516909647,"stringDateField":"2008-02-02","stringDateTimeField":"1903-12-06T10:49:16Z","stringField":"lKpfx","stringTimeField":"16:33:10.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1620,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1620,"uuid":"9de3e44e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["LGJXpUwauY","hQgfPJoQA","NTTDIy","hWNDPbtK","ncLXPb","YEYeLVUMWW","GQwlgap"],"boolField":true,"intField":-334,"numField":803.2789560175047,"objField":{"CXeOpr":730815227794091876,"IGcrDcU":-4677793848784818936,"ZkNVY":-8478565540778668214,"laXGg":6885537179636080410},"stringDateField":"1981-10-18","stringDateTimeField":"2009-02-17T15:34:09Z","stringField":"QyLaFT","stringTimeField":"10:36:49.42Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":-334,"numField":803.2789560175047,"stringDateField":"1981-10-18","stringDateTimeField":"2009-02-17T15:34:09Z","stringField":"QyLaFT","stringTimeField":"10:36:49.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1621,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1621,"uuid":"9de3e44e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ZYyj","ggveJedZI","svaf","jmGh","nVhxcw"],"boolField":true,"intField":-938,"numField":234.02525941816444,"objField":{"ABgVn":-1264200060928329718,"JnqTHmrb":7959437077703648896,"TufN":5517225271496701544,"bQoEElzWN":-1391451996955013682,"mEMoLE":7063406691323689375,"qQXkDE":-5440751414503207952,"tJEKP":8778585472742397485,"ukfbSOV":-1418956143010889925,"wjBuUzHc":-274227404297886826},"stringDateField":"1909-04-26","stringDateTimeField":"1960-08-14T02:39:59Z","stringField":"xnqGcyhDU","stringTimeField":"21:39:16.24Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":-938,"numField":234.02525941816444,"stringDateField":"1909-04-26","stringDateTimeField":"1960-08-14T02:39:59Z","stringField":"xnqGcyhDU","stringTimeField":"21:39:16.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1622,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1622,"uuid":"9de3e44e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["XwoA"],"boolField":false,"intField":408,"numField":870.2839471650312,"objField":{"jlbjXFvZNl":6477075618082649255,"jqvDAT":-7878549560380833112,"ngzxWkZ":7568852369103478193,"rUYZnz":-8552745857327021206,"rXGTbzz":5206012420457999307,"xPSe":2433213725208402111},"stringDateField":"1921-07-16","stringDateTimeField":"1900-05-11T07:28:18Z","stringField":"QhvZcPGzr","stringTimeField":"23:24:35.10Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":408,"numField":870.2839471650312,"stringDateField":"1921-07-16","stringDateTimeField":"1900-05-11T07:28:18Z","stringField":"QhvZcPGzr","stringTimeField":"23:24:35.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1623,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1623,"uuid":"9de3e44e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["kcwT","ivNZ","tiRRNrFFQ","EXIuaN","jNhAfT","AbfCJmWY","kpFcdKgP","lkVZDY","DKJInVER","dzixJoK"],"boolField":true,"intField":75,"numField":-635.5586842585341,"objField":{"CkiAKABIqK":-797151222562894221,"FzlNBE":8902086356003099173,"mJQzvSVgnx":7755168900661367676,"pbZsfGHq":7388367431301149646,"zvhcP":2071512571083918093},"stringDateField":"1996-12-06","stringDateTimeField":"1930-09-04T16:07:37Z","stringField":"RIePnUVXm","stringTimeField":"02:50:26.11Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":75,"numField":-635.5586842585341,"stringDateField":"1996-12-06","stringDateTimeField":"1930-09-04T16:07:37Z","stringField":"RIePnUVXm","stringTimeField":"02:50:26.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1624,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1624,"uuid":"9de3e44e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["NxHP","mghWn","KKjpAkhAw","tzbR","aUbvwNE","EhiPCc","YVuiyYh","fQkdcHv","iVimDADS"],"boolField":false,"intField":-693,"numField":488.13520204150706,"objField":{"EhWRwf":-7339265602386084632,"PdZZa":-864310245949401360,"lYYBx":4030803446045347776},"stringDateField":"1912-02-29","stringDateTimeField":"1927-02-17T01:30:25Z","stringField":"sJbu","stringTimeField":"11:49:24.11Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":-693,"numField":488.13520204150706,"stringDateField":"1912-02-29","stringDateTimeField":"1927-02-17T01:30:25Z","stringField":"sJbu","stringTimeField":"11:49:24.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1625,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1625,"uuid":"9de3e44e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ZlIR","NAAYAkJrO","jaVG","FDIeH","THdikecNQS","xFZYbH","Yfnuygp","OfbVL","mJsCBBTnxy"],"boolField":false,"intField":929,"numField":-646.7309269993539,"objField":{"EfinzJ":7536405353757649006,"JKKpI":7870054115487086916,"MzCkYdMscA":-1613821456621102194,"QXLwXj":-24440706034870132,"bGaJnts":1200354534860152141,"dmSahKMjok":-8303034823601989238,"hrcFmxEt":-8287002939477648512,"mmGqZK":-9019168119438605218,"pbBVPTKXTQ":8610944594038282565},"stringDateField":"2006-02-26","stringDateTimeField":"1949-01-27T22:06:51Z","stringField":"MVIkTN","stringTimeField":"09:53:04.18Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":929,"numField":-646.7309269993539,"stringDateField":"2006-02-26","stringDateTimeField":"1949-01-27T22:06:51Z","stringField":"MVIkTN","stringTimeField":"09:53:04.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1626,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1626,"uuid":"9de3e44e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["KeLSDbzWY","RCSGgCO","bxHuUeRoX","ggAmDXM","eXbip","Dxkbcr","WjGRWmE","CidnWFLUai","kyIvCOu"],"boolField":true,"intField":-356,"numField":810.2075849092558,"objField":{"BzuK":8682973892076534853,"LRklecP":-2709249704720480673,"MrFowUWbT":-2547414458752167405,"SVoNYTS":306783451393711404,"WiZvhUcDt":9039652453448341382,"ciOVbEsOe":-6489598921511730705,"cnMo":8212449804478489368,"sfarQZVgg":8023376549641723647},"stringDateField":"1963-04-29","stringDateTimeField":"1972-06-17T13:48:22Z","stringField":"lMuC","stringTimeField":"22:44:53.25Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":-356,"numField":810.2075849092558,"stringDateField":"1963-04-29","stringDateTimeField":"1972-06-17T13:48:22Z","stringField":"lMuC","stringTimeField":"22:44:53.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1627,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1627,"uuid":"9de3e44e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["SuSGzWUy"],"boolField":false,"intField":318,"numField":1.7730708590237845,"objField":{"RixWSZ":-4911729144511978952,"YJaJmPHsQI":8562585522482535218},"stringDateField":"1957-10-17","stringDateTimeField":"1946-07-22T17:19:36Z","stringField":"YmNUnji","stringTimeField":"16:14:54.45Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":318,"numField":1.7730708590237845,"stringDateField":"1957-10-17","stringDateTimeField":"1946-07-22T17:19:36Z","stringField":"YmNUnji","stringTimeField":"16:14:54.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1628,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1628,"uuid":"9de3e44e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["MfkDOGb","YgjweRSDG","jGPPhj","QxPcsJ","UtNLg","gRkmpMBXTM"],"boolField":false,"intField":432,"numField":-158.17698992188477,"objField":{"Iwjck":5265069831051604180,"Orxl":3978895075117377299,"RyfFEhsiHX":7589049629569119528,"SvHMIeqqz":559728402002621276,"gRlztNE":-5195609193079561795,"mIqACxmISD":-8506811459958801572,"mObb":-8262608623244272055,"qmMEOOitZB":36976938525113002,"xXfZbpA":9199489293489471254},"stringDateField":"1995-06-08","stringDateTimeField":"1927-12-08T10:44:33Z","stringField":"RgffAspN","stringTimeField":"10:06:21.43Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":432,"numField":-158.17698992188477,"stringDateField":"1995-06-08","stringDateTimeField":"1927-12-08T10:44:33Z","stringField":"RgffAspN","stringTimeField":"10:06:21.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1629,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1629,"uuid":"9de3e44e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["eCdQMF","eaIIP","HxgsGLEP"],"boolField":true,"intField":368,"numField":104.1153767081844,"objField":{"BJxRec":-3837105516026978045,"QqhDCND":3608930168527623909,"VgiAa":3589652119307248433,"YlvWo":3226834929955380922,"dTpwTSIkkr":3464053902352347085,"ltlM":-5870656351440671595,"yPGenSLI":-3818209736530741372},"stringDateField":"2006-05-14","stringDateTimeField":"2010-07-01T05:39:08Z","stringField":"TZLQOLJ","stringTimeField":"05:41:49.42Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":368,"numField":104.1153767081844,"stringDateField":"2006-05-14","stringDateTimeField":"2010-07-01T05:39:08Z","stringField":"TZLQOLJ","stringTimeField":"05:41:49.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1630,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1630,"uuid":"9de3e44e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["hHywCsWOro","KKxHwZU","RZyOqk","FagpJ","JKALCJmFmB","kpgGxunb","FqtKQzL","OqBzGN"],"boolField":true,"intField":557,"numField":223.9002536149266,"objField":{"KEOVzNHHV":-8500590533650718903,"gLexOyVwX":-3583816568222624136,"mDSzWqFRd":8823099609219726359,"nybVKPL":1135633587745871371,"qDXXzB":-7167470132982516547,"smAUbP":-1923335516881721780},"stringDateField":"2014-06-03","stringDateTimeField":"1922-05-05T19:19:04Z","stringField":"xdUdquC","stringTimeField":"18:12:27.40Z"},"flow_published_at":"2023-09-18T19:00:21.623099Z","intField":557,"numField":223.9002536149266,"stringDateField":"2014-06-03","stringDateTimeField":"1922-05-05T19:19:04Z","stringField":"xdUdquC","stringTimeField":"18:12:27.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1631,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1631,"uuid":"9de3e44f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["etZun","GsWlANe"],"boolField":false,"intField":-354,"numField":-12.4987550612633,"objField":{"GBLPGx":6249157015528682339,"fmpmNYsOI":8193318440883397023,"npwqKNjED":984284170341160726},"stringDateField":"1985-10-13","stringDateTimeField":"1973-08-16T15:26:51Z","stringField":"UbQTqOmmm","stringTimeField":"23:08:45.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":-354,"numField":-12.4987550612633,"stringDateField":"1985-10-13","stringDateTimeField":"1973-08-16T15:26:51Z","stringField":"UbQTqOmmm","stringTimeField":"23:08:45.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1632,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1632,"uuid":"9de3e44f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["NVzfWxfUK","ollUiV","xiHWDO","wuTEq","ennCpV"],"boolField":false,"intField":-782,"numField":274.0163086194141,"objField":{"KGCgXcn":-5744201204289954175,"pJDrMt":5500936215270769825,"yCmW":8448095530443295176},"stringDateField":"2011-12-14","stringDateTimeField":"2003-12-26T03:55:59Z","stringField":"LLgsrKLIv","stringTimeField":"17:03:38.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":-782,"numField":274.0163086194141,"stringDateField":"2011-12-14","stringDateTimeField":"2003-12-26T03:55:59Z","stringField":"LLgsrKLIv","stringTimeField":"17:03:38.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1633,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1633,"uuid":"9de3e44f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["MJqfz","qiMbXuk","YuWzDXQbu","pYUqtQK"],"boolField":false,"intField":-80,"numField":-177.4406008498145,"objField":{"bxHv":1551408422143537870,"gNhoqfn":5705850067360307644,"kIXpwn":-7331501865170159312},"stringDateField":"1923-03-02","stringDateTimeField":"1962-12-05T00:40:58Z","stringField":"YSGqsJANTV","stringTimeField":"22:27:15.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":-80,"numField":-177.4406008498145,"stringDateField":"1923-03-02","stringDateTimeField":"1962-12-05T00:40:58Z","stringField":"YSGqsJANTV","stringTimeField":"22:27:15.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1634,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1634,"uuid":"9de3e44f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["DKYAUSQxpp","moCyTp"],"boolField":false,"intField":-488,"numField":576.9136551092593,"objField":{"DMicg":7868248591149551679,"RRMJXV":3911307636681052849,"SKGaLj":-7677382176281227326,"gfWqPRn":2695432921413947567,"wmojGHlYn":3687147502963631594,"ybvyjIIHMa":8674416373013478505},"stringDateField":"1998-12-15","stringDateTimeField":"1949-04-02T11:28:09Z","stringField":"hCYWApu","stringTimeField":"23:03:32.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":-488,"numField":576.9136551092593,"stringDateField":"1998-12-15","stringDateTimeField":"1949-04-02T11:28:09Z","stringField":"hCYWApu","stringTimeField":"23:03:32.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1635,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1635,"uuid":"9de3e44f-5655-11ee-9001-675ed0f8e89b"},"arrayField":["BZmVpFZoU","ZOukUKov","dXUbuAkuy","mcOi","YyIaB","LYvTpyIfsk","TQmrgdH","qheTUgcU","aEJgGXyfY"],"boolField":true,"intField":881,"numField":388.9094690002848,"objField":{"BIfEuDRWQn":-5104214813095824883,"CopXxt":-7328441631096865738,"JZsQxln":-4082053629720658918,"MNaeIQ":450969205340075968,"VEHiA":-3451166735869792760,"VVYYT":5591583581167554490,"YzqStmdE":-3509936149628027206,"aQUo":6659114591149059201,"bwwBtOcRia":-6439407658926212420,"hBOusRUcX":-7284459398218124985},"stringDateField":"1943-12-05","stringDateTimeField":"1959-07-24T09:58:55Z","stringField":"qtpQEeVtti","stringTimeField":"03:31:41.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":881,"numField":388.9094690002848,"stringDateField":"1943-12-05","stringDateTimeField":"1959-07-24T09:58:55Z","stringField":"qtpQEeVtti","stringTimeField":"03:31:41.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1636,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1636,"uuid":"9de3e44f-5655-11ee-9401-675ed0f8e89b"},"arrayField":["QJXDjPxQj","deFgnjChFi","KUwyoqoJt"],"boolField":false,"intField":-212,"numField":-862.9590976535375,"objField":{"DqmtIHkIJD":1554431641845574159,"GUtFj":-8779767732684118606,"HtyJ":-7502641839552105974,"RVfHCSPnM":9085570928479176442,"cJCGKwLenb":1441442691254156748,"mDIOanWG":5964405864555656515,"sQRrxJapZB":-2702394479178429054,"vhayBmUoH":-4457460077903495621},"stringDateField":"1979-02-02","stringDateTimeField":"2011-08-31T22:15:59Z","stringField":"fzten","stringTimeField":"12:53:43.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":-212,"numField":-862.9590976535375,"stringDateField":"1979-02-02","stringDateTimeField":"2011-08-31T22:15:59Z","stringField":"fzten","stringTimeField":"12:53:43.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1637,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1637,"uuid":"9de3e44f-5655-11ee-9801-675ed0f8e89b"},"arrayField":["drRMeky","JoWNJztiLT"],"boolField":false,"intField":-766,"numField":-885.7008498931308,"objField":{"CkiXTpEpK":572908081593638194,"ogkS":12203331659046308,"vjzkxZHGB":7678877854652433226},"stringDateField":"1903-05-29","stringDateTimeField":"1972-08-31T08:56:09Z","stringField":"TrrTCHybzZ","stringTimeField":"12:24:12.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":-766,"numField":-885.7008498931308,"stringDateField":"1903-05-29","stringDateTimeField":"1972-08-31T08:56:09Z","stringField":"TrrTCHybzZ","stringTimeField":"12:24:12.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1638,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1638,"uuid":"9de3e44f-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["RqIPtrsq","myZCKmJUZJ","zJwDYOzWDQ","RuTZUBYtTy"],"boolField":true,"intField":-15,"numField":101.24718585664571,"objField":{"AINx":4075478318010113392,"BIFH":1682256173838718456,"GuPlhQGZ":4654142569611968278,"nhfadpkTF":-3662299757693226522},"stringDateField":"1948-08-06","stringDateTimeField":"2015-08-29T10:05:43Z","stringField":"QyPCLT","stringTimeField":"06:47:34.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":-15,"numField":101.24718585664571,"stringDateField":"1948-08-06","stringDateTimeField":"2015-08-29T10:05:43Z","stringField":"QyPCLT","stringTimeField":"06:47:34.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1639,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1639,"uuid":"9de3e44f-5655-11ee-a001-675ed0f8e89b"},"arrayField":["lmRn","lmsmSR","DCvYcHB","ycxoKU","dhbB","ImYpuRR","jbDFg","pzojed","KIQucuFW"],"boolField":true,"intField":96,"numField":763.6369097255086,"objField":{"AHnddfTr":1488448936733584128,"DybVoi":9163614243805388600,"EEdpDbHON":-2578942121743019746,"GjIaztE":5268786816377537767,"TgPYCAKVq":535222048959962717,"dSctVavzy":-5816797219641993362,"gdss":8983284009017319393,"kUaZP":-5415562568668333811,"maUWsjnVdw":-1215352484706385593,"yBhHPNVolK":-1836518757577184469},"stringDateField":"1973-12-09","stringDateTimeField":"1961-11-13T17:55:14Z","stringField":"LAkfPD","stringTimeField":"08:45:54.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":96,"numField":763.6369097255086,"stringDateField":"1973-12-09","stringDateTimeField":"1961-11-13T17:55:14Z","stringField":"LAkfPD","stringTimeField":"08:45:54.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1640,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1640,"uuid":"9de3e44f-5655-11ee-a401-675ed0f8e89b"},"arrayField":["gITi","pBiyEie","wzzpwJNb","WqZf","qLAnP","kNkTk"],"boolField":true,"intField":-437,"numField":557.8245932228625,"objField":{"AziHwt":-1607061928493430044,"SgTD":-698893906903492245,"VWsTHL":1487127605157712548,"WsutKmThbf":-7014595061029794772,"lgug":3983232463054071031},"stringDateField":"1915-07-24","stringDateTimeField":"1934-09-12T10:49:17Z","stringField":"rJMCU","stringTimeField":"08:06:32.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":-437,"numField":557.8245932228625,"stringDateField":"1915-07-24","stringDateTimeField":"1934-09-12T10:49:17Z","stringField":"rJMCU","stringTimeField":"08:06:32.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1641,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1641,"uuid":"9de3e44f-5655-11ee-a801-675ed0f8e89b"},"arrayField":["zZZa","Lflmnqflq","NCpMn","CnnNWwO","oAvIUILKgg","LWwPBI","RTIWtBUT","VzSgQfh","KkILs"],"boolField":true,"intField":441,"numField":-747.1367824167959,"objField":{"DtOtYFktco":-5102710305591637190,"EFVr":-8684195895374370195,"RcUq":1906446891420185013,"TCjSGRc":-7774350122652217248,"TokA":-8013388479209910332,"gvXDIGhSH":-8364516995870448726,"oSEkX":6612386348244408446},"stringDateField":"1962-11-03","stringDateTimeField":"1976-12-19T14:05:36Z","stringField":"IUYdsNp","stringTimeField":"00:29:28.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":441,"numField":-747.1367824167959,"stringDateField":"1962-11-03","stringDateTimeField":"1976-12-19T14:05:36Z","stringField":"IUYdsNp","stringTimeField":"00:29:28.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1642,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1642,"uuid":"9de3e44f-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["fRFv","XGThT","AwbYT","DTDYl","gUbXJsqFL","DxYkIta"],"boolField":false,"intField":-970,"numField":-966.634221144859,"objField":{"EwSYLC":-214704859176713387,"IcxfgZqQv":-8783199441254343841,"TEyhWzT":-5447563595132911864,"VVix":-3323612513088353843,"YEBIvSkQhO":-6272326494698398188,"bGgEHIofcu":7256308365816383505,"yxntKyubL":-5876482788593206364,"yyPkFZIAC":2269506267760779686},"stringDateField":"1967-07-15","stringDateTimeField":"1943-06-11T21:02:56Z","stringField":"AdZowtVvg","stringTimeField":"00:38:27.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":-970,"numField":-966.634221144859,"stringDateField":"1967-07-15","stringDateTimeField":"1943-06-11T21:02:56Z","stringField":"AdZowtVvg","stringTimeField":"00:38:27.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1643,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1643,"uuid":"9de3e44f-5655-11ee-b001-675ed0f8e89b"},"arrayField":["WfqhoYTcp","ExsF","fwfZ","YLYH","eqpBrWJ","DWKlor","whOo"],"boolField":false,"intField":484,"numField":-151.00089287475382,"objField":{"JCKgM":-2224994068840501103,"JTltkRrqki":-7492433738032627636,"URyRxwBOc":-3108458855606434929,"fMzmKLpm":3174664922371087349,"kCQAU":-3553416913947585966,"uLWnfV":-8555237259219192882},"stringDateField":"2022-01-08","stringDateTimeField":"1911-10-09T02:54:18Z","stringField":"kSHnz","stringTimeField":"07:24:53.28Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":484,"numField":-151.00089287475382,"stringDateField":"2022-01-08","stringDateTimeField":"1911-10-09T02:54:18Z","stringField":"kSHnz","stringTimeField":"07:24:53.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1644,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1644,"uuid":"9de3e44f-5655-11ee-b401-675ed0f8e89b"},"arrayField":["zmFrvqaBq","HxHcY","hksfWLW","xXtYeYb"],"boolField":true,"intField":-652,"numField":-902.0250891736358,"objField":{"CrXfsmNgh":-4358226394783491803,"DUsc":6325514728253002904,"IhQMnOzw":-2403932570577718746,"RcggxFt":5710711052855612065,"kIzPh":8406655184767304100,"oJZUF":5393461104915058900,"pnIPy":-1547016217870926075,"txIAJTcz":4597932331768448561,"vWmeBzRAkK":-5965131160513127684},"stringDateField":"2003-08-17","stringDateTimeField":"1993-09-06T12:25:42Z","stringField":"EaUbAK","stringTimeField":"21:25:34.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":-652,"numField":-902.0250891736358,"stringDateField":"2003-08-17","stringDateTimeField":"1993-09-06T12:25:42Z","stringField":"EaUbAK","stringTimeField":"21:25:34.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1645,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1645,"uuid":"9de3e44f-5655-11ee-b801-675ed0f8e89b"},"arrayField":["thzzoYo","VKFHCRsOP","xkIGFNvo","yDOeS","jTfl","OWIBdkt","uzxrQh"],"boolField":false,"intField":-209,"numField":585.5416465530618,"objField":{"VbhKZFkYyY":2652875965673109641,"VjECRYgHum":-8735459137498240515,"YbIdjjn":756977239246770511,"fUFRjndJf":6596675464157990864,"hoFtZTbtwv":4497660757686238028,"jvxTo":3642415478680070048,"mAqXkfds":-5483549399492554927,"oZZAva":-1269598580038405261,"uabcC":488856385979228008,"xPuvjVj":-4263415196351186837},"stringDateField":"1985-10-20","stringDateTimeField":"1939-11-05T08:16:03Z","stringField":"WLrBcrUeec","stringTimeField":"11:38:58.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":-209,"numField":585.5416465530618,"stringDateField":"1985-10-20","stringDateTimeField":"1939-11-05T08:16:03Z","stringField":"WLrBcrUeec","stringTimeField":"11:38:58.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1646,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1646,"uuid":"9de3e44f-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["JIieUsN","AaEkI","IZzHX","EbcLIxRZ","wdeEdHLR","XfoE"],"boolField":false,"intField":425,"numField":-63.81741373212901,"objField":{"LHKmCt":5021758792873311849,"MnyUbHes":-477901390972993520,"QqfJrl":-7319333334957010965,"ejIPiqMytW":-2790680929419175840,"fuRjqBn":650142545663323614,"grica":-5581074147212285122,"rlMO":5109765093533508521,"sjZRfKp":2829232654299178318,"wuMPk":-1885097033790978721},"stringDateField":"1987-10-24","stringDateTimeField":"1966-06-27T17:04:07Z","stringField":"wdumDtSR","stringTimeField":"14:04:20.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230991Z","intField":425,"numField":-63.81741373212901,"stringDateField":"1987-10-24","stringDateTimeField":"1966-06-27T17:04:07Z","stringField":"wdumDtSR","stringTimeField":"14:04:20.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1647,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1647,"uuid":"9de3e450-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ZgGBqHGif","udkhYU","HntaPY","DHwpU"],"boolField":true,"intField":641,"numField":138.22975881361478,"objField":{"MfdsMSIU":8421159999225049390,"cFOMLPeD":2275901840822055174,"oQcTpD":-8405160563516439310},"stringDateField":"1937-01-02","stringDateTimeField":"1961-11-18T21:55:02Z","stringField":"zHxx","stringTimeField":"03:28:11.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":641,"numField":138.22975881361478,"stringDateField":"1937-01-02","stringDateTimeField":"1961-11-18T21:55:02Z","stringField":"zHxx","stringTimeField":"03:28:11.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1648,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1648,"uuid":"9de3e450-5655-11ee-8401-675ed0f8e89b"},"arrayField":["LXIs","PUacBhG","hCWNh"],"boolField":true,"intField":514,"numField":813.1182999349189,"objField":{"BOgSNrjC":-3689003103765100863,"GkrelBT":-8618228710140949700,"GvKzqj":1846103453187616083,"gpGSCTbaG":-4317061483457835404,"hhwQdQ":-7206082267777518612,"hurNuZpXF":5853340241391973993,"iejLVBO":-2339012270381534165},"stringDateField":"1941-11-11","stringDateTimeField":"1980-04-17T09:20:24Z","stringField":"IHQWzi","stringTimeField":"15:12:20.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":514,"numField":813.1182999349189,"stringDateField":"1941-11-11","stringDateTimeField":"1980-04-17T09:20:24Z","stringField":"IHQWzi","stringTimeField":"15:12:20.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1649,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1649,"uuid":"9de3e450-5655-11ee-8801-675ed0f8e89b"},"arrayField":["sdicxVBfw","dcjWDzDiN","NXWrGg","ZjkPCmSjt","EdyuKLvrAb","ehDdoW","pNon","GigZeT","MIlFiJVPT","rDvKXfYmt"],"boolField":false,"intField":-617,"numField":-403.6030424537258,"objField":{"omYCDsh":-207576100202026477,"sBfHJWAhzp":-6850975711170940870,"uBeToi":6300602793002001876,"wCcSSaxq":-5886313913892787260,"wJsynz":4776104819770418308},"stringDateField":"1924-02-01","stringDateTimeField":"1989-01-27T15:27:17Z","stringField":"QAxEUSUjcU","stringTimeField":"17:37:23.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":-617,"numField":-403.6030424537258,"stringDateField":"1924-02-01","stringDateTimeField":"1989-01-27T15:27:17Z","stringField":"QAxEUSUjcU","stringTimeField":"17:37:23.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1650,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1650,"uuid":"9de3e450-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["AysWWllenX","nydJ","zGui","WaEkK"],"boolField":false,"intField":118,"numField":-82.9846502732835,"objField":{"qbSUbgdPRQ":1587499161285897787},"stringDateField":"1976-09-19","stringDateTimeField":"1911-07-05T06:51:19Z","stringField":"Hycu","stringTimeField":"13:28:56.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":118,"numField":-82.9846502732835,"stringDateField":"1976-09-19","stringDateTimeField":"1911-07-05T06:51:19Z","stringField":"Hycu","stringTimeField":"13:28:56.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1651,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1651,"uuid":"9de3e450-5655-11ee-9001-675ed0f8e89b"},"arrayField":["TryZkl","NnXVm","mZCLG","MxQFkMD","eqPKmOBoIL","eryJpw","ltqX","cbrSVumQ","wXEVUDjsBn","diNiVPzl"],"boolField":false,"intField":-321,"numField":-123.70077965737836,"objField":{"HgyZY":763357691418079306,"ocmOsEBk":2724833163050538741},"stringDateField":"1976-11-11","stringDateTimeField":"1974-03-23T11:31:43Z","stringField":"RgQldV","stringTimeField":"22:48:38.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":-321,"numField":-123.70077965737836,"stringDateField":"1976-11-11","stringDateTimeField":"1974-03-23T11:31:43Z","stringField":"RgQldV","stringTimeField":"22:48:38.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1652,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1652,"uuid":"9de3e450-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ZupNMlb","dmwqCLzTT","InjhI","RInYn","tNmJzOt","cmIk"],"boolField":true,"intField":179,"numField":506.87904728239454,"objField":{"AnFlh":-1658286207540510470,"cPkD":-10944556630201986,"jZkYQc":9095335017898613985,"mkOpSPTb":-3388145014376233378,"nJiEVW":-5819203810592802612,"qWZS":2419170780713161644,"wLHU":393212617861155370},"stringDateField":"1912-12-06","stringDateTimeField":"1971-09-12T10:03:57Z","stringField":"PYYMjd","stringTimeField":"23:47:54.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":179,"numField":506.87904728239454,"stringDateField":"1912-12-06","stringDateTimeField":"1971-09-12T10:03:57Z","stringField":"PYYMjd","stringTimeField":"23:47:54.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1653,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1653,"uuid":"9de3e450-5655-11ee-9801-675ed0f8e89b"},"arrayField":["JtFzAWoWAB","ilbiQqfqR","JWqtBfUlJ","ktJdJNzRR","uEGGHYYVhO","yfRQLOCeSd","Izjlg","JzRzPOIgGi"],"boolField":true,"intField":-367,"numField":-577.8167180896256,"objField":{"CuzffqjhU":-6411686515921368458,"GuoNICntkZ":3767270465228609775,"UhhYWlZkk":-1916142582710507166,"zGItl":898991201747751576},"stringDateField":"2002-09-06","stringDateTimeField":"2001-07-17T13:02:02Z","stringField":"dojtVHYXoR","stringTimeField":"20:15:35.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":-367,"numField":-577.8167180896256,"stringDateField":"2002-09-06","stringDateTimeField":"2001-07-17T13:02:02Z","stringField":"dojtVHYXoR","stringTimeField":"20:15:35.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1654,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1654,"uuid":"9de3e450-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["BUdiLpl","zIWlNFPby"],"boolField":true,"intField":-304,"numField":891.103173607885,"objField":{"HZmEcnx":5584767154411376764,"PmjcgVrFm":-9037177521531787324,"UmMp":-7182818807160715357,"YfTOzTK":-6677192636041479120,"bQvaSTN":-6047592565652909261},"stringDateField":"1975-12-24","stringDateTimeField":"1941-06-21T13:42:52Z","stringField":"NExIjEYwJh","stringTimeField":"20:36:49.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":-304,"numField":891.103173607885,"stringDateField":"1975-12-24","stringDateTimeField":"1941-06-21T13:42:52Z","stringField":"NExIjEYwJh","stringTimeField":"20:36:49.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1655,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1655,"uuid":"9de3e450-5655-11ee-a001-675ed0f8e89b"},"arrayField":["NxFiORAcZ","fXUmhVzpP","pwHpe","MLKdfV","qUsF","POixLm","pItnDvNgDD"],"boolField":false,"intField":456,"numField":-476.6749244090034,"objField":{"BWWjO":-3550146401512342556,"UTzpuF":2909290378913362320,"UdjG":-6065195060654863680,"pzOGOEid":-2674018209066330407},"stringDateField":"1981-05-11","stringDateTimeField":"2012-03-26T00:03:19Z","stringField":"ikDUi","stringTimeField":"18:43:08.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":456,"numField":-476.6749244090034,"stringDateField":"1981-05-11","stringDateTimeField":"2012-03-26T00:03:19Z","stringField":"ikDUi","stringTimeField":"18:43:08.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1656,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1656,"uuid":"9de3e450-5655-11ee-a401-675ed0f8e89b"},"arrayField":["hkXQRHkgR","GPPCyuegoV","jsENzeNnk","gXuS","dPYbRnnmJ","vWJv","TCsutlAEdE","kwbBjU","VEUlOZ","FVHOql"],"boolField":false,"intField":-857,"numField":-692.5636498539094,"objField":{"AUVCOrXHS":-7530494589334497886,"CIokOEpUgt":-6421630469801106223,"IHfoSBFNT":933186722606415949,"KyDqrx":-8822537544390072288,"caGycuHUI":-1973978308681952999,"fOwYsakv":-665391823831249122,"tQIdv":5601064330931820094},"stringDateField":"1976-05-21","stringDateTimeField":"1947-06-10T03:18:26Z","stringField":"yOLfequyUi","stringTimeField":"07:37:06.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":-857,"numField":-692.5636498539094,"stringDateField":"1976-05-21","stringDateTimeField":"1947-06-10T03:18:26Z","stringField":"yOLfequyUi","stringTimeField":"07:37:06.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1657,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1657,"uuid":"9de3e450-5655-11ee-a801-675ed0f8e89b"},"arrayField":["mumUktgE","hNsBfsHYqA","zFqkQvopBo","WRBUkdjy","VbRG","WMpxtyE","fikBILP","uNAq","cAegrJC"],"boolField":false,"intField":207,"numField":589.6518123339582,"objField":{"EhHkbQSUM":-3285244933116144831,"Peyny":8390572561248826819,"TPRWJNs":-5062003904535805658,"bihxZK":8023028515028270935},"stringDateField":"1953-02-22","stringDateTimeField":"1955-08-25T06:49:55Z","stringField":"WBuJUbx","stringTimeField":"00:35:29.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":207,"numField":589.6518123339582,"stringDateField":"1953-02-22","stringDateTimeField":"1955-08-25T06:49:55Z","stringField":"WBuJUbx","stringTimeField":"00:35:29.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1658,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1658,"uuid":"9de3e450-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["QnKBgff","TCJdL","qAUaAOB","ugImhWg","yndfNaCI","eBNPbScsKC","sjCUIV"],"boolField":true,"intField":-951,"numField":254.9394461407224,"objField":{"CPOvgSkcA":10479474037968866,"VWFVPl":5123819304829913122,"WZCkZikQ":-8685719655432755573,"bZhTO":-3199391132852496790},"stringDateField":"1955-03-31","stringDateTimeField":"1932-05-07T05:46:39Z","stringField":"qwnsBDeRze","stringTimeField":"01:46:39.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":-951,"numField":254.9394461407224,"stringDateField":"1955-03-31","stringDateTimeField":"1932-05-07T05:46:39Z","stringField":"qwnsBDeRze","stringTimeField":"01:46:39.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1659,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1659,"uuid":"9de3e450-5655-11ee-b001-675ed0f8e89b"},"arrayField":["qnbNmp","wahh","FYLZUJ","nGfq","vyepBKRtlt","kRlfQSogx"],"boolField":true,"intField":431,"numField":476.2116500713043,"objField":{"OThJvER":-4494851491274092500,"OUZBGfH":-1291001477531543904,"VsiQnIEg":-38787876499093327,"bqBKDh":5497433909923481567,"qvPB":6784017844322711221,"tmVgsKi":1023887151046415833},"stringDateField":"1972-08-27","stringDateTimeField":"1910-05-14T01:08:40Z","stringField":"gPReXFA","stringTimeField":"16:45:22.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":431,"numField":476.2116500713043,"stringDateField":"1972-08-27","stringDateTimeField":"1910-05-14T01:08:40Z","stringField":"gPReXFA","stringTimeField":"16:45:22.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1660,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1660,"uuid":"9de3e450-5655-11ee-b401-675ed0f8e89b"},"arrayField":["JYbaFRxp","rGgCKs","qaEZOk","QTzXjMUEr","OEulEWPiSC","tROqC","elFOtX","McxauyD"],"boolField":false,"intField":983,"numField":-467.6684769927142,"objField":{"CYuF":-5195821358170933830,"JqaW":3180882940691299547,"LfiuyP":4740096037971767241,"XvazsPzz":2312892360557811894,"bdJbQWP":-8346610596996411089,"bfDqMpv":-5017409168325902761,"efuvIB":8209959325954503748,"nSbvaIT":6613706550038476039,"znpwgXZFj":-7271740453799240885},"stringDateField":"1903-03-09","stringDateTimeField":"1980-01-27T22:29:13Z","stringField":"OMAEMbg","stringTimeField":"07:14:18.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":983,"numField":-467.6684769927142,"stringDateField":"1903-03-09","stringDateTimeField":"1980-01-27T22:29:13Z","stringField":"OMAEMbg","stringTimeField":"07:14:18.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1661,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1661,"uuid":"9de3e450-5655-11ee-b801-675ed0f8e89b"},"arrayField":["DSuAnzX"],"boolField":true,"intField":807,"numField":-616.6778666827832,"objField":{"aFKQ":-5094527079762359169,"cpkD":-542227127998594667,"mnxDAU":-270166263408637320},"stringDateField":"1931-03-18","stringDateTimeField":"1906-03-03T15:02:54Z","stringField":"ycwFuEXq","stringTimeField":"02:22:47.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":807,"numField":-616.6778666827832,"stringDateField":"1931-03-18","stringDateTimeField":"1906-03-03T15:02:54Z","stringField":"ycwFuEXq","stringTimeField":"02:22:47.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1662,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1662,"uuid":"9de3e450-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["qETm","aOCzvqwGak","bbubmFa","QHvTWE","oDLEr","TFRAQtHWVN","nHxxeVL","enZeksuR","REGTGqXNLu","iuxVKmL"],"boolField":true,"intField":802,"numField":338.6216876539534,"objField":{"LEzU":6029123509630291396,"LgOrPUgd":6541227721071873086,"aMqBub":4798993618349950663,"oBKseDv":4318309777362129050,"qpyd":1135851214180774031},"stringDateField":"1996-07-27","stringDateTimeField":"1947-04-13T02:35:17Z","stringField":"wyqske","stringTimeField":"15:23:44.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230992Z","intField":802,"numField":338.6216876539534,"stringDateField":"1996-07-27","stringDateTimeField":"1947-04-13T02:35:17Z","stringField":"wyqske","stringTimeField":"15:23:44.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1663,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1663,"uuid":"9de3e451-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ybpTgAnkN","sjZICENjL","jVbbiyNzB","brhy","aKimuZ","PmahOBGz","AEzGRorI","WszhDVFi","txLWpW","djOKm"],"boolField":false,"intField":629,"numField":748.1063700951782,"objField":{"TMIkT":-4516494985799917214,"TRJDIJ":-5883190452150665412,"YwAAqZHps":10220365988902904,"kRLvwyUn":-4354933741113041986,"uLPvuY":5095690072160868575},"stringDateField":"1930-12-30","stringDateTimeField":"1947-05-28T09:07:31Z","stringField":"wcZmcyQFv","stringTimeField":"10:10:51.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":629,"numField":748.1063700951782,"stringDateField":"1930-12-30","stringDateTimeField":"1947-05-28T09:07:31Z","stringField":"wcZmcyQFv","stringTimeField":"10:10:51.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1664,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1664,"uuid":"9de3e451-5655-11ee-8401-675ed0f8e89b"},"arrayField":["GTaqHoivt","ucOd","BkwDhqu","hgpStk","rLYsAPgcV"],"boolField":false,"intField":-950,"numField":-583.7263318820999,"objField":{"BQPi":900490561632717531,"JglxozWCPo":-8359145920470708266,"UpEWYxo":4727587635235064641,"WqKjFFiCXC":6730595555257862427,"XkqV":-5722123990162321799,"buoaqysFj":246609557266628280,"tTQBQbfSSP":-6052777708761568261},"stringDateField":"2013-03-17","stringDateTimeField":"1909-10-25T11:13:54Z","stringField":"cVlEZ","stringTimeField":"01:49:36.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":-950,"numField":-583.7263318820999,"stringDateField":"2013-03-17","stringDateTimeField":"1909-10-25T11:13:54Z","stringField":"cVlEZ","stringTimeField":"01:49:36.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1665,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1665,"uuid":"9de3e451-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ofoKDI"],"boolField":true,"intField":-134,"numField":83.52332638813387,"objField":{"ELaWZlg":-8619328628985044565,"mnidgr":7427966820576948369},"stringDateField":"1975-06-21","stringDateTimeField":"1922-03-09T17:43:37Z","stringField":"qjXb","stringTimeField":"04:10:51.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":-134,"numField":83.52332638813387,"stringDateField":"1975-06-21","stringDateTimeField":"1922-03-09T17:43:37Z","stringField":"qjXb","stringTimeField":"04:10:51.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1666,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1666,"uuid":"9de3e451-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["dYaGcHHYtb","KCPMqlLL","lboQd","PNFODaFU","BMBVQBt"],"boolField":true,"intField":107,"numField":553.5423376044921,"objField":{"IhBiQeLRs":2118150041993807363,"ItHGacR":-2385054212302156199,"JdrAZoXKE":-652549621080946419},"stringDateField":"2017-11-13","stringDateTimeField":"1908-11-27T07:01:24Z","stringField":"OEYiQw","stringTimeField":"11:49:22.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":107,"numField":553.5423376044921,"stringDateField":"2017-11-13","stringDateTimeField":"1908-11-27T07:01:24Z","stringField":"OEYiQw","stringTimeField":"11:49:22.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1667,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1667,"uuid":"9de3e451-5655-11ee-9001-675ed0f8e89b"},"arrayField":["TAlWBBoKsB","UVhwwk","bGrIctpLP","ArNzELwYf","jiyAW","UgegESUC","RcmFBUZ","MNeoc","eiJHxJjxis","YkYtTaX"],"boolField":true,"intField":-209,"numField":-620.3396397603719,"objField":{"BiIc":3513505938531887864,"FqBDxrp":-9152515502654381950,"LGBCRs":-117386384690549518,"vvTi":3302074910634116911,"xIUxTmoX":3255012937526113506},"stringDateField":"1903-12-16","stringDateTimeField":"1923-04-17T22:41:06Z","stringField":"ocYqmQaZbg","stringTimeField":"11:10:15.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":-209,"numField":-620.3396397603719,"stringDateField":"1903-12-16","stringDateTimeField":"1923-04-17T22:41:06Z","stringField":"ocYqmQaZbg","stringTimeField":"11:10:15.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1668,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1668,"uuid":"9de3e451-5655-11ee-9401-675ed0f8e89b"},"arrayField":["gKCfsT","AsXGVml","pZdRs","dyDkggD","QPDGjLqf","DBqOzVJk","FhlpfeebCn","UfPC","gCYF","nIaM"],"boolField":false,"intField":977,"numField":895.8930746723493,"objField":{"LsHBEfH":7770922818130753514,"oWWY":-3294627940732205156,"zXZggMIsV":2066861377897290660},"stringDateField":"1951-01-17","stringDateTimeField":"2007-12-22T08:17:37Z","stringField":"MjOhCmIF","stringTimeField":"01:56:16.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":977,"numField":895.8930746723493,"stringDateField":"1951-01-17","stringDateTimeField":"2007-12-22T08:17:37Z","stringField":"MjOhCmIF","stringTimeField":"01:56:16.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1669,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1669,"uuid":"9de3e451-5655-11ee-9801-675ed0f8e89b"},"arrayField":["hvzDt","kwSzJEsRaP","TTIWbowWac","SJTSomgq","RrSTViYD","vDVkGrI","OBkyA"],"boolField":false,"intField":644,"numField":-640.8359255934866,"objField":{"SfyfBu":-7837233898560561607,"UqwMJAFeen":-1963387122076353793,"cIisoocTz":5706323110531965835},"stringDateField":"2007-04-27","stringDateTimeField":"1935-07-06T05:44:15Z","stringField":"NhtcwlzAGQ","stringTimeField":"15:30:50.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":644,"numField":-640.8359255934866,"stringDateField":"2007-04-27","stringDateTimeField":"1935-07-06T05:44:15Z","stringField":"NhtcwlzAGQ","stringTimeField":"15:30:50.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1670,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1670,"uuid":"9de3e451-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ETav","ePdrhI","dXGYI","GhWZacJ","LpvMOmR","QLwQpd","VnvkwiO","LApwyxr","MxCNHGEb"],"boolField":true,"intField":471,"numField":935.4693255295364,"objField":{"GqirFG":-2958566621523094769,"bSZEYVSkW":1311264256360064967,"paXPkn":-4767846089119068045,"qUHbsfg":-2346986888422645965,"seGErT":-2626877274477496515,"uQEHOTe":6084684872795928290},"stringDateField":"1979-10-02","stringDateTimeField":"1973-11-08T06:51:25Z","stringField":"vYuCx","stringTimeField":"21:51:28.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":471,"numField":935.4693255295364,"stringDateField":"1979-10-02","stringDateTimeField":"1973-11-08T06:51:25Z","stringField":"vYuCx","stringTimeField":"21:51:28.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1671,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1671,"uuid":"9de3e451-5655-11ee-a001-675ed0f8e89b"},"arrayField":["CgGd","OwtbqhUhz","IJeNLPVNiS","utfESH","fCMJQPs","EhYliRwSzy","wqQYl"],"boolField":false,"intField":317,"numField":-240.16867944602637,"objField":{"DylLYTIP":-2727434272373599762,"NSVeYLq":-6356260493632227876,"QNufmt":3032169024931018166,"ZfwDwZGBIK":6903794741211165538,"hovEWv":-7498598710846107583,"kdtk":-5474618708428641829,"xxdFDUTha":6499089402410241996},"stringDateField":"1962-03-19","stringDateTimeField":"2021-12-08T10:49:47Z","stringField":"qVlkr","stringTimeField":"13:59:23.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":317,"numField":-240.16867944602637,"stringDateField":"1962-03-19","stringDateTimeField":"2021-12-08T10:49:47Z","stringField":"qVlkr","stringTimeField":"13:59:23.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1672,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1672,"uuid":"9de3e451-5655-11ee-a401-675ed0f8e89b"},"arrayField":["WICvlax","qZyYqDkHoM","nazrkyZCS","RECwgL","fReTTbobX","cuHFVrdAdN","iACPTCQIUV","brAUqlnkTB","vZWtOJZAxP"],"boolField":true,"intField":-587,"numField":465.8192528684977,"objField":{"KfYlsC":-9091178370805160688,"MbzCmL":4708106299933249176,"PxkTv":-5441921891403083856,"StGi":7785905234863343482,"TbqKDOA":-5554454108385302608,"nJMUj":-2258646644719679304},"stringDateField":"1943-03-13","stringDateTimeField":"1904-09-26T16:37:13Z","stringField":"ImFAzc","stringTimeField":"06:15:35.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":-587,"numField":465.8192528684977,"stringDateField":"1943-03-13","stringDateTimeField":"1904-09-26T16:37:13Z","stringField":"ImFAzc","stringTimeField":"06:15:35.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1673,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1673,"uuid":"9de3e451-5655-11ee-a801-675ed0f8e89b"},"arrayField":["YtXylQ","oKQJakym","VjDgiXGUc","hLoSLNbuU","FCtLwiACFk","vRJwrrZQ","WkRKxGUOL"],"boolField":true,"intField":-285,"numField":-286.0806899947472,"objField":{"EccJRmrcwx":1592312225567582705,"KYxqNOwr":3453256524722828767,"KfeGUBZ":-7152679746664924587,"NBmIe":-6045577180213225910,"SXFeNdA":-3074978362751601872,"UEkxXaemt":5075577229615077985,"afIYD":-7671233563531674237,"bEuUy":384060450749643260,"kHFtg":8131296584801348600},"stringDateField":"1909-01-15","stringDateTimeField":"1954-10-07T12:50:03Z","stringField":"AzhFCKa","stringTimeField":"18:53:15.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":-285,"numField":-286.0806899947472,"stringDateField":"1909-01-15","stringDateTimeField":"1954-10-07T12:50:03Z","stringField":"AzhFCKa","stringTimeField":"18:53:15.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1674,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1674,"uuid":"9de3e451-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["yXhzoXnIW","eJaId","jqBxmE"],"boolField":true,"intField":-738,"numField":736.935134064265,"objField":{"AwOX":-5404271412708101383,"BAFtETGW":6733150512268895012,"JSpny":-5295975225247532106,"UYRdGpS":6475354747139074372,"fannrz":1273126590331435354,"gzdY":8923748896125966328,"hRhuKz":1015184657884723439,"oZZctpJ":-8957491067109660939,"oabDPQnO":-4704317049455852847,"rnWA":-8337963556826799139},"stringDateField":"1923-08-17","stringDateTimeField":"1942-11-10T16:25:46Z","stringField":"bIiNDXTx","stringTimeField":"01:50:22.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":-738,"numField":736.935134064265,"stringDateField":"1923-08-17","stringDateTimeField":"1942-11-10T16:25:46Z","stringField":"bIiNDXTx","stringTimeField":"01:50:22.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1675,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1675,"uuid":"9de3e451-5655-11ee-b001-675ed0f8e89b"},"arrayField":["QOkGGOb","dKjYPQIOAP","CTUFtEZsxY"],"boolField":true,"intField":183,"numField":701.2624287598153,"objField":{"WuBJ":-6227514146150710084,"mkyH":3210019123297900184},"stringDateField":"1984-04-29","stringDateTimeField":"1906-01-17T05:32:41Z","stringField":"xCxu","stringTimeField":"14:39:13.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":183,"numField":701.2624287598153,"stringDateField":"1984-04-29","stringDateTimeField":"1906-01-17T05:32:41Z","stringField":"xCxu","stringTimeField":"14:39:13.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1676,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1676,"uuid":"9de3e451-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ebxh","NVHqb","bnPfyWVk","LWkoBW","dSKE","qqBBJ","QXbEcASsCs"],"boolField":false,"intField":-832,"numField":855.1430878195791,"objField":{"eCfMvq":-4157476435135333065,"grkIZeZIrC":3032504512778065932},"stringDateField":"2000-05-11","stringDateTimeField":"1919-01-23T22:41:15Z","stringField":"VyTeaPWB","stringTimeField":"13:34:42.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":-832,"numField":855.1430878195791,"stringDateField":"2000-05-11","stringDateTimeField":"1919-01-23T22:41:15Z","stringField":"VyTeaPWB","stringTimeField":"13:34:42.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1677,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1677,"uuid":"9de3e451-5655-11ee-b801-675ed0f8e89b"},"arrayField":["dTItXw","Pkbw","IycgO","mkrxGVVro","zcuNCjUBk"],"boolField":true,"intField":-179,"numField":-501.13473869087215,"objField":{"NNBxhQATns":3517213313904550458,"nQmsAUN":-2558797864247123326},"stringDateField":"1945-12-04","stringDateTimeField":"1904-08-20T08:00:57Z","stringField":"zRNpMqzUMK","stringTimeField":"10:33:45.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":-179,"numField":-501.13473869087215,"stringDateField":"1945-12-04","stringDateTimeField":"1904-08-20T08:00:57Z","stringField":"zRNpMqzUMK","stringTimeField":"10:33:45.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1678,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1678,"uuid":"9de3e451-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["CLzKSSUmoH","LaGAFIG","Wfkym"],"boolField":false,"intField":597,"numField":-512.9408202211396,"objField":{"DHcoG":7180151593547216971,"KSDsBjTtE":-3225598739294817903,"mFPJLcLpff":-4927405043806161878,"upEpzAh":-2336920189166143226},"stringDateField":"2014-09-09","stringDateTimeField":"1965-03-12T10:32:27Z","stringField":"sIiREcGuD","stringTimeField":"13:22:40.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230993Z","intField":597,"numField":-512.9408202211396,"stringDateField":"2014-09-09","stringDateTimeField":"1965-03-12T10:32:27Z","stringField":"sIiREcGuD","stringTimeField":"13:22:40.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1679,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1679,"uuid":"9de3e452-5655-11ee-8001-675ed0f8e89b"},"arrayField":["lqxY","WmYRFOax","RhZgMi","VuzFKVag","UDhgUCzipe","KOar","sQlDEPqNkT","jiSaCynp","EvUTO","PiuE"],"boolField":true,"intField":-646,"numField":734.3240322318827,"objField":{"EaXryOXcjF":1038265214505088585,"HqGqP":-5985669623021422113,"aXPOBtvn":1680176227925603327},"stringDateField":"1984-05-01","stringDateTimeField":"1934-05-05T13:22:38Z","stringField":"skVU","stringTimeField":"21:33:28.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":-646,"numField":734.3240322318827,"stringDateField":"1984-05-01","stringDateTimeField":"1934-05-05T13:22:38Z","stringField":"skVU","stringTimeField":"21:33:28.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1680,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1680,"uuid":"9de3e452-5655-11ee-8401-675ed0f8e89b"},"arrayField":["OWDHP"],"boolField":true,"intField":-110,"numField":45.77581511190698,"objField":{"gQpmSWJa":3209151007395029459,"rxlr":7759524260098225175,"sMBeTHbE":-9105718498730437444},"stringDateField":"1929-07-26","stringDateTimeField":"1963-03-05T12:13:57Z","stringField":"qqWF","stringTimeField":"16:41:51.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":-110,"numField":45.77581511190698,"stringDateField":"1929-07-26","stringDateTimeField":"1963-03-05T12:13:57Z","stringField":"qqWF","stringTimeField":"16:41:51.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1681,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1681,"uuid":"9de3e452-5655-11ee-8801-675ed0f8e89b"},"arrayField":["JjZoCb"],"boolField":false,"intField":-523,"numField":-473.6305186617911,"objField":{"FbGEwxIszi":-8973793155998939537,"QZttggt":-2111527238964605831,"SnTfGcrs":7308350791230942260,"UJVoRYrV":-9098588610560803485,"epmfyQ":-5053427110116040574,"lDMtz":8879808122248069044,"rpKSAZRxoc":5177939734485057794},"stringDateField":"1905-06-08","stringDateTimeField":"1996-02-12T16:11:06Z","stringField":"pnnuNyopYf","stringTimeField":"21:50:45.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":-523,"numField":-473.6305186617911,"stringDateField":"1905-06-08","stringDateTimeField":"1996-02-12T16:11:06Z","stringField":"pnnuNyopYf","stringTimeField":"21:50:45.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1682,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1682,"uuid":"9de3e452-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["dlmcl","hpps","nTlpi","lPmNRw","pRcAQvRgy"],"boolField":true,"intField":663,"numField":107.58273118970683,"objField":{"DzLZUIde":-7651817659625008530,"KNGVacKA":-608386959318965243,"XSEyB":-511950520989610320,"dIOBR":-4962549491967636406,"fUrIUD":-8928787309779146428,"kfPE":-4770571528750613103,"lTxzPHRwZ":2900011389842971642,"pAGpAk":5643284640703978060,"rccQeI":-4553448425283599222,"zKaOSNs":-1566345958183508821},"stringDateField":"1928-03-22","stringDateTimeField":"1985-12-31T05:22:37Z","stringField":"FfkIojROa","stringTimeField":"15:13:56.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":663,"numField":107.58273118970683,"stringDateField":"1928-03-22","stringDateTimeField":"1985-12-31T05:22:37Z","stringField":"FfkIojROa","stringTimeField":"15:13:56.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1683,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1683,"uuid":"9de3e452-5655-11ee-9001-675ed0f8e89b"},"arrayField":["uBTz","RIslJq"],"boolField":false,"intField":114,"numField":340.28054840077624,"objField":{"GiTLkKlSAF":5017499282212629732,"IkjFkWJgq":-2118224696053085376,"MNJLhDkTo":1134844183218325105,"RJCPMQeI":-6232960369551375921,"SRDdLjdWE":1717967158096066513,"YTRyNrXx":3543317830847061714,"cplaIyznp":-5253950973940808705,"zQEQrvzk":-6926860024837669505},"stringDateField":"1970-12-08","stringDateTimeField":"1926-04-21T03:14:25Z","stringField":"zoHemBk","stringTimeField":"07:37:25.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":114,"numField":340.28054840077624,"stringDateField":"1970-12-08","stringDateTimeField":"1926-04-21T03:14:25Z","stringField":"zoHemBk","stringTimeField":"07:37:25.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1684,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1684,"uuid":"9de3e452-5655-11ee-9401-675ed0f8e89b"},"arrayField":["hypDA","cKuHSKde","RQQSrb","ESKETyes","YhdOAmP","Wmgt","qxMzVMn","EKWRkzq"],"boolField":true,"intField":-11,"numField":-3.474926713231796,"objField":{"JaRJq":294579491654663812,"MCgSkl":-7617321465186402364,"QBToyAmof":-2047294833671459089,"ZvcZknlphh":-2074876128485481275,"bxZUJJx":2597329966268696958,"lmEhbk":5925032911413475339,"suQH":-1460173496228483706,"tbWLEAL":5820189548285898130,"xMfNaHxrA":8269892656741812993,"xOdXCUsod":-6801881734553715441},"stringDateField":"1948-06-08","stringDateTimeField":"1984-08-23T02:24:27Z","stringField":"RGsm","stringTimeField":"12:07:07.13Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":-11,"numField":-3.474926713231796,"stringDateField":"1948-06-08","stringDateTimeField":"1984-08-23T02:24:27Z","stringField":"RGsm","stringTimeField":"12:07:07.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1685,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1685,"uuid":"9de3e452-5655-11ee-9801-675ed0f8e89b"},"arrayField":["bMcRFdt","Ofgy","Decls","dRBwe","NAOVKC","YEwjI","UHokbXlKYv","KxdNvxD"],"boolField":false,"intField":-49,"numField":-348.2906810812838,"objField":{"FHZo":-5748613002520606850,"JCTykBhARa":6739321995545358382,"pxCn":3792151847412801733,"qAVeETcA":-1422819673422368093,"wohPFWOx":-6394798478286095554},"stringDateField":"1932-03-15","stringDateTimeField":"1922-06-11T19:44:31Z","stringField":"TtdTmRIIx","stringTimeField":"23:41:25.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":-49,"numField":-348.2906810812838,"stringDateField":"1932-03-15","stringDateTimeField":"1922-06-11T19:44:31Z","stringField":"TtdTmRIIx","stringTimeField":"23:41:25.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1686,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1686,"uuid":"9de3e452-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["WyIaTwmnT","YZeTMCwR","RqtW","xPskpbN","JkNCVmvNx","VVjL","imOMIDBDv","QgklV","jeFrh"],"boolField":false,"intField":295,"numField":-516.9743981664454,"objField":{"HkYGdMHV":753404723927004653,"KaWgNyYD":-1278517222092015790,"XJMOQmsz":1257669129674145010,"ZWFU":3950404400521947153,"tvic":3312186435869468656,"ubAvI":6703880139107730493},"stringDateField":"1956-10-01","stringDateTimeField":"1956-07-01T10:44:30Z","stringField":"OzxfzLjCWm","stringTimeField":"16:48:15.43Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":295,"numField":-516.9743981664454,"stringDateField":"1956-10-01","stringDateTimeField":"1956-07-01T10:44:30Z","stringField":"OzxfzLjCWm","stringTimeField":"16:48:15.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1687,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1687,"uuid":"9de3e452-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ZQEcwo","pLik"],"boolField":false,"intField":-863,"numField":112.62225194812036,"objField":{"ocyYkP":-7003720870549887334,"pgoJedpbf":6695486596819530698,"sxPEOKQO":3742232604857842247},"stringDateField":"1982-05-14","stringDateTimeField":"2017-03-01T04:45:52Z","stringField":"hlgJRqxV","stringTimeField":"04:24:01.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":-863,"numField":112.62225194812036,"stringDateField":"1982-05-14","stringDateTimeField":"2017-03-01T04:45:52Z","stringField":"hlgJRqxV","stringTimeField":"04:24:01.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1688,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1688,"uuid":"9de3e452-5655-11ee-a401-675ed0f8e89b"},"arrayField":["VvHKzcpe","BfMpwrs","FYiDap","GNkBODgM","QnbzDCocC","ohDyttO","HrZY","YPXRxQYRsx","WNce","dBUD"],"boolField":false,"intField":-792,"numField":-836.2079513825075,"objField":{"BgLGXjCMs":-5515003811087700510,"MhqU":-2331793012441811888,"RIDSS":-4594495064571016690,"RphLLigHT":6008644982561136189,"VGzUbs":-6829643322431366614,"VMVSjvGDI":5122823383590929894,"YzwELZXU":-4531537453573739514,"aXVH":6689295750591958656,"lXpxRUc":-3032123155071759837},"stringDateField":"2003-01-09","stringDateTimeField":"1956-09-09T17:10:00Z","stringField":"yYFznkH","stringTimeField":"13:51:31.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":-792,"numField":-836.2079513825075,"stringDateField":"2003-01-09","stringDateTimeField":"1956-09-09T17:10:00Z","stringField":"yYFznkH","stringTimeField":"13:51:31.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1689,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1689,"uuid":"9de3e452-5655-11ee-a801-675ed0f8e89b"},"arrayField":["AMVvdoXY","LZzYhaDUR","lKAYKkdL","RGQNSSzIR","xbVbhWsIor"],"boolField":true,"intField":370,"numField":-355.8287988767189,"objField":{"AJwKTrKG":-6937306959307666143,"LTMZU":1248474661450211259,"VcqWnuCOQ":-7229917192408954364,"kFKlRxBy":-5981342073104588304,"qlBTDypa":7210455238655096932},"stringDateField":"1943-03-04","stringDateTimeField":"1941-07-30T11:23:37Z","stringField":"TBiE","stringTimeField":"04:37:13.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":370,"numField":-355.8287988767189,"stringDateField":"1943-03-04","stringDateTimeField":"1941-07-30T11:23:37Z","stringField":"TBiE","stringTimeField":"04:37:13.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1690,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1690,"uuid":"9de3e452-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["wMmvhJRRX","qIrV","QHyHeXzxpu"],"boolField":false,"intField":-383,"numField":-861.7188952114146,"objField":{"AyBmkZeltI":1428770033799299,"DoUsFyqN":1945946027012556059,"GJOiBNG":-7976367916370655815,"KexxDcDV":-5526752722368048612,"QWNkdj":6973002795508575375,"RqIeH":6161779894258215445,"bnfEFbXs":8541126682472296907,"smTMeVAR":3065178922367477347,"tOPxAtli":-2824459616042322273,"xDGF":-8473397091730860046},"stringDateField":"1919-08-01","stringDateTimeField":"1986-03-01T06:51:05Z","stringField":"iviZ","stringTimeField":"05:07:33.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":-383,"numField":-861.7188952114146,"stringDateField":"1919-08-01","stringDateTimeField":"1986-03-01T06:51:05Z","stringField":"iviZ","stringTimeField":"05:07:33.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1691,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1691,"uuid":"9de3e452-5655-11ee-b001-675ed0f8e89b"},"arrayField":["okzSGVnmBE"],"boolField":false,"intField":775,"numField":777.6193924774417,"objField":{"SYDx":2637296474818992551,"hxFlqYA":-2817513469976745801,"ubtPtvkK":-373522771711766465,"vIQro":2905799105900079581,"xlBjsAn":-2354930285044147130},"stringDateField":"1904-07-28","stringDateTimeField":"1969-10-26T23:30:29Z","stringField":"jWFPCJ","stringTimeField":"08:51:39.42Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":775,"numField":777.6193924774417,"stringDateField":"1904-07-28","stringDateTimeField":"1969-10-26T23:30:29Z","stringField":"jWFPCJ","stringTimeField":"08:51:39.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1692,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1692,"uuid":"9de3e452-5655-11ee-b401-675ed0f8e89b"},"arrayField":["CGgHwgVyO","NZSQaDJYi","MnCfaWP"],"boolField":false,"intField":-780,"numField":748.1917972418379,"objField":{"FgNz":-8881232537257319321,"JzIY":-8102485237859665613,"NyDGV":-5228004608450929415,"UJdTYi":-5903991980172683633,"ZcCRWB":-4547736692611687720,"avNwuNIZX":-8972443758370341509,"qKmA":4151528991540347102},"stringDateField":"2005-09-11","stringDateTimeField":"1957-09-04T04:26:17Z","stringField":"FZojUNr","stringTimeField":"13:16:34.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":-780,"numField":748.1917972418379,"stringDateField":"2005-09-11","stringDateTimeField":"1957-09-04T04:26:17Z","stringField":"FZojUNr","stringTimeField":"13:16:34.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1693,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1693,"uuid":"9de3e452-5655-11ee-b801-675ed0f8e89b"},"arrayField":["exdllvE","HENN","FRigBiF","kZJeK","UKNUC","WMBUcMWa","oNqM","XLGDGM"],"boolField":false,"intField":-482,"numField":-486.9053490544909,"objField":{"JDAntm":1094985853419541753,"bJFpk":1619720989796498186,"drAvoaRqS":-5623556112847229949,"faOTuLiy":-4701395798396330265,"gKyOWOXS":-1089060845910195992,"oHGlPhCK":9203556229638239350},"stringDateField":"1913-07-17","stringDateTimeField":"1987-05-05T07:08:47Z","stringField":"OXHJzg","stringTimeField":"21:41:22.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":-482,"numField":-486.9053490544909,"stringDateField":"1913-07-17","stringDateTimeField":"1987-05-05T07:08:47Z","stringField":"OXHJzg","stringTimeField":"21:41:22.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1694,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1694,"uuid":"9de3e452-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["UYpxpFYxs","Yfsec","PamX","GoegQZWmp","JCnrcXWm","ebqF","sjrjtjOJl","pRLUgqwva","zQspSOPer"],"boolField":true,"intField":241,"numField":-825.256738361513,"objField":{"KjNKNnc":8765211802082698611,"kpCmkksr":2679475954551092835},"stringDateField":"2011-05-31","stringDateTimeField":"1988-08-28T21:37:20Z","stringField":"DwaZYI","stringTimeField":"18:16:36.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230994Z","intField":241,"numField":-825.256738361513,"stringDateField":"2011-05-31","stringDateTimeField":"1988-08-28T21:37:20Z","stringField":"DwaZYI","stringTimeField":"18:16:36.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1695,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1695,"uuid":"9de3e453-5655-11ee-8001-675ed0f8e89b"},"arrayField":["YaOWYvFP","ySmbCnNz","OXbxmHFOri","mLxhoaki","HSgoFSPGM","yHUVVCq"],"boolField":true,"intField":-831,"numField":707.7961212080824,"objField":{"WXlT":-7613742905517329509},"stringDateField":"1918-01-17","stringDateTimeField":"1923-07-21T22:00:00Z","stringField":"SlMOfGpNl","stringTimeField":"23:06:40.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-831,"numField":707.7961212080824,"stringDateField":"1918-01-17","stringDateTimeField":"1923-07-21T22:00:00Z","stringField":"SlMOfGpNl","stringTimeField":"23:06:40.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1696,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1696,"uuid":"9de3e453-5655-11ee-8401-675ed0f8e89b"},"arrayField":["HJSZN","vIGCc","RhPOuKs","onGd","baaPgOAQ","GSbPfFhhJ","yddY"],"boolField":false,"intField":-985,"numField":-558.977230814038,"objField":{"LeYtvmAc":8359247419543695726,"dnzeipr":6425000156261295047,"hPUNj":6439933879950574523},"stringDateField":"1902-12-30","stringDateTimeField":"1961-01-13T11:57:30Z","stringField":"htWE","stringTimeField":"21:58:40.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-985,"numField":-558.977230814038,"stringDateField":"1902-12-30","stringDateTimeField":"1961-01-13T11:57:30Z","stringField":"htWE","stringTimeField":"21:58:40.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1697,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1697,"uuid":"9de3e453-5655-11ee-8801-675ed0f8e89b"},"arrayField":["FxFyW","xgMnfsEiKd","zpDiVvNdxl","mfGNvVoRR","EOOtUV","ZwVJZfZ","UuyHCBpC"],"boolField":false,"intField":-221,"numField":769.591780577265,"objField":{"nUsrrMFquv":3478049395948024904},"stringDateField":"1933-08-04","stringDateTimeField":"2001-06-24T06:34:57Z","stringField":"XpauaP","stringTimeField":"18:10:57.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-221,"numField":769.591780577265,"stringDateField":"1933-08-04","stringDateTimeField":"2001-06-24T06:34:57Z","stringField":"XpauaP","stringTimeField":"18:10:57.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1698,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1698,"uuid":"9de3e453-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["iVoKQjAepS","qEAv"],"boolField":false,"intField":-883,"numField":910.2602537994986,"objField":{"HhJpbaGZq":783163008591135312,"MSTCOK":5654555103526812070,"TMyoedJNz":-2932298040889730653,"epamowzkRC":8433710068032622541},"stringDateField":"1991-03-27","stringDateTimeField":"2020-09-08T19:54:50Z","stringField":"wRMoCkHg","stringTimeField":"02:59:30.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-883,"numField":910.2602537994986,"stringDateField":"1991-03-27","stringDateTimeField":"2020-09-08T19:54:50Z","stringField":"wRMoCkHg","stringTimeField":"02:59:30.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1699,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1699,"uuid":"9de3e453-5655-11ee-9001-675ed0f8e89b"},"arrayField":["WqUoLRbH","jlNgQpWK","RunbAuW","PYckwu","pBgBjk","qsTcndgCXO"],"boolField":true,"intField":-685,"numField":914.5804247650289,"objField":{"ccapZioIfK":-7967043308533868272,"cgYwwgOjsK":2134856613072412923},"stringDateField":"1911-04-19","stringDateTimeField":"1955-03-01T16:47:13Z","stringField":"rqja","stringTimeField":"17:33:05.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-685,"numField":914.5804247650289,"stringDateField":"1911-04-19","stringDateTimeField":"1955-03-01T16:47:13Z","stringField":"rqja","stringTimeField":"17:33:05.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1700,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1700,"uuid":"9de3e453-5655-11ee-9401-675ed0f8e89b"},"arrayField":["grWBFddulT","wLntvL","qxTf","zgPmDE","XqsQpZ","zwzQN","ltSVv"],"boolField":false,"intField":-906,"numField":627.7869856684965,"objField":{"AxUpHrYY":3968564689540213923,"GQRXhPkoyD":7656673313480385402,"VCxjspvbe":2342064702706794419,"aHnlCGsv":7060056333188937979,"aZfwVMyCK":7816203308899544377,"nyYyihVpl":-7698147785574270058,"qOVqxCe":-5729190322355565866},"stringDateField":"1967-10-06","stringDateTimeField":"1987-09-04T16:11:51Z","stringField":"frQpXFSV","stringTimeField":"18:33:33.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-906,"numField":627.7869856684965,"stringDateField":"1967-10-06","stringDateTimeField":"1987-09-04T16:11:51Z","stringField":"frQpXFSV","stringTimeField":"18:33:33.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1701,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1701,"uuid":"9de3e453-5655-11ee-9801-675ed0f8e89b"},"arrayField":["hvJfndIZj","uhBYpzr","uvYjvcWb"],"boolField":false,"intField":-469,"numField":-151.0415731917444,"objField":{"ANam":3677617133296367333,"FjkhrqVK":-5621364509476756826,"NOcyf":-4000416264996344755,"QNYYrRBSo":-8531264341919202322,"RdqRKZ":349011953500071790,"WayMjUEtW":-5318389506281815306,"gLiwIBk":8942890989730275926},"stringDateField":"1959-05-14","stringDateTimeField":"1910-05-05T16:57:18Z","stringField":"XSnWrSkQyc","stringTimeField":"12:31:58.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-469,"numField":-151.0415731917444,"stringDateField":"1959-05-14","stringDateTimeField":"1910-05-05T16:57:18Z","stringField":"XSnWrSkQyc","stringTimeField":"12:31:58.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1702,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1702,"uuid":"9de3e453-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["Mhagn","XtIyePjTH","pSbOCNml","oKFX","WmIjP","KSRPRhsVXP","NCXgedWLT","GwVzmGgSl"],"boolField":false,"intField":315,"numField":-750.4849323957036,"objField":{"UjjnDMgK":-5196398888984342826,"usLRFwhb":6213796202941434808,"xROPKiztIH":5373112027768366210},"stringDateField":"1979-06-25","stringDateTimeField":"1943-02-19T04:40:53Z","stringField":"yyHfRvVUmw","stringTimeField":"23:44:53.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":315,"numField":-750.4849323957036,"stringDateField":"1979-06-25","stringDateTimeField":"1943-02-19T04:40:53Z","stringField":"yyHfRvVUmw","stringTimeField":"23:44:53.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1703,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1703,"uuid":"9de3e453-5655-11ee-a001-675ed0f8e89b"},"arrayField":["mHlbzB","hxdFC","JHuXq","JVvqMkHBEj","AsEa"],"boolField":false,"intField":-25,"numField":-721.6136720812411,"objField":{"IoBP":-5636421613357513764,"KauVoBRx":-1051983104406318278,"LNHK":1489808619677850526,"OREa":-4858100699277219680,"QHffevCeAY":3114415779836480984,"TBvNfA":-1670265476830517888},"stringDateField":"2019-09-06","stringDateTimeField":"1985-01-04T05:02:04Z","stringField":"pNCYbumCWD","stringTimeField":"19:45:29.24Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-25,"numField":-721.6136720812411,"stringDateField":"2019-09-06","stringDateTimeField":"1985-01-04T05:02:04Z","stringField":"pNCYbumCWD","stringTimeField":"19:45:29.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1704,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1704,"uuid":"9de3e453-5655-11ee-a401-675ed0f8e89b"},"arrayField":["whmTRRHAie","GyJLnVi","CopYSlwM","UAuT","JZIatuOwI","fhiRm","quQbkbK"],"boolField":true,"intField":405,"numField":-646.8435155378734,"objField":{"MEwdDNMrYU":-2959383010858598139,"QJCpi":6352610602731815712,"YlbnZhbog":3076802633605425024,"wtgg":5894921848351330043,"zNscHEZSpb":2112051660026647143},"stringDateField":"1963-10-13","stringDateTimeField":"1942-03-31T13:15:57Z","stringField":"ZRocQ","stringTimeField":"15:25:10.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":405,"numField":-646.8435155378734,"stringDateField":"1963-10-13","stringDateTimeField":"1942-03-31T13:15:57Z","stringField":"ZRocQ","stringTimeField":"15:25:10.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1705,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1705,"uuid":"9de3e453-5655-11ee-a801-675ed0f8e89b"},"arrayField":["xmYJo"],"boolField":false,"intField":-972,"numField":-671.8428716701899,"objField":{"HvushJ":6009071975429703278},"stringDateField":"2008-09-09","stringDateTimeField":"1968-09-11T07:18:37Z","stringField":"DFwW","stringTimeField":"11:50:59.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-972,"numField":-671.8428716701899,"stringDateField":"2008-09-09","stringDateTimeField":"1968-09-11T07:18:37Z","stringField":"DFwW","stringTimeField":"11:50:59.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1706,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1706,"uuid":"9de3e453-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["RBXTg","jecIzCQms","rDMfKssSH","jslcukWX"],"boolField":true,"intField":-246,"numField":177.79832402222985,"objField":{"bfjmp":3625803963738054642,"cSlOhWuEGx":-3544191463771921254,"jNEYzJz":804834284002541303},"stringDateField":"1923-12-20","stringDateTimeField":"2011-10-20T07:15:38Z","stringField":"CYOF","stringTimeField":"03:14:56.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-246,"numField":177.79832402222985,"stringDateField":"1923-12-20","stringDateTimeField":"2011-10-20T07:15:38Z","stringField":"CYOF","stringTimeField":"03:14:56.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1707,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1707,"uuid":"9de3e453-5655-11ee-b001-675ed0f8e89b"},"arrayField":["GIFJUS","iOZyBAjVm","rWGsPXo"],"boolField":false,"intField":649,"numField":784.5132127210097,"objField":{"ENIoa":-1722810304644347936},"stringDateField":"1960-09-24","stringDateTimeField":"1981-12-24T17:23:04Z","stringField":"wvNWzoka","stringTimeField":"19:07:56.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":649,"numField":784.5132127210097,"stringDateField":"1960-09-24","stringDateTimeField":"1981-12-24T17:23:04Z","stringField":"wvNWzoka","stringTimeField":"19:07:56.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1708,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1708,"uuid":"9de3e453-5655-11ee-b401-675ed0f8e89b"},"arrayField":["GgWhwEqk","LvSaX","mkhttSLffY","aqmBgMV","jPFGi","HrHjTzCnEA"],"boolField":false,"intField":-40,"numField":296.9815301816663,"objField":{"DeUEsmag":-1410037661211005104,"EozxGd":-5471401777804507299,"KTtEqW":-3540250232616126688,"gjymzPcLgA":6213683477463140453,"wYANc":-254035994032984942,"zkhSdFMNM":1846886355266944667,"zmEkM":-2697757149803681003},"stringDateField":"1940-12-05","stringDateTimeField":"1958-03-30T19:51:32Z","stringField":"cTrFKS","stringTimeField":"17:06:00.31Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-40,"numField":296.9815301816663,"stringDateField":"1940-12-05","stringDateTimeField":"1958-03-30T19:51:32Z","stringField":"cTrFKS","stringTimeField":"17:06:00.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1709,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1709,"uuid":"9de3e453-5655-11ee-b801-675ed0f8e89b"},"arrayField":["GvJIVAL","eDeWoj","xzeff"],"boolField":false,"intField":-127,"numField":-150.0010908741326,"objField":{"ESFpNyed":-2342822323842031956,"IGoOyFDt":-1974520061376322456,"PrdAlRV":4895705762327705225,"VgYVnHZ":-8679345989613781732,"dTaNYk":-3840278150126545336,"lqDSZPRhK":-1425121130580210539,"mKuyzyLuFf":-2416036276991471201},"stringDateField":"1996-01-07","stringDateTimeField":"1958-06-04T06:48:39Z","stringField":"AodY","stringTimeField":"00:59:36.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-127,"numField":-150.0010908741326,"stringDateField":"1996-01-07","stringDateTimeField":"1958-06-04T06:48:39Z","stringField":"AodY","stringTimeField":"00:59:36.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1710,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1710,"uuid":"9de3e453-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["FdXbb","UFeQpJ","FPWgWWRZjm","vGOTIwbd","aPMqBCm","bEYKUMjgd","lNnoefBx","gTIGPCL","QDtgK"],"boolField":false,"intField":-978,"numField":504.4978492181307,"objField":{"MIyQTIZFi":4784414961267859120,"PrUJrM":-2646617849780964375,"XRIFoXEGA":-5396592575837978649,"fEBTX":6169817964029041138,"nWrNWe":1410465536161195979,"nkTz":-5728962961156215662},"stringDateField":"1991-03-23","stringDateTimeField":"1911-08-10T17:06:47Z","stringField":"PGbRz","stringTimeField":"18:02:03.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230995Z","intField":-978,"numField":504.4978492181307,"stringDateField":"1991-03-23","stringDateTimeField":"1911-08-10T17:06:47Z","stringField":"PGbRz","stringTimeField":"18:02:03.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1711,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1711,"uuid":"9de3e454-5655-11ee-8001-675ed0f8e89b"},"arrayField":["DNUCAhUGWW","fAHkN","mmpeOl","CdgEqcFEZB","NOni"],"boolField":true,"intField":865,"numField":343.23782640169486,"objField":{"DUrVLRLrS":4695064651999252998,"RCltzpV":5346305198153190977,"sDFDO":3230897316474276633},"stringDateField":"1961-08-30","stringDateTimeField":"1946-02-15T21:05:22Z","stringField":"DngxmZWZ","stringTimeField":"10:22:16.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":865,"numField":343.23782640169486,"stringDateField":"1961-08-30","stringDateTimeField":"1946-02-15T21:05:22Z","stringField":"DngxmZWZ","stringTimeField":"10:22:16.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1712,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1712,"uuid":"9de3e454-5655-11ee-8401-675ed0f8e89b"},"arrayField":["IukKgl","ylXNlxOBqb"],"boolField":false,"intField":-814,"numField":-13.220965438695442,"objField":{"wYJvASdVF":-7132937533381963588},"stringDateField":"1929-12-07","stringDateTimeField":"2020-06-19T07:26:47Z","stringField":"KcLfmKAoB","stringTimeField":"00:26:10.25Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":-814,"numField":-13.220965438695442,"stringDateField":"1929-12-07","stringDateTimeField":"2020-06-19T07:26:47Z","stringField":"KcLfmKAoB","stringTimeField":"00:26:10.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1713,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1713,"uuid":"9de3e454-5655-11ee-8801-675ed0f8e89b"},"arrayField":["NvrFRtulwD","IjycR","mVjCR","FROG","QgrTvfl","XSTJRlWAu","fGOH"],"boolField":false,"intField":392,"numField":710.554451159006,"objField":{"CKhivF":-5238339489481157314,"DHojSC":584463166452769239,"RxyTPa":7597981845964687645,"VuyLSoFNGF":1754992393659005006,"YTwCFJUxY":1150215038185174803,"dVKLnB":-3563772771162984176,"gLjCjZ":-196795673064414824,"jWJFiGgDDY":3164374785907950617,"mVOjG":-3817422041956426785,"rlKAt":-6155823574306674894},"stringDateField":"1992-12-15","stringDateTimeField":"1922-05-18T23:12:59Z","stringField":"KCPudT","stringTimeField":"09:50:19.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":392,"numField":710.554451159006,"stringDateField":"1992-12-15","stringDateTimeField":"1922-05-18T23:12:59Z","stringField":"KCPudT","stringTimeField":"09:50:19.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1714,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1714,"uuid":"9de3e454-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["cAYSQUqM","LvUZ","kIreJVr"],"boolField":false,"intField":723,"numField":686.2594600246989,"objField":{"DyXLh":-7361837935715120421,"KtscQZ":-2638415989501079025,"OlajxB":5034275059964218265},"stringDateField":"1948-01-16","stringDateTimeField":"2016-10-04T04:01:49Z","stringField":"szTIQcvyYp","stringTimeField":"22:49:37.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":723,"numField":686.2594600246989,"stringDateField":"1948-01-16","stringDateTimeField":"2016-10-04T04:01:49Z","stringField":"szTIQcvyYp","stringTimeField":"22:49:37.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1715,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1715,"uuid":"9de3e454-5655-11ee-9001-675ed0f8e89b"},"arrayField":["Fent","PhFOd","xAMKRTlG","OLLDAEgwlY","SAOm","NFcQK","KOAGDc","MvzPxOUyjK"],"boolField":true,"intField":-979,"numField":960.8793443226984,"objField":{"HsdG":-2507786584671540399,"ZQCfnOjuh":-8467180867231824430,"bvuZsFF":-6365406591991570374,"eAQnnBW":-6631569775881631933,"jFja":-123021780712594902,"vkyBxxBN":-3135251944284836014},"stringDateField":"1938-10-06","stringDateTimeField":"1927-03-22T11:15:03Z","stringField":"LZkfF","stringTimeField":"23:10:34.36Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":-979,"numField":960.8793443226984,"stringDateField":"1938-10-06","stringDateTimeField":"1927-03-22T11:15:03Z","stringField":"LZkfF","stringTimeField":"23:10:34.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1716,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1716,"uuid":"9de3e454-5655-11ee-9401-675ed0f8e89b"},"arrayField":["NMCdD","sJyhglb","uPdjcn","QNjptHuCxP","SBLa","CFePqpGxR","xvexEvScUR","sLGHDuH"],"boolField":true,"intField":-782,"numField":671.0199811264756,"objField":{"NWIMsYFC":6898974271666299372,"szjdMLPOI":8789619014874894844,"yntRGfyre":975029658809566277},"stringDateField":"1934-01-20","stringDateTimeField":"1910-02-09T19:58:06Z","stringField":"UWhrg","stringTimeField":"19:59:48.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":-782,"numField":671.0199811264756,"stringDateField":"1934-01-20","stringDateTimeField":"1910-02-09T19:58:06Z","stringField":"UWhrg","stringTimeField":"19:59:48.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1717,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1717,"uuid":"9de3e454-5655-11ee-9801-675ed0f8e89b"},"arrayField":["AfoH","FPUFsJDh","ULKovKyD"],"boolField":false,"intField":-810,"numField":733.6319617163258,"objField":{"AQIOQNzn":-522254780613125003,"cKjpwl":2056117513087561663},"stringDateField":"1993-12-20","stringDateTimeField":"2001-11-20T11:45:56Z","stringField":"ebPrLPX","stringTimeField":"13:02:15.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":-810,"numField":733.6319617163258,"stringDateField":"1993-12-20","stringDateTimeField":"2001-11-20T11:45:56Z","stringField":"ebPrLPX","stringTimeField":"13:02:15.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1718,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1718,"uuid":"9de3e454-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["pRmUbP","hiMkpkokzd"],"boolField":true,"intField":-604,"numField":-577.041524970022,"objField":{"UFGofCouc":5002138607466247998},"stringDateField":"1944-12-19","stringDateTimeField":"1961-01-21T21:39:00Z","stringField":"JBcBC","stringTimeField":"09:16:06.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":-604,"numField":-577.041524970022,"stringDateField":"1944-12-19","stringDateTimeField":"1961-01-21T21:39:00Z","stringField":"JBcBC","stringTimeField":"09:16:06.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1719,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1719,"uuid":"9de3e454-5655-11ee-a001-675ed0f8e89b"},"arrayField":["kCBvI","bbQUYdkaB","LuZcek","EgSWzOWXQj","UyzN","xguC","xmgGLU","rUFTYikIlb","uIBhIyZ"],"boolField":false,"intField":912,"numField":594.4604391688583,"objField":{"EWGd":7628354383198126317,"FWOubztT":-1055081339868267696,"QRDuXR":7140364977689093819,"VdZeNDqGlX":5623745257401481375,"vTZdyFV":4573549901104029009,"wSuXLmnwph":2231074680272274446},"stringDateField":"1922-12-03","stringDateTimeField":"1994-05-15T23:14:59Z","stringField":"XAOH","stringTimeField":"09:41:57.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":912,"numField":594.4604391688583,"stringDateField":"1922-12-03","stringDateTimeField":"1994-05-15T23:14:59Z","stringField":"XAOH","stringTimeField":"09:41:57.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1720,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1720,"uuid":"9de3e454-5655-11ee-a401-675ed0f8e89b"},"arrayField":["tIZr","bsLB"],"boolField":true,"intField":302,"numField":-317.9795037823112,"objField":{"TjPc":4319252112911665250,"TsYKrWe":5655627575750845006},"stringDateField":"2002-01-29","stringDateTimeField":"1996-05-07T00:37:57Z","stringField":"HcuthBA","stringTimeField":"02:52:36.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":302,"numField":-317.9795037823112,"stringDateField":"2002-01-29","stringDateTimeField":"1996-05-07T00:37:57Z","stringField":"HcuthBA","stringTimeField":"02:52:36.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1721,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1721,"uuid":"9de3e454-5655-11ee-a801-675ed0f8e89b"},"arrayField":["UCbs","sZLB","vucACC","JFnlLNnN","dhfUkf","Yygjtbrnzs","iXKYH","OKUZjGMEQ"],"boolField":true,"intField":-379,"numField":-116.14547129923368,"objField":{"GdBBXKQCBI":-2239459552988594279,"JSXa":-7832093395599137979,"NcjN":-7864261568070042133,"fgdh":6526774719612636031,"fqwoRilHon":6389028894229774305,"mDwTZUbidF":4096033647763534624},"stringDateField":"1923-03-28","stringDateTimeField":"1916-08-28T04:48:32Z","stringField":"BoiVA","stringTimeField":"04:58:41.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":-379,"numField":-116.14547129923368,"stringDateField":"1923-03-28","stringDateTimeField":"1916-08-28T04:48:32Z","stringField":"BoiVA","stringTimeField":"04:58:41.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1722,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1722,"uuid":"9de3e454-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["zATyJCkj","SWwuAlX","Ejbp","ikxzbCtFbY","kdDgB"],"boolField":false,"intField":529,"numField":-709.3550885624799,"objField":{"FokELu":-1496901470622238645,"KAldk":-5403790542901868019,"MhNNvchzP":-3366893539315140099,"VllGRVAJV":-6470669909878305031,"ouAR":5937471423301406140,"uFfQDyLVI":-8973026230283098579,"xEPlkeq":3465686504746319445,"zjizZtYThC":2206514446609995484},"stringDateField":"1954-06-30","stringDateTimeField":"1901-10-30T20:16:25Z","stringField":"viauU","stringTimeField":"22:54:37.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":529,"numField":-709.3550885624799,"stringDateField":"1954-06-30","stringDateTimeField":"1901-10-30T20:16:25Z","stringField":"viauU","stringTimeField":"22:54:37.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1723,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1723,"uuid":"9de3e454-5655-11ee-b001-675ed0f8e89b"},"arrayField":["jEjwJR","BDEKod","llVmd","ytDMSxuhA","MuYVnQjYt","aEpPxWl","jMWHhne","bMmx","zqgdRCSE"],"boolField":false,"intField":-484,"numField":-295.8381257888877,"objField":{"AihYjoVf":-3875473268072380823,"KsPDtfVoRe":-6305722175142831147,"PTFTw":4924044565966227468,"dgqKRmv":3763848967486046519,"fmerzZM":7983694172541089709,"hyOiIVqKoi":-5306739578861482215,"rNSzZSA":-3036671141369372295,"sirDBlx":-8974573482503462478,"vHAlhWEz":-4633280781310572900,"yvzikTF":1080792767585869974},"stringDateField":"1947-09-11","stringDateTimeField":"1956-09-27T14:30:24Z","stringField":"pFFGPoGjB","stringTimeField":"08:21:57.41Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":-484,"numField":-295.8381257888877,"stringDateField":"1947-09-11","stringDateTimeField":"1956-09-27T14:30:24Z","stringField":"pFFGPoGjB","stringTimeField":"08:21:57.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1724,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1724,"uuid":"9de3e454-5655-11ee-b401-675ed0f8e89b"},"arrayField":["hHRfQCM","PZBsQkW","zLUJB","fmyo","epoqe","enhJwCyE","kTSiqnUDq","wJVJVrcF","nBumRd"],"boolField":false,"intField":488,"numField":-855.468637919461,"objField":{"ItmPFb":-5576915850943535510,"QCRfHZcVL":1362530404531818836,"QmagIe":5459538206194748228,"SSPcucH":7881312992113326860},"stringDateField":"1921-12-11","stringDateTimeField":"1978-10-09T05:21:58Z","stringField":"WtZDNI","stringTimeField":"11:34:45.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":488,"numField":-855.468637919461,"stringDateField":"1921-12-11","stringDateTimeField":"1978-10-09T05:21:58Z","stringField":"WtZDNI","stringTimeField":"11:34:45.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1725,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1725,"uuid":"9de3e454-5655-11ee-b801-675ed0f8e89b"},"arrayField":["AcZgrAzKi","ZrtKA","nPjyw","KPGRx","tqQwyaGYJ","giWas","GSCmH","icaULvd"],"boolField":true,"intField":-32,"numField":-262.11112895815756,"objField":{"OvVTCFjH":8186019514457786877},"stringDateField":"1914-07-29","stringDateTimeField":"1972-03-25T00:43:15Z","stringField":"OMiaX","stringTimeField":"13:09:52.33Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":-32,"numField":-262.11112895815756,"stringDateField":"1914-07-29","stringDateTimeField":"1972-03-25T00:43:15Z","stringField":"OMiaX","stringTimeField":"13:09:52.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1726,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1726,"uuid":"9de3e454-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["gKTY","FMzcf","BumwhXtv","WkdpClH","ZuNzcGGw","ASnBslL","sciu","VSJCD","azHRL"],"boolField":true,"intField":-599,"numField":-159.33256721094335,"objField":{"WlPRiwnytr":7590980617330664636},"stringDateField":"1945-11-20","stringDateTimeField":"1911-05-20T11:57:29Z","stringField":"tOFKVsqSbL","stringTimeField":"10:54:24.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230996Z","intField":-599,"numField":-159.33256721094335,"stringDateField":"1945-11-20","stringDateTimeField":"1911-05-20T11:57:29Z","stringField":"tOFKVsqSbL","stringTimeField":"10:54:24.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1727,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1727,"uuid":"9de3e455-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wdQJGVk"],"boolField":true,"intField":679,"numField":970.981636948645,"objField":{"BpTWOaWjSr":-868730875795725165,"CRlu":398640611869717513,"VUvTAPZvIR":5070968650715722952,"XaMcDUmHN":-3146362554628700240,"dKmQtyzta":-5468465106259348493,"futnsKT":-714341453067058110,"ocVacg":1764283204438281437,"rQKQa":-2746272738436793746,"xEzpRMfyf":-1709619014031068246,"zRznoXbORs":-3886894550769242126},"stringDateField":"1970-11-12","stringDateTimeField":"1958-01-07T18:59:27Z","stringField":"ZLDeuoBZ","stringTimeField":"05:42:19.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":679,"numField":970.981636948645,"stringDateField":"1970-11-12","stringDateTimeField":"1958-01-07T18:59:27Z","stringField":"ZLDeuoBZ","stringTimeField":"05:42:19.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1728,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1728,"uuid":"9de3e455-5655-11ee-8401-675ed0f8e89b"},"arrayField":["slAEoBulNH","UBHroycyM","tIeeGI"],"boolField":false,"intField":-64,"numField":33.927209220474985,"objField":{"pvXJiK":-4450796398541673875},"stringDateField":"1987-12-09","stringDateTimeField":"1933-04-24T16:25:08Z","stringField":"FZAHIyr","stringTimeField":"22:00:37.50Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":-64,"numField":33.927209220474985,"stringDateField":"1987-12-09","stringDateTimeField":"1933-04-24T16:25:08Z","stringField":"FZAHIyr","stringTimeField":"22:00:37.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1729,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1729,"uuid":"9de3e455-5655-11ee-8801-675ed0f8e89b"},"arrayField":["PhBXh","MAgfXXIQ","QiizoXqAiQ","VBJpYs","jcnPjzj"],"boolField":true,"intField":660,"numField":-510.4964271594603,"objField":{"WEWQc":4322660933585580568,"ZiotWWN":384611449890367831,"lOsROmG":-661897695695903173,"vTPaVz":396573481268063241},"stringDateField":"1965-04-13","stringDateTimeField":"1962-07-10T23:17:52Z","stringField":"UilVVlds","stringTimeField":"22:27:47.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":660,"numField":-510.4964271594603,"stringDateField":"1965-04-13","stringDateTimeField":"1962-07-10T23:17:52Z","stringField":"UilVVlds","stringTimeField":"22:27:47.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1730,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1730,"uuid":"9de3e455-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["swphckcI"],"boolField":true,"intField":491,"numField":296.9621341367774,"objField":{"lvBBHErell":5745508182992480000},"stringDateField":"2016-07-20","stringDateTimeField":"2014-10-08T19:38:19Z","stringField":"paWAtFAbJI","stringTimeField":"07:20:03.45Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":491,"numField":296.9621341367774,"stringDateField":"2016-07-20","stringDateTimeField":"2014-10-08T19:38:19Z","stringField":"paWAtFAbJI","stringTimeField":"07:20:03.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1731,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1731,"uuid":"9de3e455-5655-11ee-9001-675ed0f8e89b"},"arrayField":["gwQbK","fhuEKEKa"],"boolField":true,"intField":860,"numField":641.7815221201928,"objField":{"JfJL":6961806345672697237,"MvAwyqkROS":-7076855972620373559,"UZFp":2514985387292548038,"mGcH":-7986875947645397074,"mbuep":-1485050005323561099},"stringDateField":"1970-08-13","stringDateTimeField":"1947-01-30T01:19:16Z","stringField":"RxERToJDDz","stringTimeField":"07:22:41.40Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":860,"numField":641.7815221201928,"stringDateField":"1970-08-13","stringDateTimeField":"1947-01-30T01:19:16Z","stringField":"RxERToJDDz","stringTimeField":"07:22:41.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1732,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1732,"uuid":"9de3e455-5655-11ee-9401-675ed0f8e89b"},"arrayField":["PdjJmGZWg"],"boolField":true,"intField":673,"numField":-241.37685695757403,"objField":{"fWATq":-8065715100897212255,"qfmzCxPniL":-5712195690941069178},"stringDateField":"1960-01-27","stringDateTimeField":"1968-11-03T01:22:39Z","stringField":"cvqnBYam","stringTimeField":"19:06:42.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":673,"numField":-241.37685695757403,"stringDateField":"1960-01-27","stringDateTimeField":"1968-11-03T01:22:39Z","stringField":"cvqnBYam","stringTimeField":"19:06:42.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1733,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1733,"uuid":"9de3e455-5655-11ee-9801-675ed0f8e89b"},"arrayField":["CsGD","tVIz","lPwcL"],"boolField":false,"intField":-347,"numField":-196.33717309907772,"objField":{"QDKDZfqS":-2514570828980293643,"TLfTNl":-4793185719606614302,"YXiLTFO":5572507146741543003,"rURntV":8651262744099878059},"stringDateField":"1975-12-05","stringDateTimeField":"1952-05-12T21:52:26Z","stringField":"UWGghoSIP","stringTimeField":"04:04:51.44Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":-347,"numField":-196.33717309907772,"stringDateField":"1975-12-05","stringDateTimeField":"1952-05-12T21:52:26Z","stringField":"UWGghoSIP","stringTimeField":"04:04:51.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1734,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1734,"uuid":"9de3e455-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["RjXqYOUln","QydufpX","EfESXrbbg"],"boolField":false,"intField":362,"numField":-667.7224534522704,"objField":{"FYzFhgDuKD":-2187864692363827401,"GLSJPuilg":5605734356730167209,"twaiMfZ":4620985504793642890},"stringDateField":"1995-01-17","stringDateTimeField":"1991-12-12T10:33:47Z","stringField":"tuePbWupn","stringTimeField":"17:31:29.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":362,"numField":-667.7224534522704,"stringDateField":"1995-01-17","stringDateTimeField":"1991-12-12T10:33:47Z","stringField":"tuePbWupn","stringTimeField":"17:31:29.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1735,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1735,"uuid":"9de3e455-5655-11ee-a001-675ed0f8e89b"},"arrayField":["zaAsQ","YjFWAC","Hponj","QyNnknOA","xHen","EaqOct","iOPZW"],"boolField":false,"intField":-147,"numField":-607.2075412675832,"objField":{"KFaXqIOeFr":7166251225077681976,"RHyJ":-8709849196033729785,"gHMxqJ":6216189263846526559,"iKeNDF":-5226533268063026181,"xxpxJLhTRS":8769208911369425566,"zgVXjoTkP":-1867593416794467614},"stringDateField":"1910-10-04","stringDateTimeField":"2006-12-07T14:12:43Z","stringField":"PVfSbzWgCU","stringTimeField":"10:24:56.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":-147,"numField":-607.2075412675832,"stringDateField":"1910-10-04","stringDateTimeField":"2006-12-07T14:12:43Z","stringField":"PVfSbzWgCU","stringTimeField":"10:24:56.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1736,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1736,"uuid":"9de3e455-5655-11ee-a401-675ed0f8e89b"},"arrayField":["Jvng","TWzJI"],"boolField":false,"intField":983,"numField":-485.7409008639934,"objField":{"OHXeb":-2268945535392501979,"UoJmxTII":-3365890442851754184,"XIRGcECCci":3228509564034019304,"fLNNc":-9203704064940612882,"sZRfehQrgD":8461943179640102551,"vZsLu":3518439888571300186},"stringDateField":"1948-08-16","stringDateTimeField":"2011-05-20T05:11:27Z","stringField":"MwYIF","stringTimeField":"01:26:09.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":983,"numField":-485.7409008639934,"stringDateField":"1948-08-16","stringDateTimeField":"2011-05-20T05:11:27Z","stringField":"MwYIF","stringTimeField":"01:26:09.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1737,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1737,"uuid":"9de3e455-5655-11ee-a801-675ed0f8e89b"},"arrayField":["MTVja","zBmM","tadBiVKeB","aufmV","wLbhv","apZcf","FefwnChHQ","EZQdaXt"],"boolField":false,"intField":125,"numField":-529.3763853491614,"objField":{"EjJSUJ":5438925483669240764,"TDxFVoKH":8670862321956425899,"vVNRVoLBX":6978647117820103308},"stringDateField":"1959-08-17","stringDateTimeField":"1962-10-22T03:21:45Z","stringField":"vQVNG","stringTimeField":"09:07:09.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":125,"numField":-529.3763853491614,"stringDateField":"1959-08-17","stringDateTimeField":"1962-10-22T03:21:45Z","stringField":"vQVNG","stringTimeField":"09:07:09.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1738,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1738,"uuid":"9de3e455-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["xlhR","qroYLmGk","cMpK"],"boolField":false,"intField":-67,"numField":365.1682586992963,"objField":{"DjDi":-408246653136830399,"khXhLOSFY":4531010274357708265},"stringDateField":"2020-07-07","stringDateTimeField":"1906-05-25T19:54:19Z","stringField":"zzdpmLGJoZ","stringTimeField":"00:26:16.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":-67,"numField":365.1682586992963,"stringDateField":"2020-07-07","stringDateTimeField":"1906-05-25T19:54:19Z","stringField":"zzdpmLGJoZ","stringTimeField":"00:26:16.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1739,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1739,"uuid":"9de3e455-5655-11ee-b001-675ed0f8e89b"},"arrayField":["FmTh","eTRVUnCa","AbLRZc","vEXFmQEqOk","YLtMWYtaN"],"boolField":false,"intField":-922,"numField":273.9125645344569,"objField":{"SGaFfkeu":6144990057466308898,"cUsnhNePv":-3592518943925053539,"ibplQyfJkk":-3874322406965607574},"stringDateField":"1908-09-21","stringDateTimeField":"1989-02-24T08:58:44Z","stringField":"QYkGaTcvQ","stringTimeField":"14:20:19.14Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":-922,"numField":273.9125645344569,"stringDateField":"1908-09-21","stringDateTimeField":"1989-02-24T08:58:44Z","stringField":"QYkGaTcvQ","stringTimeField":"14:20:19.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1740,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1740,"uuid":"9de3e455-5655-11ee-b401-675ed0f8e89b"},"arrayField":["vkpnIHhx","sSyyjVvmQ","OslJftde","QMTFIZ","heetu","ZbCq","olRqj","nzUpiKDI","jMjPTbYg"],"boolField":true,"intField":-29,"numField":177.67823555938068,"objField":{"AJLThuNvZp":-2642941417316242647},"stringDateField":"1902-07-09","stringDateTimeField":"1954-06-27T18:04:10Z","stringField":"rXVxnbY","stringTimeField":"00:51:14.27Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":-29,"numField":177.67823555938068,"stringDateField":"1902-07-09","stringDateTimeField":"1954-06-27T18:04:10Z","stringField":"rXVxnbY","stringTimeField":"00:51:14.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1741,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1741,"uuid":"9de3e455-5655-11ee-b801-675ed0f8e89b"},"arrayField":["oHyID"],"boolField":true,"intField":-660,"numField":-850.7134113148162,"objField":{"MsOOsKj":-3891702797948702362,"YOpsl":-4317800400696856148,"ZqQfT":7006038789691575598,"wCZYnniCi":-3831064727918020201},"stringDateField":"1973-03-06","stringDateTimeField":"1944-05-27T20:27:13Z","stringField":"KwqBrWveEU","stringTimeField":"17:46:15.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":-660,"numField":-850.7134113148162,"stringDateField":"1973-03-06","stringDateTimeField":"1944-05-27T20:27:13Z","stringField":"KwqBrWveEU","stringTimeField":"17:46:15.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1742,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1742,"uuid":"9de3e455-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["hzUsoUMtlc","WarQQvmDx"],"boolField":false,"intField":-742,"numField":-12.623256888027123,"objField":{"BoupquU":6293396376111406331,"lipBEiVO":-3499771721574605119,"saPJBHHlmh":1479147699050742285},"stringDateField":"1986-05-06","stringDateTimeField":"1922-05-31T05:50:30Z","stringField":"IqOpSqqs","stringTimeField":"18:32:36.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230997Z","intField":-742,"numField":-12.623256888027123,"stringDateField":"1986-05-06","stringDateTimeField":"1922-05-31T05:50:30Z","stringField":"IqOpSqqs","stringTimeField":"18:32:36.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1743,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1743,"uuid":"9de3e456-5655-11ee-8001-675ed0f8e89b"},"arrayField":["amixVdbO","WINrHscGG","cUoxvU","xqfbpDpp","RodbLdb"],"boolField":true,"intField":587,"numField":806.3601319342406,"objField":{"ExlvG":2080194703239047684,"MYpNi":521094460198932044,"RZiXTzQJ":5838131756917922846,"ShPsUjsOj":2549724788013484717,"UqIHIPwgCN":5992193416321060425,"ZyrToCaD":-1150736914571350688,"clnM":-1371460575834477149,"gcselhqza":2793503835478004084,"troaLw":5763510435437661114},"stringDateField":"1900-09-13","stringDateTimeField":"1967-09-16T22:27:39Z","stringField":"CXgZNzD","stringTimeField":"08:52:57.30Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":587,"numField":806.3601319342406,"stringDateField":"1900-09-13","stringDateTimeField":"1967-09-16T22:27:39Z","stringField":"CXgZNzD","stringTimeField":"08:52:57.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1744,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1744,"uuid":"9de3e456-5655-11ee-8401-675ed0f8e89b"},"arrayField":["wTMg","EgmJABc"],"boolField":false,"intField":-732,"numField":-161.64125004265728,"objField":{"LCTIxHJ":8868167967175861594,"OreaeCxA":-1887865620651161408,"TOmQjY":-7188607950238666983,"xDWcY":5811474461430463717},"stringDateField":"1943-06-29","stringDateTimeField":"1990-05-17T03:44:11Z","stringField":"zuWCYEk","stringTimeField":"16:35:10.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":-732,"numField":-161.64125004265728,"stringDateField":"1943-06-29","stringDateTimeField":"1990-05-17T03:44:11Z","stringField":"zuWCYEk","stringTimeField":"16:35:10.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1745,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1745,"uuid":"9de3e456-5655-11ee-8801-675ed0f8e89b"},"arrayField":["YfeYfEM","YFCHfdN","fNCqntAVqc","OBYb","mOTA"],"boolField":true,"intField":389,"numField":105.8398326106944,"objField":{"EYalyjp":4877443741818648385,"GwkjNfEtX":-3475951299400900273,"bJOSxHZ":6151467894072220418,"gCSWmQSp":-2755264659174613121,"irZZVeVYs":6094491915528195202,"jJonuwiT":-2310026010323322721,"oNbTxZ":3693213849783713704,"oQJcQ":-5105041828526457794,"vKRWTVDU":-8433885903791260195},"stringDateField":"1951-07-04","stringDateTimeField":"1974-01-23T05:29:34Z","stringField":"OORExa","stringTimeField":"20:06:41.46Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":389,"numField":105.8398326106944,"stringDateField":"1951-07-04","stringDateTimeField":"1974-01-23T05:29:34Z","stringField":"OORExa","stringTimeField":"20:06:41.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1746,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1746,"uuid":"9de3e456-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["khFtnGhwhz","XYJfwJ","YHiZan","dQSUAvShzQ","TjwWw","OilOuqkAg","KuCzjNuGDe","vYKtJUZtQd","xsnB"],"boolField":true,"intField":64,"numField":937.119190320806,"objField":{"gWDPQM":3114487258826919385,"hqSbYxT":2410696103320742355},"stringDateField":"1952-11-30","stringDateTimeField":"1952-04-09T01:18:28Z","stringField":"HZxiW","stringTimeField":"06:31:24.29Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":64,"numField":937.119190320806,"stringDateField":"1952-11-30","stringDateTimeField":"1952-04-09T01:18:28Z","stringField":"HZxiW","stringTimeField":"06:31:24.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1747,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1747,"uuid":"9de3e456-5655-11ee-9001-675ed0f8e89b"},"arrayField":["AUAGFORSBZ","blJURGohxd","fiivpfNf","EHovhXZH","klhodE","jVkSpFjQHa","cgai"],"boolField":false,"intField":355,"numField":356.62908852957463,"objField":{"cQnQKwbk":-4983964204186166783},"stringDateField":"1992-09-20","stringDateTimeField":"1987-02-23T17:46:01Z","stringField":"gdjRQQmOO","stringTimeField":"19:34:30.49Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":355,"numField":356.62908852957463,"stringDateField":"1992-09-20","stringDateTimeField":"1987-02-23T17:46:01Z","stringField":"gdjRQQmOO","stringTimeField":"19:34:30.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1748,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1748,"uuid":"9de3e456-5655-11ee-9401-675ed0f8e89b"},"arrayField":["COBnCtHty","zBWsCHdhI","HNHaRvEIUM","dGzR","ybib","mvBKAyW","ZOEmYjRKEd","HrzyIz","xMhaiisHVB"],"boolField":true,"intField":-175,"numField":415.8479418100631,"objField":{"AQHtN":2020557885538245114,"GXvDP":-8180791704424703132,"JXbJukvwR":-2321230612941129375,"bfhqSyOHn":8150849000810212508,"kHYHST":2079561657558259092,"kxibbwbSnj":-2592231452943065788,"pFXtPn":3783938527269948993},"stringDateField":"2023-10-17","stringDateTimeField":"1944-08-15T02:39:59Z","stringField":"KSqfENyju","stringTimeField":"11:04:33.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":-175,"numField":415.8479418100631,"stringDateField":"2023-10-17","stringDateTimeField":"1944-08-15T02:39:59Z","stringField":"KSqfENyju","stringTimeField":"11:04:33.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1749,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1749,"uuid":"9de3e456-5655-11ee-9801-675ed0f8e89b"},"arrayField":["uOSWAfB","TpORSEtHwI"],"boolField":false,"intField":70,"numField":-99.16298292010984,"objField":{"FLwAiabQg":3137700743366827339,"JHFi":-3355956914331063307,"KiFg":8240322035557290211,"MLJdo":-1239946466357599404,"PgiPEZTH":-7536013190417426616,"YzaWxJqa":-7322029663815503925,"bHAhaH":76922743559645316,"iRcTwO":-7253197071516760309,"lsTAI":-3478172501415377189,"teOq":-7999260599226632613},"stringDateField":"1933-07-10","stringDateTimeField":"1960-07-07T08:23:51Z","stringField":"IaceGUCrAB","stringTimeField":"00:41:40.32Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":70,"numField":-99.16298292010984,"stringDateField":"1933-07-10","stringDateTimeField":"1960-07-07T08:23:51Z","stringField":"IaceGUCrAB","stringTimeField":"00:41:40.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1750,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1750,"uuid":"9de3e456-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wSlJThsHCB","TVkUcVJOub","jVviW","ShmXPhqeY","LpQinhIqb"],"boolField":false,"intField":-828,"numField":136.0036208311679,"objField":{"ATqU":-7733037281870535814,"OmngOhKD":-8872259703187450126,"axRvnuNptp":-4106187221180766699},"stringDateField":"1926-01-01","stringDateTimeField":"1989-06-12T01:37:22Z","stringField":"XPsXpJ","stringTimeField":"03:21:25.15Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":-828,"numField":136.0036208311679,"stringDateField":"1926-01-01","stringDateTimeField":"1989-06-12T01:37:22Z","stringField":"XPsXpJ","stringTimeField":"03:21:25.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1751,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1751,"uuid":"9de3e456-5655-11ee-a001-675ed0f8e89b"},"arrayField":["UMeX","VtsbHVM","WLBsiG","bmbxIFLHw","jTRiCz","qrfMb","rgMwvlk","TbmqXUJLMC"],"boolField":true,"intField":365,"numField":922.9894060743134,"objField":{"JpfHGWAdFu":-1172973626214262489,"kxIaa":7749643678996686450,"pJKoxDk":3354468845917048420,"psmIopI":-3120270285998310498},"stringDateField":"1975-09-20","stringDateTimeField":"1951-11-09T12:01:35Z","stringField":"HAemqrapN","stringTimeField":"10:39:11.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":365,"numField":922.9894060743134,"stringDateField":"1975-09-20","stringDateTimeField":"1951-11-09T12:01:35Z","stringField":"HAemqrapN","stringTimeField":"10:39:11.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1752,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1752,"uuid":"9de3e456-5655-11ee-a401-675ed0f8e89b"},"arrayField":["StDISeqQOQ","aDExM","zqtgEqb","jgDwRKXjD","gVMBW"],"boolField":false,"intField":-434,"numField":823.2363924204129,"objField":{"QJIPzwxXAK":232056411777672260,"kmYdqXlQ":-8752285114913668607,"kxNTVzR":1016410778535690851,"kxTLDloizS":5996884074947805586,"nRHcch":-3995294771625778774,"qUDUmK":-1003880637898939819},"stringDateField":"2022-04-09","stringDateTimeField":"1966-07-14T03:09:20Z","stringField":"eKLgukHp","stringTimeField":"22:15:49.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":-434,"numField":823.2363924204129,"stringDateField":"2022-04-09","stringDateTimeField":"1966-07-14T03:09:20Z","stringField":"eKLgukHp","stringTimeField":"22:15:49.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1753,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1753,"uuid":"9de3e456-5655-11ee-a801-675ed0f8e89b"},"arrayField":["PsRsay","WLppRCm","NthbeNqDKh","SEQoJ","OYapGxGT","XCptn","hbaUwuXjzz","KcrWrtRMH","WCyLeLR"],"boolField":true,"intField":70,"numField":364.58740924142074,"objField":{"mKDH":4915072777314379340},"stringDateField":"1964-05-10","stringDateTimeField":"1970-09-12T23:45:00Z","stringField":"svbTgAH","stringTimeField":"17:04:37.48Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":70,"numField":364.58740924142074,"stringDateField":"1964-05-10","stringDateTimeField":"1970-09-12T23:45:00Z","stringField":"svbTgAH","stringTimeField":"17:04:37.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1754,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1754,"uuid":"9de3e456-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["SPrRHmo"],"boolField":false,"intField":54,"numField":793.7276516819709,"objField":{"DMfub":-9033321222000185667,"HXWoyV":1959749652441586529,"LEKzv":265034775110954978,"ZFcmTE":7085225655759765781,"jarO":4722401865057178475,"pOTAafPla":-7272464715131848577,"qBFSyhUEl":6322188571276703587,"wxTEA":3471184380759492014,"xDJpoq":-5170560347566733131},"stringDateField":"2000-11-15","stringDateTimeField":"1995-10-12T15:38:15Z","stringField":"hDawVIRcoh","stringTimeField":"18:20:29.47Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":54,"numField":793.7276516819709,"stringDateField":"2000-11-15","stringDateTimeField":"1995-10-12T15:38:15Z","stringField":"hDawVIRcoh","stringTimeField":"18:20:29.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1755,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1755,"uuid":"9de3e456-5655-11ee-b001-675ed0f8e89b"},"arrayField":["VDud","VLRXPdZOcd","mbNHBlnNCv","ifGoQAH","UBBrB","TGgSbZHY","SMuPX"],"boolField":false,"intField":-983,"numField":-565.5673439238915,"objField":{"THQcywt":3711756566425160670,"UvqWfdA":4680859932789034707},"stringDateField":"2019-09-07","stringDateTimeField":"2009-04-17T18:48:15Z","stringField":"uaenoawVnF","stringTimeField":"00:05:37.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":-983,"numField":-565.5673439238915,"stringDateField":"2019-09-07","stringDateTimeField":"2009-04-17T18:48:15Z","stringField":"uaenoawVnF","stringTimeField":"00:05:37.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1756,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1756,"uuid":"9de3e456-5655-11ee-b401-675ed0f8e89b"},"arrayField":["sjsmwZ","xmHdKsQfXj","dYIPVc","wQvUPx","RSwibFQ","FAuQ","jADEsqZQ","jGaklNRTs","zicg","dHWIB"],"boolField":true,"intField":699,"numField":733.2639355791135,"objField":{"oseh":-6912176400246587035,"suOuCpCL":1071807811950055075,"vriYG":4052031904601592364},"stringDateField":"2000-06-28","stringDateTimeField":"1908-06-11T18:07:36Z","stringField":"ALJSn","stringTimeField":"15:00:28.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":699,"numField":733.2639355791135,"stringDateField":"2000-06-28","stringDateTimeField":"1908-06-11T18:07:36Z","stringField":"ALJSn","stringTimeField":"15:00:28.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1757,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1757,"uuid":"9de3e456-5655-11ee-b801-675ed0f8e89b"},"arrayField":["znWCXN","DNZGutw","KlWAeTsEp","YzcjzIM","CaXO","TkpruLs","PaLYJI","lIBKMfv"],"boolField":true,"intField":-647,"numField":-499.9986557469371,"objField":{"BYsgIvEw":-6579218148833671800,"DaOWzm":598447121952787065,"MdNbNMnd":7819134209765300655,"adQfqNAQUQ":-5458824988826685712,"eIfptKg":-752961391791841041,"fqxHw":-7282460222575279036,"gwPXEiik":4595004942448986259,"ifEsjWJh":-4873547676423242566,"suHVHLCE":6385599583361789618,"zNzNIr":9114779779193968116},"stringDateField":"1941-03-20","stringDateTimeField":"1962-05-09T09:10:08Z","stringField":"QEIpfZy","stringTimeField":"22:00:14.16Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":-647,"numField":-499.9986557469371,"stringDateField":"1941-03-20","stringDateTimeField":"1962-05-09T09:10:08Z","stringField":"QEIpfZy","stringTimeField":"22:00:14.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1758,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1758,"uuid":"9de3e456-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["hLYcFCv","XZPqIYjMy","jSOcrKC","HVWyAqr","eMZtkOz","wFuOjrapp","cMbL","LePkveghH","dMCYa"],"boolField":true,"intField":713,"numField":-358.98340335985046,"objField":{"dSxxg":3808036778072544464,"snzN":-3058987979550882871,"vOAAFCuK":3931046385905491385},"stringDateField":"1900-09-21","stringDateTimeField":"1908-03-09T04:10:41Z","stringField":"CPNEnOei","stringTimeField":"16:28:45.39Z"},"flow_published_at":"2023-09-18T19:00:21.6230998Z","intField":713,"numField":-358.98340335985046,"stringDateField":"1900-09-21","stringDateTimeField":"1908-03-09T04:10:41Z","stringField":"CPNEnOei","stringTimeField":"16:28:45.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1759,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1759,"uuid":"9de3e457-5655-11ee-8001-675ed0f8e89b"},"arrayField":["lpBsjak","HECiPO","AwNA","hCbxYLl","oemSaCDmy","zDNLHEg","lSVf","LvofHsA","KnYDY"],"boolField":true,"intField":439,"numField":-960.9381143558652,"objField":{"AJAMLOvfhX":7169516072234342629,"HNvnEwK":-8927573345264860333,"YIIoaKKYb":-5815608955653683878,"ZghahxqQg":3311519195822019423,"bbUv":-130362717157558572,"wZJEQbk":-1685895576991407423},"stringDateField":"1925-03-06","stringDateTimeField":"1996-03-01T04:33:02Z","stringField":"KkvxwP","stringTimeField":"20:41:19.10Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":439,"numField":-960.9381143558652,"stringDateField":"1925-03-06","stringDateTimeField":"1996-03-01T04:33:02Z","stringField":"KkvxwP","stringTimeField":"20:41:19.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1760,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1760,"uuid":"9de3e457-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ZrkwDk","tRbBRhutn"],"boolField":true,"intField":870,"numField":510.1554221143545,"objField":{"IKUEvqaFj":3238249618130290524,"YlAW":-477589126761495001,"esmLwSwzBU":998826117650058685,"qEyCwZ":203857871205387951,"rySR":-8026285350670288482},"stringDateField":"1931-11-07","stringDateTimeField":"1944-03-17T02:11:55Z","stringField":"ZgPwbKU","stringTimeField":"10:45:10.23Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":870,"numField":510.1554221143545,"stringDateField":"1931-11-07","stringDateTimeField":"1944-03-17T02:11:55Z","stringField":"ZgPwbKU","stringTimeField":"10:45:10.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1761,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1761,"uuid":"9de3e457-5655-11ee-8801-675ed0f8e89b"},"arrayField":["oTyXEh","IfMgZpU","PrTQRSSG"],"boolField":true,"intField":939,"numField":930.2732352967582,"objField":{"ThOW":4692615126539264159,"rwPsgqj":-7793524577644378469,"ufVlyfPcZ":1618434720016187133},"stringDateField":"1980-08-03","stringDateTimeField":"1939-07-24T23:35:32Z","stringField":"AUaa","stringTimeField":"11:56:53.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":939,"numField":930.2732352967582,"stringDateField":"1980-08-03","stringDateTimeField":"1939-07-24T23:35:32Z","stringField":"AUaa","stringTimeField":"11:56:53.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1762,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1762,"uuid":"9de3e457-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["oomLvUI"],"boolField":true,"intField":-279,"numField":-77.6313555371675,"objField":{"JqGhGdFj":3737894978626573134,"iKog":5477108427326384921,"wNbcT":-7562236246941140210},"stringDateField":"1957-12-09","stringDateTimeField":"1975-11-18T20:57:07Z","stringField":"PvvmG","stringTimeField":"02:00:01.19Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":-279,"numField":-77.6313555371675,"stringDateField":"1957-12-09","stringDateTimeField":"1975-11-18T20:57:07Z","stringField":"PvvmG","stringTimeField":"02:00:01.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1763,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1763,"uuid":"9de3e457-5655-11ee-9001-675ed0f8e89b"},"arrayField":["fMen","ddxaDY","ALLNNkuo","sRRFd","XCGyr","imuxUyWgAH","xGDiZDmAO","iXjRLkv","oIlFEwxcyb","dScDZ"],"boolField":true,"intField":-184,"numField":-206.3369273923682,"objField":{"AGYRMm":-4285474374571835998,"Jirxm":1149155095682170876,"JuEVC":6112696345873680276,"VvWOV":6645443504478067415,"oSUy":5873113099329386593,"siFmfmIs":-889709889913553878},"stringDateField":"1921-08-24","stringDateTimeField":"1969-06-21T14:45:42Z","stringField":"tibrQQyiEs","stringTimeField":"03:06:15.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":-184,"numField":-206.3369273923682,"stringDateField":"1921-08-24","stringDateTimeField":"1969-06-21T14:45:42Z","stringField":"tibrQQyiEs","stringTimeField":"03:06:15.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1764,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1764,"uuid":"9de3e457-5655-11ee-9401-675ed0f8e89b"},"arrayField":["PKbxu"],"boolField":false,"intField":832,"numField":-696.1620416322226,"objField":{"GkAUBvQ":5182066841806264488,"PFUzyK":2133439523960910790,"QeqSeqDXc":1243740366961587033,"TydSGJ":-7709422992261749645,"btMj":-4293524288156782595,"eovdkIozKS":2436652933686426869,"fQeA":-7433545384079992820,"khzANSjC":-5073351023629421410,"nTAzfBQipn":-6457692421949515103},"stringDateField":"1983-03-06","stringDateTimeField":"1958-03-28T05:03:03Z","stringField":"ZzYIvf","stringTimeField":"05:36:10.26Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":832,"numField":-696.1620416322226,"stringDateField":"1983-03-06","stringDateTimeField":"1958-03-28T05:03:03Z","stringField":"ZzYIvf","stringTimeField":"05:36:10.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1765,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1765,"uuid":"9de3e457-5655-11ee-9801-675ed0f8e89b"},"arrayField":["BMSGr","oHJBlglyw","JbrHJGOq"],"boolField":true,"intField":120,"numField":-5.601941416931044,"objField":{"FPRvlHlW":-5866336746063673208,"GycOTjK":8340335969275866332,"HSBAq":-2823498797489281154,"NAHvCU":3849381323164457904,"OtistHoXR":8460505991745495452,"hZUoUNP":3897197776081733367,"jwkzhhNaW":-6130156564882574263,"rzHNMs":5924274802322721954},"stringDateField":"1916-07-15","stringDateTimeField":"1931-01-14T16:04:39Z","stringField":"gWmBwf","stringTimeField":"20:31:50.18Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":120,"numField":-5.601941416931044,"stringDateField":"1916-07-15","stringDateTimeField":"1931-01-14T16:04:39Z","stringField":"gWmBwf","stringTimeField":"20:31:50.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1766,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1766,"uuid":"9de3e457-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["FwekxY","KzccJCFhCt","XuPNABZwz"],"boolField":false,"intField":744,"numField":-559.6149079641509,"objField":{"IgWbhDIRPC":8327270320396379264,"LYhbUgSCei":173293431931311321,"QhmKkg":-6566057534867667513,"klMTSX":-3293360849809814024,"nmxEjbAJEs":-1037633523153160590,"ojUUt":714921295101776494,"qIKbXqN":847404179395289520,"rYITFUSqXc":7316768453714941252,"zbZgvgf":-855140452983818108},"stringDateField":"1958-03-13","stringDateTimeField":"1903-07-27T12:27:06Z","stringField":"IDJfpWSUdJ","stringTimeField":"17:45:46.12Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":744,"numField":-559.6149079641509,"stringDateField":"1958-03-13","stringDateTimeField":"1903-07-27T12:27:06Z","stringField":"IDJfpWSUdJ","stringTimeField":"17:45:46.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1767,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1767,"uuid":"9de3e457-5655-11ee-a001-675ed0f8e89b"},"arrayField":["SlOhhiyot","SlKVi","rJCc","vkDs","qucyACNLsA","ndTqBnAKU","GxfRpt","UHZl","rKAdv","BubiyE"],"boolField":true,"intField":-445,"numField":393.4474752562924,"objField":{"AAeeOkwWUo":3445577871242630677,"GVKwjV":5881791704131161832,"YNQGUHiq":181256060524767455,"bLgNMNOI":-7459441304481733512,"bfkVeBi":9024122215854644850,"mwlhHKO":-8603015445535315474,"qMeTpVSh":-5747637362713807308,"wDEUduum":-2817726895942877713},"stringDateField":"1976-06-30","stringDateTimeField":"1906-09-17T22:51:27Z","stringField":"ruHn","stringTimeField":"05:57:00.21Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":-445,"numField":393.4474752562924,"stringDateField":"1976-06-30","stringDateTimeField":"1906-09-17T22:51:27Z","stringField":"ruHn","stringTimeField":"05:57:00.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1768,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1768,"uuid":"9de3e457-5655-11ee-a401-675ed0f8e89b"},"arrayField":["CgxR","alFXmBdmY","xYjjWXMqQr","TUAX"],"boolField":true,"intField":411,"numField":-906.9036171251016,"objField":{"YXKZzSAi":-1081553296015503382,"dLiHhiklv":1768516704193825406,"lgwkpO":8163031424086978839},"stringDateField":"1952-09-11","stringDateTimeField":"1980-05-15T11:46:20Z","stringField":"AheWmiG","stringTimeField":"10:30:10.20Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":411,"numField":-906.9036171251016,"stringDateField":"1952-09-11","stringDateTimeField":"1980-05-15T11:46:20Z","stringField":"AheWmiG","stringTimeField":"10:30:10.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1769,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1769,"uuid":"9de3e457-5655-11ee-a801-675ed0f8e89b"},"arrayField":["JRLOuBKm","KbtxjXQqAY"],"boolField":true,"intField":-195,"numField":-32.68509884051907,"objField":{"HJhtj":-1803188491020572074,"HgxZEzhZX":5091336812169106236,"OhRZ":-5622514446589989685,"sDpONfyP":3172510974498095905},"stringDateField":"1997-04-20","stringDateTimeField":"1989-11-10T14:14:40Z","stringField":"ycPgmkfk","stringTimeField":"04:49:16.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":-195,"numField":-32.68509884051907,"stringDateField":"1997-04-20","stringDateTimeField":"1989-11-10T14:14:40Z","stringField":"ycPgmkfk","stringTimeField":"04:49:16.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1770,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1770,"uuid":"9de3e457-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["AGHv","hinX","OpumzHl"],"boolField":false,"intField":94,"numField":579.2691902012315,"objField":{"rdULekGy":6936245520025011850},"stringDateField":"1986-11-26","stringDateTimeField":"1949-01-17T16:30:04Z","stringField":"mjGLtBT","stringTimeField":"17:14:25.22Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":94,"numField":579.2691902012315,"stringDateField":"1986-11-26","stringDateTimeField":"1949-01-17T16:30:04Z","stringField":"mjGLtBT","stringTimeField":"17:14:25.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1771,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1771,"uuid":"9de3e457-5655-11ee-b001-675ed0f8e89b"},"arrayField":["YzTqcVsiH","EozANu","lzlkEQueKz","Bdmm","AUsXDD","IVUX"],"boolField":false,"intField":-20,"numField":355.30301277420205,"objField":{"EyqYwMlZ":-7718317652789339788,"FuOLOXmLkz":6004847780986401346,"gWOQXvQODb":-7848828154334124783,"ueJPcR":2685701427742800397},"stringDateField":"1904-03-02","stringDateTimeField":"1927-12-14T13:08:23Z","stringField":"CvJRLB","stringTimeField":"23:47:28.17Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":-20,"numField":355.30301277420205,"stringDateField":"1904-03-02","stringDateTimeField":"1927-12-14T13:08:23Z","stringField":"CvJRLB","stringTimeField":"23:47:28.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1772,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1772,"uuid":"9de3e457-5655-11ee-b401-675ed0f8e89b"},"arrayField":["rVJK","ySLlG","jBfB"],"boolField":false,"intField":484,"numField":-846.8434170878442,"objField":{"CsalBkP":356619757900549432,"XZaRJFmcC":6187010341685318816,"ZpDqwzDndn":-4585508614176724710,"bSDZalw":605674295594488273,"gBOf":8290639543638044590,"hPoadcoTH":-1253939142107097714,"veGndIYj":9007284125403053024},"stringDateField":"1904-06-12","stringDateTimeField":"1916-05-26T14:30:59Z","stringField":"mQnBTVWfpg","stringTimeField":"08:49:16.34Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":484,"numField":-846.8434170878442,"stringDateField":"1904-06-12","stringDateTimeField":"1916-05-26T14:30:59Z","stringField":"mQnBTVWfpg","stringTimeField":"08:49:16.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1773,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1773,"uuid":"9de3e457-5655-11ee-b801-675ed0f8e89b"},"arrayField":["DVLypxJ","lcrOxXy","igCwbZQEVd","SRpfmfSN"],"boolField":true,"intField":-478,"numField":923.4309606410188,"objField":{"MWpyPlL":-4473420685816147332,"OKLnMDeogY":-599951106095075818,"QmErF":4111757381934294765,"WtpePpOtz":-6425413056725191467,"cLHIB":5412089287000670780,"fGpkcYj":-4764078849523873760,"iTBSIEYttP":-5697458850724360604},"stringDateField":"1963-02-03","stringDateTimeField":"2023-08-09T20:31:23Z","stringField":"egdhtMd","stringTimeField":"10:07:33.38Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":-478,"numField":923.4309606410188,"stringDateField":"1963-02-03","stringDateTimeField":"2023-08-09T20:31:23Z","stringField":"egdhtMd","stringTimeField":"10:07:33.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1774,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1774,"uuid":"9de3e457-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["Yldwx","sCEDarN","govRX","RTdMGr","btlWU","wxvfnW","DGqvi","yfBqJe","hnnAuV"],"boolField":true,"intField":-513,"numField":-482.7647091397147,"objField":{"LOLm":4643920595036953327,"NgDUv":-5956465100736387746,"vVHsMPdL":-8165493339014557456},"stringDateField":"1991-04-24","stringDateTimeField":"1969-09-10T05:20:27Z","stringField":"AtsCFyv","stringTimeField":"19:10:30.37Z"},"flow_published_at":"2023-09-18T19:00:21.6230999Z","intField":-513,"numField":-482.7647091397147,"stringDateField":"1991-04-24","stringDateTimeField":"1969-09-10T05:20:27Z","stringField":"AtsCFyv","stringTimeField":"19:10:30.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1775,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1775,"uuid":"9de3e458-5655-11ee-8001-675ed0f8e89b"},"arrayField":["xaBfHpwL","TRNIw","jILGcVhYsu","pucZBXltx"],"boolField":true,"intField":685,"numField":-767.9647266945605,"objField":{"ENGHfNUW":3476481323776012777,"TpYSCtwC":238628899276521230,"XcZaRACbMS":-8017540717290124320,"XnVGqyMwR":-346872196156169620,"yexk":-6306481273200746483},"stringDateField":"1993-01-29","stringDateTimeField":"1976-12-27T06:12:32Z","stringField":"YExez","stringTimeField":"00:01:16.24Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":685,"numField":-767.9647266945605,"stringDateField":"1993-01-29","stringDateTimeField":"1976-12-27T06:12:32Z","stringField":"YExez","stringTimeField":"00:01:16.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1776,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1776,"uuid":"9de3e458-5655-11ee-8401-675ed0f8e89b"},"arrayField":["acTtLHyn","ycpzqcvMD","PTyaog"],"boolField":false,"intField":85,"numField":125.87291559954838,"objField":{"CaXNkKQyKZ":8238662676098811224,"DiOl":8819416305486612545,"OlKhreU":-8895856665341123540,"ZZKXYHUBcM":-1209178705142531798,"ednnVjpfM":7958293991094810358,"fJjSvgFJ":5943581892129662283,"inGsz":-6046819849170218456,"sSMPRqtD":2090218394947461533},"stringDateField":"1971-06-30","stringDateTimeField":"2010-04-18T23:37:43Z","stringField":"ZFykR","stringTimeField":"11:37:54.42Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":85,"numField":125.87291559954838,"stringDateField":"1971-06-30","stringDateTimeField":"2010-04-18T23:37:43Z","stringField":"ZFykR","stringTimeField":"11:37:54.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1777,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1777,"uuid":"9de3e458-5655-11ee-8801-675ed0f8e89b"},"arrayField":["OAlHaslbq","UXzH","BPerjpL","xbtvkyThJ","JdNz","zivMDlZDAq"],"boolField":false,"intField":270,"numField":-979.6954538370989,"objField":{"ByIufysVU":-1406657722878981671,"JipOOxZY":-1089756455696736652},"stringDateField":"2007-09-13","stringDateTimeField":"1978-04-24T21:40:35Z","stringField":"VaHiU","stringTimeField":"00:42:06.42Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":270,"numField":-979.6954538370989,"stringDateField":"2007-09-13","stringDateTimeField":"1978-04-24T21:40:35Z","stringField":"VaHiU","stringTimeField":"00:42:06.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1778,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1778,"uuid":"9de3e458-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["FsVt"],"boolField":true,"intField":131,"numField":-569.7384200940743,"objField":{"Ccegt":-3145913302337817030,"FRqJroL":-978373759684730645,"LnXBju":-9187841174112803652,"QsKhIu":-8423508602909777673,"TMMxkb":2319111339775021985,"WeDL":6623516545256649686,"aThKB":-6087813385556467767,"czUhpcNY":-3651339865301285853,"hglUwIdBY":-8120323469660729181,"yevOxbkSlC":-5400909123452924749},"stringDateField":"1983-08-08","stringDateTimeField":"1951-07-12T14:50:06Z","stringField":"LCZRMc","stringTimeField":"08:52:42.22Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":131,"numField":-569.7384200940743,"stringDateField":"1983-08-08","stringDateTimeField":"1951-07-12T14:50:06Z","stringField":"LCZRMc","stringTimeField":"08:52:42.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1779,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1779,"uuid":"9de3e458-5655-11ee-9001-675ed0f8e89b"},"arrayField":["qOeaYIeb","ecTZr"],"boolField":false,"intField":-368,"numField":933.1771806030358,"objField":{"ZihkHr":6316434146117890501,"goDMxYpI":7282963005831622644,"ieLXaPpLTb":5168673475093955595,"mGRBOho":8380350814349235891},"stringDateField":"1992-01-18","stringDateTimeField":"2020-09-01T15:14:15Z","stringField":"BmsE","stringTimeField":"08:52:42.43Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":-368,"numField":933.1771806030358,"stringDateField":"1992-01-18","stringDateTimeField":"2020-09-01T15:14:15Z","stringField":"BmsE","stringTimeField":"08:52:42.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1780,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1780,"uuid":"9de3e458-5655-11ee-9401-675ed0f8e89b"},"arrayField":["XkEvCASTNk"],"boolField":false,"intField":-752,"numField":-889.3597147844517,"objField":{"KllhAu":8636042034127921966,"POYKLRWW":5051734264571993374,"QkANsjJvGz":-558087207489218116,"XPTF":-6241915661025921177,"ZYVv":-7105319709090317725,"baGlmzerk":507576556791166505,"dXUIYDUc":8370803580937452836,"iOzm":-1647068522283606336,"yrDJ":-9019726593885128774},"stringDateField":"1963-04-09","stringDateTimeField":"1996-10-22T00:21:37Z","stringField":"DDhiSOYd","stringTimeField":"00:47:27.33Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":-752,"numField":-889.3597147844517,"stringDateField":"1963-04-09","stringDateTimeField":"1996-10-22T00:21:37Z","stringField":"DDhiSOYd","stringTimeField":"00:47:27.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1781,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1781,"uuid":"9de3e458-5655-11ee-9801-675ed0f8e89b"},"arrayField":["sHMMmfoz","BvmlqOrVOS","ISYLrA","dRVowy","EAQpvBsaGI"],"boolField":true,"intField":-965,"numField":-63.09553520490996,"objField":{"DZwdNK":-10014166845808353,"gkkFoVW":-3817594234979416818,"hrEI":1171151093389835093,"kIsu":6120325559489473441,"mzTcYJ":-5325698661567353000,"paTBy":6354366548181004836},"stringDateField":"1947-02-14","stringDateTimeField":"1939-04-23T11:40:37Z","stringField":"PImljoRWZ","stringTimeField":"11:32:04.39Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":-965,"numField":-63.09553520490996,"stringDateField":"1947-02-14","stringDateTimeField":"1939-04-23T11:40:37Z","stringField":"PImljoRWZ","stringTimeField":"11:32:04.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1782,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1782,"uuid":"9de3e458-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["WFgysoti"],"boolField":false,"intField":319,"numField":39.1468121813614,"objField":{"CCdNgALq":1201336674735227546,"VBUJfs":2965114174451712018,"VdcLyVjCC":-5362236123350812261,"euRbwyX":7669941706221134330},"stringDateField":"2012-08-31","stringDateTimeField":"1946-06-04T07:42:50Z","stringField":"yNDoVPbrmA","stringTimeField":"19:49:43.39Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":319,"numField":39.1468121813614,"stringDateField":"2012-08-31","stringDateTimeField":"1946-06-04T07:42:50Z","stringField":"yNDoVPbrmA","stringTimeField":"19:49:43.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1783,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1783,"uuid":"9de3e458-5655-11ee-a001-675ed0f8e89b"},"arrayField":["jNoJjNcc","UAdWLMsTR","rJwdfaAk","zpGukj","pxamUM","dSBPkd","LIwNBtmMi","wvAxHDHTQ","SustWO"],"boolField":true,"intField":555,"numField":-143.38259701028954,"objField":{"IUGLAA":6851460243989036831,"RIqoyqqjVO":1774686030243293775,"XJZhWlrtmf":8444646842152208274,"XcGwpBx":-7832064995420700385,"ZhGOoctzo":3630656035188991908,"bxtwiSs":-219836201033590971,"eaCi":5558963418238371907,"rJbzS":3079806369638312546},"stringDateField":"1960-06-04","stringDateTimeField":"1996-08-14T17:01:47Z","stringField":"ypxTTl","stringTimeField":"04:02:36.25Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":555,"numField":-143.38259701028954,"stringDateField":"1960-06-04","stringDateTimeField":"1996-08-14T17:01:47Z","stringField":"ypxTTl","stringTimeField":"04:02:36.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1784,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1784,"uuid":"9de3e458-5655-11ee-a401-675ed0f8e89b"},"arrayField":["zaCwXFoet","YBOjosv","uggSVGp","DhNLVqoAs","XcMh","xhzNprvsX","PlsKdhls","MjFYiqnX","JhAllupe"],"boolField":false,"intField":-452,"numField":-209.45152278228673,"objField":{"SNPYvXYs":4498315742968756351,"VOSBZEfL":-2912976864782373164,"YaDQwSNdqh":6428126343318010544,"aCrsmfZKr":-4950833016093570811,"gPaIHF":4325672891835576431,"hDwCobeb":-3795455317477917191,"qXTK":3127519935580479498,"wApV":2155079960007822566},"stringDateField":"1904-11-05","stringDateTimeField":"1924-03-01T11:16:14Z","stringField":"yjDmLvXM","stringTimeField":"10:50:45.44Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":-452,"numField":-209.45152278228673,"stringDateField":"1904-11-05","stringDateTimeField":"1924-03-01T11:16:14Z","stringField":"yjDmLvXM","stringTimeField":"10:50:45.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1785,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1785,"uuid":"9de3e458-5655-11ee-a801-675ed0f8e89b"},"arrayField":["SlWCQUurED","PKnxaExTET","zwfJN","EtUTL","hhFBfqMo","LdQWCq","xyCMaxXrI","mxbgYVMY","SHYoBlCZe"],"boolField":false,"intField":-986,"numField":-394.7613898307972,"objField":{"AJABcROmFI":-7491782681982325392,"edkLhGM":5250150030706678072},"stringDateField":"1930-11-15","stringDateTimeField":"1906-08-20T02:33:05Z","stringField":"txBNFE","stringTimeField":"00:15:41.22Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":-986,"numField":-394.7613898307972,"stringDateField":"1930-11-15","stringDateTimeField":"1906-08-20T02:33:05Z","stringField":"txBNFE","stringTimeField":"00:15:41.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1786,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1786,"uuid":"9de3e458-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["fyja","mubfNdBp","qubXQ","UOIUgKyddG","izYO","vYynvs"],"boolField":true,"intField":938,"numField":-945.732713769984,"objField":{"ByIQ":-8583346824516150510,"JJqnalUkjN":-8315860148906273162,"SWSopgVjdn":-1229594824056540119,"xXgii":1028780583724497339},"stringDateField":"1902-07-30","stringDateTimeField":"1925-12-07T12:58:00Z","stringField":"XppojrvDd","stringTimeField":"21:59:30.37Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":938,"numField":-945.732713769984,"stringDateField":"1902-07-30","stringDateTimeField":"1925-12-07T12:58:00Z","stringField":"XppojrvDd","stringTimeField":"21:59:30.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1787,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1787,"uuid":"9de3e458-5655-11ee-b001-675ed0f8e89b"},"arrayField":["YbRwG","ugQyMAQ"],"boolField":false,"intField":-452,"numField":-972.6466351806446,"objField":{"EKHCYHdyTr":-4325349801801186953,"GsVAVmoUQ":843186041017265462,"YQOXZ":3679083716312005439,"dbyfocjAP":-6794441117505337516,"foFMQXzYck":5152929141636060767,"nNEsfY":4846048786969428839,"yRBOwe":-2522530967216822367,"yjcIIIGT":-66435106535740909},"stringDateField":"1908-10-10","stringDateTimeField":"1924-08-03T01:15:53Z","stringField":"TwuIDqdk","stringTimeField":"06:02:51.43Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":-452,"numField":-972.6466351806446,"stringDateField":"1908-10-10","stringDateTimeField":"1924-08-03T01:15:53Z","stringField":"TwuIDqdk","stringTimeField":"06:02:51.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1788,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1788,"uuid":"9de3e458-5655-11ee-b401-675ed0f8e89b"},"arrayField":["oHrkQnZ","hzttFPQq","gsSRd"],"boolField":true,"intField":-550,"numField":145.28226203781136,"objField":{"BYOnd":-6763273143641720084,"IrYylI":383671938522516095,"MAAdcvqWb":8593748881332581161,"OdjWIVn":3025808971176338608,"dBmMNxuJ":4373028980285701850,"zpce":-2221739956850661954},"stringDateField":"1990-07-06","stringDateTimeField":"1967-09-25T02:26:40Z","stringField":"wjxBNDfiAO","stringTimeField":"09:48:14.34Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":-550,"numField":145.28226203781136,"stringDateField":"1990-07-06","stringDateTimeField":"1967-09-25T02:26:40Z","stringField":"wjxBNDfiAO","stringTimeField":"09:48:14.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1789,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1789,"uuid":"9de3e458-5655-11ee-b801-675ed0f8e89b"},"arrayField":["cNLYLK","bdeFjI","yOJK","NwVR","sFDxISew","klwI"],"boolField":true,"intField":61,"numField":-388.5590950816232,"objField":{"EmWqvVXU":-4082947201218283886,"NHkWJuAh":5730855796645645112,"OLWzLLAUsA":8915527723767681771,"vLRmqx":-6422009672047281964},"stringDateField":"1912-09-07","stringDateTimeField":"1901-02-01T09:16:39Z","stringField":"tUFJXYU","stringTimeField":"03:59:48.20Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":61,"numField":-388.5590950816232,"stringDateField":"1912-09-07","stringDateTimeField":"1901-02-01T09:16:39Z","stringField":"tUFJXYU","stringTimeField":"03:59:48.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1790,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1790,"uuid":"9de3e458-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["CEXIuxrMu","fBvffWhHnz","PkRmZVW","tIKh","CCVbJc","sxtvp","aZrXjl","dpdBMhHdLH","Tszg"],"boolField":true,"intField":-911,"numField":-824.7198498432787,"objField":{"zimpVAXw":4555345093999758189},"stringDateField":"1996-07-01","stringDateTimeField":"1910-03-27T02:26:12Z","stringField":"IeLXFs","stringTimeField":"22:23:20.26Z"},"flow_published_at":"2023-09-18T19:00:21.6231Z","intField":-911,"numField":-824.7198498432787,"stringDateField":"1996-07-01","stringDateTimeField":"1910-03-27T02:26:12Z","stringField":"IeLXFs","stringTimeField":"22:23:20.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1791,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1791,"uuid":"9de3e459-5655-11ee-8001-675ed0f8e89b"},"arrayField":["VzAxE","Yfliyxv","vDbCCkgz","DMtkBxxON","WvPfwWhouw","GKvch"],"boolField":true,"intField":894,"numField":-195.1601069232982,"objField":{"ThZONGS":-5798134719700782085,"UoZKkjf":-9158109404509525968},"stringDateField":"1926-04-05","stringDateTimeField":"1957-03-28T15:43:39Z","stringField":"UObsmTBC","stringTimeField":"19:39:46.29Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":894,"numField":-195.1601069232982,"stringDateField":"1926-04-05","stringDateTimeField":"1957-03-28T15:43:39Z","stringField":"UObsmTBC","stringTimeField":"19:39:46.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1792,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1792,"uuid":"9de3e459-5655-11ee-8401-675ed0f8e89b"},"arrayField":["tGETQhoZi","kpivyNuJ","PUsUWmt","WVGZv","sMHM","qUEiOx"],"boolField":false,"intField":-864,"numField":-481.1554783658798,"objField":{"HJSWIAs":7415256932821041371,"Odsok":5235855780673182773,"wUcEJLTpm":-1750729673442402411,"wvGVC":-5377287943158723502},"stringDateField":"1930-05-17","stringDateTimeField":"1905-06-17T07:56:59Z","stringField":"zVSq","stringTimeField":"04:07:55.34Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":-864,"numField":-481.1554783658798,"stringDateField":"1930-05-17","stringDateTimeField":"1905-06-17T07:56:59Z","stringField":"zVSq","stringTimeField":"04:07:55.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1793,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1793,"uuid":"9de3e459-5655-11ee-8801-675ed0f8e89b"},"arrayField":["wrimBSqxEs","IKRVukUEyi","uATx","NkJeAhIsgM"],"boolField":false,"intField":-314,"numField":-390.75838700438806,"objField":{"AhzlbaBq":-1284164815798865171,"Bhnrg":-4709290836219193024,"QNNr":4171728143634881913,"RILtTeBbTL":717781585796272972,"ZTyqkjvXrs":1527369684749269984,"bVOVKfA":4237351747924924880,"bbQlA":-6928208079431093431,"lApc":6187269986186816096,"uibY":-4753224494748778415},"stringDateField":"1968-01-10","stringDateTimeField":"2021-06-17T19:35:15Z","stringField":"ZuLlQwA","stringTimeField":"15:25:01.25Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":-314,"numField":-390.75838700438806,"stringDateField":"1968-01-10","stringDateTimeField":"2021-06-17T19:35:15Z","stringField":"ZuLlQwA","stringTimeField":"15:25:01.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1794,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1794,"uuid":"9de3e459-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["whUbXA","pixEYB","bIpJLjEbv","SGwlAwwiq","MFsGG","uAztUrMvYX"],"boolField":false,"intField":507,"numField":673.8442737118264,"objField":{"EPMuEevIYg":4423299588172469010,"LPcMnRsS":-5459322313089881925,"XBgSgGLcRg":-3776706827139312127,"ejQsZU":3283681289834329506,"gJzQSrn":5055919451468948121,"saMb":-4792468650670178104},"stringDateField":"1907-03-29","stringDateTimeField":"1970-08-29T04:44:09Z","stringField":"guaMDmB","stringTimeField":"10:51:53.14Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":507,"numField":673.8442737118264,"stringDateField":"1907-03-29","stringDateTimeField":"1970-08-29T04:44:09Z","stringField":"guaMDmB","stringTimeField":"10:51:53.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1795,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1795,"uuid":"9de3e459-5655-11ee-9001-675ed0f8e89b"},"arrayField":["vJwnla"],"boolField":false,"intField":-780,"numField":708.4407738019138,"objField":{"IpuUHLE":2094809975839376575,"LFNmHQWrR":-7979989555931421573,"RooJkNInk":1128449473114616531,"TXZgmgm":-1604799487714965190,"dTLtZr":5162766677932548896,"iGKZb":-8659325730364179678,"nFXTvHv":-2209284532571353549,"rYzsC":2446936733009773825},"stringDateField":"1938-06-14","stringDateTimeField":"1923-01-15T13:23:32Z","stringField":"vgWCU","stringTimeField":"00:17:31.32Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":-780,"numField":708.4407738019138,"stringDateField":"1938-06-14","stringDateTimeField":"1923-01-15T13:23:32Z","stringField":"vgWCU","stringTimeField":"00:17:31.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1796,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1796,"uuid":"9de3e459-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ZQJwxUcZM","whfWL","RkfIV","dKxWoZIbi","hVXb","dfwgsKvlAC","TEGkCrZ"],"boolField":false,"intField":-862,"numField":-590.9083670321976,"objField":{"DPVT":9113278990360909765,"FCuLb":-4185727460013308129,"FoHRlb":-8888448021384085224,"VRgLfIZOtO":-2478078901178692956,"WZZtwtY":7227669566989445006,"lQsC":-7889668138951822258},"stringDateField":"1999-08-03","stringDateTimeField":"1917-10-23T00:20:12Z","stringField":"TlXBJt","stringTimeField":"13:34:15.25Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":-862,"numField":-590.9083670321976,"stringDateField":"1999-08-03","stringDateTimeField":"1917-10-23T00:20:12Z","stringField":"TlXBJt","stringTimeField":"13:34:15.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1797,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1797,"uuid":"9de3e459-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gCCRSULILn","PSPuGN","HUtygDquPr","tIgBi","OeAS","mFJLdbxR","TjYuTX"],"boolField":false,"intField":693,"numField":-752.2293252578944,"objField":{"BJhMrFV":-6056961335747652401,"TQGqtA":-2120694976483727071,"YzpdmBex":-583968778849161831,"itUnT":-3938840386742992778,"rYiNuBSdIS":-5950207093570305056,"zIvgdMdpsJ":-9024084880697423450},"stringDateField":"1914-11-15","stringDateTimeField":"1900-08-27T04:32:17Z","stringField":"EovkfEAPQ","stringTimeField":"20:31:13.44Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":693,"numField":-752.2293252578944,"stringDateField":"1914-11-15","stringDateTimeField":"1900-08-27T04:32:17Z","stringField":"EovkfEAPQ","stringTimeField":"20:31:13.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1798,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1798,"uuid":"9de3e459-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["jAeq","aihLd"],"boolField":false,"intField":93,"numField":976.4518755499932,"objField":{"DwJTMbs":-6763523947614928914,"IFBWfI":935148859079656675,"MiMk":1969094809110791785,"eQmMykr":-596052614253756890,"fENbHmN":-8420248277709285544,"vcQvpV":3070128923963609626},"stringDateField":"1931-03-12","stringDateTimeField":"2014-06-12T10:06:29Z","stringField":"dOHYnOBXar","stringTimeField":"00:13:00.41Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":93,"numField":976.4518755499932,"stringDateField":"1931-03-12","stringDateTimeField":"2014-06-12T10:06:29Z","stringField":"dOHYnOBXar","stringTimeField":"00:13:00.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1799,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1799,"uuid":"9de3e459-5655-11ee-a001-675ed0f8e89b"},"arrayField":["iduHFrebW","YYmljrqwa","UiNENvMfza","DpczpJwdi"],"boolField":true,"intField":109,"numField":-475.0688407375304,"objField":{"AItqrixZLB":4069758054081610890,"QBMpPXl":-5885225060727111966,"QRnSonk":-5086217937536359611,"XhFdQ":-2758616559699222115,"klSOoHDe":-5385812463447523347,"mNkuMEzI":-3408104317858511325,"nvwil":-3771498607488428696,"pALjDn":4335903083498317654,"qcXmn":401650342103345937,"svYnarrH":240674115318590257},"stringDateField":"1920-04-03","stringDateTimeField":"1919-01-11T12:05:46Z","stringField":"KUTrvgnMI","stringTimeField":"08:56:09.15Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":109,"numField":-475.0688407375304,"stringDateField":"1920-04-03","stringDateTimeField":"1919-01-11T12:05:46Z","stringField":"KUTrvgnMI","stringTimeField":"08:56:09.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1800,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1800,"uuid":"9de3e459-5655-11ee-a401-675ed0f8e89b"},"arrayField":["iZRsSUna","YdRgVH","kcRAXpuFbh","vQbxzbpZXz","eVJIcHcr","AaMMIcY","wLKcbwsA","uOKRWAf","mHJQ","zPzLYghfuU"],"boolField":false,"intField":-855,"numField":100.34188598127324,"objField":{"AmRqzU":-1847991043745225777,"DKZIyxCnPm":1460989452576248105,"EnasshhhJQ":8514467630411327676,"ObJFRNe":864898473228952045,"WJvWmuq":54063718294510798,"Yhmya":-5357483895512482104,"uxXjxuHz":4070189338876992516,"zewnIB":7591031352361938560},"stringDateField":"1900-11-16","stringDateTimeField":"1909-08-09T15:43:50Z","stringField":"xBZFrRfJq","stringTimeField":"12:57:40.14Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":-855,"numField":100.34188598127324,"stringDateField":"1900-11-16","stringDateTimeField":"1909-08-09T15:43:50Z","stringField":"xBZFrRfJq","stringTimeField":"12:57:40.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1801,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1801,"uuid":"9de3e459-5655-11ee-a801-675ed0f8e89b"},"arrayField":["hQnxk","JXEWsddO","LmbKL","nxUVrXxFp","hHtOPI","qMTQNMfa","FKFad"],"boolField":true,"intField":504,"numField":-520.4298032948885,"objField":{"AYJie":6104181801863606257,"UeRRm":-195127798090108225,"YwnDc":-9211013976425759215,"hzEMGiOfNl":-8888102283128932877,"qKsjr":6182237850004976727,"xNhrqAGrR":-5848954412981539514,"yxEieh":-2980705452682422452},"stringDateField":"1960-01-31","stringDateTimeField":"1977-02-09T17:51:32Z","stringField":"qITDOCAvi","stringTimeField":"06:12:20.48Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":504,"numField":-520.4298032948885,"stringDateField":"1960-01-31","stringDateTimeField":"1977-02-09T17:51:32Z","stringField":"qITDOCAvi","stringTimeField":"06:12:20.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1802,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1802,"uuid":"9de3e459-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["HePfp","EYVVRhBHg","CLwoS","ahYh","KStLYifPX","WZYYz","YMyV"],"boolField":false,"intField":494,"numField":-100.35957282170416,"objField":{"DFIey":-3389336542395981554,"UQRNRb":-3195516240204442514,"WWkRiEHUA":3399534603149880022,"cUOmOH":8721694522003011444,"dNzwdsRJn":1246298201029994115,"mpDcmsdV":-98791854343429294},"stringDateField":"1952-05-23","stringDateTimeField":"1901-05-11T22:30:58Z","stringField":"PCKcR","stringTimeField":"19:07:29.48Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":494,"numField":-100.35957282170416,"stringDateField":"1952-05-23","stringDateTimeField":"1901-05-11T22:30:58Z","stringField":"PCKcR","stringTimeField":"19:07:29.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1803,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1803,"uuid":"9de3e459-5655-11ee-b001-675ed0f8e89b"},"arrayField":["KhAQeDypKY","hStMQEdD"],"boolField":true,"intField":770,"numField":799.699463492966,"objField":{"UNZRdhsw":-4590774919543808235,"UtdVY":-8292289876025350966,"cUlLbLD":-3660089345017695944,"ciArUX":2632093125492077421,"cjmnoMc":-2346721567139330257,"uCfiD":-2454643033132436139,"zxAutG":-1339635866254346418},"stringDateField":"1991-03-09","stringDateTimeField":"1953-11-10T01:54:58Z","stringField":"dzAAs","stringTimeField":"20:50:48.14Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":770,"numField":799.699463492966,"stringDateField":"1991-03-09","stringDateTimeField":"1953-11-10T01:54:58Z","stringField":"dzAAs","stringTimeField":"20:50:48.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1804,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1804,"uuid":"9de3e459-5655-11ee-b401-675ed0f8e89b"},"arrayField":["uEVa","owxJ","cCNdr","UqsiJxr","mSjI","hKVrKU","uEFSD","NNrnk"],"boolField":false,"intField":805,"numField":-208.5578402622562,"objField":{"JPjyDTSfv":2387290152304620585,"YCIhNLwbYk":5563271093184944900,"cFEpyzii":1815782219043161017,"mzzGsskhCn":4986097929901484333,"rlTvD":-769602996713240079,"syxNJJ":2049713141262708384,"uUcsVuo":8833955460837558149},"stringDateField":"2017-02-18","stringDateTimeField":"2001-01-18T23:49:01Z","stringField":"QSjDlF","stringTimeField":"09:27:16.50Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":805,"numField":-208.5578402622562,"stringDateField":"2017-02-18","stringDateTimeField":"2001-01-18T23:49:01Z","stringField":"QSjDlF","stringTimeField":"09:27:16.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1805,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1805,"uuid":"9de3e459-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ecJCFu"],"boolField":false,"intField":749,"numField":773.9551414268113,"objField":{"QcKynp":7621243944026686060},"stringDateField":"1931-09-18","stringDateTimeField":"1906-06-30T07:51:45Z","stringField":"cmKRghrhNv","stringTimeField":"04:31:02.26Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":749,"numField":773.9551414268113,"stringDateField":"1931-09-18","stringDateTimeField":"1906-06-30T07:51:45Z","stringField":"cmKRghrhNv","stringTimeField":"04:31:02.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1806,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1806,"uuid":"9de3e459-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["BuqCBsC","fpLyS","MmXwHMkXnb"],"boolField":false,"intField":-526,"numField":-773.3340833477295,"objField":{"jXiQdSbLCs":7022933107074357902,"khzrD":-2417373991035992873},"stringDateField":"1953-11-07","stringDateTimeField":"1901-08-09T00:12:44Z","stringField":"HkJvh","stringTimeField":"06:28:43.46Z"},"flow_published_at":"2023-09-18T19:00:21.6231001Z","intField":-526,"numField":-773.3340833477295,"stringDateField":"1953-11-07","stringDateTimeField":"1901-08-09T00:12:44Z","stringField":"HkJvh","stringTimeField":"06:28:43.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1807,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1807,"uuid":"9de3e45a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["RBJVY","JNIS","dTsksP","JAaantb","bILZy","kJLUXzEuWw","lLgAQuEHS","amJWq","QykKXXOO","tSUtdSX"],"boolField":false,"intField":868,"numField":341.90707830250045,"objField":{"FEfjH":-3244674168424028936,"HGKKKY":-581479872507122304,"HsRqTk":5732033747354853439,"LVHKl":8354404226842809486,"SkjPZ":-4896189515224752554,"hTmJdVxBmB":7594661610325040649},"stringDateField":"1937-05-07","stringDateTimeField":"1995-06-09T06:15:21Z","stringField":"OeqTTfy","stringTimeField":"09:52:22.10Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":868,"numField":341.90707830250045,"stringDateField":"1937-05-07","stringDateTimeField":"1995-06-09T06:15:21Z","stringField":"OeqTTfy","stringTimeField":"09:52:22.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1808,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1808,"uuid":"9de3e45a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["MfgBfQlkv","JwbyeRbzK","qRiIL","HBVo","HJFAkK","FGYfUD","uWKZQrK","AgeBb","NZHg","SZVj"],"boolField":true,"intField":149,"numField":321.95829149810163,"objField":{"OryeWdd":-8575132065742693545,"RXOHoqcHE":8906831646936896881,"uBWjkjgps":1191072443039279728},"stringDateField":"1983-07-07","stringDateTimeField":"1909-01-15T01:17:14Z","stringField":"RITj","stringTimeField":"08:08:27.39Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":149,"numField":321.95829149810163,"stringDateField":"1983-07-07","stringDateTimeField":"1909-01-15T01:17:14Z","stringField":"RITj","stringTimeField":"08:08:27.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1809,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1809,"uuid":"9de3e45a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["QgpFYdEb","BhcfHd","qBmwSeZy","rAEbcyV"],"boolField":false,"intField":-242,"numField":760.3852515949792,"objField":{"JGYdSHzkKQ":-3370010333924598507,"RgnLXrVLH":1100088437947830359,"lSyuR":-375675427950819158},"stringDateField":"1926-12-09","stringDateTimeField":"2003-02-01T12:45:59Z","stringField":"fubeGd","stringTimeField":"10:07:16.16Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":-242,"numField":760.3852515949792,"stringDateField":"1926-12-09","stringDateTimeField":"2003-02-01T12:45:59Z","stringField":"fubeGd","stringTimeField":"10:07:16.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1810,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1810,"uuid":"9de3e45a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["FmIchV","hdEK"],"boolField":true,"intField":-518,"numField":189.6192787262383,"objField":{"ARWGbSJTk":6390611406084291342,"IdEMn":-6202077495794222485,"SlnPg":6605743574711597209,"WiWBM":2471750720706054487,"cYkjR":1248365632183831197,"mGRdAY":7895865465394763810,"tHuxtSXe":-8212840580348219679},"stringDateField":"1912-05-22","stringDateTimeField":"1958-11-13T21:50:09Z","stringField":"DCjNzwQr","stringTimeField":"06:02:11.43Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":-518,"numField":189.6192787262383,"stringDateField":"1912-05-22","stringDateTimeField":"1958-11-13T21:50:09Z","stringField":"DCjNzwQr","stringTimeField":"06:02:11.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1811,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1811,"uuid":"9de3e45a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["elqbd","GoeXqZFMrV","EWJm","odmhpCKly","bbWrU","HcYcrFA","WINJ","Jtkd","UMSfpPf"],"boolField":true,"intField":255,"numField":-710.4094720398039,"objField":{"BEeSDACNjy":6952506931494174600,"Pafd":-4594430018425966431,"RKrxHyBQe":2303499005965188228,"RjgRfOxCK":7919174497056668782,"crBm":-9201464048357253976,"cxmZuT":-847235849883911349,"qCAwnFg":-8343780143532610126,"wuPaeDCGX":-6760115123812640909,"yRiL":4043410522960079552},"stringDateField":"1977-10-20","stringDateTimeField":"1992-10-19T02:42:33Z","stringField":"ZgorFcFhw","stringTimeField":"19:15:30.17Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":255,"numField":-710.4094720398039,"stringDateField":"1977-10-20","stringDateTimeField":"1992-10-19T02:42:33Z","stringField":"ZgorFcFhw","stringTimeField":"19:15:30.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1812,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1812,"uuid":"9de3e45a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["rkLNK","MYaH","bKKO","xxvgYeETs"],"boolField":false,"intField":909,"numField":975.552716757476,"objField":{"DmHBbnXbka":6294057551204010144,"EzZQwZuW":5461591826969419542,"QmoUFzeTa":439381872348832989,"RnLpF":8326926400647297634,"ZgUn":-5336835345174971499,"lUHQt":2840035202319582640,"tIWMct":4892633469722695422,"ulhDfvfB":2715841899494406707,"xlnymzgK":2143465081190721730,"zjtDuAv":6028058029490439144},"stringDateField":"1904-11-27","stringDateTimeField":"2012-12-13T13:18:50Z","stringField":"XLgkN","stringTimeField":"15:59:50.35Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":909,"numField":975.552716757476,"stringDateField":"1904-11-27","stringDateTimeField":"2012-12-13T13:18:50Z","stringField":"XLgkN","stringTimeField":"15:59:50.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1813,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1813,"uuid":"9de3e45a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["IttbEhkU","JatXwNzzV","BVRMc","kBCVyDXfFC","wMjSqhy","drmoIIp","bkVtKn"],"boolField":true,"intField":-892,"numField":-492.8208186394827,"objField":{"GwJGXhjR":-341191865192274365,"TwWZ":7607580627109337689,"UPhYT":5125730298256758974,"ZEBi":-6045042292395886214,"hlanhsR":2832612490172462564,"rlcpDFA":8560380018105978743},"stringDateField":"1923-12-26","stringDateTimeField":"1998-10-02T18:46:11Z","stringField":"bFDXS","stringTimeField":"17:08:13.27Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":-892,"numField":-492.8208186394827,"stringDateField":"1923-12-26","stringDateTimeField":"1998-10-02T18:46:11Z","stringField":"bFDXS","stringTimeField":"17:08:13.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1814,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1814,"uuid":"9de3e45a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["yRUg","xZukcwglQ","YdWfZM","CWgqZbsDFs"],"boolField":false,"intField":-284,"numField":-223.41928820431212,"objField":{"KTfRh":-6338113871928286256,"PMoATUH":-6647605454520630428,"UFcQt":9204938872284415143,"tpeK":-476465216115266732},"stringDateField":"1944-11-20","stringDateTimeField":"2012-06-26T13:18:19Z","stringField":"guBZaf","stringTimeField":"12:14:05.10Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":-284,"numField":-223.41928820431212,"stringDateField":"1944-11-20","stringDateTimeField":"2012-06-26T13:18:19Z","stringField":"guBZaf","stringTimeField":"12:14:05.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1815,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1815,"uuid":"9de3e45a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["IbXjdNx"],"boolField":false,"intField":878,"numField":-101.2657917419254,"objField":{"HkTJQZiD":4019022840086761844,"LfhlTNg":-4050888022575883791,"LjsWEK":8083633072803950627,"NINIQ":-1473151931256355165,"NvYYafW":115986347440801972,"kRpCE":7262058377843613848,"rmpsOaEA":-1863457147910659467,"ynGIYIYHc":4565265247651129654},"stringDateField":"2012-01-02","stringDateTimeField":"1905-01-07T06:14:03Z","stringField":"bxkSQO","stringTimeField":"18:47:25.34Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":878,"numField":-101.2657917419254,"stringDateField":"2012-01-02","stringDateTimeField":"1905-01-07T06:14:03Z","stringField":"bxkSQO","stringTimeField":"18:47:25.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1816,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1816,"uuid":"9de3e45a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["gPUJPXuCf","nznEHjCM","wtMg","jdoQoPZM","XEQWmRf","TjEKxWNxF","qmkYR","oTRTtn","YTbGx","FCgPkhIS"],"boolField":false,"intField":-658,"numField":298.1272097161607,"objField":{"ACnBOwSP":-6782737521606306313,"TCqhWeIfy":3767778445786719215,"ZajWxxtsKv":5299326628993131156,"hqrqbC":-5286282317741845758,"kvVpmni":-7258287613682865436,"nqGh":1631708723886247731,"rdzqXNRNJo":-1854421517827857419,"rkxQQGKfi":4036172276130128612,"tgAKmAChUY":-9094672762038111424,"vuEJAl":-8961247148135779422},"stringDateField":"1991-01-13","stringDateTimeField":"1935-02-17T10:28:29Z","stringField":"nIrkuWky","stringTimeField":"06:04:23.26Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":-658,"numField":298.1272097161607,"stringDateField":"1991-01-13","stringDateTimeField":"1935-02-17T10:28:29Z","stringField":"nIrkuWky","stringTimeField":"06:04:23.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1817,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1817,"uuid":"9de3e45a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["cyUBKIoU","WnNsaMg","ZSsA","ZyvdT","SBvuapLD","OvLD","RcRGtLln"],"boolField":false,"intField":709,"numField":69.28967137489516,"objField":{"PTSCjJU":-1813069289682415408,"kpKmhcpjR":-1195443500598343542,"lolVoaPZ":-4513218378460658686},"stringDateField":"2007-06-11","stringDateTimeField":"1939-02-15T10:16:38Z","stringField":"jVkthPVyj","stringTimeField":"08:00:59.26Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":709,"numField":69.28967137489516,"stringDateField":"2007-06-11","stringDateTimeField":"1939-02-15T10:16:38Z","stringField":"jVkthPVyj","stringTimeField":"08:00:59.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1818,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1818,"uuid":"9de3e45a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["WVBBX","hlxgWwxavQ","gsublo","eudYQatoaF","vnuhjfaACA","DOPktXEJ","DIYfsOtPrn","stTVt"],"boolField":true,"intField":-582,"numField":-274.97432190197236,"objField":{"LmaGAxfAhr":766638698874494596,"NOhMbXBAd":2819069925807031156,"SZDhIch":-6434208690827101349,"XPNUse":-4752997674370298555,"dDmX":-6009327075521880673,"euPstA":5892573227473910709,"fTzIB":-1192398672613041462,"xPsFBlBFSC":6400457376339868454},"stringDateField":"1976-09-21","stringDateTimeField":"2019-11-03T18:03:47Z","stringField":"TGwnuFUpQs","stringTimeField":"02:41:31.44Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":-582,"numField":-274.97432190197236,"stringDateField":"1976-09-21","stringDateTimeField":"2019-11-03T18:03:47Z","stringField":"TGwnuFUpQs","stringTimeField":"02:41:31.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1819,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1819,"uuid":"9de3e45a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["CDVOrjUhAq","oFodag","nhPrPZPOq"],"boolField":true,"intField":243,"numField":-101.51924457990924,"objField":{"CxfUk":1292611525350889037,"EfzCW":7803697521357191638,"HvtoJ":8050762255940652097,"nqEinu":7666108266356882663,"rOsAQpRSJu":5567713622037426361,"vzzM":4912886831698181714,"ybhzFuhCQ":1334334889443854340},"stringDateField":"2015-12-13","stringDateTimeField":"2010-01-26T20:33:27Z","stringField":"hThsLM","stringTimeField":"08:45:13.31Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":243,"numField":-101.51924457990924,"stringDateField":"2015-12-13","stringDateTimeField":"2010-01-26T20:33:27Z","stringField":"hThsLM","stringTimeField":"08:45:13.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1820,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1820,"uuid":"9de3e45a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["dPogvnipd","IxtGcopz","Sxlzl","dlTbivCsUF","zrhkEdISt","VcJA"],"boolField":true,"intField":583,"numField":-87.78174715532361,"objField":{"INTNpxN":6311788602903029386,"KZpLvInbYW":3445810697302280053,"QTAGAIX":-196945546672957209,"UFut":266124446829873196,"onmLSNkkyL":1856743548962323516},"stringDateField":"2010-07-13","stringDateTimeField":"2001-02-15T11:02:43Z","stringField":"vNnIbIciWO","stringTimeField":"05:18:27.41Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":583,"numField":-87.78174715532361,"stringDateField":"2010-07-13","stringDateTimeField":"2001-02-15T11:02:43Z","stringField":"vNnIbIciWO","stringTimeField":"05:18:27.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1821,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1821,"uuid":"9de3e45a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["BuywmgWFk","gOWmt","MjHmMsLWg","Ypdcv","fPgKvhEwPZ","YmFqoCAF","ZNwnmwLlW"],"boolField":false,"intField":-181,"numField":978.7112917788468,"objField":{"MobiFxauY":-7074570343145465133,"ZaqgjOYdaL":-9076133730020693592,"beDV":8765943433853236651,"ffXE":-593027554878009289,"rSpCp":-4018294446235494779,"uNOY":-7861877721456365216,"vcDPu":272393372427416367},"stringDateField":"2009-04-21","stringDateTimeField":"1902-12-25T18:55:41Z","stringField":"YAOTj","stringTimeField":"18:36:20.16Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":-181,"numField":978.7112917788468,"stringDateField":"2009-04-21","stringDateTimeField":"1902-12-25T18:55:41Z","stringField":"YAOTj","stringTimeField":"18:36:20.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1822,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1822,"uuid":"9de3e45a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["LdRgPbFzR","yLVW","LmSmCcRh","GhyZi","MlDgBKieVA","TtYNiub","vyYvGh","wuwzwT"],"boolField":false,"intField":30,"numField":-582.0830259353497,"objField":{"ABGj":-5413554976228006974,"FcGWwVyl":-1467595747360731449,"GGIrg":-6903607726027499912,"OcbZsY":-3153706301652857194,"PQHWr":5537876570416016698,"dJNrFIv":-3935540160159190159,"finMW":7777279656798094534},"stringDateField":"1916-08-21","stringDateTimeField":"1984-09-07T14:17:48Z","stringField":"UaXlLEHw","stringTimeField":"17:05:02.14Z"},"flow_published_at":"2023-09-18T19:00:21.6231002Z","intField":30,"numField":-582.0830259353497,"stringDateField":"1916-08-21","stringDateTimeField":"1984-09-07T14:17:48Z","stringField":"UaXlLEHw","stringTimeField":"17:05:02.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1823,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1823,"uuid":"9de3e45b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PnYLBFk","Kivlv","KBbdR","UybUkrAN"],"boolField":false,"intField":-977,"numField":704.942953730175,"objField":{"CeaE":1197896691941146518,"FDqbn":4862358330262181013,"HdoLjDo":-8492545444836381892,"HdyiHlNPt":3174826983587811866,"UHCjzlnXjj":2443039207801703653,"YjQmMN":-8989112585095103521,"ccHrm":-1576033608828064334},"stringDateField":"1917-01-03","stringDateTimeField":"1908-04-22T06:39:40Z","stringField":"OAJDjGLFr","stringTimeField":"21:01:38.32Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":-977,"numField":704.942953730175,"stringDateField":"1917-01-03","stringDateTimeField":"1908-04-22T06:39:40Z","stringField":"OAJDjGLFr","stringTimeField":"21:01:38.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1824,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1824,"uuid":"9de3e45b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["DNrtXIPst"],"boolField":false,"intField":871,"numField":409.0554147359613,"objField":{"CVMjatQ":-6655997685436869852,"DCAI":-497961897006058971,"FXkImUYRQk":1931704537637093859,"KnrsXbu":-4025527803548967154,"PLbvd":-1110179932293695185,"dstoUmSPd":2821882016894565066,"eACARwa":3998177212584066874,"jjJtTmWW":2753822714336999565,"vQMsJkNz":9151782860814386009,"xUkkQYNqk":-3579346891789780422},"stringDateField":"1908-02-12","stringDateTimeField":"2000-10-03T09:22:16Z","stringField":"EXUYsBnsI","stringTimeField":"00:50:06.26Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":871,"numField":409.0554147359613,"stringDateField":"1908-02-12","stringDateTimeField":"2000-10-03T09:22:16Z","stringField":"EXUYsBnsI","stringTimeField":"00:50:06.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1825,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1825,"uuid":"9de3e45b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ZzVZYkPJW","mMtJG"],"boolField":true,"intField":455,"numField":489.4562046286992,"objField":{"CCRNKzEfZl":-79753177967539059,"CFpuv":2165175027125631653,"ERrpj":-4569431658880828956,"MkhdlHg":5502489796328382227,"PmLz":-2512042045583647686,"Shqux":-6046918480786098653,"YXkG":7263821373477693486,"abgjHJXV":6659942354808818005,"dHhkch":3610801841551570990,"rzPJ":7466819118367629011},"stringDateField":"1955-11-24","stringDateTimeField":"1902-11-06T04:59:58Z","stringField":"mSoLv","stringTimeField":"05:08:14.32Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":455,"numField":489.4562046286992,"stringDateField":"1955-11-24","stringDateTimeField":"1902-11-06T04:59:58Z","stringField":"mSoLv","stringTimeField":"05:08:14.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1826,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1826,"uuid":"9de3e45b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["ZTjCsNe","GBgP","VlTMtxbk","GhWtbvu"],"boolField":true,"intField":244,"numField":-849.8297434383331,"objField":{"KKrSrbMLL":2096672927690214371,"KUDFb":-5935517525645505795,"yXvLh":-517254777408377269},"stringDateField":"1907-03-31","stringDateTimeField":"1976-05-14T06:59:10Z","stringField":"xbFF","stringTimeField":"06:47:45.37Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":244,"numField":-849.8297434383331,"stringDateField":"1907-03-31","stringDateTimeField":"1976-05-14T06:59:10Z","stringField":"xbFF","stringTimeField":"06:47:45.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1827,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1827,"uuid":"9de3e45b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["gamEwl","ovAd","GuGhlo","eSCWOjm","qfwqZj","oPinJLz"],"boolField":false,"intField":-322,"numField":-0.6913238594726812,"objField":{"CnrgfN":-4277986393072394208,"DTiaLjZ":108137658927674039,"FDtVta":3667565547353593858,"KITSWItYI":-7874213992357684064,"KsXviteO":8431204771809971633,"RNjBqC":4795044130103109854,"hiJhR":-8031539066614097577,"oDOHQGtpm":1388124348377894262,"sCHmzpWLe":-6244962168459036967},"stringDateField":"1975-07-09","stringDateTimeField":"2003-02-26T10:34:24Z","stringField":"odepDNxoAx","stringTimeField":"13:43:59.42Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":-322,"numField":-0.6913238594726812,"stringDateField":"1975-07-09","stringDateTimeField":"2003-02-26T10:34:24Z","stringField":"odepDNxoAx","stringTimeField":"13:43:59.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1828,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1828,"uuid":"9de3e45b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ECNJfdYew"],"boolField":false,"intField":-924,"numField":683.2790519434559,"objField":{"XvysUSqyRe":7220390722730005921,"wZXBxMbRYO":-3349037553794868278},"stringDateField":"1964-07-29","stringDateTimeField":"1962-03-30T14:08:38Z","stringField":"pUnprxE","stringTimeField":"01:43:41.49Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":-924,"numField":683.2790519434559,"stringDateField":"1964-07-29","stringDateTimeField":"1962-03-30T14:08:38Z","stringField":"pUnprxE","stringTimeField":"01:43:41.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1829,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1829,"uuid":"9de3e45b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["MBtyUTw","TjcEqIojQM","gKIasmzTi","kjmdDAFfhF","FKriN","wvIoWSr","myoxpmSHgu","EgjyUSfUMN","bKOP","hFbiiBQ"],"boolField":true,"intField":-782,"numField":-350.4202353359319,"objField":{"FNKOkPeJT":-5149914320459430435,"LmYBqzaqxv":4236283451877394596,"MpNOAhsF":3832767210381346883,"adpRI":7925693558071141936,"juWihwr":-7453324750105216348},"stringDateField":"1956-06-13","stringDateTimeField":"1930-07-02T15:09:10Z","stringField":"RCfYCBr","stringTimeField":"23:08:14.12Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":-782,"numField":-350.4202353359319,"stringDateField":"1956-06-13","stringDateTimeField":"1930-07-02T15:09:10Z","stringField":"RCfYCBr","stringTimeField":"23:08:14.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1830,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1830,"uuid":"9de3e45b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["yNxOdjlmb","IumB","ftmdPRZNGA","FlUnD","oquPdQVJ","FJtViGaWVZ"],"boolField":false,"intField":-92,"numField":-101.18499557734408,"objField":{"FzXZSeRkT":-3847554730568394139,"iEVYLfn":-8132929220744003737},"stringDateField":"1937-06-29","stringDateTimeField":"2012-10-24T13:43:24Z","stringField":"UMbSqKrdM","stringTimeField":"22:49:28.28Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":-92,"numField":-101.18499557734408,"stringDateField":"1937-06-29","stringDateTimeField":"2012-10-24T13:43:24Z","stringField":"UMbSqKrdM","stringTimeField":"22:49:28.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1831,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1831,"uuid":"9de3e45b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["cAqGVftNV","LGEqwGr","CWlZDj","JKRmKCf","tTadQ","CBIFDmIFjB","YXYVzRfw","hZFfw","CKvuOu","ZfEplQMLlv"],"boolField":true,"intField":696,"numField":252.69485355640288,"objField":{"ADspEcfpWx":1223136589966464640,"Badn":-5436202364954135405,"SWIsrW":-7272610669123782251,"bogTjePtO":-2761925483747870274,"gwgwNlP":-1376965826405664257,"jRiILV":2554848610560165937},"stringDateField":"1996-06-09","stringDateTimeField":"1985-04-21T07:53:49Z","stringField":"obmKRrnkrK","stringTimeField":"07:01:44.34Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":696,"numField":252.69485355640288,"stringDateField":"1996-06-09","stringDateTimeField":"1985-04-21T07:53:49Z","stringField":"obmKRrnkrK","stringTimeField":"07:01:44.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1832,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1832,"uuid":"9de3e45b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["dWwewdSQim","ZuUT","fyeZPxog"],"boolField":false,"intField":20,"numField":-909.3281964960004,"objField":{"BUCnIchwfg":-4291968524322949279,"CsgsCazngf":-6419122635160092931,"FEpFOEzgG":4814125350858295724,"QWtN":5524157828766290973,"SaqLzXMK":-4981276972945049610,"ZibUBL":-5882421844220922086,"ZuHQGxD":4982689317906956208,"elkDRfO":4355758771533928211,"qWIRncPpg":-699452041686043076},"stringDateField":"1926-11-17","stringDateTimeField":"1918-09-09T04:18:48Z","stringField":"rdFCsIZIIR","stringTimeField":"16:16:52.27Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":20,"numField":-909.3281964960004,"stringDateField":"1926-11-17","stringDateTimeField":"1918-09-09T04:18:48Z","stringField":"rdFCsIZIIR","stringTimeField":"16:16:52.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1833,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1833,"uuid":"9de3e45b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["qAOlTdHn","coQzZ","btqXXWBlCO","KQTzN","lAmFe","cpokBoYol","BEHDcHQJh","TXDdDnRnIK"],"boolField":true,"intField":507,"numField":700.3546586575949,"objField":{"iWalxDWG":8498193903545963676},"stringDateField":"1941-02-07","stringDateTimeField":"1924-12-10T09:37:47Z","stringField":"wEdPzKck","stringTimeField":"01:59:40.35Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":507,"numField":700.3546586575949,"stringDateField":"1941-02-07","stringDateTimeField":"1924-12-10T09:37:47Z","stringField":"wEdPzKck","stringTimeField":"01:59:40.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1834,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1834,"uuid":"9de3e45b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["UMKUnTLy","UrNsFlTtJk"],"boolField":true,"intField":-484,"numField":-834.0182267764893,"objField":{"FCEww":-6386008375207252715,"LynVC":-315815886845491377,"ODZnIdLoX":-7906886209506263628,"PaqugPVx":-8695610986570658938,"VZCojf":-268432682252432733,"ZzAGhMcGX":2409612620488320826,"hiIaQsuAI":-2394742581196503062,"kdqt":3375046805124723378,"vvWhjp":1070089034421536888},"stringDateField":"1925-09-23","stringDateTimeField":"1918-08-09T20:43:45Z","stringField":"DuzINm","stringTimeField":"20:06:06.23Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":-484,"numField":-834.0182267764893,"stringDateField":"1925-09-23","stringDateTimeField":"1918-08-09T20:43:45Z","stringField":"DuzINm","stringTimeField":"20:06:06.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1835,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1835,"uuid":"9de3e45b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["nimyf","nDUfiVPtb","HnGTW","ianidUS","rmxq","VpsScpVk"],"boolField":false,"intField":12,"numField":967.846512032314,"objField":{"AGXLq":7547751569840873202,"HDNexG":4769766407550128435,"HlbJX":-4825974799746204725,"MCsj":60440701277406204,"NwuB":8833774629078896992,"kBqlBbcn":3433742958790670326,"nQodm":-8018948946161360019,"rHGkNnkN":-6369439880525262395},"stringDateField":"2019-12-08","stringDateTimeField":"1943-08-02T03:26:09Z","stringField":"YOWH","stringTimeField":"20:01:49.10Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":12,"numField":967.846512032314,"stringDateField":"2019-12-08","stringDateTimeField":"1943-08-02T03:26:09Z","stringField":"YOWH","stringTimeField":"20:01:49.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1836,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1836,"uuid":"9de3e45b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["OEtsyF","ZqFVkChH","IouPDOF","KMkMgzwQQx"],"boolField":false,"intField":617,"numField":-604.7297015398923,"objField":{"AcVrh":3310344942105927635,"AqaY":-6212385008805697456,"LpEk":-3776073572913342418,"VWRluhrr":3525003572186861517,"bCTMmuGWw":8843587538177804291,"bmAn":5931000535650982852,"dPZkss":-3673427115692732676,"jRXhBwO":-5043228195466987508},"stringDateField":"2011-03-17","stringDateTimeField":"1988-09-27T01:38:11Z","stringField":"BONlAu","stringTimeField":"16:25:16.13Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":617,"numField":-604.7297015398923,"stringDateField":"2011-03-17","stringDateTimeField":"1988-09-27T01:38:11Z","stringField":"BONlAu","stringTimeField":"16:25:16.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1837,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1837,"uuid":"9de3e45b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["IfIZLSegxm","aMYvrMoGx","pZlmjYpWr","QVAg","TIGvXKZl","TcrwoDvna","batzPZFD"],"boolField":true,"intField":976,"numField":-448.4583239491474,"objField":{"EnsqEWk":-6693945170746499460,"HYBUdxNJ":367258263891723693,"IUeJ":7964300908006864244,"KhIAQl":6762688524459495282,"LUGezgi":-6058175879693304177,"NLOcxw":4730121333994204823,"NPbqyKRW":6436079144820221642,"dAqIV":6298803975722931015,"yMpB":-5845321163066899987,"zMhjwCtosw":2507135056594961284},"stringDateField":"1933-01-14","stringDateTimeField":"1984-02-29T19:43:56Z","stringField":"wJGhHgC","stringTimeField":"04:30:15.25Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":976,"numField":-448.4583239491474,"stringDateField":"1933-01-14","stringDateTimeField":"1984-02-29T19:43:56Z","stringField":"wJGhHgC","stringTimeField":"04:30:15.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1838,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1838,"uuid":"9de3e45b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["WhaITkUdnn"],"boolField":true,"intField":-491,"numField":-183.85492817299576,"objField":{"PjMBuppq":-6509780962634614684,"RuzxdQJFC":1673793980176752609,"jpUTg":-7118677016340368699,"yzMirZjsnn":9202712783295616271},"stringDateField":"1959-01-18","stringDateTimeField":"2015-01-18T12:04:45Z","stringField":"sgIvOUw","stringTimeField":"02:21:17.12Z"},"flow_published_at":"2023-09-18T19:00:21.6231003Z","intField":-491,"numField":-183.85492817299576,"stringDateField":"1959-01-18","stringDateTimeField":"2015-01-18T12:04:45Z","stringField":"sgIvOUw","stringTimeField":"02:21:17.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1839,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1839,"uuid":"9de3e45c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["JfqvcKrqb","IfoRPGrj","lypzPyF","VvBOdi","zedR"],"boolField":true,"intField":181,"numField":-874.6365901567563,"objField":{"BQVAPSq":2153021821964596897,"ToHlUAuf":-1786425235006056234,"fdUxILbo":-5196142067711074150,"kQco":-6512153942087996037,"pwyGoU":-7355658179860100016},"stringDateField":"1951-05-25","stringDateTimeField":"2000-03-16T19:15:06Z","stringField":"EoUfxjN","stringTimeField":"04:37:34.40Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":181,"numField":-874.6365901567563,"stringDateField":"1951-05-25","stringDateTimeField":"2000-03-16T19:15:06Z","stringField":"EoUfxjN","stringTimeField":"04:37:34.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1840,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1840,"uuid":"9de3e45c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rGBpnU","yBrfT","pSwOxf","qNaC","nKowHeBX"],"boolField":true,"intField":93,"numField":-556.9906123450836,"objField":{"ReKufUGx":-8898639385123026683},"stringDateField":"1937-06-05","stringDateTimeField":"1997-08-04T07:55:24Z","stringField":"iVNexwX","stringTimeField":"09:44:29.25Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":93,"numField":-556.9906123450836,"stringDateField":"1937-06-05","stringDateTimeField":"1997-08-04T07:55:24Z","stringField":"iVNexwX","stringTimeField":"09:44:29.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1841,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1841,"uuid":"9de3e45c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["KlPDIkKnSe","egLif"],"boolField":true,"intField":645,"numField":-985.1594956491712,"objField":{"FEEZlEJDx":-7671623612454118240,"PKtQB":8318057449603473918,"RVbMvBwp":63603644641953133,"ZUZgwlE":618234780066218861,"ZwMQqJjMfw":-3936601707955251039},"stringDateField":"1960-06-06","stringDateTimeField":"1938-11-10T05:35:00Z","stringField":"CALQshMDYz","stringTimeField":"19:26:08.45Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":645,"numField":-985.1594956491712,"stringDateField":"1960-06-06","stringDateTimeField":"1938-11-10T05:35:00Z","stringField":"CALQshMDYz","stringTimeField":"19:26:08.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1842,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1842,"uuid":"9de3e45c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["fhHJxlOAZ","FnCBIxQ","ggQySpxVhD"],"boolField":false,"intField":-987,"numField":-385.5383369517528,"objField":{"hgIyTMl":-1370353523267524771,"zLAeakX":-4271421915561760089},"stringDateField":"2004-12-09","stringDateTimeField":"1983-10-29T00:07:28Z","stringField":"fsfmvFCcE","stringTimeField":"16:09:53.35Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":-987,"numField":-385.5383369517528,"stringDateField":"2004-12-09","stringDateTimeField":"1983-10-29T00:07:28Z","stringField":"fsfmvFCcE","stringTimeField":"16:09:53.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1843,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1843,"uuid":"9de3e45c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ymtUdXY","ejdSVhMip","zZpzsWV","TbNVYq","txUaL","qVLJvwGdaE","AjhoKAjEw","FurvMFBAdc","UFPCk"],"boolField":true,"intField":-612,"numField":89.0445167405407,"objField":{"HXhD":-5551021858841611165,"JBBPRKVI":8669739768697343299,"bZKPuVg":2579345242104229520,"iJqNYQ":4607653519407961320,"xvWc":360083667479346116},"stringDateField":"1922-07-09","stringDateTimeField":"2008-07-10T10:19:44Z","stringField":"OdMP","stringTimeField":"12:12:43.18Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":-612,"numField":89.0445167405407,"stringDateField":"1922-07-09","stringDateTimeField":"2008-07-10T10:19:44Z","stringField":"OdMP","stringTimeField":"12:12:43.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1844,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1844,"uuid":"9de3e45c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["YdFy","riVHMQ","WkZUDcMq","HGhayJ","CCGAGqEG","PLmjqxAVe","qzkg","GQQIbfu"],"boolField":true,"intField":-12,"numField":998.105832120102,"objField":{"sXELCG":2516561781331168594},"stringDateField":"1984-04-01","stringDateTimeField":"1990-10-14T10:20:12Z","stringField":"ETboBOXT","stringTimeField":"03:34:11.48Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":-12,"numField":998.105832120102,"stringDateField":"1984-04-01","stringDateTimeField":"1990-10-14T10:20:12Z","stringField":"ETboBOXT","stringTimeField":"03:34:11.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1845,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1845,"uuid":"9de3e45c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["WmLEbg","ApziFxU"],"boolField":false,"intField":-394,"numField":398.81509796559,"objField":{"MWmHbUZuq":5265236608543956657,"RZNsCkxJ":-8618373257473903963,"StJGrrV":-4031082732318602132,"XTKMRStd":4233924193058956014,"ZGGFsH":5418376885009009830,"pBCITHHebF":3856916813690583807,"qgLEYrzYne":8980211301710456965},"stringDateField":"1987-09-06","stringDateTimeField":"1971-12-01T04:05:08Z","stringField":"DWIxwr","stringTimeField":"19:50:55.46Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":-394,"numField":398.81509796559,"stringDateField":"1987-09-06","stringDateTimeField":"1971-12-01T04:05:08Z","stringField":"DWIxwr","stringTimeField":"19:50:55.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1846,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1846,"uuid":"9de3e45c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["BQqxYsGu"],"boolField":false,"intField":-520,"numField":252.04307047235775,"objField":{"GUkMoLCql":-9382096345935520,"HhLOSjYZ":-6800844036201603671,"LMOzOEbPi":-1284782609260781282,"PkxonG":-5004411676482162524,"byVXOToHw":6225235076050296110,"huqZGN":2922706359753146373,"jMdAZsO":-9127227023799296314},"stringDateField":"2007-07-07","stringDateTimeField":"1957-11-07T22:37:29Z","stringField":"LDJnMLUUkB","stringTimeField":"09:37:40.29Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":-520,"numField":252.04307047235775,"stringDateField":"2007-07-07","stringDateTimeField":"1957-11-07T22:37:29Z","stringField":"LDJnMLUUkB","stringTimeField":"09:37:40.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1847,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1847,"uuid":"9de3e45c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["VPLR","zgFaGyqQ"],"boolField":true,"intField":-291,"numField":954.710217620486,"objField":{"BBZCX":-2356568908215258696,"BIRCnDKhs":-1094330732225825495,"penwa":4389136288155254963},"stringDateField":"1950-04-26","stringDateTimeField":"1907-07-17T15:06:09Z","stringField":"czhFMtkGrd","stringTimeField":"16:23:17.46Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":-291,"numField":954.710217620486,"stringDateField":"1950-04-26","stringDateTimeField":"1907-07-17T15:06:09Z","stringField":"czhFMtkGrd","stringTimeField":"16:23:17.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1848,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1848,"uuid":"9de3e45c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["NYjXmjZCQb","ksCqFGVj","kgqiRiEDgX"],"boolField":true,"intField":190,"numField":-208.6534698093111,"objField":{"UrZTDt":-4548344576484979827,"nSzahZL":6419356495404657633},"stringDateField":"1929-02-13","stringDateTimeField":"1929-07-15T07:47:32Z","stringField":"sCAoNIlPgQ","stringTimeField":"08:46:54.44Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":190,"numField":-208.6534698093111,"stringDateField":"1929-02-13","stringDateTimeField":"1929-07-15T07:47:32Z","stringField":"sCAoNIlPgQ","stringTimeField":"08:46:54.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1849,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1849,"uuid":"9de3e45c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nkjghBTtMY","zExKxTdD","zxbpqmia","mCTnzqjIv","ztcuHu","OQZTNC"],"boolField":false,"intField":9,"numField":-651.404655266082,"objField":{"ZqbkWcpA":937391070650373819},"stringDateField":"2015-04-13","stringDateTimeField":"1982-04-10T22:57:04Z","stringField":"zAPNRRhZjB","stringTimeField":"10:12:36.40Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":9,"numField":-651.404655266082,"stringDateField":"2015-04-13","stringDateTimeField":"1982-04-10T22:57:04Z","stringField":"zAPNRRhZjB","stringTimeField":"10:12:36.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1850,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1850,"uuid":"9de3e45c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["BCZDYkDG","lJcXjARNOA","AsaFxPPnnz","DbiW"],"boolField":false,"intField":688,"numField":412.3111740514429,"objField":{"ElZlKbDki":4626403057619636544,"MOUbQCQ":-1978532190095553136,"QlltntBAjD":3375217765546630781,"TwRZmJ":8293396083724973997,"ZApGnFtWrV":1213310150155149021,"lOgVw":-4418386178865746493,"lmNdswGK":2365304198730655394,"rMxugy":8612341098973757661,"uXVPMp":2187934334893164084},"stringDateField":"2002-09-25","stringDateTimeField":"1983-03-13T11:28:04Z","stringField":"YqGOCYL","stringTimeField":"06:51:59.11Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":688,"numField":412.3111740514429,"stringDateField":"2002-09-25","stringDateTimeField":"1983-03-13T11:28:04Z","stringField":"YqGOCYL","stringTimeField":"06:51:59.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1851,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1851,"uuid":"9de3e45c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["JCpxg","UlIGDCQvy","TYHE"],"boolField":true,"intField":358,"numField":93.56624201879173,"objField":{"FwvPOkvZL":-5588052877907074770,"GFVD":7926083056347958536,"GRVimte":-2178415116111513407},"stringDateField":"2000-07-02","stringDateTimeField":"1917-05-23T01:47:39Z","stringField":"GCscEYR","stringTimeField":"20:17:16.14Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":358,"numField":93.56624201879173,"stringDateField":"2000-07-02","stringDateTimeField":"1917-05-23T01:47:39Z","stringField":"GCscEYR","stringTimeField":"20:17:16.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1852,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1852,"uuid":"9de3e45c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["VsFXd","nmNqYv"],"boolField":true,"intField":673,"numField":632.4515314598376,"objField":{"PDjCWv":-3333633821386401639},"stringDateField":"2016-10-30","stringDateTimeField":"1924-02-24T06:32:32Z","stringField":"ZBSfNsw","stringTimeField":"21:15:12.18Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":673,"numField":632.4515314598376,"stringDateField":"2016-10-30","stringDateTimeField":"1924-02-24T06:32:32Z","stringField":"ZBSfNsw","stringTimeField":"21:15:12.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1853,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1853,"uuid":"9de3e45c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["NcxGY","ElhfBm","vluEt","dyYUGpF","NiPl","lMYDFT","MdjxLUWCL"],"boolField":false,"intField":754,"numField":173.2796604988447,"objField":{"BLmiUmyBd":-4712127079159888347,"VlvuKo":55270534324889814,"lMSeLTGmEQ":5779633687703557260,"wpMNvY":7223951779769609794},"stringDateField":"1977-01-13","stringDateTimeField":"1942-01-07T19:30:44Z","stringField":"btidVaEc","stringTimeField":"14:48:27.48Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":754,"numField":173.2796604988447,"stringDateField":"1977-01-13","stringDateTimeField":"1942-01-07T19:30:44Z","stringField":"btidVaEc","stringTimeField":"14:48:27.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1854,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1854,"uuid":"9de3e45c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["nQxujEPc","fAFYjd","XQIZW","LrZD","PvkJS","sfJDLPD","gsQzg","AKtNpeLCJm","lqqiAWepHs"],"boolField":false,"intField":-179,"numField":-842.5488422998417,"objField":{"CkghHVVA":-7291692955562363784,"wWyIauWeGa":-3228997300801579605},"stringDateField":"1911-01-29","stringDateTimeField":"2008-12-20T05:52:24Z","stringField":"wgOMt","stringTimeField":"03:05:01.15Z"},"flow_published_at":"2023-09-18T19:00:21.6231004Z","intField":-179,"numField":-842.5488422998417,"stringDateField":"1911-01-29","stringDateTimeField":"2008-12-20T05:52:24Z","stringField":"wgOMt","stringTimeField":"03:05:01.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1855,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1855,"uuid":"9de3e45d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PTIREJFK","sSEXOzd","DLMtGKQ","DtWwY","xMioBA","LQUXb","yjsMOeaXnP","sMUCYd"],"boolField":false,"intField":-540,"numField":-758.8963265659424,"objField":{"GUzJEYb":-7780048720295669860,"JjglaIRSOz":-7543539023610783225},"stringDateField":"1969-05-20","stringDateTimeField":"1962-04-16T02:07:58Z","stringField":"bmnhTG","stringTimeField":"03:20:35.32Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":-540,"numField":-758.8963265659424,"stringDateField":"1969-05-20","stringDateTimeField":"1962-04-16T02:07:58Z","stringField":"bmnhTG","stringTimeField":"03:20:35.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1856,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1856,"uuid":"9de3e45d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["hxxdpLnwU","HdwnqnaJ","rkzpypv","WOcSvuRFl","myRGo","SpAjMaUDCf","OONcZ","nSLmalJif"],"boolField":true,"intField":780,"numField":236.0307256654084,"objField":{"OTYrTJbzW":-6598538838927910114,"QUoap":77921305058605259,"RxgAtW":7174937117624496627,"dlDUdme":8021176462964676585,"lrLQBhDAsc":-7603815446453562495,"tRXL":2240288845194454195,"uXFsALWfp":-290525032929443496},"stringDateField":"1926-09-29","stringDateTimeField":"1967-04-03T05:40:26Z","stringField":"sOAX","stringTimeField":"07:29:23.43Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":780,"numField":236.0307256654084,"stringDateField":"1926-09-29","stringDateTimeField":"1967-04-03T05:40:26Z","stringField":"sOAX","stringTimeField":"07:29:23.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1857,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1857,"uuid":"9de3e45d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["hFgcTbTmNn","ogsSXlRiRS","bHxeNTDG"],"boolField":false,"intField":-188,"numField":993.0589214333644,"objField":{"CGfpWghZ":8482925780340507924,"TYuW":5617317935026134237,"eRfU":-6829994835188626256,"gIFCwyIzex":1751883932681837289,"gXEwFaT":6873794605482479160,"lWQZqLa":6359758817836652161},"stringDateField":"1904-07-10","stringDateTimeField":"1931-05-25T15:25:51Z","stringField":"BhDAE","stringTimeField":"03:05:43.38Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":-188,"numField":993.0589214333644,"stringDateField":"1904-07-10","stringDateTimeField":"1931-05-25T15:25:51Z","stringField":"BhDAE","stringTimeField":"03:05:43.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1858,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1858,"uuid":"9de3e45d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["mDOnBGT","yvxv","vFTHiPF"],"boolField":false,"intField":609,"numField":442.36237820211153,"objField":{"GQFsJWy":-596780088509247492,"MEUFmHHQS":1903266238731624980,"SbWRxrxgI":3666834128392567690,"fhEPJhSOPk":-1969110413848891010,"lKlAoDIyti":-6866927548829223571,"ukIKs":-2302809354290055045,"uuVJahij":-1372203324144119565,"wqBqPsd":-4209807944774667887,"ylJexpS":7298888349905592098},"stringDateField":"1942-11-25","stringDateTimeField":"1952-10-01T08:40:33Z","stringField":"Vypg","stringTimeField":"17:32:50.46Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":609,"numField":442.36237820211153,"stringDateField":"1942-11-25","stringDateTimeField":"1952-10-01T08:40:33Z","stringField":"Vypg","stringTimeField":"17:32:50.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1859,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1859,"uuid":"9de3e45d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["wvRIlZliAj","pOXGOqj"],"boolField":true,"intField":11,"numField":-950.9981502350798,"objField":{"KtyNXx":2701319703417927619,"OtnPNHlrrh":7626759286142612336,"PuKEvnk":1705035749169260138,"fFZl":50421382731953340},"stringDateField":"1923-08-02","stringDateTimeField":"1943-08-24T06:53:07Z","stringField":"PXGJFK","stringTimeField":"19:28:47.27Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":11,"numField":-950.9981502350798,"stringDateField":"1923-08-02","stringDateTimeField":"1943-08-24T06:53:07Z","stringField":"PXGJFK","stringTimeField":"19:28:47.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1860,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1860,"uuid":"9de3e45d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["dkrhdRJr","MCpVaajpz","ijcrMYy","AfDuYrA"],"boolField":true,"intField":-303,"numField":-700.4462416871934,"objField":{"GmmWJBho":-7104135580282893619,"IaIMLeCit":584728109169924640,"TylDJk":-6311856314559376663,"YYRaUvZa":-775371124360934957,"aPqiWfm":-3425475747169507133,"lvLKBNzSkh":-4012234449507878775,"mgCbm":-9058781227848503334,"qAomkWpIE":-92730607325722809,"uMzPrcMp":-1029616601619753205,"uamqFl":-5376498438685741171},"stringDateField":"1949-07-24","stringDateTimeField":"2001-01-27T17:06:17Z","stringField":"PFTZZ","stringTimeField":"10:42:04.18Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":-303,"numField":-700.4462416871934,"stringDateField":"1949-07-24","stringDateTimeField":"2001-01-27T17:06:17Z","stringField":"PFTZZ","stringTimeField":"10:42:04.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1861,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1861,"uuid":"9de3e45d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["QwlImRQ","UwSFStLJNv"],"boolField":true,"intField":105,"numField":-518.9523130281249,"objField":{"EPHL":5248780669530203602,"GNklqgzLv":50728444504240481,"HJDFPu":-171589521829997746,"ROHhn":7984945220150029316,"XSzkQGwz":7172179992946536434,"aqwySCVo":-5268538515539440362,"gXiVsIfXs":-4576488816684505119,"vMecjFA":-8851938187506946719},"stringDateField":"2022-01-10","stringDateTimeField":"1986-03-01T23:36:46Z","stringField":"IPthFsn","stringTimeField":"02:50:03.24Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":105,"numField":-518.9523130281249,"stringDateField":"2022-01-10","stringDateTimeField":"1986-03-01T23:36:46Z","stringField":"IPthFsn","stringTimeField":"02:50:03.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1862,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1862,"uuid":"9de3e45d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["OYWrrOcx","MyBejKJjV","THmcMgh","MSsOrTZ"],"boolField":false,"intField":-795,"numField":531.6754279826791,"objField":{"MCpyANNm":6139403046099257799,"Oeji":8896848198411631201,"RacrcAg":5671844835510818354,"XdSeqsalLD":8683836703415160446,"hdAoxO":3357416309639174456,"ioMEqHxwr":-6606796361607722181,"nVXsMmK":6154356735383088010,"rcppVzi":-3511295228823365134,"rhuGR":703791012175115214},"stringDateField":"1926-02-24","stringDateTimeField":"1912-05-20T19:45:37Z","stringField":"YTYV","stringTimeField":"22:48:58.49Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":-795,"numField":531.6754279826791,"stringDateField":"1926-02-24","stringDateTimeField":"1912-05-20T19:45:37Z","stringField":"YTYV","stringTimeField":"22:48:58.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1863,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1863,"uuid":"9de3e45d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["DPjsGala","JazgLFM","zDBhcV"],"boolField":false,"intField":262,"numField":398.5558194391588,"objField":{"RwNneyu":2166919849640498265,"SpBRMi":-6735639400240263419,"VIwrRT":857655938989069089,"VhUxNF":-7478231154573250631,"xFtqcuv":3961137265718357526},"stringDateField":"1963-10-30","stringDateTimeField":"1925-07-20T08:08:45Z","stringField":"mVUMWk","stringTimeField":"22:59:52.34Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":262,"numField":398.5558194391588,"stringDateField":"1963-10-30","stringDateTimeField":"1925-07-20T08:08:45Z","stringField":"mVUMWk","stringTimeField":"22:59:52.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1864,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1864,"uuid":"9de3e45d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["FRygDtFit","ARlrtpE","IidRTHWefc","tmlPg","DPOm","befMNzGWXF","PXMTrau","RlBbf","CUMtFbELP","WFSmuevMax"],"boolField":false,"intField":-480,"numField":324.77525789145824,"objField":{"HIJDiFA":-5321405045946330759,"LgvEkj":3604616584797058275,"QcwKP":-5717604864539508317,"RAzfUkWQO":-4319627305890381633,"adCTLFMxT":-5212598883556648268,"ahnoKDtv":-3718726411032206525,"fYJwmLRY":-5839221283579979170,"jLZUVH":8089537025258589278,"yueA":-7078059462612325768},"stringDateField":"1926-12-05","stringDateTimeField":"2003-12-26T08:27:04Z","stringField":"YJVPeQO","stringTimeField":"05:14:08.32Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":-480,"numField":324.77525789145824,"stringDateField":"1926-12-05","stringDateTimeField":"2003-12-26T08:27:04Z","stringField":"YJVPeQO","stringTimeField":"05:14:08.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1865,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1865,"uuid":"9de3e45d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["JSUFSNa"],"boolField":true,"intField":704,"numField":-660.5845386337456,"objField":{"FtCUgYiVgi":-3941330448327370694,"OSFIEtMhya":-4625643459116050802,"ZNMqtrUy":4260361697859924632,"vWsqqqtYhe":-2251612227810154256},"stringDateField":"1947-02-19","stringDateTimeField":"1977-09-02T16:57:29Z","stringField":"jKGMi","stringTimeField":"09:59:06.16Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":704,"numField":-660.5845386337456,"stringDateField":"1947-02-19","stringDateTimeField":"1977-09-02T16:57:29Z","stringField":"jKGMi","stringTimeField":"09:59:06.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1866,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1866,"uuid":"9de3e45d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["faGcEsr","bREFfCXhg","yPRPPv","lUDBxItNj","aNcC","bWpa","kgROCxK","AOBtctWxZG","YvObuZTJVf","FJtaTxSSg"],"boolField":true,"intField":45,"numField":983.8338948930752,"objField":{"HJPoduTVF":8631752824120056282,"SvdtSXrzBO":6576866243878112692,"ujitM":450298747181828864},"stringDateField":"2015-06-07","stringDateTimeField":"1990-05-13T16:20:12Z","stringField":"NoRWx","stringTimeField":"22:02:04.37Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":45,"numField":983.8338948930752,"stringDateField":"2015-06-07","stringDateTimeField":"1990-05-13T16:20:12Z","stringField":"NoRWx","stringTimeField":"22:02:04.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1867,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1867,"uuid":"9de3e45d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["wnQza","LodA","SAJumQlx","PWLaVRT","fuKTHNImP","zOYwifeB"],"boolField":false,"intField":891,"numField":-729.9549362872788,"objField":{"dUroKb":-5899153533078881420,"oqmsASe":4457186446865397461},"stringDateField":"1917-02-06","stringDateTimeField":"1913-08-08T13:20:12Z","stringField":"xeYDNZdZvQ","stringTimeField":"08:39:57.14Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":891,"numField":-729.9549362872788,"stringDateField":"1917-02-06","stringDateTimeField":"1913-08-08T13:20:12Z","stringField":"xeYDNZdZvQ","stringTimeField":"08:39:57.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1868,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1868,"uuid":"9de3e45d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["DCwaDYjJUt","sPDDhNUskZ","vXsq","RggNEBq","bRgadx","yOyjaIyokU"],"boolField":true,"intField":-20,"numField":-836.7990327279269,"objField":{"CJvPvdch":438549652831871560,"NvwDIxa":-1187077708297232691,"PRxrU":680321652193457534,"QlhWV":-5500018936686710606,"ciEdjAsf":-7940432405816671403,"jmGUuF":2757091132557897106,"kLQxQoMEio":983391570800282331,"ljEenTn":60533883795623400,"sMYSDbrgtu":3478511326499654006},"stringDateField":"1957-05-11","stringDateTimeField":"1912-07-19T11:43:36Z","stringField":"mhFM","stringTimeField":"04:32:04.28Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":-20,"numField":-836.7990327279269,"stringDateField":"1957-05-11","stringDateTimeField":"1912-07-19T11:43:36Z","stringField":"mhFM","stringTimeField":"04:32:04.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1869,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1869,"uuid":"9de3e45d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["txLDFQP","rFbzCoHM","HayFJhjtG","OoIHFdgaF","IfVRR","LmqQ","OftoPh","JOrAmmynYV"],"boolField":false,"intField":729,"numField":-750.9395957167033,"objField":{"AXoHZ":-4035677663813786037,"fNpSIzhN":-1852424719336758064,"sgMyET":-3419755863806986926},"stringDateField":"2007-12-13","stringDateTimeField":"2009-08-02T06:40:56Z","stringField":"roUPdn","stringTimeField":"16:40:13.12Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":729,"numField":-750.9395957167033,"stringDateField":"2007-12-13","stringDateTimeField":"2009-08-02T06:40:56Z","stringField":"roUPdn","stringTimeField":"16:40:13.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1870,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1870,"uuid":"9de3e45d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ezXaV","QYWc","yZRYC"],"boolField":true,"intField":209,"numField":11.716534813955848,"objField":{"KeEDuS":-185211781190200567,"RWhGI":2133249368039173150,"VmTb":-101193036528499870,"YooVWpRRP":-8182113355359620910,"iKZq":9060113875931641223,"ldwOpS":8086774213664770878,"mBAVaAMmso":-858295363672407733,"roOAiyXM":-1994492558562779733,"yeZmbx":-8524842085777583994},"stringDateField":"1926-06-13","stringDateTimeField":"2013-08-06T23:16:48Z","stringField":"LTfvtdf","stringTimeField":"00:20:31.25Z"},"flow_published_at":"2023-09-18T19:00:21.6231005Z","intField":209,"numField":11.716534813955848,"stringDateField":"1926-06-13","stringDateTimeField":"2013-08-06T23:16:48Z","stringField":"LTfvtdf","stringTimeField":"00:20:31.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1871,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1871,"uuid":"9de3e45e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["kbbPulSSlp","DRAZpNfyKp","gYBomnFHaW"],"boolField":true,"intField":698,"numField":-68.20243035689388,"objField":{"VPnXElxCXy":-3272563064228991046,"pUtLec":-4709876575687514955},"stringDateField":"2007-08-15","stringDateTimeField":"1975-02-14T03:37:19Z","stringField":"GsKAHjQO","stringTimeField":"23:37:55.30Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":698,"numField":-68.20243035689388,"stringDateField":"2007-08-15","stringDateTimeField":"1975-02-14T03:37:19Z","stringField":"GsKAHjQO","stringTimeField":"23:37:55.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1872,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1872,"uuid":"9de3e45e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["CKhuOmIoCf","oWJlbtDAE","SMCKtzonJ","CIPG","eHTLkUl","rfBjYx","KWeFS"],"boolField":true,"intField":459,"numField":979.2361765725536,"objField":{"CKbFvoiGSS":9013150650466585849,"CyNLsswlW":-5147979137374695999,"JSalIh":3410804939411933597,"LsVFYarE":8532669578105247062,"XYrYRf":-8889758664061199215,"ZAqVV":2299797576483400291,"mekVVBVN":-6396040780063976400,"nnJFDl":5814502564740237744,"sNBsxv":-4559101302210402962},"stringDateField":"2020-02-08","stringDateTimeField":"2013-12-23T18:51:37Z","stringField":"ZhCPQnBR","stringTimeField":"10:03:40.36Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":459,"numField":979.2361765725536,"stringDateField":"2020-02-08","stringDateTimeField":"2013-12-23T18:51:37Z","stringField":"ZhCPQnBR","stringTimeField":"10:03:40.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1873,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1873,"uuid":"9de3e45e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["xvRukGZqZ","kNNXVGvcd","oxHIpVSD","pEKpgczy"],"boolField":true,"intField":229,"numField":137.14496461279845,"objField":{"HmKV":34132532050284444,"PBdheqV":2559352026170884465,"XWSjjljfdc":5405733930144470267,"mFpc":2365750157299754986,"qiAa":2814529486021703583},"stringDateField":"1942-02-03","stringDateTimeField":"2020-02-14T01:59:01Z","stringField":"JEBjzXkcC","stringTimeField":"21:14:47.19Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":229,"numField":137.14496461279845,"stringDateField":"1942-02-03","stringDateTimeField":"2020-02-14T01:59:01Z","stringField":"JEBjzXkcC","stringTimeField":"21:14:47.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1874,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1874,"uuid":"9de3e45e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["dygqoqySaS"],"boolField":true,"intField":784,"numField":-417.1078058057044,"objField":{"FGVCDM":914239478053342533,"KqEKN":4281882015945248215,"LAwVDFqHEs":3698091293482140401,"QEVfgehwH":-3150536209125056475,"WnzGBU":-7034513869940284188,"cppWmIjCI":73906791040252088,"sRcjIb":-3850034067182260680},"stringDateField":"1962-04-06","stringDateTimeField":"2007-06-18T00:13:58Z","stringField":"YMbGivALf","stringTimeField":"01:44:30.21Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":784,"numField":-417.1078058057044,"stringDateField":"1962-04-06","stringDateTimeField":"2007-06-18T00:13:58Z","stringField":"YMbGivALf","stringTimeField":"01:44:30.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1875,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1875,"uuid":"9de3e45e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["QwYN","rOWOiTCtv","VbnsB","UZSOPChW","OnNSv","mJvAemObW","TCMDwShf","uyCGb","SQGttJCe","yZuUU"],"boolField":true,"intField":-838,"numField":-995.2090028106944,"objField":{"BHgKoAfsjq":-3607856359194092259,"FHJPuoH":-2410797534741956591,"MCJvvU":8717960210951221392,"NYtV":-4552675566074759217,"PGhqTKYNTn":-2283115642779980067,"WTfK":-2499834040460493674,"XSrJLMy":3628157576604549125,"eUQMxKoS":-972800805241670,"sKtP":6396424099361670260,"wWdVByPPR":5579875283045445966},"stringDateField":"1980-04-08","stringDateTimeField":"1910-02-27T00:43:06Z","stringField":"Alfa","stringTimeField":"15:03:47.23Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":-838,"numField":-995.2090028106944,"stringDateField":"1980-04-08","stringDateTimeField":"1910-02-27T00:43:06Z","stringField":"Alfa","stringTimeField":"15:03:47.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1876,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1876,"uuid":"9de3e45e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ANrMbgQ","bUykE","kLIQZQ","yjARb","Yuzltm","AaQV"],"boolField":false,"intField":-171,"numField":-420.71392663894426,"objField":{"ACFlHmoJU":-1546242577793072890,"DlLIvk":-1389724120536657902,"GwujNEH":4693715465658319145,"TBmyNJdD":-805433398539140721,"VsAJ":5229429567570208953,"dDkeF":3723432665338735091,"goLOLH":4918845318795743781,"pOQbHqc":6015900536120947448},"stringDateField":"1912-05-23","stringDateTimeField":"1954-07-22T15:37:51Z","stringField":"UxnDgUZMJ","stringTimeField":"23:22:11.23Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":-171,"numField":-420.71392663894426,"stringDateField":"1912-05-23","stringDateTimeField":"1954-07-22T15:37:51Z","stringField":"UxnDgUZMJ","stringTimeField":"23:22:11.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1877,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1877,"uuid":"9de3e45e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["MOLtmsdnXw","VXHgQai","jOGkupC","yrAR","sFvDwnLPA","kcXXXrsCp","gcSbvruq","dLOqah","hLJCLKKnRE","fSJczYp"],"boolField":true,"intField":-302,"numField":-913.486485984777,"objField":{"JiuCITep":-1182636260482522070,"aNUdkzocd":3378608436503414838,"hQrk":-2729250902031485992,"lzEYf":-2224794312001726499,"ycEdNN":-1724704967876159767},"stringDateField":"1916-09-26","stringDateTimeField":"1953-05-07T11:10:05Z","stringField":"TUGspDlJgP","stringTimeField":"23:26:26.23Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":-302,"numField":-913.486485984777,"stringDateField":"1916-09-26","stringDateTimeField":"1953-05-07T11:10:05Z","stringField":"TUGspDlJgP","stringTimeField":"23:26:26.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1878,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1878,"uuid":"9de3e45e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["VogNBL","dWqsgSxTq","YpQxRH","ZaqR","MxQPkH","kvbys","ciQM","wbyUZgci","yOKDNp"],"boolField":true,"intField":693,"numField":-220.15245838457344,"objField":{"gBTjaOieCo":1182973441733701785,"hdPFXy":8735486704892001027},"stringDateField":"2011-10-22","stringDateTimeField":"2001-03-23T11:27:47Z","stringField":"cfSgvKMWc","stringTimeField":"17:04:21.21Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":693,"numField":-220.15245838457344,"stringDateField":"2011-10-22","stringDateTimeField":"2001-03-23T11:27:47Z","stringField":"cfSgvKMWc","stringTimeField":"17:04:21.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1879,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1879,"uuid":"9de3e45e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["SxehFGpCuq","CogS","QLmZZDZggk","iUirv","yejaxiF","BXfyxYaTlC","aiyMAkv","gbRRrZgNX"],"boolField":false,"intField":178,"numField":-658.5341312147744,"objField":{"BFbtmuvlC":8522807646119413263,"MnSQrgDK":-8842141235997881357,"XoDTL":5257704540723525236,"bcePVIUZy":-3898222524917932743,"fqqpSbnQ":-5671459422274507259,"idSvke":-5181611691846110836,"keYHS":4242969206391590535,"utnuyk":-7259037175687098387,"whCTI":7137331465290807468},"stringDateField":"1961-06-10","stringDateTimeField":"1942-05-16T02:02:21Z","stringField":"orVi","stringTimeField":"22:06:03.48Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":178,"numField":-658.5341312147744,"stringDateField":"1961-06-10","stringDateTimeField":"1942-05-16T02:02:21Z","stringField":"orVi","stringTimeField":"22:06:03.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1880,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1880,"uuid":"9de3e45e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["fgKhq","KLVLtUEUk","gyUWGwA","imBiipooX","qJJRhsyL","kCGxtycj","dKqjEvtn","bLeNGNRio","uKHgd"],"boolField":false,"intField":462,"numField":-366.65995762371216,"objField":{"Cipewgigin":1709683995345151234,"GuUJ":6055556758160891088,"VzBAialIgz":-6754312234980683946,"YnjhZ":3237067232294224305,"aEFbLcDq":8197436716954650615,"hUEBkG":1666505951878488215,"hyEBR":2662055923190548121,"rVhZvjADx":-1254464847460931178,"wOjSmFKcht":5494406289835628796},"stringDateField":"1915-06-16","stringDateTimeField":"2021-07-17T05:13:42Z","stringField":"jnhtwuHK","stringTimeField":"04:44:25.22Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":462,"numField":-366.65995762371216,"stringDateField":"1915-06-16","stringDateTimeField":"2021-07-17T05:13:42Z","stringField":"jnhtwuHK","stringTimeField":"04:44:25.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1881,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1881,"uuid":"9de3e45e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["kGenu"],"boolField":true,"intField":-62,"numField":309.84160931939095,"objField":{"MDeaY":-7789355652669687931,"MubRzdqmI":1203268784814178004,"aAHGB":-7143943003252560752,"cSMaZuigg":7255498150682558135,"eRLQfQGADQ":-5115246462619825677,"iKKwyDQorv":1377129313377740945,"wdCXFcq":8914948170052468718,"xmldGeiZtu":-2075885493254317678},"stringDateField":"1962-09-24","stringDateTimeField":"1919-02-13T18:25:32Z","stringField":"CZVFWcaazq","stringTimeField":"16:11:18.31Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":-62,"numField":309.84160931939095,"stringDateField":"1962-09-24","stringDateTimeField":"1919-02-13T18:25:32Z","stringField":"CZVFWcaazq","stringTimeField":"16:11:18.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1882,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1882,"uuid":"9de3e45e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["xnor","mkey","oZCKCCW","QmUiuJ"],"boolField":false,"intField":-838,"numField":-514.0010494082728,"objField":{"AWql":-7182641381564009363,"EuaZJ":7320049231495366656,"IDXIlqIAmp":7040529313402919078,"RaJlw":-8744506427919433146,"UUanco":3474122314776715822,"VgsK":-4112128931587986185,"YeVTT":-2335793743379777837,"mjhphEoQ":5997754922522599209},"stringDateField":"1996-01-17","stringDateTimeField":"1944-06-23T16:36:51Z","stringField":"tFzDnsC","stringTimeField":"17:45:42.15Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":-838,"numField":-514.0010494082728,"stringDateField":"1996-01-17","stringDateTimeField":"1944-06-23T16:36:51Z","stringField":"tFzDnsC","stringTimeField":"17:45:42.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1883,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1883,"uuid":"9de3e45e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["IJQe","ZQaj","qdreXZosVm","KFQbzee"],"boolField":false,"intField":430,"numField":-985.6651870899984,"objField":{"UkBKglZ":-4155222288414906692,"WbzlxdY":-4323334276015189574,"fLUTd":-1483049643609770685,"fqamibIw":-4590607456448750949,"yBIfIBTVOG":98794045355496578},"stringDateField":"1948-09-04","stringDateTimeField":"1952-07-27T22:45:07Z","stringField":"HcbHWleZ","stringTimeField":"12:37:33.38Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":430,"numField":-985.6651870899984,"stringDateField":"1948-09-04","stringDateTimeField":"1952-07-27T22:45:07Z","stringField":"HcbHWleZ","stringTimeField":"12:37:33.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1884,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1884,"uuid":"9de3e45e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["dRrP","miAy","QBKDuvhxKZ","TqAa","lPKsAwtkUV"],"boolField":true,"intField":-632,"numField":120.02705495385844,"objField":{"SEcRwQ":5684174996609707647,"besIjdOPo":-5133610291547570844},"stringDateField":"1990-02-13","stringDateTimeField":"2007-11-02T18:30:44Z","stringField":"JUFOqKs","stringTimeField":"01:53:20.49Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":-632,"numField":120.02705495385844,"stringDateField":"1990-02-13","stringDateTimeField":"2007-11-02T18:30:44Z","stringField":"JUFOqKs","stringTimeField":"01:53:20.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1885,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1885,"uuid":"9de3e45e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["YIZEQvo","zfmaM"],"boolField":false,"intField":570,"numField":-848.3966832290496,"objField":{"KvTSrd":-7446840015707568314,"MombHIyFFf":1318839414547464982,"UjiBNZH":-2627783042191128024,"WeEeOatAu":5428291673787930482,"eCTKaqgX":3519757170228623778,"lgkQWImup":-3027453308166326372,"webyxfK":433334317245948302,"xjbOK":-1691547826654619554},"stringDateField":"1959-01-04","stringDateTimeField":"2014-07-22T17:24:40Z","stringField":"ivNrsmH","stringTimeField":"16:46:47.33Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":570,"numField":-848.3966832290496,"stringDateField":"1959-01-04","stringDateTimeField":"2014-07-22T17:24:40Z","stringField":"ivNrsmH","stringTimeField":"16:46:47.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1886,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1886,"uuid":"9de3e45e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["AGgYMqMz"],"boolField":true,"intField":-781,"numField":-986.3735032872648,"objField":{"FrRTkeDvKh":-3813091213881397533,"GCkH":8906354247628530091,"Kafj":1833430172860213577,"LwiJE":6465011032054340132,"MXeLpsE":-1860713034176183816,"UekG":-1069487189362297293,"VubtbdX":-5078288922226803102,"gQzsCB":169462226316684467,"kVEYjetQw":-804492089347797994},"stringDateField":"1990-01-21","stringDateTimeField":"1945-05-28T03:57:45Z","stringField":"GoCwPIjN","stringTimeField":"08:10:40.11Z"},"flow_published_at":"2023-09-18T19:00:21.6231006Z","intField":-781,"numField":-986.3735032872648,"stringDateField":"1990-01-21","stringDateTimeField":"1945-05-28T03:57:45Z","stringField":"GoCwPIjN","stringTimeField":"08:10:40.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1887,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1887,"uuid":"9de3e45f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ZDxunxQX"],"boolField":false,"intField":-313,"numField":-167.7780256963941,"objField":{"VKTDKYrje":3274981101880608142},"stringDateField":"1925-02-13","stringDateTimeField":"1901-12-21T19:54:05Z","stringField":"zEoIbd","stringTimeField":"01:08:19.17Z"},"flow_published_at":"2023-09-18T19:00:21.6231007Z","intField":-313,"numField":-167.7780256963941,"stringDateField":"1925-02-13","stringDateTimeField":"1901-12-21T19:54:05Z","stringField":"zEoIbd","stringTimeField":"01:08:19.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1888,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1888,"uuid":"9de3e45f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["MAnm","BaKkgq","SIpMq","LFmOgb","ehyhMtA","sAYW","pMyLR","kRUcopS","UTmYhrXWPR"],"boolField":true,"intField":-288,"numField":-179.27152076465737,"objField":{"DqxPwCHp":-7889598913819327361,"HTtRk":8171758287888616289,"MkjGNNaH":-5003899106803872464,"QEbInp":7634988333702951097,"QxScMVLyiO":-4991412303471617073,"XFQYqs":-4813921473527603793},"stringDateField":"1910-03-26","stringDateTimeField":"1990-03-25T01:05:49Z","stringField":"RDYTASSTH","stringTimeField":"23:12:50.47Z"},"flow_published_at":"2023-09-18T19:00:21.6231007Z","intField":-288,"numField":-179.27152076465737,"stringDateField":"1910-03-26","stringDateTimeField":"1990-03-25T01:05:49Z","stringField":"RDYTASSTH","stringTimeField":"23:12:50.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1889,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1889,"uuid":"9de3e45f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["GQWh","BuXeqiI","XlMwyQo","wGVpxE","eOayZFJO","eJJUeF","atHVXnpw","XHfejBs","xnIEPOFNWq","mCEuXCgA"],"boolField":false,"intField":-918,"numField":-590.8593518289854,"objField":{"CTTaJa":3192961879264578302,"HlFA":4187209325580165791,"KesGcI":2986309241498204195,"VvqARs":3360141173928374765,"WFSzTrlCRp":-2435152388406222208,"bDQg":7462476089431347989,"pmId":9061322283527975105},"stringDateField":"2008-03-12","stringDateTimeField":"1996-09-28T19:09:12Z","stringField":"XHeRM","stringTimeField":"02:43:59.24Z"},"flow_published_at":"2023-09-18T19:00:21.6231007Z","intField":-918,"numField":-590.8593518289854,"stringDateField":"2008-03-12","stringDateTimeField":"1996-09-28T19:09:12Z","stringField":"XHeRM","stringTimeField":"02:43:59.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1890,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1890,"uuid":"9de3e45f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["ZEpy","HHayf","ADpSOBXRW","PqYV","IHKky"],"boolField":true,"intField":-561,"numField":388.0740520908064,"objField":{"HlWQHxmvw":-2961137180769218138,"MuHbK":8945463165523788686,"OOXXX":-3473225806139509684},"stringDateField":"1995-10-29","stringDateTimeField":"2018-09-16T12:56:01Z","stringField":"anFTEa","stringTimeField":"16:22:12.17Z"},"flow_published_at":"2023-09-18T19:00:21.6231007Z","intField":-561,"numField":388.0740520908064,"stringDateField":"1995-10-29","stringDateTimeField":"2018-09-16T12:56:01Z","stringField":"anFTEa","stringTimeField":"16:22:12.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1891,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1891,"uuid":"9e0a8982-5655-11ee-8401-675ed0f8e89b"},"arrayField":["qwhtY","LZhYRB"],"boolField":false,"intField":-959,"numField":551.2509414662445,"objField":{"BGDVTOB":1620410382062433172,"FvRQ":3114285584662296650,"KWIEdOb":-1234713839942617723,"MtvjrRidk":-4342656238700010707,"dmEi":-2835267440581754155,"irjtH":-5610720844746778842,"sWIhizeK":7529533401536802525,"wkNcxhIeJ":-7340376583247894815,"xDNNy":-7862710206353933085,"ybZLMCX":1873081608380445441},"stringDateField":"1963-10-23","stringDateTimeField":"2021-11-05T12:05:15Z","stringField":"SJGWTV","stringTimeField":"07:23:24.45Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":-959,"numField":551.2509414662445,"stringDateField":"1963-10-23","stringDateTimeField":"2021-11-05T12:05:15Z","stringField":"SJGWTV","stringTimeField":"07:23:24.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1892,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1892,"uuid":"9e0a8982-5655-11ee-8801-675ed0f8e89b"},"arrayField":["eRGsSiSe","rUNSYbYj","mbOQvUBs"],"boolField":true,"intField":669,"numField":834.7281649759968,"objField":{"HHzwZBASKh":341659590440571227,"IGzvatmkj":-7400649030978668367,"JbTbS":2676758963010176718,"QtUK":-8481108993389270031,"UhwmKQ":-5240094629000931846,"exXOmv":-7959794549668061318,"jmrns":-2478709505913687571,"sPnmsA":1349451941251241661,"ugVNYhN":-8916039718197085131,"wlbsbWJlD":3638868802594434823},"stringDateField":"2010-08-06","stringDateTimeField":"1951-11-14T04:17:55Z","stringField":"lklRrVaJs","stringTimeField":"12:27:51.42Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":669,"numField":834.7281649759968,"stringDateField":"2010-08-06","stringDateTimeField":"1951-11-14T04:17:55Z","stringField":"lklRrVaJs","stringTimeField":"12:27:51.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1893,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1893,"uuid":"9e0a8982-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["RPcWiBl","DlstGvQ","UuQXJmj","hFcIlAMGy","txIE","NEUJfbiM","MKjEZVYlb","XPldqh"],"boolField":true,"intField":966,"numField":-149.43463744664896,"objField":{"EfPioCkQ":5725784573100933051,"HQuA":4228411607145478094,"HxFFBnBV":7694433505406681502,"NXPZqsBod":2014589387908434386,"QrJP":-9004171836194194430,"acRDuV":-7605630177904944636,"edRKHPW":6889100222517970739,"wfOojx":7376742682497668064,"yJxLsAPPc":-5057854979145610378},"stringDateField":"1936-07-27","stringDateTimeField":"1988-08-30T08:47:20Z","stringField":"OAMnmLv","stringTimeField":"21:09:00.27Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":966,"numField":-149.43463744664896,"stringDateField":"1936-07-27","stringDateTimeField":"1988-08-30T08:47:20Z","stringField":"OAMnmLv","stringTimeField":"21:09:00.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1894,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1894,"uuid":"9e0a8982-5655-11ee-9001-675ed0f8e89b"},"arrayField":["EazcxW","bCltGNIiYR","nlhbM","xdtzrdR","GgbPDCoJNj","EWXcO","ENvGj","UDQD"],"boolField":true,"intField":-734,"numField":-463.0514786501577,"objField":{"RtlKceY":4203543145885425296,"pfPud":6349036546733546990,"uiVkP":8980187231069561848,"wdrHDVN":-3629189985518667562},"stringDateField":"1924-04-08","stringDateTimeField":"2012-03-24T11:43:28Z","stringField":"jOzhfP","stringTimeField":"03:27:38.34Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":-734,"numField":-463.0514786501577,"stringDateField":"1924-04-08","stringDateTimeField":"2012-03-24T11:43:28Z","stringField":"jOzhfP","stringTimeField":"03:27:38.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1895,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1895,"uuid":"9e0a8982-5655-11ee-9401-675ed0f8e89b"},"arrayField":["VZoCGgGFt","yZlSXtFqM","PNbSahvPx","QgpLQz","hFASVL","VdmcuW"],"boolField":true,"intField":-839,"numField":161.98474512318327,"objField":{"uvQvJoOLat":-1117716275928205392},"stringDateField":"1931-06-14","stringDateTimeField":"2023-02-24T21:42:05Z","stringField":"WCndAHN","stringTimeField":"15:42:01.24Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":-839,"numField":161.98474512318327,"stringDateField":"1931-06-14","stringDateTimeField":"2023-02-24T21:42:05Z","stringField":"WCndAHN","stringTimeField":"15:42:01.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1896,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1896,"uuid":"9e0a8982-5655-11ee-9801-675ed0f8e89b"},"arrayField":["zXMcqhiFIf","rHOKl","KQlI","tWDdFmc","oUqFu"],"boolField":false,"intField":556,"numField":804.0831556955583,"objField":{"AIroiLCv":2849442827414650372,"LUPDr":-2567003171463538141,"LqJbWAg":3113514545044030471,"ZOUbAn":302528429350019202,"ZwCorle":-4436408604892426273,"cgWCuuKFhw":-4743611026639388560,"iClLjsV":-3364621106693588559,"nBahFkNP":-8460219117549057278,"xxdxXeoF":-2534076210241131695},"stringDateField":"1999-05-02","stringDateTimeField":"2004-09-18T11:20:54Z","stringField":"ImIDgJl","stringTimeField":"16:34:27.33Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":556,"numField":804.0831556955583,"stringDateField":"1999-05-02","stringDateTimeField":"2004-09-18T11:20:54Z","stringField":"ImIDgJl","stringTimeField":"16:34:27.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1897,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1897,"uuid":"9e0a8982-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["VuAjgnHeA","CiPmkj","BLaSMmSL","PaDCbJuwAA","ItBL","UPcfOmrdy","doLqahv","jFHgUU"],"boolField":false,"intField":-297,"numField":-606.1671197009044,"objField":{"BVtq":-5712098503530712232,"IdYYzATjN":1028291404043744592,"IiPnvzH":-7250784607941618508,"gFhGOS":-5261721061845753916,"iojx":5316876905792506326,"jjtS":-9130302782139187263,"sjCkITcDfk":-2126341653468428479,"ucSdj":-3199039005190329039,"ysgjO":7158983601217549628},"stringDateField":"1904-06-18","stringDateTimeField":"1978-07-17T09:55:46Z","stringField":"UApX","stringTimeField":"03:11:33.13Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":-297,"numField":-606.1671197009044,"stringDateField":"1904-06-18","stringDateTimeField":"1978-07-17T09:55:46Z","stringField":"UApX","stringTimeField":"03:11:33.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1898,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1898,"uuid":"9e0a8982-5655-11ee-a001-675ed0f8e89b"},"arrayField":["GJRy","KchnI","BYTXTYRnl"],"boolField":false,"intField":285,"numField":-755.7989349506737,"objField":{"AHvWzrMsw":4091145746518322924,"KKVoBXxsI":-3006384215102100090,"eDfXq":-5499998697186621116,"gfRFLicnnU":-1246524531553525577,"nWKWJ":2107859420315717570,"oADKucmA":-3517710719769883403,"pzxnAFgez":6058894318610084916,"uullgT":146689984838444416},"stringDateField":"2005-08-08","stringDateTimeField":"2021-10-09T15:17:00Z","stringField":"nYHAAxp","stringTimeField":"19:50:09.11Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":285,"numField":-755.7989349506737,"stringDateField":"2005-08-08","stringDateTimeField":"2021-10-09T15:17:00Z","stringField":"nYHAAxp","stringTimeField":"19:50:09.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1899,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1899,"uuid":"9e0a8982-5655-11ee-a401-675ed0f8e89b"},"arrayField":["DqpX","TOmazrkl","XIeBFp","lXCindFo","ffXjly","HiprLiZQ","Bpoy","zCJIo","nmOiCt"],"boolField":true,"intField":842,"numField":168.81914468259086,"objField":{"LeOGGiLQZw":566554446675683333,"OekDxKQSc":8812293236992248720,"TvLYWnqp":6027148721504015874,"jDah":-1044762200006956539,"zaysmOBB":-3477670705015825163,"zfcG":4311783439062292966},"stringDateField":"2023-11-04","stringDateTimeField":"1953-06-14T09:40:59Z","stringField":"FXVll","stringTimeField":"03:51:03.50Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":842,"numField":168.81914468259086,"stringDateField":"2023-11-04","stringDateTimeField":"1953-06-14T09:40:59Z","stringField":"FXVll","stringTimeField":"03:51:03.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1900,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1900,"uuid":"9e0a8982-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nqvS","MVgIkdnN","eBFD","ForIwkrb","zvLiEzr","fkDdMpOwZ","szXrWO","JgyLl","OQRl"],"boolField":false,"intField":-891,"numField":987.9523262304252,"objField":{"HQElRwpm":-1070392186077756449,"ONZIznYPv":707843435072313848,"RHcx":-2782366970397720202,"SRYiPTR":-4493238933921338503,"uFZwL":-6743052671717754485,"wApLido":3647271294796724028,"wahMV":-4911776987022835611},"stringDateField":"1958-12-01","stringDateTimeField":"1917-08-05T07:40:18Z","stringField":"wTimS","stringTimeField":"01:01:19.47Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":-891,"numField":987.9523262304252,"stringDateField":"1958-12-01","stringDateTimeField":"1917-08-05T07:40:18Z","stringField":"wTimS","stringTimeField":"01:01:19.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1901,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1901,"uuid":"9e0a8982-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["frPMVPVy","FOBcP","XohEU","ntzGN","AuXZ","wCgq","ZDZUbR","olAVESq","dAZcUhw"],"boolField":true,"intField":738,"numField":-666.5195019639553,"objField":{"BCPdf":-8511216301182471201,"EdQMslm":-5673556677418304118,"MLHFeFmi":-1099835141127748460,"MwvlWLV":1185487882337731392,"NYxLZa":7856337121526699021,"UHKRnJs":7826235099178529903,"dmzOxPhR":9030685047040600861,"pVgaLr":-477139848427987056},"stringDateField":"2014-10-13","stringDateTimeField":"2008-12-18T20:39:17Z","stringField":"rJiKHhcp","stringTimeField":"12:24:47.23Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":738,"numField":-666.5195019639553,"stringDateField":"2014-10-13","stringDateTimeField":"2008-12-18T20:39:17Z","stringField":"rJiKHhcp","stringTimeField":"12:24:47.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1902,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1902,"uuid":"9e0a8982-5655-11ee-b001-675ed0f8e89b"},"arrayField":["HqSgjIUF"],"boolField":true,"intField":138,"numField":177.5007192842417,"objField":{"foZLfNqJ":8872481829814447870,"gFmf":-3196267989564695184},"stringDateField":"2020-11-12","stringDateTimeField":"1932-02-13T06:38:32Z","stringField":"MDzVoacYc","stringTimeField":"02:31:23.10Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":138,"numField":177.5007192842417,"stringDateField":"2020-11-12","stringDateTimeField":"1932-02-13T06:38:32Z","stringField":"MDzVoacYc","stringTimeField":"02:31:23.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1903,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1903,"uuid":"9e0a8982-5655-11ee-b401-675ed0f8e89b"},"arrayField":["JerjpHO","hGLJlb"],"boolField":true,"intField":572,"numField":-462.4079158544098,"objField":{"DEvb":-4225890764853781095,"LFmu":79027497192413655,"TIPEgqEkq":-6334517979060818875,"TlRqzFy":-8755832069861848042,"WGPeh":6097085475847407070,"gUtBjAK":7529941064369807886,"lqPrcKb":2529083207028147203,"senUFXY":6185901779724709811,"uGDbsdkBm":6890851303467837174},"stringDateField":"1924-08-10","stringDateTimeField":"1928-02-13T03:55:41Z","stringField":"EcBK","stringTimeField":"02:45:00.45Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":572,"numField":-462.4079158544098,"stringDateField":"1924-08-10","stringDateTimeField":"1928-02-13T03:55:41Z","stringField":"EcBK","stringTimeField":"02:45:00.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1904,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1904,"uuid":"9e0a8982-5655-11ee-b801-675ed0f8e89b"},"arrayField":["gsqbjd","cdtJJ","VFchNzmFAI","ZYPFGmi","aNCWGWlgRz","QPgVas","zHDUSf","LZIP","ZEdGI"],"boolField":true,"intField":45,"numField":-14.639785965071647,"objField":{"XUpMe":3194939834807187676},"stringDateField":"1956-11-28","stringDateTimeField":"1993-08-02T04:21:23Z","stringField":"zHxatgNFlv","stringTimeField":"16:40:19.21Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":45,"numField":-14.639785965071647,"stringDateField":"1956-11-28","stringDateTimeField":"1993-08-02T04:21:23Z","stringField":"zHxatgNFlv","stringTimeField":"16:40:19.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1905,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1905,"uuid":"9e0a8982-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ghkwetU","jvwdUdk","AMnjUJdR","XvzpTMnGUj","TwtIlO","KLemzJRp","XzzSK"],"boolField":true,"intField":249,"numField":-819.6391141011179,"objField":{"dAfAfabUxC":638326656816003266},"stringDateField":"1923-01-11","stringDateTimeField":"1917-09-11T11:55:13Z","stringField":"WeNR","stringTimeField":"16:06:39.11Z"},"flow_published_at":"2023-09-18T19:00:21.876365Z","intField":249,"numField":-819.6391141011179,"stringDateField":"1923-01-11","stringDateTimeField":"1917-09-11T11:55:13Z","stringField":"WeNR","stringTimeField":"16:06:39.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1906,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1906,"uuid":"9e0a8983-5655-11ee-8001-675ed0f8e89b"},"arrayField":["GIKvQ","KgjcUvm","ygucEMXzF"],"boolField":true,"intField":432,"numField":576.2015816792143,"objField":{"BGmdUpqhv":-7794302100959785263,"NePSo":-8629544102327628439,"Sboixqbu":-4523457179981413315,"UuTiuKsBz":-4334026336090922397,"neVFsoGR":-8872951079225469209,"qejXqolE":-5311059547975499822,"vzbPe":1894199500641732985,"xPVUlISs":-2699495690011968610,"zloPIo":-6596848323412962531},"stringDateField":"1913-08-10","stringDateTimeField":"1932-04-13T06:59:42Z","stringField":"GUJY","stringTimeField":"12:05:37.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":432,"numField":576.2015816792143,"stringDateField":"1913-08-10","stringDateTimeField":"1932-04-13T06:59:42Z","stringField":"GUJY","stringTimeField":"12:05:37.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1907,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1907,"uuid":"9e0a8983-5655-11ee-8401-675ed0f8e89b"},"arrayField":["XZuyDBrgGV","JJdvYNcsAQ","Rlbh","FpEBePHxqU","SThULhwKTT","BrlZJzhNLO","mXDVxH","PqcrFeTwH"],"boolField":false,"intField":-110,"numField":413.3590422269966,"objField":{"MlBsQbfu":439279001079498624,"UHWIzjYw":5279544115443249068,"VdmDGlauof":-173583066801001422,"VyyOQORp":-4525553405444096976,"jUJZoPOE":-2202600746419629947,"lMQTcvqAu":7309051988983363691,"meBJ":8014679098612248227,"wIBzKeIYr":7293472752670223450},"stringDateField":"2013-10-08","stringDateTimeField":"1971-08-02T10:49:57Z","stringField":"hrSOiscgB","stringTimeField":"07:19:26.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":-110,"numField":413.3590422269966,"stringDateField":"2013-10-08","stringDateTimeField":"1971-08-02T10:49:57Z","stringField":"hrSOiscgB","stringTimeField":"07:19:26.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1908,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1908,"uuid":"9e0a8983-5655-11ee-8801-675ed0f8e89b"},"arrayField":["VtzLdRnenB","dlpCQeOnHb","DNfiLAqB","meHwhbuN","frkR","paVxg","ppblECpIzT"],"boolField":true,"intField":-107,"numField":107.75944139080651,"objField":{"FEmXPv":2004515864905061858,"GGWsrzHKw":525910453019068147,"NzuVp":-533409227336783547,"fDsxX":7249752272567145164,"jghMXqenK":-7474904488570806982,"lVVjizM":4983450923258996112,"meXZ":-7369316725367022459,"mzmOETbp":-6951055304206624467,"rDVqAOYQM":5518084047032336928,"vEGbxKJRpw":-4546951337165408593},"stringDateField":"1927-03-22","stringDateTimeField":"2017-10-26T11:17:58Z","stringField":"ggkMaxO","stringTimeField":"12:27:26.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":-107,"numField":107.75944139080651,"stringDateField":"1927-03-22","stringDateTimeField":"2017-10-26T11:17:58Z","stringField":"ggkMaxO","stringTimeField":"12:27:26.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1909,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1909,"uuid":"9e0a8983-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["dYgtEPtYk","bCnwgP","GQhdY"],"boolField":true,"intField":-746,"numField":-912.5877803287902,"objField":{"EpndoDn":3904769682654875546,"HdYawRg":-1304625975025542212,"QbHCpXnGt":-4552272799584850439,"efkGIA":-2746904681419434020,"joqECQhZ":2465965070991439924,"lLeEtNxoA":-4780496405252460323,"xSzay":8744688177380999053,"zMawHjXwl":3949041347030816541},"stringDateField":"1915-06-20","stringDateTimeField":"2005-07-16T07:54:42Z","stringField":"VrrYtLq","stringTimeField":"06:16:18.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":-746,"numField":-912.5877803287902,"stringDateField":"1915-06-20","stringDateTimeField":"2005-07-16T07:54:42Z","stringField":"VrrYtLq","stringTimeField":"06:16:18.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1910,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1910,"uuid":"9e0a8983-5655-11ee-9001-675ed0f8e89b"},"arrayField":["RBObgVnIZ","LuxMfmjWG","alPNMYpnk","PRMal","ZRNL","yGIQTxMTI","hxpueIz","YZJpS","IVXGblVdNH","mVWulABd"],"boolField":false,"intField":721,"numField":384.2022364828024,"objField":{"AohMWFiP":1004263580788021565,"SdYvVGJO":2663779244405748912,"TZkeQFXtJ":6432594420755494372,"ZAkAtbzJMu":-2982555458373236641,"iJRJjhwLRJ":790922946129565020,"iKvm":-6731698228804508178,"mtfHo":-7557222862720598356,"vcZZVs":5738265659320377695},"stringDateField":"1947-05-11","stringDateTimeField":"2004-09-19T10:41:34Z","stringField":"RxorDqwaU","stringTimeField":"18:10:40.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":721,"numField":384.2022364828024,"stringDateField":"1947-05-11","stringDateTimeField":"2004-09-19T10:41:34Z","stringField":"RxorDqwaU","stringTimeField":"18:10:40.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1911,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1911,"uuid":"9e0a8983-5655-11ee-9401-675ed0f8e89b"},"arrayField":["wDwIl","xuNrw","WwiLMMMyU","yjCpCjJUrX","DYwucFrGcI","xNQFiwg","VzllKE"],"boolField":true,"intField":686,"numField":906.335507836667,"objField":{"qoBBdLK":387317777293344712,"zaSMAX":-9115697677811200241},"stringDateField":"1992-11-24","stringDateTimeField":"2014-06-08T06:36:04Z","stringField":"OOHyqzz","stringTimeField":"13:19:56.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":686,"numField":906.335507836667,"stringDateField":"1992-11-24","stringDateTimeField":"2014-06-08T06:36:04Z","stringField":"OOHyqzz","stringTimeField":"13:19:56.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1912,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1912,"uuid":"9e0a8983-5655-11ee-9801-675ed0f8e89b"},"arrayField":["IPCJY","XVnNTwoeGp","Fufzlondp","oqOgkDSj","GoxjNaUSRo","lHptjkKN","VqNXS","Ucrrddqmj","vQAyKP","cWLCMgig"],"boolField":true,"intField":958,"numField":30.419184998136117,"objField":{"Gnlo":-1063859982717417514,"KjUyeS":2402883285266026125,"gzgCTI":-3849594303686145148,"lpWSxpCFR":8480727565537272208,"sgPvahpaEr":2785122640025446439},"stringDateField":"1943-12-19","stringDateTimeField":"1977-10-31T19:30:54Z","stringField":"KQSlMZW","stringTimeField":"05:47:34.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":958,"numField":30.419184998136117,"stringDateField":"1943-12-19","stringDateTimeField":"1977-10-31T19:30:54Z","stringField":"KQSlMZW","stringTimeField":"05:47:34.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1913,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1913,"uuid":"9e0a8983-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["MtUAwxhvXR","YeoR","pDHr","XFYGIesm","KAqmLj","sEsEBf","PzdtTD","yXiBCmSiYv","BeiqQvMM","fyqiG"],"boolField":false,"intField":-217,"numField":385.02837494783984,"objField":{"FKyp":4514361206146957957,"IQxk":-522505185882988313,"PaDgSE":4632311948358000243,"YvCMzrT":-7971045519694463293,"jWXQJQiVu":-3805527692476523175,"oqUaTr":-2218883980975833699,"uqtKMc":-8574246729807494632},"stringDateField":"1937-11-08","stringDateTimeField":"1964-03-28T15:01:56Z","stringField":"laHskwsqoK","stringTimeField":"15:07:57.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":-217,"numField":385.02837494783984,"stringDateField":"1937-11-08","stringDateTimeField":"1964-03-28T15:01:56Z","stringField":"laHskwsqoK","stringTimeField":"15:07:57.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1914,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1914,"uuid":"9e0a8983-5655-11ee-a001-675ed0f8e89b"},"arrayField":["nbRo","zjbQEJXp","McZGgFh","iRDrbta"],"boolField":false,"intField":-312,"numField":-454.27777865519823,"objField":{"NshXUXOe":672390481448220433,"YUKRUgs":-2611971612968997640,"amwIKgcA":-3086906189433233434,"gGIQPyJCWd":-9105493371729233799,"igBuiPBQP":770530359932492037,"suuayyimoC":1387468880309516804,"xgAdel":-1152340494225214459},"stringDateField":"1996-04-20","stringDateTimeField":"1958-05-15T07:46:06Z","stringField":"yCfnQNuyPx","stringTimeField":"06:13:44.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":-312,"numField":-454.27777865519823,"stringDateField":"1996-04-20","stringDateTimeField":"1958-05-15T07:46:06Z","stringField":"yCfnQNuyPx","stringTimeField":"06:13:44.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1915,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1915,"uuid":"9e0a8983-5655-11ee-a401-675ed0f8e89b"},"arrayField":["adjcQUhSc","KsuwBMNf"],"boolField":false,"intField":622,"numField":610.0900462152463,"objField":{"JZHLeh":-7006786797459932281,"RwxLYuMb":-6620872330514454386,"YDhZrT":2577845986542571566},"stringDateField":"1906-03-07","stringDateTimeField":"1938-01-18T09:04:08Z","stringField":"QVfpc","stringTimeField":"01:03:08.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":622,"numField":610.0900462152463,"stringDateField":"1906-03-07","stringDateTimeField":"1938-01-18T09:04:08Z","stringField":"QVfpc","stringTimeField":"01:03:08.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1916,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1916,"uuid":"9e0a8983-5655-11ee-a801-675ed0f8e89b"},"arrayField":["joJr","SSDo","COUmbhAh","idObqfz","HGGqm","tesjuBOPbR","GHVkiW"],"boolField":false,"intField":613,"numField":642.4409086158261,"objField":{"HQmU":-3160798091044397994,"SiHWhcKg":7445371434800941832,"WFlqD":7028048750472480525,"kmTFSeC":2409359501671545735,"ndSCjkfXt":-4282114048666085055,"ymlX":-7841479898124290065,"yrSDwWCZbr":3835579764687298573},"stringDateField":"1901-04-16","stringDateTimeField":"1960-03-05T20:47:30Z","stringField":"PMpviv","stringTimeField":"23:52:03.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":613,"numField":642.4409086158261,"stringDateField":"1901-04-16","stringDateTimeField":"1960-03-05T20:47:30Z","stringField":"PMpviv","stringTimeField":"23:52:03.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1917,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1917,"uuid":"9e0a8983-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["lNMOTjekm","tzTWwnTpR","MWFfnA","wmSnoO","nZCsBgLP"],"boolField":true,"intField":106,"numField":911.4621958592184,"objField":{"FsJdhKfwgA":-5623847067636823350,"MPTkjC":-5083984159310296624,"RSuFjsNJ":-8650363836339424404,"XwEfP":-5137268138161201074,"acALLa":2764491571844328482,"eMKkvoGZiS":6794909774529551747,"gkrW":-4628457736802768049,"kGltOhJHYW":1451507824413378157,"wyNlgwa":9172007655993399624},"stringDateField":"1991-12-12","stringDateTimeField":"1923-12-03T10:47:43Z","stringField":"PBGyq","stringTimeField":"13:21:58.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":106,"numField":911.4621958592184,"stringDateField":"1991-12-12","stringDateTimeField":"1923-12-03T10:47:43Z","stringField":"PBGyq","stringTimeField":"13:21:58.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1918,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1918,"uuid":"9e0a8983-5655-11ee-b001-675ed0f8e89b"},"arrayField":["lBTzcWxU","hNNcPM"],"boolField":true,"intField":-426,"numField":-445.9977289028732,"objField":{"JFcQeIrB":-2426869853827529856,"OpOLQft":-1746261430462331414,"PsNFgZMl":6067522117674578999,"sZrYD":2634146667346271769,"zzaAPz":-6477915139122985734},"stringDateField":"1994-10-31","stringDateTimeField":"1993-02-09T01:13:34Z","stringField":"YGKGXTdxEv","stringTimeField":"06:50:55.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":-426,"numField":-445.9977289028732,"stringDateField":"1994-10-31","stringDateTimeField":"1993-02-09T01:13:34Z","stringField":"YGKGXTdxEv","stringTimeField":"06:50:55.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1919,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1919,"uuid":"9e0a8983-5655-11ee-b401-675ed0f8e89b"},"arrayField":["DvgOKVLzam","IQNSbGN","coPkJU"],"boolField":false,"intField":-281,"numField":704.8541784337954,"objField":{"BjyqXnu":414500053469670526,"LTmJMVoIxF":1305542310110526016,"LflI":-9127615504470357115,"RyhdXhomZ":-8606519523342536683,"TUHCPwFNE":-1197688301559864788,"YwQK":6693722133424846566,"buMOkFs":2109883604466912529,"kKwBpYxdKo":581264136840939383,"kTCoGpIDVN":6673506084937329896},"stringDateField":"1941-10-30","stringDateTimeField":"1940-09-16T02:17:51Z","stringField":"HaOdpWb","stringTimeField":"07:14:25.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":-281,"numField":704.8541784337954,"stringDateField":"1941-10-30","stringDateTimeField":"1940-09-16T02:17:51Z","stringField":"HaOdpWb","stringTimeField":"07:14:25.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1920,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1920,"uuid":"9e0a8983-5655-11ee-b801-675ed0f8e89b"},"arrayField":["IWqJNX","XnPNKDG","MoqzaiZT","FwLoavZYAp","FTJCVIPERM","zSjP","JGiIdDpw","oOmKaakyLL","AltkgGtIiO","HZWcZTqAtp"],"boolField":false,"intField":676,"numField":-708.2983943232963,"objField":{"fsDwWPJY":4271017389971531997,"ytox":7408473405382649544,"zxRcxhBSD":-5229225548909561124},"stringDateField":"1910-05-31","stringDateTimeField":"1927-02-19T09:04:23Z","stringField":"TUmvQJjl","stringTimeField":"14:50:11.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":676,"numField":-708.2983943232963,"stringDateField":"1910-05-31","stringDateTimeField":"1927-02-19T09:04:23Z","stringField":"TUmvQJjl","stringTimeField":"14:50:11.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1921,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1921,"uuid":"9e0a8983-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["qZRFzbdpE","LjwBrf","RIKDBEw","aApJLLf","HAhDGoas"],"boolField":true,"intField":-800,"numField":405.72678200699454,"objField":{"aJNOIOFcIk":6154242184439079751,"mqNMGwBli":8252945630243856319,"tljAGB":-2881733943341012628,"xjiwLUM":4874793095134563566},"stringDateField":"2017-02-26","stringDateTimeField":"1969-09-04T07:59:08Z","stringField":"loZreiJ","stringTimeField":"17:38:53.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763651Z","intField":-800,"numField":405.72678200699454,"stringDateField":"2017-02-26","stringDateTimeField":"1969-09-04T07:59:08Z","stringField":"loZreiJ","stringTimeField":"17:38:53.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1922,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1922,"uuid":"9e0a8984-5655-11ee-8001-675ed0f8e89b"},"arrayField":["iRDjJwn","LHtpBBpw","uEQyZUylUg","rXuP","MedOowcMq","mcSr","fPZzd","EIySww"],"boolField":true,"intField":-739,"numField":529.3251982726941,"objField":{"KMYBerMEEI":4013333679831123471,"QBXQYNBYG":5516810601802521974,"RZRwXg":-6152491711203980472,"WgHPfhv":-356760220342672552,"Yyvc":-8661856001430177442,"hlxZmVE":5904463102178956140,"zjzMSMGvU":-8027185880639798145},"stringDateField":"2016-07-09","stringDateTimeField":"1992-07-08T04:08:33Z","stringField":"EXfxQfjWq","stringTimeField":"21:37:46.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":-739,"numField":529.3251982726941,"stringDateField":"2016-07-09","stringDateTimeField":"1992-07-08T04:08:33Z","stringField":"EXfxQfjWq","stringTimeField":"21:37:46.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1923,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1923,"uuid":"9e0a8984-5655-11ee-8401-675ed0f8e89b"},"arrayField":["kwtwppNRCO","ICbGnmDku","jWkHxXahlK"],"boolField":true,"intField":-875,"numField":765.5405169948599,"objField":{"GMtnlVh":-3714210278579465371,"NvkzUA":4366773692675713029,"eoTT":5733501850345335535,"fvWyIXKCkW":-5032236879807388892,"hFUbjInA":3125083296064472675,"xWNGsWR":7194684870911041566},"stringDateField":"2009-12-30","stringDateTimeField":"2001-11-15T23:56:08Z","stringField":"vMdPkWqqTm","stringTimeField":"08:04:54.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":-875,"numField":765.5405169948599,"stringDateField":"2009-12-30","stringDateTimeField":"2001-11-15T23:56:08Z","stringField":"vMdPkWqqTm","stringTimeField":"08:04:54.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1924,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1924,"uuid":"9e0a8984-5655-11ee-8801-675ed0f8e89b"},"arrayField":["eEcIgF","pWIKaB","skVFKgq","YcRZ","YqGD"],"boolField":false,"intField":760,"numField":-542.615755644048,"objField":{"lfSaIO":-775961883896311902},"stringDateField":"1923-07-22","stringDateTimeField":"1925-01-18T01:58:44Z","stringField":"aZUYy","stringTimeField":"13:14:03.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":760,"numField":-542.615755644048,"stringDateField":"1923-07-22","stringDateTimeField":"1925-01-18T01:58:44Z","stringField":"aZUYy","stringTimeField":"13:14:03.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1925,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1925,"uuid":"9e0a8984-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["UjNYnZ","GEqdy","SSXnnLRz","AAcZhjYZp"],"boolField":false,"intField":674,"numField":922.0157572513876,"objField":{"JRhMf":901497898847716902},"stringDateField":"1911-05-19","stringDateTimeField":"1938-05-07T10:23:06Z","stringField":"omuAr","stringTimeField":"14:49:27.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":674,"numField":922.0157572513876,"stringDateField":"1911-05-19","stringDateTimeField":"1938-05-07T10:23:06Z","stringField":"omuAr","stringTimeField":"14:49:27.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1926,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1926,"uuid":"9e0a8984-5655-11ee-9001-675ed0f8e89b"},"arrayField":["oIkxZeN","uhREJyKvDr"],"boolField":true,"intField":-962,"numField":607.8728007636158,"objField":{"RKAVtlEot":-8208811523822011900,"RMvTgTZ":6021582898663167702,"qXwKgQP":-6871003364019973465,"umxKP":83670685026563090},"stringDateField":"1908-05-18","stringDateTimeField":"1930-05-26T12:06:19Z","stringField":"NgXlW","stringTimeField":"21:37:17.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":-962,"numField":607.8728007636158,"stringDateField":"1908-05-18","stringDateTimeField":"1930-05-26T12:06:19Z","stringField":"NgXlW","stringTimeField":"21:37:17.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1927,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1927,"uuid":"9e0a8984-5655-11ee-9401-675ed0f8e89b"},"arrayField":["sPksOY","GHjWbxdCcV","mpxIfV","dVeNNFVQpD"],"boolField":true,"intField":-71,"numField":-408.5373817570203,"objField":{"pZEHqinGhs":-6972267304237182229},"stringDateField":"1927-05-05","stringDateTimeField":"1942-04-09T12:20:19Z","stringField":"POuJ","stringTimeField":"21:30:04.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":-71,"numField":-408.5373817570203,"stringDateField":"1927-05-05","stringDateTimeField":"1942-04-09T12:20:19Z","stringField":"POuJ","stringTimeField":"21:30:04.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1928,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1928,"uuid":"9e0a8984-5655-11ee-9801-675ed0f8e89b"},"arrayField":["UYzeeK","boXNGGvRrQ","nXCXvJoB"],"boolField":false,"intField":-241,"numField":35.488414184494445,"objField":{"JeDoKmJsfd":-3036517564591255464,"WGbhdYhXN":1957702199963503998,"WODDijs":4648445598226802662,"cjHkrwtHqX":-4486646696396587996,"kHxpngu":-5414278095762225799,"ohugMMNSOt":-7927058150260039574,"wJAZJoeLF":-8766894998609839142,"xMntyzIBd":8417625956120431045,"ynco":1763243121640159638},"stringDateField":"1998-10-14","stringDateTimeField":"1930-07-16T05:18:00Z","stringField":"jnAPrG","stringTimeField":"02:21:27.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":-241,"numField":35.488414184494445,"stringDateField":"1998-10-14","stringDateTimeField":"1930-07-16T05:18:00Z","stringField":"jnAPrG","stringTimeField":"02:21:27.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1929,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1929,"uuid":"9e0a8984-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["nQPDT","UGaLhEROpy","FBmQfZJ","IZFc","SXNB","mmacpOhN","VceSOzdPC","xPNanS","iHhgyAqkx","OsvX"],"boolField":false,"intField":403,"numField":46.40517196394778,"objField":{"AuvbVSrt":-7846796908397691362,"EdTeyCSa":-8406765580986274048,"NYgo":-6390474726684698133,"PDVPo":6707462184771034932,"Sonn":8378730375487729919,"arCIJHecOc":4921213794501772582,"vfxIzrr":-6499379517658012639,"yoLTIdhy":-4604398821719715462},"stringDateField":"2016-09-25","stringDateTimeField":"1962-07-18T14:12:49Z","stringField":"ZaGn","stringTimeField":"20:35:23.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":403,"numField":46.40517196394778,"stringDateField":"2016-09-25","stringDateTimeField":"1962-07-18T14:12:49Z","stringField":"ZaGn","stringTimeField":"20:35:23.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1930,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1930,"uuid":"9e0a8984-5655-11ee-a001-675ed0f8e89b"},"arrayField":["GLpAy","EBIEDO","juIGYeXWxO","gMZXSv","sAHm"],"boolField":false,"intField":66,"numField":-600.0220703747839,"objField":{"JTSbKuwJn":2274529927416779759,"JgoKnOw":-2970985325938116011,"YAyf":-3548209623461532032,"sCZGo":983658929938088236},"stringDateField":"1932-07-10","stringDateTimeField":"1995-06-14T20:53:55Z","stringField":"SDHC","stringTimeField":"04:59:10.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":66,"numField":-600.0220703747839,"stringDateField":"1932-07-10","stringDateTimeField":"1995-06-14T20:53:55Z","stringField":"SDHC","stringTimeField":"04:59:10.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1931,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1931,"uuid":"9e0a8984-5655-11ee-a401-675ed0f8e89b"},"arrayField":["qFfJnRe","LPrIy","KvPgYhefuH","ulCtqby","ngAURmaj","VphuvPJbPh","nnqJyVV","KKXgjg"],"boolField":true,"intField":473,"numField":-686.7176133412099,"objField":{"DdViEDF":-7039894085085589321,"frkDqx":-5894313103138595987},"stringDateField":"2005-11-22","stringDateTimeField":"1997-03-22T12:17:27Z","stringField":"zacDSWWUh","stringTimeField":"16:59:33.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":473,"numField":-686.7176133412099,"stringDateField":"2005-11-22","stringDateTimeField":"1997-03-22T12:17:27Z","stringField":"zacDSWWUh","stringTimeField":"16:59:33.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1932,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1932,"uuid":"9e0a8984-5655-11ee-a801-675ed0f8e89b"},"arrayField":["mNVP","DNNZCDsh","huOVlf","poyQpWq","EQmU","MFnhHChaj","HjJmuUhPA","hMKn"],"boolField":false,"intField":306,"numField":459.7411956035384,"objField":{"IZPLPTzs":-1991932971672697404,"IkpgSwIBy":-586351011707283102,"RfauAAE":-4238019974686587552,"cBdQcbofCG":72944709700687623,"cjoRIVyTVB":2662026978727118315,"ipsHYuxpGZ":7234965322962626988,"kXyew":-4300954391408792521,"qdPgP":5039482549457912412},"stringDateField":"1963-10-01","stringDateTimeField":"2015-07-10T17:15:14Z","stringField":"PTzKpkanZk","stringTimeField":"23:40:14.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":306,"numField":459.7411956035384,"stringDateField":"1963-10-01","stringDateTimeField":"2015-07-10T17:15:14Z","stringField":"PTzKpkanZk","stringTimeField":"23:40:14.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1933,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1933,"uuid":"9e0a8984-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["jVgdAtWu","hDguFp","wNGV","cXzmOZTF"],"boolField":false,"intField":-72,"numField":-536.595677739623,"objField":{"LNNwlP":671748360751397272,"NkJxJYGK":-8789349435988172997,"Pewzn":6560941441142462202,"QasQl":-8171211424407171045,"VrbYqDWVHV":-3664480119708867366,"dJwyICsbRV":6884216617692208919,"emhXD":-3613925201773096815,"mEEWcHbEcE":-4074949469513789708,"rycigE":7689614422388685643},"stringDateField":"2019-09-04","stringDateTimeField":"1909-07-19T23:24:57Z","stringField":"MODzPua","stringTimeField":"10:16:22.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":-72,"numField":-536.595677739623,"stringDateField":"2019-09-04","stringDateTimeField":"1909-07-19T23:24:57Z","stringField":"MODzPua","stringTimeField":"10:16:22.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1934,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1934,"uuid":"9e0a8984-5655-11ee-b001-675ed0f8e89b"},"arrayField":["HXhKqJJ","bFkS","JICPJe"],"boolField":true,"intField":741,"numField":-79.88379746930086,"objField":{"Abpwiftk":-8736923478666059637,"CpDVfQsbLX":5771644601860779961,"GlvLQ":-8545835582086872878,"bPKJpGZkXE":-5505390241120465497,"cgsGgz":-8456692696623221933,"iGFzGt":8194068337752242217,"nvFkhA":5225865098465404660,"vJvP":-2062734708608473412},"stringDateField":"1929-02-10","stringDateTimeField":"1940-10-22T03:33:16Z","stringField":"XessxyFBgC","stringTimeField":"09:53:28.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":741,"numField":-79.88379746930086,"stringDateField":"1929-02-10","stringDateTimeField":"1940-10-22T03:33:16Z","stringField":"XessxyFBgC","stringTimeField":"09:53:28.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1935,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1935,"uuid":"9e0a8984-5655-11ee-b401-675ed0f8e89b"},"arrayField":["TvnDsQiX"],"boolField":true,"intField":-335,"numField":596.1122491589381,"objField":{"JvlBEdxg":8798903754806062906,"NlXqtavvWZ":-328327396355369421,"OgMtSrD":5581724938402793517,"sdpnEsBuZY":7091731283307103184,"uwGVHVn":6108658994475864470},"stringDateField":"1919-12-09","stringDateTimeField":"1940-07-13T00:42:52Z","stringField":"ZVnrsky","stringTimeField":"09:49:24.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":-335,"numField":596.1122491589381,"stringDateField":"1919-12-09","stringDateTimeField":"1940-07-13T00:42:52Z","stringField":"ZVnrsky","stringTimeField":"09:49:24.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1936,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1936,"uuid":"9e0a8984-5655-11ee-b801-675ed0f8e89b"},"arrayField":["WSIJAA","WjeaVpws","NyuKxVsdkV","zOhkSe","rfbxrARN","zEHHlBMTu","ujZpEGVLy","atJnWo"],"boolField":true,"intField":155,"numField":550.456261174235,"objField":{"ETzce":-8304642214780895936},"stringDateField":"1927-11-20","stringDateTimeField":"1998-05-04T19:16:52Z","stringField":"RUaXLOypI","stringTimeField":"05:18:48.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":155,"numField":550.456261174235,"stringDateField":"1927-11-20","stringDateTimeField":"1998-05-04T19:16:52Z","stringField":"RUaXLOypI","stringTimeField":"05:18:48.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1937,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1937,"uuid":"9e0a8984-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ZWgUB","QhjqHAOG","icqEoyJWz","epHL"],"boolField":true,"intField":904,"numField":281.3944201113578,"objField":{"EaCZgLZCJ":-7916802574665523410,"HKzcgnBlq":-5599747223158889950,"jonNA":-427548297877798862,"vSGEhEuo":-2782856372200673274},"stringDateField":"1905-02-09","stringDateTimeField":"1915-01-20T05:41:24Z","stringField":"qvXYjzcRZc","stringTimeField":"00:40:01.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763652Z","intField":904,"numField":281.3944201113578,"stringDateField":"1905-02-09","stringDateTimeField":"1915-01-20T05:41:24Z","stringField":"qvXYjzcRZc","stringTimeField":"00:40:01.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1938,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1938,"uuid":"9e0a8985-5655-11ee-8001-675ed0f8e89b"},"arrayField":["uyfmKuw"],"boolField":false,"intField":-49,"numField":643.5471114125903,"objField":{"SJMQOplyk":3694217597834330737,"bjTOf":5938837586484455260},"stringDateField":"1915-08-31","stringDateTimeField":"2010-01-13T21:22:00Z","stringField":"nfjUYKUZ","stringTimeField":"19:10:21.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":-49,"numField":643.5471114125903,"stringDateField":"1915-08-31","stringDateTimeField":"2010-01-13T21:22:00Z","stringField":"nfjUYKUZ","stringTimeField":"19:10:21.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1939,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1939,"uuid":"9e0a8985-5655-11ee-8401-675ed0f8e89b"},"arrayField":["VMyZIDWpYw","smQGrrpGaI","uqMK","FfMr","DZddmBPtz","SoPenb","CPuBYu","XlXz","fgKu"],"boolField":false,"intField":42,"numField":214.0228757354903,"objField":{"PiluD":-8690322076710855642,"RMGJpUr":-5584998328465219491,"YYVxcoiun":-1252045136064829534,"ZpRclxTZR":4490099371646525232,"cQGs":374178940339126221,"eDzazhNe":-5184374892700687671,"mDvU":7112067458000344211,"rsoINs":-3301996100852399256,"wCLlfUZH":5241647020995418137},"stringDateField":"1985-04-27","stringDateTimeField":"2012-05-09T09:42:30Z","stringField":"PQHfvQnCGa","stringTimeField":"01:14:06.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":42,"numField":214.0228757354903,"stringDateField":"1985-04-27","stringDateTimeField":"2012-05-09T09:42:30Z","stringField":"PQHfvQnCGa","stringTimeField":"01:14:06.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1940,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1940,"uuid":"9e0a8985-5655-11ee-8801-675ed0f8e89b"},"arrayField":["mlNfeAQLt","HQFlJGDNk","nrhcJfE","GuPq","BmLdCDeBvE","jumywjhhgs"],"boolField":true,"intField":360,"numField":-164.5928108497713,"objField":{"BKRCjsfr":-2879547953133723636,"BztFTg":-8698272063310394373,"RbKblBDZv":-4364369894091172214,"VKFF":-4295729095715004010,"bONkUSZe":-3377888937360302874,"fmfaB":-7460572931868741163,"nMnee":-7987312193146669932},"stringDateField":"1953-11-21","stringDateTimeField":"1980-06-21T06:37:52Z","stringField":"bAwV","stringTimeField":"23:06:42.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":360,"numField":-164.5928108497713,"stringDateField":"1953-11-21","stringDateTimeField":"1980-06-21T06:37:52Z","stringField":"bAwV","stringTimeField":"23:06:42.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1941,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1941,"uuid":"9e0a8985-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["mxeTStF","ZVeTDeEb","jFuXV","DEwlpl","LquiRsj","PDbNC","ZiYMacz","gUYib","QmtWL"],"boolField":false,"intField":104,"numField":-720.3468981173041,"objField":{"KKpapctKGy":968868529781682476,"fELz":-4664399637392552685,"fTmSgB":-526558371180093082},"stringDateField":"1943-01-27","stringDateTimeField":"1975-01-07T14:02:22Z","stringField":"SodxkrAY","stringTimeField":"19:26:40.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":104,"numField":-720.3468981173041,"stringDateField":"1943-01-27","stringDateTimeField":"1975-01-07T14:02:22Z","stringField":"SodxkrAY","stringTimeField":"19:26:40.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1942,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1942,"uuid":"9e0a8985-5655-11ee-9001-675ed0f8e89b"},"arrayField":["bDOjVrtkxr","nQNa","NLtTpeP"],"boolField":false,"intField":903,"numField":-282.964873178563,"objField":{"CRkwM":-2616280940401794631,"CaqkpRVofP":-5226174299651427717,"LkyVYdH":-5448352590895451931,"UDTjaXf":-6015926977475733955,"VnMhpBw":-8733295475582269754,"cuwU":-8003054384715994170,"iMIiDfb":6041682630562391209,"sQgwRmaXNw":-354223531185839819,"upBR":1752568519850189266},"stringDateField":"1937-08-15","stringDateTimeField":"1926-01-28T03:11:56Z","stringField":"ldmENq","stringTimeField":"00:10:44.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":903,"numField":-282.964873178563,"stringDateField":"1937-08-15","stringDateTimeField":"1926-01-28T03:11:56Z","stringField":"ldmENq","stringTimeField":"00:10:44.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1943,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1943,"uuid":"9e0a8985-5655-11ee-9401-675ed0f8e89b"},"arrayField":["tdoDV","FLGBmUXSf","etmv","BzfwssEX","XUqzSx","NbUsMGTY","IQGhNCK","KsmFm"],"boolField":true,"intField":18,"numField":455.438356983916,"objField":{"IXCqCAhl":4756436047048948281,"pnmqa":-6896507315219908877,"xMWt":7593753861247518369},"stringDateField":"1945-04-23","stringDateTimeField":"1981-12-16T18:30:24Z","stringField":"TNaPHYZb","stringTimeField":"00:42:35.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":18,"numField":455.438356983916,"stringDateField":"1945-04-23","stringDateTimeField":"1981-12-16T18:30:24Z","stringField":"TNaPHYZb","stringTimeField":"00:42:35.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1944,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1944,"uuid":"9e0a8985-5655-11ee-9801-675ed0f8e89b"},"arrayField":["fnpgSLP","DKAfdbZU","ADVxGvtp","VbTaudbT","ReCFG","UWHBI","iKlUgEvZD","unqWfFsu"],"boolField":true,"intField":849,"numField":-734.7649544899123,"objField":{"KwyjdvscNw":7333788618948237518,"NByVEX":1656918050203411820,"SsbAiqjc":-4411950270923614859,"ZakpQ":-2888883559269195336,"jWFDcR":3224216363632768241,"nFsbqyEwsh":-3953743080576651626,"vOWn":-464034727356895901},"stringDateField":"1974-10-06","stringDateTimeField":"1936-11-22T18:06:11Z","stringField":"rLkJdI","stringTimeField":"10:52:05.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":849,"numField":-734.7649544899123,"stringDateField":"1974-10-06","stringDateTimeField":"1936-11-22T18:06:11Z","stringField":"rLkJdI","stringTimeField":"10:52:05.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1945,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1945,"uuid":"9e0a8985-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["KbvulWCx","hZPmpqRq","GTCYfThrc","LsUAHLmQ","whnlOhhxzD"],"boolField":false,"intField":317,"numField":-706.4055588086096,"objField":{"FLuPiL":-4563770710502768849,"JoKFLRlSIC":8029315194885313325,"tFhlmMMoQ":-8343555428664500377},"stringDateField":"1904-04-20","stringDateTimeField":"1984-12-01T16:13:17Z","stringField":"csEQ","stringTimeField":"01:23:57.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":317,"numField":-706.4055588086096,"stringDateField":"1904-04-20","stringDateTimeField":"1984-12-01T16:13:17Z","stringField":"csEQ","stringTimeField":"01:23:57.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1946,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1946,"uuid":"9e0a8985-5655-11ee-a001-675ed0f8e89b"},"arrayField":["FzoQvwz","XlXR","ASCArpl","IouX","Hjjw"],"boolField":true,"intField":-596,"numField":-994.0100582995426,"objField":{"XmdSmD":4229407433638716682,"YKSROXcf":5705207293078418667},"stringDateField":"1972-04-19","stringDateTimeField":"1906-03-11T15:12:59Z","stringField":"vqSMssa","stringTimeField":"00:44:19.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":-596,"numField":-994.0100582995426,"stringDateField":"1972-04-19","stringDateTimeField":"1906-03-11T15:12:59Z","stringField":"vqSMssa","stringTimeField":"00:44:19.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1947,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1947,"uuid":"9e0a8985-5655-11ee-a401-675ed0f8e89b"},"arrayField":["FKOkRJ","caMLbTq","nHyAC","DnYTuUv","XUcAsM","WRDrYuM"],"boolField":false,"intField":33,"numField":-508.89751591192305,"objField":{"Kbiu":1767162679611989249,"OigzflhE":4414343750171642352,"SbpzQ":6759525533274903085,"XptTg":5149590327881249000,"ieszdFbcbe":-966898864625510482,"qoPEhbtFMX":5176386554234169954,"yjjVoGr":-1094758508387647276},"stringDateField":"1953-06-22","stringDateTimeField":"1966-09-15T01:43:36Z","stringField":"fHTPpkzjQe","stringTimeField":"23:16:47.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":33,"numField":-508.89751591192305,"stringDateField":"1953-06-22","stringDateTimeField":"1966-09-15T01:43:36Z","stringField":"fHTPpkzjQe","stringTimeField":"23:16:47.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1948,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1948,"uuid":"9e0a8985-5655-11ee-a801-675ed0f8e89b"},"arrayField":["QGcHu","cnSbkyGW"],"boolField":true,"intField":-652,"numField":-830.0060718484275,"objField":{"CZLCpxDxZ":-3778070983750662988,"KxYLdRlidB":-3584623614218077580,"gCRyuYg":-5651244752424289469},"stringDateField":"2013-02-16","stringDateTimeField":"1932-08-06T21:00:49Z","stringField":"HOTNfAfvp","stringTimeField":"22:22:55.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":-652,"numField":-830.0060718484275,"stringDateField":"2013-02-16","stringDateTimeField":"1932-08-06T21:00:49Z","stringField":"HOTNfAfvp","stringTimeField":"22:22:55.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1949,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1949,"uuid":"9e0a8985-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ZoIA","qwzOH","IHmH","OQQxjrMH","LKyleUo","uctsLDsvj","bRmFfpf","rKtc"],"boolField":true,"intField":272,"numField":84.41329058211755,"objField":{"bBMoX":8216917238962445795,"cJaVKxkwJ":-4143854752092996928,"cVGncuIj":-5851019377085878821,"gSKFXDyo":3244904215288492344,"jemBMGsI":1862160562205078570,"zhSJbsZrZ":48238059638021663},"stringDateField":"1937-11-19","stringDateTimeField":"1911-09-23T02:30:51Z","stringField":"UwfxpX","stringTimeField":"14:48:04.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":272,"numField":84.41329058211755,"stringDateField":"1937-11-19","stringDateTimeField":"1911-09-23T02:30:51Z","stringField":"UwfxpX","stringTimeField":"14:48:04.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1950,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1950,"uuid":"9e0a8985-5655-11ee-b001-675ed0f8e89b"},"arrayField":["PNYgeMDJTQ","qQtwEvjm","OLkATTJwYI","kukBudOdTZ","TELIUNqI"],"boolField":true,"intField":-211,"numField":393.91870643193647,"objField":{"BUCGcIKsgR":633520741517420756,"JuQKUWCFT":-8437526066479349589,"cRexRJSA":3730238322534117956,"eUqwtWfu":-7861964335943298136,"elWdLn":4012899362773573326,"lARnaoyV":7098907673401651583,"zbgW":-4130435210386290321},"stringDateField":"1919-10-29","stringDateTimeField":"1966-10-31T13:19:42Z","stringField":"rgkQ","stringTimeField":"06:02:34.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":-211,"numField":393.91870643193647,"stringDateField":"1919-10-29","stringDateTimeField":"1966-10-31T13:19:42Z","stringField":"rgkQ","stringTimeField":"06:02:34.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1951,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1951,"uuid":"9e0a8985-5655-11ee-b401-675ed0f8e89b"},"arrayField":["lwkQLbABtc","hcBTExGX","nkOfiCIvCJ","DXdYAl","IawJJpyW","YhkPvjMlOV","aqSSoRgef","xYtBTCXWFN"],"boolField":false,"intField":-342,"numField":296.23827616867214,"objField":{"AvFdgtt":-3641278251207078092,"BLtGs":4544584076689402906,"PJlFBaxjh":-5400801827907499387,"PhJwKlG":-4457880442811611593,"PjJfwpBkgh":-334574704755879138,"rGzzEifQC":-8399553475993712226,"raflpuU":3776996320651835671,"sLFpfcIjrL":-4710103348676634375,"wqAvFLbpP":6156269888499716481,"zomczZPfT":5018994064919594184},"stringDateField":"2018-09-01","stringDateTimeField":"2023-11-27T11:44:11Z","stringField":"WuUzfmb","stringTimeField":"03:57:02.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":-342,"numField":296.23827616867214,"stringDateField":"2018-09-01","stringDateTimeField":"2023-11-27T11:44:11Z","stringField":"WuUzfmb","stringTimeField":"03:57:02.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1952,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1952,"uuid":"9e0a8985-5655-11ee-b801-675ed0f8e89b"},"arrayField":["CnVMGCUVn"],"boolField":false,"intField":-251,"numField":-354.62533301227194,"objField":{"gOMdzF":-2243849708327572382},"stringDateField":"1961-06-26","stringDateTimeField":"2010-10-22T13:04:53Z","stringField":"gQKlGd","stringTimeField":"21:45:39.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":-251,"numField":-354.62533301227194,"stringDateField":"1961-06-26","stringDateTimeField":"2010-10-22T13:04:53Z","stringField":"gQKlGd","stringTimeField":"21:45:39.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1953,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1953,"uuid":"9e0a8985-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["naEaLnS","jOEj","ypqZBfNgj","SHMTAagKY","uXMnO","MEUO"],"boolField":false,"intField":-422,"numField":850.4345945839882,"objField":{"FJeKKAimuX":6123459577390867890,"phmqItuye":1741858653028167602},"stringDateField":"1961-06-09","stringDateTimeField":"1930-03-31T02:22:35Z","stringField":"XYrYHpTFq","stringTimeField":"06:18:14.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763653Z","intField":-422,"numField":850.4345945839882,"stringDateField":"1961-06-09","stringDateTimeField":"1930-03-31T02:22:35Z","stringField":"XYrYHpTFq","stringTimeField":"06:18:14.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1954,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1954,"uuid":"9e0a8986-5655-11ee-8001-675ed0f8e89b"},"arrayField":["nxgYKc","UqZXzJxZYp"],"boolField":true,"intField":531,"numField":760.9227436462525,"objField":{"DGuyRjeRpj":-789133496842304234,"HbYSA":8348352419910671405,"YuDADBemBv":7643703416862511497,"hIXOZYLOUj":1718274257303295296,"jPUEEtYVR":-456704137294094215},"stringDateField":"1933-01-08","stringDateTimeField":"1989-03-12T03:21:33Z","stringField":"nQQRwHou","stringTimeField":"15:31:06.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":531,"numField":760.9227436462525,"stringDateField":"1933-01-08","stringDateTimeField":"1989-03-12T03:21:33Z","stringField":"nQQRwHou","stringTimeField":"15:31:06.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1955,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1955,"uuid":"9e0a8986-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ieSxkZqApf","ehiduXqgmf","TVtOmcEefG","bkBfHAbgy","ojKHGo","PWWKC"],"boolField":false,"intField":-935,"numField":-641.6280331276513,"objField":{"CnXndXJQ":664412965636392444,"YRsIlP":-5171081439672219723,"ssSlrz":-3906527849472244084,"uMDFIUiRFD":6876265765937538998},"stringDateField":"1985-12-23","stringDateTimeField":"2018-07-30T06:56:46Z","stringField":"ZjMisU","stringTimeField":"21:45:25.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":-935,"numField":-641.6280331276513,"stringDateField":"1985-12-23","stringDateTimeField":"2018-07-30T06:56:46Z","stringField":"ZjMisU","stringTimeField":"21:45:25.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1956,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1956,"uuid":"9e0a8986-5655-11ee-8801-675ed0f8e89b"},"arrayField":["tfpADaUU","MLooxTYJFT","UWSE","aPpBhSAxeC","MPeujlU"],"boolField":false,"intField":827,"numField":73.22737949881298,"objField":{"JiauB":1360746070533581621,"LMcQNGqJG":935108230750106298,"Nbnlf":-63712325262762859,"WeZhm":2001587961674585380,"YMsG":540139112592419886,"cTTNl":-2142853057250414092,"wUYxxPoQ":-1375979053449210842},"stringDateField":"2001-07-24","stringDateTimeField":"1969-02-07T15:18:27Z","stringField":"aYkZjyv","stringTimeField":"02:49:14.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":827,"numField":73.22737949881298,"stringDateField":"2001-07-24","stringDateTimeField":"1969-02-07T15:18:27Z","stringField":"aYkZjyv","stringTimeField":"02:49:14.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1957,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1957,"uuid":"9e0a8986-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["GMasDHd","OdAR","tYhchlYhO","ioaz","hwkQjD"],"boolField":true,"intField":-599,"numField":-574.3805706587779,"objField":{"Jusyge":-4890606585080694222,"KRxMK":6393508801552362635,"LCDmgf":7716576487854369155,"YbTYZe":-7196107914304367797,"ZQbPYQsJJ":-5710395929001813974,"nmRKEPlpn":-1223630725653454330,"roKQkfIa":6037634975152862603},"stringDateField":"2018-01-15","stringDateTimeField":"1984-05-11T07:10:31Z","stringField":"cdQomsPTfy","stringTimeField":"11:36:06.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":-599,"numField":-574.3805706587779,"stringDateField":"2018-01-15","stringDateTimeField":"1984-05-11T07:10:31Z","stringField":"cdQomsPTfy","stringTimeField":"11:36:06.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1958,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1958,"uuid":"9e0a8986-5655-11ee-9001-675ed0f8e89b"},"arrayField":["VfFIo","mCntJWfbqH","UsSiqVCsR","RYzsAQt","vPLNh","sLTa","wirI","COFHanfT","CfQwPXukDm"],"boolField":true,"intField":-263,"numField":744.1972402347119,"objField":{"GpKIhXEuKM":1721209608753351498,"MsPZru":-7678551098694520101,"XNyeFpuHHH":525073620608243769,"gLZRPKoukB":1961983920186440934,"lbqqQbSX":-7783388359252910022,"pzUZUio":5469705377230921953,"sBrpNAxcZ":8608833760753083906,"uMByVZYTP":1954972494986120468,"zfMB":-4105879339176062086},"stringDateField":"1971-06-25","stringDateTimeField":"1965-07-14T09:13:04Z","stringField":"azefAvJ","stringTimeField":"03:00:11.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":-263,"numField":744.1972402347119,"stringDateField":"1971-06-25","stringDateTimeField":"1965-07-14T09:13:04Z","stringField":"azefAvJ","stringTimeField":"03:00:11.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1959,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1959,"uuid":"9e0a8986-5655-11ee-9401-675ed0f8e89b"},"arrayField":["pgwqTrn","wvKDxhP","EkPWZZW","SlwP","ZeONOYIj","eaCUK","IXsQqHVAxB","eTZkNhVs"],"boolField":true,"intField":-770,"numField":-969.991753677178,"objField":{"uDayZzBop":104931701321189550},"stringDateField":"1971-12-07","stringDateTimeField":"1935-08-28T00:01:24Z","stringField":"Xftq","stringTimeField":"11:56:43.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":-770,"numField":-969.991753677178,"stringDateField":"1971-12-07","stringDateTimeField":"1935-08-28T00:01:24Z","stringField":"Xftq","stringTimeField":"11:56:43.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1960,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1960,"uuid":"9e0a8986-5655-11ee-9801-675ed0f8e89b"},"arrayField":["mbtvc","XilqOQc"],"boolField":true,"intField":-216,"numField":775.5165325392768,"objField":{"BdvWW":-6292878356122490591},"stringDateField":"1923-07-11","stringDateTimeField":"1950-10-07T08:55:43Z","stringField":"VPRdvM","stringTimeField":"13:45:20.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":-216,"numField":775.5165325392768,"stringDateField":"1923-07-11","stringDateTimeField":"1950-10-07T08:55:43Z","stringField":"VPRdvM","stringTimeField":"13:45:20.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1961,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1961,"uuid":"9e0a8986-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wanrlu","ZGvZoHs","EhMPG"],"boolField":true,"intField":-76,"numField":881.0514394265139,"objField":{"AldZbg":-6235303002608949767,"DPuaDW":4294954999227668080,"mpWjtq":8453692831847721250,"puuXc":-2136457328590716696},"stringDateField":"1914-11-18","stringDateTimeField":"1976-02-19T06:04:10Z","stringField":"CzxwgkwTz","stringTimeField":"04:52:15.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":-76,"numField":881.0514394265139,"stringDateField":"1914-11-18","stringDateTimeField":"1976-02-19T06:04:10Z","stringField":"CzxwgkwTz","stringTimeField":"04:52:15.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1962,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1962,"uuid":"9e0a8986-5655-11ee-a001-675ed0f8e89b"},"arrayField":["mjptsqs","pgWF","xIDD","qTRF","CZXkw","LuzlWRK","JzRJbpd","gaVzJGadX","nCvHD"],"boolField":true,"intField":58,"numField":267.1613663534045,"objField":{"HyBFOuOuau":-3675504132567629570,"MKOEF":-5793261859032202365,"SLVwhdkmBy":-7968578183697257883,"VUTi":-700131849306933218,"mNjCayGB":-2788566161699289368},"stringDateField":"1962-10-07","stringDateTimeField":"1920-02-19T13:56:45Z","stringField":"CLxW","stringTimeField":"08:03:13.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":58,"numField":267.1613663534045,"stringDateField":"1962-10-07","stringDateTimeField":"1920-02-19T13:56:45Z","stringField":"CLxW","stringTimeField":"08:03:13.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1963,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1963,"uuid":"9e0a8986-5655-11ee-a401-675ed0f8e89b"},"arrayField":["kTFFGgDSO","gsLRPoCzzC","ncSgsJR","pmebbXx","LcmeOls"],"boolField":false,"intField":-893,"numField":115.289055983824,"objField":{"CejTcSqj":2475746776324346248,"HaxrTRPMk":-1349182947144587354,"ThjclDZRoC":-6406524895723935903,"dGFJnh":7865673045514810233,"hrBQMlOnTm":-3079394224146143795},"stringDateField":"1904-09-01","stringDateTimeField":"1941-11-02T05:18:28Z","stringField":"zmYjaEH","stringTimeField":"18:20:02.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":-893,"numField":115.289055983824,"stringDateField":"1904-09-01","stringDateTimeField":"1941-11-02T05:18:28Z","stringField":"zmYjaEH","stringTimeField":"18:20:02.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1964,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1964,"uuid":"9e0a8986-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sQYApUfMAH","zHgsy","SgFPZpcDt","wfoU","FWDzt","reXiayJJRx","VllhETag","KGms"],"boolField":false,"intField":353,"numField":363.97438110404414,"objField":{"ADGFKp":-2233732181347777112,"BBPwNLhb":4972035880687644105,"pyLUBcWR":-4010512874341125237,"tttLKqIB":3168072929474318256},"stringDateField":"2003-06-01","stringDateTimeField":"1972-07-27T04:57:59Z","stringField":"yIsdULOBr","stringTimeField":"23:09:38.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":353,"numField":363.97438110404414,"stringDateField":"2003-06-01","stringDateTimeField":"1972-07-27T04:57:59Z","stringField":"yIsdULOBr","stringTimeField":"23:09:38.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1965,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1965,"uuid":"9e0a8986-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["DTKovFXYxl","xzcDxItNa","YqiYSmYI","TdNYRoGiGL"],"boolField":true,"intField":-932,"numField":-950.7074303768871,"objField":{"EFTI":5313814905487398303,"EkHfC":-7557246156225926446,"JzzFkwqAT":7391890244662243562,"jPdesqoT":8697401965501235636},"stringDateField":"2018-11-27","stringDateTimeField":"2003-08-09T15:00:52Z","stringField":"cBeV","stringTimeField":"04:27:15.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":-932,"numField":-950.7074303768871,"stringDateField":"2018-11-27","stringDateTimeField":"2003-08-09T15:00:52Z","stringField":"cBeV","stringTimeField":"04:27:15.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1966,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1966,"uuid":"9e0a8986-5655-11ee-b001-675ed0f8e89b"},"arrayField":["jjnr","ZlHhCEmvyM","eDgFjzvt","TvCWCcaGo","UJxvZ","HHlbaMT","zqnIDSiW","onDKseCy","yCqWUU","BYPas"],"boolField":true,"intField":-452,"numField":-858.1658697673728,"objField":{"HcvOJYK":3694954504478174248,"PHzItx":5971911618018948496,"clMdB":2763450729123296487,"dDneBa":3423049377941823783,"fCFjvAJDHs":-5793955524035804714,"iuJbfVzdum":2080206628169392134,"oMqFzqXfo":-3693536824503191856,"spZRaD":-1511294345921465713,"ykoavFwTgS":8946650039168361777},"stringDateField":"1948-10-15","stringDateTimeField":"2016-03-01T12:18:09Z","stringField":"qQWcPLh","stringTimeField":"03:12:40.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":-452,"numField":-858.1658697673728,"stringDateField":"1948-10-15","stringDateTimeField":"2016-03-01T12:18:09Z","stringField":"qQWcPLh","stringTimeField":"03:12:40.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1967,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1967,"uuid":"9e0a8986-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ZBSW","KwvjIKu","avElI","PbpDSGr","dEAr","DqurVvoHr"],"boolField":false,"intField":809,"numField":-775.1902927757112,"objField":{"BoAA":7489944314441600241,"DOlVuy":-3103722218704763329,"DoSREuoU":-1382862875386582777,"KFGN":-5650311783323819473,"TOTWt":-4779377200961479519,"gldlfprIs":-449022741546422395,"iWYXLVbZQT":4323590875895805739,"wHNncFO":5619302051581491824,"zKupkFWt":3031035316284560223},"stringDateField":"1933-08-13","stringDateTimeField":"1915-11-02T20:21:59Z","stringField":"FVFc","stringTimeField":"07:20:27.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":809,"numField":-775.1902927757112,"stringDateField":"1933-08-13","stringDateTimeField":"1915-11-02T20:21:59Z","stringField":"FVFc","stringTimeField":"07:20:27.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1968,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1968,"uuid":"9e0a8986-5655-11ee-b801-675ed0f8e89b"},"arrayField":["oDDljew","RIPjUotd","avfkLmn","HdeSy","STGrdTSVBR","AJwS"],"boolField":false,"intField":167,"numField":316.610977708117,"objField":{"AGZcr":3737930354063052582,"CPNVgnXBWv":1702992631214708941,"Dcfthw":-5838395966811408478,"RvabIlz":-5460452105765866160,"fXqrKKNYHu":-7322904427178715738},"stringDateField":"1975-12-22","stringDateTimeField":"1935-09-01T06:40:52Z","stringField":"bshwRQvHVi","stringTimeField":"22:39:39.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":167,"numField":316.610977708117,"stringDateField":"1975-12-22","stringDateTimeField":"1935-09-01T06:40:52Z","stringField":"bshwRQvHVi","stringTimeField":"22:39:39.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1969,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1969,"uuid":"9e0a8986-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ZtblW","MQqmIwyP","tzQNV","qKxp","wDeqd"],"boolField":false,"intField":314,"numField":445.89923367644224,"objField":{"DCWj":-6872698235509140544,"GzCHHhEbxa":4859188360446844529,"ZHjhaIBSm":-1172497072629414759,"vYVMfdwGA":-5820489807777629839},"stringDateField":"1968-07-20","stringDateTimeField":"1907-10-03T06:23:19Z","stringField":"PfgmmQsrJ","stringTimeField":"16:58:08.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763654Z","intField":314,"numField":445.89923367644224,"stringDateField":"1968-07-20","stringDateTimeField":"1907-10-03T06:23:19Z","stringField":"PfgmmQsrJ","stringTimeField":"16:58:08.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1970,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1970,"uuid":"9e0a8987-5655-11ee-8001-675ed0f8e89b"},"arrayField":["pkbkVTyUlo","gIBfEe","RwQqtvOj","xuJBDPmQzx","pyRJicnn","CqNCBwOm"],"boolField":true,"intField":-77,"numField":780.092664089707,"objField":{"pCYhDR":-1340985738142281496},"stringDateField":"1961-11-08","stringDateTimeField":"1972-06-03T02:07:57Z","stringField":"VZkyMX","stringTimeField":"23:45:20.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":-77,"numField":780.092664089707,"stringDateField":"1961-11-08","stringDateTimeField":"1972-06-03T02:07:57Z","stringField":"VZkyMX","stringTimeField":"23:45:20.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1971,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1971,"uuid":"9e0a8987-5655-11ee-8401-675ed0f8e89b"},"arrayField":["sgXadZ","YLNbEj","asJg","NefWBgGr","TejXcFpNNH","MtTwUmHIKg","LVctuUNRbg","rilIe","iZLhDTYZq","nCrW"],"boolField":false,"intField":-984,"numField":148.22624705499533,"objField":{"StmUEgGz":3677030726543752993},"stringDateField":"1966-04-14","stringDateTimeField":"1927-12-12T21:58:26Z","stringField":"SFEVzpxf","stringTimeField":"04:33:49.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":-984,"numField":148.22624705499533,"stringDateField":"1966-04-14","stringDateTimeField":"1927-12-12T21:58:26Z","stringField":"SFEVzpxf","stringTimeField":"04:33:49.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1972,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1972,"uuid":"9e0a8987-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ZZaj","iOUzWwab","KIdrem","crfwaYFF","KgIWqJXdL","PFxL","WlBXpIYZR","UxhXdE","gdKsTqLmBC","WfOzAfMH"],"boolField":false,"intField":-407,"numField":224.07891170698392,"objField":{"GWIluTkHz":2722475263424433572,"SRIoER":-2093822153843099739},"stringDateField":"1907-07-27","stringDateTimeField":"1949-12-12T10:05:08Z","stringField":"OUkIcaQWm","stringTimeField":"11:19:32.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":-407,"numField":224.07891170698392,"stringDateField":"1907-07-27","stringDateTimeField":"1949-12-12T10:05:08Z","stringField":"OUkIcaQWm","stringTimeField":"11:19:32.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1973,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1973,"uuid":"9e0a8987-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["bmrexjMcH","xzcKPytX","bgZvnCsj","GsSMOFfkf","zmsHLP","wdEneSjPsW","nTHu","HuwummRxi","OSvXv"],"boolField":false,"intField":-236,"numField":-75.72355482808923,"objField":{"EtEp":2774210352852098499,"LyHMKuG":-5869140817060731887,"POxeIUyehS":-3348041862350080061,"QYRDNfphzk":-1964372599556376551,"RMtRIG":5711267855995662176,"TqPYTvBIE":-6391362784067719259,"iWLldt":-1048538843979804198,"pGnkhqRtnx":7387296961700765906,"vsPbXpIkU":443017178905327465},"stringDateField":"1980-01-19","stringDateTimeField":"1934-07-23T07:00:13Z","stringField":"IryDEa","stringTimeField":"00:44:56.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":-236,"numField":-75.72355482808923,"stringDateField":"1980-01-19","stringDateTimeField":"1934-07-23T07:00:13Z","stringField":"IryDEa","stringTimeField":"00:44:56.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1974,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1974,"uuid":"9e0a8987-5655-11ee-9001-675ed0f8e89b"},"arrayField":["bvxM","uwoWpsfJJh","sIad","ykUO"],"boolField":false,"intField":-989,"numField":-363.3790165838126,"objField":{"fJQUZxFFm":7321936855881604803,"itHpNpLZb":3079846715309737363,"rNKMGPAW":-1317185934852996375,"zivmS":-7498637591421131891},"stringDateField":"2008-12-01","stringDateTimeField":"1950-07-04T07:55:15Z","stringField":"rzWoD","stringTimeField":"04:54:30.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":-989,"numField":-363.3790165838126,"stringDateField":"2008-12-01","stringDateTimeField":"1950-07-04T07:55:15Z","stringField":"rzWoD","stringTimeField":"04:54:30.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1975,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1975,"uuid":"9e0a8987-5655-11ee-9401-675ed0f8e89b"},"arrayField":["FnHCm","gcEINXXdb"],"boolField":false,"intField":302,"numField":631.2752619338835,"objField":{"ANfX":-6960073147334892185,"KAHxy":-2651632673109986281,"jwOp":773820397318952856,"tpGPg":-8426046485783348078,"vGIskw":6186681764844326504},"stringDateField":"2006-08-11","stringDateTimeField":"1952-07-01T20:51:33Z","stringField":"XiJMyHo","stringTimeField":"14:13:00.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":302,"numField":631.2752619338835,"stringDateField":"2006-08-11","stringDateTimeField":"1952-07-01T20:51:33Z","stringField":"XiJMyHo","stringTimeField":"14:13:00.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1976,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1976,"uuid":"9e0a8987-5655-11ee-9801-675ed0f8e89b"},"arrayField":["tmpPpecMPn","uYBJNKdXv","lJOFmhBDL","ERtItwwcv","Pcril","zFcGL","byeWzHprmo","OTPim","nqCPlqY","pVCnn"],"boolField":true,"intField":165,"numField":214.04364328681513,"objField":{"sGOHEc":3875088275481993492},"stringDateField":"1933-10-20","stringDateTimeField":"1997-11-04T17:00:37Z","stringField":"OFJR","stringTimeField":"09:57:24.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":165,"numField":214.04364328681513,"stringDateField":"1933-10-20","stringDateTimeField":"1997-11-04T17:00:37Z","stringField":"OFJR","stringTimeField":"09:57:24.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1977,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1977,"uuid":"9e0a8987-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["XEYUDL","XRGTQvWVbG","UjEjpy","lXPj"],"boolField":false,"intField":685,"numField":-525.3035839019759,"objField":{"SRGXPBf":2020038459204945788,"Tnfb":7992296997932692555,"TryZomc":-145271869269019964,"funuy":-1557132805044071189,"hWZCIm":-2084508882522615011,"tYNA":-3313016963424847097,"yjhsc":5911171003290496431},"stringDateField":"2016-11-23","stringDateTimeField":"1905-08-16T13:30:46Z","stringField":"DxSIX","stringTimeField":"23:14:03.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":685,"numField":-525.3035839019759,"stringDateField":"2016-11-23","stringDateTimeField":"1905-08-16T13:30:46Z","stringField":"DxSIX","stringTimeField":"23:14:03.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1978,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1978,"uuid":"9e0a8987-5655-11ee-a001-675ed0f8e89b"},"arrayField":["SZmtZIRf","FfysiQve","OcoHW","tHRJim","nXlzk","DmszpZgcT","fhXrJu","DkBiPkPZuc","OsRdM","DTHOBidmk"],"boolField":true,"intField":786,"numField":261.23493086876846,"objField":{"cwJbaI":-7837935679587444009},"stringDateField":"1966-10-30","stringDateTimeField":"1977-07-25T20:34:04Z","stringField":"aXsX","stringTimeField":"02:56:50.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":786,"numField":261.23493086876846,"stringDateField":"1966-10-30","stringDateTimeField":"1977-07-25T20:34:04Z","stringField":"aXsX","stringTimeField":"02:56:50.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1979,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1979,"uuid":"9e0a8987-5655-11ee-a401-675ed0f8e89b"},"arrayField":["KDmY"],"boolField":true,"intField":239,"numField":127.3357867004914,"objField":{"QHwEkCPp":5886107272322630618,"UzNk":8420342206077719578,"VmgMNISYSB":8847067091548422228,"YKJhBOCV":-5101508917025725928,"cHnHEIo":2598957269260509134,"euDIS":2456794528495022807,"uDOFhoTKT":-2039846930898561650,"ytLbMA":1315856538938200975},"stringDateField":"1969-07-29","stringDateTimeField":"1947-10-23T16:44:06Z","stringField":"NFZjCGEFyY","stringTimeField":"00:48:53.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":239,"numField":127.3357867004914,"stringDateField":"1969-07-29","stringDateTimeField":"1947-10-23T16:44:06Z","stringField":"NFZjCGEFyY","stringTimeField":"00:48:53.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1980,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1980,"uuid":"9e0a8987-5655-11ee-a801-675ed0f8e89b"},"arrayField":["VDAZQ","KsqeJ","BiTc","QOBNfoqS","Mohg"],"boolField":false,"intField":-41,"numField":146.91905220321954,"objField":{"MqyfRlx":9146949569341862240,"MyQetaVd":-5270728393702471032,"PRdzm":-1521627196753379510,"QweCALDX":-4831514574498899446,"TXPQJw":-2768852110930228190,"cZVQBWB":-7226892854989621636,"gBkYPfnJK":-681084183709825227,"gFzE":6775367806057761103,"iwRnRcpWy":4357803478202550493,"ocijhyfDVO":-2919710354805718825},"stringDateField":"2023-05-11","stringDateTimeField":"1929-08-14T23:25:52Z","stringField":"pEbOqLJtd","stringTimeField":"01:53:18.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":-41,"numField":146.91905220321954,"stringDateField":"2023-05-11","stringDateTimeField":"1929-08-14T23:25:52Z","stringField":"pEbOqLJtd","stringTimeField":"01:53:18.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1981,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1981,"uuid":"9e0a8987-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["fcYLHTcL","gdesjizOe","fUyeggWejw","CxqDewXbDa","TgCp","mWpkAUx"],"boolField":true,"intField":721,"numField":-576.6111863200607,"objField":{"LlgAiMays":9191864352531616936,"RaOQqn":-5638322710162123922,"jtQxTbmo":-7425483682821880890,"tVjZFM":6065843717499244720,"xdQT":-6280020674318362621,"yZeit":3273025299699378673},"stringDateField":"1970-02-17","stringDateTimeField":"1940-08-12T00:19:41Z","stringField":"upPGN","stringTimeField":"15:47:44.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":721,"numField":-576.6111863200607,"stringDateField":"1970-02-17","stringDateTimeField":"1940-08-12T00:19:41Z","stringField":"upPGN","stringTimeField":"15:47:44.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1982,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1982,"uuid":"9e0a8987-5655-11ee-b001-675ed0f8e89b"},"arrayField":["BmovwoEYcU","ftjVC","vjjy","QDtaSAe"],"boolField":true,"intField":145,"numField":776.7634852690857,"objField":{"JXcoaSLOgN":-5414136654572814569,"UpLgGoWUO":1834862348794301430,"fCtLP":-5691790670482985710,"hwGrQHR":4240542029855676474,"igTxu":-1747439532297667031,"jskCkWEoFB":-7480078261189169008,"oLyfmfun":3010601659508943160,"tHJVJEK":4646301531892895388,"uSjaDroLqQ":-1146663032833227934,"veha":7058358247225337052},"stringDateField":"1923-05-28","stringDateTimeField":"1945-06-26T09:24:20Z","stringField":"yIsB","stringTimeField":"16:11:37.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":145,"numField":776.7634852690857,"stringDateField":"1923-05-28","stringDateTimeField":"1945-06-26T09:24:20Z","stringField":"yIsB","stringTimeField":"16:11:37.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1983,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1983,"uuid":"9e0a8987-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ApxOivtKYx","ZIUT","yXkIocz","RSZUHT","pvhFZPsKXl"],"boolField":false,"intField":225,"numField":-443.2237524052709,"objField":{"WpBFcaU":9000421134997317979,"pdgLr":-5041789700872017077},"stringDateField":"1919-06-22","stringDateTimeField":"1943-02-18T17:27:13Z","stringField":"wbLnxBrSmq","stringTimeField":"15:57:00.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":225,"numField":-443.2237524052709,"stringDateField":"1919-06-22","stringDateTimeField":"1943-02-18T17:27:13Z","stringField":"wbLnxBrSmq","stringTimeField":"15:57:00.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1984,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1984,"uuid":"9e0a8987-5655-11ee-b801-675ed0f8e89b"},"arrayField":["LOcqndOBUm","quOPCUdi","zUdqWpq","eDmgRId","iPOxa","BCcWPWHp","ShUf","zzdXg"],"boolField":true,"intField":-6,"numField":80.62341799720096,"objField":{"FxFN":-6610284972152126301,"GOQWctRstT":5510829822298196881,"IHrlVkWwzH":-2594827799524347383,"ShaGU":352372813072751112,"TdPZYZe":-6191992576927953329,"fSbnD":-8364477172480397062,"hDhPPWMHE":2827501943555934176,"rVgVDtAU":1839299816345078071,"tdVyxd":1834145811906286,"yoyzYAS":-6635947427286838330},"stringDateField":"2008-08-15","stringDateTimeField":"1988-02-12T02:52:12Z","stringField":"nQAvWmL","stringTimeField":"17:00:39.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":-6,"numField":80.62341799720096,"stringDateField":"2008-08-15","stringDateTimeField":"1988-02-12T02:52:12Z","stringField":"nQAvWmL","stringTimeField":"17:00:39.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1985,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1985,"uuid":"9e0a8987-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["rECIGCc","zSNhbs","olZvKdQjpy","fWCdH","OmnXQePwtx"],"boolField":false,"intField":40,"numField":462.8511723663946,"objField":{"ADWoyW":-1230470778832898788,"AGExXomUB":1740529671608758220,"BsIoA":1764990448248038688,"MQHpPKmba":110251222087269488,"lZtRDi":1050443775570216600,"qxReQNy":-6316700125958297866,"utHuLMZswf":6420329369241381802},"stringDateField":"1944-12-05","stringDateTimeField":"1923-05-04T15:14:51Z","stringField":"ljxjuNDVii","stringTimeField":"21:36:05.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763655Z","intField":40,"numField":462.8511723663946,"stringDateField":"1944-12-05","stringDateTimeField":"1923-05-04T15:14:51Z","stringField":"ljxjuNDVii","stringTimeField":"21:36:05.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1986,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1986,"uuid":"9e0a8988-5655-11ee-8001-675ed0f8e89b"},"arrayField":["KjqMhbeBjZ","PhBnvR","zcQkZJZM","AXwMc","pGkShH","kJoAvWL","RMad","xjSUK"],"boolField":false,"intField":463,"numField":-849.0545159599734,"objField":{"BADkRMyaN":-634736443559164043,"TEqxlo":7263640979844803419,"hWdvFT":3613599412732258718},"stringDateField":"2020-04-11","stringDateTimeField":"1917-01-06T12:26:55Z","stringField":"uDBuRWQpA","stringTimeField":"18:32:48.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":463,"numField":-849.0545159599734,"stringDateField":"2020-04-11","stringDateTimeField":"1917-01-06T12:26:55Z","stringField":"uDBuRWQpA","stringTimeField":"18:32:48.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1987,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1987,"uuid":"9e0a8988-5655-11ee-8401-675ed0f8e89b"},"arrayField":["BhTCYh","UIFk","rAsR","JlmsOMo","nfBJtSo","knoW","dKDy"],"boolField":false,"intField":641,"numField":-925.5192466824972,"objField":{"hjxYCxbP":-2705956615354434689,"qlISQ":7451235230139636466},"stringDateField":"1907-04-21","stringDateTimeField":"1926-08-02T12:38:37Z","stringField":"tZHXb","stringTimeField":"21:24:40.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":641,"numField":-925.5192466824972,"stringDateField":"1907-04-21","stringDateTimeField":"1926-08-02T12:38:37Z","stringField":"tZHXb","stringTimeField":"21:24:40.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1988,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1988,"uuid":"9e0a8988-5655-11ee-8801-675ed0f8e89b"},"arrayField":["xKhoUPDPwk","vRUX"],"boolField":true,"intField":501,"numField":10.669502709237388,"objField":{"HnsBQqmaRb":-6196283408873087187,"dAjdcqSFM":5960915407778620803,"ffyh":-6214875175915142278,"hVsRECbvK":6208906737397079597,"moRE":-8984876167787382384,"nykpaClu":-2885066697535734449,"xvtFtAU":-5231433740709420121,"xxQZi":5153617289145820509},"stringDateField":"1957-05-27","stringDateTimeField":"1952-02-03T03:53:47Z","stringField":"yPfkJCVRp","stringTimeField":"13:35:59.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":501,"numField":10.669502709237388,"stringDateField":"1957-05-27","stringDateTimeField":"1952-02-03T03:53:47Z","stringField":"yPfkJCVRp","stringTimeField":"13:35:59.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1989,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1989,"uuid":"9e0a8988-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["xrZyznsdBf","nnxy","eaREE","wljY","zFEQaNiHyR"],"boolField":false,"intField":761,"numField":-486.3566373717484,"objField":{"GOdHeZ":8785171131697494414,"IgKrjOdEE":-6705576321664533248,"KUXF":-3333858451109097660,"LgsldinFvf":-1132631027774946534,"NliDdbE":3180366872291003331,"TGjg":7020575537663576133,"ZRtZUKI":-7724674878356598040,"bfbtyBZ":-2077742062003183079,"rKNK":-4634825711905784269,"sTBa":7568226709985721786},"stringDateField":"1946-10-30","stringDateTimeField":"1985-02-05T07:42:40Z","stringField":"HhWMaACuCB","stringTimeField":"05:27:20.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":761,"numField":-486.3566373717484,"stringDateField":"1946-10-30","stringDateTimeField":"1985-02-05T07:42:40Z","stringField":"HhWMaACuCB","stringTimeField":"05:27:20.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1990,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1990,"uuid":"9e0a8988-5655-11ee-9001-675ed0f8e89b"},"arrayField":["wCkVPUTsZv","geFtGa","vvRgZM","nfpjyheGT","ntBz","kRgdbgWl","iORntOgfh","cnxZ"],"boolField":false,"intField":-232,"numField":-707.973562850056,"objField":{"MLXmm":-881514020909255037,"SSgbt":6677682195577141807,"VTEk":-8171006703363715077,"cNXogjdg":-1258986709552199003,"dNWUGxvdYz":385433776912549080,"eBqOp":2812905013148718325,"fOmaQtf":666594475480337569,"hkss":6704815046537061605,"ruxxdVcMz":-3864404867983469276,"xSPhJjB":4651964517116254123},"stringDateField":"1919-11-09","stringDateTimeField":"1959-12-03T02:27:52Z","stringField":"kEiCs","stringTimeField":"17:22:00.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":-232,"numField":-707.973562850056,"stringDateField":"1919-11-09","stringDateTimeField":"1959-12-03T02:27:52Z","stringField":"kEiCs","stringTimeField":"17:22:00.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1991,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1991,"uuid":"9e0a8988-5655-11ee-9401-675ed0f8e89b"},"arrayField":["iXMyi","ptTgKVFG","oTraiss","GKcV"],"boolField":false,"intField":108,"numField":271.3800568129345,"objField":{"AecgGrEKn":-6197506177465093022,"BJOVcd":6587686096763037077,"Cmsd":8427429352018288117,"OaUiTO":-5499038581805152715,"PMqxtBPH":-8703066403295577714,"RnQFR":1746305939112210794,"WJiU":-7662139612885264023,"aTuPngid":-2299802296455769139,"jDiapDKJ":-4803371566919957994,"rVfSfHYVdE":-7976781329002263135},"stringDateField":"2000-12-30","stringDateTimeField":"1986-02-26T14:43:07Z","stringField":"GMWR","stringTimeField":"19:39:15.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":108,"numField":271.3800568129345,"stringDateField":"2000-12-30","stringDateTimeField":"1986-02-26T14:43:07Z","stringField":"GMWR","stringTimeField":"19:39:15.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1992,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1992,"uuid":"9e0a8988-5655-11ee-9801-675ed0f8e89b"},"arrayField":["PmHeHoIHdb","dkxk","iSOCAlYDFx","FjEckbCY"],"boolField":true,"intField":-112,"numField":-862.3023940392295,"objField":{"AWstYL":5554278058338687381,"FQbD":7613786521226886509,"RkYfpo":-9053991363429406338,"TEIXMQItt":-5275977451877790359,"vpVUAJC":-7888137809771585824},"stringDateField":"1988-07-07","stringDateTimeField":"2007-02-13T15:28:27Z","stringField":"wsmLLc","stringTimeField":"06:11:16.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":-112,"numField":-862.3023940392295,"stringDateField":"1988-07-07","stringDateTimeField":"2007-02-13T15:28:27Z","stringField":"wsmLLc","stringTimeField":"06:11:16.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1993,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1993,"uuid":"9e0a8988-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["bquuLnfH","pNnPLvC","mRBgAOZ"],"boolField":false,"intField":-801,"numField":44.70446261824934,"objField":{"DVspnpNN":-4973000282136302584,"mrkydg":228420023312981742},"stringDateField":"1903-03-09","stringDateTimeField":"1979-02-15T10:19:55Z","stringField":"UCOA","stringTimeField":"22:39:03.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":-801,"numField":44.70446261824934,"stringDateField":"1903-03-09","stringDateTimeField":"1979-02-15T10:19:55Z","stringField":"UCOA","stringTimeField":"22:39:03.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1994,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1994,"uuid":"9e0a8988-5655-11ee-a001-675ed0f8e89b"},"arrayField":["fRGvfQEzv","SyEVbjch","tYkqqrf","plwhLNB","dTohm","rvsnECoYc","rQgOaE"],"boolField":true,"intField":975,"numField":-185.39795748599076,"objField":{"HXDX":-3681037380709596333,"NlycBaKGH":1966512141407502905,"XGGkZ":653840447221374029,"aGnwvjVGL":1929186172946261831,"kPBKgjhbGF":1022375660297250125,"tfipryp":1275207970772207234,"tkdQuNaD":-1607442639101747900,"wuyCLkNAD":-3208301611001403232},"stringDateField":"1947-10-05","stringDateTimeField":"1949-04-24T12:19:50Z","stringField":"ZXjOnTxBM","stringTimeField":"22:36:05.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":975,"numField":-185.39795748599076,"stringDateField":"1947-10-05","stringDateTimeField":"1949-04-24T12:19:50Z","stringField":"ZXjOnTxBM","stringTimeField":"22:36:05.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1995,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1995,"uuid":"9e0a8988-5655-11ee-a401-675ed0f8e89b"},"arrayField":["wllwDXb","eoqCn","ihnlc","CTpb","NXrDrWmp","OluNd","lMsD","ImlXEJHR","eCcJZfYb","nNlVojuM"],"boolField":false,"intField":-498,"numField":-308.75870305034425,"objField":{"BhEIFqGsC":427526067533571426,"KeAX":4969186091141932530,"NUPBpxd":3517038780558133268,"WxDCgi":-875637370066911265,"bBPqTMvuvW":-7912278387185009651,"rvofueSEl":-5438969651427698268},"stringDateField":"1924-02-02","stringDateTimeField":"1933-03-31T04:33:17Z","stringField":"jXEoiqiOy","stringTimeField":"13:15:26.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":-498,"numField":-308.75870305034425,"stringDateField":"1924-02-02","stringDateTimeField":"1933-03-31T04:33:17Z","stringField":"jXEoiqiOy","stringTimeField":"13:15:26.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1996,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1996,"uuid":"9e0a8988-5655-11ee-a801-675ed0f8e89b"},"arrayField":["MYFJLncDDs"],"boolField":false,"intField":-71,"numField":285.96780590442927,"objField":{"CagOugxj":7889357630406566863,"KjNZcT":2047486701135168633,"TrDi":-7569318744898851841},"stringDateField":"1991-08-10","stringDateTimeField":"1947-07-07T22:14:36Z","stringField":"iOjxEUtw","stringTimeField":"21:40:13.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":-71,"numField":285.96780590442927,"stringDateField":"1991-08-10","stringDateTimeField":"1947-07-07T22:14:36Z","stringField":"iOjxEUtw","stringTimeField":"21:40:13.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1997,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1997,"uuid":"9e0a8988-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["SKyZEV","oVZZaL","aNtKVaTU","FmBs","fXSCISMo","lbATLvGO"],"boolField":false,"intField":205,"numField":-416.63359457404334,"objField":{"EWxSud":-8954436521023892361,"FFWvNaX":-877588539568827863,"HBeVndnu":-904986380350748128,"OhWmH":-6343771794132508466,"VhLTgBeN":4586905080323693223,"dCXSfIE":3155531486090551136,"efqDueM":-2782777357060692285,"lZkQDa":5294637660091549708,"lqoYcHTqKH":8086877823827038488,"sOrumxcZ":-200912175609084702},"stringDateField":"1963-01-25","stringDateTimeField":"1976-01-11T12:37:08Z","stringField":"LevKUWOq","stringTimeField":"19:16:34.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":205,"numField":-416.63359457404334,"stringDateField":"1963-01-25","stringDateTimeField":"1976-01-11T12:37:08Z","stringField":"LevKUWOq","stringTimeField":"19:16:34.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1998,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1998,"uuid":"9e0a8988-5655-11ee-b001-675ed0f8e89b"},"arrayField":["TQJkGQvB","qPLqQ","cyQmkPOE"],"boolField":false,"intField":-131,"numField":345.800658491388,"objField":{"suefTmor":-2807190036987771220},"stringDateField":"1969-09-22","stringDateTimeField":"1995-09-20T07:44:08Z","stringField":"xajTwuk","stringTimeField":"16:26:26.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":-131,"numField":345.800658491388,"stringDateField":"1969-09-22","stringDateTimeField":"1995-09-20T07:44:08Z","stringField":"xajTwuk","stringTimeField":"16:26:26.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":1999,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":1999,"uuid":"9e0a8988-5655-11ee-b401-675ed0f8e89b"},"arrayField":["KkECxGi","ammbPXG","LEGYdKA","CsDahKiVT","oxBIM","YmOgOg","zxkvUmBb","BzcmHDBx","fIKfXu","qXUjbTuPp"],"boolField":false,"intField":-257,"numField":-288.8196275741448,"objField":{"FphvYaP":-2971388705133061912,"Ilaw":9172640959067883375,"YrnRzVaDOB":5682429290197257393},"stringDateField":"2004-04-24","stringDateTimeField":"2014-07-01T01:56:02Z","stringField":"uXsTEbD","stringTimeField":"20:00:14.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":-257,"numField":-288.8196275741448,"stringDateField":"2004-04-24","stringDateTimeField":"2014-07-01T01:56:02Z","stringField":"uXsTEbD","stringTimeField":"20:00:14.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2000,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2000,"uuid":"9e0a8988-5655-11ee-b801-675ed0f8e89b"},"arrayField":["GmDmgb"],"boolField":false,"intField":0,"numField":-686.2003217865588,"objField":{"DFBFniQmFG":8646212284332392608,"JNBt":-1315577594511687366,"NvhlKgIR":5751340400160674509,"SKbbXZPByk":2871497134482674433,"VKEzGxKsW":-3841261397053590601,"agwzU":6514081997075493322,"iJkue":-7667687009483843021,"nsanpxi":-2834880559184418742,"xQxXqo":8748923437840349208},"stringDateField":"1971-12-29","stringDateTimeField":"2003-10-03T08:18:21Z","stringField":"DUZtFpyRhd","stringTimeField":"02:23:55.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":0,"numField":-686.2003217865588,"stringDateField":"1971-12-29","stringDateTimeField":"2003-10-03T08:18:21Z","stringField":"DUZtFpyRhd","stringTimeField":"02:23:55.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2001,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2001,"uuid":"9e0a8988-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["CHAHg","uZaTK","XRcsFFTB","UxUy"],"boolField":true,"intField":-841,"numField":-987.8146717876924,"objField":{"KZePU":970694411755134220,"MxYLHfN":5531516347319357656,"fZKibNvMMo":-3479461676174802351,"iquiWBEBI":1285655660413289822,"vtCLmza":8863695856465877080,"ySmFbkp":2291136712529185788},"stringDateField":"1919-08-03","stringDateTimeField":"1950-04-21T00:29:06Z","stringField":"tUtszjP","stringTimeField":"09:47:04.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763656Z","intField":-841,"numField":-987.8146717876924,"stringDateField":"1919-08-03","stringDateTimeField":"1950-04-21T00:29:06Z","stringField":"tUtszjP","stringTimeField":"09:47:04.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2002,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2002,"uuid":"9e0a8989-5655-11ee-8001-675ed0f8e89b"},"arrayField":["eMdP","KpBL","YbonJTm"],"boolField":false,"intField":-149,"numField":-663.1531906326046,"objField":{"unpo":7020379913775906824},"stringDateField":"1966-10-05","stringDateTimeField":"1978-08-27T14:13:37Z","stringField":"FNgmkB","stringTimeField":"12:51:33.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":-149,"numField":-663.1531906326046,"stringDateField":"1966-10-05","stringDateTimeField":"1978-08-27T14:13:37Z","stringField":"FNgmkB","stringTimeField":"12:51:33.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2003,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2003,"uuid":"9e0a8989-5655-11ee-8401-675ed0f8e89b"},"arrayField":["SIIAZW","hcSkV","aFQF","ibVCzVhYql","ccdQyE","yYAbbQTr"],"boolField":false,"intField":-259,"numField":537.9844797952267,"objField":{"FblummxT":-4638755971725700498,"Jshop":-7126398555165051702,"XptlpY":-4877836047968852779,"qZXpWY":405625304977742335,"ulOwV":6965049446818728910},"stringDateField":"1983-06-03","stringDateTimeField":"1911-10-01T12:53:32Z","stringField":"HVWicJE","stringTimeField":"06:26:14.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":-259,"numField":537.9844797952267,"stringDateField":"1983-06-03","stringDateTimeField":"1911-10-01T12:53:32Z","stringField":"HVWicJE","stringTimeField":"06:26:14.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2004,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2004,"uuid":"9e0a8989-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ftFMKGW","xfYE"],"boolField":false,"intField":-982,"numField":899.2060473278963,"objField":{"KJvlUn":-5166584604850112297,"oUoBFiGrMx":9218511342701030006,"sBHfGp":-2596430115868537928,"wOpVIjqD":2198996525379776887},"stringDateField":"2016-09-04","stringDateTimeField":"1928-05-01T03:01:57Z","stringField":"NvKtLmZV","stringTimeField":"16:56:20.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":-982,"numField":899.2060473278963,"stringDateField":"2016-09-04","stringDateTimeField":"1928-05-01T03:01:57Z","stringField":"NvKtLmZV","stringTimeField":"16:56:20.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2005,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2005,"uuid":"9e0a8989-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["XLZgydjL","GAzapgfeM","nMDQdyaPtm"],"boolField":true,"intField":904,"numField":522.9927917477872,"objField":{"aBTrvzwMW":-5880933995560955636},"stringDateField":"1970-06-09","stringDateTimeField":"1997-12-05T06:04:08Z","stringField":"UJhyjlpOZ","stringTimeField":"06:58:20.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":904,"numField":522.9927917477872,"stringDateField":"1970-06-09","stringDateTimeField":"1997-12-05T06:04:08Z","stringField":"UJhyjlpOZ","stringTimeField":"06:58:20.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2006,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2006,"uuid":"9e0a8989-5655-11ee-9001-675ed0f8e89b"},"arrayField":["iIFkdLqmq"],"boolField":false,"intField":-494,"numField":860.4970473261211,"objField":{"SepHnIvpCu":-3161843159269034666,"XDHDK":2016153030377709443,"nvkCykw":8833689607857170912,"pLMVQINmR":-8720827632995501470,"vtFQFOD":-663181947096779622,"zBKuYSTdX":-7898263075065410675},"stringDateField":"2006-11-19","stringDateTimeField":"1987-08-02T14:50:35Z","stringField":"piuOUQDFl","stringTimeField":"13:00:56.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":-494,"numField":860.4970473261211,"stringDateField":"2006-11-19","stringDateTimeField":"1987-08-02T14:50:35Z","stringField":"piuOUQDFl","stringTimeField":"13:00:56.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2007,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2007,"uuid":"9e0a8989-5655-11ee-9401-675ed0f8e89b"},"arrayField":["chJf","sKZMEA","HVav","wkBoWVsP"],"boolField":true,"intField":-763,"numField":58.36691800199878,"objField":{"RPXWyZl":-3643658108232435762,"lduJvdVnbV":3690314699095395129,"mFIIXiNE":-7890509833042688975,"owqdcHh":1056395657808530919,"rNHr":1130176418711760566,"vjesZevSKj":-1104177523203715589,"yamWQ":-4267536180475432403},"stringDateField":"1939-01-19","stringDateTimeField":"1985-04-28T23:31:03Z","stringField":"JpKgfDESTi","stringTimeField":"14:22:35.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":-763,"numField":58.36691800199878,"stringDateField":"1939-01-19","stringDateTimeField":"1985-04-28T23:31:03Z","stringField":"JpKgfDESTi","stringTimeField":"14:22:35.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2008,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2008,"uuid":"9e0a8989-5655-11ee-9801-675ed0f8e89b"},"arrayField":["pOcmiCd","GijBQGU","YQjHUd","lJLuSAZGc","uynVwvzeNk","dWXk","meAzNzbYKQ","AxrK","inqJ","eDoiGm"],"boolField":true,"intField":772,"numField":-118.81194497470491,"objField":{"KYKNWXWjxl":5923481961884722334,"KbGYt":-6732305053654049907,"bbMtWj":-8606026820320604994,"kCMEcG":-2059432663712862541,"mfdFZsnERI":-5814377471991542590,"nFFq":1428363758179247662,"qkBVDfKaPu":4173519247569625886,"zaXW":-1501373410925921925},"stringDateField":"1989-10-08","stringDateTimeField":"1933-03-16T05:38:53Z","stringField":"GfQvh","stringTimeField":"17:18:48.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":772,"numField":-118.81194497470491,"stringDateField":"1989-10-08","stringDateTimeField":"1933-03-16T05:38:53Z","stringField":"GfQvh","stringTimeField":"17:18:48.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2009,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2009,"uuid":"9e0a8989-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ArocWgVp","tFDFvLbnKq"],"boolField":true,"intField":-234,"numField":-209.91217443785172,"objField":{"CUkfam":-6653292031433096155,"UVCVdFlK":-7477387229192870574,"pEMggO":7588894010132553675},"stringDateField":"1947-07-01","stringDateTimeField":"1982-02-05T20:17:30Z","stringField":"mTkc","stringTimeField":"01:57:35.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":-234,"numField":-209.91217443785172,"stringDateField":"1947-07-01","stringDateTimeField":"1982-02-05T20:17:30Z","stringField":"mTkc","stringTimeField":"01:57:35.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2010,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2010,"uuid":"9e0a8989-5655-11ee-a001-675ed0f8e89b"},"arrayField":["RmuAleEDc","RxurS","EpvPlBLWUh","JlnK","JLXfOfT","YFfXmtz"],"boolField":true,"intField":-493,"numField":-96.4615895769948,"objField":{"AnzaqG":7268832524291133478,"Eess":-6765344131950681822,"FyyPk":-3927375261909483390,"Sgfa":-8849893575651767922,"VtWWKBrl":5203023492884508223,"nuvuyfcCg":8701412627819504530,"qvGIVAVm":285437893649349479,"vTTRLSwIrF":6803185174852828589,"vVLHAwZAx":-427069078771868625},"stringDateField":"1957-06-19","stringDateTimeField":"1971-07-01T05:00:14Z","stringField":"QNmMPmDZoA","stringTimeField":"18:20:34.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":-493,"numField":-96.4615895769948,"stringDateField":"1957-06-19","stringDateTimeField":"1971-07-01T05:00:14Z","stringField":"QNmMPmDZoA","stringTimeField":"18:20:34.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2011,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2011,"uuid":"9e0a8989-5655-11ee-a401-675ed0f8e89b"},"arrayField":["YpFwF","DzQCSBlW","VHSUqznm","IiBc"],"boolField":true,"intField":789,"numField":-462.3917525722557,"objField":{"NSkuPfhgi":4931765526564770021,"TVMDQbLjW":-4171242473673794886,"XUlvQi":4370677034381350652,"YSUdkG":-8034594588946777130,"fGfvZdAmN":6732643928386488987,"mPrYwZy":-4284760459580395639,"wntHZFe":2224460227932847344},"stringDateField":"1986-07-26","stringDateTimeField":"2011-01-20T09:51:53Z","stringField":"rDSI","stringTimeField":"16:18:57.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":789,"numField":-462.3917525722557,"stringDateField":"1986-07-26","stringDateTimeField":"2011-01-20T09:51:53Z","stringField":"rDSI","stringTimeField":"16:18:57.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2012,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2012,"uuid":"9e0a8989-5655-11ee-a801-675ed0f8e89b"},"arrayField":["OpsQj","XClOg","zqHXmCI","xraInBZ","KddDZy","Hqug","xYzYDbeJoV","ZCxrxug","GJRRZbVT"],"boolField":false,"intField":-146,"numField":-844.7128681038222,"objField":{"BIBiRJB":-7062298792603971239,"DoJuSHitTf":3815813030638201981,"EvUjobuk":-2637679185790321155,"JSsIrlao":-2710944967414447673,"JWNsXePy":3744832512005007204,"TkkctRgo":-8747220693894296505,"xFqfoNw":-8720688298376443039,"xxvqOAxH":2336757668460091629},"stringDateField":"1924-02-04","stringDateTimeField":"1929-10-23T18:09:19Z","stringField":"qUlU","stringTimeField":"01:25:27.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":-146,"numField":-844.7128681038222,"stringDateField":"1924-02-04","stringDateTimeField":"1929-10-23T18:09:19Z","stringField":"qUlU","stringTimeField":"01:25:27.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2013,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2013,"uuid":"9e0a8989-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["KpWf","atzjOhvR","LphsM","nHtcqhJK","NukUh"],"boolField":true,"intField":736,"numField":-3.0464634321326622,"objField":{"PEiRGrz":7704602323982963683,"ikYyMftCA":4137437231821792317,"nahSR":-8674725941786567258,"sHMvFG":8043426747536200170,"zfMYwW":-8146357055341321832,"zykZmff":-7128195306046266957},"stringDateField":"1941-08-29","stringDateTimeField":"2009-03-03T01:41:07Z","stringField":"pYad","stringTimeField":"09:31:30.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":736,"numField":-3.0464634321326622,"stringDateField":"1941-08-29","stringDateTimeField":"2009-03-03T01:41:07Z","stringField":"pYad","stringTimeField":"09:31:30.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2014,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2014,"uuid":"9e0a8989-5655-11ee-b001-675ed0f8e89b"},"arrayField":["KpMWvM","cBKyhlWEMC","RKPSuHaX","cPOn","EtAeBkaahB","epebDIjBb"],"boolField":true,"intField":6,"numField":715.2318935789948,"objField":{"DeJEWyARKD":5869985231543115736,"SMTLJo":-6103367923129417955,"dSAKMchCMu":-3680761175941836898,"eBwqgPLu":-5112992133191632056,"jyQzRhGRU":6738879674250995968,"keQD":4023856519617184712,"lNNvOhidV":-7265142454513061751,"pMyd":-310718109902780921,"wjfnFqIYf":3377104517241133858},"stringDateField":"1948-01-17","stringDateTimeField":"1979-05-27T03:06:22Z","stringField":"FLlMYlRg","stringTimeField":"13:09:55.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":6,"numField":715.2318935789948,"stringDateField":"1948-01-17","stringDateTimeField":"1979-05-27T03:06:22Z","stringField":"FLlMYlRg","stringTimeField":"13:09:55.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2015,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2015,"uuid":"9e0a8989-5655-11ee-b401-675ed0f8e89b"},"arrayField":["iGxv","MEfjVMhZjR"],"boolField":false,"intField":285,"numField":-3.935778124411704,"objField":{"OcFY":5235227232138841759,"QDFuzhlw":1372108743056358908,"RdIMs":-7576236252800577425,"YHzDsZeBR":83929252732791372,"iAit":-387760189402583057,"iveqAwDZP":-4466668997496680974,"mFJnfEBg":-3206816097548420611,"sHataSV":8397918519422060741},"stringDateField":"1938-07-01","stringDateTimeField":"1950-04-27T15:15:55Z","stringField":"mXwjqZZq","stringTimeField":"08:48:09.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":285,"numField":-3.935778124411704,"stringDateField":"1938-07-01","stringDateTimeField":"1950-04-27T15:15:55Z","stringField":"mXwjqZZq","stringTimeField":"08:48:09.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2016,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2016,"uuid":"9e0a8989-5655-11ee-b801-675ed0f8e89b"},"arrayField":["jwnKG","PFwXvcr","YTcwex","hynIEMr","ZgyPyvd"],"boolField":true,"intField":-43,"numField":-965.4736353268836,"objField":{"DGdc":5005061874637392580,"KPgxDAd":-175687383356456977,"VcnpYCXJ":-2803586223360791623,"aCHYDkcdYy":364372631515248792,"rqQu":6130742328666224731,"yDtYIb":2438243394446245318},"stringDateField":"1964-02-23","stringDateTimeField":"1991-01-29T02:17:47Z","stringField":"aAYaTJ","stringTimeField":"13:24:53.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":-43,"numField":-965.4736353268836,"stringDateField":"1964-02-23","stringDateTimeField":"1991-01-29T02:17:47Z","stringField":"aAYaTJ","stringTimeField":"13:24:53.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2017,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2017,"uuid":"9e0a8989-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["roohSaGO","qtgmzxgo","MlIIJvwnn","LPwFCviNz","nYuQKhp","CZdvZBQLu","ZfRsGngur","mXTQGiq","fNClrG","KOVzEsKmHO"],"boolField":true,"intField":188,"numField":754.8500514158341,"objField":{"aMDr":-9114777818793741905,"ottXGh":-1866796553223338533,"patk":-8142607489347379669,"tJyrASz":6905214434239413267,"tYnQZh":3006180326256569661,"vGYyEb":7210281967511152796},"stringDateField":"1907-01-30","stringDateTimeField":"1936-04-20T13:22:14Z","stringField":"ymzon","stringTimeField":"01:32:57.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763657Z","intField":188,"numField":754.8500514158341,"stringDateField":"1907-01-30","stringDateTimeField":"1936-04-20T13:22:14Z","stringField":"ymzon","stringTimeField":"01:32:57.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2018,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2018,"uuid":"9e0a898a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["JiDk","bhgyeNN","vhijcvT","FFDyAK","aQtSxUl"],"boolField":false,"intField":949,"numField":530.5386194245208,"objField":{"ABYF":-2415829205625558677,"DhVKPd":1227259575117557508,"OcEhSkKc":-167944048225179587,"tBRCg":-2171865072611175154,"yaQLml":-5353528243879170638},"stringDateField":"1980-08-28","stringDateTimeField":"1905-12-05T08:05:44Z","stringField":"xkkL","stringTimeField":"17:21:53.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":949,"numField":530.5386194245208,"stringDateField":"1980-08-28","stringDateTimeField":"1905-12-05T08:05:44Z","stringField":"xkkL","stringTimeField":"17:21:53.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2019,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2019,"uuid":"9e0a898a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["WpBCknaAJ","bjyA","cLIgp","fdvcpEVp","urPgrgDl"],"boolField":false,"intField":-941,"numField":418.2071295504537,"objField":{"BYUJSDtH":-6757643337314163297,"HSruoqigWR":5957138378996119486,"Htxq":-743428170647671350,"IqjWMDMw":-5056013947528090097,"ZjTs":-1603775486721561154,"gNWkcgTL":1165123054942443840},"stringDateField":"2005-09-14","stringDateTimeField":"1919-06-19T04:03:13Z","stringField":"VNxRW","stringTimeField":"06:23:05.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":-941,"numField":418.2071295504537,"stringDateField":"2005-09-14","stringDateTimeField":"1919-06-19T04:03:13Z","stringField":"VNxRW","stringTimeField":"06:23:05.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2020,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2020,"uuid":"9e0a898a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["WalmerOTQ","JPQTPA","EJmeNu","cywcQSeN","yUljtkDQF"],"boolField":true,"intField":404,"numField":-424.24140058057856,"objField":{"GkXSQ":-8660082431784421764,"OkssZ":-5210147530711074009,"bzZP":-4903598826874756501,"iEfhPJepZr":4313263122392097392,"rnwxtmlaIG":7375741993419466987,"spHmsL":-8621629951446659385},"stringDateField":"1941-05-15","stringDateTimeField":"1940-01-21T06:42:26Z","stringField":"VvJAvBjQ","stringTimeField":"17:25:23.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":404,"numField":-424.24140058057856,"stringDateField":"1941-05-15","stringDateTimeField":"1940-01-21T06:42:26Z","stringField":"VvJAvBjQ","stringTimeField":"17:25:23.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2021,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2021,"uuid":"9e0a898a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["lfqIRbOLUt","JVuyU"],"boolField":true,"intField":166,"numField":526.780715966882,"objField":{"AGRR":6407470461358254808,"DdbsERpXBM":-3039250689490937423,"FSWVdR":-1621934818219772297,"KhJkBwDEok":-726785777643547587,"NpNA":4249286711057874586,"XIKTluAz":-2873011945125499944,"ZrQwUYN":1568834931114480977,"qAmdwVcjE":-2434753106310626154},"stringDateField":"1959-06-28","stringDateTimeField":"1960-12-14T01:40:35Z","stringField":"XXtBSH","stringTimeField":"18:29:31.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":166,"numField":526.780715966882,"stringDateField":"1959-06-28","stringDateTimeField":"1960-12-14T01:40:35Z","stringField":"XXtBSH","stringTimeField":"18:29:31.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2022,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2022,"uuid":"9e0a898a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["tJEh","soRlzha","FCAp","YorrjM","ewPLDsA","TEvGYd","XVYKIYbt","YhVJ","FsneVcVTE","bCpowo"],"boolField":true,"intField":-110,"numField":-256.8042843620145,"objField":{"HEXRTlkvt":5377728647381215423,"IZMzpFboK":598160830011846045,"ORyoCd":-2345524275024154932,"PmIcp":4097871660340640046,"TdiDsSEdFZ":-6504102644180981673,"YxGYG":-224151268746139084},"stringDateField":"2007-03-11","stringDateTimeField":"1936-11-03T13:42:38Z","stringField":"PurHoino","stringTimeField":"21:12:47.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":-110,"numField":-256.8042843620145,"stringDateField":"2007-03-11","stringDateTimeField":"1936-11-03T13:42:38Z","stringField":"PurHoino","stringTimeField":"21:12:47.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2023,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2023,"uuid":"9e0a898a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["nsejSNH","DsPNy","GBERXdTWTW","QJfFWrmg","ionKV","VohQ"],"boolField":true,"intField":893,"numField":495.67314801514794,"objField":{"CjsUOUUZ":-2949356727313456963,"PMdYf":2675742284656186318},"stringDateField":"1907-02-24","stringDateTimeField":"1941-11-11T18:33:40Z","stringField":"VhkOSK","stringTimeField":"15:12:00.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":893,"numField":495.67314801514794,"stringDateField":"1907-02-24","stringDateTimeField":"1941-11-11T18:33:40Z","stringField":"VhkOSK","stringTimeField":"15:12:00.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2024,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2024,"uuid":"9e0a898a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["TMGOuzJPoX","BKJrfjXnzo","yiLSHmRkq"],"boolField":false,"intField":-654,"numField":113.624430735217,"objField":{"AOCRG":2138429867823824021,"FdwZi":-2702680320103136106,"PaGCRZ":2781915835154853290,"QGYZXZsKnj":-6472261469508369900,"RGTptSln":-4817564402245447061,"YaZYAXV":-3945896576099960604,"gWRxM":-1677834813174634585,"mhBgDspj":-5396481692813780020,"wTuw":2739666716708925788},"stringDateField":"1910-03-24","stringDateTimeField":"1932-04-02T16:48:40Z","stringField":"dRlWFNSGZu","stringTimeField":"00:25:53.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":-654,"numField":113.624430735217,"stringDateField":"1910-03-24","stringDateTimeField":"1932-04-02T16:48:40Z","stringField":"dRlWFNSGZu","stringTimeField":"00:25:53.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2025,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2025,"uuid":"9e0a898a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["anNOOH","uLupqrMarB"],"boolField":false,"intField":-855,"numField":755.362337872288,"objField":{"REPeCZt":4282168434072212607,"jkIb":6026410474443550228},"stringDateField":"1950-09-02","stringDateTimeField":"1954-11-05T19:17:55Z","stringField":"pTgYPtGQJL","stringTimeField":"10:59:19.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":-855,"numField":755.362337872288,"stringDateField":"1950-09-02","stringDateTimeField":"1954-11-05T19:17:55Z","stringField":"pTgYPtGQJL","stringTimeField":"10:59:19.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2026,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2026,"uuid":"9e0a898a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["KvbRY","QmeZtE","tzaFH","ZeEqfnJk","yFcYz","ZapxdWNJW","HufCTRP","dhDGChXP"],"boolField":true,"intField":-224,"numField":243.4333401471411,"objField":{"AeWp":7398439791055424625,"BAkswRL":2795849151909818744,"PZHkBpfwz":5366758131936017044,"SfuNckBQ":-1499929102328976612,"bLJDq":-6510121171120707081,"iupSaTNdtU":-546955842476634212,"nzZipgy":-9061193203953133872,"pWdGOi":6263421368540200738,"xmOgBSK":5428675769883526829},"stringDateField":"1926-03-16","stringDateTimeField":"1990-01-24T13:31:14Z","stringField":"AclAiUlO","stringTimeField":"20:49:20.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":-224,"numField":243.4333401471411,"stringDateField":"1926-03-16","stringDateTimeField":"1990-01-24T13:31:14Z","stringField":"AclAiUlO","stringTimeField":"20:49:20.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2027,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2027,"uuid":"9e0a898a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["oIur","MEnVAzT","EeTGNTDrVH","pBgFewzBR","aWfZK","BOHI","YHSEKrhpxK","bxGZgHew","BgPIZNpY"],"boolField":false,"intField":-332,"numField":312.9663002916907,"objField":{"kYCEn":-2960185963130373683,"qWrDyOD":7188770328509755092,"xfCT":-8538029582882162784},"stringDateField":"2020-10-27","stringDateTimeField":"1904-08-02T10:15:27Z","stringField":"mHmWiT","stringTimeField":"10:59:44.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":-332,"numField":312.9663002916907,"stringDateField":"2020-10-27","stringDateTimeField":"1904-08-02T10:15:27Z","stringField":"mHmWiT","stringTimeField":"10:59:44.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2028,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2028,"uuid":"9e0a898a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["xYbvWN","ZNxc","XICYzdXL","ZUZG","ItgN","zBegCB","bgXUL","GqnT"],"boolField":true,"intField":-477,"numField":92.98516586384254,"objField":{"vggfITz":-7946404837395467449},"stringDateField":"1919-05-19","stringDateTimeField":"1987-11-23T00:30:12Z","stringField":"FTWeZSBD","stringTimeField":"07:16:00.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":-477,"numField":92.98516586384254,"stringDateField":"1919-05-19","stringDateTimeField":"1987-11-23T00:30:12Z","stringField":"FTWeZSBD","stringTimeField":"07:16:00.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2029,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2029,"uuid":"9e0a898a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["jOotTDGzm","FbhwoNOLgB","DxAQayvhV","XlGiAx","yLUucoir"],"boolField":true,"intField":570,"numField":-103.0523123544088,"objField":{"LdOjeq":-1686407851237779399,"VOuepeK":2529574767569913560,"VjHm":3859040701422317484,"XUOiBXahQs":-6273675530020015819},"stringDateField":"1901-05-12","stringDateTimeField":"1916-03-05T06:39:21Z","stringField":"kdpcO","stringTimeField":"14:50:18.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":570,"numField":-103.0523123544088,"stringDateField":"1901-05-12","stringDateTimeField":"1916-03-05T06:39:21Z","stringField":"kdpcO","stringTimeField":"14:50:18.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2030,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2030,"uuid":"9e0a898a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["JazbOLEZkE","RTQouG","OLQnTT","kMcL","hUJWiBgT"],"boolField":false,"intField":-948,"numField":700.4850401969478,"objField":{"ADiy":-684732592838497272,"KPBgbn":-452926020639595689,"YfFLjcLefT":9213859557924778107,"dVpKjr":1729389951559485835},"stringDateField":"1990-09-05","stringDateTimeField":"1922-05-13T00:01:24Z","stringField":"kJCLmM","stringTimeField":"01:19:57.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":-948,"numField":700.4850401969478,"stringDateField":"1990-09-05","stringDateTimeField":"1922-05-13T00:01:24Z","stringField":"kJCLmM","stringTimeField":"01:19:57.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2031,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2031,"uuid":"9e0a898a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["NLZUazfFeQ","GGjiK","xmIA"],"boolField":true,"intField":317,"numField":455.7310385895055,"objField":{"OVBzd":213571612501716490,"SMAX":4098557643791933228,"TGaWt":2266556342151043565,"ariFTw":5665608602785174866,"eWpIxlaojh":8895394459955238157,"fZEwZTsKd":-4660221587249605042,"hOadiIcfj":6990611811280294376,"kOBkfsdI":-637606711686090795,"rFbf":4164399760080685681},"stringDateField":"1902-12-31","stringDateTimeField":"1972-04-20T17:52:09Z","stringField":"nZcjLtf","stringTimeField":"21:02:00.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":317,"numField":455.7310385895055,"stringDateField":"1902-12-31","stringDateTimeField":"1972-04-20T17:52:09Z","stringField":"nZcjLtf","stringTimeField":"21:02:00.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2032,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2032,"uuid":"9e0a898a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["vHEcaWPA","JuUZe","zqQLKhFhoP","ihcwryBLMd","ECuApvKtO","LbSUv","scLqkJRu","EbjVuMp","LIXssQiawA","NrrQeKB"],"boolField":true,"intField":848,"numField":4.955158786993152,"objField":{"gAUP":-4130649502453839669},"stringDateField":"1997-01-19","stringDateTimeField":"1971-03-10T01:50:30Z","stringField":"vofPA","stringTimeField":"17:46:59.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":848,"numField":4.955158786993152,"stringDateField":"1997-01-19","stringDateTimeField":"1971-03-10T01:50:30Z","stringField":"vofPA","stringTimeField":"17:46:59.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2033,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2033,"uuid":"9e0a898a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["iWOhAv","JFwzl","lmnnIhCB","uukuG","jlVFWiRw","EeCPGJBjwF","RwjcYi","HPHGvBf","yKlfQfl"],"boolField":false,"intField":655,"numField":-575.3869216033358,"objField":{"HcyQzj":1159860429064379964,"KhPrg":-5368633661062061582,"OGGLEtZ":-7170688865196927251,"PLERc":3990518694279665151,"PXVkkx":1111393217807953702,"cdTsTPLP":-911976395699752153,"eGHxeYycSd":-4191570978297640039,"mNSF":-883148485199815225,"qfHu":-8818531647570950763,"wqqToNflxs":-1425435037958461269},"stringDateField":"1998-06-07","stringDateTimeField":"1966-04-10T11:48:52Z","stringField":"FJOObdrR","stringTimeField":"21:17:06.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763658Z","intField":655,"numField":-575.3869216033358,"stringDateField":"1998-06-07","stringDateTimeField":"1966-04-10T11:48:52Z","stringField":"FJOObdrR","stringTimeField":"21:17:06.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2034,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2034,"uuid":"9e0a898b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["hcIl"],"boolField":true,"intField":-337,"numField":299.44500549340347,"objField":{"Dbzsyauq":-3770539403251089167,"YjdeuB":-3278299012383525037,"aEEVyEgL":8922662970476927772,"gvjwJluD":5161646418780095860,"hDGCU":-6922201987670431953,"jBAdViso":-4843039245750436107,"sapFhgGiC":-4751972612796753340,"wrRtogATIh":-6555522604224284077,"yQkSdyoR":-2066735490213010033},"stringDateField":"2006-10-27","stringDateTimeField":"2010-07-16T22:59:21Z","stringField":"FOdIiyQHQA","stringTimeField":"15:29:20.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":-337,"numField":299.44500549340347,"stringDateField":"2006-10-27","stringDateTimeField":"2010-07-16T22:59:21Z","stringField":"FOdIiyQHQA","stringTimeField":"15:29:20.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2035,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2035,"uuid":"9e0a898b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["iXimuSF","TybxE","OYbOSAOgi","hMaHYW","OazFgCZwnX","Qgrhzdv","eflwJBYKaE","oPPfxto","DudJYokvq","gJrcZMpS"],"boolField":true,"intField":503,"numField":433.6793725218484,"objField":{"AnJc":-6604612825129112243,"NEAiUAUl":7765070492152089103,"TqxXOlwoR":-471029957631541609,"aTKodOG":-945422185663755710,"hrabqIs":-5483507891155714000,"nQptYX":8286509812551665223,"uKZJnKQx":7540467999773896255,"uvbD":-1767276248956862069,"uwrF":3775336049614029517,"vFvTjal":-8895014368863850272},"stringDateField":"1999-02-03","stringDateTimeField":"1933-03-26T20:22:32Z","stringField":"iJEsY","stringTimeField":"08:19:50.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":503,"numField":433.6793725218484,"stringDateField":"1999-02-03","stringDateTimeField":"1933-03-26T20:22:32Z","stringField":"iJEsY","stringTimeField":"08:19:50.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2036,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2036,"uuid":"9e0a898b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["DCJlcweT","LdhniLe"],"boolField":true,"intField":-99,"numField":-737.901507925393,"objField":{"HEwQqSnY":68761777221036957,"IpzRn":-1605612301516847384,"JjjaN":4930295299277866544,"MkPCjy":4899747562712539552,"MlXiXEz":2532014791198674291,"NacC":2499488707736027856,"TnSPvaUsu":2236235560761671746,"cKMhQuQsiV":8916116415442358871,"pNzyILaf":996553779806841118,"yZBBPQy":-3577912387687340728},"stringDateField":"1908-08-30","stringDateTimeField":"1948-03-02T11:21:21Z","stringField":"ljkppqsK","stringTimeField":"15:24:39.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":-99,"numField":-737.901507925393,"stringDateField":"1908-08-30","stringDateTimeField":"1948-03-02T11:21:21Z","stringField":"ljkppqsK","stringTimeField":"15:24:39.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2037,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2037,"uuid":"9e0a898b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KJoP"],"boolField":true,"intField":272,"numField":-9.602958178826391,"objField":{"NHRavc":2065201747023871182,"PjdgvgyTd":-1852645638471933262,"QmIly":-3694122032009431097,"SjghaGCtS":5743619639621545767,"TMULjpvZ":9139137693206262787,"ZASP":8694132190887100087,"fShqe":2892651380893888753,"qDanvi":8484065071601589547,"siQECzPxOx":-1237104637464983254},"stringDateField":"1909-03-27","stringDateTimeField":"1914-04-14T06:01:19Z","stringField":"xdmIFwxOB","stringTimeField":"21:26:29.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":272,"numField":-9.602958178826391,"stringDateField":"1909-03-27","stringDateTimeField":"1914-04-14T06:01:19Z","stringField":"xdmIFwxOB","stringTimeField":"21:26:29.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2038,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2038,"uuid":"9e0a898b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["BKaT","TWBrNOWljm","QwavAUctaM","uKLE","pTwbYnxE","CXYOOKCosU"],"boolField":false,"intField":-814,"numField":629.1555673596838,"objField":{"NAaZDnh":8965461378302571232,"TNitkZq":4960699484776157253,"ijlwCYZyEy":6833624671077183970,"nMEuDnXmkJ":-9035843085901519306,"sZGQFkCML":5542925395452431818,"zSrp":-1045494515753606777},"stringDateField":"1951-08-30","stringDateTimeField":"1981-11-06T08:22:29Z","stringField":"MoyC","stringTimeField":"13:34:29.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":-814,"numField":629.1555673596838,"stringDateField":"1951-08-30","stringDateTimeField":"1981-11-06T08:22:29Z","stringField":"MoyC","stringTimeField":"13:34:29.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2039,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2039,"uuid":"9e0a898b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["wMte","mEFbHx"],"boolField":false,"intField":-147,"numField":-296.5060815261952,"objField":{"gSPYNeE":1945875181505204946,"iMlDVv":1751394007164893085,"lpVhV":-6431107534555866027,"uWNDR":1297610559547589930},"stringDateField":"2014-05-23","stringDateTimeField":"1940-09-28T04:23:38Z","stringField":"UnyCwRr","stringTimeField":"01:57:11.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":-147,"numField":-296.5060815261952,"stringDateField":"2014-05-23","stringDateTimeField":"1940-09-28T04:23:38Z","stringField":"UnyCwRr","stringTimeField":"01:57:11.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2040,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2040,"uuid":"9e0a898b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["wvrRiL","dFtkquNzZV"],"boolField":true,"intField":856,"numField":-389.2195013031419,"objField":{"PsUzHaFAH":-253559626346206851,"RhDFDWjAk":-8395484509880373828,"Vdae":-2916354529327141121,"XOQU":3295822647455660669,"zTHD":8141909203986209665,"zhbKSlW":7040415096144603189},"stringDateField":"1914-12-11","stringDateTimeField":"1943-10-01T16:15:10Z","stringField":"mOTp","stringTimeField":"06:37:09.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":856,"numField":-389.2195013031419,"stringDateField":"1914-12-11","stringDateTimeField":"1943-10-01T16:15:10Z","stringField":"mOTp","stringTimeField":"06:37:09.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2041,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2041,"uuid":"9e0a898b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["XGVN","TjgkvrMGds","qBRK","lXSJyRD","GQWolrEAZ","rpITn"],"boolField":false,"intField":-216,"numField":601.9528275301747,"objField":{"AaEctpel":1702482607664934926,"SnCmeiJ":-1968992320392398485},"stringDateField":"2020-03-22","stringDateTimeField":"1989-12-27T08:26:50Z","stringField":"VhtGYEaNR","stringTimeField":"01:29:48.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":-216,"numField":601.9528275301747,"stringDateField":"2020-03-22","stringDateTimeField":"1989-12-27T08:26:50Z","stringField":"VhtGYEaNR","stringTimeField":"01:29:48.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2042,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2042,"uuid":"9e0a898b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["wNYF"],"boolField":true,"intField":-111,"numField":-103.75654139753854,"objField":{"AyVQGatJiJ":1422705502747044002,"DbRbVTXL":-4975959739232103690,"QIQc":1479367016866613951,"XVzl":-6345907376359228456,"YWASjiZB":-3207031115812613776,"jXPeT":4268074820701173578},"stringDateField":"2018-05-13","stringDateTimeField":"1987-04-03T22:25:27Z","stringField":"btjUjcMcw","stringTimeField":"05:32:25.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":-111,"numField":-103.75654139753854,"stringDateField":"2018-05-13","stringDateTimeField":"1987-04-03T22:25:27Z","stringField":"btjUjcMcw","stringTimeField":"05:32:25.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2043,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2043,"uuid":"9e0a898b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["WbwXtBSZ"],"boolField":true,"intField":-66,"numField":-692.7364653801344,"objField":{"GvigcX":-852341323277611959,"eEboBKeDe":-730578512968255427,"jUcIyhxqkD":-600536380496939137,"kPzUzgyE":-6524048534094287873,"wlWdx":-2003933767336803865},"stringDateField":"1984-07-05","stringDateTimeField":"1907-12-30T13:12:12Z","stringField":"jdSCmUSgx","stringTimeField":"23:39:51.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":-66,"numField":-692.7364653801344,"stringDateField":"1984-07-05","stringDateTimeField":"1907-12-30T13:12:12Z","stringField":"jdSCmUSgx","stringTimeField":"23:39:51.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2044,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2044,"uuid":"9e0a898b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["vvTpQzR","RsZWZuZ","pQPIrMwq","lRAQgPn","IWfLU","StuJtq","NepogFTJB","SiYRbyBTRn"],"boolField":false,"intField":-216,"numField":-302.47355540879073,"objField":{"FGmoXjIu":7396021363667497020},"stringDateField":"1914-10-14","stringDateTimeField":"1997-07-22T03:44:49Z","stringField":"ygRB","stringTimeField":"18:37:13.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":-216,"numField":-302.47355540879073,"stringDateField":"1914-10-14","stringDateTimeField":"1997-07-22T03:44:49Z","stringField":"ygRB","stringTimeField":"18:37:13.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2045,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2045,"uuid":"9e0a898b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["qOdVEYeo"],"boolField":true,"intField":426,"numField":375.09401487516647,"objField":{"BKlaxnQWKx":-7803977341214028658,"GNgwLJld":6216113938344535883,"fRyIBZ":1712286095376763307},"stringDateField":"1955-01-19","stringDateTimeField":"2017-11-24T14:26:33Z","stringField":"CxzoHyRMs","stringTimeField":"19:17:05.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":426,"numField":375.09401487516647,"stringDateField":"1955-01-19","stringDateTimeField":"2017-11-24T14:26:33Z","stringField":"CxzoHyRMs","stringTimeField":"19:17:05.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2046,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2046,"uuid":"9e0a898b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["HykvwYhA","BYOomucDG","hmAq","mJaanpwRT","tKXP","tCOw"],"boolField":true,"intField":-802,"numField":-452.2307186808848,"objField":{"dPbPVDDeTB":-9040370961524544569,"sdNFfUK":8213204058581069434},"stringDateField":"2018-03-19","stringDateTimeField":"1937-10-22T02:44:26Z","stringField":"hcLCJlWu","stringTimeField":"07:26:25.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":-802,"numField":-452.2307186808848,"stringDateField":"2018-03-19","stringDateTimeField":"1937-10-22T02:44:26Z","stringField":"hcLCJlWu","stringTimeField":"07:26:25.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2047,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2047,"uuid":"9e0a898b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["bNkfeODQwp","qMlpnxDY","iTTjaUQWR","KSRFUOew","JTHhoCABMM","cfDJjz"],"boolField":false,"intField":-616,"numField":634.2248728734392,"objField":{"iLhkf":-5228582303673175966,"mtivbNzLr":7497280891579772538},"stringDateField":"1998-03-16","stringDateTimeField":"1978-09-21T06:32:57Z","stringField":"sggCIk","stringTimeField":"04:32:57.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":-616,"numField":634.2248728734392,"stringDateField":"1998-03-16","stringDateTimeField":"1978-09-21T06:32:57Z","stringField":"sggCIk","stringTimeField":"04:32:57.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2048,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2048,"uuid":"9e0a898b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["yzBGkCJSA"],"boolField":true,"intField":52,"numField":898.7463632209251,"objField":{"EDYFCeZmHm":447375427882496046,"EgFZzHiNf":-652146312217711236,"mpcV":6749582028011706335,"pFhlqgW":-664850176413102318},"stringDateField":"1928-10-18","stringDateTimeField":"1971-10-07T22:33:25Z","stringField":"EzXG","stringTimeField":"16:29:33.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":52,"numField":898.7463632209251,"stringDateField":"1928-10-18","stringDateTimeField":"1971-10-07T22:33:25Z","stringField":"EzXG","stringTimeField":"16:29:33.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2049,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2049,"uuid":"9e0a898b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["GMAF","UglfUZ","sTUwr","nqnwu","yVQS"],"boolField":true,"intField":-959,"numField":348.3380777703906,"objField":{"sGiEEEYbJ":-1035876708598670674},"stringDateField":"1980-06-15","stringDateTimeField":"1936-04-07T12:32:31Z","stringField":"eyocSNGRP","stringTimeField":"08:37:05.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763659Z","intField":-959,"numField":348.3380777703906,"stringDateField":"1980-06-15","stringDateTimeField":"1936-04-07T12:32:31Z","stringField":"eyocSNGRP","stringTimeField":"08:37:05.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2050,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2050,"uuid":"9e0a898c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["DeZuKCBQ","gGUj","uNDnmbGe"],"boolField":false,"intField":852,"numField":-424.1747443175416,"objField":{"AnGnNGZB":-8345099652108234661,"DewDis":2610978092531670423,"KJGQLp":4301836628727308265,"UsdzFH":-3975317572540051398,"VRgvB":1590850495140941390,"pdynPTIAwc":490812176303394109,"sqRBd":-7158305772507738304,"uERhZqUfz":-6017376971524901520},"stringDateField":"1981-03-24","stringDateTimeField":"1901-01-03T19:58:16Z","stringField":"ftAbjsud","stringTimeField":"19:28:51.49Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":852,"numField":-424.1747443175416,"stringDateField":"1981-03-24","stringDateTimeField":"1901-01-03T19:58:16Z","stringField":"ftAbjsud","stringTimeField":"19:28:51.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2051,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2051,"uuid":"9e0a898c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rODtBQyhC","LDII","zFesKpFyF","GBoB","wKcEjjlCo","JALVN","hUno"],"boolField":true,"intField":-540,"numField":-704.0538289868256,"objField":{"SGALjmNhNJ":-3279667413054422941,"yDhLEPB":-9133963170958595295},"stringDateField":"1904-10-20","stringDateTimeField":"1940-01-23T23:51:47Z","stringField":"gZtVXdYN","stringTimeField":"23:20:56.11Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":-540,"numField":-704.0538289868256,"stringDateField":"1904-10-20","stringDateTimeField":"1940-01-23T23:51:47Z","stringField":"gZtVXdYN","stringTimeField":"23:20:56.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2052,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2052,"uuid":"9e0a898c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["UUgNtC","lMEIMXg","yHAfymw","dQLvy","evFFu","uAjJpm"],"boolField":true,"intField":349,"numField":-773.6906111362393,"objField":{"JMAYDc":7260870041642532158},"stringDateField":"1934-07-13","stringDateTimeField":"1973-11-25T07:44:13Z","stringField":"RaTE","stringTimeField":"13:53:43.37Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":349,"numField":-773.6906111362393,"stringDateField":"1934-07-13","stringDateTimeField":"1973-11-25T07:44:13Z","stringField":"RaTE","stringTimeField":"13:53:43.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2053,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2053,"uuid":"9e0a898c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["HbcbKne","HtcqnvO","AfhYR","KhxNRUMjT","XTNEwFuE","CENJ","tNJQMzxyeK","QJKImNzpPR"],"boolField":false,"intField":35,"numField":140.72093521751094,"objField":{"DIAWBlSdDs":1213209462616151207},"stringDateField":"1933-12-08","stringDateTimeField":"1933-12-18T06:36:44Z","stringField":"hEPZXy","stringTimeField":"22:33:38.45Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":35,"numField":140.72093521751094,"stringDateField":"1933-12-08","stringDateTimeField":"1933-12-18T06:36:44Z","stringField":"hEPZXy","stringTimeField":"22:33:38.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2054,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2054,"uuid":"9e0a898c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["JfLhFXXpBD","wtMki","dJsCjo","BPiuZhAn"],"boolField":false,"intField":366,"numField":467.4566212674398,"objField":{"AokYHnyjQ":3649465704748491521,"HZdHh":4916179551451248561,"OOYYiW":-8930518946916271450,"RSvqV":-1353986726259166154,"WhnCPA":-917128060683689340,"Wjsdlv":-1676760885002779407,"XUKGHbAj":-7830971070430617432,"mPFKCmgSmt":-6560434589565294328,"tZLazzt":-6701135012885475245,"wIYfT":-7012006420468809607},"stringDateField":"1947-03-22","stringDateTimeField":"1998-10-23T13:48:01Z","stringField":"fbQmtfPm","stringTimeField":"04:10:25.49Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":366,"numField":467.4566212674398,"stringDateField":"1947-03-22","stringDateTimeField":"1998-10-23T13:48:01Z","stringField":"fbQmtfPm","stringTimeField":"04:10:25.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2055,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2055,"uuid":"9e0a898c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["qnGoXUQImc","Stlav","AiPMoaj"],"boolField":true,"intField":-88,"numField":-673.4265979879845,"objField":{"HgddZHax":8916535992165577737,"jvjeDbaJnz":1161436860033816558},"stringDateField":"1982-05-04","stringDateTimeField":"2021-02-20T01:03:50Z","stringField":"HzSanTR","stringTimeField":"20:07:53.41Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":-88,"numField":-673.4265979879845,"stringDateField":"1982-05-04","stringDateTimeField":"2021-02-20T01:03:50Z","stringField":"HzSanTR","stringTimeField":"20:07:53.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2056,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2056,"uuid":"9e0a898c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["VFNSWquN","ryrbtOI","OMsTnR","cdBHquDQt","JDKMUahUHf","ttEZQLmF","FBKbyl","JbfIY","MZOjkw","LVKnubaPr"],"boolField":false,"intField":-861,"numField":863.014843818871,"objField":{"GUkxLk":4693163712514318586,"NdfW":-8877341272259155445,"NvTXQ":427920542124104940,"RidbvaWJ":-167452093083094050,"aqUHU":1478083007028215197,"fZpPq":7767353566345238862,"pXvDXDH":-3087205529634975757},"stringDateField":"1977-04-29","stringDateTimeField":"2015-09-11T15:25:29Z","stringField":"iSQfnmC","stringTimeField":"04:06:00.27Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":-861,"numField":863.014843818871,"stringDateField":"1977-04-29","stringDateTimeField":"2015-09-11T15:25:29Z","stringField":"iSQfnmC","stringTimeField":"04:06:00.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2057,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2057,"uuid":"9e0a898c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["qqwozbU","dRQrPdg","urjoiz"],"boolField":true,"intField":-71,"numField":170.66706600413474,"objField":{"fjAMZsBct":89024281259218375,"iXvaypf":-5410534703862909782,"pamQ":-1144651042334098838},"stringDateField":"1966-02-18","stringDateTimeField":"1983-06-13T11:44:46Z","stringField":"sedUQBHv","stringTimeField":"02:49:18.49Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":-71,"numField":170.66706600413474,"stringDateField":"1966-02-18","stringDateTimeField":"1983-06-13T11:44:46Z","stringField":"sedUQBHv","stringTimeField":"02:49:18.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2058,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2058,"uuid":"9e0a898c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ZDrQ","lBXIcOZ","ugVZuDg","gwdW","AaagVRX","DGBN","sLrJEelepf"],"boolField":true,"intField":-368,"numField":-536.149746418195,"objField":{"JwpiHPddiD":-9008421019534894009,"MEwcdX":-9220820803153450273,"RYDztlgt":-7727005026844738559,"Rmhfskv":5930934030956496016,"gcUfvk":7727305024038398640,"iiaPMjeQPu":5430465930232045430,"oRhgd":425506021847740432},"stringDateField":"1947-01-21","stringDateTimeField":"2011-09-01T22:39:52Z","stringField":"kyKC","stringTimeField":"11:45:24.13Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":-368,"numField":-536.149746418195,"stringDateField":"1947-01-21","stringDateTimeField":"2011-09-01T22:39:52Z","stringField":"kyKC","stringTimeField":"11:45:24.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2059,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2059,"uuid":"9e0a898c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["wbqGxS","iTeI","pjgyPHCXku","mRxhKio","QzHmo","zqoxJZG"],"boolField":false,"intField":-497,"numField":774.0158684783496,"objField":{"DqtPGxGdrl":-2129631697174916147,"HwGICAxsHP":-7269398770876909277,"OpnfnMvwuq":5231982920651159940,"PYoTdIHMHr":637640717615504307,"XXfY":7050356892715108264,"smAy":-3909213476549118916},"stringDateField":"1929-02-13","stringDateTimeField":"1921-05-04T02:15:46Z","stringField":"gndgz","stringTimeField":"08:13:16.37Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":-497,"numField":774.0158684783496,"stringDateField":"1929-02-13","stringDateTimeField":"1921-05-04T02:15:46Z","stringField":"gndgz","stringTimeField":"08:13:16.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2060,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2060,"uuid":"9e0a898c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["QhXYiQWx","HZYmtL","OwNGb","VMuUd","LHLOrj"],"boolField":false,"intField":838,"numField":-137.2062282340891,"objField":{"YHmC":-7501364483932183140,"eWHDIRT":5669554755724294042,"kETwEkT":7758263147536755218,"mkfOj":-8742605194642530226,"rOTAIitT":4840273528984405002,"sedg":2898480147106402406,"vOXtX":980804845340087165,"vqJGZJHQ":-1470709187876974879},"stringDateField":"2015-11-06","stringDateTimeField":"1925-11-05T15:40:15Z","stringField":"owMWUatQH","stringTimeField":"16:36:51.46Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":838,"numField":-137.2062282340891,"stringDateField":"2015-11-06","stringDateTimeField":"1925-11-05T15:40:15Z","stringField":"owMWUatQH","stringTimeField":"16:36:51.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2061,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2061,"uuid":"9e0a898c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["hfSWn","cPKNAan","JKSrbWbMKh","PDaVk","bwvxS","mihYZCs","OXhGo","tRGn","vBkMP","FJRrG"],"boolField":false,"intField":330,"numField":549.1549148412454,"objField":{"TukMHkJG":502118317438540772,"ewPNubWa":-6476536466558759631},"stringDateField":"1996-06-19","stringDateTimeField":"1994-11-14T01:29:48Z","stringField":"CFMhCRkHI","stringTimeField":"08:34:52.33Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":330,"numField":549.1549148412454,"stringDateField":"1996-06-19","stringDateTimeField":"1994-11-14T01:29:48Z","stringField":"CFMhCRkHI","stringTimeField":"08:34:52.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2062,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2062,"uuid":"9e0a898c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["nDuX","EhyZHbluq","dRreuKhcp","lGCaNnQZbB","oPVBFGCOTS","oMHldCDSJp"],"boolField":false,"intField":-639,"numField":-84.3376957805998,"objField":{"KQWhA":-943171347290596494,"oozG":2828971984402954032,"qRJcQIky":-2184961663331904473,"qpAl":-7852467897934639618,"uJlUHM":8691536054329487852},"stringDateField":"1977-07-05","stringDateTimeField":"1924-03-08T19:47:07Z","stringField":"jADrKVAc","stringTimeField":"22:17:51.18Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":-639,"numField":-84.3376957805998,"stringDateField":"1977-07-05","stringDateTimeField":"1924-03-08T19:47:07Z","stringField":"jADrKVAc","stringTimeField":"22:17:51.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2063,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2063,"uuid":"9e0a898c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["EKbXomUb"],"boolField":false,"intField":-626,"numField":668.4396586960178,"objField":{"JsFiED":8322115901935864049,"RCQoAoiKwJ":7225950724440211764,"SaeuymfvkD":-797908303765680343},"stringDateField":"1963-04-07","stringDateTimeField":"1904-05-18T09:47:44Z","stringField":"UjTwVOPoL","stringTimeField":"20:49:24.16Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":-626,"numField":668.4396586960178,"stringDateField":"1963-04-07","stringDateTimeField":"1904-05-18T09:47:44Z","stringField":"UjTwVOPoL","stringTimeField":"20:49:24.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2064,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2064,"uuid":"9e0a898c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["VunkpZEt","LCxGx"],"boolField":false,"intField":787,"numField":32.91154681871022,"objField":{"BATlhquwp":1451011043816020764,"GqMBdFCin":-7836731495378695831,"KOriI":3385310498421988917,"SucI":-1243806195064301986,"UmQC":2442962007321617561,"VhXxub":6840314712382174340,"gCjLoO":3953881041799030879,"hRoCyc":981396626371117937,"mMIQK":-1594071267273328799,"mnHboBKB":6880535732155954380},"stringDateField":"1900-10-15","stringDateTimeField":"2002-02-20T04:20:52Z","stringField":"rtTlcfcFM","stringTimeField":"10:44:45.19Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":787,"numField":32.91154681871022,"stringDateField":"1900-10-15","stringDateTimeField":"2002-02-20T04:20:52Z","stringField":"rtTlcfcFM","stringTimeField":"10:44:45.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2065,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2065,"uuid":"9e0a898c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["DKiwctT","NkoozE","ZLZLwzXas","TVmffax","disOyju","JmBYRLtrh"],"boolField":false,"intField":750,"numField":254.03204562553273,"objField":{"GuqQtWPoU":-2044332429702684967,"YtJctgmeQ":4771709657106977403,"bOxaCXP":-7112872359098633810,"fZUGnPUTT":4056973846149115358,"mBEUZ":-6061557458181322048,"mOPTOkmiu":983395861386884093,"ryDokndLvb":-427901441035826915,"vpYpCxa":-7221647516971996797},"stringDateField":"1930-08-25","stringDateTimeField":"1904-10-20T10:03:48Z","stringField":"teSzEwDUi","stringTimeField":"21:54:58.41Z"},"flow_published_at":"2023-09-18T19:00:21.876366Z","intField":750,"numField":254.03204562553273,"stringDateField":"1930-08-25","stringDateTimeField":"1904-10-20T10:03:48Z","stringField":"teSzEwDUi","stringTimeField":"21:54:58.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2066,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2066,"uuid":"9e0a898d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PjndjdXt","LXpBwybw","kXxVWooi"],"boolField":true,"intField":253,"numField":-379.92580580341706,"objField":{"FazNJ":-5894013925807053078,"LgiFis":-2188164853201500397,"PyevPHUCRn":1975784143179075226,"lSXGwYq":-7227901468716062354,"nDQBxJDzHW":-7438914354080683544},"stringDateField":"2010-03-18","stringDateTimeField":"1903-06-30T20:11:16Z","stringField":"CfewMvDWR","stringTimeField":"21:03:28.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":253,"numField":-379.92580580341706,"stringDateField":"2010-03-18","stringDateTimeField":"1903-06-30T20:11:16Z","stringField":"CfewMvDWR","stringTimeField":"21:03:28.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2067,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2067,"uuid":"9e0a898d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["FgolWWMKT","tHHhw","ludqLN","tUleu","zRYLOChxxd","SitJrR","UgioN"],"boolField":true,"intField":772,"numField":-817.8520039222789,"objField":{"Bpjpb":-1536024515226419951,"DfbgaQYsJZ":-8428278681275747009,"LXNzOri":-3524995808625531680,"QRWFzJjxyl":1066691142078545411,"apfO":-6703899513790788423,"lTpIHiHHAr":7102815380709676499,"nAogbPD":-1728418692861927341,"sdln":6816385770239735315},"stringDateField":"1969-01-09","stringDateTimeField":"1901-08-31T08:51:32Z","stringField":"JkVujqO","stringTimeField":"07:10:49.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":772,"numField":-817.8520039222789,"stringDateField":"1969-01-09","stringDateTimeField":"1901-08-31T08:51:32Z","stringField":"JkVujqO","stringTimeField":"07:10:49.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2068,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2068,"uuid":"9e0a898d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["JnCYbN","iqED","YUBun"],"boolField":false,"intField":116,"numField":-515.2924027216259,"objField":{"LuDNHBIY":-6785099219695798397,"OHINe":6140790438003307028,"QzJZmvgFcA":-8139590459919233485,"UxMk":6028961737506463784,"VBzfM":914542910814019938,"coVAsySlMm":1177787316448864013,"vcutod":3709657636314609627,"yKoCHE":5459535011889855752},"stringDateField":"1943-03-09","stringDateTimeField":"1968-03-09T20:46:03Z","stringField":"bVCc","stringTimeField":"02:57:48.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":116,"numField":-515.2924027216259,"stringDateField":"1943-03-09","stringDateTimeField":"1968-03-09T20:46:03Z","stringField":"bVCc","stringTimeField":"02:57:48.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2069,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2069,"uuid":"9e0a898d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["iYIYMhWTzL","zLDZgb","JnmKIgpLY"],"boolField":true,"intField":-428,"numField":461.5361953983841,"objField":{"AbljPiyX":6022205961392459880,"CAKIljGVK":8038503476223193693,"DMrwAgtO":-5727410593501183641,"HNCIqnZNgO":6669559233326409051,"QmGxevns":-4344413239037879110,"XmuovMFXZP":3985764157103951543,"hooLxGT":5229391573532651664,"mpWP":498486790588753228,"pmIeZxmZP":-4851980962289310755,"ymUVizrGc":930628648346792377},"stringDateField":"1901-03-01","stringDateTimeField":"2013-05-25T09:33:08Z","stringField":"kWWyeTD","stringTimeField":"19:51:31.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":-428,"numField":461.5361953983841,"stringDateField":"1901-03-01","stringDateTimeField":"2013-05-25T09:33:08Z","stringField":"kWWyeTD","stringTimeField":"19:51:31.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2070,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2070,"uuid":"9e0a898d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["Wourz","RpzgsSnzt","BjerVmQ","MATlJj","tcwV","CnnyBGie","sxnejBjUE"],"boolField":true,"intField":487,"numField":24.09002003167671,"objField":{"IKQgKrae":6127830297901143873,"LUtZucZ":7469301385918483972,"VQvj":8956274183489292852,"chklalkYlg":1177282342911856195,"eGwiaWdbT":629530994237604580,"rcBfxhmR":8876824307396426256,"trEfsCln":-1169612861425074320},"stringDateField":"1964-12-14","stringDateTimeField":"1943-07-14T22:44:46Z","stringField":"pBdQidulYF","stringTimeField":"06:51:39.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":487,"numField":24.09002003167671,"stringDateField":"1964-12-14","stringDateTimeField":"1943-07-14T22:44:46Z","stringField":"pBdQidulYF","stringTimeField":"06:51:39.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2071,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2071,"uuid":"9e0a898d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["kWeTID"],"boolField":false,"intField":-57,"numField":165.88928998252527,"objField":{"FVxiMJcrmV":7725836193797097836,"FeiIa":1134022570365952703,"LGrPtvIZSI":-5827955534819605741,"QTwUQ":-2306650990227373252,"crtXA":-5259202622080834093,"kWGU":219486759218860953,"lgLzcUJnCT":6729365551020567805,"ozBTkNyoz":-2301124782968530307,"qguD":7912445075086135175,"sDCq":5887767803834875825},"stringDateField":"1983-10-23","stringDateTimeField":"1981-09-04T23:13:57Z","stringField":"WyrS","stringTimeField":"02:43:13.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":-57,"numField":165.88928998252527,"stringDateField":"1983-10-23","stringDateTimeField":"1981-09-04T23:13:57Z","stringField":"WyrS","stringTimeField":"02:43:13.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2072,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2072,"uuid":"9e0a898d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["uyRrkvstpY","EBJLITGl","DVxDM","fABYFLD","AFHOOu","SZUxknhDyo"],"boolField":true,"intField":-977,"numField":283.64516916337215,"objField":{"DbdPJSRNea":-7790650432971315253,"TgwBseVS":2725163972163122426,"fVCVkZ":-2741976753107517848,"uGNukCBFPL":-7348598602084815407,"zmrKfvml":-8445424967113963580},"stringDateField":"1932-10-01","stringDateTimeField":"1991-05-08T22:34:43Z","stringField":"uYjCBl","stringTimeField":"15:26:23.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":-977,"numField":283.64516916337215,"stringDateField":"1932-10-01","stringDateTimeField":"1991-05-08T22:34:43Z","stringField":"uYjCBl","stringTimeField":"15:26:23.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2073,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2073,"uuid":"9e0a898d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["gtQKv","xaUna","bTBUTGytHk","TsGazNOjJ","tlvyL"],"boolField":false,"intField":-101,"numField":613.6732925498054,"objField":{"azjggsk":4535853986966460051,"bvRxGS":-8430230423189254046,"eemdcfHNoW":8249512832737698240,"hImJAMCz":4021860644756307944,"iQxvoqY":-786021897615690476,"vBzTwf":6060852900065425829},"stringDateField":"1956-06-18","stringDateTimeField":"1985-02-28T18:26:55Z","stringField":"LHkqXvu","stringTimeField":"01:26:19.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":-101,"numField":613.6732925498054,"stringDateField":"1956-06-18","stringDateTimeField":"1985-02-28T18:26:55Z","stringField":"LHkqXvu","stringTimeField":"01:26:19.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2074,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2074,"uuid":"9e0a898d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["boLPSns","rDLgcO","fZtskdH","odSqg","wtBNCOSJH","iGSECjI","GdSSfbPOm","iynW"],"boolField":false,"intField":-367,"numField":384.26580537524455,"objField":{"IzygOf":-8617535343340234967,"KJSo":2947789798972453748,"PNVRKMOtbs":-3264558760677504999,"RnNWMA":-4021957105328675527,"SurtT":-1419062190914767326,"gviXyPRy":-1286500073745450045,"iDuEMit":-7863891480797718125,"rpPduVfI":-966974645104185130,"wmOTz":3266607761591088489},"stringDateField":"1961-12-17","stringDateTimeField":"1913-02-06T23:45:11Z","stringField":"jFQOWZ","stringTimeField":"00:00:27.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":-367,"numField":384.26580537524455,"stringDateField":"1961-12-17","stringDateTimeField":"1913-02-06T23:45:11Z","stringField":"jFQOWZ","stringTimeField":"00:00:27.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2075,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2075,"uuid":"9e0a898d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["vwKEaBFy","WYfFj","UKjUdufCZ","Xaipi","KGTyPQG","ZcOMINT","nzJWbuut","VGBRiKkd"],"boolField":false,"intField":-888,"numField":459.1221625213662,"objField":{"AoccqXJjs":1545717977239963638,"MPiqMZ":-8900348155374616302,"OrVCp":-739058444903382830,"tHszU":7495379350160489520},"stringDateField":"1926-07-09","stringDateTimeField":"1950-01-06T13:25:33Z","stringField":"fVPgShK","stringTimeField":"06:02:18.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":-888,"numField":459.1221625213662,"stringDateField":"1926-07-09","stringDateTimeField":"1950-01-06T13:25:33Z","stringField":"fVPgShK","stringTimeField":"06:02:18.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2076,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2076,"uuid":"9e0a898d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nXLfwRRJu","zJGh","lefGCfCS","zmoroGjCv","fLjKmgQ","QmIVlJt","qACI","SnMeV"],"boolField":true,"intField":963,"numField":555.3072438216705,"objField":{"mjhVt":7278633750618744146,"uQQeAZWH":3550915332568111000},"stringDateField":"1936-08-04","stringDateTimeField":"1918-10-10T00:15:46Z","stringField":"KjLuYiri","stringTimeField":"11:12:55.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":963,"numField":555.3072438216705,"stringDateField":"1936-08-04","stringDateTimeField":"1918-10-10T00:15:46Z","stringField":"KjLuYiri","stringTimeField":"11:12:55.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2077,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2077,"uuid":"9e0a898d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["EWHSN"],"boolField":true,"intField":-24,"numField":-560.8402155781704,"objField":{"DCmVe":-171968135927828394,"KgUPxbvJz":-8309273560075972169,"aDgkpkY":4775142592022704868,"aficfpnGh":4587210227005025091,"igkDJFEq":-1781428800472361453,"mYfGh":4078187239785230036,"vfqyoZ":1006130559387083158},"stringDateField":"2020-10-27","stringDateTimeField":"1909-07-21T12:11:19Z","stringField":"aAnAFCAbHO","stringTimeField":"13:58:28.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":-24,"numField":-560.8402155781704,"stringDateField":"2020-10-27","stringDateTimeField":"1909-07-21T12:11:19Z","stringField":"aAnAFCAbHO","stringTimeField":"13:58:28.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2078,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2078,"uuid":"9e0a898d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["JuwosPUVrQ","MBWYfjcD","pnsp","kwqTNbDM","pXtG","BdJY","LXTErBSr","pGMPXGBFg"],"boolField":true,"intField":705,"numField":-797.0661884579423,"objField":{"aKSg":7139191411423539249},"stringDateField":"1950-12-31","stringDateTimeField":"2002-06-02T07:26:24Z","stringField":"lklTdDPd","stringTimeField":"07:35:59.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":705,"numField":-797.0661884579423,"stringDateField":"1950-12-31","stringDateTimeField":"2002-06-02T07:26:24Z","stringField":"lklTdDPd","stringTimeField":"07:35:59.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2079,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2079,"uuid":"9e0a898d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["siXjauDO","rqKEhmTE","gJrH","UboJhOga","ttiwtbnhMB","XPWZA","wONaEtI"],"boolField":true,"intField":-36,"numField":717.4412586112122,"objField":{"CJKU":-7628126192727608599,"DtZhsz":-7737996330416834674,"ODLmO":-7659470544589067615,"aXykEDVFJU":-7932067929067575515,"gcDt":-7122302082798114934,"rmUent":-7404934784943964693,"yoVjTIpZq":6369070711299473879,"zsZJwPMU":-6168588656653509716},"stringDateField":"1963-03-01","stringDateTimeField":"1973-12-17T17:23:25Z","stringField":"XtZFZV","stringTimeField":"06:48:10.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":-36,"numField":717.4412586112122,"stringDateField":"1963-03-01","stringDateTimeField":"1973-12-17T17:23:25Z","stringField":"XtZFZV","stringTimeField":"06:48:10.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2080,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2080,"uuid":"9e0a898d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["PpxLIQK","XGRsb","RuiPVrTyHm","FHNukfYxB","ZacOkwwua","GOVU"],"boolField":true,"intField":529,"numField":448.5853486513884,"objField":{"EpekruNCC":-6287690279377024988,"GaSkMhtvfC":-5393983763749499519,"KzTzazEEX":-6507867234858804473,"Tfzq":8251840688550972673,"UdLrknS":-4638942442871554251,"fodPUh":1765092634436400448,"mKrDcB":4023351025457914237},"stringDateField":"1971-02-26","stringDateTimeField":"2001-08-15T04:24:56Z","stringField":"RisrOaT","stringTimeField":"17:42:44.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":529,"numField":448.5853486513884,"stringDateField":"1971-02-26","stringDateTimeField":"2001-08-15T04:24:56Z","stringField":"RisrOaT","stringTimeField":"17:42:44.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2081,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2081,"uuid":"9e0a898d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["QRtoEs","CzGZkfX","mbrOOCFo","ZQGEKojPGl","bmLNcSVlP","uEavsf","STECgT","nbjwZob","ytFsoUjW","qJRvBMukb"],"boolField":true,"intField":-22,"numField":-75.67217454248943,"objField":{"BVOMh":2760511524670577767,"HypNvCDz":3499199336906207946,"TTFI":-1718438042744690959,"fpDhT":-3613594715262029565,"jBojff":7517890519473317984},"stringDateField":"1908-08-20","stringDateTimeField":"1947-02-14T16:30:58Z","stringField":"OZAjAIogO","stringTimeField":"00:05:28.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763661Z","intField":-22,"numField":-75.67217454248943,"stringDateField":"1908-08-20","stringDateTimeField":"1947-02-14T16:30:58Z","stringField":"OZAjAIogO","stringTimeField":"00:05:28.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2082,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2082,"uuid":"9e0a898e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["RixhmKreyg"],"boolField":false,"intField":-865,"numField":-519.0996982033101,"objField":{"BayTvXD":3293587728292379447,"DSycJbL":-534127481503764549,"EQcpCbubbT":-6398251926438310610,"Eouhp":-8388984958376407958,"FLNMcva":7599776010163087866,"VEqG":-1247408233471978136,"ZoyVCoCBG":8040401101114710220,"hSBa":-354738907758280451,"tMBz":6479239866633590962},"stringDateField":"1972-11-14","stringDateTimeField":"1997-08-21T16:40:16Z","stringField":"vJYVtd","stringTimeField":"09:56:30.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":-865,"numField":-519.0996982033101,"stringDateField":"1972-11-14","stringDateTimeField":"1997-08-21T16:40:16Z","stringField":"vJYVtd","stringTimeField":"09:56:30.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2083,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2083,"uuid":"9e0a898e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["EgKRLaDhC","BRJBTZo","gQySWVhp","tRvdGH","YUjHKSkI","TFKeJqsg","vozrwhkMtf","SzuBRPb","SDSMe","CkfgmZoT"],"boolField":false,"intField":-413,"numField":39.70959059801227,"objField":{"UJlU":7721727652002298137,"fxPP":-1011483147090084050,"gCodkTaVC":894669857567605262},"stringDateField":"1936-06-13","stringDateTimeField":"2018-12-02T16:00:30Z","stringField":"nlOdKUIVV","stringTimeField":"22:37:13.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":-413,"numField":39.70959059801227,"stringDateField":"1936-06-13","stringDateTimeField":"2018-12-02T16:00:30Z","stringField":"nlOdKUIVV","stringTimeField":"22:37:13.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2084,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2084,"uuid":"9e0a898e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["xXjqJBXW","QYZwOS","PQOBmoqbo","ZvfMVeTzwR","xJQG","SnCTbasJkh","WhrPNJTtU","lEWKTxe","bthZ","fotoj"],"boolField":false,"intField":251,"numField":-161.35185115060335,"objField":{"BlXwMQEdQj":3922125906864785463,"jiveUzIBam":-681225003831951022},"stringDateField":"1986-01-29","stringDateTimeField":"1902-03-15T02:33:39Z","stringField":"xyjaPZMl","stringTimeField":"18:53:43.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":251,"numField":-161.35185115060335,"stringDateField":"1986-01-29","stringDateTimeField":"1902-03-15T02:33:39Z","stringField":"xyjaPZMl","stringTimeField":"18:53:43.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2085,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2085,"uuid":"9e0a898e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["DCBkjfuzlp"],"boolField":false,"intField":439,"numField":684.2294948386227,"objField":{"GBJDKFLF":6471486183758905413,"RqFwXW":6980819344212281383,"bRnpX":-2448058538085450984,"eixbvCDrMD":-3042439274021985119,"lcEWiNll":3241616307472545625,"mohxyre":-1990646954941940370,"uFPciFGufY":-2630311038183629579,"vciHQUH":3057933699406839114},"stringDateField":"1952-08-13","stringDateTimeField":"1967-01-30T15:17:38Z","stringField":"HXtd","stringTimeField":"11:14:25.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":439,"numField":684.2294948386227,"stringDateField":"1952-08-13","stringDateTimeField":"1967-01-30T15:17:38Z","stringField":"HXtd","stringTimeField":"11:14:25.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2086,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2086,"uuid":"9e0a898e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["KAsUa","lzuLgNSBoV","sIVxFH","jpTF","NhpkMeNE"],"boolField":true,"intField":-583,"numField":455.5834612752054,"objField":{"SkzFi":5817923486164450232,"tFdNhnQiWT":5091629073917636628},"stringDateField":"2004-09-02","stringDateTimeField":"1958-07-26T11:14:40Z","stringField":"hYygtadYso","stringTimeField":"09:27:04.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":-583,"numField":455.5834612752054,"stringDateField":"2004-09-02","stringDateTimeField":"1958-07-26T11:14:40Z","stringField":"hYygtadYso","stringTimeField":"09:27:04.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2087,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2087,"uuid":"9e0a898e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["QDjuKf","WcVktTYSTo","XkbQuv","oBhBeZvD","CeaGTtRj","zeKjBm"],"boolField":false,"intField":-600,"numField":764.7762145997581,"objField":{"AZbo":-676429162416965640,"BLBI":-4292121897423714020,"EHqBeu":5304110424126902582,"NMZxwGsNg":5792118456794111906,"ZcLA":6035045238187783485,"zMWVlqToc":-5725979972805935139},"stringDateField":"1911-06-18","stringDateTimeField":"1930-07-04T00:40:17Z","stringField":"awFhRLHI","stringTimeField":"05:34:33.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":-600,"numField":764.7762145997581,"stringDateField":"1911-06-18","stringDateTimeField":"1930-07-04T00:40:17Z","stringField":"awFhRLHI","stringTimeField":"05:34:33.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2088,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2088,"uuid":"9e0a898e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["jDxd","NOYMcoIYiD"],"boolField":true,"intField":961,"numField":-585.1931032968012,"objField":{"PGEklvRn":-6568926982295765226},"stringDateField":"1959-01-16","stringDateTimeField":"1921-11-09T00:05:24Z","stringField":"kDdHRIFnql","stringTimeField":"00:31:31.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":961,"numField":-585.1931032968012,"stringDateField":"1959-01-16","stringDateTimeField":"1921-11-09T00:05:24Z","stringField":"kDdHRIFnql","stringTimeField":"00:31:31.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2089,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2089,"uuid":"9e0a898e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["hwXYfdVz","YEeUmgtuuv","dIDWruxr","cmwPIC"],"boolField":true,"intField":-877,"numField":150.38836784901943,"objField":{"AhzWt":-4193831613420643268,"BPrFYq":90133793861804422,"ClCL":4073180887189967977,"RTpjH":4144458297930017974,"UhOxY":-1314468838654231840,"btegNaTV":-2466080832089878298,"cCKsBrd":6609859744424731443,"gMZTvA":4687195018868223464,"grSU":-542644406719072707,"pAXzpviJR":-7465370651297479665},"stringDateField":"1980-11-04","stringDateTimeField":"1954-08-24T09:24:13Z","stringField":"aAMy","stringTimeField":"06:16:55.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":-877,"numField":150.38836784901943,"stringDateField":"1980-11-04","stringDateTimeField":"1954-08-24T09:24:13Z","stringField":"aAMy","stringTimeField":"06:16:55.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2090,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2090,"uuid":"9e0a898e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["MhuxjF","UzWEHc","RXvrZm","cIeHrhd","RYKxSJOcFj","YIiVLfP","miilNIIT","OGqQNgYmTx","BkeOZraPr"],"boolField":true,"intField":746,"numField":166.22526750856514,"objField":{"qqaAkqSJ":8527008407807236213,"vFmbnGi":5043890596581430461,"yLCwJWwUc":5469382802838932424},"stringDateField":"1970-10-12","stringDateTimeField":"1959-10-21T09:16:59Z","stringField":"SnsuTkcWY","stringTimeField":"17:02:50.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":746,"numField":166.22526750856514,"stringDateField":"1970-10-12","stringDateTimeField":"1959-10-21T09:16:59Z","stringField":"SnsuTkcWY","stringTimeField":"17:02:50.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2091,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2091,"uuid":"9e0a898e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["Aecfi","CgwUIoepdP","WiAk","KwDlKn","Htsefe","mAAMedOrTd"],"boolField":false,"intField":360,"numField":-808.1250693915166,"objField":{"gDNIxkXT":-1309211872291179607},"stringDateField":"1949-12-12","stringDateTimeField":"1954-08-21T13:09:57Z","stringField":"foso","stringTimeField":"06:06:28.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":360,"numField":-808.1250693915166,"stringDateField":"1949-12-12","stringDateTimeField":"1954-08-21T13:09:57Z","stringField":"foso","stringTimeField":"06:06:28.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2092,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2092,"uuid":"9e0a898e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["tMKfpOpx","NVube","ruvJ","vOml","louOuP","IBDKJMS","ilbWu","mCtgMFl","vHOY","jRyGkxFS"],"boolField":true,"intField":-291,"numField":-179.2136243321364,"objField":{"BQbPdCm":-6775393552390245589,"LvfHIzUrde":-5685270410331906266,"WZwwhHRIB":-7425603703912582173,"fvFcv":-2480026215832086964,"lZFVrf":-4977677404244792583,"mdek":-2004066326739684956},"stringDateField":"1960-02-01","stringDateTimeField":"1994-03-06T10:19:20Z","stringField":"NwomBWNnh","stringTimeField":"20:08:44.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":-291,"numField":-179.2136243321364,"stringDateField":"1960-02-01","stringDateTimeField":"1994-03-06T10:19:20Z","stringField":"NwomBWNnh","stringTimeField":"20:08:44.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2093,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2093,"uuid":"9e0a898e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["RpLOJprTS","ewfI","MFfg","hDOUHV","ykOqGgVY","lqSt","WHSNpaEPOi"],"boolField":true,"intField":776,"numField":-755.1642585296022,"objField":{"CcJPcZruV":-3982451549139374405,"auTY":-2259797897161363001,"hLJHimUenI":-5995500254774693346,"inUrUnw":3562532880704126228,"iyEjWwPZHV":-8481731841948363735,"tSuooobJK":3712469316877705345},"stringDateField":"2021-09-09","stringDateTimeField":"1944-01-12T14:22:57Z","stringField":"tGqTPPCD","stringTimeField":"14:02:27.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":776,"numField":-755.1642585296022,"stringDateField":"2021-09-09","stringDateTimeField":"1944-01-12T14:22:57Z","stringField":"tGqTPPCD","stringTimeField":"14:02:27.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2094,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2094,"uuid":"9e0a898e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["TPhpHScAs","yvwM","wwwFqjqE","IcZyXG"],"boolField":true,"intField":461,"numField":-667.4392789156271,"objField":{"ADmfrL":18726401482226518,"CXBY":-5379620844451443185,"FuOrZLo":-9182559390694209011,"PrmjDduiv":4486196793235224668,"RAno":-77363993317683027,"VLtDFMX":6527926420618376624,"YRARsEAVQo":-3539191566709174132,"siyGILyVmH":738650197646944996,"trtPzZKdk":2921419514827269205},"stringDateField":"2015-10-15","stringDateTimeField":"1934-10-28T15:58:51Z","stringField":"DCbex","stringTimeField":"17:21:06.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":461,"numField":-667.4392789156271,"stringDateField":"2015-10-15","stringDateTimeField":"1934-10-28T15:58:51Z","stringField":"DCbex","stringTimeField":"17:21:06.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2095,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2095,"uuid":"9e0a898e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["tYYsZpN","ClkDG","xNREXp","hxwrvOxVwF"],"boolField":true,"intField":-126,"numField":860.971988701206,"objField":{"EKzGLnr":2809825933191851222,"Msql":-3404735768902279660,"OoQou":-342854264192145305,"QQro":1459807381099954,"RrRZQxOXCW":-7245762404706816305,"aRqRqqQmK":-5399842319444888286,"hPRQD":2120704132026720615,"jbOcUMkrDM":1924684065339718074,"nCGCRa":-6522489465499756889},"stringDateField":"2013-04-09","stringDateTimeField":"1951-03-30T11:35:08Z","stringField":"siASAqMG","stringTimeField":"01:59:32.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":-126,"numField":860.971988701206,"stringDateField":"2013-04-09","stringDateTimeField":"1951-03-30T11:35:08Z","stringField":"siASAqMG","stringTimeField":"01:59:32.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2096,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2096,"uuid":"9e0a898e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["vZQesliiM","dNKQ","pKuXBSYNA"],"boolField":true,"intField":583,"numField":-294.2591145109904,"objField":{"YBtik":7163479995125081744,"mtaSVfi":5803937121086463268},"stringDateField":"1954-02-17","stringDateTimeField":"1979-07-18T09:20:06Z","stringField":"nkctBgRavR","stringTimeField":"18:12:30.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":583,"numField":-294.2591145109904,"stringDateField":"1954-02-17","stringDateTimeField":"1979-07-18T09:20:06Z","stringField":"nkctBgRavR","stringTimeField":"18:12:30.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2097,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2097,"uuid":"9e0a898e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["gHlC","zYPTq","XEyKrtCkz"],"boolField":false,"intField":846,"numField":47.96881203917236,"objField":{"GjYyIVvaRX":-8142414409979118957,"IBprw":-6394619128906644844,"NXVEIfMVk":-4848087038855539252,"OKdQsbg":5343807070531588292,"aiOtcYhaPS":-2038757476845986634,"hCgKkEh":3531920053400623382,"kDmHDIS":2286990651194349175,"lAGQSf":6088211479277812916,"mfozS":83732331171736960,"nJsG":-8430833456790558592},"stringDateField":"1948-05-06","stringDateTimeField":"1975-03-01T00:52:01Z","stringField":"ULDDYYOJrD","stringTimeField":"20:04:16.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763662Z","intField":846,"numField":47.96881203917236,"stringDateField":"1948-05-06","stringDateTimeField":"1975-03-01T00:52:01Z","stringField":"ULDDYYOJrD","stringTimeField":"20:04:16.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2098,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2098,"uuid":"9e0a898f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["oqZdQZ","rziYlF","YtFM","IfRJZS"],"boolField":false,"intField":-681,"numField":637.9539899312119,"objField":{"QxbF":8727811046712331267,"SAxqktsm":8233397569751162578,"UCcTjodLE":-276379217574044131,"UmyIDDfJN":-561781241541849595,"WqqheVFI":7159829726957698013,"ZxDnNOq":859493100355961076,"aXCrvslQr":4533687288079281117},"stringDateField":"1927-07-10","stringDateTimeField":"1989-04-15T07:39:48Z","stringField":"EjinDaH","stringTimeField":"07:32:36.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":-681,"numField":637.9539899312119,"stringDateField":"1927-07-10","stringDateTimeField":"1989-04-15T07:39:48Z","stringField":"EjinDaH","stringTimeField":"07:32:36.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2099,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2099,"uuid":"9e0a898f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["fHazd","NIEgZY","yoOxFKd","KqnHaLi","eAVcdxd","TmfxsYIU","IqTtBqgGI","kZgPBCQ","KxKuN"],"boolField":false,"intField":853,"numField":212.7831718269508,"objField":{"HKuQzwTb":9088599446179344593,"LQVKj":7279524563412956398,"NFLXuKrvQr":2221576781685166683,"VFfRHAIET":-1114111174638915287,"YSLgwwsFu":-7387584014274651954,"cJRpGmGrKN":568331511342391063,"fYVX":7922950299508957110,"mRmsqbHI":2441609625709021849,"ugUL":-3769179446668513701},"stringDateField":"1925-05-03","stringDateTimeField":"2014-08-17T03:08:03Z","stringField":"sDmUYiNpW","stringTimeField":"00:24:59.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":853,"numField":212.7831718269508,"stringDateField":"1925-05-03","stringDateTimeField":"2014-08-17T03:08:03Z","stringField":"sDmUYiNpW","stringTimeField":"00:24:59.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2100,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2100,"uuid":"9e0a898f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["KXqeF","sLXoi","BMNZbNvOdN"],"boolField":true,"intField":-848,"numField":-22.239010665084713,"objField":{"BZOrrkvtI":3649755581179555231,"FieebzG":8243932523834812960,"GVQWVpbdx":-4247798368117751119,"ISJvbSjcy":-1930084759645632188,"caJP":-1598717727076719227,"qYVkJnPrBv":-7782962442572254037},"stringDateField":"1960-11-09","stringDateTimeField":"1985-05-03T21:35:49Z","stringField":"JUOz","stringTimeField":"21:55:58.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":-848,"numField":-22.239010665084713,"stringDateField":"1960-11-09","stringDateTimeField":"1985-05-03T21:35:49Z","stringField":"JUOz","stringTimeField":"21:55:58.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2101,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2101,"uuid":"9e0a898f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["APMPA","LnGoFGn","OJbWs","pWNAZQhP","ouXqAifBO","vmhBCh","ZkSIisuhA","lxVphmC","nnPhWzF","RiVWON"],"boolField":true,"intField":-611,"numField":-660.899273754778,"objField":{"OZefoP":2295145526727771410,"XPclkAfB":-4315983459986015619,"XkomDgxM":-4084141671977125422,"htKBRoIA":-6401259001763028610,"hvWcXV":1729902274429988024,"jNssefcSCR":-8387568044391517190,"lACaHYH":1711684135329715634,"pUZB":251125368834808777,"tlvixDt":7668683827596602630,"zSvmlHrqL":-882464584567957828},"stringDateField":"2001-08-08","stringDateTimeField":"1973-12-27T02:15:22Z","stringField":"jEGhSYRKlR","stringTimeField":"16:40:24.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":-611,"numField":-660.899273754778,"stringDateField":"2001-08-08","stringDateTimeField":"1973-12-27T02:15:22Z","stringField":"jEGhSYRKlR","stringTimeField":"16:40:24.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2102,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2102,"uuid":"9e0a898f-5655-11ee-9001-675ed0f8e89b"},"arrayField":["jmaEUOM","PISec","Bdiig","YHhSr","xHLWVQzipg","RNBJzwi","MLPHsjLFgT","rZKHeNXUO"],"boolField":true,"intField":-549,"numField":-800.5197129844234,"objField":{"GFfvNHpPd":-5987926993095972065,"IZUZSS":1578595900520940944,"YEeU":-4433182995520256711,"cJesTYFsQ":-7270986850577808511,"goDDy":595308004601428177,"vECjycBu":5523805712817662699},"stringDateField":"2023-09-11","stringDateTimeField":"1925-04-23T11:41:45Z","stringField":"NZpTUMQ","stringTimeField":"23:54:40.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":-549,"numField":-800.5197129844234,"stringDateField":"2023-09-11","stringDateTimeField":"1925-04-23T11:41:45Z","stringField":"NZpTUMQ","stringTimeField":"23:54:40.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2103,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2103,"uuid":"9e0a898f-5655-11ee-9401-675ed0f8e89b"},"arrayField":["juql","AQNYtLqZ","KfqOO","MCYkF","mpsCsYz"],"boolField":false,"intField":-819,"numField":-898.1680283431186,"objField":{"azofQ":5377875716246769293,"sYoLmd":-1879578422589942520,"shPE":-5076926810674818477,"uVhwKdSq":-7638926683454950273},"stringDateField":"1955-04-30","stringDateTimeField":"1933-01-04T02:48:35Z","stringField":"ycKAVjscR","stringTimeField":"14:57:50.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":-819,"numField":-898.1680283431186,"stringDateField":"1955-04-30","stringDateTimeField":"1933-01-04T02:48:35Z","stringField":"ycKAVjscR","stringTimeField":"14:57:50.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2104,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2104,"uuid":"9e0a898f-5655-11ee-9801-675ed0f8e89b"},"arrayField":["BqOMmY","AFaUylc","QXFjwVTXrR","QACd","izTq","uwyNGNif"],"boolField":true,"intField":-760,"numField":-885.8028010596806,"objField":{"FAeMvALAK":2064999939185328598,"GQuo":9037457720066244067,"QqfwPKjRav":-6286048749778733396,"VagxjFbOAx":3546825348898277817,"ZjSzc":-5242296136229253872},"stringDateField":"1928-05-07","stringDateTimeField":"2016-03-08T11:47:41Z","stringField":"eaBMC","stringTimeField":"22:10:28.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":-760,"numField":-885.8028010596806,"stringDateField":"1928-05-07","stringDateTimeField":"2016-03-08T11:47:41Z","stringField":"eaBMC","stringTimeField":"22:10:28.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2105,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2105,"uuid":"9e0a898f-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["GCuGLrq","ZnHJ","cNMDmU","iDCEuFxi","qHLfXDjQ","rFHRDw","kybQYeouPL","GEHzSbjf","cPnqWlEn"],"boolField":true,"intField":-438,"numField":549.9976146808257,"objField":{"QPQJA":2601913249258942062,"eqhQqncO":1739790977479034696,"mwFAQrpQ":-692482734466170890},"stringDateField":"2012-04-20","stringDateTimeField":"2022-08-14T05:22:39Z","stringField":"MEBS","stringTimeField":"05:46:08.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":-438,"numField":549.9976146808257,"stringDateField":"2012-04-20","stringDateTimeField":"2022-08-14T05:22:39Z","stringField":"MEBS","stringTimeField":"05:46:08.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2106,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2106,"uuid":"9e0a898f-5655-11ee-a001-675ed0f8e89b"},"arrayField":["kMQEQ","GIIOcjgom","DnhVW","jHlRDgJdPn","CvMZC","hMhj","sWhLfF","tEpkJmvk"],"boolField":true,"intField":413,"numField":-691.9209996847815,"objField":{"Gauvotdno":-8555644985068938012,"OTWxQWSrF":8387376314586323930,"lRlSYJ":3985455643326081174},"stringDateField":"1941-04-20","stringDateTimeField":"1931-01-24T02:21:06Z","stringField":"IHcxeA","stringTimeField":"03:12:53.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":413,"numField":-691.9209996847815,"stringDateField":"1941-04-20","stringDateTimeField":"1931-01-24T02:21:06Z","stringField":"IHcxeA","stringTimeField":"03:12:53.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2107,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2107,"uuid":"9e0a898f-5655-11ee-a401-675ed0f8e89b"},"arrayField":["vtRurZ"],"boolField":false,"intField":-10,"numField":852.3635741276967,"objField":{"PNbxhgx":-8197656244855984819,"kyDgEnJQA":1632010576329922061,"lEzZ":-8778571087254454674,"rKZCme":-5230258598755636032,"tJCNtTv":6700969030314123312,"ysntsVly":-8507541197147707920},"stringDateField":"1909-12-22","stringDateTimeField":"2001-08-21T16:43:26Z","stringField":"FoVg","stringTimeField":"23:34:53.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":-10,"numField":852.3635741276967,"stringDateField":"1909-12-22","stringDateTimeField":"2001-08-21T16:43:26Z","stringField":"FoVg","stringTimeField":"23:34:53.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2108,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2108,"uuid":"9e0a898f-5655-11ee-a801-675ed0f8e89b"},"arrayField":["DoXUCAz","vYyDCJpQ"],"boolField":true,"intField":495,"numField":700.7946610346613,"objField":{"QMnAOrAqj":-5900064937607579410,"hQlsXb":-55802447606689745,"zVdTd":5794479303205322235},"stringDateField":"2014-05-31","stringDateTimeField":"1949-02-24T08:14:45Z","stringField":"ozMer","stringTimeField":"15:22:19.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":495,"numField":700.7946610346613,"stringDateField":"2014-05-31","stringDateTimeField":"1949-02-24T08:14:45Z","stringField":"ozMer","stringTimeField":"15:22:19.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2109,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2109,"uuid":"9e0a898f-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["NRNnIwke","gxZYPYFfp","kfUfRz","lRCY","whhPa","yLbZ","iigeLZJn","HBUjNr"],"boolField":false,"intField":793,"numField":806.7388732087304,"objField":{"BHLGAggNS":748448816353807754,"BQxqBykc":-1344566148065681080,"VNTgMAO":5834089993181568815,"ZchJQ":-8916835639239100197,"hzIz":7105997348954757578,"qASZAcbzYr":-3325542923000732964,"rQPEdVhHQ":5221103937937794394,"sbPLdeLur":-1384522699652761865},"stringDateField":"1988-10-08","stringDateTimeField":"1978-02-04T16:16:21Z","stringField":"kFQWrk","stringTimeField":"22:00:26.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":793,"numField":806.7388732087304,"stringDateField":"1988-10-08","stringDateTimeField":"1978-02-04T16:16:21Z","stringField":"kFQWrk","stringTimeField":"22:00:26.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2110,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2110,"uuid":"9e0a898f-5655-11ee-b001-675ed0f8e89b"},"arrayField":["sOvgVAdd","jsKfkHy","VqUtXjW","LffltYg","eBXn"],"boolField":true,"intField":-497,"numField":791.0379383009542,"objField":{"Dywu":-4570720713824483563},"stringDateField":"1962-12-13","stringDateTimeField":"1919-03-02T07:42:33Z","stringField":"lzDCDI","stringTimeField":"12:54:58.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":-497,"numField":791.0379383009542,"stringDateField":"1962-12-13","stringDateTimeField":"1919-03-02T07:42:33Z","stringField":"lzDCDI","stringTimeField":"12:54:58.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2111,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2111,"uuid":"9e0a898f-5655-11ee-b401-675ed0f8e89b"},"arrayField":["CMolNFVem","UsxpwRlA","NDdeKStJZ","PUjZuut","WStAObTF","GOfXsl","lrYuY"],"boolField":false,"intField":919,"numField":298.0540720539493,"objField":{"ecZxF":7485950489963877109,"jgZlFEkPxs":-7656662866601733350,"ncwQPrlE":4212576011365547232},"stringDateField":"1976-09-10","stringDateTimeField":"1917-06-26T06:04:35Z","stringField":"PWRunCYhN","stringTimeField":"03:46:02.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":919,"numField":298.0540720539493,"stringDateField":"1976-09-10","stringDateTimeField":"1917-06-26T06:04:35Z","stringField":"PWRunCYhN","stringTimeField":"03:46:02.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2112,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2112,"uuid":"9e0a898f-5655-11ee-b801-675ed0f8e89b"},"arrayField":["lFaBQqaEF","dBeAbKd","OBqJLFtwTd","oYVXTRCL","jRjWIf","mothiD","YxiUt","gNlI","vpRtY","FGTzPytE"],"boolField":true,"intField":87,"numField":-224.48217304100027,"objField":{"AKyOVvoCju":116412265648689295,"IeafINwYZb":-5536265205433207822,"QbfSSdAu":-7187979947576711304,"RKHYgxfXr":449526917186490012,"RZQCeeeUi":563975063178641405,"gmikX":4561113195161004198},"stringDateField":"1984-05-29","stringDateTimeField":"2016-06-18T13:58:53Z","stringField":"FnCZ","stringTimeField":"06:45:55.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":87,"numField":-224.48217304100027,"stringDateField":"1984-05-29","stringDateTimeField":"2016-06-18T13:58:53Z","stringField":"FnCZ","stringTimeField":"06:45:55.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2113,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2113,"uuid":"9e0a898f-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["TlsaUOLVGt","BluQ","yDgdU","pBaT","wCvXHqQ","FQSre","NGmx","jTxDWKQVq","phPbNEiM","DPrXbZ"],"boolField":true,"intField":-434,"numField":-572.057265693366,"objField":{"lTxt":-2950638972170202731},"stringDateField":"2013-03-07","stringDateTimeField":"1972-11-16T23:28:27Z","stringField":"RRTgTxKQ","stringTimeField":"07:17:05.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763663Z","intField":-434,"numField":-572.057265693366,"stringDateField":"2013-03-07","stringDateTimeField":"1972-11-16T23:28:27Z","stringField":"RRTgTxKQ","stringTimeField":"07:17:05.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2114,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2114,"uuid":"9e0a8990-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PPmGte","QtMKNyilHq","AShPI","nsWRmbKJb","BGHOGpTUp","UZqaKTXps","EnwswCBlGt","jWqEJSxqf"],"boolField":false,"intField":-881,"numField":990.6962721763286,"objField":{"GKULn":-3843000033561389005,"JmvjNFovC":8063947949617023090,"QbVkNBvAnt":-2051190395583585143,"RWWrOoq":-7047793662506822163,"eIywW":-6187094155749806842,"pkQRLU":-7580480157946198568},"stringDateField":"1972-08-02","stringDateTimeField":"1954-01-25T23:02:51Z","stringField":"nEDaJ","stringTimeField":"15:59:08.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":-881,"numField":990.6962721763286,"stringDateField":"1972-08-02","stringDateTimeField":"1954-01-25T23:02:51Z","stringField":"nEDaJ","stringTimeField":"15:59:08.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2115,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2115,"uuid":"9e0a8990-5655-11ee-8401-675ed0f8e89b"},"arrayField":["lZRTsDEbx","zCLJXV","CctDyUZ","RUmqP","VsuLnhza"],"boolField":false,"intField":15,"numField":-713.884780178792,"objField":{"DiBuzkS":-4074059860732368377,"MGwjNrV":-5113215241132625696,"POJZft":8236900284406062964,"QBUGv":8976470185561673139,"SlINUxdhKr":-3409895569401634997,"jCRNc":-4398212886859102152,"tXtsUc":-5042605012123018433,"vYeFGOA":9039592666062280257,"wEmOEgqypN":3299747614099960517},"stringDateField":"1972-07-23","stringDateTimeField":"1996-08-07T04:18:15Z","stringField":"VRQJ","stringTimeField":"04:09:44.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":15,"numField":-713.884780178792,"stringDateField":"1972-07-23","stringDateTimeField":"1996-08-07T04:18:15Z","stringField":"VRQJ","stringTimeField":"04:09:44.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2116,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2116,"uuid":"9e0a8990-5655-11ee-8801-675ed0f8e89b"},"arrayField":["DWZYCSbRB","FPlgbtdw","SXbT","UbAAdml"],"boolField":true,"intField":-79,"numField":790.2568964600154,"objField":{"IPSvwgE":-1410764946789672691,"McuNQTkVXl":7903446245298077226},"stringDateField":"1923-05-19","stringDateTimeField":"1915-06-16T11:43:09Z","stringField":"VgaNezUTmX","stringTimeField":"09:50:45.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":-79,"numField":790.2568964600154,"stringDateField":"1923-05-19","stringDateTimeField":"1915-06-16T11:43:09Z","stringField":"VgaNezUTmX","stringTimeField":"09:50:45.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2117,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2117,"uuid":"9e0a8990-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["ThjgIvhJQv","RQIqTFIMeQ"],"boolField":false,"intField":206,"numField":-944.756082246375,"objField":{"OccclbQ":-2599525192655440353,"RlQzb":-4707808878271820021,"TyeyIhR":8848690935090078362,"ZVtukxNHI":1856157691914954402,"ZhKOVzS":-1132573592271172701,"rSglPx":-4522728775625698011},"stringDateField":"1971-08-05","stringDateTimeField":"1944-12-10T21:49:34Z","stringField":"EUHLR","stringTimeField":"19:08:33.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":206,"numField":-944.756082246375,"stringDateField":"1971-08-05","stringDateTimeField":"1944-12-10T21:49:34Z","stringField":"EUHLR","stringTimeField":"19:08:33.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2118,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2118,"uuid":"9e0a8990-5655-11ee-9001-675ed0f8e89b"},"arrayField":["IkhTyOP","MabjSoSY","JUNTGZ","NXqZy","vxthTDGR","BSBogNntt"],"boolField":true,"intField":-938,"numField":791.123100756967,"objField":{"ASePmHNl":6781916973713726570,"NLSSeepGdQ":7731108306175582001,"SMFM":1031749559121720364,"TDHNM":-6123292076675089713,"UdEx":3136750588501802458,"jsQdbTlmk":9114713919013607943,"pSJd":-6072480363573719898,"pUjQBXOby":-5990659576657577253,"vwJrs":-1119719848427168190,"yJpg":-685915704701034110},"stringDateField":"1943-11-27","stringDateTimeField":"2004-03-09T20:44:06Z","stringField":"Rpda","stringTimeField":"12:17:30.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":-938,"numField":791.123100756967,"stringDateField":"1943-11-27","stringDateTimeField":"2004-03-09T20:44:06Z","stringField":"Rpda","stringTimeField":"12:17:30.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2119,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2119,"uuid":"9e0a8990-5655-11ee-9401-675ed0f8e89b"},"arrayField":["pSViw","oMqzyupstz","mPDTpM"],"boolField":true,"intField":-909,"numField":-12.5155146016519,"objField":{"KaAJFdEEH":7647592394310350170,"ieNJuBMb":-3477868129480353957},"stringDateField":"1906-11-03","stringDateTimeField":"1985-11-21T00:09:08Z","stringField":"rEDWq","stringTimeField":"15:21:15.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":-909,"numField":-12.5155146016519,"stringDateField":"1906-11-03","stringDateTimeField":"1985-11-21T00:09:08Z","stringField":"rEDWq","stringTimeField":"15:21:15.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2120,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2120,"uuid":"9e0a8990-5655-11ee-9801-675ed0f8e89b"},"arrayField":["WYyqVht","sBbst"],"boolField":true,"intField":335,"numField":-76.53775222143477,"objField":{"NRSVrvNS":833313586435986391,"ZUVRaigv":-6434468502435141887,"kWkDGmtm":-8108558260127559453,"uEjBPO":674037132503721785,"vweVAhvnU":6251187424588660901},"stringDateField":"1935-09-07","stringDateTimeField":"1945-06-14T10:58:05Z","stringField":"TPngVfN","stringTimeField":"13:43:29.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":335,"numField":-76.53775222143477,"stringDateField":"1935-09-07","stringDateTimeField":"1945-06-14T10:58:05Z","stringField":"TPngVfN","stringTimeField":"13:43:29.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2121,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2121,"uuid":"9e0a8990-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["bNLdmM","yuYpmoIc","rVvLd","iuZpfSXvQ","qgWkW","LklUi","xbvar","BVirq","rLlBaH"],"boolField":false,"intField":173,"numField":398.72280084092625,"objField":{"UvyP":-1198716180266806661},"stringDateField":"1953-04-13","stringDateTimeField":"2005-03-15T12:50:29Z","stringField":"afOSm","stringTimeField":"23:55:07.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":173,"numField":398.72280084092625,"stringDateField":"1953-04-13","stringDateTimeField":"2005-03-15T12:50:29Z","stringField":"afOSm","stringTimeField":"23:55:07.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2122,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2122,"uuid":"9e0a8990-5655-11ee-a001-675ed0f8e89b"},"arrayField":["RQpXze","IxjrJV","ZxfEr","JMOofRSMO","adxWcHm","alCmgoAlJg"],"boolField":false,"intField":178,"numField":840.0767098207098,"objField":{"hrjjhkLis":-2364354054313013445},"stringDateField":"1999-05-13","stringDateTimeField":"1913-01-25T02:25:45Z","stringField":"twkHL","stringTimeField":"06:52:59.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":178,"numField":840.0767098207098,"stringDateField":"1999-05-13","stringDateTimeField":"1913-01-25T02:25:45Z","stringField":"twkHL","stringTimeField":"06:52:59.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2123,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2123,"uuid":"9e0a8990-5655-11ee-a401-675ed0f8e89b"},"arrayField":["wayN"],"boolField":true,"intField":551,"numField":-325.4268066331687,"objField":{"CaTL":6338551704748363549,"CfZaW":5310988929271132285,"FGOSQ":-1845891412065259731,"GuiZHYI":-1345745965034590039,"WYxkeq":6518908899869212230,"hJMfUxX":6734175381345549384,"lHMEABoY":4054840768038039312,"qmYsrUy":2586218357321050263,"viTwTfvw":-736339125746606711},"stringDateField":"1915-12-23","stringDateTimeField":"1917-09-14T10:52:10Z","stringField":"TYNStoOqge","stringTimeField":"10:20:35.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":551,"numField":-325.4268066331687,"stringDateField":"1915-12-23","stringDateTimeField":"1917-09-14T10:52:10Z","stringField":"TYNStoOqge","stringTimeField":"10:20:35.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2124,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2124,"uuid":"9e0a8990-5655-11ee-a801-675ed0f8e89b"},"arrayField":["byUURr"],"boolField":false,"intField":238,"numField":669.2516394303203,"objField":{"CJkGl":8946752748699302848,"NLEU":5177738224383560258,"ezYedOB":-8363764679660791832},"stringDateField":"1931-12-01","stringDateTimeField":"1982-09-06T22:27:12Z","stringField":"DofBPGWbv","stringTimeField":"19:55:08.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":238,"numField":669.2516394303203,"stringDateField":"1931-12-01","stringDateTimeField":"1982-09-06T22:27:12Z","stringField":"DofBPGWbv","stringTimeField":"19:55:08.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2125,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2125,"uuid":"9e0a8990-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["PqSeRdG","FFzzIPS","oyAKOtbp","qioHZw"],"boolField":true,"intField":299,"numField":113.06088465708508,"objField":{"ApHGgwGYAb":1488284411489067442,"QpLbGuT":8028642181947495870,"SYNAWvAF":-8428218446632369752,"ZljVtufF":6511452350679457063,"dZzopENhab":7316482291330662598,"iXRwMZvzoy":7051728641430817758,"sLhiuTiY":-2584824857637261610},"stringDateField":"1954-12-11","stringDateTimeField":"1951-12-17T14:16:38Z","stringField":"NQBOWFrekR","stringTimeField":"01:51:18.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":299,"numField":113.06088465708508,"stringDateField":"1954-12-11","stringDateTimeField":"1951-12-17T14:16:38Z","stringField":"NQBOWFrekR","stringTimeField":"01:51:18.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2126,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2126,"uuid":"9e0a8990-5655-11ee-b001-675ed0f8e89b"},"arrayField":["NeJF","ZCEpnaHEuh"],"boolField":false,"intField":542,"numField":-986.2912480462576,"objField":{"DIXONVHcs":8735826883199711276,"NrXtdtBWi":678488839267920820,"TwuckRQKgN":-5974396268476730982,"YSTGGrXWj":7584243760690908196,"gjvOp":-1541463177052582746,"lwKRN":8632196459968811718,"muPobTn":-1838494263929386690,"mzyNx":7237067499639112066,"yfKZrgHg":6777508835326781773},"stringDateField":"1908-05-24","stringDateTimeField":"1927-04-04T04:46:33Z","stringField":"DGuVhQm","stringTimeField":"11:29:31.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":542,"numField":-986.2912480462576,"stringDateField":"1908-05-24","stringDateTimeField":"1927-04-04T04:46:33Z","stringField":"DGuVhQm","stringTimeField":"11:29:31.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2127,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2127,"uuid":"9e0a8990-5655-11ee-b401-675ed0f8e89b"},"arrayField":["EupS","FMds","dvffHQ","yNJoZ","gODK","PDByIqHy","eiHDOTfAcB","uUiNCn","Jlnq","bhsLLQi"],"boolField":true,"intField":668,"numField":896.3093007248921,"objField":{"CROHJXPWtC":-7474682867545475039,"EJabA":819318799228104416,"bvIK":-3162697837999401116,"mViYN":-8197226562875168497},"stringDateField":"1976-08-01","stringDateTimeField":"1965-12-27T10:39:19Z","stringField":"ZjxuSNAG","stringTimeField":"14:29:20.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":668,"numField":896.3093007248921,"stringDateField":"1976-08-01","stringDateTimeField":"1965-12-27T10:39:19Z","stringField":"ZjxuSNAG","stringTimeField":"14:29:20.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2128,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2128,"uuid":"9e0a8990-5655-11ee-b801-675ed0f8e89b"},"arrayField":["NPna","FVsIhL"],"boolField":false,"intField":570,"numField":473.61184559422134,"objField":{"CAhWjo":-3362107600364472857,"YahaCvpPj":-5804787614134044429,"amZynLasE":4796431584661981608,"cNMf":-1721698804065006721,"cSrqMT":3550469872744342652,"hkaCSW":-2588906486910139803,"jevL":7984534366551334409,"zQpaNk":-7290466752307981940},"stringDateField":"1928-03-12","stringDateTimeField":"1996-09-01T03:03:17Z","stringField":"rfjJ","stringTimeField":"07:43:13.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":570,"numField":473.61184559422134,"stringDateField":"1928-03-12","stringDateTimeField":"1996-09-01T03:03:17Z","stringField":"rfjJ","stringTimeField":"07:43:13.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2129,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2129,"uuid":"9e0a8990-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["DwgExWpZn","imQDyvTRKA","TVtkTKdbq","hinQJo","ASlXw","MPaBWgIJoa","wESLBHj","PxeMzDR","Ghoza","VqYH"],"boolField":true,"intField":312,"numField":-293.9598286100652,"objField":{"NhxwqeQuBv":-2395834345205591484,"nkev":-8692880928035787191},"stringDateField":"1957-08-08","stringDateTimeField":"1997-09-16T01:28:38Z","stringField":"WUxSXjv","stringTimeField":"04:08:18.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763664Z","intField":312,"numField":-293.9598286100652,"stringDateField":"1957-08-08","stringDateTimeField":"1997-09-16T01:28:38Z","stringField":"WUxSXjv","stringTimeField":"04:08:18.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2130,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2130,"uuid":"9e0a8991-5655-11ee-8001-675ed0f8e89b"},"arrayField":["NkpMcprWJe","IzyJ","daefdCi","sFUPtS","jkDaoyCDfx","LffW","nhkYWaXGZ","lBGGDu","ReprljifF","IGie"],"boolField":false,"intField":150,"numField":986.3219310798232,"objField":{"YLIgTEpiRc":8379947401987338021,"rQItB":-5261426216848006777,"xwNTKC":4228958712012263472},"stringDateField":"1903-12-12","stringDateTimeField":"1978-11-19T01:34:53Z","stringField":"ybKeCqeA","stringTimeField":"02:56:04.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":150,"numField":986.3219310798232,"stringDateField":"1903-12-12","stringDateTimeField":"1978-11-19T01:34:53Z","stringField":"ybKeCqeA","stringTimeField":"02:56:04.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2131,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2131,"uuid":"9e0a8991-5655-11ee-8401-675ed0f8e89b"},"arrayField":["tcIN","UrOfjkP","ZuTNyuQ"],"boolField":false,"intField":342,"numField":-979.8422644599556,"objField":{"CNmluZi":3241890092568415444,"XpVpbGq":4636182896272107643,"daNMC":8071306324406758037,"eeIi":-1811470425908735314,"fDPGy":6086981454264831467,"nMMGVv":-3638633527808878366,"vxgDBHPmoB":1164925794817771572},"stringDateField":"1919-04-30","stringDateTimeField":"1946-12-02T15:21:34Z","stringField":"YcpJdg","stringTimeField":"18:21:55.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":342,"numField":-979.8422644599556,"stringDateField":"1919-04-30","stringDateTimeField":"1946-12-02T15:21:34Z","stringField":"YcpJdg","stringTimeField":"18:21:55.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2132,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2132,"uuid":"9e0a8991-5655-11ee-8801-675ed0f8e89b"},"arrayField":["Htgpr"],"boolField":true,"intField":-571,"numField":-284.1112685618269,"objField":{"aJPtgHCTK":8765597154366401821,"aejnoTGoq":3285846687933618463},"stringDateField":"1931-07-22","stringDateTimeField":"1904-08-13T07:39:27Z","stringField":"PEVF","stringTimeField":"13:31:32.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":-571,"numField":-284.1112685618269,"stringDateField":"1931-07-22","stringDateTimeField":"1904-08-13T07:39:27Z","stringField":"PEVF","stringTimeField":"13:31:32.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2133,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2133,"uuid":"9e0a8991-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["ieFJbYipM","dgrRh","wANn","FFHgWK"],"boolField":true,"intField":-571,"numField":798.2273669527959,"objField":{"PfZc":3397318674878917409,"SSxqAXzKZ":-3509414423495779964,"kNlRpuzkl":5600354753549974135},"stringDateField":"1981-06-16","stringDateTimeField":"2004-02-18T20:33:15Z","stringField":"MGSmJ","stringTimeField":"07:57:02.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":-571,"numField":798.2273669527959,"stringDateField":"1981-06-16","stringDateTimeField":"2004-02-18T20:33:15Z","stringField":"MGSmJ","stringTimeField":"07:57:02.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2134,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2134,"uuid":"9e0a8991-5655-11ee-9001-675ed0f8e89b"},"arrayField":["dcfDGYFL","kXFPO","nDXkhIohpV","CBTqPQeOHx","bMljbhUqz","fMmRIhg","iNfKF","RAXF","XQkj","yeoiWmWiJ"],"boolField":true,"intField":870,"numField":-924.8043225141412,"objField":{"JSEFlaGOP":6696586047461865452,"MGZVgX":4511721272756217124,"NUHp":-5529057933497982927,"Nvrh":-6684346596357260304,"RHad":3127665290941572219,"jKNmqTcbIa":-8908485118779942569,"mxSnvyrkQ":3674802390970492568},"stringDateField":"2006-01-01","stringDateTimeField":"1967-07-17T15:37:32Z","stringField":"BLVhe","stringTimeField":"09:32:57.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":870,"numField":-924.8043225141412,"stringDateField":"2006-01-01","stringDateTimeField":"1967-07-17T15:37:32Z","stringField":"BLVhe","stringTimeField":"09:32:57.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2135,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2135,"uuid":"9e0a8991-5655-11ee-9401-675ed0f8e89b"},"arrayField":["QFeKXu","pnTvUNPG","VbUeqkENEM","WJIXzCV","PuGKPqEfU","GzyDuT","LhWOHlLjOL"],"boolField":true,"intField":-91,"numField":-76.59092834184456,"objField":{"JbpQbr":-235089152966616035,"LXjCfEe":-3340201948543362522,"UQRQM":3535927711471243561,"aAGwM":3966924755440180333,"eRcPCI":-403498081681138072,"mNehC":3254657685191700752,"vNWw":-8541846540075358383},"stringDateField":"2012-03-18","stringDateTimeField":"1900-09-30T15:56:32Z","stringField":"JPFobj","stringTimeField":"04:36:55.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":-91,"numField":-76.59092834184456,"stringDateField":"2012-03-18","stringDateTimeField":"1900-09-30T15:56:32Z","stringField":"JPFobj","stringTimeField":"04:36:55.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2136,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2136,"uuid":"9e0a8991-5655-11ee-9801-675ed0f8e89b"},"arrayField":["yVUurmqdj","lKoYyoGa","uded","rjNIv","fxLUn","ziiJ"],"boolField":true,"intField":-499,"numField":107.5210253332981,"objField":{"BwoSb":278483588553118394,"cIAnnTpyMj":-5850036313601162237,"nuzd":1956564246814579932,"tsLUmZO":-6299446227032912258,"vRBQfbe":1965863111175003698},"stringDateField":"2021-06-03","stringDateTimeField":"1964-03-24T08:38:24Z","stringField":"MjNQPOpj","stringTimeField":"11:55:05.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":-499,"numField":107.5210253332981,"stringDateField":"2021-06-03","stringDateTimeField":"1964-03-24T08:38:24Z","stringField":"MjNQPOpj","stringTimeField":"11:55:05.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2137,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2137,"uuid":"9e0a8991-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ujOnWKREr","ghXRb","RfUxKvMd","HYxsKBrx","atxwvJ","VDNJh"],"boolField":true,"intField":-137,"numField":955.5862347279374,"objField":{"Htdg":7414413490312964598,"JDrFsL":8581929594060066585,"JnzCTz":-1167244223341426285,"NYzzIueyyV":4752925799874726438,"UHUMuKF":-3561227879302516435,"VNWEEO":-6645914323249158912,"disZTyn":7916162901923576835,"dorAVyBU":9172821112057662827,"lvgyThrV":5362813588290375895},"stringDateField":"1963-07-28","stringDateTimeField":"1949-02-01T05:26:35Z","stringField":"sNngX","stringTimeField":"00:29:34.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":-137,"numField":955.5862347279374,"stringDateField":"1963-07-28","stringDateTimeField":"1949-02-01T05:26:35Z","stringField":"sNngX","stringTimeField":"00:29:34.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2138,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2138,"uuid":"9e0a8991-5655-11ee-a001-675ed0f8e89b"},"arrayField":["MKec","NuNtppN","KSJw","MisuQCylJ","SagvJ","BDtoZAo"],"boolField":false,"intField":-223,"numField":-130.3345217544578,"objField":{"FPlKkZHwJD":2809444516295090574,"MjAhkoNc":-7724313065520042798,"rteAiBSo":8939128235714891678,"sNtjFPdfgY":6797874759688450198,"yGAWSbepL":-1569016688681183950},"stringDateField":"1904-10-31","stringDateTimeField":"1990-09-10T10:27:38Z","stringField":"zlSfDOi","stringTimeField":"23:09:28.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":-223,"numField":-130.3345217544578,"stringDateField":"1904-10-31","stringDateTimeField":"1990-09-10T10:27:38Z","stringField":"zlSfDOi","stringTimeField":"23:09:28.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2139,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2139,"uuid":"9e0a8991-5655-11ee-a401-675ed0f8e89b"},"arrayField":["pYwYFxsIBw","EKGVQhdh"],"boolField":false,"intField":-485,"numField":-330.48104960975456,"objField":{"DgZmq":6370067748910980567,"OHpdA":6701669211540252447,"UuACWHC":334566704292225264,"sciDBjagT":4186700579829997782},"stringDateField":"1937-05-04","stringDateTimeField":"1991-05-29T02:15:09Z","stringField":"slTZRWU","stringTimeField":"07:54:13.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":-485,"numField":-330.48104960975456,"stringDateField":"1937-05-04","stringDateTimeField":"1991-05-29T02:15:09Z","stringField":"slTZRWU","stringTimeField":"07:54:13.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2140,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2140,"uuid":"9e0a8991-5655-11ee-a801-675ed0f8e89b"},"arrayField":["MWsSpP","TWqqAdRf","tLnXxr","ZltCArkH","ovwP","CToJ","AJFZlSJ"],"boolField":false,"intField":-348,"numField":-641.6707133366048,"objField":{"UlFkpbqfU":-2989803966935698965,"YwsKN":-5152907773848785001,"baERdHgdEY":-5108228901711142057},"stringDateField":"1918-01-18","stringDateTimeField":"1990-06-24T11:12:25Z","stringField":"fssFdSQC","stringTimeField":"23:28:10.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":-348,"numField":-641.6707133366048,"stringDateField":"1918-01-18","stringDateTimeField":"1990-06-24T11:12:25Z","stringField":"fssFdSQC","stringTimeField":"23:28:10.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2141,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2141,"uuid":"9e0a8991-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["MKpFq"],"boolField":false,"intField":-603,"numField":680.1924936897885,"objField":{"GKQPtcQGA":177230808414716567,"OoJAwi":8288092413912913641,"OvvpcT":7287040906432805499,"kedBQf":8600873300723223151},"stringDateField":"1944-07-06","stringDateTimeField":"2019-10-18T13:16:26Z","stringField":"bUGNPFAl","stringTimeField":"07:26:14.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":-603,"numField":680.1924936897885,"stringDateField":"1944-07-06","stringDateTimeField":"2019-10-18T13:16:26Z","stringField":"bUGNPFAl","stringTimeField":"07:26:14.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2142,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2142,"uuid":"9e0a8991-5655-11ee-b001-675ed0f8e89b"},"arrayField":["MRkdnyhW","WwrdUQaF","KcAwa","guVzA","sPNockSbLU"],"boolField":true,"intField":811,"numField":-34.57955557195413,"objField":{"CDtVaWF":6544156250717365571,"LOOaptknnM":5158153084205582650,"QBUnyZwrE":3274339513952872003,"QnJxHgW":-6451025107522136306,"VTpCPrH":77951698551367775,"cmjd":-125037889418300158,"nEHEFZ":5602135694136947009,"xUVN":657024098865179151},"stringDateField":"1966-06-08","stringDateTimeField":"1995-11-19T04:11:33Z","stringField":"KAQBPKmhHe","stringTimeField":"13:28:29.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":811,"numField":-34.57955557195413,"stringDateField":"1966-06-08","stringDateTimeField":"1995-11-19T04:11:33Z","stringField":"KAQBPKmhHe","stringTimeField":"13:28:29.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2143,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2143,"uuid":"9e0a8991-5655-11ee-b401-675ed0f8e89b"},"arrayField":["amvH","zVmvhwJHn","PlrATQJYF"],"boolField":true,"intField":-638,"numField":191.1793461649851,"objField":{"WzKWw":6069646568737709618,"eUwGuhS":3585754537068689432,"kmHOsUuu":-8285925944249866821,"wkheNfG":-6846489362624411583,"wqezOurrr":2929666492912505510,"xMDjS":2253690138238311332,"yXvhNNiwqI":-1728097408227841230},"stringDateField":"2017-04-09","stringDateTimeField":"1921-07-28T00:43:31Z","stringField":"BCpKW","stringTimeField":"15:16:42.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":-638,"numField":191.1793461649851,"stringDateField":"2017-04-09","stringDateTimeField":"1921-07-28T00:43:31Z","stringField":"BCpKW","stringTimeField":"15:16:42.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2144,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2144,"uuid":"9e0a8991-5655-11ee-b801-675ed0f8e89b"},"arrayField":["tuItlmdcl","KHFBghGnoL","TdlB","aKHPhBjy","QyMOsXfrGI","MkCdfoRyt"],"boolField":true,"intField":-756,"numField":760.7745951071032,"objField":{"FJVzNqIDL":7011198157791373087,"JSXpTsXHwT":-7628235579309827093,"YJSvkqzbE":-691818556550572319,"eKoctD":2860094682320298659,"grQgCPUH":-111287907664235835,"kKDjzwQB":-6863787509707409335,"xQVMOGP":-5666532897637446169},"stringDateField":"1987-04-24","stringDateTimeField":"2003-05-22T00:54:21Z","stringField":"zJSwH","stringTimeField":"05:41:06.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":-756,"numField":760.7745951071032,"stringDateField":"1987-04-24","stringDateTimeField":"2003-05-22T00:54:21Z","stringField":"zJSwH","stringTimeField":"05:41:06.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2145,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2145,"uuid":"9e0a8991-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["UNmyv","wTvAkkoQ","dDpn","aOyjdUcEj","VnZh"],"boolField":false,"intField":960,"numField":-872.3281098441109,"objField":{"BIUia":1100496577107850276,"CVTvfsPZ":6471576030870994581,"EWCCsOrR":-8699860005240069025,"IkmaMnLVQ":7834132115289216002,"WFVQmW":3006479940908144939,"WvYzk":-6017097270612130460,"lqkiwXTm":-3486513223583265275,"qkfTV":-7319284780675817948,"wapgZsPEf":-6167832009915447448,"yVtB":1355439683065729670},"stringDateField":"1991-09-29","stringDateTimeField":"2019-06-04T02:27:01Z","stringField":"RejbhB","stringTimeField":"23:39:39.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763665Z","intField":960,"numField":-872.3281098441109,"stringDateField":"1991-09-29","stringDateTimeField":"2019-06-04T02:27:01Z","stringField":"RejbhB","stringTimeField":"23:39:39.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2146,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2146,"uuid":"9e0a8992-5655-11ee-8001-675ed0f8e89b"},"arrayField":["IIAZzSKI","eCsBwg","EaIolqhKsJ","lnAfcUU","JJFZ","noLRmbt","oHcYmKTXd"],"boolField":false,"intField":282,"numField":-130.73843513512207,"objField":{"AiceneWEV":-6315745206939954533,"iolO":-5333548552341980355,"sCEvIn":5990832717024602067},"stringDateField":"1917-10-07","stringDateTimeField":"1964-04-01T14:36:00Z","stringField":"TGkE","stringTimeField":"05:39:51.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":282,"numField":-130.73843513512207,"stringDateField":"1917-10-07","stringDateTimeField":"1964-04-01T14:36:00Z","stringField":"TGkE","stringTimeField":"05:39:51.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2147,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2147,"uuid":"9e0a8992-5655-11ee-8401-675ed0f8e89b"},"arrayField":["sKKB","WGYgyohY","edFD","VcaGpkPm"],"boolField":true,"intField":125,"numField":926.6215716670656,"objField":{"QZjIPzJlhn":7123195185126878918,"WUNZIpkEo":5330766468430161530,"gjpMOHDBnm":-4625454187663752341,"jYeCZCP":-3979735652040469558},"stringDateField":"2012-03-10","stringDateTimeField":"1917-12-02T07:39:12Z","stringField":"UMBaOZyQi","stringTimeField":"09:10:39.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":125,"numField":926.6215716670656,"stringDateField":"2012-03-10","stringDateTimeField":"1917-12-02T07:39:12Z","stringField":"UMBaOZyQi","stringTimeField":"09:10:39.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2148,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2148,"uuid":"9e0a8992-5655-11ee-8801-675ed0f8e89b"},"arrayField":["hycAXgXmWA","QhcdtxoA","yhIa"],"boolField":true,"intField":687,"numField":380.2496491976362,"objField":{"fIWtrmUGJn":-526873575639344804,"naGNDSIOo":6862485921315883909},"stringDateField":"2023-06-25","stringDateTimeField":"1947-12-03T04:43:32Z","stringField":"PkWgLOiy","stringTimeField":"14:27:44.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":687,"numField":380.2496491976362,"stringDateField":"2023-06-25","stringDateTimeField":"1947-12-03T04:43:32Z","stringField":"PkWgLOiy","stringTimeField":"14:27:44.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2149,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2149,"uuid":"9e0a8992-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["PgmbQcrsR","qdERsq","utxbJeH","AAqIg","bGslnV","pGdVcwlOBK","pjdMIO"],"boolField":false,"intField":-204,"numField":-532.866439786306,"objField":{"BGqvCPr":-4137121250923103560,"UrjtAYn":-7640361030508456633,"zceTtt":-5319747577826303000,"zdbiki":-4968962140175411467},"stringDateField":"1921-12-04","stringDateTimeField":"1901-07-24T04:53:12Z","stringField":"xkik","stringTimeField":"17:23:27.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":-204,"numField":-532.866439786306,"stringDateField":"1921-12-04","stringDateTimeField":"1901-07-24T04:53:12Z","stringField":"xkik","stringTimeField":"17:23:27.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2150,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2150,"uuid":"9e0a8992-5655-11ee-9001-675ed0f8e89b"},"arrayField":["DPgDbAJJ"],"boolField":false,"intField":880,"numField":125.09384949414805,"objField":{"SUxYk":-96941809170386061,"WjwTQ":6412749030654736408,"bePkowkfn":2385705955106386157,"oYnxMllZ":-6506055468894293417,"sfVGVdGw":-8169927384214995099},"stringDateField":"1951-10-20","stringDateTimeField":"1925-03-08T20:26:09Z","stringField":"eldAhtI","stringTimeField":"07:42:27.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":880,"numField":125.09384949414805,"stringDateField":"1951-10-20","stringDateTimeField":"1925-03-08T20:26:09Z","stringField":"eldAhtI","stringTimeField":"07:42:27.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2151,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2151,"uuid":"9e0a8992-5655-11ee-9401-675ed0f8e89b"},"arrayField":["bctFMR","iqvAsLx","IXoDQHyD","XDmRtarkcf","bmPcs","wbNY"],"boolField":true,"intField":-55,"numField":648.0933271070197,"objField":{"HHFpSjiFI":3522172125885778925,"ZJDI":3674650487703213825,"bBedp":-7417707222367114480,"foBTvgwJM":-3137716982908498974},"stringDateField":"2001-05-18","stringDateTimeField":"2017-12-30T17:54:14Z","stringField":"SzqD","stringTimeField":"18:52:46.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":-55,"numField":648.0933271070197,"stringDateField":"2001-05-18","stringDateTimeField":"2017-12-30T17:54:14Z","stringField":"SzqD","stringTimeField":"18:52:46.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2152,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2152,"uuid":"9e0a8992-5655-11ee-9801-675ed0f8e89b"},"arrayField":["jVZouBIM","eiLQTP","taNnOo","Afyo"],"boolField":true,"intField":-296,"numField":815.5581808598937,"objField":{"LkET":-5421852266668904980,"VNaebe":-8497793130228941607,"aPzLAVnDNJ":20355990057285241,"bjsndAb":-3419076676953942695,"btdGDZa":8108746413399794526,"fWZy":8854025481721725416,"nvmwWaJkl":-2090190445868538646,"tVjRBdl":-8874813915184983803,"yxZCr":7407132418684525120},"stringDateField":"1914-03-01","stringDateTimeField":"1928-03-24T10:43:17Z","stringField":"mHjfSeXZhc","stringTimeField":"14:29:04.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":-296,"numField":815.5581808598937,"stringDateField":"1914-03-01","stringDateTimeField":"1928-03-24T10:43:17Z","stringField":"mHjfSeXZhc","stringTimeField":"14:29:04.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2153,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2153,"uuid":"9e0a8992-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["MatlqVfXIu","mKigX","pKatJfYXvs","EGTYa","gtbEbUB","TYEeQZ","ysyFAd","Wfnjli"],"boolField":true,"intField":-260,"numField":482.82920668353734,"objField":{"QmHw":-589862460811382747,"TelpOmoNxd":5200164787476935133,"Ubvm":7975190752129899134,"Uxynb":-6861545764121782039,"dzytyMvBzi":-3378954547556683940,"ehotTJlJW":1476477487219054193},"stringDateField":"1940-10-25","stringDateTimeField":"2012-06-29T02:27:41Z","stringField":"tszb","stringTimeField":"13:29:42.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":-260,"numField":482.82920668353734,"stringDateField":"1940-10-25","stringDateTimeField":"2012-06-29T02:27:41Z","stringField":"tszb","stringTimeField":"13:29:42.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2154,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2154,"uuid":"9e0a8992-5655-11ee-a001-675ed0f8e89b"},"arrayField":["RhqM"],"boolField":true,"intField":-612,"numField":61.133292296236434,"objField":{"GfnM":8949201668462842319,"HpEm":804257135074893779,"OThjmSTP":7860567246306864315,"RECGHUy":409083658637777187,"RVJn":-5430661076662319180,"iyaS":-8770350488474657704,"nbXJZLHDwZ":-6104147589273192418},"stringDateField":"1926-10-13","stringDateTimeField":"1975-05-24T10:01:53Z","stringField":"RrdmFMQhP","stringTimeField":"12:36:44.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":-612,"numField":61.133292296236434,"stringDateField":"1926-10-13","stringDateTimeField":"1975-05-24T10:01:53Z","stringField":"RrdmFMQhP","stringTimeField":"12:36:44.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2155,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2155,"uuid":"9e0a8992-5655-11ee-a401-675ed0f8e89b"},"arrayField":["MiqdJbf","iwUu","wowylD","UEUpIAdWfv","wwTN","mDVd","LMaelsGbJS","WxzWsK","otCSrwtoPA","etfqtr"],"boolField":true,"intField":-33,"numField":64.08674341035403,"objField":{"jysZ":2839980161289698067},"stringDateField":"2019-08-29","stringDateTimeField":"1972-09-03T09:14:46Z","stringField":"IakAk","stringTimeField":"16:19:26.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":-33,"numField":64.08674341035403,"stringDateField":"2019-08-29","stringDateTimeField":"1972-09-03T09:14:46Z","stringField":"IakAk","stringTimeField":"16:19:26.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2156,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2156,"uuid":"9e0a8992-5655-11ee-a801-675ed0f8e89b"},"arrayField":["EwYBXbmR","NKyabvdkW","FXrDZO","Mhqniccc"],"boolField":false,"intField":475,"numField":-723.0956632326718,"objField":{"nSxI":-3665887281628776946},"stringDateField":"1991-12-21","stringDateTimeField":"1997-04-08T13:59:45Z","stringField":"FKIB","stringTimeField":"04:40:39.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":475,"numField":-723.0956632326718,"stringDateField":"1991-12-21","stringDateTimeField":"1997-04-08T13:59:45Z","stringField":"FKIB","stringTimeField":"04:40:39.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2157,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2157,"uuid":"9e0a8992-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["aldqyc","DCbPrLWQOF","TIpDSqly","MaYSX"],"boolField":false,"intField":-3,"numField":-683.7339569397699,"objField":{"IbvHGo":3234594148378607246,"QmmYZ":7156478352958869753,"RWSyGIJ":-8659318835398621184,"VWEXQM":5885340893070210886,"WbZbxlU":1696752496181562220,"hOiNm":5389003558294346668,"mrQEC":3804326802212274912,"yLSAxC":4778089644436699616},"stringDateField":"1941-11-03","stringDateTimeField":"1988-09-28T07:18:21Z","stringField":"XTeENOYZ","stringTimeField":"05:46:11.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":-3,"numField":-683.7339569397699,"stringDateField":"1941-11-03","stringDateTimeField":"1988-09-28T07:18:21Z","stringField":"XTeENOYZ","stringTimeField":"05:46:11.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2158,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2158,"uuid":"9e0a8992-5655-11ee-b001-675ed0f8e89b"},"arrayField":["olNNi","yBYUn","VWvSPUu"],"boolField":false,"intField":-622,"numField":285.5246542129,"objField":{"DcrwA":4710149571366183268,"HbXLfmcoV":6853940572674885357,"ILplPp":-8727771311298008972,"MFjIfO":7124063126570683331,"qxapImi":3025227171946119716,"tbsuDoLJi":-2977849208696597348,"xvsQIzaziK":1213596040814914388,"zVnEhb":-6689052360407829177},"stringDateField":"1989-07-25","stringDateTimeField":"2013-11-30T03:29:54Z","stringField":"pWlMrnKI","stringTimeField":"14:29:44.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":-622,"numField":285.5246542129,"stringDateField":"1989-07-25","stringDateTimeField":"2013-11-30T03:29:54Z","stringField":"pWlMrnKI","stringTimeField":"14:29:44.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2159,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2159,"uuid":"9e0a8992-5655-11ee-b401-675ed0f8e89b"},"arrayField":["JFHBANgv","LGucILJAVy","RGgSHEpuX","yqOkuQysv","nrxhjDHct"],"boolField":true,"intField":-850,"numField":709.5487572565511,"objField":{"BAqMqebZjF":-5746923266984562853,"BdzxIqDs":-5576774160635482011,"GMYAjFFOf":4143731826757152892,"KpUzAPzM":-267530027065668546,"LBXP":-8982269248567922717,"LrWln":4812746746349061187,"cLyeW":8870622129864352369,"eOaQEln":-5746085541190228194,"zWxv":3987920744148344628},"stringDateField":"2003-08-05","stringDateTimeField":"1997-05-10T03:52:23Z","stringField":"NLqX","stringTimeField":"18:10:44.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":-850,"numField":709.5487572565511,"stringDateField":"2003-08-05","stringDateTimeField":"1997-05-10T03:52:23Z","stringField":"NLqX","stringTimeField":"18:10:44.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2160,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2160,"uuid":"9e0a8992-5655-11ee-b801-675ed0f8e89b"},"arrayField":["zVQuPDvHak","pymw","yxXNz","LcUbhHZieM"],"boolField":false,"intField":668,"numField":969.0769839347242,"objField":{"CRIr":-8217538149273921146,"HhCihtU":5181827632769893942,"gHAmrJr":7194140562668287564,"xXdoftfNc":-9054868646547131664,"zsoautd":-5382619440054746995},"stringDateField":"2014-08-08","stringDateTimeField":"1926-05-23T01:45:09Z","stringField":"uGzor","stringTimeField":"16:20:33.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":668,"numField":969.0769839347242,"stringDateField":"2014-08-08","stringDateTimeField":"1926-05-23T01:45:09Z","stringField":"uGzor","stringTimeField":"16:20:33.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2161,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2161,"uuid":"9e0a8992-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ESeRY","xPjCPyApwt","XPMENSdn"],"boolField":true,"intField":342,"numField":-552.178299332596,"objField":{"CoosgY":6583205302064608012,"TKMFXLPwT":983471940231553458,"oXhhkHGdm":-1805543090089801845},"stringDateField":"1951-05-04","stringDateTimeField":"1996-10-29T20:50:18Z","stringField":"dAykDOoc","stringTimeField":"18:36:03.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763666Z","intField":342,"numField":-552.178299332596,"stringDateField":"1951-05-04","stringDateTimeField":"1996-10-29T20:50:18Z","stringField":"dAykDOoc","stringTimeField":"18:36:03.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2162,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2162,"uuid":"9e0a8993-5655-11ee-8001-675ed0f8e89b"},"arrayField":["HwiFRAaY"],"boolField":true,"intField":-332,"numField":135.41605031301552,"objField":{"HrEN":-2150444472628230090,"Jpxf":3561143804612457569,"LDDtIWrEXO":3893731924775681070,"bChKydJ":5798195208858749384,"cXseTqvdnQ":1724518851753771487,"dWsnsMl":2165564709778175067,"nvHzeIKWUr":-8754682474685685893,"oryzWXJlu":-6071281162776638642,"qbYcdlcGr":7632510237821429123,"rAdGHDPVi":-2011785833883653002},"stringDateField":"2002-02-07","stringDateTimeField":"1987-08-11T19:38:18Z","stringField":"tVERoSMIk","stringTimeField":"04:01:22.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":-332,"numField":135.41605031301552,"stringDateField":"2002-02-07","stringDateTimeField":"1987-08-11T19:38:18Z","stringField":"tVERoSMIk","stringTimeField":"04:01:22.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2163,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2163,"uuid":"9e0a8993-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ViFwwF","InjR","IZOzXk","DnKoHeLoT","qbATpQ","PKTwjk"],"boolField":false,"intField":120,"numField":-944.0007949141068,"objField":{"ECXZVATvw":-8673702516133193842,"NEseVrfz":-6245070654945275055,"RFvDfNUm":443634163686272689,"jMEcSSn":7331552898773266218,"tkObmf":-7407032214529973557,"wxkyy":1061290610734829755},"stringDateField":"1953-09-10","stringDateTimeField":"1950-12-31T15:52:07Z","stringField":"otqLm","stringTimeField":"19:52:26.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":120,"numField":-944.0007949141068,"stringDateField":"1953-09-10","stringDateTimeField":"1950-12-31T15:52:07Z","stringField":"otqLm","stringTimeField":"19:52:26.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2164,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2164,"uuid":"9e0a8993-5655-11ee-8801-675ed0f8e89b"},"arrayField":["LQOCa","xmfZcQ","OtjDeu","OBfq","LoqD","qputB"],"boolField":false,"intField":-468,"numField":139.36715852484528,"objField":{"cidgLRyJeJ":4061416445555336453,"mORa":-1769925182108646671},"stringDateField":"2006-03-13","stringDateTimeField":"1937-09-15T07:45:58Z","stringField":"LGarBkg","stringTimeField":"04:08:17.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":-468,"numField":139.36715852484528,"stringDateField":"2006-03-13","stringDateTimeField":"1937-09-15T07:45:58Z","stringField":"LGarBkg","stringTimeField":"04:08:17.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2165,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2165,"uuid":"9e0a8993-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["iJmI","IoTMJGOego","OCfScSl","zLcczEA","oxRGT","nrjVg","jEiMB","bTAcHzG","JfpoHK"],"boolField":false,"intField":-731,"numField":357.6785750780675,"objField":{"AYapspu":-6278022038366073973,"UcyoHiEal":5548633689675107079,"dAsRhO":3495597731950170077,"vjBeDAYFtN":6849652504540395857,"yCuXBQx":-1557872256429687460},"stringDateField":"1927-03-24","stringDateTimeField":"1963-06-13T04:28:32Z","stringField":"YlTgbuq","stringTimeField":"15:32:33.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":-731,"numField":357.6785750780675,"stringDateField":"1927-03-24","stringDateTimeField":"1963-06-13T04:28:32Z","stringField":"YlTgbuq","stringTimeField":"15:32:33.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2166,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2166,"uuid":"9e0a8993-5655-11ee-9001-675ed0f8e89b"},"arrayField":["RbmG","bHFGMltV","iKEEFtub","CsamDe","FyezG","uhdOV","fqpLMid","yMBEdbBeE","IFIU"],"boolField":false,"intField":-255,"numField":334.37907790665423,"objField":{"GOIP":236333717498308053,"LjKoTw":118072176904883258,"bieGAfsBB":6698843529966697543,"idlxpqjrWg":6589493582133162423,"lcBBIeeqia":3147479615225854960,"ruiF":6764133171337582996,"uWPiIyg":-5577720663922198428},"stringDateField":"1987-10-21","stringDateTimeField":"1913-06-11T20:53:37Z","stringField":"FGziq","stringTimeField":"11:43:17.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":-255,"numField":334.37907790665423,"stringDateField":"1987-10-21","stringDateTimeField":"1913-06-11T20:53:37Z","stringField":"FGziq","stringTimeField":"11:43:17.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2167,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2167,"uuid":"9e0a8993-5655-11ee-9401-675ed0f8e89b"},"arrayField":["UChKObcgRY"],"boolField":true,"intField":-245,"numField":-333.25745033601396,"objField":{"GPXWnIRg":-2995136609464731727,"IumVqjrpf":-615237065591574528,"NtUrjDMRs":8807750501721505431,"QRudJb":-476531277871276669,"ZmIgE":549739860870200044,"gdWwVxWaaY":-6224810648358639584,"goUZz":-6403819383458930687,"tenVugNIa":6336772248401947157},"stringDateField":"1993-09-04","stringDateTimeField":"1970-11-27T11:54:31Z","stringField":"FCKxLbF","stringTimeField":"21:07:30.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":-245,"numField":-333.25745033601396,"stringDateField":"1993-09-04","stringDateTimeField":"1970-11-27T11:54:31Z","stringField":"FCKxLbF","stringTimeField":"21:07:30.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2168,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2168,"uuid":"9e0a8993-5655-11ee-9801-675ed0f8e89b"},"arrayField":["Tjzz","HCzdk","PiYx"],"boolField":false,"intField":-139,"numField":-409.5480811012832,"objField":{"OEWMEvT":-1513997777456687175,"ihiz":2981603800690544641,"lQIri":7152628038951848098,"sRUTeQ":7844771403890940446},"stringDateField":"1961-06-19","stringDateTimeField":"1909-11-01T14:27:40Z","stringField":"RrpyZFXy","stringTimeField":"06:08:20.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":-139,"numField":-409.5480811012832,"stringDateField":"1961-06-19","stringDateTimeField":"1909-11-01T14:27:40Z","stringField":"RrpyZFXy","stringTimeField":"06:08:20.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2169,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2169,"uuid":"9e0a8993-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["EcrXuikXEl","nrquWBViu","WpkGqAsRw","DXaZUEDl","HJrrLWoaHK","FBuZOX","aorqDP"],"boolField":true,"intField":-96,"numField":767.1400667333588,"objField":{"fLvqWKhuL":1261098032623027377,"mIJzMF":-7925056278554331795,"oDDwfZfgFw":1685847608569631577,"sEPI":5268272391419105568},"stringDateField":"2002-08-05","stringDateTimeField":"1983-03-20T11:46:46Z","stringField":"CFcqZKl","stringTimeField":"15:33:51.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":-96,"numField":767.1400667333588,"stringDateField":"2002-08-05","stringDateTimeField":"1983-03-20T11:46:46Z","stringField":"CFcqZKl","stringTimeField":"15:33:51.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2170,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2170,"uuid":"9e0a8993-5655-11ee-a001-675ed0f8e89b"},"arrayField":["aDAcACVu","RwbsBKwf","AineFkjhn","pdKZAjQGwA","dTolqIYphW","dJxuLOlQ","fnaEJDQIsq","gujlECQcv","JSxsGRIg"],"boolField":false,"intField":531,"numField":472.7771768320373,"objField":{"GCKB":2432194364215997310,"RMdmip":7275521155522420984,"bmCH":4830469637733269019,"uXZTt":-6274284780329832232},"stringDateField":"1928-09-21","stringDateTimeField":"2013-04-23T16:26:10Z","stringField":"LDpejZzfi","stringTimeField":"19:21:38.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":531,"numField":472.7771768320373,"stringDateField":"1928-09-21","stringDateTimeField":"2013-04-23T16:26:10Z","stringField":"LDpejZzfi","stringTimeField":"19:21:38.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2171,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2171,"uuid":"9e0a8993-5655-11ee-a401-675ed0f8e89b"},"arrayField":["QfivZLw","HnyY","AaLUUkT","uuSh"],"boolField":true,"intField":231,"numField":288.8925036703729,"objField":{"KmZUQ":-2351185022943721587,"imyyGRiyP":3389056773942294186},"stringDateField":"1959-03-02","stringDateTimeField":"1961-01-12T13:17:10Z","stringField":"BbEfIfyGYu","stringTimeField":"11:54:35.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":231,"numField":288.8925036703729,"stringDateField":"1959-03-02","stringDateTimeField":"1961-01-12T13:17:10Z","stringField":"BbEfIfyGYu","stringTimeField":"11:54:35.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2172,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2172,"uuid":"9e0a8993-5655-11ee-a801-675ed0f8e89b"},"arrayField":["Jrlzt","rkkchOGV","vIOBlK","zMdeSUf","XbdUndQJSX","oVCvYsaIb"],"boolField":true,"intField":967,"numField":934.9461450520288,"objField":{"EWVAxkBxT":3436601045305116617,"QedTaEqDW":3057095134978585803},"stringDateField":"1904-03-11","stringDateTimeField":"1968-07-09T10:39:57Z","stringField":"qJkWPJ","stringTimeField":"00:56:52.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":967,"numField":934.9461450520288,"stringDateField":"1904-03-11","stringDateTimeField":"1968-07-09T10:39:57Z","stringField":"qJkWPJ","stringTimeField":"00:56:52.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2173,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2173,"uuid":"9e0a8993-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["WIwTZxCEmM"],"boolField":true,"intField":-280,"numField":205.15283398451945,"objField":{"GGvprsBnfc":6042659596943002907,"OBkCGB":4013202722248379235,"SwTfbXnErT":-8404434830380698896,"XaTPwXN":-1009933956634368527,"YNZPXrnjPC":-5877267014006975772,"izIH":-8236056776192579736,"vyyQBs":6517129289595522379},"stringDateField":"1921-08-03","stringDateTimeField":"2012-04-05T04:14:18Z","stringField":"eIXTCwsNRj","stringTimeField":"11:08:23.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":-280,"numField":205.15283398451945,"stringDateField":"1921-08-03","stringDateTimeField":"2012-04-05T04:14:18Z","stringField":"eIXTCwsNRj","stringTimeField":"11:08:23.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2174,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2174,"uuid":"9e0a8993-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ZnABr","YlCOPVxF","rvaeibmj","OHDkpUfiJB","IgEpuwcM","DcFhBnBCb","YUbWKwT","jxRsM","KOanF","nWjQkXeyY"],"boolField":false,"intField":284,"numField":-432.1059236759713,"objField":{"FYdpw":-2933095735796726311,"rboBwc":-2089159364865407628},"stringDateField":"1959-08-22","stringDateTimeField":"1964-02-21T21:55:43Z","stringField":"usODdL","stringTimeField":"20:52:25.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":284,"numField":-432.1059236759713,"stringDateField":"1959-08-22","stringDateTimeField":"1964-02-21T21:55:43Z","stringField":"usODdL","stringTimeField":"20:52:25.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2175,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2175,"uuid":"9e0a8993-5655-11ee-b401-675ed0f8e89b"},"arrayField":["HwMoWWeHTo","gyxJwRb","SLWNisx","EzGvf","hHeQDfv"],"boolField":true,"intField":450,"numField":266.81081955233554,"objField":{"DNQHJwOb":-8438555235057378196,"MrLGn":-4318958533075690900,"VOHWK":-8048022014869049362,"ZdFBDoiu":-7885009850439326181,"baJKlFOQD":7732890327571493638,"mMrOc":7396371477544153373,"riLEokw":6389052305035150464},"stringDateField":"1987-04-09","stringDateTimeField":"1977-12-30T16:52:03Z","stringField":"zfRYwiIsFW","stringTimeField":"10:08:18.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":450,"numField":266.81081955233554,"stringDateField":"1987-04-09","stringDateTimeField":"1977-12-30T16:52:03Z","stringField":"zfRYwiIsFW","stringTimeField":"10:08:18.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2176,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2176,"uuid":"9e0a8993-5655-11ee-b801-675ed0f8e89b"},"arrayField":["dJyjeJSf"],"boolField":false,"intField":-447,"numField":95.45949218411698,"objField":{"HmZUe":-2040294279337782515,"SqVMqORTmp":-4058180054788612059,"SyFIl":-2118179130033733867,"aLCjywfQ":8907573889988353632,"bYVFshvIPn":1882557162888519356,"dCBc":7660817194629752402,"hKDEBq":-375058435253584462,"qfIl":-6159337197069495464,"tsBcrJjYUy":2666826671280417537,"xZpmh":6858986535639018638},"stringDateField":"1951-02-22","stringDateTimeField":"1950-07-13T06:34:58Z","stringField":"BfWa","stringTimeField":"07:14:23.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":-447,"numField":95.45949218411698,"stringDateField":"1951-02-22","stringDateTimeField":"1950-07-13T06:34:58Z","stringField":"BfWa","stringTimeField":"07:14:23.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2177,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2177,"uuid":"9e0a8993-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["uoVE","yOUJxDy","nJfh","UlfUO","fCQrGN","XPifzbnA","uubuX","fMSRVhs","zdfr","ukeSvzdN"],"boolField":true,"intField":-670,"numField":316.31460568482606,"objField":{"LMwVd":5739132658750424459,"NdraxV":8272387510359612448,"fojvcItOy":7257280156044001527,"oeFR":-7167482278147388874,"pVESuuLat":2980735848433247199,"pXEs":-4342000798003017055,"sHPKqH":-5497633343866503476,"ushjMCv":2351240325104671796,"xCKwmfva":4330550841307755978},"stringDateField":"1951-11-29","stringDateTimeField":"1989-03-11T22:33:48Z","stringField":"LEDfUtSJP","stringTimeField":"21:18:28.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763667Z","intField":-670,"numField":316.31460568482606,"stringDateField":"1951-11-29","stringDateTimeField":"1989-03-11T22:33:48Z","stringField":"LEDfUtSJP","stringTimeField":"21:18:28.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2178,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2178,"uuid":"9e0a8994-5655-11ee-8001-675ed0f8e89b"},"arrayField":["BGcPTm","jWCwKqWtK","pFMRL"],"boolField":true,"intField":-532,"numField":120.88431459907255,"objField":{"EGPiogOyQU":-815835340964798309,"EVlDVKcKU":7124166619069407827,"HGuwPUYcy":-7728656802218931093,"RXamj":-8109396803335265075,"XHwqk":7888579839216953393,"ZdmEYeHJ":-5275169974266329315,"bKnqfbIXTz":-7102491163857646788,"cIDFpH":6322236449573522578},"stringDateField":"1917-08-20","stringDateTimeField":"1904-09-05T10:12:17Z","stringField":"FjRSwR","stringTimeField":"07:50:30.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":-532,"numField":120.88431459907255,"stringDateField":"1917-08-20","stringDateTimeField":"1904-09-05T10:12:17Z","stringField":"FjRSwR","stringTimeField":"07:50:30.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2179,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2179,"uuid":"9e0a8994-5655-11ee-8401-675ed0f8e89b"},"arrayField":["MeqQOeUS","HXjYVe","ElBaNPr","uFmwE","rZdNBJo","KmuQCEwfCt","qEfqpgdc","ASnyFtL","uOwOan"],"boolField":false,"intField":-611,"numField":670.6001169465007,"objField":{"KEqqbcYzq":6152168346548039920,"OGDMub":3955688890325551118},"stringDateField":"1912-07-25","stringDateTimeField":"1917-06-16T23:50:52Z","stringField":"ZHpHFs","stringTimeField":"12:13:01.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":-611,"numField":670.6001169465007,"stringDateField":"1912-07-25","stringDateTimeField":"1917-06-16T23:50:52Z","stringField":"ZHpHFs","stringTimeField":"12:13:01.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2180,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2180,"uuid":"9e0a8994-5655-11ee-8801-675ed0f8e89b"},"arrayField":["PgTy","zdEYxjUKt","BtEljLMrhP","XuWHoSZq","kgnk"],"boolField":false,"intField":-723,"numField":638.1395151661628,"objField":{"AFlzeLyj":-2705563984381723875,"JfMkW":4629383950815735215,"QJZJW":9212471137248667642,"XHJpCs":-6934818706570183150},"stringDateField":"1966-12-27","stringDateTimeField":"1932-09-14T06:04:16Z","stringField":"fmwAsZaTuH","stringTimeField":"19:04:24.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":-723,"numField":638.1395151661628,"stringDateField":"1966-12-27","stringDateTimeField":"1932-09-14T06:04:16Z","stringField":"fmwAsZaTuH","stringTimeField":"19:04:24.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2181,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2181,"uuid":"9e0a8994-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["GqmR","vswc","MohapmR","nfbkfssZAo","ktjVSM","mhyfqwaUw","JcUCJdQD","InIaKomp","DZJWkNDHqj","CQZL"],"boolField":false,"intField":-325,"numField":-722.8281963572063,"objField":{"BkhahhMUie":639937031111351782,"FfbAuqgY":-7743749791908264162,"RhYURJqM":-6237964424285056909},"stringDateField":"2008-03-07","stringDateTimeField":"2020-03-02T13:54:43Z","stringField":"QRqq","stringTimeField":"14:59:41.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":-325,"numField":-722.8281963572063,"stringDateField":"2008-03-07","stringDateTimeField":"2020-03-02T13:54:43Z","stringField":"QRqq","stringTimeField":"14:59:41.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2182,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2182,"uuid":"9e0a8994-5655-11ee-9001-675ed0f8e89b"},"arrayField":["eLwz","qAHLhfxN","UFQyrfNMkv"],"boolField":true,"intField":2,"numField":-445.8315558615939,"objField":{"CmZFKNbQrz":7226332739202062454,"NftPdBL":177219899701284991,"QBeJAkjU":-9022998088201386977,"TluSerD":-6685886970460693025,"iVXkyHEsHh":-9097867506046881819,"oADW":2530324927460438202,"zPidD":4960492478161219644},"stringDateField":"1937-04-07","stringDateTimeField":"2019-07-19T14:48:57Z","stringField":"yUMae","stringTimeField":"04:57:11.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":2,"numField":-445.8315558615939,"stringDateField":"1937-04-07","stringDateTimeField":"2019-07-19T14:48:57Z","stringField":"yUMae","stringTimeField":"04:57:11.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2183,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2183,"uuid":"9e0a8994-5655-11ee-9401-675ed0f8e89b"},"arrayField":["QHwBjbmaz","fWVhigMC","BhAMSjtLAy","YMqAboBQz","GLYR","sIEWmzO","GqhWU","WvqVFBXpRi","pZNgcUej"],"boolField":true,"intField":30,"numField":-391.43239475130554,"objField":{"zxWBFjf":-363788225524236417},"stringDateField":"1942-03-30","stringDateTimeField":"1907-02-07T08:23:15Z","stringField":"JWKbdPzUcv","stringTimeField":"14:52:36.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":30,"numField":-391.43239475130554,"stringDateField":"1942-03-30","stringDateTimeField":"1907-02-07T08:23:15Z","stringField":"JWKbdPzUcv","stringTimeField":"14:52:36.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2184,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2184,"uuid":"9e0a8994-5655-11ee-9801-675ed0f8e89b"},"arrayField":["CQeFg","IqRgvdZA","urMExW","KmdxZZbsRh","OaCuSFZb","hdeLH","erhAFA","mWtY"],"boolField":true,"intField":669,"numField":627.923054362242,"objField":{"CtfjlEvOL":-6523686731267884182,"KlpphTL":-5784158519838130410,"TQekfUh":136689344044254369,"deWrPXCE":-7902966086298420086,"lENt":4479417348967419165,"pGDsKAAKo":-3068679009380826955,"vShhLfkn":5045712306857797615,"voPfjOZM":3199057686882616264},"stringDateField":"2014-09-12","stringDateTimeField":"2004-08-07T21:29:45Z","stringField":"PLtVc","stringTimeField":"22:28:15.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":669,"numField":627.923054362242,"stringDateField":"2014-09-12","stringDateTimeField":"2004-08-07T21:29:45Z","stringField":"PLtVc","stringTimeField":"22:28:15.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2185,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2185,"uuid":"9e0a8994-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["PwgDUaE","zsVHGht","QwPFTcGUuJ","qFCNzvD","tetjWIwv","yMzuFy","dsGSChp","mnMUpxFJL","WwQGBwMmb"],"boolField":true,"intField":761,"numField":804.7690014843829,"objField":{"RcCnSXHmcu":-6052957634141460237,"TrvUD":1004430486476763809,"YfZhLh":5563736176190412348,"dddQUTOHWt":8999084417406905382,"icaw":-1762593387955988354,"masdwGVwgy":8754749967428802091,"rUUZd":3638520669602598330,"xtylwVx":-7227171555965774692},"stringDateField":"1903-04-19","stringDateTimeField":"1983-10-06T00:32:32Z","stringField":"ZgqlbK","stringTimeField":"01:14:17.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":761,"numField":804.7690014843829,"stringDateField":"1903-04-19","stringDateTimeField":"1983-10-06T00:32:32Z","stringField":"ZgqlbK","stringTimeField":"01:14:17.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2186,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2186,"uuid":"9e0a8994-5655-11ee-a001-675ed0f8e89b"},"arrayField":["zsTASO","Pxnx","yKnxxsQl"],"boolField":true,"intField":308,"numField":679.8434572539828,"objField":{"LhyLymZX":4797987375568114994,"RyDjeL":1207524693041402238,"VnHph":-4989807703907416408,"fuMdZU":-2635125047443427718,"hGRyh":818279710456660127,"lvlLpbbs":-1940063521028233305,"vWGCNfsjb":2424031607700577289,"xTTl":-7571263457752274983},"stringDateField":"1967-10-16","stringDateTimeField":"1935-10-31T06:50:23Z","stringField":"uCUlwC","stringTimeField":"15:55:25.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":308,"numField":679.8434572539828,"stringDateField":"1967-10-16","stringDateTimeField":"1935-10-31T06:50:23Z","stringField":"uCUlwC","stringTimeField":"15:55:25.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2187,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2187,"uuid":"9e0a8994-5655-11ee-a401-675ed0f8e89b"},"arrayField":["yfQGcqFmXH","bgSotaTaTY","uqRiT","HsfgtDkSAT","kruqEoSHud","bYeJXsHAj","nvMAOR","apXhwscgE","boHsrbmG","nHAp"],"boolField":true,"intField":-269,"numField":-806.8680708508592,"objField":{"BzqWoA":-5436769508751356493,"STiZggtgf":6097842653846679263,"eHCvqdH":-9132018862565730794,"gyOONxeqzT":-8706078665069734103,"iNHBInQYt":909732672365621675,"ogPQbZYr":7339097657567911625,"sIUC":-4730304932795435860,"xpwiqCtLZ":7232598811457889762,"yjlIUBAmkk":-8488047307756421525},"stringDateField":"2008-09-26","stringDateTimeField":"1952-12-21T03:36:27Z","stringField":"sTPJ","stringTimeField":"13:24:06.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":-269,"numField":-806.8680708508592,"stringDateField":"2008-09-26","stringDateTimeField":"1952-12-21T03:36:27Z","stringField":"sTPJ","stringTimeField":"13:24:06.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2188,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2188,"uuid":"9e0a8994-5655-11ee-a801-675ed0f8e89b"},"arrayField":["thed","lNiKJW"],"boolField":false,"intField":265,"numField":-216.2702157260856,"objField":{"EQGSLbwRg":4673668299389351233,"HmgNUIXGl":5347179091716215544,"KjrzxS":-9084977302543958833,"MiKE":-4539562257522623450,"MuMyDei":-5789188234203652553,"NhvuN":5287130967153971673,"PEumV":1123476944107213816,"aSphDfyzyf":-7513735930143579578,"drdAXCZL":7912212859863915562,"sadDtdK":1613445290067322517},"stringDateField":"2000-03-11","stringDateTimeField":"1995-02-16T16:40:12Z","stringField":"ZcjtamrWKp","stringTimeField":"06:09:20.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":265,"numField":-216.2702157260856,"stringDateField":"2000-03-11","stringDateTimeField":"1995-02-16T16:40:12Z","stringField":"ZcjtamrWKp","stringTimeField":"06:09:20.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2189,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2189,"uuid":"9e0a8994-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["TvLRWhgPMw","KHFe","jvGqw"],"boolField":true,"intField":425,"numField":-262.31461415617406,"objField":{"FwBALQYh":-8867728836243609903,"NLdvhafaD":8226902846713968471,"YWwJHCb":-612656836234210329,"nKZhMEpWJJ":-998094374683611324,"rEPQzH":-8341105311999136289,"yJuCM":4175704355630904029},"stringDateField":"1968-06-13","stringDateTimeField":"1937-08-22T23:23:56Z","stringField":"sXUIUISD","stringTimeField":"17:22:31.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":425,"numField":-262.31461415617406,"stringDateField":"1968-06-13","stringDateTimeField":"1937-08-22T23:23:56Z","stringField":"sXUIUISD","stringTimeField":"17:22:31.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2190,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2190,"uuid":"9e0a8994-5655-11ee-b001-675ed0f8e89b"},"arrayField":["WWfMlkL","BxGLMwa","GXXCvSJ","MaeqlA"],"boolField":false,"intField":727,"numField":-412.989840843853,"objField":{"IQgBxHp":1854787676579806362,"OXzZZJrTp":7598811187348422724,"eNLYDuZwCj":-6183773544013385702,"foWcCuUJik":568629344127748687,"ngVB":-545945754191620394,"xgkMjzkg":-6088000286578137952},"stringDateField":"2015-10-19","stringDateTimeField":"1984-12-30T01:11:18Z","stringField":"yXkykLF","stringTimeField":"00:02:27.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":727,"numField":-412.989840843853,"stringDateField":"2015-10-19","stringDateTimeField":"1984-12-30T01:11:18Z","stringField":"yXkykLF","stringTimeField":"00:02:27.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2191,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2191,"uuid":"9e0a8994-5655-11ee-b401-675ed0f8e89b"},"arrayField":["luWDqvjmyt","NDOGH"],"boolField":true,"intField":-76,"numField":-180.1012714095507,"objField":{"JNsHfEUtc":-2079734271821456713,"cWwCo":-6453592416135525190},"stringDateField":"2014-03-21","stringDateTimeField":"2019-10-11T04:34:22Z","stringField":"yiZd","stringTimeField":"18:06:20.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":-76,"numField":-180.1012714095507,"stringDateField":"2014-03-21","stringDateTimeField":"2019-10-11T04:34:22Z","stringField":"yiZd","stringTimeField":"18:06:20.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2192,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2192,"uuid":"9e0a8994-5655-11ee-b801-675ed0f8e89b"},"arrayField":["bsnmVsJa","HPpIIm","efNww","svtNVKggF"],"boolField":false,"intField":391,"numField":-7.515351887550481,"objField":{"htgLqOw":3315385613233461429,"hwzUY":-8012708660699743348,"iANbPoZ":3195158483286907227,"jUccGMNP":3664013266347268509,"rLXBsfYTn":-506426973794904829,"wHoZcrBie":3739632834260768181},"stringDateField":"1945-09-19","stringDateTimeField":"1991-10-04T21:45:02Z","stringField":"Ppzw","stringTimeField":"08:42:48.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":391,"numField":-7.515351887550481,"stringDateField":"1945-09-19","stringDateTimeField":"1991-10-04T21:45:02Z","stringField":"Ppzw","stringTimeField":"08:42:48.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2193,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2193,"uuid":"9e0a8994-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["VeEXpHw","kGlcA","FxLeo"],"boolField":true,"intField":600,"numField":894.2512892762588,"objField":{"DZvqyXO":5733754160049440263,"OMFFbqvIBr":4262940009423105379,"STaozHRwr":2895149547065446502,"lMXxi":-3243909238158620791,"stSSjs":-6862571263709267367,"tLmgs":8918392866135958776,"ypxBqWwQlU":1396482734675824767},"stringDateField":"1918-07-14","stringDateTimeField":"1993-06-22T04:04:19Z","stringField":"vIey","stringTimeField":"07:48:59.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763668Z","intField":600,"numField":894.2512892762588,"stringDateField":"1918-07-14","stringDateTimeField":"1993-06-22T04:04:19Z","stringField":"vIey","stringTimeField":"07:48:59.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2194,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2194,"uuid":"9e0a8995-5655-11ee-8001-675ed0f8e89b"},"arrayField":["qnxYUUlMi","egdI","jUJFKAJme","RyzyhroIE","tRfFooN","IbsuarDD","fPaJmYFsn","OLgiZ"],"boolField":false,"intField":-807,"numField":-442.5150539973149,"objField":{"OVYAaXf":-9150405672208579745,"PqGo":-237320705158635121,"gKqLuh":-5318836613432581194,"jtYvQwREAE":-2040974883378769015},"stringDateField":"1988-04-22","stringDateTimeField":"1915-05-01T03:54:52Z","stringField":"thxRKz","stringTimeField":"19:42:41.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":-807,"numField":-442.5150539973149,"stringDateField":"1988-04-22","stringDateTimeField":"1915-05-01T03:54:52Z","stringField":"thxRKz","stringTimeField":"19:42:41.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2195,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2195,"uuid":"9e0a8995-5655-11ee-8401-675ed0f8e89b"},"arrayField":["GFzbPWveh","ozWkDZcT","mFRqVJyyw","yJCYT"],"boolField":false,"intField":409,"numField":155.3302011017652,"objField":{"SkDCxW":-7911080295054727684,"ZYJgFXWFr":5769573307828896917,"jDJAquzFE":6150765902700473014,"jsYuvp":-2672382343609965570},"stringDateField":"1985-12-15","stringDateTimeField":"1918-06-03T10:55:26Z","stringField":"wpiJpT","stringTimeField":"17:02:11.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":409,"numField":155.3302011017652,"stringDateField":"1985-12-15","stringDateTimeField":"1918-06-03T10:55:26Z","stringField":"wpiJpT","stringTimeField":"17:02:11.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2196,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2196,"uuid":"9e0a8995-5655-11ee-8801-675ed0f8e89b"},"arrayField":["aWpibZzPck","lUUBPfDqDM","NQNkT","Iyph","MmyXYqqc","LeTxxW"],"boolField":false,"intField":179,"numField":584.4015530997235,"objField":{"JGqV":-8713208577113715939,"VaJFO":1821815525757332915,"ZURVa":-8222243751700195789,"fVCkjbZUk":450144393421707174,"gFHBpztm":-8651912923180981783,"jwHHkZLj":3992417453422951431,"wgCZw":3183439317338317827,"yfCJJeum":7831799188409909067},"stringDateField":"1989-07-26","stringDateTimeField":"1923-01-28T04:14:09Z","stringField":"YworrSmUj","stringTimeField":"21:38:57.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":179,"numField":584.4015530997235,"stringDateField":"1989-07-26","stringDateTimeField":"1923-01-28T04:14:09Z","stringField":"YworrSmUj","stringTimeField":"21:38:57.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2197,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2197,"uuid":"9e0a8995-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["tSzReXSexq","ZlrWfImI"],"boolField":true,"intField":603,"numField":95.42592438904208,"objField":{"BXEjsLqsb":1658497981268888930,"kqVIRNOhKU":6529103605609446726},"stringDateField":"1991-03-13","stringDateTimeField":"2003-11-18T08:29:38Z","stringField":"MCuvAAgiX","stringTimeField":"03:28:27.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":603,"numField":95.42592438904208,"stringDateField":"1991-03-13","stringDateTimeField":"2003-11-18T08:29:38Z","stringField":"MCuvAAgiX","stringTimeField":"03:28:27.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2198,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2198,"uuid":"9e0a8995-5655-11ee-9001-675ed0f8e89b"},"arrayField":["zsQQXXBb","Ydrs","XQBZ"],"boolField":true,"intField":557,"numField":-281.5037604041427,"objField":{"bqXq":5000438880370825088,"vuFhIi":7105083021140905920},"stringDateField":"2009-07-01","stringDateTimeField":"1918-03-25T01:00:58Z","stringField":"ERwLdJ","stringTimeField":"20:08:23.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":557,"numField":-281.5037604041427,"stringDateField":"2009-07-01","stringDateTimeField":"1918-03-25T01:00:58Z","stringField":"ERwLdJ","stringTimeField":"20:08:23.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2199,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2199,"uuid":"9e0a8995-5655-11ee-9401-675ed0f8e89b"},"arrayField":["PZAzRitiy","APhgdJ","EEVny"],"boolField":true,"intField":-846,"numField":446.69059530889064,"objField":{"FhXa":-8783536602785510792},"stringDateField":"1997-08-10","stringDateTimeField":"1910-12-22T13:30:21Z","stringField":"YAKPhdg","stringTimeField":"17:01:53.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":-846,"numField":446.69059530889064,"stringDateField":"1997-08-10","stringDateTimeField":"1910-12-22T13:30:21Z","stringField":"YAKPhdg","stringTimeField":"17:01:53.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2200,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2200,"uuid":"9e0a8995-5655-11ee-9801-675ed0f8e89b"},"arrayField":["jyPho","dLUWvdo","pSKfBpwrMA","Bzuyn","ksJTwJ","MdLof","zmUYcA"],"boolField":true,"intField":416,"numField":-184.40308011814577,"objField":{"AyYi":-7676993744466896964,"FxuYE":-1400683657224995029,"qRzwA":4945881736725648993,"szMyFE":-7223304743533710896,"teAsZb":3198520592205254266},"stringDateField":"1945-03-17","stringDateTimeField":"1982-11-29T17:18:49Z","stringField":"GKiLyoDG","stringTimeField":"19:30:51.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":416,"numField":-184.40308011814577,"stringDateField":"1945-03-17","stringDateTimeField":"1982-11-29T17:18:49Z","stringField":"GKiLyoDG","stringTimeField":"19:30:51.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2201,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2201,"uuid":"9e0a8995-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["MLUfcQHHmj","ywvZNkT","fZIw","PeCHj","pioaYzAnE","ddtUkveFyt"],"boolField":true,"intField":-399,"numField":-395.17441177526433,"objField":{"jDpKOxSl":-7957522964175214616},"stringDateField":"1925-03-23","stringDateTimeField":"1959-07-05T18:54:14Z","stringField":"hHFw","stringTimeField":"11:47:35.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":-399,"numField":-395.17441177526433,"stringDateField":"1925-03-23","stringDateTimeField":"1959-07-05T18:54:14Z","stringField":"hHFw","stringTimeField":"11:47:35.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2202,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2202,"uuid":"9e0a8995-5655-11ee-a001-675ed0f8e89b"},"arrayField":["VPqT","cclHm","VLMMvD","FseWIODis","DxfCpHBcOs","YezCmKTg","FhcfVqNaTH","XPvgEmVYK","dToYYZa","ycchFsaZ"],"boolField":true,"intField":-187,"numField":420.604214066459,"objField":{"MZKK":-153067751788879389,"TRHB":-797178882565678987,"dluag":3461780741090329265,"miLNuACakl":3261530850475737799,"nxugbqGUmd":1774840457702104959,"oAHikcqwJu":7260821647735821955,"rdyRp":-6316317405522427018},"stringDateField":"2022-11-03","stringDateTimeField":"1936-05-10T05:33:56Z","stringField":"wEtvRfhmm","stringTimeField":"22:03:36.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":-187,"numField":420.604214066459,"stringDateField":"2022-11-03","stringDateTimeField":"1936-05-10T05:33:56Z","stringField":"wEtvRfhmm","stringTimeField":"22:03:36.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2203,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2203,"uuid":"9e0a8995-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ETqEzn","sralvCTZ"],"boolField":true,"intField":430,"numField":-543.2907661443153,"objField":{"GpIvyR":-3381784352779885055,"VJfzim":7029389971267169215,"edhiSVL":-3734360813005955755,"faXmADeLBP":-778143587438841259,"tkxxJmhX":8761375090491558090,"vrbIYXmAI":9060348528287148196,"wejjMHJxym":-8333376854292213927},"stringDateField":"2001-12-26","stringDateTimeField":"1919-01-10T14:06:32Z","stringField":"NekvM","stringTimeField":"22:43:53.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":430,"numField":-543.2907661443153,"stringDateField":"2001-12-26","stringDateTimeField":"1919-01-10T14:06:32Z","stringField":"NekvM","stringTimeField":"22:43:53.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2204,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2204,"uuid":"9e0a8995-5655-11ee-a801-675ed0f8e89b"},"arrayField":["dinVEJQJ","KnnF","zCzYSV","nYwKEni","DurHk","QbPVaQZ"],"boolField":false,"intField":988,"numField":101.7812472149835,"objField":{"ATfiUnVE":-7845574826469720880,"XGmNf":-300884014397068119},"stringDateField":"1996-12-23","stringDateTimeField":"1981-10-11T23:39:56Z","stringField":"UWJVl","stringTimeField":"05:10:06.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":988,"numField":101.7812472149835,"stringDateField":"1996-12-23","stringDateTimeField":"1981-10-11T23:39:56Z","stringField":"UWJVl","stringTimeField":"05:10:06.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2205,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2205,"uuid":"9e0a8995-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["WBuNhkKN","NYcsRPFg"],"boolField":false,"intField":32,"numField":457.94315681182,"objField":{"BvdyDPXYD":-327271673138905230,"COCM":2638118229236868470,"EtKArA":3164034338286502459,"JUovEgiO":6193583565867578457,"KyZFa":3532230082196456488,"WpRoxy":7964022204056532077,"gzaNK":-2937607525851638357,"rgVz":1651028821752278690},"stringDateField":"1914-12-23","stringDateTimeField":"1946-03-26T19:01:04Z","stringField":"HPzBNbY","stringTimeField":"15:38:19.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":32,"numField":457.94315681182,"stringDateField":"1914-12-23","stringDateTimeField":"1946-03-26T19:01:04Z","stringField":"HPzBNbY","stringTimeField":"15:38:19.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2206,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2206,"uuid":"9e0a8995-5655-11ee-b001-675ed0f8e89b"},"arrayField":["xUeOiGOn","WgUfp","DklgCHrjB"],"boolField":true,"intField":692,"numField":-527.9987776451309,"objField":{"JzxtcXUb":6716945791871062439,"PLAvx":6834120771396766466,"QymKe":-5710543662294633402,"RCLW":519973441890413316,"SYwLhzmsie":7196202718922536221,"etTESVMGX":-6055223145970139435,"iNKgZWMA":-7828928319807805350,"iTiZsOhNeT":-2579866443463891858,"muoCeRG":5453776375336676584,"wVPjynvoVc":7466786252289736905},"stringDateField":"1990-07-24","stringDateTimeField":"1961-09-09T22:19:31Z","stringField":"YEsln","stringTimeField":"16:56:24.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":692,"numField":-527.9987776451309,"stringDateField":"1990-07-24","stringDateTimeField":"1961-09-09T22:19:31Z","stringField":"YEsln","stringTimeField":"16:56:24.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2207,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2207,"uuid":"9e0a8995-5655-11ee-b401-675ed0f8e89b"},"arrayField":["DYgMOCAs","bfSP"],"boolField":false,"intField":-91,"numField":-20.219928030349887,"objField":{"EsGqbD":-4304834918715437518,"GFNu":1164098986376890256,"QkstBY":-6408016497353113025,"gEbUx":2491848563006742500},"stringDateField":"1963-02-21","stringDateTimeField":"1966-05-31T07:15:37Z","stringField":"aiNovS","stringTimeField":"07:03:41.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":-91,"numField":-20.219928030349887,"stringDateField":"1963-02-21","stringDateTimeField":"1966-05-31T07:15:37Z","stringField":"aiNovS","stringTimeField":"07:03:41.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2208,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2208,"uuid":"9e0a8995-5655-11ee-b801-675ed0f8e89b"},"arrayField":["IAvTyXnhJw","QpMeJgdYvs","nPHbq","mdvKnwSJbH","uAYO","JpRkblgsi","EPVRd"],"boolField":false,"intField":864,"numField":-583.6780231242477,"objField":{"DEXQau":-1862020039419640255,"GHxlTiCPV":-3295063745630279876,"HcxlWFJpQ":5948753442984279470,"QygCPbfvqC":2399863057753364959,"XTipa":6426983576643413419,"ijwMiOLha":-4368751856754430434,"nOSX":-6426560043326243775,"oaqgimpd":-9061163210020301724,"zGtCdL":724379407260645657},"stringDateField":"2019-10-07","stringDateTimeField":"1932-01-31T11:43:08Z","stringField":"UGHaKIF","stringTimeField":"15:55:14.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":864,"numField":-583.6780231242477,"stringDateField":"2019-10-07","stringDateTimeField":"1932-01-31T11:43:08Z","stringField":"UGHaKIF","stringTimeField":"15:55:14.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2209,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2209,"uuid":"9e0a8995-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["PjyEz","LOFKd","CXRZQICgu","jaxNQPa","ThLr","KQXbml","bpLRjCfnnP","ORTnYKHys","JbIrdwktv","wuHRmC"],"boolField":true,"intField":515,"numField":603.8386263516504,"objField":{"AaqgexhZ":5558290022545444666,"BADCZ":2745320882016155142,"EBkRAxP":-2402890433565623879,"LClD":3200790748333743309,"ceXwgY":-4535195194222436011,"qsZwLjzQsn":1544434451334239930,"tiPvlJPi":-1550607406334978213,"zJpZ":8845341065117715955},"stringDateField":"1912-07-26","stringDateTimeField":"2000-07-12T21:19:47Z","stringField":"UPCBboQKK","stringTimeField":"18:10:07.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763669Z","intField":515,"numField":603.8386263516504,"stringDateField":"1912-07-26","stringDateTimeField":"2000-07-12T21:19:47Z","stringField":"UPCBboQKK","stringTimeField":"18:10:07.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2210,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2210,"uuid":"9e0a8996-5655-11ee-8001-675ed0f8e89b"},"arrayField":["jYcIwOBVV","HLhiWInIie","KtUDSEt","HivaRqnqD","HBZGg","lALjX","FRpdyBjT"],"boolField":false,"intField":-739,"numField":296.86698551729984,"objField":{"QcTS":4076772550745913621,"YpBQbHnTDS":-8236096777671901902,"bVpJBvdDk":4159150074110272611,"brtOl":4280046179479528127,"jBWqweud":1006608143419140954,"mCWMD":-6513090771860543620},"stringDateField":"1973-06-26","stringDateTimeField":"1954-08-22T16:00:01Z","stringField":"dIsRAblQqh","stringTimeField":"08:13:50.41Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":-739,"numField":296.86698551729984,"stringDateField":"1973-06-26","stringDateTimeField":"1954-08-22T16:00:01Z","stringField":"dIsRAblQqh","stringTimeField":"08:13:50.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2211,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2211,"uuid":"9e0a8996-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UAfPLDSXSe","gqiRdaZGg","bQshz","WCjskZZhbA","SDGWJGTSn","auaDQ","HBjL"],"boolField":false,"intField":-536,"numField":357.8436442165367,"objField":{"cfkKsWK":5830799112684956387,"dnXpXIq":4972879996312522093,"fLtQPG":-1096938702989724778,"hOVMQqV":-3435808319369946724,"iEmS":6917704713533348107,"pGUFcUCIBK":-3153746443242953595},"stringDateField":"1916-09-30","stringDateTimeField":"1961-01-26T18:10:31Z","stringField":"PYqAzcIuA","stringTimeField":"03:15:19.12Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":-536,"numField":357.8436442165367,"stringDateField":"1916-09-30","stringDateTimeField":"1961-01-26T18:10:31Z","stringField":"PYqAzcIuA","stringTimeField":"03:15:19.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2212,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2212,"uuid":"9e0a8996-5655-11ee-8801-675ed0f8e89b"},"arrayField":["zXyxXS","ZLisrTz"],"boolField":true,"intField":-289,"numField":75.69517174346596,"objField":{"NwFRdcI":5788847706468108721,"OPMhZwSs":3229214797386188641,"dMTbxeP":552562778615821700,"ieIAenvw":5368717028954788617,"lwxMTnl":-6435985842613505415,"pkmGw":-298382232780859762,"qjzMw":4988497673618324510,"sRzqI":6879405066034581090,"xKNQrTXY":8071746900081693045},"stringDateField":"1915-04-19","stringDateTimeField":"1935-08-27T16:25:34Z","stringField":"QeStZ","stringTimeField":"01:00:37.34Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":-289,"numField":75.69517174346596,"stringDateField":"1915-04-19","stringDateTimeField":"1935-08-27T16:25:34Z","stringField":"QeStZ","stringTimeField":"01:00:37.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2213,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2213,"uuid":"9e0a8996-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["QaypegSw","UuSzVALKHK","jdLRGNdEQ","snAOdSYe"],"boolField":false,"intField":18,"numField":303.6910953610723,"objField":{"jFmKUeZK":7127364196648639769,"niXzjgfYk":-3448455737088216213},"stringDateField":"1927-05-27","stringDateTimeField":"1979-08-13T16:28:24Z","stringField":"bYdSq","stringTimeField":"14:08:00.10Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":18,"numField":303.6910953610723,"stringDateField":"1927-05-27","stringDateTimeField":"1979-08-13T16:28:24Z","stringField":"bYdSq","stringTimeField":"14:08:00.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2214,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2214,"uuid":"9e0a8996-5655-11ee-9001-675ed0f8e89b"},"arrayField":["vFTzkTb"],"boolField":true,"intField":653,"numField":-137.92920598173663,"objField":{"BTmuXOLb":1606014071373562457,"CwGB":-4926103937986910706,"HfNY":99974440823136487,"PVTpsHAZ":-3839428786404228108,"RAiyjqzI":7877511814683708837,"jNZOm":-6006060179223839729,"mgcX":-8663574831344141700},"stringDateField":"1935-03-05","stringDateTimeField":"1965-02-24T17:44:37Z","stringField":"lsIWx","stringTimeField":"08:31:56.10Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":653,"numField":-137.92920598173663,"stringDateField":"1935-03-05","stringDateTimeField":"1965-02-24T17:44:37Z","stringField":"lsIWx","stringTimeField":"08:31:56.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2215,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2215,"uuid":"9e0a8996-5655-11ee-9401-675ed0f8e89b"},"arrayField":["qDAQlBM","oIVnsDMdo","CztRcSuO","SxGAkeAHo"],"boolField":true,"intField":161,"numField":112.9271330940924,"objField":{"DZxA":-3536270199051148817,"YeWjwq":7312421814314654122,"nnOmDtLFNm":-4818944030479299308,"oFiwhs":6463081030800687500,"tdKUUqH":3913322396731438058,"xWTK":6912616966226744001},"stringDateField":"1909-08-07","stringDateTimeField":"2011-08-05T15:35:36Z","stringField":"WedryTIK","stringTimeField":"08:57:02.50Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":161,"numField":112.9271330940924,"stringDateField":"1909-08-07","stringDateTimeField":"2011-08-05T15:35:36Z","stringField":"WedryTIK","stringTimeField":"08:57:02.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2216,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2216,"uuid":"9e0a8996-5655-11ee-9801-675ed0f8e89b"},"arrayField":["aiUcGxlkee","SrYFPCB","NofQMqjnX","cxWVYYvmwP","gdSqKt","AMfd","YJSDIS","vTNFcm"],"boolField":true,"intField":-98,"numField":74.68625704650988,"objField":{"BEczjkM":-1235302516686868820,"DyzZwf":2546179923239679187,"EKTIQZACe":-1694668445031525076,"MbPfAWOWw":2523027371803149200,"VVsAbaH":-6686440804712782808,"qxbMtW":974793181553949789,"vwITnaDAzW":275796962591865019,"ynpqRJBbbH":4741713498417009282},"stringDateField":"1947-11-25","stringDateTimeField":"1915-10-04T05:56:01Z","stringField":"QMxlaS","stringTimeField":"23:45:23.21Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":-98,"numField":74.68625704650988,"stringDateField":"1947-11-25","stringDateTimeField":"1915-10-04T05:56:01Z","stringField":"QMxlaS","stringTimeField":"23:45:23.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2217,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2217,"uuid":"9e0a8996-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["qmoe","pIXikGy","kxLbKd","CZmWYr","toelVFkV","PzHfVBqVjM","zpKrBSpPw","CqoIkgV","aOHdRMh","QprvgLXiML"],"boolField":true,"intField":-599,"numField":239.68140199196085,"objField":{"DzWpkHh":2632082268916433419,"MwldEoXPm":-7611885762615312743,"QCsNrV":-2580829458164307981,"ZhcU":3075400873876353079,"bnScu":7143428014427622240,"ksvmdXRTOr":-8434229789437351548,"lHZoh":1563509091062796883,"oFuuOOtROW":-5562122576260287828,"usawRqelOX":6110568053300615198,"xlEzcPNHvu":4295871147726512550},"stringDateField":"1954-05-16","stringDateTimeField":"2016-06-12T00:23:04Z","stringField":"NvjhBivtxt","stringTimeField":"06:27:12.27Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":-599,"numField":239.68140199196085,"stringDateField":"1954-05-16","stringDateTimeField":"2016-06-12T00:23:04Z","stringField":"NvjhBivtxt","stringTimeField":"06:27:12.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2218,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2218,"uuid":"9e0a8996-5655-11ee-a001-675ed0f8e89b"},"arrayField":["JDUwOc","nFakdBnkns","vNnA","OlMhROL","ndalNS","slKzSu","LzAKjhIGp","hyTtcfNIU","rxyKcC","Kuezw"],"boolField":true,"intField":-812,"numField":-658.5814477373711,"objField":{"EWdKPQyqv":-4662273063072169513,"HiRWSxEek":6884036279136411593,"IsgfHklcF":8895985998042356916,"JZrRhBXRZ":5332999716340218263,"VhlWHd":-2218418042192910337,"WdzFR":5043593759826189448,"ipWG":6458408329619655930,"tiULpyuo":1684204320709794864},"stringDateField":"1903-05-16","stringDateTimeField":"1931-07-29T20:04:54Z","stringField":"RavxEVGHx","stringTimeField":"03:04:44.14Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":-812,"numField":-658.5814477373711,"stringDateField":"1903-05-16","stringDateTimeField":"1931-07-29T20:04:54Z","stringField":"RavxEVGHx","stringTimeField":"03:04:44.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2219,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2219,"uuid":"9e0a8996-5655-11ee-a401-675ed0f8e89b"},"arrayField":["sOvXIORJ","CNgLsZ","CRgtY","pJJgJy","eylwdw","UrTP","ErIDJMAdU"],"boolField":false,"intField":77,"numField":-231.27318635686268,"objField":{"APgyslMGti":-2522130463031301448,"KFjU":5297601593217756446,"KrPl":-8112287287283876957,"NUIpHTtrS":8174092173889604570,"bMGujXGEH":1806773585026090193,"npiDnrh":-2538452388522657654,"rUJXsDkdLu":5077503251893375291},"stringDateField":"1994-05-07","stringDateTimeField":"1908-01-25T23:47:32Z","stringField":"FCIbiHsH","stringTimeField":"22:58:35.24Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":77,"numField":-231.27318635686268,"stringDateField":"1994-05-07","stringDateTimeField":"1908-01-25T23:47:32Z","stringField":"FCIbiHsH","stringTimeField":"22:58:35.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2220,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2220,"uuid":"9e0a8996-5655-11ee-a801-675ed0f8e89b"},"arrayField":["BzpQpxljDx","NVgDCFOgOw","rajTtfqE","avjIIbQD","DgBQTQb","lzoUBna","XbtzSGYuL","UwjoAM","FldnpGda"],"boolField":false,"intField":169,"numField":587.2622034594248,"objField":{"AVGcR":-2586667227434621581,"JtUVyAtB":-707257340701201195,"ZsPies":-1149331886932825562,"autNdRMf":-4780383932698667310,"gbecTvzpus":-845343571821243242,"pfkyC":9095389723922920762,"tEvoiCJ":-7076533818969063211,"tLyNq":8907093575426344396,"zmbvQBMq":-9108351496236936409},"stringDateField":"1926-12-22","stringDateTimeField":"1996-06-03T16:19:15Z","stringField":"cCcbf","stringTimeField":"12:20:17.18Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":169,"numField":587.2622034594248,"stringDateField":"1926-12-22","stringDateTimeField":"1996-06-03T16:19:15Z","stringField":"cCcbf","stringTimeField":"12:20:17.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2221,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2221,"uuid":"9e0a8996-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["PxhcaQ","uSZmJThRj","UayzSU","cuLl","KxPIfEJSO","euTnGS","qOmtbdDQe","AtnogpykR"],"boolField":true,"intField":604,"numField":2.541620347142892,"objField":{"BqMDPY":-2947064466106723496,"Dhya":-302233815483770466,"KtKEkoNn":-6680602790829419654,"aYYsZ":5337424569731326545,"gqhi":4331030161177318605,"mMloxFiIKl":-532573972951289471,"mvaKa":-3502817274830389907,"nnAq":-747140810508549361,"oDGsCy":-4165087859740459901,"umoNg":6311077885720212110},"stringDateField":"1963-02-02","stringDateTimeField":"1934-08-30T16:27:53Z","stringField":"NBAfgbKdC","stringTimeField":"05:31:33.34Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":604,"numField":2.541620347142892,"stringDateField":"1963-02-02","stringDateTimeField":"1934-08-30T16:27:53Z","stringField":"NBAfgbKdC","stringTimeField":"05:31:33.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2222,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2222,"uuid":"9e0a8996-5655-11ee-b001-675ed0f8e89b"},"arrayField":["nfzeLbV","fdnZijOGI","TIaRr","DVSwczuCUl","jVbXfZ","QKUTWF","lFTXN","mQCdsCiY","olUwsiLn"],"boolField":true,"intField":-897,"numField":0.20783566479187776,"objField":{"axvGpYUciK":2960649362178279138,"wlfQMA":6515121875349848610},"stringDateField":"1942-04-23","stringDateTimeField":"1948-03-12T14:31:54Z","stringField":"HKjZJRN","stringTimeField":"17:09:08.29Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":-897,"numField":0.20783566479187776,"stringDateField":"1942-04-23","stringDateTimeField":"1948-03-12T14:31:54Z","stringField":"HKjZJRN","stringTimeField":"17:09:08.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2223,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2223,"uuid":"9e0a8996-5655-11ee-b401-675ed0f8e89b"},"arrayField":["zpFaIghsIR","VAwY","neSRMuQwq","GwGN","TMzK","PYghPD","FEbERNT"],"boolField":false,"intField":389,"numField":528.5325322486092,"objField":{"AwXthE":5185318420877685336,"BfdLkS":4106264813994955758,"DcYAMNq":8006525404703592073,"LHMmUnKC":-1169412922108101252,"Mviitu":7950518021418495606,"eJupuKkx":6531497621603674190,"xczz":-6822441676303938023,"yKMtEha":4186163633704702037},"stringDateField":"1987-06-14","stringDateTimeField":"1924-09-18T17:40:23Z","stringField":"XGdZLgEK","stringTimeField":"03:18:03.26Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":389,"numField":528.5325322486092,"stringDateField":"1987-06-14","stringDateTimeField":"1924-09-18T17:40:23Z","stringField":"XGdZLgEK","stringTimeField":"03:18:03.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2224,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2224,"uuid":"9e0a8996-5655-11ee-b801-675ed0f8e89b"},"arrayField":["QnUBZkYVis","soBwsyzlp","PLDaqI","GcUyG","zMRpw","aCIrapID"],"boolField":true,"intField":-164,"numField":-483.8322181752791,"objField":{"ChBbUK":2082333255091639659,"DmZSUEPPXB":7222379866564013389,"UVZMs":-2094291095962426051,"abGCRJAER":3588367685923252851,"vugXz":2597238738933851066,"zaYxSLChV":1103408071237670},"stringDateField":"1934-07-18","stringDateTimeField":"1907-03-17T22:30:20Z","stringField":"ULUtVQ","stringTimeField":"22:32:56.13Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":-164,"numField":-483.8322181752791,"stringDateField":"1934-07-18","stringDateTimeField":"1907-03-17T22:30:20Z","stringField":"ULUtVQ","stringTimeField":"22:32:56.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2225,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2225,"uuid":"9e0a8996-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["xmLfQTT","npZpMNDDLt","QNypv","WPQKePNzDh","xRvupSrXCK","mvLcz"],"boolField":false,"intField":669,"numField":871.2667729873111,"objField":{"MuZaxEjg":-3855548437679653179,"SJDD":3252758820530520098,"UlTcTBsv":6549747134973742437,"VUEXh":8322005778703420647,"groL":8616383705985251474,"kVJewzy":3293805448970626338,"ojPUbqvq":-8389600896807589652,"pTPgEmw":-3050768232279010473,"ufhneOQbpP":-8618834938079850651},"stringDateField":"1953-05-14","stringDateTimeField":"1977-09-25T12:15:44Z","stringField":"TZFfeGyy","stringTimeField":"03:51:21.18Z"},"flow_published_at":"2023-09-18T19:00:21.876367Z","intField":669,"numField":871.2667729873111,"stringDateField":"1953-05-14","stringDateTimeField":"1977-09-25T12:15:44Z","stringField":"TZFfeGyy","stringTimeField":"03:51:21.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2226,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2226,"uuid":"9e0a8997-5655-11ee-8001-675ed0f8e89b"},"arrayField":["KJFikNLI","fBQmbyXQq","zGHFFT","wdCVXKryq","lKcL","GjYgO","bmuLMHis","VHOEbzpSZD","CIsEr","TMQqgWO"],"boolField":true,"intField":27,"numField":482.835181267969,"objField":{"JjWgLpEBQ":-2165317039114058352,"ZzHZLvxHi":7650964655207573858,"dRWD":-5987173317965403056,"phZPvjWR":-2839585756539363032,"uBeVfJtY":-1083278763017113869,"wxzudzDAK":9815071505738170},"stringDateField":"1991-06-26","stringDateTimeField":"1919-07-26T11:15:06Z","stringField":"FRnQHQN","stringTimeField":"03:45:54.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":27,"numField":482.835181267969,"stringDateField":"1991-06-26","stringDateTimeField":"1919-07-26T11:15:06Z","stringField":"FRnQHQN","stringTimeField":"03:45:54.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2227,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2227,"uuid":"9e0a8997-5655-11ee-8401-675ed0f8e89b"},"arrayField":["XZxGcqU","DIeWLS","HDYJW","IkbvBKjsRG","wHFz","Zztioih","DUTjg","zieEU"],"boolField":true,"intField":-333,"numField":-863.0531937930152,"objField":{"EXHT":9084689801329879854,"GzSB":8375267495808512467,"hnPO":-4887244838799007633,"qoHgP":6784278575107281580,"rJVN":-4761343363680766406},"stringDateField":"1983-06-11","stringDateTimeField":"1971-05-31T05:25:10Z","stringField":"BvSTLY","stringTimeField":"05:46:21.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":-333,"numField":-863.0531937930152,"stringDateField":"1983-06-11","stringDateTimeField":"1971-05-31T05:25:10Z","stringField":"BvSTLY","stringTimeField":"05:46:21.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2228,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2228,"uuid":"9e0a8997-5655-11ee-8801-675ed0f8e89b"},"arrayField":["KhrTIvNRXv"],"boolField":false,"intField":-351,"numField":-488.1818302094273,"objField":{"PXEIXXG":-6693377649258285507,"nuibKJE":-186674503883734421,"pLQNmhLwT":1332688840486378191,"scAoRPMe":1190202894255763343},"stringDateField":"1955-09-13","stringDateTimeField":"1911-03-08T16:26:00Z","stringField":"upUdRrh","stringTimeField":"15:06:08.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":-351,"numField":-488.1818302094273,"stringDateField":"1955-09-13","stringDateTimeField":"1911-03-08T16:26:00Z","stringField":"upUdRrh","stringTimeField":"15:06:08.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2229,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2229,"uuid":"9e0a8997-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["CKOYQvet","BPtPbo","gsbRL"],"boolField":false,"intField":290,"numField":-831.159706506263,"objField":{"NuBPt":-5387838641854800093,"OXXpf":1649603258417147608,"URTzWHdI":4038743176557853023,"dsjjRFtn":-1292885534169422688,"hOTDxyyrID":-8481614838419922230,"mMsGZ":8982759031169480092},"stringDateField":"1944-05-04","stringDateTimeField":"1986-05-07T04:12:57Z","stringField":"BYyikeH","stringTimeField":"08:28:48.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":290,"numField":-831.159706506263,"stringDateField":"1944-05-04","stringDateTimeField":"1986-05-07T04:12:57Z","stringField":"BYyikeH","stringTimeField":"08:28:48.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2230,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2230,"uuid":"9e0a8997-5655-11ee-9001-675ed0f8e89b"},"arrayField":["xqhvL","UWyEG","dqJoO","EuILGYIsOp","UjZE","qaMIyqovrt","OIoYA","lrdHI","zufJVWu"],"boolField":true,"intField":447,"numField":580.9665101765858,"objField":{"AYcId":-6955965172231484558,"MiazkuHw":-5461275170763871542,"NblDaJoTbh":3930257123750925592,"POsDs":7335717838603717721,"XyvXXEpG":652367752955797574,"bjHFBfgVbE":1356729542591285151,"ifswMUWOtv":6245681923703960844,"nqTXvzza":1933199875303933949,"oTMKXHgVDn":-1748798419334421148,"xIUrodGRO":-172740951051347087},"stringDateField":"1963-02-11","stringDateTimeField":"1928-03-02T20:41:41Z","stringField":"RkhzUsHBRn","stringTimeField":"16:27:16.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":447,"numField":580.9665101765858,"stringDateField":"1963-02-11","stringDateTimeField":"1928-03-02T20:41:41Z","stringField":"RkhzUsHBRn","stringTimeField":"16:27:16.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2231,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2231,"uuid":"9e0a8997-5655-11ee-9401-675ed0f8e89b"},"arrayField":["euSAOg","QnTmXm","DbZstW","uBKzU","scBamyco","oyAxIwQ","CfuvLypZa","ndrjHxIH"],"boolField":false,"intField":602,"numField":200.9771412456416,"objField":{"XMUa":-1220414087416609787,"YMFiYsyN":7765950838448530226,"cjkJphYDzQ":-343757659118979919,"dkNEspuk":-6781263181860071299,"eyagzvI":8504762656952309810,"gUOMOj":6242272526343311805,"iHHKIj":-9048719777376718241,"luxe":1696487578513189176,"tDdGZtA":-9093093236235429668,"uhIdXnSbuX":-6371906329959919496},"stringDateField":"1984-04-16","stringDateTimeField":"1931-02-03T12:58:10Z","stringField":"HnANT","stringTimeField":"07:47:13.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":602,"numField":200.9771412456416,"stringDateField":"1984-04-16","stringDateTimeField":"1931-02-03T12:58:10Z","stringField":"HnANT","stringTimeField":"07:47:13.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2232,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2232,"uuid":"9e0a8997-5655-11ee-9801-675ed0f8e89b"},"arrayField":["tSBgP","djyXMq","wysdK","iqtTTia","tlYGd","CcZJYCIcpH","gHWGrKOG","xqkgxu","JVvCXQ"],"boolField":true,"intField":928,"numField":70.86355066551175,"objField":{"IgaWDe":-1576419284103451563,"dAdWpE":8799748121509988163,"jKWB":8788587554438906149,"tJND":7724864584544393546},"stringDateField":"1953-05-02","stringDateTimeField":"1951-03-28T10:03:35Z","stringField":"kLyyf","stringTimeField":"20:16:50.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":928,"numField":70.86355066551175,"stringDateField":"1953-05-02","stringDateTimeField":"1951-03-28T10:03:35Z","stringField":"kLyyf","stringTimeField":"20:16:50.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2233,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2233,"uuid":"9e0a8997-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["jqJCjuaEGS","oCLuGIqsYa","OoJNH","IXul","LntAMZloj","xZxJ","eGDJQ","vGmfhNA"],"boolField":true,"intField":390,"numField":471.43548460707296,"objField":{"BgZApfV":-8574582270465813750,"MaWqns":8290654155322773835,"NXydUlODHB":-6654857592014473052,"UTVowFbTL":167530451701174975,"YDYThv":-1450737368706721045,"YkKhWUS":-1357890282018553547,"bgqPp":8957387487957914015,"jfTE":-3982590586859292385,"rbhklD":-7243606252945275042,"vUjWtKlSR":1197434470841928030},"stringDateField":"2012-04-03","stringDateTimeField":"1932-11-10T04:28:39Z","stringField":"DblVycr","stringTimeField":"10:05:22.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":390,"numField":471.43548460707296,"stringDateField":"2012-04-03","stringDateTimeField":"1932-11-10T04:28:39Z","stringField":"DblVycr","stringTimeField":"10:05:22.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2234,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2234,"uuid":"9e0a8997-5655-11ee-a001-675ed0f8e89b"},"arrayField":["PMdel","EizgClm","IflgoKUw","OObGSqk","eYSqM"],"boolField":true,"intField":-817,"numField":-488.5859551283521,"objField":{"SIfek":-1522547685808883849,"hSJvQjI":-5821828910780046587,"yBrySMD":-6025537340286193474},"stringDateField":"1905-07-31","stringDateTimeField":"1923-01-26T20:57:37Z","stringField":"ABWTbWwP","stringTimeField":"09:03:00.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":-817,"numField":-488.5859551283521,"stringDateField":"1905-07-31","stringDateTimeField":"1923-01-26T20:57:37Z","stringField":"ABWTbWwP","stringTimeField":"09:03:00.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2235,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2235,"uuid":"9e0a8997-5655-11ee-a401-675ed0f8e89b"},"arrayField":["hXdQ","fHChfzUFUb","ZytYisXMfb","XiyqB"],"boolField":true,"intField":-333,"numField":-341.73829181009285,"objField":{"WEPs":-2526041138710098422,"gEqHOAyJRH":4512509642651677629,"wcizdY":-4727190483852289841},"stringDateField":"2002-10-27","stringDateTimeField":"1969-03-10T14:56:40Z","stringField":"ZzBitPtY","stringTimeField":"08:24:51.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":-333,"numField":-341.73829181009285,"stringDateField":"2002-10-27","stringDateTimeField":"1969-03-10T14:56:40Z","stringField":"ZzBitPtY","stringTimeField":"08:24:51.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2236,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2236,"uuid":"9e0a8997-5655-11ee-a801-675ed0f8e89b"},"arrayField":["OETfsb","qzuYcrbirI","LehFyG","ACFTNgegmn","xKGd","rCxcTIE","GvLgxNTYUE","mbhzc"],"boolField":true,"intField":-26,"numField":-517.5577789616581,"objField":{"EveWqwbL":1949589900717695330,"KmLUKMUL":-733497640404592939,"RuSkTSVCA":5880550799026827173,"RvolGq":-598533320411290406,"mGceaYLqBK":-6348617058702041105,"mdIvEBhUE":5805736091594263401,"vDiqEWKS":4751106322544205693},"stringDateField":"1993-05-03","stringDateTimeField":"1956-12-13T16:05:43Z","stringField":"QwPvIOW","stringTimeField":"20:20:23.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":-26,"numField":-517.5577789616581,"stringDateField":"1993-05-03","stringDateTimeField":"1956-12-13T16:05:43Z","stringField":"QwPvIOW","stringTimeField":"20:20:23.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2237,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2237,"uuid":"9e0a8997-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["URqyxknKO","tOYcAGvG","tnngcNI","SpDncvtl","ppLso","zBpn"],"boolField":false,"intField":-32,"numField":121.36317430966037,"objField":{"BXuZApKeH":-2138667980762741325,"FXEAUud":-1663242868468270281,"MuYIqkOg":-2175882883355182991,"OBDWbQHU":-4205985434247096820,"bHFMPPqz":-8379480653664546376,"cAGghXaYc":-6039710521367834492,"iFlvxhsKC":-5445413407304887522,"oEnbPhej":-2583977175726979472},"stringDateField":"1962-12-10","stringDateTimeField":"1982-05-17T04:20:31Z","stringField":"rgBUwca","stringTimeField":"01:04:55.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":-32,"numField":121.36317430966037,"stringDateField":"1962-12-10","stringDateTimeField":"1982-05-17T04:20:31Z","stringField":"rgBUwca","stringTimeField":"01:04:55.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2238,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2238,"uuid":"9e0a8997-5655-11ee-b001-675ed0f8e89b"},"arrayField":["RbLJU","mWjEdzzAfC","tkvHDbq","EXWgRFp","snMnT","PaEkTTJ","CzZyQa"],"boolField":true,"intField":-289,"numField":-282.6914783313017,"objField":{"RBbCoHusx":-2441696824105169542,"XtPYOOCFzu":2440377204689153521,"aOuXZtQw":1739145341095368081,"gsakqQ":-7553223052762969995,"ifdvYIPG":-2301501773133197870,"irfu":1168680561510885651,"jvsjH":3661035761284082408,"tTMgqNfN":-7028195746026572271,"yqIpJbht":-6500909381081974936},"stringDateField":"1903-10-12","stringDateTimeField":"1988-03-10T16:47:02Z","stringField":"GAlNjaaPS","stringTimeField":"07:51:39.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":-289,"numField":-282.6914783313017,"stringDateField":"1903-10-12","stringDateTimeField":"1988-03-10T16:47:02Z","stringField":"GAlNjaaPS","stringTimeField":"07:51:39.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2239,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2239,"uuid":"9e0a8997-5655-11ee-b401-675ed0f8e89b"},"arrayField":["YySSz","GehDTSkZnm","ggQWsAZf","bvps","edsZT","TZeSCDhR","GqKEEz"],"boolField":true,"intField":789,"numField":-293.24994084608124,"objField":{"LarDU":2950994097074050888},"stringDateField":"1944-07-09","stringDateTimeField":"1941-03-21T14:12:58Z","stringField":"alGkB","stringTimeField":"22:15:13.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":789,"numField":-293.24994084608124,"stringDateField":"1944-07-09","stringDateTimeField":"1941-03-21T14:12:58Z","stringField":"alGkB","stringTimeField":"22:15:13.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2240,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2240,"uuid":"9e0a8997-5655-11ee-b801-675ed0f8e89b"},"arrayField":["nCSYJfXN","WfNFWGRSdn","juBdAYcY","HzeH","OLQIVIsK","qFNoHXFFDN","AiNRhm","hMSJi"],"boolField":true,"intField":31,"numField":-653.6571982741981,"objField":{"BHtYNTc":-209414533262691627,"HGolxPAvv":7128089657339247157,"aOVNHcsnNi":114196155158827515,"cBeAvNG":-5656566394424145271,"oSmCVhcH":7008865023006728448,"oXec":-7770280847785426165,"xXNmdnv":-4241102695824750186,"yPhZcorFt":5013426837774343877},"stringDateField":"1905-05-31","stringDateTimeField":"1975-05-25T10:41:33Z","stringField":"VOMRLNXuxj","stringTimeField":"16:01:17.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":31,"numField":-653.6571982741981,"stringDateField":"1905-05-31","stringDateTimeField":"1975-05-25T10:41:33Z","stringField":"VOMRLNXuxj","stringTimeField":"16:01:17.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2241,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2241,"uuid":"9e0a8997-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["EMdhORxqs","EprZwa","jxePPh","OXXrECNgh","cTJRTEK","dCvwkJlLO","pMCVlninmc"],"boolField":true,"intField":-657,"numField":-592.4408710843146,"objField":{"afivf":6161398361581758513},"stringDateField":"1978-12-15","stringDateTimeField":"2004-03-01T07:33:59Z","stringField":"sjkrKViSB","stringTimeField":"15:37:05.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763671Z","intField":-657,"numField":-592.4408710843146,"stringDateField":"1978-12-15","stringDateTimeField":"2004-03-01T07:33:59Z","stringField":"sjkrKViSB","stringTimeField":"15:37:05.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2242,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2242,"uuid":"9e0a8998-5655-11ee-8001-675ed0f8e89b"},"arrayField":["EzFjKvwi","MDwOOpxgU","DizQIw","JvWA","SSoCkfEEB"],"boolField":false,"intField":12,"numField":132.41426401915058,"objField":{"HnoDrGuK":-7807800183016303489,"KbkekbFjI":8930036131932899429,"XVEjcFn":7311431377039528034,"hwIX":-7326180595515661110,"mstrwlFjJM":645717195596876490,"pmXTiXMW":-6874656663783842282,"xnxVau":3106324783066184070,"xoSSglvRQw":-7289480914820846816,"zHLhm":-763244455685996188},"stringDateField":"1971-11-22","stringDateTimeField":"1935-12-04T20:32:35Z","stringField":"aQNSIXakrH","stringTimeField":"19:14:55.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":12,"numField":132.41426401915058,"stringDateField":"1971-11-22","stringDateTimeField":"1935-12-04T20:32:35Z","stringField":"aQNSIXakrH","stringTimeField":"19:14:55.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2243,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2243,"uuid":"9e0a8998-5655-11ee-8401-675ed0f8e89b"},"arrayField":["NxUWQUcen","foSZkLRtr","qzjpYQuqZ","bYRbY","LWTqAuo","OiMYVNUPQ","CmazV","KTswJv","hlazvrGil"],"boolField":false,"intField":-802,"numField":165.04306884587217,"objField":{"CTwqDL":7794346577595035745,"TPrFUrTD":-1608952055636814905,"WpGpbGD":4711605927662642520,"ZKxfJpazU":8333777252100380652,"aTfkXYPSjO":-2804392595946082178,"bfkmyO":7028630995855817240,"nZUo":-7974832133724026793,"saELShb":5843428495084574168},"stringDateField":"1978-02-06","stringDateTimeField":"1937-04-10T22:00:23Z","stringField":"vCwTkQd","stringTimeField":"04:30:21.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":-802,"numField":165.04306884587217,"stringDateField":"1978-02-06","stringDateTimeField":"1937-04-10T22:00:23Z","stringField":"vCwTkQd","stringTimeField":"04:30:21.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2244,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2244,"uuid":"9e0a8998-5655-11ee-8801-675ed0f8e89b"},"arrayField":["nqkL"],"boolField":false,"intField":-596,"numField":-568.4876295582203,"objField":{"aDYYixFB":7874638966169108772,"lQWensBwgd":5753545870687018188},"stringDateField":"1913-05-03","stringDateTimeField":"1981-08-01T17:22:50Z","stringField":"AnQFHvD","stringTimeField":"19:17:07.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":-596,"numField":-568.4876295582203,"stringDateField":"1913-05-03","stringDateTimeField":"1981-08-01T17:22:50Z","stringField":"AnQFHvD","stringTimeField":"19:17:07.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2245,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2245,"uuid":"9e0a8998-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["xSHfqtf","ZVNrIupzDR","jnokXt","fVXMG","QSlzzAW","oHfpoQNYQ","TSkispybi","KiLdxUZ"],"boolField":true,"intField":578,"numField":235.80066226388195,"objField":{"SdtWN":-7527132306745567866,"aCMKOQW":4647663553924307910,"lHDWBXAOrp":1312559125011316478},"stringDateField":"1900-04-24","stringDateTimeField":"2012-07-03T19:03:08Z","stringField":"GSbNOXOjET","stringTimeField":"03:11:04.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":578,"numField":235.80066226388195,"stringDateField":"1900-04-24","stringDateTimeField":"2012-07-03T19:03:08Z","stringField":"GSbNOXOjET","stringTimeField":"03:11:04.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2246,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2246,"uuid":"9e0a8998-5655-11ee-9001-675ed0f8e89b"},"arrayField":["bFjRhr","WFTjpyFJX","LQvXGzJ"],"boolField":false,"intField":-162,"numField":186.64900352784787,"objField":{"NkjtFlElRi":-6305249578368500433,"TFwpx":5433355498518295331,"UVBLQGz":5388202707377988336,"VhqNbBfcM":66838783152805283,"YqLxpHzwp":-4923109399017874299,"cTKIGI":5842029106784861893,"lUpS":4607428448630642065,"tjuKUc":1751313155699255776,"wORdvKE":1971648105125148801},"stringDateField":"1953-12-03","stringDateTimeField":"1911-07-17T07:31:45Z","stringField":"hQbsXq","stringTimeField":"01:23:49.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":-162,"numField":186.64900352784787,"stringDateField":"1953-12-03","stringDateTimeField":"1911-07-17T07:31:45Z","stringField":"hQbsXq","stringTimeField":"01:23:49.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2247,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2247,"uuid":"9e0a8998-5655-11ee-9401-675ed0f8e89b"},"arrayField":["RSscQpux","nKYQppvW","sHRRCkDZC","TwCcCIcd"],"boolField":false,"intField":-378,"numField":-993.6803630062652,"objField":{"EGCSgty":-1590938770037259997,"XCUfBedr":4249294632029828350,"hCVQGu":745879968381958827,"wrCLeVv":1976809115696851089},"stringDateField":"2003-12-20","stringDateTimeField":"1928-11-06T20:39:27Z","stringField":"uYntUk","stringTimeField":"11:24:55.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":-378,"numField":-993.6803630062652,"stringDateField":"2003-12-20","stringDateTimeField":"1928-11-06T20:39:27Z","stringField":"uYntUk","stringTimeField":"11:24:55.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2248,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2248,"uuid":"9e0a8998-5655-11ee-9801-675ed0f8e89b"},"arrayField":["IvGbQWDzZY","oGaOcPLr","occa","MWicPqg","Wrvj","ZyEiuA","wZsUeUnlFi","GITiFERpCZ"],"boolField":true,"intField":-109,"numField":704.8774889215181,"objField":{"MpIGYSpqC":-4846875305663866755,"NnlsMQsPR":6055417887598940142,"RmbieOrrt":-495514114087537554,"lvYBQ":8151893296861469724,"okLeI":8035485020557649803,"zJZKps":9109789105739763867},"stringDateField":"1901-02-11","stringDateTimeField":"1923-06-19T16:12:27Z","stringField":"cQDLgU","stringTimeField":"09:28:19.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":-109,"numField":704.8774889215181,"stringDateField":"1901-02-11","stringDateTimeField":"1923-06-19T16:12:27Z","stringField":"cQDLgU","stringTimeField":"09:28:19.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2249,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2249,"uuid":"9e0a8998-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["aeMFPxq","UkvOLEoNi","usIvkVTvwe","JwVPNJNsrM"],"boolField":false,"intField":-742,"numField":-997.712450763249,"objField":{"QFZHh":8589035726684166175,"ThFcqM":5892493701296729735,"eGQidBlSRE":4848982104178280355,"lOrxF":-5919275673107164360,"oIoJ":-2337526264178722559,"oUStt":-2848017996410357780,"pmmsVjEyO":-1142818115673789380,"wwrsj":4849834283539102821},"stringDateField":"1942-07-02","stringDateTimeField":"1964-10-26T08:26:35Z","stringField":"cDJLO","stringTimeField":"12:03:53.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":-742,"numField":-997.712450763249,"stringDateField":"1942-07-02","stringDateTimeField":"1964-10-26T08:26:35Z","stringField":"cDJLO","stringTimeField":"12:03:53.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2250,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2250,"uuid":"9e0a8998-5655-11ee-a001-675ed0f8e89b"},"arrayField":["JuZEotBZKy","rsII","xTcOJf","JmSkmBE","fLhfEiq","YEzKlWrZxa"],"boolField":false,"intField":-963,"numField":665.1021568152404,"objField":{"BCRVtMYDR":3550342931748860848,"KvnJ":1916778758077805025,"TtbveMCeKY":3173800196203462779},"stringDateField":"1949-06-23","stringDateTimeField":"1953-02-19T20:42:50Z","stringField":"dotPCeAoHe","stringTimeField":"19:01:11.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":-963,"numField":665.1021568152404,"stringDateField":"1949-06-23","stringDateTimeField":"1953-02-19T20:42:50Z","stringField":"dotPCeAoHe","stringTimeField":"19:01:11.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2251,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2251,"uuid":"9e0a8998-5655-11ee-a401-675ed0f8e89b"},"arrayField":["gTcwHk","NbUlQpBQDM","omjex","UoLm","VSZGrIgKT"],"boolField":false,"intField":-965,"numField":716.5352064568757,"objField":{"DCunAKIiQ":-8153452872611428513,"IOyBbhedIS":3665397508437747114,"PXNoRMkPTk":3243693662410788672,"dmIKAxTL":5148752541608675476,"gEzBNZIXTW":-7118145654338083678,"tqNv":2962679484845278277,"vXWikHW":-7887650405772051413,"xgjV":-6537482628017910430},"stringDateField":"1997-10-26","stringDateTimeField":"1990-05-03T17:33:31Z","stringField":"tZIn","stringTimeField":"15:31:00.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":-965,"numField":716.5352064568757,"stringDateField":"1997-10-26","stringDateTimeField":"1990-05-03T17:33:31Z","stringField":"tZIn","stringTimeField":"15:31:00.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2252,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2252,"uuid":"9e0a8998-5655-11ee-a801-675ed0f8e89b"},"arrayField":["AlWE","nEHKfBKj","AGFNgjzE","QILrLCy","HMjI","YuFCcwsi","mAaECmhEH","ROcGMx","YqiHqw","uJrZtWR"],"boolField":false,"intField":393,"numField":361.8382326225933,"objField":{"JUyLBv":-2246071271846725238,"YroWf":-5070720281647005931,"qXRCMczVu":-1616037947492140028,"qnlgb":-2315285178410403447,"tQQkoIf":-6084019169180419026,"tghlTzS":8736206304785256309,"ujugfhN":2026193546883397380,"vbIRJ":-4835973432656826283,"xUurDgUYtm":6029430269519780519},"stringDateField":"1976-08-18","stringDateTimeField":"1923-12-08T02:02:41Z","stringField":"DbLOvfVIcF","stringTimeField":"15:18:39.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":393,"numField":361.8382326225933,"stringDateField":"1976-08-18","stringDateTimeField":"1923-12-08T02:02:41Z","stringField":"DbLOvfVIcF","stringTimeField":"15:18:39.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2253,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2253,"uuid":"9e0a8998-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["yaFy","tBbOBLrX","ieAdxBE","XDyODZlAeC","bBUo","ESBWmraBmt"],"boolField":false,"intField":154,"numField":448.69326805123234,"objField":{"vewFrASavh":-7518779084516088042,"yxSSOlrZ":-492600871781213462},"stringDateField":"1966-09-25","stringDateTimeField":"2005-12-27T23:34:24Z","stringField":"sQreFwRI","stringTimeField":"13:05:28.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":154,"numField":448.69326805123234,"stringDateField":"1966-09-25","stringDateTimeField":"2005-12-27T23:34:24Z","stringField":"sQreFwRI","stringTimeField":"13:05:28.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2254,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2254,"uuid":"9e0a8998-5655-11ee-b001-675ed0f8e89b"},"arrayField":["bagLlbdVnJ"],"boolField":true,"intField":272,"numField":-529.4319548697529,"objField":{"GsFR":8386130026514195843,"QLjPL":-8389157718930884181,"SVqfmvIk":-599503275489777349,"TSoeJVown":-2858131679365574782,"WzuyZ":4823290909910993628,"bNJyut":-3521571506025080446,"lPvx":-2419865098445838951,"mzkkbRXkFm":-542092346380769856},"stringDateField":"1929-03-19","stringDateTimeField":"1950-11-06T21:30:13Z","stringField":"rUyhwvVaoS","stringTimeField":"16:09:02.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":272,"numField":-529.4319548697529,"stringDateField":"1929-03-19","stringDateTimeField":"1950-11-06T21:30:13Z","stringField":"rUyhwvVaoS","stringTimeField":"16:09:02.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2255,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2255,"uuid":"9e0a8998-5655-11ee-b401-675ed0f8e89b"},"arrayField":["fymKCTCi","RRPtOEwpw","fCuV","ilVwI","fdILNFwI","htpF","wJsvM","Uprqj"],"boolField":true,"intField":452,"numField":-183.58425422295952,"objField":{"sQEbcopgV":-7280488646566642033,"xNvUVYs":7607558733375622429},"stringDateField":"1949-09-19","stringDateTimeField":"1960-01-03T07:07:56Z","stringField":"vVJw","stringTimeField":"19:38:24.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":452,"numField":-183.58425422295952,"stringDateField":"1949-09-19","stringDateTimeField":"1960-01-03T07:07:56Z","stringField":"vVJw","stringTimeField":"19:38:24.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2256,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2256,"uuid":"9e0a8998-5655-11ee-b801-675ed0f8e89b"},"arrayField":["XdXBamiKc","ohym","hywgG","VWyvw","KrRInIEn","nBQoL","OuailvT","jXYlVsQemw","VySOq","cbvtz"],"boolField":true,"intField":-538,"numField":625.9283332535413,"objField":{"EMUnxeJ":3820016320644671867,"KFjeJUKh":5589379344424349606,"SDik":-2746583378974262201,"ppAXPEKtRK":3452104232603700202,"qUVuRrI":-2228399614144859985,"uFXnIiZ":1207103046553515167},"stringDateField":"1908-03-05","stringDateTimeField":"1987-01-05T18:41:08Z","stringField":"awpHl","stringTimeField":"17:17:16.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":-538,"numField":625.9283332535413,"stringDateField":"1908-03-05","stringDateTimeField":"1987-01-05T18:41:08Z","stringField":"awpHl","stringTimeField":"17:17:16.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2257,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2257,"uuid":"9e0a8998-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["nQkY","ysryzcnT"],"boolField":true,"intField":893,"numField":-974.3076820845074,"objField":{"jCySLPZGxc":9051205838466864437,"joDYOAFmmt":3676531654544119176},"stringDateField":"1964-07-14","stringDateTimeField":"1947-04-09T19:23:04Z","stringField":"USjQhUQSMj","stringTimeField":"21:57:54.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763672Z","intField":893,"numField":-974.3076820845074,"stringDateField":"1964-07-14","stringDateTimeField":"1947-04-09T19:23:04Z","stringField":"USjQhUQSMj","stringTimeField":"21:57:54.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2258,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2258,"uuid":"9e0a8999-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ZcfuShLtyK","vBVKucy","NfVzZr","IYznEd","dUNhEEdVj","GIaNaQeJs","HVBr"],"boolField":true,"intField":918,"numField":-444.7362384736924,"objField":{"AVfgPXjeeo":-4118506016269072775,"AfSPlHoLGQ":-8540226496633353875,"HpjciJNdcW":-3464150049983289502,"SlzrKIB":2641228465730290927,"aAsBBSfHVo":-2066903916589330909,"fToCEGXoiF":-1629094698112168655,"rLEN":2850846559437968849,"xqsSvcaHX":4797313818564688116},"stringDateField":"1938-02-16","stringDateTimeField":"1914-09-11T00:01:29Z","stringField":"BCQGWh","stringTimeField":"11:35:47.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":918,"numField":-444.7362384736924,"stringDateField":"1938-02-16","stringDateTimeField":"1914-09-11T00:01:29Z","stringField":"BCQGWh","stringTimeField":"11:35:47.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2259,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2259,"uuid":"9e0a8999-5655-11ee-8401-675ed0f8e89b"},"arrayField":["Vreg","sWAECa","PLMhcGNixV","qYaaiOCI"],"boolField":false,"intField":46,"numField":-937.7414171288248,"objField":{"FuUwUGyP":-741209228087106224,"vqEaLc":3815099706408088593},"stringDateField":"1996-02-12","stringDateTimeField":"1973-08-01T00:15:48Z","stringField":"WNiqxpV","stringTimeField":"11:54:12.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":46,"numField":-937.7414171288248,"stringDateField":"1996-02-12","stringDateTimeField":"1973-08-01T00:15:48Z","stringField":"WNiqxpV","stringTimeField":"11:54:12.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2260,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2260,"uuid":"9e0a8999-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ooapOprkvy","ZrncT","TZKfXtH","dXRVylIYNI"],"boolField":false,"intField":-776,"numField":138.3311105723384,"objField":{"ITDHrcQb":-1446838292451227761,"bTLJcj":4528310410662432411,"hFyEhs":8209643090085921166,"zbxNB":6705990303790904084},"stringDateField":"2018-03-24","stringDateTimeField":"1926-02-14T13:11:57Z","stringField":"pJlSLm","stringTimeField":"10:50:20.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":-776,"numField":138.3311105723384,"stringDateField":"2018-03-24","stringDateTimeField":"1926-02-14T13:11:57Z","stringField":"pJlSLm","stringTimeField":"10:50:20.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2261,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2261,"uuid":"9e0a8999-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["ssrMLc","kbJYBdmOHf","dntJrrOn","bXidDiLhc","UKwm","GixWXLC","ZyyDgTJa"],"boolField":false,"intField":-666,"numField":304.9061136732887,"objField":{"IcziKauvSK":-8180196609938067840,"yjCotdXb":-2166234664358545676},"stringDateField":"1991-08-29","stringDateTimeField":"1963-12-03T18:24:30Z","stringField":"DynU","stringTimeField":"05:01:13.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":-666,"numField":304.9061136732887,"stringDateField":"1991-08-29","stringDateTimeField":"1963-12-03T18:24:30Z","stringField":"DynU","stringTimeField":"05:01:13.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2262,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2262,"uuid":"9e0a8999-5655-11ee-9001-675ed0f8e89b"},"arrayField":["tSwNlA","JTHspUR","xJFHQOUr","OspdKnvg","uoySjZ","IWmbf","AoucOeTDy","pyjdJfBpGg"],"boolField":true,"intField":556,"numField":248.9190076538732,"objField":{"DIZonO":-6968577708928996882,"DQyMrIO":5291304689192739052,"EfTbjDjh":6698397714428794748,"JuYADAUhu":8435508360466416502,"PzqZuOTo":-2852062374014196865,"QdYGbB":-2747333789162174528,"cBKZQZ":-1928980969464054767,"sQhiPmPsqi":6532234081243766138},"stringDateField":"1975-12-22","stringDateTimeField":"1933-12-06T19:25:17Z","stringField":"ObLtsD","stringTimeField":"08:10:07.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":556,"numField":248.9190076538732,"stringDateField":"1975-12-22","stringDateTimeField":"1933-12-06T19:25:17Z","stringField":"ObLtsD","stringTimeField":"08:10:07.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2263,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2263,"uuid":"9e0a8999-5655-11ee-9401-675ed0f8e89b"},"arrayField":["nuahZa","ZxsURszVkf","fONzkRy","gQtoJqNqDg","ibMz","ylYs","RdKPXeFrO","rivRtfO","GBBW"],"boolField":false,"intField":287,"numField":-583.2111248079128,"objField":{"EaTLEvRc":3026832263223081720,"bFRWUXai":4834661648601853026},"stringDateField":"1920-08-31","stringDateTimeField":"1970-10-28T02:29:22Z","stringField":"yyxcnURi","stringTimeField":"19:51:44.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":287,"numField":-583.2111248079128,"stringDateField":"1920-08-31","stringDateTimeField":"1970-10-28T02:29:22Z","stringField":"yyxcnURi","stringTimeField":"19:51:44.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2264,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2264,"uuid":"9e0a8999-5655-11ee-9801-675ed0f8e89b"},"arrayField":["KFZky","etSMMEWn","qdhDeiW","YFoAbcA","Pgzkr","VdCFxztWH","xqefxjCDT"],"boolField":true,"intField":-113,"numField":879.0351217525016,"objField":{"mbgxJaexJ":-2822814293249179479,"zYCdHTsCXQ":635857547895597591},"stringDateField":"1930-12-10","stringDateTimeField":"2010-02-26T16:53:29Z","stringField":"hxIBZHj","stringTimeField":"17:06:39.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":-113,"numField":879.0351217525016,"stringDateField":"1930-12-10","stringDateTimeField":"2010-02-26T16:53:29Z","stringField":"hxIBZHj","stringTimeField":"17:06:39.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2265,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2265,"uuid":"9e0a8999-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["kXEZt","JNaKAcRh","byQhcEX","jhuxjG","vEBguxz","hlaAjPdB","uajMLJ","vyOe"],"boolField":false,"intField":281,"numField":160.7328654812037,"objField":{"LluBAE":-5804911172280818163,"TreuT":6384359785448522122,"VVZgi":8806500082543161304,"ffjlJsK":-6493333917401699537,"hTIg":3819370342099983218,"kHqO":8319219909429324913},"stringDateField":"2014-02-02","stringDateTimeField":"1951-11-29T05:15:57Z","stringField":"WKGa","stringTimeField":"19:29:10.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":281,"numField":160.7328654812037,"stringDateField":"2014-02-02","stringDateTimeField":"1951-11-29T05:15:57Z","stringField":"WKGa","stringTimeField":"19:29:10.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2266,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2266,"uuid":"9e0a8999-5655-11ee-a001-675ed0f8e89b"},"arrayField":["gyzeaWU","qMbN","fSzCviV"],"boolField":false,"intField":677,"numField":112.72726558015655,"objField":{"FcxsaPbSf":-8081963290297777471,"eFJqX":9150381510586295744,"vPozWSAcSc":400478396540297696,"ydJZxxAMz":-3996906227802864396},"stringDateField":"1970-12-06","stringDateTimeField":"1904-05-17T08:00:00Z","stringField":"ohIS","stringTimeField":"00:56:36.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":677,"numField":112.72726558015655,"stringDateField":"1970-12-06","stringDateTimeField":"1904-05-17T08:00:00Z","stringField":"ohIS","stringTimeField":"00:56:36.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2267,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2267,"uuid":"9e0a8999-5655-11ee-a401-675ed0f8e89b"},"arrayField":["MmjYgE","OjJLpGs","cbysSAGohM","uzyCxyeg","KeUWDCF","EysafHc"],"boolField":true,"intField":-262,"numField":615.8545531137149,"objField":{"ZgSB":-6472104900990187585,"xCeFAFhyBp":7644137311634749121},"stringDateField":"1979-07-28","stringDateTimeField":"1988-02-09T21:12:42Z","stringField":"SJwKSBKjB","stringTimeField":"15:38:24.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":-262,"numField":615.8545531137149,"stringDateField":"1979-07-28","stringDateTimeField":"1988-02-09T21:12:42Z","stringField":"SJwKSBKjB","stringTimeField":"15:38:24.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2268,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2268,"uuid":"9e0a8999-5655-11ee-a801-675ed0f8e89b"},"arrayField":["yLdzziCXT","ZBzZCxdyYt","zeIhSNz","ddnhRXB","uwck"],"boolField":true,"intField":-163,"numField":-928.2583560053608,"objField":{"KMkSvkHpp":29743700002369430,"YxcuI":1198131021568688382,"eINR":6221950372091015652,"rkFknnZAH":-3457159729181325908,"wFwtN":-285450619488177316},"stringDateField":"1913-08-22","stringDateTimeField":"1919-01-24T21:59:00Z","stringField":"OHGROBL","stringTimeField":"16:53:16.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":-163,"numField":-928.2583560053608,"stringDateField":"1913-08-22","stringDateTimeField":"1919-01-24T21:59:00Z","stringField":"OHGROBL","stringTimeField":"16:53:16.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2269,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2269,"uuid":"9e0a8999-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["wbGDPIEM","vTdYe","YrQoZ","vdNjRwa","hEKsqLx","fUZDN","mDELZ","cCcOzFESRA"],"boolField":false,"intField":85,"numField":216.601678757097,"objField":{"AAMYzIx":2802431514082619502,"BxZOY":-4696758925052588610},"stringDateField":"2001-11-28","stringDateTimeField":"1962-10-18T19:41:05Z","stringField":"wxnkiQJEK","stringTimeField":"23:32:23.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":85,"numField":216.601678757097,"stringDateField":"2001-11-28","stringDateTimeField":"1962-10-18T19:41:05Z","stringField":"wxnkiQJEK","stringTimeField":"23:32:23.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2270,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2270,"uuid":"9e0a8999-5655-11ee-b001-675ed0f8e89b"},"arrayField":["exFFDu"],"boolField":false,"intField":315,"numField":-90.42373774010105,"objField":{"AHLRFctUc":8454308688197704787,"ZhfrKu":6505111066416064336,"bFRevuef":-4838594626193187668,"kPSqwzrN":-3767808869430382906,"qXSa":-2460803106767521019,"tHnFq":1939340695482443873},"stringDateField":"2009-04-18","stringDateTimeField":"1950-08-07T09:24:55Z","stringField":"ZpFjxpno","stringTimeField":"08:02:18.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":315,"numField":-90.42373774010105,"stringDateField":"2009-04-18","stringDateTimeField":"1950-08-07T09:24:55Z","stringField":"ZpFjxpno","stringTimeField":"08:02:18.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2271,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2271,"uuid":"9e0a8999-5655-11ee-b401-675ed0f8e89b"},"arrayField":["FcvW"],"boolField":false,"intField":742,"numField":-676.7498731773268,"objField":{"JQPNcZbHX":-7529195870334055644,"JtGcHsG":-7646790514500887390,"MHHI":4089356001551945733,"RFuDH":-4076370382590544611,"STtZlmk":-6390222923055265187,"XXtMru":1827902059756262872,"bCOaQNCFM":-8728886353477000779,"oPaN":-8518476507053708257,"yRVLnV":-6292031454772361127},"stringDateField":"1956-01-15","stringDateTimeField":"2012-10-10T12:47:30Z","stringField":"iHhKqhOD","stringTimeField":"19:36:37.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":742,"numField":-676.7498731773268,"stringDateField":"1956-01-15","stringDateTimeField":"2012-10-10T12:47:30Z","stringField":"iHhKqhOD","stringTimeField":"19:36:37.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2272,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2272,"uuid":"9e0a8999-5655-11ee-b801-675ed0f8e89b"},"arrayField":["WnOFDgMd","hobfYh","WZXu","mzoMpAnJyy"],"boolField":false,"intField":567,"numField":-940.8325900382888,"objField":{"GWCsdOhbl":8270639316757187263,"NkJBeQGADy":8105762716751250149,"QBuEM":7338841605668269847,"Usaoy":-6246672229596483075,"XNRlpAy":-5476583378107915030,"bfmFW":3777547046611325647,"hSKKzfhF":4527394762982443274,"jEOAjTmGFV":-6958628964276153796,"oPousH":-2420729451741771194,"uQhV":6647925755115279372},"stringDateField":"1910-08-14","stringDateTimeField":"1991-03-25T08:11:14Z","stringField":"qroNzP","stringTimeField":"18:15:04.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":567,"numField":-940.8325900382888,"stringDateField":"1910-08-14","stringDateTimeField":"1991-03-25T08:11:14Z","stringField":"qroNzP","stringTimeField":"18:15:04.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2273,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2273,"uuid":"9e0a8999-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["PqkwrMgrB"],"boolField":false,"intField":116,"numField":157.2505996967255,"objField":{"BIQkQ":5433955433385251199,"EijLx":-9102297948131776705,"WiiIKPGzT":5393354306167367933,"XGpMloPn":6482238844387411474,"qbgCmh":6282519931267969115,"xXtby":2768069706080215947},"stringDateField":"1991-10-03","stringDateTimeField":"1961-05-28T22:21:26Z","stringField":"xzPHF","stringTimeField":"14:51:32.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763673Z","intField":116,"numField":157.2505996967255,"stringDateField":"1991-10-03","stringDateTimeField":"1961-05-28T22:21:26Z","stringField":"xzPHF","stringTimeField":"14:51:32.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2274,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2274,"uuid":"9e0a899a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["KrdWxiDG","Oiuclt"],"boolField":true,"intField":-971,"numField":-929.7648392177132,"objField":{"FjCk":-1941961127026192526,"KbBADIGxl":9024776584927947127,"QSJchnT":-5742461470694480992,"QdSCPOaTdW":-8267070746812384179,"VJbpcaHIV":2796999595216135038,"aPjc":-386508132269228272,"hUAQMDDhyH":3222206244728315599,"lGfSMuE":7752615056997018558},"stringDateField":"1947-09-17","stringDateTimeField":"1964-06-02T05:47:32Z","stringField":"yfuf","stringTimeField":"15:41:31.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":-971,"numField":-929.7648392177132,"stringDateField":"1947-09-17","stringDateTimeField":"1964-06-02T05:47:32Z","stringField":"yfuf","stringTimeField":"15:41:31.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2275,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2275,"uuid":"9e0a899a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["fArWjq","cFmmgwjGmP","xdUkcKpMdC","BCMmExO","pJfnOMG","oTfUNZxZ"],"boolField":true,"intField":-865,"numField":66.90449988879288,"objField":{"GZSsmh":5660465015767008708,"dtCP":-1532206524505796640,"dvtZIYS":-6610359038152888369,"oxEmOV":732500917674247972,"qEPxvI":1130694131819335744,"sGMVQzR":-6241709130188640227,"wIQnG":-4352655308152434683},"stringDateField":"1939-10-27","stringDateTimeField":"1943-03-15T00:52:53Z","stringField":"TmHZcc","stringTimeField":"00:13:54.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":-865,"numField":66.90449988879288,"stringDateField":"1939-10-27","stringDateTimeField":"1943-03-15T00:52:53Z","stringField":"TmHZcc","stringTimeField":"00:13:54.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2276,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2276,"uuid":"9e0a899a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["UdXEbQPS","tkNLHNG"],"boolField":false,"intField":-266,"numField":-754.4412351613363,"objField":{"dFzrVvGnf":4170487920968942496,"qCBHuELQau":2550893746557083417},"stringDateField":"1983-12-29","stringDateTimeField":"1907-12-02T01:47:36Z","stringField":"bkac","stringTimeField":"02:12:31.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":-266,"numField":-754.4412351613363,"stringDateField":"1983-12-29","stringDateTimeField":"1907-12-02T01:47:36Z","stringField":"bkac","stringTimeField":"02:12:31.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2277,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2277,"uuid":"9e0a899a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["SJvHYVTmP","DoEj","bDstPxoX","wTQL"],"boolField":true,"intField":-466,"numField":424.0940450210789,"objField":{"PeGue":-6404532260527612832,"UQApICKvZ":-6578226429975070416,"jwDzmCF":3419821191360497781},"stringDateField":"1958-12-17","stringDateTimeField":"1974-11-20T20:23:35Z","stringField":"GATHWhgTpH","stringTimeField":"16:05:02.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":-466,"numField":424.0940450210789,"stringDateField":"1958-12-17","stringDateTimeField":"1974-11-20T20:23:35Z","stringField":"GATHWhgTpH","stringTimeField":"16:05:02.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2278,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2278,"uuid":"9e0a899a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["WMePDSRDRi","SnjYrhmA","pQTiQXQzOx","VHnsgolrM","jMCEzJNkP","DDYJ","CiicEW"],"boolField":false,"intField":198,"numField":29.25860419168935,"objField":{"HFVGTfUT":188092014816141231,"PHMHwM":-6087525780279420586,"eWZz":-5683008194251004984,"kCOOm":-2965638704223101007},"stringDateField":"2002-03-23","stringDateTimeField":"1922-05-24T18:49:04Z","stringField":"GnjoVtG","stringTimeField":"01:35:43.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":198,"numField":29.25860419168935,"stringDateField":"2002-03-23","stringDateTimeField":"1922-05-24T18:49:04Z","stringField":"GnjoVtG","stringTimeField":"01:35:43.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2279,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2279,"uuid":"9e0a899a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["GXFKcL","jbLWBqC","STGIGQan","wPGos","rsvrUe"],"boolField":false,"intField":89,"numField":-689.7936550729863,"objField":{"LWkxBL":8337006908523597773,"aJFQgCZZY":9006147388746007350,"mKRqIj":-8146153178585230757},"stringDateField":"1949-11-18","stringDateTimeField":"2014-07-10T19:59:28Z","stringField":"gfEIWegei","stringTimeField":"09:20:53.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":89,"numField":-689.7936550729863,"stringDateField":"1949-11-18","stringDateTimeField":"2014-07-10T19:59:28Z","stringField":"gfEIWegei","stringTimeField":"09:20:53.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2280,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2280,"uuid":"9e0a899a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["qYNVPeWu","uooKzDurM","VmdZnBWLoZ","RpvvQEPpgQ","JyUA","OHhn"],"boolField":true,"intField":-645,"numField":472.4289734086591,"objField":{"CpDG":-4142740452603320489},"stringDateField":"1905-10-24","stringDateTimeField":"1998-01-01T22:19:06Z","stringField":"RYPgz","stringTimeField":"23:14:50.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":-645,"numField":472.4289734086591,"stringDateField":"1905-10-24","stringDateTimeField":"1998-01-01T22:19:06Z","stringField":"RYPgz","stringTimeField":"23:14:50.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2281,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2281,"uuid":"9e0a899a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["bJMXIBtL","VKOsFVB","AVOIOHH","RyUA","lmvqmejHN","NwGNmWPDpe","elMeIEP","HReeTXUmHh","iUYJjhFZMW","cigWAMSzZ"],"boolField":false,"intField":-462,"numField":-598.0929862896542,"objField":{"AsOLDZ":-7512699875892117550,"GacXCm":3135977730915847555,"WCLgOUSUje":4014309245517318836},"stringDateField":"1969-04-02","stringDateTimeField":"1952-03-26T09:16:46Z","stringField":"MqOVR","stringTimeField":"20:28:34.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":-462,"numField":-598.0929862896542,"stringDateField":"1969-04-02","stringDateTimeField":"1952-03-26T09:16:46Z","stringField":"MqOVR","stringTimeField":"20:28:34.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2282,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2282,"uuid":"9e0a899a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["lSzcM","NqBIWln","jjNVQhvLKc","myka","TSvEfzyOj","lBywb","gExl","lNoGOJF","AIKjfVj"],"boolField":true,"intField":905,"numField":487.5419390918203,"objField":{"kAHMw":-4107516262346274171,"qxVMKksrlr":-6151422503502775780},"stringDateField":"1926-07-01","stringDateTimeField":"1973-01-04T10:48:59Z","stringField":"abLOkVakMT","stringTimeField":"01:11:18.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":905,"numField":487.5419390918203,"stringDateField":"1926-07-01","stringDateTimeField":"1973-01-04T10:48:59Z","stringField":"abLOkVakMT","stringTimeField":"01:11:18.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2283,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2283,"uuid":"9e0a899a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["SLytGVy","NNVuDjCrdn","pRefeKlsUm","CKsuENRGTO","ZpXNjeGrj","sAzvHRrKBp"],"boolField":false,"intField":784,"numField":-157.79431682455925,"objField":{"EQYCJkRk":3120479399302489004,"LcAP":212071259479498903,"RlFpVeFn":-4371607063176099094,"VvXFAkel":4725142596667650643,"WMHokuNT":3342349665595835535,"djEUHXokXL":-522944960587460133,"gbLNZjqec":-8574095980192073666,"jzFbr":-798611722916380920,"tXmiI":-5991554264491647893,"vjuvjTBt":5202842153948527582},"stringDateField":"1929-07-17","stringDateTimeField":"1967-03-21T06:47:49Z","stringField":"rZTONu","stringTimeField":"11:18:12.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":784,"numField":-157.79431682455925,"stringDateField":"1929-07-17","stringDateTimeField":"1967-03-21T06:47:49Z","stringField":"rZTONu","stringTimeField":"11:18:12.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2284,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2284,"uuid":"9e0a899a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["fbcncSFgec","KdKa","wqYjGu","GKGP","PfOnNXGS"],"boolField":true,"intField":-398,"numField":-732.9176910635651,"objField":{"DUMFynyUB":-8062986648703403098,"MFMKKUkad":-1155821804668404585},"stringDateField":"1988-03-29","stringDateTimeField":"1976-02-14T22:33:25Z","stringField":"DHKywQGq","stringTimeField":"19:12:40.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":-398,"numField":-732.9176910635651,"stringDateField":"1988-03-29","stringDateTimeField":"1976-02-14T22:33:25Z","stringField":"DHKywQGq","stringTimeField":"19:12:40.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2285,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2285,"uuid":"9e0a899a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["cryl","zLXvXH","nffiOOdviU","wCvuXdu","slzY","EjxSE"],"boolField":false,"intField":-485,"numField":920.1582603962069,"objField":{"CBJoqc":1095894768615055057,"CWyErc":284561247316956430,"NZfGT":9067659898364074701,"gMiIekclo":6013492262328819158,"kZPuXxUVSz":6327746998719018454,"qauvJEoSJ":-1850522981712553662,"zCDAY":-7693179160848894602,"zRJXivn":-4397539385970135869},"stringDateField":"1968-10-20","stringDateTimeField":"1988-02-04T06:59:18Z","stringField":"BNUQCJHuj","stringTimeField":"22:10:17.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":-485,"numField":920.1582603962069,"stringDateField":"1968-10-20","stringDateTimeField":"1988-02-04T06:59:18Z","stringField":"BNUQCJHuj","stringTimeField":"22:10:17.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2286,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2286,"uuid":"9e0a899a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["bNWFiAkgv","SqkKueztb","jwvEpzfq","EJiRDSso","TGFSRNW"],"boolField":true,"intField":-962,"numField":-684.7042606647643,"objField":{"IsRm":5068941416424557691,"JWwVOvAas":5572757527456876074,"VBYRxSKGf":2846561889803159949,"bvDIayg":-7855871656899677176,"gDGkV":6083282588072733028,"kPaIocPG":-3563472049076136021,"kjRP":-4065176031801806639,"wCqTg":-1738325223944819171,"wvjzw":6705286965024142531,"yfPWuUzc":5638832961043550948},"stringDateField":"1975-11-18","stringDateTimeField":"1917-02-25T11:42:37Z","stringField":"NvmPkSSr","stringTimeField":"02:52:19.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":-962,"numField":-684.7042606647643,"stringDateField":"1975-11-18","stringDateTimeField":"1917-02-25T11:42:37Z","stringField":"NvmPkSSr","stringTimeField":"02:52:19.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2287,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2287,"uuid":"9e0a899a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["TxrRChfRtX","XgCnfK","jxlZrMu","IuojHx","sFSuYyGm","ddeQdL","PkJsGcOb","ExAyug","pjLj","SPbQPEzFU"],"boolField":true,"intField":67,"numField":-313.1826556166647,"objField":{"AxZSpfj":6821797291996632819,"cqETNore":5727936307752791383,"jmCxMLON":7402876999797001147,"kmQQpa":3597649965696466658,"pVMSviRiLa":-7160283314517533144},"stringDateField":"1953-03-05","stringDateTimeField":"2017-03-26T03:19:46Z","stringField":"WbWm","stringTimeField":"01:49:23.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":67,"numField":-313.1826556166647,"stringDateField":"1953-03-05","stringDateTimeField":"2017-03-26T03:19:46Z","stringField":"WbWm","stringTimeField":"01:49:23.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2288,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2288,"uuid":"9e0a899a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["hCHklTY","bqlTBWygs","DlBRd","lITU","TTyABgsWfk","syyZwLpLpb","UoenJDDgHU","EhjFsIvHOh"],"boolField":false,"intField":-982,"numField":990.6977584147688,"objField":{"HTyDu":4624070800974333280,"ORuVUlwdP":-8454849125287168836,"mgmcFB":1204859678291236499,"nhXdcXTH":-2606225063803258282},"stringDateField":"1996-04-20","stringDateTimeField":"1914-04-08T00:10:42Z","stringField":"xxQM","stringTimeField":"22:00:04.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":-982,"numField":990.6977584147688,"stringDateField":"1996-04-20","stringDateTimeField":"1914-04-08T00:10:42Z","stringField":"xxQM","stringTimeField":"22:00:04.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2289,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2289,"uuid":"9e0a899a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["BLao"],"boolField":true,"intField":871,"numField":891.562219924872,"objField":{"BKveJTyOl":-2556661598053370363,"SPNOIjmh":366340857849806356,"STtsFfis":-819141887433178524,"bUnipHebSb":-6709344548875255991,"zqkg":8963261264187576830},"stringDateField":"1968-10-23","stringDateTimeField":"1916-03-26T16:11:57Z","stringField":"hdVulQ","stringTimeField":"17:26:41.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763674Z","intField":871,"numField":891.562219924872,"stringDateField":"1968-10-23","stringDateTimeField":"1916-03-26T16:11:57Z","stringField":"hdVulQ","stringTimeField":"17:26:41.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2290,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2290,"uuid":"9e0a899b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["VvTlELEV","TRKemVlIV","cXMyXmajSw","ejOw","rITfID","meRv","SLFAOMLm","YaBKWtd"],"boolField":false,"intField":-860,"numField":-319.43777078797655,"objField":{"GYZFQjxrQ":-6385613355429237448,"IBFM":2604355594549798747,"OZFszOpDG":-1635193618171810920,"WuxhJXAWe":-2288384600070915399,"XFmn":-1505484102617351208,"dfsrnJvU":549493520047942542,"ipZwCDfjfh":4759085178583079831,"nIIEtiizK":8870835709596358900,"nvjFIQ":-109968273571104646,"vHiu":8498580534101774341},"stringDateField":"2005-07-01","stringDateTimeField":"1996-11-11T00:56:20Z","stringField":"KQzIZbGRzV","stringTimeField":"00:57:40.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":-860,"numField":-319.43777078797655,"stringDateField":"2005-07-01","stringDateTimeField":"1996-11-11T00:56:20Z","stringField":"KQzIZbGRzV","stringTimeField":"00:57:40.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2291,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2291,"uuid":"9e0a899b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["kxggpvO","IUEhhST","hznyOvlR","ZMgsjWx","jjWs"],"boolField":false,"intField":-798,"numField":718.584156736684,"objField":{"KrErUmhEs":1090817380120832501,"OzxmSNM":1280201999451416361,"YYgjrzSLbX":-8788048463281467654,"fJMMg":-360689442232853177,"gWQefpjL":7506111522818057130,"qYDg":-5663103986235751611,"uwHPcYhUAp":-8651007637948583857},"stringDateField":"1925-03-07","stringDateTimeField":"1974-07-13T13:28:30Z","stringField":"BHZGdK","stringTimeField":"07:41:34.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":-798,"numField":718.584156736684,"stringDateField":"1925-03-07","stringDateTimeField":"1974-07-13T13:28:30Z","stringField":"BHZGdK","stringTimeField":"07:41:34.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2292,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2292,"uuid":"9e0a899b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["JjDDIjKTyW","xoTZdfWffn","LYRxhZCo"],"boolField":false,"intField":555,"numField":-273.9660365563492,"objField":{"HKXckHO":-3203069338033802547,"OIinPvhGTJ":7488777762953548942,"WdnTl":-658075031806066859,"fhiTXLv":-6016036634371420670,"wAPHcpbbD":976760240894570330},"stringDateField":"2016-06-26","stringDateTimeField":"1987-01-26T12:34:44Z","stringField":"nyQtfAell","stringTimeField":"03:31:33.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":555,"numField":-273.9660365563492,"stringDateField":"2016-06-26","stringDateTimeField":"1987-01-26T12:34:44Z","stringField":"nyQtfAell","stringTimeField":"03:31:33.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2293,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2293,"uuid":"9e0a899b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["NWAHP","hihQLEe"],"boolField":false,"intField":568,"numField":-39.03152597665071,"objField":{"AqzzbM":-7038947817155391872,"GZiaxrAq":2449793646873321806,"LmRqQ":-7792274587322447720,"VcGsV":2125224670339201761,"eYjUZEZN":-6929660402255776864},"stringDateField":"1948-06-17","stringDateTimeField":"2021-10-24T08:47:51Z","stringField":"ijbY","stringTimeField":"15:00:27.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":568,"numField":-39.03152597665071,"stringDateField":"1948-06-17","stringDateTimeField":"2021-10-24T08:47:51Z","stringField":"ijbY","stringTimeField":"15:00:27.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2294,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2294,"uuid":"9e0a899b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["qdUu"],"boolField":true,"intField":-317,"numField":763.1581981513584,"objField":{"JCst":-7694362959605224456,"OGps":-592641045618719104,"QQyeXEj":4765775778192194875,"Suoo":3301150679606158950,"TqQvuOeh":-7426827796775369961,"VAhvRGpSIE":-704967188657832252,"XdpmW":9183833620897833651,"lSjxiOBF":6266720071398516970,"msiZdr":-9037682077749602427},"stringDateField":"1970-01-21","stringDateTimeField":"1941-09-17T07:43:35Z","stringField":"JKOT","stringTimeField":"06:02:36.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":-317,"numField":763.1581981513584,"stringDateField":"1970-01-21","stringDateTimeField":"1941-09-17T07:43:35Z","stringField":"JKOT","stringTimeField":"06:02:36.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2295,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2295,"uuid":"9e0a899b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["slWWtWWaL","KIitAufXrj"],"boolField":false,"intField":517,"numField":338.2603027533722,"objField":{"IuyRsL":-9105882485043722032,"Kpdj":-1311692711503819435,"OxxNkrMd":4401161824790546162,"QVmY":9103550799991779703,"RMkocRO":3655464868085450332,"UIdWiqMG":-8608963290709222012,"bOigmodlTn":-3854584920281004898,"naniRmlRjM":6977152872124574139},"stringDateField":"2011-08-31","stringDateTimeField":"1997-05-09T10:57:08Z","stringField":"dPpVCxdfM","stringTimeField":"00:12:46.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":517,"numField":338.2603027533722,"stringDateField":"2011-08-31","stringDateTimeField":"1997-05-09T10:57:08Z","stringField":"dPpVCxdfM","stringTimeField":"00:12:46.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2296,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2296,"uuid":"9e0a899b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["EsSNIh","riGv","GFzIiGG","NTmGDrASm","ePqGexaX","UbFme","VpntNmW","YCaWKYVjO","WJtEaIS","eNdYKq"],"boolField":false,"intField":920,"numField":-196.81947376646403,"objField":{"EuSa":9061794136535144886,"GkTSypTnm":-1664742061309308086,"agGDNLq":3650962573301023900,"qznxpS":2884036169810811398},"stringDateField":"1947-05-24","stringDateTimeField":"1997-11-18T04:19:18Z","stringField":"jvYPE","stringTimeField":"13:26:47.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":920,"numField":-196.81947376646403,"stringDateField":"1947-05-24","stringDateTimeField":"1997-11-18T04:19:18Z","stringField":"jvYPE","stringTimeField":"13:26:47.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2297,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2297,"uuid":"9e0a899b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["XYbRGVfV","huMpeUh","wNegthc","kcJRdbN"],"boolField":false,"intField":-989,"numField":-810.5798901177328,"objField":{"BKyxEIOthI":8143616978362314236,"UkMOnCA":3979417776639595670,"mICqt":-2750168484982028249,"ujORpZCG":7999191627931765126},"stringDateField":"1990-09-26","stringDateTimeField":"1988-02-05T14:56:53Z","stringField":"HeFZCdgaIp","stringTimeField":"12:27:39.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":-989,"numField":-810.5798901177328,"stringDateField":"1990-09-26","stringDateTimeField":"1988-02-05T14:56:53Z","stringField":"HeFZCdgaIp","stringTimeField":"12:27:39.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2298,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2298,"uuid":"9e0a899b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["lpbRUbkfm","awobVMuF","DXFveQkWRk","zMMQj"],"boolField":true,"intField":269,"numField":-71.92094016544847,"objField":{"AspfdxhiXw":-5982571035579595142,"BBUJV":2270172947152175515,"FCcxhjkJ":-3866789604498425457,"JxEINyxan":376541598907307240,"NyXIXOozo":-4447150646188178948,"SMsmJXUV":4902303258972891196,"edZYgkv":8818472122702565174,"gffIR":2475249066328972613,"uoUIGAFfNF":-361834053512145033},"stringDateField":"1907-03-02","stringDateTimeField":"1942-02-12T10:32:17Z","stringField":"wsYfWJUtI","stringTimeField":"01:25:37.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":269,"numField":-71.92094016544847,"stringDateField":"1907-03-02","stringDateTimeField":"1942-02-12T10:32:17Z","stringField":"wsYfWJUtI","stringTimeField":"01:25:37.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2299,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2299,"uuid":"9e0a899b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["XSwYWC","idcOj","ixRb","hpiDe","IsHErdzu","hGXAeHhYHr","dAHbhxdbG","AjTCkrqEWP","OClZbz","oqPNabCAnf"],"boolField":true,"intField":941,"numField":-804.4250633314948,"objField":{"IyjOIbCLm":1963508827878839331,"dAQSp":4908872146961350349,"oEUiG":6030814384398141378},"stringDateField":"1967-08-26","stringDateTimeField":"2018-04-26T00:55:44Z","stringField":"dkJoAVb","stringTimeField":"05:00:37.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":941,"numField":-804.4250633314948,"stringDateField":"1967-08-26","stringDateTimeField":"2018-04-26T00:55:44Z","stringField":"dkJoAVb","stringTimeField":"05:00:37.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2300,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2300,"uuid":"9e0a899b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["zIriLjVVkd","pfHlCYoS","cgGHUq","YKbP","SmUxrNgL","aIzyP"],"boolField":true,"intField":-655,"numField":791.4178417141616,"objField":{"JDazBiDU":-6201616636219911722,"JsOnWw":-3297709855873918858,"KMibaIwx":7394440043184960352,"LOoYEEEjDE":2252315700873987763,"LSTKMN":174779748282192388,"NqXDlhjr":1262853696639788740,"bQQRai":7686885668716350553,"puaOcMmYNi":8065287698385951905,"wZkuJEr":-7960347785166901803,"xtbsLaSBB":-4278786790109551386},"stringDateField":"1914-06-03","stringDateTimeField":"1997-03-03T13:50:07Z","stringField":"SaSr","stringTimeField":"08:01:46.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":-655,"numField":791.4178417141616,"stringDateField":"1914-06-03","stringDateTimeField":"1997-03-03T13:50:07Z","stringField":"SaSr","stringTimeField":"08:01:46.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2301,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2301,"uuid":"9e0a899b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["jLzmuLk","gkDJRw"],"boolField":false,"intField":254,"numField":-848.2203636007853,"objField":{"KWnT":-3136221739545627608,"UuZnRNDW":-8857170363640078529,"hZWQ":-1354866950400910528,"ohszLPA":-519790395679471181,"sTbeNeV":-1081728691346859501,"wXSqso":1303085635154559712},"stringDateField":"1976-01-30","stringDateTimeField":"2012-05-18T06:51:06Z","stringField":"fERqXi","stringTimeField":"13:29:34.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":254,"numField":-848.2203636007853,"stringDateField":"1976-01-30","stringDateTimeField":"2012-05-18T06:51:06Z","stringField":"fERqXi","stringTimeField":"13:29:34.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2302,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2302,"uuid":"9e0a899b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["unliEI","xphjPAvPEJ","cGGMVWB","PNqvGabqi","VMGvxb","sikX","qCnfdNK","AopEiMbFf","mMhk","DWpeiVNmr"],"boolField":false,"intField":-201,"numField":-302.8933936884666,"objField":{"HpsGLdQ":-2065165814449014252,"JiMZfgkfxy":3241451442988361509,"gilz":-5045028137504961353,"lmCRMXhLkM":6808105410645668335,"myUEavOTJ":6218348008362156082,"qfKAu":-5863192313814018035,"tpvhy":2078449912981283622,"wxeQFX":-8703034409995405762},"stringDateField":"2015-02-18","stringDateTimeField":"1991-09-13T17:39:15Z","stringField":"VDBy","stringTimeField":"08:22:05.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":-201,"numField":-302.8933936884666,"stringDateField":"2015-02-18","stringDateTimeField":"1991-09-13T17:39:15Z","stringField":"VDBy","stringTimeField":"08:22:05.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2303,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2303,"uuid":"9e0a899b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["qTxn","mwzKVE","BdWy","sLVAkzwD","yTWWD","tpXvQg"],"boolField":true,"intField":-793,"numField":828.1378378652872,"objField":{"NBQovTSo":8039586721403799478,"wNJvWIfxK":4754080969436337816},"stringDateField":"2014-10-06","stringDateTimeField":"1918-11-04T19:44:59Z","stringField":"qcefyxd","stringTimeField":"05:23:25.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":-793,"numField":828.1378378652872,"stringDateField":"2014-10-06","stringDateTimeField":"1918-11-04T19:44:59Z","stringField":"qcefyxd","stringTimeField":"05:23:25.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2304,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2304,"uuid":"9e0a899b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["KnNjdQWLc","uLnnAXJBf","aNSptBkE","NEGf","kdeNaY","SndgWAA","ncZNBpZ","ISaA","KHfah","ulqy"],"boolField":true,"intField":-529,"numField":-537.3322030459173,"objField":{"eALzdSOX":3383825390100486591,"igKItIW":-6213567586500516749,"lJPeVXP":-8639839728711445757,"mThDBEU":-3785396662393325687,"tYqui":-8555293669184784121,"uKjlmpw":-4599572586711341614},"stringDateField":"1912-07-25","stringDateTimeField":"2022-07-22T22:14:16Z","stringField":"xLCqvguZl","stringTimeField":"02:38:55.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":-529,"numField":-537.3322030459173,"stringDateField":"1912-07-25","stringDateTimeField":"2022-07-22T22:14:16Z","stringField":"xLCqvguZl","stringTimeField":"02:38:55.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2305,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2305,"uuid":"9e0a899b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["CCUfeaj","UKdtucL","sOXcH","IyjD","vLQdjuvWLT","YzkZuUGWm","vcumJnImF","ksqkwiht","OoPntbdY","aTwEqAxzqn"],"boolField":false,"intField":146,"numField":258.510852059509,"objField":{"pESyY":-8860436061590606038},"stringDateField":"1911-07-04","stringDateTimeField":"1928-10-18T21:53:58Z","stringField":"WORlGdY","stringTimeField":"02:41:54.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763675Z","intField":146,"numField":258.510852059509,"stringDateField":"1911-07-04","stringDateTimeField":"1928-10-18T21:53:58Z","stringField":"WORlGdY","stringTimeField":"02:41:54.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2306,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2306,"uuid":"9e0a899c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wlPSuZKNFD","MWwxI"],"boolField":true,"intField":-234,"numField":684.9763423924387,"objField":{"GwGBGJ":-3462458835187233990,"ydTTSSygX":5243475531959927138},"stringDateField":"2005-01-11","stringDateTimeField":"1910-09-10T09:58:55Z","stringField":"VmeCcrHUAL","stringTimeField":"17:03:18.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":-234,"numField":684.9763423924387,"stringDateField":"2005-01-11","stringDateTimeField":"1910-09-10T09:58:55Z","stringField":"VmeCcrHUAL","stringTimeField":"17:03:18.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2307,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2307,"uuid":"9e0a899c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UUyfFAZGxY"],"boolField":true,"intField":525,"numField":891.9840764728715,"objField":{"TFqIumsaJ":1433284023448869757,"edAQjIRL":-4472525137826446571,"xMgU":-4444987428506399691},"stringDateField":"1997-04-17","stringDateTimeField":"1988-09-28T13:58:32Z","stringField":"vzUZQytRp","stringTimeField":"04:44:48.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":525,"numField":891.9840764728715,"stringDateField":"1997-04-17","stringDateTimeField":"1988-09-28T13:58:32Z","stringField":"vzUZQytRp","stringTimeField":"04:44:48.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2308,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2308,"uuid":"9e0a899c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["yvOB","zUqGsiR","zkYXlJTY","TQoGFTld","sVCpYYLWg","wbFxvi","cYbuj"],"boolField":false,"intField":898,"numField":-814.8812674729927,"objField":{"EnUrYJT":-2437778051267704549,"VTwBgh":-1203260360653934617,"ZcGUJBur":-2716306111894954845,"ajFwJGvz":3878390578809589667,"cBAbIc":-7296602021712350328,"jxbv":-6995705865530472073,"rSWqv":4324890168637822791,"rYwVJvn":538346759201819465,"zjWaEAy":5609467311314413955},"stringDateField":"1960-08-22","stringDateTimeField":"1977-12-21T15:20:57Z","stringField":"vuEy","stringTimeField":"15:03:36.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":898,"numField":-814.8812674729927,"stringDateField":"1960-08-22","stringDateTimeField":"1977-12-21T15:20:57Z","stringField":"vuEy","stringTimeField":"15:03:36.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2309,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2309,"uuid":"9e0a899c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["eBpPzTWIA","OVktEkSgXs","ztvL"],"boolField":true,"intField":990,"numField":-470.2635620356329,"objField":{"OaTeMEZtFL":7129449078072410829},"stringDateField":"2010-06-01","stringDateTimeField":"1995-05-03T16:51:00Z","stringField":"XxhyODQ","stringTimeField":"15:13:50.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":990,"numField":-470.2635620356329,"stringDateField":"2010-06-01","stringDateTimeField":"1995-05-03T16:51:00Z","stringField":"XxhyODQ","stringTimeField":"15:13:50.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2310,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2310,"uuid":"9e0a899c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["vyaIekM","dTIBSQ","TUKYYMPk","YROsGDWPal","slzZm","iixf"],"boolField":true,"intField":364,"numField":571.885622057647,"objField":{"WEoKVXGYXL":7273306057403162682,"dGUGK":-5351839513685018344},"stringDateField":"1937-02-10","stringDateTimeField":"1925-01-24T05:02:47Z","stringField":"ZOEJ","stringTimeField":"01:06:58.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":364,"numField":571.885622057647,"stringDateField":"1937-02-10","stringDateTimeField":"1925-01-24T05:02:47Z","stringField":"ZOEJ","stringTimeField":"01:06:58.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2311,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2311,"uuid":"9e0a899c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["qLdR","yCosR","qyicgV","GLXz","oqaUJ","LTsQ","gmbUgW","xHuvbf","YMsuQSld"],"boolField":false,"intField":386,"numField":595.881405944579,"objField":{"CMZdOj":6396988241793312375,"KivSoM":3810630923555926904,"PTdaqVDDj":7954529802818701234,"WLCPzNqxv":-4835939298320784059,"XRVkHSKN":293344201321445241,"XZbsgp":-3177614700535800983,"iainO":-1104109422801099257,"tiYBNC":5806989792147017499,"uzIhm":-8360125051986920758,"ylDaQj":-8688788853981225246},"stringDateField":"1958-07-02","stringDateTimeField":"1969-08-11T02:46:29Z","stringField":"iXaxNrp","stringTimeField":"04:40:07.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":386,"numField":595.881405944579,"stringDateField":"1958-07-02","stringDateTimeField":"1969-08-11T02:46:29Z","stringField":"iXaxNrp","stringTimeField":"04:40:07.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2312,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2312,"uuid":"9e0a899c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["GvdUSqmkO","DyLLsLw","bGvgumVt","YxEqDaK"],"boolField":false,"intField":498,"numField":516.3369646009912,"objField":{"DxDuZ":8480876504782876145,"JtWPpPREMS":7067749923836488077,"JxMfQuho":1628499730444079651,"QePEkkh":-7718303972676750441,"SocIUId":2337612490766226659,"bfbOuCsaC":5963957152804502189,"cGsI":8063956001570760104,"rvKDggFs":7506393379203483907},"stringDateField":"2015-10-11","stringDateTimeField":"1958-07-04T07:20:28Z","stringField":"ensii","stringTimeField":"02:21:02.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":498,"numField":516.3369646009912,"stringDateField":"2015-10-11","stringDateTimeField":"1958-07-04T07:20:28Z","stringField":"ensii","stringTimeField":"02:21:02.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2313,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2313,"uuid":"9e0a899c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["bAUd","ocmhf","rtLHR","bGGrZVmru","kZzqf","BMGbefAQ"],"boolField":true,"intField":836,"numField":-950.1770062602708,"objField":{"gTgzVZZEiI":-5335472801267031008,"jJDWvKbFT":8545359882704071947},"stringDateField":"1976-03-07","stringDateTimeField":"1971-05-10T14:38:55Z","stringField":"JuCk","stringTimeField":"02:27:52.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":836,"numField":-950.1770062602708,"stringDateField":"1976-03-07","stringDateTimeField":"1971-05-10T14:38:55Z","stringField":"JuCk","stringTimeField":"02:27:52.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2314,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2314,"uuid":"9e0a899c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["zNuD","PtrioyXbq","zlEFN","JWHvggHYji","qySgqIWu","bIBmCT","TgSWqASuiU"],"boolField":false,"intField":-846,"numField":-476.26566106994784,"objField":{"AXCP":-2816599283693650019,"IKAYKj":-2835052263256609024},"stringDateField":"1986-03-02","stringDateTimeField":"1912-11-28T18:18:27Z","stringField":"huvnHzrGHU","stringTimeField":"15:05:20.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":-846,"numField":-476.26566106994784,"stringDateField":"1986-03-02","stringDateTimeField":"1912-11-28T18:18:27Z","stringField":"huvnHzrGHU","stringTimeField":"15:05:20.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2315,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2315,"uuid":"9e0a899c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["dCXVpXBfz"],"boolField":false,"intField":-796,"numField":379.45658325917987,"objField":{"ATAMkzbIlF":5119291939087342235,"FHhdi":-6796944480343054921,"FgyB":-3270315373792136391,"KFErIg":-7632411567789086898,"NbUixQ":5575332579690009159,"ecwk":-3738545202436952680,"gQzhei":-4426906973802619337,"pdwMaUkSJX":-5568081781314383374},"stringDateField":"2010-12-26","stringDateTimeField":"1996-02-21T16:45:09Z","stringField":"gJHoWncrEl","stringTimeField":"15:14:39.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":-796,"numField":379.45658325917987,"stringDateField":"2010-12-26","stringDateTimeField":"1996-02-21T16:45:09Z","stringField":"gJHoWncrEl","stringTimeField":"15:14:39.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2316,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2316,"uuid":"9e0a899c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["EeAV","nhwZeu","RjGkwRP","kQFccQBwtx"],"boolField":false,"intField":-54,"numField":-628.6637127956868,"objField":{"FAmqE":-3848390921366859286,"PtGUURkhDF":1250761968322348244,"QXgumc":4276783194615328833,"oUNra":-120869231131120162},"stringDateField":"2021-01-30","stringDateTimeField":"2015-05-04T20:22:29Z","stringField":"aKpym","stringTimeField":"01:35:11.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":-54,"numField":-628.6637127956868,"stringDateField":"2021-01-30","stringDateTimeField":"2015-05-04T20:22:29Z","stringField":"aKpym","stringTimeField":"01:35:11.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2317,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2317,"uuid":"9e0a899c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["aKkgW","txiVV","WWUsAPjePy","dpJbAhuQCy","nqOjg","gYtIpIXE","weoRB","Gqnyh"],"boolField":false,"intField":-609,"numField":10.367189843973224,"objField":{"CRPgC":4539994830250835319,"MMRomWm":-8158434534204176943,"MYBHnKL":-102284244197172775,"NUGOoExkj":-4909760977124682389,"hJuvFNna":-1751959436815041830,"pCtLEJZ":8021864871057252115,"vIVw":-4689898801135299722,"xewvqbSwTd":-3935036493974313704},"stringDateField":"1913-09-18","stringDateTimeField":"2016-04-07T03:28:33Z","stringField":"NlsKDCrpd","stringTimeField":"08:43:06.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":-609,"numField":10.367189843973224,"stringDateField":"1913-09-18","stringDateTimeField":"2016-04-07T03:28:33Z","stringField":"NlsKDCrpd","stringTimeField":"08:43:06.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2318,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2318,"uuid":"9e0a899c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["zYBzbu","tKOnSRGveA","UjFHlVu","ERpKqeYx","yiqXvN","ipcETWqgV","MlFG","iIphRx"],"boolField":false,"intField":-83,"numField":19.108765075500855,"objField":{"cPOr":6565667317992797183,"idUFZ":-4200514243298247838,"yQmMA":-948344601985382804},"stringDateField":"1917-07-16","stringDateTimeField":"2022-05-10T04:28:14Z","stringField":"bdqmq","stringTimeField":"22:22:35.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":-83,"numField":19.108765075500855,"stringDateField":"1917-07-16","stringDateTimeField":"2022-05-10T04:28:14Z","stringField":"bdqmq","stringTimeField":"22:22:35.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2319,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2319,"uuid":"9e0a899c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["sZQqYWl","RxMk","YkNCcs","lTEDJGPam","ITub","BksKr"],"boolField":true,"intField":647,"numField":-19.460215458669495,"objField":{"FgKjuju":-8293319041695786838,"htBip":-2104608437091111595,"juetKquiDk":-4859189383427302797},"stringDateField":"1969-11-12","stringDateTimeField":"1908-05-03T10:08:11Z","stringField":"rOTlX","stringTimeField":"23:21:13.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":647,"numField":-19.460215458669495,"stringDateField":"1969-11-12","stringDateTimeField":"1908-05-03T10:08:11Z","stringField":"rOTlX","stringTimeField":"23:21:13.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2320,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2320,"uuid":"9e0a899c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["rDcNKN","EbBbMIdu"],"boolField":true,"intField":-790,"numField":877.4262248690499,"objField":{"MSlueK":-6027107050245715518,"YBvmrRw":-4061635669643123086},"stringDateField":"1916-06-21","stringDateTimeField":"1911-07-17T00:04:38Z","stringField":"bezUygRl","stringTimeField":"12:05:21.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":-790,"numField":877.4262248690499,"stringDateField":"1916-06-21","stringDateTimeField":"1911-07-17T00:04:38Z","stringField":"bezUygRl","stringTimeField":"12:05:21.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2321,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2321,"uuid":"9e0a899c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["yHmdyBE","RMCLMh","uFFIoMET","ECmeXXV","SRZo","dLQiRN","YtQnNT","ceRpnV","VosmDAHbNn"],"boolField":true,"intField":997,"numField":-908.6302941177628,"objField":{"NJvWjpNQoQ":-90849045328346533,"NeXNMmAQI":3653646096999673577,"UkBWJbu":-3505574583640820737,"VHYfgP":4173278055000596176,"VmRqKS":-3128934611315253751,"cdwJZbQ":3475455280275936242,"eWGaPEvyiV":9218374976775421496,"mvCqzdAvak":-90067530391140134,"wySbMKNq":4106229693219194912,"xjOOpho":4584351237939953729},"stringDateField":"2007-01-22","stringDateTimeField":"1950-03-26T09:24:18Z","stringField":"GZNxQYTLS","stringTimeField":"22:08:15.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763676Z","intField":997,"numField":-908.6302941177628,"stringDateField":"2007-01-22","stringDateTimeField":"1950-03-26T09:24:18Z","stringField":"GZNxQYTLS","stringTimeField":"22:08:15.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2322,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2322,"uuid":"9e0a899d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wfVnvgkF","HMaUzFqj"],"boolField":false,"intField":816,"numField":967.8636091428176,"objField":{"IoESKWqcUv":291899775119967991,"JdfGSE":-4581288839773561195,"MJOXx":-754910790835783116,"OHiKKWDuwp":-256961999313021446,"OteEInYFq":2657046701437752964,"QrKsdgMzki":-6349173534762790699,"XgWtluZ":-109541902507250458},"stringDateField":"1984-05-21","stringDateTimeField":"1985-07-17T21:38:39Z","stringField":"LBnUabsYAu","stringTimeField":"14:17:21.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":816,"numField":967.8636091428176,"stringDateField":"1984-05-21","stringDateTimeField":"1985-07-17T21:38:39Z","stringField":"LBnUabsYAu","stringTimeField":"14:17:21.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2323,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2323,"uuid":"9e0a899d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["BtrVuA","ejNgs","HWJcN","uCPRFzXd","Gpicruk","ttXOkHOPP","BgBjNbJfT","baWUM","poGGdkfVAb","ursFkIJ"],"boolField":false,"intField":-876,"numField":622.4099805966639,"objField":{"ICOwGxoCju":3607656810263394292,"TYFh":-4938568291830833955,"WKtex":-4222673663621912730,"ibcGayRW":483137806461417733,"oQgL":-6252561025742872136,"pnLT":1463376871073800739,"wcawgh":-9096147338964476209,"yxDnLXxVu":7136889062286525324},"stringDateField":"1932-09-02","stringDateTimeField":"1914-10-10T15:43:49Z","stringField":"gNIowrKr","stringTimeField":"08:17:09.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":-876,"numField":622.4099805966639,"stringDateField":"1932-09-02","stringDateTimeField":"1914-10-10T15:43:49Z","stringField":"gNIowrKr","stringTimeField":"08:17:09.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2324,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2324,"uuid":"9e0a899d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["FZMxon","mvYazIX","ODOCVknwYw","llhWRvF","gHJmZQTpI","MqCJsqYBm"],"boolField":false,"intField":135,"numField":460.3456396853505,"objField":{"FhfzDXFMga":8540764489505496795,"MXHG":6975470893182950049,"MmozPj":6819155071475273424,"QPDIxGvTfb":-2623866016623424344,"TZCPYWVNeE":9011732361152233367,"UAALmw":6947939317158519527,"cqTp":-2180339201165964182,"jHxTuyOnfM":723489748047961366,"rEvNmLwe":7386478692251638527,"rPfzhtlmc":8492099342228662891},"stringDateField":"1915-07-07","stringDateTimeField":"1919-06-05T18:50:04Z","stringField":"RCMpuWUa","stringTimeField":"22:15:35.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":135,"numField":460.3456396853505,"stringDateField":"1915-07-07","stringDateTimeField":"1919-06-05T18:50:04Z","stringField":"RCMpuWUa","stringTimeField":"22:15:35.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2325,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2325,"uuid":"9e0a899d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["vIJYjmo","hgIkfbkNU","TFmKebQ","FtbdvmgZkS","aFkym","hNoEnVwJ","OUSxiiP","eCmE","wBJo"],"boolField":true,"intField":-856,"numField":750.8061129629784,"objField":{"EDgjV":-2922998460980578940,"ESVGxHh":4201621530740582374,"gJAiJu":-4712420987314682648},"stringDateField":"1906-06-24","stringDateTimeField":"1904-05-14T23:48:58Z","stringField":"fgskEBo","stringTimeField":"06:34:53.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":-856,"numField":750.8061129629784,"stringDateField":"1906-06-24","stringDateTimeField":"1904-05-14T23:48:58Z","stringField":"fgskEBo","stringTimeField":"06:34:53.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2326,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2326,"uuid":"9e0a899d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["LKOzhLnnA","EPkjGbIvEM","OsLplVpwQQ","wUpqEmIJ","jFweWAdn","OGtg","QdsbkRWrY"],"boolField":true,"intField":-699,"numField":6.836359288112215,"objField":{"KsfnnWyma":-215508604344707935,"LApCO":4302326218082686899,"lGFq":5709419590898937561},"stringDateField":"2004-08-12","stringDateTimeField":"1989-12-05T22:43:26Z","stringField":"iqqQd","stringTimeField":"04:12:40.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":-699,"numField":6.836359288112215,"stringDateField":"2004-08-12","stringDateTimeField":"1989-12-05T22:43:26Z","stringField":"iqqQd","stringTimeField":"04:12:40.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2327,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2327,"uuid":"9e0a899d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["HSYpRtGr","JfXPfIyF","yXcdJST","mDuZWJrjW","QaRQa"],"boolField":true,"intField":998,"numField":103.92046874418504,"objField":{"BXQKznMj":4247745790853525811,"KCvZYlXZ":-1881631477914894878,"Nxic":5290784573307437573,"PjtsETdq":8794232501127778457,"aDCvyeYAP":7267951791515083038,"vlwtWLP":4822645498771958643},"stringDateField":"1980-11-11","stringDateTimeField":"1976-10-09T19:37:48Z","stringField":"MkzjHI","stringTimeField":"04:47:00.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":998,"numField":103.92046874418504,"stringDateField":"1980-11-11","stringDateTimeField":"1976-10-09T19:37:48Z","stringField":"MkzjHI","stringTimeField":"04:47:00.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2328,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2328,"uuid":"9e0a899d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["tIKeihsmfh","eEtOzLEmV","TRtqA","GwfNnBHeb"],"boolField":true,"intField":-637,"numField":-156.3538784234313,"objField":{"uQVfTAaomJ":3827120455385487667},"stringDateField":"1911-03-14","stringDateTimeField":"2012-12-23T21:53:33Z","stringField":"MQSLNcE","stringTimeField":"16:37:04.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":-637,"numField":-156.3538784234313,"stringDateField":"1911-03-14","stringDateTimeField":"2012-12-23T21:53:33Z","stringField":"MQSLNcE","stringTimeField":"16:37:04.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2329,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2329,"uuid":"9e0a899d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["zfHAUkRs","oyTgerpbh"],"boolField":true,"intField":527,"numField":-639.1075236636885,"objField":{"BQObbNSp":4685918260563292211,"DiJYVtPDqQ":5275776684822446978,"JuFIrYqNh":-5516310292171873701,"KMupfPE":1510028093851872766,"LEzcbnupOH":-4162908857241137279,"TMbPSlHwQh":6850278449182360607,"cDTQGN":5896778403124671774,"oNfJmj":2381279905052793698},"stringDateField":"1977-04-30","stringDateTimeField":"1928-01-21T12:46:11Z","stringField":"OFgtdWLWT","stringTimeField":"05:12:20.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":527,"numField":-639.1075236636885,"stringDateField":"1977-04-30","stringDateTimeField":"1928-01-21T12:46:11Z","stringField":"OFgtdWLWT","stringTimeField":"05:12:20.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2330,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2330,"uuid":"9e0a899d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["DVrWECCbb","LbEI","yAgZzyVGZ","eKfOCrAX","sEbFEHirk","IzYSM","OUqHttTS","qbdXK","zqOEmDmbwP","QyDdxfVg"],"boolField":true,"intField":876,"numField":-174.30197478094544,"objField":{"LcinkfB":-7567790757220544342,"QqznHuwGgk":6387735390819737342},"stringDateField":"2020-11-01","stringDateTimeField":"1924-02-10T17:44:57Z","stringField":"eFCcT","stringTimeField":"21:41:13.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":876,"numField":-174.30197478094544,"stringDateField":"2020-11-01","stringDateTimeField":"1924-02-10T17:44:57Z","stringField":"eFCcT","stringTimeField":"21:41:13.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2331,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2331,"uuid":"9e0a899d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["jNOg"],"boolField":false,"intField":-43,"numField":43.52475437550174,"objField":{"CaXHYxBBvu":-114391279418821721,"nnTCJVl":6267829035100218515,"nvCyxkKDv":-6584955637220127452,"qwhAGxyDBj":8716513082058420756,"sHTBTFChNR":-7377127352154904371,"yzbFgr":-760760113817146387},"stringDateField":"1998-04-19","stringDateTimeField":"1968-03-02T16:37:25Z","stringField":"DFBOlIK","stringTimeField":"12:09:11.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":-43,"numField":43.52475437550174,"stringDateField":"1998-04-19","stringDateTimeField":"1968-03-02T16:37:25Z","stringField":"DFBOlIK","stringTimeField":"12:09:11.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2332,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2332,"uuid":"9e0a899d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["UeOu","qBlZZFX","IaskJZFUl","UaYZZGpLo","jpnENKteW","xjXjDJmGw","BssaB","nSYWQ","YSvJ"],"boolField":false,"intField":823,"numField":987.847813602955,"objField":{"NHgffzyzDz":-6735375204577350708,"ScCgkG":2300638683000606377,"WxSL":2546665823044582437,"XDAK":-6701718632452331797,"hzBeBmXaM":-4148574029517808610,"iomEXYgN":8485086755085642569,"qyEXupLGpQ":3848130711282636919},"stringDateField":"1996-12-11","stringDateTimeField":"1982-03-21T10:41:44Z","stringField":"liBFO","stringTimeField":"20:24:10.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":823,"numField":987.847813602955,"stringDateField":"1996-12-11","stringDateTimeField":"1982-03-21T10:41:44Z","stringField":"liBFO","stringTimeField":"20:24:10.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2333,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2333,"uuid":"9e0a899d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["bllD","mBhnMvQId","lQAiyy","Opvp","JKqGMjB","Aoljv","dLIi"],"boolField":true,"intField":-691,"numField":768.7055012142838,"objField":{"BMItKOt":7571798769764708824,"BTgOh":-5245986191584281817,"KpwyeDL":5827673050458827765,"NKzrD":9032500440193499630,"TBHGSOmOw":316107711076333786,"bwSPerriI":1528432483348415861,"iMAztnFMgv":-638285207308977635,"oumaMHDCG":-484601130392803962,"vFpzC":-6222912984649257653},"stringDateField":"1969-04-16","stringDateTimeField":"1928-12-16T03:45:54Z","stringField":"RVHQqIB","stringTimeField":"11:24:35.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":-691,"numField":768.7055012142838,"stringDateField":"1969-04-16","stringDateTimeField":"1928-12-16T03:45:54Z","stringField":"RVHQqIB","stringTimeField":"11:24:35.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2334,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2334,"uuid":"9e0a899d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["PVugCt","MLabEs","KfOv","KbnFqqGB","tIxJpz","CaIk","pituhohH"],"boolField":true,"intField":-503,"numField":-278.7613598651192,"objField":{"HrXHWWyURS":-8813451623209204017,"JOaKypGQ":-5342837639231101767,"OtvleVCtCx":4231808735791063170,"UnBBtUcpC":1628551299288714517,"sezmndhJR":4889055124068218329},"stringDateField":"2019-05-09","stringDateTimeField":"2021-05-17T16:36:44Z","stringField":"EnqFWBk","stringTimeField":"19:23:32.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":-503,"numField":-278.7613598651192,"stringDateField":"2019-05-09","stringDateTimeField":"2021-05-17T16:36:44Z","stringField":"EnqFWBk","stringTimeField":"19:23:32.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2335,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2335,"uuid":"9e0a899d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["dItDcg","ySOdEUkEN","GdAeJndEGT","lBkIo","nzsMDGRLo","mOIVcL"],"boolField":false,"intField":898,"numField":244.68887538598727,"objField":{"RkOYEPRC":-3814795000202487618,"SIfogcDGd":2020796456049064487},"stringDateField":"1999-03-02","stringDateTimeField":"2003-07-31T15:36:58Z","stringField":"rpDIPtl","stringTimeField":"01:23:30.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":898,"numField":244.68887538598727,"stringDateField":"1999-03-02","stringDateTimeField":"2003-07-31T15:36:58Z","stringField":"rpDIPtl","stringTimeField":"01:23:30.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2336,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2336,"uuid":"9e0a899d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["IOqdTsMtWS","JyoHqjvCIz","YbdnYOj","KpGnY"],"boolField":true,"intField":676,"numField":-180.4542635478823,"objField":{"fMUAryF":2320185728548638021},"stringDateField":"1963-08-12","stringDateTimeField":"1932-09-20T06:34:34Z","stringField":"sOGdMi","stringTimeField":"02:45:00.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":676,"numField":-180.4542635478823,"stringDateField":"1963-08-12","stringDateTimeField":"1932-09-20T06:34:34Z","stringField":"sOGdMi","stringTimeField":"02:45:00.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2337,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2337,"uuid":"9e0a899d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["rCnWYnbILo","wWTISMIVAw","BkKkKYTtJ","PjKa"],"boolField":true,"intField":-899,"numField":683.1364564358348,"objField":{"EsAGS":3302523578481902984,"GWhkoY":363153292699571784,"StXYPN":1013833859828774362},"stringDateField":"1982-02-02","stringDateTimeField":"1977-03-20T08:19:26Z","stringField":"hVQMaJmsy","stringTimeField":"18:56:28.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763677Z","intField":-899,"numField":683.1364564358348,"stringDateField":"1982-02-02","stringDateTimeField":"1977-03-20T08:19:26Z","stringField":"hVQMaJmsy","stringTimeField":"18:56:28.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2338,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2338,"uuid":"9e0a899e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["AKPtGpTj","BCwj","uvwyrKrZYb","KTStl","IGjw","INhQHiB","nxTudUDHi","cBdCILD"],"boolField":true,"intField":-667,"numField":822.7406159387607,"objField":{"KNToEYflRF":-7825356728756005187,"ORmIbw":7407854255100389126,"WkYkzqSVPj":4614811825160737028,"fcKk":-9115605075844291215,"zblLwp":-7314779041467313501},"stringDateField":"1989-05-20","stringDateTimeField":"2003-07-14T17:11:13Z","stringField":"TWFy","stringTimeField":"17:29:45.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":-667,"numField":822.7406159387607,"stringDateField":"1989-05-20","stringDateTimeField":"2003-07-14T17:11:13Z","stringField":"TWFy","stringTimeField":"17:29:45.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2339,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2339,"uuid":"9e0a899e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["RmSVfmLiOR"],"boolField":false,"intField":611,"numField":0.5566059152100067,"objField":{"DyorUzhAYn":-4973579702868477020,"EuEKNF":-1083564370121652605,"JlJshD":25700145675243227,"YgKLby":1634667823280767336,"aUbM":1618204556857459001,"cjWBtnq":901841098702134886,"qQpsUR":2739104620316213685,"wlFd":-7228797595916713155},"stringDateField":"1963-06-17","stringDateTimeField":"1921-09-13T12:15:14Z","stringField":"RKhS","stringTimeField":"07:39:57.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":611,"numField":0.5566059152100067,"stringDateField":"1963-06-17","stringDateTimeField":"1921-09-13T12:15:14Z","stringField":"RKhS","stringTimeField":"07:39:57.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2340,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2340,"uuid":"9e0a899e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["puFZs","AHYmjiew","hpjPQMO","UNEEG"],"boolField":false,"intField":84,"numField":-368.8240964963169,"objField":{"VyPBVK":8894868164023373835,"anyJghzmYk":7588582245101508274,"bzxPcoLbG":2951224763179228977,"cHRgBPWjK":6640205353836653183,"kOjWrCzCCr":7196424789301488038},"stringDateField":"1936-06-05","stringDateTimeField":"2018-02-25T12:16:21Z","stringField":"Uizrkoe","stringTimeField":"16:28:29.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":84,"numField":-368.8240964963169,"stringDateField":"1936-06-05","stringDateTimeField":"2018-02-25T12:16:21Z","stringField":"Uizrkoe","stringTimeField":"16:28:29.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2341,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2341,"uuid":"9e0a899e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["tFlGp","ZFjHXzlYlw","gFoKFfj"],"boolField":false,"intField":611,"numField":163.6802991603925,"objField":{"AgnGT":8393684173102339450,"QtOZwHJY":6993910321692595534,"USTzQzgn":-8180266125420869305,"aImF":1360230887306373857,"hIeywvtssM":-6042863987482473234,"pNQxkLt":8239417156698745928,"rEtq":6431182470403001926,"uXsDgeSpN":7908195855637372029},"stringDateField":"2021-02-08","stringDateTimeField":"1986-09-13T10:11:09Z","stringField":"EEQDHG","stringTimeField":"21:03:02.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":611,"numField":163.6802991603925,"stringDateField":"2021-02-08","stringDateTimeField":"1986-09-13T10:11:09Z","stringField":"EEQDHG","stringTimeField":"21:03:02.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2342,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2342,"uuid":"9e0a899e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["iVNsPWinv","bylGpi","gIxGY","OeQru","hMycYjm","OSiaO","IlcpFS","nNehIAeW","DZhmRtQoeg","CCurX"],"boolField":true,"intField":6,"numField":277.6111479541683,"objField":{"DtZUbh":8317800313416467103,"FKeFfWTK":-2598562823297732490,"JXZxd":8134834821821115040,"WHimtUC":-437317245016297865,"dpUuXpsj":-2769881874052781287,"lhvFySGhn":8769984256828830612,"oFFHNj":2896534963543211980,"oWzQsjW":8195378803185889193,"tzOIN":-8091408646848268251,"wctkh":-676292324477711531},"stringDateField":"1904-05-14","stringDateTimeField":"1994-03-29T05:58:51Z","stringField":"OmrFVDPNBu","stringTimeField":"17:22:42.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":6,"numField":277.6111479541683,"stringDateField":"1904-05-14","stringDateTimeField":"1994-03-29T05:58:51Z","stringField":"OmrFVDPNBu","stringTimeField":"17:22:42.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2343,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2343,"uuid":"9e0a899e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["PUUjI","nTIqHQaZ","AiIVxGgUG","bUpnBCt","aoSyJh"],"boolField":true,"intField":-11,"numField":-8.205980329350382,"objField":{"OClwciXt":6226039073529136471,"QwxgcgVw":115146566110933185,"WHSoalQH":-6301549517821005114,"WbXqsEeO":-8802931940632225708,"ZfMNi":1128081287698144303,"eGen":-9034990080781580170,"mwFoHPMUb":-36623653768670406},"stringDateField":"1995-08-23","stringDateTimeField":"1968-11-22T07:38:35Z","stringField":"dUhDCN","stringTimeField":"03:00:41.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":-11,"numField":-8.205980329350382,"stringDateField":"1995-08-23","stringDateTimeField":"1968-11-22T07:38:35Z","stringField":"dUhDCN","stringTimeField":"03:00:41.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2344,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2344,"uuid":"9e0a899e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["qTbmlReh","zAwkiXP","ERJpUvSOp","sgYStbayO","rtiOvTMdKW","VnSN","SsUcjwl","HhtLGl"],"boolField":false,"intField":-587,"numField":-882.8085217559185,"objField":{"DpcCqyqBh":-1363069612625703067,"FesuOJb":5929634112279375111},"stringDateField":"2013-03-19","stringDateTimeField":"2007-01-10T19:32:04Z","stringField":"bFtHOqX","stringTimeField":"22:18:35.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":-587,"numField":-882.8085217559185,"stringDateField":"2013-03-19","stringDateTimeField":"2007-01-10T19:32:04Z","stringField":"bFtHOqX","stringTimeField":"22:18:35.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2345,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2345,"uuid":"9e0a899e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["WuLEmH","Kqjfcb","sOCld","cxVHUXkE","dTqFkKre","bummQwFf","OMfwZDOT","UuVM","kedMaD"],"boolField":true,"intField":515,"numField":982.7499576229984,"objField":{"FwsLz":-5882153437061925200,"UXhpygF":6890877849849952062,"kdkUyWMKS":2776149850452146605},"stringDateField":"1929-11-21","stringDateTimeField":"1993-10-07T22:51:40Z","stringField":"wNRHzCtf","stringTimeField":"18:21:08.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":515,"numField":982.7499576229984,"stringDateField":"1929-11-21","stringDateTimeField":"1993-10-07T22:51:40Z","stringField":"wNRHzCtf","stringTimeField":"18:21:08.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2346,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2346,"uuid":"9e0a899e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["EJTm","Heen","OqyKGcqB","MnsPBA","ANEXCzZT","XtoeHykuaA","MxjRQhFH"],"boolField":false,"intField":-172,"numField":925.537956059966,"objField":{"DavNATwQbl":-8526539233691469844,"PSEq":-4177752785063515229,"cZWxn":1625705613930240122,"kPGCIZXacd":-5452140446150717159,"mPdoN":4834924469521627459,"qhApfwlieZ":1198509255838088137},"stringDateField":"1974-07-23","stringDateTimeField":"2016-01-05T09:10:59Z","stringField":"rIJsgna","stringTimeField":"18:46:51.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":-172,"numField":925.537956059966,"stringDateField":"1974-07-23","stringDateTimeField":"2016-01-05T09:10:59Z","stringField":"rIJsgna","stringTimeField":"18:46:51.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2347,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2347,"uuid":"9e0a899e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["QlyiHIEqrW","AsYnMcCTE","vsDNEeVXx","rCvq"],"boolField":false,"intField":-927,"numField":163.3370608303788,"objField":{"EzpTWP":562081271054731169,"NcPUz":310746105577038839,"RYxsmrE":4105040589777027020,"WMOJfD":-4398970908048575154,"WSzJj":-6108882915829961823,"WVOFjMUIJ":854915475224052933,"rQOsuM":323173740790419193,"uqlGsxzfY":4254877667120552966,"vtRYpQaCh":-6831877589146341393,"wqLILPqv":-1384538940626742846},"stringDateField":"1917-11-10","stringDateTimeField":"1914-03-07T15:02:09Z","stringField":"oqeMMhrV","stringTimeField":"08:22:10.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":-927,"numField":163.3370608303788,"stringDateField":"1917-11-10","stringDateTimeField":"1914-03-07T15:02:09Z","stringField":"oqeMMhrV","stringTimeField":"08:22:10.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2348,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2348,"uuid":"9e0a899e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["MtjZ","DPSimCZHib","HGaFoBF","ZYhmS","YFaDUehLj","AUgUHKspKU","KHpDun","deWTOscVFS","sqOFtY","sidtDLu"],"boolField":true,"intField":494,"numField":85.79885210384997,"objField":{"OTAMQh":1750758792493714853,"cmRR":-1730238358971177607,"inPfMy":-1816975988052556507,"kTJwINfzN":-4889930433677311500,"mztcGiV":-1548344499119444077,"thNjqHjbeZ":-1068819947511284347,"uLdMTAOAr":-6201348684215887773},"stringDateField":"1908-06-10","stringDateTimeField":"1908-07-18T09:10:51Z","stringField":"iYggkCAUw","stringTimeField":"22:41:18.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":494,"numField":85.79885210384997,"stringDateField":"1908-06-10","stringDateTimeField":"1908-07-18T09:10:51Z","stringField":"iYggkCAUw","stringTimeField":"22:41:18.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2349,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2349,"uuid":"9e0a899e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["nbTiASRu","PASbNso","NEeGqVKZz","muttmMuad"],"boolField":true,"intField":925,"numField":-893.2406228719364,"objField":{"lVBOuW":7243605744710346426,"oaGUn":-6904809719533822217,"weFHFb":-6255223909896955114},"stringDateField":"1914-08-05","stringDateTimeField":"1962-07-23T16:13:58Z","stringField":"krCOoy","stringTimeField":"16:40:45.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":925,"numField":-893.2406228719364,"stringDateField":"1914-08-05","stringDateTimeField":"1962-07-23T16:13:58Z","stringField":"krCOoy","stringTimeField":"16:40:45.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2350,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2350,"uuid":"9e0a899e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["XAKGCHVJZ","YRUS","iWlqNop","DPHM"],"boolField":true,"intField":-922,"numField":-292.0504792675525,"objField":{"ZhcBmKl":41687278949180923,"Zhip":-6009183452831816090,"bpNwV":5258915979938582683,"fXzZ":-9144378489714663527,"hCnpZet":1231221750946312403,"nJULAPzSc":-1001719983384959971,"pNtEbspNRF":2322863695234580004,"vtWob":3459459834584805577},"stringDateField":"1961-04-28","stringDateTimeField":"1977-04-19T01:15:30Z","stringField":"RqMzAUh","stringTimeField":"09:29:51.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":-922,"numField":-292.0504792675525,"stringDateField":"1961-04-28","stringDateTimeField":"1977-04-19T01:15:30Z","stringField":"RqMzAUh","stringTimeField":"09:29:51.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2351,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2351,"uuid":"9e0a899e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["AlGYkXZhC"],"boolField":false,"intField":508,"numField":-438.4553620886419,"objField":{"TwlfBisXjn":261113576171143501,"VnXiO":-7930407235168675811,"eYWPbV":4486537644481613995,"oRQIbyMl":2753668604125128987,"pDCNSEqkfI":444145934466713509,"pmDdkuTZdO":8136542734829130447,"ySoU":-4500933063382606109},"stringDateField":"1987-03-03","stringDateTimeField":"1986-02-26T14:54:36Z","stringField":"fTTQ","stringTimeField":"16:52:20.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":508,"numField":-438.4553620886419,"stringDateField":"1987-03-03","stringDateTimeField":"1986-02-26T14:54:36Z","stringField":"fTTQ","stringTimeField":"16:52:20.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2352,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2352,"uuid":"9e0a899e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["SsUFhETc","fXWAyj","prmWDUOn","OxNdzdYF","pOXHScDnCW","uiCor","FYGOoYgkDw","bUFNWIJ","odOVHLqVY"],"boolField":false,"intField":579,"numField":-974.4845380336504,"objField":{"EYGPhoek":1498471294991670050,"HBslXvKJml":-1644318682011484798,"QFtOVnVS":11183254855190752,"YBujXGQ":3796774935608943480,"yIoNg":2919265020456319594},"stringDateField":"1944-06-25","stringDateTimeField":"1960-07-28T04:14:43Z","stringField":"IaqrpkQeG","stringTimeField":"05:09:22.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":579,"numField":-974.4845380336504,"stringDateField":"1944-06-25","stringDateTimeField":"1960-07-28T04:14:43Z","stringField":"IaqrpkQeG","stringTimeField":"05:09:22.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2353,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2353,"uuid":"9e0a899e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["CCcrupaf","VohpXsH","AnlHuzLG","sKaSCfDqsC","ovTuQWdZtc"],"boolField":true,"intField":408,"numField":-511.05928345153137,"objField":{"DQbnuKN":-164680659042412498,"HbmVMPHZuy":2816327101205879349,"IBpbAGm":624541560939716020,"SEOR":-354072221708286219,"SkwaeCq":-1120640758127231931,"cANwsQFJ":-8860865419104277319,"hoFiU":-6938011942399472702,"iRHbDgJ":6717582865908428083},"stringDateField":"1920-11-20","stringDateTimeField":"1957-10-19T00:29:10Z","stringField":"xsTc","stringTimeField":"07:15:13.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763678Z","intField":408,"numField":-511.05928345153137,"stringDateField":"1920-11-20","stringDateTimeField":"1957-10-19T00:29:10Z","stringField":"xsTc","stringTimeField":"07:15:13.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2354,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2354,"uuid":"9e0a899f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["lfTNKkA","AVepLSUw","KHvpYvJhCN"],"boolField":true,"intField":-885,"numField":-287.29651347455354,"objField":{"GhdYh":8887856446113735069,"KSTQUJ":-4433655926173189934,"MDufa":2257855146991309016,"VTANEbsn":-7034097145241762935,"WKQQtpH":-3977772728550010074,"XlaIUURL":-3721288292645675504,"awLeG":-3945589082700789897,"bepvYJ":-1213345193058590102,"qUuCki":-6235963426026859394},"stringDateField":"1954-02-18","stringDateTimeField":"2008-01-10T06:51:21Z","stringField":"JQkLxUIy","stringTimeField":"09:18:02.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":-885,"numField":-287.29651347455354,"stringDateField":"1954-02-18","stringDateTimeField":"2008-01-10T06:51:21Z","stringField":"JQkLxUIy","stringTimeField":"09:18:02.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2355,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2355,"uuid":"9e0a899f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["IMeLD","fOlkGLYdX","cBWcAGUDhC","aOPNhDX","eQkkt","xxUmSEFX","ERTRg","VUEbRg","kUCqzuej"],"boolField":false,"intField":37,"numField":154.8758218620467,"objField":{"GoGWOYv":-8851369407581603772,"NQAeXUrn":1118771224137340417,"YfID":-7089683492028997285,"enKPe":1133076885592743276,"zUfm":6500336042549235109},"stringDateField":"1991-01-21","stringDateTimeField":"1996-05-26T16:29:30Z","stringField":"OOGarJR","stringTimeField":"15:58:37.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":37,"numField":154.8758218620467,"stringDateField":"1991-01-21","stringDateTimeField":"1996-05-26T16:29:30Z","stringField":"OOGarJR","stringTimeField":"15:58:37.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2356,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2356,"uuid":"9e0a899f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["mJpICL","FhJPH","VIytJY"],"boolField":true,"intField":-879,"numField":321.66721990818445,"objField":{"RghTih":-1004252624673121709,"hFEnkb":9192140986287468443,"hhPA":-1024492054752320745,"yFZFy":-2580027495144688256},"stringDateField":"2000-01-18","stringDateTimeField":"1978-02-15T23:38:01Z","stringField":"tlYgXXTWug","stringTimeField":"02:14:50.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":-879,"numField":321.66721990818445,"stringDateField":"2000-01-18","stringDateTimeField":"1978-02-15T23:38:01Z","stringField":"tlYgXXTWug","stringTimeField":"02:14:50.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2357,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2357,"uuid":"9e0a899f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["EPlemErHf","yZMqOXqPo","acqgQUyk","FVPJTcXd","hNslLdJ","NSFBZ","JNCVmVVKoB","hLeVqQTIT","iCbsuOs","IKCHxXBZyz"],"boolField":true,"intField":-817,"numField":-663.4086785648512,"objField":{"FYDGRtfQwu":5474443745004632247,"HHPqAtsVb":-3663305054653473224,"KwtFmJj":-1805139542964578049,"UhtBlTA":591708118475551822,"jopMgHGa":-6760305561774283398,"qzsdt":-7543691205517889452,"xGyGJuzPQv":1558294416012402436},"stringDateField":"2014-04-01","stringDateTimeField":"1966-11-10T11:14:09Z","stringField":"rVuEEcS","stringTimeField":"00:29:48.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":-817,"numField":-663.4086785648512,"stringDateField":"2014-04-01","stringDateTimeField":"1966-11-10T11:14:09Z","stringField":"rVuEEcS","stringTimeField":"00:29:48.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2358,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2358,"uuid":"9e0a899f-5655-11ee-9001-675ed0f8e89b"},"arrayField":["zAgKMtB"],"boolField":false,"intField":-531,"numField":-879.5326912945526,"objField":{"BfSwajhGIS":-9112166084323461453,"CNBVbvY":-6954223544493723748,"EEamnyOfkw":-6156696132791002567,"UAkx":4765036785338955536,"XvIKeOWYk":6589480003399321312,"cJvT":-1818741387243481943,"fGTcxLKQ":-6452565781867754586,"ggVYdTzpkx":210911832563090662,"rXWLdSER":6405673280793444322},"stringDateField":"1986-06-16","stringDateTimeField":"1929-10-28T01:35:16Z","stringField":"GHNSsF","stringTimeField":"07:30:59.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":-531,"numField":-879.5326912945526,"stringDateField":"1986-06-16","stringDateTimeField":"1929-10-28T01:35:16Z","stringField":"GHNSsF","stringTimeField":"07:30:59.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2359,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2359,"uuid":"9e0a899f-5655-11ee-9401-675ed0f8e89b"},"arrayField":["QWXf","ShuchbUw"],"boolField":false,"intField":-318,"numField":-998.4927102845348,"objField":{"NyFOhOz":5677510337511337800,"NyplPQ":-1375382366258814622,"VriBI":2376494126684332559,"eLDppXCnEP":6602093647180028406,"fJNaGqKop":2758348768826052788},"stringDateField":"1966-12-11","stringDateTimeField":"1964-12-22T22:11:53Z","stringField":"NKCdiCtkV","stringTimeField":"07:55:30.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":-318,"numField":-998.4927102845348,"stringDateField":"1966-12-11","stringDateTimeField":"1964-12-22T22:11:53Z","stringField":"NKCdiCtkV","stringTimeField":"07:55:30.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2360,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2360,"uuid":"9e0a899f-5655-11ee-9801-675ed0f8e89b"},"arrayField":["lZJQd","uOvFFrJM","EDbDGl","HgUbupkma"],"boolField":true,"intField":-288,"numField":141.64912789369154,"objField":{"HMwIg":7146681108957652528,"OCnJx":3109643655821298408,"OTsjaNOTE":-1626418174111095286,"VIZX":-2414833649450519663,"aTMXXTlF":684406893439136443,"boKNePGLLS":-8205245435073211190,"fwSbgpUuD":7533022203799445809,"jPmR":-9151677637870279499,"uZSJ":-3533366686978497786},"stringDateField":"2002-06-17","stringDateTimeField":"1946-12-13T08:55:35Z","stringField":"rTGZDLXV","stringTimeField":"21:07:45.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":-288,"numField":141.64912789369154,"stringDateField":"2002-06-17","stringDateTimeField":"1946-12-13T08:55:35Z","stringField":"rTGZDLXV","stringTimeField":"21:07:45.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2361,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2361,"uuid":"9e0a899f-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ndWqnhQgrH","GSuGviByu","KliNq","eBQJWMxiZ","uafCga","VmGqkiswq","kuuRMaVRt","mdQPEbv"],"boolField":false,"intField":344,"numField":-241.39370749169808,"objField":{"CeTqqCR":-7338032297768987511,"GsOGfDY":3106620246981479431,"LMREZrrXQ":981187434533410011,"MgkEmJLNL":-4160117000192424093,"UXyh":-7092029119987655265,"dgsBYfMh":7940503323847605648,"gYfPNF":5819402009444091240,"hkrxgihl":98104589859023535,"qWswAf":2996315379869917840,"zteP":4443899661974135307},"stringDateField":"2019-02-25","stringDateTimeField":"2006-10-07T23:59:55Z","stringField":"cEECOaxatL","stringTimeField":"18:16:14.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":344,"numField":-241.39370749169808,"stringDateField":"2019-02-25","stringDateTimeField":"2006-10-07T23:59:55Z","stringField":"cEECOaxatL","stringTimeField":"18:16:14.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2362,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2362,"uuid":"9e0a899f-5655-11ee-a001-675ed0f8e89b"},"arrayField":["RaIefQhDVo","POLLYAgQj"],"boolField":false,"intField":315,"numField":298.3161641976928,"objField":{"DDcmm":-8773569223188779820,"GuGCSLq":7682282035977866502,"JcNmAaHDaQ":-5307425947157134449,"KudLV":-2236570148846462536,"PXxFhhCmuP":-6056313814087899180,"PzepQsUD":2330908135024245396,"RrsygG":4839944452221631562,"cQMz":-2569781680480495308,"gGwfAJXe":-4515540025148382624,"oaAUH":-2652645278241399456},"stringDateField":"1962-12-11","stringDateTimeField":"1944-12-17T22:23:47Z","stringField":"vqvobC","stringTimeField":"09:27:15.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":315,"numField":298.3161641976928,"stringDateField":"1962-12-11","stringDateTimeField":"1944-12-17T22:23:47Z","stringField":"vqvobC","stringTimeField":"09:27:15.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2363,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2363,"uuid":"9e0a899f-5655-11ee-a401-675ed0f8e89b"},"arrayField":["QdTAPzo","aOlTUkZyxK","BkRmfY","cqZSMymk","sxjmWv","ZfDp","qYHdrzM","rHIb"],"boolField":false,"intField":188,"numField":599.1111142020218,"objField":{"FChfOAw":3200765496960539119,"WWklV":-6090511626421263332,"aGDSGhuudR":4468311777655297403,"dUYQ":5264854028007199663,"kHzLbuxtq":-4882553867429497907},"stringDateField":"1919-01-16","stringDateTimeField":"2001-01-01T12:25:36Z","stringField":"TIfqOTrPQJ","stringTimeField":"21:30:45.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":188,"numField":599.1111142020218,"stringDateField":"1919-01-16","stringDateTimeField":"2001-01-01T12:25:36Z","stringField":"TIfqOTrPQJ","stringTimeField":"21:30:45.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2364,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2364,"uuid":"9e0a899f-5655-11ee-a801-675ed0f8e89b"},"arrayField":["GfdUFF","zxva","CMuPNtc","NguHv","JIIFjqeNa","CPmp","wNtKLI"],"boolField":true,"intField":621,"numField":782.3685463649886,"objField":{"InlUViXd":-8599649424350835440,"RnEks":-7019592329305831376,"ZBlyI":-2575926608236770053,"bndbnJAmdh":5858582159174630848,"mLHjtsZMb":2646592228524226472,"qSKb":6914073938624420255},"stringDateField":"1926-07-01","stringDateTimeField":"1951-01-19T04:25:57Z","stringField":"IAvG","stringTimeField":"21:25:47.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":621,"numField":782.3685463649886,"stringDateField":"1926-07-01","stringDateTimeField":"1951-01-19T04:25:57Z","stringField":"IAvG","stringTimeField":"21:25:47.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2365,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2365,"uuid":"9e0a899f-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["rxNomUfVgX","vgqYfsBvhe","xhyFsckJ","XBbzoWvKkh","LTWv"],"boolField":true,"intField":-779,"numField":-54.207542214711246,"objField":{"GdpohLXqx":8298829760770696406,"LVkBKhGI":-8293657779587697716,"Trnp":6188071198261580661,"YVsy":-410197881349165238,"YdNNECmZlr":-5495785874236776571,"cGEhRHvDC":5576856946179751442,"hEQOkCXS":-2090699207696765730,"kLQss":-4067318190661480762,"lxevTfsF":-4399291323160586022},"stringDateField":"1902-05-02","stringDateTimeField":"1944-06-19T00:50:00Z","stringField":"MuKkwVZGbS","stringTimeField":"09:46:31.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":-779,"numField":-54.207542214711246,"stringDateField":"1902-05-02","stringDateTimeField":"1944-06-19T00:50:00Z","stringField":"MuKkwVZGbS","stringTimeField":"09:46:31.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2366,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2366,"uuid":"9e0a899f-5655-11ee-b001-675ed0f8e89b"},"arrayField":["MySAc","hLSrCxeARo","PnovRgK","kCZO","IdkXxcfZiC","LSYGE","tuLsa","xVoj","ZXNb"],"boolField":true,"intField":395,"numField":769.1873578418105,"objField":{"NWrcUbztEq":6260567919892128957,"bEbQgHMaq":5719827453617095943,"eNzcIQzULP":4930403456202289531,"ihrbft":-992364641651124534,"uWFhSRef":5139589093855675954},"stringDateField":"1938-11-24","stringDateTimeField":"1999-09-06T22:06:22Z","stringField":"ccPzsizZpq","stringTimeField":"01:40:42.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":395,"numField":769.1873578418105,"stringDateField":"1938-11-24","stringDateTimeField":"1999-09-06T22:06:22Z","stringField":"ccPzsizZpq","stringTimeField":"01:40:42.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2367,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2367,"uuid":"9e0a899f-5655-11ee-b401-675ed0f8e89b"},"arrayField":["uLMZX","LAGc","GPBhIkpjy"],"boolField":true,"intField":772,"numField":-639.2093555735245,"objField":{"EJbxTR":3545107269057995200,"LymyF":8474664110321987854,"QtqzgNX":-8449796207122127075,"RuqzTyEZn":-8187206083635648867,"SyKYBY":-2161487830388582381,"daSG":2581414630837439206,"fYDdyd":-1412223742406551136,"koGlsaJf":3473269740481588673,"rwsfSF":-8217187726338190783,"wiluV":3546599630368795196},"stringDateField":"2014-04-26","stringDateTimeField":"1923-07-19T19:10:15Z","stringField":"znNvB","stringTimeField":"12:14:45.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":772,"numField":-639.2093555735245,"stringDateField":"2014-04-26","stringDateTimeField":"1923-07-19T19:10:15Z","stringField":"znNvB","stringTimeField":"12:14:45.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2368,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2368,"uuid":"9e0a899f-5655-11ee-b801-675ed0f8e89b"},"arrayField":["hDNvGWFOxp","BDrSCHejU","aDTqnC","NLstXBiMA","pYdgkbS","FdDMea"],"boolField":true,"intField":313,"numField":-985.3018205818852,"objField":{"JbiabDsVex":-2744605267627477864,"WPGS":-1731027953786138094,"bHiAwnuqYA":-2726120725515680400,"kjHcaiDTvC":-816299812885314992,"nEcAZAZc":1940744217751924248,"xeHaxnzBB":-4591818637292208663},"stringDateField":"1989-06-15","stringDateTimeField":"1956-12-01T21:46:03Z","stringField":"ZOzFNqQZ","stringTimeField":"07:26:32.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":313,"numField":-985.3018205818852,"stringDateField":"1989-06-15","stringDateTimeField":"1956-12-01T21:46:03Z","stringField":"ZOzFNqQZ","stringTimeField":"07:26:32.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2369,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2369,"uuid":"9e0a899f-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ETzNz","ecYSnVOG","SgSnWeD","aVPr","wYgIT","UGaTC"],"boolField":true,"intField":563,"numField":-682.6582715203839,"objField":{"BnkUzZKMtu":-5051618569760511092,"Crxbx":7043448913318148745,"EXTazDrw":-8982394303629333997,"FchDqzRU":-8005581650679294918,"InIE":8216588169457143626,"SdOcgYx":8459567914579278244,"lHiM":2691653851191624237,"tNPrXAPo":9032510272804112980,"yZHT":2567879817036000431,"zeedJDY":-3429598351277033437},"stringDateField":"2012-08-09","stringDateTimeField":"2022-05-18T10:55:09Z","stringField":"RyPDWm","stringTimeField":"20:00:55.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763679Z","intField":563,"numField":-682.6582715203839,"stringDateField":"2012-08-09","stringDateTimeField":"2022-05-18T10:55:09Z","stringField":"RyPDWm","stringTimeField":"20:00:55.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2370,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2370,"uuid":"9e0a89a0-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ulHEpgIG","kMFT","QgYhgyMlWg","ptTsDt","GTuo","xJyXyTru","RJHcwFz"],"boolField":true,"intField":-111,"numField":-564.5531202876781,"objField":{"ChzDkq":8365905513495602210,"EVlwosuNW":-6003889827553561067,"QvWEDL":4462331000549754305,"gIFbdjeuQp":657539831459517540,"iMZwO":5022963495024936391,"icnnS":-5402712860765488834,"kqGZSWvAf":673341956041010730,"tDNOlu":6370318055672350807,"ukjeQnWv":5652006587079864517,"ustARwgsR":-2341115848425839151},"stringDateField":"1907-08-30","stringDateTimeField":"1937-11-08T06:37:36Z","stringField":"VzkC","stringTimeField":"16:24:38.15Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":-111,"numField":-564.5531202876781,"stringDateField":"1907-08-30","stringDateTimeField":"1937-11-08T06:37:36Z","stringField":"VzkC","stringTimeField":"16:24:38.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2371,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2371,"uuid":"9e0a89a0-5655-11ee-8401-675ed0f8e89b"},"arrayField":["iUyEZao","jKBC","BqwkTo","gPNcsynrkh","ZhZnuyax","wvNyFTUxRe","nxbO","IljmGrG"],"boolField":false,"intField":712,"numField":558.3013004902364,"objField":{"AHGRYiY":3783355453242549127,"BxvytUQo":1890720081656193111,"RamZ":2540035182342830388,"dEpkXsxjGR":-1417940483176580717,"dLhhM":-3375384884317512343},"stringDateField":"2019-03-07","stringDateTimeField":"1925-03-24T08:18:14Z","stringField":"gkLLq","stringTimeField":"15:53:39.30Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":712,"numField":558.3013004902364,"stringDateField":"2019-03-07","stringDateTimeField":"1925-03-24T08:18:14Z","stringField":"gkLLq","stringTimeField":"15:53:39.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2372,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2372,"uuid":"9e0a89a0-5655-11ee-8801-675ed0f8e89b"},"arrayField":["aGNDPU","KIBiGWilg"],"boolField":false,"intField":-861,"numField":679.4799234443833,"objField":{"AoEooX":-1116454490424791548,"DDHFJcC":-3167025072220483207,"GdrN":-354613750965720699,"GyuMYfEBd":8386597263764241527,"MPZKjPNthN":1057346931823030755,"QBZJMP":-5649221697910117508,"ViSSNOJWLi":-3298539901968842490,"jQLiiBzuQY":-7147637963610621919,"rVyt":2187249920158522387},"stringDateField":"1993-10-06","stringDateTimeField":"1995-12-28T03:13:41Z","stringField":"qdXfZxULPd","stringTimeField":"08:04:28.35Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":-861,"numField":679.4799234443833,"stringDateField":"1993-10-06","stringDateTimeField":"1995-12-28T03:13:41Z","stringField":"qdXfZxULPd","stringTimeField":"08:04:28.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2373,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2373,"uuid":"9e0a89a0-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["fIzqlLYyv"],"boolField":true,"intField":-192,"numField":804.6670758731509,"objField":{"qcUOTb":-8018838168870974740},"stringDateField":"1931-06-03","stringDateTimeField":"1900-05-06T07:52:25Z","stringField":"uOnMnSD","stringTimeField":"22:50:34.20Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":-192,"numField":804.6670758731509,"stringDateField":"1931-06-03","stringDateTimeField":"1900-05-06T07:52:25Z","stringField":"uOnMnSD","stringTimeField":"22:50:34.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2374,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2374,"uuid":"9e0a89a0-5655-11ee-9001-675ed0f8e89b"},"arrayField":["fXvdI","MBmE","wqjrLd","rDYUJjawN","WuZuu","zvdYsV","zxjq","sNqmbd","GTJznr"],"boolField":true,"intField":45,"numField":-661.0124507738926,"objField":{"IiuvFbAnWc":-1547309708801569369,"LPBYrc":335452148588808537,"gcWULz":-9187715186626293698,"nQwq":-6999982073936293085},"stringDateField":"2001-10-12","stringDateTimeField":"1966-04-14T06:06:11Z","stringField":"hmHLFSuvZX","stringTimeField":"12:38:25.39Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":45,"numField":-661.0124507738926,"stringDateField":"2001-10-12","stringDateTimeField":"1966-04-14T06:06:11Z","stringField":"hmHLFSuvZX","stringTimeField":"12:38:25.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2375,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2375,"uuid":"9e0a89a0-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ArGrXb","lchjPuI","kKlObO","NSAO","MTVORp","YTSce","TlSPazqrZ"],"boolField":false,"intField":810,"numField":-637.5599209951284,"objField":{"CdBpEjRh":-1703287276630856171,"SExWoO":-5725908448053727490,"VxxFCO":-3064453469352815470,"WFMl":1959475250330997767,"YZiKEP":5714647045195951979,"gnXMoUNYI":-8650149803449081850,"kUjeSjYx":4896944869648152495,"mBvNwvw":-8207970740900197735,"mQxg":4869836056297965288,"mSjidcwxk":1126748703165085440},"stringDateField":"1990-04-24","stringDateTimeField":"1967-06-05T22:13:08Z","stringField":"gZZIAJP","stringTimeField":"20:49:56.43Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":810,"numField":-637.5599209951284,"stringDateField":"1990-04-24","stringDateTimeField":"1967-06-05T22:13:08Z","stringField":"gZZIAJP","stringTimeField":"20:49:56.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2376,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2376,"uuid":"9e0a89a0-5655-11ee-9801-675ed0f8e89b"},"arrayField":["RmCr","JiYTMZ","ohIYD","gYBjEAPq","UsxmIUc","vaSTSeS","qFzrDZlk","SuJPvds"],"boolField":false,"intField":455,"numField":-283.40047427494574,"objField":{"DabJHUivWy":5650534380191072999,"KsrvXUmuqR":-3745412738337593804,"bhjI":595208498068306846,"tChxQJjR":-7053453371523841495},"stringDateField":"1943-06-27","stringDateTimeField":"1946-06-12T16:04:23Z","stringField":"vHxu","stringTimeField":"06:45:05.19Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":455,"numField":-283.40047427494574,"stringDateField":"1943-06-27","stringDateTimeField":"1946-06-12T16:04:23Z","stringField":"vHxu","stringTimeField":"06:45:05.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2377,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2377,"uuid":"9e0a89a0-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["FROMO","cgGXCh","oJjPoorA","gzDriaa","yRWJJsU"],"boolField":false,"intField":607,"numField":-920.8148720291072,"objField":{"JhtJb":7343056456152048834,"LiXfge":-6928346557913922153,"VRhXy":7656165016729860563,"WXdoZGQ":2910599407514474534,"cCvZPBl":275476090171232547,"cwlFExBY":5785498696425744588,"eTzmVm":-137263680563817220,"osQLuu":-168827519147808315,"qjzWvQnyo":7463955454412034399},"stringDateField":"1975-09-06","stringDateTimeField":"2003-05-27T00:17:46Z","stringField":"xyig","stringTimeField":"19:47:50.34Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":607,"numField":-920.8148720291072,"stringDateField":"1975-09-06","stringDateTimeField":"2003-05-27T00:17:46Z","stringField":"xyig","stringTimeField":"19:47:50.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2378,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2378,"uuid":"9e0a89a0-5655-11ee-a001-675ed0f8e89b"},"arrayField":["YpFFdyzg"],"boolField":true,"intField":-363,"numField":458.2249462670549,"objField":{"mRGducdG":-217087355273335970},"stringDateField":"1966-03-09","stringDateTimeField":"2023-01-02T12:18:48Z","stringField":"rFewX","stringTimeField":"18:45:40.35Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":-363,"numField":458.2249462670549,"stringDateField":"1966-03-09","stringDateTimeField":"2023-01-02T12:18:48Z","stringField":"rFewX","stringTimeField":"18:45:40.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2379,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2379,"uuid":"9e0a89a0-5655-11ee-a401-675ed0f8e89b"},"arrayField":["kPhhAmyi","ullzBE","OcbPJE","SuyA","oLjMvK","zTFHpFBjzw","lYpbXsWcm","FPCH","opIX"],"boolField":true,"intField":-855,"numField":-285.9352235904522,"objField":{"DzFOacOiw":-2934488635194480096,"JcmcxThNs":-7235856327017054422,"ORkOb":-5593363028386268088,"TSVQC":-8787133477413367532,"YCZYPOFhxl":-6878502040750304475,"qBwlcyBHm":-5628251651095302205,"vBTGGPawG":3925080610094465298,"wFiIPYd":3694737136486846054,"xuCbz":504415014106718937},"stringDateField":"1962-12-24","stringDateTimeField":"1981-05-30T04:48:11Z","stringField":"atObiBmpf","stringTimeField":"10:36:15.45Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":-855,"numField":-285.9352235904522,"stringDateField":"1962-12-24","stringDateTimeField":"1981-05-30T04:48:11Z","stringField":"atObiBmpf","stringTimeField":"10:36:15.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2380,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2380,"uuid":"9e0a89a0-5655-11ee-a801-675ed0f8e89b"},"arrayField":["RQtj"],"boolField":false,"intField":-988,"numField":-679.2157514810641,"objField":{"ZQUSyLEW":8497291635043917487},"stringDateField":"1917-08-06","stringDateTimeField":"1918-10-06T17:03:27Z","stringField":"uLncoh","stringTimeField":"15:36:21.34Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":-988,"numField":-679.2157514810641,"stringDateField":"1917-08-06","stringDateTimeField":"1918-10-06T17:03:27Z","stringField":"uLncoh","stringTimeField":"15:36:21.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2381,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2381,"uuid":"9e0a89a0-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["pJIU","RHyT"],"boolField":false,"intField":982,"numField":310.6914971935462,"objField":{"GxVSIufV":417671852772262953,"IXwktxxRv":-480965656983933364,"QwUJfJK":-6988751962937760514,"RXMqipyPLx":2452466032475143652,"bYsyOpxCBe":7140815390020905590,"gHbOYQjjEC":4985537974623927436,"xEMWPHu":-8235953368311900505,"zikFWJtbCf":-182109183770990357},"stringDateField":"2018-08-21","stringDateTimeField":"1957-12-04T06:34:58Z","stringField":"hoNjUaUkyx","stringTimeField":"23:10:49.38Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":982,"numField":310.6914971935462,"stringDateField":"2018-08-21","stringDateTimeField":"1957-12-04T06:34:58Z","stringField":"hoNjUaUkyx","stringTimeField":"23:10:49.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2382,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2382,"uuid":"9e0a89a0-5655-11ee-b001-675ed0f8e89b"},"arrayField":["eDBWI","qvlEamq","QgvmJxkSn","GJcUATsE","LmTAm","yDWNU","WiIry","MxoVN"],"boolField":true,"intField":-746,"numField":-475.4111503521934,"objField":{"ILpvCE":-2706681228069569336,"KjmZVcKMz":6863047275273365354,"vqULVmOS":-495470642863770037},"stringDateField":"1935-03-15","stringDateTimeField":"2021-07-07T05:50:40Z","stringField":"mvWF","stringTimeField":"03:57:19.23Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":-746,"numField":-475.4111503521934,"stringDateField":"1935-03-15","stringDateTimeField":"2021-07-07T05:50:40Z","stringField":"mvWF","stringTimeField":"03:57:19.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2383,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2383,"uuid":"9e0a89a0-5655-11ee-b401-675ed0f8e89b"},"arrayField":["fYxA","jdNmTnGa","pfxLC","FgBOIC","DMyuESDF","rbYQRo","nvNPbWPtxu"],"boolField":true,"intField":-886,"numField":-27.923180118975765,"objField":{"EsOv":2851530010637319236,"YfdDHLmwKN":8803782214980682823,"hzarcyoZX":-8687711954426649784},"stringDateField":"1950-10-30","stringDateTimeField":"1944-06-03T01:07:30Z","stringField":"ckTRXjZW","stringTimeField":"14:54:24.28Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":-886,"numField":-27.923180118975765,"stringDateField":"1950-10-30","stringDateTimeField":"1944-06-03T01:07:30Z","stringField":"ckTRXjZW","stringTimeField":"14:54:24.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2384,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2384,"uuid":"9e0a89a0-5655-11ee-b801-675ed0f8e89b"},"arrayField":["DVzs","ulcWZrt","trMwVpl","DfVFXOmlP","CyfMMOvhr"],"boolField":false,"intField":531,"numField":783.4891420063792,"objField":{"CvInK":74307561842693027,"HdPwnshVSi":5379704533355390049,"OGmeDs":4622434880481014918,"ZQTC":2930269919831523500,"cUdwlH":2823224427581244666,"lloQ":-2340824950324288519,"omLSDelNg":-3128866928138209335,"pvIRBo":-2629687256849908843,"zesaUdZv":3241634595549522064},"stringDateField":"1922-08-28","stringDateTimeField":"1931-02-08T12:24:05Z","stringField":"ZUijWh","stringTimeField":"12:53:11.42Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":531,"numField":783.4891420063792,"stringDateField":"1922-08-28","stringDateTimeField":"1931-02-08T12:24:05Z","stringField":"ZUijWh","stringTimeField":"12:53:11.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2385,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2385,"uuid":"9e0a89a0-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["sTXF","HmWBUpr","BwmgGbISnR","SZHXLb","ujJgaOfvqq","Eczs"],"boolField":true,"intField":-765,"numField":148.22183564366998,"objField":{"HufacCLbHV":-8695648360808664190,"RSjNSHfWf":-7023556260492598644},"stringDateField":"1936-08-18","stringDateTimeField":"1929-04-05T23:11:42Z","stringField":"aJloXcbf","stringTimeField":"01:33:55.19Z"},"flow_published_at":"2023-09-18T19:00:21.876368Z","intField":-765,"numField":148.22183564366998,"stringDateField":"1936-08-18","stringDateTimeField":"1929-04-05T23:11:42Z","stringField":"aJloXcbf","stringTimeField":"01:33:55.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2386,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2386,"uuid":"9e0a89a1-5655-11ee-8001-675ed0f8e89b"},"arrayField":["cPGNIGZ","sWImCZkfv","lSFrFlRNa","LKdrgw","cprUSwL","CiiqsuBaDG","PEyPAJYIm"],"boolField":false,"intField":-523,"numField":-359.5719268188542,"objField":{"AeMeDNm":3132482832059422990,"HLeXvj":-908289171391407172,"KHdH":-4646561180359626833,"KhoS":5611934036348261903,"OFmfI":-3255764448986486341,"UWnc":3477584388408385541,"liEcOrMY":6200468010578744845,"pacv":-2803784435878795185,"qCCqfLfm":-9131172625080943202,"uQkwAg":-5474420016512514913},"stringDateField":"1977-09-19","stringDateTimeField":"1992-02-21T19:40:20Z","stringField":"SXGDKkj","stringTimeField":"13:37:40.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":-523,"numField":-359.5719268188542,"stringDateField":"1977-09-19","stringDateTimeField":"1992-02-21T19:40:20Z","stringField":"SXGDKkj","stringTimeField":"13:37:40.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2387,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2387,"uuid":"9e0a89a1-5655-11ee-8401-675ed0f8e89b"},"arrayField":["zBDBbi","qIgaW","FEuhVF","JnwggMW","xMTfZmUGCQ","OUgHi","uttre","psHsC","SMYszbhUxS","gdGzT"],"boolField":true,"intField":975,"numField":822.5954806697818,"objField":{"DyEK":6958715900807191317,"MccnaO":-1638153277231395630,"wRMJEpQHvL":3142469429952809654},"stringDateField":"1992-06-29","stringDateTimeField":"1956-02-23T14:33:55Z","stringField":"COsrZmse","stringTimeField":"20:06:19.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":975,"numField":822.5954806697818,"stringDateField":"1992-06-29","stringDateTimeField":"1956-02-23T14:33:55Z","stringField":"COsrZmse","stringTimeField":"20:06:19.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2388,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2388,"uuid":"9e0a89a1-5655-11ee-8801-675ed0f8e89b"},"arrayField":["jPVz","TLVd"],"boolField":false,"intField":146,"numField":-114.47174652856307,"objField":{"JSfTi":-3947968114261120671,"KIkvTTpt":5507856680688329178,"MXXuf":-5781745264753715425,"VvhSSWuRz":581977724841591427,"XaAgCt":6960970380852543625,"iytsRHlA":9102695164401762346,"qVQwdEl":-8452236375684246751,"tqtdw":2723469132014068680,"yNyJfPDQF":3804437535250777998},"stringDateField":"1986-01-17","stringDateTimeField":"1947-05-15T09:12:04Z","stringField":"nBgViqvSwZ","stringTimeField":"04:44:42.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":146,"numField":-114.47174652856307,"stringDateField":"1986-01-17","stringDateTimeField":"1947-05-15T09:12:04Z","stringField":"nBgViqvSwZ","stringTimeField":"04:44:42.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2389,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2389,"uuid":"9e0a89a1-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["vchKzMmCnT","lFFC","fxeyGnU","DNTA"],"boolField":true,"intField":912,"numField":-163.87585479770252,"objField":{"DCNw":2548425674839029916,"dSkoKBkv":-827859787034466481},"stringDateField":"1914-12-13","stringDateTimeField":"1903-08-06T09:51:08Z","stringField":"AJDeX","stringTimeField":"02:39:04.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":912,"numField":-163.87585479770252,"stringDateField":"1914-12-13","stringDateTimeField":"1903-08-06T09:51:08Z","stringField":"AJDeX","stringTimeField":"02:39:04.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2390,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2390,"uuid":"9e0a89a1-5655-11ee-9001-675ed0f8e89b"},"arrayField":["IsrDUxs","CNxJbtOcfY","kzCEHoTdP"],"boolField":false,"intField":1,"numField":-876.5501149598244,"objField":{"ChDJkI":-959267781595551213,"ICRRRS":-5856499401349521005,"IOpvaZNF":4405957616775439798,"NFIJJMhODh":-3560902758863523921,"QMqGgzLp":-7772734212847852972,"naTHs":-5265539812444414167,"vCrqBt":7800626806368269042},"stringDateField":"1934-07-13","stringDateTimeField":"1931-10-19T22:19:42Z","stringField":"TwQWvguLmg","stringTimeField":"05:46:42.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":1,"numField":-876.5501149598244,"stringDateField":"1934-07-13","stringDateTimeField":"1931-10-19T22:19:42Z","stringField":"TwQWvguLmg","stringTimeField":"05:46:42.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2391,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2391,"uuid":"9e0a89a1-5655-11ee-9401-675ed0f8e89b"},"arrayField":["LEaXaOVGE"],"boolField":true,"intField":416,"numField":-533.1863997939652,"objField":{"YJVQaVA":-3622198056973451877},"stringDateField":"1916-11-24","stringDateTimeField":"1996-03-08T02:56:16Z","stringField":"YOplV","stringTimeField":"08:36:36.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":416,"numField":-533.1863997939652,"stringDateField":"1916-11-24","stringDateTimeField":"1996-03-08T02:56:16Z","stringField":"YOplV","stringTimeField":"08:36:36.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2392,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2392,"uuid":"9e0a89a1-5655-11ee-9801-675ed0f8e89b"},"arrayField":["hbZvgjT","pKFLWEi","dsLGZ","elTS","lZdXJs"],"boolField":true,"intField":-904,"numField":985.8790589130044,"objField":{"BClL":-4564796240277002436,"MlBisy":-235366700182048444,"RbwvX":-3558446725491374889,"TTOElU":-7883172153883690493,"VtOiEi":3621423153022358151,"jqOMnLcCF":7754379888691531790,"nzZcSy":2197458851951061160,"tsSxslnOPP":5848673215004413417,"yXyVQ":1815950753585010195},"stringDateField":"1997-10-10","stringDateTimeField":"1932-04-14T06:56:45Z","stringField":"PaSdmt","stringTimeField":"22:00:28.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":-904,"numField":985.8790589130044,"stringDateField":"1997-10-10","stringDateTimeField":"1932-04-14T06:56:45Z","stringField":"PaSdmt","stringTimeField":"22:00:28.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2393,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2393,"uuid":"9e0a89a1-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["gFdPkeTB","OWJuHo","mjOYI","dKcQdKyz","sBuDKAhiE","znOKLMy","yLxUyDE"],"boolField":false,"intField":828,"numField":621.3092898861545,"objField":{"eBAGV":-4399863114524622609,"jcnNfMTWOI":-7236823638339868934,"ouGarrrH":-7165446705667732001,"uTne":-1398695608452052913},"stringDateField":"1904-06-09","stringDateTimeField":"2013-02-25T10:03:37Z","stringField":"oepiwg","stringTimeField":"04:08:06.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":828,"numField":621.3092898861545,"stringDateField":"1904-06-09","stringDateTimeField":"2013-02-25T10:03:37Z","stringField":"oepiwg","stringTimeField":"04:08:06.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2394,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2394,"uuid":"9e0a89a1-5655-11ee-a001-675ed0f8e89b"},"arrayField":["TbwhpDeW"],"boolField":false,"intField":167,"numField":878.41038869311,"objField":{"KFkUqBJuAr":-4946229437626288772,"Uoqp":1366282524791286714,"XkbRMdZGf":5083367283565012685,"uMiMGcMJ":-1166040091824284453},"stringDateField":"2011-07-30","stringDateTimeField":"1946-02-03T21:16:25Z","stringField":"MVHsUVuS","stringTimeField":"11:21:25.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":167,"numField":878.41038869311,"stringDateField":"2011-07-30","stringDateTimeField":"1946-02-03T21:16:25Z","stringField":"MVHsUVuS","stringTimeField":"11:21:25.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2395,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2395,"uuid":"9e0a89a1-5655-11ee-a401-675ed0f8e89b"},"arrayField":["xhjLBDli","KaAvUKvQD","zGNdFLV","KUblA","lhHnlxPTD","yZRK","HHmwrbWpc","fVpP","dYgKYo"],"boolField":false,"intField":-515,"numField":-314.78244205698445,"objField":{"BNtkqQQQsx":5481754584978844012,"CYVpUYM":-2709939170715315824,"DAZXnyvX":4309361549379386439,"EtxzXPoxe":-7842507741010309459,"TVHRz":1043921116994110130,"VrFcsx":-7843754257278330711,"aFaWzGIID":1622226711563031277,"drHpKlQabm":2166961646657995109,"kHaVehoAp":-3875102056048016511},"stringDateField":"2003-07-01","stringDateTimeField":"1970-08-27T05:07:01Z","stringField":"JJOSMDO","stringTimeField":"23:17:52.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":-515,"numField":-314.78244205698445,"stringDateField":"2003-07-01","stringDateTimeField":"1970-08-27T05:07:01Z","stringField":"JJOSMDO","stringTimeField":"23:17:52.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2396,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2396,"uuid":"9e0a89a1-5655-11ee-a801-675ed0f8e89b"},"arrayField":["bhFXl","Iedev","CpVDqqwO"],"boolField":false,"intField":-80,"numField":406.88199805069416,"objField":{"VhSTsCzh":345220743733852537,"WjrinoN":-2163701568440274616,"aWfqng":-868975879851396857,"mlfPqMG":1291048354883141535,"rURfxNdBA":5539534949619340755,"zINCLw":8867260327051210205},"stringDateField":"1992-04-20","stringDateTimeField":"1974-05-06T20:44:46Z","stringField":"XctkHyJ","stringTimeField":"14:54:08.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":-80,"numField":406.88199805069416,"stringDateField":"1992-04-20","stringDateTimeField":"1974-05-06T20:44:46Z","stringField":"XctkHyJ","stringTimeField":"14:54:08.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2397,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2397,"uuid":"9e0a89a1-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["WgaGrVx","WhuHoxBL","vtoQmieF","XcJpEp","mhOeva","sUCYJ","qJWrmM","KLGj"],"boolField":true,"intField":511,"numField":-218.69257148744185,"objField":{"OvPLBX":2239086426793232554,"Ygvmaa":52859812191781428,"bsbNfWxl":3836451576065393454,"clXtBZldp":-1281197872226529029,"kguuUv":-1039707628192132109,"qJYlCPrswH":1878222155926645688,"sFtNpBm":-3655734793581636091,"xEVn":-3978472969201448519},"stringDateField":"1915-05-28","stringDateTimeField":"1987-12-31T10:06:29Z","stringField":"EraD","stringTimeField":"04:45:25.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":511,"numField":-218.69257148744185,"stringDateField":"1915-05-28","stringDateTimeField":"1987-12-31T10:06:29Z","stringField":"EraD","stringTimeField":"04:45:25.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2398,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2398,"uuid":"9e0a89a1-5655-11ee-b001-675ed0f8e89b"},"arrayField":["gyMKMJU","ealfMZ","HKkily","VHWjM","rrxkYYnmxt"],"boolField":false,"intField":-186,"numField":582.7153556337992,"objField":{"GXmDrGvdau":9142075690003220086},"stringDateField":"1917-04-16","stringDateTimeField":"2011-01-11T02:45:53Z","stringField":"LAbflyL","stringTimeField":"06:03:42.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":-186,"numField":582.7153556337992,"stringDateField":"1917-04-16","stringDateTimeField":"2011-01-11T02:45:53Z","stringField":"LAbflyL","stringTimeField":"06:03:42.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2399,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2399,"uuid":"9e0a89a1-5655-11ee-b401-675ed0f8e89b"},"arrayField":["FWbY","osgBtsjs"],"boolField":true,"intField":-487,"numField":548.9877866698141,"objField":{"IojMzYMfJ":5236344373770953109,"TKAwKOSXs":6486201325839359314,"aKZgBLTcZ":2185556371256906277,"cuQOOAX":4015014793059821663,"hwopIJB":-8227171768328356775,"kMWlXEsQV":-97517310529119309,"lYZhVzor":2550230202140474844,"toJpsqkSO":-5125551011301388941,"uCiuOdUy":2464638934051011911},"stringDateField":"1901-04-19","stringDateTimeField":"1903-01-16T18:58:23Z","stringField":"YPKAjtgUri","stringTimeField":"06:57:41.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":-487,"numField":548.9877866698141,"stringDateField":"1901-04-19","stringDateTimeField":"1903-01-16T18:58:23Z","stringField":"YPKAjtgUri","stringTimeField":"06:57:41.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2400,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2400,"uuid":"9e0a89a1-5655-11ee-b801-675ed0f8e89b"},"arrayField":["VAhMSJ","BvNY","eqLwY","fuFALBuM"],"boolField":true,"intField":-997,"numField":576.1467821458488,"objField":{"mFathMLqcJ":-7763071522330794232},"stringDateField":"1944-10-11","stringDateTimeField":"1930-12-03T12:48:44Z","stringField":"sZsXZRwYx","stringTimeField":"11:24:55.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":-997,"numField":576.1467821458488,"stringDateField":"1944-10-11","stringDateTimeField":"1930-12-03T12:48:44Z","stringField":"sZsXZRwYx","stringTimeField":"11:24:55.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2401,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2401,"uuid":"9e0a89a1-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["IjPXpjOF","JIGrQF","wAOKnuY","eGJewjXm","aljEJdiju","IIDsrVMVD"],"boolField":false,"intField":-86,"numField":-165.3003052576918,"objField":{"AgkgFhFv":-5039648399224596764,"FgPpYlsrT":-8219445241042910783},"stringDateField":"1904-06-08","stringDateTimeField":"1950-05-01T22:20:34Z","stringField":"JdRUMUZ","stringTimeField":"14:09:19.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763681Z","intField":-86,"numField":-165.3003052576918,"stringDateField":"1904-06-08","stringDateTimeField":"1950-05-01T22:20:34Z","stringField":"JdRUMUZ","stringTimeField":"14:09:19.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2402,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2402,"uuid":"9e0a89a2-5655-11ee-8001-675ed0f8e89b"},"arrayField":["rzAmRrtI","QhkvHzeE","oJJO","rQmNj"],"boolField":false,"intField":-6,"numField":-104.97775753480944,"objField":{"AKMEvXLMI":-1346367841682953182,"GhUuvmlG":-7048616220041215228,"LTWFQFYEQc":598321872019746156,"RpvGyRS":-8357275828666894514,"RxcvBg":-7041728447285508052,"YEyLFm":-8758529544361770184,"cvLqgBJc":6994629791028767199,"rlfJSgqO":-5323198384672710273,"tgGJHLK":-7887431162759374609},"stringDateField":"1992-02-08","stringDateTimeField":"1955-12-26T23:58:14Z","stringField":"suVXZV","stringTimeField":"20:22:23.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":-6,"numField":-104.97775753480944,"stringDateField":"1992-02-08","stringDateTimeField":"1955-12-26T23:58:14Z","stringField":"suVXZV","stringTimeField":"20:22:23.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2403,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2403,"uuid":"9e0a89a2-5655-11ee-8401-675ed0f8e89b"},"arrayField":["KjHXDyu","rDzXV","feRCK","nmgHhnTuq","IgajwX","pGygQsZygd"],"boolField":false,"intField":-900,"numField":-495.3610025079851,"objField":{"ITzAtewE":3943512316372197227,"bgQdmnI":-2113717289852919566},"stringDateField":"1997-09-05","stringDateTimeField":"1979-08-10T11:34:01Z","stringField":"fBbIvBDT","stringTimeField":"23:36:22.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":-900,"numField":-495.3610025079851,"stringDateField":"1997-09-05","stringDateTimeField":"1979-08-10T11:34:01Z","stringField":"fBbIvBDT","stringTimeField":"23:36:22.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2404,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2404,"uuid":"9e0a89a2-5655-11ee-8801-675ed0f8e89b"},"arrayField":["rGfsb","ZrMv","VdgT","WRvpPV","sUaCDmeoHu","EMxAag"],"boolField":false,"intField":-264,"numField":-990.5330365282308,"objField":{"OQxw":-7232521600271987677,"YCxykqfRmX":-990723861962914644,"gVafFz":2966361034320638307,"jQQLF":-2846732364640674650,"ujruRW":3492039917710649210,"xvesnjwo":2429260380150633500},"stringDateField":"2005-12-23","stringDateTimeField":"1909-04-27T16:43:22Z","stringField":"fyUv","stringTimeField":"04:35:48.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":-264,"numField":-990.5330365282308,"stringDateField":"2005-12-23","stringDateTimeField":"1909-04-27T16:43:22Z","stringField":"fyUv","stringTimeField":"04:35:48.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2405,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2405,"uuid":"9e0a89a2-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["yFsITwQdN","SxjkH","KtQWlWUgi","QygdeIwjtp","aoclljNSD","xzmLf","nqZOWVPnA","wyjtsr","lJRtoLupaY","cTPFIQX"],"boolField":false,"intField":432,"numField":-833.2025234326027,"objField":{"kTPFh":5602405092595060195},"stringDateField":"1994-10-12","stringDateTimeField":"1921-02-03T05:34:43Z","stringField":"UgYNrqBteq","stringTimeField":"17:20:27.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":432,"numField":-833.2025234326027,"stringDateField":"1994-10-12","stringDateTimeField":"1921-02-03T05:34:43Z","stringField":"UgYNrqBteq","stringTimeField":"17:20:27.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2406,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2406,"uuid":"9e0a89a2-5655-11ee-9001-675ed0f8e89b"},"arrayField":["OXxE"],"boolField":true,"intField":431,"numField":-275.2595058773937,"objField":{"GcFHGiQ":6721192501526465084,"HLKxGqsFQ":-1020535827671101266,"JTGWJt":-8524877909331499524,"JzWX":-5880055847074251575,"TIILjDzA":-8761668423947340587,"UEEeIahrR":-4335260996564352679,"UPXIamfBby":8344529829249619250,"YRqsQiGu":7106237186116031859,"zjWAIf":444812019757344837},"stringDateField":"1902-06-09","stringDateTimeField":"2014-11-20T10:11:33Z","stringField":"BBsSHkrqa","stringTimeField":"00:17:38.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":431,"numField":-275.2595058773937,"stringDateField":"1902-06-09","stringDateTimeField":"2014-11-20T10:11:33Z","stringField":"BBsSHkrqa","stringTimeField":"00:17:38.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2407,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2407,"uuid":"9e0a89a2-5655-11ee-9401-675ed0f8e89b"},"arrayField":["gvVVBmwf","KAlQarNc","cECOTpc","SYxJxaffOp","nBiy"],"boolField":false,"intField":-17,"numField":464.2398923898243,"objField":{"BZvcafHKu":3452782675887507057,"HeyfvN":2704965289233485024,"LLeW":6759524487374793655,"PmLDTkTm":-9121771001035721615,"zPKGztpyru":-1273618091499901771},"stringDateField":"1948-10-21","stringDateTimeField":"1968-06-27T08:09:49Z","stringField":"bOISOkVhuE","stringTimeField":"12:11:56.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":-17,"numField":464.2398923898243,"stringDateField":"1948-10-21","stringDateTimeField":"1968-06-27T08:09:49Z","stringField":"bOISOkVhuE","stringTimeField":"12:11:56.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2408,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2408,"uuid":"9e0a89a2-5655-11ee-9801-675ed0f8e89b"},"arrayField":["EJfXbQy","STGVrA","ADrV","slPdVPBlX","vYEZejCq","UyIBV","mORaUSL","jjzIF","YaMF","VdAtBgyH"],"boolField":false,"intField":101,"numField":-348.4209703310346,"objField":{"EJdBHJOZW":-5556008588117932041,"FVQA":-798637056539349818,"HHBOiUx":-6257440110596392250,"fRRzR":7129745683420250761,"vzOyc":4222934191070440653},"stringDateField":"1917-04-19","stringDateTimeField":"1995-04-03T20:16:02Z","stringField":"lWDNsQz","stringTimeField":"19:41:07.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":101,"numField":-348.4209703310346,"stringDateField":"1917-04-19","stringDateTimeField":"1995-04-03T20:16:02Z","stringField":"lWDNsQz","stringTimeField":"19:41:07.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2409,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2409,"uuid":"9e0a89a2-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["jYprmqc","orFwqs","bLid","ENRHNg","IzFKtPaG","cbaWiJe","UEigFs","oZdeNCbx","GjEB","ybcYroQ"],"boolField":false,"intField":-605,"numField":-453.61854801254674,"objField":{"VolfTqEaLa":191804774293685971},"stringDateField":"1943-10-04","stringDateTimeField":"1974-08-09T14:34:36Z","stringField":"otVqRzwvsS","stringTimeField":"14:30:15.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":-605,"numField":-453.61854801254674,"stringDateField":"1943-10-04","stringDateTimeField":"1974-08-09T14:34:36Z","stringField":"otVqRzwvsS","stringTimeField":"14:30:15.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2410,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2410,"uuid":"9e0a89a2-5655-11ee-a001-675ed0f8e89b"},"arrayField":["MjlrVkuPuA","kxHwvuR","GptWq","xiIYNyFL","RICRlVtnXW","WWrnVXCsOA"],"boolField":false,"intField":-685,"numField":519.6246103031257,"objField":{"BVKLgRNIi":-8414133579428639046,"JOAmKtxOvg":-3415723061886259382,"JlDTcY":5103282270403964270,"SzDa":-4237430907254174624,"UitFKaDEBp":-3608679077301411564,"WiSyV":4324704513430611257,"iBWs":-9204686867353128143},"stringDateField":"1970-11-04","stringDateTimeField":"1930-03-19T14:49:44Z","stringField":"aMowaPRmdN","stringTimeField":"06:47:23.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":-685,"numField":519.6246103031257,"stringDateField":"1970-11-04","stringDateTimeField":"1930-03-19T14:49:44Z","stringField":"aMowaPRmdN","stringTimeField":"06:47:23.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2411,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2411,"uuid":"9e0a89a2-5655-11ee-a401-675ed0f8e89b"},"arrayField":["pHJQ","rLLO"],"boolField":false,"intField":-761,"numField":777.3312271102321,"objField":{"AQulsOs":993266682362420495,"GqtsGp":-3281021074415837161,"IRCoyoTyp":101908720488628671,"LyeqV":-7657960100879938891,"POnbb":-9036424878564619040,"XWSUka":-1277920705999986696,"ZWhsW":4699579828262663084,"ryfGprNDUd":5225238725396812715},"stringDateField":"1943-02-04","stringDateTimeField":"1909-07-17T11:56:45Z","stringField":"wZYipmA","stringTimeField":"09:44:23.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":-761,"numField":777.3312271102321,"stringDateField":"1943-02-04","stringDateTimeField":"1909-07-17T11:56:45Z","stringField":"wZYipmA","stringTimeField":"09:44:23.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2412,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2412,"uuid":"9e0a89a2-5655-11ee-a801-675ed0f8e89b"},"arrayField":["uDUDBB","QLrZOcJGfb","svxppYgvEA"],"boolField":false,"intField":813,"numField":-478.8768387893587,"objField":{"ACEks":-8276999456830472627},"stringDateField":"1914-05-13","stringDateTimeField":"1946-06-23T06:30:51Z","stringField":"gQBjj","stringTimeField":"11:30:50.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":813,"numField":-478.8768387893587,"stringDateField":"1914-05-13","stringDateTimeField":"1946-06-23T06:30:51Z","stringField":"gQBjj","stringTimeField":"11:30:50.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2413,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2413,"uuid":"9e0a89a2-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["trERQECsV","IyCuJgCN","YYXINaNGvw","VPjRiVV","VURST","Maztmw","jUgzI","pUFflNpg","usQumw","yrXFv"],"boolField":true,"intField":-460,"numField":-429.1749287552984,"objField":{"EqPxZD":-5807270315487348834,"EuEpPQcp":-1224266480778631973,"IFbohRm":-4690044177694531849,"pXfhjXX":2220858225270937955,"tbjlKujwsK":3127909451351620537},"stringDateField":"1907-11-22","stringDateTimeField":"1932-11-29T18:51:55Z","stringField":"YeaTKudT","stringTimeField":"12:26:00.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":-460,"numField":-429.1749287552984,"stringDateField":"1907-11-22","stringDateTimeField":"1932-11-29T18:51:55Z","stringField":"YeaTKudT","stringTimeField":"12:26:00.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2414,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2414,"uuid":"9e0a89a2-5655-11ee-b001-675ed0f8e89b"},"arrayField":["zWYmrUa","XKNykqxdl","MPJiE","rxXI","xGvMyk","LxSQQgaGeF","GYcldX"],"boolField":true,"intField":653,"numField":-316.29991023177007,"objField":{"IaciGNXIhd":-2570065525097669709,"JEYucdh":6636253983577192097,"JWpj":304519662226191379,"MtCLn":-626245858430234695,"WRDNWG":-2586035096662448966,"aiTBm":7501977928624234435,"jddRUd":-759564226057402060,"lBWYdIQ":-6765892589229101731,"xoIwlgE":3462679612047498421},"stringDateField":"1968-11-15","stringDateTimeField":"1989-11-30T07:10:43Z","stringField":"YQeY","stringTimeField":"06:38:54.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":653,"numField":-316.29991023177007,"stringDateField":"1968-11-15","stringDateTimeField":"1989-11-30T07:10:43Z","stringField":"YQeY","stringTimeField":"06:38:54.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2415,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2415,"uuid":"9e0a89a2-5655-11ee-b401-675ed0f8e89b"},"arrayField":["WyAcW","GgyHS","yKfHnQpHmI","KJnemJvk","tgwG"],"boolField":true,"intField":-414,"numField":404.06338074077206,"objField":{"CWactqc":-9049961328708875991,"etLfKreh":-7319350300140068674,"ryvYsOuSx":2021933169100433926},"stringDateField":"1955-11-09","stringDateTimeField":"1977-08-07T19:52:53Z","stringField":"ZUXt","stringTimeField":"02:21:09.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":-414,"numField":404.06338074077206,"stringDateField":"1955-11-09","stringDateTimeField":"1977-08-07T19:52:53Z","stringField":"ZUXt","stringTimeField":"02:21:09.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2416,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2416,"uuid":"9e0a89a2-5655-11ee-b801-675ed0f8e89b"},"arrayField":["WJdrdf","jszMSGU","JtZLI","vRWpR","Yeiq","AWYdhfTL","eBTbyttpXc","ibXRXuG","usopaO"],"boolField":true,"intField":-1,"numField":-872.1501733765896,"objField":{"EpZBwoOnAs":7371257701068483736,"SqUTrZ":6046021676485682145,"YalQKoB":8978552028123459866,"gMEbbkNf":-5906220026191307787,"gaIG":-6653199346874113921,"ixXqoWr":8149622468551683915,"jfhdNa":-4411067829462140726,"vjVqI":-8572733234955892761},"stringDateField":"2008-10-29","stringDateTimeField":"1906-11-13T12:48:27Z","stringField":"dRxK","stringTimeField":"19:41:30.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":-1,"numField":-872.1501733765896,"stringDateField":"2008-10-29","stringDateTimeField":"1906-11-13T12:48:27Z","stringField":"dRxK","stringTimeField":"19:41:30.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2417,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2417,"uuid":"9e0a89a2-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["QvYnLxgpG","yfMZ","axVMgs"],"boolField":false,"intField":307,"numField":-372.50811122513016,"objField":{"WkNl":-744889939974083084,"lPKy":-8349502239487800406,"mBSiYXyS":8163188637661253040,"mOCOk":8806781950880534518},"stringDateField":"1972-09-25","stringDateTimeField":"2012-01-05T17:18:04Z","stringField":"EJwvbA","stringTimeField":"00:01:12.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763682Z","intField":307,"numField":-372.50811122513016,"stringDateField":"1972-09-25","stringDateTimeField":"2012-01-05T17:18:04Z","stringField":"EJwvbA","stringTimeField":"00:01:12.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2418,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2418,"uuid":"9e0a89a3-5655-11ee-8001-675ed0f8e89b"},"arrayField":["XRkqT","OLrj","NKiK","VeCOFYYgLW","xMzt"],"boolField":true,"intField":423,"numField":-750.7837261086872,"objField":{"FQHKTgpKT":7458241326309849500,"HJLO":859180846458153696,"IdcG":-2894265628430016219,"LHwNUva":8931239881606262752,"RWTut":3821793220142693181,"iqiQMQ":7087558650616127193,"mzCvxN":8965766667091401720,"nEmx":-3072007993092536360,"zOVYr":-2364724819649863009},"stringDateField":"1971-10-29","stringDateTimeField":"1961-03-20T02:38:58Z","stringField":"wgKEB","stringTimeField":"07:53:04.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":423,"numField":-750.7837261086872,"stringDateField":"1971-10-29","stringDateTimeField":"1961-03-20T02:38:58Z","stringField":"wgKEB","stringTimeField":"07:53:04.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2419,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2419,"uuid":"9e0a89a3-5655-11ee-8401-675ed0f8e89b"},"arrayField":["KPWdHEBdx","WOoTXR","wdBLChZPDs","bwXGq"],"boolField":false,"intField":651,"numField":171.12823399733924,"objField":{"HAQXIpJcmd":-134922211755196438,"QOLPZF":5683730140777805144},"stringDateField":"1907-11-22","stringDateTimeField":"1971-12-22T04:03:15Z","stringField":"TpJScjpf","stringTimeField":"15:49:39.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":651,"numField":171.12823399733924,"stringDateField":"1907-11-22","stringDateTimeField":"1971-12-22T04:03:15Z","stringField":"TpJScjpf","stringTimeField":"15:49:39.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2420,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2420,"uuid":"9e0a89a3-5655-11ee-8801-675ed0f8e89b"},"arrayField":["qBGs"],"boolField":false,"intField":-602,"numField":974.821365607042,"objField":{"YTNZH":-4161582509375155727,"hbayMZhHur":6316359905918645134,"sZyUNREpp":-3009551173077826818},"stringDateField":"1914-09-05","stringDateTimeField":"1952-04-19T14:13:55Z","stringField":"LHvy","stringTimeField":"22:26:59.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":-602,"numField":974.821365607042,"stringDateField":"1914-09-05","stringDateTimeField":"1952-04-19T14:13:55Z","stringField":"LHvy","stringTimeField":"22:26:59.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2421,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2421,"uuid":"9e0a89a3-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["hifVbARJ","hRjfN","ryHDBuEk","ebNQbc","kMWnBOLnBV","pifHEEiXy","jYlntYer","NLccaubnei"],"boolField":true,"intField":-247,"numField":162.9736828264885,"objField":{"TYQmtB":-4636541851505754224,"ZExuoMu":-6155952877317015664,"gBznLweM":-6749621776821083939},"stringDateField":"1972-07-28","stringDateTimeField":"1986-03-11T09:31:33Z","stringField":"NeFzyGiyaU","stringTimeField":"02:13:11.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":-247,"numField":162.9736828264885,"stringDateField":"1972-07-28","stringDateTimeField":"1986-03-11T09:31:33Z","stringField":"NeFzyGiyaU","stringTimeField":"02:13:11.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2422,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2422,"uuid":"9e0a89a3-5655-11ee-9001-675ed0f8e89b"},"arrayField":["EkVsavPL","XHZX","sIzP","GKwXQYDoz","UbRlZ","lwePwbfAu","pWlItn","xjUiDw","esFBsNES","rGhUS"],"boolField":true,"intField":-308,"numField":-6.2911822680183915,"objField":{"KsWVvUNOg":5264892052674256667,"OZgMwH":-3812842906948207825,"TqIw":-4184769892007706260,"WtXN":-5992850900266573087,"alGiWsD":6800376950160151682,"uqykR":9008981363898787058},"stringDateField":"1914-12-01","stringDateTimeField":"1978-01-18T18:32:50Z","stringField":"AQlC","stringTimeField":"18:26:22.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":-308,"numField":-6.2911822680183915,"stringDateField":"1914-12-01","stringDateTimeField":"1978-01-18T18:32:50Z","stringField":"AQlC","stringTimeField":"18:26:22.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2423,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2423,"uuid":"9e0a89a3-5655-11ee-9401-675ed0f8e89b"},"arrayField":["SlyEPdldB","iHoq","bzisJQZO","fQDh","dOlFHCBeN","nhOQXIGe","BQNHA","QgimpChxZw"],"boolField":true,"intField":-760,"numField":-393.55974639124446,"objField":{"CjSMVg":-1247058080071686820,"eZaAW":1455777660770854433,"lqpnGWatT":1344973876271021384,"zblkkv":1596726443960037171},"stringDateField":"1978-06-21","stringDateTimeField":"1979-09-26T08:25:58Z","stringField":"SVrHgkIU","stringTimeField":"04:04:30.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":-760,"numField":-393.55974639124446,"stringDateField":"1978-06-21","stringDateTimeField":"1979-09-26T08:25:58Z","stringField":"SVrHgkIU","stringTimeField":"04:04:30.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2424,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2424,"uuid":"9e0a89a3-5655-11ee-9801-675ed0f8e89b"},"arrayField":["AxBzXfBBl","FRGwwjZWv","wHXhZ","JnmVj","tqzsMfj","tpqmMBv","KLAE","PssUGQtspg","cKjPqcz","cOPc"],"boolField":true,"intField":985,"numField":482.5494477186445,"objField":{"JdRx":-5331344522410735038,"Qptuk":-3204666877078462175,"VoVeGExqsj":2394201885150239071,"fGErHgcTE":697312320549555814,"msZkVuVh":-256295131654609139},"stringDateField":"1999-10-25","stringDateTimeField":"1942-11-26T09:50:54Z","stringField":"dGYQWSpgls","stringTimeField":"09:08:28.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":985,"numField":482.5494477186445,"stringDateField":"1999-10-25","stringDateTimeField":"1942-11-26T09:50:54Z","stringField":"dGYQWSpgls","stringTimeField":"09:08:28.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2425,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2425,"uuid":"9e0a89a3-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["MJscQevrA","MFSQqkAZXs","rhdODR","qhMnz","oYIEi","dwuiDgzRy","IwMoUunb","EbqQWI"],"boolField":true,"intField":-78,"numField":-713.8651651629484,"objField":{"FIxe":7264218360138731835,"HhhYs":-9054579096852369134,"XfjbwnSoBX":-7175701345224946413,"bYWUQVi":-2970746270323223758,"btXv":-4921196640877918652,"jVhLJy":-1533128238910680716,"llaaOXOj":-1469226106597637626,"nRXkmDy":6278139322671937648,"oAcDI":7502953749223549943,"reqkLP":8416008809632495254},"stringDateField":"2000-01-02","stringDateTimeField":"1965-12-25T03:23:59Z","stringField":"VLbAvXEVS","stringTimeField":"17:22:52.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":-78,"numField":-713.8651651629484,"stringDateField":"2000-01-02","stringDateTimeField":"1965-12-25T03:23:59Z","stringField":"VLbAvXEVS","stringTimeField":"17:22:52.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2426,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2426,"uuid":"9e0a89a3-5655-11ee-a001-675ed0f8e89b"},"arrayField":["lzppiREeX","yqFeUqMP"],"boolField":false,"intField":225,"numField":-564.7002970517493,"objField":{"TwedOUQ":-4804384140958152870},"stringDateField":"1937-02-13","stringDateTimeField":"1993-01-04T23:42:48Z","stringField":"wwwkKLfY","stringTimeField":"20:51:46.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":225,"numField":-564.7002970517493,"stringDateField":"1937-02-13","stringDateTimeField":"1993-01-04T23:42:48Z","stringField":"wwwkKLfY","stringTimeField":"20:51:46.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2427,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2427,"uuid":"9e0a89a3-5655-11ee-a401-675ed0f8e89b"},"arrayField":["THgCQfirW","cBWmnuQC","eaNsSLu","btDfteSe","pBKTctHZ"],"boolField":false,"intField":402,"numField":-619.5818016292407,"objField":{"AJFjyLwYHT":5658758446032564343,"JbDS":-216306497346519908,"LocMIE":4186809352050008165,"SZAwp":-8073874468161753417,"XLqT":-4218940356657521410,"axPCOneAn":-422699382849591723,"gYYqKjR":-5906584448388960785,"pIXNu":8244625248784555070,"paczg":6349129803176580069,"tXOLNit":2325082205434387666},"stringDateField":"1996-11-20","stringDateTimeField":"1939-04-28T04:48:19Z","stringField":"zGrqFkJNU","stringTimeField":"12:19:24.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":402,"numField":-619.5818016292407,"stringDateField":"1996-11-20","stringDateTimeField":"1939-04-28T04:48:19Z","stringField":"zGrqFkJNU","stringTimeField":"12:19:24.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2428,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2428,"uuid":"9e0a89a3-5655-11ee-a801-675ed0f8e89b"},"arrayField":["UPDH","RcQnSJh","VfjyixHCA","AEmAd","uaMzDRZ"],"boolField":false,"intField":470,"numField":184.85615346980143,"objField":{"REsaYmPy":-8043793045213473778,"UYeMyBo":-4188762838955913275,"UkUTGHv":322443499854167803,"cCJCcex":-5579875034821759379,"ccEBC":-4703852424179060208,"gTDkqbk":-6533367182986208891,"pQPoduvVi":-2357186335698748094},"stringDateField":"1911-12-08","stringDateTimeField":"1962-08-08T08:23:16Z","stringField":"xJbrLUD","stringTimeField":"02:19:12.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":470,"numField":184.85615346980143,"stringDateField":"1911-12-08","stringDateTimeField":"1962-08-08T08:23:16Z","stringField":"xJbrLUD","stringTimeField":"02:19:12.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2429,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2429,"uuid":"9e0a89a3-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["HohStpqTW","lwmgRSTP","ErFCVsR","sQgQ","nYQjn","jAzlUchxV","MpnFXTCNz"],"boolField":false,"intField":-280,"numField":142.57356270456012,"objField":{"doDocixJ":4722824650618244052,"gIjKmya":2435845511605696488,"hnmmnrwOI":7383779330634944260,"lJuY":-6968126660040851522},"stringDateField":"1975-02-22","stringDateTimeField":"1931-03-02T03:40:49Z","stringField":"NcEFaIaTy","stringTimeField":"02:38:04.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":-280,"numField":142.57356270456012,"stringDateField":"1975-02-22","stringDateTimeField":"1931-03-02T03:40:49Z","stringField":"NcEFaIaTy","stringTimeField":"02:38:04.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2430,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2430,"uuid":"9e0a89a3-5655-11ee-b001-675ed0f8e89b"},"arrayField":["rhoRtGE","isSrMxD","JcSQi","GWFMaUBQdm","HVMKymxE","GBSVti","RkjCAsQR","Bthpkr","lcRWdLIbm"],"boolField":true,"intField":47,"numField":262.09619824243657,"objField":{"CdtpG":-7045198993956244405,"FOGrjuEp":-6231906234847755310,"HKXkIVxQ":-7688841631229447949,"Hufhu":-7024434774943488147,"aXYToI":3321318829468796966,"kjlzlBRM":6816031998264202244,"xWBWC":-3877296634536978911},"stringDateField":"1986-06-12","stringDateTimeField":"1918-04-05T09:43:30Z","stringField":"zGzuUvVL","stringTimeField":"01:59:28.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":47,"numField":262.09619824243657,"stringDateField":"1986-06-12","stringDateTimeField":"1918-04-05T09:43:30Z","stringField":"zGzuUvVL","stringTimeField":"01:59:28.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2431,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2431,"uuid":"9e0a89a3-5655-11ee-b401-675ed0f8e89b"},"arrayField":["SjaTXivQ","kOaibSmPWp","DwVHjMV","jGQvVlycVl","wTsGSsN"],"boolField":true,"intField":223,"numField":753.1915328166525,"objField":{"ybOkOCHzip":4597034108146319572},"stringDateField":"1941-05-02","stringDateTimeField":"1905-01-02T08:29:52Z","stringField":"uBrusl","stringTimeField":"06:10:30.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":223,"numField":753.1915328166525,"stringDateField":"1941-05-02","stringDateTimeField":"1905-01-02T08:29:52Z","stringField":"uBrusl","stringTimeField":"06:10:30.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2432,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2432,"uuid":"9e0a89a3-5655-11ee-b801-675ed0f8e89b"},"arrayField":["cJFRFekR","OwkFd","kJMhi","HdXHtMb","mvBDlSbTb","Ssce","QKiETQOm","UHFftqfWx"],"boolField":true,"intField":912,"numField":424.6721993841942,"objField":{"EeSIn":4708009343464272472,"NIrRtUBKg":-3789079543516679655,"VcHfHY":-3094450813215407468,"hiyqmN":-6860310900325164261,"rNPqVx":-9069652117787006734},"stringDateField":"1927-11-01","stringDateTimeField":"1950-09-05T10:51:39Z","stringField":"wAfZtN","stringTimeField":"10:30:23.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":912,"numField":424.6721993841942,"stringDateField":"1927-11-01","stringDateTimeField":"1950-09-05T10:51:39Z","stringField":"wAfZtN","stringTimeField":"10:30:23.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2433,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2433,"uuid":"9e0a89a3-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["zOcY","nmSrF","JQHjbqSsyX","dTXxjhAy","XVfCjIr","DeuHVxB","RCuuZ","cOEVdaZCzR"],"boolField":false,"intField":-401,"numField":635.4045126033909,"objField":{"KHBF":-2391069119717609562,"TaOqoEwH":6265251464586244647,"UBQGC":2137921422994614531,"UgjeCHwWLa":1241789929831813334},"stringDateField":"1963-02-06","stringDateTimeField":"1979-08-31T14:07:52Z","stringField":"PIyPMLEZE","stringTimeField":"23:12:31.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763683Z","intField":-401,"numField":635.4045126033909,"stringDateField":"1963-02-06","stringDateTimeField":"1979-08-31T14:07:52Z","stringField":"PIyPMLEZE","stringTimeField":"23:12:31.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2434,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2434,"uuid":"9e0a89a4-5655-11ee-8001-675ed0f8e89b"},"arrayField":["XHPfyT","IJQd","luwJ","nIClgGTt","eQVIwhKves","aADmS"],"boolField":false,"intField":-364,"numField":-198.80893404364164,"objField":{"NpHdujtczb":-5679107100711377516,"QWbYHJAXDK":2408855417188047070},"stringDateField":"1922-05-31","stringDateTimeField":"1920-03-13T12:43:08Z","stringField":"PHpYcGsdvA","stringTimeField":"15:52:18.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":-364,"numField":-198.80893404364164,"stringDateField":"1922-05-31","stringDateTimeField":"1920-03-13T12:43:08Z","stringField":"PHpYcGsdvA","stringTimeField":"15:52:18.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2435,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2435,"uuid":"9e0a89a4-5655-11ee-8401-675ed0f8e89b"},"arrayField":["XDvNh","LIakND","XBstV","pRAHKsvz","oJRl","sjSzJJPwKl","CKFkq","IpxAOlC","ZYBR"],"boolField":true,"intField":-1000,"numField":-727.0483228300826,"objField":{"CxVaYsnAXg":-3853421261217813073,"PJMp":8517208134918135466,"QgmStrkjk":-3519843867177844794,"Vbfw":7004503532166206261},"stringDateField":"1925-07-15","stringDateTimeField":"1962-03-03T04:24:58Z","stringField":"FkEnmGfakh","stringTimeField":"07:00:12.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":-1000,"numField":-727.0483228300826,"stringDateField":"1925-07-15","stringDateTimeField":"1962-03-03T04:24:58Z","stringField":"FkEnmGfakh","stringTimeField":"07:00:12.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2436,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2436,"uuid":"9e0a89a4-5655-11ee-8801-675ed0f8e89b"},"arrayField":["TXMz","kuYHQw","MbdWUxnNs","VVLZ","dHDbf","iTjmpMiDAd","ectg"],"boolField":false,"intField":430,"numField":-795.472856271834,"objField":{"FMUwg":7412403667158381978,"PCKklo":3244690827691290107,"StongM":-811144544739537385,"VdqTIuVf":4063430379002803659,"bpWWm":7919666204747909003,"hsGChonaF":6511251027365475967,"kyGqVU":-8116785484471930959},"stringDateField":"2003-06-12","stringDateTimeField":"1950-09-24T17:52:39Z","stringField":"ycXQFfvOt","stringTimeField":"20:07:17.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":430,"numField":-795.472856271834,"stringDateField":"2003-06-12","stringDateTimeField":"1950-09-24T17:52:39Z","stringField":"ycXQFfvOt","stringTimeField":"20:07:17.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2437,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2437,"uuid":"9e0a89a4-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["AZXNm","grHWMtf","DFDPSqg","PDKj","CVBCYOIP","rkrZsSaSQP","TRiwzPUvYu","ZOwpUiReW","ZTQewhw","KyKqbNpf"],"boolField":true,"intField":-654,"numField":-324.68327632316027,"objField":{"MxRgawU":-4943733854593731097,"NVZRzZSZg":-4633682405901237369,"PjDGGqG":4904727499968434168,"TOoNg":3108739828559220211,"UpGild":2335674444423617954,"ZohGBy":5482170367543339447,"fhWRbp":-7148520885909236196,"okinncNL":-6998010077513129672,"vYOGF":-1894971311465322741},"stringDateField":"1996-05-05","stringDateTimeField":"1986-09-10T08:02:03Z","stringField":"JjjHCoPP","stringTimeField":"19:51:29.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":-654,"numField":-324.68327632316027,"stringDateField":"1996-05-05","stringDateTimeField":"1986-09-10T08:02:03Z","stringField":"JjjHCoPP","stringTimeField":"19:51:29.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2438,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2438,"uuid":"9e0a89a4-5655-11ee-9001-675ed0f8e89b"},"arrayField":["gTxBUFGV"],"boolField":false,"intField":-242,"numField":799.923697591308,"objField":{"JGQBA":-1658959797471356933,"RmfBF":-7265482014417145717,"plPzy":5296302539920881676,"zYJuKdNGg":-3722742413084493439},"stringDateField":"2022-09-22","stringDateTimeField":"1954-12-20T05:40:44Z","stringField":"LkkDePbftK","stringTimeField":"07:50:00.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":-242,"numField":799.923697591308,"stringDateField":"2022-09-22","stringDateTimeField":"1954-12-20T05:40:44Z","stringField":"LkkDePbftK","stringTimeField":"07:50:00.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2439,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2439,"uuid":"9e0a89a4-5655-11ee-9401-675ed0f8e89b"},"arrayField":["iIoJgQ","whRX"],"boolField":false,"intField":108,"numField":-24.876285836762374,"objField":{"QanHh":-7909105985390574967,"TrKPLr":1049518680713666335,"cynxLEDSS":6566704717520950448,"oJWXQrtgK":3885872692258409336,"wjkvQ":3867310865690173054,"zuuhHztDcW":-5687318251447876117},"stringDateField":"1953-12-03","stringDateTimeField":"1934-10-17T03:18:28Z","stringField":"dGFYZ","stringTimeField":"22:18:09.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":108,"numField":-24.876285836762374,"stringDateField":"1953-12-03","stringDateTimeField":"1934-10-17T03:18:28Z","stringField":"dGFYZ","stringTimeField":"22:18:09.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2440,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2440,"uuid":"9e0a89a4-5655-11ee-9801-675ed0f8e89b"},"arrayField":["WnlIzVgBan"],"boolField":false,"intField":-682,"numField":-52.13818104544365,"objField":{"HYSZ":6423638888863169440,"IUoZE":2731054582461725646,"TeEcnsv":-4048155468493488522,"kZAikAh":6777340140394840564,"lDMJeoUeD":-5021143210324985507,"oDWBkP":4880779211167868630,"oxGhb":-6178274246331123470,"pAuxkTfW":-7898084523146425328,"rhmP":-4334642509994969680,"tONwwwWKdA":-7691828090749497262},"stringDateField":"1957-06-23","stringDateTimeField":"2010-04-09T04:28:45Z","stringField":"iXOawzQhnD","stringTimeField":"23:09:53.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":-682,"numField":-52.13818104544365,"stringDateField":"1957-06-23","stringDateTimeField":"2010-04-09T04:28:45Z","stringField":"iXOawzQhnD","stringTimeField":"23:09:53.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2441,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2441,"uuid":"9e0a89a4-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["iuwTGTW","DlFWBE","KzqPG","Aubll"],"boolField":true,"intField":427,"numField":-330.31418851255455,"objField":{"AAvXZY":-6225380541061677428,"BWnGjH":-3218716895942091211,"KXju":-795347362717091530,"NIKSjwe":2385345020415482906,"dwOTU":-7175270115665952885,"jokIlX":-1490496357962087316,"kVwqSyIP":962999800677194328,"muosHfvlqL":-5135483022412647386,"qdet":-3488575413992235344,"tpuOX":-7890282117586116852},"stringDateField":"1910-04-20","stringDateTimeField":"1902-08-08T00:42:50Z","stringField":"mHDzs","stringTimeField":"10:18:44.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":427,"numField":-330.31418851255455,"stringDateField":"1910-04-20","stringDateTimeField":"1902-08-08T00:42:50Z","stringField":"mHDzs","stringTimeField":"10:18:44.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2442,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2442,"uuid":"9e0a89a4-5655-11ee-a001-675ed0f8e89b"},"arrayField":["IqAHFIoNOE","eGyrXUX","xeMgE","onyowfXpUy","zbdwHmYACD"],"boolField":true,"intField":91,"numField":538.8353033464282,"objField":{"GwiXPJt":-4201701888575568713},"stringDateField":"1985-11-10","stringDateTimeField":"2007-07-22T14:41:33Z","stringField":"gJAulaWRI","stringTimeField":"18:02:12.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":91,"numField":538.8353033464282,"stringDateField":"1985-11-10","stringDateTimeField":"2007-07-22T14:41:33Z","stringField":"gJAulaWRI","stringTimeField":"18:02:12.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2443,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2443,"uuid":"9e0a89a4-5655-11ee-a401-675ed0f8e89b"},"arrayField":["PlLTAaFUj","SWKkPNPoJ","omsMQR"],"boolField":true,"intField":593,"numField":856.1863692523299,"objField":{"CKDpWi":-950223546400921597,"UHEMQYHQV":4275737993252069515,"UtGKJ":2150102054295049194,"Yqgxj":7735080194396471357,"rKDIvPyBd":-3240526000751267782,"xRKzOXrua":-2611379124201565372},"stringDateField":"1908-10-17","stringDateTimeField":"2004-05-01T01:44:42Z","stringField":"xvAqsO","stringTimeField":"09:38:41.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":593,"numField":856.1863692523299,"stringDateField":"1908-10-17","stringDateTimeField":"2004-05-01T01:44:42Z","stringField":"xvAqsO","stringTimeField":"09:38:41.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2444,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2444,"uuid":"9e0a89a4-5655-11ee-a801-675ed0f8e89b"},"arrayField":["CaFZUt","ojklrvFGF","rApSlVg","YpjjmjTh","AAAptvkRYd","GmLKadm","saeRp","GTExGObp","HRJXk"],"boolField":false,"intField":-432,"numField":-596.8356561717817,"objField":{"bVzhPLW":-4854270150789850772},"stringDateField":"1960-07-10","stringDateTimeField":"1994-02-09T21:10:09Z","stringField":"BiRQmFD","stringTimeField":"07:17:26.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":-432,"numField":-596.8356561717817,"stringDateField":"1960-07-10","stringDateTimeField":"1994-02-09T21:10:09Z","stringField":"BiRQmFD","stringTimeField":"07:17:26.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2445,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2445,"uuid":"9e0a89a4-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["xZolM","JHxnHEN","jbXbHjKTA"],"boolField":true,"intField":647,"numField":-552.0945205381825,"objField":{"DlzqMKH":-7199824329660832174,"pcRHmVGdM":7745757181453332568},"stringDateField":"1989-10-28","stringDateTimeField":"2012-11-21T14:07:32Z","stringField":"nwSAfLa","stringTimeField":"07:14:21.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":647,"numField":-552.0945205381825,"stringDateField":"1989-10-28","stringDateTimeField":"2012-11-21T14:07:32Z","stringField":"nwSAfLa","stringTimeField":"07:14:21.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2446,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2446,"uuid":"9e0a89a4-5655-11ee-b001-675ed0f8e89b"},"arrayField":["zLFa","tmMOjhC","MbHlI","hgzgmtaDmj","jstnLz","kYsfMqEZ","djKfA","xmTSeH","MRwTiq","yFptYhG"],"boolField":true,"intField":-751,"numField":981.434257737204,"objField":{"MCvQCBO":3256502369303674754,"MHhAlUyf":9197294996221762209,"NYJecaGDno":-4721784877116119680,"VSggSrln":3837578504778684723,"WWipLUN":-4190469266066107943,"cRsR":-652779113104762508,"fgSWlvxYQ":9057732062312917876,"kZULQ":-8770501712969643542,"zFSMLTWU":3142142635691128183},"stringDateField":"2021-03-13","stringDateTimeField":"1953-07-28T05:51:02Z","stringField":"LeVUIDt","stringTimeField":"03:43:14.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":-751,"numField":981.434257737204,"stringDateField":"2021-03-13","stringDateTimeField":"1953-07-28T05:51:02Z","stringField":"LeVUIDt","stringTimeField":"03:43:14.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2447,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2447,"uuid":"9e0a89a4-5655-11ee-b401-675ed0f8e89b"},"arrayField":["uEnyHEeKQ","AAqAALr","TjBtdIvS","dSGKfYBDL","zvfKEwzGN","tedU","cKpvvKn"],"boolField":false,"intField":-39,"numField":577.7312482637425,"objField":{"fdPclGj":6352085548321671972,"xdapzN":9031863122139142882},"stringDateField":"1937-08-15","stringDateTimeField":"1983-11-13T10:18:12Z","stringField":"cNWW","stringTimeField":"02:36:14.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":-39,"numField":577.7312482637425,"stringDateField":"1937-08-15","stringDateTimeField":"1983-11-13T10:18:12Z","stringField":"cNWW","stringTimeField":"02:36:14.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2448,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2448,"uuid":"9e0a89a4-5655-11ee-b801-675ed0f8e89b"},"arrayField":["VjFYU","wZiOXcQVW","MLHRJU","NSIksyE","uocArI","npINBxFuV","JkmLMYJ","jQLhLoSD","SAyeebljfM"],"boolField":false,"intField":-300,"numField":683.6335666659694,"objField":{"SBdUUD":-3574782963439592581,"VUAOeMK":5791524256192173229,"vULtYlykV":7835495658525930299},"stringDateField":"1967-10-01","stringDateTimeField":"1934-01-29T18:19:14Z","stringField":"BnRb","stringTimeField":"22:08:18.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":-300,"numField":683.6335666659694,"stringDateField":"1967-10-01","stringDateTimeField":"1934-01-29T18:19:14Z","stringField":"BnRb","stringTimeField":"22:08:18.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2449,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2449,"uuid":"9e0a89a4-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["fDDz","UdkNcUqt","XMbO","YywJfSZmr","DJICffKDxP","vQwpD"],"boolField":false,"intField":-903,"numField":-63.82678030668521,"objField":{"LtpRoQaR":-2118149304440276781,"QmVStEVIJc":-469071581174669958,"WqPAYZUgCY":-1410951107363332332,"aDyndrzWVW":8754944070027666769,"badnqjIK":4106271009620504842,"cRxnyRVN":-286147825054321666,"nkHpfaKS":5716540825825140637,"oSexhe":3052882992349533204,"uqiyCFZpS":5989913720586114240},"stringDateField":"1976-11-07","stringDateTimeField":"1938-10-13T09:24:29Z","stringField":"dmEPtJ","stringTimeField":"05:35:19.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763684Z","intField":-903,"numField":-63.82678030668521,"stringDateField":"1976-11-07","stringDateTimeField":"1938-10-13T09:24:29Z","stringField":"dmEPtJ","stringTimeField":"05:35:19.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2450,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2450,"uuid":"9e0a89a5-5655-11ee-8001-675ed0f8e89b"},"arrayField":["OgsQNV","blWNQhHF","bGdYYZj","WpKtCzB","UEeQbS","PNaYbaDYk","sqwlQ","rgcvsrcMuf"],"boolField":true,"intField":-902,"numField":435.76262570420954,"objField":{"jZaLlItxM":3219847245698135096,"lNBLFw":-4928358809876393462,"rScUpon":-5833647794711818488,"vhLqhSuL":-3284831759264452444},"stringDateField":"2011-07-10","stringDateTimeField":"1972-10-13T19:19:34Z","stringField":"ulHgslqh","stringTimeField":"22:20:17.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":-902,"numField":435.76262570420954,"stringDateField":"2011-07-10","stringDateTimeField":"1972-10-13T19:19:34Z","stringField":"ulHgslqh","stringTimeField":"22:20:17.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2451,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2451,"uuid":"9e0a89a5-5655-11ee-8401-675ed0f8e89b"},"arrayField":["Vpqpz","sNEBrAbq","uUwwfMkY","OpIQbTX","wYgXqYupX","sAeQ","kxuyNy","wNvCfjos","QwSynckR","ywkohKhsn"],"boolField":false,"intField":-654,"numField":-674.6297002773496,"objField":{"maVs":-8887738290714325158},"stringDateField":"1995-06-24","stringDateTimeField":"1978-05-09T23:56:18Z","stringField":"MEAQOs","stringTimeField":"23:13:37.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":-654,"numField":-674.6297002773496,"stringDateField":"1995-06-24","stringDateTimeField":"1978-05-09T23:56:18Z","stringField":"MEAQOs","stringTimeField":"23:13:37.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2452,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2452,"uuid":"9e0a89a5-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ugeaJD","tytl","vuWdAvfNWa","aNVlG","uOkeQiB","tShG","umjcMa"],"boolField":true,"intField":180,"numField":977.1723805403034,"objField":{"QVgoDxgc":1725337152752045132,"TYCqmpxVFQ":8461304060591957034,"WAFqT":8402334658477152421,"ijsIBXQ":7562192399669039058,"ivzAU":7171724872912357833,"qYnlocPqp":-7400818370395404367,"sMepRLj":-5951634369818961599,"tZfAYRbE":-5957185500338467711,"yJkScVvhWF":4169059801752681967},"stringDateField":"1989-09-18","stringDateTimeField":"2006-01-14T12:37:53Z","stringField":"nJsCB","stringTimeField":"14:13:34.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":180,"numField":977.1723805403034,"stringDateField":"1989-09-18","stringDateTimeField":"2006-01-14T12:37:53Z","stringField":"nJsCB","stringTimeField":"14:13:34.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2453,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2453,"uuid":"9e0a89a5-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["dZfrf","SZuF","zocuvnJn","rcgU","MSIcLpG","JnDHrQj","uiZDkjXn","VwpL","RqXpHFa"],"boolField":false,"intField":-564,"numField":-397.2890176697411,"objField":{"AqXGHopYq":167172375092139538,"EtEayv":-3442952212206777012,"SdfE":4463003575523245331,"VWAnlGpS":-8498112756645593008,"alFUh":-5707760067037009113,"nhIQQvxI":-2836655693881560456,"noldF":-8743105212065628053,"zDhIFBvW":-4523270198641458473},"stringDateField":"1934-11-05","stringDateTimeField":"1999-01-14T02:45:02Z","stringField":"MexJYszm","stringTimeField":"09:05:21.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":-564,"numField":-397.2890176697411,"stringDateField":"1934-11-05","stringDateTimeField":"1999-01-14T02:45:02Z","stringField":"MexJYszm","stringTimeField":"09:05:21.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2454,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2454,"uuid":"9e0a89a5-5655-11ee-9001-675ed0f8e89b"},"arrayField":["likyrhQk","HNYxujnaFH","tNDYYbZCo","iwPG","YMXFA","ykVbHJ"],"boolField":true,"intField":559,"numField":-554.9731159027137,"objField":{"vdvDOekozX":-8857815264962845205,"vvJXM":-7091780582312634900,"yztEbnFMv":451336169914612135},"stringDateField":"1953-08-05","stringDateTimeField":"1917-09-17T22:55:29Z","stringField":"bpfDEeybKU","stringTimeField":"20:11:02.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":559,"numField":-554.9731159027137,"stringDateField":"1953-08-05","stringDateTimeField":"1917-09-17T22:55:29Z","stringField":"bpfDEeybKU","stringTimeField":"20:11:02.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2455,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2455,"uuid":"9e0a89a5-5655-11ee-9401-675ed0f8e89b"},"arrayField":["rnykoaq","uJMQCwOuhH","kTfd","BFncdBi","MaxC","nokWsh","qSTy","vatRBATnSs"],"boolField":false,"intField":-968,"numField":873.103031377972,"objField":{"DZfgNLMG":9109086184117878170,"MWxut":6378237950707297831,"NjQXxZLp":-2454249707923175174,"hpvPkCdLaP":8054638571862539757,"iYfLeFOz":-8154285622031171355,"qJlSla":-4715355312320441562,"skagVXER":-1056468035641745900},"stringDateField":"1917-06-10","stringDateTimeField":"2006-02-08T11:49:46Z","stringField":"joMQmwbGK","stringTimeField":"08:55:14.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":-968,"numField":873.103031377972,"stringDateField":"1917-06-10","stringDateTimeField":"2006-02-08T11:49:46Z","stringField":"joMQmwbGK","stringTimeField":"08:55:14.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2456,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2456,"uuid":"9e0a89a5-5655-11ee-9801-675ed0f8e89b"},"arrayField":["MCYEAtcMt","SyHvx","rSZJQ","erkCSgjEO","KUidpOEzQC","iOHvVOypge"],"boolField":true,"intField":656,"numField":828.8662859925208,"objField":{"awYkAQwJHd":6923852300386157581,"laHFjFQGQ":4772769168575930148,"rSPnKQSXf":5280469210770565692},"stringDateField":"1948-08-24","stringDateTimeField":"1955-09-16T12:35:50Z","stringField":"HkbYQgo","stringTimeField":"17:01:29.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":656,"numField":828.8662859925208,"stringDateField":"1948-08-24","stringDateTimeField":"1955-09-16T12:35:50Z","stringField":"HkbYQgo","stringTimeField":"17:01:29.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2457,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2457,"uuid":"9e0a89a5-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ktaxq","gEfYX","mqDd","GaQxSQ","WDMIPeW","jGbPy","RosgxTKbCq","QSqNoq","DQbutc","piPP"],"boolField":false,"intField":-263,"numField":-84.5949337317512,"objField":{"dUwrSdb":-2717801122476626954,"ohSbwtZvq":-6438368714706184546},"stringDateField":"1976-08-09","stringDateTimeField":"1919-06-27T07:19:42Z","stringField":"cijcp","stringTimeField":"09:52:12.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":-263,"numField":-84.5949337317512,"stringDateField":"1976-08-09","stringDateTimeField":"1919-06-27T07:19:42Z","stringField":"cijcp","stringTimeField":"09:52:12.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2458,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2458,"uuid":"9e0a89a5-5655-11ee-a001-675ed0f8e89b"},"arrayField":["xFHVIEvcfV","JFFl","EgSYXJ","zKCGzX","ogMI","kWbbHtKplJ","AgQR","jVZbS"],"boolField":true,"intField":693,"numField":533.4546259062079,"objField":{"BZlOsQFfW":7347334570216764367,"OSQSCuXm":3063423184656405729,"YURyggcde":8335587056104325518,"rohIM":6840113036437680525},"stringDateField":"1933-12-11","stringDateTimeField":"1912-05-24T08:35:46Z","stringField":"ECzilR","stringTimeField":"05:54:34.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":693,"numField":533.4546259062079,"stringDateField":"1933-12-11","stringDateTimeField":"1912-05-24T08:35:46Z","stringField":"ECzilR","stringTimeField":"05:54:34.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2459,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2459,"uuid":"9e0a89a5-5655-11ee-a401-675ed0f8e89b"},"arrayField":["XUESMS","QWvbJd","EVrj","UfZvaBng","IceKucIw","IeAlJoOA","YBaPkENR","YavMQls","jrAPjegwA","YFeOFYZFh"],"boolField":false,"intField":-788,"numField":477.1532501494256,"objField":{"PqLOrH":-3191124117814395592,"UROygNFjn":-5885571759500338577,"Wvythi":4145123193822625039,"iDwzd":-1342509955110132573,"iHCdagjaad":-6744281964469491612},"stringDateField":"1993-03-01","stringDateTimeField":"1916-02-09T05:55:58Z","stringField":"nCGvk","stringTimeField":"10:41:47.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":-788,"numField":477.1532501494256,"stringDateField":"1993-03-01","stringDateTimeField":"1916-02-09T05:55:58Z","stringField":"nCGvk","stringTimeField":"10:41:47.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2460,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2460,"uuid":"9e0a89a5-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ZGJw","rqldsfdpL","uEXFu","AbDn","NRBRuHOQ"],"boolField":true,"intField":-959,"numField":729.8523345426875,"objField":{"AWarQIyd":5736136803867428526,"GRhrvWd":-3257433026535523169,"NrrCrkEiLN":-7946753355207288009,"bHiTakOvt":-4969731616158726442,"dPRPOW":-2864069541779193347,"lZYYBwX":-1418609503255942793},"stringDateField":"1980-10-02","stringDateTimeField":"2000-12-21T22:23:45Z","stringField":"WTMkYv","stringTimeField":"03:23:11.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":-959,"numField":729.8523345426875,"stringDateField":"1980-10-02","stringDateTimeField":"2000-12-21T22:23:45Z","stringField":"WTMkYv","stringTimeField":"03:23:11.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2461,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2461,"uuid":"9e0a89a5-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["YygKcbp","GNuVG","sEjcQeS","VKiOzjofhH","fdnU","tQdJKG","GWQoWbmAq","NyLnrFooNP","SbGPSmr"],"boolField":false,"intField":-335,"numField":234.53437004010323,"objField":{"XCSdqw":3557708192153891012,"ffqtWs":-6922984274158139996},"stringDateField":"1957-09-08","stringDateTimeField":"1971-03-12T21:08:44Z","stringField":"hjUzsgAip","stringTimeField":"20:04:18.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":-335,"numField":234.53437004010323,"stringDateField":"1957-09-08","stringDateTimeField":"1971-03-12T21:08:44Z","stringField":"hjUzsgAip","stringTimeField":"20:04:18.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2462,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2462,"uuid":"9e0a89a5-5655-11ee-b001-675ed0f8e89b"},"arrayField":["DQtGxT","Farp","bniAbYyuIe"],"boolField":false,"intField":-473,"numField":-970.2334828456268,"objField":{"CgaM":-6759933499786324582,"LCqYDoenn":-2676243321557333081,"MYukBbPeXF":4748649285228826323,"SAxoVQE":5704056551835377200,"buJgm":-3812289689949261328},"stringDateField":"2008-04-09","stringDateTimeField":"1970-11-06T13:27:02Z","stringField":"mfaK","stringTimeField":"06:03:55.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":-473,"numField":-970.2334828456268,"stringDateField":"2008-04-09","stringDateTimeField":"1970-11-06T13:27:02Z","stringField":"mfaK","stringTimeField":"06:03:55.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2463,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2463,"uuid":"9e0a89a5-5655-11ee-b401-675ed0f8e89b"},"arrayField":["EMaDlQkA","TlEPenwM","LfOUx","tyvkNgL","flpOMMMM","obINooOGC","nfNHS","khOe","XwFZNgTM"],"boolField":true,"intField":591,"numField":142.86794898713805,"objField":{"FnwUYkydDf":-4051349919108432224,"HubvA":3816746540495992315,"SqpmIvIulY":-6427564274419432733,"TNiuK":-2927937393825017338,"VVca":-1616765287540757838,"akzmDgxZS":4989659676314677127,"iqGEq":-7870641816846221503,"kItj":-3000651871774337308,"ncDDmiLD":3202953746133192712,"vPZZSN":-375081807058833817},"stringDateField":"2009-05-26","stringDateTimeField":"1932-04-07T13:32:37Z","stringField":"Hkqx","stringTimeField":"20:00:07.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":591,"numField":142.86794898713805,"stringDateField":"2009-05-26","stringDateTimeField":"1932-04-07T13:32:37Z","stringField":"Hkqx","stringTimeField":"20:00:07.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2464,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2464,"uuid":"9e0a89a5-5655-11ee-b801-675ed0f8e89b"},"arrayField":["WvDSh","WOWTU","VyGH","NDWiIdZ","xYrQJK","ZiFJRPZups"],"boolField":false,"intField":41,"numField":783.283427196787,"objField":{"AbxlnOta":793875569005605644,"ZHSGa":-2515223971378450303,"rvsmwCFdJN":-1005390942930636193,"tMDVCAEx":4911661788919019095,"vpMWGfE":-5995532091382600399,"wKkGe":-2471016330352679293,"zUJi":9192047531003458534},"stringDateField":"2021-01-26","stringDateTimeField":"2013-03-09T01:05:12Z","stringField":"gjIkPZEuPJ","stringTimeField":"23:20:06.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":41,"numField":783.283427196787,"stringDateField":"2021-01-26","stringDateTimeField":"2013-03-09T01:05:12Z","stringField":"gjIkPZEuPJ","stringTimeField":"23:20:06.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2465,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2465,"uuid":"9e0a89a5-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["stjW","cOBR"],"boolField":false,"intField":871,"numField":364.03770910941023,"objField":{"FppJvBNyO":-8662923780936670842,"XRxhcjutOq":-2700810079885190615,"dBiqoRn":8979836816446835038,"gEwcLYzfkF":7057157778665192210},"stringDateField":"1917-11-20","stringDateTimeField":"1967-11-11T18:07:06Z","stringField":"YUFYVmUus","stringTimeField":"18:29:56.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763685Z","intField":871,"numField":364.03770910941023,"stringDateField":"1917-11-20","stringDateTimeField":"1967-11-11T18:07:06Z","stringField":"YUFYVmUus","stringTimeField":"18:29:56.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2466,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2466,"uuid":"9e0a89a6-5655-11ee-8001-675ed0f8e89b"},"arrayField":["UNCoeoO","QpbrOdluvJ","oYVCZ","rhMB","wBLShkyNE","hZaAbtf","SmXcW","WAWFlr","xWixO","UCxlEdehKP"],"boolField":false,"intField":823,"numField":-331.7524353739354,"objField":{"EHqG":2059419184515846578,"ompbnG":-7810818929618024292,"sSSsFQ":-2810006966633015057,"tqET":4284015371177739959,"xReDC":-8786432999561706198},"stringDateField":"1962-05-12","stringDateTimeField":"1973-05-08T16:37:10Z","stringField":"ceoZ","stringTimeField":"23:07:06.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":823,"numField":-331.7524353739354,"stringDateField":"1962-05-12","stringDateTimeField":"1973-05-08T16:37:10Z","stringField":"ceoZ","stringTimeField":"23:07:06.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2467,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2467,"uuid":"9e0a89a6-5655-11ee-8401-675ed0f8e89b"},"arrayField":["Dlvhajt","FPCycw","DNDga","KXeky"],"boolField":true,"intField":-712,"numField":676.9402530016438,"objField":{"AJIhBmr":5535633893814277576,"CSxMOL":2738883936159666527,"Dpudf":-6053565544613745797,"GARIWxGRS":6605715130210994766,"KwvwP":8898528736922612761,"REYvpVuN":8859498924015542568,"TGBtTg":-1247196692382642934,"oOcs":-4148858287271567022,"ubPQrHXz":-3403380489251856029},"stringDateField":"1939-05-29","stringDateTimeField":"1923-04-02T08:14:00Z","stringField":"geCuzmNvVT","stringTimeField":"18:39:16.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":-712,"numField":676.9402530016438,"stringDateField":"1939-05-29","stringDateTimeField":"1923-04-02T08:14:00Z","stringField":"geCuzmNvVT","stringTimeField":"18:39:16.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2468,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2468,"uuid":"9e0a89a6-5655-11ee-8801-675ed0f8e89b"},"arrayField":["cANrkBhC","SSLscg","VEPXJcomu","DVfogQzE","TUAoat","VPnA","iJBQd","mOzQgm","XfDDu"],"boolField":false,"intField":624,"numField":-89.19938455582366,"objField":{"cxTZhDq":3598125801581939026,"ojNCK":-5334078918349961764},"stringDateField":"1925-06-29","stringDateTimeField":"2001-04-02T13:31:57Z","stringField":"Qfgd","stringTimeField":"06:28:09.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":624,"numField":-89.19938455582366,"stringDateField":"1925-06-29","stringDateTimeField":"2001-04-02T13:31:57Z","stringField":"Qfgd","stringTimeField":"06:28:09.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2469,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2469,"uuid":"9e0a89a6-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["EoqQ"],"boolField":true,"intField":-98,"numField":-938.3946035572014,"objField":{"Cpab":-2582438408497304350,"EFMVa":-2054700559812278738,"bVauA":-7883512312378923108,"fUJuSDQtHf":539246987712648341},"stringDateField":"1906-05-19","stringDateTimeField":"1987-06-23T02:10:59Z","stringField":"NIFjmdcvn","stringTimeField":"03:17:45.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":-98,"numField":-938.3946035572014,"stringDateField":"1906-05-19","stringDateTimeField":"1987-06-23T02:10:59Z","stringField":"NIFjmdcvn","stringTimeField":"03:17:45.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2470,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2470,"uuid":"9e0a89a6-5655-11ee-9001-675ed0f8e89b"},"arrayField":["NBQqLqw","ZpUr","hBMSyyIow","EGqrDBvROv","kkOKTp","lNPt"],"boolField":true,"intField":-894,"numField":-999.2133747355284,"objField":{"UptFDauf":-6921821267999076547,"ZlirXN":-7696771777401136915,"dQaSSfx":-219071269583847188,"fifHE":7826449820779306424,"yRQrq":7757760068009897141},"stringDateField":"2006-07-02","stringDateTimeField":"2005-11-02T04:25:57Z","stringField":"KUcvLzNe","stringTimeField":"19:54:38.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":-894,"numField":-999.2133747355284,"stringDateField":"2006-07-02","stringDateTimeField":"2005-11-02T04:25:57Z","stringField":"KUcvLzNe","stringTimeField":"19:54:38.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2471,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2471,"uuid":"9e0a89a6-5655-11ee-9401-675ed0f8e89b"},"arrayField":["UBgjCO","OcNx","efEVIvKZiE","HYTXD","BZAryYKVD"],"boolField":false,"intField":-982,"numField":-812.8320131678607,"objField":{"EtwE":3761927771193521447,"KtIJLLzAi":-5602416372997785656,"QLdWknTh":-4734168568620483724,"SNzNiHaPg":7794716259095627554,"TaCPpB":5148363394073245676,"jhfXGsMN":-2372953894334187226,"wiKnlfpeeD":-8962305751513633159},"stringDateField":"1991-04-03","stringDateTimeField":"1998-09-14T16:06:05Z","stringField":"GXpiI","stringTimeField":"01:18:05.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":-982,"numField":-812.8320131678607,"stringDateField":"1991-04-03","stringDateTimeField":"1998-09-14T16:06:05Z","stringField":"GXpiI","stringTimeField":"01:18:05.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2472,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2472,"uuid":"9e0a89a6-5655-11ee-9801-675ed0f8e89b"},"arrayField":["jXHsUxjg","VpQwCuHVU","lpvWT","znVWVnuvw","ffxAW","ZuhW"],"boolField":true,"intField":870,"numField":-842.9588764138687,"objField":{"XGTbnfiDw":5977114839273474171,"ejxZX":-2858008385337571038},"stringDateField":"1983-04-25","stringDateTimeField":"1971-11-20T14:40:26Z","stringField":"Ftpp","stringTimeField":"14:10:27.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":870,"numField":-842.9588764138687,"stringDateField":"1983-04-25","stringDateTimeField":"1971-11-20T14:40:26Z","stringField":"Ftpp","stringTimeField":"14:10:27.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2473,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2473,"uuid":"9e0a89a6-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ZLtMLatswA","PggwZ","GjjQFaN","Njkyz","QWraWYnAEZ","riIWvc","RShuIlCPEM"],"boolField":true,"intField":-18,"numField":-711.7071942248039,"objField":{"COxBDMQLK":-6227687166519095105,"HCFn":6628215394718191738,"JVgqG":-6074416425415904273,"KEQiuwLz":8909815671567583565,"NuvKZLN":-3734468473982907397,"UjzVkMQ":8659971110547628432,"XKmVSttV":6667082918617497217,"kZPUx":321383015423662002,"kkEaf":4534091571895487128,"sBJfRrGeS":3094496744444314069},"stringDateField":"1989-02-12","stringDateTimeField":"1978-05-31T17:43:42Z","stringField":"UaFIjgFGQv","stringTimeField":"12:25:34.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":-18,"numField":-711.7071942248039,"stringDateField":"1989-02-12","stringDateTimeField":"1978-05-31T17:43:42Z","stringField":"UaFIjgFGQv","stringTimeField":"12:25:34.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2474,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2474,"uuid":"9e0a89a6-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ijLqyw","WqFlHS","jDBKfvPDH","MgVz","Mrlzch","xSpRpFE","NksGtVHbV","iPQuyBpkW"],"boolField":true,"intField":169,"numField":549.0242719941443,"objField":{"SDqrrdVfC":-6994509159937509796,"cXATK":3570179834272773996},"stringDateField":"1967-08-17","stringDateTimeField":"1941-12-27T14:59:14Z","stringField":"dzKktAd","stringTimeField":"04:04:14.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":169,"numField":549.0242719941443,"stringDateField":"1967-08-17","stringDateTimeField":"1941-12-27T14:59:14Z","stringField":"dzKktAd","stringTimeField":"04:04:14.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2475,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2475,"uuid":"9e0a89a6-5655-11ee-a401-675ed0f8e89b"},"arrayField":["yccWvmnu","CEyaPpMOup","rKJkFmi","vLWeRSGMv","iUBgE","KdFmAnDKu","ybiix"],"boolField":false,"intField":-386,"numField":593.3164224087608,"objField":{"JjHSXoAoT":4946609290761172602,"OOWnd":-129450645164129970,"TkqosGuy":9012200950087428689,"nRzXMeI":1629461634801898532,"oYlLRcWCZt":4377322604358481960,"xiupFnP":-4403595238805291889,"yeNrTctKii":-6074453350281706009},"stringDateField":"2002-08-30","stringDateTimeField":"1958-04-16T06:32:32Z","stringField":"WqKKve","stringTimeField":"03:37:13.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":-386,"numField":593.3164224087608,"stringDateField":"2002-08-30","stringDateTimeField":"1958-04-16T06:32:32Z","stringField":"WqKKve","stringTimeField":"03:37:13.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2476,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2476,"uuid":"9e0a89a6-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ErjENsqH"],"boolField":true,"intField":-176,"numField":-260.2378233033865,"objField":{"PVorHv":-6478381145985977007,"nDxtI":4427483796646099859,"qGXNKbFWv":4104912373120955031,"vOvPcNUZ":-1241851049638425088,"wRaiV":-4017341175052970678,"wlysqZ":7187458151691923347,"zrxtX":-7631463125713599356},"stringDateField":"1929-12-04","stringDateTimeField":"1958-03-04T14:20:16Z","stringField":"EcNquWJwX","stringTimeField":"11:47:13.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":-176,"numField":-260.2378233033865,"stringDateField":"1929-12-04","stringDateTimeField":"1958-03-04T14:20:16Z","stringField":"EcNquWJwX","stringTimeField":"11:47:13.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2477,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2477,"uuid":"9e0a89a6-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ERpsVAz","evDaE","hKyiuQHnS","uIkOD","IWKXRSy"],"boolField":false,"intField":-369,"numField":-316.22934254757405,"objField":{"GuubZ":-7215869342973618414,"SSMyeNKgo":-599136831424755748},"stringDateField":"1915-10-20","stringDateTimeField":"1932-06-06T06:21:55Z","stringField":"UqTw","stringTimeField":"08:50:13.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":-369,"numField":-316.22934254757405,"stringDateField":"1915-10-20","stringDateTimeField":"1932-06-06T06:21:55Z","stringField":"UqTw","stringTimeField":"08:50:13.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2478,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2478,"uuid":"9e0a89a6-5655-11ee-b001-675ed0f8e89b"},"arrayField":["RWZyxN","loppRjpZd","wiwgwKkD","JdSJsX","NYFh","TJXzxfAU","EcJv","ZZcBVUMEE","Hzar"],"boolField":false,"intField":1,"numField":-671.34201963418,"objField":{"EvbHzfsN":-2603768297432953128,"LYJAk":-5210259999675623609,"TfqY":-1997988591930789371,"VFjbS":8171651860820647313,"mZNtLTrfsj":2208970315615220533},"stringDateField":"1933-08-31","stringDateTimeField":"1944-12-06T11:07:22Z","stringField":"PcagY","stringTimeField":"23:50:52.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":1,"numField":-671.34201963418,"stringDateField":"1933-08-31","stringDateTimeField":"1944-12-06T11:07:22Z","stringField":"PcagY","stringTimeField":"23:50:52.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2479,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2479,"uuid":"9e0a89a6-5655-11ee-b401-675ed0f8e89b"},"arrayField":["svygwMIHb","LNFSEZ","OfMPKIIbzL","HTaQwqe","zFeusmb"],"boolField":false,"intField":-538,"numField":-201.85450176313947,"objField":{"qKiaZ":-685789078928338913,"qjHQMXZ":-1576213522536811072,"vokZKrHS":-8397113639015453413},"stringDateField":"1950-12-23","stringDateTimeField":"1978-02-24T19:41:27Z","stringField":"xYLvjgD","stringTimeField":"18:02:33.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":-538,"numField":-201.85450176313947,"stringDateField":"1950-12-23","stringDateTimeField":"1978-02-24T19:41:27Z","stringField":"xYLvjgD","stringTimeField":"18:02:33.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2480,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2480,"uuid":"9e0a89a6-5655-11ee-b801-675ed0f8e89b"},"arrayField":["jxYyy","SUVbtsaReM","hQEq","yeFAdG"],"boolField":true,"intField":727,"numField":677.505016474457,"objField":{"CWvkTiD":5411824472336801207,"EvxxslL":3397662115734818290,"Kwhc":8336336923477618691,"LfClVnotpL":-546723662987180010,"PdSE":-7237892666154453755,"XNQE":1807083082403961403,"iaNbm":1174490919309942893,"kWznW":2666992128174353635,"zYwjAkPp":2409709565047049108},"stringDateField":"1937-03-19","stringDateTimeField":"1945-10-24T05:44:04Z","stringField":"rbByU","stringTimeField":"15:57:32.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":727,"numField":677.505016474457,"stringDateField":"1937-03-19","stringDateTimeField":"1945-10-24T05:44:04Z","stringField":"rbByU","stringTimeField":"15:57:32.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2481,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2481,"uuid":"9e0a89a6-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["QnsWvj","hGgbAVYBBY","NTVxKIH","hpoxbCW","nTvUO","eBZoSffQz"],"boolField":true,"intField":-305,"numField":115.97703124514712,"objField":{"ImiXgHS":6058891310833567263,"SuRVsLlplq":6815856355588220517,"eLhUSO":-5780672962466024163,"kTwmxpZHyb":-3868621529898570329,"xNFqEBd":-2262651357858257879},"stringDateField":"1970-06-21","stringDateTimeField":"1989-05-04T03:50:29Z","stringField":"HFKNNZ","stringTimeField":"04:34:02.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763686Z","intField":-305,"numField":115.97703124514712,"stringDateField":"1970-06-21","stringDateTimeField":"1989-05-04T03:50:29Z","stringField":"HFKNNZ","stringTimeField":"04:34:02.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2482,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2482,"uuid":"9e0a89a7-5655-11ee-8001-675ed0f8e89b"},"arrayField":["bJivYj","cECXaB","xrUYQtKFH","PHXXoGtZ","IXmeKqmtwK","NWxNSnwyJ","ypHhBLYUzN","XfWtzTtsi"],"boolField":false,"intField":-362,"numField":173.7134996996428,"objField":{"NxdZqW":1998886277575039071,"uRJGzJdF":8606701989373009887},"stringDateField":"2003-06-05","stringDateTimeField":"1973-09-20T21:32:20Z","stringField":"puxphSfY","stringTimeField":"22:41:16.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":-362,"numField":173.7134996996428,"stringDateField":"2003-06-05","stringDateTimeField":"1973-09-20T21:32:20Z","stringField":"puxphSfY","stringTimeField":"22:41:16.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2483,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2483,"uuid":"9e0a89a7-5655-11ee-8401-675ed0f8e89b"},"arrayField":["Fjqs","NViVdZ","KRVcJPMQyC","VIvx","QSDSCgy","ceUmZYbw","iknSeVutnK","avutItKkXz","PTpbCKxPvj","BBgw"],"boolField":true,"intField":660,"numField":-636.5504461886212,"objField":{"JpRaaQjPK":-8428908150540305827,"LuFIQ":4323456299390022799,"OhxiD":6774625125110203853,"PGTYwHt":4094891862922032655,"TcIbauCH":-3182819273962172025,"heviaUOcW":8685697894776331668,"pzCDFFG":846623807050563847,"ugAToHb":-7255839501006133067},"stringDateField":"1926-08-28","stringDateTimeField":"1903-11-17T15:31:55Z","stringField":"PQTnpJaZx","stringTimeField":"02:42:49.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":660,"numField":-636.5504461886212,"stringDateField":"1926-08-28","stringDateTimeField":"1903-11-17T15:31:55Z","stringField":"PQTnpJaZx","stringTimeField":"02:42:49.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2484,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2484,"uuid":"9e0a89a7-5655-11ee-8801-675ed0f8e89b"},"arrayField":["hxOnWDqfY","ADIywV","dQQSiIFBL"],"boolField":true,"intField":17,"numField":344.30630567482547,"objField":{"AmYhmiJ":-5030426156951835221},"stringDateField":"1953-10-16","stringDateTimeField":"2008-09-12T12:32:13Z","stringField":"pySaxnBxB","stringTimeField":"20:05:37.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":17,"numField":344.30630567482547,"stringDateField":"1953-10-16","stringDateTimeField":"2008-09-12T12:32:13Z","stringField":"pySaxnBxB","stringTimeField":"20:05:37.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2485,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2485,"uuid":"9e0a89a7-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["uzbgnrNb","qLBrndatGB","AeZVtf","hWIFYgqrC","WLShuF","QxFzvOpjJ","tRECKp","LRhnQWHC"],"boolField":false,"intField":-18,"numField":-813.3953380677589,"objField":{"BGypXX":7326211170753353920,"KiClcoxka":-8785177666237582128,"TYbIpxg":-6762341786099225481,"UvPefWz":-3035585607716810299,"VdUW":9054991970908854433,"ZUXwjQJGW":5070637687305250885,"ZfZJ":-1224687614888754214,"bnjGR":-4765865321900172485,"dEIE":819136238532054063},"stringDateField":"1934-01-27","stringDateTimeField":"1903-09-24T08:57:26Z","stringField":"TDRgmuOI","stringTimeField":"10:30:07.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":-18,"numField":-813.3953380677589,"stringDateField":"1934-01-27","stringDateTimeField":"1903-09-24T08:57:26Z","stringField":"TDRgmuOI","stringTimeField":"10:30:07.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2486,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2486,"uuid":"9e0a89a7-5655-11ee-9001-675ed0f8e89b"},"arrayField":["zHiNheYv","IgvMPkPNZa","hXKascxTfR","TARjnKeh"],"boolField":false,"intField":-141,"numField":930.3506653011063,"objField":{"ALgq":4424620506719767407,"epqGThAs":5469433330548913884,"vRCjyUoePg":5577760339602545196},"stringDateField":"2002-04-12","stringDateTimeField":"2008-05-20T04:10:26Z","stringField":"tDkgAdh","stringTimeField":"23:43:18.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":-141,"numField":930.3506653011063,"stringDateField":"2002-04-12","stringDateTimeField":"2008-05-20T04:10:26Z","stringField":"tDkgAdh","stringTimeField":"23:43:18.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2487,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2487,"uuid":"9e0a89a7-5655-11ee-9401-675ed0f8e89b"},"arrayField":["IWCaOz","meyzwmbM","LwiPNn","LDdUU"],"boolField":false,"intField":225,"numField":-432.2481367282224,"objField":{"PXvsjPrX":-7799103038265865778,"cYLWlwk":-5769155145225487706,"ecrQrqVod":-1276605647534044331,"xOMhJjuEZ":4017419276235935794},"stringDateField":"1947-02-12","stringDateTimeField":"2001-07-26T14:38:49Z","stringField":"EgUV","stringTimeField":"11:23:41.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":225,"numField":-432.2481367282224,"stringDateField":"1947-02-12","stringDateTimeField":"2001-07-26T14:38:49Z","stringField":"EgUV","stringTimeField":"11:23:41.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2488,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2488,"uuid":"9e0a89a7-5655-11ee-9801-675ed0f8e89b"},"arrayField":["pUrnfhdzl","QQpM","LDpB","eVLu","ynvvPo","nxYYnQ","tDMDVrJaWp","COjt","qLnMfdWn"],"boolField":true,"intField":-330,"numField":173.9826372654394,"objField":{"JfTgFmY":9170783433043562462,"WIOFuDqY":-5307415812091578651,"hxlnX":-7898696253096874802},"stringDateField":"1961-01-27","stringDateTimeField":"1981-09-28T17:17:53Z","stringField":"NdalibM","stringTimeField":"06:14:02.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":-330,"numField":173.9826372654394,"stringDateField":"1961-01-27","stringDateTimeField":"1981-09-28T17:17:53Z","stringField":"NdalibM","stringTimeField":"06:14:02.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2489,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2489,"uuid":"9e0a89a7-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["VEin","wBMkgq","cbophEVH","rptzlmxmO","JUWtl","DLGuesihM","ZycS","WHEjW","HbdFYBiRw","hoLi"],"boolField":true,"intField":339,"numField":-353.41188960619354,"objField":{"GlTzukQ":-6831648743281792497,"IFaK":6417830202257166409,"TOMIlcKPM":-4841870370297614314,"YkFVJfNWQT":6337306309368000882,"fGcakXYDp":2537087069191420856,"nqsmXJVk":-5576828127280386392,"vJNOgsFO":-7210390230619836749,"viVZbg":5451717577847608376},"stringDateField":"1984-12-11","stringDateTimeField":"1986-08-05T06:52:54Z","stringField":"YmWfk","stringTimeField":"14:06:00.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":339,"numField":-353.41188960619354,"stringDateField":"1984-12-11","stringDateTimeField":"1986-08-05T06:52:54Z","stringField":"YmWfk","stringTimeField":"14:06:00.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2490,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2490,"uuid":"9e0a89a7-5655-11ee-a001-675ed0f8e89b"},"arrayField":["oYMR","nSHaQ","UGMpILs","vVgc","dVUSMMz","Embr","QCJrrYNOs"],"boolField":true,"intField":505,"numField":205.72784185440665,"objField":{"dMTKpTI":6181234292790002536,"rNAGWF":-7469029129693684554,"wnRw":1821468931178212158},"stringDateField":"1933-09-08","stringDateTimeField":"1964-10-11T12:36:29Z","stringField":"LMlOn","stringTimeField":"19:18:47.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":505,"numField":205.72784185440665,"stringDateField":"1933-09-08","stringDateTimeField":"1964-10-11T12:36:29Z","stringField":"LMlOn","stringTimeField":"19:18:47.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2491,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2491,"uuid":"9e0a89a7-5655-11ee-a401-675ed0f8e89b"},"arrayField":["YAubc","DpUoU","AdcjJJsLIu","DsgMHeFwgp","dreAWhNTs"],"boolField":false,"intField":-571,"numField":814.4776920668513,"objField":{"KHLCevpE":7589910617804274839,"PzzfPXER":1193604374316960653,"UZscDzoDGx":-3748771856630892653,"VARBLfuEB":-7797900987499083502,"VtxHMeyz":-1050492126655606097,"WZCrOd":5513224918186138142,"fZoComcspJ":-5897170231432589023,"pCXirTKHG":2609194057270033368,"zrvPfx":7775142829730844484},"stringDateField":"1901-01-17","stringDateTimeField":"1971-05-30T01:34:24Z","stringField":"utQwBFO","stringTimeField":"17:57:25.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":-571,"numField":814.4776920668513,"stringDateField":"1901-01-17","stringDateTimeField":"1971-05-30T01:34:24Z","stringField":"utQwBFO","stringTimeField":"17:57:25.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2492,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2492,"uuid":"9e0a89a7-5655-11ee-a801-675ed0f8e89b"},"arrayField":["huTdpW","joEdueKC","dfKwjxB","FdqJMEvC","Rvaay","GFzhejLD","nrgl","LqFvwz","gCRmHsrYc","zjabUjsfa"],"boolField":false,"intField":500,"numField":623.9301671465018,"objField":{"ORUpoXWqPY":6696195325646527918,"WpdfeUngKK":-5315875714338817030,"pERZsaticb":7843880084855868473,"vMDvbVQf":-5541754038880032526,"vlxYsAtmUm":1909003098717339507},"stringDateField":"1952-06-26","stringDateTimeField":"1953-08-08T14:30:36Z","stringField":"hLWSJBh","stringTimeField":"19:26:49.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":500,"numField":623.9301671465018,"stringDateField":"1952-06-26","stringDateTimeField":"1953-08-08T14:30:36Z","stringField":"hLWSJBh","stringTimeField":"19:26:49.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2493,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2493,"uuid":"9e0a89a7-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["HoAIiDrG","tSNJn","BMBB","rsJOd","mUQHIclnr"],"boolField":true,"intField":285,"numField":-713.1951483268327,"objField":{"ArrkoKokL":3901261960395764370,"EmMyLuCpnx":-1459797016263879573,"JXyMeZk":4956053017426708508,"NbvbDZavPE":4597946723906310656,"Tmeul":4759933053128379272,"ZMyQuHyVS":-2861714541877580314,"kHeIHZjGOA":-6381000750128640514,"yAyllNeYWb":6941604928084453585,"zzLjtmwuxb":-1810807696653434643},"stringDateField":"1963-07-01","stringDateTimeField":"1989-11-18T18:45:12Z","stringField":"KFQUrgNaC","stringTimeField":"20:43:22.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":285,"numField":-713.1951483268327,"stringDateField":"1963-07-01","stringDateTimeField":"1989-11-18T18:45:12Z","stringField":"KFQUrgNaC","stringTimeField":"20:43:22.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2494,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2494,"uuid":"9e0a89a7-5655-11ee-b001-675ed0f8e89b"},"arrayField":["gEXCXv","dJftKRb","taJl","bConotnoV","skKFi"],"boolField":false,"intField":504,"numField":-659.3166285883455,"objField":{"jOJWvOspu":-8318822462735419738},"stringDateField":"1974-07-04","stringDateTimeField":"1943-05-23T12:53:09Z","stringField":"xXRRSlgul","stringTimeField":"19:49:12.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":504,"numField":-659.3166285883455,"stringDateField":"1974-07-04","stringDateTimeField":"1943-05-23T12:53:09Z","stringField":"xXRRSlgul","stringTimeField":"19:49:12.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2495,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2495,"uuid":"9e0a89a7-5655-11ee-b401-675ed0f8e89b"},"arrayField":["XfhnBlC","OQVIHtJt","rhsfPHlSz","tZetCsbcft","VWFeTlOnI","mJYLTeHhcA"],"boolField":false,"intField":-712,"numField":154.288403473928,"objField":{"cWmMf":5120767616388208639},"stringDateField":"1950-11-04","stringDateTimeField":"1928-04-25T21:27:45Z","stringField":"uOdn","stringTimeField":"19:48:34.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":-712,"numField":154.288403473928,"stringDateField":"1950-11-04","stringDateTimeField":"1928-04-25T21:27:45Z","stringField":"uOdn","stringTimeField":"19:48:34.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2496,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2496,"uuid":"9e0a89a7-5655-11ee-b801-675ed0f8e89b"},"arrayField":["PvSgFeh","utxrNn","VVxpywWkU"],"boolField":true,"intField":452,"numField":987.0401114828971,"objField":{"DFyBtw":-5836117220475599304,"EiQILT":-7013325858705959440,"IgChhM":-293128019140938625,"hTwkpog":-5431939300149687894,"sUvijwFinL":-4657082955193327854,"uAxrwun":5245047859787699221},"stringDateField":"1929-10-02","stringDateTimeField":"2001-09-21T22:27:02Z","stringField":"joFkX","stringTimeField":"08:11:10.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":452,"numField":987.0401114828971,"stringDateField":"1929-10-02","stringDateTimeField":"2001-09-21T22:27:02Z","stringField":"joFkX","stringTimeField":"08:11:10.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2497,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2497,"uuid":"9e0a89a7-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["embpIsr","WlDYZV","BDGtNbwPc","ewdtLGyp","fdDxW","moeHQfLG"],"boolField":true,"intField":-984,"numField":744.4043658813935,"objField":{"BSkeHGOT":-8844046750428124708,"KLkWOULHd":-5422993308345033262},"stringDateField":"1984-10-17","stringDateTimeField":"1980-06-14T21:07:36Z","stringField":"VesKXGAzyX","stringTimeField":"17:57:59.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763687Z","intField":-984,"numField":744.4043658813935,"stringDateField":"1984-10-17","stringDateTimeField":"1980-06-14T21:07:36Z","stringField":"VesKXGAzyX","stringTimeField":"17:57:59.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2498,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2498,"uuid":"9e0a89a8-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ZSTSBKzbXH","DEKx","ZyLpg","wZRhGXVn","FBUTmYNTTk","bkWi","SVYf","LBPZHl","AXWqxsjG","PcwhKosP"],"boolField":true,"intField":-133,"numField":-34.90991147300604,"objField":{"MDCkxzhiXa":7847805394325705415},"stringDateField":"1966-06-09","stringDateTimeField":"1981-06-02T03:52:01Z","stringField":"siqT","stringTimeField":"21:28:53.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":-133,"numField":-34.90991147300604,"stringDateField":"1966-06-09","stringDateTimeField":"1981-06-02T03:52:01Z","stringField":"siqT","stringTimeField":"21:28:53.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2499,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2499,"uuid":"9e0a89a8-5655-11ee-8401-675ed0f8e89b"},"arrayField":["YfzdqA","HYcTt","sdud","fuhYWfut","BvqsTHeVrX","rAgQmO","vVhekKhFwF"],"boolField":true,"intField":-3,"numField":-739.6883657176976,"objField":{"IesGalOY":6038802310981717554,"oVGegHmoQ":7232208149038587815,"yIKAE":6436434666738191247,"zeVkh":-2122040229306020832},"stringDateField":"1919-12-30","stringDateTimeField":"2004-06-10T00:12:18Z","stringField":"ofckOlGr","stringTimeField":"11:05:32.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":-3,"numField":-739.6883657176976,"stringDateField":"1919-12-30","stringDateTimeField":"2004-06-10T00:12:18Z","stringField":"ofckOlGr","stringTimeField":"11:05:32.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2500,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2500,"uuid":"9e0a89a8-5655-11ee-8801-675ed0f8e89b"},"arrayField":["vZHVIcwECa","vdyaalJ","vEtlFta","rQbjtpzzM","CLwB","bSLQMVZ","NqtHrAyYv","VOABGF","MYVFnWsJr"],"boolField":false,"intField":833,"numField":-73.68428609155542,"objField":{"AGhELv":9201328986997313500,"DHSVSQyLm":-1993074084508648192,"DNCpjZek":1105780095995111261,"JTAHWkocA":-5663780001332762064,"PKidMbM":-846155596812422809,"UFjIJSWcWK":-84213196257443042,"ebVHnyTw":-5406487427665009589,"jyrDQJYukZ":398291550732758406},"stringDateField":"1972-12-10","stringDateTimeField":"1963-03-05T08:10:43Z","stringField":"HCLdac","stringTimeField":"07:01:07.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":833,"numField":-73.68428609155542,"stringDateField":"1972-12-10","stringDateTimeField":"1963-03-05T08:10:43Z","stringField":"HCLdac","stringTimeField":"07:01:07.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2501,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2501,"uuid":"9e0a89a8-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["OfyNmi","CriifxPNZ","bKYlvzlEaJ","oEZzT","JRweIprFx","Ksgrehe","veVk","pNeoqmKo","YVUyvMtrZC"],"boolField":true,"intField":-923,"numField":88.1344277374354,"objField":{"BirJGZWuwx":2576309264476732954,"ORCXCtc":6951784847982891365,"mvULjpIOPt":4675422950859389326},"stringDateField":"2010-12-20","stringDateTimeField":"1975-11-21T09:49:57Z","stringField":"GQkB","stringTimeField":"19:06:38.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":-923,"numField":88.1344277374354,"stringDateField":"2010-12-20","stringDateTimeField":"1975-11-21T09:49:57Z","stringField":"GQkB","stringTimeField":"19:06:38.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2502,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2502,"uuid":"9e0a89a8-5655-11ee-9001-675ed0f8e89b"},"arrayField":["oKrgKFmk","glMdmVew"],"boolField":true,"intField":256,"numField":-168.86037349382454,"objField":{"FfWFdcQ":-7688193447464991772,"WyvZ":7015976605546849491,"YYZHoVpb":-7147639549197373653,"buniy":-5985153444779029273,"miBzfzDG":7753762244889754094,"qSRBRF":-5786384355017464432,"qaqsiwyvM":6292169843711113568,"xLILloZLP":-89715636646959069},"stringDateField":"1934-04-12","stringDateTimeField":"1917-07-19T21:06:20Z","stringField":"nzhTM","stringTimeField":"05:07:00.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":256,"numField":-168.86037349382454,"stringDateField":"1934-04-12","stringDateTimeField":"1917-07-19T21:06:20Z","stringField":"nzhTM","stringTimeField":"05:07:00.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2503,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2503,"uuid":"9e0a89a8-5655-11ee-9401-675ed0f8e89b"},"arrayField":["UYwTVEnEyE","mwHL","gCMDumqonR","DCrt","ArdA"],"boolField":true,"intField":36,"numField":549.0782855219178,"objField":{"TZoIidfw":6061719011432092226,"bVjDFVyNeV":6429969016055220109,"fiTDekEt":403907334839833833,"qMHa":-8810951159593188884,"vzDaP":-5698370433965317018,"wltGiME":-2974962073096759058,"zgXBKDVrcy":1859409081063868912},"stringDateField":"1983-09-11","stringDateTimeField":"2023-03-01T01:02:08Z","stringField":"aynso","stringTimeField":"14:08:01.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":36,"numField":549.0782855219178,"stringDateField":"1983-09-11","stringDateTimeField":"2023-03-01T01:02:08Z","stringField":"aynso","stringTimeField":"14:08:01.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2504,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2504,"uuid":"9e0a89a8-5655-11ee-9801-675ed0f8e89b"},"arrayField":["kHDmMVwbDS","ttEY","gXcXvROv","ygoFNY","hwadyI"],"boolField":true,"intField":-896,"numField":-242.1147060880394,"objField":{"DPHC":6135727894030149795},"stringDateField":"1924-07-14","stringDateTimeField":"2020-03-20T23:47:41Z","stringField":"InVnjiLntC","stringTimeField":"14:51:21.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":-896,"numField":-242.1147060880394,"stringDateField":"1924-07-14","stringDateTimeField":"2020-03-20T23:47:41Z","stringField":"InVnjiLntC","stringTimeField":"14:51:21.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2505,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2505,"uuid":"9e0a89a8-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["kVHCrQFc","bxQQGJg"],"boolField":true,"intField":-327,"numField":985.9067960593062,"objField":{"BGIMbukU":8199184306980457064,"CdUUbVlUTH":-8961551721756758038,"KoOzhUTR":3848876388726045221,"MVxb":6096081022003800655,"NDtVLvCbJ":3847372169229773087,"SoMeYNF":582060497758199029,"UbNkRRl":-1022947483105927692,"gQKoNK":-4421041701894562750,"oavCfUA":-7085865577020255155,"rCEBunoYG":-3516722830127104363},"stringDateField":"1952-08-19","stringDateTimeField":"2010-01-08T04:11:12Z","stringField":"WDPEHJxeE","stringTimeField":"19:28:42.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":-327,"numField":985.9067960593062,"stringDateField":"1952-08-19","stringDateTimeField":"2010-01-08T04:11:12Z","stringField":"WDPEHJxeE","stringTimeField":"19:28:42.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2506,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2506,"uuid":"9e0a89a8-5655-11ee-a001-675ed0f8e89b"},"arrayField":["SAUvLd","cBgraGhSd","xXHEIehJJ","opWNNa","XyIlyKM","atUrb","bhTv","KAraJZhgPy","bNFfSBqP"],"boolField":true,"intField":398,"numField":-702.400709877678,"objField":{"KKSHZl":5873281315838468716,"KOsgPPue":-4274725151819654364,"fYWvG":-1971297946987742321,"flzbqcuEC":846382103888222591,"jOifl":9028470435658302774,"syEcSTLoxx":5748467083436374078,"zIQcbdZiW":271726328301312418},"stringDateField":"1997-12-31","stringDateTimeField":"2018-09-12T22:44:01Z","stringField":"MuTbR","stringTimeField":"17:29:57.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":398,"numField":-702.400709877678,"stringDateField":"1997-12-31","stringDateTimeField":"2018-09-12T22:44:01Z","stringField":"MuTbR","stringTimeField":"17:29:57.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2507,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2507,"uuid":"9e0a89a8-5655-11ee-a401-675ed0f8e89b"},"arrayField":["JFAU","BzxxARZS","FKzjlDx","iUhich","YyrnDS","iSen","xLNkZK"],"boolField":true,"intField":949,"numField":513.3607006665759,"objField":{"AHzranPI":-8249554313986766371,"GNGBLNwP":-8412558254845078047,"NnyTXF":1205392492254930220,"RLjOv":4621044072797199632,"YELRJ":-8437828384993302036},"stringDateField":"2000-03-09","stringDateTimeField":"1914-03-19T23:19:30Z","stringField":"dxEuam","stringTimeField":"07:12:36.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":949,"numField":513.3607006665759,"stringDateField":"2000-03-09","stringDateTimeField":"1914-03-19T23:19:30Z","stringField":"dxEuam","stringTimeField":"07:12:36.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2508,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2508,"uuid":"9e0a89a8-5655-11ee-a801-675ed0f8e89b"},"arrayField":["jwiOtXMpm","SPPD","RzqZPJVt","goayRsDqmP","uBhUA","DjOZssibTQ","SgmS","VviHHY","RYrqtsqa"],"boolField":true,"intField":559,"numField":285.6884261102548,"objField":{"Bkzxjgquu":-6349346614045412814,"Flwku":-8064266988209970215,"gkPALx":6266389727069800790},"stringDateField":"1955-10-31","stringDateTimeField":"2007-03-10T15:15:25Z","stringField":"YwZBc","stringTimeField":"22:51:14.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":559,"numField":285.6884261102548,"stringDateField":"1955-10-31","stringDateTimeField":"2007-03-10T15:15:25Z","stringField":"YwZBc","stringTimeField":"22:51:14.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2509,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2509,"uuid":"9e0a89a8-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["kPFCq","nXVo"],"boolField":false,"intField":35,"numField":899.406057853474,"objField":{"IlrZgztSb":8252119872913034121,"WXkszSCbj":2804561892309244608},"stringDateField":"2006-09-21","stringDateTimeField":"1902-03-26T05:20:25Z","stringField":"gtiQk","stringTimeField":"17:22:00.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":35,"numField":899.406057853474,"stringDateField":"2006-09-21","stringDateTimeField":"1902-03-26T05:20:25Z","stringField":"gtiQk","stringTimeField":"17:22:00.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2510,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2510,"uuid":"9e0a89a8-5655-11ee-b001-675ed0f8e89b"},"arrayField":["BtgMR","MKTyuPRBTp","xAiqEObk"],"boolField":false,"intField":90,"numField":-63.83816074337667,"objField":{"QKbx":8347800965213936869,"VTboY":-2470640734112481870},"stringDateField":"1964-12-20","stringDateTimeField":"1988-08-29T10:25:40Z","stringField":"IeCw","stringTimeField":"07:11:02.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":90,"numField":-63.83816074337667,"stringDateField":"1964-12-20","stringDateTimeField":"1988-08-29T10:25:40Z","stringField":"IeCw","stringTimeField":"07:11:02.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2511,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2511,"uuid":"9e0a89a8-5655-11ee-b401-675ed0f8e89b"},"arrayField":["WDNGtzi","PDzukIU"],"boolField":true,"intField":-621,"numField":-703.1354515583815,"objField":{"DKSgQoZ":385701222053562435,"PKDrvmnSFB":-3532141544210107768,"VUNyrjrZD":1165061761386050474,"aKVSHh":-1448515893350609051,"fqpBwyR":-8523146745747435556,"kDsWpcG":-7018994153337288192,"rFdZPRV":200846585062722443,"rxPmxrV":4699511700496651110},"stringDateField":"1907-08-26","stringDateTimeField":"1967-08-23T10:37:33Z","stringField":"nBddlEuL","stringTimeField":"23:52:16.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":-621,"numField":-703.1354515583815,"stringDateField":"1907-08-26","stringDateTimeField":"1967-08-23T10:37:33Z","stringField":"nBddlEuL","stringTimeField":"23:52:16.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2512,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2512,"uuid":"9e0a89a8-5655-11ee-b801-675ed0f8e89b"},"arrayField":["VgJt","XhBtmY","hJYz","uADShKod"],"boolField":false,"intField":-654,"numField":-152.76865771558968,"objField":{"AaQfr":-4877470757208015151,"NeKRRLBLH":7640799673276772921,"OORnkG":8871096222480306339,"WqpxCIk":2669775896142067431,"fkxBlnj":8235277224505342627,"kqrE":-8933108777634079952},"stringDateField":"1976-08-01","stringDateTimeField":"2009-02-28T17:45:31Z","stringField":"yNzrgeVR","stringTimeField":"08:43:30.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":-654,"numField":-152.76865771558968,"stringDateField":"1976-08-01","stringDateTimeField":"2009-02-28T17:45:31Z","stringField":"yNzrgeVR","stringTimeField":"08:43:30.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2513,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2513,"uuid":"9e0a89a8-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["PusubbpUrC","RbdiGvolN","QBWqGs","WtmPJ","lENnKD","IEgu","orSXzZ","FWcUJzX","xovUq","qAtBEkQV"],"boolField":true,"intField":-240,"numField":-681.2151394028751,"objField":{"ECglAJkx":77099700758449848,"HbqsQE":-5993816649094968541,"eJYFM":-3415039184844362439,"fTYHH":6366318439475320244,"gkcH":-8570205211757861557,"lxabp":-5287341680028869701,"rjiMHsbOq":-5677454782095244031,"vNFtYXS":5243879410033397438},"stringDateField":"2022-05-03","stringDateTimeField":"1957-05-25T09:53:50Z","stringField":"ZlyTJe","stringTimeField":"20:35:20.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763688Z","intField":-240,"numField":-681.2151394028751,"stringDateField":"2022-05-03","stringDateTimeField":"1957-05-25T09:53:50Z","stringField":"ZlyTJe","stringTimeField":"20:35:20.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2514,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2514,"uuid":"9e0a89a9-5655-11ee-8001-675ed0f8e89b"},"arrayField":["MpYFboTo","XfKrqDGWaS","ZMzuMmT","wRKUhR","rVah","wUDIAKMPoF"],"boolField":false,"intField":267,"numField":-858.6179990079172,"objField":{"sgHmWDGy":2869689985912422189,"vYKNAmdPuD":-8755320913804854116},"stringDateField":"1900-02-11","stringDateTimeField":"1989-05-28T00:15:50Z","stringField":"kYzR","stringTimeField":"01:10:50.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":267,"numField":-858.6179990079172,"stringDateField":"1900-02-11","stringDateTimeField":"1989-05-28T00:15:50Z","stringField":"kYzR","stringTimeField":"01:10:50.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2515,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2515,"uuid":"9e0a89a9-5655-11ee-8401-675ed0f8e89b"},"arrayField":["oqgqiw","OTINiAI","DzjWX","fWPbaXKMki","nuzHIJkDNq","AsXEWSJrA"],"boolField":false,"intField":-462,"numField":-273.07979541425067,"objField":{"CMmAucs":-3754783855451283851,"GeUXSaKCfL":3158461636060428435,"KIJejaDhyd":-3917506738281476408,"blrDNa":6578841939246639449,"gWQxlKI":6942638296049284158,"hPGtehYV":5026666179777843153,"iRpr":-6586033611745800454,"mmcZxXXIEG":-7933324704234905766,"pFqbZqa":7140532812913374883},"stringDateField":"1912-12-27","stringDateTimeField":"1947-07-16T20:57:39Z","stringField":"WFzGNck","stringTimeField":"22:44:12.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-462,"numField":-273.07979541425067,"stringDateField":"1912-12-27","stringDateTimeField":"1947-07-16T20:57:39Z","stringField":"WFzGNck","stringTimeField":"22:44:12.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2516,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2516,"uuid":"9e0a89a9-5655-11ee-8801-675ed0f8e89b"},"arrayField":["SJIH","WputO","jmkJaXiQE","LhRLEt"],"boolField":false,"intField":347,"numField":669.7108119494426,"objField":{"FQAyNR":5790978306220783761,"KQicagQEh":8002474818893047678,"ParbB":8345706680294843441,"WKuUeUlwJ":-1443780077586325327,"YSwj":7058364526230067280,"sIwUtS":564118588105262581,"vUUD":-1491162171002516898,"xAUuNUY":4952362491020035315},"stringDateField":"1964-03-25","stringDateTimeField":"1990-06-21T21:41:52Z","stringField":"jRDSQQxQMH","stringTimeField":"10:24:09.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":347,"numField":669.7108119494426,"stringDateField":"1964-03-25","stringDateTimeField":"1990-06-21T21:41:52Z","stringField":"jRDSQQxQMH","stringTimeField":"10:24:09.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2517,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2517,"uuid":"9e0a89a9-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["GXWxNNT","mmYf","LQIP","pinmCAl","UsjJsA","NYSwqFQ"],"boolField":true,"intField":-335,"numField":834.8734295379035,"objField":{"oBoJqNXxb":3347643907041988790},"stringDateField":"1993-05-04","stringDateTimeField":"1992-02-17T23:51:01Z","stringField":"tqnJfGkE","stringTimeField":"23:10:15.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-335,"numField":834.8734295379035,"stringDateField":"1993-05-04","stringDateTimeField":"1992-02-17T23:51:01Z","stringField":"tqnJfGkE","stringTimeField":"23:10:15.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2518,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2518,"uuid":"9e0a89a9-5655-11ee-9001-675ed0f8e89b"},"arrayField":["HmzooE","AhvFKpOA"],"boolField":true,"intField":-470,"numField":-32.710850033795815,"objField":{"GmuyVzT":-412095787665321239,"RYyI":-593148924202166315,"ZPoAgCL":6392503178690748588},"stringDateField":"1937-11-07","stringDateTimeField":"2019-03-13T13:58:57Z","stringField":"vDRjEnJ","stringTimeField":"18:13:18.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-470,"numField":-32.710850033795815,"stringDateField":"1937-11-07","stringDateTimeField":"2019-03-13T13:58:57Z","stringField":"vDRjEnJ","stringTimeField":"18:13:18.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2519,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2519,"uuid":"9e0a89a9-5655-11ee-9401-675ed0f8e89b"},"arrayField":["EqtCCNo","TsEmpXX","sJStkqV","chLAGSPt","BiTnrD","fXhGqiJJU"],"boolField":true,"intField":-307,"numField":111.95527363942804,"objField":{"AUxFmhzjg":-5745141596525448987,"OJdI":-5770468948603737864,"PypRmQB":1731289452372312753,"YTeVcvNb":2616411066530590527,"cRrr":7682179224974010373,"coYectu":5158277161390112892,"iHCfcK":7121911404434810886,"kKOCUa":4910727503951587298,"rgVZD":8540669480392498567,"uXVdM":5413071895666292789},"stringDateField":"2012-11-16","stringDateTimeField":"1996-11-08T02:58:14Z","stringField":"YxKgAkj","stringTimeField":"08:02:01.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-307,"numField":111.95527363942804,"stringDateField":"2012-11-16","stringDateTimeField":"1996-11-08T02:58:14Z","stringField":"YxKgAkj","stringTimeField":"08:02:01.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2520,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2520,"uuid":"9e0a89a9-5655-11ee-9801-675ed0f8e89b"},"arrayField":["LUjMN"],"boolField":false,"intField":356,"numField":-112.28646464033444,"objField":{"jfWd":224218721110227401,"zCuMgZHR":-3334020721827226525},"stringDateField":"1906-06-06","stringDateTimeField":"1953-08-12T02:38:27Z","stringField":"CCeeM","stringTimeField":"08:40:27.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":356,"numField":-112.28646464033444,"stringDateField":"1906-06-06","stringDateTimeField":"1953-08-12T02:38:27Z","stringField":"CCeeM","stringTimeField":"08:40:27.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2521,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2521,"uuid":"9e0a89a9-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["stEgtNzOt","ierN","TWfcb"],"boolField":true,"intField":-771,"numField":-200.22737301423433,"objField":{"CtNNNN":-4260446363283791010,"KyUwbX":-9047255104955201337,"VqKXAAd":-813894432219159267,"killmH":6587792062621933305,"laNkiGesW":7130310967844124307,"oPYewug":-4174778195645200214,"pUub":-2804399412405894066,"ukFuzQqqf":7795343436190870151,"urlOJxOXw":-1079968511128899682},"stringDateField":"1935-06-09","stringDateTimeField":"1989-04-29T17:53:41Z","stringField":"dZGsZob","stringTimeField":"07:55:04.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-771,"numField":-200.22737301423433,"stringDateField":"1935-06-09","stringDateTimeField":"1989-04-29T17:53:41Z","stringField":"dZGsZob","stringTimeField":"07:55:04.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2522,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2522,"uuid":"9e0a89a9-5655-11ee-a001-675ed0f8e89b"},"arrayField":["umfEZK","KiZyhXbxd","zIbNs","mVLMh","ZDtHHC","vyNLDR","CULfpTwoxs","auPSgY","ZxrjGBg","TjJmnY"],"boolField":false,"intField":-580,"numField":537.8542192950089,"objField":{"CfTiOLGZtX":-7286462883368388787,"PMWP":-8329967226208290679,"WYibJk":2141309487351668749,"ZCTT":8432651282589208055,"aKRAg":-5837519171956888225,"kSdjx":6831152744263892057,"mGemmIDy":-3333793723429543110,"mIlqLT":8802806805318957957},"stringDateField":"1903-12-20","stringDateTimeField":"1998-02-18T16:48:58Z","stringField":"MVMeD","stringTimeField":"04:31:01.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-580,"numField":537.8542192950089,"stringDateField":"1903-12-20","stringDateTimeField":"1998-02-18T16:48:58Z","stringField":"MVMeD","stringTimeField":"04:31:01.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2523,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2523,"uuid":"9e0a89a9-5655-11ee-a401-675ed0f8e89b"},"arrayField":["nPLMPlIab","QNaHuDr","PDnmRxsV"],"boolField":true,"intField":-912,"numField":284.6958190906559,"objField":{"Gqqfh":5343230557476736068,"VgYHDDblgg":2191083449774818021,"gXZxYza":-7211167359288243236,"hGwjXk":-8519449149498429707,"sFHC":-473598424098359932,"sQxn":9015380402315349592,"tLmTHWJBz":-2017050964987243837},"stringDateField":"1961-10-06","stringDateTimeField":"1992-07-19T22:38:10Z","stringField":"FVvOsadh","stringTimeField":"15:29:23.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-912,"numField":284.6958190906559,"stringDateField":"1961-10-06","stringDateTimeField":"1992-07-19T22:38:10Z","stringField":"FVvOsadh","stringTimeField":"15:29:23.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2524,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2524,"uuid":"9e0a89a9-5655-11ee-a801-675ed0f8e89b"},"arrayField":["AXXFiglSvO","NzOovAub","akub","inaX","YxsyBn"],"boolField":true,"intField":-201,"numField":330.36351969366564,"objField":{"JmKNQWTe":2126283294305352628,"LAjDt":2233069496087485834,"SmNuXnLn":-2599469244976377219,"SrYzMeG":-2205821212436839640,"lpPdQ":-6237403977557931688},"stringDateField":"1928-04-18","stringDateTimeField":"2003-07-11T22:37:51Z","stringField":"oKZLjlA","stringTimeField":"09:32:38.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-201,"numField":330.36351969366564,"stringDateField":"1928-04-18","stringDateTimeField":"2003-07-11T22:37:51Z","stringField":"oKZLjlA","stringTimeField":"09:32:38.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2525,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2525,"uuid":"9e0a89a9-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["PTXzypEC","BXFowv","yVyyd"],"boolField":true,"intField":-414,"numField":-110.95425408706129,"objField":{"CJvTic":597005663151515071,"SfhB":-1116804167382604989,"TMvuhocOCz":7667662261937271092,"Xvqn":-8890723070823207033,"iCUovKkiA":4543927947195854652,"odpEF":-2809906073191747325,"vFzgUkQjjz":1804038825962577308},"stringDateField":"1913-08-27","stringDateTimeField":"1979-06-03T03:20:37Z","stringField":"dxxiOKlFK","stringTimeField":"09:33:11.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-414,"numField":-110.95425408706129,"stringDateField":"1913-08-27","stringDateTimeField":"1979-06-03T03:20:37Z","stringField":"dxxiOKlFK","stringTimeField":"09:33:11.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2526,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2526,"uuid":"9e0a89a9-5655-11ee-b001-675ed0f8e89b"},"arrayField":["gIVzf","OiwgmXAu","CYLAag","NqwlzbmF"],"boolField":false,"intField":-111,"numField":984.9773051312224,"objField":{"OeFMvYqeio":-6473267859466351692,"Rjokr":-203949405572998204,"WcXAiQw":1895469926600401587,"pbasz":1892352375073122394,"yUiCqNkh":-5727575746989978551},"stringDateField":"1918-12-16","stringDateTimeField":"2020-07-06T07:12:16Z","stringField":"TTTPPolF","stringTimeField":"01:44:09.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-111,"numField":984.9773051312224,"stringDateField":"1918-12-16","stringDateTimeField":"2020-07-06T07:12:16Z","stringField":"TTTPPolF","stringTimeField":"01:44:09.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2527,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2527,"uuid":"9e0a89a9-5655-11ee-b401-675ed0f8e89b"},"arrayField":["kiqlbuiO"],"boolField":false,"intField":778,"numField":14.085223685634585,"objField":{"FOrklvFEiv":-7445871951568561968,"gHeeePE":7774576090685742249,"sJOQqfhuh":589108015775594879,"uFdgvd":-1349035680885611849},"stringDateField":"1926-11-30","stringDateTimeField":"1934-04-27T22:21:11Z","stringField":"RMopeme","stringTimeField":"16:25:57.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":778,"numField":14.085223685634585,"stringDateField":"1926-11-30","stringDateTimeField":"1934-04-27T22:21:11Z","stringField":"RMopeme","stringTimeField":"16:25:57.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2528,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2528,"uuid":"9e0a89a9-5655-11ee-b801-675ed0f8e89b"},"arrayField":["CnZh","Achxej","BbSEcKF","IeMdpGTeG","eihnqIvpB","snHDPJ"],"boolField":true,"intField":-670,"numField":-59.699940517585425,"objField":{"FvOutsLN":501843484908849476,"KemspVI":2695018249064700003,"fYYKwp":2367880328775996317,"lLnJn":7052194288511736892},"stringDateField":"1919-11-11","stringDateTimeField":"1908-02-14T12:45:32Z","stringField":"QfYalkKyVy","stringTimeField":"09:24:48.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-670,"numField":-59.699940517585425,"stringDateField":"1919-11-11","stringDateTimeField":"1908-02-14T12:45:32Z","stringField":"QfYalkKyVy","stringTimeField":"09:24:48.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2529,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2529,"uuid":"9e0a89a9-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["zrhIvOBab","XgIq","knhE"],"boolField":true,"intField":-804,"numField":-855.7565174939932,"objField":{"EdjjPHZ":-7737565982106616920,"FgdIxnB":-7527951167955914215,"PIpPDzNj":1559484221436182089,"VoAZFtCT":7518785385286000878,"jRnPAl":-7967812841637754498,"vPlF":-3543037442581234778},"stringDateField":"1978-06-20","stringDateTimeField":"1984-08-10T18:50:29Z","stringField":"vbicDrTs","stringTimeField":"01:45:57.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763689Z","intField":-804,"numField":-855.7565174939932,"stringDateField":"1978-06-20","stringDateTimeField":"1984-08-10T18:50:29Z","stringField":"vbicDrTs","stringTimeField":"01:45:57.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2530,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2530,"uuid":"9e0a89aa-5655-11ee-8001-675ed0f8e89b"},"arrayField":["fUdHjEsqA","GTNdUN","XlFA"],"boolField":true,"intField":160,"numField":-524.8767614893884,"objField":{"SjPOwdcR":5860218567349451939,"TxqFoXC":-305777562636808463,"gsaOXT":2543997826373351703,"oMBUnbo":252869761488403338},"stringDateField":"1934-12-01","stringDateTimeField":"1962-12-30T00:50:56Z","stringField":"eudVJX","stringTimeField":"00:02:14.20Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":160,"numField":-524.8767614893884,"stringDateField":"1934-12-01","stringDateTimeField":"1962-12-30T00:50:56Z","stringField":"eudVJX","stringTimeField":"00:02:14.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2531,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2531,"uuid":"9e0a89aa-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ttRSMhgZR","IbaMHHxA","DPTZVgtXB","shwx","pdFeQMXBKk","FSzKwOo","pklKt"],"boolField":true,"intField":23,"numField":-413.96402969711545,"objField":{"EUVsel":386107441233094283,"FXXK":-5240700440943527583,"VswdrjEwA":5445281609108065218,"eOXmGZTdZc":-2906222152877288238,"fBjVTXae":-6533605267657725558,"nPhjel":1828679234955020262,"sWZFeOg":-3682835594747577372},"stringDateField":"2012-04-17","stringDateTimeField":"1976-08-28T05:53:44Z","stringField":"TqFj","stringTimeField":"03:21:45.33Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":23,"numField":-413.96402969711545,"stringDateField":"2012-04-17","stringDateTimeField":"1976-08-28T05:53:44Z","stringField":"TqFj","stringTimeField":"03:21:45.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2532,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2532,"uuid":"9e0a89aa-5655-11ee-8801-675ed0f8e89b"},"arrayField":["sEnkaTw","iJMhKRuon","drtAP","jiwGwwIBVQ","doiolX","OucpbCt","WSdptOUahg","LCXKLcsD","tszyOFIuWR","ujdjDMJHpL"],"boolField":false,"intField":-119,"numField":142.62999422424906,"objField":{"HjdQvfcrh":439786182975296682,"fAbWSDCn":5625558430991135996,"jHpXXGFEKw":-3030159112557192540,"sFzFIkpU":-5969777165590115194},"stringDateField":"1918-09-13","stringDateTimeField":"1975-11-30T15:52:24Z","stringField":"ArdiTLW","stringTimeField":"18:23:04.33Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":-119,"numField":142.62999422424906,"stringDateField":"1918-09-13","stringDateTimeField":"1975-11-30T15:52:24Z","stringField":"ArdiTLW","stringTimeField":"18:23:04.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2533,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2533,"uuid":"9e0a89aa-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["CzcY","DvYo","NRqn"],"boolField":false,"intField":404,"numField":-866.8663293215794,"objField":{"TfuyEkEiT":-646114213258151827,"YaVFdFwbZn":245092435200973526,"iRghFsb":3650694796495876711},"stringDateField":"2001-10-09","stringDateTimeField":"1976-12-01T13:34:21Z","stringField":"DomJCQ","stringTimeField":"03:37:19.29Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":404,"numField":-866.8663293215794,"stringDateField":"2001-10-09","stringDateTimeField":"1976-12-01T13:34:21Z","stringField":"DomJCQ","stringTimeField":"03:37:19.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2534,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2534,"uuid":"9e0a89aa-5655-11ee-9001-675ed0f8e89b"},"arrayField":["Rhzk"],"boolField":true,"intField":-133,"numField":-489.4017513108428,"objField":{"FagAEsfP":-1386572217117709693,"IecYW":8660323390823590833,"MNXsrEDR":1304386964474075287,"VwpUCHObkh":4370465569913502556,"ezqof":5990547395997545342,"loutU":6199195266236786685,"mBFcmCM":7952734650258929907,"vBjlK":5990996095251725258,"wPvOIAmwQs":8528803043295764224},"stringDateField":"1996-01-03","stringDateTimeField":"1993-11-19T12:41:38Z","stringField":"PgWe","stringTimeField":"23:06:53.11Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":-133,"numField":-489.4017513108428,"stringDateField":"1996-01-03","stringDateTimeField":"1993-11-19T12:41:38Z","stringField":"PgWe","stringTimeField":"23:06:53.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2535,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2535,"uuid":"9e0a89aa-5655-11ee-9401-675ed0f8e89b"},"arrayField":["hOJkag","EbOVVZPPw","HXOIqXPhpN","pxsCRYhOl","VNsU","bucq","Grxqd","oIszm","OuFCqXHZVF"],"boolField":true,"intField":795,"numField":866.006566661895,"objField":{"JWYifYsUuX":-5318948589209192798,"UHHW":3981623236039261334,"WgwRUTdmz":-948637322361870003,"aSZKkoK":-778291360326404864,"fuVdKXXhx":1061778091721907540,"gJfDun":1421182888990828533},"stringDateField":"2008-08-04","stringDateTimeField":"1992-10-23T02:41:49Z","stringField":"cofUMtjmkn","stringTimeField":"02:31:48.49Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":795,"numField":866.006566661895,"stringDateField":"2008-08-04","stringDateTimeField":"1992-10-23T02:41:49Z","stringField":"cofUMtjmkn","stringTimeField":"02:31:48.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2536,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2536,"uuid":"9e0a89aa-5655-11ee-9801-675ed0f8e89b"},"arrayField":["CTnVtCwvb","dTMe","hQrha","RtSKi","uEwleqbAK"],"boolField":false,"intField":271,"numField":415.89945799294026,"objField":{"bKtikJ":7595304545811789917,"cNuhdnkdB":4337001124312845020,"fablAtERn":248564268816384850,"gEgATYFlxh":1830221601291299199,"llPVGugso":2731703596975169651,"mJCZnBdUk":-4191153433838952762,"pThvKUz":-7198329110642686002},"stringDateField":"1976-03-02","stringDateTimeField":"1906-08-22T08:33:57Z","stringField":"uVRdCxUQT","stringTimeField":"16:11:08.33Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":271,"numField":415.89945799294026,"stringDateField":"1976-03-02","stringDateTimeField":"1906-08-22T08:33:57Z","stringField":"uVRdCxUQT","stringTimeField":"16:11:08.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2537,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2537,"uuid":"9e0a89aa-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["IIeSX","FRdIQotfu","zlnbWYgA","QiMnoSRrc","lkUkDF","XIrhX","OeZsmLyof","qnagjr"],"boolField":true,"intField":-667,"numField":411.2392126322924,"objField":{"gmLaFaR":-9167213979670123073,"tPOZqhrfsN":5734354563161793074,"txYwUVZi":6783233314435283389},"stringDateField":"1958-03-02","stringDateTimeField":"1943-05-27T12:58:38Z","stringField":"eiEfXvmQhS","stringTimeField":"03:32:59.46Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":-667,"numField":411.2392126322924,"stringDateField":"1958-03-02","stringDateTimeField":"1943-05-27T12:58:38Z","stringField":"eiEfXvmQhS","stringTimeField":"03:32:59.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2538,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2538,"uuid":"9e0a89aa-5655-11ee-a001-675ed0f8e89b"},"arrayField":["PxwfIz","DAtBxRl","mZTyhlCIo"],"boolField":true,"intField":102,"numField":504.6461544971912,"objField":{"FQGqeEcP":-2642286115579295557,"PjYTztZYVs":1951285398371967104,"RMFwuJc":7988033725087039599,"dAxJMyTgue":3840030314552960935,"dSxPYE":5287370491599158408,"dhAXw":7354353224086064007,"dwNJHbiPi":-8336437535507866078,"jfpDOe":9128095799172915462,"lAiQWnc":5588206234949853830,"vjbJFDlqs":-6396893189514329923},"stringDateField":"1978-07-27","stringDateTimeField":"1943-11-24T06:26:12Z","stringField":"zREhYMaB","stringTimeField":"16:52:15.42Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":102,"numField":504.6461544971912,"stringDateField":"1978-07-27","stringDateTimeField":"1943-11-24T06:26:12Z","stringField":"zREhYMaB","stringTimeField":"16:52:15.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2539,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2539,"uuid":"9e0a89aa-5655-11ee-a401-675ed0f8e89b"},"arrayField":["gTIutlHU","dQnZ","qbPnNK","JcXTgYfUd","BoSvzm"],"boolField":false,"intField":938,"numField":825.6979729221683,"objField":{"AHVqEonS":-1760601959970828417,"HclKvsbZuI":1070539900136205269,"KsJOwX":-1406625533083927663,"LlJpFU":-529460846696717900,"aNxyKcYkv":6128249814451350862,"upapWZjDE":4362246141623632079,"yTFtx":2917650025386501999},"stringDateField":"1980-02-11","stringDateTimeField":"1912-11-13T10:18:22Z","stringField":"MoewDwd","stringTimeField":"04:36:08.10Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":938,"numField":825.6979729221683,"stringDateField":"1980-02-11","stringDateTimeField":"1912-11-13T10:18:22Z","stringField":"MoewDwd","stringTimeField":"04:36:08.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2540,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2540,"uuid":"9e0a89aa-5655-11ee-a801-675ed0f8e89b"},"arrayField":["qSsgPH","GhjQZyKcw","xJKssXyUEH","LGWDBPB"],"boolField":true,"intField":369,"numField":91.81956097820752,"objField":{"bxtytcFk":684958245784678914},"stringDateField":"2001-09-28","stringDateTimeField":"1957-11-28T00:45:39Z","stringField":"liAkWGJph","stringTimeField":"05:31:40.39Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":369,"numField":91.81956097820752,"stringDateField":"2001-09-28","stringDateTimeField":"1957-11-28T00:45:39Z","stringField":"liAkWGJph","stringTimeField":"05:31:40.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2541,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2541,"uuid":"9e0a89aa-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["uYrnry","dLUYERWMB","CgNAVE","wQUQrmT","qwKEooC","szCN"],"boolField":false,"intField":107,"numField":829.9735690149197,"objField":{"LZAsi":6424919701702460918,"OtBQDlpXCt":-412140320317734038,"ThCJY":3807216008592403874,"WPJX":-2773516338906773995,"bILGzVFpiT":-5681890710159744950,"jjiuhOK":8311679752952539604,"rIQFjSYVL":6505408281056149834,"rwsUkHw":84441523104623951,"wyCvyQKpu":8297931931384130795},"stringDateField":"1980-05-31","stringDateTimeField":"1984-01-08T00:22:30Z","stringField":"dBoCbmQ","stringTimeField":"15:50:02.20Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":107,"numField":829.9735690149197,"stringDateField":"1980-05-31","stringDateTimeField":"1984-01-08T00:22:30Z","stringField":"dBoCbmQ","stringTimeField":"15:50:02.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2542,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2542,"uuid":"9e0a89aa-5655-11ee-b001-675ed0f8e89b"},"arrayField":["EkhYgAmY","XfAr"],"boolField":true,"intField":246,"numField":83.5432185660665,"objField":{"BudZfZF":-4422438004088580331,"DfqLmFgBW":4330441428850377801,"TYJXYn":6736895917958181833,"czNHyvexBx":-2685100667935944820,"gEiwXoNBa":335498905628900256,"ihvMaBtb":-3522852870179666908,"nEypaL":3128906525317164766,"wemLUi":-1350976311855895570},"stringDateField":"1950-03-04","stringDateTimeField":"1997-08-27T22:54:09Z","stringField":"fTbOSjR","stringTimeField":"01:15:32.19Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":246,"numField":83.5432185660665,"stringDateField":"1950-03-04","stringDateTimeField":"1997-08-27T22:54:09Z","stringField":"fTbOSjR","stringTimeField":"01:15:32.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2543,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2543,"uuid":"9e0a89aa-5655-11ee-b401-675ed0f8e89b"},"arrayField":["PZZkWAoW","JpAyGfa","IUJqqIliFe","lmKadBK"],"boolField":true,"intField":633,"numField":151.35174814297824,"objField":{"OWqyafvL":1799587751718385681,"TvdnpOfA":-2423801338682199050,"WvewPLbVuW":-3874174270809157785},"stringDateField":"1917-02-23","stringDateTimeField":"1956-09-07T02:40:54Z","stringField":"rNBwovO","stringTimeField":"03:41:10.39Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":633,"numField":151.35174814297824,"stringDateField":"1917-02-23","stringDateTimeField":"1956-09-07T02:40:54Z","stringField":"rNBwovO","stringTimeField":"03:41:10.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2544,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2544,"uuid":"9e0a89aa-5655-11ee-b801-675ed0f8e89b"},"arrayField":["nSMAcEYpCt","djiTReg","anjGxzf","Gajr","HJIyerx","GNFcnkiaF","WyxPjwBu","IvolfIjkX"],"boolField":false,"intField":-667,"numField":639.9149082199805,"objField":{"IJuy":1228732348908274819,"LHqqe":-4182823264558231199,"XDpdXOuE":-4248462325769697344,"YIaifmYv":-7710414623812818372,"aBrAqGzgO":6391294401094810859,"fUvGi":4847258779352285350,"fcKIwsBuV":-5452828441845003568,"iBgSjnJMFp":-4493067002060527524,"omyu":-1111267466159005237},"stringDateField":"2012-01-15","stringDateTimeField":"1968-12-09T08:00:51Z","stringField":"PuHUbjHhW","stringTimeField":"12:33:37.20Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":-667,"numField":639.9149082199805,"stringDateField":"2012-01-15","stringDateTimeField":"1968-12-09T08:00:51Z","stringField":"PuHUbjHhW","stringTimeField":"12:33:37.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2545,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2545,"uuid":"9e0a89aa-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["jHQiAo","flURdmP","YhyzALeHF","GLwLhjV","xvTgw","GbDONv","ItRKSBFad","vvHejDcPq"],"boolField":true,"intField":-566,"numField":330.48072958386655,"objField":{"VOUf":6304137993482526233,"WzFqkBkLh":8330490122201889735,"fWyybDC":3110200255538712181,"hbnu":-1906601168192857392,"iZKa":779512050116840127,"qmMGeqYmG":-284852113174324657,"uBVMXYMQJn":-1757444929440755585},"stringDateField":"1956-08-29","stringDateTimeField":"1952-06-27T16:16:34Z","stringField":"dIBCj","stringTimeField":"04:10:08.41Z"},"flow_published_at":"2023-09-18T19:00:21.876369Z","intField":-566,"numField":330.48072958386655,"stringDateField":"1956-08-29","stringDateTimeField":"1952-06-27T16:16:34Z","stringField":"dIBCj","stringTimeField":"04:10:08.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2546,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2546,"uuid":"9e0a89ab-5655-11ee-8001-675ed0f8e89b"},"arrayField":["WWjoJA"],"boolField":false,"intField":462,"numField":-812.9901969509466,"objField":{"NctqgFNi":58991420706295200,"ULefxgxeWM":4751400571691412278,"ZekKGVZmNl":4252607631886141661,"ehuFxGN":-1045270441706892728,"nTSqmoR":6884716572411218381},"stringDateField":"2010-04-03","stringDateTimeField":"1937-06-12T16:12:05Z","stringField":"PYbtkgIfrM","stringTimeField":"12:01:35.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":462,"numField":-812.9901969509466,"stringDateField":"2010-04-03","stringDateTimeField":"1937-06-12T16:12:05Z","stringField":"PYbtkgIfrM","stringTimeField":"12:01:35.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2547,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2547,"uuid":"9e0a89ab-5655-11ee-8401-675ed0f8e89b"},"arrayField":["hkOi","vZnUkQbKBA","ETVrPhOW","dimjHLOVxX","xxRdoxIVK"],"boolField":true,"intField":746,"numField":-269.42491970743396,"objField":{"axelEgdqHe":-7466059303234531757,"mHcW":-2647909297767027988,"piNOHldI":-5635921477134096275,"spDv":-8802067816896171046,"yuwjxKw":-5237408444582888877},"stringDateField":"1969-11-18","stringDateTimeField":"1917-07-22T15:47:40Z","stringField":"IFvQ","stringTimeField":"02:20:15.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":746,"numField":-269.42491970743396,"stringDateField":"1969-11-18","stringDateTimeField":"1917-07-22T15:47:40Z","stringField":"IFvQ","stringTimeField":"02:20:15.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2548,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2548,"uuid":"9e0a89ab-5655-11ee-8801-675ed0f8e89b"},"arrayField":["iyETirgm","iLjByGtrO","PsoQcAlZ"],"boolField":true,"intField":316,"numField":-179.6861130776154,"objField":{"DeYmCv":-5401154816385887166,"Gldtx":-5455815023916409544,"Uvrl":7789205688127143763,"YBoU":-2869048959290532179,"coVbvrHdU":1834348313931234194,"npnWPm":5207986116768703153,"qGxENTQdn":8916084654760034411,"qQyrxFwsn":59222431900586394,"qkPylhy":-3450246631622089025},"stringDateField":"1934-12-22","stringDateTimeField":"2005-02-23T07:16:42Z","stringField":"rmBqDhWc","stringTimeField":"20:17:50.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":316,"numField":-179.6861130776154,"stringDateField":"1934-12-22","stringDateTimeField":"2005-02-23T07:16:42Z","stringField":"rmBqDhWc","stringTimeField":"20:17:50.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2549,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2549,"uuid":"9e0a89ab-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["VPBc","XJAt","SajhtjC","YYzk","VSqNbesh","jOeCSTGdv","PsEthw","BYpNE"],"boolField":true,"intField":-968,"numField":198.8600990160267,"objField":{"IYwQWbbg":-2174706827506939613,"IqhLp":-8695395387204532166,"LNyu":-7784439124776308491,"NfKIYhDWHb":-2266232500876685642,"OhyYcHg":4927030441872693613,"STtplJVgum":4078970982290221635,"UnKTqbeRbb":2249833945395314487,"aDbjOM":7316902526650040896,"gpFpyVwea":-7882507996797921254,"uoMO":-6815072673735407790},"stringDateField":"1988-01-27","stringDateTimeField":"1982-05-07T09:05:28Z","stringField":"gnKzSeZEEr","stringTimeField":"22:26:13.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":-968,"numField":198.8600990160267,"stringDateField":"1988-01-27","stringDateTimeField":"1982-05-07T09:05:28Z","stringField":"gnKzSeZEEr","stringTimeField":"22:26:13.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2550,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2550,"uuid":"9e0a89ab-5655-11ee-9001-675ed0f8e89b"},"arrayField":["EqQykwV"],"boolField":true,"intField":235,"numField":10.736682057709055,"objField":{"FPkzE":2863214898015060265,"hZDi":-3174266631477510028},"stringDateField":"1994-01-07","stringDateTimeField":"1975-02-18T00:18:45Z","stringField":"hZXPBDvXyP","stringTimeField":"12:19:58.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":235,"numField":10.736682057709055,"stringDateField":"1994-01-07","stringDateTimeField":"1975-02-18T00:18:45Z","stringField":"hZXPBDvXyP","stringTimeField":"12:19:58.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2551,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2551,"uuid":"9e0a89ab-5655-11ee-9401-675ed0f8e89b"},"arrayField":["SMKSoZrVxa","iLCvuO","bmawQqJXX","tjoaPeTmxJ","unynYMIaD","RbnYMw","CIsJzsCa"],"boolField":true,"intField":-121,"numField":-612.0970209212942,"objField":{"OTdv":5410304710175995498,"RvLtz":-1521413551599369323,"VliOYR":-4067528882618832644,"YuUaG":1482617149301359923,"jWCvssWwX":4811978767831406381,"jzgOlH":-2534071709144046483,"lUAsBhDI":2306701336294301364,"xMDWGOGdOM":8822802754895155931},"stringDateField":"1953-10-05","stringDateTimeField":"1913-02-26T11:56:43Z","stringField":"HXpmwvWoOE","stringTimeField":"03:09:39.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":-121,"numField":-612.0970209212942,"stringDateField":"1953-10-05","stringDateTimeField":"1913-02-26T11:56:43Z","stringField":"HXpmwvWoOE","stringTimeField":"03:09:39.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2552,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2552,"uuid":"9e0a89ab-5655-11ee-9801-675ed0f8e89b"},"arrayField":["GyfORTL","oCnwj","JlszrocKH","FsdZlx","WLIUXke","YhdUAGHzrr","Xbuoo","EiVsEPlZU","NjaYaxD","htioE"],"boolField":true,"intField":-523,"numField":-486.67523977131367,"objField":{"IxyFTQBj":-5663605820710434119,"LIDqIi":3074225660047753792,"cEUTZKvaM":6108137911869833165,"rFweztCyZv":2884004727947887518},"stringDateField":"1947-06-25","stringDateTimeField":"1932-05-02T10:35:58Z","stringField":"iRVXZ","stringTimeField":"23:51:45.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":-523,"numField":-486.67523977131367,"stringDateField":"1947-06-25","stringDateTimeField":"1932-05-02T10:35:58Z","stringField":"iRVXZ","stringTimeField":"23:51:45.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2553,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2553,"uuid":"9e0a89ab-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["FujNJ","fRfgdD","QlfiuMMj","OwwG","sehgEo","KDPoVK","KbCHWP","kcXuVoYtVy","oJWkY"],"boolField":true,"intField":639,"numField":532.3459589076491,"objField":{"DOwNpVxL":-8790138999920212321,"EwlVTjsX":-5629664166290298961,"JmNMXZXpZ":5037503061747744773,"RomuUcQYtH":3426585379511122569,"aLdUF":2204219192203273868,"fIWp":-3164039805497167885,"uTaKLwNvYp":-1613933844269943269,"wYYGpTS":3577487932739305501},"stringDateField":"1930-10-16","stringDateTimeField":"1982-11-20T03:11:44Z","stringField":"wzKWBz","stringTimeField":"03:16:52.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":639,"numField":532.3459589076491,"stringDateField":"1930-10-16","stringDateTimeField":"1982-11-20T03:11:44Z","stringField":"wzKWBz","stringTimeField":"03:16:52.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2554,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2554,"uuid":"9e0a89ab-5655-11ee-a001-675ed0f8e89b"},"arrayField":["WcVfmfjD","WRwqHzVknJ","rgxbY","AwwHI","OxrFlPLf","KyFz"],"boolField":false,"intField":-652,"numField":430.1097446555409,"objField":{"BtlUJGTNcf":5655234891313669669,"ETaZ":-7260336263796016245,"IfbUo":4614665819151431333,"WUNh":8426441145535737352,"WvgBMZl":5006570938038810170,"YBIeePa":-4109424370126773080,"ofCIbAap":-4189842180386365353,"rFpw":-76511997137430780},"stringDateField":"2008-10-26","stringDateTimeField":"1978-09-08T18:08:27Z","stringField":"KBkwP","stringTimeField":"05:30:41.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":-652,"numField":430.1097446555409,"stringDateField":"2008-10-26","stringDateTimeField":"1978-09-08T18:08:27Z","stringField":"KBkwP","stringTimeField":"05:30:41.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2555,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2555,"uuid":"9e0a89ab-5655-11ee-a401-675ed0f8e89b"},"arrayField":["nTXA","IGMWg","CWYOb","VmgUpQy","sqGhbi","WBgHSWZF","WZwLpoZtn","IDiiEDLfgv","YRXMDL"],"boolField":true,"intField":993,"numField":977.8533732216334,"objField":{"AdsUECiLn":1389685415581831834,"JDLxke":7515089374041398277,"OIKYz":-1876811098899237344,"QAqnUUWy":-5497262911844463379,"lDIkN":8310034046678393766,"lQft":-9147764356767989633,"olADhqQPom":-6276201046652186591,"rhsbQy":5618116358052259090},"stringDateField":"1914-07-10","stringDateTimeField":"1959-09-13T03:17:23Z","stringField":"ncfi","stringTimeField":"03:18:20.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":993,"numField":977.8533732216334,"stringDateField":"1914-07-10","stringDateTimeField":"1959-09-13T03:17:23Z","stringField":"ncfi","stringTimeField":"03:18:20.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2556,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2556,"uuid":"9e0a89ab-5655-11ee-a801-675ed0f8e89b"},"arrayField":["KcIU","cwQBOsbdxc","MqQoeNAhP","ZLhMICQPl","PKIzJwiL","przzgH","fNAsmoNz","acJrY"],"boolField":true,"intField":11,"numField":315.85109965624827,"objField":{"MTfvwdlS":-7067024976311755580,"oGtKohyDtq":-8840393967484821470},"stringDateField":"1902-07-06","stringDateTimeField":"1910-10-23T23:54:16Z","stringField":"btWwpRiTA","stringTimeField":"09:48:24.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":11,"numField":315.85109965624827,"stringDateField":"1902-07-06","stringDateTimeField":"1910-10-23T23:54:16Z","stringField":"btWwpRiTA","stringTimeField":"09:48:24.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2557,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2557,"uuid":"9e0a89ab-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ZdEFwq"],"boolField":false,"intField":111,"numField":75.6233933505257,"objField":{"NzZQvGge":2001178550556599207,"QLcKMt":5152551528509071417,"YPmA":-1989354956544523294,"dDlrdye":8479767029412244862,"nhWssRGCHL":-9104055939549302807,"skmm":-2481766686627392228,"vHQgu":466239268542667627,"yaxaQD":-5880835339214659501},"stringDateField":"1922-06-07","stringDateTimeField":"2013-09-22T04:12:29Z","stringField":"qUus","stringTimeField":"18:33:27.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":111,"numField":75.6233933505257,"stringDateField":"1922-06-07","stringDateTimeField":"2013-09-22T04:12:29Z","stringField":"qUus","stringTimeField":"18:33:27.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2558,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2558,"uuid":"9e0a89ab-5655-11ee-b001-675ed0f8e89b"},"arrayField":["TmZY"],"boolField":true,"intField":231,"numField":-237.2545721835945,"objField":{"LReie":3527529730005910244,"PxGgVMjbI":7042417402467541612,"QOUN":1695932429637450815,"SASQkYLP":997968382241262389,"kDbaZbbWb":1191281438987177928,"lYGDrgNOL":-2276260110819977739},"stringDateField":"1994-10-31","stringDateTimeField":"1992-07-29T11:51:44Z","stringField":"oypmDMiiU","stringTimeField":"02:16:59.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":231,"numField":-237.2545721835945,"stringDateField":"1994-10-31","stringDateTimeField":"1992-07-29T11:51:44Z","stringField":"oypmDMiiU","stringTimeField":"02:16:59.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2559,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2559,"uuid":"9e0a89ab-5655-11ee-b401-675ed0f8e89b"},"arrayField":["FuYLxVFFDr","wKoSxwByFU","dEVpG","LKZvNQz"],"boolField":false,"intField":-286,"numField":-347.9085793226613,"objField":{"CMLd":-6266174748304443275,"EmOXpg":4080608501869826107,"JPMDYBN":-1283538252411547108,"JsIlvudf":8561036232857652505,"tMxgPKzhZS":939061269987855230,"ypsLIAwZ":6338914963936878671},"stringDateField":"1945-06-14","stringDateTimeField":"1951-02-25T22:57:04Z","stringField":"eWbCb","stringTimeField":"09:23:16.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":-286,"numField":-347.9085793226613,"stringDateField":"1945-06-14","stringDateTimeField":"1951-02-25T22:57:04Z","stringField":"eWbCb","stringTimeField":"09:23:16.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2560,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2560,"uuid":"9e0a89ab-5655-11ee-b801-675ed0f8e89b"},"arrayField":["cbfqTFB","GAOgqo","hzPAHhgTXD"],"boolField":false,"intField":539,"numField":337.12706678404936,"objField":{"HPrqQfUeP":-1003697397247425879,"hYFSPHnbDr":-8506398494847853571,"kSjAf":6153738780871127712,"zLTqT":4827890355101245968},"stringDateField":"1901-12-16","stringDateTimeField":"1911-02-07T20:20:21Z","stringField":"dWNRq","stringTimeField":"08:16:58.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":539,"numField":337.12706678404936,"stringDateField":"1901-12-16","stringDateTimeField":"1911-02-07T20:20:21Z","stringField":"dWNRq","stringTimeField":"08:16:58.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2561,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2561,"uuid":"9e0a89ab-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ArDoXfX","RkvB","FsRFfxYii","VZdnqlo","nCjFyvkQ","fcTbSL","EXUyBBl","eTwl","DfTQyki"],"boolField":true,"intField":-318,"numField":-688.7429412310421,"objField":{"GXWVFeFIIh":2979353563385405831,"IdEyFo":7131225979634771551},"stringDateField":"1978-03-17","stringDateTimeField":"2009-08-26T22:47:11Z","stringField":"bDURm","stringTimeField":"00:13:42.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763691Z","intField":-318,"numField":-688.7429412310421,"stringDateField":"1978-03-17","stringDateTimeField":"2009-08-26T22:47:11Z","stringField":"bDURm","stringTimeField":"00:13:42.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2562,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2562,"uuid":"9e0a89ac-5655-11ee-8001-675ed0f8e89b"},"arrayField":["vLxz","zceli","lChcQtY"],"boolField":false,"intField":-29,"numField":-442.1444538173848,"objField":{"CMNWCmVoB":6436257106030277914,"comyKRU":-2239596916920879748,"gMWoKKE":4369473132893912327,"huNxdgNaUc":-1101791525123582650,"usKYOWCNM":-4497934024842553560},"stringDateField":"1973-12-20","stringDateTimeField":"1953-08-31T00:05:36Z","stringField":"mnzzA","stringTimeField":"08:16:56.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":-29,"numField":-442.1444538173848,"stringDateField":"1973-12-20","stringDateTimeField":"1953-08-31T00:05:36Z","stringField":"mnzzA","stringTimeField":"08:16:56.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2563,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2563,"uuid":"9e0a89ac-5655-11ee-8401-675ed0f8e89b"},"arrayField":["QFNMxnN"],"boolField":true,"intField":73,"numField":981.98734395514,"objField":{"GUiI":1074840432338030073,"OxWp":-1373459529348615857,"QkzeZWf":8262713594479053754,"SFgqJmP":-7977559992299603876,"SOgd":2017510865855742928,"Umlc":135570230749362121,"lXySiFNaB":-6288527705939124469},"stringDateField":"1970-07-05","stringDateTimeField":"1972-09-08T21:19:30Z","stringField":"AaEYhc","stringTimeField":"06:38:27.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":73,"numField":981.98734395514,"stringDateField":"1970-07-05","stringDateTimeField":"1972-09-08T21:19:30Z","stringField":"AaEYhc","stringTimeField":"06:38:27.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2564,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2564,"uuid":"9e0a89ac-5655-11ee-8801-675ed0f8e89b"},"arrayField":["mAobyTC","AJPmwFGR","wNMEzBmpgM","YOGMZhidJE","wyjs"],"boolField":false,"intField":110,"numField":-774.5082243363897,"objField":{"CIbkBa":-1955524045224796831,"FEcLZZIDiW":-17004996140128557,"GfmTkesPi":-3962184376403515048,"QLchVW":-1367444212853816870,"SraYcYiVK":8892528928270126562,"YBsNtbyO":-7431481300348321445,"tGBxaCyN":2457239614553182387,"vbfH":7228043514025991587},"stringDateField":"2000-01-11","stringDateTimeField":"1950-10-20T23:29:45Z","stringField":"LoEVPSI","stringTimeField":"20:46:54.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":110,"numField":-774.5082243363897,"stringDateField":"2000-01-11","stringDateTimeField":"1950-10-20T23:29:45Z","stringField":"LoEVPSI","stringTimeField":"20:46:54.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2565,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2565,"uuid":"9e0a89ac-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["mnxjYY","qBzrifla","FzhAK","sRMfV","FGOCetEzRt"],"boolField":false,"intField":488,"numField":980.6550420376624,"objField":{"EafevQ":-4412032770533961805,"EiVfoGUFry":2820635527406082543,"HfaM":-7470648759800531908,"LXSpK":5866747890914186083,"TRJzvbK":-8465355479469527387,"hefgaUbD":-8640466118604090066,"kMGijZyk":3327328289981793007,"pWOEabZ":-6564255261217919780,"tkutPx":-6766772201977781084,"wnPf":-5234792966886205860},"stringDateField":"2014-07-03","stringDateTimeField":"1998-07-17T12:41:41Z","stringField":"lCsDyKfX","stringTimeField":"03:02:43.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":488,"numField":980.6550420376624,"stringDateField":"2014-07-03","stringDateTimeField":"1998-07-17T12:41:41Z","stringField":"lCsDyKfX","stringTimeField":"03:02:43.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2566,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2566,"uuid":"9e0a89ac-5655-11ee-9001-675ed0f8e89b"},"arrayField":["TMioAcK","qHvwAgR"],"boolField":true,"intField":-892,"numField":-978.5184866724862,"objField":{"FHEYbm":426703163585218888,"QHeOzLKaKo":-7290662282018365641},"stringDateField":"1901-05-07","stringDateTimeField":"1900-12-28T06:31:34Z","stringField":"EmqJmbxhKq","stringTimeField":"23:00:22.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":-892,"numField":-978.5184866724862,"stringDateField":"1901-05-07","stringDateTimeField":"1900-12-28T06:31:34Z","stringField":"EmqJmbxhKq","stringTimeField":"23:00:22.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2567,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2567,"uuid":"9e0a89ac-5655-11ee-9401-675ed0f8e89b"},"arrayField":["XnajykBvSb","ZmjmNpnnWz","hEsVvnpC","gJOcAmyAc","uIvFzpFGY"],"boolField":true,"intField":-827,"numField":-214.9436433463232,"objField":{"aCkfx":-7147018497178189385},"stringDateField":"1977-10-24","stringDateTimeField":"1928-11-20T06:57:22Z","stringField":"vrutk","stringTimeField":"03:14:02.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":-827,"numField":-214.9436433463232,"stringDateField":"1977-10-24","stringDateTimeField":"1928-11-20T06:57:22Z","stringField":"vrutk","stringTimeField":"03:14:02.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2568,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2568,"uuid":"9e0a89ac-5655-11ee-9801-675ed0f8e89b"},"arrayField":["iLfw","ZhBLOzt","etwd","ZBom"],"boolField":true,"intField":844,"numField":-645.7914346800974,"objField":{"Acym":9198144799481132894,"HDMJ":-6479604502450804088,"HfOFMa":2826476437603487414,"UIubdHTzn":5637270040680927766,"dGSHK":224908497939622575,"iKwS":6701973374907895635,"uIDxxhzNfd":-6063298956283258367},"stringDateField":"1984-01-02","stringDateTimeField":"2002-03-05T12:37:11Z","stringField":"botEQjfzLG","stringTimeField":"13:34:04.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":844,"numField":-645.7914346800974,"stringDateField":"1984-01-02","stringDateTimeField":"2002-03-05T12:37:11Z","stringField":"botEQjfzLG","stringTimeField":"13:34:04.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2569,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2569,"uuid":"9e0a89ac-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["FticCF","gwWMGpTkZ"],"boolField":true,"intField":855,"numField":572.1938565596733,"objField":{"HzNBrbmJu":-2903359228887246974,"aJyctjDwl":6467273998434668036,"kLzFoenajd":-1571574893802491173},"stringDateField":"1994-09-06","stringDateTimeField":"2011-11-30T00:16:20Z","stringField":"qelTAHU","stringTimeField":"18:40:50.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":855,"numField":572.1938565596733,"stringDateField":"1994-09-06","stringDateTimeField":"2011-11-30T00:16:20Z","stringField":"qelTAHU","stringTimeField":"18:40:50.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2570,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2570,"uuid":"9e0a89ac-5655-11ee-a001-675ed0f8e89b"},"arrayField":["tRux","zSQHUO","kWGGW","GaRACkQz","DfVKdmeRun","koNXIHt","liJDdtmn","qkcRvaUl","nRSrNni"],"boolField":false,"intField":29,"numField":27.496210493754617,"objField":{"WkNxsskdF":-6149324808200737296,"dBFURRezi":8912434165155190802,"dxWovt":6504140086151186158,"fYumPlG":-2707190974386862682,"gERZgS":3617290734104662590,"opMrBYZr":-3098694604867951264,"ppQBaiEZmo":4195970393746207393,"qodSMiQAK":-1147598049105378076,"tbUZpau":6123547584453520855},"stringDateField":"1980-10-10","stringDateTimeField":"1910-09-12T09:00:00Z","stringField":"PswCT","stringTimeField":"04:54:46.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":29,"numField":27.496210493754617,"stringDateField":"1980-10-10","stringDateTimeField":"1910-09-12T09:00:00Z","stringField":"PswCT","stringTimeField":"04:54:46.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2571,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2571,"uuid":"9e0a89ac-5655-11ee-a401-675ed0f8e89b"},"arrayField":["WmVsrITZD","Eiesea","LfpU","HujSlD","weWaZ","NERY"],"boolField":false,"intField":422,"numField":352.1931309535782,"objField":{"MXSMQ":-6724295449489245756,"QhfBKGDM":8305476235327006721,"cAtiveVhd":229201454919366745,"eJJaNawI":-419936079028465946,"kzaZmaUC":-4128435164258611923},"stringDateField":"1908-03-05","stringDateTimeField":"1999-12-09T11:25:15Z","stringField":"fWTZAWd","stringTimeField":"03:21:52.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":422,"numField":352.1931309535782,"stringDateField":"1908-03-05","stringDateTimeField":"1999-12-09T11:25:15Z","stringField":"fWTZAWd","stringTimeField":"03:21:52.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2572,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2572,"uuid":"9e0a89ac-5655-11ee-a801-675ed0f8e89b"},"arrayField":["uNtoKun","owOieDCQzQ","FmvRWxwB","GFVZYl","onIcDCe","vqQxj","UzidqdYPBU","KaAqCEZ"],"boolField":false,"intField":783,"numField":-44.188410163772616,"objField":{"CgYWA":2992765727612353764,"NcoZvtJ":-7703854158232956329,"eiKfAUBXk":-3946765283558118049},"stringDateField":"2020-03-18","stringDateTimeField":"1981-04-11T01:05:13Z","stringField":"cLDrCOds","stringTimeField":"11:15:40.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":783,"numField":-44.188410163772616,"stringDateField":"2020-03-18","stringDateTimeField":"1981-04-11T01:05:13Z","stringField":"cLDrCOds","stringTimeField":"11:15:40.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2573,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2573,"uuid":"9e0a89ac-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ChCil","rGMBVJVJ","ZKFWQsy","yAsMuKj","WUpJvlZGKx","wGfXQ"],"boolField":false,"intField":911,"numField":-695.2257605723992,"objField":{"PKQAlpMOV":-2644149565087278457,"qyaazB":-5667702231945590163,"rVXub":6993693418525876153,"sFZZPKcfyk":8841847000588436639},"stringDateField":"1934-06-27","stringDateTimeField":"1905-06-04T13:23:19Z","stringField":"LZjn","stringTimeField":"17:22:36.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":911,"numField":-695.2257605723992,"stringDateField":"1934-06-27","stringDateTimeField":"1905-06-04T13:23:19Z","stringField":"LZjn","stringTimeField":"17:22:36.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2574,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2574,"uuid":"9e0a89ac-5655-11ee-b001-675ed0f8e89b"},"arrayField":["OCaWNHschr","GNWpvgjrgf","glGBW"],"boolField":true,"intField":302,"numField":702.8526073840646,"objField":{"EQpfhDGz":-9192929658938964686,"WUwgirOg":-3197273908798061882,"dSpw":-58765041746346454,"ecLRQycP":5483495146326086946,"mAuLyHsAw":5990658144135715846,"mOkoQ":5655526527020404136},"stringDateField":"1987-04-09","stringDateTimeField":"1906-06-15T14:49:44Z","stringField":"EzEoS","stringTimeField":"01:43:14.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":302,"numField":702.8526073840646,"stringDateField":"1987-04-09","stringDateTimeField":"1906-06-15T14:49:44Z","stringField":"EzEoS","stringTimeField":"01:43:14.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2575,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2575,"uuid":"9e0a89ac-5655-11ee-b401-675ed0f8e89b"},"arrayField":["aPjKE"],"boolField":false,"intField":571,"numField":588.6738202664321,"objField":{"DvYxCoIc":5634057726917016366,"ooEY":7997428356858114234,"qIqSTTFGIt":-6487495665617595117},"stringDateField":"1929-04-11","stringDateTimeField":"1990-09-17T04:32:43Z","stringField":"XOuwmy","stringTimeField":"01:09:37.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":571,"numField":588.6738202664321,"stringDateField":"1929-04-11","stringDateTimeField":"1990-09-17T04:32:43Z","stringField":"XOuwmy","stringTimeField":"01:09:37.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2576,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2576,"uuid":"9e0a89ac-5655-11ee-b801-675ed0f8e89b"},"arrayField":["FTdGXyskk","xHpofdVd","MewLy","codpZX","ThvRaA","PEGw"],"boolField":true,"intField":-816,"numField":-348.872585056484,"objField":{"CQEVdIzQsk":6561868020000699793,"EQoMPKg":-6783655372990053235,"JPjeFx":117431810904774613,"OzUl":-6745441728306190251,"YijdVOlhat":2085738746052064918,"elBznCMiNk":-3260202953852546062,"gOBP":5493964132479489123},"stringDateField":"1909-01-26","stringDateTimeField":"1970-07-08T15:17:37Z","stringField":"XBjlHg","stringTimeField":"15:47:12.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":-816,"numField":-348.872585056484,"stringDateField":"1909-01-26","stringDateTimeField":"1970-07-08T15:17:37Z","stringField":"XBjlHg","stringTimeField":"15:47:12.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2577,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2577,"uuid":"9e0a89ac-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["QeiPvJ","RYKrJXtQwQ","VFhW","tLzlFuSyP","vkwaUQ","BSfypObbYU"],"boolField":true,"intField":150,"numField":-731.240960401013,"objField":{"Dcvg":6032613734172835591,"FziZPqru":-3932439782867023717,"IolgK":4449995825067550367,"NIBdspzW":3041994077098420992,"NTelKwFZ":-8713881254506109155,"ePCprcBCDS":3175819412907768191,"lGReRVmXTG":7376908637903260765,"tNsr":-982749386503623687},"stringDateField":"1943-05-07","stringDateTimeField":"1992-12-25T07:48:36Z","stringField":"rRDtH","stringTimeField":"05:04:03.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763692Z","intField":150,"numField":-731.240960401013,"stringDateField":"1943-05-07","stringDateTimeField":"1992-12-25T07:48:36Z","stringField":"rRDtH","stringTimeField":"05:04:03.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2578,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2578,"uuid":"9e0a89ad-5655-11ee-8001-675ed0f8e89b"},"arrayField":["KnPwuPyEz","QTVzaeSiV","nrrYNt","cTYiiEMGS","gcRzVLLKGq","JeceuN","wzbkcK","cxnQELa"],"boolField":false,"intField":-835,"numField":-133.36403828385767,"objField":{"xtoG":6610262913378602683},"stringDateField":"1940-04-12","stringDateTimeField":"1957-12-09T23:05:36Z","stringField":"wPtuwUCilD","stringTimeField":"08:47:32.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":-835,"numField":-133.36403828385767,"stringDateField":"1940-04-12","stringDateTimeField":"1957-12-09T23:05:36Z","stringField":"wPtuwUCilD","stringTimeField":"08:47:32.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2579,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2579,"uuid":"9e0a89ad-5655-11ee-8401-675ed0f8e89b"},"arrayField":["SjxoW","eKZpyviXG","roZXWRyBu","BdQhyDBKT","qXHO","nodU"],"boolField":false,"intField":-61,"numField":588.753170040278,"objField":{"nRYzP":-5541916376513129582,"stEeyiZ":4641445227113187317,"vuBAIBz":8363889428045968112},"stringDateField":"1951-10-11","stringDateTimeField":"2016-10-10T19:36:54Z","stringField":"siFWYLds","stringTimeField":"19:12:28.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":-61,"numField":588.753170040278,"stringDateField":"1951-10-11","stringDateTimeField":"2016-10-10T19:36:54Z","stringField":"siFWYLds","stringTimeField":"19:12:28.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2580,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2580,"uuid":"9e0a89ad-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bteL","xIyNrA","YmQjpxP","RDLcfvf","YeVPnOeP","kOMSWn","IMTpekK","LKzAMSxj"],"boolField":true,"intField":315,"numField":-339.080179705316,"objField":{"HDYFtJ":-3827186433494297039,"NxKj":301897481255922038,"WkqhFk":-7680075680117176085,"WsKMLh":388377449756648559,"pgVvEyzO":-7802645280808013028,"sKRjLQ":7564807824242480949},"stringDateField":"2000-01-21","stringDateTimeField":"1970-08-16T19:50:21Z","stringField":"HILMfRAEwg","stringTimeField":"20:59:12.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":315,"numField":-339.080179705316,"stringDateField":"2000-01-21","stringDateTimeField":"1970-08-16T19:50:21Z","stringField":"HILMfRAEwg","stringTimeField":"20:59:12.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2581,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2581,"uuid":"9e0a89ad-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["zoUX"],"boolField":true,"intField":-931,"numField":-209.82321794753955,"objField":{"DrNOAd":7865835336513136859,"FNvsxB":-6130867749344165025,"HpCMkuC":8980492613209885727,"jlAih":5685136510456804089},"stringDateField":"1931-04-25","stringDateTimeField":"2022-07-18T22:54:38Z","stringField":"rbbTTNwER","stringTimeField":"00:30:37.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":-931,"numField":-209.82321794753955,"stringDateField":"1931-04-25","stringDateTimeField":"2022-07-18T22:54:38Z","stringField":"rbbTTNwER","stringTimeField":"00:30:37.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2582,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2582,"uuid":"9e0a89ad-5655-11ee-9001-675ed0f8e89b"},"arrayField":["avlC","sHAsudtv"],"boolField":false,"intField":-619,"numField":261.1110035714705,"objField":{"IiGhvAKO":4502879292311366624,"NMCOVZt":3747691739324774719,"QAdo":-1597364981736748589,"bhaQOFEqYF":-3564883858624124518,"mJgykH":-629084251307852602,"pWJgoYPcHX":-6632201193786379330,"ryHEppiikE":2867976191859813847,"yPJZNygb":3952229673256005957,"yWWjUNWok":8921602753600163733},"stringDateField":"2014-08-30","stringDateTimeField":"2019-03-06T17:01:57Z","stringField":"zLtq","stringTimeField":"00:25:18.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":-619,"numField":261.1110035714705,"stringDateField":"2014-08-30","stringDateTimeField":"2019-03-06T17:01:57Z","stringField":"zLtq","stringTimeField":"00:25:18.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2583,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2583,"uuid":"9e0a89ad-5655-11ee-9401-675ed0f8e89b"},"arrayField":["vrUg","PDaNHF"],"boolField":false,"intField":899,"numField":-669.1663730552668,"objField":{"FYsNdb":3751927883768126264,"FeFL":-5681497557204221203,"KGvHoUgrS":7905452400709182841,"ORrKf":4499665402349281005,"RnDbGmb":125433878603506068,"ovBKzeOt":-2957006404970269852,"uOksM":6250221333086284488},"stringDateField":"1984-01-29","stringDateTimeField":"1943-12-24T23:26:25Z","stringField":"jdmLSiM","stringTimeField":"20:06:31.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":899,"numField":-669.1663730552668,"stringDateField":"1984-01-29","stringDateTimeField":"1943-12-24T23:26:25Z","stringField":"jdmLSiM","stringTimeField":"20:06:31.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2584,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2584,"uuid":"9e0a89ad-5655-11ee-9801-675ed0f8e89b"},"arrayField":["qtZs","BzSag"],"boolField":false,"intField":406,"numField":-845.055682872599,"objField":{"gBeeczISI":9176397558188570602},"stringDateField":"1901-08-30","stringDateTimeField":"1918-12-22T15:25:25Z","stringField":"MVLsmCMrDb","stringTimeField":"08:23:30.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":406,"numField":-845.055682872599,"stringDateField":"1901-08-30","stringDateTimeField":"1918-12-22T15:25:25Z","stringField":"MVLsmCMrDb","stringTimeField":"08:23:30.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2585,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2585,"uuid":"9e0a89ad-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["vspvck","vFjy","vHjgbDK","shRU"],"boolField":true,"intField":310,"numField":-702.2788645138311,"objField":{"ChXCCoCuSC":5619073551669624842,"DrkbnihIFP":4921265583002436444,"GHKesAg":7783814468500290169,"NqAHDIs":2243856349409243711,"VHeyyYTzc":-4942663382069552246,"gVgMo":1307860577477699206,"gWRB":3827564763668227152,"kMNmCtmKu":-6956259344588555959,"mWnXg":6797140522548140009,"qcgFEx":-891730340241594682},"stringDateField":"1951-05-01","stringDateTimeField":"2011-02-01T00:43:17Z","stringField":"iWsFCs","stringTimeField":"22:57:12.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":310,"numField":-702.2788645138311,"stringDateField":"1951-05-01","stringDateTimeField":"2011-02-01T00:43:17Z","stringField":"iWsFCs","stringTimeField":"22:57:12.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2586,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2586,"uuid":"9e0a89ad-5655-11ee-a001-675ed0f8e89b"},"arrayField":["droFzNa"],"boolField":false,"intField":-150,"numField":554.8975177147695,"objField":{"CIUFHt":-5393732798098439796,"dnLCQAMZm":-714358381840564321,"kSUfIIPjkX":-7309167913935396548,"mSWEA":-5780852481065535422,"pubPQq":-221714984520842462,"tcthT":3092759964152838772,"wOykn":4687308442240264932,"yrAaExIjI":8454741629574154497},"stringDateField":"1915-01-24","stringDateTimeField":"1952-07-23T05:35:23Z","stringField":"XnkUun","stringTimeField":"06:41:59.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":-150,"numField":554.8975177147695,"stringDateField":"1915-01-24","stringDateTimeField":"1952-07-23T05:35:23Z","stringField":"XnkUun","stringTimeField":"06:41:59.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2587,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2587,"uuid":"9e0a89ad-5655-11ee-a401-675ed0f8e89b"},"arrayField":["VFoeUSf"],"boolField":true,"intField":-740,"numField":343.174593906495,"objField":{"EsmhXAcA":-7267039520188083738,"GHExaty":3847922825276054833,"jlvsfhn":-462323727514205022,"lIEuQj":-6750277591902466949,"mgbk":8820986402755291567},"stringDateField":"2001-06-10","stringDateTimeField":"1971-02-25T04:10:24Z","stringField":"KJlmeTQuAV","stringTimeField":"22:22:04.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":-740,"numField":343.174593906495,"stringDateField":"2001-06-10","stringDateTimeField":"1971-02-25T04:10:24Z","stringField":"KJlmeTQuAV","stringTimeField":"22:22:04.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2588,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2588,"uuid":"9e0a89ad-5655-11ee-a801-675ed0f8e89b"},"arrayField":["jvoN","ykvixspFO","PuMPsKZcO","NGYoOecXD","xYOtfNNMs"],"boolField":true,"intField":236,"numField":-950.9422964315462,"objField":{"Cwjpl":-6850308929890950317,"FbsSHQlkjE":5875613534444976703,"NDgyOi":5509709019125205933,"TDyGjpC":-33392532948447039,"TVoXHFtC":3275293401809943274,"eujFqqTEE":-367213287273218014,"fgnvZO":-3096436317898206855,"gKvRx":-3552563361885604364,"nDVWsemVq":-6928700127601775258,"wkgIJGCiPm":3240998847271263471},"stringDateField":"1945-06-28","stringDateTimeField":"2003-12-26T20:18:39Z","stringField":"ssYHdSH","stringTimeField":"13:29:22.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":236,"numField":-950.9422964315462,"stringDateField":"1945-06-28","stringDateTimeField":"2003-12-26T20:18:39Z","stringField":"ssYHdSH","stringTimeField":"13:29:22.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2589,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2589,"uuid":"9e0a89ad-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["zhXoyUkTQ","lYRg","byIzk","FLzx","ItVKodcA","WGipeonqVp","MSwxSpp","clgGMg"],"boolField":true,"intField":-663,"numField":241.004262706348,"objField":{"JnIH":7703454644340295962,"PbiIpUtmh":3821579562466214322,"cmnICKkIW":6720109463125867484,"ucEUGnBDYV":-3276873979717447480,"yPokMmyTs":-6448995022216704681},"stringDateField":"1936-06-04","stringDateTimeField":"2004-01-23T05:05:50Z","stringField":"WHjZeNKA","stringTimeField":"23:42:13.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":-663,"numField":241.004262706348,"stringDateField":"1936-06-04","stringDateTimeField":"2004-01-23T05:05:50Z","stringField":"WHjZeNKA","stringTimeField":"23:42:13.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2590,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2590,"uuid":"9e0a89ad-5655-11ee-b001-675ed0f8e89b"},"arrayField":["Yvaqry","fDQxKPf","UkYSaKm","uVMUIo"],"boolField":true,"intField":755,"numField":-407.31056487929607,"objField":{"LlbIByk":-7919411841168712847,"ONPAZlktK":9210446364938532269,"ObSZtY":8956775425938945172,"VSdwP":-1105582017944228504,"hKitfJwcf":7038765933758587032,"jAvaarL":-2920400910922924676,"oOOJd":8171291922106332557},"stringDateField":"1910-05-06","stringDateTimeField":"1911-03-19T14:25:28Z","stringField":"eLvUxYw","stringTimeField":"20:33:39.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":755,"numField":-407.31056487929607,"stringDateField":"1910-05-06","stringDateTimeField":"1911-03-19T14:25:28Z","stringField":"eLvUxYw","stringTimeField":"20:33:39.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2591,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2591,"uuid":"9e0a89ad-5655-11ee-b401-675ed0f8e89b"},"arrayField":["BQmridLs","JoHhK","YIocUU","SJnsU","KQRsZ","OQQPi","Iwpu"],"boolField":false,"intField":173,"numField":261.14736090640946,"objField":{"CrHUUtHfVH":-4015667758820757314,"OyQny":700788446204465832,"SchI":-2229051154527104070,"kjHScmKB":1894713945871696667},"stringDateField":"2006-04-21","stringDateTimeField":"1951-04-08T12:20:20Z","stringField":"IbMCjv","stringTimeField":"23:56:28.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":173,"numField":261.14736090640946,"stringDateField":"2006-04-21","stringDateTimeField":"1951-04-08T12:20:20Z","stringField":"IbMCjv","stringTimeField":"23:56:28.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2592,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2592,"uuid":"9e0a89ad-5655-11ee-b801-675ed0f8e89b"},"arrayField":["UFXj","DvDTnmC","RpZaw","JLabA","MzENrRAl","kJpvt","qrQC","HUeShQEYE","pkEIHJX"],"boolField":true,"intField":62,"numField":-355.64004855641053,"objField":{"WZoBoCl":-4684025746358027222,"YrmSVB":5335531174952150152,"gMXlQOJWHA":6832810393777787171,"okAUctf":1531641859100698855},"stringDateField":"1915-11-09","stringDateTimeField":"2009-01-28T10:51:42Z","stringField":"Oyvcl","stringTimeField":"05:06:28.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":62,"numField":-355.64004855641053,"stringDateField":"1915-11-09","stringDateTimeField":"2009-01-28T10:51:42Z","stringField":"Oyvcl","stringTimeField":"05:06:28.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2593,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2593,"uuid":"9e0a89ad-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ZlvoAQ","GITXn","YCrvs"],"boolField":false,"intField":-18,"numField":-383.0399547544265,"objField":{"OeFPpPr":-98693709718765124,"WbbiNAJHm":-6748568603244424455,"ZpPEJN":-6305705237370723139,"iXWbd":-2656914289351309128,"sGYMln":6357377829628281917},"stringDateField":"1905-09-12","stringDateTimeField":"1986-05-10T04:32:30Z","stringField":"AlQkfpmB","stringTimeField":"04:31:25.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763693Z","intField":-18,"numField":-383.0399547544265,"stringDateField":"1905-09-12","stringDateTimeField":"1986-05-10T04:32:30Z","stringField":"AlQkfpmB","stringTimeField":"04:31:25.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2594,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2594,"uuid":"9e0a89ae-5655-11ee-8001-675ed0f8e89b"},"arrayField":["hIAOdKIh","peaKaMgu","BPafkG","NTwyLxw","qLWTooCrL","cGyEKmsEz"],"boolField":false,"intField":470,"numField":-933.346758401084,"objField":{"FrhW":-6977813304600905938,"essdx":6790846296634062223,"vArum":-7227076546981584307},"stringDateField":"1976-06-10","stringDateTimeField":"1920-11-03T23:42:28Z","stringField":"nAJvEQOP","stringTimeField":"11:50:13.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":470,"numField":-933.346758401084,"stringDateField":"1976-06-10","stringDateTimeField":"1920-11-03T23:42:28Z","stringField":"nAJvEQOP","stringTimeField":"11:50:13.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2595,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2595,"uuid":"9e0a89ae-5655-11ee-8401-675ed0f8e89b"},"arrayField":["VghI","LMEbNuqUb","sSKfbruJNg","fXQA"],"boolField":false,"intField":-16,"numField":-825.268480778751,"objField":{"PCzGfuo":-2052793869407475220,"ZdUix":-714212405128628872,"fYYAdvn":2670298980893221367,"keVynAFZb":-8031787652151361708,"nrMfoZongg":8710756082255719702,"zRgFOQG":793913553525741058},"stringDateField":"1951-01-21","stringDateTimeField":"1961-09-05T13:59:31Z","stringField":"IzzkHj","stringTimeField":"00:17:59.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":-16,"numField":-825.268480778751,"stringDateField":"1951-01-21","stringDateTimeField":"1961-09-05T13:59:31Z","stringField":"IzzkHj","stringTimeField":"00:17:59.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2596,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2596,"uuid":"9e0a89ae-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ViQw","fJXJmEr","bwgjgXTbnA","bGAwK","qSGlOMX","khgQdk"],"boolField":true,"intField":-6,"numField":-836.0902852417258,"objField":{"DgekatGJb":5868792591992549236,"OesFNNT":-8928868790208878867,"fvhaDBKtZf":7615012543212311757},"stringDateField":"1922-06-26","stringDateTimeField":"1981-02-06T04:35:38Z","stringField":"QaRph","stringTimeField":"19:13:07.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":-6,"numField":-836.0902852417258,"stringDateField":"1922-06-26","stringDateTimeField":"1981-02-06T04:35:38Z","stringField":"QaRph","stringTimeField":"19:13:07.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2597,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2597,"uuid":"9e0a89ae-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["cFmU","oSJFkdM","KdTa","tDsMvIiEXG","WwRWacp","Jxtrl","vHaG"],"boolField":true,"intField":-513,"numField":-75.05708437750968,"objField":{"TMKvBUq":-7352878852896184838},"stringDateField":"1979-06-25","stringDateTimeField":"1982-06-05T12:22:20Z","stringField":"MTUU","stringTimeField":"07:00:03.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":-513,"numField":-75.05708437750968,"stringDateField":"1979-06-25","stringDateTimeField":"1982-06-05T12:22:20Z","stringField":"MTUU","stringTimeField":"07:00:03.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2598,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2598,"uuid":"9e0a89ae-5655-11ee-9001-675ed0f8e89b"},"arrayField":["hsyrYtv","egxUlt","tRQdawgJ","gGIsKZY"],"boolField":true,"intField":122,"numField":575.8397097417483,"objField":{"EDgPAFyT":1243188522189409500,"SEAnYzU":-5384178122012791518,"UzEdFsY":8308657493228888344,"YDmoylspvu":-4278882903062052199,"kfCgt":-2169228254723010755},"stringDateField":"1933-02-16","stringDateTimeField":"1909-09-14T05:31:53Z","stringField":"bMgWLUggh","stringTimeField":"09:15:00.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":122,"numField":575.8397097417483,"stringDateField":"1933-02-16","stringDateTimeField":"1909-09-14T05:31:53Z","stringField":"bMgWLUggh","stringTimeField":"09:15:00.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2599,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2599,"uuid":"9e0a89ae-5655-11ee-9401-675ed0f8e89b"},"arrayField":["GZSSgsrk","OjrZDIDNN","FcBKQJjamq","ukUaKYhW"],"boolField":true,"intField":-935,"numField":-520.9193852968983,"objField":{"AxqMVI":-513789008268710029,"JSpRQbOIiN":2295295625680118514,"bExII":-5046961277423602067,"rmRvyOOI":8558856154484542498,"waMrZFYxMh":-5053265845675278444},"stringDateField":"1943-11-16","stringDateTimeField":"1967-02-09T10:22:35Z","stringField":"onPWwXUc","stringTimeField":"15:49:01.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":-935,"numField":-520.9193852968983,"stringDateField":"1943-11-16","stringDateTimeField":"1967-02-09T10:22:35Z","stringField":"onPWwXUc","stringTimeField":"15:49:01.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2600,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2600,"uuid":"9e0a89ae-5655-11ee-9801-675ed0f8e89b"},"arrayField":["hOdVqI","tYhCRjhU","nHQRibVy","RKCvrAgv","OHrYi","dgFmv","wrmwokPzP","sMovChlT","LuTceob","YtkfsZK"],"boolField":false,"intField":158,"numField":-69.82625275761578,"objField":{"DmgTlXT":-3513373929637363294,"IPBdYdGQx":445411183125044871,"JnkqBdTbQn":-7076658070982337672,"QPBlOth":-715642219313856545,"rodCpWQxq":-3233273806356006205},"stringDateField":"2023-08-09","stringDateTimeField":"1951-05-24T21:12:14Z","stringField":"PYKKJiLChA","stringTimeField":"18:27:02.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":158,"numField":-69.82625275761578,"stringDateField":"2023-08-09","stringDateTimeField":"1951-05-24T21:12:14Z","stringField":"PYKKJiLChA","stringTimeField":"18:27:02.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2601,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2601,"uuid":"9e0a89ae-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wtGmLDuuLI","ufqVdSt","UurEliXLf","VEWoe","nVbEfd","yuwBwlHa","SGEuvfNQ","KdJXbQIcM"],"boolField":false,"intField":5,"numField":-700.2256970451843,"objField":{"mANZAP":-2012179133240296876,"yRiXipbH":492764232628411811},"stringDateField":"2017-10-23","stringDateTimeField":"1957-12-15T00:03:36Z","stringField":"Dcqsas","stringTimeField":"12:23:29.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":5,"numField":-700.2256970451843,"stringDateField":"2017-10-23","stringDateTimeField":"1957-12-15T00:03:36Z","stringField":"Dcqsas","stringTimeField":"12:23:29.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2602,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2602,"uuid":"9e0a89ae-5655-11ee-a001-675ed0f8e89b"},"arrayField":["IyiTxug","WbZDrQNTCG","jmTHucGRbs","FJEfuPg","pWMH","SaBAzocyv","DeTRSpeu","Pqedr"],"boolField":true,"intField":117,"numField":120.61355830077724,"objField":{"GIUc":-6408556654052447374,"LobsSeZH":-1962362462432409792,"XLhaxd":-2046042529687469307,"ZSwP":4198378741448733271,"lmazyfI":-4005560217188680410,"ojQxI":8230221159526359481,"phYLw":-2519141325815054294,"ptKnf":-6695739490091268525},"stringDateField":"1903-08-21","stringDateTimeField":"1911-05-01T23:23:54Z","stringField":"rZLEx","stringTimeField":"13:29:27.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":117,"numField":120.61355830077724,"stringDateField":"1903-08-21","stringDateTimeField":"1911-05-01T23:23:54Z","stringField":"rZLEx","stringTimeField":"13:29:27.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2603,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2603,"uuid":"9e0a89ae-5655-11ee-a401-675ed0f8e89b"},"arrayField":["PznV","sRweujLzP","SKncVCMwJ","sLkmgjgOiA","GsMSeKbqci","bval","mIBHY","FWVXjs","vrSOEGFN"],"boolField":false,"intField":643,"numField":942.472904829712,"objField":{"DjKQYEQPtK":2344366539140084068,"HuwuU":6428047918667743001},"stringDateField":"1955-07-31","stringDateTimeField":"1942-02-17T10:24:12Z","stringField":"nlLAmhOmc","stringTimeField":"12:14:48.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":643,"numField":942.472904829712,"stringDateField":"1955-07-31","stringDateTimeField":"1942-02-17T10:24:12Z","stringField":"nlLAmhOmc","stringTimeField":"12:14:48.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2604,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2604,"uuid":"9e0a89ae-5655-11ee-a801-675ed0f8e89b"},"arrayField":["DtIo","IhdjiLeM","xKEFcJj","eervhC"],"boolField":false,"intField":59,"numField":-153.33581506786442,"objField":{"pWueaGen":-814671408710782107,"rYPzqdrYjx":-2705047000729540387,"ytgAnfJma":-6102650251459640143},"stringDateField":"1967-03-28","stringDateTimeField":"1946-08-25T16:52:27Z","stringField":"HMrymzjNB","stringTimeField":"12:59:53.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":59,"numField":-153.33581506786442,"stringDateField":"1967-03-28","stringDateTimeField":"1946-08-25T16:52:27Z","stringField":"HMrymzjNB","stringTimeField":"12:59:53.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2605,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2605,"uuid":"9e0a89ae-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["BiPmCdEqVf","LRvOthr","fbGPKlNJ","eprzKvRrai"],"boolField":false,"intField":898,"numField":191.0323015165707,"objField":{"DgYYS":9093349333117233875,"MGAPFqGw":-7004776610867705278,"bbfkJRFWH":-2557177025136752907,"czwzzZoxwN":8903403320008496068,"qXkn":-2284578612144441328,"sgBy":-1131361117761150862,"xdlhQw":-8085703655516734134,"zjGBQL":-2160942714164285513},"stringDateField":"1980-04-03","stringDateTimeField":"2019-06-05T04:41:15Z","stringField":"fFPOFunN","stringTimeField":"02:33:17.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":898,"numField":191.0323015165707,"stringDateField":"1980-04-03","stringDateTimeField":"2019-06-05T04:41:15Z","stringField":"fFPOFunN","stringTimeField":"02:33:17.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2606,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2606,"uuid":"9e0a89ae-5655-11ee-b001-675ed0f8e89b"},"arrayField":["YXLf","dYZX","mAUwuzwfP","JAgfCx","rgexfM","KVKgFwlgkj","GXEM","KVWu","QcLjVGwo","SrAnW"],"boolField":true,"intField":-131,"numField":-546.4800237558812,"objField":{"IYkXajRgK":7324788852435295974,"MncDuDcMj":-2305023471560931542,"QSFL":4713740773200830014,"dqrbKC":-9004145809027916627},"stringDateField":"1944-10-18","stringDateTimeField":"1944-05-17T12:16:01Z","stringField":"STjRmYwdN","stringTimeField":"18:54:33.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":-131,"numField":-546.4800237558812,"stringDateField":"1944-10-18","stringDateTimeField":"1944-05-17T12:16:01Z","stringField":"STjRmYwdN","stringTimeField":"18:54:33.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2607,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2607,"uuid":"9e0a89ae-5655-11ee-b401-675ed0f8e89b"},"arrayField":["DgBDooge","jZRYyVvW","qcRSz","IUfwYDyn","rPiJYgDSl","kshdVVFfDg","WHuvA","LFAglQ"],"boolField":true,"intField":357,"numField":-984.3647568874368,"objField":{"bNLnbTFd":-1487756988060732437,"ctyhWyIpB":6078238823946572062,"dNFyxLHVH":-6256792572481357391,"kLKO":-7535660141612155856,"sAil":4855284926891847105},"stringDateField":"1972-01-02","stringDateTimeField":"1935-10-20T04:49:07Z","stringField":"KmqZR","stringTimeField":"20:41:54.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":357,"numField":-984.3647568874368,"stringDateField":"1972-01-02","stringDateTimeField":"1935-10-20T04:49:07Z","stringField":"KmqZR","stringTimeField":"20:41:54.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2608,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2608,"uuid":"9e0a89ae-5655-11ee-b801-675ed0f8e89b"},"arrayField":["TnxdwJlSV","iTwLiPzB","zTEz"],"boolField":false,"intField":161,"numField":-757.3255177185891,"objField":{"rgrzavIC":-2287163299275566269},"stringDateField":"1940-03-15","stringDateTimeField":"1984-10-17T07:33:42Z","stringField":"STkafWc","stringTimeField":"23:05:07.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":161,"numField":-757.3255177185891,"stringDateField":"1940-03-15","stringDateTimeField":"1984-10-17T07:33:42Z","stringField":"STkafWc","stringTimeField":"23:05:07.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2609,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2609,"uuid":"9e0a89ae-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["bsRaJdO"],"boolField":true,"intField":180,"numField":935.9037257619872,"objField":{"FXjFU":-511108598239053651,"WfLkUwWOy":-1467287514476413268,"aeIOv":-3275155916645745679,"dgYLTDA":6026576468019666695,"eVQm":-5463018858602005694,"jUfNUR":-7904786684351070808},"stringDateField":"1961-01-15","stringDateTimeField":"1995-12-15T11:07:19Z","stringField":"QAUXeYVD","stringTimeField":"17:38:40.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763694Z","intField":180,"numField":935.9037257619872,"stringDateField":"1961-01-15","stringDateTimeField":"1995-12-15T11:07:19Z","stringField":"QAUXeYVD","stringTimeField":"17:38:40.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2610,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2610,"uuid":"9e0a89af-5655-11ee-8001-675ed0f8e89b"},"arrayField":["cDuCivbyYp","rDXh","CNiGYHbfM","zoXngcN","tprB"],"boolField":false,"intField":-265,"numField":-567.4403606370025,"objField":{"Dzbf":1273734839409887402,"JZytFuvoxH":-3546359892388221437,"QWkaaudQZ":-3512683374815014494,"RZfJMFROkp":-6732563945068905568,"XcRKNNd":488191956881398239,"gkIoaehIcF":-995231381141730574,"hSHoXw":4581255261266543422,"nDMKcy":3443882023814553371,"xsreMF":-7308522133246138341,"ygjeLORtZz":-3032989985908711536},"stringDateField":"1964-06-06","stringDateTimeField":"1948-07-14T06:06:19Z","stringField":"gvuDyjf","stringTimeField":"15:34:33.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":-265,"numField":-567.4403606370025,"stringDateField":"1964-06-06","stringDateTimeField":"1948-07-14T06:06:19Z","stringField":"gvuDyjf","stringTimeField":"15:34:33.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2611,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2611,"uuid":"9e0a89af-5655-11ee-8401-675ed0f8e89b"},"arrayField":["xUooG","dprj","NgZN"],"boolField":true,"intField":617,"numField":677.8249724935479,"objField":{"qPfm":-6645840744574248460},"stringDateField":"1965-04-11","stringDateTimeField":"1970-09-24T13:41:02Z","stringField":"kfZskJj","stringTimeField":"01:35:53.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":617,"numField":677.8249724935479,"stringDateField":"1965-04-11","stringDateTimeField":"1970-09-24T13:41:02Z","stringField":"kfZskJj","stringTimeField":"01:35:53.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2612,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2612,"uuid":"9e0a89af-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ULcJZckvw","hIfvfZZdkq","ZMJabKc","JYyyhfoODj","MOfW","kygMMQXWd","BYZYbbtb"],"boolField":false,"intField":-16,"numField":-797.4427653608765,"objField":{"AXuuMlJ":-6034973164841317318,"BCdItrI":-8305023797895677496,"KqcsNaeFdz":3765942874760853506,"OKESlBKbST":3398217553533370273,"PpsMcvpI":7965186140597005417,"QqRdtGWfnW":533222315610946566,"ceeHaE":-3821091563580196291,"fJvfEy":-9209828785152843282,"vwyOsJe":4534236310498362923},"stringDateField":"1992-09-18","stringDateTimeField":"1934-05-19T13:44:34Z","stringField":"iOKYIDzqC","stringTimeField":"22:10:13.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":-16,"numField":-797.4427653608765,"stringDateField":"1992-09-18","stringDateTimeField":"1934-05-19T13:44:34Z","stringField":"iOKYIDzqC","stringTimeField":"22:10:13.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2613,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2613,"uuid":"9e0a89af-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["gHRv","ZEDHKtYi","ieWmN"],"boolField":true,"intField":932,"numField":-855.7784152779162,"objField":{"AxNm":8115946501468647998,"CboY":-6785634727577880438,"Dkrh":1992486892003642000,"QDqli":7114154321151410111,"QVRHAiwt":-8529200248608107299},"stringDateField":"1981-11-07","stringDateTimeField":"1945-11-09T23:01:46Z","stringField":"NhRSjyuJX","stringTimeField":"01:39:58.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":932,"numField":-855.7784152779162,"stringDateField":"1981-11-07","stringDateTimeField":"1945-11-09T23:01:46Z","stringField":"NhRSjyuJX","stringTimeField":"01:39:58.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2614,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2614,"uuid":"9e0a89af-5655-11ee-9001-675ed0f8e89b"},"arrayField":["sLKc","cNTnZ","CXba","CROHXz","CcAxdo","gLdDZG","KAcVdkLE","ZpnFH"],"boolField":false,"intField":435,"numField":-329.67704985461035,"objField":{"BtoEHCKcBr":33477188758801908,"TZgOghbSLW":-499047522035359165},"stringDateField":"1939-03-18","stringDateTimeField":"1952-10-11T15:41:44Z","stringField":"ImgfLgBFIE","stringTimeField":"15:09:18.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":435,"numField":-329.67704985461035,"stringDateField":"1939-03-18","stringDateTimeField":"1952-10-11T15:41:44Z","stringField":"ImgfLgBFIE","stringTimeField":"15:09:18.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2615,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2615,"uuid":"9e0a89af-5655-11ee-9401-675ed0f8e89b"},"arrayField":["HDRXiJJYO","DcdtZ","tGXODJX","eYwabQMJ","qgcVb"],"boolField":true,"intField":960,"numField":810.153144868282,"objField":{"CFtxoI":2254673580187810800,"QjIM":9155202192859255227,"enKJ":2432614391716982505,"ofgYhaZ":1189446918234273221},"stringDateField":"1907-10-07","stringDateTimeField":"1995-11-03T22:28:28Z","stringField":"jeykTfvHiB","stringTimeField":"05:39:16.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":960,"numField":810.153144868282,"stringDateField":"1907-10-07","stringDateTimeField":"1995-11-03T22:28:28Z","stringField":"jeykTfvHiB","stringTimeField":"05:39:16.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2616,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2616,"uuid":"9e0a89af-5655-11ee-9801-675ed0f8e89b"},"arrayField":["JdXKXYkex","tXEFWrq","mPgP","VuTJ","CWxxto","jyhRevS","cKtwAWB","AVlU"],"boolField":true,"intField":619,"numField":406.6925937377317,"objField":{"bQfzxyb":2297875671139549510},"stringDateField":"1992-07-02","stringDateTimeField":"1997-12-15T01:50:09Z","stringField":"rvry","stringTimeField":"21:05:17.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":619,"numField":406.6925937377317,"stringDateField":"1992-07-02","stringDateTimeField":"1997-12-15T01:50:09Z","stringField":"rvry","stringTimeField":"21:05:17.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2617,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2617,"uuid":"9e0a89af-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["pZLi","TlPlxWPSy","UURDGl","gwDmp"],"boolField":true,"intField":749,"numField":53.98134744836014,"objField":{"QdZZ":-7689202964700820296,"YLrgvMc":8621064424197840251,"aWxmDw":6349285689953150164,"jZoy":2664452435870279593,"pJEZhBdIF":1949184121374164588,"sxVW":9118951787028836256},"stringDateField":"1998-10-12","stringDateTimeField":"1943-10-26T03:58:33Z","stringField":"sXJauYSFsK","stringTimeField":"12:33:38.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":749,"numField":53.98134744836014,"stringDateField":"1998-10-12","stringDateTimeField":"1943-10-26T03:58:33Z","stringField":"sXJauYSFsK","stringTimeField":"12:33:38.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2618,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2618,"uuid":"9e0a89af-5655-11ee-a001-675ed0f8e89b"},"arrayField":["wMfVgu","rerkOpwUE","hUAyf","iZjE","dBZEGKKo"],"boolField":false,"intField":618,"numField":940.0984597119732,"objField":{"GdYeGnBE":-6245308223255317212,"MestyQrS":-515757466434678194,"dYFWBd":3072749063581221315,"hGrV":3301591933951252798,"kUlUYFf":7031212888111415568,"tXtzjAxLSp":7362378589127414723,"vrYLw":7219253611277783424,"xKGM":1119838210027170952},"stringDateField":"1994-03-04","stringDateTimeField":"2009-03-09T20:55:00Z","stringField":"yzVMpJYRW","stringTimeField":"19:32:57.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":618,"numField":940.0984597119732,"stringDateField":"1994-03-04","stringDateTimeField":"2009-03-09T20:55:00Z","stringField":"yzVMpJYRW","stringTimeField":"19:32:57.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2619,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2619,"uuid":"9e0a89af-5655-11ee-a401-675ed0f8e89b"},"arrayField":["KsZJtZ","AWmuhCaeq","aWgVq","NXTjjyNk","xxwwE","HVmkASlFx","boOjmnxc","xIaRiYIKh","AjbyWF","wDoT"],"boolField":true,"intField":-775,"numField":-953.8771694488904,"objField":{"DvHeOrXEMe":5141417566907770268,"RYrEvFBz":5087945763611738072,"XMnZ":3986251500325692868,"cVEbJPOOU":-4483834232258417604,"gTFRT":-2732167245529127848,"sHUlPX":2897717913756819435,"tiAQxgAsc":-7665575750035664010,"vnjAbFjwgW":-1467230457277171977,"wBoxvBWoHe":-6617200299926763508,"wCZYUE":-5285183750284125563},"stringDateField":"1910-03-16","stringDateTimeField":"1996-09-02T14:35:17Z","stringField":"duotvfJztJ","stringTimeField":"14:34:21.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":-775,"numField":-953.8771694488904,"stringDateField":"1910-03-16","stringDateTimeField":"1996-09-02T14:35:17Z","stringField":"duotvfJztJ","stringTimeField":"14:34:21.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2620,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2620,"uuid":"9e0a89af-5655-11ee-a801-675ed0f8e89b"},"arrayField":["gTtceLo","LRdAk","tlJhWKlw"],"boolField":true,"intField":-285,"numField":-693.345781404474,"objField":{"NGrQRLvEFS":6118488352293216097},"stringDateField":"1912-10-13","stringDateTimeField":"1940-03-01T07:40:12Z","stringField":"PjUuzoTH","stringTimeField":"13:36:47.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":-285,"numField":-693.345781404474,"stringDateField":"1912-10-13","stringDateTimeField":"1940-03-01T07:40:12Z","stringField":"PjUuzoTH","stringTimeField":"13:36:47.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2621,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2621,"uuid":"9e0a89af-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["EKoaL","XrJVkEJmGV","RgDbjYo"],"boolField":false,"intField":539,"numField":424.4917847818534,"objField":{"qZTWCf":2081235060712208536,"uGyii":4041406865607593816},"stringDateField":"2012-10-20","stringDateTimeField":"2009-01-21T00:31:37Z","stringField":"CGIt","stringTimeField":"07:15:09.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":539,"numField":424.4917847818534,"stringDateField":"2012-10-20","stringDateTimeField":"2009-01-21T00:31:37Z","stringField":"CGIt","stringTimeField":"07:15:09.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2622,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2622,"uuid":"9e0a89af-5655-11ee-b001-675ed0f8e89b"},"arrayField":["dxHR"],"boolField":true,"intField":888,"numField":-775.4551515432877,"objField":{"PpZy":1351642749221676523,"VBjuWghjn":9053440658918073207,"YbAdYnBIsN":3271322967805781459,"awaDwCsUW":-6485000808676197674,"ipxRgynnvH":-3616783035688236718,"kqqwxEh":-7609847443640696406,"pXANgpZ":7373975927036550399,"xeeiaVjj":1886281556657241468},"stringDateField":"1912-11-04","stringDateTimeField":"1947-10-06T02:56:46Z","stringField":"PntsqC","stringTimeField":"03:00:03.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":888,"numField":-775.4551515432877,"stringDateField":"1912-11-04","stringDateTimeField":"1947-10-06T02:56:46Z","stringField":"PntsqC","stringTimeField":"03:00:03.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2623,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2623,"uuid":"9e0a89af-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ArCCl","PFEgc","dejtDSdY","jsiYGOQ","GkHTCTtX","DrhsYIg"],"boolField":false,"intField":-656,"numField":831.2381288113542,"objField":{"GjVK":-3525439142619965188,"HMFkWTwz":-3472582235875617054,"LECu":7806924205709806873,"RybzkZxz":-2380931126877629637,"WRhir":-7076450102929719396,"hmGPB":-3612292259315513001,"qcNzRiwWT":6081643542688596},"stringDateField":"1988-07-17","stringDateTimeField":"1984-04-13T01:41:11Z","stringField":"VkiduBjZ","stringTimeField":"13:24:05.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":-656,"numField":831.2381288113542,"stringDateField":"1988-07-17","stringDateTimeField":"1984-04-13T01:41:11Z","stringField":"VkiduBjZ","stringTimeField":"13:24:05.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2624,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2624,"uuid":"9e0a89af-5655-11ee-b801-675ed0f8e89b"},"arrayField":["CQKanaObZ","ULXTlDs","pUNn","tnPveH","YvxQOQHbB","HKuNYS","inLETfCkly"],"boolField":false,"intField":-196,"numField":-676.3811740427814,"objField":{"HIbV":6496997304763898939,"KTbWrIf":6719190121256390813,"ULpucrWxp":263804270607703901,"YdsAVAsKLG":7157725466751441296,"YwhwJO":1862600786688092050,"kNUiG":8896345073011021005,"tTHb":-4928612220464412926,"umVxBkVw":3321569922419143616,"yJFoBvlkPu":6643264515535865747},"stringDateField":"1979-05-21","stringDateTimeField":"1973-05-27T10:50:06Z","stringField":"xUBySR","stringTimeField":"17:28:56.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":-196,"numField":-676.3811740427814,"stringDateField":"1979-05-21","stringDateTimeField":"1973-05-27T10:50:06Z","stringField":"xUBySR","stringTimeField":"17:28:56.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2625,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2625,"uuid":"9e0a89af-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["StXMYOGl"],"boolField":true,"intField":520,"numField":-152.9419850273831,"objField":{"LeBO":3463397370162237364,"RdVtDDq":4564720900666503820,"hXvC":7875140077671430503,"iwzyWkILP":-829432096998215300,"qCHreosuUN":-3063082944356471881},"stringDateField":"1947-11-03","stringDateTimeField":"1928-09-07T08:54:14Z","stringField":"TpjptODkfJ","stringTimeField":"23:21:03.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763695Z","intField":520,"numField":-152.9419850273831,"stringDateField":"1947-11-03","stringDateTimeField":"1928-09-07T08:54:14Z","stringField":"TpjptODkfJ","stringTimeField":"23:21:03.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2626,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2626,"uuid":"9e0a89b0-5655-11ee-8001-675ed0f8e89b"},"arrayField":["tAEh","TUJOZH","hCWNLg","ZYwaKMY","IQzzsKXM","NIqvFTOJTW","fyZq","wPDn"],"boolField":true,"intField":-633,"numField":-633.2170660335504,"objField":{"JeGNXdSE":-6824164250792193646,"TlBR":7780499737212443494,"TsSMKDG":2595163454256894074,"WHEtkh":6473004178940851909,"WHVroLzOZ":-3956988305887757695,"WhVL":6016496208285504622,"cPrZMXrOV":-8933267188201017346,"dwidHWleMy":-2654140669061402314,"dxUPHtEXl":-7005725914203793285,"vpRLz":-6367972501940087708},"stringDateField":"1933-08-17","stringDateTimeField":"1918-03-11T22:59:20Z","stringField":"PBupWZic","stringTimeField":"22:11:32.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":-633,"numField":-633.2170660335504,"stringDateField":"1933-08-17","stringDateTimeField":"1918-03-11T22:59:20Z","stringField":"PBupWZic","stringTimeField":"22:11:32.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2627,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2627,"uuid":"9e0a89b0-5655-11ee-8401-675ed0f8e89b"},"arrayField":["qKiesibzo","qHRs","IRNVT","lxhoHMVn","fquIiT"],"boolField":false,"intField":730,"numField":519.3472863729664,"objField":{"CACxFhbbp":-7758524920884021019,"MGFhBeT":5410741424395057700,"XzFxejiv":-1374368527257042999,"ZsOii":-4628074671048548713,"fYWZbL":4613790851767562455,"lWXTRywt":-5141776467320535771,"ppSuRz":-2837986972082933217,"zmzdUVKYoC":838107692309198472},"stringDateField":"1976-10-17","stringDateTimeField":"1942-10-18T21:25:27Z","stringField":"xeaHnoyIh","stringTimeField":"07:31:37.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":730,"numField":519.3472863729664,"stringDateField":"1976-10-17","stringDateTimeField":"1942-10-18T21:25:27Z","stringField":"xeaHnoyIh","stringTimeField":"07:31:37.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2628,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2628,"uuid":"9e0a89b0-5655-11ee-8801-675ed0f8e89b"},"arrayField":["sOmkHlUFak","rHxoYBP","QZMK","qwkATD","LrGBTN","Aqojwb"],"boolField":true,"intField":-366,"numField":225.70614232699637,"objField":{"CskoeoLJ":-3919939033159656039,"DUVNgBeJIk":-8132063430278467869,"ZkeXHp":9023818919321595390,"lFdG":-8678619534409311627,"lZnvsOJyi":-591568868722230436,"mDdg":8539705837284473224,"sAVvJRenMg":8340454034092694903},"stringDateField":"2009-10-13","stringDateTimeField":"1994-12-10T14:37:41Z","stringField":"krLBUGY","stringTimeField":"14:52:20.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":-366,"numField":225.70614232699637,"stringDateField":"2009-10-13","stringDateTimeField":"1994-12-10T14:37:41Z","stringField":"krLBUGY","stringTimeField":"14:52:20.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2629,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2629,"uuid":"9e0a89b0-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["lqkZAXYAyJ","kJRetvCHHg"],"boolField":true,"intField":-718,"numField":-572.0032404245064,"objField":{"EeixmbKAg":1490978465806985930,"FsUeZaI":-1897455221872952489,"PBUiSCVn":6313691298057588890,"Utwon":1135885680250185966,"VtGMNu":106773377808219609,"XtlEiYzmIZ":7299775036836852463,"ZQDMZyBHe":-3834555991411231335,"gOYrtAo":-1262499540190933900,"jlOhAFK":2175331568634474474,"tyOyPNvBc":60841424193883769},"stringDateField":"1929-10-25","stringDateTimeField":"2023-08-07T11:43:23Z","stringField":"Zlex","stringTimeField":"23:01:39.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":-718,"numField":-572.0032404245064,"stringDateField":"1929-10-25","stringDateTimeField":"2023-08-07T11:43:23Z","stringField":"Zlex","stringTimeField":"23:01:39.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2630,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2630,"uuid":"9e0a89b0-5655-11ee-9001-675ed0f8e89b"},"arrayField":["pKUDKs","CEpJEdWN","mmrwWjmJrA"],"boolField":true,"intField":-709,"numField":-15.872962261703538,"objField":{"HoyuERQww":9074633032283326661,"JUlFYAmAzO":5555173082025675023,"KxSGamRt":-3533986334209591182,"LYOtRbQDkj":3472241563882260535,"MzvagGlMsC":-4739430848922193861,"QhSy":6923414890364998538,"SqmzFx":1902724939283839613,"ntwmM":-421747833226303070,"optKC":4066726639422548503,"ptIaZSd":-8887482456628031983},"stringDateField":"1927-08-26","stringDateTimeField":"2014-01-02T02:06:33Z","stringField":"aQeuJzRbeR","stringTimeField":"20:14:59.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":-709,"numField":-15.872962261703538,"stringDateField":"1927-08-26","stringDateTimeField":"2014-01-02T02:06:33Z","stringField":"aQeuJzRbeR","stringTimeField":"20:14:59.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2631,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2631,"uuid":"9e0a89b0-5655-11ee-9401-675ed0f8e89b"},"arrayField":["QPtoNXvebc","zsbK","SIRHcwq","EYdovUbOmq"],"boolField":false,"intField":76,"numField":222.71360001628705,"objField":{"GOfbnxL":-75758081088239945,"cTpMwRLbSZ":1123097996078137510,"kISGmu":3553031182675359884,"mxXVqid":-1685146729860052789,"wACbYoFt":-1423387941702899021,"xnyC":429883013006244654},"stringDateField":"1928-05-19","stringDateTimeField":"2018-11-01T16:09:58Z","stringField":"rdeWxQBp","stringTimeField":"01:50:55.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":76,"numField":222.71360001628705,"stringDateField":"1928-05-19","stringDateTimeField":"2018-11-01T16:09:58Z","stringField":"rdeWxQBp","stringTimeField":"01:50:55.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2632,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2632,"uuid":"9e0a89b0-5655-11ee-9801-675ed0f8e89b"},"arrayField":["mZfSbUAild","OgzmtmIF","lbOlGhGd"],"boolField":false,"intField":-951,"numField":-507.7350819386203,"objField":{"BCntydAY":-3087414505169896898},"stringDateField":"1936-05-14","stringDateTimeField":"1921-01-13T08:31:59Z","stringField":"KPEUGzzH","stringTimeField":"18:30:11.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":-951,"numField":-507.7350819386203,"stringDateField":"1936-05-14","stringDateTimeField":"1921-01-13T08:31:59Z","stringField":"KPEUGzzH","stringTimeField":"18:30:11.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2633,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2633,"uuid":"9e0a89b0-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["rRuszMZRZe","gFscSepbc","VNdhfIxiN","TYMvldlo","hGFZdoXSkL","zleDO"],"boolField":true,"intField":195,"numField":555.9795550833728,"objField":{"EZWPNew":4552535346536399619,"FeDzeSLK":5530232427962614836,"WHkdXWHiCF":9172998846088905929,"aHWGfsyDI":5660317912043762873,"bAKno":-1448901492332545493,"edTjAJbL":6488921672168960243},"stringDateField":"1930-06-22","stringDateTimeField":"1937-09-15T03:57:37Z","stringField":"dfzh","stringTimeField":"02:04:37.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":195,"numField":555.9795550833728,"stringDateField":"1930-06-22","stringDateTimeField":"1937-09-15T03:57:37Z","stringField":"dfzh","stringTimeField":"02:04:37.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2634,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2634,"uuid":"9e0a89b0-5655-11ee-a001-675ed0f8e89b"},"arrayField":["QjFZdCh","FNfseyjYy","joYYujqhbn","rjJm","OZECnECz","tRKQmLMNc","NyxWll"],"boolField":true,"intField":484,"numField":462.31443968064735,"objField":{"CAXnn":-5053223174385924907,"DApTC":-7603341827158763819,"EMZHKCJBYj":-5739197085344674778,"QKnuA":-1686993343802804535,"YcJGWaCirH":7113938389680483634,"gPwjdwCdK":5546519684554336267,"pIsWCzZs":-8573240939633382179,"yUEpF":6062869996362331406},"stringDateField":"1904-05-21","stringDateTimeField":"1921-05-14T13:15:18Z","stringField":"qbvRzOu","stringTimeField":"16:20:41.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":484,"numField":462.31443968064735,"stringDateField":"1904-05-21","stringDateTimeField":"1921-05-14T13:15:18Z","stringField":"qbvRzOu","stringTimeField":"16:20:41.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2635,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2635,"uuid":"9e0a89b0-5655-11ee-a401-675ed0f8e89b"},"arrayField":["nKIfmeMECe","cbuf","hDhWtZGpL","mAkc","baVZzuV","qqWGioyOwc","YHZwHSqwDl","JYmTcnHKhW","zvfMXL","DHHlMTQ"],"boolField":true,"intField":-206,"numField":-71.70620649754167,"objField":{"EEpdi":4289193411015667368,"USUkls":3130913978430186829,"fVzfPHh":-3916409110002154424,"gFfQmjEvOV":7392505901773451518,"jtkgOWVaf":-1743965156977030649},"stringDateField":"2000-01-25","stringDateTimeField":"2019-07-01T10:11:56Z","stringField":"qTuyJVG","stringTimeField":"14:47:40.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":-206,"numField":-71.70620649754167,"stringDateField":"2000-01-25","stringDateTimeField":"2019-07-01T10:11:56Z","stringField":"qTuyJVG","stringTimeField":"14:47:40.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2636,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2636,"uuid":"9e0a89b0-5655-11ee-a801-675ed0f8e89b"},"arrayField":["qkecGANLR","xBYzjQ","QBQjUHEeYW"],"boolField":false,"intField":959,"numField":568.2322566249653,"objField":{"JXIz":1059658792467061153,"PZEsj":-333729756171505605,"PvSITq":-348695094215351087,"XLTSHHdQ":-1231853611845399444,"XhbWOK":2443281780522886291,"ajABaOT":-1669566228130745174,"eokSXj":-1324845257500792963,"ouRSUiFvN":-1746245996755658005},"stringDateField":"1945-02-27","stringDateTimeField":"1967-08-08T10:39:05Z","stringField":"tNDsmHbPE","stringTimeField":"07:05:39.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":959,"numField":568.2322566249653,"stringDateField":"1945-02-27","stringDateTimeField":"1967-08-08T10:39:05Z","stringField":"tNDsmHbPE","stringTimeField":"07:05:39.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2637,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2637,"uuid":"9e0a89b0-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["kYHXWX","gajp","CXEcBHS","qfgfnFPpqJ"],"boolField":false,"intField":-127,"numField":-109.0505032168816,"objField":{"CRKkDKU":1047845407509877778},"stringDateField":"1999-08-23","stringDateTimeField":"1979-05-03T18:15:04Z","stringField":"SjQNA","stringTimeField":"17:33:29.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":-127,"numField":-109.0505032168816,"stringDateField":"1999-08-23","stringDateTimeField":"1979-05-03T18:15:04Z","stringField":"SjQNA","stringTimeField":"17:33:29.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2638,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2638,"uuid":"9e0a89b0-5655-11ee-b001-675ed0f8e89b"},"arrayField":["hqaXjnKpBu","sddLWv","GnXoKxzLcc","QaugwDx","unTrGP","KOTpRXy","LndkIqi"],"boolField":false,"intField":622,"numField":67.86440651402748,"objField":{"GlbXLJaa":-4889830922022018469,"KCcHFA":-1395010893862261102,"YPUmKnx":6066292536351601774,"aVXnw":-8155754288725059575,"rTLz":-6337494986490029377,"rquwERkp":-1033920991839240200},"stringDateField":"2004-06-02","stringDateTimeField":"1938-01-18T00:22:40Z","stringField":"jKVqoYYnCR","stringTimeField":"05:37:19.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":622,"numField":67.86440651402748,"stringDateField":"2004-06-02","stringDateTimeField":"1938-01-18T00:22:40Z","stringField":"jKVqoYYnCR","stringTimeField":"05:37:19.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2639,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2639,"uuid":"9e0a89b0-5655-11ee-b401-675ed0f8e89b"},"arrayField":["nfrHO","VAHIHZSj","tAITzOjuq","BJuuEuJnHt","aYZNzZpQ","uYbTRTAB","pEwRWae","eovv"],"boolField":false,"intField":161,"numField":646.5873015267421,"objField":{"BsLq":-6127957748345523365,"ZTJrqGOL":-3525204310305377330},"stringDateField":"1961-04-07","stringDateTimeField":"1946-06-23T02:31:31Z","stringField":"gjDSafX","stringTimeField":"20:24:40.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":161,"numField":646.5873015267421,"stringDateField":"1961-04-07","stringDateTimeField":"1946-06-23T02:31:31Z","stringField":"gjDSafX","stringTimeField":"20:24:40.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2640,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2640,"uuid":"9e0a89b0-5655-11ee-b801-675ed0f8e89b"},"arrayField":["FPuKnA","tBjbdMpsZ","tZaFPo","SXiWr","ZXJOVOsQR","xnKhnx","RkpTERUxzs","mlqTUdsc","fkTcSXpK"],"boolField":false,"intField":280,"numField":-566.919444312143,"objField":{"EhIuqo":-2354160666645361221,"JUgKtRp":6444010547700951791,"WSWXV":6855687198014033588,"wHBkZZyP":-4545741727416383755},"stringDateField":"1922-04-24","stringDateTimeField":"1939-04-25T05:00:34Z","stringField":"UZfnn","stringTimeField":"06:18:37.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":280,"numField":-566.919444312143,"stringDateField":"1922-04-24","stringDateTimeField":"1939-04-25T05:00:34Z","stringField":"UZfnn","stringTimeField":"06:18:37.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2641,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2641,"uuid":"9e0a89b0-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["vWEdZLu","YioJaLrMH"],"boolField":false,"intField":696,"numField":198.90805892148975,"objField":{"LZOkPGwRYf":1675937105325886897,"POXdtXxGmv":5345824193690455470,"QitMzy":3188621084149436816,"drHYepPd":7206366642959059448,"omrsMCUcPN":8993171977984404958,"seNxmEGuxb":-8756607598998073318},"stringDateField":"1945-02-21","stringDateTimeField":"1981-05-30T21:19:10Z","stringField":"vaaxs","stringTimeField":"08:50:24.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763696Z","intField":696,"numField":198.90805892148975,"stringDateField":"1945-02-21","stringDateTimeField":"1981-05-30T21:19:10Z","stringField":"vaaxs","stringTimeField":"08:50:24.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2642,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2642,"uuid":"9e0a89b1-5655-11ee-8001-675ed0f8e89b"},"arrayField":["hZYOhN","yrPlk","vwUKcPC","ebipGJt"],"boolField":true,"intField":585,"numField":935.3501328409346,"objField":{"snRerRh":-8604249740315470762,"xHXtfnFX":5331956033077286406},"stringDateField":"1979-10-18","stringDateTimeField":"1956-11-09T09:27:51Z","stringField":"OHLp","stringTimeField":"18:07:00.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":585,"numField":935.3501328409346,"stringDateField":"1979-10-18","stringDateTimeField":"1956-11-09T09:27:51Z","stringField":"OHLp","stringTimeField":"18:07:00.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2643,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2643,"uuid":"9e0a89b1-5655-11ee-8401-675ed0f8e89b"},"arrayField":["eUzc","jZLooT","bWIAuUn","qtpCmNVtz","CjXLwjiT","SSIQKW","MnJMGoukv","zuzIw","cYareVH","AUpksNHKh"],"boolField":false,"intField":-570,"numField":-374.3663189859679,"objField":{"cxlfZi":-5932374154544669038},"stringDateField":"1915-11-17","stringDateTimeField":"1915-04-22T19:10:48Z","stringField":"gmSemKqyq","stringTimeField":"04:36:26.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":-570,"numField":-374.3663189859679,"stringDateField":"1915-11-17","stringDateTimeField":"1915-04-22T19:10:48Z","stringField":"gmSemKqyq","stringTimeField":"04:36:26.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2644,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2644,"uuid":"9e0a89b1-5655-11ee-8801-675ed0f8e89b"},"arrayField":["gsRm","YGvpRDgS","yAMZmdyfg"],"boolField":true,"intField":-555,"numField":-428.06897297478065,"objField":{"CjHgqx":1758114824969725018,"DNapQISM":1320208022755758106,"TfWA":-3813983565261836581,"ubWFn":-8818995987096962953,"xHZw":3321487382390889836},"stringDateField":"1916-12-28","stringDateTimeField":"2021-08-05T03:03:12Z","stringField":"xzvIxmrcX","stringTimeField":"18:59:54.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":-555,"numField":-428.06897297478065,"stringDateField":"1916-12-28","stringDateTimeField":"2021-08-05T03:03:12Z","stringField":"xzvIxmrcX","stringTimeField":"18:59:54.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2645,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2645,"uuid":"9e0a89b1-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["CRNdPu"],"boolField":false,"intField":-302,"numField":878.68204971029,"objField":{"GGghMPcnd":6096970928640055484,"WtSiHuKC":-8020996341292816203,"ZpEUsgEwIQ":-1826331685911464365,"oFwKMPr":3516003885466341455,"thlzg":-2816796264957180850},"stringDateField":"1936-02-21","stringDateTimeField":"2020-09-09T10:07:52Z","stringField":"qJQBqQzWPd","stringTimeField":"23:48:35.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":-302,"numField":878.68204971029,"stringDateField":"1936-02-21","stringDateTimeField":"2020-09-09T10:07:52Z","stringField":"qJQBqQzWPd","stringTimeField":"23:48:35.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2646,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2646,"uuid":"9e0a89b1-5655-11ee-9001-675ed0f8e89b"},"arrayField":["crfx","BNBqOcjHkW","GJPuRfUo","WEeAfhQAoP","PYBTG"],"boolField":false,"intField":327,"numField":-858.6796852860576,"objField":{"bbtgPdHQ":286577566548420556},"stringDateField":"1972-11-26","stringDateTimeField":"1943-11-29T16:29:27Z","stringField":"bbzKhAco","stringTimeField":"09:30:24.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":327,"numField":-858.6796852860576,"stringDateField":"1972-11-26","stringDateTimeField":"1943-11-29T16:29:27Z","stringField":"bbzKhAco","stringTimeField":"09:30:24.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2647,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2647,"uuid":"9e0a89b1-5655-11ee-9401-675ed0f8e89b"},"arrayField":["tpsh","gwjoKbGnkc","ArLeBcTz","mMGy","RzcTOAyy","kVdgbEh"],"boolField":false,"intField":208,"numField":468.7465511864309,"objField":{"GfyGW":7002814186614773302,"RJyxfOj":3901174802184944396,"RVTo":-5130102378743861731,"cbadhE":545935728570573281,"prJQ":-4587618835284387474,"tcajUo":2144027124852591059,"wCeUr":5955609776261312787},"stringDateField":"1922-02-16","stringDateTimeField":"1970-09-26T22:48:25Z","stringField":"tXbehEF","stringTimeField":"03:58:12.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":208,"numField":468.7465511864309,"stringDateField":"1922-02-16","stringDateTimeField":"1970-09-26T22:48:25Z","stringField":"tXbehEF","stringTimeField":"03:58:12.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2648,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2648,"uuid":"9e0a89b1-5655-11ee-9801-675ed0f8e89b"},"arrayField":["EBDoGFFer","GSrjz","VwAj","XqhROqAR"],"boolField":false,"intField":-169,"numField":263.3678295207791,"objField":{"LPqfVWuec":-3683456916686152781,"VXSoWOF":-4169544415937214972,"hzEIXUn":753720311513894101,"iVxSulq":5643053769717530479},"stringDateField":"2011-10-15","stringDateTimeField":"1928-04-10T01:37:23Z","stringField":"qPYm","stringTimeField":"18:37:57.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":-169,"numField":263.3678295207791,"stringDateField":"2011-10-15","stringDateTimeField":"1928-04-10T01:37:23Z","stringField":"qPYm","stringTimeField":"18:37:57.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2649,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2649,"uuid":"9e0a89b1-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ftyEJYESSc","mPnMK","OXlXnRJwq","ksiARJj"],"boolField":false,"intField":58,"numField":109.05274193388404,"objField":{"DoicAQd":9159068476335492791,"SGPsWpg":-2617035369382081146,"fNop":-923606910234230716,"sgXZMjfNLx":5300862012541160665},"stringDateField":"1995-02-14","stringDateTimeField":"1922-07-26T00:32:57Z","stringField":"oFsH","stringTimeField":"01:56:42.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":58,"numField":109.05274193388404,"stringDateField":"1995-02-14","stringDateTimeField":"1922-07-26T00:32:57Z","stringField":"oFsH","stringTimeField":"01:56:42.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2650,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2650,"uuid":"9e0a89b1-5655-11ee-a001-675ed0f8e89b"},"arrayField":["WdwIAXlVC","AekiaVu","fKfTrSr","YfmPwUDao","edIEOiM","WvgLSI","GIyXW","cVbCbqVg"],"boolField":true,"intField":-509,"numField":565.2966131084145,"objField":{"LOIVTEJvAK":1534147022120061168,"uuPdS":-8558869910788250049},"stringDateField":"1977-03-24","stringDateTimeField":"1966-05-11T16:13:39Z","stringField":"bXoMwV","stringTimeField":"15:57:45.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":-509,"numField":565.2966131084145,"stringDateField":"1977-03-24","stringDateTimeField":"1966-05-11T16:13:39Z","stringField":"bXoMwV","stringTimeField":"15:57:45.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2651,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2651,"uuid":"9e0a89b1-5655-11ee-a401-675ed0f8e89b"},"arrayField":["NGhrhYu"],"boolField":false,"intField":-789,"numField":-181.10084321461727,"objField":{"EMkysd":2019499414378910636,"jkdi":-8369563834277178531,"yFWgoyr":-4465239118184371083},"stringDateField":"1975-01-19","stringDateTimeField":"1982-12-02T10:04:26Z","stringField":"ywaNNeo","stringTimeField":"17:49:05.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":-789,"numField":-181.10084321461727,"stringDateField":"1975-01-19","stringDateTimeField":"1982-12-02T10:04:26Z","stringField":"ywaNNeo","stringTimeField":"17:49:05.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2652,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2652,"uuid":"9e0a89b1-5655-11ee-a801-675ed0f8e89b"},"arrayField":["iCHiS","ecXJcct","sJsHHBsLW","qxmF","oUaI","Zyqx","vkbZOhJJZ"],"boolField":true,"intField":877,"numField":939.4882202656988,"objField":{"EZqewCZS":2848785852161721453,"HZagVrIc":-4530417526496571548,"QuEoGwzwh":3515231621252971865,"VMrljVarNR":1325974503164264094,"WTUaEZ":1214418862417690360,"jLPpTjqSkX":-4972657474605418409,"kcSAkjjpVa":9123260996097633982,"nYVbcUWBt":690467213702609011},"stringDateField":"1999-07-23","stringDateTimeField":"2001-03-17T12:55:12Z","stringField":"hYoN","stringTimeField":"10:18:42.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":877,"numField":939.4882202656988,"stringDateField":"1999-07-23","stringDateTimeField":"2001-03-17T12:55:12Z","stringField":"hYoN","stringTimeField":"10:18:42.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2653,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2653,"uuid":"9e0a89b1-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["DylDdSRf","oRQivM","hSqDmAma","gafMFou","CDejTPJNC","ZrKZnZ","StoNtWD","wMJWDkExw","PhPXvuqLx"],"boolField":false,"intField":588,"numField":665.5723245293512,"objField":{"XxgS":-3698921790931529257,"hKNnfKIoDX":8797600614167292605,"oozPiUcLY":4334881366726823605,"wiGHxiMYN":4893160273980221455},"stringDateField":"1998-11-10","stringDateTimeField":"1921-08-22T17:36:31Z","stringField":"MqMwEMRrFo","stringTimeField":"06:48:36.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":588,"numField":665.5723245293512,"stringDateField":"1998-11-10","stringDateTimeField":"1921-08-22T17:36:31Z","stringField":"MqMwEMRrFo","stringTimeField":"06:48:36.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2654,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2654,"uuid":"9e0a89b1-5655-11ee-b001-675ed0f8e89b"},"arrayField":["njaXCUW","gTEGrHeA","AcfMcMR","Wxcoqv","bgcMjcfA","niitsYEHOE","tWTwltI","LskWCQsjbc","NwLBffYMHr","JnsqXUQHAB"],"boolField":true,"intField":188,"numField":-314.6590411587674,"objField":{"EEtPkzq":8211065532162875420,"QDefa":-3388135698016015758,"UuPTKSKH":5328707967649070861,"XqVrtV":1802880602206856208,"bQjfTD":9008005817612618235,"bRooLtE":7840042560157585686,"lJVXCGav":4736538641528045187,"lMPXpMsZl":187746911484493599,"osgI":2656468762926758792,"zNLiZx":8608054491207393234},"stringDateField":"1906-08-14","stringDateTimeField":"1906-02-17T15:41:17Z","stringField":"FtKnmTLt","stringTimeField":"01:50:51.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":188,"numField":-314.6590411587674,"stringDateField":"1906-08-14","stringDateTimeField":"1906-02-17T15:41:17Z","stringField":"FtKnmTLt","stringTimeField":"01:50:51.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2655,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2655,"uuid":"9e0a89b1-5655-11ee-b401-675ed0f8e89b"},"arrayField":["GTqemk"],"boolField":true,"intField":-993,"numField":414.5953775015754,"objField":{"BtVXGljH":-2096270965630609443,"DqwRBHxZNE":849458636697334312,"ExYQbBDdi":4319509355730044210,"MdCvsAW":4880974995315374124,"XdHnD":-9063913734860664784,"YATZykEfw":-1172239412032741793,"eGCMtopDxB":6807054138793473170,"lHsSVU":-4189011661991294646,"ycVUuLcRuo":6056552696607610662,"yqEHIwWBC":-3414908496917128700},"stringDateField":"1987-03-05","stringDateTimeField":"1958-07-06T14:22:33Z","stringField":"ORPDub","stringTimeField":"00:38:42.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":-993,"numField":414.5953775015754,"stringDateField":"1987-03-05","stringDateTimeField":"1958-07-06T14:22:33Z","stringField":"ORPDub","stringTimeField":"00:38:42.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2656,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2656,"uuid":"9e0a89b1-5655-11ee-b801-675ed0f8e89b"},"arrayField":["UvZbzhI","juYBnSCUVK","EvoiHB","NHXnq","JjIZrPBPGU"],"boolField":false,"intField":205,"numField":689.5825428362886,"objField":{"cfeguBd":-8534783400471291936,"drlMlUO":9095896400746345374,"epxfOb":6893287010844366355,"ikYYIkqPiY":-4690197584530128464,"koZiNBrj":-309101658264058004,"mKLcJRP":8237075399159939120,"ttyeHgq":-2520664093615078470,"wzicWPU":8041795069545789330,"xEzwLWGbUV":-4868820289961339379},"stringDateField":"1969-11-27","stringDateTimeField":"1986-05-26T11:02:07Z","stringField":"RRzwYprmJT","stringTimeField":"21:32:40.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":205,"numField":689.5825428362886,"stringDateField":"1969-11-27","stringDateTimeField":"1986-05-26T11:02:07Z","stringField":"RRzwYprmJT","stringTimeField":"21:32:40.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2657,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2657,"uuid":"9e0a89b1-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["nEDZgrNpF","YQWRqCJPqD","uRRWt","dTuJGIx","hynm","bHca","gZVc","kThFPVdEI","hAwIuOYoJ"],"boolField":true,"intField":600,"numField":-211.11563779018817,"objField":{"xyEiBIl":-3414521187245442750},"stringDateField":"1918-03-22","stringDateTimeField":"2000-08-22T20:55:03Z","stringField":"UFHFps","stringTimeField":"01:19:16.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763697Z","intField":600,"numField":-211.11563779018817,"stringDateField":"1918-03-22","stringDateTimeField":"2000-08-22T20:55:03Z","stringField":"UFHFps","stringTimeField":"01:19:16.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2658,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2658,"uuid":"9e0a89b2-5655-11ee-8001-675ed0f8e89b"},"arrayField":["jGDdwIW","FRLxWmXmK","sjiHt","bqpniWU","pMPRcvdiCd","xcwmmc","Kmwm"],"boolField":true,"intField":543,"numField":-483.70457754897456,"objField":{"FekWgc":-2421791527838265022,"ZZVhjAep":-2677349597142936915},"stringDateField":"1984-02-03","stringDateTimeField":"1988-01-10T03:49:17Z","stringField":"dokQG","stringTimeField":"15:06:59.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":543,"numField":-483.70457754897456,"stringDateField":"1984-02-03","stringDateTimeField":"1988-01-10T03:49:17Z","stringField":"dokQG","stringTimeField":"15:06:59.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2659,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2659,"uuid":"9e0a89b2-5655-11ee-8401-675ed0f8e89b"},"arrayField":["voknyYfGW"],"boolField":true,"intField":619,"numField":-687.789112468225,"objField":{"GAYFSJgmZa":-6539745765607438310,"Ieqa":-5717647624301532292,"IixI":-7750589652754704609,"LdRC":4358246687504710240,"QzNoB":-3070260072569725516,"jbZG":2660172398767272378,"qgjOwQfBrM":-2423397857105050216,"xNhCd":-1112620824835898578},"stringDateField":"1920-09-25","stringDateTimeField":"1908-03-09T16:17:50Z","stringField":"nqWmqa","stringTimeField":"00:39:47.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":619,"numField":-687.789112468225,"stringDateField":"1920-09-25","stringDateTimeField":"1908-03-09T16:17:50Z","stringField":"nqWmqa","stringTimeField":"00:39:47.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2660,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2660,"uuid":"9e0a89b2-5655-11ee-8801-675ed0f8e89b"},"arrayField":["FazqpXFC","uLdZoFIV","YlzxrrZIU"],"boolField":true,"intField":304,"numField":376.1894111221722,"objField":{"ArRWUXqSc":-5928373005718745195,"BxYj":-1140148113485372117,"CITWfRP":-167875157397683527,"FxBFO":-247828212157840923,"ZHFmNI":-5961756051362032959,"flfE":-3706745394118022204,"mVfCvfIKu":-6001734799766390629,"qYYAZcDr":7054240255158293674,"unWKvmIW":-7190622419943631643},"stringDateField":"1938-05-17","stringDateTimeField":"1916-05-10T20:20:36Z","stringField":"uLROU","stringTimeField":"23:13:04.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":304,"numField":376.1894111221722,"stringDateField":"1938-05-17","stringDateTimeField":"1916-05-10T20:20:36Z","stringField":"uLROU","stringTimeField":"23:13:04.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2661,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2661,"uuid":"9e0a89b2-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["lHotH","oXObIHpCDK","jPNFfDeQI","zXMVHVJiJJ"],"boolField":true,"intField":-571,"numField":599.5047632457778,"objField":{"AfmJy":824547264181527978,"JQVsS":-8776132997832209641,"QMIm":-393780845304481631,"SBoiMxiRu":4300142530932443042,"ptWNZ":7295024147847369757},"stringDateField":"1922-03-15","stringDateTimeField":"1972-03-02T21:31:27Z","stringField":"PptinmvqE","stringTimeField":"05:56:56.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":-571,"numField":599.5047632457778,"stringDateField":"1922-03-15","stringDateTimeField":"1972-03-02T21:31:27Z","stringField":"PptinmvqE","stringTimeField":"05:56:56.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2662,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2662,"uuid":"9e0a89b2-5655-11ee-9001-675ed0f8e89b"},"arrayField":["wQfMdUMFSP","jqYnjltU","iDJhp","DehGZ","fGFpshAp"],"boolField":false,"intField":878,"numField":304.11954105567276,"objField":{"PyZDCp":171885431350685962,"sBiSHgb":-3443170690761213436},"stringDateField":"2023-10-13","stringDateTimeField":"2015-06-15T09:05:12Z","stringField":"kNYX","stringTimeField":"15:44:49.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":878,"numField":304.11954105567276,"stringDateField":"2023-10-13","stringDateTimeField":"2015-06-15T09:05:12Z","stringField":"kNYX","stringTimeField":"15:44:49.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2663,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2663,"uuid":"9e0a89b2-5655-11ee-9401-675ed0f8e89b"},"arrayField":["SPlWVHzqz","zgFs","cnulocrX"],"boolField":false,"intField":362,"numField":-537.8209424838931,"objField":{"DqlEe":-7294412729442298294,"FQycCYLHHw":-6790322140520656508,"LKgRstm":2533018260211159766,"NCRDWSvrCz":6661281006800268876,"SZLHCqWFr":-4458497255490485725,"UQlHc":-4041033148566989183,"bjNaxiWYm":7860814991631404757,"mFInUw":5260775406718254947,"ttaNC":-5165053195293934509,"vOmxJkv":-5029370946543093570},"stringDateField":"1993-10-23","stringDateTimeField":"2016-12-27T19:40:53Z","stringField":"wXOr","stringTimeField":"01:12:23.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":362,"numField":-537.8209424838931,"stringDateField":"1993-10-23","stringDateTimeField":"2016-12-27T19:40:53Z","stringField":"wXOr","stringTimeField":"01:12:23.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2664,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2664,"uuid":"9e0a89b2-5655-11ee-9801-675ed0f8e89b"},"arrayField":["NNvY","xjZz","OMvc","MDyzEVWyAJ","JzZplqdn","DUhqfY","mijfnYAaz","JNxiHF","dRiCDn","aYXtLGkPAn"],"boolField":true,"intField":167,"numField":-291.92453634428284,"objField":{"EILKoTOtWy":2433142848057023254},"stringDateField":"1920-12-25","stringDateTimeField":"1966-02-22T06:35:23Z","stringField":"qjnyprUNUH","stringTimeField":"23:04:39.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":167,"numField":-291.92453634428284,"stringDateField":"1920-12-25","stringDateTimeField":"1966-02-22T06:35:23Z","stringField":"qjnyprUNUH","stringTimeField":"23:04:39.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2665,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2665,"uuid":"9e0a89b2-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["KTSTC"],"boolField":false,"intField":731,"numField":398.53350421385227,"objField":{"ByoZNaDmbw":-6326852290961852281,"DOGdWUN":-3600154316137457014,"DsFt":8233610587810668597,"ISDF":3821998284369545774,"MycADiLZQ":-1289968076834387567,"SpDvrKV":-1322063308325387722,"XqJwkry":-1791721832940717954,"jWtNtsBJS":-7127693665648356420,"yBXxz":-6261430572094886083,"yZgKD":-2419843451774313091},"stringDateField":"1999-08-19","stringDateTimeField":"2016-11-23T01:59:51Z","stringField":"ubKDsSQePT","stringTimeField":"07:22:46.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":731,"numField":398.53350421385227,"stringDateField":"1999-08-19","stringDateTimeField":"2016-11-23T01:59:51Z","stringField":"ubKDsSQePT","stringTimeField":"07:22:46.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2666,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2666,"uuid":"9e0a89b2-5655-11ee-a001-675ed0f8e89b"},"arrayField":["IYgSN","oFllRqS","oYiEgKDA","NyVaZeM","EUFZnZS"],"boolField":true,"intField":85,"numField":888.5491249311359,"objField":{"AmCmOqvHi":3181426770777819860,"oXjEFBh":2390829061381232875,"qpHkSfaUJ":-2716099968366294842,"vMwWe":-1693563365912643543},"stringDateField":"1976-03-21","stringDateTimeField":"1984-03-01T02:25:21Z","stringField":"WUgs","stringTimeField":"16:15:10.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":85,"numField":888.5491249311359,"stringDateField":"1976-03-21","stringDateTimeField":"1984-03-01T02:25:21Z","stringField":"WUgs","stringTimeField":"16:15:10.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2667,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2667,"uuid":"9e0a89b2-5655-11ee-a401-675ed0f8e89b"},"arrayField":["cGLIZgmLR","dSHznIFBJH","olOpHSzBte","uWLLcQ","GQiC","QAuhxQOWZ"],"boolField":true,"intField":-425,"numField":-921.259285210672,"objField":{"KvbAZavoGS":-1806662094975297664,"wFZBlWh":-9211764459125102942},"stringDateField":"1936-03-01","stringDateTimeField":"1916-02-19T03:25:02Z","stringField":"lpSmR","stringTimeField":"10:37:08.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":-425,"numField":-921.259285210672,"stringDateField":"1936-03-01","stringDateTimeField":"1916-02-19T03:25:02Z","stringField":"lpSmR","stringTimeField":"10:37:08.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2668,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2668,"uuid":"9e0a89b2-5655-11ee-a801-675ed0f8e89b"},"arrayField":["DJMLFMz"],"boolField":true,"intField":-369,"numField":698.5674086828689,"objField":{"PtjuJ":-2548679091771871274,"jSoMv":2039920169417136904},"stringDateField":"1971-03-23","stringDateTimeField":"1966-04-30T21:59:48Z","stringField":"cgnMYHP","stringTimeField":"13:12:19.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":-369,"numField":698.5674086828689,"stringDateField":"1971-03-23","stringDateTimeField":"1966-04-30T21:59:48Z","stringField":"cgnMYHP","stringTimeField":"13:12:19.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2669,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2669,"uuid":"9e0a89b2-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["qYIKrcmaUc","SitFj","clqlbEWDf","abULJcj","uahpyy","XTjiRgVd","MDqXDSDqX","VjbUww"],"boolField":true,"intField":536,"numField":-962.7225201217498,"objField":{"HtQNFYt":3131588047868212122,"NegcYNYP":4693774365677725170,"Qspz":2053643298512958136,"YSiZbUmNfS":-7037953544909572822,"apcg":-7743054474242982795,"zjxx":7639038704986369943},"stringDateField":"1995-06-20","stringDateTimeField":"1962-04-12T19:00:55Z","stringField":"TWVUGDzUU","stringTimeField":"05:33:12.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":536,"numField":-962.7225201217498,"stringDateField":"1995-06-20","stringDateTimeField":"1962-04-12T19:00:55Z","stringField":"TWVUGDzUU","stringTimeField":"05:33:12.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2670,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2670,"uuid":"9e0a89b2-5655-11ee-b001-675ed0f8e89b"},"arrayField":["WicErEj","rsqY","dyURkRTnEH","bdBULN","SiIGfLBKp"],"boolField":true,"intField":349,"numField":-670.209952425663,"objField":{"clSBD":-8650025629230565286},"stringDateField":"2023-07-20","stringDateTimeField":"1917-01-05T16:44:21Z","stringField":"ukHLFiwjIh","stringTimeField":"20:24:40.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":349,"numField":-670.209952425663,"stringDateField":"2023-07-20","stringDateTimeField":"1917-01-05T16:44:21Z","stringField":"ukHLFiwjIh","stringTimeField":"20:24:40.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2671,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2671,"uuid":"9e0a89b2-5655-11ee-b401-675ed0f8e89b"},"arrayField":["Ylxxk","JLWzltMkWY","umTktDjsUf","ifZWPQhkZ","soNAwjQ","SvGicjdo","ubWF","bKCroCQ","CDKJ"],"boolField":true,"intField":-599,"numField":99.93861038342544,"objField":{"Hbnwtqoak":988105564905452892,"HxfdfWek":1809949627523215227,"TAubwH":-6736902807125031033,"XloNf":2114788315513658840,"Zhokn":5646347812709738184,"brZxc":3390788136380562488,"kSORfqgelK":-4789707172688474080,"wzTO":2626418940339122013,"ynUN":237545772575195741},"stringDateField":"2011-06-29","stringDateTimeField":"1988-10-04T10:18:14Z","stringField":"UpGsZr","stringTimeField":"16:15:16.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":-599,"numField":99.93861038342544,"stringDateField":"2011-06-29","stringDateTimeField":"1988-10-04T10:18:14Z","stringField":"UpGsZr","stringTimeField":"16:15:16.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2672,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2672,"uuid":"9e0a89b2-5655-11ee-b801-675ed0f8e89b"},"arrayField":["wAsTV"],"boolField":false,"intField":-683,"numField":-733.2289098803083,"objField":{"IWWP":-3529886375510287030,"RfWgTsZ":-7103026863329398813,"aGSlw":8909927748086338763,"oKVcMq":-4374778504568876533,"pBTgnUQ":677671688573724092,"zQTO":-1501473339514804970},"stringDateField":"1976-01-29","stringDateTimeField":"1971-01-17T15:54:22Z","stringField":"WgxFWswylR","stringTimeField":"02:26:01.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":-683,"numField":-733.2289098803083,"stringDateField":"1976-01-29","stringDateTimeField":"1971-01-17T15:54:22Z","stringField":"WgxFWswylR","stringTimeField":"02:26:01.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2673,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2673,"uuid":"9e0a89b2-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["wnpfdgVPxa","NkLUC","WdeOUVTWmN","DXpzyK","eYVcu"],"boolField":false,"intField":-805,"numField":12.08352113420963,"objField":{"LirGPi":-4078528350238916072,"WQnWUe":6075791604978834047,"WYENWmkIc":-4383302007669060602,"gGpAIlkPj":-7105144344567410642},"stringDateField":"1941-10-18","stringDateTimeField":"1915-11-09T14:46:46Z","stringField":"EjoSecA","stringTimeField":"05:49:08.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763698Z","intField":-805,"numField":12.08352113420963,"stringDateField":"1941-10-18","stringDateTimeField":"1915-11-09T14:46:46Z","stringField":"EjoSecA","stringTimeField":"05:49:08.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2674,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2674,"uuid":"9e0a89b3-5655-11ee-8001-675ed0f8e89b"},"arrayField":["YukCFMlHh","Vcwn","nHcrBe","hHpKFuKky"],"boolField":false,"intField":819,"numField":-56.499949830689175,"objField":{"FUCGSDUEax":8210096436113872152,"IXFXWb":-6780401357560693726,"JQPsafrS":-5648211193649098493,"VrjfKdiK":6481066218343416533,"hZSXZqrUg":-78910412044642588,"kTDokkBm":-8057011364800045032,"oMAkwbg":8222765252381301106},"stringDateField":"1944-12-13","stringDateTimeField":"1934-01-14T09:10:29Z","stringField":"YxXwZCb","stringTimeField":"00:58:51.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":819,"numField":-56.499949830689175,"stringDateField":"1944-12-13","stringDateTimeField":"1934-01-14T09:10:29Z","stringField":"YxXwZCb","stringTimeField":"00:58:51.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2675,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2675,"uuid":"9e0a89b3-5655-11ee-8401-675ed0f8e89b"},"arrayField":["nRlmPB","Kimo"],"boolField":true,"intField":454,"numField":617.1561790370195,"objField":{"DNzEvouC":3160063216547466444,"PSaRH":205227511354006114,"fAHxFurqA":6478735060923273952},"stringDateField":"1987-06-23","stringDateTimeField":"1931-09-30T04:56:52Z","stringField":"XwOGZjFjf","stringTimeField":"03:45:01.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":454,"numField":617.1561790370195,"stringDateField":"1987-06-23","stringDateTimeField":"1931-09-30T04:56:52Z","stringField":"XwOGZjFjf","stringTimeField":"03:45:01.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2676,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2676,"uuid":"9e0a89b3-5655-11ee-8801-675ed0f8e89b"},"arrayField":["mogSxa","LsyCbl","wjFMj"],"boolField":true,"intField":-387,"numField":-136.3623266973336,"objField":{"WEul":1583326653636466118,"xXYWM":-5982425623207130260},"stringDateField":"1909-11-04","stringDateTimeField":"2011-02-28T14:04:17Z","stringField":"XolOalDuFP","stringTimeField":"08:46:20.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":-387,"numField":-136.3623266973336,"stringDateField":"1909-11-04","stringDateTimeField":"2011-02-28T14:04:17Z","stringField":"XolOalDuFP","stringTimeField":"08:46:20.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2677,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2677,"uuid":"9e0a89b3-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["wNZHCQN","iYjEIFleO","Siptxr"],"boolField":true,"intField":-340,"numField":154.89138733368702,"objField":{"ABftT":2567884456947536872,"QcNKbpRv":-8068648700982714735,"Rgnueb":4504594781672565480,"SlFhked":-7984745834914906451,"UZEQAPOG":-4033992790359292511,"WAIj":8273316519274145882,"ZuOiitlo":-2994896929289484797,"ndeVN":-4496928312364954161,"rneth":4719564094865666807,"wKKfj":2921110063010617074},"stringDateField":"1945-09-25","stringDateTimeField":"1941-08-17T07:46:15Z","stringField":"JrNSuW","stringTimeField":"18:28:01.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":-340,"numField":154.89138733368702,"stringDateField":"1945-09-25","stringDateTimeField":"1941-08-17T07:46:15Z","stringField":"JrNSuW","stringTimeField":"18:28:01.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2678,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2678,"uuid":"9e0a89b3-5655-11ee-9001-675ed0f8e89b"},"arrayField":["IRBAhgQBvg","IOGsuQym","WgovB"],"boolField":true,"intField":-942,"numField":-667.3589399183797,"objField":{"EoaVDDee":-3591299553594119299,"PuHlb":4203384598553552916,"XgyHTR":-3565685912018195062,"YvCKQMAQh":413162823733219972,"fkZMyPBHDx":3844616509904885981,"hEnus":-705535580544602237,"mXcteiKf":-5137324261041041034,"xhLl":-8205701010671999508},"stringDateField":"1999-02-09","stringDateTimeField":"2002-06-05T12:19:16Z","stringField":"rvvB","stringTimeField":"22:33:58.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":-942,"numField":-667.3589399183797,"stringDateField":"1999-02-09","stringDateTimeField":"2002-06-05T12:19:16Z","stringField":"rvvB","stringTimeField":"22:33:58.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2679,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2679,"uuid":"9e0a89b3-5655-11ee-9401-675ed0f8e89b"},"arrayField":["yDIKqrJU","DKvoglCVBp","QZnSuZrz","hJXhGJQhh"],"boolField":true,"intField":906,"numField":199.39301006644828,"objField":{"IVixaTB":8086874188421573514,"XFMNnuXlzZ":1058032223416493367,"ZumCNasJ":1483528753385149461},"stringDateField":"1948-08-14","stringDateTimeField":"1907-12-22T16:30:26Z","stringField":"bXCV","stringTimeField":"19:37:57.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":906,"numField":199.39301006644828,"stringDateField":"1948-08-14","stringDateTimeField":"1907-12-22T16:30:26Z","stringField":"bXCV","stringTimeField":"19:37:57.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2680,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2680,"uuid":"9e0a89b3-5655-11ee-9801-675ed0f8e89b"},"arrayField":["KeQne","gUoceOGII","JuIAwmqJb","WfFh","CWWscyJV"],"boolField":true,"intField":569,"numField":-806.2750056853365,"objField":{"KCVo":1080230916532797486,"WZHMkuM":8694042114003836977,"eXCzyeQSYP":7160563647620733562,"mKSM":-1511043957790222145,"naPHQEK":-8920994388730018226},"stringDateField":"1990-03-01","stringDateTimeField":"1954-12-07T17:16:35Z","stringField":"gWiJYojImN","stringTimeField":"23:50:06.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":569,"numField":-806.2750056853365,"stringDateField":"1990-03-01","stringDateTimeField":"1954-12-07T17:16:35Z","stringField":"gWiJYojImN","stringTimeField":"23:50:06.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2681,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2681,"uuid":"9e0a89b3-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ahZKXK"],"boolField":true,"intField":-833,"numField":640.9165100171618,"objField":{"BhAliJmzn":-6343318620126467250,"PYMB":-7940043771793279535,"TNnfm":6369618995432931486,"Uyjf":-3801625984565096199,"XhFyvpu":4399727723094821193,"dkHUsAYIzx":-6440763521814336738,"dyUfj":4167617892754689001},"stringDateField":"1960-02-07","stringDateTimeField":"1970-11-03T11:48:33Z","stringField":"njWa","stringTimeField":"16:40:59.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":-833,"numField":640.9165100171618,"stringDateField":"1960-02-07","stringDateTimeField":"1970-11-03T11:48:33Z","stringField":"njWa","stringTimeField":"16:40:59.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2682,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2682,"uuid":"9e0a89b3-5655-11ee-a001-675ed0f8e89b"},"arrayField":["LGcI","NCXQP","WUhLYM","TrvrddGoLQ","YuvuCMINV","BKsRHtp","OsqYxIY","ZjWb","fOeUo","Qcand"],"boolField":true,"intField":-472,"numField":104.3426528152036,"objField":{"coxokxqn":-575418375848585955},"stringDateField":"2013-05-16","stringDateTimeField":"1970-07-23T07:57:54Z","stringField":"rPdB","stringTimeField":"22:54:01.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":-472,"numField":104.3426528152036,"stringDateField":"2013-05-16","stringDateTimeField":"1970-07-23T07:57:54Z","stringField":"rPdB","stringTimeField":"22:54:01.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2683,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2683,"uuid":"9e0a89b3-5655-11ee-a401-675ed0f8e89b"},"arrayField":["LqHkMs","CjAi","nSUsixW","ZxbsFmZj","pmancF","zbcMn","KHIbr","sGcDYoj"],"boolField":true,"intField":-561,"numField":-648.4707412732846,"objField":{"HJSr":-5248109705562359910,"QUpeC":-4467062318891193443,"QrpcAIaM":2411678596845936435,"XXEYv":4148553695428780500,"wHEFio":-1790720751514941542,"yVtAB":-1788299199818457697,"ymSh":3662704940434913972,"zezxrWf":-8269661730363315448},"stringDateField":"2010-10-08","stringDateTimeField":"1999-11-22T05:05:39Z","stringField":"SsSMrukrx","stringTimeField":"06:26:54.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":-561,"numField":-648.4707412732846,"stringDateField":"2010-10-08","stringDateTimeField":"1999-11-22T05:05:39Z","stringField":"SsSMrukrx","stringTimeField":"06:26:54.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2684,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2684,"uuid":"9e0a89b3-5655-11ee-a801-675ed0f8e89b"},"arrayField":["LAQntYyA","apHcvzner","miXiHSlCJN","YvRxzwW","PXMoFg","khmoCdy","cjcDvnCsN","HksXmKaRC","DIAkyNRD","paaW"],"boolField":false,"intField":-169,"numField":-859.4079403628252,"objField":{"BLJHR":-7643954488605591960,"BetLL":-2842839005311998631,"PLYfl":-2092560804397030037,"SRCNPimAOS":7166461205886968893,"SyDuviUmiU":6409496681832029977,"TLHZzOEgbi":-165423890558357928,"fqnnRd":-3853386086876874362,"pLiSUrfR":-7692891594433028259,"sbxsGuF":-1440546549220180856},"stringDateField":"1931-04-10","stringDateTimeField":"1902-06-10T01:33:56Z","stringField":"HxCNk","stringTimeField":"06:44:42.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":-169,"numField":-859.4079403628252,"stringDateField":"1931-04-10","stringDateTimeField":"1902-06-10T01:33:56Z","stringField":"HxCNk","stringTimeField":"06:44:42.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2685,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2685,"uuid":"9e0a89b3-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["egTotTbpeO","FngSEcXYj","wexpcMX","ZhicI","UzFjYkr"],"boolField":true,"intField":-909,"numField":124.82472497187324,"objField":{"FpmI":6949060077484494297,"MCuH":2605130845872898585,"jbrt":4166403719203979706,"xxHHqmW":8266097224001084186},"stringDateField":"2023-03-02","stringDateTimeField":"2015-12-15T08:01:21Z","stringField":"cnTrpT","stringTimeField":"09:23:53.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":-909,"numField":124.82472497187324,"stringDateField":"2023-03-02","stringDateTimeField":"2015-12-15T08:01:21Z","stringField":"cnTrpT","stringTimeField":"09:23:53.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2686,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2686,"uuid":"9e0a89b3-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ywyVN","fORfOEc","SRBoP","crImXrhFfq"],"boolField":false,"intField":377,"numField":818.3726920647971,"objField":{"LwGSgPx":-6747934432452889448,"NWdMT":3101746383166126245,"Nxrq":2961422396973336055,"OsXeeq":-6230129324591298234,"QAWSckM":-2310556736371669062,"hfOFuqvStL":-2543261452486698153,"jVwCOd":-7372756105877621977,"sOoZrtRi":6644120519986842516,"tcmkKYN":-7305517067988115772,"wwgKWTh":7202166382829127085},"stringDateField":"1927-05-19","stringDateTimeField":"1947-06-23T03:40:40Z","stringField":"TccPBqeG","stringTimeField":"17:57:35.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":377,"numField":818.3726920647971,"stringDateField":"1927-05-19","stringDateTimeField":"1947-06-23T03:40:40Z","stringField":"TccPBqeG","stringTimeField":"17:57:35.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2687,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2687,"uuid":"9e0a89b3-5655-11ee-b401-675ed0f8e89b"},"arrayField":["lGFyKcQ"],"boolField":true,"intField":-479,"numField":514.8018361911186,"objField":{"FpaqNPez":8854852568356967948,"JBImVa":-3429736856164405435,"QuhtxAT":8360041015653336562,"ULEK":-5613326470181959809,"ZFbrsi":-6912750268903006695,"teqo":4187435219386329750},"stringDateField":"1957-04-26","stringDateTimeField":"1975-10-04T17:25:29Z","stringField":"MHUuXpfVE","stringTimeField":"22:09:37.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":-479,"numField":514.8018361911186,"stringDateField":"1957-04-26","stringDateTimeField":"1975-10-04T17:25:29Z","stringField":"MHUuXpfVE","stringTimeField":"22:09:37.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2688,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2688,"uuid":"9e0a89b3-5655-11ee-b801-675ed0f8e89b"},"arrayField":["zXec","ocKGy","LzPppj","NsNRtRLB","oxaCadvyxJ","tkbkLBXCI","GKCEwRG"],"boolField":true,"intField":-758,"numField":760.0456420749471,"objField":{"UltPo":-7337083862151383220,"dNxGZZUP":-4269328314842789598,"xnNh":6005108699245728878,"zXEKG":4211432613078743216},"stringDateField":"2018-07-06","stringDateTimeField":"1917-05-23T09:28:53Z","stringField":"aMBX","stringTimeField":"02:19:44.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":-758,"numField":760.0456420749471,"stringDateField":"2018-07-06","stringDateTimeField":"1917-05-23T09:28:53Z","stringField":"aMBX","stringTimeField":"02:19:44.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2689,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2689,"uuid":"9e0a89b3-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ptwd","HdgqF","PTZd"],"boolField":false,"intField":143,"numField":-244.3553010892583,"objField":{"NUFlKeHlA":-8370774272973095550,"RIPDrGQG":-3203917254494580836,"bnQfTVEwuL":935477056110898974,"tkWR":-1895412615158903998},"stringDateField":"1935-01-10","stringDateTimeField":"2008-05-16T02:27:40Z","stringField":"ZhQZjoBt","stringTimeField":"13:15:39.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763699Z","intField":143,"numField":-244.3553010892583,"stringDateField":"1935-01-10","stringDateTimeField":"2008-05-16T02:27:40Z","stringField":"ZhQZjoBt","stringTimeField":"13:15:39.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2690,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2690,"uuid":"9e0a89b4-5655-11ee-8001-675ed0f8e89b"},"arrayField":["xobvfm","xCnmL","mkLZnrUfY","knZTHNRO","EIVY"],"boolField":false,"intField":-589,"numField":-992.440861110028,"objField":{"FHCsDJivI":-266222066979640798,"GOXADyP":-3118018695346340900,"UJbQh":-5132061120076981961,"WLDIE":-3981817025795451970,"WUoBnoM":5844307050692514293,"bMXIiMjaN":6273983610259113086,"oSnUiNHgS":7055579674228111279,"ubxQzl":5801870582010295602,"vZeRn":8915346666180735701},"stringDateField":"1992-03-21","stringDateTimeField":"1955-09-06T09:02:06Z","stringField":"RUvihRi","stringTimeField":"22:32:00.40Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":-589,"numField":-992.440861110028,"stringDateField":"1992-03-21","stringDateTimeField":"1955-09-06T09:02:06Z","stringField":"RUvihRi","stringTimeField":"22:32:00.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2691,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2691,"uuid":"9e0a89b4-5655-11ee-8401-675ed0f8e89b"},"arrayField":["kerAGtGKyT","HFrOe","EcQvgs","rrARdtUtM","bHyv","tgCOyI","rMFRgiBp","ZYSe"],"boolField":false,"intField":-162,"numField":777.1762285995984,"objField":{"HSTaeM":-325574078899825092,"IgejZ":-4538594789719519897,"LdIjDa":-1808526842673798074,"NVMlTTpAS":-8172168125439731894,"PnDi":-5357555603922748560,"RsMfan":6600971146824416131,"mWAnWtxKQ":-6397695021705923125,"nupR":2442987950460578237,"vGZnPCuIy":8627276376214024672,"zpRoPbSLo":-2929972117393428679},"stringDateField":"1962-02-27","stringDateTimeField":"1908-10-10T09:24:10Z","stringField":"YnPs","stringTimeField":"00:39:01.33Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":-162,"numField":777.1762285995984,"stringDateField":"1962-02-27","stringDateTimeField":"1908-10-10T09:24:10Z","stringField":"YnPs","stringTimeField":"00:39:01.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2692,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2692,"uuid":"9e0a89b4-5655-11ee-8801-675ed0f8e89b"},"arrayField":["Sxleu","CxMYc","SnRg"],"boolField":true,"intField":898,"numField":741.6585002079116,"objField":{"cMZeveMtX":-3356316551487276168,"nDQMigqs":7651570614905505727,"szLYyjUNiF":3512155989963200919,"wKyRYGS":-6227276451412285851,"zMQFZEb":-6568699924256965607,"zWBpkWB":5311305928488536848},"stringDateField":"2000-11-10","stringDateTimeField":"1923-03-27T13:33:05Z","stringField":"FqXKAQ","stringTimeField":"11:14:12.12Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":898,"numField":741.6585002079116,"stringDateField":"2000-11-10","stringDateTimeField":"1923-03-27T13:33:05Z","stringField":"FqXKAQ","stringTimeField":"11:14:12.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2693,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2693,"uuid":"9e0a89b4-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["fLXhY","EjRL","THyQRBtP","GCefAhIc","ISZkuk","VORVHGWT","wLbG","ijKG"],"boolField":true,"intField":41,"numField":-855.9680302060632,"objField":{"iPtlvHhJ":5885916548420341472},"stringDateField":"1984-08-16","stringDateTimeField":"2002-11-05T04:53:45Z","stringField":"DdAAQMbTax","stringTimeField":"15:53:48.21Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":41,"numField":-855.9680302060632,"stringDateField":"1984-08-16","stringDateTimeField":"2002-11-05T04:53:45Z","stringField":"DdAAQMbTax","stringTimeField":"15:53:48.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2694,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2694,"uuid":"9e0a89b4-5655-11ee-9001-675ed0f8e89b"},"arrayField":["Bwjru","OqttBrohS","pnlLnrn"],"boolField":true,"intField":565,"numField":-724.6254986840555,"objField":{"BoHNLyxg":-2201179639351641713,"PsSQML":3495412633236148882,"VKxXHfTY":1805606967230763451,"WFALY":-1982017688897429754,"aKUQ":378770321307031757,"axqehRe":-7073283233074802707,"dgSomy":-1630114224560248717,"kXIek":8187313393493589254,"lkiPYunUDb":-9066226918147903629},"stringDateField":"1923-12-07","stringDateTimeField":"1913-04-07T16:45:33Z","stringField":"Yxzhn","stringTimeField":"06:14:40.41Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":565,"numField":-724.6254986840555,"stringDateField":"1923-12-07","stringDateTimeField":"1913-04-07T16:45:33Z","stringField":"Yxzhn","stringTimeField":"06:14:40.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2695,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2695,"uuid":"9e0a89b4-5655-11ee-9401-675ed0f8e89b"},"arrayField":["IpYxUKyk","QYKzFjhN","ztsAp","itFziApI","XRIiAA"],"boolField":true,"intField":723,"numField":827.5999841505386,"objField":{"aYDSjGma":-7782241253568975182},"stringDateField":"1909-08-27","stringDateTimeField":"2017-06-06T06:20:47Z","stringField":"ypQeebW","stringTimeField":"16:54:26.28Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":723,"numField":827.5999841505386,"stringDateField":"1909-08-27","stringDateTimeField":"2017-06-06T06:20:47Z","stringField":"ypQeebW","stringTimeField":"16:54:26.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2696,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2696,"uuid":"9e0a89b4-5655-11ee-9801-675ed0f8e89b"},"arrayField":["TNRlPqZud","rCkBVWUqBv"],"boolField":false,"intField":-659,"numField":218.0957526713183,"objField":{"LoXLAwJJKY":-8792380954717235819,"SfezV":7921203601917577458,"UPVCZsALSo":5700255583723081109,"aRur":-6297323132877000734,"fhtMfBaR":-603039377298493590,"fwAkHbs":-279317196836701634},"stringDateField":"1946-02-28","stringDateTimeField":"1981-09-01T13:39:04Z","stringField":"yPso","stringTimeField":"14:15:13.24Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":-659,"numField":218.0957526713183,"stringDateField":"1946-02-28","stringDateTimeField":"1981-09-01T13:39:04Z","stringField":"yPso","stringTimeField":"14:15:13.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2697,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2697,"uuid":"9e0a89b4-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["mnVqsg","AoNAhXrn","TuuiDMFds","wOQQVpONM"],"boolField":false,"intField":-591,"numField":333.40943545042,"objField":{"CVil":6249935934717449815,"NvmrbaZzYW":1655352295824559729,"VlhtQI":-5337596171966898799,"WrihXByB":893000850723396307,"YUTvwgNL":-7005917612709241212,"gYxYw":-2701617273620667014,"raPfX":2997713933024484091,"snVLG":2915295872918842618,"vWJXdwgp":7107051794930874462},"stringDateField":"1941-03-23","stringDateTimeField":"2009-08-30T08:15:48Z","stringField":"fERAdase","stringTimeField":"05:03:36.46Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":-591,"numField":333.40943545042,"stringDateField":"1941-03-23","stringDateTimeField":"2009-08-30T08:15:48Z","stringField":"fERAdase","stringTimeField":"05:03:36.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2698,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2698,"uuid":"9e0a89b4-5655-11ee-a001-675ed0f8e89b"},"arrayField":["vZgeh","nYplSE","dVGPQmdO","mxGHOC","BjoZWkQF"],"boolField":false,"intField":12,"numField":314.7854754195698,"objField":{"Bghqh":6270274081502267975,"LobhHfiVCe":3916709431889206191,"RPELfkoKt":-667929336402707616,"WLDbVbHq":-1678527131037629940,"aZoOxVU":2874664305376506253,"klOgDr":4733391352335360674,"qVBLQUs":8880895664113720797,"uvZCYr":-5896849833890721188},"stringDateField":"1936-07-27","stringDateTimeField":"1912-07-21T04:13:36Z","stringField":"qEkJ","stringTimeField":"02:05:48.46Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":12,"numField":314.7854754195698,"stringDateField":"1936-07-27","stringDateTimeField":"1912-07-21T04:13:36Z","stringField":"qEkJ","stringTimeField":"02:05:48.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2699,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2699,"uuid":"9e0a89b4-5655-11ee-a401-675ed0f8e89b"},"arrayField":["zHTgau","UnHvUOjkTU","NLSLlTjO","zDeK"],"boolField":true,"intField":697,"numField":-361.0247437006788,"objField":{"kOlvsc":3748382340484372775,"qFwBk":-3211300100134648296},"stringDateField":"1918-05-25","stringDateTimeField":"1974-02-11T03:04:24Z","stringField":"CkfnmFc","stringTimeField":"17:09:40.33Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":697,"numField":-361.0247437006788,"stringDateField":"1918-05-25","stringDateTimeField":"1974-02-11T03:04:24Z","stringField":"CkfnmFc","stringTimeField":"17:09:40.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2700,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2700,"uuid":"9e0a89b4-5655-11ee-a801-675ed0f8e89b"},"arrayField":["xyxC","UNSKLBMX","ghhukB","oxYPGraIu","kKaiNc","kytJr"],"boolField":false,"intField":582,"numField":-687.0879961766199,"objField":{"UyKo":-3172730141313435141},"stringDateField":"1991-03-27","stringDateTimeField":"2002-05-30T11:57:00Z","stringField":"izlLUfqA","stringTimeField":"11:17:56.14Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":582,"numField":-687.0879961766199,"stringDateField":"1991-03-27","stringDateTimeField":"2002-05-30T11:57:00Z","stringField":"izlLUfqA","stringTimeField":"11:17:56.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2701,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2701,"uuid":"9e0a89b4-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["PPBrHE","fWnnkjhMrK","goEiOb","fdaaM","MgLzrP","eNvaMiXQ"],"boolField":true,"intField":301,"numField":940.3885271118396,"objField":{"HmnHlKwAlr":1456753154837182843,"Hyyf":-7165670239215154076,"bdhKtLFKZ":143626575740232878,"dwnVbS":-7398659428121944670,"qdsib":-5207483420750327474,"tVmQHUlO":-8277209830341574398,"wYAqHoWjaJ":-1636382198529855787,"xPhnpXarah":-479676999766880611,"zaYBZbFdTC":442456642886924520},"stringDateField":"2022-01-26","stringDateTimeField":"2022-10-05T04:22:05Z","stringField":"qxAxIs","stringTimeField":"04:55:06.22Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":301,"numField":940.3885271118396,"stringDateField":"2022-01-26","stringDateTimeField":"2022-10-05T04:22:05Z","stringField":"qxAxIs","stringTimeField":"04:55:06.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2702,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2702,"uuid":"9e0a89b4-5655-11ee-b001-675ed0f8e89b"},"arrayField":["RuCGBnkD"],"boolField":true,"intField":1,"numField":644.595944090155,"objField":{"DGxM":-3766517493855351006,"HdpDRS":-4599781365562626914,"KhsyTEIWT":3725786269402293788,"LILtwr":4619987948486955538,"wMUTdE":5441086504307755005},"stringDateField":"1991-01-02","stringDateTimeField":"1980-05-03T07:49:08Z","stringField":"EfclMLlz","stringTimeField":"14:59:07.21Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":1,"numField":644.595944090155,"stringDateField":"1991-01-02","stringDateTimeField":"1980-05-03T07:49:08Z","stringField":"EfclMLlz","stringTimeField":"14:59:07.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2703,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2703,"uuid":"9e0a89b4-5655-11ee-b401-675ed0f8e89b"},"arrayField":["SiSQ","ZRRQ","spTYiBJ","knamIZPQoh","argdqS","AvlQlUxM","ntZEi"],"boolField":false,"intField":996,"numField":303.1127827710156,"objField":{"AADjPWe":406564662570480416,"Nwcf":-8595436194010751888,"PLgYCX":-6651511060550875558,"VmYje":7265141736772864166,"WrDpeVD":-9035590404114377561,"YXgiVkMgIE":2165674675643106939,"qPLcx":-1242370287425092096,"rVFMJ":-6422054889972148670},"stringDateField":"2023-01-11","stringDateTimeField":"1940-08-28T14:59:04Z","stringField":"YhyUKu","stringTimeField":"13:37:49.23Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":996,"numField":303.1127827710156,"stringDateField":"2023-01-11","stringDateTimeField":"1940-08-28T14:59:04Z","stringField":"YhyUKu","stringTimeField":"13:37:49.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2704,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2704,"uuid":"9e0a89b4-5655-11ee-b801-675ed0f8e89b"},"arrayField":["QNZjsByyu","Cundchjx","zxpCMf","peym","VJmAYE","cNqY","yWAK","YucTtRvl","CDqbpjb","EVhcpLpzD"],"boolField":true,"intField":-194,"numField":852.7577008338043,"objField":{"ObJTMSLmmc":-2920228640374570361,"Xnmmbujj":8995562252355682480,"eKiNMm":2370296048549187022,"pdTdrwdDOF":2372931338722706042,"rJcXBkgjx":645185753994106233,"unRmV":2207716670576226157,"xatakPCLR":3650492393607941966},"stringDateField":"1956-08-08","stringDateTimeField":"2005-08-02T21:46:53Z","stringField":"qFRABCdnx","stringTimeField":"15:26:13.47Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":-194,"numField":852.7577008338043,"stringDateField":"1956-08-08","stringDateTimeField":"2005-08-02T21:46:53Z","stringField":"qFRABCdnx","stringTimeField":"15:26:13.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2705,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2705,"uuid":"9e0a89b4-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["PkTdQfPk"],"boolField":true,"intField":-719,"numField":-601.9469067130697,"objField":{"NcOxqHto":3286063769277118238},"stringDateField":"1994-05-13","stringDateTimeField":"2010-10-14T05:58:44Z","stringField":"pacCWgujqV","stringTimeField":"09:39:15.32Z"},"flow_published_at":"2023-09-18T19:00:21.87637Z","intField":-719,"numField":-601.9469067130697,"stringDateField":"1994-05-13","stringDateTimeField":"2010-10-14T05:58:44Z","stringField":"pacCWgujqV","stringTimeField":"09:39:15.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2706,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2706,"uuid":"9e0a89b5-5655-11ee-8001-675ed0f8e89b"},"arrayField":["RiGLkuKfe","qfRyN","sthaEPrI","AKerviVA","WidwNPd","fpqkhQVRWa","qtWSsmUG","NaRIfIQxL"],"boolField":true,"intField":359,"numField":866.2086598706152,"objField":{"AweKkep":4829835056705484253,"KmOcltdU":-3470540643861729225,"UaAfS":5161675892152086700,"bostfyzXOM":5893474809957366632,"gjmALDs":-2027704248490740299,"grSHpnO":7323491929294405567},"stringDateField":"1964-02-08","stringDateTimeField":"2004-06-29T05:55:29Z","stringField":"CXEYX","stringTimeField":"00:17:11.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":359,"numField":866.2086598706152,"stringDateField":"1964-02-08","stringDateTimeField":"2004-06-29T05:55:29Z","stringField":"CXEYX","stringTimeField":"00:17:11.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2707,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2707,"uuid":"9e0a89b5-5655-11ee-8401-675ed0f8e89b"},"arrayField":["HwyMJEKmtm","ldHLpdoC","iigvqaRqZ","QRsSfxVYVS","XYWZb","KTGF","Icprmlxod"],"boolField":true,"intField":-6,"numField":-86.16835131879452,"objField":{"JdAGrzWLc":4236103388307017310,"auAFRKN":-6528864198807072955,"zuNflQrHtr":8385212529051788419},"stringDateField":"1930-10-15","stringDateTimeField":"2008-04-26T12:32:48Z","stringField":"JlECIf","stringTimeField":"18:25:11.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":-6,"numField":-86.16835131879452,"stringDateField":"1930-10-15","stringDateTimeField":"2008-04-26T12:32:48Z","stringField":"JlECIf","stringTimeField":"18:25:11.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2708,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2708,"uuid":"9e0a89b5-5655-11ee-8801-675ed0f8e89b"},"arrayField":["loGevyXPKJ","GGmQOdDxG","QWmL","JGtwpOFW","uoAlpANVf","jVUazFN","ysUIOwBx","RwnCdFx"],"boolField":false,"intField":-561,"numField":312.0544495849002,"objField":{"JBFiR":4416384309328174256,"MRKmHmWj":7784719396660664840,"eppsQOlKYI":-7525461492957071571,"uhjsT":-1628447828574474652},"stringDateField":"2021-05-04","stringDateTimeField":"1948-08-30T13:45:54Z","stringField":"OYqS","stringTimeField":"22:52:59.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":-561,"numField":312.0544495849002,"stringDateField":"2021-05-04","stringDateTimeField":"1948-08-30T13:45:54Z","stringField":"OYqS","stringTimeField":"22:52:59.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2709,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2709,"uuid":"9e0a89b5-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["ltsXv","MrjUW","VJJVAsIV","NDjRJM","aWCphKJWh","czrmJ","fSuqp"],"boolField":false,"intField":-783,"numField":439.1281809288514,"objField":{"UCZgLJNx":982187706570015080,"erMfFWG":-813403254456134565,"hCTCbl":8686388235173095831,"hOMHkVnJ":4251493508092311854},"stringDateField":"1902-12-01","stringDateTimeField":"1959-06-08T23:37:25Z","stringField":"pdZshrNcrt","stringTimeField":"11:05:39.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":-783,"numField":439.1281809288514,"stringDateField":"1902-12-01","stringDateTimeField":"1959-06-08T23:37:25Z","stringField":"pdZshrNcrt","stringTimeField":"11:05:39.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2710,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2710,"uuid":"9e0a89b5-5655-11ee-9001-675ed0f8e89b"},"arrayField":["AOrcmpyVmR","wabsza","FpwyXqNm","RJTqG","RBXkQmTIoW","islbMMs","CshEOQYrv"],"boolField":false,"intField":715,"numField":321.42222531407015,"objField":{"OgUcO":-665369472171821062,"tRvmUKPF":6210106985477666268},"stringDateField":"1902-10-09","stringDateTimeField":"1996-01-28T21:37:20Z","stringField":"Umvn","stringTimeField":"12:54:21.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":715,"numField":321.42222531407015,"stringDateField":"1902-10-09","stringDateTimeField":"1996-01-28T21:37:20Z","stringField":"Umvn","stringTimeField":"12:54:21.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2711,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2711,"uuid":"9e0a89b5-5655-11ee-9401-675ed0f8e89b"},"arrayField":["jhGyLu","MFLRAY","ynbSSj","YloRVQH","OiZyRqdv","sTMqRGeOwq","iSKOuA","XxGbHeL","BSHCfYaSg","IHkgX"],"boolField":true,"intField":895,"numField":-725.0320375239093,"objField":{"PIcTTOuU":-851814409577537941,"PZWmRP":4819374688967532871,"QkEetY":1235729288011485512,"VNcjzjzOak":6982290570307574392,"qvFDTIDvw":-7355284231295847711,"vxHrjKUOOg":-4373380431634923144},"stringDateField":"1993-04-24","stringDateTimeField":"1912-05-22T23:39:08Z","stringField":"mANOfD","stringTimeField":"14:09:43.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":895,"numField":-725.0320375239093,"stringDateField":"1993-04-24","stringDateTimeField":"1912-05-22T23:39:08Z","stringField":"mANOfD","stringTimeField":"14:09:43.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2712,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2712,"uuid":"9e0a89b5-5655-11ee-9801-675ed0f8e89b"},"arrayField":["amnXk","uaIxE","UxRkgbu","FgprFLC","irxX","QYUjhINT","eTxTQAZZ","OiJhBClI"],"boolField":false,"intField":884,"numField":-553.7851931748464,"objField":{"AbdiqD":-6124433123412247797,"FWPq":3588744443813080106,"JpcjAxZDo":7634375456312609016,"LddT":-1821712430136254163,"QhboThBI":-2844934946445379094,"UrQBeMTwj":8068222593089866717,"XtrzHOfzjE":-8554639251864477801,"eyyYYzfmK":-6032188560099720080,"zgrmzU":-1029094442602909558},"stringDateField":"1980-03-02","stringDateTimeField":"1972-07-13T18:34:29Z","stringField":"SkBZyLEuS","stringTimeField":"22:35:55.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":884,"numField":-553.7851931748464,"stringDateField":"1980-03-02","stringDateTimeField":"1972-07-13T18:34:29Z","stringField":"SkBZyLEuS","stringTimeField":"22:35:55.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2713,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2713,"uuid":"9e0a89b5-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["IcwzKj","arQMhudCP","YZWT","FzzTvhJ"],"boolField":true,"intField":547,"numField":265.2301348664876,"objField":{"ANbC":5389389235609332844,"VVYFZHvTC":4738422802249150125,"oNar":7538214382249488189,"yeNshl":2642631000261980924},"stringDateField":"2018-04-23","stringDateTimeField":"1946-09-12T07:05:01Z","stringField":"BBBg","stringTimeField":"03:19:20.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":547,"numField":265.2301348664876,"stringDateField":"2018-04-23","stringDateTimeField":"1946-09-12T07:05:01Z","stringField":"BBBg","stringTimeField":"03:19:20.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2714,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2714,"uuid":"9e0a89b5-5655-11ee-a001-675ed0f8e89b"},"arrayField":["UdPOcG","PwXmsNdc","zJruk","yIxMFohlaQ"],"boolField":false,"intField":334,"numField":-694.0628380481511,"objField":{"CRGx":-4267255112011770088,"FIBNQ":6569972785675564407,"NAnRuMND":8708001272591216907,"WzxFnqAtvU":-3840147008564973508,"fXibE":6107726218164440302},"stringDateField":"1911-11-08","stringDateTimeField":"1970-10-02T14:42:48Z","stringField":"KaVEh","stringTimeField":"18:12:33.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":334,"numField":-694.0628380481511,"stringDateField":"1911-11-08","stringDateTimeField":"1970-10-02T14:42:48Z","stringField":"KaVEh","stringTimeField":"18:12:33.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2715,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2715,"uuid":"9e0a89b5-5655-11ee-a401-675ed0f8e89b"},"arrayField":["qqsvtAl","NZhBG","dLqKB","SFqOuJdIq"],"boolField":false,"intField":239,"numField":-346.9927093787759,"objField":{"NJyBd":3769093735801079920,"aRMtX":7352437817739582181,"grceaIYYlh":4200159509947624678,"hynobhc":3056071197551957126},"stringDateField":"1919-12-17","stringDateTimeField":"1978-12-05T02:39:14Z","stringField":"gBbV","stringTimeField":"10:51:16.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":239,"numField":-346.9927093787759,"stringDateField":"1919-12-17","stringDateTimeField":"1978-12-05T02:39:14Z","stringField":"gBbV","stringTimeField":"10:51:16.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2716,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2716,"uuid":"9e0a89b5-5655-11ee-a801-675ed0f8e89b"},"arrayField":["hafEXSTO","rgIOXMRvAG","VqyqNkaAoO","nbAlzpFF","sfeoCPwZTd"],"boolField":false,"intField":-599,"numField":493.5197170268224,"objField":{"FRZB":-5822853699833700877,"MwiUu":-4081245406769951305,"VJff":-8468892719330018308,"bbamGL":-7141748581704500780,"yVhICgsr":1398451103220540811},"stringDateField":"1966-05-16","stringDateTimeField":"2023-03-01T04:07:44Z","stringField":"USDJEkw","stringTimeField":"09:20:04.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":-599,"numField":493.5197170268224,"stringDateField":"1966-05-16","stringDateTimeField":"2023-03-01T04:07:44Z","stringField":"USDJEkw","stringTimeField":"09:20:04.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2717,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2717,"uuid":"9e0a89b5-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["BsPnBKEH","fiLD","mSUDKXwZ","KFqkR","wsPqlpxtdD","HNBBnY","YXnn","BaBWFOFic"],"boolField":false,"intField":-324,"numField":-48.582610495220834,"objField":{"DQHRFRf":1480724184328608344,"EEzDG":3379721834745802037,"QqWRkgmPh":5568601028768296884,"dzsHLiBe":5805220495643387625,"tdYRShFOL":-5362239338023542645},"stringDateField":"2007-04-23","stringDateTimeField":"2023-05-21T01:05:30Z","stringField":"MFNj","stringTimeField":"10:16:37.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":-324,"numField":-48.582610495220834,"stringDateField":"2007-04-23","stringDateTimeField":"2023-05-21T01:05:30Z","stringField":"MFNj","stringTimeField":"10:16:37.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2718,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2718,"uuid":"9e0a89b5-5655-11ee-b001-675ed0f8e89b"},"arrayField":["XuhEagsjix","BJqGUkI","fqMKH","lCMimY","YxHlEyj","amXrYCkKY","NjuKajclmy","AziNUK"],"boolField":false,"intField":-459,"numField":-893.4190749623122,"objField":{"FvnZuOBlCl":-8261623647926753175,"GffUo":3268274547712431629,"PxjrZcDrSP":1442000108113260344,"hlav":-3418165662242510197,"jYbcxYn":3995902634025407921,"pEvXCGHy":4260900010368001726,"vLtlojoWok":4614774817893789981},"stringDateField":"1963-04-07","stringDateTimeField":"1931-03-26T17:27:54Z","stringField":"YHopoCfO","stringTimeField":"12:27:08.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":-459,"numField":-893.4190749623122,"stringDateField":"1963-04-07","stringDateTimeField":"1931-03-26T17:27:54Z","stringField":"YHopoCfO","stringTimeField":"12:27:08.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2719,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2719,"uuid":"9e0a89b5-5655-11ee-b401-675ed0f8e89b"},"arrayField":["NfKgBLaLfX","pllg","yiTCxdS","olUAPPfBGr","XmpoAzD","qerZcBkOTi","RRZOFeIRvo","DeDNdIdP"],"boolField":false,"intField":-408,"numField":-765.9028899267869,"objField":{"ZCvZg":2817364320156643833},"stringDateField":"2012-01-10","stringDateTimeField":"2019-05-02T20:52:39Z","stringField":"AeivxWAq","stringTimeField":"08:29:48.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":-408,"numField":-765.9028899267869,"stringDateField":"2012-01-10","stringDateTimeField":"2019-05-02T20:52:39Z","stringField":"AeivxWAq","stringTimeField":"08:29:48.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2720,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2720,"uuid":"9e0a89b5-5655-11ee-b801-675ed0f8e89b"},"arrayField":["vBAILDMkq","QsbefW","NWyB"],"boolField":true,"intField":18,"numField":447.3329651739155,"objField":{"EAhr":-6242574439925565810,"LjEKew":867201260543013026,"MPRqeQogGi":6612662195556915188,"QodatlRZ":4384272299359132615,"YZpBz":7239863007999923757,"idvEc":-8255432568373149987,"mQdj":-3238760408370007182},"stringDateField":"1923-01-08","stringDateTimeField":"1993-05-08T19:31:42Z","stringField":"KFycPZdUw","stringTimeField":"14:58:10.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":18,"numField":447.3329651739155,"stringDateField":"1923-01-08","stringDateTimeField":"1993-05-08T19:31:42Z","stringField":"KFycPZdUw","stringTimeField":"14:58:10.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2721,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2721,"uuid":"9e0a89b5-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["LitiSo","gqPuWoEqwl","aMCOAaSD","CaFDHKB","MRkY","tTYs"],"boolField":false,"intField":771,"numField":-147.29361759693637,"objField":{"IxPA":8322353714113295114,"KDQEEEji":6011149205582533132,"PRxvHk":5369240068916790945,"dafubdeS":4629638161391706549,"hkLo":-600245999126717269,"jGjhByNzo":-5400155368943845348,"rjVKLtae":2716859577365525268},"stringDateField":"1933-11-28","stringDateTimeField":"1986-04-09T13:09:35Z","stringField":"gvNQ","stringTimeField":"07:07:33.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763701Z","intField":771,"numField":-147.29361759693637,"stringDateField":"1933-11-28","stringDateTimeField":"1986-04-09T13:09:35Z","stringField":"gvNQ","stringTimeField":"07:07:33.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2722,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2722,"uuid":"9e0a89b6-5655-11ee-8001-675ed0f8e89b"},"arrayField":["HgvpLx"],"boolField":false,"intField":243,"numField":202.53791108553497,"objField":{"OReKlIX":7403870634835941328,"obyLJU":4423972952584744475},"stringDateField":"2020-12-23","stringDateTimeField":"1964-07-24T00:48:23Z","stringField":"XbMB","stringTimeField":"06:18:36.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":243,"numField":202.53791108553497,"stringDateField":"2020-12-23","stringDateTimeField":"1964-07-24T00:48:23Z","stringField":"XbMB","stringTimeField":"06:18:36.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2723,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2723,"uuid":"9e0a89b6-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rLeI","pPyOV","kqzkNNUU"],"boolField":true,"intField":-245,"numField":-784.8730483030283,"objField":{"EYZVhqNavb":5898991878425872923,"KMqGQhK":6057918408297820153,"NYpjpm":2521207991883036564,"OoEoNKBg":-6168484185209920642,"sheTKO":-4753886081516994891},"stringDateField":"2018-02-23","stringDateTimeField":"2023-06-08T00:42:24Z","stringField":"iIZBRTybiR","stringTimeField":"19:13:10.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":-245,"numField":-784.8730483030283,"stringDateField":"2018-02-23","stringDateTimeField":"2023-06-08T00:42:24Z","stringField":"iIZBRTybiR","stringTimeField":"19:13:10.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2724,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2724,"uuid":"9e0a89b6-5655-11ee-8801-675ed0f8e89b"},"arrayField":["TxdpQXnVNg","aymYC","kFMnIf","QqEkgJLgm","bkOEx","Lnzw","gBgpypl"],"boolField":true,"intField":428,"numField":-274.4428264866491,"objField":{"SclqlxTsn":-1181510385239857302,"nVsUtqVne":822613720778883218,"zxQVQRu":-4367690003830219199},"stringDateField":"1997-11-18","stringDateTimeField":"1940-01-05T04:04:02Z","stringField":"pvqQEy","stringTimeField":"16:40:18.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":428,"numField":-274.4428264866491,"stringDateField":"1997-11-18","stringDateTimeField":"1940-01-05T04:04:02Z","stringField":"pvqQEy","stringTimeField":"16:40:18.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2725,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2725,"uuid":"9e0a89b6-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KDUbsLSX","NNRXKct","rUZLQFDZr","ILsFOcVPh","gGRhGLrVmH","CpBNMAqq"],"boolField":false,"intField":304,"numField":-991.2619834693014,"objField":{"hOeiu":4522196698512418193},"stringDateField":"2017-06-08","stringDateTimeField":"1917-11-11T22:02:37Z","stringField":"nHKW","stringTimeField":"17:30:03.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":304,"numField":-991.2619834693014,"stringDateField":"2017-06-08","stringDateTimeField":"1917-11-11T22:02:37Z","stringField":"nHKW","stringTimeField":"17:30:03.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2726,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2726,"uuid":"9e0a89b6-5655-11ee-9001-675ed0f8e89b"},"arrayField":["TImg","KUbjuF","ygAZ","GpwyBIYyuE","dRNrCS","kEkvMdbq","DcwQsLR","BIhAUA","KOpuSQTPB","dvKHnUwcS"],"boolField":true,"intField":-20,"numField":-808.3486524755186,"objField":{"IRin":-5807694525269388393,"rxFqdoG":5422218466596959197},"stringDateField":"1996-11-03","stringDateTimeField":"1917-02-16T09:27:51Z","stringField":"rydVKcxgks","stringTimeField":"00:43:30.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":-20,"numField":-808.3486524755186,"stringDateField":"1996-11-03","stringDateTimeField":"1917-02-16T09:27:51Z","stringField":"rydVKcxgks","stringTimeField":"00:43:30.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2727,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2727,"uuid":"9e0a89b6-5655-11ee-9401-675ed0f8e89b"},"arrayField":["gDMB","JSaUMdgd","ouJEZpeYva","FHXzYtO","NFgEhThD"],"boolField":true,"intField":-155,"numField":-329.8177312448327,"objField":{"CipSsBOCVx":-7990920947785305786,"FodAsd":-8535318477219707768,"NCiCl":4697956218474644330,"TKVMhGm":4153793151433974861,"YhPYBvZLP":1045869882417409644,"kjcc":8426821933887213351,"scQWA":5528704528254722566,"weowmHGj":-6069102388999188538,"xkOJfLWzR":1328393898720419734},"stringDateField":"1919-08-01","stringDateTimeField":"1917-03-16T00:24:03Z","stringField":"dkdnU","stringTimeField":"19:18:11.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":-155,"numField":-329.8177312448327,"stringDateField":"1919-08-01","stringDateTimeField":"1917-03-16T00:24:03Z","stringField":"dkdnU","stringTimeField":"19:18:11.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2728,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2728,"uuid":"9e0a89b6-5655-11ee-9801-675ed0f8e89b"},"arrayField":["LgXU"],"boolField":true,"intField":83,"numField":941.9133673229874,"objField":{"HgpzOMzQ":-1579081867021819300},"stringDateField":"1966-02-20","stringDateTimeField":"1958-12-12T12:27:12Z","stringField":"UGGtwnxIK","stringTimeField":"13:32:07.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":83,"numField":941.9133673229874,"stringDateField":"1966-02-20","stringDateTimeField":"1958-12-12T12:27:12Z","stringField":"UGGtwnxIK","stringTimeField":"13:32:07.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2729,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2729,"uuid":"9e0a89b6-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["qmZAQPIWRQ","jcysQxK","VHiPxbdz","mcCglShNA","pThC","Pgwkmdcz"],"boolField":true,"intField":819,"numField":-238.21306867581904,"objField":{"LLPwpfh":3721507436919764677,"NhFQ":8287396219829970214,"PiTzUSdIPL":4398117235121333668,"kQbHzbHYHm":-5407764710230878072,"klZisrfoP":-232002001814023323},"stringDateField":"1989-06-04","stringDateTimeField":"1991-10-27T22:53:19Z","stringField":"suDwQBj","stringTimeField":"11:57:12.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":819,"numField":-238.21306867581904,"stringDateField":"1989-06-04","stringDateTimeField":"1991-10-27T22:53:19Z","stringField":"suDwQBj","stringTimeField":"11:57:12.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2730,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2730,"uuid":"9e0a89b6-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ABxFmcCzP","LjNv","gaJGGdHIL","xtrTUwDkTI","mtxlfajFxG","eQbSUrK"],"boolField":true,"intField":-768,"numField":472.6370518000922,"objField":{"WeOIVU":7699061623551095557,"fRgKJIKua":-4299891611458370198},"stringDateField":"1952-08-27","stringDateTimeField":"1943-08-02T05:13:07Z","stringField":"teQLgeeQX","stringTimeField":"09:19:10.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":-768,"numField":472.6370518000922,"stringDateField":"1952-08-27","stringDateTimeField":"1943-08-02T05:13:07Z","stringField":"teQLgeeQX","stringTimeField":"09:19:10.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2731,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2731,"uuid":"9e0a89b6-5655-11ee-a401-675ed0f8e89b"},"arrayField":["oeGxFG","HRKbbkrEYV","wpaszpBrH","ByGpAyFYA","qfqjSCl","XLQg","wlvG"],"boolField":true,"intField":559,"numField":-181.98091662040173,"objField":{"DjPcMUQL":1985406968652851719,"PmDHe":8638399980899341717,"QTpy":2144283049144208966,"WoCaDPQks":8145742798656953847,"dsrVAJjn":8419368798334328933,"iDTJUR":8120851311329462174,"jBHnXyHWT":6831961019667512647,"qSZl":-2094128603683002332,"yPyZvr":-8044899152885320921},"stringDateField":"1976-05-26","stringDateTimeField":"2018-12-15T05:23:13Z","stringField":"MdwQbDJAQ","stringTimeField":"13:14:10.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":559,"numField":-181.98091662040173,"stringDateField":"1976-05-26","stringDateTimeField":"2018-12-15T05:23:13Z","stringField":"MdwQbDJAQ","stringTimeField":"13:14:10.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2732,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2732,"uuid":"9e0a89b6-5655-11ee-a801-675ed0f8e89b"},"arrayField":["XvOxXparZO","nKBNngoBIm","IesGKp","HWRIRS","FvGJm","PeRcFG","CiPnsEExmT","bZgs","YyWXMFvv","gNUx"],"boolField":false,"intField":-629,"numField":951.0207782652676,"objField":{"iAfNPRlQIv":-3794597295020689833,"jditq":1779995312690811927,"lWzrOVQoYx":5102606970737990896},"stringDateField":"2009-02-20","stringDateTimeField":"1946-04-19T22:45:27Z","stringField":"Uonhovcd","stringTimeField":"03:00:03.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":-629,"numField":951.0207782652676,"stringDateField":"2009-02-20","stringDateTimeField":"1946-04-19T22:45:27Z","stringField":"Uonhovcd","stringTimeField":"03:00:03.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2733,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2733,"uuid":"9e0a89b6-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["FtIMheNk","qQeIirVu","TssK","uELj","oXgnbvNNPg","zYBDQj"],"boolField":true,"intField":454,"numField":3.831000076965241,"objField":{"AlMo":1254590566595835024,"EcOmuIE":3221046851777422754,"TVxkjgvGa":7247231584665611156,"UMtdZqv":2735381385254789034,"rSHht":3609852137343253029},"stringDateField":"1909-12-03","stringDateTimeField":"1911-06-11T17:45:00Z","stringField":"OTdgXHdaxJ","stringTimeField":"17:22:52.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":454,"numField":3.831000076965241,"stringDateField":"1909-12-03","stringDateTimeField":"1911-06-11T17:45:00Z","stringField":"OTdgXHdaxJ","stringTimeField":"17:22:52.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2734,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2734,"uuid":"9e0a89b6-5655-11ee-b001-675ed0f8e89b"},"arrayField":["Yxph","CvzKUxEB","TDgQwTcWji","hUtG","PSAOPjpbVS","gNSetcdUjp","FnEwizTMrU","xMoCHyJfb"],"boolField":false,"intField":-765,"numField":-694.157496759843,"objField":{"EjYjdz":488447278805260304,"NNaNQM":551086129740238530,"Porr":-5034778692628259832},"stringDateField":"1928-05-20","stringDateTimeField":"1904-07-31T14:07:08Z","stringField":"eduShTZa","stringTimeField":"09:50:55.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":-765,"numField":-694.157496759843,"stringDateField":"1928-05-20","stringDateTimeField":"1904-07-31T14:07:08Z","stringField":"eduShTZa","stringTimeField":"09:50:55.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2735,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2735,"uuid":"9e0a89b6-5655-11ee-b401-675ed0f8e89b"},"arrayField":["yqfQvY","fDkjgfk"],"boolField":true,"intField":167,"numField":849.204813644939,"objField":{"gRduhV":7474745096438552066},"stringDateField":"1979-12-20","stringDateTimeField":"1908-08-15T21:17:13Z","stringField":"oTiM","stringTimeField":"23:22:16.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":167,"numField":849.204813644939,"stringDateField":"1979-12-20","stringDateTimeField":"1908-08-15T21:17:13Z","stringField":"oTiM","stringTimeField":"23:22:16.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2736,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2736,"uuid":"9e0a89b6-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ftrRZ","kxXHDHzC","QQAV","jcmsTD","NPVmlBenAu","iIqa"],"boolField":false,"intField":639,"numField":535.3011814048449,"objField":{"AOmvsa":-2287483393799377167,"RTRLFSW":-3185431575987003985,"TBEWQc":8979534161689913852,"ioequDY":4597450875113319855,"porF":-7444257850283037868,"qGYDT":3222521510212070468,"wbbrY":6666563569945179493,"zLwI":-6741720737496984474,"zaYWQUycOY":-102871286487245989},"stringDateField":"1974-11-09","stringDateTimeField":"1908-12-06T16:13:19Z","stringField":"SQry","stringTimeField":"23:50:45.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":639,"numField":535.3011814048449,"stringDateField":"1974-11-09","stringDateTimeField":"1908-12-06T16:13:19Z","stringField":"SQry","stringTimeField":"23:50:45.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2737,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2737,"uuid":"9e0a89b6-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["uHQDZAwqJo","LSSzyQFrlz","ZXmb","ibfj","gYEJ","ukMJDj","NSCjersDQD","CrRxZLX","PIezWl"],"boolField":false,"intField":792,"numField":-656.2429780732139,"objField":{"XKSEekBxd":9166248546415619636,"XMaWlIE":-1963140569061908852},"stringDateField":"1935-01-06","stringDateTimeField":"2006-11-18T02:41:34Z","stringField":"ACFeUjRjZ","stringTimeField":"06:29:54.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763702Z","intField":792,"numField":-656.2429780732139,"stringDateField":"1935-01-06","stringDateTimeField":"2006-11-18T02:41:34Z","stringField":"ACFeUjRjZ","stringTimeField":"06:29:54.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2738,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2738,"uuid":"9e0a89b7-5655-11ee-8001-675ed0f8e89b"},"arrayField":["xrdRzqHQX"],"boolField":false,"intField":-83,"numField":106.11948338727272,"objField":{"EhvTbkKfN":-3798701081515010501,"HTwu":252046293133874329,"HXyY":7008185165645480635,"ZuXuFz":-1777477327661815247,"jyNYHlaTu":-2998806470958929580,"yNINQBQhg":-743669795196279917},"stringDateField":"1998-06-07","stringDateTimeField":"1960-10-03T20:28:05Z","stringField":"gyZrGAZTSq","stringTimeField":"21:28:08.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":-83,"numField":106.11948338727272,"stringDateField":"1998-06-07","stringDateTimeField":"1960-10-03T20:28:05Z","stringField":"gyZrGAZTSq","stringTimeField":"21:28:08.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2739,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2739,"uuid":"9e0a89b7-5655-11ee-8401-675ed0f8e89b"},"arrayField":["TTAMM","DsXn"],"boolField":true,"intField":655,"numField":288.6312842503846,"objField":{"DbbQng":-8911239545488044720,"UuGKirXsi":-4186381851831764895,"iLEP":4460611079650725628,"rZsiOtACzb":6046749317230964735,"ueAurkftrw":-1496064070642928208,"wLXIEi":-277704439747103602},"stringDateField":"1962-03-06","stringDateTimeField":"1972-07-18T22:35:12Z","stringField":"HsKQzHJeJx","stringTimeField":"08:25:01.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":655,"numField":288.6312842503846,"stringDateField":"1962-03-06","stringDateTimeField":"1972-07-18T22:35:12Z","stringField":"HsKQzHJeJx","stringTimeField":"08:25:01.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2740,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2740,"uuid":"9e0a89b7-5655-11ee-8801-675ed0f8e89b"},"arrayField":["NeCovF","oIrb","wJkJvALa","bEuMQbsCxS","CoTv"],"boolField":false,"intField":-419,"numField":-119.07010936725491,"objField":{"MrTF":-1509859298510710363,"WDIKke":5180439699939986084,"fQgwdzKwy":-1331661120793603550,"glSnttcOOS":9171919843060523414,"tOjU":-1912469062610161640},"stringDateField":"1987-04-24","stringDateTimeField":"1917-10-25T03:26:02Z","stringField":"RLRQEkkM","stringTimeField":"16:22:47.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":-419,"numField":-119.07010936725491,"stringDateField":"1987-04-24","stringDateTimeField":"1917-10-25T03:26:02Z","stringField":"RLRQEkkM","stringTimeField":"16:22:47.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2741,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2741,"uuid":"9e0a89b7-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["nAgzdjo","qhSEq","fUUtIaPQM","QQfhjHsGDZ","VpfPHmR","RNpwXqoO","woZNjrDfY","ksYyuuDI","ywCVub"],"boolField":false,"intField":-232,"numField":-264.36286624536086,"objField":{"SOCEFBs":-1457514110773774107},"stringDateField":"1950-03-28","stringDateTimeField":"2014-06-24T06:35:04Z","stringField":"CxAZuqdwW","stringTimeField":"04:16:07.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":-232,"numField":-264.36286624536086,"stringDateField":"1950-03-28","stringDateTimeField":"2014-06-24T06:35:04Z","stringField":"CxAZuqdwW","stringTimeField":"04:16:07.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2742,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2742,"uuid":"9e0a89b7-5655-11ee-9001-675ed0f8e89b"},"arrayField":["oWSS","YDgiyi","WRQCvUs","IVFl"],"boolField":true,"intField":618,"numField":-513.6416977272934,"objField":{"ASXDQot":-3341818621756537765,"BJqrIs":-6242601190057609214,"FHWjRG":8952635229663840457,"FwucJTmot":8015259126591399831,"PptlKUnwjH":-7635318002781333528,"VFNSVSlY":-6402463636522758655,"VVEaOdZdD":-1848037577816533867,"rUuPFKN":-4996580606605714951,"wsjRZQE":3586893526877053614,"zBIiQFpyc":1529559770085797339},"stringDateField":"1952-03-10","stringDateTimeField":"1991-12-23T23:25:26Z","stringField":"RDxMjRRNM","stringTimeField":"21:38:58.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":618,"numField":-513.6416977272934,"stringDateField":"1952-03-10","stringDateTimeField":"1991-12-23T23:25:26Z","stringField":"RDxMjRRNM","stringTimeField":"21:38:58.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2743,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2743,"uuid":"9e0a89b7-5655-11ee-9401-675ed0f8e89b"},"arrayField":["tmWY"],"boolField":false,"intField":-554,"numField":-811.915193660799,"objField":{"HwghmGkdla":-60217465986230639,"PetSencdO":-3782857731632441457,"UUHaQJp":4876919747531304095,"VOzhSLf":-6913005219419524515,"vYgnuDYuD":4432583854692182438},"stringDateField":"1929-06-12","stringDateTimeField":"2010-04-22T03:22:13Z","stringField":"zfSWebTaR","stringTimeField":"18:06:29.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":-554,"numField":-811.915193660799,"stringDateField":"1929-06-12","stringDateTimeField":"2010-04-22T03:22:13Z","stringField":"zfSWebTaR","stringTimeField":"18:06:29.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2744,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2744,"uuid":"9e0a89b7-5655-11ee-9801-675ed0f8e89b"},"arrayField":["jakO","ssjdTLkh","ECot","gBtOXGxbL","jlBX","lCJKMphU","ZEytzZDawk","FjnnS","zXZWH"],"boolField":false,"intField":993,"numField":-26.41249009969304,"objField":{"NuiIQczzG":3330035308150521032,"YvprgI":3863856888785256240,"uYMPnhA":-5746542133650342697,"yNpr":-5628953086305611},"stringDateField":"1926-07-02","stringDateTimeField":"1989-01-12T06:52:26Z","stringField":"KgtFYNJeQR","stringTimeField":"21:19:28.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":993,"numField":-26.41249009969304,"stringDateField":"1926-07-02","stringDateTimeField":"1989-01-12T06:52:26Z","stringField":"KgtFYNJeQR","stringTimeField":"21:19:28.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2745,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2745,"uuid":"9e0a89b7-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["qtxfVNJlW"],"boolField":false,"intField":-219,"numField":-361.4901218470389,"objField":{"DLTuPUTY":1699529244525742727,"IAVacErsj":2105513755721224231,"JviOpC":-8969964127204229916,"SELmyq":-2244180532416135082,"TovRUy":-2079746756633685767,"tLjXdRaO":4812036838816242747,"vjWMXOsaGj":-1082548321889077497},"stringDateField":"1996-12-01","stringDateTimeField":"2009-11-06T12:52:05Z","stringField":"BvQYJdvE","stringTimeField":"17:49:08.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":-219,"numField":-361.4901218470389,"stringDateField":"1996-12-01","stringDateTimeField":"2009-11-06T12:52:05Z","stringField":"BvQYJdvE","stringTimeField":"17:49:08.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2746,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2746,"uuid":"9e0a89b7-5655-11ee-a001-675ed0f8e89b"},"arrayField":["VffsswaoD","rtOq","MHhXCvXuV","BHHmN","ErcpN","ScqQFPEf","uIBGNSEaD","QYmHfvGc"],"boolField":false,"intField":195,"numField":-722.1622858070393,"objField":{"QZPbtmEcfr":1894485271879197508,"bUWN":4327043055869224735,"jRUxqSeVDU":-7549706054679063593,"myOmvdING":8203153170799007389},"stringDateField":"2021-10-31","stringDateTimeField":"1934-05-10T02:42:43Z","stringField":"bnPp","stringTimeField":"08:43:43.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":195,"numField":-722.1622858070393,"stringDateField":"2021-10-31","stringDateTimeField":"1934-05-10T02:42:43Z","stringField":"bnPp","stringTimeField":"08:43:43.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2747,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2747,"uuid":"9e0a89b7-5655-11ee-a401-675ed0f8e89b"},"arrayField":["eoiu","CZjCl","SsSDvVw","EZBSs","yCTo","TXUoAS","liDKGHJF"],"boolField":true,"intField":-624,"numField":-670.9456259359649,"objField":{"HcKDAiuY":8833881256574739494,"TLEJuMlc":1575476411947248656,"epEBoc":4702913793519654891},"stringDateField":"1970-10-03","stringDateTimeField":"1951-11-04T07:08:15Z","stringField":"yqxWmWJl","stringTimeField":"06:31:01.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":-624,"numField":-670.9456259359649,"stringDateField":"1970-10-03","stringDateTimeField":"1951-11-04T07:08:15Z","stringField":"yqxWmWJl","stringTimeField":"06:31:01.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2748,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2748,"uuid":"9e0a89b7-5655-11ee-a801-675ed0f8e89b"},"arrayField":["usmD","XybSiXE","YLLTIMDm"],"boolField":true,"intField":-63,"numField":638.7185719363877,"objField":{"EnBRQWoZoH":-4124113018031095641,"QKlRHxqSe":-6255683740350843940,"SKeYQNTos":-4904868557995851966},"stringDateField":"2008-06-27","stringDateTimeField":"1960-07-01T14:40:37Z","stringField":"fyhVYBsd","stringTimeField":"05:22:15.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":-63,"numField":638.7185719363877,"stringDateField":"2008-06-27","stringDateTimeField":"1960-07-01T14:40:37Z","stringField":"fyhVYBsd","stringTimeField":"05:22:15.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2749,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2749,"uuid":"9e0a89b7-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["eVUr","AwwfynQxyI","IiASTxDz"],"boolField":false,"intField":284,"numField":-602.5133977589393,"objField":{"BvXs":-4460643166025593829,"DRjpyifkzG":-7671266681222913816,"EtOIw":-5434849504162714663,"KCJJuZjtv":8999105257989865403,"ToZgsb":-5402500953217269583,"bLmHBzSg":785928162448801234,"eaKR":-4546458413042692010,"ilvajaxy":4328806767484719057,"lXLsprCFBp":-5386127016952877942,"ohSqBqkOi":815062130344668408},"stringDateField":"1992-11-23","stringDateTimeField":"1961-08-04T16:09:52Z","stringField":"IExPmWtpr","stringTimeField":"02:11:35.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":284,"numField":-602.5133977589393,"stringDateField":"1992-11-23","stringDateTimeField":"1961-08-04T16:09:52Z","stringField":"IExPmWtpr","stringTimeField":"02:11:35.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2750,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2750,"uuid":"9e0a89b7-5655-11ee-b001-675ed0f8e89b"},"arrayField":["SDHu","KPpbutpVgK"],"boolField":true,"intField":178,"numField":242.1676952843657,"objField":{"FKWP":851017347482902106,"LmaiEq":5180893496936942354,"vHRNHvNr":3565409090434926591},"stringDateField":"2008-02-11","stringDateTimeField":"1917-06-11T18:47:59Z","stringField":"umxw","stringTimeField":"03:55:41.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":178,"numField":242.1676952843657,"stringDateField":"2008-02-11","stringDateTimeField":"1917-06-11T18:47:59Z","stringField":"umxw","stringTimeField":"03:55:41.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2751,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2751,"uuid":"9e0a89b7-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ILKTj","ykGmBgmQeK","OGSdrUshFM"],"boolField":false,"intField":-694,"numField":210.7515394220929,"objField":{"ARtUJmMHk":-1888409124476645027,"Cdrg":-5009274360589393749,"DidElhDKg":1316851945316956688,"aJkTZ":2030429018622079231,"cHZy":-4703834528942135117,"dshPIiNJmS":70675957082238388,"fBNkq":8795328271613501908,"mttaJFPjd":-3551191972585741883,"ybWhHM":-7486493682748600143},"stringDateField":"1917-03-02","stringDateTimeField":"2021-05-18T14:48:06Z","stringField":"akUkKtyOte","stringTimeField":"11:33:11.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":-694,"numField":210.7515394220929,"stringDateField":"1917-03-02","stringDateTimeField":"2021-05-18T14:48:06Z","stringField":"akUkKtyOte","stringTimeField":"11:33:11.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2752,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2752,"uuid":"9e0a89b7-5655-11ee-b801-675ed0f8e89b"},"arrayField":["hqmnGSbhYn","JOJRm","PFGvRP","SBDfZ","itxGEpCE","bjyoY","QWXdjYPvA","MfrZZFcS"],"boolField":true,"intField":518,"numField":343.4557083655365,"objField":{"CgSjjat":8330315136389700402,"JOyffHq":-2117371256487788354,"SCNcD":-4299190231180558403,"edeePFVSb":-2808191898733874616},"stringDateField":"1968-08-22","stringDateTimeField":"1966-03-25T10:34:03Z","stringField":"AJciOYXPV","stringTimeField":"05:26:55.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":518,"numField":343.4557083655365,"stringDateField":"1968-08-22","stringDateTimeField":"1966-03-25T10:34:03Z","stringField":"AJciOYXPV","stringTimeField":"05:26:55.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2753,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2753,"uuid":"9e0a89b7-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["WUiRE","pgLLrNxDZR","nlsWijnRoC","ikcKWYVGB","dlAbKON"],"boolField":false,"intField":135,"numField":817.5207618002734,"objField":{"LjmjpgvDo":7529328111633419426,"NAngTKdc":-6724408565387650703,"QjuNQ":4920223059987768718,"SGcojgFA":-4299769066362923903,"SqZImK":4558481737719507233,"WZeXEE":-8953692925803011466,"dBIyps":476775127320107206},"stringDateField":"1955-06-05","stringDateTimeField":"2021-08-26T19:02:01Z","stringField":"oooDOczbEP","stringTimeField":"16:31:52.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763703Z","intField":135,"numField":817.5207618002734,"stringDateField":"1955-06-05","stringDateTimeField":"2021-08-26T19:02:01Z","stringField":"oooDOczbEP","stringTimeField":"16:31:52.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2754,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2754,"uuid":"9e0a89b8-5655-11ee-8001-675ed0f8e89b"},"arrayField":["vLqVe","ItLckwAR","TKsSNIMe","WlAfDF","xyOIdEN","hFdEd","nAqABMMLzV"],"boolField":true,"intField":645,"numField":606.748385632305,"objField":{"SwdbhF":4751036423436995266,"YwFSb":-472012075068004433,"iuAPb":8379207701787989785,"qjqdcW":-2764741161224704323,"qwOTFVNye":-970906810671916257,"xVQC":2381680554646125272,"yDNtLnhbI":1499006577848710060},"stringDateField":"1956-05-25","stringDateTimeField":"1937-08-17T09:28:02Z","stringField":"vgnCPkuiIB","stringTimeField":"14:48:10.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":645,"numField":606.748385632305,"stringDateField":"1956-05-25","stringDateTimeField":"1937-08-17T09:28:02Z","stringField":"vgnCPkuiIB","stringTimeField":"14:48:10.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2755,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2755,"uuid":"9e0a89b8-5655-11ee-8401-675ed0f8e89b"},"arrayField":["iEsjvxRy","wNSBB","flxhxudB"],"boolField":false,"intField":-893,"numField":-916.8153532614176,"objField":{"AMvf":-4240277778331082893,"OkfxW":9010288281962062676,"QCCT":-2147667332840869209,"UEdPw":4973033015775721077,"XUNVsFn":-7960433154476460138,"lCeUtUoIP":2795692371865067938,"pCXTUVcn":-4067362530347573122,"wcbxpji":2480301302147237910},"stringDateField":"1900-10-05","stringDateTimeField":"1974-04-11T00:50:33Z","stringField":"QJwox","stringTimeField":"23:33:37.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":-893,"numField":-916.8153532614176,"stringDateField":"1900-10-05","stringDateTimeField":"1974-04-11T00:50:33Z","stringField":"QJwox","stringTimeField":"23:33:37.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2756,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2756,"uuid":"9e0a89b8-5655-11ee-8801-675ed0f8e89b"},"arrayField":["NBoQEB"],"boolField":true,"intField":313,"numField":971.8322462291702,"objField":{"asnCA":-4447952100995413601,"dsLEC":5968991653081060890,"nSMNXpuR":3205307259048640413,"soAyt":-938290081482481089},"stringDateField":"1998-09-04","stringDateTimeField":"1915-08-08T22:04:59Z","stringField":"OyLAAbTkFU","stringTimeField":"17:36:01.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":313,"numField":971.8322462291702,"stringDateField":"1998-09-04","stringDateTimeField":"1915-08-08T22:04:59Z","stringField":"OyLAAbTkFU","stringTimeField":"17:36:01.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2757,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2757,"uuid":"9e0a89b8-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["NYulMp","uYUX","uDkYs","ZWNZHXM","vmmPBXpFGO","LpUkaO","LMoWfOiSuz"],"boolField":true,"intField":262,"numField":965.3051791343454,"objField":{"ApAKjjFJe":-4473259830465033331,"UbaAFyyqu":-3659958879900260063,"WOJTa":-1426587128307031965,"pzeYphtV":2769436183727266011,"qXCHAx":1443755988544974031,"yxwJxOArH":-7263967293450539832},"stringDateField":"2022-12-15","stringDateTimeField":"2008-11-09T20:08:08Z","stringField":"GHAp","stringTimeField":"21:00:23.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":262,"numField":965.3051791343454,"stringDateField":"2022-12-15","stringDateTimeField":"2008-11-09T20:08:08Z","stringField":"GHAp","stringTimeField":"21:00:23.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2758,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2758,"uuid":"9e0a89b8-5655-11ee-9001-675ed0f8e89b"},"arrayField":["Iwfghq","sGFiFw","ONzQYl","weAJUln"],"boolField":true,"intField":-249,"numField":77.5476215018509,"objField":{"ILBREqllaf":-4589979298877502634,"LHLCaOuLWs":5238227764063272004,"MiAJxS":-9095976865401573421,"SIPjHbz":-6903041454567882071,"YsBAojoJCi":-5397100400555603350,"nSxPD":2641161533451998861,"qjzlKqV":9036474547124814784},"stringDateField":"2019-11-23","stringDateTimeField":"1980-09-10T09:22:41Z","stringField":"EzlQKm","stringTimeField":"02:36:42.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":-249,"numField":77.5476215018509,"stringDateField":"2019-11-23","stringDateTimeField":"1980-09-10T09:22:41Z","stringField":"EzlQKm","stringTimeField":"02:36:42.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2759,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2759,"uuid":"9e0a89b8-5655-11ee-9401-675ed0f8e89b"},"arrayField":["yOwIDRWA","znZbM","qUkedxSdl","BrjAA","eFVMn","pCei","nNTfcgwVof"],"boolField":false,"intField":431,"numField":-172.5006903615407,"objField":{"YZphLAXKT":-2886363517911683551,"jPrMCpSPR":2441191749928915233,"tGEaYPiVze":-342248780541325916},"stringDateField":"1918-08-12","stringDateTimeField":"1924-11-15T17:42:38Z","stringField":"YDkJp","stringTimeField":"21:38:28.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":431,"numField":-172.5006903615407,"stringDateField":"1918-08-12","stringDateTimeField":"1924-11-15T17:42:38Z","stringField":"YDkJp","stringTimeField":"21:38:28.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2760,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2760,"uuid":"9e0a89b8-5655-11ee-9801-675ed0f8e89b"},"arrayField":["yhAN","NXITxxenrx"],"boolField":true,"intField":653,"numField":-316.1873410786551,"objField":{"FBJsjKvTF":-6953463750182661692,"HTVqeGXew":1105823357335070367,"YBbGFBhl":2351842687721389672,"jrtsCH":-8611780046574822440,"kLPmdBBA":3756243231387723780,"xCUYDp":-8382907696885689139},"stringDateField":"1938-12-08","stringDateTimeField":"1989-03-20T21:59:12Z","stringField":"kDQcu","stringTimeField":"07:21:46.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":653,"numField":-316.1873410786551,"stringDateField":"1938-12-08","stringDateTimeField":"1989-03-20T21:59:12Z","stringField":"kDQcu","stringTimeField":"07:21:46.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2761,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2761,"uuid":"9e0a89b8-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["qqvsBOw","RoZFRjQrs","DahMjhFMgJ"],"boolField":false,"intField":295,"numField":620.5889266633642,"objField":{"ApPPsf":-6748187891025011982,"XZYYzO":3728150986725010164,"adNhMtU":1983844236731239907,"lQqy":9163551389837144543,"vbYhlsYlR":-8592819999984012299,"zDXcH":4556366280195530255},"stringDateField":"1988-02-16","stringDateTimeField":"1909-08-07T10:31:51Z","stringField":"zRVvtpsEAb","stringTimeField":"04:57:32.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":295,"numField":620.5889266633642,"stringDateField":"1988-02-16","stringDateTimeField":"1909-08-07T10:31:51Z","stringField":"zRVvtpsEAb","stringTimeField":"04:57:32.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2762,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2762,"uuid":"9e0a89b8-5655-11ee-a001-675ed0f8e89b"},"arrayField":["fltaauFBw","lTkPOqyloD","IWSIPIg","pCvjDQpWcW"],"boolField":false,"intField":-892,"numField":-561.1838279018458,"objField":{"IXgzEKTOn":6210623888127988355,"OrUTVx":3082832956098947145,"YOfdJMKVhM":-3028248364291374463,"ZPQjFQqUif":-1563400055005270075,"pKBAr":107969688865665501},"stringDateField":"1976-01-24","stringDateTimeField":"1941-06-26T04:32:03Z","stringField":"OONCgRBwm","stringTimeField":"00:41:47.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":-892,"numField":-561.1838279018458,"stringDateField":"1976-01-24","stringDateTimeField":"1941-06-26T04:32:03Z","stringField":"OONCgRBwm","stringTimeField":"00:41:47.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2763,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2763,"uuid":"9e0a89b8-5655-11ee-a401-675ed0f8e89b"},"arrayField":["HxTPQPlu","Mfer","zJBHzm","jBGbuehqYP","lLIdyTgk","PCCjrSKu","LcGCrR","ZJzMm"],"boolField":true,"intField":-466,"numField":-556.6236951035037,"objField":{"JhmKvKtuxl":9114134340009914415,"scBPVMYN":-1443117814793562461,"zErrAI":-44505723165053673},"stringDateField":"1901-01-04","stringDateTimeField":"1990-02-14T00:55:52Z","stringField":"KwCqtf","stringTimeField":"00:07:55.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":-466,"numField":-556.6236951035037,"stringDateField":"1901-01-04","stringDateTimeField":"1990-02-14T00:55:52Z","stringField":"KwCqtf","stringTimeField":"00:07:55.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2764,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2764,"uuid":"9e0a89b8-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ECUBCXiH"],"boolField":false,"intField":335,"numField":-739.7155665360489,"objField":{"omdrn":7001422797311105588},"stringDateField":"1931-08-29","stringDateTimeField":"1911-06-11T02:44:38Z","stringField":"OZkdcnpn","stringTimeField":"10:16:43.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":335,"numField":-739.7155665360489,"stringDateField":"1931-08-29","stringDateTimeField":"1911-06-11T02:44:38Z","stringField":"OZkdcnpn","stringTimeField":"10:16:43.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2765,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2765,"uuid":"9e0a89b8-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["FeZRKHT"],"boolField":true,"intField":790,"numField":483.14352308407393,"objField":{"ETaR":3566225219962289595,"OweNkH":-6025712736085658707,"SJEiiu":2163557213061397004,"nAguxqp":8277726528074304819,"rPda":4240966971101383738},"stringDateField":"1965-06-30","stringDateTimeField":"1925-12-20T10:26:19Z","stringField":"mXfMpZ","stringTimeField":"11:27:35.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":790,"numField":483.14352308407393,"stringDateField":"1965-06-30","stringDateTimeField":"1925-12-20T10:26:19Z","stringField":"mXfMpZ","stringTimeField":"11:27:35.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2766,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2766,"uuid":"9e0a89b8-5655-11ee-b001-675ed0f8e89b"},"arrayField":["FqigMoUe"],"boolField":false,"intField":-414,"numField":975.2541811131648,"objField":{"dfaPon":-6236449751687956551,"gXXV":588346987342543148,"nCRNbdTXs":-6152678315721255679,"rTReZI":-5192332355583563040,"ssKHh":-3832146720018788299,"zHnRcg":5475524953587200395},"stringDateField":"2021-07-01","stringDateTimeField":"1901-02-06T12:50:05Z","stringField":"Cndl","stringTimeField":"21:16:56.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":-414,"numField":975.2541811131648,"stringDateField":"2021-07-01","stringDateTimeField":"1901-02-06T12:50:05Z","stringField":"Cndl","stringTimeField":"21:16:56.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2767,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2767,"uuid":"9e0a89b8-5655-11ee-b401-675ed0f8e89b"},"arrayField":["gNFYAixTUn","rZUZZ","tsBfGC"],"boolField":false,"intField":-420,"numField":385.55788276439927,"objField":{"EabPzftk":5152425151926906181,"KriwPHqH":-1904976329798025096,"LWjTPH":7164858991680542736,"LjgBwqkw":1308319771485662302,"NZrmlnl":3628699493374525112,"SuZenKgxz":-827310313897998552,"fEcp":-7721515438028162138,"kJQDEGCTI":-7616330697676082756,"wmKhuy":5900141988202973470},"stringDateField":"1904-11-09","stringDateTimeField":"1927-11-17T04:30:06Z","stringField":"LhXeGLNi","stringTimeField":"01:11:36.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":-420,"numField":385.55788276439927,"stringDateField":"1904-11-09","stringDateTimeField":"1927-11-17T04:30:06Z","stringField":"LhXeGLNi","stringTimeField":"01:11:36.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2768,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2768,"uuid":"9e0a89b8-5655-11ee-b801-675ed0f8e89b"},"arrayField":["UZhMEDERn","nqJIXpJLsx","iRxVSSSaPS","ChxTY","UqvpqfYc","pIZzuSZl","VYArVPItu","yaEj"],"boolField":true,"intField":162,"numField":-386.055258952405,"objField":{"GRXe":5455882446795080300,"HsVlHOYt":7997146327966959330,"KAnrPqPk":-2494610758182054490,"augWF":-7739752188162924987,"hMMOf":387568283577276408,"mPhqV":-6451183234272938493,"nFtYzCah":-253252050322356421,"ozlSf":-6425488210208515816},"stringDateField":"1961-03-04","stringDateTimeField":"1951-06-16T06:26:51Z","stringField":"XFChHwOP","stringTimeField":"18:43:18.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":162,"numField":-386.055258952405,"stringDateField":"1961-03-04","stringDateTimeField":"1951-06-16T06:26:51Z","stringField":"XFChHwOP","stringTimeField":"18:43:18.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2769,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2769,"uuid":"9e0a89b8-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["xUCmkyiSfD","sQYFHtEZnw","qBaEhyofR"],"boolField":true,"intField":-545,"numField":-214.0624444674526,"objField":{"JmfP":-2951948935139508555,"Zzyn":4897912256236774281,"aEeCiW":915159561259970801,"acUrAnM":4437618206376460196,"bEUlQA":3036103500606815649,"lZUzYE":-8801427358032881602,"mHnAPTIgr":-4690929697767918147,"nAwWXovw":-5854979639306665946,"sgrGpZDiYG":-8438644101959646158,"xCoq":-1658626307837592751},"stringDateField":"2011-11-11","stringDateTimeField":"1912-12-15T18:10:57Z","stringField":"gihDyFs","stringTimeField":"05:45:13.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763704Z","intField":-545,"numField":-214.0624444674526,"stringDateField":"2011-11-11","stringDateTimeField":"1912-12-15T18:10:57Z","stringField":"gihDyFs","stringTimeField":"05:45:13.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2770,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2770,"uuid":"9e0a89b9-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wTVQntwxaS","gxzxcG","ZXNOKZP","OmML","hdxvpg","arDiPUYZQF","XzoqkFXpRx"],"boolField":false,"intField":-765,"numField":-904.3200415464988,"objField":{"AWUD":4239297977182055664,"IaODjnd":-1360694589861761693,"ImCwcIDsr":2325473431075990816,"YEdTCO":2892576371898625938,"pSdVyJQ":7245529007524738585},"stringDateField":"1932-12-01","stringDateTimeField":"1933-05-19T15:22:14Z","stringField":"XcCWQ","stringTimeField":"16:38:01.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":-765,"numField":-904.3200415464988,"stringDateField":"1932-12-01","stringDateTimeField":"1933-05-19T15:22:14Z","stringField":"XcCWQ","stringTimeField":"16:38:01.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2771,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2771,"uuid":"9e0a89b9-5655-11ee-8401-675ed0f8e89b"},"arrayField":["BxZiVL","ympQm","OaazHtfKJO","tMdwNfHaxS","SOqzbL","tPRLfW"],"boolField":true,"intField":556,"numField":862.9988166479967,"objField":{"GLCIGt":-3296675848014757015,"MFRNtkONCJ":-5065311610138194229,"OEQvirgv":5552977904906298946,"cOYAVXt":-715867924618558426,"kKtyuPEQU":8727423153808282880},"stringDateField":"1972-10-08","stringDateTimeField":"1960-01-02T20:05:27Z","stringField":"dSvvxzKo","stringTimeField":"15:10:37.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":556,"numField":862.9988166479967,"stringDateField":"1972-10-08","stringDateTimeField":"1960-01-02T20:05:27Z","stringField":"dSvvxzKo","stringTimeField":"15:10:37.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2772,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2772,"uuid":"9e0a89b9-5655-11ee-8801-675ed0f8e89b"},"arrayField":["PXFCEax","geNcXdZ","guxbA","vIOmW"],"boolField":false,"intField":-941,"numField":475.7400308487829,"objField":{"GZQBi":1323504893912937026,"MNpjFZ":-1285649195770234783,"TCgqaUXEul":-974992558247229494,"ceiEmFxupT":-7423684469309035059,"rRArJx":-6629703098658686846,"xpsjAkrg":1952119258463581506},"stringDateField":"1913-05-30","stringDateTimeField":"2019-01-20T15:23:50Z","stringField":"Slyq","stringTimeField":"05:46:08.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":-941,"numField":475.7400308487829,"stringDateField":"1913-05-30","stringDateTimeField":"2019-01-20T15:23:50Z","stringField":"Slyq","stringTimeField":"05:46:08.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2773,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2773,"uuid":"9e0a89b9-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["CidUUL","vjUstInPB","wgwYuy","qtwSyIx","MjIGADeyu","gzmeJmANCG","zEaasmuW","UVTv","XlbPBQMoh","CEOc"],"boolField":false,"intField":928,"numField":-991.9241522072916,"objField":{"JPfQTa":8306777192751492726,"MlShaThybq":-3355688197228710550,"TCfTtmfL":8019341010732502494,"hpPQ":-3687350676444837598,"nkTCkYEKod":-87165495857117719},"stringDateField":"1949-10-09","stringDateTimeField":"1915-11-15T04:16:40Z","stringField":"ixlCVyJyF","stringTimeField":"21:33:22.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":928,"numField":-991.9241522072916,"stringDateField":"1949-10-09","stringDateTimeField":"1915-11-15T04:16:40Z","stringField":"ixlCVyJyF","stringTimeField":"21:33:22.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2774,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2774,"uuid":"9e0a89b9-5655-11ee-9001-675ed0f8e89b"},"arrayField":["fqtNDno","BNfoJHwiW","rQoSoOWYH","KOZFZL","HkRCSxKUaI","MlVFQzoQz","kycQCmtUFp","kUsYAXIYL","bjhX","jRkImXHRs"],"boolField":true,"intField":802,"numField":-173.38956440335485,"objField":{"FNnioC":-4895333401989328964,"KZmbE":6532845247693006499,"OJjo":-4210105099186233420,"RoDkqln":-1787551615224394543,"VdnkqfW":1824461291567582813,"lRIiRPZiTl":3579761016032219464,"roCqnnGC":-1341291249628842281},"stringDateField":"1956-10-10","stringDateTimeField":"1903-06-01T09:57:20Z","stringField":"rwgH","stringTimeField":"22:49:12.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":802,"numField":-173.38956440335485,"stringDateField":"1956-10-10","stringDateTimeField":"1903-06-01T09:57:20Z","stringField":"rwgH","stringTimeField":"22:49:12.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2775,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2775,"uuid":"9e0a89b9-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ABOq"],"boolField":false,"intField":778,"numField":713.4297914756922,"objField":{"DtbUqyFl":-7307725246483886410,"IhDaIhCqr":-74201712121341997,"KnzHJ":-8269719304859138688,"MdVLBHPjUs":-7443190828411209201,"YIpJsFJ":-4396665838082579913,"itOScxP":-3762782244857131021,"vtUroOvPZ":-3862467816666034884,"xiGoebQTg":5762696713873199415},"stringDateField":"1963-09-09","stringDateTimeField":"1964-01-09T22:48:55Z","stringField":"WhryOaj","stringTimeField":"03:22:17.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":778,"numField":713.4297914756922,"stringDateField":"1963-09-09","stringDateTimeField":"1964-01-09T22:48:55Z","stringField":"WhryOaj","stringTimeField":"03:22:17.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2776,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2776,"uuid":"9e0a89b9-5655-11ee-9801-675ed0f8e89b"},"arrayField":["hIdVBTUW","slvSDBQYsG","TpZMGkMdtU","lCoyp","bwKykkdf","HbwHsKd","QgKuWJG","TTTOgYiQx","ymMhdSrqK","bWnTpmqnga"],"boolField":true,"intField":981,"numField":837.3570549985516,"objField":{"RmTs":4515669884936495974,"YFJXFWohm":-27926084066786653,"gAfag":-7451167216080079681,"iZymjnWb":2658435004167306841,"koTs":-845176471873430221,"zckSvLOPY":-7438196737819649461},"stringDateField":"1909-10-25","stringDateTimeField":"1903-01-13T00:14:00Z","stringField":"RdhqTcq","stringTimeField":"03:15:15.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":981,"numField":837.3570549985516,"stringDateField":"1909-10-25","stringDateTimeField":"1903-01-13T00:14:00Z","stringField":"RdhqTcq","stringTimeField":"03:15:15.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2777,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2777,"uuid":"9e0a89b9-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["zsSg","ayrFlzOy","gjXkSWfAd","IAPSeGz","LorEIlF","PGmSASdb"],"boolField":false,"intField":227,"numField":-591.1828162875739,"objField":{"BQHR":-6435022612304113196,"EQNWi":6507376859272004720,"ORWMQyZDHu":9156063256985931948,"UDgFPdbj":-1236680821779444994,"VPOtRAh":6447459434600570481,"erOyt":4477942239279833884,"fDFHlAn":3507630017572024275,"nHWEKz":5968500301226001495,"yjIdTmt":-2516719925048503470},"stringDateField":"2001-04-01","stringDateTimeField":"1982-08-13T23:04:55Z","stringField":"ZPKsTgmPGK","stringTimeField":"01:27:25.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":227,"numField":-591.1828162875739,"stringDateField":"2001-04-01","stringDateTimeField":"1982-08-13T23:04:55Z","stringField":"ZPKsTgmPGK","stringTimeField":"01:27:25.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2778,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2778,"uuid":"9e0a89b9-5655-11ee-a001-675ed0f8e89b"},"arrayField":["svcm","froNxirYJn"],"boolField":true,"intField":-63,"numField":42.02231196656969,"objField":{"gmltvCbEi":-2795582560265602367,"rQMZFPTQAf":698502449168463007},"stringDateField":"1937-05-06","stringDateTimeField":"1961-12-21T05:20:35Z","stringField":"Bxmb","stringTimeField":"21:10:15.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":-63,"numField":42.02231196656969,"stringDateField":"1937-05-06","stringDateTimeField":"1961-12-21T05:20:35Z","stringField":"Bxmb","stringTimeField":"21:10:15.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2779,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2779,"uuid":"9e0a89b9-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ljbcer","lSCT","tPtIzIL","ZADoqs","nLbTuCy","fPRtFgKAud","fLWOQuyl","skgZ"],"boolField":true,"intField":51,"numField":898.9248244565813,"objField":{"BkLpiEGeh":-2817740737972911844,"GZBCrf":6985914531636830816,"HKFWVVmH":-5843216350010938183,"NSSAfB":-831205408543214882,"TJIw":825787865394167433,"rSAVzgDKiq":2050793596517990568},"stringDateField":"1943-05-15","stringDateTimeField":"1996-01-06T18:53:52Z","stringField":"DKKFT","stringTimeField":"23:56:33.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":51,"numField":898.9248244565813,"stringDateField":"1943-05-15","stringDateTimeField":"1996-01-06T18:53:52Z","stringField":"DKKFT","stringTimeField":"23:56:33.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2780,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2780,"uuid":"9e0a89b9-5655-11ee-a801-675ed0f8e89b"},"arrayField":["mMsLRFum","UpkVtV","JhkDKSdDYS","zybiWk","nuOSl","HHFR","dvJpDkRnBY","nVxd"],"boolField":true,"intField":186,"numField":979.2250049778512,"objField":{"JtPttaEEpW":-7003145507074582785},"stringDateField":"1954-06-11","stringDateTimeField":"2018-07-28T06:24:31Z","stringField":"bmQfwlIlJx","stringTimeField":"04:26:51.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":186,"numField":979.2250049778512,"stringDateField":"1954-06-11","stringDateTimeField":"2018-07-28T06:24:31Z","stringField":"bmQfwlIlJx","stringTimeField":"04:26:51.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2781,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2781,"uuid":"9e0a89b9-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ZwFUNl"],"boolField":true,"intField":633,"numField":234.4302819427937,"objField":{"MjLUlDUIPd":-4512443992333423925,"WsFZnzqqL":-8630293721098550491},"stringDateField":"1951-05-05","stringDateTimeField":"1905-01-06T20:36:06Z","stringField":"GAcG","stringTimeField":"06:21:29.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":633,"numField":234.4302819427937,"stringDateField":"1951-05-05","stringDateTimeField":"1905-01-06T20:36:06Z","stringField":"GAcG","stringTimeField":"06:21:29.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2782,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2782,"uuid":"9e0a89b9-5655-11ee-b001-675ed0f8e89b"},"arrayField":["UpLVWDPh","iYujRSI","SttUA","zppNSoM","zCyqDU","ttrs"],"boolField":false,"intField":-743,"numField":-948.63249143462,"objField":{"IGptuggV":-3027053341437623820,"JlQI":3042456168883618430,"eMmtooFUNs":3966015909165748778,"gOnEQkKr":5101187028349452891,"rCFBuMA":6887432592152096599,"tFmxLDJcT":-2320790046459663530,"wfNTJha":6926239973134340911},"stringDateField":"1907-12-04","stringDateTimeField":"1931-08-14T04:29:21Z","stringField":"xcbxqvecdG","stringTimeField":"08:56:37.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":-743,"numField":-948.63249143462,"stringDateField":"1907-12-04","stringDateTimeField":"1931-08-14T04:29:21Z","stringField":"xcbxqvecdG","stringTimeField":"08:56:37.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2783,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2783,"uuid":"9e0a89b9-5655-11ee-b401-675ed0f8e89b"},"arrayField":["XmetfziKL"],"boolField":true,"intField":962,"numField":809.4431894136542,"objField":{"RrRzOmBsZ":1785078393018031776,"nxUkwhapZ":-2329013274837443738,"tJgKX":-3260797622752668724,"vaDxs":-8507003183955985280},"stringDateField":"1922-04-20","stringDateTimeField":"1945-10-29T21:54:56Z","stringField":"ymCC","stringTimeField":"13:45:51.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":962,"numField":809.4431894136542,"stringDateField":"1922-04-20","stringDateTimeField":"1945-10-29T21:54:56Z","stringField":"ymCC","stringTimeField":"13:45:51.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2784,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2784,"uuid":"9e0a89b9-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ZhbhhBXfBB","QrEg","duXR","XcULkc","LtHHXSFSe"],"boolField":false,"intField":-470,"numField":920.502254100343,"objField":{"gbetMFlCX":-2396202632821633398},"stringDateField":"1976-02-08","stringDateTimeField":"1963-10-29T07:39:36Z","stringField":"TFSQd","stringTimeField":"15:39:20.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":-470,"numField":920.502254100343,"stringDateField":"1976-02-08","stringDateTimeField":"1963-10-29T07:39:36Z","stringField":"TFSQd","stringTimeField":"15:39:20.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2785,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2785,"uuid":"9e0a89b9-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["dCJQm"],"boolField":true,"intField":-646,"numField":-226.31190747855425,"objField":{"BWPSIadAo":5689961062590027130,"HrNJjypGt":-7375468957586665007,"adAse":6173852591022076585,"egYkxX":6694445930654164044,"nOznFAmBH":5502331217096086858,"sPkOrrrtJ":-1279508564100400317,"wcyjLPxVbK":4391116245215360407,"xbUlNSdT":5034042318488524326},"stringDateField":"1934-03-17","stringDateTimeField":"2017-12-04T23:09:38Z","stringField":"jixZum","stringTimeField":"15:51:40.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763705Z","intField":-646,"numField":-226.31190747855425,"stringDateField":"1934-03-17","stringDateTimeField":"2017-12-04T23:09:38Z","stringField":"jixZum","stringTimeField":"15:51:40.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2786,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2786,"uuid":"9e0a89ba-5655-11ee-8001-675ed0f8e89b"},"arrayField":["rkTAOlWeTD","SkfKVYhYki","VggiUsFi","oTAAVHFog","SbZvLHf","jliWy","TQWWvgKLM","sTxGiNd","tkibSF"],"boolField":true,"intField":-484,"numField":523.1467171546714,"objField":{"Gfwx":-6147392694270289570,"kSZvqn":-1387873546544483646,"tpfqv":-532201844094640637},"stringDateField":"2022-12-06","stringDateTimeField":"1906-09-15T07:42:22Z","stringField":"RroePUH","stringTimeField":"05:37:53.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":-484,"numField":523.1467171546714,"stringDateField":"2022-12-06","stringDateTimeField":"1906-09-15T07:42:22Z","stringField":"RroePUH","stringTimeField":"05:37:53.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2787,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2787,"uuid":"9e0a89ba-5655-11ee-8401-675ed0f8e89b"},"arrayField":["VFQp","bICSczxg","WRoPHLn","zLXIoyVtbR"],"boolField":true,"intField":-305,"numField":999.5838465831462,"objField":{"CYFslakrSq":3112652105482630190,"EoJwrZfl":-6084374408509727160,"RTMnJOy":-2993248117995582505,"UeesHffMiI":-6930581532192324234,"UfwVWZDeQO":8852327328845003344,"bTrYuwXUNe":-792789680530470177,"gAZsewYEh":-1124142049783496395,"jqok":-2029494561452900470,"wrmn":-446557957616522991},"stringDateField":"1978-08-11","stringDateTimeField":"1907-06-14T19:25:13Z","stringField":"eqTYaVx","stringTimeField":"17:07:05.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":-305,"numField":999.5838465831462,"stringDateField":"1978-08-11","stringDateTimeField":"1907-06-14T19:25:13Z","stringField":"eqTYaVx","stringTimeField":"17:07:05.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2788,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2788,"uuid":"9e0a89ba-5655-11ee-8801-675ed0f8e89b"},"arrayField":["vmzKMcymYw","aitJjN","rAhSwt","kDdiGEI"],"boolField":true,"intField":756,"numField":-617.4329711405072,"objField":{"KFLQkYRVkI":4562237667403697404,"ScZor":1479605696963872022,"VuOlsKmR":-4360761193870594991,"WzJhJaNv":-917351624450812586,"bIKKm":3224432768856242113,"gANO":7589409673611422136,"nricOwEm":-9119566798354786840,"pxtb":8449558032391428957,"xGjy":6433569971664708614},"stringDateField":"1965-09-09","stringDateTimeField":"1919-12-22T05:54:52Z","stringField":"tZNXNnA","stringTimeField":"02:06:17.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":756,"numField":-617.4329711405072,"stringDateField":"1965-09-09","stringDateTimeField":"1919-12-22T05:54:52Z","stringField":"tZNXNnA","stringTimeField":"02:06:17.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2789,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2789,"uuid":"9e0a89ba-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["zDouwhp","REaCnXgVL","PghIEyk","ZecGJyvB"],"boolField":false,"intField":430,"numField":696.1478895707065,"objField":{"AlABlSsYb":-3270364675539211953,"CRvOVuL":-644267434208641347,"JYnCVuGYYV":4383666986878943679,"XVsXMGMQ":-7049029986869718780,"gPCozgquh":-2649096670709331024,"mvrKC":-7171450727701766315,"pZVzhEtQYy":-6011293536535301393,"uuUU":7778761321977222829,"vhrP":-3620613306197459802},"stringDateField":"2010-09-22","stringDateTimeField":"2002-09-01T17:21:44Z","stringField":"IpXvLuNnfV","stringTimeField":"05:16:18.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":430,"numField":696.1478895707065,"stringDateField":"2010-09-22","stringDateTimeField":"2002-09-01T17:21:44Z","stringField":"IpXvLuNnfV","stringTimeField":"05:16:18.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2790,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2790,"uuid":"9e0a89ba-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ummyK","DAllxOBXaa"],"boolField":true,"intField":-989,"numField":722.242707381743,"objField":{"EWur":9102124228354583079,"GEIGZ":-4008218001092173031,"LqMGVC":3443654502336764158,"UlDoXXPIl":7078989536319704159,"bUxmZVxzZ":-2507022446998950730,"gkfzsQG":1297286091739000753,"vwcfifZcWl":-2257689246091394753},"stringDateField":"1975-03-06","stringDateTimeField":"1987-03-15T22:41:46Z","stringField":"Nlepere","stringTimeField":"10:30:34.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":-989,"numField":722.242707381743,"stringDateField":"1975-03-06","stringDateTimeField":"1987-03-15T22:41:46Z","stringField":"Nlepere","stringTimeField":"10:30:34.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2791,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2791,"uuid":"9e0a89ba-5655-11ee-9401-675ed0f8e89b"},"arrayField":["sdyfOo"],"boolField":false,"intField":-650,"numField":-676.9924662682383,"objField":{"JQaEGL":8245797865978015429,"JgSVfdxWQ":-126480098673585875,"KOUD":5657143881967756476,"YIVfM":430152309866106536,"YbkJdhxs":3424055748989619179,"aPMGBhMYE":5960005182749368115,"bKyaxY":5885998108117714552,"iQurDb":-8596586153486647724,"teniEJV":594397281526553217,"yviVPWSBU":-1046461231575291026},"stringDateField":"1988-12-12","stringDateTimeField":"1934-11-27T09:34:02Z","stringField":"xJQjT","stringTimeField":"23:10:02.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":-650,"numField":-676.9924662682383,"stringDateField":"1988-12-12","stringDateTimeField":"1934-11-27T09:34:02Z","stringField":"xJQjT","stringTimeField":"23:10:02.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2792,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2792,"uuid":"9e0a89ba-5655-11ee-9801-675ed0f8e89b"},"arrayField":["HPZKwM","lCWMOvnlj","mVsGn","yHRMyD","rGMIeQaz","kXWvATT","ryIwjyc","oPOXBxHI","RpAfCEGDUV"],"boolField":false,"intField":118,"numField":289.68520416676057,"objField":{"Dykm":7499468456937296107,"EHKlgLlIl":6277603037630971922,"HCQe":-9152888689613067772,"RjEFarZY":4791365608016926401,"YLwrAMkKSn":3138443844516617721,"jTYI":719704023454492573},"stringDateField":"1943-05-01","stringDateTimeField":"2007-06-09T09:35:07Z","stringField":"NNaxHrCiuC","stringTimeField":"21:34:30.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":118,"numField":289.68520416676057,"stringDateField":"1943-05-01","stringDateTimeField":"2007-06-09T09:35:07Z","stringField":"NNaxHrCiuC","stringTimeField":"21:34:30.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2793,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2793,"uuid":"9e0a89ba-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["OOSOHUfhMa","csav"],"boolField":true,"intField":858,"numField":243.10249204503708,"objField":{"UJdCTlN":4137216420424629816,"yUhEqZ":5769030388376923386},"stringDateField":"2019-12-13","stringDateTimeField":"2008-10-04T03:38:14Z","stringField":"UmBDeuoU","stringTimeField":"06:00:22.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":858,"numField":243.10249204503708,"stringDateField":"2019-12-13","stringDateTimeField":"2008-10-04T03:38:14Z","stringField":"UmBDeuoU","stringTimeField":"06:00:22.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2794,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2794,"uuid":"9e0a89ba-5655-11ee-a001-675ed0f8e89b"},"arrayField":["uRcn","bJcNCARgD","JPtdnW","VKhMdd","qaxBnV"],"boolField":true,"intField":-86,"numField":-915.1300341250894,"objField":{"AnrepQWvvX":6557610379480399818,"GyKRxlVZY":-4574372219994386294,"NachTPau":-1760645006582079336,"cZOgbI":-4292512529889032631,"nWnlRuu":-850379740943457870,"pcdEy":-5691035317627566282,"qzngzDjv":-1389256842908990639},"stringDateField":"2020-11-08","stringDateTimeField":"1983-03-28T08:32:06Z","stringField":"IeUkxlywY","stringTimeField":"06:20:30.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":-86,"numField":-915.1300341250894,"stringDateField":"2020-11-08","stringDateTimeField":"1983-03-28T08:32:06Z","stringField":"IeUkxlywY","stringTimeField":"06:20:30.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2795,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2795,"uuid":"9e0a89ba-5655-11ee-a401-675ed0f8e89b"},"arrayField":["vzhMKpm","PImymr","bFNjmoZ","UOPvDHkr","ftZbRx"],"boolField":false,"intField":382,"numField":-647.4290581065133,"objField":{"BaNpikc":3628257293907074382,"LoQOQm":421799864488794930,"YrQID":2303764100140893236,"hIQqIIOJJm":854878817529678049,"riXzqDGU":8857197150946453414,"rxXTcNqQtK":-8279461103070154041,"yYvaoqIs":2362906589158171996},"stringDateField":"1946-04-28","stringDateTimeField":"2018-11-22T10:49:30Z","stringField":"KLiLtSHRDU","stringTimeField":"19:05:23.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":382,"numField":-647.4290581065133,"stringDateField":"1946-04-28","stringDateTimeField":"2018-11-22T10:49:30Z","stringField":"KLiLtSHRDU","stringTimeField":"19:05:23.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2796,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2796,"uuid":"9e0a89ba-5655-11ee-a801-675ed0f8e89b"},"arrayField":["wMGNor","xFqQbmiW"],"boolField":false,"intField":514,"numField":-515.8826382580804,"objField":{"BVltKsjykG":-7967959338280132531,"GzAI":7132178860310714170,"KmTVCVK":-4285301146876856013,"NSpBkN":-2350114406302078481,"YcekiFrsx":2487838466209837336,"YuEREag":-1115504406572162412,"vlIZqDS":-3472054779595129163},"stringDateField":"2012-11-13","stringDateTimeField":"1944-05-24T04:21:16Z","stringField":"RFMIYaZkOv","stringTimeField":"06:29:32.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":514,"numField":-515.8826382580804,"stringDateField":"2012-11-13","stringDateTimeField":"1944-05-24T04:21:16Z","stringField":"RFMIYaZkOv","stringTimeField":"06:29:32.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2797,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2797,"uuid":"9e0a89ba-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["wblh","fkqGXvhnJd","kmPJwu","oaHYP","SIKJX","AkpGw","FyjgXx","jbYnfli","fbOSV","IqvORyi"],"boolField":true,"intField":-565,"numField":-476.10600891796497,"objField":{"aHuQoHixQ":5972639595609947483,"zbNFKCx":9043340629334877616},"stringDateField":"2009-09-25","stringDateTimeField":"1914-06-15T01:39:10Z","stringField":"hOopy","stringTimeField":"14:33:59.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":-565,"numField":-476.10600891796497,"stringDateField":"2009-09-25","stringDateTimeField":"1914-06-15T01:39:10Z","stringField":"hOopy","stringTimeField":"14:33:59.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2798,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2798,"uuid":"9e0a89ba-5655-11ee-b001-675ed0f8e89b"},"arrayField":["bkmLBKig"],"boolField":false,"intField":-652,"numField":695.1784719025192,"objField":{"EoeMxtQy":1088871588080156104,"IILJ":-4185897480643943637,"PFqgIphZD":-7987878494515570967,"nvapcJs":2040132998654444349,"qyDI":254418909122614392},"stringDateField":"1992-08-07","stringDateTimeField":"1982-05-16T18:23:06Z","stringField":"UUWvDHNrbs","stringTimeField":"18:13:52.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":-652,"numField":695.1784719025192,"stringDateField":"1992-08-07","stringDateTimeField":"1982-05-16T18:23:06Z","stringField":"UUWvDHNrbs","stringTimeField":"18:13:52.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2799,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2799,"uuid":"9e0a89ba-5655-11ee-b401-675ed0f8e89b"},"arrayField":["Bgzj","IyDx","dVWFzAUT","ocsFPVrNfN","mIcrO","JYAz","KiJMkQGZT","FPkbm"],"boolField":true,"intField":737,"numField":695.1241602546792,"objField":{"CvlEMp":6827718996696087386,"GmenFCjgch":-2015109652633108093,"IIsH":7505566463363579215,"fbhOm":6203555917911489404,"ptKzSuSp":1581357876600443623,"pvOAxrff":-59167020710401124,"tzwJhTNDEJ":-2847643343110565765},"stringDateField":"1990-06-04","stringDateTimeField":"2016-12-28T01:01:29Z","stringField":"GNbZcZPq","stringTimeField":"04:41:26.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":737,"numField":695.1241602546792,"stringDateField":"1990-06-04","stringDateTimeField":"2016-12-28T01:01:29Z","stringField":"GNbZcZPq","stringTimeField":"04:41:26.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2800,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2800,"uuid":"9e0a89ba-5655-11ee-b801-675ed0f8e89b"},"arrayField":["OwqIOBgz","PwiZ","UtKjGBuQpT","vtpB","YgULOZ","ZLvZnyVO","dzDbjyHfl","lcedkx"],"boolField":true,"intField":653,"numField":-378.08076824495106,"objField":{"GabALQ":-7510083113653373467,"KFOy":2597148678258426400,"RvZkYu":8815268398623902139,"UPrqNJ":-6123043326757181578,"WJkPpey":3314776402048877977,"XPnigU":8335414302241154991,"XuXN":-4266319876523516224,"jCYZcqrgU":4217228794511949439,"tmWUT":8325766499029044671,"urlMxZCFE":-3447415374070927063},"stringDateField":"1962-01-22","stringDateTimeField":"1949-12-19T02:21:22Z","stringField":"OIhg","stringTimeField":"19:12:10.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":653,"numField":-378.08076824495106,"stringDateField":"1962-01-22","stringDateTimeField":"1949-12-19T02:21:22Z","stringField":"OIhg","stringTimeField":"19:12:10.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2801,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2801,"uuid":"9e0a89ba-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["NjhXJuXoy","dPGbHfNytE","myvGBm","qmGxvFtP"],"boolField":true,"intField":-249,"numField":-899.2021447167234,"objField":{"OjyyYQBNR":4595044105620713741,"SdoP":5963641095955826705,"TNWleeS":-5441461580334773083},"stringDateField":"1995-10-05","stringDateTimeField":"1912-01-22T18:06:51Z","stringField":"iqCxxeISgG","stringTimeField":"10:54:02.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763706Z","intField":-249,"numField":-899.2021447167234,"stringDateField":"1995-10-05","stringDateTimeField":"1912-01-22T18:06:51Z","stringField":"iqCxxeISgG","stringTimeField":"10:54:02.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2802,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2802,"uuid":"9e0a89bb-5655-11ee-8001-675ed0f8e89b"},"arrayField":["XtdyIBsaTv","xkMgCfNXHi","SiKLkL","OSVYaOBR","KelEZRBG","QDCUurOxJ"],"boolField":true,"intField":-189,"numField":104.47347619320556,"objField":{"DsSfQVkIan":-416628575579696918,"EdaGI":-8301381383667904663,"GPBSx":5300146945432955615,"LqftYsVRnG":-6125836272553188365,"MtXwlv":-7476221380887855362,"WRkxjl":-339289907458934499,"aGzSQULuKc":7649838208631483107,"bjJVm":-5807504123079898036,"nJoEtOSVPd":-9132760505080602348,"nMrqpRoH":2584774689395189794},"stringDateField":"2015-07-23","stringDateTimeField":"1904-02-14T19:16:14Z","stringField":"pWLJO","stringTimeField":"07:44:22.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":-189,"numField":104.47347619320556,"stringDateField":"2015-07-23","stringDateTimeField":"1904-02-14T19:16:14Z","stringField":"pWLJO","stringTimeField":"07:44:22.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2803,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2803,"uuid":"9e0a89bb-5655-11ee-8401-675ed0f8e89b"},"arrayField":["RlsuIJxEp","LPXli","dtJFkJeIpW"],"boolField":true,"intField":36,"numField":247.7345726141611,"objField":{"FjDgQlHH":-3151341147796714356,"JBwUKfDA":-5837882935591822526,"MSuOPPNlEa":-1004236229814735864,"MdLDcncE":-6629707279919072052,"QOXn":4528662033255617300,"RGKQhVtzyr":1434333301202677678,"UQzY":4244931433531640414,"ZAqwMGCv":-8627105381495310705,"aAWKXz":4212207910286652623,"wwsU":-7065227272748530253},"stringDateField":"1957-04-08","stringDateTimeField":"2009-03-23T12:11:13Z","stringField":"rQotizCrUZ","stringTimeField":"22:45:19.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":36,"numField":247.7345726141611,"stringDateField":"1957-04-08","stringDateTimeField":"2009-03-23T12:11:13Z","stringField":"rQotizCrUZ","stringTimeField":"22:45:19.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2804,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2804,"uuid":"9e0a89bb-5655-11ee-8801-675ed0f8e89b"},"arrayField":["kAdQlpr","cLsmk","clKtbNFg","HIXcyQpAS"],"boolField":false,"intField":148,"numField":-922.2035341146004,"objField":{"HphUDgY":-957540560899561103,"HsnVZ":2851750075077013676,"RjbR":1084244570727231998,"khmTlWwd":-6607490393950046113,"xthHFsNAeX":5397432184935502682},"stringDateField":"1973-01-14","stringDateTimeField":"1950-06-16T01:25:42Z","stringField":"zsRL","stringTimeField":"04:29:22.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":148,"numField":-922.2035341146004,"stringDateField":"1973-01-14","stringDateTimeField":"1950-06-16T01:25:42Z","stringField":"zsRL","stringTimeField":"04:29:22.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2805,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2805,"uuid":"9e0a89bb-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["kOch","wxHgUmGKx","kcrv","dPXCrLyB","rhUp","ntPUMqKX"],"boolField":true,"intField":-894,"numField":-965.3757979222586,"objField":{"EfZI":8712348026570161070,"NOWPFNDuoO":-1922419423760269344,"WMIpPDC":-4568360758865683757,"ZDThx":1097504149273618512,"jqRDDvH":-6071197332387988402,"rUttZJB":-3083526594655013531,"tvHEcDcJ":-3213345766227276690,"yjWaUUWuzi":9128177567067971619},"stringDateField":"1914-06-22","stringDateTimeField":"1988-09-01T04:28:54Z","stringField":"ZlgJE","stringTimeField":"02:33:06.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":-894,"numField":-965.3757979222586,"stringDateField":"1914-06-22","stringDateTimeField":"1988-09-01T04:28:54Z","stringField":"ZlgJE","stringTimeField":"02:33:06.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2806,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2806,"uuid":"9e0a89bb-5655-11ee-9001-675ed0f8e89b"},"arrayField":["VfYG","OKRMkOHlIe","tSUgj","OLnKzGuQ","EhVy","PwJoVNAI","dDnMIA","TgkUJmy","IOyMBhI","UEzUWqHeJ"],"boolField":true,"intField":-328,"numField":546.9986009238235,"objField":{"AstdWYQ":-6457656538305017057,"Feyk":5339545282180824922,"IKTBoSjb":4319431024147161099,"SClXwoPOwh":7345802358830250580,"WSENoLpYYR":-7549052187367672527,"ZqDBypkWn":-7157064312845341499,"cOguyZQ":-3402884087720699713,"uFqKsMlDp":-4931312171156674055},"stringDateField":"1916-02-05","stringDateTimeField":"2013-12-21T00:23:55Z","stringField":"DacCqVmwk","stringTimeField":"15:24:22.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":-328,"numField":546.9986009238235,"stringDateField":"1916-02-05","stringDateTimeField":"2013-12-21T00:23:55Z","stringField":"DacCqVmwk","stringTimeField":"15:24:22.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2807,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2807,"uuid":"9e0a89bb-5655-11ee-9401-675ed0f8e89b"},"arrayField":["jyaN"],"boolField":true,"intField":959,"numField":956.8583480791856,"objField":{"JSKSCBa":-7503561976332271564,"QKdx":6256358597925091908,"QaVZWrLGd":427821362005092536,"bRwC":-7833294608759816505,"vHnUr":-4034098694212526931},"stringDateField":"1983-07-11","stringDateTimeField":"1999-01-03T15:09:05Z","stringField":"dMnvn","stringTimeField":"19:23:11.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":959,"numField":956.8583480791856,"stringDateField":"1983-07-11","stringDateTimeField":"1999-01-03T15:09:05Z","stringField":"dMnvn","stringTimeField":"19:23:11.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2808,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2808,"uuid":"9e0a89bb-5655-11ee-9801-675ed0f8e89b"},"arrayField":["rrFAtz","dsXlPRnuKm","fWTLmZy","sYVAXyLJ","wCsssbmi","nXHh","kuji","PdReD","iJluab","nhRPWRTWyt"],"boolField":true,"intField":-796,"numField":-54.2279309464484,"objField":{"EHdmbBtd":-8372730594422620952,"XrYonMbVy":5919306793968417797,"nZEhGkEZf":4721689518105545476},"stringDateField":"1982-03-30","stringDateTimeField":"1938-01-26T23:01:39Z","stringField":"wPHQup","stringTimeField":"04:55:13.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":-796,"numField":-54.2279309464484,"stringDateField":"1982-03-30","stringDateTimeField":"1938-01-26T23:01:39Z","stringField":"wPHQup","stringTimeField":"04:55:13.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2809,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2809,"uuid":"9e0a89bb-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wYQDphBuJx","fZHGApe","uZFiw"],"boolField":false,"intField":346,"numField":-807.1164142285724,"objField":{"NZWwcy":8301644409876118485,"RoPY":8828996369255017983,"hVNRgutzU":-3406463287742887489},"stringDateField":"1989-11-23","stringDateTimeField":"1920-09-09T09:18:27Z","stringField":"uuKjWQ","stringTimeField":"19:35:20.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":346,"numField":-807.1164142285724,"stringDateField":"1989-11-23","stringDateTimeField":"1920-09-09T09:18:27Z","stringField":"uuKjWQ","stringTimeField":"19:35:20.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2810,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2810,"uuid":"9e0a89bb-5655-11ee-a001-675ed0f8e89b"},"arrayField":["pHUd","VHZVkjR","wIXbNVYurf"],"boolField":false,"intField":-99,"numField":388.1388253722906,"objField":{"GiYFV":8040547111731696738,"UgeTRbHLw":7752012483772878643,"bHUC":-5924277966263652019,"cJtYXMX":-3605907733150570275,"eLJRxYK":-1515296772056819268,"hhfWsbZSF":4476368507252189826,"zBuMwNkmt":-165673946167354798},"stringDateField":"1961-03-29","stringDateTimeField":"2000-08-17T00:48:47Z","stringField":"ZyGQoIl","stringTimeField":"22:12:26.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":-99,"numField":388.1388253722906,"stringDateField":"1961-03-29","stringDateTimeField":"2000-08-17T00:48:47Z","stringField":"ZyGQoIl","stringTimeField":"22:12:26.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2811,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2811,"uuid":"9e0a89bb-5655-11ee-a401-675ed0f8e89b"},"arrayField":["REZPLJ","JesALU","FTIIUAWa","ycUZcmC","KBZRon","vOOGtbN","FuJPaZcDd"],"boolField":true,"intField":553,"numField":827.8474056782026,"objField":{"CstUkx":4551851112326986748,"InceJiA":5712375498291414977,"KKWpNAaAd":1603253151809291107,"QgOMwQ":2615857326102632778,"Vtnkd":-5318006769943166356,"YkJfYBc":-7029265004156627144,"isqETrzoQZ":8564591098170584793,"tGrhZfzkQJ":-3374101510202583316,"uSUYWhfS":-919316982798214682},"stringDateField":"1910-11-12","stringDateTimeField":"1966-02-07T06:59:43Z","stringField":"IWjMHZXq","stringTimeField":"20:59:29.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":553,"numField":827.8474056782026,"stringDateField":"1910-11-12","stringDateTimeField":"1966-02-07T06:59:43Z","stringField":"IWjMHZXq","stringTimeField":"20:59:29.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2812,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2812,"uuid":"9e0a89bb-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sZtrc","IKknkXAHpN","qkrbDKeH"],"boolField":false,"intField":-389,"numField":-613.1160029047307,"objField":{"Fmys":9015031985707142522,"LGrCkqYj":-3903060794601812421,"fqNNtcCt":8945612569665994282,"nrImz":6422682487082325484,"rKWipuWUx":3354449260415304166,"rlqnaksMq":7990859487546815207},"stringDateField":"1903-09-26","stringDateTimeField":"1927-12-18T03:25:32Z","stringField":"AmPsFWA","stringTimeField":"18:08:20.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":-389,"numField":-613.1160029047307,"stringDateField":"1903-09-26","stringDateTimeField":"1927-12-18T03:25:32Z","stringField":"AmPsFWA","stringTimeField":"18:08:20.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2813,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2813,"uuid":"9e0a89bb-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["GkqubU","JAqPUv","xWoa","eELM","nzTEIj","iEBnh","McqgHBiRoP","iudRYanw"],"boolField":true,"intField":-588,"numField":532.4440656834926,"objField":{"kaZSR":3027192190360739068,"klSlqlUY":5406594004791920467,"mJlZWQ":-8395252827135930445,"wEaPJiMfI":-4597557150425629613},"stringDateField":"1944-09-24","stringDateTimeField":"1978-09-24T08:10:33Z","stringField":"YndZfvLUKT","stringTimeField":"12:25:13.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":-588,"numField":532.4440656834926,"stringDateField":"1944-09-24","stringDateTimeField":"1978-09-24T08:10:33Z","stringField":"YndZfvLUKT","stringTimeField":"12:25:13.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2814,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2814,"uuid":"9e0a89bb-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ZcxzqiBPD","ObbLHOSmu","zvbtJf"],"boolField":false,"intField":-188,"numField":886.6516413969437,"objField":{"FVGLwIC":2897721298271598459,"JzahPcGoBq":-222497535943872451,"rNvEAGTxW":1912966704742454091},"stringDateField":"1909-12-01","stringDateTimeField":"2001-06-24T11:16:35Z","stringField":"DbOzjov","stringTimeField":"14:37:03.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":-188,"numField":886.6516413969437,"stringDateField":"1909-12-01","stringDateTimeField":"2001-06-24T11:16:35Z","stringField":"DbOzjov","stringTimeField":"14:37:03.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2815,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2815,"uuid":"9e0a89bb-5655-11ee-b401-675ed0f8e89b"},"arrayField":["JmswU","TsoQUs","WMrw","kAkjvoZ","jTwrrcBPNY","BKsDQ","DkWLAKxa","bwjbEiiigH","iVKc"],"boolField":false,"intField":690,"numField":208.1084637888868,"objField":{"BVbknL":7976011560898286648,"cvEetdyGFA":-4726006530741645914,"gSwEXIjbS":2956830513868124645,"jSmJVjJ":1957875765753529551},"stringDateField":"1966-04-04","stringDateTimeField":"1925-12-02T02:43:16Z","stringField":"EmkOTlb","stringTimeField":"12:23:08.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":690,"numField":208.1084637888868,"stringDateField":"1966-04-04","stringDateTimeField":"1925-12-02T02:43:16Z","stringField":"EmkOTlb","stringTimeField":"12:23:08.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2816,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2816,"uuid":"9e0a89bb-5655-11ee-b801-675ed0f8e89b"},"arrayField":["GeHboCNTBO","HawnfnghYE","Fjskk","dVDQ","BidDo","FqUyoAvc","WAzMGg"],"boolField":true,"intField":-758,"numField":742.8933773297555,"objField":{"PBxchr":3977660598245517332,"diJpmvxKN":-1570735829087308611,"hQTIDdE":6600157675118523483},"stringDateField":"2003-06-22","stringDateTimeField":"1962-03-01T10:47:28Z","stringField":"hJnMAMCo","stringTimeField":"09:30:52.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":-758,"numField":742.8933773297555,"stringDateField":"2003-06-22","stringDateTimeField":"1962-03-01T10:47:28Z","stringField":"hJnMAMCo","stringTimeField":"09:30:52.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2817,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2817,"uuid":"9e0a89bb-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["YkfuMtC","jVjbu","brBJsaCN","vGHSn","mUMnLdbB","qUKO","dAQcf"],"boolField":true,"intField":-175,"numField":626.2088503339767,"objField":{"AaWY":-3896062155462193591,"Ahki":-5272021409839988866,"EGtI":-1495931429355312649,"ERjqY":-4999566612370924458,"GDAATj":2607897076945571689,"Jstbx":-8433903889671222223,"TwpbW":-2772327006058492025,"lxjIArcD":-6405346635988134284,"lzcZvAz":1630095182898243157,"nvFtksKp":6331685729823339573},"stringDateField":"2011-04-11","stringDateTimeField":"1900-12-08T10:53:02Z","stringField":"iKnGkwv","stringTimeField":"06:20:12.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763707Z","intField":-175,"numField":626.2088503339767,"stringDateField":"2011-04-11","stringDateTimeField":"1900-12-08T10:53:02Z","stringField":"iKnGkwv","stringTimeField":"06:20:12.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2818,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2818,"uuid":"9e0a89bc-5655-11ee-8001-675ed0f8e89b"},"arrayField":["NigBQs","Jwwp","OyAeapRH","kJpQ","FEVAyN","lkCxRFO","OpSf","dieeDjRfw","GewIGAqIuW"],"boolField":true,"intField":468,"numField":84.47075583751973,"objField":{"QcaYBeNKBD":4542652141809978226,"UgXWH":-5121118903424066047,"miXPSZ":3064085097560109896,"pyQtyg":-4900035160413239882,"wEHUQ":-1181218937267020043},"stringDateField":"1910-07-12","stringDateTimeField":"1931-12-13T13:02:29Z","stringField":"CpmH","stringTimeField":"00:01:01.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":468,"numField":84.47075583751973,"stringDateField":"1910-07-12","stringDateTimeField":"1931-12-13T13:02:29Z","stringField":"CpmH","stringTimeField":"00:01:01.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2819,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2819,"uuid":"9e0a89bc-5655-11ee-8401-675ed0f8e89b"},"arrayField":["aKsmJLb","SBjToznx","wsbke","PryOHTfxR"],"boolField":false,"intField":-719,"numField":193.98472352994145,"objField":{"EvSZDpDP":8506104165890905975,"VFDNn":5974609971304459006,"gfjSBB":-8786859368890143270,"tcTewlFvM":1283470829561830251},"stringDateField":"1932-11-19","stringDateTimeField":"1916-08-17T06:11:32Z","stringField":"kidXaG","stringTimeField":"15:58:38.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":-719,"numField":193.98472352994145,"stringDateField":"1932-11-19","stringDateTimeField":"1916-08-17T06:11:32Z","stringField":"kidXaG","stringTimeField":"15:58:38.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2820,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2820,"uuid":"9e0a89bc-5655-11ee-8801-675ed0f8e89b"},"arrayField":["tcdMSlZJe","iVeXEeID","yBcHgbCjI","janUYdHH","AUlg","vqszw","eKskUm","IzrVX"],"boolField":false,"intField":-913,"numField":450.0475915343736,"objField":{"GcLyTMLA":7119590815621338381,"HkMtQgimxv":-1707601852242241053,"NBcJptN":5723456335150620693,"Rrfl":-9145100015237258631,"hFlMeRODYu":8841417260458602756},"stringDateField":"1949-02-19","stringDateTimeField":"1962-01-05T13:55:48Z","stringField":"fwJoe","stringTimeField":"20:16:12.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":-913,"numField":450.0475915343736,"stringDateField":"1949-02-19","stringDateTimeField":"1962-01-05T13:55:48Z","stringField":"fwJoe","stringTimeField":"20:16:12.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2821,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2821,"uuid":"9e0a89bc-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["PyLuXn","oPAT","WIxcejsyeh","WDDanCU","gCsLoEuPjs","zXCXted"],"boolField":true,"intField":219,"numField":-187.7894381048144,"objField":{"QUuTkNFmDS":4398863350617787371,"bydjHMllA":-2960025127014656451},"stringDateField":"1907-06-23","stringDateTimeField":"1991-12-07T06:31:17Z","stringField":"RVFowPdNT","stringTimeField":"16:32:07.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":219,"numField":-187.7894381048144,"stringDateField":"1907-06-23","stringDateTimeField":"1991-12-07T06:31:17Z","stringField":"RVFowPdNT","stringTimeField":"16:32:07.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2822,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2822,"uuid":"9e0a89bc-5655-11ee-9001-675ed0f8e89b"},"arrayField":["dvQxmFz","jlulfOU","gKRczdbPWs"],"boolField":true,"intField":-966,"numField":824.5067803275767,"objField":{"HtrUsn":1746721807985501283,"hNxHRGI":-3419675854554382236,"iuJr":5433974341624443274},"stringDateField":"2007-05-16","stringDateTimeField":"1979-08-11T14:59:48Z","stringField":"olpUDu","stringTimeField":"12:13:08.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":-966,"numField":824.5067803275767,"stringDateField":"2007-05-16","stringDateTimeField":"1979-08-11T14:59:48Z","stringField":"olpUDu","stringTimeField":"12:13:08.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2823,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2823,"uuid":"9e0a89bc-5655-11ee-9401-675ed0f8e89b"},"arrayField":["JtvEf","dwjw","SsNAS","ofTGdnSQJV","dAObVRPd","JbGYujRD","mFojRU","HsPJKewnQz","vLjR","PGCpxbwzs"],"boolField":true,"intField":637,"numField":320.67902508870304,"objField":{"ISKV":-1093474633370320946,"MoFncZalc":2309983185977776449,"NpvVjjACN":3843917981955070022,"SZLZX":7061789812354290403,"zYGmLOrK":4192500698516997392},"stringDateField":"1958-11-14","stringDateTimeField":"1925-09-27T04:46:37Z","stringField":"pCejRzrd","stringTimeField":"04:03:39.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":637,"numField":320.67902508870304,"stringDateField":"1958-11-14","stringDateTimeField":"1925-09-27T04:46:37Z","stringField":"pCejRzrd","stringTimeField":"04:03:39.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2824,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2824,"uuid":"9e0a89bc-5655-11ee-9801-675ed0f8e89b"},"arrayField":["DTuNBur","MwdrLl","VFID","rAYPuw","hHqGs"],"boolField":false,"intField":-903,"numField":-516.6425549957606,"objField":{"DGrllQKFbw":-6665688185840587889,"HYDOmM":7732048757690748556,"UGWuBsVbQb":-4500036411397191189,"gxoaF":-8292796704903100484,"iHgxTcRbYN":-5484880099539008552,"wknEziIIaR":902108422757289394},"stringDateField":"2006-08-27","stringDateTimeField":"2017-03-22T01:52:47Z","stringField":"pJGBfcUxo","stringTimeField":"07:54:49.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":-903,"numField":-516.6425549957606,"stringDateField":"2006-08-27","stringDateTimeField":"2017-03-22T01:52:47Z","stringField":"pJGBfcUxo","stringTimeField":"07:54:49.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2825,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2825,"uuid":"9e0a89bc-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["gGbp","AuwtXUoi","kzMra","AVMBP"],"boolField":true,"intField":-242,"numField":-377.8576187592809,"objField":{"CNckJjIxg":6045235179328820388,"LnFUfRtc":8658490806609724563,"XKcfjxC":6833110619974338549,"foPP":2682699662747635995,"kBwDQdf":-7482020132528551187,"uEyBM":4422659627892223562,"vOEKEocBM":247385365696274562},"stringDateField":"1922-10-16","stringDateTimeField":"2004-08-18T04:29:16Z","stringField":"FnmRejDn","stringTimeField":"02:46:01.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":-242,"numField":-377.8576187592809,"stringDateField":"1922-10-16","stringDateTimeField":"2004-08-18T04:29:16Z","stringField":"FnmRejDn","stringTimeField":"02:46:01.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2826,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2826,"uuid":"9e0a89bc-5655-11ee-a001-675ed0f8e89b"},"arrayField":["yeoVi","TUjWmDihbB","NmHt","UPHGiHOoy","VchR","mQpjwMPqm","WexO","nRIvSjR","GAirrrDts"],"boolField":true,"intField":100,"numField":823.7824577869193,"objField":{"AWTgLkjkXD":7448860312456776263,"mRFHC":7750948279840965251,"pnkS":-324541547658457924,"uXcRDB":1701522931346065226},"stringDateField":"1921-12-22","stringDateTimeField":"1958-04-14T21:24:10Z","stringField":"TSZYaKt","stringTimeField":"14:46:25.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":100,"numField":823.7824577869193,"stringDateField":"1921-12-22","stringDateTimeField":"1958-04-14T21:24:10Z","stringField":"TSZYaKt","stringTimeField":"14:46:25.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2827,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2827,"uuid":"9e0a89bc-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ZIPZyqwXcf","QNJRBniu","ARTRUCLd","uMheXB","FPNdT","gWQNry","notwtLt","KevCtphgVj"],"boolField":false,"intField":-988,"numField":-193.6764392531433,"objField":{"EllBumg":2345288865985620955,"QOWiPfEeYq":-2720379323804984670,"XzsSrfaob":2403087374959426913,"gRYqT":-7035391925579017189,"lVDtt":-3518359862148171041,"lvyEcCrp":2289803076186718570,"rzTnEVSmjj":-3065858295067248118},"stringDateField":"1998-05-15","stringDateTimeField":"1973-07-01T04:45:02Z","stringField":"LsFIQ","stringTimeField":"09:21:31.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":-988,"numField":-193.6764392531433,"stringDateField":"1998-05-15","stringDateTimeField":"1973-07-01T04:45:02Z","stringField":"LsFIQ","stringTimeField":"09:21:31.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2828,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2828,"uuid":"9e0a89bc-5655-11ee-a801-675ed0f8e89b"},"arrayField":["JtlQCbFYj","LBWarOZo"],"boolField":false,"intField":-15,"numField":-91.20880456295366,"objField":{"McDI":8733627547706125268,"SkJh":7528773740910295116,"UKMV":1645350610074728462,"UZlP":8879679052846585870,"Zowr":-7783893923990147772,"enuXpmZLw":-7176788062940013438,"fkkvoZ":3751462582475666410},"stringDateField":"2015-08-16","stringDateTimeField":"1991-09-25T18:46:03Z","stringField":"vKxrEv","stringTimeField":"19:11:04.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":-15,"numField":-91.20880456295366,"stringDateField":"2015-08-16","stringDateTimeField":"1991-09-25T18:46:03Z","stringField":"vKxrEv","stringTimeField":"19:11:04.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2829,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2829,"uuid":"9e0a89bc-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["XkNvnCXM","kgskZKsHS","pzweKHnS","iBLgBXV"],"boolField":false,"intField":-292,"numField":-248.737674164763,"objField":{"vFmrAqawW":-2290339914709014446},"stringDateField":"2013-08-15","stringDateTimeField":"1962-05-03T13:11:23Z","stringField":"eqZsRWs","stringTimeField":"02:08:16.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":-292,"numField":-248.737674164763,"stringDateField":"2013-08-15","stringDateTimeField":"1962-05-03T13:11:23Z","stringField":"eqZsRWs","stringTimeField":"02:08:16.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2830,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2830,"uuid":"9e0a89bc-5655-11ee-b001-675ed0f8e89b"},"arrayField":["JjYsLn","GpuDMk","xXoBxQo","WDjVAKim"],"boolField":true,"intField":382,"numField":409.3757613600959,"objField":{"BCSHbqHW":2865058748951477406,"HaJWhlTniw":-3519301191773909334,"XUszDR":-8600381406732355968,"zZhvUeaKWZ":4772237780888359501},"stringDateField":"1994-02-05","stringDateTimeField":"1932-06-30T06:28:06Z","stringField":"DrvyHscAkz","stringTimeField":"19:19:44.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":382,"numField":409.3757613600959,"stringDateField":"1994-02-05","stringDateTimeField":"1932-06-30T06:28:06Z","stringField":"DrvyHscAkz","stringTimeField":"19:19:44.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2831,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2831,"uuid":"9e0a89bc-5655-11ee-b401-675ed0f8e89b"},"arrayField":["RnjfhcA","FtjzStHqun","rsnE","KvCWLKWG"],"boolField":false,"intField":814,"numField":57.39617382202766,"objField":{"LsXRPyFgPv":8400093710458330543,"QnxxHGjCA":-5581185743251863810,"SGgJwh":45988267919135252,"qSIxNKY":-702458877530730350,"twceB":-8829753429248478089,"vHujrgm":7411674349765193673,"vWWN":-5400784313496956537},"stringDateField":"1994-08-18","stringDateTimeField":"1915-11-15T18:35:13Z","stringField":"BmUvuOA","stringTimeField":"23:46:20.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":814,"numField":57.39617382202766,"stringDateField":"1994-08-18","stringDateTimeField":"1915-11-15T18:35:13Z","stringField":"BmUvuOA","stringTimeField":"23:46:20.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2832,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2832,"uuid":"9e0a89bc-5655-11ee-b801-675ed0f8e89b"},"arrayField":["uXQgiq","qaQYVH"],"boolField":true,"intField":883,"numField":-613.6380939889555,"objField":{"Aztq":760954693611060575,"SzZBdDNQ":-8229779094519649594,"TTJYohry":-3806733632528098740,"Xddz":-8627223215771912508,"XkFUDfR":6710515942001819533,"ZLzUq":8271413073314826048,"fdBBh":-2825324989284487711,"jRPaUsxFm":-7894160478639174870,"osxvaRAnj":5536768328092701284,"qgtbcsY":-5942349494153135479},"stringDateField":"1917-10-18","stringDateTimeField":"1952-10-04T01:06:11Z","stringField":"KTHDIni","stringTimeField":"17:39:44.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":883,"numField":-613.6380939889555,"stringDateField":"1917-10-18","stringDateTimeField":"1952-10-04T01:06:11Z","stringField":"KTHDIni","stringTimeField":"17:39:44.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2833,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2833,"uuid":"9e0a89bc-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["yxLGgi","XbCtcKEiwx","WJiJReMM","HPlibh","iJVu","XayywOFFTl","VeZe","nIyneZrs","qZutMV","gfJqDrRHB"],"boolField":false,"intField":212,"numField":66.4941509783703,"objField":{"FyBj":-2903183089276303367,"GAcBxkcC":-3389620253983363852,"JeWgU":-8405066476029395306,"RNGNHD":-3912972327861897852,"hIytD":-6241420742031666914,"nKKDtIlWmK":4527134372826677340,"nSysEOhevI":-8644910606444432557,"pRWTNzOuXS":8605670254143212027,"qlDmLJwBwt":45445208253110670,"vJcjNQ":-5459994784308756193},"stringDateField":"1978-10-14","stringDateTimeField":"1944-06-16T02:27:21Z","stringField":"vCtv","stringTimeField":"06:41:14.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763708Z","intField":212,"numField":66.4941509783703,"stringDateField":"1978-10-14","stringDateTimeField":"1944-06-16T02:27:21Z","stringField":"vCtv","stringTimeField":"06:41:14.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2834,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2834,"uuid":"9e0a89bd-5655-11ee-8001-675ed0f8e89b"},"arrayField":["pGpA"],"boolField":true,"intField":-900,"numField":-519.6169091623526,"objField":{"DOLObKhO":2097159015030811645,"FBiRmuXte":-5269350045019410841,"QNrAp":-2496157070685371558,"gbQhhYD":8501436359203151278,"nZYZSAQknJ":8560590859635173817,"oZvs":4779034989101480180},"stringDateField":"1944-09-21","stringDateTimeField":"1914-04-03T05:04:23Z","stringField":"dnryv","stringTimeField":"23:07:15.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":-900,"numField":-519.6169091623526,"stringDateField":"1944-09-21","stringDateTimeField":"1914-04-03T05:04:23Z","stringField":"dnryv","stringTimeField":"23:07:15.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2835,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2835,"uuid":"9e0a89bd-5655-11ee-8401-675ed0f8e89b"},"arrayField":["CBvfz","rHEOi","EHkJdyemu","JIIWrJRe"],"boolField":true,"intField":768,"numField":-158.07507546951217,"objField":{"Wddpf":8472415257053739495,"xOhXBQ":-6960826649683079489},"stringDateField":"2013-06-24","stringDateTimeField":"1985-04-23T22:44:56Z","stringField":"fYGjrK","stringTimeField":"17:14:10.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":768,"numField":-158.07507546951217,"stringDateField":"2013-06-24","stringDateTimeField":"1985-04-23T22:44:56Z","stringField":"fYGjrK","stringTimeField":"17:14:10.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2836,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2836,"uuid":"9e0a89bd-5655-11ee-8801-675ed0f8e89b"},"arrayField":["sBuPB","oPcuChWhv","xkNbGltDU","bCxi","uFGbTli","rHcyPdkhzB","xblwNheT","vUgZc","WXfNKcjixr","vCdvEY"],"boolField":false,"intField":889,"numField":473.25958042040185,"objField":{"HRFAq":-8599328099427040462,"HVKvGRwfP":3240692132599241457,"MBnQJ":-2419192789222918835,"NTfZZLtHff":5250004682063645452,"gpMecjjg":180921764415048985},"stringDateField":"1939-01-01","stringDateTimeField":"1955-10-13T18:31:41Z","stringField":"ZgWC","stringTimeField":"09:01:20.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":889,"numField":473.25958042040185,"stringDateField":"1939-01-01","stringDateTimeField":"1955-10-13T18:31:41Z","stringField":"ZgWC","stringTimeField":"09:01:20.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2837,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2837,"uuid":"9e0a89bd-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["GlRzVZva","sQICIjp","DqZUBp","uZaeS","olsi","DRxt"],"boolField":true,"intField":277,"numField":117.9039692845232,"objField":{"AVcLfM":1950507558113373329,"DaCWzEJ":5936808364041818312,"VEjxXccO":6179828356933560341,"bGbBK":8651926494378131598,"fCsAsfDdr":5227137282512637822,"ieZjtF":908759628249957997,"pgVF":2554806397146427840,"ySRr":-2566682743690357742},"stringDateField":"1976-04-29","stringDateTimeField":"1940-02-23T00:56:44Z","stringField":"mwad","stringTimeField":"00:14:16.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":277,"numField":117.9039692845232,"stringDateField":"1976-04-29","stringDateTimeField":"1940-02-23T00:56:44Z","stringField":"mwad","stringTimeField":"00:14:16.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2838,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2838,"uuid":"9e0a89bd-5655-11ee-9001-675ed0f8e89b"},"arrayField":["eOzhGgux","EWeFdm"],"boolField":true,"intField":245,"numField":-296.60133417536304,"objField":{"BxPAEv":-1636991077312085233,"DcPfrQzZt":-1901395692832408902,"IRnX":-1772359404746959842,"OvBDdW":3487036465882211627,"ewWzZtVJJj":8283338337447058527,"fZTlI":-8224714180027943934,"hCIIJJhRrW":3761069664340439944,"ieOYgcb":3020215489235989677,"merNLDgV":613656769286491000,"yAqMgiFnj":6246039343126102493},"stringDateField":"2020-07-07","stringDateTimeField":"1948-10-01T10:58:26Z","stringField":"DBcFGNnXtT","stringTimeField":"09:52:52.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":245,"numField":-296.60133417536304,"stringDateField":"2020-07-07","stringDateTimeField":"1948-10-01T10:58:26Z","stringField":"DBcFGNnXtT","stringTimeField":"09:52:52.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2839,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2839,"uuid":"9e0a89bd-5655-11ee-9401-675ed0f8e89b"},"arrayField":["yiiiAAtH","ZMtUMQoIDQ"],"boolField":false,"intField":748,"numField":976.7268928164804,"objField":{"VGhg":-4055092523250888041},"stringDateField":"1939-04-07","stringDateTimeField":"1947-03-09T08:57:33Z","stringField":"SIJy","stringTimeField":"04:33:20.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":748,"numField":976.7268928164804,"stringDateField":"1939-04-07","stringDateTimeField":"1947-03-09T08:57:33Z","stringField":"SIJy","stringTimeField":"04:33:20.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2840,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2840,"uuid":"9e0a89bd-5655-11ee-9801-675ed0f8e89b"},"arrayField":["dZoA"],"boolField":true,"intField":-348,"numField":643.2855228559491,"objField":{"CPlmKXoX":-1648366620330474827,"MlMWVmznxn":-3388455065314506296,"VSqmuV":5326291985295001132,"WbPGplxx":-4462797472853699194,"lIrV":2131943311477137302,"pyCr":-5817047116772033121,"uxcTPMiJ":5134408155507564247},"stringDateField":"2001-10-02","stringDateTimeField":"1970-12-09T06:18:33Z","stringField":"zHjlfBwI","stringTimeField":"04:05:28.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":-348,"numField":643.2855228559491,"stringDateField":"2001-10-02","stringDateTimeField":"1970-12-09T06:18:33Z","stringField":"zHjlfBwI","stringTimeField":"04:05:28.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2841,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2841,"uuid":"9e0a89bd-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["lChRwzEaEx","GwIxzGDaN","hpEM","aEzWQyy","snRWMVjQG","lKKMWMWUy","pQZuO"],"boolField":true,"intField":655,"numField":306.5623956516157,"objField":{"EGmGAuPLzH":-2039814800492419601,"QgUj":-2105687813872134061,"SKTzDWHv":-6749300280537023686,"ccYBxDs":-2471059619116900076,"dGPjqLe":-7921348890902591951,"kLQgOYaH":6592591296362239229,"lrSGm":-3212645636536331443},"stringDateField":"1951-06-23","stringDateTimeField":"1932-04-09T21:29:13Z","stringField":"bKdRcE","stringTimeField":"17:09:01.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":655,"numField":306.5623956516157,"stringDateField":"1951-06-23","stringDateTimeField":"1932-04-09T21:29:13Z","stringField":"bKdRcE","stringTimeField":"17:09:01.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2842,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2842,"uuid":"9e0a89bd-5655-11ee-a001-675ed0f8e89b"},"arrayField":["kslhJcFl","slkuGLKtM","aoahyVhfKj","eOue","UvhDTFgwpe","DxdboXONh","GXmOg","TzNqFlmrt","FLWdi","qbTXNTG"],"boolField":true,"intField":999,"numField":-729.6769093951791,"objField":{"IFeu":6477428643608355007,"UaxRvsea":-1677033837617481318,"XRSpQNhDKI":7080211738847915838,"ZmUaPDnA":557344224690818122,"ejbNjINFk":-4566549914593247760,"iSXzLNWIw":7459022684142250662,"ibFqIu":-2782996951883987101,"kBBk":4176513360145577120,"xEuY":4208271854683450859},"stringDateField":"1928-05-28","stringDateTimeField":"1946-03-31T19:49:19Z","stringField":"SOitIkgRIS","stringTimeField":"23:27:37.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":999,"numField":-729.6769093951791,"stringDateField":"1928-05-28","stringDateTimeField":"1946-03-31T19:49:19Z","stringField":"SOitIkgRIS","stringTimeField":"23:27:37.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2843,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2843,"uuid":"9e0a89bd-5655-11ee-a401-675ed0f8e89b"},"arrayField":["QstPBXhLpm","CjFaxiXcGT"],"boolField":true,"intField":174,"numField":-332.77494961062615,"objField":{"HPCDfWb":5403754970246496285,"KYwFNO":1380974378500909619,"NLIWV":3453333512053229473,"RLHfvKiSH":3442794093268976634,"cgZoWXGLJy":6583682270572976463,"nkJBrLgW":5748777252480592849,"wPVVwx":-8958546027707060362},"stringDateField":"1932-04-09","stringDateTimeField":"1949-01-30T13:42:11Z","stringField":"TSiNVZTw","stringTimeField":"23:51:44.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":174,"numField":-332.77494961062615,"stringDateField":"1932-04-09","stringDateTimeField":"1949-01-30T13:42:11Z","stringField":"TSiNVZTw","stringTimeField":"23:51:44.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2844,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2844,"uuid":"9e0a89bd-5655-11ee-a801-675ed0f8e89b"},"arrayField":["HFMKEDMw","biiQezq"],"boolField":true,"intField":394,"numField":784.0664340747625,"objField":{"bNIv":-5801120684415633382,"bylmtXwiE":3281719082817561254,"opIMoDFqe":-5660726980719927375},"stringDateField":"1966-05-09","stringDateTimeField":"1983-01-24T19:53:40Z","stringField":"bMxd","stringTimeField":"03:53:28.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":394,"numField":784.0664340747625,"stringDateField":"1966-05-09","stringDateTimeField":"1983-01-24T19:53:40Z","stringField":"bMxd","stringTimeField":"03:53:28.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2845,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2845,"uuid":"9e0a89bd-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["UnXaoAhU","ahtJCIe","AXeLQE","WXDgH","spbC","NHzfJD","zPCFExl","upxgUyuuaI","nmenJTrKnj"],"boolField":false,"intField":480,"numField":-695.5902408155088,"objField":{"EuALDi":6157539410380783249,"LKbjml":-6011621353638455407,"SmreLA":-8218858738337757818,"oScmAZGziC":7351558698377175918,"uVLG":-6220196661236207589},"stringDateField":"1926-10-25","stringDateTimeField":"1928-12-14T11:05:12Z","stringField":"gbfPJQ","stringTimeField":"17:45:20.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":480,"numField":-695.5902408155088,"stringDateField":"1926-10-25","stringDateTimeField":"1928-12-14T11:05:12Z","stringField":"gbfPJQ","stringTimeField":"17:45:20.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2846,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2846,"uuid":"9e0a89bd-5655-11ee-b001-675ed0f8e89b"},"arrayField":["TtvrAqFmm","AjlU","FwbuoSmF","JHphwQ","lTLy","UiRcli","HWUpAbLF","dKlHRDx"],"boolField":true,"intField":-335,"numField":-32.57677011730775,"objField":{"aLOry":-5503618971348123230},"stringDateField":"1954-09-17","stringDateTimeField":"1912-05-02T14:12:30Z","stringField":"drhWYVry","stringTimeField":"10:46:02.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":-335,"numField":-32.57677011730775,"stringDateField":"1954-09-17","stringDateTimeField":"1912-05-02T14:12:30Z","stringField":"drhWYVry","stringTimeField":"10:46:02.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2847,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2847,"uuid":"9e0a89bd-5655-11ee-b401-675ed0f8e89b"},"arrayField":["sjYWcWQlW","oQhC","fIVh"],"boolField":true,"intField":-578,"numField":-254.244161561734,"objField":{"IhnTUhx":4685841478993252315,"OkHuEo":-3934862839644468870,"VlomTiM":-1103373290523071898,"fMlsI":9038130107018303776,"kLxJDD":-2451488622958161688,"nXhCmM":-5739172563326164548,"yHVj":-4828610325172436153},"stringDateField":"2017-07-17","stringDateTimeField":"1962-11-23T07:25:30Z","stringField":"iDvpaL","stringTimeField":"13:16:37.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":-578,"numField":-254.244161561734,"stringDateField":"2017-07-17","stringDateTimeField":"1962-11-23T07:25:30Z","stringField":"iDvpaL","stringTimeField":"13:16:37.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2848,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2848,"uuid":"9e0a89bd-5655-11ee-b801-675ed0f8e89b"},"arrayField":["CEzOWyMV","QkRPXW","vPPj","noXMjduM","MzWNTx","qIdsymPK"],"boolField":false,"intField":-827,"numField":-112.5123170604424,"objField":{"Rqodr":6633128897616674793},"stringDateField":"1902-10-11","stringDateTimeField":"2008-07-05T11:38:43Z","stringField":"QDGneNzt","stringTimeField":"17:00:29.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":-827,"numField":-112.5123170604424,"stringDateField":"1902-10-11","stringDateTimeField":"2008-07-05T11:38:43Z","stringField":"QDGneNzt","stringTimeField":"17:00:29.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2849,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2849,"uuid":"9e0a89bd-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["dXYfdBuR","sTBSm","aTdhJz","CJzDmXAHv","kxmJBUvY","iDWb"],"boolField":true,"intField":-944,"numField":657.5984118010316,"objField":{"fBmCAkH":726995996449458524},"stringDateField":"2007-10-25","stringDateTimeField":"1946-11-04T21:28:02Z","stringField":"yPaXVta","stringTimeField":"02:52:41.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763709Z","intField":-944,"numField":657.5984118010316,"stringDateField":"2007-10-25","stringDateTimeField":"1946-11-04T21:28:02Z","stringField":"yPaXVta","stringTimeField":"02:52:41.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2850,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2850,"uuid":"9e0a89be-5655-11ee-8001-675ed0f8e89b"},"arrayField":["OhCSsBOL","JHoVVfT"],"boolField":false,"intField":-32,"numField":775.9104494465361,"objField":{"KezXcn":-4093019875081654118,"NljYKaAt":1711538308780850104,"Rutn":-9068017499871134592,"YcTDEA":4736371079378718646,"ceBaHoz":-3067539947146380992,"iovCRTwpcD":-353015957273166633,"lJLRhZL":8788042024682464322},"stringDateField":"1935-07-01","stringDateTimeField":"2002-08-25T07:21:23Z","stringField":"ECkNeon","stringTimeField":"13:18:22.39Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":-32,"numField":775.9104494465361,"stringDateField":"1935-07-01","stringDateTimeField":"2002-08-25T07:21:23Z","stringField":"ECkNeon","stringTimeField":"13:18:22.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2851,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2851,"uuid":"9e0a89be-5655-11ee-8401-675ed0f8e89b"},"arrayField":["dRghZXLTd","ArCB","YtMjf","uxVUqFEarz","cMON","moAGbvq","SbEJRbv"],"boolField":true,"intField":56,"numField":-572.603112744333,"objField":{"WMROfAKX":307340853817900754,"WabuWmhpb":7486555517214882414,"gAhCms":-5800299116582945018,"iNhGW":7891435686118176841,"oxROFY":-5271164921238521273,"rzVu":6814368060234806352},"stringDateField":"1993-06-06","stringDateTimeField":"1987-07-27T11:55:16Z","stringField":"cKGqSIlDyU","stringTimeField":"16:22:11.21Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":56,"numField":-572.603112744333,"stringDateField":"1993-06-06","stringDateTimeField":"1987-07-27T11:55:16Z","stringField":"cKGqSIlDyU","stringTimeField":"16:22:11.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2852,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2852,"uuid":"9e0a89be-5655-11ee-8801-675ed0f8e89b"},"arrayField":["uMXcyCeqz","zLPlTThH","viyiUp","qjKCUaz","wzzwy","BtDMVVBrz","IYpk","fWLxMTh","HaGfi"],"boolField":false,"intField":-977,"numField":-863.2135597384138,"objField":{"FIUktUUX":6022685565469981468,"RYjJoj":7069164988515230368,"SaEkbK":3391247753997706600,"ZQfUih":1089789895839452253,"juymVEjp":7606109899085421872,"rizwCMz":-9176209593397952853,"yjMl":-391175928978383459},"stringDateField":"1907-09-30","stringDateTimeField":"1917-08-20T18:38:11Z","stringField":"QkaNghasC","stringTimeField":"16:59:13.12Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":-977,"numField":-863.2135597384138,"stringDateField":"1907-09-30","stringDateTimeField":"1917-08-20T18:38:11Z","stringField":"QkaNghasC","stringTimeField":"16:59:13.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2853,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2853,"uuid":"9e0a89be-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KqbaeNQ"],"boolField":false,"intField":263,"numField":438.4221754605775,"objField":{"UrQDDUacOF":-5559894598556239525,"phHEEq":-1407977893550268866},"stringDateField":"1979-01-02","stringDateTimeField":"1965-07-13T07:42:02Z","stringField":"dTBfDoXHT","stringTimeField":"09:28:23.23Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":263,"numField":438.4221754605775,"stringDateField":"1979-01-02","stringDateTimeField":"1965-07-13T07:42:02Z","stringField":"dTBfDoXHT","stringTimeField":"09:28:23.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2854,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2854,"uuid":"9e0a89be-5655-11ee-9001-675ed0f8e89b"},"arrayField":["zYhP","ywTXN","RsMrrUtpXT","jjsIGi","ujIdQgCq","BnmBKA","JTBU"],"boolField":true,"intField":267,"numField":125.88013576509938,"objField":{"PFwkh":3827706702897627013,"QhiwXGQ":1669130278220910514,"hetfbGj":-4750393030583586057,"oloTU":-5429312374197969673,"rnOpqi":-7371853313039559752,"uWPlU":-6581276401252621233},"stringDateField":"1913-12-27","stringDateTimeField":"2019-06-18T06:31:48Z","stringField":"oDCZSvl","stringTimeField":"11:13:45.14Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":267,"numField":125.88013576509938,"stringDateField":"1913-12-27","stringDateTimeField":"2019-06-18T06:31:48Z","stringField":"oDCZSvl","stringTimeField":"11:13:45.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2855,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2855,"uuid":"9e0a89be-5655-11ee-9401-675ed0f8e89b"},"arrayField":["YnYuYu","WazEuSKXow","lkpGaB"],"boolField":false,"intField":-971,"numField":113.7123834248528,"objField":{"AiwNExS":1921823732377704121,"CVgn":-7883056087049891751,"CtWgx":-2213348226807183703,"DDKt":-6826176700079722159,"FrRC":-9071438206283654360,"PmeAC":-4446786539222045177,"YfqCQEiEB":-6061570137881549946,"ZxBrVtIJ":1448902576451462187,"mjIIhfR":-7654975609486961660},"stringDateField":"1975-02-22","stringDateTimeField":"2021-09-18T14:34:12Z","stringField":"eMtswQsmsF","stringTimeField":"12:30:52.50Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":-971,"numField":113.7123834248528,"stringDateField":"1975-02-22","stringDateTimeField":"2021-09-18T14:34:12Z","stringField":"eMtswQsmsF","stringTimeField":"12:30:52.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2856,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2856,"uuid":"9e0a89be-5655-11ee-9801-675ed0f8e89b"},"arrayField":["WjYaA","QAVfroTZ","wCec","iuAZvbU","YWFlBaBrCA","kDePXb","TRIF"],"boolField":true,"intField":675,"numField":948.4485770820012,"objField":{"IGYvBJhC":-1107009391428909524,"RFkuHv":-1483245719793825999,"ejxrCrHmhj":6005701891650120291,"oFtCFAXjSt":-2493362825870715585,"pdvuZBNmL":380186348707944757},"stringDateField":"1964-07-11","stringDateTimeField":"1943-01-13T22:21:19Z","stringField":"bQun","stringTimeField":"23:25:07.36Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":675,"numField":948.4485770820012,"stringDateField":"1964-07-11","stringDateTimeField":"1943-01-13T22:21:19Z","stringField":"bQun","stringTimeField":"23:25:07.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2857,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2857,"uuid":"9e0a89be-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["GyBLluuZ","lLWYBinhe","hVwhY","BnkGkzlnqI","tQnKIfQOx","ByMvzvi","TMjmNduma"],"boolField":false,"intField":599,"numField":576.5171829251534,"objField":{"Mfhbnx":466969172674043023},"stringDateField":"1946-05-07","stringDateTimeField":"1995-03-21T17:36:19Z","stringField":"lyuusKTjA","stringTimeField":"22:44:07.19Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":599,"numField":576.5171829251534,"stringDateField":"1946-05-07","stringDateTimeField":"1995-03-21T17:36:19Z","stringField":"lyuusKTjA","stringTimeField":"22:44:07.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2858,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2858,"uuid":"9e0a89be-5655-11ee-a001-675ed0f8e89b"},"arrayField":["hUllMnjS","xOXcs","xjAjXzcm","OZlaSqcsV","JQYHTJe"],"boolField":false,"intField":-281,"numField":-218.74352554373388,"objField":{"ISnc":-2755421777101522083,"UHvUACvWXO":2877036126548715997,"XEwzVfxcq":-4925123412240106870,"jOwXfBwQK":-2996798221859509109,"oaeBqAC":2658532661985257275,"qKLVoclEF":-5457912177987969231},"stringDateField":"2017-06-28","stringDateTimeField":"1939-04-16T14:45:02Z","stringField":"yRtD","stringTimeField":"03:50:36.36Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":-281,"numField":-218.74352554373388,"stringDateField":"2017-06-28","stringDateTimeField":"1939-04-16T14:45:02Z","stringField":"yRtD","stringTimeField":"03:50:36.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2859,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2859,"uuid":"9e0a89be-5655-11ee-a401-675ed0f8e89b"},"arrayField":["jCqXvbQf","CTCcD","tmXCKa","NqAMhqrTv"],"boolField":false,"intField":71,"numField":822.6178835024667,"objField":{"OFOLves":-7689973047399297088,"gIGmJvJoZh":507683933453023394,"iDnhdQaH":3271664982859351950,"lSlVcPEYc":-6996332972746825286,"lboD":8967055258692365252,"mHlBGb":-1120680139684567656,"oTtvceErt":7678674917918586460},"stringDateField":"1901-08-25","stringDateTimeField":"1982-06-25T04:12:47Z","stringField":"sfyY","stringTimeField":"03:49:37.48Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":71,"numField":822.6178835024667,"stringDateField":"1901-08-25","stringDateTimeField":"1982-06-25T04:12:47Z","stringField":"sfyY","stringTimeField":"03:49:37.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2860,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2860,"uuid":"9e0a89be-5655-11ee-a801-675ed0f8e89b"},"arrayField":["vEef","cJuzHo","EuzcWKKEo","QRyl","peNwJ"],"boolField":true,"intField":-869,"numField":-583.1886564944342,"objField":{"DluC":8793068017327578357,"ZEXOcNdWj":-8501024804280067998,"lwkLtXtXo":7403580378828144523},"stringDateField":"1923-11-23","stringDateTimeField":"2008-10-04T08:40:37Z","stringField":"FSSkptkIbz","stringTimeField":"00:56:02.42Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":-869,"numField":-583.1886564944342,"stringDateField":"1923-11-23","stringDateTimeField":"2008-10-04T08:40:37Z","stringField":"FSSkptkIbz","stringTimeField":"00:56:02.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2861,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2861,"uuid":"9e0a89be-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["DuBX","qpMII","ZyPvv","hltL","TsqxOKmbnl"],"boolField":true,"intField":-553,"numField":139.46378819105297,"objField":{"Bejj":-1042451874128372868,"CQoVuqknRj":-2692921440602062226,"DfeHdLsQ":-3651837530942720337,"KJJVYqX":-3282746076191066783,"LRgKaKK":-5645709614002932012,"WlTtxXiz":-5006136675774424302,"cSVw":7862240112477221802,"czqNtjko":-635912938226604170,"hDRNk":-8820047405352121508},"stringDateField":"2014-12-29","stringDateTimeField":"1988-01-13T15:14:54Z","stringField":"JAOZ","stringTimeField":"01:27:59.35Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":-553,"numField":139.46378819105297,"stringDateField":"2014-12-29","stringDateTimeField":"1988-01-13T15:14:54Z","stringField":"JAOZ","stringTimeField":"01:27:59.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2862,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2862,"uuid":"9e0a89be-5655-11ee-b001-675ed0f8e89b"},"arrayField":["folHJjqEJb","BxwZJYM"],"boolField":false,"intField":-349,"numField":-87.77936006241805,"objField":{"QKxUGkG":2351852084831894865,"heBzS":-4900392211445067327,"tjZq":-8499833837188603423},"stringDateField":"2006-07-03","stringDateTimeField":"1941-03-21T01:47:12Z","stringField":"wnMUHJNCP","stringTimeField":"01:50:17.47Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":-349,"numField":-87.77936006241805,"stringDateField":"2006-07-03","stringDateTimeField":"1941-03-21T01:47:12Z","stringField":"wnMUHJNCP","stringTimeField":"01:50:17.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2863,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2863,"uuid":"9e0a89be-5655-11ee-b401-675ed0f8e89b"},"arrayField":["nolFfwGUX","KrGRFT","OqQUnCZ","mXTmDuGa","WVxDHa","lcGyrVS","lZYiiBvF"],"boolField":true,"intField":907,"numField":106.69658022071648,"objField":{"RQQxDC":-8272020637349304771,"dYkzTBIB":-5221278869520397941,"ksDZgqwD":-3236285648465449770,"sPybUY":-4057810548930046168,"uuDWfllGHA":2917389976860397191},"stringDateField":"1980-06-29","stringDateTimeField":"2007-02-11T06:55:40Z","stringField":"MjLXNaFg","stringTimeField":"07:47:32.25Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":907,"numField":106.69658022071648,"stringDateField":"1980-06-29","stringDateTimeField":"2007-02-11T06:55:40Z","stringField":"MjLXNaFg","stringTimeField":"07:47:32.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2864,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2864,"uuid":"9e0a89be-5655-11ee-b801-675ed0f8e89b"},"arrayField":["LsayGswH","dZtxTV","GqXEWxNOb","AIFpFo","xmyVhEhhN","tgMLIN","mQbaQH"],"boolField":true,"intField":205,"numField":594.0326475518718,"objField":{"DBQzOuGI":-5398785162746784362,"IsShzuSW":6574394365284249820,"XdBJAsb":2369684382822177202,"ffGNm":362774359752966205,"rkSvNmX":-5099919744110731882},"stringDateField":"1924-12-22","stringDateTimeField":"2013-10-01T00:51:00Z","stringField":"jQov","stringTimeField":"17:05:18.14Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":205,"numField":594.0326475518718,"stringDateField":"1924-12-22","stringDateTimeField":"2013-10-01T00:51:00Z","stringField":"jQov","stringTimeField":"17:05:18.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2865,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2865,"uuid":"9e0a89be-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ocFpewB","oodRit","NYBorcrqUv","BCvQD","ytumDSz","cLsYUs","jLiT","srxTiVl","NjzALmiSR","fmSnyhleoU"],"boolField":true,"intField":426,"numField":150.5374635793195,"objField":{"AKxMecVx":698742849693381907,"Ccgv":-5409342275741549037,"Lozfd":-2852557726928367357,"WICXJT":-7129458043567499849,"aJxbGv":7239315206673500878,"fZWCp":9170117886574982251,"mHHrt":-37162813911727858,"nTOiM":-3824763565204309295,"wqOEKbspc":8178758134518795901,"xnTaGUeC":6388483850932407203},"stringDateField":"1963-09-27","stringDateTimeField":"1956-04-15T11:58:27Z","stringField":"dJlnSM","stringTimeField":"10:33:56.32Z"},"flow_published_at":"2023-09-18T19:00:21.876371Z","intField":426,"numField":150.5374635793195,"stringDateField":"1963-09-27","stringDateTimeField":"1956-04-15T11:58:27Z","stringField":"dJlnSM","stringTimeField":"10:33:56.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2866,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2866,"uuid":"9e0a89bf-5655-11ee-8001-675ed0f8e89b"},"arrayField":["JMZSQJi","mDMsKk","nGISawBZUf","VPkFBaU","VkCFZLaHv","hXBSEMFLX","XgwNbxO","SGCVL"],"boolField":true,"intField":569,"numField":-730.1200977766837,"objField":{"HhXXJZZw":2987934185189776334,"MAWOzgj":-7758824714397117713,"PgnNunUk":-1236820770649490777,"XHvmsxF":-5241963555250882319,"fzKyLdtIH":-7080578723616480449,"lgGFa":434848524779269185,"rvcoiMHfb":8598952522938446437},"stringDateField":"1951-08-27","stringDateTimeField":"2020-03-08T10:27:53Z","stringField":"OzHaRXEkEM","stringTimeField":"06:38:42.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":569,"numField":-730.1200977766837,"stringDateField":"1951-08-27","stringDateTimeField":"2020-03-08T10:27:53Z","stringField":"OzHaRXEkEM","stringTimeField":"06:38:42.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2867,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2867,"uuid":"9e0a89bf-5655-11ee-8401-675ed0f8e89b"},"arrayField":["owbBWeb","uUaHIXaU"],"boolField":false,"intField":-221,"numField":183.73295008627787,"objField":{"LbdvsJ":-448287241129179887,"QKWgp":-398341230049841830,"QdguVKn":-1578235833042904811,"RwswD":-2256772413348570519,"nNPYqYXMxu":-2001216941173152109,"sSYLG":1013143100205233018,"uMZRuR":-2417086350942786167,"wpyFow":4105478197846806406,"wsRSUV":4848193348828118726},"stringDateField":"1931-08-26","stringDateTimeField":"1953-12-29T02:06:04Z","stringField":"caGE","stringTimeField":"01:06:30.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":-221,"numField":183.73295008627787,"stringDateField":"1931-08-26","stringDateTimeField":"1953-12-29T02:06:04Z","stringField":"caGE","stringTimeField":"01:06:30.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2868,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2868,"uuid":"9e0a89bf-5655-11ee-8801-675ed0f8e89b"},"arrayField":["vGYwtpVp"],"boolField":true,"intField":22,"numField":-928.4786591887436,"objField":{"EoTrBfj":-427487668268925938,"GWLpBtU":6691196348604824564,"HQTmT":2245519322647797378,"HoSzEHqMm":-3947151603796888121,"LKCFRkkS":5142281006153777876,"PnwgmBSmwp":8623072022024234137,"hpyPbgrpjh":5470850109019375186,"lpVZH":-7046459221737196065,"mKXKFVDhy":4799503992095937045},"stringDateField":"2018-01-28","stringDateTimeField":"1920-05-16T00:29:17Z","stringField":"JIAlMzlmZ","stringTimeField":"12:46:19.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":22,"numField":-928.4786591887436,"stringDateField":"2018-01-28","stringDateTimeField":"1920-05-16T00:29:17Z","stringField":"JIAlMzlmZ","stringTimeField":"12:46:19.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2869,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2869,"uuid":"9e0a89bf-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["kLRwYSER","shpCEn","ytVx","SZJU","XcYxAJXzP","xkbj"],"boolField":false,"intField":902,"numField":-165.17719927768638,"objField":{"VQTSxQ":1545769847404107283,"bGYfC":-1564846520697543473,"gBzkZsNgoU":-3538855592890352019,"lWOfQuKtJS":4841440006420660872,"mDzxcWlnd":-2393584472297781405,"nEwq":376285275662755194,"pgsAqnKHEJ":-4333484941297494900},"stringDateField":"1935-06-13","stringDateTimeField":"1963-07-24T13:28:44Z","stringField":"zswOeH","stringTimeField":"19:29:10.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":902,"numField":-165.17719927768638,"stringDateField":"1935-06-13","stringDateTimeField":"1963-07-24T13:28:44Z","stringField":"zswOeH","stringTimeField":"19:29:10.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2870,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2870,"uuid":"9e0a89bf-5655-11ee-9001-675ed0f8e89b"},"arrayField":["SSPuug","XvdNTgaS","meEZrk"],"boolField":true,"intField":-503,"numField":756.6289747620518,"objField":{"OtIOoJHiIP":957602754901276465,"QzHYqXawlM":8611235800466046429,"rlXZw":-3623031452023915649,"zGkaTz":-7304895500100151880},"stringDateField":"1905-08-02","stringDateTimeField":"2008-01-09T02:13:11Z","stringField":"czjHFRObVW","stringTimeField":"19:25:29.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":-503,"numField":756.6289747620518,"stringDateField":"1905-08-02","stringDateTimeField":"2008-01-09T02:13:11Z","stringField":"czjHFRObVW","stringTimeField":"19:25:29.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2871,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2871,"uuid":"9e0a89bf-5655-11ee-9401-675ed0f8e89b"},"arrayField":["JjXFwIGgbE","ZVlHRnrM","Itwtyeo","XouAV","cGFQctoy","neQnXwnHb"],"boolField":true,"intField":380,"numField":-466.6660564473156,"objField":{"BHjn":-410429389167604523,"IfLf":3075687672545624332,"RvCvegw":4676135659369674738,"gwtEGkZ":-7192746181792544540,"tyNNbvJnMw":4306096417678503032,"zGGJZ":-7771826004880778948},"stringDateField":"2010-07-10","stringDateTimeField":"1986-06-07T03:07:27Z","stringField":"ncHL","stringTimeField":"02:31:07.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":380,"numField":-466.6660564473156,"stringDateField":"2010-07-10","stringDateTimeField":"1986-06-07T03:07:27Z","stringField":"ncHL","stringTimeField":"02:31:07.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2872,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2872,"uuid":"9e0a89bf-5655-11ee-9801-675ed0f8e89b"},"arrayField":["MwioKn","amzxwPoi","DskrD","LRZOJk","ENDFg","QrzUeQ"],"boolField":false,"intField":-770,"numField":-902.339088410863,"objField":{"QHNYVadnW":5460697067877214306,"TLsEsIVfO":4882504530770881812,"kUwzEO":2944182226592061682,"yvaMjk":1551228079919766489},"stringDateField":"1984-07-09","stringDateTimeField":"1941-02-22T03:16:46Z","stringField":"nBBNnxxaM","stringTimeField":"13:35:32.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":-770,"numField":-902.339088410863,"stringDateField":"1984-07-09","stringDateTimeField":"1941-02-22T03:16:46Z","stringField":"nBBNnxxaM","stringTimeField":"13:35:32.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2873,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2873,"uuid":"9e0a89bf-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["cHwkNGY","DxIeWx","osEUZs","zMpPfeNKR","wSBcvHTX","tcTXZ"],"boolField":true,"intField":-962,"numField":422.32897558861794,"objField":{"GVvNQwE":-4006458806936917134,"ShvtJ":48360963762658105,"kUoAnO":-6953069547102678294,"nruPO":4803664063463052506},"stringDateField":"1972-12-09","stringDateTimeField":"2020-06-04T04:27:36Z","stringField":"Ebtc","stringTimeField":"05:43:29.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":-962,"numField":422.32897558861794,"stringDateField":"1972-12-09","stringDateTimeField":"2020-06-04T04:27:36Z","stringField":"Ebtc","stringTimeField":"05:43:29.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2874,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2874,"uuid":"9e0a89bf-5655-11ee-a001-675ed0f8e89b"},"arrayField":["EVEpN","YwzWTuVmh","ORefU","rdJphFnfA","ZOxpoRbnl","QkZT","Rjpr","sqCEm","BtXFUrWjQ","FwCPeRHB"],"boolField":false,"intField":182,"numField":-126.57394040259628,"objField":{"BHAzJcs":4964642188851097311,"EXENMcnqbr":4671340242858192120,"TdTiU":8109026230607550128,"aTROsGUNv":-5189109476955938146,"eTpC":4882466372120984240,"gZkS":7943902036159457889,"lFxEOcIxat":-2583630431782314305,"xrJOsuRnru":1480269901044737634},"stringDateField":"2016-12-13","stringDateTimeField":"1946-05-15T06:52:16Z","stringField":"LFsdjl","stringTimeField":"15:11:55.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":182,"numField":-126.57394040259628,"stringDateField":"2016-12-13","stringDateTimeField":"1946-05-15T06:52:16Z","stringField":"LFsdjl","stringTimeField":"15:11:55.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2875,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2875,"uuid":"9e0a89bf-5655-11ee-a401-675ed0f8e89b"},"arrayField":["jyTrkQg","QxUU","lGpYTPcAN","DrOl","PIvvElCfiD","DsSA","YXHYd"],"boolField":false,"intField":333,"numField":843.0520643295989,"objField":{"ADkRnBo":473900278484777895,"pMRcZqa":2198470358813995807},"stringDateField":"1999-05-28","stringDateTimeField":"1923-12-28T00:45:27Z","stringField":"grkrq","stringTimeField":"22:14:07.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":333,"numField":843.0520643295989,"stringDateField":"1999-05-28","stringDateTimeField":"1923-12-28T00:45:27Z","stringField":"grkrq","stringTimeField":"22:14:07.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2876,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2876,"uuid":"9e0a89bf-5655-11ee-a801-675ed0f8e89b"},"arrayField":["JrXQBYn","EsPodL","zfJXEJ","dyTu","EuwOwz","QxZuEzM","EptuEUp","XqiEePlD"],"boolField":false,"intField":416,"numField":-471.1509517142323,"objField":{"BtbcLuCFMJ":-5963916640230967331,"FqrZtg":-2359309966432428620,"Hyam":-6558368607014458228,"KVZLTdKfZ":1593025977870435881,"STDfAQun":2389086517352419937,"WrlITftBE":550405070042656340,"knIAo":4658397182701515452,"qkLjzdjCb":-3182953903100356639},"stringDateField":"2007-01-31","stringDateTimeField":"2001-09-22T11:01:56Z","stringField":"tBzoyEyj","stringTimeField":"05:55:13.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":416,"numField":-471.1509517142323,"stringDateField":"2007-01-31","stringDateTimeField":"2001-09-22T11:01:56Z","stringField":"tBzoyEyj","stringTimeField":"05:55:13.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2877,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2877,"uuid":"9e0a89bf-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["MDfgrFN","TnYChre","yQZduJ","CotqMqF","BECziCe","PuNkBltJh","qwRd","kCCNr","bbfWZluNG","mYEHc"],"boolField":true,"intField":346,"numField":195.88524389056673,"objField":{"SfapyfHW":4724052395779815173,"ZutijrGmbp":8369796956860327634,"cJmoewUP":-3405863397321553071},"stringDateField":"1993-04-07","stringDateTimeField":"1944-11-15T15:44:59Z","stringField":"OfmyHn","stringTimeField":"19:54:25.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":346,"numField":195.88524389056673,"stringDateField":"1993-04-07","stringDateTimeField":"1944-11-15T15:44:59Z","stringField":"OfmyHn","stringTimeField":"19:54:25.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2878,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2878,"uuid":"9e0a89bf-5655-11ee-b001-675ed0f8e89b"},"arrayField":["FNjUZHRe","vwmKQaf","VURMHAO","sTnWdsg","DpwdF","qMIFqImwxa","fJRLSfBiUU","NKFbi","cTfECdF"],"boolField":false,"intField":-227,"numField":94.24373148347388,"objField":{"FZnBzaaC":7723645666068206404,"GnplUzSGIW":-7964749906473049555,"PvztXerDb":-8339135901732482841,"kuoOPm":1261474504666263337,"kvQejNH":5779885406563686534},"stringDateField":"1912-03-04","stringDateTimeField":"2009-05-29T15:27:45Z","stringField":"DcHNnkuyqH","stringTimeField":"09:25:08.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":-227,"numField":94.24373148347388,"stringDateField":"1912-03-04","stringDateTimeField":"2009-05-29T15:27:45Z","stringField":"DcHNnkuyqH","stringTimeField":"09:25:08.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2879,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2879,"uuid":"9e0a89bf-5655-11ee-b401-675ed0f8e89b"},"arrayField":["qGyIQFVm","uWNm","hnhZSUNNti","jUASXOfPBK","WncUFNSf","jRBvevss"],"boolField":true,"intField":797,"numField":-994.1445453897866,"objField":{"AKDCyGYk":5670329188301610496,"IpbCCpEOmS":3219041356577867939,"TcnCxRZFy":-73810431237345473,"TiHcMW":6735529353838514524,"VhFhNjV":6605461475394020142,"phZanLHCyN":-7997825027163569988,"tynYbmVz":8338216422336636531,"xJAH":-8598049114969376771,"zNNm":8563062244467338114},"stringDateField":"1950-12-29","stringDateTimeField":"1949-07-18T16:43:11Z","stringField":"vWRI","stringTimeField":"11:47:53.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":797,"numField":-994.1445453897866,"stringDateField":"1950-12-29","stringDateTimeField":"1949-07-18T16:43:11Z","stringField":"vWRI","stringTimeField":"11:47:53.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2880,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2880,"uuid":"9e0a89bf-5655-11ee-b801-675ed0f8e89b"},"arrayField":["bQJbKvnClP","GVhrz","UZEE","yDWFP"],"boolField":false,"intField":-621,"numField":353.40481203579486,"objField":{"CLQXHjK":1839041109173488118,"PEJptlOlpb":-3499010467568239662,"PQVmPOGx":-4649313517878967617,"SDcn":-4253795394344569165,"gAYQP":3802288510071026468,"oMuyaaroFd":3283428181788016005,"wrDEqcO":5538510401875532232,"ykfKwfBFMd":-3357141279507153553},"stringDateField":"2022-11-27","stringDateTimeField":"2017-06-26T19:00:54Z","stringField":"OgZT","stringTimeField":"15:29:22.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":-621,"numField":353.40481203579486,"stringDateField":"2022-11-27","stringDateTimeField":"2017-06-26T19:00:54Z","stringField":"OgZT","stringTimeField":"15:29:22.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2881,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2881,"uuid":"9e0a89bf-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["UZSHBx","pSyMbRuucj","SGBwoK","eQHvowkFH","zcQh","AOUJhREyNI","ZaFMQZnRIJ","zbFLfMKvKR","uZaSeTRYW"],"boolField":true,"intField":-925,"numField":-134.32841064817137,"objField":{"CGgIOJLt":-2629789114659540163,"MHHwZOTK":-3761703698863950218,"RjXHdR":2660823216349788718,"ndDsCNfjD":6746962652786647037,"swtjgiU":-1154350107056517070,"yrLW":1148029428915163361},"stringDateField":"1954-02-19","stringDateTimeField":"2003-11-26T02:24:17Z","stringField":"spZmjlSm","stringTimeField":"01:45:26.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763711Z","intField":-925,"numField":-134.32841064817137,"stringDateField":"1954-02-19","stringDateTimeField":"2003-11-26T02:24:17Z","stringField":"spZmjlSm","stringTimeField":"01:45:26.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2882,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2882,"uuid":"9e0a89c0-5655-11ee-8001-675ed0f8e89b"},"arrayField":["yedDs","tWtNiPizk","BQScmWHJf","cuSTBPEoQ","bhoDh","bUFfneZLE","XRBRF","wFyqagyYD"],"boolField":false,"intField":295,"numField":326.3627498135044,"objField":{"idbWiatgg":-7271490642198439385,"khhtvjj":-7636900246633635408},"stringDateField":"1945-06-26","stringDateTimeField":"1940-12-08T15:14:36Z","stringField":"ctnRc","stringTimeField":"04:11:33.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":295,"numField":326.3627498135044,"stringDateField":"1945-06-26","stringDateTimeField":"1940-12-08T15:14:36Z","stringField":"ctnRc","stringTimeField":"04:11:33.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2883,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2883,"uuid":"9e0a89c0-5655-11ee-8401-675ed0f8e89b"},"arrayField":["BZOfx","AgCaFemy","MfKmdxI","zcFok","TxPDaLW"],"boolField":false,"intField":123,"numField":-854.3406220178089,"objField":{"liHqQcgtz":1450316733777188223,"qdErqx":-9003450756849214764,"xwrXshYeE":1130436887014047120},"stringDateField":"1981-09-25","stringDateTimeField":"2008-01-18T02:02:45Z","stringField":"FvJoqbA","stringTimeField":"02:38:08.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":123,"numField":-854.3406220178089,"stringDateField":"1981-09-25","stringDateTimeField":"2008-01-18T02:02:45Z","stringField":"FvJoqbA","stringTimeField":"02:38:08.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2884,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2884,"uuid":"9e0a89c0-5655-11ee-8801-675ed0f8e89b"},"arrayField":["IlAF","XibjL","WPEt","pJlN","mrYxEVg"],"boolField":false,"intField":644,"numField":776.403224567127,"objField":{"EEuD":6510577805131113274},"stringDateField":"1918-09-13","stringDateTimeField":"1977-10-19T14:38:05Z","stringField":"pbyYm","stringTimeField":"20:38:53.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":644,"numField":776.403224567127,"stringDateField":"1918-09-13","stringDateTimeField":"1977-10-19T14:38:05Z","stringField":"pbyYm","stringTimeField":"20:38:53.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2885,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2885,"uuid":"9e0a89c0-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["WNvvP","QDkLmc"],"boolField":false,"intField":267,"numField":618.578419284076,"objField":{"BxNFQzhoMw":-4818466700756730551,"KVTpKE":-4865638091740174907,"iVrRl":-3767295519839424466,"sMbyGnz":5793850516487963643,"uvBi":-805351998237010451},"stringDateField":"2013-08-20","stringDateTimeField":"1974-04-25T09:10:15Z","stringField":"JXjcaAUOYX","stringTimeField":"08:36:20.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":267,"numField":618.578419284076,"stringDateField":"2013-08-20","stringDateTimeField":"1974-04-25T09:10:15Z","stringField":"JXjcaAUOYX","stringTimeField":"08:36:20.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2886,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2886,"uuid":"9e0a89c0-5655-11ee-9001-675ed0f8e89b"},"arrayField":["wiDezBT","fvrRi","JbzCz","GBkHG","eCwaCNsySr","fbRxHbq","rXgjxdHrdM","smMtlW","NWdX"],"boolField":true,"intField":89,"numField":-281.29527446274915,"objField":{"FjGk":-7167109670415056894,"Trayu":3597775704935921905,"cinR":6067782948102012907,"sniPVdqBv":-7993227882870734084},"stringDateField":"2015-03-31","stringDateTimeField":"1959-11-13T05:25:55Z","stringField":"SMeenEFWb","stringTimeField":"00:09:11.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":89,"numField":-281.29527446274915,"stringDateField":"2015-03-31","stringDateTimeField":"1959-11-13T05:25:55Z","stringField":"SMeenEFWb","stringTimeField":"00:09:11.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2887,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2887,"uuid":"9e0a89c0-5655-11ee-9401-675ed0f8e89b"},"arrayField":["DCbyhQgiy","ZcZR","OKcthSYB","PzhYRmwoo","TWXXdeU","XsCwVRTIo","bkfxS","cWgbCvVRd"],"boolField":false,"intField":-365,"numField":-539.4259880330831,"objField":{"QPsNk":-8153831998015783371,"nOIAfIX":1063742307469087002},"stringDateField":"1918-11-06","stringDateTimeField":"1986-01-11T21:52:11Z","stringField":"sigD","stringTimeField":"10:29:18.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":-365,"numField":-539.4259880330831,"stringDateField":"1918-11-06","stringDateTimeField":"1986-01-11T21:52:11Z","stringField":"sigD","stringTimeField":"10:29:18.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2888,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2888,"uuid":"9e0a89c0-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ezQcNrv","BIrKZHrxKq","RLwO","EyWCi","lzUJxrQ"],"boolField":false,"intField":603,"numField":16.853125301835803,"objField":{"GxHCWe":-8716587503611871334,"VZmRDQ":-1010772650954504430,"bgegAeB":4643196724664418868,"cjQTA":-35258807617194097,"dEjnfbLTP":8641075034986241042,"kvYrZ":-6383034377855907745},"stringDateField":"1965-01-12","stringDateTimeField":"1981-09-10T21:18:23Z","stringField":"ZALcbDSq","stringTimeField":"12:52:11.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":603,"numField":16.853125301835803,"stringDateField":"1965-01-12","stringDateTimeField":"1981-09-10T21:18:23Z","stringField":"ZALcbDSq","stringTimeField":"12:52:11.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2889,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2889,"uuid":"9e0a89c0-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["nseUFXr","ttXNbwQ","ilTtf","VYidTjo","NMUZHktcE","UYqHDeRh","KcTOrXmo","NNmCO","hDNn"],"boolField":true,"intField":342,"numField":-614.2319730330025,"objField":{"FQkEPdokuU":7428686113777759141,"HSMkStiBFs":-7182306989440847466,"LPOZC":5113745499249720344,"RjSdXwi":7965008397867309285,"VdCxaH":784389526259890139,"brWBDM":-3484425235804692790,"mGPkUFKqN":-8715094732202705312,"qMUbrlIMPo":7464860665487013714,"rbuJhF":2052351190289717256,"tLODy":3448790260901344460},"stringDateField":"1959-10-02","stringDateTimeField":"2015-04-03T03:58:25Z","stringField":"fWGgLPjyCP","stringTimeField":"11:29:06.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":342,"numField":-614.2319730330025,"stringDateField":"1959-10-02","stringDateTimeField":"2015-04-03T03:58:25Z","stringField":"fWGgLPjyCP","stringTimeField":"11:29:06.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2890,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2890,"uuid":"9e0a89c0-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ailw","cTBERCvuFb","agIXqC","jynaxGp","POsgC","JfhGP","nUfWjB","lvdnfYP","tzCTHfo"],"boolField":false,"intField":-353,"numField":-470.3951863052147,"objField":{"KvEEzTaW":-252361070424690545,"QjBn":3772322992244538083,"RQkX":-5439046414688268052,"hLLVtGa":-7755635667602698478,"kvWzxYaNS":2108923166745280976,"xjpgb":473479338017881696,"yDGWOUI":6422690198386821880},"stringDateField":"1967-01-18","stringDateTimeField":"2008-06-03T09:38:12Z","stringField":"IyRsgp","stringTimeField":"12:12:51.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":-353,"numField":-470.3951863052147,"stringDateField":"1967-01-18","stringDateTimeField":"2008-06-03T09:38:12Z","stringField":"IyRsgp","stringTimeField":"12:12:51.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2891,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2891,"uuid":"9e0a89c0-5655-11ee-a401-675ed0f8e89b"},"arrayField":["dWjSSJVfS","orkdKJZP","rbhKFXjcs","fuKDVaWTW","Stlmjai","HAzHKaaYyy"],"boolField":true,"intField":801,"numField":724.6770461822094,"objField":{"EEdn":6405332479945407150},"stringDateField":"1916-09-08","stringDateTimeField":"1919-10-14T00:03:59Z","stringField":"aGozAnPJj","stringTimeField":"02:50:01.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":801,"numField":724.6770461822094,"stringDateField":"1916-09-08","stringDateTimeField":"1919-10-14T00:03:59Z","stringField":"aGozAnPJj","stringTimeField":"02:50:01.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2892,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2892,"uuid":"9e0a89c0-5655-11ee-a801-675ed0f8e89b"},"arrayField":["wlWt","TgIlIQM","RkLZIwDh","Wxpe","hoDmHKnn"],"boolField":false,"intField":919,"numField":474.55935283001537,"objField":{"UlLw":3536957104750954054,"XhuBDD":7306264440496003261,"YalaaEo":8661159751237287051,"ZGNXCorY":-8279087876973145015,"ZIJnAIT":-557439901982139061,"jXFHg":-7638478546003965984,"jexUkrPh":6910261286345777734,"kdlnxN":1133871820515571590,"xfNTePJmOQ":5057192996975221634,"yRdCN":6811413351935892607},"stringDateField":"2002-09-25","stringDateTimeField":"2015-01-26T20:02:34Z","stringField":"zqInbqlFqR","stringTimeField":"13:16:50.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":919,"numField":474.55935283001537,"stringDateField":"2002-09-25","stringDateTimeField":"2015-01-26T20:02:34Z","stringField":"zqInbqlFqR","stringTimeField":"13:16:50.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2893,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2893,"uuid":"9e0a89c0-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["kHvEpQ","xwfIYxKuCu"],"boolField":true,"intField":-346,"numField":604.020396245504,"objField":{"AqOOgTG":-7021448021382936335,"CmvxMom":6850110369069481968,"UJzrr":-271621666824560157,"hpmKdLE":7794998159218274211,"jkDwEHIo":-140878371694661157,"oEoLYvDt":-3800815239778475793,"pCcud":-6706729957802797324,"syEeO":-5641939447058906445,"tAEwlMVy":-5819422336314486549},"stringDateField":"1907-01-25","stringDateTimeField":"1947-12-23T22:53:39Z","stringField":"Ackq","stringTimeField":"00:53:04.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":-346,"numField":604.020396245504,"stringDateField":"1907-01-25","stringDateTimeField":"1947-12-23T22:53:39Z","stringField":"Ackq","stringTimeField":"00:53:04.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2894,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2894,"uuid":"9e0a89c0-5655-11ee-b001-675ed0f8e89b"},"arrayField":["zGfVfKkRxg","qwNsyfCH","nbAVtj","dRGiPwI","pGxavGTeP"],"boolField":false,"intField":-258,"numField":693.1881174691898,"objField":{"LPfYoGJDP":-6621763847087126888,"VIjru":483834408833413385,"hRazy":8090056500245873013,"ihfigasAAi":6852694439942558688},"stringDateField":"1905-10-21","stringDateTimeField":"1939-01-23T08:40:40Z","stringField":"fqXOXb","stringTimeField":"20:50:09.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":-258,"numField":693.1881174691898,"stringDateField":"1905-10-21","stringDateTimeField":"1939-01-23T08:40:40Z","stringField":"fqXOXb","stringTimeField":"20:50:09.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2895,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2895,"uuid":"9e0a89c0-5655-11ee-b401-675ed0f8e89b"},"arrayField":["UCrJUtwn"],"boolField":false,"intField":696,"numField":42.663383138999535,"objField":{"CNXpy":-5793234355356874693,"LuNttHi":1016667049575831166,"NdCbXj":-7943261440655829011,"cQzz":4846346557983319418,"eZgt":5354075505485609312},"stringDateField":"1952-03-04","stringDateTimeField":"1943-12-16T23:31:36Z","stringField":"UCCQnvgrux","stringTimeField":"02:28:46.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":696,"numField":42.663383138999535,"stringDateField":"1952-03-04","stringDateTimeField":"1943-12-16T23:31:36Z","stringField":"UCCQnvgrux","stringTimeField":"02:28:46.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2896,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2896,"uuid":"9e0a89c0-5655-11ee-b801-675ed0f8e89b"},"arrayField":["LIjChIRHCt","cCgm","DuKnWd","uttICj","JDLJEKP","BLQIqF","vCiCgUBIN","VzggN","hThzPpqG","bgxyo"],"boolField":false,"intField":438,"numField":270.70026783474566,"objField":{"GRGsdGpUVE":-182838438205723456,"IZMssi":-8266960273869714546,"JGTZFF":9043984188483407084,"OLUq":-5451395106040943647,"RGRnfWV":4722962579629586759,"SydEsJovDv":-8186799004651421949,"UONk":-2043871907707237100,"VBavdMF":5318121204910221213,"dRWrD":2027743569340503979},"stringDateField":"2004-09-12","stringDateTimeField":"1918-10-22T11:46:27Z","stringField":"DowiMEfN","stringTimeField":"12:05:24.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":438,"numField":270.70026783474566,"stringDateField":"2004-09-12","stringDateTimeField":"1918-10-22T11:46:27Z","stringField":"DowiMEfN","stringTimeField":"12:05:24.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2897,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2897,"uuid":"9e0a89c0-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["wfFH"],"boolField":true,"intField":582,"numField":-845.7375933873483,"objField":{"GRkjVZHgR":-1966002263219515936,"IcyaGaj":-5096861460083509553,"UcIZFIRBo":-8721127899616297601,"YqDHGVgHrx":1400844729018413235,"dlLRohu":-3755606561089200425,"fuPU":-1533592284015912195,"iIeb":-9043695721317105641,"iyjZfNGiCb":-3157214230273241195,"peVSDmpdYu":-8825012137365638549},"stringDateField":"1965-12-25","stringDateTimeField":"1991-01-31T07:32:46Z","stringField":"QWsFYx","stringTimeField":"12:52:53.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763712Z","intField":582,"numField":-845.7375933873483,"stringDateField":"1965-12-25","stringDateTimeField":"1991-01-31T07:32:46Z","stringField":"QWsFYx","stringTimeField":"12:52:53.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2898,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2898,"uuid":"9e0a89c1-5655-11ee-8001-675ed0f8e89b"},"arrayField":["TpILXq","pUMl","TtOnGxxk","OWTc","ZpjxqvY","ivPkPJ","tLiDFMdRq","cPoLj","biTnpw"],"boolField":true,"intField":539,"numField":-832.5263751380835,"objField":{"AWLA":-1090172488074463790,"EeUqT":5748242557720582949,"HlbHoWiq":9096387714187174042,"LjxrVWK":-7359889662520332670,"NTvediylp":-6146002360853739646,"ouxSS":3980086102537093253,"qkYM":-6970258762921620918},"stringDateField":"2016-02-01","stringDateTimeField":"2014-05-26T22:38:00Z","stringField":"hLAE","stringTimeField":"05:30:30.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":539,"numField":-832.5263751380835,"stringDateField":"2016-02-01","stringDateTimeField":"2014-05-26T22:38:00Z","stringField":"hLAE","stringTimeField":"05:30:30.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2899,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2899,"uuid":"9e0a89c1-5655-11ee-8401-675ed0f8e89b"},"arrayField":["oLHJMKLPzy","qPHpNuk","taVC"],"boolField":true,"intField":-715,"numField":-999.0284470104742,"objField":{"NACrrt":7531649246845766143,"RYPAd":5672963529757134496,"SbNbLjZMSO":6571682317981421380,"fDEFDjAhDe":4709053220520910948,"fQNYIeT":-8594515543636813117,"hIVFrsJwtl":-7281116230563532274,"jUgqS":1953573816051978214,"mJnzpY":-4808559175993271420,"yFvLFWEmY":5653980440716647678},"stringDateField":"1963-04-24","stringDateTimeField":"1976-05-03T10:03:16Z","stringField":"lEWNnXN","stringTimeField":"08:15:22.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":-715,"numField":-999.0284470104742,"stringDateField":"1963-04-24","stringDateTimeField":"1976-05-03T10:03:16Z","stringField":"lEWNnXN","stringTimeField":"08:15:22.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2900,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2900,"uuid":"9e0a89c1-5655-11ee-8801-675ed0f8e89b"},"arrayField":["DsFCW","kWtserH","djvXWuK","LDiELCZbXk","njRaMUSW","WPiD"],"boolField":true,"intField":-6,"numField":67.76039935219535,"objField":{"BctXblev":2834924860269539948,"OZGfmJHxsS":-5946276568063409756,"SHYpgYN":-744237422375899551,"TzlXNAXiak":-5252139136129346707,"ejVdN":5421975651520474174,"raGwXNM":-2613918299302559639,"upStpJcw":3486736550946905017},"stringDateField":"1906-11-08","stringDateTimeField":"1977-11-24T17:24:09Z","stringField":"HlXuJDpjtd","stringTimeField":"05:13:20.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":-6,"numField":67.76039935219535,"stringDateField":"1906-11-08","stringDateTimeField":"1977-11-24T17:24:09Z","stringField":"HlXuJDpjtd","stringTimeField":"05:13:20.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2901,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2901,"uuid":"9e0a89c1-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["LUYZsKV","AFNXdVkFK","DKjBbb","AXZpvejR"],"boolField":true,"intField":191,"numField":-384.4351200587179,"objField":{"FKkU":-3010903598158225450,"HxlpTCG":-222700793347829943,"NghbPGNNZ":7896280837744223266,"RQSjbGlJH":135364830287735505,"TfdvwdPw":6115447296157787470,"ekswi":516305520734710692,"lBblDEW":3740623551488416808,"qpsrVD":6523490534494424862,"ryqNgzps":-2026460518898212999,"zCBJAEOT":3730418539611961053},"stringDateField":"1945-03-28","stringDateTimeField":"1977-06-20T08:37:39Z","stringField":"gyvuid","stringTimeField":"01:02:23.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":191,"numField":-384.4351200587179,"stringDateField":"1945-03-28","stringDateTimeField":"1977-06-20T08:37:39Z","stringField":"gyvuid","stringTimeField":"01:02:23.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2902,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2902,"uuid":"9e0a89c1-5655-11ee-9001-675ed0f8e89b"},"arrayField":["LgtzfdHKuf","BmfmXZpdT","wNyvMMkwV","gtYbaV","TiBfquLp","tskWGpJxv"],"boolField":false,"intField":-70,"numField":379.72199353342194,"objField":{"EnJhS":-3129245926810191103,"HxpLzKI":3091125385305559911,"KCiDPcH":1999251875153577356,"byVIyV":3866908569493582011,"kKfKv":-8553072984507325759,"qRTBiknMx":-1059090931282909156,"yBFyHp":1372257335572717655},"stringDateField":"1901-03-09","stringDateTimeField":"1938-09-29T10:57:45Z","stringField":"KkANOcLD","stringTimeField":"02:15:16.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":-70,"numField":379.72199353342194,"stringDateField":"1901-03-09","stringDateTimeField":"1938-09-29T10:57:45Z","stringField":"KkANOcLD","stringTimeField":"02:15:16.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2903,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2903,"uuid":"9e0a89c1-5655-11ee-9401-675ed0f8e89b"},"arrayField":["NCDPq","keDB","NpVMIW","GUhRvp"],"boolField":false,"intField":532,"numField":-995.813117474544,"objField":{"NiDbBGVRQ":-1434157310973747066,"XajO":-2451257453013343307,"afUqlygXC":6371992660081338920,"kCBvoipki":-462248981809817037,"tOvF":-7127060894693804351,"wkbfRYIEW":3062428517060644586},"stringDateField":"1971-10-30","stringDateTimeField":"1965-03-10T00:06:06Z","stringField":"RaRtvdxnu","stringTimeField":"12:43:16.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":532,"numField":-995.813117474544,"stringDateField":"1971-10-30","stringDateTimeField":"1965-03-10T00:06:06Z","stringField":"RaRtvdxnu","stringTimeField":"12:43:16.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2904,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2904,"uuid":"9e0a89c1-5655-11ee-9801-675ed0f8e89b"},"arrayField":["FlezP","bDBHRQ","wWJbNtmD","WAQvWaiZ","gvSEOOczUe","QzNu","cdBg","iuoniChGU","JXPV"],"boolField":false,"intField":-817,"numField":-499.87047809029383,"objField":{"HBUIpg":3672495747429479951,"PRQY":5672749230895792718,"SFwN":5355428801472933129,"eLPoM":-1973854553820125364,"oxYFYByka":1606584204833833087,"sFqBL":-4857212655936619445,"wLWPnCDOtQ":818156510134157335},"stringDateField":"1934-04-17","stringDateTimeField":"1952-03-20T08:36:35Z","stringField":"DoqXPYp","stringTimeField":"12:02:31.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":-817,"numField":-499.87047809029383,"stringDateField":"1934-04-17","stringDateTimeField":"1952-03-20T08:36:35Z","stringField":"DoqXPYp","stringTimeField":"12:02:31.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2905,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2905,"uuid":"9e0a89c1-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["sSHz","FeTWHZjqDG"],"boolField":false,"intField":-801,"numField":332.03557477133506,"objField":{"GWMLDOpGEH":8698443463516960893,"PLcekTODb":3015723863721393809,"PrPvBBiNWE":6784099026629626843,"QjavQZn":-684545918313513069,"RMjdlhmvJA":-2320899527458393858,"ehdbdw":4395182290242978669,"gaUfU":-5316327398083860327,"kOBslrI":799686882743084711},"stringDateField":"2018-09-24","stringDateTimeField":"1931-07-13T04:14:43Z","stringField":"qmlwOrbLe","stringTimeField":"16:22:19.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":-801,"numField":332.03557477133506,"stringDateField":"2018-09-24","stringDateTimeField":"1931-07-13T04:14:43Z","stringField":"qmlwOrbLe","stringTimeField":"16:22:19.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2906,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2906,"uuid":"9e0a89c1-5655-11ee-a001-675ed0f8e89b"},"arrayField":["iNnw","ooPhTGKeA","mqTSz","jWtJgW","tbzEXTFsRk","TfqDOgp","NbZHs"],"boolField":true,"intField":-241,"numField":474.96090988245186,"objField":{"EuZeCG":1909079479087878629,"UvdtTAooC":7604355662085230218,"tFgDDoiR":-8919297360922548790,"xIKCKKVK":-3992403945280478952},"stringDateField":"1973-09-12","stringDateTimeField":"1950-12-22T13:41:50Z","stringField":"swdvP","stringTimeField":"23:10:05.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":-241,"numField":474.96090988245186,"stringDateField":"1973-09-12","stringDateTimeField":"1950-12-22T13:41:50Z","stringField":"swdvP","stringTimeField":"23:10:05.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2907,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2907,"uuid":"9e0a89c1-5655-11ee-a401-675ed0f8e89b"},"arrayField":["cEkzQoO","KiMUpSrIDj","QWAmWcSgHa","DYnEGLJpM","iFlP","BZLzBxTWw","bRBF","uHMwid","KOiTtDQf"],"boolField":true,"intField":322,"numField":-260.18447918161934,"objField":{"Fjou":-9042823394766328309},"stringDateField":"1956-02-03","stringDateTimeField":"1947-05-22T17:49:17Z","stringField":"mBVSBAWvp","stringTimeField":"05:29:29.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":322,"numField":-260.18447918161934,"stringDateField":"1956-02-03","stringDateTimeField":"1947-05-22T17:49:17Z","stringField":"mBVSBAWvp","stringTimeField":"05:29:29.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2908,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2908,"uuid":"9e0a89c1-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nLpxhjpz","iiHD","GLWxwUb","RiZXMF","wrhlUrHSxE","ssvdc"],"boolField":false,"intField":477,"numField":989.6695517658034,"objField":{"EvEubxLSy":-936592057871432498,"PfXIRaBm":-394869597332307558,"SbbDc":7705400514183723809,"YkAaXloB":-1091232872988497135,"mdFS":-8012722720202812007,"nXJnNtl":-2281449494445068550,"xznRvI":-1918649280719157738},"stringDateField":"2018-09-11","stringDateTimeField":"1933-07-18T20:41:17Z","stringField":"OXEg","stringTimeField":"16:06:39.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":477,"numField":989.6695517658034,"stringDateField":"2018-09-11","stringDateTimeField":"1933-07-18T20:41:17Z","stringField":"OXEg","stringTimeField":"16:06:39.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2909,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2909,"uuid":"9e0a89c1-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["dqRksHCZEI","EIeIs"],"boolField":true,"intField":-604,"numField":96.60383805589468,"objField":{"CwcTomVs":-7026275385739065542,"QiDm":6694501323717478403,"QjfZH":-4545194283750387715,"eKSNeqrud":2697471637331155168,"eQoWHJKwP":-730128467258800973,"ezKTzM":3278047203594545308,"hbIbTR":8609938434578304938,"robrFRNs":5266129326263033239,"zqDm":-3755658613016463103,"zzDsrHdjs":-7944261805541617888},"stringDateField":"2004-11-02","stringDateTimeField":"2009-03-04T07:30:49Z","stringField":"SuRdiIJML","stringTimeField":"06:07:58.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":-604,"numField":96.60383805589468,"stringDateField":"2004-11-02","stringDateTimeField":"2009-03-04T07:30:49Z","stringField":"SuRdiIJML","stringTimeField":"06:07:58.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2910,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2910,"uuid":"9e0a89c1-5655-11ee-b001-675ed0f8e89b"},"arrayField":["HusRjWXFd","lGkzelocC"],"boolField":false,"intField":554,"numField":448.5144971898467,"objField":{"zTGvdRaxF":2772838771739873962},"stringDateField":"1980-11-19","stringDateTimeField":"1983-10-15T23:32:20Z","stringField":"ThVnWZLAD","stringTimeField":"15:02:23.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":554,"numField":448.5144971898467,"stringDateField":"1980-11-19","stringDateTimeField":"1983-10-15T23:32:20Z","stringField":"ThVnWZLAD","stringTimeField":"15:02:23.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2911,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2911,"uuid":"9e0a89c1-5655-11ee-b401-675ed0f8e89b"},"arrayField":["GbmIJmxWWJ","LtcTIybiHD","ePGKKehPT","dXfL","mnYK","lcfMjSlxDe","EBAO","wRlqYJmkgB","VBuNcU"],"boolField":true,"intField":-806,"numField":676.6618194792085,"objField":{"XrgxyC":937534468224650797,"iTMfw":-894778417330926408,"kuzwSJI":445165455453125012,"llAJuDSWfS":6478629942297520858},"stringDateField":"1980-06-14","stringDateTimeField":"1938-03-11T02:12:45Z","stringField":"OmKT","stringTimeField":"16:11:24.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":-806,"numField":676.6618194792085,"stringDateField":"1980-06-14","stringDateTimeField":"1938-03-11T02:12:45Z","stringField":"OmKT","stringTimeField":"16:11:24.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2912,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2912,"uuid":"9e0a89c1-5655-11ee-b801-675ed0f8e89b"},"arrayField":["IXSgTI","bfvQcHzqZ","PqNq","QYIFyWxSkf","LZIxsoO","VSwiOi","VRmhy","RLgN"],"boolField":false,"intField":-773,"numField":889.1536606137382,"objField":{"FoWjIsZN":2313244396141510156,"PvwIdgyLzB":4651496213716618183,"TUTyVppvQa":1487263501219892314,"YHNVzKvaKF":-3313598664779676233,"wGDMBr":-6736953901415642509},"stringDateField":"1906-05-17","stringDateTimeField":"1950-04-13T12:46:29Z","stringField":"FrIajDFwT","stringTimeField":"05:21:54.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":-773,"numField":889.1536606137382,"stringDateField":"1906-05-17","stringDateTimeField":"1950-04-13T12:46:29Z","stringField":"FrIajDFwT","stringTimeField":"05:21:54.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2913,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2913,"uuid":"9e0a89c1-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["JveA","qDBIKlYDLI","EjBMMpYm","NeNozQBur","FuNhd","JXlFliSDds","awNyy","gocDoyk"],"boolField":true,"intField":-497,"numField":78.07241234157836,"objField":{"NtJQ":-4290123532270024906,"RFAjRglUII":-1390789561105874574,"vYkEtMdYW":-8653202299013017380},"stringDateField":"1993-10-15","stringDateTimeField":"1963-03-24T08:02:30Z","stringField":"AIefyy","stringTimeField":"20:58:50.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763713Z","intField":-497,"numField":78.07241234157836,"stringDateField":"1993-10-15","stringDateTimeField":"1963-03-24T08:02:30Z","stringField":"AIefyy","stringTimeField":"20:58:50.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2914,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2914,"uuid":"9e0a89c2-5655-11ee-8001-675ed0f8e89b"},"arrayField":["LYBX","yoRzRWkI"],"boolField":false,"intField":-489,"numField":-816.6076804339514,"objField":{"ABQeu":-8286726185881783486,"UlXhH":8893617534111497942,"fbKDS":-4537593299702702588},"stringDateField":"1961-08-09","stringDateTimeField":"1914-04-01T22:11:59Z","stringField":"OshYjSum","stringTimeField":"03:49:20.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":-489,"numField":-816.6076804339514,"stringDateField":"1961-08-09","stringDateTimeField":"1914-04-01T22:11:59Z","stringField":"OshYjSum","stringTimeField":"03:49:20.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2915,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2915,"uuid":"9e0a89c2-5655-11ee-8401-675ed0f8e89b"},"arrayField":["NInCP","JVSU","aUoS","gyYctl","Gddaga","fnNHWOA","UiHk"],"boolField":false,"intField":-77,"numField":-604.1866314384657,"objField":{"ToEWapXtGG":7250353092328436821,"YCXa":-1323506623744607490,"fksNEFYMjq":6891946494001390009,"lvsIhoM":-5184901949600951314,"xzcCYiHHMi":3886265459641916444},"stringDateField":"1943-04-07","stringDateTimeField":"1905-01-04T22:54:42Z","stringField":"QpItzuJKLq","stringTimeField":"02:55:49.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":-77,"numField":-604.1866314384657,"stringDateField":"1943-04-07","stringDateTimeField":"1905-01-04T22:54:42Z","stringField":"QpItzuJKLq","stringTimeField":"02:55:49.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2916,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2916,"uuid":"9e0a89c2-5655-11ee-8801-675ed0f8e89b"},"arrayField":["pmDWMyWEl","ECnXCSC","dSznrNE","VeOTKEND","mKDVCOf","GTOXwdeS","tFUIPShTPo","mTljBAfcP","IVOIQf","hkYoNeKp"],"boolField":true,"intField":-431,"numField":-75.26274635584795,"objField":{"BxenyB":-1516024656397211281,"FpbENFC":4446393879140611960,"KqYRRvpR":-8360714065644921707,"MQwj":-2009891516730695786,"XAvQD":5102518615279647425,"ZKRcU":-4480410390639122183,"enHY":7989380609145381171,"fnQFoecEu":-7219555799270818689,"hINv":-7044437389632546262,"znrv":-7924837259232766292},"stringDateField":"1946-09-03","stringDateTimeField":"1950-03-19T10:02:45Z","stringField":"zmPNUP","stringTimeField":"13:49:27.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":-431,"numField":-75.26274635584795,"stringDateField":"1946-09-03","stringDateTimeField":"1950-03-19T10:02:45Z","stringField":"zmPNUP","stringTimeField":"13:49:27.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2917,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2917,"uuid":"9e0a89c2-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["Rxtm","QZxBlzjN","KKiH","TAHXTfB"],"boolField":false,"intField":-505,"numField":-478.42045567448287,"objField":{"RnhQInRrew":6903473570851444905,"iMtPnL":3668981706547594938,"yynrhOwCa":-1754117509414226322},"stringDateField":"2004-04-17","stringDateTimeField":"1999-12-22T03:38:23Z","stringField":"BsyJzYy","stringTimeField":"20:59:41.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":-505,"numField":-478.42045567448287,"stringDateField":"2004-04-17","stringDateTimeField":"1999-12-22T03:38:23Z","stringField":"BsyJzYy","stringTimeField":"20:59:41.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2918,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2918,"uuid":"9e0a89c2-5655-11ee-9001-675ed0f8e89b"},"arrayField":["yzHTnpMK","verC","zIWwZsLDgd","fmxUP","OMDiHEw","ZoTIhfRVUZ"],"boolField":false,"intField":-569,"numField":-799.7778710179058,"objField":{"AAIW":3146755816523407988,"OnYjHkbsmK":-1600022077481820547},"stringDateField":"1926-03-03","stringDateTimeField":"1903-03-28T04:52:08Z","stringField":"rLvhE","stringTimeField":"22:02:50.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":-569,"numField":-799.7778710179058,"stringDateField":"1926-03-03","stringDateTimeField":"1903-03-28T04:52:08Z","stringField":"rLvhE","stringTimeField":"22:02:50.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2919,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2919,"uuid":"9e0a89c2-5655-11ee-9401-675ed0f8e89b"},"arrayField":["Fhqag","CaYuo","BIdS","drHj","BtmboBTMi","NLEgrL","NNff"],"boolField":true,"intField":723,"numField":338.5923670746143,"objField":{"JYqiec":3051044625474390013,"UsWPum":-7567276175162636204,"aSxyJf":3008533856853455291,"hvIRFIcVm":5265342621854711370,"icCsoSqjV":-4722296487548828222,"lAzzDUDu":4164601633823617791,"ndYzezi":187337390264893766,"rlvqe":-7762517969563626088},"stringDateField":"1970-06-24","stringDateTimeField":"1947-03-30T02:45:17Z","stringField":"ApUxCtqHs","stringTimeField":"01:30:06.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":723,"numField":338.5923670746143,"stringDateField":"1970-06-24","stringDateTimeField":"1947-03-30T02:45:17Z","stringField":"ApUxCtqHs","stringTimeField":"01:30:06.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2920,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2920,"uuid":"9e0a89c2-5655-11ee-9801-675ed0f8e89b"},"arrayField":["wKOfBUNE","XuhQci","aTlq","GDzQa","AsKnni","mxzVAn","KGVxRImQP","yPTSSI"],"boolField":true,"intField":936,"numField":684.1735893345908,"objField":{"MEYtY":1526845997992916413,"NYyGpiyQaL":-3002898880852425344,"NjhCxG":-471616709608071843,"OUJpoQ":-563997668103444405,"ZBKuCZh":-8404987540378990167,"cCjymb":-3723261055396456872,"dPRufmmLLB":-8210367885675201320,"eESg":-3254164685998409486,"xkOR":2657319380845762662},"stringDateField":"1918-10-29","stringDateTimeField":"2012-10-15T05:54:05Z","stringField":"prFCPmvwS","stringTimeField":"04:20:35.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":936,"numField":684.1735893345908,"stringDateField":"1918-10-29","stringDateTimeField":"2012-10-15T05:54:05Z","stringField":"prFCPmvwS","stringTimeField":"04:20:35.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2921,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2921,"uuid":"9e0a89c2-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["WFSAHhOu","SdLvSeWEa","gUuLD"],"boolField":false,"intField":639,"numField":310.58591213263196,"objField":{"CMeTyE":9100021756008804325,"JxzWzW":3692673585111568178,"noNN":59962208990053156},"stringDateField":"1912-07-05","stringDateTimeField":"1911-02-14T16:45:21Z","stringField":"egJzcJFw","stringTimeField":"05:09:38.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":639,"numField":310.58591213263196,"stringDateField":"1912-07-05","stringDateTimeField":"1911-02-14T16:45:21Z","stringField":"egJzcJFw","stringTimeField":"05:09:38.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2922,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2922,"uuid":"9e0a89c2-5655-11ee-a001-675ed0f8e89b"},"arrayField":["qYbfcy","kscelO","EqFa","xDehhG","rayesIW","Mcft","bOWCzWEBa","YjdGSEdi"],"boolField":true,"intField":-717,"numField":-12.003449600937463,"objField":{"FZrKitPL":-8569739048452969788,"quideg":-8361057541313029832,"vtuu":-9080334733443532976},"stringDateField":"1923-03-02","stringDateTimeField":"1921-03-23T09:01:38Z","stringField":"yAYZurv","stringTimeField":"22:36:23.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":-717,"numField":-12.003449600937463,"stringDateField":"1923-03-02","stringDateTimeField":"1921-03-23T09:01:38Z","stringField":"yAYZurv","stringTimeField":"22:36:23.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2923,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2923,"uuid":"9e0a89c2-5655-11ee-a401-675ed0f8e89b"},"arrayField":["qQRauXN","LLAUcAD","plBmzWdFtl","znMGH","jWvis","hgjbdcUt","sFxqQObEV","UcinwOrg"],"boolField":false,"intField":-233,"numField":-483.6448628446939,"objField":{"CPSpXAu":-7780731383981190319,"TCqEXMJ":-8522479455773898162,"VpEycRrBTR":-4787259218972712757,"vggJNh":6922422380654613527},"stringDateField":"1967-11-22","stringDateTimeField":"1964-12-01T17:54:38Z","stringField":"hmMEtO","stringTimeField":"07:09:08.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":-233,"numField":-483.6448628446939,"stringDateField":"1967-11-22","stringDateTimeField":"1964-12-01T17:54:38Z","stringField":"hmMEtO","stringTimeField":"07:09:08.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2924,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2924,"uuid":"9e0a89c2-5655-11ee-a801-675ed0f8e89b"},"arrayField":["LTJMpKQ","GKscJ","flMMCbMau","jPfkSA"],"boolField":true,"intField":-386,"numField":-765.6110325577771,"objField":{"UZAVPGErZ":8487295551326859112,"rwyEWhvIT":5251211309408254286,"uCofqsIfqC":4547456173731638996},"stringDateField":"1913-01-22","stringDateTimeField":"1925-09-24T17:11:45Z","stringField":"xmUjO","stringTimeField":"09:33:32.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":-386,"numField":-765.6110325577771,"stringDateField":"1913-01-22","stringDateTimeField":"1925-09-24T17:11:45Z","stringField":"xmUjO","stringTimeField":"09:33:32.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2925,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2925,"uuid":"9e0a89c2-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["pnAkhshZI","vaxWLkZDu"],"boolField":true,"intField":-915,"numField":746.7354213999918,"objField":{"YkerEggp":8462408301127607609,"ezuODGIo":-5930777017892867751,"oEIgzFkfw":-1758494457886257365,"wGuxHSEtF":4086677440554020679},"stringDateField":"1933-08-22","stringDateTimeField":"1965-07-26T15:28:12Z","stringField":"jbTbzsV","stringTimeField":"22:14:09.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":-915,"numField":746.7354213999918,"stringDateField":"1933-08-22","stringDateTimeField":"1965-07-26T15:28:12Z","stringField":"jbTbzsV","stringTimeField":"22:14:09.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2926,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2926,"uuid":"9e0a89c2-5655-11ee-b001-675ed0f8e89b"},"arrayField":["fzwoOi","vYVMyN","MQxeVyZHBk","TneEYtAS","wfLKiJg","TRwahG"],"boolField":false,"intField":425,"numField":689.9429218780613,"objField":{"EnfHVq":-5862410517944848496,"HchAbfmb":8891150851219101407,"tHcVsSf":949075454884503642},"stringDateField":"1904-04-10","stringDateTimeField":"1922-12-06T12:37:27Z","stringField":"HQFekeGoYn","stringTimeField":"17:42:50.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":425,"numField":689.9429218780613,"stringDateField":"1904-04-10","stringDateTimeField":"1922-12-06T12:37:27Z","stringField":"HQFekeGoYn","stringTimeField":"17:42:50.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2927,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2927,"uuid":"9e0a89c2-5655-11ee-b401-675ed0f8e89b"},"arrayField":["lRSe","RmGpYU","nnxWXZeR","GZcn","oeckHDxQB"],"boolField":false,"intField":76,"numField":212.8984889604284,"objField":{"ANLW":8463454746038016754,"DxvtMhh":7430416388667105055,"OKAwCeLJ":6789103283852295198,"VCFjmZkU":-6961137465381787528,"WxDNRwyE":-5066708113849462143,"YhnUG":-2399619471595009283,"YnFL":4993933879379403967,"dGsnxY":-1096888993065050285,"yuLP":-4616401933466492506},"stringDateField":"1988-09-26","stringDateTimeField":"1944-05-06T08:59:45Z","stringField":"jqcjzyehqE","stringTimeField":"08:15:47.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":76,"numField":212.8984889604284,"stringDateField":"1988-09-26","stringDateTimeField":"1944-05-06T08:59:45Z","stringField":"jqcjzyehqE","stringTimeField":"08:15:47.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2928,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2928,"uuid":"9e0a89c2-5655-11ee-b801-675ed0f8e89b"},"arrayField":["dhabkso","mrvs","PXdKclDRU","LiZVryXIBh","ijLh","XbGvhY"],"boolField":false,"intField":75,"numField":-401.6315041345905,"objField":{"Cmopu":5486889000876865398},"stringDateField":"2000-05-11","stringDateTimeField":"1927-08-31T00:33:50Z","stringField":"PPomMbA","stringTimeField":"16:46:33.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":75,"numField":-401.6315041345905,"stringDateField":"2000-05-11","stringDateTimeField":"1927-08-31T00:33:50Z","stringField":"PPomMbA","stringTimeField":"16:46:33.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2929,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2929,"uuid":"9e0a89c2-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["fyjnjw"],"boolField":true,"intField":407,"numField":-166.9485306585523,"objField":{"GwAapvCo":-196467027585924878,"KTZpPPa":7363577275909399257,"RbueU":7806074026227764743,"TYVohYJ":-8526461608937746600,"tMWLtq":-3847159869281288554},"stringDateField":"2009-11-10","stringDateTimeField":"1952-03-13T22:33:15Z","stringField":"toVRYWvny","stringTimeField":"01:12:50.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763714Z","intField":407,"numField":-166.9485306585523,"stringDateField":"2009-11-10","stringDateTimeField":"1952-03-13T22:33:15Z","stringField":"toVRYWvny","stringTimeField":"01:12:50.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2930,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2930,"uuid":"9e0a89c3-5655-11ee-8001-675ed0f8e89b"},"arrayField":["IIoAk","rvRJ","mtCyP","owTQEwhptA","FQfXY","KQvtSDbqe","ZrayJCTbbJ"],"boolField":true,"intField":-402,"numField":-30.467333121975027,"objField":{"NzoW":-1219210712490641145,"OZDbgvbxL":8591091983100371589,"OiSzEKRw":-4314384034353315433,"ZvokBPL":-113182900409233827,"pSmz":4006391671078301636,"uGHVvFGQhA":8106698655152901592},"stringDateField":"2006-12-05","stringDateTimeField":"1952-12-19T04:26:17Z","stringField":"ZsPUP","stringTimeField":"20:22:00.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":-402,"numField":-30.467333121975027,"stringDateField":"2006-12-05","stringDateTimeField":"1952-12-19T04:26:17Z","stringField":"ZsPUP","stringTimeField":"20:22:00.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2931,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2931,"uuid":"9e0a89c3-5655-11ee-8401-675ed0f8e89b"},"arrayField":["RwFiJ","PwKwSDlW","cfPPPdGRO"],"boolField":false,"intField":-24,"numField":430.56740544955096,"objField":{"Anov":1679605106899611291,"JsHlC":379031839021203245,"PSzU":5466558678069694581,"SQcHU":1317771869078870937,"acckCLyOv":4689954960215503779,"oNxDkVX":1682410084387100413,"sIrL":2096138957738186715,"uxdV":-14592503093818092},"stringDateField":"1957-07-15","stringDateTimeField":"1938-05-19T19:36:20Z","stringField":"sgTufBfjyp","stringTimeField":"20:35:36.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":-24,"numField":430.56740544955096,"stringDateField":"1957-07-15","stringDateTimeField":"1938-05-19T19:36:20Z","stringField":"sgTufBfjyp","stringTimeField":"20:35:36.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2932,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2932,"uuid":"9e0a89c3-5655-11ee-8801-675ed0f8e89b"},"arrayField":["uhEsXJp","xSFPMaXq","BkQiRKvZry","qdsa","zffEKDIVlt","myZpLPmIcI","lEXda","YMzbcvjiLE","MtzxuQvZ","EsGEJ"],"boolField":false,"intField":-71,"numField":-498.3872685975541,"objField":{"gLZTEebmGb":-6649588130989549775,"qJmg":-6260215942108812515},"stringDateField":"1935-12-17","stringDateTimeField":"1989-12-20T13:57:43Z","stringField":"IRqTFZMQy","stringTimeField":"19:53:22.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":-71,"numField":-498.3872685975541,"stringDateField":"1935-12-17","stringDateTimeField":"1989-12-20T13:57:43Z","stringField":"IRqTFZMQy","stringTimeField":"19:53:22.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2933,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2933,"uuid":"9e0a89c3-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["cPREBJFmhp"],"boolField":true,"intField":-415,"numField":-648.9021862870509,"objField":{"RfIgrKN":3521752362020042438,"sJvS":-8136163941066163209,"zohG":-8731604766699311567,"zyrTeUOddp":-5456943616215846307},"stringDateField":"1951-04-29","stringDateTimeField":"1964-05-01T11:52:02Z","stringField":"KlGxjPdPdX","stringTimeField":"04:28:57.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":-415,"numField":-648.9021862870509,"stringDateField":"1951-04-29","stringDateTimeField":"1964-05-01T11:52:02Z","stringField":"KlGxjPdPdX","stringTimeField":"04:28:57.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2934,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2934,"uuid":"9e0a89c3-5655-11ee-9001-675ed0f8e89b"},"arrayField":["JsjNEJLA","JgIgkRMb","imlAvyn","rSvDg","VxMZ","jLAxM","ApswZZk"],"boolField":false,"intField":409,"numField":-623.4138336135711,"objField":{"SJeLGr":7954129871777440920,"SZJSHUBBPA":7673444302880718665,"WzHGbQTkje":4834836972578947428,"sREnQi":1397060819990042801},"stringDateField":"1953-06-06","stringDateTimeField":"1981-05-05T17:48:55Z","stringField":"mTjoddN","stringTimeField":"04:49:56.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":409,"numField":-623.4138336135711,"stringDateField":"1953-06-06","stringDateTimeField":"1981-05-05T17:48:55Z","stringField":"mTjoddN","stringTimeField":"04:49:56.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2935,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2935,"uuid":"9e0a89c3-5655-11ee-9401-675ed0f8e89b"},"arrayField":["pGOGiHOgEV","kitnccD","MFsvkasqm","MCecQtlNcZ","LVZKdQsBe","UBXGewt","YOxflyYY","hHIGoUCkVv","DCBNGWF"],"boolField":true,"intField":868,"numField":-384.1180478130658,"objField":{"JKhJJAr":-4930078474015913549},"stringDateField":"1966-04-16","stringDateTimeField":"2021-01-05T13:44:36Z","stringField":"nXgyBAFU","stringTimeField":"14:17:48.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":868,"numField":-384.1180478130658,"stringDateField":"1966-04-16","stringDateTimeField":"2021-01-05T13:44:36Z","stringField":"nXgyBAFU","stringTimeField":"14:17:48.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2936,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2936,"uuid":"9e0a89c3-5655-11ee-9801-675ed0f8e89b"},"arrayField":["oQSpFGvVrY"],"boolField":true,"intField":-301,"numField":-750.1854273029461,"objField":{"IsuVhhLmJ":-4321589897473794293,"VwEPdkbmzV":968975868594505212,"XahK":-1136803784537664460,"XkMxju":8263827745916123889,"XzcmKGsUX":4806750662703917076,"ditFMy":4419320543504792888,"hNxNSigZ":-5947104234716203177,"jLkT":6448852348076451105,"lQuG":7655277851006230609,"pewsJly":-3182979176869011211},"stringDateField":"1992-07-12","stringDateTimeField":"1946-04-28T01:11:26Z","stringField":"PHCnUAxdu","stringTimeField":"02:03:01.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":-301,"numField":-750.1854273029461,"stringDateField":"1992-07-12","stringDateTimeField":"1946-04-28T01:11:26Z","stringField":"PHCnUAxdu","stringTimeField":"02:03:01.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2937,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2937,"uuid":"9e0a89c3-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["WHmDFYyxEN","VATpERhCx","lrpWWBb","LfWNSyx","FPIHuXs","mvQD"],"boolField":true,"intField":-861,"numField":45.33595961233772,"objField":{"FWnoTwpt":-2484501802778144363,"MsRa":-2162752587394667131,"PgktK":4541780554885038789,"PhTrE":4365005783415761991,"QrgXeyo":2194337079237110339,"QxKI":1816239716522737653,"cvhuVwTajF":2749763254274544827,"dgRxpUSOU":-2454522379561267923,"sDxtTzIW":-4418210989252409363,"yIPS":-8608875157533138439},"stringDateField":"1960-08-16","stringDateTimeField":"1972-06-05T10:30:30Z","stringField":"BApZI","stringTimeField":"09:00:01.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":-861,"numField":45.33595961233772,"stringDateField":"1960-08-16","stringDateTimeField":"1972-06-05T10:30:30Z","stringField":"BApZI","stringTimeField":"09:00:01.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2938,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2938,"uuid":"9e0a89c3-5655-11ee-a001-675ed0f8e89b"},"arrayField":["aKOprhP","UppBU","kUARtA","somkiyPKsz","aTuGLUwQjh","wCzrBU","REcTtaZxC","KUQJGdH","JhWIuA","cdNcZrdA"],"boolField":false,"intField":174,"numField":651.5237214031233,"objField":{"FVxlq":-3038602152408629376,"ngjNUlo":3582227700412743781},"stringDateField":"1992-11-09","stringDateTimeField":"1943-06-24T23:10:20Z","stringField":"UGKN","stringTimeField":"04:16:55.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":174,"numField":651.5237214031233,"stringDateField":"1992-11-09","stringDateTimeField":"1943-06-24T23:10:20Z","stringField":"UGKN","stringTimeField":"04:16:55.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2939,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2939,"uuid":"9e0a89c3-5655-11ee-a401-675ed0f8e89b"},"arrayField":["rNBLl","tRgYXKNxD","pQUpPd","ctngvVEpY","zfeoUbCVHe","lKaNaTRaVx"],"boolField":true,"intField":8,"numField":929.8663374362663,"objField":{"BOYKCQ":34105309651030007},"stringDateField":"1924-06-03","stringDateTimeField":"1943-09-07T17:21:38Z","stringField":"sExRFkIg","stringTimeField":"17:43:09.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":8,"numField":929.8663374362663,"stringDateField":"1924-06-03","stringDateTimeField":"1943-09-07T17:21:38Z","stringField":"sExRFkIg","stringTimeField":"17:43:09.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2940,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2940,"uuid":"9e0a89c3-5655-11ee-a801-675ed0f8e89b"},"arrayField":["izvIdL"],"boolField":false,"intField":-884,"numField":438.5905836729962,"objField":{"FxBXcTikgq":1193083736970416083,"GZjDm":-5483993808075571535,"NCyxJfNk":3350566326647836283,"TdRjnrGDac":-1525747076813863337,"VASeCDocGm":5404594946482536789,"YqcnZRKKu":-9194267972035675573,"jImNsWT":-6121211605318111301,"ooJtPB":-3416289822977619466,"uTQz":-2310971439950062922},"stringDateField":"2006-11-22","stringDateTimeField":"2011-02-10T12:53:04Z","stringField":"YDhZfMsz","stringTimeField":"02:50:22.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":-884,"numField":438.5905836729962,"stringDateField":"2006-11-22","stringDateTimeField":"2011-02-10T12:53:04Z","stringField":"YDhZfMsz","stringTimeField":"02:50:22.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2941,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2941,"uuid":"9e0a89c3-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["lQveNVoCqw","QCoUMyybel","HxAWuxYyhX","bwbQX","bHVbvBYq","KmdyfeiI"],"boolField":false,"intField":-961,"numField":-345.1975291467634,"objField":{"mowj":-3332552036952700855},"stringDateField":"1941-05-14","stringDateTimeField":"1936-03-10T09:05:31Z","stringField":"vyGej","stringTimeField":"00:32:41.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":-961,"numField":-345.1975291467634,"stringDateField":"1941-05-14","stringDateTimeField":"1936-03-10T09:05:31Z","stringField":"vyGej","stringTimeField":"00:32:41.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2942,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2942,"uuid":"9e0a89c3-5655-11ee-b001-675ed0f8e89b"},"arrayField":["XKvyezkwt","aoAAreNHi","CApCptxb","IypyVaG"],"boolField":false,"intField":727,"numField":-785.8741744774524,"objField":{"EysCmrZ":-3854480402307636542,"MfhA":2361561533537247072,"TkdGhO":4538161491254672414,"ZuZuePyZh":5121937247485627088,"fgRavdo":-7969052692798920623,"hwPt":-2995045752415124463,"vzgpu":7055439270342362324,"yWwazhbE":812325032603070297},"stringDateField":"1938-03-29","stringDateTimeField":"1982-03-19T02:41:25Z","stringField":"mLUv","stringTimeField":"08:47:15.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":727,"numField":-785.8741744774524,"stringDateField":"1938-03-29","stringDateTimeField":"1982-03-19T02:41:25Z","stringField":"mLUv","stringTimeField":"08:47:15.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2943,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2943,"uuid":"9e0a89c3-5655-11ee-b401-675ed0f8e89b"},"arrayField":["eIREAnRu","bfAmocX","ZePRgiM","XBhNGR"],"boolField":false,"intField":-161,"numField":-810.840221578361,"objField":{"BQBq":-8585331273936891277,"LCCF":2248666885962757338,"jmxMmg":-3597295645264747431,"xueRUVnxIG":-3057182004837860588},"stringDateField":"1973-06-06","stringDateTimeField":"1948-08-25T19:31:05Z","stringField":"njQzWNGEKt","stringTimeField":"07:26:15.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":-161,"numField":-810.840221578361,"stringDateField":"1973-06-06","stringDateTimeField":"1948-08-25T19:31:05Z","stringField":"njQzWNGEKt","stringTimeField":"07:26:15.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2944,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2944,"uuid":"9e0a89c3-5655-11ee-b801-675ed0f8e89b"},"arrayField":["bwGyvf","fpkzdDn","hlDeOeklbQ"],"boolField":false,"intField":276,"numField":-521.8888563409977,"objField":{"CMaOG":-7718438697645229111,"GMnoekD":2669430905595466418,"HlnIS":1489572519767451819,"KrrhIHKO":-4858265064393589886,"MeeuE":-8350809952975111704,"TdiqnAx":3316925216679250127,"XSfBoyNN":6991779111261432295,"oaakeeXKa":5551650601593287216,"qWGVlv":4600137874018040767,"uqSPqk":3702692528112619617},"stringDateField":"1957-07-21","stringDateTimeField":"1999-08-25T21:45:15Z","stringField":"QAdYVRdQ","stringTimeField":"12:32:42.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":276,"numField":-521.8888563409977,"stringDateField":"1957-07-21","stringDateTimeField":"1999-08-25T21:45:15Z","stringField":"QAdYVRdQ","stringTimeField":"12:32:42.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2945,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2945,"uuid":"9e0a89c3-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["RFlxcfBvR","DiLSndFmt","QwoCcihi","SzTnq","ECmXaUxK","gonuAoejlw","iHLos","XkWzOcI","xMJMNAEkq","HJzkxOMIUB"],"boolField":true,"intField":-35,"numField":-341.6820186240607,"objField":{"RqVkScJjb":6071028978556837003},"stringDateField":"1909-07-24","stringDateTimeField":"1934-02-01T02:54:31Z","stringField":"HrktSX","stringTimeField":"08:04:17.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763715Z","intField":-35,"numField":-341.6820186240607,"stringDateField":"1909-07-24","stringDateTimeField":"1934-02-01T02:54:31Z","stringField":"HrktSX","stringTimeField":"08:04:17.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2946,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2946,"uuid":"9e0a89c4-5655-11ee-8001-675ed0f8e89b"},"arrayField":["KQbwhGl","zkCdkcw","YVuRhF","TCEiS","yEtSY","PHQACCDrOZ","HaHyWS","vzHisdqlf","TgJHtL"],"boolField":false,"intField":-584,"numField":-53.49721939764884,"objField":{"CXEfxeCly":8348761576894152576,"ImvgTG":1344884302265611538,"MvPpLwph":-7253416928977050348,"PBQCrRV":-6540944655211818137,"QerhHTw":-6479137851628187734,"jRHqjRFWuY":-5481140136561854269,"mHhHOPkl":1791782449965887798},"stringDateField":"1969-03-21","stringDateTimeField":"1922-10-24T17:26:05Z","stringField":"CoumgYWDI","stringTimeField":"16:57:27.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":-584,"numField":-53.49721939764884,"stringDateField":"1969-03-21","stringDateTimeField":"1922-10-24T17:26:05Z","stringField":"CoumgYWDI","stringTimeField":"16:57:27.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2947,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2947,"uuid":"9e0a89c4-5655-11ee-8401-675ed0f8e89b"},"arrayField":["klAiXvoSn","ZxOj","Qmhlzix"],"boolField":true,"intField":-857,"numField":830.8388267285909,"objField":{"BEmZUXds":-5193876608201182562,"HYDSoMQ":-6065000091623446638,"OMfEgIOvL":-3473613222302416366,"WNvxzlfb":6536999767122517698,"XZogEIpGV":6209601057454772422,"deANBlck":-2284797269880261688,"hoPG":-8624213019615651196,"sMOHLQHwV":-7732999027260554071,"zWDmRYS":-4044097211215296304},"stringDateField":"1968-03-12","stringDateTimeField":"1980-03-27T09:57:22Z","stringField":"jpsYbTge","stringTimeField":"11:35:36.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":-857,"numField":830.8388267285909,"stringDateField":"1968-03-12","stringDateTimeField":"1980-03-27T09:57:22Z","stringField":"jpsYbTge","stringTimeField":"11:35:36.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2948,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2948,"uuid":"9e0a89c4-5655-11ee-8801-675ed0f8e89b"},"arrayField":["hUysWaI","IZvgz","oDbMdtSYlD","UeyLdV","CQSEjehRPm","eYMXCBLjD","pZQKUGXM","gZgQ","haNiiAx"],"boolField":false,"intField":-236,"numField":152.59761255312833,"objField":{"BEIQhE":-1169818420836581160,"HyLRex":-2245009729186230995,"QPjf":-8555866080350343128,"YBkxr":-3180383841465712124,"osIb":-6581844992493559713,"utQkyHuav":-4423266087378021578},"stringDateField":"1957-12-15","stringDateTimeField":"1933-02-15T11:59:25Z","stringField":"exjnojIsm","stringTimeField":"17:08:22.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":-236,"numField":152.59761255312833,"stringDateField":"1957-12-15","stringDateTimeField":"1933-02-15T11:59:25Z","stringField":"exjnojIsm","stringTimeField":"17:08:22.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2949,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2949,"uuid":"9e0a89c4-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["MDIVjd","HRkxJv","xdDMINPb","yVru","PMqslPpL","vEaq","nLhm","FAvs"],"boolField":false,"intField":290,"numField":976.616092074362,"objField":{"BGagZCkK":3260311809791399338,"CqxJs":5422876846513299555,"DLMWpM":8256598319313020892,"GiWTo":-3613172308564489576,"RfyQbkmR":-2556530206986546078,"XCnzAqm":8034585691995591844,"mxwWYhhn":6310885117819490910,"rdKo":5498448246109827035},"stringDateField":"1907-06-12","stringDateTimeField":"1932-11-29T22:39:04Z","stringField":"uVGiNXqZ","stringTimeField":"13:54:06.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":290,"numField":976.616092074362,"stringDateField":"1907-06-12","stringDateTimeField":"1932-11-29T22:39:04Z","stringField":"uVGiNXqZ","stringTimeField":"13:54:06.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2950,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2950,"uuid":"9e0a89c4-5655-11ee-9001-675ed0f8e89b"},"arrayField":["fUIj","twsP","pkgiZqAW","USRRrHLrw","viQfGb"],"boolField":true,"intField":583,"numField":509.5110245453629,"objField":{"AHoXJrtj":8876841845107651429,"IRnORMHt":5239991607064565620,"OaUsckA":6614755734771460950,"PpXjSIm":-1386350183371470064,"VyOqEwCaBh":-5723830544131783629,"fhlNA":712669948212504676,"moOUzNpRzG":-7640892860350219327,"vOBPOeUwMr":-2014825619824104035},"stringDateField":"1949-11-11","stringDateTimeField":"2021-03-21T07:15:48Z","stringField":"ffvQMoyhSz","stringTimeField":"18:35:25.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":583,"numField":509.5110245453629,"stringDateField":"1949-11-11","stringDateTimeField":"2021-03-21T07:15:48Z","stringField":"ffvQMoyhSz","stringTimeField":"18:35:25.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2951,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2951,"uuid":"9e0a89c4-5655-11ee-9401-675ed0f8e89b"},"arrayField":["EYfMrqTh"],"boolField":false,"intField":810,"numField":463.55255554571295,"objField":{"QxHDJV":3386026819865187537,"aFoep":277089156383931125,"bLcjcr":9147891856930280456,"dYNfh":7167095854314543006,"xcdaLYE":3757342012628619020},"stringDateField":"1992-03-26","stringDateTimeField":"1929-09-19T11:16:33Z","stringField":"XdfzesIJ","stringTimeField":"00:21:26.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":810,"numField":463.55255554571295,"stringDateField":"1992-03-26","stringDateTimeField":"1929-09-19T11:16:33Z","stringField":"XdfzesIJ","stringTimeField":"00:21:26.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2952,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2952,"uuid":"9e0a89c4-5655-11ee-9801-675ed0f8e89b"},"arrayField":["vlaNfaOi","rqIEjkSlKO","sYHyxjfbKh","vFajfhTQH","ERZOYwdRig","msUtWvEJjQ","xOsaQzqx","rcFgq","jKMPAB"],"boolField":true,"intField":-506,"numField":-914.1441875366928,"objField":{"jyIyohiCQ":-666974162119455740},"stringDateField":"1922-03-09","stringDateTimeField":"1928-05-27T02:34:40Z","stringField":"lhtUJ","stringTimeField":"17:57:52.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":-506,"numField":-914.1441875366928,"stringDateField":"1922-03-09","stringDateTimeField":"1928-05-27T02:34:40Z","stringField":"lhtUJ","stringTimeField":"17:57:52.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2953,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2953,"uuid":"9e0a89c4-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["Fojfbkkid","WEIJQP","JwDNNkESE","IzTWLIyW","OmGwayC"],"boolField":true,"intField":547,"numField":711.193563388766,"objField":{"AyNBDprC":-4633445368766114048,"CQindG":8695085425737052275,"CZkhOiQYpL":8205237211048131455,"JlqjvKw":-3800456329794745421,"MLZsrDFl":7610304555163097449,"sfJfdAMYW":964055620671736444,"tnVYpN":988901141771286246,"wPcZBTNKT":8534845123678730646},"stringDateField":"2000-10-01","stringDateTimeField":"1920-02-05T20:19:59Z","stringField":"cKfNMAuyA","stringTimeField":"04:14:11.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":547,"numField":711.193563388766,"stringDateField":"2000-10-01","stringDateTimeField":"1920-02-05T20:19:59Z","stringField":"cKfNMAuyA","stringTimeField":"04:14:11.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2954,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2954,"uuid":"9e0a89c4-5655-11ee-a001-675ed0f8e89b"},"arrayField":["CcweVF"],"boolField":true,"intField":813,"numField":913.1303972348526,"objField":{"RiWX":8666153351162088348,"phtc":-5989451310196378341},"stringDateField":"1988-08-30","stringDateTimeField":"2022-06-30T11:16:39Z","stringField":"bvykwqQL","stringTimeField":"12:35:47.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":813,"numField":913.1303972348526,"stringDateField":"1988-08-30","stringDateTimeField":"2022-06-30T11:16:39Z","stringField":"bvykwqQL","stringTimeField":"12:35:47.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2955,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2955,"uuid":"9e0a89c4-5655-11ee-a401-675ed0f8e89b"},"arrayField":["gjTc","YUGQ","Imxujei","gjeqG","lZNnxPUh","TBMJ","Bprn","SknMCG"],"boolField":false,"intField":511,"numField":241.75854872522007,"objField":{"POsDLFBS":-3176924335554769185,"RefJFpCQ":-3708090079411009361,"SKJMKRpuK":914193893439383377,"TeIo":4816923187410874784,"eUiyJsUV":-1307530076792427642,"mwHJEyq":644933391938761285,"rbGBm":840859019731893505,"uDqMDkY":-5067294847974480907},"stringDateField":"1983-08-08","stringDateTimeField":"1935-01-29T02:21:57Z","stringField":"RAtireEmR","stringTimeField":"05:25:27.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":511,"numField":241.75854872522007,"stringDateField":"1983-08-08","stringDateTimeField":"1935-01-29T02:21:57Z","stringField":"RAtireEmR","stringTimeField":"05:25:27.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2956,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2956,"uuid":"9e0a89c4-5655-11ee-a801-675ed0f8e89b"},"arrayField":["HyVEgE","wIGiCh","feybh","XLuU"],"boolField":true,"intField":-628,"numField":548.6300441439033,"objField":{"DyxzEsGI":9079544617384168913,"JKEFKFdcYA":3460269692352962320,"WklbPI":-5619620041331533278},"stringDateField":"1992-09-03","stringDateTimeField":"2012-02-15T18:42:43Z","stringField":"eJsbjhBKX","stringTimeField":"11:29:36.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":-628,"numField":548.6300441439033,"stringDateField":"1992-09-03","stringDateTimeField":"2012-02-15T18:42:43Z","stringField":"eJsbjhBKX","stringTimeField":"11:29:36.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2957,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2957,"uuid":"9e0a89c4-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["IeJOolQF","XodH"],"boolField":true,"intField":791,"numField":91.02963140921516,"objField":{"OiMTCSg":-472891700606225083,"XEUfoaJ":-8465301801320825407,"XbKHP":5374693012869486570,"XcnJ":-4337598568774602692,"nnTbQDRaV":1718869473951878909,"qMKr":-162610450981652872},"stringDateField":"1915-04-05","stringDateTimeField":"1957-12-16T15:30:22Z","stringField":"awSQbXofz","stringTimeField":"21:18:43.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":791,"numField":91.02963140921516,"stringDateField":"1915-04-05","stringDateTimeField":"1957-12-16T15:30:22Z","stringField":"awSQbXofz","stringTimeField":"21:18:43.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2958,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2958,"uuid":"9e0a89c4-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ikCR","NFoYqEWmd","GZjpHdI","EVZD"],"boolField":false,"intField":-646,"numField":-959.4530123852433,"objField":{"RYULV":8280246539905023457,"rDse":-2287460003941431924},"stringDateField":"1965-03-20","stringDateTimeField":"1907-03-01T01:12:40Z","stringField":"aevp","stringTimeField":"21:27:04.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":-646,"numField":-959.4530123852433,"stringDateField":"1965-03-20","stringDateTimeField":"1907-03-01T01:12:40Z","stringField":"aevp","stringTimeField":"21:27:04.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2959,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2959,"uuid":"9e0a89c4-5655-11ee-b401-675ed0f8e89b"},"arrayField":["uqhVHRHmyn"],"boolField":false,"intField":-556,"numField":406.89781119030965,"objField":{"UHCrWA":-3762595391530758325,"cVdcpXR":8883499306522004853},"stringDateField":"1911-10-10","stringDateTimeField":"1967-07-17T10:07:08Z","stringField":"eeBP","stringTimeField":"15:57:28.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":-556,"numField":406.89781119030965,"stringDateField":"1911-10-10","stringDateTimeField":"1967-07-17T10:07:08Z","stringField":"eeBP","stringTimeField":"15:57:28.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2960,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2960,"uuid":"9e0a89c4-5655-11ee-b801-675ed0f8e89b"},"arrayField":["vebBe","IbAJyEym","bRnRcGHw","gPIgyymJDU","ODjVutZdRR","EzYEnCzYv"],"boolField":false,"intField":565,"numField":-277.08792337845335,"objField":{"HOQTMcAa":-2687989707253315410,"lFUNY":-7353533716038119328},"stringDateField":"1929-03-26","stringDateTimeField":"1972-03-31T18:20:10Z","stringField":"QmphMxsPV","stringTimeField":"13:52:25.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":565,"numField":-277.08792337845335,"stringDateField":"1929-03-26","stringDateTimeField":"1972-03-31T18:20:10Z","stringField":"QmphMxsPV","stringTimeField":"13:52:25.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2961,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2961,"uuid":"9e0a89c4-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["tSCDYE","oHapDrn","ZiPSOtVWC","sVgTK","rWNmNQmFu","aXZAkAT","mVgaoKvbqh"],"boolField":true,"intField":-743,"numField":544.0742838980997,"objField":{"CvpD":824933898513476623,"pSJWUk":7717235884326437059},"stringDateField":"1979-04-13","stringDateTimeField":"1923-04-27T11:45:51Z","stringField":"ZfSoxnu","stringTimeField":"19:33:19.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763716Z","intField":-743,"numField":544.0742838980997,"stringDateField":"1979-04-13","stringDateTimeField":"1923-04-27T11:45:51Z","stringField":"ZfSoxnu","stringTimeField":"19:33:19.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2962,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2962,"uuid":"9e0a89c5-5655-11ee-8001-675ed0f8e89b"},"arrayField":["XGOexItd","CkGT","eGsXA","OnALSul","ajpZxTsrm"],"boolField":true,"intField":-434,"numField":-354.3271038812148,"objField":{"LJGtbK":6212103493681991392,"RDTqBcO":-2863172070897204368,"TniFO":-8482465973630665419,"YJLNHAA":-170504264292343228,"pGYHqA":-8280396922443709098,"pekUIhDO":180996778275854233,"sEIHj":-4594826068234490522,"zNnaWdQEkP":-6562227647158501558,"zqHAqIj":4067804488513752078},"stringDateField":"1919-06-18","stringDateTimeField":"1939-12-24T18:48:56Z","stringField":"KVXET","stringTimeField":"00:24:51.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":-434,"numField":-354.3271038812148,"stringDateField":"1919-06-18","stringDateTimeField":"1939-12-24T18:48:56Z","stringField":"KVXET","stringTimeField":"00:24:51.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2963,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2963,"uuid":"9e0a89c5-5655-11ee-8401-675ed0f8e89b"},"arrayField":["KrRVHq","YzkehkVB"],"boolField":false,"intField":-539,"numField":-122.8562618374871,"objField":{"BLbOlgCu":2751158062577766128,"BVRvIbze":-8840915492863840197,"DKEnye":2036242380595619972,"MFVYMs":-6227480380174677621,"Oolw":2645273197734679702,"SBOiBPOb":-5692494006246998271,"YYiWgiLaU":-833828957857930760,"zgnPT":-4802944506772064816},"stringDateField":"1930-04-23","stringDateTimeField":"1932-08-15T02:27:58Z","stringField":"xIaVIox","stringTimeField":"00:03:23.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":-539,"numField":-122.8562618374871,"stringDateField":"1930-04-23","stringDateTimeField":"1932-08-15T02:27:58Z","stringField":"xIaVIox","stringTimeField":"00:03:23.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2964,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2964,"uuid":"9e0a89c5-5655-11ee-8801-675ed0f8e89b"},"arrayField":["znweksuy","ULaRrgP","TPmuYKP","YMEw","SHnQH","QdwLIuO","qXsnMdM","txhCZL","EdMSeBL","jVLDsVYt"],"boolField":false,"intField":657,"numField":527.0635798059428,"objField":{"AoUKYc":-8357395012681922905,"QovfDK":-6789534271542601425,"YcAYdGOqRk":7368696592268646431},"stringDateField":"1934-08-06","stringDateTimeField":"2014-11-03T12:51:12Z","stringField":"tdFQ","stringTimeField":"13:48:10.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":657,"numField":527.0635798059428,"stringDateField":"1934-08-06","stringDateTimeField":"2014-11-03T12:51:12Z","stringField":"tdFQ","stringTimeField":"13:48:10.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2965,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2965,"uuid":"9e0a89c5-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["XQuj","SJRxNpvhe"],"boolField":false,"intField":-118,"numField":-132.74274729708512,"objField":{"DsSS":-6515874433009128994,"loKUbQEw":-1963585806333686696},"stringDateField":"1982-06-08","stringDateTimeField":"2003-04-26T11:28:15Z","stringField":"ovHDcsB","stringTimeField":"20:34:15.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":-118,"numField":-132.74274729708512,"stringDateField":"1982-06-08","stringDateTimeField":"2003-04-26T11:28:15Z","stringField":"ovHDcsB","stringTimeField":"20:34:15.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2966,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2966,"uuid":"9e0a89c5-5655-11ee-9001-675ed0f8e89b"},"arrayField":["oyJzhjNv","oWMZxOb","SZYaJi"],"boolField":false,"intField":-117,"numField":-732.2532390406503,"objField":{"IzwITst":-3596500068494540775,"LLxqp":3946180815970866681,"caFXdO":-1502454557811633101,"gwTnLLR":-2716581447335906559,"iwQxJDK":-3643084687795582616,"nUtqEwxSI":-577519698068633454},"stringDateField":"1986-10-01","stringDateTimeField":"1925-07-21T22:12:02Z","stringField":"RPjpQ","stringTimeField":"06:11:19.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":-117,"numField":-732.2532390406503,"stringDateField":"1986-10-01","stringDateTimeField":"1925-07-21T22:12:02Z","stringField":"RPjpQ","stringTimeField":"06:11:19.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2967,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2967,"uuid":"9e0a89c5-5655-11ee-9401-675ed0f8e89b"},"arrayField":["rAeGnz","HcwYW","RgCGKcdNii"],"boolField":false,"intField":-189,"numField":-791.8433563429164,"objField":{"IzZskroSn":-7582861305631204714,"jIxgN":-4215687987776880702,"prgf":-3806482278944741169},"stringDateField":"1966-10-12","stringDateTimeField":"1998-12-09T05:25:09Z","stringField":"GhPdYA","stringTimeField":"04:26:49.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":-189,"numField":-791.8433563429164,"stringDateField":"1966-10-12","stringDateTimeField":"1998-12-09T05:25:09Z","stringField":"GhPdYA","stringTimeField":"04:26:49.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2968,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2968,"uuid":"9e0a89c5-5655-11ee-9801-675ed0f8e89b"},"arrayField":["JdrUF","qgHg","aEIATURCq","FcfK","XpUioTj","wuCtaFO","iuMpWKScq","EArkN","HnNSS"],"boolField":true,"intField":-174,"numField":-640.7236873207515,"objField":{"FqSuzz":8423323537592111724,"PsdPL":-4833004748730502880},"stringDateField":"1929-12-25","stringDateTimeField":"1954-10-30T03:58:40Z","stringField":"eMCP","stringTimeField":"13:56:48.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":-174,"numField":-640.7236873207515,"stringDateField":"1929-12-25","stringDateTimeField":"1954-10-30T03:58:40Z","stringField":"eMCP","stringTimeField":"13:56:48.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2969,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2969,"uuid":"9e0a89c5-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["xAXHDUR","EoAdhlnhWs","SBeK"],"boolField":false,"intField":-403,"numField":793.3506663836149,"objField":{"DvKMbtBlnS":-5607108631579689904,"JLknBzIKQm":-3268834702328956071,"TQFwqFIit":-7333241660801616429,"ZZEF":2191819757990287959,"nqGYn":4928341547131153862,"wjXiMLbu":8419950797184235529,"xOYGYv":6916240257182150041,"yBFwGWn":501402283356307457},"stringDateField":"2017-12-07","stringDateTimeField":"1942-10-09T02:31:27Z","stringField":"foZiibVeQC","stringTimeField":"04:49:03.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":-403,"numField":793.3506663836149,"stringDateField":"2017-12-07","stringDateTimeField":"1942-10-09T02:31:27Z","stringField":"foZiibVeQC","stringTimeField":"04:49:03.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2970,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2970,"uuid":"9e0a89c5-5655-11ee-a001-675ed0f8e89b"},"arrayField":["PKgYtSw","mLpHFYBI","vAqSXqOvDH","cOdOdyF","wkJAyCUu"],"boolField":false,"intField":381,"numField":-615.4242216639313,"objField":{"NAKebtan":5815781645627690762,"fKxuk":3748938143968149326,"iogHfMuSJy":-7458722639326653467,"tzvB":-6392044751703468090},"stringDateField":"1935-06-04","stringDateTimeField":"1969-10-10T02:14:59Z","stringField":"lqLLJpN","stringTimeField":"12:54:48.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":381,"numField":-615.4242216639313,"stringDateField":"1935-06-04","stringDateTimeField":"1969-10-10T02:14:59Z","stringField":"lqLLJpN","stringTimeField":"12:54:48.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2971,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2971,"uuid":"9e0a89c5-5655-11ee-a401-675ed0f8e89b"},"arrayField":["xKrTHYdwL","kRVSivLjA","NUIAbrlJMc","ATcq"],"boolField":true,"intField":165,"numField":-558.3008070270995,"objField":{"GXoRqQK":-4641396132099852034,"RNNHdNVhc":296157928268999377,"qvYzXJ":-1550279085751146223},"stringDateField":"1962-07-15","stringDateTimeField":"1980-02-13T20:26:24Z","stringField":"EGrhMxiMBR","stringTimeField":"08:34:56.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":165,"numField":-558.3008070270995,"stringDateField":"1962-07-15","stringDateTimeField":"1980-02-13T20:26:24Z","stringField":"EGrhMxiMBR","stringTimeField":"08:34:56.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2972,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2972,"uuid":"9e0a89c5-5655-11ee-a801-675ed0f8e89b"},"arrayField":["uMXqAKeZDG","csibv","fwNBfTGgVV","xTeAvrthm"],"boolField":true,"intField":-266,"numField":652.7077527140124,"objField":{"FioHCI":2023989011582749006,"KKojZWzrnA":8128841683972022859,"MpJqoViw":-7481882657867357897,"WVcGBGMkE":-4552923916144388343,"ZpYAf":7810303423831096679,"zNCdOntOEs":1589110866585282217},"stringDateField":"1990-09-20","stringDateTimeField":"1947-01-10T14:56:19Z","stringField":"Ksbf","stringTimeField":"00:27:56.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":-266,"numField":652.7077527140124,"stringDateField":"1990-09-20","stringDateTimeField":"1947-01-10T14:56:19Z","stringField":"Ksbf","stringTimeField":"00:27:56.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2973,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2973,"uuid":"9e0a89c5-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["yBSN","bROKrKcrlw","JOGSxO","zMLyol","nnPlThADS","QAjiBkbzJa","Vyfv"],"boolField":false,"intField":105,"numField":174.81723010907223,"objField":{"CtElF":2530556002968407199,"EQLp":8221135886443520556,"lCJqdoyFo":2841670144027287958},"stringDateField":"1974-09-16","stringDateTimeField":"1966-03-26T09:25:54Z","stringField":"mxVFrvnWkB","stringTimeField":"12:16:27.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":105,"numField":174.81723010907223,"stringDateField":"1974-09-16","stringDateTimeField":"1966-03-26T09:25:54Z","stringField":"mxVFrvnWkB","stringTimeField":"12:16:27.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2974,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2974,"uuid":"9e0a89c5-5655-11ee-b001-675ed0f8e89b"},"arrayField":["xgQnqhd","ohnwiUISnP","ZSeM"],"boolField":false,"intField":741,"numField":420.5263445230156,"objField":{"BUcgBIzzeV":2070230893797929442,"IQFYHkEsJF":-557082170817915971,"fFNpaxyFyd":-6246283482514984978,"ljABGZzQs":7479393745829499052,"mIkwpSho":-2723189382407515054,"uauCnKCaGf":-7130101327775901441},"stringDateField":"2002-10-10","stringDateTimeField":"2014-12-25T01:28:52Z","stringField":"JTFYB","stringTimeField":"18:35:11.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":741,"numField":420.5263445230156,"stringDateField":"2002-10-10","stringDateTimeField":"2014-12-25T01:28:52Z","stringField":"JTFYB","stringTimeField":"18:35:11.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2975,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2975,"uuid":"9e0a89c5-5655-11ee-b401-675ed0f8e89b"},"arrayField":["GehE","wqXK","QbaBt","rTPqEg"],"boolField":true,"intField":752,"numField":458.3679254809878,"objField":{"EqBE":6109808755341976191,"EzpCgmF":-6597141929910907158,"GInYPxs":-8735595568631026022,"TeBqtdMIo":3756235003435739557,"YXtCAhSbG":-8163545160919745589,"kaaru":-4708932017214075812,"nlLrGcOdpM":-7724470433541081416,"rpqV":4011072936495977117,"vTTQaC":9220342650583616039},"stringDateField":"2010-01-06","stringDateTimeField":"1999-09-14T06:04:20Z","stringField":"LABEuNiIPU","stringTimeField":"00:39:34.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":752,"numField":458.3679254809878,"stringDateField":"2010-01-06","stringDateTimeField":"1999-09-14T06:04:20Z","stringField":"LABEuNiIPU","stringTimeField":"00:39:34.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2976,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2976,"uuid":"9e0a89c5-5655-11ee-b801-675ed0f8e89b"},"arrayField":["huUSVfaTc","Irkl","QqMNBYg","ZTZeb","wVbN","OmEfkpQyil"],"boolField":false,"intField":-854,"numField":-736.8608443529466,"objField":{"WATLECIgRZ":3240349803174804858,"apRIIeNC":173748121565211598,"xMTo":-530958492606995323},"stringDateField":"1934-06-20","stringDateTimeField":"1953-09-16T22:14:21Z","stringField":"vnvQkevz","stringTimeField":"15:34:14.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":-854,"numField":-736.8608443529466,"stringDateField":"1934-06-20","stringDateTimeField":"1953-09-16T22:14:21Z","stringField":"vnvQkevz","stringTimeField":"15:34:14.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2977,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2977,"uuid":"9e0a89c5-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["UmzeCb","UwabCQFDx","UiBWylXYDr","sKsoH","slgNppvymP","RrDFFWaNi","mvCY"],"boolField":false,"intField":912,"numField":-803.7276670477128,"objField":{"CzWtfIUIrj":3815312128565052278,"IUBusoNcKX":-3425402911190525177,"JmUeDkB":-639647057074790477,"TgvIYTatq":-8971971248704024200,"XMVrwSi":-5323536429582630703,"aGcX":-974642771037383432,"cyGy":-6360634921315660205,"eFpbbhqeKR":-8213547999582177233,"wolSQxYPKw":976033803854566112,"wxBcl":-995553989856953061},"stringDateField":"1943-06-24","stringDateTimeField":"1961-03-09T19:17:26Z","stringField":"vczxTQTAlU","stringTimeField":"03:22:13.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763717Z","intField":912,"numField":-803.7276670477128,"stringDateField":"1943-06-24","stringDateTimeField":"1961-03-09T19:17:26Z","stringField":"vczxTQTAlU","stringTimeField":"03:22:13.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2978,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2978,"uuid":"9e0a89c6-5655-11ee-8001-675ed0f8e89b"},"arrayField":["JRIBVTp"],"boolField":true,"intField":871,"numField":364.8841860543857,"objField":{"NBok":5791237792719539232,"PkkQ":-8347150316438320150,"QpZXvc":-5075053213506978378,"WFTA":-6031637767594718075,"bGArMla":-1927725127630523151},"stringDateField":"1987-07-08","stringDateTimeField":"2010-07-05T17:47:27Z","stringField":"oWzHK","stringTimeField":"03:37:22.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":871,"numField":364.8841860543857,"stringDateField":"1987-07-08","stringDateTimeField":"2010-07-05T17:47:27Z","stringField":"oWzHK","stringTimeField":"03:37:22.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2979,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2979,"uuid":"9e0a89c6-5655-11ee-8401-675ed0f8e89b"},"arrayField":["CFKS","HtDHb","TWHao"],"boolField":false,"intField":-87,"numField":-621.1343799342466,"objField":{"SqJEaJ":1247234660033284476,"cbPQnrLlp":-8423381520082829234,"fLBPR":-5209281539897213781,"gOlRhlpwRa":-9186506660625263079,"kKqTuCV":6176413091525177986,"kzEa":-7153653725550644199,"lgdganqM":-3132628095997357379,"opaPkTe":-1472022893731512094},"stringDateField":"1904-03-14","stringDateTimeField":"1974-11-02T04:54:14Z","stringField":"iyqMEff","stringTimeField":"12:40:57.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":-87,"numField":-621.1343799342466,"stringDateField":"1904-03-14","stringDateTimeField":"1974-11-02T04:54:14Z","stringField":"iyqMEff","stringTimeField":"12:40:57.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2980,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2980,"uuid":"9e0a89c6-5655-11ee-8801-675ed0f8e89b"},"arrayField":["TYrvgju","uPHQxt","eGAWnIVmo"],"boolField":true,"intField":616,"numField":881.1783991222693,"objField":{"QBtOCzP":-6596069846405697733,"RFxYa":-1521803522611680934},"stringDateField":"1980-12-04","stringDateTimeField":"1923-12-03T17:02:15Z","stringField":"lmWTS","stringTimeField":"14:24:21.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":616,"numField":881.1783991222693,"stringDateField":"1980-12-04","stringDateTimeField":"1923-12-03T17:02:15Z","stringField":"lmWTS","stringTimeField":"14:24:21.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2981,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2981,"uuid":"9e0a89c6-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["bZXkymXhYY","hLlLiQypdL","ksHoj","VNmhAcH","JozZtkTof","dkZLpzWQ"],"boolField":true,"intField":128,"numField":499.50313617823093,"objField":{"ABsUzJAtRs":8393425621485238007,"IRTjph":2176829402140982013,"NFcIx":4436708278297566556,"RuCBoSOJk":4556926910742296960,"ZTJAJG":8466719546895284671,"dBCqhXiwyl":-4416838156627827432,"hAxBYtb":-3433304484547373772,"ptNi":-6076032645099193510},"stringDateField":"2008-05-25","stringDateTimeField":"1988-05-16T04:15:52Z","stringField":"ysFiIuqYnB","stringTimeField":"03:29:14.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":128,"numField":499.50313617823093,"stringDateField":"2008-05-25","stringDateTimeField":"1988-05-16T04:15:52Z","stringField":"ysFiIuqYnB","stringTimeField":"03:29:14.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2982,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2982,"uuid":"9e0a89c6-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ndnRBdE"],"boolField":true,"intField":57,"numField":-374.7154154192537,"objField":{"ABajHiQEV":5628989043063858963,"BTzoVujPaO":-1226760306427545428,"aCbki":8270050452610407534,"exqKTKmn":1971600900020497776,"hsZjIV":1966770631565639681,"kOowhya":985291303405587377,"mRnYuDBcu":2807214733426632334,"oGschRexZY":9133753009475703739,"ptywQkryp":-5300465673896529808},"stringDateField":"1984-11-11","stringDateTimeField":"1951-04-13T22:45:42Z","stringField":"Gqdp","stringTimeField":"09:07:28.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":57,"numField":-374.7154154192537,"stringDateField":"1984-11-11","stringDateTimeField":"1951-04-13T22:45:42Z","stringField":"Gqdp","stringTimeField":"09:07:28.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2983,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2983,"uuid":"9e0a89c6-5655-11ee-9401-675ed0f8e89b"},"arrayField":["GHuEU","HdQtPE","gyBAELdCbq","GaqeMErBi","eXnqQpA","SVvb","EIvNEiO","NmTmiS","RMcjXl","DisiVsDkCJ"],"boolField":true,"intField":-635,"numField":-347.2761564157275,"objField":{"EvJZlN":-1273375683109104004,"pFjnot":-3663400230185060569},"stringDateField":"1943-09-17","stringDateTimeField":"1925-11-08T22:48:38Z","stringField":"kZee","stringTimeField":"01:10:10.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":-635,"numField":-347.2761564157275,"stringDateField":"1943-09-17","stringDateTimeField":"1925-11-08T22:48:38Z","stringField":"kZee","stringTimeField":"01:10:10.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2984,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2984,"uuid":"9e0a89c6-5655-11ee-9801-675ed0f8e89b"},"arrayField":["cSPxp","QoQasFkk","LwhOBq","wBIBwIJ","kHeRuipIHj","QrJLmmC"],"boolField":false,"intField":611,"numField":742.8244040943863,"objField":{"fValpoQqG":-2717660353536050858,"oKzxlGAe":3319404795871826735},"stringDateField":"1966-09-01","stringDateTimeField":"1959-08-26T05:33:39Z","stringField":"PJsOr","stringTimeField":"19:35:01.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":611,"numField":742.8244040943863,"stringDateField":"1966-09-01","stringDateTimeField":"1959-08-26T05:33:39Z","stringField":"PJsOr","stringTimeField":"19:35:01.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2985,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2985,"uuid":"9e0a89c6-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["eFjgF","TAFZZ","oaJOxp","maBrnb","abUWbEQPwn","ezudxPCi","JWrLzb","qFRReNp","zZADXmXmNw","tgaEmPgQ"],"boolField":false,"intField":700,"numField":-640.0833620367013,"objField":{"CRvpbYgT":-3724558610350556322,"DPvaN":-6413704031148186771,"ZJYtgFk":7867980939235016526},"stringDateField":"2004-02-28","stringDateTimeField":"2005-02-14T20:05:03Z","stringField":"MCVrAwe","stringTimeField":"01:27:58.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":700,"numField":-640.0833620367013,"stringDateField":"2004-02-28","stringDateTimeField":"2005-02-14T20:05:03Z","stringField":"MCVrAwe","stringTimeField":"01:27:58.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2986,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2986,"uuid":"9e0a89c6-5655-11ee-a001-675ed0f8e89b"},"arrayField":["gvUIqdv","rXqefdsbyU","IApVFowqw","hYMbWsUPid","CFOYSG"],"boolField":false,"intField":418,"numField":522.397262275099,"objField":{"GVLyxTzk":-4860893376289515104,"HTIBSHcI":7255367295380646734,"KFVi":4050595417576174916,"WYgkDbsGn":355208641061128054,"cLtixj":2517536248455010747,"khitHyM":-8304224011961782686,"kquYZxcCMY":-2923590810134248786,"tCEQ":6326015356535542185,"xLsrSzKOcS":5691228514015996966},"stringDateField":"1912-02-13","stringDateTimeField":"1901-03-02T12:16:49Z","stringField":"BnhcBIyOxa","stringTimeField":"18:26:17.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":418,"numField":522.397262275099,"stringDateField":"1912-02-13","stringDateTimeField":"1901-03-02T12:16:49Z","stringField":"BnhcBIyOxa","stringTimeField":"18:26:17.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2987,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2987,"uuid":"9e0a89c6-5655-11ee-a401-675ed0f8e89b"},"arrayField":["RBBj","OyLKDyI","UEHYsu"],"boolField":true,"intField":22,"numField":-182.66784456526463,"objField":{"CdTP":-1348760955949057780},"stringDateField":"1928-09-14","stringDateTimeField":"1981-11-08T04:53:08Z","stringField":"YomWrYsPa","stringTimeField":"17:30:32.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":22,"numField":-182.66784456526463,"stringDateField":"1928-09-14","stringDateTimeField":"1981-11-08T04:53:08Z","stringField":"YomWrYsPa","stringTimeField":"17:30:32.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2988,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2988,"uuid":"9e0a89c6-5655-11ee-a801-675ed0f8e89b"},"arrayField":["wvjTQSQvZ","hXmp","EeVaMC","OFHnPMcr","GWXnU","ProA"],"boolField":true,"intField":-776,"numField":-414.7071253759525,"objField":{"KSTMcNa":-2354957846356041069,"QAedY":6374693060124659778,"aVgw":-475886293223379543,"brMp":1219693969848392328,"cIIiTtx":-1658296590079617318,"fJvUroB":6253046818270143948,"tbgKGmzP":4628281117066848491},"stringDateField":"2001-11-04","stringDateTimeField":"1948-02-21T05:41:51Z","stringField":"vIkvnZNJ","stringTimeField":"00:15:05.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":-776,"numField":-414.7071253759525,"stringDateField":"2001-11-04","stringDateTimeField":"1948-02-21T05:41:51Z","stringField":"vIkvnZNJ","stringTimeField":"00:15:05.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2989,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2989,"uuid":"9e0a89c6-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["TazkZNXfDu","TSvRDMR","XcOnNbaRE","Qlxn","URJjD"],"boolField":true,"intField":926,"numField":-308.20289942060174,"objField":{"Gbovaa":7539323453686608564,"HMhcRfm":-5722091011221811358,"HZzr":-4058253552988012670,"JDCYVYAoG":-4951244335646389411,"QMbV":8684900062756327579,"eIiewkYlu":-9077276925136908398,"mKRUES":3278130420151436255,"uwFNZ":-2057669540072648318,"vrqm":-6281977448383246082},"stringDateField":"2015-04-22","stringDateTimeField":"1931-11-17T04:40:03Z","stringField":"JxqitIgvJ","stringTimeField":"07:14:56.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":926,"numField":-308.20289942060174,"stringDateField":"2015-04-22","stringDateTimeField":"1931-11-17T04:40:03Z","stringField":"JxqitIgvJ","stringTimeField":"07:14:56.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2990,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2990,"uuid":"9e0a89c6-5655-11ee-b001-675ed0f8e89b"},"arrayField":["xfUohwNpR","UyuNHQiKtr","iKUpIHRU","HuhAG","Vauy"],"boolField":true,"intField":990,"numField":216.58557474678489,"objField":{"BGIsteh":4819052042367027539,"KKsHbvQ":8145285771755155587,"PypUnNbr":-3809912742320678714,"VEAQAtlxu":-1994573024443240067,"avzJHX":7512819026317040917,"erzxBP":-6703633873607325707,"hwLxhjbh":5281333733200098902,"nqSseyuXk":6623472562030680098},"stringDateField":"1949-07-09","stringDateTimeField":"1967-07-22T01:19:42Z","stringField":"KWLZNgjkg","stringTimeField":"21:24:12.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":990,"numField":216.58557474678489,"stringDateField":"1949-07-09","stringDateTimeField":"1967-07-22T01:19:42Z","stringField":"KWLZNgjkg","stringTimeField":"21:24:12.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2991,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2991,"uuid":"9e0a89c6-5655-11ee-b401-675ed0f8e89b"},"arrayField":["kDwzeZXgW","ZVVPyvulpm","NgzAHK","ogAakEb","dtcVhXQvmZ","ZmIQxtaNo"],"boolField":true,"intField":-676,"numField":-117.3445035403553,"objField":{"McNqFn":7704150820376228511,"SnabgvIcy":2194316928974405678,"miCFt":1784912342397437792,"xHzFmAl":-2552857908918352455},"stringDateField":"2004-09-13","stringDateTimeField":"1928-12-31T13:05:38Z","stringField":"DgRfI","stringTimeField":"17:10:43.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":-676,"numField":-117.3445035403553,"stringDateField":"2004-09-13","stringDateTimeField":"1928-12-31T13:05:38Z","stringField":"DgRfI","stringTimeField":"17:10:43.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2992,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2992,"uuid":"9e0a89c6-5655-11ee-b801-675ed0f8e89b"},"arrayField":["gDgsNfMuBt","eICpyvq"],"boolField":false,"intField":773,"numField":-658.9484461986301,"objField":{"GEXZhQp":2125018303176004358,"GoRAsLVpM":2953849241218441748,"KMGcHGqA":-2555234236010363278,"WLmFskWlJ":-8932369149681974285,"fNXvVMQTM":8530556238731207322},"stringDateField":"1969-07-27","stringDateTimeField":"1961-03-01T17:55:29Z","stringField":"KVcJ","stringTimeField":"11:58:55.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":773,"numField":-658.9484461986301,"stringDateField":"1969-07-27","stringDateTimeField":"1961-03-01T17:55:29Z","stringField":"KVcJ","stringTimeField":"11:58:55.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2993,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2993,"uuid":"9e0a89c6-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["LuyVVP"],"boolField":true,"intField":-226,"numField":-186.2131681381912,"objField":{"GJvLIxgbdp":-9191294981261009257,"VEmlkRdEs":-3689573258084871536,"dezCBsekm":1150556050349790894,"mzXmXMTSO":-6013842201200048901},"stringDateField":"1921-04-21","stringDateTimeField":"1942-06-20T02:14:32Z","stringField":"LtIacIhj","stringTimeField":"15:42:56.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763718Z","intField":-226,"numField":-186.2131681381912,"stringDateField":"1921-04-21","stringDateTimeField":"1942-06-20T02:14:32Z","stringField":"LtIacIhj","stringTimeField":"15:42:56.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2994,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2994,"uuid":"9e0a89c7-5655-11ee-8001-675ed0f8e89b"},"arrayField":["XiXYbVlNTQ","IBkhlqAyT","YQng","ngGS","ZClQEvf","OyhFqGwfh","MfgQPeN","OyMUQ","iLZQnwX"],"boolField":true,"intField":624,"numField":659.5893973509526,"objField":{"EwlFp":-5150656123279422991,"Jxbs":-6950063397763210156,"NBvAXIG":8743183046915016490,"VvCVIlfG":-5850225495182075165,"WQkCRwuk":-6805628774463503713,"sSWsN":-3919086622094184544,"xDqT":1666676923697698472,"zfMJFxMm":-8577329222383692243},"stringDateField":"1949-01-14","stringDateTimeField":"1950-05-17T10:52:23Z","stringField":"SkNXO","stringTimeField":"23:25:55.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":624,"numField":659.5893973509526,"stringDateField":"1949-01-14","stringDateTimeField":"1950-05-17T10:52:23Z","stringField":"SkNXO","stringTimeField":"23:25:55.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2995,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2995,"uuid":"9e0a89c7-5655-11ee-8401-675ed0f8e89b"},"arrayField":["BbJicOn","sudCCvIbiZ"],"boolField":false,"intField":414,"numField":-195.10011408190553,"objField":{"CTQBAqEo":5899278944574367625,"KLndu":-8478730706909642902,"VdtRPcv":-8382533454766532054,"VpjAy":-2481115889789877285,"fwjr":4598996249658139835,"jexf":-205374035847411572,"jxnXvehS":5918556580427285182,"pNsQVmQd":-164856861026561596,"uCpNLaOdD":1666372423661907440},"stringDateField":"2012-12-14","stringDateTimeField":"1955-12-08T09:58:57Z","stringField":"qHMNDvTsW","stringTimeField":"16:46:01.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":414,"numField":-195.10011408190553,"stringDateField":"2012-12-14","stringDateTimeField":"1955-12-08T09:58:57Z","stringField":"qHMNDvTsW","stringTimeField":"16:46:01.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2996,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2996,"uuid":"9e0a89c7-5655-11ee-8801-675ed0f8e89b"},"arrayField":["XZZb","NivbGjXdDQ","QvTbQWQ","atoPbW","atuHXcAB","ppXCv"],"boolField":false,"intField":-682,"numField":283.11991538471125,"objField":{"aVlSMVOzh":-5677542373614479667,"khWbtj":3056835705828708022,"sRNpa":8542438906498380492,"snxdILpxd":1329710904291458871,"uxuiOd":-5695864232287930323},"stringDateField":"1901-09-05","stringDateTimeField":"1998-08-13T17:32:19Z","stringField":"vjvC","stringTimeField":"14:07:56.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":-682,"numField":283.11991538471125,"stringDateField":"1901-09-05","stringDateTimeField":"1998-08-13T17:32:19Z","stringField":"vjvC","stringTimeField":"14:07:56.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2997,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2997,"uuid":"9e0a89c7-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["EfncsQbiS","rkpRJeysg","iXXRPEDWo","KKwkw","QmBtEZwh","XKFEUqNk","udqdlR","VqVBJWmrsC","EEyh"],"boolField":true,"intField":-906,"numField":457.0623716107436,"objField":{"IfIFnolPks":4785556085690918549,"dIKfzaN":2994097952771574578,"kFvWVHgZLg":8139398780842789278,"qIVbx":5411540514527312517,"xeZErJ":-1897080817753071371},"stringDateField":"1942-09-02","stringDateTimeField":"1994-04-23T11:43:42Z","stringField":"hpjj","stringTimeField":"10:55:59.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":-906,"numField":457.0623716107436,"stringDateField":"1942-09-02","stringDateTimeField":"1994-04-23T11:43:42Z","stringField":"hpjj","stringTimeField":"10:55:59.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2998,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2998,"uuid":"9e0a89c7-5655-11ee-9001-675ed0f8e89b"},"arrayField":["LdFUoRgnj","QvkhQhPG","uage","UFxREKa","HCGBOXDa"],"boolField":true,"intField":-494,"numField":-954.176243326302,"objField":{"ERmk":1488277610888527040,"MsNCnwWp":4637983598156423168,"oAnGHkJ":-459179233166862810,"occcfdua":7135681633448550142,"vPabbiDxbW":179657833395369762},"stringDateField":"1918-04-04","stringDateTimeField":"2000-04-08T11:10:54Z","stringField":"hvQACEbm","stringTimeField":"07:28:07.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":-494,"numField":-954.176243326302,"stringDateField":"1918-04-04","stringDateTimeField":"2000-04-08T11:10:54Z","stringField":"hvQACEbm","stringTimeField":"07:28:07.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":2999,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":2999,"uuid":"9e0a89c7-5655-11ee-9401-675ed0f8e89b"},"arrayField":["GFRh","rztXw","yUtL","UvLKvbPr","ouFHmenM","LaLfQNqsCu"],"boolField":false,"intField":804,"numField":-77.88261924181217,"objField":{"AiMaruJNm":3934393093523540617,"BDhnPdMpNr":4793426221565547637,"PMVmyOIyzl":-377864709412239301,"VeeeM":-4694911064123394019},"stringDateField":"1958-01-06","stringDateTimeField":"2011-10-31T07:07:35Z","stringField":"Wjwe","stringTimeField":"17:57:27.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":804,"numField":-77.88261924181217,"stringDateField":"1958-01-06","stringDateTimeField":"2011-10-31T07:07:35Z","stringField":"Wjwe","stringTimeField":"17:57:27.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3000,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3000,"uuid":"9e0a89c7-5655-11ee-9801-675ed0f8e89b"},"arrayField":["zfyY"],"boolField":true,"intField":590,"numField":655.9782305100395,"objField":{"cqIAi":1472917518962772977},"stringDateField":"1974-12-01","stringDateTimeField":"1929-06-09T18:13:44Z","stringField":"GDDfgy","stringTimeField":"20:56:53.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":590,"numField":655.9782305100395,"stringDateField":"1974-12-01","stringDateTimeField":"1929-06-09T18:13:44Z","stringField":"GDDfgy","stringTimeField":"20:56:53.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3001,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3001,"uuid":"9e0a89c7-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["qBebgka","bNJghAhD","KJOxffj","FzIEHDe","aMRJEu","TwFr","tPFwCfWwDX","eSKpf","ZDqYXfAmBO"],"boolField":false,"intField":562,"numField":468.8996250481528,"objField":{"ACUFyI":-8328852494126642011,"SbvgBPQLs":-2762458367992499178,"mwhbZzv":-670716316764076935,"mxIVcyCRL":-8461503392287341015},"stringDateField":"1954-03-21","stringDateTimeField":"1990-01-03T11:42:52Z","stringField":"dzLfd","stringTimeField":"14:16:21.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":562,"numField":468.8996250481528,"stringDateField":"1954-03-21","stringDateTimeField":"1990-01-03T11:42:52Z","stringField":"dzLfd","stringTimeField":"14:16:21.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3002,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3002,"uuid":"9e0a89c7-5655-11ee-a001-675ed0f8e89b"},"arrayField":["VzvVIGd","CwQm","XAzvcMX","EiPTzXz","xHClVThXEO","npxtn","mGoeizOpJ","rmVMMkLTUf","bDYPxz"],"boolField":false,"intField":410,"numField":267.4742429927457,"objField":{"tvEf":1179774087571396005},"stringDateField":"1983-08-30","stringDateTimeField":"2008-12-12T16:36:51Z","stringField":"IHuK","stringTimeField":"07:59:58.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":410,"numField":267.4742429927457,"stringDateField":"1983-08-30","stringDateTimeField":"2008-12-12T16:36:51Z","stringField":"IHuK","stringTimeField":"07:59:58.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3003,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3003,"uuid":"9e0a89c7-5655-11ee-a401-675ed0f8e89b"},"arrayField":["HsATtE","iOfJ","AwQaCC","ZOLSQv","JExsMf","PXZKjfbb","mcXAro","aZTN","PcrP"],"boolField":false,"intField":-344,"numField":-228.49713402001348,"objField":{"DxkGC":3710155785344179839,"LDuuRU":4232515559114084292,"QoHuiyqrRH":-3208101032643568159,"SfFVAT":-5702258768211283006,"ZJaueyEGS":3070994044564938903,"jfUcSj":-123868423924368150,"oBPwjvcXem":469741284503465496,"okPFUnnjqE":-2213230683353742693},"stringDateField":"1901-03-01","stringDateTimeField":"1978-06-20T10:42:50Z","stringField":"SxKfLkpI","stringTimeField":"12:37:25.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":-344,"numField":-228.49713402001348,"stringDateField":"1901-03-01","stringDateTimeField":"1978-06-20T10:42:50Z","stringField":"SxKfLkpI","stringTimeField":"12:37:25.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3004,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3004,"uuid":"9e0a89c7-5655-11ee-a801-675ed0f8e89b"},"arrayField":["FwPxGVMQSP","YGhq"],"boolField":false,"intField":-759,"numField":-380.69365322846016,"objField":{"DCfUiXQ":-3025517346132039889,"IJGe":1279619954849016525,"QFalBwWU":850670371311771881,"ZULqFxgjK":-391987686840604619,"napedRVb":3397686774921099453,"sfYJqRceBT":-3779063157765848861,"slnJ":-8362525504441105739},"stringDateField":"1911-02-06","stringDateTimeField":"2006-08-31T03:15:38Z","stringField":"WOaVZAZx","stringTimeField":"11:35:11.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":-759,"numField":-380.69365322846016,"stringDateField":"1911-02-06","stringDateTimeField":"2006-08-31T03:15:38Z","stringField":"WOaVZAZx","stringTimeField":"11:35:11.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3005,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3005,"uuid":"9e0a89c7-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["PdSQpSPG","BlDOUPM"],"boolField":true,"intField":-433,"numField":278.65331021676474,"objField":{"iyKwZQ":3270171309955578275},"stringDateField":"2018-08-31","stringDateTimeField":"1919-04-15T03:44:39Z","stringField":"xVuWOe","stringTimeField":"00:59:58.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":-433,"numField":278.65331021676474,"stringDateField":"2018-08-31","stringDateTimeField":"1919-04-15T03:44:39Z","stringField":"xVuWOe","stringTimeField":"00:59:58.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3006,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3006,"uuid":"9e0a89c7-5655-11ee-b001-675ed0f8e89b"},"arrayField":["BPneFbNuC","Jadr","qaCaHRgLto","czLRcDbQJN","tpuclOAq","FEJZc","BKWDOu","IyrpMI"],"boolField":true,"intField":-62,"numField":277.47643062764735,"objField":{"MBEFkVKxy":-7737175675652390098,"StdtjAufjX":2377578841281461198,"XAPQNai":-7766764464616818029,"gWpXidPapJ":-1827021534907307643,"pRzccHH":-3220081753075525446,"rWOeN":2770906094175622984},"stringDateField":"1960-11-12","stringDateTimeField":"1913-11-01T13:42:16Z","stringField":"welXZdwsRb","stringTimeField":"10:20:59.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":-62,"numField":277.47643062764735,"stringDateField":"1960-11-12","stringDateTimeField":"1913-11-01T13:42:16Z","stringField":"welXZdwsRb","stringTimeField":"10:20:59.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3007,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3007,"uuid":"9e0a89c7-5655-11ee-b401-675ed0f8e89b"},"arrayField":["CDkYL","OaMdt","jQwQsU","wrne","oXDcf","bhCam","dzfJYSo","AYhvHQauv"],"boolField":true,"intField":731,"numField":657.9211033032124,"objField":{"UYrCSD":-8900414317790988169,"ZvNC":-2064504102860897250,"jyoT":2042030324490514529,"peNSZo":6230674826905611875},"stringDateField":"1975-11-30","stringDateTimeField":"2022-11-12T22:48:12Z","stringField":"hujSAoROTB","stringTimeField":"13:01:21.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":731,"numField":657.9211033032124,"stringDateField":"1975-11-30","stringDateTimeField":"2022-11-12T22:48:12Z","stringField":"hujSAoROTB","stringTimeField":"13:01:21.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3008,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3008,"uuid":"9e0a89c7-5655-11ee-b801-675ed0f8e89b"},"arrayField":["CgQAgEHc"],"boolField":true,"intField":516,"numField":-163.65422664054174,"objField":{"KBiBP":4735214523170936701,"OlpfSs":-3512746555637678691,"QuRFFbZBTT":-5621442989694316153,"hBGNjh":-436922455941893909,"vqwsJY":-3201725930651299192,"wvQtBGFWkZ":4654388842836208202},"stringDateField":"1960-09-07","stringDateTimeField":"1971-04-24T11:37:51Z","stringField":"cKgfFJuZXi","stringTimeField":"10:27:23.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":516,"numField":-163.65422664054174,"stringDateField":"1960-09-07","stringDateTimeField":"1971-04-24T11:37:51Z","stringField":"cKgfFJuZXi","stringTimeField":"10:27:23.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3009,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3009,"uuid":"9e0a89c7-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["mRuOYCu","lcyEwVw","KtglcHE","RTgPKtbG","GDHWFFlw"],"boolField":false,"intField":-690,"numField":-674.7770820471703,"objField":{"lXDOLJVX":4310207938847789073},"stringDateField":"1995-02-27","stringDateTimeField":"1964-12-07T19:16:37Z","stringField":"uTnVqE","stringTimeField":"15:05:24.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763719Z","intField":-690,"numField":-674.7770820471703,"stringDateField":"1995-02-27","stringDateTimeField":"1964-12-07T19:16:37Z","stringField":"uTnVqE","stringTimeField":"15:05:24.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3010,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3010,"uuid":"9e0a89c8-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wGuBGM","YOUopALORu","IOxEYB","VJUTAlUOz","ctEscP","YsAoRuTCRE","ppxEYp"],"boolField":true,"intField":-279,"numField":681.0006566062823,"objField":{"ECTvuuBLF":8148598574658808456,"GqoyeZVHe":3316587685230184476,"HvSp":6492126427065280176,"PaSK":7224957983246350849,"WtfUPOc":308590596592693174,"YyBQq":-5406113683885505737,"jRQUdonGIb":-5674055493546757802,"nAGAHIYC":8568853392125126676,"nhWGde":-3254882768486577790,"qqtPaxNHyA":-960642359386375938},"stringDateField":"1900-08-03","stringDateTimeField":"1987-08-03T00:19:12Z","stringField":"hDzrTggSak","stringTimeField":"01:12:17.36Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":-279,"numField":681.0006566062823,"stringDateField":"1900-08-03","stringDateTimeField":"1987-08-03T00:19:12Z","stringField":"hDzrTggSak","stringTimeField":"01:12:17.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3011,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3011,"uuid":"9e0a89c8-5655-11ee-8401-675ed0f8e89b"},"arrayField":["hQxvKToYq","BvpJ","AsvKWYsls","DzouqgUjVd","ANND"],"boolField":false,"intField":-325,"numField":-236.47285220108483,"objField":{"BRdvCI":4176188675458094734,"IvWs":5188326160119506297,"KZWkBc":7215839116989014473,"LRflHzzMC":8992794844993830222,"UbEhLqLl":-6074366445920482907,"cPSF":7199531847435001193,"hQlLIWlpzn":-7069707873516293118,"kdWm":-3601877508303087010,"ugPGh":-4512914506786847638,"zSur":2495914273310399561},"stringDateField":"1967-04-22","stringDateTimeField":"1999-09-06T20:49:29Z","stringField":"UDcQig","stringTimeField":"17:01:34.23Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":-325,"numField":-236.47285220108483,"stringDateField":"1967-04-22","stringDateTimeField":"1999-09-06T20:49:29Z","stringField":"UDcQig","stringTimeField":"17:01:34.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3012,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3012,"uuid":"9e0a89c8-5655-11ee-8801-675ed0f8e89b"},"arrayField":["QSTauUSw","gNOBd","LcsNay","qksU"],"boolField":false,"intField":343,"numField":-268.9293522622368,"objField":{"AWwnuWf":5806762174990706063,"HtjI":630800345046765969,"ZXvOWKc":-8317400898037390425,"epoAkffD":-7018067836289656177,"mAipu":-6474109991480865780,"nqfDps":8854965485681367056,"oZjS":-5981238347146481986},"stringDateField":"1976-05-25","stringDateTimeField":"2012-11-09T06:52:30Z","stringField":"lEVFPBD","stringTimeField":"14:22:44.10Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":343,"numField":-268.9293522622368,"stringDateField":"1976-05-25","stringDateTimeField":"2012-11-09T06:52:30Z","stringField":"lEVFPBD","stringTimeField":"14:22:44.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3013,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3013,"uuid":"9e0a89c8-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["kOqTxh","olwj","qpZWi","AJMz"],"boolField":false,"intField":-372,"numField":-647.5334527041421,"objField":{"OkrXT":4370265119740011102},"stringDateField":"1988-05-17","stringDateTimeField":"1938-10-06T08:09:36Z","stringField":"hgrQtaaGiU","stringTimeField":"10:34:42.33Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":-372,"numField":-647.5334527041421,"stringDateField":"1988-05-17","stringDateTimeField":"1938-10-06T08:09:36Z","stringField":"hgrQtaaGiU","stringTimeField":"10:34:42.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3014,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3014,"uuid":"9e0a89c8-5655-11ee-9001-675ed0f8e89b"},"arrayField":["aRLvfDMi","CkCsHfQ","ngcq","CECTGNOgwV","DMJKhEQUY","xtBWjwGzI","TTDsFKNI","wJcZWP","uTjWoer","XtOdx"],"boolField":true,"intField":105,"numField":-543.8289567234989,"objField":{"McdkLmPps":2656034533668666643,"gTOiK":3707249936811144301,"hfuskKSiR":-1592836439118661557,"metokaQEn":6864651984472198290,"sxIaTo":-2538432293592526403,"yEDuyC":-920863656874739715},"stringDateField":"1985-03-03","stringDateTimeField":"1972-07-18T07:27:33Z","stringField":"wghUQYzy","stringTimeField":"19:46:29.22Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":105,"numField":-543.8289567234989,"stringDateField":"1985-03-03","stringDateTimeField":"1972-07-18T07:27:33Z","stringField":"wghUQYzy","stringTimeField":"19:46:29.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3015,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3015,"uuid":"9e0a89c8-5655-11ee-9401-675ed0f8e89b"},"arrayField":["aHrZwZn","gZcoAZK","sfokeVh","uDXWrLNKA","CGKKvm"],"boolField":true,"intField":684,"numField":-547.7741639761482,"objField":{"IAJFcz":7883157795099554929,"NidUeUvRyJ":-6532538174165541635,"QnlzLAu":-1471702966253831815,"WiWXTLJ":-1857626403388889116,"cnXWHlv":4823010486267251202,"qzETgvEn":506699215794289665},"stringDateField":"2015-02-25","stringDateTimeField":"2005-01-20T06:15:00Z","stringField":"vnHsX","stringTimeField":"14:26:01.11Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":684,"numField":-547.7741639761482,"stringDateField":"2015-02-25","stringDateTimeField":"2005-01-20T06:15:00Z","stringField":"vnHsX","stringTimeField":"14:26:01.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3016,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3016,"uuid":"9e0a89c8-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gUeXadDbKn","pGwdAYBhIV","kGvqFU","lnJxKfT","cYVhUuKT","ZQYinWx","bzUktvhFjT"],"boolField":false,"intField":-114,"numField":-777.0985131143781,"objField":{"CnSDqtuf":-4353136556474174270,"WJskfdwtt":-5574772514972465566,"YPmQTNHL":-383688755611115259,"iqilPZFy":4317993856940369804,"kDlYFBCn":-2917648770987768608,"owIAlHeRW":4908762694900367956,"xooCLN":-6710050149304306543,"yRoOZljg":-5460722901584989374,"yzvoQNsgnP":3926598871137110045},"stringDateField":"2003-06-24","stringDateTimeField":"1943-08-22T09:33:50Z","stringField":"ENgDgIGb","stringTimeField":"14:14:43.43Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":-114,"numField":-777.0985131143781,"stringDateField":"2003-06-24","stringDateTimeField":"1943-08-22T09:33:50Z","stringField":"ENgDgIGb","stringTimeField":"14:14:43.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3017,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3017,"uuid":"9e0a89c8-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["XqGnzVybi"],"boolField":false,"intField":-61,"numField":-737.0767056645659,"objField":{"QQTUfC":-5238914836695152726,"azdwS":-1588168811955062136,"eEYCEjXjF":-993913797341926742},"stringDateField":"1988-11-18","stringDateTimeField":"1975-01-09T19:09:00Z","stringField":"iqtXMiKp","stringTimeField":"00:57:32.20Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":-61,"numField":-737.0767056645659,"stringDateField":"1988-11-18","stringDateTimeField":"1975-01-09T19:09:00Z","stringField":"iqtXMiKp","stringTimeField":"00:57:32.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3018,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3018,"uuid":"9e0a89c8-5655-11ee-a001-675ed0f8e89b"},"arrayField":["kZHbof","ufOeN","nRqtgTICxm","NVAj"],"boolField":true,"intField":655,"numField":-860.318004434036,"objField":{"QOjACzNO":8841751317171755800,"WYzPzDaGc":5080105680025153829,"auSKOIyngd":-6832874977109640846,"fSVJS":-1596237970183268911,"kNgVFKacJ":4356869703898717616,"uFFWHRbab":-7940909364609371508},"stringDateField":"1982-04-28","stringDateTimeField":"1931-11-22T20:48:07Z","stringField":"IeYJoH","stringTimeField":"22:58:49.14Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":655,"numField":-860.318004434036,"stringDateField":"1982-04-28","stringDateTimeField":"1931-11-22T20:48:07Z","stringField":"IeYJoH","stringTimeField":"22:58:49.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3019,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3019,"uuid":"9e0a89c8-5655-11ee-a401-675ed0f8e89b"},"arrayField":["JkvUQSF","kuLHx","dKhnNbVGy"],"boolField":true,"intField":609,"numField":285.19881596908857,"objField":{"RczuUAYzez":-3230234136488040146,"SnbcpEOtJ":-1082858695250549349,"bkmJdNHF":742476022130425742,"dKCQr":-6402943681257892628,"sQxFrTZ":-4103300885841561577,"wUcCIRx":3389378464108274499,"xKZDNmEH":1740477217479695518},"stringDateField":"1999-12-23","stringDateTimeField":"1914-02-09T22:14:20Z","stringField":"vBFWR","stringTimeField":"08:46:20.29Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":609,"numField":285.19881596908857,"stringDateField":"1999-12-23","stringDateTimeField":"1914-02-09T22:14:20Z","stringField":"vBFWR","stringTimeField":"08:46:20.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3020,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3020,"uuid":"9e0a89c8-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sopQ","xvMYRR","eIEezAQjjD","zIDSTVazGX","HKLaA","VUMNM","SdFkSiasV","AfiRXBvrbl","dnUJcIHEk","ZqKBbjnD"],"boolField":false,"intField":-637,"numField":-985.5258089276716,"objField":{"DQMCEfLHZk":-1428622209438044020,"IFvgyUKRJh":-404070970658092722,"MfDnfsVanx":-6919043097434627893,"POrbKc":-9156475104874575701,"gCPno":-2143665086432642719,"hEFtFbA":7957321492335477013,"lSRRvitG":1213762971385235747,"nXBW":5369886567087732317,"tKmMKxUZWY":4621529224722179284,"xvoIRTeY":-8854397493221845976},"stringDateField":"1999-11-03","stringDateTimeField":"1997-05-10T05:31:02Z","stringField":"gBPK","stringTimeField":"16:17:20.29Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":-637,"numField":-985.5258089276716,"stringDateField":"1999-11-03","stringDateTimeField":"1997-05-10T05:31:02Z","stringField":"gBPK","stringTimeField":"16:17:20.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3021,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3021,"uuid":"9e0a89c8-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["LizQhbyVQV","zWOntdi","AMHhFni","RdosJL"],"boolField":true,"intField":-765,"numField":-984.163135615196,"objField":{"wJEWtcFFdD":-8758404538988985913},"stringDateField":"2023-06-07","stringDateTimeField":"1965-03-23T02:34:51Z","stringField":"UacjNJCdO","stringTimeField":"13:26:27.20Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":-765,"numField":-984.163135615196,"stringDateField":"2023-06-07","stringDateTimeField":"1965-03-23T02:34:51Z","stringField":"UacjNJCdO","stringTimeField":"13:26:27.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3022,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3022,"uuid":"9e0a89c8-5655-11ee-b001-675ed0f8e89b"},"arrayField":["InChO"],"boolField":true,"intField":745,"numField":-501.51119094593815,"objField":{"GXIUabe":-2645764626766556075,"WwaxKulvhV":-2904814264301144355,"lLrDIT":8520172540913675625,"umFyabKC":-5366356032670662872},"stringDateField":"1960-03-10","stringDateTimeField":"1959-11-05T15:29:24Z","stringField":"IxPFZB","stringTimeField":"05:24:42.13Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":745,"numField":-501.51119094593815,"stringDateField":"1960-03-10","stringDateTimeField":"1959-11-05T15:29:24Z","stringField":"IxPFZB","stringTimeField":"05:24:42.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3023,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3023,"uuid":"9e0a89c8-5655-11ee-b401-675ed0f8e89b"},"arrayField":["rkXoLpmL","vhjchjoVM","jJccgUtW","dODm","EeAwypVcar","jUgPY","TTeUeE","inBCgwS"],"boolField":false,"intField":931,"numField":-558.4557124460501,"objField":{"YrSaC":-493668163707543016,"ZOeTGFTiUX":-7674352080690714973,"igbsUJNKik":9160868015007994187,"lOpqhEzj":-5150702139291842259,"xhSCSYQLi":8148825841038747777},"stringDateField":"2023-09-19","stringDateTimeField":"2009-10-02T15:31:20Z","stringField":"sNkLqqBnfE","stringTimeField":"19:09:27.34Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":931,"numField":-558.4557124460501,"stringDateField":"2023-09-19","stringDateTimeField":"2009-10-02T15:31:20Z","stringField":"sNkLqqBnfE","stringTimeField":"19:09:27.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3024,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3024,"uuid":"9e0a89c8-5655-11ee-b801-675ed0f8e89b"},"arrayField":["uLqAcl","sXWjrkNkR","QAEtyCJ"],"boolField":true,"intField":-640,"numField":-789.7728329456206,"objField":{"DWcyg":-6350851980418402207,"GzuFdbeG":8256081394165732038,"MAXxDiFMC":-2972652219554984569,"NrIBQxRNmw":5269058924215158844,"OQAoC":3181873167024728290,"VZgageyHh":-6834887148477821310,"XyNkfLrFI":-6174298365457504617,"bTZPNgJ":-6346338458015879093,"dksYPCbCIk":-368561312459809246},"stringDateField":"1968-06-25","stringDateTimeField":"1964-09-03T16:34:29Z","stringField":"jCbUD","stringTimeField":"10:38:58.22Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":-640,"numField":-789.7728329456206,"stringDateField":"1968-06-25","stringDateTimeField":"1964-09-03T16:34:29Z","stringField":"jCbUD","stringTimeField":"10:38:58.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3025,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3025,"uuid":"9e0a89c8-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["WEdcCK","DmJxa","IKtb","yzFMo"],"boolField":true,"intField":952,"numField":469.9036980974063,"objField":{"KbtxfoEFcf":-6910828585509593778,"NqXTK":7935559818503198578,"UJwVUD":2904475286295419399,"lotuYq":264086358419882023,"tSpWDTeC":8572832087230138997,"xvMWrkKX":-172599152257108633},"stringDateField":"1951-10-11","stringDateTimeField":"2000-06-28T12:03:28Z","stringField":"QEoMFSFNbE","stringTimeField":"06:58:28.30Z"},"flow_published_at":"2023-09-18T19:00:21.876372Z","intField":952,"numField":469.9036980974063,"stringDateField":"1951-10-11","stringDateTimeField":"2000-06-28T12:03:28Z","stringField":"QEoMFSFNbE","stringTimeField":"06:58:28.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3026,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3026,"uuid":"9e0a89c9-5655-11ee-8001-675ed0f8e89b"},"arrayField":["neFXuXa"],"boolField":true,"intField":-253,"numField":-293.0045000277714,"objField":{"IAqiCktxUP":8741759238702852116,"ZuSG":17497214772032332,"emwIidEqh":6218664199875856036,"sFlsc":-5060558245944328151},"stringDateField":"2013-05-07","stringDateTimeField":"1968-03-29T22:38:23Z","stringField":"Fgwh","stringTimeField":"02:53:30.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":-253,"numField":-293.0045000277714,"stringDateField":"2013-05-07","stringDateTimeField":"1968-03-29T22:38:23Z","stringField":"Fgwh","stringTimeField":"02:53:30.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3027,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3027,"uuid":"9e0a89c9-5655-11ee-8401-675ed0f8e89b"},"arrayField":["MRvlHCQar","pAQmVY"],"boolField":false,"intField":-548,"numField":899.2025771336447,"objField":{"FycXxOgQJ":4325439491382012755,"HfIpfIL":6932547948458783235,"ZWMAmo":-2950999394133507281,"qYmHbcqQ":8404854663452822446,"utDl":-4855101551192250657},"stringDateField":"1972-10-16","stringDateTimeField":"1939-10-09T06:31:29Z","stringField":"xehlatse","stringTimeField":"10:06:21.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":-548,"numField":899.2025771336447,"stringDateField":"1972-10-16","stringDateTimeField":"1939-10-09T06:31:29Z","stringField":"xehlatse","stringTimeField":"10:06:21.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3028,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3028,"uuid":"9e0a89c9-5655-11ee-8801-675ed0f8e89b"},"arrayField":["crJuTw","atIJu","BDLf","ClsK"],"boolField":false,"intField":-160,"numField":378.7885347748159,"objField":{"YuFNg":-791217826742967296,"lUprBPIl":3835504523781262609},"stringDateField":"1998-01-11","stringDateTimeField":"1935-05-20T06:57:35Z","stringField":"zHTmom","stringTimeField":"18:03:05.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":-160,"numField":378.7885347748159,"stringDateField":"1998-01-11","stringDateTimeField":"1935-05-20T06:57:35Z","stringField":"zHTmom","stringTimeField":"18:03:05.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3029,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3029,"uuid":"9e0a89c9-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["OZStoCQcqX","Drae","XaneQSKNj","CqlLBOKtqP","lYqeX","lbRM"],"boolField":false,"intField":-599,"numField":-579.0095318830042,"objField":{"BpvoolE":3257549842559410311,"NVhOyWos":8766270161398495493,"PjcTeFgO":-73494569060237438,"ZbGgqSXCpg":2195981065701330043,"ZbPA":8859257216498641090,"bYBDu":5143952063583299050,"yogp":3874790138404726512},"stringDateField":"1991-03-26","stringDateTimeField":"1998-07-21T04:51:02Z","stringField":"GjUzwZW","stringTimeField":"00:26:16.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":-599,"numField":-579.0095318830042,"stringDateField":"1991-03-26","stringDateTimeField":"1998-07-21T04:51:02Z","stringField":"GjUzwZW","stringTimeField":"00:26:16.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3030,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3030,"uuid":"9e0a89c9-5655-11ee-9001-675ed0f8e89b"},"arrayField":["bVirAIeNR","pziVgSEjv","pPzY","wqtvboZvX","mIivrB","wjEbdT","ilbkrD","uDqVk","pkSBYblE","pWqRExZvxx"],"boolField":false,"intField":-488,"numField":60.706145641836514,"objField":{"VjsyLqYxP":-410813168848380731},"stringDateField":"1997-02-28","stringDateTimeField":"1967-08-29T00:28:25Z","stringField":"gWZNjRAq","stringTimeField":"06:36:28.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":-488,"numField":60.706145641836514,"stringDateField":"1997-02-28","stringDateTimeField":"1967-08-29T00:28:25Z","stringField":"gWZNjRAq","stringTimeField":"06:36:28.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3031,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3031,"uuid":"9e0a89c9-5655-11ee-9401-675ed0f8e89b"},"arrayField":["KADn","avKvetFYhh","MewwRiMjCv","tWzGwMHxAN","SodqbWUY","ELrNakRjn","HaAxykX","LHlvFdRj","enPxsB"],"boolField":true,"intField":785,"numField":664.5933544119345,"objField":{"AVrXcmp":5058495399855278304,"KXLpQQDC":-8421043815263128834,"OdxJc":-1544682864225844397,"QslGpmQBu":7952650184691445899,"Qxxdx":1014243913401987380,"aDaCFweac":-1540361431590105557,"aQiuNRC":6452886343959788575,"jJkluvaGV":2433210653007642650,"pxMDGW":-6323835962691663094,"timpKxQaa":-4376675146939429918},"stringDateField":"1900-06-13","stringDateTimeField":"1931-05-23T12:44:22Z","stringField":"ArBZgb","stringTimeField":"23:42:41.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":785,"numField":664.5933544119345,"stringDateField":"1900-06-13","stringDateTimeField":"1931-05-23T12:44:22Z","stringField":"ArBZgb","stringTimeField":"23:42:41.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3032,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3032,"uuid":"9e0a89c9-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ArzjosvdRz","vkgAd"],"boolField":true,"intField":-951,"numField":631.5115883188114,"objField":{"RNvDMO":-2700700519312926888,"bVyYWHLOB":3981135767281936101,"mMvwgVU":-4120889463008002367},"stringDateField":"1986-12-22","stringDateTimeField":"1925-08-31T08:32:23Z","stringField":"iXaO","stringTimeField":"22:58:13.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":-951,"numField":631.5115883188114,"stringDateField":"1986-12-22","stringDateTimeField":"1925-08-31T08:32:23Z","stringField":"iXaO","stringTimeField":"22:58:13.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3033,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3033,"uuid":"9e0a89c9-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["fpobtHBXNO","QHaFEBRl","ywOg","uwXg","lypZWNq"],"boolField":true,"intField":401,"numField":575.2045128690136,"objField":{"SajZ":-2565225857963969618,"UzboRnJDZ":-1161848779837057409,"afsHDX":6171128706952539383,"fIrv":-8648869118900463092,"filSrAda":5062483449373956977,"lTcmfsbgqj":-3682703727406980724,"qwIOSk":-6650540999417010104,"wrMybEbA":-125571109038165684},"stringDateField":"1962-11-21","stringDateTimeField":"1946-11-29T09:41:13Z","stringField":"SrBKnd","stringTimeField":"22:21:09.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":401,"numField":575.2045128690136,"stringDateField":"1962-11-21","stringDateTimeField":"1946-11-29T09:41:13Z","stringField":"SrBKnd","stringTimeField":"22:21:09.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3034,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3034,"uuid":"9e0a89c9-5655-11ee-a001-675ed0f8e89b"},"arrayField":["DNaBg","ZnqjGmj","TMlbV","MRRo","VHUwzMkIv","idqoquCVoh"],"boolField":true,"intField":485,"numField":-526.1025860338638,"objField":{"JMpdot":-1695137748860333232,"YJeEWFyfQ":4855062515347276386,"kOxkf":5782499679523952037,"xQWacw":2956584255600413431,"zmZYguQplA":7364191513651418013},"stringDateField":"1974-09-29","stringDateTimeField":"1983-02-21T01:56:51Z","stringField":"jGvELO","stringTimeField":"19:51:24.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":485,"numField":-526.1025860338638,"stringDateField":"1974-09-29","stringDateTimeField":"1983-02-21T01:56:51Z","stringField":"jGvELO","stringTimeField":"19:51:24.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3035,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3035,"uuid":"9e0a89c9-5655-11ee-a401-675ed0f8e89b"},"arrayField":["PLIccIUndM","ewcFqTbDAy","QVDZfo","yzoVWHZk","NDqhJlv","kAbkzOfx","rtXihxV"],"boolField":true,"intField":-832,"numField":-661.530107127174,"objField":{"EkniqLAHz":-4426455334296452790,"MWMst":-8429785589903019753,"PJLWX":1574041692368715104,"RZCimRxOi":5575733498462411071,"UBNnOhVTY":3172048315882913029,"VDEs":9025193895665916656,"dtypid":-5277214055167869093,"xPsvxEWny":-8583953964519248468,"zxdultuTo":7495186006798949019},"stringDateField":"1988-02-29","stringDateTimeField":"1924-12-01T18:03:05Z","stringField":"WMQGDT","stringTimeField":"07:36:55.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":-832,"numField":-661.530107127174,"stringDateField":"1988-02-29","stringDateTimeField":"1924-12-01T18:03:05Z","stringField":"WMQGDT","stringTimeField":"07:36:55.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3036,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3036,"uuid":"9e0a89c9-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ROWzGRqvA","IGZpBOVia","pCXSlQ"],"boolField":false,"intField":-133,"numField":932.9772310468765,"objField":{"FoNKRLw":-3862359023740364654,"HHsJsl":4450153265476502534,"MtvlNrxsv":-5490947422329690821,"RCkCP":8658570881345384128,"VYrrr":8558292662741109658,"lbbQeFvKwT":-7176970474982651721,"lmTDdf":-528726995799998213,"msuGeX":5244908261541727589,"qNihWXT":-3048980339828392298,"tmMdHmSJi":6708420509594201207},"stringDateField":"1946-05-11","stringDateTimeField":"1935-01-03T17:39:34Z","stringField":"IPySPBi","stringTimeField":"16:34:13.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":-133,"numField":932.9772310468765,"stringDateField":"1946-05-11","stringDateTimeField":"1935-01-03T17:39:34Z","stringField":"IPySPBi","stringTimeField":"16:34:13.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3037,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3037,"uuid":"9e0a89c9-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["QUabn"],"boolField":true,"intField":681,"numField":-396.5542222546936,"objField":{"BIsvPSdb":4839211352491988366,"GwZyHgEQBq":7773669530643987446,"YlYeFSevOd":5057569958050143657},"stringDateField":"1946-12-04","stringDateTimeField":"1954-09-05T05:40:09Z","stringField":"vNmP","stringTimeField":"08:55:36.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":681,"numField":-396.5542222546936,"stringDateField":"1946-12-04","stringDateTimeField":"1954-09-05T05:40:09Z","stringField":"vNmP","stringTimeField":"08:55:36.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3038,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3038,"uuid":"9e0a89c9-5655-11ee-b001-675ed0f8e89b"},"arrayField":["NIQeP","YURQ","KNqlyXOCbR","NJolW","CgkvMdr","XBFpu","Cpbz"],"boolField":true,"intField":885,"numField":-665.7237362928224,"objField":{"JTFUjh":4740897524272522243,"KNHrpN":6139906533630013464,"LdIfm":1708219114963792945,"PVah":2017940959033504420,"UnOe":4789940123449589385,"ZQrMODH":-275672822889000376,"iMFijaBdZ":-3643524104058123158,"jAHCfE":-153290401777498906,"zfnZaA":7342976642141768339},"stringDateField":"1908-04-06","stringDateTimeField":"1902-06-16T02:45:09Z","stringField":"qYakt","stringTimeField":"22:59:12.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":885,"numField":-665.7237362928224,"stringDateField":"1908-04-06","stringDateTimeField":"1902-06-16T02:45:09Z","stringField":"qYakt","stringTimeField":"22:59:12.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3039,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3039,"uuid":"9e0a89c9-5655-11ee-b401-675ed0f8e89b"},"arrayField":["NUiLKqszGE","bsXQh"],"boolField":false,"intField":579,"numField":240.32188587534264,"objField":{"Jfck":-5779092834254556607,"LHXOd":-473384234484129287,"ZYryBPq":-4866534688077084891,"jfQsyvWAf":2988209864311552107,"liRLqz":-5975262615297631928,"owXnerOSX":2209854611892578411},"stringDateField":"2014-01-07","stringDateTimeField":"1912-03-28T13:16:10Z","stringField":"EkZOXV","stringTimeField":"08:10:00.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":579,"numField":240.32188587534264,"stringDateField":"2014-01-07","stringDateTimeField":"1912-03-28T13:16:10Z","stringField":"EkZOXV","stringTimeField":"08:10:00.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3040,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3040,"uuid":"9e0a89c9-5655-11ee-b801-675ed0f8e89b"},"arrayField":["pNeO","IQmX","AwaxDORjp","zLUv","UUepkMfe","WdPFIuH","WgoFjqP"],"boolField":true,"intField":973,"numField":7.159394967205301,"objField":{"LRCZhWvZ":2304026855925108343,"mfFWYZ":-1908332648966880833},"stringDateField":"1916-04-14","stringDateTimeField":"2008-10-11T18:49:24Z","stringField":"qlIRLuA","stringTimeField":"02:17:59.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":973,"numField":7.159394967205301,"stringDateField":"1916-04-14","stringDateTimeField":"2008-10-11T18:49:24Z","stringField":"qlIRLuA","stringTimeField":"02:17:59.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3041,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3041,"uuid":"9e0a89c9-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["YMmdAkZaGZ","sqbkrra","mdMUTs","AiaOZQ","fVSvNtj","xLhC","MLBD","jmNEFVZU","PjZjRy","EoLqA"],"boolField":false,"intField":-714,"numField":462.548323710017,"objField":{"BWWgCge":5756872495236404042,"GaLvS":1288097342968024771,"PWDCEPmx":6741575363304197430},"stringDateField":"1925-11-14","stringDateTimeField":"1913-11-01T04:42:33Z","stringField":"DGVq","stringTimeField":"01:11:26.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763721Z","intField":-714,"numField":462.548323710017,"stringDateField":"1925-11-14","stringDateTimeField":"1913-11-01T04:42:33Z","stringField":"DGVq","stringTimeField":"01:11:26.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3042,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3042,"uuid":"9e0a89ca-5655-11ee-8001-675ed0f8e89b"},"arrayField":["LIjqh","KyepjhGwa","PLbAz"],"boolField":true,"intField":-320,"numField":338.3842820637717,"objField":{"CnLFHL":4821374158834490396,"JIsXcS":-3424296566750853020,"KvbIOa":8484596839288611264,"fziBA":5359215165598557907,"oXHZNawfb":-9195447913893310736,"tiuyxOz":4710930896944612427,"wmsLv":-9035680557692605309},"stringDateField":"1978-06-24","stringDateTimeField":"1913-11-28T03:10:49Z","stringField":"XlOTrJK","stringTimeField":"00:33:19.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":-320,"numField":338.3842820637717,"stringDateField":"1978-06-24","stringDateTimeField":"1913-11-28T03:10:49Z","stringField":"XlOTrJK","stringTimeField":"00:33:19.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3043,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3043,"uuid":"9e0a89ca-5655-11ee-8401-675ed0f8e89b"},"arrayField":["VPsvuURf","IyyZK","ZuhkYrUrdV","ldUetB","dfVLD","XJmzI","KHoTftwkO","UfOWZ"],"boolField":false,"intField":-967,"numField":914.3349356974084,"objField":{"BPWqJpK":1021651781826233672,"FwjGbrzI":7791042488557011796,"RnGSHcKZC":500588977988410873,"SRAOpkGolb":-3791086936180293432,"VFFaY":-4402455751123760515,"oTCATwnikg":-2861200068112238413,"oeeYzfT":8309762411559653579,"pjwi":-9088986567232016704,"wwHTOma":1019621833826491148,"ygXXdJh":-1958016051478584229},"stringDateField":"1907-10-19","stringDateTimeField":"1965-04-18T15:19:49Z","stringField":"vpWyLHb","stringTimeField":"08:34:26.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":-967,"numField":914.3349356974084,"stringDateField":"1907-10-19","stringDateTimeField":"1965-04-18T15:19:49Z","stringField":"vpWyLHb","stringTimeField":"08:34:26.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3044,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3044,"uuid":"9e0a89ca-5655-11ee-8801-675ed0f8e89b"},"arrayField":["DZhgk","GPUzzEcdav"],"boolField":true,"intField":-44,"numField":117.19494124787366,"objField":{"frTVfG":3308538944102172138,"jaimPYOCJu":6801757480161216565},"stringDateField":"1908-01-01","stringDateTimeField":"2005-02-23T20:30:16Z","stringField":"wrgQjNpVM","stringTimeField":"03:08:24.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":-44,"numField":117.19494124787366,"stringDateField":"1908-01-01","stringDateTimeField":"2005-02-23T20:30:16Z","stringField":"wrgQjNpVM","stringTimeField":"03:08:24.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3045,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3045,"uuid":"9e0a89ca-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["Qeffbv","bDnNPLXO","gxhCnRvKoG","YcGgeq","RiCqtAr","mSXtMQHBZt","KHpD","FinGCG","JayKy","WECIWdnPsk"],"boolField":false,"intField":0,"numField":940.4449214165304,"objField":{"vloWKWjb":-8554078910731328698,"zHFd":3686427236773293579},"stringDateField":"2001-06-10","stringDateTimeField":"1931-11-03T21:06:00Z","stringField":"ZhUQFeJRG","stringTimeField":"13:14:01.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":0,"numField":940.4449214165304,"stringDateField":"2001-06-10","stringDateTimeField":"1931-11-03T21:06:00Z","stringField":"ZhUQFeJRG","stringTimeField":"13:14:01.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3046,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3046,"uuid":"9e0a89ca-5655-11ee-9001-675ed0f8e89b"},"arrayField":["cevkfasLFC","wPJfAjMKyE","yahcQ","dkDOj","DSqp","OgbrMmBGX","ZWEIomkM","nMJEuKK"],"boolField":false,"intField":-521,"numField":612.9006694022929,"objField":{"OzoTtnzYr":-1587930237730552490,"oNReBX":1472280461471559908},"stringDateField":"1928-10-14","stringDateTimeField":"1982-02-08T22:26:18Z","stringField":"VpSszwMyC","stringTimeField":"06:42:47.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":-521,"numField":612.9006694022929,"stringDateField":"1928-10-14","stringDateTimeField":"1982-02-08T22:26:18Z","stringField":"VpSszwMyC","stringTimeField":"06:42:47.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3047,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3047,"uuid":"9e0a89ca-5655-11ee-9401-675ed0f8e89b"},"arrayField":["nPyS","uJurKNRgzx","OJiZgrKG","QmETEHKfyv"],"boolField":false,"intField":-317,"numField":135.65868157657147,"objField":{"HveIt":3016214237119527333,"MOhUlfvq":798563703910937445,"niLYYd":1752234654881975749},"stringDateField":"1996-08-30","stringDateTimeField":"2009-10-07T18:59:36Z","stringField":"DLobgE","stringTimeField":"15:58:59.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":-317,"numField":135.65868157657147,"stringDateField":"1996-08-30","stringDateTimeField":"2009-10-07T18:59:36Z","stringField":"DLobgE","stringTimeField":"15:58:59.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3048,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3048,"uuid":"9e0a89ca-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ybzGyMESx","wsIPhQ","ndmfCL"],"boolField":false,"intField":-919,"numField":-886.2039914966184,"objField":{"OHeyFz":4633705715491659181,"QdSAsq":-4229378909058590390,"VsqknWV":2684023299591340105,"dRTEs":8209080578361265573,"dWoUOcVIF":6187655016196825866,"jpuUwbzmZ":1898727014171980968,"lFFrCRDJU":8227425252288250487,"lzyD":1875339359809126693,"tKuAdivBJk":-8994959497727388696},"stringDateField":"1938-01-25","stringDateTimeField":"2012-06-05T17:35:41Z","stringField":"RQStiGLn","stringTimeField":"10:37:09.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":-919,"numField":-886.2039914966184,"stringDateField":"1938-01-25","stringDateTimeField":"2012-06-05T17:35:41Z","stringField":"RQStiGLn","stringTimeField":"10:37:09.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3049,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3049,"uuid":"9e0a89ca-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["iDaU"],"boolField":false,"intField":-452,"numField":-883.7621441207783,"objField":{"BAIXTW":-218357637014464180,"LpQWdsm":-5692231116322288436,"SiiupqHoX":-8636956972139832692,"TSEfKYXiJo":-3623478900499967813,"YRfrSLO":1484849252195783130,"YfuAtZQ":-3406033917778099157,"wnUYbl":-9170831420289392818},"stringDateField":"1921-08-03","stringDateTimeField":"1978-08-10T19:28:40Z","stringField":"JpcFkJNwq","stringTimeField":"00:27:56.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":-452,"numField":-883.7621441207783,"stringDateField":"1921-08-03","stringDateTimeField":"1978-08-10T19:28:40Z","stringField":"JpcFkJNwq","stringTimeField":"00:27:56.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3050,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3050,"uuid":"9e0a89ca-5655-11ee-a001-675ed0f8e89b"},"arrayField":["xuHi","uDuLwa"],"boolField":true,"intField":-261,"numField":303.4036906691637,"objField":{"DrVLe":1407936124890777577,"HRXZoRY":8415106829596647291,"MLSlRchiY":-914558396221612905,"VCVpS":-3154302247243186514,"WemV":8742713978632684276,"aTxTpXH":5057260462605641299,"gzVGV":5561612130504245956,"okqLNl":-506097956993553755,"uGuYJdSZd":4737065710963798033,"wobhvremZF":2239128281472204675},"stringDateField":"2017-12-26","stringDateTimeField":"1954-03-15T15:16:45Z","stringField":"fymgXrhm","stringTimeField":"20:16:46.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":-261,"numField":303.4036906691637,"stringDateField":"2017-12-26","stringDateTimeField":"1954-03-15T15:16:45Z","stringField":"fymgXrhm","stringTimeField":"20:16:46.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3051,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3051,"uuid":"9e0a89ca-5655-11ee-a401-675ed0f8e89b"},"arrayField":["Utqqgvyb","OatzKlg","XmtgoiYaAW","pYnugyKoR","ywGoCwlhdg","lqzrYCGE"],"boolField":false,"intField":86,"numField":80.8308814317964,"objField":{"FWdddEQqC":3206006425563185174,"NGMHyTke":-77063147157342884,"ebYMAO":8007960156328062347,"lvKcZw":6902845371584372117,"tbhf":1675002208294449973,"uDzGIFivD":5778600021090329794,"xfhHR":7929806404475015050,"yobJXyQ":2934861574138778139},"stringDateField":"1907-08-01","stringDateTimeField":"1982-12-03T03:51:24Z","stringField":"zDuUKyS","stringTimeField":"09:05:23.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":86,"numField":80.8308814317964,"stringDateField":"1907-08-01","stringDateTimeField":"1982-12-03T03:51:24Z","stringField":"zDuUKyS","stringTimeField":"09:05:23.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3052,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3052,"uuid":"9e0a89ca-5655-11ee-a801-675ed0f8e89b"},"arrayField":["VOlszy","xMMBqDe","yJjxz","UhqIKG","HXbxKkQr","sjJY"],"boolField":true,"intField":521,"numField":-114.41287929115018,"objField":{"GYgJ":8739943641223490504,"LphEbqkP":-7718051308830917989,"OtcwEwVEuf":2965606091479175383,"PcTBqVg":8690689862944176264,"QlQF":-290331692371350561,"bnwKYJnuj":4978685438692056950,"chOG":-3390743370254849202,"rIuk":-342753960594244748},"stringDateField":"2022-11-29","stringDateTimeField":"1979-04-23T19:46:54Z","stringField":"kkVheFoDK","stringTimeField":"00:48:27.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":521,"numField":-114.41287929115018,"stringDateField":"2022-11-29","stringDateTimeField":"1979-04-23T19:46:54Z","stringField":"kkVheFoDK","stringTimeField":"00:48:27.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3053,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3053,"uuid":"9e0a89ca-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["DyMU","ONnhf","AAgbGzBks","LqQI","ZMTO","YyGCq","jtzmwfLpN"],"boolField":false,"intField":24,"numField":323.27580705408485,"objField":{"BSuQVPEn":4785093011735922100,"KtTVTEJHBF":-8669892853086523273,"PIhnv":8590077829672217583,"rqrCixrVA":-6341683543020053859,"ssFCPNXyD":5315512484679847239,"vkfBJQjlg":3311875604048500698,"xCKREKFE":-8445289159073880671},"stringDateField":"1994-07-24","stringDateTimeField":"1925-12-19T19:20:13Z","stringField":"nsJAH","stringTimeField":"08:07:53.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":24,"numField":323.27580705408485,"stringDateField":"1994-07-24","stringDateTimeField":"1925-12-19T19:20:13Z","stringField":"nsJAH","stringTimeField":"08:07:53.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3054,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3054,"uuid":"9e0a89ca-5655-11ee-b001-675ed0f8e89b"},"arrayField":["kMcG","sOAcAt","XGzKfPyyj"],"boolField":false,"intField":944,"numField":-17.38035452243658,"objField":{"EjDcI":1195617137432237721,"HBgKSxue":6945652735371914664,"LyNzG":-8299756910409895193,"UNkny":7192993801170549571,"UoYKA":4293369946166233524,"aIbAH":-6319200031206017699,"fJwuNNU":6211367781481910597,"kYJpYaW":2486620710138244091,"upgAqeomgY":-4867638681301490996},"stringDateField":"1914-07-10","stringDateTimeField":"1906-08-14T07:05:24Z","stringField":"ZVbXGFbRrO","stringTimeField":"05:06:37.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":944,"numField":-17.38035452243658,"stringDateField":"1914-07-10","stringDateTimeField":"1906-08-14T07:05:24Z","stringField":"ZVbXGFbRrO","stringTimeField":"05:06:37.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3055,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3055,"uuid":"9e0a89ca-5655-11ee-b401-675ed0f8e89b"},"arrayField":["eResoFISow","sIWArVVAc","HQZcqp","clCFGAkJw"],"boolField":true,"intField":-821,"numField":-687.7643235764733,"objField":{"yIobbbiUsU":-4616649684010809970},"stringDateField":"2019-06-01","stringDateTimeField":"1909-06-07T03:49:28Z","stringField":"HSkomm","stringTimeField":"13:37:31.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":-821,"numField":-687.7643235764733,"stringDateField":"2019-06-01","stringDateTimeField":"1909-06-07T03:49:28Z","stringField":"HSkomm","stringTimeField":"13:37:31.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3056,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3056,"uuid":"9e0a89ca-5655-11ee-b801-675ed0f8e89b"},"arrayField":["roOYZLZ","idHkd","bynnd","AAkTZGgOHQ","XXls","DjBFuUnvOL","OAeMpnDcPu","MhyQ","iSFjzDuT","DfcFHrNVEa"],"boolField":true,"intField":-678,"numField":-927.8249458895938,"objField":{"eVsK":-5755727184117679508},"stringDateField":"1909-06-16","stringDateTimeField":"1961-12-20T22:32:10Z","stringField":"tsbvIpoUj","stringTimeField":"09:46:44.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":-678,"numField":-927.8249458895938,"stringDateField":"1909-06-16","stringDateTimeField":"1961-12-20T22:32:10Z","stringField":"tsbvIpoUj","stringTimeField":"09:46:44.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3057,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3057,"uuid":"9e0a89ca-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["BFPIXa","uiiINIWZs","QRQgTAHA","KPMpMWH","vBGYFVFcE","umnB","YIiNdQmCEW"],"boolField":false,"intField":201,"numField":7.466862930126661,"objField":{"Aukmm":929333276864353854,"BJiUhozja":-6217733682042011497,"BlJEF":888763629868343608,"heSD":2029404275303528600,"qcUxog":4251907014247094690,"sUbPsEtqpK":9076453792990649954,"tasVbuDss":3064414252510420070},"stringDateField":"1951-12-21","stringDateTimeField":"1962-10-07T13:41:34Z","stringField":"MKULCR","stringTimeField":"21:48:56.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763722Z","intField":201,"numField":7.466862930126661,"stringDateField":"1951-12-21","stringDateTimeField":"1962-10-07T13:41:34Z","stringField":"MKULCR","stringTimeField":"21:48:56.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3058,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3058,"uuid":"9e0a89cb-5655-11ee-8001-675ed0f8e89b"},"arrayField":["TdTLy","wrrTvjs"],"boolField":true,"intField":941,"numField":332.08193132263,"objField":{"CJjwwI":-2610125483619254037,"FuDkZmzAUo":-5791690319562865686,"LaQB":7514823551891532321,"YYykPfiP":-3684686874005546109,"crkqAAlWl":-3097112494515546666,"faMpf":-1928888061793700214,"mWmXE":-6592281649393878082,"pVziqR":-2358527324437498787},"stringDateField":"1936-01-24","stringDateTimeField":"1922-08-11T04:10:16Z","stringField":"RXJBSuTZB","stringTimeField":"22:15:51.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":941,"numField":332.08193132263,"stringDateField":"1936-01-24","stringDateTimeField":"1922-08-11T04:10:16Z","stringField":"RXJBSuTZB","stringTimeField":"22:15:51.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3059,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3059,"uuid":"9e0a89cb-5655-11ee-8401-675ed0f8e89b"},"arrayField":["KdcPXMZisp","ivBy","PsJbxM","eXUzFJ","XicJsOPK","zcymk","kdZQOVUH","HBUwdbmqw","iljIQlKUAA","qmWCHT"],"boolField":true,"intField":790,"numField":-708.680976460249,"objField":{"EGHSxKInTt":3682904837387986886,"LwBut":-92616533147621798,"YxxKpYO":-6776388225503336142,"hiHVSblClR":7166720921946222317},"stringDateField":"1977-04-26","stringDateTimeField":"1952-12-21T00:51:37Z","stringField":"YFTNWh","stringTimeField":"00:14:25.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":790,"numField":-708.680976460249,"stringDateField":"1977-04-26","stringDateTimeField":"1952-12-21T00:51:37Z","stringField":"YFTNWh","stringTimeField":"00:14:25.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3060,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3060,"uuid":"9e0a89cb-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ZslSra","kOTMZm","jdWpcMIKTr"],"boolField":false,"intField":946,"numField":734.252291641134,"objField":{"BwkKgCb":1448225941141535946,"ELGAzrIqG":-1062400419515047027,"Jddyrt":6495979701087584264,"Lixbe":8054837438055514147,"acvCJ":9009139346136664661,"rVhazYgV":9101309116484002121,"voWSsYQGhY":7724130417806656567},"stringDateField":"1960-10-05","stringDateTimeField":"2018-12-22T11:39:31Z","stringField":"cxTCctvYgs","stringTimeField":"07:23:13.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":946,"numField":734.252291641134,"stringDateField":"1960-10-05","stringDateTimeField":"2018-12-22T11:39:31Z","stringField":"cxTCctvYgs","stringTimeField":"07:23:13.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3061,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3061,"uuid":"9e0a89cb-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["PShEhrh","RJfpj","NLjbYlxgk","mxScBd","Ehib","yAXMl","FMgREBE","zaXSe","BayUm","hNqFRG"],"boolField":true,"intField":-176,"numField":695.2398994397508,"objField":{"IlkRqG":5220615097384714346,"OkHVmgX":1955592471726457216,"WwQIiFO":-5077362469996541475,"iftEemkn":5207960367270457467,"kwVP":6938251022194629491},"stringDateField":"1954-06-10","stringDateTimeField":"1953-06-09T22:20:38Z","stringField":"kdwBQRm","stringTimeField":"11:52:37.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":-176,"numField":695.2398994397508,"stringDateField":"1954-06-10","stringDateTimeField":"1953-06-09T22:20:38Z","stringField":"kdwBQRm","stringTimeField":"11:52:37.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3062,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3062,"uuid":"9e0a89cb-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ROzPueG"],"boolField":false,"intField":-192,"numField":191.4047143302393,"objField":{"TtofL":2363712890259124913},"stringDateField":"1901-06-10","stringDateTimeField":"2006-07-21T02:40:54Z","stringField":"KuLtFgBS","stringTimeField":"18:36:24.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":-192,"numField":191.4047143302393,"stringDateField":"1901-06-10","stringDateTimeField":"2006-07-21T02:40:54Z","stringField":"KuLtFgBS","stringTimeField":"18:36:24.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3063,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3063,"uuid":"9e0a89cb-5655-11ee-9401-675ed0f8e89b"},"arrayField":["bXYTtQDYK","Rkeo","lDkVlQMFhG","perx","MRogmrrgct","ONJqSn","GFOrcjSE","muHP","XTjfaGXCDu","vpITM"],"boolField":false,"intField":355,"numField":-748.0059183798322,"objField":{"BejdS":-3211888704952769623,"vCvRJEWlx":6310036738385062648},"stringDateField":"1996-04-21","stringDateTimeField":"1927-04-18T02:00:55Z","stringField":"gxLeiFYE","stringTimeField":"01:22:47.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":355,"numField":-748.0059183798322,"stringDateField":"1996-04-21","stringDateTimeField":"1927-04-18T02:00:55Z","stringField":"gxLeiFYE","stringTimeField":"01:22:47.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3064,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3064,"uuid":"9e0a89cb-5655-11ee-9801-675ed0f8e89b"},"arrayField":["NusnrjPb","yvoek","DXioiyaI","wHSPdfaxb","xWnnLCg","hYOPsBeDqA","hNKev","PoNlkfHcRs","PxSiprOT"],"boolField":true,"intField":-533,"numField":373.17352767010783,"objField":{"UOitn":339899700946129682,"XzLk":7779597100938561666,"ZOmU":3177840654538354419,"bSNr":-6124243039503335050,"nZUhTq":392032979267865285,"tqiFv":4320951550179763427,"vhUqDJlTt":7368106130427398748},"stringDateField":"1907-10-01","stringDateTimeField":"1997-12-28T16:32:43Z","stringField":"mlEVA","stringTimeField":"03:20:09.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":-533,"numField":373.17352767010783,"stringDateField":"1907-10-01","stringDateTimeField":"1997-12-28T16:32:43Z","stringField":"mlEVA","stringTimeField":"03:20:09.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3065,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3065,"uuid":"9e0a89cb-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["uoEymZjiYx","vowNStku","FcmLO","SuyNu","addii"],"boolField":true,"intField":178,"numField":-671.8309808024372,"objField":{"IMnSmV":7108839603128640412},"stringDateField":"2009-09-13","stringDateTimeField":"1909-09-02T10:41:58Z","stringField":"mivXvr","stringTimeField":"19:51:35.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":178,"numField":-671.8309808024372,"stringDateField":"2009-09-13","stringDateTimeField":"1909-09-02T10:41:58Z","stringField":"mivXvr","stringTimeField":"19:51:35.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3066,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3066,"uuid":"9e0a89cb-5655-11ee-a001-675ed0f8e89b"},"arrayField":["IyHvaDZT","KPGmJYiCY"],"boolField":false,"intField":-74,"numField":-960.1481521174212,"objField":{"AAQjBZu":8355461073702050836,"BufWDnLQIO":5824975543115416890,"RXFTf":-1355233099275074504,"SDfjPUYOFM":-4697188112056726540,"WZnrcXuX":-5875455235370579199,"YGlPdj":-416899813363866257,"gQFHcjgoW":9016284405808845697,"kQkmOV":6353252783943969416,"lVzLpRWo":-6205090428436338119,"zfvafgx":-5847117349812552856},"stringDateField":"1939-02-18","stringDateTimeField":"1952-08-01T15:30:28Z","stringField":"gDXeKx","stringTimeField":"09:31:04.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":-74,"numField":-960.1481521174212,"stringDateField":"1939-02-18","stringDateTimeField":"1952-08-01T15:30:28Z","stringField":"gDXeKx","stringTimeField":"09:31:04.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3067,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3067,"uuid":"9e0a89cb-5655-11ee-a401-675ed0f8e89b"},"arrayField":["beJZtwy","eDydvmScS","gBAlRk","Nrloecdm","hjTvlBaZe","nTIPdF"],"boolField":false,"intField":870,"numField":236.21123151418044,"objField":{"CuGS":6099172495972155827,"UBmHWtPK":-7916391327758337557,"bHUNJvBn":5962402179974793500,"eREOptWJt":-6141072487714311970,"vYBaAcfk":381901686431499042},"stringDateField":"1990-07-10","stringDateTimeField":"1936-07-18T06:27:26Z","stringField":"XyGWXzdD","stringTimeField":"06:26:26.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":870,"numField":236.21123151418044,"stringDateField":"1990-07-10","stringDateTimeField":"1936-07-18T06:27:26Z","stringField":"XyGWXzdD","stringTimeField":"06:26:26.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3068,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3068,"uuid":"9e0a89cb-5655-11ee-a801-675ed0f8e89b"},"arrayField":["gLSWsj","FTzaY"],"boolField":true,"intField":349,"numField":-30.239705823301044,"objField":{"CZJHC":7087537519175408463,"HSiSNBIu":5410245214394767461,"IMCJTCtJKJ":-6648709107463386455,"MIqL":2058826384214936742,"NHjHYCCsqI":7218167180879118935,"VqVQyqXFf":1426966524336917168,"bXKX":5597475554217438268,"eLvLiaF":5872264664171037649,"uxSbB":6209844170206952011,"zTXuyuX":4518336863429063097},"stringDateField":"1912-09-25","stringDateTimeField":"1943-06-21T11:03:16Z","stringField":"UHAtuQFo","stringTimeField":"03:03:06.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":349,"numField":-30.239705823301044,"stringDateField":"1912-09-25","stringDateTimeField":"1943-06-21T11:03:16Z","stringField":"UHAtuQFo","stringTimeField":"03:03:06.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3069,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3069,"uuid":"9e0a89cb-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["LqUN","wuShYofuOS","VtaL"],"boolField":false,"intField":-751,"numField":15.513679106784696,"objField":{"MAbFRXCpas":-8802398177998705778,"RBOuyYqzjU":1794929703067518762,"fZMgr":-616338777011455632,"hgLuN":2581387602806735727,"tqrZanhW":-8250371481465741306,"uMqZ":-3730361907921738853},"stringDateField":"1993-02-04","stringDateTimeField":"1923-02-09T09:51:58Z","stringField":"zllYtnLsc","stringTimeField":"16:29:15.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":-751,"numField":15.513679106784696,"stringDateField":"1993-02-04","stringDateTimeField":"1923-02-09T09:51:58Z","stringField":"zllYtnLsc","stringTimeField":"16:29:15.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3070,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3070,"uuid":"9e0a89cb-5655-11ee-b001-675ed0f8e89b"},"arrayField":["jRFqrr"],"boolField":false,"intField":310,"numField":486.7888479534037,"objField":{"LZKZkJs":-3374654205480108630},"stringDateField":"1977-06-09","stringDateTimeField":"1929-09-08T20:29:28Z","stringField":"NJAMjpOg","stringTimeField":"05:12:39.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":310,"numField":486.7888479534037,"stringDateField":"1977-06-09","stringDateTimeField":"1929-09-08T20:29:28Z","stringField":"NJAMjpOg","stringTimeField":"05:12:39.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3071,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3071,"uuid":"9e0a89cb-5655-11ee-b401-675ed0f8e89b"},"arrayField":["CpFRH","UeHVya","bhqNATLHrV","jfgC","QTCGjGck","WzUDn","HOvMqdnMu","EfjxjhtZHv"],"boolField":false,"intField":-806,"numField":481.70761107198115,"objField":{"AqtixaQ":9069692973579954776,"Mnzd":1076408073153019248,"NpwFfndDq":8411202402511177138,"WNfZOMU":-4044498498021690714,"WxCjPRC":3039590470608202883,"jRscg":-7631730640297014715,"nNjllafz":-1246636597646678859,"ulrnOj":-6482409743328228688},"stringDateField":"2007-08-10","stringDateTimeField":"2017-10-14T22:39:06Z","stringField":"bKeMqwIioK","stringTimeField":"09:11:32.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":-806,"numField":481.70761107198115,"stringDateField":"2007-08-10","stringDateTimeField":"2017-10-14T22:39:06Z","stringField":"bKeMqwIioK","stringTimeField":"09:11:32.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3072,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3072,"uuid":"9e0a89cb-5655-11ee-b801-675ed0f8e89b"},"arrayField":["aqozaDUMU","rBDHbayby"],"boolField":true,"intField":448,"numField":-385.9228081778395,"objField":{"EraDRG":4433604192138524574,"IKIKDAWW":3881280998299749660,"UWxeTHRg":-9170817223209589120},"stringDateField":"1998-02-01","stringDateTimeField":"2016-12-05T11:54:14Z","stringField":"vLVhyB","stringTimeField":"22:26:44.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":448,"numField":-385.9228081778395,"stringDateField":"1998-02-01","stringDateTimeField":"2016-12-05T11:54:14Z","stringField":"vLVhyB","stringTimeField":"22:26:44.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3073,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3073,"uuid":"9e0a89cb-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["fozQndTab","rCxWkc","sgnFB","TLEbYuJC","njEkFr","eyWsQL","ZXVzwBFBHU","xkmjfmKfH","ncyW"],"boolField":false,"intField":587,"numField":615.7107026804982,"objField":{"ASukrfmS":-2206718265531932614,"DeUo":4378319436786260795,"EbNLXNer":-836325073206443299,"KoBTArgv":2402203268108779850,"Ofjnq":-2413968101086947221,"PuRXvobq":-5566455103597663206,"YaYWHOC":-4809613256890655512,"hYzwinCfaT":6009152868422417113,"thJMk":-6687799054048193518},"stringDateField":"1998-03-19","stringDateTimeField":"1956-04-28T21:37:15Z","stringField":"DEuKfzSCgK","stringTimeField":"18:39:18.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763723Z","intField":587,"numField":615.7107026804982,"stringDateField":"1998-03-19","stringDateTimeField":"1956-04-28T21:37:15Z","stringField":"DEuKfzSCgK","stringTimeField":"18:39:18.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3074,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3074,"uuid":"9e0a89cc-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PZNd","bfClTKp","PjigqHHFt","kURypgzmYJ"],"boolField":false,"intField":428,"numField":-283.07847573181846,"objField":{"OWxxh":8775710333668089382,"QsuZgV":-1493758211670733738,"RxLOQw":6225393426554083005,"TSmxs":-777055128763010845,"XVqryjWYU":-6777000271577164598,"eMSRQhUj":876539538748635896,"jvLW":1176157586369273550,"mQQkpEpqE":553721876579792431,"pAQdmsfuX":-844791749862596942},"stringDateField":"1901-12-24","stringDateTimeField":"1951-02-10T19:01:09Z","stringField":"RdgpxmoGh","stringTimeField":"12:02:05.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":428,"numField":-283.07847573181846,"stringDateField":"1901-12-24","stringDateTimeField":"1951-02-10T19:01:09Z","stringField":"RdgpxmoGh","stringTimeField":"12:02:05.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3075,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3075,"uuid":"9e0a89cc-5655-11ee-8401-675ed0f8e89b"},"arrayField":["MHljhSyfoB","kpkj","DWCU","MaaRlUi","oDHJeVh","fdZDgOXfF","fVatZP","FyYKIEmt"],"boolField":false,"intField":-146,"numField":156.50490118689663,"objField":{"IkuiteQjJ":-2111690381332936947,"LeZzsN":286520606690729186,"SoaBPd":-288393920224548285,"UVPAEFEHcX":2576085073065833860,"fFGpyQIZ":-6259246206016790864,"voXqZpYLl":591913380566654325,"vqSAFfkiOb":-910151283381154599,"yzaoUUtipc":449297543329579596},"stringDateField":"1945-01-24","stringDateTimeField":"1960-12-04T22:43:28Z","stringField":"zesEhwUtd","stringTimeField":"04:56:51.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":-146,"numField":156.50490118689663,"stringDateField":"1945-01-24","stringDateTimeField":"1960-12-04T22:43:28Z","stringField":"zesEhwUtd","stringTimeField":"04:56:51.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3076,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3076,"uuid":"9e0a89cc-5655-11ee-8801-675ed0f8e89b"},"arrayField":["KNpQk","Oppg","bwjlc","DKkDXShj","FWPwylMm","BElxPdgu","VRTmeTJXqQ","MwbZzJ","GBZXbNWoZ","ZRPJlLTAm"],"boolField":true,"intField":-920,"numField":-309.87737231216414,"objField":{"JoKSJGBe":2195562558269594499,"SCIah":-8875926002151372407,"XmGW":7704748968646193422,"dMpzdaQ":-228771705893596461,"pJLXTVqog":8438488904729273782,"uKKdIsE":-2019524295346482595,"ujCqChR":-6277255166289928371},"stringDateField":"2018-11-18","stringDateTimeField":"1950-05-13T03:20:56Z","stringField":"tjHLZLnd","stringTimeField":"01:48:35.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":-920,"numField":-309.87737231216414,"stringDateField":"2018-11-18","stringDateTimeField":"1950-05-13T03:20:56Z","stringField":"tjHLZLnd","stringTimeField":"01:48:35.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3077,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3077,"uuid":"9e0a89cc-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["rPQNbSCot","QyNdhhX","TLRcLn","jjWftF","maAaIiHY","UzbOkkxs","ecEaB","kLQy","EipxfP"],"boolField":true,"intField":11,"numField":-422.7657458366831,"objField":{"AxkFXKne":3202323453278027803,"NVnKAaR":4367896238165596265,"OndyiKR":8365390004059610798,"SDLuIkxGGW":-7660406973744550970,"ZIDcqR":-4839984792919889189,"jnJGUUJ":8867790246424061000,"oXRiqBTG":-1702736510350328392},"stringDateField":"1900-04-08","stringDateTimeField":"1953-06-23T12:45:50Z","stringField":"IWqgMWrSut","stringTimeField":"22:34:56.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":11,"numField":-422.7657458366831,"stringDateField":"1900-04-08","stringDateTimeField":"1953-06-23T12:45:50Z","stringField":"IWqgMWrSut","stringTimeField":"22:34:56.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3078,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3078,"uuid":"9e0a89cc-5655-11ee-9001-675ed0f8e89b"},"arrayField":["rwbIq","fOtuHx"],"boolField":true,"intField":-309,"numField":-711.514298449271,"objField":{"HQTn":3862605725750796854,"KVuJd":-702194192133242073,"NRMRcYbD":-6258338778375325364,"PMjO":2844087692260963639,"bavG":-941080341079145577,"ccIZ":2880145233280734748,"nYrCoG":6392054852732871874,"slqLDFNk":-21079387884226559},"stringDateField":"2001-05-23","stringDateTimeField":"1956-02-20T10:57:49Z","stringField":"TRdT","stringTimeField":"13:37:22.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":-309,"numField":-711.514298449271,"stringDateField":"2001-05-23","stringDateTimeField":"1956-02-20T10:57:49Z","stringField":"TRdT","stringTimeField":"13:37:22.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3079,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3079,"uuid":"9e0a89cc-5655-11ee-9401-675ed0f8e89b"},"arrayField":["mPaYPKByHP","DZziP","qodYRigRAU","XLxXAsdTMh"],"boolField":true,"intField":-78,"numField":554.0633670123532,"objField":{"FsrImVB":5435807254025380207,"TTWjkNR":-2934726354944165715,"VHfeEOtOqr":-3665144441086130306,"ViKDrCpbj":-4572633319547457544,"jRoCXsiB":-1059884763093568317,"jjJrpXkq":4806114575323274185},"stringDateField":"1950-07-12","stringDateTimeField":"1939-06-14T08:15:02Z","stringField":"JBxTi","stringTimeField":"08:59:47.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":-78,"numField":554.0633670123532,"stringDateField":"1950-07-12","stringDateTimeField":"1939-06-14T08:15:02Z","stringField":"JBxTi","stringTimeField":"08:59:47.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3080,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3080,"uuid":"9e0a89cc-5655-11ee-9801-675ed0f8e89b"},"arrayField":["EQoOMr","YZdYIsYlqB"],"boolField":true,"intField":-819,"numField":-814.1852568122487,"objField":{"CjzReyx":-5547941575938517765,"GJakdeTWN":-6105049544193263174,"Mfber":1386424324574649137,"YVepcf":-8567401863320822052,"iOCw":-791250577907975248,"nZaagCL":7679548929931343947,"pLKEOcJe":5531126733059436179},"stringDateField":"1971-04-16","stringDateTimeField":"1922-12-23T06:24:15Z","stringField":"XyhaWdwyF","stringTimeField":"04:10:40.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":-819,"numField":-814.1852568122487,"stringDateField":"1971-04-16","stringDateTimeField":"1922-12-23T06:24:15Z","stringField":"XyhaWdwyF","stringTimeField":"04:10:40.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3081,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3081,"uuid":"9e0a89cc-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["opsCPW","jBAD","Novl","VEZwpED","mLDWJj","krsXBmkBWl","BWWff","ejVTqv"],"boolField":true,"intField":466,"numField":-690.3882568684153,"objField":{"AtlE":2725757085170939838,"EcOu":-6739053981059843026,"SEJZEY":-6066311067722046223,"adrQ":-7829056147391807391,"ierkOBjvCy":254169292422691044,"pWnYpPk":7037112146983586138,"vxWUYRWYae":-1453354872028130726,"xvfVG":-8407572183313428023},"stringDateField":"1932-09-16","stringDateTimeField":"1982-05-08T05:04:20Z","stringField":"hiUB","stringTimeField":"17:34:12.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":466,"numField":-690.3882568684153,"stringDateField":"1932-09-16","stringDateTimeField":"1982-05-08T05:04:20Z","stringField":"hiUB","stringTimeField":"17:34:12.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3082,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3082,"uuid":"9e0a89cc-5655-11ee-a001-675ed0f8e89b"},"arrayField":["QZHvUVsfI","GWjwjiQVv","mvUiK","xsmL","IxuQb"],"boolField":false,"intField":-686,"numField":203.10577119619057,"objField":{"HEUjAOaMI":-5596685757381204894,"TqJvyqiWAJ":-6092272542981469685,"cGDUseQM":1705213648787789273,"cGoAdWNh":-8626367373367851346,"iVdIUwgrY":-1049040567711115096,"ksgMzaS":5642722912992805450,"oJBoBV":-4664171063045243716,"wSonMhuD":-3114128978085737405,"zpNF":-6740938393857238599},"stringDateField":"1932-07-25","stringDateTimeField":"1996-02-08T04:56:12Z","stringField":"hODEc","stringTimeField":"20:14:15.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":-686,"numField":203.10577119619057,"stringDateField":"1932-07-25","stringDateTimeField":"1996-02-08T04:56:12Z","stringField":"hODEc","stringTimeField":"20:14:15.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3083,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3083,"uuid":"9e0a89cc-5655-11ee-a401-675ed0f8e89b"},"arrayField":["GtAo","xUFMoL","DmoQ","UKIVnv"],"boolField":true,"intField":730,"numField":-516.7616723202863,"objField":{"SEpQ":8672704721339736609,"oVUkRSNMHm":5123647902868409798},"stringDateField":"1952-11-05","stringDateTimeField":"1913-11-30T17:42:13Z","stringField":"GxHMytp","stringTimeField":"07:41:06.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":730,"numField":-516.7616723202863,"stringDateField":"1952-11-05","stringDateTimeField":"1913-11-30T17:42:13Z","stringField":"GxHMytp","stringTimeField":"07:41:06.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3084,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3084,"uuid":"9e0a89cc-5655-11ee-a801-675ed0f8e89b"},"arrayField":["OqZAk","TepSYert","YVDLUP"],"boolField":true,"intField":731,"numField":312.4515533284884,"objField":{"LKsih":6895005127999464706,"XEAaKt":-5347334260433745031,"jwbqR":1620844076735284405,"pvYn":-944183495538708672,"qtBiHTnk":-3528542489331947528,"vEqyUUU":-6862188214533032779},"stringDateField":"1913-07-04","stringDateTimeField":"1962-03-21T01:17:40Z","stringField":"dBZvb","stringTimeField":"07:01:27.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":731,"numField":312.4515533284884,"stringDateField":"1913-07-04","stringDateTimeField":"1962-03-21T01:17:40Z","stringField":"dBZvb","stringTimeField":"07:01:27.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3085,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3085,"uuid":"9e0a89cc-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["odpXcrkqes","OVgnuMNSK","LLEnos","hYBgD","FlRf","pthgeEq","hmDHT"],"boolField":false,"intField":-204,"numField":599.5827253308302,"objField":{"BtlrAMoX":5342630514051726067,"LiOzeNj":-1772384124792794187,"LvAiv":-6371038143148570962,"hcTC":-1431477404589016229,"iduCMnM":889252042933354139},"stringDateField":"1959-01-01","stringDateTimeField":"1967-01-20T08:22:31Z","stringField":"OzPqPmEbl","stringTimeField":"07:19:52.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":-204,"numField":599.5827253308302,"stringDateField":"1959-01-01","stringDateTimeField":"1967-01-20T08:22:31Z","stringField":"OzPqPmEbl","stringTimeField":"07:19:52.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3086,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3086,"uuid":"9e0a89cc-5655-11ee-b001-675ed0f8e89b"},"arrayField":["KadpjNgZ","nfvV","CqhJ","eteW","StQaY","ATmFDCP"],"boolField":true,"intField":94,"numField":965.1540837148352,"objField":{"XBfAMzteB":4521213818495319685,"ZgebWEq":-6104815763652782894},"stringDateField":"1976-06-23","stringDateTimeField":"1998-03-09T06:39:18Z","stringField":"YZie","stringTimeField":"21:21:19.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":94,"numField":965.1540837148352,"stringDateField":"1976-06-23","stringDateTimeField":"1998-03-09T06:39:18Z","stringField":"YZie","stringTimeField":"21:21:19.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3087,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3087,"uuid":"9e0a89cc-5655-11ee-b401-675ed0f8e89b"},"arrayField":["QdCzhL","AXscHBCLQ","uFKLZ","qDJLgltX","NEMd","dQxa"],"boolField":false,"intField":757,"numField":-129.38291890490115,"objField":{"LdMA":4620954735979747624,"PBQiBOkPQ":-9006712939538403311,"ZqpjxXilRE":-5306812109285877908,"cyQGTND":-8238367460076910828,"fhprNX":-1480032503194852246,"nRLQ":-3613810781178542381,"xdZTeLUyt":-7462205524013457114},"stringDateField":"1960-08-26","stringDateTimeField":"1907-01-28T22:17:16Z","stringField":"DYqii","stringTimeField":"18:21:40.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":757,"numField":-129.38291890490115,"stringDateField":"1960-08-26","stringDateTimeField":"1907-01-28T22:17:16Z","stringField":"DYqii","stringTimeField":"18:21:40.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3088,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3088,"uuid":"9e0a89cc-5655-11ee-b801-675ed0f8e89b"},"arrayField":["rGcT","UvJFnJyG","ZSTJMFQZ","GWkuUKNajP","MEEnEW"],"boolField":true,"intField":678,"numField":-102.24893432659157,"objField":{"AaBaUgXf":3111611249097025766,"JNEdAmO":-2565043420931799699,"UeiZIAN":7633729603479259536,"eBMFpVz":4919982985822844062,"lLTJsEgKh":1145814234094493286,"mXWfZoDeBb":-4539253812723041951,"nqoR":7358180433134242354,"okGB":407302398017365985,"psxSgB":2279178309240278905},"stringDateField":"2009-04-28","stringDateTimeField":"1974-09-23T12:42:35Z","stringField":"HgsX","stringTimeField":"09:36:02.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":678,"numField":-102.24893432659157,"stringDateField":"2009-04-28","stringDateTimeField":"1974-09-23T12:42:35Z","stringField":"HgsX","stringTimeField":"09:36:02.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3089,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3089,"uuid":"9e0a89cc-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["SNDvX","ulgM","kUnfhRq","broImQ","XLvPfqG","BONEsit","dTbq","AbCSZ","cbQLjkRwb","Izkobk"],"boolField":false,"intField":251,"numField":0.0268200264090801,"objField":{"CFAPW":5001707839486100034,"XLiccIPtc":-8745350501786999714,"juTKWjgS":7634311712234624076},"stringDateField":"1938-03-24","stringDateTimeField":"1978-12-04T23:29:11Z","stringField":"wRStmT","stringTimeField":"00:13:41.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763724Z","intField":251,"numField":0.0268200264090801,"stringDateField":"1938-03-24","stringDateTimeField":"1978-12-04T23:29:11Z","stringField":"wRStmT","stringTimeField":"00:13:41.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3090,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3090,"uuid":"9e0a89cd-5655-11ee-8001-675ed0f8e89b"},"arrayField":["HSvQENPV","YeEvD","QcqMy","TjaWLKcbS","gZTDJ","tVJLDRlg","JKFIkG","cyiijTNzsY","ROrPksQxqm","zdQj"],"boolField":true,"intField":832,"numField":622.9404638324946,"objField":{"PLRcOHsX":-8549434109767196077,"QRciyqx":-6592423881430413670,"QyEkes":6424827053851193178,"bipULYwSVl":-3785929262757881748,"fURCLfO":8891129256418659041,"pzzANdGIl":4326537342650390464},"stringDateField":"1987-10-20","stringDateTimeField":"1937-07-17T12:44:08Z","stringField":"kZdT","stringTimeField":"17:21:04.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":832,"numField":622.9404638324946,"stringDateField":"1987-10-20","stringDateTimeField":"1937-07-17T12:44:08Z","stringField":"kZdT","stringTimeField":"17:21:04.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3091,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3091,"uuid":"9e0a89cd-5655-11ee-8401-675ed0f8e89b"},"arrayField":["VVNkahqrjh","SHHey","czvNkxyHu","fMPN","MhpqtnR","GhRhLu","PxjaTG","oAEnu","TywTe","KHxUBpCjG"],"boolField":true,"intField":196,"numField":563.3169019357482,"objField":{"UEPP":7940342590806187211,"fILbDY":-3561627228022960719,"swpeCTTiF":-4054764838823785990,"zmJz":-5506973423734329170},"stringDateField":"1960-07-27","stringDateTimeField":"1976-05-20T17:07:06Z","stringField":"LwFvEguw","stringTimeField":"21:17:54.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":196,"numField":563.3169019357482,"stringDateField":"1960-07-27","stringDateTimeField":"1976-05-20T17:07:06Z","stringField":"LwFvEguw","stringTimeField":"21:17:54.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3092,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3092,"uuid":"9e0a89cd-5655-11ee-8801-675ed0f8e89b"},"arrayField":["yIUuDVbu","QfIVeN","LrclCbvOfw","npixmoy","PuWJf","TnOQwH","WchyUdvSxL","OnYFxNI","eoMiwad","ofRjNm"],"boolField":true,"intField":330,"numField":-875.6183320973566,"objField":{"IYyOwWdVaf":5259389012136943239,"TxzjIlZF":8923054569525994537},"stringDateField":"1982-12-14","stringDateTimeField":"2020-11-16T22:55:11Z","stringField":"xVNYHrKmgm","stringTimeField":"23:56:21.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":330,"numField":-875.6183320973566,"stringDateField":"1982-12-14","stringDateTimeField":"2020-11-16T22:55:11Z","stringField":"xVNYHrKmgm","stringTimeField":"23:56:21.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3093,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3093,"uuid":"9e0a89cd-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["mTNXGLJFe","pHxvGngDcf","twSfRTSs","EgshMyKwF","mjSCLg","iQGwszp","nqkQ","nLyX","OlzMdL","jgyP"],"boolField":true,"intField":773,"numField":-315.4629856377419,"objField":{"DsIGNXbTuH":-7369850178258175007,"lGedALHJc":-4518295808508776931,"phDhZGU":-7933065854193293883,"viDzqc":-1830765027424020165,"zvKmYbrXUW":5237151216802942590},"stringDateField":"1930-06-29","stringDateTimeField":"1994-12-30T13:37:39Z","stringField":"YUwZSzygmj","stringTimeField":"18:16:33.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":773,"numField":-315.4629856377419,"stringDateField":"1930-06-29","stringDateTimeField":"1994-12-30T13:37:39Z","stringField":"YUwZSzygmj","stringTimeField":"18:16:33.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3094,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3094,"uuid":"9e0a89cd-5655-11ee-9001-675ed0f8e89b"},"arrayField":["KkCfAt","IeSQ","fFasqXnv","xgHJK","PKvQVfJU"],"boolField":false,"intField":454,"numField":77.41852585823183,"objField":{"DVPuDf":-4699260389272269998,"ELcmezGhC":-2983742970610919484,"HWGrU":7227074340990698553,"bFMoAXYbeI":-8176589967380525913,"gkBgoaMX":7350781576307190866,"ilRUGHWrgy":6624242418343658144,"pJdvN":5380604161944907292,"qLeTxQdhFk":-8054546400372301325,"xYFOtN":3629419474847120696},"stringDateField":"1949-09-17","stringDateTimeField":"1947-05-01T08:07:04Z","stringField":"XdJeskVBo","stringTimeField":"10:16:30.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":454,"numField":77.41852585823183,"stringDateField":"1949-09-17","stringDateTimeField":"1947-05-01T08:07:04Z","stringField":"XdJeskVBo","stringTimeField":"10:16:30.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3095,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3095,"uuid":"9e0a89cd-5655-11ee-9401-675ed0f8e89b"},"arrayField":["PSyXdY","TBXsiVF","TKaqDSniaq"],"boolField":true,"intField":-384,"numField":541.5010510102953,"objField":{"ABalcehL":-3102700730816170657,"AjbWRm":6652777628683990301,"HgxLYcR":5814336839597452019,"XipLKayHd":4417678260176002611,"fAIsbQnL":9054661987751546316,"jWUKnryZky":-3465804249556102453,"sdvljTJAR":-2572191727113387349},"stringDateField":"1935-08-18","stringDateTimeField":"1972-12-16T17:03:52Z","stringField":"wsgu","stringTimeField":"15:41:06.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":-384,"numField":541.5010510102953,"stringDateField":"1935-08-18","stringDateTimeField":"1972-12-16T17:03:52Z","stringField":"wsgu","stringTimeField":"15:41:06.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3096,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3096,"uuid":"9e0a89cd-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ojAVjT","juLOHp","adegSH","ofiPicPE","uwlT","Fucoc","oKIQQU","kXfz","XnShrxfdTj"],"boolField":true,"intField":232,"numField":112.80824389938826,"objField":{"QjiyMLeNA":-7966220851386638387,"SzSOSA":1012225518378596630,"UsccnsNoGW":-1191408002916186318,"esJFfYAY":5681528973477071234,"ewzoO":-237554900769141703,"sFNzs":-5907336944833082379,"vMBCySb":-3835883965062674039,"viyUr":6673044139804804508},"stringDateField":"1972-06-01","stringDateTimeField":"2003-03-16T06:04:54Z","stringField":"aafSlqnr","stringTimeField":"11:17:58.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":232,"numField":112.80824389938826,"stringDateField":"1972-06-01","stringDateTimeField":"2003-03-16T06:04:54Z","stringField":"aafSlqnr","stringTimeField":"11:17:58.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3097,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3097,"uuid":"9e0a89cd-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["bMmW","ZlqK","nEqKUHjtHR","PguWqns"],"boolField":true,"intField":634,"numField":11.845745462730097,"objField":{"HWXoSZfWtH":-3758060620454330991,"MIuJ":5432245162116302714,"XMuprXr":7882661932762721231,"cpYlyCpF":-3649763823136713614,"iNxGeow":-4652453945204914316,"kpgwzyB":-3088664805576125195,"lyUmOa":7749730789573791263},"stringDateField":"1904-12-01","stringDateTimeField":"2019-05-14T07:23:38Z","stringField":"dQzfHKGg","stringTimeField":"04:30:02.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":634,"numField":11.845745462730097,"stringDateField":"1904-12-01","stringDateTimeField":"2019-05-14T07:23:38Z","stringField":"dQzfHKGg","stringTimeField":"04:30:02.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3098,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3098,"uuid":"9e0a89cd-5655-11ee-a001-675ed0f8e89b"},"arrayField":["awCgHo","uAkYMqzr","VYgEABJFAF","znNAg","oqvAl"],"boolField":true,"intField":-912,"numField":-810.1193616822284,"objField":{"CFVlkIPPq":7341189256824449867,"SbCEuAqy":-3097657592790351519,"fhqYwFbOub":7827231381780518814,"igHg":5890366025165852331,"xVwAlRMl":-9104489634841717673},"stringDateField":"1943-05-11","stringDateTimeField":"1932-04-27T21:45:46Z","stringField":"Mvpb","stringTimeField":"19:15:05.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":-912,"numField":-810.1193616822284,"stringDateField":"1943-05-11","stringDateTimeField":"1932-04-27T21:45:46Z","stringField":"Mvpb","stringTimeField":"19:15:05.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3099,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3099,"uuid":"9e0a89cd-5655-11ee-a401-675ed0f8e89b"},"arrayField":["oWcj","wgzZ","oDHLbyGUsm","ALXidy","FSpUrGDh","tXisnvRbD","JoFEJGnw","XwVX","oxyCzMcX"],"boolField":true,"intField":753,"numField":431.6357433325737,"objField":{"GnnTTR":718488959668427892,"NbiPO":-4237282477964584280,"QyYPv":5592872512863427368,"fIvmfABKQU":-4554677730703253284,"gBmnFCMow":2940776430800046439,"hQKjqg":1957003793465334109,"riBMaafa":989334923908725843,"slJTrI":-1995165453702855452},"stringDateField":"1911-07-08","stringDateTimeField":"1961-09-29T01:19:19Z","stringField":"ylGBksgiKk","stringTimeField":"17:24:26.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":753,"numField":431.6357433325737,"stringDateField":"1911-07-08","stringDateTimeField":"1961-09-29T01:19:19Z","stringField":"ylGBksgiKk","stringTimeField":"17:24:26.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3100,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3100,"uuid":"9e0a89cd-5655-11ee-a801-675ed0f8e89b"},"arrayField":["AwOO","UqglzWb","SfZCGHh","JDUTCxp","XXsGNI","NzBQ","fJnFREZ","gwuBf"],"boolField":true,"intField":955,"numField":-316.40504188217443,"objField":{"ErwBaOZKf":965350889834483835,"LqOHjltBk":-7846038009399097312,"MOYSEaWRgy":2060746524669637170,"QxgvA":2452734937245585916,"SOaG":-3987874920315783177,"eBqvd":-8238293103297646142,"qoSvr":-7892213642288068343,"sfLyK":4357104002623522164,"tJytAgQTG":5572263070391229650},"stringDateField":"1980-05-06","stringDateTimeField":"1954-04-02T16:35:18Z","stringField":"pTMJ","stringTimeField":"08:21:57.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":955,"numField":-316.40504188217443,"stringDateField":"1980-05-06","stringDateTimeField":"1954-04-02T16:35:18Z","stringField":"pTMJ","stringTimeField":"08:21:57.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3101,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3101,"uuid":"9e0a89cd-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["PgcADCMfja","UegSdlczc","broQqwd","odYShPi","KUVR","uCMsEWAsIl","XyokcM","yoinpya"],"boolField":true,"intField":-432,"numField":-526.1008600990461,"objField":{"GtYtVMRmgP":-8919810960568223408,"IMmPo":-8914212941491073075},"stringDateField":"1927-01-26","stringDateTimeField":"1942-11-07T20:47:20Z","stringField":"gdxzdRZnZ","stringTimeField":"02:54:31.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":-432,"numField":-526.1008600990461,"stringDateField":"1927-01-26","stringDateTimeField":"1942-11-07T20:47:20Z","stringField":"gdxzdRZnZ","stringTimeField":"02:54:31.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3102,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3102,"uuid":"9e0a89cd-5655-11ee-b001-675ed0f8e89b"},"arrayField":["mgOsGDGb","nGUvMwavKz","uoaOPR","FGsY","lkzNppMn"],"boolField":false,"intField":412,"numField":146.22942221676993,"objField":{"AsQOofsZ":-5918271107612689905,"BVBIDcql":6284204415249459126,"KyqUjVpW":1848732273482577499,"NuKC":-1616717963380510192,"VqsRLnhtxf":-8830262777588323207,"fAGsEepcmJ":-4761770865085855005,"fTbnaQ":-1878663198314666224,"mdCFuu":-5858897502356058566,"rFmhFJZYF":-4361445526532895584,"yGnIcbiw":387931909808814512},"stringDateField":"1962-09-07","stringDateTimeField":"1981-12-12T00:23:06Z","stringField":"EvrG","stringTimeField":"12:19:54.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":412,"numField":146.22942221676993,"stringDateField":"1962-09-07","stringDateTimeField":"1981-12-12T00:23:06Z","stringField":"EvrG","stringTimeField":"12:19:54.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3103,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3103,"uuid":"9e0a89cd-5655-11ee-b401-675ed0f8e89b"},"arrayField":["qsuL","TiHuJ"],"boolField":true,"intField":190,"numField":326.7832132207762,"objField":{"INSRZw":-1453942364558007300,"SKkEbykz":-3198931940235818373,"ThqT":3377144571314097249,"oAWpLsPE":-3822804089656812450},"stringDateField":"1937-01-28","stringDateTimeField":"1915-07-13T21:43:22Z","stringField":"xerJkMArZ","stringTimeField":"04:50:22.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":190,"numField":326.7832132207762,"stringDateField":"1937-01-28","stringDateTimeField":"1915-07-13T21:43:22Z","stringField":"xerJkMArZ","stringTimeField":"04:50:22.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3104,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3104,"uuid":"9e0a89cd-5655-11ee-b801-675ed0f8e89b"},"arrayField":["nkmB","FPsTa","fazhcdTzj","fTKEVsfevZ","hcNdIv","ieVdT","pMmntBfZrK"],"boolField":false,"intField":-62,"numField":-842.7472554342248,"objField":{"CUUIbAfp":8196398200247179665,"KbibyFqfuH":1235662179151387790,"TcozlYjvlO":2796899137051617561,"bbxWZBMAwV":-8591277332657044066,"iAGG":-4662986820828323197,"nguz":4320892327097703945,"tBWxz":-7952144651198017220},"stringDateField":"1976-11-11","stringDateTimeField":"1906-08-13T12:41:54Z","stringField":"kSZxcpDWm","stringTimeField":"00:51:05.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":-62,"numField":-842.7472554342248,"stringDateField":"1976-11-11","stringDateTimeField":"1906-08-13T12:41:54Z","stringField":"kSZxcpDWm","stringTimeField":"00:51:05.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3105,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3105,"uuid":"9e0a89cd-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["TbkCOXDP","CJbn","lJpDh","buZdXJ","WbYx","gIuw","KTtmKxf","tBoOHF"],"boolField":true,"intField":375,"numField":-912.8722001902792,"objField":{"BfzVOk":-8438358522321291996,"EBzKVD":3491928352210833914,"HvAWM":3728822504678419805,"IuqDf":1094780608038191140,"KuFH":77927049017803926,"fCYvVlnhz":4662378764804318765,"hhuhRSZ":-8632472958163457733,"iGaBkgJm":8326323375232207947,"iMOEG":-8845841329906079317},"stringDateField":"2017-09-09","stringDateTimeField":"1987-12-16T13:17:43Z","stringField":"OXnUeV","stringTimeField":"19:04:38.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763725Z","intField":375,"numField":-912.8722001902792,"stringDateField":"2017-09-09","stringDateTimeField":"1987-12-16T13:17:43Z","stringField":"OXnUeV","stringTimeField":"19:04:38.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3106,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3106,"uuid":"9e0a89ce-5655-11ee-8001-675ed0f8e89b"},"arrayField":["eYPx","gulTmhu","vsoXTFW","JRWiKEF","xjCyld","mpaJ","NZiTskgM","DaVHbwR","cVKSBbgRC","woEEt"],"boolField":true,"intField":-162,"numField":870.8801189710533,"objField":{"bahyoOyRyr":6861386434229312775,"cPbDCRGIp":7686899918820698777,"tKyPOMAaT":-3310547471542049491},"stringDateField":"1917-10-31","stringDateTimeField":"2003-07-28T14:47:31Z","stringField":"axUMO","stringTimeField":"10:03:34.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-162,"numField":870.8801189710533,"stringDateField":"1917-10-31","stringDateTimeField":"2003-07-28T14:47:31Z","stringField":"axUMO","stringTimeField":"10:03:34.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3107,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3107,"uuid":"9e0a89ce-5655-11ee-8401-675ed0f8e89b"},"arrayField":["CWesOWWlhW","OURhnOJX","RUEkGZaTmN","MViSaEi","HKXbXZuKJ","AXJOqBg","GFIb","AYzoTcjdND","UHFpk"],"boolField":false,"intField":-425,"numField":312.9508408364794,"objField":{"KolFKbsAy":7146289071543973060,"vuvVFA":-7054442389153592335},"stringDateField":"2002-01-18","stringDateTimeField":"1926-06-04T23:44:27Z","stringField":"CgEmL","stringTimeField":"01:52:02.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-425,"numField":312.9508408364794,"stringDateField":"2002-01-18","stringDateTimeField":"1926-06-04T23:44:27Z","stringField":"CgEmL","stringTimeField":"01:52:02.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3108,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3108,"uuid":"9e0a89ce-5655-11ee-8801-675ed0f8e89b"},"arrayField":["zsDovZrvYm","uudLXmRDC","rHOrCv","PUUcRHiMlW","mRHLB"],"boolField":true,"intField":-959,"numField":857.7458096852639,"objField":{"BoWoVPFfUy":-9183115006133218752,"PbqBxAGMlO":-4252219784927648057,"TuVPvRYggT":9110624106957735591,"pmVWLGHSu":-2274774817259461483},"stringDateField":"1912-10-05","stringDateTimeField":"1903-07-28T10:20:45Z","stringField":"uJJzQP","stringTimeField":"22:37:50.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-959,"numField":857.7458096852639,"stringDateField":"1912-10-05","stringDateTimeField":"1903-07-28T10:20:45Z","stringField":"uJJzQP","stringTimeField":"22:37:50.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3109,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3109,"uuid":"9e0a89ce-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["GfCHEa","Ayzqde","KHxwmC","GgAi","WqRbrI","wGQdq","aGZVkxDX","tAXaHtfweX"],"boolField":false,"intField":-23,"numField":353.3253968765777,"objField":{"rtpn":-6785959526163341667},"stringDateField":"1950-02-18","stringDateTimeField":"1916-11-03T06:36:39Z","stringField":"nKmGsfNuX","stringTimeField":"14:07:24.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-23,"numField":353.3253968765777,"stringDateField":"1950-02-18","stringDateTimeField":"1916-11-03T06:36:39Z","stringField":"nKmGsfNuX","stringTimeField":"14:07:24.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3110,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3110,"uuid":"9e0a89ce-5655-11ee-9001-675ed0f8e89b"},"arrayField":["LTCVognRHi","OpvGCSNii","wKakO","Mzpmy","dyUOGKTKa","KGlUT","CyHr"],"boolField":false,"intField":-640,"numField":-566.6964434446834,"objField":{"AfYNCgy":-4207741139766469476,"GQTuwM":6148324205585475197,"eUGwjRxZ":644701917823323056,"ixnDzM":-8772435613633117339,"oVfLIys":-1825698093994286889},"stringDateField":"1928-05-04","stringDateTimeField":"1916-09-06T23:58:31Z","stringField":"ihpHi","stringTimeField":"13:19:17.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-640,"numField":-566.6964434446834,"stringDateField":"1928-05-04","stringDateTimeField":"1916-09-06T23:58:31Z","stringField":"ihpHi","stringTimeField":"13:19:17.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3111,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3111,"uuid":"9e0a89ce-5655-11ee-9401-675ed0f8e89b"},"arrayField":["bJsxxxoHP","CdxGIXfUfa","vvEaUkMUS","JHzQqNX","wXlWIMC"],"boolField":true,"intField":-700,"numField":-413.71271121044595,"objField":{"BNeGrc":6480719703005228991,"QQRweP":1030608776182316649,"TbxdIpzlX":8659825082820088411,"Tsrp":-6777442982385306918,"hINGgoO":-9204478612205849754,"iteohu":-199727110016375900,"jtIavKkqzM":-3865046507720768744,"nattDzzRb":5706642347525418187,"yWuiU":-1703775439185182094},"stringDateField":"1915-10-01","stringDateTimeField":"1969-12-01T09:12:22Z","stringField":"KsuhAmF","stringTimeField":"06:08:54.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-700,"numField":-413.71271121044595,"stringDateField":"1915-10-01","stringDateTimeField":"1969-12-01T09:12:22Z","stringField":"KsuhAmF","stringTimeField":"06:08:54.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3112,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3112,"uuid":"9e0a89ce-5655-11ee-9801-675ed0f8e89b"},"arrayField":["rBwV"],"boolField":true,"intField":-808,"numField":-943.8038191566624,"objField":{"IXjM":-876591203995655274,"WZauMHUZ":-986684467354368248,"aKbmAb":4557096886465399711,"blbyAgWy":3812021298050060107,"cyJnZI":-3872897254091794952},"stringDateField":"1952-05-16","stringDateTimeField":"1953-02-28T19:16:16Z","stringField":"WyhXrAe","stringTimeField":"22:55:29.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-808,"numField":-943.8038191566624,"stringDateField":"1952-05-16","stringDateTimeField":"1953-02-28T19:16:16Z","stringField":"WyhXrAe","stringTimeField":"22:55:29.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3113,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3113,"uuid":"9e0a89ce-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["tjseJZQEqT","SeYI","zGZfmG","FMqMS","WofUnYwzGC","kGmPfRu","mIOC","dWuUQEXuNy","wvXc","MDSb"],"boolField":false,"intField":-586,"numField":-306.1673708939049,"objField":{"JyJuKKNPgr":2664188136507543219,"LvJUOSyC":-2824671707217455884,"MMFipjdj":7296661726495347411,"WsRdb":-5676383001811506236,"gylnhzuUVS":-1201942162833759845,"iHbNfxIZ":-6835428402529889555,"oCYkyKMy":-472658075875380993,"vPJbIYtNq":4587871012928265364,"yYvHNlaLtE":-6826886953138591667,"zfJVi":4113727876476433242},"stringDateField":"1965-05-26","stringDateTimeField":"2005-09-20T01:02:07Z","stringField":"MAAU","stringTimeField":"22:52:48.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-586,"numField":-306.1673708939049,"stringDateField":"1965-05-26","stringDateTimeField":"2005-09-20T01:02:07Z","stringField":"MAAU","stringTimeField":"22:52:48.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3114,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3114,"uuid":"9e0a89ce-5655-11ee-a001-675ed0f8e89b"},"arrayField":["clYkvhhD","ljpPPwGhPT","jSTmxPBN","FdDwiPQE","GXPjvM","JWnVwch","iDdSoQN","ScmQ","LLRqpJOoT","zGfyezVWH"],"boolField":false,"intField":-994,"numField":-321.93704920726475,"objField":{"NEvIkbO":226532451287812253},"stringDateField":"1914-09-26","stringDateTimeField":"1995-04-29T09:57:00Z","stringField":"Tfmj","stringTimeField":"18:36:37.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-994,"numField":-321.93704920726475,"stringDateField":"1914-09-26","stringDateTimeField":"1995-04-29T09:57:00Z","stringField":"Tfmj","stringTimeField":"18:36:37.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3115,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3115,"uuid":"9e0a89ce-5655-11ee-a401-675ed0f8e89b"},"arrayField":["FmkgbaxpnR","DupOpR","NczP","Yrgcrxpjl"],"boolField":true,"intField":-903,"numField":-103.1651692086606,"objField":{"PCKIH":6727970785531488307,"SMMoGwc":-4448576376473996027,"bocF":587101635579957633},"stringDateField":"1973-10-17","stringDateTimeField":"1994-07-31T08:17:59Z","stringField":"gWlZ","stringTimeField":"05:23:03.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-903,"numField":-103.1651692086606,"stringDateField":"1973-10-17","stringDateTimeField":"1994-07-31T08:17:59Z","stringField":"gWlZ","stringTimeField":"05:23:03.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3116,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3116,"uuid":"9e0a89ce-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ECWZspzby","fQtZva","MCWJFrB"],"boolField":false,"intField":-48,"numField":418.58348771655926,"objField":{"UllDzb":135431499985911182,"Xyvn":-3990293971916614424,"gNZfsjiFv":3012025966649936880},"stringDateField":"2005-11-15","stringDateTimeField":"2021-09-27T14:07:18Z","stringField":"sNqNlyXWc","stringTimeField":"02:14:13.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-48,"numField":418.58348771655926,"stringDateField":"2005-11-15","stringDateTimeField":"2021-09-27T14:07:18Z","stringField":"sNqNlyXWc","stringTimeField":"02:14:13.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3117,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3117,"uuid":"9e0a89ce-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["Myqa","wIHDCRz","ZhQy","LxiTNKgG","VbSYdehfwH","wPxc","zPPCUGtr","fCfLw","RXtLpdbJm"],"boolField":true,"intField":901,"numField":184.8646814804238,"objField":{"MbeWK":7084741734390120127,"MplgFUk":-8081011655974525882,"ZlSWoSxtk":9067671882089295418,"anRZAWG":1463979059540784126,"bFogOsqFA":2621450038397195967,"eOAEU":4361512496609242389,"gmfpK":-2588550570802424415,"lZustmAK":-44322123013977638},"stringDateField":"2021-09-18","stringDateTimeField":"1945-08-21T13:23:03Z","stringField":"hWBFOjBFB","stringTimeField":"05:58:13.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":901,"numField":184.8646814804238,"stringDateField":"2021-09-18","stringDateTimeField":"1945-08-21T13:23:03Z","stringField":"hWBFOjBFB","stringTimeField":"05:58:13.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3118,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3118,"uuid":"9e0a89ce-5655-11ee-b001-675ed0f8e89b"},"arrayField":["MzhGSYOtQm","zaGDJrem","PXNaz"],"boolField":true,"intField":-677,"numField":-256.99989180919926,"objField":{"NTbbSHt":844994213420195972},"stringDateField":"2022-10-18","stringDateTimeField":"1981-11-17T12:43:23Z","stringField":"tdqyIQGO","stringTimeField":"04:53:48.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-677,"numField":-256.99989180919926,"stringDateField":"2022-10-18","stringDateTimeField":"1981-11-17T12:43:23Z","stringField":"tdqyIQGO","stringTimeField":"04:53:48.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3119,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3119,"uuid":"9e0a89ce-5655-11ee-b401-675ed0f8e89b"},"arrayField":["usuHX","ksXFwgm","aALApV","pFqQDhm","ninUlL"],"boolField":false,"intField":-553,"numField":-378.3641246450408,"objField":{"FJBvWY":-6099829654548288640,"Hkik":-3062896823164898859,"KWtgJRLJu":-2854790551509018723,"Tuovc":7552365203766393942,"VlwyYdx":1783604849396647688,"YAVx":-3681781972831304109,"gLXsHMUFJ":-7290439858455245031},"stringDateField":"1910-07-27","stringDateTimeField":"2006-08-21T00:51:23Z","stringField":"QXCbQicyav","stringTimeField":"15:53:24.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-553,"numField":-378.3641246450408,"stringDateField":"1910-07-27","stringDateTimeField":"2006-08-21T00:51:23Z","stringField":"QXCbQicyav","stringTimeField":"15:53:24.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3120,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3120,"uuid":"9e0a89ce-5655-11ee-b801-675ed0f8e89b"},"arrayField":["wccH","plPmGf","NvdsqiA","ZdRJhGmQ","pJElhW","ZEzV","WZivnKVFZ","fTraBjke"],"boolField":false,"intField":-135,"numField":553.0188019533739,"objField":{"AVmzP":-2428273916509877309,"VgHl":-7861761873425937962,"Xtof":7592149401086719749,"aeCi":-9015430255457609688},"stringDateField":"1926-03-15","stringDateTimeField":"2016-01-06T08:05:48Z","stringField":"VVJcltujv","stringTimeField":"23:00:42.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-135,"numField":553.0188019533739,"stringDateField":"1926-03-15","stringDateTimeField":"2016-01-06T08:05:48Z","stringField":"VVJcltujv","stringTimeField":"23:00:42.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3121,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3121,"uuid":"9e0a89ce-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["FOQEtxGjTu","hIuBi","urslMYS","NhyMM","nPCES"],"boolField":false,"intField":-425,"numField":-785.4917620128366,"objField":{"QGRtZpzGFq":-2295589895168089950,"QdZcHwWFq":1027878325823689641,"SranQ":3408262062110565740,"TWrTaM":-3892049016000027278,"qnzW":-4686878706927655631,"vMMBNxb":578074256079486686,"ypgrw":8882004527872384683},"stringDateField":"1932-03-13","stringDateTimeField":"1967-05-04T03:21:46Z","stringField":"tBnvSaQ","stringTimeField":"07:38:09.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763726Z","intField":-425,"numField":-785.4917620128366,"stringDateField":"1932-03-13","stringDateTimeField":"1967-05-04T03:21:46Z","stringField":"tBnvSaQ","stringTimeField":"07:38:09.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3122,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3122,"uuid":"9e0a89cf-5655-11ee-8001-675ed0f8e89b"},"arrayField":["oPZZixQP","ZHIQJj","rJPAEpoc"],"boolField":false,"intField":-271,"numField":426.0741644379591,"objField":{"FsshMNer":-8895992430626029076},"stringDateField":"1924-10-25","stringDateTimeField":"1921-11-20T08:15:42Z","stringField":"XqOO","stringTimeField":"10:36:03.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":-271,"numField":426.0741644379591,"stringDateField":"1924-10-25","stringDateTimeField":"1921-11-20T08:15:42Z","stringField":"XqOO","stringTimeField":"10:36:03.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3123,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3123,"uuid":"9e0a89cf-5655-11ee-8401-675ed0f8e89b"},"arrayField":["WkwXJABFgQ","xdMdDu","jUbfghBC","dRCsb","ArwPFTRkk","vjFNc","szZGhoBgd","WFxhzWKtCP"],"boolField":true,"intField":945,"numField":-843.1722476139544,"objField":{"cAyMbp":-5441795699838530180},"stringDateField":"1938-10-25","stringDateTimeField":"1984-05-20T22:24:43Z","stringField":"UdpPJUWvL","stringTimeField":"09:49:42.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":945,"numField":-843.1722476139544,"stringDateField":"1938-10-25","stringDateTimeField":"1984-05-20T22:24:43Z","stringField":"UdpPJUWvL","stringTimeField":"09:49:42.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3124,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3124,"uuid":"9e0a89cf-5655-11ee-8801-675ed0f8e89b"},"arrayField":["pAhaPlXuA","sncChOJ","bZxFyJyhW","DKjzTebG","jhpZpjat","eUXVTab","izWw"],"boolField":true,"intField":426,"numField":316.5235533259765,"objField":{"IMbeSOF":-6298037983267869198},"stringDateField":"1988-03-06","stringDateTimeField":"1970-12-17T10:57:40Z","stringField":"VNxa","stringTimeField":"12:29:36.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":426,"numField":316.5235533259765,"stringDateField":"1988-03-06","stringDateTimeField":"1970-12-17T10:57:40Z","stringField":"VNxa","stringTimeField":"12:29:36.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3125,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3125,"uuid":"9e0a89cf-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["jtVKken","sctYoADQ","XXXS","JKGTFM","whAtSJkyWX"],"boolField":true,"intField":-24,"numField":637.7337157585104,"objField":{"awIbisUrGS":6549414969215927229,"bEJAvJaPC":4691864484927343105,"hGexw":7530302270809978528},"stringDateField":"1937-07-01","stringDateTimeField":"1923-05-13T18:51:09Z","stringField":"DKXbuoQh","stringTimeField":"09:16:27.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":-24,"numField":637.7337157585104,"stringDateField":"1937-07-01","stringDateTimeField":"1923-05-13T18:51:09Z","stringField":"DKXbuoQh","stringTimeField":"09:16:27.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3126,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3126,"uuid":"9e0a89cf-5655-11ee-9001-675ed0f8e89b"},"arrayField":["KFQFLr","erAXPyiW","iVarNld","ljcSuUo","eVsBpABl","jngiBaCkJ","BwQtivO"],"boolField":false,"intField":-859,"numField":-742.109601748963,"objField":{"DNCBgQmr":-571200311919637736,"DNXg":-8315490472077491945,"UyEQOTpriN":5352151690026379370,"ZeTtg":-5637494120310447575,"awWgrKf":2752618613770746651,"xskb":7353957928273149669},"stringDateField":"2017-03-31","stringDateTimeField":"1940-04-10T08:09:37Z","stringField":"AAhlvvIBY","stringTimeField":"00:38:26.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":-859,"numField":-742.109601748963,"stringDateField":"2017-03-31","stringDateTimeField":"1940-04-10T08:09:37Z","stringField":"AAhlvvIBY","stringTimeField":"00:38:26.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3127,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3127,"uuid":"9e0a89cf-5655-11ee-9401-675ed0f8e89b"},"arrayField":["IBjT"],"boolField":false,"intField":78,"numField":588.1778015244046,"objField":{"OnPic":-5088317244255523862,"hElF":-2163405352172422112},"stringDateField":"1970-01-09","stringDateTimeField":"2016-03-05T02:21:36Z","stringField":"IreF","stringTimeField":"09:15:35.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":78,"numField":588.1778015244046,"stringDateField":"1970-01-09","stringDateTimeField":"2016-03-05T02:21:36Z","stringField":"IreF","stringTimeField":"09:15:35.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3128,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3128,"uuid":"9e0a89cf-5655-11ee-9801-675ed0f8e89b"},"arrayField":["GPTMM","wWTTPUDhW","nCWMZ"],"boolField":true,"intField":288,"numField":311.35146749556617,"objField":{"HjwaGIttj":-7893128761372113018,"pSPe":605901995061038578},"stringDateField":"1958-09-10","stringDateTimeField":"2020-03-15T02:16:49Z","stringField":"mPrFd","stringTimeField":"16:46:01.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":288,"numField":311.35146749556617,"stringDateField":"1958-09-10","stringDateTimeField":"2020-03-15T02:16:49Z","stringField":"mPrFd","stringTimeField":"16:46:01.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3129,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3129,"uuid":"9e0a89cf-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["qtpW","fQOrFRB","ytLfI","sykPFtVgj","IidY","gKibZYecpf"],"boolField":false,"intField":849,"numField":372.1176697031785,"objField":{"DxmzytQAHA":6061283255155911070,"ThBe":7310079596344560707,"WnLUk":-4470704497217966842,"XrmXyliy":735090020005506809,"gLuHT":-3064595104196515298,"gtRLZHKZI":-913379122069483319,"qIRMBfmHu":4221937115638970446,"tBaY":-2854610998214548078,"vDiYLD":-871621259523532359,"vuEGTEktqy":-3246572396163088425},"stringDateField":"1969-02-12","stringDateTimeField":"1928-03-20T13:33:54Z","stringField":"EQmuNDhcbs","stringTimeField":"18:22:50.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":849,"numField":372.1176697031785,"stringDateField":"1969-02-12","stringDateTimeField":"1928-03-20T13:33:54Z","stringField":"EQmuNDhcbs","stringTimeField":"18:22:50.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3130,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3130,"uuid":"9e0a89cf-5655-11ee-a001-675ed0f8e89b"},"arrayField":["mjanxsyfJX","cVGraIUMZ","XWRyAkT","fagCFHEE","gkUJ","wIsgjw","ugUIoZdiw","ZYksh"],"boolField":true,"intField":230,"numField":917.6479638460022,"objField":{"Fnwxx":4734317172132258273,"KBqxJoccIx":-7864832550792879134,"VrcU":-5448872395939354211,"geqVmlVK":3091760103272227047,"lqSGcmhRna":-4155981834939171864,"vznHbH":-1803950359154859120},"stringDateField":"1934-03-02","stringDateTimeField":"2000-04-14T17:59:31Z","stringField":"iHkCR","stringTimeField":"16:51:28.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":230,"numField":917.6479638460022,"stringDateField":"1934-03-02","stringDateTimeField":"2000-04-14T17:59:31Z","stringField":"iHkCR","stringTimeField":"16:51:28.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3131,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3131,"uuid":"9e0a89cf-5655-11ee-a401-675ed0f8e89b"},"arrayField":["nkqRdC","QASaGnxRE","qMTpjQWV","KUJHLew"],"boolField":false,"intField":-928,"numField":-612.5925833238206,"objField":{"SjUrBkY":3325156603327669989,"aITj":5247795855342594162,"iGMVQbsTd":-7055807663047876078,"kvROVWbOV":-1166389755323097662,"nqruBIV":-2901278003686625055,"qVYLHbMO":-499249961165087367,"tmUzeUgRsG":-1885491727659884257,"wIbUeCY":-7958659623931539421,"yrDp":8287261974265039951},"stringDateField":"2012-09-26","stringDateTimeField":"1969-11-19T19:17:57Z","stringField":"AhuS","stringTimeField":"17:07:36.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":-928,"numField":-612.5925833238206,"stringDateField":"2012-09-26","stringDateTimeField":"1969-11-19T19:17:57Z","stringField":"AhuS","stringTimeField":"17:07:36.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3132,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3132,"uuid":"9e0a89cf-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sjMIV","xZhTYOjJ","CoPLGRteyS","oaULcfJC"],"boolField":true,"intField":-314,"numField":117.46608535676906,"objField":{"DFAE":-6355085404850422066,"LGWpYsilE":-2155772612809032083,"QMQtrb":4928340938195811331,"RSTfs":-7783385342588585623,"aecQ":2968340287929577640,"laDpmPRlSD":5459653113963879362,"rvZJHNfrn":-8950800469434048144,"slxzhL":1187360858730340005,"uKqwjrFNk":2318285556605695834},"stringDateField":"1941-09-05","stringDateTimeField":"1972-06-27T21:59:44Z","stringField":"vHpdrka","stringTimeField":"07:49:48.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":-314,"numField":117.46608535676906,"stringDateField":"1941-09-05","stringDateTimeField":"1972-06-27T21:59:44Z","stringField":"vHpdrka","stringTimeField":"07:49:48.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3133,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3133,"uuid":"9e0a89cf-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["oLjshxwX","eMfIvwiHai","WWYTTlCVhY","KqUdBm"],"boolField":false,"intField":848,"numField":-925.078328786764,"objField":{"FXdzaNp":8534428007831122336,"PTHlireEi":3675455566121149795,"QQsiCK":1381032480773633958,"dAyIdLwrGQ":7288848087943408162},"stringDateField":"1967-02-13","stringDateTimeField":"1914-07-22T17:12:06Z","stringField":"gkdWl","stringTimeField":"13:51:47.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":848,"numField":-925.078328786764,"stringDateField":"1967-02-13","stringDateTimeField":"1914-07-22T17:12:06Z","stringField":"gkdWl","stringTimeField":"13:51:47.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3134,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3134,"uuid":"9e0a89cf-5655-11ee-b001-675ed0f8e89b"},"arrayField":["TaEJGs","bbIJsz","FVdGfWer"],"boolField":false,"intField":-765,"numField":-691.1269495986003,"objField":{"AxRinc":-7551719616306062509,"YlZD":493671619761050383,"eTTSeK":5523039610184169539,"vBhUaBk":7846670396783355401},"stringDateField":"1986-12-08","stringDateTimeField":"1939-09-26T18:45:24Z","stringField":"IVVkmtMoBd","stringTimeField":"21:25:48.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":-765,"numField":-691.1269495986003,"stringDateField":"1986-12-08","stringDateTimeField":"1939-09-26T18:45:24Z","stringField":"IVVkmtMoBd","stringTimeField":"21:25:48.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3135,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3135,"uuid":"9e0a89cf-5655-11ee-b401-675ed0f8e89b"},"arrayField":["Hhjg","yJPEiOLtZ","BzsxYGqNEC","JlbwqCy","vjHJkmkOU","bcuJTWthB","KREnV"],"boolField":false,"intField":-400,"numField":-18.44315038918232,"objField":{"QATxX":-8514792505515586510,"kJaUZl":-7039293881918403152,"ukWd":4784915451839380149,"vQCu":-3539213208835489508},"stringDateField":"1928-01-05","stringDateTimeField":"1992-09-26T09:18:12Z","stringField":"XJsowCkuP","stringTimeField":"08:33:24.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":-400,"numField":-18.44315038918232,"stringDateField":"1928-01-05","stringDateTimeField":"1992-09-26T09:18:12Z","stringField":"XJsowCkuP","stringTimeField":"08:33:24.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3136,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3136,"uuid":"9e0a89cf-5655-11ee-b801-675ed0f8e89b"},"arrayField":["SMMyLYzYd","ObCDjI","sXNNZ","KQyZkx","Mugw","rbpyDPfia","DUAOnIUr","GcgpGi","SnIcg","CoJFr"],"boolField":true,"intField":793,"numField":493.410976884161,"objField":{"LcJTJJW":970117317732865591,"WrzoZbyL":1642882343916038264,"XnNFHhUJP":-5757580511769019334,"rTQs":-8418086882922698303},"stringDateField":"2015-12-03","stringDateTimeField":"1948-05-30T21:10:35Z","stringField":"MdLzuzrD","stringTimeField":"23:09:18.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":793,"numField":493.410976884161,"stringDateField":"2015-12-03","stringDateTimeField":"1948-05-30T21:10:35Z","stringField":"MdLzuzrD","stringTimeField":"23:09:18.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3137,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3137,"uuid":"9e0a89cf-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["vYTGESdnoS","CLkAT","pkrvpiBfuP","lkPRJpEQqe","yOgOpq","ptXLOWGsdC","hkMPoILpi","nISsMiZB"],"boolField":false,"intField":-450,"numField":-504.81040247191794,"objField":{"AIapvPKKQ":330566522891833623,"AbPsgTzedb":8025367803351385328,"YoMFQ":7791539832722267314,"oUxXH":-3747117540974151654,"qHDXJKLcDK":-912462024984715056,"sSeIXX":7282239209819795013},"stringDateField":"2008-05-28","stringDateTimeField":"1989-12-15T16:22:12Z","stringField":"Kzoes","stringTimeField":"22:58:45.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763727Z","intField":-450,"numField":-504.81040247191794,"stringDateField":"2008-05-28","stringDateTimeField":"1989-12-15T16:22:12Z","stringField":"Kzoes","stringTimeField":"22:58:45.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3138,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3138,"uuid":"9e0a89d0-5655-11ee-8001-675ed0f8e89b"},"arrayField":["nkaxqaso","ytWCzE","gxqBzYdO","YiHIdza","JBotomlYGL","TAsNd","xvlx"],"boolField":false,"intField":436,"numField":827.8307011948376,"objField":{"RcXamIZHS":6310265530066934650,"aYuMiX":-5662068262287764177,"dIAI":-6110098975213359607,"jORfttywuK":3310722097251874136,"nHEUrb":5439464539716664486,"rBFv":3493404477681240710,"sdOQFHXvjp":-1107658117104649719},"stringDateField":"1940-11-26","stringDateTimeField":"1986-01-18T01:44:55Z","stringField":"zrjoFTHo","stringTimeField":"14:39:09.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":436,"numField":827.8307011948376,"stringDateField":"1940-11-26","stringDateTimeField":"1986-01-18T01:44:55Z","stringField":"zrjoFTHo","stringTimeField":"14:39:09.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3139,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3139,"uuid":"9e0a89d0-5655-11ee-8401-675ed0f8e89b"},"arrayField":["pxWDBvoC"],"boolField":true,"intField":774,"numField":-94.24659917173506,"objField":{"HsHBHFu":8408345730631675853,"eCJEfVa":-5409618592687982379},"stringDateField":"1995-03-01","stringDateTimeField":"1993-08-14T16:23:29Z","stringField":"TIThhdZwcJ","stringTimeField":"19:40:48.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":774,"numField":-94.24659917173506,"stringDateField":"1995-03-01","stringDateTimeField":"1993-08-14T16:23:29Z","stringField":"TIThhdZwcJ","stringTimeField":"19:40:48.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3140,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3140,"uuid":"9e0a89d0-5655-11ee-8801-675ed0f8e89b"},"arrayField":["yhAxSn"],"boolField":false,"intField":576,"numField":-523.6156376382871,"objField":{"bEdO":-3204749408455026714,"chhBbfSXU":-1620425565863288700,"dmXNsKo":-6563653973973329372,"jEEsZuiv":-2490196916436798772},"stringDateField":"1980-01-06","stringDateTimeField":"2005-01-05T12:09:56Z","stringField":"uJLc","stringTimeField":"01:30:24.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":576,"numField":-523.6156376382871,"stringDateField":"1980-01-06","stringDateTimeField":"2005-01-05T12:09:56Z","stringField":"uJLc","stringTimeField":"01:30:24.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3141,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3141,"uuid":"9e0a89d0-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["CGPNdYp","naTAatPm","lnSuBTWD","TIdNEizNjr","xtBTNRkD","CCYd","XoQUIcwX","IYnQapXC","tNlc","BqXemSRXkL"],"boolField":false,"intField":973,"numField":-545.2818665199198,"objField":{"vWaZ":-7418341725169436102},"stringDateField":"1959-02-19","stringDateTimeField":"1968-04-21T07:14:59Z","stringField":"tcwC","stringTimeField":"14:59:41.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":973,"numField":-545.2818665199198,"stringDateField":"1959-02-19","stringDateTimeField":"1968-04-21T07:14:59Z","stringField":"tcwC","stringTimeField":"14:59:41.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3142,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3142,"uuid":"9e0a89d0-5655-11ee-9001-675ed0f8e89b"},"arrayField":["KRXcCB","wPRoWV","doZegq","GpCvKh","HwKhKBCD","qBpgbG"],"boolField":false,"intField":982,"numField":53.43584387163336,"objField":{"HPSueZo":-7259710610784878951,"PJzkFIgBIF":4014100293659446323,"YDyMeW":835840312062189421,"ZoNa":-8878548726273001013,"bcvUzIV":-1857450538961807935,"gCzxF":8188851917466812279,"hgFnMgo":5150000719339593354,"kRgLlODuAH":155455517261984603,"qgJjD":2935590837150984841},"stringDateField":"1935-10-23","stringDateTimeField":"1971-08-06T17:33:43Z","stringField":"NEfMsFXbk","stringTimeField":"16:21:41.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":982,"numField":53.43584387163336,"stringDateField":"1935-10-23","stringDateTimeField":"1971-08-06T17:33:43Z","stringField":"NEfMsFXbk","stringTimeField":"16:21:41.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3143,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3143,"uuid":"9e0a89d0-5655-11ee-9401-675ed0f8e89b"},"arrayField":["YMtcmTng","vgEJZQPQcb","TvefeYJm","fplMXoDsd","rJmunGgfen","ZLRyuGeg","CmuUfg"],"boolField":false,"intField":-920,"numField":714.141008351194,"objField":{"BMIsBeL":312901056740879557,"dZdarkALfo":-4654835854139885351},"stringDateField":"1960-12-18","stringDateTimeField":"1944-07-24T19:57:52Z","stringField":"DStrN","stringTimeField":"15:53:06.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":-920,"numField":714.141008351194,"stringDateField":"1960-12-18","stringDateTimeField":"1944-07-24T19:57:52Z","stringField":"DStrN","stringTimeField":"15:53:06.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3144,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3144,"uuid":"9e0a89d0-5655-11ee-9801-675ed0f8e89b"},"arrayField":["JVCbmJkHl","UfkGi","idsbWuZTR","ybNxF","hiBEGuR","cZLrK","xQmrpQDpDf"],"boolField":false,"intField":-847,"numField":-711.7775505092081,"objField":{"JRPWrTcG":-3801737758730040510,"OLiFDWmzjT":974917207133973552,"SOmaIqWx":-8288448401355536819,"iaKSLG":-4653305746468309058,"louGFBYs":-8859115643038842124},"stringDateField":"1930-06-12","stringDateTimeField":"1989-03-22T13:09:07Z","stringField":"GWTxhWDI","stringTimeField":"03:33:11.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":-847,"numField":-711.7775505092081,"stringDateField":"1930-06-12","stringDateTimeField":"1989-03-22T13:09:07Z","stringField":"GWTxhWDI","stringTimeField":"03:33:11.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3145,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3145,"uuid":"9e0a89d0-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["lFZTTfX","lWUuD","pTRcKqYgn","XLnvmHTOlB","zwVqOOrpwQ","xWMz","HImywBL","AVrBJZ","SQwoVCoTJ","zIKlu"],"boolField":true,"intField":-924,"numField":-690.5657318378491,"objField":{"BTAUta":5610008143801160363,"UnaHfmIEzZ":876904577534629562,"clHFWWL":124384492439727332,"dynaeG":3664366448011223167,"lTJvcM":-7738896754100453448,"nfbzz":4769602575105291749,"tstDqZp":-1851074912199861123},"stringDateField":"1968-02-04","stringDateTimeField":"2002-02-26T06:53:13Z","stringField":"EypiEqIZGT","stringTimeField":"00:13:18.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":-924,"numField":-690.5657318378491,"stringDateField":"1968-02-04","stringDateTimeField":"2002-02-26T06:53:13Z","stringField":"EypiEqIZGT","stringTimeField":"00:13:18.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3146,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3146,"uuid":"9e0a89d0-5655-11ee-a001-675ed0f8e89b"},"arrayField":["tLftmdK","EukfcYfqn","mQPRG","lLdygsyn","HfAOHKw","WTHPI","wqqgrOOm"],"boolField":false,"intField":465,"numField":-260.5769651108554,"objField":{"QKBTj":-8081371909363248781,"SoEuYqFJ":-825658429470744902,"XmGM":6558107314075070453,"XvxcQsyNN":-5476513122761705351,"eyHohxzNA":-7923160018422105522,"hRgMPe":-4385398335092127691,"iFzI":-3105166207538652387,"kEXHmhdM":-2099396528421838343,"rHcruZ":-779566240117539730,"xGvzb":-8039579160889345559},"stringDateField":"1976-11-13","stringDateTimeField":"1934-12-25T06:48:30Z","stringField":"IiXLiDI","stringTimeField":"07:45:31.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":465,"numField":-260.5769651108554,"stringDateField":"1976-11-13","stringDateTimeField":"1934-12-25T06:48:30Z","stringField":"IiXLiDI","stringTimeField":"07:45:31.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3147,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3147,"uuid":"9e0a89d0-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ixsbj","vokrNgkBI","bySo","ejqDcnms","MfAE"],"boolField":true,"intField":-598,"numField":923.6271990270486,"objField":{"IWqHXCfaIM":-6214445166750588383,"LNOglBCc":-1011626098115781838,"PooTWaZblx":1486631525396752920,"RUBbATTutQ":4111002937343182345,"aNznuGQ":-4499944672790194906,"dMqkka":-4190425584661867614,"flSJCzrSE":1520093634337656573,"nFSdp":5930538591669006304,"sNYljdaha":-1858352758633194459},"stringDateField":"1930-10-07","stringDateTimeField":"1962-12-02T18:51:54Z","stringField":"KbXXkwF","stringTimeField":"08:10:06.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":-598,"numField":923.6271990270486,"stringDateField":"1930-10-07","stringDateTimeField":"1962-12-02T18:51:54Z","stringField":"KbXXkwF","stringTimeField":"08:10:06.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3148,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3148,"uuid":"9e0a89d0-5655-11ee-a801-675ed0f8e89b"},"arrayField":["IgNi","DFhwbeGYiZ","PrnCYNrazh","CEGFM","ZOjbsuI"],"boolField":false,"intField":883,"numField":-245.86588807441768,"objField":{"esUS":5773577534017858040,"iQDD":8454044999883548735,"ndHbtdvjR":1315959564277102877,"qiWWG":-5227732422207559079,"sxwG":5786635451063228220},"stringDateField":"1998-07-11","stringDateTimeField":"1971-06-04T21:25:58Z","stringField":"MaSk","stringTimeField":"01:58:59.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":883,"numField":-245.86588807441768,"stringDateField":"1998-07-11","stringDateTimeField":"1971-06-04T21:25:58Z","stringField":"MaSk","stringTimeField":"01:58:59.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3149,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3149,"uuid":"9e0a89d0-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["SDJhAB","tHLzK","ynFz","EvuXRnkGK","GaZqFeHG","efkzXs"],"boolField":false,"intField":-333,"numField":894.4241959057615,"objField":{"FbKu":3058226101277986691,"LOuQfAjn":5774278965551610507,"MlCYhBHUAk":7197169453003429605,"QknZ":5103332662459692043,"ZZmDxAuKa":-1104906457031624611,"dnuG":-1191777709493585223,"nHBVnpA":2532208458137053403,"owOhtHgxvX":-4743054773069463209,"rLNsivVfRL":5428892026071519216,"ySNNRN":2696346123902138057},"stringDateField":"1908-01-11","stringDateTimeField":"1948-10-28T11:15:13Z","stringField":"UngimsIz","stringTimeField":"05:58:15.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":-333,"numField":894.4241959057615,"stringDateField":"1908-01-11","stringDateTimeField":"1948-10-28T11:15:13Z","stringField":"UngimsIz","stringTimeField":"05:58:15.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3150,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3150,"uuid":"9e0a89d0-5655-11ee-b001-675ed0f8e89b"},"arrayField":["bRlohBFz","TBHNhmBEX","tZVogN","flYl","udtJfdYF","CdSmcKCw","fkHHmg","zpYIRQQnUb","wVnOPw"],"boolField":true,"intField":195,"numField":728.2317444757123,"objField":{"CcbZePUE":-7508787743032791759,"EAUHhmf":4327518432889607158,"MQhnN":-7262492975737976433,"SmwWbppP":-8501708258148798540,"afPiTAmSc":4541649580206897011,"cwvkh":-7148543562429272703,"mBIbAMDQx":-133058230771259367,"nGypLotZFB":7390531124832563609,"vOwSet":-3545666490390111130,"wTfurnQF":878259749466927396},"stringDateField":"1930-08-24","stringDateTimeField":"1966-07-28T20:38:30Z","stringField":"rLVC","stringTimeField":"02:57:03.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":195,"numField":728.2317444757123,"stringDateField":"1930-08-24","stringDateTimeField":"1966-07-28T20:38:30Z","stringField":"rLVC","stringTimeField":"02:57:03.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3151,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3151,"uuid":"9e0a89d0-5655-11ee-b401-675ed0f8e89b"},"arrayField":["SdaDR","FPNLJCmyAL","zGVRsK","HUenO"],"boolField":true,"intField":373,"numField":426.0468580467056,"objField":{"DZzlRiON":-8181918749382687456,"IQBaxLP":-5872325411127741768,"Lgaweob":5067606760400354360,"SVpHSHTLuU":6123517877968399474,"aaZkC":4505978913940617891,"cuXnHju":8891664900738649018,"kFQK":6095056085705757791,"orfRFwGpN":-2480212840979752870,"rqCs":-6454524226802850675},"stringDateField":"1960-07-11","stringDateTimeField":"1973-05-02T05:44:19Z","stringField":"opgYscB","stringTimeField":"21:43:33.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":373,"numField":426.0468580467056,"stringDateField":"1960-07-11","stringDateTimeField":"1973-05-02T05:44:19Z","stringField":"opgYscB","stringTimeField":"21:43:33.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3152,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3152,"uuid":"9e0a89d0-5655-11ee-b801-675ed0f8e89b"},"arrayField":["jBwXSdbFfp"],"boolField":true,"intField":344,"numField":-364.97680429282354,"objField":{"NMTRIWjK":-5113905868534998345,"TBlHLl":-735877684134592937},"stringDateField":"1956-08-29","stringDateTimeField":"1993-05-05T22:22:26Z","stringField":"ZELjIaDek","stringTimeField":"05:39:00.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":344,"numField":-364.97680429282354,"stringDateField":"1956-08-29","stringDateTimeField":"1993-05-05T22:22:26Z","stringField":"ZELjIaDek","stringTimeField":"05:39:00.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3153,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3153,"uuid":"9e0a89d0-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["yLqwXBbc","QRgatKA","XGGPVvs","NcpCwIi","dueLqo","sIRa","lYyrKGOMJV","pxzOwnxG"],"boolField":false,"intField":-141,"numField":-637.1399924620338,"objField":{"IqQeFT":4068814961910060877,"TnlUTST":-1455624779186169433,"magQpyQit":-3317888126606273731,"muIjgMZ":8411727890662174710},"stringDateField":"1945-07-17","stringDateTimeField":"1903-12-24T01:35:29Z","stringField":"aiBGJrXs","stringTimeField":"16:42:39.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763728Z","intField":-141,"numField":-637.1399924620338,"stringDateField":"1945-07-17","stringDateTimeField":"1903-12-24T01:35:29Z","stringField":"aiBGJrXs","stringTimeField":"16:42:39.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3154,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3154,"uuid":"9e0a89d1-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ViPzGHcZir","oxwciz","zUJHZenGAc","XtafByxXRc","dRhQgwj","HwSVU","tsgfroZFuO","wGnXFhtEfQ"],"boolField":false,"intField":987,"numField":-225.05428228221092,"objField":{"IOVDru":-8008737620697018534,"Vszin":506416152190253012},"stringDateField":"1938-01-07","stringDateTimeField":"1990-03-09T11:55:17Z","stringField":"OCIdl","stringTimeField":"19:24:55.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":987,"numField":-225.05428228221092,"stringDateField":"1938-01-07","stringDateTimeField":"1990-03-09T11:55:17Z","stringField":"OCIdl","stringTimeField":"19:24:55.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3155,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3155,"uuid":"9e0a89d1-5655-11ee-8401-675ed0f8e89b"},"arrayField":["tRfwA","qaMmQkA","leqS","mYgamXgH","cFOkUqGLtX","YtShVI","ofmZstxgrh","AfdZIn","ZUkyTp"],"boolField":true,"intField":-29,"numField":-157.96278033302212,"objField":{"EQkNNHeL":7796222920331857129,"Harg":5617306364508509956,"JIgpyDhjBb":9043531227666351273,"QXNcaiR":1948468421456561947,"VoxeDXJ":-7781176340132789283,"hOBTmS":-453971648549324680,"liZuh":-6579702609404358094,"pktmrW":6820848995512240252},"stringDateField":"2005-10-25","stringDateTimeField":"1962-02-17T23:46:29Z","stringField":"fVeLDoBbat","stringTimeField":"09:13:15.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-29,"numField":-157.96278033302212,"stringDateField":"2005-10-25","stringDateTimeField":"1962-02-17T23:46:29Z","stringField":"fVeLDoBbat","stringTimeField":"09:13:15.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3156,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3156,"uuid":"9e0a89d1-5655-11ee-8801-675ed0f8e89b"},"arrayField":["snNoKEfuQJ","DnrmSPgY","BiezorbXY","tzrxqqAk","HoAGgQNHUV","dRTufxV","FffHxxoqMv","rQjLW"],"boolField":false,"intField":-858,"numField":711.77289205303,"objField":{"Ipmtiawitv":-5849784737886371193,"YYaMt":-6553697351041606857,"fRAAVu":-2436651517810978516,"tZeRORIbWU":-5228964313263177370},"stringDateField":"1914-12-01","stringDateTimeField":"2019-03-18T08:42:57Z","stringField":"MVpv","stringTimeField":"04:02:54.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-858,"numField":711.77289205303,"stringDateField":"1914-12-01","stringDateTimeField":"2019-03-18T08:42:57Z","stringField":"MVpv","stringTimeField":"04:02:54.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3157,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3157,"uuid":"9e0a89d1-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["AjtQ"],"boolField":false,"intField":348,"numField":212.52989338455075,"objField":{"OrpBH":7178277138502676468,"ZzBuWTMTr":-2160886095534948545,"fqEoJxZjJj":3238973115303921157,"keqSEGme":6813884463943240854,"mEtZsdmSX":-9222936203824745536,"wootP":-3936658260118408988},"stringDateField":"1923-04-13","stringDateTimeField":"1916-02-11T06:45:48Z","stringField":"pwno","stringTimeField":"10:22:54.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":348,"numField":212.52989338455075,"stringDateField":"1923-04-13","stringDateTimeField":"1916-02-11T06:45:48Z","stringField":"pwno","stringTimeField":"10:22:54.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3158,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3158,"uuid":"9e0a89d1-5655-11ee-9001-675ed0f8e89b"},"arrayField":["IRdSJDThhV","qeczIAm","eLEqui","xcgy"],"boolField":true,"intField":-118,"numField":-180.5763802660436,"objField":{"PMNHww":-1910426213600949630,"WTppeKVLtp":6469693423174539224,"ZjZht":-5424557747198551770,"gPnRaDHZS":7521109913699755291,"jplvroGM":1244002432391270069},"stringDateField":"1962-07-31","stringDateTimeField":"1931-03-24T23:07:53Z","stringField":"WJbBlZvZIx","stringTimeField":"08:26:33.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-118,"numField":-180.5763802660436,"stringDateField":"1962-07-31","stringDateTimeField":"1931-03-24T23:07:53Z","stringField":"WJbBlZvZIx","stringTimeField":"08:26:33.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3159,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3159,"uuid":"9e0a89d1-5655-11ee-9401-675ed0f8e89b"},"arrayField":["NZXHcNCkK","ZNASJek","bAyXnAL","OoBwsNsgxE","RBAv","GKoV","PZYhm","cryEtJhV","MafcdNvk"],"boolField":true,"intField":-235,"numField":-815.3731082911614,"objField":{"ulYxaOYQW":-3936467550960697670},"stringDateField":"1917-04-07","stringDateTimeField":"1953-07-21T13:55:21Z","stringField":"FppU","stringTimeField":"09:46:39.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-235,"numField":-815.3731082911614,"stringDateField":"1917-04-07","stringDateTimeField":"1953-07-21T13:55:21Z","stringField":"FppU","stringTimeField":"09:46:39.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3160,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3160,"uuid":"9e0a89d1-5655-11ee-9801-675ed0f8e89b"},"arrayField":["GDegsrdXTS","tYgi","XyFuyNBIz","PTXDp","jmblDDaju","fuEXvnqv","VhbtxqGclm","VjgH","Wfjh"],"boolField":false,"intField":-437,"numField":-683.3032979281595,"objField":{"PouCAeTK":-3079001626000735811,"TmGhgflko":-6972809354548123302,"XaeTRzqh":-8689413467622433680,"ZwyZi":-3908333681684792847,"aEHtfty":4137653029438498505,"gjTkdE":1616902661596667340,"sBILra":-714627797738261120,"vNXLupC":6266178915438279338,"vvjlSkAh":-2522502892899997229,"yQkgIsyF":-3693446008077272430},"stringDateField":"1973-07-13","stringDateTimeField":"2019-03-31T05:38:44Z","stringField":"scMqGY","stringTimeField":"10:03:02.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-437,"numField":-683.3032979281595,"stringDateField":"1973-07-13","stringDateTimeField":"2019-03-31T05:38:44Z","stringField":"scMqGY","stringTimeField":"10:03:02.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3161,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3161,"uuid":"9e0a89d1-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["amBVmsLO"],"boolField":false,"intField":-789,"numField":310.34473609466164,"objField":{"AYLmhfOe":-774456649031284526,"Hanwqmg":1448054372699494828,"LnkdSVJIBn":2676549002311633186,"jLFkULYkAf":3258522862472017363,"jjTmLgDDVd":6836168252426262576,"phnIMuTm":-4609599970248184116},"stringDateField":"1923-03-12","stringDateTimeField":"1962-06-18T17:30:18Z","stringField":"PZFXlrn","stringTimeField":"03:46:37.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-789,"numField":310.34473609466164,"stringDateField":"1923-03-12","stringDateTimeField":"1962-06-18T17:30:18Z","stringField":"PZFXlrn","stringTimeField":"03:46:37.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3162,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3162,"uuid":"9e0a89d1-5655-11ee-a001-675ed0f8e89b"},"arrayField":["lSYXGnKr","EAGsKpSbh","ZVcmdJCC","QDog","AAEAGe"],"boolField":true,"intField":-441,"numField":-628.7504230436505,"objField":{"PshchdGZ":1769371582185220329,"TPqfmsjEI":-3526683315591620215,"WhufmI":-3398675176885012991,"ZZsSbFfk":-144099123632021542,"dsunlQt":7327095945971007740,"rBgHJijBQ":6932733320514948458,"ygWAX":-3497907497789554268,"zgaqmHTCn":150181513868471397},"stringDateField":"1914-05-04","stringDateTimeField":"1940-10-13T15:36:19Z","stringField":"NOcHJFYk","stringTimeField":"23:27:13.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-441,"numField":-628.7504230436505,"stringDateField":"1914-05-04","stringDateTimeField":"1940-10-13T15:36:19Z","stringField":"NOcHJFYk","stringTimeField":"23:27:13.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3163,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3163,"uuid":"9e0a89d1-5655-11ee-a401-675ed0f8e89b"},"arrayField":["BxJSuDVv","NUTxNiGtBd","CfDbmyzRK","JpGHh","SJGZSAb","ipqIXa"],"boolField":true,"intField":-175,"numField":266.8676618578338,"objField":{"LouIEUkJ":4392670181779293868,"NoWYf":4695559579084678049},"stringDateField":"1943-02-22","stringDateTimeField":"1966-04-22T10:41:45Z","stringField":"OIQdrBfC","stringTimeField":"10:42:31.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-175,"numField":266.8676618578338,"stringDateField":"1943-02-22","stringDateTimeField":"1966-04-22T10:41:45Z","stringField":"OIQdrBfC","stringTimeField":"10:42:31.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3164,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3164,"uuid":"9e0a89d1-5655-11ee-a801-675ed0f8e89b"},"arrayField":["LuUaifNxZT","SgGV","sWutQRuu","YjneW","JmrxlBNwCX","fXcUHXwn","XoChd","SoGABwQw","xJzLcL"],"boolField":false,"intField":-78,"numField":645.6005361217532,"objField":{"AKAgUzN":5116477546652160789,"BYei":8200339599822412602,"EzhoFlCKLj":9028407804644645969,"MstYTr":5806610955471261393,"OtRckuEsFS":-5311627920080535188,"YQvYIbgpE":5832399781006789935,"lGbCJSfyl":-9025243558898590272,"wucDBzZv":6566767970320185154},"stringDateField":"1961-12-23","stringDateTimeField":"1964-12-12T16:33:04Z","stringField":"IXxqlqePGY","stringTimeField":"00:52:19.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-78,"numField":645.6005361217532,"stringDateField":"1961-12-23","stringDateTimeField":"1964-12-12T16:33:04Z","stringField":"IXxqlqePGY","stringTimeField":"00:52:19.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3165,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3165,"uuid":"9e0a89d1-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["UjKxzbjPaD","QZEb","NEcdoyeRR","fbaOy","nDQfwdQr","WhFrkiqU","KbOjj","aHkslC","WTwVXbO","qzLBXsYbN"],"boolField":true,"intField":207,"numField":-653.0724164374657,"objField":{"MTRZPTrIOz":3478575217928394901},"stringDateField":"1931-01-05","stringDateTimeField":"1953-03-27T19:43:45Z","stringField":"dQOzgTvruM","stringTimeField":"11:59:33.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":207,"numField":-653.0724164374657,"stringDateField":"1931-01-05","stringDateTimeField":"1953-03-27T19:43:45Z","stringField":"dQOzgTvruM","stringTimeField":"11:59:33.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3166,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3166,"uuid":"9e0a89d1-5655-11ee-b001-675ed0f8e89b"},"arrayField":["qwVjH"],"boolField":true,"intField":441,"numField":763.6756574316514,"objField":{"FOsdM":-2280749599213598706,"VCRr":-5322480012765199192,"gZDNAgnzpK":-4816511149314484282,"oIocuABUck":5200780287627571769,"vifsXYgwQ":-6066026397699764153},"stringDateField":"1955-01-13","stringDateTimeField":"2008-12-01T20:46:25Z","stringField":"TsoIW","stringTimeField":"12:38:30.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":441,"numField":763.6756574316514,"stringDateField":"1955-01-13","stringDateTimeField":"2008-12-01T20:46:25Z","stringField":"TsoIW","stringTimeField":"12:38:30.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3167,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3167,"uuid":"9e0a89d1-5655-11ee-b401-675ed0f8e89b"},"arrayField":["tKhTrK","mNroIO","wotzCicQn","VpVZwogvv","iZcMLEQmXs","pqaTUCP","AWhyKN","RervmjNX","wGDIzsf"],"boolField":false,"intField":-10,"numField":-117.87807457102096,"objField":{"FJZdUBjVN":-9177384847924885935,"NcUMKF":-9083396394812388810,"PSpBri":7527982023169621175,"VXLdE":-7526662142764500287,"YsjZNNQI":5130515038596283370,"cTCKI":-4222870811296114473,"lTMHHSIDR":7513257193721779084,"uCdXGFZPAJ":-1011294510948431594},"stringDateField":"2011-11-21","stringDateTimeField":"2016-06-10T03:20:25Z","stringField":"nJcjxc","stringTimeField":"23:07:11.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-10,"numField":-117.87807457102096,"stringDateField":"2011-11-21","stringDateTimeField":"2016-06-10T03:20:25Z","stringField":"nJcjxc","stringTimeField":"23:07:11.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3168,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3168,"uuid":"9e0a89d1-5655-11ee-b801-675ed0f8e89b"},"arrayField":["dUJK","NuLEtFa","IwgnUS","GcAQaaEnfP","BTQs","HzTTh","bbyo","mkfGMBeGtU","BrBQX"],"boolField":false,"intField":-803,"numField":258.38801527672973,"objField":{"DNep":-4710859313743880551,"MPZu":-4603261975906761861,"NlEBtTF":-8148305591387680291,"Raklkb":636410598819570723,"SMegaw":-7091837960829869217,"UPOenBT":-2183352271245101500,"ZhiguokehO":1501229063678119321,"aDLSHlsa":3652505175604970152,"sGAXkqFPFQ":406100123090477316,"wcLBbkcI":8333195486807678830},"stringDateField":"1981-06-24","stringDateTimeField":"1923-11-21T18:17:26Z","stringField":"WKtV","stringTimeField":"19:15:03.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-803,"numField":258.38801527672973,"stringDateField":"1981-06-24","stringDateTimeField":"1923-11-21T18:17:26Z","stringField":"WKtV","stringTimeField":"19:15:03.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3169,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3169,"uuid":"9e0a89d1-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ANFz","SBKXqSs","lUiyZvQSmy","feDhbKZtTa","KrJMtO"],"boolField":true,"intField":-95,"numField":-621.6623039209672,"objField":{"HdPgNm":-8690656051546919200,"YJUFCsJcq":3777790607516276303,"nFeW":702431633973762707,"yAXoSUOQO":7236685434758116999},"stringDateField":"1992-02-22","stringDateTimeField":"1971-12-07T22:04:11Z","stringField":"BOXdaYfsQ","stringTimeField":"14:50:19.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763729Z","intField":-95,"numField":-621.6623039209672,"stringDateField":"1992-02-22","stringDateTimeField":"1971-12-07T22:04:11Z","stringField":"BOXdaYfsQ","stringTimeField":"14:50:19.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3170,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3170,"uuid":"9e0a89d2-5655-11ee-8001-675ed0f8e89b"},"arrayField":["crBvBQLg","RUuBCf"],"boolField":true,"intField":-801,"numField":-89.60135773767719,"objField":{"SFYHsArpoD":7784039037771572169,"pbFaVI":-2596634916962365219,"sfuaIrQCRa":2806403045176510076,"wDKzTf":3622184852907546846,"zZJZAKUe":229578399054271131},"stringDateField":"1991-05-26","stringDateTimeField":"1981-04-17T23:42:58Z","stringField":"BZFnqCdy","stringTimeField":"07:22:55.17Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":-801,"numField":-89.60135773767719,"stringDateField":"1991-05-26","stringDateTimeField":"1981-04-17T23:42:58Z","stringField":"BZFnqCdy","stringTimeField":"07:22:55.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3171,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3171,"uuid":"9e0a89d2-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UfiRzB","rFGVvQM","GIYM"],"boolField":true,"intField":739,"numField":744.8280743888389,"objField":{"RlIrVy":2531200895893857743,"gyeHDs":1302336707564251928,"zqXYShQWiX":547780869183569466},"stringDateField":"2012-09-20","stringDateTimeField":"2016-05-09T00:40:23Z","stringField":"wWqr","stringTimeField":"01:23:26.30Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":739,"numField":744.8280743888389,"stringDateField":"2012-09-20","stringDateTimeField":"2016-05-09T00:40:23Z","stringField":"wWqr","stringTimeField":"01:23:26.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3172,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3172,"uuid":"9e0a89d2-5655-11ee-8801-675ed0f8e89b"},"arrayField":["WmwmKfvGw","TcpGTQkBbS","OevI","mVbjLan","kKorhAgaIW","ftQJmhqKJL","lxoTa"],"boolField":false,"intField":269,"numField":137.33699600513626,"objField":{"JKijMRzR":-5355951601190372775,"NDBWNq":344219874859418185,"WMExxELM":-2868966723871945089,"XGIQMeROo":-7576199440242297496,"YcsdTcHxVP":3392366657620966895,"aRaajgo":3678480034731955203},"stringDateField":"1950-05-02","stringDateTimeField":"1935-11-02T04:57:11Z","stringField":"zkEZpdlCie","stringTimeField":"22:50:14.47Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":269,"numField":137.33699600513626,"stringDateField":"1950-05-02","stringDateTimeField":"1935-11-02T04:57:11Z","stringField":"zkEZpdlCie","stringTimeField":"22:50:14.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3173,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3173,"uuid":"9e0a89d2-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["oSZyc"],"boolField":true,"intField":-211,"numField":914.050231304794,"objField":{"KRRqPU":735706141869506642,"RfeVkoSzlb":-1146788386503020912},"stringDateField":"1997-01-27","stringDateTimeField":"1978-12-15T01:03:25Z","stringField":"AmZmtfetJu","stringTimeField":"13:16:38.46Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":-211,"numField":914.050231304794,"stringDateField":"1997-01-27","stringDateTimeField":"1978-12-15T01:03:25Z","stringField":"AmZmtfetJu","stringTimeField":"13:16:38.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3174,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3174,"uuid":"9e0a89d2-5655-11ee-9001-675ed0f8e89b"},"arrayField":["XEbhVvWS"],"boolField":false,"intField":-510,"numField":717.4905542407173,"objField":{"WHHyaHnL":3650845559891749128,"jwOs":5806616772718527694,"pUKrfP":-1504283189398891694},"stringDateField":"1933-10-15","stringDateTimeField":"2001-01-28T19:44:35Z","stringField":"pTyhkP","stringTimeField":"17:48:03.18Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":-510,"numField":717.4905542407173,"stringDateField":"1933-10-15","stringDateTimeField":"2001-01-28T19:44:35Z","stringField":"pTyhkP","stringTimeField":"17:48:03.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3175,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3175,"uuid":"9e0a89d2-5655-11ee-9401-675ed0f8e89b"},"arrayField":["OWglmaOa","pcNbi","VbPPSZppT","qHbZIhsjX","JksA","ORnS","RfuPWrAuXj","XEEatjcYDy"],"boolField":true,"intField":-696,"numField":215.7499524702371,"objField":{"DKqxDJawy":-2138988778112605088,"SKRoGfGOh":445867545617360333,"cCzB":-5100289352268743189,"cJNcicq":9171612812981024241,"gNvet":4077970870459229726,"uYjpClQots":-4733421394272919736,"zSjjKMfLf":-4300657500174753175},"stringDateField":"1959-05-20","stringDateTimeField":"1940-04-08T08:54:34Z","stringField":"BaGuY","stringTimeField":"04:58:34.43Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":-696,"numField":215.7499524702371,"stringDateField":"1959-05-20","stringDateTimeField":"1940-04-08T08:54:34Z","stringField":"BaGuY","stringTimeField":"04:58:34.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3176,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3176,"uuid":"9e0a89d2-5655-11ee-9801-675ed0f8e89b"},"arrayField":["GKHbvIkBCj","SHGxDw","bWRi","ADGOne","fCVZ","nMqQxeuLqb","qfCZJnaMYw","BIVBKa","yqJZh","kkAs"],"boolField":true,"intField":313,"numField":969.6544179385116,"objField":{"CdeKrB":8566215836911033061,"IJWdeUsJhV":-3668292597313753788,"QeFenf":6897076832165088124,"SBfEyg":5712783202241314580,"ZcvJ":-1532956326026673529,"plAFdJXN":581745175123340483,"tGFIGvowC":7124197645509133029,"uTDa":-8448608846547816386},"stringDateField":"1906-05-26","stringDateTimeField":"1989-08-22T23:20:52Z","stringField":"DRwej","stringTimeField":"19:29:59.39Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":313,"numField":969.6544179385116,"stringDateField":"1906-05-26","stringDateTimeField":"1989-08-22T23:20:52Z","stringField":"DRwej","stringTimeField":"19:29:59.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3177,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3177,"uuid":"9e0a89d2-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["VtxxjrhbK","YsjbXxOf","sQZXHZHldO","IoiJaz","OzJieQs","IJrfZgHWOf","yENWjt","EWpl","fhbxe"],"boolField":false,"intField":888,"numField":928.9089504586676,"objField":{"RpSpbmGI":-6372996428892059319,"VAtqvc":1065221805071461667,"fxOaHuJTGo":3321656890940850058,"oToov":3653801654235467236},"stringDateField":"1900-02-13","stringDateTimeField":"1940-11-16T15:59:57Z","stringField":"LNLtuM","stringTimeField":"06:42:59.14Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":888,"numField":928.9089504586676,"stringDateField":"1900-02-13","stringDateTimeField":"1940-11-16T15:59:57Z","stringField":"LNLtuM","stringTimeField":"06:42:59.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3178,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3178,"uuid":"9e0a89d2-5655-11ee-a001-675ed0f8e89b"},"arrayField":["yJQLyCDiD","LaHv","eVEdeIDmpd","ZxVgq","sEBCebc","Hyfo","XmeUS","PObDRxxIMY","ARTe"],"boolField":false,"intField":-68,"numField":797.4877819323402,"objField":{"GyOMBrIpSF":-6209237606392188388,"LTXkrhznus":2385364748982672360,"RckiZ":2361199541548750493,"RnyTqo":5061760835317413926,"TDlhzcQaXg":2373287316525678760,"VIiRxtwo":-1654977894654063377,"nfwst":-4592890898931389420,"oPHkzuY":7299374629480593005,"sIlxdbXe":19043591176274203,"ytJbhXulH":-5791316616797637760},"stringDateField":"1901-11-08","stringDateTimeField":"1951-03-08T18:54:19Z","stringField":"nywplP","stringTimeField":"14:27:14.15Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":-68,"numField":797.4877819323402,"stringDateField":"1901-11-08","stringDateTimeField":"1951-03-08T18:54:19Z","stringField":"nywplP","stringTimeField":"14:27:14.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3179,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3179,"uuid":"9e0a89d2-5655-11ee-a401-675ed0f8e89b"},"arrayField":["rjuGIb","oJVRBqLBI","sSNr"],"boolField":true,"intField":-807,"numField":246.65087079804593,"objField":{"BtiW":-7433181801032714481,"UCFh":7348844913769915496,"bmqanhe":2979477838532688628,"uWLi":-3683739731421703952,"xngAPaUJ":-6980047097988952894},"stringDateField":"1996-06-13","stringDateTimeField":"1952-09-25T05:56:18Z","stringField":"oGaSX","stringTimeField":"16:15:57.27Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":-807,"numField":246.65087079804593,"stringDateField":"1996-06-13","stringDateTimeField":"1952-09-25T05:56:18Z","stringField":"oGaSX","stringTimeField":"16:15:57.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3180,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3180,"uuid":"9e0a89d2-5655-11ee-a801-675ed0f8e89b"},"arrayField":["Nfon","ayTtmPRjGP","csiq"],"boolField":true,"intField":-785,"numField":-455.81182477745296,"objField":{"KJAFhjc":1482926224267490776,"ilwailErzc":-2387646996584088950,"rZxqsIhzY":-6878661828406335466,"vUFTC":-1010768756524413249,"yvBdte":3404801333344766781},"stringDateField":"2020-11-27","stringDateTimeField":"1977-12-22T05:09:40Z","stringField":"TXUR","stringTimeField":"04:59:12.45Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":-785,"numField":-455.81182477745296,"stringDateField":"2020-11-27","stringDateTimeField":"1977-12-22T05:09:40Z","stringField":"TXUR","stringTimeField":"04:59:12.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3181,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3181,"uuid":"9e0a89d2-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["MsMiR","jbbxc","rwPmeJudRp","jAxD"],"boolField":false,"intField":-302,"numField":-125.9878887425998,"objField":{"BTRzsGNA":-9099463683946203556,"BxWlbPiwxG":6424364523751014769,"KuSN":-8356896938774798799,"ThUdtnb":5931442289758964725,"VkKcM":4184158906611316885,"XVgm":9173640294354798250,"cvSQivDtaX":-9079622230127176140,"yclerXUP":-3511677340368704094},"stringDateField":"1950-12-11","stringDateTimeField":"1974-02-19T17:02:31Z","stringField":"KkoiH","stringTimeField":"13:23:04.16Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":-302,"numField":-125.9878887425998,"stringDateField":"1950-12-11","stringDateTimeField":"1974-02-19T17:02:31Z","stringField":"KkoiH","stringTimeField":"13:23:04.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3182,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3182,"uuid":"9e0a89d2-5655-11ee-b001-675ed0f8e89b"},"arrayField":["PCwohvTDYZ","oqnCwuCru","cdfKK","uUKJGoh","DzZDHS","MzgwVIlA","FVwGTjF","ItHY"],"boolField":false,"intField":710,"numField":297.31423723868033,"objField":{"DedWpFx":4365908781589368665,"FPNgXdB":1223632843190008850,"FPVoC":-8334593398947953459,"RgoHVjS":4675399952534607856,"VYFTlFCrj":6944189068731123127,"esyexwP":-5388814451635448851,"pZNc":1868742816977829365},"stringDateField":"1977-03-09","stringDateTimeField":"1900-05-15T20:04:11Z","stringField":"ItaC","stringTimeField":"03:13:39.45Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":710,"numField":297.31423723868033,"stringDateField":"1977-03-09","stringDateTimeField":"1900-05-15T20:04:11Z","stringField":"ItaC","stringTimeField":"03:13:39.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3183,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3183,"uuid":"9e0a89d2-5655-11ee-b401-675ed0f8e89b"},"arrayField":["MQZk","eakU","cKSoKce","ZsUXRgX","LiafCSH","wuehxUMpRH","oEJevvUwrL","KfXpkl","HuKl"],"boolField":false,"intField":-734,"numField":-904.914560152888,"objField":{"UeKbuarRRZ":4797256996916854288,"uhRW":5425841095532680047},"stringDateField":"2023-06-28","stringDateTimeField":"1907-09-24T17:10:01Z","stringField":"MDPKuQlf","stringTimeField":"10:33:08.12Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":-734,"numField":-904.914560152888,"stringDateField":"2023-06-28","stringDateTimeField":"1907-09-24T17:10:01Z","stringField":"MDPKuQlf","stringTimeField":"10:33:08.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3184,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3184,"uuid":"9e0a89d2-5655-11ee-b801-675ed0f8e89b"},"arrayField":["Hjwkvu","BFYELNumWF","ePBSB","DoEsWBwL","BjNCVHdaaQ"],"boolField":false,"intField":-815,"numField":18.80041598599447,"objField":{"XAXGH":-6249158735297813363,"YaQcfJAst":8676556096101563671},"stringDateField":"1901-11-25","stringDateTimeField":"2009-06-06T02:32:01Z","stringField":"tMbsEqkA","stringTimeField":"01:16:24.32Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":-815,"numField":18.80041598599447,"stringDateField":"1901-11-25","stringDateTimeField":"2009-06-06T02:32:01Z","stringField":"tMbsEqkA","stringTimeField":"01:16:24.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3185,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3185,"uuid":"9e0a89d2-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["QpujdMatk","ikfJJ","USjxhhrOmS","pNhX","aNBHO","iWsmaxFst","MLjrm","ddNmMVg","KlvF"],"boolField":false,"intField":-541,"numField":-620.5174847054145,"objField":{"rNAg":-7400897721274042021},"stringDateField":"1951-10-30","stringDateTimeField":"1983-01-09T06:35:30Z","stringField":"QgWb","stringTimeField":"18:31:15.16Z"},"flow_published_at":"2023-09-18T19:00:21.876373Z","intField":-541,"numField":-620.5174847054145,"stringDateField":"1951-10-30","stringDateTimeField":"1983-01-09T06:35:30Z","stringField":"QgWb","stringTimeField":"18:31:15.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3186,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3186,"uuid":"9e0a89d3-5655-11ee-8001-675ed0f8e89b"},"arrayField":["lPqcvish","JCmHYjwZ","hwStTO","SHxt","NfMIXKLQ","EllWQdGh"],"boolField":true,"intField":431,"numField":-780.9285377022356,"objField":{"hhLNSBcmC":-6381546779611894762,"sPFPSzCdRU":-13866553012852260},"stringDateField":"1974-01-28","stringDateTimeField":"1967-05-06T01:28:39Z","stringField":"sKOrl","stringTimeField":"01:18:49.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":431,"numField":-780.9285377022356,"stringDateField":"1974-01-28","stringDateTimeField":"1967-05-06T01:28:39Z","stringField":"sKOrl","stringTimeField":"01:18:49.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3187,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3187,"uuid":"9e0a89d3-5655-11ee-8401-675ed0f8e89b"},"arrayField":["YMuGvgQJw","JpRZcAD","fsvXGArsuD","NTjAonwde","RASjpBLrAy"],"boolField":false,"intField":-318,"numField":-320.594730890745,"objField":{"Aufr":2661555566315260876,"LqmL":5666015542318062293,"PPYtr":5954215783017510735,"QJGgZ":-2467280326019435497,"SysDZbmUPV":-8169048916063894050,"aJqSRk":1554812703389373447,"gGgAXW":2889510670837992716,"sbidM":2421832636607655665,"yhJrAulJ":-1944023537262299235,"zqcQTe":6025458193491144579},"stringDateField":"1919-03-03","stringDateTimeField":"1914-11-15T18:54:46Z","stringField":"hkEAuTt","stringTimeField":"14:39:55.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-318,"numField":-320.594730890745,"stringDateField":"1919-03-03","stringDateTimeField":"1914-11-15T18:54:46Z","stringField":"hkEAuTt","stringTimeField":"14:39:55.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3188,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3188,"uuid":"9e0a89d3-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bgkfdwgYQ","vsBRbEy","PBIOMzI","OUeCCD","oDqAxuMhnX","FJRwoKbc","aQMaBV","jOjR","aPlEbei","ZxcfZ"],"boolField":false,"intField":244,"numField":-610.1684224567574,"objField":{"CLNIaYHWcx":2585469754663118879,"CcKnSnbkbN":-8407359081868213135,"PooQeZkH":-4539928757118813579,"TpealiXPzP":-7070212884243839214,"XEBAVhNEk":-8686060306793402386,"XlmYAgZsmR":8345993159607683832,"amKjJ":-8998249938031945532,"rjVo":-7816509140633544374,"vXgYPaW":7229169648289749994,"yxlvd":1465861609762748093},"stringDateField":"1904-09-05","stringDateTimeField":"1999-01-26T01:52:57Z","stringField":"VSqm","stringTimeField":"23:08:28.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":244,"numField":-610.1684224567574,"stringDateField":"1904-09-05","stringDateTimeField":"1999-01-26T01:52:57Z","stringField":"VSqm","stringTimeField":"23:08:28.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3189,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3189,"uuid":"9e0a89d3-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["OnqnN","wRwOAJQ","oxbmV"],"boolField":true,"intField":522,"numField":626.1079582164084,"objField":{"PiLtLRa":-6387049935269658871,"YQFTBQdbHH":-2789941628941986460},"stringDateField":"2002-03-22","stringDateTimeField":"1910-04-05T08:21:47Z","stringField":"bzGELLF","stringTimeField":"17:35:22.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":522,"numField":626.1079582164084,"stringDateField":"2002-03-22","stringDateTimeField":"1910-04-05T08:21:47Z","stringField":"bzGELLF","stringTimeField":"17:35:22.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3190,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3190,"uuid":"9e0a89d3-5655-11ee-9001-675ed0f8e89b"},"arrayField":["OTaTmRW","MqYKUnQQVN","Mzkk","jnAkZmkW","MUAegudsyI","tjYNxyfnyu","vTieCo","TaMKvC","cBeUSilD"],"boolField":true,"intField":-93,"numField":-589.4397161237189,"objField":{"ZRQdf":-753846542272693417,"jBRDTsbNt":6455652815867122519},"stringDateField":"2012-01-26","stringDateTimeField":"2003-07-11T18:03:55Z","stringField":"lPvggx","stringTimeField":"20:34:58.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-93,"numField":-589.4397161237189,"stringDateField":"2012-01-26","stringDateTimeField":"2003-07-11T18:03:55Z","stringField":"lPvggx","stringTimeField":"20:34:58.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3191,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3191,"uuid":"9e0a89d3-5655-11ee-9401-675ed0f8e89b"},"arrayField":["DQhANVnUu","gCOWrG","SbFmJjlF","MbGDmVBD","ctYMlDPzJx","JisTX","HbEq","cmaQYI","yVKXaoxOc","FxYcpzEnqO"],"boolField":false,"intField":-823,"numField":-510.50380353101474,"objField":{"aVnUyoZgpq":-876090126621895291,"vWpSpjnm":-1131181376551686078},"stringDateField":"2021-09-09","stringDateTimeField":"2022-03-21T05:28:01Z","stringField":"rlkuB","stringTimeField":"08:19:45.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-823,"numField":-510.50380353101474,"stringDateField":"2021-09-09","stringDateTimeField":"2022-03-21T05:28:01Z","stringField":"rlkuB","stringTimeField":"08:19:45.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3192,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3192,"uuid":"9e0a89d3-5655-11ee-9801-675ed0f8e89b"},"arrayField":["VpPZrOt","MzvWKTR","lcyRBZUCaA","oPtpCDtYkh","vAaXR","YAXLiGh"],"boolField":false,"intField":-868,"numField":768.1835298106827,"objField":{"AxAWXrt":7371318514162527078,"FOEV":-1505196514129425682,"IxxDzsPvI":6510891635350619467,"OMUMdiSJQI":6831752526638417494,"RxGPo":2167410049092919907,"bfuwcxpSw":-1657725101321351289,"mwMRU":-8875970564810985499},"stringDateField":"1905-07-20","stringDateTimeField":"1942-05-22T07:17:43Z","stringField":"kUZEU","stringTimeField":"04:22:38.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-868,"numField":768.1835298106827,"stringDateField":"1905-07-20","stringDateTimeField":"1942-05-22T07:17:43Z","stringField":"kUZEU","stringTimeField":"04:22:38.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3193,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3193,"uuid":"9e0a89d3-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["HRZeeAhAf","BYPKbafKh","aZCAoUYYDR","ZvOVCin","GaTh","kLtdZUn","RRCsvmmHKC","TEyIasxiBc","LhmnrYQjc"],"boolField":false,"intField":-989,"numField":-786.8571366586979,"objField":{"DjrP":4602908160942004888,"HOVon":-511222630062255725,"IYZHNNz":-8460126857267846602,"MJXskWztd":5679264923712292178,"PhTncNTiHr":-7317563306588263020,"XVMgPEYA":-3487765971808914940,"YJXUCi":-6241692000613716451,"ZiePRtM":-2756398500226294930,"kmUGXFXNo":6384655814978251161,"zOPy":5932249069153454907},"stringDateField":"1982-08-11","stringDateTimeField":"1922-10-09T22:01:16Z","stringField":"TLNmS","stringTimeField":"20:22:59.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-989,"numField":-786.8571366586979,"stringDateField":"1982-08-11","stringDateTimeField":"1922-10-09T22:01:16Z","stringField":"TLNmS","stringTimeField":"20:22:59.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3194,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3194,"uuid":"9e0a89d3-5655-11ee-a001-675ed0f8e89b"},"arrayField":["mNlZsy","zpKmW","aTsorF","TXfIEDazXS"],"boolField":false,"intField":686,"numField":-442.53480289964176,"objField":{"HyDyqypGRw":-3463319455502977539,"JCxai":2492135038041227783,"SVLHR":-5382949278285336083,"XMlljKErH":3284424071224470098,"iCHSIfJ":8781262357584808769,"itVlI":724922488300210422,"tshNOboD":-8981846553463843123,"wkvbhvFHJG":1788948693066614838,"zgosl":1093872731947883578},"stringDateField":"2002-02-21","stringDateTimeField":"1983-04-25T03:06:17Z","stringField":"jMptfRxC","stringTimeField":"17:42:01.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":686,"numField":-442.53480289964176,"stringDateField":"2002-02-21","stringDateTimeField":"1983-04-25T03:06:17Z","stringField":"jMptfRxC","stringTimeField":"17:42:01.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3195,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3195,"uuid":"9e0a89d3-5655-11ee-a401-675ed0f8e89b"},"arrayField":["nuxxWIQcx","BDUTTgnCR","OQVXyc","ipjm"],"boolField":false,"intField":-408,"numField":-331.7783945039724,"objField":{"FgKBHKNp":2486037972633800987,"LAfzUPhnN":6953967538118832602,"UEOJXSHKv":-4925307221444145705,"WqjbJ":-8942211655206602836,"blkfJ":-811338180108948224,"jkDudaqIw":-542943406512898659,"mvkUf":-2405126968813138774,"xsegfzDF":-5080920447959010071},"stringDateField":"1973-07-18","stringDateTimeField":"1925-01-22T18:15:02Z","stringField":"rSNpTJPd","stringTimeField":"19:34:35.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-408,"numField":-331.7783945039724,"stringDateField":"1973-07-18","stringDateTimeField":"1925-01-22T18:15:02Z","stringField":"rSNpTJPd","stringTimeField":"19:34:35.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3196,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3196,"uuid":"9e0a89d3-5655-11ee-a801-675ed0f8e89b"},"arrayField":["aVkdLuL","uXESJF","gRDA"],"boolField":true,"intField":-993,"numField":674.8791742060873,"objField":{"JfDoWHrQBh":-8549655627942629459,"kRmpUncny":-4734095108593525825},"stringDateField":"1915-01-18","stringDateTimeField":"1954-02-26T14:33:32Z","stringField":"cCiK","stringTimeField":"07:01:05.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-993,"numField":674.8791742060873,"stringDateField":"1915-01-18","stringDateTimeField":"1954-02-26T14:33:32Z","stringField":"cCiK","stringTimeField":"07:01:05.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3197,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3197,"uuid":"9e0a89d3-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["gyGkHBFw","ChUqhSS","oMUIHCTNvQ","ONSH","iWToxfXZ","PCGmANKhri","drKruGu","lQPBsjuhrD"],"boolField":true,"intField":-886,"numField":-983.6929189062532,"objField":{"FiUBDRCyJ":6079613533444944107,"OOSSIbVpk":-3448978254198588508,"QEyQOdXH":9203288386075463350,"cUnfTO":-3478329759902174280,"gQiMQm":-7952097827581076144,"mcdwUEJ":-2394474822950517369,"rrfOoPi":3436140359950254417,"sIrn":2946615513126156429,"zYsVj":-2085030568289084100,"znLQYu":-1889063690477912839},"stringDateField":"1923-10-03","stringDateTimeField":"1917-06-27T11:38:37Z","stringField":"xLxzrZwjVG","stringTimeField":"13:58:09.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-886,"numField":-983.6929189062532,"stringDateField":"1923-10-03","stringDateTimeField":"1917-06-27T11:38:37Z","stringField":"xLxzrZwjVG","stringTimeField":"13:58:09.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3198,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3198,"uuid":"9e0a89d3-5655-11ee-b001-675ed0f8e89b"},"arrayField":["wsHP","giuDlSYRr","HmVgjQXM","OeYcx","VVHZ","JxzKNifGs","siZrwEdy"],"boolField":true,"intField":-17,"numField":926.1274101904288,"objField":{"CrapebyIY":-3468923716598482278,"FbtvPWcU":8886778992946914831,"SpeVzOxaBi":5964811455532411305,"VAQXvZNCT":1428930743418267368,"aQlwI":-6950968544849646583,"bQugeQey":-2034767209511640521,"gaylZGjBjP":-376078848368175888,"qQAQq":819491958443109135},"stringDateField":"1908-08-13","stringDateTimeField":"1934-01-13T08:19:53Z","stringField":"DvEhsYLRR","stringTimeField":"15:06:39.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-17,"numField":926.1274101904288,"stringDateField":"1908-08-13","stringDateTimeField":"1934-01-13T08:19:53Z","stringField":"DvEhsYLRR","stringTimeField":"15:06:39.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3199,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3199,"uuid":"9e0a89d3-5655-11ee-b401-675ed0f8e89b"},"arrayField":["nXcyfNxgia","pDuN","KDZWCYhLE","SJoBWD","RqyUGrU","jmYyE","OUfaLa","jJJFbFSfM","NpqSFCnydd","KqZCnxTHU"],"boolField":false,"intField":-20,"numField":-944.4307566821274,"objField":{"IwyUYeZ":3663742656923316396,"QEoDppeiSp":5904344823231449550,"kRtrLF":126549779846030667},"stringDateField":"1901-05-01","stringDateTimeField":"2006-08-16T16:59:49Z","stringField":"qVseM","stringTimeField":"07:46:53.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-20,"numField":-944.4307566821274,"stringDateField":"1901-05-01","stringDateTimeField":"2006-08-16T16:59:49Z","stringField":"qVseM","stringTimeField":"07:46:53.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3200,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3200,"uuid":"9e0a89d3-5655-11ee-b801-675ed0f8e89b"},"arrayField":["nhvvQPiwr","sYNpV","KYAmWhgNsZ","wZDpBUeA","NNHawT"],"boolField":true,"intField":-997,"numField":801.504735065623,"objField":{"MYeqp":4059277721259820368},"stringDateField":"1928-08-10","stringDateTimeField":"1933-07-22T05:07:22Z","stringField":"kxXd","stringTimeField":"04:56:19.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-997,"numField":801.504735065623,"stringDateField":"1928-08-10","stringDateTimeField":"1933-07-22T05:07:22Z","stringField":"kxXd","stringTimeField":"04:56:19.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3201,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3201,"uuid":"9e0a89d3-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["XeATU","tCroVlvk","UUtLnpZ","mJBPXJTDHN","MMZtxTjjYb","uHwWQZS","yzuCKFp"],"boolField":true,"intField":-465,"numField":161.51582133227404,"objField":{"lcmUvbPrkl":-4764812722065366704},"stringDateField":"1908-07-17","stringDateTimeField":"1934-03-27T17:36:45Z","stringField":"RLBVe","stringTimeField":"22:49:20.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763731Z","intField":-465,"numField":161.51582133227404,"stringDateField":"1908-07-17","stringDateTimeField":"1934-03-27T17:36:45Z","stringField":"RLBVe","stringTimeField":"22:49:20.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3202,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3202,"uuid":"9e0a89d4-5655-11ee-8001-675ed0f8e89b"},"arrayField":["dNGGOW","ZIqOnsow","ClRLAEk","FkVHObMq","TLLKEkm","CqEPIpNmk"],"boolField":false,"intField":896,"numField":869.4750209732505,"objField":{"CalE":9167631712244749754,"DfNXkDIsvW":-2080824568214921357,"HmavI":-4770033263736793670,"IhQoHX":-2370632449308682218,"USgTs":-969811704008771466,"dstlJygyV":6669950996111560300,"eVNwuSUTP":-1865517169774851964,"nNVAQCFfc":-9123649820062544716},"stringDateField":"1990-09-19","stringDateTimeField":"1984-03-17T14:33:40Z","stringField":"fZcR","stringTimeField":"13:48:14.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":896,"numField":869.4750209732505,"stringDateField":"1990-09-19","stringDateTimeField":"1984-03-17T14:33:40Z","stringField":"fZcR","stringTimeField":"13:48:14.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3203,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3203,"uuid":"9e0a89d4-5655-11ee-8401-675ed0f8e89b"},"arrayField":["NhpSUqQ","KvbfomYn"],"boolField":true,"intField":356,"numField":375.7952799177844,"objField":{"FEPA":-3450560703217106806,"FtgCewbF":8928352605888706241,"FvmDUIbnL":6295759991959697156,"GwsyjkqeIe":4444217225136641416,"MVEbwqYSX":2278156867092541468,"UXGR":3769929818686141884,"jcmYOAc":4915329014057362404,"kxbFKO":5261733289202385361,"rlRY":-7972975202564547094,"whDS":-3031752190561818746},"stringDateField":"1916-12-22","stringDateTimeField":"1928-11-20T19:05:07Z","stringField":"IidV","stringTimeField":"05:20:55.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":356,"numField":375.7952799177844,"stringDateField":"1916-12-22","stringDateTimeField":"1928-11-20T19:05:07Z","stringField":"IidV","stringTimeField":"05:20:55.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3204,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3204,"uuid":"9e0a89d4-5655-11ee-8801-675ed0f8e89b"},"arrayField":["fKZYYi","eOSkbB","UPQAY","fTHkYQVI","kJFc"],"boolField":false,"intField":-678,"numField":558.6138238865583,"objField":{"GrumqFE":-6844993080025022273,"RiXzEpyl":-3877604707661192457,"ZVWJDPJ":-7026763598867361039,"qRvBVS":-233124565726603489,"tsUsohmU":-8107776959194368457,"uhjuaTrO":-980984817558451626},"stringDateField":"1999-10-17","stringDateTimeField":"1908-10-10T19:02:35Z","stringField":"HaXxKJPCFB","stringTimeField":"16:05:43.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":-678,"numField":558.6138238865583,"stringDateField":"1999-10-17","stringDateTimeField":"1908-10-10T19:02:35Z","stringField":"HaXxKJPCFB","stringTimeField":"16:05:43.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3205,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3205,"uuid":"9e0a89d4-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["uhCMhEtIk","RChfLrii","Issu","bNmPgyGf","jQrII"],"boolField":true,"intField":-515,"numField":606.7391298713108,"objField":{"IghQcXpvZU":7803523041922581129,"PGNbpjnZTu":-2278690588238523977,"VWHtaXwTrX":-110097527640336554,"WIhnuqtb":-7233662488892429762,"dhZF":4998334808775482231,"eakf":68539766851021787,"tPzixB":563671629529807682,"xxYjzmZBJ":-2947586542433635603},"stringDateField":"1962-06-27","stringDateTimeField":"1924-06-07T14:59:13Z","stringField":"hKahDZ","stringTimeField":"23:24:51.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":-515,"numField":606.7391298713108,"stringDateField":"1962-06-27","stringDateTimeField":"1924-06-07T14:59:13Z","stringField":"hKahDZ","stringTimeField":"23:24:51.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3206,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3206,"uuid":"9e0a89d4-5655-11ee-9001-675ed0f8e89b"},"arrayField":["wujUedVSH","PlhSYd","mxqwyu","HOoyk","GwBPhfYG","LKGjfns","nKdrJP","IWXhlMhX","rLTmTS"],"boolField":false,"intField":-926,"numField":-257.10545525243776,"objField":{"HjTu":-3523888517468365488,"JEUwbxv":-5740319059370143173,"OYAZMrVN":8173000443721551507,"RGdIRdWXk":3362051332497450988,"bxyLkm":-6457733975817008641,"ghyXqv":6459248969258782901,"hKCl":-3670565886710525029,"nWXneV":4564575584839135437,"rsNVhfI":-7979914428033204850},"stringDateField":"1926-06-03","stringDateTimeField":"1931-10-21T15:39:43Z","stringField":"rIHg","stringTimeField":"12:39:47.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":-926,"numField":-257.10545525243776,"stringDateField":"1926-06-03","stringDateTimeField":"1931-10-21T15:39:43Z","stringField":"rIHg","stringTimeField":"12:39:47.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3207,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3207,"uuid":"9e0a89d4-5655-11ee-9401-675ed0f8e89b"},"arrayField":["pgYMIb","NtstUTEEK","BBIOsLz","xbTUiMUvX","IlhIqne","YRxmfFEdM","GLlKS"],"boolField":true,"intField":469,"numField":7.116508598461468,"objField":{"XXDXmDqY":4377297282867119992,"ZKHOuJJ":3243503211075972037,"bYPHP":261936897684214954,"hRWCICOZYp":-2164464805569470449,"kvHJ":5501402751893769629,"qvDoN":-6882142778593584988},"stringDateField":"1900-01-11","stringDateTimeField":"1962-11-28T00:48:06Z","stringField":"VjrlMIY","stringTimeField":"10:42:51.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":469,"numField":7.116508598461468,"stringDateField":"1900-01-11","stringDateTimeField":"1962-11-28T00:48:06Z","stringField":"VjrlMIY","stringTimeField":"10:42:51.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3208,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3208,"uuid":"9e0a89d4-5655-11ee-9801-675ed0f8e89b"},"arrayField":["AIpBaW","muJOagz","hjqdYNabH"],"boolField":false,"intField":-158,"numField":294.00339965049073,"objField":{"FFBNhRmFKV":8608943414612112945,"FdGGkycJ":8213356201572811131,"IrBOhQod":-6977268397253729793,"XejG":-668624515561426607,"ZVPWBHltI":5538314472319312742,"lrwht":-3599030980970338000,"sinzApaK":-1304345329975430810},"stringDateField":"1954-02-15","stringDateTimeField":"1947-02-06T12:41:59Z","stringField":"mfyGPN","stringTimeField":"11:14:33.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":-158,"numField":294.00339965049073,"stringDateField":"1954-02-15","stringDateTimeField":"1947-02-06T12:41:59Z","stringField":"mfyGPN","stringTimeField":"11:14:33.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3209,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3209,"uuid":"9e0a89d4-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["cQqqVfcpd","PWOs","sEpydFYx","wOtPYGWUA"],"boolField":true,"intField":-217,"numField":-908.2654958292488,"objField":{"GLituxBPx":1301881969170342292,"IEdFzBGUxb":3030980777708831265,"XvnbqdlBdK":385232058757463553,"bRNJJX":-171587287198776162,"fnubUYUj":-5605217450983057923,"jJNX":5673005164257643459,"ksAS":-2313097575496148732,"lxsKEh":-7313194553084340434,"sPKdUGYxB":-4995856498954888806},"stringDateField":"2017-04-24","stringDateTimeField":"1925-09-20T01:51:33Z","stringField":"eFcfrAdLgP","stringTimeField":"13:42:16.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":-217,"numField":-908.2654958292488,"stringDateField":"2017-04-24","stringDateTimeField":"1925-09-20T01:51:33Z","stringField":"eFcfrAdLgP","stringTimeField":"13:42:16.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3210,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3210,"uuid":"9e0a89d4-5655-11ee-a001-675ed0f8e89b"},"arrayField":["mdRCD","bFfeyotuvI","rSuQKog","TsAwddUyDX","lQpZcCBYrV","iGkyfRm","ELjSd"],"boolField":false,"intField":90,"numField":8.002532395840145,"objField":{"BBFPCgjS":2180914242634441904,"EGUQmn":-5829213851838868464,"IRCZ":2897057274560184617,"VYgQ":7819604645673854350,"duhihrsjdA":-7264004051519641661,"seMgQ":9021874824174935643,"wGsvZgdnF":-2923402103879018809,"xqQqQej":-6217173636066853694},"stringDateField":"2001-04-27","stringDateTimeField":"1983-04-20T05:05:22Z","stringField":"sbMOvydrBa","stringTimeField":"18:44:27.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":90,"numField":8.002532395840145,"stringDateField":"2001-04-27","stringDateTimeField":"1983-04-20T05:05:22Z","stringField":"sbMOvydrBa","stringTimeField":"18:44:27.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3211,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3211,"uuid":"9e0a89d4-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ZGTdenfmiJ","ZreugsgS","FeMsk","YOiCgMcG","RcCFuRYYnR","YlJGQTKVmn","cnYuYKS","zHVs"],"boolField":true,"intField":797,"numField":805.7635762219253,"objField":{"NWrOJHVn":2052823266179156603,"XwAT":9041379612797010608,"nvSZuAqNJ":729399484902494904,"qwETfL":-2385070488573436889},"stringDateField":"1953-05-11","stringDateTimeField":"2002-07-07T08:07:42Z","stringField":"RXHWPar","stringTimeField":"03:39:05.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":797,"numField":805.7635762219253,"stringDateField":"1953-05-11","stringDateTimeField":"2002-07-07T08:07:42Z","stringField":"RXHWPar","stringTimeField":"03:39:05.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3212,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3212,"uuid":"9e0a89d4-5655-11ee-a801-675ed0f8e89b"},"arrayField":["dpZwCTVpi","jivaKK","uUXnWlcnrV","yMcOCHL","IcAxUjPf"],"boolField":false,"intField":44,"numField":920.1280890711114,"objField":{"LcpzPIcb":-6868548986658308985,"WGlBI":5710777815346589460,"YGzHb":-1801060235754739878,"gOjD":-456173780795539232,"xrAF":2881150920263040010},"stringDateField":"2015-01-13","stringDateTimeField":"1943-12-23T17:27:22Z","stringField":"xVMafBnnPg","stringTimeField":"22:16:52.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":44,"numField":920.1280890711114,"stringDateField":"2015-01-13","stringDateTimeField":"1943-12-23T17:27:22Z","stringField":"xVMafBnnPg","stringTimeField":"22:16:52.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3213,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3213,"uuid":"9e0a89d4-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ZFdD","qselJxaZHs","SrjtzggPbr","RbjQ","NyMsYuhp","gikMZjggt","BsaRdjdzc"],"boolField":false,"intField":35,"numField":100.3385036336264,"objField":{"AjVHSlR":6910373726959454484,"IPqYK":3677705646967276851,"cmLBylSRDf":6802403489092134245,"dSdHvpLCxr":1082260050373984939,"otXToaGZ":-5200179255420641235,"qIAlD":-3691960575525084010,"zWVRiHTX":-444697350762939075},"stringDateField":"1933-07-20","stringDateTimeField":"1940-11-15T01:20:37Z","stringField":"zXMAfp","stringTimeField":"02:19:46.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":35,"numField":100.3385036336264,"stringDateField":"1933-07-20","stringDateTimeField":"1940-11-15T01:20:37Z","stringField":"zXMAfp","stringTimeField":"02:19:46.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3214,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3214,"uuid":"9e0a89d4-5655-11ee-b001-675ed0f8e89b"},"arrayField":["dNRFdmIN","pMcliMA","HqHzoTclll","ugTgGcdAL","raOBKn","ihbeegCfb","EoCAUVF","jytoW","wnHmY"],"boolField":true,"intField":192,"numField":127.03935723212687,"objField":{"EWSERGog":-2978635117487326856},"stringDateField":"2021-01-12","stringDateTimeField":"1990-10-19T03:00:20Z","stringField":"THdwSUZ","stringTimeField":"15:54:26.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":192,"numField":127.03935723212687,"stringDateField":"2021-01-12","stringDateTimeField":"1990-10-19T03:00:20Z","stringField":"THdwSUZ","stringTimeField":"15:54:26.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3215,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3215,"uuid":"9e0a89d4-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ioeWv","ZzSEhH"],"boolField":false,"intField":394,"numField":-498.227437582226,"objField":{"JYUlWJT":-7989602145259914316},"stringDateField":"1930-09-09","stringDateTimeField":"1992-01-12T14:32:24Z","stringField":"UWsZEepssK","stringTimeField":"01:42:02.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":394,"numField":-498.227437582226,"stringDateField":"1930-09-09","stringDateTimeField":"1992-01-12T14:32:24Z","stringField":"UWsZEepssK","stringTimeField":"01:42:02.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3216,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3216,"uuid":"9e0a89d4-5655-11ee-b801-675ed0f8e89b"},"arrayField":["sFIMWiWsM","yDNGiSS","mqPaz","SWxnCX"],"boolField":false,"intField":702,"numField":-952.4701432031808,"objField":{"DbFNKIP":7527597878121270580,"UsOfc":4266812183535625551,"bIdUo":8156337337942213234,"jZMMzPooP":-2938081187554178394},"stringDateField":"1928-06-27","stringDateTimeField":"1920-08-18T01:04:27Z","stringField":"uvxIZGist","stringTimeField":"02:39:27.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":702,"numField":-952.4701432031808,"stringDateField":"1928-06-27","stringDateTimeField":"1920-08-18T01:04:27Z","stringField":"uvxIZGist","stringTimeField":"02:39:27.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3217,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3217,"uuid":"9e0a89d4-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["LnobCA","JPPtsh","uQHHcWOw","IWOSKnY","brvJpTGuS","uaZQy"],"boolField":false,"intField":586,"numField":-620.3080150840136,"objField":{"AMZLO":3594016693541251785,"AqlyoP":6858558863483181731,"DYEudXGmTm":-6944869182952431132,"HCeY":3038402478254011435,"MlyKh":2265520413156904764,"Rnat":-2951689446949248326,"fLmSCVRu":481594715211247726,"sEvJb":8453148479366480745,"tXoAis":-3340042263672186692,"wNFY":-3049473697319658438},"stringDateField":"1963-05-19","stringDateTimeField":"1989-04-19T16:07:01Z","stringField":"RoqSFsX","stringTimeField":"12:24:15.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763732Z","intField":586,"numField":-620.3080150840136,"stringDateField":"1963-05-19","stringDateTimeField":"1989-04-19T16:07:01Z","stringField":"RoqSFsX","stringTimeField":"12:24:15.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3218,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3218,"uuid":"9e0a89d5-5655-11ee-8001-675ed0f8e89b"},"arrayField":["abVx","UIeb","bRlXr","EwlrRIcVJJ"],"boolField":true,"intField":-241,"numField":274.71138704055267,"objField":{"BJWyV":2031800322953936639,"LuTkcfZ":-2913158558481581442,"SYcDRWiGS":-3288964784807997546,"ifMQUZ":8357019092780635847,"khYGQXd":-1623215630057738142,"rurdeCelZL":-6098826902498087454,"xfvABYJ":-6591103964038641940},"stringDateField":"1900-01-26","stringDateTimeField":"1973-01-21T09:42:48Z","stringField":"sZKb","stringTimeField":"01:13:19.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-241,"numField":274.71138704055267,"stringDateField":"1900-01-26","stringDateTimeField":"1973-01-21T09:42:48Z","stringField":"sZKb","stringTimeField":"01:13:19.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3219,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3219,"uuid":"9e0a89d5-5655-11ee-8401-675ed0f8e89b"},"arrayField":["fncq","vWILWEOHWz","IFzt","thLaIwcv"],"boolField":true,"intField":140,"numField":-566.0985631838354,"objField":{"GxvjVq":-787559976082204800},"stringDateField":"1923-06-08","stringDateTimeField":"1941-03-20T23:56:37Z","stringField":"apeE","stringTimeField":"22:48:05.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":140,"numField":-566.0985631838354,"stringDateField":"1923-06-08","stringDateTimeField":"1941-03-20T23:56:37Z","stringField":"apeE","stringTimeField":"22:48:05.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3220,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3220,"uuid":"9e0a89d5-5655-11ee-8801-675ed0f8e89b"},"arrayField":["YztoUe","gmpm","ZgHc","LRvkaIm","PHjzVdQ","MkwHVb"],"boolField":true,"intField":-896,"numField":-770.7200412463822,"objField":{"JamsZAkDU":8619951123055514730,"LeCDlyjV":-6700184017590433878,"NHdYhCmBL":-5989112903303155144,"SINyN":7786200410222136013,"jqBOGPtL":-6311422094341964454,"pXveblqwUJ":4196948638965992933,"phpvDf":-3832953109152793380,"rSLbb":4333632855257674883},"stringDateField":"1951-02-05","stringDateTimeField":"1975-05-31T07:59:36Z","stringField":"nEadKrH","stringTimeField":"10:15:20.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-896,"numField":-770.7200412463822,"stringDateField":"1951-02-05","stringDateTimeField":"1975-05-31T07:59:36Z","stringField":"nEadKrH","stringTimeField":"10:15:20.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3221,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3221,"uuid":"9e0a89d5-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["DSjxFr"],"boolField":false,"intField":-797,"numField":759.2746781230388,"objField":{"lTISXNbAJr":1744213023468713233,"sHAymjcxT":-7490846161902535279,"xJTBvR":8386609690042608273},"stringDateField":"1963-05-11","stringDateTimeField":"1954-05-01T09:19:16Z","stringField":"iJvXj","stringTimeField":"04:25:28.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-797,"numField":759.2746781230388,"stringDateField":"1963-05-11","stringDateTimeField":"1954-05-01T09:19:16Z","stringField":"iJvXj","stringTimeField":"04:25:28.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3222,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3222,"uuid":"9e0a89d5-5655-11ee-9001-675ed0f8e89b"},"arrayField":["xMkeKZjpFY","NKxiJG","KlVTSYPcnu","AUdGNhVKUn"],"boolField":true,"intField":-54,"numField":-693.3044966352471,"objField":{"Bdxq":2862536139730617635,"YUYHZoLW":3472632241516976207,"ZkGpx":2157230958283080994},"stringDateField":"1994-01-27","stringDateTimeField":"1955-03-28T12:27:25Z","stringField":"tuTGa","stringTimeField":"13:53:16.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-54,"numField":-693.3044966352471,"stringDateField":"1994-01-27","stringDateTimeField":"1955-03-28T12:27:25Z","stringField":"tuTGa","stringTimeField":"13:53:16.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3223,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3223,"uuid":"9e0a89d5-5655-11ee-9401-675ed0f8e89b"},"arrayField":["hcNjtr","peDb","FshGD","rlljEtXn","DWhyXPqIrn","DdmpeuNtg","rHrOxEl","BRKhCWAZ","zKqKKUX","tkPvBhQC"],"boolField":false,"intField":-987,"numField":-659.0418599604503,"objField":{"GfiAAoaDxt":8022605876229027048,"LzwWeg":-2121684286734247372,"byQtTM":8853147000867920731,"jdqhc":6278825796546250084},"stringDateField":"2019-05-24","stringDateTimeField":"1960-01-19T00:15:35Z","stringField":"XPSvvo","stringTimeField":"17:59:24.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-987,"numField":-659.0418599604503,"stringDateField":"2019-05-24","stringDateTimeField":"1960-01-19T00:15:35Z","stringField":"XPSvvo","stringTimeField":"17:59:24.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3224,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3224,"uuid":"9e0a89d5-5655-11ee-9801-675ed0f8e89b"},"arrayField":["IdfWPa","DbMlW","WpkXLPBNX","jddWC","lcPvxKV","XZQoaC"],"boolField":true,"intField":593,"numField":-568.7182047286171,"objField":{"iKGYt":6878518969213077891},"stringDateField":"1938-08-18","stringDateTimeField":"1994-12-11T23:30:17Z","stringField":"vDFxTIe","stringTimeField":"17:16:08.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":593,"numField":-568.7182047286171,"stringDateField":"1938-08-18","stringDateTimeField":"1994-12-11T23:30:17Z","stringField":"vDFxTIe","stringTimeField":"17:16:08.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3225,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3225,"uuid":"9e0a89d5-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["HYLIOX","rZmqimv","ehrzelz","dmBEgK","trftLF","koQFYTa"],"boolField":false,"intField":-543,"numField":-267.3028121078923,"objField":{"LoFOnznc":-3830549082069027015,"eaSQfGeRyb":-5860342833048603614,"jlhfL":-7228149350375020679,"sFHT":-6175715742226517404,"snjFkWw":-1325036795689369678},"stringDateField":"1969-07-16","stringDateTimeField":"2017-04-13T21:18:25Z","stringField":"zxldIuQMj","stringTimeField":"15:07:21.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-543,"numField":-267.3028121078923,"stringDateField":"1969-07-16","stringDateTimeField":"2017-04-13T21:18:25Z","stringField":"zxldIuQMj","stringTimeField":"15:07:21.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3226,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3226,"uuid":"9e0a89d5-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ggWemX","pUZGPq","CxXdeZfpe"],"boolField":true,"intField":-390,"numField":-281.3603519634581,"objField":{"GJfyls":7028219228341414843,"NLLwGqrShG":-7812510394396918318,"kCjHNl":-1720754560735640524},"stringDateField":"1953-02-01","stringDateTimeField":"2001-04-23T21:13:24Z","stringField":"qtDctJ","stringTimeField":"15:41:13.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-390,"numField":-281.3603519634581,"stringDateField":"1953-02-01","stringDateTimeField":"2001-04-23T21:13:24Z","stringField":"qtDctJ","stringTimeField":"15:41:13.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3227,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3227,"uuid":"9e0a89d5-5655-11ee-a401-675ed0f8e89b"},"arrayField":["iIvqyGst"],"boolField":true,"intField":-626,"numField":-422.20028252280053,"objField":{"DYglihCOt":-1471160823860416980,"ErenbQuZ":-1954353353511162419,"GjguSQ":2043867632637008737,"IOHTpMSY":2377531830498402364,"JZbX":5235583513241287177,"VeSStAPl":-8258483869630277747,"cyImrzN":4804915474389280501,"lFwPFSbY":8516608757166146136,"nMnctI":4155873099690862260,"znijkbJzR":-7755486219153063803},"stringDateField":"2023-04-30","stringDateTimeField":"1924-02-15T16:09:43Z","stringField":"UgYOCZv","stringTimeField":"16:47:25.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-626,"numField":-422.20028252280053,"stringDateField":"2023-04-30","stringDateTimeField":"1924-02-15T16:09:43Z","stringField":"UgYOCZv","stringTimeField":"16:47:25.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3228,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3228,"uuid":"9e0a89d5-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nnLK","XCzKdymSz"],"boolField":false,"intField":-541,"numField":-798.4824921165709,"objField":{"AHPf":3142460006020699769,"BCIBQCNX":-1209283595309806030,"EflBn":4540004302675189133,"MVBwfHYMYz":-486940417197381999,"WBRotdb":769207551083526512,"YnPkcwU":-4829116663505426930,"jVsiUpsV":4754385077205092034,"pPQnya":-8557738660489434876},"stringDateField":"1979-12-13","stringDateTimeField":"1998-04-09T21:28:33Z","stringField":"XihoFzhoI","stringTimeField":"07:37:31.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-541,"numField":-798.4824921165709,"stringDateField":"1979-12-13","stringDateTimeField":"1998-04-09T21:28:33Z","stringField":"XihoFzhoI","stringTimeField":"07:37:31.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3229,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3229,"uuid":"9e0a89d5-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["KcKvvwcqNt","XiorDecppy","vnVT","epkKwpO","RLEFI","xwqqwsf","opqEVuQ"],"boolField":true,"intField":-554,"numField":291.8328605364262,"objField":{"GoxwgI":1962526194137807275,"SpnHYHJ":-4422100268424052737,"VuGvanXMWe":-3848795639897174617,"bfaNBVS":-6427062983252861686,"kebuILR":-4111481783494218610,"tzBPpvA":-6510262807895325279,"wwHVqO":-4543976653655784052},"stringDateField":"1993-11-27","stringDateTimeField":"1958-05-09T23:22:15Z","stringField":"AiNZOdP","stringTimeField":"20:55:29.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-554,"numField":291.8328605364262,"stringDateField":"1993-11-27","stringDateTimeField":"1958-05-09T23:22:15Z","stringField":"AiNZOdP","stringTimeField":"20:55:29.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3230,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3230,"uuid":"9e0a89d5-5655-11ee-b001-675ed0f8e89b"},"arrayField":["xLwDee","eazrX"],"boolField":false,"intField":-571,"numField":406.5092371454848,"objField":{"CFYpVWkP":6981712725698500291,"GqrhMsNugl":3587752388115413077,"oFAOIN":-1849426546411450744,"rJyPFMq":869857629539296672},"stringDateField":"1951-09-21","stringDateTimeField":"1957-05-20T19:32:30Z","stringField":"JzDRkWCyW","stringTimeField":"22:49:20.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-571,"numField":406.5092371454848,"stringDateField":"1951-09-21","stringDateTimeField":"1957-05-20T19:32:30Z","stringField":"JzDRkWCyW","stringTimeField":"22:49:20.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3231,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3231,"uuid":"9e0a89d5-5655-11ee-b401-675ed0f8e89b"},"arrayField":["AETBGCjV","MLxxA"],"boolField":true,"intField":795,"numField":632.2199919840201,"objField":{"DXkiurlveZ":-3497491880744335501,"NFZCe":3596616643039975659,"OGiAF":2315954423148328148,"PLwsgVFJHO":-2214248921875645298,"WKDNefLB":-8363147709333379581,"iPoF":-4682040104461279355,"kGyldR":8725013427293569799,"nYExW":-6939296036587232140,"nxljDLGjnS":-6739415499970167168,"zIiH":-1927530899846272607},"stringDateField":"2017-01-08","stringDateTimeField":"2002-08-26T13:21:26Z","stringField":"auunXyompm","stringTimeField":"12:32:22.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":795,"numField":632.2199919840201,"stringDateField":"2017-01-08","stringDateTimeField":"2002-08-26T13:21:26Z","stringField":"auunXyompm","stringTimeField":"12:32:22.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3232,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3232,"uuid":"9e0a89d5-5655-11ee-b801-675ed0f8e89b"},"arrayField":["GfvqoU","uhbcKtYhV","HcjnUqj","JdgP"],"boolField":true,"intField":25,"numField":4.373879926271362,"objField":{"ACMcH":5862890133600895825,"VQqjog":3678891230097831977,"fyGyYbLoWl":-1208027910001335404,"kgQhLxc":5353206996698962020,"oAUK":1229742297518869395,"zAVQXa":6446141335809492474},"stringDateField":"2018-08-29","stringDateTimeField":"1902-04-18T15:34:24Z","stringField":"jQZWeJ","stringTimeField":"20:57:48.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":25,"numField":4.373879926271362,"stringDateField":"2018-08-29","stringDateTimeField":"1902-04-18T15:34:24Z","stringField":"jQZWeJ","stringTimeField":"20:57:48.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3233,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3233,"uuid":"9e0a89d5-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["VdIoSsVKjb","PwAcj","SCZNyk","uaujHtC","YWiyEjHDE","DHMWSMdO","dMSaYn","oPGKiD","mMjc"],"boolField":false,"intField":-400,"numField":8.941814255184921,"objField":{"DbAGucLAMv":-1848794591919561343,"VbrJsWQKC":508154212020797048,"wUEkiYB":-4973691206130205342,"wjavFTW":6919425658708343280},"stringDateField":"1998-08-26","stringDateTimeField":"1981-03-11T12:33:51Z","stringField":"XBMNXN","stringTimeField":"16:07:20.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763733Z","intField":-400,"numField":8.941814255184921,"stringDateField":"1998-08-26","stringDateTimeField":"1981-03-11T12:33:51Z","stringField":"XBMNXN","stringTimeField":"16:07:20.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3234,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3234,"uuid":"9e0a89d6-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ACSFhnNOJV","ZkckOwTCO","bcavfcODn","sOccxCYV","knWa","CdKwE","prBqL","zJmjQYMWxl","OQBPcXhvuv"],"boolField":false,"intField":501,"numField":-781.5534467058263,"objField":{"DKBnVq":-4054228779355681775},"stringDateField":"2015-01-24","stringDateTimeField":"1928-08-21T01:23:12Z","stringField":"TqWMGTohP","stringTimeField":"00:59:46.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":501,"numField":-781.5534467058263,"stringDateField":"2015-01-24","stringDateTimeField":"1928-08-21T01:23:12Z","stringField":"TqWMGTohP","stringTimeField":"00:59:46.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3235,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3235,"uuid":"9e0a89d6-5655-11ee-8401-675ed0f8e89b"},"arrayField":["qgHfnsAwC","HtCLzNh","ssopUx"],"boolField":true,"intField":-781,"numField":-68.01934586941105,"objField":{"oGCt":-4411507160745887254,"rJMQ":-439774291477534493},"stringDateField":"1965-11-30","stringDateTimeField":"1903-09-16T09:59:45Z","stringField":"waiTFOwrC","stringTimeField":"16:14:43.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":-781,"numField":-68.01934586941105,"stringDateField":"1965-11-30","stringDateTimeField":"1903-09-16T09:59:45Z","stringField":"waiTFOwrC","stringTimeField":"16:14:43.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3236,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3236,"uuid":"9e0a89d6-5655-11ee-8801-675ed0f8e89b"},"arrayField":["KhPa","fWcKDbRwcp","UUBGmnXee","YddGP","DUyxAtIQh","SbYkaAmJ","faTHlip","JurzXGu","hQbe"],"boolField":false,"intField":-593,"numField":-812.1314246407469,"objField":{"JKTaWyeK":3365881535248039417,"JNAn":-8640102068933128822,"KcGorwW":3984720954162246906,"XGFVc":-6079859916865893146,"wpZfIQDSTh":7915051109394141723},"stringDateField":"2020-12-22","stringDateTimeField":"1915-05-09T04:42:26Z","stringField":"JXztCxjl","stringTimeField":"07:12:32.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":-593,"numField":-812.1314246407469,"stringDateField":"2020-12-22","stringDateTimeField":"1915-05-09T04:42:26Z","stringField":"JXztCxjl","stringTimeField":"07:12:32.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3237,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3237,"uuid":"9e0a89d6-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["Otvpb","oNACe","bGTteSm","JfElCNJIuu","FWcJuyGtz","ldUwDAM"],"boolField":false,"intField":-245,"numField":-671.9430817890478,"objField":{"EycnXxso":6686580079307484493,"IwNFeLuEAr":3779749852470584926,"QdNbujWP":3561589915036242813,"ZRxDxHCAAe":-511411101437077081,"kPYDpqJ":2448050517927355367,"upYyXLFk":-7989271991988248962},"stringDateField":"2000-10-03","stringDateTimeField":"2018-02-27T00:22:54Z","stringField":"kCgPgGghFq","stringTimeField":"12:08:28.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":-245,"numField":-671.9430817890478,"stringDateField":"2000-10-03","stringDateTimeField":"2018-02-27T00:22:54Z","stringField":"kCgPgGghFq","stringTimeField":"12:08:28.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3238,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3238,"uuid":"9e0a89d6-5655-11ee-9001-675ed0f8e89b"},"arrayField":["OONmChmS","pocQHO","BNkJGRbX","EKfNPUjP","oLvbMH","VeXOe","PhamFdBtXJ"],"boolField":true,"intField":51,"numField":-745.1697622625967,"objField":{"GUjNeNYYl":-5086591725476525230,"PojN":1514107860583167883,"VzUL":-4531191507838030329,"cKUUqhZqI":-2107105736923663138},"stringDateField":"1992-01-24","stringDateTimeField":"1905-08-30T11:37:43Z","stringField":"UOStkoIrXz","stringTimeField":"15:32:25.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":51,"numField":-745.1697622625967,"stringDateField":"1992-01-24","stringDateTimeField":"1905-08-30T11:37:43Z","stringField":"UOStkoIrXz","stringTimeField":"15:32:25.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3239,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3239,"uuid":"9e0a89d6-5655-11ee-9401-675ed0f8e89b"},"arrayField":["okxmydug","OIaqw","opmjqTFRbZ"],"boolField":false,"intField":-927,"numField":747.3136792197816,"objField":{"GjydBZmcb":6492119013075209232,"OwtQ":267748992564085256,"OySYweq":914696875752884569,"ZjwGEWu":2393877199831650308,"iVIRDKQHVb":8038532330434483696,"lCfGyxLk":2308599280883415871,"leJCm":5240252765585995074,"vkNNcoQk":5607541729935000990},"stringDateField":"1936-02-14","stringDateTimeField":"1922-07-20T13:37:33Z","stringField":"eBlpJm","stringTimeField":"09:11:01.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":-927,"numField":747.3136792197816,"stringDateField":"1936-02-14","stringDateTimeField":"1922-07-20T13:37:33Z","stringField":"eBlpJm","stringTimeField":"09:11:01.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3240,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3240,"uuid":"9e0a89d6-5655-11ee-9801-675ed0f8e89b"},"arrayField":["FiPEayVP","ZvymHNtnl","pmifjMv","Vliu","yQpPAgT","lSzrcqUN","dEpKv","eXraRSQY"],"boolField":true,"intField":-359,"numField":-804.7875052226781,"objField":{"PCWxKqtBi":-2646717135584059622,"TAfVwym":-5216752603863335484,"XmJZ":-348451046043579537,"YEvyGz":-7321089903572083156,"bTwdEckPtq":-5709340737022438239,"nexJdTZBOX":-3463818150649440485,"uNgC":-1925046920402238538},"stringDateField":"1982-09-16","stringDateTimeField":"2020-02-27T15:21:52Z","stringField":"pssqrr","stringTimeField":"11:10:30.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":-359,"numField":-804.7875052226781,"stringDateField":"1982-09-16","stringDateTimeField":"2020-02-27T15:21:52Z","stringField":"pssqrr","stringTimeField":"11:10:30.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3241,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3241,"uuid":"9e0a89d6-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["bPsClZ","ruynjG","zYjFJj","MfrKzybQ","EqGB","hEeCVSIazu","LUPJ","pGOIS"],"boolField":false,"intField":5,"numField":-480.8452190368293,"objField":{"AjTIeAzhCJ":-6284388096331075941,"HrahB":232774015560893617,"NfpVlZ":2185382688671803904,"QwccA":-5498508579018482258,"btnFB":-6428893879676184194,"jIHyBNr":-6146820699565446286,"sDobho":2915899566140581407},"stringDateField":"1907-07-17","stringDateTimeField":"2020-07-23T14:40:18Z","stringField":"bJUveDZPq","stringTimeField":"21:24:17.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":5,"numField":-480.8452190368293,"stringDateField":"1907-07-17","stringDateTimeField":"2020-07-23T14:40:18Z","stringField":"bJUveDZPq","stringTimeField":"21:24:17.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3242,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3242,"uuid":"9e0a89d6-5655-11ee-a001-675ed0f8e89b"},"arrayField":["YRqXExcBkm"],"boolField":true,"intField":-995,"numField":185.5850745550449,"objField":{"EOihuNIKWn":-3039672721486125777,"FKMSujv":-6872585874189721264,"LFpRh":-6654330524650609907,"MjlTarCI":7330346938319283993,"SMsi":-7747614775494079464,"WtZQuu":4186106315321088925,"gBzrrDDcwa":-4545628494700886793,"gHVkbBhLTl":-3430115724602584508,"plrfq":7772615596430246485,"sqSYlrOI":1534748803421435939},"stringDateField":"1931-05-20","stringDateTimeField":"1951-11-15T04:10:42Z","stringField":"iDZzN","stringTimeField":"19:18:14.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":-995,"numField":185.5850745550449,"stringDateField":"1931-05-20","stringDateTimeField":"1951-11-15T04:10:42Z","stringField":"iDZzN","stringTimeField":"19:18:14.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3243,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3243,"uuid":"9e0a89d6-5655-11ee-a401-675ed0f8e89b"},"arrayField":["UNyLNW","ZUiajArJ","TrRoIbE","SSbmidivE","NstBlNR","SKrfHhGhuu"],"boolField":true,"intField":-878,"numField":204.42793119831637,"objField":{"Esqfgvxazm":7682236211940657563,"TMokOE":5299346591041292259,"YaiUeJlNPa":1552938326454092366,"bvSRgQP":-4506945523163170316,"lMDoO":4192388426143146415,"nXpqv":-5325186314813851155,"oMDdANpwlw":-3794933540150331989,"pYrtCGSwTM":6577981234466438575,"qKpWd":-5120546492627350557,"szBDhf":-8964766678225856210},"stringDateField":"1911-11-04","stringDateTimeField":"2017-11-19T18:22:24Z","stringField":"mrHbvz","stringTimeField":"15:08:27.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":-878,"numField":204.42793119831637,"stringDateField":"1911-11-04","stringDateTimeField":"2017-11-19T18:22:24Z","stringField":"mrHbvz","stringTimeField":"15:08:27.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3244,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3244,"uuid":"9e0a89d6-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sCTNxItV","MTQLiS","uptJAlecZh","CXKwKA","qeKulR","owJxtms"],"boolField":false,"intField":-857,"numField":905.1204990794844,"objField":{"CzhLVQAv":5457856311158007920,"ItoX":2541559655003779253,"URFqCFm":7012808475784298260,"csilEfRqV":7324457011576384650,"opvTStAW":-8821919686947129738},"stringDateField":"1910-05-14","stringDateTimeField":"1931-01-11T13:01:45Z","stringField":"HluT","stringTimeField":"00:28:58.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":-857,"numField":905.1204990794844,"stringDateField":"1910-05-14","stringDateTimeField":"1931-01-11T13:01:45Z","stringField":"HluT","stringTimeField":"00:28:58.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3245,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3245,"uuid":"9e0a89d6-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["jRFrm","cXnNWFlCw","VNmQt","rjmEhO","iUXdYYuzn","OFfCWCOhbW","wZow","wbFR"],"boolField":true,"intField":413,"numField":913.3696156689986,"objField":{"HTgXqDAAE":-4464646818088342535,"SHqHKcuE":-2860397766145964193,"XaKcymJb":-1753819334336009416,"iRHsAKJH":-8790612075648869853,"pffp":-5744168634352129896,"xwhT":-1925221817601520028,"xwiWtbs":-5924715845883649461,"zSqrzUoj":-4440771791713489461},"stringDateField":"1983-07-23","stringDateTimeField":"1908-09-12T04:04:49Z","stringField":"nQVKoX","stringTimeField":"11:27:10.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":413,"numField":913.3696156689986,"stringDateField":"1983-07-23","stringDateTimeField":"1908-09-12T04:04:49Z","stringField":"nQVKoX","stringTimeField":"11:27:10.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3246,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3246,"uuid":"9e0a89d6-5655-11ee-b001-675ed0f8e89b"},"arrayField":["FZlm","hSto","hwsFhlXCK","MMmMkYZPn","Giaikyaep","OfhnxBA","PnpwDhem","RinxKtDjsM","jWia","bMKYcwWV"],"boolField":true,"intField":457,"numField":-143.7509990369641,"objField":{"rmdxRH":2862093930098947547},"stringDateField":"2016-04-04","stringDateTimeField":"1978-01-08T16:53:21Z","stringField":"PcSB","stringTimeField":"16:32:01.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":457,"numField":-143.7509990369641,"stringDateField":"2016-04-04","stringDateTimeField":"1978-01-08T16:53:21Z","stringField":"PcSB","stringTimeField":"16:32:01.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3247,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3247,"uuid":"9e0a89d6-5655-11ee-b401-675ed0f8e89b"},"arrayField":["dnStnIm","nPMUYaoHil","uWJyHz"],"boolField":false,"intField":-262,"numField":574.9104910328822,"objField":{"BjpEbd":-7499436403820411156,"Ffkuh":3371600213083222753,"FwUN":-8521290718842293213,"JPLTbcNqd":-2840918968371928562,"ajdjceFly":3913835593184860023,"zvflVLdv":-744305093824039409},"stringDateField":"1994-07-20","stringDateTimeField":"1985-04-12T18:35:54Z","stringField":"GsOqW","stringTimeField":"22:30:45.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":-262,"numField":574.9104910328822,"stringDateField":"1994-07-20","stringDateTimeField":"1985-04-12T18:35:54Z","stringField":"GsOqW","stringTimeField":"22:30:45.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3248,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3248,"uuid":"9e0a89d6-5655-11ee-b801-675ed0f8e89b"},"arrayField":["iAstMnJDM","YTGAPu","wZMtpHeMrB","VwdsI","wOVQHhPk","LgvWMrcq","FDdIb","mIEY"],"boolField":false,"intField":891,"numField":-4.585397024052029,"objField":{"PjhllDpe":8355854701860444477,"VMsa":3955010961196375174,"ZTOYtRUB":7880933891908227279,"jddWsn":-6209935777804883872},"stringDateField":"2017-08-09","stringDateTimeField":"1928-11-07T01:45:27Z","stringField":"WflUIrPAh","stringTimeField":"09:10:49.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":891,"numField":-4.585397024052029,"stringDateField":"2017-08-09","stringDateTimeField":"1928-11-07T01:45:27Z","stringField":"WflUIrPAh","stringTimeField":"09:10:49.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3249,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3249,"uuid":"9e0a89d6-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["JTeLH"],"boolField":false,"intField":-844,"numField":-150.7965945028138,"objField":{"FDvujbO":-3977071929250406539,"WoUkyKcOh":-9093287295843157432,"fkTrNy":5226745639479667657,"gWtVV":5903758586970471309,"pVPnKXxkU":6385066979749346567,"tonzQeVyEz":2125744807022996461,"vusi":-1154130834194664822,"yQUuMntm":3915563160451312533},"stringDateField":"1989-04-25","stringDateTimeField":"2019-11-24T13:21:20Z","stringField":"PjuMxgGi","stringTimeField":"02:22:03.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763734Z","intField":-844,"numField":-150.7965945028138,"stringDateField":"1989-04-25","stringDateTimeField":"2019-11-24T13:21:20Z","stringField":"PjuMxgGi","stringTimeField":"02:22:03.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3250,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3250,"uuid":"9e0a89d7-5655-11ee-8001-675ed0f8e89b"},"arrayField":["PUABWtJFjQ"],"boolField":false,"intField":-127,"numField":-406.5045785946796,"objField":{"EOQvCJRZEv":-6531575877959990517},"stringDateField":"1904-10-01","stringDateTimeField":"1991-01-04T05:30:58Z","stringField":"IdjHktv","stringTimeField":"13:35:30.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":-127,"numField":-406.5045785946796,"stringDateField":"1904-10-01","stringDateTimeField":"1991-01-04T05:30:58Z","stringField":"IdjHktv","stringTimeField":"13:35:30.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3251,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3251,"uuid":"9e0a89d7-5655-11ee-8401-675ed0f8e89b"},"arrayField":["PzKSgJe","HeGSK","LYxcTRfMN","ILLw"],"boolField":true,"intField":306,"numField":285.68527694911427,"objField":{"apJtQKx":-3614276789273489815,"kbGgVcrmKJ":-2280269296252155753,"nRPTRJbFE":4466082382381063239,"yQvJ":-2099936280180055105},"stringDateField":"1978-03-02","stringDateTimeField":"1916-01-03T07:44:02Z","stringField":"pzxftAg","stringTimeField":"21:01:08.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":306,"numField":285.68527694911427,"stringDateField":"1978-03-02","stringDateTimeField":"1916-01-03T07:44:02Z","stringField":"pzxftAg","stringTimeField":"21:01:08.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3252,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3252,"uuid":"9e0a89d7-5655-11ee-8801-675ed0f8e89b"},"arrayField":["xgCLXUpM","hmRwMgCw","KKMqxPOYg","bjNizHWpt","zQhKCdV","NsSGz","YlLKG","dXzeMzrS","VXnmdDEiBR","MvlFmYqZ"],"boolField":false,"intField":-755,"numField":-654.3694869150128,"objField":{"GMRRUe":4331784093237710480,"IChl":4140861992601930848,"IpcLkEvK":-8242248760790219991,"LFnYZmkBf":2884604174985566128,"MKvoAFuR":1978921400524967572,"OQEa":-8569689210917112109,"YEZhIKFh":6136914995676669786,"eRdi":2682036300151151996,"nMzDpfupPZ":-1135431495721801305,"rQykc":-1145662250552540314},"stringDateField":"1986-03-03","stringDateTimeField":"1971-07-12T20:59:35Z","stringField":"FlckFDqP","stringTimeField":"00:22:41.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":-755,"numField":-654.3694869150128,"stringDateField":"1986-03-03","stringDateTimeField":"1971-07-12T20:59:35Z","stringField":"FlckFDqP","stringTimeField":"00:22:41.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3253,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3253,"uuid":"9e0a89d7-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["WtEJmsn","nymx"],"boolField":true,"intField":951,"numField":747.9951891970749,"objField":{"IrYxzSpPwO":-6480930603024353370,"SEBuS":-4383897736356243324,"WCALDUEaL":-8478955322212745535,"arEFlbF":-7364606395064422373,"gMxytua":360004410973462992,"iUhFoJY":8296497815387453748,"lSuQfC":-8996758032301442474,"pXwYPtJo":2939918349697018422},"stringDateField":"1939-08-06","stringDateTimeField":"1934-05-18T21:10:05Z","stringField":"DtWjiq","stringTimeField":"03:43:54.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":951,"numField":747.9951891970749,"stringDateField":"1939-08-06","stringDateTimeField":"1934-05-18T21:10:05Z","stringField":"DtWjiq","stringTimeField":"03:43:54.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3254,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3254,"uuid":"9e0a89d7-5655-11ee-9001-675ed0f8e89b"},"arrayField":["WtBPp","UQwBT","Jgxcws","hpdZDmhP","TZLriMo"],"boolField":true,"intField":892,"numField":470.30489106034554,"objField":{"IcXvScbKRO":2460336991040713030,"IhTGXbKq":-1481342267087837917,"fOjinUBd":-2845169989167303683,"ibcp":-3828097192252597237,"ktQXYswpNb":-7408669888789831389,"ugPt":6191424515634718453,"xspMLjZO":9216386760823897282,"zeqsb":8117233318716955730,"zpBonBbvlU":-5223669052704692910,"zpbbvw":415240667948844150},"stringDateField":"1979-05-28","stringDateTimeField":"1970-09-03T02:59:23Z","stringField":"AGDyyH","stringTimeField":"10:22:01.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":892,"numField":470.30489106034554,"stringDateField":"1979-05-28","stringDateTimeField":"1970-09-03T02:59:23Z","stringField":"AGDyyH","stringTimeField":"10:22:01.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3255,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3255,"uuid":"9e0a89d7-5655-11ee-9401-675ed0f8e89b"},"arrayField":["GpJL"],"boolField":false,"intField":-862,"numField":325.5217729008573,"objField":{"KyZjcc":3169740381343437792},"stringDateField":"1990-03-05","stringDateTimeField":"1942-07-01T01:03:01Z","stringField":"uOntBOEJL","stringTimeField":"03:32:44.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":-862,"numField":325.5217729008573,"stringDateField":"1990-03-05","stringDateTimeField":"1942-07-01T01:03:01Z","stringField":"uOntBOEJL","stringTimeField":"03:32:44.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3256,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3256,"uuid":"9e0a89d7-5655-11ee-9801-675ed0f8e89b"},"arrayField":["IgXfdqyk","OVOstyPuNu","ECiOESSzR","qPnIPdFGD","InbIHcQvkf","LANRPkUL","rVfFy","TKSaZobfV","iLoVfyWg","ivMKDXp"],"boolField":true,"intField":-952,"numField":669.979595014929,"objField":{"PMyOm":-594468577646329413,"cccQaBN":3858420228521374695,"cnhvUZ":-6618566587514918832,"fNTN":7392151268685908228,"invFOjz":6462549813274190914,"oAwWOXoyRG":-3775648089815077519,"uLIWO":2368706385909975378,"xSQblfq":-3122515098569096232},"stringDateField":"1996-02-18","stringDateTimeField":"1948-02-02T21:43:53Z","stringField":"lgQPYQp","stringTimeField":"13:07:28.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":-952,"numField":669.979595014929,"stringDateField":"1996-02-18","stringDateTimeField":"1948-02-02T21:43:53Z","stringField":"lgQPYQp","stringTimeField":"13:07:28.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3257,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3257,"uuid":"9e0a89d7-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["GfPMtP","nIrCSgI","vkUrK","JjKfwkG"],"boolField":true,"intField":511,"numField":-348.3085322189314,"objField":{"GEnzLIXX":-7458370012001392108,"GUGkegkM":3447146981125388010,"LOYo":-6613957009124996636,"QLpt":7840657495246941284,"VbuzzwyxFa":1680559993614818151,"YCWv":-6352567678387295497,"vgYMjB":-4590272047741021266},"stringDateField":"1930-12-01","stringDateTimeField":"1921-09-15T19:09:53Z","stringField":"SPEzQ","stringTimeField":"14:06:07.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":511,"numField":-348.3085322189314,"stringDateField":"1930-12-01","stringDateTimeField":"1921-09-15T19:09:53Z","stringField":"SPEzQ","stringTimeField":"14:06:07.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3258,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3258,"uuid":"9e0a89d7-5655-11ee-a001-675ed0f8e89b"},"arrayField":["weiQGvV","lpOJFbDEy","SnocBxyjQM","DBbNYNd","dZJFNZeYAv","ZjpOsTy","cTfp","mZDymm"],"boolField":false,"intField":-3,"numField":425.79401759031055,"objField":{"HLKx":-2970876740300697593,"STnTLLX":-1818429405006117001,"VJKRHQVL":8543545972881899969,"YprCXnrP":4004431507048636375,"cNcbabmsJ":-303390479939764558},"stringDateField":"2016-06-26","stringDateTimeField":"1943-07-30T08:28:43Z","stringField":"LklW","stringTimeField":"15:45:42.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":-3,"numField":425.79401759031055,"stringDateField":"2016-06-26","stringDateTimeField":"1943-07-30T08:28:43Z","stringField":"LklW","stringTimeField":"15:45:42.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3259,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3259,"uuid":"9e0a89d7-5655-11ee-a401-675ed0f8e89b"},"arrayField":["MDjJviLY","dTVkUzJDe","kpdqxO","MJYNhLcjnL"],"boolField":false,"intField":929,"numField":-399.3688580932645,"objField":{"BJPMCGNT":-2572610735147277214,"FwWpc":-8699040506639074199,"MBIpnuMsf":-5989932011964224783,"jvplzRBwT":1470869747402038331,"kpuTbi":-8342730241061313261,"mspQjkzz":-6068623671884949669,"uBketsDxND":6734322922818534697,"xWKNTANB":-36009698575085158},"stringDateField":"1955-07-17","stringDateTimeField":"1969-08-25T23:53:35Z","stringField":"LYfI","stringTimeField":"21:45:38.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":929,"numField":-399.3688580932645,"stringDateField":"1955-07-17","stringDateTimeField":"1969-08-25T23:53:35Z","stringField":"LYfI","stringTimeField":"21:45:38.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3260,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3260,"uuid":"9e0a89d7-5655-11ee-a801-675ed0f8e89b"},"arrayField":["YVSX","KgxUsWLOV","VLfW","TxHvOB","NQgO"],"boolField":true,"intField":-730,"numField":428.62585600707126,"objField":{"CgRUX":2949023016707163622,"HGepUKNx":6719171290897265563,"VJsxhr":-8642553276741732941,"dMxAe":-3394346493628693677,"lIUGDq":307429732956396582,"mhKPZUOs":-3106970356322955937,"qoWdNar":2536075567891589572,"uBhZb":1953711880104555418,"vVEe":-2565947341462767074,"wiqtgwvSO":-5709402667695934172},"stringDateField":"1915-02-12","stringDateTimeField":"1985-03-11T05:12:11Z","stringField":"tuUpAh","stringTimeField":"12:10:31.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":-730,"numField":428.62585600707126,"stringDateField":"1915-02-12","stringDateTimeField":"1985-03-11T05:12:11Z","stringField":"tuUpAh","stringTimeField":"12:10:31.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3261,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3261,"uuid":"9e0a89d7-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["JiQT","dqsvaAkx"],"boolField":true,"intField":40,"numField":838.4528148057831,"objField":{"RbGClEk":-5256117356318667164,"UxcuO":7246956091627443594,"WFdAdxs":5316072082174525586,"btmbotIcgm":-1071384211134111614,"iGTfw":-2326461548581500121,"ilfefm":4007059918417926932,"modKE":7375406742338511786,"oFuxC":2704694714992337060,"qSFlTRxoq":-3770379424569207280,"vwdOmjDcY":2029630392327002068},"stringDateField":"1995-12-02","stringDateTimeField":"1929-12-26T11:00:44Z","stringField":"aFurFGUN","stringTimeField":"00:48:56.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":40,"numField":838.4528148057831,"stringDateField":"1995-12-02","stringDateTimeField":"1929-12-26T11:00:44Z","stringField":"aFurFGUN","stringTimeField":"00:48:56.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3262,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3262,"uuid":"9e0a89d7-5655-11ee-b001-675ed0f8e89b"},"arrayField":["goRbPtnkq","gyfZ","qPpMQ","Ycgc","LxXnKqiQm","jpRg","Pfgx","dgmIivOU","vFyfCkplKj","jymU"],"boolField":false,"intField":-867,"numField":-328.69301151516015,"objField":{"DtRZK":-4059714054684042055,"FGGepB":-6556595548633192255,"HdpJPCh":-6136743335495233358,"LoCwReB":-6361939332038691527,"PnoQ":6399595409383687588,"RutzeuLqkl":1629622671150658354,"ctqoRTPsGy":-1420070891526243976,"qsSy":5796091470255288405},"stringDateField":"1944-01-24","stringDateTimeField":"2010-12-03T05:27:40Z","stringField":"ejatVtChX","stringTimeField":"15:55:22.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":-867,"numField":-328.69301151516015,"stringDateField":"1944-01-24","stringDateTimeField":"2010-12-03T05:27:40Z","stringField":"ejatVtChX","stringTimeField":"15:55:22.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3263,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3263,"uuid":"9e0a89d7-5655-11ee-b401-675ed0f8e89b"},"arrayField":["NmvUvHM","XcbRrC"],"boolField":false,"intField":-933,"numField":-380.6893318164423,"objField":{"BFce":-153102444313218285,"BwgjpcGyO":4778618468264748293,"NtIN":-7004033261259167673,"UlYuHHxQ":-4318848416287567710,"dUcUPe":-7149126789598967189,"ifoTPdXIU":6291115608410334313,"melmtf":-1925873610255264290,"qtvJHf":-3980605059135966082,"sgBZeIHkNB":-2977548484853605018,"zjCRF":-1453704814184687556},"stringDateField":"1910-04-21","stringDateTimeField":"1909-02-22T22:26:37Z","stringField":"GJMEm","stringTimeField":"06:19:29.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":-933,"numField":-380.6893318164423,"stringDateField":"1910-04-21","stringDateTimeField":"1909-02-22T22:26:37Z","stringField":"GJMEm","stringTimeField":"06:19:29.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3264,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3264,"uuid":"9e0a89d7-5655-11ee-b801-675ed0f8e89b"},"arrayField":["eYdesDmYYc","IPIAcJuqQJ","ZshKL","kjwPoz","nqzc","ivWh","ZJJDvvA","wGxuCpT","mHdCzUuBQ"],"boolField":false,"intField":-617,"numField":180.66048773064813,"objField":{"ICJeJHXh":-6305480828216214875},"stringDateField":"2021-04-22","stringDateTimeField":"1954-08-22T09:28:22Z","stringField":"KFlGnyT","stringTimeField":"05:10:16.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":-617,"numField":180.66048773064813,"stringDateField":"2021-04-22","stringDateTimeField":"1954-08-22T09:28:22Z","stringField":"KFlGnyT","stringTimeField":"05:10:16.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3265,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3265,"uuid":"9e0a89d7-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["mZHHSL","DQJA","XcAK","kaFGx","CWUlwcOIQq","mNEIfB","iMDMAdZKo","BBeHzEQPl","lrLzoFzw","NutoD"],"boolField":false,"intField":-938,"numField":-861.2304557204062,"objField":{"NChkOzDVNs":-2442348648156889762,"aqRHNICPw":8906415032868797545,"dDazMxk":-8464900723642465578,"ftePAHrdTv":6405123879988394278},"stringDateField":"2003-03-20","stringDateTimeField":"1910-10-01T02:27:46Z","stringField":"fHgWuRlJs","stringTimeField":"03:38:29.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763735Z","intField":-938,"numField":-861.2304557204062,"stringDateField":"2003-03-20","stringDateTimeField":"1910-10-01T02:27:46Z","stringField":"fHgWuRlJs","stringTimeField":"03:38:29.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3266,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3266,"uuid":"9e0a89d8-5655-11ee-8001-675ed0f8e89b"},"arrayField":["IJbQ","DKNguWNEsT","kzqZpq","ItIybhnS","pfMRSqE","bSsLgn","qaXY","eYsFdxzjwT","GVqqdBoyg"],"boolField":true,"intField":970,"numField":-935.3772142593232,"objField":{"Anhgg":-2004279680284858428,"CRlBiVXM":3624296880507153511,"IKobCn":-9024982944955066689,"JgcAb":-5408698842787417431,"KpQnxTRc":4243476821209635253,"auGArguz":-3347656144820519917,"igVoO":-7786084889696742142,"sAbboWZlPJ":5275901206287350540,"tIvHbYqvth":2802166588115797758},"stringDateField":"2002-03-30","stringDateTimeField":"1908-03-15T15:28:18Z","stringField":"yskbRhVoiY","stringTimeField":"12:30:55.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":970,"numField":-935.3772142593232,"stringDateField":"2002-03-30","stringDateTimeField":"1908-03-15T15:28:18Z","stringField":"yskbRhVoiY","stringTimeField":"12:30:55.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3267,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3267,"uuid":"9e0a89d8-5655-11ee-8401-675ed0f8e89b"},"arrayField":["FovJrXhFRm","RRnw","TfxYWVdCWk","MClCune","PaOJ","hPEa","YuLuy","IJLeRJAYh","TsiWbiV"],"boolField":true,"intField":-225,"numField":751.8403115851653,"objField":{"Ggvblj":3189347007335494099,"PKxDoPKQgA":-3052175030014569709,"PcMiMCerql":6509213660288719803,"WHpLTtke":-2748631920925754242,"ZoVtXYVb":-1398371172118527631,"cfysrBARXV":-1547669791270143758,"ilMCuLaUs":109975621774845876,"qpjsreax":-4748814731353163228,"sfhJszOLT":6293908144827198900,"vaHWIR":580112967363967303},"stringDateField":"2021-08-30","stringDateTimeField":"2020-02-17T14:59:18Z","stringField":"DquttJ","stringTimeField":"02:53:11.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":-225,"numField":751.8403115851653,"stringDateField":"2021-08-30","stringDateTimeField":"2020-02-17T14:59:18Z","stringField":"DquttJ","stringTimeField":"02:53:11.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3268,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3268,"uuid":"9e0a89d8-5655-11ee-8801-675ed0f8e89b"},"arrayField":["mkbhboW","kUuS","cWODFyU","IhNI","WuSdY","ZadLsIljwB","bpfwyFMwFL"],"boolField":true,"intField":-750,"numField":496.0725307640408,"objField":{"BuVJHzWTbV":5211905380120259822,"PMHEvTN":-6152737573911553842,"hOTp":-1747257923204332716,"szTFVi":-5488683117392991190,"yUrwpgmSZ":7329628110555494606},"stringDateField":"1990-01-06","stringDateTimeField":"1959-09-12T10:22:01Z","stringField":"oDJNuXPjL","stringTimeField":"18:01:37.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":-750,"numField":496.0725307640408,"stringDateField":"1990-01-06","stringDateTimeField":"1959-09-12T10:22:01Z","stringField":"oDJNuXPjL","stringTimeField":"18:01:37.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3269,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3269,"uuid":"9e0a89d8-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["TBDTy","mHZWUKxa","aHTyiKlrd","bGMMKHsIG","IUvRWZuQo","lQPBfP","YtLp"],"boolField":true,"intField":-423,"numField":136.7701479734873,"objField":{"CSxvi":-562167614165749875,"GLpWtYtUF":-7366705439540708853},"stringDateField":"2016-01-27","stringDateTimeField":"1997-03-03T10:13:41Z","stringField":"hbln","stringTimeField":"13:13:42.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":-423,"numField":136.7701479734873,"stringDateField":"2016-01-27","stringDateTimeField":"1997-03-03T10:13:41Z","stringField":"hbln","stringTimeField":"13:13:42.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3270,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3270,"uuid":"9e0a89d8-5655-11ee-9001-675ed0f8e89b"},"arrayField":["HHGI"],"boolField":false,"intField":-79,"numField":-507.1825853739817,"objField":{"EOUGmVb":318636210939083312,"GDdYIOndd":-7561840459142841249,"ZuxCTWHqn":-2210333814207093829,"atWxAGO":-4447518231119246393,"cvMmaKpn":1735534093002338834,"hYUhT":-9177753710233399967},"stringDateField":"1947-08-03","stringDateTimeField":"1942-10-28T01:19:05Z","stringField":"HJosncHXit","stringTimeField":"08:25:25.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":-79,"numField":-507.1825853739817,"stringDateField":"1947-08-03","stringDateTimeField":"1942-10-28T01:19:05Z","stringField":"HJosncHXit","stringTimeField":"08:25:25.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3271,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3271,"uuid":"9e0a89d8-5655-11ee-9401-675ed0f8e89b"},"arrayField":["TBeyXP","ewFSz","mODbqlA","eoLGTpAPF"],"boolField":false,"intField":-531,"numField":59.18646533975469,"objField":{"MPIft":-4309178844407094799,"RJSAMg":1036565040444213903,"vngHntcaT":-8918044695712784516},"stringDateField":"1960-04-20","stringDateTimeField":"1939-07-06T10:47:56Z","stringField":"KPtUoGbWQm","stringTimeField":"11:24:48.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":-531,"numField":59.18646533975469,"stringDateField":"1960-04-20","stringDateTimeField":"1939-07-06T10:47:56Z","stringField":"KPtUoGbWQm","stringTimeField":"11:24:48.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3272,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3272,"uuid":"9e0a89d8-5655-11ee-9801-675ed0f8e89b"},"arrayField":["yOZvwoerRw","RlxQWXJPZW"],"boolField":true,"intField":808,"numField":-783.4652217141709,"objField":{"AOXX":3314727015437950970,"BtQn":-1498843602040009809,"HGjaoZB":-1776103098536233950,"bmbLHu":-6713759477255593505,"qWiqDweIU":-2603705582181228770},"stringDateField":"1953-02-25","stringDateTimeField":"1944-02-10T10:21:39Z","stringField":"LuhoEr","stringTimeField":"22:25:37.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":808,"numField":-783.4652217141709,"stringDateField":"1953-02-25","stringDateTimeField":"1944-02-10T10:21:39Z","stringField":"LuhoEr","stringTimeField":"22:25:37.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3273,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3273,"uuid":"9e0a89d8-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["NtYHW","ZIcVsywpc","YyrANzRk"],"boolField":true,"intField":-700,"numField":-306.55030457194664,"objField":{"NaeGGMAAL":2273717840838597209,"lPxhhOIY":4831210718854632726,"ldQYtVmY":-4546924290385954533,"rLqvrvOFI":-3715799679797434526,"rhMAnn":-2302111456384704581,"tXikrGHTol":7468615599633569028,"yLhVZVi":2440814862435888640,"yVGXaXTxml":-3201188928216051284},"stringDateField":"1994-02-02","stringDateTimeField":"1938-12-04T01:20:05Z","stringField":"wqRPaHfxUY","stringTimeField":"18:33:31.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":-700,"numField":-306.55030457194664,"stringDateField":"1994-02-02","stringDateTimeField":"1938-12-04T01:20:05Z","stringField":"wqRPaHfxUY","stringTimeField":"18:33:31.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3274,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3274,"uuid":"9e0a89d8-5655-11ee-a001-675ed0f8e89b"},"arrayField":["UQGA"],"boolField":false,"intField":589,"numField":606.3599501441726,"objField":{"FZPwvjOuC":-6637439163271036190,"dFkOyloupJ":1642642791211304886},"stringDateField":"1969-04-15","stringDateTimeField":"1986-04-28T05:44:12Z","stringField":"ghJn","stringTimeField":"13:57:50.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":589,"numField":606.3599501441726,"stringDateField":"1969-04-15","stringDateTimeField":"1986-04-28T05:44:12Z","stringField":"ghJn","stringTimeField":"13:57:50.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3275,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3275,"uuid":"9e0a89d8-5655-11ee-a401-675ed0f8e89b"},"arrayField":["PPzG","CdMfMuH","aoCFJUuQ"],"boolField":true,"intField":54,"numField":455.5351034034181,"objField":{"PZTk":-5544210823285514171,"akbZDkfWjd":7313092352064870598,"qGzmUTtlRH":-7055934353186625828,"udguZLdOZ":3809449065560695237},"stringDateField":"1912-06-19","stringDateTimeField":"1907-05-08T15:15:07Z","stringField":"RcyPStNP","stringTimeField":"21:29:00.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":54,"numField":455.5351034034181,"stringDateField":"1912-06-19","stringDateTimeField":"1907-05-08T15:15:07Z","stringField":"RcyPStNP","stringTimeField":"21:29:00.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3276,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3276,"uuid":"9e0a89d8-5655-11ee-a801-675ed0f8e89b"},"arrayField":["bJEvwUFij","sRbKPJY","qAzYcHVhif","OpWWr","YNkodVEuqx","OrSwEUu","lzHYIJUKE","UkfFIntD","hSUFh","mVUp"],"boolField":false,"intField":-990,"numField":-23.15341682343253,"objField":{"yrwjNWm":-1683312862505459795},"stringDateField":"2001-08-03","stringDateTimeField":"2003-03-08T05:40:37Z","stringField":"BStQNev","stringTimeField":"12:31:09.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":-990,"numField":-23.15341682343253,"stringDateField":"2001-08-03","stringDateTimeField":"2003-03-08T05:40:37Z","stringField":"BStQNev","stringTimeField":"12:31:09.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3277,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3277,"uuid":"9e0a89d8-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["txmDeY","sDLmM","DhljceLXsn","JRKNVZv"],"boolField":false,"intField":394,"numField":218.28365901421495,"objField":{"FvsuSR":-5647653524259290308,"IXDLOf":3230967919745645739,"ukQJCyDCo":951577718934870250,"xeKJYccoUq":-8473833569786016836},"stringDateField":"2010-05-17","stringDateTimeField":"2003-09-15T22:59:29Z","stringField":"UFxg","stringTimeField":"09:39:32.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":394,"numField":218.28365901421495,"stringDateField":"2010-05-17","stringDateTimeField":"2003-09-15T22:59:29Z","stringField":"UFxg","stringTimeField":"09:39:32.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3278,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3278,"uuid":"9e0a89d8-5655-11ee-b001-675ed0f8e89b"},"arrayField":["VbNsjEknuC","BgLbQdTz","WPGci"],"boolField":false,"intField":267,"numField":92.27763108838394,"objField":{"GLDKTAi":419418054631936872,"KFBnqVjfH":-1612735497412493403,"KvdOCaxoJy":-4336148490900608012,"LTgXoiSJ":715550587220817180,"OwNnRjZ":-4301932663296898989,"PRlkJ":6193030168356268456,"UTpWSLhJu":-2109853517634538789,"VKCnRO":-156709614515662743,"ehzlDrBAv":6489874039670181223},"stringDateField":"1954-10-11","stringDateTimeField":"1901-01-30T14:50:52Z","stringField":"OutXPK","stringTimeField":"00:31:16.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":267,"numField":92.27763108838394,"stringDateField":"1954-10-11","stringDateTimeField":"1901-01-30T14:50:52Z","stringField":"OutXPK","stringTimeField":"00:31:16.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3279,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3279,"uuid":"9e0a89d8-5655-11ee-b401-675ed0f8e89b"},"arrayField":["AYSCCGB"],"boolField":true,"intField":905,"numField":-308.5606671703576,"objField":{"AFwn":5187931000861242950,"GAtzPYW":-1787587843094729330,"Imqkt":-1667864801331241235,"MEbDjR":8324875533600931275,"TbXmJRXqX":6301642184642617787,"WPcCKEIF":-2149550269988879799,"oZAAnPZJf":6773512088005028906},"stringDateField":"1985-08-13","stringDateTimeField":"1907-05-22T23:54:03Z","stringField":"obvVbWTng","stringTimeField":"15:55:10.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":905,"numField":-308.5606671703576,"stringDateField":"1985-08-13","stringDateTimeField":"1907-05-22T23:54:03Z","stringField":"obvVbWTng","stringTimeField":"15:55:10.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3280,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3280,"uuid":"9e0a89d8-5655-11ee-b801-675ed0f8e89b"},"arrayField":["wWfTkQMPaU","cGrxXk","RNcKTEuvC","iONNme","rBOD","QtgNTzlXcU","idZdqQL","uiPsnuldlv","qkDXNlIpC"],"boolField":false,"intField":-771,"numField":-434.8144670197238,"objField":{"MKhOWJhxu":-8867657489891053183,"MtgTiWUL":-8071799309682983806,"Psjvr":9020238462468415635,"SMxeLz":-8844849567310118933,"qpAcLX":5778618815040234716,"sZKV":2070153610848008855,"xEcP":1885192174403428591},"stringDateField":"2016-05-07","stringDateTimeField":"1991-10-10T22:32:50Z","stringField":"LGVMj","stringTimeField":"23:53:44.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":-771,"numField":-434.8144670197238,"stringDateField":"2016-05-07","stringDateTimeField":"1991-10-10T22:32:50Z","stringField":"LGVMj","stringTimeField":"23:53:44.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3281,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3281,"uuid":"9e0a89d8-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["UISlGXygV","zvNHhh","FDJD","fMGy","oGzGPjFN","zQcHPKqP","gLYOTlwKzl","FdZBHm"],"boolField":false,"intField":709,"numField":-839.7521529677249,"objField":{"vakjxO":-1104705644778045692},"stringDateField":"2023-12-01","stringDateTimeField":"1950-03-03T13:51:44Z","stringField":"qZmmnE","stringTimeField":"00:52:27.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763736Z","intField":709,"numField":-839.7521529677249,"stringDateField":"2023-12-01","stringDateTimeField":"1950-03-03T13:51:44Z","stringField":"qZmmnE","stringTimeField":"00:52:27.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3282,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3282,"uuid":"9e0a89d9-5655-11ee-8001-675ed0f8e89b"},"arrayField":["DHUQX","aXdXultNWA","dXEb","FrOyR","gfPT","uodGpa","KqYP","eSlgVol"],"boolField":false,"intField":990,"numField":-106.33370098596384,"objField":{"nRTaYrW":8822285890930390476},"stringDateField":"1991-05-12","stringDateTimeField":"1952-10-07T16:39:18Z","stringField":"bFfntjEb","stringTimeField":"03:54:34.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":990,"numField":-106.33370098596384,"stringDateField":"1991-05-12","stringDateTimeField":"1952-10-07T16:39:18Z","stringField":"bFfntjEb","stringTimeField":"03:54:34.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3283,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3283,"uuid":"9e0a89d9-5655-11ee-8401-675ed0f8e89b"},"arrayField":["kFhSHjrEyB","EYTFpU","LVViDRgX","MzDvmnYQt","XgFz"],"boolField":false,"intField":-392,"numField":813.7359302951689,"objField":{"LstrCjPGK":-1917715678027206858,"nNgOlVoKx":898014082558133867,"oHujJ":9126598539858274063,"pclVqW":-8449905504962483457},"stringDateField":"1976-12-21","stringDateTimeField":"1993-10-13T18:11:17Z","stringField":"kIcrSsTiY","stringTimeField":"06:21:56.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":-392,"numField":813.7359302951689,"stringDateField":"1976-12-21","stringDateTimeField":"1993-10-13T18:11:17Z","stringField":"kIcrSsTiY","stringTimeField":"06:21:56.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3284,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3284,"uuid":"9e0a89d9-5655-11ee-8801-675ed0f8e89b"},"arrayField":["YUivYjf","ivYlKRA","FWTP","TUtch"],"boolField":true,"intField":576,"numField":242.21777919662375,"objField":{"FLSbHcrk":-6029444643401225889,"OmMY":8083371205999761441,"SbWdDx":988869186909497928,"TMZFZQwpco":1784590330745321279,"TgbKqFgWn":-6928591620223775228,"YfTPvenr":1407315541883612730,"cgLi":4497070129504383490,"gqdevMv":6757547137962628273,"tMjMjgBd":3688083573832109111},"stringDateField":"1974-10-29","stringDateTimeField":"1965-02-03T21:12:49Z","stringField":"leYnLTHfZE","stringTimeField":"01:33:04.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":576,"numField":242.21777919662375,"stringDateField":"1974-10-29","stringDateTimeField":"1965-02-03T21:12:49Z","stringField":"leYnLTHfZE","stringTimeField":"01:33:04.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3285,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3285,"uuid":"9e0a89d9-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["AMzFqX","PmzXfCECR","YYAHKLdfC","ofPg","HlXKzgAXsJ","zpfzCZQcH","VtTT","dkbDD","QZHVEixU"],"boolField":false,"intField":990,"numField":-813.2223501605831,"objField":{"BuVVDc":17943490855257006,"TcbAL":2324071414557455995,"ZpVr":5947478063697434281,"wREdyTpnJ":3447267751132707806},"stringDateField":"1982-07-29","stringDateTimeField":"1909-01-19T07:18:46Z","stringField":"aJPQjPIvz","stringTimeField":"19:29:18.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":990,"numField":-813.2223501605831,"stringDateField":"1982-07-29","stringDateTimeField":"1909-01-19T07:18:46Z","stringField":"aJPQjPIvz","stringTimeField":"19:29:18.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3286,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3286,"uuid":"9e0a89d9-5655-11ee-9001-675ed0f8e89b"},"arrayField":["VVXp"],"boolField":true,"intField":-355,"numField":344.98223427541717,"objField":{"UrgQXyC":-7985276024476141235,"qVclHLAX":-63853418994026060},"stringDateField":"1945-04-14","stringDateTimeField":"2022-02-17T22:24:46Z","stringField":"Qljnt","stringTimeField":"21:56:28.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":-355,"numField":344.98223427541717,"stringDateField":"1945-04-14","stringDateTimeField":"2022-02-17T22:24:46Z","stringField":"Qljnt","stringTimeField":"21:56:28.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3287,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3287,"uuid":"9e0a89d9-5655-11ee-9401-675ed0f8e89b"},"arrayField":["HCoDuPB","cHhaoOFvO","wKAlxbw","FEIcqg","nqOUiS","AHwuQb","Guzms","bUYfQhpVK","hhbaAVCjb"],"boolField":true,"intField":254,"numField":-558.4596016386661,"objField":{"EeWl":343776278692375058,"JmSQvxyzO":-8726025621088473944,"TPix":-6733734488006296695,"dMaCOqlFQn":7837952887357136102,"hrtXnhs":-1854475065705155739,"jtiZ":-4999366327983059648,"saITsM":-3199857184073376440},"stringDateField":"1993-03-05","stringDateTimeField":"2021-05-27T10:37:32Z","stringField":"VUjIRlGh","stringTimeField":"04:12:37.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":254,"numField":-558.4596016386661,"stringDateField":"1993-03-05","stringDateTimeField":"2021-05-27T10:37:32Z","stringField":"VUjIRlGh","stringTimeField":"04:12:37.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3288,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3288,"uuid":"9e0a89d9-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gfKJvNeD","sYRrGYppY","UahWZj","ozgubrXlds","KgiICR"],"boolField":true,"intField":852,"numField":679.2486942461509,"objField":{"OMcYM":-5113375754110064236,"hvqnLxNqph":7148831075919491044,"wVzpvuqyWz":6443526979292502345,"zPcikwoAB":-7019675567282051697},"stringDateField":"1997-08-18","stringDateTimeField":"1938-03-10T16:15:06Z","stringField":"WKLqOrioBi","stringTimeField":"12:25:53.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":852,"numField":679.2486942461509,"stringDateField":"1997-08-18","stringDateTimeField":"1938-03-10T16:15:06Z","stringField":"WKLqOrioBi","stringTimeField":"12:25:53.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3289,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3289,"uuid":"9e0a89d9-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["UtbI"],"boolField":false,"intField":-344,"numField":793.4364558391749,"objField":{"BZRNyI":8476297630531606512,"Btvlr":4626890608382439173,"CBZbagNiPg":-8513663213310911373,"WAZURnwl":-5250947033563451552,"YMpBQgEG":8544117880137442739,"iMkXn":-7886370134697474003},"stringDateField":"1916-07-01","stringDateTimeField":"2021-06-17T00:27:03Z","stringField":"foQTcvNwx","stringTimeField":"13:01:18.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":-344,"numField":793.4364558391749,"stringDateField":"1916-07-01","stringDateTimeField":"2021-06-17T00:27:03Z","stringField":"foQTcvNwx","stringTimeField":"13:01:18.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3290,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3290,"uuid":"9e0a89d9-5655-11ee-a001-675ed0f8e89b"},"arrayField":["oRIkZI","CFJUzZKP","xdSQWcIW","qxZpZ","rIZohGZ","gYsUqjr","OgyBnj","ICidRs","Wvfo","oWdHGP"],"boolField":false,"intField":-786,"numField":-835.0810846613946,"objField":{"UKCrIhQUd":2410910051941409807,"XmHCnrfBXz":7077883307964692689,"cPkooMcwv":-8001670314217135307,"pmKmmIcb":714292413285069244,"uWdka":-7451797626338573019},"stringDateField":"1921-03-12","stringDateTimeField":"1907-10-18T04:42:39Z","stringField":"zhvdxxWyL","stringTimeField":"09:58:00.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":-786,"numField":-835.0810846613946,"stringDateField":"1921-03-12","stringDateTimeField":"1907-10-18T04:42:39Z","stringField":"zhvdxxWyL","stringTimeField":"09:58:00.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3291,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3291,"uuid":"9e0a89d9-5655-11ee-a401-675ed0f8e89b"},"arrayField":["TrPvauYe","xrrDSpxiar"],"boolField":false,"intField":772,"numField":-907.5005642604144,"objField":{"VhqYBlKPt":938435878111738169,"sBQvVVaJvV":-142169860123293191},"stringDateField":"1994-11-29","stringDateTimeField":"1941-02-23T08:18:21Z","stringField":"nFieA","stringTimeField":"08:34:23.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":772,"numField":-907.5005642604144,"stringDateField":"1994-11-29","stringDateTimeField":"1941-02-23T08:18:21Z","stringField":"nFieA","stringTimeField":"08:34:23.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3292,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3292,"uuid":"9e0a89d9-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sumUMNxoB","TOLMCeVwR","RtHYowCRs"],"boolField":false,"intField":168,"numField":684.6499177892189,"objField":{"BCRcZ":-7523362648793431732,"LpFlsT":4896820483876926488,"NsEapDu":-8585553875526186488,"PZdd":5229575221421450555,"XiBlY":-3481143044040762472,"pKSSJ":-3887504515897211304},"stringDateField":"1947-11-07","stringDateTimeField":"2006-07-12T01:04:32Z","stringField":"zMEt","stringTimeField":"10:39:06.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":168,"numField":684.6499177892189,"stringDateField":"1947-11-07","stringDateTimeField":"2006-07-12T01:04:32Z","stringField":"zMEt","stringTimeField":"10:39:06.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3293,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3293,"uuid":"9e0a89d9-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["GSDpYVR","vLvDNVDe","VarJk","OzckQ","cWSvkllg","cyNPQloA","mchcsCHjYO","HrMy"],"boolField":false,"intField":466,"numField":818.8264947541821,"objField":{"FDECD":-2547138880922336488,"QKehuLykt":-3507891492195732604,"TzBTEKfW":-3560363388599667423,"Wwdud":-4286570613956306078},"stringDateField":"1948-04-26","stringDateTimeField":"1949-11-30T14:08:07Z","stringField":"NknuBhb","stringTimeField":"19:56:09.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":466,"numField":818.8264947541821,"stringDateField":"1948-04-26","stringDateTimeField":"1949-11-30T14:08:07Z","stringField":"NknuBhb","stringTimeField":"19:56:09.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3294,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3294,"uuid":"9e0a89d9-5655-11ee-b001-675ed0f8e89b"},"arrayField":["wvRxg","LtNIOOkE","yBIOQhhutz","ZoeVPm"],"boolField":false,"intField":769,"numField":-810.3550492801004,"objField":{"LjcsFIy":-8499511477590823098,"SBinoN":-6327911547609667188,"VERiBIAPn":5743418142802155190,"YuLCmrK":-5870102626648796743,"ZrhvAlKZbj":1786580309355248300,"kZGAClI":39266443899727064,"xHncCi":-6195065591768829849,"xdFKR":-8582322899400390554},"stringDateField":"2008-03-12","stringDateTimeField":"1906-11-29T20:38:32Z","stringField":"gpjiN","stringTimeField":"01:47:04.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":769,"numField":-810.3550492801004,"stringDateField":"2008-03-12","stringDateTimeField":"1906-11-29T20:38:32Z","stringField":"gpjiN","stringTimeField":"01:47:04.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3295,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3295,"uuid":"9e0a89d9-5655-11ee-b401-675ed0f8e89b"},"arrayField":["tRigXt","wagbV","oLTZLf","FfYVXUKJ","QnkkO"],"boolField":false,"intField":1000,"numField":-720.7587449228101,"objField":{"IsIjtFCyYU":-7759379936535520691,"NRipv":-3170186891819774994,"UWgX":-5234751591398493236,"UcMvqsIf":8593784083206439742,"VpbQsps":-9002031884498391859,"nFvbrcj":-2607025610181107997},"stringDateField":"1937-09-23","stringDateTimeField":"1955-08-16T14:13:43Z","stringField":"PKng","stringTimeField":"17:49:17.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":1000,"numField":-720.7587449228101,"stringDateField":"1937-09-23","stringDateTimeField":"1955-08-16T14:13:43Z","stringField":"PKng","stringTimeField":"17:49:17.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3296,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3296,"uuid":"9e0a89d9-5655-11ee-b801-675ed0f8e89b"},"arrayField":["GgbjS","GGEFVjDzl","TRNNw","NnSbwGceZ","VCbIOnRW","guLdcZ"],"boolField":false,"intField":797,"numField":-490.1236483485316,"objField":{"QdMgRGFc":-571431878365586496,"zwqmQGm":-4367484243401995800},"stringDateField":"1995-07-20","stringDateTimeField":"1949-07-25T22:45:19Z","stringField":"HcJZsxDu","stringTimeField":"11:38:57.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":797,"numField":-490.1236483485316,"stringDateField":"1995-07-20","stringDateTimeField":"1949-07-25T22:45:19Z","stringField":"HcJZsxDu","stringTimeField":"11:38:57.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3297,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3297,"uuid":"9e0a89d9-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["YBQogWRUr","TGcGPBOgN","AyVvttt","CEScNTrib","UcAHi","SuKRkULrKn","wlDBq","XvapgGsJVq"],"boolField":true,"intField":-848,"numField":-805.6845940327187,"objField":{"DZNoQ":6968189646436904770,"GChnsQ":-5288738240205897929,"GaPcT":3009677211601521564,"Mbqv":5986721956861420112,"WWqJAxkK":-9001090429303007816,"azRB":-8335654499175740532,"dCSPM":-211393216617025847,"qdCwbTRFy":-1334915355646493896},"stringDateField":"2001-07-20","stringDateTimeField":"1911-06-17T03:28:52Z","stringField":"yYnXrqxk","stringTimeField":"04:55:44.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763737Z","intField":-848,"numField":-805.6845940327187,"stringDateField":"2001-07-20","stringDateTimeField":"1911-06-17T03:28:52Z","stringField":"yYnXrqxk","stringTimeField":"04:55:44.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3298,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3298,"uuid":"9e0a89da-5655-11ee-8001-675ed0f8e89b"},"arrayField":["BQjcyIf","hZVG","ZHLM","EeyYNe","mfVJ","MJINjRrpcr"],"boolField":false,"intField":908,"numField":-402.6666449301166,"objField":{"Ckkyf":8421357111415355521,"KlRNnDwQxy":4014628465331711800,"NdMZLQ":6011901566418342636,"ScwAZjFK":5328188338516365393,"llHXPpD":2652358696286603303,"mWNq":-1759722159241429116,"sXCwGkeRzD":6786719165606610090,"tKZLviLvd":-1536865265988074132,"uEtEwoqKEC":9139980812827584311},"stringDateField":"1979-04-20","stringDateTimeField":"1974-08-04T08:19:17Z","stringField":"jgRi","stringTimeField":"02:48:15.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":908,"numField":-402.6666449301166,"stringDateField":"1979-04-20","stringDateTimeField":"1974-08-04T08:19:17Z","stringField":"jgRi","stringTimeField":"02:48:15.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3299,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3299,"uuid":"9e0a89da-5655-11ee-8401-675ed0f8e89b"},"arrayField":["hdlpzfq","mnZDLKGFRV","aXwRlPL","eAceAb"],"boolField":false,"intField":816,"numField":-723.6891998162432,"objField":{"Reas":5283993161881004725,"TCSwdxgVm":-431903231092461147,"oiQE":-3751992132757834777,"yZTH":173646678988500070},"stringDateField":"2005-09-06","stringDateTimeField":"1942-08-12T11:54:42Z","stringField":"gGdUZPT","stringTimeField":"01:15:50.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":816,"numField":-723.6891998162432,"stringDateField":"2005-09-06","stringDateTimeField":"1942-08-12T11:54:42Z","stringField":"gGdUZPT","stringTimeField":"01:15:50.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3300,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3300,"uuid":"9e0a89da-5655-11ee-8801-675ed0f8e89b"},"arrayField":["aHejMDJc","zQWnq","iVDJZjZk","OXZoDP","TedCtJy"],"boolField":true,"intField":-713,"numField":86.34251527378223,"objField":{"IdhRnqi":8436131844047792278,"gAECNRpmz":-433871540922240748,"ksknMb":-6303307974834786697},"stringDateField":"2012-11-04","stringDateTimeField":"1920-05-14T14:10:04Z","stringField":"UFQm","stringTimeField":"21:00:01.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":-713,"numField":86.34251527378223,"stringDateField":"2012-11-04","stringDateTimeField":"1920-05-14T14:10:04Z","stringField":"UFQm","stringTimeField":"21:00:01.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3301,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3301,"uuid":"9e0a89da-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["uIqOAJG","KlaflOr","EvTWR"],"boolField":true,"intField":132,"numField":-108.21860444369004,"objField":{"AYjQVZAbq":-5763350767195588973,"KLXVZIdLqR":-3743560501626008038,"NwlzdAdo":1057061185589410585,"RgRfLhFWRE":62000400848746916,"cgQcJGbXtC":1844738392783150020,"wYuvByt":4226161101781267169},"stringDateField":"1913-08-18","stringDateTimeField":"1958-09-05T16:50:34Z","stringField":"TXrWuQnTxs","stringTimeField":"09:13:15.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":132,"numField":-108.21860444369004,"stringDateField":"1913-08-18","stringDateTimeField":"1958-09-05T16:50:34Z","stringField":"TXrWuQnTxs","stringTimeField":"09:13:15.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3302,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3302,"uuid":"9e0a89da-5655-11ee-9001-675ed0f8e89b"},"arrayField":["SHqXkQgZkS","BcCWK","LvvQdl","huXgRiMmv","rqZs","KtVUrPnn","plbyuWh"],"boolField":true,"intField":-131,"numField":600.633331955936,"objField":{"Rcfdzu":-6424545277192928183,"gldF":3043076949115822855,"krhzG":-159855847530408696,"rLvnhaR":-4016122547774320295,"zqoIhXX":-6858381525252956523},"stringDateField":"1990-08-31","stringDateTimeField":"1910-03-13T11:18:39Z","stringField":"OerBRXJGEH","stringTimeField":"05:15:28.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":-131,"numField":600.633331955936,"stringDateField":"1990-08-31","stringDateTimeField":"1910-03-13T11:18:39Z","stringField":"OerBRXJGEH","stringTimeField":"05:15:28.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3303,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3303,"uuid":"9e0a89da-5655-11ee-9401-675ed0f8e89b"},"arrayField":["YoAOHgs","pDeQ","XCZRqblpJ","BBRwveDPZ","bSiX"],"boolField":true,"intField":-927,"numField":-762.5516710524284,"objField":{"NSuQCRVh":-5068217202369050150,"RugEoF":-5911127647218056798},"stringDateField":"2013-08-18","stringDateTimeField":"1932-12-13T09:15:18Z","stringField":"vUUMvbXJT","stringTimeField":"08:45:21.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":-927,"numField":-762.5516710524284,"stringDateField":"2013-08-18","stringDateTimeField":"1932-12-13T09:15:18Z","stringField":"vUUMvbXJT","stringTimeField":"08:45:21.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3304,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3304,"uuid":"9e0a89da-5655-11ee-9801-675ed0f8e89b"},"arrayField":["BTPCl","jgCucpA"],"boolField":true,"intField":779,"numField":693.4397823625015,"objField":{"VGrUHIOM":-3122771616398000926,"VTsxdD":-9120373058020063630,"uAZoQ":7378564808656958452},"stringDateField":"2000-11-01","stringDateTimeField":"1940-10-01T16:34:20Z","stringField":"YrshNa","stringTimeField":"23:58:40.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":779,"numField":693.4397823625015,"stringDateField":"2000-11-01","stringDateTimeField":"1940-10-01T16:34:20Z","stringField":"YrshNa","stringTimeField":"23:58:40.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3305,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3305,"uuid":"9e0a89da-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["nDPIz","PxJfZ","NACAKmuR"],"boolField":true,"intField":-97,"numField":-227.49812235565847,"objField":{"AqFxFW":-1183834930121331392,"FiNzuciH":-923537203154603773,"INDS":3333464575062369461,"KhZxyz":-254345904040252373,"swUEnnFQv":-5370352325685826351},"stringDateField":"1930-12-06","stringDateTimeField":"1903-02-02T01:35:14Z","stringField":"VJECVRbXk","stringTimeField":"16:13:06.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":-97,"numField":-227.49812235565847,"stringDateField":"1930-12-06","stringDateTimeField":"1903-02-02T01:35:14Z","stringField":"VJECVRbXk","stringTimeField":"16:13:06.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3306,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3306,"uuid":"9e0a89da-5655-11ee-a001-675ed0f8e89b"},"arrayField":["UTnIls","ckTgneUOJ","INoud","KiaJNzYpj","aXeieaieZ","uhbs","RCIC","ioAPTKuyo"],"boolField":true,"intField":-836,"numField":138.28243508950288,"objField":{"CltRXDI":7174694661675163134,"MfZqauUX":-8854151120647209530,"Tbwvg":-8544433377278548798,"ahiOtIx":-8935991214473620014,"onNCAARpFi":-4085763354159036159,"owuOEW":4128748264180397302},"stringDateField":"1994-06-13","stringDateTimeField":"2004-01-31T18:32:06Z","stringField":"sMfwiZdh","stringTimeField":"21:14:56.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":-836,"numField":138.28243508950288,"stringDateField":"1994-06-13","stringDateTimeField":"2004-01-31T18:32:06Z","stringField":"sMfwiZdh","stringTimeField":"21:14:56.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3307,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3307,"uuid":"9e0a89da-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ehNs","HimJjrgQJZ","epWvzvCE","fcnROz","FLaLHgM","jzMFoPv","wvVxkgReqZ","aGQUg","YXrZDaYV","BvBDRGC"],"boolField":true,"intField":-57,"numField":733.6519992568274,"objField":{"IAWGWZryM":-6657861735535383202,"IQjaUaPDGw":-8967818683206718409,"NKHw":-6941580834084024010,"UvREGtBDm":-1842810177075352126,"ZYnqeMPWO":-7924171519539911540,"gtbMJ":-4832611665714062358,"lGbfeDkSrJ":3919918942967640255,"mLTvvuaK":-3893355712825441356},"stringDateField":"2010-08-05","stringDateTimeField":"1993-11-25T06:55:53Z","stringField":"fyWppIHs","stringTimeField":"22:28:26.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":-57,"numField":733.6519992568274,"stringDateField":"2010-08-05","stringDateTimeField":"1993-11-25T06:55:53Z","stringField":"fyWppIHs","stringTimeField":"22:28:26.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3308,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3308,"uuid":"9e0a89da-5655-11ee-a801-675ed0f8e89b"},"arrayField":["qbWLGK","qgLbA","ASFOgCyTux","ZKFPX","hyhxkgytGr","estmos","DoGdajeo","wujmI"],"boolField":true,"intField":490,"numField":775.9657804480725,"objField":{"DoBe":-8948206072336426469,"TygiuczrTE":4677694216954388340,"YdVyiFdA":3111522772455329546,"ZWlaPvm":-9022255876886972911,"kNNT":711704718360184870,"zutgB":-1318206710613984131},"stringDateField":"1927-09-19","stringDateTimeField":"2000-08-10T15:46:33Z","stringField":"KJGACAYgNP","stringTimeField":"23:27:12.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":490,"numField":775.9657804480725,"stringDateField":"1927-09-19","stringDateTimeField":"2000-08-10T15:46:33Z","stringField":"KJGACAYgNP","stringTimeField":"23:27:12.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3309,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3309,"uuid":"9e0a89da-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["bjGX","aWuL","THJVpNtmT","KqCD"],"boolField":false,"intField":490,"numField":218.1337641671115,"objField":{"JWnSZzet":471690466748559988,"SachLwV":-2406606010419903003,"aPPvt":-4307001070352258420,"fpZRciU":-4230861314178897036,"hSbrtyliA":-2894891866834438966,"iVuSFo":-8075852253741678270,"jgnKLetk":7136487983734795722},"stringDateField":"1932-03-10","stringDateTimeField":"1913-08-28T21:28:21Z","stringField":"jKTsoE","stringTimeField":"07:21:05.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":490,"numField":218.1337641671115,"stringDateField":"1932-03-10","stringDateTimeField":"1913-08-28T21:28:21Z","stringField":"jKTsoE","stringTimeField":"07:21:05.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3310,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3310,"uuid":"9e0a89da-5655-11ee-b001-675ed0f8e89b"},"arrayField":["tGly","hsSqhUOQ"],"boolField":true,"intField":75,"numField":81.314880698244,"objField":{"GMrJsH":-4786234486194010745,"LlOJeP":7388930203794880754},"stringDateField":"1951-03-04","stringDateTimeField":"1954-09-10T19:04:20Z","stringField":"XMgE","stringTimeField":"19:06:47.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":75,"numField":81.314880698244,"stringDateField":"1951-03-04","stringDateTimeField":"1954-09-10T19:04:20Z","stringField":"XMgE","stringTimeField":"19:06:47.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3311,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3311,"uuid":"9e0a89da-5655-11ee-b401-675ed0f8e89b"},"arrayField":["UVHRJcb","lFicL"],"boolField":false,"intField":259,"numField":871.158634367881,"objField":{"WqJJgxma":-8366497339491714651},"stringDateField":"1986-06-26","stringDateTimeField":"1932-12-05T06:28:39Z","stringField":"SuDSXOlDxO","stringTimeField":"10:34:22.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":259,"numField":871.158634367881,"stringDateField":"1986-06-26","stringDateTimeField":"1932-12-05T06:28:39Z","stringField":"SuDSXOlDxO","stringTimeField":"10:34:22.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3312,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3312,"uuid":"9e0a89da-5655-11ee-b801-675ed0f8e89b"},"arrayField":["PtEPF","HGUCSnfHht"],"boolField":true,"intField":-23,"numField":198.87912170134837,"objField":{"MyEUvS":-7273156351627653147,"SUYycO":1570668695201561861,"WFaRWyIevM":1303545576598509415,"XdNvRRi":309790139453292898,"bEWJg":-2006571004274028477,"jGiaL":-6769682390165236052,"urxACOaz":6587904546042640666,"zELzICcFd":4184041332401629838},"stringDateField":"1926-07-07","stringDateTimeField":"1931-12-08T16:26:10Z","stringField":"izDlYaho","stringTimeField":"16:13:02.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":-23,"numField":198.87912170134837,"stringDateField":"1926-07-07","stringDateTimeField":"1931-12-08T16:26:10Z","stringField":"izDlYaho","stringTimeField":"16:13:02.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3313,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3313,"uuid":"9e0a89da-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["vICEXdKkQb"],"boolField":false,"intField":-857,"numField":704.0097954787515,"objField":{"FmVdJH":807023353449726762,"IPMXJCHX":-5682183012349401739,"UglYxMLJwB":1581711354620453826,"ekkAGxu":-9043132260571309368,"gNlWHkylUg":6952397888878476326,"kBHTsYVaL":-5737306123457126425,"kXRmInk":-8708122038969798696},"stringDateField":"1954-10-04","stringDateTimeField":"1992-07-02T19:58:55Z","stringField":"oJmgdkd","stringTimeField":"11:37:24.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763738Z","intField":-857,"numField":704.0097954787515,"stringDateField":"1954-10-04","stringDateTimeField":"1992-07-02T19:58:55Z","stringField":"oJmgdkd","stringTimeField":"11:37:24.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3314,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3314,"uuid":"9e0a89db-5655-11ee-8001-675ed0f8e89b"},"arrayField":["vQKopfD","DjGx","qFFsxA","bXWUox","QiEP","KinQf","fPeesNECF"],"boolField":false,"intField":-331,"numField":-614.4083833620731,"objField":{"iJzIzSw":8257621793073073023,"nmrudp":2540687504357910892,"yJKIvmjVl":1521730404514243673},"stringDateField":"1958-09-01","stringDateTimeField":"1987-12-28T23:23:34Z","stringField":"ZxKNh","stringTimeField":"11:26:45.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-331,"numField":-614.4083833620731,"stringDateField":"1958-09-01","stringDateTimeField":"1987-12-28T23:23:34Z","stringField":"ZxKNh","stringTimeField":"11:26:45.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3315,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3315,"uuid":"9e0a89db-5655-11ee-8401-675ed0f8e89b"},"arrayField":["VpDcwaq"],"boolField":true,"intField":-86,"numField":-544.5323796331451,"objField":{"EFZjABeZIM":5088482894262200367,"MtOMLIWl":-3817445618842299513,"OjKZKN":6509370156654304302,"SiCS":1659193746972575856,"TPtfXo":7954867943767757931,"UIgHvQm":3654277048303133043,"cgxqnRCS":-8376086427712650446,"jyyUhW":-313460031624345460,"ovqvhdQlxA":-7673427487736032261,"pBYsFAgE":-2744129309078127189},"stringDateField":"1926-02-20","stringDateTimeField":"1916-09-19T07:11:02Z","stringField":"YBEa","stringTimeField":"05:08:52.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-86,"numField":-544.5323796331451,"stringDateField":"1926-02-20","stringDateTimeField":"1916-09-19T07:11:02Z","stringField":"YBEa","stringTimeField":"05:08:52.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3316,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3316,"uuid":"9e0a89db-5655-11ee-8801-675ed0f8e89b"},"arrayField":["AjBnhxphll","tVbd","DiwVRIG","IFFbzAQ","tNlKGJo","jfgWWUsXt"],"boolField":false,"intField":-351,"numField":-604.1704507162281,"objField":{"GnquhrwpDj":2077332662178989317,"YtwQiUTXX":-6194877364569347555,"ZwKXNGpUI":-7076784435947736854,"eULCLiSJaW":-8463177815995796612,"pVTxb":1073786877049655968},"stringDateField":"1955-06-06","stringDateTimeField":"1939-03-31T02:05:36Z","stringField":"QswNoAXoH","stringTimeField":"15:32:16.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-351,"numField":-604.1704507162281,"stringDateField":"1955-06-06","stringDateTimeField":"1939-03-31T02:05:36Z","stringField":"QswNoAXoH","stringTimeField":"15:32:16.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3317,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3317,"uuid":"9e0a89db-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["RpZs","JUQaif","TgOFlzP","ADWZ","sIQg"],"boolField":false,"intField":-345,"numField":613.8179607386296,"objField":{"RiKyKupI":-8635925111009591036},"stringDateField":"1936-05-31","stringDateTimeField":"1944-08-26T13:59:36Z","stringField":"KljfQaM","stringTimeField":"08:56:30.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-345,"numField":613.8179607386296,"stringDateField":"1936-05-31","stringDateTimeField":"1944-08-26T13:59:36Z","stringField":"KljfQaM","stringTimeField":"08:56:30.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3318,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3318,"uuid":"9e0a89db-5655-11ee-9001-675ed0f8e89b"},"arrayField":["qeiQ","UtBZS","lPcDD","wnoeYavB","Zpgig","pvRKF","TDoZJAwouA","wfHfm","qCuLGDczrR"],"boolField":false,"intField":691,"numField":581.9792500433025,"objField":{"JKJOAteL":3406101903373628262,"LaWmTh":-149866526795898043,"NRCLA":2369771215784723430,"bOJwdqxebO":-5912499207882802523,"gIVBRuO":-4869022738072824820,"hEJtlMm":8897924867592196211,"nkIYXoA":-7948436946809126504,"rMbwSw":-1286051155833264922,"ukZsXCun":-1756411243160851349,"zeukhu":-7898853899473490024},"stringDateField":"1956-04-30","stringDateTimeField":"1959-05-18T09:30:25Z","stringField":"ttNpNbpXn","stringTimeField":"12:31:27.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":691,"numField":581.9792500433025,"stringDateField":"1956-04-30","stringDateTimeField":"1959-05-18T09:30:25Z","stringField":"ttNpNbpXn","stringTimeField":"12:31:27.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3319,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3319,"uuid":"9e0a89db-5655-11ee-9401-675ed0f8e89b"},"arrayField":["aaXGUQdfTa","VbDw","CepngNs","CrgWudiKv","BQDdY","gXSaSolPLM","MgwSTrj","rLun","PfcIG"],"boolField":false,"intField":-224,"numField":-1.4487251791553968,"objField":{"AdHb":-6615474478619831748,"CiTLYlZAQ":-7424062256016153925,"IkReX":6394812059475869501,"OwHExOTK":6249855793560687400,"TBrDVL":592457122369570499,"XGDXUw":5317684467032465597,"iOoqm":5177683339286132958,"teYDMXysm":5734023008638874574},"stringDateField":"1940-11-06","stringDateTimeField":"1929-04-13T15:22:38Z","stringField":"RCbhhFJl","stringTimeField":"02:56:40.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-224,"numField":-1.4487251791553968,"stringDateField":"1940-11-06","stringDateTimeField":"1929-04-13T15:22:38Z","stringField":"RCbhhFJl","stringTimeField":"02:56:40.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3320,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3320,"uuid":"9e0a89db-5655-11ee-9801-675ed0f8e89b"},"arrayField":["MVMvKHa","GMWV","DVhtYOCd","KIYTeI","Tkmm","vYDqXa","OVYlZoiE","dQjcQ"],"boolField":true,"intField":-932,"numField":198.6172174327754,"objField":{"VVLal":-3685014752546432650,"VocEJTT":-4826942740274982470,"YdWn":2740460761436563138},"stringDateField":"1984-10-11","stringDateTimeField":"1977-07-14T03:17:43Z","stringField":"HwnmBgWKQ","stringTimeField":"12:16:34.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-932,"numField":198.6172174327754,"stringDateField":"1984-10-11","stringDateTimeField":"1977-07-14T03:17:43Z","stringField":"HwnmBgWKQ","stringTimeField":"12:16:34.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3321,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3321,"uuid":"9e0a89db-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["fXVWVWPQrz","uhMmiR"],"boolField":true,"intField":739,"numField":-410.16647601194,"objField":{"JokPdLk":-2119130099575013634,"LLLVFG":210557595104202038,"dYNFCtjut":236060862683334458},"stringDateField":"1903-01-31","stringDateTimeField":"1972-12-25T06:39:39Z","stringField":"wagv","stringTimeField":"08:33:44.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":739,"numField":-410.16647601194,"stringDateField":"1903-01-31","stringDateTimeField":"1972-12-25T06:39:39Z","stringField":"wagv","stringTimeField":"08:33:44.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3322,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3322,"uuid":"9e0a89db-5655-11ee-a001-675ed0f8e89b"},"arrayField":["fHqRe","EpcxK","MfDFkTOI","SnVJn","gFnkYppu"],"boolField":true,"intField":850,"numField":956.25392400948,"objField":{"FvFIFCn":-857204053184371305},"stringDateField":"2012-01-13","stringDateTimeField":"1971-06-08T22:27:33Z","stringField":"kcZj","stringTimeField":"02:39:56.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":850,"numField":956.25392400948,"stringDateField":"2012-01-13","stringDateTimeField":"1971-06-08T22:27:33Z","stringField":"kcZj","stringTimeField":"02:39:56.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3323,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3323,"uuid":"9e0a89db-5655-11ee-a401-675ed0f8e89b"},"arrayField":["AeckEs","Xtdn","Lzcm","MGrVlAvdJ","pDtgA","HbFxf","dfaSKV","uePkSh","cLZf","qCTHydChSF"],"boolField":true,"intField":-754,"numField":812.7464529569346,"objField":{"NJJE":1431735260572353991,"WOmHLi":5495380819213315991,"xBAbvDHQY":546466476226886423},"stringDateField":"1928-01-28","stringDateTimeField":"1989-07-02T23:19:01Z","stringField":"IRMfBI","stringTimeField":"21:33:47.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-754,"numField":812.7464529569346,"stringDateField":"1928-01-28","stringDateTimeField":"1989-07-02T23:19:01Z","stringField":"IRMfBI","stringTimeField":"21:33:47.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3324,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3324,"uuid":"9e0a89db-5655-11ee-a801-675ed0f8e89b"},"arrayField":["SXKbiEW","ByaaIiUTj","TWhpvZsjM","OiySDwKp","gtIdQJn","hQYWyb"],"boolField":true,"intField":-759,"numField":-302.0750719637628,"objField":{"OiMR":-8423272575521496162,"PujWx":-2880484236610916093,"UKvDgVTi":8265253327006210149,"ZuZPNpV":804186618753640629,"jAKlK":-6395666258761923007,"pBkqS":-1143938974403633711,"pCUjDnhzT":4698131448202758576,"vhCzZiPIq":5679260444025301227,"zVzZhguB":4796899507230600101},"stringDateField":"1908-03-17","stringDateTimeField":"1961-10-30T18:38:38Z","stringField":"xKKxJp","stringTimeField":"09:41:27.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-759,"numField":-302.0750719637628,"stringDateField":"1908-03-17","stringDateTimeField":"1961-10-30T18:38:38Z","stringField":"xKKxJp","stringTimeField":"09:41:27.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3325,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3325,"uuid":"9e0a89db-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["Jvadcr","MaMEF"],"boolField":true,"intField":-36,"numField":874.3977735444362,"objField":{"YbZmkz":1416195378142669127,"YclHLGbTI":8634269814188667873,"aaHwxj":7883540064231736589,"ljtiARL":408523617697541775,"piRttQs":6773315830322584714,"ptUDRWs":-8654458851640892967},"stringDateField":"1957-07-31","stringDateTimeField":"1923-06-22T10:46:38Z","stringField":"roqFjgqT","stringTimeField":"13:42:02.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-36,"numField":874.3977735444362,"stringDateField":"1957-07-31","stringDateTimeField":"1923-06-22T10:46:38Z","stringField":"roqFjgqT","stringTimeField":"13:42:02.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3326,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3326,"uuid":"9e0a89db-5655-11ee-b001-675ed0f8e89b"},"arrayField":["IQpwvb","obrtxvXbI","QeGozcqjB","nlYA","aeZpmezzet","ItQLmu","WIXe","wSwPDniGOQ","FHZqz","UvPySLx"],"boolField":true,"intField":-429,"numField":-699.1264564529257,"objField":{"zQeIAAfJgH":-1020313094615587829},"stringDateField":"1943-02-28","stringDateTimeField":"1986-10-04T23:32:39Z","stringField":"KnbwHWV","stringTimeField":"14:26:50.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-429,"numField":-699.1264564529257,"stringDateField":"1943-02-28","stringDateTimeField":"1986-10-04T23:32:39Z","stringField":"KnbwHWV","stringTimeField":"14:26:50.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3327,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3327,"uuid":"9e0a89db-5655-11ee-b401-675ed0f8e89b"},"arrayField":["UaGtUtmcw","tyHqLCwxA"],"boolField":false,"intField":447,"numField":652.8543213632396,"objField":{"rboONR":5834800059585234984,"wSjPAChW":-8244437219799136840},"stringDateField":"1903-03-01","stringDateTimeField":"2001-10-24T06:12:15Z","stringField":"RhOCBwn","stringTimeField":"12:34:30.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":447,"numField":652.8543213632396,"stringDateField":"1903-03-01","stringDateTimeField":"2001-10-24T06:12:15Z","stringField":"RhOCBwn","stringTimeField":"12:34:30.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3328,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3328,"uuid":"9e0a89db-5655-11ee-b801-675ed0f8e89b"},"arrayField":["UWedlOn","PeKLCNECVk","JHUftOwi","VHOyZTZG","VLmoAaY","GdOA","CZGnpxwfZt","OoAtTh","FnaZBux"],"boolField":true,"intField":-252,"numField":751.7160253035739,"objField":{"NCMpeLKMQJ":299815886448617596,"clIKR":-1526778762368165747,"ivZJ":8400520085981911760},"stringDateField":"2003-02-06","stringDateTimeField":"2018-08-02T22:17:27Z","stringField":"nFvvKGxFvU","stringTimeField":"17:43:39.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-252,"numField":751.7160253035739,"stringDateField":"2003-02-06","stringDateTimeField":"2018-08-02T22:17:27Z","stringField":"nFvvKGxFvU","stringTimeField":"17:43:39.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3329,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3329,"uuid":"9e0a89db-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["XulRy","KpIliFQFhy","ZCpyO","QSYqFDd","SIaQPc","AdAtHx","UGqKas","idovQnHQ","nepE"],"boolField":false,"intField":-632,"numField":-308.9073582522599,"objField":{"PzFTlb":-388602286644091838,"lUFDnT":2378447047278489545,"pDIibFCTA":-4285727955760222244,"rSNCliOtl":-454783554152386307,"zgSdkTNvv":-7416630739889841828},"stringDateField":"1973-02-24","stringDateTimeField":"2013-02-06T03:55:30Z","stringField":"iUNGJW","stringTimeField":"15:48:23.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763739Z","intField":-632,"numField":-308.9073582522599,"stringDateField":"1973-02-24","stringDateTimeField":"2013-02-06T03:55:30Z","stringField":"iUNGJW","stringTimeField":"15:48:23.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3330,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3330,"uuid":"9e0a89dc-5655-11ee-8001-675ed0f8e89b"},"arrayField":["OaIiO","nRGjiJMj","yaKt","jQBsuPCZpB","FLgluwS","xvlbuBf"],"boolField":true,"intField":125,"numField":-273.4280995157531,"objField":{"NNBTXTxNM":-3569177945288447049,"PZuAXw":3146139188364379274,"kPBVdWUEHN":-8552379254523399830,"oLLWBR":-6428716934211714197},"stringDateField":"1923-04-01","stringDateTimeField":"1983-06-01T04:38:41Z","stringField":"dhffaz","stringTimeField":"09:16:59.23Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":125,"numField":-273.4280995157531,"stringDateField":"1923-04-01","stringDateTimeField":"1983-06-01T04:38:41Z","stringField":"dhffaz","stringTimeField":"09:16:59.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3331,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3331,"uuid":"9e0a89dc-5655-11ee-8401-675ed0f8e89b"},"arrayField":["gWTRGxSzdW","DhEzZ","VjBrJnZ","QMcGpXetCL","lCJdsdXs"],"boolField":true,"intField":-783,"numField":408.121236631749,"objField":{"IDFNx":6984783155840711458,"cSzSsDZBMX":8101016533908279088,"djdpsMa":-4144242112105359700,"epMzzIQpg":-3683063570396884814,"fxKz":-2541115447333553627,"tFoDr":-3345490217091040864,"thDTlnphti":-5121024192583931513,"tvtBFXrVVb":3630003682701027450},"stringDateField":"1976-06-03","stringDateTimeField":"1916-01-22T11:41:57Z","stringField":"xxWFgkbldB","stringTimeField":"07:12:00.38Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":-783,"numField":408.121236631749,"stringDateField":"1976-06-03","stringDateTimeField":"1916-01-22T11:41:57Z","stringField":"xxWFgkbldB","stringTimeField":"07:12:00.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3332,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3332,"uuid":"9e0a89dc-5655-11ee-8801-675ed0f8e89b"},"arrayField":["UbQY","lhop","THVMJzk","cbBmZfgMCJ","VNYreyw","ZMwTaEDj"],"boolField":true,"intField":-993,"numField":995.9700098176634,"objField":{"IQbXOSU":8834482829526081084,"IybEvB":7890770349888706868,"OeOAZdT":3714301080493189857,"aVKNIz":6688213157615344253,"cIwtv":-3012408422939300831,"rMABMeu":3800499370314096679,"vdUEPA":6122602721736050089,"ystw":8158436946538942087},"stringDateField":"1998-12-17","stringDateTimeField":"1952-04-01T18:20:20Z","stringField":"kEvYXrsi","stringTimeField":"20:36:14.38Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":-993,"numField":995.9700098176634,"stringDateField":"1998-12-17","stringDateTimeField":"1952-04-01T18:20:20Z","stringField":"kEvYXrsi","stringTimeField":"20:36:14.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3333,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3333,"uuid":"9e0a89dc-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["tWvDdNN","uLEOemrrKd","vFnTgERp","DSBVLwtkLi","bonJ","BZum","iAXUlCha"],"boolField":true,"intField":-943,"numField":110.42191054474084,"objField":{"hVyiWD":6629354532720220725,"ijKZDQ":-2326647639487673363},"stringDateField":"2021-05-01","stringDateTimeField":"1900-10-29T12:41:03Z","stringField":"DuRKGyLsp","stringTimeField":"05:23:15.39Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":-943,"numField":110.42191054474084,"stringDateField":"2021-05-01","stringDateTimeField":"1900-10-29T12:41:03Z","stringField":"DuRKGyLsp","stringTimeField":"05:23:15.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3334,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3334,"uuid":"9e0a89dc-5655-11ee-9001-675ed0f8e89b"},"arrayField":["NlIibmI","bbKOehs","TenMFTb","zcoRcZs","OxhXjS","kkBvr"],"boolField":true,"intField":505,"numField":-174.59941106324928,"objField":{"VAXWYrpU":-4887049744953958201,"ekbUNlB":-3647223682739211464,"iZxVpdonx":5635538438615276658,"nGzefFI":-5192976280145234044},"stringDateField":"1988-06-05","stringDateTimeField":"1999-05-21T02:29:25Z","stringField":"woVRZnxT","stringTimeField":"08:43:30.37Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":505,"numField":-174.59941106324928,"stringDateField":"1988-06-05","stringDateTimeField":"1999-05-21T02:29:25Z","stringField":"woVRZnxT","stringTimeField":"08:43:30.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3335,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3335,"uuid":"9e0a89dc-5655-11ee-9401-675ed0f8e89b"},"arrayField":["fTlSA","TVJlGAe","iYrxuf","ubCoLIR","AodORalD","mHoUrYLNmQ","ozmPG","vGUVpqKH","pDWZj"],"boolField":false,"intField":11,"numField":-150.77298089153868,"objField":{"XkjCQ":-6630258770747473434,"mrPdueQ":-6286620787302631103,"pgquXjz":6976518991986353746},"stringDateField":"1977-06-07","stringDateTimeField":"1974-07-01T15:29:36Z","stringField":"VuEvbhoyFX","stringTimeField":"00:39:52.18Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":11,"numField":-150.77298089153868,"stringDateField":"1977-06-07","stringDateTimeField":"1974-07-01T15:29:36Z","stringField":"VuEvbhoyFX","stringTimeField":"00:39:52.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3336,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3336,"uuid":"9e0a89dc-5655-11ee-9801-675ed0f8e89b"},"arrayField":["JZYyz","NnJkdY","TCBw","uzxSYc","wNVnCb"],"boolField":true,"intField":434,"numField":-598.5163039883519,"objField":{"KnwnVl":-368943905055312722,"hpDoYL":8842679339492029418},"stringDateField":"1936-11-28","stringDateTimeField":"1917-09-06T10:16:35Z","stringField":"XcgdZ","stringTimeField":"08:27:09.44Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":434,"numField":-598.5163039883519,"stringDateField":"1936-11-28","stringDateTimeField":"1917-09-06T10:16:35Z","stringField":"XcgdZ","stringTimeField":"08:27:09.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3337,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3337,"uuid":"9e0a89dc-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["fYSECpDkp","bTtGsjr","IgHDBPqC","jQkV","Phng","acFq","nbClkOHEpg","pZquIv"],"boolField":false,"intField":-148,"numField":940.077876228606,"objField":{"CsRaUrXP":7306992537886204717,"LsILKUJv":1957791958152263067,"XzcJlJAk":5722009362757183954,"YSbj":1008973502602773336,"cuBOf":-2562008292006497398,"eAKFQzhE":6967503115189434395,"gNsQxtpA":-4460987220494915553,"qiPfaKNtD":6233043563252122340,"rAkLExywk":-1750381252992225257,"txBZtsSsBq":7421942256687801208},"stringDateField":"1948-04-20","stringDateTimeField":"1993-09-08T20:56:30Z","stringField":"XuZvsqXWl","stringTimeField":"03:20:50.34Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":-148,"numField":940.077876228606,"stringDateField":"1948-04-20","stringDateTimeField":"1993-09-08T20:56:30Z","stringField":"XuZvsqXWl","stringTimeField":"03:20:50.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3338,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3338,"uuid":"9e0a89dc-5655-11ee-a001-675ed0f8e89b"},"arrayField":["lMNeEDmjM"],"boolField":false,"intField":-433,"numField":984.7445273822764,"objField":{"ELqpNNrg":-2567232889076832794,"lTmC":8144444565642747549,"lnZyEvEv":1472250103344843597,"mfByr":8441590251096711078,"nuzbcv":5527261075823235962,"sVeaTH":416843682417819481},"stringDateField":"2021-06-16","stringDateTimeField":"1925-05-21T15:04:14Z","stringField":"PSJw","stringTimeField":"16:01:28.31Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":-433,"numField":984.7445273822764,"stringDateField":"2021-06-16","stringDateTimeField":"1925-05-21T15:04:14Z","stringField":"PSJw","stringTimeField":"16:01:28.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3339,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3339,"uuid":"9e0a89dc-5655-11ee-a401-675ed0f8e89b"},"arrayField":["dHyQuEPCsB","AxazXdA","rddBlSP","itZmO","ESMX","KDUYItm","VGlGWX"],"boolField":true,"intField":256,"numField":500.6927587821983,"objField":{"AqWAw":3107613874194780359,"FvnxrrxaPf":3159916703935550920,"PZOtaUBr":269812578585723026,"YRTsn":3805062239113286386,"lzrEhh":7561088715659144157,"rUbCypCc":8222080101657499850,"yMzWbSkq":-6820669433678852231},"stringDateField":"1931-11-19","stringDateTimeField":"2021-11-20T05:52:44Z","stringField":"smQlhe","stringTimeField":"19:08:07.43Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":256,"numField":500.6927587821983,"stringDateField":"1931-11-19","stringDateTimeField":"2021-11-20T05:52:44Z","stringField":"smQlhe","stringTimeField":"19:08:07.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3340,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3340,"uuid":"9e0a89dc-5655-11ee-a801-675ed0f8e89b"},"arrayField":["BvEcBrc","MWRvDsXV","uHZGxF"],"boolField":false,"intField":-606,"numField":-783.9977812482931,"objField":{"CiuS":1757262406111349513,"LEAJEWYXV":-3482079287939730850,"YNIORisW":-5072711869589444837,"iTweSeEDoe":-2429604294679391168,"lZFAu":-4240631276894938032,"mtGgwIq":1264962854171075844,"nMXaIlTh":-3304030777855089337,"qdHTLK":-7371658714556427893,"tQbV":2682710866583958146,"vLXskqL":-2887470927131314642},"stringDateField":"2012-05-08","stringDateTimeField":"1928-12-05T10:19:37Z","stringField":"NvMgXbM","stringTimeField":"03:16:22.16Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":-606,"numField":-783.9977812482931,"stringDateField":"2012-05-08","stringDateTimeField":"1928-12-05T10:19:37Z","stringField":"NvMgXbM","stringTimeField":"03:16:22.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3341,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3341,"uuid":"9e0a89dc-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["yNCFnbd","CdrRthpf","wBaY"],"boolField":true,"intField":-975,"numField":365.39658399922234,"objField":{"GoEQRj":8000993203096092420,"iNergtoYm":-698066481002256575,"nHWkv":-3767551878939508648,"uDmoHcGvg":791992249196306793},"stringDateField":"1936-09-02","stringDateTimeField":"2003-04-22T17:24:31Z","stringField":"ijJGoQpn","stringTimeField":"12:09:53.33Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":-975,"numField":365.39658399922234,"stringDateField":"1936-09-02","stringDateTimeField":"2003-04-22T17:24:31Z","stringField":"ijJGoQpn","stringTimeField":"12:09:53.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3342,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3342,"uuid":"9e0a89dc-5655-11ee-b001-675ed0f8e89b"},"arrayField":["mygWxBmyy"],"boolField":false,"intField":-971,"numField":-53.29058177273072,"objField":{"BgHradLQ":-4367655972234210453,"Jsap":-3358446546716762074,"OLdnfR":6852001703817698869,"UqGMgOvv":-7478687054033670205,"Xjstd":2857404909138779733,"ZxBwZ":-7113424199636802650,"otEFRxeDX":4836535691723492453,"owABFpew":8437166050911177828,"ujMZ":-4940104669394252259,"yAcsoBDsIu":7336720155375129191},"stringDateField":"2005-08-04","stringDateTimeField":"1925-08-13T15:40:44Z","stringField":"COOuVQdCZ","stringTimeField":"05:27:42.32Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":-971,"numField":-53.29058177273072,"stringDateField":"2005-08-04","stringDateTimeField":"1925-08-13T15:40:44Z","stringField":"COOuVQdCZ","stringTimeField":"05:27:42.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3343,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3343,"uuid":"9e0a89dc-5655-11ee-b401-675ed0f8e89b"},"arrayField":["unTA","pXuVXwjp","UKsPtzJbH","UzRQwhBs","soJUflJdS","wGWvFe","Uwztu","evefCuqSH"],"boolField":true,"intField":-770,"numField":-421.594358743947,"objField":{"snkOGPYBvy":-1445270352582665575},"stringDateField":"1940-10-12","stringDateTimeField":"1903-10-28T06:53:49Z","stringField":"KdukhR","stringTimeField":"16:09:53.27Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":-770,"numField":-421.594358743947,"stringDateField":"1940-10-12","stringDateTimeField":"1903-10-28T06:53:49Z","stringField":"KdukhR","stringTimeField":"16:09:53.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3344,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3344,"uuid":"9e0a89dc-5655-11ee-b801-675ed0f8e89b"},"arrayField":["xThAW","Ubxn","wWoHdHhT","pDQTTTcn","cOHVQqhzk","DsQOFHh","zPEIvhNnwV","UndKgCm","NtiNPHzo"],"boolField":false,"intField":-447,"numField":244.6693155974904,"objField":{"UPluLuFwwO":8244385292552392249,"bbxP":-7785292083477930572,"cHrHKZFPao":-2077713820506338583,"gIVATnYVVS":7051204885332627580,"hWhwT":6903086611061047942,"rrZf":1347331325025370036},"stringDateField":"2020-02-03","stringDateTimeField":"1992-01-10T19:32:50Z","stringField":"zjjwxqAmgL","stringTimeField":"05:16:52.45Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":-447,"numField":244.6693155974904,"stringDateField":"2020-02-03","stringDateTimeField":"1992-01-10T19:32:50Z","stringField":"zjjwxqAmgL","stringTimeField":"05:16:52.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3345,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3345,"uuid":"9e0a89dc-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["pwMb","Muje","ANpgpdJo","Ixtwampbl","aDNmGAiY","zVVE"],"boolField":false,"intField":783,"numField":582.1207950192287,"objField":{"IuZJNeT":-1317816221190242223,"OAyULjgA":-923079283615667325,"QBCqTgVtU":3782861790555437566,"oYPjtlVuN":-6505735385728836046,"qMSdLhbdrg":-1475126056635879604,"rEGTi":7331956048451769092},"stringDateField":"1917-06-27","stringDateTimeField":"1901-10-15T16:48:09Z","stringField":"pdXfWcIgEq","stringTimeField":"15:48:12.18Z"},"flow_published_at":"2023-09-18T19:00:21.876374Z","intField":783,"numField":582.1207950192287,"stringDateField":"1917-06-27","stringDateTimeField":"1901-10-15T16:48:09Z","stringField":"pdXfWcIgEq","stringTimeField":"15:48:12.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3346,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3346,"uuid":"9e0a89dd-5655-11ee-8001-675ed0f8e89b"},"arrayField":["TjFoib","fKCFNK","vGdOXxZx","ktWjuQtZ","mhyr","qESJjX","hTDFrz","nclFgN","QmtN","ZqwAFi"],"boolField":false,"intField":453,"numField":-185.5980237253221,"objField":{"CUvjPLBF":877021975282998134,"EFpdcdv":-3853911980508881196,"JmjpniYlpH":5665154353925916617,"bHpCdmUU":7505205776940993033,"tZnoMEC":-5990759083818662076},"stringDateField":"1957-11-29","stringDateTimeField":"1960-01-12T04:28:45Z","stringField":"ioAQWPcv","stringTimeField":"11:02:43.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":453,"numField":-185.5980237253221,"stringDateField":"1957-11-29","stringDateTimeField":"1960-01-12T04:28:45Z","stringField":"ioAQWPcv","stringTimeField":"11:02:43.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3347,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3347,"uuid":"9e0a89dd-5655-11ee-8401-675ed0f8e89b"},"arrayField":["NXIBasq","HyHRwTajD","DDFqAMyVuU","nKnfJtqka","sEtXhwqE","WmNZdlqgF","TVdCBaWJDO","QlwDHx","fXsDtdRH"],"boolField":true,"intField":-114,"numField":-167.79312413147008,"objField":{"TFnhrrayt":1581515572602591493,"VdILKGuOT":-2068535497832543316,"ibwFRpaTSU":-2015453241332402123},"stringDateField":"1990-05-15","stringDateTimeField":"1935-08-02T19:31:46Z","stringField":"LOcW","stringTimeField":"20:38:55.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":-114,"numField":-167.79312413147008,"stringDateField":"1990-05-15","stringDateTimeField":"1935-08-02T19:31:46Z","stringField":"LOcW","stringTimeField":"20:38:55.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3348,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3348,"uuid":"9e0a89dd-5655-11ee-8801-675ed0f8e89b"},"arrayField":["GSeFFXZYX","lbGMNObp","iWflKdgZ","brCiPwL","ZHwhRcfgg","UcQi","qGhYtpH","nhBISblPt","emmKchtA","ieSZigkLz"],"boolField":false,"intField":636,"numField":132.78637594366495,"objField":{"PlzZ":-7613183368894757627,"QzyRLXacF":-5987497291241844594,"VPliaeI":-5466367800552611204,"dZhOWDv":5700225652656553004,"syCNNuEad":5820353908598520924},"stringDateField":"1928-06-28","stringDateTimeField":"1940-08-06T18:19:21Z","stringField":"ESxTUTwCvn","stringTimeField":"12:04:53.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":636,"numField":132.78637594366495,"stringDateField":"1928-06-28","stringDateTimeField":"1940-08-06T18:19:21Z","stringField":"ESxTUTwCvn","stringTimeField":"12:04:53.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3349,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3349,"uuid":"9e0a89dd-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["REZSGEIzWx","czfSMHwCfZ","SHMEckcGQ","NuvPSCXL","HftnPkAa","QPQbVYUz","zJGirL","obouxAquB","aEutyX","mMEpKAB"],"boolField":false,"intField":802,"numField":-317.57994862961624,"objField":{"EDlveL":-3711468725141248247,"SVGmyjUYMX":-4444354681653559488,"YRREA":-6929910124296451251,"bsItly":-8018239927197614188,"gGeLTYAydM":-3879857825398135857,"gTpJReTgiB":8175418874966450897},"stringDateField":"2001-03-05","stringDateTimeField":"1927-03-31T01:42:10Z","stringField":"QQYKAhocmO","stringTimeField":"05:48:28.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":802,"numField":-317.57994862961624,"stringDateField":"2001-03-05","stringDateTimeField":"1927-03-31T01:42:10Z","stringField":"QQYKAhocmO","stringTimeField":"05:48:28.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3350,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3350,"uuid":"9e0a89dd-5655-11ee-9001-675ed0f8e89b"},"arrayField":["CHfwWc","VNPLJ","Zfmd","pDfIa","OzSmb","yBnBbJ"],"boolField":false,"intField":641,"numField":-891.9113080952859,"objField":{"BzpCllS":1938112922321816233,"HxED":-7651737834811182989,"KlkOnNKdY":-5031603305424158711,"PMoUcmpUYY":9017105608322890385,"YLLTUJ":-338324100928701871,"fWnS":7102190992702992004,"syTtNVtSM":7196509441889680699},"stringDateField":"1903-12-29","stringDateTimeField":"1938-08-25T12:27:33Z","stringField":"duWFEG","stringTimeField":"16:49:50.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":641,"numField":-891.9113080952859,"stringDateField":"1903-12-29","stringDateTimeField":"1938-08-25T12:27:33Z","stringField":"duWFEG","stringTimeField":"16:49:50.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3351,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3351,"uuid":"9e0a89dd-5655-11ee-9401-675ed0f8e89b"},"arrayField":["kAilDqWl","quHUQJO","ZmtzJsa","aTxTmbVyG","LvIXRmAIy","JCxSSEk","SLAZm","ZxYe"],"boolField":false,"intField":-286,"numField":-518.9378793435872,"objField":{"KioZaicav":3493316576845571625,"MgPxvVGZm":3604169330147091281,"OmJUDp":-3305091041394766641,"dBSlmToVl":5630440322701633762},"stringDateField":"1992-12-25","stringDateTimeField":"1928-10-28T08:41:20Z","stringField":"zhHqS","stringTimeField":"20:14:12.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":-286,"numField":-518.9378793435872,"stringDateField":"1992-12-25","stringDateTimeField":"1928-10-28T08:41:20Z","stringField":"zhHqS","stringTimeField":"20:14:12.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3352,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3352,"uuid":"9e0a89dd-5655-11ee-9801-675ed0f8e89b"},"arrayField":["afVbNH","xrNqexJ","lYqvT","NmlfofOVM","oCyHzxThy","elhJV","rYUiLOCOL","iNPMHnTFXT"],"boolField":false,"intField":-657,"numField":-762.2764358383026,"objField":{"DcPvGdlOcZ":6500846428298844904,"GEWGq":5620287326771422320,"NGFRr":5636558178453595691,"OCHLV":1054058227958597711,"OhRVEKH":1363666127413165546,"dBlE":-5838056964743131289,"ejkosmKV":6554318527170328616,"vJzOA":-8214918936292023150,"ydUnTYq":-6160750334414828489},"stringDateField":"1914-03-03","stringDateTimeField":"1989-11-10T12:57:50Z","stringField":"QWhy","stringTimeField":"02:58:49.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":-657,"numField":-762.2764358383026,"stringDateField":"1914-03-03","stringDateTimeField":"1989-11-10T12:57:50Z","stringField":"QWhy","stringTimeField":"02:58:49.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3353,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3353,"uuid":"9e0a89dd-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["LLndAS","nitTH","yemwiCDO","VjAXAYpx","QyPGhB","RWdnH","LcLtp"],"boolField":true,"intField":998,"numField":-308.99306671523686,"objField":{"fVPvvMI":-1087310865871132439,"lOBxZWTl":-4825741094291981482},"stringDateField":"1910-06-10","stringDateTimeField":"2010-05-25T16:05:56Z","stringField":"iMxE","stringTimeField":"19:05:16.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":998,"numField":-308.99306671523686,"stringDateField":"1910-06-10","stringDateTimeField":"2010-05-25T16:05:56Z","stringField":"iMxE","stringTimeField":"19:05:16.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3354,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3354,"uuid":"9e0a89dd-5655-11ee-a001-675ed0f8e89b"},"arrayField":["QNnDlIDHz","kfAIm","DNje","QtIdI"],"boolField":false,"intField":-751,"numField":462.2822349139446,"objField":{"CsXLEC":-1525502173592312298,"HJGoGM":-7703180805044187079,"IVMMJm":-2611833050158435709,"MjXobIfRGr":4916321710459504658,"plIDL":-5879834668329572925,"qiUXQKw":-1587011016280448519},"stringDateField":"1905-03-01","stringDateTimeField":"1904-02-07T06:13:02Z","stringField":"eEtoOo","stringTimeField":"15:04:40.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":-751,"numField":462.2822349139446,"stringDateField":"1905-03-01","stringDateTimeField":"1904-02-07T06:13:02Z","stringField":"eEtoOo","stringTimeField":"15:04:40.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3355,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3355,"uuid":"9e0a89dd-5655-11ee-a401-675ed0f8e89b"},"arrayField":["YGWUGl","jGPTdXaFPd","NamHd","oyMgMXfzen","pIYFNLu"],"boolField":true,"intField":-248,"numField":517.1742132644115,"objField":{"TRkPBPDE":-715400670411735026,"VIWwYCza":6573674046817609474,"XnGuH":6957481712422082597,"ZKsBSebVW":5132934234977785920,"aqarbZIr":-3456331116085938348,"ucmO":-1152950201830433193,"zCeQWZLV":-8497690629286500713},"stringDateField":"1901-01-23","stringDateTimeField":"1974-01-22T20:19:34Z","stringField":"tilciD","stringTimeField":"23:50:56.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":-248,"numField":517.1742132644115,"stringDateField":"1901-01-23","stringDateTimeField":"1974-01-22T20:19:34Z","stringField":"tilciD","stringTimeField":"23:50:56.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3356,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3356,"uuid":"9e0a89dd-5655-11ee-a801-675ed0f8e89b"},"arrayField":["iYSppSsaN","BBXnukHTa","kpHtWsKW","mRTRqWlDl","wYClUbPfR","jqVvm","lZRv","zEUuL","phfqxBFwx"],"boolField":true,"intField":-173,"numField":-302.84125995736156,"objField":{"lKbxDjFFC":3048982676295557298},"stringDateField":"1935-04-15","stringDateTimeField":"1919-04-04T02:43:38Z","stringField":"OgTXAypfH","stringTimeField":"02:30:47.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":-173,"numField":-302.84125995736156,"stringDateField":"1935-04-15","stringDateTimeField":"1919-04-04T02:43:38Z","stringField":"OgTXAypfH","stringTimeField":"02:30:47.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3357,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3357,"uuid":"9e0a89dd-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["NYmnrg"],"boolField":true,"intField":903,"numField":194.53630836535908,"objField":{"ARRK":-595890722021744756,"FzEUJr":-1175418549446145713,"PyBclfZnx":6837517082563959543,"RzHTOt":-6702489427892647811,"YaBoCHDbq":4319623383855308482,"iksCcbLjsL":-811262361344431130,"xAugIHVhe":-5800828963462736419},"stringDateField":"2023-07-28","stringDateTimeField":"1936-08-13T12:15:48Z","stringField":"AXrtlC","stringTimeField":"15:24:37.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":903,"numField":194.53630836535908,"stringDateField":"2023-07-28","stringDateTimeField":"1936-08-13T12:15:48Z","stringField":"AXrtlC","stringTimeField":"15:24:37.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3358,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3358,"uuid":"9e0a89dd-5655-11ee-b001-675ed0f8e89b"},"arrayField":["xxqqEar","dtWeBZP"],"boolField":false,"intField":374,"numField":850.4707019428702,"objField":{"AmlDysVv":1676623750643972298,"CHQMjzU":-1508662260376395722,"GnammdjD":-4740975065078600063,"MfELViEnMm":-6619491847100304655,"kGHDcErmvH":4714651338671014102,"rQauZcog":3075320904999876425,"wgpxJl":8339035220725606643},"stringDateField":"2022-10-19","stringDateTimeField":"1976-05-13T01:50:15Z","stringField":"kuwTtiaAYq","stringTimeField":"21:41:23.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":374,"numField":850.4707019428702,"stringDateField":"2022-10-19","stringDateTimeField":"1976-05-13T01:50:15Z","stringField":"kuwTtiaAYq","stringTimeField":"21:41:23.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3359,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3359,"uuid":"9e0a89dd-5655-11ee-b401-675ed0f8e89b"},"arrayField":["JhVKKpNXGq","ItawXh","IQDtu","JgsXd","pmTG","PvlEHdUJ","trkuyf"],"boolField":true,"intField":180,"numField":813.8538157915414,"objField":{"EbbPDOcs":3038398957272184979,"GlwxbAtU":-1624045488206061189,"UnYezzyzl":-1199991440869038078,"XXZobFRIdl":4186176624054772062,"mjlexhyr":1533963684582833596,"mlUHoldP":3822162862382801982,"oqJkKXLZgC":63758790657957867,"shoqAGrvY":629014853278721721,"xEINmv":8684599593315879572,"xOMbGIuBf":-5322771769262997758},"stringDateField":"1906-11-20","stringDateTimeField":"1998-10-25T11:10:55Z","stringField":"HVNbW","stringTimeField":"19:40:43.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":180,"numField":813.8538157915414,"stringDateField":"1906-11-20","stringDateTimeField":"1998-10-25T11:10:55Z","stringField":"HVNbW","stringTimeField":"19:40:43.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3360,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3360,"uuid":"9e0a89dd-5655-11ee-b801-675ed0f8e89b"},"arrayField":["maNkvsPYDu","HsmqSnmQ","OLYQSvl","AFrfJyrgm","kLVXpidq"],"boolField":false,"intField":-939,"numField":965.4754680100692,"objField":{"BTquc":-3446465544724020172,"OTNDR":3278621434222995768,"WSZV":7668380470450378366,"dXtP":8404544520966702516,"rvaAt":-240731582134633864},"stringDateField":"1993-07-14","stringDateTimeField":"1925-11-20T17:25:34Z","stringField":"DKhUYXGm","stringTimeField":"00:04:58.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":-939,"numField":965.4754680100692,"stringDateField":"1993-07-14","stringDateTimeField":"1925-11-20T17:25:34Z","stringField":"DKhUYXGm","stringTimeField":"00:04:58.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3361,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3361,"uuid":"9e0a89dd-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["TRklSPgel","VDtXdFTo","aIQTjnm","jSfpkgs","QOPyJTv","rixbhLFNx","KYZqJjEI"],"boolField":false,"intField":335,"numField":951.1233317547194,"objField":{"BxERRuXry":7301574767093336564,"YkLDn":-3036735989269886937,"bBgKCSnPC":-6976534057371738334,"eXOOE":-5711393038587997743,"fwcN":4971183719946990470,"gMRPYG":4342312173164719567,"sRbRC":-5656175075451869621},"stringDateField":"1959-02-02","stringDateTimeField":"1925-07-28T00:05:19Z","stringField":"ITyDB","stringTimeField":"22:05:01.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763741Z","intField":335,"numField":951.1233317547194,"stringDateField":"1959-02-02","stringDateTimeField":"1925-07-28T00:05:19Z","stringField":"ITyDB","stringTimeField":"22:05:01.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3362,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3362,"uuid":"9e0a89de-5655-11ee-8001-675ed0f8e89b"},"arrayField":["WMuTUzylH","ERRwprXpsE","rMlsT","LXyMcISSKw","IoqXtQ","xSoTGc","JjXztLJbl","ymkJKPrCVT"],"boolField":false,"intField":-973,"numField":-748.7083720636244,"objField":{"AnzChS":711966354631078797,"FLdvsHHVDM":-3251202101990236892,"ShGB":8031893950194928132,"UygGWBji":8954884341251070963},"stringDateField":"1931-05-27","stringDateTimeField":"2004-10-08T02:04:25Z","stringField":"QiZAcIUE","stringTimeField":"18:39:09.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":-973,"numField":-748.7083720636244,"stringDateField":"1931-05-27","stringDateTimeField":"2004-10-08T02:04:25Z","stringField":"QiZAcIUE","stringTimeField":"18:39:09.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3363,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3363,"uuid":"9e0a89de-5655-11ee-8401-675ed0f8e89b"},"arrayField":["CWrLAEiT","gAkiKCwDM","yAOLVyVY","IxbmNiZ","QynkHGt","XCVkOM","rpjvYbTzG"],"boolField":false,"intField":327,"numField":-172.43445575806982,"objField":{"BbuWhCW":-3480422394380624713,"HMuB":-4595804894714663813,"SxLCf":-4015841179516652147},"stringDateField":"1997-07-25","stringDateTimeField":"1941-08-23T05:07:04Z","stringField":"fVExFjn","stringTimeField":"07:47:44.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":327,"numField":-172.43445575806982,"stringDateField":"1997-07-25","stringDateTimeField":"1941-08-23T05:07:04Z","stringField":"fVExFjn","stringTimeField":"07:47:44.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3364,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3364,"uuid":"9e0a89de-5655-11ee-8801-675ed0f8e89b"},"arrayField":["LFAoqTAqHu","AjtayO","hpSlBxnDhF","KpmIMDPjbu","EXFLkb","KpPYMeoYIj"],"boolField":true,"intField":-936,"numField":-702.2244641039619,"objField":{"GKzMD":8846025581543171739,"KHsHpP":2677935706020350423,"OaVSIFK":-7163916246510294834,"QEkMMv":3605424779615863951,"bbcBex":1973782344600385033,"fCLzyIJ":3506315070224185671,"gbUFAxhvo":-6743828799436973921,"jnZoWY":-4541162352877394860},"stringDateField":"1911-08-14","stringDateTimeField":"1974-07-27T14:02:01Z","stringField":"IfHrhyZO","stringTimeField":"12:29:05.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":-936,"numField":-702.2244641039619,"stringDateField":"1911-08-14","stringDateTimeField":"1974-07-27T14:02:01Z","stringField":"IfHrhyZO","stringTimeField":"12:29:05.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3365,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3365,"uuid":"9e0a89de-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["yDjhTIHfUm","FzIZJVKr","xvNHg","ERMaXlJaak","aadoSSLzc","wArTNbKN","XiFHGGZjfH"],"boolField":true,"intField":-395,"numField":8.113824625781918,"objField":{"GwNn":3607943439296455658,"UVznfo":1284849684625354638,"kwjXHtWKT":-9081519391806720846,"mJIDgRd":7291491761749736302,"yArTLjSta":-1843072096802190002,"yJzGgrEXr":-7342261756788616222,"yfUERFjOW":-7684630250280931523,"zaJvgDmU":1654946255301021908},"stringDateField":"1985-09-14","stringDateTimeField":"1941-04-27T16:23:28Z","stringField":"RArtIifYp","stringTimeField":"18:56:04.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":-395,"numField":8.113824625781918,"stringDateField":"1985-09-14","stringDateTimeField":"1941-04-27T16:23:28Z","stringField":"RArtIifYp","stringTimeField":"18:56:04.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3366,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3366,"uuid":"9e0a89de-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ZsmT","iNiS","eZkKyTATKu","nzNTIy","ZWVCgiUXI","gkGONq","lYljYAXRm","GqaaHivx","xxuUYlO"],"boolField":false,"intField":-246,"numField":-909.3972292693044,"objField":{"CzNVKJsFbM":-4385503109473104074},"stringDateField":"2022-10-09","stringDateTimeField":"1907-12-24T06:16:42Z","stringField":"QKUJkdv","stringTimeField":"03:40:51.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":-246,"numField":-909.3972292693044,"stringDateField":"2022-10-09","stringDateTimeField":"1907-12-24T06:16:42Z","stringField":"QKUJkdv","stringTimeField":"03:40:51.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3367,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3367,"uuid":"9e0a89de-5655-11ee-9401-675ed0f8e89b"},"arrayField":["mRdbAFjC","YeEEYswH","cmjMcGGRdI","yrtQypB"],"boolField":true,"intField":-310,"numField":866.8436403823248,"objField":{"BNiKFQMATA":8427002155086727396,"EgiPocBZ":-7946724484750911488,"KAuoRnPT":-2916224102244778423,"KrprExFDc":6780788524449708716,"XRPljKb":-4999618773570322880,"ZpidtwmJpf":-1937180902529771763,"avbNL":6588993115059603488,"ijWGrCqKJr":-6032950687158204752,"vfhAU":-1344636183510804159},"stringDateField":"1906-09-13","stringDateTimeField":"2023-07-20T19:13:23Z","stringField":"nJQKIYWNrP","stringTimeField":"02:46:53.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":-310,"numField":866.8436403823248,"stringDateField":"1906-09-13","stringDateTimeField":"2023-07-20T19:13:23Z","stringField":"nJQKIYWNrP","stringTimeField":"02:46:53.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3368,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3368,"uuid":"9e0a89de-5655-11ee-9801-675ed0f8e89b"},"arrayField":["agagHsr","haVmJ","gTobbvqGg","DoRlZ","CqQUtG","fRJezwVzyt","jmteE","pbdLH","KLxBkCS","vuUpxL"],"boolField":true,"intField":238,"numField":287.1479848430334,"objField":{"CBFJgs":1368106397817473495,"KtjFc":-205953064355711960},"stringDateField":"1944-11-05","stringDateTimeField":"1920-11-15T03:32:53Z","stringField":"jglIU","stringTimeField":"01:42:53.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":238,"numField":287.1479848430334,"stringDateField":"1944-11-05","stringDateTimeField":"1920-11-15T03:32:53Z","stringField":"jglIU","stringTimeField":"01:42:53.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3369,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3369,"uuid":"9e0a89de-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["SqFA","vyXkUBL","EFDBf","vEdSphZApJ","IxnmgJjDt","eNIniS"],"boolField":true,"intField":-54,"numField":-919.2715961834884,"objField":{"EvlPFcdMKD":-9009766754594324248,"NywWKbBloa":2038185895156387326,"yZnhxg":-9033300261934573516},"stringDateField":"1923-04-06","stringDateTimeField":"1940-02-01T23:32:24Z","stringField":"rmxPcBMp","stringTimeField":"06:49:42.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":-54,"numField":-919.2715961834884,"stringDateField":"1923-04-06","stringDateTimeField":"1940-02-01T23:32:24Z","stringField":"rmxPcBMp","stringTimeField":"06:49:42.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3370,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3370,"uuid":"9e0a89de-5655-11ee-a001-675ed0f8e89b"},"arrayField":["odSOGnKRk"],"boolField":false,"intField":-162,"numField":577.6961913808744,"objField":{"TChZHrV":1911242151685988753,"ivqu":-5479245103449059814,"kBjFxZouc":5157633210698736963,"uhMPU":-3128423109171572799},"stringDateField":"1956-03-16","stringDateTimeField":"1953-09-03T13:19:13Z","stringField":"xtfDODDM","stringTimeField":"02:42:48.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":-162,"numField":577.6961913808744,"stringDateField":"1956-03-16","stringDateTimeField":"1953-09-03T13:19:13Z","stringField":"xtfDODDM","stringTimeField":"02:42:48.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3371,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3371,"uuid":"9e0a89de-5655-11ee-a401-675ed0f8e89b"},"arrayField":["PKoxQ","ddJNzqPOGh","tRIiinuKts","LuDyDh","hKAiU","HZnbWcny","MYRVnePPg","wJkHraR","qyDol"],"boolField":false,"intField":-937,"numField":939.1682748851616,"objField":{"CuGQ":3136448395157817171,"OZktDDKvtL":-1064514454956859466,"ZMoRUf":3890955537961787383,"pDWloiNXTs":1728986350814615444,"rYUZWSc":7218628635869374916},"stringDateField":"1937-03-26","stringDateTimeField":"1981-04-07T02:46:52Z","stringField":"YjFbGW","stringTimeField":"12:10:26.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":-937,"numField":939.1682748851616,"stringDateField":"1937-03-26","stringDateTimeField":"1981-04-07T02:46:52Z","stringField":"YjFbGW","stringTimeField":"12:10:26.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3372,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3372,"uuid":"9e0a89de-5655-11ee-a801-675ed0f8e89b"},"arrayField":["IBvGQ","lstylKaCCT"],"boolField":true,"intField":584,"numField":437.2991488358262,"objField":{"AnqpqfAXZM":8531938454785724292,"VCZYjI":2757748162844676135,"VKaIimXp":6573325733605949385,"WyvjCuMu":-6010010163085656317,"YqyJ":2131279448588201908,"ZRFrJMsXz":1040183564267236950},"stringDateField":"2007-10-18","stringDateTimeField":"2018-12-11T14:44:18Z","stringField":"hJndYPR","stringTimeField":"13:39:31.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":584,"numField":437.2991488358262,"stringDateField":"2007-10-18","stringDateTimeField":"2018-12-11T14:44:18Z","stringField":"hJndYPR","stringTimeField":"13:39:31.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3373,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3373,"uuid":"9e0a89de-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["lXCZORg","hTRtE","HDIjPXV","lkSdRT","aufE"],"boolField":false,"intField":841,"numField":-492.6358529489242,"objField":{"LQCqXRldnn":-8559548372783388765,"mGDzb":7373708597013438263},"stringDateField":"1984-08-05","stringDateTimeField":"1977-04-03T17:25:15Z","stringField":"EBvjoC","stringTimeField":"19:55:16.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":841,"numField":-492.6358529489242,"stringDateField":"1984-08-05","stringDateTimeField":"1977-04-03T17:25:15Z","stringField":"EBvjoC","stringTimeField":"19:55:16.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3374,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3374,"uuid":"9e0a89de-5655-11ee-b001-675ed0f8e89b"},"arrayField":["twUyQN","GZAWgdoWq","AVMWFEXj","PcIg","grhfY","HuFrf","jUslSdtUd","oQoyfE","VTXRXQo","aLmjoRTr"],"boolField":false,"intField":-920,"numField":-722.6897364057652,"objField":{"DDtlswH":-4461552705712356678,"HtwgF":-891950737225887488,"JHnJhb":7214808529700851019,"NyaaVcQ":1641378173647273237,"nlWS":-8309925694302828604},"stringDateField":"1946-03-11","stringDateTimeField":"1942-12-21T01:17:07Z","stringField":"mqDqBYQjB","stringTimeField":"05:34:34.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":-920,"numField":-722.6897364057652,"stringDateField":"1946-03-11","stringDateTimeField":"1942-12-21T01:17:07Z","stringField":"mqDqBYQjB","stringTimeField":"05:34:34.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3375,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3375,"uuid":"9e0a89de-5655-11ee-b401-675ed0f8e89b"},"arrayField":["mPEUDLye","QAWYT","eyow","EJPDQmiFj","tnGLjgHZOm","tYLd"],"boolField":false,"intField":905,"numField":911.3836969931352,"objField":{"ucheRfuVS":-2809504479448008110},"stringDateField":"1985-03-17","stringDateTimeField":"1901-10-18T11:06:45Z","stringField":"oPebTCiAtY","stringTimeField":"22:17:46.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":905,"numField":911.3836969931352,"stringDateField":"1985-03-17","stringDateTimeField":"1901-10-18T11:06:45Z","stringField":"oPebTCiAtY","stringTimeField":"22:17:46.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3376,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3376,"uuid":"9e0a89de-5655-11ee-b801-675ed0f8e89b"},"arrayField":["oriUjmdTnD","bejmyAomk","kQjVrjTc","yFRkTKs","XkSSgrqvk"],"boolField":false,"intField":-580,"numField":-32.53109586445058,"objField":{"AQKtNb":-8277722022386580789,"kzHeWkMB":-225909424709386608,"lZBLdPcVXJ":2529834522720196445,"rMBA":-3536566975367320959,"wEymEhrjCF":7748085311327662985,"yvyVPMddX":1678170926626809250},"stringDateField":"1928-09-25","stringDateTimeField":"1910-04-02T16:59:37Z","stringField":"XEysp","stringTimeField":"01:52:23.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":-580,"numField":-32.53109586445058,"stringDateField":"1928-09-25","stringDateTimeField":"1910-04-02T16:59:37Z","stringField":"XEysp","stringTimeField":"01:52:23.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3377,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3377,"uuid":"9e0a89de-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["MSQKtYXV","XktyJ","tAqRwgbGE","LltOUJa","RLfUc"],"boolField":false,"intField":-471,"numField":-325.2741566914599,"objField":{"AjFSJ":1682225691002544112,"DwOvMT":9068519406468920324,"IoRbhQr":-164930600298041944,"SBcyapC":-8642598508482837784,"ZJyzv":9186595193703178996,"ZvOXdc":5743719391125857518,"kykwqj":7946161374763072827,"oDtLHnZS":-3072590464512168433,"tJfvXys":1503874267864197640,"ueICKa":5829449972136001587},"stringDateField":"1965-04-03","stringDateTimeField":"1939-07-30T14:54:41Z","stringField":"shuvXsDDt","stringTimeField":"15:19:30.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763742Z","intField":-471,"numField":-325.2741566914599,"stringDateField":"1965-04-03","stringDateTimeField":"1939-07-30T14:54:41Z","stringField":"shuvXsDDt","stringTimeField":"15:19:30.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3378,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3378,"uuid":"9e0a89df-5655-11ee-8001-675ed0f8e89b"},"arrayField":["vxOgWESw","SJkIzLlZ","IRzbnBgj"],"boolField":false,"intField":-627,"numField":-544.1746552026972,"objField":{"AQLFfqGL":604751082568309215,"BnSCIK":-3357164949249615249,"UJeLqvTVXY":-4375223017551782625,"YFfROw":-8650671037185525301,"YaOOSNLN":2127443693544170693,"capHI":-7911138657607327791,"ihepDUHZyL":-5691511083925824921,"vYnCLPT":6752824368492865870},"stringDateField":"2006-05-04","stringDateTimeField":"1920-03-02T13:04:48Z","stringField":"Wjbwvypq","stringTimeField":"05:00:04.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":-627,"numField":-544.1746552026972,"stringDateField":"2006-05-04","stringDateTimeField":"1920-03-02T13:04:48Z","stringField":"Wjbwvypq","stringTimeField":"05:00:04.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3379,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3379,"uuid":"9e0a89df-5655-11ee-8401-675ed0f8e89b"},"arrayField":["qarePC"],"boolField":true,"intField":-462,"numField":-835.8273571989868,"objField":{"qmUXqy":-1360702286295088239},"stringDateField":"1976-04-23","stringDateTimeField":"1933-05-14T06:57:58Z","stringField":"qcfDpA","stringTimeField":"11:51:43.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":-462,"numField":-835.8273571989868,"stringDateField":"1976-04-23","stringDateTimeField":"1933-05-14T06:57:58Z","stringField":"qcfDpA","stringTimeField":"11:51:43.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3380,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3380,"uuid":"9e0a89df-5655-11ee-8801-675ed0f8e89b"},"arrayField":["OHasrKEB","KMQcxxqPA","iFrK","ujSD"],"boolField":false,"intField":-306,"numField":703.6563698564429,"objField":{"BuotSYuTB":-7751025361747171779},"stringDateField":"1976-02-06","stringDateTimeField":"1969-10-18T17:05:12Z","stringField":"aSlxMnrub","stringTimeField":"02:37:55.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":-306,"numField":703.6563698564429,"stringDateField":"1976-02-06","stringDateTimeField":"1969-10-18T17:05:12Z","stringField":"aSlxMnrub","stringTimeField":"02:37:55.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3381,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3381,"uuid":"9e0a89df-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["dAhIBM","WTCWThPk","xvCRXFcbYY","Mkyln","dxBobNkHbB"],"boolField":false,"intField":906,"numField":91.60042380215394,"objField":{"CrCwHbye":7421495352124312108,"mSIsuGu":9034237299667529658},"stringDateField":"1997-05-28","stringDateTimeField":"1915-05-04T09:46:26Z","stringField":"NQUgYgN","stringTimeField":"03:03:24.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":906,"numField":91.60042380215394,"stringDateField":"1997-05-28","stringDateTimeField":"1915-05-04T09:46:26Z","stringField":"NQUgYgN","stringTimeField":"03:03:24.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3382,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3382,"uuid":"9e0a89df-5655-11ee-9001-675ed0f8e89b"},"arrayField":["cZdefHFR","uxCVkzkQ","ycCIKlOM","KmxvtHEZA","JTASxAy","UpNUXdCAB"],"boolField":true,"intField":431,"numField":-195.88189648619448,"objField":{"EqnSqoPJz":1342935370037512690,"FSomheNEq":9205768308505442281,"JFCIWA":1883170345719791485,"TnzddF":6739004921505549248,"YlMWkJGGEJ":-3784798772071763227,"YwZpwOVCE":7430914134740965569,"gGxf":-4318785682417237171,"tYpyarzUA":-8839603536125420477,"xsGO":-1539047939755858205},"stringDateField":"1965-10-26","stringDateTimeField":"1913-03-03T19:26:32Z","stringField":"UQTt","stringTimeField":"14:30:49.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":431,"numField":-195.88189648619448,"stringDateField":"1965-10-26","stringDateTimeField":"1913-03-03T19:26:32Z","stringField":"UQTt","stringTimeField":"14:30:49.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3383,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3383,"uuid":"9e0a89df-5655-11ee-9401-675ed0f8e89b"},"arrayField":["zWcfcXTEKJ","dBQvR","QjcXLyn","JSOoz","huPWLquss","IussVF","gucbsE","dvIecO","PuSvfP"],"boolField":false,"intField":919,"numField":-24.34180076461523,"objField":{"QYYb":-7412714194457322884,"RWeLUm":-8891853555816235035,"uvwVxKzmZu":5423527911611363299},"stringDateField":"1950-12-13","stringDateTimeField":"1996-11-17T09:56:31Z","stringField":"PLtjISM","stringTimeField":"03:12:08.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":919,"numField":-24.34180076461523,"stringDateField":"1950-12-13","stringDateTimeField":"1996-11-17T09:56:31Z","stringField":"PLtjISM","stringTimeField":"03:12:08.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3384,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3384,"uuid":"9e0a89df-5655-11ee-9801-675ed0f8e89b"},"arrayField":["BgbrpuBXbY"],"boolField":true,"intField":349,"numField":-305.5700677549388,"objField":{"QHIxdsQ":1634885412946654666,"wWivkKFkK":3281162430911190021,"xeKmdn":4472825350768924548},"stringDateField":"1985-01-03","stringDateTimeField":"1926-06-13T08:05:42Z","stringField":"HVprkSWF","stringTimeField":"13:08:08.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":349,"numField":-305.5700677549388,"stringDateField":"1985-01-03","stringDateTimeField":"1926-06-13T08:05:42Z","stringField":"HVprkSWF","stringTimeField":"13:08:08.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3385,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3385,"uuid":"9e0a89df-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["jBVoTuOPS","VUNRG"],"boolField":true,"intField":859,"numField":334.4748683614025,"objField":{"IwOcjWX":-8798726184290199076,"wOdGfcWBdl":-7021883345500169686},"stringDateField":"2021-08-27","stringDateTimeField":"1936-06-03T18:12:59Z","stringField":"uMWq","stringTimeField":"01:52:55.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":859,"numField":334.4748683614025,"stringDateField":"2021-08-27","stringDateTimeField":"1936-06-03T18:12:59Z","stringField":"uMWq","stringTimeField":"01:52:55.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3386,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3386,"uuid":"9e0a89df-5655-11ee-a001-675ed0f8e89b"},"arrayField":["iMbdDDK","LUkkXJT","kzYaC","JyIKP","mvEsFC","ewubm"],"boolField":true,"intField":998,"numField":-360.2038497684077,"objField":{"AOyMtJzwI":-7638719383243717919,"asbF":-3855353670480267342,"kyYYZvs":6696433873158971595},"stringDateField":"1927-06-03","stringDateTimeField":"2008-09-27T20:17:47Z","stringField":"qdOypcdmcM","stringTimeField":"14:16:19.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":998,"numField":-360.2038497684077,"stringDateField":"1927-06-03","stringDateTimeField":"2008-09-27T20:17:47Z","stringField":"qdOypcdmcM","stringTimeField":"14:16:19.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3387,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3387,"uuid":"9e0a89df-5655-11ee-a401-675ed0f8e89b"},"arrayField":["krXRESg","BFpxwa","AtpvvjFVm","PZGIZY"],"boolField":false,"intField":379,"numField":297.12227450936643,"objField":{"BKaMeD":5868984093960789297,"RHaepnmX":-2589126665776946856,"gCIPyv":-5942172429613000164,"jyFGVRBC":3410102014370026534,"sjdipjw":-3711817728340329282},"stringDateField":"1971-05-08","stringDateTimeField":"1951-04-14T12:40:52Z","stringField":"UIKHsWbkD","stringTimeField":"10:21:01.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":379,"numField":297.12227450936643,"stringDateField":"1971-05-08","stringDateTimeField":"1951-04-14T12:40:52Z","stringField":"UIKHsWbkD","stringTimeField":"10:21:01.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3388,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3388,"uuid":"9e0a89df-5655-11ee-a801-675ed0f8e89b"},"arrayField":["iEjwTjB","qSGBcxFFp","Kyvpup","UvaFrxe","JCNLub","PQqwBuq","ELEtqnHJz","LfuV","iwobNZo","hdirMOuv"],"boolField":true,"intField":-238,"numField":279.70493406330087,"objField":{"ALrNZc":-6601051017841163282,"OEcOSObc":5585599507066013669,"RWSmqT":6477153914127411794,"WyrdRRc":7924994302294818100,"XWLcmxug":-2269577904496256461,"nDgZlTPx":-6697429626726401873},"stringDateField":"1924-04-30","stringDateTimeField":"2021-12-29T18:24:28Z","stringField":"sPlMRTaHQM","stringTimeField":"18:22:31.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":-238,"numField":279.70493406330087,"stringDateField":"1924-04-30","stringDateTimeField":"2021-12-29T18:24:28Z","stringField":"sPlMRTaHQM","stringTimeField":"18:22:31.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3389,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3389,"uuid":"9e0a89df-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["hYkbuDzRj","GJPKEhogJh","XKEH","VXiV","PtzKOnEU","eoCcI","JyyqGe","RGAKbu","yDUkWv"],"boolField":false,"intField":-295,"numField":-793.9901964203582,"objField":{"IMfCpYf":-3748918976907435468,"LyQF":-8937555545257774459,"SORfpzdSO":7592999061592729496,"XADfENSLT":3083024008059537635,"XMyiaClMo":-3429997729912066783,"nfcopC":3913600013505937857,"qXXz":-3254929745672592101,"tDlOrj":-2425693280694422053,"zCBvSY":-1854223554420344256},"stringDateField":"1988-01-13","stringDateTimeField":"1905-12-30T17:46:07Z","stringField":"QWWv","stringTimeField":"05:05:13.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":-295,"numField":-793.9901964203582,"stringDateField":"1988-01-13","stringDateTimeField":"1905-12-30T17:46:07Z","stringField":"QWWv","stringTimeField":"05:05:13.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3390,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3390,"uuid":"9e0a89df-5655-11ee-b001-675ed0f8e89b"},"arrayField":["NRKTK","FtJGbCWNMW","GVgav","qFTzqFYX"],"boolField":false,"intField":534,"numField":-891.4027916590071,"objField":{"pAXYidvu":-7292929425669334875},"stringDateField":"1913-09-26","stringDateTimeField":"1945-12-22T03:52:13Z","stringField":"HhhS","stringTimeField":"04:48:43.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":534,"numField":-891.4027916590071,"stringDateField":"1913-09-26","stringDateTimeField":"1945-12-22T03:52:13Z","stringField":"HhhS","stringTimeField":"04:48:43.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3391,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3391,"uuid":"9e0a89df-5655-11ee-b401-675ed0f8e89b"},"arrayField":["TgEYySAnOP","FPgEY","vcZlg"],"boolField":true,"intField":199,"numField":633.981885866165,"objField":{"PlOkzdt":3709519222935114004,"XAKAVvxm":9080572808458046412,"pmDuhM":6431322676498350945,"zUltQwBIC":7095007294540785533},"stringDateField":"1999-06-25","stringDateTimeField":"1914-01-27T22:24:02Z","stringField":"BCOwwI","stringTimeField":"09:20:02.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":199,"numField":633.981885866165,"stringDateField":"1999-06-25","stringDateTimeField":"1914-01-27T22:24:02Z","stringField":"BCOwwI","stringTimeField":"09:20:02.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3392,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3392,"uuid":"9e0a89df-5655-11ee-b801-675ed0f8e89b"},"arrayField":["fJqttqjm","uGGJM","HMrwlinr","GErGxNmix","AfEw","SsJyzo","iEnkRaWoJ","woSUIWezZZ","xYfsBOmeIG"],"boolField":true,"intField":-391,"numField":797.9145529120875,"objField":{"AcaSFX":-3600087837131744193,"OpkT":6209025002123792768,"fXCnM":3742424741165047171,"foVBuDxlq":1118929419059350091},"stringDateField":"1995-08-18","stringDateTimeField":"1911-04-28T00:42:14Z","stringField":"yhwfYY","stringTimeField":"13:43:19.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":-391,"numField":797.9145529120875,"stringDateField":"1995-08-18","stringDateTimeField":"1911-04-28T00:42:14Z","stringField":"yhwfYY","stringTimeField":"13:43:19.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3393,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3393,"uuid":"9e0a89df-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["yGWI","JrNhAelO","umgR","PWfKxwKzQ","iVBKDOgrFo","VAEyPa","ObqQP","LPiMXtLbC","iEKDmZ","GosJMEHhQT"],"boolField":true,"intField":585,"numField":-430.1379909599782,"objField":{"BUIBfecBA":-3902652006966544255},"stringDateField":"1948-05-29","stringDateTimeField":"1945-05-28T17:42:45Z","stringField":"iFvyoCgXp","stringTimeField":"02:57:58.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763743Z","intField":585,"numField":-430.1379909599782,"stringDateField":"1948-05-29","stringDateTimeField":"1945-05-28T17:42:45Z","stringField":"iFvyoCgXp","stringTimeField":"02:57:58.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3394,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3394,"uuid":"9e0a89e0-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wQLVIRq","bFgCxzBc","YRmbJmsZ","gfLP","pcoub","HHsIpZnG","wdTTdbBAen","dshkcVlr","sMJuCNQ","lwBlhF"],"boolField":false,"intField":313,"numField":607.0277434718416,"objField":{"IJeVF":4691306922893237232,"WNnPZhYIU":381266450516985757,"iXqo":-4082393858220696958,"tpnopS":-4467125491971885659},"stringDateField":"1921-08-18","stringDateTimeField":"2005-11-09T20:17:32Z","stringField":"DKxXKmT","stringTimeField":"12:58:36.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":313,"numField":607.0277434718416,"stringDateField":"1921-08-18","stringDateTimeField":"2005-11-09T20:17:32Z","stringField":"DKxXKmT","stringTimeField":"12:58:36.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3395,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3395,"uuid":"9e0a89e0-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rmfnAY","QgVcMoU","pvgqDLsx","XwlSHDPHwr","eoYP","sWoAb","WoCfCjj","JivAwNepTg"],"boolField":false,"intField":-427,"numField":735.4202561257952,"objField":{"EZSv":-100274610223129955,"GhkuSvaQZ":-7131441203716667312,"YomypxTeLI":-5514273603836005623,"fPsX":8262260470546716414,"mRBXSjLYWH":4819910859822377499,"qxKPUptQ":-7526202029388716292},"stringDateField":"2011-08-26","stringDateTimeField":"2021-05-09T10:41:00Z","stringField":"LuadQ","stringTimeField":"23:02:38.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":-427,"numField":735.4202561257952,"stringDateField":"2011-08-26","stringDateTimeField":"2021-05-09T10:41:00Z","stringField":"LuadQ","stringTimeField":"23:02:38.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3396,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3396,"uuid":"9e0a89e0-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ERmSsaU","mbLHWo"],"boolField":true,"intField":427,"numField":-619.1411052476885,"objField":{"SDdDqLQxeZ":-8789127762341627159},"stringDateField":"2000-08-01","stringDateTimeField":"2005-08-07T16:32:23Z","stringField":"ekGcXiWqV","stringTimeField":"11:43:58.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":427,"numField":-619.1411052476885,"stringDateField":"2000-08-01","stringDateTimeField":"2005-08-07T16:32:23Z","stringField":"ekGcXiWqV","stringTimeField":"11:43:58.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3397,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3397,"uuid":"9e0a89e0-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["AIzteN","kGUOrgkWPS","JQSQdMRoMI","ReaSfZnY","PXeqpN","juEv","lLJzVt","YrXrYbrW"],"boolField":true,"intField":338,"numField":546.9922995893183,"objField":{"qWiO":-3264442124247358980},"stringDateField":"1904-01-28","stringDateTimeField":"1989-07-17T18:30:37Z","stringField":"gjPGazqkI","stringTimeField":"08:51:09.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":338,"numField":546.9922995893183,"stringDateField":"1904-01-28","stringDateTimeField":"1989-07-17T18:30:37Z","stringField":"gjPGazqkI","stringTimeField":"08:51:09.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3398,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3398,"uuid":"9e0a89e0-5655-11ee-9001-675ed0f8e89b"},"arrayField":["eMgYmijz","IZmVToCb","WSrxah","ZwOlxm","VhelvTkI","xHzctWpN"],"boolField":true,"intField":-697,"numField":954.4010259121644,"objField":{"IBLj":-4390325538307214355,"TuRFI":6068350330854574368,"Zjwu":-1076896163577284935,"caimhSs":6736837740842510834,"ekBVWuSoKF":-8317394207397216876,"jbKdKc":2253941175248967006,"kKooeJQzae":-1745827963761645405,"tPXnt":-1901822785911344662,"yTNLNeIDd":4098167045900632168},"stringDateField":"2004-01-16","stringDateTimeField":"2013-09-21T19:49:00Z","stringField":"ESHdcTwB","stringTimeField":"03:58:53.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":-697,"numField":954.4010259121644,"stringDateField":"2004-01-16","stringDateTimeField":"2013-09-21T19:49:00Z","stringField":"ESHdcTwB","stringTimeField":"03:58:53.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3399,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3399,"uuid":"9e0a89e0-5655-11ee-9401-675ed0f8e89b"},"arrayField":["SKphUg","MBBH","AGeXxpwIqO","AZFll","ofUVFSQI","ZvSAVWOa","OtuYlBPxR","edBMQJ"],"boolField":false,"intField":-211,"numField":-3.6372145446488258,"objField":{"JhJJCzKGFl":-5801353702010460426,"LujvI":9028794660995111100,"TIqkrpxn":-3091190792002113484,"lXFHtBzPCf":-5650476111820460447,"mzGOloaF":857875111444818432,"uWvNBPrS":6354446258145695896,"yPWgsOlRa":-529095847092266910,"zfqWKyYTL":7106336421268016999},"stringDateField":"1961-03-03","stringDateTimeField":"1931-08-09T03:15:32Z","stringField":"xukJMwK","stringTimeField":"04:13:21.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":-211,"numField":-3.6372145446488258,"stringDateField":"1961-03-03","stringDateTimeField":"1931-08-09T03:15:32Z","stringField":"xukJMwK","stringTimeField":"04:13:21.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3400,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3400,"uuid":"9e0a89e0-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ULHT","WIakBRK","OexO","aTrgCq","wJGHt","szGUm"],"boolField":false,"intField":418,"numField":-137.79481896790614,"objField":{"UJvYO":8228666212431472521,"wlfyB":2210706996489051212},"stringDateField":"1987-01-03","stringDateTimeField":"1905-05-04T21:07:03Z","stringField":"yJSBtxVncU","stringTimeField":"05:42:17.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":418,"numField":-137.79481896790614,"stringDateField":"1987-01-03","stringDateTimeField":"1905-05-04T21:07:03Z","stringField":"yJSBtxVncU","stringTimeField":"05:42:17.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3401,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3401,"uuid":"9e0a89e0-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["DiReS","LHKkSIT","jmtda","HTzzwEzqO","caOyMDv","mCJpxo","nGVi","ucat","xjSyRKq","TdJDbZcJ"],"boolField":true,"intField":780,"numField":-348.4613944185604,"objField":{"TiJjb":-4601598474467259307,"gbyAIew":-6052394653988653700},"stringDateField":"1909-09-25","stringDateTimeField":"1924-11-27T19:21:39Z","stringField":"OnucnwRZ","stringTimeField":"14:06:18.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":780,"numField":-348.4613944185604,"stringDateField":"1909-09-25","stringDateTimeField":"1924-11-27T19:21:39Z","stringField":"OnucnwRZ","stringTimeField":"14:06:18.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3402,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3402,"uuid":"9e0a89e0-5655-11ee-a001-675ed0f8e89b"},"arrayField":["KeSmdD","lxZeIMv","sflo","SKddW"],"boolField":true,"intField":250,"numField":617.9291845059331,"objField":{"MoDZO":2834547912322812666,"YrBqJE":-8848251976975973292},"stringDateField":"1928-05-25","stringDateTimeField":"1940-07-12T05:29:46Z","stringField":"hcyS","stringTimeField":"07:42:38.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":250,"numField":617.9291845059331,"stringDateField":"1928-05-25","stringDateTimeField":"1940-07-12T05:29:46Z","stringField":"hcyS","stringTimeField":"07:42:38.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3403,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3403,"uuid":"9e0a89e0-5655-11ee-a401-675ed0f8e89b"},"arrayField":["oBdaflN","REdp","TIGBBShLC","qwFT","AkTvdoOykO","MFPmdYXKut","TxCKJp","jjHrfRVgvU","WhRVsV","HIipv"],"boolField":false,"intField":-206,"numField":-1.4334685287216151,"objField":{"IFRh":5567353694310849689,"SuaMVKIQB":-6911961878345582934,"ZpKrPagIPR":6296859814218694906,"kNrNaiD":4226487928182534607,"mrRYO":5788605766747022228,"xDCcVkDUt":7152083167656216052,"xhdFUtcV":-909190376822490842},"stringDateField":"1906-12-30","stringDateTimeField":"1914-03-03T21:47:45Z","stringField":"cEvQHSFT","stringTimeField":"05:50:46.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":-206,"numField":-1.4334685287216151,"stringDateField":"1906-12-30","stringDateTimeField":"1914-03-03T21:47:45Z","stringField":"cEvQHSFT","stringTimeField":"05:50:46.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3404,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3404,"uuid":"9e0a89e0-5655-11ee-a801-675ed0f8e89b"},"arrayField":["VEMXuJc"],"boolField":true,"intField":407,"numField":110.96602496568386,"objField":{"PiSVv":-2035477417032489952,"ROrchl":8932576222940147526,"gCYplM":-7996689188614796025,"hJZZ":-5365358872442005051,"nlrBYuoql":-6306241331465440865},"stringDateField":"1992-05-22","stringDateTimeField":"2017-03-01T13:26:27Z","stringField":"FVDbga","stringTimeField":"21:57:07.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":407,"numField":110.96602496568386,"stringDateField":"1992-05-22","stringDateTimeField":"2017-03-01T13:26:27Z","stringField":"FVDbga","stringTimeField":"21:57:07.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3405,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3405,"uuid":"9e0a89e0-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["UFqWSWGEAY","BOna"],"boolField":true,"intField":-804,"numField":986.9062021112272,"objField":{"BYwqflVAb":-3500873064667823082,"HKleBsgR":2600771943711869631,"ZbPFp":255551845810449378,"bWkGO":400263336693048231,"vjhDrUGi":6529542015817166821},"stringDateField":"1940-04-19","stringDateTimeField":"1930-04-25T01:49:19Z","stringField":"YyrPJ","stringTimeField":"16:14:27.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":-804,"numField":986.9062021112272,"stringDateField":"1940-04-19","stringDateTimeField":"1930-04-25T01:49:19Z","stringField":"YyrPJ","stringTimeField":"16:14:27.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3406,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3406,"uuid":"9e0a89e0-5655-11ee-b001-675ed0f8e89b"},"arrayField":["iISpw","QRGGNJ","bPSMVST","GpPd","RzceO"],"boolField":false,"intField":-152,"numField":-872.2533648163327,"objField":{"BYLTwBQJ":9141605034392489463,"EnJbfKpiR":-4192843757341763237,"LfVOfyRi":-1415984420034487038,"NYiHMZEzry":-5672879186031844592,"OjcGGRV":-4347062615715899159,"TEnnD":-3413452713880460973,"XJbzitnwtx":-8025919985169612200,"omHtra":-7979223098580324477},"stringDateField":"1953-05-20","stringDateTimeField":"2008-01-04T19:03:05Z","stringField":"NyewPPU","stringTimeField":"04:17:51.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":-152,"numField":-872.2533648163327,"stringDateField":"1953-05-20","stringDateTimeField":"2008-01-04T19:03:05Z","stringField":"NyewPPU","stringTimeField":"04:17:51.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3407,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3407,"uuid":"9e0a89e0-5655-11ee-b401-675ed0f8e89b"},"arrayField":["UrKFVjMf","BLznlI","pLctQUK","SRtvXS","qIxfmE","xyTYSGTAL","ptvSXnCYKz","YNJSJMzaUz","QXnjar","jEIDpevvl"],"boolField":true,"intField":238,"numField":-746.8105007979578,"objField":{"LNThQrP":5918707971228445848,"RaOTEfzgf":1992903275710190169},"stringDateField":"1908-10-30","stringDateTimeField":"1965-11-24T23:10:11Z","stringField":"WXyfLei","stringTimeField":"14:36:57.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":238,"numField":-746.8105007979578,"stringDateField":"1908-10-30","stringDateTimeField":"1965-11-24T23:10:11Z","stringField":"WXyfLei","stringTimeField":"14:36:57.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3408,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3408,"uuid":"9e0a89e0-5655-11ee-b801-675ed0f8e89b"},"arrayField":["owYdtaNAdg","xyYkgPqUYu","SJHtt"],"boolField":true,"intField":-58,"numField":647.6895884079963,"objField":{"ZAGLDai":6765828476889865107,"eNIg":-1694428148548738509,"nNmkLAW":-5384761613270403242,"wobA":8926982480888783961},"stringDateField":"1905-01-14","stringDateTimeField":"1981-06-18T17:25:06Z","stringField":"CjLYbCT","stringTimeField":"13:01:18.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":-58,"numField":647.6895884079963,"stringDateField":"1905-01-14","stringDateTimeField":"1981-06-18T17:25:06Z","stringField":"CjLYbCT","stringTimeField":"13:01:18.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3409,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3409,"uuid":"9e0a89e0-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["cJZMxBucgG","LbGVZPYbl","OtskTafHp","eaHXM","GuJkzBW","pKdxaqj","tEftxuOY","bqmjA","YtKYqTWk"],"boolField":true,"intField":652,"numField":-469.62517006317415,"objField":{"PeuJl":-874718747460462196,"bTiBwf":-913713750622909269,"tAHALstix":-4267471349482726698,"zjbvkElWb":123207672161520588},"stringDateField":"1982-06-10","stringDateTimeField":"1987-02-23T06:49:19Z","stringField":"qqDZn","stringTimeField":"17:20:33.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763744Z","intField":652,"numField":-469.62517006317415,"stringDateField":"1982-06-10","stringDateTimeField":"1987-02-23T06:49:19Z","stringField":"qqDZn","stringTimeField":"17:20:33.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3410,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3410,"uuid":"9e0a89e1-5655-11ee-8001-675ed0f8e89b"},"arrayField":["qyUarDDuq","MxScFmprE","CYvCDPO","OMiXrnMvp","WPaMeOTX","aBcqZMprs","znZR"],"boolField":false,"intField":-9,"numField":721.2130633684253,"objField":{"jSJs":2773921749134409984},"stringDateField":"1963-12-06","stringDateTimeField":"1940-12-08T09:35:24Z","stringField":"yVeL","stringTimeField":"15:47:57.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":-9,"numField":721.2130633684253,"stringDateField":"1963-12-06","stringDateTimeField":"1940-12-08T09:35:24Z","stringField":"yVeL","stringTimeField":"15:47:57.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3411,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3411,"uuid":"9e0a89e1-5655-11ee-8401-675ed0f8e89b"},"arrayField":["jvBQyyw","ILhSMzOgZ","rWAZcMQxg","mNlSqL","amgFI","iPhhd","XTAnL","nDyLr"],"boolField":true,"intField":-517,"numField":279.2371410137917,"objField":{"EWadWaXZ":8742923627714716775,"IYzB":9079746469831995435,"OWBttwMli":6913678479157741891,"WpzAVhm":-5244547478688082473,"gdsce":8603282166886000189,"jPoTJf":7255409903409694684,"sFXZBJK":4419677609260748917},"stringDateField":"1967-10-07","stringDateTimeField":"2020-12-12T10:55:07Z","stringField":"vebCmaGrmL","stringTimeField":"17:24:51.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":-517,"numField":279.2371410137917,"stringDateField":"1967-10-07","stringDateTimeField":"2020-12-12T10:55:07Z","stringField":"vebCmaGrmL","stringTimeField":"17:24:51.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3412,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3412,"uuid":"9e0a89e1-5655-11ee-8801-675ed0f8e89b"},"arrayField":["iseM","lGKpcM","aqsyMfNIgX","SZVjeFPYF","efTtT","KcED","UmsriepBch","mWgj","iDYFeiz","KajMrOj"],"boolField":true,"intField":-910,"numField":381.6505684164528,"objField":{"RCnRn":-3871938235371654789,"fJafY":-1717947303515699449},"stringDateField":"1997-04-26","stringDateTimeField":"1951-09-04T05:41:04Z","stringField":"DYGqCWxgtL","stringTimeField":"13:18:04.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":-910,"numField":381.6505684164528,"stringDateField":"1997-04-26","stringDateTimeField":"1951-09-04T05:41:04Z","stringField":"DYGqCWxgtL","stringTimeField":"13:18:04.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3413,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3413,"uuid":"9e0a89e1-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["Exfxj","xrKDeje","LWniRuyKv","nIaiJyZzn","DtyYLZeN"],"boolField":true,"intField":-606,"numField":403.36871826039754,"objField":{"JfNYrge":-8592251059365114083,"MFaYolQVXT":4849396027902409475,"PnzeMINrLF":-9125274782640950784,"UpOgUJhPK":1836573794421101914,"YwgbTMRXAv":-2196252270383904366,"ZAirHLcf":4438282081015508870,"ZFVVkYqWP":20451048088385175,"mNgzCySz":-9135285949500444478,"mTMxBI":-7375389552947580554,"xLIffmljF":4224013008155733742},"stringDateField":"1919-02-25","stringDateTimeField":"1991-02-23T16:00:47Z","stringField":"pPhAF","stringTimeField":"10:46:28.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":-606,"numField":403.36871826039754,"stringDateField":"1919-02-25","stringDateTimeField":"1991-02-23T16:00:47Z","stringField":"pPhAF","stringTimeField":"10:46:28.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3414,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3414,"uuid":"9e0a89e1-5655-11ee-9001-675ed0f8e89b"},"arrayField":["DjFjOdfSF"],"boolField":true,"intField":30,"numField":-905.3908295787696,"objField":{"KYcbojsv":596035466904383708,"LTEkktsf":-1179697652927265073,"SUbJew":1361280992753816308,"YeSpU":-25738730192215868,"jvPc":8872508267479325443,"uxSQBANRF":7738552175010249220},"stringDateField":"1959-06-07","stringDateTimeField":"1984-09-28T12:55:06Z","stringField":"bTpvReJtLF","stringTimeField":"08:49:52.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":30,"numField":-905.3908295787696,"stringDateField":"1959-06-07","stringDateTimeField":"1984-09-28T12:55:06Z","stringField":"bTpvReJtLF","stringTimeField":"08:49:52.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3415,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3415,"uuid":"9e0a89e1-5655-11ee-9401-675ed0f8e89b"},"arrayField":["BxrASfC","XObpiCHAO","xsPnufV","okRB","itrHvSonZT","RfgxEgf","zvbdTckG","qxpunVG","WbirYQ"],"boolField":true,"intField":521,"numField":-475.95844336358937,"objField":{"FFLD":7552132300331254125,"kckYWkt":-1025847719963424019},"stringDateField":"1982-09-23","stringDateTimeField":"1953-04-17T13:32:16Z","stringField":"HwXyeru","stringTimeField":"11:04:02.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":521,"numField":-475.95844336358937,"stringDateField":"1982-09-23","stringDateTimeField":"1953-04-17T13:32:16Z","stringField":"HwXyeru","stringTimeField":"11:04:02.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3416,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3416,"uuid":"9e0a89e1-5655-11ee-9801-675ed0f8e89b"},"arrayField":["dbhZfBGTDy","lzkEP","BgWlkqmLw","Afozu","QRbidjloZe","ssYuvuOKI","YvgE","joAEGkMJi","oACC"],"boolField":false,"intField":714,"numField":-536.0998621424615,"objField":{"yhiZnPuF":115779120090355132},"stringDateField":"1944-06-29","stringDateTimeField":"1916-04-25T01:53:36Z","stringField":"kcFlKZiw","stringTimeField":"17:14:25.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":714,"numField":-536.0998621424615,"stringDateField":"1944-06-29","stringDateTimeField":"1916-04-25T01:53:36Z","stringField":"kcFlKZiw","stringTimeField":"17:14:25.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3417,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3417,"uuid":"9e0a89e1-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ivOrFjC","ATdd"],"boolField":true,"intField":-305,"numField":-453.65236859185086,"objField":{"guCAR":-6016668908766412805},"stringDateField":"1912-07-20","stringDateTimeField":"1963-09-10T02:56:43Z","stringField":"kGfKGns","stringTimeField":"17:48:57.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":-305,"numField":-453.65236859185086,"stringDateField":"1912-07-20","stringDateTimeField":"1963-09-10T02:56:43Z","stringField":"kGfKGns","stringTimeField":"17:48:57.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3418,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3418,"uuid":"9e0a89e1-5655-11ee-a001-675ed0f8e89b"},"arrayField":["RbjpICZ"],"boolField":false,"intField":-269,"numField":135.08669245146842,"objField":{"JGYvMsnzw":-7153618197749516992,"PrJDYUTGDO":-2774872419082277013,"QFEsf":1931356283509999041,"RLmNwKZ":4918232865981572191,"ZjgJZvtiQZ":1074860338276314428,"bPVCu":-2739426228213736831,"pukUKID":9142228855241213028,"vvvg":410626020303011238},"stringDateField":"1991-10-10","stringDateTimeField":"1945-10-02T11:15:27Z","stringField":"skyPi","stringTimeField":"13:39:27.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":-269,"numField":135.08669245146842,"stringDateField":"1991-10-10","stringDateTimeField":"1945-10-02T11:15:27Z","stringField":"skyPi","stringTimeField":"13:39:27.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3419,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3419,"uuid":"9e0a89e1-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ynHLB","NUJrZ","KIIK","AGILhD"],"boolField":true,"intField":320,"numField":206.2902856401572,"objField":{"FIAj":-2448873350030784191,"ILMpaRla":7004956122187908515,"ISAYSowz":-7840744235861138332,"ihaIVN":4223032793174832028,"qVtJNuuLyy":-5674245887444474320},"stringDateField":"1987-01-14","stringDateTimeField":"2018-01-22T14:12:46Z","stringField":"AAPFn","stringTimeField":"17:53:32.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":320,"numField":206.2902856401572,"stringDateField":"1987-01-14","stringDateTimeField":"2018-01-22T14:12:46Z","stringField":"AAPFn","stringTimeField":"17:53:32.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3420,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3420,"uuid":"9e0a89e1-5655-11ee-a801-675ed0f8e89b"},"arrayField":["EbqKSeDrfD","sSsglVfb","UVlBnsvZd","MODf","zGdDqMcjg","zdfO","uAeVZStbg","dkYkzyC","xKYk","uQwqzITz"],"boolField":false,"intField":366,"numField":957.9204146206808,"objField":{"qufMZEn":5696752377889922027,"wPiumh":3334049924861905530},"stringDateField":"1959-05-29","stringDateTimeField":"1979-12-30T01:29:10Z","stringField":"ZzeOYUTu","stringTimeField":"04:18:56.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":366,"numField":957.9204146206808,"stringDateField":"1959-05-29","stringDateTimeField":"1979-12-30T01:29:10Z","stringField":"ZzeOYUTu","stringTimeField":"04:18:56.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3421,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3421,"uuid":"9e0a89e1-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ddAA","lnRlaqJPcX","wqEkZs"],"boolField":false,"intField":-905,"numField":-508.418204694539,"objField":{"Eurz":-5836868489000142610,"Tonmn":3024088394244050702,"tkWtpGgQVM":2163251507167969920},"stringDateField":"1914-08-08","stringDateTimeField":"1944-03-10T11:17:37Z","stringField":"stNJuIcMR","stringTimeField":"01:32:40.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":-905,"numField":-508.418204694539,"stringDateField":"1914-08-08","stringDateTimeField":"1944-03-10T11:17:37Z","stringField":"stNJuIcMR","stringTimeField":"01:32:40.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3422,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3422,"uuid":"9e0a89e1-5655-11ee-b001-675ed0f8e89b"},"arrayField":["Jlus","PzivduI","UcYMuOrq","yvZx","KLYqVJ","wEektJWZ"],"boolField":false,"intField":-272,"numField":-201.91334022796912,"objField":{"IdTmIOTNg":-6195922539901247325,"KSBXGw":3865682359637844854,"LSzpNrfc":-8077139821676748954,"UhbjtVNZgC":-4264870783519080316,"ZhJmwfD":287064356252038752,"ZuwuFB":-2813667569373034683,"qHspizVwE":-181087652210670809,"zDyq":6612957251083514121},"stringDateField":"1903-09-27","stringDateTimeField":"1951-09-27T15:18:31Z","stringField":"mcdXebJJ","stringTimeField":"13:43:56.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":-272,"numField":-201.91334022796912,"stringDateField":"1903-09-27","stringDateTimeField":"1951-09-27T15:18:31Z","stringField":"mcdXebJJ","stringTimeField":"13:43:56.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3423,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3423,"uuid":"9e0a89e1-5655-11ee-b401-675ed0f8e89b"},"arrayField":["vYtL","RgQGSNU","kRRlbAo","LoiGjI","Wddfd"],"boolField":false,"intField":-294,"numField":346.7180195296753,"objField":{"Jsmg":-6471532806575170739,"OauVgSUq":-6407500603213897823,"aIKrRzd":3890468773519004414,"dqxUcaH":3053268579705303641,"iuErvPbio":-4884999089305685078,"qJSuiARjuC":6103503285244337811},"stringDateField":"1904-05-23","stringDateTimeField":"1924-03-05T02:51:44Z","stringField":"xfSQabBagL","stringTimeField":"01:43:35.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":-294,"numField":346.7180195296753,"stringDateField":"1904-05-23","stringDateTimeField":"1924-03-05T02:51:44Z","stringField":"xfSQabBagL","stringTimeField":"01:43:35.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3424,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3424,"uuid":"9e0a89e1-5655-11ee-b801-675ed0f8e89b"},"arrayField":["jVfyteMd","VUshlNs","MSAkVRmh","ritCSyrHW","KyhJYIBRC","mIUPZiPsOo","sdBYhEqlsD"],"boolField":false,"intField":-929,"numField":807.1484069631649,"objField":{"FvRDjZNcFm":5648894230502222797,"LWbko":6928203408582318246,"QGGcV":4248522023887975936,"SObVnDyB":5519481620155129344,"cRmi":4423661675319330950,"dneMFAQMvm":-5205441057466244969,"sIsI":5459205682748806084,"sVAnoCzj":7611293164229273189},"stringDateField":"1920-10-13","stringDateTimeField":"1935-08-16T21:24:37Z","stringField":"NAaxgIIi","stringTimeField":"02:19:33.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":-929,"numField":807.1484069631649,"stringDateField":"1920-10-13","stringDateTimeField":"1935-08-16T21:24:37Z","stringField":"NAaxgIIi","stringTimeField":"02:19:33.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3425,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3425,"uuid":"9e0a89e1-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["hwxcBiY","dcpQkBmlXw","jVKSaibZyH","cilvIO","MSYpcaBKad","OIDDVPF","aDgOAq"],"boolField":false,"intField":947,"numField":587.1177998537573,"objField":{"qmcXk":-1643670882487976574},"stringDateField":"1978-07-09","stringDateTimeField":"2016-04-08T21:19:49Z","stringField":"qNEUBQp","stringTimeField":"19:40:53.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763745Z","intField":947,"numField":587.1177998537573,"stringDateField":"1978-07-09","stringDateTimeField":"2016-04-08T21:19:49Z","stringField":"qNEUBQp","stringTimeField":"19:40:53.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3426,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3426,"uuid":"9e0a89e2-5655-11ee-8001-675ed0f8e89b"},"arrayField":["MxVHfmeUVa","ZsLPJjvx","YSML","JRopnNofD","uCdWNiJbO"],"boolField":true,"intField":440,"numField":493.2364935231686,"objField":{"EfkPCxsPk":-6086452248395581188,"KvxYV":-4598649041622445192,"PScKfcA":-7735286575241312126,"QIGm":2440399131472202158,"gEsYl":-355327409102068065,"gNuGwL":1975354271610067442,"ieARboMaO":-5068153927985670344,"piSXd":6172071135329011090,"uFZrG":-6105815138478552472,"xtuHbjgE":8988044234010746120},"stringDateField":"1978-01-19","stringDateTimeField":"1908-10-30T14:34:33Z","stringField":"sszIk","stringTimeField":"09:49:11.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":440,"numField":493.2364935231686,"stringDateField":"1978-01-19","stringDateTimeField":"1908-10-30T14:34:33Z","stringField":"sszIk","stringTimeField":"09:49:11.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3427,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3427,"uuid":"9e0a89e2-5655-11ee-8401-675ed0f8e89b"},"arrayField":["DeYj","ORuhdbgB","AZKANgAA","uSEhlmfQg","YsdW","rTLrOdbzUH","jEQCMzkP","XZLp","kDjkldl"],"boolField":false,"intField":996,"numField":310.320148687844,"objField":{"BNARnWQEbA":-8753477082350637429,"EwUIDx":2285028172991701175,"HGrHH":-4074835769239085087,"OFBlUHwA":-852988256221560310,"QtykD":4765458267646035357,"UkeJOMYtc":6215186594756965559,"ftrrE":257742662218862794,"juMOKELTcL":-2785549381343072799},"stringDateField":"2004-07-30","stringDateTimeField":"1929-01-28T22:44:01Z","stringField":"nmJRKMf","stringTimeField":"09:42:45.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":996,"numField":310.320148687844,"stringDateField":"2004-07-30","stringDateTimeField":"1929-01-28T22:44:01Z","stringField":"nmJRKMf","stringTimeField":"09:42:45.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3428,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3428,"uuid":"9e0a89e2-5655-11ee-8801-675ed0f8e89b"},"arrayField":["lAOcB","QETdO","VXdwwntEWV","wINwHvbL","VotKT","KtpxzCfiJv","wlvB","HJWWSd","OvYjiuzIwU","OUEzSK"],"boolField":false,"intField":-794,"numField":-311.54539409449035,"objField":{"DVrno":-4485496380503711338,"IhjShUqpi":-9195321154474000321,"OTUFiPjv":-7801627191596853523,"TXAoo":-4379586100004397667,"XHlLNzbOB":-5777853361200468206,"XPZQ":1819909076137442455,"eOddndO":8839979550822587425,"kFDNP":4669451724328001378,"rFBau":7752340737760902611},"stringDateField":"1941-03-31","stringDateTimeField":"1984-03-08T11:17:26Z","stringField":"EhitqN","stringTimeField":"14:33:30.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":-794,"numField":-311.54539409449035,"stringDateField":"1941-03-31","stringDateTimeField":"1984-03-08T11:17:26Z","stringField":"EhitqN","stringTimeField":"14:33:30.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3429,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3429,"uuid":"9e0a89e2-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["eEOxl","CPUDuiKpl"],"boolField":false,"intField":-693,"numField":258.48378203071866,"objField":{"EaLhoocb":2510117758018056992,"SyJKKy":-240886488551279744,"aQYzRGs":1878447529156665941,"iaQiaBLG":-709915091079842895,"irUwm":277309739287560465,"zGZxjZvn":-2474465494602813244},"stringDateField":"2018-05-13","stringDateTimeField":"1996-02-26T23:01:24Z","stringField":"Bhsp","stringTimeField":"00:58:44.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":-693,"numField":258.48378203071866,"stringDateField":"2018-05-13","stringDateTimeField":"1996-02-26T23:01:24Z","stringField":"Bhsp","stringTimeField":"00:58:44.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3430,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3430,"uuid":"9e0a89e2-5655-11ee-9001-675ed0f8e89b"},"arrayField":["oPpG","CKUUc","poEvkFx","ETMuL"],"boolField":false,"intField":-980,"numField":-634.7972925623263,"objField":{"WBxLHPDj":-2445634859210520521,"wsiFt":9122164289226455245},"stringDateField":"1967-05-21","stringDateTimeField":"1970-02-19T12:59:16Z","stringField":"vIpmCukvJm","stringTimeField":"12:07:16.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":-980,"numField":-634.7972925623263,"stringDateField":"1967-05-21","stringDateTimeField":"1970-02-19T12:59:16Z","stringField":"vIpmCukvJm","stringTimeField":"12:07:16.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3431,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3431,"uuid":"9e0a89e2-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ZqqLiT"],"boolField":false,"intField":879,"numField":-33.45598459313281,"objField":{"AxUP":-3158568974218169280,"DRYHq":2907948523721914096,"GacnU":-7632602333810806409,"QtpFR":7728458178917981186,"XIyCNBO":-5856080496612321557,"mjGUxZqYP":-3912490667058251443,"thgbd":5769161251997960704},"stringDateField":"1952-08-26","stringDateTimeField":"1929-12-03T13:47:29Z","stringField":"yslbP","stringTimeField":"05:27:15.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":879,"numField":-33.45598459313281,"stringDateField":"1952-08-26","stringDateTimeField":"1929-12-03T13:47:29Z","stringField":"yslbP","stringTimeField":"05:27:15.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3432,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3432,"uuid":"9e0a89e2-5655-11ee-9801-675ed0f8e89b"},"arrayField":["mFlaQbmr","DMWyWzM"],"boolField":false,"intField":-671,"numField":-54.07009880919267,"objField":{"HxyE":-2244112601728671875,"OlYeVpV":-6406703972127949749,"YtNYNImyM":-8768614906334044872,"clscMZ":-7907437423328490260},"stringDateField":"1965-11-01","stringDateTimeField":"1978-07-03T14:52:55Z","stringField":"VjCjGdoD","stringTimeField":"23:37:16.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":-671,"numField":-54.07009880919267,"stringDateField":"1965-11-01","stringDateTimeField":"1978-07-03T14:52:55Z","stringField":"VjCjGdoD","stringTimeField":"23:37:16.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3433,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3433,"uuid":"9e0a89e2-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["LXhBQcNfW","reTYZPDD","qDawBlfppo","eCoOshg","YmdtZp","uFZxj","whRrjBCu","Nwkocze","hNsiZYdfe"],"boolField":true,"intField":636,"numField":921.1196250136588,"objField":{"PtlS":4791889699786328204,"QUvE":-4601565905567045055,"bjtdhr":-6831930307315901189,"bupifCq":-531389142566545745,"jBPKCe":-4004358889833726687},"stringDateField":"1971-11-01","stringDateTimeField":"1966-05-26T03:56:21Z","stringField":"TCKzysImok","stringTimeField":"13:48:58.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":636,"numField":921.1196250136588,"stringDateField":"1971-11-01","stringDateTimeField":"1966-05-26T03:56:21Z","stringField":"TCKzysImok","stringTimeField":"13:48:58.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3434,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3434,"uuid":"9e0a89e2-5655-11ee-a001-675ed0f8e89b"},"arrayField":["iOgSLr","ZDinBqBfJ","LnJDN"],"boolField":true,"intField":684,"numField":-424.6891772158483,"objField":{"NGIfkCQ":-150593220221432385,"VNrk":2650115410257649070,"cbeg":-421736350507173410,"vbZqNCjjnG":406947894263184321},"stringDateField":"2001-03-11","stringDateTimeField":"1931-10-01T02:54:24Z","stringField":"IUHWrH","stringTimeField":"06:48:58.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":684,"numField":-424.6891772158483,"stringDateField":"2001-03-11","stringDateTimeField":"1931-10-01T02:54:24Z","stringField":"IUHWrH","stringTimeField":"06:48:58.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3435,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3435,"uuid":"9e0a89e2-5655-11ee-a401-675ed0f8e89b"},"arrayField":["CSlIokJY","NCTazmmtz","ZEJaMZDyO","TnkyIDKDU","fbhT","roAA","NduyZgFSww","wJWebHkMn"],"boolField":true,"intField":63,"numField":-925.2828436203712,"objField":{"USwpsjrC":7541478669727865447,"UhGfzPu":7327999272569818037,"bHBaoN":-2903997241245187359,"hXQNqD":-8269520377699042628,"iRLyE":-7998560627627114413,"sgxg":3799142608090991331},"stringDateField":"1970-03-16","stringDateTimeField":"1912-12-10T16:18:38Z","stringField":"WCAfzqXPu","stringTimeField":"19:14:40.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":63,"numField":-925.2828436203712,"stringDateField":"1970-03-16","stringDateTimeField":"1912-12-10T16:18:38Z","stringField":"WCAfzqXPu","stringTimeField":"19:14:40.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3436,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3436,"uuid":"9e0a89e2-5655-11ee-a801-675ed0f8e89b"},"arrayField":["KWlLHhse"],"boolField":true,"intField":539,"numField":-748.9977823440072,"objField":{"FNHwWQZZ":-3032567054580127660,"QdqGU":-8386290960046977040,"RpScZvvSP":-7019185427478759716,"gOwmIdfX":1714882560959436552,"hCJcQDcTkI":7134497016142750242,"tYpgZD":-2249759906955876002},"stringDateField":"1989-04-19","stringDateTimeField":"2019-04-04T23:31:43Z","stringField":"oYfzc","stringTimeField":"21:42:39.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":539,"numField":-748.9977823440072,"stringDateField":"1989-04-19","stringDateTimeField":"2019-04-04T23:31:43Z","stringField":"oYfzc","stringTimeField":"21:42:39.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3437,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3437,"uuid":"9e0a89e2-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["gYapnch"],"boolField":false,"intField":-316,"numField":-211.2374581723978,"objField":{"AQfgttchBy":2688918265963767077,"ExviYCh":-723619828636431649,"FbRBJ":4816897891762446967,"GVqusFTOPC":-7597255156117481028,"NJCOjtkZ":6214079938817334433,"NqlQqBIk":63460846000577115,"PnHeJyRxUJ":8103212525402621405,"SdrgXL":-6614348097729478528,"fKCkXy":5817797647558229445,"kCvnPt":-471503811541878913},"stringDateField":"1940-01-03","stringDateTimeField":"1978-08-06T11:48:05Z","stringField":"eSOvMHohA","stringTimeField":"13:50:38.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":-316,"numField":-211.2374581723978,"stringDateField":"1940-01-03","stringDateTimeField":"1978-08-06T11:48:05Z","stringField":"eSOvMHohA","stringTimeField":"13:50:38.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3438,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3438,"uuid":"9e0a89e2-5655-11ee-b001-675ed0f8e89b"},"arrayField":["fkQXriSUZY","ghcuHOhwS"],"boolField":false,"intField":-311,"numField":651.2871953116924,"objField":{"AuINeZgky":3179687194543510080,"IKATnl":8114907727927989607,"OlumKx":-93135305377417370,"VTsM":-4127042144686705739,"aRkATZ":-6056081851929949687,"nwveqHA":6955317219672640567,"oXjf":-8844380875346126157,"uWxabTY":8960208299830282506,"vPmeoTd":-5045889637776282571},"stringDateField":"1952-07-28","stringDateTimeField":"1991-12-02T23:32:09Z","stringField":"odiAKDmqF","stringTimeField":"23:05:01.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":-311,"numField":651.2871953116924,"stringDateField":"1952-07-28","stringDateTimeField":"1991-12-02T23:32:09Z","stringField":"odiAKDmqF","stringTimeField":"23:05:01.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3439,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3439,"uuid":"9e0a89e2-5655-11ee-b401-675ed0f8e89b"},"arrayField":["dbBy","npkveL","XRMSS"],"boolField":true,"intField":-315,"numField":670.588577686108,"objField":{"BnfDzajWq":875920686268598656,"FWwd":-6937816164951298475,"NFVSCAHr":-7421881178523261587,"PziuLvpWeO":-2846031955948037750,"UDyNm":-180348905515444388,"aJYsTWkRE":-2218610237874269744,"btaSdNdcF":4012235761323340632,"qHaDH":5416085018961827569,"qRJKKZj":-3561262948810717168},"stringDateField":"1996-01-26","stringDateTimeField":"1949-09-06T08:19:06Z","stringField":"gxBuM","stringTimeField":"18:50:22.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":-315,"numField":670.588577686108,"stringDateField":"1996-01-26","stringDateTimeField":"1949-09-06T08:19:06Z","stringField":"gxBuM","stringTimeField":"18:50:22.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3440,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3440,"uuid":"9e0a89e2-5655-11ee-b801-675ed0f8e89b"},"arrayField":["yBib"],"boolField":true,"intField":1,"numField":780.3378187447707,"objField":{"IIWNYgSZzc":-2012351981301096945,"zAsRb":-1459320548696890612},"stringDateField":"1902-12-26","stringDateTimeField":"1905-12-02T15:32:26Z","stringField":"PVSEr","stringTimeField":"04:41:13.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":1,"numField":780.3378187447707,"stringDateField":"1902-12-26","stringDateTimeField":"1905-12-02T15:32:26Z","stringField":"PVSEr","stringTimeField":"04:41:13.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3441,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3441,"uuid":"9e0a89e2-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["wIKeFjiA","WRzha"],"boolField":false,"intField":-973,"numField":434.16366150162423,"objField":{"FGxZeZEJWC":-3812922479202542200,"LxiKpsuMn":1706723181692743404,"UAKfQkC":-8322903049942963431,"boCXnyoi":2083777419928847264,"fFWGcZ":6658381089643844729,"tNMOkBe":-7628899466826370316},"stringDateField":"1970-11-08","stringDateTimeField":"1947-01-20T14:29:43Z","stringField":"FZbKHQNfGP","stringTimeField":"16:14:28.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763746Z","intField":-973,"numField":434.16366150162423,"stringDateField":"1970-11-08","stringDateTimeField":"1947-01-20T14:29:43Z","stringField":"FZbKHQNfGP","stringTimeField":"16:14:28.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3442,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3442,"uuid":"9e0a89e3-5655-11ee-8001-675ed0f8e89b"},"arrayField":["EHgvBOA","BQCEMSw","eyaqjE","KdhPoaSKF","GECT"],"boolField":false,"intField":885,"numField":175.26875285233535,"objField":{"IClT":6001018847721530514,"IchH":-670094647772672131,"MUNYmgyQ":8208776159110167001},"stringDateField":"1935-06-22","stringDateTimeField":"1971-05-03T02:38:49Z","stringField":"LMUWDUN","stringTimeField":"11:33:02.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":885,"numField":175.26875285233535,"stringDateField":"1935-06-22","stringDateTimeField":"1971-05-03T02:38:49Z","stringField":"LMUWDUN","stringTimeField":"11:33:02.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3443,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3443,"uuid":"9e0a89e3-5655-11ee-8401-675ed0f8e89b"},"arrayField":["sFkR"],"boolField":true,"intField":-275,"numField":-131.60350457468294,"objField":{"GDANVfyT":568562336063893313,"PXdfljqd":-9180095392297043744,"ZVeiCLa":-7702112417336206997,"pvwhLyG":-205567522908130384},"stringDateField":"1960-11-06","stringDateTimeField":"1995-07-26T13:55:20Z","stringField":"kRIjwsGM","stringTimeField":"13:16:34.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":-275,"numField":-131.60350457468294,"stringDateField":"1960-11-06","stringDateTimeField":"1995-07-26T13:55:20Z","stringField":"kRIjwsGM","stringTimeField":"13:16:34.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3444,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3444,"uuid":"9e0a89e3-5655-11ee-8801-675ed0f8e89b"},"arrayField":["YPaPr","xmGMZFfr","DDKN"],"boolField":true,"intField":-712,"numField":476.7260104584252,"objField":{"CIHXYaG":-3148977365385084105,"OTbfNFpi":2601924910312391825,"UFdUlqs":-5729581142189355058,"caWyTNE":6504564720763534252,"cbgPxodoNy":-9102067105996200073},"stringDateField":"1906-06-10","stringDateTimeField":"1924-05-08T10:35:06Z","stringField":"LNmqD","stringTimeField":"23:30:51.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":-712,"numField":476.7260104584252,"stringDateField":"1906-06-10","stringDateTimeField":"1924-05-08T10:35:06Z","stringField":"LNmqD","stringTimeField":"23:30:51.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3445,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3445,"uuid":"9e0a89e3-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["SJEYdbqa","JRwSRrs","CTBxbE","ZYBYgpMyWe","rpkyJ","aLBdKk","HmhDnFEuh","waerElsY","UVqTCa","VhPfYgdBAY"],"boolField":false,"intField":-473,"numField":-595.0381043176874,"objField":{"EQsHXlT":-8415801084326601415,"JKUUlplBVE":-1595298850935864291,"OdgamH":-4696339231715138638,"bLfHcaaU":-540768370153385165},"stringDateField":"2007-10-15","stringDateTimeField":"1985-07-03T08:51:46Z","stringField":"wLMgYaJmAr","stringTimeField":"14:19:20.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":-473,"numField":-595.0381043176874,"stringDateField":"2007-10-15","stringDateTimeField":"1985-07-03T08:51:46Z","stringField":"wLMgYaJmAr","stringTimeField":"14:19:20.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3446,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3446,"uuid":"9e0a89e3-5655-11ee-9001-675ed0f8e89b"},"arrayField":["jVGJ","tmop","EUuwm","YwcbvyU","yMLOQAYo","imljTDJq","jVMHqz","tUUM","oPlFqWZyLL"],"boolField":false,"intField":9,"numField":442.3174669407937,"objField":{"RNIZmccvS":5373898164920986343,"WvWymCnCkI":4359562784464680131,"dyJRkSl":3350057703808093700,"mDRVPqY":3052840384427536280},"stringDateField":"2005-07-16","stringDateTimeField":"1920-03-22T12:10:23Z","stringField":"VLlcGfGP","stringTimeField":"23:19:45.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":9,"numField":442.3174669407937,"stringDateField":"2005-07-16","stringDateTimeField":"1920-03-22T12:10:23Z","stringField":"VLlcGfGP","stringTimeField":"23:19:45.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3447,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3447,"uuid":"9e0a89e3-5655-11ee-9401-675ed0f8e89b"},"arrayField":["VOnFMpj","kuIxNNz"],"boolField":true,"intField":-740,"numField":476.0752949710245,"objField":{"KkKKw":235879401678752479,"RPVSABO":-4773302959998187022,"izEeiS":-2605079228174286638},"stringDateField":"1957-12-18","stringDateTimeField":"1913-10-07T09:29:31Z","stringField":"wuyCsl","stringTimeField":"09:10:41.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":-740,"numField":476.0752949710245,"stringDateField":"1957-12-18","stringDateTimeField":"1913-10-07T09:29:31Z","stringField":"wuyCsl","stringTimeField":"09:10:41.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3448,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3448,"uuid":"9e0a89e3-5655-11ee-9801-675ed0f8e89b"},"arrayField":["okghXa","eahiL"],"boolField":true,"intField":1000,"numField":177.4287639593648,"objField":{"RieTnqF":352053661429136394},"stringDateField":"1905-09-24","stringDateTimeField":"1937-11-06T08:28:42Z","stringField":"IpzZFGo","stringTimeField":"03:59:12.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":1000,"numField":177.4287639593648,"stringDateField":"1905-09-24","stringDateTimeField":"1937-11-06T08:28:42Z","stringField":"IpzZFGo","stringTimeField":"03:59:12.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3449,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3449,"uuid":"9e0a89e3-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["olcN","FFFuN","OCymb","fvMABid","IBkSeTgVfK","AkHr","cBoLuN","HLIdWPL"],"boolField":true,"intField":710,"numField":-268.8394647890623,"objField":{"mxvvg":-4009689789115127608,"uloRHL":-7679947918660272279},"stringDateField":"1998-07-26","stringDateTimeField":"1924-10-08T08:14:50Z","stringField":"YQvSorLz","stringTimeField":"06:29:29.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":710,"numField":-268.8394647890623,"stringDateField":"1998-07-26","stringDateTimeField":"1924-10-08T08:14:50Z","stringField":"YQvSorLz","stringTimeField":"06:29:29.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3450,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3450,"uuid":"9e0a89e3-5655-11ee-a001-675ed0f8e89b"},"arrayField":["stWjmJvOEf","MDhyV","UedUIFBlPE","wiIEwDIaJ","oAqJTgEbHr","yzhuyLS","tDhxchcz","cglOdNkoNv","EEUWiBZwWR","kICcIsH"],"boolField":true,"intField":376,"numField":925.6251182303888,"objField":{"NsenZGVpYN":-5038140752772736571,"cLsO":2034432426941457972,"kzuEdTH":-6608059832905120075,"rVuGjw":-7662278539411953520,"vDLSqg":1308653040371075183,"vcOqMv":5962024081271377485,"wKAPkmRzE":-8936647797151151766},"stringDateField":"1925-03-30","stringDateTimeField":"2001-03-09T17:54:20Z","stringField":"ihNvUMFY","stringTimeField":"02:26:51.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":376,"numField":925.6251182303888,"stringDateField":"1925-03-30","stringDateTimeField":"2001-03-09T17:54:20Z","stringField":"ihNvUMFY","stringTimeField":"02:26:51.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3451,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3451,"uuid":"9e0a89e3-5655-11ee-a401-675ed0f8e89b"},"arrayField":["sGoA","ZzqKJgjf","oshYFrRLnh","zIVSAg","DktIMW","HJmdv","uNkXPUnmta","xVLqnTKZOr"],"boolField":false,"intField":545,"numField":-665.3169945680345,"objField":{"AgIxzRBlyd":-2903519365677660461,"BuxMfxt":6910868583189526682,"GVCgDLBFA":3725181847719445176,"QHJUQCYIS":-6576733608244696181,"ioDiQj":8543143300431868853,"nfzdpgN":703332047836764511,"qUNo":-7592972358032806303,"sKEoNLo":-5070261619174577678,"ymtmWdoE":-8741534693993814831,"zCRDOCABq":727176645785768952},"stringDateField":"2011-01-07","stringDateTimeField":"1926-05-26T08:00:03Z","stringField":"qgBOfj","stringTimeField":"09:45:27.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":545,"numField":-665.3169945680345,"stringDateField":"2011-01-07","stringDateTimeField":"1926-05-26T08:00:03Z","stringField":"qgBOfj","stringTimeField":"09:45:27.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3452,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3452,"uuid":"9e0a89e3-5655-11ee-a801-675ed0f8e89b"},"arrayField":["NsOy","bgdPGXvX","wOIbJQvsoc","PDdyZzNgmo"],"boolField":true,"intField":-741,"numField":673.7759074607914,"objField":{"CDpqY":2247409590761658690,"XzaNtW":-880709520434486064,"bbTMQ":-2586311761179716324,"dzCZSOqtl":-4154383057612392432,"ncpjHMO":-8610170158268742714,"tvAzXPNJy":-7581034160583003343,"wNYgZbC":-4073920794893144748},"stringDateField":"1928-11-27","stringDateTimeField":"1938-04-21T12:38:24Z","stringField":"atNvULxjDm","stringTimeField":"22:29:22.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":-741,"numField":673.7759074607914,"stringDateField":"1928-11-27","stringDateTimeField":"1938-04-21T12:38:24Z","stringField":"atNvULxjDm","stringTimeField":"22:29:22.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3453,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3453,"uuid":"9e0a89e3-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["wqRkheQuS","ZhmabwF","XJbOFM","fdSogWqSol","fCUMHJV","WAkMgM","TTPJfuCsI","shCbMblbh"],"boolField":true,"intField":192,"numField":7.912594473008294,"objField":{"MWupGpKVF":262107144079861110,"WCYJJJ":-4433663528516058897,"XimlrZFIeK":-7616567334244666615,"dpDJzkoGPb":-2152517932860095982,"neFHjwHpWY":8592460147050528386,"pVRbudGfbd":-5620749403142006878},"stringDateField":"1959-11-03","stringDateTimeField":"1940-10-12T04:05:12Z","stringField":"WPZLs","stringTimeField":"20:31:36.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":192,"numField":7.912594473008294,"stringDateField":"1959-11-03","stringDateTimeField":"1940-10-12T04:05:12Z","stringField":"WPZLs","stringTimeField":"20:31:36.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3454,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3454,"uuid":"9e0a89e3-5655-11ee-b001-675ed0f8e89b"},"arrayField":["nOpvjVNTqa","IOgM","HshmjfsM","CDhpyOM"],"boolField":true,"intField":-391,"numField":-608.2696093591867,"objField":{"eQaIEh":-7452798814244415119,"rWrVcney":-7648546311637467281,"tuZA":-8626355835542707286,"xKZrSrsc":-156776211438916255},"stringDateField":"1901-04-22","stringDateTimeField":"1950-09-19T07:29:08Z","stringField":"JxihMFZj","stringTimeField":"14:44:00.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":-391,"numField":-608.2696093591867,"stringDateField":"1901-04-22","stringDateTimeField":"1950-09-19T07:29:08Z","stringField":"JxihMFZj","stringTimeField":"14:44:00.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3455,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3455,"uuid":"9e0a89e3-5655-11ee-b401-675ed0f8e89b"},"arrayField":["mzFTtsn","CWgDPar","lPJUaySYEA","DaiLhvG","AIqna","aDreSa","vcyBpjl","iZaN","amhRlkmr"],"boolField":false,"intField":187,"numField":-911.8193719175616,"objField":{"DcgPJI":-1620941370809553159,"WdOB":-4778549811596312843,"axjrxge":5491533843776084936,"fdsURhdvr":-1381858046758549807,"kHwGd":6488200441935379845,"luQcCAD":-6917065691271186022,"osAN":411243966778162031,"ovbIFP":-593957562671206494},"stringDateField":"1925-02-03","stringDateTimeField":"1996-11-11T10:33:23Z","stringField":"LQkCr","stringTimeField":"02:05:37.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":187,"numField":-911.8193719175616,"stringDateField":"1925-02-03","stringDateTimeField":"1996-11-11T10:33:23Z","stringField":"LQkCr","stringTimeField":"02:05:37.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3456,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3456,"uuid":"9e0a89e3-5655-11ee-b801-675ed0f8e89b"},"arrayField":["igmLpGa","iNvnAZ","hLRY","JnQJnlu","zCVhyf","WpOddIS","FNfV","ikfeorc"],"boolField":false,"intField":351,"numField":960.7135589785534,"objField":{"FTxD":1281404126837480125,"PzNaMQfRR":3268581626851313678,"TreezJRtu":-527798946796798202,"kpuHUZwySo":-4889529173940758350,"yKUK":936402033816173561},"stringDateField":"1910-08-02","stringDateTimeField":"1958-05-28T03:24:44Z","stringField":"kZQMthnb","stringTimeField":"14:28:55.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":351,"numField":960.7135589785534,"stringDateField":"1910-08-02","stringDateTimeField":"1958-05-28T03:24:44Z","stringField":"kZQMthnb","stringTimeField":"14:28:55.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3457,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3457,"uuid":"9e0a89e3-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["tnab","XqXVmPJl","UJJJkDPK","BdjsAgKxE","qkkci","JtxDLfgw","ayzpqhw"],"boolField":true,"intField":261,"numField":298.40516131933504,"objField":{"ACxXtgbQZk":6388335539030583261,"TIuEmIu":6501591779622273573,"VveFL":8498233352476132740,"XIkOztStRC":7413785937283793494,"celJzxN":641132602639765280,"eZsaQt":8507861059441109557,"qggAqRu":-258450587811447908},"stringDateField":"1937-07-30","stringDateTimeField":"1927-05-22T15:15:47Z","stringField":"SgtJ","stringTimeField":"22:15:59.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763747Z","intField":261,"numField":298.40516131933504,"stringDateField":"1937-07-30","stringDateTimeField":"1927-05-22T15:15:47Z","stringField":"SgtJ","stringTimeField":"22:15:59.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3458,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3458,"uuid":"9e0a89e4-5655-11ee-8001-675ed0f8e89b"},"arrayField":["tqvuUzw","YXZcSZAOy"],"boolField":true,"intField":-354,"numField":626.1584073441833,"objField":{"DdwC":-8703901268101837024,"LiAXk":997497207423781388,"cfUWnSpxC":-736048797847713497,"kmPxcNSzj":4611234839247354476},"stringDateField":"2020-06-26","stringDateTimeField":"1943-04-29T07:58:42Z","stringField":"stEkXtwaV","stringTimeField":"18:08:08.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":-354,"numField":626.1584073441833,"stringDateField":"2020-06-26","stringDateTimeField":"1943-04-29T07:58:42Z","stringField":"stEkXtwaV","stringTimeField":"18:08:08.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3459,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3459,"uuid":"9e0a89e4-5655-11ee-8401-675ed0f8e89b"},"arrayField":["zHPxTl","CwJBZLhxL","HcdUeFg","LhUvVNloFD"],"boolField":true,"intField":215,"numField":607.9628930268135,"objField":{"VubC":1318700812317698129,"ZXRiUHy":-6809451488248580032},"stringDateField":"2021-11-09","stringDateTimeField":"1960-03-20T21:37:39Z","stringField":"CMazAA","stringTimeField":"06:40:11.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":215,"numField":607.9628930268135,"stringDateField":"2021-11-09","stringDateTimeField":"1960-03-20T21:37:39Z","stringField":"CMazAA","stringTimeField":"06:40:11.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3460,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3460,"uuid":"9e0a89e4-5655-11ee-8801-675ed0f8e89b"},"arrayField":["MJTwhWJyV"],"boolField":false,"intField":693,"numField":-168.94818906190778,"objField":{"LLPbtgA":-7123789236194548582,"SQiyMNLVdn":-3246034725441313442,"UMOWQDC":8076326402065363285,"guKelA":-2095512595423574414,"judcmiOAgH":-6649880773857320319,"nJoY":-7170677390036868356,"ykAdviEj":2368499448952932431},"stringDateField":"1989-12-02","stringDateTimeField":"1998-04-20T02:47:49Z","stringField":"fjCnigMnj","stringTimeField":"14:07:36.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":693,"numField":-168.94818906190778,"stringDateField":"1989-12-02","stringDateTimeField":"1998-04-20T02:47:49Z","stringField":"fjCnigMnj","stringTimeField":"14:07:36.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3461,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3461,"uuid":"9e0a89e4-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["QBWgiUvwKz","xxIUzFfc","VFyFRIKos","gFUijbSGeI"],"boolField":false,"intField":-165,"numField":748.9023662318594,"objField":{"BXNP":7796982894170749954,"FKQooiLY":-2350985303337806787,"HEaJxbFn":173370559287070562,"JVEmGUGVO":-4249989636341612715,"SFRjSTSJ":1925496795674724166,"lOap":-9017747688949846010,"oPFJK":-6535884145596112720,"pwQiueFWDi":3019243394940465106,"qJeWtKct":-4873411414221086955},"stringDateField":"1955-11-16","stringDateTimeField":"1932-05-26T09:41:06Z","stringField":"grUTVnmQT","stringTimeField":"15:22:18.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":-165,"numField":748.9023662318594,"stringDateField":"1955-11-16","stringDateTimeField":"1932-05-26T09:41:06Z","stringField":"grUTVnmQT","stringTimeField":"15:22:18.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3462,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3462,"uuid":"9e0a89e4-5655-11ee-9001-675ed0f8e89b"},"arrayField":["nlMQczFW","rSyFIARP","waCQIFUz","hwcBsClUUt","PPTe","XJWDdmQ","Hohzkeju","vuNP","erhMDKPw"],"boolField":false,"intField":-138,"numField":376.0905059902937,"objField":{"DlMx":-697868603276537529,"LHzrnAw":-302144263812822167,"OOOogWbiYE":-4452108302360081275,"hDpXEl":1285441005222648068,"wBiMTZWP":-2199042437337877617},"stringDateField":"2010-04-08","stringDateTimeField":"1929-12-07T05:12:17Z","stringField":"VcwrvLRWBj","stringTimeField":"15:12:19.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":-138,"numField":376.0905059902937,"stringDateField":"2010-04-08","stringDateTimeField":"1929-12-07T05:12:17Z","stringField":"VcwrvLRWBj","stringTimeField":"15:12:19.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3463,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3463,"uuid":"9e0a89e4-5655-11ee-9401-675ed0f8e89b"},"arrayField":["zMmh","BjCY","JcMlznJI","uKja","YyeTbU","jCHfyn","dKHn","SsuM","OKKvtzIdtf"],"boolField":true,"intField":196,"numField":-454.63755260107706,"objField":{"AnSh":3495745931782894690,"IHgFoNMUEk":-3101530620668112274,"JjGHWIFZ":-4266474710664431314,"Ndhnsap":-5241068502587258269,"TTUWgbY":-4567414835879579063,"jORoqf":-3528548488147663104,"nldbwFO":-1889531235298768792,"paEGvUN":-8865285558003589319,"sjRLFPkjpP":112889124795161229},"stringDateField":"1905-06-08","stringDateTimeField":"1931-11-14T04:39:59Z","stringField":"RZwqnIhyY","stringTimeField":"01:14:20.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":196,"numField":-454.63755260107706,"stringDateField":"1905-06-08","stringDateTimeField":"1931-11-14T04:39:59Z","stringField":"RZwqnIhyY","stringTimeField":"01:14:20.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3464,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3464,"uuid":"9e0a89e4-5655-11ee-9801-675ed0f8e89b"},"arrayField":["WyxDZ","AQGU","mfYhrd","AIOw","xdWI","WRkVeB","hARcCEERM"],"boolField":true,"intField":820,"numField":-909.0421020835928,"objField":{"KoYtJKJ":7921505349525924593,"NNrWuycs":-4434818979756689136,"SQgkoLT":-8111494580465266317,"VqdzCK":6852064924677292094,"YKLqY":1788553621489429768,"fvwb":7212330390132584682,"iInlJCtl":-2918148107270725346,"qfAEsQ":847088405940257436,"sPdBnBJug":9190679018537810919,"wRWwgY":6505961690979535594},"stringDateField":"1940-09-24","stringDateTimeField":"1980-06-10T21:50:35Z","stringField":"LbpwqXi","stringTimeField":"12:18:07.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":820,"numField":-909.0421020835928,"stringDateField":"1940-09-24","stringDateTimeField":"1980-06-10T21:50:35Z","stringField":"LbpwqXi","stringTimeField":"12:18:07.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3465,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3465,"uuid":"9e0a89e4-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["SbDa","kkzuRtlU","kHpb","goyNbm","BfBEhx"],"boolField":true,"intField":987,"numField":-183.0987123515791,"objField":{"EXKc":-8138406437765496472,"NBPMFKCbC":1695318947079758783,"NRWTWWXIEq":1282340886747397244,"Nfznjby":-1088055304488600033,"OnGoyQogvq":8891017398926807674,"UOsEVut":-1513024304611613963,"WGpKIFqx":-8567087704546839648,"eeeBPWHSSb":-3974437076554550112},"stringDateField":"2020-06-07","stringDateTimeField":"1989-12-25T19:02:34Z","stringField":"qunmT","stringTimeField":"07:35:49.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":987,"numField":-183.0987123515791,"stringDateField":"2020-06-07","stringDateTimeField":"1989-12-25T19:02:34Z","stringField":"qunmT","stringTimeField":"07:35:49.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3466,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3466,"uuid":"9e0a89e4-5655-11ee-a001-675ed0f8e89b"},"arrayField":["bKYdNy","tOvbyxwqf"],"boolField":false,"intField":-986,"numField":264.70058007887087,"objField":{"CvdRwDxnKM":6081678313221709328,"LIXXwPwDHO":1880577080190674467,"dnYrBdJlHn":-7726353620032523380,"nRomKp":-5790692451983613091,"pFNsIMal":-7000582975823626206,"pKEzbF":-9015796256570081228,"zzjEUe":9211790014219354921},"stringDateField":"1940-11-22","stringDateTimeField":"1927-05-27T21:33:33Z","stringField":"KEqDKCbf","stringTimeField":"03:01:00.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":-986,"numField":264.70058007887087,"stringDateField":"1940-11-22","stringDateTimeField":"1927-05-27T21:33:33Z","stringField":"KEqDKCbf","stringTimeField":"03:01:00.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3467,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3467,"uuid":"9e0a89e4-5655-11ee-a401-675ed0f8e89b"},"arrayField":["FJjQIUMy","AgULjBcRJ","uZTFxF","Vibba","Ctmu","twFtOR","PLQVJiFQtM"],"boolField":true,"intField":-253,"numField":-837.4619949184282,"objField":{"NGdiLvaer":8982513686687343628,"lPpf":3973260713005702715,"tFQl":3777885750436517386},"stringDateField":"2006-05-03","stringDateTimeField":"1934-06-18T23:57:36Z","stringField":"xeiecCzAYH","stringTimeField":"03:26:09.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":-253,"numField":-837.4619949184282,"stringDateField":"2006-05-03","stringDateTimeField":"1934-06-18T23:57:36Z","stringField":"xeiecCzAYH","stringTimeField":"03:26:09.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3468,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3468,"uuid":"9e0a89e4-5655-11ee-a801-675ed0f8e89b"},"arrayField":["yNGALAxj","ukrPan","OrVmFHLjrw","BZLoRiXf"],"boolField":true,"intField":784,"numField":39.82351224741976,"objField":{"Fwqy":-8619026807870463769,"HnXTsmzdNz":-4105553271765318884,"NvJUTKLrIS":-1025024043077806738,"XioExCBT":5278156108136045144,"jFTbi":-6405683946245938106,"wWxuXtGdB":2252461356197610425},"stringDateField":"1996-05-07","stringDateTimeField":"1919-10-30T15:49:49Z","stringField":"jyZchVSEGf","stringTimeField":"20:13:58.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":784,"numField":39.82351224741976,"stringDateField":"1996-05-07","stringDateTimeField":"1919-10-30T15:49:49Z","stringField":"jyZchVSEGf","stringTimeField":"20:13:58.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3469,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3469,"uuid":"9e0a89e4-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["USae","JjAiP","ImWIQ","YdjoreUd","AJhqSk","fwodzZZWU","HWVTxInsUD"],"boolField":true,"intField":-316,"numField":-323.90160509664224,"objField":{"DgIZUU":-3231524345754677597,"HAFweN":-3518683317124052757,"LrogNhwoY":1801966287955710951,"RxDKQP":1917902931420251221,"UVUK":1075935952123832537,"aSaBwPAS":7069125790852871902,"lZCGbeJziW":1584184985288901138,"lrVQ":4505023963199358773,"tAgz":-6765664588103321061},"stringDateField":"1969-03-10","stringDateTimeField":"1962-08-18T11:00:10Z","stringField":"nccS","stringTimeField":"03:19:34.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":-316,"numField":-323.90160509664224,"stringDateField":"1969-03-10","stringDateTimeField":"1962-08-18T11:00:10Z","stringField":"nccS","stringTimeField":"03:19:34.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3470,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3470,"uuid":"9e0a89e4-5655-11ee-b001-675ed0f8e89b"},"arrayField":["fFGfhZ","lgDhhF","laox","zBTbU","JEOnurpfn","QOtCvgT","ApBse","lnWmy","dJeDGwK"],"boolField":true,"intField":-536,"numField":42.20092214974991,"objField":{"DskDEZnHZB":3859773565203945735,"HvcQBM":1308823222713933037,"IpChri":3301703323700065697,"gUncpnU":2371177821878494395,"gpKQ":-1762270084995426402,"ngxeIlGK":-5792746889603252638,"qgbcGf":5191925101488301629,"rxUYwm":4381223472308624270},"stringDateField":"1928-10-24","stringDateTimeField":"1901-06-20T20:05:47Z","stringField":"QuQUHB","stringTimeField":"03:44:06.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":-536,"numField":42.20092214974991,"stringDateField":"1928-10-24","stringDateTimeField":"1901-06-20T20:05:47Z","stringField":"QuQUHB","stringTimeField":"03:44:06.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3471,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3471,"uuid":"9e0a89e4-5655-11ee-b401-675ed0f8e89b"},"arrayField":["SuUHzSJV","AFGHYMG","zifuBhfA","YufnHeCn","WJGsJwvITT","JZhOc"],"boolField":true,"intField":-584,"numField":-728.0649014304546,"objField":{"AAumyXwGb":91648355894424073,"BKZVmEn":1791053911269592651,"PVAAkzzKUD":-3428976638430986959,"fCib":-3636590822740404232,"gxkt":-5158584261982052387,"nvNylrv":-2699596904022930923,"obtVjIDkX":-1051951100213195315,"uTNqt":-1195413925131088141,"vquVjRNV":-5149975470786932378,"wVkex":-251598749687797524},"stringDateField":"1988-09-05","stringDateTimeField":"1973-01-01T17:01:25Z","stringField":"ZSWwJuAnSi","stringTimeField":"09:15:22.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":-584,"numField":-728.0649014304546,"stringDateField":"1988-09-05","stringDateTimeField":"1973-01-01T17:01:25Z","stringField":"ZSWwJuAnSi","stringTimeField":"09:15:22.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3472,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3472,"uuid":"9e0a89e4-5655-11ee-b801-675ed0f8e89b"},"arrayField":["QbmLKXymrd","kYQmyILbaI","PWDkGCk"],"boolField":false,"intField":-953,"numField":-311.0733881107737,"objField":{"BpMixeFOn":-2085701880078156832,"eeMcFvN":-3138620467065281689},"stringDateField":"1964-04-02","stringDateTimeField":"1992-02-17T04:38:37Z","stringField":"tYbWGqmg","stringTimeField":"01:35:08.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":-953,"numField":-311.0733881107737,"stringDateField":"1964-04-02","stringDateTimeField":"1992-02-17T04:38:37Z","stringField":"tYbWGqmg","stringTimeField":"01:35:08.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3473,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3473,"uuid":"9e0a89e4-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["jJJD","MVcLXQLj","yLRuPD","TipbADO"],"boolField":true,"intField":663,"numField":917.3042590911311,"objField":{"yGSqlN":5555457228519828119},"stringDateField":"2001-02-18","stringDateTimeField":"1967-01-17T03:49:43Z","stringField":"gpyYgASrtW","stringTimeField":"05:55:19.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763748Z","intField":663,"numField":917.3042590911311,"stringDateField":"2001-02-18","stringDateTimeField":"1967-01-17T03:49:43Z","stringField":"gpyYgASrtW","stringTimeField":"05:55:19.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3474,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3474,"uuid":"9e0a89e5-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ddyYb","xOCnliL","liaycqLHxE","hRmUaO","aZWdNJtRm","BmvrYV","NflkY","zPLh"],"boolField":false,"intField":402,"numField":838.6516200416389,"objField":{"NakSHi":403895157456458699,"pgUY":5693865410992402870},"stringDateField":"1911-11-23","stringDateTimeField":"1903-11-10T23:21:40Z","stringField":"XzbQMub","stringTimeField":"03:35:12.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":402,"numField":838.6516200416389,"stringDateField":"1911-11-23","stringDateTimeField":"1903-11-10T23:21:40Z","stringField":"XzbQMub","stringTimeField":"03:35:12.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3475,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3475,"uuid":"9e0a89e5-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ctqVKO","zNxpwmW","WVgYlPoMYS","RmOZB","bYSW","lluz","NwXaZcCMRj","ynBOtmnOf","qCxeIiUoKp","ZIToHesE"],"boolField":true,"intField":-143,"numField":448.5653390497828,"objField":{"TfbdLmAIP":-1260405906384810880,"VmxZ":2511404239673121431},"stringDateField":"1986-06-14","stringDateTimeField":"1922-09-18T11:49:28Z","stringField":"UwswXB","stringTimeField":"11:07:30.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":-143,"numField":448.5653390497828,"stringDateField":"1986-06-14","stringDateTimeField":"1922-09-18T11:49:28Z","stringField":"UwswXB","stringTimeField":"11:07:30.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3476,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3476,"uuid":"9e0a89e5-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bWqFPMLU"],"boolField":false,"intField":-906,"numField":-74.3315981134629,"objField":{"XLbiyFK":2492892040119404389,"aIBMsTH":-6747213322950252991},"stringDateField":"1984-12-19","stringDateTimeField":"1949-03-18T06:12:06Z","stringField":"qMxRLWt","stringTimeField":"09:24:47.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":-906,"numField":-74.3315981134629,"stringDateField":"1984-12-19","stringDateTimeField":"1949-03-18T06:12:06Z","stringField":"qMxRLWt","stringTimeField":"09:24:47.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3477,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3477,"uuid":"9e0a89e5-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["lbCpNUQar","PbxhIhIUI","ivSn","WssltblU","urUXtAJ","xgXkLKCE"],"boolField":true,"intField":-617,"numField":691.1305590671086,"objField":{"ALlbqdwP":2958040695347086452,"EuSTbQVEn":3721130126791035588,"HpunALSOvc":6870514043437852018,"RDVbdN":-1004789248095660701,"XxnVeQ":3042514971146559010,"YPgIlOaGnD":1713703794815421368,"iyyGPVUkFs":1608407315563330494,"qHQDgbaBHY":1427787033042368842},"stringDateField":"1919-04-12","stringDateTimeField":"1919-06-29T18:35:52Z","stringField":"KuRzMWfGO","stringTimeField":"12:52:51.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":-617,"numField":691.1305590671086,"stringDateField":"1919-04-12","stringDateTimeField":"1919-06-29T18:35:52Z","stringField":"KuRzMWfGO","stringTimeField":"12:52:51.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3478,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3478,"uuid":"9e0a89e5-5655-11ee-9001-675ed0f8e89b"},"arrayField":["IwRixK","IRdKKY"],"boolField":true,"intField":-23,"numField":56.576655561918486,"objField":{"PiubeIuQ":-4078688594133275145,"uXoKkWZLZe":-4737656393888500190},"stringDateField":"1917-05-25","stringDateTimeField":"2012-05-12T18:41:28Z","stringField":"zMZsDl","stringTimeField":"20:10:46.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":-23,"numField":56.576655561918486,"stringDateField":"1917-05-25","stringDateTimeField":"2012-05-12T18:41:28Z","stringField":"zMZsDl","stringTimeField":"20:10:46.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3479,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3479,"uuid":"9e0a89e5-5655-11ee-9401-675ed0f8e89b"},"arrayField":["TMkCLb","EqRModK","pQuXVi","wkSsFNp","HlZEzMCu","SwcsKjO","uHGHkqKUj","YIpft","LXSUcC","KLEO"],"boolField":true,"intField":370,"numField":-606.1451584053357,"objField":{"IWDTCNjud":-1208352397024670218,"RbGfd":-5168163098734170511,"RrQS":9054348633375115014,"lzWtxkqx":-4013676293523441702,"ntXFX":-1254064428616656267,"svkcOxrTT":8464054363731355394},"stringDateField":"1977-07-13","stringDateTimeField":"2016-10-24T14:10:53Z","stringField":"hmKrmhHnB","stringTimeField":"08:39:44.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":370,"numField":-606.1451584053357,"stringDateField":"1977-07-13","stringDateTimeField":"2016-10-24T14:10:53Z","stringField":"hmKrmhHnB","stringTimeField":"08:39:44.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3480,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3480,"uuid":"9e0a89e5-5655-11ee-9801-675ed0f8e89b"},"arrayField":["xJoVg","gRZCWdm","NsMkZB","mPGtbyaTAk","AStGei","YBKlya","yBBOxGd","mPTVsxfZ","QMEhFGSS"],"boolField":true,"intField":-378,"numField":-341.8589139434236,"objField":{"cdxwhIn":5197172663128218969},"stringDateField":"2008-10-23","stringDateTimeField":"1900-05-31T01:00:11Z","stringField":"nKwl","stringTimeField":"14:14:49.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":-378,"numField":-341.8589139434236,"stringDateField":"2008-10-23","stringDateTimeField":"1900-05-31T01:00:11Z","stringField":"nKwl","stringTimeField":"14:14:49.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3481,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3481,"uuid":"9e0a89e5-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["TmbCuYLCA","OWDvcf","qgSkqXOgY","wkLgsNMBw","STnUM","VZDEGLrn","FdPjeXoy","DvnUrxb","EmaFIQhWz"],"boolField":false,"intField":-807,"numField":-622.9760859376313,"objField":{"OoQYqmHYiB":8380601722014310167,"cZKCSJLyx":-7910395145217178746,"fZcikZb":-1802271904504511754,"hrUq":-1209226577088945095,"iFOrQO":4871430844180536978,"sCmhRns":7779573282377595006,"zFIuf":2001126718421087474},"stringDateField":"1966-10-17","stringDateTimeField":"1935-05-15T06:28:37Z","stringField":"rjwrteLGfH","stringTimeField":"20:19:16.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":-807,"numField":-622.9760859376313,"stringDateField":"1966-10-17","stringDateTimeField":"1935-05-15T06:28:37Z","stringField":"rjwrteLGfH","stringTimeField":"20:19:16.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3482,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3482,"uuid":"9e0a89e5-5655-11ee-a001-675ed0f8e89b"},"arrayField":["epCThaonLm","vifqdb","uBiq"],"boolField":true,"intField":-687,"numField":584.1369816798716,"objField":{"BsTANFE":-928160906259799583,"DaOGBP":1787375620182237947,"MeoCXcQA":-3048027851547091165,"QDGBDn":4261143427669348309,"RfIKnMpNX":-2562923076993923877,"XsRtuATMuc":-6870734795421483699,"errb":9153088419159232316,"juSUpfrr":3255464595150906597,"yRRlCf":-2432940266014610495},"stringDateField":"1962-12-04","stringDateTimeField":"1971-12-06T21:47:16Z","stringField":"kRSjcWP","stringTimeField":"16:37:44.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":-687,"numField":584.1369816798716,"stringDateField":"1962-12-04","stringDateTimeField":"1971-12-06T21:47:16Z","stringField":"kRSjcWP","stringTimeField":"16:37:44.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3483,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3483,"uuid":"9e0a89e5-5655-11ee-a401-675ed0f8e89b"},"arrayField":["lAVcBAcmxs"],"boolField":true,"intField":603,"numField":502.5682782194891,"objField":{"JbTbh":1668574919645964870,"Ypkr":-6439383993120671414,"bAFjDSOANZ":-2067051798901328816,"kWJXCRJDm":-8455178380838790460},"stringDateField":"2008-11-12","stringDateTimeField":"1911-02-10T21:57:27Z","stringField":"qIwrZsxuW","stringTimeField":"23:14:22.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":603,"numField":502.5682782194891,"stringDateField":"2008-11-12","stringDateTimeField":"1911-02-10T21:57:27Z","stringField":"qIwrZsxuW","stringTimeField":"23:14:22.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3484,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3484,"uuid":"9e0a89e5-5655-11ee-a801-675ed0f8e89b"},"arrayField":["CVmApRF","KBLAfB","mRFZvt","fUCF","vdhhhWgAS","MDbYt","etIjGlsI"],"boolField":true,"intField":709,"numField":-857.3385819559088,"objField":{"SQQsso":6730951803106315706},"stringDateField":"1922-05-14","stringDateTimeField":"1993-08-10T17:38:06Z","stringField":"LnpQZ","stringTimeField":"08:21:33.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":709,"numField":-857.3385819559088,"stringDateField":"1922-05-14","stringDateTimeField":"1993-08-10T17:38:06Z","stringField":"LnpQZ","stringTimeField":"08:21:33.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3485,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3485,"uuid":"9e0a89e5-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["LYSrrDwFM","hzSC","pDdBR","zZNFVxLs","hZCAqUrqk","LCloeDQCGs","xkiFZFC","MTcWUsB"],"boolField":true,"intField":-540,"numField":-974.7649513478208,"objField":{"DckqUqAEwD":8597626453126432353,"EKcvqM":-6760389906848430980,"GxPRevl":-7639273954410053433,"REnkT":3954403296806499016,"aGrvNGdXB":4628524508736503793,"mhpLgdoHwa":4702067153556598379,"obZhjAL":2966628479192699401,"pckmnsZRcH":-478704811105729903,"qAqj":572071650661400689,"rPykLCkz":369751606341685937},"stringDateField":"1907-02-17","stringDateTimeField":"1929-11-06T22:50:36Z","stringField":"JousxNJ","stringTimeField":"11:17:28.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":-540,"numField":-974.7649513478208,"stringDateField":"1907-02-17","stringDateTimeField":"1929-11-06T22:50:36Z","stringField":"JousxNJ","stringTimeField":"11:17:28.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3486,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3486,"uuid":"9e0a89e5-5655-11ee-b001-675ed0f8e89b"},"arrayField":["mskWjjtF","ZujEcRICaD","tSqxi","fwxxTP","ppMI","ZHdmVfcKB","ATtdWBQz","woQl","wywXkSpE","SmuAiWpr"],"boolField":true,"intField":-205,"numField":218.14762339722017,"objField":{"BlijmQb":-551815380284058344,"ONli":-7485699594385105903,"UtUMcS":-2801625129694377325,"pLjeDHvR":-4187746422882192610,"pzsFEt":-9144861031879326249},"stringDateField":"1941-03-25","stringDateTimeField":"1983-09-19T07:04:55Z","stringField":"qONYvucwcM","stringTimeField":"13:45:56.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":-205,"numField":218.14762339722017,"stringDateField":"1941-03-25","stringDateTimeField":"1983-09-19T07:04:55Z","stringField":"qONYvucwcM","stringTimeField":"13:45:56.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3487,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3487,"uuid":"9e0a89e5-5655-11ee-b401-675ed0f8e89b"},"arrayField":["eUiWJ"],"boolField":false,"intField":-769,"numField":403.8286137186104,"objField":{"CeHGWF":-2350136252793017816,"PfSAhVeCv":-3045091773214185138},"stringDateField":"1987-01-12","stringDateTimeField":"2003-12-11T23:55:23Z","stringField":"iZPOJ","stringTimeField":"07:33:38.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":-769,"numField":403.8286137186104,"stringDateField":"1987-01-12","stringDateTimeField":"2003-12-11T23:55:23Z","stringField":"iZPOJ","stringTimeField":"07:33:38.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3488,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3488,"uuid":"9e0a89e5-5655-11ee-b801-675ed0f8e89b"},"arrayField":["FoGNG","yvrt","CJiJoZP","KWCUkoXPg","ZlySY","vMHkbuXNq","RztXDjjtGH","MqYnlT","tTNOT","YRhEQw"],"boolField":false,"intField":-619,"numField":866.4478834497548,"objField":{"HTfV":-7983493514078395343,"LhKqZXkCg":4536339667271068609,"asTUmZKZn":2908611970950303177,"dsLHAKgPnL":6717688473125697107},"stringDateField":"1928-08-09","stringDateTimeField":"2008-05-25T17:54:26Z","stringField":"tVNvXE","stringTimeField":"05:10:55.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":-619,"numField":866.4478834497548,"stringDateField":"1928-08-09","stringDateTimeField":"2008-05-25T17:54:26Z","stringField":"tVNvXE","stringTimeField":"05:10:55.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3489,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3489,"uuid":"9e0a89e5-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ZWyoETMbl","uecrfCFfH","qwfR","dsOTyM","xyLPEoy","RXmpQyl"],"boolField":true,"intField":262,"numField":-158.7239479092948,"objField":{"HwGCR":-2747059048518900005,"JBQugFpCwu":-6110137597807260767,"OkcA":-6549192169535891108,"PluXYLU":-8017625451109324438,"PvvFGTRa":-1753799456582748584,"SUfAqts":381685823220759856,"SqLtmErY":-4332185512810768662,"qyJdnqILY":-4696710110337131603,"tYSqVuiW":-712740800003713004},"stringDateField":"2001-03-16","stringDateTimeField":"1936-06-20T13:14:00Z","stringField":"PUdhstehGg","stringTimeField":"11:55:41.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763749Z","intField":262,"numField":-158.7239479092948,"stringDateField":"2001-03-16","stringDateTimeField":"1936-06-20T13:14:00Z","stringField":"PUdhstehGg","stringTimeField":"11:55:41.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3490,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3490,"uuid":"9e0a89e6-5655-11ee-8001-675ed0f8e89b"},"arrayField":["JpGHMmqcUI"],"boolField":false,"intField":-843,"numField":138.38583771179236,"objField":{"ARNwReiZ":6890817687115502685,"MLWz":1572230648789397803,"OBkcndTP":-8987675008045104906,"TEfMW":-7156509117227891701,"WpNpIlEt":8710111616127216785,"kQjeoHH":1921179014942313247,"nzRQdgn":-8226807046250691356,"rJoZRT":-8387229296481812210,"rlZfgD":7272843222985739704},"stringDateField":"1957-02-23","stringDateTimeField":"1975-08-13T02:19:01Z","stringField":"kcGK","stringTimeField":"02:57:27.46Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":-843,"numField":138.38583771179236,"stringDateField":"1957-02-23","stringDateTimeField":"1975-08-13T02:19:01Z","stringField":"kcGK","stringTimeField":"02:57:27.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3491,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3491,"uuid":"9e0a89e6-5655-11ee-8401-675ed0f8e89b"},"arrayField":["nJSYaQ","VDNUdqwNc","RKpUwQCy","awmZOQpicY"],"boolField":false,"intField":966,"numField":471.98073565503785,"objField":{"WmNFCpw":-5307027507229359754,"yyBxPXgUSI":6002206409739717077,"zxlSSjTgaB":-8629626096366176884},"stringDateField":"1962-08-08","stringDateTimeField":"1940-09-04T06:47:46Z","stringField":"pceOgCJ","stringTimeField":"04:42:37.21Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":966,"numField":471.98073565503785,"stringDateField":"1962-08-08","stringDateTimeField":"1940-09-04T06:47:46Z","stringField":"pceOgCJ","stringTimeField":"04:42:37.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3492,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3492,"uuid":"9e0a89e6-5655-11ee-8801-675ed0f8e89b"},"arrayField":["nLimDM","kdsk","dQkJY","DNFeS","SMxKgfIlbD","NVxTb","bSvnClPf","aoFt","BZTQsLgXJB"],"boolField":false,"intField":-979,"numField":9.832832331656771,"objField":{"CZFzhWrB":9166049715022528642,"dpMPMNv":8533659132553091528,"fwyIpw":-6800805939609823450,"isqDo":7328042341907357751,"nYCwiM":-4358600002524491600,"tGfxEXUJ":7476827714464481221,"zepl":579122584478806699},"stringDateField":"1958-09-29","stringDateTimeField":"2019-04-11T22:37:59Z","stringField":"zGJcFotp","stringTimeField":"01:12:34.17Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":-979,"numField":9.832832331656771,"stringDateField":"1958-09-29","stringDateTimeField":"2019-04-11T22:37:59Z","stringField":"zGJcFotp","stringTimeField":"01:12:34.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3493,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3493,"uuid":"9e0a89e6-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["VOthpOZBDn","wkAqXdNYVi","XxrzyJH","YMIiw","adoZmSOuKr","kxNnOfh","VBTjAIAdq","STAyNtn","Bhwjh"],"boolField":true,"intField":79,"numField":-713.7411216919241,"objField":{"TqCY":7019646612696966904,"VPrTS":6582205982591282385,"ViceZOXX":-671709841962361064,"VyZDT":-7944331422979167429,"bsmYav":2391478946242476132,"dOJwlrAiD":7438300032226866437,"sTyIRMdI":2391545136329731830,"uIqCnBGfy":-7951214299544082709,"xDkjonWkO":702038515946264292,"ytSGHTfaw":-5320210727673005038},"stringDateField":"1943-05-18","stringDateTimeField":"1981-06-29T23:40:10Z","stringField":"FhZxKUi","stringTimeField":"06:56:13.44Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":79,"numField":-713.7411216919241,"stringDateField":"1943-05-18","stringDateTimeField":"1981-06-29T23:40:10Z","stringField":"FhZxKUi","stringTimeField":"06:56:13.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3494,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3494,"uuid":"9e0a89e6-5655-11ee-9001-675ed0f8e89b"},"arrayField":["vfPHDD","BfOIBLb","CxaCXWbrI","rfqLhzY","WetLCBoug","wCviw","IPVMY","OJfnCgg","HXNQPsmyPg"],"boolField":false,"intField":-90,"numField":590.1264403132851,"objField":{"ZhktOwcfzY":7142171513182171184,"lWThZq":-9169933863868059840,"uLlNG":1259394793641141497},"stringDateField":"2020-07-21","stringDateTimeField":"1925-11-17T15:20:41Z","stringField":"tgKFQve","stringTimeField":"21:57:07.48Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":-90,"numField":590.1264403132851,"stringDateField":"2020-07-21","stringDateTimeField":"1925-11-17T15:20:41Z","stringField":"tgKFQve","stringTimeField":"21:57:07.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3495,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3495,"uuid":"9e0a89e6-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ckrxwJ"],"boolField":false,"intField":592,"numField":-599.2085427723235,"objField":{"TIKEUvN":-341318988634277089,"fWLPtPRSj":-4702473817452439924},"stringDateField":"1967-09-13","stringDateTimeField":"1987-06-08T07:40:48Z","stringField":"MLBEZrida","stringTimeField":"16:47:26.13Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":592,"numField":-599.2085427723235,"stringDateField":"1967-09-13","stringDateTimeField":"1987-06-08T07:40:48Z","stringField":"MLBEZrida","stringTimeField":"16:47:26.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3496,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3496,"uuid":"9e0a89e6-5655-11ee-9801-675ed0f8e89b"},"arrayField":["DgjMId","ECuYB","YxdlXlZJg","IIBg","svMHriB","DLvohtDky","UDYwqwKJc","BKDCKYXuA"],"boolField":false,"intField":436,"numField":-187.06724295625497,"objField":{"RUsuIv":89868485926832639,"UwjWegYi":4055402796993972835,"gZdU":6853172381804198032,"vrzG":-3677271242539978186,"wIrPJ":6480849585755934716,"xJDC":-576723256715798520},"stringDateField":"1926-07-17","stringDateTimeField":"1939-04-08T03:57:06Z","stringField":"ZYizVWjeFp","stringTimeField":"06:03:44.50Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":436,"numField":-187.06724295625497,"stringDateField":"1926-07-17","stringDateTimeField":"1939-04-08T03:57:06Z","stringField":"ZYizVWjeFp","stringTimeField":"06:03:44.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3497,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3497,"uuid":"9e0a89e6-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ngfuzIJDb","qnAIsKxKb","iMmhOo","CvrlCcjN","yHmikoVuam","vrJguIwrB","FKCjHEVorw","lVkBk"],"boolField":false,"intField":408,"numField":950.7049637809556,"objField":{"FlYZjNAsu":-7357516345981490906},"stringDateField":"1973-01-04","stringDateTimeField":"1977-04-28T07:05:59Z","stringField":"MtUrSqe","stringTimeField":"04:45:42.15Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":408,"numField":950.7049637809556,"stringDateField":"1973-01-04","stringDateTimeField":"1977-04-28T07:05:59Z","stringField":"MtUrSqe","stringTimeField":"04:45:42.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3498,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3498,"uuid":"9e0a89e6-5655-11ee-a001-675ed0f8e89b"},"arrayField":["GMfje"],"boolField":true,"intField":-918,"numField":-761.4305716165481,"objField":{"ARHn":5440112467070302196,"BuubNwQT":1959191923981923442,"LnWxrZ":8941952138235573509,"MSZzZaqwku":-7460959840258345191,"ZpsdbLGlf":-6258122733875694675,"dXeSHeSeC":6484722464836944693,"oGujutc":-2285083108599296633},"stringDateField":"1980-03-11","stringDateTimeField":"1988-06-08T03:49:42Z","stringField":"PnQkV","stringTimeField":"21:27:25.34Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":-918,"numField":-761.4305716165481,"stringDateField":"1980-03-11","stringDateTimeField":"1988-06-08T03:49:42Z","stringField":"PnQkV","stringTimeField":"21:27:25.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3499,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3499,"uuid":"9e0a89e6-5655-11ee-a401-675ed0f8e89b"},"arrayField":["pCATNmJpQq","ndJQcmN","UcYj"],"boolField":true,"intField":-77,"numField":386.0700237052763,"objField":{"HuOUyr":8006291822055052713,"JfMy":-6425668744832182739,"ZjlDjEx":-3975579023703248671,"wxUv":-347928845194992031},"stringDateField":"1986-04-23","stringDateTimeField":"1977-02-21T22:04:10Z","stringField":"fQPBJnl","stringTimeField":"15:16:24.26Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":-77,"numField":386.0700237052763,"stringDateField":"1986-04-23","stringDateTimeField":"1977-02-21T22:04:10Z","stringField":"fQPBJnl","stringTimeField":"15:16:24.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3500,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3500,"uuid":"9e0a89e6-5655-11ee-a801-675ed0f8e89b"},"arrayField":["WXor","LqRxJZCiM"],"boolField":true,"intField":-330,"numField":-326.5471223784816,"objField":{"ItNVqrMX":-8193458216359294330,"bgRET":-6233565178338821476,"jxQA":2585906402039184767,"myQSNni":-5011759691515884775,"zACz":-4267074750948015050,"zUGAAzTM":-4123805198639773356},"stringDateField":"1920-02-08","stringDateTimeField":"2016-06-25T17:01:06Z","stringField":"baVbTS","stringTimeField":"06:59:19.21Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":-330,"numField":-326.5471223784816,"stringDateField":"1920-02-08","stringDateTimeField":"2016-06-25T17:01:06Z","stringField":"baVbTS","stringTimeField":"06:59:19.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3501,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3501,"uuid":"9e0a89e6-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["fqZEfi","rDXhfOteS"],"boolField":true,"intField":-898,"numField":-323.8785239313603,"objField":{"Ogjwalie":-6128457161161968848,"SsxK":6592632019606610736,"YacJcWh":3338546274263188783,"ZeRGpYi":-906204582291339693,"eoOX":-7677246923045736967,"lFjVnyVy":-9119185681897014882,"sYdCYIW":3396834084955710605,"vItRcR":-3386869862518133022,"znKkJGfNB":7333424195843158920},"stringDateField":"1933-09-13","stringDateTimeField":"1950-05-20T20:56:30Z","stringField":"PpLJo","stringTimeField":"15:34:24.22Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":-898,"numField":-323.8785239313603,"stringDateField":"1933-09-13","stringDateTimeField":"1950-05-20T20:56:30Z","stringField":"PpLJo","stringTimeField":"15:34:24.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3502,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3502,"uuid":"9e0a89e6-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ikdNzb","pRKlSbQDOA","KjeVEWzwk","AwCgspfRJs","KfYRmxV","lJVsxDu","TDmSZ","FRpPzr","TtrnFbIw","YkCVNqB"],"boolField":true,"intField":517,"numField":-166.17970826886906,"objField":{"YNZh":-6179794601609071965},"stringDateField":"1922-11-11","stringDateTimeField":"1919-09-25T15:36:58Z","stringField":"rAQVtaAP","stringTimeField":"13:02:22.37Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":517,"numField":-166.17970826886906,"stringDateField":"1922-11-11","stringDateTimeField":"1919-09-25T15:36:58Z","stringField":"rAQVtaAP","stringTimeField":"13:02:22.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3503,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3503,"uuid":"9e0a89e6-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ytBfQZQ","NVvQLrTNCT","mZetmcw"],"boolField":false,"intField":-442,"numField":295.05051722987184,"objField":{"bVwQxfQvup":4325423845566870394,"kRVhFVC":-639677426000000159},"stringDateField":"2016-09-13","stringDateTimeField":"1934-10-28T19:24:37Z","stringField":"GjkSEBTWQ","stringTimeField":"08:35:40.43Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":-442,"numField":295.05051722987184,"stringDateField":"2016-09-13","stringDateTimeField":"1934-10-28T19:24:37Z","stringField":"GjkSEBTWQ","stringTimeField":"08:35:40.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3504,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3504,"uuid":"9e0a89e6-5655-11ee-b801-675ed0f8e89b"},"arrayField":["kIFdhyfhH","OCmRUMuF","kPSh","mudqxyjju","PFdUqMGqr"],"boolField":true,"intField":-344,"numField":-201.47834992960924,"objField":{"JYhbEWG":-8664922444544115696,"UEYEWun":-9049156988078136446,"XKmBNOauh":2083268997260868620,"dJxgGe":1414882554555997112,"jIiXEdYS":161534352353773768,"jzgRWBMbtv":1170749910557485746,"yylVvf":8146358987349612278},"stringDateField":"1979-04-15","stringDateTimeField":"1968-10-23T09:22:22Z","stringField":"mZYQ","stringTimeField":"05:20:35.38Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":-344,"numField":-201.47834992960924,"stringDateField":"1979-04-15","stringDateTimeField":"1968-10-23T09:22:22Z","stringField":"mZYQ","stringTimeField":"05:20:35.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3505,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3505,"uuid":"9e0a89e6-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["QXKlZ","dEGka","AMjSLUwse","awjznPXT","aDOoDlOgr","CNkvGfOZ","WODvAWGtF","TQCqklS"],"boolField":false,"intField":716,"numField":487.9970966584721,"objField":{"BcEyuPZiX":4314028969435747438,"IrWAvqGGU":1116678427921157392,"WdWWB":-7458608452801674616},"stringDateField":"1976-05-29","stringDateTimeField":"1933-02-28T11:28:24Z","stringField":"xZUXq","stringTimeField":"15:57:27.49Z"},"flow_published_at":"2023-09-18T19:00:21.876375Z","intField":716,"numField":487.9970966584721,"stringDateField":"1976-05-29","stringDateTimeField":"1933-02-28T11:28:24Z","stringField":"xZUXq","stringTimeField":"15:57:27.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3506,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3506,"uuid":"9e0a89e7-5655-11ee-8001-675ed0f8e89b"},"arrayField":["DCfjD","coSsZa","IXZuq","rmraMVG","dLDIdUX","hcfQp","mxHG","dzUlS","uAHsZKE","ibrha"],"boolField":true,"intField":-75,"numField":-546.0814258357807,"objField":{"DHOzHzCBTg":6313663540195669777,"HWsdgB":4294679289464203923,"NjcDRc":-5781265666602960230,"OwdZorY":8392459946795937750,"YdInCV":39194131455065329,"ZhPKamqRNu":2726685888066951892},"stringDateField":"1959-12-18","stringDateTimeField":"2012-10-29T04:03:25Z","stringField":"iKQZUNp","stringTimeField":"18:50:16.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":-75,"numField":-546.0814258357807,"stringDateField":"1959-12-18","stringDateTimeField":"2012-10-29T04:03:25Z","stringField":"iKQZUNp","stringTimeField":"18:50:16.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3507,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3507,"uuid":"9e0a89e7-5655-11ee-8401-675ed0f8e89b"},"arrayField":["SPOuoQP","hxUfOPaHDC","FcYNsFUoGq","AzHDSwrY","RMMzvYHB","tUxgcYjjqZ","dGxjMNex","ggrgn"],"boolField":false,"intField":563,"numField":799.9391910285159,"objField":{"mGybicZTQ":1843535541191772708},"stringDateField":"1979-10-04","stringDateTimeField":"1908-02-23T16:28:49Z","stringField":"MZVIutI","stringTimeField":"21:34:49.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":563,"numField":799.9391910285159,"stringDateField":"1979-10-04","stringDateTimeField":"1908-02-23T16:28:49Z","stringField":"MZVIutI","stringTimeField":"21:34:49.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3508,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3508,"uuid":"9e0a89e7-5655-11ee-8801-675ed0f8e89b"},"arrayField":["kJSActFZ","lKcSafuc","CHUwrf","LRHDFDFQuo","hmGVeIghum","ZLPLp","VOyUXqei","zFGRdKMDKl"],"boolField":true,"intField":852,"numField":-172.95974424310143,"objField":{"NkRYLrZ":-8934640411848357438,"YROjXJRi":3448874154735799525,"tDei":4256889581462219972,"vXxhtFCbpp":749105917648756705},"stringDateField":"1940-12-19","stringDateTimeField":"1926-03-06T23:24:40Z","stringField":"koEskIg","stringTimeField":"13:40:41.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":852,"numField":-172.95974424310143,"stringDateField":"1940-12-19","stringDateTimeField":"1926-03-06T23:24:40Z","stringField":"koEskIg","stringTimeField":"13:40:41.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3509,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3509,"uuid":"9e0a89e7-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["YArg","BVmbI","SCax"],"boolField":false,"intField":-896,"numField":-97.27353718547226,"objField":{"CvIehQVt":5319200377168993920,"DdLh":-1244491796048863491,"FoteDsrla":1581721354805212668,"NtrXrVf":9026086677690473824,"WcAMF":6585883473945850523,"aaBObd":3067641547597787140,"lFRa":6913036528743737452,"nfaWiX":-8616310427104840735,"sFZb":-4299889267446708305,"xPNZE":5770226423356636008},"stringDateField":"2022-08-21","stringDateTimeField":"1988-01-28T04:10:37Z","stringField":"NhkbIId","stringTimeField":"21:25:22.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":-896,"numField":-97.27353718547226,"stringDateField":"2022-08-21","stringDateTimeField":"1988-01-28T04:10:37Z","stringField":"NhkbIId","stringTimeField":"21:25:22.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3510,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3510,"uuid":"9e0a89e7-5655-11ee-9001-675ed0f8e89b"},"arrayField":["Qpsc","uPsyCXuTv","VFIxCivg"],"boolField":true,"intField":637,"numField":-271.79560813024494,"objField":{"bZAaXrtlu":-1767135828805907062,"yEINfo":-7306978712347723427},"stringDateField":"1931-03-02","stringDateTimeField":"1901-06-23T00:51:40Z","stringField":"NRjK","stringTimeField":"02:51:45.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":637,"numField":-271.79560813024494,"stringDateField":"1931-03-02","stringDateTimeField":"1901-06-23T00:51:40Z","stringField":"NRjK","stringTimeField":"02:51:45.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3511,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3511,"uuid":"9e0a89e7-5655-11ee-9401-675ed0f8e89b"},"arrayField":["kYkKAkaYEU","jvgG","nTiirLqM","tyalSyrI","tGaDuXhAs","xZQGjMJ"],"boolField":false,"intField":359,"numField":728.3494078740475,"objField":{"BhFLQJhP":8437601050977405486,"JSPmQxKW":2459625141009596751,"NTAuhS":4804783455042584937,"NnTEsh":-2390531508915124301,"sbNe":2137957029752295220,"xCks":927981825726429936},"stringDateField":"1976-09-14","stringDateTimeField":"1998-03-28T09:45:44Z","stringField":"cjKxHxbLG","stringTimeField":"23:31:56.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":359,"numField":728.3494078740475,"stringDateField":"1976-09-14","stringDateTimeField":"1998-03-28T09:45:44Z","stringField":"cjKxHxbLG","stringTimeField":"23:31:56.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3512,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3512,"uuid":"9e0a89e7-5655-11ee-9801-675ed0f8e89b"},"arrayField":["OAzl","sHvFgf","vndwQcE","ElhfpVFQ","ypVMvlkkUR","aEdHjKx","AnEPhHgK","gPedgOAhKq"],"boolField":true,"intField":-813,"numField":-360.9224740172973,"objField":{"dLcbnmkYs":-7267606344030648141,"jWcFvYVuf":9041766156165081250,"xhuqAgc":5588882701784998172},"stringDateField":"1978-08-23","stringDateTimeField":"1953-01-06T14:09:25Z","stringField":"JEOVbWVE","stringTimeField":"00:55:01.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":-813,"numField":-360.9224740172973,"stringDateField":"1978-08-23","stringDateTimeField":"1953-01-06T14:09:25Z","stringField":"JEOVbWVE","stringTimeField":"00:55:01.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3513,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3513,"uuid":"9e0a89e7-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["YPioPy","nNovul","fJRl","XbKaWJF","wVABNq"],"boolField":true,"intField":761,"numField":-757.7925160496058,"objField":{"AvmNGICni":-2265786573209630635,"HdIxyRpxUT":6063243861489809515,"PRmoLgkBhB":1857813546012830476,"QZjBDgWTL":-2220107739874723768,"cHFgsALG":-8613363473115862381,"cyZO":4748551050302464571,"eZsA":-6482997020415757452,"gJfgdhcz":5973822716641427586,"tpvhFsR":5662768237281732645,"uEOGFNG":-4296572959972475198},"stringDateField":"1930-06-28","stringDateTimeField":"1925-08-06T01:00:10Z","stringField":"yfbRLhaOlZ","stringTimeField":"16:41:52.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":761,"numField":-757.7925160496058,"stringDateField":"1930-06-28","stringDateTimeField":"1925-08-06T01:00:10Z","stringField":"yfbRLhaOlZ","stringTimeField":"16:41:52.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3514,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3514,"uuid":"9e0a89e7-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ifDblzmuXT","hLaU","TdkyCO","tqfATk","TYkNNWXUWv","ioeCgObQg","DWTxVKLmh","KksmEtUoK"],"boolField":false,"intField":857,"numField":-303.22709585589655,"objField":{"AJgwb":-2019626775302448697,"DCLlz":7495851983061797743,"MapjTWSY":1011661260081171945,"YleU":-1587771750452140687},"stringDateField":"1989-12-03","stringDateTimeField":"1938-11-28T07:49:21Z","stringField":"MGHbWt","stringTimeField":"04:31:11.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":857,"numField":-303.22709585589655,"stringDateField":"1989-12-03","stringDateTimeField":"1938-11-28T07:49:21Z","stringField":"MGHbWt","stringTimeField":"04:31:11.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3515,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3515,"uuid":"9e0a89e7-5655-11ee-a401-675ed0f8e89b"},"arrayField":["QzKOdd","XuBYvhvARP","kYoqivI","CxAAIjGEIU","nFDQlwAZW","NXLPp","InriodDtv"],"boolField":false,"intField":237,"numField":-814.2514770349923,"objField":{"AFcHijt":6047314057590855938,"FPLP":2186135125714973599,"GsqlyX":3990890217315926835,"KVexgO":-4724112407283513431,"gDcrhZzPy":-962928791043476197,"kBoxKiKV":-4041391123766465172,"mrMfITyC":-4886445303101744405,"rFsbUNXT":-294783454214627183},"stringDateField":"1946-01-22","stringDateTimeField":"2004-01-26T14:57:10Z","stringField":"WbLgavInL","stringTimeField":"10:55:16.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":237,"numField":-814.2514770349923,"stringDateField":"1946-01-22","stringDateTimeField":"2004-01-26T14:57:10Z","stringField":"WbLgavInL","stringTimeField":"10:55:16.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3516,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3516,"uuid":"9e0a89e7-5655-11ee-a801-675ed0f8e89b"},"arrayField":["SHjsPR","wxACrM","hBKqRjSZJ","SWcYE","vHqFQFPPe","XahX"],"boolField":true,"intField":-289,"numField":437.6623939317443,"objField":{"MTNJHOOK":-7668958928114505384,"gwtLmkjRy":-5240316610201612595,"iSxUUGSIQt":2391186295440607466,"pRISRa":6671241249942847403},"stringDateField":"1974-09-01","stringDateTimeField":"1941-09-02T11:05:15Z","stringField":"QZUYboB","stringTimeField":"14:42:25.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":-289,"numField":437.6623939317443,"stringDateField":"1974-09-01","stringDateTimeField":"1941-09-02T11:05:15Z","stringField":"QZUYboB","stringTimeField":"14:42:25.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3517,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3517,"uuid":"9e0a89e7-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["eDMSs"],"boolField":false,"intField":140,"numField":274.56630792193806,"objField":{"VLaUfA":6287090485301184402,"WRnyGniOZ":16659542314412335,"ibJaSnoAX":-5309297971444302026,"mcOOxq":-1905746217762205014},"stringDateField":"1998-02-06","stringDateTimeField":"1901-01-27T08:57:46Z","stringField":"pXYr","stringTimeField":"17:44:33.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":140,"numField":274.56630792193806,"stringDateField":"1998-02-06","stringDateTimeField":"1901-01-27T08:57:46Z","stringField":"pXYr","stringTimeField":"17:44:33.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3518,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3518,"uuid":"9e0a89e7-5655-11ee-b001-675ed0f8e89b"},"arrayField":["sStESRC","FMxJ","QGApraYtP","aZamYo","xENyjsNR","EOKGpNbDKF","aOTqpNh","LVEbLmlxkc"],"boolField":false,"intField":-286,"numField":-737.4329541975542,"objField":{"FPLLBVz":5190408150315094060,"KKKzKlLGPb":5350573105548199839},"stringDateField":"1976-08-18","stringDateTimeField":"1924-11-07T02:47:55Z","stringField":"bmAIqgf","stringTimeField":"14:58:29.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":-286,"numField":-737.4329541975542,"stringDateField":"1976-08-18","stringDateTimeField":"1924-11-07T02:47:55Z","stringField":"bmAIqgf","stringTimeField":"14:58:29.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3519,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3519,"uuid":"9e0a89e7-5655-11ee-b401-675ed0f8e89b"},"arrayField":["HIhqA","nCwBBL","TKnrXL"],"boolField":true,"intField":-394,"numField":787.5860899532498,"objField":{"eeyBZiYI":3088541194062534108,"hmZQbHKqf":-8845485938090768004},"stringDateField":"1925-10-30","stringDateTimeField":"1996-03-03T04:23:13Z","stringField":"vTZdDLbS","stringTimeField":"22:06:40.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":-394,"numField":787.5860899532498,"stringDateField":"1925-10-30","stringDateTimeField":"1996-03-03T04:23:13Z","stringField":"vTZdDLbS","stringTimeField":"22:06:40.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3520,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3520,"uuid":"9e0a89e7-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ROVa","asVZymX","hTDat","nbgPDGx","hhCUJX","ZaKjr","KUkzdin","nHqJmAy","zjnjlmFfOT"],"boolField":false,"intField":535,"numField":434.5815964068899,"objField":{"OZcm":2171876907528386476,"QwPDTY":-7197989644924790993,"WYDKYi":-4185979451240051301},"stringDateField":"1958-12-22","stringDateTimeField":"2017-03-19T14:09:52Z","stringField":"JiKXVOt","stringTimeField":"10:52:17.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":535,"numField":434.5815964068899,"stringDateField":"1958-12-22","stringDateTimeField":"2017-03-19T14:09:52Z","stringField":"JiKXVOt","stringTimeField":"10:52:17.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3521,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3521,"uuid":"9e0a89e7-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["IXBVGGHnd"],"boolField":false,"intField":-24,"numField":186.6441274902217,"objField":{"EUXYst":777408907144509763,"NrviKavPt":-3750031617506821767,"lhcMUDqp":409179459122376677},"stringDateField":"1952-09-17","stringDateTimeField":"1925-07-19T12:35:41Z","stringField":"byFu","stringTimeField":"16:54:52.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763751Z","intField":-24,"numField":186.6441274902217,"stringDateField":"1952-09-17","stringDateTimeField":"1925-07-19T12:35:41Z","stringField":"byFu","stringTimeField":"16:54:52.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3522,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3522,"uuid":"9e0a89e8-5655-11ee-8001-675ed0f8e89b"},"arrayField":["GWipAFQ","LTwIYzX","zkIPPksqp","zXGiLtJcp","TSeB","OVJjxbH","oakqDJ","OeWQBln","RCcMG","wAYeEZVYOP"],"boolField":true,"intField":204,"numField":353.47650167735065,"objField":{"glIdqBCA":-6649032282730744509,"inNKs":-7187060829567452050,"pmXkzOdz":5270709050500067110,"zpxjmNoBum":-1727889721074160708},"stringDateField":"1988-06-03","stringDateTimeField":"2020-05-01T04:15:03Z","stringField":"ihVf","stringTimeField":"01:13:11.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":204,"numField":353.47650167735065,"stringDateField":"1988-06-03","stringDateTimeField":"2020-05-01T04:15:03Z","stringField":"ihVf","stringTimeField":"01:13:11.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3523,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3523,"uuid":"9e0a89e8-5655-11ee-8401-675ed0f8e89b"},"arrayField":["QBlvYmLmm","TyhEEGWxHx","dBnnfy","PYIynbjoy","fDGJGOaT","AAuM","JscCCiBj","mNjsykYvx"],"boolField":true,"intField":-511,"numField":-211.54320188672892,"objField":{"FDnFqYzPc":7408398414485245309,"WBNtPyt":-9051144414459782862,"bepEWCnllc":4321263646250363110},"stringDateField":"1970-07-22","stringDateTimeField":"1961-05-24T17:37:35Z","stringField":"Oinr","stringTimeField":"13:29:24.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":-511,"numField":-211.54320188672892,"stringDateField":"1970-07-22","stringDateTimeField":"1961-05-24T17:37:35Z","stringField":"Oinr","stringTimeField":"13:29:24.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3524,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3524,"uuid":"9e0a89e8-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bbIvoi","CHCMZwWA","QLVD","CnIUyfG"],"boolField":true,"intField":-84,"numField":-222.81403952524403,"objField":{"BRDE":8776035923723502152,"Oxgq":-8028688426785050956,"qJtziz":8083127715764300921,"znOYaBnz":1023068935566900539},"stringDateField":"1971-05-31","stringDateTimeField":"2010-06-30T15:52:58Z","stringField":"Jarglo","stringTimeField":"08:58:20.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":-84,"numField":-222.81403952524403,"stringDateField":"1971-05-31","stringDateTimeField":"2010-06-30T15:52:58Z","stringField":"Jarglo","stringTimeField":"08:58:20.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3525,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3525,"uuid":"9e0a89e8-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["OuBEymR","UiudEuH"],"boolField":true,"intField":-772,"numField":-285.1118084534091,"objField":{"AOMxTx":-6842333319218051053,"AcFZtOj":-861832426215735796,"BkCvJif":6625928211467123236,"GAYGxU":-7502273803313128736,"JeOehazrU":1448700598416649862,"SWuTP":-3039525657267895022,"SpEW":3930236100731835151,"TWjJYnA":9133502596110178634,"eVrjdNfUp":6338717847541171518,"tlrgchQR":-4262874850720496295},"stringDateField":"1955-09-16","stringDateTimeField":"2005-05-30T16:45:07Z","stringField":"lbZtRS","stringTimeField":"05:26:50.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":-772,"numField":-285.1118084534091,"stringDateField":"1955-09-16","stringDateTimeField":"2005-05-30T16:45:07Z","stringField":"lbZtRS","stringTimeField":"05:26:50.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3526,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3526,"uuid":"9e0a89e8-5655-11ee-9001-675ed0f8e89b"},"arrayField":["HmWiqeWRb","bOHqZQreUM","tJNM","pUMgA","EZuPFf","sTXFHir","XFtKg","MtpXu","RuAZHWBT"],"boolField":false,"intField":649,"numField":-953.8394449032694,"objField":{"eSynIJSilt":-2699769063643161024,"lbjBbpEwa":-808637995110751023},"stringDateField":"1987-05-05","stringDateTimeField":"1932-05-22T02:16:30Z","stringField":"jkFufnQiKU","stringTimeField":"02:31:03.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":649,"numField":-953.8394449032694,"stringDateField":"1987-05-05","stringDateTimeField":"1932-05-22T02:16:30Z","stringField":"jkFufnQiKU","stringTimeField":"02:31:03.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3527,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3527,"uuid":"9e0a89e8-5655-11ee-9401-675ed0f8e89b"},"arrayField":["BiQSjhPS","mBbee","IbRA","ErgJ"],"boolField":true,"intField":714,"numField":-532.401803252137,"objField":{"MaMSzQQC":6705154799639501726,"eWoYxWSIV":4161757244395050979,"fKuoDrIbR":-5030586540826674080,"yjiYEoB":-6453436716959052883},"stringDateField":"2009-07-13","stringDateTimeField":"2018-02-03T14:23:25Z","stringField":"MFnSXWB","stringTimeField":"15:55:23.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":714,"numField":-532.401803252137,"stringDateField":"2009-07-13","stringDateTimeField":"2018-02-03T14:23:25Z","stringField":"MFnSXWB","stringTimeField":"15:55:23.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3528,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3528,"uuid":"9e0a89e8-5655-11ee-9801-675ed0f8e89b"},"arrayField":["uxEcKrj"],"boolField":true,"intField":-510,"numField":803.0014597960242,"objField":{"GXRhW":7783371485135884402,"LADSUMSfo":-3990935253606184237,"TfiUcz":7479033959802024047,"UOXvUjDmf":6995620522257859361,"iazZzv":-1503415343737781480,"rQxMQU":-4508790592086426835},"stringDateField":"1919-02-20","stringDateTimeField":"1943-04-28T12:30:19Z","stringField":"kfuNu","stringTimeField":"15:02:37.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":-510,"numField":803.0014597960242,"stringDateField":"1919-02-20","stringDateTimeField":"1943-04-28T12:30:19Z","stringField":"kfuNu","stringTimeField":"15:02:37.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3529,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3529,"uuid":"9e0a89e8-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["QDHBffWcdf","FzAQPdad","iQQJLJEt","EcAkZ","Bnvl","TQHU"],"boolField":true,"intField":223,"numField":-928.8634037284857,"objField":{"JYxHA":3916557381677053737,"SOdvrbyvc":5802861436517411740,"abnVGPn":5012252804825899552,"eMIhTmj":-2590971170870421167,"gRBcTCAmjC":-5171977484923314097,"lcBuhwz":-3515001812500742354,"msCyGj":-9095265249028864069,"pFwwhfwwsa":-3724517001553928806,"qMRDbZut":-7132995581701871865,"rYkv":-2402372919227090606},"stringDateField":"2003-02-23","stringDateTimeField":"1952-07-02T13:20:16Z","stringField":"mUpmksp","stringTimeField":"08:47:54.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":223,"numField":-928.8634037284857,"stringDateField":"2003-02-23","stringDateTimeField":"1952-07-02T13:20:16Z","stringField":"mUpmksp","stringTimeField":"08:47:54.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3530,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3530,"uuid":"9e0a89e8-5655-11ee-a001-675ed0f8e89b"},"arrayField":["CHQj","tJukMd","EJKIQIKHmo","dHmhFtpR","sMXTxH","vyLfcG","Iqqecx","nxNItQ","dPiUu","mAGNtsuQYF"],"boolField":true,"intField":-72,"numField":307.02876564877266,"objField":{"DlSvqIhNQ":1142025213975537300,"EdOcLf":207195365265813212,"PqDpqim":8120784108594164920,"kvbtci":3154362566626597487,"lFQJIch":-4892063328678987061,"pIIShtM":-7805935836397759726},"stringDateField":"2020-03-28","stringDateTimeField":"2018-09-25T07:11:36Z","stringField":"ELpf","stringTimeField":"01:49:38.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":-72,"numField":307.02876564877266,"stringDateField":"2020-03-28","stringDateTimeField":"2018-09-25T07:11:36Z","stringField":"ELpf","stringTimeField":"01:49:38.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3531,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3531,"uuid":"9e0a89e8-5655-11ee-a401-675ed0f8e89b"},"arrayField":["eXdTpi","tfKFtaGiaL","rCAvNRQ"],"boolField":false,"intField":-545,"numField":-407.29402291698415,"objField":{"DqzQdBN":-8636173304582742962,"TSVviy":8512117013751731797,"XOeZE":-6973514656674676279,"iCvsskOL":4041664653155702557},"stringDateField":"1966-01-07","stringDateTimeField":"1947-03-11T11:50:39Z","stringField":"AXAwK","stringTimeField":"08:32:38.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":-545,"numField":-407.29402291698415,"stringDateField":"1966-01-07","stringDateTimeField":"1947-03-11T11:50:39Z","stringField":"AXAwK","stringTimeField":"08:32:38.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3532,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3532,"uuid":"9e0a89e8-5655-11ee-a801-675ed0f8e89b"},"arrayField":["NOguGcR"],"boolField":false,"intField":560,"numField":-228.9599547790907,"objField":{"ApYBA":-134092236164427819,"HxXKUGTVsQ":6295340029485730350,"UNGALUpQc":-3497433919565607227,"esHqwTtjk":6339132327462186681,"gJwA":7980514181026535522,"tkfiDT":-7052397217046539096,"tvTCzGsuaX":-3377372580609011001},"stringDateField":"1968-09-06","stringDateTimeField":"1951-04-09T01:16:04Z","stringField":"qwAL","stringTimeField":"11:00:44.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":560,"numField":-228.9599547790907,"stringDateField":"1968-09-06","stringDateTimeField":"1951-04-09T01:16:04Z","stringField":"qwAL","stringTimeField":"11:00:44.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3533,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3533,"uuid":"9e0a89e8-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["qAzI","HKutcJbJn","ohLriAkQv","mJXoIzVRaS","qcitR","uQZXgBn","hhrs","lSDSHSo","EreLMqQmy"],"boolField":true,"intField":-870,"numField":-827.2182338417797,"objField":{"CVftuSAL":5616042176498497817,"VuSRQctC":4982861916868059175,"nWZMBKyA":3784986656161381464,"rUYVy":-2997480269532179675},"stringDateField":"1954-03-08","stringDateTimeField":"1957-03-02T08:45:27Z","stringField":"LSmVmiRVrV","stringTimeField":"10:11:45.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":-870,"numField":-827.2182338417797,"stringDateField":"1954-03-08","stringDateTimeField":"1957-03-02T08:45:27Z","stringField":"LSmVmiRVrV","stringTimeField":"10:11:45.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3534,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3534,"uuid":"9e0a89e8-5655-11ee-b001-675ed0f8e89b"},"arrayField":["HjgNi","UGts","yomyeOmY","aYnphDlLYm","KZtZX"],"boolField":false,"intField":976,"numField":973.6258107469804,"objField":{"AYpUU":-1207800664964043050,"BxMgB":8341699635038065493,"GDBC":-6793816338456408280,"JXljhDXBcr":1651583202983312484,"PUEU":1158842759526959658,"RUapRCLH":3843014413309617562,"UmnptGB":7250148057679960273,"hBIxi":5407095404665447653,"kstljb":-7985603211997372383,"xdZFlNb":-8655274122173095864},"stringDateField":"1982-05-16","stringDateTimeField":"1932-06-02T20:44:19Z","stringField":"KGuSem","stringTimeField":"06:34:47.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":976,"numField":973.6258107469804,"stringDateField":"1982-05-16","stringDateTimeField":"1932-06-02T20:44:19Z","stringField":"KGuSem","stringTimeField":"06:34:47.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3535,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3535,"uuid":"9e0a89e8-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ZuVAoETGC","TKxxyBxWP","DpiwLumRph","mEJyMlCltP","nThYvfr"],"boolField":true,"intField":-255,"numField":830.1026131042793,"objField":{"BnNJbWb":-3009580218595172345,"HDXBECKXW":-5078259130614955667,"LzJTNHVPk":-2495368373093800022,"XSsCFNBgMo":2682225419425915305,"xeCnRJjA":8991212299448363395,"zYdWVQ":5245458574319629052},"stringDateField":"1901-01-10","stringDateTimeField":"2022-11-01T21:01:00Z","stringField":"GbOKzVSJrv","stringTimeField":"17:44:53.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":-255,"numField":830.1026131042793,"stringDateField":"1901-01-10","stringDateTimeField":"2022-11-01T21:01:00Z","stringField":"GbOKzVSJrv","stringTimeField":"17:44:53.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3536,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3536,"uuid":"9e0a89e8-5655-11ee-b801-675ed0f8e89b"},"arrayField":["QCpHEpW","LLtXzBRs","BHYzGpTGHq"],"boolField":true,"intField":933,"numField":-287.542474661994,"objField":{"RoMqsPjxxT":8586593249524651036,"aBNCfNPm":-1085413044605944277},"stringDateField":"1979-05-16","stringDateTimeField":"1970-07-08T15:54:14Z","stringField":"pFqeNlaU","stringTimeField":"09:53:53.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":933,"numField":-287.542474661994,"stringDateField":"1979-05-16","stringDateTimeField":"1970-07-08T15:54:14Z","stringField":"pFqeNlaU","stringTimeField":"09:53:53.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3537,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3537,"uuid":"9e0a89e8-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["GTCRdYE","OQVRgybIAt","pAXQLDik","Ekvdqhcosz","PcDcXpzq","aznMOcyulF"],"boolField":false,"intField":579,"numField":843.7138960449735,"objField":{"DrytvGJJ":2547325496303615570},"stringDateField":"1987-12-12","stringDateTimeField":"1987-01-05T09:21:43Z","stringField":"ivlt","stringTimeField":"14:25:10.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763752Z","intField":579,"numField":843.7138960449735,"stringDateField":"1987-12-12","stringDateTimeField":"1987-01-05T09:21:43Z","stringField":"ivlt","stringTimeField":"14:25:10.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3538,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3538,"uuid":"9e0a89e9-5655-11ee-8001-675ed0f8e89b"},"arrayField":["BOXLbTydXK","PUmcwe","ZUZvHxSOyX"],"boolField":true,"intField":-534,"numField":835.8182341107798,"objField":{"HDdVnR":7862439489539521224,"HXqXd":-2429531326291163590,"VaTwe":-3111041424789866238,"ZSux":8712218799184593549,"ePRZTR":6401209837376816353,"enYOzBUjer":-4004928642103224246,"vXFiTTKB":4554620805087844096},"stringDateField":"1977-08-23","stringDateTimeField":"1959-04-23T16:33:38Z","stringField":"jbyWOKteWx","stringTimeField":"16:15:40.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":-534,"numField":835.8182341107798,"stringDateField":"1977-08-23","stringDateTimeField":"1959-04-23T16:33:38Z","stringField":"jbyWOKteWx","stringTimeField":"16:15:40.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3539,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3539,"uuid":"9e0a89e9-5655-11ee-8401-675ed0f8e89b"},"arrayField":["goxiy","vmzlgx"],"boolField":false,"intField":-742,"numField":-768.5248845824866,"objField":{"KdeAg":-6585526872095535493,"SkcZci":5837486928078268790,"ealrGaVui":-2318913482799677489,"gCSAeiuR":5849077283420458980,"gkYLpcMVlk":8411156092915252444,"qYzUotE":-2789771503268347736,"widycZ":-3569488609522746382},"stringDateField":"2016-06-21","stringDateTimeField":"1978-01-09T02:00:35Z","stringField":"hCmEJ","stringTimeField":"20:36:45.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":-742,"numField":-768.5248845824866,"stringDateField":"2016-06-21","stringDateTimeField":"1978-01-09T02:00:35Z","stringField":"hCmEJ","stringTimeField":"20:36:45.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3540,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3540,"uuid":"9e0a89e9-5655-11ee-8801-675ed0f8e89b"},"arrayField":["zrWvlo"],"boolField":true,"intField":530,"numField":626.782705586173,"objField":{"EWURsyAok":7931558836984392675,"XcSbqZ":2369214422355854188,"YTUGMHGr":-5105246688112041624,"jLnv":-2298414935145194383,"oaOnltBN":2976451816083403025,"sAjpGPb":-4791871461093266115,"vYHlLp":3253117648448411886,"xrPNwgs":-7448750836206654922},"stringDateField":"2004-05-11","stringDateTimeField":"2022-06-25T23:57:23Z","stringField":"GNztWwgYLO","stringTimeField":"07:50:43.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":530,"numField":626.782705586173,"stringDateField":"2004-05-11","stringDateTimeField":"2022-06-25T23:57:23Z","stringField":"GNztWwgYLO","stringTimeField":"07:50:43.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3541,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3541,"uuid":"9e0a89e9-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["REexUibKJ","fkvsxye"],"boolField":true,"intField":-757,"numField":336.83809914676186,"objField":{"GYjiyTASX":5887974461802445692,"hkECycIf":-8993183723188606124,"rigU":2262983148319474591,"wuGS":-4689360620513398340},"stringDateField":"1996-09-20","stringDateTimeField":"1991-06-18T06:36:38Z","stringField":"zKXVQv","stringTimeField":"12:56:16.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":-757,"numField":336.83809914676186,"stringDateField":"1996-09-20","stringDateTimeField":"1991-06-18T06:36:38Z","stringField":"zKXVQv","stringTimeField":"12:56:16.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3542,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3542,"uuid":"9e0a89e9-5655-11ee-9001-675ed0f8e89b"},"arrayField":["aTywUp","sqOhQL","jPIM","HNlNDmXX","oVJpUcNT","cjhnsZGQB","vittuLSbP"],"boolField":false,"intField":0,"numField":-271.03871069328557,"objField":{"KYlm":-7030049207731097496,"UxKqfRD":-981780882090525214,"rhHa":4533872636518672359,"wZUjxs":-470527907133621777,"yyGJ":-535262044211913674},"stringDateField":"1990-02-02","stringDateTimeField":"2011-11-28T00:00:37Z","stringField":"VrieXfjO","stringTimeField":"00:43:13.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":0,"numField":-271.03871069328557,"stringDateField":"1990-02-02","stringDateTimeField":"2011-11-28T00:00:37Z","stringField":"VrieXfjO","stringTimeField":"00:43:13.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3543,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3543,"uuid":"9e0a89e9-5655-11ee-9401-675ed0f8e89b"},"arrayField":["RqpSo","DxIXYmMcRC","WvDUCIpZql"],"boolField":false,"intField":849,"numField":-580.7077157789731,"objField":{"WKniVZaZ":4709697419203215654,"pzeGdFPsL":-5717108082995978460,"rXcBN":-698857322770360970},"stringDateField":"1948-06-23","stringDateTimeField":"1953-01-12T07:39:49Z","stringField":"uApawbFhE","stringTimeField":"23:43:45.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":849,"numField":-580.7077157789731,"stringDateField":"1948-06-23","stringDateTimeField":"1953-01-12T07:39:49Z","stringField":"uApawbFhE","stringTimeField":"23:43:45.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3544,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3544,"uuid":"9e0a89e9-5655-11ee-9801-675ed0f8e89b"},"arrayField":["xMntclzXXF","GolpQzAAE","xplp","aLYft","RCoqcWIgV","AiaslvW","ARTIW","tjEIgjHpZE"],"boolField":true,"intField":127,"numField":-958.7470358979432,"objField":{"FPsuP":7646072557055057377,"IhGbWRSref":-1101944183502118328,"MXemE":5635786954006162962,"eEuTYiD":5254416895193290858,"fQRYnzS":-8871147583761644530,"kOTi":5408828873178232556},"stringDateField":"1939-07-23","stringDateTimeField":"1986-08-28T14:47:39Z","stringField":"xcjiQ","stringTimeField":"07:43:27.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":127,"numField":-958.7470358979432,"stringDateField":"1939-07-23","stringDateTimeField":"1986-08-28T14:47:39Z","stringField":"xcjiQ","stringTimeField":"07:43:27.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3545,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3545,"uuid":"9e0a89e9-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["guXrqOR","asebrJZi","jqdnUovl"],"boolField":false,"intField":-580,"numField":855.0275049654068,"objField":{"WRdcNrcusq":-8381410672178889901},"stringDateField":"1952-06-29","stringDateTimeField":"1952-01-30T20:52:47Z","stringField":"rJWbs","stringTimeField":"13:40:43.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":-580,"numField":855.0275049654068,"stringDateField":"1952-06-29","stringDateTimeField":"1952-01-30T20:52:47Z","stringField":"rJWbs","stringTimeField":"13:40:43.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3546,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3546,"uuid":"9e0a89e9-5655-11ee-a001-675ed0f8e89b"},"arrayField":["vNEbZ","uZkvDwY","UEhKka","lnKJ","PszSpDFmw","yyOBu","aLSl"],"boolField":true,"intField":-514,"numField":-736.2535799054895,"objField":{"FqyY":-409580921943394555,"UUpfS":794654598773830376,"hlkQ":8849046337076558117,"ngzybIMPZ":5578347850603186859,"uxJPAstVh":-447080529147549571},"stringDateField":"1915-11-20","stringDateTimeField":"1939-09-17T10:43:45Z","stringField":"TisogVH","stringTimeField":"09:52:10.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":-514,"numField":-736.2535799054895,"stringDateField":"1915-11-20","stringDateTimeField":"1939-09-17T10:43:45Z","stringField":"TisogVH","stringTimeField":"09:52:10.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3547,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3547,"uuid":"9e0a89e9-5655-11ee-a401-675ed0f8e89b"},"arrayField":["XVmSCmA","FidViOnhXO","aVtFysbNau","UlpqDRera","USlAZ","nhPvh","NSDhEqt","bikCgmci","yQtgKZT"],"boolField":false,"intField":323,"numField":139.85286378325458,"objField":{"KGMMKNwJ":-8202552364068956050,"gsLu":5693044496130496170,"lUfaW":1256719756804858129,"pDTWxbtUb":485941057842958342,"tBZTdUMtyQ":-2620396197554424971,"uLHhJLtd":4581523498898266816,"uQUyUWbjbQ":-251531880645414291,"wkSnfKtMY":-8830684634578351665,"woRNASIV":-2939866569865125380,"yRdSq":-5704333430621056693},"stringDateField":"2004-12-14","stringDateTimeField":"1988-10-26T19:39:15Z","stringField":"hxAY","stringTimeField":"04:02:46.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":323,"numField":139.85286378325458,"stringDateField":"2004-12-14","stringDateTimeField":"1988-10-26T19:39:15Z","stringField":"hxAY","stringTimeField":"04:02:46.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3548,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3548,"uuid":"9e0a89e9-5655-11ee-a801-675ed0f8e89b"},"arrayField":["gjeG","SlspAPSNHP","tiBujsO","JPsRhBtZU","TVorJKsA","JDWKvILO","jatJ"],"boolField":true,"intField":903,"numField":-11.71524430710036,"objField":{"gWIQcwWjK":1084939896337945027,"rKZNFekDVA":-546737975051946876,"yBaJpSG":1208896397477111703},"stringDateField":"1974-06-25","stringDateTimeField":"2005-05-16T15:52:46Z","stringField":"ivdM","stringTimeField":"10:09:19.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":903,"numField":-11.71524430710036,"stringDateField":"1974-06-25","stringDateTimeField":"2005-05-16T15:52:46Z","stringField":"ivdM","stringTimeField":"10:09:19.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3549,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3549,"uuid":"9e0a89e9-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["cBstM"],"boolField":false,"intField":529,"numField":-598.0859847550246,"objField":{"BUWLQBttoD":9175395758531770096,"IYCWIprF":-1347190430014168924,"XkEE":-4502727248783563911,"YwYuBIjRJ":6521610521087397862,"qsvDTjvwqm":-6692821488586860549},"stringDateField":"2017-09-23","stringDateTimeField":"1912-12-16T20:54:12Z","stringField":"LIAfVtDpPZ","stringTimeField":"07:11:49.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":529,"numField":-598.0859847550246,"stringDateField":"2017-09-23","stringDateTimeField":"1912-12-16T20:54:12Z","stringField":"LIAfVtDpPZ","stringTimeField":"07:11:49.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3550,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3550,"uuid":"9e0a89e9-5655-11ee-b001-675ed0f8e89b"},"arrayField":["Vlkp","DSRkHSuVU","CdgeEUFE","WHsYK","QBMV"],"boolField":false,"intField":-305,"numField":428.53132794726866,"objField":{"ElZaURtb":-6525918472131117595,"HgwYVxDq":7451470065961070606,"ZxWtVHb":-3991196827189826815,"lxQA":-7961673525961500777},"stringDateField":"1951-04-15","stringDateTimeField":"1927-10-25T04:02:45Z","stringField":"nsCDhJEZaC","stringTimeField":"07:26:52.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":-305,"numField":428.53132794726866,"stringDateField":"1951-04-15","stringDateTimeField":"1927-10-25T04:02:45Z","stringField":"nsCDhJEZaC","stringTimeField":"07:26:52.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3551,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3551,"uuid":"9e0a89e9-5655-11ee-b401-675ed0f8e89b"},"arrayField":["TWpxkIu","JdqNrR","XRsJ","woLDWXNl","absvNCm","pWCEzWbYmM"],"boolField":true,"intField":-564,"numField":991.0357574486568,"objField":{"DDjn":5611473293886955197,"DRqnphqa":-4987204891831105379,"OdgsWXnF":5915911337003399220,"UPmVa":-8475160937770201772,"dOZjXXYlEh":-1709102979071940383,"hVsOmGP":43473131885626963,"mEUXf":695433898784647163,"tHpYvAcs":-6579096313444447425,"xZoCuFroda":8944702792334717349,"zoaTIVnK":7740702166772388491},"stringDateField":"1990-06-05","stringDateTimeField":"1990-03-06T23:30:10Z","stringField":"nPCRcIL","stringTimeField":"02:42:41.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":-564,"numField":991.0357574486568,"stringDateField":"1990-06-05","stringDateTimeField":"1990-03-06T23:30:10Z","stringField":"nPCRcIL","stringTimeField":"02:42:41.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3552,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3552,"uuid":"9e0a89e9-5655-11ee-b801-675ed0f8e89b"},"arrayField":["eHJwAQN","LJZvzMcX","iyyLcmrCB","gUDQXkNhho","nBujzhDHOc","biiWwwhOVm"],"boolField":true,"intField":-703,"numField":-955.4669908350417,"objField":{"eeTLRLjCSa":4530285998353161105,"pOtxHqrkm":-4162285971097044617,"xOMa":4931213554733861057},"stringDateField":"1934-04-17","stringDateTimeField":"2016-08-03T18:47:43Z","stringField":"KXnvsR","stringTimeField":"02:51:42.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":-703,"numField":-955.4669908350417,"stringDateField":"1934-04-17","stringDateTimeField":"2016-08-03T18:47:43Z","stringField":"KXnvsR","stringTimeField":"02:51:42.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3553,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3553,"uuid":"9e0a89e9-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["mpGGU","nhAPw"],"boolField":true,"intField":607,"numField":665.4847513499122,"objField":{"OFOxsxOwUG":-772821834019400534,"oDaVpib":-5444758101233471556,"pAbNdVJ":-1451172090393426051,"tDezFvcSl":9111503089032649963,"uuKvAs":3733201312053979447},"stringDateField":"2018-05-02","stringDateTimeField":"2017-09-20T07:06:33Z","stringField":"MYwRYMVexa","stringTimeField":"08:59:41.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763753Z","intField":607,"numField":665.4847513499122,"stringDateField":"2018-05-02","stringDateTimeField":"2017-09-20T07:06:33Z","stringField":"MYwRYMVexa","stringTimeField":"08:59:41.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3554,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3554,"uuid":"9e0a89ea-5655-11ee-8001-675ed0f8e89b"},"arrayField":["yHysuqZC","ShZPGfv","AOFEmOvfP","lavayMMEEs","OmVgDTKDoZ"],"boolField":false,"intField":408,"numField":-384.4603187487931,"objField":{"AputBRly":3079220395481331046,"iCnUt":7414596693409233524,"wuRD":-2609465920098232401},"stringDateField":"1922-08-06","stringDateTimeField":"1968-01-12T07:23:03Z","stringField":"aZDFyOmw","stringTimeField":"10:22:42.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":408,"numField":-384.4603187487931,"stringDateField":"1922-08-06","stringDateTimeField":"1968-01-12T07:23:03Z","stringField":"aZDFyOmw","stringTimeField":"10:22:42.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3555,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3555,"uuid":"9e0a89ea-5655-11ee-8401-675ed0f8e89b"},"arrayField":["GqlYkTEIAT"],"boolField":false,"intField":-95,"numField":-868.300988698608,"objField":{"SLsbtjMzbO":-310111796927317422},"stringDateField":"2003-11-29","stringDateTimeField":"1953-07-06T16:55:49Z","stringField":"RakYiJXqn","stringTimeField":"23:03:51.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":-95,"numField":-868.300988698608,"stringDateField":"2003-11-29","stringDateTimeField":"1953-07-06T16:55:49Z","stringField":"RakYiJXqn","stringTimeField":"23:03:51.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3556,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3556,"uuid":"9e0a89ea-5655-11ee-8801-675ed0f8e89b"},"arrayField":["EtKnZAjRQ","MVKFT","cfuUZrA","nSfa"],"boolField":true,"intField":-928,"numField":-808.5821061375829,"objField":{"YxHIoOXBC":-3912472737678340978,"fliU":-546149480485607175,"gEjBCUtH":-4969048498435341989,"jDCknQzmiY":5056381888032647761},"stringDateField":"1943-12-13","stringDateTimeField":"1908-04-22T05:32:48Z","stringField":"DNZO","stringTimeField":"05:31:57.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":-928,"numField":-808.5821061375829,"stringDateField":"1943-12-13","stringDateTimeField":"1908-04-22T05:32:48Z","stringField":"DNZO","stringTimeField":"05:31:57.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3557,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3557,"uuid":"9e0a89ea-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["eDwz","YknTKUnLgt","PQiqvgHo","uuKqcCdsQ"],"boolField":false,"intField":-212,"numField":996.14620387588,"objField":{"BjGhOqiU":3909989835680940252,"GDtEonb":9085317639403577272,"HIgRkQRZ":-2567983316584949068,"RGop":1581911727960811215,"UOASjC":295084275077494655,"loILxV":-3897881519174437044,"nhXoIjDtn":3994632695136178742,"rMopvLWgdm":-4059663754522331712,"tCPHiExPw":-4520300081404723840},"stringDateField":"1974-08-20","stringDateTimeField":"1964-08-19T04:09:27Z","stringField":"SeHwM","stringTimeField":"23:09:07.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":-212,"numField":996.14620387588,"stringDateField":"1974-08-20","stringDateTimeField":"1964-08-19T04:09:27Z","stringField":"SeHwM","stringTimeField":"23:09:07.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3558,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3558,"uuid":"9e0a89ea-5655-11ee-9001-675ed0f8e89b"},"arrayField":["BcccEiJPF","bjIqSd","QjGYO","KNjwhgyZ","yenSDJDKb","aNtDDnD","qrJCoBpp","GUUCA","ELdWvHzFG"],"boolField":true,"intField":-943,"numField":101.92793710505966,"objField":{"EdevEqD":8907351828102820844,"FOvQBT":-2871304211267650092,"GmwQOxLAZ":9093293429467516006,"HqJzFN":6296115030576299936,"VxMr":-7415534475614169969,"ZYzzNDCuTk":3802295949914925316,"dgYUIW":-7730200691624183970,"fygH":3771823908933248423,"slOjuR":-5715351943118686799,"tVdDlcboaT":-1115543244700171384},"stringDateField":"2003-04-04","stringDateTimeField":"1932-04-02T14:20:28Z","stringField":"PBScQhBEQ","stringTimeField":"19:47:55.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":-943,"numField":101.92793710505966,"stringDateField":"2003-04-04","stringDateTimeField":"1932-04-02T14:20:28Z","stringField":"PBScQhBEQ","stringTimeField":"19:47:55.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3559,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3559,"uuid":"9e0a89ea-5655-11ee-9401-675ed0f8e89b"},"arrayField":["wtnUYmNTq"],"boolField":false,"intField":-340,"numField":831.3619378345813,"objField":{"vECPmKaeb":7112375855650962425},"stringDateField":"1933-08-17","stringDateTimeField":"1982-01-25T22:10:38Z","stringField":"qivCsBVj","stringTimeField":"08:45:18.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":-340,"numField":831.3619378345813,"stringDateField":"1933-08-17","stringDateTimeField":"1982-01-25T22:10:38Z","stringField":"qivCsBVj","stringTimeField":"08:45:18.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3560,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3560,"uuid":"9e0a89ea-5655-11ee-9801-675ed0f8e89b"},"arrayField":["izeOoemd","IJhwzpVQ"],"boolField":true,"intField":976,"numField":999.7973217142426,"objField":{"jrfXz":5452127344174536694,"tZEJh":-3922297156461353494},"stringDateField":"1967-03-17","stringDateTimeField":"1953-01-11T02:57:56Z","stringField":"sIFIO","stringTimeField":"10:49:55.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":976,"numField":999.7973217142426,"stringDateField":"1967-03-17","stringDateTimeField":"1953-01-11T02:57:56Z","stringField":"sIFIO","stringTimeField":"10:49:55.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3561,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3561,"uuid":"9e0a89ea-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["TOBgD","awrC","bfkLOfG","tAVCPct"],"boolField":false,"intField":896,"numField":117.25556876492172,"objField":{"AnjOoZ":6153262024555921477,"GWYcEXajc":2363383489724387732,"PAUsdQTf":1089576415946285156,"UqIqjhtQ":2860962247078758313,"VFaAPjf":1132950059339872853,"oBmECXHL":7316198855384220992,"sqjFc":-1245848495092192544,"syydZcWE":-7505081222223910626},"stringDateField":"1985-11-18","stringDateTimeField":"1940-05-10T21:49:15Z","stringField":"aNJfk","stringTimeField":"00:15:25.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":896,"numField":117.25556876492172,"stringDateField":"1985-11-18","stringDateTimeField":"1940-05-10T21:49:15Z","stringField":"aNJfk","stringTimeField":"00:15:25.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3562,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3562,"uuid":"9e0a89ea-5655-11ee-a001-675ed0f8e89b"},"arrayField":["Horhz","pDJQcqIPcr","CjJpjss","xSrFxBz","VTwaGdkW","TIUNHrh","IXzql","xDoLY","GgcOb"],"boolField":true,"intField":1,"numField":-609.2091474216523,"objField":{"WVOaWHZhSu":-7857071283853047979},"stringDateField":"1989-05-09","stringDateTimeField":"1949-10-21T13:14:38Z","stringField":"BguMQVn","stringTimeField":"21:13:32.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":1,"numField":-609.2091474216523,"stringDateField":"1989-05-09","stringDateTimeField":"1949-10-21T13:14:38Z","stringField":"BguMQVn","stringTimeField":"21:13:32.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3563,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3563,"uuid":"9e0a89ea-5655-11ee-a401-675ed0f8e89b"},"arrayField":["fPjj","iXZrdVs","Dpwmu","GXKTeN","lCxPJ","XtZcCASjd"],"boolField":true,"intField":338,"numField":-128.32094703941044,"objField":{"AgAn":-5832542782025978378,"BFqwAyPf":3930836720165575876,"HqlSkYDlSw":2027554751459318162,"PwWdF":-5558448674275938398,"UXgMGvQ":-3546662977826136429,"ceIZX":-6125343238093119026,"iwZWTv":8416816776879394485,"psuAv":-601790509862660912,"tVpXWldPeH":-8516070870243741299},"stringDateField":"1945-03-25","stringDateTimeField":"1928-09-07T20:56:13Z","stringField":"xXtn","stringTimeField":"03:38:24.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":338,"numField":-128.32094703941044,"stringDateField":"1945-03-25","stringDateTimeField":"1928-09-07T20:56:13Z","stringField":"xXtn","stringTimeField":"03:38:24.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3564,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3564,"uuid":"9e0a89ea-5655-11ee-a801-675ed0f8e89b"},"arrayField":["WfrUlr"],"boolField":true,"intField":247,"numField":-482.9045752355637,"objField":{"GHVWypaowm":-1392525185143594798,"TAPmkw":-544549401997182516,"VALhG":-5669578459916755077,"cEcTMtOZf":-94704044424768586,"jPnuXYcRQo":-3667898934542360892,"nodIx":5635785364833136047,"uIHbyY":-7787866906987853939,"wHxWBUpU":-7878511119542733702},"stringDateField":"1958-03-08","stringDateTimeField":"1973-02-18T09:08:16Z","stringField":"zwZndiV","stringTimeField":"06:05:23.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":247,"numField":-482.9045752355637,"stringDateField":"1958-03-08","stringDateTimeField":"1973-02-18T09:08:16Z","stringField":"zwZndiV","stringTimeField":"06:05:23.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3565,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3565,"uuid":"9e0a89ea-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["cgeuu","vMcfd","fvTckO","XOpoEe","wIAtvIadQ","GtAASqPLe","QRqdhS","RLpOGqGHK","vQBAqaXB"],"boolField":true,"intField":-901,"numField":-482.43018241806857,"objField":{"VvAh":431637960408111831,"WuDtMNsV":-6720069887551297508,"ckCdaOwL":2116581444773968506,"gdzssEXoPg":-4967317483121668410,"mVXqpN":-3838269984854994186,"zMoBqsQ":-7506750339847483503},"stringDateField":"1907-12-16","stringDateTimeField":"1935-02-08T16:16:12Z","stringField":"GHPZgT","stringTimeField":"02:52:58.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":-901,"numField":-482.43018241806857,"stringDateField":"1907-12-16","stringDateTimeField":"1935-02-08T16:16:12Z","stringField":"GHPZgT","stringTimeField":"02:52:58.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3566,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3566,"uuid":"9e0a89ea-5655-11ee-b001-675ed0f8e89b"},"arrayField":["yTrep","ebVeLbZx","MsyiBTuKnV"],"boolField":false,"intField":-889,"numField":-917.7151137472124,"objField":{"BEukZ":6936225002023677221,"FJHIhJM":-721697326300806069,"IRar":2775778222481161736,"UlEnB":-9110275824712375020,"UodzK":-4144537488904235181,"Uzgqcgfiuj":2409877073270917705},"stringDateField":"1974-08-02","stringDateTimeField":"2001-12-28T10:08:17Z","stringField":"TGXAhE","stringTimeField":"05:10:18.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":-889,"numField":-917.7151137472124,"stringDateField":"1974-08-02","stringDateTimeField":"2001-12-28T10:08:17Z","stringField":"TGXAhE","stringTimeField":"05:10:18.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3567,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3567,"uuid":"9e0a89ea-5655-11ee-b401-675ed0f8e89b"},"arrayField":["JPWBLPNO","rLtrlGA","pQTpg","gBwX","YCvZLyUM","FraSa","WhuuqbLnC","hvQk","OXZmum"],"boolField":true,"intField":695,"numField":485.9733810748124,"objField":{"GmZW":-4618913752450531393,"HnqNvwGT":-6639787827176734547,"JKWSehBhuN":2706963478729929209,"SkFc":6021049006976528787,"UwqCtToob":-70646287476610197,"aYCHbf":-8485015835172241848,"jQdOpD":-6258768475417201310,"oRSjkE":752444948032468439,"qkNDtslNSq":-7523430362933607470,"wwzY":3127659756830887430},"stringDateField":"2015-05-31","stringDateTimeField":"1980-11-26T14:14:56Z","stringField":"lyENlJts","stringTimeField":"19:06:12.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":695,"numField":485.9733810748124,"stringDateField":"2015-05-31","stringDateTimeField":"1980-11-26T14:14:56Z","stringField":"lyENlJts","stringTimeField":"19:06:12.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3568,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3568,"uuid":"9e0a89ea-5655-11ee-b801-675ed0f8e89b"},"arrayField":["zqCdDWgrS","qjVsCHr","fhzBBkj","XVQmEnN","Gsryqr","zoUyEFwm","rAluQP","lUovAzI","lzDoneSEOO","aicu"],"boolField":false,"intField":118,"numField":790.5422736542225,"objField":{"JgYYfPjdjz":5789563257871564709,"OYxM":7866729326428277491,"SXiQJk":-7437993830775283949,"cWqTkUTJY":1847817045676175838,"ikYua":-1190973703280140704},"stringDateField":"1998-04-21","stringDateTimeField":"1994-12-13T13:10:26Z","stringField":"KljAlZ","stringTimeField":"21:38:10.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":118,"numField":790.5422736542225,"stringDateField":"1998-04-21","stringDateTimeField":"1994-12-13T13:10:26Z","stringField":"KljAlZ","stringTimeField":"21:38:10.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3569,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3569,"uuid":"9e0a89ea-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["TCEicJl","afiM","FiWO","JxbfCH","TiPveGGN","pktW","lsyfZq","nfcifGx","mgAPUwlG","TLJn"],"boolField":false,"intField":157,"numField":-720.3818460113431,"objField":{"BjETshtKM":2741701442310974783},"stringDateField":"1940-10-24","stringDateTimeField":"1941-09-03T11:56:17Z","stringField":"cdUQnW","stringTimeField":"21:58:03.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763754Z","intField":157,"numField":-720.3818460113431,"stringDateField":"1940-10-24","stringDateTimeField":"1941-09-03T11:56:17Z","stringField":"cdUQnW","stringTimeField":"21:58:03.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3570,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3570,"uuid":"9e0a89eb-5655-11ee-8001-675ed0f8e89b"},"arrayField":["fpEpCon"],"boolField":true,"intField":-195,"numField":368.7499341996174,"objField":{"YTtcAankdZ":-5967672688530443858,"ZNQS":1055736882098853175,"ZSYqDpdMFG":4701152773291502941,"hfnpZNo":-282451192762688333,"jPxQQtqmR":-8514614712794367088,"lzUs":-4497684755762681261,"pMJeNTCWF":-5791588221644832699,"qSVndJPsLE":-8364119863418626886,"rRMyX":702325543787432358,"voeBF":1686012618044008335},"stringDateField":"1935-05-21","stringDateTimeField":"1928-02-22T19:35:45Z","stringField":"WHbF","stringTimeField":"11:18:05.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":-195,"numField":368.7499341996174,"stringDateField":"1935-05-21","stringDateTimeField":"1928-02-22T19:35:45Z","stringField":"WHbF","stringTimeField":"11:18:05.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3571,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3571,"uuid":"9e0a89eb-5655-11ee-8401-675ed0f8e89b"},"arrayField":["CERQ","vzZemjsXux","sBbbBZ","UjnWIsGtCJ"],"boolField":false,"intField":-130,"numField":99.81495675656672,"objField":{"XZfyoN":6824233829009599280},"stringDateField":"1972-01-08","stringDateTimeField":"2001-09-22T05:05:08Z","stringField":"pSoxMTiZt","stringTimeField":"11:32:01.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":-130,"numField":99.81495675656672,"stringDateField":"1972-01-08","stringDateTimeField":"2001-09-22T05:05:08Z","stringField":"pSoxMTiZt","stringTimeField":"11:32:01.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3572,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3572,"uuid":"9e0a89eb-5655-11ee-8801-675ed0f8e89b"},"arrayField":["amDlGgX","mEGynsD","nfyDSn","uYreU","FrEoUes","XaAla","cgNEbtVZwU","uehUHlMiy","lJCtzAgab"],"boolField":true,"intField":-723,"numField":332.79137393214285,"objField":{"KFyUcucUF":-5038092981039343792,"KtcpPJlmvv":5380941051536207519,"TOuNbqYm":-5189174057385016605,"UYVQYkC":9197338126805283016,"YWrZ":5731092808511567419,"aygre":6548969818967678779,"cpnTosvJME":7214700679686756055,"jeUMkhQZ":-3689943195711890739,"nPopaelJhi":-1680449065886458687},"stringDateField":"1977-03-16","stringDateTimeField":"1967-04-22T16:08:47Z","stringField":"IfOhsFI","stringTimeField":"00:00:24.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":-723,"numField":332.79137393214285,"stringDateField":"1977-03-16","stringDateTimeField":"1967-04-22T16:08:47Z","stringField":"IfOhsFI","stringTimeField":"00:00:24.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3573,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3573,"uuid":"9e0a89eb-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["YvCbMyrv","KLXN","nQNkRGZAEt","SFLSmj","RQaitZDPHe","oNomfDFEhy","OJPxUDO","NWIEPVv","cKuoNVmZt"],"boolField":true,"intField":-28,"numField":27.308276713483124,"objField":{"AfxUh":-7283492491408689181,"PMsq":8739410057655312841,"TyOsCVM":3075036661973154122,"XEnwKn":-5971991375989777914,"fzwZkVCpPa":-2397610031882303479,"gwHOvo":-7012312260251743739,"jbaqnWAl":899100310296392184,"kNxFV":7239463253964436975,"kutiCbPcC":1929294195526558363,"nQBcriwh":8523623120393861969},"stringDateField":"1999-07-02","stringDateTimeField":"2013-07-23T02:18:39Z","stringField":"MSYAjyweDA","stringTimeField":"07:12:42.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":-28,"numField":27.308276713483124,"stringDateField":"1999-07-02","stringDateTimeField":"2013-07-23T02:18:39Z","stringField":"MSYAjyweDA","stringTimeField":"07:12:42.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3574,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3574,"uuid":"9e0a89eb-5655-11ee-9001-675ed0f8e89b"},"arrayField":["fTPfogH","ndJotAprY","oQTWBTlz","biyLLwaztt","QwzlIxkBR","ZbivoQ","PvqZHps","NkEi"],"boolField":false,"intField":264,"numField":443.5562879999253,"objField":{"BiXkoMn":841880430238672814,"WjlCUPlVr":2765374496287254110,"ZFxKIRNiT":2702218289138297877,"ofNAyPzcJ":2200743673750009340,"scGRqtQQ":-4441381446592439491,"tFMqX":-6246821997603021757,"ulreyNn":-9082971910966296099,"vYVlUPXzL":-5815150608497125880},"stringDateField":"1932-11-25","stringDateTimeField":"1911-05-26T10:12:46Z","stringField":"MPtKmxTVbx","stringTimeField":"12:27:33.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":264,"numField":443.5562879999253,"stringDateField":"1932-11-25","stringDateTimeField":"1911-05-26T10:12:46Z","stringField":"MPtKmxTVbx","stringTimeField":"12:27:33.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3575,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3575,"uuid":"9e0a89eb-5655-11ee-9401-675ed0f8e89b"},"arrayField":["wArBjlgBlq","NsYn","onZtKVDcI"],"boolField":true,"intField":661,"numField":-447.0079183570295,"objField":{"EZMYhwQPA":3689672461570033317,"UHqCeiQ":943258405792219767,"bkEqmG":8755894875375414874,"zyMosHsxBf":-6900670843935526889,"zzgKQje":-2907719327972120558},"stringDateField":"1983-07-30","stringDateTimeField":"1920-12-25T06:51:19Z","stringField":"VewLsPoy","stringTimeField":"05:18:07.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":661,"numField":-447.0079183570295,"stringDateField":"1983-07-30","stringDateTimeField":"1920-12-25T06:51:19Z","stringField":"VewLsPoy","stringTimeField":"05:18:07.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3576,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3576,"uuid":"9e0a89eb-5655-11ee-9801-675ed0f8e89b"},"arrayField":["aGjAWgNB","VlcMpxN","EheHI","TSuigcUsyf"],"boolField":false,"intField":-921,"numField":-149.37632117169107,"objField":{"AgqKQdSUUm":-2716967582034400816,"JBfGW":-2136051204689095398,"RUcDXezxhO":2621637184009025652,"dTDNqbY":-5760057912320969983,"nehpdx":-6518607040448816383,"pMcrFO":174890487646534140,"zTvxXLr":-5776586049700708558},"stringDateField":"1935-08-27","stringDateTimeField":"1912-02-09T09:39:55Z","stringField":"TOCoDA","stringTimeField":"06:22:10.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":-921,"numField":-149.37632117169107,"stringDateField":"1935-08-27","stringDateTimeField":"1912-02-09T09:39:55Z","stringField":"TOCoDA","stringTimeField":"06:22:10.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3577,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3577,"uuid":"9e0a89eb-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["iHsBXk","uFWoQCKlI","xejruqbI","vxRKbMZAtW","KHMx","OjncHqFf","rBQTn"],"boolField":true,"intField":825,"numField":749.2297082005992,"objField":{"QxSX":-7176951756050929037,"REWWLB":7550674814382142369,"glYSs":-9123240175102922114,"sdmBThZX":-1340166504426702297},"stringDateField":"2014-05-02","stringDateTimeField":"1988-12-08T19:45:47Z","stringField":"vjKgVVvs","stringTimeField":"21:39:48.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":825,"numField":749.2297082005992,"stringDateField":"2014-05-02","stringDateTimeField":"1988-12-08T19:45:47Z","stringField":"vjKgVVvs","stringTimeField":"21:39:48.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3578,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3578,"uuid":"9e0a89eb-5655-11ee-a001-675ed0f8e89b"},"arrayField":["dHMl","dBhV","aUcclE","TMxsGogRA","qtXM","dZna","VzRfUQRr","CoqeXi","ChTNMrzP","PcYtDinrG"],"boolField":true,"intField":-611,"numField":698.4980017217476,"objField":{"pzVrcur":-155033310070680048,"vdzCHhVkk":-1120486552851988277,"wVpNY":3041449466571426490},"stringDateField":"1972-04-09","stringDateTimeField":"1966-04-10T19:53:58Z","stringField":"CJzBHd","stringTimeField":"18:55:30.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":-611,"numField":698.4980017217476,"stringDateField":"1972-04-09","stringDateTimeField":"1966-04-10T19:53:58Z","stringField":"CJzBHd","stringTimeField":"18:55:30.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3579,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3579,"uuid":"9e0a89eb-5655-11ee-a401-675ed0f8e89b"},"arrayField":["vIQeHUWH","FIBg","qWjeQDiD","KYQkZE"],"boolField":false,"intField":609,"numField":-964.324318312819,"objField":{"AgHnPZOw":-6449010460339607111,"NzvFGTXH":-5037279291778807389,"RypPsLV":5725998342282642891,"sEgtrzB":-6921834215292555368,"vAHk":569476506937999629},"stringDateField":"1909-08-27","stringDateTimeField":"1955-06-10T00:14:19Z","stringField":"EsiM","stringTimeField":"21:35:21.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":609,"numField":-964.324318312819,"stringDateField":"1909-08-27","stringDateTimeField":"1955-06-10T00:14:19Z","stringField":"EsiM","stringTimeField":"21:35:21.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3580,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3580,"uuid":"9e0a89eb-5655-11ee-a801-675ed0f8e89b"},"arrayField":["FyWa","KbuVV","rqjFTcT","ExNUjtv","sWvvRfWfH","ERTzSaJRk","bYaIDLO","xdedufO","OJENlFCJvU","yzhJIEq"],"boolField":true,"intField":-683,"numField":919.1383753707628,"objField":{"BZaelsw":2558787573122681558,"JqiWKOkWPS":7805697822148992994,"Nxnq":-9222282499527778281,"PesEpnLLRH":-1464182079223283602,"bAng":-2339271220042395979},"stringDateField":"1971-05-20","stringDateTimeField":"1905-11-26T23:53:35Z","stringField":"QiRU","stringTimeField":"10:49:39.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":-683,"numField":919.1383753707628,"stringDateField":"1971-05-20","stringDateTimeField":"1905-11-26T23:53:35Z","stringField":"QiRU","stringTimeField":"10:49:39.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3581,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3581,"uuid":"9e0a89eb-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["XGrcxn","ubCbxJemg"],"boolField":true,"intField":176,"numField":160.15947271409755,"objField":{"ekqeo":-5891481789995460982,"voTUvtCMd":-571429050173975727},"stringDateField":"1902-12-23","stringDateTimeField":"1929-07-24T01:46:14Z","stringField":"BQXnujUuk","stringTimeField":"03:56:29.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":176,"numField":160.15947271409755,"stringDateField":"1902-12-23","stringDateTimeField":"1929-07-24T01:46:14Z","stringField":"BQXnujUuk","stringTimeField":"03:56:29.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3582,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3582,"uuid":"9e0a89eb-5655-11ee-b001-675ed0f8e89b"},"arrayField":["rsmvKj","lQjpcysEL","XYcWY","sIPNZmml","OfmeoG","kAdK"],"boolField":false,"intField":170,"numField":-231.56966827176495,"objField":{"CJkFQ":-7510499315137663031,"LCwd":-4265496946104947235,"NhfuLGvG":-3392733123957085894,"fIJMgj":-9093249162291556884,"ftEzu":8885843030568125052,"snJU":-3723539616078317637},"stringDateField":"1936-12-23","stringDateTimeField":"1983-10-10T12:36:37Z","stringField":"yMxyt","stringTimeField":"06:10:58.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":170,"numField":-231.56966827176495,"stringDateField":"1936-12-23","stringDateTimeField":"1983-10-10T12:36:37Z","stringField":"yMxyt","stringTimeField":"06:10:58.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3583,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3583,"uuid":"9e0a89eb-5655-11ee-b401-675ed0f8e89b"},"arrayField":["DTvdMnoG","SYfWVSKGQV","Oymuwvlfn"],"boolField":false,"intField":614,"numField":-211.5989496297489,"objField":{"RNdZmOuqJJ":-7739517620288215960,"WwfvrVGwnH":-8000865056322268614,"XHOzZ":-207391782715035034,"ZHyysnft":-5958765060747524375},"stringDateField":"2017-07-04","stringDateTimeField":"1956-08-22T01:02:54Z","stringField":"LtEoqAGHK","stringTimeField":"03:44:36.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":614,"numField":-211.5989496297489,"stringDateField":"2017-07-04","stringDateTimeField":"1956-08-22T01:02:54Z","stringField":"LtEoqAGHK","stringTimeField":"03:44:36.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3584,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3584,"uuid":"9e0a89eb-5655-11ee-b801-675ed0f8e89b"},"arrayField":["NzOQjDB","jqXZQaL","QnHgrJ"],"boolField":false,"intField":-631,"numField":-979.1593888072492,"objField":{"BjubH":7227473340471747268,"LhvIr":2442449554593166164,"SofsfDzm":1188887435075065870,"iEIMDmY":567006042069346712,"uuTk":-3335155699138485730},"stringDateField":"1919-02-02","stringDateTimeField":"1927-02-24T16:44:57Z","stringField":"zHKDg","stringTimeField":"12:12:11.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":-631,"numField":-979.1593888072492,"stringDateField":"1919-02-02","stringDateTimeField":"1927-02-24T16:44:57Z","stringField":"zHKDg","stringTimeField":"12:12:11.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3585,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3585,"uuid":"9e0a89eb-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["hGyi","XKOLHkIz","nRed","YcAepmtu","TddEwOpQt","SBhmK","hYiqLI","TxOZ","GkWnVBgb","bCrrVhK"],"boolField":true,"intField":-819,"numField":287.8040971798286,"objField":{"XElcNq":-8081889260648224560,"ZMNmvunc":-3652490680867659644,"ZUGgv":3257611579424345623,"lhnamkjwDC":-6370620320745509862},"stringDateField":"1976-02-23","stringDateTimeField":"1937-09-10T09:06:03Z","stringField":"vjkAPjoMg","stringTimeField":"17:50:25.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763755Z","intField":-819,"numField":287.8040971798286,"stringDateField":"1976-02-23","stringDateTimeField":"1937-09-10T09:06:03Z","stringField":"vjkAPjoMg","stringTimeField":"17:50:25.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3586,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3586,"uuid":"9e0a89ec-5655-11ee-8001-675ed0f8e89b"},"arrayField":["QfHWRo","sdHaBDo","UGFX","AnNi","KrMQWHpKO","whkcpiVFy"],"boolField":false,"intField":-293,"numField":329.17698186110414,"objField":{"ExcNTRxk":-7891119928854635855,"KaUSNr":8771463403556534029,"WKZRtGlsKP":-8714539997132457184,"XYBGTVcUrV":-7039005463295916821,"ZdVhgRAoUD":-7618803313957121846,"ZevWJF":-3228483253061190019},"stringDateField":"2011-06-29","stringDateTimeField":"2016-11-24T00:32:00Z","stringField":"AmxbR","stringTimeField":"05:16:35.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":-293,"numField":329.17698186110414,"stringDateField":"2011-06-29","stringDateTimeField":"2016-11-24T00:32:00Z","stringField":"AmxbR","stringTimeField":"05:16:35.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3587,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3587,"uuid":"9e0a89ec-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rcONgi"],"boolField":true,"intField":621,"numField":-595.2138506962991,"objField":{"DriUOaZm":-2734317520680258229,"GwaKGKo":-2764264832838798512,"IAzF":-844113217764590571,"LrUqNsfi":-5477723503769470216,"hhqzGEVrM":-5852542433475932345,"sjzFeV":-6796780814665013527,"ypHGaoucR":-2464393710305627057},"stringDateField":"1985-12-30","stringDateTimeField":"1996-02-10T06:59:31Z","stringField":"bxTVukGrQ","stringTimeField":"14:56:42.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":621,"numField":-595.2138506962991,"stringDateField":"1985-12-30","stringDateTimeField":"1996-02-10T06:59:31Z","stringField":"bxTVukGrQ","stringTimeField":"14:56:42.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3588,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3588,"uuid":"9e0a89ec-5655-11ee-8801-675ed0f8e89b"},"arrayField":["UjJnrhk","pncabq","XAMGOap","IxYkWCHWOO","wmpdsxxJQ"],"boolField":false,"intField":-72,"numField":312.84290656495983,"objField":{"HQTEUlLku":7093848891637944715,"YRWQAN":8943506317257191768,"saDEkt":3373940992164506012,"skpFON":2596115326811930888,"spJToGwxXI":-4197918440178633575},"stringDateField":"1997-09-08","stringDateTimeField":"1928-11-18T11:12:27Z","stringField":"fPUVSOcQc","stringTimeField":"22:57:12.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":-72,"numField":312.84290656495983,"stringDateField":"1997-09-08","stringDateTimeField":"1928-11-18T11:12:27Z","stringField":"fPUVSOcQc","stringTimeField":"22:57:12.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3589,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3589,"uuid":"9e0a89ec-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["QQyqMA","MkHLa","kSwT","kJdDUC","fnDrtvb","qjNQvSkklU","faAZyQ","DTnDffxzt","vyPaEb"],"boolField":true,"intField":347,"numField":903.8192358731852,"objField":{"BDKGen":-5342195356403140316,"ESmYvuj":-8818082193211156234,"UQLIqhCxi":-707561433702885874,"dfQtcX":-5794863253691104227,"uzIdzVbA":-8438575170678111390,"zNCSzpaGP":1375822158445668530},"stringDateField":"1951-05-13","stringDateTimeField":"1950-03-21T07:10:01Z","stringField":"sDTbmyIz","stringTimeField":"22:59:26.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":347,"numField":903.8192358731852,"stringDateField":"1951-05-13","stringDateTimeField":"1950-03-21T07:10:01Z","stringField":"sDTbmyIz","stringTimeField":"22:59:26.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3590,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3590,"uuid":"9e0a89ec-5655-11ee-9001-675ed0f8e89b"},"arrayField":["DQGggJfgHX"],"boolField":false,"intField":-554,"numField":-744.1033487536355,"objField":{"KsBWY":5603376904870697185,"RmZlxVyh":-6678402438129832317,"YkzNxTahr":4641342822858985510,"brVNanr":8893302779017922667,"gOqIYXoMk":-5323328252704397320,"gmXkFx":-6915462824318653721,"iqaadnEXnG":-5589339640350654719},"stringDateField":"1911-12-04","stringDateTimeField":"1943-10-23T06:15:35Z","stringField":"ZGspv","stringTimeField":"02:09:54.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":-554,"numField":-744.1033487536355,"stringDateField":"1911-12-04","stringDateTimeField":"1943-10-23T06:15:35Z","stringField":"ZGspv","stringTimeField":"02:09:54.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3591,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3591,"uuid":"9e0a89ec-5655-11ee-9401-675ed0f8e89b"},"arrayField":["jlphaOtRy","utybHgQjBh","MhgCky","WdZV","GYgczme","ISTPodvkm","dJuf","XQnvgFS","RgAVqGXLdr"],"boolField":false,"intField":474,"numField":-448.451382696199,"objField":{"GObLnj":-4765697641849246104,"GWZE":-7406414724050505279,"SngSuesrC":-2752498943997542335,"VwEzVrf":-4581418835232582607,"cDnvLRmDTL":-1979421429074006427,"epgad":3403920097938638689,"fllorfYi":318286040733677203,"hUeNFt":-1630718605489137491,"lKyTT":5420078961278765174,"vhjctw":8622915470412082774},"stringDateField":"1985-03-18","stringDateTimeField":"1900-03-21T18:40:17Z","stringField":"kQYd","stringTimeField":"14:59:35.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":474,"numField":-448.451382696199,"stringDateField":"1985-03-18","stringDateTimeField":"1900-03-21T18:40:17Z","stringField":"kQYd","stringTimeField":"14:59:35.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3592,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3592,"uuid":"9e0a89ec-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ZMUAUH","FQWiedw","IfHs","IXdn","zkwKNgnefr"],"boolField":false,"intField":688,"numField":863.1842477083625,"objField":{"DXhKywXO":-8819585260873930735,"MFnZdXVxO":-6661417986289422914,"itzvGm":1275273709768332567,"lNqqo":7281016266778813350,"yeyanxwL":2946858812814673312},"stringDateField":"1940-07-08","stringDateTimeField":"1994-05-27T15:42:37Z","stringField":"uxODsJHTqd","stringTimeField":"08:31:34.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":688,"numField":863.1842477083625,"stringDateField":"1940-07-08","stringDateTimeField":"1994-05-27T15:42:37Z","stringField":"uxODsJHTqd","stringTimeField":"08:31:34.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3593,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3593,"uuid":"9e0a89ec-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["mAkHPTbi"],"boolField":true,"intField":-503,"numField":239.54200618228415,"objField":{"GIUUzkaPgG":-8447196180096759150,"UdIIynOto":-2898586034466295094,"Wjbhbs":-6823829093210339177,"cecLSPpkXi":-7089976686255032196,"rbKPm":5529799794751937372,"yJRFbxxq":2492260844673958473},"stringDateField":"1917-12-01","stringDateTimeField":"1902-03-18T13:11:05Z","stringField":"dbdQtRvRx","stringTimeField":"08:50:45.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":-503,"numField":239.54200618228415,"stringDateField":"1917-12-01","stringDateTimeField":"1902-03-18T13:11:05Z","stringField":"dbdQtRvRx","stringTimeField":"08:50:45.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3594,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3594,"uuid":"9e0a89ec-5655-11ee-a001-675ed0f8e89b"},"arrayField":["VjZOsKIXw","uBvYn","FWXixEYJ","GDtqwKzM","DTlJEaHsZu","AMZoXpmI","JvSLAC","jfsiyTH","kePytMC"],"boolField":true,"intField":672,"numField":-252.03632943596045,"objField":{"LuWHprQAn":1229316142914652282,"VOoS":-4019401753942867160,"dhYE":2750332457216422493},"stringDateField":"1912-05-05","stringDateTimeField":"1993-11-10T09:45:00Z","stringField":"SEPfth","stringTimeField":"08:16:13.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":672,"numField":-252.03632943596045,"stringDateField":"1912-05-05","stringDateTimeField":"1993-11-10T09:45:00Z","stringField":"SEPfth","stringTimeField":"08:16:13.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3595,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3595,"uuid":"9e0a89ec-5655-11ee-a401-675ed0f8e89b"},"arrayField":["DOPjjmU","Zkvyr","VFTltv","jADKL","ozStKdosg","ZKEfk","lAYad","pdqITLDsJe"],"boolField":true,"intField":-502,"numField":-441.867168203082,"objField":{"SNdOjVHH":1161881587741346409,"wjiwlh":6787123247599496568},"stringDateField":"1958-09-15","stringDateTimeField":"2017-11-13T15:01:13Z","stringField":"jfFYjs","stringTimeField":"20:44:40.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":-502,"numField":-441.867168203082,"stringDateField":"1958-09-15","stringDateTimeField":"2017-11-13T15:01:13Z","stringField":"jfFYjs","stringTimeField":"20:44:40.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3596,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3596,"uuid":"9e0a89ec-5655-11ee-a801-675ed0f8e89b"},"arrayField":["Fwbv","KLxisK","auTPvwYy","jZtOnbDuW","OycSjJ","dNRAI","rOSB","VsAASP"],"boolField":false,"intField":322,"numField":-964.4853464117002,"objField":{"TFtxDA":8240718454195971265,"jqEbDdFLS":7236458412666798551,"vnKlac":4060851759830814913,"yULQNo":3465639464716943481},"stringDateField":"2010-11-01","stringDateTimeField":"1999-06-28T03:16:58Z","stringField":"OAobx","stringTimeField":"12:43:15.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":322,"numField":-964.4853464117002,"stringDateField":"2010-11-01","stringDateTimeField":"1999-06-28T03:16:58Z","stringField":"OAobx","stringTimeField":"12:43:15.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3597,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3597,"uuid":"9e0a89ec-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["hMdDpuC","qAQLrHPs","rMLAn","EvPU","vyqnB","DcduP","yrXuap","VeSQ","GYfkSm","WIvuj"],"boolField":false,"intField":7,"numField":-941.6512270349552,"objField":{"BbbgrSE":-9172655298661827506,"JNjErpnc":7352424326584049788,"MxQz":6199733167950848593,"TMUViUAvF":3927824985330016851,"VFpE":7642916385327467753,"XXEvca":9001169662610281913,"wBuEciCeh":-4153753365077321945},"stringDateField":"1965-08-19","stringDateTimeField":"1943-12-27T09:51:14Z","stringField":"UKnCsByS","stringTimeField":"10:46:49.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":7,"numField":-941.6512270349552,"stringDateField":"1965-08-19","stringDateTimeField":"1943-12-27T09:51:14Z","stringField":"UKnCsByS","stringTimeField":"10:46:49.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3598,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3598,"uuid":"9e0a89ec-5655-11ee-b001-675ed0f8e89b"},"arrayField":["XNWzOmhpON","uiyIQRku","wphMWJHQb","AiLapIsapb"],"boolField":true,"intField":-660,"numField":284.8571572721954,"objField":{"Avag":6461614679045823207,"CwkSjmBQ":2228289925915242903,"JEHrn":-1279482953796023312,"WEqGhxjKoC":7985107368084946105,"aiFfAqo":-543461586274898126,"arhpF":-7485475031161743386,"bdzcG":6563303958193497006,"fbJQJtgwZ":-8083809311786199031,"ntFGZ":-6659029245223897984,"vCRP":7661876777233211857},"stringDateField":"2014-03-03","stringDateTimeField":"1982-02-20T16:44:22Z","stringField":"apJLbmAAKw","stringTimeField":"22:07:01.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":-660,"numField":284.8571572721954,"stringDateField":"2014-03-03","stringDateTimeField":"1982-02-20T16:44:22Z","stringField":"apJLbmAAKw","stringTimeField":"22:07:01.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3599,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3599,"uuid":"9e0a89ec-5655-11ee-b401-675ed0f8e89b"},"arrayField":["qxQTYlMckR"],"boolField":false,"intField":850,"numField":125.98677095041457,"objField":{"GgKL":6027764373944968355,"JHJsrcnll":605794998265612879,"SrBcLv":-8199957339692487534,"TDscTr":-1710083439456845919,"VYSeo":8765926278333866525,"WRzv":2670060252058636869,"cAKWOYVGWS":-7429130601592355033,"cwyG":5808522093649229087,"oNdABCtgh":2336062896290105182,"riiQ":-455992277837772030},"stringDateField":"1946-07-10","stringDateTimeField":"1973-08-31T22:10:24Z","stringField":"Wtxto","stringTimeField":"18:29:18.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":850,"numField":125.98677095041457,"stringDateField":"1946-07-10","stringDateTimeField":"1973-08-31T22:10:24Z","stringField":"Wtxto","stringTimeField":"18:29:18.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3600,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3600,"uuid":"9e0a89ec-5655-11ee-b801-675ed0f8e89b"},"arrayField":["uILFm"],"boolField":true,"intField":-311,"numField":375.3443471774636,"objField":{"NwiBeYvtiW":-8382626843984878987,"eqea":8935268105286452539,"foYtv":5021120954481839431,"iMUhaCA":-7308959424018660931,"jmYuP":-1017647285664516833,"qFipRhZ":6393801300238015594,"rMlPVCIJ":8919804226939133583,"sNqvy":-7878111635235967981},"stringDateField":"1964-06-06","stringDateTimeField":"1976-05-26T08:51:25Z","stringField":"YiVDsqc","stringTimeField":"09:57:42.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":-311,"numField":375.3443471774636,"stringDateField":"1964-06-06","stringDateTimeField":"1976-05-26T08:51:25Z","stringField":"YiVDsqc","stringTimeField":"09:57:42.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3601,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3601,"uuid":"9e0a89ec-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["WPjZmQjfJ","KPyUmfGGmx","EIfrVo","MpLfHJpSyN","QNDgLgHs"],"boolField":true,"intField":179,"numField":-776.6551736590498,"objField":{"GBKBS":-7918578060083289611,"IYqoJdoK":7883809160474309014,"LghErp":-3387444454259744272,"ewJzKWbbkA":7951700510091980693,"gUZhy":-4014611691050496457,"xHtuwz":-5780999889555739363,"ysNqSG":4650349368668089462},"stringDateField":"1976-08-26","stringDateTimeField":"1914-04-24T07:56:24Z","stringField":"seovMMFS","stringTimeField":"23:09:49.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763756Z","intField":179,"numField":-776.6551736590498,"stringDateField":"1976-08-26","stringDateTimeField":"1914-04-24T07:56:24Z","stringField":"seovMMFS","stringTimeField":"23:09:49.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3602,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3602,"uuid":"9e0a89ed-5655-11ee-8001-675ed0f8e89b"},"arrayField":["IgszPJPc","HCbseQiOE","pvYufRDWXg","SAHXKW","aSBnRzKy","QMaPHO","KvvxWaQd","DnTdjzFBo","GrZFTlc","BSvcbWB"],"boolField":false,"intField":607,"numField":-268.09093633857026,"objField":{"gbClXkbW":820606581468918261,"iUeUU":-2022660393452323236,"mAdcjHkKoq":-2800940001043111227,"oiqi":-8229485540417796789},"stringDateField":"1948-09-21","stringDateTimeField":"2005-10-16T15:39:00Z","stringField":"TBUZIiuGR","stringTimeField":"21:37:04.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":607,"numField":-268.09093633857026,"stringDateField":"1948-09-21","stringDateTimeField":"2005-10-16T15:39:00Z","stringField":"TBUZIiuGR","stringTimeField":"21:37:04.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3603,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3603,"uuid":"9e0a89ed-5655-11ee-8401-675ed0f8e89b"},"arrayField":["qtptTLzjBN","IPrdQHTbo","JqiNYjT","KjHGOzB","rSzI","aDRbBeSlA"],"boolField":false,"intField":104,"numField":-782.4434303071682,"objField":{"GWmuDXXMK":-6616428209933623781,"MHRKlDdUsV":-1743157313433791796,"iUNjit":7868468783209145383},"stringDateField":"1934-09-15","stringDateTimeField":"1970-04-21T10:49:30Z","stringField":"mlNFtp","stringTimeField":"12:46:14.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":104,"numField":-782.4434303071682,"stringDateField":"1934-09-15","stringDateTimeField":"1970-04-21T10:49:30Z","stringField":"mlNFtp","stringTimeField":"12:46:14.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3604,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3604,"uuid":"9e0a89ed-5655-11ee-8801-675ed0f8e89b"},"arrayField":["gOdQxAQfS","NajKaFJz","BghgAS","KBhg","tyawrW","axjDMvVRg","yKhGQ","LInAb","fpwCw","TJtGDX"],"boolField":false,"intField":-763,"numField":-84.04946879165598,"objField":{"MhAQLcSuI":3447122485840486503,"cRWuwE":-1046746469076408149,"hYLsgmdz":-4063385250984691040},"stringDateField":"1970-11-02","stringDateTimeField":"1920-10-13T22:21:51Z","stringField":"rTrKn","stringTimeField":"05:50:31.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":-763,"numField":-84.04946879165598,"stringDateField":"1970-11-02","stringDateTimeField":"1920-10-13T22:21:51Z","stringField":"rTrKn","stringTimeField":"05:50:31.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3605,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3605,"uuid":"9e0a89ed-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["jOZKWi","lstHwzxuXn","OiKJo","ZQQLmzJi","LhywmOuZ","rjpDRkjkfh","ckzG"],"boolField":true,"intField":-444,"numField":-165.43781612375298,"objField":{"OqzoUdgK":7256341150135706895,"XNBp":-509674688242832239,"cjOLnoAN":-6745862362402925789,"pbpFVXWN":-8186292930450616983,"yMIA":-6896078555443048893},"stringDateField":"1995-02-21","stringDateTimeField":"1968-04-25T11:22:09Z","stringField":"ZRoarYNO","stringTimeField":"01:41:20.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":-444,"numField":-165.43781612375298,"stringDateField":"1995-02-21","stringDateTimeField":"1968-04-25T11:22:09Z","stringField":"ZRoarYNO","stringTimeField":"01:41:20.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3606,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3606,"uuid":"9e0a89ed-5655-11ee-9001-675ed0f8e89b"},"arrayField":["glZUIrVgO","aXzQzQJu"],"boolField":false,"intField":388,"numField":157.12228038501297,"objField":{"SgkOvm":-3911375369908888334,"XvAaEiOj":7417849947814606533,"cziDIqLRl":5033618551404479387,"kKqQKr":3877539618439427569,"nyqOz":-7608180859249463999,"saeAsC":-2495824637015578569,"xFawKd":7340582831214578603},"stringDateField":"1970-06-05","stringDateTimeField":"1984-02-25T15:55:51Z","stringField":"HJXRqaV","stringTimeField":"20:11:36.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":388,"numField":157.12228038501297,"stringDateField":"1970-06-05","stringDateTimeField":"1984-02-25T15:55:51Z","stringField":"HJXRqaV","stringTimeField":"20:11:36.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3607,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3607,"uuid":"9e0a89ed-5655-11ee-9401-675ed0f8e89b"},"arrayField":["yBmmFyY","gbboY","DPGEuR","oNvgaE","IEdxl","eNLHyL","nefhdnPJ","YXdQPG","gZxPuwq","AmtssP"],"boolField":true,"intField":563,"numField":-863.7159344622919,"objField":{"CrLXr":7996774055642250902,"KYnbfKUDBi":-7654646902296566799,"OttiJbO":3314346032546790505,"Pzpc":3168974947799821175,"cPgYEah":1798527852772767451,"dAzx":8055575530100149866,"iaCxNOM":-7751176729190550306,"rTTTCUI":-4771555691522736245,"wmogbOfZGY":2001266520447932886,"xZoZirp":-4777354267438819696},"stringDateField":"1970-01-05","stringDateTimeField":"2001-01-29T05:53:31Z","stringField":"fhavbYFJ","stringTimeField":"11:02:11.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":563,"numField":-863.7159344622919,"stringDateField":"1970-01-05","stringDateTimeField":"2001-01-29T05:53:31Z","stringField":"fhavbYFJ","stringTimeField":"11:02:11.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3608,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3608,"uuid":"9e0a89ed-5655-11ee-9801-675ed0f8e89b"},"arrayField":["LPPL","SFmAHZm"],"boolField":false,"intField":-636,"numField":741.6696423304058,"objField":{"FTGTDdmy":207909828734315098,"WWARssi":8100668724817321778,"YkZtRQ":-4628136106597488815,"knYUltI":8470806882659669104,"lmQxLHyBh":-6236807263655879972,"qwYpzjUkTq":-6302077002459369462,"uQGVdeG":-5578052446734390889},"stringDateField":"1979-07-29","stringDateTimeField":"1962-07-21T12:16:52Z","stringField":"MobB","stringTimeField":"08:53:02.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":-636,"numField":741.6696423304058,"stringDateField":"1979-07-29","stringDateTimeField":"1962-07-21T12:16:52Z","stringField":"MobB","stringTimeField":"08:53:02.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3609,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3609,"uuid":"9e0a89ed-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["qHUVQlVGd","VwEK","ZmufMO","CHGjLd"],"boolField":true,"intField":758,"numField":-577.6099826291922,"objField":{"BdvZFKdDD":5718885160849744837,"MOFIzsJsxy":-5855151776307811273,"MoWl":1572960314776771127,"RFTJw":8618313743057735208,"cSUISweEz":-7081481239514002108,"dVgav":6257244524718725022,"iKyouSHf":6054715768632302743,"pZdEWyCEE":-5820813961803443457,"rfYTqiS":3786955639091285768,"wHSd":1019834460944968904},"stringDateField":"1954-10-24","stringDateTimeField":"2016-03-01T00:49:50Z","stringField":"DanC","stringTimeField":"04:57:04.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":758,"numField":-577.6099826291922,"stringDateField":"1954-10-24","stringDateTimeField":"2016-03-01T00:49:50Z","stringField":"DanC","stringTimeField":"04:57:04.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3610,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3610,"uuid":"9e0a89ed-5655-11ee-a001-675ed0f8e89b"},"arrayField":["XbnzoDRd","IQOPt","ijapJjk","gDmSZ","zpzyhlVrv","vOjVWdVNG","rhfSE","smldLgk"],"boolField":false,"intField":-589,"numField":214.03570936820992,"objField":{"JzgIFhGN":-3398157608777279474,"OCFjFsuFpj":1376116583334955345,"PoNtv":4799605172659739695,"SuVaMg":-8557502115055058826,"XIByAhkqM":2017104504524666260,"ejQgg":-4630166684568512497,"fIWRyYVDO":-610023961038669007,"lwJZyMCI":-8222108911906124227},"stringDateField":"2021-09-05","stringDateTimeField":"1986-05-18T18:03:19Z","stringField":"qJIqm","stringTimeField":"13:58:05.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":-589,"numField":214.03570936820992,"stringDateField":"2021-09-05","stringDateTimeField":"1986-05-18T18:03:19Z","stringField":"qJIqm","stringTimeField":"13:58:05.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3611,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3611,"uuid":"9e0a89ed-5655-11ee-a401-675ed0f8e89b"},"arrayField":["AfyTxEm","bjlxkkxmhW","XyHPF","bPfQZqIW","fkrdqT","nwAOqv","tzsu","NvXhm","JJAP"],"boolField":true,"intField":727,"numField":-301.11722858711175,"objField":{"FDEx":4323426256412229711,"IYcm":2197026248109994196,"JopxwZsLv":-5048937809800256774,"LwLdzKr":-8584876426370746400,"Ntauj":4992643080456794395,"ZhVz":8157748372967808408,"eKyXiuy":2142049553208082590,"ftEzXs":4886241296961098927,"gwOsmH":-6455298331355972972,"wJon":-477833746489657426},"stringDateField":"1995-08-17","stringDateTimeField":"1986-09-07T08:48:41Z","stringField":"wiIOjzc","stringTimeField":"21:29:06.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":727,"numField":-301.11722858711175,"stringDateField":"1995-08-17","stringDateTimeField":"1986-09-07T08:48:41Z","stringField":"wiIOjzc","stringTimeField":"21:29:06.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3612,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3612,"uuid":"9e0a89ed-5655-11ee-a801-675ed0f8e89b"},"arrayField":["BCfpP","lDrtdFYVKK"],"boolField":false,"intField":-626,"numField":548.406722115075,"objField":{"PdWrlHa":4180030305897793654},"stringDateField":"1928-06-24","stringDateTimeField":"1936-10-11T05:16:41Z","stringField":"GozU","stringTimeField":"10:21:12.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":-626,"numField":548.406722115075,"stringDateField":"1928-06-24","stringDateTimeField":"1936-10-11T05:16:41Z","stringField":"GozU","stringTimeField":"10:21:12.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3613,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3613,"uuid":"9e0a89ed-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["QhxLhs","QXLeuyI","DcafnysRv","ALzAqXRm","nQIudEaltq","zHMmQe","ISBg","bfrNfsSXPa","exJdRyrjE","nyvKSy"],"boolField":false,"intField":223,"numField":786.6520723201678,"objField":{"BAxqKT":6646275387130182858,"IEgaGEfm":-3420070803683897361,"SxOxcWmkuz":-4900248483775745790,"WOPe":1170761609929463309,"XmomOG":4897786433947394947,"zpjjyU":9011376751981457038},"stringDateField":"2014-04-15","stringDateTimeField":"2023-05-01T12:43:23Z","stringField":"AcRgtxlYCK","stringTimeField":"05:39:10.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":223,"numField":786.6520723201678,"stringDateField":"2014-04-15","stringDateTimeField":"2023-05-01T12:43:23Z","stringField":"AcRgtxlYCK","stringTimeField":"05:39:10.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3614,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3614,"uuid":"9e0a89ed-5655-11ee-b001-675ed0f8e89b"},"arrayField":["zowCiRc"],"boolField":false,"intField":592,"numField":-142.2960028951974,"objField":{"NKqQdY":-8108573876916971471,"PgXGKE":-7622542115674922359,"RRFU":8198646234535283711,"ZcBmD":2820373779745426049,"nIPhYA":-4546501314980074536,"qBCrakh":4789359884498474031,"qcGWQz":-3724574496802367415},"stringDateField":"1910-09-26","stringDateTimeField":"1925-11-06T14:59:15Z","stringField":"XiCgOFCgHa","stringTimeField":"23:26:48.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":592,"numField":-142.2960028951974,"stringDateField":"1910-09-26","stringDateTimeField":"1925-11-06T14:59:15Z","stringField":"XiCgOFCgHa","stringTimeField":"23:26:48.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3615,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3615,"uuid":"9e0a89ed-5655-11ee-b401-675ed0f8e89b"},"arrayField":["lzhWgKkH","dRhpakZaH","uuXRfGbw"],"boolField":false,"intField":802,"numField":-31.643616148531727,"objField":{"dBYsUvJCSg":5291487696592038246},"stringDateField":"2001-01-18","stringDateTimeField":"1970-04-05T19:45:22Z","stringField":"ThAUr","stringTimeField":"18:47:19.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":802,"numField":-31.643616148531727,"stringDateField":"2001-01-18","stringDateTimeField":"1970-04-05T19:45:22Z","stringField":"ThAUr","stringTimeField":"18:47:19.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3616,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3616,"uuid":"9e0a89ed-5655-11ee-b801-675ed0f8e89b"},"arrayField":["mDxLnyWX","DSYtu","MPGCsNYyZC","GuuPPCoM","bgNIX"],"boolField":true,"intField":-104,"numField":-544.2500497977542,"objField":{"BtYPLNeuv":467185173011548695,"CamxHtxgj":3026652421673588196,"IlmQGIrX":7912649198941427256,"LvbGfIxX":-8597752299801630309,"LyHMAd":5820574289389228951,"kPaaSQR":-8830437012996007422,"lzkU":3357084270717211598,"sSwwNjIw":3840770603049303954,"ydKiASe":4228414364915968243},"stringDateField":"1971-03-08","stringDateTimeField":"2016-09-03T16:36:10Z","stringField":"zpUiMWO","stringTimeField":"11:13:44.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":-104,"numField":-544.2500497977542,"stringDateField":"1971-03-08","stringDateTimeField":"2016-09-03T16:36:10Z","stringField":"zpUiMWO","stringTimeField":"11:13:44.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3617,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3617,"uuid":"9e0a89ed-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["xgoJIJQ","FIRKpakz","RxzSu","auzsCyDo","Cpopmri","cJXW","oAaAIGj"],"boolField":false,"intField":-506,"numField":-768.1613340458936,"objField":{"JKXwoq":-8045230411690635977,"MvlU":3333030411561099663,"OsTZGPSAMM":-8703435182410722763,"TAxH":-7297775336653072727,"TvEPIJEPW":3952944525460123543,"VwnRQnaxxf":-5413712029461285438,"gUsX":-5444350341436900348,"iZubqn":-5466745675831515444,"uRPhjx":-5595001541878641911,"ysldZGO":-715292583304559934},"stringDateField":"1951-10-13","stringDateTimeField":"1919-06-25T12:38:02Z","stringField":"TwCS","stringTimeField":"02:48:13.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763757Z","intField":-506,"numField":-768.1613340458936,"stringDateField":"1951-10-13","stringDateTimeField":"1919-06-25T12:38:02Z","stringField":"TwCS","stringTimeField":"02:48:13.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3618,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3618,"uuid":"9e0a89ee-5655-11ee-8001-675ed0f8e89b"},"arrayField":["CtXYsOhkk","pPxGvkDo","SfHyxqy","AvzHRyAeWd"],"boolField":true,"intField":165,"numField":-707.5609618843025,"objField":{"pTCfNjKtf":-6507452189618992565},"stringDateField":"1947-01-09","stringDateTimeField":"1918-03-28T09:19:05Z","stringField":"eMRUJs","stringTimeField":"17:03:03.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":165,"numField":-707.5609618843025,"stringDateField":"1947-01-09","stringDateTimeField":"1918-03-28T09:19:05Z","stringField":"eMRUJs","stringTimeField":"17:03:03.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3619,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3619,"uuid":"9e0a89ee-5655-11ee-8401-675ed0f8e89b"},"arrayField":["iTKkGa","DfjOvxOC","epUsCx","ErcsQJgg","tVkx","uMHxG","nrioWONO","lelXTE","vxvyAID"],"boolField":true,"intField":-792,"numField":258.61096989101594,"objField":{"uZlRMQebC":-7520926081390580648},"stringDateField":"1900-12-13","stringDateTimeField":"1960-03-12T01:31:02Z","stringField":"ttFHoDtnQ","stringTimeField":"11:59:14.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":-792,"numField":258.61096989101594,"stringDateField":"1900-12-13","stringDateTimeField":"1960-03-12T01:31:02Z","stringField":"ttFHoDtnQ","stringTimeField":"11:59:14.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3620,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3620,"uuid":"9e0a89ee-5655-11ee-8801-675ed0f8e89b"},"arrayField":["qqEkcRaHA","bgyJCuaYD","OMgIzbyV"],"boolField":false,"intField":970,"numField":-392.17785074170285,"objField":{"KQbyBHWaBm":5009396423096085858,"LtwAapf":-5709731735578508819,"WWkpV":2382849235567794323,"Ygek":-6020340081613033419,"bVAoxyQzZY":8469408897458664196,"dYpPQJwmtp":-3121742655037321829,"wVPGtH":-1011915840600107013},"stringDateField":"1915-02-12","stringDateTimeField":"1950-12-21T17:21:36Z","stringField":"ZSWpoW","stringTimeField":"12:51:19.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":970,"numField":-392.17785074170285,"stringDateField":"1915-02-12","stringDateTimeField":"1950-12-21T17:21:36Z","stringField":"ZSWpoW","stringTimeField":"12:51:19.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3621,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3621,"uuid":"9e0a89ee-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KkfWGOyiJ","KFxAJKl"],"boolField":false,"intField":883,"numField":-918.6007078389028,"objField":{"aUGWXBpExB":6775985852211492194,"qOTskrol":-3848003783657747312},"stringDateField":"1919-04-03","stringDateTimeField":"1907-07-25T02:10:21Z","stringField":"WUdTL","stringTimeField":"04:05:29.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":883,"numField":-918.6007078389028,"stringDateField":"1919-04-03","stringDateTimeField":"1907-07-25T02:10:21Z","stringField":"WUdTL","stringTimeField":"04:05:29.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3622,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3622,"uuid":"9e0a89ee-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ysKmxE","gGTKtcBpNv"],"boolField":false,"intField":-935,"numField":770.4518739768366,"objField":{"CcyKaN":-7209266265951186703},"stringDateField":"1969-09-28","stringDateTimeField":"1959-12-10T01:10:49Z","stringField":"ksirDob","stringTimeField":"13:44:07.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":-935,"numField":770.4518739768366,"stringDateField":"1969-09-28","stringDateTimeField":"1959-12-10T01:10:49Z","stringField":"ksirDob","stringTimeField":"13:44:07.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3623,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3623,"uuid":"9e0a89ee-5655-11ee-9401-675ed0f8e89b"},"arrayField":["rAGWKhn","zsNGFTpNsl","jAhUaDJqT","bnfSRV","sDmaYyib"],"boolField":true,"intField":-143,"numField":-831.614121004452,"objField":{"QsleJgznii":3568104319629538118,"ZyJLjHcwgH":1579776941686386822,"erVdYNDe":-1483216339769288550,"juGurWVePC":3699246740196721789,"tdOSXLkm":-474160497163366722},"stringDateField":"1998-11-16","stringDateTimeField":"1900-08-06T16:25:43Z","stringField":"CTxPWgb","stringTimeField":"23:20:04.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":-143,"numField":-831.614121004452,"stringDateField":"1998-11-16","stringDateTimeField":"1900-08-06T16:25:43Z","stringField":"CTxPWgb","stringTimeField":"23:20:04.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3624,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3624,"uuid":"9e0a89ee-5655-11ee-9801-675ed0f8e89b"},"arrayField":["NxoCgvtgn","IGsQEXb","bRNiyLgiT","qCXxrkn","RmlcrZOWTR","BuNGuY","sYcDoWnOO","wmFhd","pUSUjzM","AEDgkn"],"boolField":true,"intField":31,"numField":-512.4485074436022,"objField":{"CguwWxFs":-1235862743717027973,"Nmdzs":-714496810231931924,"XAEh":-3149404665110741487,"pnkuAJ":-865692757716212387},"stringDateField":"1987-09-05","stringDateTimeField":"1964-04-23T05:27:18Z","stringField":"KiScRJA","stringTimeField":"12:42:01.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":31,"numField":-512.4485074436022,"stringDateField":"1987-09-05","stringDateTimeField":"1964-04-23T05:27:18Z","stringField":"KiScRJA","stringTimeField":"12:42:01.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3625,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3625,"uuid":"9e0a89ee-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["AoOGFFhR","gMzkB","mKjiSGoIr","FmRQ"],"boolField":false,"intField":-174,"numField":-562.5112019687061,"objField":{"EdpAfCpnw":8405750150861279347,"IzMPGtO":6313965384419573874,"VebXai":3009539086924861536,"bEhZqmhadx":-6923662888580162705},"stringDateField":"1949-02-25","stringDateTimeField":"1949-09-22T03:51:45Z","stringField":"lPpZ","stringTimeField":"12:32:23.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":-174,"numField":-562.5112019687061,"stringDateField":"1949-02-25","stringDateTimeField":"1949-09-22T03:51:45Z","stringField":"lPpZ","stringTimeField":"12:32:23.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3626,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3626,"uuid":"9e0a89ee-5655-11ee-a001-675ed0f8e89b"},"arrayField":["KQLHuKjB","peyFIbnQ","MhiRGV","xbtZLNS","cKIZo","KrLVithz","bOPZcL","vvnAPASVjJ","oqZM","mAQb"],"boolField":true,"intField":-90,"numField":-59.8469691796012,"objField":{"pxXH":6197563202395807515,"woBTRAxYE":-4637753474935248494},"stringDateField":"2014-09-04","stringDateTimeField":"1922-07-02T15:10:45Z","stringField":"uPfZAtbpO","stringTimeField":"15:10:01.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":-90,"numField":-59.8469691796012,"stringDateField":"2014-09-04","stringDateTimeField":"1922-07-02T15:10:45Z","stringField":"uPfZAtbpO","stringTimeField":"15:10:01.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3627,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3627,"uuid":"9e0a89ee-5655-11ee-a401-675ed0f8e89b"},"arrayField":["vbdolwsyi","gyZy","DGJWStOYmA","lJMn","yncqzcokpv","guMUFJJk","wJHpUHd","PmRu","KbolZfY"],"boolField":false,"intField":890,"numField":791.366252277248,"objField":{"HyOt":-8365669503061915978,"TFciFXU":-8914364794729739405,"UBKYuFVNtI":-1317326838411871177,"UMmD":5868158325913829587,"lLsvUcltd":-7988599222090161989},"stringDateField":"2002-08-08","stringDateTimeField":"2006-08-26T04:38:55Z","stringField":"IBOgsYYxS","stringTimeField":"18:11:39.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":890,"numField":791.366252277248,"stringDateField":"2002-08-08","stringDateTimeField":"2006-08-26T04:38:55Z","stringField":"IBOgsYYxS","stringTimeField":"18:11:39.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3628,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3628,"uuid":"9e0a89ee-5655-11ee-a801-675ed0f8e89b"},"arrayField":["QcFzPvF","iLfvsjnWyK","UZWJbj"],"boolField":true,"intField":-260,"numField":-596.2036886130031,"objField":{"DYrSaCHUFc":8198011038156392441,"OAfNyZQPmN":3092749448034327315,"lMhGpkOy":-2853611303451673984,"twQFFpBXs":5787194559035119645,"whXhu":1844946196055306129,"wwhIyW":8142362701841671391},"stringDateField":"1993-01-16","stringDateTimeField":"1932-08-26T15:53:05Z","stringField":"ivoIIP","stringTimeField":"19:47:53.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":-260,"numField":-596.2036886130031,"stringDateField":"1993-01-16","stringDateTimeField":"1932-08-26T15:53:05Z","stringField":"ivoIIP","stringTimeField":"19:47:53.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3629,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3629,"uuid":"9e0a89ee-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["fScnzkXpu","RuvXbs","mQpaxk","GAJsdHBZJm","fEEpruBr","JiCm","cBfdaxgg","klQHurmm","YsoY","PBIhQtrS"],"boolField":true,"intField":-788,"numField":504.4778954326319,"objField":{"LqUnwNWWhj":4867348349208174007,"QXwwv":7042494552578606540,"WvBFTMbnl":2748629305032800201,"ZFDtVh":-2578333717773686278,"qsAl":60528264896032823},"stringDateField":"2018-07-24","stringDateTimeField":"1919-08-07T07:52:51Z","stringField":"rpHRdVAJy","stringTimeField":"13:11:23.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":-788,"numField":504.4778954326319,"stringDateField":"2018-07-24","stringDateTimeField":"1919-08-07T07:52:51Z","stringField":"rpHRdVAJy","stringTimeField":"13:11:23.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3630,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3630,"uuid":"9e0a89ee-5655-11ee-b001-675ed0f8e89b"},"arrayField":["RZFyVoOGBC"],"boolField":true,"intField":-960,"numField":-248.87051876430277,"objField":{"CEYfIKR":7806670265299197940,"IAqtdqOvSq":-7295898724057062443,"NpvIutlnWX":7285925382325965942,"SfQVu":-7784359167143182499,"dxUT":1472228292720203967,"fIlGlKQKO":-6498399556215894901,"fbxoUxXd":5649609734514416776,"yeUNGK":-6800451582234564276,"zANh":8416653477803731384},"stringDateField":"1947-12-14","stringDateTimeField":"1999-03-15T13:30:28Z","stringField":"NCDDMP","stringTimeField":"21:28:16.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":-960,"numField":-248.87051876430277,"stringDateField":"1947-12-14","stringDateTimeField":"1999-03-15T13:30:28Z","stringField":"NCDDMP","stringTimeField":"21:28:16.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3631,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3631,"uuid":"9e0a89ee-5655-11ee-b401-675ed0f8e89b"},"arrayField":["EFsxHde","JmMoB","PtudnvNRVs","UWEAlRgW","EGGudlqJa"],"boolField":true,"intField":81,"numField":993.4507845612392,"objField":{"DdymmhAetb":-4277610640866226477,"EsxO":-7577459097119163285,"XwKn":-2134847453882753631,"ZvBZ":3267896068346733002,"bXpiIngHuE":6820930816021748126,"cjRnPbmeGZ":-745606593263915266,"gulWZ":4377233541544194956},"stringDateField":"2003-05-10","stringDateTimeField":"1990-11-18T02:37:01Z","stringField":"mvgFfIZOIP","stringTimeField":"01:16:16.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":81,"numField":993.4507845612392,"stringDateField":"2003-05-10","stringDateTimeField":"1990-11-18T02:37:01Z","stringField":"mvgFfIZOIP","stringTimeField":"01:16:16.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3632,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3632,"uuid":"9e0a89ee-5655-11ee-b801-675ed0f8e89b"},"arrayField":["xEvt","Tapf","ELjcyEHgaZ","EruvaK","mnyrpoc","aKwvLv","FTDBhjj","qQbtg","PiJq","mXBvXUJ"],"boolField":true,"intField":325,"numField":8.387585791282293,"objField":{"HPqOUCsyqa":-5829712260826158227,"LbioZev":8959797733087072427,"OuMv":-3212089890356341447,"joqGQVhtx":-828426220411443506,"vrZFf":1188191193156911338},"stringDateField":"2020-01-10","stringDateTimeField":"1907-11-25T08:30:50Z","stringField":"bCjrneq","stringTimeField":"18:42:42.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":325,"numField":8.387585791282293,"stringDateField":"2020-01-10","stringDateTimeField":"1907-11-25T08:30:50Z","stringField":"bCjrneq","stringTimeField":"18:42:42.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3633,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3633,"uuid":"9e0a89ee-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["MXLeAqcqu","bcdmnTpy","tUdyXATZW","cpsQY"],"boolField":false,"intField":-329,"numField":-350.8375832016308,"objField":{"UAbhd":-1688702357491617757},"stringDateField":"1911-08-27","stringDateTimeField":"1979-10-09T13:05:43Z","stringField":"HdfUxGl","stringTimeField":"23:45:35.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763758Z","intField":-329,"numField":-350.8375832016308,"stringDateField":"1911-08-27","stringDateTimeField":"1979-10-09T13:05:43Z","stringField":"HdfUxGl","stringTimeField":"23:45:35.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3634,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3634,"uuid":"9e0a89ef-5655-11ee-8001-675ed0f8e89b"},"arrayField":["DExPUEa","mJCA","ARvxhyKZOa","RbHgdC","QejJ","KJmJWpJz"],"boolField":true,"intField":-197,"numField":-292.89615196652187,"objField":{"CYQZ":-2645273595184290743,"DjPPDJ":-5813720260959299182,"GgVTpgfVqX":-7082043151702432574,"HtmIdrjbo":1425264802976252058,"KGMtn":3789127831543280496,"MmzLEY":-6397332469478825158,"PAuIkkP":5595646414051256650,"jPZy":4164439895553655759,"qtdNmNdgf":4266587592321316710,"srFup":-8031542609170681032},"stringDateField":"1909-08-07","stringDateTimeField":"1922-11-03T18:09:51Z","stringField":"nfRfm","stringTimeField":"06:58:58.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":-197,"numField":-292.89615196652187,"stringDateField":"1909-08-07","stringDateTimeField":"1922-11-03T18:09:51Z","stringField":"nfRfm","stringTimeField":"06:58:58.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3635,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3635,"uuid":"9e0a89ef-5655-11ee-8401-675ed0f8e89b"},"arrayField":["dBTSneWj","IZfBkihI","lIGoie","OmtYkbreU","FQdVObS","mVme","rgPnqw","DnWkJKc","iLOhWN","yZRjLz"],"boolField":true,"intField":770,"numField":310.3457510900325,"objField":{"GkaSD":-1032978406113040438,"aEKNQVyC":7923518768863697255,"eyalX":-2821804643224354461,"iXixlPd":7061483555256195471,"tqCZw":3834248129924294361},"stringDateField":"1974-03-02","stringDateTimeField":"2011-04-13T19:26:26Z","stringField":"fwLD","stringTimeField":"04:03:06.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":770,"numField":310.3457510900325,"stringDateField":"1974-03-02","stringDateTimeField":"2011-04-13T19:26:26Z","stringField":"fwLD","stringTimeField":"04:03:06.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3636,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3636,"uuid":"9e0a89ef-5655-11ee-8801-675ed0f8e89b"},"arrayField":["HGJujEtxck","CtKtAesn","GxVUPkSLf","vHppbjo","DVQkbOmva"],"boolField":false,"intField":655,"numField":108.2794497262982,"objField":{"TCnYXyIC":-7576045830410718782,"XIYiONk":751379990435413045,"YcBbClO":5536731829743844764,"bLbND":5013553179132562777,"eHMzJsClex":7114320286592275350,"jNtgefLfm":5953752822902128375,"trOjZR":-2829043870063480054},"stringDateField":"1925-04-12","stringDateTimeField":"1962-04-13T10:58:30Z","stringField":"cnVdwmiY","stringTimeField":"15:54:35.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":655,"numField":108.2794497262982,"stringDateField":"1925-04-12","stringDateTimeField":"1962-04-13T10:58:30Z","stringField":"cnVdwmiY","stringTimeField":"15:54:35.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3637,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3637,"uuid":"9e0a89ef-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["nFgk","qGHAm","eeOPYdOr","nLLSfNkFU","LkIVLX","deSdxXXrZ"],"boolField":false,"intField":-903,"numField":522.4036381081671,"objField":{"MeVBb":-844475280699499626,"xGmHUrWAKV":-1451967791513883407},"stringDateField":"1902-01-15","stringDateTimeField":"1961-09-27T17:34:51Z","stringField":"MSWAP","stringTimeField":"07:37:54.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":-903,"numField":522.4036381081671,"stringDateField":"1902-01-15","stringDateTimeField":"1961-09-27T17:34:51Z","stringField":"MSWAP","stringTimeField":"07:37:54.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3638,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3638,"uuid":"9e0a89ef-5655-11ee-9001-675ed0f8e89b"},"arrayField":["VOXipA","kIaS","rTnDYC","qCUKM","uzLsUn","nIfs","VAHhBLJC","YwCyNSvCom","kpFl"],"boolField":false,"intField":-439,"numField":81.04207551748831,"objField":{"FSnJS":-5729289285448495395,"OfnvqfFusT":-2995714775955895223,"ebFbE":4113227365454196838,"oZAF":5921823600205181933,"vlNLR":3922324241646123143,"zpmtC":6709586475410739878},"stringDateField":"1980-08-10","stringDateTimeField":"1994-08-08T02:37:12Z","stringField":"AvRftPbA","stringTimeField":"03:31:12.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":-439,"numField":81.04207551748831,"stringDateField":"1980-08-10","stringDateTimeField":"1994-08-08T02:37:12Z","stringField":"AvRftPbA","stringTimeField":"03:31:12.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3639,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3639,"uuid":"9e0a89ef-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ZBrbbA","IkIl","RYZLoICMkg","HNxTkAAiEK","YNMtTEd","qyrB","zKMFAhym","dDXTKfR","FKIGuHoayL"],"boolField":false,"intField":-160,"numField":466.4013604878503,"objField":{"AdwRhF":-7980270487949662154,"AphAy":-287781064668084010,"ErVv":2374117786703763874,"FIFUCHd":-2380975570707312527,"HYbSxylW":-1384451458457254311,"VFXZVSpzDp":-3130702614057838437,"bWHbXLOA":-5169078745738162061,"gVisjUKa":-5873084790238588696,"nUYQaUBXd":8122546259642989686,"qJwjDS":1664692450195238158},"stringDateField":"1982-09-20","stringDateTimeField":"1921-02-26T03:16:14Z","stringField":"VmqgYMaI","stringTimeField":"10:22:32.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":-160,"numField":466.4013604878503,"stringDateField":"1982-09-20","stringDateTimeField":"1921-02-26T03:16:14Z","stringField":"VmqgYMaI","stringTimeField":"10:22:32.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3640,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3640,"uuid":"9e0a89ef-5655-11ee-9801-675ed0f8e89b"},"arrayField":["SmdNO","CmLHHqVV","usaOLw","ZwBXmqLp"],"boolField":true,"intField":-14,"numField":-541.594473920292,"objField":{"Apok":1177710440534058963,"ICeV":-8324875305526584258,"MHRAJDWNav":-7252199390472129788,"MwHwNiRCk":-815805446017227145,"UyFsYgbOcw":3884449626373215850,"ZXKab":7602224624811483339,"jvNJMYt":-8712331867701337580,"qLwxggQ":2738795872339850964,"wJzm":-6601818446043328575},"stringDateField":"1904-08-28","stringDateTimeField":"2020-05-19T10:14:27Z","stringField":"LqEL","stringTimeField":"12:31:34.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":-14,"numField":-541.594473920292,"stringDateField":"1904-08-28","stringDateTimeField":"2020-05-19T10:14:27Z","stringField":"LqEL","stringTimeField":"12:31:34.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3641,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3641,"uuid":"9e0a89ef-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["teBWydycKC","AhIiwdjK","XFoTQZUc","iJKMzXIc"],"boolField":false,"intField":393,"numField":529.0402046908331,"objField":{"JsNwuAC":-7204821231026378922,"MArowWv":-8943585712579875727,"OpkYIfXCXt":-1415935232856418126,"cqNaLjJ":3634440301951900324,"mTjnL":8072511128961409764,"qeWjGZa":-4055584242128492951,"tUOUbfXsz":-6940016634010870705,"tUlJYgnq":3117771466077841757,"vueIXcEy":8394890912610868629,"wtviEiOVLh":8717957915800891425},"stringDateField":"1950-12-17","stringDateTimeField":"1994-05-29T17:58:22Z","stringField":"eTGljzNu","stringTimeField":"00:23:48.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":393,"numField":529.0402046908331,"stringDateField":"1950-12-17","stringDateTimeField":"1994-05-29T17:58:22Z","stringField":"eTGljzNu","stringTimeField":"00:23:48.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3642,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3642,"uuid":"9e0a89ef-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ifzeCKbU","JSewI","owiKVgpJj","exPnqu","PxEQLX"],"boolField":true,"intField":301,"numField":-341.8030324349888,"objField":{"SwbmN":-8026262174480477520,"XdgwT":2429090177396921746,"duSEFyUf":3309921858076115888,"lxdHCIe":5633383834683615584,"mhJQZalIHn":8987718332041804198},"stringDateField":"1967-03-02","stringDateTimeField":"1990-02-05T02:34:24Z","stringField":"azDBeA","stringTimeField":"15:53:08.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":301,"numField":-341.8030324349888,"stringDateField":"1967-03-02","stringDateTimeField":"1990-02-05T02:34:24Z","stringField":"azDBeA","stringTimeField":"15:53:08.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3643,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3643,"uuid":"9e0a89ef-5655-11ee-a401-675ed0f8e89b"},"arrayField":["QhdVnlHWff","azcsqKBq","OOsXTYaGzU","KjEcgoRWWL","FlIzejxAU","wLVU","Iycsi","oRhZyCjFJ","hSbbNuZ","oWgGDM"],"boolField":true,"intField":-398,"numField":-788.3255226336594,"objField":{"BRKULc":-1150284037359392927,"BTDDaG":1330362491411557904,"KEUNnC":1006989001242506043,"UvEi":-1223882510067113960,"ZearmKT":-6449273785068285472,"qWinJ":-8011094270839858861},"stringDateField":"2001-10-30","stringDateTimeField":"1946-08-11T11:55:46Z","stringField":"dSdzS","stringTimeField":"07:25:45.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":-398,"numField":-788.3255226336594,"stringDateField":"2001-10-30","stringDateTimeField":"1946-08-11T11:55:46Z","stringField":"dSdzS","stringTimeField":"07:25:45.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3644,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3644,"uuid":"9e0a89ef-5655-11ee-a801-675ed0f8e89b"},"arrayField":["zYVfK","pnVZf","XTpYNVTo"],"boolField":false,"intField":47,"numField":212.36152026114817,"objField":{"HIiLHfu":811360837720751738,"JKRoN":3826578866886783226,"JybmU":-333879367755863150,"iXMmGcEmdJ":1733038803376775503,"jNLKsUaoEx":-5689599892520401435,"jsLetfdQB":4956621215553145818,"uklWL":3509019518230045606,"wyHVR":4288125604078129709,"yKTjzjkmoE":502936162788557469,"zjyMn":779838183121470406},"stringDateField":"1905-08-29","stringDateTimeField":"1988-07-26T00:54:32Z","stringField":"YoPzxZ","stringTimeField":"15:04:11.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":47,"numField":212.36152026114817,"stringDateField":"1905-08-29","stringDateTimeField":"1988-07-26T00:54:32Z","stringField":"YoPzxZ","stringTimeField":"15:04:11.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3645,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3645,"uuid":"9e0a89ef-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["qHLb","geMQreqjOM","eLqduRk","brRPtI"],"boolField":false,"intField":-359,"numField":448.8528933221303,"objField":{"eehNpcPQdi":5665169605350074441,"kGljV":3716313333521427055,"mXYHeQ":81647076985878842,"nHjY":-2064393791814308382,"xJUa":-4997557497428091259},"stringDateField":"1989-08-28","stringDateTimeField":"1976-11-15T08:43:09Z","stringField":"MnRIQI","stringTimeField":"13:24:41.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":-359,"numField":448.8528933221303,"stringDateField":"1989-08-28","stringDateTimeField":"1976-11-15T08:43:09Z","stringField":"MnRIQI","stringTimeField":"13:24:41.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3646,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3646,"uuid":"9e0a89ef-5655-11ee-b001-675ed0f8e89b"},"arrayField":["AKEXyd","oKHAsv","HudqnfZz","tCnpZ","oXxVB","FIinKI","uDQEKpbn","nhjzLe","fFaq"],"boolField":false,"intField":480,"numField":-866.6788690896365,"objField":{"FqCDRaFmLl":-6098706602907128583,"FwJTQvokMZ":-4991048202514301347,"HUPccdBeS":-2713239029691738723,"VWKOcd":-4009600462250777958,"WrTzc":-1508812003259838246},"stringDateField":"1913-07-26","stringDateTimeField":"2018-11-03T07:49:29Z","stringField":"KYbYyIlI","stringTimeField":"08:34:11.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":480,"numField":-866.6788690896365,"stringDateField":"1913-07-26","stringDateTimeField":"2018-11-03T07:49:29Z","stringField":"KYbYyIlI","stringTimeField":"08:34:11.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3647,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3647,"uuid":"9e0a89ef-5655-11ee-b401-675ed0f8e89b"},"arrayField":["mrYDAtPF","HIqpwmFPCE","MjIvB","uvfEjra","FinAvpVYG"],"boolField":false,"intField":96,"numField":11.501535666471383,"objField":{"SMSE":4276096103086198057,"ZNpZYd":137395520651728882,"pLUkNTcnVq":6815441471476259070,"wiQzt":-6896919784356186290},"stringDateField":"1918-12-06","stringDateTimeField":"1953-08-25T20:57:25Z","stringField":"GgNNWWi","stringTimeField":"17:25:30.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":96,"numField":11.501535666471383,"stringDateField":"1918-12-06","stringDateTimeField":"1953-08-25T20:57:25Z","stringField":"GgNNWWi","stringTimeField":"17:25:30.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3648,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3648,"uuid":"9e0a89ef-5655-11ee-b801-675ed0f8e89b"},"arrayField":["aZUkX","KPTLOl"],"boolField":true,"intField":-884,"numField":-409.4349602126921,"objField":{"ArMbjWl":-1619358857024370150},"stringDateField":"1918-11-07","stringDateTimeField":"1912-09-16T17:53:50Z","stringField":"ahVhn","stringTimeField":"08:18:59.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":-884,"numField":-409.4349602126921,"stringDateField":"1918-11-07","stringDateTimeField":"1912-09-16T17:53:50Z","stringField":"ahVhn","stringTimeField":"08:18:59.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3649,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3649,"uuid":"9e0a89ef-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["laPpyERvH","JEIA","PJrrb"],"boolField":true,"intField":863,"numField":25.48144914814965,"objField":{"SRFxZotV":-798628069981315960,"boyFjxmsXl":8645022263646636163,"gPbkmCRbqo":9117710945334985217,"tSFkas":3927358496835541501,"uTOVhbA":3448724736768723206},"stringDateField":"1944-08-08","stringDateTimeField":"1970-11-10T20:53:54Z","stringField":"OcFUzdxCha","stringTimeField":"19:21:24.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763759Z","intField":863,"numField":25.48144914814965,"stringDateField":"1944-08-08","stringDateTimeField":"1970-11-10T20:53:54Z","stringField":"OcFUzdxCha","stringTimeField":"19:21:24.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3650,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3650,"uuid":"9e0a89f0-5655-11ee-8001-675ed0f8e89b"},"arrayField":["gDfj","qILe","BiMOaTcaed","zfhxkpEP","NiDAHCpkAN","EvwHIRDqhx","OHgBf"],"boolField":true,"intField":236,"numField":163.3494863608933,"objField":{"MvVaYNNCv":-7918452229262469048,"YNdQhsk":1856547595553700240,"uBRiB":-4203839177165281477,"wiqmEWiAat":-8416362142932881409},"stringDateField":"1933-07-31","stringDateTimeField":"2021-05-09T06:36:17Z","stringField":"uZZgJ","stringTimeField":"19:30:54.50Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":236,"numField":163.3494863608933,"stringDateField":"1933-07-31","stringDateTimeField":"2021-05-09T06:36:17Z","stringField":"uZZgJ","stringTimeField":"19:30:54.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3651,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3651,"uuid":"9e0a89f0-5655-11ee-8401-675ed0f8e89b"},"arrayField":["CvOVyUzVw","nXSX","XCbRTgpAv"],"boolField":true,"intField":95,"numField":-229.75422959034577,"objField":{"IEhs":-3213896341498796051,"JcnEXt":-1508524949592548200,"PiDLMDs":-5301241850313203089,"iYFImGbgcL":164315760643253533,"inPpX":-6557546879737146278,"rbjje":-2929324443429188017,"uptrvRefV":-7964116466712208657,"xCGDf":-274615485554485997,"xhbN":7980603243119704222},"stringDateField":"1998-02-13","stringDateTimeField":"1933-07-14T06:48:11Z","stringField":"hdzja","stringTimeField":"12:57:50.16Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":95,"numField":-229.75422959034577,"stringDateField":"1998-02-13","stringDateTimeField":"1933-07-14T06:48:11Z","stringField":"hdzja","stringTimeField":"12:57:50.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3652,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3652,"uuid":"9e0a89f0-5655-11ee-8801-675ed0f8e89b"},"arrayField":["MQwiHmV","fVxCBZLWY","qEAjTlzLt","IVMfULbcvq","BmxnPUnem","ftmPMORUF"],"boolField":false,"intField":-251,"numField":109.46871424236626,"objField":{"CMzGT":-1353819074353468213,"PjHsTmxO":5947190337863605746,"WFXAA":8050605429890621295},"stringDateField":"2019-09-27","stringDateTimeField":"1945-02-28T22:07:37Z","stringField":"SMGKIZjRYe","stringTimeField":"22:41:15.20Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":-251,"numField":109.46871424236626,"stringDateField":"2019-09-27","stringDateTimeField":"1945-02-28T22:07:37Z","stringField":"SMGKIZjRYe","stringTimeField":"22:41:15.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3653,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3653,"uuid":"9e0a89f0-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["bNaKzeKCh","bUUtX","rXlkQDOd","NyrFugtj","kWgeAODiYL","yHLpOeBfFY","QonjsNkFl","tXGjMb","JJPxUadyem"],"boolField":true,"intField":-496,"numField":800.6789569571548,"objField":{"BpXduQIm":-5366733340204395334,"CqQzZgJDA":-3504721901763965295,"UmAozhGULG":1608333473985093077,"VrMKtBlK":609763583643828637,"cKNkA":3499233905382578772,"idmT":7003502839677311773,"rKyQ":-7285303894909132778,"rUJguzuZ":-8329438498402046791},"stringDateField":"2009-07-06","stringDateTimeField":"1937-02-06T02:48:17Z","stringField":"ZfaExyBAo","stringTimeField":"04:13:57.43Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":-496,"numField":800.6789569571548,"stringDateField":"2009-07-06","stringDateTimeField":"1937-02-06T02:48:17Z","stringField":"ZfaExyBAo","stringTimeField":"04:13:57.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3654,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3654,"uuid":"9e0a89f0-5655-11ee-9001-675ed0f8e89b"},"arrayField":["MXJt","NexCrqAfw","QesiwD","DkJm","ltemifd","HbXrDxNFv","dkVoCYshf","UjFr","FTHGQx"],"boolField":false,"intField":795,"numField":747.8189761540767,"objField":{"xkOu":-3258779791591555401},"stringDateField":"1970-01-15","stringDateTimeField":"1907-12-20T00:06:34Z","stringField":"rsCv","stringTimeField":"09:58:01.48Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":795,"numField":747.8189761540767,"stringDateField":"1970-01-15","stringDateTimeField":"1907-12-20T00:06:34Z","stringField":"rsCv","stringTimeField":"09:58:01.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3655,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3655,"uuid":"9e0a89f0-5655-11ee-9401-675ed0f8e89b"},"arrayField":["TgAKKU","RjbnGWE","wPuCsDgJD"],"boolField":false,"intField":342,"numField":-190.40061643445628,"objField":{"AXiQaDLSIb":-3145773439178509983,"Eqwzbus":538372494256560597,"hYlXKcbS":1395074223704237256,"nnISs":8040364947163916147,"rhTivWKm":4495843223484362351},"stringDateField":"1987-03-25","stringDateTimeField":"1934-12-01T03:28:11Z","stringField":"QoQqAIdmWO","stringTimeField":"00:08:11.24Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":342,"numField":-190.40061643445628,"stringDateField":"1987-03-25","stringDateTimeField":"1934-12-01T03:28:11Z","stringField":"QoQqAIdmWO","stringTimeField":"00:08:11.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3656,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3656,"uuid":"9e0a89f0-5655-11ee-9801-675ed0f8e89b"},"arrayField":["LgOmrQGrZw","YRlPBEkK","PnOimdWRLW","yIlpxz","jERmJypTxV"],"boolField":false,"intField":934,"numField":664.6079208867637,"objField":{"ahWkFne":-314615498992646989},"stringDateField":"1903-03-23","stringDateTimeField":"1979-03-28T20:19:49Z","stringField":"qZtuzP","stringTimeField":"20:42:54.21Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":934,"numField":664.6079208867637,"stringDateField":"1903-03-23","stringDateTimeField":"1979-03-28T20:19:49Z","stringField":"qZtuzP","stringTimeField":"20:42:54.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3657,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3657,"uuid":"9e0a89f0-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["pBSSba","BoiahYW","JvpRcOpip","jbDwJj","psPHQbT","rwxPjaZZM","GAGYhtdn","cjgz","xLoncxuTy","BaXvZh"],"boolField":true,"intField":427,"numField":915.4133635755148,"objField":{"CtKTzvq":2651064712719624467,"Kpxv":1249434433238827007,"exrPq":1873293952941531604,"tgfLzx":-762908534648460001},"stringDateField":"1999-12-20","stringDateTimeField":"1942-04-22T19:24:40Z","stringField":"ecYkcFN","stringTimeField":"20:43:21.20Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":427,"numField":915.4133635755148,"stringDateField":"1999-12-20","stringDateTimeField":"1942-04-22T19:24:40Z","stringField":"ecYkcFN","stringTimeField":"20:43:21.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3658,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3658,"uuid":"9e0a89f0-5655-11ee-a001-675ed0f8e89b"},"arrayField":["iRFrb","Hguy","xSqaaQmFq"],"boolField":false,"intField":-815,"numField":-822.8762820555341,"objField":{"HolqOnA":-2791320938884172047},"stringDateField":"1932-09-22","stringDateTimeField":"1979-03-10T15:56:25Z","stringField":"FruCacZ","stringTimeField":"14:26:45.20Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":-815,"numField":-822.8762820555341,"stringDateField":"1932-09-22","stringDateTimeField":"1979-03-10T15:56:25Z","stringField":"FruCacZ","stringTimeField":"14:26:45.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3659,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3659,"uuid":"9e0a89f0-5655-11ee-a401-675ed0f8e89b"},"arrayField":["BTlHLC","wHKf","dMRzViSICR"],"boolField":false,"intField":-875,"numField":-233.28463192091965,"objField":{"RHsrPcAx":1830610552000435710},"stringDateField":"2011-03-31","stringDateTimeField":"1918-03-30T19:58:05Z","stringField":"SZWosv","stringTimeField":"16:26:15.23Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":-875,"numField":-233.28463192091965,"stringDateField":"2011-03-31","stringDateTimeField":"1918-03-30T19:58:05Z","stringField":"SZWosv","stringTimeField":"16:26:15.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3660,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3660,"uuid":"9e0a89f0-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nQuVoP","hGrbl","vXhfMBhqB"],"boolField":true,"intField":-906,"numField":-433.2043822542958,"objField":{"CJSOm":656751373285738648,"MANQ":-4274795350095715712,"VJeKE":657195643136731694,"WedsrMX":7204441152298064745,"jBJMV":-920787371261583081,"qpXpGp":6285074989713404223,"qsEuSc":-8280442663305625063,"rUiR":-2824499413297053134},"stringDateField":"1948-02-11","stringDateTimeField":"1981-05-08T22:20:30Z","stringField":"CBfOdDHT","stringTimeField":"11:01:12.17Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":-906,"numField":-433.2043822542958,"stringDateField":"1948-02-11","stringDateTimeField":"1981-05-08T22:20:30Z","stringField":"CBfOdDHT","stringTimeField":"11:01:12.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3661,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3661,"uuid":"9e0a89f0-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["LOvfE","yAVS","QizjlkNbNb"],"boolField":true,"intField":212,"numField":-127.53732112430215,"objField":{"BFHNpONHX":5883894910365954869,"HHdme":-5671842669206280867,"HhssbhRje":-5322095120168175734,"KgqakasJY":-6256168141487032960,"Pivoto":8434431767330599395,"URjbsT":-1662823413544170324,"VAFDDPjmx":4831233788607086089,"YJDOdsZfnA":3765896132117020953,"rMjHbNX":-167532011858514118},"stringDateField":"1902-08-03","stringDateTimeField":"1948-08-01T17:43:34Z","stringField":"cpiS","stringTimeField":"08:28:53.15Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":212,"numField":-127.53732112430215,"stringDateField":"1902-08-03","stringDateTimeField":"1948-08-01T17:43:34Z","stringField":"cpiS","stringTimeField":"08:28:53.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3662,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3662,"uuid":"9e0a89f0-5655-11ee-b001-675ed0f8e89b"},"arrayField":["xdbWUAb"],"boolField":false,"intField":11,"numField":661.3294552966776,"objField":{"UhtsjqG":-6371250793994436947},"stringDateField":"1948-01-02","stringDateTimeField":"1928-05-22T23:47:38Z","stringField":"WngDk","stringTimeField":"13:33:58.33Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":11,"numField":661.3294552966776,"stringDateField":"1948-01-02","stringDateTimeField":"1928-05-22T23:47:38Z","stringField":"WngDk","stringTimeField":"13:33:58.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3663,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3663,"uuid":"9e0a89f0-5655-11ee-b401-675ed0f8e89b"},"arrayField":["HQASYVALkT","kQnuq","tMMUQGxCaB"],"boolField":true,"intField":476,"numField":171.74889259559035,"objField":{"bhgsLdSpRF":2323725668240580474},"stringDateField":"1935-10-12","stringDateTimeField":"1959-11-25T18:25:48Z","stringField":"NWkQqfXGiA","stringTimeField":"08:29:43.13Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":476,"numField":171.74889259559035,"stringDateField":"1935-10-12","stringDateTimeField":"1959-11-25T18:25:48Z","stringField":"NWkQqfXGiA","stringTimeField":"08:29:43.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3664,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3664,"uuid":"9e0a89f0-5655-11ee-b801-675ed0f8e89b"},"arrayField":["xHfI","bsVaYXLVU","RfIcmIQB"],"boolField":true,"intField":21,"numField":150.84380085034786,"objField":{"LBfpLSbnX":3159213114499553902,"LkHb":4107777763436931183,"Pftbjnk":1619529258171891483,"QnPqGzad":-717082560852513794,"ZnZzVOjHEo":2052840036441157546,"yUmzyqbNRB":-3979251359048496659},"stringDateField":"1926-01-17","stringDateTimeField":"2018-09-05T14:33:56Z","stringField":"kvthlQ","stringTimeField":"13:49:00.35Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":21,"numField":150.84380085034786,"stringDateField":"1926-01-17","stringDateTimeField":"2018-09-05T14:33:56Z","stringField":"kvthlQ","stringTimeField":"13:49:00.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3665,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3665,"uuid":"9e0a89f0-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["zJrAWIUkFa","EQOd"],"boolField":false,"intField":734,"numField":274.9099250596716,"objField":{"ZrtPjydww":-1124326060788572294,"ecruOf":624400425757912373},"stringDateField":"1913-11-12","stringDateTimeField":"1975-04-18T01:00:57Z","stringField":"QXph","stringTimeField":"06:21:57.43Z"},"flow_published_at":"2023-09-18T19:00:21.876376Z","intField":734,"numField":274.9099250596716,"stringDateField":"1913-11-12","stringDateTimeField":"1975-04-18T01:00:57Z","stringField":"QXph","stringTimeField":"06:21:57.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3666,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3666,"uuid":"9e0a89f1-5655-11ee-8001-675ed0f8e89b"},"arrayField":["TqVufwt","uxAsrysLN","vSnpiudc","oDto","aovNLZI","xIJMm","nMJm","RkfLeGub"],"boolField":true,"intField":761,"numField":285.1676013922002,"objField":{"CKngYldtv":-2924758026139870118,"DPCzV":5672633399581813243,"FARygOAu":-2778102224068336231,"FRmMfIqvTs":-5883768496986079089,"LEOSwuSj":4503984887014227160,"iucpyOdowV":2601518223999976228,"tVzcjma":-7527094556412123842},"stringDateField":"1935-05-19","stringDateTimeField":"1936-09-13T00:10:08Z","stringField":"bbsHRe","stringTimeField":"10:51:49.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":761,"numField":285.1676013922002,"stringDateField":"1935-05-19","stringDateTimeField":"1936-09-13T00:10:08Z","stringField":"bbsHRe","stringTimeField":"10:51:49.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3667,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3667,"uuid":"9e0a89f1-5655-11ee-8401-675ed0f8e89b"},"arrayField":["NOhjLHQTg"],"boolField":true,"intField":-564,"numField":-813.875410197446,"objField":{"BGPGrDi":-2976810060893460041,"GsZOTX":-44943625904716754,"MUFBaI":-3972937265140377135,"RqcCLb":-8133398157964551362,"ahzt":3183806163091490844,"dTZzOL":-4810558749636206159,"mcji":7403174773616877844,"vQGAF":4089021948725939910,"xTSh":3486685158544647933,"yLGF":-5474355428072193781},"stringDateField":"2022-11-05","stringDateTimeField":"1989-01-17T17:03:19Z","stringField":"wromQhGtx","stringTimeField":"05:36:36.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":-564,"numField":-813.875410197446,"stringDateField":"2022-11-05","stringDateTimeField":"1989-01-17T17:03:19Z","stringField":"wromQhGtx","stringTimeField":"05:36:36.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3668,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3668,"uuid":"9e0a89f1-5655-11ee-8801-675ed0f8e89b"},"arrayField":["usXNPTyPF","BOqLdDQqd","NHdkJZnj"],"boolField":true,"intField":935,"numField":158.04564575902157,"objField":{"Gkya":1690793995155898337,"aLLeP":-499298197259452006,"aYWaURYlQ":-1743261814115369053,"luQThlTGGK":-3729789599010904711},"stringDateField":"1948-06-26","stringDateTimeField":"1957-08-05T04:46:06Z","stringField":"egAx","stringTimeField":"04:50:12.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":935,"numField":158.04564575902157,"stringDateField":"1948-06-26","stringDateTimeField":"1957-08-05T04:46:06Z","stringField":"egAx","stringTimeField":"04:50:12.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3669,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3669,"uuid":"9e0a89f1-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["UYYWXUiwWt","ahAB","XPhgNEkhu","BICbkg","ZMEwSj","FcOI","SYwxB"],"boolField":false,"intField":490,"numField":380.7438826051723,"objField":{"piQr":8111000586850810869},"stringDateField":"1929-08-16","stringDateTimeField":"1905-06-04T18:09:37Z","stringField":"aVgpxlA","stringTimeField":"03:01:52.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":490,"numField":380.7438826051723,"stringDateField":"1929-08-16","stringDateTimeField":"1905-06-04T18:09:37Z","stringField":"aVgpxlA","stringTimeField":"03:01:52.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3670,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3670,"uuid":"9e0a89f1-5655-11ee-9001-675ed0f8e89b"},"arrayField":["cGrooCN","tZUwCVp","yXoMy","BNkhxUG","bWho"],"boolField":true,"intField":-695,"numField":944.8935997886,"objField":{"PYHGzxM":-6382214361652149034,"WMtRrMPo":7536586742292184895,"XPyACQSjw":-5185927318807424038,"noBGo":7554490022447242491,"pvXkhxG":7376049023089237877},"stringDateField":"1927-06-16","stringDateTimeField":"1937-09-18T17:36:05Z","stringField":"wWmZmm","stringTimeField":"09:33:01.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":-695,"numField":944.8935997886,"stringDateField":"1927-06-16","stringDateTimeField":"1937-09-18T17:36:05Z","stringField":"wWmZmm","stringTimeField":"09:33:01.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3671,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3671,"uuid":"9e0a89f1-5655-11ee-9401-675ed0f8e89b"},"arrayField":["GUBkTNK","bdhE","rabSzpxVJX"],"boolField":true,"intField":-166,"numField":-199.99429544678935,"objField":{"tvcV":3273073920535290724},"stringDateField":"1995-01-01","stringDateTimeField":"2008-02-08T15:13:03Z","stringField":"hPXoHcKks","stringTimeField":"06:31:38.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":-166,"numField":-199.99429544678935,"stringDateField":"1995-01-01","stringDateTimeField":"2008-02-08T15:13:03Z","stringField":"hPXoHcKks","stringTimeField":"06:31:38.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3672,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3672,"uuid":"9e0a89f1-5655-11ee-9801-675ed0f8e89b"},"arrayField":["PObnlcYmp","lchGZKtidh","HvGIrPs","TlZbJF"],"boolField":true,"intField":-527,"numField":-34.420475811741014,"objField":{"AXku":-7386090889340220567,"IGJWNgrzet":7571841422327803170,"KReV":667030440642628324,"MMjEr":2785668670911585921,"qwPbFq":-5896713393015969481,"vClPvzj":-4811341638855566979},"stringDateField":"1942-10-29","stringDateTimeField":"1937-08-19T09:43:56Z","stringField":"KtccwMHiP","stringTimeField":"16:31:26.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":-527,"numField":-34.420475811741014,"stringDateField":"1942-10-29","stringDateTimeField":"1937-08-19T09:43:56Z","stringField":"KtccwMHiP","stringTimeField":"16:31:26.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3673,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3673,"uuid":"9e0a89f1-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["pkRlAg","DepxQw","kcVqJ","ySCzbZPhY","NpaZvDf","EOymhBp","rszM"],"boolField":false,"intField":594,"numField":177.54612784786784,"objField":{"VxmA":8420077507297677015},"stringDateField":"1944-03-09","stringDateTimeField":"1935-03-28T07:36:49Z","stringField":"sJUiPY","stringTimeField":"18:52:23.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":594,"numField":177.54612784786784,"stringDateField":"1944-03-09","stringDateTimeField":"1935-03-28T07:36:49Z","stringField":"sJUiPY","stringTimeField":"18:52:23.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3674,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3674,"uuid":"9e0a89f1-5655-11ee-a001-675ed0f8e89b"},"arrayField":["olkO","SIlQfl"],"boolField":false,"intField":-975,"numField":380.3540738030657,"objField":{"NdRaiaryc":4797229187793205490},"stringDateField":"1949-12-24","stringDateTimeField":"1915-12-02T18:38:35Z","stringField":"nYevQFj","stringTimeField":"23:25:50.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":-975,"numField":380.3540738030657,"stringDateField":"1949-12-24","stringDateTimeField":"1915-12-02T18:38:35Z","stringField":"nYevQFj","stringTimeField":"23:25:50.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3675,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3675,"uuid":"9e0a89f1-5655-11ee-a401-675ed0f8e89b"},"arrayField":["KmUF","YwEvnNnKM"],"boolField":false,"intField":-541,"numField":735.6575573372411,"objField":{"CnBKUlH":-1660432956868129570,"JExoqVEI":-8918103846230767338,"OyAmgQqo":-6105923458566837414,"eNHvuaVsdJ":-4832063935943965519,"fXBvz":1766282279278133694,"hhoeSg":-2719134177593260261,"iSMX":-2195045689700536160,"uFbaLfb":-34961905467247018,"uUxt":-8290911175469376114},"stringDateField":"1944-08-06","stringDateTimeField":"1989-06-08T03:22:50Z","stringField":"BYPk","stringTimeField":"23:52:45.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":-541,"numField":735.6575573372411,"stringDateField":"1944-08-06","stringDateTimeField":"1989-06-08T03:22:50Z","stringField":"BYPk","stringTimeField":"23:52:45.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3676,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3676,"uuid":"9e0a89f1-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nQzO","HwbjGCqkiN","warIh"],"boolField":true,"intField":167,"numField":102.02799869073309,"objField":{"GirfVPFFXp":-8219266098507880596,"MIga":-4470213447191611067,"Pkhr":4680291571814132153,"TzeBN":-6785466942572362163,"dndln":664177289235049967,"fHodEQdTJh":-3463706080297505080,"irna":8514856011188356780,"jYEM":5098086149422369661,"yPNCud":1748322015695057508},"stringDateField":"1989-07-07","stringDateTimeField":"1997-09-01T01:06:23Z","stringField":"NBADSAa","stringTimeField":"07:46:38.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":167,"numField":102.02799869073309,"stringDateField":"1989-07-07","stringDateTimeField":"1997-09-01T01:06:23Z","stringField":"NBADSAa","stringTimeField":"07:46:38.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3677,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3677,"uuid":"9e0a89f1-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["rYrXwmYSjT","JEjI","YmvBFkX","ZIELrF","qpHjW","vfoljfExsZ","ehbi","vGyGPbDsN"],"boolField":true,"intField":-102,"numField":-238.7042989169863,"objField":{"IQpTpvQ":1685292892953615397,"byLcKxkLv":-8094205790045544945,"fKdY":-367591743919651853},"stringDateField":"1907-03-15","stringDateTimeField":"2011-04-27T10:37:26Z","stringField":"mDNjH","stringTimeField":"07:12:44.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":-102,"numField":-238.7042989169863,"stringDateField":"1907-03-15","stringDateTimeField":"2011-04-27T10:37:26Z","stringField":"mDNjH","stringTimeField":"07:12:44.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3678,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3678,"uuid":"9e0a89f1-5655-11ee-b001-675ed0f8e89b"},"arrayField":["LwJVJtyH","xsZYQhWrBm","PsyjFYTk","RwiEaleD","QAkoMjiNlO","yvHkHhfp","RyQer","dCBSy","axUO"],"boolField":true,"intField":-132,"numField":-352.0857862211491,"objField":{"ACcqyJn":-6897485806747630087,"MQkNvgw":-234807858821369824,"NgMCIixdm":1350305788572325590,"PITJeepW":-7885810350107157577,"dQBGf":-5345989542569975129,"iQGDfgGXi":-4180577057377582833,"nJtlissNIC":2209783424853531953,"xwmj":8994230035176232453},"stringDateField":"1947-01-16","stringDateTimeField":"1996-06-01T23:08:31Z","stringField":"ZsETNQ","stringTimeField":"05:18:53.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":-132,"numField":-352.0857862211491,"stringDateField":"1947-01-16","stringDateTimeField":"1996-06-01T23:08:31Z","stringField":"ZsETNQ","stringTimeField":"05:18:53.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3679,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3679,"uuid":"9e0a89f1-5655-11ee-b401-675ed0f8e89b"},"arrayField":["HiGRrFOJg","FGQOrqY","nsgV","QwiAFlXw","bjuV","cqnI"],"boolField":true,"intField":485,"numField":-655.4430289180127,"objField":{"CdSWfqgbJ":7680647596203137162,"IWxD":748707774273477444,"NXiXy":3403351688854869490,"OQYd":2593556623136873367,"XoTYiL":-4604276267589292714,"bZmB":-3243473168026421954,"gqFVEiAay":-1093210380916892270,"xEsZqNkx":4157389065153644970},"stringDateField":"1959-10-09","stringDateTimeField":"2021-11-08T09:40:17Z","stringField":"KapAvqTIky","stringTimeField":"09:29:01.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":485,"numField":-655.4430289180127,"stringDateField":"1959-10-09","stringDateTimeField":"2021-11-08T09:40:17Z","stringField":"KapAvqTIky","stringTimeField":"09:29:01.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3680,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3680,"uuid":"9e0a89f1-5655-11ee-b801-675ed0f8e89b"},"arrayField":["vsPfAbxCyD","wBDXjB","ebJwhPHP","uSWT","UaJTG","PfDUnF","GJfMWnVkzw"],"boolField":false,"intField":-255,"numField":-353.29183537557105,"objField":{"HzdIUM":7895207725974900346,"bKCNQ":-5442338275845539340,"cSUE":2962756397564622740,"cgyhB":5779573315797184815,"kPPFYmya":-2698384016892324040,"mLxYmg":-8544333735704490674,"xfKgjFCH":-7248331069839324040,"xmVbKV":-8338848775101383823,"yCkJO":-4025759668266068035},"stringDateField":"1915-08-06","stringDateTimeField":"1999-10-18T11:07:56Z","stringField":"SjZMuxQ","stringTimeField":"00:41:29.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":-255,"numField":-353.29183537557105,"stringDateField":"1915-08-06","stringDateTimeField":"1999-10-18T11:07:56Z","stringField":"SjZMuxQ","stringTimeField":"00:41:29.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3681,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3681,"uuid":"9e0a89f1-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["qzsbQj","NOrgpVMAZK","fddoHqnSZi","OaTTob","dIyG","FNUlP","mXGcp"],"boolField":true,"intField":428,"numField":-895.4783259801669,"objField":{"DrcslczR":1013067993023059169,"EEfYtrI":-7863525472442828849,"GaYtrIGwo":-9155600048384447115,"HdSxNx":-4256113482789732208,"IbgCkynG":-2439190405397599597,"Rghagial":8903875059838869191,"UMgtb":-3191782056449594297,"YTYwuG":9116470254122193296},"stringDateField":"1930-08-10","stringDateTimeField":"1910-08-10T11:17:27Z","stringField":"eWlIAm","stringTimeField":"02:39:31.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763761Z","intField":428,"numField":-895.4783259801669,"stringDateField":"1930-08-10","stringDateTimeField":"1910-08-10T11:17:27Z","stringField":"eWlIAm","stringTimeField":"02:39:31.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3682,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3682,"uuid":"9e0a89f2-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ZCnKBFcNsL","vEjhFs","ZSsXj","IAMtSeRn","zwKW","FDppRSB"],"boolField":true,"intField":-589,"numField":867.0429920954327,"objField":{"LpIGhVk":-36183826793099351,"TpuxBCETwq":1056292069375212481,"YVXjGjbd":8298372361439798337},"stringDateField":"1942-02-25","stringDateTimeField":"1994-12-20T13:34:50Z","stringField":"FMQdtXorbj","stringTimeField":"07:50:36.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-589,"numField":867.0429920954327,"stringDateField":"1942-02-25","stringDateTimeField":"1994-12-20T13:34:50Z","stringField":"FMQdtXorbj","stringTimeField":"07:50:36.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3683,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3683,"uuid":"9e0a89f2-5655-11ee-8401-675ed0f8e89b"},"arrayField":["KeMbnje","VLIjoYbA","cdtfPdGzJ","utLWrrNpZ","YqCrpBWade"],"boolField":false,"intField":-963,"numField":-360.0926491154091,"objField":{"BzRJg":-889740643641628204,"GUzWFLUqn":-5006571077015279392,"IllltJMsmV":1940367451340587270,"exUTWrtYvj":-5030285274602490929,"fYSlRwKTx":-6321515100890879554,"qrypuRIM":8351846469711319123,"utziBlOTW":8085581921203137436},"stringDateField":"1991-04-17","stringDateTimeField":"1937-09-23T11:53:19Z","stringField":"HhlQHiIv","stringTimeField":"13:09:14.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-963,"numField":-360.0926491154091,"stringDateField":"1991-04-17","stringDateTimeField":"1937-09-23T11:53:19Z","stringField":"HhlQHiIv","stringTimeField":"13:09:14.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3684,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3684,"uuid":"9e0a89f2-5655-11ee-8801-675ed0f8e89b"},"arrayField":["SXDAcIFiy","ZsBwMKlm","peqjRZ","JnRViyRsF","ljogtW","xRXwHJGr","icJQh"],"boolField":true,"intField":552,"numField":247.07041538032735,"objField":{"EicZ":2832042772734429924,"bfvKMKy":-7680535120719126714,"olvjTqWAI":5157814914154994356},"stringDateField":"1909-04-19","stringDateTimeField":"1955-11-11T16:03:21Z","stringField":"AnqJpOoRF","stringTimeField":"07:13:00.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":552,"numField":247.07041538032735,"stringDateField":"1909-04-19","stringDateTimeField":"1955-11-11T16:03:21Z","stringField":"AnqJpOoRF","stringTimeField":"07:13:00.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3685,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3685,"uuid":"9e0a89f2-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["etLYaQPSGV","HOeo","mcSHRyw","wKsYTSTZm"],"boolField":true,"intField":-890,"numField":740.3273734348442,"objField":{"BWcBGwWT":-3427837658900779446,"PWfidqMf":-4410724573727347169,"PtdxORGo":-7102196562945305346,"QSFNcqaUz":-4522915925608871429,"RrYVYviO":-6209368408753794765,"axxShy":-294478521722032620,"gUwMYEJbMx":-4209093784480307312,"oQFwbrUWx":7523526855901588764,"yPWVqGIELJ":1786897689929240338,"yeiWdym":6868370889667988650},"stringDateField":"2011-09-04","stringDateTimeField":"1921-02-10T19:36:27Z","stringField":"cLhYzqwoo","stringTimeField":"14:43:20.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-890,"numField":740.3273734348442,"stringDateField":"2011-09-04","stringDateTimeField":"1921-02-10T19:36:27Z","stringField":"cLhYzqwoo","stringTimeField":"14:43:20.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3686,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3686,"uuid":"9e0a89f2-5655-11ee-9001-675ed0f8e89b"},"arrayField":["wtsgbFnEfN","tnTQDeDF","EeUCuDpU","ZtmGavm","npVmfu"],"boolField":true,"intField":959,"numField":992.523510858136,"objField":{"RMWBM":6412064503559750303,"lXhFrHzjg":5382602382013906431,"lyAQu":7180404786300663753},"stringDateField":"1946-12-25","stringDateTimeField":"2010-11-01T09:51:21Z","stringField":"DRdlStBBQd","stringTimeField":"03:42:56.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":959,"numField":992.523510858136,"stringDateField":"1946-12-25","stringDateTimeField":"2010-11-01T09:51:21Z","stringField":"DRdlStBBQd","stringTimeField":"03:42:56.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3687,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3687,"uuid":"9e0a89f2-5655-11ee-9401-675ed0f8e89b"},"arrayField":["cCfRFST","rEDbSK","GgKDkvFLdn","pkCUMa","mlwWaNaxUu","ThQgyw","GTOdvsh","rqbeQpcBc","zSjaoOYEC"],"boolField":false,"intField":-469,"numField":900.3909342741472,"objField":{"PikLW":7921550227439712138,"TENma":639329258176403263,"TVIh":7229985617709690104,"aLaszKGaee":-8184203995742788115,"eyaOAfKPPj":7437071533988899936,"iGrTB":-485477049343861566},"stringDateField":"1973-08-02","stringDateTimeField":"1987-07-05T16:48:04Z","stringField":"CbxNGJowZ","stringTimeField":"12:15:12.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-469,"numField":900.3909342741472,"stringDateField":"1973-08-02","stringDateTimeField":"1987-07-05T16:48:04Z","stringField":"CbxNGJowZ","stringTimeField":"12:15:12.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3688,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3688,"uuid":"9e0a89f2-5655-11ee-9801-675ed0f8e89b"},"arrayField":["iolEfeAJ","NUUQcB","wQFhX","icBbZnXqRT","HAXgnp","NvyQc"],"boolField":true,"intField":-478,"numField":-382.8506163295892,"objField":{"RGCMVe":-7502230080626269728,"jpkCG":176551172274004187,"qkOaIhS":-2071269385801686311},"stringDateField":"2000-02-04","stringDateTimeField":"1910-12-26T09:04:56Z","stringField":"cJQJrizx","stringTimeField":"13:10:22.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-478,"numField":-382.8506163295892,"stringDateField":"2000-02-04","stringDateTimeField":"1910-12-26T09:04:56Z","stringField":"cJQJrizx","stringTimeField":"13:10:22.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3689,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3689,"uuid":"9e0a89f2-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["NtYUD","PjCHJY","ZBLqbaqO","czZW","DqYFvoOMqc","KTEPreWD","LQYjerCWKd","uHBCVi","NKpWF"],"boolField":false,"intField":-339,"numField":-285.06870036895515,"objField":{"BWGjtDcO":-701779080081441597,"KjUWUAKlQP":2012381819637999039,"OPplheBv":6951851804923851688,"WciRdoIubF":5061466378593072005,"mgnROcHP":-5685609912838605477,"otmmQ":-2887622870890234991,"vlBsExjlhp":5445532401415849471,"yqJEFOFvDQ":5506231539481341266},"stringDateField":"1947-01-29","stringDateTimeField":"1951-08-02T09:50:42Z","stringField":"jdWgMDuBeR","stringTimeField":"21:39:04.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-339,"numField":-285.06870036895515,"stringDateField":"1947-01-29","stringDateTimeField":"1951-08-02T09:50:42Z","stringField":"jdWgMDuBeR","stringTimeField":"21:39:04.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3690,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3690,"uuid":"9e0a89f2-5655-11ee-a001-675ed0f8e89b"},"arrayField":["OMNpafBZV","rRhk"],"boolField":true,"intField":-582,"numField":-735.8596578008326,"objField":{"IiHvoe":-263318825329590950,"WeAHq":6719329787916874289,"wpJtuhVGp":4906195947994482213},"stringDateField":"2012-06-20","stringDateTimeField":"1975-10-08T14:51:42Z","stringField":"UIPoy","stringTimeField":"16:19:40.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-582,"numField":-735.8596578008326,"stringDateField":"2012-06-20","stringDateTimeField":"1975-10-08T14:51:42Z","stringField":"UIPoy","stringTimeField":"16:19:40.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3691,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3691,"uuid":"9e0a89f2-5655-11ee-a401-675ed0f8e89b"},"arrayField":["lRDNjQXS","xFvIdHY","qHZDN","TISIUehv","FfUuPDrz"],"boolField":true,"intField":-270,"numField":138.38369880882007,"objField":{"GvMMy":7092058323360228081,"LtmFVoRMT":-5721443097471297078,"WdemVxQagt":3603382429471493797,"Xhngf":-1609191277524355189,"kGOjycYr":-2248293612713831728,"qtMCgk":-6931970685204377894,"rJjZm":-2242492296549393553},"stringDateField":"1950-11-14","stringDateTimeField":"1951-07-12T19:52:45Z","stringField":"vCAEUbT","stringTimeField":"01:55:32.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-270,"numField":138.38369880882007,"stringDateField":"1950-11-14","stringDateTimeField":"1951-07-12T19:52:45Z","stringField":"vCAEUbT","stringTimeField":"01:55:32.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3692,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3692,"uuid":"9e0a89f2-5655-11ee-a801-675ed0f8e89b"},"arrayField":["QKveVnmosQ","jZpBhlWtey","cvlAHzZzu","syNeVLHZ","iJPAQXDCc","HMerZCllM"],"boolField":true,"intField":-117,"numField":-144.41178974537817,"objField":{"EWVRqCNk":-4384020080289643336,"IVmPQfbO":4410590051692612754,"MScYdc":6539756044713619595,"gTzAJW":8116473436602102493,"gVaFil":-477080191366975564,"kyHa":6235925555499485337,"rGjeUDVCo":7656140192619286644,"ssYIEDQ":-3099687003585443841},"stringDateField":"1996-03-02","stringDateTimeField":"1900-04-22T11:43:38Z","stringField":"idgeoK","stringTimeField":"17:12:02.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-117,"numField":-144.41178974537817,"stringDateField":"1996-03-02","stringDateTimeField":"1900-04-22T11:43:38Z","stringField":"idgeoK","stringTimeField":"17:12:02.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3693,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3693,"uuid":"9e0a89f2-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["aEMfQg","WyjjQBKHl","mNqlIqNRsa","LpblrEBf","zTKgFffu","dQRdScQY","NSTLwLPu","LSDYI","amFs","QWKcp"],"boolField":true,"intField":550,"numField":-70.52325533077098,"objField":{"Crgint":3872812073473130817,"JQkqGdMyBi":5061592511343146196,"MGMmO":7246714072523323172,"PORQkgd":-5381585393939896366,"XzGTI":-8850289311155582363,"adMNrTiMz":-4966595602204460225,"cVORPoP":-1960008961433729028},"stringDateField":"2009-10-07","stringDateTimeField":"1901-08-21T19:29:38Z","stringField":"EqOxIa","stringTimeField":"00:18:27.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":550,"numField":-70.52325533077098,"stringDateField":"2009-10-07","stringDateTimeField":"1901-08-21T19:29:38Z","stringField":"EqOxIa","stringTimeField":"00:18:27.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3694,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3694,"uuid":"9e0a89f2-5655-11ee-b001-675ed0f8e89b"},"arrayField":["MSZQ","ydogZmN","QoSEge","rHcn","yTmZHpe","pkjhGUWuXF","ArfxLD","nQRmxu"],"boolField":true,"intField":-997,"numField":-46.03215909623304,"objField":{"KvLUKhy":6834160096581910901},"stringDateField":"1900-08-20","stringDateTimeField":"1900-02-03T20:49:24Z","stringField":"GoizxpWGL","stringTimeField":"03:49:01.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-997,"numField":-46.03215909623304,"stringDateField":"1900-08-20","stringDateTimeField":"1900-02-03T20:49:24Z","stringField":"GoizxpWGL","stringTimeField":"03:49:01.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3695,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3695,"uuid":"9e0a89f2-5655-11ee-b401-675ed0f8e89b"},"arrayField":["pMIhLodq","HSnVXb","pbNHAFYsw","kLNMM","QTAlPradBx","rIEirYWjAx","ikMbhS"],"boolField":false,"intField":-985,"numField":892.5425414449728,"objField":{"LyxbvpiIEr":6856073751948922879,"OeFClw":8806638126101048782,"RqaM":7807319061370142078,"oXujmhe":-1845461070559767952,"uNPJu":-2395270385373321485},"stringDateField":"1900-02-19","stringDateTimeField":"1941-07-26T14:52:06Z","stringField":"JqrDXrR","stringTimeField":"20:21:42.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-985,"numField":892.5425414449728,"stringDateField":"1900-02-19","stringDateTimeField":"1941-07-26T14:52:06Z","stringField":"JqrDXrR","stringTimeField":"20:21:42.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3696,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3696,"uuid":"9e0a89f2-5655-11ee-b801-675ed0f8e89b"},"arrayField":["GsQULvVAgR","ZKjw","cHeUAn"],"boolField":true,"intField":-23,"numField":-860.0822048384714,"objField":{"vSdvmt":-5290900151336585022},"stringDateField":"1930-01-12","stringDateTimeField":"1928-07-20T09:52:08Z","stringField":"wUPhti","stringTimeField":"15:23:28.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-23,"numField":-860.0822048384714,"stringDateField":"1930-01-12","stringDateTimeField":"1928-07-20T09:52:08Z","stringField":"wUPhti","stringTimeField":"15:23:28.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3697,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3697,"uuid":"9e0a89f2-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["TiWECW"],"boolField":true,"intField":-363,"numField":-569.2470916512173,"objField":{"NzQPYqQJj":5024963839483900664,"uchNhrBDM":8249329660195743101},"stringDateField":"1999-03-07","stringDateTimeField":"1908-10-26T01:13:19Z","stringField":"wBBeAU","stringTimeField":"08:20:02.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763762Z","intField":-363,"numField":-569.2470916512173,"stringDateField":"1999-03-07","stringDateTimeField":"1908-10-26T01:13:19Z","stringField":"wBBeAU","stringTimeField":"08:20:02.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3698,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3698,"uuid":"9e0a89f3-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wRcButNK","QjRnU","NqXbvF"],"boolField":true,"intField":692,"numField":343.931229697771,"objField":{"CeWp":8412365686752757039,"MdAVlAmuM":1377338418433225550,"VBopAXXzk":-7832652106219157559,"aNdvPgU":5423493506105932448,"eLdzwjaPVn":-8177769169226529522,"ueOs":1350750838902194464,"wzrkAU":-1859185259766732279,"xEMaNDqB":-7073026404591069180,"xuSUJiofg":-6288290022584917459,"zIEokLbd":-7454274875937577282},"stringDateField":"1966-07-28","stringDateTimeField":"1914-04-03T14:51:09Z","stringField":"UNhpc","stringTimeField":"13:50:30.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":692,"numField":343.931229697771,"stringDateField":"1966-07-28","stringDateTimeField":"1914-04-03T14:51:09Z","stringField":"UNhpc","stringTimeField":"13:50:30.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3699,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3699,"uuid":"9e0a89f3-5655-11ee-8401-675ed0f8e89b"},"arrayField":["yhlwXumy","zTcFKCC","fvWe","zpNQHLlmu","IWNhQywkR","pYtTqAiR"],"boolField":false,"intField":245,"numField":882.2163241307302,"objField":{"KXwxkvL":6236414098420933661,"LwFfxdZJQ":-3746633952621923204,"MILhh":-3376007529736313496,"PGIp":-6978161816155811223,"PKQqXxOz":5694408537063988025,"RXfpxlNsA":-2138944793089273812,"YMGyQlFQQ":6479800028103545130,"YbFzVHX":6016154209363701118,"vewsZ":5605840792384022624},"stringDateField":"1995-10-03","stringDateTimeField":"1900-08-11T12:44:14Z","stringField":"CSKQDkFbbf","stringTimeField":"14:39:51.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":245,"numField":882.2163241307302,"stringDateField":"1995-10-03","stringDateTimeField":"1900-08-11T12:44:14Z","stringField":"CSKQDkFbbf","stringTimeField":"14:39:51.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3700,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3700,"uuid":"9e0a89f3-5655-11ee-8801-675ed0f8e89b"},"arrayField":["XDiwV","BrYhV","NzpKgW","XNagTU","tWXuNVcih","higXjpI","wprLZmJ","eRRvcZv","XZoC","LCHWPKWCKN"],"boolField":false,"intField":991,"numField":-566.0988368966713,"objField":{"ExEUGSjC":1287975463421949907,"HGNEC":-680718945351540142,"IhpePQl":-5207633793973125,"RyXO":7619932135614214606,"XJtHWioD":5964969068917372414},"stringDateField":"1962-10-20","stringDateTimeField":"1923-11-20T09:00:46Z","stringField":"AWTLfccgXI","stringTimeField":"04:51:21.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":991,"numField":-566.0988368966713,"stringDateField":"1962-10-20","stringDateTimeField":"1923-11-20T09:00:46Z","stringField":"AWTLfccgXI","stringTimeField":"04:51:21.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3701,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3701,"uuid":"9e0a89f3-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["eOWW","XUBPHLY","aUbi","LFvAjmpU","evDRAefn","GAxfrD"],"boolField":true,"intField":-717,"numField":430.1110138155115,"objField":{"Eftzyzw":5217256318375906951,"GeSGNCdzsa":-6548586929457011549,"HNIXeV":-8848368838118475604,"JJJio":6580176490348495360,"KaPUFb":-1495715538880285993,"QTedAnhsl":5630357526233712750,"TkStPWv":-213268617040018801,"sFCUVy":7982474476258745268,"wBDAFUEOQ":-4247404189512362523,"wcVOIXw":3816418367968665972},"stringDateField":"1976-10-28","stringDateTimeField":"2004-09-08T18:25:46Z","stringField":"WhswHnhtnl","stringTimeField":"11:44:03.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":-717,"numField":430.1110138155115,"stringDateField":"1976-10-28","stringDateTimeField":"2004-09-08T18:25:46Z","stringField":"WhswHnhtnl","stringTimeField":"11:44:03.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3702,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3702,"uuid":"9e0a89f3-5655-11ee-9001-675ed0f8e89b"},"arrayField":["vQCypX","huNaz","kcZQ","mvKEjKOddD","YMYwt","jLiSWE"],"boolField":false,"intField":-477,"numField":-505.6773648184028,"objField":{"UdKRZ":9175899755104801742},"stringDateField":"2014-07-30","stringDateTimeField":"1946-07-16T17:10:19Z","stringField":"tcAwW","stringTimeField":"02:16:27.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":-477,"numField":-505.6773648184028,"stringDateField":"2014-07-30","stringDateTimeField":"1946-07-16T17:10:19Z","stringField":"tcAwW","stringTimeField":"02:16:27.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3703,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3703,"uuid":"9e0a89f3-5655-11ee-9401-675ed0f8e89b"},"arrayField":["YworGGnpW","IxtjQp","OaxVomnN","TWcau","aDvlVJ","qvmsvCo"],"boolField":false,"intField":987,"numField":-709.7167930283582,"objField":{"HgWnHihfxm":-2394504371945625374,"JvtRBLhkOM":8868851270535101233,"XxXEhuqCf":-6980091025708254231,"aUvQZgE":1334154679058692814,"gXRlfLgzOV":6945961924646025721,"sEbALaoEL":1067631480373475128},"stringDateField":"1965-08-11","stringDateTimeField":"1997-12-21T08:05:40Z","stringField":"QlTLEeGyxh","stringTimeField":"12:20:09.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":987,"numField":-709.7167930283582,"stringDateField":"1965-08-11","stringDateTimeField":"1997-12-21T08:05:40Z","stringField":"QlTLEeGyxh","stringTimeField":"12:20:09.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3704,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3704,"uuid":"9e0a89f3-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ebYmMkXUl","swJdmtgFVm","WJaT","ByXsgvziv","efdqjFW","WSTVfzZjGS"],"boolField":false,"intField":-334,"numField":-584.5149895410831,"objField":{"LRyvVW":6118791219798747937},"stringDateField":"1944-05-06","stringDateTimeField":"2006-12-23T06:35:27Z","stringField":"bscaiaXx","stringTimeField":"10:10:33.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":-334,"numField":-584.5149895410831,"stringDateField":"1944-05-06","stringDateTimeField":"2006-12-23T06:35:27Z","stringField":"bscaiaXx","stringTimeField":"10:10:33.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3705,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3705,"uuid":"9e0a89f3-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["emIVUPZ","dGxZzKIl"],"boolField":false,"intField":248,"numField":-425.37656317729886,"objField":{"TlWxFY":-3574404867207344513,"YdkDHUBwlm":4173922777449680774,"cXTjhHECu":-6839231315208587124,"cvUtWnsnm":-763067744611274366,"nMWgVTzbQH":-8108769601589601652,"qbxKwh":-579625366325919013,"wzkoR":-3656210248622017025},"stringDateField":"1940-12-30","stringDateTimeField":"1916-10-04T05:33:26Z","stringField":"pmedCMn","stringTimeField":"18:35:08.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":248,"numField":-425.37656317729886,"stringDateField":"1940-12-30","stringDateTimeField":"1916-10-04T05:33:26Z","stringField":"pmedCMn","stringTimeField":"18:35:08.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3706,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3706,"uuid":"9e0a89f3-5655-11ee-a001-675ed0f8e89b"},"arrayField":["euBibUxlz","JvMPUVbfi","PhMR","lfjGWplX","kNbKSTfBA","aELgkYgGHb","EhvqMusRvc","vfZNNVm","PfKdAnKK"],"boolField":false,"intField":424,"numField":-593.2688994867531,"objField":{"dTTNdog":-7836629107135109979},"stringDateField":"1994-07-29","stringDateTimeField":"1936-06-05T08:42:54Z","stringField":"TxvMvMRkLm","stringTimeField":"17:07:01.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":424,"numField":-593.2688994867531,"stringDateField":"1994-07-29","stringDateTimeField":"1936-06-05T08:42:54Z","stringField":"TxvMvMRkLm","stringTimeField":"17:07:01.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3707,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3707,"uuid":"9e0a89f3-5655-11ee-a401-675ed0f8e89b"},"arrayField":["qKCD","ujnC","oeZIQUcuFw","TDAknfc","XiboMWGHOl","yYbRqV","dbbZd","IdkeFSAXbJ","bflOTs"],"boolField":false,"intField":286,"numField":198.35353102645416,"objField":{"CQpETc":-5873870140827732504,"HSGKOyCUms":4925651747906227667,"ZJef":3098874814372620388,"cCxgSiXen":-6750623560765896183,"skMNAt":8415480738840042443,"smgej":5767447219263203717,"wPMJiJz":5930088743799884116},"stringDateField":"1952-09-01","stringDateTimeField":"1944-12-11T21:32:18Z","stringField":"TOBPPjQ","stringTimeField":"05:26:32.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":286,"numField":198.35353102645416,"stringDateField":"1952-09-01","stringDateTimeField":"1944-12-11T21:32:18Z","stringField":"TOBPPjQ","stringTimeField":"05:26:32.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3708,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3708,"uuid":"9e0a89f3-5655-11ee-a801-675ed0f8e89b"},"arrayField":["SysyKkzyo","tidV","nVvJI","nqwopT","jZKCUj","ccwyljepyE","ApZWHf","Rwbzg"],"boolField":true,"intField":913,"numField":-285.27128527472934,"objField":{"CuFbzZglEx":6817477397960414078,"DRZJFKux":5925894375563668777,"ZuRXxdlQ":8170474295911510997,"cUSRWxu":-4009241531910734091,"iNJmhskf":-4726022563431583221,"lGeqg":1684542497557854465,"mdleal":-4106114417877531007},"stringDateField":"1976-04-04","stringDateTimeField":"1954-07-07T03:14:28Z","stringField":"ZiOo","stringTimeField":"20:19:00.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":913,"numField":-285.27128527472934,"stringDateField":"1976-04-04","stringDateTimeField":"1954-07-07T03:14:28Z","stringField":"ZiOo","stringTimeField":"20:19:00.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3709,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3709,"uuid":"9e0a89f3-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["hWGiWf","caOib","GbeQbNvbmb","XZhEeAbJK","FMRPyivG","BFrt","VedIy","bfADFLE","diYDZV"],"boolField":true,"intField":393,"numField":870.5053303403001,"objField":{"NFUgiyDIu":8747440191066663930,"OfQvGnJxzh":5995220551765820617,"QeuWs":2916991999994979746,"YvkUeYdzNE":7219535273659154738,"ehBenDco":-1792053961325996627,"jjQTtEqQ":5928853240450631946,"kdSLvAQQ":7260910013178872030,"lajp":6360292678458287622},"stringDateField":"2000-04-08","stringDateTimeField":"1901-01-09T20:37:00Z","stringField":"gooaEUJGJf","stringTimeField":"22:13:01.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":393,"numField":870.5053303403001,"stringDateField":"2000-04-08","stringDateTimeField":"1901-01-09T20:37:00Z","stringField":"gooaEUJGJf","stringTimeField":"22:13:01.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3710,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3710,"uuid":"9e0a89f3-5655-11ee-b001-675ed0f8e89b"},"arrayField":["cydCwb","iSScEuuwD","WWpocN","YTlFWORA","EocEpyUQT","vSsEZ"],"boolField":false,"intField":-886,"numField":-577.2195029109514,"objField":{"XNfJFcX":7609400377162351207,"fxPmKZ":35906894306035468,"hndXM":-3935697377943160543,"kPoqdjKqfA":-6954905813864762046},"stringDateField":"1947-07-02","stringDateTimeField":"2006-10-11T05:48:54Z","stringField":"FdXwbi","stringTimeField":"15:47:11.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":-886,"numField":-577.2195029109514,"stringDateField":"1947-07-02","stringDateTimeField":"2006-10-11T05:48:54Z","stringField":"FdXwbi","stringTimeField":"15:47:11.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3711,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3711,"uuid":"9e0a89f3-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ujYiGI","qOGEznNCVz"],"boolField":true,"intField":529,"numField":706.8905707825799,"objField":{"DQkPdpVy":6828076900630223465,"IHmTS":-9007890853496755141,"KyOT":-8156518991944958022},"stringDateField":"1958-09-16","stringDateTimeField":"1982-08-12T22:07:54Z","stringField":"vJfrcWkTx","stringTimeField":"14:29:14.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":529,"numField":706.8905707825799,"stringDateField":"1958-09-16","stringDateTimeField":"1982-08-12T22:07:54Z","stringField":"vJfrcWkTx","stringTimeField":"14:29:14.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3712,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3712,"uuid":"9e0a89f3-5655-11ee-b801-675ed0f8e89b"},"arrayField":["lNDxRVkVgN"],"boolField":false,"intField":-316,"numField":-265.94532291331416,"objField":{"BJln":-5124290218941595959,"BWbnRR":-9144879205860852334,"Djbl":1324818009717394102,"JXqXpiA":-5270457500445464507,"KmgtZZLsQZ":-425404655003720933,"QSjaSFvd":-3807909295808224919,"YkxC":-2409003984485379464,"qZdbYKG":-295896710200366955,"qnOQCjabc":-1865815119467328180},"stringDateField":"1915-10-08","stringDateTimeField":"1995-09-19T01:12:59Z","stringField":"rQKrIjgB","stringTimeField":"14:24:49.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":-316,"numField":-265.94532291331416,"stringDateField":"1915-10-08","stringDateTimeField":"1995-09-19T01:12:59Z","stringField":"rQKrIjgB","stringTimeField":"14:24:49.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3713,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3713,"uuid":"9e0a89f3-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["LBnbwGi","kTiJPq","hXGbKEX","kWKfZY","nKTuxDP","ovtuOwj","fGFTXHI","DjKwiAA"],"boolField":false,"intField":-5,"numField":480.8168378124993,"objField":{"DoidImun":-2828472425244052617,"dPtbQizsp":-2756726893614791918,"gaLs":8771867341854866550,"ihawqrJC":7747781480891877540,"mtdTNpzWYi":-2263860303333360447,"ocnHWlkA":-264665239959098527,"rSQwcfQuOb":-4387136636519920694,"ucQqxksw":-7567048217982970401,"zBSHc":3512218915160629477,"zTVeH":-5625575143656018392},"stringDateField":"1941-01-31","stringDateTimeField":"1990-01-22T01:14:15Z","stringField":"LJBlBAG","stringTimeField":"09:14:04.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763763Z","intField":-5,"numField":480.8168378124993,"stringDateField":"1941-01-31","stringDateTimeField":"1990-01-22T01:14:15Z","stringField":"LJBlBAG","stringTimeField":"09:14:04.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3714,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3714,"uuid":"9e0a89f4-5655-11ee-8001-675ed0f8e89b"},"arrayField":["UwVi","ekLOItAE","CpnDMbN","wAnrfYJF","TWhMVjQa","OAGAwoSGQ","lPfb"],"boolField":true,"intField":-953,"numField":-622.4273908552174,"objField":{"IkzOsRHxC":7370384236889711982,"VKHVAHGu":-4693559678853757064,"eOsg":3346206625490151505,"iOguIWf":-282403978620000204,"kMMCw":1647966690445840897,"pMyzkK":-7970858947083299620,"toqc":-4090256588861956605},"stringDateField":"2017-06-15","stringDateTimeField":"2013-06-08T22:34:57Z","stringField":"XNclmIVx","stringTimeField":"01:59:13.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":-953,"numField":-622.4273908552174,"stringDateField":"2017-06-15","stringDateTimeField":"2013-06-08T22:34:57Z","stringField":"XNclmIVx","stringTimeField":"01:59:13.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3715,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3715,"uuid":"9e0a89f4-5655-11ee-8401-675ed0f8e89b"},"arrayField":["iyDLsM","hJjcpYiyna","KHRwxL","WjCxghlrnS","DxTEDc","GQQFnldjAq","gEfdSa","kNVHhK"],"boolField":true,"intField":-938,"numField":368.8190086292611,"objField":{"GLapKwbOa":5657619980094111702,"KNCPqaLb":-8846374634175675246,"UxuEP":1474310665097887468,"XEZd":-205077981198129393,"lXFy":3747515049480551347},"stringDateField":"1902-05-24","stringDateTimeField":"1932-03-31T20:56:44Z","stringField":"KaoLPC","stringTimeField":"10:32:44.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":-938,"numField":368.8190086292611,"stringDateField":"1902-05-24","stringDateTimeField":"1932-03-31T20:56:44Z","stringField":"KaoLPC","stringTimeField":"10:32:44.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3716,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3716,"uuid":"9e0a89f4-5655-11ee-8801-675ed0f8e89b"},"arrayField":["KbJOopS","MGMZZtz","RyXZjtjW","TTBNJ","EIxotFLknO","ReTEWFHNw","xZED"],"boolField":false,"intField":-180,"numField":-569.6664387230248,"objField":{"AlxSFYJki":8889515930383441056,"FfQZ":-6283186276394119133,"JYjKYLeC":-4805401202944684546,"MiTdm":19448206018224802},"stringDateField":"1953-10-30","stringDateTimeField":"1903-09-17T06:54:55Z","stringField":"PcVXxTV","stringTimeField":"00:07:29.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":-180,"numField":-569.6664387230248,"stringDateField":"1953-10-30","stringDateTimeField":"1903-09-17T06:54:55Z","stringField":"PcVXxTV","stringTimeField":"00:07:29.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3717,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3717,"uuid":"9e0a89f4-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["tltxwPXpJr","VNVvmJQQT","kzxyf","zPktTwGkz","LQqaAawjo","TqnVlkQ","WckVHRS"],"boolField":true,"intField":529,"numField":392.7895983033087,"objField":{"AuCnaQB":4668684940867367641},"stringDateField":"1931-11-14","stringDateTimeField":"2000-02-05T09:58:53Z","stringField":"tISKQwFVA","stringTimeField":"18:54:03.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":529,"numField":392.7895983033087,"stringDateField":"1931-11-14","stringDateTimeField":"2000-02-05T09:58:53Z","stringField":"tISKQwFVA","stringTimeField":"18:54:03.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3718,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3718,"uuid":"9e0a89f4-5655-11ee-9001-675ed0f8e89b"},"arrayField":["RdwNdV","gJYoQKimFi","dPfHmuoLFX","mdCmtPU","dALuwoCRRQ","kNOtpDfw"],"boolField":false,"intField":-875,"numField":601.8120354967953,"objField":{"OChGUPG":-6527277949054521848,"RlLtZ":-8425388508760055788,"TsNYY":-7478686160468812026,"qCau":-2436217459198411992,"qhbcTmKWF":1936222843680190253,"wSANdJ":1095698686147694630,"xusL":1414130708793710148,"zUCn":80910994235554410},"stringDateField":"1953-08-29","stringDateTimeField":"1980-02-02T09:45:00Z","stringField":"uWOnEcUrY","stringTimeField":"02:02:00.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":-875,"numField":601.8120354967953,"stringDateField":"1953-08-29","stringDateTimeField":"1980-02-02T09:45:00Z","stringField":"uWOnEcUrY","stringTimeField":"02:02:00.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3719,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3719,"uuid":"9e0a89f4-5655-11ee-9401-675ed0f8e89b"},"arrayField":["eFnIkT","RyLKGZypHO","Ghdj","NDLkMUWuMb","rceMLVZB","jduuTNI","YncW","xCMVIt","gKBxdbH","TLWVfWPKHD"],"boolField":true,"intField":-365,"numField":-819.924561412559,"objField":{"ANTu":-6296281854165985742,"JLXSpUNtOG":39824150698957350,"MBvwWsFXM":2383316609994036765},"stringDateField":"2004-06-05","stringDateTimeField":"1911-05-11T07:41:34Z","stringField":"jmHoSphgF","stringTimeField":"00:18:41.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":-365,"numField":-819.924561412559,"stringDateField":"2004-06-05","stringDateTimeField":"1911-05-11T07:41:34Z","stringField":"jmHoSphgF","stringTimeField":"00:18:41.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3720,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3720,"uuid":"9e0a89f4-5655-11ee-9801-675ed0f8e89b"},"arrayField":["eoIWAhBi","gBStYgpaat"],"boolField":false,"intField":265,"numField":-218.705518366608,"objField":{"FyBaABlfR":-8193185849868321080,"WdKSyNqcm":-5499076224736371303},"stringDateField":"1909-01-07","stringDateTimeField":"1993-03-09T00:50:48Z","stringField":"YXRZ","stringTimeField":"01:57:38.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":265,"numField":-218.705518366608,"stringDateField":"1909-01-07","stringDateTimeField":"1993-03-09T00:50:48Z","stringField":"YXRZ","stringTimeField":"01:57:38.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3721,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3721,"uuid":"9e0a89f4-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["qSesOxFN"],"boolField":true,"intField":-429,"numField":703.2846382599969,"objField":{"AZqOZVDu":-2675184842154490730,"RGjORwcTS":2635837263911621872,"ieOVCX":-721760043441604320,"oRWOu":6360311384871133841},"stringDateField":"1991-12-29","stringDateTimeField":"1950-02-28T12:05:37Z","stringField":"ZxGIuh","stringTimeField":"14:17:02.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":-429,"numField":703.2846382599969,"stringDateField":"1991-12-29","stringDateTimeField":"1950-02-28T12:05:37Z","stringField":"ZxGIuh","stringTimeField":"14:17:02.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3722,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3722,"uuid":"9e0a89f4-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ggifHRolm","PgItjT","QhBm","bbEM","HEiReDIoHR","WqPcx","lUcDOFmmD"],"boolField":true,"intField":996,"numField":-356.5589917974875,"objField":{"SEcbjkHJp":-6271134444327691756,"XhMWlkSDa":-3670863091631239425,"cMan":8892726935996608540,"tHrC":1846235126991184762},"stringDateField":"1961-01-21","stringDateTimeField":"1928-04-01T09:34:16Z","stringField":"RAFI","stringTimeField":"06:05:42.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":996,"numField":-356.5589917974875,"stringDateField":"1961-01-21","stringDateTimeField":"1928-04-01T09:34:16Z","stringField":"RAFI","stringTimeField":"06:05:42.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3723,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3723,"uuid":"9e0a89f4-5655-11ee-a401-675ed0f8e89b"},"arrayField":["oVoKRzpq","HRBWO","TqINFSt"],"boolField":true,"intField":736,"numField":56.71461775892328,"objField":{"AcJxzY":-6922467032186154550,"fZriS":-5129246441933671686,"tVfOl":-438766394938346282,"zxoQDLhWoF":3635786911847114609},"stringDateField":"1907-12-28","stringDateTimeField":"2012-12-05T05:16:06Z","stringField":"VmhM","stringTimeField":"16:12:05.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":736,"numField":56.71461775892328,"stringDateField":"1907-12-28","stringDateTimeField":"2012-12-05T05:16:06Z","stringField":"VmhM","stringTimeField":"16:12:05.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3724,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3724,"uuid":"9e0a89f4-5655-11ee-a801-675ed0f8e89b"},"arrayField":["mzNoyC","LtFjv","sKrtYhplkc","PSmfIlCl","IJNJnUB"],"boolField":true,"intField":197,"numField":510.89195329726,"objField":{"GcFaeEnT":6573459819263695121,"LBLtZMZ":6306005324563445747,"oesFXEKgi":6953955950803109167},"stringDateField":"1902-11-10","stringDateTimeField":"1929-06-23T13:32:13Z","stringField":"VoyQ","stringTimeField":"20:15:35.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":197,"numField":510.89195329726,"stringDateField":"1902-11-10","stringDateTimeField":"1929-06-23T13:32:13Z","stringField":"VoyQ","stringTimeField":"20:15:35.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3725,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3725,"uuid":"9e0a89f4-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["XWvDHv","uPddbpb"],"boolField":false,"intField":-668,"numField":709.2400096952003,"objField":{"EkgCTUlyd":2956333183928057229,"Sebete":-7691144331768138217},"stringDateField":"1995-04-15","stringDateTimeField":"1951-06-13T08:36:01Z","stringField":"DdtyVFelDS","stringTimeField":"03:00:00.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":-668,"numField":709.2400096952003,"stringDateField":"1995-04-15","stringDateTimeField":"1951-06-13T08:36:01Z","stringField":"DdtyVFelDS","stringTimeField":"03:00:00.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3726,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3726,"uuid":"9e0a89f4-5655-11ee-b001-675ed0f8e89b"},"arrayField":["oiAKSLLr"],"boolField":false,"intField":797,"numField":-243.7983488158808,"objField":{"AySs":7503793493853696317,"DSmbU":-8250053256848913091,"ITPfb":-4405813280607711264,"SkRkfMqOKv":8403042885980778033,"cpuf":1582223445484361975,"foAGH":8101146330957023790,"ijlRZgboj":-7272235997880552720,"jqLY":7264116986886492979,"zemGaOvfmv":3197656804266768238},"stringDateField":"1984-11-18","stringDateTimeField":"1906-10-13T04:45:38Z","stringField":"tMPpb","stringTimeField":"00:18:36.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":797,"numField":-243.7983488158808,"stringDateField":"1984-11-18","stringDateTimeField":"1906-10-13T04:45:38Z","stringField":"tMPpb","stringTimeField":"00:18:36.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3727,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3727,"uuid":"9e0a89f4-5655-11ee-b401-675ed0f8e89b"},"arrayField":["lzvVI","Hmmkg","gVPl","bLjJreIz","rOcfMSJ","YlEvdIIl"],"boolField":true,"intField":99,"numField":435.8096368767719,"objField":{"GVLPR":-61818577330821116,"HfABFJRy":3060892589426001960,"IyjPpram":-5302126084166040174,"Rkzlov":-7250411887455990884,"UHkE":156382318730464659,"aWFzJx":3416041526116226032},"stringDateField":"1979-11-10","stringDateTimeField":"1986-09-21T23:40:25Z","stringField":"OQGTac","stringTimeField":"05:42:45.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":99,"numField":435.8096368767719,"stringDateField":"1979-11-10","stringDateTimeField":"1986-09-21T23:40:25Z","stringField":"OQGTac","stringTimeField":"05:42:45.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3728,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3728,"uuid":"9e0a89f4-5655-11ee-b801-675ed0f8e89b"},"arrayField":["DFpYIaSr","OMFZPtkWA","ApUSdD","SyEypSgm","nzAFqoVpV"],"boolField":false,"intField":-668,"numField":981.096073723939,"objField":{"vwFKnh":-2657923163262005580},"stringDateField":"1941-09-22","stringDateTimeField":"2013-03-31T22:08:29Z","stringField":"AOtoJQztZ","stringTimeField":"06:24:02.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":-668,"numField":981.096073723939,"stringDateField":"1941-09-22","stringDateTimeField":"2013-03-31T22:08:29Z","stringField":"AOtoJQztZ","stringTimeField":"06:24:02.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3729,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3729,"uuid":"9e0a89f4-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["glNSlYNoF","GUfTZ","mbFzdNmoPM","PesbP","qlpCMIt","tLof","dMTHfEnwg","rbtSrYy"],"boolField":false,"intField":650,"numField":259.5987149911685,"objField":{"AOukUbKs":-3595443095529707611,"fhgRIe":8400966271799239182},"stringDateField":"1975-01-18","stringDateTimeField":"1936-12-21T05:40:01Z","stringField":"VMHhKtnDU","stringTimeField":"03:00:29.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763764Z","intField":650,"numField":259.5987149911685,"stringDateField":"1975-01-18","stringDateTimeField":"1936-12-21T05:40:01Z","stringField":"VMHhKtnDU","stringTimeField":"03:00:29.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3730,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3730,"uuid":"9e0a89f5-5655-11ee-8001-675ed0f8e89b"},"arrayField":["WNto","gIEhPAM"],"boolField":false,"intField":954,"numField":-893.9232332927667,"objField":{"KqSJaUX":-489354514439392507,"NalnScXJy":172891488630788587,"SfeICIA":-5300306314349462611,"VzTEJl":3788355821236857688,"kktDVBg":1352788332005107428,"pxZgBgN":-5771146968977951442},"stringDateField":"1956-12-08","stringDateTimeField":"1921-11-06T07:47:50Z","stringField":"aazLHm","stringTimeField":"20:55:45.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":954,"numField":-893.9232332927667,"stringDateField":"1956-12-08","stringDateTimeField":"1921-11-06T07:47:50Z","stringField":"aazLHm","stringTimeField":"20:55:45.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3731,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3731,"uuid":"9e0a89f5-5655-11ee-8401-675ed0f8e89b"},"arrayField":["zOyHWWEKB","YnsDAo","MOvnqiAM","BUlIoUEIU"],"boolField":false,"intField":-348,"numField":-724.9556321328098,"objField":{"QqxgNOzgL":518708287201972109,"RmKo":-6726503359258974786,"giTjta":4343406874354692525,"oczFR":-77793955747151175,"wMRmYRmC":3240707964691929101},"stringDateField":"1935-12-01","stringDateTimeField":"1905-12-05T19:51:01Z","stringField":"dDnRGVxtYf","stringTimeField":"04:20:51.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":-348,"numField":-724.9556321328098,"stringDateField":"1935-12-01","stringDateTimeField":"1905-12-05T19:51:01Z","stringField":"dDnRGVxtYf","stringTimeField":"04:20:51.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3732,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3732,"uuid":"9e0a89f5-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bYXOFYS","rluLJpaDc","oifr","yFyXUpJZ","EWoEp","pCIZMRsvV","stYrj"],"boolField":false,"intField":-106,"numField":-718.5227374032257,"objField":{"OuthKXungy":1590630090413127190,"ccWFBaHP":2800667472647173829,"dAgHyreg":-1925547187789257196,"lOwPbAT":9143381218879396756},"stringDateField":"1984-02-24","stringDateTimeField":"2001-06-11T15:28:18Z","stringField":"lorJLgmPMW","stringTimeField":"01:02:33.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":-106,"numField":-718.5227374032257,"stringDateField":"1984-02-24","stringDateTimeField":"2001-06-11T15:28:18Z","stringField":"lorJLgmPMW","stringTimeField":"01:02:33.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3733,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3733,"uuid":"9e0a89f5-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["VAPB","oAPDdh","tfqg","NOcUV"],"boolField":false,"intField":-359,"numField":303.62663890455275,"objField":{"BHfjA":-8500169212542594405,"WXuQhiasO":6694023936182412499,"jmAlxhV":7406631481714889280,"qMQs":8421768574163950989,"trTt":1064765031955593911},"stringDateField":"1988-11-10","stringDateTimeField":"1955-04-02T07:57:21Z","stringField":"BcfPcaxn","stringTimeField":"04:50:22.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":-359,"numField":303.62663890455275,"stringDateField":"1988-11-10","stringDateTimeField":"1955-04-02T07:57:21Z","stringField":"BcfPcaxn","stringTimeField":"04:50:22.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3734,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3734,"uuid":"9e0a89f5-5655-11ee-9001-675ed0f8e89b"},"arrayField":["NUIsMDK","nphwYObEJq","muRlHI","xnraUsYA","GPldVqC","yUSZcuhMI","UwBeWq"],"boolField":true,"intField":25,"numField":-713.5860929646566,"objField":{"DKJzOZZu":-2375603494627701882,"FxPuRhIL":8382489781711125144,"zMNOuwiAgF":-389653266906609502},"stringDateField":"1928-05-16","stringDateTimeField":"1989-05-03T15:21:25Z","stringField":"bteDLFru","stringTimeField":"00:30:34.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":25,"numField":-713.5860929646566,"stringDateField":"1928-05-16","stringDateTimeField":"1989-05-03T15:21:25Z","stringField":"bteDLFru","stringTimeField":"00:30:34.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3735,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3735,"uuid":"9e0a89f5-5655-11ee-9401-675ed0f8e89b"},"arrayField":["PpeJDSHH","BDQoXChQo","nNrIvyLuI","uCdCwgl","pmSCcwndq","fcVtdFU","SyyBJd","nqPzCHoZP","fqyQcMhBW"],"boolField":false,"intField":-958,"numField":-388.8764295691368,"objField":{"FWhGX":-8367155727106079822,"GdTzpJw":4061031062699075994,"QbvVKMvvLP":-5124352534335440444,"uFjMjOZsyW":159845147161311910},"stringDateField":"1920-03-09","stringDateTimeField":"1992-12-10T02:57:23Z","stringField":"bBNyxRV","stringTimeField":"08:41:49.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":-958,"numField":-388.8764295691368,"stringDateField":"1920-03-09","stringDateTimeField":"1992-12-10T02:57:23Z","stringField":"bBNyxRV","stringTimeField":"08:41:49.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3736,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3736,"uuid":"9e0a89f5-5655-11ee-9801-675ed0f8e89b"},"arrayField":["VoeHZTEgQX","TYlEz","tjaxUKnsi","vZTqnQ","orRbuwqoS","OvqAsqZHe","jrvJycjJLQ","qEVuCQcoqd","QhJACsCo","lvMrJseNd"],"boolField":false,"intField":262,"numField":-751.0979984232252,"objField":{"BrbDREqXS":5737057598087780146,"WABhwCbUg":658111124351017473,"Yyhyxkk":2288010024484303718,"bwYDZwWGb":-7475480685140847229,"gWnJQL":-8250989113552106706,"iovIcCM":4471025621580345659,"vIKpVK":-1623719368283164141},"stringDateField":"1966-11-29","stringDateTimeField":"2019-07-06T11:58:58Z","stringField":"AxopwqhdvF","stringTimeField":"09:11:50.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":262,"numField":-751.0979984232252,"stringDateField":"1966-11-29","stringDateTimeField":"2019-07-06T11:58:58Z","stringField":"AxopwqhdvF","stringTimeField":"09:11:50.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3737,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3737,"uuid":"9e0a89f5-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ivlfcDUmrQ","HzOGvBRnQV","HFXjgJwQax","TBvTGw"],"boolField":false,"intField":-603,"numField":-585.5071440909255,"objField":{"SzDjHBcyIL":-6883082493973338020,"VMAw":4473833466888455843,"VNlJkywy":4466231043512045195,"XMNtdTUpM":-328773670877718018,"tRbZEoT":5526775396603700262},"stringDateField":"1950-01-14","stringDateTimeField":"1982-03-13T00:05:25Z","stringField":"BQkDGT","stringTimeField":"03:10:27.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":-603,"numField":-585.5071440909255,"stringDateField":"1950-01-14","stringDateTimeField":"1982-03-13T00:05:25Z","stringField":"BQkDGT","stringTimeField":"03:10:27.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3738,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3738,"uuid":"9e0a89f5-5655-11ee-a001-675ed0f8e89b"},"arrayField":["kXGZjLnyY","xFFmV","ldcONG","LYsslDXf","NMnpK","NOkMhCYFB","aLOwLanBAk","yamWnlnhe","gcYOnwizXp"],"boolField":false,"intField":366,"numField":-482.4661992386802,"objField":{"CjCTS":4667950742844881378,"DHGU":933927206053842374,"ViGTqLTpW":-4195160866527148108},"stringDateField":"2012-02-29","stringDateTimeField":"1996-01-10T21:41:41Z","stringField":"HKpP","stringTimeField":"14:58:56.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":366,"numField":-482.4661992386802,"stringDateField":"2012-02-29","stringDateTimeField":"1996-01-10T21:41:41Z","stringField":"HKpP","stringTimeField":"14:58:56.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3739,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3739,"uuid":"9e0a89f5-5655-11ee-a401-675ed0f8e89b"},"arrayField":["cLlIsCxVc","dXNuphyv","HWafCqwpX","gAdwil","NGnzwztT","koypODk","FTYBFrDL","rejlhf"],"boolField":false,"intField":-285,"numField":697.9785113248809,"objField":{"CNMiSVNev":981454678236308828,"YUqVSfYHz":4734594830702521776,"ZKEbgTQs":-8954040718127109031,"bDbV":414545344150280407,"djcNsPqbg":6573883855586919025,"skbLZBt":7905997988654929028,"xoQd":6460174895348269932,"zZRMJSdtEp":-5361758624800017974,"zfeyt":1314124379350702061},"stringDateField":"1982-07-18","stringDateTimeField":"1909-04-06T20:58:17Z","stringField":"bZYczmZ","stringTimeField":"06:58:12.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":-285,"numField":697.9785113248809,"stringDateField":"1982-07-18","stringDateTimeField":"1909-04-06T20:58:17Z","stringField":"bZYczmZ","stringTimeField":"06:58:12.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3740,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3740,"uuid":"9e0a89f5-5655-11ee-a801-675ed0f8e89b"},"arrayField":["KbuUbowe","ghhf"],"boolField":true,"intField":-595,"numField":-720.9830390040328,"objField":{"CROJNudP":-2527832907213833976,"NxisAwA":7291752597415391696,"PJbQ":-6985290081336055068,"aKzORViC":6483330405283412028,"nJkrjT":2195140759645609029,"ozAimJ":-8893752489586172394},"stringDateField":"1997-07-19","stringDateTimeField":"1909-07-06T10:44:54Z","stringField":"XYqgIUxTtd","stringTimeField":"20:40:38.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":-595,"numField":-720.9830390040328,"stringDateField":"1997-07-19","stringDateTimeField":"1909-07-06T10:44:54Z","stringField":"XYqgIUxTtd","stringTimeField":"20:40:38.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3741,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3741,"uuid":"9e0a89f5-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["CVYt"],"boolField":true,"intField":-609,"numField":533.7025103639132,"objField":{"YbaFqVH":-8292203026377632866,"llRNqnT":-585188285569202244,"oLaNMMWAub":-3338493797218693370,"wwLq":-3113919383427405220},"stringDateField":"2003-12-16","stringDateTimeField":"1927-04-18T21:49:23Z","stringField":"iRpzoFP","stringTimeField":"13:46:44.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":-609,"numField":533.7025103639132,"stringDateField":"2003-12-16","stringDateTimeField":"1927-04-18T21:49:23Z","stringField":"iRpzoFP","stringTimeField":"13:46:44.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3742,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3742,"uuid":"9e0a89f5-5655-11ee-b001-675ed0f8e89b"},"arrayField":["yMoEEGcKpH","Hueo","LBoQAxgsb","xttIZxzdFc","AURRRh","YIeXLlqX","UIXUSc","pCDzehCc","NQrDnikcs"],"boolField":false,"intField":915,"numField":179.72602071587974,"objField":{"CHQXKNtBbs":-6149973438282258787,"DEtKzroQO":757998913574602359,"VtrNAmUlET":-8546807939798920003,"lXuuYTS":2153873746445988719},"stringDateField":"1957-04-14","stringDateTimeField":"1965-03-22T21:07:39Z","stringField":"hVYDKTKBMa","stringTimeField":"04:36:41.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":915,"numField":179.72602071587974,"stringDateField":"1957-04-14","stringDateTimeField":"1965-03-22T21:07:39Z","stringField":"hVYDKTKBMa","stringTimeField":"04:36:41.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3743,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3743,"uuid":"9e0a89f5-5655-11ee-b401-675ed0f8e89b"},"arrayField":["GoFbtGTySC","gUbpwNnm","YLpINcSwq","BrIRmJlY","hkILdLo","xlnzNMDNka","WMfmevYIIA"],"boolField":true,"intField":67,"numField":974.345061036392,"objField":{"BiKNd":1725984297059392802,"Bzxj":-6287320307750877003,"POzXWSsPBp":-541564145419225016,"UFaRP":4120471198442144640,"WktqgYy":-1683807025251612465,"bHzwlPx":-4351108933642065559,"crTAqkVPC":4486211707075169302},"stringDateField":"2022-09-03","stringDateTimeField":"1902-01-06T17:46:49Z","stringField":"jDxPDYT","stringTimeField":"10:35:23.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":67,"numField":974.345061036392,"stringDateField":"2022-09-03","stringDateTimeField":"1902-01-06T17:46:49Z","stringField":"jDxPDYT","stringTimeField":"10:35:23.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3744,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3744,"uuid":"9e0a89f5-5655-11ee-b801-675ed0f8e89b"},"arrayField":["qMkOaDDwv","JSuXXx","NacE","qFBLHGX"],"boolField":false,"intField":-590,"numField":610.609403701758,"objField":{"DPCog":7497448489951626149,"eGJFvvyor":8696770251902763406,"iXiwlEJy":4809056549183531374,"uwmBKthfGs":-7107741994656903631},"stringDateField":"1968-09-17","stringDateTimeField":"1926-07-23T23:43:20Z","stringField":"ZCMbTrP","stringTimeField":"08:15:40.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":-590,"numField":610.609403701758,"stringDateField":"1968-09-17","stringDateTimeField":"1926-07-23T23:43:20Z","stringField":"ZCMbTrP","stringTimeField":"08:15:40.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3745,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3745,"uuid":"9e0a89f5-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["BPhuVIEmw","SpksHFi","pVcOHL","EHHEss","ZGSgcmDQe","xWwZWy","aEuxKcCabh"],"boolField":false,"intField":-546,"numField":-887.4305743591425,"objField":{"BhOZWk":-6696943017541509130,"EzeSL":7847585292255745394,"JNCUjCR":-2908996245208744258,"LTsHdlc":-9144000805341010761,"QuTFlZ":-1617735446456243039,"gZdNIcSZzJ":-1927454586184584051,"glIkAShXk":260898187488215863,"ntUBXQM":-994786214087963625,"rbMWDa":7133699629163518086,"wRhUatjZeV":-2230982094019638282},"stringDateField":"1977-10-26","stringDateTimeField":"2014-12-01T01:06:39Z","stringField":"rtqA","stringTimeField":"13:51:43.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763765Z","intField":-546,"numField":-887.4305743591425,"stringDateField":"1977-10-26","stringDateTimeField":"2014-12-01T01:06:39Z","stringField":"rtqA","stringTimeField":"13:51:43.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3746,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3746,"uuid":"9e0a89f6-5655-11ee-8001-675ed0f8e89b"},"arrayField":["usVEc","CbrhzOCRTA","QOnuTcPbBN","wviY","HQSFS","ciJwAx"],"boolField":false,"intField":-757,"numField":-944.6155055220504,"objField":{"CbTwd":-1812735395605697767,"WeQWcfJJIS":6908945519120196066,"cZLxwj":6789958373608775247,"dEGrCqc":2460731040073560918,"dMYT":4365206921223219697,"lxDnk":-1667392399104924208,"mYGqe":7063092699125722776,"qYxUpmEGlP":7614411019115677028},"stringDateField":"1988-08-01","stringDateTimeField":"1975-07-24T20:05:52Z","stringField":"xrrLeND","stringTimeField":"15:44:37.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":-757,"numField":-944.6155055220504,"stringDateField":"1988-08-01","stringDateTimeField":"1975-07-24T20:05:52Z","stringField":"xrrLeND","stringTimeField":"15:44:37.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3747,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3747,"uuid":"9e0a89f6-5655-11ee-8401-675ed0f8e89b"},"arrayField":["XpclzzO","RZTPPag","NFXoD","CJcp","FvCuVGThr"],"boolField":true,"intField":-573,"numField":-683.3075033785992,"objField":{"SYyVuPGHpL":-5522133121039203912,"ZZnl":6658116925165950027,"apGm":3960207847993808522,"ayDMvrsEVQ":-8570072256228369765,"lSrvCWD":-2907021604360270559,"oouMPJBxK":-2449704902741452222,"sqLpNw":4672482100319516319,"tUjMupsF":3074182292587071670,"uUhnfyD":-8056278524962946938,"upqtBhwwLb":-6643002894864973135},"stringDateField":"1919-12-22","stringDateTimeField":"1952-03-04T18:39:14Z","stringField":"tGqb","stringTimeField":"18:29:02.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":-573,"numField":-683.3075033785992,"stringDateField":"1919-12-22","stringDateTimeField":"1952-03-04T18:39:14Z","stringField":"tGqb","stringTimeField":"18:29:02.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3748,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3748,"uuid":"9e0a89f6-5655-11ee-8801-675ed0f8e89b"},"arrayField":["OfSsMKrs","gISPq","jxDyqwoW","huERZXv","GuGeZn","OwOEipqeJ","DUyQa","CsYvdlRN"],"boolField":true,"intField":-542,"numField":-470.9992099991347,"objField":{"SHsd":3038423628925549539,"eCkBkDkAF":618030205496006104,"gXKtSiiIXY":3325342026020694565,"rFJtG":3246652315558750051,"rcmHB":770889827093772529,"sDymNTUfz":-3103464912702302853},"stringDateField":"1969-04-29","stringDateTimeField":"1999-12-06T21:41:10Z","stringField":"zuUdyBDtkB","stringTimeField":"02:43:06.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":-542,"numField":-470.9992099991347,"stringDateField":"1969-04-29","stringDateTimeField":"1999-12-06T21:41:10Z","stringField":"zuUdyBDtkB","stringTimeField":"02:43:06.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3749,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3749,"uuid":"9e0a89f6-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["oJEqOOtC","FwAnq","SBMaMza","dqPT","XKdciAmb","DwHdn","ubSwctzv","Dpbf"],"boolField":true,"intField":-89,"numField":-101.1217808747994,"objField":{"BnclKeEcU":5888483331838637533,"qpGGnZ":-6052231036519296595,"tSlYtkCwad":-681990117709287583},"stringDateField":"1976-09-24","stringDateTimeField":"1997-06-03T11:57:08Z","stringField":"AULvYeYyX","stringTimeField":"08:49:51.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":-89,"numField":-101.1217808747994,"stringDateField":"1976-09-24","stringDateTimeField":"1997-06-03T11:57:08Z","stringField":"AULvYeYyX","stringTimeField":"08:49:51.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3750,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3750,"uuid":"9e0a89f6-5655-11ee-9001-675ed0f8e89b"},"arrayField":["IBxmxCPg","VvShXXmSGG","wQfq","MSofu","SQMzIZsOFP","SvndccTmKD"],"boolField":true,"intField":-662,"numField":141.3688337089043,"objField":{"CGNerEASX":6849128107880547255,"CiITITA":915937405417725864,"JQRUczlIs":-2682718425116776774,"LVykS":4968541203353107097,"QpNvM":-705835376030280632,"UXpLxPq":8384798600274630247,"bjtwCW":5681519122095887303,"hxxoNKjEL":-1077432235355066303,"tcgSv":7428205636120894547,"vDmyS":2633580006393166077},"stringDateField":"1964-01-27","stringDateTimeField":"1967-03-07T11:50:53Z","stringField":"hYtYrg","stringTimeField":"11:19:12.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":-662,"numField":141.3688337089043,"stringDateField":"1964-01-27","stringDateTimeField":"1967-03-07T11:50:53Z","stringField":"hYtYrg","stringTimeField":"11:19:12.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3751,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3751,"uuid":"9e0a89f6-5655-11ee-9401-675ed0f8e89b"},"arrayField":["imyzCEMR"],"boolField":true,"intField":-760,"numField":-495.54285973864376,"objField":{"BXwcGpzJ":2179209575295411147,"RXEfIvK":-6378864034780010180,"kEOd":-3667484405279679129,"qrmkIWNDj":-3908033873132734061},"stringDateField":"1983-02-13","stringDateTimeField":"1950-01-14T01:09:43Z","stringField":"SkkMhgYrJ","stringTimeField":"05:34:10.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":-760,"numField":-495.54285973864376,"stringDateField":"1983-02-13","stringDateTimeField":"1950-01-14T01:09:43Z","stringField":"SkkMhgYrJ","stringTimeField":"05:34:10.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3752,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3752,"uuid":"9e0a89f6-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gfhkDiTUtz","ANLJ","hfMFBIka","TBApCBpN","XTCGAKrf"],"boolField":true,"intField":-728,"numField":839.1416539270841,"objField":{"UEzsV":-1911828598023004245},"stringDateField":"1954-03-14","stringDateTimeField":"1917-12-01T10:59:31Z","stringField":"FQiR","stringTimeField":"00:36:33.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":-728,"numField":839.1416539270841,"stringDateField":"1954-03-14","stringDateTimeField":"1917-12-01T10:59:31Z","stringField":"FQiR","stringTimeField":"00:36:33.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3753,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3753,"uuid":"9e0a89f6-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["VGqFW","HiGLBlfvmJ","vaORySOEZ"],"boolField":false,"intField":306,"numField":25.53773118304692,"objField":{"FHshBuDSP":-1652395047975876699,"iBsFgAAM":-5046624715380804069,"kPjSdcNyR":7310209074941486115,"yeTsXLiQt":8350494177606537284},"stringDateField":"1989-02-12","stringDateTimeField":"1954-07-17T22:38:16Z","stringField":"dPbuRIdv","stringTimeField":"09:51:24.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":306,"numField":25.53773118304692,"stringDateField":"1989-02-12","stringDateTimeField":"1954-07-17T22:38:16Z","stringField":"dPbuRIdv","stringTimeField":"09:51:24.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3754,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3754,"uuid":"9e0a89f6-5655-11ee-a001-675ed0f8e89b"},"arrayField":["qyhKqCKTRJ","AYSihirFGk","ctOUTmeLHH","iMcGmMfL","uNtQN","qPwud","TwRccYh","OAgQ"],"boolField":true,"intField":366,"numField":257.293969312693,"objField":{"EBzsBZa":6081990205010825961,"SRObFau":6642719127977390926,"haARnnQwd":-4945677681398328068,"pMUDq":-6583837284852688094,"sFUBodHG":6026893430280396373,"xHiHIz":-9178605465090390004},"stringDateField":"1976-06-24","stringDateTimeField":"1930-10-20T09:32:00Z","stringField":"XSKA","stringTimeField":"13:02:46.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":366,"numField":257.293969312693,"stringDateField":"1976-06-24","stringDateTimeField":"1930-10-20T09:32:00Z","stringField":"XSKA","stringTimeField":"13:02:46.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3755,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3755,"uuid":"9e0a89f6-5655-11ee-a401-675ed0f8e89b"},"arrayField":["aYiprk"],"boolField":true,"intField":238,"numField":904.3858511593072,"objField":{"ipCDswUrsx":-2292186006142325113,"znaAlabt":-2734265036655571187},"stringDateField":"1961-07-19","stringDateTimeField":"1926-02-02T12:49:23Z","stringField":"DyXF","stringTimeField":"23:34:19.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":238,"numField":904.3858511593072,"stringDateField":"1961-07-19","stringDateTimeField":"1926-02-02T12:49:23Z","stringField":"DyXF","stringTimeField":"23:34:19.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3756,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3756,"uuid":"9e0a89f6-5655-11ee-a801-675ed0f8e89b"},"arrayField":["peqwpieqih","bMmtQL","wyqiJrTFX","oCVGIr","KAqfUxX"],"boolField":false,"intField":380,"numField":379.4860024161589,"objField":{"MMNEqtWdFP":-1844035635642425644,"RbEiAI":-1353057488654848508,"XxaUEwp":8313680809921123000,"bbXe":7028297882943530343,"kGOpLt":7489738395120761012,"kgzolgtfs":-1884318004807822864,"nLGl":8263691125060460197,"vOujeRFs":-7594130112596545048},"stringDateField":"2012-07-13","stringDateTimeField":"1970-03-31T02:05:01Z","stringField":"Gxsv","stringTimeField":"16:00:49.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":380,"numField":379.4860024161589,"stringDateField":"2012-07-13","stringDateTimeField":"1970-03-31T02:05:01Z","stringField":"Gxsv","stringTimeField":"16:00:49.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3757,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3757,"uuid":"9e0a89f6-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["Zdbl","AVBrmarz","uhRBINFSLg","hWwiHno"],"boolField":true,"intField":-989,"numField":-122.00306963425666,"objField":{"BAUHteJAgF":4807320242676668125,"OEhOo":483503559168412011,"PFmudxn":1915545413260127118,"QyMHPR":3493551875364008197,"bkYCBiUtR":7462207225251623413,"fMKDfHX":-5824332049466234479,"npeOTx":-1509818357646440657,"xcajPBe":2442045542982368629,"xzDYQ":680084975706725755},"stringDateField":"1911-11-06","stringDateTimeField":"1988-05-20T23:22:08Z","stringField":"GJbJWDwurC","stringTimeField":"00:00:01.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":-989,"numField":-122.00306963425666,"stringDateField":"1911-11-06","stringDateTimeField":"1988-05-20T23:22:08Z","stringField":"GJbJWDwurC","stringTimeField":"00:00:01.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3758,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3758,"uuid":"9e0a89f6-5655-11ee-b001-675ed0f8e89b"},"arrayField":["aIFyMuyNL","GuCXrBS","IOuxd","ZMjpV","lpUgoHpT","inMEslBM","VLPm","deIgnID","ZtaNJsEs"],"boolField":true,"intField":-226,"numField":93.37151231979048,"objField":{"GkWOJDSNX":4673353974244388755,"MJTUKGPZro":3285104181993958633,"QXlYEhE":-3878846231768883085,"dcpS":-1698053159479850776,"eqiW":5356086577456200110,"jVQItkxOw":5301794691869079807,"jiEZCu":6067752653026800064,"tjslYjwJ":-7891315824506768513,"yvkEks":-2821061057260505783,"zdfI":7288570433403955003},"stringDateField":"1946-03-25","stringDateTimeField":"1929-07-27T05:57:16Z","stringField":"yRWe","stringTimeField":"18:00:11.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":-226,"numField":93.37151231979048,"stringDateField":"1946-03-25","stringDateTimeField":"1929-07-27T05:57:16Z","stringField":"yRWe","stringTimeField":"18:00:11.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3759,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3759,"uuid":"9e0a89f6-5655-11ee-b401-675ed0f8e89b"},"arrayField":["zocQsLVI","CyHceEcubn","nNlNwRIAQA"],"boolField":true,"intField":-964,"numField":-479.7481344384439,"objField":{"JkBgqFAV":-4268589891179129915,"NXHdFIcn":1596765131835914381,"OqqI":-4423002538253316990,"elkvuIAh":-8438650792797837051,"gwHuJz":-667413621390843654,"ofEMAWQGm":-3258567908181888269,"uWxOHMTjs":5607211266293198084},"stringDateField":"1994-04-03","stringDateTimeField":"1943-11-20T22:29:14Z","stringField":"JJaumcmq","stringTimeField":"23:03:35.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":-964,"numField":-479.7481344384439,"stringDateField":"1994-04-03","stringDateTimeField":"1943-11-20T22:29:14Z","stringField":"JJaumcmq","stringTimeField":"23:03:35.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3760,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3760,"uuid":"9e0a89f6-5655-11ee-b801-675ed0f8e89b"},"arrayField":["oUbx","YAezjlcnHg","HGQwpwgC","WYQL"],"boolField":true,"intField":522,"numField":-697.9885369131606,"objField":{"JImtQsWQO":-3388380879293408472,"TBIjSA":-8374716915710142858,"phsr":1712180237552641021},"stringDateField":"2010-04-22","stringDateTimeField":"1987-06-09T13:52:09Z","stringField":"lnGhJz","stringTimeField":"12:35:07.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":522,"numField":-697.9885369131606,"stringDateField":"2010-04-22","stringDateTimeField":"1987-06-09T13:52:09Z","stringField":"lnGhJz","stringTimeField":"12:35:07.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3761,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3761,"uuid":"9e0a89f6-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ZDGrKb","KUCBYgoic","jhRk"],"boolField":true,"intField":-745,"numField":565.0943773519961,"objField":{"DYJB":-8919577188674540731,"EHpCLfc":-4160207875472049397,"IClO":-874019243469762742,"JpIkCveL":-7684036807677280556,"SCMY":4517690822618007177,"ZNUkSZmQ":-6209246461631845981,"fcmwg":7358551127068740986,"gmrXD":3556887516806048779,"nyWxRl":5942743348535340463},"stringDateField":"2022-12-04","stringDateTimeField":"1905-01-21T01:24:01Z","stringField":"kHRGyJat","stringTimeField":"09:49:04.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763766Z","intField":-745,"numField":565.0943773519961,"stringDateField":"2022-12-04","stringDateTimeField":"1905-01-21T01:24:01Z","stringField":"kHRGyJat","stringTimeField":"09:49:04.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3762,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3762,"uuid":"9e0a89f7-5655-11ee-8001-675ed0f8e89b"},"arrayField":["EidNKa","KQYLEJXP","NuFdgGSmq","kbYFsHd","zTYpwFMDL","dvLfRLoUZ","XFbDRwcxID"],"boolField":false,"intField":-844,"numField":530.6847528198462,"objField":{"bcuCKd":8834128912869003234,"cIRqEX":-4918933596787798281},"stringDateField":"1966-06-29","stringDateTimeField":"1938-05-03T00:54:38Z","stringField":"CWIOwY","stringTimeField":"10:53:10.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":-844,"numField":530.6847528198462,"stringDateField":"1966-06-29","stringDateTimeField":"1938-05-03T00:54:38Z","stringField":"CWIOwY","stringTimeField":"10:53:10.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3763,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3763,"uuid":"9e0a89f7-5655-11ee-8401-675ed0f8e89b"},"arrayField":["LvmJVZreQx","PwgNjbtM","fwsjgjiLdq"],"boolField":false,"intField":-655,"numField":173.109696006841,"objField":{"mHRP":-8551192680920109816,"zwhDQZYaC":8358480809900515569},"stringDateField":"1903-10-01","stringDateTimeField":"1981-04-29T06:39:34Z","stringField":"pqhq","stringTimeField":"19:15:59.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":-655,"numField":173.109696006841,"stringDateField":"1903-10-01","stringDateTimeField":"1981-04-29T06:39:34Z","stringField":"pqhq","stringTimeField":"19:15:59.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3764,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3764,"uuid":"9e0a89f7-5655-11ee-8801-675ed0f8e89b"},"arrayField":["GggaeO","pHMpMV","xYjvSQ"],"boolField":false,"intField":146,"numField":75.03325547229123,"objField":{"BpacpY":8635133886849455120,"HVxyO":-7405104072644439712,"XIInAj":-1849152897226879924,"gOtLdd":2367580697611018090,"hrrLYteZAX":521443664343212365,"kPUgUtZv":-7179289988072343001,"nahgZNNw":-819426770500160591,"uhWoVFtoJ":1503399976225529116,"ykWX":-8363951638045060758},"stringDateField":"1937-05-31","stringDateTimeField":"2005-07-27T18:54:07Z","stringField":"YQufcXVY","stringTimeField":"15:27:47.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":146,"numField":75.03325547229123,"stringDateField":"1937-05-31","stringDateTimeField":"2005-07-27T18:54:07Z","stringField":"YQufcXVY","stringTimeField":"15:27:47.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3765,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3765,"uuid":"9e0a89f7-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["NVLU","RPmychRsMK"],"boolField":true,"intField":47,"numField":-322.9879722516581,"objField":{"jSxPgpvVt":-2905428239353227937,"mlmJM":-8859316098101940063,"mwjTZfGttT":-8716588755757114357,"uJFTkCVC":3511180562961251881,"utQk":-695173504250218462,"zwfVeb":2050138941518859433},"stringDateField":"1987-09-27","stringDateTimeField":"1910-09-06T09:38:18Z","stringField":"edXvU","stringTimeField":"10:33:47.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":47,"numField":-322.9879722516581,"stringDateField":"1987-09-27","stringDateTimeField":"1910-09-06T09:38:18Z","stringField":"edXvU","stringTimeField":"10:33:47.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3766,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3766,"uuid":"9e0a89f7-5655-11ee-9001-675ed0f8e89b"},"arrayField":["wklCEn","aCobXcQSjY","adkXCh","ZQUrwMmcLi","eczjR","GjgLcrLV","tPTiZvtYG"],"boolField":false,"intField":849,"numField":-522.3881457755547,"objField":{"HbGVyan":-8347389993452982669,"SFecgvZ":-1466253992573345018,"VfOXn":829127765927691785,"YiHkEaYQs":1828365688547981649,"kWlPTJ":-1647077473304412628,"uANdSKV":-2355363864051209976},"stringDateField":"1919-03-20","stringDateTimeField":"1949-05-05T00:50:50Z","stringField":"rSpAzEK","stringTimeField":"23:36:53.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":849,"numField":-522.3881457755547,"stringDateField":"1919-03-20","stringDateTimeField":"1949-05-05T00:50:50Z","stringField":"rSpAzEK","stringTimeField":"23:36:53.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3767,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3767,"uuid":"9e0a89f7-5655-11ee-9401-675ed0f8e89b"},"arrayField":["IOXYHEBeKn","uGbjAVtIDc","uuRPtFgWa","vFKFyJN","xfOFhwbFtK"],"boolField":true,"intField":-925,"numField":-742.8447082582461,"objField":{"EiUSJcnmvQ":4304442879834927702,"Kauq":-8137880386770084535,"RpCKRem":8055793567936704681,"uxPXscBycD":1481271899695896111,"yUABRSO":6852007789884208556,"zDpte":-4316068675602136256},"stringDateField":"1945-03-25","stringDateTimeField":"1921-08-05T08:42:30Z","stringField":"VGzvkM","stringTimeField":"19:24:39.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":-925,"numField":-742.8447082582461,"stringDateField":"1945-03-25","stringDateTimeField":"1921-08-05T08:42:30Z","stringField":"VGzvkM","stringTimeField":"19:24:39.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3768,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3768,"uuid":"9e0a89f7-5655-11ee-9801-675ed0f8e89b"},"arrayField":["tcpCbNrc","hCDUtZkc","gzvRQaYhIH","SShOSCX","EhxDsfnG","tXRwPHoO","SXmW"],"boolField":true,"intField":855,"numField":798.12245344474,"objField":{"VWLDYi":6806749343403011574,"bKUbqqIfed":77455543584706299,"xGjUbjb":-93590120931689473,"ytUPC":-3361546617785585857},"stringDateField":"1928-08-01","stringDateTimeField":"1900-01-21T11:18:27Z","stringField":"PFrKg","stringTimeField":"15:58:51.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":855,"numField":798.12245344474,"stringDateField":"1928-08-01","stringDateTimeField":"1900-01-21T11:18:27Z","stringField":"PFrKg","stringTimeField":"15:58:51.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3769,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3769,"uuid":"9e0a89f7-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["hkxkfOkB","cFgHhPXkC","LJNbh"],"boolField":true,"intField":320,"numField":-776.627287439219,"objField":{"ezlZPVX":-3353603257022901556,"nPJJVd":-4032441297117530744},"stringDateField":"1975-10-01","stringDateTimeField":"1969-02-15T18:51:07Z","stringField":"GZmz","stringTimeField":"05:26:06.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":320,"numField":-776.627287439219,"stringDateField":"1975-10-01","stringDateTimeField":"1969-02-15T18:51:07Z","stringField":"GZmz","stringTimeField":"05:26:06.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3770,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3770,"uuid":"9e0a89f7-5655-11ee-a001-675ed0f8e89b"},"arrayField":["HMiSP","bMVDV","EOyQy","MWRr","IlcUQzImxh"],"boolField":true,"intField":-920,"numField":847.0507981596058,"objField":{"dctfIQnOnC":-8082671963352702134},"stringDateField":"1954-09-14","stringDateTimeField":"2014-07-22T05:44:29Z","stringField":"Yqflhkkj","stringTimeField":"17:00:32.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":-920,"numField":847.0507981596058,"stringDateField":"1954-09-14","stringDateTimeField":"2014-07-22T05:44:29Z","stringField":"Yqflhkkj","stringTimeField":"17:00:32.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3771,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3771,"uuid":"9e0a89f7-5655-11ee-a401-675ed0f8e89b"},"arrayField":["FVcej","FaZa","dMbnSk","qDDraW","pTmTt","QrYQwtUy"],"boolField":false,"intField":-903,"numField":-320.8964692677777,"objField":{"JfoVy":7621492893597161381,"WWekKCFgT":5599043258836037510,"buQBLReO":-2260196652402060479,"eXvaNje":3473667884169291856,"gfECiOQrwn":-5015617609099189596,"qxyoY":-5917261476176513412},"stringDateField":"1971-04-14","stringDateTimeField":"1999-10-03T13:07:05Z","stringField":"OAOW","stringTimeField":"01:21:11.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":-903,"numField":-320.8964692677777,"stringDateField":"1971-04-14","stringDateTimeField":"1999-10-03T13:07:05Z","stringField":"OAOW","stringTimeField":"01:21:11.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3772,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3772,"uuid":"9e0a89f7-5655-11ee-a801-675ed0f8e89b"},"arrayField":["oyJejjz"],"boolField":false,"intField":403,"numField":826.1780269661314,"objField":{"BClOJxDYPD":-8433673835089882458,"CdiHjTxj":-2397143298380679281,"JkGO":2732949109938766705,"KJuVDTrcI":6889854903000548174,"cGjFoq":5946648076351382128,"jQTxOi":-5172332225886990461,"nilg":-3281708186283561665,"zQawXZKwi":-8391834541980185558},"stringDateField":"1975-06-26","stringDateTimeField":"1912-04-20T11:40:26Z","stringField":"XzuGUBADh","stringTimeField":"19:33:37.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":403,"numField":826.1780269661314,"stringDateField":"1975-06-26","stringDateTimeField":"1912-04-20T11:40:26Z","stringField":"XzuGUBADh","stringTimeField":"19:33:37.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3773,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3773,"uuid":"9e0a89f7-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["xecE","MontUd","HlbLh","qdTpeDylz","tCyCuQZtgP","bjmcvhO","XkHlGFYtn","rUoKt","LLZKSotpIy","lEQz"],"boolField":false,"intField":-816,"numField":215.8754971191461,"objField":{"yzRphZCVKY":6588539241364216289},"stringDateField":"1992-12-10","stringDateTimeField":"1963-07-03T23:42:32Z","stringField":"SQNAgXQY","stringTimeField":"22:04:50.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":-816,"numField":215.8754971191461,"stringDateField":"1992-12-10","stringDateTimeField":"1963-07-03T23:42:32Z","stringField":"SQNAgXQY","stringTimeField":"22:04:50.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3774,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3774,"uuid":"9e0a89f7-5655-11ee-b001-675ed0f8e89b"},"arrayField":["bXLNDiJLiR","qCRTI"],"boolField":false,"intField":-682,"numField":-868.2066972145672,"objField":{"jZCQ":-289019062752724977,"nVPzMn":-7966179439472167941},"stringDateField":"1915-01-20","stringDateTimeField":"1987-12-12T17:06:19Z","stringField":"xzCubG","stringTimeField":"14:35:07.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":-682,"numField":-868.2066972145672,"stringDateField":"1915-01-20","stringDateTimeField":"1987-12-12T17:06:19Z","stringField":"xzCubG","stringTimeField":"14:35:07.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3775,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3775,"uuid":"9e0a89f7-5655-11ee-b401-675ed0f8e89b"},"arrayField":["kiovuGNVRj","BGHPaM","TvXqXqzTZs","NqEd","aztTHlM","ZdyVFVqYLk"],"boolField":true,"intField":-924,"numField":-584.7841107179827,"objField":{"BIahrLZbp":-1529638959494572483,"JVxNazdy":9212575521946245484,"RzsGJoqy":-9021065423346784075,"ofpbWhWg":-5936311419965123320,"qmNCzB":5259368701818617987,"txstMGpge":2234575439394414625,"uMmmGln":-1432197037203446566,"uorCgiho":8810030022746339013},"stringDateField":"1904-03-07","stringDateTimeField":"1934-12-04T19:12:07Z","stringField":"iVwezOmZFE","stringTimeField":"17:12:15.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":-924,"numField":-584.7841107179827,"stringDateField":"1904-03-07","stringDateTimeField":"1934-12-04T19:12:07Z","stringField":"iVwezOmZFE","stringTimeField":"17:12:15.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3776,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3776,"uuid":"9e0a89f7-5655-11ee-b801-675ed0f8e89b"},"arrayField":["IvRcskbs","YqaRp","PvDyG"],"boolField":false,"intField":-778,"numField":292.1990628626157,"objField":{"GCFO":8065997576748183189,"hqGmiRW":4956413263652740932,"veoikRL":-6727726869843250946,"xcaD":-3809782436349055147},"stringDateField":"1931-05-26","stringDateTimeField":"1934-06-22T10:35:55Z","stringField":"JQULHhqE","stringTimeField":"21:39:02.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":-778,"numField":292.1990628626157,"stringDateField":"1931-05-26","stringDateTimeField":"1934-06-22T10:35:55Z","stringField":"JQULHhqE","stringTimeField":"21:39:02.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3777,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3777,"uuid":"9e0a89f7-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["NVkhM","GRgEbtQCt","RBzuUCQiTM","lxSgPk","MwaDTTA"],"boolField":false,"intField":742,"numField":323.16314630418043,"objField":{"MdJsMxg":736382903801105947,"OOzZ":998141313033609776,"aauvS":-4688379539955919396,"ejsyjYAG":5246150178785939998,"jsId":-4893866293389358160,"yaXZunG":6138761219021960820},"stringDateField":"2003-03-28","stringDateTimeField":"2015-02-21T08:55:02Z","stringField":"aAQCFBsU","stringTimeField":"12:25:13.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763767Z","intField":742,"numField":323.16314630418043,"stringDateField":"2003-03-28","stringDateTimeField":"2015-02-21T08:55:02Z","stringField":"aAQCFBsU","stringTimeField":"12:25:13.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3778,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3778,"uuid":"9e0a89f8-5655-11ee-8001-675ed0f8e89b"},"arrayField":["aQzo","UasJmA","lwPwKElcch","NFZvqNUJs","qnudaTrgt"],"boolField":true,"intField":-88,"numField":333.7170072597844,"objField":{"AHqTnQJQA":5732822791316571839,"BRTj":6729423227075717095,"Iydeq":-2883546435408360154,"PorEwjPuC":-758856128964488931,"RyGplxHQdA":1778662587236656639,"VhrkUEJ":3038095010771574667,"jBtymc":8384361144626496987,"vYoXjK":7214022808795438055},"stringDateField":"1966-06-27","stringDateTimeField":"2015-04-26T13:08:57Z","stringField":"BWTbdd","stringTimeField":"04:31:27.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":-88,"numField":333.7170072597844,"stringDateField":"1966-06-27","stringDateTimeField":"2015-04-26T13:08:57Z","stringField":"BWTbdd","stringTimeField":"04:31:27.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3779,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3779,"uuid":"9e0a89f8-5655-11ee-8401-675ed0f8e89b"},"arrayField":["dsIln","DdvhtLblW","SMSvBPwhM","FuiOZaWEoy","YpZhx","CjIFftiVq","ndhiQFgrie","ygiTgSW"],"boolField":true,"intField":-987,"numField":-210.73732046006077,"objField":{"Ezuasw":-1308941856457045055,"FklIUzh":-4831603664675094867,"JYiiiKFgv":-3205948307905936191,"RSRjLUHEO":-2899843340281629209,"gJPYqYrFJZ":7588148413088729970,"sgSL":8760240061647901851},"stringDateField":"1990-12-21","stringDateTimeField":"1954-11-16T08:44:06Z","stringField":"LqxQAYiykv","stringTimeField":"10:49:43.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":-987,"numField":-210.73732046006077,"stringDateField":"1990-12-21","stringDateTimeField":"1954-11-16T08:44:06Z","stringField":"LqxQAYiykv","stringTimeField":"10:49:43.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3780,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3780,"uuid":"9e0a89f8-5655-11ee-8801-675ed0f8e89b"},"arrayField":["GlwDj","tLnmOyiWWc","FIyVxSSU","mPdfYe","IdZh","Qsdix","Jwee","MHXxJQ"],"boolField":false,"intField":321,"numField":186.98760468288955,"objField":{"CCuRCVWrg":553945833758432857,"GptSUjm":-199597557678448443,"IOaKego":1330180542431254276,"SZKtPC":-5226208181629862326,"VQaxeaqOp":7063863442388323179,"bgHqHL":-2071021113948048088,"hbYTzVBpgl":-7019712640992947871,"olXATBF":3287394332393007789,"qfFf":8672904196716336836,"tZuPJPL":-6712299487989263354},"stringDateField":"1931-12-09","stringDateTimeField":"1944-03-06T06:39:10Z","stringField":"FrHJDtwwL","stringTimeField":"05:39:24.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":321,"numField":186.98760468288955,"stringDateField":"1931-12-09","stringDateTimeField":"1944-03-06T06:39:10Z","stringField":"FrHJDtwwL","stringTimeField":"05:39:24.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3781,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3781,"uuid":"9e0a89f8-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["xFWO","iQlvColoY","FskAzSl","qqzPomWb","eNfSmvbo"],"boolField":false,"intField":613,"numField":-209.6839783001523,"objField":{"BFil":8013074457674117863,"BoXWnmN":-7177082307702222491,"LeOkDOF":-306911874439387493,"Szkr":-6042680098552635213,"fimUG":1068341077556706643,"kjLOrlJz":7355837834789326182},"stringDateField":"1915-08-29","stringDateTimeField":"1972-03-28T17:36:39Z","stringField":"QUqFdLET","stringTimeField":"00:38:50.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":613,"numField":-209.6839783001523,"stringDateField":"1915-08-29","stringDateTimeField":"1972-03-28T17:36:39Z","stringField":"QUqFdLET","stringTimeField":"00:38:50.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3782,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3782,"uuid":"9e0a89f8-5655-11ee-9001-675ed0f8e89b"},"arrayField":["JWtn","wTsUI","zRqdvrK","zMtzj","YdSjsNIqaS","rAqhXpJPPg","hJHr","rOmDBjP","JGvkAOj","CwZohy"],"boolField":true,"intField":566,"numField":-576.1531492626103,"objField":{"GzMz":-2141049087494265630,"HtwnOWq":-3519312738233324599,"OxESq":-7621597063511995949,"dWOa":-2966202732434607844,"hGrLl":-1249689531174168325,"jhkpnXduA":-302636351841629325,"usWEbQUuU":7565212503831734937},"stringDateField":"1917-03-11","stringDateTimeField":"2013-03-20T07:06:13Z","stringField":"jzlQHJ","stringTimeField":"04:08:06.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":566,"numField":-576.1531492626103,"stringDateField":"1917-03-11","stringDateTimeField":"2013-03-20T07:06:13Z","stringField":"jzlQHJ","stringTimeField":"04:08:06.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3783,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3783,"uuid":"9e0a89f8-5655-11ee-9401-675ed0f8e89b"},"arrayField":["FLBxAin","lXudkx"],"boolField":false,"intField":294,"numField":189.79345610104792,"objField":{"Dffk":7547690367217677675,"HlGHdlovTZ":4282816456325830717,"KSDpl":-2691606755744662662,"YgHtO":-3510667705458704226,"jzOl":3094526877090198630,"tBFRBomwx":-6374536452449833618,"ugJs":-2727806047552929991,"uvPkgZb":869836113767563843,"ynCUm":6521767191542461659,"zgpzfNDS":1823795706309583694},"stringDateField":"1968-01-25","stringDateTimeField":"1901-07-11T18:34:55Z","stringField":"yjBlPt","stringTimeField":"02:40:24.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":294,"numField":189.79345610104792,"stringDateField":"1968-01-25","stringDateTimeField":"1901-07-11T18:34:55Z","stringField":"yjBlPt","stringTimeField":"02:40:24.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3784,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3784,"uuid":"9e0a89f8-5655-11ee-9801-675ed0f8e89b"},"arrayField":["iBYd","LzwzS","XDMfMVkQ","zFwLXNX","ENwH","gPqGLQZB"],"boolField":true,"intField":895,"numField":-647.244952258083,"objField":{"AycNzzbPO":333171497811427285,"MYOm":6427589655408206656,"YnAhG":8334775507573722929,"qRCTr":-8386817598857683273},"stringDateField":"1931-08-30","stringDateTimeField":"1912-07-26T17:18:12Z","stringField":"YXZnTsY","stringTimeField":"18:30:42.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":895,"numField":-647.244952258083,"stringDateField":"1931-08-30","stringDateTimeField":"1912-07-26T17:18:12Z","stringField":"YXZnTsY","stringTimeField":"18:30:42.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3785,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3785,"uuid":"9e0a89f8-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["hcHSqrTTZS","VDSeKNbrpj","TTPqVo","gnuscdZtxD"],"boolField":true,"intField":725,"numField":-474.5043210227222,"objField":{"ABIu":-422213782345460568,"GnRrAhWtkE":-94284706164850448,"PTOvzkWjy":-7561457614846782065,"UlaK":7895961944774377607,"aKNaeWvzZ":-958806892834083947,"fCdGboO":7823068520994829165,"nNWQyemIOc":-5572054062098636368,"zcAhiRVFzm":5937717078108474243},"stringDateField":"2015-07-30","stringDateTimeField":"1991-06-10T10:43:26Z","stringField":"ozcdCuDG","stringTimeField":"04:35:27.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":725,"numField":-474.5043210227222,"stringDateField":"2015-07-30","stringDateTimeField":"1991-06-10T10:43:26Z","stringField":"ozcdCuDG","stringTimeField":"04:35:27.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3786,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3786,"uuid":"9e0a89f8-5655-11ee-a001-675ed0f8e89b"},"arrayField":["voXv","GJKJQRQlu","rUxB","WMigl","yidyssuOVf"],"boolField":false,"intField":-503,"numField":387.20229386895255,"objField":{"PAxbjp":418886147962206683},"stringDateField":"1989-01-17","stringDateTimeField":"1918-01-04T14:49:39Z","stringField":"jCDJp","stringTimeField":"01:02:24.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":-503,"numField":387.20229386895255,"stringDateField":"1989-01-17","stringDateTimeField":"1918-01-04T14:49:39Z","stringField":"jCDJp","stringTimeField":"01:02:24.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3787,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3787,"uuid":"9e0a89f8-5655-11ee-a401-675ed0f8e89b"},"arrayField":["jvgH"],"boolField":false,"intField":775,"numField":508.32038269083824,"objField":{"bJjm":283738799962068234,"caXBv":8613779754910250912,"mUPDp":3755821163349265071,"nxnnKkujJD":2746958955531363109,"orHOVApApi":-2078299477880475935,"vhVkeTXBc":-2317437328959646111,"yWOi":-6143507392549273982},"stringDateField":"1971-03-31","stringDateTimeField":"1925-09-12T19:54:37Z","stringField":"kODA","stringTimeField":"04:24:15.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":775,"numField":508.32038269083824,"stringDateField":"1971-03-31","stringDateTimeField":"1925-09-12T19:54:37Z","stringField":"kODA","stringTimeField":"04:24:15.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3788,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3788,"uuid":"9e0a89f8-5655-11ee-a801-675ed0f8e89b"},"arrayField":["zgkb","LRvFQEte"],"boolField":false,"intField":-176,"numField":-716.7989611146371,"objField":{"FJpPQaLg":522086981761919251,"MbenrsgWEa":-470852490777929074,"ONxu":5925268097585423550,"OoRuCzfiBG":-4869635820295586940},"stringDateField":"1978-01-17","stringDateTimeField":"2022-04-07T18:21:02Z","stringField":"XfLzVdvl","stringTimeField":"02:23:15.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":-176,"numField":-716.7989611146371,"stringDateField":"1978-01-17","stringDateTimeField":"2022-04-07T18:21:02Z","stringField":"XfLzVdvl","stringTimeField":"02:23:15.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3789,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3789,"uuid":"9e0a89f8-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["UiqLg","tDtekNGNN","sIgeHkteHV","WCLvymqt","qCUGyG","DdhjgmBRO","LKCqC","sJsoAdzs","iVcEbUMna"],"boolField":true,"intField":515,"numField":-304.3778529353048,"objField":{"HtiotOEqUb":-8701617217318452996,"MZvNGoAw":5935300510424872864,"QUcoH":-1590955414142307568,"SeUdaX":-8808654332501238473,"VUCICtYDwq":-3868840712264897110},"stringDateField":"1963-07-06","stringDateTimeField":"1949-03-21T10:11:23Z","stringField":"jzZtXG","stringTimeField":"23:11:33.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":515,"numField":-304.3778529353048,"stringDateField":"1963-07-06","stringDateTimeField":"1949-03-21T10:11:23Z","stringField":"jzZtXG","stringTimeField":"23:11:33.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3790,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3790,"uuid":"9e0a89f8-5655-11ee-b001-675ed0f8e89b"},"arrayField":["toXib","myvueI","YLWignZOI","yMvyLlC","cxYoo"],"boolField":false,"intField":-449,"numField":570.4279388853993,"objField":{"OVhfrIj":-8139137775928242801,"dqJrWs":4342946931252951988,"hAufSn":5878593978793723119,"qTdi":2012351358839256421,"whfvtf":6375439483610663515,"zWJTqKMnt":-2851138964531019043},"stringDateField":"1923-07-20","stringDateTimeField":"1991-10-15T12:58:01Z","stringField":"aTGvLPm","stringTimeField":"09:18:07.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":-449,"numField":570.4279388853993,"stringDateField":"1923-07-20","stringDateTimeField":"1991-10-15T12:58:01Z","stringField":"aTGvLPm","stringTimeField":"09:18:07.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3791,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3791,"uuid":"9e0a89f8-5655-11ee-b401-675ed0f8e89b"},"arrayField":["SOOn","didZ","ihmfnIIIU","sAKnnX","SiCJiKJhm","DIBLECfk"],"boolField":true,"intField":892,"numField":589.0966409437748,"objField":{"ZSOzL":964180428908548848,"gbekNgr":-7665023845980951644,"kwAH":1709311946623229126,"sDmWd":-963448692963634084},"stringDateField":"1919-06-30","stringDateTimeField":"1902-04-25T04:13:45Z","stringField":"JbwCGVEUL","stringTimeField":"05:50:08.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":892,"numField":589.0966409437748,"stringDateField":"1919-06-30","stringDateTimeField":"1902-04-25T04:13:45Z","stringField":"JbwCGVEUL","stringTimeField":"05:50:08.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3792,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3792,"uuid":"9e0a89f8-5655-11ee-b801-675ed0f8e89b"},"arrayField":["waHTgV"],"boolField":false,"intField":835,"numField":430.7378847683112,"objField":{"CFTZw":-5892681729040853051,"KMDaP":-9048946192243098337,"bLqejcIJ":2740647190320412454,"ezMjbYSjA":-3780473404253836636,"kYSfgwR":-589171390170356215,"wdCJalvRc":2140793509335672743},"stringDateField":"1995-02-22","stringDateTimeField":"1936-11-10T13:47:16Z","stringField":"UrBplli","stringTimeField":"19:19:01.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":835,"numField":430.7378847683112,"stringDateField":"1995-02-22","stringDateTimeField":"1936-11-10T13:47:16Z","stringField":"UrBplli","stringTimeField":"19:19:01.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3793,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3793,"uuid":"9e0a89f8-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["xHzpLxgLRb","epCkwgQc","bfdvuNgRI","YvrMbuRLV","ZOlIl"],"boolField":false,"intField":-727,"numField":-702.1202205009491,"objField":{"EJIiKKz":1913293508989571098,"FWhMRpZDpa":-3057549862041473061,"bqlm":8590170133676303882,"tGLNsGxbO":5489396892044313806},"stringDateField":"1958-11-13","stringDateTimeField":"2005-08-14T17:30:02Z","stringField":"KbDAwps","stringTimeField":"18:43:14.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763768Z","intField":-727,"numField":-702.1202205009491,"stringDateField":"1958-11-13","stringDateTimeField":"2005-08-14T17:30:02Z","stringField":"KbDAwps","stringTimeField":"18:43:14.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3794,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3794,"uuid":"9e0a89f9-5655-11ee-8001-675ed0f8e89b"},"arrayField":["BmvUCu","HFXKvu","ksiKcHRO","fcurvTrC","kJpoq","ITBCjRDVo","PMqVLvNr","zWGENV","dIXijmypS"],"boolField":false,"intField":160,"numField":-678.9337681037553,"objField":{"CwmAu":5811496525192382848,"Fiph":-1892089934428304702,"kdLGnftPSa":351490879758284697},"stringDateField":"1971-01-20","stringDateTimeField":"1971-12-25T08:22:03Z","stringField":"LDdXU","stringTimeField":"10:18:47.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":160,"numField":-678.9337681037553,"stringDateField":"1971-01-20","stringDateTimeField":"1971-12-25T08:22:03Z","stringField":"LDdXU","stringTimeField":"10:18:47.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3795,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3795,"uuid":"9e0a89f9-5655-11ee-8401-675ed0f8e89b"},"arrayField":["OHbf","YcDiy","yjGzRpmz","iTCYEKrJC","AucALJLvx"],"boolField":false,"intField":423,"numField":363.0285862476532,"objField":{"OtYpU":1231122335794437434,"aicxN":-8856150015849992663,"eNdooDBmM":2907861997483010094,"nQgafWU":2406939507111651781,"tSxJM":115631391367580997,"tkWvYj":-3975356149381642125,"xbUhZUgivj":-4883957785188201253},"stringDateField":"1927-07-28","stringDateTimeField":"1935-04-13T22:17:42Z","stringField":"EhESatORV","stringTimeField":"11:04:49.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":423,"numField":363.0285862476532,"stringDateField":"1927-07-28","stringDateTimeField":"1935-04-13T22:17:42Z","stringField":"EhESatORV","stringTimeField":"11:04:49.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3796,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3796,"uuid":"9e0a89f9-5655-11ee-8801-675ed0f8e89b"},"arrayField":["PKJFAqVxU"],"boolField":false,"intField":289,"numField":643.9156238659663,"objField":{"EHTKyCZ":-4417979474276921348,"hXvHXSvnwB":-5173549579796739722,"uMKEWcYbY":-6021701955645544075},"stringDateField":"1990-05-12","stringDateTimeField":"1954-12-31T21:26:44Z","stringField":"IHTCTJl","stringTimeField":"12:38:46.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":289,"numField":643.9156238659663,"stringDateField":"1990-05-12","stringDateTimeField":"1954-12-31T21:26:44Z","stringField":"IHTCTJl","stringTimeField":"12:38:46.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3797,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3797,"uuid":"9e0a89f9-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["BQXtyGQrXh","xmRQQmTwZh","SENxZ","SqJtptYO","DGbyQWr"],"boolField":false,"intField":645,"numField":-492.2680967620209,"objField":{"HDMclhz":-8284638864872189065,"JfJPaI":557503064165331837,"NazgOhrql":-1540309247982319128,"jraKYRAa":8005418093769366790,"jzAcCAQfE":1907895265418505595,"rsyLWWbs":-4501481477466516582},"stringDateField":"1972-07-19","stringDateTimeField":"1910-11-16T14:41:29Z","stringField":"ShbagRw","stringTimeField":"18:02:42.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":645,"numField":-492.2680967620209,"stringDateField":"1972-07-19","stringDateTimeField":"1910-11-16T14:41:29Z","stringField":"ShbagRw","stringTimeField":"18:02:42.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3798,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3798,"uuid":"9e0a89f9-5655-11ee-9001-675ed0f8e89b"},"arrayField":["cVUBWbovUY","rETR","PQAefu","bPxowHp","wkxmDNw","sQMhtgBB","YtNsnQCUe","OfkNymcBHV","nntDZg","Bdqn"],"boolField":false,"intField":310,"numField":770.3624779553942,"objField":{"UZgwz":106829355694648489,"VVQqFXZIQ":-1878304593108380269,"ZiyvWduRK":-1500092876982988467,"fbCbsAsxa":9171112887614745814,"hHcizXKNOk":4989721607881049664,"jflqaC":2714108108202413908,"kvaSGv":-1076599875886819970,"lIvtjsgycd":177183060843398249,"vPssnB":-3860035684204053453,"zxPJdwkEbg":-4551436011476712865},"stringDateField":"1908-09-04","stringDateTimeField":"1936-12-07T08:25:05Z","stringField":"htHC","stringTimeField":"15:22:53.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":310,"numField":770.3624779553942,"stringDateField":"1908-09-04","stringDateTimeField":"1936-12-07T08:25:05Z","stringField":"htHC","stringTimeField":"15:22:53.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3799,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3799,"uuid":"9e0a89f9-5655-11ee-9401-675ed0f8e89b"},"arrayField":["pcLgfel","FFqUDzEi","DxDAlAZ","hYAN"],"boolField":true,"intField":-390,"numField":-154.30779275220974,"objField":{"MnZZiAmMJm":6632065859807772240,"TBtHRyQEns":-2542667194488738593,"VAbGA":-2367056930273935613,"mxoTdVd":624449421574708743,"oiekRAWaWr":8253725659509234263,"uZSjY":4880665759917684923},"stringDateField":"1957-05-06","stringDateTimeField":"1956-12-27T05:45:38Z","stringField":"XLDHRgC","stringTimeField":"09:56:24.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":-390,"numField":-154.30779275220974,"stringDateField":"1957-05-06","stringDateTimeField":"1956-12-27T05:45:38Z","stringField":"XLDHRgC","stringTimeField":"09:56:24.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3800,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3800,"uuid":"9e0a89f9-5655-11ee-9801-675ed0f8e89b"},"arrayField":["QhjSbWRj","SZpK","VmIJwOfwH","iBhNRF","OnNFdomh","bhaTckvQF","AbonJel"],"boolField":false,"intField":-214,"numField":-989.6259572378742,"objField":{"ByhdRAmxI":1345901266550247271,"HWtV":4493466163677335021,"KlvwzluXUo":-6282954679446544350,"PgIN":-5808662560964884602,"aMZScw":-1747583126611670516,"mjPCozmRi":-4676635017880969038},"stringDateField":"1939-11-01","stringDateTimeField":"1997-11-12T18:02:15Z","stringField":"gtQjKoA","stringTimeField":"04:34:41.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":-214,"numField":-989.6259572378742,"stringDateField":"1939-11-01","stringDateTimeField":"1997-11-12T18:02:15Z","stringField":"gtQjKoA","stringTimeField":"04:34:41.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3801,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3801,"uuid":"9e0a89f9-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["Eeov","FiZlf","qhwHPH","bdIVi","rTpVJqNZ","hEDYfJvrE","BrjpNCk","dYVh"],"boolField":true,"intField":-216,"numField":979.3625302208092,"objField":{"MhaWrO":-3531297888046392421,"NwCBdK":3010720326240047993,"jPrxt":-8766542873008015010},"stringDateField":"1936-07-28","stringDateTimeField":"1964-05-31T20:11:33Z","stringField":"mVozK","stringTimeField":"17:02:27.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":-216,"numField":979.3625302208092,"stringDateField":"1936-07-28","stringDateTimeField":"1964-05-31T20:11:33Z","stringField":"mVozK","stringTimeField":"17:02:27.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3802,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3802,"uuid":"9e0a89f9-5655-11ee-a001-675ed0f8e89b"},"arrayField":["LULxa","AljujirxGm","BIPakAFD","Atfiz","FNDgz","daPUFD","GxtATDs","irrVZn","VbxhuCoOz"],"boolField":false,"intField":-90,"numField":619.5470565204639,"objField":{"LFFeC":574989840427817185},"stringDateField":"1927-04-07","stringDateTimeField":"1959-09-07T16:43:43Z","stringField":"KcNMZDtEBY","stringTimeField":"10:11:39.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":-90,"numField":619.5470565204639,"stringDateField":"1927-04-07","stringDateTimeField":"1959-09-07T16:43:43Z","stringField":"KcNMZDtEBY","stringTimeField":"10:11:39.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3803,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3803,"uuid":"9e0a89f9-5655-11ee-a401-675ed0f8e89b"},"arrayField":["RZsSArtUF","GfXHd","WyKZRB","rkrYbmI","YNazPpv","JhjIepo","ShSLrBzpJ"],"boolField":true,"intField":-460,"numField":-93.78488002524176,"objField":{"GgwxXlaYwb":8790264994838099659,"WsOADr":5461512058203031927,"XNcCflrXwC":7458287029527155250,"qVTBDbKUB":1063748788753440298},"stringDateField":"2023-07-08","stringDateTimeField":"1978-08-01T07:41:45Z","stringField":"jhEvtdAZ","stringTimeField":"02:19:13.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":-460,"numField":-93.78488002524176,"stringDateField":"2023-07-08","stringDateTimeField":"1978-08-01T07:41:45Z","stringField":"jhEvtdAZ","stringTimeField":"02:19:13.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3804,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3804,"uuid":"9e0a89f9-5655-11ee-a801-675ed0f8e89b"},"arrayField":["IKgVoAAnNr","VZGphgWjge","uVXv","eryMD","WHDlil","xRgcWKHRSz","JZIcBbJnf","bYzyq","cGYiiUCv","JIFPexT"],"boolField":true,"intField":787,"numField":281.0193188203947,"objField":{"MQby":-6820998368354083779,"gtEbxhZr":1747976281217598095},"stringDateField":"1929-12-16","stringDateTimeField":"2003-04-26T12:01:18Z","stringField":"QHlzmCoqy","stringTimeField":"04:38:43.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":787,"numField":281.0193188203947,"stringDateField":"1929-12-16","stringDateTimeField":"2003-04-26T12:01:18Z","stringField":"QHlzmCoqy","stringTimeField":"04:38:43.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3805,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3805,"uuid":"9e0a89f9-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["jxSlKc","VVsHG"],"boolField":false,"intField":-681,"numField":-897.5933031449968,"objField":{"CGIW":7697358669551964651,"Ccute":-7968677588624759355,"QlHjpMgT":-5602687597544711997,"TYORJQUqZb":-7323010542589273834,"bzkautz":-3257759052962758682,"nbCMiRzi":5107490376754805461},"stringDateField":"1902-03-14","stringDateTimeField":"1981-11-26T12:19:50Z","stringField":"EvmFOij","stringTimeField":"02:02:34.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":-681,"numField":-897.5933031449968,"stringDateField":"1902-03-14","stringDateTimeField":"1981-11-26T12:19:50Z","stringField":"EvmFOij","stringTimeField":"02:02:34.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3806,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3806,"uuid":"9e0a89f9-5655-11ee-b001-675ed0f8e89b"},"arrayField":["YuMcgot","fMFvV","bbKE","IxNoF","rtfRHYSB","hBOz","AGrkRzF","wJqUnde","DpUxFOs"],"boolField":true,"intField":324,"numField":907.3740332539206,"objField":{"NeQghhay":8330241987618069332,"OfMJi":-4537121859610247211,"OgXbdYnZwq":7763683722155914601,"eitHceTyo":344175737668747792,"jfxHRKh":-2075226820507205444,"kZhbjEeJW":-2298535647963414444,"otRFM":1386240282374718377,"qUbLIWSPIQ":-1273821831262925845,"sYCEp":6373044895101660654},"stringDateField":"1904-03-29","stringDateTimeField":"2013-03-12T23:27:54Z","stringField":"fQWo","stringTimeField":"22:04:09.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":324,"numField":907.3740332539206,"stringDateField":"1904-03-29","stringDateTimeField":"2013-03-12T23:27:54Z","stringField":"fQWo","stringTimeField":"22:04:09.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3807,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3807,"uuid":"9e0a89f9-5655-11ee-b401-675ed0f8e89b"},"arrayField":["rGLHpA","YzGHEebS","GFugv","aexPRUsk","gEpai","KgUObv","ecxiPxv","WPcce","KYHrrJz","uCRFuKBfH"],"boolField":true,"intField":-22,"numField":-31.81425029798657,"objField":{"AAgCYoMuVK":-6811319264266157790,"FepGiKc":6033065098356154840,"OgENoVIg":-2457399676169307431,"QjQdaLGgXq":2442820720607367948,"jlRJ":1322453970064011771,"kOTfwP":8526979575886314879},"stringDateField":"1970-03-03","stringDateTimeField":"1933-05-22T03:29:03Z","stringField":"NfxDavCi","stringTimeField":"22:38:39.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":-22,"numField":-31.81425029798657,"stringDateField":"1970-03-03","stringDateTimeField":"1933-05-22T03:29:03Z","stringField":"NfxDavCi","stringTimeField":"22:38:39.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3808,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3808,"uuid":"9e0a89f9-5655-11ee-b801-675ed0f8e89b"},"arrayField":["wyXO","Wbnw","nUXQLaNe","RIzXgE","QYNZ"],"boolField":false,"intField":-141,"numField":637.2127389402962,"objField":{"MXLc":6421538710229703144,"tEeTjji":-3396667509162555876,"wUYoRZ":-4981992667273180278},"stringDateField":"2021-05-09","stringDateTimeField":"1995-07-12T11:04:34Z","stringField":"ntXvbgyOwr","stringTimeField":"07:38:01.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":-141,"numField":637.2127389402962,"stringDateField":"2021-05-09","stringDateTimeField":"1995-07-12T11:04:34Z","stringField":"ntXvbgyOwr","stringTimeField":"07:38:01.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3809,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3809,"uuid":"9e0a89f9-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["QjSC","iHkvjmVkoo","QRNN","QSzHTpTk","lWJqB","fdFW","XzmBzggB"],"boolField":true,"intField":659,"numField":-659.0216239850192,"objField":{"FVUqqRSjX":-8311908441251633772,"KlrfBAyQ":-435618973140806632,"LRQJ":7206821792655315309,"OQAzNiEL":-128890385680373529,"PksQYZR":5488758995019607312,"evJhLFe":-4658492312264747460,"grynYobIpa":-9045369910381519963,"tiHZb":-6188416601977648435},"stringDateField":"1937-06-21","stringDateTimeField":"2016-01-08T03:28:33Z","stringField":"BxyjTRd","stringTimeField":"14:18:13.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763769Z","intField":659,"numField":-659.0216239850192,"stringDateField":"1937-06-21","stringDateTimeField":"2016-01-08T03:28:33Z","stringField":"BxyjTRd","stringTimeField":"14:18:13.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3810,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3810,"uuid":"9e0a89fa-5655-11ee-8001-675ed0f8e89b"},"arrayField":["xIKnEUkHMT"],"boolField":true,"intField":-590,"numField":196.57672338581975,"objField":{"FhJkWeN":47507790879852617,"SdmTs":-1694745288907990377,"UONtcoO":-2798309187726012553,"cwXmXS":4615699894865887766,"egNDwW":4202696069684454960,"kzNDBpRNoy":909312220204509538,"ruTlTi":4217186738514236461,"tkUQPv":2485222376619558166,"yNwUWOu":5156396033071150276},"stringDateField":"1967-09-24","stringDateTimeField":"2002-09-17T12:36:51Z","stringField":"SRitaX","stringTimeField":"08:07:49.48Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":-590,"numField":196.57672338581975,"stringDateField":"1967-09-24","stringDateTimeField":"2002-09-17T12:36:51Z","stringField":"SRitaX","stringTimeField":"08:07:49.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3811,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3811,"uuid":"9e0a89fa-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UnlpdsiB","fZvtLOBGT","BJyBKup","VPoLpbL","UFXvyyzW"],"boolField":false,"intField":303,"numField":257.93112327472255,"objField":{"BjGSvXpDe":6179224781278800384,"DNYMAI":2104490099294207755,"ZpANQYUSL":-5482401282312647818,"kwvdNTVsGX":-2768165766969742991,"zTEweLQtOp":-2630051902461761767},"stringDateField":"1901-09-08","stringDateTimeField":"1927-10-27T17:54:11Z","stringField":"MKhKsk","stringTimeField":"01:33:53.14Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":303,"numField":257.93112327472255,"stringDateField":"1901-09-08","stringDateTimeField":"1927-10-27T17:54:11Z","stringField":"MKhKsk","stringTimeField":"01:33:53.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3812,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3812,"uuid":"9e0a89fa-5655-11ee-8801-675ed0f8e89b"},"arrayField":["rugWGo","fdhJ","XfHHdNVrr","vqMFLmqz","MkXYLQ","SrBHR","OKglR","DYxBzdz"],"boolField":false,"intField":805,"numField":588.7512366625336,"objField":{"AUNUMP":-8551417192853106748,"NRwblwGGRB":3731949597084355842,"NjAUUhorix":-2423068925814152390,"wBXrBzJ":2206758645319835370},"stringDateField":"2010-04-19","stringDateTimeField":"1961-06-11T19:32:58Z","stringField":"utHRx","stringTimeField":"18:16:44.37Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":805,"numField":588.7512366625336,"stringDateField":"2010-04-19","stringDateTimeField":"1961-06-11T19:32:58Z","stringField":"utHRx","stringTimeField":"18:16:44.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3813,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3813,"uuid":"9e0a89fa-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["NcOsydH"],"boolField":false,"intField":439,"numField":844.7327795259481,"objField":{"VsSblGgczb":7019348680537410157,"WsCCch":-6410936799889045606,"YdPz":-3564783844814412985,"qGQio":-1211024925994857243,"vGdlqcRMLk":6794691553642786144},"stringDateField":"1938-12-05","stringDateTimeField":"1976-11-25T21:27:15Z","stringField":"vvJeCJyx","stringTimeField":"19:31:36.45Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":439,"numField":844.7327795259481,"stringDateField":"1938-12-05","stringDateTimeField":"1976-11-25T21:27:15Z","stringField":"vvJeCJyx","stringTimeField":"19:31:36.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3814,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3814,"uuid":"9e0a89fa-5655-11ee-9001-675ed0f8e89b"},"arrayField":["bpwt","WRpj","YiANJAWdL","rtyw","dAYWyQNB","sXqL","QanSI"],"boolField":false,"intField":-724,"numField":274.1771666002324,"objField":{"EsginIoDEA":5729304522038127097,"GtUbCMRDXf":-5456094082205137143,"HzojvdAzsj":-6424947676529287086,"OhpKdvm":-2837453697494433687,"SsJIAnTIpX":6616604360264749481,"YAYxEbLj":4629921424582992604,"fzNlqY":-1330652242110254966,"kEDe":3532142071308154611},"stringDateField":"2016-09-19","stringDateTimeField":"1966-08-04T22:18:18Z","stringField":"jUIkljsptD","stringTimeField":"02:08:33.48Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":-724,"numField":274.1771666002324,"stringDateField":"2016-09-19","stringDateTimeField":"1966-08-04T22:18:18Z","stringField":"jUIkljsptD","stringTimeField":"02:08:33.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3815,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3815,"uuid":"9e0a89fa-5655-11ee-9401-675ed0f8e89b"},"arrayField":["OIixMwIWnb","jDCmP","qRIQxs","PHwgdy","iybgeaqFXd"],"boolField":false,"intField":426,"numField":603.941040795102,"objField":{"DIyBgv":5645531563032100207,"FYcs":-6976331624508741212,"JDtVqevhU":-7581738994403888722,"blmgoHGB":-5476162884531722439,"dKJTj":1877988945916214286,"zhNZS":6825539211881693392},"stringDateField":"2011-06-10","stringDateTimeField":"1991-07-23T17:10:48Z","stringField":"finF","stringTimeField":"01:46:11.28Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":426,"numField":603.941040795102,"stringDateField":"2011-06-10","stringDateTimeField":"1991-07-23T17:10:48Z","stringField":"finF","stringTimeField":"01:46:11.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3816,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3816,"uuid":"9e0a89fa-5655-11ee-9801-675ed0f8e89b"},"arrayField":["iPGuCS","DbgBBZ","zfTZVHuDOb","WGWKHJxwQ"],"boolField":true,"intField":307,"numField":-442.3875118850281,"objField":{"LXuldeX":3155276137442347085,"MUvSpT":-5642608785133312586,"VOjxCFpO":-6722748978884121633,"aZwsztGsKn":8610003316955804032},"stringDateField":"1920-09-23","stringDateTimeField":"1939-09-23T12:16:12Z","stringField":"ZqMlchI","stringTimeField":"13:23:17.17Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":307,"numField":-442.3875118850281,"stringDateField":"1920-09-23","stringDateTimeField":"1939-09-23T12:16:12Z","stringField":"ZqMlchI","stringTimeField":"13:23:17.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3817,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3817,"uuid":"9e0a89fa-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["bPiJM","rDFyWGwDm","ejPG","iHMZtLqvjK","kuOKZXQxG","olvcFyki","KNVtyH","aaLD","MLUjTQddm","CnJLXXYzmE"],"boolField":true,"intField":-777,"numField":-585.0309005276971,"objField":{"ExYo":-6819216639951579532,"TSnqJBrb":-7416976332940579905,"VYOoZuAOY":-3016552483280361946,"bpGaEcq":3396614236929289567,"lxph":-3325474622071174549,"oAQYKJuwVf":-7209054296871943990,"zDVmnSXWTp":-8128259026219273134},"stringDateField":"1975-06-24","stringDateTimeField":"2004-08-18T07:24:25Z","stringField":"XVeMP","stringTimeField":"09:54:11.43Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":-777,"numField":-585.0309005276971,"stringDateField":"1975-06-24","stringDateTimeField":"2004-08-18T07:24:25Z","stringField":"XVeMP","stringTimeField":"09:54:11.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3818,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3818,"uuid":"9e0a89fa-5655-11ee-a001-675ed0f8e89b"},"arrayField":["OqdSHJskYi","HxkgVb","dzmXEq","MwejQtu","ctmmcAAT","uKteuj","RmiFkozS","mokHbVH","kaNz","ogzBEhZ"],"boolField":true,"intField":960,"numField":248.09214647081637,"objField":{"HVqBRNA":4922744139268704317,"STrsgRk":3707502024064278026,"SifyEMsuUv":6917926963609332359,"ZamhaC":2433561240242576084,"ePWUmx":-7456489518598029640,"rCLUOAOsd":8732222807872739558,"viwfKpl":-4793809759248077298},"stringDateField":"1997-11-16","stringDateTimeField":"1996-02-17T10:06:07Z","stringField":"CUzmBJrzjz","stringTimeField":"03:32:52.29Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":960,"numField":248.09214647081637,"stringDateField":"1997-11-16","stringDateTimeField":"1996-02-17T10:06:07Z","stringField":"CUzmBJrzjz","stringTimeField":"03:32:52.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3819,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3819,"uuid":"9e0a89fa-5655-11ee-a401-675ed0f8e89b"},"arrayField":["nBHL","QkADFNJ"],"boolField":true,"intField":-272,"numField":-16.539016227621328,"objField":{"DuRtQPjT":7968018462605312110,"EUbviBAxmj":1876254471081297006,"SGnecadP":8578123258995305557,"TJjzZs":2086612957243492255,"XOda":2029536492313614287,"dRFPaYuT":-4806411617720544571,"qxRGDTRw":-1572583213071380426,"tPOcObQTGn":-7441291946560680719},"stringDateField":"1988-01-03","stringDateTimeField":"2014-03-27T20:54:04Z","stringField":"EEIQVoghM","stringTimeField":"02:34:07.36Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":-272,"numField":-16.539016227621328,"stringDateField":"1988-01-03","stringDateTimeField":"2014-03-27T20:54:04Z","stringField":"EEIQVoghM","stringTimeField":"02:34:07.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3820,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3820,"uuid":"9e0a89fa-5655-11ee-a801-675ed0f8e89b"},"arrayField":["vTRJAIe"],"boolField":true,"intField":931,"numField":425.888714324661,"objField":{"ADPTlbXJCw":-3759699877270392105,"AYtZ":-1984943284183064365,"HBpmn":1249300399059430583,"IglmuImIc":-2008315460766956141,"dqwZSMqQTB":-6120491717885400000,"eHTHLFtTUC":6151791166585144675},"stringDateField":"1981-04-20","stringDateTimeField":"1902-09-20T18:52:14Z","stringField":"Zahf","stringTimeField":"10:16:44.38Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":931,"numField":425.888714324661,"stringDateField":"1981-04-20","stringDateTimeField":"1902-09-20T18:52:14Z","stringField":"Zahf","stringTimeField":"10:16:44.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3821,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3821,"uuid":"9e0a89fa-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["cyyoixKn","QpnVUHNZ","FZaVQ","YLVGHlj","AAxZPNGl","geOktwu","gkBMh","BVcjt","pmAoKgPxj","tzJtSPG"],"boolField":false,"intField":139,"numField":-944.2633705939536,"objField":{"FYxNhg":8473872500359292736,"joLysq":7268386102854214360,"tnCLObWE":-834839914359614617},"stringDateField":"1917-01-21","stringDateTimeField":"1981-10-13T18:59:08Z","stringField":"XFuc","stringTimeField":"13:44:55.37Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":139,"numField":-944.2633705939536,"stringDateField":"1917-01-21","stringDateTimeField":"1981-10-13T18:59:08Z","stringField":"XFuc","stringTimeField":"13:44:55.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3822,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3822,"uuid":"9e0a89fa-5655-11ee-b001-675ed0f8e89b"},"arrayField":["IFzOMNZJ","bBQbWibPgw","ACcVyrV","LmmcRJ","fkhYOkWDA","HKfQppqjDT","yqOtYfQZA","immg"],"boolField":true,"intField":-675,"numField":999.8228166840144,"objField":{"GjPEjHa":-8866168774295453734,"PpdmeX":-158738243850578650,"XDmXbr":-5725914831550678449,"ifKjo":-7901279835893997079,"ihdpwh":-6661356618361861441,"sLqduH":2218265837669313433},"stringDateField":"1967-04-28","stringDateTimeField":"1979-09-21T23:01:59Z","stringField":"cIGbdCW","stringTimeField":"11:28:39.26Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":-675,"numField":999.8228166840144,"stringDateField":"1967-04-28","stringDateTimeField":"1979-09-21T23:01:59Z","stringField":"cIGbdCW","stringTimeField":"11:28:39.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3823,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3823,"uuid":"9e0a89fa-5655-11ee-b401-675ed0f8e89b"},"arrayField":["wcfcKOZB","ZxmHS","tmhPYSPFOy","slZjmVHwMe","LemDKQhXM","nqOqD","ChTyPsqR","ylmpaG","EiGoLR","hzsUJDFSU"],"boolField":true,"intField":791,"numField":128.60319579292923,"objField":{"JOuMT":-7018703597314725257,"awMpXwSP":6727945185004594331,"oXmsSN":8329149063872281341},"stringDateField":"1936-01-30","stringDateTimeField":"1907-05-31T08:11:52Z","stringField":"iRCnODsCDe","stringTimeField":"19:26:01.26Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":791,"numField":128.60319579292923,"stringDateField":"1936-01-30","stringDateTimeField":"1907-05-31T08:11:52Z","stringField":"iRCnODsCDe","stringTimeField":"19:26:01.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3824,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3824,"uuid":"9e0a89fa-5655-11ee-b801-675ed0f8e89b"},"arrayField":["IlniVtFsn","YBclBNPfD","tRzaTXl","WAboCuPfz","YQFxpj"],"boolField":true,"intField":552,"numField":-105.20402658800732,"objField":{"HayiMHyCcb":524310163472972053,"JlpRR":-7296329607491278854,"QRhRffgVlO":-1358906505183095943,"XKXwHxKwRx":51160827593076781,"bUtGIDTGh":4128425987794345311,"qWMDtqVir":4771447793171817937,"xeTZ":-5796585866315546422},"stringDateField":"1981-03-05","stringDateTimeField":"1949-09-28T08:58:06Z","stringField":"RWgANS","stringTimeField":"21:38:22.31Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":552,"numField":-105.20402658800732,"stringDateField":"1981-03-05","stringDateTimeField":"1949-09-28T08:58:06Z","stringField":"RWgANS","stringTimeField":"21:38:22.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3825,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3825,"uuid":"9e0a89fa-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["NotbRA","GsTfQGAQB","ByvElGO","DWNygcc","EyXMPMnk","ZWKynoIx","ZDsDimrg","qQHj","jNHhuyK"],"boolField":false,"intField":-363,"numField":-873.2036563758487,"objField":{"Eqjf":5385369141331182465,"HQBXU":-8742182912140834419,"cRpp":-8306215652557704149,"iUxNMqy":-4479079230436700746,"moILv":-1806873025676787914,"omIoWfMWZq":6127531957419448999,"pQIDCrx":-4653563657647962290,"ryAPURWLi":4648955774325353101,"wXzOlg":6266319029892375589},"stringDateField":"1997-08-05","stringDateTimeField":"1900-04-13T14:52:59Z","stringField":"TKZKtOLrpd","stringTimeField":"23:31:10.45Z"},"flow_published_at":"2023-09-18T19:00:21.876377Z","intField":-363,"numField":-873.2036563758487,"stringDateField":"1997-08-05","stringDateTimeField":"1900-04-13T14:52:59Z","stringField":"TKZKtOLrpd","stringTimeField":"23:31:10.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3826,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3826,"uuid":"9e0a89fb-5655-11ee-8001-675ed0f8e89b"},"arrayField":["uIzvUdv","WtfAb","GJtUTgCKk","VRIxqEIql","JYSXns","Txavfx"],"boolField":false,"intField":45,"numField":839.9317858474132,"objField":{"AnbfKnP":8292373970229765406,"LYuhzH":8478092506793193096},"stringDateField":"1916-02-15","stringDateTimeField":"1974-07-20T01:24:44Z","stringField":"KUwtBtj","stringTimeField":"12:30:59.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":45,"numField":839.9317858474132,"stringDateField":"1916-02-15","stringDateTimeField":"1974-07-20T01:24:44Z","stringField":"KUwtBtj","stringTimeField":"12:30:59.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3827,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3827,"uuid":"9e0a89fb-5655-11ee-8401-675ed0f8e89b"},"arrayField":["KaVLLsY","JlmwdGMO","ckNMsH","BePVTulLk","hJPsgg","KfCO","ecUTmx","njfO"],"boolField":true,"intField":-62,"numField":758.3782844653042,"objField":{"Bxkp":-5184257116455773646,"DJQUM":9087783541971516823,"GYqLJal":-412910523779262888,"GktLDZ":4214377568245731118,"jDDO":7418211809928120068,"nqwyubIGsf":6242000043009685858,"rILSTzfMu":4809216224993764638,"sInjOmU":-859216093758623060},"stringDateField":"1974-03-04","stringDateTimeField":"1970-10-18T13:10:12Z","stringField":"YVCTK","stringTimeField":"17:05:17.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":-62,"numField":758.3782844653042,"stringDateField":"1974-03-04","stringDateTimeField":"1970-10-18T13:10:12Z","stringField":"YVCTK","stringTimeField":"17:05:17.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3828,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3828,"uuid":"9e0a89fb-5655-11ee-8801-675ed0f8e89b"},"arrayField":["YZtWRugTrE","aoWWonr","zwMMXCjOi","lvFtTv","QvVan","kwURU","AaKBLefHGM","rTsNzZH"],"boolField":true,"intField":-286,"numField":73.02347169915735,"objField":{"EjePkAf":-7154861864994116592,"RpKKqMbAKm":-4652569512156793954,"UDAsg":-916866084943018676,"UVxOHrebbV":-2793668313037530205,"XusFulX":3073509983688293506,"abSOwzMGQF":3338856266255679648,"cMZoRu":5286249800230936873,"oIHtOmMp":9094481585237184552,"rDNOGKMVbV":-1222093189249901127,"rhpzyPW":5079982648149942294},"stringDateField":"1980-06-04","stringDateTimeField":"1929-06-29T00:23:12Z","stringField":"EUQXrdvtA","stringTimeField":"18:01:57.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":-286,"numField":73.02347169915735,"stringDateField":"1980-06-04","stringDateTimeField":"1929-06-29T00:23:12Z","stringField":"EUQXrdvtA","stringTimeField":"18:01:57.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3829,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3829,"uuid":"9e0a89fb-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["nWvL","wwFFVv","yvfQcOzt","vhgrjBN"],"boolField":false,"intField":-438,"numField":-537.5386749813736,"objField":{"LVyfyWX":-619603034834874293,"RJCwcJx":-2265167676447884037,"XJReHfkmLZ":8733645472576591274,"mvHc":1929079125121261837,"tHNVkXb":7185015507500713360},"stringDateField":"1988-11-02","stringDateTimeField":"1908-10-11T15:42:11Z","stringField":"tdpVo","stringTimeField":"05:28:37.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":-438,"numField":-537.5386749813736,"stringDateField":"1988-11-02","stringDateTimeField":"1908-10-11T15:42:11Z","stringField":"tdpVo","stringTimeField":"05:28:37.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3830,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3830,"uuid":"9e0a89fb-5655-11ee-9001-675ed0f8e89b"},"arrayField":["CdTzYImJ","DQLoYpp","XyrrKDElpc","cZEkKQRv"],"boolField":false,"intField":-237,"numField":-219.2704467881011,"objField":{"IpWsxbuX":5456846169194799586,"Waswb":3961987237365303302,"azwUIQAFec":4984537168764535866,"ezibrtMSky":6805592462149255866,"jHnozjfDpr":5934015923916174275,"wAxGzK":-7006952717806610242,"wNEiRkYpID":-3521204401328499414},"stringDateField":"1940-01-12","stringDateTimeField":"1971-06-26T06:25:36Z","stringField":"hPTbR","stringTimeField":"05:13:54.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":-237,"numField":-219.2704467881011,"stringDateField":"1940-01-12","stringDateTimeField":"1971-06-26T06:25:36Z","stringField":"hPTbR","stringTimeField":"05:13:54.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3831,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3831,"uuid":"9e0a89fb-5655-11ee-9401-675ed0f8e89b"},"arrayField":["iZcpy","Cmvl","VvZXzvveH","VPpWLK","SxXSZs","VJvjbHtc","swTtyUreo","zvEsFdKtWQ","rxeQbPqwAc"],"boolField":false,"intField":-446,"numField":-399.52101909095705,"objField":{"IConkkcrXp":2763910232367736757,"OspSFjy":-3690260380345791162,"XZijlBPy":-7952240719612283866,"cpBLSog":-2425974160691070338,"zTGeqZSH":-7294859409795172547},"stringDateField":"1967-06-27","stringDateTimeField":"1986-07-02T16:37:38Z","stringField":"nMqKhUp","stringTimeField":"11:27:43.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":-446,"numField":-399.52101909095705,"stringDateField":"1967-06-27","stringDateTimeField":"1986-07-02T16:37:38Z","stringField":"nMqKhUp","stringTimeField":"11:27:43.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3832,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3832,"uuid":"9e0a89fb-5655-11ee-9801-675ed0f8e89b"},"arrayField":["tcJpApqBjQ","wULS","xsMXqAbR","bgibyvpSnb","VXybvapAx","GnpVwPJeo","bSqTr","xePpZx"],"boolField":true,"intField":368,"numField":235.052188354002,"objField":{"EXNZCIRdO":-1041905927014556664,"EdgziMj":-4319163853879637945,"UYuGDfUWk":4493669732828277438,"bFLjMNLKlA":-2162264963575068214,"gHEnQ":-6675580336680283269,"iuDZLkQOGg":-2372548746222267134,"mPRVxcNt":1010665621424873537,"pGfqjaW":6264725753054098700},"stringDateField":"1979-10-30","stringDateTimeField":"2003-08-28T08:07:05Z","stringField":"rIbh","stringTimeField":"00:39:14.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":368,"numField":235.052188354002,"stringDateField":"1979-10-30","stringDateTimeField":"2003-08-28T08:07:05Z","stringField":"rIbh","stringTimeField":"00:39:14.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3833,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3833,"uuid":"9e0a89fb-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ATveD","pMtLZWZga","YBsBggEOv","KKSjpYMEC"],"boolField":false,"intField":-757,"numField":-23.74945280154528,"objField":{"NHwJvbcFv":-2573744944896860767,"PAImRwXBBQ":-3981954423668376291},"stringDateField":"2010-01-11","stringDateTimeField":"1910-04-06T00:35:56Z","stringField":"scoo","stringTimeField":"04:26:49.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":-757,"numField":-23.74945280154528,"stringDateField":"2010-01-11","stringDateTimeField":"1910-04-06T00:35:56Z","stringField":"scoo","stringTimeField":"04:26:49.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3834,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3834,"uuid":"9e0a89fb-5655-11ee-a001-675ed0f8e89b"},"arrayField":["gbkwmC","zxRFp","FWtDwW","BndXDq","DTlZFEhT","BggYrjzi","glPVRscm","YMSQ","YWfBpIOJ","dQdIaXCa"],"boolField":false,"intField":802,"numField":941.1964536633168,"objField":{"CFpsgE":5473947703850130530,"hAwYIVKlAB":-6025414413393614820,"hCZpztxRs":4152498431429605937,"jfPo":-8778935905337638753,"sVpD":-3079568215134157343},"stringDateField":"1948-01-26","stringDateTimeField":"1906-11-12T08:33:12Z","stringField":"WNJBPp","stringTimeField":"18:27:03.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":802,"numField":941.1964536633168,"stringDateField":"1948-01-26","stringDateTimeField":"1906-11-12T08:33:12Z","stringField":"WNJBPp","stringTimeField":"18:27:03.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3835,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3835,"uuid":"9e0a89fb-5655-11ee-a401-675ed0f8e89b"},"arrayField":["IgpjAQ","fHNNPEJD","boKJj","DIQz","fCTozRT","NYsxIScCQK","VESRdv","mIFwSzz","RDNRLf"],"boolField":false,"intField":131,"numField":-198.77784602546544,"objField":{"TPwPxLhiR":5753376630199242477,"jXoVmtPbe":6012085414255630595,"mooO":3468546394573918117,"watVypv":-703865578354457828},"stringDateField":"1997-06-13","stringDateTimeField":"1998-06-28T07:03:27Z","stringField":"QhPk","stringTimeField":"21:54:59.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":131,"numField":-198.77784602546544,"stringDateField":"1997-06-13","stringDateTimeField":"1998-06-28T07:03:27Z","stringField":"QhPk","stringTimeField":"21:54:59.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3836,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3836,"uuid":"9e0a89fb-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ImKU","HdLPEN","aFbjVGVw","LFYYnH","QcHdrhpwrC","FClpZmyuS","RvnlXuLLan","GCoxljuE","JnPppb","UuhYHq"],"boolField":false,"intField":-20,"numField":-920.1411210952266,"objField":{"IlpDIgYMLB":921405805670833805,"KQjvlcppJD":-6439159647475636973,"MewwIFLzxO":4184427601878996184,"eJyJO":6250771362899639568,"yDESDQm":-8513555638754437982},"stringDateField":"2014-05-07","stringDateTimeField":"2001-12-03T06:17:13Z","stringField":"BEshnfinle","stringTimeField":"16:07:56.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":-20,"numField":-920.1411210952266,"stringDateField":"2014-05-07","stringDateTimeField":"2001-12-03T06:17:13Z","stringField":"BEshnfinle","stringTimeField":"16:07:56.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3837,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3837,"uuid":"9e0a89fb-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["xyjpqp","bWIOZ","pvOo","oIRPHrmos","ojsu"],"boolField":true,"intField":221,"numField":328.3681307178672,"objField":{"KQvAUf":-1522577040034057143,"apOTnfoJ":-6769219767317651166},"stringDateField":"1968-11-19","stringDateTimeField":"1987-04-02T23:23:10Z","stringField":"RrfIwDvH","stringTimeField":"00:45:14.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":221,"numField":328.3681307178672,"stringDateField":"1968-11-19","stringDateTimeField":"1987-04-02T23:23:10Z","stringField":"RrfIwDvH","stringTimeField":"00:45:14.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3838,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3838,"uuid":"9e0a89fb-5655-11ee-b001-675ed0f8e89b"},"arrayField":["eYNla","Crrol","YGSU"],"boolField":true,"intField":-615,"numField":100.48120783271088,"objField":{"RjqwktQP":589218624524246248,"thEF":-1395588234348933839,"xGRrUw":-840207307581829114},"stringDateField":"1931-04-17","stringDateTimeField":"1909-04-21T14:23:59Z","stringField":"rHfH","stringTimeField":"10:28:15.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":-615,"numField":100.48120783271088,"stringDateField":"1931-04-17","stringDateTimeField":"1909-04-21T14:23:59Z","stringField":"rHfH","stringTimeField":"10:28:15.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3839,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3839,"uuid":"9e0a89fb-5655-11ee-b401-675ed0f8e89b"},"arrayField":["BtAzQIoXO","wkrlZSoFV","MtAOlx","CknEtGO","GEthMQj"],"boolField":false,"intField":288,"numField":-841.0822919795161,"objField":{"BWuVT":-8418629464314331694,"IHBHH":-1214696372456309844,"KBnOR":-8452769339124062420,"nQkv":4875657836439846015,"qTovZDDPpO":-2385323693772869378,"rGMJoXcJ":-5937444416587922268,"tmIV":-7076034342048039143},"stringDateField":"1965-07-17","stringDateTimeField":"1983-05-27T22:07:44Z","stringField":"FkLjqg","stringTimeField":"18:29:12.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":288,"numField":-841.0822919795161,"stringDateField":"1965-07-17","stringDateTimeField":"1983-05-27T22:07:44Z","stringField":"FkLjqg","stringTimeField":"18:29:12.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3840,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3840,"uuid":"9e0a89fb-5655-11ee-b801-675ed0f8e89b"},"arrayField":["uDmiuz","snHvc","zltaMj","UMmc"],"boolField":false,"intField":-300,"numField":-286.45164786905633,"objField":{"DFBN":4365393201528222712,"MTLRw":2631831601543043778,"SRhlbSF":-1469644095163746788,"dnIMXaz":2619413825183809381,"olBntBoi":7053454880607276126,"sAeajq":2343999780626356473,"yaLr":-5174755806527255657},"stringDateField":"2009-11-23","stringDateTimeField":"2023-05-15T01:14:59Z","stringField":"KFHfiUe","stringTimeField":"12:50:34.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":-300,"numField":-286.45164786905633,"stringDateField":"2009-11-23","stringDateTimeField":"2023-05-15T01:14:59Z","stringField":"KFHfiUe","stringTimeField":"12:50:34.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3841,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3841,"uuid":"9e0a89fb-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["lSDkQx"],"boolField":true,"intField":-398,"numField":352.2180722506052,"objField":{"LRicgnxTw":1806312239625679709,"bGhkQZYLZp":1507467467258374334,"fzUkEiL":-5444553084519236263,"qOhLyg":-8781119622576986095,"wWdtLn":-5579863515716340575,"zladqAw":3961602875904122579},"stringDateField":"1915-05-13","stringDateTimeField":"1991-08-07T07:47:16Z","stringField":"ReKFAxR","stringTimeField":"22:23:45.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763771Z","intField":-398,"numField":352.2180722506052,"stringDateField":"1915-05-13","stringDateTimeField":"1991-08-07T07:47:16Z","stringField":"ReKFAxR","stringTimeField":"22:23:45.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3842,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3842,"uuid":"9e0a89fc-5655-11ee-8001-675ed0f8e89b"},"arrayField":["IcrpzxPQd","RBzKg","hxxFUI","JtILB","ftxLfS","iAFliqaNDE","LRJgKJXTr","yJxNUKzqEr"],"boolField":true,"intField":40,"numField":-375.8175999897851,"objField":{"CbWZfvNim":-1443756021669622319,"GVjRt":5924431072716248520,"IbaseFrY":-2705311112411311709,"PaFnHhx":2586779096556249868,"WMFNgYfHin":-3732135132352590109,"hoKZALQFfV":-8211429151437674430,"izhnh":6664472301792523523},"stringDateField":"2014-07-29","stringDateTimeField":"1980-08-14T03:53:02Z","stringField":"mzGiXE","stringTimeField":"05:02:33.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":40,"numField":-375.8175999897851,"stringDateField":"2014-07-29","stringDateTimeField":"1980-08-14T03:53:02Z","stringField":"mzGiXE","stringTimeField":"05:02:33.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3843,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3843,"uuid":"9e0a89fc-5655-11ee-8401-675ed0f8e89b"},"arrayField":["qsLZ","ZvRQfzaopN","Cirp","wzZtq","qpJb","DGhseTMJ","GQTscyUwDA","mzCRf","nVZAumF","RJlZKzq"],"boolField":false,"intField":-436,"numField":-205.99961764253135,"objField":{"MCanjS":3064931143586781859,"PFKfHQkfIb":3770798530421940186,"UaGlsNcy":-3078440266475048412,"VuwOfKS":2102811707680657792,"YbEJQUFVx":3834727165245176534,"gLPnlxWEx":-544509497641973189},"stringDateField":"1913-06-21","stringDateTimeField":"1939-08-31T06:52:58Z","stringField":"eqnFztNKuV","stringTimeField":"20:34:41.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":-436,"numField":-205.99961764253135,"stringDateField":"1913-06-21","stringDateTimeField":"1939-08-31T06:52:58Z","stringField":"eqnFztNKuV","stringTimeField":"20:34:41.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3844,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3844,"uuid":"9e0a89fc-5655-11ee-8801-675ed0f8e89b"},"arrayField":["MvyhSKMeTY","ytrgtFH","cSHBk","HrLGeoKUFs"],"boolField":true,"intField":-600,"numField":141.32753251848106,"objField":{"AiXkyfi":-4279427815206604966,"HyIYMecI":-6042048228222585853,"LLphqCG":-725501084308542531,"hrsjtu":6903150052269586593},"stringDateField":"2013-04-05","stringDateTimeField":"1967-02-01T10:36:36Z","stringField":"KioSxs","stringTimeField":"20:51:13.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":-600,"numField":141.32753251848106,"stringDateField":"2013-04-05","stringDateTimeField":"1967-02-01T10:36:36Z","stringField":"KioSxs","stringTimeField":"20:51:13.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3845,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3845,"uuid":"9e0a89fc-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["vDKxOYSHtZ","NbMB","ZJSj","QRJnDKPK","dHVBZZv","jhkfquVn","ZpkfhPKXd"],"boolField":false,"intField":436,"numField":-996.6136364486122,"objField":{"fNrDNlHxSa":-5807270779890816654,"yGPVlE":-4934871751503973966},"stringDateField":"1940-01-13","stringDateTimeField":"1942-11-11T01:08:45Z","stringField":"PYDPVn","stringTimeField":"11:50:35.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":436,"numField":-996.6136364486122,"stringDateField":"1940-01-13","stringDateTimeField":"1942-11-11T01:08:45Z","stringField":"PYDPVn","stringTimeField":"11:50:35.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3846,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3846,"uuid":"9e0a89fc-5655-11ee-9001-675ed0f8e89b"},"arrayField":["UjbgyDKR"],"boolField":true,"intField":-91,"numField":-728.16336435779,"objField":{"BIOLxzJIHQ":-4933868150146071425,"Lxvjv":-6536746058339655823,"sqylLwQ":8459423380450841618,"tqBTxNHZJ":1468593159774955369},"stringDateField":"1944-08-30","stringDateTimeField":"1921-09-12T10:03:10Z","stringField":"htYRc","stringTimeField":"13:54:44.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":-91,"numField":-728.16336435779,"stringDateField":"1944-08-30","stringDateTimeField":"1921-09-12T10:03:10Z","stringField":"htYRc","stringTimeField":"13:54:44.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3847,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3847,"uuid":"9e0a89fc-5655-11ee-9401-675ed0f8e89b"},"arrayField":["xoMYh","KdbAozFT","lujjpxM","WgYZfzvWbU","pOdYOiRvRI","XWjqB","WTJERKIA","KsiLdO"],"boolField":true,"intField":327,"numField":-944.885821948878,"objField":{"GWbuBLnBA":7587173058067493257,"KrBf":-9011422428234213408,"NNWk":1777009537642035037,"PpOIsdf":-2498708250548785109,"TShgIQaf":-2121744709751504331,"YHzDcrFO":6072173422454304478,"bRyOjF":6037703425350784311,"bosWGdaWUX":-3756807907605003900,"dYjrKHkO":4194572156532058944},"stringDateField":"1957-10-24","stringDateTimeField":"1934-07-19T21:11:56Z","stringField":"kGMxnq","stringTimeField":"19:39:54.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":327,"numField":-944.885821948878,"stringDateField":"1957-10-24","stringDateTimeField":"1934-07-19T21:11:56Z","stringField":"kGMxnq","stringTimeField":"19:39:54.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3848,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3848,"uuid":"9e0a89fc-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ZokG","McIR","AgzyeqXnBr","XcgamJHIsK","tAHAgQ","VUpCg","cGiAK","XKbFyD","ksSwbtoHqy","mOkWJfQVB"],"boolField":true,"intField":-718,"numField":40.18511147641867,"objField":{"AhDGqSkYJ":-9172280691590021925,"CNpDJDgrag":-4308428783863921122,"LEqTxhrbh":8942465361276223223,"YjkSXz":8588770306137934485,"uJED":3515587750160434453,"ugelSLNZH":1523232994386879940},"stringDateField":"2008-04-10","stringDateTimeField":"1934-09-09T14:01:38Z","stringField":"WyOtECv","stringTimeField":"10:12:06.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":-718,"numField":40.18511147641867,"stringDateField":"2008-04-10","stringDateTimeField":"1934-09-09T14:01:38Z","stringField":"WyOtECv","stringTimeField":"10:12:06.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3849,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3849,"uuid":"9e0a89fc-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["XlzcYPU","XAvAToN","Fjuc"],"boolField":true,"intField":-641,"numField":-618.4495642965487,"objField":{"BZhrSjtrCQ":489498517556802138,"QEupUecIM":1556200432640998564,"XjXXuiFZj":4237323850675779814,"aLuk":-3103502219602493747,"ldmLTVG":-5927031884145789704,"qDoACtuFbQ":-6064144724702674163,"sCJfpXfAy":-8028424749707167998,"uaKksaMQCF":-1315241491442992160,"wvgiZeTp":-3016927391072114827},"stringDateField":"1983-03-02","stringDateTimeField":"1927-09-11T04:50:49Z","stringField":"tZtHkYOG","stringTimeField":"04:00:34.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":-641,"numField":-618.4495642965487,"stringDateField":"1983-03-02","stringDateTimeField":"1927-09-11T04:50:49Z","stringField":"tZtHkYOG","stringTimeField":"04:00:34.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3850,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3850,"uuid":"9e0a89fc-5655-11ee-a001-675ed0f8e89b"},"arrayField":["fOyhnj","AHDDpsL","IoEUi","dMlrSn"],"boolField":false,"intField":-567,"numField":-844.329435213988,"objField":{"RmfqPwXz":1012160889755308835,"axrgqugoI":7607710689990931162},"stringDateField":"1975-08-12","stringDateTimeField":"1944-11-06T15:40:53Z","stringField":"DthoqVepoT","stringTimeField":"17:33:31.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":-567,"numField":-844.329435213988,"stringDateField":"1975-08-12","stringDateTimeField":"1944-11-06T15:40:53Z","stringField":"DthoqVepoT","stringTimeField":"17:33:31.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3851,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3851,"uuid":"9e0a89fc-5655-11ee-a401-675ed0f8e89b"},"arrayField":["SYhupMfMRK","KvSoec","ZOHVzsnz","CxTVl","ycaWr","FProyaR","KrrQeXNRU","AaTQTgb","IIiK","XcSXoG"],"boolField":true,"intField":403,"numField":123.90650122118862,"objField":{"JtBoO":-9181099304823185315,"LBZdNkifzT":-3403199021559301140,"MGhSGftS":-8482421617092741480,"UunXQXrYfR":-6349795786683844355,"bIaCObc":3186639935623342128,"ildnOK":-5798067595585968377,"lKCQ":5783301066715716417,"pCBMfKUCF":6271795894247259829},"stringDateField":"1956-09-19","stringDateTimeField":"1937-03-29T05:16:59Z","stringField":"xtyFWjidX","stringTimeField":"08:55:34.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":403,"numField":123.90650122118862,"stringDateField":"1956-09-19","stringDateTimeField":"1937-03-29T05:16:59Z","stringField":"xtyFWjidX","stringTimeField":"08:55:34.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3852,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3852,"uuid":"9e0a89fc-5655-11ee-a801-675ed0f8e89b"},"arrayField":["Ezcri","VmNQq","PlHIy","vHkg"],"boolField":false,"intField":-273,"numField":13.90072878097115,"objField":{"VMbkHs":-174219734880168674,"ZTzRUdPaEM":-7053361812344731206,"bHfyWhUScc":4228108156290293455,"fpMlErjWH":-7448308342878242706,"ogqKvbR":-2265422129701318533,"pHWnveb":-1484233350898540008,"quRUmrJNN":5902565452518083178,"sXeId":-8703856915075660724,"vjLpGmOv":828910533422316629},"stringDateField":"2017-05-09","stringDateTimeField":"2008-12-28T17:24:30Z","stringField":"waJka","stringTimeField":"19:34:38.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":-273,"numField":13.90072878097115,"stringDateField":"2017-05-09","stringDateTimeField":"2008-12-28T17:24:30Z","stringField":"waJka","stringTimeField":"19:34:38.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3853,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3853,"uuid":"9e0a89fc-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ENjjOnjGWA","uQWGmKPhgN","IBXKEASlQ","YOAVlYc","sdOkPJA","BblEZ","mzlm","oGqP","kvAXfUrE","ulDHfDiUUz"],"boolField":false,"intField":583,"numField":-725.3121117964253,"objField":{"LVIN":-6874664058495399771,"NLeNLZBZBR":3774410293913140105,"cOCVJ":-4339134925675667533,"hffzXdVhC":4696380521497353105},"stringDateField":"1901-04-27","stringDateTimeField":"1950-09-02T11:14:20Z","stringField":"gOgqv","stringTimeField":"21:00:36.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":583,"numField":-725.3121117964253,"stringDateField":"1901-04-27","stringDateTimeField":"1950-09-02T11:14:20Z","stringField":"gOgqv","stringTimeField":"21:00:36.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3854,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3854,"uuid":"9e0a89fc-5655-11ee-b001-675ed0f8e89b"},"arrayField":["tmyMCiGG","QHkFBMRD","zKsX","UukHH","BkYWlKI","xbCWYiWTn"],"boolField":false,"intField":-605,"numField":-942.9166505415164,"objField":{"FQecWqhAtT":-3341756191655715868,"tpNu":3345156660830803731},"stringDateField":"1992-11-10","stringDateTimeField":"2021-01-09T02:56:58Z","stringField":"xlROU","stringTimeField":"15:46:15.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":-605,"numField":-942.9166505415164,"stringDateField":"1992-11-10","stringDateTimeField":"2021-01-09T02:56:58Z","stringField":"xlROU","stringTimeField":"15:46:15.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3855,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3855,"uuid":"9e0a89fc-5655-11ee-b401-675ed0f8e89b"},"arrayField":["VrwHFMVgh"],"boolField":true,"intField":-463,"numField":-910.2203910014556,"objField":{"BLQerMblMG":-6699774406312462968,"Hlon":1395523187565912174,"INvlzv":2375332463089040332,"VxvWg":-7162581336273935862,"YbbUmpzr":-2463394291126403683,"YvvyBKGR":-2682856809389433228,"ZDiAlTz":4942738758463238030,"epbhLqrbR":5939020332557146961,"iweRdP":7735854883351927193,"yePxQLq":4636563747819927886},"stringDateField":"1957-04-19","stringDateTimeField":"1900-03-12T19:04:49Z","stringField":"dgWTCQBG","stringTimeField":"13:24:17.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":-463,"numField":-910.2203910014556,"stringDateField":"1957-04-19","stringDateTimeField":"1900-03-12T19:04:49Z","stringField":"dgWTCQBG","stringTimeField":"13:24:17.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3856,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3856,"uuid":"9e0a89fc-5655-11ee-b801-675ed0f8e89b"},"arrayField":["oHLwmVjq"],"boolField":true,"intField":-263,"numField":801.2808323773104,"objField":{"GiRGNhHu":2940484381199626248,"VzlIMB":343831382186045707,"XOpqoGK":2813142554751602456,"ZnWdE":2085917235575338413,"bQNgtegR":2627398354587252781,"cvSlJH":9118812587332713277,"kpdWNYR":5876640358786113258,"lAKbYsbn":905321671876630026,"tCIHaY":1195207980207477392,"uENClre":-4943507872062520864},"stringDateField":"2001-05-15","stringDateTimeField":"1948-10-17T21:36:26Z","stringField":"JPqJOuctZ","stringTimeField":"23:58:10.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":-263,"numField":801.2808323773104,"stringDateField":"2001-05-15","stringDateTimeField":"1948-10-17T21:36:26Z","stringField":"JPqJOuctZ","stringTimeField":"23:58:10.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3857,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3857,"uuid":"9e0a89fc-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ImgAuTYzlD","fDcKhel"],"boolField":false,"intField":-712,"numField":454.28843526542903,"objField":{"dQsWlcRH":5146355135647059386,"mCtMM":-5640328678425399010},"stringDateField":"1911-10-05","stringDateTimeField":"2014-05-02T11:13:17Z","stringField":"wgJvBShkSy","stringTimeField":"03:36:22.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763772Z","intField":-712,"numField":454.28843526542903,"stringDateField":"1911-10-05","stringDateTimeField":"2014-05-02T11:13:17Z","stringField":"wgJvBShkSy","stringTimeField":"03:36:22.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3858,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3858,"uuid":"9e0a89fd-5655-11ee-8001-675ed0f8e89b"},"arrayField":["WNJGnfHJMt","ZgJpgEH","OIrsBMGU"],"boolField":true,"intField":184,"numField":-94.18650670427176,"objField":{"RTkszqoG":-2189351949711050865,"VFwMbjSS":1707818174154017583,"ebLnVd":343491603845692543,"qCgPXo":-2840854104306549241,"wYyKPfGF":-8494540775665232143},"stringDateField":"2010-04-17","stringDateTimeField":"1947-12-31T18:54:26Z","stringField":"SFkzLr","stringTimeField":"06:15:15.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":184,"numField":-94.18650670427176,"stringDateField":"2010-04-17","stringDateTimeField":"1947-12-31T18:54:26Z","stringField":"SFkzLr","stringTimeField":"06:15:15.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3859,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3859,"uuid":"9e0a89fd-5655-11ee-8401-675ed0f8e89b"},"arrayField":["KYPsfKO","ifRcH","ShLEt","wSet","gxqY","RxOPcDdnh","GDPr","vVMJ","FJVTxtwgYP"],"boolField":true,"intField":-292,"numField":338.5781289322105,"objField":{"DCaDvC":4054833259675011683,"XDaLGvEpcj":-6032992714270028262,"YwGs":7713860797182474830,"bvzY":2289705658134290778,"dfMZnadESw":-7397152037926983048,"hrBWSFmeY":-8374228840404224441,"jhDwFFeAMd":2377682217678584722,"kNmK":6750868879492497588,"vXwYWjnsX":-4190560777731704437,"zIsZCleUkl":6866299019488184115},"stringDateField":"1937-05-24","stringDateTimeField":"2003-11-01T16:15:23Z","stringField":"JGRwsZZT","stringTimeField":"21:25:23.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":-292,"numField":338.5781289322105,"stringDateField":"1937-05-24","stringDateTimeField":"2003-11-01T16:15:23Z","stringField":"JGRwsZZT","stringTimeField":"21:25:23.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3860,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3860,"uuid":"9e0a89fd-5655-11ee-8801-675ed0f8e89b"},"arrayField":["wJOm","tRIkpDQYdP","dSmvclWtP","UonlQ","bJjk","DpUqvuTSLL","loTLp"],"boolField":false,"intField":-83,"numField":-472.10699347451055,"objField":{"EAAF":5296494376283451136,"IJVjYC":3360407262533415536,"TGgA":2004917659295340149,"hYpnJ":-1393289069579573732,"rCLhkPfM":3460933223671253997},"stringDateField":"1990-07-30","stringDateTimeField":"1907-11-25T12:59:38Z","stringField":"AZCRpBnPto","stringTimeField":"01:41:36.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":-83,"numField":-472.10699347451055,"stringDateField":"1990-07-30","stringDateTimeField":"1907-11-25T12:59:38Z","stringField":"AZCRpBnPto","stringTimeField":"01:41:36.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3861,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3861,"uuid":"9e0a89fd-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["EyScwa","ejWN","VXCiznvPME","NOvN","TsOWcle","clcJCUJY"],"boolField":false,"intField":-38,"numField":-831.013368266932,"objField":{"SuGkiX":7449414312079270156,"Vhrmw":1547685191521813067,"cVvfgP":2811588861571561842,"qaIanf":-5581911844606198305,"uQVdpUu":-4642529247922891544},"stringDateField":"2010-02-01","stringDateTimeField":"1952-02-29T12:30:17Z","stringField":"tyJuhRa","stringTimeField":"23:19:11.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":-38,"numField":-831.013368266932,"stringDateField":"2010-02-01","stringDateTimeField":"1952-02-29T12:30:17Z","stringField":"tyJuhRa","stringTimeField":"23:19:11.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3862,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3862,"uuid":"9e0a89fd-5655-11ee-9001-675ed0f8e89b"},"arrayField":["igcY","ZLWb","dZSR","SShPA"],"boolField":true,"intField":745,"numField":44.133727197293915,"objField":{"BBmQu":-8167099909130816946,"RudeMJKx":-3491862495090026103,"TbzDJP":3313253458309743094,"xyGhpquZm":-4120092432218452484},"stringDateField":"2017-03-02","stringDateTimeField":"1997-05-25T15:54:33Z","stringField":"gkzy","stringTimeField":"17:48:28.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":745,"numField":44.133727197293915,"stringDateField":"2017-03-02","stringDateTimeField":"1997-05-25T15:54:33Z","stringField":"gkzy","stringTimeField":"17:48:28.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3863,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3863,"uuid":"9e0a89fd-5655-11ee-9401-675ed0f8e89b"},"arrayField":["wbSwthax","vidqmp","reJLcgvP"],"boolField":true,"intField":495,"numField":-638.824486479042,"objField":{"EiwTf":-3920919024595001079,"JsyB":-3094683384602547422,"LGIJP":2397774137340912871,"NGnHyYd":-7119281902749716171,"YcbN":-7749895460810017187,"cPEgrEVhj":1755502423750109594,"wyIwOQiE":-5950098901947331577},"stringDateField":"1918-08-20","stringDateTimeField":"1951-02-27T11:40:24Z","stringField":"zVCJGVs","stringTimeField":"14:18:52.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":495,"numField":-638.824486479042,"stringDateField":"1918-08-20","stringDateTimeField":"1951-02-27T11:40:24Z","stringField":"zVCJGVs","stringTimeField":"14:18:52.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3864,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3864,"uuid":"9e0a89fd-5655-11ee-9801-675ed0f8e89b"},"arrayField":["PhTQS"],"boolField":true,"intField":-182,"numField":449.57019056992056,"objField":{"MeZbmFRXyM":4675764634148103878,"ZnXT":6587258845378200292,"iJjMPfwYD":-7930458912876993058,"uIMdZlbR":5534034417806836610,"vSQgPCeH":997826847598345238},"stringDateField":"1985-12-22","stringDateTimeField":"1957-08-19T12:45:11Z","stringField":"nZkhJ","stringTimeField":"18:35:23.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":-182,"numField":449.57019056992056,"stringDateField":"1985-12-22","stringDateTimeField":"1957-08-19T12:45:11Z","stringField":"nZkhJ","stringTimeField":"18:35:23.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3865,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3865,"uuid":"9e0a89fd-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["AOIrcn","JIcbNkA","cmZX","uonJ","ZuIDpzNIhX","adaEzYtstF","qdYqZHQU","wfsdKeFCo","uvnJwhnAAZ"],"boolField":false,"intField":403,"numField":494.26553470299297,"objField":{"DyyPmmtPv":-1898474049523043889,"KUKIQxBC":5111568165968869813,"PuXLT":3165412896726616492,"TyEztIVQP":-6102858771146886520,"iEmaZMNDNi":792312994751577272},"stringDateField":"1987-02-27","stringDateTimeField":"1920-08-15T17:49:38Z","stringField":"TtPJXfIE","stringTimeField":"11:00:21.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":403,"numField":494.26553470299297,"stringDateField":"1987-02-27","stringDateTimeField":"1920-08-15T17:49:38Z","stringField":"TtPJXfIE","stringTimeField":"11:00:21.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3866,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3866,"uuid":"9e0a89fd-5655-11ee-a001-675ed0f8e89b"},"arrayField":["aKvq","rSCNGvsf","wQQY","ObYnEChVM","IjELUt","OoDlIw","ceYK","XGBohrO"],"boolField":true,"intField":423,"numField":-11.37407796607226,"objField":{"JChr":4548250391451802377,"LjLmYlFo":-7365643151555718458,"QZVk":1295106779122641633,"dsyWNR":1406058439236408281,"lPTCeZqPVt":-7855244047708115994,"tTZZcP":8981085348242478633},"stringDateField":"1924-03-22","stringDateTimeField":"1906-03-08T23:59:07Z","stringField":"sKNpnaUc","stringTimeField":"03:00:59.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":423,"numField":-11.37407796607226,"stringDateField":"1924-03-22","stringDateTimeField":"1906-03-08T23:59:07Z","stringField":"sKNpnaUc","stringTimeField":"03:00:59.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3867,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3867,"uuid":"9e0a89fd-5655-11ee-a401-675ed0f8e89b"},"arrayField":["pwnlbx","POGz"],"boolField":false,"intField":657,"numField":312.7609897379844,"objField":{"bjRUydHBj":5304703105697745576},"stringDateField":"1999-11-06","stringDateTimeField":"1904-01-04T23:40:37Z","stringField":"cChFWLS","stringTimeField":"17:30:50.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":657,"numField":312.7609897379844,"stringDateField":"1999-11-06","stringDateTimeField":"1904-01-04T23:40:37Z","stringField":"cChFWLS","stringTimeField":"17:30:50.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3868,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3868,"uuid":"9e0a89fd-5655-11ee-a801-675ed0f8e89b"},"arrayField":["mHzT","tLnk"],"boolField":true,"intField":-62,"numField":646.678761484188,"objField":{"IrsvV":4271784771130858782,"MbgRQc":7686496086377930258,"TItRvvkB":9140541405409106448,"bxakRO":9101402683254089684,"cFKRE":-7418743195291035095,"flJSvoHfj":-5137468674597609496,"hXDUFcw":-3108630791227369128,"mXZh":2585617094386611462,"sGAcqKP":-2072053963273109015,"yNHfPVfsbf":3850326021824809988},"stringDateField":"1986-01-02","stringDateTimeField":"1930-03-17T18:08:14Z","stringField":"jlsG","stringTimeField":"07:46:08.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":-62,"numField":646.678761484188,"stringDateField":"1986-01-02","stringDateTimeField":"1930-03-17T18:08:14Z","stringField":"jlsG","stringTimeField":"07:46:08.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3869,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3869,"uuid":"9e0a89fd-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["VUJA","NYnKgeYw","nXIrcty","wCcgyyTEk","FXPIwcSmUL","wldUYx","gBAcdf","KVPIDBaeYb","xgVCwPijMn","BGXg"],"boolField":true,"intField":-743,"numField":-321.68193212550125,"objField":{"XDrKDQBXTB":-9137066176824800355,"XhNF":2066105892645791816,"YbhIwoDM":-9130597443877197927,"hzyecwN":-1553645844387071372,"kIQbZ":-5114568530922933787,"oJrnTxY":7672064444276794528,"rCCarxgtSi":-1753226968405321796,"tdvXsglI":-2779161666668802446,"vXjQMZAK":6309508449290850627,"ykAly":2357685190337289114},"stringDateField":"1947-06-10","stringDateTimeField":"1982-11-15T16:11:07Z","stringField":"BUSoXSreoT","stringTimeField":"01:49:35.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":-743,"numField":-321.68193212550125,"stringDateField":"1947-06-10","stringDateTimeField":"1982-11-15T16:11:07Z","stringField":"BUSoXSreoT","stringTimeField":"01:49:35.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3870,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3870,"uuid":"9e0a89fd-5655-11ee-b001-675ed0f8e89b"},"arrayField":["gYeFUU","VWphVWv","bFryAi","Snxygf"],"boolField":true,"intField":-353,"numField":636.1929054528423,"objField":{"xxNm":-840531690034959756},"stringDateField":"1932-08-07","stringDateTimeField":"1908-08-21T06:57:57Z","stringField":"aUomk","stringTimeField":"19:16:22.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":-353,"numField":636.1929054528423,"stringDateField":"1932-08-07","stringDateTimeField":"1908-08-21T06:57:57Z","stringField":"aUomk","stringTimeField":"19:16:22.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3871,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3871,"uuid":"9e0a89fd-5655-11ee-b401-675ed0f8e89b"},"arrayField":["eAlDuTLlJ","pZMPlaztKa","rUwC","HgFwo","ToAPeVjP","fPeZggoyB"],"boolField":false,"intField":-654,"numField":329.189653925674,"objField":{"JsHKDSTXYt":-3377291758656020795,"LfBmDlO":-5110469259383194825,"NXkaXdkp":-6625288808019314107,"NrqeYLVtFf":-4147435924203137299,"NymYJgGjRA":4770587097463218732,"kXDKTSIl":-1716836549208102318,"oSgfd":1064251846131719232,"rqBqJqehAU":-709196297355628627,"uINHIrWeSe":3782136839641259327,"zXWKBNh":-4829168209992051285},"stringDateField":"1954-01-27","stringDateTimeField":"1948-10-08T01:16:26Z","stringField":"STJzDbxBS","stringTimeField":"03:37:49.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":-654,"numField":329.189653925674,"stringDateField":"1954-01-27","stringDateTimeField":"1948-10-08T01:16:26Z","stringField":"STJzDbxBS","stringTimeField":"03:37:49.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3872,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3872,"uuid":"9e0a89fd-5655-11ee-b801-675ed0f8e89b"},"arrayField":["EJtXC","gKzX","SCsgVf","Xyow","boHohY","tcqG","nekA","yunp","xMXjlh","jzZXsXUZ"],"boolField":false,"intField":-27,"numField":836.6069928222861,"objField":{"BphngOoNgU":7606365962870204951,"CVKTVsfNg":-6979833262078229955,"FtcMxKkvrb":-2237600855072079835,"OBBZfEhmGm":-257913070588733374,"OUppXdqwI":-845570576576571811,"WphdKRCoyQ":-8868822762534226480,"fWRseAUf":367668527504313594,"rENx":-8490225386491384312,"wWtqP":-7029190857487392327},"stringDateField":"1953-02-25","stringDateTimeField":"1995-05-02T20:28:15Z","stringField":"jgMRdCl","stringTimeField":"00:18:17.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":-27,"numField":836.6069928222861,"stringDateField":"1953-02-25","stringDateTimeField":"1995-05-02T20:28:15Z","stringField":"jgMRdCl","stringTimeField":"00:18:17.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3873,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3873,"uuid":"9e0a89fd-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["QHUg","LBEaJJ","lFihMg","JmRn","kersWG","JeQSGev","LuWVRneK"],"boolField":false,"intField":266,"numField":399.0133691705482,"objField":{"GdcT":-3228102366577729892,"HmgHW":7737183333569981980,"gTwYHp":-6257240225795835025,"oLNTaadw":-7881896086980710896},"stringDateField":"1903-01-09","stringDateTimeField":"1918-05-31T03:23:29Z","stringField":"pmKK","stringTimeField":"23:55:24.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763773Z","intField":266,"numField":399.0133691705482,"stringDateField":"1903-01-09","stringDateTimeField":"1918-05-31T03:23:29Z","stringField":"pmKK","stringTimeField":"23:55:24.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3874,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3874,"uuid":"9e0a89fe-5655-11ee-8001-675ed0f8e89b"},"arrayField":["DWwVw"],"boolField":true,"intField":-796,"numField":-433.13001379542806,"objField":{"EHEUjreT":4451044824824856090,"OgXtqkA":2042986429779359404,"PovevBGy":615162485206293592,"dZtLmJ":6508537924567201743},"stringDateField":"1911-02-12","stringDateTimeField":"1968-07-14T23:26:37Z","stringField":"AuVJFGwN","stringTimeField":"10:32:55.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":-796,"numField":-433.13001379542806,"stringDateField":"1911-02-12","stringDateTimeField":"1968-07-14T23:26:37Z","stringField":"AuVJFGwN","stringTimeField":"10:32:55.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3875,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3875,"uuid":"9e0a89fe-5655-11ee-8401-675ed0f8e89b"},"arrayField":["LtCPaV","lbnVijeBFX","zmroIX","acQaxVD"],"boolField":true,"intField":-622,"numField":557.9476623154542,"objField":{"LMDUAjjHPc":-3916486266121488185,"OnQbz":3740807529182218498,"UgPMcGzNXm":8453800741639645489,"vLikHENcl":2398163609837753523},"stringDateField":"2018-12-04","stringDateTimeField":"1971-10-02T22:57:21Z","stringField":"wVjMD","stringTimeField":"13:11:27.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":-622,"numField":557.9476623154542,"stringDateField":"2018-12-04","stringDateTimeField":"1971-10-02T22:57:21Z","stringField":"wVjMD","stringTimeField":"13:11:27.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3876,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3876,"uuid":"9e0a89fe-5655-11ee-8801-675ed0f8e89b"},"arrayField":["Xgao","uKPlQuEXB","mJGdus","HkFstmoaQ","NuVaBqWyya","mPeSlxZBSb","iqjrLLcoJ"],"boolField":true,"intField":407,"numField":997.6345406230116,"objField":{"DaJt":-7479517591408140488,"KaJVg":-1831264930755507394},"stringDateField":"2005-07-02","stringDateTimeField":"1947-04-24T23:37:17Z","stringField":"qpZxmOU","stringTimeField":"16:16:53.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":407,"numField":997.6345406230116,"stringDateField":"2005-07-02","stringDateTimeField":"1947-04-24T23:37:17Z","stringField":"qpZxmOU","stringTimeField":"16:16:53.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3877,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3877,"uuid":"9e0a89fe-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KhKMxlsXfl","cBuPwJFQzX","JwOkKPjaaE","yJBPp"],"boolField":false,"intField":427,"numField":-378.8061799141517,"objField":{"SkRe":-1366708520433862925,"bxKg":-7607882226886347696,"ynHJfqjL":-9179348212847575347},"stringDateField":"2009-02-25","stringDateTimeField":"1967-05-16T12:02:14Z","stringField":"jeau","stringTimeField":"16:32:05.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":427,"numField":-378.8061799141517,"stringDateField":"2009-02-25","stringDateTimeField":"1967-05-16T12:02:14Z","stringField":"jeau","stringTimeField":"16:32:05.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3878,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3878,"uuid":"9e0a89fe-5655-11ee-9001-675ed0f8e89b"},"arrayField":["OWHIEbbN","VlVtjDvLX","nMYwaFBZIx","FACGv","dxwYmqIh","jItuEI","apaVxnH","GuNjIbmuC"],"boolField":true,"intField":312,"numField":720.3963902407744,"objField":{"IWtszvX":2050266303271574191,"SqoIu":-5851675078336294028,"dfAnUcc":-7543907363937451854,"stxIgf":-8826725202008437180,"voLdGaaUP":-1688129260742748034,"xknualX":25624409017409446},"stringDateField":"1944-12-15","stringDateTimeField":"1977-02-17T07:26:28Z","stringField":"HqLLRPHg","stringTimeField":"20:48:24.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":312,"numField":720.3963902407744,"stringDateField":"1944-12-15","stringDateTimeField":"1977-02-17T07:26:28Z","stringField":"HqLLRPHg","stringTimeField":"20:48:24.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3879,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3879,"uuid":"9e0a89fe-5655-11ee-9401-675ed0f8e89b"},"arrayField":["zZgGA","ilbvclqmV"],"boolField":false,"intField":-957,"numField":-803.4326689948132,"objField":{"JooGSC":298185286570861099,"ZVST":3778890677232197869,"bzhavi":5326366188641487132,"ngZpfV":7671600299391496237,"nvmCobBXJQ":2934800012483893864,"suApwagY":2446741188421308037},"stringDateField":"1915-03-25","stringDateTimeField":"1930-12-08T01:55:41Z","stringField":"rUpNHQd","stringTimeField":"19:27:28.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":-957,"numField":-803.4326689948132,"stringDateField":"1915-03-25","stringDateTimeField":"1930-12-08T01:55:41Z","stringField":"rUpNHQd","stringTimeField":"19:27:28.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3880,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3880,"uuid":"9e0a89fe-5655-11ee-9801-675ed0f8e89b"},"arrayField":["EcSrYYnFPt"],"boolField":false,"intField":326,"numField":-91.60344461445791,"objField":{"CsoHnoM":-8117785606498565815,"QJvoRt":-9042300508215495691,"mSNo":-1687477487478298797,"viyqL":-3033663912226229637},"stringDateField":"1956-02-26","stringDateTimeField":"1955-06-09T20:39:53Z","stringField":"sYvsZLlVYf","stringTimeField":"02:11:28.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":326,"numField":-91.60344461445791,"stringDateField":"1956-02-26","stringDateTimeField":"1955-06-09T20:39:53Z","stringField":"sYvsZLlVYf","stringTimeField":"02:11:28.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3881,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3881,"uuid":"9e0a89fe-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["RggjR","mBHZWp","wMZB","FPZEnZkQT","OOVilMse","nPLftwgSIW","Uhxr","ytJZnZFIun"],"boolField":false,"intField":790,"numField":-176.9881401146335,"objField":{"EojXnhpl":-8834540575331206328,"ZGKSQYzXE":3752548277807127716,"gtEP":3607901080215811746,"vxPz":-7282812535092269623},"stringDateField":"1922-12-01","stringDateTimeField":"1907-02-01T19:07:36Z","stringField":"shzrmi","stringTimeField":"20:23:29.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":790,"numField":-176.9881401146335,"stringDateField":"1922-12-01","stringDateTimeField":"1907-02-01T19:07:36Z","stringField":"shzrmi","stringTimeField":"20:23:29.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3882,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3882,"uuid":"9e0a89fe-5655-11ee-a001-675ed0f8e89b"},"arrayField":["swyYG","ysQXxzbHUg","KzkB","oahKe"],"boolField":false,"intField":512,"numField":-257.66894350273964,"objField":{"WKzFEeNCMb":-1970334446338679167,"ueIDEOepO":2973749775403467987,"wdxpHdg":1450718814458736505},"stringDateField":"1989-04-24","stringDateTimeField":"1923-12-24T05:15:37Z","stringField":"LOKXk","stringTimeField":"05:05:48.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":512,"numField":-257.66894350273964,"stringDateField":"1989-04-24","stringDateTimeField":"1923-12-24T05:15:37Z","stringField":"LOKXk","stringTimeField":"05:05:48.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3883,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3883,"uuid":"9e0a89fe-5655-11ee-a401-675ed0f8e89b"},"arrayField":["AFVH","EQOGkQT","GZOUipOh","jWTNfdW","RZgznCHtK","HaAKY","HNfGm","HMqn","fSaL","eHVXNnSH"],"boolField":true,"intField":-579,"numField":958.1902026871956,"objField":{"EgztgW":8055632754748506099,"FTpjdB":-1891146488047293743,"NUft":-2364245394047077813,"WudC":2515866540029006768,"ZPcMOA":1459601049538990195,"fcLYPgznFd":-8188484238404101657,"icvTr":8846496632236495077,"jYlbfmrQ":-2797519874556355087,"nREK":-7253826345276905757,"ngTfZi":-5735271710606359618},"stringDateField":"1930-01-09","stringDateTimeField":"1946-08-02T01:26:51Z","stringField":"kNitOsmqEG","stringTimeField":"02:32:47.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":-579,"numField":958.1902026871956,"stringDateField":"1930-01-09","stringDateTimeField":"1946-08-02T01:26:51Z","stringField":"kNitOsmqEG","stringTimeField":"02:32:47.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3884,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3884,"uuid":"9e0a89fe-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nrSuOiIWW","FokPoM","iTMMHfZ"],"boolField":false,"intField":-93,"numField":-398.2864389173213,"objField":{"FPRTECWpAy":-7045781551723858497,"HLIxzZ":772773511349156034,"HhAa":1622510355295468095,"OyGGjTzSKO":-2159775173374900269,"RyDMaxJwFE":6890457285982158306,"ZabSjrbRj":4136584912877203748,"cBKcqqLjhu":8193463717521368470,"dwOymL":-629113933719176737,"qwJsWtk":3174742578864602623},"stringDateField":"2011-04-08","stringDateTimeField":"1993-11-05T12:19:53Z","stringField":"qRmlh","stringTimeField":"14:57:12.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":-93,"numField":-398.2864389173213,"stringDateField":"2011-04-08","stringDateTimeField":"1993-11-05T12:19:53Z","stringField":"qRmlh","stringTimeField":"14:57:12.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3885,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3885,"uuid":"9e0a89fe-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["LWqzSmv","oFpqimKQaa","lRnbtBX","tcGrwS","rvXqMb","PhBvZhCEAz","IDVQ","TvAekJALi"],"boolField":false,"intField":-47,"numField":337.47963696537784,"objField":{"KtwYDzzh":-7945117562266606555,"QxNB":-3274277978217452538,"WStSXmf":3719019412147959880,"Xbrq":6974969152382423247,"lDSSCgWKk":6405024676281186472,"oSusQIQEWW":-5761238717962396474,"qPkv":4572209426819013597,"rnDskbDV":-1966458843123608359,"xynwlQj":-9173790611667437850},"stringDateField":"1947-06-11","stringDateTimeField":"1930-01-21T11:39:41Z","stringField":"SkPTbn","stringTimeField":"03:54:07.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":-47,"numField":337.47963696537784,"stringDateField":"1947-06-11","stringDateTimeField":"1930-01-21T11:39:41Z","stringField":"SkPTbn","stringTimeField":"03:54:07.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3886,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3886,"uuid":"9e0a89fe-5655-11ee-b001-675ed0f8e89b"},"arrayField":["iLBrEHJ","ObhIlyKPld","dAinvgH","cllfaiYQTy","qkdgGo"],"boolField":true,"intField":-589,"numField":-536.2130786796688,"objField":{"CCsuOJUuLW":5076334849138103318,"MBWKYdG":-321593274400103247,"XCZJnMusXc":6504422200492104406,"dcMhrtGgY":6284213843735034322,"fCdblSo":5467743554150284303,"kWJuc":-4561751860742734716,"sYjHlHabT":-1025150653367455106,"wxoiWaxjv":8962665702085032100,"yYXlc":8350394966370286125},"stringDateField":"2015-04-21","stringDateTimeField":"1965-06-09T18:26:22Z","stringField":"ofih","stringTimeField":"19:26:13.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":-589,"numField":-536.2130786796688,"stringDateField":"2015-04-21","stringDateTimeField":"1965-06-09T18:26:22Z","stringField":"ofih","stringTimeField":"19:26:13.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3887,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3887,"uuid":"9e0a89fe-5655-11ee-b401-675ed0f8e89b"},"arrayField":["dLxryhWWqQ","nRUUN","fJIjnSMTE","tDzeJp","rIwmj","SFDBuMSUsY","STVeHlZn"],"boolField":true,"intField":227,"numField":-90.33055157136438,"objField":{"XwDCLIJJ":-749896821320740702,"rClR":3978854376955681502},"stringDateField":"1917-01-01","stringDateTimeField":"2023-05-16T02:05:24Z","stringField":"pQOjximm","stringTimeField":"12:19:04.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":227,"numField":-90.33055157136438,"stringDateField":"1917-01-01","stringDateTimeField":"2023-05-16T02:05:24Z","stringField":"pQOjximm","stringTimeField":"12:19:04.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3888,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3888,"uuid":"9e0a89fe-5655-11ee-b801-675ed0f8e89b"},"arrayField":["NukFdJeFa","fQqaNWUzqN"],"boolField":true,"intField":-560,"numField":381.28593867448177,"objField":{"rPHLDDDNzi":4229908084496329654},"stringDateField":"1993-12-20","stringDateTimeField":"1986-01-06T05:57:45Z","stringField":"FYRozatJtd","stringTimeField":"04:30:06.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":-560,"numField":381.28593867448177,"stringDateField":"1993-12-20","stringDateTimeField":"1986-01-06T05:57:45Z","stringField":"FYRozatJtd","stringTimeField":"04:30:06.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3889,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3889,"uuid":"9e0a89fe-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["TgaYm","xRXFzigtJ","DeDIiXZukx"],"boolField":true,"intField":-809,"numField":664.2575485278688,"objField":{"CRONXEoYi":2813775553047740509,"EXhveE":-1806527436856055646,"IcoQFeX":-8910339744389795797},"stringDateField":"1967-05-09","stringDateTimeField":"1976-12-07T21:17:22Z","stringField":"GMndWbogbl","stringTimeField":"11:49:23.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763774Z","intField":-809,"numField":664.2575485278688,"stringDateField":"1967-05-09","stringDateTimeField":"1976-12-07T21:17:22Z","stringField":"GMndWbogbl","stringTimeField":"11:49:23.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3890,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3890,"uuid":"9e0a89ff-5655-11ee-8001-675ed0f8e89b"},"arrayField":["rWAne","FzxAqt","ldFLoYThbG","UHNkLejQj","oYJC","PQns","NLrwoOHegi","vULIskoiE","wYYXUgs","RghSgdr"],"boolField":true,"intField":791,"numField":-408.562554493464,"objField":{"FvfcKksZ":-4733420483935593194,"MMrRgER":-5685941401046852953,"OqicHkDjaA":8803134973778845699,"QBqNeU":-1069715952612881319,"RLretQa":-7185688873922413153,"YrVzQqh":7081072942771963649,"lfXmD":3612751499283527964,"pRtrTBGf":-4022346875607637705,"tmjiYIJQuH":7598221240322260896,"votHBpQx":-7687830864815838945},"stringDateField":"1977-04-29","stringDateTimeField":"1947-09-11T14:48:56Z","stringField":"qusnRueJf","stringTimeField":"00:24:33.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":791,"numField":-408.562554493464,"stringDateField":"1977-04-29","stringDateTimeField":"1947-09-11T14:48:56Z","stringField":"qusnRueJf","stringTimeField":"00:24:33.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3891,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3891,"uuid":"9e0a89ff-5655-11ee-8401-675ed0f8e89b"},"arrayField":["SmGtF","DCoDUzUY","XXyn","fjpTBi","qSqtYVioHC","XVYRH"],"boolField":true,"intField":-381,"numField":154.66306073686687,"objField":{"EWxcl":-8822911647021219007,"LeNfHZmOAd":9143188917216429895,"UzRh":-6419916250837474838,"aawt":-666103230903469898,"gklCgSyBL":7696074626786995712,"lGXinPJTZR":-8725565704589036382,"nEfnM":-5585891023249146404,"vHVwZDDr":-4531511546160646924,"vcJqVMd":8754288495424118906,"wbELGfvZou":-298157519222894411},"stringDateField":"2012-05-08","stringDateTimeField":"1900-07-21T12:04:51Z","stringField":"UEuPhsF","stringTimeField":"12:35:09.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":-381,"numField":154.66306073686687,"stringDateField":"2012-05-08","stringDateTimeField":"1900-07-21T12:04:51Z","stringField":"UEuPhsF","stringTimeField":"12:35:09.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3892,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3892,"uuid":"9e0a89ff-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bNjJgXYxT","LAWKSeHqw","xJstNzMONb","VPiERb","plJWGkAJd","yjLfyTkGwG","ciojtJiwi"],"boolField":true,"intField":154,"numField":-311.6349545865783,"objField":{"Nxjwjtilp":6030513882325595492,"TnJSPV":4444469833276139366,"giWxFpJbo":6009118186343793542,"nOfZNwth":-4838813516412175610},"stringDateField":"1936-01-30","stringDateTimeField":"2021-01-15T01:04:41Z","stringField":"wwXUphXo","stringTimeField":"01:38:49.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":154,"numField":-311.6349545865783,"stringDateField":"1936-01-30","stringDateTimeField":"2021-01-15T01:04:41Z","stringField":"wwXUphXo","stringTimeField":"01:38:49.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3893,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3893,"uuid":"9e0a89ff-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["BhkmWdR","UDCIvYLRkE","DuYwhARc","xEnJQ","BqQxOTxz","UQrruDGqPZ","SysBkjX","gdLIpgguh","GqDHLFlj","YbffRFfe"],"boolField":false,"intField":-635,"numField":-556.6732941924263,"objField":{"Dkyq":-8484313358733375266,"YtJivIB":5136998856755559158,"aBQhYLX":7373212161880407723,"aINr":-5984162074002456191,"dZUIxShroM":-2102586945691710172,"dxeFMBrjpS":-7996892837237319395,"iLySvySJc":3300585641812601380,"pxfcHl":8275575602350619368,"uEGhzYyX":6607425078537753492},"stringDateField":"2004-02-27","stringDateTimeField":"1930-12-20T17:53:45Z","stringField":"DrjykzQis","stringTimeField":"13:48:11.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":-635,"numField":-556.6732941924263,"stringDateField":"2004-02-27","stringDateTimeField":"1930-12-20T17:53:45Z","stringField":"DrjykzQis","stringTimeField":"13:48:11.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3894,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3894,"uuid":"9e0a89ff-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ivdSxLn","zjma","qOveS","BDAZDfiXua","laYEvdXk","NqZO","VbarMMyD","MXSpeU","mvXhS","LhCy"],"boolField":true,"intField":-560,"numField":564.1094309288253,"objField":{"EBosYjVFH":-8578269645073704086,"EpVKCXuR":-2918259040612171507,"Pqbqx":8179849663367186046,"TJYGRh":1264741508668593328,"XjmdoQxvr":141834936682731105,"ZeYYNCK":4934612043116535268,"edMjM":-3003752235972193942,"xWaHN":-6815137499779964689},"stringDateField":"1992-08-01","stringDateTimeField":"2001-04-23T12:09:06Z","stringField":"raUxOzcNj","stringTimeField":"19:02:36.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":-560,"numField":564.1094309288253,"stringDateField":"1992-08-01","stringDateTimeField":"2001-04-23T12:09:06Z","stringField":"raUxOzcNj","stringTimeField":"19:02:36.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3895,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3895,"uuid":"9e0a89ff-5655-11ee-9401-675ed0f8e89b"},"arrayField":["rLcAT","CggMrCgmV","IqYXze","oDpBolvhb"],"boolField":false,"intField":224,"numField":306.102838084938,"objField":{"Bmnnle":7909147226793382135,"HbXrASMw":-1579984976499031142,"JWMXs":-3259335271682289637,"SKJeZitgEd":-612023105712013998,"TckmNKXs":6111768367266118499,"fRInexQ":-3585398993416539284,"htuBBanpvm":118344245281990948,"jNjNSWPtnO":5684433334062812254,"xbvz":-4744508919664886966,"yTswmaumo":-6850307693178804476},"stringDateField":"1979-12-05","stringDateTimeField":"1944-04-05T09:11:17Z","stringField":"nVGfkmse","stringTimeField":"16:19:57.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":224,"numField":306.102838084938,"stringDateField":"1979-12-05","stringDateTimeField":"1944-04-05T09:11:17Z","stringField":"nVGfkmse","stringTimeField":"16:19:57.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3896,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3896,"uuid":"9e0a89ff-5655-11ee-9801-675ed0f8e89b"},"arrayField":["qdiz","SYWHmkzee","cXKS","YlLOcC","nvVLxHAw","wWEurKdUQh","SeCuD","FdDVYQbeGd"],"boolField":true,"intField":272,"numField":-951.0548075428252,"objField":{"CnumCUgq":-5111843831930604177,"YshAwmSg":2644379802807349936,"gGIkU":-2432438278908058426,"kCzR":-9130255688240203195,"oOodbnv":362078787623337438,"rkgO":257846980579768061},"stringDateField":"1988-05-11","stringDateTimeField":"1981-07-28T21:44:56Z","stringField":"eFpKR","stringTimeField":"17:54:31.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":272,"numField":-951.0548075428252,"stringDateField":"1988-05-11","stringDateTimeField":"1981-07-28T21:44:56Z","stringField":"eFpKR","stringTimeField":"17:54:31.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3897,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3897,"uuid":"9e0a89ff-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["igYmBjYh","Dfeb","FKeY","zRnEQ","juYoUKE","nlOw","PeRdS"],"boolField":true,"intField":-394,"numField":520.4795711535131,"objField":{"WgLVA":-5115166998208721851,"ebWEQiYb":1416752157340286745},"stringDateField":"2012-03-01","stringDateTimeField":"1919-05-09T20:05:11Z","stringField":"FKTGZupg","stringTimeField":"18:47:44.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":-394,"numField":520.4795711535131,"stringDateField":"2012-03-01","stringDateTimeField":"1919-05-09T20:05:11Z","stringField":"FKTGZupg","stringTimeField":"18:47:44.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3898,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3898,"uuid":"9e0a89ff-5655-11ee-a001-675ed0f8e89b"},"arrayField":["KRirGmrD","EkOsvc","zLsz","uNbM","FuDas","etKd","qxTNRNvy","vNDXmZO","deGBQI","JUzM"],"boolField":false,"intField":87,"numField":962.4930853255844,"objField":{"GYCnUmU":-3877684545459332426,"UvHiIjVQu":-4987187989489920339,"fApplnqO":7779557408969647825,"lnwFlqEzG":3843573206141293652,"lxotQCOu":4709293824727158757,"yHObqA":-2896891987495971439,"ztNTQinwSK":-6759691954691379353},"stringDateField":"1949-07-24","stringDateTimeField":"2012-11-20T16:26:46Z","stringField":"fBetVgttDO","stringTimeField":"17:48:08.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":87,"numField":962.4930853255844,"stringDateField":"1949-07-24","stringDateTimeField":"2012-11-20T16:26:46Z","stringField":"fBetVgttDO","stringTimeField":"17:48:08.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3899,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3899,"uuid":"9e0a89ff-5655-11ee-a401-675ed0f8e89b"},"arrayField":["SySfR","gSdD","ktFmhcTP","mlaW","ZgUggPhm","lwhaOKq"],"boolField":false,"intField":127,"numField":221.94642045579928,"objField":{"LdFRJ":-6120307035127697813,"MNbz":6991625634397302249,"MwmpcDD":-1187081149280684114,"Rysi":-9055243727436145667,"cbeSxzWZZp":-1393856552478901845,"fEjrTEjn":-5739964862089535149,"iBkvCXDc":2582640530728774935,"rmJmWuGNyL":-2654991115157423085,"sETbWzAje":-302308210990424840,"wmdTdXjSFJ":-5443938244343916693},"stringDateField":"1983-05-20","stringDateTimeField":"1991-11-29T06:47:32Z","stringField":"tDjjSiaowe","stringTimeField":"12:41:49.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":127,"numField":221.94642045579928,"stringDateField":"1983-05-20","stringDateTimeField":"1991-11-29T06:47:32Z","stringField":"tDjjSiaowe","stringTimeField":"12:41:49.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3900,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3900,"uuid":"9e0a89ff-5655-11ee-a801-675ed0f8e89b"},"arrayField":["vfvu","HqfnfrMR"],"boolField":true,"intField":772,"numField":-899.5367038909433,"objField":{"NGmdqlSRkf":-4213674841264686174,"VzGN":-533859272011152837,"ntZTnYK":399221023002413530,"tZxYJTUu":7589172792416970827,"xqqKJoj":4582063142454364683},"stringDateField":"1912-09-30","stringDateTimeField":"1978-03-03T11:21:22Z","stringField":"awDu","stringTimeField":"04:26:45.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":772,"numField":-899.5367038909433,"stringDateField":"1912-09-30","stringDateTimeField":"1978-03-03T11:21:22Z","stringField":"awDu","stringTimeField":"04:26:45.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3901,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3901,"uuid":"9e0a89ff-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["rXKDIVZqK"],"boolField":false,"intField":-367,"numField":707.3329240456275,"objField":{"DiQEQ":-6472299421484332907,"GRhHnN":3621959957188245065,"QUCubHklIh":3135859148597603491,"UiGUb":-4360775826860243655,"XkMRDyB":2412014265843434664,"YWUEUOq":-2324288249732586311,"lxNJ":-4693268622668769629,"pFQDUS":-1014561218470646234,"vyhFLzTE":1239541733912124801,"wLhone":-8776449126778690169},"stringDateField":"1937-07-09","stringDateTimeField":"1902-07-01T09:09:21Z","stringField":"PuSpKk","stringTimeField":"04:11:05.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":-367,"numField":707.3329240456275,"stringDateField":"1937-07-09","stringDateTimeField":"1902-07-01T09:09:21Z","stringField":"PuSpKk","stringTimeField":"04:11:05.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3902,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3902,"uuid":"9e0a89ff-5655-11ee-b001-675ed0f8e89b"},"arrayField":["hDzitRZJ","PsXGzQJhd","HeoqEpy","lcupyqByu","yJKGOMX","CMJP","oevZMcW"],"boolField":false,"intField":-304,"numField":967.6111599032004,"objField":{"IoDObkuUc":-7358553572963861530,"IoVRfMi":-2619613666387028250,"WseTvcISU":4231866186097692600,"fOhGPohav":-4016599414364123203,"ncRY":-3110854264533386075,"trKF":396552604307710131,"uXPlGtqRdG":-201632884515037338,"yNKy":1116607249031659234,"zqsySNggu":-2859459241389846043},"stringDateField":"1976-07-03","stringDateTimeField":"2000-11-30T18:55:11Z","stringField":"cWfuGC","stringTimeField":"06:24:07.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":-304,"numField":967.6111599032004,"stringDateField":"1976-07-03","stringDateTimeField":"2000-11-30T18:55:11Z","stringField":"cWfuGC","stringTimeField":"06:24:07.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3903,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3903,"uuid":"9e0a89ff-5655-11ee-b401-675ed0f8e89b"},"arrayField":["NXTuRcnL","UGgrUINcez","dnwSl","NHYBG","vnAUBda","gacFktjwnp","nwcB","OLLNfOHe"],"boolField":true,"intField":679,"numField":-552.8625804059786,"objField":{"CpIw":9215065273382249835,"QLaLAOFg":887522770010647028,"UVSnyI":5207557285765154099,"bqex":4858690054544354118,"dFrNOkJeC":-1822535691367719584,"dePrMnNwHD":-6393677286265236322,"flPBxnYKJ":-2843842851395832694},"stringDateField":"2004-09-11","stringDateTimeField":"1926-01-21T22:18:47Z","stringField":"krUX","stringTimeField":"21:48:41.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":679,"numField":-552.8625804059786,"stringDateField":"2004-09-11","stringDateTimeField":"1926-01-21T22:18:47Z","stringField":"krUX","stringTimeField":"21:48:41.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3904,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3904,"uuid":"9e0a89ff-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ZuMVbNpk","VBMl","nnSRqTLNa","ukZPMzfHWz","TfejBJw","lkUxTgPrq","ahiJSnxros","kDcH"],"boolField":false,"intField":-531,"numField":210.09081158864507,"objField":{"QzpQ":-1870695744497552256,"hNBCKbA":5100688364069564945,"msnykzFe":-3419830624884875340,"mvLwgf":-4876444798046135384},"stringDateField":"1955-12-25","stringDateTimeField":"2019-10-03T15:10:50Z","stringField":"VFdzPPca","stringTimeField":"00:30:31.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":-531,"numField":210.09081158864507,"stringDateField":"1955-12-25","stringDateTimeField":"2019-10-03T15:10:50Z","stringField":"VFdzPPca","stringTimeField":"00:30:31.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3905,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3905,"uuid":"9e0a89ff-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["CUDcKwZY","pFiAR","eYSkkkFl","rGZyGlsGGN","CzTHPz"],"boolField":true,"intField":-523,"numField":-180.9563153335544,"objField":{"YjvwK":3490012990722786119,"ryNBMrsg":-7995183742857931920},"stringDateField":"2010-03-12","stringDateTimeField":"1917-04-07T07:25:26Z","stringField":"pTcvTbexs","stringTimeField":"21:01:42.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763775Z","intField":-523,"numField":-180.9563153335544,"stringDateField":"2010-03-12","stringDateTimeField":"1917-04-07T07:25:26Z","stringField":"pTcvTbexs","stringTimeField":"21:01:42.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3906,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3906,"uuid":"9e0a8a00-5655-11ee-8001-675ed0f8e89b"},"arrayField":["pBcpSds","rKOJVXJ","whfxScVL","FVlvmYfThO","CzYQt","PespHafHWm","aSDSU","jGDw"],"boolField":true,"intField":494,"numField":411.5632862774936,"objField":{"DRCt":2262114571903274578,"bDQITDKOYt":-2492199805583905247,"jXcQ":-7366568812137145486,"jyLfV":-3473097234679832869,"uUMWLTkEwA":-6405411562101793507,"zBgGSrkk":-3786706155969615855},"stringDateField":"1934-10-05","stringDateTimeField":"1953-09-23T02:53:51Z","stringField":"qSfdZBWUY","stringTimeField":"08:34:45.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":494,"numField":411.5632862774936,"stringDateField":"1934-10-05","stringDateTimeField":"1953-09-23T02:53:51Z","stringField":"qSfdZBWUY","stringTimeField":"08:34:45.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3907,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3907,"uuid":"9e0a8a00-5655-11ee-8401-675ed0f8e89b"},"arrayField":["CBpOyWF","mUiUtXwUl","heSxlJO","wAHVJnZLPl","xgGWOvE","CcIWdTpvTW","uRdMTXHs","UsQnOnxK"],"boolField":true,"intField":522,"numField":999.6782827739464,"objField":{"CiizxSaBPP":-2207358811054254901,"EGNFDEjRP":610258331276880477,"HarB":7569521013130349815,"WJbevjvBFt":1001117151636249092,"fRKGD":-2421730665930830105,"hjRhcX":-8351170515315705956,"mKiqUPeU":-6632245201532266541,"rSKQjyOEN":9155341665438401151},"stringDateField":"1987-03-26","stringDateTimeField":"1952-07-01T06:24:13Z","stringField":"QwMiXdggw","stringTimeField":"00:45:56.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":522,"numField":999.6782827739464,"stringDateField":"1987-03-26","stringDateTimeField":"1952-07-01T06:24:13Z","stringField":"QwMiXdggw","stringTimeField":"00:45:56.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3908,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3908,"uuid":"9e0a8a00-5655-11ee-8801-675ed0f8e89b"},"arrayField":["uNli","HNLJcFv","XEEfbqRh","knwjLNrTqP","JkAOrH","UwlUz","zCLdeDfDYv","UNJWgtTrda"],"boolField":false,"intField":680,"numField":-12.802911987581432,"objField":{"IDUO":1102830997927899610,"IZHMHQ":-341566436609624188,"XUBhOxEkE":6129820211612321940,"doaMvY":3486364053423422061,"eLowK":-250357731839709596,"lYKJnngyhA":-5026592792932794143,"rHTlCrP":1823762718986967085},"stringDateField":"1937-01-07","stringDateTimeField":"2005-10-28T14:05:58Z","stringField":"vjqgQQyIwX","stringTimeField":"14:33:31.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":680,"numField":-12.802911987581432,"stringDateField":"1937-01-07","stringDateTimeField":"2005-10-28T14:05:58Z","stringField":"vjqgQQyIwX","stringTimeField":"14:33:31.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3909,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3909,"uuid":"9e0a8a00-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["HkiOcma","oXrYmb","aWVikvtBs","pxQUEj","RRTuuw","mdwutlf"],"boolField":true,"intField":594,"numField":-271.61207385797246,"objField":{"ALigksplo":-2912358291806038150,"HvGjK":7054553504758731853,"hkUY":-178240804406156670,"iRtU":1398889890490521546,"oggwIDG":-8228658539624321170,"pvGZsKQl":-8993390247944876517,"vQHdqWU":-3985637868799983653},"stringDateField":"2009-03-08","stringDateTimeField":"1983-04-02T10:24:50Z","stringField":"YpBuWkZD","stringTimeField":"12:04:58.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":594,"numField":-271.61207385797246,"stringDateField":"2009-03-08","stringDateTimeField":"1983-04-02T10:24:50Z","stringField":"YpBuWkZD","stringTimeField":"12:04:58.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3910,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3910,"uuid":"9e0a8a00-5655-11ee-9001-675ed0f8e89b"},"arrayField":["WVkiztK","bgYHKpnIiV","mbtrThIr","RGpDbRcpDl"],"boolField":true,"intField":280,"numField":-256.6311282461017,"objField":{"mHYH":604628200601297463},"stringDateField":"1908-08-14","stringDateTimeField":"2007-11-20T23:40:41Z","stringField":"CnjqvnaE","stringTimeField":"17:10:47.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":280,"numField":-256.6311282461017,"stringDateField":"1908-08-14","stringDateTimeField":"2007-11-20T23:40:41Z","stringField":"CnjqvnaE","stringTimeField":"17:10:47.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3911,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3911,"uuid":"9e0a8a00-5655-11ee-9401-675ed0f8e89b"},"arrayField":["WOswKa","PGQWTLiNlH","XMKlSEJ","RIYifrDcx"],"boolField":false,"intField":474,"numField":-180.31190451109111,"objField":{"MHGzwVGyx":8376381577894205476,"eVNwu":-6926815145893119016,"gaxUuwQp":6563196464079863133},"stringDateField":"1972-05-01","stringDateTimeField":"1981-01-27T22:01:49Z","stringField":"fmpLcvm","stringTimeField":"20:24:22.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":474,"numField":-180.31190451109111,"stringDateField":"1972-05-01","stringDateTimeField":"1981-01-27T22:01:49Z","stringField":"fmpLcvm","stringTimeField":"20:24:22.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3912,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3912,"uuid":"9e0a8a00-5655-11ee-9801-675ed0f8e89b"},"arrayField":["LtGUZH"],"boolField":false,"intField":28,"numField":403.99092872436216,"objField":{"ECfqZF":7620955710065064879,"XBmwrNum":-8911041867782563065,"afkN":-5760600383660826944,"qwQFI":-4874792289485562177},"stringDateField":"1936-05-18","stringDateTimeField":"1983-07-22T23:59:13Z","stringField":"EfMJgiHgG","stringTimeField":"05:45:10.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":28,"numField":403.99092872436216,"stringDateField":"1936-05-18","stringDateTimeField":"1983-07-22T23:59:13Z","stringField":"EfMJgiHgG","stringTimeField":"05:45:10.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3913,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3913,"uuid":"9e0a8a00-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["GKFkTME","SVDFYkhpBr","pIReRoDf","OAZNgIt"],"boolField":true,"intField":896,"numField":-938.9348748646812,"objField":{"PryVFkzfb":-6090665066416693802,"rcPJaTn":8738418755669972508,"rnsrFDpyYW":-1249278557060432591,"sGrYUKoNi":993763402685459251},"stringDateField":"1909-03-12","stringDateTimeField":"1975-02-27T11:24:37Z","stringField":"KbAXTD","stringTimeField":"13:27:08.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":896,"numField":-938.9348748646812,"stringDateField":"1909-03-12","stringDateTimeField":"1975-02-27T11:24:37Z","stringField":"KbAXTD","stringTimeField":"13:27:08.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3914,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3914,"uuid":"9e0a8a00-5655-11ee-a001-675ed0f8e89b"},"arrayField":["pdmCqvf","qFBZFvLX"],"boolField":false,"intField":-813,"numField":62.79583215188289,"objField":{"AbRYim":-1054973736254197600,"IAUMQ":-4183891728432237141,"OUnq":6318136751202709975,"dnaPoMpD":-7938286803841820201,"hakIwNUlS":-3219810011415191716,"nCvacpiL":5689993009223011533,"wnwAwVzXh":-9157795903294776826},"stringDateField":"2009-09-25","stringDateTimeField":"1940-12-24T07:16:27Z","stringField":"bNuCLJUe","stringTimeField":"02:09:52.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":-813,"numField":62.79583215188289,"stringDateField":"2009-09-25","stringDateTimeField":"1940-12-24T07:16:27Z","stringField":"bNuCLJUe","stringTimeField":"02:09:52.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3915,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3915,"uuid":"9e0a8a00-5655-11ee-a401-675ed0f8e89b"},"arrayField":["bHBTAycPa","PlhNFPOjZl","RKowlthc","CzacQE","rpPHwPhm"],"boolField":false,"intField":432,"numField":653.1480586876887,"objField":{"FEJXp":-5313741653615892209},"stringDateField":"2016-02-22","stringDateTimeField":"2013-10-02T20:33:27Z","stringField":"AdpIU","stringTimeField":"02:39:57.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":432,"numField":653.1480586876887,"stringDateField":"2016-02-22","stringDateTimeField":"2013-10-02T20:33:27Z","stringField":"AdpIU","stringTimeField":"02:39:57.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3916,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3916,"uuid":"9e0a8a00-5655-11ee-a801-675ed0f8e89b"},"arrayField":["DKUZN","yMZR","UWdS","xMqJtG","LkNnzM","ByQRTgTZj","WcEebhgj","YhunquytY","rvqYBk","PwFfVXLYRl"],"boolField":false,"intField":-409,"numField":711.4223043409042,"objField":{"GmyIHcoD":8671146340878253153,"IBjciZ":-8683754619837921559,"ZtTd":6972901190032641501,"bsVH":-1938295515464662963,"gLhqaZUOD":7614864285002959330,"hpuZHu":5421079880023442840,"iqjqCPsIhB":-759679392060208958,"pcrPhKuBZk":-1396110151800158187},"stringDateField":"1973-11-04","stringDateTimeField":"1930-02-27T20:31:58Z","stringField":"PkBA","stringTimeField":"21:13:24.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":-409,"numField":711.4223043409042,"stringDateField":"1973-11-04","stringDateTimeField":"1930-02-27T20:31:58Z","stringField":"PkBA","stringTimeField":"21:13:24.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3917,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3917,"uuid":"9e0a8a00-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["NqRdh","oWKXiPL","PWQqbdYlol","NIjrn"],"boolField":true,"intField":-710,"numField":-286.35505418199523,"objField":{"ZBFq":3188961404224487513,"ZNvRvhiUy":-503657292927794334,"bZErKfPaju":6956822546183458629},"stringDateField":"1949-06-29","stringDateTimeField":"1920-09-25T05:50:42Z","stringField":"gIZIgs","stringTimeField":"14:20:59.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":-710,"numField":-286.35505418199523,"stringDateField":"1949-06-29","stringDateTimeField":"1920-09-25T05:50:42Z","stringField":"gIZIgs","stringTimeField":"14:20:59.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3918,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3918,"uuid":"9e0a8a00-5655-11ee-b001-675ed0f8e89b"},"arrayField":["IjPJmJ","yPdtVxwfN","WYPTCu","UGpRUNqRP","tWVLFMiNg","rCcpDczfub"],"boolField":false,"intField":575,"numField":-84.26510146995336,"objField":{"EautuOSf":7103169314848523197,"NjeAP":-862678963204654894,"OgJVY":8811039931095887647,"duItxn":8862208657852713791,"iVrCNarBli":-1798009740964564671,"jbZXvo":2658659668813769642,"qzMcEonsAw":9193508376473271310,"ynYkoHOOQF":6940786427578846358},"stringDateField":"1916-11-29","stringDateTimeField":"1911-07-10T07:22:02Z","stringField":"dFqaTPC","stringTimeField":"12:42:38.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":575,"numField":-84.26510146995336,"stringDateField":"1916-11-29","stringDateTimeField":"1911-07-10T07:22:02Z","stringField":"dFqaTPC","stringTimeField":"12:42:38.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3919,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3919,"uuid":"9e0a8a00-5655-11ee-b401-675ed0f8e89b"},"arrayField":["rdIVtdrImA","RwSr","xMpSr","YeKpXzzzHZ","xryH","uzRie","KdZboySU","qfwYh"],"boolField":true,"intField":336,"numField":-814.9175728473132,"objField":{"EWRSuNabQ":5269454053576228733,"EjctxFdc":1774320788691175354,"MtBIvPjSQH":1162888408988383744,"OgzDj":801618592250084480,"Svqrjiiyq":3784080395933055675,"YFHzKACwPB":264803992550735955,"ZcrWf":3364141568984454685,"bVbmp":5698269198900147194,"maCRTwnc":5955322258997156881,"uyKt":-1798509597459100516},"stringDateField":"1912-08-16","stringDateTimeField":"2023-08-02T18:04:58Z","stringField":"nxqqvQz","stringTimeField":"22:47:18.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":336,"numField":-814.9175728473132,"stringDateField":"1912-08-16","stringDateTimeField":"2023-08-02T18:04:58Z","stringField":"nxqqvQz","stringTimeField":"22:47:18.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3920,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3920,"uuid":"9e0a8a00-5655-11ee-b801-675ed0f8e89b"},"arrayField":["cNpPv"],"boolField":true,"intField":765,"numField":64.8664134966006,"objField":{"IqUAoUsOuA":3863771516992589864},"stringDateField":"1918-01-23","stringDateTimeField":"2022-03-15T22:56:04Z","stringField":"zXGyPxp","stringTimeField":"17:12:49.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":765,"numField":64.8664134966006,"stringDateField":"1918-01-23","stringDateTimeField":"2022-03-15T22:56:04Z","stringField":"zXGyPxp","stringTimeField":"17:12:49.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3921,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3921,"uuid":"9e0a8a00-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["bWipG","utzpKgkY","qNucwod","Ufeh","ldDtDE"],"boolField":false,"intField":563,"numField":769.6798335781709,"objField":{"BMRGv":337636675494552179,"KYhnauIbKK":5741471336548963969,"KcxQ":-1792320487687453553,"MCwh":3497231280869949329,"RiezOXRfN":-6450510395574060566,"WOuyX":7616857964804021687,"iCLWkjsJc":4395424672934041047,"uMJe":-240984145773384993},"stringDateField":"1990-04-26","stringDateTimeField":"1923-06-06T10:22:09Z","stringField":"ebnqZFA","stringTimeField":"00:29:24.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763776Z","intField":563,"numField":769.6798335781709,"stringDateField":"1990-04-26","stringDateTimeField":"1923-06-06T10:22:09Z","stringField":"ebnqZFA","stringTimeField":"00:29:24.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3922,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3922,"uuid":"9e0a8a01-5655-11ee-8001-675ed0f8e89b"},"arrayField":["sMMrZLFjA","oRJuQAlI","kyXh","APkqretTms","tyQudikL","MfTPtf","QWrE","hbFR"],"boolField":false,"intField":758,"numField":-175.17745496420346,"objField":{"NdAIRGBsFJ":4158422503415225109,"Pkaws":4028838672541765339,"YYoHiMCgW":8527276299896765332,"dRoodzGtUT":4366443386852886788,"llceRDESk":-4333500055008903503,"nggsPE":1955726752047756392},"stringDateField":"1920-08-13","stringDateTimeField":"1934-02-23T19:55:50Z","stringField":"gtZMUd","stringTimeField":"15:24:30.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":758,"numField":-175.17745496420346,"stringDateField":"1920-08-13","stringDateTimeField":"1934-02-23T19:55:50Z","stringField":"gtZMUd","stringTimeField":"15:24:30.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3923,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3923,"uuid":"9e0a8a01-5655-11ee-8401-675ed0f8e89b"},"arrayField":["VGVvULLPO","PdNKEPJZX","smXRaVVpz","XIRi","Sqjf","vybsgnQlKB"],"boolField":true,"intField":-907,"numField":747.313651223773,"objField":{"COJFdXa":-3134415636062938315,"CrgTDJQx":5628701891795828139,"ThcS":-6334506494351387001,"donILPHyaZ":-2886098104703669715,"gxuRpSUMUG":-4942607819125465408,"nadOhrXl":8378430760741812269},"stringDateField":"1948-01-28","stringDateTimeField":"1946-07-01T15:17:14Z","stringField":"mxdkAI","stringTimeField":"16:10:57.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":-907,"numField":747.313651223773,"stringDateField":"1948-01-28","stringDateTimeField":"1946-07-01T15:17:14Z","stringField":"mxdkAI","stringTimeField":"16:10:57.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3924,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3924,"uuid":"9e0a8a01-5655-11ee-8801-675ed0f8e89b"},"arrayField":["dXPWRbmuS","IUcfvilFAf","tyYf","wIyLS","fwzb"],"boolField":true,"intField":-441,"numField":73.7889426206655,"objField":{"FJdMXtjA":8477864434556209367,"GENcnC":-5146263989041936114,"MVmeSAX":-5980746150916058621,"QmJDm":141165391113650102,"SkinSt":2315580036763758247,"UyyCDY":7852759510305920868,"XSDGPMBW":5068624577452742124,"aRrPFSUI":3568476113016648845},"stringDateField":"1941-10-07","stringDateTimeField":"2020-06-04T03:25:22Z","stringField":"qvsH","stringTimeField":"13:26:17.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":-441,"numField":73.7889426206655,"stringDateField":"1941-10-07","stringDateTimeField":"2020-06-04T03:25:22Z","stringField":"qvsH","stringTimeField":"13:26:17.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3925,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3925,"uuid":"9e0a8a01-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["FMOG","PgPlKqYO","iEWrHIv"],"boolField":false,"intField":-901,"numField":-71.19096972135664,"objField":{"FsfAfpcP":7665011239108946459,"GiHCNcF":-5897849180902226725,"LwHaV":3313766842939665331,"dUbiphyKj":8877201481694827341,"eqORsfmeeA":-3922870363507954788,"giWGkVS":-1902654903385266431,"kBXovdZp":6991658807630455551,"lSfbD":-476765287021996997,"pfNX":-7979286365430905456,"woCBm":3296822013696486345},"stringDateField":"2006-06-27","stringDateTimeField":"1927-11-15T04:18:03Z","stringField":"voer","stringTimeField":"21:48:19.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":-901,"numField":-71.19096972135664,"stringDateField":"2006-06-27","stringDateTimeField":"1927-11-15T04:18:03Z","stringField":"voer","stringTimeField":"21:48:19.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3926,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3926,"uuid":"9e0a8a01-5655-11ee-9001-675ed0f8e89b"},"arrayField":["yelU","yQFDPHJk","Lbtxsesy"],"boolField":false,"intField":391,"numField":-802.9181038500592,"objField":{"KCuyCqksB":4018358387785579389},"stringDateField":"1909-09-06","stringDateTimeField":"1976-05-04T19:16:43Z","stringField":"jNPZvzwh","stringTimeField":"09:12:25.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":391,"numField":-802.9181038500592,"stringDateField":"1909-09-06","stringDateTimeField":"1976-05-04T19:16:43Z","stringField":"jNPZvzwh","stringTimeField":"09:12:25.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3927,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3927,"uuid":"9e0a8a01-5655-11ee-9401-675ed0f8e89b"},"arrayField":["MvixnyIK","nBSd","tRkgYWkQo","MUGNCtdY","agRNdY","Uhrv","FQbHny","HeIXGDiKZY"],"boolField":false,"intField":337,"numField":4.808394615147815,"objField":{"CDxprgEjJb":-4974683591513664910,"CbsYvsWj":-3225236314182697117,"LKlYmZ":6153348062641940640,"QVRthjX":-7826186450769510789,"QkvDHkEh":-1231885879873783852,"sQMBPKOp":2929233925128893955},"stringDateField":"1915-06-14","stringDateTimeField":"2011-11-26T19:20:34Z","stringField":"IAQY","stringTimeField":"14:12:23.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":337,"numField":4.808394615147815,"stringDateField":"1915-06-14","stringDateTimeField":"2011-11-26T19:20:34Z","stringField":"IAQY","stringTimeField":"14:12:23.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3928,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3928,"uuid":"9e0a8a01-5655-11ee-9801-675ed0f8e89b"},"arrayField":["SgETfngI","SZbu","GBAIIj","JRVIsnN","dkajYS"],"boolField":true,"intField":-184,"numField":-254.34198255666828,"objField":{"KGpBCL":-8630206109549635104,"iXJTyKkl":-5514148207842168038,"jmuugjEo":-2393949649650161650,"kFClshz":-3169917409955825777,"rtfUlzf":6638199833215675789,"zzTRqE":-2157650601093580792},"stringDateField":"1906-02-21","stringDateTimeField":"1921-12-08T23:08:47Z","stringField":"iephtg","stringTimeField":"14:21:21.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":-184,"numField":-254.34198255666828,"stringDateField":"1906-02-21","stringDateTimeField":"1921-12-08T23:08:47Z","stringField":"iephtg","stringTimeField":"14:21:21.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3929,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3929,"uuid":"9e0a8a01-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["lNcPUHE","NsaBmK","addV"],"boolField":true,"intField":-969,"numField":-87.21394287271278,"objField":{"DoaPDbKl":-3419903189657234505,"EfdS":-3480515714055897499,"IaXAJ":6438587482198575888,"TyGC":3046746837989617797,"UHXtNb":2619473854850452198,"fiGjunzQO":7445076629611621766,"jEImrDdBx":-1920844097172012050,"rhMa":-143768469272106278,"uxwfkidJed":-420573144131502689,"wsCpBqHXci":-5853112222777418535},"stringDateField":"1986-03-11","stringDateTimeField":"1963-08-24T10:00:38Z","stringField":"QOSex","stringTimeField":"00:39:56.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":-969,"numField":-87.21394287271278,"stringDateField":"1986-03-11","stringDateTimeField":"1963-08-24T10:00:38Z","stringField":"QOSex","stringTimeField":"00:39:56.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3930,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3930,"uuid":"9e0a8a01-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ZKDY","TFHOdRi","OxNr","YMtgdXDDmy","QROfYTcQil","KdqrZVN","squqe"],"boolField":true,"intField":-209,"numField":740.7381689660205,"objField":{"jgSlryB":6903953161026096799},"stringDateField":"1949-07-22","stringDateTimeField":"1930-05-17T07:22:32Z","stringField":"sOzP","stringTimeField":"00:03:42.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":-209,"numField":740.7381689660205,"stringDateField":"1949-07-22","stringDateTimeField":"1930-05-17T07:22:32Z","stringField":"sOzP","stringTimeField":"00:03:42.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3931,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3931,"uuid":"9e0a8a01-5655-11ee-a401-675ed0f8e89b"},"arrayField":["cvtKeymz","maMKrfqR","TMWuFy","uVWjxUT","mJsc","spgnwVp","eTyMaMRjf","dbcz","UBSuhfVmoy"],"boolField":true,"intField":-675,"numField":-555.7025179381383,"objField":{"KCTEaBpia":-8764199475771934348,"PxXfihgam":-2979087576231778543,"RTGdSwl":-6926518254515855502,"cvqy":5177555378709401171,"hPrhQDo":-4766410188209190724,"sqfr":-4213709180153287098},"stringDateField":"1952-05-18","stringDateTimeField":"1978-11-26T14:24:29Z","stringField":"MoEoiLYgY","stringTimeField":"13:32:01.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":-675,"numField":-555.7025179381383,"stringDateField":"1952-05-18","stringDateTimeField":"1978-11-26T14:24:29Z","stringField":"MoEoiLYgY","stringTimeField":"13:32:01.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3932,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3932,"uuid":"9e0a8a01-5655-11ee-a801-675ed0f8e89b"},"arrayField":["wgLEIc","dFlDZC","QWkgJjHrFW","bDVTLVgaxe","xgaUFfn"],"boolField":true,"intField":-233,"numField":604.6799407561309,"objField":{"OMwWzpbpuF":1048764379168919477,"PPUKvdiF":-2189711439705672060,"SUmAbPC":-7656408731508555370,"gherRaQ":1074452040270568106,"oLPZse":-4244742255313640652,"qcXxtLnunX":6442115436009895218,"xmFlwTzNZx":5505049838329322734},"stringDateField":"1932-05-13","stringDateTimeField":"1941-04-10T00:13:55Z","stringField":"meMvV","stringTimeField":"14:13:27.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":-233,"numField":604.6799407561309,"stringDateField":"1932-05-13","stringDateTimeField":"1941-04-10T00:13:55Z","stringField":"meMvV","stringTimeField":"14:13:27.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3933,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3933,"uuid":"9e0a8a01-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["kXsHRgNhw","ohveXvTfux","LVLI","JEtC"],"boolField":false,"intField":-477,"numField":867.717261895461,"objField":{"AHte":-7025844984215310418,"HqmxCwVnH":-2008821313299555892,"HsXBtR":-4260978952396644162,"YLHv":-7206054119838998352,"erfeF":-7740264877495773130,"iFcuqSB":8922239772858218416,"lKWBqL":-4001469090584640060,"uTWUcu":4640722825858132940,"wOuiTv":3053060176563815668},"stringDateField":"1923-09-17","stringDateTimeField":"1996-03-08T22:08:47Z","stringField":"mBdRfjG","stringTimeField":"00:26:17.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":-477,"numField":867.717261895461,"stringDateField":"1923-09-17","stringDateTimeField":"1996-03-08T22:08:47Z","stringField":"mBdRfjG","stringTimeField":"00:26:17.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3934,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3934,"uuid":"9e0a8a01-5655-11ee-b001-675ed0f8e89b"},"arrayField":["OcvpgxguUg","seIWHi","fRbigAh"],"boolField":true,"intField":652,"numField":-60.93014810778163,"objField":{"UDTAxV":7783745394322648541,"XuOqwiBgrO":2769526532681279720,"jRbKQ":3640398629994697568,"jUWJyLRGhy":-3916280839448390415,"lyiullN":-8040658975577433101,"nPwxnBn":-2447813676327318820,"vTfuWQq":-6667664660236403798},"stringDateField":"1997-02-02","stringDateTimeField":"1985-01-13T11:20:05Z","stringField":"rieYlcemP","stringTimeField":"19:29:31.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":652,"numField":-60.93014810778163,"stringDateField":"1997-02-02","stringDateTimeField":"1985-01-13T11:20:05Z","stringField":"rieYlcemP","stringTimeField":"19:29:31.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3935,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3935,"uuid":"9e0a8a01-5655-11ee-b401-675ed0f8e89b"},"arrayField":["EOrqUTtHs","wRJXGfsw","ofHgjziuuT","TfYu","BlqGa","IGqo"],"boolField":true,"intField":618,"numField":381.0592309026719,"objField":{"JLhuldIo":6210061735788798119,"ptKqQvOeC":7129550156930680462},"stringDateField":"1995-10-01","stringDateTimeField":"2003-12-03T23:28:14Z","stringField":"PcuwooX","stringTimeField":"06:46:14.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":618,"numField":381.0592309026719,"stringDateField":"1995-10-01","stringDateTimeField":"2003-12-03T23:28:14Z","stringField":"PcuwooX","stringTimeField":"06:46:14.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3936,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3936,"uuid":"9e0a8a01-5655-11ee-b801-675ed0f8e89b"},"arrayField":["RteXzyc","gfSiGXJbDI"],"boolField":true,"intField":22,"numField":-57.07608107743012,"objField":{"Drqnpj":-4956663734528221933,"KpRCXqlhe":-358780192832537856,"RkiGxDbE":-2050952177170335721,"SxtiNl":-5025010985895406615,"aQmsTrTNAc":-2346659120305867298,"veVCzXkabw":-2068720011407426539,"yTxzNgkL":-846930391416810162},"stringDateField":"1961-03-31","stringDateTimeField":"2002-10-29T06:21:27Z","stringField":"kfQVHtEyfG","stringTimeField":"16:30:42.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":22,"numField":-57.07608107743012,"stringDateField":"1961-03-31","stringDateTimeField":"2002-10-29T06:21:27Z","stringField":"kfQVHtEyfG","stringTimeField":"16:30:42.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3937,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3937,"uuid":"9e0a8a01-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["jboTdf","PCmZBDS","WCBBbR","VOEW","VbtOwWNHI","fKsv","iuoRfTFev"],"boolField":true,"intField":-929,"numField":-344.3281753841043,"objField":{"AWaepTr":3602872917806858568,"JaNeuwqpK":3185012747719221094,"MHTZlj":-7445675350645922269,"UQAXqwlhB":-2839979983812113866,"onuSjUF":9139428266106384636,"rSYZYlNMV":146983059826863608},"stringDateField":"1985-09-16","stringDateTimeField":"2003-06-18T03:14:24Z","stringField":"xUjf","stringTimeField":"21:42:00.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763777Z","intField":-929,"numField":-344.3281753841043,"stringDateField":"1985-09-16","stringDateTimeField":"2003-06-18T03:14:24Z","stringField":"xUjf","stringTimeField":"21:42:00.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3938,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3938,"uuid":"9e0a8a02-5655-11ee-8001-675ed0f8e89b"},"arrayField":["gtwXZp","qVGvwO","rwBrEau"],"boolField":false,"intField":927,"numField":-871.1041260178853,"objField":{"FtsNNWPrHd":1997850899043863566,"awRBI":-3296507919901256977},"stringDateField":"1914-07-07","stringDateTimeField":"1908-10-01T05:09:15Z","stringField":"wKiDAcU","stringTimeField":"08:31:21.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":927,"numField":-871.1041260178853,"stringDateField":"1914-07-07","stringDateTimeField":"1908-10-01T05:09:15Z","stringField":"wKiDAcU","stringTimeField":"08:31:21.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3939,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3939,"uuid":"9e0a8a02-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ZVDwPh","vFXisS","qpjLPZS","COeB","DKSKt","GetpKNl","lCqdVjoDKK"],"boolField":true,"intField":340,"numField":-426.30041758129687,"objField":{"BluOD":9024771646871907080,"CrceDTp":-1721246269216960399,"FmmIo":1774017531115963101,"KsFbEAN":7981290162590238952,"LewSU":-7398768982228270365,"MAhaTZz":-7963345082448418456,"XEANfNM":-3770457403850534484,"okEK":-1261672588457897787,"qxXvF":-2879357526913843189,"sTCJ":-5107095790077012385},"stringDateField":"1947-06-02","stringDateTimeField":"1952-11-18T08:31:19Z","stringField":"VNds","stringTimeField":"13:01:50.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":340,"numField":-426.30041758129687,"stringDateField":"1947-06-02","stringDateTimeField":"1952-11-18T08:31:19Z","stringField":"VNds","stringTimeField":"13:01:50.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3940,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3940,"uuid":"9e0a8a02-5655-11ee-8801-675ed0f8e89b"},"arrayField":["kFzyHAF","ivMEcwWBdu","jqXiiCgw","RZGigiwpIu","CMYpLI","Sxkdzaqtcy","qWglU"],"boolField":true,"intField":46,"numField":-990.2322272175398,"objField":{"uVAppKF":-8853581159477514885},"stringDateField":"2020-12-12","stringDateTimeField":"1965-05-11T04:21:09Z","stringField":"xjwylUgCCz","stringTimeField":"16:34:10.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":46,"numField":-990.2322272175398,"stringDateField":"2020-12-12","stringDateTimeField":"1965-05-11T04:21:09Z","stringField":"xjwylUgCCz","stringTimeField":"16:34:10.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3941,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3941,"uuid":"9e0a8a02-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["LKHja","aiqbwD","UHHes","OHrReQSClz","YSZMDTicC","shAvdwuv","SgJafTdOu","aRfgK","dWnAsJj","bDSezsaqf"],"boolField":true,"intField":-689,"numField":219.6273372395761,"objField":{"FzROdmNdK":1847529215641936843,"LZnQWgAUE":7217869654557426521,"RJTjcYt":-113741923078229512,"TSMu":3685541748677845760,"UfeuQi":-7944681510611263844,"aKRKDKYu":1301197210027016545,"lAQxSly":5272142469595917899,"pOUCEeQjFM":-3179808375314846751,"rEQtojBQd":-2758829620217086968},"stringDateField":"1988-03-02","stringDateTimeField":"1955-04-19T12:51:06Z","stringField":"RApWgOj","stringTimeField":"01:38:14.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":-689,"numField":219.6273372395761,"stringDateField":"1988-03-02","stringDateTimeField":"1955-04-19T12:51:06Z","stringField":"RApWgOj","stringTimeField":"01:38:14.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3942,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3942,"uuid":"9e0a8a02-5655-11ee-9001-675ed0f8e89b"},"arrayField":["RiIEi","WKhVLuOUt","YBybtk","chlxvCBvQM","KUcay","yQCE","obUEefQIC"],"boolField":true,"intField":388,"numField":-536.2574596927112,"objField":{"PYUWO":2110773864480414136,"UAhOJCl":8146117758979378942,"YYIOg":1957032690555346606,"YyAdheZEk":5537154402856252885,"kcrwqrP":-2009004710930141836,"lfjNJAQd":-7092428199369454003,"xREWAlF":-3963948163427690442,"xzNxEGhzP":8929954456786496192,"zXjZTdAx":-5787482611531023374},"stringDateField":"1958-02-27","stringDateTimeField":"2018-05-08T02:11:38Z","stringField":"UFgyJYN","stringTimeField":"02:40:32.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":388,"numField":-536.2574596927112,"stringDateField":"1958-02-27","stringDateTimeField":"2018-05-08T02:11:38Z","stringField":"UFgyJYN","stringTimeField":"02:40:32.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3943,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3943,"uuid":"9e0a8a02-5655-11ee-9401-675ed0f8e89b"},"arrayField":["WgIPboRKP","QthHoPash","YgRntwrO","SOfq","JXpQzRu","OkElcaiMx"],"boolField":false,"intField":-499,"numField":-435.16939071554873,"objField":{"CHqbj":7688010461623530681,"TJIHTen":5513812823696533388,"TogcWWv":4387035796719132034,"ZRnVLVFNaY":6108837751361624811,"kPFaCDyZBk":-8236758055725028227,"lJEm":-9071379654073907220,"llyHoiw":-6772269530053433732,"pEypyRylz":-3279440563715782910,"pSqV":7175460310671616123,"yKcSqqz":6072240966817040222},"stringDateField":"1934-05-21","stringDateTimeField":"1921-08-26T21:22:11Z","stringField":"anaQX","stringTimeField":"04:53:30.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":-499,"numField":-435.16939071554873,"stringDateField":"1934-05-21","stringDateTimeField":"1921-08-26T21:22:11Z","stringField":"anaQX","stringTimeField":"04:53:30.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3944,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3944,"uuid":"9e0a8a02-5655-11ee-9801-675ed0f8e89b"},"arrayField":["hAiWHJwU","kMsOoeXJHC","wYhPA","kAtNVJyAZ","WfdOnauG","FoOWPCZg","okkRkSj","AGgblMG"],"boolField":true,"intField":240,"numField":-108.7910484401068,"objField":{"ElebaxcerE":7606680241783042483,"Nebj":-269245555595323816,"XcTiyDor":9061244168613152694},"stringDateField":"1983-05-23","stringDateTimeField":"1905-04-09T12:11:29Z","stringField":"ESyb","stringTimeField":"01:05:24.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":240,"numField":-108.7910484401068,"stringDateField":"1983-05-23","stringDateTimeField":"1905-04-09T12:11:29Z","stringField":"ESyb","stringTimeField":"01:05:24.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3945,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3945,"uuid":"9e0a8a02-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["PoCOFWOtN","kDZDpYzJ","GrKJdjDSH","wQiEbZ","QuxU","vuokfJDj","KFVe","eItEQ"],"boolField":true,"intField":138,"numField":935.233013471756,"objField":{"MPwoUq":6609933094926235448,"OGrcO":5293610794557062863},"stringDateField":"1915-05-31","stringDateTimeField":"1954-10-26T11:40:09Z","stringField":"xNUsLP","stringTimeField":"04:03:41.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":138,"numField":935.233013471756,"stringDateField":"1915-05-31","stringDateTimeField":"1954-10-26T11:40:09Z","stringField":"xNUsLP","stringTimeField":"04:03:41.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3946,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3946,"uuid":"9e0a8a02-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ZKCTZeLer","mnamQ"],"boolField":true,"intField":422,"numField":-385.1442071648513,"objField":{"SgbY":-7238214591447712345,"VojRjduvX":5041790904570252383,"XphmoC":6137924070758161064,"gJBR":-8298588896984694659},"stringDateField":"1971-11-11","stringDateTimeField":"1982-06-21T16:30:03Z","stringField":"DVLdnVXR","stringTimeField":"15:31:25.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":422,"numField":-385.1442071648513,"stringDateField":"1971-11-11","stringDateTimeField":"1982-06-21T16:30:03Z","stringField":"DVLdnVXR","stringTimeField":"15:31:25.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3947,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3947,"uuid":"9e0a8a02-5655-11ee-a401-675ed0f8e89b"},"arrayField":["FBmmRGmzG","lhgHC","KaSw"],"boolField":false,"intField":580,"numField":-235.46510934063113,"objField":{"Gqov":-3417596175730252423,"aEsNIfhIRM":-6558749213558701348,"jMHpbmJJMi":8775405650565909228,"vaiHC":5071334537610870035},"stringDateField":"1949-11-03","stringDateTimeField":"1933-11-17T03:44:44Z","stringField":"gMDDe","stringTimeField":"00:20:10.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":580,"numField":-235.46510934063113,"stringDateField":"1949-11-03","stringDateTimeField":"1933-11-17T03:44:44Z","stringField":"gMDDe","stringTimeField":"00:20:10.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3948,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3948,"uuid":"9e0a8a02-5655-11ee-a801-675ed0f8e89b"},"arrayField":["xQHhNx","CvWFF","vbvVjOA","foLPhH","gFIzhPVE","hdQg","ndWxbo","YpJNBE"],"boolField":false,"intField":673,"numField":296.7034858744151,"objField":{"cuNsQuywJ":6970033162172432941,"pkUB":-6127983378973723617,"rffVzreSwc":-2552757276954419683},"stringDateField":"1920-01-08","stringDateTimeField":"2021-11-14T17:54:21Z","stringField":"xRDJ","stringTimeField":"03:05:46.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":673,"numField":296.7034858744151,"stringDateField":"1920-01-08","stringDateTimeField":"2021-11-14T17:54:21Z","stringField":"xRDJ","stringTimeField":"03:05:46.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3949,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3949,"uuid":"9e0a8a02-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["KqHxV","EYyRISHN","JWJDYwP","XXAIm","oRTb","jJHV"],"boolField":false,"intField":-764,"numField":-743.6943970249938,"objField":{"CYBLVYQGbm":-8923204423206279292,"JOynwWhd":-1188988170801508903,"VVtCExW":634595923390877297,"ZlinXjdSnm":5902501752325544171,"azSXDa":3700588325873407462,"jVkmFmVEf":5447426112254924564,"qkhNIL":-2994584489839705498,"rEvXF":-7916311918550383372,"rMdMQ":-3538921691805230476,"zLodJByrXu":-6847225310117278416},"stringDateField":"2021-04-13","stringDateTimeField":"1980-05-13T11:56:42Z","stringField":"bekUmmtLq","stringTimeField":"02:55:38.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":-764,"numField":-743.6943970249938,"stringDateField":"2021-04-13","stringDateTimeField":"1980-05-13T11:56:42Z","stringField":"bekUmmtLq","stringTimeField":"02:55:38.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3950,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3950,"uuid":"9e0a8a02-5655-11ee-b001-675ed0f8e89b"},"arrayField":["sPLF","acxnJ","fwUiIgq","PaqI"],"boolField":false,"intField":-873,"numField":-12.77097672047367,"objField":{"AsojN":-990151305707072233,"IePAed":-1169331655861958690,"IqUNwM":-6460976836224814996,"QhfEEgz":3935147780300400646,"TElrabYtpv":6514903823520446747,"djxJW":828122743803230264},"stringDateField":"1996-11-24","stringDateTimeField":"1960-09-21T01:54:11Z","stringField":"atOGDsThzq","stringTimeField":"13:37:55.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":-873,"numField":-12.77097672047367,"stringDateField":"1996-11-24","stringDateTimeField":"1960-09-21T01:54:11Z","stringField":"atOGDsThzq","stringTimeField":"13:37:55.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3951,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3951,"uuid":"9e0a8a02-5655-11ee-b401-675ed0f8e89b"},"arrayField":["SfJhNA","HqCfc","RKiKgTPSu","VGWwtYxB","vbEYqgAKu","rHhcUGWwpP","bzrapFr","zREJKyMi","FXbH","ocuZGHRsA"],"boolField":false,"intField":886,"numField":-927.62857078481,"objField":{"Ekdhj":8527180456656321179,"JsoIz":-2967475574533835175,"QdTEiSxXI":-7980605832971031840,"WNMrXA":3330775658780637632,"YhkGQKMs":-1913290095366772139,"fkuAKee":-7142377841244027631,"hdBXBgBa":-3800635816917976029,"mktQndcauO":-2649188528153967104,"mwxV":858016103401084071,"ysJOpHMvn":-7180737004011871984},"stringDateField":"1915-05-25","stringDateTimeField":"1960-10-26T21:39:45Z","stringField":"MfhmTpY","stringTimeField":"17:26:56.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":886,"numField":-927.62857078481,"stringDateField":"1915-05-25","stringDateTimeField":"1960-10-26T21:39:45Z","stringField":"MfhmTpY","stringTimeField":"17:26:56.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3952,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3952,"uuid":"9e0a8a02-5655-11ee-b801-675ed0f8e89b"},"arrayField":["XOtPbQw","nbnsAgJPaG"],"boolField":false,"intField":598,"numField":954.4175317081924,"objField":{"EhQSlGtu":416888815558209395,"RQEPXkzshR":3255190099104340189,"XIkEuytumP":-1454813400885531823,"Xvkd":4381896671431827382,"jeOebwu":817811482409230941,"xeVCFascEB":2254122769451137604,"xkHGdJ":5365138016276162150},"stringDateField":"1912-05-08","stringDateTimeField":"1968-02-23T13:33:39Z","stringField":"fLxgnv","stringTimeField":"01:36:27.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":598,"numField":954.4175317081924,"stringDateField":"1912-05-08","stringDateTimeField":"1968-02-23T13:33:39Z","stringField":"fLxgnv","stringTimeField":"01:36:27.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3953,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3953,"uuid":"9e0a8a02-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["itipUser","AKKfjjC","ZXZBEa","YFQkuw","WclaBY","kyDCnrBsaS","HtwNJSKxKE"],"boolField":false,"intField":-717,"numField":419.4538627699784,"objField":{"AJkVfYlNf":6283506727819815356,"mQqcbi":-520701369632835835,"pjcn":5730563560700657588,"vqZGdsvlh":-3335043335193709265},"stringDateField":"1968-11-12","stringDateTimeField":"1980-01-03T03:30:36Z","stringField":"SiquaofJdc","stringTimeField":"12:51:35.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763778Z","intField":-717,"numField":419.4538627699784,"stringDateField":"1968-11-12","stringDateTimeField":"1980-01-03T03:30:36Z","stringField":"SiquaofJdc","stringTimeField":"12:51:35.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3954,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3954,"uuid":"9e0a8a03-5655-11ee-8001-675ed0f8e89b"},"arrayField":["cMTka","omOgItNcr","zYFIKYKfGA","gWfB","fhzk","iaATxEYLa","bbQArwHlV","pWUEHIF","EkDFaeRBwe","TTCkdoK"],"boolField":true,"intField":175,"numField":-284.92478699760125,"objField":{"BDZEKd":2945635696759653150,"GcFVoEVnnQ":8866674964100803478,"ROICwUmV":7758534797138236966,"fKLIIeW":505339428386314399,"sFmDHbu":-4108744075531683394,"sfdMffb":-8611010210923603795,"yYfpyW":9163189581743489015,"zYrQknCKL":6482697553054124327},"stringDateField":"1968-01-13","stringDateTimeField":"2002-11-29T02:42:13Z","stringField":"XjihwvU","stringTimeField":"01:13:57.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":175,"numField":-284.92478699760125,"stringDateField":"1968-01-13","stringDateTimeField":"2002-11-29T02:42:13Z","stringField":"XjihwvU","stringTimeField":"01:13:57.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3955,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3955,"uuid":"9e0a8a03-5655-11ee-8401-675ed0f8e89b"},"arrayField":["dDwnqZiKoB","CYcfkfocCS","zBJkMiJY","XXFElTPTno","kxuwPcaNrU","cEtGGWpPgf","jZTiHlb"],"boolField":true,"intField":-751,"numField":-200.1220910476178,"objField":{"MDyzDrBKxM":3571415690275027339,"rWRx":7833329685585283021},"stringDateField":"1973-01-08","stringDateTimeField":"1902-09-30T03:55:44Z","stringField":"ocLz","stringTimeField":"22:48:00.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":-751,"numField":-200.1220910476178,"stringDateField":"1973-01-08","stringDateTimeField":"1902-09-30T03:55:44Z","stringField":"ocLz","stringTimeField":"22:48:00.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3956,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3956,"uuid":"9e0a8a03-5655-11ee-8801-675ed0f8e89b"},"arrayField":["QDUkGNI","DglxgXNupF","nLYWNa","iejiqvFdrZ","PnkADaF"],"boolField":false,"intField":-270,"numField":759.7455400972175,"objField":{"JAGJ":-5687835303478443245,"VVyNfuDebM":-751552671573288247,"VzMip":5307478761740935489,"agioOTNSW":3967634098521572428,"sTpkw":2505722876663218382,"zsUicakH":7448818466966321208},"stringDateField":"1932-03-02","stringDateTimeField":"1935-12-23T11:29:50Z","stringField":"vapRR","stringTimeField":"08:56:27.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":-270,"numField":759.7455400972175,"stringDateField":"1932-03-02","stringDateTimeField":"1935-12-23T11:29:50Z","stringField":"vapRR","stringTimeField":"08:56:27.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3957,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3957,"uuid":"9e0a8a03-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["SMZdRn","rGYqSAokrH","VYalubzd","xCtSAKc","aTFTpQS","fpnOA","BmaeMC","lFdnKK","pPyvVYxKdd"],"boolField":true,"intField":-331,"numField":-599.3210746411154,"objField":{"AAbwIhT":-7200245322757971841,"KVNwoD":346876393302129342,"TdSpPfzcP":-4511564513970618631,"TsPqvZixYu":5643154397856083833,"WgWDyw":-5173063884096114675,"gdFjQJnVMn":3909883897185761538,"ilfXfHp":483839901059618174,"sCPz":7771052624023636895},"stringDateField":"1907-08-29","stringDateTimeField":"1905-05-04T00:04:52Z","stringField":"tvbEvrIDh","stringTimeField":"20:40:58.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":-331,"numField":-599.3210746411154,"stringDateField":"1907-08-29","stringDateTimeField":"1905-05-04T00:04:52Z","stringField":"tvbEvrIDh","stringTimeField":"20:40:58.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3958,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3958,"uuid":"9e0a8a03-5655-11ee-9001-675ed0f8e89b"},"arrayField":["bOsgOBEAcB","cOeuaCa","fljcjyuV","BiNiBz","rPncjL","UKNef","GfGeEuK","HJQRSyA"],"boolField":true,"intField":458,"numField":-307.60623446240845,"objField":{"VxaG":-5509550923682674834,"iBHPw":3850083922428859626,"ryQMuWuZCz":-7115150730513302067,"xrKy":-617212410498031994},"stringDateField":"1942-09-08","stringDateTimeField":"1911-06-30T06:26:30Z","stringField":"dBWlQp","stringTimeField":"01:42:33.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":458,"numField":-307.60623446240845,"stringDateField":"1942-09-08","stringDateTimeField":"1911-06-30T06:26:30Z","stringField":"dBWlQp","stringTimeField":"01:42:33.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3959,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3959,"uuid":"9e0a8a03-5655-11ee-9401-675ed0f8e89b"},"arrayField":["xfaqIkQZHA","rMTMkIZvJ","NxmUEtLbkx","aiTFZG"],"boolField":true,"intField":-872,"numField":-510.57659020234286,"objField":{"DRndUm":7433153892328650125,"IPjQSI":-4117092136054658715,"VYBwBWZDFc":4118015052941633366,"nEPQch":1653157701094080427},"stringDateField":"1945-05-24","stringDateTimeField":"1991-01-06T12:44:57Z","stringField":"HhxEpZSJ","stringTimeField":"20:20:57.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":-872,"numField":-510.57659020234286,"stringDateField":"1945-05-24","stringDateTimeField":"1991-01-06T12:44:57Z","stringField":"HhxEpZSJ","stringTimeField":"20:20:57.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3960,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3960,"uuid":"9e0a8a03-5655-11ee-9801-675ed0f8e89b"},"arrayField":["mLBxbeiTa","ACDZogHlw","PGSXiUdc","euSdGUYCm","kPgKyWTCMT","YGZkrzb","mrhh","SedLwnE","yFas"],"boolField":true,"intField":199,"numField":204.0775095785894,"objField":{"BbopBXXi":-1680435963881688254,"GqPLvhv":3498235677559200073,"IsxYlFJmbl":-4284380979491637291,"hvBNoHqmNm":2329133560579509655,"oJim":-4760070155847071046,"rBaPqyY":-1821020379394826609},"stringDateField":"1912-06-30","stringDateTimeField":"1963-08-29T18:25:38Z","stringField":"xMSCBILsu","stringTimeField":"23:20:26.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":199,"numField":204.0775095785894,"stringDateField":"1912-06-30","stringDateTimeField":"1963-08-29T18:25:38Z","stringField":"xMSCBILsu","stringTimeField":"23:20:26.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3961,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3961,"uuid":"9e0a8a03-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["bdKZGkRo","KjYgW","cVDZabEgd","shbHiwEEHd","cFrFQKBt","WUvz","zmTfQafdg","khCGHEdj","pqKIZ","CXsYuQQtFm"],"boolField":false,"intField":-966,"numField":-134.00685661432277,"objField":{"NiLjubN":6405711660663003107,"OVjGaajNMt":5512681308558157976},"stringDateField":"1945-08-15","stringDateTimeField":"1959-08-30T13:29:20Z","stringField":"jSFD","stringTimeField":"05:09:03.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":-966,"numField":-134.00685661432277,"stringDateField":"1945-08-15","stringDateTimeField":"1959-08-30T13:29:20Z","stringField":"jSFD","stringTimeField":"05:09:03.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3962,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3962,"uuid":"9e0a8a03-5655-11ee-a001-675ed0f8e89b"},"arrayField":["FdoGajxp"],"boolField":false,"intField":-412,"numField":-295.5523052229668,"objField":{"keNx":6741043433234301829,"zyAVcHx":-6361882424664821074},"stringDateField":"1959-04-11","stringDateTimeField":"1938-02-10T02:00:00Z","stringField":"YnMDYxmt","stringTimeField":"03:51:02.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":-412,"numField":-295.5523052229668,"stringDateField":"1959-04-11","stringDateTimeField":"1938-02-10T02:00:00Z","stringField":"YnMDYxmt","stringTimeField":"03:51:02.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3963,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3963,"uuid":"9e0a8a03-5655-11ee-a401-675ed0f8e89b"},"arrayField":["tnMMGA","fXAtedysKN"],"boolField":false,"intField":600,"numField":848.8232288154367,"objField":{"KYqQTToFdM":7271997029195411852,"LlmlrROZtV":-4567685016692561251,"NYPn":-1009938816040100161,"VIfgWKflT":2099255723107115518,"erSNKN":1403151810526723563,"gYMw":-963214883579874363,"zGHdfLJAx":1499040783913683165},"stringDateField":"1925-12-10","stringDateTimeField":"2021-03-07T06:55:57Z","stringField":"aBVjHvVs","stringTimeField":"16:08:17.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":600,"numField":848.8232288154367,"stringDateField":"1925-12-10","stringDateTimeField":"2021-03-07T06:55:57Z","stringField":"aBVjHvVs","stringTimeField":"16:08:17.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3964,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3964,"uuid":"9e0a8a03-5655-11ee-a801-675ed0f8e89b"},"arrayField":["Raha","HNVO","yMAVUn","Vxfk","JHRNnWXVLC","oUJfRoUCv","dFtCv","yrqOsYOWii","BNjMGM"],"boolField":false,"intField":-417,"numField":576.5216876776244,"objField":{"aUAzu":1771811206249427344,"anWzzv":-5755834890783797591,"hqGXJCa":-8754807707889745665},"stringDateField":"1955-11-01","stringDateTimeField":"2010-02-19T01:05:35Z","stringField":"nTAloOhm","stringTimeField":"15:00:30.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":-417,"numField":576.5216876776244,"stringDateField":"1955-11-01","stringDateTimeField":"2010-02-19T01:05:35Z","stringField":"nTAloOhm","stringTimeField":"15:00:30.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3965,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3965,"uuid":"9e0a8a03-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ZGte","NAtorv","fQltehwYB","vQhB"],"boolField":true,"intField":367,"numField":-457.2738884486548,"objField":{"HkePf":-9105078351421728904,"LMTswwI":-2612553702057309878,"hvIBurHO":-4766088978938149051,"mlVxTGJDE":-8841400527931282503,"trzDmyBM":2873256478925953720,"vaizJ":4098643091506916193,"ydigQY":-1795827858063530683},"stringDateField":"1954-01-28","stringDateTimeField":"1960-07-06T17:59:50Z","stringField":"uwCKKgLM","stringTimeField":"09:21:26.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":367,"numField":-457.2738884486548,"stringDateField":"1954-01-28","stringDateTimeField":"1960-07-06T17:59:50Z","stringField":"uwCKKgLM","stringTimeField":"09:21:26.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3966,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3966,"uuid":"9e0a8a03-5655-11ee-b001-675ed0f8e89b"},"arrayField":["eHvyJW","NLxjAu","yXeWF","wfEtIlu","sINjT"],"boolField":false,"intField":183,"numField":529.8301267981429,"objField":{"BIso":-1919781969706428770,"GoOnwCyXf":4969100427769910739,"VArLC":-927064739473635683,"dLlwnZLd":2863567186216479532,"kOVBB":-5507364683265650428,"kUCgYC":7463704744644810102,"oEUaRHn":-8756939411409157819,"xPadRKYXjt":-4945812195394101906},"stringDateField":"1909-11-07","stringDateTimeField":"1981-12-29T00:21:58Z","stringField":"CEwJEF","stringTimeField":"07:46:15.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":183,"numField":529.8301267981429,"stringDateField":"1909-11-07","stringDateTimeField":"1981-12-29T00:21:58Z","stringField":"CEwJEF","stringTimeField":"07:46:15.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3967,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3967,"uuid":"9e0a8a03-5655-11ee-b401-675ed0f8e89b"},"arrayField":["hhba"],"boolField":true,"intField":466,"numField":-348.5325566197411,"objField":{"BtWjB":1940063904491543622,"MnQGla":-4972237559831011279,"QWnQzOuC":-4996674015049823407,"TDUFnLYgFQ":3583607841274903240,"xxoe":-7869682195861066319},"stringDateField":"2014-05-21","stringDateTimeField":"1985-12-29T19:24:34Z","stringField":"wgAGGhzelh","stringTimeField":"22:54:21.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":466,"numField":-348.5325566197411,"stringDateField":"2014-05-21","stringDateTimeField":"1985-12-29T19:24:34Z","stringField":"wgAGGhzelh","stringTimeField":"22:54:21.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3968,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3968,"uuid":"9e0a8a03-5655-11ee-b801-675ed0f8e89b"},"arrayField":["Zdgwsy","GsiTe","MRnBFIDJ","uLHMmIaQiS","YiDEzltJ","CpSn","ReSwUAe","gGORj","ATUA"],"boolField":false,"intField":-298,"numField":669.8299533888614,"objField":{"RQBdHGWL":8528370936334935868,"qHxVn":1300559859790989457},"stringDateField":"2000-11-27","stringDateTimeField":"2005-04-09T02:24:50Z","stringField":"DErzcJ","stringTimeField":"01:19:40.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":-298,"numField":669.8299533888614,"stringDateField":"2000-11-27","stringDateTimeField":"2005-04-09T02:24:50Z","stringField":"DErzcJ","stringTimeField":"01:19:40.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3969,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3969,"uuid":"9e0a8a03-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["eyQwExIH","JPRBPlFugv","tvbDdjCNOd","NneLzirjfv","vvhoSjQd","otRYL","YYwRsC"],"boolField":false,"intField":865,"numField":-319.9820573281602,"objField":{"JzzeZzjeH":-3111759978053139033,"dBZBFn":-5138257610476193629,"ruEhacZJJe":-7409005432555245263,"uUmRiBRzMq":-8003858728768986211},"stringDateField":"2017-12-25","stringDateTimeField":"1968-09-08T02:31:28Z","stringField":"zuyVG","stringTimeField":"20:29:22.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763779Z","intField":865,"numField":-319.9820573281602,"stringDateField":"2017-12-25","stringDateTimeField":"1968-09-08T02:31:28Z","stringField":"zuyVG","stringTimeField":"20:29:22.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3970,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3970,"uuid":"9e0a8a04-5655-11ee-8001-675ed0f8e89b"},"arrayField":["iDJg","ujbrnM","tHTwUvBMMK","fYtsZ","LrtxuZQ","mxaXh","MRmlFGy","IHuLzUyc","IYGbbqDv"],"boolField":false,"intField":-849,"numField":419.25408929694805,"objField":{"HXQibb":8876190896154325682},"stringDateField":"1957-09-18","stringDateTimeField":"1917-06-19T21:17:36Z","stringField":"yZvjFNL","stringTimeField":"19:46:04.22Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":-849,"numField":419.25408929694805,"stringDateField":"1957-09-18","stringDateTimeField":"1917-06-19T21:17:36Z","stringField":"yZvjFNL","stringTimeField":"19:46:04.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3971,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3971,"uuid":"9e0a8a04-5655-11ee-8401-675ed0f8e89b"},"arrayField":["gmHQbXF","YBZOF","EProwK","kFJiJ","yRTDthFmo"],"boolField":true,"intField":833,"numField":-358.0159192165665,"objField":{"BUuUUFFvC":3245857128628656968,"FdilsC":-1668822043961656495,"RAbSuKl":8489721141056602458,"Rofi":1972591665175867658,"WdUZBwqAFc":-7048900555198062292,"bYgcw":4563927653471630879,"mlwWeP":177605692111504761,"nkOMRciO":3724445184009816000,"onQWmcEdat":-1366845524754647652},"stringDateField":"1976-09-09","stringDateTimeField":"1968-12-10T05:46:25Z","stringField":"OBXmMdZkT","stringTimeField":"15:07:59.31Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":833,"numField":-358.0159192165665,"stringDateField":"1976-09-09","stringDateTimeField":"1968-12-10T05:46:25Z","stringField":"OBXmMdZkT","stringTimeField":"15:07:59.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3972,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3972,"uuid":"9e0a8a04-5655-11ee-8801-675ed0f8e89b"},"arrayField":["clVIWez","hbleVNEn","GKegFbm","DVqPbVNP","WJQmjZiQ","gvxLEWkKwp","qvsvd","ahJGjBKn","CytGMK","UXotKiV"],"boolField":false,"intField":-760,"numField":47.93982388760632,"objField":{"BAKaOnr":8405834504304531632,"OkUSJ":-6484783431253810773,"lehvLHiCK":-8029805855103583956},"stringDateField":"1928-12-01","stringDateTimeField":"1992-08-23T04:40:24Z","stringField":"GhzwTBALW","stringTimeField":"07:50:01.25Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":-760,"numField":47.93982388760632,"stringDateField":"1928-12-01","stringDateTimeField":"1992-08-23T04:40:24Z","stringField":"GhzwTBALW","stringTimeField":"07:50:01.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3973,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3973,"uuid":"9e0a8a04-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["jJkEh","nTXmy","RfWzDftw","OxFUmkbc","gPFqpPxK","zVNkIVG","yrSKfHt","kRDs","hLWKK","iPZP"],"boolField":false,"intField":156,"numField":-676.2438730214311,"objField":{"AVOb":-8523896889666752012,"BYxMmtC":3381175343400006590,"DRSBUY":526985211529818500,"McXLRbhIN":8315079137648263932,"Vuewh":1706387508046297063,"aKntsH":-6155212255728531865,"bzSvufMU":972427575101409107},"stringDateField":"1990-09-20","stringDateTimeField":"1974-07-11T09:23:02Z","stringField":"eiFTWVa","stringTimeField":"07:16:22.44Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":156,"numField":-676.2438730214311,"stringDateField":"1990-09-20","stringDateTimeField":"1974-07-11T09:23:02Z","stringField":"eiFTWVa","stringTimeField":"07:16:22.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3974,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3974,"uuid":"9e0a8a04-5655-11ee-9001-675ed0f8e89b"},"arrayField":["sWxJDAU","BLXvHS","hfJt","qmGDQaAUB","KnMMddiPo","PkWoZJJfZ","LSXBUEcJ","RBjqgoBdS","nPcaSxw","qSKpSOI"],"boolField":false,"intField":-941,"numField":-624.3249844990598,"objField":{"EjcCNP":-1795815220116527451,"Wkwuv":-3520243404954490956,"XoRuXFFOX":2557929207820959543,"kYnYet":1808082851013381394,"kvfGq":6534939680745049242},"stringDateField":"1922-07-15","stringDateTimeField":"1924-08-05T20:45:05Z","stringField":"vqKDOIHbX","stringTimeField":"17:47:47.27Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":-941,"numField":-624.3249844990598,"stringDateField":"1922-07-15","stringDateTimeField":"1924-08-05T20:45:05Z","stringField":"vqKDOIHbX","stringTimeField":"17:47:47.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3975,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3975,"uuid":"9e0a8a04-5655-11ee-9401-675ed0f8e89b"},"arrayField":["Tlhyi","AwNvFXAg","UOWuXXIUB","zCvP","lsBGWu","AjUgTo","bfYa","eHHALdUNcV","uXUjXhD"],"boolField":true,"intField":377,"numField":996.5694055557102,"objField":{"DSIF":739163997915591830,"LZmBCKAU":-2644325013900891514,"OvbLzlMNmY":-549410547311485800,"SdFfMbfZEc":-5630947734128312109,"edsvh":3391410715984686146,"jfhV":3173534537262236050,"qNXiMbDAPW":-691634116053565518},"stringDateField":"1954-05-22","stringDateTimeField":"2015-08-26T20:39:04Z","stringField":"NemhnSMD","stringTimeField":"01:23:04.24Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":377,"numField":996.5694055557102,"stringDateField":"1954-05-22","stringDateTimeField":"2015-08-26T20:39:04Z","stringField":"NemhnSMD","stringTimeField":"01:23:04.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3976,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3976,"uuid":"9e0a8a04-5655-11ee-9801-675ed0f8e89b"},"arrayField":["jkqTIed"],"boolField":false,"intField":-925,"numField":-9.739215563758007,"objField":{"CXRf":3939063984257411230,"WcRQSCsO":-9135358069453227636,"YNDbrOuu":-8219340912032851781,"qEYtm":-4845405774954546050,"upiTabym":-4908745287703291951},"stringDateField":"1905-02-11","stringDateTimeField":"1909-02-07T10:11:58Z","stringField":"StDfVn","stringTimeField":"22:26:51.31Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":-925,"numField":-9.739215563758007,"stringDateField":"1905-02-11","stringDateTimeField":"1909-02-07T10:11:58Z","stringField":"StDfVn","stringTimeField":"22:26:51.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3977,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3977,"uuid":"9e0a8a04-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["BEVosxl","sYLERLctxL","rtnpjz","xhKZoR"],"boolField":false,"intField":-954,"numField":242.53167653984687,"objField":{"AOZpYjdTLY":6262014381898406720,"ERXSKIFPfb":-3720865055194750583,"IrYNashgT":-3645725453768284360,"KYfjcpSd":-3516345344525780226,"NfpZyLa":351792940557360867,"OOeexsecB":-6153834119303352693,"TujmqAAwrR":-681382514734838633,"eDNijjF":-8589811793251011987,"nAfBJJ":-8147088999159882063,"tBmbrddVq":9030416224312838620},"stringDateField":"2016-07-25","stringDateTimeField":"1982-07-23T20:15:35Z","stringField":"OWxPFf","stringTimeField":"22:05:17.49Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":-954,"numField":242.53167653984687,"stringDateField":"2016-07-25","stringDateTimeField":"1982-07-23T20:15:35Z","stringField":"OWxPFf","stringTimeField":"22:05:17.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3978,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3978,"uuid":"9e0a8a04-5655-11ee-a001-675ed0f8e89b"},"arrayField":["aeTmLB","QDtDLMAdf","xyYfOj","saYWL"],"boolField":false,"intField":-792,"numField":83.42915505337967,"objField":{"DERjT":-4812217074884820307,"DsMEmzAR":76803357232640377,"FrDIu":4447441521005164562,"GMiclhWTx":-11636308328150179,"NiSux":-3982982997123465768,"YxrqnV":-9062502220090272885,"friC":-8974042550600822501,"nfUbIxTxmo":-7150750563066678705,"pkJqfQ":-7060959327738442553,"tGycE":-7017283866356041189},"stringDateField":"2001-03-16","stringDateTimeField":"1977-11-24T11:37:35Z","stringField":"guhVHgBtP","stringTimeField":"08:18:07.27Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":-792,"numField":83.42915505337967,"stringDateField":"2001-03-16","stringDateTimeField":"1977-11-24T11:37:35Z","stringField":"guhVHgBtP","stringTimeField":"08:18:07.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3979,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3979,"uuid":"9e0a8a04-5655-11ee-a401-675ed0f8e89b"},"arrayField":["zKLB","SSNGO","sjdg","BhzG","mzLcUPzvXP","gEnExdVD","NqRbzGp","jbsxB","PgBA","gckeyytyf"],"boolField":true,"intField":669,"numField":-375.8873445938166,"objField":{"GHzh":2308626381592587933,"NAlm":3726657810364969068,"ePTIIdUN":1882404358091407593},"stringDateField":"1985-12-10","stringDateTimeField":"1910-07-06T16:53:29Z","stringField":"PVIHCZH","stringTimeField":"15:15:37.44Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":669,"numField":-375.8873445938166,"stringDateField":"1985-12-10","stringDateTimeField":"1910-07-06T16:53:29Z","stringField":"PVIHCZH","stringTimeField":"15:15:37.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3980,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3980,"uuid":"9e0a8a04-5655-11ee-a801-675ed0f8e89b"},"arrayField":["sEDwaLa","MXrmBPTx","dFRy","vDNlED","WnsSO","MdHCqSiLU","PNnUESbIF"],"boolField":false,"intField":178,"numField":600.9448855202004,"objField":{"JHsI":-1213410634846455030,"fWZOdwIqi":-7714179148144368013,"lpwSYXAqP":-778257059073002443,"wthtG":-3098971218274305828},"stringDateField":"1968-02-09","stringDateTimeField":"1982-12-15T13:08:20Z","stringField":"znUpftf","stringTimeField":"20:31:35.18Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":178,"numField":600.9448855202004,"stringDateField":"1968-02-09","stringDateTimeField":"1982-12-15T13:08:20Z","stringField":"znUpftf","stringTimeField":"20:31:35.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3981,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3981,"uuid":"9e0a8a04-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ZmdzLd","LZeynvOuPP","gaVEzEeSRU","aoEYW","TiZcYod"],"boolField":false,"intField":29,"numField":-325.93055821725403,"objField":{"EffjEMYTWY":-5476007242296313961,"ZrACfl":-2110083704607641670},"stringDateField":"2015-07-18","stringDateTimeField":"2015-12-27T22:36:07Z","stringField":"AOkQv","stringTimeField":"02:12:19.17Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":29,"numField":-325.93055821725403,"stringDateField":"2015-07-18","stringDateTimeField":"2015-12-27T22:36:07Z","stringField":"AOkQv","stringTimeField":"02:12:19.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3982,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3982,"uuid":"9e0a8a04-5655-11ee-b001-675ed0f8e89b"},"arrayField":["WKQeF","rIbhImp","GLOKjf"],"boolField":false,"intField":989,"numField":-121.88759363578627,"objField":{"EstX":-6390050269984664639,"FwnmhdZ":-5550708481578719919,"HuQIkv":20476694272562844,"KpxalQW":2525344628681121182,"RlgKhgh":3288572202929635026,"SRONg":2174262647967267677,"UvYTSBr":-2220134597654613667,"YVLoA":-4731600411682259291,"bmAKdBMOKF":-7038143555499836924,"eVZaFSL":-878186806245099818},"stringDateField":"1977-03-17","stringDateTimeField":"1935-11-12T19:00:21Z","stringField":"JEgu","stringTimeField":"22:30:03.20Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":989,"numField":-121.88759363578627,"stringDateField":"1977-03-17","stringDateTimeField":"1935-11-12T19:00:21Z","stringField":"JEgu","stringTimeField":"22:30:03.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3983,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3983,"uuid":"9e0a8a04-5655-11ee-b401-675ed0f8e89b"},"arrayField":["tPZO"],"boolField":true,"intField":-483,"numField":-134.92397551328628,"objField":{"MntVLf":-2899800188005186104,"OCFdCBqq":5926972573894920656,"WXYhiukA":-3542473793078662223,"XJAiz":-4169513366351259860,"XqekJp":3671235642579247494,"hwRUnGV":-1297957932631757332,"tIGaaMB":8498896056597066619},"stringDateField":"1991-07-27","stringDateTimeField":"1995-07-20T08:58:43Z","stringField":"rKgYU","stringTimeField":"16:46:00.50Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":-483,"numField":-134.92397551328628,"stringDateField":"1991-07-27","stringDateTimeField":"1995-07-20T08:58:43Z","stringField":"rKgYU","stringTimeField":"16:46:00.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3984,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3984,"uuid":"9e0a8a04-5655-11ee-b801-675ed0f8e89b"},"arrayField":["KFhVrCs","FSDSOHhgah","EAhJVB","owQv"],"boolField":false,"intField":-973,"numField":278.5514640886901,"objField":{"FEecGrbokt":4529895177795210234,"RMkVtwET":-3566644073903168367,"UzWt":-7227528657078555594,"XnsRb":-5877568617308491568,"XrwGzzrmbt":8874307904257086379,"bQtp":8116210316947169111,"bXwyeYj":7446684838263078811,"dnQdZgNGGS":2037754207453748171,"hWbt":6455967745524691478},"stringDateField":"2005-10-07","stringDateTimeField":"2014-12-28T07:08:10Z","stringField":"jQvUqnl","stringTimeField":"07:08:18.15Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":-973,"numField":278.5514640886901,"stringDateField":"2005-10-07","stringDateTimeField":"2014-12-28T07:08:10Z","stringField":"jQvUqnl","stringTimeField":"07:08:18.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3985,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3985,"uuid":"9e0a8a04-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["EEuCmadXPj","TQzs","ooUfnlo","CbAdlmcik","HheOnxRrKX"],"boolField":false,"intField":282,"numField":523.4729028743487,"objField":{"BFHSK":-3986008716734320147,"FjjS":-5073907401553016238,"KfHGq":1547971123452818032,"MMKZiLJRo":-4535328825422071957,"TJeQ":6948418358071765548,"WkdsO":8500402513497254711,"cqCJveXKuJ":-9214637849300367069,"gCbBEXUePq":-4657812227691499487,"isRAFY":702267496737862757,"lZDOU":-8013043211257415062},"stringDateField":"1956-09-13","stringDateTimeField":"2018-07-19T06:32:40Z","stringField":"NSaJN","stringTimeField":"16:26:34.20Z"},"flow_published_at":"2023-09-18T19:00:21.876378Z","intField":282,"numField":523.4729028743487,"stringDateField":"1956-09-13","stringDateTimeField":"2018-07-19T06:32:40Z","stringField":"NSaJN","stringTimeField":"16:26:34.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3986,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3986,"uuid":"9e0a8a05-5655-11ee-8001-675ed0f8e89b"},"arrayField":["hAGTKnECi","huRtegQgT","ffMnUEMOXD","aAYHXadrjh","KUTcB","UXPZozsW","sozKHKV","qUVJVrf","doBQW"],"boolField":true,"intField":817,"numField":474.7814578726542,"objField":{"WouzKfF":-952900651251731281,"iNwAJXxnuR":755332970917462983},"stringDateField":"2009-07-20","stringDateTimeField":"1910-03-16T15:45:59Z","stringField":"hpaQD","stringTimeField":"14:33:27.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":817,"numField":474.7814578726542,"stringDateField":"2009-07-20","stringDateTimeField":"1910-03-16T15:45:59Z","stringField":"hpaQD","stringTimeField":"14:33:27.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3987,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3987,"uuid":"9e0a8a05-5655-11ee-8401-675ed0f8e89b"},"arrayField":["KqgZYN","RBJLxWiN","bnbuWkrP","PGWVLSdUo","pYybllBbEo","GaReLYaQ","BXLeTCtewU","JOARiYZRki"],"boolField":true,"intField":302,"numField":-75.81286702096823,"objField":{"BOcau":7775206264103590140,"BeJWa":-5915078248032731334,"BofzNhsWTp":-2354390378664320373,"KFgyPWQ":-5591686644621524923,"MpXQa":2824077774160178820,"OEidEYh":-5620840710784327221,"UdOqrSF":4114036389347189901,"VuEMzNkAy":7853487208218171116,"YUuxLDU":1324203528625892433,"sNSmHu":1576308685411124001},"stringDateField":"1941-09-03","stringDateTimeField":"2018-08-31T02:11:17Z","stringField":"ExJQz","stringTimeField":"08:26:12.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":302,"numField":-75.81286702096823,"stringDateField":"1941-09-03","stringDateTimeField":"2018-08-31T02:11:17Z","stringField":"ExJQz","stringTimeField":"08:26:12.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3988,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3988,"uuid":"9e0a8a05-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ZlBcuaYm","UFyiLS","PVtAuFZe","WHNNShuDcz","LjoVwSxaq","HfeTJJN","NjkGC","WaeBIu","jBdaXWLW"],"boolField":true,"intField":-380,"numField":966.4200345772716,"objField":{"PJYeZ":-7882047103902288347,"UfhHQpn":828037156117558979,"YiWiicu":2547303708478942903,"ZIOIiOSBB":-5958864263798453585,"ZyeFCTxqO":-7164678733072142964,"hYPK":-3667443147712029850,"spSC":4651042797195193644,"zSjVdDqWTT":-2265952983757198256},"stringDateField":"1929-04-17","stringDateTimeField":"1981-10-09T15:02:53Z","stringField":"oEKAgv","stringTimeField":"16:45:10.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":-380,"numField":966.4200345772716,"stringDateField":"1929-04-17","stringDateTimeField":"1981-10-09T15:02:53Z","stringField":"oEKAgv","stringTimeField":"16:45:10.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3989,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3989,"uuid":"9e0a8a05-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["NNqgnXRg","aDXMNtxDRf","uGPB","LkdXsnnjM","USrSpQ","AkOQYGP","kYGkUQHA","SfJjovH"],"boolField":false,"intField":-520,"numField":-650.3878587352663,"objField":{"FazW":-9196699345723424981,"Joqsf":6338714452777102291,"MmQbFxFrK":5560934073403301345,"TxOTvN":-2419877515162611699,"ksbjh":-5198127162382774133,"yeaFAJkw":8522359153945061254},"stringDateField":"1948-02-27","stringDateTimeField":"2011-07-26T13:01:03Z","stringField":"TPuoO","stringTimeField":"17:38:43.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":-520,"numField":-650.3878587352663,"stringDateField":"1948-02-27","stringDateTimeField":"2011-07-26T13:01:03Z","stringField":"TPuoO","stringTimeField":"17:38:43.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3990,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3990,"uuid":"9e0a8a05-5655-11ee-9001-675ed0f8e89b"},"arrayField":["eKDOHVfT","bzdBd","jQby","QLacGBxLjg","QNOZvFp","DeFEdq","grriA"],"boolField":true,"intField":789,"numField":532.8415915832616,"objField":{"EvopHkYsYZ":-321905935202899504,"YlMu":6863865366672197097,"stBihBSlOr":-6318427308198508719,"tiwCEMR":1978228637586516093,"ttgOa":8265574308359364345},"stringDateField":"1963-07-01","stringDateTimeField":"2011-04-16T13:57:27Z","stringField":"KDxQq","stringTimeField":"04:23:04.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":789,"numField":532.8415915832616,"stringDateField":"1963-07-01","stringDateTimeField":"2011-04-16T13:57:27Z","stringField":"KDxQq","stringTimeField":"04:23:04.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3991,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3991,"uuid":"9e0a8a05-5655-11ee-9401-675ed0f8e89b"},"arrayField":["vNfFioXGd","vuuaxeQ","uYXySZKFGW","iyGK","WacJZr","Ngcv","txyqpq"],"boolField":false,"intField":-650,"numField":266.7944520190266,"objField":{"FIFubIRA":75051724141863096,"FeAPqBpl":376903243377911632,"GwFH":-6050730013016773480,"Lyqdo":7181982144274102085,"PfdnRvgJC":3291072986385440448,"UTyZG":-7957692431265187689,"WsTlv":-562600163997737908,"efkWW":6691886678479026393},"stringDateField":"1904-12-28","stringDateTimeField":"1990-11-07T22:38:22Z","stringField":"mtuJ","stringTimeField":"04:51:13.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":-650,"numField":266.7944520190266,"stringDateField":"1904-12-28","stringDateTimeField":"1990-11-07T22:38:22Z","stringField":"mtuJ","stringTimeField":"04:51:13.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3992,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3992,"uuid":"9e0a8a05-5655-11ee-9801-675ed0f8e89b"},"arrayField":["rUQjldvzld","fppFN","kgnUDaEj","OkQs","VJzrgmnJdh","rQsdwh","RCwWZZrP","fvsmWSw"],"boolField":false,"intField":834,"numField":-325.4524305831679,"objField":{"Vhec":2879031776915169852},"stringDateField":"1914-03-10","stringDateTimeField":"1956-04-09T20:17:31Z","stringField":"RwrMPLedm","stringTimeField":"18:42:53.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":834,"numField":-325.4524305831679,"stringDateField":"1914-03-10","stringDateTimeField":"1956-04-09T20:17:31Z","stringField":"RwrMPLedm","stringTimeField":"18:42:53.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3993,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3993,"uuid":"9e0a8a05-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["oYdLhJbQV","RlSmgzx","zqQflq","GoEyKI","wPRn","fsCLlKJHee","fvsw","kYqpwADad","InODMEfGdg"],"boolField":false,"intField":-234,"numField":483.7832780310176,"objField":{"GbiTisj":7133335254263791920,"HpFjHEqR":-1549893983389558255,"JSGw":-5960223081766389866,"KRkJgqGGa":-4499866777212565400,"TNcHinP":5689476886376186763,"TXcboCt":-5236897430718196524,"WzHl":4953165707512915113,"pjQeRZc":-3475500765583532843,"wFunjSTXqI":-9210998879976764913},"stringDateField":"1948-03-10","stringDateTimeField":"2009-11-03T23:27:15Z","stringField":"VIoKRyZ","stringTimeField":"23:07:48.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":-234,"numField":483.7832780310176,"stringDateField":"1948-03-10","stringDateTimeField":"2009-11-03T23:27:15Z","stringField":"VIoKRyZ","stringTimeField":"23:07:48.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3994,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3994,"uuid":"9e0a8a05-5655-11ee-a001-675ed0f8e89b"},"arrayField":["hDRUEJgp","TLjQPsvTa"],"boolField":true,"intField":679,"numField":986.962116569294,"objField":{"KVzCKyQZqt":4075109102148480602,"XaRX":8285234488885156829,"fOpfghX":2707190088232873452,"yCyHoFQs":8226760414656946738,"yIcwK":669302638706683355},"stringDateField":"2023-04-20","stringDateTimeField":"1941-07-01T21:58:31Z","stringField":"xrlECCOuR","stringTimeField":"16:15:00.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":679,"numField":986.962116569294,"stringDateField":"2023-04-20","stringDateTimeField":"1941-07-01T21:58:31Z","stringField":"xrlECCOuR","stringTimeField":"16:15:00.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3995,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3995,"uuid":"9e0a8a05-5655-11ee-a401-675ed0f8e89b"},"arrayField":["pJjlltf","NsDUUp","WoflqWw"],"boolField":true,"intField":-177,"numField":-713.4078825919473,"objField":{"FKKdxoA":-5761481349459279303,"LLHXUHlOdE":4542642220221303744,"NqFPGJcM":-1291901939176885275,"YKom":343490853283471065,"rGcG":-7581363963043862355,"ywPyP":1279424044013570598},"stringDateField":"2021-03-09","stringDateTimeField":"2020-09-05T08:55:59Z","stringField":"JzFka","stringTimeField":"17:50:49.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":-177,"numField":-713.4078825919473,"stringDateField":"2021-03-09","stringDateTimeField":"2020-09-05T08:55:59Z","stringField":"JzFka","stringTimeField":"17:50:49.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3996,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3996,"uuid":"9e0a8a05-5655-11ee-a801-675ed0f8e89b"},"arrayField":["FJeoqNQMy","yLIVq","OLRhB","puNiD","FRKa","GNOriwIRs","UUxehJp"],"boolField":true,"intField":415,"numField":-252.62655452642937,"objField":{"KAbpFXeg":-5595659477832550107,"MtWPctd":-6325948780104775416,"TEmgyN":-3094901819717831314,"XlBgcrnvB":2298786890340492447,"YBtyLW":3706091894807958579,"Yomv":299098576939212964,"ZudjhR":6872677390196433874,"kcRqJoTU":-6554930240146730003},"stringDateField":"1919-05-14","stringDateTimeField":"1938-11-24T17:09:40Z","stringField":"zDJNRpT","stringTimeField":"00:40:05.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":415,"numField":-252.62655452642937,"stringDateField":"1919-05-14","stringDateTimeField":"1938-11-24T17:09:40Z","stringField":"zDJNRpT","stringTimeField":"00:40:05.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3997,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3997,"uuid":"9e0a8a05-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["FtqZhBAhuK","bhcT"],"boolField":false,"intField":167,"numField":-258.85848787548906,"objField":{"JDXixpx":922582145789368230,"KQNCgHVgr":1585514047791984087,"LxgXKwg":474623712709941897,"PzQzXAtZ":4553439229438632624,"UOymj":-845298672537135494,"bLFnefj":-1371622828477380671,"qyivLdXc":-2149855531892621721,"rnTh":-4825721745435211975},"stringDateField":"1932-07-22","stringDateTimeField":"1922-09-02T15:07:44Z","stringField":"rbaqdi","stringTimeField":"17:53:27.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":167,"numField":-258.85848787548906,"stringDateField":"1932-07-22","stringDateTimeField":"1922-09-02T15:07:44Z","stringField":"rbaqdi","stringTimeField":"17:53:27.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3998,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3998,"uuid":"9e0a8a05-5655-11ee-b001-675ed0f8e89b"},"arrayField":["MTFvGRBGIq","YcymdgoSQW","xbJiRpgn","CDCgUxfuYP","rUqlTblL","evUgKCVFtD"],"boolField":false,"intField":657,"numField":938.0017274019472,"objField":{"JeWiJStCds":-4159378404861364492},"stringDateField":"2004-10-31","stringDateTimeField":"1989-12-16T05:58:35Z","stringField":"zQRSNMOoy","stringTimeField":"19:20:06.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":657,"numField":938.0017274019472,"stringDateField":"2004-10-31","stringDateTimeField":"1989-12-16T05:58:35Z","stringField":"zQRSNMOoy","stringTimeField":"19:20:06.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":3999,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":3999,"uuid":"9e0a8a05-5655-11ee-b401-675ed0f8e89b"},"arrayField":["uLgHqltfwJ","DqoazhgF","HkUqgVQ","QJvfEefW","IrtpmSEmCL","rDOAV","WHzrZbXjT","AYQZlidAI"],"boolField":true,"intField":400,"numField":-309.9557411209891,"objField":{"OVyep":-5589456705055229919,"SOAsKPpSSR":8270542307468412732,"UtXPOsZTg":2104586852046687454,"WuHl":-72383329695535072,"qgpBkUmW":-2675111054118465898,"qxnPG":-6422857257521043023,"yxiqXo":-7041816753887623464},"stringDateField":"1982-05-24","stringDateTimeField":"2013-05-01T07:21:33Z","stringField":"RKmAwt","stringTimeField":"13:57:39.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":400,"numField":-309.9557411209891,"stringDateField":"1982-05-24","stringDateTimeField":"2013-05-01T07:21:33Z","stringField":"RKmAwt","stringTimeField":"13:57:39.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4000,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4000,"uuid":"9e0a8a05-5655-11ee-b801-675ed0f8e89b"},"arrayField":["kxcECvj","ZHBwK"],"boolField":true,"intField":872,"numField":414.6253297881879,"objField":{"pzOTFJqHp":-7494055796210745684},"stringDateField":"1984-09-09","stringDateTimeField":"1925-07-07T20:04:50Z","stringField":"iOna","stringTimeField":"10:00:14.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":872,"numField":414.6253297881879,"stringDateField":"1984-09-09","stringDateTimeField":"1925-07-07T20:04:50Z","stringField":"iOna","stringTimeField":"10:00:14.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4001,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4001,"uuid":"9e0a8a05-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["mcOXuMwx","TYRZje"],"boolField":true,"intField":-579,"numField":642.8210728239143,"objField":{"Qoml":-103274143071774441},"stringDateField":"2022-01-30","stringDateTimeField":"1919-05-31T16:29:00Z","stringField":"IbqnfNhDp","stringTimeField":"22:58:29.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763781Z","intField":-579,"numField":642.8210728239143,"stringDateField":"2022-01-30","stringDateTimeField":"1919-05-31T16:29:00Z","stringField":"IbqnfNhDp","stringTimeField":"22:58:29.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4002,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4002,"uuid":"9e0a8a06-5655-11ee-8001-675ed0f8e89b"},"arrayField":["rKUn"],"boolField":true,"intField":117,"numField":904.3882899664452,"objField":{"EsyTwwqi":7418374255144034093,"QzyqE":-3791248532809996535,"WtxAlFub":-7748101386013388076,"bzkTaOwlb":5376212372464255991,"cJDJZ":-6938232209555690125,"fttDSELkw":2399989892287556764,"xPklpkFv":-6339439099220619335},"stringDateField":"2020-11-03","stringDateTimeField":"2015-12-07T08:09:32Z","stringField":"Eqcvx","stringTimeField":"18:53:37.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":117,"numField":904.3882899664452,"stringDateField":"2020-11-03","stringDateTimeField":"2015-12-07T08:09:32Z","stringField":"Eqcvx","stringTimeField":"18:53:37.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4003,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4003,"uuid":"9e0a8a06-5655-11ee-8401-675ed0f8e89b"},"arrayField":["vMIRl","CzCAv","RMmYpycDhZ","KOyAVk"],"boolField":true,"intField":-937,"numField":310.1608720012743,"objField":{"INPkNtGJ":3364976997339372058,"MnKalx":4178844228482280963,"UjPCh":8758243754373280228,"VYnviC":599362048594110781,"eSJLBycb":8611690213907093385,"kfTXxVaBbF":4724896582371335659,"lqIe":-7323757851797278150,"xISNU":-216140639213175878},"stringDateField":"1947-09-11","stringDateTimeField":"1953-05-23T09:52:57Z","stringField":"XfHjb","stringTimeField":"01:15:07.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":-937,"numField":310.1608720012743,"stringDateField":"1947-09-11","stringDateTimeField":"1953-05-23T09:52:57Z","stringField":"XfHjb","stringTimeField":"01:15:07.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4004,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4004,"uuid":"9e0a8a06-5655-11ee-8801-675ed0f8e89b"},"arrayField":["EOJXTEWF","GTwcZXFX","rtSzdN","icBT"],"boolField":true,"intField":-771,"numField":120.11741567417933,"objField":{"TEbUDZywLR":3107201649212687791,"cnSDmVu":5167796767773749964,"eduCDmRgfM":-7597490763330350656,"nvTMb":-700018778630708246},"stringDateField":"1972-06-04","stringDateTimeField":"1978-05-24T16:54:44Z","stringField":"QonilWax","stringTimeField":"00:48:47.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":-771,"numField":120.11741567417933,"stringDateField":"1972-06-04","stringDateTimeField":"1978-05-24T16:54:44Z","stringField":"QonilWax","stringTimeField":"00:48:47.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4005,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4005,"uuid":"9e0a8a06-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["twXRdQG","VvZM","aqRUdpg","PnxJjVhu","zjcACzCST","AjTuv"],"boolField":true,"intField":-849,"numField":-258.59889983930975,"objField":{"UhXQDqmp":3332737948615972883,"wFlf":2515518092075840544},"stringDateField":"1953-07-13","stringDateTimeField":"1914-12-27T06:22:33Z","stringField":"uHkE","stringTimeField":"08:13:11.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":-849,"numField":-258.59889983930975,"stringDateField":"1953-07-13","stringDateTimeField":"1914-12-27T06:22:33Z","stringField":"uHkE","stringTimeField":"08:13:11.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4006,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4006,"uuid":"9e0a8a06-5655-11ee-9001-675ed0f8e89b"},"arrayField":["OEKca","KnOGUtV","dOhbCGhOn","aZoEYsGQPl","sJXk","enNF","CDrgjFuG","xPTHIIIV"],"boolField":false,"intField":-728,"numField":117.4816901509339,"objField":{"AWFt":892936531761162003,"BEcUiDeMlL":-1587716929297361699,"HitNVAOfL":6055529459959791976,"ICDQI":1146674974643732515,"dFdqP":-3480304591518146044,"joSlQZGuu":-5620419468932247187,"ouEOjVtiu":-1611924693284326154,"pisEQLSLVE":4152289073680065397,"rBbRYF":4472217149763905293},"stringDateField":"1974-09-12","stringDateTimeField":"1925-07-04T04:59:47Z","stringField":"iIhFUv","stringTimeField":"00:46:46.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":-728,"numField":117.4816901509339,"stringDateField":"1974-09-12","stringDateTimeField":"1925-07-04T04:59:47Z","stringField":"iIhFUv","stringTimeField":"00:46:46.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4007,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4007,"uuid":"9e0a8a06-5655-11ee-9401-675ed0f8e89b"},"arrayField":["GymWkYIMD","tMvmc","KijmXoK","VriIfAMd","JOZrYCun","qGdMzazL","VgsLUhh","rhLt","VRskdS"],"boolField":false,"intField":892,"numField":-788.2808017650689,"objField":{"CgjhXFxBNv":-316835238061177211,"KxMf":-1019574293542848387,"RYbvb":5760654085390750507,"Tszx":1663728371410862548,"Vhkkld":8772157229519754919,"bYGAtDHFss":-1607689497247303774,"iJiCLHlNv":-4438449940890893592,"njsmiYNRE":-6151229294924196674},"stringDateField":"1916-10-27","stringDateTimeField":"1998-01-20T07:05:11Z","stringField":"XWSIXMy","stringTimeField":"16:29:25.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":892,"numField":-788.2808017650689,"stringDateField":"1916-10-27","stringDateTimeField":"1998-01-20T07:05:11Z","stringField":"XWSIXMy","stringTimeField":"16:29:25.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4008,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4008,"uuid":"9e0a8a06-5655-11ee-9801-675ed0f8e89b"},"arrayField":["cWYbmT","iusnlw","iwKGEyLdG","zSySKv","alkMJxkTsv","Clmq"],"boolField":true,"intField":868,"numField":-962.1126161951694,"objField":{"CNYXg":-903068147060681057,"ZwvFY":-5665541332227742967,"lqkytckf":579486505784546565,"qmWW":9194336327044523390,"tfJZtLKHd":1946819894094972501},"stringDateField":"1948-07-31","stringDateTimeField":"1958-01-26T10:53:47Z","stringField":"tpJTbXv","stringTimeField":"10:30:50.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":868,"numField":-962.1126161951694,"stringDateField":"1948-07-31","stringDateTimeField":"1958-01-26T10:53:47Z","stringField":"tpJTbXv","stringTimeField":"10:30:50.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4009,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4009,"uuid":"9e0a8a06-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["FGndgb","nahi","KyzUt","cPyjTzMqW","WAzMrvCi","oWYGVV","DWGR","XmpMJLhEW","ocAx","uxGRQ"],"boolField":false,"intField":-83,"numField":86.28764998625039,"objField":{"cSBfin":637577535987148315,"nyczJfvcEb":-5038936498999162489,"pnunpo":-3222592380222029276},"stringDateField":"2016-09-05","stringDateTimeField":"1934-01-19T22:01:54Z","stringField":"GaXfngjAK","stringTimeField":"05:40:39.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":-83,"numField":86.28764998625039,"stringDateField":"2016-09-05","stringDateTimeField":"1934-01-19T22:01:54Z","stringField":"GaXfngjAK","stringTimeField":"05:40:39.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4010,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4010,"uuid":"9e0a8a06-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ilFVvXfl","chOjb","fsqkEQnxq","iADj","hZvPBaA","rvRWXio","jtmhzgtN","sULVZki"],"boolField":false,"intField":186,"numField":-488.4451565854581,"objField":{"ApTNuiys":4149532610969016953,"IWQES":7163965932473973721,"ONBWTraBW":-8635255508872818352,"YDgkptqdaI":-4307485161447954923,"aTRJYL":8049517102906846734,"flwNj":7540848244693054822,"kseDmdiF":-3212712820789352796,"nHwNDejm":-4683830108261415162,"sBdW":7721933267964795809},"stringDateField":"1910-12-24","stringDateTimeField":"1999-01-15T15:32:07Z","stringField":"iTuzcrO","stringTimeField":"15:03:39.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":186,"numField":-488.4451565854581,"stringDateField":"1910-12-24","stringDateTimeField":"1999-01-15T15:32:07Z","stringField":"iTuzcrO","stringTimeField":"15:03:39.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4011,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4011,"uuid":"9e0a8a06-5655-11ee-a401-675ed0f8e89b"},"arrayField":["KpyXlA","FODtMMnlP","PrrZaDDyp"],"boolField":false,"intField":399,"numField":513.2394880340738,"objField":{"cPnkHyUs":2806029562265851701},"stringDateField":"1927-07-02","stringDateTimeField":"1945-07-31T20:50:57Z","stringField":"tibEWfjpsv","stringTimeField":"10:04:21.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":399,"numField":513.2394880340738,"stringDateField":"1927-07-02","stringDateTimeField":"1945-07-31T20:50:57Z","stringField":"tibEWfjpsv","stringTimeField":"10:04:21.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4012,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4012,"uuid":"9e0a8a06-5655-11ee-a801-675ed0f8e89b"},"arrayField":["BYvUAp","sUzy","uBsG"],"boolField":false,"intField":395,"numField":-940.941177881994,"objField":{"eBCzVD":2128221075445443311,"mhYDHZao":-4705523467070671404,"nEEPFdE":4310685427880650861,"unAfIS":1128323056208522997},"stringDateField":"2022-12-19","stringDateTimeField":"2000-05-14T04:30:39Z","stringField":"wJHruu","stringTimeField":"06:01:07.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":395,"numField":-940.941177881994,"stringDateField":"2022-12-19","stringDateTimeField":"2000-05-14T04:30:39Z","stringField":"wJHruu","stringTimeField":"06:01:07.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4013,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4013,"uuid":"9e0a8a06-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["QXkY","yZrnsMDs","DKPyoENP","wAKdncV"],"boolField":true,"intField":-304,"numField":186.3641491132768,"objField":{"CRYsoVy":-5555249924370270768,"HpeTeMNWh":8046125993452081075,"JcsLpVfm":2083877878245789406,"TIEdIQbkn":3928254989812232520,"nsMXmxSuiZ":7088208832934858202,"ytRE":2295103163340414331,"zfvLUczalG":4351196839179167989},"stringDateField":"1922-03-02","stringDateTimeField":"1999-07-31T22:58:00Z","stringField":"ssgq","stringTimeField":"23:26:49.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":-304,"numField":186.3641491132768,"stringDateField":"1922-03-02","stringDateTimeField":"1999-07-31T22:58:00Z","stringField":"ssgq","stringTimeField":"23:26:49.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4014,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4014,"uuid":"9e0a8a06-5655-11ee-b001-675ed0f8e89b"},"arrayField":["vyLuqLW","ueWYXm","AKwJokLXj","hFEO","lPcSXmJO","ipfzU"],"boolField":false,"intField":397,"numField":-804.3717891901375,"objField":{"MWAbyY":-2426133159196426071,"TRTeN":-662165585172668331,"izRkf":282926677066477684,"kCfU":-2250223377808882093,"kNhWAEld":9090911560921446593,"peOdQdh":-9073031136220539172,"xqBTn":6696849055368409856},"stringDateField":"1926-11-21","stringDateTimeField":"1919-10-02T07:58:01Z","stringField":"VDaeaSUqJB","stringTimeField":"06:11:38.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":397,"numField":-804.3717891901375,"stringDateField":"1926-11-21","stringDateTimeField":"1919-10-02T07:58:01Z","stringField":"VDaeaSUqJB","stringTimeField":"06:11:38.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4015,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4015,"uuid":"9e0a8a06-5655-11ee-b401-675ed0f8e89b"},"arrayField":["htti","gAoKWsUBZk","qEWOCtB","EipEONHHn","hAYvOaamz","RLmXt","WKthHU","Nnazdqyf","rtVHH"],"boolField":true,"intField":29,"numField":-701.4715092231892,"objField":{"NMjmTI":5665982990471683042,"RiHQiRUWhQ":-4683535212738516950,"ZmyPszsNb":-4820436403433474131,"kVxOJs":8679151852748342508},"stringDateField":"1961-09-26","stringDateTimeField":"1927-03-24T20:40:22Z","stringField":"SHomrx","stringTimeField":"13:36:48.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":29,"numField":-701.4715092231892,"stringDateField":"1961-09-26","stringDateTimeField":"1927-03-24T20:40:22Z","stringField":"SHomrx","stringTimeField":"13:36:48.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4016,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4016,"uuid":"9e0a8a06-5655-11ee-b801-675ed0f8e89b"},"arrayField":["YZyZMcG","SFLxLwY","JFtWVzejr","mlAw","lAszQGwHw","fucX","WZAQsxFqt","pjRrUvrQJs"],"boolField":false,"intField":-288,"numField":251.9738097785664,"objField":{"ELvw":-7988917760087788766,"FkmwUFuma":-6990623724696453018,"GSBgWUR":7614832058231234296,"KTiFaZb":2924266913961914276,"XDCr":-4851425357610263543,"dxZcUdpu":3901138464339876277,"ubBtEkmVLh":-3842004613799726593},"stringDateField":"1940-11-13","stringDateTimeField":"1937-05-31T01:46:06Z","stringField":"vQyw","stringTimeField":"20:39:52.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":-288,"numField":251.9738097785664,"stringDateField":"1940-11-13","stringDateTimeField":"1937-05-31T01:46:06Z","stringField":"vQyw","stringTimeField":"20:39:52.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4017,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4017,"uuid":"9e0a8a06-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["PZvKNSlK","nFhb","qiykUzc","cDvHu","SVEp","mRxbPw","afYHS","TrXvNC","VuWUdsoaMH","SnEXyVMh"],"boolField":true,"intField":-465,"numField":-863.7877407651006,"objField":{"ADBoJfqKAs":-3772283572820055709,"XjksEPbJu":-7272270638325323329,"XxKeD":8420168876252236580,"czfbxv":7720568390940804934,"mDhkc":-6856010759247543790,"pAmap":2623486551894197962,"qAywLM":-6969167557686270338,"rFjYXDd":-4671276703005680042,"rZOzZolF":-3880870991651269698},"stringDateField":"1988-10-07","stringDateTimeField":"2013-09-15T07:33:37Z","stringField":"EuXl","stringTimeField":"12:22:44.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763782Z","intField":-465,"numField":-863.7877407651006,"stringDateField":"1988-10-07","stringDateTimeField":"2013-09-15T07:33:37Z","stringField":"EuXl","stringTimeField":"12:22:44.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4018,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4018,"uuid":"9e0a8a07-5655-11ee-8001-675ed0f8e89b"},"arrayField":["GRnJlnMik","aWHMAn","OViFhySY"],"boolField":false,"intField":832,"numField":-7.579718109778089,"objField":{"EvpjEJjib":-5524163184317684153,"OggEyHC":5742788603057249047,"PRiDYVcQ":3762956701010278669,"ckWUHlM":-2596437770988498085,"ktOYEqJ":5679793490197266542,"lneDvSey":8819925981803744577,"rNJn":-3086218809475638329,"vPeZtPQJYO":-9140054261800226902,"xYUxbo":4700950383044890411},"stringDateField":"1921-08-20","stringDateTimeField":"2008-11-23T23:22:44Z","stringField":"PKnyPxRb","stringTimeField":"04:10:01.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":832,"numField":-7.579718109778089,"stringDateField":"1921-08-20","stringDateTimeField":"2008-11-23T23:22:44Z","stringField":"PKnyPxRb","stringTimeField":"04:10:01.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4019,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4019,"uuid":"9e0a8a07-5655-11ee-8401-675ed0f8e89b"},"arrayField":["OvJHfx","uFPvulrTcl","CXhq","xjhFZPxr","lhqJOm","LhXWps","VGktqN","pWBJoQk"],"boolField":false,"intField":159,"numField":371.4656841809117,"objField":{"OfttFxDAhJ":6647809760927684442,"SBuXC":5972600829660351699,"VqqrsrGu":-9046406386035957794,"gRXG":-5150093479144318794,"mvbdjPcAvP":-4934985020205898582,"vdEteuEPb":-244391776392783194},"stringDateField":"1933-12-01","stringDateTimeField":"1943-12-23T07:52:03Z","stringField":"RvYaJSd","stringTimeField":"06:35:39.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":159,"numField":371.4656841809117,"stringDateField":"1933-12-01","stringDateTimeField":"1943-12-23T07:52:03Z","stringField":"RvYaJSd","stringTimeField":"06:35:39.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4020,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4020,"uuid":"9e0a8a07-5655-11ee-8801-675ed0f8e89b"},"arrayField":["VGkSgb","FtmuoGFNG","JiqcE","UPtH"],"boolField":true,"intField":168,"numField":914.5492775027866,"objField":{"AbJLo":-2899650687020420268,"JGEYkXN":-4651497593419108200,"KlRHKFfOXd":-9093573163152554142,"TzBgEh":4666388354580952663,"UQrxetC":5130733250879762950,"cDirTPPK":6006895964430203020,"kzjnUfSt":3987143921007848388,"oACW":-6897878330768478856,"uJaZIdlQ":-2545792253603132134},"stringDateField":"2013-05-11","stringDateTimeField":"1966-01-10T15:34:04Z","stringField":"caaAC","stringTimeField":"19:28:39.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":168,"numField":914.5492775027866,"stringDateField":"2013-05-11","stringDateTimeField":"1966-01-10T15:34:04Z","stringField":"caaAC","stringTimeField":"19:28:39.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4021,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4021,"uuid":"9e0a8a07-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["RziTIk","mVwksmfJD","PJnJEliJr","KwcPcx","nMvpHy","MkFEVhOv"],"boolField":true,"intField":-566,"numField":937.1606030200936,"objField":{"JpKvQkrs":5290330773744213961,"cPtZMQkC":-545018945009778058,"eMOvwSmWP":-3484771415265244801,"vmKoKv":1995264432990199428},"stringDateField":"1910-09-23","stringDateTimeField":"2010-08-21T00:17:10Z","stringField":"PcMrEW","stringTimeField":"12:11:26.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":-566,"numField":937.1606030200936,"stringDateField":"1910-09-23","stringDateTimeField":"2010-08-21T00:17:10Z","stringField":"PcMrEW","stringTimeField":"12:11:26.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4022,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4022,"uuid":"9e0a8a07-5655-11ee-9001-675ed0f8e89b"},"arrayField":["DXNkjEu","ggHcwwGn","cLNm"],"boolField":true,"intField":-495,"numField":-494.0089646497908,"objField":{"GimUnI":3785610702236043133,"NuAaJjHQk":1997537789006776316,"cjeJAT":9050287113840031902,"facWoVLuJ":2503154342651808980,"hiDJ":-4699973114072466136,"iYqwzN":2022307000681751821},"stringDateField":"1902-12-04","stringDateTimeField":"2016-01-11T02:27:03Z","stringField":"WOzLhSvPG","stringTimeField":"05:13:28.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":-495,"numField":-494.0089646497908,"stringDateField":"1902-12-04","stringDateTimeField":"2016-01-11T02:27:03Z","stringField":"WOzLhSvPG","stringTimeField":"05:13:28.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4023,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4023,"uuid":"9e0a8a07-5655-11ee-9401-675ed0f8e89b"},"arrayField":["xKuFk","hnWR","bUKgUp","BqQwaus","LoWaTlvFg","eRlr","nAaaUIlX","ejjOR"],"boolField":true,"intField":364,"numField":-639.5440789450143,"objField":{"EgmyDmdbT":5671785458564657531,"HCKLp":5820842296748031601,"MWhNlv":2384133368870748296,"NfzqSfrvKp":3315067290796435837,"aiqgE":-8212062144068267218,"gKcG":1721355959146693380,"nuuNPCdLg":6568530462121467746,"rAvxlrRO":9502540433144280,"xDFhVZpfvb":5926410789303815101,"yFAO":7067082771290767955},"stringDateField":"1979-08-20","stringDateTimeField":"1949-07-03T06:59:35Z","stringField":"XlqaL","stringTimeField":"20:50:29.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":364,"numField":-639.5440789450143,"stringDateField":"1979-08-20","stringDateTimeField":"1949-07-03T06:59:35Z","stringField":"XlqaL","stringTimeField":"20:50:29.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4024,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4024,"uuid":"9e0a8a07-5655-11ee-9801-675ed0f8e89b"},"arrayField":["SXNdyVie","MjoUaIo","MXKxuh","AptuhpH","dEepdwQ","AHnT","QfhqQTnVPC","wtUUq","pcWILxj"],"boolField":false,"intField":-165,"numField":545.1803100852799,"objField":{"XKuevwQ":-2533664534609481189,"YfURK":3979404412810783120,"YuzvEpHaj":3471629039446747063,"gAJJqxA":6399892898674263039,"hIkGiIs":2850742449827460151,"mrlFmVPc":3166825922208978269,"ydmwAYGy":5560954643669327954,"yseecNMF":-1393720832102417995},"stringDateField":"1995-05-06","stringDateTimeField":"1984-07-24T19:12:34Z","stringField":"sdGHFyxie","stringTimeField":"14:44:29.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":-165,"numField":545.1803100852799,"stringDateField":"1995-05-06","stringDateTimeField":"1984-07-24T19:12:34Z","stringField":"sdGHFyxie","stringTimeField":"14:44:29.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4025,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4025,"uuid":"9e0a8a07-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["LWcDjgpxEn","QiqFn","PkrAab","kCQD","koWN","KyhvWeYsv","kblZz","kBmOCelNFP"],"boolField":true,"intField":48,"numField":275.5450729451092,"objField":{"YgebaEHm":-3543810064237627217,"hycAlpbE":-5865445290892030673,"igVC":-9196251402287419265,"jtlZcja":46976382430340994},"stringDateField":"2011-08-17","stringDateTimeField":"1940-02-11T19:50:59Z","stringField":"nwwvWXApec","stringTimeField":"21:04:29.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":48,"numField":275.5450729451092,"stringDateField":"2011-08-17","stringDateTimeField":"1940-02-11T19:50:59Z","stringField":"nwwvWXApec","stringTimeField":"21:04:29.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4026,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4026,"uuid":"9e0a8a07-5655-11ee-a001-675ed0f8e89b"},"arrayField":["TzjIB","neTpDs","Oyslmob","leHJiXjtoE","RjZdGYY","UfkbMQDD","KqMqGZhas"],"boolField":false,"intField":-6,"numField":-908.4003003229748,"objField":{"qAbQAfbw":7930503966472787356,"ykszuFRFi":-8289126084078387907},"stringDateField":"1997-12-27","stringDateTimeField":"1931-08-24T05:54:12Z","stringField":"tkhAcjCqU","stringTimeField":"09:42:19.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":-6,"numField":-908.4003003229748,"stringDateField":"1997-12-27","stringDateTimeField":"1931-08-24T05:54:12Z","stringField":"tkhAcjCqU","stringTimeField":"09:42:19.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4027,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4027,"uuid":"9e0a8a07-5655-11ee-a401-675ed0f8e89b"},"arrayField":["izYmheyDpk","OdGtPj","XrPWo","YxCDg","wftNPz"],"boolField":true,"intField":-129,"numField":-59.37809262000404,"objField":{"FTiWGBACf":1565855058584074314,"KgFcE":8233300241245372547,"MgkPiPUH":-3708720709535831512,"QKmvYMGKxh":-4773910499921336309,"WULXzZgyr":-9144693488749888926,"nOJIJmE":-5814308358350046377,"vFOs":594014199520863367},"stringDateField":"2015-07-18","stringDateTimeField":"2023-12-28T22:10:59Z","stringField":"smxOpNwMIt","stringTimeField":"12:15:50.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":-129,"numField":-59.37809262000404,"stringDateField":"2015-07-18","stringDateTimeField":"2023-12-28T22:10:59Z","stringField":"smxOpNwMIt","stringTimeField":"12:15:50.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4028,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4028,"uuid":"9e0a8a07-5655-11ee-a801-675ed0f8e89b"},"arrayField":["doFoLjsH","jmGJztY","egrJUNJ","kcqdyL","Knxt","LqVRyTB"],"boolField":false,"intField":-715,"numField":-240.6961271346212,"objField":{"HJCYJIqRI":-5831937002546975411,"SnDvYsdGi":9017046809148250259,"WRJhI":5683636432153856291,"XhRlYLqoU":-3331810719284418035,"cSaIvI":-4381416869707074234,"didH":6970452018979763024,"uAuYtwz":5689380691820961028,"uxBlE":7852747294580323874},"stringDateField":"1922-04-22","stringDateTimeField":"1977-05-13T19:00:58Z","stringField":"olroTjx","stringTimeField":"12:27:59.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":-715,"numField":-240.6961271346212,"stringDateField":"1922-04-22","stringDateTimeField":"1977-05-13T19:00:58Z","stringField":"olroTjx","stringTimeField":"12:27:59.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4029,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4029,"uuid":"9e0a8a07-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["fhTZWTGGDl","FRpPaWBA","MlwlHjhfr","PTpovw","QaqcBX","zIOIkBT","ZfQcyi"],"boolField":false,"intField":-33,"numField":986.6753793666662,"objField":{"FikMyez":3429756017143722093,"OLOSHvYapC":6418533505674441330},"stringDateField":"1910-03-29","stringDateTimeField":"1990-12-19T04:19:26Z","stringField":"mPZLjySD","stringTimeField":"15:17:03.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":-33,"numField":986.6753793666662,"stringDateField":"1910-03-29","stringDateTimeField":"1990-12-19T04:19:26Z","stringField":"mPZLjySD","stringTimeField":"15:17:03.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4030,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4030,"uuid":"9e0a8a07-5655-11ee-b001-675ed0f8e89b"},"arrayField":["BfDEyFA","MsBgV","lCAAuzCfEv","vTgj","YnSDoVocd","GajADq","imJBs","luWTr","hQDNRdlEGN","CnxduLhyKt"],"boolField":true,"intField":384,"numField":809.0168978771563,"objField":{"DoMSXUGMa":7817458410113618241,"PouTtI":4499160990388848723,"USPqhArh":4217126487505342398,"hAWFnB":-2785788563577070935},"stringDateField":"1961-07-21","stringDateTimeField":"1944-10-22T17:30:05Z","stringField":"QFJSGFO","stringTimeField":"20:37:49.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":384,"numField":809.0168978771563,"stringDateField":"1961-07-21","stringDateTimeField":"1944-10-22T17:30:05Z","stringField":"QFJSGFO","stringTimeField":"20:37:49.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4031,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4031,"uuid":"9e0a8a07-5655-11ee-b401-675ed0f8e89b"},"arrayField":["VCdqyRZ","KrEN","WwScQgvxs","vMDuFY","LItHFJm","hPZh"],"boolField":false,"intField":-113,"numField":822.0496076808031,"objField":{"BmRrB":-2612918173216230737,"FrHuDnL":445453429088485980,"KqHeQaIdIr":-3729669426981939767,"ZOiymM":190078998824377157,"aOhnBcar":-7661176231884569031,"beGCX":4563509594315282747,"eRexys":-5594457225886834419,"sEOLBUK":-6799467011625234022,"usJmCaZr":8437886287005960020,"yPjGvnBvo":1927255550976986865},"stringDateField":"1909-07-24","stringDateTimeField":"2000-06-29T12:49:01Z","stringField":"SedCmS","stringTimeField":"04:14:21.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":-113,"numField":822.0496076808031,"stringDateField":"1909-07-24","stringDateTimeField":"2000-06-29T12:49:01Z","stringField":"SedCmS","stringTimeField":"04:14:21.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4032,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4032,"uuid":"9e0a8a07-5655-11ee-b801-675ed0f8e89b"},"arrayField":["AQDkaR","iIjFpEI","MAxlJh","TGtwtF","FxsXgyv","CxGGemr","avYwENwyr","TxtlHkW","EUFhD","xBCxBidRz"],"boolField":true,"intField":-342,"numField":306.18191765747207,"objField":{"YmtLU":-8259362725214998024,"iQcX":-9018534609015011562,"pbCvLY":-5972193299685643974},"stringDateField":"1957-10-18","stringDateTimeField":"1988-03-16T21:38:43Z","stringField":"paxZPQ","stringTimeField":"16:50:41.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":-342,"numField":306.18191765747207,"stringDateField":"1957-10-18","stringDateTimeField":"1988-03-16T21:38:43Z","stringField":"paxZPQ","stringTimeField":"16:50:41.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4033,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4033,"uuid":"9e0a8a07-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["yetfFem","qEfLIMPv","IXqHzGb","wqyOApOjCe","EVKX","ksiZHqrgFS","OCWbdHDBK"],"boolField":false,"intField":-918,"numField":-860.252698094201,"objField":{"DObmMN":213113363483355814,"IgdBhM":2082822073934409695,"PGmYilKg":-3935493718743375954,"WppotVg":-808770591559893655,"jxjcGIYx":6524409153076197470,"tyQcnSMh":-3799410811466479448},"stringDateField":"1945-03-15","stringDateTimeField":"1969-06-17T06:15:19Z","stringField":"XoxaANv","stringTimeField":"16:58:23.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763783Z","intField":-918,"numField":-860.252698094201,"stringDateField":"1945-03-15","stringDateTimeField":"1969-06-17T06:15:19Z","stringField":"XoxaANv","stringTimeField":"16:58:23.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4034,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4034,"uuid":"9e0a8a08-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ffiW","OLjCOe","HAhpazH","IfDYBKrVyy","VILMziaxkx","znLHEX"],"boolField":true,"intField":-245,"numField":-915.5038464055036,"objField":{"GObu":6636932516794917902,"cuykEjnou":4474918355130492510,"oMkMAI":-9206442886445643723,"zATHmLHr":3582831618271806306},"stringDateField":"1928-04-03","stringDateTimeField":"1931-06-27T14:59:09Z","stringField":"NkTjOG","stringTimeField":"07:51:21.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":-245,"numField":-915.5038464055036,"stringDateField":"1928-04-03","stringDateTimeField":"1931-06-27T14:59:09Z","stringField":"NkTjOG","stringTimeField":"07:51:21.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4035,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4035,"uuid":"9e0a8a08-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rJFC","BcsXNpQZA"],"boolField":false,"intField":662,"numField":995.4761730570672,"objField":{"txjkidedrH":-7172009445086190928},"stringDateField":"1948-03-13","stringDateTimeField":"1964-06-28T14:09:57Z","stringField":"dgmMwkTzi","stringTimeField":"02:43:42.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":662,"numField":995.4761730570672,"stringDateField":"1948-03-13","stringDateTimeField":"1964-06-28T14:09:57Z","stringField":"dgmMwkTzi","stringTimeField":"02:43:42.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4036,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4036,"uuid":"9e0a8a08-5655-11ee-8801-675ed0f8e89b"},"arrayField":["AdmdVHBMWD","dGRsi","JWBzMBB"],"boolField":false,"intField":884,"numField":-364.64369331327106,"objField":{"PzrhsdYU":-408444561693095469,"iniFvao":2507453322430472100,"omfTOXNP":-436119270365012018,"xrKAmI":-8857430298594368019,"zEYxPWS":1080080538878263165},"stringDateField":"1989-03-20","stringDateTimeField":"1999-05-11T20:42:23Z","stringField":"hQevELf","stringTimeField":"12:47:54.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":884,"numField":-364.64369331327106,"stringDateField":"1989-03-20","stringDateTimeField":"1999-05-11T20:42:23Z","stringField":"hQevELf","stringTimeField":"12:47:54.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4037,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4037,"uuid":"9e0a8a08-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["mMakYNKCRM","HerrhYZ"],"boolField":false,"intField":775,"numField":224.49789887719064,"objField":{"RLIpn":4042245690933470165,"RTTOZojHO":-7615101341833025550,"TXrUqL":-9087209420469108891,"vVdx":1927591500354606672},"stringDateField":"2001-06-17","stringDateTimeField":"1917-12-14T23:03:25Z","stringField":"xsGJw","stringTimeField":"16:10:35.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":775,"numField":224.49789887719064,"stringDateField":"2001-06-17","stringDateTimeField":"1917-12-14T23:03:25Z","stringField":"xsGJw","stringTimeField":"16:10:35.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4038,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4038,"uuid":"9e0a8a08-5655-11ee-9001-675ed0f8e89b"},"arrayField":["PBKjGNNz","VELFO","IoscvV","ldKWRITqf","PODNPpeRe","yClCWvGtd","auQQVpRhT"],"boolField":false,"intField":323,"numField":-402.9963403162,"objField":{"JsrGUvGkF":6671202989295206133,"OUiyarthXH":2061171481285863482,"OWGxON":-4142491071978909158,"RItDoBy":-4156962256377384802,"TLOuNGZQ":-6245651334347065016,"ftaqEbN":4402895127113717243,"kerIaYGOK":-3526460525569458827,"nLlGg":-2810652606532903295,"uCSoS":-393184492951647177,"vqoTGmUS":-7041735168653556559},"stringDateField":"1944-05-09","stringDateTimeField":"1949-12-26T20:35:42Z","stringField":"eEBqkl","stringTimeField":"00:44:28.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":323,"numField":-402.9963403162,"stringDateField":"1944-05-09","stringDateTimeField":"1949-12-26T20:35:42Z","stringField":"eEBqkl","stringTimeField":"00:44:28.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4039,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4039,"uuid":"9e0a8a08-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ppzfuvMkO"],"boolField":true,"intField":-80,"numField":-17.521110270459438,"objField":{"DWoqNh":7248354447493978067,"HYFV":6124962654205755473,"LsriPZ":-7747768487254774804,"SaRU":5290157519354375050,"doEIvOspV":6066251409494613013,"eYJwQDtLb":-8348236382629728259,"fYhHpq":9182798458638111197,"gCKhaMUFXy":-5018075215595355944,"uZpV":-5332461018791835000},"stringDateField":"2001-08-06","stringDateTimeField":"2008-11-14T20:12:41Z","stringField":"eZdrLgdal","stringTimeField":"04:40:04.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":-80,"numField":-17.521110270459438,"stringDateField":"2001-08-06","stringDateTimeField":"2008-11-14T20:12:41Z","stringField":"eZdrLgdal","stringTimeField":"04:40:04.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4040,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4040,"uuid":"9e0a8a08-5655-11ee-9801-675ed0f8e89b"},"arrayField":["iuWi","YwrnJAxehz","dBouHf","oMXNAy","PMvuFazPq","HPGMdfS","tEjwjjak","nrWVEIsh","ogvxMjRK"],"boolField":false,"intField":-322,"numField":-196.07271414699645,"objField":{"XtUh":-5015383383217030095,"jvoHL":8541486641798892674,"pflepoALP":-7516116480387613178},"stringDateField":"1916-02-15","stringDateTimeField":"2015-10-19T08:46:52Z","stringField":"GybwXOl","stringTimeField":"04:53:33.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":-322,"numField":-196.07271414699645,"stringDateField":"1916-02-15","stringDateTimeField":"2015-10-19T08:46:52Z","stringField":"GybwXOl","stringTimeField":"04:53:33.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4041,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4041,"uuid":"9e0a8a08-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["rEZq","gBLFVOyqC","fMmdKayg","jDLEjDVW","qeIPRss","kRrpf","QWfvbnCJF","QoHZaky","bVpnmluHh"],"boolField":true,"intField":221,"numField":358.2603386237895,"objField":{"BWeWXyB":7981274408773663762,"JGypH":-7449158392799492139,"KKEM":8409518839011665624,"Wwuyq":-2238212253089516376,"ZMaNwl":-8786307651932782209,"dlhm":-1654442621347311779,"eswCqlVHD":-7016481701561534339,"kfXq":-8283338028504472663,"vNFUSsyQ":-662504768934329765},"stringDateField":"1992-01-04","stringDateTimeField":"2009-01-28T01:11:39Z","stringField":"viZCi","stringTimeField":"00:44:41.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":221,"numField":358.2603386237895,"stringDateField":"1992-01-04","stringDateTimeField":"2009-01-28T01:11:39Z","stringField":"viZCi","stringTimeField":"00:44:41.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4042,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4042,"uuid":"9e0a8a08-5655-11ee-a001-675ed0f8e89b"},"arrayField":["BVlK","MGHLWzkKx","OyaOzIPw","zvfCAxrK","Gyqvla","zgSmEQho"],"boolField":false,"intField":828,"numField":-467.5396353587792,"objField":{"BHTc":4497622175249773341,"ITOLpcNKo":-7798703873208038587,"PZbwPQNCRN":-2154356952168488511,"djOWtdS":4416244267460505752,"icmwDq":47138686999560716,"ijVhaazeB":1742913137832919669,"kkMCqi":1110220568572793230},"stringDateField":"1992-02-26","stringDateTimeField":"1922-03-26T13:48:01Z","stringField":"hhMOdaznfo","stringTimeField":"14:23:24.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":828,"numField":-467.5396353587792,"stringDateField":"1992-02-26","stringDateTimeField":"1922-03-26T13:48:01Z","stringField":"hhMOdaznfo","stringTimeField":"14:23:24.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4043,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4043,"uuid":"9e0a8a08-5655-11ee-a401-675ed0f8e89b"},"arrayField":["hWWbCE","EcLqH","mAjxd","PNOwnidgTd","rasZvdhYl","vFLaQUjL","oEFJmZO"],"boolField":false,"intField":697,"numField":148.94778369867544,"objField":{"BUyRDTvTRh":5727715592812499951,"HOlWYVEp":-3270005768814011529,"Klest":8432547605456625763,"MNoDEzFqk":4662558781242639607,"QMBGvtV":-5974430354872766639,"bPMEtsr":-6102513555596286205,"iqjrc":5567666670462196125,"kGwBYBZwQ":-2777608769621064115,"tvyVPsZ":-6953561943561956955},"stringDateField":"1970-03-18","stringDateTimeField":"1936-07-10T04:13:19Z","stringField":"mvfFjZq","stringTimeField":"17:56:09.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":697,"numField":148.94778369867544,"stringDateField":"1970-03-18","stringDateTimeField":"1936-07-10T04:13:19Z","stringField":"mvfFjZq","stringTimeField":"17:56:09.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4044,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4044,"uuid":"9e0a8a08-5655-11ee-a801-675ed0f8e89b"},"arrayField":["RuBzWIGuy","DmjmbWLzu","TbHKtxBc","UAnANIs"],"boolField":false,"intField":987,"numField":-499.37105744437935,"objField":{"UxZXhuj":-5283342532140060568,"ejPCMEvQj":3745805319427670295,"hnpxfTt":-7357891444934942901,"lCfrRb":3728464511688488003,"rPupydoi":7526576605542020979},"stringDateField":"1996-02-24","stringDateTimeField":"1994-03-18T06:12:51Z","stringField":"rxpIA","stringTimeField":"11:23:21.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":987,"numField":-499.37105744437935,"stringDateField":"1996-02-24","stringDateTimeField":"1994-03-18T06:12:51Z","stringField":"rxpIA","stringTimeField":"11:23:21.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4045,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4045,"uuid":"9e0a8a08-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ulzJVOMPFZ","NYOhhE","ZNVmn","TOROA","PBwhP","PMIIydZM"],"boolField":true,"intField":229,"numField":929.719418313186,"objField":{"FDAoT":6271168644688821200,"GPUiHJr":5909812409158098876,"GQSGI":587937443198157629,"IdGEMQ":-5048914875240218859,"QRDLlGLkTx":-8439351637571488690,"QTKjFUUeZ":-4934910951791936478,"lzEtSfFArL":4252335000910726503,"tutHeCP":2609076063824565744,"twcO":-3738782340618805462},"stringDateField":"1909-07-12","stringDateTimeField":"2000-08-18T12:45:28Z","stringField":"MwUPyHpp","stringTimeField":"19:11:10.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":229,"numField":929.719418313186,"stringDateField":"1909-07-12","stringDateTimeField":"2000-08-18T12:45:28Z","stringField":"MwUPyHpp","stringTimeField":"19:11:10.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4046,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4046,"uuid":"9e0a8a08-5655-11ee-b001-675ed0f8e89b"},"arrayField":["AlcbeF","axBrDZmH","ocZDmntYa","tKEBOfDGpr","LSCWhn"],"boolField":true,"intField":790,"numField":-361.21562399103414,"objField":{"wOTbc":90406780786001179},"stringDateField":"1989-07-12","stringDateTimeField":"2016-11-28T06:35:59Z","stringField":"fKWr","stringTimeField":"18:16:22.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":790,"numField":-361.21562399103414,"stringDateField":"1989-07-12","stringDateTimeField":"2016-11-28T06:35:59Z","stringField":"fKWr","stringTimeField":"18:16:22.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4047,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4047,"uuid":"9e0a8a08-5655-11ee-b401-675ed0f8e89b"},"arrayField":["MSENL","bCOyWMZ"],"boolField":false,"intField":-689,"numField":58.76756301263208,"objField":{"KrBZsT":-5866125351334301351},"stringDateField":"1945-12-11","stringDateTimeField":"1995-11-29T06:53:18Z","stringField":"gipNrQsXY","stringTimeField":"18:22:10.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":-689,"numField":58.76756301263208,"stringDateField":"1945-12-11","stringDateTimeField":"1995-11-29T06:53:18Z","stringField":"gipNrQsXY","stringTimeField":"18:22:10.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4048,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4048,"uuid":"9e0a8a08-5655-11ee-b801-675ed0f8e89b"},"arrayField":["kcmvEVlR","XxRC","tePhjrO","YctqcLffz","RCVJz","TKsERYvqY","MElLPDWk","KxWJwRw","OXfNfb"],"boolField":false,"intField":-169,"numField":260.65445773662077,"objField":{"EmtBGdAW":7469902650198182294,"HqTAtu":-1664947384861357472,"JRZBrQ":-7391112115194265503,"sCtEEa":2638911412834816515,"sQPTG":6002618728027342963,"wnPl":-8113579749796465291},"stringDateField":"1992-06-26","stringDateTimeField":"1908-11-26T10:04:28Z","stringField":"TIewlEdOMv","stringTimeField":"19:46:36.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":-169,"numField":260.65445773662077,"stringDateField":"1992-06-26","stringDateTimeField":"1908-11-26T10:04:28Z","stringField":"TIewlEdOMv","stringTimeField":"19:46:36.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4049,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4049,"uuid":"9e0a8a08-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["mtGgX","PAYa","xWsqDZyl","itBR"],"boolField":true,"intField":898,"numField":63.74126545222181,"objField":{"AVmw":-4502035013283821542,"CLTK":-3336631466833175847,"PTqMaNQEZ":-8602190582433189909,"Rrpc":-6327501070001531601,"TcWI":3537375785125787486,"jobcsoQT":90047277695002549,"nCiMDLSIk":2592929752372016928,"siQCWVg":-8987222041861769760},"stringDateField":"1976-12-12","stringDateTimeField":"2006-05-12T06:30:53Z","stringField":"vQfcAgRyi","stringTimeField":"19:06:59.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763784Z","intField":898,"numField":63.74126545222181,"stringDateField":"1976-12-12","stringDateTimeField":"2006-05-12T06:30:53Z","stringField":"vQfcAgRyi","stringTimeField":"19:06:59.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4050,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4050,"uuid":"9e0a8a09-5655-11ee-8001-675ed0f8e89b"},"arrayField":["GuQMiHX","PhCnY"],"boolField":true,"intField":181,"numField":228.87514317533308,"objField":{"DhYESiu":-5998281523278396413,"LoDd":-1147611561750824036,"YLaksUfE":5059240640537410556,"ZkhgRvkm":6358272856519295669,"fVNmWjSu":6007422156953759229,"sJGYyGYj":-8182986484904584065,"upTvLLdkL":-7810851212478768459,"usygSLKShh":8266711582192288913,"xGHvwB":-1698911202565277722},"stringDateField":"2001-07-22","stringDateTimeField":"1916-10-16T15:41:56Z","stringField":"wOXeW","stringTimeField":"18:52:08.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":181,"numField":228.87514317533308,"stringDateField":"2001-07-22","stringDateTimeField":"1916-10-16T15:41:56Z","stringField":"wOXeW","stringTimeField":"18:52:08.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4051,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4051,"uuid":"9e0a8a09-5655-11ee-8401-675ed0f8e89b"},"arrayField":["atuSv","cPsrU"],"boolField":false,"intField":-364,"numField":781.9235819614296,"objField":{"DQBnWRXS":-7643852099195905191,"GUoXH":-7140177228754283716,"HoBk":-7829563538563639581,"UCaQoxEH":2628894914031528607,"XBUabDRBP":5839288555415778165,"aHAQyZu":1154840070135297160,"gftLdo":-2971490810167863923,"hkHMWGLMcU":-1383844348429471465,"mPqZb":8127439484256295173,"nxZhh":7697485285768350007},"stringDateField":"1990-10-22","stringDateTimeField":"2019-04-25T18:29:40Z","stringField":"zXPS","stringTimeField":"00:04:48.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":-364,"numField":781.9235819614296,"stringDateField":"1990-10-22","stringDateTimeField":"2019-04-25T18:29:40Z","stringField":"zXPS","stringTimeField":"00:04:48.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4052,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4052,"uuid":"9e0a8a09-5655-11ee-8801-675ed0f8e89b"},"arrayField":["lLKg","YLwTdfq","EqrnHGf","XqFU","lzmnHWIZDB","apHhMOIgEb"],"boolField":false,"intField":-106,"numField":-385.6701275499939,"objField":{"BffZuIQSw":-3573578721006010477,"VEIsc":-2059094456081060441,"dbcGjq":-8940389792315497565,"eYeTUspkz":-2059140911139600255,"fGTmxR":-5444488692799471100,"nDYiUH":8738601783272436904,"ncsMSTh":-3090435990919116778,"qRzmpL":-416764337702068560,"uMEhPzkmd":8571132190411429697,"viTf":-212327420472523068},"stringDateField":"1995-09-26","stringDateTimeField":"1912-02-03T15:17:50Z","stringField":"hMlYem","stringTimeField":"21:54:51.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":-106,"numField":-385.6701275499939,"stringDateField":"1995-09-26","stringDateTimeField":"1912-02-03T15:17:50Z","stringField":"hMlYem","stringTimeField":"21:54:51.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4053,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4053,"uuid":"9e0a8a09-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["YufSRj"],"boolField":true,"intField":-992,"numField":488.6815032187104,"objField":{"UOnKGqn":-6517554782486619844,"bDqB":-6680742058886393050,"fRkMtR":-4169366100021788010,"iwQeLuR":1101175633425824832},"stringDateField":"2012-12-16","stringDateTimeField":"1909-01-03T23:53:14Z","stringField":"tkfI","stringTimeField":"17:26:21.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":-992,"numField":488.6815032187104,"stringDateField":"2012-12-16","stringDateTimeField":"1909-01-03T23:53:14Z","stringField":"tkfI","stringTimeField":"17:26:21.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4054,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4054,"uuid":"9e0a8a09-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ZpsaAgoaH","lrAPggnj","NkChtxSe"],"boolField":true,"intField":-370,"numField":-771.1966402721076,"objField":{"CawHZf":-2743097336646756476,"GVil":8773850911487255838,"IodqkPstP":-5027652835945650968,"QdeaAG":7650805450734714180,"TJEJlTKNH":5815986423031781396,"UHiiYBs":4782122836273169324,"UrSqY":4928117918558481227,"cmXHvmdq":6241789869500696160,"xWBUusTM":1828595734209153866,"yUhIXVY":-6002058763064914074},"stringDateField":"1935-04-22","stringDateTimeField":"1939-10-11T04:08:35Z","stringField":"hUKA","stringTimeField":"19:57:46.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":-370,"numField":-771.1966402721076,"stringDateField":"1935-04-22","stringDateTimeField":"1939-10-11T04:08:35Z","stringField":"hUKA","stringTimeField":"19:57:46.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4055,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4055,"uuid":"9e0a8a09-5655-11ee-9401-675ed0f8e89b"},"arrayField":["sCbbKSn","iVantI","UfYaSWsd","EAaihyZkvh","eFLRadh","nRVwezDOH","rnQt","KgyrfrVifM","oYqTqkSdP"],"boolField":true,"intField":969,"numField":22.994556850033376,"objField":{"OzhcQAjFC":1556877482737747327,"RJEFgRdNOT":-6552149257189048186},"stringDateField":"1965-07-29","stringDateTimeField":"1976-09-02T17:48:07Z","stringField":"fczTmNM","stringTimeField":"20:32:29.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":969,"numField":22.994556850033376,"stringDateField":"1965-07-29","stringDateTimeField":"1976-09-02T17:48:07Z","stringField":"fczTmNM","stringTimeField":"20:32:29.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4056,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4056,"uuid":"9e0a8a09-5655-11ee-9801-675ed0f8e89b"},"arrayField":["UMDNO","UygZkSOoPC","ehnpqXE","LszstPiwDF","DDwQi","lXpITClNYQ","NcFI","ivkoTkS","sPLLBV"],"boolField":true,"intField":599,"numField":-855.4297289050442,"objField":{"LiqdW":6885059590277746481,"PPUd":-6251413943536827530,"YSulVkJtuI":7733549531899130394,"aaeOAdEXow":-5726437898855449400,"ghYQOWGa":-7029968948042799000,"mdBaIJb":-3203819168985361200,"niwrFrps":4463874118913434756,"ocxgkE":-5730781844216189629,"tGiTaVEqZs":-273091160083410791,"wdPlJ":-7307076206531157870},"stringDateField":"1968-06-16","stringDateTimeField":"1946-10-29T11:07:42Z","stringField":"QfgjU","stringTimeField":"19:43:02.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":599,"numField":-855.4297289050442,"stringDateField":"1968-06-16","stringDateTimeField":"1946-10-29T11:07:42Z","stringField":"QfgjU","stringTimeField":"19:43:02.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4057,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4057,"uuid":"9e0a8a09-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["TPtLRetna","gJlNP","yOhHFybhY","yRZeGnEW","HGNNzn","LSNVFjV","SeDYaxgYgx"],"boolField":true,"intField":-363,"numField":-484.3565659327584,"objField":{"CtncMD":3207395647990725618,"GzealgoL":-905940441742802433,"hjZktmzG":3582305043117321985,"nCffsIFe":5536291205232926428,"sxEBYwAd":-2969582868947593129,"vLIdeacsK":-2434022783636023508},"stringDateField":"1954-08-18","stringDateTimeField":"1922-02-26T00:49:03Z","stringField":"mVNxeljEEl","stringTimeField":"10:05:32.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":-363,"numField":-484.3565659327584,"stringDateField":"1954-08-18","stringDateTimeField":"1922-02-26T00:49:03Z","stringField":"mVNxeljEEl","stringTimeField":"10:05:32.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4058,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4058,"uuid":"9e0a8a09-5655-11ee-a001-675ed0f8e89b"},"arrayField":["Mblmuz","XJdX","eoogKy","dDLpoUst","mGJd","AxwMJEuVKz","lSfpX","XzEJMqyGmL","pggIeeSz"],"boolField":false,"intField":-572,"numField":840.1545367500047,"objField":{"DwjYqDfw":23743261440350747,"FUgMfFjUW":-4939410924997290243,"KlENORaUq":-4507660030104817526,"xXlEwCrYy":1563074882176522877},"stringDateField":"1933-04-03","stringDateTimeField":"1943-02-02T06:04:00Z","stringField":"EXGqYj","stringTimeField":"09:32:06.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":-572,"numField":840.1545367500047,"stringDateField":"1933-04-03","stringDateTimeField":"1943-02-02T06:04:00Z","stringField":"EXGqYj","stringTimeField":"09:32:06.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4059,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4059,"uuid":"9e0a8a09-5655-11ee-a401-675ed0f8e89b"},"arrayField":["QnJzn","jUahkPvs","ilXpqHngc","IVcMIrGd"],"boolField":true,"intField":853,"numField":390.63217213941215,"objField":{"JlRtZIZGMV":-7887763519580465264,"TtlKyy":1787238904796214902,"bAXXCxe":-2589372554076801250,"ptJiBaveRn":-5943743696332919741},"stringDateField":"1927-02-04","stringDateTimeField":"1936-02-14T18:08:41Z","stringField":"TVuJQL","stringTimeField":"13:53:00.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":853,"numField":390.63217213941215,"stringDateField":"1927-02-04","stringDateTimeField":"1936-02-14T18:08:41Z","stringField":"TVuJQL","stringTimeField":"13:53:00.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4060,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4060,"uuid":"9e0a8a09-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ugXUECsgpH","BmzpT","wFHEjU"],"boolField":false,"intField":-553,"numField":-507.98749915818667,"objField":{"AaoyutAO":5232376349293965806,"FUiwbXfp":-5464735272493996758,"PEhnIaFS":870228733407558140,"aglaNZ":-5604360420527503454,"mwJqdCvFh":-4130473828677999874},"stringDateField":"1911-07-06","stringDateTimeField":"1980-07-16T10:43:36Z","stringField":"TlJLz","stringTimeField":"18:17:28.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":-553,"numField":-507.98749915818667,"stringDateField":"1911-07-06","stringDateTimeField":"1980-07-16T10:43:36Z","stringField":"TlJLz","stringTimeField":"18:17:28.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4061,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4061,"uuid":"9e0a8a09-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["DHJjHp","OzCu","LprwODkb","QDRCHfKpJo","ZhsFK","DOQW","cmkLK"],"boolField":false,"intField":-391,"numField":731.4451085444824,"objField":{"BBxuEL":4538745285522376034,"WOtZ":-8032015978591535370,"WkNRDLFEmh":2603611814987671815,"YiMA":-9095616188969039279,"ijpoelX":7937766962514508547,"rLBZ":4388063969801052563},"stringDateField":"2013-01-08","stringDateTimeField":"1985-06-10T04:59:28Z","stringField":"Lqpv","stringTimeField":"19:18:15.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":-391,"numField":731.4451085444824,"stringDateField":"2013-01-08","stringDateTimeField":"1985-06-10T04:59:28Z","stringField":"Lqpv","stringTimeField":"19:18:15.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4062,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4062,"uuid":"9e0a8a09-5655-11ee-b001-675ed0f8e89b"},"arrayField":["pWkScgWK"],"boolField":true,"intField":-703,"numField":844.5475681714987,"objField":{"IZwspxZZ":2681521763275524777,"IcHiFK":-5698713135011012515,"SgZMOW":-7877085064851239400,"VMEwkJtTdv":6188294268969612192,"dZlcqQszt":-4736138531008448622,"efriE":3075954033526761542,"kopdnk":2191750110819248173,"tUNFW":-663379501903784630,"uEfX":-1171795729725593516,"yPtF":4663871944104597270},"stringDateField":"2016-03-10","stringDateTimeField":"1945-09-23T02:39:26Z","stringField":"gEOvwuy","stringTimeField":"13:21:30.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":-703,"numField":844.5475681714987,"stringDateField":"2016-03-10","stringDateTimeField":"1945-09-23T02:39:26Z","stringField":"gEOvwuy","stringTimeField":"13:21:30.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4063,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4063,"uuid":"9e0a8a09-5655-11ee-b401-675ed0f8e89b"},"arrayField":["ZVlCh","oXRRuJq","RAVuPAXT","OrmQNUA","MGlvv","fElYLBNyh","zpNUq","IiRlzCN","XsGiyu"],"boolField":false,"intField":576,"numField":-530.1341506500888,"objField":{"CBTpoGE":6848998300443882582,"IBraYPWw":8168078608067350319,"ReLemjT":-324670152218017631,"Vcga":3109230209365338858,"YPDkdbWtnV":8411844758704199808,"nQaVKlP":-2003565939903201379,"vQkx":-1476707278707904239,"wnHFUOC":4397076627902501792},"stringDateField":"2013-12-08","stringDateTimeField":"1970-07-19T02:54:30Z","stringField":"GpjUngMaC","stringTimeField":"10:11:07.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":576,"numField":-530.1341506500888,"stringDateField":"2013-12-08","stringDateTimeField":"1970-07-19T02:54:30Z","stringField":"GpjUngMaC","stringTimeField":"10:11:07.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4064,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4064,"uuid":"9e0a8a09-5655-11ee-b801-675ed0f8e89b"},"arrayField":["BSaQDPilX","vcWvXtn"],"boolField":true,"intField":-506,"numField":-925.7844338658084,"objField":{"mOiNKHC":1526496978515512987},"stringDateField":"1955-09-29","stringDateTimeField":"1937-12-17T13:54:15Z","stringField":"cGwZkeQmI","stringTimeField":"23:29:40.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":-506,"numField":-925.7844338658084,"stringDateField":"1955-09-29","stringDateTimeField":"1937-12-17T13:54:15Z","stringField":"cGwZkeQmI","stringTimeField":"23:29:40.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4065,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4065,"uuid":"9e0a8a09-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["CzNxnQ","qgMVqt","RxDAd","stBlEduNRQ","NQTptCUJZk"],"boolField":false,"intField":684,"numField":-247.02560696957053,"objField":{"BcJobJxPA":-457255138366384288,"JiYKfkC":7738347985221503096},"stringDateField":"1970-03-31","stringDateTimeField":"1932-07-05T09:27:31Z","stringField":"ZLVIuWYXJJ","stringTimeField":"18:30:19.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763785Z","intField":684,"numField":-247.02560696957053,"stringDateField":"1970-03-31","stringDateTimeField":"1932-07-05T09:27:31Z","stringField":"ZLVIuWYXJJ","stringTimeField":"18:30:19.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4066,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4066,"uuid":"9e0a8a0a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["eOeVBF","bSWvtON","LoOjLtQ","WBidFFrVXY","rkuctsiryZ","OtUQVxJq","FtPS","MMVLyWCxqB"],"boolField":true,"intField":329,"numField":-844.4590739013865,"objField":{"DlqPbjxZy":2495830967892849849,"GSGUdiv":5407401310596253920,"Iuqmz":6037361645776365974,"JRadjPIe":-7462316812861453480,"TTDFJmEs":7732076642957443985,"WMhQQbUI":761850177373018102,"XnJBTQXKFE":4143861451890524270,"nnlCnedmb":1078129714879286363,"qAbXCprNlr":-4833263810324399869,"yHje":-5996299874136945601},"stringDateField":"2012-01-13","stringDateTimeField":"1978-08-25T15:29:16Z","stringField":"SlItvuopZY","stringTimeField":"01:06:06.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":329,"numField":-844.4590739013865,"stringDateField":"2012-01-13","stringDateTimeField":"1978-08-25T15:29:16Z","stringField":"SlItvuopZY","stringTimeField":"01:06:06.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4067,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4067,"uuid":"9e0a8a0a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["QToTEwvj","DwEpqvEIJ","bxolCRRhe"],"boolField":true,"intField":847,"numField":528.3268403179411,"objField":{"ZZMdLFuR":5984013109184200235,"nYZvkvsyy":2272162784566495317,"rpKxbwHBJQ":7654984926174314349,"seIXHmk":6367557516101107363},"stringDateField":"1971-09-03","stringDateTimeField":"1965-08-06T00:47:33Z","stringField":"hDksFnA","stringTimeField":"13:15:18.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":847,"numField":528.3268403179411,"stringDateField":"1971-09-03","stringDateTimeField":"1965-08-06T00:47:33Z","stringField":"hDksFnA","stringTimeField":"13:15:18.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4068,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4068,"uuid":"9e0a8a0a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["IUvY","zFunsRqnH","VMMSIn","YXSaau","FOsr","UwxJIggGsa"],"boolField":true,"intField":-614,"numField":-789.6039131958967,"objField":{"MeunX":-471982997744592376,"vJStZbpex":-7452882294528065601},"stringDateField":"1934-02-12","stringDateTimeField":"1978-01-16T06:12:07Z","stringField":"qXIgZNO","stringTimeField":"01:43:11.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":-614,"numField":-789.6039131958967,"stringDateField":"1934-02-12","stringDateTimeField":"1978-01-16T06:12:07Z","stringField":"qXIgZNO","stringTimeField":"01:43:11.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4069,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4069,"uuid":"9e0a8a0a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["qYbCyYmn","gQCplK","ZkJiZVqVES","qVoLCvH","EKXWaatZX","uEUwRRhH"],"boolField":false,"intField":-8,"numField":-354.98437924710527,"objField":{"RJGLRL":-7064823965526578140,"hNVyClZo":606882577047266365,"jYpoFRNkx":1768147181522928020,"lsIuVSr":4341284488545708386,"pqrjofFF":-1990297133586845874,"qGBgRG":3093010786891493141,"qqZQXujYxF":4414705574950537159,"rmnYLYZzw":-4497160305146411306},"stringDateField":"1919-03-22","stringDateTimeField":"1977-02-16T06:55:18Z","stringField":"QwtukPpbM","stringTimeField":"21:51:40.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":-8,"numField":-354.98437924710527,"stringDateField":"1919-03-22","stringDateTimeField":"1977-02-16T06:55:18Z","stringField":"QwtukPpbM","stringTimeField":"21:51:40.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4070,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4070,"uuid":"9e0a8a0a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["LbdhaAAN","mzSZbGj"],"boolField":true,"intField":399,"numField":181.2667216880453,"objField":{"GrKCqldpRi":-1745542556123717597,"SvHGLDEbNf":-8106983541943542709,"cMFAWNAu":1878188638868436361,"pRcjpOR":-2650001440733469905},"stringDateField":"1989-07-26","stringDateTimeField":"1982-09-28T07:59:36Z","stringField":"pOTukegY","stringTimeField":"08:18:14.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":399,"numField":181.2667216880453,"stringDateField":"1989-07-26","stringDateTimeField":"1982-09-28T07:59:36Z","stringField":"pOTukegY","stringTimeField":"08:18:14.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4071,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4071,"uuid":"9e0a8a0a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["KFcT","rcKGWyHk","IYvoDf","TqdlUM"],"boolField":true,"intField":-977,"numField":-469.4319848755566,"objField":{"EecfrFZ":1211508796815051398,"YDhRf":-6666393709299389446,"jcThmHbzp":-5713158029412366153},"stringDateField":"2017-08-29","stringDateTimeField":"1928-10-15T02:36:05Z","stringField":"ADgeNEqez","stringTimeField":"14:49:41.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":-977,"numField":-469.4319848755566,"stringDateField":"2017-08-29","stringDateTimeField":"1928-10-15T02:36:05Z","stringField":"ADgeNEqez","stringTimeField":"14:49:41.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4072,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4072,"uuid":"9e0a8a0a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gLaEV"],"boolField":false,"intField":-456,"numField":920.3441049075858,"objField":{"nJdZmYz":-3746183056485702882},"stringDateField":"1940-12-11","stringDateTimeField":"2013-11-19T12:30:45Z","stringField":"OxKXlcVvrR","stringTimeField":"15:04:48.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":-456,"numField":920.3441049075858,"stringDateField":"1940-12-11","stringDateTimeField":"2013-11-19T12:30:45Z","stringField":"OxKXlcVvrR","stringTimeField":"15:04:48.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4073,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4073,"uuid":"9e0a8a0a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["GyFUjtB","jqtzx","EuIwoSVjLd","jlXwKoH"],"boolField":false,"intField":808,"numField":-799.8477136459608,"objField":{"Gbiks":-4185057625352399497,"YGTw":3429133574056006967,"kxBm":2988874349152029610,"lMiqF":-6685968529370532052},"stringDateField":"1907-09-04","stringDateTimeField":"2019-06-29T10:38:06Z","stringField":"qonJYMOqUc","stringTimeField":"08:50:52.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":808,"numField":-799.8477136459608,"stringDateField":"1907-09-04","stringDateTimeField":"2019-06-29T10:38:06Z","stringField":"qonJYMOqUc","stringTimeField":"08:50:52.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4074,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4074,"uuid":"9e0a8a0a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["gRlp","CZqFHSi","SfML","OOsfBCYOp","qFOFErnf","mnOGtj","dDFgZgCmv","AtAj","FTuTAL","lhpE"],"boolField":true,"intField":-635,"numField":228.52643101205297,"objField":{"GBZVl":7938804320294406158,"JVdQy":6950664120070043369,"bpOgvBJ":-417916950342784771,"ksgUF":-5039638608934665279},"stringDateField":"1911-04-04","stringDateTimeField":"2004-04-26T17:03:53Z","stringField":"VSKrzMkNm","stringTimeField":"15:52:24.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":-635,"numField":228.52643101205297,"stringDateField":"1911-04-04","stringDateTimeField":"2004-04-26T17:03:53Z","stringField":"VSKrzMkNm","stringTimeField":"15:52:24.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4075,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4075,"uuid":"9e0a8a0a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["NfegmWckk","PpiQG","bYINbrOFnq","KigkVpKN","FIIkcEd","VqPThTecz","DZNXSbLfQ"],"boolField":false,"intField":720,"numField":906.2305927629828,"objField":{"CinguV":-1521478188677712071,"PAUF":131198508452887749,"hSABfEk":3580829622888658853,"nGGNFDuWT":9104250315692365388},"stringDateField":"1993-06-15","stringDateTimeField":"1963-03-07T14:59:41Z","stringField":"hTYcHzXd","stringTimeField":"09:45:55.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":720,"numField":906.2305927629828,"stringDateField":"1993-06-15","stringDateTimeField":"1963-03-07T14:59:41Z","stringField":"hTYcHzXd","stringTimeField":"09:45:55.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4076,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4076,"uuid":"9e0a8a0a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ZZswgrc","kUmYmhzN","eMuFqT","eUXreyogY","bCuigsiGQ","fiwOed","SzFNuWqI","xXMARUIX"],"boolField":false,"intField":640,"numField":922.6766127721836,"objField":{"LkAKidvrxc":-9054703019792711432,"YrFL":-8156757179599688141},"stringDateField":"1997-12-01","stringDateTimeField":"1948-07-02T12:04:06Z","stringField":"vWfAIb","stringTimeField":"13:27:40.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":640,"numField":922.6766127721836,"stringDateField":"1997-12-01","stringDateTimeField":"1948-07-02T12:04:06Z","stringField":"vWfAIb","stringTimeField":"13:27:40.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4077,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4077,"uuid":"9e0a8a0a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["xDfGnN","TOtfC","TMuCcOxGh","SjfIoks"],"boolField":false,"intField":-885,"numField":-423.4372438389797,"objField":{"AqhISIT":-324201793977839650,"Buxp":-8447842519991258395,"FRwiwgiGD":3074605280935034772,"Glrsie":6536261291096791558,"PBHd":-3738073877215166841,"PnuSB":6785748053004044381,"eYFMe":-5088380806855014186},"stringDateField":"2017-02-07","stringDateTimeField":"1923-01-06T06:23:48Z","stringField":"qLOEr","stringTimeField":"14:43:02.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":-885,"numField":-423.4372438389797,"stringDateField":"2017-02-07","stringDateTimeField":"1923-01-06T06:23:48Z","stringField":"qLOEr","stringTimeField":"14:43:02.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4078,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4078,"uuid":"9e0a8a0a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["BcufbBb","URme","ZWqhahRWg","wMRJB","bjJgwD","oMvYbt","GFNq","BWfKFK","LtSspHocE"],"boolField":false,"intField":-895,"numField":347.4226545374863,"objField":{"OfTgqh":-4950549253868708528,"Ohbv":7053623857556129875,"OujfZ":-3504878242936627144,"UFXgfRwZ":857479135161177946,"UibXEw":-7670530420672031923,"XiaCKt":4756619115998956878,"YhkGiro":844049315661108617,"amgdNIEA":-2789097575168764439,"rLNNBq":-4315386624169861618},"stringDateField":"1997-09-07","stringDateTimeField":"2000-04-24T06:58:49Z","stringField":"lqnZrRTl","stringTimeField":"03:52:23.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":-895,"numField":347.4226545374863,"stringDateField":"1997-09-07","stringDateTimeField":"2000-04-24T06:58:49Z","stringField":"lqnZrRTl","stringTimeField":"03:52:23.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4079,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4079,"uuid":"9e0a8a0a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["CjEGPMgB","BSPuH","mnATJw","GdxIePw","ZfAgxB","jVikhKqi","aoeXT","TfjVGPaA"],"boolField":true,"intField":-494,"numField":-403.88343449187056,"objField":{"GizeRzgqF":6809694247803222115,"LWXV":2078618483689375868,"eCJWDXM":-8909748641541887253,"hXyYG":-3755666313535892477,"uUfy":5487090118521943990,"udclbnPOV":3965459605179551001,"xWJi":-2537434653842195659,"yxRW":-3253193297453457026},"stringDateField":"1995-12-26","stringDateTimeField":"1946-03-30T05:29:21Z","stringField":"AuZsjMtqV","stringTimeField":"00:50:10.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":-494,"numField":-403.88343449187056,"stringDateField":"1995-12-26","stringDateTimeField":"1946-03-30T05:29:21Z","stringField":"AuZsjMtqV","stringTimeField":"00:50:10.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4080,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4080,"uuid":"9e0a8a0a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["FJWi","wRtjFrIRS","ptSMocAg","oVsjzt","ChvPAIWV","ofSA","DimP"],"boolField":true,"intField":-976,"numField":990.8912988582746,"objField":{"Nfgemx":-9011152988052765154,"QPYpD":928854672867353629,"nhPAeX":-903557278552010716,"qWxHOhSL":2424796116981775311,"rUkxgPhX":6284006506671224426,"tKMCWjt":-8361330364413214560},"stringDateField":"1966-10-31","stringDateTimeField":"2002-07-29T00:59:59Z","stringField":"wriq","stringTimeField":"17:53:30.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":-976,"numField":990.8912988582746,"stringDateField":"1966-10-31","stringDateTimeField":"2002-07-29T00:59:59Z","stringField":"wriq","stringTimeField":"17:53:30.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4081,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4081,"uuid":"9e0a8a0a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["AUThuSrpHq","DbdrgrOZ","aMXR"],"boolField":true,"intField":215,"numField":162.99752859575523,"objField":{"zrppNWtZ":-7354868366176373089},"stringDateField":"1958-05-04","stringDateTimeField":"2003-03-04T13:19:01Z","stringField":"ZgbAlu","stringTimeField":"20:42:25.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763786Z","intField":215,"numField":162.99752859575523,"stringDateField":"1958-05-04","stringDateTimeField":"2003-03-04T13:19:01Z","stringField":"ZgbAlu","stringTimeField":"20:42:25.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4082,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4082,"uuid":"9e0a8a0b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["XSrXtrQ","aDecBtS","GNjv","mwUfEpmr","zmolakKob","WezxttJ"],"boolField":true,"intField":-593,"numField":-657.4676692718307,"objField":{"gbWZgYJH":289446064341318302},"stringDateField":"1980-05-04","stringDateTimeField":"2014-05-12T20:56:42Z","stringField":"snMQ","stringTimeField":"00:40:28.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":-593,"numField":-657.4676692718307,"stringDateField":"1980-05-04","stringDateTimeField":"2014-05-12T20:56:42Z","stringField":"snMQ","stringTimeField":"00:40:28.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4083,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4083,"uuid":"9e0a8a0b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["YBNwAHrx"],"boolField":false,"intField":-202,"numField":867.9014463481516,"objField":{"dZfiX":8393309829745360601},"stringDateField":"1985-12-16","stringDateTimeField":"1960-07-22T07:13:54Z","stringField":"InSJdBuFkB","stringTimeField":"04:05:03.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":-202,"numField":867.9014463481516,"stringDateField":"1985-12-16","stringDateTimeField":"1960-07-22T07:13:54Z","stringField":"InSJdBuFkB","stringTimeField":"04:05:03.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4084,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4084,"uuid":"9e0a8a0b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["xlsbWVxMtu"],"boolField":false,"intField":121,"numField":-447.59629202530994,"objField":{"IPMcXDJbcE":3472126418770795556,"NgavisSGN":-4132693837840064197,"SghWMD":5115193906907530255,"bhiHAf":-2807302693368433422,"fldZ":-1531525194742470311},"stringDateField":"1952-01-18","stringDateTimeField":"1982-06-03T02:33:57Z","stringField":"EGxCLxw","stringTimeField":"00:00:39.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":121,"numField":-447.59629202530994,"stringDateField":"1952-01-18","stringDateTimeField":"1982-06-03T02:33:57Z","stringField":"EGxCLxw","stringTimeField":"00:00:39.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4085,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4085,"uuid":"9e0a8a0b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["qRyIXJgSg","oAnlgMgtV","maptrLOaX","AwsvQIem","NOVzxUQf","WTQpPH"],"boolField":true,"intField":55,"numField":678.8507022660212,"objField":{"TjwEsICUy":7017458690969072768,"ULFcqzucI":-1181353239035737513,"dvkngmGz":7703462892626959215,"fCxyrUgnma":2518621348398939735,"vLVhXYJa":6113350546799999986,"vquAkkYI":5288630070043102636},"stringDateField":"1915-12-21","stringDateTimeField":"1909-06-15T17:35:40Z","stringField":"yXHdpmoDR","stringTimeField":"00:12:15.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":55,"numField":678.8507022660212,"stringDateField":"1915-12-21","stringDateTimeField":"1909-06-15T17:35:40Z","stringField":"yXHdpmoDR","stringTimeField":"00:12:15.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4086,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4086,"uuid":"9e0a8a0b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["LHpAx","nKynWff","fKWg","TCWaQdR","fMMFK","FxWtaLVVg","pBexmCYh","WLGXtI","WnbTW","GZUDFtqU"],"boolField":false,"intField":633,"numField":231.7311642023936,"objField":{"inDn":-4096949242877162207,"jzDASgqqE":4556556530622956779,"mauAzzExM":-2347841144096970762,"oOqrmI":583172386710105373,"oRuoHQoMfp":3158954120599745812,"vezoVxMDBS":6125848999880359634,"xZwQuEIM":-5718918306715756724,"ySHDpzOYn":-3100818001542830754},"stringDateField":"2002-02-27","stringDateTimeField":"1958-04-22T20:23:53Z","stringField":"BnRQsnfAUc","stringTimeField":"07:42:56.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":633,"numField":231.7311642023936,"stringDateField":"2002-02-27","stringDateTimeField":"1958-04-22T20:23:53Z","stringField":"BnRQsnfAUc","stringTimeField":"07:42:56.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4087,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4087,"uuid":"9e0a8a0b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["PIwkgcqs","QcEl"],"boolField":false,"intField":614,"numField":557.7182327654622,"objField":{"OIhAjx":2742211819050931611,"XKQzJnYs":-6398489088379733196},"stringDateField":"2001-02-14","stringDateTimeField":"1957-03-01T13:30:35Z","stringField":"owPKQamw","stringTimeField":"05:06:01.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":614,"numField":557.7182327654622,"stringDateField":"2001-02-14","stringDateTimeField":"1957-03-01T13:30:35Z","stringField":"owPKQamw","stringTimeField":"05:06:01.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4088,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4088,"uuid":"9e0a8a0b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["DqZg","MecIFC","XgoVIdz","bZiNPVuSs","OOwq","ViVuEFZi","BxPJP"],"boolField":false,"intField":251,"numField":-904.5791114376938,"objField":{"ARPIbtk":8893430837576685213,"OJUHrQfgyj":-764410806168751495,"evRicz":-637305082252007506,"sVUrVsu":8188254042291894206},"stringDateField":"1991-03-15","stringDateTimeField":"1935-12-21T23:24:40Z","stringField":"FZAmXB","stringTimeField":"10:41:16.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":251,"numField":-904.5791114376938,"stringDateField":"1991-03-15","stringDateTimeField":"1935-12-21T23:24:40Z","stringField":"FZAmXB","stringTimeField":"10:41:16.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4089,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4089,"uuid":"9e0a8a0b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ptJcT","iwEdnwXf","FeNxzdC","RFmF","sYiNq","OOFZkzaba"],"boolField":false,"intField":-600,"numField":-881.1062079622345,"objField":{"GUViDG":4260924567178973174,"bNkVrBtXr":6778862573545095380,"dfvJ":2655191214809698850,"sDVVJSb":-5991716941364261244,"uHhCHDvtI":892549605546384653},"stringDateField":"1924-07-04","stringDateTimeField":"1951-02-02T07:03:30Z","stringField":"LnsDCL","stringTimeField":"15:28:53.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":-600,"numField":-881.1062079622345,"stringDateField":"1924-07-04","stringDateTimeField":"1951-02-02T07:03:30Z","stringField":"LnsDCL","stringTimeField":"15:28:53.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4090,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4090,"uuid":"9e0a8a0b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["cCIWxLnqKR","rbzH","PvfEdgZN","ylvafBY","hcGRs","iXoOcNoUxv","yWLcoloeZ","HKUQCG","OsuUaHjtuR","AqhhZ"],"boolField":true,"intField":957,"numField":992.5055831409172,"objField":{"MRlSEW":-7068995000500671242,"TyOFcuJL":-7040559247673976566,"YegrJhD":-6798510528483016573,"tfFdpHOo":-1707264676986592850},"stringDateField":"1976-01-06","stringDateTimeField":"2013-02-18T04:21:12Z","stringField":"KgYSB","stringTimeField":"03:27:19.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":957,"numField":992.5055831409172,"stringDateField":"1976-01-06","stringDateTimeField":"2013-02-18T04:21:12Z","stringField":"KgYSB","stringTimeField":"03:27:19.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4091,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4091,"uuid":"9e0a8a0b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["RblCUPAz","KfaS","LAWz","BVWy","yADgKpTgpE","akwwq","rLYWhxUftK"],"boolField":true,"intField":-846,"numField":747.0439291308555,"objField":{"YjeIvHWpT":-7959213000633357267,"tKVlqbP":-2251049652893885026},"stringDateField":"1997-05-23","stringDateTimeField":"1972-01-11T12:46:30Z","stringField":"AbpCuUDY","stringTimeField":"08:23:24.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":-846,"numField":747.0439291308555,"stringDateField":"1997-05-23","stringDateTimeField":"1972-01-11T12:46:30Z","stringField":"AbpCuUDY","stringTimeField":"08:23:24.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4092,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4092,"uuid":"9e0a8a0b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["qQtOWpD"],"boolField":false,"intField":841,"numField":582.8069647088067,"objField":{"CeHkw":5620235369028698002,"FAtLkdHYkY":-206747576642340336,"MDdRcRI":-6177591125988380161,"beQJwAb":-8076669449134372698,"eCazfkUJT":3651537219029658078,"gegxrQbz":8820553046357597990,"iQgZ":5591053604017853276,"kZyaLL":-7808637722636015431,"zgvXOGkf":3301761618372736381},"stringDateField":"1927-02-10","stringDateTimeField":"2019-04-03T21:13:40Z","stringField":"Lywawm","stringTimeField":"20:00:16.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":841,"numField":582.8069647088067,"stringDateField":"1927-02-10","stringDateTimeField":"2019-04-03T21:13:40Z","stringField":"Lywawm","stringTimeField":"20:00:16.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4093,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4093,"uuid":"9e0a8a0b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["itykXTrflu","RPHX","ulfYGKW"],"boolField":true,"intField":-317,"numField":243.06513841831355,"objField":{"NCNdNx":3698779124500345955,"nKeh":-6644398620899448813},"stringDateField":"1918-10-21","stringDateTimeField":"1934-07-19T14:16:50Z","stringField":"oRlZahUOv","stringTimeField":"20:26:10.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":-317,"numField":243.06513841831355,"stringDateField":"1918-10-21","stringDateTimeField":"1934-07-19T14:16:50Z","stringField":"oRlZahUOv","stringTimeField":"20:26:10.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4094,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4094,"uuid":"9e0a8a0b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["pheiv","HdohOoZ","wEaA","XdNbkwSCT","sgPdBDn","WAqvzCWc","YkUCL","lOwjh"],"boolField":true,"intField":-98,"numField":-916.332787125699,"objField":{"BIllhrsf":-6236700867821227992,"HfUeCwnFC":-3427221855247648895,"OrBRDYN":-7890811297405721796,"YNRkOBIrnM":3358238322909057266,"ZJRzW":-728349182547973221,"cpkFtQiCq":3756799281910566477,"fYXq":-318750895051396000,"jkxsLnIb":5388554055770714057},"stringDateField":"1923-09-26","stringDateTimeField":"1929-05-09T08:57:10Z","stringField":"UJUnYbFScp","stringTimeField":"18:09:38.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":-98,"numField":-916.332787125699,"stringDateField":"1923-09-26","stringDateTimeField":"1929-05-09T08:57:10Z","stringField":"UJUnYbFScp","stringTimeField":"18:09:38.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4095,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4095,"uuid":"9e0a8a0b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["anEU","zGJzOwt"],"boolField":false,"intField":-793,"numField":209.84449840818087,"objField":{"HZif":-8069954861878209452,"UyvrvlIn":-1138210425348669546,"dLEpnwRXYD":-7831767128756224511,"gXSpkNdZIb":-8732004073271458325,"rTZu":6967727446091774195,"sbkRN":-930972266032377016,"wWTsSyBH":-4029373814234188068},"stringDateField":"2005-08-09","stringDateTimeField":"2022-02-02T02:15:12Z","stringField":"zFQjGbnZjU","stringTimeField":"06:32:27.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":-793,"numField":209.84449840818087,"stringDateField":"2005-08-09","stringDateTimeField":"2022-02-02T02:15:12Z","stringField":"zFQjGbnZjU","stringTimeField":"06:32:27.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4096,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4096,"uuid":"9e0a8a0b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["TfivgSXMH","AxQetLXIbM","PzlpR","nHuxWYLGaP"],"boolField":true,"intField":-220,"numField":537.2755225394004,"objField":{"FBusLW":-4650170486117894565,"WWfYQMol":-5454924714327041482,"inySKfg":-6147837034983379337,"pwabxLzxhH":-8729779285606691477},"stringDateField":"1937-09-21","stringDateTimeField":"1981-05-30T03:32:15Z","stringField":"xNqlF","stringTimeField":"02:42:50.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":-220,"numField":537.2755225394004,"stringDateField":"1937-09-21","stringDateTimeField":"1981-05-30T03:32:15Z","stringField":"xNqlF","stringTimeField":"02:42:50.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4097,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4097,"uuid":"9e0a8a0b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["gFNryDn","jPhTl"],"boolField":false,"intField":-241,"numField":682.009150567297,"objField":{"gtgpSPqeu":-5226687383673203053,"gwbBm":-3963860041611254241,"rLhDkhn":-4623064195803758925},"stringDateField":"1994-06-05","stringDateTimeField":"1969-02-02T01:35:16Z","stringField":"gQGwkGWL","stringTimeField":"09:15:48.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763787Z","intField":-241,"numField":682.009150567297,"stringDateField":"1994-06-05","stringDateTimeField":"1969-02-02T01:35:16Z","stringField":"gQGwkGWL","stringTimeField":"09:15:48.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4098,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4098,"uuid":"9e0a8a0c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["fJMHlH","MHAHj","KsSCIO"],"boolField":true,"intField":-966,"numField":-991.3465329638587,"objField":{"BlFNYjoy":2151274581083781755,"GxRK":4232549572488524980,"Hvgk":-2581752336239334539,"KNEHERfGX":4363910670672067233,"fSRxBlqZ":-8647397373750453449,"gvyXOvYh":4542083094726950463,"gzQJgVq":7535517013438622234,"mdFxlHZ":9167407599063259343,"qVFjER":8359434916311646375,"voOuUAemwL":-4126035039649539434},"stringDateField":"2013-10-17","stringDateTimeField":"2010-03-20T12:08:36Z","stringField":"JRkDou","stringTimeField":"01:32:16.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":-966,"numField":-991.3465329638587,"stringDateField":"2013-10-17","stringDateTimeField":"2010-03-20T12:08:36Z","stringField":"JRkDou","stringTimeField":"01:32:16.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4099,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4099,"uuid":"9e0a8a0c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ISIbSEQ","uVVubtGodQ","jDHPrzF","qLAUuWH","KiIvhB"],"boolField":true,"intField":-225,"numField":-16.677667076275604,"objField":{"BROXLMFZ":5806328272294327574,"ExagXBTQ":1404727828551440747,"KttE":-5033682798349051345,"cQUACNJz":-2596512687564627430,"edqR":-6632906483353080614,"efkT":1241962269235916488,"fRmlqx":-6450172390558292589,"lQynkQPWtt":353113323493164964,"xIRZMmBQZ":-8385295585354351428},"stringDateField":"1954-06-30","stringDateTimeField":"2010-11-12T23:49:08Z","stringField":"lvzc","stringTimeField":"03:35:56.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":-225,"numField":-16.677667076275604,"stringDateField":"1954-06-30","stringDateTimeField":"2010-11-12T23:49:08Z","stringField":"lvzc","stringTimeField":"03:35:56.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4100,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4100,"uuid":"9e0a8a0c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["okji","VZFW","aGhktCNUB","pGEPt"],"boolField":true,"intField":365,"numField":998.644930381802,"objField":{"FrnWQ":-2267833427630521883,"HSfmwHER":-6811363172564446533,"KxdTRQgO":4566901366048923731,"Mzav":3375196455728735116,"PArFoOZg":-1179958744100555928,"UcPme":-630959411077147419,"VwHP":4433307398629133709,"gmJWckjYeN":-8685277605912345019,"grwJvB":-1699677501631884432,"iEUKX":7165313231524166518},"stringDateField":"1949-08-03","stringDateTimeField":"1944-06-24T23:31:46Z","stringField":"ZNvUHLZ","stringTimeField":"10:22:18.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":365,"numField":998.644930381802,"stringDateField":"1949-08-03","stringDateTimeField":"1944-06-24T23:31:46Z","stringField":"ZNvUHLZ","stringTimeField":"10:22:18.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4101,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4101,"uuid":"9e0a8a0c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["JDHTRq","qARrtUdXw","yAVb","SRHtie","aWfUP","aoefjsxlx","sXJkfrt","UiAyCFznEH"],"boolField":true,"intField":-646,"numField":786.5747708672801,"objField":{"BckgF":-5601727791172439212,"IVTPXH":-956108276337237416,"IcuDUoM":1761431848938717386,"NHFDRw":229103699675504353,"aIUMSeSrN":-7088134519591334894,"aWNKspzW":-2606305686411171776,"bLOaY":8797729753242450369,"cgYuIAW":1257520429226188181,"isvjgLaKHi":-8380930819435935108,"xtIiwc":1065952403376631268},"stringDateField":"1977-06-03","stringDateTimeField":"1947-09-20T12:48:49Z","stringField":"Cbsik","stringTimeField":"02:07:11.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":-646,"numField":786.5747708672801,"stringDateField":"1977-06-03","stringDateTimeField":"1947-09-20T12:48:49Z","stringField":"Cbsik","stringTimeField":"02:07:11.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4102,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4102,"uuid":"9e0a8a0c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["XLsQJUGw","VdhJyder","dbOySwDIBZ","HFkxyVr","NmYkbY","mOdZ","SVzH","vTjEn","hwGrQnk"],"boolField":true,"intField":862,"numField":-391.3412042335258,"objField":{"Byqxrxga":-6449099642015330249,"EryweVWmco":-1712025481316746616,"GfAhimE":-5209198978719940550,"JonaVWbaI":5285485202231851236,"hWuJdEkscY":-8565382835842200697,"kubG":5927986808578722623,"maonKaHkV":-5517278316414663650},"stringDateField":"1902-06-28","stringDateTimeField":"1973-02-12T07:21:38Z","stringField":"RgoMKXvWxl","stringTimeField":"23:59:46.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":862,"numField":-391.3412042335258,"stringDateField":"1902-06-28","stringDateTimeField":"1973-02-12T07:21:38Z","stringField":"RgoMKXvWxl","stringTimeField":"23:59:46.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4103,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4103,"uuid":"9e0a8a0c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["owXsGLNJkq","vxJCNZ","aMffafBP","RdumV","ORjfsGYGWW","EYMqQROjx","ySktkEOpTP","pnYzMRw"],"boolField":true,"intField":-310,"numField":-68.51622802177437,"objField":{"DSNmmz":-3034097674145309799,"GOfFT":5343297051156628757,"mAtLKp":9110899061550017241},"stringDateField":"1909-03-04","stringDateTimeField":"1986-06-15T07:41:02Z","stringField":"geuH","stringTimeField":"10:32:59.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":-310,"numField":-68.51622802177437,"stringDateField":"1909-03-04","stringDateTimeField":"1986-06-15T07:41:02Z","stringField":"geuH","stringTimeField":"10:32:59.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4104,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4104,"uuid":"9e0a8a0c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["Smep","IVCWTAb","uYML","docS","QXJA","FTMFBKOykF","rlgrsB","WwgijEWF","SNgOtcsB"],"boolField":false,"intField":-626,"numField":179.76835698235115,"objField":{"AecqeaiU":-5141070007090691680,"ltlLX":-1261654095858867140},"stringDateField":"1903-04-13","stringDateTimeField":"1993-03-25T08:51:21Z","stringField":"cDrg","stringTimeField":"19:32:17.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":-626,"numField":179.76835698235115,"stringDateField":"1903-04-13","stringDateTimeField":"1993-03-25T08:51:21Z","stringField":"cDrg","stringTimeField":"19:32:17.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4105,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4105,"uuid":"9e0a8a0c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["OQvYgrcLm"],"boolField":false,"intField":553,"numField":-768.3203131055009,"objField":{"PDromi":2859398312527811927},"stringDateField":"1992-05-02","stringDateTimeField":"1960-03-14T07:42:04Z","stringField":"EEFZNO","stringTimeField":"19:46:42.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":553,"numField":-768.3203131055009,"stringDateField":"1992-05-02","stringDateTimeField":"1960-03-14T07:42:04Z","stringField":"EEFZNO","stringTimeField":"19:46:42.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4106,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4106,"uuid":"9e0a8a0c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["iAzcangs","NfdYFZjVCk","HUpPWS","nLieskWzG","MAHTBuQ","UxMDEsjM","smJzW"],"boolField":false,"intField":967,"numField":-565.923024035604,"objField":{"LnaJjmwEc":-7923697702904396281,"NoEngNG":6166628179025248980,"ROuC":4981810695330258062,"SRLAtSPVYr":7707047558115060600,"aHLA":-3492041658099146415,"cQsHeDK":6546656091192485501,"gGaO":-2889240425949947227,"hstuumlOK":2449189156415286190,"yLgrgzXUGE":-9156258911303404167},"stringDateField":"1909-08-23","stringDateTimeField":"1923-04-05T08:09:12Z","stringField":"KzbsrkRiTe","stringTimeField":"05:38:28.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":967,"numField":-565.923024035604,"stringDateField":"1909-08-23","stringDateTimeField":"1923-04-05T08:09:12Z","stringField":"KzbsrkRiTe","stringTimeField":"05:38:28.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4107,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4107,"uuid":"9e0a8a0c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["DLGSHR","JmljpwIhl"],"boolField":false,"intField":-440,"numField":117.99914329162009,"objField":{"CMlQgK":-7173041673710844163,"FtOIQwuLbv":8946818842731667933,"YBWB":-7029054331111757911,"cEwjqj":276196168788516321,"jwbRHbWJ":-930348029847924848},"stringDateField":"1956-12-06","stringDateTimeField":"1905-12-09T06:01:10Z","stringField":"FuqQDV","stringTimeField":"01:15:17.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":-440,"numField":117.99914329162009,"stringDateField":"1956-12-06","stringDateTimeField":"1905-12-09T06:01:10Z","stringField":"FuqQDV","stringTimeField":"01:15:17.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4108,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4108,"uuid":"9e0a8a0c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["QQTeTGTex","AMBGNVS","KQOLOHjE","vAFvW","snTcaxEc","hyZe","LidwAWJFby","NzyndVI","LKMdd"],"boolField":false,"intField":-608,"numField":-109.2328241814543,"objField":{"CIhEDTwk":3986302880015420810,"SPhqo":-6963814931889554807,"WAAo":-4645066205730368392,"YmjeXJCfa":208909903028136471,"kcNXU":-6055323596046568205},"stringDateField":"1902-01-31","stringDateTimeField":"1983-03-02T17:53:48Z","stringField":"AaDwbnbV","stringTimeField":"00:49:30.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":-608,"numField":-109.2328241814543,"stringDateField":"1902-01-31","stringDateTimeField":"1983-03-02T17:53:48Z","stringField":"AaDwbnbV","stringTimeField":"00:49:30.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4109,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4109,"uuid":"9e0a8a0c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["MmVjpuuIfl","gWsKo","RyRRBG","mjaninGTm"],"boolField":true,"intField":-305,"numField":-724.0553590231559,"objField":{"EYpEA":-8474589725260623226,"IudK":4161804554803335892,"JjnTWTLy":-943116521234863175,"VdiZrRL":1321078917030983783,"ZBvJNhM":-2281981099479749109,"awbPMTeCJ":-2181817661752993106,"eLXwOIMkzG":-1843940765572871730,"iACWzl":-2722692403589383371,"lBLhRJ":-2169809776978472145,"smqV":-682697499230539092},"stringDateField":"1919-05-31","stringDateTimeField":"1994-12-15T13:52:20Z","stringField":"lfOgds","stringTimeField":"13:54:10.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":-305,"numField":-724.0553590231559,"stringDateField":"1919-05-31","stringDateTimeField":"1994-12-15T13:52:20Z","stringField":"lfOgds","stringTimeField":"13:54:10.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4110,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4110,"uuid":"9e0a8a0c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["PkCEvdnXt","lFph","slQMM","cuPHTUvSsI","SjLZkGf","hzwTCRlsYp"],"boolField":true,"intField":-382,"numField":994.254219874552,"objField":{"DwaJiYIFM":-5485453509377111291,"RXrUFbuG":-4786096358822397563,"hhWXKA":-9071709715744822998,"qxxKbOiv":6262068655832865766},"stringDateField":"1951-10-02","stringDateTimeField":"1914-08-17T08:16:42Z","stringField":"HEQIbCZ","stringTimeField":"12:24:24.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":-382,"numField":994.254219874552,"stringDateField":"1951-10-02","stringDateTimeField":"1914-08-17T08:16:42Z","stringField":"HEQIbCZ","stringTimeField":"12:24:24.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4111,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4111,"uuid":"9e0a8a0c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["cfvp","movtSXFl","qLWGyIQ","rPiObt","EQEsL","ipULiSYzap","xqFPyOppWp","HYQf","GjmV","LTSksQhWz"],"boolField":false,"intField":796,"numField":-488.36340722380777,"objField":{"aMLsClDlsV":1351115396312390790,"agGe":-4598298191301761100,"faORoHgGuO":-4755444983211065590,"kYPvjV":-4555490129126114623,"qtoyw":7505581931521841268},"stringDateField":"1947-12-22","stringDateTimeField":"2018-08-20T05:31:11Z","stringField":"SQWquexBfy","stringTimeField":"03:50:51.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":796,"numField":-488.36340722380777,"stringDateField":"1947-12-22","stringDateTimeField":"2018-08-20T05:31:11Z","stringField":"SQWquexBfy","stringTimeField":"03:50:51.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4112,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4112,"uuid":"9e0a8a0c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["gZgDMXKOOq"],"boolField":true,"intField":449,"numField":590.6071759975011,"objField":{"BijFu":3229580536819856608,"BkIPZLk":-3786645212731039905,"QwSExkR":5456310211240053114,"UKCCuNsP":-6193381811873989520,"YIeZNl":-1291172256246163673,"aviTTFM":-7663853502125126117,"axeIw":-1148246362419507100,"gWJSD":-1433730513968434617,"nYYLAcyK":-3517948359830888869,"obfBj":-8171383587197969008},"stringDateField":"1962-09-12","stringDateTimeField":"1901-01-30T16:16:36Z","stringField":"ruwE","stringTimeField":"08:18:13.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":449,"numField":590.6071759975011,"stringDateField":"1962-09-12","stringDateTimeField":"1901-01-30T16:16:36Z","stringField":"ruwE","stringTimeField":"08:18:13.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4113,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4113,"uuid":"9e0a8a0c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["xkcmGBAa","vrUEwCJ","AiyOoO","jNnX","ZspT","uTSurhzNz","TYkPOpNad","teVMrlHy","ovsrPZ","FtEVYpmNQk"],"boolField":true,"intField":-259,"numField":-290.1888967024986,"objField":{"OwYvrkpWjm":-4970679956757262294,"PbkUSqZ":-6977100271656418412,"XzheL":616243081015104914,"ssPvnzPmFu":-5265446376183351346},"stringDateField":"1953-10-16","stringDateTimeField":"1999-06-21T00:01:49Z","stringField":"zmtYAXq","stringTimeField":"22:36:59.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763788Z","intField":-259,"numField":-290.1888967024986,"stringDateField":"1953-10-16","stringDateTimeField":"1999-06-21T00:01:49Z","stringField":"zmtYAXq","stringTimeField":"22:36:59.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4114,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4114,"uuid":"9e0a8a0d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["EXdSv","HztNL","eIHmWr","cQwZAlHV","DDini"],"boolField":false,"intField":629,"numField":-703.7146394666632,"objField":{"DKlJIDtePC":4363208027477668070,"DUOh":4337348527512163706,"KtQxNn":366487371918675996,"OlmScDg":6073257155145961447,"UemZoEVerh":-2423851141078312159,"WkyjyNdue":1705387840509941681,"greDnfq":5762756057615064157,"jLZzNrZ":1544858717618632208,"thpIYbeVf":931242256944536416},"stringDateField":"1913-04-26","stringDateTimeField":"1917-08-23T11:21:38Z","stringField":"SIqbmml","stringTimeField":"03:04:43.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":629,"numField":-703.7146394666632,"stringDateField":"1913-04-26","stringDateTimeField":"1917-08-23T11:21:38Z","stringField":"SIqbmml","stringTimeField":"03:04:43.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4115,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4115,"uuid":"9e0a8a0d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["uAWdu","rCnAXp","oiWTALkI","zGRbitNU","Aalq","hTVJssC"],"boolField":false,"intField":833,"numField":-813.0483648827485,"objField":{"EOPgdLLF":5923945561103512197,"ffZSmADNUf":-82778024038554300,"lAhHLK":8746350810470187683},"stringDateField":"1969-05-28","stringDateTimeField":"2006-06-26T01:17:56Z","stringField":"XCdojwgF","stringTimeField":"06:03:22.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":833,"numField":-813.0483648827485,"stringDateField":"1969-05-28","stringDateTimeField":"2006-06-26T01:17:56Z","stringField":"XCdojwgF","stringTimeField":"06:03:22.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4116,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4116,"uuid":"9e0a8a0d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bWqWM","ZOydnYEPqS"],"boolField":false,"intField":826,"numField":-9.850593110111827,"objField":{"JRyIepUw":3833432305944155311,"SuBNs":2376371210378872821},"stringDateField":"1906-09-06","stringDateTimeField":"1930-07-14T13:43:49Z","stringField":"LwJGWCWn","stringTimeField":"21:03:12.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":826,"numField":-9.850593110111827,"stringDateField":"1906-09-06","stringDateTimeField":"1930-07-14T13:43:49Z","stringField":"LwJGWCWn","stringTimeField":"21:03:12.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4117,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4117,"uuid":"9e0a8a0d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["cUYloqcXz","CYvvaa","BSoW","xxDVobIK","lWundssK"],"boolField":true,"intField":259,"numField":-801.4327762912002,"objField":{"ZkcyS":3375831646742211734,"mXPqQH":-5308831766729126445,"wHtAMeg":6975071675570183465},"stringDateField":"1941-02-09","stringDateTimeField":"1990-07-18T10:41:11Z","stringField":"HpOCrltr","stringTimeField":"08:12:50.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":259,"numField":-801.4327762912002,"stringDateField":"1941-02-09","stringDateTimeField":"1990-07-18T10:41:11Z","stringField":"HpOCrltr","stringTimeField":"08:12:50.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4118,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4118,"uuid":"9e0a8a0d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["GgBoY","FRUVfEGDA"],"boolField":true,"intField":327,"numField":893.2239802902262,"objField":{"DgMQHufqM":1915216543964852182,"EexqcOQF":-125937541877141898,"qVkInM":-2130226247477795243,"xuij":-3600323776274849807,"zCZm":-7549118609088462137},"stringDateField":"1949-06-01","stringDateTimeField":"1988-03-01T23:08:00Z","stringField":"VPMP","stringTimeField":"22:15:16.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":327,"numField":893.2239802902262,"stringDateField":"1949-06-01","stringDateTimeField":"1988-03-01T23:08:00Z","stringField":"VPMP","stringTimeField":"22:15:16.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4119,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4119,"uuid":"9e0a8a0d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["MsEJGBacbF","lebEjeNAk"],"boolField":true,"intField":-335,"numField":-593.7824657719467,"objField":{"GIJCdSJSBC":6371674226509230710,"HnrlpXZcU":5029755566982590326,"dwamNTrN":5372072870957135067,"gMpueuwJ":-7669480649983676202,"lkebnwjDpb":7142775098983969128,"sQcwaEnKoH":-3559308046267345236},"stringDateField":"1921-09-23","stringDateTimeField":"1908-07-18T16:51:09Z","stringField":"rWyMcwYK","stringTimeField":"22:16:40.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":-335,"numField":-593.7824657719467,"stringDateField":"1921-09-23","stringDateTimeField":"1908-07-18T16:51:09Z","stringField":"rWyMcwYK","stringTimeField":"22:16:40.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4120,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4120,"uuid":"9e0a8a0d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["rysdzBJHin","ZvZPFOXH","sJTXFmbJws","dmDQq","yrHGdrv","WGoFzlo","jWHK"],"boolField":false,"intField":-507,"numField":99.88610953706625,"objField":{"LngEV":-1176069399607909090,"QoSAGdCq":2799015476688661324,"jfrgagjKif":-3830189568171778928,"pZOBRrQaZ":-3489493128744302562,"vWreGkxS":-4790166263916080652},"stringDateField":"1959-05-24","stringDateTimeField":"1964-03-07T20:29:39Z","stringField":"NmyWLE","stringTimeField":"11:37:46.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":-507,"numField":99.88610953706625,"stringDateField":"1959-05-24","stringDateTimeField":"1964-03-07T20:29:39Z","stringField":"NmyWLE","stringTimeField":"11:37:46.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4121,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4121,"uuid":"9e0a8a0d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["gtUpKEZAbw","xJaszdwCX","lpvttODcy","AcMnFxCmMI","cufnbes","Wgsubj","kLWnCs","jqZjUzHNWp","SZcbnVeFAE"],"boolField":true,"intField":-112,"numField":-447.5107893096543,"objField":{"BbOsjSxCX":7513240840607175395,"RpDkepqAz":9133061334630417193,"SdekIVH":-7333122384733728919,"WNaqSztaI":7649148596935859993,"YxLASMWACg":6088542937745794383,"ZdXFjpWFO":8847678860676748227,"dMrquSmic":2443257654213810402,"eWweJbLe":2214812439616785965,"rBzG":5119177248909746785,"xYDJl":3266487912545713471},"stringDateField":"1901-11-03","stringDateTimeField":"1970-04-21T08:03:07Z","stringField":"ImvDJKD","stringTimeField":"04:56:17.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":-112,"numField":-447.5107893096543,"stringDateField":"1901-11-03","stringDateTimeField":"1970-04-21T08:03:07Z","stringField":"ImvDJKD","stringTimeField":"04:56:17.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4122,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4122,"uuid":"9e0a8a0d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["syRGt","OwSxUdatKt","IBiF","scVihqxH"],"boolField":false,"intField":258,"numField":86.44581392643747,"objField":{"ISpMwbKQ":-4607578647785816322,"ItOCT":8442513012479152116,"UVcsUaUIn":-6294967397807909221,"VRQsbhxWjA":1133539403004409255,"XqKOaQfb":-8779626062258848857,"ZarYIq":-2754991848114427836,"bizbDI":-4861636560305662423,"gMCanLqu":-3561620611652848930,"vIOTDOOyrO":5379104109487315339,"ymvT":-2122350002542941327},"stringDateField":"1960-08-02","stringDateTimeField":"1998-03-19T04:34:30Z","stringField":"eKGwBcnyTx","stringTimeField":"07:28:24.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":258,"numField":86.44581392643747,"stringDateField":"1960-08-02","stringDateTimeField":"1998-03-19T04:34:30Z","stringField":"eKGwBcnyTx","stringTimeField":"07:28:24.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4123,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4123,"uuid":"9e0a8a0d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["kXSJbVBWQ"],"boolField":false,"intField":583,"numField":-246.4783221611253,"objField":{"DvqMMXhbs":7348853249974640730,"GWkkCgczTG":6492866746551336414,"JdkPZV":-3066429928506767415,"KEsyvNHEm":4861791917531217201,"QpCUgTtu":563102051823516237,"bUYApGCEa":5779307660202968731,"gpmGkvKXqr":-1246030862091230307,"iKDTx":145588099264301006,"laiTdgQln":-5792499208463285428},"stringDateField":"1921-03-06","stringDateTimeField":"1937-06-12T02:55:52Z","stringField":"KufAb","stringTimeField":"03:50:34.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":583,"numField":-246.4783221611253,"stringDateField":"1921-03-06","stringDateTimeField":"1937-06-12T02:55:52Z","stringField":"KufAb","stringTimeField":"03:50:34.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4124,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4124,"uuid":"9e0a8a0d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["HibMo","PfFSDUusQ"],"boolField":false,"intField":-639,"numField":-567.3679721168888,"objField":{"CQtiFHd":-5499308635891864240,"FUssTPx":5634386962379860669,"GkcbexrZA":-8722336641579700371,"RjXwFPKL":2021453569657645598,"SuVBlMlAY":539805580630461875,"ccizxYNF":-8717721818862618920,"nBmdT":-6774076837659586869,"pkfc":-3010237404790917630,"yufWtDFd":8894535253027576652},"stringDateField":"1932-11-14","stringDateTimeField":"1908-01-11T12:07:23Z","stringField":"CWHEEMUKl","stringTimeField":"15:01:19.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":-639,"numField":-567.3679721168888,"stringDateField":"1932-11-14","stringDateTimeField":"1908-01-11T12:07:23Z","stringField":"CWHEEMUKl","stringTimeField":"15:01:19.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4125,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4125,"uuid":"9e0a8a0d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["NSgHlGi","EpCJ","mYQYR"],"boolField":false,"intField":486,"numField":731.28837286331,"objField":{"NJIb":8297688968089646784,"SOCOIl":-7355041628602284615,"dgTPm":3374185899348733125},"stringDateField":"1996-04-14","stringDateTimeField":"1903-05-01T08:26:35Z","stringField":"PRTNTwn","stringTimeField":"12:37:36.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":486,"numField":731.28837286331,"stringDateField":"1996-04-14","stringDateTimeField":"1903-05-01T08:26:35Z","stringField":"PRTNTwn","stringTimeField":"12:37:36.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4126,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4126,"uuid":"9e0a8a0d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["EHzm","wkbPAJKA","wYmuKdBz","EoMqQu","sfXIGaXUOI","IWuCcWuzu","iQFwzdgh","ahbFpGW","fxJRfuOTCr"],"boolField":false,"intField":989,"numField":755.0923957036899,"objField":{"InoM":6279759543135720805,"RWqBbSGo":-4510846893008082646},"stringDateField":"2014-04-24","stringDateTimeField":"1902-12-01T19:45:37Z","stringField":"BFajGPj","stringTimeField":"08:10:23.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":989,"numField":755.0923957036899,"stringDateField":"2014-04-24","stringDateTimeField":"1902-12-01T19:45:37Z","stringField":"BFajGPj","stringTimeField":"08:10:23.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4127,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4127,"uuid":"9e0a8a0d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["VYuLx","jRjTHOl"],"boolField":false,"intField":695,"numField":-208.27431211450255,"objField":{"LKGbmj":5382406613055731438,"SZDz":935097565433969873,"TROPBQ":-4924079398317323605,"XNdCafatF":8832540655770588409,"kIQbJsT":-997601397983894175,"mEMdYanPe":-4353253235487426010,"tDapPkJ":3937287951172249362,"yTjuI":5802665576363787527},"stringDateField":"1923-07-17","stringDateTimeField":"1994-12-04T06:29:30Z","stringField":"fuhnFy","stringTimeField":"00:56:56.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":695,"numField":-208.27431211450255,"stringDateField":"1923-07-17","stringDateTimeField":"1994-12-04T06:29:30Z","stringField":"fuhnFy","stringTimeField":"00:56:56.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4128,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4128,"uuid":"9e0a8a0d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["WjKbTga","YledLYj","qcuf","dZRvG","pcMjzvMLR","MhGSfSQzDA","BkXrJB","ltCg","nEvTuAWTLW"],"boolField":true,"intField":-995,"numField":115.27619165332914,"objField":{"VwrNfFiQS":5182901689778737921},"stringDateField":"1959-10-22","stringDateTimeField":"1929-06-26T02:19:13Z","stringField":"Dwri","stringTimeField":"02:05:32.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":-995,"numField":115.27619165332914,"stringDateField":"1959-10-22","stringDateTimeField":"1929-06-26T02:19:13Z","stringField":"Dwri","stringTimeField":"02:05:32.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4129,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4129,"uuid":"9e0a8a0d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["sHcJeEzs"],"boolField":true,"intField":823,"numField":478.1869018205584,"objField":{"OcpWaqq":-979196849527207292,"UkUDPbUtne":6594417156788710825,"WZyicSfk":3944478516209625802,"eJGHtAi":-50246738870553294,"eLNoPMvOZ":7743021646525814635,"rtCncnwC":-5056182456661125480},"stringDateField":"2002-12-15","stringDateTimeField":"1979-10-28T12:15:40Z","stringField":"FmyRcKz","stringTimeField":"16:18:27.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763789Z","intField":823,"numField":478.1869018205584,"stringDateField":"2002-12-15","stringDateTimeField":"1979-10-28T12:15:40Z","stringField":"FmyRcKz","stringTimeField":"16:18:27.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4130,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4130,"uuid":"9e0a8a0e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["myAHGS","NWOikbmyOf","hcoNWRNwNO","XllDXyME","KGpZD","yjVV","JTaPPBrW","QIsc"],"boolField":false,"intField":389,"numField":-932.7334256700703,"objField":{"EUmSrPN":-8245824163182544047,"NlTa":-5457556399528601604,"VGKFlDGX":-2939908578328042741,"YnbE":1645875646539302420,"dqTwLZe":2933669756489054543,"hsTaBYQ":-7562426268100725543,"kKdRWE":-3435598869585148311,"lAuBA":7393223311595428337,"tkqJDCaj":-647767248679460666},"stringDateField":"2001-02-04","stringDateTimeField":"1921-04-08T19:00:59Z","stringField":"GcIYKatohq","stringTimeField":"21:25:42.41Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":389,"numField":-932.7334256700703,"stringDateField":"2001-02-04","stringDateTimeField":"1921-04-08T19:00:59Z","stringField":"GcIYKatohq","stringTimeField":"21:25:42.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4131,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4131,"uuid":"9e0a8a0e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["vOTcjxgmnq","eUniVomm","JXbOzL","ZnVdv","EhBMKmTE","TTvBR","NARz","xCVxWifcc"],"boolField":false,"intField":-333,"numField":342.30172846016507,"objField":{"JuYkcip":-6304010604924043287,"MfihMk":-6291652239072464769,"RLaeziWBkx":7728510707527015368,"ZtgrNtXHJN":-5641018596194929675,"nvoeEGq":-6819843260469354933,"rPjFBBsZx":-7194295577331633805},"stringDateField":"1962-07-09","stringDateTimeField":"1961-05-10T08:50:18Z","stringField":"zghXp","stringTimeField":"04:35:19.50Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":-333,"numField":342.30172846016507,"stringDateField":"1962-07-09","stringDateTimeField":"1961-05-10T08:50:18Z","stringField":"zghXp","stringTimeField":"04:35:19.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4132,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4132,"uuid":"9e0a8a0e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ZGZfw","ISpZ"],"boolField":false,"intField":-112,"numField":-730.4503160342482,"objField":{"PwrKPOLYV":2369332563840524525},"stringDateField":"1971-04-24","stringDateTimeField":"2014-04-15T17:09:52Z","stringField":"fdFGr","stringTimeField":"05:30:40.33Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":-112,"numField":-730.4503160342482,"stringDateField":"1971-04-24","stringDateTimeField":"2014-04-15T17:09:52Z","stringField":"fdFGr","stringTimeField":"05:30:40.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4133,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4133,"uuid":"9e0a8a0e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["FUEM","IsukCBIOQ","mQRY","VwYfy"],"boolField":true,"intField":416,"numField":-31.9264487426687,"objField":{"AlsxAm":-4631231590444132526,"LkJIRGX":8410970990199379407,"dVKELJvcx":-1063708163365698586,"mSAoDEyI":-1700720237388280914,"teEtIm":3161341489470950522,"xnFc":-8329535340119813497,"xpppJQ":-5431023145604448440,"yXGifM":5048935342865974815},"stringDateField":"1937-12-25","stringDateTimeField":"1987-12-07T11:58:04Z","stringField":"kFINJI","stringTimeField":"05:31:42.19Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":416,"numField":-31.9264487426687,"stringDateField":"1937-12-25","stringDateTimeField":"1987-12-07T11:58:04Z","stringField":"kFINJI","stringTimeField":"05:31:42.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4134,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4134,"uuid":"9e0a8a0e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["EzXsDsWSl","JhVjm","mBXmzaWR","jsRZM","oYapC","btFxkYfbMe","YPLXVEUOdN","IKunGOF","gfwqR","KtgZPu"],"boolField":true,"intField":814,"numField":333.3226875258657,"objField":{"BlmX":-4238372361710232017,"yMPGtaMBe":-1139251060960443023},"stringDateField":"2020-09-05","stringDateTimeField":"1962-08-10T09:37:01Z","stringField":"ZVMbdyXQtJ","stringTimeField":"02:33:09.28Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":814,"numField":333.3226875258657,"stringDateField":"2020-09-05","stringDateTimeField":"1962-08-10T09:37:01Z","stringField":"ZVMbdyXQtJ","stringTimeField":"02:33:09.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4135,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4135,"uuid":"9e0a8a0e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["dIrhda","UHvgj","UGExT","mJpY","kVzGbyKzQ","pCjK","DaGcTzY"],"boolField":true,"intField":933,"numField":780.0613223726523,"objField":{"JVnVF":5611088555256230311,"QNFdZoDOuu":-1837676703088306022,"UvVlewh":635853122825947152,"gdllmUe":-4245933823581599680},"stringDateField":"2010-08-31","stringDateTimeField":"1943-11-29T12:30:24Z","stringField":"YDYkSnJrdV","stringTimeField":"15:26:36.23Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":933,"numField":780.0613223726523,"stringDateField":"2010-08-31","stringDateTimeField":"1943-11-29T12:30:24Z","stringField":"YDYkSnJrdV","stringTimeField":"15:26:36.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4136,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4136,"uuid":"9e0a8a0e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["BmrCS","HHxuMaN"],"boolField":true,"intField":-322,"numField":898.3765268832276,"objField":{"RcMKVlsU":-2584958434242220667,"ZgMii":9053999729723403846,"gzEHrfPxN":-8511739657583580297,"nJThm":-8873054241422351592,"tHzMZW":-378554368147396007,"xBbSYycWo":-909970395040747452},"stringDateField":"2008-10-25","stringDateTimeField":"1913-10-30T16:20:18Z","stringField":"IwAjmLRsT","stringTimeField":"06:45:23.17Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":-322,"numField":898.3765268832276,"stringDateField":"2008-10-25","stringDateTimeField":"1913-10-30T16:20:18Z","stringField":"IwAjmLRsT","stringTimeField":"06:45:23.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4137,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4137,"uuid":"9e0a8a0e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["NnhywJHb","DkKPrPkoa","VvXTgACk","dbGSXC","Fwgo","vAgijLXfS","fBsk","LQdeZumgSQ","TRPJkK","bNdSaLbumZ"],"boolField":true,"intField":-393,"numField":-617.9582263999062,"objField":{"EOGnyx":-9074262362349383551,"EYCE":-8136448422799679969,"KOhWNSyNF":-3741993660017168883,"NlGQ":1025508669098514331,"SvuOFKr":2718203000340226345,"YyLaFi":-2435496820925556678,"ZiHhiVJZP":3848381726281528304,"kLcjIUPPRX":3869090640359402146,"kWaIgDHzNY":-6465866331466483562,"ludUOowE":1953008952245093731},"stringDateField":"1927-03-27","stringDateTimeField":"1955-02-20T00:53:26Z","stringField":"HzOadr","stringTimeField":"17:44:32.36Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":-393,"numField":-617.9582263999062,"stringDateField":"1927-03-27","stringDateTimeField":"1955-02-20T00:53:26Z","stringField":"HzOadr","stringTimeField":"17:44:32.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4138,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4138,"uuid":"9e0a8a0e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["EqUoLuvZ","ayJbWC","KrXIETnv","RBtqsNT"],"boolField":false,"intField":-12,"numField":-897.3208020370503,"objField":{"RYYsRVC":3916369170266596217,"ZSkfurlhV":3894584578010642939,"cNNb":-9109763059569117397,"quEPLuvDXr":31606239227539405,"tETSMYveA":-2773652178832001975},"stringDateField":"1961-10-12","stringDateTimeField":"2007-05-25T16:36:00Z","stringField":"IeIBKdt","stringTimeField":"10:04:46.28Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":-12,"numField":-897.3208020370503,"stringDateField":"1961-10-12","stringDateTimeField":"2007-05-25T16:36:00Z","stringField":"IeIBKdt","stringTimeField":"10:04:46.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4139,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4139,"uuid":"9e0a8a0e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ZXgG","eOFO","eyJmc","BgnWgTLC","kaGxNd","bjtIdgo","QTFilrQ"],"boolField":true,"intField":859,"numField":-964.1803726120548,"objField":{"GvYPcFn":-5728575088499979519,"ICmR":-3885358651381726733,"LIzUWF":-7077032464815393692,"RjQgjFKkF":9003634482778091202,"gSFRvojHCk":-4315656689493918903,"hjrMezxa":-2807301639834497077,"pGdA":-7046391596972890730,"wLqgypCbMJ":5519340056548698378},"stringDateField":"1922-03-26","stringDateTimeField":"1972-12-06T01:49:24Z","stringField":"vbteFv","stringTimeField":"19:39:52.34Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":859,"numField":-964.1803726120548,"stringDateField":"1922-03-26","stringDateTimeField":"1972-12-06T01:49:24Z","stringField":"vbteFv","stringTimeField":"19:39:52.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4140,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4140,"uuid":"9e0a8a0e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ufrCSOsyRT","XKSHNUOxrp"],"boolField":true,"intField":956,"numField":-409.16032223343166,"objField":{"JQweU":-172576564224468444,"ahPLFguZnT":-60060177044486873,"iJZvgMDur":8060443818635950113},"stringDateField":"1966-02-08","stringDateTimeField":"1971-04-26T13:32:40Z","stringField":"kGOaFxMOzC","stringTimeField":"14:45:30.10Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":956,"numField":-409.16032223343166,"stringDateField":"1966-02-08","stringDateTimeField":"1971-04-26T13:32:40Z","stringField":"kGOaFxMOzC","stringTimeField":"14:45:30.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4141,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4141,"uuid":"9e0a8a0e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["YOjeIzn","OYPVbWtt"],"boolField":false,"intField":-556,"numField":485.8061326902814,"objField":{"PyVKXKOHi":-7105022292622551388,"UgVVCcpTAS":1916259315961680208,"YfHkA":-3122091980142766008,"ZmxJgIHj":-1936479005610218115,"dTcZRJ":8708280546572723968,"gWOgnVgJk":-8198119783462774971,"iuTroad":7676534896853668804,"jXNeuNUss":-3953637060259765039,"qMPFCFhwrA":3928185566979854675,"vCeYZKHwJ":-167088264852316658},"stringDateField":"1985-04-30","stringDateTimeField":"1951-01-24T22:19:10Z","stringField":"UecalFzLKB","stringTimeField":"23:41:53.31Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":-556,"numField":485.8061326902814,"stringDateField":"1985-04-30","stringDateTimeField":"1951-01-24T22:19:10Z","stringField":"UecalFzLKB","stringTimeField":"23:41:53.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4142,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4142,"uuid":"9e0a8a0e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["DWVj","rKbQMn","JXpmFDWZW","EzUd","MYwTU"],"boolField":false,"intField":-626,"numField":-523.3631651655668,"objField":{"BipmSIC":993408557545747092,"FlETBR":-8799626469641860929,"TtbwnkdfL":4309731981751394544,"aPPEU":-512810676211861406,"niosdJlj":6203481119249032001,"pYYZJYvhs":7711070456637617602,"qXmLTsPEP":2592078089210561979,"rTiOLpw":-6689436596155305409},"stringDateField":"1916-11-24","stringDateTimeField":"1993-01-27T19:00:33Z","stringField":"rrfnEY","stringTimeField":"00:42:44.46Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":-626,"numField":-523.3631651655668,"stringDateField":"1916-11-24","stringDateTimeField":"1993-01-27T19:00:33Z","stringField":"rrfnEY","stringTimeField":"00:42:44.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4143,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4143,"uuid":"9e0a8a0e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["gTsRzWfHfW","tnVjGdT","wesWLs","RZmNjOl"],"boolField":true,"intField":671,"numField":-356.8800421130153,"objField":{"DgcZ":-8639563937897521448,"IeRSCJD":-2911852183170649629,"kplTrNnWl":-7751082485273249569},"stringDateField":"2013-05-31","stringDateTimeField":"1961-06-24T14:03:51Z","stringField":"ofOFcZnQF","stringTimeField":"09:04:45.35Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":671,"numField":-356.8800421130153,"stringDateField":"2013-05-31","stringDateTimeField":"1961-06-24T14:03:51Z","stringField":"ofOFcZnQF","stringTimeField":"09:04:45.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4144,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4144,"uuid":"9e0a8a0e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["DWTFjYERRT","DsccnP","mQraqRd","UhHvhizpV"],"boolField":false,"intField":-63,"numField":484.5803674698424,"objField":{"BnWrgnj":-1141484976172268289,"QcbjIFfJlg":-2961500103607181252,"ThiKvk":-5072191867140689039,"kdGsfZtr":-488308147711466655},"stringDateField":"1945-04-15","stringDateTimeField":"1997-09-15T11:52:21Z","stringField":"ncjoVAZmkB","stringTimeField":"15:39:01.10Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":-63,"numField":484.5803674698424,"stringDateField":"1945-04-15","stringDateTimeField":"1997-09-15T11:52:21Z","stringField":"ncjoVAZmkB","stringTimeField":"15:39:01.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4145,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4145,"uuid":"9e0a8a0e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["pZjdh","fwUQenM","cTHfhDg","FybF","dZEmnvzQwf","Tvba","czzkyyS","QYogv"],"boolField":true,"intField":-474,"numField":-809.10456436045,"objField":{"WLbpRDF":2461126362357755131,"uuSi":9162458065485831025,"vSsWvN":6935474871020375932,"wsUfibw":-2657550923747778510,"xzUHH":-1444085902978063597,"zOgHKB":-2669963965524750933},"stringDateField":"1983-05-13","stringDateTimeField":"1986-06-12T00:51:06Z","stringField":"xbronQMpH","stringTimeField":"08:41:31.23Z"},"flow_published_at":"2023-09-18T19:00:21.876379Z","intField":-474,"numField":-809.10456436045,"stringDateField":"1983-05-13","stringDateTimeField":"1986-06-12T00:51:06Z","stringField":"xbronQMpH","stringTimeField":"08:41:31.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4146,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4146,"uuid":"9e0a8a0f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["jpHwAI","yHRmu","bUjnaRWyR","oIAGroLCR","YHQhPLOCA","kksszqRJKq"],"boolField":true,"intField":583,"numField":881.5536530327656,"objField":{"WxzzdabIP":-4687610345893347768,"biXUprIGP":282638164395932168,"cYGOb":-6311461997389420652,"iujK":-8798313553975763410,"kjSuh":-8043577682397115380,"kktTKJOrx":5945010017282292369,"lHmKWy":-1415692535002561061,"nEjMLtA":-2842797063399762010,"owBtnENoYk":5170520543193976477},"stringDateField":"1949-03-06","stringDateTimeField":"1921-09-28T19:20:14Z","stringField":"HHYEQXQEh","stringTimeField":"00:37:32.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":583,"numField":881.5536530327656,"stringDateField":"1949-03-06","stringDateTimeField":"1921-09-28T19:20:14Z","stringField":"HHYEQXQEh","stringTimeField":"00:37:32.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4147,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4147,"uuid":"9e0a8a0f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["KnAbcH","rIcAR"],"boolField":true,"intField":755,"numField":-286.4168682082007,"objField":{"NzLtNNRWx":-5415275929301508178,"SkvEnHU":-9159888195417146389,"ZVYFxzJCl":-3565264188155484966,"aFtBW":962639660954306152,"eDuffcZBeJ":-497423413713047386,"hprj":-4549691621352334199,"iOmxUh":-4117429490683564871,"kzJMlVUmF":8838570845449661494,"nmUNP":-7172569409802077645},"stringDateField":"1910-06-20","stringDateTimeField":"1909-06-08T13:18:41Z","stringField":"dhniXnmcs","stringTimeField":"22:50:14.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":755,"numField":-286.4168682082007,"stringDateField":"1910-06-20","stringDateTimeField":"1909-06-08T13:18:41Z","stringField":"dhniXnmcs","stringTimeField":"22:50:14.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4148,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4148,"uuid":"9e0a8a0f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["jXayvH","xAOvxN","UKZpMW","vkrhfirCL","FPQLfY","IQLPYNw","GknRln","cTXFeLy","WgRLlrd","sYGcP"],"boolField":false,"intField":5,"numField":338.1576323005446,"objField":{"BCdSu":6273158141090093194,"BhclaJ":-7245300431060651533,"LzcXJil":-1333578783199149378,"WfqJOcQ":5608796076123125242,"fGJackmlC":-8074258874881088518,"mtlH":2641808418413604049,"oNkOA":-392950745043105681,"qyZRh":9109813218073701734,"wWZz":-2974069485414962015},"stringDateField":"2008-01-01","stringDateTimeField":"1923-07-25T17:11:03Z","stringField":"iOGKNaLOhX","stringTimeField":"04:57:22.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":5,"numField":338.1576323005446,"stringDateField":"2008-01-01","stringDateTimeField":"1923-07-25T17:11:03Z","stringField":"iOGKNaLOhX","stringTimeField":"04:57:22.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4149,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4149,"uuid":"9e0a8a0f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["Zhniq","LiyjGucep","tFJDDRR","AJGLduUz","KJJSnza","RFMmefWXi","ZLiqhUd","sYybebypid"],"boolField":true,"intField":-655,"numField":631.4272476273934,"objField":{"OwjhPTWthM":-2714506360421116393,"PWzLQ":-1424528774534386535,"fKkx":8315791143973436676,"jfyXh":2432654825348351424,"upbElgXG":5108770691066217824,"yUeP":-7340851491144502469},"stringDateField":"1966-07-27","stringDateTimeField":"1918-04-04T06:06:57Z","stringField":"MxhXt","stringTimeField":"14:17:38.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":-655,"numField":631.4272476273934,"stringDateField":"1966-07-27","stringDateTimeField":"1918-04-04T06:06:57Z","stringField":"MxhXt","stringTimeField":"14:17:38.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4150,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4150,"uuid":"9e0a8a0f-5655-11ee-9001-675ed0f8e89b"},"arrayField":["UKzfTELbZ","wESJQZ","VTACTjsId","eqlu"],"boolField":true,"intField":848,"numField":-466.1309966082748,"objField":{"GaliaoG":-2515138259311657825,"bcFRNmklX":-6016682628606304478,"bcXpZYbQ":-5115659250232419300,"cKohPUOMf":-2590883029922961951,"iVqrjh":7628442458066825916,"wsuUVvCJL":-1447859659499213790,"zxANfM":7611211607921062125},"stringDateField":"1972-08-08","stringDateTimeField":"1983-05-13T17:44:58Z","stringField":"lHyvm","stringTimeField":"08:03:01.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":848,"numField":-466.1309966082748,"stringDateField":"1972-08-08","stringDateTimeField":"1983-05-13T17:44:58Z","stringField":"lHyvm","stringTimeField":"08:03:01.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4151,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4151,"uuid":"9e0a8a0f-5655-11ee-9401-675ed0f8e89b"},"arrayField":["PYXHY","lmxmfLHAv","ELVZoY","ssOmdL","OVJfI","jBszV","eDzGDDfMMx","itKBt","UdlqUrjAdu"],"boolField":false,"intField":276,"numField":-543.4464733323123,"objField":{"XyGAlR":8412435361623139926,"gUOvEyc":5151152442382682679,"mzkYjXQ":-7453886676291240262,"uUPjStAF":-2275898365426806657},"stringDateField":"1990-10-02","stringDateTimeField":"1977-06-09T13:36:25Z","stringField":"Gqvdz","stringTimeField":"18:05:44.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":276,"numField":-543.4464733323123,"stringDateField":"1990-10-02","stringDateTimeField":"1977-06-09T13:36:25Z","stringField":"Gqvdz","stringTimeField":"18:05:44.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4152,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4152,"uuid":"9e0a8a0f-5655-11ee-9801-675ed0f8e89b"},"arrayField":["vJonyVhid","ZwANznch","RyStVmemt","IabOFhJ","anVKo","HLmd","jnxCfyK","uJQod","golNUKL"],"boolField":true,"intField":-921,"numField":-766.872027499186,"objField":{"DhcXMCWhB":1614957258608410846,"MZrtxlM":1350754022817219899,"TPIPJEJ":8610559467720226729,"ZgdKBmx":5890264386491282843,"bYsmbl":384233902193989003,"ukFTVjxau":-2122797654951659127,"yaFCHqJOs":543608741454326715},"stringDateField":"1941-12-14","stringDateTimeField":"1948-05-28T02:08:01Z","stringField":"wDoJGY","stringTimeField":"23:20:13.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":-921,"numField":-766.872027499186,"stringDateField":"1941-12-14","stringDateTimeField":"1948-05-28T02:08:01Z","stringField":"wDoJGY","stringTimeField":"23:20:13.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4153,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4153,"uuid":"9e0a8a0f-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["rOwMwg","LWjqMcETRD","FWrCWb","FNbEuLYT","uivB","aPrSRbhfUc","pJOGJ"],"boolField":true,"intField":-865,"numField":-114.72643471690158,"objField":{"AvjC":-1963542375390226170,"ChXNQbG":-6690067348419394122,"UnYIrrxrqR":8967355494081751776,"VGAW":8865824033765735849,"hlASbwuyAH":5644148251140449556,"oeESeowFjE":-4818310126346688018},"stringDateField":"2010-05-12","stringDateTimeField":"1961-05-05T11:42:02Z","stringField":"iYBNpUPID","stringTimeField":"05:12:32.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":-865,"numField":-114.72643471690158,"stringDateField":"2010-05-12","stringDateTimeField":"1961-05-05T11:42:02Z","stringField":"iYBNpUPID","stringTimeField":"05:12:32.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4154,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4154,"uuid":"9e0a8a0f-5655-11ee-a001-675ed0f8e89b"},"arrayField":["mEbOXzABqD","KhIR","uOgBP","EdLXYuNQD","GnGxVSkm","WqaSrP","KOZmEWWqnu","EWXoIT","rYnOxYuY"],"boolField":false,"intField":438,"numField":-966.3977611655426,"objField":{"Bets":-7950921336223139279,"bXtmYBZ":-1426726673672312004,"dmbg":-4634259356650474782,"eMVxHHn":6543667703139563018,"pOaLUPU":1440644947968943186,"qFPypgmQnY":7315049046211689106,"rFjFCw":8053573125074768228,"uLqVpsoJE":-683512016023690709},"stringDateField":"1907-10-20","stringDateTimeField":"1934-02-09T02:21:32Z","stringField":"TXPS","stringTimeField":"01:28:53.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":438,"numField":-966.3977611655426,"stringDateField":"1907-10-20","stringDateTimeField":"1934-02-09T02:21:32Z","stringField":"TXPS","stringTimeField":"01:28:53.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4155,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4155,"uuid":"9e0a8a0f-5655-11ee-a401-675ed0f8e89b"},"arrayField":["DRxWISlt","xRVQfn","hXrHe","wpLbaq","oZgoS","DQpR","xsUF","olCYg","CpIJGdkr","TFvGXJ"],"boolField":false,"intField":-383,"numField":381.5220076653259,"objField":{"PWIYhvkNN":176255528866498890,"VgEufl":8285150401360339083,"faxfL":4713976980616891382},"stringDateField":"2020-04-10","stringDateTimeField":"2017-12-13T03:14:39Z","stringField":"BZDqvCU","stringTimeField":"09:58:56.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":-383,"numField":381.5220076653259,"stringDateField":"2020-04-10","stringDateTimeField":"2017-12-13T03:14:39Z","stringField":"BZDqvCU","stringTimeField":"09:58:56.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4156,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4156,"uuid":"9e0a8a0f-5655-11ee-a801-675ed0f8e89b"},"arrayField":["FcYhqYimzj"],"boolField":true,"intField":-860,"numField":-181.36368609742337,"objField":{"AbwYE":3532529788537391180,"IMydqNYt":6301487584998096072,"Igog":1500905848849630962,"IrKIQG":-9053268916392349408,"OBiYmSPgP":1184382813812187423,"OfBrPuZGu":2840161633323067500,"PxoFoDjKSk":1016195964584467479,"cEEuiV":6833032123127644814,"kNEhxVVGU":6844886939923780060,"pCCDsL":3217682694586417424},"stringDateField":"1909-10-07","stringDateTimeField":"1962-12-07T13:53:03Z","stringField":"ndtIV","stringTimeField":"04:33:17.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":-860,"numField":-181.36368609742337,"stringDateField":"1909-10-07","stringDateTimeField":"1962-12-07T13:53:03Z","stringField":"ndtIV","stringTimeField":"04:33:17.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4157,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4157,"uuid":"9e0a8a0f-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["hcowDxacIi","utXh","TvEjX","VlCKASz","QeERs","XNEXO","DwTDTWataf","BVQsaKfVl","yzjP"],"boolField":false,"intField":-301,"numField":-313.6279733459093,"objField":{"iMUeu":3505553061474348092,"pstAjXbVVi":-913013894453611123,"xefng":-665182187308176227},"stringDateField":"2010-02-19","stringDateTimeField":"1964-07-03T18:32:27Z","stringField":"plfL","stringTimeField":"03:03:46.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":-301,"numField":-313.6279733459093,"stringDateField":"2010-02-19","stringDateTimeField":"1964-07-03T18:32:27Z","stringField":"plfL","stringTimeField":"03:03:46.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4158,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4158,"uuid":"9e0a8a0f-5655-11ee-b001-675ed0f8e89b"},"arrayField":["WNRURShMkV","BQdwpXU","mkmWNF","fgEvOm"],"boolField":true,"intField":566,"numField":-610.9305572535976,"objField":{"CDZOgJwn":2262055955781914152,"KhHhk":-3981072339788170439,"NEyACg":-1350907698045677502,"bInYqMA":331854377971821835,"eorKJRlPfq":-8310363455145445834,"hEjTbgBK":-3235511654360390974,"rfxDba":7904401295308689826,"ruSIW":3462515596334058082,"wyRPHDJz":-8574096878020216705},"stringDateField":"2020-12-06","stringDateTimeField":"1933-04-21T06:05:55Z","stringField":"awpOF","stringTimeField":"08:46:27.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":566,"numField":-610.9305572535976,"stringDateField":"2020-12-06","stringDateTimeField":"1933-04-21T06:05:55Z","stringField":"awpOF","stringTimeField":"08:46:27.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4159,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4159,"uuid":"9e0a8a0f-5655-11ee-b401-675ed0f8e89b"},"arrayField":["pGojMIpf","eKUeZO","EPGmpts","TlDim"],"boolField":false,"intField":830,"numField":-506.43028926327503,"objField":{"CAIkMkxO":-6421442074450785514,"OwEJmLIeb":5130113434984474213,"PIWLx":-8280624389034953357,"TOwVWcHdOp":-4626311938250713189,"ifiOQVHZ":875672295271758207,"lFqwRXWVh":2063219816527762225},"stringDateField":"1979-01-08","stringDateTimeField":"1929-04-04T20:35:59Z","stringField":"mfZCIRR","stringTimeField":"23:26:25.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":830,"numField":-506.43028926327503,"stringDateField":"1979-01-08","stringDateTimeField":"1929-04-04T20:35:59Z","stringField":"mfZCIRR","stringTimeField":"23:26:25.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4160,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4160,"uuid":"9e0a8a0f-5655-11ee-b801-675ed0f8e89b"},"arrayField":["NCZLulRkl","lCHGqEjC","IpXQgxbrTf","CLmV","aUapfrPXj","KxVh","GptrMY"],"boolField":false,"intField":-683,"numField":-691.4182477188624,"objField":{"HrBVhLInIN":-502884457216564291},"stringDateField":"1946-09-02","stringDateTimeField":"2000-07-21T06:43:40Z","stringField":"ZsDXUdd","stringTimeField":"19:14:10.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":-683,"numField":-691.4182477188624,"stringDateField":"1946-09-02","stringDateTimeField":"2000-07-21T06:43:40Z","stringField":"ZsDXUdd","stringTimeField":"19:14:10.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4161,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4161,"uuid":"9e0a8a0f-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["egHWZdIaPt","kUbEmfu","moTwAP","sveQUUlDP","wHMtrM","FWeQnRnKz","YzSxkijUzj","tfBqxRFmE","JFITpVadz"],"boolField":false,"intField":-162,"numField":-626.919322685459,"objField":{"GBSM":2107028877736008446,"Gdxhx":1413996296801366848,"OHTfkweixo":-6801453890405482337,"QaeGkiee":8333876344862716618,"RUQQdooFKc":3237651009792540445,"TzHPAPEj":8182553005524039657,"fsUwYaq":1154976698623005700,"jeOSsT":-7700511308858676282,"jlZMeVfFq":3204878542978567418,"zVDI":7309687188222827522},"stringDateField":"2011-12-13","stringDateTimeField":"1991-12-15T15:24:12Z","stringField":"gCPGHfx","stringTimeField":"17:44:37.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763791Z","intField":-162,"numField":-626.919322685459,"stringDateField":"2011-12-13","stringDateTimeField":"1991-12-15T15:24:12Z","stringField":"gCPGHfx","stringTimeField":"17:44:37.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4162,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4162,"uuid":"9e0a8a10-5655-11ee-8001-675ed0f8e89b"},"arrayField":["oxMl","bSBOZxAv","rBLoI","JZmwDB","MxDlg","IyEj","wBBSYOwra","oGRMfPBTU","BvTgxrUmyl","NnknDVQGsp"],"boolField":true,"intField":725,"numField":-6.4476114636675685,"objField":{"KzzcB":2255591564294068517,"OMdcJX":-5191482019154388608,"WuLw":8906646202058078394,"hliIVSoxiv":-6833230565146763701,"nJymZcsob":-560890058324227958},"stringDateField":"2000-04-08","stringDateTimeField":"2014-06-19T23:12:33Z","stringField":"UHrCuFpJ","stringTimeField":"11:49:30.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":725,"numField":-6.4476114636675685,"stringDateField":"2000-04-08","stringDateTimeField":"2014-06-19T23:12:33Z","stringField":"UHrCuFpJ","stringTimeField":"11:49:30.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4163,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4163,"uuid":"9e0a8a10-5655-11ee-8401-675ed0f8e89b"},"arrayField":["jfEZM","fHegiykaqV","xqbFWJdKfW","yAwQ","teQfW","PvDp","QbWOxsnNS","uAujsV","kfloVPZEnb","hSBwDUTolz"],"boolField":true,"intField":-814,"numField":465.1474601825021,"objField":{"AweuEjNOc":981460472638487930,"FOYsc":-6996284187883528751,"IBwnvwOuaP":1956040978984648973,"TVyhFSPaco":179770091667916553,"VTMbN":1106861640822474282,"jIQMJAo":7122886258231951250,"jcECDW":4775010437508304097,"rkLQKJj":-3337627785021550433,"tQUJepZL":-4577465510374052403},"stringDateField":"1929-07-12","stringDateTimeField":"1921-06-14T09:18:35Z","stringField":"wmWjkZ","stringTimeField":"06:25:41.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":-814,"numField":465.1474601825021,"stringDateField":"1929-07-12","stringDateTimeField":"1921-06-14T09:18:35Z","stringField":"wmWjkZ","stringTimeField":"06:25:41.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4164,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4164,"uuid":"9e0a8a10-5655-11ee-8801-675ed0f8e89b"},"arrayField":["MWPbYyS","ILckMb","WddxZ","RlJuFf","wfrcUQI","JCjZxnpVaE","MjRb","GLwQIIqVe","pMYsZxXr"],"boolField":true,"intField":738,"numField":-943.5904131014884,"objField":{"ipmlCoJdpf":-8608615942498867646,"qFZvXrNM":2197208222890680078,"uHyUnWZoV":-5702500960250557541,"wKAWTXjwn":6376509473748424192},"stringDateField":"1961-07-21","stringDateTimeField":"1906-06-28T09:31:47Z","stringField":"RhgI","stringTimeField":"13:14:49.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":738,"numField":-943.5904131014884,"stringDateField":"1961-07-21","stringDateTimeField":"1906-06-28T09:31:47Z","stringField":"RhgI","stringTimeField":"13:14:49.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4165,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4165,"uuid":"9e0a8a10-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["odharPtHm","UDlCUU","QTwip","NxOk","DTRHC","BbrbkGTcaV","eufbfLE","DeUe","LxdVQvM","ZOZyOWixUj"],"boolField":false,"intField":639,"numField":-333.5250983878392,"objField":{"lQyRqi":4004319570521502542},"stringDateField":"1982-12-06","stringDateTimeField":"1909-08-14T06:25:57Z","stringField":"jATC","stringTimeField":"11:20:02.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":639,"numField":-333.5250983878392,"stringDateField":"1982-12-06","stringDateTimeField":"1909-08-14T06:25:57Z","stringField":"jATC","stringTimeField":"11:20:02.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4166,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4166,"uuid":"9e0a8a10-5655-11ee-9001-675ed0f8e89b"},"arrayField":["gwyetKxGB","hebDYTk","MUyvCGEFi","bQpAjPtS"],"boolField":false,"intField":186,"numField":630.4542281593888,"objField":{"EQAUnN":7644837289392913207,"ORbW":3543461564260069028,"XfrlCo":7429294523772403354,"uYLmeQFuLk":-2687616318583279634,"wMRWJka":6526431989669655838},"stringDateField":"1982-07-08","stringDateTimeField":"2017-03-21T03:58:21Z","stringField":"AiswR","stringTimeField":"06:36:54.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":186,"numField":630.4542281593888,"stringDateField":"1982-07-08","stringDateTimeField":"2017-03-21T03:58:21Z","stringField":"AiswR","stringTimeField":"06:36:54.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4167,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4167,"uuid":"9e0a8a10-5655-11ee-9401-675ed0f8e89b"},"arrayField":["JGRyHItT","zNcKqU","DZRIMhcl","eRsr","pYCeZde","sOmQMUp"],"boolField":true,"intField":756,"numField":-968.4756596426693,"objField":{"Pxymy":-1185436383188261840,"TbEchu":2746760525764456552},"stringDateField":"1937-05-07","stringDateTimeField":"1945-03-10T02:10:35Z","stringField":"YqKCW","stringTimeField":"16:40:22.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":756,"numField":-968.4756596426693,"stringDateField":"1937-05-07","stringDateTimeField":"1945-03-10T02:10:35Z","stringField":"YqKCW","stringTimeField":"16:40:22.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4168,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4168,"uuid":"9e0a8a10-5655-11ee-9801-675ed0f8e89b"},"arrayField":["vFdwy","PbRD","wSPpK","hFxeJ","YaixXO","WWkKJ","eJOOCh","lXuOBabp","orOmlFHedC"],"boolField":true,"intField":964,"numField":74.83367756066328,"objField":{"ochF":1319576891273505353},"stringDateField":"1945-02-14","stringDateTimeField":"1996-01-17T14:01:52Z","stringField":"BToDMFxFE","stringTimeField":"18:22:25.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":964,"numField":74.83367756066328,"stringDateField":"1945-02-14","stringDateTimeField":"1996-01-17T14:01:52Z","stringField":"BToDMFxFE","stringTimeField":"18:22:25.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4169,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4169,"uuid":"9e0a8a10-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["MTqke","NomVRG","frxbjPsSC","DukXuXcCE","FGBD","jSfdbLmM","QhzJBXebN","ZObMcl"],"boolField":true,"intField":-231,"numField":108.09648744195032,"objField":{"Jdnqbb":-4394652802358971010,"OxgwOxcx":5540960508154521823,"qCOkF":724489470864157824,"uVzGWpEEs":-1666401211000280604},"stringDateField":"1972-05-21","stringDateTimeField":"1928-12-25T05:59:29Z","stringField":"yHnjYjFZBu","stringTimeField":"11:51:39.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":-231,"numField":108.09648744195032,"stringDateField":"1972-05-21","stringDateTimeField":"1928-12-25T05:59:29Z","stringField":"yHnjYjFZBu","stringTimeField":"11:51:39.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4170,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4170,"uuid":"9e0a8a10-5655-11ee-a001-675ed0f8e89b"},"arrayField":["vJsI","vcHyTTCygn","VAPWvBfu","DoLpPmuqmn","mxYUJ"],"boolField":true,"intField":-126,"numField":-118.33781949783383,"objField":{"rsoKBcmfn":7506097893671292639,"tJyxDeeL":5502333574186492257},"stringDateField":"1949-07-02","stringDateTimeField":"1998-04-25T10:06:00Z","stringField":"ozzOdh","stringTimeField":"12:45:10.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":-126,"numField":-118.33781949783383,"stringDateField":"1949-07-02","stringDateTimeField":"1998-04-25T10:06:00Z","stringField":"ozzOdh","stringTimeField":"12:45:10.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4171,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4171,"uuid":"9e0a8a10-5655-11ee-a401-675ed0f8e89b"},"arrayField":["FzVpgNI","Sxeu","iIQjIuFd","hPIeUjue"],"boolField":false,"intField":-510,"numField":-867.4412925546571,"objField":{"SJYZn":6897292291888249189,"WwXFUPsf":-334480834293925659,"ZaMBKFXs":-7281566130270315086,"bKNAXVtJt":-2908274458869263143,"mmbpljWrnq":-5527182195984863069,"qUKYcyxeJI":4041646495011849442,"vmepzmjGFT":8607113361504041743},"stringDateField":"1948-06-02","stringDateTimeField":"1960-01-29T06:34:39Z","stringField":"NQMJOCKQ","stringTimeField":"12:45:33.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":-510,"numField":-867.4412925546571,"stringDateField":"1948-06-02","stringDateTimeField":"1960-01-29T06:34:39Z","stringField":"NQMJOCKQ","stringTimeField":"12:45:33.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4172,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4172,"uuid":"9e0a8a10-5655-11ee-a801-675ed0f8e89b"},"arrayField":["EuulTgGrP","kOOE","FjYpJzWoNq","KuEToKQnmv"],"boolField":true,"intField":496,"numField":-10.536267969205705,"objField":{"MBNqjvg":-2733599574257051790,"PhdDHZQ":9177088883937334741},"stringDateField":"1957-04-14","stringDateTimeField":"1971-07-20T23:49:33Z","stringField":"mdlMdI","stringTimeField":"09:37:02.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":496,"numField":-10.536267969205705,"stringDateField":"1957-04-14","stringDateTimeField":"1971-07-20T23:49:33Z","stringField":"mdlMdI","stringTimeField":"09:37:02.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4173,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4173,"uuid":"9e0a8a10-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["vHDeq"],"boolField":false,"intField":-977,"numField":-898.9904852788358,"objField":{"BUOBV":5520658230906363209,"ETBvtmG":-2353639226634950971,"PkhwXEza":-3990337343109313608,"YapSGg":1233905511430441193,"ejBqFD":6517270067680301032,"yUgfZpfb":-4206255766646512032},"stringDateField":"2000-08-24","stringDateTimeField":"1988-05-20T16:23:42Z","stringField":"OSxj","stringTimeField":"22:28:52.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":-977,"numField":-898.9904852788358,"stringDateField":"2000-08-24","stringDateTimeField":"1988-05-20T16:23:42Z","stringField":"OSxj","stringTimeField":"22:28:52.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4174,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4174,"uuid":"9e0a8a10-5655-11ee-b001-675ed0f8e89b"},"arrayField":["qsFMD","zNwh","DurFoD","kOssARQdzg","hunDuAloER","oqpgRgTsu"],"boolField":true,"intField":629,"numField":502.62470314638375,"objField":{"FqiZMtcU":7207390093662671486,"HwQPKg":-7733948524042314183,"QKElTd":-6688806234875832380,"VmbNaYttnP":-5449167004870155092,"fVUmYzBan":1082222008872068911,"kWPAPCu":-118346570916889475,"uaQCS":-3864164861963742995,"wTlgV":8104017280256256612,"zsufoj":2933251463077196175},"stringDateField":"1931-12-17","stringDateTimeField":"2009-04-27T08:59:12Z","stringField":"Cgrq","stringTimeField":"20:03:15.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":629,"numField":502.62470314638375,"stringDateField":"1931-12-17","stringDateTimeField":"2009-04-27T08:59:12Z","stringField":"Cgrq","stringTimeField":"20:03:15.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4175,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4175,"uuid":"9e0a8a10-5655-11ee-b401-675ed0f8e89b"},"arrayField":["udGAO","YYCAB"],"boolField":true,"intField":602,"numField":-711.9177947370188,"objField":{"EvrVE":-6003871927901775467,"FYRFO":-6543521657878235000,"InjcGBaw":8787160140004655530,"OjlPl":7511208909852202773,"UVHkAWicN":-4269207031059908999,"XLwGrtuZLH":91905719823138754,"xRvuzB":1089665485421789543},"stringDateField":"1954-01-08","stringDateTimeField":"2016-12-25T09:12:30Z","stringField":"JQJP","stringTimeField":"01:23:24.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":602,"numField":-711.9177947370188,"stringDateField":"1954-01-08","stringDateTimeField":"2016-12-25T09:12:30Z","stringField":"JQJP","stringTimeField":"01:23:24.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4176,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4176,"uuid":"9e0a8a10-5655-11ee-b801-675ed0f8e89b"},"arrayField":["gHFO","KcFIqVLMVb","ukbe","AbNlYisWv","vZjSsPw","waTCjWL","VOzh","wNfEAhqo","gKWGF","bvmK"],"boolField":false,"intField":-586,"numField":484.7895582690242,"objField":{"LBIK":7526828990988407743,"MBlzV":-3804600005578082061,"QSYUtbE":-6078080730828490367,"QVXR":3503135283843157128,"ZFtkPJOP":4048749093635717460,"dDkaF":6570502093027421210,"sInIcYW":7907849052859895016},"stringDateField":"2006-04-21","stringDateTimeField":"1992-07-06T05:57:17Z","stringField":"hIAeLV","stringTimeField":"16:21:50.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":-586,"numField":484.7895582690242,"stringDateField":"2006-04-21","stringDateTimeField":"1992-07-06T05:57:17Z","stringField":"hIAeLV","stringTimeField":"16:21:50.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4177,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4177,"uuid":"9e0a8a10-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["JEtost","nCusk","rNnJcZSXaL"],"boolField":false,"intField":-862,"numField":-624.4411513917061,"objField":{"AczvtlHwJ":-2361255023645170443,"EKorJkWJF":7976320921363190502,"GvqamTaT":-5829729943504797268,"JCus":1257374975020310733,"JLqEAcg":-6694487834785847077,"LDtVAiVeXd":2564546509034070644,"grAvDi":-6353217000932462167,"ifINu":7542047915497119765,"rdbyS":4116508663481666733},"stringDateField":"1919-08-06","stringDateTimeField":"1936-12-19T03:48:03Z","stringField":"OQpFsMiB","stringTimeField":"08:53:24.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763792Z","intField":-862,"numField":-624.4411513917061,"stringDateField":"1919-08-06","stringDateTimeField":"1936-12-19T03:48:03Z","stringField":"OQpFsMiB","stringTimeField":"08:53:24.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4178,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4178,"uuid":"9e0a8a11-5655-11ee-8001-675ed0f8e89b"},"arrayField":["tgAlrPScvP","UaqGSlKe","nFrzhL","QObC","VdCH","PfKCNG","oZmZmnUbj"],"boolField":false,"intField":-604,"numField":958.7382954222354,"objField":{"WIFc":2018954234896121149,"oGaZ":-6652634386283421569},"stringDateField":"2017-11-03","stringDateTimeField":"1986-08-21T17:49:43Z","stringField":"IzEqTlr","stringTimeField":"12:16:38.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":-604,"numField":958.7382954222354,"stringDateField":"2017-11-03","stringDateTimeField":"1986-08-21T17:49:43Z","stringField":"IzEqTlr","stringTimeField":"12:16:38.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4179,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4179,"uuid":"9e0a8a11-5655-11ee-8401-675ed0f8e89b"},"arrayField":["DVLAdlHTH","BUyxTpD","lHhXf","RJhpOnVZQb","GzyEY","wlwMShyax","Nwvkdc","OcnJ","uEjtFjkSs","JHpp"],"boolField":false,"intField":-738,"numField":994.5340198603604,"objField":{"FVgo":-2607971801142276482,"HUifJIkbm":-6161687172081301738,"RDXU":2248609458989075194,"ZORmBckOkN":-3724794466055851200,"gZIfOghjJ":8323428327124034453,"kpcbcptYyx":-9092903637081348679,"otXY":6061089066403569027},"stringDateField":"1935-03-11","stringDateTimeField":"1985-04-01T18:23:09Z","stringField":"xcoKEsopr","stringTimeField":"13:31:41.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":-738,"numField":994.5340198603604,"stringDateField":"1935-03-11","stringDateTimeField":"1985-04-01T18:23:09Z","stringField":"xcoKEsopr","stringTimeField":"13:31:41.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4180,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4180,"uuid":"9e0a8a11-5655-11ee-8801-675ed0f8e89b"},"arrayField":["McIHCOX","MxUyWU","vWPnRCB","GGttAghH","hZmSeVoFYz","gUGAzLL","sWSCtboci","ReQtzP","kFQDEuOHh","hDpdUXAoZ"],"boolField":false,"intField":-701,"numField":-829.6207344153189,"objField":{"CqxRCl":-1223049558821420127,"JlXnDqBff":-5886195396587624688,"MFkBqsro":7906889585975421636,"TjDzx":-7511671607645958549,"WPUblKBK":6258438614082186852,"ZlVQdFOPw":4455534651537154790,"gSmoDg":2221731829338826372,"jdYwfm":2498960567500605069,"knvQRQs":2501815393945392693,"neytIkBqFA":-6228955239109841740},"stringDateField":"1990-12-08","stringDateTimeField":"1923-05-22T19:33:36Z","stringField":"dGhBw","stringTimeField":"22:32:05.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":-701,"numField":-829.6207344153189,"stringDateField":"1990-12-08","stringDateTimeField":"1923-05-22T19:33:36Z","stringField":"dGhBw","stringTimeField":"22:32:05.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4181,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4181,"uuid":"9e0a8a11-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["yPzCFU","aHTT","Nzaik","GEgR"],"boolField":false,"intField":507,"numField":966.023428866897,"objField":{"MNAFyeUcS":3394659513430875670,"WMbl":7757720112695041355,"cOgt":8324680170985593664,"iKTau":-740407535176017212,"lsoFkh":4736233732557991258,"qtICI":8694823699860354051},"stringDateField":"1997-03-11","stringDateTimeField":"2000-12-25T11:42:35Z","stringField":"iQeJhQZzD","stringTimeField":"14:09:25.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":507,"numField":966.023428866897,"stringDateField":"1997-03-11","stringDateTimeField":"2000-12-25T11:42:35Z","stringField":"iQeJhQZzD","stringTimeField":"14:09:25.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4182,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4182,"uuid":"9e0a8a11-5655-11ee-9001-675ed0f8e89b"},"arrayField":["HuUUMuO","cmeomGABDX","pSaMQsqaB","TorjThdM","DdpHUPK"],"boolField":false,"intField":646,"numField":252.95635303017065,"objField":{"BKcCaMfbQC":-8541902840261974925,"FzfpayXuqQ":7464347774513590818,"KbqtZ":6277444839283316557,"OFxrcPXGPk":-7716929295765511487,"SxmggvFOQ":-4332957323759119670,"WaVhSdY":118673840328241780,"eCnjnj":5229054585654068005,"gKHU":1816802810470683590,"vHSJlpX":5997686248940059532,"wpmdL":-2547427238713974668},"stringDateField":"2014-12-01","stringDateTimeField":"1945-06-18T13:46:51Z","stringField":"rFQpGjOCW","stringTimeField":"16:32:07.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":646,"numField":252.95635303017065,"stringDateField":"2014-12-01","stringDateTimeField":"1945-06-18T13:46:51Z","stringField":"rFQpGjOCW","stringTimeField":"16:32:07.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4183,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4183,"uuid":"9e0a8a11-5655-11ee-9401-675ed0f8e89b"},"arrayField":["welBBv","HfyIXuviLQ","BVyUqPFVu"],"boolField":false,"intField":-740,"numField":-688.1949449930123,"objField":{"GDxz":1622858329837789459,"GJKjQmUhP":-2576308191453094070,"GTnjiL":-94120509363927724,"SiNlo":1102558479229439877,"aEBpIiiLbw":-5539650955066944461,"luKHhxoivV":5405174646223236740,"qdODxPH":1681845754961969030,"tUVeVLxO":-3743803679504522990,"wkjJPAkXhQ":7477854695820708508,"xhHMTz":-4096285891808023827},"stringDateField":"1982-05-11","stringDateTimeField":"1932-02-13T23:00:41Z","stringField":"ANSGhRSn","stringTimeField":"11:51:26.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":-740,"numField":-688.1949449930123,"stringDateField":"1982-05-11","stringDateTimeField":"1932-02-13T23:00:41Z","stringField":"ANSGhRSn","stringTimeField":"11:51:26.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4184,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4184,"uuid":"9e0a8a11-5655-11ee-9801-675ed0f8e89b"},"arrayField":["DtImA","sTSbnswZkh","byqDzSpt","bMGlp","tZdYxWdaK","JXqVU","rDVTFQVP"],"boolField":false,"intField":814,"numField":567.9474159614011,"objField":{"puASeulL":-7013542861280969840},"stringDateField":"2016-10-05","stringDateTimeField":"2016-03-06T06:57:26Z","stringField":"nTxxoMTgAJ","stringTimeField":"05:04:11.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":814,"numField":567.9474159614011,"stringDateField":"2016-10-05","stringDateTimeField":"2016-03-06T06:57:26Z","stringField":"nTxxoMTgAJ","stringTimeField":"05:04:11.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4185,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4185,"uuid":"9e0a8a11-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["agXIYOCYGH","MuqAqUpEHW","chvg","glIqvL","BpuwfLmQxQ","MmYqv","WALnFUZtes","idkc","uMsqbJMi","iQPPauRG"],"boolField":false,"intField":164,"numField":802.4276912985138,"objField":{"AEZTleX":-2718327077739800795,"CKSWzoC":6434237523481719067,"CTKYOBAtNf":8121492160505704962,"LSVnaursos":2195449417522616695,"NkzAxf":7049153174284151753,"PTtesXRSf":8090499685751897609,"QngHl":2342536764492643119,"dUKnpxuq":878185821640606711,"hPlidZC":5665265419413217690,"sXCCSB":-7579590832636467684},"stringDateField":"1940-03-06","stringDateTimeField":"1948-04-08T12:29:43Z","stringField":"BTaVl","stringTimeField":"23:28:20.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":164,"numField":802.4276912985138,"stringDateField":"1940-03-06","stringDateTimeField":"1948-04-08T12:29:43Z","stringField":"BTaVl","stringTimeField":"23:28:20.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4186,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4186,"uuid":"9e0a8a11-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ydtwxF","LbWGQIZ"],"boolField":true,"intField":712,"numField":182.75224570756583,"objField":{"DKCFkF":-8405768263643923109,"QNlVezwTW":-1564741380167173374,"RruFaGh":-1565764626791753594,"VgUqFQ":-7493406280663627072,"dicu":-2096373696002826640,"oaZXaHm":2837152620444491340,"ttlGIgd":-7772668034301439730},"stringDateField":"1941-09-06","stringDateTimeField":"1925-11-02T10:58:27Z","stringField":"MKLINjtTlN","stringTimeField":"03:08:10.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":712,"numField":182.75224570756583,"stringDateField":"1941-09-06","stringDateTimeField":"1925-11-02T10:58:27Z","stringField":"MKLINjtTlN","stringTimeField":"03:08:10.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4187,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4187,"uuid":"9e0a8a11-5655-11ee-a401-675ed0f8e89b"},"arrayField":["rQOgZBApq"],"boolField":true,"intField":356,"numField":238.1686321155818,"objField":{"HUEXHPs":5787440870998681857,"LspS":-5788702428710641962,"NhXyAJH":-62390075125815987,"VjGGHSX":9041950234118805149,"aznIhaKdh":-6008812005106664798,"gcPdKSd":8462240501563933200,"hVwwy":1237320198776972084,"jYkogUld":-2471914197139846455},"stringDateField":"2001-04-17","stringDateTimeField":"1937-12-16T16:17:44Z","stringField":"GNoTTw","stringTimeField":"15:20:02.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":356,"numField":238.1686321155818,"stringDateField":"2001-04-17","stringDateTimeField":"1937-12-16T16:17:44Z","stringField":"GNoTTw","stringTimeField":"15:20:02.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4188,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4188,"uuid":"9e0a8a11-5655-11ee-a801-675ed0f8e89b"},"arrayField":["YZJMJxsC","thlPl"],"boolField":false,"intField":557,"numField":-122.33005336449077,"objField":{"Fupj":-6749030608398125138,"JZMcqya":4770404075124045649},"stringDateField":"1964-01-03","stringDateTimeField":"1921-11-26T15:48:45Z","stringField":"XchYn","stringTimeField":"13:42:29.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":557,"numField":-122.33005336449077,"stringDateField":"1964-01-03","stringDateTimeField":"1921-11-26T15:48:45Z","stringField":"XchYn","stringTimeField":"13:42:29.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4189,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4189,"uuid":"9e0a8a11-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["NMEQ","XtJQJhj","giPdIBNJqn","QQrXANLCjX","NujOZJcVxN","RsrG","sueTPl","xpSw"],"boolField":false,"intField":356,"numField":-724.2848175568553,"objField":{"WsML":6950382596209067563,"XCbK":-6889530771573577451,"ZwjDmOs":7104108950248228101,"crCIJh":-503885789697740618,"fjOThEuyg":-2261773311179070581,"kfaer":-4789949095335707417,"mzuYCdoiz":9014890759831596092,"nkHuAX":-3663650707028995687,"zasBAfn":-687200672392172177,"zygckm":-1821986995615076458},"stringDateField":"1918-02-28","stringDateTimeField":"1982-05-13T03:07:31Z","stringField":"DqEVPeaPmz","stringTimeField":"01:15:11.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":356,"numField":-724.2848175568553,"stringDateField":"1918-02-28","stringDateTimeField":"1982-05-13T03:07:31Z","stringField":"DqEVPeaPmz","stringTimeField":"01:15:11.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4190,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4190,"uuid":"9e0a8a11-5655-11ee-b001-675ed0f8e89b"},"arrayField":["JfcNFDOs","NQQOGZQmTK","EQFmob","lpBFEWmO","IdyGQF"],"boolField":false,"intField":190,"numField":587.6470090075223,"objField":{"ErXN":-91801173047278624,"SeFPAehYa":9099545126598141497,"VTGIXj":-2828651319194571312,"ZZuOcTbCN":5226053160873946540,"aAwhK":-5436827618281304920,"almo":4097746569232208571,"sovH":8022107070453025413,"xdBiui":-7098329963124726207},"stringDateField":"1906-04-25","stringDateTimeField":"1904-06-24T15:08:13Z","stringField":"PgSfmXN","stringTimeField":"03:22:58.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":190,"numField":587.6470090075223,"stringDateField":"1906-04-25","stringDateTimeField":"1904-06-24T15:08:13Z","stringField":"PgSfmXN","stringTimeField":"03:22:58.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4191,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4191,"uuid":"9e0a8a11-5655-11ee-b401-675ed0f8e89b"},"arrayField":["CILGoOf","KqMq","zKTZqwtNND"],"boolField":false,"intField":-806,"numField":-757.6707962195529,"objField":{"ApkuZI":7172769740410790034,"PbohKXz":4835636402370070262,"ZVsYVWj":6283892091243243582,"dpGJ":8375380821535926924,"mAmFwcV":5735743222466199731,"pXLd":2867635749744145809,"paItqbUK":-245177111980715708},"stringDateField":"1993-07-20","stringDateTimeField":"2018-06-16T19:49:11Z","stringField":"ImwwJ","stringTimeField":"17:44:22.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":-806,"numField":-757.6707962195529,"stringDateField":"1993-07-20","stringDateTimeField":"2018-06-16T19:49:11Z","stringField":"ImwwJ","stringTimeField":"17:44:22.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4192,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4192,"uuid":"9e0a8a11-5655-11ee-b801-675ed0f8e89b"},"arrayField":["dDwZFLVK","ECtSs","nMIYlv","wxfzn","leuwLO","ZpUx","dllDVIh"],"boolField":true,"intField":-380,"numField":310.6114562009559,"objField":{"IvtMWbrWNt":7656751984291578587,"ONpdNv":-699180831454393777,"ZvyM":9149654427241558187,"iRXnqSNi":2235875965430431255,"jyjCw":1679130042670323928,"lhFhbLj":2954675695584580315,"njPGmlpp":-2564407078483652850,"oeXH":-9096644549618611164,"owNvFLsf":2848325866473122880,"pZYaOx":-6789921951457291252},"stringDateField":"2017-06-27","stringDateTimeField":"2014-01-25T15:09:10Z","stringField":"zAtXt","stringTimeField":"19:11:59.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":-380,"numField":310.6114562009559,"stringDateField":"2017-06-27","stringDateTimeField":"2014-01-25T15:09:10Z","stringField":"zAtXt","stringTimeField":"19:11:59.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4193,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4193,"uuid":"9e0a8a11-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ZfeIyM","YGxtbOo","ZgAaSLob","SWPusszn","YXMzQUWkS"],"boolField":true,"intField":-211,"numField":406.46769769533495,"objField":{"AIjbo":-4322215986373743003,"PCragj":311600802351792370,"uzInUIz":-2853436473396143669},"stringDateField":"1958-03-30","stringDateTimeField":"2014-07-08T13:02:40Z","stringField":"ARoKGMCX","stringTimeField":"00:31:38.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763793Z","intField":-211,"numField":406.46769769533495,"stringDateField":"1958-03-30","stringDateTimeField":"2014-07-08T13:02:40Z","stringField":"ARoKGMCX","stringTimeField":"00:31:38.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4194,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4194,"uuid":"9e0a8a12-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ptdjhkmEc","SBCUPzBo","jPIF"],"boolField":true,"intField":-66,"numField":-265.1717870417012,"objField":{"HiLCAQAeWp":2255922569651410970,"ICGRTmHec":7332750332840113932,"MyrCQXw":5221753901502151183,"TVJP":-8782268725858999662,"UTAqHHG":-5645402184169088422,"thLtSZeznq":-8458933144807447238,"vsAYYUjx":-7817245147935579944},"stringDateField":"1975-03-02","stringDateTimeField":"2023-08-27T03:51:16Z","stringField":"lEnbTRXofT","stringTimeField":"13:28:12.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":-66,"numField":-265.1717870417012,"stringDateField":"1975-03-02","stringDateTimeField":"2023-08-27T03:51:16Z","stringField":"lEnbTRXofT","stringTimeField":"13:28:12.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4195,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4195,"uuid":"9e0a8a12-5655-11ee-8401-675ed0f8e89b"},"arrayField":["lmwqnsaC","GAaNxbip","wAsdKLY","ryBSDhWyro","rQTSE","PgyE","QEVXPff","TYfQo","BGQJON"],"boolField":false,"intField":-93,"numField":-765.2363245418992,"objField":{"JzPn":6931950728614306224,"KfSbdzofh":4164443667942980395,"MokQ":-5806199678529487357,"pCtQmi":8021203093710179492},"stringDateField":"1938-08-09","stringDateTimeField":"1971-01-30T11:56:49Z","stringField":"SpmZmLL","stringTimeField":"16:57:35.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":-93,"numField":-765.2363245418992,"stringDateField":"1938-08-09","stringDateTimeField":"1971-01-30T11:56:49Z","stringField":"SpmZmLL","stringTimeField":"16:57:35.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4196,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4196,"uuid":"9e0a8a12-5655-11ee-8801-675ed0f8e89b"},"arrayField":["dWjGW","ItaAfr","qVTIbN","bNxjjFHT","lIsLMu","ywyCKUNJLC"],"boolField":true,"intField":-124,"numField":937.837831263668,"objField":{"Emyz":7653712147935908152,"GYJDNJTd":6774622902770955277,"Yzrqzmdi":-1400909019781963365,"Zbky":6628924132064787493,"ekrEIe":-2541541194072550151,"nxQTwZJMnb":8745911194625079247,"vWpFGe":103108161796597040},"stringDateField":"2010-09-03","stringDateTimeField":"1995-04-26T21:03:44Z","stringField":"ctbvr","stringTimeField":"20:07:33.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":-124,"numField":937.837831263668,"stringDateField":"2010-09-03","stringDateTimeField":"1995-04-26T21:03:44Z","stringField":"ctbvr","stringTimeField":"20:07:33.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4197,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4197,"uuid":"9e0a8a12-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["LKcI","dtrGGwIXx"],"boolField":true,"intField":-553,"numField":607.4395054400934,"objField":{"GEtRZ":-7930106406132935685,"GypKK":864993045641848271,"QGum":5556954130265528620,"RLTsrtwPsh":-91723216526004244,"cYAgSdR":5629906261121490080,"hOcKPMan":99570776120312203},"stringDateField":"1917-05-01","stringDateTimeField":"1964-01-11T13:52:12Z","stringField":"xgOVJi","stringTimeField":"04:27:27.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":-553,"numField":607.4395054400934,"stringDateField":"1917-05-01","stringDateTimeField":"1964-01-11T13:52:12Z","stringField":"xgOVJi","stringTimeField":"04:27:27.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4198,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4198,"uuid":"9e0a8a12-5655-11ee-9001-675ed0f8e89b"},"arrayField":["iKnmNao","dZgOLr","FzwGDoPu","sanU","SUcszx","bjCRYfAll","yXklzel","FHbaxHHN","HHMLjluAV"],"boolField":true,"intField":-287,"numField":-797.3779950401914,"objField":{"GlPvAPa":825790168668215614,"MDvEYGw":8207699569742721249,"RWJewXvWLC":-3224647377287849326,"Wuhhli":-3862768286790621548,"YTDNm":3522518370719389325,"ZXnaZOtf":-8608811614694293528,"bpOzPnDu":286978049817632009,"bygzhVITh":3822873876182476174},"stringDateField":"1943-05-08","stringDateTimeField":"1995-09-25T03:21:19Z","stringField":"XJvMab","stringTimeField":"23:40:27.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":-287,"numField":-797.3779950401914,"stringDateField":"1943-05-08","stringDateTimeField":"1995-09-25T03:21:19Z","stringField":"XJvMab","stringTimeField":"23:40:27.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4199,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4199,"uuid":"9e0a8a12-5655-11ee-9401-675ed0f8e89b"},"arrayField":["AmPCIQX","iDtupMNHX","LKxrsYsrvt","AJsxS","UaSTUvVLf","Bdqn","NbVKvXY"],"boolField":false,"intField":455,"numField":-102.49546785263608,"objField":{"DBcz":-3898184753909345748,"HOPjAsZCy":-561107894457223815},"stringDateField":"2023-01-15","stringDateTimeField":"1934-09-08T10:25:31Z","stringField":"kHpjH","stringTimeField":"05:43:47.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":455,"numField":-102.49546785263608,"stringDateField":"2023-01-15","stringDateTimeField":"1934-09-08T10:25:31Z","stringField":"kHpjH","stringTimeField":"05:43:47.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4200,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4200,"uuid":"9e0a8a12-5655-11ee-9801-675ed0f8e89b"},"arrayField":["HbMnRYS","AbNRR","qhEIG"],"boolField":false,"intField":163,"numField":920.9786508312768,"objField":{"CEboPwBu":-6171212660108854949,"TxmmXh":-5260439725455266756,"fTJozMdSi":-802589304209800845,"rAWgn":-6639890870135916965},"stringDateField":"1944-09-18","stringDateTimeField":"1977-04-21T07:51:35Z","stringField":"UZmhoPgk","stringTimeField":"19:08:19.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":163,"numField":920.9786508312768,"stringDateField":"1944-09-18","stringDateTimeField":"1977-04-21T07:51:35Z","stringField":"UZmhoPgk","stringTimeField":"19:08:19.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4201,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4201,"uuid":"9e0a8a12-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["BecE","TWUSOKwExH","vDrAqD","faOpkzifSS","tJkTqxi","SMOFfvB","NZZfkVu","FibIaZN"],"boolField":false,"intField":559,"numField":-115.73348450031172,"objField":{"EfgDCYpAd":1211510768980085356,"JHeWem":1625474297702677892,"QlDGofj":7074473326166160536,"UwCby":-7426858233888343811,"kNAnupCOS":3612224182713173113,"uZngfqHhNz":-8935891276591482819},"stringDateField":"1944-11-24","stringDateTimeField":"1960-07-28T23:09:11Z","stringField":"BoscTDPYYO","stringTimeField":"23:36:58.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":559,"numField":-115.73348450031172,"stringDateField":"1944-11-24","stringDateTimeField":"1960-07-28T23:09:11Z","stringField":"BoscTDPYYO","stringTimeField":"23:36:58.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4202,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4202,"uuid":"9e0a8a12-5655-11ee-a001-675ed0f8e89b"},"arrayField":["NDgUk","venNtI","eabPW","CWAlERd","oAgigIYL","JDUpiKZUbk","RYMEl","mhLA","Vyzolrro","TxKdKDBmT"],"boolField":false,"intField":824,"numField":-510.8984644285817,"objField":{"FqnV":-447196161262176015,"RZpLCs":-995339900027701758,"tCcK":3795386754290239007},"stringDateField":"1952-06-11","stringDateTimeField":"1923-09-12T20:27:33Z","stringField":"POfuQaVi","stringTimeField":"03:47:08.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":824,"numField":-510.8984644285817,"stringDateField":"1952-06-11","stringDateTimeField":"1923-09-12T20:27:33Z","stringField":"POfuQaVi","stringTimeField":"03:47:08.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4203,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4203,"uuid":"9e0a8a12-5655-11ee-a401-675ed0f8e89b"},"arrayField":["SAtKygLCD","UoUL","abvHNt","TZosZAywPZ","NGwzeOx","zrPu","GDPpPlL"],"boolField":true,"intField":-542,"numField":-968.3919540514336,"objField":{"BSppVQ":-3475710882281110361,"CVRWntzJ":8224302856539217385,"IkOjvrTydt":2261617381045581224,"QjIyLXwR":2859705619122026289,"VZAuyhnqv":-7178624858226158793,"VpxqE":-6150932403341719524,"eqSpul":-2616759320304230269,"kOKXhqX":-6360194374248880081,"rwpiju":-647719559099879182,"uRUu":7429339286340516052},"stringDateField":"1921-12-31","stringDateTimeField":"1950-12-21T07:30:19Z","stringField":"YmBG","stringTimeField":"10:09:27.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":-542,"numField":-968.3919540514336,"stringDateField":"1921-12-31","stringDateTimeField":"1950-12-21T07:30:19Z","stringField":"YmBG","stringTimeField":"10:09:27.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4204,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4204,"uuid":"9e0a8a12-5655-11ee-a801-675ed0f8e89b"},"arrayField":["kRTSkeMs","iJKcGGW","OTDeeNbG","RywJiAOGlX"],"boolField":true,"intField":-596,"numField":536.8279614583471,"objField":{"liZVKCYDmG":2818600827087401650},"stringDateField":"1917-05-13","stringDateTimeField":"1960-10-11T06:51:19Z","stringField":"gogg","stringTimeField":"10:59:18.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":-596,"numField":536.8279614583471,"stringDateField":"1917-05-13","stringDateTimeField":"1960-10-11T06:51:19Z","stringField":"gogg","stringTimeField":"10:59:18.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4205,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4205,"uuid":"9e0a8a12-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["fhotdL","JuhqSOwtz","OTqZbq","PoqEMd","Suaiosd"],"boolField":true,"intField":971,"numField":998.8780770761938,"objField":{"HcUjZk":5032086176721188020,"WhSBBOGoe":8402427578270085101,"XQUCHKiW":4900542888181061531,"dogXQQZnMS":1076991439178032567,"lKmSKIsHN":-3973244272727047647,"ljbxl":-3604531521142676443,"uBXvJNmw":2291135992814271619},"stringDateField":"2016-02-01","stringDateTimeField":"1967-02-15T13:11:55Z","stringField":"sWebx","stringTimeField":"14:05:43.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":971,"numField":998.8780770761938,"stringDateField":"2016-02-01","stringDateTimeField":"1967-02-15T13:11:55Z","stringField":"sWebx","stringTimeField":"14:05:43.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4206,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4206,"uuid":"9e0a8a12-5655-11ee-b001-675ed0f8e89b"},"arrayField":["WccpY","fDeblW","mkMAl","OCguxTg","KegPDfNptt"],"boolField":false,"intField":192,"numField":-64.20596874892736,"objField":{"VIjtamanDv":4318338183849923345,"xDSzcNZaKV":-2073990523256597132},"stringDateField":"2018-12-05","stringDateTimeField":"1931-12-07T23:36:13Z","stringField":"qAgoU","stringTimeField":"00:48:02.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":192,"numField":-64.20596874892736,"stringDateField":"2018-12-05","stringDateTimeField":"1931-12-07T23:36:13Z","stringField":"qAgoU","stringTimeField":"00:48:02.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4207,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4207,"uuid":"9e0a8a12-5655-11ee-b401-675ed0f8e89b"},"arrayField":["MlaXVnBJws","gdMbAwt","orkah","wDaBZHVOr","oNXxL","doTGksIzA","XzeT","TJNs","jMvGDyn","ZeZqxK"],"boolField":true,"intField":-574,"numField":-157.15786162493163,"objField":{"cDiq":6186270697571487792},"stringDateField":"1914-07-05","stringDateTimeField":"1975-07-23T21:18:30Z","stringField":"ztiyHGkzDk","stringTimeField":"04:24:45.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":-574,"numField":-157.15786162493163,"stringDateField":"1914-07-05","stringDateTimeField":"1975-07-23T21:18:30Z","stringField":"ztiyHGkzDk","stringTimeField":"04:24:45.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4208,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4208,"uuid":"9e0a8a12-5655-11ee-b801-675ed0f8e89b"},"arrayField":["zEhHlp"],"boolField":true,"intField":365,"numField":299.3646928854712,"objField":{"BCNsxZPCU":1461404807231938175,"jFSjXpmWD":-4411069941139691444,"yQkePpAz":-294943670881030304},"stringDateField":"1914-05-11","stringDateTimeField":"1927-11-30T23:35:57Z","stringField":"vLqS","stringTimeField":"07:57:41.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":365,"numField":299.3646928854712,"stringDateField":"1914-05-11","stringDateTimeField":"1927-11-30T23:35:57Z","stringField":"vLqS","stringTimeField":"07:57:41.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4209,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4209,"uuid":"9e0a8a12-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["OtEMm","gQHdSVysjm","NogHCECo","EAMcw","pwDXwRAgiM"],"boolField":false,"intField":921,"numField":-272.5284460100917,"objField":{"BKYXJ":5394367586028123050,"DrzOEti":-2769269251898304557,"FmLTuQcl":-5488786669093804662,"GKKb":-2395860024378429275,"aEFtm":5971918493470248316,"eEyR":7102066368602865136,"ucUtyIs":3273468817970659916},"stringDateField":"1932-05-28","stringDateTimeField":"2020-07-29T01:48:43Z","stringField":"umuzptoqu","stringTimeField":"09:38:42.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763794Z","intField":921,"numField":-272.5284460100917,"stringDateField":"1932-05-28","stringDateTimeField":"2020-07-29T01:48:43Z","stringField":"umuzptoqu","stringTimeField":"09:38:42.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4210,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4210,"uuid":"9e0a8a13-5655-11ee-8001-675ed0f8e89b"},"arrayField":["tiDMtjU","ZBduwKrhpa","thlOZrCzBn","jJnESrzRb","kufk","KFguQdO","oOvuAzgkw","RoWx","sRsMLNlrvD","omaeGwWW"],"boolField":false,"intField":-549,"numField":-871.1291154068002,"objField":{"AhJCgYGVhd":-8949337527907045652,"CMqVNel":3566890680739153536,"FDQKZv":7898937353753488902,"KfjJfC":-8644223689321047985,"ONIVG":-2343521484683224803,"SuLUhK":-2527129246720862560,"YvrsbPzQD":452000435135019693,"eeVROnWkOb":-5720739648631732476,"qKIsMp":-3492837154497306774},"stringDateField":"1917-10-07","stringDateTimeField":"1950-10-12T14:04:56Z","stringField":"yTMycsi","stringTimeField":"14:01:35.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":-549,"numField":-871.1291154068002,"stringDateField":"1917-10-07","stringDateTimeField":"1950-10-12T14:04:56Z","stringField":"yTMycsi","stringTimeField":"14:01:35.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4211,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4211,"uuid":"9e0a8a13-5655-11ee-8401-675ed0f8e89b"},"arrayField":["zTlSzo","xrwebl","sasEzZf","uzNqiW","brNzd"],"boolField":false,"intField":-286,"numField":155.54213492136927,"objField":{"FJxQPtVh":-6365671573443969579,"LQnb":-8602395207971555350,"OfziPsEH":-1548931296336936219,"QifhpKPFLR":-655876255637696710,"RtsGsWqnpu":819938974889809418,"UvFgTNXm":2429348444418741777,"gAiFx":-8192007468738132723,"jaMJkO":7465488538646922773,"nCVq":5750212602128078847},"stringDateField":"2007-05-05","stringDateTimeField":"2004-12-23T19:38:26Z","stringField":"vsVFvflA","stringTimeField":"12:45:43.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":-286,"numField":155.54213492136927,"stringDateField":"2007-05-05","stringDateTimeField":"2004-12-23T19:38:26Z","stringField":"vsVFvflA","stringTimeField":"12:45:43.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4212,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4212,"uuid":"9e0a8a13-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ZWujQlP","peByJEwBQl","rVcJhiaZ","uxvGy"],"boolField":false,"intField":971,"numField":53.87549464896723,"objField":{"DJdjKX":-1806360414295002752,"LzOu":1142403723663205162,"tlVvHh":261983303226578524},"stringDateField":"2002-10-16","stringDateTimeField":"1903-08-05T22:18:07Z","stringField":"IrRr","stringTimeField":"13:49:28.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":971,"numField":53.87549464896723,"stringDateField":"2002-10-16","stringDateTimeField":"1903-08-05T22:18:07Z","stringField":"IrRr","stringTimeField":"13:49:28.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4213,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4213,"uuid":"9e0a8a13-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["FHFmciFG","tvEhtazGCh","LUXRiRo","viVN","EFHKkV","dPRGrlN","NtLCrInS","FOMhIQA"],"boolField":false,"intField":-434,"numField":103.02726184587718,"objField":{"NUkAc":2509898818053472814},"stringDateField":"1918-09-29","stringDateTimeField":"1985-09-28T06:03:35Z","stringField":"jyMjGcHSzw","stringTimeField":"02:13:13.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":-434,"numField":103.02726184587718,"stringDateField":"1918-09-29","stringDateTimeField":"1985-09-28T06:03:35Z","stringField":"jyMjGcHSzw","stringTimeField":"02:13:13.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4214,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4214,"uuid":"9e0a8a13-5655-11ee-9001-675ed0f8e89b"},"arrayField":["QhInRX","rQHHIk","QOwERNIZkq","QeBtFXouZl","oROYw","dfWCrsYkC","KaWXmrcipG"],"boolField":true,"intField":175,"numField":-991.6077060034964,"objField":{"HWMIJCNhk":-8342753970131301231,"KYPBVDc":1711825051221049478,"WhFTHFXE":-246204722598548405,"mPDoEH":1554911275097511914},"stringDateField":"2020-09-16","stringDateTimeField":"1978-10-02T22:14:49Z","stringField":"FvbQKnZem","stringTimeField":"17:52:33.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":175,"numField":-991.6077060034964,"stringDateField":"2020-09-16","stringDateTimeField":"1978-10-02T22:14:49Z","stringField":"FvbQKnZem","stringTimeField":"17:52:33.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4215,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4215,"uuid":"9e0a8a13-5655-11ee-9401-675ed0f8e89b"},"arrayField":["kXHkptPWhM","CPsbFN","yOktgHJcGc","jgTDz","zLRqlbi","XhRIJzVycc","hKPlSLJx","ZbPkmV","klLmiTEX"],"boolField":false,"intField":-415,"numField":-921.6335093820658,"objField":{"WzoQ":3587083617366708238},"stringDateField":"2000-05-21","stringDateTimeField":"1937-07-08T07:45:23Z","stringField":"TjdPacint","stringTimeField":"11:34:24.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":-415,"numField":-921.6335093820658,"stringDateField":"2000-05-21","stringDateTimeField":"1937-07-08T07:45:23Z","stringField":"TjdPacint","stringTimeField":"11:34:24.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4216,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4216,"uuid":"9e0a8a13-5655-11ee-9801-675ed0f8e89b"},"arrayField":["bcDcwBvodA","hMXYVDzBF","OyikJBVT","hbVUiajtc"],"boolField":true,"intField":-26,"numField":-123.69848061221876,"objField":{"CSTwDz":-6684093848176253252,"Dmwdr":-8925999573524281500,"LEYs":2564710938733072105,"SpGBnhiQR":2114869624882223617,"cqEHmPcbrC":6290224918770501073,"mAfuBAKcQ":-4126520879341757763,"miOPW":-2125262851249170799,"pRFg":7098143865006290123},"stringDateField":"1996-04-24","stringDateTimeField":"1991-12-15T18:33:45Z","stringField":"FJzlUbp","stringTimeField":"23:02:15.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":-26,"numField":-123.69848061221876,"stringDateField":"1996-04-24","stringDateTimeField":"1991-12-15T18:33:45Z","stringField":"FJzlUbp","stringTimeField":"23:02:15.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4217,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4217,"uuid":"9e0a8a13-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["YJFoXtA","yPxlArQtm","WtyyLzv","UeaWzbMqI","XoejbLtw","bfxL","IHawMNe","MsDroCqki","kbleNx"],"boolField":false,"intField":-908,"numField":938.7308695010694,"objField":{"IVESJEO":6139328307971078004,"NAQyO":161788945772945785,"NyLq":1134182060097135000,"SxIMRU":-4227865899594622254,"SxXd":3242218603684077928,"ahIXj":2019302652361258192,"sUSG":-6735130716047607567,"tDmWkh":-7477374882198434855},"stringDateField":"2023-08-11","stringDateTimeField":"1953-11-28T13:29:40Z","stringField":"TeKkGpE","stringTimeField":"23:39:36.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":-908,"numField":938.7308695010694,"stringDateField":"2023-08-11","stringDateTimeField":"1953-11-28T13:29:40Z","stringField":"TeKkGpE","stringTimeField":"23:39:36.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4218,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4218,"uuid":"9e0a8a13-5655-11ee-a001-675ed0f8e89b"},"arrayField":["vDurov","ybXtx","aLqqrv","CxRnu","vnnU","siLMbrh","PhWnZCXN"],"boolField":false,"intField":253,"numField":246.68650922060897,"objField":{"CTWUJejHAi":7407553862955655991,"TfginssejH":-6936910858765733479,"ePcaUwXqn":1698750169821356626,"ehYnVN":-425999550987496800,"iZSC":-4717371648990945841,"lVUrMj":4653020009841403210,"mtMHtOvbG":-4690800194329799018,"rHRgIsdw":-2181345172611020375},"stringDateField":"1932-07-09","stringDateTimeField":"1986-12-25T15:24:30Z","stringField":"KiVKSXWw","stringTimeField":"02:02:23.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":253,"numField":246.68650922060897,"stringDateField":"1932-07-09","stringDateTimeField":"1986-12-25T15:24:30Z","stringField":"KiVKSXWw","stringTimeField":"02:02:23.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4219,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4219,"uuid":"9e0a8a13-5655-11ee-a401-675ed0f8e89b"},"arrayField":["kNPh","vEDFuFc"],"boolField":true,"intField":-590,"numField":-255.24480581321973,"objField":{"BEYcQUZ":-112108391755961888,"HcQdgqkE":2392362543311748622},"stringDateField":"1943-06-13","stringDateTimeField":"1927-08-28T15:34:54Z","stringField":"fIFLjRUGqq","stringTimeField":"02:04:56.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":-590,"numField":-255.24480581321973,"stringDateField":"1943-06-13","stringDateTimeField":"1927-08-28T15:34:54Z","stringField":"fIFLjRUGqq","stringTimeField":"02:04:56.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4220,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4220,"uuid":"9e0a8a13-5655-11ee-a801-675ed0f8e89b"},"arrayField":["QfAbrlDrfO","kWiaNJsl","fYTWF","QnWVSrDSc","Ekmcnv","NinrfWOCp","DBDoIzcW","aPhLEBTAQc","RdpkBQ"],"boolField":true,"intField":-379,"numField":814.0978980112214,"objField":{"WNHjlmFlA":-9110382197024174720,"XnEPTTmsp":4017118981113267381,"yljetnsbRq":-6913702843187084797},"stringDateField":"1986-03-01","stringDateTimeField":"1987-09-21T23:37:55Z","stringField":"SxMozBlnC","stringTimeField":"08:14:40.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":-379,"numField":814.0978980112214,"stringDateField":"1986-03-01","stringDateTimeField":"1987-09-21T23:37:55Z","stringField":"SxMozBlnC","stringTimeField":"08:14:40.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4221,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4221,"uuid":"9e0a8a13-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["lFjmi","wSgz","FhMFM","mCPCNIftK"],"boolField":false,"intField":-992,"numField":801.3790999010779,"objField":{"BLgn":-329959289435610524,"sATQTrbQfC":-418610137553262370,"tkEKKiaOFt":-8523028518768175062},"stringDateField":"1984-07-10","stringDateTimeField":"2002-08-12T22:20:05Z","stringField":"WuwfDHZ","stringTimeField":"16:44:07.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":-992,"numField":801.3790999010779,"stringDateField":"1984-07-10","stringDateTimeField":"2002-08-12T22:20:05Z","stringField":"WuwfDHZ","stringTimeField":"16:44:07.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4222,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4222,"uuid":"9e0a8a13-5655-11ee-b001-675ed0f8e89b"},"arrayField":["vLXynxzcOM","VVLWZAP","hpFTjVSDyP"],"boolField":false,"intField":326,"numField":-468.39608213445774,"objField":{"DJrhXhP":3091004263676701931,"Srvb":2095520562512336578},"stringDateField":"1971-08-07","stringDateTimeField":"1972-11-04T11:31:14Z","stringField":"mTQUPV","stringTimeField":"06:26:11.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":326,"numField":-468.39608213445774,"stringDateField":"1971-08-07","stringDateTimeField":"1972-11-04T11:31:14Z","stringField":"mTQUPV","stringTimeField":"06:26:11.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4223,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4223,"uuid":"9e0a8a13-5655-11ee-b401-675ed0f8e89b"},"arrayField":["xWwTs"],"boolField":true,"intField":731,"numField":-736.6163070684411,"objField":{"YeHEoxEp":1468919280838763432,"nyYakmYBNY":6531191256222825279},"stringDateField":"1974-03-02","stringDateTimeField":"1983-04-18T08:54:21Z","stringField":"iNlAWIxDxn","stringTimeField":"23:42:50.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":731,"numField":-736.6163070684411,"stringDateField":"1974-03-02","stringDateTimeField":"1983-04-18T08:54:21Z","stringField":"iNlAWIxDxn","stringTimeField":"23:42:50.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4224,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4224,"uuid":"9e0a8a13-5655-11ee-b801-675ed0f8e89b"},"arrayField":["oFFHi","HlfARv","SWxxcFn","xWtq","BosPXexIp"],"boolField":false,"intField":-458,"numField":221.8384661377266,"objField":{"QFvuf":4820734189828066966,"XMLebDO":2369756225197809327,"dUZTfU":3620520647720673993,"eFbJRYnr":5064869996073604202,"kOLGM":4127252460344163451,"ncpXceME":-3312454866296099430,"oISNUOQH":-2512511590627723568,"vSYTBQsk":9005499612390622708,"zsrfXZme":598039695175199273},"stringDateField":"1965-08-18","stringDateTimeField":"1993-11-21T21:17:04Z","stringField":"pMVP","stringTimeField":"22:56:15.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":-458,"numField":221.8384661377266,"stringDateField":"1965-08-18","stringDateTimeField":"1993-11-21T21:17:04Z","stringField":"pMVP","stringTimeField":"22:56:15.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4225,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4225,"uuid":"9e0a8a13-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["GDYbbBkZ","BlEr","mnkFSob","REpQWJDe","sFnUMpej","qJOtxiEjP","WRkRb"],"boolField":false,"intField":-338,"numField":-698.3725467625841,"objField":{"ARnMs":-864085489230049928,"eQEqlLn":5598792951966836546,"rsiZ":-1969225116917620435},"stringDateField":"1924-04-21","stringDateTimeField":"1971-12-03T11:27:42Z","stringField":"qgqjYSHJPv","stringTimeField":"20:05:10.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763795Z","intField":-338,"numField":-698.3725467625841,"stringDateField":"1924-04-21","stringDateTimeField":"1971-12-03T11:27:42Z","stringField":"qgqjYSHJPv","stringTimeField":"20:05:10.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4226,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4226,"uuid":"9e0a8a14-5655-11ee-8001-675ed0f8e89b"},"arrayField":["qHCMez","MbrYHD","IndodNbY","VHFM","KJRYDb","POGIwmXYr","oMcDVo","iDvklP"],"boolField":true,"intField":861,"numField":-335.0083131661471,"objField":{"MxDJmDdJUg":2677174473924315314,"RsTYru":7869891949936934524,"YuapuZ":107835368986925247,"yMXlzJ":6218167445803606612},"stringDateField":"1933-07-26","stringDateTimeField":"1974-11-21T14:35:54Z","stringField":"pBNROnIs","stringTimeField":"05:45:29.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":861,"numField":-335.0083131661471,"stringDateField":"1933-07-26","stringDateTimeField":"1974-11-21T14:35:54Z","stringField":"pBNROnIs","stringTimeField":"05:45:29.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4227,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4227,"uuid":"9e0a8a14-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UPhghI","nFUVDK","XtOfDIWlxr","FtYe","cbnwpP"],"boolField":true,"intField":-446,"numField":350.10817004989804,"objField":{"DLPG":6554834030046181094,"KcjKbNkVhT":-670690505800698044,"fdNWCnroj":4844080362955102611,"gQyBvwmsw":1342745728582315657,"wUUibFVN":832336260749989729,"yMWsjBrfj":-6798563949332939466},"stringDateField":"1957-05-19","stringDateTimeField":"1934-07-16T03:11:00Z","stringField":"wvYv","stringTimeField":"09:15:40.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":-446,"numField":350.10817004989804,"stringDateField":"1957-05-19","stringDateTimeField":"1934-07-16T03:11:00Z","stringField":"wvYv","stringTimeField":"09:15:40.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4228,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4228,"uuid":"9e0a8a14-5655-11ee-8801-675ed0f8e89b"},"arrayField":["zCZpMwkBY","UPgdxAa","pfvvOA","eASyAXD","GneRMNk","WcyQmIwjvY","TwFaKH","yFFDKWd"],"boolField":false,"intField":180,"numField":-77.27254014604634,"objField":{"JjNrxLc":7288915425439143967,"TkltwzSCE":-6654105996646965258,"dczoTDXag":-4217444806730206198,"jKtBJulHiO":4379368254216166841,"jhlQPWJ":8986484652208569908,"wqkrdNVL":7997809645865140852,"xAYjq":-9035918166551177556},"stringDateField":"1978-11-09","stringDateTimeField":"1996-09-15T14:30:02Z","stringField":"PfrpeltLxS","stringTimeField":"08:50:09.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":180,"numField":-77.27254014604634,"stringDateField":"1978-11-09","stringDateTimeField":"1996-09-15T14:30:02Z","stringField":"PfrpeltLxS","stringTimeField":"08:50:09.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4229,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4229,"uuid":"9e0a8a14-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["qsnQlab","KEky","QqmrOjr","ApsE","XWiyiXkG","SyAzYVP","gaqscxqv","wtcsHBttU"],"boolField":true,"intField":-742,"numField":287.13100869342867,"objField":{"AnzQYue":525199256789149458,"DGMMg":-5251058211920877147,"MLcZwvqxN":-7541532322633843338,"OaUU":-864335175823434268,"PAEY":-1819741059639613252,"WqlDjH":687325691023940870,"axUYX":3565617270666784222,"yefBp":-2726124201554959227},"stringDateField":"2007-05-27","stringDateTimeField":"2023-12-06T13:47:25Z","stringField":"qmVJKPrt","stringTimeField":"07:46:20.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":-742,"numField":287.13100869342867,"stringDateField":"2007-05-27","stringDateTimeField":"2023-12-06T13:47:25Z","stringField":"qmVJKPrt","stringTimeField":"07:46:20.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4230,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4230,"uuid":"9e0a8a14-5655-11ee-9001-675ed0f8e89b"},"arrayField":["OmUtTgINSX","GZvQoaNi","nuIWQxEvBq","mtDYYDi","tKTV"],"boolField":true,"intField":515,"numField":996.0785335861708,"objField":{"UIxybqvti":-3076007061526250566,"qyKhbp":-8965409231749612551},"stringDateField":"1981-10-07","stringDateTimeField":"2019-12-05T20:12:40Z","stringField":"xiszTcSLe","stringTimeField":"19:04:25.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":515,"numField":996.0785335861708,"stringDateField":"1981-10-07","stringDateTimeField":"2019-12-05T20:12:40Z","stringField":"xiszTcSLe","stringTimeField":"19:04:25.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4231,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4231,"uuid":"9e0a8a14-5655-11ee-9401-675ed0f8e89b"},"arrayField":["kSAXyEzqZ","cwgm","LWbygPDGAs","WXpQEtqPJ","ROTSKf","agwYtrO"],"boolField":false,"intField":-667,"numField":-819.0927037937439,"objField":{"BwLPToUMkn":-2701862229887861087,"sEUU":2996171665488402340},"stringDateField":"1934-12-27","stringDateTimeField":"1988-08-30T19:47:26Z","stringField":"Tgvbx","stringTimeField":"05:08:30.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":-667,"numField":-819.0927037937439,"stringDateField":"1934-12-27","stringDateTimeField":"1988-08-30T19:47:26Z","stringField":"Tgvbx","stringTimeField":"05:08:30.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4232,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4232,"uuid":"9e0a8a14-5655-11ee-9801-675ed0f8e89b"},"arrayField":["AmeI","moCAXih","IpNKO","JTKrPikrXC"],"boolField":false,"intField":-768,"numField":411.4961231781584,"objField":{"GXMrz":-5595993092746481994,"NiempRSuXU":8149058349576013451,"dxQVAhuqOF":-2714491491008181804,"nIMhTaTQ":-6049699254683831549,"sgoga":7012183823437498778,"tOZw":-3438579387611704798,"uMCPwD":-206070950350137475},"stringDateField":"2007-07-26","stringDateTimeField":"1919-04-23T06:02:49Z","stringField":"MBLFjCD","stringTimeField":"14:33:15.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":-768,"numField":411.4961231781584,"stringDateField":"2007-07-26","stringDateTimeField":"1919-04-23T06:02:49Z","stringField":"MBLFjCD","stringTimeField":"14:33:15.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4233,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4233,"uuid":"9e0a8a14-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["OXGub","KjcVmHfTAe","ZsrLr","tgpMpxDR","yeJXl","OKDnMWpAXN","MymqsVpx"],"boolField":true,"intField":-188,"numField":528.030153621113,"objField":{"IksqIIuRv":6847400809350735618,"LvAv":951967774972226169,"xJECAPHMo":4211080397116920860,"yFezY":-4763173807720194692},"stringDateField":"2001-09-15","stringDateTimeField":"1922-07-24T08:52:12Z","stringField":"coEl","stringTimeField":"06:41:52.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":-188,"numField":528.030153621113,"stringDateField":"2001-09-15","stringDateTimeField":"1922-07-24T08:52:12Z","stringField":"coEl","stringTimeField":"06:41:52.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4234,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4234,"uuid":"9e0a8a14-5655-11ee-a001-675ed0f8e89b"},"arrayField":["pLBXvK","NEkOn","pOGrOy","cQLHqk","cSBOn","dQQKh","ckfrpkTiw","nXrKqFj","RjJjldz","HJuCzDq"],"boolField":false,"intField":-415,"numField":11.584629262455293,"objField":{"QiwVWxRpsF":7371556518708409211,"VcozxX":-560571973915328154,"aCBMadZ":-3814065850192655775,"aGtRMzRDn":-3290867527370220393,"hHAdnDum":-8612819539389645428,"huMeMmGl":2986451141139248259,"iKxpds":2928149111493720711,"idvaYURyga":-4495112664503421339},"stringDateField":"2018-08-09","stringDateTimeField":"2000-01-28T04:13:22Z","stringField":"WHIoxbIC","stringTimeField":"23:20:07.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":-415,"numField":11.584629262455293,"stringDateField":"2018-08-09","stringDateTimeField":"2000-01-28T04:13:22Z","stringField":"WHIoxbIC","stringTimeField":"23:20:07.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4235,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4235,"uuid":"9e0a8a14-5655-11ee-a401-675ed0f8e89b"},"arrayField":["WFRJWAoe","Pjymz","mRlgKQqv","eWXebTKXw","vtexZIWzKL","MPrQOVv","NbfEWWdZv","hcBe"],"boolField":false,"intField":-555,"numField":805.0888927433562,"objField":{"GkXILyEt":1843654623994648088,"TRXa":-3022605413925733843,"Wssojz":-2014263511543132854,"hwcSSIEp":-2377532035067531377,"keSNcMKR":9089467230334375933,"lsRp":-5722200279601500078,"yTEUTrd":4294814198451450399},"stringDateField":"1920-03-15","stringDateTimeField":"1972-05-04T23:34:52Z","stringField":"sxOyf","stringTimeField":"06:55:17.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":-555,"numField":805.0888927433562,"stringDateField":"1920-03-15","stringDateTimeField":"1972-05-04T23:34:52Z","stringField":"sxOyf","stringTimeField":"06:55:17.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4236,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4236,"uuid":"9e0a8a14-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ntgWoPV","xpvMGiEPj","qwQnlYpR"],"boolField":false,"intField":-214,"numField":30.111506535196895,"objField":{"adboW":-1020930148520056336,"eJVwZTP":-4282850326863593057,"iCkQ":-4666057576858795467,"mUnKbAL":-812707143101316680,"zLlEZFFa":-8756946197193043584},"stringDateField":"2006-05-23","stringDateTimeField":"1954-12-14T23:09:10Z","stringField":"RYClZfqd","stringTimeField":"15:02:41.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":-214,"numField":30.111506535196895,"stringDateField":"2006-05-23","stringDateTimeField":"1954-12-14T23:09:10Z","stringField":"RYClZfqd","stringTimeField":"15:02:41.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4237,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4237,"uuid":"9e0a8a14-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["jJJX","HLaCkds","fXDYFiekUo","LKYJSMU","gbNgWUdPb","VOToKG","XxqabolG","DpELgY","UIvQSMm","NpYDuPal"],"boolField":false,"intField":-419,"numField":41.46997060303015,"objField":{"jPhp":-5947335724955869273},"stringDateField":"2005-09-28","stringDateTimeField":"1942-10-07T14:17:14Z","stringField":"QFZO","stringTimeField":"14:18:55.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":-419,"numField":41.46997060303015,"stringDateField":"2005-09-28","stringDateTimeField":"1942-10-07T14:17:14Z","stringField":"QFZO","stringTimeField":"14:18:55.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4238,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4238,"uuid":"9e0a8a14-5655-11ee-b001-675ed0f8e89b"},"arrayField":["CUwQDceo"],"boolField":true,"intField":934,"numField":265.3483768663423,"objField":{"AfMC":8869627053743684208,"blaHpi":-2272386988351113405},"stringDateField":"2023-11-21","stringDateTimeField":"1916-02-10T06:44:37Z","stringField":"xkXSMBg","stringTimeField":"14:14:19.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":934,"numField":265.3483768663423,"stringDateField":"2023-11-21","stringDateTimeField":"1916-02-10T06:44:37Z","stringField":"xkXSMBg","stringTimeField":"14:14:19.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4239,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4239,"uuid":"9e0a8a14-5655-11ee-b401-675ed0f8e89b"},"arrayField":["SBKfEppda","cFGLGsmQT","grex","KWpdxHFH"],"boolField":true,"intField":-927,"numField":-104.73305403584877,"objField":{"Fyssvamo":4485909135183826878,"UtTPAPQBO":-4974809800340873182,"fhcU":6125592409632203344,"nLZTcBZNTJ":-8536349939866417390},"stringDateField":"1998-10-06","stringDateTimeField":"1993-01-17T21:08:42Z","stringField":"KRGbtveWP","stringTimeField":"17:33:54.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":-927,"numField":-104.73305403584877,"stringDateField":"1998-10-06","stringDateTimeField":"1993-01-17T21:08:42Z","stringField":"KRGbtveWP","stringTimeField":"17:33:54.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4240,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4240,"uuid":"9e0a8a14-5655-11ee-b801-675ed0f8e89b"},"arrayField":["VIFFjN","rdaQGETs","suKo","ntiMNDUp","AWJLGGJNjB","gMaftY","uHzY","MVaucfUwa","jfdJ","Ipkxh"],"boolField":true,"intField":310,"numField":-758.6673764740815,"objField":{"Elnhx":-8902204809323713411,"GjMcjn":-266924572987670114,"KWoFcOj":-2200508285301807997,"XVtQbj":-7816946130750634568,"iGwcAXTOSC":-9020569993584894478,"jIeR":7372078038856398660,"nfnHpUICn":-8802994460413608432,"nopOpFNDD":5611593132689387104,"qgtNIdG":5165775506553391551},"stringDateField":"1915-05-03","stringDateTimeField":"1974-06-03T00:46:37Z","stringField":"iCWs","stringTimeField":"06:57:32.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":310,"numField":-758.6673764740815,"stringDateField":"1915-05-03","stringDateTimeField":"1974-06-03T00:46:37Z","stringField":"iCWs","stringTimeField":"06:57:32.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4241,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4241,"uuid":"9e0a8a14-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["yjzWdIGXEq","ccejCgI","fkwlrdVU","JOzL"],"boolField":false,"intField":590,"numField":-878.9358546118333,"objField":{"IPYbWhitrv":4038499693293438978,"MdeH":-84356402397638547,"NZMhwt":-8333383763553204678,"NfuwpgSGHh":8801247438150009012,"NpoRt":4324830490674163997,"RLZdDKvph":-77741820538719684,"WFJucEF":1522832525141153572,"hUkDCiBwK":7399725530324367648,"pzYsPvB":-4513034235673503607,"vOvuWx":-9017179039740700861},"stringDateField":"1980-09-16","stringDateTimeField":"1963-02-23T12:52:14Z","stringField":"nYTHaT","stringTimeField":"00:22:59.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763796Z","intField":590,"numField":-878.9358546118333,"stringDateField":"1980-09-16","stringDateTimeField":"1963-02-23T12:52:14Z","stringField":"nYTHaT","stringTimeField":"00:22:59.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4242,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4242,"uuid":"9e0a8a15-5655-11ee-8001-675ed0f8e89b"},"arrayField":["sbovvDhY","XmovsoDeG","otDMZAlCL","IxNotyk","jizKwEZ","VHgZIlMs","EIbl","xhDeuYNz"],"boolField":false,"intField":869,"numField":-861.7909285733493,"objField":{"WcviW":2419692174533252536,"iTKBlVdFw":-5667584912456681501,"imJfcXAkHE":3274226522268136022,"lnflRQ":-3432671033637183418,"yoBcDhQyPE":-4941926071935736703},"stringDateField":"1952-09-03","stringDateTimeField":"1994-05-21T08:01:15Z","stringField":"LvOUmIm","stringTimeField":"00:36:54.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":869,"numField":-861.7909285733493,"stringDateField":"1952-09-03","stringDateTimeField":"1994-05-21T08:01:15Z","stringField":"LvOUmIm","stringTimeField":"00:36:54.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4243,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4243,"uuid":"9e0a8a15-5655-11ee-8401-675ed0f8e89b"},"arrayField":["uzFtCBB"],"boolField":false,"intField":-84,"numField":597.4922683376831,"objField":{"HQemPyKNAq":448775845726220905,"KDvhf":6846139942477153753,"akNvBrJTr":-2533589578384917223,"uHfMKGqw":-4435997657932262344,"wBKmtGc":-2240077915481199507,"xneyjqY":-8396855330920406754},"stringDateField":"1980-12-12","stringDateTimeField":"1999-10-03T09:30:28Z","stringField":"GikjeQkLZE","stringTimeField":"19:52:30.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":-84,"numField":597.4922683376831,"stringDateField":"1980-12-12","stringDateTimeField":"1999-10-03T09:30:28Z","stringField":"GikjeQkLZE","stringTimeField":"19:52:30.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4244,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4244,"uuid":"9e0a8a15-5655-11ee-8801-675ed0f8e89b"},"arrayField":["lSRLwdrXIE","UUTaMUQH"],"boolField":true,"intField":132,"numField":20.339717286814498,"objField":{"DHws":-322924830270662639,"EwyaQRjw":2877083938987996860,"Jnksaaie":-5852545011320446862,"NJZkwkSw":1627576174156477348,"OWownBE":7313917892804263085,"ocdqjwroW":-3792426717531959123},"stringDateField":"1902-11-18","stringDateTimeField":"1922-05-09T07:23:16Z","stringField":"CapituxDr","stringTimeField":"14:54:28.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":132,"numField":20.339717286814498,"stringDateField":"1902-11-18","stringDateTimeField":"1922-05-09T07:23:16Z","stringField":"CapituxDr","stringTimeField":"14:54:28.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4245,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4245,"uuid":"9e0a8a15-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["IEybDB","rdxTygZRo","uODYTm","mNgDEAmpz","WHKiZbT","eSUgrlvG","fBzCUUjq","HLHrQ"],"boolField":false,"intField":42,"numField":-580.4828076184994,"objField":{"EBxJUjESg":6214821336757069328},"stringDateField":"1917-09-02","stringDateTimeField":"1992-07-20T20:37:29Z","stringField":"tUBdzYvh","stringTimeField":"03:56:43.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":42,"numField":-580.4828076184994,"stringDateField":"1917-09-02","stringDateTimeField":"1992-07-20T20:37:29Z","stringField":"tUBdzYvh","stringTimeField":"03:56:43.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4246,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4246,"uuid":"9e0a8a15-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ByckHchIq","lGlSg","ptWxpH"],"boolField":false,"intField":-421,"numField":790.7740816649178,"objField":{"McukzVjllu":-3808786892461463511,"loCeYg":7040272830692392057},"stringDateField":"1965-04-24","stringDateTimeField":"2023-01-23T08:27:44Z","stringField":"OkTQ","stringTimeField":"04:57:08.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":-421,"numField":790.7740816649178,"stringDateField":"1965-04-24","stringDateTimeField":"2023-01-23T08:27:44Z","stringField":"OkTQ","stringTimeField":"04:57:08.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4247,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4247,"uuid":"9e0a8a15-5655-11ee-9401-675ed0f8e89b"},"arrayField":["CuJNnGK","btiqmIGsF","RWzjbiW","mowFwPjieO","KQrAeKkJ","AlTgMfeYp","RDJErrVuh","bgqm"],"boolField":true,"intField":-946,"numField":-157.72653834590855,"objField":{"RFeVLh":-5876665686603593743,"VxWAWVHRFC":6728445144744272044,"jwgR":-6971918816309737180,"qLYuYTQjx":-6319621955175806978,"sxUQyYERKB":-7459211937669839794,"wFdKit":-225145304488648572},"stringDateField":"1981-09-22","stringDateTimeField":"1956-08-24T07:08:56Z","stringField":"dkVt","stringTimeField":"07:58:38.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":-946,"numField":-157.72653834590855,"stringDateField":"1981-09-22","stringDateTimeField":"1956-08-24T07:08:56Z","stringField":"dkVt","stringTimeField":"07:58:38.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4248,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4248,"uuid":"9e0a8a15-5655-11ee-9801-675ed0f8e89b"},"arrayField":["DRSRmLCraX","rnho","zIRhUHTQL"],"boolField":true,"intField":201,"numField":-767.949554443863,"objField":{"ACNdlSK":6006124080562442939,"IYNxHD":-8719787418182747404,"MNZixnIavg":3513736476377290599,"WwImNZpq":7392144225361954007,"obQugW":4274556317593309057,"ozFCymB":-1884185843092283899},"stringDateField":"1961-06-26","stringDateTimeField":"2016-10-23T22:04:58Z","stringField":"mRZByPAcYh","stringTimeField":"18:16:39.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":201,"numField":-767.949554443863,"stringDateField":"1961-06-26","stringDateTimeField":"2016-10-23T22:04:58Z","stringField":"mRZByPAcYh","stringTimeField":"18:16:39.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4249,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4249,"uuid":"9e0a8a15-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["GPKgjJRPyk","sIJrbV","EJZEmaJ","BuSDTYh","LvJxpjxC"],"boolField":false,"intField":-436,"numField":-36.28945827054109,"objField":{"MjcQJh":5152515717463827171,"UpWZjuFI":4780767239306404600,"lBKCUAmUQS":-5164534046898847161,"siBmTOeFVB":490201919277383804},"stringDateField":"1928-06-04","stringDateTimeField":"1957-07-17T09:22:01Z","stringField":"qqNR","stringTimeField":"06:50:35.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":-436,"numField":-36.28945827054109,"stringDateField":"1928-06-04","stringDateTimeField":"1957-07-17T09:22:01Z","stringField":"qqNR","stringTimeField":"06:50:35.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4250,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4250,"uuid":"9e0a8a15-5655-11ee-a001-675ed0f8e89b"},"arrayField":["oFrBRgSjY","QQodzwZ","ITapstwU","sjTG","FiTRqykOP","lbtT"],"boolField":true,"intField":665,"numField":-292.4607807799049,"objField":{"DRhIjJPbF":8888034854892529984,"GhGf":3188338739017245885,"iuaSoF":-2545296254659490413},"stringDateField":"1975-07-07","stringDateTimeField":"1998-10-07T04:32:40Z","stringField":"LZQLgbp","stringTimeField":"10:44:50.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":665,"numField":-292.4607807799049,"stringDateField":"1975-07-07","stringDateTimeField":"1998-10-07T04:32:40Z","stringField":"LZQLgbp","stringTimeField":"10:44:50.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4251,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4251,"uuid":"9e0a8a15-5655-11ee-a401-675ed0f8e89b"},"arrayField":["NWIUPFHUcY","IvywYwD","xTAODbeA","MxMBGC","anQq","cdAhaWIPo","pGdRDwUBwM","GIvThD"],"boolField":false,"intField":-784,"numField":973.8647821343956,"objField":{"LLdicfTEjY":-7862932747995596594,"VpngB":-9030022637484231985,"fpftP":-3515259285783006420,"kgiU":6264686797873026372,"lPFcaxRXYj":5520061288344490617,"ttEOLCgsKw":-4696001188647315471,"yLhiRjxFW":8701368036267908391},"stringDateField":"1941-07-15","stringDateTimeField":"1950-07-24T17:25:41Z","stringField":"MYnYIenc","stringTimeField":"17:08:58.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":-784,"numField":973.8647821343956,"stringDateField":"1941-07-15","stringDateTimeField":"1950-07-24T17:25:41Z","stringField":"MYnYIenc","stringTimeField":"17:08:58.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4252,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4252,"uuid":"9e0a8a15-5655-11ee-a801-675ed0f8e89b"},"arrayField":["kiwM","PREMJ","FPOIgfBpA","KinGMSDrcg","EvSXajNq"],"boolField":false,"intField":996,"numField":-357.7105919920648,"objField":{"BTzbXOsbc":9148721019098187656,"xeigUuBuLt":2206008942892498716,"yNxPEC":-4248706721829871884},"stringDateField":"2013-10-27","stringDateTimeField":"1925-09-26T09:29:17Z","stringField":"jtCZKXIQk","stringTimeField":"18:27:21.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":996,"numField":-357.7105919920648,"stringDateField":"2013-10-27","stringDateTimeField":"1925-09-26T09:29:17Z","stringField":"jtCZKXIQk","stringTimeField":"18:27:21.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4253,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4253,"uuid":"9e0a8a15-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ybhsoamg","KgHTNIy","zlYJFmNqV","LqjN","Abfigeile","elCgEg","bykTYxqY","seuL"],"boolField":true,"intField":361,"numField":385.3529782163663,"objField":{"BdQso":-8208770284650204220,"Goqf":-6344998370227327119,"hmjiUN":6224689995102451869,"inctRKVchR":2263402584306142627},"stringDateField":"1996-10-16","stringDateTimeField":"1997-10-14T15:48:25Z","stringField":"ucFVJzuX","stringTimeField":"12:35:18.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":361,"numField":385.3529782163663,"stringDateField":"1996-10-16","stringDateTimeField":"1997-10-14T15:48:25Z","stringField":"ucFVJzuX","stringTimeField":"12:35:18.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4254,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4254,"uuid":"9e0a8a15-5655-11ee-b001-675ed0f8e89b"},"arrayField":["cvLBiN","oWxZDW","NCUAb","iwYRSzQLC","aPjXlAchx","NFQRwlxRS","kRJXbd"],"boolField":false,"intField":-871,"numField":223.7656534531738,"objField":{"OhYF":-831635288121955984},"stringDateField":"2021-12-19","stringDateTimeField":"2018-09-03T12:19:32Z","stringField":"UgYGbP","stringTimeField":"07:16:21.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":-871,"numField":223.7656534531738,"stringDateField":"2021-12-19","stringDateTimeField":"2018-09-03T12:19:32Z","stringField":"UgYGbP","stringTimeField":"07:16:21.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4255,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4255,"uuid":"9e0a8a15-5655-11ee-b401-675ed0f8e89b"},"arrayField":["PDNdMhiF","YTzwQperPw","DWrIYQ","skFtWNB","DKksW","PEVBC","PxoFpLAlE","aJYGrBSS","pUxBiY","RfMnT"],"boolField":true,"intField":-438,"numField":-372.4642903597861,"objField":{"GXFlN":-2018796286869731996,"LLhrrAWIrI":-651041483040266071,"NjpMAeuRTB":722885837316799289,"OrUpyohG":3091432176830448698,"QDerbEIZ":6637861984584640676,"Wybf":8909233908606744821,"zKKxAl":3067424535721226200},"stringDateField":"1971-11-15","stringDateTimeField":"1946-01-14T01:29:23Z","stringField":"PlwRJkJeyZ","stringTimeField":"20:47:12.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":-438,"numField":-372.4642903597861,"stringDateField":"1971-11-15","stringDateTimeField":"1946-01-14T01:29:23Z","stringField":"PlwRJkJeyZ","stringTimeField":"20:47:12.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4256,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4256,"uuid":"9e0a8a15-5655-11ee-b801-675ed0f8e89b"},"arrayField":["rHxAF","GTSg","FuDNl","DobntP","SqZcPia","JjiYCfM","LyISdtU","YMARsHqO","QUMAMvd","Hxaws"],"boolField":false,"intField":-390,"numField":453.6393963636054,"objField":{"IHDt":2136869590868458367,"LtXWV":6043212250880780278,"NudprR":4370992262567170918,"UxqSDfJmQ":-1509371832042215001,"WARy":-6205934562759916045,"XQCyKn":8282516094084355569,"YEAMXHGogF":-5130727352963090600,"iLUC":1020235070804604251,"vQKEXTM":1707884343403867618},"stringDateField":"1934-01-17","stringDateTimeField":"1982-05-21T05:04:37Z","stringField":"EbpXi","stringTimeField":"06:16:41.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":-390,"numField":453.6393963636054,"stringDateField":"1934-01-17","stringDateTimeField":"1982-05-21T05:04:37Z","stringField":"EbpXi","stringTimeField":"06:16:41.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4257,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4257,"uuid":"9e0a8a15-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["DnEztpxYLE","kDzzoidWpD","mZRthrA","anEiSZCTew","keZYyqfq","cEKKD","wRjMOzmmW","DAcjhcZRT"],"boolField":true,"intField":708,"numField":-716.7619005453261,"objField":{"GWARx":-5051001417806952542,"NcODzg":4115212403937377044,"WseeuGT":2772280286588129282,"eVlYygafxO":3847835225031096700,"tOncnwya":1958042882158451350,"uXGE":7322434326714903353},"stringDateField":"1911-01-04","stringDateTimeField":"1948-02-03T03:22:24Z","stringField":"FvyJk","stringTimeField":"12:41:06.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763797Z","intField":708,"numField":-716.7619005453261,"stringDateField":"1911-01-04","stringDateTimeField":"1948-02-03T03:22:24Z","stringField":"FvyJk","stringTimeField":"12:41:06.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4258,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4258,"uuid":"9e0a8a16-5655-11ee-8001-675ed0f8e89b"},"arrayField":["nKVhEosT","WIgo","BcYx"],"boolField":true,"intField":409,"numField":73.32383071027904,"objField":{"qwZhvqGcYu":8192902048977558510,"yleKOieKGl":3195966412064538620},"stringDateField":"1920-12-01","stringDateTimeField":"1984-08-11T08:16:33Z","stringField":"WVZV","stringTimeField":"09:51:25.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":409,"numField":73.32383071027904,"stringDateField":"1920-12-01","stringDateTimeField":"1984-08-11T08:16:33Z","stringField":"WVZV","stringTimeField":"09:51:25.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4259,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4259,"uuid":"9e0a8a16-5655-11ee-8401-675ed0f8e89b"},"arrayField":["FWciyzN"],"boolField":false,"intField":-600,"numField":482.156703575908,"objField":{"ECCQIfO":-9162923903313581665,"iOUBnr":167297154070079028},"stringDateField":"1969-03-11","stringDateTimeField":"1946-11-22T02:58:08Z","stringField":"DBbC","stringTimeField":"13:05:18.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":-600,"numField":482.156703575908,"stringDateField":"1969-03-11","stringDateTimeField":"1946-11-22T02:58:08Z","stringField":"DBbC","stringTimeField":"13:05:18.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4260,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4260,"uuid":"9e0a8a16-5655-11ee-8801-675ed0f8e89b"},"arrayField":["wkcAd","pgHT","ggbJJrl","LEZFUO"],"boolField":true,"intField":136,"numField":835.3550795629272,"objField":{"CUyn":-8135366939834010670,"EBNs":-303665294235365177,"GoFTTkZG":4378361094569540946,"kNKY":8939933763061031525,"sVocoMgjQg":-6246094777531790980,"ubFzOJeb":-6715650716913422521},"stringDateField":"1984-06-16","stringDateTimeField":"1919-12-06T06:58:47Z","stringField":"xxFL","stringTimeField":"01:21:00.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":136,"numField":835.3550795629272,"stringDateField":"1984-06-16","stringDateTimeField":"1919-12-06T06:58:47Z","stringField":"xxFL","stringTimeField":"01:21:00.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4261,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4261,"uuid":"9e0a8a16-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["BTGcIJLnCp","HMdASdPDHb","nXsAwpN","ecrQxI","sjlj","cNINS","SxPhxjb","iXcDvv"],"boolField":false,"intField":-242,"numField":106.17203692806277,"objField":{"EWEJFSPhlG":2923556463845517539,"KXnvKiRgV":-6661143996965191597,"bCzS":-6419434137539869256,"cedhaIe":-1257808711875337065,"fZFCo":8647837468706221823},"stringDateField":"1986-07-05","stringDateTimeField":"1932-04-22T09:28:46Z","stringField":"ZDHFfxvfq","stringTimeField":"02:29:27.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":-242,"numField":106.17203692806277,"stringDateField":"1986-07-05","stringDateTimeField":"1932-04-22T09:28:46Z","stringField":"ZDHFfxvfq","stringTimeField":"02:29:27.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4262,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4262,"uuid":"9e0a8a16-5655-11ee-9001-675ed0f8e89b"},"arrayField":["WDcyR","sRpbwam","cnUsxb","Zqddr","KzRSoWYN","dhMZNgL","fWDOzxdRm","AgJBG","OvebsjTpS","GwRHZbCTZ"],"boolField":false,"intField":-299,"numField":-934.2014654366852,"objField":{"BiHhtuLheQ":5314440504656485299,"LMaHJ":3960569073408984402,"TMjWYhi":-402172989616572200,"UHGtC":8308047018512583088,"knLJmv":-2309919524774540527,"rcNQq":4891539770403856168},"stringDateField":"1930-01-20","stringDateTimeField":"1950-06-12T02:42:50Z","stringField":"SYZS","stringTimeField":"12:35:27.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":-299,"numField":-934.2014654366852,"stringDateField":"1930-01-20","stringDateTimeField":"1950-06-12T02:42:50Z","stringField":"SYZS","stringTimeField":"12:35:27.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4263,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4263,"uuid":"9e0a8a16-5655-11ee-9401-675ed0f8e89b"},"arrayField":["nQxmdeaYX","rDhX","cxMLbyhff","xFEFH","qolj","GbAbv"],"boolField":false,"intField":663,"numField":247.15359111581557,"objField":{"DHXv":-207476427216816034,"cBTQOUhHk":-5843177009538019924,"kVXk":4089147033169316541,"ziFVBzBi":8652920348979465762},"stringDateField":"1926-06-05","stringDateTimeField":"1909-02-12T04:25:20Z","stringField":"wOIf","stringTimeField":"12:04:56.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":663,"numField":247.15359111581557,"stringDateField":"1926-06-05","stringDateTimeField":"1909-02-12T04:25:20Z","stringField":"wOIf","stringTimeField":"12:04:56.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4264,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4264,"uuid":"9e0a8a16-5655-11ee-9801-675ed0f8e89b"},"arrayField":["HRmZvCYpAt","fBsBfityuN","RNADhicvK","gkqmJQDm","aYWdSD","qpVf","YUkxLtVqmT","DkOd","QJuKeYmPxg"],"boolField":false,"intField":-422,"numField":-686.7230975401352,"objField":{"IeWGKQk":-5357260090233929834,"JjcInwcI":4535598263873052110,"SkwWRxSrly":-7659142806384603897,"TYDaffy":1153682672256328514,"UHktSRwqVD":2649915730429458274,"tFopUER":-1578807583846656567},"stringDateField":"1959-07-08","stringDateTimeField":"1927-09-16T07:30:00Z","stringField":"dBupxDMYQ","stringTimeField":"13:02:24.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":-422,"numField":-686.7230975401352,"stringDateField":"1959-07-08","stringDateTimeField":"1927-09-16T07:30:00Z","stringField":"dBupxDMYQ","stringTimeField":"13:02:24.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4265,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4265,"uuid":"9e0a8a16-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ChRxJv","yxzOTkGIth","HVwA","OtkjLiTk","oSuDwyD","ALpJw","XjuVCcmF","oLBYrfFkbd","yJxQRROQRz","mmsC"],"boolField":false,"intField":937,"numField":192.83807519132324,"objField":{"iCvvgRo":-1208399660983684227,"lAaTAL":2760655397394721082,"qzUqe":7727094609995080780,"tHAUGkmm":-7623696012838127794},"stringDateField":"2011-10-08","stringDateTimeField":"1945-12-13T22:22:31Z","stringField":"hZsOiPVf","stringTimeField":"16:52:35.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":937,"numField":192.83807519132324,"stringDateField":"2011-10-08","stringDateTimeField":"1945-12-13T22:22:31Z","stringField":"hZsOiPVf","stringTimeField":"16:52:35.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4266,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4266,"uuid":"9e0a8a16-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ftEoAF","dQGLJ","iNfefiy","PbOr","PNYuprNyv"],"boolField":false,"intField":-154,"numField":362.40365567505273,"objField":{"BLVWCzQ":-6832110074301546295},"stringDateField":"1912-01-11","stringDateTimeField":"1982-09-24T20:43:31Z","stringField":"YwZFuXOjru","stringTimeField":"22:13:36.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":-154,"numField":362.40365567505273,"stringDateField":"1912-01-11","stringDateTimeField":"1982-09-24T20:43:31Z","stringField":"YwZFuXOjru","stringTimeField":"22:13:36.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4267,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4267,"uuid":"9e0a8a16-5655-11ee-a401-675ed0f8e89b"},"arrayField":["Jauv","npRuNo","fGoDEO"],"boolField":true,"intField":369,"numField":14.417313907544528,"objField":{"VSXuDxKW":8179891402661222662,"mKwym":-5921063277799289252},"stringDateField":"1963-03-08","stringDateTimeField":"1963-11-24T18:10:21Z","stringField":"THuKTn","stringTimeField":"02:29:39.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":369,"numField":14.417313907544528,"stringDateField":"1963-03-08","stringDateTimeField":"1963-11-24T18:10:21Z","stringField":"THuKTn","stringTimeField":"02:29:39.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4268,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4268,"uuid":"9e0a8a16-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ilmNK"],"boolField":false,"intField":-455,"numField":544.7703501410485,"objField":{"BYiysZncMl":-7614175601175553398,"UCsp":-3289990446343745257,"pQPAAt":1532278922493531982,"trpxmRWzQw":3254151378652304493,"wGGAVHs":-3602999038765877934},"stringDateField":"1978-01-09","stringDateTimeField":"1964-07-21T04:24:30Z","stringField":"QjROlPpsZ","stringTimeField":"21:59:44.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":-455,"numField":544.7703501410485,"stringDateField":"1978-01-09","stringDateTimeField":"1964-07-21T04:24:30Z","stringField":"QjROlPpsZ","stringTimeField":"21:59:44.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4269,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4269,"uuid":"9e0a8a16-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["kMisHQnvU","nfrLen","TjNObWJDg","zRLoYW"],"boolField":true,"intField":636,"numField":469.1161013991978,"objField":{"AyWFY":-6966812725542181812,"PbsvI":3802566579555820573,"SXdXKkEKEp":6233124139080508717,"WyMiOIfJAP":-1345233780196888728,"bdUrcio":-4788204438247917444,"zsTRI":3563732545704135192},"stringDateField":"1938-07-15","stringDateTimeField":"1918-10-31T04:21:19Z","stringField":"voKNUBoNv","stringTimeField":"19:30:28.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":636,"numField":469.1161013991978,"stringDateField":"1938-07-15","stringDateTimeField":"1918-10-31T04:21:19Z","stringField":"voKNUBoNv","stringTimeField":"19:30:28.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4270,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4270,"uuid":"9e0a8a16-5655-11ee-b001-675ed0f8e89b"},"arrayField":["FRSyVKin"],"boolField":true,"intField":-239,"numField":-10.34964878019007,"objField":{"GVEgT":8087177680760813723,"JGCrk":572575790757629215,"KuCiik":-7556910755415263603,"OOMsVg":-1672798601885745148,"QdXsa":2719363207755358429,"StAkcnRM":-7799365413514335721,"fGbUWcP":-7960307680537780518,"mIdhdzhme":1579680022321525276},"stringDateField":"1973-08-07","stringDateTimeField":"1964-11-27T02:09:01Z","stringField":"hCyOwWgFuX","stringTimeField":"08:03:33.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":-239,"numField":-10.34964878019007,"stringDateField":"1973-08-07","stringDateTimeField":"1964-11-27T02:09:01Z","stringField":"hCyOwWgFuX","stringTimeField":"08:03:33.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4271,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4271,"uuid":"9e0a8a16-5655-11ee-b401-675ed0f8e89b"},"arrayField":["OnRC","Jmqrz","JzPMhKdKrP"],"boolField":true,"intField":-775,"numField":533.2522844806116,"objField":{"IsKQWzIfkN":-3889466121352412986,"PHxY":-6446932340085837758,"USoGBjutmM":5390826379302828873,"VvUAm":809237519296949295,"ZaXLM":-8140228240878909560,"amnG":6990617528871605466,"dkIfKeEDFC":7402061066802831010,"jsfSsSsMzX":-8700046790761945969,"ueytlttU":6502800798983328414},"stringDateField":"1981-12-11","stringDateTimeField":"1921-08-13T16:33:33Z","stringField":"ebbypvZJw","stringTimeField":"17:40:02.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":-775,"numField":533.2522844806116,"stringDateField":"1981-12-11","stringDateTimeField":"1921-08-13T16:33:33Z","stringField":"ebbypvZJw","stringTimeField":"17:40:02.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4272,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4272,"uuid":"9e0a8a16-5655-11ee-b801-675ed0f8e89b"},"arrayField":["qBFx","qgsKqZubP","OJBxPTH","lvYxga","nqBRO"],"boolField":true,"intField":-957,"numField":621.2270744394199,"objField":{"JOWFHfzQo":-4763914868913146837,"XSVxTJhw":1233698445909979678,"ejdZEFNec":5712051940609296514,"heCGtLe":5857429621500654380},"stringDateField":"2021-06-12","stringDateTimeField":"2020-05-31T15:45:27Z","stringField":"MrIa","stringTimeField":"13:26:21.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":-957,"numField":621.2270744394199,"stringDateField":"2021-06-12","stringDateTimeField":"2020-05-31T15:45:27Z","stringField":"MrIa","stringTimeField":"13:26:21.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4273,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4273,"uuid":"9e0a8a16-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["xNhkWeVFG","eCnEy","oyxUQq","Yknuuh"],"boolField":true,"intField":511,"numField":710.9169386073937,"objField":{"hWXcZ":-7729112791348192333},"stringDateField":"1989-05-15","stringDateTimeField":"1953-05-26T13:49:30Z","stringField":"aNim","stringTimeField":"20:44:03.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763798Z","intField":511,"numField":710.9169386073937,"stringDateField":"1989-05-15","stringDateTimeField":"1953-05-26T13:49:30Z","stringField":"aNim","stringTimeField":"20:44:03.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4274,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4274,"uuid":"9e0a8a17-5655-11ee-8001-675ed0f8e89b"},"arrayField":["JgIURIeUi","aiJKgZ","TkNVnloXi","XIsPN","fnnyIEkDO","VXnypvEdFi","UxmY","UTkgPXUdv","aNADYH","RTlEQg"],"boolField":true,"intField":-398,"numField":364.7961736011329,"objField":{"SIrgLlkBU":8260864504143014940},"stringDateField":"2009-10-21","stringDateTimeField":"1975-07-29T16:28:40Z","stringField":"nEqKz","stringTimeField":"12:04:51.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":-398,"numField":364.7961736011329,"stringDateField":"2009-10-21","stringDateTimeField":"1975-07-29T16:28:40Z","stringField":"nEqKz","stringTimeField":"12:04:51.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4275,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4275,"uuid":"9e0a8a17-5655-11ee-8401-675ed0f8e89b"},"arrayField":["nzbTKr"],"boolField":false,"intField":-290,"numField":-855.8413051646854,"objField":{"DGMKTHGfzk":2196841322788522056,"KoWXhAsspd":-3336833609793995952,"cieXXA":5868760554682447236},"stringDateField":"2004-05-10","stringDateTimeField":"1962-05-23T22:40:46Z","stringField":"leEm","stringTimeField":"18:22:16.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":-290,"numField":-855.8413051646854,"stringDateField":"2004-05-10","stringDateTimeField":"1962-05-23T22:40:46Z","stringField":"leEm","stringTimeField":"18:22:16.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4276,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4276,"uuid":"9e0a8a17-5655-11ee-8801-675ed0f8e89b"},"arrayField":["AzTqukkCX","EfQqT","lrunxOtkNt","WWLgSjPRoj"],"boolField":false,"intField":-438,"numField":-843.6545697519335,"objField":{"JYnqlylPSL":2596532706264678498,"OlGHKpa":-2841736883620271217,"TgjjcXXI":-5894087549454093950,"miqN":5270013955331634333,"mixYr":9161108016313645031,"rCGCsOYXe":-6882465092792708496,"tPUVy":-7329695621507754501,"vEwiOVoMx":-612692611648834701},"stringDateField":"2012-07-16","stringDateTimeField":"2004-04-29T23:49:31Z","stringField":"rdSqMvIVVa","stringTimeField":"07:22:53.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":-438,"numField":-843.6545697519335,"stringDateField":"2012-07-16","stringDateTimeField":"2004-04-29T23:49:31Z","stringField":"rdSqMvIVVa","stringTimeField":"07:22:53.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4277,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4277,"uuid":"9e0a8a17-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["iMejC","QBUicCFrow","LHmFgSKb","dcAg","dwXuw","WhAN"],"boolField":false,"intField":986,"numField":-724.8974826001128,"objField":{"GMaWA":70203133970436423,"YdkUxdxqWl":-7195650645212244863,"hXtaUPBaxG":8685426646282545601},"stringDateField":"1932-05-19","stringDateTimeField":"2007-08-07T01:43:13Z","stringField":"LhHax","stringTimeField":"09:45:40.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":986,"numField":-724.8974826001128,"stringDateField":"1932-05-19","stringDateTimeField":"2007-08-07T01:43:13Z","stringField":"LhHax","stringTimeField":"09:45:40.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4278,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4278,"uuid":"9e0a8a17-5655-11ee-9001-675ed0f8e89b"},"arrayField":["kboac","zgLWK"],"boolField":false,"intField":819,"numField":963.5740144386882,"objField":{"CEMmKJjM":-7296704423960551716,"LMKE":-7932975220824811535,"NknTdXFfk":4683669480576121839,"QOkyFcULu":6256947501995324386,"ThHJsieez":8128959238253121946,"bOhiUN":-8396706336495211608,"lYoZNp":-8527974718256801903,"mwApQhV":580318297516987331},"stringDateField":"1961-07-17","stringDateTimeField":"1973-09-14T18:08:26Z","stringField":"vCsidHge","stringTimeField":"17:38:10.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":819,"numField":963.5740144386882,"stringDateField":"1961-07-17","stringDateTimeField":"1973-09-14T18:08:26Z","stringField":"vCsidHge","stringTimeField":"17:38:10.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4279,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4279,"uuid":"9e0a8a17-5655-11ee-9401-675ed0f8e89b"},"arrayField":["yDQpkwHL","JpDieJ","YsMhqF","CbVN","PtMH","wvRrBsnXn","ZKsZJB","oylegJOjKk","bWWpm","uSuzwCmoxB"],"boolField":true,"intField":-647,"numField":430.17005780204886,"objField":{"CmclcjdAma":-2962550913505780922,"DplsHRdJMw":826194188308650588,"nXOP":-3752539966593460707,"owkYYdcVwU":-2068926635153028740,"qedAIzD":7540283159801392763},"stringDateField":"1954-03-08","stringDateTimeField":"2000-03-26T01:44:54Z","stringField":"PNviAem","stringTimeField":"00:50:08.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":-647,"numField":430.17005780204886,"stringDateField":"1954-03-08","stringDateTimeField":"2000-03-26T01:44:54Z","stringField":"PNviAem","stringTimeField":"00:50:08.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4280,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4280,"uuid":"9e0a8a17-5655-11ee-9801-675ed0f8e89b"},"arrayField":["uqVJBiZK","dIuANHuTZw","DIAG"],"boolField":true,"intField":601,"numField":-222.67780908968817,"objField":{"GRsFcPSat":-1141074174581725337,"PfGoiBhMd":3942359621108463413,"SjPPOmHU":-4642697074775355678,"WIiflYx":-3840022169491340496,"ibqra":3515382955156746568,"ntilngKoaR":-1710205814890218946,"rSEI":3619105012542906680,"tHgj":5516522502649535073},"stringDateField":"1942-09-11","stringDateTimeField":"1987-09-16T19:58:18Z","stringField":"Dhgr","stringTimeField":"18:03:33.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":601,"numField":-222.67780908968817,"stringDateField":"1942-09-11","stringDateTimeField":"1987-09-16T19:58:18Z","stringField":"Dhgr","stringTimeField":"18:03:33.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4281,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4281,"uuid":"9e0a8a17-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["TCdetASnpy","ryqyOn","eojsOYd","DEeZgTmVqx","nnolkfv","ChTDlbVvH","JhUkkswM","fNWDYpAuO","fdWr","WmUQm"],"boolField":true,"intField":-17,"numField":832.7046278039664,"objField":{"ARMMHN":8301365018900273020,"DoUjNIQLz":8977394450297743448,"EmWLhS":3816710863335552028,"HJKK":3530877532622186353,"fOKwr":5686172630949042323,"zxUoXJZ":-5581177039044874675},"stringDateField":"1963-08-17","stringDateTimeField":"1987-05-14T00:24:58Z","stringField":"ttxROl","stringTimeField":"20:33:45.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":-17,"numField":832.7046278039664,"stringDateField":"1963-08-17","stringDateTimeField":"1987-05-14T00:24:58Z","stringField":"ttxROl","stringTimeField":"20:33:45.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4282,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4282,"uuid":"9e0a8a17-5655-11ee-a001-675ed0f8e89b"},"arrayField":["rvKSTpE","mSdp","GpBzwypgaZ","jDzMnAwU","fuEK","RPslDTe"],"boolField":false,"intField":266,"numField":-597.9424693135142,"objField":{"LjZUiGZOw":-5009578979840838557,"RwxYqvV":2734796745574867887,"bCjt":-4381915990926915079,"gqAF":-1112702470227703828,"tfoFlW":8159309180590821354},"stringDateField":"2005-04-04","stringDateTimeField":"1924-10-04T20:38:23Z","stringField":"BgGhFkmsZ","stringTimeField":"05:50:38.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":266,"numField":-597.9424693135142,"stringDateField":"2005-04-04","stringDateTimeField":"1924-10-04T20:38:23Z","stringField":"BgGhFkmsZ","stringTimeField":"05:50:38.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4283,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4283,"uuid":"9e0a8a17-5655-11ee-a401-675ed0f8e89b"},"arrayField":["IsYoKmXPD","MqShSJhtH","jEileTHFMW","WKgGFfn","bupBjlyrU","DLxoGlCAVw","BUWcILCme","DTDCh"],"boolField":true,"intField":690,"numField":190.48287947262875,"objField":{"EFYrKxGfzm":-7838204313654616574,"OESTtviewm":8782085093539806132,"OdNx":-7039399875540725678,"ViMV":-4157833197840112048,"avmXMctzE":4706030347415526426,"fyszD":2314368542026142973,"ghxlzK":2946918404395958559,"rANCBeg":-3444762425234680018,"uXLPKMeKf":5767342609316945130,"yWplbDg":-5660409532350586350},"stringDateField":"2021-03-06","stringDateTimeField":"2000-02-06T01:19:07Z","stringField":"hhZY","stringTimeField":"09:45:22.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":690,"numField":190.48287947262875,"stringDateField":"2021-03-06","stringDateTimeField":"2000-02-06T01:19:07Z","stringField":"hhZY","stringTimeField":"09:45:22.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4284,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4284,"uuid":"9e0a8a17-5655-11ee-a801-675ed0f8e89b"},"arrayField":["IHhTW"],"boolField":false,"intField":380,"numField":-987.9267068724088,"objField":{"RbnGCm":-4016809317832495161},"stringDateField":"1946-08-30","stringDateTimeField":"2004-04-17T05:25:41Z","stringField":"IdlE","stringTimeField":"23:10:48.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":380,"numField":-987.9267068724088,"stringDateField":"1946-08-30","stringDateTimeField":"2004-04-17T05:25:41Z","stringField":"IdlE","stringTimeField":"23:10:48.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4285,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4285,"uuid":"9e0a8a17-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["yfnCBJJw","EyZbbMhxm","nxNc","uGzY"],"boolField":true,"intField":-678,"numField":-453.8685537923788,"objField":{"MCKXA":4143746300358813496},"stringDateField":"1908-07-29","stringDateTimeField":"1959-05-04T19:11:23Z","stringField":"OuVFJc","stringTimeField":"14:59:59.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":-678,"numField":-453.8685537923788,"stringDateField":"1908-07-29","stringDateTimeField":"1959-05-04T19:11:23Z","stringField":"OuVFJc","stringTimeField":"14:59:59.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4286,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4286,"uuid":"9e0a8a17-5655-11ee-b001-675ed0f8e89b"},"arrayField":["ihunOdwh","nTngCIA","gObCzzW","DCaLUuZe","shGzxsyE","MJmBJqzads","JDKlXb","MoeJefE","iyWByr","ukMsHcz"],"boolField":false,"intField":770,"numField":-348.3078031316984,"objField":{"KfnBin":5437029838953662216,"PPSbPThbbi":7252294201157216712,"RyCtOjnbd":-2301531580604536619,"SdIlg":-3973787186340726094,"TiizyTA":-6789985262836370082,"jeVhjCf":-3334595383700239539,"nXuiYmO":-2678512691705383844,"oiteAuV":-693973262297992954,"slCQ":-5989378059112049239,"wXOKY":-4301016322735425444},"stringDateField":"2018-08-06","stringDateTimeField":"2008-05-17T09:14:58Z","stringField":"GutYJLFV","stringTimeField":"00:33:41.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":770,"numField":-348.3078031316984,"stringDateField":"2018-08-06","stringDateTimeField":"2008-05-17T09:14:58Z","stringField":"GutYJLFV","stringTimeField":"00:33:41.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4287,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4287,"uuid":"9e0a8a17-5655-11ee-b401-675ed0f8e89b"},"arrayField":["PSGPjlsGI","rtwau","BxhQtc","BBZiQvYa","leOR"],"boolField":false,"intField":-118,"numField":573.0747991830243,"objField":{"ChJJMHn":-1229110611695780697,"ESuTeFc":-6697319956784772978,"KpChXU":7923278168463821020,"NsCmcGMZ":8300291108695999624,"Pbgtx":1998071506193276387,"VIwr":4604085865242234275,"drDqUJvVO":-6381547457400398215,"tnOZBjTlQX":6910164588009252210,"ufOvsDkSi":-4720642561774315883},"stringDateField":"1904-08-14","stringDateTimeField":"1963-11-20T06:10:33Z","stringField":"QJvFUzKq","stringTimeField":"13:41:04.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":-118,"numField":573.0747991830243,"stringDateField":"1904-08-14","stringDateTimeField":"1963-11-20T06:10:33Z","stringField":"QJvFUzKq","stringTimeField":"13:41:04.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4288,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4288,"uuid":"9e0a8a17-5655-11ee-b801-675ed0f8e89b"},"arrayField":["AYgkVBnwqz"],"boolField":false,"intField":-666,"numField":317.27750427853454,"objField":{"KMkpybb":5300963628918987157,"TdBXQB":2001945678162377130,"WdRSIeC":72783315344633375,"aguab":-3049450222500651559,"ahlxxsjJLk":-6499233962495018831,"qTsuFQqhoF":-6772891321436609040,"rcrTCLYd":880092131806462571,"ymPYjesjy":5088284033800058756},"stringDateField":"1956-08-31","stringDateTimeField":"1972-08-29T22:08:38Z","stringField":"oAChpFZ","stringTimeField":"02:21:23.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":-666,"numField":317.27750427853454,"stringDateField":"1956-08-31","stringDateTimeField":"1972-08-29T22:08:38Z","stringField":"oAChpFZ","stringTimeField":"02:21:23.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4289,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4289,"uuid":"9e0a8a17-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["HDdTn","KlJa","RjghelD","saMSYDh","oFUiiAInv","WDuu","ZAWsIC","hakIMW","uSBrUtknj","jhTyd"],"boolField":false,"intField":-817,"numField":-872.5505821952335,"objField":{"JaghkF":5618335029120649217,"TVGsYeAo":4300186040584691413,"hzAlx":-4728401574841982289,"mtAZKxXIeP":1526909201815657275},"stringDateField":"1946-04-15","stringDateTimeField":"2019-07-04T18:07:59Z","stringField":"YMAEo","stringTimeField":"12:26:35.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763799Z","intField":-817,"numField":-872.5505821952335,"stringDateField":"1946-04-15","stringDateTimeField":"2019-07-04T18:07:59Z","stringField":"YMAEo","stringTimeField":"12:26:35.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4290,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4290,"uuid":"9e0a8a18-5655-11ee-8001-675ed0f8e89b"},"arrayField":["cUofCGMw","pRmafZvd"],"boolField":true,"intField":226,"numField":690.1500822221996,"objField":{"AMaEkLZx":6664921516982031317,"EfYHhDfg":1790318594236552162,"HGzmzZfbt":-4059201628040527336,"UcGWpFL":7020939288761444788,"WmgS":2841624759435597613,"aLJbKdLE":8773344773981785992,"lLGh":3885489794940118265},"stringDateField":"1954-07-03","stringDateTimeField":"1913-02-12T05:42:31Z","stringField":"Rrmnu","stringTimeField":"21:44:26.36Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":226,"numField":690.1500822221996,"stringDateField":"1954-07-03","stringDateTimeField":"1913-02-12T05:42:31Z","stringField":"Rrmnu","stringTimeField":"21:44:26.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4291,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4291,"uuid":"9e0a8a18-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rPyikPqsA","WDUCsCqmiD","ZnXJyrea","gyhnxGyu"],"boolField":false,"intField":789,"numField":-5.747502563073215,"objField":{"IfjF":-3982105090387962835,"PXuVUTDpZ":2998969064183560292,"SqpVep":2228144724958591178,"WniZ":-4061594335146639556,"bwHR":9176553550145443796,"dqvobouFH":3760298225216889793,"dsxO":-1570666956382582597,"eqAT":-1164356939545484006,"fExhjOhp":-2282562457889880713},"stringDateField":"1959-03-30","stringDateTimeField":"1988-10-16T15:57:38Z","stringField":"pZOGjoClqh","stringTimeField":"11:37:27.49Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":789,"numField":-5.747502563073215,"stringDateField":"1959-03-30","stringDateTimeField":"1988-10-16T15:57:38Z","stringField":"pZOGjoClqh","stringTimeField":"11:37:27.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4292,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4292,"uuid":"9e0a8a18-5655-11ee-8801-675ed0f8e89b"},"arrayField":["bjeQsHsafO","Mifjz","yCeOsUtIJ","HWxbHf","owcZhY","XNqebiNSC","YMrDHcwIz","JBeqmD","WltWwNAFw","HIJjaPfqz"],"boolField":false,"intField":150,"numField":-779.0822241159549,"objField":{"EDrOwabblr":11886078182175921,"WZLgpKCh":2109016697583034297,"jwUFDWO":4121086169492100781,"lBZUUv":5131344450674280995,"nrSVicp":8045555947218141608,"qwxbkpiCg":3952685599008790909,"wwOT":3297060121391175076},"stringDateField":"1915-03-09","stringDateTimeField":"1986-12-27T17:34:16Z","stringField":"LMtJ","stringTimeField":"13:22:05.25Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":150,"numField":-779.0822241159549,"stringDateField":"1915-03-09","stringDateTimeField":"1986-12-27T17:34:16Z","stringField":"LMtJ","stringTimeField":"13:22:05.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4293,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4293,"uuid":"9e0a8a18-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["WfAutius","YCjXoPBkjp","xbOfjLdXuH","bOKhabcEWC","cZYNzskvty","WEedNFn"],"boolField":true,"intField":-456,"numField":-402.9495318566911,"objField":{"AMdGP":-424960785686986284,"DoYfccU":5720557967262214380,"FZzCBYJ":-858941806224690692,"fxbVtwPx":-503815588907390561,"hjblwVGtkP":2580642654929954296,"iVFgSxu":-3396468363166356524},"stringDateField":"1935-11-16","stringDateTimeField":"1958-03-12T13:38:42Z","stringField":"OXtaF","stringTimeField":"21:06:27.28Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":-456,"numField":-402.9495318566911,"stringDateField":"1935-11-16","stringDateTimeField":"1958-03-12T13:38:42Z","stringField":"OXtaF","stringTimeField":"21:06:27.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4294,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4294,"uuid":"9e0a8a18-5655-11ee-9001-675ed0f8e89b"},"arrayField":["qGbklQD","cUdDIjIVOU","VpNd","aRzfQexQ"],"boolField":false,"intField":597,"numField":-109.98939958019515,"objField":{"WmtVmnEx":6293435785158613575,"aITMJlqW":-5025255653318702535,"ePOWrJe":523482129341020115,"gTEoIvYqH":1715515355928783427,"iMpdnXZv":-8936120161384308637,"kjRTxoe":2473814430912365631},"stringDateField":"1910-09-21","stringDateTimeField":"1935-12-29T13:03:50Z","stringField":"KGZDHgF","stringTimeField":"02:33:02.27Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":597,"numField":-109.98939958019515,"stringDateField":"1910-09-21","stringDateTimeField":"1935-12-29T13:03:50Z","stringField":"KGZDHgF","stringTimeField":"02:33:02.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4295,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4295,"uuid":"9e0a8a18-5655-11ee-9401-675ed0f8e89b"},"arrayField":["Zmbzmp","QxnWz","xBuKu","BxIxSqy","tnFHfLFdd","JTqmxOBFdS","qBHGHtCuz"],"boolField":false,"intField":794,"numField":940.1192717125688,"objField":{"DAHy":-3340352923998353146,"PnoBAZfWl":7687084385150578001,"UTZFGEA":-7108132992465546870,"eFJKS":-2670495055673815426},"stringDateField":"1969-04-08","stringDateTimeField":"2001-11-06T08:37:10Z","stringField":"VPeaAwhtfl","stringTimeField":"13:47:24.32Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":794,"numField":940.1192717125688,"stringDateField":"1969-04-08","stringDateTimeField":"2001-11-06T08:37:10Z","stringField":"VPeaAwhtfl","stringTimeField":"13:47:24.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4296,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4296,"uuid":"9e0a8a18-5655-11ee-9801-675ed0f8e89b"},"arrayField":["FvxtlA","FaRXqOK","qiwRF","IqNfE","NTkENaEwdA"],"boolField":true,"intField":-350,"numField":-66.74059877195626,"objField":{"FxFKdFuN":-6077340043604497566,"TGWFksSXo":-2140741516155539441,"reeFiIgw":-8092977250383453564,"uyUAHS":-3299482471039674462},"stringDateField":"2004-01-21","stringDateTimeField":"1963-12-13T23:08:04Z","stringField":"dIwcuC","stringTimeField":"06:44:02.35Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":-350,"numField":-66.74059877195626,"stringDateField":"2004-01-21","stringDateTimeField":"1963-12-13T23:08:04Z","stringField":"dIwcuC","stringTimeField":"06:44:02.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4297,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4297,"uuid":"9e0a8a18-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["VAVZp","CqaNQ","ovcIusmR"],"boolField":false,"intField":715,"numField":-2.2307589298102837,"objField":{"AKmr":3678006714517508190,"agJFAl":3132291535759936184,"hLCxHOcqV":961575399250059085,"lfhhQYQv":3992758285855286963,"wbdUTFnc":1561533946320268318},"stringDateField":"2006-12-26","stringDateTimeField":"1924-10-07T07:24:47Z","stringField":"RjsiLf","stringTimeField":"06:50:46.13Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":715,"numField":-2.2307589298102837,"stringDateField":"2006-12-26","stringDateTimeField":"1924-10-07T07:24:47Z","stringField":"RjsiLf","stringTimeField":"06:50:46.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4298,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4298,"uuid":"9e0a8a18-5655-11ee-a001-675ed0f8e89b"},"arrayField":["GKctZrnh","VNxu","XQuKJ","GPEnjyfA","dwYt","PrAxjKpZ","DeWDeZ","DIIMpkye"],"boolField":true,"intField":10,"numField":557.4879912927324,"objField":{"CmGUK":-2077343496009271490,"wrHBiiZ":-1343172141588868051},"stringDateField":"1932-10-09","stringDateTimeField":"1947-07-13T17:45:55Z","stringField":"uhhUrG","stringTimeField":"11:59:16.26Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":10,"numField":557.4879912927324,"stringDateField":"1932-10-09","stringDateTimeField":"1947-07-13T17:45:55Z","stringField":"uhhUrG","stringTimeField":"11:59:16.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4299,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4299,"uuid":"9e0a8a18-5655-11ee-a401-675ed0f8e89b"},"arrayField":["vdDOV","RPsGxAKHuz","BCtYYbTAR","xQoePSXjHk","RRYcCmNpv"],"boolField":false,"intField":436,"numField":640.999961867037,"objField":{"EeuchTl":-5756983441511456179,"HYnVK":-2772691060213921643,"JBexDNej":3158743781252226049,"MpdpfrG":-879678589731685575,"NQCkAWcToT":-8412583266323981945,"TVcbHf":-4329018904368753255,"mbzFrVmHO":-3512749908685105411,"sRXVVmVohm":-962128779983458228,"umLdZbDvZt":2606661011045718106},"stringDateField":"1961-01-30","stringDateTimeField":"1936-08-29T02:12:43Z","stringField":"VNOpjMRyEy","stringTimeField":"07:57:31.24Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":436,"numField":640.999961867037,"stringDateField":"1961-01-30","stringDateTimeField":"1936-08-29T02:12:43Z","stringField":"VNOpjMRyEy","stringTimeField":"07:57:31.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4300,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4300,"uuid":"9e0a8a18-5655-11ee-a801-675ed0f8e89b"},"arrayField":["zqBgqF","XRFcQNRU","OcsYTPJ","jMgaDTdc","QKSre","PqsHfHdYsR"],"boolField":false,"intField":436,"numField":152.0301835488864,"objField":{"EWINpf":-1245362869036465212,"GYWLI":-5905891433096974678,"GcgFJ":-8821803428966898529,"JWereUN":-8429560905856515427,"KMuWS":7041246657204449011,"NyFX":5235978861848254294,"UpuUvdsK":-668259522922871601,"VFFcJAlO":5470745571202549310,"efruSwRz":-8724191791477132217,"xvfskbOeC":6306109656077539114},"stringDateField":"1942-02-22","stringDateTimeField":"1915-08-22T14:28:23Z","stringField":"iWnNpv","stringTimeField":"02:07:53.40Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":436,"numField":152.0301835488864,"stringDateField":"1942-02-22","stringDateTimeField":"1915-08-22T14:28:23Z","stringField":"iWnNpv","stringTimeField":"02:07:53.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4301,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4301,"uuid":"9e0a8a18-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["UIaUKAivDD","DmNrSktKw","SXGNhbt","qBvgWwm","ywwFjkY","BUKHCI"],"boolField":false,"intField":-70,"numField":906.7455893729594,"objField":{"ILZnIM":-1467717799777522883,"JiVSzv":-921190071131616518,"Odbm":-3064150849648888797,"TfNvVlwY":-1486986674484761353,"UmsQDI":7256988835152568631,"WWlanLR":-6243233577117589382,"ZkBXRvJSfs":929102519553945638,"kUubUdYFuD":7461938552961214789,"vlJQGzvdi":818300165964160797,"zpHxtxa":-6546404267738331179},"stringDateField":"1914-06-26","stringDateTimeField":"1992-02-25T23:43:37Z","stringField":"sjqMyLv","stringTimeField":"22:42:36.16Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":-70,"numField":906.7455893729594,"stringDateField":"1914-06-26","stringDateTimeField":"1992-02-25T23:43:37Z","stringField":"sjqMyLv","stringTimeField":"22:42:36.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4302,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4302,"uuid":"9e0a8a18-5655-11ee-b001-675ed0f8e89b"},"arrayField":["asRb"],"boolField":true,"intField":-541,"numField":-399.2676399759395,"objField":{"IZdTArpWD":7718282765255158493,"mCPB":6653559017741228415,"uHvM":-768807014245646692,"uQRt":-8663055333245154544},"stringDateField":"1903-05-08","stringDateTimeField":"1959-09-19T11:45:03Z","stringField":"uHFe","stringTimeField":"04:59:50.46Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":-541,"numField":-399.2676399759395,"stringDateField":"1903-05-08","stringDateTimeField":"1959-09-19T11:45:03Z","stringField":"uHFe","stringTimeField":"04:59:50.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4303,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4303,"uuid":"9e0a8a18-5655-11ee-b401-675ed0f8e89b"},"arrayField":["rjmVvkiW","bvbD","RxBEpgR","pEjOnwMrh","ntLbqhW","DQvBqQ","TVLGP","HeVMdYAyW","qgOnqYQpf","GQLBKOg"],"boolField":true,"intField":-826,"numField":223.6541332905473,"objField":{"kbALGT":4797782107169180090},"stringDateField":"1908-05-12","stringDateTimeField":"1924-01-05T01:26:35Z","stringField":"YDOtduGlui","stringTimeField":"15:13:21.14Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":-826,"numField":223.6541332905473,"stringDateField":"1908-05-12","stringDateTimeField":"1924-01-05T01:26:35Z","stringField":"YDOtduGlui","stringTimeField":"15:13:21.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4304,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4304,"uuid":"9e0a8a18-5655-11ee-b801-675ed0f8e89b"},"arrayField":["eDFDtUqX"],"boolField":false,"intField":235,"numField":-333.5219744232114,"objField":{"iGasz":-4346248833037899397,"oCqZ":1223100237690762315},"stringDateField":"2014-09-05","stringDateTimeField":"1918-06-14T04:27:46Z","stringField":"zsQwRCUCAA","stringTimeField":"08:10:06.36Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":235,"numField":-333.5219744232114,"stringDateField":"2014-09-05","stringDateTimeField":"1918-06-14T04:27:46Z","stringField":"zsQwRCUCAA","stringTimeField":"08:10:06.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4305,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4305,"uuid":"9e0a8a18-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["rocUMKr","bjvMisK","cQSKiasPr","YSHyrqHUAg"],"boolField":true,"intField":146,"numField":-264.5212853363183,"objField":{"aSEUtkUlwF":4761494957577751927},"stringDateField":"2006-05-16","stringDateTimeField":"1978-02-13T15:15:24Z","stringField":"VMExDJc","stringTimeField":"08:31:15.15Z"},"flow_published_at":"2023-09-18T19:00:21.87638Z","intField":146,"numField":-264.5212853363183,"stringDateField":"2006-05-16","stringDateTimeField":"1978-02-13T15:15:24Z","stringField":"VMExDJc","stringTimeField":"08:31:15.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4306,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4306,"uuid":"9e0a8a19-5655-11ee-8001-675ed0f8e89b"},"arrayField":["RYsTHzU","knuKOKO","nLDB","NVVVI","DKRRntH","ObMKdUCu","svrKIz"],"boolField":true,"intField":283,"numField":918.6411065844976,"objField":{"Ampxqv":5152650163587264988,"AvBonaS":-3123030496202920136,"FOxomquTC":-558648434597081662,"MBDlEuUzCA":5475094550553562897,"SXJKDssEu":-5393855380990619319,"WeMR":-2999773324575602842,"dizwQv":659865466524715562,"hfmEmUj":-5780165820397995283,"nZvXC":-1346625214461044723,"vgfvEdWP":-1209889569608332762},"stringDateField":"1960-08-22","stringDateTimeField":"2017-02-17T07:24:27Z","stringField":"MbmBkyBm","stringTimeField":"02:49:39.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":283,"numField":918.6411065844976,"stringDateField":"1960-08-22","stringDateTimeField":"2017-02-17T07:24:27Z","stringField":"MbmBkyBm","stringTimeField":"02:49:39.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4307,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4307,"uuid":"9e0a8a19-5655-11ee-8401-675ed0f8e89b"},"arrayField":["yPESXQTr","oFZgOhzP","gBAag","hMQH"],"boolField":true,"intField":-168,"numField":-206.6627124108188,"objField":{"LJuQtMdz":2526679554544563819},"stringDateField":"1994-03-25","stringDateTimeField":"1987-04-18T16:07:12Z","stringField":"InhGVXyL","stringTimeField":"05:33:40.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":-168,"numField":-206.6627124108188,"stringDateField":"1994-03-25","stringDateTimeField":"1987-04-18T16:07:12Z","stringField":"InhGVXyL","stringTimeField":"05:33:40.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4308,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4308,"uuid":"9e0a8a19-5655-11ee-8801-675ed0f8e89b"},"arrayField":["LEWEZjapU","wDziqxIl","AMTXh","soLvm","icJDjuMC"],"boolField":true,"intField":828,"numField":-607.9220865675907,"objField":{"cCHWOrvkbF":4015657016608576760,"eOuv":-1041181988379243406,"iJWaGdx":8192689750680360035,"mOAtXleGIa":-6635991535564196404,"pWGDR":-3207166377875246008,"qyDU":2396853621447374912,"wbLHbAjkGv":-8988626340023899622,"zZSekEgXS":-3038503739576925155},"stringDateField":"1909-09-02","stringDateTimeField":"1942-07-14T18:56:33Z","stringField":"Cjqek","stringTimeField":"04:58:33.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":828,"numField":-607.9220865675907,"stringDateField":"1909-09-02","stringDateTimeField":"1942-07-14T18:56:33Z","stringField":"Cjqek","stringTimeField":"04:58:33.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4309,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4309,"uuid":"9e0a8a19-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["hEvmWXt","Jzzz","nCCDwYlO","GSGXalcD","jKpSjgIMk","BWXQ","PFBbBmI","ucOoPTK","bNvKeotKZH"],"boolField":false,"intField":-802,"numField":-638.4124056648186,"objField":{"QqssanAGQ":5490120350743517624,"XUIz":-7379490162119137445,"XwVZsHSkKS":2499128150526630262,"myNTa":761256132431240367,"wozgkL":-4631702916294181133},"stringDateField":"1971-11-18","stringDateTimeField":"1975-06-23T10:21:23Z","stringField":"nDVYpTROm","stringTimeField":"20:24:06.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":-802,"numField":-638.4124056648186,"stringDateField":"1971-11-18","stringDateTimeField":"1975-06-23T10:21:23Z","stringField":"nDVYpTROm","stringTimeField":"20:24:06.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4310,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4310,"uuid":"9e0a8a19-5655-11ee-9001-675ed0f8e89b"},"arrayField":["IAdEDRwJB","KwyPuhiyU","SsnAG","lWXZAJ","MMEXYnCK","FYBVYuL","qKxv","ZvgG"],"boolField":false,"intField":-877,"numField":895.530041496166,"objField":{"XikODCUP":-991883089673125856,"jGLTAdq":-842037826875063816},"stringDateField":"1940-02-29","stringDateTimeField":"1930-10-14T00:06:20Z","stringField":"GsrVTg","stringTimeField":"00:38:21.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":-877,"numField":895.530041496166,"stringDateField":"1940-02-29","stringDateTimeField":"1930-10-14T00:06:20Z","stringField":"GsrVTg","stringTimeField":"00:38:21.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4311,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4311,"uuid":"9e0a8a19-5655-11ee-9401-675ed0f8e89b"},"arrayField":["twOlR","jWOifsFDI"],"boolField":false,"intField":-897,"numField":834.8075680433711,"objField":{"LjjxVwCQgY":-6096675172255774252,"krjbG":1865874921330864390,"lPGTdIujuF":4146193297984248469},"stringDateField":"2011-01-14","stringDateTimeField":"1913-05-08T08:25:22Z","stringField":"SeUdbXHU","stringTimeField":"01:07:03.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":-897,"numField":834.8075680433711,"stringDateField":"2011-01-14","stringDateTimeField":"1913-05-08T08:25:22Z","stringField":"SeUdbXHU","stringTimeField":"01:07:03.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4312,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4312,"uuid":"9e0a8a19-5655-11ee-9801-675ed0f8e89b"},"arrayField":["ryyEYJCu"],"boolField":true,"intField":-25,"numField":116.05633672749316,"objField":{"GegbQH":-4191705015844753980,"TBdGYyj":-6542045280347450891,"WnUl":-993919653345821878,"YTqZSVdz":4528226023660472182,"kNgh":-4826219441919065870},"stringDateField":"1995-03-18","stringDateTimeField":"2002-10-01T14:54:19Z","stringField":"XSzd","stringTimeField":"15:18:52.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":-25,"numField":116.05633672749316,"stringDateField":"1995-03-18","stringDateTimeField":"2002-10-01T14:54:19Z","stringField":"XSzd","stringTimeField":"15:18:52.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4313,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4313,"uuid":"9e0a8a19-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["iemCQDBe","erIQv","aUydYKA","hjpqKCaWYr","eVjyIDCoN","TOnvcHg","IuLAj"],"boolField":true,"intField":322,"numField":-122.84631575865734,"objField":{"KDIKrh":8219727172239842139,"OVRM":7875803514183562694,"VJkXmFW":-976956295671094532,"chjSyi":6407225650215270528,"dpKWOph":-7320391361764778070,"iShYc":2116880059725816951,"kobYW":-1219275892206997932,"puwQHTmA":-3546221720775454187},"stringDateField":"1931-08-10","stringDateTimeField":"2017-01-16T08:36:25Z","stringField":"tcVlJ","stringTimeField":"15:07:13.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":322,"numField":-122.84631575865734,"stringDateField":"1931-08-10","stringDateTimeField":"2017-01-16T08:36:25Z","stringField":"tcVlJ","stringTimeField":"15:07:13.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4314,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4314,"uuid":"9e0a8a19-5655-11ee-a001-675ed0f8e89b"},"arrayField":["aNxXL","hLGqFKY"],"boolField":false,"intField":-741,"numField":-133.51318978012915,"objField":{"LXsx":6726478894702763731},"stringDateField":"1938-01-21","stringDateTimeField":"1975-09-04T01:33:59Z","stringField":"kCnuvCx","stringTimeField":"14:04:23.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":-741,"numField":-133.51318978012915,"stringDateField":"1938-01-21","stringDateTimeField":"1975-09-04T01:33:59Z","stringField":"kCnuvCx","stringTimeField":"14:04:23.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4315,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4315,"uuid":"9e0a8a19-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ximqiot"],"boolField":false,"intField":504,"numField":5.471346308295821,"objField":{"KcWh":4825462257348723823,"RNJvvph":1153126813649035761,"Xgshpg":-7998704691263770249,"lCABx":-8733873744821342381,"uCesdNdt":5246006655828000482,"wWfhkzrZu":-7947967104701445887},"stringDateField":"2001-02-16","stringDateTimeField":"1908-05-01T00:56:32Z","stringField":"ZQUmSTLlrW","stringTimeField":"15:30:06.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":504,"numField":5.471346308295821,"stringDateField":"2001-02-16","stringDateTimeField":"1908-05-01T00:56:32Z","stringField":"ZQUmSTLlrW","stringTimeField":"15:30:06.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4316,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4316,"uuid":"9e0a8a19-5655-11ee-a801-675ed0f8e89b"},"arrayField":["EIAoFiB","gCYESJM","LUhssn","gpTnsaMcXX","abniDr","AyGYx","ioUAuzFhx","WBKrONpdm","OYWFeK"],"boolField":true,"intField":529,"numField":95.67397425317358,"objField":{"Ufsr":-2908649431717140029,"YosywYFlC":-5202875316318444727},"stringDateField":"1900-12-25","stringDateTimeField":"2009-04-30T13:30:42Z","stringField":"mQBYzE","stringTimeField":"23:24:45.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":529,"numField":95.67397425317358,"stringDateField":"1900-12-25","stringDateTimeField":"2009-04-30T13:30:42Z","stringField":"mQBYzE","stringTimeField":"23:24:45.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4317,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4317,"uuid":"9e0a8a19-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["WAYGaMFU","RkXaCcDnM"],"boolField":true,"intField":757,"numField":-237.8176764179221,"objField":{"GdCVkunNNk":-5121445409806522074,"hmcdZXDBmK":-6980339417997062560,"mXJuTPhi":-3349251854230388616,"ohuXOFWf":4333801705025539666,"zfidD":-1387853538290540713},"stringDateField":"1963-08-26","stringDateTimeField":"1937-10-30T15:37:09Z","stringField":"gEfppZa","stringTimeField":"01:21:56.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":757,"numField":-237.8176764179221,"stringDateField":"1963-08-26","stringDateTimeField":"1937-10-30T15:37:09Z","stringField":"gEfppZa","stringTimeField":"01:21:56.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4318,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4318,"uuid":"9e0a8a19-5655-11ee-b001-675ed0f8e89b"},"arrayField":["OjyEFGE","MkFlqq","BBTsq","nSDQ"],"boolField":true,"intField":312,"numField":225.7391761954424,"objField":{"HNsJlJeD":-201962644686230102,"IjPScN":1927930304338848437,"RWOuAi":-4757324597310431841,"SUHAm":8827299718997408235,"dTKCh":-8227457319723219487,"eChpXyimCl":273184853554216278,"lsMKa":-7518823527223584342,"mLaRopPuYh":-7327406303999693388,"uolEFAUc":7877965382960023965,"wQgbE":6055454580350373074},"stringDateField":"1928-05-10","stringDateTimeField":"1931-06-28T11:03:16Z","stringField":"zlLQqdrPr","stringTimeField":"22:48:22.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":312,"numField":225.7391761954424,"stringDateField":"1928-05-10","stringDateTimeField":"1931-06-28T11:03:16Z","stringField":"zlLQqdrPr","stringTimeField":"22:48:22.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4319,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4319,"uuid":"9e0a8a19-5655-11ee-b401-675ed0f8e89b"},"arrayField":["QMHsYT","UrhJsLklq"],"boolField":true,"intField":-719,"numField":35.491481645034014,"objField":{"fXjRkWQZk":7808066078986470680,"fawOlOTwZ":9217994198799156765,"oLmWUTmhr":-556173566736392791,"tmkBUUu":-6417059834851551236},"stringDateField":"1986-09-01","stringDateTimeField":"1985-03-02T11:00:03Z","stringField":"BkAz","stringTimeField":"06:43:51.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":-719,"numField":35.491481645034014,"stringDateField":"1986-09-01","stringDateTimeField":"1985-03-02T11:00:03Z","stringField":"BkAz","stringTimeField":"06:43:51.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4320,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4320,"uuid":"9e0a8a19-5655-11ee-b801-675ed0f8e89b"},"arrayField":["AqVYe","hsHe"],"boolField":true,"intField":-313,"numField":627.4640295405273,"objField":{"BJZeMV":2943728701437193521,"CRJGFiu":-2066011517578426811,"GblJQB":4698619372883484238,"HGfPPHbPT":-7641995726681014731,"HZuLwdda":-4826847318712358530,"SAalbiLKv":2441951056362753603,"VJGMKctY":4306755756373802976,"dfxSqqIDWf":2225249242005584414,"inFCX":2639954201232964669,"sEmu":5805646793302351099},"stringDateField":"1972-05-22","stringDateTimeField":"1957-11-19T21:57:14Z","stringField":"EkeHMkGNYE","stringTimeField":"17:30:41.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":-313,"numField":627.4640295405273,"stringDateField":"1972-05-22","stringDateTimeField":"1957-11-19T21:57:14Z","stringField":"EkeHMkGNYE","stringTimeField":"17:30:41.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4321,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4321,"uuid":"9e0a8a19-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["YAUt","NGZKdqTuj","vPzHLtzc","DfxV","ZxUcSDJf","frxOsj","qBLVeqktxp"],"boolField":true,"intField":-386,"numField":-204.66994607532615,"objField":{"ByZHDuXnB":230449295659731292,"OcxGg":3754857615481605322,"hFHkEIKk":-7349794868889312892,"vzRvdhuP":1270684055791646457},"stringDateField":"1973-08-14","stringDateTimeField":"1987-10-14T23:05:25Z","stringField":"BBRCbRCe","stringTimeField":"16:57:58.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763801Z","intField":-386,"numField":-204.66994607532615,"stringDateField":"1973-08-14","stringDateTimeField":"1987-10-14T23:05:25Z","stringField":"BBRCbRCe","stringTimeField":"16:57:58.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4322,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4322,"uuid":"9e0a8a1a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["qYOaF","hhGZbbYHWU","fsoNAn","PQcNZyhc","lSMHuPSOJ"],"boolField":false,"intField":866,"numField":768.6848836402103,"objField":{"BpyHFI":6206278853536102295,"KpsIIUi":-2929093429787295746,"PEgSDNAU":-271318216168962004,"RULWBI":426406133120316665,"WlDGwFG":640266124427647590},"stringDateField":"1987-05-20","stringDateTimeField":"1929-08-07T23:50:00Z","stringField":"VnHdJp","stringTimeField":"03:52:49.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":866,"numField":768.6848836402103,"stringDateField":"1987-05-20","stringDateTimeField":"1929-08-07T23:50:00Z","stringField":"VnHdJp","stringTimeField":"03:52:49.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4323,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4323,"uuid":"9e0a8a1a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["pSsk","trgf","sXRtZckTS","LQoZur","zjFbL","WYsaen","AdVxokFF","dlHqBqyd"],"boolField":false,"intField":970,"numField":26.64861280727027,"objField":{"AKTNdDGlZ":-6228684436491344021,"ENOf":-7971943356796691156,"UOgTl":5226283524856285926,"XPEWug":8558119892512117420,"efJTttm":5162570742294595707,"eiYB":244826794019901225,"mZxmVdRvGe":-6177346515128084095,"mlBq":-7414103397142523300,"ttjPPrQR":-840162947585929193},"stringDateField":"1943-12-31","stringDateTimeField":"2006-06-10T20:36:24Z","stringField":"ZEJxs","stringTimeField":"18:01:17.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":970,"numField":26.64861280727027,"stringDateField":"1943-12-31","stringDateTimeField":"2006-06-10T20:36:24Z","stringField":"ZEJxs","stringTimeField":"18:01:17.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4324,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4324,"uuid":"9e0a8a1a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["suOfzuc","KIgiCUCx","vCmkiuVU","tAbX"],"boolField":true,"intField":-765,"numField":-767.443376600574,"objField":{"CohIRe":522972965697387493,"CvEpRIxB":7050051022273531019,"FxEH":-6848929097633434089,"JAFTA":-4124500863639553052,"KpvUgp":949436268534088297,"MtwFw":-4973735560527911819,"gPERfNquF":7081894376732195851,"kKBiBd":-3666016240669089899,"lsFZXcISxd":131866474579490935,"yNWJZu":5059774263139517747},"stringDateField":"1906-02-01","stringDateTimeField":"1906-11-29T19:23:42Z","stringField":"ltLLfyO","stringTimeField":"00:29:27.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":-765,"numField":-767.443376600574,"stringDateField":"1906-02-01","stringDateTimeField":"1906-11-29T19:23:42Z","stringField":"ltLLfyO","stringTimeField":"00:29:27.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4325,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4325,"uuid":"9e0a8a1a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["wqoFmUyhvo","EbCv","VoUNYhuFMu","ldLJhDFHrz","QVaWDmjf","dPRUuF","SXPZLFRK","nsml","ToCbxtnePf"],"boolField":false,"intField":15,"numField":-548.720943136252,"objField":{"DhuhJFUt":2014104590107695778,"LjfSGeYixk":6842939774116230274,"NOXGS":8388584389556211307,"cACqx":7559295568565726700,"ciAKbpl":-3725963243384378227,"pGDJSvVdMm":-5294041971941790922},"stringDateField":"1913-03-05","stringDateTimeField":"1999-09-17T04:23:15Z","stringField":"Lkhx","stringTimeField":"15:06:20.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":15,"numField":-548.720943136252,"stringDateField":"1913-03-05","stringDateTimeField":"1999-09-17T04:23:15Z","stringField":"Lkhx","stringTimeField":"15:06:20.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4326,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4326,"uuid":"9e0a8a1a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["dbXXJOCr","SSNrx"],"boolField":true,"intField":-176,"numField":375.75614692167767,"objField":{"ERTTFErbv":614215283742217893,"IpKyWe":7404598720064384753,"NQQyFcCWd":5233262781594894631,"PvaG":289327495372167841,"lOYxVuOGdE":-5857319093980788782,"lPuQxZC":3682117546024935381,"rNdXOiq":-1969932299390850487},"stringDateField":"1966-02-15","stringDateTimeField":"1998-03-05T18:00:49Z","stringField":"pqTiul","stringTimeField":"08:59:17.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":-176,"numField":375.75614692167767,"stringDateField":"1966-02-15","stringDateTimeField":"1998-03-05T18:00:49Z","stringField":"pqTiul","stringTimeField":"08:59:17.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4327,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4327,"uuid":"9e0a8a1a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["fLSuAU","PvzLWElsq","RBMTvPCa","wMaQqQYBF","YzjMGpgFz","aHQD","MwSE","nRkLQxG"],"boolField":true,"intField":579,"numField":-921.3384225133188,"objField":{"ArbAXWQJh":-5480689824413879150},"stringDateField":"1947-06-24","stringDateTimeField":"1954-09-08T16:13:24Z","stringField":"rohJjUWo","stringTimeField":"00:15:45.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":579,"numField":-921.3384225133188,"stringDateField":"1947-06-24","stringDateTimeField":"1954-09-08T16:13:24Z","stringField":"rohJjUWo","stringTimeField":"00:15:45.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4328,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4328,"uuid":"9e0a8a1a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["pXruyiLmsl","IRIqATdZAA"],"boolField":true,"intField":272,"numField":-972.1461615592242,"objField":{"bucYePq":-3621719926279536005},"stringDateField":"1971-04-23","stringDateTimeField":"1947-02-27T03:49:22Z","stringField":"zSdl","stringTimeField":"07:59:16.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":272,"numField":-972.1461615592242,"stringDateField":"1971-04-23","stringDateTimeField":"1947-02-27T03:49:22Z","stringField":"zSdl","stringTimeField":"07:59:16.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4329,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4329,"uuid":"9e0a8a1a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["UXUCoAlwky","CopkEfjfH"],"boolField":false,"intField":-132,"numField":568.5364184177201,"objField":{"BWQxCBK":7968469429876338549,"GrhxHrCxi":275166109396399843,"IeSkttJxu":-330398274717060982,"Tiorv":-4544413399891220708,"WtWOlA":923361102659922911,"daQTofUb":642625418384656352,"igYSA":7228018910937394114,"lBMyBMX":-997205151686139186,"lciaiud":822018341565705924,"oeGsI":6546480671700878565},"stringDateField":"1942-12-06","stringDateTimeField":"1936-11-17T22:04:12Z","stringField":"VYoLs","stringTimeField":"09:34:45.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":-132,"numField":568.5364184177201,"stringDateField":"1942-12-06","stringDateTimeField":"1936-11-17T22:04:12Z","stringField":"VYoLs","stringTimeField":"09:34:45.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4330,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4330,"uuid":"9e0a8a1a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["WsWVyb","staApvQIJl"],"boolField":true,"intField":-542,"numField":563.1961320525713,"objField":{"ypzchM":6478316041211597595},"stringDateField":"1930-10-03","stringDateTimeField":"1920-06-22T09:46:53Z","stringField":"dxqvzDmd","stringTimeField":"23:55:23.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":-542,"numField":563.1961320525713,"stringDateField":"1930-10-03","stringDateTimeField":"1920-06-22T09:46:53Z","stringField":"dxqvzDmd","stringTimeField":"23:55:23.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4331,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4331,"uuid":"9e0a8a1a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["GnLR","FedByXOJ","jKmExiI","MOAl","JSCiKEyiO","fjLM"],"boolField":true,"intField":278,"numField":460.67251864282065,"objField":{"quZsUYf":5538848223780151941},"stringDateField":"1983-09-12","stringDateTimeField":"1963-02-17T08:02:27Z","stringField":"vEGlusqR","stringTimeField":"02:13:31.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":278,"numField":460.67251864282065,"stringDateField":"1983-09-12","stringDateTimeField":"1963-02-17T08:02:27Z","stringField":"vEGlusqR","stringTimeField":"02:13:31.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4332,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4332,"uuid":"9e0a8a1a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ewiSTksmH","QZzdns","bFmJGmgC","BOGi"],"boolField":true,"intField":511,"numField":365.05099803231735,"objField":{"DwCjeLiQr":3943759900502144625,"KswUArz":316526359386211994,"UVNAyZHn":-3851802663370076077,"odUKnolUXT":7503892791014652735,"tAHowR":2048405776520004052},"stringDateField":"1922-04-19","stringDateTimeField":"1949-10-24T16:20:48Z","stringField":"IfArmK","stringTimeField":"16:46:29.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":511,"numField":365.05099803231735,"stringDateField":"1922-04-19","stringDateTimeField":"1949-10-24T16:20:48Z","stringField":"IfArmK","stringTimeField":"16:46:29.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4333,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4333,"uuid":"9e0a8a1a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["kILnyF","QrtB","RvFWJ"],"boolField":true,"intField":-260,"numField":-605.2067682085755,"objField":{"JLTlGNwvtM":9125925664547318473,"MKxPu":718447019178887058,"VKzYBSDiD":-3605615690695621684,"WJuLl":-1625569354291446809,"cWBcXwBVMr":2094140821679330279,"efye":-6289885818045990397,"gwiQzCgK":8597571868156369261,"oSAGFVHY":-4916591166868306335,"qFKuyyTe":5186318847071002633},"stringDateField":"1919-09-24","stringDateTimeField":"1945-01-21T14:06:16Z","stringField":"lKIqoJjV","stringTimeField":"10:54:55.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":-260,"numField":-605.2067682085755,"stringDateField":"1919-09-24","stringDateTimeField":"1945-01-21T14:06:16Z","stringField":"lKIqoJjV","stringTimeField":"10:54:55.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4334,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4334,"uuid":"9e0a8a1a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["IioIV","LazWxlVP","KFjdlIp","urlwVLc","djfqiqz","qmrUBYK","hhneoSQ","wZaFcyhz","knSyGSDumh","YUySDD"],"boolField":true,"intField":53,"numField":-870.7776839636579,"objField":{"FWbHCoKZI":2383449088850793431,"PGxipNBQ":2424151488587177173,"QoJutO":-4068174252604883320,"RayPWtvdm":-3016356665244292271,"cKXsoKgFrx":-2002879076120734802,"dRYBPwT":-5827034769110187367,"rkrcpgNjkU":3409813238440047937},"stringDateField":"2008-06-13","stringDateTimeField":"1937-06-22T01:55:32Z","stringField":"LoIHFv","stringTimeField":"09:31:00.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":53,"numField":-870.7776839636579,"stringDateField":"2008-06-13","stringDateTimeField":"1937-06-22T01:55:32Z","stringField":"LoIHFv","stringTimeField":"09:31:00.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4335,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4335,"uuid":"9e0a8a1a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["jcUUUz","cirHuNh","QaDEPBjkwD","RIRGTsIL","yLEsx","WOKKbmVZn","NroiXum"],"boolField":true,"intField":401,"numField":782.1206924633117,"objField":{"PKbhAAzPH":3351065745917524917,"PxRFvr":2462159045988930278,"QQQHkRLeO":3317345434950384626,"WbEWjmnXj":-1683711001188483168,"cAHsNDniHJ":9056237090944071317,"dZGndD":-848016589972932411,"jkhSoXDC":-6724642015618432117,"rgOsq":-7372252349574638663},"stringDateField":"1998-06-06","stringDateTimeField":"1909-09-22T20:28:28Z","stringField":"vqcaZJ","stringTimeField":"07:35:49.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":401,"numField":782.1206924633117,"stringDateField":"1998-06-06","stringDateTimeField":"1909-09-22T20:28:28Z","stringField":"vqcaZJ","stringTimeField":"07:35:49.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4336,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4336,"uuid":"9e0a8a1a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["Uflp","svoib","LEQigm","NDkrQ","ROnkJ","fQJcCDE","gcRkoO"],"boolField":false,"intField":-807,"numField":-630.9591491612941,"objField":{"EeeXwQrx":-3015512405405334089,"FLocJM":-4480922252864525122,"KYppOE":838465614800789199,"KgCv":2803073283085020241,"ehLbjGUmTT":8952156278624766088,"pbuhF":704059295922288311,"ykXNmcQ":8768148027150659906,"zCZyia":-6201954358078474640},"stringDateField":"1959-03-17","stringDateTimeField":"1907-05-23T16:05:02Z","stringField":"uiTTQ","stringTimeField":"05:10:52.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":-807,"numField":-630.9591491612941,"stringDateField":"1959-03-17","stringDateTimeField":"1907-05-23T16:05:02Z","stringField":"uiTTQ","stringTimeField":"05:10:52.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4337,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4337,"uuid":"9e0a8a1a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["FbvEer","GAGafVBpOD","OhDAEJSHOk","BLxYuMjWm","YGKPoAqy","NQkcKJmrd","bJMNdytTL"],"boolField":true,"intField":-364,"numField":-923.3438470115058,"objField":{"NlPJQr":-5984442674075592497,"NrShQkPh":6856291151990406599,"PIfBE":-1605171470797927852,"RzCS":-847628657567697843,"UhnUHjO":-3811182390142853011,"aFMKC":6671368090843457321,"cRUADdKnx":-5539271145157182011,"lFlPLSv":-6705675466233105094,"mTVvH":4535641188181253838},"stringDateField":"1908-09-18","stringDateTimeField":"2022-08-01T08:48:03Z","stringField":"uObarROxe","stringTimeField":"04:11:22.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763802Z","intField":-364,"numField":-923.3438470115058,"stringDateField":"1908-09-18","stringDateTimeField":"2022-08-01T08:48:03Z","stringField":"uObarROxe","stringTimeField":"04:11:22.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4338,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4338,"uuid":"9e0a8a1b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["AEhJX","qqgVqpEh","cmXdXJTl","dimQsgLBB","FAoIa"],"boolField":true,"intField":386,"numField":-103.318311518263,"objField":{"FdkSp":6779819351876288374,"NqrkDS":-577946572895105247,"PZdOd":4241475052299212912,"bbHarmG":952710019713602168,"tCvtqSjj":5061003964036147709,"uDyJ":716137717423098000,"vZosqfruDB":-7816994607821274406,"wKaKLpr":2705442663929946755,"zfcC":-2008605221643002002},"stringDateField":"1914-07-09","stringDateTimeField":"1960-10-15T08:29:30Z","stringField":"NUkRU","stringTimeField":"07:38:01.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":386,"numField":-103.318311518263,"stringDateField":"1914-07-09","stringDateTimeField":"1960-10-15T08:29:30Z","stringField":"NUkRU","stringTimeField":"07:38:01.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4339,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4339,"uuid":"9e0a8a1b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["WsWCFwnDus","MJYyEZme","UlJi"],"boolField":true,"intField":-950,"numField":-377.0246310152343,"objField":{"ITCagifgD":-2294408904248882100,"RokHG":-7214926658457766930,"SVjbuOip":1854151288138582759,"TFdnex":2540451068751811293,"rNsxEPhn":1828197805809012464,"unKuwH":-7010831105266348731,"vVbsufyWIV":1392884846540037903},"stringDateField":"1952-03-23","stringDateTimeField":"2019-11-07T21:38:37Z","stringField":"hKEFOrkmLS","stringTimeField":"19:27:28.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":-950,"numField":-377.0246310152343,"stringDateField":"1952-03-23","stringDateTimeField":"2019-11-07T21:38:37Z","stringField":"hKEFOrkmLS","stringTimeField":"19:27:28.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4340,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4340,"uuid":"9e0a8a1b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["YIprVvPe","XrToOVSqzs","Vfvliv","DZiNTtp","bvAp","UaCtDVj","VcLZANZT","EaKhL"],"boolField":false,"intField":1000,"numField":-242.57170074856697,"objField":{"HlcCpj":-3678656999466572912,"MkHLJoMRh":-3844275743795482394,"UTpwdDn":1156969043545948362,"UdHpBC":-8529023705993576734,"VKCs":-1501310530173127704,"WZgO":-7781291066254743811,"YbPtJZ":8297055416661406484,"YznvBajL":3058214813004938642,"bOHP":523022938116222865,"pfvSQ":-2418067393801884990},"stringDateField":"2021-03-05","stringDateTimeField":"1998-03-31T14:28:58Z","stringField":"Mwghpi","stringTimeField":"13:55:51.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":1000,"numField":-242.57170074856697,"stringDateField":"2021-03-05","stringDateTimeField":"1998-03-31T14:28:58Z","stringField":"Mwghpi","stringTimeField":"13:55:51.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4341,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4341,"uuid":"9e0a8a1b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["tyZfFBoOA","wQpPkVb","rdFO"],"boolField":true,"intField":-225,"numField":567.0933613708229,"objField":{"LUpRKHuD":-3423396918918128984,"VucWbPolaN":-8123910134070465152,"goNYzBjRG":2447342343326016807,"mOZV":-1380117145242960341,"nCDsTdUc":6691235069039538598},"stringDateField":"2001-05-28","stringDateTimeField":"1957-12-01T20:51:05Z","stringField":"ohzIXcmU","stringTimeField":"08:12:43.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":-225,"numField":567.0933613708229,"stringDateField":"2001-05-28","stringDateTimeField":"1957-12-01T20:51:05Z","stringField":"ohzIXcmU","stringTimeField":"08:12:43.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4342,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4342,"uuid":"9e0a8a1b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["MDIhSMIMl"],"boolField":false,"intField":-391,"numField":324.39286695715253,"objField":{"AHiMSmJrr":-3503442755670212097},"stringDateField":"1948-02-03","stringDateTimeField":"2011-07-09T04:16:05Z","stringField":"oXdMqk","stringTimeField":"11:04:13.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":-391,"numField":324.39286695715253,"stringDateField":"1948-02-03","stringDateTimeField":"2011-07-09T04:16:05Z","stringField":"oXdMqk","stringTimeField":"11:04:13.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4343,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4343,"uuid":"9e0a8a1b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["LODFnaNNJd","LxDrAeKP","JcLY","XHfmdJpzJ","FazRLGpn"],"boolField":true,"intField":-801,"numField":801.7760455919012,"objField":{"mGjfuDPuFp":-4162131071716216612},"stringDateField":"1981-08-26","stringDateTimeField":"1949-01-18T07:09:24Z","stringField":"Myuo","stringTimeField":"00:37:01.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":-801,"numField":801.7760455919012,"stringDateField":"1981-08-26","stringDateTimeField":"1949-01-18T07:09:24Z","stringField":"Myuo","stringTimeField":"00:37:01.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4344,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4344,"uuid":"9e0a8a1b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["lZRxoW","YZnxutPXIR"],"boolField":true,"intField":-385,"numField":-485.24750075289046,"objField":{"IzJSSn":3679230879726950012,"SlJyS":2704927451576012715,"sBHwr":5547926324021290051,"vahK":916430343499559146},"stringDateField":"1920-02-02","stringDateTimeField":"1982-08-24T06:34:24Z","stringField":"dqcAoIL","stringTimeField":"11:14:34.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":-385,"numField":-485.24750075289046,"stringDateField":"1920-02-02","stringDateTimeField":"1982-08-24T06:34:24Z","stringField":"dqcAoIL","stringTimeField":"11:14:34.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4345,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4345,"uuid":"9e0a8a1b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["XplxeUIAh","hivBjiAmAe","nwyxpA","GnAw","kooxrtBlEj","DlCYEEmc","zWWKAPqvW"],"boolField":false,"intField":-905,"numField":-317.7929257716878,"objField":{"IBiPJI":-740705943264759881,"PYXrieA":8670335045279134537,"cfHAu":-681442946913171996,"fTWhOu":-7157174786516845881,"rEMXElp":-519558345857252450,"xyFNXkpZXl":-6156015037959956234},"stringDateField":"1947-04-10","stringDateTimeField":"2005-09-29T12:00:09Z","stringField":"zKnIQy","stringTimeField":"20:31:38.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":-905,"numField":-317.7929257716878,"stringDateField":"1947-04-10","stringDateTimeField":"2005-09-29T12:00:09Z","stringField":"zKnIQy","stringTimeField":"20:31:38.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4346,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4346,"uuid":"9e0a8a1b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["YywQ","QtihOVmDUv","AtKHFlZVnn","ZQhnzYQXv","yBiLg"],"boolField":true,"intField":288,"numField":-681.2330185714221,"objField":{"qRJj":3176066270887359076},"stringDateField":"1993-01-30","stringDateTimeField":"2023-10-16T10:20:31Z","stringField":"EPOj","stringTimeField":"01:40:55.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":288,"numField":-681.2330185714221,"stringDateField":"1993-01-30","stringDateTimeField":"2023-10-16T10:20:31Z","stringField":"EPOj","stringTimeField":"01:40:55.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4347,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4347,"uuid":"9e0a8a1b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["sqVoaDcIBA"],"boolField":false,"intField":19,"numField":-384.17741980305254,"objField":{"CFDFr":307446689580130611,"FcbhmlABm":-6764424291560651760,"OTFIyFoa":3198915633988348122,"vXGIoEFzW":5598849224986745183},"stringDateField":"1991-03-25","stringDateTimeField":"1961-11-29T01:12:01Z","stringField":"GecmZxHgbl","stringTimeField":"03:37:06.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":19,"numField":-384.17741980305254,"stringDateField":"1991-03-25","stringDateTimeField":"1961-11-29T01:12:01Z","stringField":"GecmZxHgbl","stringTimeField":"03:37:06.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4348,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4348,"uuid":"9e0a8a1b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["SrXaeqgoq","GYOYg","ztkFRu","PUXnJS"],"boolField":false,"intField":15,"numField":-431.40174177825065,"objField":{"GujUk":-8182328459162197815,"JLgUAKT":3220365170971638150,"QJPyrf":7659074231295014963,"gGupwz":-7932829052713435982,"hTicvnVcT":1971697281644605240,"qnqfSaQKbs":-3846718025087307997},"stringDateField":"1926-10-15","stringDateTimeField":"1975-11-04T03:30:35Z","stringField":"YczXcut","stringTimeField":"03:02:02.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":15,"numField":-431.40174177825065,"stringDateField":"1926-10-15","stringDateTimeField":"1975-11-04T03:30:35Z","stringField":"YczXcut","stringTimeField":"03:02:02.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4349,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4349,"uuid":"9e0a8a1b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["iSau","DzVt","VMxRXuSPc","lmUz","laNYiJvY","cMORfI","ZMlwhRRHRa","YpbcvQv","qMdERdlEVT"],"boolField":false,"intField":844,"numField":775.8248468963085,"objField":{"WhBC":86110835701417766,"bEZxclKf":-1869575812199602433,"icWXEQ":3608792983304874922,"tJYbzZKQu":2878717740821407986},"stringDateField":"1944-02-07","stringDateTimeField":"1931-08-23T23:30:35Z","stringField":"vIIIBIwacJ","stringTimeField":"13:57:57.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":844,"numField":775.8248468963085,"stringDateField":"1944-02-07","stringDateTimeField":"1931-08-23T23:30:35Z","stringField":"vIIIBIwacJ","stringTimeField":"13:57:57.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4350,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4350,"uuid":"9e0a8a1b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["Hplfh","gHNd","YtkHd","zCySRRCv","wgpzusZj","wJxD","nEMykXsjI"],"boolField":true,"intField":-73,"numField":-401.22302966147214,"objField":{"IrxOLCd":-2599219397288795157,"JCxqexrEG":6818549170696887500,"PEony":-2452639178246605308,"Wemaerm":4135930257025797713,"ciXIvS":2834505877606725941,"eBygVi":1630942401009948591,"qQMut":-6731427160015499855,"rjqHmQD":-4447965242430036244,"uTVb":2252995664241297945,"zWxIgwp":-4011345177192152145},"stringDateField":"1985-03-10","stringDateTimeField":"2013-08-20T15:19:28Z","stringField":"xJevxHZlZj","stringTimeField":"10:29:10.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":-73,"numField":-401.22302966147214,"stringDateField":"1985-03-10","stringDateTimeField":"2013-08-20T15:19:28Z","stringField":"xJevxHZlZj","stringTimeField":"10:29:10.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4351,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4351,"uuid":"9e0a8a1b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["CCBxS","ZQqtgYir","oLZPzirT","bcUYNRnD","JQtQUz","CSjjyPnVR","cYmerVLB","NfmpQP","sLoPTSsE"],"boolField":true,"intField":573,"numField":-173.77622311285367,"objField":{"CDcMklA":7873634170558514535,"HjDWpz":3556847427720530824,"WDNKi":2918217411132762729,"bjCLHCSK":-2404595612569743455,"lFaFi":3567058509013594461},"stringDateField":"1997-03-27","stringDateTimeField":"1935-01-14T04:27:52Z","stringField":"BKvZwe","stringTimeField":"04:07:16.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":573,"numField":-173.77622311285367,"stringDateField":"1997-03-27","stringDateTimeField":"1935-01-14T04:27:52Z","stringField":"BKvZwe","stringTimeField":"04:07:16.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4352,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4352,"uuid":"9e0a8a1b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["mfyJzOwaQ","iXQq"],"boolField":false,"intField":14,"numField":-813.2925881319666,"objField":{"JLsVY":6796815238399465978,"MyDvB":8207567450723360687,"VQoqADMf":-9172913780837322171,"VgEToEvf":1847496377177903412,"VihOG":6143067868071490046,"fnFaA":5220892557441761970,"oZqAkNvGnz":-1360861701842164988},"stringDateField":"1984-07-05","stringDateTimeField":"1946-09-09T19:46:29Z","stringField":"YvlTl","stringTimeField":"08:18:10.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":14,"numField":-813.2925881319666,"stringDateField":"1984-07-05","stringDateTimeField":"1946-09-09T19:46:29Z","stringField":"YvlTl","stringTimeField":"08:18:10.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4353,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4353,"uuid":"9e0a8a1b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["VFfmzG","FOidSpRGT"],"boolField":true,"intField":-433,"numField":-636.3416133008461,"objField":{"AbebOLqCq":-3013392287894593661,"LjdHINQ":1226895924030172693,"NLGhzBBA":4609045353579458007,"YdYxjdc":-6305889111560106367,"hEiMXL":3614128230594232513,"nWbVysE":3263407821478877502,"nfBgwS":3522191584294809032},"stringDateField":"1945-01-04","stringDateTimeField":"1905-11-23T23:47:16Z","stringField":"MQAMGwDN","stringTimeField":"23:13:34.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763803Z","intField":-433,"numField":-636.3416133008461,"stringDateField":"1945-01-04","stringDateTimeField":"1905-11-23T23:47:16Z","stringField":"MQAMGwDN","stringTimeField":"23:13:34.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4354,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4354,"uuid":"9e0a8a1c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["MYLZmt","AEZrnXRsH"],"boolField":true,"intField":590,"numField":-233.86604614343588,"objField":{"BkBrWTCS":6451647242613163917,"LipN":6027655205372158095,"MgZh":703314308816773812,"dSyH":-4423742148950570464,"fgSRfEoHhj":-9195112369822927799,"kLOjZz":-2634335407544306371},"stringDateField":"1900-03-07","stringDateTimeField":"1959-06-08T05:09:00Z","stringField":"PqCYKKVzI","stringTimeField":"00:18:10.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":590,"numField":-233.86604614343588,"stringDateField":"1900-03-07","stringDateTimeField":"1959-06-08T05:09:00Z","stringField":"PqCYKKVzI","stringTimeField":"00:18:10.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4355,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4355,"uuid":"9e0a8a1c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["GCACJRo","LpnOoX"],"boolField":true,"intField":650,"numField":163.9221249939844,"objField":{"JbmkH":-1777114072238443370,"LsAfQNF":-1800844345908019920,"sqrHweXML":6830448732651549023},"stringDateField":"1907-06-03","stringDateTimeField":"1980-06-05T17:39:32Z","stringField":"RHTaXq","stringTimeField":"02:33:31.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":650,"numField":163.9221249939844,"stringDateField":"1907-06-03","stringDateTimeField":"1980-06-05T17:39:32Z","stringField":"RHTaXq","stringTimeField":"02:33:31.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4356,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4356,"uuid":"9e0a8a1c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["OpDrNJTXI","iaxRrXzH","ucsMokTBT","DzYp","CoLc","amZWSG","PRzvdzKzu","wUMMZpzw","tuWCPlVtsT","hGeKKchyPi"],"boolField":false,"intField":396,"numField":393.8659551389669,"objField":{"Dvdgu":-315554395688059568,"dFAuIyQto":5818452561494093777,"sObZgrmMA":2496533947438374255,"vlsohJ":-2099490443090141521},"stringDateField":"1906-05-24","stringDateTimeField":"1930-04-03T16:44:22Z","stringField":"yQEtWma","stringTimeField":"23:57:29.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":396,"numField":393.8659551389669,"stringDateField":"1906-05-24","stringDateTimeField":"1930-04-03T16:44:22Z","stringField":"yQEtWma","stringTimeField":"23:57:29.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4357,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4357,"uuid":"9e0a8a1c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["plGNXWRa","LApoM"],"boolField":true,"intField":774,"numField":715.6483688185891,"objField":{"ATviCIjVo":-3073509391097233966,"Lzoqo":-1539802716487369271,"eqaqClEZgy":-2440179006495335816,"jMXZ":-8521800037959442092,"nNMVlx":-7212847050738621072,"pojkqeOUO":3823098143086799254,"xoqS":1015476856440934753},"stringDateField":"1902-12-24","stringDateTimeField":"1978-07-30T21:44:28Z","stringField":"taIlsCMSw","stringTimeField":"10:53:08.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":774,"numField":715.6483688185891,"stringDateField":"1902-12-24","stringDateTimeField":"1978-07-30T21:44:28Z","stringField":"taIlsCMSw","stringTimeField":"10:53:08.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4358,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4358,"uuid":"9e0a8a1c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["CvFVC","RdSEZ","VTelynZVDe","FKCCqXugub","wLxceNudZa","GsZhuXrG","wyjJnmlcpF","PLcuLeM","nAybXA"],"boolField":true,"intField":61,"numField":-659.4344939403408,"objField":{"DGsepnW":-738786413515917043,"FYdKCe":3519688291008020450,"PcxbPPqa":4847551639657483841,"WkXxMf":5828924716040400716},"stringDateField":"1929-08-17","stringDateTimeField":"1936-06-01T16:06:37Z","stringField":"prxGXTHPOl","stringTimeField":"20:43:50.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":61,"numField":-659.4344939403408,"stringDateField":"1929-08-17","stringDateTimeField":"1936-06-01T16:06:37Z","stringField":"prxGXTHPOl","stringTimeField":"20:43:50.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4359,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4359,"uuid":"9e0a8a1c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["pOeFVoM","uRPcaAazE","VAOe","KiDUNpYY","MiltbhiUGs","VLCQX","MMDnt","FIKoiagAir","zKzGXKNiL","THoBWSwI"],"boolField":false,"intField":47,"numField":41.759360981497686,"objField":{"MtkTwX":4879328099866949098,"NTHls":-2913210232584917479,"TwyOWP":6166520452136363421,"cveGY":619239524058271199,"nZSJLAEyt":4692094636221637414,"nwskDn":-2154324287079529104,"vmJQeswzfU":5468192484490185570,"wTRyu":2985582600731672418},"stringDateField":"1929-04-28","stringDateTimeField":"2011-11-24T06:23:53Z","stringField":"VpHA","stringTimeField":"12:31:06.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":47,"numField":41.759360981497686,"stringDateField":"1929-04-28","stringDateTimeField":"2011-11-24T06:23:53Z","stringField":"VpHA","stringTimeField":"12:31:06.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4360,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4360,"uuid":"9e0a8a1c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gWWVRTwJi","xoCR","WmilOHEcRI","YFFhOxoFcd"],"boolField":false,"intField":-9,"numField":-930.9377791908732,"objField":{"Aics":-5966406098169743377,"ToCn":2345206746265184809,"olzRR":-4581092701210308533},"stringDateField":"1931-05-12","stringDateTimeField":"1956-08-12T22:25:49Z","stringField":"cWapm","stringTimeField":"18:35:00.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":-9,"numField":-930.9377791908732,"stringDateField":"1931-05-12","stringDateTimeField":"1956-08-12T22:25:49Z","stringField":"cWapm","stringTimeField":"18:35:00.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4361,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4361,"uuid":"9e0a8a1c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["CgATtNaL","LvpPF","CSKFogNW","ntXbEdgi","geTacMMxz","UBkEZAsYIa"],"boolField":false,"intField":-397,"numField":-622.2639450335356,"objField":{"AZPiYmXIF":3516209834760753224,"BXkCnJa":1667542541692861096,"BveBFTHBJR":-7563015978140908527,"JCnFxhQBxK":2286516427079475958,"MsmIobe":-6012241598940717675,"aIJn":-5760737778319085300,"iDyophu":-4582413757331508983,"sppbyrEWER":-447690439047241776,"yDQh":-22710509948065828},"stringDateField":"1923-06-19","stringDateTimeField":"1929-02-20T02:43:59Z","stringField":"KCbob","stringTimeField":"13:06:59.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":-397,"numField":-622.2639450335356,"stringDateField":"1923-06-19","stringDateTimeField":"1929-02-20T02:43:59Z","stringField":"KCbob","stringTimeField":"13:06:59.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4362,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4362,"uuid":"9e0a8a1c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["FAbua","pHvdVtd","bTNdjkX"],"boolField":true,"intField":385,"numField":-746.1616111964424,"objField":{"MwZCjRGSKd":-6204771620478179039,"OKUni":4706505468802160450,"aZqcepV":-4816620315864461667,"ghufJszy":5627019171697950273,"hdSR":-1358771747947306968,"rgVt":-7579042286797504338,"rzKqOEnh":-6290953052313386292,"xwSxAWQVZR":5845434900571625715,"yokAgyMHXc":4609087802762242352},"stringDateField":"1978-04-14","stringDateTimeField":"1979-07-03T20:20:31Z","stringField":"HxmBi","stringTimeField":"04:26:10.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":385,"numField":-746.1616111964424,"stringDateField":"1978-04-14","stringDateTimeField":"1979-07-03T20:20:31Z","stringField":"HxmBi","stringTimeField":"04:26:10.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4363,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4363,"uuid":"9e0a8a1c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["VVMWlD","SPiR"],"boolField":true,"intField":440,"numField":953.4735024792312,"objField":{"ApBC":-6602498113240263782,"CqZXROHc":5156561221158516550,"LjXQdNfJ":541612483749179249,"TBQkoCpCaa":6249884937929033939,"WjAckUH":1709988964527462377,"YxTBgFBtE":-7301767045443369465,"rdUljppO":5900329846799946476,"vQSdM":8320042652960557961,"wxDo":5934193695526057016},"stringDateField":"2021-04-09","stringDateTimeField":"1988-06-17T07:49:25Z","stringField":"QVkDpEW","stringTimeField":"22:35:26.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":440,"numField":953.4735024792312,"stringDateField":"2021-04-09","stringDateTimeField":"1988-06-17T07:49:25Z","stringField":"QVkDpEW","stringTimeField":"22:35:26.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4364,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4364,"uuid":"9e0a8a1c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["HexycjVWQh","cgPfM","mWYk","uDTkoun","JLgxCCJe","pMffsk","pAcl","uWmsEEzodz"],"boolField":false,"intField":-353,"numField":-4.91380990918211,"objField":{"LlzCUKahHp":-2859303520182753402,"PwtNoZ":7843424258108042203,"czfDeYFlfU":3133603881843229944,"tCgK":-3952773185213934907,"tHWX":668122149486347567},"stringDateField":"1980-11-03","stringDateTimeField":"1926-07-08T10:31:17Z","stringField":"cWNo","stringTimeField":"17:06:30.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":-353,"numField":-4.91380990918211,"stringDateField":"1980-11-03","stringDateTimeField":"1926-07-08T10:31:17Z","stringField":"cWNo","stringTimeField":"17:06:30.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4365,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4365,"uuid":"9e0a8a1c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["pMPdEwDP","GXcXPMAbu","ocqYWFwHNt","ygMHfd"],"boolField":false,"intField":-294,"numField":-341.38962698154285,"objField":{"ODMsWaB":7594930031041641905,"ZOWg":-2748589067394877886,"ZRpOHtBgA":-740000975664353606,"eXlEy":-2543373814568317118},"stringDateField":"1964-07-01","stringDateTimeField":"1905-07-23T20:04:50Z","stringField":"VUMnjJ","stringTimeField":"06:19:05.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":-294,"numField":-341.38962698154285,"stringDateField":"1964-07-01","stringDateTimeField":"1905-07-23T20:04:50Z","stringField":"VUMnjJ","stringTimeField":"06:19:05.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4366,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4366,"uuid":"9e0a8a1c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["hEMZCsxBkB","AfTgIB","LLMNXZp","cuIaKT","gGEpXVKE","zKVhig","bxiiZowSan","uuhpUCw","CgXfQmArl"],"boolField":false,"intField":-601,"numField":-591.1123135719877,"objField":{"LOZSZyBz":-8485563535313960738,"OJfL":-331203552660242168,"VyDprTRSBY":3431167318978220792,"YrZeDwFWtQ":-3515968793892802689},"stringDateField":"1936-08-15","stringDateTimeField":"1982-12-18T11:57:00Z","stringField":"QcoYpOsjRk","stringTimeField":"01:44:48.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":-601,"numField":-591.1123135719877,"stringDateField":"1936-08-15","stringDateTimeField":"1982-12-18T11:57:00Z","stringField":"QcoYpOsjRk","stringTimeField":"01:44:48.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4367,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4367,"uuid":"9e0a8a1c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["nTYA"],"boolField":true,"intField":799,"numField":-113.84223272083784,"objField":{"EdalgNZUp":-3466397031709964448,"ICdh":8303301989473246053,"JlvHkBc":-2552922773485804519,"LbKLejzDoZ":5423679247386423838,"UjmFmoVfhH":-6468398751606250326,"Zluvzv":3611190282882324924,"Zydtp":-4112198329235935316,"cUDXm":-2105293354756031524,"nJWxiycuMd":-2957833916918807739,"xJQPjnioQ":-3321843989258090103},"stringDateField":"1961-08-22","stringDateTimeField":"1965-12-23T18:34:54Z","stringField":"ucWHER","stringTimeField":"16:44:04.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":799,"numField":-113.84223272083784,"stringDateField":"1961-08-22","stringDateTimeField":"1965-12-23T18:34:54Z","stringField":"ucWHER","stringTimeField":"16:44:04.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4368,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4368,"uuid":"9e0a8a1c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["shQeZRcF"],"boolField":false,"intField":-91,"numField":-117.14444093504272,"objField":{"ClegHTt":3935133690952112639},"stringDateField":"1937-10-25","stringDateTimeField":"1928-08-03T00:44:48Z","stringField":"SoBdFWhLJJ","stringTimeField":"06:42:53.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":-91,"numField":-117.14444093504272,"stringDateField":"1937-10-25","stringDateTimeField":"1928-08-03T00:44:48Z","stringField":"SoBdFWhLJJ","stringTimeField":"06:42:53.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4369,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4369,"uuid":"9e0a8a1c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["PBTovNxRhe","EhYfqOyX","oocHF","jcLuc","NkPS"],"boolField":true,"intField":854,"numField":885.4830244004141,"objField":{"AhQKYQYZo":-391913786473711026,"VmCDEUJHC":-6053322956183480199,"ZTuFh":-4958181410960616013,"dODEItIi":-1791855922197934571},"stringDateField":"2001-09-01","stringDateTimeField":"1918-09-01T17:59:30Z","stringField":"DCXV","stringTimeField":"12:31:46.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763804Z","intField":854,"numField":885.4830244004141,"stringDateField":"2001-09-01","stringDateTimeField":"1918-09-01T17:59:30Z","stringField":"DCXV","stringTimeField":"12:31:46.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4370,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4370,"uuid":"9e0a8a1d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["YVIMGXmMvb","EBpCo","kWRFyjNF"],"boolField":false,"intField":533,"numField":-238.15851613038507,"objField":{"sfSanNtQVo":4641609173536077091},"stringDateField":"2019-03-22","stringDateTimeField":"1990-10-26T09:14:27Z","stringField":"wmCEfErJc","stringTimeField":"15:00:31.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":533,"numField":-238.15851613038507,"stringDateField":"2019-03-22","stringDateTimeField":"1990-10-26T09:14:27Z","stringField":"wmCEfErJc","stringTimeField":"15:00:31.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4371,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4371,"uuid":"9e0a8a1d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["zlmvaOSpe","yXddO","RtgxbTd","LuCtGmfAHg"],"boolField":false,"intField":-663,"numField":155.13590791769883,"objField":{"AtGHUtOwTn":9011827987007968773,"JqzRIP":7602397763884389310,"XuvMG":-3937235073541447579,"zJlczzZ":-8531057063074139485},"stringDateField":"1900-07-04","stringDateTimeField":"1998-03-04T03:29:11Z","stringField":"TmsvsdKf","stringTimeField":"00:35:29.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":-663,"numField":155.13590791769883,"stringDateField":"1900-07-04","stringDateTimeField":"1998-03-04T03:29:11Z","stringField":"TmsvsdKf","stringTimeField":"00:35:29.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4372,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4372,"uuid":"9e0a8a1d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["CzRbG","YYeTkTKCbx","vbMquAXn","cbkbw"],"boolField":false,"intField":-108,"numField":-160.55694790421694,"objField":{"BWsgDnmmlj":-5583370637109059867,"JAlWFpMaqy":-7517069879211017300,"KhJSiHkWJn":2988532540139342650,"Lwnakr":4201820580975140795,"OHcruj":8268213464451347274,"QEyRLf":9072685640337668360,"ThYSPyKs":1439904087757788546,"eoRT":-7494491311405187997,"fKKnlCRGk":-3459271628010936565,"zsGTbHcBME":7925247623292245697},"stringDateField":"1903-07-15","stringDateTimeField":"1904-10-27T02:53:01Z","stringField":"xwplaMjn","stringTimeField":"18:44:16.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":-108,"numField":-160.55694790421694,"stringDateField":"1903-07-15","stringDateTimeField":"1904-10-27T02:53:01Z","stringField":"xwplaMjn","stringTimeField":"18:44:16.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4373,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4373,"uuid":"9e0a8a1d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["meTpQY","UksCbzXxP","IsAdryu","ENhRyjdt","lnuEAiQX","VCBtUYK","EclFLZKc"],"boolField":true,"intField":843,"numField":-929.3778645893276,"objField":{"AMxEuJ":-3729428457419127816,"DSUnlJC":-6075200617290030401,"MGLEXSMqlK":-2761808136301667354,"UWxB":-8854396001422423082,"kzRgG":-7630047956798493535,"oYXGcgimo":-4063402448379691070,"wVahzYz":-4751330205749935191,"zQNkMcYyS":514843167559203182},"stringDateField":"1973-08-07","stringDateTimeField":"1959-03-28T23:22:06Z","stringField":"QuCpHL","stringTimeField":"08:02:17.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":843,"numField":-929.3778645893276,"stringDateField":"1973-08-07","stringDateTimeField":"1959-03-28T23:22:06Z","stringField":"QuCpHL","stringTimeField":"08:02:17.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4374,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4374,"uuid":"9e0a8a1d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["fYDtLhJgI","cahTT"],"boolField":false,"intField":61,"numField":573.0783943444558,"objField":{"BjdUYyD":-8129949477030462760,"GqQwTX":829476885962709557,"POQMBZtnM":880797612364070444,"eImtazWW":4884177759180023685,"pTnzE":-4370082134025329799,"vjmaRVc":-3691871087310426099},"stringDateField":"1997-05-23","stringDateTimeField":"1981-06-04T00:22:42Z","stringField":"clPSK","stringTimeField":"13:33:08.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":61,"numField":573.0783943444558,"stringDateField":"1997-05-23","stringDateTimeField":"1981-06-04T00:22:42Z","stringField":"clPSK","stringTimeField":"13:33:08.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4375,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4375,"uuid":"9e0a8a1d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["rMgiLVP","egAFpYeWvB","fKHW","cWlBOYMqtw","wSKZl","okEZmv","abBuUUGtP"],"boolField":true,"intField":704,"numField":-782.7100021338066,"objField":{"DGvXsBjvub":-8583234108433016984,"RyLmgX":6440062970549906711,"VqAHU":5905690574622401029,"YQZfZd":1759036693501332062,"dAGlOE":-8551592309858159869,"dtgTAmUxwN":-6749025979253765658,"fDiXbDE":-2071013108710384773,"hFPVvW":-608028572695763754,"mBgavz":8157955265175481321},"stringDateField":"1921-06-23","stringDateTimeField":"1932-02-27T09:47:51Z","stringField":"zXQyXfL","stringTimeField":"09:48:16.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":704,"numField":-782.7100021338066,"stringDateField":"1921-06-23","stringDateTimeField":"1932-02-27T09:47:51Z","stringField":"zXQyXfL","stringTimeField":"09:48:16.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4376,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4376,"uuid":"9e0a8a1d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["sbbc"],"boolField":false,"intField":-560,"numField":-641.7509278497482,"objField":{"GmLFZE":-5219379784959611937,"KpKavot":1819940500338379985,"PSmKnh":-1640236374622390003,"SFmdg":-3200383003753332865,"ZSmisT":-7792214175672089177,"iPUb":-8057490793837581860,"nIiHOi":-6214593703687291602,"rVtLmxR":8886109677623039904,"yDqJGWDOpt":-4990920067395889668},"stringDateField":"1921-01-30","stringDateTimeField":"1994-12-08T11:30:29Z","stringField":"Hwvkn","stringTimeField":"12:25:56.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":-560,"numField":-641.7509278497482,"stringDateField":"1921-01-30","stringDateTimeField":"1994-12-08T11:30:29Z","stringField":"Hwvkn","stringTimeField":"12:25:56.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4377,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4377,"uuid":"9e0a8a1d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["bmCdNQsbQU","RXBTLQdA","kqvWw","OXpnBWp"],"boolField":false,"intField":-446,"numField":587.5869483454381,"objField":{"IJNRtazABo":4836366769687052179,"fVhpnROzpU":7874824017446911494},"stringDateField":"1944-12-26","stringDateTimeField":"1905-05-06T04:27:13Z","stringField":"EeOoE","stringTimeField":"05:02:00.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":-446,"numField":587.5869483454381,"stringDateField":"1944-12-26","stringDateTimeField":"1905-05-06T04:27:13Z","stringField":"EeOoE","stringTimeField":"05:02:00.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4378,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4378,"uuid":"9e0a8a1d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["jeQk","oLMSUP","hmoPII","giXBikyP","iZolwG","TzEhWl","jGhqE","xKdo","bPIv","KiwCe"],"boolField":true,"intField":-341,"numField":290.0763566454534,"objField":{"SOOPG":-3810806557750529406,"lyyWATdH":-4980663313707903545,"wCSnT":509304678792881481,"xHamJ":-1001767604545288737,"xMUa":1547044154148039620},"stringDateField":"1996-08-25","stringDateTimeField":"1984-08-29T12:06:35Z","stringField":"fpUMkI","stringTimeField":"00:13:14.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":-341,"numField":290.0763566454534,"stringDateField":"1996-08-25","stringDateTimeField":"1984-08-29T12:06:35Z","stringField":"fpUMkI","stringTimeField":"00:13:14.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4379,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4379,"uuid":"9e0a8a1d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ksvJzijT","sKlWbV","azbyvtnf","yyGJTKNi","PrYiTmKQQx","CCcvKOqyqF","UjtqUuknVj","SXOZMNB"],"boolField":false,"intField":427,"numField":-392.46262320668,"objField":{"EhVSxK":-1969912818998211781,"Kzoohp":-5846932540304085043,"NPdDbi":7280659586854246622,"ZlWULEoMvo":-810031274810988890,"ZyamexmUaf":6014448764207647814,"eCGnF":3117518238408607071,"ndvP":6422776299635500738,"qqCjmW":-2940947567002346384,"zsRsN":4500496192989875393},"stringDateField":"1917-04-20","stringDateTimeField":"1990-10-17T22:53:23Z","stringField":"LVtKQ","stringTimeField":"19:24:45.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":427,"numField":-392.46262320668,"stringDateField":"1917-04-20","stringDateTimeField":"1990-10-17T22:53:23Z","stringField":"LVtKQ","stringTimeField":"19:24:45.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4380,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4380,"uuid":"9e0a8a1d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["MzQBGPp","fNqics"],"boolField":true,"intField":726,"numField":330.34431224081675,"objField":{"LOnDhBU":7834931103116211163,"bbcyxR":2952341387836600581,"cmZdY":-284836863675249619},"stringDateField":"1944-02-25","stringDateTimeField":"1982-08-24T10:06:31Z","stringField":"tlDcsbwA","stringTimeField":"17:56:16.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":726,"numField":330.34431224081675,"stringDateField":"1944-02-25","stringDateTimeField":"1982-08-24T10:06:31Z","stringField":"tlDcsbwA","stringTimeField":"17:56:16.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4381,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4381,"uuid":"9e0a8a1d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["DBxfGdCjHr","haNUaMT","hfmTksxJtH","dVXiLIx","JRLaL","jjWNoJGz"],"boolField":false,"intField":949,"numField":-692.9124437605356,"objField":{"cbNF":-930640935768649812},"stringDateField":"1950-08-30","stringDateTimeField":"1931-02-08T04:26:21Z","stringField":"DrPBFDsul","stringTimeField":"21:59:27.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":949,"numField":-692.9124437605356,"stringDateField":"1950-08-30","stringDateTimeField":"1931-02-08T04:26:21Z","stringField":"DrPBFDsul","stringTimeField":"21:59:27.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4382,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4382,"uuid":"9e0a8a1d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["bAKMEIcSB","ZrUtm"],"boolField":false,"intField":-91,"numField":-821.5896302599585,"objField":{"ImyyqcM":541484554785189771,"KsxBd":-4296410887783062340,"LepY":4366771408140972668,"NERQA":-4528139800442960793,"WnQM":-3033480636756036737},"stringDateField":"1965-03-28","stringDateTimeField":"2003-07-20T15:22:27Z","stringField":"OoXSwNtWCi","stringTimeField":"22:05:26.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":-91,"numField":-821.5896302599585,"stringDateField":"1965-03-28","stringDateTimeField":"2003-07-20T15:22:27Z","stringField":"OoXSwNtWCi","stringTimeField":"22:05:26.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4383,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4383,"uuid":"9e0a8a1d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["tvztkQM","YeUnlediV","vDzzTHdO","fuibctL","NWUxTZhGa","zeOTsWrwmV","ORGtieII","tiECZZRSnS"],"boolField":false,"intField":653,"numField":843.6255316947936,"objField":{"TjvkNz":8695645268290252752,"oaCAXGF":6516861525968711326,"vaZMgWsMrR":7736305500217003633},"stringDateField":"1920-12-27","stringDateTimeField":"1987-05-05T02:49:46Z","stringField":"zZrmU","stringTimeField":"08:55:12.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":653,"numField":843.6255316947936,"stringDateField":"1920-12-27","stringDateTimeField":"1987-05-05T02:49:46Z","stringField":"zZrmU","stringTimeField":"08:55:12.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4384,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4384,"uuid":"9e0a8a1d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["SCCzuJ","GlNzZZQZ"],"boolField":true,"intField":770,"numField":946.332276572738,"objField":{"CABLRqJfl":-6114889075949119895,"CWNWmFIkV":8541190228540468130,"PZxgLowy":-3919110099526013758,"PfUIPmOqj":-5117770815089406923,"WZEcAdPC":1578523858051143939,"dytKA":411053296867416335,"fWUf":4643470962842636731,"jizpjwAMN":4812289008724206146,"kmMzeB":1138699244223968321,"lewHlOj":409937435158498283},"stringDateField":"1949-09-02","stringDateTimeField":"1947-08-08T04:23:52Z","stringField":"bDGsDBapLE","stringTimeField":"00:14:20.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":770,"numField":946.332276572738,"stringDateField":"1949-09-02","stringDateTimeField":"1947-08-08T04:23:52Z","stringField":"bDGsDBapLE","stringTimeField":"00:14:20.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4385,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4385,"uuid":"9e0a8a1d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ryqlIW","vKewf","BTgnBn","cFnSSfLXRE"],"boolField":false,"intField":220,"numField":-705.5137381104778,"objField":{"LsfQFfer":-2353261899341668555,"PmTkKzy":-5022176942647410798,"ZDMDttBX":4762086639450537510,"jvTXpa":-7842239734504166005,"pjiE":7315600748935694317,"puaEF":-4300337395812819233,"vCaRuazecy":4711931479295756899},"stringDateField":"1998-09-30","stringDateTimeField":"1958-07-09T03:23:25Z","stringField":"aRzME","stringTimeField":"17:28:13.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763805Z","intField":220,"numField":-705.5137381104778,"stringDateField":"1998-09-30","stringDateTimeField":"1958-07-09T03:23:25Z","stringField":"aRzME","stringTimeField":"17:28:13.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4386,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4386,"uuid":"9e0a8a1e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["mBeeew","WqxiuCA","Rofbxil","MWmfSwhQyG"],"boolField":false,"intField":938,"numField":129.4706087708808,"objField":{"EoTaMyVR":7438090151411517919,"iYmXGuEBU":8552006839164109221},"stringDateField":"1950-11-07","stringDateTimeField":"2016-09-01T17:57:19Z","stringField":"tSQX","stringTimeField":"20:35:14.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":938,"numField":129.4706087708808,"stringDateField":"1950-11-07","stringDateTimeField":"2016-09-01T17:57:19Z","stringField":"tSQX","stringTimeField":"20:35:14.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4387,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4387,"uuid":"9e0a8a1e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["EHdLLA","rKBCCByQB","ZhCNPE","xQtbbr","hxGZt","sFtWbtbQFb"],"boolField":true,"intField":-917,"numField":575.738468527404,"objField":{"KSJIkcVhmq":7219288024221084984,"OmGhzUO":938801852694842908,"akhqI":-6467034309103281069,"asfBi":4541610113605706366,"fjEJv":8656781382960842398,"pTqGbjs":6462246789888612141,"xcYaq":5585335428477299945,"zQQVWwWav":5895008768594171824},"stringDateField":"1936-10-18","stringDateTimeField":"1987-06-29T03:51:41Z","stringField":"UOFbvsHVV","stringTimeField":"15:22:09.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":-917,"numField":575.738468527404,"stringDateField":"1936-10-18","stringDateTimeField":"1987-06-29T03:51:41Z","stringField":"UOFbvsHVV","stringTimeField":"15:22:09.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4388,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4388,"uuid":"9e0a8a1e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["DhnhhcMCj","SZBa","bWuP","fMFlLRz","QqOiDzE","ILikebjW","fdPqDEvAf","UnqbxXn"],"boolField":false,"intField":283,"numField":22.76945892696225,"objField":{"HbPEkBWsTQ":1213522642776905878,"IeNMrHcJ":7864925214224202022,"KsIjEUSWmM":1261535489651013264,"eFXpZDmaM":-2664978007821504900,"oUigEHpZl":-3373930419742182294,"yHTPCCeuJ":-8692026517565594208},"stringDateField":"2006-06-22","stringDateTimeField":"1980-05-17T05:01:57Z","stringField":"hNawRlTShT","stringTimeField":"02:47:53.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":283,"numField":22.76945892696225,"stringDateField":"2006-06-22","stringDateTimeField":"1980-05-17T05:01:57Z","stringField":"hNawRlTShT","stringTimeField":"02:47:53.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4389,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4389,"uuid":"9e0a8a1e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["lDop","gNnnz"],"boolField":false,"intField":56,"numField":-655.0175456843937,"objField":{"Nzllw":20932180029017106,"jtrIoGTzW":-4744794586216140805,"lnOb":-4813596907821067081,"pZoI":7098346695826507457,"rFQx":-2423015939540229966},"stringDateField":"1978-12-02","stringDateTimeField":"2011-05-08T09:53:44Z","stringField":"NGQddE","stringTimeField":"22:57:39.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":56,"numField":-655.0175456843937,"stringDateField":"1978-12-02","stringDateTimeField":"2011-05-08T09:53:44Z","stringField":"NGQddE","stringTimeField":"22:57:39.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4390,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4390,"uuid":"9e0a8a1e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["YqWXM","coUhW","DVxM","Blmll","hNmcekCPxJ","OilenSb","oecRjyQ","Sxgta","LbVQa","MsXDIQ"],"boolField":true,"intField":560,"numField":257.27529096937275,"objField":{"XWuexEL":3083880946316668770,"dcFQXzx":-3691251784497278330,"eVMBH":5577568300327471427,"kehhNhsWfh":-5981414159122196766,"lGeS":-5754504925852328479,"pznc":5973492116164008744,"wRByx":2936994163655159158},"stringDateField":"1994-12-22","stringDateTimeField":"2002-09-27T14:55:20Z","stringField":"wwEscHmMf","stringTimeField":"01:54:32.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":560,"numField":257.27529096937275,"stringDateField":"1994-12-22","stringDateTimeField":"2002-09-27T14:55:20Z","stringField":"wwEscHmMf","stringTimeField":"01:54:32.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4391,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4391,"uuid":"9e0a8a1e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["XPIo","sUpVIIv","FWEEdtyDAl","hnDMdI","TCXmHR"],"boolField":false,"intField":-925,"numField":372.42059989796815,"objField":{"Cwjo":-2365514315014021478,"DHdbdpMyHa":2476802329234048054,"FNpsXiLD":-3853984684774491287,"FdzCy":-4959256088638219161,"OZYWPMc":7228204958431102301,"TdSyg":4606214822686234060,"XoVlS":-2416039881054144982,"fTCRNDja":3587664558666901196,"qBFbpwU":3266149097100634439,"ulhVoFNpl":-35022006822121301},"stringDateField":"1990-11-28","stringDateTimeField":"1993-11-19T12:06:47Z","stringField":"qhNeEVMf","stringTimeField":"13:46:03.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":-925,"numField":372.42059989796815,"stringDateField":"1990-11-28","stringDateTimeField":"1993-11-19T12:06:47Z","stringField":"qhNeEVMf","stringTimeField":"13:46:03.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4392,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4392,"uuid":"9e0a8a1e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["PsuGPlwp","ifCwuZ","rffBBl","FMrg"],"boolField":true,"intField":-351,"numField":-935.7626102498508,"objField":{"CrSQrtCfl":5590004641186712615,"MgupAUnft":-5848142877648581773,"RtgnywC":7841315781070938669,"UCKFizQ":3930227324308875005,"cciqgj":7566086237337464261,"eeemVg":-5160374298113597342,"hSjocBIxH":4158962089884375510,"jHgLlMgJ":-4615452701530892491,"kyEdAYmYh":-6441884094968284652,"sAtzo":7095241926277583488},"stringDateField":"1927-11-20","stringDateTimeField":"1912-08-20T14:19:49Z","stringField":"aJrTMlhO","stringTimeField":"22:47:35.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":-351,"numField":-935.7626102498508,"stringDateField":"1927-11-20","stringDateTimeField":"1912-08-20T14:19:49Z","stringField":"aJrTMlhO","stringTimeField":"22:47:35.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4393,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4393,"uuid":"9e0a8a1e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["xRgkVMJTe","llaVipxi","FyrjgkK"],"boolField":true,"intField":252,"numField":-154.71048720218573,"objField":{"FwhH":6692357370297141800,"JVfms":-1007933410134146591,"QQUpBOSB":4268318056573246882,"ZKclknT":2813488749111369217},"stringDateField":"1910-08-27","stringDateTimeField":"1970-01-04T04:38:27Z","stringField":"eApgX","stringTimeField":"15:14:32.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":252,"numField":-154.71048720218573,"stringDateField":"1910-08-27","stringDateTimeField":"1970-01-04T04:38:27Z","stringField":"eApgX","stringTimeField":"15:14:32.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4394,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4394,"uuid":"9e0a8a1e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["sRYGLQi","wYBuJb","RpkdGh","PTrzG","RIPoT","ZnHN"],"boolField":true,"intField":-20,"numField":-931.7424057763066,"objField":{"TAbqJRPBH":-825679317604100372},"stringDateField":"1996-04-18","stringDateTimeField":"2016-07-07T07:13:43Z","stringField":"QedVmNg","stringTimeField":"17:54:59.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":-20,"numField":-931.7424057763066,"stringDateField":"1996-04-18","stringDateTimeField":"2016-07-07T07:13:43Z","stringField":"QedVmNg","stringTimeField":"17:54:59.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4395,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4395,"uuid":"9e0a8a1e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["CEsuKHRLR","cyXLQ","duaka","KOUlU"],"boolField":true,"intField":-800,"numField":57.556365882796,"objField":{"AjWX":5330945114402787938,"MlqIOdZYCK":4879303894369855655,"WNkIM":-3599470687095868395,"XgDPRskGS":-4884380774023897992,"arEuRnv":-7907201042302525279,"jyICFVxk":-9169568508276222967,"nMPTUYrkm":1533676381446317559,"tFmXA":4117416341981333102},"stringDateField":"1924-07-26","stringDateTimeField":"1980-08-30T16:32:06Z","stringField":"dgvbqLRHB","stringTimeField":"20:31:30.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":-800,"numField":57.556365882796,"stringDateField":"1924-07-26","stringDateTimeField":"1980-08-30T16:32:06Z","stringField":"dgvbqLRHB","stringTimeField":"20:31:30.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4396,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4396,"uuid":"9e0a8a1e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["KWYzb","EwjiNOBf"],"boolField":false,"intField":-463,"numField":546.7599457003882,"objField":{"JhjMVptT":7883787947457075955,"MQWJu":5462957874082459451,"cgnFjVAC":-7281193366559294429,"mZNVLi":-4509243345625494782},"stringDateField":"1923-08-10","stringDateTimeField":"1931-04-24T22:45:47Z","stringField":"jdVZON","stringTimeField":"04:05:11.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":-463,"numField":546.7599457003882,"stringDateField":"1923-08-10","stringDateTimeField":"1931-04-24T22:45:47Z","stringField":"jdVZON","stringTimeField":"04:05:11.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4397,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4397,"uuid":"9e0a8a1e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["NDIgXSWgPA","dsVeZoyrk","wlvwBXxuqq","XWqYQTA","mjKARJqDoR","UhgajmPX","HaCMQ","UDRQtakP","EXNyC"],"boolField":true,"intField":772,"numField":358.8534899894613,"objField":{"BVxP":-4542149838408706308,"MFvs":-6451569060119793209,"NFjb":-6344057382859964572,"PviDRsf":-7922653960013754212,"RDUPnTyXFn":-3241331836294607178,"VxuFhCH":-5764140110557675874,"fOLGsG":-4294080169320756555,"iazW":-1642322234824735565,"jBMuKgj":-5815649601537489629,"tKuDjKM":-2188797956895000208},"stringDateField":"1972-12-15","stringDateTimeField":"1918-08-22T08:14:53Z","stringField":"NNLy","stringTimeField":"12:52:05.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":772,"numField":358.8534899894613,"stringDateField":"1972-12-15","stringDateTimeField":"1918-08-22T08:14:53Z","stringField":"NNLy","stringTimeField":"12:52:05.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4398,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4398,"uuid":"9e0a8a1e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["sFQWaVYeCm","ouzEiH","HFlrS","ZcusJzbI","yscWXaubx","rOhNYG"],"boolField":false,"intField":-110,"numField":-932.4887252244116,"objField":{"Eldj":5105459295445958664,"LNqyNeW":-5968935879171374563,"TQPTLCQMR":-2881672908050310798},"stringDateField":"1937-07-21","stringDateTimeField":"1992-11-18T14:51:44Z","stringField":"ITqOEwkP","stringTimeField":"05:48:34.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":-110,"numField":-932.4887252244116,"stringDateField":"1937-07-21","stringDateTimeField":"1992-11-18T14:51:44Z","stringField":"ITqOEwkP","stringTimeField":"05:48:34.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4399,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4399,"uuid":"9e0a8a1e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["BwCWemq"],"boolField":false,"intField":371,"numField":-446.1286075406596,"objField":{"GpuLEI":-6333334629678386833,"LymxqYqVVm":6480190864892900550,"Mgbj":4412858791103279858,"RzZfiFj":-493128288087294634,"ZDzZ":4230746391598985334,"abMSgD":8429914114301042090,"btBrkjRs":-116424859464550429,"fSiSN":-285280066797214065,"kYZXgD":-8876346419943821345},"stringDateField":"1983-07-17","stringDateTimeField":"1904-02-11T03:41:11Z","stringField":"xAYHpfyP","stringTimeField":"00:21:39.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":371,"numField":-446.1286075406596,"stringDateField":"1983-07-17","stringDateTimeField":"1904-02-11T03:41:11Z","stringField":"xAYHpfyP","stringTimeField":"00:21:39.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4400,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4400,"uuid":"9e0a8a1e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["xFYHX"],"boolField":true,"intField":-469,"numField":619.4528974761615,"objField":{"ggXFvV":-5681338171714268639},"stringDateField":"1990-07-25","stringDateTimeField":"1997-08-16T13:12:58Z","stringField":"pNMx","stringTimeField":"13:28:35.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":-469,"numField":619.4528974761615,"stringDateField":"1990-07-25","stringDateTimeField":"1997-08-16T13:12:58Z","stringField":"pNMx","stringTimeField":"13:28:35.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4401,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4401,"uuid":"9e0a8a1e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["pGnbaXY"],"boolField":true,"intField":509,"numField":-936.2311352292224,"objField":{"ANUIqB":8169155290814189142,"VCQPLTr":5573611326141805891,"ivIuEplfrg":-8840928495916754906},"stringDateField":"2011-04-17","stringDateTimeField":"1966-06-15T10:46:01Z","stringField":"CvEeD","stringTimeField":"16:34:28.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763806Z","intField":509,"numField":-936.2311352292224,"stringDateField":"2011-04-17","stringDateTimeField":"1966-06-15T10:46:01Z","stringField":"CvEeD","stringTimeField":"16:34:28.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4402,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4402,"uuid":"9e0a8a1f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["rHjpEOzHCG","whQpWnq","rTtVOcHp","sTbRwdzy","xthAQM","fCaXsAcm","pGlYqLpy","gnoyfLDn","rYbx"],"boolField":false,"intField":368,"numField":-507.53191436079646,"objField":{"mGPSTlt":-6208973382853476628},"stringDateField":"1986-11-06","stringDateTimeField":"1959-01-31T10:28:58Z","stringField":"KXPKt","stringTimeField":"20:03:50.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":368,"numField":-507.53191436079646,"stringDateField":"1986-11-06","stringDateTimeField":"1959-01-31T10:28:58Z","stringField":"KXPKt","stringTimeField":"20:03:50.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4403,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4403,"uuid":"9e0a8a1f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["TtfSQ","hDRZd","Nucccsq","AaOGM","EjDeJa","fqMoM","xZOshdfYBw"],"boolField":true,"intField":-101,"numField":552.4252278632284,"objField":{"SgVwXzO":3785638547797912134,"ZadgUA":-1196210262540381748},"stringDateField":"1968-01-19","stringDateTimeField":"1992-06-25T14:33:01Z","stringField":"xiElk","stringTimeField":"03:46:54.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":-101,"numField":552.4252278632284,"stringDateField":"1968-01-19","stringDateTimeField":"1992-06-25T14:33:01Z","stringField":"xiElk","stringTimeField":"03:46:54.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4404,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4404,"uuid":"9e0a8a1f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["DSzqKr"],"boolField":false,"intField":769,"numField":-275.7610619335924,"objField":{"CnrG":-2121449968272299467,"Qozx":-7159380775249816964,"RQRLBwupi":-689571527434156699,"ViFAa":3034393051205787781,"XrXaADfxVf":7596176989495667730,"ZNXLVdYDe":7232241571798691865,"bhFPaApvY":-6615933924281416922,"jTSoGcALU":1487699714654610109,"tzVXLtSJDj":5379703338747908280,"wTXMBrGLQ":243704311815934916},"stringDateField":"1990-07-03","stringDateTimeField":"1952-03-12T00:48:40Z","stringField":"qZmj","stringTimeField":"16:38:57.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":769,"numField":-275.7610619335924,"stringDateField":"1990-07-03","stringDateTimeField":"1952-03-12T00:48:40Z","stringField":"qZmj","stringTimeField":"16:38:57.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4405,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4405,"uuid":"9e0a8a1f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["PdkTkeT"],"boolField":true,"intField":250,"numField":-154.8123396116403,"objField":{"DFGFAFB":5616134383333173205,"EmBOCyUbFj":-7639653065643048327,"FuhyZQUd":-7412773765438158643,"YMTzcFiKH":8268728968289220039,"hUhnfBL":-4810382882919135516,"hgvYEZXOJ":2010408078735775513,"idAN":578243926715297714,"taiq":2426364393831887059,"zKKigr":-4323724693264141425},"stringDateField":"1948-06-19","stringDateTimeField":"1919-09-10T08:51:34Z","stringField":"fwbKejmYK","stringTimeField":"23:33:51.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":250,"numField":-154.8123396116403,"stringDateField":"1948-06-19","stringDateTimeField":"1919-09-10T08:51:34Z","stringField":"fwbKejmYK","stringTimeField":"23:33:51.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4406,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4406,"uuid":"9e0a8a1f-5655-11ee-9001-675ed0f8e89b"},"arrayField":["sgTRJvkH","vojt","GLstFPsnVh","yZjcWXGQ"],"boolField":true,"intField":815,"numField":-322.1722876677742,"objField":{"VqqZMix":3864394394842076750,"bmvoQF":1391704947788785246,"dNgYLdtpj":-3304867031627683721,"mCJcHFaLOW":-6057081631100487758,"pfCcTp":-8191163171497245351},"stringDateField":"1967-11-05","stringDateTimeField":"1947-03-05T17:53:22Z","stringField":"heSD","stringTimeField":"07:12:22.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":815,"numField":-322.1722876677742,"stringDateField":"1967-11-05","stringDateTimeField":"1947-03-05T17:53:22Z","stringField":"heSD","stringTimeField":"07:12:22.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4407,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4407,"uuid":"9e0a8a1f-5655-11ee-9401-675ed0f8e89b"},"arrayField":["bvkgJPmD","fGQnlz","AFdiAfwz","SSXNhV","XkOlrHgcc","fJBMo"],"boolField":false,"intField":-553,"numField":897.4756513139758,"objField":{"GvOqi":-1508152558394689636,"OkLBuNMQRP":905703626579431702,"eZgY":2468484175588938202,"epIAf":-1890315271222349805,"gLpdVN":-755869000006640129,"jcahv":-7450334705316037283,"orwmv":-1506834358952201849},"stringDateField":"1921-09-12","stringDateTimeField":"2018-01-01T18:51:56Z","stringField":"JaxAV","stringTimeField":"15:47:41.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":-553,"numField":897.4756513139758,"stringDateField":"1921-09-12","stringDateTimeField":"2018-01-01T18:51:56Z","stringField":"JaxAV","stringTimeField":"15:47:41.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4408,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4408,"uuid":"9e0a8a1f-5655-11ee-9801-675ed0f8e89b"},"arrayField":["WmQqJj","MaNEf","ujsBXEXC","NqUbpjfj","qEzzV","Nuvg"],"boolField":false,"intField":-768,"numField":249.02777429061217,"objField":{"CFwWxFziC":8119321713040722450,"GRZLIvDYL":8663350232318679256,"LMYU":-3042207703932425419,"OqePhxmSD":-4017405064315343287,"frdwXih":5125223438681102616,"gDoucbJX":-5543569557619610932,"mOoODE":-104816695099990475,"uBuwNeij":-8336435484392518771,"uEChH":-373216220559686225},"stringDateField":"1954-04-12","stringDateTimeField":"2011-05-07T06:52:25Z","stringField":"tEpQz","stringTimeField":"04:48:37.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":-768,"numField":249.02777429061217,"stringDateField":"1954-04-12","stringDateTimeField":"2011-05-07T06:52:25Z","stringField":"tEpQz","stringTimeField":"04:48:37.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4409,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4409,"uuid":"9e0a8a1f-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["mfSWTSXq","Lblmn"],"boolField":false,"intField":948,"numField":-274.0130708037738,"objField":{"CRIxq":5485956896215637645,"DKYdiOA":-1902721227989208280,"JKSIqDzBA":-7911213061242275416,"kDfLgq":-1496236261349475781,"roitEkp":-6851186873940602568},"stringDateField":"1923-03-05","stringDateTimeField":"1908-05-12T18:40:27Z","stringField":"IdiPcGNPTR","stringTimeField":"13:45:28.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":948,"numField":-274.0130708037738,"stringDateField":"1923-03-05","stringDateTimeField":"1908-05-12T18:40:27Z","stringField":"IdiPcGNPTR","stringTimeField":"13:45:28.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4410,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4410,"uuid":"9e0a8a1f-5655-11ee-a001-675ed0f8e89b"},"arrayField":["UHALH","txRMYBsk","PdFNGKNj","IMAzDxcNKi","ORdUYIrP","FQiw","rpyaP","bAgNJu","XcMnR"],"boolField":false,"intField":913,"numField":-853.8327593752679,"objField":{"QvtHvNGz":-3558257032512416737,"SpdLSOdEN":-7861534052433205627,"amHgIkUe":3427499514521712340,"diHOkYkDA":4431008107814903309,"qAtIoBNj":3575406819603919960,"sBcKEaCd":7773528647437702448,"vHlutKga":6112354906472589758,"vXSbXGWcSb":5555244133311673597,"wpLATc":-3228481604015952388},"stringDateField":"1955-07-24","stringDateTimeField":"1922-06-18T18:36:04Z","stringField":"hpsoqbugRL","stringTimeField":"00:14:23.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":913,"numField":-853.8327593752679,"stringDateField":"1955-07-24","stringDateTimeField":"1922-06-18T18:36:04Z","stringField":"hpsoqbugRL","stringTimeField":"00:14:23.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4411,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4411,"uuid":"9e0a8a1f-5655-11ee-a401-675ed0f8e89b"},"arrayField":["EGiLR","eHFlGtjdCI","mimBU","POhwlNLvS","dmpVqKo","hLMUfaoHJ","SuBU"],"boolField":true,"intField":-972,"numField":-553.6332248853745,"objField":{"YwCEV":8218540892056331374,"bEgQM":-4046022743958538033},"stringDateField":"2018-06-22","stringDateTimeField":"1993-09-29T23:52:10Z","stringField":"omAKGc","stringTimeField":"04:45:36.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":-972,"numField":-553.6332248853745,"stringDateField":"2018-06-22","stringDateTimeField":"1993-09-29T23:52:10Z","stringField":"omAKGc","stringTimeField":"04:45:36.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4412,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4412,"uuid":"9e0a8a1f-5655-11ee-a801-675ed0f8e89b"},"arrayField":["WAynHSLjxy","DYrVZn"],"boolField":true,"intField":-389,"numField":-748.8694203290455,"objField":{"CtxG":7598510296240151568,"FXBmRGNAIO":6193785818486045712,"IDdbJuQU":-7965295376514463538,"XDTRhYbr":1662842440688421291,"ehNymLPV":4195227268838914419,"lGTFdXH":-5176209146610661525,"rxzbej":-5503750130239574887,"vJfSwNMy":-5840044130606191401},"stringDateField":"1910-03-02","stringDateTimeField":"1928-08-06T07:02:02Z","stringField":"TxwVMCi","stringTimeField":"02:57:33.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":-389,"numField":-748.8694203290455,"stringDateField":"1910-03-02","stringDateTimeField":"1928-08-06T07:02:02Z","stringField":"TxwVMCi","stringTimeField":"02:57:33.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4413,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4413,"uuid":"9e0a8a1f-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["MarwBB","iUDkmbEK","MQYl","FAoHH","OYVCwoOECQ","IlXF","XQxryFC","MYEzPyncZ","Otcj"],"boolField":true,"intField":-905,"numField":-711.4078533189268,"objField":{"UeyhGdxHD":4690562927543738679,"sPdHkV":-3800560664105310803,"zCjrWHwK":7972408428381728448},"stringDateField":"1932-12-26","stringDateTimeField":"1984-07-20T03:45:27Z","stringField":"DobIEMXh","stringTimeField":"17:08:55.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":-905,"numField":-711.4078533189268,"stringDateField":"1932-12-26","stringDateTimeField":"1984-07-20T03:45:27Z","stringField":"DobIEMXh","stringTimeField":"17:08:55.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4414,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4414,"uuid":"9e0a8a1f-5655-11ee-b001-675ed0f8e89b"},"arrayField":["HgYaRtQA","YuNI","SzSDk","vzXkrO","KjVk","QnGSYJy"],"boolField":false,"intField":392,"numField":756.0909033344183,"objField":{"CPWk":2514282226986788718,"EgSibKBCJn":5908371289916657830,"MIYyGo":7803443386837260871,"OzlWKLbS":-2102817524183805088,"VJjK":-5356932882468400939,"ehkxLGgHec":-4428965056521324584,"jYIbqnX":3665550179433694924,"kayUHWp":8038009489858908888},"stringDateField":"1908-01-06","stringDateTimeField":"1977-11-06T12:54:49Z","stringField":"WDHw","stringTimeField":"10:09:17.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":392,"numField":756.0909033344183,"stringDateField":"1908-01-06","stringDateTimeField":"1977-11-06T12:54:49Z","stringField":"WDHw","stringTimeField":"10:09:17.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4415,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4415,"uuid":"9e0a8a1f-5655-11ee-b401-675ed0f8e89b"},"arrayField":["uzMo","PDWaIBWpl","nonEdgTXDj","eUGa","lbEkGRbYR","hqoDrb","qErbmi","qZDULraboB","TxXngSPEvu","TZNY"],"boolField":true,"intField":868,"numField":102.79762975459894,"objField":{"UKGRvfriI":5989247208663952853,"dMQSF":7636804357875239008,"eDliKh":5698623107948825420,"ksLVi":-6514914091405700251,"nmmQuP":7219748748141885282,"vCEj":8835275298207222027},"stringDateField":"1954-09-09","stringDateTimeField":"1908-01-02T23:40:17Z","stringField":"plvQZ","stringTimeField":"03:09:22.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":868,"numField":102.79762975459894,"stringDateField":"1954-09-09","stringDateTimeField":"1908-01-02T23:40:17Z","stringField":"plvQZ","stringTimeField":"03:09:22.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4416,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4416,"uuid":"9e0a8a1f-5655-11ee-b801-675ed0f8e89b"},"arrayField":["TAvzuLPe","GqxNtOD","YnqjnZNWcq","WzaFFB","HEYxQtJ","JXAoFKYd","TFYhv","FHRcuvd"],"boolField":false,"intField":-432,"numField":-109.79110072085486,"objField":{"CDHnQJV":-3023837120387263061,"OOQGEroLa":1838019122336853890,"byYzgnW":-3412966393183060685},"stringDateField":"2011-03-28","stringDateTimeField":"1924-11-06T03:20:20Z","stringField":"TtzObY","stringTimeField":"17:59:25.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":-432,"numField":-109.79110072085486,"stringDateField":"2011-03-28","stringDateTimeField":"1924-11-06T03:20:20Z","stringField":"TtzObY","stringTimeField":"17:59:25.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4417,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4417,"uuid":"9e0a8a1f-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["IiJCGssQXU","tnhR"],"boolField":false,"intField":-909,"numField":387.348527788224,"objField":{"AGQLLswLxH":3895838883293892928,"IDKghuoSS":1360585813984148238,"NkmlXcr":2233764223060482904,"PPhwqSMPoH":322168333499686919,"hzxJ":-5449921052206090948},"stringDateField":"1942-01-01","stringDateTimeField":"1929-10-27T09:25:24Z","stringField":"irGlL","stringTimeField":"10:30:13.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763807Z","intField":-909,"numField":387.348527788224,"stringDateField":"1942-01-01","stringDateTimeField":"1929-10-27T09:25:24Z","stringField":"irGlL","stringTimeField":"10:30:13.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4418,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4418,"uuid":"9e0a8a20-5655-11ee-8001-675ed0f8e89b"},"arrayField":["DiNTxrgery","nAfrUqz","VnqMTR","klUMU","cdOc"],"boolField":true,"intField":526,"numField":-406.5661957322586,"objField":{"IpODm":3851313017870121381,"gPLfNKeO":1943015767012895873,"iiKvP":1254779748126329983,"kgxihCvt":-8370927786979156263},"stringDateField":"1979-08-26","stringDateTimeField":"1921-03-11T16:15:18Z","stringField":"lpSj","stringTimeField":"01:05:08.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":526,"numField":-406.5661957322586,"stringDateField":"1979-08-26","stringDateTimeField":"1921-03-11T16:15:18Z","stringField":"lpSj","stringTimeField":"01:05:08.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4419,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4419,"uuid":"9e0a8a20-5655-11ee-8401-675ed0f8e89b"},"arrayField":["bJBaTr","XfYuf","aYXBvVKfj","hqwgIK","hsToqyK","sOtw","NCltmIz","CTBq","dOTFy"],"boolField":true,"intField":690,"numField":-89.28073958424964,"objField":{"CAWBLZs":-8620372336902428360,"HHdPzzlL":-2595679516507681008,"LNGNe":-3852581250334142987,"ekNrjz":1681521839011682815,"jEbN":1924335438810383397,"pcYFwMyYV":388845733757095706,"vklzx":-4679780882263590790},"stringDateField":"1930-06-22","stringDateTimeField":"2003-03-19T07:33:39Z","stringField":"qmdfUJl","stringTimeField":"13:12:12.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":690,"numField":-89.28073958424964,"stringDateField":"1930-06-22","stringDateTimeField":"2003-03-19T07:33:39Z","stringField":"qmdfUJl","stringTimeField":"13:12:12.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4420,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4420,"uuid":"9e0a8a20-5655-11ee-8801-675ed0f8e89b"},"arrayField":["UCpdI","QaFTt","lGYHd","uQyCzAg","psKVrQ","MZuabB","aZOtB","efQuDeczcX"],"boolField":false,"intField":693,"numField":-967.6083625818432,"objField":{"XKIZPLnp":-2561359252289971038},"stringDateField":"2019-06-27","stringDateTimeField":"2009-04-25T00:32:54Z","stringField":"RuYP","stringTimeField":"00:28:01.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":693,"numField":-967.6083625818432,"stringDateField":"2019-06-27","stringDateTimeField":"2009-04-25T00:32:54Z","stringField":"RuYP","stringTimeField":"00:28:01.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4421,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4421,"uuid":"9e0a8a20-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["rkmfZReBx","HehbaUbUmh","BFyePSZUT","LQXHwziTaK","fCUdxKDh"],"boolField":true,"intField":144,"numField":621.3422322497704,"objField":{"ArYm":3032180761837081046,"RlFlGcgV":18586325473923137,"SOtQt":7737479114739945417,"ZsAFMIk":9045055519574542086,"aCkA":-3661101816158525329,"iYvZsYdjH":7829722703975678658,"lOSaecRmg":-2841439538449953114,"mSrZunL":-7193718274790024511,"uoViYgUji":-7092524634695984426},"stringDateField":"1971-12-20","stringDateTimeField":"1921-05-30T11:16:17Z","stringField":"shOZUBCvqJ","stringTimeField":"16:29:03.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":144,"numField":621.3422322497704,"stringDateField":"1971-12-20","stringDateTimeField":"1921-05-30T11:16:17Z","stringField":"shOZUBCvqJ","stringTimeField":"16:29:03.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4422,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4422,"uuid":"9e0a8a20-5655-11ee-9001-675ed0f8e89b"},"arrayField":["MVksXLiSCn","CEJP","qTdzduP","VfoJpPvW","Kibhf"],"boolField":true,"intField":-430,"numField":-276.6584016170232,"objField":{"lWvx":-4664692353549020540},"stringDateField":"1988-03-02","stringDateTimeField":"1956-04-29T11:28:14Z","stringField":"IhpjjHhP","stringTimeField":"23:53:53.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":-430,"numField":-276.6584016170232,"stringDateField":"1988-03-02","stringDateTimeField":"1956-04-29T11:28:14Z","stringField":"IhpjjHhP","stringTimeField":"23:53:53.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4423,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4423,"uuid":"9e0a8a20-5655-11ee-9401-675ed0f8e89b"},"arrayField":["HRLRv","jXtmCJdAiy","zsDLyCP","zahe","KfVx","URJDCT","hZsjuha","MYOBBUCzp","FuPznX","yJYNqKSEr"],"boolField":true,"intField":923,"numField":-49.31965872026611,"objField":{"EnHFCEoqJb":1350526890721205991,"KGXasmDRXz":3423466069366954111,"bHGVMOvU":-6020923598146575180},"stringDateField":"1901-06-22","stringDateTimeField":"2001-09-24T09:07:31Z","stringField":"tnJzs","stringTimeField":"00:03:46.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":923,"numField":-49.31965872026611,"stringDateField":"1901-06-22","stringDateTimeField":"2001-09-24T09:07:31Z","stringField":"tnJzs","stringTimeField":"00:03:46.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4424,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4424,"uuid":"9e0a8a20-5655-11ee-9801-675ed0f8e89b"},"arrayField":["IaRc","XtvRZgQ"],"boolField":true,"intField":396,"numField":700.4091856528647,"objField":{"HkWxSsRbE":1536248213440937101,"IrOIt":-2645218516468694666,"NyoUkHjy":-1756419649615039866,"achDYL":8717513261050128652,"loZXXv":2429086152781333092,"zQhzaMHRD":-513091592150889250},"stringDateField":"1948-05-24","stringDateTimeField":"2010-06-01T18:44:26Z","stringField":"FCGP","stringTimeField":"00:11:01.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":396,"numField":700.4091856528647,"stringDateField":"1948-05-24","stringDateTimeField":"2010-06-01T18:44:26Z","stringField":"FCGP","stringTimeField":"00:11:01.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4425,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4425,"uuid":"9e0a8a20-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["vwNIM","VKtQEwF","kxgb","LTTOMn","PVGWBFnX","cbdq","oNqRplrEZW"],"boolField":true,"intField":-189,"numField":901.139763589371,"objField":{"BxkuZvlv":-697601973864935490,"DxCEO":-6853739903116082915,"EzvhB":-1395297141210123237,"FwXn":3840139783586144780,"iFjMjJH":4067612361018767849,"jEcgzX":-993432395343028077,"poaRTcz":3715834529129869053,"rcgzj":1038055888543228559,"wSJgJY":-7333900705967451376},"stringDateField":"2020-10-15","stringDateTimeField":"1949-10-30T10:01:49Z","stringField":"ntNUItulb","stringTimeField":"15:41:56.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":-189,"numField":901.139763589371,"stringDateField":"2020-10-15","stringDateTimeField":"1949-10-30T10:01:49Z","stringField":"ntNUItulb","stringTimeField":"15:41:56.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4426,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4426,"uuid":"9e0a8a20-5655-11ee-a001-675ed0f8e89b"},"arrayField":["zSxKaK","xjmDlG","NXujVv","xEoleTliLM","jbsyU","WfigT","RWDJv","QOpBKlQL"],"boolField":true,"intField":821,"numField":-991.0714624297696,"objField":{"NuIiIvLrAT":-8684301692272323424,"XaUS":-7266521826900671512,"vIVOSQGIN":-6877835493937403517},"stringDateField":"1937-05-07","stringDateTimeField":"1994-10-19T23:22:17Z","stringField":"dGvwe","stringTimeField":"13:03:08.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":821,"numField":-991.0714624297696,"stringDateField":"1937-05-07","stringDateTimeField":"1994-10-19T23:22:17Z","stringField":"dGvwe","stringTimeField":"13:03:08.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4427,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4427,"uuid":"9e0a8a20-5655-11ee-a401-675ed0f8e89b"},"arrayField":["vGJiF","SpuhTHlT","yvitwiPUMN","irseTjTsTN","AiDAC","ZRNrlFzl","jtSMQ","CcwwtGIc","FryRCCT","ArvzBX"],"boolField":true,"intField":381,"numField":-770.1638868284284,"objField":{"HTuXS":-6875357663692374359,"IzIqxw":-6090359778335894798,"JaMrytlgVm":-1587032497936182013,"MRNQ":-1271849768246250203,"SmmYz":5637589670384769055,"fVOWvmLkD":-508660943535510467,"gHvNaGb":-6382012338338936430,"jpjHfT":4403667791228256819,"rJYgYGmj":6193753476753579899,"yrTMf":9168255942864257437},"stringDateField":"1936-11-24","stringDateTimeField":"1943-06-23T07:20:27Z","stringField":"Uqwcpf","stringTimeField":"06:49:56.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":381,"numField":-770.1638868284284,"stringDateField":"1936-11-24","stringDateTimeField":"1943-06-23T07:20:27Z","stringField":"Uqwcpf","stringTimeField":"06:49:56.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4428,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4428,"uuid":"9e0a8a20-5655-11ee-a801-675ed0f8e89b"},"arrayField":["MhadBGEdrt","kRoON","MhWgInnA","jjHc","amGOH","FZkux","iwotAlgZHa","WEtEL","xrcgbIRKXY","GxSc"],"boolField":false,"intField":-10,"numField":-630.7047611247759,"objField":{"TQFW":3646166651231055188,"nXMS":-6415578331134963165,"nsDSgqXOE":-3847669525256879804},"stringDateField":"1972-09-24","stringDateTimeField":"1943-02-04T14:11:33Z","stringField":"gjRbdirvWc","stringTimeField":"01:05:37.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":-10,"numField":-630.7047611247759,"stringDateField":"1972-09-24","stringDateTimeField":"1943-02-04T14:11:33Z","stringField":"gjRbdirvWc","stringTimeField":"01:05:37.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4429,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4429,"uuid":"9e0a8a20-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["toxXlRK","icoRSwGqY","SybYSXZYQs","pNRylCuYVn","UdlbMjm","tjUfME","XvLMVNpdA","wOyX","bmCOv","mdJvnQI"],"boolField":false,"intField":467,"numField":440.4150292451776,"objField":{"GDCA":6836466966481556790,"NDDAyMFCd":8567207085043296151,"QOMn":5333183558355531762,"TpuK":4471416546351450227,"otzosj":2997644057193482864},"stringDateField":"1936-11-17","stringDateTimeField":"1960-10-23T22:48:37Z","stringField":"XDqBMn","stringTimeField":"11:32:36.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":467,"numField":440.4150292451776,"stringDateField":"1936-11-17","stringDateTimeField":"1960-10-23T22:48:37Z","stringField":"XDqBMn","stringTimeField":"11:32:36.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4430,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4430,"uuid":"9e0a8a20-5655-11ee-b001-675ed0f8e89b"},"arrayField":["grEesYJuKB","WcHGKS","jdXGdPtNvv","MfxYPKiw","IxHZaxg"],"boolField":false,"intField":547,"numField":-478.6969948142109,"objField":{"MjDPSFberM":5419806172409769225,"YVbK":-1568851462040895065,"YVeHauXOhH":3780751551625767131,"nwnjD":-3936533738133649491,"rqnh":9009312362472654987,"swIJe":-2118412525097220994},"stringDateField":"1928-05-15","stringDateTimeField":"1989-03-14T22:20:22Z","stringField":"tpFHGLruo","stringTimeField":"12:20:21.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":547,"numField":-478.6969948142109,"stringDateField":"1928-05-15","stringDateTimeField":"1989-03-14T22:20:22Z","stringField":"tpFHGLruo","stringTimeField":"12:20:21.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4431,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4431,"uuid":"9e0a8a20-5655-11ee-b401-675ed0f8e89b"},"arrayField":["rAhBd","AYsWX","rHsLXn","eIqNJFJmt","QDAIFel","BFtXQe","FRVEyBaKGC","jIJo","AJcsRjVNOA"],"boolField":true,"intField":165,"numField":22.06842901878936,"objField":{"MEoAXG":-6245736467880505547,"RECPRKm":-7091275009978092321,"VBjvVGj":5443607124547886260,"pYyssm":7949218512516471458},"stringDateField":"2023-04-09","stringDateTimeField":"1943-09-16T09:42:51Z","stringField":"qVSpg","stringTimeField":"01:27:14.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":165,"numField":22.06842901878936,"stringDateField":"2023-04-09","stringDateTimeField":"1943-09-16T09:42:51Z","stringField":"qVSpg","stringTimeField":"01:27:14.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4432,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4432,"uuid":"9e0a8a20-5655-11ee-b801-675ed0f8e89b"},"arrayField":["hJOXzT","gvPRh","wrBmBQ","PdpJ","UTIHcjKviM"],"boolField":false,"intField":460,"numField":-547.4473108337752,"objField":{"EoQiCui":2286204272383964763,"GwxFuRNkwf":-8386601518357650301,"KVIrrTnJQt":-7038710125331168226,"RICFiVKD":6244323860999060087,"UEWt":2322325080752282602,"UiFpZhGiKh":2800590206013360138,"XgloPSYWY":-7536655879321164517,"qvzILtlErN":-4211733473234254226},"stringDateField":"2019-09-04","stringDateTimeField":"1944-02-03T15:34:49Z","stringField":"mYrHRaMoIS","stringTimeField":"09:17:04.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":460,"numField":-547.4473108337752,"stringDateField":"2019-09-04","stringDateTimeField":"1944-02-03T15:34:49Z","stringField":"mYrHRaMoIS","stringTimeField":"09:17:04.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4433,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4433,"uuid":"9e0a8a20-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["vyLssJB","KYnIvojpfd"],"boolField":false,"intField":188,"numField":-341.872327028065,"objField":{"HCpKbkx":-4264036722682453500,"UDbcCaEIj":3240544639859382388,"UEiuLCxR":-3305000980202517481,"dfSWiYo":4512028357537241415,"kyuFp":8629931300131527788,"uwklE":3093347116748442964,"xnVyG":3338828214761252671,"yrLPhmi":-7340907141866078018},"stringDateField":"2006-09-15","stringDateTimeField":"1941-03-27T15:39:13Z","stringField":"gANB","stringTimeField":"18:35:19.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763808Z","intField":188,"numField":-341.872327028065,"stringDateField":"2006-09-15","stringDateTimeField":"1941-03-27T15:39:13Z","stringField":"gANB","stringTimeField":"18:35:19.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4434,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4434,"uuid":"9e0a8a21-5655-11ee-8001-675ed0f8e89b"},"arrayField":["jfjueCzLq","RkIxsZuOx","PfusEzH","oJGHr","kaRThxQSjV","sHDUvg","QhIyNjw","fRkJI","YqUcRCKXML","RJwecw"],"boolField":false,"intField":-838,"numField":-844.7820762125018,"objField":{"DBVha":8686768634219473428,"DKeKPwkB":3230293487389980631,"IwpQYSf":-919688674153502878,"XipE":-777458961269368281,"hDIT":1712644851789187912,"lnQdMnpXfi":-1068181483760572119,"nbzINW":5286629625297588335},"stringDateField":"2008-11-24","stringDateTimeField":"1953-10-10T15:01:25Z","stringField":"SzFevso","stringTimeField":"12:26:16.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-838,"numField":-844.7820762125018,"stringDateField":"2008-11-24","stringDateTimeField":"1953-10-10T15:01:25Z","stringField":"SzFevso","stringTimeField":"12:26:16.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4435,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4435,"uuid":"9e0a8a21-5655-11ee-8401-675ed0f8e89b"},"arrayField":["wvgs","uXFz","DKPOXJDb","YuPvtxjrmS"],"boolField":false,"intField":-754,"numField":392.2522078531874,"objField":{"DlgaQEDgyH":2902809746479514472,"JjdAHs":9120981115780155232,"QoRwxgQEng":4949288515314912863,"caBRYXjuu":-7493561613634180469,"guTAmZLFl":3968753260701485852,"pnMR":5774955536145951213},"stringDateField":"1948-01-22","stringDateTimeField":"1991-07-16T18:49:36Z","stringField":"QTCe","stringTimeField":"15:57:43.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-754,"numField":392.2522078531874,"stringDateField":"1948-01-22","stringDateTimeField":"1991-07-16T18:49:36Z","stringField":"QTCe","stringTimeField":"15:57:43.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4436,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4436,"uuid":"9e0a8a21-5655-11ee-8801-675ed0f8e89b"},"arrayField":["zklNq","zLiqnlRCs","pSfBPT","vgQnHKKO","oJiZgSHEIZ","HbNVCFlLy","ENwn","wKsTwA"],"boolField":true,"intField":-662,"numField":246.2785827417431,"objField":{"JiaYLHpjA":-2936516278050162489,"JlhtbkR":-9037708708618083519,"PIqZXX":-4871883739844762759,"RuPuAP":-22236685019094803,"SqHokUxt":471115122287326919,"YuUS":-8624604204911191947,"ZLXfsZlDe":-825639849120404354,"kvVXt":-2136601495115616677,"yxHHSkeoLn":-3985503962601718549},"stringDateField":"1988-04-22","stringDateTimeField":"2019-11-06T18:26:00Z","stringField":"UOicM","stringTimeField":"11:48:53.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-662,"numField":246.2785827417431,"stringDateField":"1988-04-22","stringDateTimeField":"2019-11-06T18:26:00Z","stringField":"UOicM","stringTimeField":"11:48:53.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4437,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4437,"uuid":"9e0a8a21-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["vBdShvRm"],"boolField":false,"intField":-324,"numField":666.4836534451089,"objField":{"ETsFd":-4140157103915553857,"LpFHti":-479577379713434914,"OEhc":4859338772916604616,"OfdYBeGRyn":2895278537983715315,"PKHdJZ":7632192767308042643,"RRxuQJMQk":-1290525371508589155,"SUOjPWDNi":8259681290143659953,"XzwHipd":6528313717472124786,"cNELOlKQb":5750252356169310939,"gXjmLszQF":7999866210309273991},"stringDateField":"2017-07-03","stringDateTimeField":"1971-12-04T19:12:36Z","stringField":"Wzkf","stringTimeField":"05:13:53.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-324,"numField":666.4836534451089,"stringDateField":"2017-07-03","stringDateTimeField":"1971-12-04T19:12:36Z","stringField":"Wzkf","stringTimeField":"05:13:53.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4438,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4438,"uuid":"9e0a8a21-5655-11ee-9001-675ed0f8e89b"},"arrayField":["KDafXdy","MkXesdffOM","VcqkH","nWryGnX","XqlLTEfno"],"boolField":true,"intField":-610,"numField":-908.2292992042004,"objField":{"ALGZ":-6455123928289496096,"RHQrPLLI":1388236114424927511,"RdjHr":-6924709849479682711,"XmzAOa":8772153851030057073,"ahMq":-245040606882190778,"fnWRsrjaRE":-307286985710526452,"xbKbJHO":-5523288431363254920},"stringDateField":"1968-10-11","stringDateTimeField":"1944-07-01T11:18:21Z","stringField":"YKLk","stringTimeField":"12:38:48.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-610,"numField":-908.2292992042004,"stringDateField":"1968-10-11","stringDateTimeField":"1944-07-01T11:18:21Z","stringField":"YKLk","stringTimeField":"12:38:48.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4439,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4439,"uuid":"9e0a8a21-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ysIltnqGpf","mDnXl","TxRstrn","MIwZTYO","ARIgPO","BTdHAmKg","gMogoRT","dMNeM"],"boolField":false,"intField":-395,"numField":-576.1948650186648,"objField":{"CeuiIDDesz":-4990094050471694371,"FIXJCiuqHU":7639167009125544782,"XDxrohLb":-3634012243566835632},"stringDateField":"1990-09-24","stringDateTimeField":"1953-02-02T13:35:19Z","stringField":"KMoOtsFdI","stringTimeField":"13:37:57.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-395,"numField":-576.1948650186648,"stringDateField":"1990-09-24","stringDateTimeField":"1953-02-02T13:35:19Z","stringField":"KMoOtsFdI","stringTimeField":"13:37:57.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4440,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4440,"uuid":"9e0a8a21-5655-11ee-9801-675ed0f8e89b"},"arrayField":["YjWNwvWE","aluQsRzbs","kmdcQkN","qAHyRj","EnRTMakZFv"],"boolField":false,"intField":-822,"numField":-169.20955993217635,"objField":{"PFawpWXzQO":-8881989758199431687,"VYaMYQG":-5932420717895642152,"aoGz":-126299780286602909,"biEBlG":7363990134725135776,"ePAt":4991280948824233569,"gkbVZLxw":9183464706332189446,"nkIjnuDU":-1412167359280046716,"ycSoxZy":7940504165757945076},"stringDateField":"1983-09-13","stringDateTimeField":"2023-12-11T03:49:27Z","stringField":"VlbsAEU","stringTimeField":"03:21:52.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-822,"numField":-169.20955993217635,"stringDateField":"1983-09-13","stringDateTimeField":"2023-12-11T03:49:27Z","stringField":"VlbsAEU","stringTimeField":"03:21:52.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4441,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4441,"uuid":"9e0a8a21-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["ABus","qwHugL","TyWo","dslepTtlv","IlEBYSS","PzBwAluig"],"boolField":false,"intField":-793,"numField":-431.0258682284748,"objField":{"DQHw":-4473033904900602337},"stringDateField":"1937-09-19","stringDateTimeField":"1996-09-08T00:51:24Z","stringField":"cizIYUDb","stringTimeField":"23:25:03.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-793,"numField":-431.0258682284748,"stringDateField":"1937-09-19","stringDateTimeField":"1996-09-08T00:51:24Z","stringField":"cizIYUDb","stringTimeField":"23:25:03.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4442,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4442,"uuid":"9e0a8a21-5655-11ee-a001-675ed0f8e89b"},"arrayField":["MpzoWBncv","elPxuvlu","HiRKIhSAs","RoTiFgHvcG"],"boolField":false,"intField":-677,"numField":-323.2039094131265,"objField":{"RsEJUqdew":-8139205684212587499,"VjtzTn":-4546013144610005011,"eTHnAS":-1423567439199861878,"iHbFaOIYp":-6681286894062552900,"yZAgfEHtTu":-7553254905288614318},"stringDateField":"1903-03-01","stringDateTimeField":"1968-04-30T16:07:39Z","stringField":"GsoV","stringTimeField":"05:28:31.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-677,"numField":-323.2039094131265,"stringDateField":"1903-03-01","stringDateTimeField":"1968-04-30T16:07:39Z","stringField":"GsoV","stringTimeField":"05:28:31.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4443,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4443,"uuid":"9e0a8a21-5655-11ee-a401-675ed0f8e89b"},"arrayField":["CUZuqTRs","vgwf","RmeuPQYGRd","zGNhZg","srNQzJbswl","WSaNr","nKwTqeeX"],"boolField":true,"intField":784,"numField":328.8473275571371,"objField":{"DBxn":8802381431938211265,"FsPYCFlN":1627748472775833425,"MwbqNvgDf":-1100927363008542670,"QxRhXPQJi":401073352941787327,"TyAaWh":-2295615556379343253,"XwubVA":-1088513845407009892,"YIbLhZrpi":3888965626548828163,"mMBkuMYmm":-3723107895882623422,"oDvg":4601644627874688527,"rLuV":-2496124066632699581},"stringDateField":"1904-08-26","stringDateTimeField":"1975-03-11T05:50:59Z","stringField":"DahQfUPvd","stringTimeField":"03:53:54.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":784,"numField":328.8473275571371,"stringDateField":"1904-08-26","stringDateTimeField":"1975-03-11T05:50:59Z","stringField":"DahQfUPvd","stringTimeField":"03:53:54.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4444,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4444,"uuid":"9e0a8a21-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ROJTvYxSQq","cHcI","gDWdNcQiq"],"boolField":true,"intField":46,"numField":-843.7660895569276,"objField":{"TZOptFICiE":323670179677062139,"bQKPoTyvAP":2161174563757018070,"grgXoGp":-6096477954726385163,"iACHJauME":3541256610893226893,"xgBPYwm":242567224472390261},"stringDateField":"2000-01-28","stringDateTimeField":"1908-03-08T10:06:29Z","stringField":"dqDbJLvM","stringTimeField":"10:30:43.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":46,"numField":-843.7660895569276,"stringDateField":"2000-01-28","stringDateTimeField":"1908-03-08T10:06:29Z","stringField":"dqDbJLvM","stringTimeField":"10:30:43.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4445,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4445,"uuid":"9e0a8a21-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ECwuUTxdKm","VBZGxYb","hQtEbuSmAC","Rlezs","tRCGlRNaa","GtLsfVRWH","vqelcoZP","pEqJQ","syVehYtAPu"],"boolField":true,"intField":-638,"numField":-108.65708557315112,"objField":{"EzuwpP":2648345115353618020,"OppSGM":4422553473378318044,"eEjRwTx":-5867336432787948121,"jxhmOZu":-6813407271410513538,"uDwYLAC":734558211650208242,"xUDtHq":-3635308372903302978},"stringDateField":"1927-05-09","stringDateTimeField":"1983-05-02T09:04:46Z","stringField":"YTYEbiUo","stringTimeField":"18:43:22.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-638,"numField":-108.65708557315112,"stringDateField":"1927-05-09","stringDateTimeField":"1983-05-02T09:04:46Z","stringField":"YTYEbiUo","stringTimeField":"18:43:22.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4446,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4446,"uuid":"9e0a8a21-5655-11ee-b001-675ed0f8e89b"},"arrayField":["iyBOBsrI","nVTLbU","gnbvCddfak"],"boolField":true,"intField":608,"numField":-696.3576662834073,"objField":{"QayLskX":-7876298749850476528,"qriW":-7222360494206544781,"tRDm":-7189819690889968702},"stringDateField":"1939-02-19","stringDateTimeField":"1932-05-17T18:08:43Z","stringField":"lQDGJLxf","stringTimeField":"22:25:38.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":608,"numField":-696.3576662834073,"stringDateField":"1939-02-19","stringDateTimeField":"1932-05-17T18:08:43Z","stringField":"lQDGJLxf","stringTimeField":"22:25:38.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4447,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4447,"uuid":"9e0a8a21-5655-11ee-b401-675ed0f8e89b"},"arrayField":["sUwCY","pvbEzduX","ApoFI","bGSWxD","juNuYer","ITWDJDC"],"boolField":false,"intField":-218,"numField":-208.8633427937723,"objField":{"EJSqFWDMB":5326163459170573234},"stringDateField":"1912-10-13","stringDateTimeField":"1909-03-04T12:26:47Z","stringField":"yLRlHIe","stringTimeField":"06:40:40.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-218,"numField":-208.8633427937723,"stringDateField":"1912-10-13","stringDateTimeField":"1909-03-04T12:26:47Z","stringField":"yLRlHIe","stringTimeField":"06:40:40.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4448,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4448,"uuid":"9e0a8a21-5655-11ee-b801-675ed0f8e89b"},"arrayField":["JFyllmHTaU","sXFp","pYUGVaGvn","UMsyX","bcOmY","nxEZJOfa","oJdgfHpB","MXyDNMdh","XdoSTG","oIsqcWxME"],"boolField":true,"intField":-498,"numField":495.2171599082438,"objField":{"UIEMLhct":-7620952900677555808,"XyPuntN":-3862762200754775963,"aYOTAvfs":-5513034007958867681,"rFxM":-955046765292945171,"rbMKpGFwo":1996732511652673559,"xNBi":7668560818570957132},"stringDateField":"1969-04-20","stringDateTimeField":"2000-05-26T15:45:44Z","stringField":"kPBsVe","stringTimeField":"10:59:31.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-498,"numField":495.2171599082438,"stringDateField":"1969-04-20","stringDateTimeField":"2000-05-26T15:45:44Z","stringField":"kPBsVe","stringTimeField":"10:59:31.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4449,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4449,"uuid":"9e0a8a21-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["IfQdI","HYiO"],"boolField":true,"intField":-65,"numField":-17.31785067759528,"objField":{"aieORziy":8427138550446112195,"lVzSZsSWXR":-2766836504211559066,"spIVfjNzA":-2552035680568217277},"stringDateField":"2013-04-27","stringDateTimeField":"2008-04-12T14:51:58Z","stringField":"knayoRVv","stringTimeField":"08:55:51.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763809Z","intField":-65,"numField":-17.31785067759528,"stringDateField":"2013-04-27","stringDateTimeField":"2008-04-12T14:51:58Z","stringField":"knayoRVv","stringTimeField":"08:55:51.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4450,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4450,"uuid":"9e0a8a22-5655-11ee-8001-675ed0f8e89b"},"arrayField":["JKcVHRm","CTKuC","lzLKMcfvNV","VQnaZgfsj"],"boolField":false,"intField":194,"numField":439.9423711874677,"objField":{"OCbJigYdCg":-914919597007399364,"VSZRT":-1289455203640316371,"afTiI":-6378073811060117069,"iSVCMRse":-5044667731156309817,"vFkt":1029773872383166034},"stringDateField":"2011-03-02","stringDateTimeField":"1952-08-06T05:00:35Z","stringField":"SoYGWkMN","stringTimeField":"15:42:29.15Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":194,"numField":439.9423711874677,"stringDateField":"2011-03-02","stringDateTimeField":"1952-08-06T05:00:35Z","stringField":"SoYGWkMN","stringTimeField":"15:42:29.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4451,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4451,"uuid":"9e0a8a22-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ImpWfr","LTzEVEdU","FiKu"],"boolField":true,"intField":-579,"numField":158.30184608077212,"objField":{"DeDCYx":6371870044130466837,"JQXcN":-6775136915431172965,"XMShMVZe":-6847782537977322046,"bbNnJwqa":783970347111142848,"dzozuNOY":7464406244111141387,"gxfVhUzI":-8249582638981823118,"hoHE":1115973105043157929,"illYIvr":8007360872467808606,"lcmIJWCsV":-1524495996742320351,"xUBGTPyYGV":-8049150061905099169},"stringDateField":"1968-02-20","stringDateTimeField":"1969-09-22T09:15:42Z","stringField":"ndTQjWaQS","stringTimeField":"17:15:02.37Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":-579,"numField":158.30184608077212,"stringDateField":"1968-02-20","stringDateTimeField":"1969-09-22T09:15:42Z","stringField":"ndTQjWaQS","stringTimeField":"17:15:02.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4452,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4452,"uuid":"9e0a8a22-5655-11ee-8801-675ed0f8e89b"},"arrayField":["AcAZT"],"boolField":false,"intField":-106,"numField":290.9435903887232,"objField":{"HCxAYOIPG":6482285532255424659,"IZIR":8703434644519657520,"JAxlOHAFW":8398746683047265649,"Qciy":7570127810722335844,"YzvwTDbZIr":-6553493872098872011,"ZSaAVldwP":-8385563176122503843,"gHkQXGfRqB":7071224409638660952,"opUmKRHqrD":8772298264226508309,"tJGg":-2932906728806781598,"yooQR":-8035016591424731077},"stringDateField":"1942-12-26","stringDateTimeField":"2015-01-05T11:45:33Z","stringField":"XyRYUsbbo","stringTimeField":"16:30:19.19Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":-106,"numField":290.9435903887232,"stringDateField":"1942-12-26","stringDateTimeField":"2015-01-05T11:45:33Z","stringField":"XyRYUsbbo","stringTimeField":"16:30:19.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4453,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4453,"uuid":"9e0a8a22-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["pLDfvHqNfa","jUvlZqNKc","RTfX","XYhiLwRX","lLWroKod","ZoaJfztf","eeEUlbJwo","HOmhvXs"],"boolField":true,"intField":236,"numField":736.1510543541698,"objField":{"bppKNtT":3312688897404486868,"ySsxCDnS":-2266327764352516405},"stringDateField":"1903-03-19","stringDateTimeField":"1959-09-11T01:20:08Z","stringField":"vXslLhnBG","stringTimeField":"21:13:22.28Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":236,"numField":736.1510543541698,"stringDateField":"1903-03-19","stringDateTimeField":"1959-09-11T01:20:08Z","stringField":"vXslLhnBG","stringTimeField":"21:13:22.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4454,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4454,"uuid":"9e0a8a22-5655-11ee-9001-675ed0f8e89b"},"arrayField":["SanRXy","QhRBBKjdZk","Joow","ijJZzaEWSb","AQxQCKpOsp"],"boolField":true,"intField":442,"numField":-609.6975544566042,"objField":{"KZKvSNZkpU":4754436171400579948},"stringDateField":"1951-12-11","stringDateTimeField":"1931-02-01T21:28:09Z","stringField":"QskN","stringTimeField":"06:26:07.30Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":442,"numField":-609.6975544566042,"stringDateField":"1951-12-11","stringDateTimeField":"1931-02-01T21:28:09Z","stringField":"QskN","stringTimeField":"06:26:07.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4455,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4455,"uuid":"9e0a8a22-5655-11ee-9401-675ed0f8e89b"},"arrayField":["oeXIfTsq","dXQACn","WHGX","hzkoxM","bCjp","MfjpQI","zyaIPHllS","KaatDq","XMbg"],"boolField":true,"intField":373,"numField":-318.176656364054,"objField":{"LschMAej":-2924901631188013965,"ynKSBwP":5282462526824198305},"stringDateField":"2002-12-07","stringDateTimeField":"2017-07-10T01:14:53Z","stringField":"Biem","stringTimeField":"15:23:44.44Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":373,"numField":-318.176656364054,"stringDateField":"2002-12-07","stringDateTimeField":"2017-07-10T01:14:53Z","stringField":"Biem","stringTimeField":"15:23:44.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4456,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4456,"uuid":"9e0a8a22-5655-11ee-9801-675ed0f8e89b"},"arrayField":["Pihrp","OmrbJ","nPEo","vUcSCcu","eFNsops","ZiCKHZV","TjwIXakBMC"],"boolField":false,"intField":84,"numField":295.8237415211833,"objField":{"ScTVyfW":8394774576842114055},"stringDateField":"1933-03-03","stringDateTimeField":"1948-04-13T04:32:27Z","stringField":"uiEXKsX","stringTimeField":"23:23:49.48Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":84,"numField":295.8237415211833,"stringDateField":"1933-03-03","stringDateTimeField":"1948-04-13T04:32:27Z","stringField":"uiEXKsX","stringTimeField":"23:23:49.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4457,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4457,"uuid":"9e0a8a22-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["CAVpoSDQ","JDMsU","RkzReiM","WkFe"],"boolField":false,"intField":432,"numField":-733.8099865398008,"objField":{"IuthvkYYG":-7237162655775550473,"MvDZ":3524447385363170416,"WLHueQ":-3401782980328507373,"YUQJx":-8639650565186797613,"gdBZHcdZ":4428870501734013649,"hFHGEfvWK":-1502151194659112603,"kUyKOn":-737349538455732889},"stringDateField":"1928-01-21","stringDateTimeField":"1905-11-19T16:34:40Z","stringField":"YydsqAIvd","stringTimeField":"18:35:00.50Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":432,"numField":-733.8099865398008,"stringDateField":"1928-01-21","stringDateTimeField":"1905-11-19T16:34:40Z","stringField":"YydsqAIvd","stringTimeField":"18:35:00.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4458,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4458,"uuid":"9e0a8a22-5655-11ee-a001-675ed0f8e89b"},"arrayField":["vjjkna"],"boolField":true,"intField":352,"numField":958.9838527824472,"objField":{"ASFBrVYl":-6322209744977667408,"BgxKKeQk":2298758705293937090,"JXNFaMpn":5552679258206457247,"LivUKZKZ":-1223495501789622021,"NabNApm":-7236741230760664605,"RgSsGIficZ":8873148779771626135,"SOpY":-7741829075075710117,"wulxoXy":-9043812615953011504},"stringDateField":"1909-12-23","stringDateTimeField":"2004-12-30T09:16:13Z","stringField":"CkHnqMlW","stringTimeField":"14:53:18.19Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":352,"numField":958.9838527824472,"stringDateField":"1909-12-23","stringDateTimeField":"2004-12-30T09:16:13Z","stringField":"CkHnqMlW","stringTimeField":"14:53:18.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4459,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4459,"uuid":"9e0a8a22-5655-11ee-a401-675ed0f8e89b"},"arrayField":["Awmazlg","hIqk","lmIw","wsrP","swXar","jFFH","uFXBp"],"boolField":false,"intField":634,"numField":-622.6393710437117,"objField":{"BuPgEWdz":1259783915151046031,"HfDfJXyjpi":7268548350108682671,"IIZaTp":8582763880638127171,"KQrxpPv":-2014873654209400977,"XOZW":2469176003731368118,"dxNIka":-2086770665397985681,"jSWKjSirz":-569169009581955399,"ormAOMQ":4064385302926416563,"oxpNlxh":-7778391693443697062,"qboW":5485675447571413016},"stringDateField":"2001-10-21","stringDateTimeField":"2015-05-26T14:33:47Z","stringField":"IUClW","stringTimeField":"11:47:15.20Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":634,"numField":-622.6393710437117,"stringDateField":"2001-10-21","stringDateTimeField":"2015-05-26T14:33:47Z","stringField":"IUClW","stringTimeField":"11:47:15.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4460,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4460,"uuid":"9e0a8a22-5655-11ee-a801-675ed0f8e89b"},"arrayField":["YuZVcOM","TNGBZKKRE","xVKktpDzyA","ngPpdbX","EkJr","lAYIncVQ","kkxkKsccM","POqPxSv","akrmuDM"],"boolField":true,"intField":-795,"numField":-820.2686976837807,"objField":{"fPlh":-6144476544322566315},"stringDateField":"1993-05-06","stringDateTimeField":"1929-05-04T18:43:46Z","stringField":"atzCRECkRx","stringTimeField":"11:20:08.21Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":-795,"numField":-820.2686976837807,"stringDateField":"1993-05-06","stringDateTimeField":"1929-05-04T18:43:46Z","stringField":"atzCRECkRx","stringTimeField":"11:20:08.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4461,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4461,"uuid":"9e0a8a22-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["yHizYRg","oFzT","leXrZ","ALxCqGQqP","dkWq"],"boolField":false,"intField":567,"numField":-540.0981698848523,"objField":{"IeRIlAiKDG":7892218661883815481,"NOzqH":-6687580728006765307,"RvHdU":-7423981009540812425,"TwKjP":5595962535904339273,"hONUCwsZjN":-6359866995888300018,"ohEzwloXZ":7433330855204585516,"twWfyc":2648627402312137880},"stringDateField":"1923-11-12","stringDateTimeField":"2007-12-13T01:42:30Z","stringField":"hNNsH","stringTimeField":"04:47:13.50Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":567,"numField":-540.0981698848523,"stringDateField":"1923-11-12","stringDateTimeField":"2007-12-13T01:42:30Z","stringField":"hNNsH","stringTimeField":"04:47:13.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4462,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4462,"uuid":"9e0a8a22-5655-11ee-b001-675ed0f8e89b"},"arrayField":["PXPKbceWZA","wBMcBn"],"boolField":true,"intField":-429,"numField":-90.84498752314607,"objField":{"FEMvaFp":4595357437229379519,"FWxFit":2566267830283533831,"HscJ":3273510246746082913,"QTWARarvK":5298264011575140966,"VbenEjjo":-4367519582409630504,"dHtdKCZKB":5723737277052120496,"mzyHIV":-2365207031350643846,"qWGp":-1581521786473182519,"qeRzPUU":-7358503851160458998},"stringDateField":"1925-08-29","stringDateTimeField":"2005-01-07T03:55:38Z","stringField":"pDKvzItK","stringTimeField":"11:16:50.23Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":-429,"numField":-90.84498752314607,"stringDateField":"1925-08-29","stringDateTimeField":"2005-01-07T03:55:38Z","stringField":"pDKvzItK","stringTimeField":"11:16:50.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4463,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4463,"uuid":"9e0a8a22-5655-11ee-b401-675ed0f8e89b"},"arrayField":["FvkShl","IIYZZNhcMF","YkMXEFK","REbvP","htnBhcWeBk","ESsaes","IHNuN","abjFiVjpD","xXZWbl","KqCwFzjbS"],"boolField":false,"intField":-588,"numField":-872.8771419022993,"objField":{"EbTtn":-8294523846066810422,"pJTp":3131704849988982707},"stringDateField":"1977-01-30","stringDateTimeField":"2000-06-15T17:06:15Z","stringField":"mxVops","stringTimeField":"22:09:18.45Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":-588,"numField":-872.8771419022993,"stringDateField":"1977-01-30","stringDateTimeField":"2000-06-15T17:06:15Z","stringField":"mxVops","stringTimeField":"22:09:18.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4464,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4464,"uuid":"9e0a8a22-5655-11ee-b801-675ed0f8e89b"},"arrayField":["ywdQBjl","tCstftM","JMMIkdSkgJ","ryDLtO","RbDddXvf","oXHBHZr","WWhdkjnfYq","tQNOjK","vZOzAQhaK"],"boolField":false,"intField":-949,"numField":-395.1370598075944,"objField":{"GxhbX":8099865656074753849,"OhzPrl":5868289675286666132,"ZoZidZcA":5066899073828604889,"bBRj":-4725247992485274335,"jMRk":-977620115479874385,"jZAw":-8333445620489829934,"tqeSatQWBi":-1679965420331618444},"stringDateField":"1969-01-09","stringDateTimeField":"2015-07-15T07:57:46Z","stringField":"ygbl","stringTimeField":"04:46:53.11Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":-949,"numField":-395.1370598075944,"stringDateField":"1969-01-09","stringDateTimeField":"2015-07-15T07:57:46Z","stringField":"ygbl","stringTimeField":"04:46:53.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4465,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4465,"uuid":"9e0a8a22-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["WtgKuR","hMFWvpARr","KjtlwLSbH","afbk","QzHHHPP","KMrrcDHbdi","JrBl","mEFCPfPf","FmFu"],"boolField":true,"intField":-613,"numField":-875.6873788165676,"objField":{"bnEYEfUjTT":5187427238419057787},"stringDateField":"1957-07-04","stringDateTimeField":"2019-05-13T12:09:21Z","stringField":"AhrlqubJsl","stringTimeField":"23:46:21.41Z"},"flow_published_at":"2023-09-18T19:00:21.876381Z","intField":-613,"numField":-875.6873788165676,"stringDateField":"1957-07-04","stringDateTimeField":"2019-05-13T12:09:21Z","stringField":"AhrlqubJsl","stringTimeField":"23:46:21.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4466,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4466,"uuid":"9e0a8a23-5655-11ee-8001-675ed0f8e89b"},"arrayField":["HiJPcw","ZxRd","eEZzkKaJJ","NcAVlyJ"],"boolField":false,"intField":911,"numField":457.18235370447303,"objField":{"QVjtGyEdj":-7851123407190115112,"YMgnMorh":200719752736422369,"eAAfH":-6203060238182892982,"uGDLqbqXu":6749782345540060735},"stringDateField":"1999-03-27","stringDateTimeField":"1916-11-26T10:37:11Z","stringField":"TIbkeb","stringTimeField":"22:23:35.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":911,"numField":457.18235370447303,"stringDateField":"1999-03-27","stringDateTimeField":"1916-11-26T10:37:11Z","stringField":"TIbkeb","stringTimeField":"22:23:35.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4467,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4467,"uuid":"9e0a8a23-5655-11ee-8401-675ed0f8e89b"},"arrayField":["aDifesOuP"],"boolField":false,"intField":794,"numField":605.1231614291437,"objField":{"iOlBnFjssY":6799422827620540381},"stringDateField":"1950-01-01","stringDateTimeField":"1912-05-26T15:27:34Z","stringField":"ENHOrdI","stringTimeField":"14:21:22.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":794,"numField":605.1231614291437,"stringDateField":"1950-01-01","stringDateTimeField":"1912-05-26T15:27:34Z","stringField":"ENHOrdI","stringTimeField":"14:21:22.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4468,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4468,"uuid":"9e0a8a23-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ceXORpj","lBhH","lvvwl","bvoxK","BECCy","HyZnLam","BChF","kzyc","zNUv","fnSEIiy"],"boolField":false,"intField":972,"numField":62.09053762860939,"objField":{"Ffqg":6458587071188571952,"gYGV":-1253102964195565866},"stringDateField":"1974-07-16","stringDateTimeField":"1934-06-27T00:11:39Z","stringField":"fuGd","stringTimeField":"17:23:47.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":972,"numField":62.09053762860939,"stringDateField":"1974-07-16","stringDateTimeField":"1934-06-27T00:11:39Z","stringField":"fuGd","stringTimeField":"17:23:47.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4469,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4469,"uuid":"9e0a8a23-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["VHIDNQAd","rzhSYUcJes","pucAn","YfBBJe","MPGgMYYuOp","upsqzdVwOQ","STrNZFU"],"boolField":false,"intField":-432,"numField":-713.4832143988568,"objField":{"EMLWXrcn":8201006510819218023,"KWKO":1889939621725394059,"TFouiJ":8780032174208608306,"oYyEol":819463841992078655,"qqvBEqss":-5742202841884198004},"stringDateField":"2021-11-11","stringDateTimeField":"1938-05-13T22:42:12Z","stringField":"GeRftIH","stringTimeField":"04:28:58.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":-432,"numField":-713.4832143988568,"stringDateField":"2021-11-11","stringDateTimeField":"1938-05-13T22:42:12Z","stringField":"GeRftIH","stringTimeField":"04:28:58.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4470,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4470,"uuid":"9e0a8a23-5655-11ee-9001-675ed0f8e89b"},"arrayField":["crmkIpmOl","INskbcns","GsbQKZNQp","EzJKWUEVtG","ISaMEtlr","eYoHwXVZ"],"boolField":false,"intField":-313,"numField":531.6709684421681,"objField":{"mNzts":7065058316772212556},"stringDateField":"1988-08-18","stringDateTimeField":"1971-12-06T18:45:51Z","stringField":"QWRKF","stringTimeField":"16:24:36.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":-313,"numField":531.6709684421681,"stringDateField":"1988-08-18","stringDateTimeField":"1971-12-06T18:45:51Z","stringField":"QWRKF","stringTimeField":"16:24:36.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4471,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4471,"uuid":"9e0a8a23-5655-11ee-9401-675ed0f8e89b"},"arrayField":["CIsuECG","KIDhP","lepEnD","EaiIiNIMjG"],"boolField":false,"intField":787,"numField":54.067032143420235,"objField":{"NDNo":9090653081725198666,"RwWr":-2674228092493263693,"UOVJI":-3958013368515533873,"xmMb":-7282828773553060265},"stringDateField":"1922-01-13","stringDateTimeField":"1988-07-06T02:07:35Z","stringField":"hZnRizt","stringTimeField":"14:23:12.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":787,"numField":54.067032143420235,"stringDateField":"1922-01-13","stringDateTimeField":"1988-07-06T02:07:35Z","stringField":"hZnRizt","stringTimeField":"14:23:12.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4472,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4472,"uuid":"9e0a8a23-5655-11ee-9801-675ed0f8e89b"},"arrayField":["hKrvWMvu","tOKfz"],"boolField":true,"intField":893,"numField":-292.6434401895962,"objField":{"LdCW":7909068871755471762,"LfJOkGU":6257186989861609466,"NzCUJu":-7657070638475127598,"wjHgLY":1237628234262794371},"stringDateField":"1909-05-20","stringDateTimeField":"1960-11-05T09:02:43Z","stringField":"cpvD","stringTimeField":"18:22:49.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":893,"numField":-292.6434401895962,"stringDateField":"1909-05-20","stringDateTimeField":"1960-11-05T09:02:43Z","stringField":"cpvD","stringTimeField":"18:22:49.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4473,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4473,"uuid":"9e0a8a23-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["zvHv","awnveKT","IRHvow","bIeTQtD","ukuTemAC"],"boolField":true,"intField":-665,"numField":66.05114060396677,"objField":{"DldehnUkAm":5673492960294412022,"YZxM":-175975193156637534,"bkSpAvZrC":6710041769136751562},"stringDateField":"1972-07-18","stringDateTimeField":"1960-12-15T23:38:37Z","stringField":"ooZx","stringTimeField":"09:48:15.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":-665,"numField":66.05114060396677,"stringDateField":"1972-07-18","stringDateTimeField":"1960-12-15T23:38:37Z","stringField":"ooZx","stringTimeField":"09:48:15.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4474,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4474,"uuid":"9e0a8a23-5655-11ee-a001-675ed0f8e89b"},"arrayField":["DRSbLisN","Lobv","hnRjIqoWl","HMmo","QDYpFXEgp","EpxwXd","vzNOXaiV","unsonuEtu"],"boolField":false,"intField":-585,"numField":-350.80299561409834,"objField":{"ELrBFn":-5718426842229978341,"GBMtrql":2916908520881068020,"GBdffqmd":4199429145252437062,"GQMf":-8876745977248184231,"KPWosZwwI":-8102617113077373671,"LlXugywPrG":-6552162835080952208,"PLUdgeQYH":2774434504772265405,"QpzscVt":-5305994640776564109,"blYZFCU":9194874277199276460,"dZnYjTnCc":6281459856648216789},"stringDateField":"1947-04-30","stringDateTimeField":"1982-06-26T05:23:23Z","stringField":"wnyO","stringTimeField":"20:39:42.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":-585,"numField":-350.80299561409834,"stringDateField":"1947-04-30","stringDateTimeField":"1982-06-26T05:23:23Z","stringField":"wnyO","stringTimeField":"20:39:42.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4475,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4475,"uuid":"9e0a8a23-5655-11ee-a401-675ed0f8e89b"},"arrayField":["dMdX","MQBlxm","coymEv"],"boolField":false,"intField":-806,"numField":609.6664513552312,"objField":{"AgMkRzNyn":8485501103943247704,"FtkgVB":811875496978891846,"ILzRsJCXFP":7831497112976169009,"URNybsKX":-6290786956651995372,"ZIuUdz":8358880668544832244,"nCAsT":-8663647597066754357},"stringDateField":"1987-01-01","stringDateTimeField":"1939-11-04T17:12:25Z","stringField":"RhBAOkxL","stringTimeField":"20:25:11.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":-806,"numField":609.6664513552312,"stringDateField":"1987-01-01","stringDateTimeField":"1939-11-04T17:12:25Z","stringField":"RhBAOkxL","stringTimeField":"20:25:11.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4476,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4476,"uuid":"9e0a8a23-5655-11ee-a801-675ed0f8e89b"},"arrayField":["VPYGja","mlBco"],"boolField":false,"intField":-717,"numField":487.1686675109004,"objField":{"PrHG":5195036783794953200,"RQXLm":2330997946903170290,"ZGfEP":1500125039394351480,"cCjsFtFLzo":-84182795839366743,"donNNzMi":-6769060719197750704,"oVGKwppif":9125820629080276306,"ruyfh":-4247146240537595321,"tptqk":-707822078449859208,"xccDmrhRD":8214451224263682751},"stringDateField":"1958-04-26","stringDateTimeField":"2005-12-30T00:48:32Z","stringField":"LjhDRHPcbU","stringTimeField":"08:40:18.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":-717,"numField":487.1686675109004,"stringDateField":"1958-04-26","stringDateTimeField":"2005-12-30T00:48:32Z","stringField":"LjhDRHPcbU","stringTimeField":"08:40:18.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4477,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4477,"uuid":"9e0a8a23-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ggiRsuUb","fFanLD","SWeLOHqQMY","mUxg","EZBPaBhS","RgwxYg"],"boolField":true,"intField":820,"numField":-444.1973706536059,"objField":{"DOzVG":3220164266769737351,"GNjkMXRSal":8736325918818429797,"HKgr":4050657669865369713,"NtHnjSJ":9215847241029722790,"RKmN":-6045920353626412852,"UtjdV":-8466920910524404884,"aRjBHmb":4617074603789527301,"eTuaQt":-2109271874088710560,"hqgZOEkh":7860610762634845628,"iiJn":9220118940773999104},"stringDateField":"1954-12-01","stringDateTimeField":"1970-10-06T15:45:54Z","stringField":"vNRlQtrrl","stringTimeField":"13:14:01.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":820,"numField":-444.1973706536059,"stringDateField":"1954-12-01","stringDateTimeField":"1970-10-06T15:45:54Z","stringField":"vNRlQtrrl","stringTimeField":"13:14:01.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4478,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4478,"uuid":"9e0a8a23-5655-11ee-b001-675ed0f8e89b"},"arrayField":["CmWRdf","QTsyfz","kuuLcKkT","azyghpYtlb","CqBkHpTJBp","dBjEg","GziFNuqyT","VEZamFIZp","auZoryzDM"],"boolField":true,"intField":610,"numField":928.1459444589616,"objField":{"QVALP":-2320864337751977542,"TBqOXs":-6447069491550911294,"qkREQPyZ":-838338254099442891},"stringDateField":"1961-09-18","stringDateTimeField":"1920-09-11T16:02:08Z","stringField":"oQpqTPZY","stringTimeField":"00:01:15.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":610,"numField":928.1459444589616,"stringDateField":"1961-09-18","stringDateTimeField":"1920-09-11T16:02:08Z","stringField":"oQpqTPZY","stringTimeField":"00:01:15.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4479,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4479,"uuid":"9e0a8a23-5655-11ee-b401-675ed0f8e89b"},"arrayField":["rFZpDb","cERXJuknzl","anloH","LrtlsfeOL"],"boolField":true,"intField":-99,"numField":537.2616299593582,"objField":{"NlCIqJQYc":-6360039240846872992,"RjatDtbPA":2729766743120568769},"stringDateField":"1965-03-30","stringDateTimeField":"2008-09-09T02:33:45Z","stringField":"GUwBx","stringTimeField":"01:34:51.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":-99,"numField":537.2616299593582,"stringDateField":"1965-03-30","stringDateTimeField":"2008-09-09T02:33:45Z","stringField":"GUwBx","stringTimeField":"01:34:51.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4480,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4480,"uuid":"9e0a8a23-5655-11ee-b801-675ed0f8e89b"},"arrayField":["esZtHzdL","lmiF","JfznGJX","ZTTsswn","jtWmBsLQ","cody","uXHH"],"boolField":false,"intField":-853,"numField":558.2092214476082,"objField":{"dTWFKpkBmB":5500595220993966469,"hudtkcW":6585270460532675505,"iFVVs":3126813672313201046},"stringDateField":"2020-04-07","stringDateTimeField":"1986-04-28T06:04:24Z","stringField":"JNjJTe","stringTimeField":"17:13:08.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":-853,"numField":558.2092214476082,"stringDateField":"2020-04-07","stringDateTimeField":"1986-04-28T06:04:24Z","stringField":"JNjJTe","stringTimeField":"17:13:08.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4481,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4481,"uuid":"9e0a8a23-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["MKRgXCBP","nKkiycS","HyBMb","yNRwzsMTR","cfYXuecanS","nxEtFu"],"boolField":true,"intField":409,"numField":-726.6732880031241,"objField":{"EIAztVO":-1475837979735804155,"VcKGljHwyL":3185279926391359372,"qDsulCz":7992989729545966102},"stringDateField":"2023-01-02","stringDateTimeField":"1936-02-21T08:11:35Z","stringField":"HAPEw","stringTimeField":"20:18:24.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763811Z","intField":409,"numField":-726.6732880031241,"stringDateField":"2023-01-02","stringDateTimeField":"1936-02-21T08:11:35Z","stringField":"HAPEw","stringTimeField":"20:18:24.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4482,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4482,"uuid":"9e0a8a24-5655-11ee-8001-675ed0f8e89b"},"arrayField":["Zomzf","iKnNiSe","roJnDbWQs","qLBriNmrgo","GjCljm"],"boolField":true,"intField":-540,"numField":947.8795918653652,"objField":{"DlbDAKaMLE":-1381876594885155176,"HWovHNXF":-5131242128712761901,"JTzLdbVCo":-1216956909399521482,"UmBPX":7101255489632082121,"WeRY":7336311899763574381,"YNXiONRBdJ":3364851059571929759,"djKJVpo":543797710929233644,"gRVsJGK":7965785386045581769,"pynZml":-2548298484451030673,"sOmZt":4895101909094556688},"stringDateField":"2015-10-21","stringDateTimeField":"1901-03-17T21:42:02Z","stringField":"KvYtxDu","stringTimeField":"19:16:50.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-540,"numField":947.8795918653652,"stringDateField":"2015-10-21","stringDateTimeField":"1901-03-17T21:42:02Z","stringField":"KvYtxDu","stringTimeField":"19:16:50.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4483,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4483,"uuid":"9e0a8a24-5655-11ee-8401-675ed0f8e89b"},"arrayField":["RQOeCs","orkNaTR","WLqDWVrCI","Rolsbco","tPbSyR","tnkbeHgHib"],"boolField":true,"intField":-678,"numField":938.8677587865787,"objField":{"IYtDqZ":6178492155047753642,"oMREQ":8664596541366208782},"stringDateField":"1957-06-23","stringDateTimeField":"2003-04-17T13:26:17Z","stringField":"JclDQiU","stringTimeField":"01:53:27.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-678,"numField":938.8677587865787,"stringDateField":"1957-06-23","stringDateTimeField":"2003-04-17T13:26:17Z","stringField":"JclDQiU","stringTimeField":"01:53:27.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4484,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4484,"uuid":"9e0a8a24-5655-11ee-8801-675ed0f8e89b"},"arrayField":["tsUypPgCMK","foqUfD"],"boolField":false,"intField":-137,"numField":967.0855316914402,"objField":{"DkeGPJmgb":1204525632513411427,"SJggm":4965377965458186437,"qRaDpECMmP":1426089695103851200},"stringDateField":"1977-12-07","stringDateTimeField":"1994-09-17T19:13:16Z","stringField":"vecjTHZYCJ","stringTimeField":"23:25:53.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-137,"numField":967.0855316914402,"stringDateField":"1977-12-07","stringDateTimeField":"1994-09-17T19:13:16Z","stringField":"vecjTHZYCJ","stringTimeField":"23:25:53.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4485,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4485,"uuid":"9e0a8a24-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["SfHNlnWX","DWujixyvgq","cjrjMWrXKF"],"boolField":true,"intField":-228,"numField":932.1465653428312,"objField":{"VdUphwP":-4709942566963028249},"stringDateField":"2020-09-06","stringDateTimeField":"1981-01-19T01:49:51Z","stringField":"schoo","stringTimeField":"12:46:04.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-228,"numField":932.1465653428312,"stringDateField":"2020-09-06","stringDateTimeField":"1981-01-19T01:49:51Z","stringField":"schoo","stringTimeField":"12:46:04.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4486,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4486,"uuid":"9e0a8a24-5655-11ee-9001-675ed0f8e89b"},"arrayField":["DoemCcfPW","PqjDtWd","etdHFMwRUz","qsNhsx","GxOHaSX","DosKYQyb","PFOXAG","XeXeFTdt"],"boolField":true,"intField":-90,"numField":450.1136525299352,"objField":{"CnDgAFDeN":-6878016707384639396,"MnsA":-4717976289421829057,"PzwPS":-6360218549507724675,"THLbiiNSkK":-4165276705529601855,"WJpOxGDmfL":5971276327495207059,"YXuJi":8589189052846017452,"qHtWCY":-7751024156573496233,"theIX":-5089301656688588639,"viPFZ":-2412379502127394712},"stringDateField":"1906-10-01","stringDateTimeField":"2018-05-28T09:03:24Z","stringField":"KwYUW","stringTimeField":"09:11:09.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-90,"numField":450.1136525299352,"stringDateField":"1906-10-01","stringDateTimeField":"2018-05-28T09:03:24Z","stringField":"KwYUW","stringTimeField":"09:11:09.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4487,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4487,"uuid":"9e0a8a24-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ZDrZ","ICxV","TvewttY"],"boolField":false,"intField":-66,"numField":-874.6478187044262,"objField":{"CYbqYMn":1607038601002315464},"stringDateField":"1939-08-15","stringDateTimeField":"1991-03-29T20:27:00Z","stringField":"cusz","stringTimeField":"04:39:50.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-66,"numField":-874.6478187044262,"stringDateField":"1939-08-15","stringDateTimeField":"1991-03-29T20:27:00Z","stringField":"cusz","stringTimeField":"04:39:50.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4488,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4488,"uuid":"9e0a8a24-5655-11ee-9801-675ed0f8e89b"},"arrayField":["IJsVtwrhEz","QOQYurzN","MudwLyj"],"boolField":false,"intField":224,"numField":57.646969122330695,"objField":{"GUaHkkrGt":-480610210453409675,"TuFnxubE":-7550835261573701093,"pJumMnALPD":894870449602202522,"qouBoiL":7676473252856642810,"tEyHgP":-6866734511440723969},"stringDateField":"1910-04-11","stringDateTimeField":"1971-05-24T23:49:55Z","stringField":"arAsg","stringTimeField":"16:58:25.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":224,"numField":57.646969122330695,"stringDateField":"1910-04-11","stringDateTimeField":"1971-05-24T23:49:55Z","stringField":"arAsg","stringTimeField":"16:58:25.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4489,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4489,"uuid":"9e0a8a24-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["LiPihoNDt","BmHy","UGeNfXl","uDcuKsxyd"],"boolField":true,"intField":-162,"numField":-221.3492328290746,"objField":{"ORfESzVvZ":-1266455662334605710,"aTmqbWu":7930340881064871398,"hbblVDjwVi":-3463711047359025186,"jAqwWgx":-489485887053776640,"jObH":3992669989864012064,"jVbG":-7498674117686819932,"szzDTGgE":3860043794177788914,"vCzmJ":-6382031915687915381,"ySgNRwtK":-9138840916047980253},"stringDateField":"1919-03-31","stringDateTimeField":"1929-06-14T15:24:25Z","stringField":"gpXl","stringTimeField":"02:31:21.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-162,"numField":-221.3492328290746,"stringDateField":"1919-03-31","stringDateTimeField":"1929-06-14T15:24:25Z","stringField":"gpXl","stringTimeField":"02:31:21.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4490,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4490,"uuid":"9e0a8a24-5655-11ee-a001-675ed0f8e89b"},"arrayField":["CXik","HSQirG","IQImxUyDH","aava"],"boolField":false,"intField":-910,"numField":490.1374500261006,"objField":{"GfYfWhytd":8050204443395950523,"QvLvOE":-1963829826643067878,"RXHY":4219666504525991455,"WRWmWnqQ":-7258073578592319152,"byFtXzTMBf":2213722769882045506,"gyyRUpSHtw":4901159669577708381,"uErkOynRqu":-317225321267047630,"ubXeLBeApr":5017076928545478286,"xsJfNOi":1717545681653289741},"stringDateField":"1908-03-21","stringDateTimeField":"1904-10-21T11:52:31Z","stringField":"YGqgUDYIo","stringTimeField":"07:12:29.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-910,"numField":490.1374500261006,"stringDateField":"1908-03-21","stringDateTimeField":"1904-10-21T11:52:31Z","stringField":"YGqgUDYIo","stringTimeField":"07:12:29.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4491,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4491,"uuid":"9e0a8a24-5655-11ee-a401-675ed0f8e89b"},"arrayField":["YJvJkp","IRsB","AahZzgsZfM","uaIlS","LEjVFfzYuL","LIylJzVjzs","ECSmlA"],"boolField":true,"intField":811,"numField":-619.7659371458085,"objField":{"IHFhgQBT":-745204435656829354,"PUzeYbhzTi":3243458308820645954,"QCdCYJ":-5129159783482469676,"RyUUypV":-7953830915196969026,"VEgJSLWNMZ":5153480603543569841},"stringDateField":"1967-07-02","stringDateTimeField":"1958-06-03T22:39:08Z","stringField":"PtTrqa","stringTimeField":"14:59:14.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":811,"numField":-619.7659371458085,"stringDateField":"1967-07-02","stringDateTimeField":"1958-06-03T22:39:08Z","stringField":"PtTrqa","stringTimeField":"14:59:14.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4492,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4492,"uuid":"9e0a8a24-5655-11ee-a801-675ed0f8e89b"},"arrayField":["dTKQ","Zusifqlu","gbtdAq","tQjWxYZSo","gblLe","clyG"],"boolField":true,"intField":-682,"numField":-413.2642651621998,"objField":{"JUohxX":3773216984662247050,"JVdGJlbTEy":4023940489469357122,"RbYVYps":4396045851263802310,"TIOM":1989962324058059811,"ejThA":2954142754912652585,"fioZAHCJQ":-4271176696122908503,"rUvyz":-4676886918668524159,"suuNYEc":-4806244701579250117},"stringDateField":"1963-09-01","stringDateTimeField":"1960-02-13T02:38:31Z","stringField":"HLihMMl","stringTimeField":"00:17:25.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-682,"numField":-413.2642651621998,"stringDateField":"1963-09-01","stringDateTimeField":"1960-02-13T02:38:31Z","stringField":"HLihMMl","stringTimeField":"00:17:25.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4493,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4493,"uuid":"9e0a8a24-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["mDtoNQK","LdoqUX","cNcaDcM","mSxDc","nhpVCQn","LarGSS","FFJuB","kRLdTUsID","QqsmVvm"],"boolField":true,"intField":-600,"numField":-283.3155094492918,"objField":{"VODkn":3710419884138219673,"cUsj":-1514262542297899325,"dTYZScx":-7150024637720147560,"fbHPJ":-7599773712171570186,"icSg":5689523212371449945,"mOhetfKil":631750204621293441,"pMlyJbi":-1861119056298232479,"peqI":-5666657917846480207},"stringDateField":"1984-06-17","stringDateTimeField":"1947-02-27T01:55:43Z","stringField":"YReX","stringTimeField":"07:38:55.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-600,"numField":-283.3155094492918,"stringDateField":"1984-06-17","stringDateTimeField":"1947-02-27T01:55:43Z","stringField":"YReX","stringTimeField":"07:38:55.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4494,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4494,"uuid":"9e0a8a24-5655-11ee-b001-675ed0f8e89b"},"arrayField":["cmnLgsIkch"],"boolField":false,"intField":-657,"numField":148.25272153601853,"objField":{"AmgwyVhIU":1673414686352001765,"gUlXsXx":-2751440868629920789,"iCJN":1632144070957601603,"qZCf":-4938232746272603678,"wfKfgnk":-3703010536529661723},"stringDateField":"1961-07-08","stringDateTimeField":"1992-11-28T13:53:54Z","stringField":"fxcZLFetWp","stringTimeField":"07:57:21.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-657,"numField":148.25272153601853,"stringDateField":"1961-07-08","stringDateTimeField":"1992-11-28T13:53:54Z","stringField":"fxcZLFetWp","stringTimeField":"07:57:21.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4495,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4495,"uuid":"9e0a8a24-5655-11ee-b401-675ed0f8e89b"},"arrayField":["XOgSASKGF","vYSwB","gdUr"],"boolField":false,"intField":66,"numField":-606.9388945357786,"objField":{"ZDMH":1782462160061274062,"hArIvMG":8623375819893634167},"stringDateField":"2003-06-27","stringDateTimeField":"1944-02-05T18:40:30Z","stringField":"clauHacWY","stringTimeField":"18:29:40.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":66,"numField":-606.9388945357786,"stringDateField":"2003-06-27","stringDateTimeField":"1944-02-05T18:40:30Z","stringField":"clauHacWY","stringTimeField":"18:29:40.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4496,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4496,"uuid":"9e0a8a24-5655-11ee-b801-675ed0f8e89b"},"arrayField":["EnSRseVj","SfCJSsi","VRaIO","DFWJVOMgVr","cuxRp","fSHZSA","koixlLKMS"],"boolField":true,"intField":-456,"numField":-499.7611034427472,"objField":{"TTDN":-414768576086320287,"UBwv":75015712134374693,"lgfDiDXVQ":-468243971016123661,"rZAoHhmP":-7436244451955754181},"stringDateField":"2012-12-17","stringDateTimeField":"2011-09-22T06:21:35Z","stringField":"UpNiYb","stringTimeField":"23:02:35.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-456,"numField":-499.7611034427472,"stringDateField":"2012-12-17","stringDateTimeField":"2011-09-22T06:21:35Z","stringField":"UpNiYb","stringTimeField":"23:02:35.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4497,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4497,"uuid":"9e0a8a24-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["XRlxazKoXQ","UaxoiniZzE","sRXVswMsg","phpdBYcG","mvxuSHKRFc","AuZL","FagiHXSfW"],"boolField":true,"intField":-74,"numField":119.30691391120465,"objField":{"YFjo":-7703429101517407940},"stringDateField":"1963-09-07","stringDateTimeField":"2021-08-10T11:34:03Z","stringField":"NRguHavA","stringTimeField":"06:44:44.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763812Z","intField":-74,"numField":119.30691391120465,"stringDateField":"1963-09-07","stringDateTimeField":"2021-08-10T11:34:03Z","stringField":"NRguHavA","stringTimeField":"06:44:44.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4498,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4498,"uuid":"9e0a8a25-5655-11ee-8001-675ed0f8e89b"},"arrayField":["CTuxElb","CgqbEUbU","bRcem"],"boolField":true,"intField":521,"numField":733.0792666402,"objField":{"eRIslxywY":-9139727063981080710},"stringDateField":"1925-10-12","stringDateTimeField":"2010-01-05T01:18:10Z","stringField":"Jnoiy","stringTimeField":"04:55:59.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":521,"numField":733.0792666402,"stringDateField":"1925-10-12","stringDateTimeField":"2010-01-05T01:18:10Z","stringField":"Jnoiy","stringTimeField":"04:55:59.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4499,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4499,"uuid":"9e0a8a25-5655-11ee-8401-675ed0f8e89b"},"arrayField":["HMVHJw","FlKCS","MFNDPMI","JltVJOA","VPEsJ","DAxRiEnzTp"],"boolField":true,"intField":878,"numField":101.85409140498258,"objField":{"GlVaauO":2816299658529495436,"KZdTLnYqXd":9047892813111971796,"MEimOGAy":-6665206900139121270,"MJmXrttOl":-3264072043684196743,"TTsJxDUk":-7638773573063110603,"hcwwIrvAo":-5173711568455277661,"qkwTg":7208187967573877678,"zkOgfYk":647540233438481511},"stringDateField":"1929-05-08","stringDateTimeField":"1995-01-23T13:23:49Z","stringField":"MNvdu","stringTimeField":"04:07:51.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":878,"numField":101.85409140498258,"stringDateField":"1929-05-08","stringDateTimeField":"1995-01-23T13:23:49Z","stringField":"MNvdu","stringTimeField":"04:07:51.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4500,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4500,"uuid":"9e0a8a25-5655-11ee-8801-675ed0f8e89b"},"arrayField":["rxiukTpjKo","gzepYaykjv","HurYapYrj","xAShWjg","bNPghfBG","JwfJ","dvSRyTnrKl","QCKjv"],"boolField":false,"intField":320,"numField":-90.3678581189814,"objField":{"AoYMpCtSQ":5504262263696334196,"IVPtRvk":-8430973366075540020,"QNXdwQj":8824342997867623304,"RMseqRp":4081630916657597519,"tbhecmwuul":-1699198585079898312,"vHkoeCG":-4064340457897473109,"zLSleQQai":7865020183177222981},"stringDateField":"1958-01-27","stringDateTimeField":"1950-07-10T20:33:47Z","stringField":"BBqQxwEjon","stringTimeField":"19:05:56.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":320,"numField":-90.3678581189814,"stringDateField":"1958-01-27","stringDateTimeField":"1950-07-10T20:33:47Z","stringField":"BBqQxwEjon","stringTimeField":"19:05:56.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4501,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4501,"uuid":"9e0a8a25-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["tPOjG","iSMqMpvA","etrwzrDZjy"],"boolField":true,"intField":-310,"numField":923.8967642235492,"objField":{"DNAaxbWc":-3564333158482168947,"QsejFbw":-260416713253137987,"wjQkg":7281041967763400523,"zKxZr":7001987430829030416},"stringDateField":"2000-12-21","stringDateTimeField":"1991-10-02T05:13:35Z","stringField":"HOOzSqVf","stringTimeField":"05:30:54.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":-310,"numField":923.8967642235492,"stringDateField":"2000-12-21","stringDateTimeField":"1991-10-02T05:13:35Z","stringField":"HOOzSqVf","stringTimeField":"05:30:54.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4502,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4502,"uuid":"9e0a8a25-5655-11ee-9001-675ed0f8e89b"},"arrayField":["GaALOAzCtK","SjugqFKBqB","hMDCGXyeL"],"boolField":true,"intField":139,"numField":-750.3775095838911,"objField":{"GJpePp":-221653922751649744,"Hutvezt":1603285653490025194,"OjuTuFxx":7859594180311508866,"SqqK":-8850846792104603514,"rHbVWClren":-1836783922064876523},"stringDateField":"2008-08-24","stringDateTimeField":"1938-10-02T18:34:30Z","stringField":"TmXWch","stringTimeField":"07:18:55.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":139,"numField":-750.3775095838911,"stringDateField":"2008-08-24","stringDateTimeField":"1938-10-02T18:34:30Z","stringField":"TmXWch","stringTimeField":"07:18:55.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4503,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4503,"uuid":"9e0a8a25-5655-11ee-9401-675ed0f8e89b"},"arrayField":["jwTpVb"],"boolField":false,"intField":-2,"numField":-70.51492751056531,"objField":{"FqLGrub":-4124026123731629533,"FwbICxvFG":-6850284594709682548,"HEbelTh":-2940265522729943869,"IIIsKY":-6183707455869275780,"KZMfUuefT":6011888335508728991,"Qdiuo":-2916792925043687436,"qPqLjuL":-1190691566815366503,"vratidSGym":8790665084192760427},"stringDateField":"2000-06-06","stringDateTimeField":"2016-09-27T10:43:33Z","stringField":"qyjHHrs","stringTimeField":"01:32:06.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":-2,"numField":-70.51492751056531,"stringDateField":"2000-06-06","stringDateTimeField":"2016-09-27T10:43:33Z","stringField":"qyjHHrs","stringTimeField":"01:32:06.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4504,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4504,"uuid":"9e0a8a25-5655-11ee-9801-675ed0f8e89b"},"arrayField":["dZwDzyII","srRpXnPlB"],"boolField":true,"intField":-973,"numField":-2.4300386780271577,"objField":{"EiAPLpZoju":-766449006517788362,"FAERfrS":2682586492845207773,"QBPhd":1110376442527121704,"ZZBnWoJTz":1950153651269538097,"cpind":9112674356172173800,"ectTgq":-1258805891891103116,"kkDHu":1672860200592525065,"qsGU":-5638360151822612284},"stringDateField":"1923-05-22","stringDateTimeField":"2001-07-22T15:25:20Z","stringField":"OaOC","stringTimeField":"13:00:00.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":-973,"numField":-2.4300386780271577,"stringDateField":"1923-05-22","stringDateTimeField":"2001-07-22T15:25:20Z","stringField":"OaOC","stringTimeField":"13:00:00.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4505,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4505,"uuid":"9e0a8a25-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["XclrAxI","puwIwoJ","tFaci","MVoyc","vLCFS","gASPlg","flOA","UceYvqyUj","onTWUy"],"boolField":true,"intField":-173,"numField":-754.535902426596,"objField":{"AmxrvJtP":6984371506027826717,"KNWBv":8045747330812034362,"RLbpIvdxz":1973063983700831114,"iXMstYd":7521083263643679562,"ifLxsX":7732309228457653564,"oNoHQ":3438411952800141894,"oxZWLrFK":6824954500446614178,"wMuJSDYSiw":254228212570672552,"ytmSAV":-6372167697523436376},"stringDateField":"1974-05-03","stringDateTimeField":"1904-04-07T12:28:20Z","stringField":"GgaTQ","stringTimeField":"22:34:26.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":-173,"numField":-754.535902426596,"stringDateField":"1974-05-03","stringDateTimeField":"1904-04-07T12:28:20Z","stringField":"GgaTQ","stringTimeField":"22:34:26.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4506,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4506,"uuid":"9e0a8a25-5655-11ee-a001-675ed0f8e89b"},"arrayField":["GUgTCjmUgJ","jsrCJxF","rnTfSonjb","QFoGVuDOSo","yLJdms"],"boolField":true,"intField":930,"numField":-211.3110746505552,"objField":{"MNZozqULwt":-9147534989885282718,"UwePHzWNY":2765479984993406012,"XKBpLH":-6162476537758227578,"YoBdMLS":-1608814475777983165,"aaGRA":1923191855001818342,"fnDEyrd":-3731085485313723507,"hWysSbLgOj":8027204681562271022,"wbTvPhFPj":574011154014772909},"stringDateField":"1922-12-13","stringDateTimeField":"1997-12-31T06:55:03Z","stringField":"FXmU","stringTimeField":"02:23:30.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":930,"numField":-211.3110746505552,"stringDateField":"1922-12-13","stringDateTimeField":"1997-12-31T06:55:03Z","stringField":"FXmU","stringTimeField":"02:23:30.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4507,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4507,"uuid":"9e0a8a25-5655-11ee-a401-675ed0f8e89b"},"arrayField":["gIIZFsKh","BKnd","mIVRVljzlx","pPxpd","KFnSQfXMDu","nSVKyd","rDKJdXkeH","cWjmpcXu","BJjEqCndm"],"boolField":false,"intField":-300,"numField":-151.4448243094414,"objField":{"XfyiL":6340415544477426600,"rjrczDkEvm":3800118757902010650},"stringDateField":"1972-07-13","stringDateTimeField":"1902-01-25T12:26:00Z","stringField":"bdRLWMv","stringTimeField":"11:47:40.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":-300,"numField":-151.4448243094414,"stringDateField":"1972-07-13","stringDateTimeField":"1902-01-25T12:26:00Z","stringField":"bdRLWMv","stringTimeField":"11:47:40.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4508,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4508,"uuid":"9e0a8a25-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ZjObymAryJ","EsOubDFB","VSngG","ecDRjXLVfg","zIVQEOwNS"],"boolField":false,"intField":361,"numField":956.9241587945564,"objField":{"EIoJZPeRCU":4198332412082652255,"GUUd":7053310895090769087,"HqYe":4525154876887991261,"UTIOZfN":-3648848450063474691,"aCTPB":-5989230218615181811,"blNjJsIEe":4396305796367986418,"fdaPfo":-514833782076141080,"hotdn":-8839264999515908673,"wlln":1852389752936196179,"zEhVHeYGjG":-8176787960860881928},"stringDateField":"1986-05-31","stringDateTimeField":"2011-09-04T08:24:27Z","stringField":"HfblzvdCSd","stringTimeField":"04:01:51.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":361,"numField":956.9241587945564,"stringDateField":"1986-05-31","stringDateTimeField":"2011-09-04T08:24:27Z","stringField":"HfblzvdCSd","stringTimeField":"04:01:51.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4509,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4509,"uuid":"9e0a8a25-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["JNEGxLhQro"],"boolField":false,"intField":-731,"numField":919.3238485060616,"objField":{"LkwglFk":-3022196135533566925,"nCSD":82292144345570595,"remTLek":-228039146305347883,"tofh":1653683412176630710,"yRKWFMxVCN":-8770809120484710006},"stringDateField":"1940-11-01","stringDateTimeField":"1910-12-12T01:25:39Z","stringField":"eFreSVvv","stringTimeField":"14:25:52.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":-731,"numField":919.3238485060616,"stringDateField":"1940-11-01","stringDateTimeField":"1910-12-12T01:25:39Z","stringField":"eFreSVvv","stringTimeField":"14:25:52.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4510,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4510,"uuid":"9e0a8a25-5655-11ee-b001-675ed0f8e89b"},"arrayField":["AIamsw","JsugQkXN","TqVeYcP","BxvXVj","cDhnbVke","zTwMesth","zpLxGEN","ANDu","xthUFP"],"boolField":true,"intField":-108,"numField":-889.4107440504296,"objField":{"FtUQtxv":3811575462977836955,"HuHIoD":7614912673749108623,"YTBzOnVx":-6576963899247629974,"bFtFN":-6630824741396832394,"cJDhdjj":-1065426054623139990,"qKCMEdRjHs":7785092301994377408,"qZBjKDKmGW":-7757719612190617062,"zxAI":-7878037684827021093},"stringDateField":"1987-07-02","stringDateTimeField":"1985-04-16T07:57:58Z","stringField":"YrUflqhRng","stringTimeField":"07:05:39.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":-108,"numField":-889.4107440504296,"stringDateField":"1987-07-02","stringDateTimeField":"1985-04-16T07:57:58Z","stringField":"YrUflqhRng","stringTimeField":"07:05:39.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4511,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4511,"uuid":"9e0a8a25-5655-11ee-b401-675ed0f8e89b"},"arrayField":["AoBelDS","DkqQm","MJoSEixd","YAYtYttxUZ","GNOMLL","yTOAmVgyQk","owgGq","kgcZZqq","TTQYZhGV","PqyVtfub"],"boolField":false,"intField":-230,"numField":-224.64782443794596,"objField":{"Fjdm":-4772154797923580800,"KKEHB":-2475345272342652075,"ZxtEGE":-7218446649498779048,"ofjgEW":-1932120469054184688},"stringDateField":"2014-12-06","stringDateTimeField":"1934-06-09T04:55:26Z","stringField":"PQwjYNovv","stringTimeField":"11:05:50.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":-230,"numField":-224.64782443794596,"stringDateField":"2014-12-06","stringDateTimeField":"1934-06-09T04:55:26Z","stringField":"PQwjYNovv","stringTimeField":"11:05:50.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4512,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4512,"uuid":"9e0a8a25-5655-11ee-b801-675ed0f8e89b"},"arrayField":["jNNEy"],"boolField":true,"intField":597,"numField":-893.6915781147708,"objField":{"AoJOtZZ":5151557305132114509,"Hravbof":-1763851873652082717,"LoNOonET":-4067181359981818722,"QcGuAolWPS":-4549619594989619693,"XhalwmR":3387135072465341794,"eEhOX":9220809107393133871,"mDwMdTTc":222190182830720496,"pjiresfN":449885534072822489,"yLTwytvCR":2267808526132955063},"stringDateField":"1979-10-19","stringDateTimeField":"1905-05-04T20:18:45Z","stringField":"JDjSQcghlW","stringTimeField":"00:37:14.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":597,"numField":-893.6915781147708,"stringDateField":"1979-10-19","stringDateTimeField":"1905-05-04T20:18:45Z","stringField":"JDjSQcghlW","stringTimeField":"00:37:14.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4513,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4513,"uuid":"9e0a8a25-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["IJPycWGEs","SIwMxWd","BEiW","axbRt","ExiVbL","dtZQEwO","rhxpR","tCLiruoSc"],"boolField":false,"intField":-196,"numField":197.56996772377323,"objField":{"USngeZ":-8788043043142982127,"WOEz":8431938633644189896,"fAvdeAorrs":-5130397729488855181,"kLrBAgWmr":8049829136287995862,"mJCqKvWD":-3928610712328834164,"rrSHHnyLzo":3720504540179368903,"zawnIl":8374371862780892651},"stringDateField":"2007-07-01","stringDateTimeField":"2000-01-12T13:31:16Z","stringField":"YbEAl","stringTimeField":"20:12:28.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763813Z","intField":-196,"numField":197.56996772377323,"stringDateField":"2007-07-01","stringDateTimeField":"2000-01-12T13:31:16Z","stringField":"YbEAl","stringTimeField":"20:12:28.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4514,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4514,"uuid":"9e0a8a26-5655-11ee-8001-675ed0f8e89b"},"arrayField":["rqsXfnXx","gTuG","vxIYNv","yEdenOpNtP","SljUY"],"boolField":false,"intField":-531,"numField":-699.3225237015697,"objField":{"KGKcz":-2822682023692867683,"TTRvqNkJ":5871841659584873026,"WGhLutuWq":-1064025589198667178,"jqSAq":1726582694330966190,"sBkUTKgUn":-8662399679468086121,"uASnyjv":2328193651636408540,"zLNXsBH":3589205657744052698},"stringDateField":"1982-07-24","stringDateTimeField":"2020-10-03T16:33:48Z","stringField":"oJfDp","stringTimeField":"11:28:18.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":-531,"numField":-699.3225237015697,"stringDateField":"1982-07-24","stringDateTimeField":"2020-10-03T16:33:48Z","stringField":"oJfDp","stringTimeField":"11:28:18.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4515,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4515,"uuid":"9e0a8a26-5655-11ee-8401-675ed0f8e89b"},"arrayField":["SYzzmp","xqOcy","qGGJFeKF","tJCGXzqzmF","fKYRVi","wHsRCJpMxv"],"boolField":false,"intField":-932,"numField":-384.4430313306673,"objField":{"KxFHoqGC":7239854209770778117,"MbqhJHvMtP":8101932022277807580,"OrPCJtcwU":-3446195630339564044,"umGGc":-8560645085693509215},"stringDateField":"1993-08-07","stringDateTimeField":"1988-09-16T17:35:32Z","stringField":"KLkhZPoV","stringTimeField":"16:28:39.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":-932,"numField":-384.4430313306673,"stringDateField":"1993-08-07","stringDateTimeField":"1988-09-16T17:35:32Z","stringField":"KLkhZPoV","stringTimeField":"16:28:39.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4516,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4516,"uuid":"9e0a8a26-5655-11ee-8801-675ed0f8e89b"},"arrayField":["AdDG","fGkpHGPj"],"boolField":false,"intField":856,"numField":-311.38946468733985,"objField":{"CWnzcp":5410213224818176122,"JoLmkNs":-7851496947013114326,"LrheofWq":8578424744941051980,"RcZEIHu":8411890793135308127,"RupBCE":5481367455688526259,"TqqbL":2646735410781568771,"mHyeGL":2466930689484758,"mkewJIug":6832094343753082899,"rNRytdJo":903801732715531763,"tFuxfbGTya":-2268351532158541823},"stringDateField":"2020-10-27","stringDateTimeField":"1977-10-02T16:01:57Z","stringField":"BkuHDiYFb","stringTimeField":"01:53:20.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":856,"numField":-311.38946468733985,"stringDateField":"2020-10-27","stringDateTimeField":"1977-10-02T16:01:57Z","stringField":"BkuHDiYFb","stringTimeField":"01:53:20.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4517,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4517,"uuid":"9e0a8a26-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["AMowejXtmT"],"boolField":false,"intField":-930,"numField":677.4574755157959,"objField":{"GugWZkZAY":-4785504103960684206,"JZoqG":-7666615489292213693,"QGJlgtY":-7565633692778798813,"TpaaptIR":3604355667590741681,"llpgOny":4881216387434059170,"nBWS":-1671408496240490847,"reZF":3024198076874425245,"uFIMQur":-6183029010139108470,"yENiSyux":-4505657027607236327},"stringDateField":"1935-08-19","stringDateTimeField":"1937-07-15T15:12:59Z","stringField":"jzaeJzqDl","stringTimeField":"22:24:02.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":-930,"numField":677.4574755157959,"stringDateField":"1935-08-19","stringDateTimeField":"1937-07-15T15:12:59Z","stringField":"jzaeJzqDl","stringTimeField":"22:24:02.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4518,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4518,"uuid":"9e0a8a26-5655-11ee-9001-675ed0f8e89b"},"arrayField":["kcyfOFRrv","fzNAG","OaHoNFUDb","reEVVFieWq","xpXazy","IfTey"],"boolField":true,"intField":-478,"numField":-873.8804780257019,"objField":{"NiSHbuuWXm":-4908060209375394313,"OfRlBLyqy":-3163061451285674058,"RiNTBGNVAi":-2297035872254375876,"XBTVgecp":-4367995795486741343,"blye":2843632256386758989,"kCVYbMg":5712399700161747554,"qYendkP":8414671667309461679,"xdqH":3580640141485071286,"yCcWcmnu":1232927252772492936},"stringDateField":"2006-01-04","stringDateTimeField":"1975-03-09T15:05:04Z","stringField":"wDio","stringTimeField":"03:42:04.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":-478,"numField":-873.8804780257019,"stringDateField":"2006-01-04","stringDateTimeField":"1975-03-09T15:05:04Z","stringField":"wDio","stringTimeField":"03:42:04.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4519,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4519,"uuid":"9e0a8a26-5655-11ee-9401-675ed0f8e89b"},"arrayField":["zRlGoJto","enJuBC","XsGR","OncygTnog","cmYHJb","mdtSjfQ","kpESAcorvH"],"boolField":false,"intField":914,"numField":-837.454000453541,"objField":{"WFhvJvGXV":-6709849788571871878,"sCzm":-746404435469382532},"stringDateField":"1933-05-13","stringDateTimeField":"1927-04-21T11:47:32Z","stringField":"LEIrViIDX","stringTimeField":"10:25:14.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":914,"numField":-837.454000453541,"stringDateField":"1933-05-13","stringDateTimeField":"1927-04-21T11:47:32Z","stringField":"LEIrViIDX","stringTimeField":"10:25:14.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4520,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4520,"uuid":"9e0a8a26-5655-11ee-9801-675ed0f8e89b"},"arrayField":["UScntBvQ","LxytxJ","UalnF","MQuiiFHTH","HeWhkvr","mDUKmj"],"boolField":true,"intField":-622,"numField":-877.1946038990155,"objField":{"HSYhbEWejk":-4113248466998957598,"YGTXV":3049673119709602056,"lRJOgIJ":1374858170109265341,"zTXwFKW":5492180294857827526},"stringDateField":"1939-07-06","stringDateTimeField":"2021-08-31T10:28:21Z","stringField":"lEfqApwIts","stringTimeField":"06:07:00.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":-622,"numField":-877.1946038990155,"stringDateField":"1939-07-06","stringDateTimeField":"2021-08-31T10:28:21Z","stringField":"lEfqApwIts","stringTimeField":"06:07:00.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4521,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4521,"uuid":"9e0a8a26-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["sOEzFDHDrs"],"boolField":false,"intField":-457,"numField":-190.67853613824624,"objField":{"dreIiG":-7111956780798489656,"pFSPHgiG":3112089662764074473,"uAptw":3736017047726378967},"stringDateField":"1908-04-23","stringDateTimeField":"1984-06-28T21:52:50Z","stringField":"umPG","stringTimeField":"13:25:21.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":-457,"numField":-190.67853613824624,"stringDateField":"1908-04-23","stringDateTimeField":"1984-06-28T21:52:50Z","stringField":"umPG","stringTimeField":"13:25:21.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4522,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4522,"uuid":"9e0a8a26-5655-11ee-a001-675ed0f8e89b"},"arrayField":["DeayUrt","Qaewyuw","uWlfTyLYn","sHiiAsT","NrtsLx","dVFPIkmm","KwsBim"],"boolField":true,"intField":-686,"numField":-585.8610912293556,"objField":{"CXFtO":-6406319905444410309,"EOLLXuyXef":-6676786132424750843,"LrXDa":-7873710625849972301,"TlPhv":-3790176893118304776,"WYRDAobLC":392378058679661956,"qbgAd":6647888546323074271},"stringDateField":"2006-07-28","stringDateTimeField":"1969-05-31T13:16:53Z","stringField":"BQaT","stringTimeField":"09:39:18.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":-686,"numField":-585.8610912293556,"stringDateField":"2006-07-28","stringDateTimeField":"1969-05-31T13:16:53Z","stringField":"BQaT","stringTimeField":"09:39:18.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4523,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4523,"uuid":"9e0a8a26-5655-11ee-a401-675ed0f8e89b"},"arrayField":["sDxrLu","wehWUgoI","sFzVdImwHa","DaKqLJP","yHBJuzPO","YQxAiJikYJ","LUAK","nmogAV","WIGwhp","dKkYnbD"],"boolField":true,"intField":618,"numField":389.45242976981007,"objField":{"HldUQaM":3934860176256533669,"LtzljkiUy":-3820636461420237885,"WxEfijjBq":-3211751336974724582,"iYzaOPZhn":2025575225832131322,"lSxZRC":2529705519032152947,"lVyfP":-7806657356756352031,"nXrpBSa":7656611088556734109,"szEbLTiB":-7905730343871455046},"stringDateField":"1953-01-08","stringDateTimeField":"1951-05-25T03:00:00Z","stringField":"mxdHkz","stringTimeField":"16:00:39.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":618,"numField":389.45242976981007,"stringDateField":"1953-01-08","stringDateTimeField":"1951-05-25T03:00:00Z","stringField":"mxdHkz","stringTimeField":"16:00:39.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4524,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4524,"uuid":"9e0a8a26-5655-11ee-a801-675ed0f8e89b"},"arrayField":["KqOcvPfUBP","HRMyxL","QCuE"],"boolField":true,"intField":-791,"numField":-574.1016374801167,"objField":{"ExNBJWuU":-5465647701228936565,"SeWAoI":-5810203766588185066,"agGqf":-5555325272740333635,"hnzLRLNbOg":-6004483687182535490,"zZNUvPrrHT":4949324696333487406},"stringDateField":"1951-07-14","stringDateTimeField":"2014-11-16T17:37:02Z","stringField":"QCnal","stringTimeField":"02:08:33.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":-791,"numField":-574.1016374801167,"stringDateField":"1951-07-14","stringDateTimeField":"2014-11-16T17:37:02Z","stringField":"QCnal","stringTimeField":"02:08:33.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4525,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4525,"uuid":"9e0a8a26-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["cXmHm","aLwVS","BcjfxnediZ","YzlWH"],"boolField":false,"intField":-79,"numField":226.33701824760743,"objField":{"LoYlgqWQJ":-8074013681308920384},"stringDateField":"1976-09-17","stringDateTimeField":"1904-05-17T06:42:24Z","stringField":"vzoom","stringTimeField":"16:26:33.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":-79,"numField":226.33701824760743,"stringDateField":"1976-09-17","stringDateTimeField":"1904-05-17T06:42:24Z","stringField":"vzoom","stringTimeField":"16:26:33.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4526,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4526,"uuid":"9e0a8a26-5655-11ee-b001-675ed0f8e89b"},"arrayField":["iuaB","WoqrKO","VzZqUM","OJSvKPY","iSoHu","vPxgQqRrE","lxCfT","qTDDxSRorv","DMPhs"],"boolField":true,"intField":66,"numField":700.3038814796421,"objField":{"PnbhV":-744583068320809025,"XEhmpWQl":299177732292207036,"aFvHtNE":-629105819040440220,"ckbCjDRVT":-5433804883679107258,"eNlLf":-410208655305666474},"stringDateField":"1927-04-28","stringDateTimeField":"2022-06-25T06:31:09Z","stringField":"mLmUAty","stringTimeField":"13:35:19.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":66,"numField":700.3038814796421,"stringDateField":"1927-04-28","stringDateTimeField":"2022-06-25T06:31:09Z","stringField":"mLmUAty","stringTimeField":"13:35:19.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4527,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4527,"uuid":"9e0a8a26-5655-11ee-b401-675ed0f8e89b"},"arrayField":["gWFT","ZqUdbmmCBo","QFvTIYGRGp","EnKGss","nkPVAmC","NDwTlwiHz","UZzLauEYL","EzKt"],"boolField":true,"intField":-50,"numField":-201.22108141589223,"objField":{"WZoXloAb":5331243313284959979,"iEBWtwFbw":-2286918000473094835,"nlrVjMt":8100454486969548835,"umPI":5562884753787794343},"stringDateField":"1999-08-08","stringDateTimeField":"1960-11-24T08:50:23Z","stringField":"pmJorYMrTC","stringTimeField":"10:23:24.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":-50,"numField":-201.22108141589223,"stringDateField":"1999-08-08","stringDateTimeField":"1960-11-24T08:50:23Z","stringField":"pmJorYMrTC","stringTimeField":"10:23:24.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4528,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4528,"uuid":"9e0a8a26-5655-11ee-b801-675ed0f8e89b"},"arrayField":["iprmCOfBY","SPkujiBoT","uepO","rSVudv"],"boolField":false,"intField":-172,"numField":788.702608569654,"objField":{"UqgQG":6337187467364022872,"nWfJuTN":5354378096341211115,"wDgUJs":8692405858801552910},"stringDateField":"1931-02-26","stringDateTimeField":"1943-06-29T23:44:46Z","stringField":"imayblDYp","stringTimeField":"11:22:52.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":-172,"numField":788.702608569654,"stringDateField":"1931-02-26","stringDateTimeField":"1943-06-29T23:44:46Z","stringField":"imayblDYp","stringTimeField":"11:22:52.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4529,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4529,"uuid":"9e0a8a26-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["YpDMzmYQ","sNdTL","lGvE","ErFTaiPv","lmjgvppCY","EVFIaw","bxKywtCj","WflORwY","jkdMhX","SNFpilMAk"],"boolField":false,"intField":714,"numField":-983.4878464952056,"objField":{"KHRsfGveDB":1380933733066613401,"KfKKhdG":4446063445263008701,"TCwvVeIzmr":-230037290407931349,"YYYiRcio":-2285786664316623957,"mNTxaoE":9207743377371211487,"qAiujCyp":958147238450364593,"yvxk":-4770346793164126342,"zBPN":7701675949742905408},"stringDateField":"2014-07-15","stringDateTimeField":"2012-02-02T22:32:51Z","stringField":"UJVHmEN","stringTimeField":"08:36:52.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763814Z","intField":714,"numField":-983.4878464952056,"stringDateField":"2014-07-15","stringDateTimeField":"2012-02-02T22:32:51Z","stringField":"UJVHmEN","stringTimeField":"08:36:52.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4530,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4530,"uuid":"9e0a8a27-5655-11ee-8001-675ed0f8e89b"},"arrayField":["OZnyTQwk","wubaLb","Xtdl","fpZPslVc","bpKuIF","lZigl","YOWWGLDUab"],"boolField":false,"intField":290,"numField":260.6076333698837,"objField":{"OyifYCTtOL":2383771851999171617,"SgQDvQFh":-5511497566511477628,"TlIDljUN":12014706181081762,"ZYnEf":4626672435125289824,"aoOPP":-5781856709826979674},"stringDateField":"1994-10-14","stringDateTimeField":"1948-06-13T15:36:04Z","stringField":"xZNGrmJ","stringTimeField":"14:21:50.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":290,"numField":260.6076333698837,"stringDateField":"1994-10-14","stringDateTimeField":"1948-06-13T15:36:04Z","stringField":"xZNGrmJ","stringTimeField":"14:21:50.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4531,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4531,"uuid":"9e0a8a27-5655-11ee-8401-675ed0f8e89b"},"arrayField":["LYFbk","wqfhs","KLYfahhZC","EuoAdq","okqO","MEQavZLzB","tbiyruf","xtcktCiLw","kvJuhbqy"],"boolField":false,"intField":-107,"numField":316.99942552848717,"objField":{"FQtHaZnIok":-5511847230436446651,"GonsGARjB":-2809374246175829931,"HpfToRF":8245762085130261805,"KcYWsurhwG":-8131256006869726023,"SRLpXPGytX":-5085303651719893728,"cMxPIKR":8615956395546091104,"tTQemsD":-5014724439516628539,"xMzTBAAWQb":3563909611274258143,"zrgTPUAYfx":-707700946992492552},"stringDateField":"1984-01-09","stringDateTimeField":"1992-02-12T17:48:57Z","stringField":"ixaCY","stringTimeField":"17:30:59.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":-107,"numField":316.99942552848717,"stringDateField":"1984-01-09","stringDateTimeField":"1992-02-12T17:48:57Z","stringField":"ixaCY","stringTimeField":"17:30:59.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4532,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4532,"uuid":"9e0a8a27-5655-11ee-8801-675ed0f8e89b"},"arrayField":["JbagwjRf","JXta","rQoW","wnUE","GhfafNaIZ","evYfwv","aNhzqTVo","mrLhMx","LFjXXBOLg"],"boolField":false,"intField":-340,"numField":-344.1750028681788,"objField":{"CcNc":2265359372040760835,"DJVTHCy":-7049774479814091715,"SBJfJfCRwd":-1086329011690933784,"ggahIq":-3617403033049268306,"gsHdw":-8396735805098424951},"stringDateField":"1922-01-07","stringDateTimeField":"1914-08-11T21:17:21Z","stringField":"LgHtLvq","stringTimeField":"13:31:40.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":-340,"numField":-344.1750028681788,"stringDateField":"1922-01-07","stringDateTimeField":"1914-08-11T21:17:21Z","stringField":"LgHtLvq","stringTimeField":"13:31:40.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4533,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4533,"uuid":"9e0a8a27-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["GEIClomImI","oKiB","bOiVyD","zByl","PRYk","hQuRb","lMEgjdFX","sugvqaZDNq","BlpIacCNk"],"boolField":true,"intField":218,"numField":-263.32288513983525,"objField":{"AWnMN":6734787378156546446,"BWcYvrZ":8966225139459583519,"BbFTrdTK":3426563763564514555,"EErdGm":8977524046465739931,"FZQX":5258409236692872170,"OzXvP":5858967010365833120,"kHJkUnFT":5724192272584075161,"oIAihfErP":2028105482254964992,"tJqxN":-4222725918866389083},"stringDateField":"1977-08-30","stringDateTimeField":"1986-04-20T14:08:48Z","stringField":"PFfIzRfvp","stringTimeField":"09:34:16.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":218,"numField":-263.32288513983525,"stringDateField":"1977-08-30","stringDateTimeField":"1986-04-20T14:08:48Z","stringField":"PFfIzRfvp","stringTimeField":"09:34:16.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4534,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4534,"uuid":"9e0a8a27-5655-11ee-9001-675ed0f8e89b"},"arrayField":["JcmMQxiN","oJCa"],"boolField":true,"intField":-961,"numField":-255.20520768512432,"objField":{"SJOW":-3866386681849564892},"stringDateField":"2010-11-23","stringDateTimeField":"1980-06-01T20:53:33Z","stringField":"HfybKONfTx","stringTimeField":"19:25:08.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":-961,"numField":-255.20520768512432,"stringDateField":"2010-11-23","stringDateTimeField":"1980-06-01T20:53:33Z","stringField":"HfybKONfTx","stringTimeField":"19:25:08.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4535,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4535,"uuid":"9e0a8a27-5655-11ee-9401-675ed0f8e89b"},"arrayField":["IrDZxI"],"boolField":true,"intField":-213,"numField":130.63464396280523,"objField":{"BbhfJqM":-2560884120074278070,"DaIkpw":-4115557912058195686,"HCrJh":5486228933256779169,"MrgKkuuJO":458840212661341826,"MtfAoVB":6193512096484448805,"QcAQnGzkF":5952076110025666292,"dZTQ":1402359488568332091,"tnjVOmBObA":2731050831040339689,"wNMWcvu":-7510588556873639650,"zjMZkefk":-4155966754015352625},"stringDateField":"1996-05-17","stringDateTimeField":"1958-07-16T06:53:10Z","stringField":"ZPdJHFGih","stringTimeField":"11:05:40.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":-213,"numField":130.63464396280523,"stringDateField":"1996-05-17","stringDateTimeField":"1958-07-16T06:53:10Z","stringField":"ZPdJHFGih","stringTimeField":"11:05:40.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4536,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4536,"uuid":"9e0a8a27-5655-11ee-9801-675ed0f8e89b"},"arrayField":["iOAixS","ejdrMrqV","EDxK"],"boolField":false,"intField":-773,"numField":50.13949134144258,"objField":{"EUXnCK":-4632678845378243730,"OKxM":-6583612831228957360,"OlHmoSNs":5968019443289971514,"OwxFgzt":5798760433992140346,"dYIEcm":-5411602083565909969,"tGyW":8465635133765051558},"stringDateField":"1978-06-28","stringDateTimeField":"2000-02-27T12:24:24Z","stringField":"UMQbTP","stringTimeField":"06:06:56.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":-773,"numField":50.13949134144258,"stringDateField":"1978-06-28","stringDateTimeField":"2000-02-27T12:24:24Z","stringField":"UMQbTP","stringTimeField":"06:06:56.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4537,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4537,"uuid":"9e0a8a27-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wmWtAbVsDM","DEWAArGaz","gbKrVEAZR","JBFlYUdEB","bmpwXml","YCIxFvDFt"],"boolField":true,"intField":-515,"numField":-660.342903319171,"objField":{"GupL":2810017373633843839,"QIOC":-6152951227080099959,"oqLzBZm":-5045621066844390899,"rCYUpWA":1311591879627189373},"stringDateField":"1989-03-01","stringDateTimeField":"1946-12-09T18:47:53Z","stringField":"nNNN","stringTimeField":"03:32:11.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":-515,"numField":-660.342903319171,"stringDateField":"1989-03-01","stringDateTimeField":"1946-12-09T18:47:53Z","stringField":"nNNN","stringTimeField":"03:32:11.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4538,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4538,"uuid":"9e0a8a27-5655-11ee-a001-675ed0f8e89b"},"arrayField":["RVJtjL","mGwlq","UtgdWyZo","cmnEJ"],"boolField":false,"intField":-911,"numField":-191.66648016967213,"objField":{"FCROukgbl":6170446153668904615,"IAGs":3281501747359826368,"IfHT":1942258209273078251,"LKwtPO":-1414243403797463604,"gPRal":-6673655866894961542,"gpbry":963168904566504061,"jTyBPGu":-5464752262485628405,"kKducupwIG":3159668913790885633,"yZCoxQBiE":9104687659011355455,"ycYhgufL":6180210321323451587},"stringDateField":"1998-07-20","stringDateTimeField":"2012-10-01T19:28:58Z","stringField":"DgWKDp","stringTimeField":"07:48:44.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":-911,"numField":-191.66648016967213,"stringDateField":"1998-07-20","stringDateTimeField":"2012-10-01T19:28:58Z","stringField":"DgWKDp","stringTimeField":"07:48:44.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4539,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4539,"uuid":"9e0a8a27-5655-11ee-a401-675ed0f8e89b"},"arrayField":["mZbsZpuN","wIHe","TqVS","enveUsRFV","KMbsK","XFPApQJluq","ZRBlHQiz","bNMeKKhQp"],"boolField":true,"intField":-391,"numField":-642.0172296533831,"objField":{"BiSFHUaox":9016678945225676262,"GcolO":-6181602955452530633,"HqXWjtgHx":-5730028672628955234,"QVOHagRNX":-6601266771419584120,"SfESB":3514206434334000060,"vjCNw":4908103248934240362,"yGwm":-4748432073180352883},"stringDateField":"1905-07-17","stringDateTimeField":"1998-06-17T15:01:11Z","stringField":"xHhojUr","stringTimeField":"03:13:11.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":-391,"numField":-642.0172296533831,"stringDateField":"1905-07-17","stringDateTimeField":"1998-06-17T15:01:11Z","stringField":"xHhojUr","stringTimeField":"03:13:11.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4540,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4540,"uuid":"9e0a8a27-5655-11ee-a801-675ed0f8e89b"},"arrayField":["AIyfA","mJeUfzL","ieCHdZaFow","sXnTQBUS"],"boolField":false,"intField":364,"numField":199.59083095106257,"objField":{"AGevJHK":5000949359058997478,"ByhJ":2066208094492110110,"CHNcEr":63828403968164603,"DbrTXhz":3571923943394169257,"FpzhK":-8358779417986080908,"jyQwyUjT":-2318325765976589681,"oyxuYWqb":3095076248185561779},"stringDateField":"2015-07-15","stringDateTimeField":"1976-11-05T17:57:31Z","stringField":"exfZWwfWe","stringTimeField":"00:59:11.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":364,"numField":199.59083095106257,"stringDateField":"2015-07-15","stringDateTimeField":"1976-11-05T17:57:31Z","stringField":"exfZWwfWe","stringTimeField":"00:59:11.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4541,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4541,"uuid":"9e0a8a27-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["TNYXznu"],"boolField":false,"intField":-976,"numField":66.85841513100522,"objField":{"JIdfybkrnC":5118292060473449616,"JTQQE":-3973032030123863905,"mSlLasnaXA":-8869604668315315085,"oNwYxhu":-8833133447763415064},"stringDateField":"1927-05-08","stringDateTimeField":"2011-12-23T18:30:52Z","stringField":"CJHTsZdLL","stringTimeField":"02:59:15.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":-976,"numField":66.85841513100522,"stringDateField":"1927-05-08","stringDateTimeField":"2011-12-23T18:30:52Z","stringField":"CJHTsZdLL","stringTimeField":"02:59:15.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4542,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4542,"uuid":"9e0a8a27-5655-11ee-b001-675ed0f8e89b"},"arrayField":["DpKdiSo","VhsnrT","qMBd","RJfscADwo","XwAexXvF","MwPeOJ","yLxOvIP"],"boolField":false,"intField":-73,"numField":186.9871148179234,"objField":{"AtBau":-815975107925350300,"JTphRkPNKW":-1781542092307480504,"MyyfdO":8109309882311615892,"OErnVNx":-6787237262640325830,"Wiwe":2632268352194128707,"gWuqjifBf":946053368481060733,"pWXlYVV":8827722599315307423,"rCDLg":-2909512555610030060},"stringDateField":"1933-06-11","stringDateTimeField":"1914-10-25T15:06:47Z","stringField":"rZktEG","stringTimeField":"02:59:53.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":-73,"numField":186.9871148179234,"stringDateField":"1933-06-11","stringDateTimeField":"1914-10-25T15:06:47Z","stringField":"rZktEG","stringTimeField":"02:59:53.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4543,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4543,"uuid":"9e0a8a27-5655-11ee-b401-675ed0f8e89b"},"arrayField":["Numx","DevvzMK","HLTJUcPcj","kCoubaM","IxxQK","nAPuwt","HpYoyfhPYv","lNMBceoq"],"boolField":false,"intField":320,"numField":-791.1893649615997,"objField":{"NvkZDm":3281032588746207466,"PiCp":-8913370977589430498,"baRvCI":-2234124801468247687,"gWYToUZVyb":2084452040813982920,"vVAahFjKNu":6524417058136557863,"vgWlzvi":-816198077106869449,"weOn":2323557713961303381},"stringDateField":"1919-10-22","stringDateTimeField":"1953-08-19T16:28:39Z","stringField":"kujNLoPwve","stringTimeField":"03:54:40.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":320,"numField":-791.1893649615997,"stringDateField":"1919-10-22","stringDateTimeField":"1953-08-19T16:28:39Z","stringField":"kujNLoPwve","stringTimeField":"03:54:40.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4544,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4544,"uuid":"9e0a8a27-5655-11ee-b801-675ed0f8e89b"},"arrayField":["FqPWr","FdxpSuAAR","cYDzQUpPF","WxQENJkyy","FnoeAPBE","TwwvELLQqU","UKdHjWj","AdWJVQzGn","AHGSvL"],"boolField":true,"intField":692,"numField":-548.1351540482052,"objField":{"NaWii":5497775098077390919,"NcVvXG":-4987087988307312332,"StwQcZS":2069372847429573885,"WjXuhdwDs":-9128189533575431296,"bdGWktRA":32229486829505638,"csKskrBKm":-4764619768988947318,"dYvtTpXw":2074327733530132444,"nEKnnLUgP":7178223117700310887,"zAZen":-3873632713041386473},"stringDateField":"1905-08-15","stringDateTimeField":"2020-02-13T16:51:21Z","stringField":"ntPwdH","stringTimeField":"16:41:27.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":692,"numField":-548.1351540482052,"stringDateField":"1905-08-15","stringDateTimeField":"2020-02-13T16:51:21Z","stringField":"ntPwdH","stringTimeField":"16:41:27.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4545,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4545,"uuid":"9e0a8a27-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["sjvp","nXRUbqt","GgGXNaT","mZjo","yiVk","BNbTmde","ZEoTAClvQ","PAMYIJo","NVSRklelW"],"boolField":false,"intField":-606,"numField":805.3804521545627,"objField":{"AXWGYGK":-8673345694391197653,"WmgS":4603019943200540302,"eGUCK":3913342930096907975},"stringDateField":"1936-07-14","stringDateTimeField":"2012-03-08T05:50:23Z","stringField":"lWat","stringTimeField":"00:10:51.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763815Z","intField":-606,"numField":805.3804521545627,"stringDateField":"1936-07-14","stringDateTimeField":"2012-03-08T05:50:23Z","stringField":"lWat","stringTimeField":"00:10:51.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4546,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4546,"uuid":"9e0a8a28-5655-11ee-8001-675ed0f8e89b"},"arrayField":["cAuwnw","OLbUuhR","hcwM","lFRAjFOrDU","jHawyw","yPwZ","vNQCJNe","tlyTZrp","axrayXfqhu","wTAOHlnow"],"boolField":true,"intField":465,"numField":-412.38410117866385,"objField":{"NLWtHYHou":-4665976159032677346,"VQOhQLqWb":-6397319114129523397,"YZWOEBfA":-5674256254684963253,"brtVWTNImD":-6157365453056669776,"dOXGP":921267536460064085,"nOvf":-6721991242006110770,"srdGfN":3358052743980588511},"stringDateField":"1944-12-02","stringDateTimeField":"1961-10-17T23:12:06Z","stringField":"PCSwSMOpO","stringTimeField":"11:47:27.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":465,"numField":-412.38410117866385,"stringDateField":"1944-12-02","stringDateTimeField":"1961-10-17T23:12:06Z","stringField":"PCSwSMOpO","stringTimeField":"11:47:27.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4547,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4547,"uuid":"9e0a8a28-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ZphabQspeH"],"boolField":false,"intField":-115,"numField":-796.0127903969923,"objField":{"GTjmTsoFc":8534488572684286902,"NhENx":-8111756043138024300,"RYBXd":3618420100008368379,"VuWJB":3083039531895580802,"WOMoXHSF":-8856118603182984925,"keXhSuhbP":-2129706750209043379,"qmIK":-5786423542857684580,"xvSimZbAb":5282444192314291229},"stringDateField":"1977-09-02","stringDateTimeField":"1952-01-23T21:22:57Z","stringField":"aqDaR","stringTimeField":"06:04:45.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":-115,"numField":-796.0127903969923,"stringDateField":"1977-09-02","stringDateTimeField":"1952-01-23T21:22:57Z","stringField":"aqDaR","stringTimeField":"06:04:45.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4548,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4548,"uuid":"9e0a8a28-5655-11ee-8801-675ed0f8e89b"},"arrayField":["DHDeIKN","TmQMEfZP"],"boolField":true,"intField":-366,"numField":896.9135175457485,"objField":{"nSSUheMxQ":-8642732331874061797,"rTyVrq":8081051647950350618},"stringDateField":"1938-04-04","stringDateTimeField":"2007-03-01T12:12:52Z","stringField":"IZej","stringTimeField":"00:01:13.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":-366,"numField":896.9135175457485,"stringDateField":"1938-04-04","stringDateTimeField":"2007-03-01T12:12:52Z","stringField":"IZej","stringTimeField":"00:01:13.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4549,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4549,"uuid":"9e0a8a28-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["PSYQwQHF","KMSP","Dojmkw","OdJOy"],"boolField":true,"intField":347,"numField":-957.8063337262,"objField":{"CmiFsceVHi":-4101228811074467053,"JWNzwe":-3966241871988898541,"ZScro":-5194719364682803595,"gTIlCh":6490022162341207672,"jdrSzE":-8204491064982542084,"uPAsyYOjqA":-3931054497738353760},"stringDateField":"2010-11-17","stringDateTimeField":"1960-08-28T00:25:15Z","stringField":"YIKkyrc","stringTimeField":"23:13:49.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":347,"numField":-957.8063337262,"stringDateField":"2010-11-17","stringDateTimeField":"1960-08-28T00:25:15Z","stringField":"YIKkyrc","stringTimeField":"23:13:49.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4550,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4550,"uuid":"9e0a8a28-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ivcMnltCq","DITonakI","QGMSbvAiK","QtAgupOyIf"],"boolField":false,"intField":-296,"numField":676.3412072937824,"objField":{"FRKlPlv":278681029400443965,"ZCPvveqsd":7866994067450223755,"ttleatR":-1288759798937992132,"vwwtJ":-1898466970093825063,"zAkgtyz":-4185204158184795026},"stringDateField":"2001-09-15","stringDateTimeField":"2005-06-20T23:16:08Z","stringField":"fewteIcyUx","stringTimeField":"09:40:07.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":-296,"numField":676.3412072937824,"stringDateField":"2001-09-15","stringDateTimeField":"2005-06-20T23:16:08Z","stringField":"fewteIcyUx","stringTimeField":"09:40:07.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4551,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4551,"uuid":"9e0a8a28-5655-11ee-9401-675ed0f8e89b"},"arrayField":["fWELvHB","AKzNLLJKxn","bhRBysd","zveKqOG","hxWJyquPek","UJlhpT","ufFlADF"],"boolField":false,"intField":-249,"numField":552.2514455053818,"objField":{"DMbv":-8970943974915017991,"QTZQV":7890191527151055985,"brfWSKVAO":-1311958580560154441,"dLoULVNKun":-1293472615572053536,"jXceMa":-3377074504718399231,"xtjcnsmbot":-1814024171280385831},"stringDateField":"1914-11-10","stringDateTimeField":"1993-08-21T05:17:56Z","stringField":"hdvCyu","stringTimeField":"00:27:31.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":-249,"numField":552.2514455053818,"stringDateField":"1914-11-10","stringDateTimeField":"1993-08-21T05:17:56Z","stringField":"hdvCyu","stringTimeField":"00:27:31.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4552,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4552,"uuid":"9e0a8a28-5655-11ee-9801-675ed0f8e89b"},"arrayField":["waphayQ","sKlDiePSC","eAuuXjbY","EJXeMajy","nOZxI","aElZzrUU","yFnSWzMKm","MxMqBl","hWswp","AjZbfRlU"],"boolField":true,"intField":-283,"numField":513.2976938305698,"objField":{"SqgCREN":-9061728386511030603},"stringDateField":"1905-09-21","stringDateTimeField":"1991-02-01T02:31:57Z","stringField":"xprxX","stringTimeField":"21:56:26.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":-283,"numField":513.2976938305698,"stringDateField":"1905-09-21","stringDateTimeField":"1991-02-01T02:31:57Z","stringField":"xprxX","stringTimeField":"21:56:26.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4553,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4553,"uuid":"9e0a8a28-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["bfpakT","bJeWd","pWiwgNbzfK","aAlRu","HneocwymF"],"boolField":true,"intField":918,"numField":836.1435714495295,"objField":{"GYkGQBUP":-4466777611962914794,"LNWeRRPr":4329820249533535362,"PWqH":-247583405117123591,"SYBxfOx":7877955572822999199,"XwwnJxV":687598003952816663,"aAoUDNo":-7364753126495936030,"bFSSwOnXha":4054468372970142788,"bwGFtxiRk":-410442291965030760,"tltawR":-5783595315129327527,"uxfAw":7781477024336785241},"stringDateField":"1929-10-12","stringDateTimeField":"1959-11-27T12:53:52Z","stringField":"BsmxLDF","stringTimeField":"03:51:19.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":918,"numField":836.1435714495295,"stringDateField":"1929-10-12","stringDateTimeField":"1959-11-27T12:53:52Z","stringField":"BsmxLDF","stringTimeField":"03:51:19.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4554,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4554,"uuid":"9e0a8a28-5655-11ee-a001-675ed0f8e89b"},"arrayField":["EyzM","ElDJSbE","jNTFKiHR","zhZRc","hopn","pkKHgb"],"boolField":false,"intField":396,"numField":-28.6257092112433,"objField":{"EMWc":4049601132671525432,"FIpk":-6933886293447899172,"GczzxzKeq":7671928186246573464,"KaPmAsr":1090795382458400414,"RDKUYwgJdN":2858580522153100202,"UUpSmUqxga":-1465141199129356948,"UVXwWeNuLo":5163220378205123303,"bPMvdDDJZ":6740429474592180942,"hGhrtFwSSI":-4737502532020611378,"uDiXumQ":5848785888378219592},"stringDateField":"2021-01-29","stringDateTimeField":"1971-11-23T14:19:54Z","stringField":"AVHadu","stringTimeField":"10:42:10.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":396,"numField":-28.6257092112433,"stringDateField":"2021-01-29","stringDateTimeField":"1971-11-23T14:19:54Z","stringField":"AVHadu","stringTimeField":"10:42:10.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4555,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4555,"uuid":"9e0a8a28-5655-11ee-a401-675ed0f8e89b"},"arrayField":["xpKakX","jvAxDUMq","bzSmUopJ","btfRmB","XQbmHThQ","iTkFv","TFfAyLuIJ","VnBfWiinRr","zutxDi"],"boolField":false,"intField":787,"numField":-384.7558946130415,"objField":{"CmINE":6917838860012730811,"GMtrUkjJOz":-61751585613395154,"IGhtdRk":8846728906145378153,"MFHIzMF":6707614873556568843,"RcNcNmiM":2187693069825855379,"SnWmFJw":6272573867286746751,"fJpyGhESu":-2783409733119697667,"qjXZj":2154659381304330131,"qkMFpcMbP":3385004589227834852,"xyScpetayB":-4586602250580702285},"stringDateField":"1995-07-17","stringDateTimeField":"1992-04-07T13:59:20Z","stringField":"btiR","stringTimeField":"09:36:46.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":787,"numField":-384.7558946130415,"stringDateField":"1995-07-17","stringDateTimeField":"1992-04-07T13:59:20Z","stringField":"btiR","stringTimeField":"09:36:46.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4556,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4556,"uuid":"9e0a8a28-5655-11ee-a801-675ed0f8e89b"},"arrayField":["Ugmh","mWmP","qsmnit","MhGoYo","vWOVAAyTUZ"],"boolField":true,"intField":-466,"numField":920.4093266197452,"objField":{"EdHj":-6684874613343480215,"Ezns":1356441289065524267,"KlXJqjE":-6733229647212858777,"TznnjvJp":364624027342182337,"VvQTQCnJ":6463867745733471201,"lAggwHBzI":-8852222590105259569,"mBrqpt":-5099107725561497154,"revMZEjjJU":-6050106649710901085},"stringDateField":"1933-07-15","stringDateTimeField":"2014-06-27T18:51:04Z","stringField":"MIvGssQrxj","stringTimeField":"11:30:44.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":-466,"numField":920.4093266197452,"stringDateField":"1933-07-15","stringDateTimeField":"2014-06-27T18:51:04Z","stringField":"MIvGssQrxj","stringTimeField":"11:30:44.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4557,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4557,"uuid":"9e0a8a28-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["acZwcH","kUTNsmG","etOc","btpgxPkPc","iurJCThSt","mqEUv","aAYdJ","hfuCycKmN"],"boolField":true,"intField":922,"numField":-236.51968136127667,"objField":{"GmBuqhr":-1733213884121596008,"LgjFBNkGZ":2202931925336379164,"dUCmFu":-3964395877450291118,"gOjkuCAGP":-9122103112326396186,"hFrQ":-4662290133102059887,"oPNVHRQZJA":8622982779550249626},"stringDateField":"1958-07-02","stringDateTimeField":"2018-06-14T00:18:02Z","stringField":"HcqlMcRs","stringTimeField":"17:40:20.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":922,"numField":-236.51968136127667,"stringDateField":"1958-07-02","stringDateTimeField":"2018-06-14T00:18:02Z","stringField":"HcqlMcRs","stringTimeField":"17:40:20.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4558,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4558,"uuid":"9e0a8a28-5655-11ee-b001-675ed0f8e89b"},"arrayField":["FsOa","ugrNaqOkcM"],"boolField":false,"intField":789,"numField":-738.1146053215354,"objField":{"FzHR":2033812402236450672,"pkXn":5106435585954270524,"zmZBu":1643495141166466861},"stringDateField":"1960-12-21","stringDateTimeField":"2012-08-12T16:15:27Z","stringField":"GZAuETZxWV","stringTimeField":"04:04:57.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":789,"numField":-738.1146053215354,"stringDateField":"1960-12-21","stringDateTimeField":"2012-08-12T16:15:27Z","stringField":"GZAuETZxWV","stringTimeField":"04:04:57.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4559,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4559,"uuid":"9e0a8a28-5655-11ee-b401-675ed0f8e89b"},"arrayField":["PsAqnuEP","sIOppEOsCU","rFtNt","WJYDF","NmKW"],"boolField":false,"intField":-585,"numField":-630.5146844810273,"objField":{"AuWwcMS":-3530705657521844288,"HYtZ":-2421791336670582829,"JjySTJDqt":2223708756999298831,"eFbtzsnjG":3166445250836627269,"jFNBgHJx":-773349699693511009,"rtlusIopye":-3167523421938822896,"yhNDgiCPR":-5362631977331377705},"stringDateField":"2002-02-20","stringDateTimeField":"1973-05-12T03:33:56Z","stringField":"CXkj","stringTimeField":"02:35:29.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":-585,"numField":-630.5146844810273,"stringDateField":"2002-02-20","stringDateTimeField":"1973-05-12T03:33:56Z","stringField":"CXkj","stringTimeField":"02:35:29.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4560,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4560,"uuid":"9e0a8a28-5655-11ee-b801-675ed0f8e89b"},"arrayField":["NlNVPYMm","VWNAzPlwrX","dQfpmk"],"boolField":false,"intField":-248,"numField":-519.714590687828,"objField":{"MQoZjF":-2520898340446887984,"XxFyJDX":1278188987427735092,"fykKq":-4406611508544434224,"hfikWEmrZn":9044392576155858178,"nqmM":8339902225451188243,"tjbaHHgKj":-1794380833437126979},"stringDateField":"1994-01-21","stringDateTimeField":"1959-07-10T02:27:35Z","stringField":"tsrt","stringTimeField":"05:17:28.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":-248,"numField":-519.714590687828,"stringDateField":"1994-01-21","stringDateTimeField":"1959-07-10T02:27:35Z","stringField":"tsrt","stringTimeField":"05:17:28.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4561,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4561,"uuid":"9e0a8a28-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["SPwLjY","YmmI","GbFM","afwgnKLL","SAbb","OFNElHs","ujtoNviT","dyzjhzWHDZ","BfWHzmbuJA","GgGxdT"],"boolField":false,"intField":-121,"numField":667.0668200929215,"objField":{"OKGINjdZaN":2064246591427797960,"PuJEUjU":-4437424459403637512,"ZvBg":-2979762541975063008,"hsAHKpzS":-9130145757499326846,"pdJW":-8490664188711536154,"rMuXMV":3130306064609422899,"yJSzrz":1330374395296042348},"stringDateField":"1901-03-24","stringDateTimeField":"2018-01-27T05:42:03Z","stringField":"VyoOKmbp","stringTimeField":"07:05:06.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763816Z","intField":-121,"numField":667.0668200929215,"stringDateField":"1901-03-24","stringDateTimeField":"2018-01-27T05:42:03Z","stringField":"VyoOKmbp","stringTimeField":"07:05:06.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4562,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4562,"uuid":"9e0a8a29-5655-11ee-8001-675ed0f8e89b"},"arrayField":["DMbh","xMhpGFSFh","RLYArQe","WqUPlW","VssPTvvi","MSsPAvoB","whpa"],"boolField":false,"intField":262,"numField":-510.5775310299601,"objField":{"CvXUI":740822051232981394,"xCKYGuJtA":-8922435803720986071},"stringDateField":"2016-06-20","stringDateTimeField":"1953-04-14T11:16:28Z","stringField":"EhWNrz","stringTimeField":"17:02:22.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":262,"numField":-510.5775310299601,"stringDateField":"2016-06-20","stringDateTimeField":"1953-04-14T11:16:28Z","stringField":"EhWNrz","stringTimeField":"17:02:22.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4563,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4563,"uuid":"9e0a8a29-5655-11ee-8401-675ed0f8e89b"},"arrayField":["OKrlxvySui","wAgteKrRl","KhxCdhgam"],"boolField":false,"intField":-269,"numField":601.5144206166416,"objField":{"NtlWGhxyXe":-2010568244213474656,"SQwx":-5966687039085563073},"stringDateField":"1917-12-31","stringDateTimeField":"1984-04-11T10:53:28Z","stringField":"dzBfqjaX","stringTimeField":"16:59:44.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":-269,"numField":601.5144206166416,"stringDateField":"1917-12-31","stringDateTimeField":"1984-04-11T10:53:28Z","stringField":"dzBfqjaX","stringTimeField":"16:59:44.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4564,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4564,"uuid":"9e0a8a29-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ItcGE","hWptHBx","LBxMpHNODm","DrhM","Fwnd","qegMYErJ","SJDgkp","pyiLYjjiuX"],"boolField":true,"intField":-717,"numField":213.4239985941011,"objField":{"DYigCNOuA":4683041846682282092,"OmzYF":6021345935748042113,"URtjtMn":-7568179877787063106,"WBLF":8456643749774898084,"ZjOx":7894267861933576531,"ephgHTL":-7825732910350367022,"fRVDA":-4317857983100076198,"jmLUC":8452209316509324965,"oIEErDPQBy":510480036195425985},"stringDateField":"1974-12-05","stringDateTimeField":"1929-08-01T04:11:07Z","stringField":"hSsSGuX","stringTimeField":"03:53:48.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":-717,"numField":213.4239985941011,"stringDateField":"1974-12-05","stringDateTimeField":"1929-08-01T04:11:07Z","stringField":"hSsSGuX","stringTimeField":"03:53:48.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4565,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4565,"uuid":"9e0a8a29-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["lqetqZgaP","SqXzUcfuhN","AqaFYC","cmmhfgr","fhdRrRbjJh","tFBPI","brzIPSVggj"],"boolField":true,"intField":435,"numField":-411.626429785899,"objField":{"DqdZVkxuk":-7755565338405367051,"ZjNKqH":-7186757519635180339,"mYrsHqey":-6135783290415036729},"stringDateField":"1950-06-05","stringDateTimeField":"1953-09-25T05:07:37Z","stringField":"xSjbnU","stringTimeField":"10:01:50.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":435,"numField":-411.626429785899,"stringDateField":"1950-06-05","stringDateTimeField":"1953-09-25T05:07:37Z","stringField":"xSjbnU","stringTimeField":"10:01:50.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4566,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4566,"uuid":"9e0a8a29-5655-11ee-9001-675ed0f8e89b"},"arrayField":["TStEJkOLhn","qBfmm"],"boolField":true,"intField":-164,"numField":935.444056083064,"objField":{"DjhCwyTA":3796490456385057083,"HlsAmJzPK":-7815665333316177918,"ifptjg":-5076900550761638085},"stringDateField":"1999-09-27","stringDateTimeField":"1948-08-18T23:17:17Z","stringField":"aqFNgnUGFe","stringTimeField":"10:41:16.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":-164,"numField":935.444056083064,"stringDateField":"1999-09-27","stringDateTimeField":"1948-08-18T23:17:17Z","stringField":"aqFNgnUGFe","stringTimeField":"10:41:16.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4567,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4567,"uuid":"9e0a8a29-5655-11ee-9401-675ed0f8e89b"},"arrayField":["oFWyNNDEg","KoJi"],"boolField":false,"intField":-402,"numField":-431.93047301472984,"objField":{"AJFfQyPGj":129268042395146722,"CwTjyfoft":8923669233457566102,"OlJBOMSYeo":2118256362235629637,"SVmPW":-4133543132303546045,"SmXtrd":1773845283561327312,"iLfgnRDWWo":2745036384397741731,"tfwPQgFoix":5304546269273806893},"stringDateField":"1963-06-30","stringDateTimeField":"1937-12-27T18:31:40Z","stringField":"cOZlZPbvb","stringTimeField":"07:18:43.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":-402,"numField":-431.93047301472984,"stringDateField":"1963-06-30","stringDateTimeField":"1937-12-27T18:31:40Z","stringField":"cOZlZPbvb","stringTimeField":"07:18:43.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4568,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4568,"uuid":"9e0a8a29-5655-11ee-9801-675ed0f8e89b"},"arrayField":["bqtTD","Iqihjueb","WSLCWQNrCS","GKVyfM","dasIirYi","XCHkHIt","pvofpw","KydosZa"],"boolField":true,"intField":-57,"numField":-185.6203206432654,"objField":{"eOtC":6797069150557981171},"stringDateField":"1943-07-15","stringDateTimeField":"1909-12-19T03:20:56Z","stringField":"EvPrnnAxHu","stringTimeField":"10:58:39.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":-57,"numField":-185.6203206432654,"stringDateField":"1943-07-15","stringDateTimeField":"1909-12-19T03:20:56Z","stringField":"EvPrnnAxHu","stringTimeField":"10:58:39.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4569,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4569,"uuid":"9e0a8a29-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["VevBHxO","FDLW","BqMzvBHi","ooXVXZ","bNURbJWjTp","sNWv","iQlU","GfDXkqRStG","punXNwTrB"],"boolField":true,"intField":450,"numField":602.8130858175405,"objField":{"BRqkdbYk":-2862281213358657754,"FUYgVZBTLr":-6733697139338166392,"RDVEhcpwKy":-4875056962476093949,"loriCzS":-2484261420130714222,"qhgsC":8216827071539921626,"tqlNfM":4652830667422921012,"wySHwUQhCv":3678221445613922813,"xgFkMF":7408756123546885212},"stringDateField":"1983-12-11","stringDateTimeField":"2000-09-09T22:30:12Z","stringField":"KCJzkgNQ","stringTimeField":"11:03:29.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":450,"numField":602.8130858175405,"stringDateField":"1983-12-11","stringDateTimeField":"2000-09-09T22:30:12Z","stringField":"KCJzkgNQ","stringTimeField":"11:03:29.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4570,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4570,"uuid":"9e0a8a29-5655-11ee-a001-675ed0f8e89b"},"arrayField":["nUOiOUrzZw","tqchrOLDP"],"boolField":true,"intField":-877,"numField":-846.8685239331395,"objField":{"iadmfrSP":4323438786774585995,"nIzQzvyybB":-3735388148277325192,"ytIvYtupF":1511501847241726804,"zdgEif":-3001919708781088155},"stringDateField":"1957-12-07","stringDateTimeField":"2020-05-17T08:04:34Z","stringField":"wEXo","stringTimeField":"03:37:57.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":-877,"numField":-846.8685239331395,"stringDateField":"1957-12-07","stringDateTimeField":"2020-05-17T08:04:34Z","stringField":"wEXo","stringTimeField":"03:37:57.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4571,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4571,"uuid":"9e0a8a29-5655-11ee-a401-675ed0f8e89b"},"arrayField":["gsSuvtUGe","MPYMzEQQTu","bZfzAZNyZv","GUsYOU","WUzuPMl","KGtKcA","NvphG","lXYfUtZUIV"],"boolField":true,"intField":-677,"numField":752.0636120092936,"objField":{"OTvun":5310302585417000122},"stringDateField":"1982-04-30","stringDateTimeField":"1915-07-26T14:28:28Z","stringField":"WynfzLw","stringTimeField":"01:31:00.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":-677,"numField":752.0636120092936,"stringDateField":"1982-04-30","stringDateTimeField":"1915-07-26T14:28:28Z","stringField":"WynfzLw","stringTimeField":"01:31:00.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4572,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4572,"uuid":"9e0a8a29-5655-11ee-a801-675ed0f8e89b"},"arrayField":["VtCq","sjDvjpJKYi"],"boolField":true,"intField":647,"numField":985.2891669095436,"objField":{"gRTibM":3775957422658017208},"stringDateField":"1910-05-19","stringDateTimeField":"1985-06-12T14:19:00Z","stringField":"trhxnV","stringTimeField":"12:25:32.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":647,"numField":985.2891669095436,"stringDateField":"1910-05-19","stringDateTimeField":"1985-06-12T14:19:00Z","stringField":"trhxnV","stringTimeField":"12:25:32.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4573,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4573,"uuid":"9e0a8a29-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["BJXbmzA","UtrF","OAtpOLSo"],"boolField":false,"intField":-618,"numField":-27.44490129629096,"objField":{"QuFive":-5027485666551697515,"fpHtOy":5590802746892153153,"hdfZTvUSD":1019333246849838088,"kQPmpnp":3632280176466059149},"stringDateField":"1995-02-26","stringDateTimeField":"1951-12-21T14:10:08Z","stringField":"OoazBgyZ","stringTimeField":"08:54:47.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":-618,"numField":-27.44490129629096,"stringDateField":"1995-02-26","stringDateTimeField":"1951-12-21T14:10:08Z","stringField":"OoazBgyZ","stringTimeField":"08:54:47.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4574,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4574,"uuid":"9e0a8a29-5655-11ee-b001-675ed0f8e89b"},"arrayField":["nMlCAFxli","aXAXVc","VtRME","ApWF","jBSA","oZxzN","ECYhscqPkt","sQJm"],"boolField":true,"intField":442,"numField":563.05595129775,"objField":{"IpZXeiPq":576151729685947080,"LZizzxsZUe":1295730124511772584,"MEGHJi":993944597467124852,"PcdAtINni":-176480729360501003,"SpUxCQPAL":2295358315056919221,"ozYWuex":5297229979975751394},"stringDateField":"1967-04-02","stringDateTimeField":"1994-04-23T12:14:19Z","stringField":"fBroygfJ","stringTimeField":"05:28:33.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":442,"numField":563.05595129775,"stringDateField":"1967-04-02","stringDateTimeField":"1994-04-23T12:14:19Z","stringField":"fBroygfJ","stringTimeField":"05:28:33.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4575,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4575,"uuid":"9e0a8a29-5655-11ee-b401-675ed0f8e89b"},"arrayField":["IHEW","uLFA","QDKV","lqrFgWak","CXHz","abvmxc"],"boolField":false,"intField":-104,"numField":-215.81892486509835,"objField":{"DTOpm":628304576386343708,"FsGN":-5459261629715158424,"InPMWR":-4878766290493055458,"VmSh":7220835676612717424,"dGwyQ":6080483883296227957,"jugnp":1581008296478447710,"pjlP":-5627748571914145261,"vgrfN":7187766715351439783,"wdzBoKOKhl":3124073698420319640},"stringDateField":"1943-06-01","stringDateTimeField":"2020-11-10T03:03:53Z","stringField":"BAdoqUArZ","stringTimeField":"11:38:11.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":-104,"numField":-215.81892486509835,"stringDateField":"1943-06-01","stringDateTimeField":"2020-11-10T03:03:53Z","stringField":"BAdoqUArZ","stringTimeField":"11:38:11.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4576,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4576,"uuid":"9e0a8a29-5655-11ee-b801-675ed0f8e89b"},"arrayField":["COYUtIHX","tDJYp","mkqi","RRSHdPttn","RKgafHBbFP","uKrDxDsq","OqMxsVolc","DcMT"],"boolField":false,"intField":383,"numField":457.02604596486606,"objField":{"BgwrPKAnlK":1534929892416295243,"bItpuA":5160892879451186270,"xrsHhn":6560250865295444529,"zhBm":5616296971170205926},"stringDateField":"1956-11-02","stringDateTimeField":"2020-12-10T14:52:35Z","stringField":"IxBKyPucF","stringTimeField":"21:16:18.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":383,"numField":457.02604596486606,"stringDateField":"1956-11-02","stringDateTimeField":"2020-12-10T14:52:35Z","stringField":"IxBKyPucF","stringTimeField":"21:16:18.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4577,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4577,"uuid":"9e0a8a29-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["MQyY","udEhOuFTH","yczrS","ElbBb","pDcRzTCz","hXOYN","KYlj","yuwHVpzB","QTbRvsqKdA","POrrHRsSjB"],"boolField":true,"intField":16,"numField":195.47990526912517,"objField":{"CwqM":2193350010061019909,"ekua":-2255772353573163392,"zoRRZRfCn":-7782027206627259282},"stringDateField":"1945-03-23","stringDateTimeField":"1947-07-05T15:44:47Z","stringField":"AjfLtZhon","stringTimeField":"20:00:15.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763817Z","intField":16,"numField":195.47990526912517,"stringDateField":"1945-03-23","stringDateTimeField":"1947-07-05T15:44:47Z","stringField":"AjfLtZhon","stringTimeField":"20:00:15.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4578,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4578,"uuid":"9e0a8a2a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["UNBoyAqtZ","gpMp","OjtFh","xHXOYSCGRI","xCWfN","wPUL","tGTT","HxjXLa","GqDwEzqGM","zzBlOOsW"],"boolField":false,"intField":-569,"numField":-153.31521631614407,"objField":{"HkyvVn":957182325607844142,"TVonrD":130544451118944517,"blFnJdpKX":3281475608079050687,"dwDtB":6226173041469581998,"fCYN":5847703130286504944,"lfpB":1260492910351375622,"shTMYFF":5671995810366028571,"tyqn":3143460289927182066},"stringDateField":"1947-09-07","stringDateTimeField":"1970-03-29T23:29:14Z","stringField":"jfFUeR","stringTimeField":"22:33:41.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":-569,"numField":-153.31521631614407,"stringDateField":"1947-09-07","stringDateTimeField":"1970-03-29T23:29:14Z","stringField":"jfFUeR","stringTimeField":"22:33:41.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4579,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4579,"uuid":"9e0a8a2a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["dPSEQojebA","EWSVvb","NgfsAnFV","QXRdb","RGJH","KQEto","miNN","gzzSZfh","hRLsJiPoE","sqFHIw"],"boolField":true,"intField":246,"numField":-614.3360992367075,"objField":{"WzorRXmke":8912057647977774051,"kwJCxmhJ":3415486964659329096,"swHImoWEH":5178480577731275814},"stringDateField":"1900-08-26","stringDateTimeField":"1904-06-09T19:20:59Z","stringField":"syGPZBZcnW","stringTimeField":"04:14:32.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":246,"numField":-614.3360992367075,"stringDateField":"1900-08-26","stringDateTimeField":"1904-06-09T19:20:59Z","stringField":"syGPZBZcnW","stringTimeField":"04:14:32.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4580,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4580,"uuid":"9e0a8a2a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["InPQl","tBhnts","eCgWbXK","kQeUyo","AhEcj"],"boolField":true,"intField":-340,"numField":952.2364262989691,"objField":{"AMpAFMw":-6277892099081770252,"NNRlpl":-4748363001108901663,"SyCXTkVmdH":-3782434392403682737,"qEBnS":8530563452653252394,"qHGtveCp":-2416631282907987362,"wgEP":-1640521875766304108,"xEOTxaYTOf":-8396362398954869390},"stringDateField":"1939-06-08","stringDateTimeField":"1988-03-03T22:22:23Z","stringField":"jOPNWqbuZ","stringTimeField":"00:46:30.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":-340,"numField":952.2364262989691,"stringDateField":"1939-06-08","stringDateTimeField":"1988-03-03T22:22:23Z","stringField":"jOPNWqbuZ","stringTimeField":"00:46:30.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4581,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4581,"uuid":"9e0a8a2a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["JDgkXOjokZ","khUnpB","cxnmnahn","VHOxb","zqVT","roQnz","OqSbR"],"boolField":true,"intField":197,"numField":-137.0165687050944,"objField":{"GiLqFUJuQ":5190753758040492924,"IdMagGG":1857303988137773504,"JrJBrpQW":8032284392255539257,"OLcm":-2488603442381758109,"RezCTXhlSl":-1851778015271066981,"XAClqpVmFa":-8605636589994382853,"cyLPB":-2613488056884452622,"gzoOKrCf":-7960707435090196331,"jcUyANEbUG":-5404704203431366250,"tDbUl":-7047403073048951188},"stringDateField":"1910-01-07","stringDateTimeField":"1941-04-06T01:10:08Z","stringField":"oaxQ","stringTimeField":"22:19:42.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":197,"numField":-137.0165687050944,"stringDateField":"1910-01-07","stringDateTimeField":"1941-04-06T01:10:08Z","stringField":"oaxQ","stringTimeField":"22:19:42.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4582,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4582,"uuid":"9e0a8a2a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["eSwD","IJEs","UPKSZC","YqaDGqF","HVobxYfun","gUOKpZRxjG"],"boolField":true,"intField":-729,"numField":-784.4873741269822,"objField":{"DqxarJvaXO":-2021725146235281100,"TbAcfyn":-9132359416510656791,"ZLKi":5038539565707245922},"stringDateField":"2010-03-27","stringDateTimeField":"1983-01-18T18:26:46Z","stringField":"xUheuH","stringTimeField":"08:48:24.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":-729,"numField":-784.4873741269822,"stringDateField":"2010-03-27","stringDateTimeField":"1983-01-18T18:26:46Z","stringField":"xUheuH","stringTimeField":"08:48:24.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4583,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4583,"uuid":"9e0a8a2a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["SGgd","aAGV"],"boolField":true,"intField":759,"numField":-542.0022146173213,"objField":{"HvmBBogL":-8974057074476040728,"mvuRKOAd":6600739683686515118,"vjVVbJ":-5319555626786841274},"stringDateField":"1916-04-29","stringDateTimeField":"1958-11-21T05:32:21Z","stringField":"dcKZoJONDc","stringTimeField":"02:19:28.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":759,"numField":-542.0022146173213,"stringDateField":"1916-04-29","stringDateTimeField":"1958-11-21T05:32:21Z","stringField":"dcKZoJONDc","stringTimeField":"02:19:28.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4584,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4584,"uuid":"9e0a8a2a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["zThtd","kcbZuO","CLvXtyxtYk","eFfEyXSZpM"],"boolField":true,"intField":373,"numField":913.4027692981924,"objField":{"ETMx":7897591466313831284,"JFWFUTWa":-785995830180805193,"LdrSjg":-7931288076257903599,"SdMyO":8424885135636574747,"dGHdPy":-2527368761570662632,"onepKH":-7879881398613513611},"stringDateField":"1969-06-21","stringDateTimeField":"1935-05-26T11:35:01Z","stringField":"DwFQ","stringTimeField":"23:22:24.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":373,"numField":913.4027692981924,"stringDateField":"1969-06-21","stringDateTimeField":"1935-05-26T11:35:01Z","stringField":"DwFQ","stringTimeField":"23:22:24.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4585,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4585,"uuid":"9e0a8a2a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["hQVfdsG","LcgZEfJFT","zhnEF","nzByr","GlkdMzWqNc","FlrDOuFQ","WdtB","beUbd"],"boolField":true,"intField":-838,"numField":-523.8346326739276,"objField":{"BiYni":-123877079314679822,"MdSy":2124163212834839847,"YqsYPDu":-2077054197798872217,"gUnOw":-3459907190596033389,"hWIiRZB":-1316690683916891918,"jKlSM":7820566834852254241,"tzyTB":8988613116936639186,"wgCxQAZpya":3667059994771470265},"stringDateField":"2021-03-31","stringDateTimeField":"1962-07-24T18:14:01Z","stringField":"ipFW","stringTimeField":"00:57:22.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":-838,"numField":-523.8346326739276,"stringDateField":"2021-03-31","stringDateTimeField":"1962-07-24T18:14:01Z","stringField":"ipFW","stringTimeField":"00:57:22.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4586,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4586,"uuid":"9e0a8a2a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["XHsi","MZGBRrNvXl"],"boolField":false,"intField":-347,"numField":-369.6367037628312,"objField":{"AkuS":-2153304551940759311,"KBRner":-7002929346701994777,"VWqtPRAqM":-8328547060969992216,"XCcR":5885271429945786128,"YFHtW":-3814145720162589549,"ezYIamm":2694620946619660463,"qnvwIBOixw":-8879291126526468823},"stringDateField":"2000-08-25","stringDateTimeField":"1986-12-24T04:00:03Z","stringField":"rFcNKi","stringTimeField":"02:56:55.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":-347,"numField":-369.6367037628312,"stringDateField":"2000-08-25","stringDateTimeField":"1986-12-24T04:00:03Z","stringField":"rFcNKi","stringTimeField":"02:56:55.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4587,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4587,"uuid":"9e0a8a2a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["Kcfn","MwYeeGtE","ikSgNbe","aPBnYTjpBU","GzPs","HCAbMuAMbu","CrSM"],"boolField":true,"intField":-58,"numField":207.89926961697543,"objField":{"AGsINy":-6339874267047388706,"ATdQElr":8218538305576876534,"ENMNwKyaRD":-2997657874627315916,"IjeZvsTlO":-6803064580452303061,"RMBehCHDxq":-2341565325539055560,"YTsBxpBqgV":7331580338774037575,"orVfPNd":4577836088791121543,"wPBtYInRM":1524898658524133896},"stringDateField":"1922-04-10","stringDateTimeField":"1986-05-08T14:14:31Z","stringField":"UqLS","stringTimeField":"01:19:07.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":-58,"numField":207.89926961697543,"stringDateField":"1922-04-10","stringDateTimeField":"1986-05-08T14:14:31Z","stringField":"UqLS","stringTimeField":"01:19:07.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4588,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4588,"uuid":"9e0a8a2a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["rwjkGUtcHO","TIzxPJBneE","caUzmTeN","XsvdrLXSJW","WltTtvyrXs","OnXhc","yaNxFDads"],"boolField":true,"intField":-4,"numField":610.4979196196307,"objField":{"AZejzdXV":6113343138599425335,"NcXsSszsgV":-5597630361748636423,"QpjUHXJ":-4847729110319586499,"THSUtAQHu":8553897101890757112,"YfbgkXO":-1238756929076002045,"ptUya":5990676836546806646,"zoFWGeWWi":3558190786069021045},"stringDateField":"1979-05-19","stringDateTimeField":"2013-05-27T00:59:20Z","stringField":"WCdTmZqsQZ","stringTimeField":"06:31:16.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":-4,"numField":610.4979196196307,"stringDateField":"1979-05-19","stringDateTimeField":"2013-05-27T00:59:20Z","stringField":"WCdTmZqsQZ","stringTimeField":"06:31:16.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4589,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4589,"uuid":"9e0a8a2a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["jvUEvYXuXk","MwMXym","fmpFfOGnFN","aMkRWMkxw"],"boolField":false,"intField":-246,"numField":-300.74949791692916,"objField":{"JWSrFyHMU":6174665870762729031},"stringDateField":"2001-07-23","stringDateTimeField":"1978-02-07T10:07:06Z","stringField":"pzpnl","stringTimeField":"23:01:31.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":-246,"numField":-300.74949791692916,"stringDateField":"2001-07-23","stringDateTimeField":"1978-02-07T10:07:06Z","stringField":"pzpnl","stringTimeField":"23:01:31.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4590,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4590,"uuid":"9e0a8a2a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["CRPcOZ"],"boolField":false,"intField":474,"numField":10.30516655203817,"objField":{"KbiV":-1624398219759911716,"ONQpiyN":-3313699770170483277,"WWTR":-613184848083233673,"XmrS":8378925138338603153,"jocpgBXU":-3613252828540138876,"kVZNpIajZt":-5106643756344547949,"kuRcQYDX":-4520603510337684504,"oiGX":-3495862610490402644,"pCaerf":5279949029681513815},"stringDateField":"1943-06-21","stringDateTimeField":"1997-10-17T20:00:58Z","stringField":"WcoGrTnURb","stringTimeField":"16:13:10.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":474,"numField":10.30516655203817,"stringDateField":"1943-06-21","stringDateTimeField":"1997-10-17T20:00:58Z","stringField":"WcoGrTnURb","stringTimeField":"16:13:10.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4591,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4591,"uuid":"9e0a8a2a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["yezJZs","BdtoLGXpyv","PkRcSqXp","XZytK","fETbuPfK"],"boolField":false,"intField":-896,"numField":612.3512099621154,"objField":{"MFjIRlj":-5469236642144514594,"SbXqnPJAsR":6677388522487140660,"TNaCEymVmS":8065263749720259689,"bDPE":-3916124686847301766},"stringDateField":"2011-10-04","stringDateTimeField":"2016-08-14T23:04:22Z","stringField":"wuaflbt","stringTimeField":"05:52:08.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":-896,"numField":612.3512099621154,"stringDateField":"2011-10-04","stringDateTimeField":"2016-08-14T23:04:22Z","stringField":"wuaflbt","stringTimeField":"05:52:08.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4592,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4592,"uuid":"9e0a8a2a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["UxcDdENO"],"boolField":true,"intField":923,"numField":414.04492691020846,"objField":{"FUIGU":408996906362225119,"PulNNReg":3031338968973167510,"XRQsGTlzb":8326227354660639178,"aYZqcpR":6133650267176694362,"dEyZBtpSxZ":5299267619841168695,"eEYTkNHZ":-791579018566179637,"nltgox":3179617754778593417},"stringDateField":"1972-08-17","stringDateTimeField":"2021-10-07T05:19:44Z","stringField":"RFalkeK","stringTimeField":"15:31:27.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":923,"numField":414.04492691020846,"stringDateField":"1972-08-17","stringDateTimeField":"2021-10-07T05:19:44Z","stringField":"RFalkeK","stringTimeField":"15:31:27.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4593,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4593,"uuid":"9e0a8a2a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ZgkER","ftZzuG","rtPtA","TyVRXbfk"],"boolField":false,"intField":-695,"numField":603.2191356156374,"objField":{"AthxXeO":778469153365983925,"KnThNwo":7896155558977811271,"LTkZFnC":-2268795099506477821,"RWVzdk":-1368303620581274233,"ViSnjx":7776783393685882843,"YzxTqgVOht":-1917130645481274487,"dtPpW":-7802494350215071110,"omgpYfak":7560077114342718904,"qPShPjxN":-7018939591053398195,"smjmHqL":-5101294842015509560},"stringDateField":"1923-12-22","stringDateTimeField":"1933-01-15T04:13:28Z","stringField":"GTbzPZyd","stringTimeField":"22:43:29.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763818Z","intField":-695,"numField":603.2191356156374,"stringDateField":"1923-12-22","stringDateTimeField":"1933-01-15T04:13:28Z","stringField":"GTbzPZyd","stringTimeField":"22:43:29.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4594,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4594,"uuid":"9e0a8a2b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["FRAIReyPr","MwCklxq","jKBx","YXXU","mgRlv","lFxzGG","wYHRSeM","BCsNlk","EUJzFgMANS"],"boolField":true,"intField":666,"numField":318.0538432601454,"objField":{"CoGv":8416077259531032607,"EfazvPuLwI":417112368694973611,"IWfoVjBCH":2737803680848397098,"PGXedGNI":3626663733210257610,"SDhbZ":4163501669134436553,"fuVf":6245950183255462886,"rMtmVSKmu":-3116817491853936679,"tjARnnc":6841669176500488192,"uCBhDJoh":3213551156029983091,"vbOgo":-3481095064792185972},"stringDateField":"1930-09-11","stringDateTimeField":"2001-10-09T10:38:11Z","stringField":"pOdR","stringTimeField":"12:10:15.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":666,"numField":318.0538432601454,"stringDateField":"1930-09-11","stringDateTimeField":"2001-10-09T10:38:11Z","stringField":"pOdR","stringTimeField":"12:10:15.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4595,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4595,"uuid":"9e0a8a2b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["hNXWw","xmaWbaH","FpFxGHQJi","omvmSOCkyl","CbPmM","mLlxJz"],"boolField":true,"intField":-958,"numField":801.3563100449594,"objField":{"DQOaVEmpDU":-1174107272248559402,"EanNgpaGMR":-8214240559724480892,"KeWJiWo":-2962746193325195834,"TUOI":-845616560516415733,"bYEstP":6541453230791659669,"fiTuvTK":736638387756217780,"xsAVoeeJa":5369195303440612178},"stringDateField":"1960-09-14","stringDateTimeField":"1979-05-01T17:32:38Z","stringField":"RlKtCOsZ","stringTimeField":"09:56:17.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":-958,"numField":801.3563100449594,"stringDateField":"1960-09-14","stringDateTimeField":"1979-05-01T17:32:38Z","stringField":"RlKtCOsZ","stringTimeField":"09:56:17.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4596,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4596,"uuid":"9e0a8a2b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["cqtdhvIHp","xDOcZ","DGDP","IPZFiGJAh","XPmCSWLMt","CiiXVJvwQ","QkesnzoRk"],"boolField":false,"intField":501,"numField":111.0322930658707,"objField":{"rSqd":-496950402476324421},"stringDateField":"2016-09-05","stringDateTimeField":"1941-02-16T21:29:00Z","stringField":"upWvf","stringTimeField":"14:30:00.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":501,"numField":111.0322930658707,"stringDateField":"2016-09-05","stringDateTimeField":"1941-02-16T21:29:00Z","stringField":"upWvf","stringTimeField":"14:30:00.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4597,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4597,"uuid":"9e0a8a2b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["qHEhd","MMDZpL","ZkymAPDDQr","NFEsjRuQDk","QgBP"],"boolField":false,"intField":-832,"numField":743.9567970812342,"objField":{"HTvsgm":-6144962853559439386,"RybvKZypu":1471002956590062905,"SHmSRyI":-7475950195065206043,"WXWfUZAd":1542340557077376275,"gwDEGFyZI":-1781533667629462522,"koPUgxc":-6426705964520268786,"kvIzA":2022239684460164009},"stringDateField":"1959-07-13","stringDateTimeField":"1907-11-08T18:39:14Z","stringField":"OSLL","stringTimeField":"22:28:25.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":-832,"numField":743.9567970812342,"stringDateField":"1959-07-13","stringDateTimeField":"1907-11-08T18:39:14Z","stringField":"OSLL","stringTimeField":"22:28:25.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4598,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4598,"uuid":"9e0a8a2b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["PtkJkwLr","ntVQIv","ozKJ"],"boolField":true,"intField":980,"numField":-42.305227501961305,"objField":{"qlMDjvbrRL":-8288754483270308360},"stringDateField":"1975-11-24","stringDateTimeField":"1970-05-16T08:23:17Z","stringField":"GdufTOx","stringTimeField":"00:21:10.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":980,"numField":-42.305227501961305,"stringDateField":"1975-11-24","stringDateTimeField":"1970-05-16T08:23:17Z","stringField":"GdufTOx","stringTimeField":"00:21:10.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4599,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4599,"uuid":"9e0a8a2b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["ZahsuS","lNbdjIK","uuSsrUoP","oLCeGIGi","MNrhPe"],"boolField":true,"intField":1000,"numField":-539.0285126414351,"objField":{"FzJz":-3528605748160706098,"GCMCaY":-7181047541472186754,"NaHRLdGC":-885706918212580288,"OrRzacINus":1789072906240905721,"amGk":-1900158165377957123,"lhFISo":-2090215000256568861,"mmiBtLyN":-8035816136147318293,"wePGQekt":-7355329112511485519},"stringDateField":"1964-08-10","stringDateTimeField":"1958-12-18T23:50:18Z","stringField":"akZA","stringTimeField":"07:22:56.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":1000,"numField":-539.0285126414351,"stringDateField":"1964-08-10","stringDateTimeField":"1958-12-18T23:50:18Z","stringField":"akZA","stringTimeField":"07:22:56.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4600,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4600,"uuid":"9e0a8a2b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["tfDHpYr","keuNDFWT","Cdhff","TMLBdiKE","MdgQhzRig","GUnkp","RkZsyapo","ECTVAFPnCP"],"boolField":false,"intField":425,"numField":906.8799199159674,"objField":{"Dfxuprjw":-7399964147905478198},"stringDateField":"1909-11-08","stringDateTimeField":"2019-05-23T08:08:47Z","stringField":"kRMil","stringTimeField":"14:34:33.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":425,"numField":906.8799199159674,"stringDateField":"1909-11-08","stringDateTimeField":"2019-05-23T08:08:47Z","stringField":"kRMil","stringTimeField":"14:34:33.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4601,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4601,"uuid":"9e0a8a2b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["vgxtY","NVvZMF","egONhhvjj","eUXhDztHgK","kwAPxUm"],"boolField":true,"intField":690,"numField":-906.0325448933638,"objField":{"BkoUcB":-361493051660511456,"MlmzwcJDR":-1171906600987468910,"RqOZK":9044459273856431613,"TlRFZTuBNl":-6898313477670757171,"aePJ":4743773761621569213,"ghLQTGCIH":6309472299642401290,"jKqVK":3067679527802716608,"lUEwfFnDFm":-8863223787288335951,"xKhtOmBHM":8731344695274984387,"xUZMBoXf":-2134411604165339399},"stringDateField":"1955-04-05","stringDateTimeField":"1980-03-13T04:55:01Z","stringField":"NdjkHS","stringTimeField":"05:13:10.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":690,"numField":-906.0325448933638,"stringDateField":"1955-04-05","stringDateTimeField":"1980-03-13T04:55:01Z","stringField":"NdjkHS","stringTimeField":"05:13:10.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4602,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4602,"uuid":"9e0a8a2b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ZwOfQSZFLD","Xfvq"],"boolField":false,"intField":-715,"numField":-340.1094919374672,"objField":{"AhiBdK":6953936262677560514,"DranyIBsk":525345786412022481,"cWJvHf":-7814441543169214779,"iIedmm":7052681675992931353,"nWekudOELc":1288983008789803697,"pBgQE":-7227952218610539688,"rruHxxbDZG":6317488452831860638,"wUzayoV":5685412427515854816,"zopKtN":4552105742678903000},"stringDateField":"1930-05-07","stringDateTimeField":"1936-06-13T14:25:41Z","stringField":"RdMqGT","stringTimeField":"21:57:15.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":-715,"numField":-340.1094919374672,"stringDateField":"1930-05-07","stringDateTimeField":"1936-06-13T14:25:41Z","stringField":"RdMqGT","stringTimeField":"21:57:15.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4603,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4603,"uuid":"9e0a8a2b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["BqpRPgv","apIIze","ICOLu","NYxHZdqvmE","YfnBzvQka","dxAoLWFN","xVchi"],"boolField":false,"intField":46,"numField":-341.4820900337886,"objField":{"CjaPW":-8127027555104451400,"YVzKDH":-1558319561340074715,"eqmKIvVC":7347026387947235171,"gyDwry":-6511302454139544740,"lXLSlDRbF":2229345216437541816,"nszA":1676420194235752212,"oCrhm":-8781767088760618694,"yHhXsaBaHh":945747821043530341},"stringDateField":"1963-10-18","stringDateTimeField":"1923-08-07T04:14:14Z","stringField":"GdGF","stringTimeField":"20:38:16.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":46,"numField":-341.4820900337886,"stringDateField":"1963-10-18","stringDateTimeField":"1923-08-07T04:14:14Z","stringField":"GdGF","stringTimeField":"20:38:16.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4604,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4604,"uuid":"9e0a8a2b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["mbnjmzolU","nAqmriM","IoAnuptI","DocxF","EaxSSeHDAr","QeKWtNk"],"boolField":true,"intField":242,"numField":635.1825452307804,"objField":{"CPWX":-4131580113959462554,"INHA":2521227605420660927,"aGvtYvtXv":-2175813344976131135,"dghU":-8438148508045451113,"kgIcZkQv":-3281546406902136004,"qPEsCFI":-7967189379263902379,"uNtzP":-6820884234726269003,"yTOJOas":-7665681664168167534},"stringDateField":"1904-10-31","stringDateTimeField":"1958-02-11T23:14:32Z","stringField":"ltkE","stringTimeField":"23:44:15.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":242,"numField":635.1825452307804,"stringDateField":"1904-10-31","stringDateTimeField":"1958-02-11T23:14:32Z","stringField":"ltkE","stringTimeField":"23:44:15.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4605,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4605,"uuid":"9e0a8a2b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["uJbqU","RJGXgsWs","LAkSR","IYHXIvm","eFEm","JccPOxMWak","dEZBgjN","gEwBwQ","xuQa","BJUuOj"],"boolField":true,"intField":348,"numField":-681.1637423600478,"objField":{"BJbsGJFQvN":-6902101242470191338,"DzLOD":4297442023544064889,"EnoSYFKPCl":8690051507987430237,"HdxAlEQFw":-6820899880493037958,"KHPPVROCv":-4049548297530445906,"LHDt":-777451775346471414,"kzrjjUg":760925852002593275,"mCKISBK":-6657781487601261157,"srhrehWs":214508511587539836},"stringDateField":"1959-05-21","stringDateTimeField":"1996-12-15T14:35:35Z","stringField":"UvLUpZ","stringTimeField":"14:58:43.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":348,"numField":-681.1637423600478,"stringDateField":"1959-05-21","stringDateTimeField":"1996-12-15T14:35:35Z","stringField":"UvLUpZ","stringTimeField":"14:58:43.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4606,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4606,"uuid":"9e0a8a2b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["VjDIbP","oFKijBd","wdbBj","MCrZM","XePY","jTYdtVDw","kZCZf","sTQKyg"],"boolField":false,"intField":296,"numField":-186.38711786530803,"objField":{"iabR":-8679049973209336368},"stringDateField":"1958-01-30","stringDateTimeField":"1936-07-13T07:55:42Z","stringField":"eDogFq","stringTimeField":"17:50:38.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":296,"numField":-186.38711786530803,"stringDateField":"1958-01-30","stringDateTimeField":"1936-07-13T07:55:42Z","stringField":"eDogFq","stringTimeField":"17:50:38.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4607,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4607,"uuid":"9e0a8a2b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["cikKPNNz","MLTPYSIpo","UQepy","djtaZv","pSCUI","LXcs","mloBnozdYP","YnVZH","DYMzylSx","QiyEmns"],"boolField":false,"intField":-514,"numField":405.2301435392287,"objField":{"ORyXm":5547128889156439115,"xPoWXjEzQa":-1421030421383475893},"stringDateField":"1973-07-18","stringDateTimeField":"2009-11-28T22:33:42Z","stringField":"dggYnTc","stringTimeField":"23:02:54.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":-514,"numField":405.2301435392287,"stringDateField":"1973-07-18","stringDateTimeField":"2009-11-28T22:33:42Z","stringField":"dggYnTc","stringTimeField":"23:02:54.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4608,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4608,"uuid":"9e0a8a2b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["BRYMneAhH","Ljdg"],"boolField":false,"intField":792,"numField":-485.2215508463833,"objField":{"KCeuy":2733443486570004386,"NcuTqq":1816506637137852513,"PSYxCqPNb":-5557617614849750665,"XcLiVBoB":-7622392598216250185,"jVNZB":1561234620828182347,"lEIPBMWVUZ":-1514300129492013361,"oAAanAw":5183635125733996732,"qtScLKfC":5836435681701452310,"rJzVWqj":-7898654876751284961,"yWZlehmFv":5833291713384003165},"stringDateField":"1981-09-28","stringDateTimeField":"1926-10-03T14:59:41Z","stringField":"KrPbC","stringTimeField":"21:41:21.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":792,"numField":-485.2215508463833,"stringDateField":"1981-09-28","stringDateTimeField":"1926-10-03T14:59:41Z","stringField":"KrPbC","stringTimeField":"21:41:21.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4609,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4609,"uuid":"9e0a8a2b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["ljbXOiv","MPng","IpVAUARKUK","CUTjxO","xPlABYi","Iffks"],"boolField":true,"intField":31,"numField":15.818065760538458,"objField":{"ShwgKBle":-4402716189119810821,"YbLLufF":-1885243597329437765,"YsgfM":5641952566431947498,"ykePGaXC":5975896699482511510},"stringDateField":"1934-12-08","stringDateTimeField":"2019-10-11T08:41:11Z","stringField":"mqlBYrDLt","stringTimeField":"18:19:51.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763819Z","intField":31,"numField":15.818065760538458,"stringDateField":"1934-12-08","stringDateTimeField":"2019-10-11T08:41:11Z","stringField":"mqlBYrDLt","stringTimeField":"18:19:51.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4610,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4610,"uuid":"9e0a8a2c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ROJjwq","EuKuecPjrl"],"boolField":true,"intField":-325,"numField":922.4699527239028,"objField":{"IlPo":5436481501663610813,"OVysbVhAR":4018089171866467203,"RtcKXnenJw":7030392495834590807,"TjkNXeEW":3258513231404250514,"gsDeAjuV":-7925616947071750371,"gvJRJmt":-6309962273557513799,"hmDkZpOLdK":3484543113818187058,"noWrvf":-6626781901610558683,"vmAezA":3608402500078872572},"stringDateField":"2004-07-31","stringDateTimeField":"1953-10-19T06:25:35Z","stringField":"gJbcaaVKb","stringTimeField":"01:21:42.40Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":-325,"numField":922.4699527239028,"stringDateField":"2004-07-31","stringDateTimeField":"1953-10-19T06:25:35Z","stringField":"gJbcaaVKb","stringTimeField":"01:21:42.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4611,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4611,"uuid":"9e0a8a2c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["rYHxWPsyCa","HCnnoj","ZfIkjIJ"],"boolField":false,"intField":-469,"numField":980.5410567268018,"objField":{"BWuxvWnPA":6296028294656736719,"dijYkxozGE":5742755289933342030},"stringDateField":"1972-09-10","stringDateTimeField":"1909-12-01T13:54:04Z","stringField":"Udbsrmr","stringTimeField":"23:26:33.27Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":-469,"numField":980.5410567268018,"stringDateField":"1972-09-10","stringDateTimeField":"1909-12-01T13:54:04Z","stringField":"Udbsrmr","stringTimeField":"23:26:33.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4612,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4612,"uuid":"9e0a8a2c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ZTbUw"],"boolField":true,"intField":-717,"numField":390.30502770234386,"objField":{"IGnsqAFG":9011334757884010384,"KsHFqyPSM":1151497832137536089,"KtPYxG":6852407552504587524,"XlyIcvMjU":-3464422768730905875,"jfiDQAqk":5834595809004319716,"nRSlGQXMm":-1581303152493486030,"nXzcyqbj":6320080693397734761,"uVzhvHjY":1955070682937949773,"zFORYB":5276058484418592123,"zoHZ":-6882444744482351377},"stringDateField":"1911-03-21","stringDateTimeField":"1957-01-16T01:29:32Z","stringField":"Glofse","stringTimeField":"04:35:13.14Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":-717,"numField":390.30502770234386,"stringDateField":"1911-03-21","stringDateTimeField":"1957-01-16T01:29:32Z","stringField":"Glofse","stringTimeField":"04:35:13.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4613,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4613,"uuid":"9e0a8a2c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["WYlQ","ZVtiV","bgSMRDFMq"],"boolField":false,"intField":968,"numField":-479.813150392136,"objField":{"BBWX":-2925078141970323977,"DJYYY":-6361031677179559958,"fUhfZGB":8435537474191264160,"gpkwiHLkdp":-8048413032598605880,"lAOpy":7582048039279458943,"zvnfCgfEpZ":-8086554147788732639},"stringDateField":"1926-03-30","stringDateTimeField":"1968-11-02T00:05:06Z","stringField":"aUeozXH","stringTimeField":"16:35:56.19Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":968,"numField":-479.813150392136,"stringDateField":"1926-03-30","stringDateTimeField":"1968-11-02T00:05:06Z","stringField":"aUeozXH","stringTimeField":"16:35:56.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4614,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4614,"uuid":"9e0a8a2c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["dFHonbndM","xVLe"],"boolField":false,"intField":642,"numField":-959.8033819140376,"objField":{"dYlNdGHdsw":4668939696075901511},"stringDateField":"2017-03-01","stringDateTimeField":"1945-12-20T22:27:45Z","stringField":"evBXqpsx","stringTimeField":"01:42:33.47Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":642,"numField":-959.8033819140376,"stringDateField":"2017-03-01","stringDateTimeField":"1945-12-20T22:27:45Z","stringField":"evBXqpsx","stringTimeField":"01:42:33.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4615,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4615,"uuid":"9e0a8a2c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["eDTYGs","iWJlBtb","kjgaDA","gFNQqwJWCW","yGNLEvFUS","DizEbEz"],"boolField":true,"intField":588,"numField":655.810812143141,"objField":{"ETFUOX":-2108369228770556698,"UfEpHySgF":-8203416756437340757,"VcKRn":-7469053612508551553,"Wpdo":-3881461468915530946,"XuwYDGPI":-6553007017541230331,"hVAbx":-4520160345965311883,"rHLWUvaHu":-2141587078906508557,"xmmNe":-3482349875617251942,"zpOFU":974371223358714562},"stringDateField":"1999-11-03","stringDateTimeField":"1980-12-25T04:36:52Z","stringField":"DMYpjjGn","stringTimeField":"14:13:37.45Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":588,"numField":655.810812143141,"stringDateField":"1999-11-03","stringDateTimeField":"1980-12-25T04:36:52Z","stringField":"DMYpjjGn","stringTimeField":"14:13:37.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4616,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4616,"uuid":"9e0a8a2c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gVdWOc","prVgSz"],"boolField":true,"intField":-949,"numField":-629.4704896514814,"objField":{"mbpIltjlYT":-8430640543151788411},"stringDateField":"1908-07-18","stringDateTimeField":"1908-08-29T08:18:39Z","stringField":"bmzyK","stringTimeField":"09:44:19.33Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":-949,"numField":-629.4704896514814,"stringDateField":"1908-07-18","stringDateTimeField":"1908-08-29T08:18:39Z","stringField":"bmzyK","stringTimeField":"09:44:19.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4617,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4617,"uuid":"9e0a8a2c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["PxMrPVblD","QrscEzs","vKmcCpK","VSSSohT","DXFEYqQhq","bUVcUEJV","AVoblXDAwS"],"boolField":true,"intField":-23,"numField":422.9437856504059,"objField":{"BzZTlYGVo":1957722812981136023,"MMPQTJpL":1131944950069364834},"stringDateField":"2021-05-06","stringDateTimeField":"2009-08-02T15:38:15Z","stringField":"xxlma","stringTimeField":"16:12:02.21Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":-23,"numField":422.9437856504059,"stringDateField":"2021-05-06","stringDateTimeField":"2009-08-02T15:38:15Z","stringField":"xxlma","stringTimeField":"16:12:02.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4618,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4618,"uuid":"9e0a8a2c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["eHRifvwciv","GhGmmGf","mtgwOW","RqrSuM","IjDOM","NmYMQveCYg","RgIBRfQGu","IJdzpThE"],"boolField":true,"intField":369,"numField":350.5348851476007,"objField":{"IWtD":-8623620660153689392,"JtHb":663040369928435345,"SdQs":5989426504679771784,"hRnk":1934518857411438519,"mBHObG":-7061113578498199371,"mityolPB":-1100163357712853890},"stringDateField":"1962-08-11","stringDateTimeField":"1991-02-05T03:48:35Z","stringField":"AQvysF","stringTimeField":"10:49:05.32Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":369,"numField":350.5348851476007,"stringDateField":"1962-08-11","stringDateTimeField":"1991-02-05T03:48:35Z","stringField":"AQvysF","stringTimeField":"10:49:05.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4619,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4619,"uuid":"9e0a8a2c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["JGvx","gdkqKYC","fcEjrw","rXVcDIzO","zSnmId","LHfGdz","cXEIvJfW","KIqxCkB","QrdZOq"],"boolField":false,"intField":621,"numField":569.5661012674251,"objField":{"HlsEvNVFIx":-8504655561426351683,"YakaQR":1948285532991775505,"tprQC":6444950706814169712,"zbcrU":8696913875888995381},"stringDateField":"2022-02-17","stringDateTimeField":"1913-09-19T12:27:16Z","stringField":"mTvsSR","stringTimeField":"12:57:47.31Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":621,"numField":569.5661012674251,"stringDateField":"2022-02-17","stringDateTimeField":"1913-09-19T12:27:16Z","stringField":"mTvsSR","stringTimeField":"12:57:47.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4620,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4620,"uuid":"9e0a8a2c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["bnBrdMZ","lJOxXayrRS","FipzTLFn","wKODK"],"boolField":false,"intField":785,"numField":-351.14756058646145,"objField":{"jRiqiBNPUb":-3514642912489944495},"stringDateField":"2021-01-11","stringDateTimeField":"2005-10-12T03:20:24Z","stringField":"CpkpnliEB","stringTimeField":"21:26:26.11Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":785,"numField":-351.14756058646145,"stringDateField":"2021-01-11","stringDateTimeField":"2005-10-12T03:20:24Z","stringField":"CpkpnliEB","stringTimeField":"21:26:26.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4621,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4621,"uuid":"9e0a8a2c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["bvdd"],"boolField":true,"intField":-258,"numField":890.0094665307183,"objField":{"TIEQSgjhE":3080230483061140339,"ZFqbGIcnf":-3625442467521738174,"daBnhbrPxN":497602869514115708,"mcRQ":7089986801623387504,"rdnPhuxImZ":1119278719383114752},"stringDateField":"1903-10-21","stringDateTimeField":"1946-06-06T03:47:59Z","stringField":"ORlC","stringTimeField":"15:38:15.11Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":-258,"numField":890.0094665307183,"stringDateField":"1903-10-21","stringDateTimeField":"1946-06-06T03:47:59Z","stringField":"ORlC","stringTimeField":"15:38:15.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4622,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4622,"uuid":"9e0a8a2c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["WSiN","Mzzkx","cirhieYrdm"],"boolField":true,"intField":926,"numField":829.5005349723108,"objField":{"HpGKYtGLU":198270188635721628},"stringDateField":"1920-08-09","stringDateTimeField":"1972-03-08T16:50:49Z","stringField":"RkyZ","stringTimeField":"05:50:24.20Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":926,"numField":829.5005349723108,"stringDateField":"1920-08-09","stringDateTimeField":"1972-03-08T16:50:49Z","stringField":"RkyZ","stringTimeField":"05:50:24.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4623,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4623,"uuid":"9e0a8a2c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["OTWvJv","lDjgvbsU","lWBFqipfGI","KzOQ","voExt","nDtWTwF"],"boolField":true,"intField":61,"numField":820.1203509087574,"objField":{"eASI":6195467762250729724,"gTXSYR":-4317689195594634927},"stringDateField":"1930-08-14","stringDateTimeField":"1965-10-23T15:15:52Z","stringField":"rITkRX","stringTimeField":"22:48:09.48Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":61,"numField":820.1203509087574,"stringDateField":"1930-08-14","stringDateTimeField":"1965-10-23T15:15:52Z","stringField":"rITkRX","stringTimeField":"22:48:09.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4624,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4624,"uuid":"9e0a8a2c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["QzlKFo","qvuTg","PtUt","mHJrB","pXOZe","Wokibk","nfffrCFGj"],"boolField":true,"intField":547,"numField":386.4005542543137,"objField":{"QUeDVJhcj":-998106803379621077,"RwbRoEqHmB":-1375609780370912869,"VJIoLbljqa":-1218699302224588973,"ewXxjqo":-1009655442670414154,"liAo":8690580988407111625,"pGzXV":621762454483212077,"pxnhMBrKX":7746025369958726901,"qoGlg":4209816306842319303,"smtLQCXJia":1042927973702909776,"uLlmI":817305743603053796},"stringDateField":"1959-02-12","stringDateTimeField":"1929-01-13T05:18:48Z","stringField":"rqCstMB","stringTimeField":"10:25:43.10Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":547,"numField":386.4005542543137,"stringDateField":"1959-02-12","stringDateTimeField":"1929-01-13T05:18:48Z","stringField":"rqCstMB","stringTimeField":"10:25:43.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4625,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4625,"uuid":"9e0a8a2c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["pREvBlwsq","fuBNLogwN","kVZTEEdFZc","RfGLIiFA","YUbIQFDZ","LlliUv","oYoxuN","bizyof"],"boolField":false,"intField":399,"numField":606.8157529933919,"objField":{"EEiJddzgdU":4441200603774073695,"stmpvKu":1078724830962562932,"woaaL":8941810828098648536},"stringDateField":"1982-05-26","stringDateTimeField":"1971-04-09T14:32:41Z","stringField":"aSbvu","stringTimeField":"11:17:43.45Z"},"flow_published_at":"2023-09-18T19:00:21.876382Z","intField":399,"numField":606.8157529933919,"stringDateField":"1982-05-26","stringDateTimeField":"1971-04-09T14:32:41Z","stringField":"aSbvu","stringTimeField":"11:17:43.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4626,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4626,"uuid":"9e0a8a2d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["sIEmRiQ"],"boolField":false,"intField":33,"numField":313.0887196801282,"objField":{"DnSMKa":-3575513209461068910,"MDSEP":3156574225167865420,"TkiSRXv":2043130263601922108,"XWZMRcSV":4066113869481109958,"YkVbzruu":-377961260153469990,"jbleEgRWs":-8195497613802218170,"krFhwbfSBJ":4700986498049871095,"yVwBlOVA":735236522120560966},"stringDateField":"2004-05-30","stringDateTimeField":"1980-05-11T20:41:27Z","stringField":"wtIEko","stringTimeField":"09:21:17.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":33,"numField":313.0887196801282,"stringDateField":"2004-05-30","stringDateTimeField":"1980-05-11T20:41:27Z","stringField":"wtIEko","stringTimeField":"09:21:17.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4627,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4627,"uuid":"9e0a8a2d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["LMpd","VKeuBAVYFe","QYmDQd","sKEtKBkhZy","fekoU","nGhmbFn","JfzvGYZdn","wFSD","akcdQfWsS"],"boolField":false,"intField":177,"numField":-634.4636769133452,"objField":{"Arvdwm":-83520568349958029,"dtFb":1550897269854061784},"stringDateField":"1930-01-01","stringDateTimeField":"2012-03-05T11:06:05Z","stringField":"ZKfk","stringTimeField":"12:49:26.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":177,"numField":-634.4636769133452,"stringDateField":"1930-01-01","stringDateTimeField":"2012-03-05T11:06:05Z","stringField":"ZKfk","stringTimeField":"12:49:26.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4628,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4628,"uuid":"9e0a8a2d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["oSOrFz","jeAHYx","qRWr","fvKTGsPcnX","jLvX","vazdV","uqxEh"],"boolField":false,"intField":-258,"numField":-99.94529119503947,"objField":{"KTZFKUlO":-6217747557763658855,"MlWsdvFGJ":1369107813393963714,"UCrHbk":3381253243313700790,"kaJXTTR":3690222134710103416,"xvTQVHuDf":3918713104205946273},"stringDateField":"2022-05-27","stringDateTimeField":"1970-10-16T22:28:15Z","stringField":"lylBfZY","stringTimeField":"15:42:58.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":-258,"numField":-99.94529119503947,"stringDateField":"2022-05-27","stringDateTimeField":"1970-10-16T22:28:15Z","stringField":"lylBfZY","stringTimeField":"15:42:58.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4629,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4629,"uuid":"9e0a8a2d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["cmwngqsa"],"boolField":true,"intField":237,"numField":994.788179469078,"objField":{"IvaSzHY":6076163899067536271,"MtTCxaXK":6951965410481885651,"SUuSQH":4202243881334511131,"SqRONOdqyJ":-154235172065950230,"WGsUl":-5672853254883974972,"WOCdaO":-3572958891054442332,"hKWMXwDYf":-2399365394398883057,"tdNLu":8566122819308516437},"stringDateField":"1901-11-12","stringDateTimeField":"1931-05-12T21:44:57Z","stringField":"dWmA","stringTimeField":"01:34:00.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":237,"numField":994.788179469078,"stringDateField":"1901-11-12","stringDateTimeField":"1931-05-12T21:44:57Z","stringField":"dWmA","stringTimeField":"01:34:00.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4630,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4630,"uuid":"9e0a8a2d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ASMdkn","SLEw","WNcItgm","ZZJbNu","ayHC"],"boolField":true,"intField":-245,"numField":454.55931234983905,"objField":{"UpBYSUeJM":1431038536651198659,"WJwUkc":-6903802211666869055,"bOQMTLaZHl":-7090661828439603143,"jaSwusFG":789309689761632068},"stringDateField":"1966-04-22","stringDateTimeField":"1982-01-02T15:22:39Z","stringField":"vNpA","stringTimeField":"03:36:47.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":-245,"numField":454.55931234983905,"stringDateField":"1966-04-22","stringDateTimeField":"1982-01-02T15:22:39Z","stringField":"vNpA","stringTimeField":"03:36:47.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4631,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4631,"uuid":"9e0a8a2d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["vOxW"],"boolField":true,"intField":-35,"numField":902.9665988122284,"objField":{"xaymXMpuM":7761879848102502801},"stringDateField":"1937-08-18","stringDateTimeField":"1977-10-16T10:18:31Z","stringField":"UdOVMRpEgT","stringTimeField":"08:11:29.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":-35,"numField":902.9665988122284,"stringDateField":"1937-08-18","stringDateTimeField":"1977-10-16T10:18:31Z","stringField":"UdOVMRpEgT","stringTimeField":"08:11:29.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4632,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4632,"uuid":"9e0a8a2d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["gYvUptt","mCvtBkFwZG","bPTycQU","rDgK","DsjYdk","pOkS","inNfMzfICV","uxVznLT","iOfquvJ"],"boolField":false,"intField":-358,"numField":-885.2918081449906,"objField":{"JDawh":-7669408363227882201,"JYEvLQUS":-2469216144390582203,"KUhhQ":2040139668267486537,"NhbCDDYeA":4462583120029258314,"fARilUTV":-7959403441535210392,"tCrOiMJs":7937154134496752069,"vkWgMFPGIU":-4526082338423655978},"stringDateField":"1903-03-29","stringDateTimeField":"1905-10-11T05:43:08Z","stringField":"tVOQFwQmF","stringTimeField":"02:59:04.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":-358,"numField":-885.2918081449906,"stringDateField":"1903-03-29","stringDateTimeField":"1905-10-11T05:43:08Z","stringField":"tVOQFwQmF","stringTimeField":"02:59:04.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4633,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4633,"uuid":"9e0a8a2d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["leDRc","TDBIspB","qouQR","aIVHaU"],"boolField":false,"intField":609,"numField":-381.86359307547434,"objField":{"HlVCeyUSwL":-5654850622735368900,"JhPYL":6525475097495836766,"QgRfWVNmmY":7638507978691382560,"WKZyPakAAQ":-7237555118729736159},"stringDateField":"1992-03-05","stringDateTimeField":"1987-01-20T01:54:36Z","stringField":"sIAsPdpJ","stringTimeField":"03:29:20.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":609,"numField":-381.86359307547434,"stringDateField":"1992-03-05","stringDateTimeField":"1987-01-20T01:54:36Z","stringField":"sIAsPdpJ","stringTimeField":"03:29:20.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4634,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4634,"uuid":"9e0a8a2d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["nktl"],"boolField":true,"intField":961,"numField":-729.8484905532895,"objField":{"CmhV":-1244359936874382987,"DuxzoPkLH":6941802274166368932,"GwEZG":-8728737997188439432,"HzMtPzuMB":-5034681394588379158,"UOUgMLu":-7921889681459597276,"YqDi":8467974342679093154,"bontqpK":1637887723974639587,"pEnG":-4068173159161371741},"stringDateField":"1900-08-29","stringDateTimeField":"1959-10-29T14:35:45Z","stringField":"YAvxOCfE","stringTimeField":"01:17:03.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":961,"numField":-729.8484905532895,"stringDateField":"1900-08-29","stringDateTimeField":"1959-10-29T14:35:45Z","stringField":"YAvxOCfE","stringTimeField":"01:17:03.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4635,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4635,"uuid":"9e0a8a2d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["QVYC","PSvXUpqJ","DaKwfwg","WRqAVKM","krdSerhbo","EgKiWo","NJLCHNtXoY","OOSgBBV","ygBILtuSZL"],"boolField":false,"intField":871,"numField":-831.0960823627918,"objField":{"CDyRQzmzQ":-6965447471224315751,"epiN":-7050639723593667244,"mrPxMXq":-7589539132752903498,"uYDhbLLYCt":-5533235130837916115},"stringDateField":"1912-10-19","stringDateTimeField":"1900-06-26T22:41:18Z","stringField":"UyGwQIKlv","stringTimeField":"04:07:34.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":871,"numField":-831.0960823627918,"stringDateField":"1912-10-19","stringDateTimeField":"1900-06-26T22:41:18Z","stringField":"UyGwQIKlv","stringTimeField":"04:07:34.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4636,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4636,"uuid":"9e0a8a2d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["OYkG","SVOymff","CJxAPyIY","uRUENgO","KQbdXHdQH","rvNDrEwHTS","QIHsO"],"boolField":true,"intField":632,"numField":-99.25020625532744,"objField":{"Gaxfb":2764422858235446419,"JymDGvit":4237693455380096828,"ZxlxJ":1127422180328625767,"ahGN":-2102689786755077587,"dTIdxuD":778157770736049781,"lbnRtnqZ":5149920717868418080,"qtUrY":7922204700617326671,"rDXVfTuD":5937292120826736633,"rYDHLSY":-406718902334631147,"ykGaCwhTA":1593055135933095090},"stringDateField":"1947-11-22","stringDateTimeField":"1965-12-19T20:16:12Z","stringField":"XINcWiLWL","stringTimeField":"00:25:39.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":632,"numField":-99.25020625532744,"stringDateField":"1947-11-22","stringDateTimeField":"1965-12-19T20:16:12Z","stringField":"XINcWiLWL","stringTimeField":"00:25:39.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4637,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4637,"uuid":"9e0a8a2d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["lCPiGrjjs","uHPCRoQY","mKylyhFKlh","VuCZ","vVOTwzuKYK","GudtkMDaz"],"boolField":false,"intField":-961,"numField":-245.97939051630524,"objField":{"EJhAail":2144152041212900320,"RCnbSbBA":6563824728614150720,"bOPEh":-6297884531996237417,"exbbKXA":1310084637159618394,"hcRl":-670770965928632880,"lDOhEABJSr":359885940433216121,"sAyesTUDW":630490334681678616,"wsGVj":6866503103036988740},"stringDateField":"1923-09-02","stringDateTimeField":"1978-07-03T00:29:34Z","stringField":"VthMPGUdi","stringTimeField":"00:42:59.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":-961,"numField":-245.97939051630524,"stringDateField":"1923-09-02","stringDateTimeField":"1978-07-03T00:29:34Z","stringField":"VthMPGUdi","stringTimeField":"00:42:59.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4638,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4638,"uuid":"9e0a8a2d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["czks","TbJyBqq","hnEkPVP","nevZMEn","VrwmdXGcYv","LXNFT","qmPiyIaJ","gPZr","LJjLPpYpMr"],"boolField":false,"intField":-379,"numField":-306.44739556289926,"objField":{"CJMU":-8479676824124664135,"DMypP":5646540824352934898,"IBDSuhT":951640173997093256,"kkKHgJvvac":4312276519035482727,"wsTiz":-1854588699311732880},"stringDateField":"2015-09-25","stringDateTimeField":"1917-01-18T14:25:48Z","stringField":"mMHGBAFt","stringTimeField":"21:29:27.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":-379,"numField":-306.44739556289926,"stringDateField":"2015-09-25","stringDateTimeField":"1917-01-18T14:25:48Z","stringField":"mMHGBAFt","stringTimeField":"21:29:27.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4639,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4639,"uuid":"9e0a8a2d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["MndZUBSx","FVBYDn","EoBAYKQkEt","rBJtHhvYb","mHPUXNNjm","TvJRDqnTu","JKuDD","VagNnI","PbEyt","NXlGu"],"boolField":true,"intField":-777,"numField":-872.4489684496592,"objField":{"KCmuMccuz":8130117000213185644,"MWolki":-3548348794459651814,"NVoB":-5283053779705463276,"YOlPUcetjf":4292725175663991130},"stringDateField":"1944-10-04","stringDateTimeField":"1919-07-07T14:17:49Z","stringField":"tpdS","stringTimeField":"18:22:07.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":-777,"numField":-872.4489684496592,"stringDateField":"1944-10-04","stringDateTimeField":"1919-07-07T14:17:49Z","stringField":"tpdS","stringTimeField":"18:22:07.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4640,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4640,"uuid":"9e0a8a2d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["xHMEjeOFG","jTZWNcr","UtPcS","rTjSoPjT","DELlHODO","SJBitcXfwy","xzinf","NfQB"],"boolField":true,"intField":222,"numField":-691.9827629754468,"objField":{"EcUTmxmmxG":5362491466017384099,"IZVwv":8359875169956941508,"iYqylI":1928328628674867878,"ukcNzWPJg":-7274737079159812815,"uraZ":1428262340608666964,"yTUED":-4903116212099267931},"stringDateField":"1957-02-12","stringDateTimeField":"1937-05-05T23:12:35Z","stringField":"PIJPNXfRQ","stringTimeField":"11:11:25.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":222,"numField":-691.9827629754468,"stringDateField":"1957-02-12","stringDateTimeField":"1937-05-05T23:12:35Z","stringField":"PIJPNXfRQ","stringTimeField":"11:11:25.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4641,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4641,"uuid":"9e0a8a2d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["RfbOkvyH","jbSX","ovdMx","DUfPehsOgm"],"boolField":false,"intField":-211,"numField":473.3600385883494,"objField":{"CGELKdQJpT":-6176210357892979351,"WOPOgwU":6310871282539886071,"XqiS":-146790969293692426,"ZhthOjnP":-3985852123810946333,"dYagGvUU":1711366409422466755,"oCAj":-8622194942337545308,"qjIQGZpy":9217344315864042591,"sadOiTqVb":5581672680769739209,"yEgCEtHJ":1407031858262500303,"yjQyxgvyTN":5190343179670126358},"stringDateField":"1977-05-06","stringDateTimeField":"1917-11-08T19:47:02Z","stringField":"VlfUqgw","stringTimeField":"11:26:27.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763821Z","intField":-211,"numField":473.3600385883494,"stringDateField":"1977-05-06","stringDateTimeField":"1917-11-08T19:47:02Z","stringField":"VlfUqgw","stringTimeField":"11:26:27.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4642,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4642,"uuid":"9e0a8a2e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["CMBnyE","CxITHJadOK","IvIb","GMLOJoxRx","mxkV","swxx","VBkYHBIjk"],"boolField":true,"intField":-74,"numField":729.5619210016051,"objField":{"Jjpyv":-5062314942142027842,"rfwJsiyixr":7158433976990381044,"tFrNgNLHsl":542932153565880506,"uAvuQxg":2939695044926283826},"stringDateField":"2008-07-30","stringDateTimeField":"1941-09-24T16:02:35Z","stringField":"GtZcrCUW","stringTimeField":"14:48:09.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":-74,"numField":729.5619210016051,"stringDateField":"2008-07-30","stringDateTimeField":"1941-09-24T16:02:35Z","stringField":"GtZcrCUW","stringTimeField":"14:48:09.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4643,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4643,"uuid":"9e0a8a2e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["YHzqd","GSZtnBi","PDwidVR","ZFMzaISqWI","FZDMT","oRSJKG","qXJXyDSl"],"boolField":false,"intField":-381,"numField":-187.35473036137563,"objField":{"OVHE":7682014234510349121,"OeXqvMUkW":1926709958979841470,"RieoCixfd":6281546601508971033,"TqUHZctXS":64958313191006558,"XmxCOcJcW":7231593647292193197,"gAryfSJEW":1852505787448502156,"gIDKRh":-5885978469957396383,"ixaS":-1001250136058562912,"kCHGLas":-1884573345222122217,"yQHgND":-6108673221330154378},"stringDateField":"1911-07-16","stringDateTimeField":"1966-06-13T07:59:26Z","stringField":"OgWA","stringTimeField":"14:01:56.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":-381,"numField":-187.35473036137563,"stringDateField":"1911-07-16","stringDateTimeField":"1966-06-13T07:59:26Z","stringField":"OgWA","stringTimeField":"14:01:56.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4644,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4644,"uuid":"9e0a8a2e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["aPkaXCAstD","MRNLCSPPW","yxUj","BBdF","pqFVfWWuz","DbLGvvrss","sYqDhO","VovO","NnRsJtOeq","Akvnrz"],"boolField":false,"intField":531,"numField":496.74957248767646,"objField":{"KPemcE":3515122174278369632,"RLen":8522637052784328478,"dZMdczs":4963376162362950132,"eBdzK":5489834439042766028,"tdZqUbTLh":1882564538437187047},"stringDateField":"1948-04-02","stringDateTimeField":"2008-11-28T09:31:07Z","stringField":"NhkEtiC","stringTimeField":"11:30:55.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":531,"numField":496.74957248767646,"stringDateField":"1948-04-02","stringDateTimeField":"2008-11-28T09:31:07Z","stringField":"NhkEtiC","stringTimeField":"11:30:55.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4645,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4645,"uuid":"9e0a8a2e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["NYwUyr","rEBGeHB","fMTP","YJwkGCv","LchTO","scBUtJ","LVTuFdmUX","rVkK","BSHOQ","TzOC"],"boolField":true,"intField":826,"numField":365.9643736096168,"objField":{"JhFJjb":-4642297566053311496,"iNomu":6709470816896224638,"jFRcNIOmu":3451754848409810562,"vPzej":-3209361473522653352},"stringDateField":"1924-01-20","stringDateTimeField":"1915-12-26T13:18:04Z","stringField":"tDYdhtCkqg","stringTimeField":"15:23:22.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":826,"numField":365.9643736096168,"stringDateField":"1924-01-20","stringDateTimeField":"1915-12-26T13:18:04Z","stringField":"tDYdhtCkqg","stringTimeField":"15:23:22.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4646,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4646,"uuid":"9e0a8a2e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["qjQgUXd","xycXFzK","BagNdofNo","HrMr","zDgkqj"],"boolField":false,"intField":984,"numField":-814.2723630112669,"objField":{"HYJWdQCx":-5601155203746274229,"NdJbC":-3709914367740589751,"UZAoTixJD":9106725809866816372,"ghuw":-7014386767114241564},"stringDateField":"1914-06-18","stringDateTimeField":"1982-04-25T05:26:55Z","stringField":"HtvhLiwB","stringTimeField":"18:32:13.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":984,"numField":-814.2723630112669,"stringDateField":"1914-06-18","stringDateTimeField":"1982-04-25T05:26:55Z","stringField":"HtvhLiwB","stringTimeField":"18:32:13.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4647,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4647,"uuid":"9e0a8a2e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["sLiBELE","hrpFsZtLCw","FuwLN","pqbv","VwvpIECrYQ","SPBRWcfXD","nSghtPpyD","windTPBb"],"boolField":true,"intField":-831,"numField":-647.0324603123064,"objField":{"IMIm":6271534257689961128,"KkIAQQgwb":-4506428699617720858,"RpIp":-629043376293434858,"WNPBtEKx":-8198476769585888158,"bLWbp":-2450154197978980501,"fQCyF":8737880538134912277,"iQjX":-4239036477388878965,"nlSbZEMa":8206401529102301051,"ugOVRSlj":2638591786036632272},"stringDateField":"1905-03-01","stringDateTimeField":"1965-09-19T23:11:18Z","stringField":"LwUlQcu","stringTimeField":"03:37:20.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":-831,"numField":-647.0324603123064,"stringDateField":"1905-03-01","stringDateTimeField":"1965-09-19T23:11:18Z","stringField":"LwUlQcu","stringTimeField":"03:37:20.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4648,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4648,"uuid":"9e0a8a2e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["JaIKf","okDzK","BpRFPV","CIkBMRnO","xcpTbCp","XAXux","qFJSXC"],"boolField":false,"intField":-366,"numField":-878.3791790214642,"objField":{"AOPLv":-9087158643652694808,"CfTrOfARJw":7374947501129516649,"WLiAcvlgO":-1460326948478823567,"kGOi":6616367720807018601,"kmuu":2188741720277644315,"nrMFWAxNTj":5729038388382862402,"tBruabucc":-8702403325599053112,"tudzFKJ":-3889187969842596327},"stringDateField":"1964-11-17","stringDateTimeField":"1909-10-12T19:44:04Z","stringField":"veJAuhp","stringTimeField":"13:31:23.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":-366,"numField":-878.3791790214642,"stringDateField":"1964-11-17","stringDateTimeField":"1909-10-12T19:44:04Z","stringField":"veJAuhp","stringTimeField":"13:31:23.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4649,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4649,"uuid":"9e0a8a2e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["wRZrFXGKwd"],"boolField":false,"intField":957,"numField":848.3486997927612,"objField":{"JiXIxfe":584068832232511864,"XFULozEq":-4328837235574031044},"stringDateField":"1942-09-25","stringDateTimeField":"1919-10-06T00:58:38Z","stringField":"DYcslOdzK","stringTimeField":"04:27:17.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":957,"numField":848.3486997927612,"stringDateField":"1942-09-25","stringDateTimeField":"1919-10-06T00:58:38Z","stringField":"DYcslOdzK","stringTimeField":"04:27:17.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4650,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4650,"uuid":"9e0a8a2e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["kMxZQbXWG","bSPhZrHz","BGpjaOH","cMcW"],"boolField":true,"intField":-900,"numField":-710.9005268114671,"objField":{"FlqFhpi":-4967376035808723564,"QzhgJota":5551581922318948168,"TPMCocjcp":-9213466137796925234,"WtOhz":-609710006913653399,"bBVEC":8007018172227640027,"mayKCb":-6821112592524395409,"mbaKKqIBmC":6101639938776097477,"nhKkSgYvjY":-7936269515010560948,"zCKC":-8457423591392612624},"stringDateField":"1936-08-28","stringDateTimeField":"1920-01-18T23:03:36Z","stringField":"lSsivewaLR","stringTimeField":"05:39:01.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":-900,"numField":-710.9005268114671,"stringDateField":"1936-08-28","stringDateTimeField":"1920-01-18T23:03:36Z","stringField":"lSsivewaLR","stringTimeField":"05:39:01.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4651,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4651,"uuid":"9e0a8a2e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["iJSzWzwbe"],"boolField":false,"intField":-821,"numField":41.853897693646225,"objField":{"LJpQNGOtZ":-8552579668026119356,"TiZjfolT":-7077559988070248977,"XRDkrn":2539289664799354281,"bWtE":-8665313677871010600,"ccwanCqTls":2900746836279177389,"nKWQGgb":-8038691233129090727,"xHQlcK":6510833561699950597,"zxiQj":-4416159746421147113},"stringDateField":"1999-10-10","stringDateTimeField":"1926-03-30T22:37:35Z","stringField":"cETWCMzZB","stringTimeField":"20:56:44.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":-821,"numField":41.853897693646225,"stringDateField":"1999-10-10","stringDateTimeField":"1926-03-30T22:37:35Z","stringField":"cETWCMzZB","stringTimeField":"20:56:44.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4652,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4652,"uuid":"9e0a8a2e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["FQRb","selxhFME","FkruufTLd"],"boolField":true,"intField":648,"numField":594.402343172371,"objField":{"FBto":200770611097761329,"OVcRiQ":7739196189507377671,"YSsz":7210189206107983223,"hOUSAiEO":4765446809122704963,"hypzOqTJfz":5103472912816102174,"jrqGIRYtF":-8646598651304089372,"oHPd":1786118969903063909},"stringDateField":"2007-08-29","stringDateTimeField":"1900-11-19T12:16:22Z","stringField":"uwvJOCIYA","stringTimeField":"16:14:44.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":648,"numField":594.402343172371,"stringDateField":"2007-08-29","stringDateTimeField":"1900-11-19T12:16:22Z","stringField":"uwvJOCIYA","stringTimeField":"16:14:44.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4653,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4653,"uuid":"9e0a8a2e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["vWvzkzPCOT"],"boolField":false,"intField":-754,"numField":-257.8807560319672,"objField":{"HCQD":-7994016711080810780,"UtcOjqZG":-5957232175308211719,"VAjBrOexXA":-777921701350702935,"YKDZgyq":-4446117431033678890,"ZFYwhiY":-1672803711398446636,"iMivujHuz":1945455714927228854,"rEryXr":531397004763213339,"vzvQQ":-7063311199370902577,"yugNHKzC":4515361166637459439},"stringDateField":"1981-01-24","stringDateTimeField":"1988-09-16T08:23:51Z","stringField":"HlJOInh","stringTimeField":"02:44:20.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":-754,"numField":-257.8807560319672,"stringDateField":"1981-01-24","stringDateTimeField":"1988-09-16T08:23:51Z","stringField":"HlJOInh","stringTimeField":"02:44:20.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4654,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4654,"uuid":"9e0a8a2e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["GbLupRq","ZVcqc","DoHsj","gntpcUtPQ","bTpXYCDivv","JrLXJnv"],"boolField":false,"intField":600,"numField":561.4858818729396,"objField":{"JLThDkOA":7540133906821741232,"ZgvtYs":-5857210870859914518,"oYeuYhy":2841647730562833455},"stringDateField":"2013-07-31","stringDateTimeField":"1998-04-19T00:24:46Z","stringField":"vaSEUBbs","stringTimeField":"23:39:51.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":600,"numField":561.4858818729396,"stringDateField":"2013-07-31","stringDateTimeField":"1998-04-19T00:24:46Z","stringField":"vaSEUBbs","stringTimeField":"23:39:51.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4655,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4655,"uuid":"9e0a8a2e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["vNRj","sDGKArGGP","EkogtsOea","DjKAlN","rQOuCiUD","WAxpIy","UcmZrf","cxkgs","TNjjMyYNM"],"boolField":true,"intField":-693,"numField":-201.33996309075764,"objField":{"ZVhxizG":6853469896854937908,"cbFBmtbB":-3476455536357772566},"stringDateField":"1942-04-02","stringDateTimeField":"1992-01-07T14:13:14Z","stringField":"sRxPTQH","stringTimeField":"03:01:04.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":-693,"numField":-201.33996309075764,"stringDateField":"1942-04-02","stringDateTimeField":"1992-01-07T14:13:14Z","stringField":"sRxPTQH","stringTimeField":"03:01:04.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4656,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4656,"uuid":"9e0a8a2e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["eLkuGzmU","rDvQFAC","EPGICk","yMYwzgZk","DgKna","EKsCMci","lOAdCyjx","BLcEq","aXjtMBMFh"],"boolField":false,"intField":950,"numField":-156.9107934062455,"objField":{"SwyFrMb":-188343057888826234,"pTRwYPAJo":-8415605613953581412,"uOVq":-5926737032066852029,"vzyXVvkKE":8768995017185096805},"stringDateField":"2000-10-20","stringDateTimeField":"1908-11-03T01:00:26Z","stringField":"WVkAFkODR","stringTimeField":"22:54:32.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":950,"numField":-156.9107934062455,"stringDateField":"2000-10-20","stringDateTimeField":"1908-11-03T01:00:26Z","stringField":"WVkAFkODR","stringTimeField":"22:54:32.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4657,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4657,"uuid":"9e0a8a2e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["SbmXJ","GqZYVp","gonk","Elbn","sImeVMNG","GMqoQoaw","uGOLwbUg","aFegS"],"boolField":true,"intField":-517,"numField":-517.6680600427165,"objField":{"ESKEqgMaWo":5824883938330636758,"KnVBpgLM":-6856658836635359237,"PwfxMDRep":2826615809123065132,"TYpch":-3109376673139281640},"stringDateField":"1980-04-30","stringDateTimeField":"1906-02-15T16:21:49Z","stringField":"XoyZxAkvwl","stringTimeField":"13:14:20.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763822Z","intField":-517,"numField":-517.6680600427165,"stringDateField":"1980-04-30","stringDateTimeField":"1906-02-15T16:21:49Z","stringField":"XoyZxAkvwl","stringTimeField":"13:14:20.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4658,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4658,"uuid":"9e0a8a2f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["nEQDKx","cdobXmxFu","dYbQjyIjj","hApFmKgCl","QYHS","EnjxOuh","IsGTBXjb","ZKCCqk","WStkTIcrX"],"boolField":true,"intField":-939,"numField":213.74411761840005,"objField":{"IUlkdFw":5861792338677408379,"JAtwq":-4648378543996038721,"KMQCjx":276284498261566209,"PHoYz":-6638382232938909240,"QXmm":-545651490638807290,"RgxNBjMnEJ":6603877881710754337,"irYvHuz":-281264809127409664,"jLaqkP":8745081250675889607,"mHFQJpRkG":8751260817205292508,"slOSoxaGIO":2365151244600444848},"stringDateField":"2014-05-29","stringDateTimeField":"1978-04-02T18:58:51Z","stringField":"yWGzHeRpR","stringTimeField":"12:55:32.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":-939,"numField":213.74411761840005,"stringDateField":"2014-05-29","stringDateTimeField":"1978-04-02T18:58:51Z","stringField":"yWGzHeRpR","stringTimeField":"12:55:32.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4659,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4659,"uuid":"9e0a8a2f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["IeSMGxMP","gbEsLeqPa","BRKoLjj","LfMRarw","UQHBgQeJ","IiTQdR","ubNnOI"],"boolField":false,"intField":762,"numField":816.1754329933033,"objField":{"Ayvd":-4466222707730426263,"BVODPOA":-5324033609542290926,"FUfjWRxFG":-3616953593278905607,"GJRQ":294155307592717637,"QwxOAC":-4573066948043439941,"RWFu":3067870199432247127,"UBiMAxbb":-3462506863927821841,"WGiYgYC":-1344182181282957736},"stringDateField":"1931-11-10","stringDateTimeField":"1948-04-27T02:48:21Z","stringField":"qTiSmPzj","stringTimeField":"02:14:22.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":762,"numField":816.1754329933033,"stringDateField":"1931-11-10","stringDateTimeField":"1948-04-27T02:48:21Z","stringField":"qTiSmPzj","stringTimeField":"02:14:22.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4660,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4660,"uuid":"9e0a8a2f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["CTHILVH","ggwsludbg","WnLFe","vDysd","sUzAwjY","nSoYXZUN","nHoi","DkwKzveiZ","aWNrp","yElra"],"boolField":true,"intField":-159,"numField":-391.57749119165874,"objField":{"IflyTsp":1615347531481262874,"JWeZ":-1991438733174964972,"OERLDruRi":7197173432041859555,"VmFwgz":-6068783633807933783,"awuFpyMPDD":6470773740623658110,"jwgygf":528144624093503777,"qzZjpHmCfg":-5375753454282545049},"stringDateField":"1956-03-19","stringDateTimeField":"1998-02-03T18:40:50Z","stringField":"yTVk","stringTimeField":"18:32:33.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":-159,"numField":-391.57749119165874,"stringDateField":"1956-03-19","stringDateTimeField":"1998-02-03T18:40:50Z","stringField":"yTVk","stringTimeField":"18:32:33.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4661,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4661,"uuid":"9e0a8a2f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["UdCFa","vxMdFcWUMj","cbcnhqvCdD","yAbqEdhw","pjLc","DOkPvtv","UTxVVBhXvy"],"boolField":false,"intField":58,"numField":-849.7959482975708,"objField":{"AOalF":2101671338996950541,"DusJgn":-730780947729778826,"JStAFUjIk":-8640987868662186663,"ndxPk":-6888216669971664108,"ozxYF":7261461595656013235},"stringDateField":"1974-01-01","stringDateTimeField":"1922-11-25T13:58:53Z","stringField":"xGGxNLGXPp","stringTimeField":"16:34:35.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":58,"numField":-849.7959482975708,"stringDateField":"1974-01-01","stringDateTimeField":"1922-11-25T13:58:53Z","stringField":"xGGxNLGXPp","stringTimeField":"16:34:35.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4662,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4662,"uuid":"9e0a8a2f-5655-11ee-9001-675ed0f8e89b"},"arrayField":["yXNyan","pFFgNubCs","weufED","zqXS","hmIHBqfAl","uwjDwkhsSl"],"boolField":false,"intField":-471,"numField":-470.0354334426167,"objField":{"NZbqEPyv":-3436331186559192153,"NdxzdRzlR":963305185955546456,"TeTUU":-4897290574355005465,"VJzYGBVjyv":-3659173719832990917,"aMyBHB":-7422101642088012187,"oerfE":9153662919993892989,"sELgMocF":5193004859518477718,"xRVqwyg":9182405988816918169},"stringDateField":"1985-08-08","stringDateTimeField":"1928-06-01T03:00:34Z","stringField":"PMurewmW","stringTimeField":"02:22:49.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":-471,"numField":-470.0354334426167,"stringDateField":"1985-08-08","stringDateTimeField":"1928-06-01T03:00:34Z","stringField":"PMurewmW","stringTimeField":"02:22:49.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4663,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4663,"uuid":"9e0a8a2f-5655-11ee-9401-675ed0f8e89b"},"arrayField":["FEUHPktnal","OmiCrZTW","xPrLzNT","fCweMMe","xqiAr","umaY","SLPPpyT","BPBCoAfqdS"],"boolField":true,"intField":-581,"numField":48.9867058451039,"objField":{"FCkwNkHqCN":9106025635292171544,"JlEfTQryu":7275849273280220821,"hhJvNJMot":7214114200455708278,"imjrxIZzQh":1283764301642406928,"ocetXu":3418929528532467404,"zhsHM":-594298759947123705},"stringDateField":"1991-11-26","stringDateTimeField":"1942-10-28T19:47:49Z","stringField":"DSUKPLLlH","stringTimeField":"17:40:31.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":-581,"numField":48.9867058451039,"stringDateField":"1991-11-26","stringDateTimeField":"1942-10-28T19:47:49Z","stringField":"DSUKPLLlH","stringTimeField":"17:40:31.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4664,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4664,"uuid":"9e0a8a2f-5655-11ee-9801-675ed0f8e89b"},"arrayField":["jjVFYnY","yqALTuv","nkNxfI","NmtWjMwCkc","tdYxdKYP"],"boolField":false,"intField":288,"numField":-980.4570341136772,"objField":{"MCgoJbhD":-4982855974089908350,"TZFjKidrh":5535979202155567918,"UvsLugKw":3544101540099837753,"nyYjfhIo":2447590394124243778},"stringDateField":"1943-03-23","stringDateTimeField":"1946-11-24T11:12:27Z","stringField":"RrtnRG","stringTimeField":"19:34:55.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":288,"numField":-980.4570341136772,"stringDateField":"1943-03-23","stringDateTimeField":"1946-11-24T11:12:27Z","stringField":"RrtnRG","stringTimeField":"19:34:55.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4665,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4665,"uuid":"9e0a8a2f-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["yYuadleb"],"boolField":true,"intField":-952,"numField":287.5974530463721,"objField":{"DPdUlS":-137397040511002189,"VQrQa":-6979451610878461513,"iroxsJge":3418967007357777732},"stringDateField":"1928-10-17","stringDateTimeField":"1987-04-12T05:45:16Z","stringField":"INHovbma","stringTimeField":"19:27:50.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":-952,"numField":287.5974530463721,"stringDateField":"1928-10-17","stringDateTimeField":"1987-04-12T05:45:16Z","stringField":"INHovbma","stringTimeField":"19:27:50.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4666,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4666,"uuid":"9e0a8a2f-5655-11ee-a001-675ed0f8e89b"},"arrayField":["LZoD","lhAgSH","qNCcsMMfx","DAAvBAarZ","iWbcIwineq","jjmJgnfv","LfJSvbS","zRYc"],"boolField":true,"intField":826,"numField":-247.3486412850574,"objField":{"EZxcZLmXIQ":-5463604719678997286,"EdDqE":6009669157936654680,"FeeDdbdTD":-5992147624557031453,"WErLGTRk":6872084904595688369,"dlvRYdcjUp":-5116108893404153337,"huhxUOwidv":-5998741687010588367,"pCXgPVEY":-2469456170438902916},"stringDateField":"1928-07-19","stringDateTimeField":"1960-05-09T03:49:44Z","stringField":"uIogZWnnA","stringTimeField":"21:39:00.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":826,"numField":-247.3486412850574,"stringDateField":"1928-07-19","stringDateTimeField":"1960-05-09T03:49:44Z","stringField":"uIogZWnnA","stringTimeField":"21:39:00.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4667,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4667,"uuid":"9e0a8a2f-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ulcVp","kHWGgwKp","OrBStsPQgI"],"boolField":true,"intField":-252,"numField":337.3953175163293,"objField":{"MrFuNJxZt":223786210134723596,"WoVSTq":-4360955985841535969,"XtzOYvbv":-1221474165809520306,"bSRVDvv":-4249864804301264645,"xNYY":-5005929194981309606},"stringDateField":"1981-03-16","stringDateTimeField":"1989-05-25T10:52:51Z","stringField":"DKofXkNq","stringTimeField":"08:35:41.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":-252,"numField":337.3953175163293,"stringDateField":"1981-03-16","stringDateTimeField":"1989-05-25T10:52:51Z","stringField":"DKofXkNq","stringTimeField":"08:35:41.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4668,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4668,"uuid":"9e0a8a2f-5655-11ee-a801-675ed0f8e89b"},"arrayField":["GrzzHvwBQN"],"boolField":false,"intField":-860,"numField":-134.54494058511557,"objField":{"AUpb":-1081547592344412873,"HrjopcM":-4825527666355385066,"NXUcFBn":1100695976467840057,"OjdNvvecH":-7040844979058734130,"qQPmZDoBS":7150852139785077184,"qoEuJ":465032323843599882,"tjWIoVCb":-6659941795296778170,"vYemilTLM":7680612637004855218,"yxsYlj":-4219549754266771769},"stringDateField":"1906-08-28","stringDateTimeField":"1958-06-04T21:58:58Z","stringField":"PMzDVdMct","stringTimeField":"01:30:37.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":-860,"numField":-134.54494058511557,"stringDateField":"1906-08-28","stringDateTimeField":"1958-06-04T21:58:58Z","stringField":"PMzDVdMct","stringTimeField":"01:30:37.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4669,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4669,"uuid":"9e0a8a2f-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["BymYh","cUkb","oaKCK"],"boolField":true,"intField":-545,"numField":-211.5739998535534,"objField":{"BlbLPidN":-5034736432768532407,"GUNC":-6547573144315662567,"LheKPVbkeO":-1803591394943936595,"fIHKb":-2260996506675225168,"siQwjI":-237076892966410161},"stringDateField":"1978-07-13","stringDateTimeField":"1902-07-20T06:27:11Z","stringField":"osHZ","stringTimeField":"17:03:39.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":-545,"numField":-211.5739998535534,"stringDateField":"1978-07-13","stringDateTimeField":"1902-07-20T06:27:11Z","stringField":"osHZ","stringTimeField":"17:03:39.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4670,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4670,"uuid":"9e0a8a2f-5655-11ee-b001-675ed0f8e89b"},"arrayField":["wrMQ","QQMA","peXRbWMa","UcmgSjhSNz"],"boolField":false,"intField":-344,"numField":204.89063970651463,"objField":{"hNmU":2706254482583701505,"idIQqI":-2817013169470229985,"soLAwaD":-6094289243474568054},"stringDateField":"1984-03-14","stringDateTimeField":"1947-04-27T10:12:30Z","stringField":"YAlXFnd","stringTimeField":"09:27:23.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":-344,"numField":204.89063970651463,"stringDateField":"1984-03-14","stringDateTimeField":"1947-04-27T10:12:30Z","stringField":"YAlXFnd","stringTimeField":"09:27:23.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4671,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4671,"uuid":"9e0a8a2f-5655-11ee-b401-675ed0f8e89b"},"arrayField":["tkfMH","zbHxMXJDB","dpvYvEvh","sICXdRPx","SFmiTcxqe","gQFAXCZ","ylzUjK","aanoKq","tImi","TiGbQGy"],"boolField":false,"intField":298,"numField":-313.9757928838771,"objField":{"OssSFG":-192207263658531675,"TiYlvH":-6703995267744370253,"WIZK":-1214225331114657056,"YChIosd":-5062700110376516764,"YvzVlbeP":7963778470768544741,"aMtSDQbqcc":5352930599637156052,"hjBw":497095350836346139,"pTIZdWrS":8802450698441410595},"stringDateField":"2001-01-05","stringDateTimeField":"1995-07-01T09:56:00Z","stringField":"RkahiD","stringTimeField":"00:22:35.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":298,"numField":-313.9757928838771,"stringDateField":"2001-01-05","stringDateTimeField":"1995-07-01T09:56:00Z","stringField":"RkahiD","stringTimeField":"00:22:35.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4672,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4672,"uuid":"9e0a8a2f-5655-11ee-b801-675ed0f8e89b"},"arrayField":["NiDRnb","WVqGHMQF"],"boolField":true,"intField":-615,"numField":665.7370571430703,"objField":{"HBZlyxTeo":6899155955706348532,"TIEINiDsk":-6596539487792621461,"dfND":-8768914197052427523,"fczAdo":7320518989031639885,"gnECmxjNuC":-979554141383319179,"llhsMzsfI":1634739774666393683,"mcqtkIAmhG":-8383738962249262509,"qowbvyeT":4709435445570534603},"stringDateField":"1920-10-12","stringDateTimeField":"1953-08-15T20:14:45Z","stringField":"LdrLLYnHA","stringTimeField":"14:11:24.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":-615,"numField":665.7370571430703,"stringDateField":"1920-10-12","stringDateTimeField":"1953-08-15T20:14:45Z","stringField":"LdrLLYnHA","stringTimeField":"14:11:24.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4673,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4673,"uuid":"9e0a8a2f-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["lIRnXWn"],"boolField":true,"intField":616,"numField":-376.52374790027466,"objField":{"BEvDBmuNMi":3409236908350994678,"FKNft":1889821939647709002,"LMCo":-3453463755483961948,"OBdRto":-1309277069589070424,"fDbHhP":-2202415636871164634,"xRZmBdcNb":-2195424646803449235,"zSNmUOmY":-4518557414030200006},"stringDateField":"1957-11-04","stringDateTimeField":"1972-11-22T18:22:26Z","stringField":"OORXaS","stringTimeField":"00:28:07.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763823Z","intField":616,"numField":-376.52374790027466,"stringDateField":"1957-11-04","stringDateTimeField":"1972-11-22T18:22:26Z","stringField":"OORXaS","stringTimeField":"00:28:07.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4674,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4674,"uuid":"9e0a8a30-5655-11ee-8001-675ed0f8e89b"},"arrayField":["gLehiG","qeSZwZb","hhvTTddSn"],"boolField":true,"intField":-930,"numField":643.4069859350207,"objField":{"DPGyNSsJ":-1274240324335850449},"stringDateField":"1935-11-17","stringDateTimeField":"1922-07-08T23:31:02Z","stringField":"IZDkVIJS","stringTimeField":"04:38:18.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":-930,"numField":643.4069859350207,"stringDateField":"1935-11-17","stringDateTimeField":"1922-07-08T23:31:02Z","stringField":"IZDkVIJS","stringTimeField":"04:38:18.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4675,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4675,"uuid":"9e0a8a30-5655-11ee-8401-675ed0f8e89b"},"arrayField":["HQepvBRuq","DsthGIOY","hVrftyHf","JohTbvQlJ","teLltNkMNf","nMqWRyNrpg","yqfzF"],"boolField":true,"intField":-168,"numField":-413.03203223847896,"objField":{"Euqgg":-2204374714513202517,"EzlzFVLhYG":-5332872313815240912,"LnqJLqP":7991867745037795589,"nPgCRtY":-6904912378293922376,"nrKZ":6088834830338910123},"stringDateField":"1904-12-31","stringDateTimeField":"2006-08-03T16:52:12Z","stringField":"lgkenSRfF","stringTimeField":"17:55:46.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":-168,"numField":-413.03203223847896,"stringDateField":"1904-12-31","stringDateTimeField":"2006-08-03T16:52:12Z","stringField":"lgkenSRfF","stringTimeField":"17:55:46.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4676,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4676,"uuid":"9e0a8a30-5655-11ee-8801-675ed0f8e89b"},"arrayField":["jAhwK","qVdfe","JLvnbo","jUVoePeCQf","DvanewXcvS"],"boolField":true,"intField":0,"numField":-852.2841704431319,"objField":{"ABkrj":-3385892937642915862,"GHWZxKzZ":-503748059295896939,"KppwXxXbj":-5866761579334569489,"LGCppgYeTZ":8997951667897702110,"hSbnw":6968995134353222150,"sGyemMn":8837067165574567242,"uAqBHdGb":486970485207811114,"vRpTix":-8628171442980693345,"wABUJcn":5427339923150130493},"stringDateField":"1978-01-14","stringDateTimeField":"1967-11-04T12:59:41Z","stringField":"bSxP","stringTimeField":"20:09:50.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":0,"numField":-852.2841704431319,"stringDateField":"1978-01-14","stringDateTimeField":"1967-11-04T12:59:41Z","stringField":"bSxP","stringTimeField":"20:09:50.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4677,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4677,"uuid":"9e0a8a30-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["MQteI","QyGWo","vsSUB","tUVecv","xaZrd","KGBw","cHRGSQdhVj","CWIMextHoG","fWBYKblWXP"],"boolField":false,"intField":-974,"numField":-250.0652331789821,"objField":{"HCoeUP":7325999656111572381,"TeXeKf":-9003508089315829082,"ZUVdGTq":7433540160515555810,"blZyFn":3845694568503229978,"eJctpixW":-2204582607300300006},"stringDateField":"1995-12-01","stringDateTimeField":"1930-05-02T14:46:21Z","stringField":"XxdglQmX","stringTimeField":"13:40:04.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":-974,"numField":-250.0652331789821,"stringDateField":"1995-12-01","stringDateTimeField":"1930-05-02T14:46:21Z","stringField":"XxdglQmX","stringTimeField":"13:40:04.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4678,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4678,"uuid":"9e0a8a30-5655-11ee-9001-675ed0f8e89b"},"arrayField":["UTlEbkpPOs","FaTmjEGn","MUFJDpzL","jNkX","nWinaYxsru","Nmee","eqHEBOvNl","ULqzROpy","OmXjWy","AOJqbHP"],"boolField":true,"intField":80,"numField":-230.0129141495459,"objField":{"DtOwOwV":2597601394814486760,"EQmenswo":3561928623144304626,"VbDYqQike":6096600319654593680,"dsAxxTUR":1608269796337521792,"njONUpeyZ":-1092738221350718217,"owlHMx":915680752332923344,"qnxBYivwp":-8013153909493444738,"uPcDIBFZX":2367616984690027109,"xCYsoIClsr":6338015472070437781,"yqiO":-2833082993147967269},"stringDateField":"2001-11-22","stringDateTimeField":"1997-09-09T18:16:05Z","stringField":"MwpHK","stringTimeField":"21:09:37.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":80,"numField":-230.0129141495459,"stringDateField":"2001-11-22","stringDateTimeField":"1997-09-09T18:16:05Z","stringField":"MwpHK","stringTimeField":"21:09:37.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4679,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4679,"uuid":"9e0a8a30-5655-11ee-9401-675ed0f8e89b"},"arrayField":["YsdnxYjp","fsULOi","vPWBMDu","TMOtbFAQtB","sXjQSWhGyX","QkNzPO","FeaWZ"],"boolField":true,"intField":930,"numField":-860.6872387342578,"objField":{"MljZeyxM":1153957372634973108,"ZJAm":-7649665942331380512,"dAKVauw":-7758104832514527942},"stringDateField":"1958-01-24","stringDateTimeField":"2012-06-05T02:24:03Z","stringField":"BDZae","stringTimeField":"20:45:09.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":930,"numField":-860.6872387342578,"stringDateField":"1958-01-24","stringDateTimeField":"2012-06-05T02:24:03Z","stringField":"BDZae","stringTimeField":"20:45:09.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4680,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4680,"uuid":"9e0a8a30-5655-11ee-9801-675ed0f8e89b"},"arrayField":["mRKkQkkB","LKqpFo"],"boolField":true,"intField":967,"numField":-142.96401185167196,"objField":{"MCwEwyNa":-5788529531427983568,"RbhOg":-7845866182206217694,"XjDgGTMdEZ":6350370232912536239,"avtMzV":-5701172200754547181,"bUgkKwZm":-5958160707993812872,"dvSDqI":-8660306500224170175,"iYOwmbNlk":-8934336780792876905,"nAufBXTbV":3207606480968552452},"stringDateField":"1936-04-22","stringDateTimeField":"1972-01-11T12:52:10Z","stringField":"lsek","stringTimeField":"04:17:10.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":967,"numField":-142.96401185167196,"stringDateField":"1936-04-22","stringDateTimeField":"1972-01-11T12:52:10Z","stringField":"lsek","stringTimeField":"04:17:10.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4681,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4681,"uuid":"9e0a8a30-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["vGDJ","zmLksbdy","nrqSu","bZawJMIWR","HLHBpFML","mAnonqq"],"boolField":true,"intField":-555,"numField":-936.5824503973691,"objField":{"CrOwHUDGXJ":-6800426440864505025,"MFLGY":7100368452232532229,"RljiHfbwH":6576058685974472274,"ePRdb":4176778078919629853,"khvz":-3584345560819495276,"mSNRXK":-5737945823054056919,"oHXu":-9119366980848259572,"pwOBapg":-2609505839813815720,"xrOXnFbSum":7944523538970419263},"stringDateField":"1911-09-12","stringDateTimeField":"1943-06-05T00:45:11Z","stringField":"pebnoKo","stringTimeField":"06:13:42.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":-555,"numField":-936.5824503973691,"stringDateField":"1911-09-12","stringDateTimeField":"1943-06-05T00:45:11Z","stringField":"pebnoKo","stringTimeField":"06:13:42.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4682,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4682,"uuid":"9e0a8a30-5655-11ee-a001-675ed0f8e89b"},"arrayField":["HFrWeGsN","DocqiBcZRK","ZmMJ","SatPcKtWFE"],"boolField":false,"intField":-614,"numField":-705.538010452967,"objField":{"WzalcLk":-1100200651090920374,"hYdIo":-8762158690461643779,"vYcW":7023790862676283722,"ylcaxY":5924605768192647698},"stringDateField":"1915-12-02","stringDateTimeField":"1993-01-23T18:12:58Z","stringField":"pwHILQt","stringTimeField":"05:02:22.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":-614,"numField":-705.538010452967,"stringDateField":"1915-12-02","stringDateTimeField":"1993-01-23T18:12:58Z","stringField":"pwHILQt","stringTimeField":"05:02:22.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4683,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4683,"uuid":"9e0a8a30-5655-11ee-a401-675ed0f8e89b"},"arrayField":["KNmcqca","WMmjCeN","nfgR","diMfVIxLrW","CyjtwNOo","XANN","udJtMC"],"boolField":false,"intField":323,"numField":-202.30788085672603,"objField":{"RYlT":2387250008304563375,"SYcefkLGSG":-5196196515757106376,"XnLiQS":-5838700265451313491,"jdKKcugQrz":-3324718773965161269,"lCSWEuG":-1418948628106801602,"qONNHiVBI":-5051856837684701293,"vgpaK":6071863921219454284},"stringDateField":"1990-09-06","stringDateTimeField":"1928-02-24T15:05:05Z","stringField":"pfPwp","stringTimeField":"15:58:20.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":323,"numField":-202.30788085672603,"stringDateField":"1990-09-06","stringDateTimeField":"1928-02-24T15:05:05Z","stringField":"pfPwp","stringTimeField":"15:58:20.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4684,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4684,"uuid":"9e0a8a30-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ApHZiHdSe","fybbeemiG"],"boolField":false,"intField":-615,"numField":-428.9254536866973,"objField":{"ORgiWVlXs":-6239153232855800489,"lzJRyuxDik":-3162580317091760348},"stringDateField":"1941-03-02","stringDateTimeField":"1979-06-05T04:22:41Z","stringField":"VKkSamOe","stringTimeField":"18:25:01.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":-615,"numField":-428.9254536866973,"stringDateField":"1941-03-02","stringDateTimeField":"1979-06-05T04:22:41Z","stringField":"VKkSamOe","stringTimeField":"18:25:01.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4685,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4685,"uuid":"9e0a8a30-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["PvNp","BjuQS","CaNp","skepCKt","dLjsGoCQ","CHJoy","ZzbOJEVS","QRgRszXeF","nqxQwKySE","OdniJvyros"],"boolField":true,"intField":-55,"numField":954.2787288437772,"objField":{"FrMqQ":6450121117087940215,"SWQMCSokB":-9080705509025204985,"cqtUkCI":-7202347308315506815,"kHYFf":-3656048876657349758,"kuSVX":2589019964094907307,"ldYhxsT":-1510831648474558604,"nNHg":6565792523777728290},"stringDateField":"1964-11-06","stringDateTimeField":"1999-12-20T11:55:29Z","stringField":"KFpZoVeHh","stringTimeField":"13:12:55.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":-55,"numField":954.2787288437772,"stringDateField":"1964-11-06","stringDateTimeField":"1999-12-20T11:55:29Z","stringField":"KFpZoVeHh","stringTimeField":"13:12:55.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4686,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4686,"uuid":"9e0a8a30-5655-11ee-b001-675ed0f8e89b"},"arrayField":["mmslhirs","qsxKnudQX","HCwf","KHQDmQ"],"boolField":true,"intField":444,"numField":-363.0001259761102,"objField":{"EBhfI":-4556247731119765434,"HGBJVGdrNg":480191281894905532,"IXtUKcaPXT":2063735135591374406,"KVzFVZHLp":-1236041585012889530,"XIIkD":8437002730104068785,"atXMflGwH":2006327167342829664,"bDYQtAfM":7125426032868073824,"hwUEQMMsEa":4771289769299083643,"wVSodgI":8690207075894803951,"ydplIi":7713812819350197534},"stringDateField":"1980-01-04","stringDateTimeField":"1976-03-02T09:45:14Z","stringField":"geCz","stringTimeField":"12:02:46.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":444,"numField":-363.0001259761102,"stringDateField":"1980-01-04","stringDateTimeField":"1976-03-02T09:45:14Z","stringField":"geCz","stringTimeField":"12:02:46.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4687,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4687,"uuid":"9e0a8a30-5655-11ee-b401-675ed0f8e89b"},"arrayField":["vTPf"],"boolField":true,"intField":-44,"numField":253.15870407169007,"objField":{"BFQST":-8504496559161745501,"BqUJmFn":2172051278349795461,"Hbscak":-7626190720553744247,"IQGgonHn":-7367678933698476426,"SaAPYS":-3820819231743136533,"XnZT":-5582659480825879838,"rRVpc":-3624461703569203623,"tLIgiRQaCK":7447785226147242358},"stringDateField":"1924-05-12","stringDateTimeField":"2000-03-20T21:22:55Z","stringField":"flbH","stringTimeField":"11:37:26.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":-44,"numField":253.15870407169007,"stringDateField":"1924-05-12","stringDateTimeField":"2000-03-20T21:22:55Z","stringField":"flbH","stringTimeField":"11:37:26.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4688,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4688,"uuid":"9e0a8a30-5655-11ee-b801-675ed0f8e89b"},"arrayField":["yegIstCmxU","xpktsxCQ","rxgp","wUVQbEiaJ","EiFMxOC","sBtFbHuMnn","poIZhXiCCv","GEFMBgxi","zMqKUL"],"boolField":true,"intField":710,"numField":374.5858805452175,"objField":{"AHRjMw":-3270649667326946344,"GbpzLhCQtC":-8666341100440001952,"GhAKXI":-2458907195785306043,"NFVe":3037308442665007151,"uGIxU":8485512121005045677,"yGoU":653989635854993435},"stringDateField":"1983-04-08","stringDateTimeField":"1989-04-14T01:47:43Z","stringField":"BcYfWFf","stringTimeField":"14:32:37.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":710,"numField":374.5858805452175,"stringDateField":"1983-04-08","stringDateTimeField":"1989-04-14T01:47:43Z","stringField":"BcYfWFf","stringTimeField":"14:32:37.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4689,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4689,"uuid":"9e0a8a30-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["YugUk","SRVxebF","mDuw","jGvg","mNIp","iRorQwiOth","psSBUK"],"boolField":false,"intField":-556,"numField":-134.64054924355017,"objField":{"BZzBQ":-8501166608558381387,"dMjSBIve":5161554984533926524},"stringDateField":"1972-11-29","stringDateTimeField":"1949-08-17T09:49:47Z","stringField":"XwqRKIZqz","stringTimeField":"23:10:20.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763824Z","intField":-556,"numField":-134.64054924355017,"stringDateField":"1972-11-29","stringDateTimeField":"1949-08-17T09:49:47Z","stringField":"XwqRKIZqz","stringTimeField":"23:10:20.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4690,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4690,"uuid":"9e0a8a31-5655-11ee-8001-675ed0f8e89b"},"arrayField":["dIoYcA","vLdImft","FbYUUlJ"],"boolField":false,"intField":147,"numField":901.227727940388,"objField":{"GwRer":-4784167312303352731,"KihVNIdcKF":2955538893162934451,"OvsZAAjYXe":-7059109202659166557,"PtYpXgmyMG":-6889626821061674851,"cjbs":-8280954850117334743,"fDLWvSfn":4695795048889617696,"gxvJXdWDI":-5579371465893605768,"lOGxfJuuxJ":3090136094294854197,"sxmoZw":-1629304643482055288},"stringDateField":"1919-03-08","stringDateTimeField":"1941-08-17T17:50:38Z","stringField":"URKxL","stringTimeField":"10:56:47.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":147,"numField":901.227727940388,"stringDateField":"1919-03-08","stringDateTimeField":"1941-08-17T17:50:38Z","stringField":"URKxL","stringTimeField":"10:56:47.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4691,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4691,"uuid":"9e0a8a31-5655-11ee-8401-675ed0f8e89b"},"arrayField":["zMYxXwd","NdhShP","yJwdv"],"boolField":false,"intField":-169,"numField":794.0228339122999,"objField":{"CIXwmh":1892791830846269283,"KoSx":1333452581246357529,"YQkUy":1380992897989654552},"stringDateField":"1987-03-26","stringDateTimeField":"1912-02-21T04:31:26Z","stringField":"obURVdAL","stringTimeField":"13:27:08.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":-169,"numField":794.0228339122999,"stringDateField":"1987-03-26","stringDateTimeField":"1912-02-21T04:31:26Z","stringField":"obURVdAL","stringTimeField":"13:27:08.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4692,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4692,"uuid":"9e0a8a31-5655-11ee-8801-675ed0f8e89b"},"arrayField":["poOrZc","ofgRV","INwMG","weioWfrj","thEZdAu","nHzPAqDO","tTYlDqF","zaxkSzy","NfinUCVr"],"boolField":true,"intField":-901,"numField":963.6523757469932,"objField":{"DMBPcYCYRy":-6654546814347371355,"GVdcXk":3526050709671790363,"NagetmPCb":2590161328990970850,"YnhbP":-8804264832100596745,"nuuG":-2364371122061518169,"qcjSprLQKq":-8607614625723234817,"yZlsyGc":-410701174576276054,"ynZJoCrFNS":-7423205035555803929},"stringDateField":"1965-09-26","stringDateTimeField":"2023-11-14T22:39:06Z","stringField":"pjRUuRnlz","stringTimeField":"19:42:30.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":-901,"numField":963.6523757469932,"stringDateField":"1965-09-26","stringDateTimeField":"2023-11-14T22:39:06Z","stringField":"pjRUuRnlz","stringTimeField":"19:42:30.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4693,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4693,"uuid":"9e0a8a31-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["iaGRk","rZQIAZq","OIzmiUYTY","elsq","XKrP","JbNyrWmpD","xSJY","zgEW"],"boolField":false,"intField":-517,"numField":-147.98354268987413,"objField":{"PtGq":5780477794016095591,"ZbHAgOJmu":-7832120392645366599,"gVVQSgZ":-5295177388517150501},"stringDateField":"1944-07-17","stringDateTimeField":"2003-09-13T09:02:35Z","stringField":"fBngCgK","stringTimeField":"09:33:47.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":-517,"numField":-147.98354268987413,"stringDateField":"1944-07-17","stringDateTimeField":"2003-09-13T09:02:35Z","stringField":"fBngCgK","stringTimeField":"09:33:47.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4694,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4694,"uuid":"9e0a8a31-5655-11ee-9001-675ed0f8e89b"},"arrayField":["TOMJvdEq","RXaDR","EKnGMj","yLJrCmTk","vdIZ","DEFgRa","VUfFkvGbyJ","fChOcXNlam","esehak"],"boolField":false,"intField":188,"numField":-920.6291268576445,"objField":{"UaMNRrV":4397748715652672466,"cQdoAvjYu":-2002299720567910372,"ejlXhnxcNA":-2182388358582812831,"hfULnLcPL":-1108767406588437382},"stringDateField":"2020-12-13","stringDateTimeField":"1912-01-23T07:44:04Z","stringField":"QFKt","stringTimeField":"03:16:35.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":188,"numField":-920.6291268576445,"stringDateField":"2020-12-13","stringDateTimeField":"1912-01-23T07:44:04Z","stringField":"QFKt","stringTimeField":"03:16:35.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4695,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4695,"uuid":"9e0a8a31-5655-11ee-9401-675ed0f8e89b"},"arrayField":["Roqc","zolTqOut","EwZPHuko","nXvvp","JTuizCygF","OOdtP","oVExA","DKDeCqieI","hXaFw"],"boolField":true,"intField":-666,"numField":691.6860384364986,"objField":{"PrXeXL":4341924370437942548,"UxTqI":7548608703381309206,"Vkqoo":7995047495035981841,"XbSpAx":7411051391663904406,"XhdVxfxi":4245371654846523033,"aLzpmENDe":5693838034377211494,"lZeXifzqg":-4784402058873200822,"yXgHJdscTS":-4476136719045985597,"zCBI":-5908276668803633232},"stringDateField":"2023-09-12","stringDateTimeField":"1951-09-15T08:18:42Z","stringField":"SIvd","stringTimeField":"00:31:49.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":-666,"numField":691.6860384364986,"stringDateField":"2023-09-12","stringDateTimeField":"1951-09-15T08:18:42Z","stringField":"SIvd","stringTimeField":"00:31:49.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4696,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4696,"uuid":"9e0a8a31-5655-11ee-9801-675ed0f8e89b"},"arrayField":["AJUTKYJRW","iHHdJY","vjgT","lFWdgVzic","ZDyG","ymoHzdu","OeJQnNsPU","KoBGq","rRRbuQ"],"boolField":false,"intField":475,"numField":450.9536189682424,"objField":{"XISE":-8936109629646698035},"stringDateField":"1965-11-12","stringDateTimeField":"1910-09-15T12:46:37Z","stringField":"eGEdyn","stringTimeField":"01:11:24.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":475,"numField":450.9536189682424,"stringDateField":"1965-11-12","stringDateTimeField":"1910-09-15T12:46:37Z","stringField":"eGEdyn","stringTimeField":"01:11:24.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4697,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4697,"uuid":"9e0a8a31-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["rYBYwNYhH","rNTEsbV","ajsiUt","pzxUTbWr","noKIluFYM","ZirSyN","sOXeil","XHUzCLOq"],"boolField":true,"intField":482,"numField":-149.87050578042738,"objField":{"CnVrqvTcB":731967340987851259,"Sdqq":1895470412060302921,"VlTuZ":3787071996194811745,"cLsRn":-6788105941697934906,"nhxVArQq":8416028639316866417,"qWbshxlh":-2879936008127499996,"tWpoWHsAhL":2185242432725934014,"wrzRZbfC":1352011276182772513},"stringDateField":"1974-06-08","stringDateTimeField":"1999-07-24T10:46:09Z","stringField":"ZGutNGHQ","stringTimeField":"18:49:34.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":482,"numField":-149.87050578042738,"stringDateField":"1974-06-08","stringDateTimeField":"1999-07-24T10:46:09Z","stringField":"ZGutNGHQ","stringTimeField":"18:49:34.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4698,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4698,"uuid":"9e0a8a31-5655-11ee-a001-675ed0f8e89b"},"arrayField":["pZNnNWyVA","wfSpjtJX","IiljcAy","Dporfn","RFfulQoPyA","FaJX","gbUGgnI"],"boolField":true,"intField":400,"numField":-793.8118123765598,"objField":{"GYxYjTdubM":-2064402893232832878,"HdOTZ":5819823348265901170,"IzINB":-6284177227836141843,"QBmc":-3026576877605386971,"UxxDKG":-3154683325608908090,"XgXlvMQtm":4500832417240524512,"ZjQqnYXu":7938861749603358097,"dWfuvsm":-7489544582117171618,"scklHTlTCj":-4849680463178832159},"stringDateField":"2011-08-20","stringDateTimeField":"1982-02-10T02:11:05Z","stringField":"pJsOSpi","stringTimeField":"05:40:10.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":400,"numField":-793.8118123765598,"stringDateField":"2011-08-20","stringDateTimeField":"1982-02-10T02:11:05Z","stringField":"pJsOSpi","stringTimeField":"05:40:10.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4699,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4699,"uuid":"9e0a8a31-5655-11ee-a401-675ed0f8e89b"},"arrayField":["bDUFUdMGKy","LwEgLo","OaEMX"],"boolField":true,"intField":13,"numField":-120.26677743404402,"objField":{"dMUMt":-5515940673942377464,"pRoNWvUR":443534176151285862,"sCIIR":1896540003934020092,"sKRrNXHxHt":8027228218830810426},"stringDateField":"1976-11-27","stringDateTimeField":"1972-03-06T06:07:10Z","stringField":"epJgVTLCX","stringTimeField":"17:25:39.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":13,"numField":-120.26677743404402,"stringDateField":"1976-11-27","stringDateTimeField":"1972-03-06T06:07:10Z","stringField":"epJgVTLCX","stringTimeField":"17:25:39.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4700,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4700,"uuid":"9e0a8a31-5655-11ee-a801-675ed0f8e89b"},"arrayField":["qeTqslApf","AvTCtTSo","pNHYbjwX","ijYH","dMZAJezE","FcCKdWYf"],"boolField":false,"intField":402,"numField":854.4049892587041,"objField":{"NjWBNdkP":4998756302358527783,"fnRdDMM":8777003615860820210,"kmeTjofV":1890446848113504297,"pqmlnNBgi":4947675405224709513},"stringDateField":"1926-03-03","stringDateTimeField":"2014-06-11T06:22:58Z","stringField":"JNTqVzE","stringTimeField":"03:07:16.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":402,"numField":854.4049892587041,"stringDateField":"1926-03-03","stringDateTimeField":"2014-06-11T06:22:58Z","stringField":"JNTqVzE","stringTimeField":"03:07:16.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4701,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4701,"uuid":"9e0a8a31-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["BzzNePDGVT"],"boolField":false,"intField":-953,"numField":-832.4447880677473,"objField":{"IKqNlB":8719942366657299714,"MhoeWtI":4698506412386763840,"TVJpWvU":3102337058141455238,"fJWb":-1240830455697331815,"jSKUa":7821089272265056662,"lDCDmnizCd":-1319201933339466811,"nlgLWmrj":7410165043083956488},"stringDateField":"1970-01-15","stringDateTimeField":"1929-10-24T22:41:59Z","stringField":"tSHAymx","stringTimeField":"17:52:08.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":-953,"numField":-832.4447880677473,"stringDateField":"1970-01-15","stringDateTimeField":"1929-10-24T22:41:59Z","stringField":"tSHAymx","stringTimeField":"17:52:08.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4702,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4702,"uuid":"9e0a8a31-5655-11ee-b001-675ed0f8e89b"},"arrayField":["rLqmN","NLui","aIKjap","MMSOybx","VuZADpule"],"boolField":true,"intField":-510,"numField":601.3223588314252,"objField":{"DjZxwlUxyP":-3081803776460652821,"FccNa":-5335821382875894337,"IanvU":-2042444961131311512,"PAwAvDj":8437135941115730589,"Xxdn":20128461693067070,"hLjlGAKa":-7365122908370267093,"iegrEnPYc":-5341876369887812812,"pMBLarBOq":-6480199568381025304},"stringDateField":"1967-01-29","stringDateTimeField":"1975-07-08T22:44:38Z","stringField":"JhKK","stringTimeField":"06:39:55.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":-510,"numField":601.3223588314252,"stringDateField":"1967-01-29","stringDateTimeField":"1975-07-08T22:44:38Z","stringField":"JhKK","stringTimeField":"06:39:55.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4703,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4703,"uuid":"9e0a8a31-5655-11ee-b401-675ed0f8e89b"},"arrayField":["Tglh","CVzml","SkGlrJjs"],"boolField":false,"intField":-386,"numField":779.7407159800713,"objField":{"FjwFYGnWE":1873760185990790583,"RQlIbAT":-8636469843119436772,"SCCh":-602372839555904105,"TBipglWC":-5198400398523558328,"YKJye":-6622597449715668895,"uIQPfgs":-5313945113111715288},"stringDateField":"1970-09-14","stringDateTimeField":"1973-02-19T17:18:45Z","stringField":"lSQB","stringTimeField":"21:43:07.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":-386,"numField":779.7407159800713,"stringDateField":"1970-09-14","stringDateTimeField":"1973-02-19T17:18:45Z","stringField":"lSQB","stringTimeField":"21:43:07.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4704,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4704,"uuid":"9e0a8a31-5655-11ee-b801-675ed0f8e89b"},"arrayField":["kcPxzuw","hLOgvfKdsG","uiGuoVW","RAoT"],"boolField":true,"intField":-914,"numField":-615.2932937889584,"objField":{"EBnq":-5209975736326761756,"ENByHYsSvv":2799680588980125087,"JncS":2588019806790925869,"KAQGV":6261900272157169008,"WaRuMr":5285216373201432686,"bLWrbQZ":-4297044505750278589,"gDRqAGIqcx":2664279917186319400,"naqomgn":8739676379651750553},"stringDateField":"1990-12-23","stringDateTimeField":"1983-11-19T15:14:07Z","stringField":"pqUHGUPa","stringTimeField":"10:51:44.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":-914,"numField":-615.2932937889584,"stringDateField":"1990-12-23","stringDateTimeField":"1983-11-19T15:14:07Z","stringField":"pqUHGUPa","stringTimeField":"10:51:44.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4705,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4705,"uuid":"9e0a8a31-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["lOwgSZG","vSrpVMVg","FOrTN","cUasAHhAI","BiavDEs","ifzoHftw","eTHhSVOx"],"boolField":false,"intField":780,"numField":-150.9358740971327,"objField":{"Arqs":3906017905320620943,"IGXJxEidSG":7964827892664895227,"OqCKfPw":6147739454605841264,"nCVetAJn":5769336434343388356},"stringDateField":"1976-06-16","stringDateTimeField":"1938-09-07T02:54:21Z","stringField":"HdBzAVs","stringTimeField":"21:47:04.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763825Z","intField":780,"numField":-150.9358740971327,"stringDateField":"1976-06-16","stringDateTimeField":"1938-09-07T02:54:21Z","stringField":"HdBzAVs","stringTimeField":"21:47:04.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4706,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4706,"uuid":"9e0a8a32-5655-11ee-8001-675ed0f8e89b"},"arrayField":["vhzibZpkJ","dwehplgkX","kEONCt","eHWVkpufx","dPJIpzZxv","lgHsacM","aElGTjS","wRYyKJPBi","EIRyxDTq"],"boolField":true,"intField":-20,"numField":-678.531429454536,"objField":{"BFLqoHfZVu":4864655935941002818,"CfUim":4940483379418661439,"ISwoyHbRat":5888234337179453095,"NocW":-4142083885567779990,"PEbXsTFrWr":-4363240577066707707,"iitraRAp":-5415374651862486290,"oljUkzMDk":-833960748736599845,"txwOqkium":6291352409096082576},"stringDateField":"2012-09-06","stringDateTimeField":"1922-06-01T02:34:23Z","stringField":"XJsm","stringTimeField":"01:28:02.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":-20,"numField":-678.531429454536,"stringDateField":"2012-09-06","stringDateTimeField":"1922-06-01T02:34:23Z","stringField":"XJsm","stringTimeField":"01:28:02.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4707,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4707,"uuid":"9e0a8a32-5655-11ee-8401-675ed0f8e89b"},"arrayField":["ScYW","LjFnm","nnArxraZAw"],"boolField":true,"intField":756,"numField":61.671829447109474,"objField":{"GgljnCN":-6298626292920158715,"LgLqWXei":9154738001595500113,"QxbXNCL":-7415542061350247408,"YFYJArlS":-6763401554098786346,"biQAIfEPPO":-6552315724663526609,"fVAjGcwqI":4700519589893635643,"uuEJ":-8586264708223072329,"voNwITHfd":-5226419023021919280,"zWEJBdGYt":7070280434232542193},"stringDateField":"1998-02-16","stringDateTimeField":"1916-08-22T08:47:53Z","stringField":"jmdEK","stringTimeField":"09:00:40.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":756,"numField":61.671829447109474,"stringDateField":"1998-02-16","stringDateTimeField":"1916-08-22T08:47:53Z","stringField":"jmdEK","stringTimeField":"09:00:40.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4708,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4708,"uuid":"9e0a8a32-5655-11ee-8801-675ed0f8e89b"},"arrayField":["tjuOxSSsQh","aBJaykKTmA","wnNmjnC","cBuJourIA","zkmVsqKz","rUrDiFL","MOWF","obhDvF","xhWjLpTr","NLjpxBGN"],"boolField":true,"intField":931,"numField":-904.3525919127944,"objField":{"ELFnG":-8247189231016093965,"JoNBNQ":-1629121844143363075,"LgDajmkN":8775498445468821959,"QgwFldz":2069119403133781511,"evxCEi":-7181202729943924056,"eyhv":656367630683991767,"kbyU":-2234683664507434812,"msQPn":-6125804418168702542,"nIko":7853683994438760867,"yGzsc":4473697403485694988},"stringDateField":"1919-10-11","stringDateTimeField":"1928-02-23T20:37:25Z","stringField":"YCFypYfoTQ","stringTimeField":"01:45:02.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":931,"numField":-904.3525919127944,"stringDateField":"1919-10-11","stringDateTimeField":"1928-02-23T20:37:25Z","stringField":"YCFypYfoTQ","stringTimeField":"01:45:02.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4709,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4709,"uuid":"9e0a8a32-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["Uxdf","iddgttjO","ZBAzvAl","hQqfdjx"],"boolField":false,"intField":686,"numField":-458.5932493846173,"objField":{"CHyZPx":-6090041047855292253,"LKcsiuXNkj":-5378810872841026568,"ZfQAq":6704172591402694245},"stringDateField":"1960-04-22","stringDateTimeField":"1945-06-30T09:54:32Z","stringField":"VzDc","stringTimeField":"09:00:38.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":686,"numField":-458.5932493846173,"stringDateField":"1960-04-22","stringDateTimeField":"1945-06-30T09:54:32Z","stringField":"VzDc","stringTimeField":"09:00:38.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4710,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4710,"uuid":"9e0a8a32-5655-11ee-9001-675ed0f8e89b"},"arrayField":["iAIszk","DyGL","mtsFJgbX","Ncqihvlw","zJSHqlCA","HVFZVYZG","ipLiSH"],"boolField":true,"intField":-738,"numField":563.282338440148,"objField":{"RsvFtkgn":-3261049903262771712,"UorLkDbyd":1219184598487672151,"msQGNLymF":-3951286769640918958,"yLSBlU":2626642665627349996},"stringDateField":"1957-11-12","stringDateTimeField":"1948-04-11T23:24:36Z","stringField":"ImssGUoI","stringTimeField":"00:19:07.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":-738,"numField":563.282338440148,"stringDateField":"1957-11-12","stringDateTimeField":"1948-04-11T23:24:36Z","stringField":"ImssGUoI","stringTimeField":"00:19:07.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4711,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4711,"uuid":"9e0a8a32-5655-11ee-9401-675ed0f8e89b"},"arrayField":["Azso","kQjF","ibIXYMXS"],"boolField":true,"intField":97,"numField":-123.7559977197482,"objField":{"VXqtBwANTn":-8390899285928506366},"stringDateField":"2010-10-21","stringDateTimeField":"2011-12-16T16:33:03Z","stringField":"eCcVMivH","stringTimeField":"08:44:20.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":97,"numField":-123.7559977197482,"stringDateField":"2010-10-21","stringDateTimeField":"2011-12-16T16:33:03Z","stringField":"eCcVMivH","stringTimeField":"08:44:20.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4712,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4712,"uuid":"9e0a8a32-5655-11ee-9801-675ed0f8e89b"},"arrayField":["jCaIxeLu","xZbehZyf"],"boolField":false,"intField":555,"numField":147.2069586272131,"objField":{"CnaSdU":2592822041407744091,"dJVm":7863205409893498367,"rysrczfBHO":-4044365681166514411},"stringDateField":"1906-04-23","stringDateTimeField":"2018-07-25T18:58:40Z","stringField":"KTlECjZEiS","stringTimeField":"08:33:38.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":555,"numField":147.2069586272131,"stringDateField":"1906-04-23","stringDateTimeField":"2018-07-25T18:58:40Z","stringField":"KTlECjZEiS","stringTimeField":"08:33:38.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4713,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4713,"uuid":"9e0a8a32-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["QwAcgQ","WZoRnKYvSK","LquuNg","YbEjdK"],"boolField":true,"intField":-620,"numField":238.5359509060312,"objField":{"ByGBYU":2849177050455648926,"ENyBioZdJ":4237095453370095974,"ZBDqYDWx":7366830198406352288,"cQPmERIh":-2382864446222165878,"mAtkjTCF":7285115891508419935,"nkskKh":3372055303432972862,"pxNtCnL":6731782238710348590,"qcwayMG":-5083020254955688337,"rZgVkh":5170592718822050820},"stringDateField":"1913-02-17","stringDateTimeField":"1945-10-21T23:28:21Z","stringField":"IBfx","stringTimeField":"21:56:43.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":-620,"numField":238.5359509060312,"stringDateField":"1913-02-17","stringDateTimeField":"1945-10-21T23:28:21Z","stringField":"IBfx","stringTimeField":"21:56:43.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4714,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4714,"uuid":"9e0a8a32-5655-11ee-a001-675ed0f8e89b"},"arrayField":["vPoT","BbeaKuOL","DMYWBhAX","rxNNT"],"boolField":false,"intField":430,"numField":331.4796634200101,"objField":{"CxRYPyGVmr":8154028920813675696,"OaNVMC":-3210017289206854376,"Plawz":8280712515627619838,"RBRw":-7564650202716096345,"XPRkOi":-3349764179208097210,"lyABMBzZL":7379386523620836845,"yaBvG":1602948755335943038},"stringDateField":"2018-05-20","stringDateTimeField":"1943-06-06T02:49:43Z","stringField":"QHEBya","stringTimeField":"14:02:47.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":430,"numField":331.4796634200101,"stringDateField":"2018-05-20","stringDateTimeField":"1943-06-06T02:49:43Z","stringField":"QHEBya","stringTimeField":"14:02:47.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4715,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4715,"uuid":"9e0a8a32-5655-11ee-a401-675ed0f8e89b"},"arrayField":["MSEayBbTMI","VknSMSE","UglHdDaXWO","wFJc","JGhQlD"],"boolField":false,"intField":-470,"numField":-33.04801906996868,"objField":{"SqpcALaLA":5185873308727295531},"stringDateField":"2003-05-29","stringDateTimeField":"1930-08-22T13:20:08Z","stringField":"lCdrotHq","stringTimeField":"19:27:50.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":-470,"numField":-33.04801906996868,"stringDateField":"2003-05-29","stringDateTimeField":"1930-08-22T13:20:08Z","stringField":"lCdrotHq","stringTimeField":"19:27:50.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4716,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4716,"uuid":"9e0a8a32-5655-11ee-a801-675ed0f8e89b"},"arrayField":["NDof","aYcsPjXpIU","EWqe","eNvfzh"],"boolField":false,"intField":663,"numField":888.6016450757932,"objField":{"MwWM":1872496772947754691,"dxSdu":-9194402602599592940,"skQna":-8927593922992186062},"stringDateField":"2012-12-05","stringDateTimeField":"2011-12-15T16:24:15Z","stringField":"HSgpqjb","stringTimeField":"21:52:01.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":663,"numField":888.6016450757932,"stringDateField":"2012-12-05","stringDateTimeField":"2011-12-15T16:24:15Z","stringField":"HSgpqjb","stringTimeField":"21:52:01.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4717,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4717,"uuid":"9e0a8a32-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["PpUmy","hsSucNXxf"],"boolField":true,"intField":-702,"numField":381.2047093273274,"objField":{"EgymdBzhO":-5926154130433265686,"MtSiIDMA":2270008362704532922,"SOiIuj":4474144446837699137,"WEwOK":6115873045752470236,"dKExKjyx":-7786325672697432368,"etcwj":-5113414976354704230,"krRmPGcSV":-1235788179943681646,"wIqhhNcB":7477797240479466881,"xCmJ":6197320460182656938},"stringDateField":"1954-09-30","stringDateTimeField":"1922-06-16T18:06:59Z","stringField":"aRTVeX","stringTimeField":"19:47:28.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":-702,"numField":381.2047093273274,"stringDateField":"1954-09-30","stringDateTimeField":"1922-06-16T18:06:59Z","stringField":"aRTVeX","stringTimeField":"19:47:28.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4718,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4718,"uuid":"9e0a8a32-5655-11ee-b001-675ed0f8e89b"},"arrayField":["tdaCQvwi","AMuSeAn","GUtpTKSaS","yKDT","RYMgLIfCGG","rhAzqq","WthbtSu","lBzYm"],"boolField":false,"intField":553,"numField":-961.4488990035512,"objField":{"CSnUR":-488856689529871089,"LLuXJ":5816196171127826773,"Migeej":902628135472117852,"PRaTk":5585016695527753956,"WydjHL":-7534599137345711753,"XlVr":-6172342918904865834,"cJfFFQ":-2163191468970593569,"gfVFw":-1340386668830193475,"mkGDIMbq":6868367593792330839,"pmst":3561526030934305386},"stringDateField":"1903-11-29","stringDateTimeField":"1935-11-27T11:36:20Z","stringField":"DnRJc","stringTimeField":"12:01:56.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":553,"numField":-961.4488990035512,"stringDateField":"1903-11-29","stringDateTimeField":"1935-11-27T11:36:20Z","stringField":"DnRJc","stringTimeField":"12:01:56.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4719,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4719,"uuid":"9e0a8a32-5655-11ee-b401-675ed0f8e89b"},"arrayField":["FwBPX","vJTPx","uqOWTx"],"boolField":true,"intField":-212,"numField":293.4604487679022,"objField":{"COtIxYIDY":-7909118061814212135,"LAyjbFcI":736832904788203796,"bYxAdT":6835954336832285043,"bnPUy":7042700751343770073,"eTDod":-8047909712398206150,"hzuLds":6535726405502159953,"rJtNX":1796001751820402107,"xjPh":-3926808972877089412},"stringDateField":"2013-10-19","stringDateTimeField":"1986-11-30T07:39:48Z","stringField":"KRUR","stringTimeField":"14:24:03.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":-212,"numField":293.4604487679022,"stringDateField":"2013-10-19","stringDateTimeField":"1986-11-30T07:39:48Z","stringField":"KRUR","stringTimeField":"14:24:03.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4720,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4720,"uuid":"9e0a8a32-5655-11ee-b801-675ed0f8e89b"},"arrayField":["zBQsCfiKwh","xQLbaglB","YQFwhsinmP","uvgpAvu","icnjNiBMW","lOFV","txqghWx"],"boolField":false,"intField":-23,"numField":932.2491934923588,"objField":{"EDijLnTD":1301984156424061969,"UmkIONBF":-8154709645503819838,"nHWvgPPf":2507007358604285115,"nSJe":-3336556682548952553,"rqEYzqLt":-465917314163782614,"xZXmInnp":3585099723532990962},"stringDateField":"1913-09-14","stringDateTimeField":"1900-11-21T08:29:21Z","stringField":"OYswIGe","stringTimeField":"18:34:11.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":-23,"numField":932.2491934923588,"stringDateField":"1913-09-14","stringDateTimeField":"1900-11-21T08:29:21Z","stringField":"OYswIGe","stringTimeField":"18:34:11.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4721,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4721,"uuid":"9e0a8a32-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["WPmlDzTQs","lmxtvFD","lSDrTNqxGM","uBIZ","HPKfC"],"boolField":true,"intField":-127,"numField":258.2785468074409,"objField":{"SdUCS":-313295781915997729,"TZNAc":-8759758746536923153,"VUkLBRSbrR":-2793087279191938807,"lsXuD":3098069253880287864,"nToHnO":-4104782838571117097,"nluLdpVGjm":524911459804519454,"qKmZMDpQNt":1774767215252470774,"wfyjvOOlzr":5808992301446655328,"wjiBq":-7452662008566766473,"zyWNPfG":4032350505100208960},"stringDateField":"1909-12-13","stringDateTimeField":"2009-05-05T14:47:55Z","stringField":"GcKXvDSG","stringTimeField":"18:51:19.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763826Z","intField":-127,"numField":258.2785468074409,"stringDateField":"1909-12-13","stringDateTimeField":"2009-05-05T14:47:55Z","stringField":"GcKXvDSG","stringTimeField":"18:51:19.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4722,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4722,"uuid":"9e0a8a33-5655-11ee-8001-675ed0f8e89b"},"arrayField":["hWeLBM","LSJidwTMW","sZsywRWVb","aNpVNGVXfH","swoTg","oKawJSxZ"],"boolField":true,"intField":427,"numField":-840.058011372757,"objField":{"NiooZpQb":7453666403301498435,"WUdZ":-1502364250282970554,"bJQogQNoEV":3615912663552028084,"orsrYI":6232999746683801217,"sdJrOYG":-769446645354908754,"yOiO":5364958762147754027},"stringDateField":"1990-05-02","stringDateTimeField":"2019-11-22T11:26:29Z","stringField":"oIWm","stringTimeField":"22:23:20.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":427,"numField":-840.058011372757,"stringDateField":"1990-05-02","stringDateTimeField":"2019-11-22T11:26:29Z","stringField":"oIWm","stringTimeField":"22:23:20.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4723,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4723,"uuid":"9e0a8a33-5655-11ee-8401-675ed0f8e89b"},"arrayField":["dFatsXVxCS","oZBDFyP","RFCzIDqfS","xMYr"],"boolField":false,"intField":-36,"numField":92.55401833538812,"objField":{"GLQi":-5547340098866879118,"NCZHHrgNk":5732448463892592755,"bgNKNe":-1972285485662180543,"fQHIqVCul":-7286558894198313136,"hBuXV":8944986810709249353,"jWsT":-5307341542145207316,"tpMecmlMll":-8592904487036703535},"stringDateField":"2015-10-11","stringDateTimeField":"1973-11-25T21:27:31Z","stringField":"oGeebO","stringTimeField":"00:59:15.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":-36,"numField":92.55401833538812,"stringDateField":"2015-10-11","stringDateTimeField":"1973-11-25T21:27:31Z","stringField":"oGeebO","stringTimeField":"00:59:15.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4724,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4724,"uuid":"9e0a8a33-5655-11ee-8801-675ed0f8e89b"},"arrayField":["feovDyopOJ","VpAACX","VbioFXr","dPSCoIxpZW","aJQX","AFAU"],"boolField":true,"intField":831,"numField":-56.33128206223481,"objField":{"Ciitsp":-2337280579775866487,"SHLLbd":1460173976659234527,"ybfpopvKWT":-8194620226837510519},"stringDateField":"1924-05-03","stringDateTimeField":"1953-08-01T18:46:39Z","stringField":"mYWpklUQC","stringTimeField":"05:06:46.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":831,"numField":-56.33128206223481,"stringDateField":"1924-05-03","stringDateTimeField":"1953-08-01T18:46:39Z","stringField":"mYWpklUQC","stringTimeField":"05:06:46.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4725,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4725,"uuid":"9e0a8a33-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["KOTEELnt","nUBAw","fYzRNW","XbyWyKei","MIVuVW","mGyrOJR","quaNIn"],"boolField":false,"intField":-213,"numField":629.71664570155,"objField":{"OJyatKxwR":-5922307870558733708,"ocxBiXBgi":3586164995646339766,"utIiYoumx":4371936312758338418},"stringDateField":"1922-03-25","stringDateTimeField":"1960-10-13T10:50:15Z","stringField":"aTZCSA","stringTimeField":"12:14:53.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":-213,"numField":629.71664570155,"stringDateField":"1922-03-25","stringDateTimeField":"1960-10-13T10:50:15Z","stringField":"aTZCSA","stringTimeField":"12:14:53.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4726,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4726,"uuid":"9e0a8a33-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ImopB","ploP","enjq","YOxoPN","bQApB","NKNqBd","aEXAmjZfLU","EgLrblJp"],"boolField":false,"intField":854,"numField":176.8808440494518,"objField":{"ZvQhgeSin":-6740679484394884203,"lmCLDx":-2075494102241882737,"mKXucbty":-853797253744258729,"nCKQ":-8956572468855511610,"nhkgfn":-752171709293883872,"tMEwd":-2394103344633953204,"tODoXcUxC":6556094893111868563,"xnuMEhh":3080784314138354425},"stringDateField":"1903-10-14","stringDateTimeField":"1953-01-09T12:37:41Z","stringField":"zeFbShJ","stringTimeField":"04:20:23.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":854,"numField":176.8808440494518,"stringDateField":"1903-10-14","stringDateTimeField":"1953-01-09T12:37:41Z","stringField":"zeFbShJ","stringTimeField":"04:20:23.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4727,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4727,"uuid":"9e0a8a33-5655-11ee-9401-675ed0f8e89b"},"arrayField":["BwdcnuGw","tanDUDPG","JXoOOfo","MCtgry","hbTcCcUfXe","gAXpaymA","RaweADOLh","AfOY","PCHGEAC","rdLNF"],"boolField":true,"intField":-947,"numField":-427.6479575140164,"objField":{"BGeea":5399189435849557829,"CnhbEIrpEB":799443003689950508,"SwLS":6331969667433344160,"YRKqsvuqA":4578654075065225182,"ejYjJZ":4571172624066995394,"mPJMAYZOs":7792952115974085769,"moVPdMELFa":-6921702724027722106,"wGefk":3761258882877619159,"wYDmvZLz":-5115016281996903542,"zDcIm":8165837083463202893},"stringDateField":"2000-04-04","stringDateTimeField":"1984-12-05T09:35:41Z","stringField":"suMmQrQX","stringTimeField":"12:20:39.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":-947,"numField":-427.6479575140164,"stringDateField":"2000-04-04","stringDateTimeField":"1984-12-05T09:35:41Z","stringField":"suMmQrQX","stringTimeField":"12:20:39.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4728,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4728,"uuid":"9e0a8a33-5655-11ee-9801-675ed0f8e89b"},"arrayField":["EXkZmOGot","ofETqiS","FZaANc","sunfWe","Omsq","qPGSjNZA","xNKHKD","uVNWeq","ZKeqb"],"boolField":false,"intField":-49,"numField":163.20180580608712,"objField":{"CykQIE":-7619716223213119862,"GcsxJqBv":-1701001055401491386,"HKpsx":7078792159722880879,"HdjTbDSGo":8876772843454701290,"JYzlWe":-321309723469825339,"VJIOJz":-122330423539862300,"dqwXCDK":-6176922472202671388,"octr":8558304287729142295},"stringDateField":"2009-05-03","stringDateTimeField":"1929-07-01T23:26:56Z","stringField":"GXXFmkX","stringTimeField":"01:42:49.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":-49,"numField":163.20180580608712,"stringDateField":"2009-05-03","stringDateTimeField":"1929-07-01T23:26:56Z","stringField":"GXXFmkX","stringTimeField":"01:42:49.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4729,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4729,"uuid":"9e0a8a33-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["YLzuR","gTlW","pbHLwYd","oREFEU","MtZvMZWe","qirptkIcfV","cDXpcLYA","ZcAUbPvtJ","ORTlKDhfd"],"boolField":true,"intField":-173,"numField":-672.2498718856879,"objField":{"EmlRnuQnK":6569191300960934121},"stringDateField":"1920-02-21","stringDateTimeField":"1911-03-31T03:21:44Z","stringField":"Dmrl","stringTimeField":"21:39:03.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":-173,"numField":-672.2498718856879,"stringDateField":"1920-02-21","stringDateTimeField":"1911-03-31T03:21:44Z","stringField":"Dmrl","stringTimeField":"21:39:03.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4730,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4730,"uuid":"9e0a8a33-5655-11ee-a001-675ed0f8e89b"},"arrayField":["KOjQuommC","RxXZTY","qErPZUjam"],"boolField":true,"intField":-350,"numField":-603.9278123400945,"objField":{"DvIoIQfG":3940506031025844157,"FthkhlijvV":-9076571568946723772,"SoKgKcAndi":-4179455100038700430,"WZTIKfndzs":5459572428683979559,"XJfHRiGGrY":-7773789885987043711,"bcqQfIESn":2281128731723876075,"mKufZjl":-2664609370947027663,"xUtjcJgDFn":-7494351689407288427},"stringDateField":"1932-08-16","stringDateTimeField":"1930-02-12T17:25:41Z","stringField":"UsWQDXNvIJ","stringTimeField":"04:19:48.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":-350,"numField":-603.9278123400945,"stringDateField":"1932-08-16","stringDateTimeField":"1930-02-12T17:25:41Z","stringField":"UsWQDXNvIJ","stringTimeField":"04:19:48.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4731,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4731,"uuid":"9e0a8a33-5655-11ee-a401-675ed0f8e89b"},"arrayField":["etJElh","SUake","NTQbKaOyIx","jBHgd","tmYR","AqsjNKCtNM","CrbE","IMMZQ","NSoifWZhHp"],"boolField":false,"intField":-796,"numField":439.7107933452724,"objField":{"JOXxrksQ":-7830418045699059851,"iEVe":-7106511057839945082,"iUhOFi":5382860761790357719,"kAQsZYCG":6442405196310982490,"tApmNc":1698195029597645199,"uZOMiBvNVB":-6259741038635789466,"vWzp":-2494560584183580160,"xoOnG":3292664413062650649,"zVmwsspfx":-2549027364360628052},"stringDateField":"1913-11-25","stringDateTimeField":"1999-02-21T20:44:45Z","stringField":"mKbmFKptI","stringTimeField":"23:51:01.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":-796,"numField":439.7107933452724,"stringDateField":"1913-11-25","stringDateTimeField":"1999-02-21T20:44:45Z","stringField":"mKbmFKptI","stringTimeField":"23:51:01.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4732,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4732,"uuid":"9e0a8a33-5655-11ee-a801-675ed0f8e89b"},"arrayField":["AlQUWLxhZ","HeDBnGeFsv","KfWKO","SaYvMSjXx","sWMd","QOAOH"],"boolField":true,"intField":198,"numField":-902.7548095090988,"objField":{"LcEz":4078245089133809977,"MDBFW":-3581796628506179000,"OZIcgukw":-7067370280415669531,"eVlZyOSM":6733030462497163061,"hxxrPrwMmx":5734938069138248204,"lXZiA":1138890756621120537,"mYaKNonnQJ":-1451221535083321628,"qqWMvpDtI":-3563212050888577912,"yncLWuRix":6215790321082474009},"stringDateField":"1946-02-24","stringDateTimeField":"1907-12-02T12:57:32Z","stringField":"HtdgddwEtR","stringTimeField":"22:45:25.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":198,"numField":-902.7548095090988,"stringDateField":"1946-02-24","stringDateTimeField":"1907-12-02T12:57:32Z","stringField":"HtdgddwEtR","stringTimeField":"22:45:25.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4733,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4733,"uuid":"9e0a8a33-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["aLqPM","JhqSGw","rYvqR","QiyYD"],"boolField":true,"intField":-612,"numField":-194.77817454958236,"objField":{"CTznqB":-3246475272391255990,"EBxPbdiBnn":-8577396548757192664,"FtoOybf":8089076287117127273,"dzsgyJP":4724233859798936358,"eyRISFAm":8466837606106985433,"gGMwH":512888484532077024,"gJIKlTaj":5589051091812898076,"omITd":2343528601990635862},"stringDateField":"1929-09-30","stringDateTimeField":"2000-04-06T07:24:45Z","stringField":"cSqXMMLyq","stringTimeField":"10:07:19.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":-612,"numField":-194.77817454958236,"stringDateField":"1929-09-30","stringDateTimeField":"2000-04-06T07:24:45Z","stringField":"cSqXMMLyq","stringTimeField":"10:07:19.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4734,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4734,"uuid":"9e0a8a33-5655-11ee-b001-675ed0f8e89b"},"arrayField":["nLTb"],"boolField":false,"intField":-796,"numField":-973.028845590048,"objField":{"TsAoqNJ":-9057475780568614797,"XvlIkoamuZ":-5188019782884640399,"dcfgMmDi":2337694602608102314,"jvCznYAt":-7081933603022352231},"stringDateField":"1962-09-27","stringDateTimeField":"1985-07-20T03:56:12Z","stringField":"QqaampQXZg","stringTimeField":"10:15:42.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":-796,"numField":-973.028845590048,"stringDateField":"1962-09-27","stringDateTimeField":"1985-07-20T03:56:12Z","stringField":"QqaampQXZg","stringTimeField":"10:15:42.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4735,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4735,"uuid":"9e0a8a33-5655-11ee-b401-675ed0f8e89b"},"arrayField":["nxIUdBt","BXOyGcKd","iqooTAyXy","bZSRk","jSoZwLy","SaYUXMDkc","JnyVW"],"boolField":true,"intField":-282,"numField":219.2365469100235,"objField":{"AKfV":1077697477077011239,"FirgeGju":3570191424133058941,"QEAEOhuDRM":1692363894002875183},"stringDateField":"1914-12-31","stringDateTimeField":"1900-01-06T16:54:56Z","stringField":"fsXhOmKf","stringTimeField":"21:46:10.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":-282,"numField":219.2365469100235,"stringDateField":"1914-12-31","stringDateTimeField":"1900-01-06T16:54:56Z","stringField":"fsXhOmKf","stringTimeField":"21:46:10.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4736,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4736,"uuid":"9e0a8a33-5655-11ee-b801-675ed0f8e89b"},"arrayField":["AcDe","GYJN","ECxQTA","RaycS"],"boolField":true,"intField":-224,"numField":-420.6105664612544,"objField":{"jchcpE":-614637255710100269},"stringDateField":"1993-09-09","stringDateTimeField":"1937-03-07T22:31:46Z","stringField":"KaVK","stringTimeField":"11:49:25.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":-224,"numField":-420.6105664612544,"stringDateField":"1993-09-09","stringDateTimeField":"1937-03-07T22:31:46Z","stringField":"KaVK","stringTimeField":"11:49:25.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4737,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4737,"uuid":"9e0a8a33-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["Ksgy","GxFrFfxM","FSIylHKV","eKJS","AcWMUXD","bnsqr","SIOS","OkoiQMvP","oFLUf","jrhrRsKhCR"],"boolField":false,"intField":473,"numField":-793.5013796438662,"objField":{"nRRyLvJ":6645922253615083426,"qvXlE":-5729762838835293637,"uzsOtp":-7366931054869752678},"stringDateField":"1910-05-22","stringDateTimeField":"1998-05-03T16:51:25Z","stringField":"kOME","stringTimeField":"02:36:37.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763827Z","intField":473,"numField":-793.5013796438662,"stringDateField":"1910-05-22","stringDateTimeField":"1998-05-03T16:51:25Z","stringField":"kOME","stringTimeField":"02:36:37.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4738,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4738,"uuid":"9e0a8a34-5655-11ee-8001-675ed0f8e89b"},"arrayField":["HcKDaT","ZDLFeaip"],"boolField":false,"intField":-673,"numField":-806.6336944097599,"objField":{"VAYTUTRC":-4291203871156342560,"VIXSSEpAe":-9058508801658855458,"VTMbz":3334124422414305529,"dJOhUy":367425387301912366,"dWWePvjIf":3423195832512545636,"eqgO":2707838302856986745,"fluBmfiqDn":-1785066216437410655,"qZMWbJ":-6117896874912272140,"rDpHZ":2035505549428102948,"ssgM":-7015315676458064410},"stringDateField":"1988-05-25","stringDateTimeField":"1967-02-06T08:41:22Z","stringField":"cSWKB","stringTimeField":"18:02:56.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":-673,"numField":-806.6336944097599,"stringDateField":"1988-05-25","stringDateTimeField":"1967-02-06T08:41:22Z","stringField":"cSWKB","stringTimeField":"18:02:56.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4739,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4739,"uuid":"9e0a8a34-5655-11ee-8401-675ed0f8e89b"},"arrayField":["Arui"],"boolField":true,"intField":-668,"numField":-294.54739351606094,"objField":{"AYYoPYeOEP":-6074795834630084189,"BRGNpww":-2504224625130754846,"Bqpwtn":-6539669515134298902,"OKkDSMPuky":3175446436258496580,"gFZPJI":-5007598238404001195,"hXUjwhOMq":-8758626138503930378,"oONpDKVTI":3567818406334368683,"rZdkWkv":-2802035818606626997},"stringDateField":"1987-09-01","stringDateTimeField":"1996-07-15T21:51:00Z","stringField":"GXpcm","stringTimeField":"15:06:25.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":-668,"numField":-294.54739351606094,"stringDateField":"1987-09-01","stringDateTimeField":"1996-07-15T21:51:00Z","stringField":"GXpcm","stringTimeField":"15:06:25.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4740,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4740,"uuid":"9e0a8a34-5655-11ee-8801-675ed0f8e89b"},"arrayField":["Ftpczbigc"],"boolField":true,"intField":-752,"numField":-140.5524974833652,"objField":{"KZRXwGnYPd":-7375114708998622254,"OlOOkArF":-7369359838560663840,"TQVBCuSii":-7298546281028081429,"ahysMfWCOA":-8077689225532946219,"dSoBRT":-6970087951448606906},"stringDateField":"1961-05-25","stringDateTimeField":"1942-08-13T08:52:21Z","stringField":"VigAl","stringTimeField":"12:04:37.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":-752,"numField":-140.5524974833652,"stringDateField":"1961-05-25","stringDateTimeField":"1942-08-13T08:52:21Z","stringField":"VigAl","stringTimeField":"12:04:37.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4741,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4741,"uuid":"9e0a8a34-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["zGKIuw","KZzRDRy","XZSypZ","gFIDjOkQ","UfpoCUPg","oyljgHldm","EXIa","AAAXQ"],"boolField":true,"intField":-567,"numField":491.6287701368722,"objField":{"GBixlgP":-8354167764406159660,"HHijSFfdI":6632979113226105893,"XjajZUnjkn":7494962612175838954,"XnlJWpcOi":-3296862273574819232,"kwqrbzPr":-5152124739752122248,"pIpvxuwI":-7257719276702233413,"rbXM":-4518421448547207292,"tzKnUSHNrb":-4140906048894313977},"stringDateField":"1942-11-03","stringDateTimeField":"1973-05-01T11:33:49Z","stringField":"veFuFtOH","stringTimeField":"02:02:34.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":-567,"numField":491.6287701368722,"stringDateField":"1942-11-03","stringDateTimeField":"1973-05-01T11:33:49Z","stringField":"veFuFtOH","stringTimeField":"02:02:34.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4742,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4742,"uuid":"9e0a8a34-5655-11ee-9001-675ed0f8e89b"},"arrayField":["SOSnS","LSVkXD","RLwY","GEWbM","uAvBlLs","Tgtb","rabQuU","VkzepMLWE","pelfOpLE","hYBFzEg"],"boolField":false,"intField":-63,"numField":355.72355316953133,"objField":{"TXBwmMX":-8593472845534930382,"fKcRKv":-1931166348831754821},"stringDateField":"1934-06-22","stringDateTimeField":"1903-05-03T18:41:12Z","stringField":"IazBEN","stringTimeField":"04:49:43.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":-63,"numField":355.72355316953133,"stringDateField":"1934-06-22","stringDateTimeField":"1903-05-03T18:41:12Z","stringField":"IazBEN","stringTimeField":"04:49:43.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4743,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4743,"uuid":"9e0a8a34-5655-11ee-9401-675ed0f8e89b"},"arrayField":["fvxgbOXKtA","jLVWkekAD","TUzHZFMWB","quwUXqbI","nEdrIP"],"boolField":true,"intField":264,"numField":-913.8752916732471,"objField":{"ArYbbtBz":-9129716654602096328,"nUfMmC":5518368818981262248,"uaFRNFEPH":497813681367452215,"zvCMq":6672784083169810052},"stringDateField":"1933-03-04","stringDateTimeField":"1938-02-18T15:15:27Z","stringField":"kGzvyT","stringTimeField":"16:47:33.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":264,"numField":-913.8752916732471,"stringDateField":"1933-03-04","stringDateTimeField":"1938-02-18T15:15:27Z","stringField":"kGzvyT","stringTimeField":"16:47:33.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4744,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4744,"uuid":"9e0a8a34-5655-11ee-9801-675ed0f8e89b"},"arrayField":["LuFQsLgNVT","MtDl"],"boolField":true,"intField":-123,"numField":-792.0044994541884,"objField":{"gKMTqMsucc":8111067555761555458},"stringDateField":"2008-10-03","stringDateTimeField":"1964-12-12T22:05:49Z","stringField":"jxKvdEM","stringTimeField":"03:14:01.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":-123,"numField":-792.0044994541884,"stringDateField":"2008-10-03","stringDateTimeField":"1964-12-12T22:05:49Z","stringField":"jxKvdEM","stringTimeField":"03:14:01.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4745,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4745,"uuid":"9e0a8a34-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["otnIRx","kskKulRKU","AVTlsLTj","VDejDRAiFu","AvdmVgk","NCObLYBOfB"],"boolField":true,"intField":-221,"numField":-882.2492615144888,"objField":{"DQdNpUAVxm":1604756343824830893,"DXyzxJwH":1456974911163704373,"ESeQIkxl":-4060464310295611949,"QeNgDVZSP":9063304483865091632,"QyLoLTj":8737157934230709740,"VHTTAuH":-8632248413215030517,"gzTUe":3106872098373719309,"kRcRpZ":356002791235110066,"qWDf":-6770859598203064179},"stringDateField":"1958-10-06","stringDateTimeField":"1932-10-30T14:38:15Z","stringField":"qPlF","stringTimeField":"03:41:45.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":-221,"numField":-882.2492615144888,"stringDateField":"1958-10-06","stringDateTimeField":"1932-10-30T14:38:15Z","stringField":"qPlF","stringTimeField":"03:41:45.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4746,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4746,"uuid":"9e0a8a34-5655-11ee-a001-675ed0f8e89b"},"arrayField":["IjOdx","QPPsPbMIS","zaBhty","idXhOcdki","gHJCeocg","OLSROSAOkU","VqEQknYAYJ","AwQZr","PqkNw","SLqeHGx"],"boolField":false,"intField":136,"numField":-197.9553708072955,"objField":{"MjsqApD":-1775028687090169767},"stringDateField":"1953-04-04","stringDateTimeField":"1938-08-23T08:37:22Z","stringField":"Edse","stringTimeField":"13:09:14.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":136,"numField":-197.9553708072955,"stringDateField":"1953-04-04","stringDateTimeField":"1938-08-23T08:37:22Z","stringField":"Edse","stringTimeField":"13:09:14.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4747,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4747,"uuid":"9e0a8a34-5655-11ee-a401-675ed0f8e89b"},"arrayField":["nmULsV","idgRHmE","tNlWJlAQub","arhy","HUGPGg","qqkjMm","AXrLWBqbd","BJSWKrK","oDdENcso"],"boolField":false,"intField":-164,"numField":-964.2037256159912,"objField":{"FtSLWk":-3478764390934512498,"ZUlLWiW":-8852036512802547342,"ragqMsr":4805898358001218877},"stringDateField":"1945-04-22","stringDateTimeField":"1992-05-15T19:13:38Z","stringField":"iYZXnS","stringTimeField":"09:58:29.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":-164,"numField":-964.2037256159912,"stringDateField":"1945-04-22","stringDateTimeField":"1992-05-15T19:13:38Z","stringField":"iYZXnS","stringTimeField":"09:58:29.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4748,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4748,"uuid":"9e0a8a34-5655-11ee-a801-675ed0f8e89b"},"arrayField":["dAppwn","CuZhAU","WXPi"],"boolField":true,"intField":-764,"numField":988.575419645817,"objField":{"DJlmIEz":1565721550488082686,"FwcvYMe":-7647447654631632839,"NOaHkdjpdT":-1967528864504229868},"stringDateField":"1979-11-23","stringDateTimeField":"1949-03-23T19:30:58Z","stringField":"PikzVwLblh","stringTimeField":"00:07:55.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":-764,"numField":988.575419645817,"stringDateField":"1979-11-23","stringDateTimeField":"1949-03-23T19:30:58Z","stringField":"PikzVwLblh","stringTimeField":"00:07:55.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4749,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4749,"uuid":"9e0a8a34-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["DMBrza","NBed","whXRTTcU","jIvGhDJZ","zuGaObDH","NMvExzSrF"],"boolField":true,"intField":217,"numField":-524.024459486829,"objField":{"STcBNfqo":-1815421613846030058,"fNMmLQsJN":7094413197318798520,"fSlen":-8354331208769767016,"ngkg":-3575500660847205793,"prAq":-6300936404629873608},"stringDateField":"1942-06-08","stringDateTimeField":"1986-04-18T12:13:54Z","stringField":"HOfBtHcru","stringTimeField":"17:47:01.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":217,"numField":-524.024459486829,"stringDateField":"1942-06-08","stringDateTimeField":"1986-04-18T12:13:54Z","stringField":"HOfBtHcru","stringTimeField":"17:47:01.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4750,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4750,"uuid":"9e0a8a34-5655-11ee-b001-675ed0f8e89b"},"arrayField":["AtZunH","pvwbAOaKL","pwZF","lveQ","CPjP","dseHRZ"],"boolField":false,"intField":524,"numField":684.2153200539442,"objField":{"DOFuYyAo":-9159707496989679120,"GVqVMdWA":4667319881358088754,"cYKophulmB":7666112037134995580,"mgDluPRk":6125470112437949570,"ngZPN":4951000282360948114,"rEspXCmPg":-2611941641287754921,"tbzSM":-3321659649579478459,"uFXhRz":3719696740274862933,"xHDpPeo":4371566759831591693},"stringDateField":"1961-05-01","stringDateTimeField":"2016-03-22T02:16:33Z","stringField":"sVXuFpRk","stringTimeField":"02:50:46.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":524,"numField":684.2153200539442,"stringDateField":"1961-05-01","stringDateTimeField":"2016-03-22T02:16:33Z","stringField":"sVXuFpRk","stringTimeField":"02:50:46.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4751,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4751,"uuid":"9e0a8a34-5655-11ee-b401-675ed0f8e89b"},"arrayField":["bHwFnhG","eEuZHPnvbw","PcUtSToz","BEULZHk","LbGyjxxWO"],"boolField":false,"intField":-366,"numField":222.96966539489893,"objField":{"KsTtC":8314080610253020976,"PcZXzBSiY":5542919744507780153,"ZKczsZZ":9177548224920995727,"nrHK":-4779227255717303609,"vEnDXlsJnC":-9195890444326245823},"stringDateField":"1987-10-21","stringDateTimeField":"1920-10-18T06:44:55Z","stringField":"KzyLmCSsCf","stringTimeField":"01:13:12.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":-366,"numField":222.96966539489893,"stringDateField":"1987-10-21","stringDateTimeField":"1920-10-18T06:44:55Z","stringField":"KzyLmCSsCf","stringTimeField":"01:13:12.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4752,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4752,"uuid":"9e0a8a34-5655-11ee-b801-675ed0f8e89b"},"arrayField":["dukFZ","Bebjde","EkIxUzM","ALPLAgteFe","rSNC"],"boolField":true,"intField":950,"numField":17.429727513469384,"objField":{"tTSbADy":-815563242860566414},"stringDateField":"1959-03-13","stringDateTimeField":"2001-06-10T11:26:48Z","stringField":"QIEOeycG","stringTimeField":"10:25:16.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":950,"numField":17.429727513469384,"stringDateField":"1959-03-13","stringDateTimeField":"2001-06-10T11:26:48Z","stringField":"QIEOeycG","stringTimeField":"10:25:16.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4753,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4753,"uuid":"9e0a8a34-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["BtIlkqpo","NSIMkc","jRzzZqmwW","kBDpUSA","zoqg","BoXH","kCLzGo","vApB","dyfzeIv"],"boolField":true,"intField":537,"numField":906.1845512433734,"objField":{"PsqI":2098976163101608132,"wPQI":8145627974817926062},"stringDateField":"1983-12-30","stringDateTimeField":"1923-07-12T02:41:02Z","stringField":"uqXZmEkDym","stringTimeField":"02:35:41.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763828Z","intField":537,"numField":906.1845512433734,"stringDateField":"1983-12-30","stringDateTimeField":"1923-07-12T02:41:02Z","stringField":"uqXZmEkDym","stringTimeField":"02:35:41.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4754,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4754,"uuid":"9e0a8a35-5655-11ee-8001-675ed0f8e89b"},"arrayField":["xywoLdc","ZqdRQvtP","WWuSQsBsHE","JoiU","OMhG","fxCJRD","ckBPpT","EkCCXh"],"boolField":true,"intField":-976,"numField":760.315579871519,"objField":{"CuExBePq":-2479727819161468506,"DalgAfEwi":-7754355749747147251,"LidWdo":-8373076370256650230,"QogXkPYmU":-7668119899369028286,"VCpsGmNp":-2722415859361975056,"wYTrscz":5733694569617482846,"zORYAvw":-6154179744093340984},"stringDateField":"1921-04-25","stringDateTimeField":"1919-06-24T05:06:10Z","stringField":"ZGgeGffF","stringTimeField":"18:09:02.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":-976,"numField":760.315579871519,"stringDateField":"1921-04-25","stringDateTimeField":"1919-06-24T05:06:10Z","stringField":"ZGgeGffF","stringTimeField":"18:09:02.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4755,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4755,"uuid":"9e0a8a35-5655-11ee-8401-675ed0f8e89b"},"arrayField":["jnjcc","UfLhg","pLKMXeoFjq","QzsqdmrEH","ZDDOnDb","XfCVUHJeC","fKWureWPMh","EJlkSBhQhy","ovHDkXQ"],"boolField":false,"intField":892,"numField":348.61812076056253,"objField":{"AoEeZwf":1775581972304434425,"IBPqT":6581978222541628180,"JmiF":-5881405952381746640,"VrMLZWYL":8589155163930856412,"mRUCiVMgBN":-6090515688240540150,"pHzE":-2210148741459639149,"xGWXESWune":3384973114258822418},"stringDateField":"1998-09-02","stringDateTimeField":"1907-03-03T02:13:09Z","stringField":"MlyLxEE","stringTimeField":"20:06:24.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":892,"numField":348.61812076056253,"stringDateField":"1998-09-02","stringDateTimeField":"1907-03-03T02:13:09Z","stringField":"MlyLxEE","stringTimeField":"20:06:24.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4756,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4756,"uuid":"9e0a8a35-5655-11ee-8801-675ed0f8e89b"},"arrayField":["gXYehFL","bVTmkJnp","nObDOxb","qYSrKAR","dfAVqE","gPBTXd","GfqOHI","knBdxlTG"],"boolField":true,"intField":641,"numField":-567.8295819041258,"objField":{"OaYlVDfn":-8427576054578118107,"cSGV":-3976249679924975704,"edYlSY":-5209060742342375694,"iwBOEuP":-3903610890718579347,"jDAAXpSn":6715525273568812303},"stringDateField":"2015-04-28","stringDateTimeField":"1933-03-14T22:02:05Z","stringField":"rWXMwiKPY","stringTimeField":"05:05:20.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":641,"numField":-567.8295819041258,"stringDateField":"2015-04-28","stringDateTimeField":"1933-03-14T22:02:05Z","stringField":"rWXMwiKPY","stringTimeField":"05:05:20.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4757,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4757,"uuid":"9e0a8a35-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["qvOWU","wMfeWfXDuF","UGFGwxKFkO","tHUnFcCT","hOHWuAS","CJkN"],"boolField":true,"intField":332,"numField":-574.9155827917301,"objField":{"HriWKOf":3426691750912851214,"IikFrgDkyi":923998545150189717,"KFSVXCX":-871180494709859468,"QYHcZMlex":-4373939245431234012,"cafH":-6001376500945141538,"mTnGWC":-6016073179670069226,"pLixwqDQh":-5512963871319050570,"qHwMF":-604277711841276839,"wniYZ":-4536459168476435268,"ywczaB":7737473919368951269},"stringDateField":"1962-06-05","stringDateTimeField":"1927-11-12T20:12:22Z","stringField":"UWijAu","stringTimeField":"18:57:34.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":332,"numField":-574.9155827917301,"stringDateField":"1962-06-05","stringDateTimeField":"1927-11-12T20:12:22Z","stringField":"UWijAu","stringTimeField":"18:57:34.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4758,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4758,"uuid":"9e0a8a35-5655-11ee-9001-675ed0f8e89b"},"arrayField":["fIXvuU","dEPXXuEbtO","VRHmFVTk"],"boolField":true,"intField":117,"numField":891.6503172288861,"objField":{"AIuwxbYHs":-7209085616735146893,"DRtggMyq":-6378824355918390575,"KfOlvFUDUs":8911955989851855084,"OyFM":5747641396994393349,"WLHJWA":2374133411474344086,"fUYRCxZtUE":-5683758100514519955,"kRKHZl":-5599745641041747800,"rBQZHwxV":-4534049940767935374},"stringDateField":"2012-04-25","stringDateTimeField":"1936-03-28T02:50:20Z","stringField":"OSeYSLMOMh","stringTimeField":"09:43:25.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":117,"numField":891.6503172288861,"stringDateField":"2012-04-25","stringDateTimeField":"1936-03-28T02:50:20Z","stringField":"OSeYSLMOMh","stringTimeField":"09:43:25.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4759,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4759,"uuid":"9e0a8a35-5655-11ee-9401-675ed0f8e89b"},"arrayField":["Nuylaist","IFwQCuz","FwjoBe","yLqbKDh"],"boolField":true,"intField":420,"numField":-941.6040652694325,"objField":{"boRxuNxS":427610739893052219,"cHgXBAeKvS":2505258936697567259,"kkKQuV":7254619059126450458},"stringDateField":"1926-07-09","stringDateTimeField":"1916-11-08T06:45:58Z","stringField":"NAETgdUoKb","stringTimeField":"11:22:29.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":420,"numField":-941.6040652694325,"stringDateField":"1926-07-09","stringDateTimeField":"1916-11-08T06:45:58Z","stringField":"NAETgdUoKb","stringTimeField":"11:22:29.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4760,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4760,"uuid":"9e0a8a35-5655-11ee-9801-675ed0f8e89b"},"arrayField":["pyXdMLrU","gDOnmLbu","jvbGzLMBk","aqAbXZ","yVRbD","ADMmD"],"boolField":false,"intField":-710,"numField":402.08870623282667,"objField":{"tbeER":4965123648501813442},"stringDateField":"1912-02-24","stringDateTimeField":"1926-06-17T00:22:50Z","stringField":"VHcbSinSi","stringTimeField":"04:51:00.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":-710,"numField":402.08870623282667,"stringDateField":"1912-02-24","stringDateTimeField":"1926-06-17T00:22:50Z","stringField":"VHcbSinSi","stringTimeField":"04:51:00.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4761,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4761,"uuid":"9e0a8a35-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["oPeVC","PsSPEM","Drkr","upcdUid","flzbUKVoR","jyjIf"],"boolField":true,"intField":951,"numField":-359.00539053512693,"objField":{"NNmSKqV":-3156588603596532828,"VaAwc":-511224506136400571,"iaUx":-5712668496324772233},"stringDateField":"1921-01-13","stringDateTimeField":"2016-07-10T17:29:48Z","stringField":"gRke","stringTimeField":"00:24:38.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":951,"numField":-359.00539053512693,"stringDateField":"1921-01-13","stringDateTimeField":"2016-07-10T17:29:48Z","stringField":"gRke","stringTimeField":"00:24:38.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4762,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4762,"uuid":"9e0a8a35-5655-11ee-a001-675ed0f8e89b"},"arrayField":["aqbKKb","jVFpb","iYLLSVr","LCzx","btfR"],"boolField":true,"intField":-572,"numField":284.71654262447356,"objField":{"HUUsrNYAy":301890918743743508,"HWQrTf":8776455891729253712,"NyzxiIH":-9142099482453917182,"RmfUnPis":6068746386093203771,"XeDTZzBLR":6125003617817993285,"ZnVkHFHTBl":-1473880781537555614,"kfgIMoH":847175088400586190,"pesgiO":3814213250699108551,"royIPLwbRg":5872959796629604196,"ySQDZCqqHm":-1227687097849314617},"stringDateField":"1929-03-13","stringDateTimeField":"1941-09-04T05:11:36Z","stringField":"gojAXwSt","stringTimeField":"09:37:45.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":-572,"numField":284.71654262447356,"stringDateField":"1929-03-13","stringDateTimeField":"1941-09-04T05:11:36Z","stringField":"gojAXwSt","stringTimeField":"09:37:45.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4763,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4763,"uuid":"9e0a8a35-5655-11ee-a401-675ed0f8e89b"},"arrayField":["YKkjSLBO","kvvGOQq","qQYvRImlVJ","PkEGjsjv","sNEZqLGus","xUVSbhgtFB","IPoNJDxzS"],"boolField":false,"intField":-568,"numField":652.9074628214788,"objField":{"BISTDEYGB":-6070708383437058835,"UUBzhyyp":4748433067555539911,"XIGsp":-9204131474025435289,"iycMFWXBG":-4257010332619081402,"rAgdRlPX":8528837787575993039},"stringDateField":"1934-03-20","stringDateTimeField":"1939-10-30T11:48:29Z","stringField":"DSaG","stringTimeField":"07:04:06.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":-568,"numField":652.9074628214788,"stringDateField":"1934-03-20","stringDateTimeField":"1939-10-30T11:48:29Z","stringField":"DSaG","stringTimeField":"07:04:06.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4764,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4764,"uuid":"9e0a8a35-5655-11ee-a801-675ed0f8e89b"},"arrayField":["nBKF","VLeiEIHTlo","ZugTKfs","FjwEo"],"boolField":false,"intField":730,"numField":660.764973921693,"objField":{"CbBKiEC":5742287940166406779,"CiPlbJ":-1323866154280017164,"CqjV":-5127699920938760490,"GhUfPaEqmb":4366210244382093457,"LVRcCI":7905692451796249001,"TgJyDfaKo":-6488314649222752736,"Vmzm":-5596587591476236711,"cwdaCD":718690038563193196,"tZusuCwhdw":-6846728704056418122},"stringDateField":"1929-12-04","stringDateTimeField":"2004-02-21T09:00:07Z","stringField":"wRdw","stringTimeField":"14:53:52.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":730,"numField":660.764973921693,"stringDateField":"1929-12-04","stringDateTimeField":"2004-02-21T09:00:07Z","stringField":"wRdw","stringTimeField":"14:53:52.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4765,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4765,"uuid":"9e0a8a35-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["TQaH","JTjMaDnTaK","HJAxEvsev"],"boolField":false,"intField":942,"numField":-363.05436239286246,"objField":{"Hvzr":-8935484634561976653,"QryGxv":4596644271332976005,"UZAgTtdaE":-1040634683660935766,"jDWjJFTg":-4091676488308492776},"stringDateField":"1928-12-14","stringDateTimeField":"1925-11-18T20:59:44Z","stringField":"shIuxN","stringTimeField":"11:23:47.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":942,"numField":-363.05436239286246,"stringDateField":"1928-12-14","stringDateTimeField":"1925-11-18T20:59:44Z","stringField":"shIuxN","stringTimeField":"11:23:47.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4766,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4766,"uuid":"9e0a8a35-5655-11ee-b001-675ed0f8e89b"},"arrayField":["eZTYXgFBg","KGJvODo","WHvknxCt","sRLh","pICzFujNV","rqIH","RZmmZmqaWh","VotZYniLp","viaGJkYt","xXJdqd"],"boolField":true,"intField":-220,"numField":-885.4341979939383,"objField":{"CVemfRAz":5216664235490095525,"INefnMcbCd":-8046958570815960620,"ObTI":2495824359910672931,"PyILJ":7853298171483846292,"aVWf":-1427127279685758743,"nDaUvPN":-6496586980195868574,"pmmwnzrXfp":6392458706801781617,"qqVkq":-6417017148444953779,"vvVsEhGEE":-8388758183715318140,"yxGAt":3420471915827751232},"stringDateField":"1986-10-22","stringDateTimeField":"1982-03-06T09:35:43Z","stringField":"pMQDhIi","stringTimeField":"00:07:51.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":-220,"numField":-885.4341979939383,"stringDateField":"1986-10-22","stringDateTimeField":"1982-03-06T09:35:43Z","stringField":"pMQDhIi","stringTimeField":"00:07:51.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4767,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4767,"uuid":"9e0a8a35-5655-11ee-b401-675ed0f8e89b"},"arrayField":["faQT","amwcJYSsT","LYmGBCAMuS"],"boolField":false,"intField":229,"numField":0.6705414318930458,"objField":{"ABSqrvS":2846909339613554977,"MKXp":-6879152823031808845,"NCSP":-5450479064388614731},"stringDateField":"1936-08-31","stringDateTimeField":"1906-08-13T19:34:03Z","stringField":"UctoOPjr","stringTimeField":"06:13:04.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":229,"numField":0.6705414318930458,"stringDateField":"1936-08-31","stringDateTimeField":"1906-08-13T19:34:03Z","stringField":"UctoOPjr","stringTimeField":"06:13:04.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4768,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4768,"uuid":"9e0a8a35-5655-11ee-b801-675ed0f8e89b"},"arrayField":["eMEfkGiFC","DeWacS","gZpTzmxrK","mycsuW","NCLCao","MwGWC","BwsKyR","pqMODsv"],"boolField":false,"intField":231,"numField":274.8661973856257,"objField":{"JWIH":210054702394495040,"LRNAHtA":5671179537796846452,"MyzFvUCVpa":508194250903982018,"PDCiDnI":2363787468739711114,"PPJuNhfNQY":973492054638741281,"XDlmDEAAF":-9164805257848692169,"YYvTPVB":-752073753579917473,"cGOrehk":398293592807325314,"qIxACUda":1011774486552626591,"rdrjimsVjH":-2357067641188104128},"stringDateField":"1988-06-30","stringDateTimeField":"1960-12-13T09:40:09Z","stringField":"jsBdZEwV","stringTimeField":"08:08:13.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":231,"numField":274.8661973856257,"stringDateField":"1988-06-30","stringDateTimeField":"1960-12-13T09:40:09Z","stringField":"jsBdZEwV","stringTimeField":"08:08:13.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4769,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4769,"uuid":"9e0a8a35-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["kSwhabFcB","ZUvBDzr","ogZn"],"boolField":false,"intField":793,"numField":296.0016358278108,"objField":{"DpDFfR":-8079424557934556042,"EQPF":-7453927730581948260,"JIoLRHo":7010227654662764582,"RyLj":6160663109756522128,"UzuydVdVI":-6545341030908418433,"cAczOwmqO":3745437313133856642,"vfzpH":8954774361932548071},"stringDateField":"1970-11-20","stringDateTimeField":"1939-04-18T21:37:46Z","stringField":"tqOSxQrQ","stringTimeField":"11:32:03.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763829Z","intField":793,"numField":296.0016358278108,"stringDateField":"1970-11-20","stringDateTimeField":"1939-04-18T21:37:46Z","stringField":"tqOSxQrQ","stringTimeField":"11:32:03.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4770,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4770,"uuid":"9e0a8a36-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ZzOKVU","lAAv","oYvHYfyacD","WyKW","OxTtyIUDeX","ELJPa"],"boolField":false,"intField":509,"numField":-381.7157689430492,"objField":{"ITKocOx":-4562852076328813521,"XVPT":7925186214493888425,"gxfWBad":-5943122939438112314,"itCLvnyj":-6886821252661045652,"lHWr":2258341877467173391},"stringDateField":"2022-03-24","stringDateTimeField":"1933-10-10T02:01:38Z","stringField":"tdKNOvP","stringTimeField":"13:05:43.16Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":509,"numField":-381.7157689430492,"stringDateField":"2022-03-24","stringDateTimeField":"1933-10-10T02:01:38Z","stringField":"tdKNOvP","stringTimeField":"13:05:43.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4771,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4771,"uuid":"9e0a8a36-5655-11ee-8401-675ed0f8e89b"},"arrayField":["oUXVprsw","WRIGyi","crZqaKo","WrBW","ApGSlCpRnG","gboEYfoTq"],"boolField":true,"intField":-369,"numField":101.36613017915974,"objField":{"Beww":-8690420789415893280,"UZZryU":4303790744462422878,"XRKxwSCnz":-2631293434194631819,"cFPEt":2605008863110708762,"esEuIpXVY":-2764228377653180819,"ibIqDo":1627373897227995505,"xxJozkE":-1622608960463909784},"stringDateField":"1906-08-05","stringDateTimeField":"1957-10-11T20:27:52Z","stringField":"QNGWfn","stringTimeField":"22:00:19.13Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":-369,"numField":101.36613017915974,"stringDateField":"1906-08-05","stringDateTimeField":"1957-10-11T20:27:52Z","stringField":"QNGWfn","stringTimeField":"22:00:19.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4772,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4772,"uuid":"9e0a8a36-5655-11ee-8801-675ed0f8e89b"},"arrayField":["URZJzP","fVLtrRFhm","TGEaXxgR","qOzKni","JlhlRVQLS","pjHR"],"boolField":false,"intField":16,"numField":923.2867370357465,"objField":{"hwnE":4892190209253586774,"rJNVqgCPrH":8626824690626078512,"vnmCYWLR":-8246464933182212826},"stringDateField":"1901-08-24","stringDateTimeField":"1968-12-19T13:54:02Z","stringField":"hQqYtyOzsa","stringTimeField":"12:31:42.35Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":16,"numField":923.2867370357465,"stringDateField":"1901-08-24","stringDateTimeField":"1968-12-19T13:54:02Z","stringField":"hQqYtyOzsa","stringTimeField":"12:31:42.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4773,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4773,"uuid":"9e0a8a36-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["dXuoiqil","vxCn","rtlOm","bcRUbJ","SqKZKJGF","zRMT","brgD","mtVMJHtTUZ","lSKB","HaykLaWgh"],"boolField":true,"intField":113,"numField":-468.0286265162842,"objField":{"GNjtN":-566166864596455395,"WRYFOPFAWG":6804925338227094300,"WqZOCJahi":-3648102624521563743,"YNAO":5368512971821627989,"cWOyzgj":1899060263219413186,"gMZAxT":-7089622396945038537,"kRyqjWg":-8208638116178908749,"qcRFhJ":3282710473487689309,"zEsFcsxeJ":-2732994216027845789},"stringDateField":"1965-06-21","stringDateTimeField":"1908-05-28T18:12:07Z","stringField":"sRJPFNj","stringTimeField":"20:46:14.32Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":113,"numField":-468.0286265162842,"stringDateField":"1965-06-21","stringDateTimeField":"1908-05-28T18:12:07Z","stringField":"sRJPFNj","stringTimeField":"20:46:14.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4774,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4774,"uuid":"9e0a8a36-5655-11ee-9001-675ed0f8e89b"},"arrayField":["McYmLNjMw","wxXkYmXfXa","igBeTIad","SPdVSobj","yRYejfyVPZ","wIcLZJ"],"boolField":false,"intField":870,"numField":584.4504812406764,"objField":{"swZWfoQ":-3973384654539867046},"stringDateField":"1906-10-24","stringDateTimeField":"1971-12-20T22:37:52Z","stringField":"afDFH","stringTimeField":"08:54:40.44Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":870,"numField":584.4504812406764,"stringDateField":"1906-10-24","stringDateTimeField":"1971-12-20T22:37:52Z","stringField":"afDFH","stringTimeField":"08:54:40.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4775,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4775,"uuid":"9e0a8a36-5655-11ee-9401-675ed0f8e89b"},"arrayField":["boLba","kvUkHtiR","QojMJHxtGL","ZfdTe","iURV","CXyPFkbjH","IDFkhDC"],"boolField":false,"intField":-554,"numField":-439.6367548970096,"objField":{"BFVVT":-4383816922287841329,"DRbCqe":7078127940390727112,"KBDvO":-5036369523772347155,"NwBz":3279157504863909285,"eEITH":8978135937244668947,"wjAFpLqn":8070430980833969853},"stringDateField":"1981-11-15","stringDateTimeField":"1914-11-10T01:18:01Z","stringField":"IdFVf","stringTimeField":"11:10:24.16Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":-554,"numField":-439.6367548970096,"stringDateField":"1981-11-15","stringDateTimeField":"1914-11-10T01:18:01Z","stringField":"IdFVf","stringTimeField":"11:10:24.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4776,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4776,"uuid":"9e0a8a36-5655-11ee-9801-675ed0f8e89b"},"arrayField":["mGjOAXeFY","hVebZZCLv","hxHlEpTW","FGgFVyRE","apWl","ymgZ","jhqmNzoYn","csmKhPr"],"boolField":true,"intField":-903,"numField":-767.9896225943025,"objField":{"BGlgTsc":-2236088691326703584,"DBKHjJ":-3842107213729952194,"XHbJTtTTO":9022535910523472066},"stringDateField":"1909-08-10","stringDateTimeField":"1987-12-07T19:42:28Z","stringField":"PMgPCd","stringTimeField":"05:23:50.12Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":-903,"numField":-767.9896225943025,"stringDateField":"1909-08-10","stringDateTimeField":"1987-12-07T19:42:28Z","stringField":"PMgPCd","stringTimeField":"05:23:50.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4777,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4777,"uuid":"9e0a8a36-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["zrwZqkMD","AHpMthqsU","mujy"],"boolField":true,"intField":-988,"numField":918.0793344664564,"objField":{"Pety":-8074663729986241300,"iHVf":7522409462035072862,"swsnbShqTF":-4965640165113744077},"stringDateField":"1962-10-08","stringDateTimeField":"1929-01-01T17:58:58Z","stringField":"hskxaMSd","stringTimeField":"22:18:39.21Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":-988,"numField":918.0793344664564,"stringDateField":"1962-10-08","stringDateTimeField":"1929-01-01T17:58:58Z","stringField":"hskxaMSd","stringTimeField":"22:18:39.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4778,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4778,"uuid":"9e0a8a36-5655-11ee-a001-675ed0f8e89b"},"arrayField":["mfcy","bvJcoeKTT","cDHLUSfJ","uxdEHy","unvIvhgbUj","rIOR"],"boolField":true,"intField":906,"numField":-835.493255604057,"objField":{"EDfewgW":-4982738959272809245,"KoXtZG":1841151903770020073,"cESWWSDZRR":-3831139765559301739,"lLyCMTtCQ":1060460352680855201,"lhxXfeDEB":-4325750532778221578},"stringDateField":"1952-07-22","stringDateTimeField":"2009-10-30T04:57:31Z","stringField":"EczJ","stringTimeField":"21:29:26.45Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":906,"numField":-835.493255604057,"stringDateField":"1952-07-22","stringDateTimeField":"2009-10-30T04:57:31Z","stringField":"EczJ","stringTimeField":"21:29:26.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4779,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4779,"uuid":"9e0a8a36-5655-11ee-a401-675ed0f8e89b"},"arrayField":["dDKQ","iiGsaykT","siyzylZq","IiOxyy","NtsOSXwUv","MNQdJxBB"],"boolField":true,"intField":-206,"numField":-691.7111426979683,"objField":{"nmDia":9198108480470318846},"stringDateField":"1939-08-28","stringDateTimeField":"1945-09-14T03:16:24Z","stringField":"FLrB","stringTimeField":"05:00:25.13Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":-206,"numField":-691.7111426979683,"stringDateField":"1939-08-28","stringDateTimeField":"1945-09-14T03:16:24Z","stringField":"FLrB","stringTimeField":"05:00:25.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4780,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4780,"uuid":"9e0a8a36-5655-11ee-a801-675ed0f8e89b"},"arrayField":["QePNNo","KdvMzT","tMKHQ","CVdtBZ","WgkH","rKzNdmtvoN"],"boolField":true,"intField":738,"numField":517.4450910720429,"objField":{"aiLEsK":5498360828932474461},"stringDateField":"1907-11-07","stringDateTimeField":"1904-10-30T08:19:59Z","stringField":"FsuSXJ","stringTimeField":"18:26:20.50Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":738,"numField":517.4450910720429,"stringDateField":"1907-11-07","stringDateTimeField":"1904-10-30T08:19:59Z","stringField":"FsuSXJ","stringTimeField":"18:26:20.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4781,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4781,"uuid":"9e0a8a36-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["xXeIxoO"],"boolField":false,"intField":-401,"numField":-704.5383092839803,"objField":{"ONANsL":5648812697081509931,"UHIeVgHP":5968201283689409719,"VQYhfdY":-4305638796090522979,"cweZawT":-7697521377944421137,"dbQwsK":7137597483909304352,"gnBlrHNpok":-829925155411194422,"hzkgR":7875910467897339594,"vUSMjC":-412333109944425194},"stringDateField":"1901-10-20","stringDateTimeField":"2011-06-22T17:14:46Z","stringField":"KveSCgoy","stringTimeField":"19:30:47.46Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":-401,"numField":-704.5383092839803,"stringDateField":"1901-10-20","stringDateTimeField":"2011-06-22T17:14:46Z","stringField":"KveSCgoy","stringTimeField":"19:30:47.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4782,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4782,"uuid":"9e0a8a36-5655-11ee-b001-675ed0f8e89b"},"arrayField":["yptpt","BDzZlbw","DJfksqbP","vJAxSklh"],"boolField":true,"intField":-610,"numField":969.0919824933376,"objField":{"GBWlp":-2660337972361675007,"MlDaKIRUSQ":-6269634031473567817,"PiJicVYtdV":-5107840684800348888,"kzuLRNbj":-256979331593953773,"lRJIZf":-8109347420906867295,"wFhjOw":-6595327652584338414,"wiMLHZwTNt":-2783065342536160998},"stringDateField":"1903-10-09","stringDateTimeField":"1916-04-25T03:34:37Z","stringField":"YNwnfEuDle","stringTimeField":"15:27:59.44Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":-610,"numField":969.0919824933376,"stringDateField":"1903-10-09","stringDateTimeField":"1916-04-25T03:34:37Z","stringField":"YNwnfEuDle","stringTimeField":"15:27:59.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4783,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4783,"uuid":"9e0a8a36-5655-11ee-b401-675ed0f8e89b"},"arrayField":["saeamBC","NHLKzM","TGKDgiEzF","wnCWbBYI","GOLGr","KmgYNtQeie"],"boolField":true,"intField":789,"numField":-385.26830630159617,"objField":{"BuqUorAv":-9176249791870290931,"MmbsqcGK":-6712382317988152125,"OIFN":4350779585510615186,"QJSrUnXPq":-7381079063456797202,"TBRsIL":-8877013603626801633,"hngUTPjxM":5612977136199570672,"jLAnIhcCP":6063695563076017267,"soeUHPFUBB":-7667268673820689653},"stringDateField":"1966-07-03","stringDateTimeField":"1959-12-23T22:41:16Z","stringField":"fqctsAwxr","stringTimeField":"10:18:47.21Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":789,"numField":-385.26830630159617,"stringDateField":"1966-07-03","stringDateTimeField":"1959-12-23T22:41:16Z","stringField":"fqctsAwxr","stringTimeField":"10:18:47.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4784,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4784,"uuid":"9e0a8a36-5655-11ee-b801-675ed0f8e89b"},"arrayField":["nmpFyk","fzhxD","Yvnaza","cxPYNKKKH","ryotUHV","RCBQlOq","wzUcJ","uEBkuSV"],"boolField":false,"intField":-889,"numField":-333.57467593659015,"objField":{"EMZN":-1733630927754306228,"VBvncPutYh":-80606830056736466,"iDsQ":-9119066160461385417,"mndeNGfoZ":6107058760734257847},"stringDateField":"1986-08-14","stringDateTimeField":"1993-08-22T18:14:47Z","stringField":"VjQMKyUpej","stringTimeField":"07:22:05.32Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":-889,"numField":-333.57467593659015,"stringDateField":"1986-08-14","stringDateTimeField":"1993-08-22T18:14:47Z","stringField":"VjQMKyUpej","stringTimeField":"07:22:05.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4785,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4785,"uuid":"9e0a8a36-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["JqbdTgbu","CxEKmLPIKF"],"boolField":false,"intField":758,"numField":487.8544124895785,"objField":{"JIIVn":1589158776126445951,"KSePTSXZ":-6441035061201163120,"SiLdpFCevJ":-7752080777643299372,"hsvKesX":-1793796141474140258,"iUbRaF":1937232838112925909,"lhqGbdwg":330169872939405794,"rzIJbaPUvK":1111178891123498886},"stringDateField":"1946-07-19","stringDateTimeField":"1968-12-15T22:12:50Z","stringField":"nyYvbYA","stringTimeField":"16:24:31.44Z"},"flow_published_at":"2023-09-18T19:00:21.876383Z","intField":758,"numField":487.8544124895785,"stringDateField":"1946-07-19","stringDateTimeField":"1968-12-15T22:12:50Z","stringField":"nyYvbYA","stringTimeField":"16:24:31.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4786,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4786,"uuid":"9e0a8a37-5655-11ee-8001-675ed0f8e89b"},"arrayField":["wtNukOOLBP","faiDCoBY","OshJXWzBwF","xJCmTrVQ","LvDzuKb","sKMSliveHd"],"boolField":false,"intField":-818,"numField":224.3711241395736,"objField":{"KJSDwd":-179261726597585942,"TCzrqUt":-213896477609978791,"nuOosJleUw":6068522413239533102,"qqmksX":4720342798236300021,"ttBuym":-6350899642207630494,"txzazP":3013412281251223563},"stringDateField":"1903-01-15","stringDateTimeField":"1985-11-13T05:35:07Z","stringField":"Pzfpxe","stringTimeField":"23:49:51.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":-818,"numField":224.3711241395736,"stringDateField":"1903-01-15","stringDateTimeField":"1985-11-13T05:35:07Z","stringField":"Pzfpxe","stringTimeField":"23:49:51.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4787,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4787,"uuid":"9e0a8a37-5655-11ee-8401-675ed0f8e89b"},"arrayField":["PjWail","AQJeQrwri","iRiJE","HKJPA","UrIDVb","JPYLETc","NXkWK","ElSZYNKz"],"boolField":false,"intField":811,"numField":105.05083939934924,"objField":{"CNfiEOPB":6187618575989322551,"GtvQWoXJhh":931551032094333532,"LHxiGC":-2913292269204767166,"iPXBGw":6120518350813156008,"jaZnu":8666599260851441368,"mIYjITWnjD":1908362484808029939,"pWLUr":-6142637283638907420,"vMdMUSm":1510985202826600889,"xPQSV":634811864727666508},"stringDateField":"1998-03-17","stringDateTimeField":"2001-08-08T20:44:45Z","stringField":"pGktcWTzY","stringTimeField":"01:10:05.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":811,"numField":105.05083939934924,"stringDateField":"1998-03-17","stringDateTimeField":"2001-08-08T20:44:45Z","stringField":"pGktcWTzY","stringTimeField":"01:10:05.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4788,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4788,"uuid":"9e0a8a37-5655-11ee-8801-675ed0f8e89b"},"arrayField":["pfuOY","DKKgywMZ","YjBYcmD","gznx","tgGukL","kaaIPPbe","kovkrHMIdY","axnpixYK","OlXzAFme","aqqTPyZS"],"boolField":true,"intField":-822,"numField":-300.45160710365303,"objField":{"HWHRMsws":-3533546596458796553,"MkjwQnjo":-3251641897459178772,"Nqjf":-915734591748226696,"QTNHbc":-9133412257772976008,"djdj":7171381894760773006,"jLpI":4847659054323940960,"lOUUEqM":-6656326349241515132,"oOmPXUzWzl":-6064009891944548210,"qUjbXx":-8527644443580640079,"yHxIk":-8872920694596384290},"stringDateField":"2004-03-05","stringDateTimeField":"1982-06-02T01:58:48Z","stringField":"NPExwUKtQ","stringTimeField":"19:10:12.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":-822,"numField":-300.45160710365303,"stringDateField":"2004-03-05","stringDateTimeField":"1982-06-02T01:58:48Z","stringField":"NPExwUKtQ","stringTimeField":"19:10:12.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4789,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4789,"uuid":"9e0a8a37-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["yupFXdK"],"boolField":false,"intField":-905,"numField":-910.387985369284,"objField":{"HGNs":4219139603227245723,"KypfqIMH":1241913223743926953,"RrQILJfcZ":-6488643958773117330,"aLWJd":6775308456880054529,"aUCNYXudPo":-7469582009635681861,"dCJEJYvTy":2538968071677868898,"tdwhnxVGS":568290138257230516},"stringDateField":"1938-06-15","stringDateTimeField":"1977-07-05T22:36:10Z","stringField":"elBWfaEC","stringTimeField":"13:53:42.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":-905,"numField":-910.387985369284,"stringDateField":"1938-06-15","stringDateTimeField":"1977-07-05T22:36:10Z","stringField":"elBWfaEC","stringTimeField":"13:53:42.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4790,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4790,"uuid":"9e0a8a37-5655-11ee-9001-675ed0f8e89b"},"arrayField":["aqTSBNokP","fMimgzsmSq","ezYWJPOO"],"boolField":false,"intField":-565,"numField":-801.948357773263,"objField":{"DAQKRB":362751996897577097,"UPvyNngwV":-4904079473641774017,"YYlpinBS":-2112965489340089904,"ZmRvcKPFnl":-6270303254667824274,"jgTW":-25146801454203383,"mutMamUhbJ":7320164181184371790,"pQjgQuRJD":-8461343762995548563,"vSeVb":7695088450715117286},"stringDateField":"1995-10-31","stringDateTimeField":"2015-01-24T06:13:36Z","stringField":"SiwDO","stringTimeField":"17:43:46.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":-565,"numField":-801.948357773263,"stringDateField":"1995-10-31","stringDateTimeField":"2015-01-24T06:13:36Z","stringField":"SiwDO","stringTimeField":"17:43:46.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4791,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4791,"uuid":"9e0a8a37-5655-11ee-9401-675ed0f8e89b"},"arrayField":["WHwZvHL","PNaJ","CjGSJgwl","RXYClrof","XZPsySEEp","cntj","UCyxmLB","ZQIiZ"],"boolField":true,"intField":497,"numField":713.6578345614518,"objField":{"CApMU":-331632070370635665,"DGKYw":-6183188796686244728,"GnLrhwcA":-3311981897572232663,"pjOnaN":5487896527218357283,"sLSGCcoWSU":3909345578229118861,"tQaUlLs":2771304289125325498},"stringDateField":"1950-07-19","stringDateTimeField":"1959-06-09T04:32:19Z","stringField":"sIBHr","stringTimeField":"16:41:44.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":497,"numField":713.6578345614518,"stringDateField":"1950-07-19","stringDateTimeField":"1959-06-09T04:32:19Z","stringField":"sIBHr","stringTimeField":"16:41:44.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4792,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4792,"uuid":"9e0a8a37-5655-11ee-9801-675ed0f8e89b"},"arrayField":["KpnXCkV"],"boolField":false,"intField":222,"numField":163.0308772146245,"objField":{"CaWPgV":3173141348070040069,"EvktU":1227789748553801610,"VTMzU":3356055729203440101,"VxzKRr":933984138935564565,"aUQpa":-1811645251547472833,"bxoPjTUE":-2725694832433667562,"mwgVEVfz":3334064346519602689,"omij":-6018385216988446235},"stringDateField":"1939-02-25","stringDateTimeField":"2005-09-29T03:36:38Z","stringField":"qRriBzLlux","stringTimeField":"14:02:18.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":222,"numField":163.0308772146245,"stringDateField":"1939-02-25","stringDateTimeField":"2005-09-29T03:36:38Z","stringField":"qRriBzLlux","stringTimeField":"14:02:18.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4793,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4793,"uuid":"9e0a8a37-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["piNjlsReJL","xxEQ","vStvxg","VrNYmZRIXL"],"boolField":true,"intField":-526,"numField":98.1627331684054,"objField":{"LwmeFoip":-7176042259676353690},"stringDateField":"1972-06-26","stringDateTimeField":"1950-02-25T06:13:43Z","stringField":"aOWxkM","stringTimeField":"21:59:34.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":-526,"numField":98.1627331684054,"stringDateField":"1972-06-26","stringDateTimeField":"1950-02-25T06:13:43Z","stringField":"aOWxkM","stringTimeField":"21:59:34.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4794,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4794,"uuid":"9e0a8a37-5655-11ee-a001-675ed0f8e89b"},"arrayField":["shXOQckOX","nDpaUfP","bnDJyqOKZ","tphzyTdOZe","iePGRt"],"boolField":true,"intField":-143,"numField":-484.61304892120506,"objField":{"EaZOtqRu":1584694406118774617,"OqHJz":8348801650396384486,"QhmJ":474550927662633229,"aSJe":-927352622810174741,"bJqnqg":471011706448270131,"biGvAAe":-5898209275431137680,"bumNyURCPg":-6253913915058850818,"qCbTe":2563344257484611382,"rbijbNYqC":66648252245065899,"wnfCedBGQn":7567407423340086186},"stringDateField":"1965-04-21","stringDateTimeField":"1978-10-12T01:22:13Z","stringField":"rRHmD","stringTimeField":"00:35:12.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":-143,"numField":-484.61304892120506,"stringDateField":"1965-04-21","stringDateTimeField":"1978-10-12T01:22:13Z","stringField":"rRHmD","stringTimeField":"00:35:12.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4795,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4795,"uuid":"9e0a8a37-5655-11ee-a401-675ed0f8e89b"},"arrayField":["sbqcjK"],"boolField":false,"intField":-797,"numField":366.7583270936518,"objField":{"CGyRquHQd":-4198188972895831799,"EeZMYaXf":-509584059358510788,"GtDfj":-4917688156308766146,"NfkPW":-1973876662525002898,"PbEZRS":2414822186433298415,"TnZRygb":9025297492889904456,"hEPo":3011348404486332838,"tBZBkFT":5530318714302078326,"tRMm":-1062056181884786645,"yzTKsotVj":-1282612126265778042},"stringDateField":"2023-01-09","stringDateTimeField":"1933-08-23T09:58:55Z","stringField":"GTGdVlXDiH","stringTimeField":"19:04:40.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":-797,"numField":366.7583270936518,"stringDateField":"2023-01-09","stringDateTimeField":"1933-08-23T09:58:55Z","stringField":"GTGdVlXDiH","stringTimeField":"19:04:40.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4796,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4796,"uuid":"9e0a8a37-5655-11ee-a801-675ed0f8e89b"},"arrayField":["BjNLUUTx","OvjlNQfCB","tpehQBZHL","nHgctWia","cATyZTfjH","CmirbT","ByXu","fXAMIKLNW","wPvs"],"boolField":false,"intField":338,"numField":893.9254968922443,"objField":{"GgitSkjxmz":-8339067464847241482,"LLJjLMSI":-8951484002728462947,"LNyxTC":6473495573130247835,"NUVaeKVzLc":2321127870911452377,"SfSNphTMY":3122642231437600201,"fYRH":6104771136098645558,"kuQXs":4645828673892713509,"vARVtuZylo":5758239089121384509,"yYGL":7771696431471137554},"stringDateField":"1946-02-06","stringDateTimeField":"1977-11-17T20:21:34Z","stringField":"EDJTeguOK","stringTimeField":"04:38:30.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":338,"numField":893.9254968922443,"stringDateField":"1946-02-06","stringDateTimeField":"1977-11-17T20:21:34Z","stringField":"EDJTeguOK","stringTimeField":"04:38:30.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4797,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4797,"uuid":"9e0a8a37-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["wnoHsvqHve","TQcnIwdJHv","FacW","AnoOjyx","ofGiUDw","Ehebgr","ykyfHkMsTY","LXqnjgVA","dxIESZ"],"boolField":true,"intField":236,"numField":-322.8541305786354,"objField":{"ASZeazoAu":5831021247408025138,"EiFq":-7173253660911145189,"NuMS":-8285095490442360911},"stringDateField":"1903-08-06","stringDateTimeField":"1960-01-12T17:06:25Z","stringField":"DvEJdvTN","stringTimeField":"15:24:55.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":236,"numField":-322.8541305786354,"stringDateField":"1903-08-06","stringDateTimeField":"1960-01-12T17:06:25Z","stringField":"DvEJdvTN","stringTimeField":"15:24:55.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4798,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4798,"uuid":"9e0a8a37-5655-11ee-b001-675ed0f8e89b"},"arrayField":["UpKonuW","KeQxSyStp","QJWeHVRpRG","czKozR","IIIqOqMJB","XROrU"],"boolField":true,"intField":-633,"numField":-466.8578629856933,"objField":{"EhHJhtA":-5343971316006878045,"FINQAS":-2179016158163048294,"SMmBko":-6670339865374690763,"URIHsaYDNE":-2035643567101515073,"UoyhpMoM":-7177139329860435275,"WsCGuFSlja":-8489348081446293037,"XunJISt":-8238369900378036368,"iPzgI":6889188659445159531,"qoOhxigabG":5317489598490326691,"woDzgUz":9143426369394862521},"stringDateField":"1960-05-18","stringDateTimeField":"1991-11-17T23:51:45Z","stringField":"hUuqtugYd","stringTimeField":"07:46:44.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":-633,"numField":-466.8578629856933,"stringDateField":"1960-05-18","stringDateTimeField":"1991-11-17T23:51:45Z","stringField":"hUuqtugYd","stringTimeField":"07:46:44.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4799,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4799,"uuid":"9e0a8a37-5655-11ee-b401-675ed0f8e89b"},"arrayField":["AcplysxI","BUNfO","JYFcOy","sEhL","EwGDeVzYF","YitQCPWD"],"boolField":false,"intField":-603,"numField":-399.77287961836527,"objField":{"NAaqlG":-6113019112197742436,"QPVTvc":922521617475342604,"ZspiMfCh":3909652900068332816,"bhnzhMMi":5672388704415378984,"iUOb":3172695439859696998,"kwrhFuGBq":6604664716361403271,"tlDgDqRFRF":-4513221275302087441,"yZtwEgFV":3676672353797365343},"stringDateField":"1939-02-12","stringDateTimeField":"1937-09-04T14:41:12Z","stringField":"itQCLUeql","stringTimeField":"00:03:15.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":-603,"numField":-399.77287961836527,"stringDateField":"1939-02-12","stringDateTimeField":"1937-09-04T14:41:12Z","stringField":"itQCLUeql","stringTimeField":"00:03:15.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4800,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4800,"uuid":"9e0a8a37-5655-11ee-b801-675ed0f8e89b"},"arrayField":["LcdePX","yvREePFjgE","tejoba","qRioZrlRpL","YMex"],"boolField":false,"intField":644,"numField":-569.1844640856255,"objField":{"ZEnRJfy":-6739037538992040067,"hAZCPvQUO":5782162661663153872},"stringDateField":"2012-02-20","stringDateTimeField":"1919-08-11T23:36:59Z","stringField":"kHRtDA","stringTimeField":"07:15:53.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":644,"numField":-569.1844640856255,"stringDateField":"2012-02-20","stringDateTimeField":"1919-08-11T23:36:59Z","stringField":"kHRtDA","stringTimeField":"07:15:53.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4801,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4801,"uuid":"9e0a8a37-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["iHohQWhBM","lhJNLGlJZw","AijqEOTe","wYIxfb","GaGqTEa","Peaz","hFPDGCMq","NKmzjoAx"],"boolField":false,"intField":-907,"numField":946.1442502450008,"objField":{"GHITgqDS":5006013430731800101,"TUSYsXclMD":-869183461808976409,"afxaYRvfzr":6954816069071971192,"eIbMsjD":-1445557231902463289,"pDHkvP":-1100132014911780057,"zAQPbPowA":3981202776506528626},"stringDateField":"1995-07-12","stringDateTimeField":"1951-03-11T23:56:20Z","stringField":"IjPWWB","stringTimeField":"22:22:02.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763831Z","intField":-907,"numField":946.1442502450008,"stringDateField":"1995-07-12","stringDateTimeField":"1951-03-11T23:56:20Z","stringField":"IjPWWB","stringTimeField":"22:22:02.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4802,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4802,"uuid":"9e0a8a38-5655-11ee-8001-675ed0f8e89b"},"arrayField":["mdJpvx"],"boolField":false,"intField":254,"numField":848.3785229745644,"objField":{"AgkANWB":6285408310518764464,"jdFi":-497832952495912274},"stringDateField":"2023-12-15","stringDateTimeField":"2019-03-24T05:20:28Z","stringField":"BLYDd","stringTimeField":"15:20:37.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":254,"numField":848.3785229745644,"stringDateField":"2023-12-15","stringDateTimeField":"2019-03-24T05:20:28Z","stringField":"BLYDd","stringTimeField":"15:20:37.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4803,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4803,"uuid":"9e0a8a38-5655-11ee-8401-675ed0f8e89b"},"arrayField":["lEFlLr","LDWByGfiUR","uUYfmkHbp","LCwrvWLvH","jOmBuXuvL","YGDkkUnyo","CooopNx","iYJkOhZLyQ"],"boolField":false,"intField":-420,"numField":-90.61368795629632,"objField":{"DIEtOR":-7608338559196646059,"FqnBb":6933705751102959434,"PnqJxJhQ":-6405898732387784148,"VcsornQJ":-125043195861179607,"axtGjhVnh":-2038316477313098769,"kmPrsTvMaL":-2380745517557382457,"vUzWwoBsS":7577507343620818784},"stringDateField":"2000-02-29","stringDateTimeField":"1938-07-20T07:40:05Z","stringField":"OvkFexSDh","stringTimeField":"06:51:30.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":-420,"numField":-90.61368795629632,"stringDateField":"2000-02-29","stringDateTimeField":"1938-07-20T07:40:05Z","stringField":"OvkFexSDh","stringTimeField":"06:51:30.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4804,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4804,"uuid":"9e0a8a38-5655-11ee-8801-675ed0f8e89b"},"arrayField":["aoViCkQlf","QVRILfHV"],"boolField":false,"intField":-17,"numField":902.7879410189736,"objField":{"JBjZwjcOcF":-8375725465968629624,"XJgOP":-8035913238500081381,"aStgMYuClA":-1395673276811732063,"glMca":5205181626007506036,"mvPsnCMaT":8220102118527140808,"myMDM":8701443856596443192,"nlpdQxRCU":4102353750288441511,"qMjxihww":3453413917305619004,"ukzmiNk":1852339768894672488,"zpiqBlCp":616640911439756206},"stringDateField":"2008-05-31","stringDateTimeField":"1961-01-11T21:12:50Z","stringField":"rZMHtAjL","stringTimeField":"18:15:01.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":-17,"numField":902.7879410189736,"stringDateField":"2008-05-31","stringDateTimeField":"1961-01-11T21:12:50Z","stringField":"rZMHtAjL","stringTimeField":"18:15:01.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4805,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4805,"uuid":"9e0a8a38-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["bSRJZWd","FPKk","NiWv","lgsFDr","gEwyjPPx","olInwgqkVF","oZPtmDPy","SslPSvZtfo","ttPWScORg"],"boolField":true,"intField":850,"numField":-209.4498773111193,"objField":{"LmVL":-222397255310309238,"RcFbvGM":-4840845928729729520,"WuPer":1251792803623655775,"ZraKubEIE":-23487058418641520},"stringDateField":"1950-06-18","stringDateTimeField":"2005-03-18T08:13:25Z","stringField":"dlSTm","stringTimeField":"07:36:08.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":850,"numField":-209.4498773111193,"stringDateField":"1950-06-18","stringDateTimeField":"2005-03-18T08:13:25Z","stringField":"dlSTm","stringTimeField":"07:36:08.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4806,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4806,"uuid":"9e0a8a38-5655-11ee-9001-675ed0f8e89b"},"arrayField":["diuaqUC"],"boolField":true,"intField":750,"numField":661.0042038736949,"objField":{"BdReyu":2064065247492982055,"LsqeIWS":-2355871513581788616,"MNQij":-6303049560962710362,"NSDSDiArjm":1391463814565962348,"awDIDM":-8924911392353308474,"gNEKIN":-778277265930936668,"rIwI":-3756656728084858582},"stringDateField":"1946-07-09","stringDateTimeField":"1995-02-08T08:37:00Z","stringField":"KZeKTUpRrZ","stringTimeField":"21:17:51.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":750,"numField":661.0042038736949,"stringDateField":"1946-07-09","stringDateTimeField":"1995-02-08T08:37:00Z","stringField":"KZeKTUpRrZ","stringTimeField":"21:17:51.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4807,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4807,"uuid":"9e0a8a38-5655-11ee-9401-675ed0f8e89b"},"arrayField":["etRGu","EoGUd","WtagdMn","BzaIxX","CYxPOn","VYtOlZkJEq","rhOV"],"boolField":false,"intField":-237,"numField":-701.8294542897002,"objField":{"Hqup":4864986037972278698,"LggWv":2288347604789705628,"SiqVeKDKhv":5771480366827785629,"UPMI":-1867854346828281408,"YQwQYsjxEp":9165143864541057759,"kayWfe":571167527957333887,"qXmaZBMum":7635939938471699112},"stringDateField":"2004-01-02","stringDateTimeField":"1986-11-18T19:20:26Z","stringField":"JUJkxH","stringTimeField":"01:49:29.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":-237,"numField":-701.8294542897002,"stringDateField":"2004-01-02","stringDateTimeField":"1986-11-18T19:20:26Z","stringField":"JUJkxH","stringTimeField":"01:49:29.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4808,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4808,"uuid":"9e0a8a38-5655-11ee-9801-675ed0f8e89b"},"arrayField":["qYyVPXzcaa","KXgay","lNqyePwzC","rSoy","ZOHiGsiacz","sflEYMyhXd"],"boolField":false,"intField":935,"numField":-589.4614398204272,"objField":{"KvgX":-741927614891738638,"rreF":-7451122093954749160,"wKXaoH":2000578358139285110},"stringDateField":"1919-10-08","stringDateTimeField":"1977-09-28T15:24:49Z","stringField":"GCpar","stringTimeField":"08:40:21.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":935,"numField":-589.4614398204272,"stringDateField":"1919-10-08","stringDateTimeField":"1977-09-28T15:24:49Z","stringField":"GCpar","stringTimeField":"08:40:21.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4809,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4809,"uuid":"9e0a8a38-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["XlOVewX","KTCzTG","OsMy","iPerMUUA","tmmmOCO"],"boolField":false,"intField":-297,"numField":165.43083947027282,"objField":{"IuIf":-7624592456073655651,"MIOq":7724429692161867083,"NljcDbYUE":253822544532629019,"VdeYyZISD":7669801767917520357,"XiMg":8820789912516757499,"dIzWfUiPP":-3610913042579639216,"kyOELSqX":-8374901634436623496,"oypNWCe":827814792153996351,"sAYFN":-5317504354667176848},"stringDateField":"1962-10-17","stringDateTimeField":"1945-06-18T03:10:12Z","stringField":"xUwudd","stringTimeField":"05:34:23.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":-297,"numField":165.43083947027282,"stringDateField":"1962-10-17","stringDateTimeField":"1945-06-18T03:10:12Z","stringField":"xUwudd","stringTimeField":"05:34:23.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4810,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4810,"uuid":"9e0a8a38-5655-11ee-a001-675ed0f8e89b"},"arrayField":["VhKK","cUoteDQl","Hnmj","nyMhbps","FYQuoAo"],"boolField":false,"intField":-514,"numField":541.917407317739,"objField":{"CpijwpNHt":-2419036928120663295,"EJjagiHJcN":-4288664352099171650,"JZjpkASRhR":6374315393963312419,"PADku":-165884526052232208,"VSlktIEam":2433524251888548223,"aBEQW":-3893623732895701940,"gnFkpNXQ":-1740038526479249068,"kunjdOgHZ":16108335344837615,"mCXgnltb":5322546638703270801,"uaSBqq":3335164911925278223},"stringDateField":"2005-05-04","stringDateTimeField":"1940-03-01T07:22:17Z","stringField":"SlrsMgrUV","stringTimeField":"16:34:37.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":-514,"numField":541.917407317739,"stringDateField":"2005-05-04","stringDateTimeField":"1940-03-01T07:22:17Z","stringField":"SlrsMgrUV","stringTimeField":"16:34:37.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4811,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4811,"uuid":"9e0a8a38-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ArVBbS","tbvKKVV","lUVxbmZXHP","RAZZmxcEw","oSlqFW","mBwOtPOq","rNdds","volEvLxtTm","mZJzqUS","wHhN"],"boolField":true,"intField":-803,"numField":366.82529752631865,"objField":{"rudaQzZw":5312023644214691552},"stringDateField":"1925-11-30","stringDateTimeField":"1930-02-03T14:20:02Z","stringField":"lfvukM","stringTimeField":"23:45:39.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":-803,"numField":366.82529752631865,"stringDateField":"1925-11-30","stringDateTimeField":"1930-02-03T14:20:02Z","stringField":"lfvukM","stringTimeField":"23:45:39.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4812,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4812,"uuid":"9e0a8a38-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ibGC","AwcqT","ZIuEyXeWRe","uTNZjSsNyz","xbnVmEh","ofvnEcFdcW","raKhaoUi"],"boolField":false,"intField":-700,"numField":-192.4072803871595,"objField":{"JcbbMA":6396118710793863664,"bIJPfUkpNO":6777436897056645164,"duxzo":8169276004081017342,"eTBoAbXMD":-1987688263054240664,"kQIYTO":-8450366118210261100,"sAabznre":-4132871378916519935,"tldYx":-4053056855826546098},"stringDateField":"2022-08-04","stringDateTimeField":"1931-06-26T18:22:27Z","stringField":"tbTFWYB","stringTimeField":"21:09:39.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":-700,"numField":-192.4072803871595,"stringDateField":"2022-08-04","stringDateTimeField":"1931-06-26T18:22:27Z","stringField":"tbTFWYB","stringTimeField":"21:09:39.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4813,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4813,"uuid":"9e0a8a38-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["yszDlxxGZ"],"boolField":true,"intField":-39,"numField":-287.4146726364813,"objField":{"AfmKsRJ":5813349852380364084,"GOiJuycY":-2833807118380484782,"RtZsk":-1454869733865035636,"VkjXc":-480483149015032479,"oPwgo":2109645723098930388,"okRSpPAY":-6425199945797975543,"rKTSh":1681647058508128932,"szGdFDLwqZ":-6271742565575046866,"zDbUOdK":-8341721207925717748,"zhaIrbCj":5171658734939151756},"stringDateField":"1974-05-15","stringDateTimeField":"1952-04-11T18:04:17Z","stringField":"WdSD","stringTimeField":"09:44:52.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":-39,"numField":-287.4146726364813,"stringDateField":"1974-05-15","stringDateTimeField":"1952-04-11T18:04:17Z","stringField":"WdSD","stringTimeField":"09:44:52.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4814,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4814,"uuid":"9e0a8a38-5655-11ee-b001-675ed0f8e89b"},"arrayField":["vfRw","WkzXFmbw","jPWwgR"],"boolField":true,"intField":-359,"numField":-640.0846219282475,"objField":{"CXaMzlmSO":-201630311130309639,"DLTsNxX":725772756107484708,"ELpuX":7294969276622625419,"QPkcEO":3026036761473158691,"dUHWVHkIlK":-5304190884555002131,"lcBaSja":-8591156805671520382,"sdoNzJ":-3198517255174527342,"zmSgFawU":1405830852449480232},"stringDateField":"1967-04-23","stringDateTimeField":"1992-06-07T04:14:33Z","stringField":"iWrJdR","stringTimeField":"20:24:23.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":-359,"numField":-640.0846219282475,"stringDateField":"1967-04-23","stringDateTimeField":"1992-06-07T04:14:33Z","stringField":"iWrJdR","stringTimeField":"20:24:23.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4815,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4815,"uuid":"9e0a8a38-5655-11ee-b401-675ed0f8e89b"},"arrayField":["QYKnWc","NVUQxVV","vHYJbP","RwkP","qpQbJGU","RnFyHV","wrqTz","bCRWq","TLIWkMymw"],"boolField":true,"intField":540,"numField":-144.7001364459418,"objField":{"cgHfA":3829156320837816206,"rajUP":619582882292450208},"stringDateField":"1958-02-05","stringDateTimeField":"1982-12-05T18:27:57Z","stringField":"yckrszF","stringTimeField":"16:11:37.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":540,"numField":-144.7001364459418,"stringDateField":"1958-02-05","stringDateTimeField":"1982-12-05T18:27:57Z","stringField":"yckrszF","stringTimeField":"16:11:37.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4816,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4816,"uuid":"9e0a8a38-5655-11ee-b801-675ed0f8e89b"},"arrayField":["oQSbECwUcA","OOvV","UTwgd","jnGewnZqVr","pxVLnUga","LIQZLcbFR","FLbpb","TiMsoGTS","SbwXGFH"],"boolField":false,"intField":-358,"numField":-219.48566781102264,"objField":{"ZlmFHDwis":4145561952573505463,"ddlFcc":6399758189843161858,"nyEirpc":-4891634066350265178},"stringDateField":"1980-04-30","stringDateTimeField":"1978-02-09T06:33:31Z","stringField":"AasCH","stringTimeField":"16:16:29.23Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":-358,"numField":-219.48566781102264,"stringDateField":"1980-04-30","stringDateTimeField":"1978-02-09T06:33:31Z","stringField":"AasCH","stringTimeField":"16:16:29.23Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4817,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4817,"uuid":"9e0a8a38-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["mxljoAnLp","WWpGEZgIgR","sccW","DSRBS"],"boolField":true,"intField":-784,"numField":810.3468497547306,"objField":{"FXUJ":-7378379766313416667,"KQKNWvQv":-3710182149882151230,"LZiodM":-5768255278818137998,"NtOp":8686640413855276179},"stringDateField":"1971-05-27","stringDateTimeField":"1908-12-03T05:08:41Z","stringField":"MtAKD","stringTimeField":"18:24:44.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763832Z","intField":-784,"numField":810.3468497547306,"stringDateField":"1971-05-27","stringDateTimeField":"1908-12-03T05:08:41Z","stringField":"MtAKD","stringTimeField":"18:24:44.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4818,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4818,"uuid":"9e0a8a39-5655-11ee-8001-675ed0f8e89b"},"arrayField":["zTyUdFWiV","VrMf","qYopMYrB","FFodAvJLo","CWoiacWFA","kNquW","omQWXgws","VISlSd"],"boolField":true,"intField":600,"numField":61.24246152518431,"objField":{"EAFuLUH":-6264699637536731286,"PJxaDDE":-7990796495591162042,"eVUmozgabD":-4128879104556483544},"stringDateField":"2023-11-17","stringDateTimeField":"1917-06-20T15:19:26Z","stringField":"LMNccIhQj","stringTimeField":"02:38:31.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":600,"numField":61.24246152518431,"stringDateField":"2023-11-17","stringDateTimeField":"1917-06-20T15:19:26Z","stringField":"LMNccIhQj","stringTimeField":"02:38:31.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4819,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4819,"uuid":"9e0a8a39-5655-11ee-8401-675ed0f8e89b"},"arrayField":["KNmv","bmEOmPfZ","ekaBCWY"],"boolField":false,"intField":-957,"numField":-685.8146153552825,"objField":{"GmkAs":-5192212183275573147,"ImxjFHp":5794859616469700402,"WEjkEsvuUN":-3654139662484609431,"ghzsapQnss":4147536337297156045,"mXaR":-8011412962825461579,"zmxJMloPD":7578144437019452804},"stringDateField":"1950-06-17","stringDateTimeField":"1975-10-16T10:05:00Z","stringField":"npmH","stringTimeField":"23:44:49.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":-957,"numField":-685.8146153552825,"stringDateField":"1950-06-17","stringDateTimeField":"1975-10-16T10:05:00Z","stringField":"npmH","stringTimeField":"23:44:49.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4820,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4820,"uuid":"9e0a8a39-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ArJAla","FTixX","ptQXjBFYNX","fNKaKYKY"],"boolField":false,"intField":822,"numField":500.7891753560205,"objField":{"EnUuIiRmt":2315922968525699351,"FvfPPk":7260717519964958297,"WXPhFq":1245167658819804414,"eTVMHCg":-663146551070628136,"ioaK":-5468911761827669499,"loPx":-1481945089475526361,"lyzGLiUSTP":4928432405783652099,"tpFZgxaw":-1467080438153974692,"uqFAllCr":-3655587021318701178},"stringDateField":"1948-09-22","stringDateTimeField":"1960-08-05T04:45:09Z","stringField":"BVHmdSS","stringTimeField":"05:02:09.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":822,"numField":500.7891753560205,"stringDateField":"1948-09-22","stringDateTimeField":"1960-08-05T04:45:09Z","stringField":"BVHmdSS","stringTimeField":"05:02:09.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4821,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4821,"uuid":"9e0a8a39-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["AQxZWYfVxu","gkYFn","HDlC"],"boolField":true,"intField":-555,"numField":268.96911992826824,"objField":{"VNar":-7432715236956440214},"stringDateField":"1951-07-04","stringDateTimeField":"1954-09-29T20:30:34Z","stringField":"QsuaTLVia","stringTimeField":"04:50:51.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":-555,"numField":268.96911992826824,"stringDateField":"1951-07-04","stringDateTimeField":"1954-09-29T20:30:34Z","stringField":"QsuaTLVia","stringTimeField":"04:50:51.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4822,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4822,"uuid":"9e0a8a39-5655-11ee-9001-675ed0f8e89b"},"arrayField":["nxBa","JPlEz","qYpi","VvJQPWLWId","SWlXVrmMy","ooBdhYLp","kylkAhdA"],"boolField":false,"intField":254,"numField":692.0018679750482,"objField":{"BdjGB":-8940918000957540133,"JXkUql":-8941096611787675058,"Jkec":-8223157571273588679,"Rwpyd":-7004558351992995853,"ZAwqVMeC":-7439434438035796965,"gCUjdlx":-7875929647834723486,"gwAhTjvMH":4784837349678297439,"yITo":-5468690232227488152},"stringDateField":"2018-12-18","stringDateTimeField":"1911-02-14T14:21:26Z","stringField":"LCIjHhUxjd","stringTimeField":"19:35:26.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":254,"numField":692.0018679750482,"stringDateField":"2018-12-18","stringDateTimeField":"1911-02-14T14:21:26Z","stringField":"LCIjHhUxjd","stringTimeField":"19:35:26.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4823,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4823,"uuid":"9e0a8a39-5655-11ee-9401-675ed0f8e89b"},"arrayField":["BZSZh","guKxmLKp","ciUbfR","WqHDPYPg"],"boolField":true,"intField":106,"numField":222.4680313763172,"objField":{"OhdauFn":-4041723277066756965,"RUDAtAOkQu":-6710905166666071307,"RnYHwhokpp":3747468688026937200,"WOJoD":5747408705454207032,"bKkseU":-6067847490116575134,"xKydtkntin":7970301103720797465},"stringDateField":"2011-01-13","stringDateTimeField":"1960-09-16T09:46:17Z","stringField":"zebotPnpWC","stringTimeField":"03:55:54.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":106,"numField":222.4680313763172,"stringDateField":"2011-01-13","stringDateTimeField":"1960-09-16T09:46:17Z","stringField":"zebotPnpWC","stringTimeField":"03:55:54.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4824,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4824,"uuid":"9e0a8a39-5655-11ee-9801-675ed0f8e89b"},"arrayField":["tTgZPmGk","uNYs"],"boolField":false,"intField":-320,"numField":944.197145501696,"objField":{"mDhyebg":5190072144151816456,"qiubwzbV":-4726404029709561698,"sRuK":6385827729832521775},"stringDateField":"2007-09-17","stringDateTimeField":"1950-04-28T04:49:05Z","stringField":"ieje","stringTimeField":"17:40:56.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":-320,"numField":944.197145501696,"stringDateField":"2007-09-17","stringDateTimeField":"1950-04-28T04:49:05Z","stringField":"ieje","stringTimeField":"17:40:56.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4825,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4825,"uuid":"9e0a8a39-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["oAVqZA","zBZDi","jEIkhwNM","CrkABIsRH","QHapHcxNBH","fEpZ","IjdFDKF","flOfkfpB","dxjZDQ"],"boolField":true,"intField":160,"numField":450.69983879801015,"objField":{"KHHXMB":-1128936919595737137,"MwKoGaA":3526567456908800700,"QhOTcQvHs":4630442715736506210,"cOampxNz":-7472147972383415146,"iypzXdA":1514003097085100409,"qtvSX":-6111191370841157570,"tZucVzE":9188430297328220108,"yRLriIr":-4563864815020537392,"yvZbbFP":-9062514337799195814},"stringDateField":"1997-01-04","stringDateTimeField":"2016-08-16T02:04:34Z","stringField":"hhqESiCc","stringTimeField":"20:49:12.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":160,"numField":450.69983879801015,"stringDateField":"1997-01-04","stringDateTimeField":"2016-08-16T02:04:34Z","stringField":"hhqESiCc","stringTimeField":"20:49:12.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4826,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4826,"uuid":"9e0a8a39-5655-11ee-a001-675ed0f8e89b"},"arrayField":["ozbSPR","QJFdWZL","mgHWjzV","cKtcL","JXlqQ","UIjzQc"],"boolField":false,"intField":-933,"numField":-993.9974678425002,"objField":{"FlvZKX":-4493495116463746145,"GiwpsCoqjy":5195212060165057514,"aRCTKWZw":-1562665702541087256,"euoR":1452072217851840427,"qxzKRgEkuh":-7801371621362099397,"wLDWemI":3694902979380993336,"xNZCLbtTyx":-4321015453580848794,"xViQPYMIvM":7416497063207630709},"stringDateField":"1927-05-23","stringDateTimeField":"2023-09-11T06:09:38Z","stringField":"LcrXrOv","stringTimeField":"05:57:32.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":-933,"numField":-993.9974678425002,"stringDateField":"1927-05-23","stringDateTimeField":"2023-09-11T06:09:38Z","stringField":"LcrXrOv","stringTimeField":"05:57:32.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4827,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4827,"uuid":"9e0a8a39-5655-11ee-a401-675ed0f8e89b"},"arrayField":["hwfCW","OieBkiTu"],"boolField":true,"intField":364,"numField":156.5039891129103,"objField":{"HMGdmTy":580539547092109196,"mAyLKGgKnD":532469164430119670,"uuwUiFLzJ":6863155754724342997,"ymXfsGdP":1185673574670034467},"stringDateField":"1928-02-26","stringDateTimeField":"2015-05-12T19:25:54Z","stringField":"dWCVXfy","stringTimeField":"17:55:00.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":364,"numField":156.5039891129103,"stringDateField":"1928-02-26","stringDateTimeField":"2015-05-12T19:25:54Z","stringField":"dWCVXfy","stringTimeField":"17:55:00.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4828,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4828,"uuid":"9e0a8a39-5655-11ee-a801-675ed0f8e89b"},"arrayField":["WVJEDUSZ","uaxXbj"],"boolField":false,"intField":343,"numField":39.13679818727811,"objField":{"AgdH":4918151637117413738,"HjxA":1612299983357254534,"NiJYoYyLo":-2079634759426083460,"NjQEGrtG":-184609460747928737,"WTFGsr":-2930595039073226295,"gSMXzB":-4269564096659948607,"kvknycfiVg":8503318747808271448,"vaQthVkN":-4256646900829971805,"zLIrUQBIw":-4000626601870323626},"stringDateField":"1986-04-16","stringDateTimeField":"1989-08-13T09:38:13Z","stringField":"myZBXUQnVQ","stringTimeField":"02:15:38.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":343,"numField":39.13679818727811,"stringDateField":"1986-04-16","stringDateTimeField":"1989-08-13T09:38:13Z","stringField":"myZBXUQnVQ","stringTimeField":"02:15:38.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4829,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4829,"uuid":"9e0a8a39-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["BjgoDz","oAwGHcot","iRHkkpvC","tXrif","oaTQaF","TdeTaSC","ydcteYAo","xYcu"],"boolField":false,"intField":-590,"numField":566.9845886974025,"objField":{"KlcnYYVfi":-1254829715263775368,"MsTz":-7016060357160232479,"OkepddG":-9046609739620577492,"gGcV":8830082281715718591,"gXNcTTGXRG":7304312910569776222,"lzcUCJY":4691654564523822412,"yHKeJumY":8674252508267034612,"ynFyuD":-5052720644292686493},"stringDateField":"1952-05-19","stringDateTimeField":"2016-11-09T08:48:53Z","stringField":"FnlRXTwXo","stringTimeField":"00:45:23.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":-590,"numField":566.9845886974025,"stringDateField":"1952-05-19","stringDateTimeField":"2016-11-09T08:48:53Z","stringField":"FnlRXTwXo","stringTimeField":"00:45:23.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4830,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4830,"uuid":"9e0a8a39-5655-11ee-b001-675ed0f8e89b"},"arrayField":["uKDKec","mSbZaOXn"],"boolField":false,"intField":-291,"numField":-858.9847586296763,"objField":{"CWcEe":-1827249589133841257,"NclFvqolxM":4274908934825945513,"iWKHV":7287288408655639391,"qLDqJM":6413606814322528915,"qygr":173580093428797182,"vHAYNfDUO":-7834864896783595570,"wUsbSO":-4568386554784300917},"stringDateField":"1947-12-02","stringDateTimeField":"1947-10-07T05:05:24Z","stringField":"HRBxUMqmzo","stringTimeField":"14:49:12.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":-291,"numField":-858.9847586296763,"stringDateField":"1947-12-02","stringDateTimeField":"1947-10-07T05:05:24Z","stringField":"HRBxUMqmzo","stringTimeField":"14:49:12.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4831,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4831,"uuid":"9e0a8a39-5655-11ee-b401-675ed0f8e89b"},"arrayField":["BMqNzTen","XTDD","VhcTlMjy","DuQzPxKO","NiVPl","VaerCtNQO"],"boolField":false,"intField":-659,"numField":-155.12083642305063,"objField":{"HVVoGtkbD":6965499695787664247,"wxkvb":1100356028179028154},"stringDateField":"2019-01-23","stringDateTimeField":"1922-10-19T00:12:15Z","stringField":"wbYImLDK","stringTimeField":"11:22:30.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":-659,"numField":-155.12083642305063,"stringDateField":"2019-01-23","stringDateTimeField":"1922-10-19T00:12:15Z","stringField":"wbYImLDK","stringTimeField":"11:22:30.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4832,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4832,"uuid":"9e0a8a39-5655-11ee-b801-675ed0f8e89b"},"arrayField":["XeVklm","EMARyZG","LQbTu","vrZVmPutM","sZGYfd"],"boolField":true,"intField":481,"numField":-726.7891313223921,"objField":{"FZtXgGa":-2777108005319781101,"GRBfAfvhM":-1878436183870381092,"HhIZWNL":-7080792549309090611,"UBpBbLV":-548049402070238327,"VCmnk":1794622108236510160,"WlHh":5104139184903454140,"duVuZ":257318546242033744,"eUfd":-5166701534490545855,"jDgcvJw":4885370297133917306,"pVIokExlP":5506018113988305583},"stringDateField":"2004-06-19","stringDateTimeField":"1992-12-31T14:35:38Z","stringField":"hNaD","stringTimeField":"19:05:53.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":481,"numField":-726.7891313223921,"stringDateField":"2004-06-19","stringDateTimeField":"1992-12-31T14:35:38Z","stringField":"hNaD","stringTimeField":"19:05:53.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4833,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4833,"uuid":"9e0a8a39-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["isXbZakrki","ZsRraZo","ZxnsGTi","ZpSnafvRVZ","GMru","UOJz","gmVYgcdsK","vFVW","ruTqclqC"],"boolField":true,"intField":-24,"numField":-218.05882194564344,"objField":{"utuE":5485740670283213462},"stringDateField":"1997-10-05","stringDateTimeField":"1985-03-16T17:31:19Z","stringField":"esDvA","stringTimeField":"01:46:33.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763833Z","intField":-24,"numField":-218.05882194564344,"stringDateField":"1997-10-05","stringDateTimeField":"1985-03-16T17:31:19Z","stringField":"esDvA","stringTimeField":"01:46:33.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4834,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4834,"uuid":"9e0a8a3a-5655-11ee-8001-675ed0f8e89b"},"arrayField":["dKaDKUcXJr","pPhTtk","ceAN"],"boolField":false,"intField":520,"numField":-185.1944597612385,"objField":{"ELBlal":-7987538001851025589,"FuhzauxI":235678403722913717,"OJJXjNjOxt":4067468338231427025,"SNqF":6163284327071887990,"bSqRYHn":4345832488246331864,"uYmx":-8604215867941668667,"zVvvLzxj":-3224692735307095921},"stringDateField":"1917-01-07","stringDateTimeField":"1972-02-11T17:04:40Z","stringField":"xMwIsmWVc","stringTimeField":"02:54:28.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":520,"numField":-185.1944597612385,"stringDateField":"1917-01-07","stringDateTimeField":"1972-02-11T17:04:40Z","stringField":"xMwIsmWVc","stringTimeField":"02:54:28.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4835,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4835,"uuid":"9e0a8a3a-5655-11ee-8401-675ed0f8e89b"},"arrayField":["tnjYPKD","vxUoUU"],"boolField":true,"intField":-494,"numField":-64.77882784871348,"objField":{"VHfATYlAAD":-1956282849791627525,"bvBVTgRsq":-3260166834536972376},"stringDateField":"1962-03-10","stringDateTimeField":"1924-06-08T04:02:24Z","stringField":"OUVPShhah","stringTimeField":"21:49:51.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":-494,"numField":-64.77882784871348,"stringDateField":"1962-03-10","stringDateTimeField":"1924-06-08T04:02:24Z","stringField":"OUVPShhah","stringTimeField":"21:49:51.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4836,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4836,"uuid":"9e0a8a3a-5655-11ee-8801-675ed0f8e89b"},"arrayField":["yOzd","oMzbmudy","nZyzw"],"boolField":true,"intField":-49,"numField":-573.4960581615279,"objField":{"SDLK":5053953269568464978,"eAoMnVbcKQ":597913945668836269,"jPiuQb":-5041250522623738794,"jQRLw":7613185237712937077,"oklBe":3481952649807322135},"stringDateField":"1929-05-18","stringDateTimeField":"2004-03-07T20:03:36Z","stringField":"XMiCWWsec","stringTimeField":"19:18:58.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":-49,"numField":-573.4960581615279,"stringDateField":"1929-05-18","stringDateTimeField":"2004-03-07T20:03:36Z","stringField":"XMiCWWsec","stringTimeField":"19:18:58.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4837,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4837,"uuid":"9e0a8a3a-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["YEoBNp","QqoqS","JnHq","eXcs","hCPmnwzYZN","FJVKlXeWL","xgZukMWz","IQWPE","bcgSYyU"],"boolField":false,"intField":-450,"numField":-431.2899761740029,"objField":{"HssH":3016123691871617178,"TEkLOrzWri":-8646609885951469623,"VNLDXOlp":1000274159146925698,"cEtlXnyob":-8283166606463963157,"gjzwwAnqh":-288582742087029343,"kDtKPsA":-6214607544398217482,"lWlCK":-1425028377430325969,"mDeirfxA":1026985056899505852},"stringDateField":"1944-03-27","stringDateTimeField":"1984-03-07T08:53:43Z","stringField":"BisdACHtzF","stringTimeField":"04:25:01.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":-450,"numField":-431.2899761740029,"stringDateField":"1944-03-27","stringDateTimeField":"1984-03-07T08:53:43Z","stringField":"BisdACHtzF","stringTimeField":"04:25:01.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4838,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4838,"uuid":"9e0a8a3a-5655-11ee-9001-675ed0f8e89b"},"arrayField":["oQtGbFGczQ","Qycx","GaYAHN","FHFbGdX","VOEktFddu","FJbCG"],"boolField":true,"intField":-674,"numField":-808.462216756161,"objField":{"zZbrCvdug":3350599940013255976},"stringDateField":"1973-12-31","stringDateTimeField":"1925-11-12T09:24:33Z","stringField":"yiHrSxdF","stringTimeField":"16:36:15.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":-674,"numField":-808.462216756161,"stringDateField":"1973-12-31","stringDateTimeField":"1925-11-12T09:24:33Z","stringField":"yiHrSxdF","stringTimeField":"16:36:15.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4839,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4839,"uuid":"9e0a8a3a-5655-11ee-9401-675ed0f8e89b"},"arrayField":["iHncnAKywE","DgWmNk","bxqaTfgfV","EqOrD","oOBxYxHO","ToCk","VBTw","sqQkX","eJxWpZoic"],"boolField":false,"intField":-757,"numField":-929.6939522725504,"objField":{"RCFzFrzhM":9080004181962759333,"atDRL":6250870906782822196,"pIJuwjlKA":2470541277224369944},"stringDateField":"1992-07-10","stringDateTimeField":"1901-12-07T21:31:50Z","stringField":"CUilpSCJ","stringTimeField":"07:37:51.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":-757,"numField":-929.6939522725504,"stringDateField":"1992-07-10","stringDateTimeField":"1901-12-07T21:31:50Z","stringField":"CUilpSCJ","stringTimeField":"07:37:51.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4840,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4840,"uuid":"9e0a8a3a-5655-11ee-9801-675ed0f8e89b"},"arrayField":["LaQy","npJzOo","nNfXvK","YyFQrRYnm","HhijFjdjb","kpxM","jeAhGos","mdLrG","rLNUJwhxNN"],"boolField":true,"intField":482,"numField":341.6928502949683,"objField":{"cZGjVAEQ":8436716448289736161},"stringDateField":"1919-05-06","stringDateTimeField":"1990-08-29T17:35:46Z","stringField":"DFPJ","stringTimeField":"16:04:14.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":482,"numField":341.6928502949683,"stringDateField":"1919-05-06","stringDateTimeField":"1990-08-29T17:35:46Z","stringField":"DFPJ","stringTimeField":"16:04:14.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4841,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4841,"uuid":"9e0a8a3a-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["IbEBzLgVp"],"boolField":true,"intField":-768,"numField":41.43025442434056,"objField":{"KQGaznJf":-4419590859364391759,"XFlMNT":-8829308128601180809,"ZiCURCuan":5394681772328075256,"agfTRxKk":-3234660471657638776,"csjRNdppH":2282856822828625055,"ctxauF":-7447883248983632136,"daQIjNOv":1607815729033218129,"mgsSrPqmbh":3771651299451056857},"stringDateField":"2008-07-24","stringDateTimeField":"1970-03-01T00:33:15Z","stringField":"khZVPO","stringTimeField":"16:07:11.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":-768,"numField":41.43025442434056,"stringDateField":"2008-07-24","stringDateTimeField":"1970-03-01T00:33:15Z","stringField":"khZVPO","stringTimeField":"16:07:11.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4842,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4842,"uuid":"9e0a8a3a-5655-11ee-a001-675ed0f8e89b"},"arrayField":["WAEfwObeX","UQzANfbjhf"],"boolField":false,"intField":718,"numField":-42.4246442198396,"objField":{"CXRqHK":-9196942384356970168,"sVoMGsIW":7918070238325288331,"uAuRMY":-6389822642746896216},"stringDateField":"2016-07-29","stringDateTimeField":"1919-03-29T10:21:06Z","stringField":"AUcS","stringTimeField":"09:06:45.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":718,"numField":-42.4246442198396,"stringDateField":"2016-07-29","stringDateTimeField":"1919-03-29T10:21:06Z","stringField":"AUcS","stringTimeField":"09:06:45.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4843,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4843,"uuid":"9e0a8a3a-5655-11ee-a401-675ed0f8e89b"},"arrayField":["dcgGwJxuIh","RRGoHqwpV","byWvwiUBR"],"boolField":false,"intField":745,"numField":417.84974606296686,"objField":{"ChZB":4141130307419717015,"KgHOiQI":-2115743895806725483,"OcCErqydj":7515635607904745020,"OjcSMJrWHq":-7576164974479225817,"SZZSE":-380827282286586881,"gSDsKJMw":9037643653810028941,"kFwwTOm":-747036248206733913},"stringDateField":"1977-10-01","stringDateTimeField":"2005-11-26T15:31:46Z","stringField":"XSAWoQ","stringTimeField":"07:47:15.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":745,"numField":417.84974606296686,"stringDateField":"1977-10-01","stringDateTimeField":"2005-11-26T15:31:46Z","stringField":"XSAWoQ","stringTimeField":"07:47:15.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4844,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4844,"uuid":"9e0a8a3a-5655-11ee-a801-675ed0f8e89b"},"arrayField":["UOoWpwdu","uUwRoGsqw","RbdBFi","xUvtIQ","nfvsyPEUp","MPzpiwUQu","dvmUqFSCwZ","lSokVM","iiPQ","xwugAidrpU"],"boolField":true,"intField":-987,"numField":-681.8915142070116,"objField":{"cqDAFfppIH":-5005596013053364347,"gOUzNxjpcX":-2067470836604162150,"lliq":4734842651997277409,"niaIqJQB":-7905431843950874099,"qRwk":6039534839989590811,"vTlFUMXl":450753212507645666,"xVEQwOjV":-2371641039242490783},"stringDateField":"1944-11-10","stringDateTimeField":"1925-03-15T12:54:15Z","stringField":"jszyabCn","stringTimeField":"20:37:35.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":-987,"numField":-681.8915142070116,"stringDateField":"1944-11-10","stringDateTimeField":"1925-03-15T12:54:15Z","stringField":"jszyabCn","stringTimeField":"20:37:35.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4845,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4845,"uuid":"9e0a8a3a-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["xGLez","hpxVoaE","LCodOyuEAy"],"boolField":true,"intField":83,"numField":-111.1366398274648,"objField":{"DvzQ":3547958440628896053,"FWeX":-7266605217899371933,"NqTN":-3495900473140624908,"PdGOcVITnf":-6846446957787670648,"cQhbygMN":5451110942041114668,"dBUgYzLLPQ":2005128663993105471,"dgEmTs":8130780638769391702,"htWamT":2276229457217085709,"iGUkzOKk":-3408817386022927580},"stringDateField":"1962-04-18","stringDateTimeField":"1912-09-03T08:22:39Z","stringField":"jjWbTWhxcI","stringTimeField":"07:08:40.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":83,"numField":-111.1366398274648,"stringDateField":"1962-04-18","stringDateTimeField":"1912-09-03T08:22:39Z","stringField":"jjWbTWhxcI","stringTimeField":"07:08:40.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4846,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4846,"uuid":"9e0a8a3a-5655-11ee-b001-675ed0f8e89b"},"arrayField":["wiOXyb"],"boolField":true,"intField":773,"numField":-737.6487755814835,"objField":{"DiQvW":269017533528429605,"InGKeA":5661003581924413021,"ZAhsGb":7632081413401760277,"aIxQq":-2296945426616553168,"bpri":-4094585136665599681,"eYRI":-4580472441244829802,"iYIca":6854027314203137418,"iorpx":3560805164024565317},"stringDateField":"1979-03-25","stringDateTimeField":"1996-10-03T04:20:25Z","stringField":"kKIL","stringTimeField":"00:56:50.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":773,"numField":-737.6487755814835,"stringDateField":"1979-03-25","stringDateTimeField":"1996-10-03T04:20:25Z","stringField":"kKIL","stringTimeField":"00:56:50.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4847,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4847,"uuid":"9e0a8a3a-5655-11ee-b401-675ed0f8e89b"},"arrayField":["BKSI","ydTCehBvL","xjRicGB","ufQCyG","OglLlq","IkJtKf","KlkVpeU","WJRl","lDLf","oWZhbic"],"boolField":false,"intField":-931,"numField":-67.32021694449286,"objField":{"mijfqHzfT":-617208108618976092},"stringDateField":"1958-01-20","stringDateTimeField":"1988-07-10T10:24:31Z","stringField":"DdXk","stringTimeField":"21:37:07.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":-931,"numField":-67.32021694449286,"stringDateField":"1958-01-20","stringDateTimeField":"1988-07-10T10:24:31Z","stringField":"DdXk","stringTimeField":"21:37:07.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4848,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4848,"uuid":"9e0a8a3a-5655-11ee-b801-675ed0f8e89b"},"arrayField":["sTacov","xwuGXeZL"],"boolField":false,"intField":411,"numField":697.6511794365297,"objField":{"FJDGrzjn":-4106289528491974941,"YdHOa":3028266179793695459,"ZDPRqIOZh":-4756281590104278135,"qeqYPeVqrl":6204316012968296096,"xJPVUsV":4776724118162312393},"stringDateField":"2017-04-27","stringDateTimeField":"1932-05-23T02:37:21Z","stringField":"QQNXMSiFEP","stringTimeField":"09:39:33.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":411,"numField":697.6511794365297,"stringDateField":"2017-04-27","stringDateTimeField":"1932-05-23T02:37:21Z","stringField":"QQNXMSiFEP","stringTimeField":"09:39:33.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4849,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4849,"uuid":"9e0a8a3a-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["HlPNVZoIL","iXVLO","JzqvCis","GjXNXL","zFXCHx","mTGgpp"],"boolField":true,"intField":-757,"numField":-113.52898512288112,"objField":{"HIWpdRb":2247798178292976113,"HVSqFopJY":2439100253870187851,"HgWodd":-3054994613824889011,"OMKaIUTOyN":-743130219012203462,"aKdzdNje":-5185532944617107039,"cDbhLWrPvb":2382259391031622201,"cXktMxHbz":356049311187620594,"dSTaFD":4969067222016800193,"nHhYXpSFE":6076897463863952196,"qQZcxpe":-1741456130999370162},"stringDateField":"1916-10-05","stringDateTimeField":"2022-12-01T15:31:03Z","stringField":"lfPW","stringTimeField":"18:32:00.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763834Z","intField":-757,"numField":-113.52898512288112,"stringDateField":"1916-10-05","stringDateTimeField":"2022-12-01T15:31:03Z","stringField":"lfPW","stringTimeField":"18:32:00.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4850,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4850,"uuid":"9e0a8a3b-5655-11ee-8001-675ed0f8e89b"},"arrayField":["YxHOxfaUMN","TEjR","sKcahqxlR","TTbbvWy","AgKjvZZ"],"boolField":true,"intField":799,"numField":-863.7849187562092,"objField":{"CudD":5934436940111937648,"FlDJl":7942213093367127894,"FtDRfQIf":7169394328435936424,"WNJJ":-1616106713258966952,"ZkBOtUN":3547698305758888555,"cStcgxfVV":8224284213554158313,"jEIDlzDd":4445533385806883400,"nlBADFzhOQ":-1505870981175754019,"rOZzEFMJ":7198469335307844312,"ytxXsHEv":3753212615577280873},"stringDateField":"1982-02-15","stringDateTimeField":"1906-10-29T11:43:23Z","stringField":"ebmLXqLIX","stringTimeField":"18:17:00.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":799,"numField":-863.7849187562092,"stringDateField":"1982-02-15","stringDateTimeField":"1906-10-29T11:43:23Z","stringField":"ebmLXqLIX","stringTimeField":"18:17:00.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4851,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4851,"uuid":"9e0a8a3b-5655-11ee-8401-675ed0f8e89b"},"arrayField":["klpnAiOR","HTFO","zmOIWNvoc"],"boolField":false,"intField":-61,"numField":-158.6812933438768,"objField":{"KAgmDh":-4897969384651124265,"QVyQwrl":5837859274295956524},"stringDateField":"1967-09-28","stringDateTimeField":"1954-08-29T13:44:15Z","stringField":"Ebuas","stringTimeField":"11:13:18.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":-61,"numField":-158.6812933438768,"stringDateField":"1967-09-28","stringDateTimeField":"1954-08-29T13:44:15Z","stringField":"Ebuas","stringTimeField":"11:13:18.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4852,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4852,"uuid":"9e0a8a3b-5655-11ee-8801-675ed0f8e89b"},"arrayField":["KTaEr","qhraWCB","vieXStl","TkyrlK","vpjWZw","ibNKrclLoH"],"boolField":true,"intField":-582,"numField":922.4368332568652,"objField":{"BgHEi":908272294705772890,"EnbuXlQES":2603656225347771074,"KaLDBgqxmY":-5222276274993679106,"QdVB":6645470549146929194,"ZJZO":-8797957920447198432,"vttyiiE":685706969339727438},"stringDateField":"1978-03-04","stringDateTimeField":"1900-05-12T16:02:44Z","stringField":"yPXMKm","stringTimeField":"04:14:57.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":-582,"numField":922.4368332568652,"stringDateField":"1978-03-04","stringDateTimeField":"1900-05-12T16:02:44Z","stringField":"yPXMKm","stringTimeField":"04:14:57.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4853,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4853,"uuid":"9e0a8a3b-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["Ypsr","JPRorrnpmQ"],"boolField":false,"intField":-147,"numField":563.3970021756273,"objField":{"BlHAcRRxp":-6223524450648971164,"YtNQ":1695062384957249189,"YulLF":-1703783065102394807,"fYvx":-5489646398540428807,"fdmUsuZQ":-7048920410914643212,"liLZuN":-1197681224029607094},"stringDateField":"1988-11-23","stringDateTimeField":"1989-01-21T05:45:49Z","stringField":"wzAoPFy","stringTimeField":"00:43:05.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":-147,"numField":563.3970021756273,"stringDateField":"1988-11-23","stringDateTimeField":"1989-01-21T05:45:49Z","stringField":"wzAoPFy","stringTimeField":"00:43:05.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4854,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4854,"uuid":"9e0a8a3b-5655-11ee-9001-675ed0f8e89b"},"arrayField":["HXQqfTNwbf","pzKtHmXC","JlCsX","kBFAQXQ","OgbPssmdBQ","BtfjHDxnt","EeLDk","kyQZXFwew","kNSbF"],"boolField":false,"intField":-877,"numField":-535.6137147308788,"objField":{"AjvcQrR":-8950123408894819980,"FgkzzW":-8539354533495753885,"bSHvQAaWug":7678864951392749935,"eGnxYTk":-4616387584852993163,"tiPI":-8948118455029030159,"voCmcGj":-2467977417887492827,"ydJCsYEuqA":-2151431398358935946},"stringDateField":"2005-05-11","stringDateTimeField":"1928-03-24T19:23:44Z","stringField":"rYVqFPgI","stringTimeField":"22:29:11.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":-877,"numField":-535.6137147308788,"stringDateField":"2005-05-11","stringDateTimeField":"1928-03-24T19:23:44Z","stringField":"rYVqFPgI","stringTimeField":"22:29:11.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4855,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4855,"uuid":"9e0a8a3b-5655-11ee-9401-675ed0f8e89b"},"arrayField":["LztRv","boxAfKIQM","suwDxfJVPX","XzqAhzituH","keckxhiQ","QyrZ"],"boolField":true,"intField":474,"numField":145.84919739637138,"objField":{"GwLzmPRK":-7872264695728936277,"IcPwDsX":-6578262263041842948,"NYZj":8810090963309442025,"NngN":-3897945506274431774,"PFclBJVqAr":3357880237176301767,"dWeC":5796633992240568315,"uXgerl":2064904826859218086},"stringDateField":"1913-12-20","stringDateTimeField":"2010-01-28T01:04:50Z","stringField":"EZBY","stringTimeField":"21:33:18.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":474,"numField":145.84919739637138,"stringDateField":"1913-12-20","stringDateTimeField":"2010-01-28T01:04:50Z","stringField":"EZBY","stringTimeField":"21:33:18.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4856,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4856,"uuid":"9e0a8a3b-5655-11ee-9801-675ed0f8e89b"},"arrayField":["IGoDhQitt","oMlhw","bmcYnlJV","NTDWzDROP","AdNrXoB"],"boolField":false,"intField":-752,"numField":-388.513997847796,"objField":{"CLMKUObj":9128269734323090605,"HKJVUvI":6969854998093353383,"KBlgbM":6819027364849488187,"hlhtiE":4966814313971915710,"klXVnVUPp":-4232861406955795722,"xFoqs":-658068545326973623},"stringDateField":"1905-10-08","stringDateTimeField":"1911-01-30T02:23:12Z","stringField":"iIXAUMBQ","stringTimeField":"17:52:05.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":-752,"numField":-388.513997847796,"stringDateField":"1905-10-08","stringDateTimeField":"1911-01-30T02:23:12Z","stringField":"iIXAUMBQ","stringTimeField":"17:52:05.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4857,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4857,"uuid":"9e0a8a3b-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["GdRb","ounbClqTXU","ETCsnsi"],"boolField":true,"intField":46,"numField":-951.9019404853176,"objField":{"AiPEv":341234788900214238,"UQNYH":6750183523308672471,"YKlOckgPR":1507262039690332894,"ZKiVLq":2453645243239983569,"bZgxlUVwU":-2144905007935672654,"fxNB":-2756079169044266225,"rQLVaqu":6316818703631123975,"wFyni":-2365363540325002371,"xEXn":-6151246217018342326},"stringDateField":"1903-10-12","stringDateTimeField":"1989-09-12T14:40:51Z","stringField":"zHGWqbPV","stringTimeField":"12:58:30.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":46,"numField":-951.9019404853176,"stringDateField":"1903-10-12","stringDateTimeField":"1989-09-12T14:40:51Z","stringField":"zHGWqbPV","stringTimeField":"12:58:30.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4858,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4858,"uuid":"9e0a8a3b-5655-11ee-a001-675ed0f8e89b"},"arrayField":["SwEn","XaNhkdg","FDdVQBrK","tPNKijH","dloFI","uHNmRkRhp","ftrmFjJ","eJmL"],"boolField":true,"intField":-808,"numField":300.02669241171895,"objField":{"IwbBwZKyWx":1544670348384895611},"stringDateField":"2019-09-22","stringDateTimeField":"1921-01-30T00:32:42Z","stringField":"jexxniaoz","stringTimeField":"14:29:05.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":-808,"numField":300.02669241171895,"stringDateField":"2019-09-22","stringDateTimeField":"1921-01-30T00:32:42Z","stringField":"jexxniaoz","stringTimeField":"14:29:05.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4859,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4859,"uuid":"9e0a8a3b-5655-11ee-a401-675ed0f8e89b"},"arrayField":["iZJLrZVL"],"boolField":true,"intField":286,"numField":-901.3747080131976,"objField":{"HhhJgcS":8903525228826103008,"KOibJbDJQ":1927417813435633449,"NAWPx":4446976601850487926,"aWHnyw":-5798205726488524088,"kWXDuiUY":-3520127899895750408,"mIIVLC":-1984679557156947893,"qIIQ":-7056516657488197772,"rbawEnLKOq":-7062592164207525052},"stringDateField":"1914-03-08","stringDateTimeField":"1927-11-25T09:54:46Z","stringField":"dGLoVZXpV","stringTimeField":"21:01:58.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":286,"numField":-901.3747080131976,"stringDateField":"1914-03-08","stringDateTimeField":"1927-11-25T09:54:46Z","stringField":"dGLoVZXpV","stringTimeField":"21:01:58.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4860,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4860,"uuid":"9e0a8a3b-5655-11ee-a801-675ed0f8e89b"},"arrayField":["ETZQ"],"boolField":false,"intField":-699,"numField":-558.1664015284671,"objField":{"DUzaVs":252486838683613750,"FjZhjq":6335227243303771880,"RgDzh":2508395878531736304,"TMmvCfr":-291195782182184106,"aACXloAbp":-9011043295909978601,"kMRS":6162219519631088831,"kvjFW":6389584280592220656,"rKQbdU":-4904076544899365034,"tAsLUINIMN":-2851168088084628816},"stringDateField":"2003-09-01","stringDateTimeField":"1905-08-21T02:03:01Z","stringField":"SfSFrMP","stringTimeField":"12:38:56.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":-699,"numField":-558.1664015284671,"stringDateField":"2003-09-01","stringDateTimeField":"1905-08-21T02:03:01Z","stringField":"SfSFrMP","stringTimeField":"12:38:56.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4861,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4861,"uuid":"9e0a8a3b-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["NjEuLFaVt","qhgmZW","JPDuGHF","uyUHoUDjm","YKJgKjHHPH","YNlbllV","NBsTG"],"boolField":false,"intField":-104,"numField":-741.4898363037465,"objField":{"CzzIRR":-6156858907523713296,"JFRg":-2027720763319221313,"TZMNhK":-5980364940342579295,"ibPVyP":-9148458186426669173,"xEKOz":-2546908905205535561},"stringDateField":"1989-09-13","stringDateTimeField":"1949-11-01T17:25:23Z","stringField":"EDeEDKWv","stringTimeField":"21:53:29.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":-104,"numField":-741.4898363037465,"stringDateField":"1989-09-13","stringDateTimeField":"1949-11-01T17:25:23Z","stringField":"EDeEDKWv","stringTimeField":"21:53:29.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4862,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4862,"uuid":"9e0a8a3b-5655-11ee-b001-675ed0f8e89b"},"arrayField":["BFNxj"],"boolField":false,"intField":896,"numField":-70.12254552253616,"objField":{"CQOU":6560660734062394944,"GtcFzE":3185937617650654937,"HbwRlmk":-2774489571416639078,"bZvpdxsl":425181042761425443,"rxGh":164067772944918659,"uSGidsEWP":7893524568904131466},"stringDateField":"1991-06-08","stringDateTimeField":"1902-11-04T09:10:42Z","stringField":"URPj","stringTimeField":"05:48:53.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":896,"numField":-70.12254552253616,"stringDateField":"1991-06-08","stringDateTimeField":"1902-11-04T09:10:42Z","stringField":"URPj","stringTimeField":"05:48:53.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4863,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4863,"uuid":"9e0a8a3b-5655-11ee-b401-675ed0f8e89b"},"arrayField":["hXWbDYYC","tcjzrNrsTw","AnmXKxS","uAucG","CvejArk","mnRINhnxt"],"boolField":false,"intField":-223,"numField":870.1731499610605,"objField":{"LpyK":3906500103867919116,"ioLSzr":-7349254621693631694,"nEzKTXz":6306635158462499554,"vxjtUEOO":-2268672746169108117,"xErxU":-7445052921746009872},"stringDateField":"1913-09-26","stringDateTimeField":"1934-01-27T09:38:15Z","stringField":"GmaCPLgqY","stringTimeField":"04:31:28.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":-223,"numField":870.1731499610605,"stringDateField":"1913-09-26","stringDateTimeField":"1934-01-27T09:38:15Z","stringField":"GmaCPLgqY","stringTimeField":"04:31:28.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4864,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4864,"uuid":"9e0a8a3b-5655-11ee-b801-675ed0f8e89b"},"arrayField":["EFHco","LaFDtEa","WUWmu","liMLFcazeH","KYpgHx","TgCZA","qnfn","HHgxWmZpf","qxsAmFNZ","tfHf"],"boolField":false,"intField":-656,"numField":204.19819505908657,"objField":{"FzDQO":-4905482430642979735,"HToE":4744990161840947634,"NmYM":-6483435534390989601,"gjqKsv":2745073029668394454,"iVWyVgfm":-8338676906963376952},"stringDateField":"1978-05-14","stringDateTimeField":"1938-03-16T17:26:30Z","stringField":"dnQzLahkR","stringTimeField":"17:26:14.25Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":-656,"numField":204.19819505908657,"stringDateField":"1978-05-14","stringDateTimeField":"1938-03-16T17:26:30Z","stringField":"dnQzLahkR","stringTimeField":"17:26:14.25Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4865,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4865,"uuid":"9e0a8a3b-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["nMvIV","QiBPJH","icmDj","ZoORYNa","smJKHEmUi","bPIKk","UNKv","sRTnxnX"],"boolField":true,"intField":-908,"numField":415.9040391718984,"objField":{"cniXNCKd":-7340029141271236554,"qLlrWoiG":3806289311809077402},"stringDateField":"2013-05-23","stringDateTimeField":"1938-02-11T19:55:55Z","stringField":"RtgP","stringTimeField":"22:16:14.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763835Z","intField":-908,"numField":415.9040391718984,"stringDateField":"2013-05-23","stringDateTimeField":"1938-02-11T19:55:55Z","stringField":"RtgP","stringTimeField":"22:16:14.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4866,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4866,"uuid":"9e0a8a3c-5655-11ee-8001-675ed0f8e89b"},"arrayField":["CSluE","ofCcUb","ugYdwCJuT","Ufzr","BNtC","mSRJKEV","nZEGt","onabOQSVXo","RsgjFUUt","esellVvJe"],"boolField":true,"intField":-842,"numField":432.7101878257529,"objField":{"BDjb":531721893683454888,"BuyiRLU":339255345274484278,"JHhFmnH":-7695336200411366275,"mVIMD":7061036512695225831,"wdekeUGyCy":-5623517941400757621},"stringDateField":"1944-12-15","stringDateTimeField":"1986-07-01T12:08:02Z","stringField":"Kwgoq","stringTimeField":"22:41:15.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":-842,"numField":432.7101878257529,"stringDateField":"1944-12-15","stringDateTimeField":"1986-07-01T12:08:02Z","stringField":"Kwgoq","stringTimeField":"22:41:15.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4867,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4867,"uuid":"9e0a8a3c-5655-11ee-8401-675ed0f8e89b"},"arrayField":["DGETARXpV","EFxFNuy","lyWkbE","DZCcV","leKM","zytNNtPgz","QCgfUpvWed","uaQPK"],"boolField":false,"intField":504,"numField":-322.7902985194573,"objField":{"KralC":9185770518472743048,"NLdLWdmEz":-8780950773975784694,"RiksUgFZ":-5245542810940721453,"ZToIjXZ":-3813738267338797186,"iuob":7388130910388244667,"pRvXXdpVja":-8486547480780708179,"qxWFrVmjt":-2784395756106152132},"stringDateField":"1980-04-10","stringDateTimeField":"1982-07-01T00:06:58Z","stringField":"JREJg","stringTimeField":"13:31:44.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":504,"numField":-322.7902985194573,"stringDateField":"1980-04-10","stringDateTimeField":"1982-07-01T00:06:58Z","stringField":"JREJg","stringTimeField":"13:31:44.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4868,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4868,"uuid":"9e0a8a3c-5655-11ee-8801-675ed0f8e89b"},"arrayField":["aGxoGF","SgIwJkc","JVQFqowggn"],"boolField":false,"intField":-708,"numField":-200.15787634303527,"objField":{"AaoTMqh":3857662110172015932,"CQUhO":-3794127149674498892,"IEXl":-4019386092504576097,"JqksMyd":9200967227853135250,"KKleQ":-656553101858544198,"ZyyRW":-8941774378113035573,"fGJO":-3539344745329687259,"jAvMpNJ":3513271894838139354,"sIAcFuKJ":261949822133951535,"uTVfSVha":3338787283138282018},"stringDateField":"2001-05-16","stringDateTimeField":"1954-02-04T01:41:24Z","stringField":"WTkEgfYGgi","stringTimeField":"17:32:22.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":-708,"numField":-200.15787634303527,"stringDateField":"2001-05-16","stringDateTimeField":"1954-02-04T01:41:24Z","stringField":"WTkEgfYGgi","stringTimeField":"17:32:22.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4869,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4869,"uuid":"9e0a8a3c-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["fmZNYHOJPI","Vjvxxh","YwvJoAHF","hCrZGAJ","ETAXYWF","ljwEm","eIHagG","UztLtKaQp","IZrnHrbAdT","MXQgY"],"boolField":true,"intField":84,"numField":303.6232191062718,"objField":{"FoCffCCZ":2006889073093270131,"MttL":-8397371706707643866,"QmGTyCqZOc":-1475666605760225603,"SxQuOkd":3832271809986272546,"YzxL":5534171353656853384,"aSJHYaWR":-5450207333664734909,"jIDhDyEmpI":-834836911431770692,"sUfIc":8500925550335386042},"stringDateField":"2010-02-24","stringDateTimeField":"1908-04-19T13:32:39Z","stringField":"afqpAQIl","stringTimeField":"23:31:17.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":84,"numField":303.6232191062718,"stringDateField":"2010-02-24","stringDateTimeField":"1908-04-19T13:32:39Z","stringField":"afqpAQIl","stringTimeField":"23:31:17.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4870,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4870,"uuid":"9e0a8a3c-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ruqnixXqpp","kewN","VOpwz","HixA","hznpR","DankmUhaKf","gZbNPF","iZDeHsWR","btLqUUV"],"boolField":true,"intField":-104,"numField":995.7533623443863,"objField":{"GhlXRQOxwr":3996542837296913618,"WRlNlnrI":-3673725915011718674,"acjyGVnFNv":-5728288081904164737,"foxZXtcHAg":1275363744710220279},"stringDateField":"1948-03-29","stringDateTimeField":"1956-08-03T06:24:34Z","stringField":"qYAyo","stringTimeField":"06:12:10.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":-104,"numField":995.7533623443863,"stringDateField":"1948-03-29","stringDateTimeField":"1956-08-03T06:24:34Z","stringField":"qYAyo","stringTimeField":"06:12:10.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4871,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4871,"uuid":"9e0a8a3c-5655-11ee-9401-675ed0f8e89b"},"arrayField":["hTgM","LTHygxsYr","FckVARk","eJyTF","FVSAglt","ItAooEhkCD","ZMvZqkNs","XrzuZSAvCT","VhINJmyi"],"boolField":true,"intField":2,"numField":-364.8552691094104,"objField":{"NkvMpkHkv":-1781271346587713847,"OOyjhnl":7331428942377971528,"PusZOIJIw":-2161836270272479548,"wQGT":384735047726536996,"zykiENj":-1628811569029427117},"stringDateField":"1943-05-03","stringDateTimeField":"1985-04-16T13:56:20Z","stringField":"pINx","stringTimeField":"00:30:51.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":2,"numField":-364.8552691094104,"stringDateField":"1943-05-03","stringDateTimeField":"1985-04-16T13:56:20Z","stringField":"pINx","stringTimeField":"00:30:51.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4872,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4872,"uuid":"9e0a8a3c-5655-11ee-9801-675ed0f8e89b"},"arrayField":["FNuo","hQGPS","IpOx","NMOIm","bDaeefzlu","qEaw"],"boolField":true,"intField":-140,"numField":-215.5954909174505,"objField":{"GXND":7480706495730064698,"axXfyj":5278953484993730502,"xredGhnd":-9134480596018245503},"stringDateField":"1945-07-10","stringDateTimeField":"1990-09-03T08:25:55Z","stringField":"cONiVKStS","stringTimeField":"11:13:54.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":-140,"numField":-215.5954909174505,"stringDateField":"1945-07-10","stringDateTimeField":"1990-09-03T08:25:55Z","stringField":"cONiVKStS","stringTimeField":"11:13:54.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4873,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4873,"uuid":"9e0a8a3c-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["TqIHQv","fTRq","VKlHWxQbzM","WIrTQ"],"boolField":false,"intField":-172,"numField":-790.409565726812,"objField":{"LdwM":8654114187528734147,"TKRdmqif":8277907850626085067,"WDpF":7078816921920177625,"hHfCvAalkS":2120369279591967695,"jKZFI":-7742251302678198691,"nYqxeFtaOw":6922688723204707111,"yTXpF":-8984619017883063464},"stringDateField":"2008-06-23","stringDateTimeField":"1934-11-12T08:50:42Z","stringField":"JDkHBF","stringTimeField":"16:10:11.39Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":-172,"numField":-790.409565726812,"stringDateField":"2008-06-23","stringDateTimeField":"1934-11-12T08:50:42Z","stringField":"JDkHBF","stringTimeField":"16:10:11.39Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4874,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4874,"uuid":"9e0a8a3c-5655-11ee-a001-675ed0f8e89b"},"arrayField":["meoZFkuUv"],"boolField":true,"intField":234,"numField":-213.8778045782962,"objField":{"NMiWBwx":6692331516390780583,"NeDipuI":-5325796250495833046,"ZYQZ":-6209305515227144951},"stringDateField":"1996-12-05","stringDateTimeField":"1960-05-26T17:15:35Z","stringField":"Laghl","stringTimeField":"14:39:45.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":234,"numField":-213.8778045782962,"stringDateField":"1996-12-05","stringDateTimeField":"1960-05-26T17:15:35Z","stringField":"Laghl","stringTimeField":"14:39:45.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4875,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4875,"uuid":"9e0a8a3c-5655-11ee-a401-675ed0f8e89b"},"arrayField":["RnruUtyx","BGhpy","uJvM","HwjSZQE"],"boolField":false,"intField":-965,"numField":-587.2452610370789,"objField":{"EwDwYaONUS":-1610390897011629409,"RRRNbnlHUL":-7331777476533180009},"stringDateField":"1990-07-01","stringDateTimeField":"1934-04-23T03:01:38Z","stringField":"LmRDqaSM","stringTimeField":"12:27:31.41Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":-965,"numField":-587.2452610370789,"stringDateField":"1990-07-01","stringDateTimeField":"1934-04-23T03:01:38Z","stringField":"LmRDqaSM","stringTimeField":"12:27:31.41Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4876,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4876,"uuid":"9e0a8a3c-5655-11ee-a801-675ed0f8e89b"},"arrayField":["RshTmW","LDctdZemSh","IIWqb","oQVUUNMR","cMhHbsA","jrLxcsxCy","zDyNnhz","OwUVbv"],"boolField":false,"intField":-141,"numField":-637.9608562950154,"objField":{"FbDgqYPd":-3895194642116308604,"HVSgArsayZ":-4905141417956927275,"PXhti":-6568999830122741732,"jvwtIdKnJ":-662953431048004470,"kzVYAauuE":7114822650722508716},"stringDateField":"1927-04-06","stringDateTimeField":"2003-07-28T21:42:01Z","stringField":"OvhdyuTu","stringTimeField":"16:44:21.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":-141,"numField":-637.9608562950154,"stringDateField":"1927-04-06","stringDateTimeField":"2003-07-28T21:42:01Z","stringField":"OvhdyuTu","stringTimeField":"16:44:21.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4877,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4877,"uuid":"9e0a8a3c-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["OCsoRL","hMOzwMd","bJzPZGjitu","NFZOgs","gfMtSmsBR","sdjWX","NDJo"],"boolField":false,"intField":10,"numField":545.3902102103632,"objField":{"BEcqftqi":5928526660845095185,"SIguvOvJ":8471672185634694115,"SfgLgeO":-3619767142389561397,"hXNJMlSfq":1973587433303735860,"jmDlCsH":311629786605715363,"pAMz":-3318904268689001638},"stringDateField":"1971-08-04","stringDateTimeField":"2012-06-29T00:59:35Z","stringField":"Jqukd","stringTimeField":"00:20:29.13Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":10,"numField":545.3902102103632,"stringDateField":"1971-08-04","stringDateTimeField":"2012-06-29T00:59:35Z","stringField":"Jqukd","stringTimeField":"00:20:29.13Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4878,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4878,"uuid":"9e0a8a3c-5655-11ee-b001-675ed0f8e89b"},"arrayField":["PqkwOY","EYEeDLOgY","KBrBLENuC","sVCaOzp"],"boolField":false,"intField":775,"numField":310.4615487140623,"objField":{"MkDWhsg":5630887736574713920,"oXwwI":6350667936399326000},"stringDateField":"1989-09-26","stringDateTimeField":"1938-05-12T19:32:15Z","stringField":"SkMghLqfY","stringTimeField":"12:06:12.48Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":775,"numField":310.4615487140623,"stringDateField":"1989-09-26","stringDateTimeField":"1938-05-12T19:32:15Z","stringField":"SkMghLqfY","stringTimeField":"12:06:12.48Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4879,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4879,"uuid":"9e0a8a3c-5655-11ee-b401-675ed0f8e89b"},"arrayField":["aNLqqlI","mTQiQFv"],"boolField":false,"intField":148,"numField":-876.077797795312,"objField":{"LBIHR":3298284816188167169},"stringDateField":"1944-05-10","stringDateTimeField":"2017-08-21T05:49:32Z","stringField":"TvrFoEoIo","stringTimeField":"02:35:56.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":148,"numField":-876.077797795312,"stringDateField":"1944-05-10","stringDateTimeField":"2017-08-21T05:49:32Z","stringField":"TvrFoEoIo","stringTimeField":"02:35:56.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4880,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4880,"uuid":"9e0a8a3c-5655-11ee-b801-675ed0f8e89b"},"arrayField":["YOKntW"],"boolField":true,"intField":968,"numField":979.4495526802132,"objField":{"CjryCYJpSJ":3831540816924714017,"DqnlFk":-5797078712794045139,"FSHLnGrcfB":7434131886238619994,"GlmGpxoCt":-4458856169429544377,"JKJveQ":-8599260638759402305,"WFOtoQ":-2922777716149478212,"aIWrXdS":-621827619627747104,"eyaGmPXutX":-1131689574268749639,"oEUdGyha":-5069205917507459919,"wKFBloY":-2824105944141072903},"stringDateField":"2002-08-08","stringDateTimeField":"1947-03-21T22:06:10Z","stringField":"HiXY","stringTimeField":"20:48:02.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":968,"numField":979.4495526802132,"stringDateField":"2002-08-08","stringDateTimeField":"1947-03-21T22:06:10Z","stringField":"HiXY","stringTimeField":"20:48:02.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4881,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4881,"uuid":"9e0a8a3c-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["JxWmRjxmK","PKENRkq","AtvSW","fQOVWLOD","HYVcphw","ecSSV","GVLjuU","GnDDNKDobs"],"boolField":true,"intField":-403,"numField":-804.9843366407044,"objField":{"Czdve":6188645905565951552,"FWWYPq":-8553996184373866073,"HIqTixe":-767025900682726556,"IXLNYKHv":7093726125825397781,"XcQKWrNgmL":1928658008695521465,"eQOYwfAuU":6097564820731936054,"gYtfPAzVZL":-2100585182986947727,"oBKGT":-4702292949147485295,"pmvKUgiXH":583916802219424013,"yXIjyiHfQ":6871161256452943827},"stringDateField":"1990-06-16","stringDateTimeField":"1907-04-22T11:16:59Z","stringField":"jRsLNLDyj","stringTimeField":"19:18:03.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763836Z","intField":-403,"numField":-804.9843366407044,"stringDateField":"1990-06-16","stringDateTimeField":"1907-04-22T11:16:59Z","stringField":"jRsLNLDyj","stringTimeField":"19:18:03.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4882,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4882,"uuid":"9e0a8a3d-5655-11ee-8001-675ed0f8e89b"},"arrayField":["QaycTIXNw","VUhGEHMrF","YWSrPZUaW","dcEPI","LwiLILdhHA","CMpfKgiA","CHtkR"],"boolField":true,"intField":961,"numField":-83.38098724991706,"objField":{"AEcRrhqqaK":204803400012603208,"ClJp":7120303957314623432,"SNQevYKcY":326434420893220312,"XuSlqkv":6922189614795757377,"YEYFWTvnx":1986235117104494715,"csflcfaJS":-250077205417677359,"srluDfSd":-8116913467846245717,"zLGOA":-4222488885251834991},"stringDateField":"1931-03-26","stringDateTimeField":"1955-11-13T15:26:36Z","stringField":"QScnP","stringTimeField":"07:17:22.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":961,"numField":-83.38098724991706,"stringDateField":"1931-03-26","stringDateTimeField":"1955-11-13T15:26:36Z","stringField":"QScnP","stringTimeField":"07:17:22.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4883,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4883,"uuid":"9e0a8a3d-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UTCLARdrL","VLzmdHxnI","TbyMSfcbCc","VHqTmGKiS","MokSfMe","PQtSEkZ","sABeDpnn","BorVOk","mIVJgwYlpe","rAKG"],"boolField":false,"intField":-135,"numField":-487.5082760162179,"objField":{"UpPy":1982007909076601340,"gFysyuYQY":-8844423931304897802},"stringDateField":"2005-08-14","stringDateTimeField":"1973-04-12T12:10:28Z","stringField":"nMwudC","stringTimeField":"05:36:17.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":-135,"numField":-487.5082760162179,"stringDateField":"2005-08-14","stringDateTimeField":"1973-04-12T12:10:28Z","stringField":"nMwudC","stringTimeField":"05:36:17.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4884,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4884,"uuid":"9e0a8a3d-5655-11ee-8801-675ed0f8e89b"},"arrayField":["vrqLKVKs","jlbhJCO"],"boolField":false,"intField":558,"numField":769.2573061035853,"objField":{"MqPos":9092952986152122095},"stringDateField":"1954-04-01","stringDateTimeField":"1914-06-25T17:42:58Z","stringField":"eGKg","stringTimeField":"21:15:08.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":558,"numField":769.2573061035853,"stringDateField":"1954-04-01","stringDateTimeField":"1914-06-25T17:42:58Z","stringField":"eGKg","stringTimeField":"21:15:08.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4885,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4885,"uuid":"9e0a8a3d-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["ANgAviFP","bXxfYxuXF","wVhuwZgg"],"boolField":false,"intField":661,"numField":111.51707762373042,"objField":{"FTJiFunEk":-4992415146355490183,"KJAFxYXP":-6010403064526977166,"WVKuRAX":5604969289625443850,"fmUG":-3062503285160564617,"iCBm":-949828984325460092,"jgMR":-1576500473847746637,"kEQoWYJnX":2530638561693471412,"ngzHl":5766722159007740714,"sJMUMSvie":-8813176315096457487},"stringDateField":"1974-11-06","stringDateTimeField":"1904-03-01T19:24:43Z","stringField":"vTaUW","stringTimeField":"21:18:45.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":661,"numField":111.51707762373042,"stringDateField":"1974-11-06","stringDateTimeField":"1904-03-01T19:24:43Z","stringField":"vTaUW","stringTimeField":"21:18:45.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4886,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4886,"uuid":"9e0a8a3d-5655-11ee-9001-675ed0f8e89b"},"arrayField":["ylcbsXh","nXdpA","ckcHS","yMVkBM","xNrOo","FInXHe","XOHns","vYHxhBVpW"],"boolField":true,"intField":-152,"numField":-332.38932514900387,"objField":{"DqbyaEb":1503425093035797098,"ENjrxPS":1857177954540604554,"UZXxRnvHD":-245798028280744155,"XvnsQKFI":2296731418363534637,"gTrOFUgq":-9002060510650922703,"ocbAXBr":-5949051146063866687,"wQcsWKtF":-2447034696161241526},"stringDateField":"1934-10-13","stringDateTimeField":"1912-05-12T15:57:41Z","stringField":"XCkAjFNOom","stringTimeField":"19:05:41.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":-152,"numField":-332.38932514900387,"stringDateField":"1934-10-13","stringDateTimeField":"1912-05-12T15:57:41Z","stringField":"XCkAjFNOom","stringTimeField":"19:05:41.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4887,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4887,"uuid":"9e0a8a3d-5655-11ee-9401-675ed0f8e89b"},"arrayField":["aHwuGCalJB","CKOwMALtmo","gYYjacXCak","prsAuaRhF","GfEzgzCew","dsmY","HDisCCYNUi"],"boolField":true,"intField":-313,"numField":943.255262530808,"objField":{"CyQstP":8287680340942588918,"KULkdOHr":-7849459731443423921,"XSQN":602553303119043835,"cbSMV":-6270225394258118461,"frLNbB":4633880410388267221,"sgTFjss":2228173575026158234,"sxDeD":-6825953657878715301,"wxoer":-602648820271976166},"stringDateField":"1966-04-23","stringDateTimeField":"1967-04-26T02:50:09Z","stringField":"dExxT","stringTimeField":"12:45:20.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":-313,"numField":943.255262530808,"stringDateField":"1966-04-23","stringDateTimeField":"1967-04-26T02:50:09Z","stringField":"dExxT","stringTimeField":"12:45:20.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4888,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4888,"uuid":"9e0a8a3d-5655-11ee-9801-675ed0f8e89b"},"arrayField":["xmzq","ttmgZAoGO","rqSg","mjQD","mgCRvnhtQf","hMgU","ARSg","gyFcGm","wGkmnRVv"],"boolField":true,"intField":541,"numField":903.1471101227175,"objField":{"AYCDQBP":1639783078555532944,"BgFjeyVbkH":1863919764314489931,"HCnXBRwNpK":3461621544836448241,"TKoNpOv":988130660857701078,"VIJfHqCU":1057195013678856488,"grLlI":-7481418184280370766,"kHtSBRb":-1160059854890560054,"tNZPjRfUBn":2761615787195301620,"xyIXwYllWJ":8645127167690781850,"zXpcXNcyuy":8767168318236698647},"stringDateField":"1910-08-06","stringDateTimeField":"1956-11-27T15:09:44Z","stringField":"VnYX","stringTimeField":"17:45:38.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":541,"numField":903.1471101227175,"stringDateField":"1910-08-06","stringDateTimeField":"1956-11-27T15:09:44Z","stringField":"VnYX","stringTimeField":"17:45:38.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4889,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4889,"uuid":"9e0a8a3d-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["LABl","DBPFlt","TSzy","lxXWAq","TmyWhoM","tplSZtb","EjUZKaGlM"],"boolField":true,"intField":377,"numField":506.9639931017198,"objField":{"KOfoUjQ":-7003760793611570425,"XlxfJrAYmL":2747374044950003798},"stringDateField":"1977-05-19","stringDateTimeField":"2007-03-11T14:03:42Z","stringField":"BtDuIsMSus","stringTimeField":"23:17:25.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":377,"numField":506.9639931017198,"stringDateField":"1977-05-19","stringDateTimeField":"2007-03-11T14:03:42Z","stringField":"BtDuIsMSus","stringTimeField":"23:17:25.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4890,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4890,"uuid":"9e0a8a3d-5655-11ee-a001-675ed0f8e89b"},"arrayField":["LQGWB","widAqWy","qdGKXx","KpKSS","ZTBVMr"],"boolField":false,"intField":300,"numField":977.408640947599,"objField":{"iOTeyRwy":6151485497107103334,"lSvNJbD":3075127174991821232},"stringDateField":"1907-05-16","stringDateTimeField":"1920-12-29T21:06:02Z","stringField":"swzzQXqof","stringTimeField":"00:37:42.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":300,"numField":977.408640947599,"stringDateField":"1907-05-16","stringDateTimeField":"1920-12-29T21:06:02Z","stringField":"swzzQXqof","stringTimeField":"00:37:42.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4891,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4891,"uuid":"9e0a8a3d-5655-11ee-a401-675ed0f8e89b"},"arrayField":["FMvIjWznR","WulXSOwO","XrvMw","UjBxcoTjrw","laABckNVa","yToIT","ltCbHtf","qwjXBFvgW","shfFbGLv"],"boolField":true,"intField":-219,"numField":159.37986463289567,"objField":{"AYgdFLL":1172526408369072091,"BqyZ":-4622551820883882925,"OlJrgniifq":262672119046919979,"SvZBjW":431396404432637489,"ZHCDyJE":-5740721634472429883,"grgNDkLL":-6745462499381909765,"udUejLkiLj":-7821806001801968668},"stringDateField":"1954-02-11","stringDateTimeField":"1929-12-09T08:09:31Z","stringField":"DScxU","stringTimeField":"13:39:17.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":-219,"numField":159.37986463289567,"stringDateField":"1954-02-11","stringDateTimeField":"1929-12-09T08:09:31Z","stringField":"DScxU","stringTimeField":"13:39:17.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4892,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4892,"uuid":"9e0a8a3d-5655-11ee-a801-675ed0f8e89b"},"arrayField":["rdtUcL","oVIQSJnM","ReeKrPwri","zKbChHO","yYvtsVSgj","dmEnn","VLQojvI","ViASjRqQ","jTTaHkKT","mrcPDCSXW"],"boolField":false,"intField":138,"numField":258.27294624607487,"objField":{"rhwTbyXzkT":4000444779456450876},"stringDateField":"1999-04-24","stringDateTimeField":"1967-09-24T06:33:29Z","stringField":"JsvvdsFL","stringTimeField":"13:45:53.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":138,"numField":258.27294624607487,"stringDateField":"1999-04-24","stringDateTimeField":"1967-09-24T06:33:29Z","stringField":"JsvvdsFL","stringTimeField":"13:45:53.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4893,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4893,"uuid":"9e0a8a3d-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ELQNjIz","fDXwAT","rUyiQn","ezTFl","aLglDKPhfa","uRhCpdJSWB","DUliXdkl","paKlkFnC"],"boolField":true,"intField":906,"numField":220.8153748702508,"objField":{"BaGaAihQrx":8721310273528165724,"JhhvYFOxR":-3029176287795221897,"MUMTevvDo":-7170061098408248784,"MrcyxW":-131436135426380761,"aALOAz":6056410422548639559,"fMWP":55853689375388265,"nmLJAcV":4901969671115042937},"stringDateField":"1930-01-15","stringDateTimeField":"1926-10-10T23:55:08Z","stringField":"apsICZDNr","stringTimeField":"06:37:48.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":906,"numField":220.8153748702508,"stringDateField":"1930-01-15","stringDateTimeField":"1926-10-10T23:55:08Z","stringField":"apsICZDNr","stringTimeField":"06:37:48.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4894,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4894,"uuid":"9e0a8a3d-5655-11ee-b001-675ed0f8e89b"},"arrayField":["qQtwgD","cCYRLQe","kZjRWONp","SNFVl","GuRmv","VQtsHb","BHmm","GDShWxXXI"],"boolField":true,"intField":490,"numField":442.88469072456894,"objField":{"IXtDyD":-6212553622799933606,"SVVo":-3282775835886208957,"pjzDdsey":-4373890373137945087},"stringDateField":"1982-08-07","stringDateTimeField":"2019-07-02T09:23:57Z","stringField":"aimSBjxv","stringTimeField":"00:51:06.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":490,"numField":442.88469072456894,"stringDateField":"1982-08-07","stringDateTimeField":"2019-07-02T09:23:57Z","stringField":"aimSBjxv","stringTimeField":"00:51:06.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4895,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4895,"uuid":"9e0a8a3d-5655-11ee-b401-675ed0f8e89b"},"arrayField":["bwdUXcJ","ZejwiS","dPrmNrf","OTBvjEZ","zPFBASffm","cjkSnnGioO","sArQFgK","jqxaHNGNw"],"boolField":false,"intField":917,"numField":488.3960670975829,"objField":{"IQhDQgKPXu":7863528333905564961,"PwWFKn":2038855103755742367,"VZpHX":2497349774292060452,"VoxYlgc":-9162215487578409568,"ZnEYHsT":-7654200091370897118,"aGBvS":8894580926886015535,"bwgvEoDT":-8626595503142349781,"ceGQ":6017610553176704389,"wuMzb":-3867522674120484942},"stringDateField":"1951-01-20","stringDateTimeField":"1909-01-03T21:33:16Z","stringField":"rptgY","stringTimeField":"05:21:36.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":917,"numField":488.3960670975829,"stringDateField":"1951-01-20","stringDateTimeField":"1909-01-03T21:33:16Z","stringField":"rptgY","stringTimeField":"05:21:36.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4896,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4896,"uuid":"9e0a8a3d-5655-11ee-b801-675ed0f8e89b"},"arrayField":["uVsQ","prKRPGvs","vLaNDYpZ","gkTKwDvI"],"boolField":false,"intField":350,"numField":-45.84446520110952,"objField":{"BiTEgDk":1473856591828750691,"CxJxRD":-1844538301212052968,"DurYwirctb":-1269895000001088490,"EIdAoDvoZ":5872131503057790510,"UBVXNpEceG":-7966774863228496910,"XlfSuiy":-4461835778421633133,"mGhWwmIdSG":-3745767856444120841,"tojpzBnz":-5634214179888795794},"stringDateField":"1912-08-06","stringDateTimeField":"1937-12-14T12:28:22Z","stringField":"krcf","stringTimeField":"14:31:55.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":350,"numField":-45.84446520110952,"stringDateField":"1912-08-06","stringDateTimeField":"1937-12-14T12:28:22Z","stringField":"krcf","stringTimeField":"14:31:55.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4897,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4897,"uuid":"9e0a8a3d-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["BaJHDcM","HzqstXd","gubT"],"boolField":false,"intField":154,"numField":369.4872181969933,"objField":{"WspcmD":6461887870492059880,"YYYBfKA":2798171383314240961,"cNxfU":3388657992640148763},"stringDateField":"1972-10-28","stringDateTimeField":"2007-02-24T19:18:24Z","stringField":"NHERcUo","stringTimeField":"10:15:13.30Z"},"flow_published_at":"2023-09-18T19:00:21.8763837Z","intField":154,"numField":369.4872181969933,"stringDateField":"1972-10-28","stringDateTimeField":"2007-02-24T19:18:24Z","stringField":"NHERcUo","stringTimeField":"10:15:13.30Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4898,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4898,"uuid":"9e0a8a3e-5655-11ee-8001-675ed0f8e89b"},"arrayField":["ToKLu","FyVUQUsj"],"boolField":false,"intField":-650,"numField":379.04219765655034,"objField":{"BCGajPimq":1080472891740364827,"VgzPoNXOH":-7734216947744420208,"apRxqf":-8108089625259961268,"eDQvvwjP":-8633343898364481923,"iMtsOt":-8287210332276542965,"qwCFu":3303492368126838015,"tztXIgG":7780096161448905790,"vPqQbMms":-2521776985054286857},"stringDateField":"1989-01-08","stringDateTimeField":"1970-04-26T20:59:29Z","stringField":"EiBGt","stringTimeField":"23:05:33.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":-650,"numField":379.04219765655034,"stringDateField":"1989-01-08","stringDateTimeField":"1970-04-26T20:59:29Z","stringField":"EiBGt","stringTimeField":"23:05:33.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4899,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4899,"uuid":"9e0a8a3e-5655-11ee-8401-675ed0f8e89b"},"arrayField":["tzYFHXFic","qhAQjqKaA","YMUmzHcccd","oWdQhuHTWE","blVQoJVAg","LSbrKS","paepH"],"boolField":false,"intField":533,"numField":-716.4708147445735,"objField":{"IYFnJSW":7868535759504998544,"NjbCc":251562361066770278,"PBtGwcc":-734547941220722314,"kKKywUjtg":4220637354346133496,"kgiSwKlEz":-702390518142604728,"kjsxLUiMJY":6785717797628803703,"ovigHUMYZh":6998786937800391221,"tcJxvnnYzt":-6624456792163468650,"uvfZUIkN":-4514263004023029652,"vYkJvJspMe":8322870215258956284},"stringDateField":"1931-08-04","stringDateTimeField":"1989-05-09T10:26:17Z","stringField":"ZvCp","stringTimeField":"01:04:09.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":533,"numField":-716.4708147445735,"stringDateField":"1931-08-04","stringDateTimeField":"1989-05-09T10:26:17Z","stringField":"ZvCp","stringTimeField":"01:04:09.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4900,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4900,"uuid":"9e0a8a3e-5655-11ee-8801-675ed0f8e89b"},"arrayField":["JKMaHMtLUd"],"boolField":false,"intField":-225,"numField":789.8648084994038,"objField":{"BdvNOxAY":1854157484770408719,"GcKgCnEijd":-1846711892113008104,"XYQhJIpJA":5684123627366925202,"dJecKImU":763356870091730483,"jQZvg":7968550032000708518},"stringDateField":"1943-07-28","stringDateTimeField":"1945-03-19T20:13:49Z","stringField":"ulCOWrIYM","stringTimeField":"17:40:35.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":-225,"numField":789.8648084994038,"stringDateField":"1943-07-28","stringDateTimeField":"1945-03-19T20:13:49Z","stringField":"ulCOWrIYM","stringTimeField":"17:40:35.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4901,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4901,"uuid":"9e0a8a3e-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["nEJwoy","VhAhe","ClKJBDc","JHgZ","npnY","GSeCbZlw","DDcQYhGjFo","aWTmKlshg"],"boolField":false,"intField":-755,"numField":-998.1101936834772,"objField":{"mxVgZNyvtp":2512024414662232001},"stringDateField":"1927-09-24","stringDateTimeField":"2012-11-10T12:21:23Z","stringField":"fyuD","stringTimeField":"08:22:28.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":-755,"numField":-998.1101936834772,"stringDateField":"1927-09-24","stringDateTimeField":"2012-11-10T12:21:23Z","stringField":"fyuD","stringTimeField":"08:22:28.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4902,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4902,"uuid":"9e0a8a3e-5655-11ee-9001-675ed0f8e89b"},"arrayField":["lTBrre","IWYJ","aeWZ","rkBBYymQG"],"boolField":true,"intField":227,"numField":-734.5867187333374,"objField":{"BSPMr":-2551445727323721620,"SERG":4295253673376301712,"XqRdSQvq":-1182597945394475420,"lGsiRVAvx":410241938006427967,"mrOFvhC":-6568463306133442652},"stringDateField":"1934-12-18","stringDateTimeField":"1965-12-15T13:41:09Z","stringField":"YqYFxFUc","stringTimeField":"21:03:34.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":227,"numField":-734.5867187333374,"stringDateField":"1934-12-18","stringDateTimeField":"1965-12-15T13:41:09Z","stringField":"YqYFxFUc","stringTimeField":"21:03:34.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4903,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4903,"uuid":"9e0a8a3e-5655-11ee-9401-675ed0f8e89b"},"arrayField":["fFrUrqMvjl","SFiHma","pXOWtmpw","cCWStMme"],"boolField":true,"intField":-238,"numField":-212.54062072755343,"objField":{"DJVpoSeQP":8234217824995679077,"JFsYLrXbK":7766833164691012389,"bnRm":76130579891366079,"uwOW":-4335777108420048699},"stringDateField":"2007-08-21","stringDateTimeField":"1985-09-03T13:52:31Z","stringField":"LfBrg","stringTimeField":"13:55:03.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":-238,"numField":-212.54062072755343,"stringDateField":"2007-08-21","stringDateTimeField":"1985-09-03T13:52:31Z","stringField":"LfBrg","stringTimeField":"13:55:03.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4904,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4904,"uuid":"9e0a8a3e-5655-11ee-9801-675ed0f8e89b"},"arrayField":["jClLhdCPL","uydo","ieJVKCNo","xejRveu","wIbeBkXIhX","xmWWFbBV","vdNin","RWVmqoMe"],"boolField":true,"intField":898,"numField":-690.9818801197599,"objField":{"Gkfo":1340701965802954691,"PoIssfmj":-9136165593082173871,"YgLHjCOQKi":-6166553372656977607,"YitATM":-6664536102262003564,"fJjVM":-1444021824475631316,"hYrJXtCUk":-3738731124662442294,"uidqdM":-1876062015840102571,"xDIOvKy":4905830579691626798},"stringDateField":"1910-08-21","stringDateTimeField":"1915-12-12T10:31:45Z","stringField":"QeYUpuWAh","stringTimeField":"13:02:19.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":898,"numField":-690.9818801197599,"stringDateField":"1910-08-21","stringDateTimeField":"1915-12-12T10:31:45Z","stringField":"QeYUpuWAh","stringTimeField":"13:02:19.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4905,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4905,"uuid":"9e0a8a3e-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["aeMcU","YeptX","AnFwBAW","YodsuaIYM"],"boolField":false,"intField":-523,"numField":942.1739766187602,"objField":{"NUCd":-5192399818150572905,"QuADK":4192835704637557167,"TBOcddQP":-5934335212662931252,"XMfslQDh":5647516840309914225,"ZvdggtZ":3484992751401970542,"aVbCnUAZ":-7592466511843936544,"griugswbh":-278171439199000874,"tavLFNHlii":-2077495244657675789,"wiSPZqB":-8336696133078855364,"zquHkBMEe":4322150532109121674},"stringDateField":"1987-10-13","stringDateTimeField":"1929-08-07T19:20:35Z","stringField":"efmic","stringTimeField":"02:45:05.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":-523,"numField":942.1739766187602,"stringDateField":"1987-10-13","stringDateTimeField":"1929-08-07T19:20:35Z","stringField":"efmic","stringTimeField":"02:45:05.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4906,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4906,"uuid":"9e0a8a3e-5655-11ee-a001-675ed0f8e89b"},"arrayField":["mHEOj","YIXpTkrnv","ZCyV","onXg","lmpXONae","daUHZWH","KAva","yAzy"],"boolField":false,"intField":123,"numField":-843.3269969610172,"objField":{"AwqGQTN":7469180070844984182,"RBmvtPppL":5384705652085063,"XIrfsU":1855904281935474377,"eUpboNdjv":7389883870889531954,"hoUbk":1673522383339692767,"jWYBH":8108767116548106601,"qAUGCQwO":1826107202056234211,"raFTn":8870390944373778659,"sQlKN":6138515903432528942},"stringDateField":"1927-03-16","stringDateTimeField":"1941-08-20T02:14:40Z","stringField":"dzVlhbyO","stringTimeField":"17:19:43.34Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":123,"numField":-843.3269969610172,"stringDateField":"1927-03-16","stringDateTimeField":"1941-08-20T02:14:40Z","stringField":"dzVlhbyO","stringTimeField":"17:19:43.34Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4907,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4907,"uuid":"9e0a8a3e-5655-11ee-a401-675ed0f8e89b"},"arrayField":["oDeEa","WxpeJM","gLOhESo","mhPWTh","cyZfTK","fDaCEThZ"],"boolField":true,"intField":-154,"numField":-127.1522735903876,"objField":{"pupIThOn":-750868311403149958,"rIdC":-3586808039325729090},"stringDateField":"1952-11-07","stringDateTimeField":"1950-08-18T03:22:31Z","stringField":"KBXfK","stringTimeField":"10:16:43.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":-154,"numField":-127.1522735903876,"stringDateField":"1952-11-07","stringDateTimeField":"1950-08-18T03:22:31Z","stringField":"KBXfK","stringTimeField":"10:16:43.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4908,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4908,"uuid":"9e0a8a3e-5655-11ee-a801-675ed0f8e89b"},"arrayField":["yDAXvULTwO","nlZmj","cmcrrFXH","xjyRjW","ioqaPTG"],"boolField":false,"intField":479,"numField":-144.86265093754514,"objField":{"DasWr":7118994026340460686,"LUAtQZjP":-5559865236050493491,"SsbEVg":-2360368122207448355,"eANR":-8870540333587193791,"icuQP":5120376041714437865,"lUozQJB":-2088297876162519906,"tizVF":5666362373667052914,"yNFyrZkvX":-8242412626362388219},"stringDateField":"1934-11-02","stringDateTimeField":"2013-08-06T05:13:20Z","stringField":"hAUf","stringTimeField":"18:34:06.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":479,"numField":-144.86265093754514,"stringDateField":"1934-11-02","stringDateTimeField":"2013-08-06T05:13:20Z","stringField":"hAUf","stringTimeField":"18:34:06.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4909,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4909,"uuid":"9e0a8a3e-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["zNaGkwLnK","PzAd"],"boolField":true,"intField":606,"numField":93.65832155338416,"objField":{"JihtVMbTt":4483162986366576141,"KuOzzKNF":-4621520883665857764,"NtQNPHOP":2518987911706441756,"OHBxrkSctO":6525476242140139048,"SrvtXkBtd":-2139217957229743719,"gKVuGm":-6122051741888526817,"lxUz":-946378879463098709,"rTYaRKFi":7798201203974866052,"uLmMT":-3851134164075324387,"xpmwcd":-2653600010955421119},"stringDateField":"1946-03-18","stringDateTimeField":"1969-07-17T21:03:25Z","stringField":"XiuIs","stringTimeField":"06:30:24.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":606,"numField":93.65832155338416,"stringDateField":"1946-03-18","stringDateTimeField":"1969-07-17T21:03:25Z","stringField":"XiuIs","stringTimeField":"06:30:24.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4910,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4910,"uuid":"9e0a8a3e-5655-11ee-b001-675ed0f8e89b"},"arrayField":["kpnSLFYjgg","prVKkYQq","Rzhn","iPNgu","dGyzfOaN","jkbusELpB","QvLJ","xhVxeKC","ZPcAl","JSmPa"],"boolField":true,"intField":-510,"numField":-497.0219069137577,"objField":{"HSnOprAP":-7496263085896706269,"KVPscvY":8355652897518357974,"kiYwucB":-3507382719828046260,"lbmCxvbOOS":-2261555214282969529},"stringDateField":"1917-03-11","stringDateTimeField":"1955-03-01T21:23:58Z","stringField":"VXkNe","stringTimeField":"14:41:20.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":-510,"numField":-497.0219069137577,"stringDateField":"1917-03-11","stringDateTimeField":"1955-03-01T21:23:58Z","stringField":"VXkNe","stringTimeField":"14:41:20.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4911,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4911,"uuid":"9e0a8a3e-5655-11ee-b401-675ed0f8e89b"},"arrayField":["WbbIbtQ","kyJRK","Tnbn","PjrUpBG","DlPoLIvyTZ","cTJSy","qHXnYkW"],"boolField":false,"intField":596,"numField":635.1638811069536,"objField":{"CgYfF":3702681387289727021,"HywkTaD":-8249055315573688935,"ODLQBT":-3110466124518508036,"SuSoOnFVm":-5880198874248110743,"bTRPScO":-2480822993098686612},"stringDateField":"1998-08-27","stringDateTimeField":"1970-09-12T20:15:50Z","stringField":"lOYSrkM","stringTimeField":"05:26:50.37Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":596,"numField":635.1638811069536,"stringDateField":"1998-08-27","stringDateTimeField":"1970-09-12T20:15:50Z","stringField":"lOYSrkM","stringTimeField":"05:26:50.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4912,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4912,"uuid":"9e0a8a3e-5655-11ee-b801-675ed0f8e89b"},"arrayField":["cyBJirGuV","KPME","PvVEYnCGdh","Mnxliki","iVWWoMqFU","QopfocI"],"boolField":false,"intField":423,"numField":-792.4258225025139,"objField":{"NBSccAki":7805826605402687264,"RdIwgBvee":2670034495456674738,"UBBRlPlDPq":132393263392385131,"WkwtplfpGl":-4927361240253709307,"wZDN":1096746480904309477},"stringDateField":"2017-04-20","stringDateTimeField":"1957-10-23T19:03:52Z","stringField":"birrHX","stringTimeField":"03:50:57.12Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":423,"numField":-792.4258225025139,"stringDateField":"2017-04-20","stringDateTimeField":"1957-10-23T19:03:52Z","stringField":"birrHX","stringTimeField":"03:50:57.12Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4913,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4913,"uuid":"9e0a8a3e-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["IwSCkrMx","SZVJLLK","gkPCZvw","KFlJtAfo","dtBMfAG","dapfbK","ZfltruGbN","qtuuJobFz"],"boolField":false,"intField":-938,"numField":209.19422055729387,"objField":{"AfAlz":-219732377343886848,"VsfuD":-8668175778836287674,"WZhvKBPUV":7625243074783457132,"gGSyc":377734260233521327,"uNbNLvLrT":-2092566858978173778,"yydYWj":-5962237311873280740},"stringDateField":"1999-04-02","stringDateTimeField":"1900-09-26T15:09:57Z","stringField":"CUvTMK","stringTimeField":"19:51:31.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763838Z","intField":-938,"numField":209.19422055729387,"stringDateField":"1999-04-02","stringDateTimeField":"1900-09-26T15:09:57Z","stringField":"CUvTMK","stringTimeField":"19:51:31.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4914,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4914,"uuid":"9e0a8a3f-5655-11ee-8001-675ed0f8e89b"},"arrayField":["VCgp"],"boolField":false,"intField":-465,"numField":912.4566450696104,"objField":{"BalSgUO":-4205937385639746834,"GduAFlXI":-5033320303655446610,"IVle":2317518340909899835,"RhQc":-5411389960676842822,"VLAzEIdq":-6648472698120316083,"ZKPKb":-6805346875508558108,"wAaDle":1773565296682877952},"stringDateField":"1991-05-08","stringDateTimeField":"1987-07-18T05:31:57Z","stringField":"IZYrXYQ","stringTimeField":"09:35:19.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":-465,"numField":912.4566450696104,"stringDateField":"1991-05-08","stringDateTimeField":"1987-07-18T05:31:57Z","stringField":"IZYrXYQ","stringTimeField":"09:35:19.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4915,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4915,"uuid":"9e0a8a3f-5655-11ee-8401-675ed0f8e89b"},"arrayField":["bkfIhivqL"],"boolField":false,"intField":303,"numField":-649.3800687877799,"objField":{"BTJCkxbXku":-1975489687666496261,"XXEcOKG":7842082224203386104,"YmlqAxRymE":-4700592176951860188,"YpdabVLzw":-4126727422752323974,"aboITg":-7770346128014732105,"nVhxeb":-1279002013160264605,"pwyGW":8673214630118655345,"vkgsa":-5758498568299147658,"xANqhuMh":-2666584325491296146},"stringDateField":"2018-11-01","stringDateTimeField":"1919-11-24T08:52:17Z","stringField":"aMaLnmAq","stringTimeField":"18:15:03.36Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":303,"numField":-649.3800687877799,"stringDateField":"2018-11-01","stringDateTimeField":"1919-11-24T08:52:17Z","stringField":"aMaLnmAq","stringTimeField":"18:15:03.36Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4916,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4916,"uuid":"9e0a8a3f-5655-11ee-8801-675ed0f8e89b"},"arrayField":["AfFvQRI","qhLdLfYD","xBZe","OyAEGdbx","Wbgqs","ditkbdPsNI","utvmU","Fktx","qEaBo","uXYMF"],"boolField":true,"intField":-634,"numField":499.25094062613454,"objField":{"PqHHw":-7502869133067998127,"RfYzpcH":-5430396530729432256,"UYppVskG":5063218362010156126,"UZFwdrzH":311268720689912819,"bBnMOAleW":-1430333550860698478,"gveMcKJj":-372591567126375915,"ndUfmfeBd":-1240218738657596512,"qjDzMaa":-1036069858720314197,"zJSrYp":-4719558176390136888},"stringDateField":"2016-05-29","stringDateTimeField":"1931-08-06T06:47:03Z","stringField":"ZrmdKsk","stringTimeField":"19:51:55.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":-634,"numField":499.25094062613454,"stringDateField":"2016-05-29","stringDateTimeField":"1931-08-06T06:47:03Z","stringField":"ZrmdKsk","stringTimeField":"19:51:55.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4917,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4917,"uuid":"9e0a8a3f-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["ifeaJ","SKvxIyrqW","xRiwpCmK","kLUW","PfqlfuNG","qSsEzTBN","GlSW","oyfRNKKKVZ","dWqqXC","ZUoNKRW"],"boolField":false,"intField":-503,"numField":-217.7939995054865,"objField":{"KAugQz":683101775620829626,"WyYaW":-1539302536250233754,"YJvDCdJ":5512155659627144218},"stringDateField":"1913-01-01","stringDateTimeField":"1966-07-01T14:23:35Z","stringField":"gOgW","stringTimeField":"23:33:10.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":-503,"numField":-217.7939995054865,"stringDateField":"1913-01-01","stringDateTimeField":"1966-07-01T14:23:35Z","stringField":"gOgW","stringTimeField":"23:33:10.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4918,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4918,"uuid":"9e0a8a3f-5655-11ee-9001-675ed0f8e89b"},"arrayField":["EDyS","aaHzNRsRF","xaLuChGU","KLzcwaNR","OEsp","LcQmpwaC"],"boolField":true,"intField":717,"numField":23.16866339970836,"objField":{"BEXyHGKywW":7713549779209069699,"LLIwQZQvyU":-5776540041270963232,"LVKnMp":6485426021577470925,"LlvxXR":-5272429462766393924,"TSKewQ":9007366748431228707,"fzvCcQUvuP":7856804822253941373},"stringDateField":"1966-12-01","stringDateTimeField":"1933-03-29T03:32:52Z","stringField":"YMNhVrTm","stringTimeField":"02:05:04.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":717,"numField":23.16866339970836,"stringDateField":"1966-12-01","stringDateTimeField":"1933-03-29T03:32:52Z","stringField":"YMNhVrTm","stringTimeField":"02:05:04.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4919,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4919,"uuid":"9e0a8a3f-5655-11ee-9401-675ed0f8e89b"},"arrayField":["NlrumF","vhNHsBRQ","zYYHrgE","vzPQcm","seZfPL","XtbWeW"],"boolField":false,"intField":-255,"numField":423.5031201129966,"objField":{"FYvBDpUJb":-4105505363562237174,"FtTD":-1235418800069855062,"QSkzLZO":-5963670080837889055,"bZROmJ":-4440872468970886362,"epzAYRgsCo":-3462737122573390274,"fyTMyICArz":-2570711504267744623,"lRiqKDagX":-7788876159348504461,"leUHOYD":-6837835650903655069,"tCMQv":-2266267132785103546,"unuyvWAbA":-8892566517396833215},"stringDateField":"1934-07-22","stringDateTimeField":"2010-08-15T20:26:02Z","stringField":"rztGZpZD","stringTimeField":"10:19:25.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":-255,"numField":423.5031201129966,"stringDateField":"1934-07-22","stringDateTimeField":"2010-08-15T20:26:02Z","stringField":"rztGZpZD","stringTimeField":"10:19:25.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4920,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4920,"uuid":"9e0a8a3f-5655-11ee-9801-675ed0f8e89b"},"arrayField":["DuImQMjmCr","UHfNGn","MIxkP","jiWq","pTjPpkGo","WqHb","TvPLoF","DsqrUad","UFCtPN","TpcVeMj"],"boolField":false,"intField":-6,"numField":-195.0559030462381,"objField":{"GAqrsMQk":7431808389003448556,"InAtHHqmli":8075594139945896682,"LeeVyauK":2273631941093019519,"SwMFx":7047248641633080477,"UYWb":8738396507749351807,"bDiTrd":-1966919102035516730,"hxXehgmk":2162606582673720848,"qiTHDIzc":-722710566483159270,"uZshuyq":3007811573354600639},"stringDateField":"1969-10-14","stringDateTimeField":"1907-03-10T11:15:24Z","stringField":"LKHXjpCZR","stringTimeField":"23:45:30.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":-6,"numField":-195.0559030462381,"stringDateField":"1969-10-14","stringDateTimeField":"1907-03-10T11:15:24Z","stringField":"LKHXjpCZR","stringTimeField":"23:45:30.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4921,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4921,"uuid":"9e0a8a3f-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["LmpAX","IrNS","SAlfLu","xELgjYUd","pnkW","rGYQnzrQM"],"boolField":true,"intField":670,"numField":659.267772580896,"objField":{"BxAuUFpL":6587969933998368836,"HTgWprWd":4244358586436216046,"JaRzM":4042980484954544274,"KzipvE":-6628248092588686793,"Ltgwxn":-1819866250585421710,"TjrlTqt":-7402530265433897742,"WNdQPG":-421398191510928562,"dxoGxyJa":-6464728968166919115,"gkuADz":3321297489457942826,"rJzDLnS":-8871174657843089415},"stringDateField":"1965-06-12","stringDateTimeField":"1967-11-23T04:57:39Z","stringField":"kaZvfKe","stringTimeField":"05:44:49.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":670,"numField":659.267772580896,"stringDateField":"1965-06-12","stringDateTimeField":"1967-11-23T04:57:39Z","stringField":"kaZvfKe","stringTimeField":"05:44:49.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4922,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4922,"uuid":"9e0a8a3f-5655-11ee-a001-675ed0f8e89b"},"arrayField":["IQfnzWbcWN","MhMvt","lrIInfgT","emNLKGlITy"],"boolField":true,"intField":-646,"numField":690.8685152550229,"objField":{"RKzkwf":8375130838738593479,"flVWAaWeuo":-1015937531029869987,"nUQcGaB":-5812134355336252914,"yOlo":-1612221240901622794,"zxnfG":682874361014373905},"stringDateField":"1965-12-31","stringDateTimeField":"1946-05-26T20:33:08Z","stringField":"NfxmyhZzq","stringTimeField":"12:42:14.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":-646,"numField":690.8685152550229,"stringDateField":"1965-12-31","stringDateTimeField":"1946-05-26T20:33:08Z","stringField":"NfxmyhZzq","stringTimeField":"12:42:14.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4923,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4923,"uuid":"9e0a8a3f-5655-11ee-a401-675ed0f8e89b"},"arrayField":["RSbOhRZji","Qhsu"],"boolField":true,"intField":-577,"numField":-661.3500119016547,"objField":{"DVGxarYTie":-2209143402600046241,"IAIxmfTlD":-3904208133581214824,"IjbrsmS":3279234754024803185,"MxpnWmLdA":-6544488391896878666,"THszBOAzq":5560119993352825673,"WwVRyLjZK":6871403312627426195,"XSCha":-3689140198512441422,"aBXKdZH":-3881742088114618927,"deXitmyYi":-2046914937671602942,"fsGQo":-9214714659241040728},"stringDateField":"1948-03-25","stringDateTimeField":"2010-02-19T06:46:58Z","stringField":"CWMeFXLA","stringTimeField":"07:06:16.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":-577,"numField":-661.3500119016547,"stringDateField":"1948-03-25","stringDateTimeField":"2010-02-19T06:46:58Z","stringField":"CWMeFXLA","stringTimeField":"07:06:16.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4924,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4924,"uuid":"9e0a8a3f-5655-11ee-a801-675ed0f8e89b"},"arrayField":["KTMyQ","fiuWJTOIy","oRRDZl","qxLNTjKeUq","ybIVzr"],"boolField":true,"intField":647,"numField":-137.58452853662817,"objField":{"BqIux":-4834320212389413973,"CCZFXpdZna":2323337785542451521,"ICDfelxlC":1148810112393901432,"KdjsCdY":-4279171357022367316,"ePibYriyD":6305225239973727113,"foRIizyujx":-3080183272639960223,"hqBbXsxil":4313886281700864435,"ypMtOEYmj":-7658602341100990909},"stringDateField":"1943-09-14","stringDateTimeField":"1900-03-04T17:44:50Z","stringField":"cVWfuM","stringTimeField":"16:24:01.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":647,"numField":-137.58452853662817,"stringDateField":"1943-09-14","stringDateTimeField":"1900-03-04T17:44:50Z","stringField":"cVWfuM","stringTimeField":"16:24:01.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4925,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4925,"uuid":"9e0a8a3f-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["aXtnS","RTfL","DcpqdK","kOKSqJcaq","FOCfvQtTJ"],"boolField":true,"intField":294,"numField":-340.318567349567,"objField":{"PVKdBUMJh":3111741417132952015,"TYil":6507368644632169266,"TecnNOZD":-6648794884266781618,"YIxjTMW":-5436254333588076728,"ctlOhmWn":2858164950208994244,"ghOsxtsPjG":7933799725545903962,"jjuxd":-7658298925855175820,"oBFWt":636899657750612639},"stringDateField":"1984-08-06","stringDateTimeField":"1983-03-08T05:41:22Z","stringField":"hFgODhubh","stringTimeField":"12:23:02.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":294,"numField":-340.318567349567,"stringDateField":"1984-08-06","stringDateTimeField":"1983-03-08T05:41:22Z","stringField":"hFgODhubh","stringTimeField":"12:23:02.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4926,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4926,"uuid":"9e0a8a3f-5655-11ee-b001-675ed0f8e89b"},"arrayField":["doTLmi","gjUAFCIG","oooKMs","clKpo","TzYfbsaPz","AhCm","LMAQVThQn"],"boolField":true,"intField":115,"numField":211.3201784059,"objField":{"ErXCzekGi":-4839359905481834062,"FenSMQyO":-6780962386240512441,"XGfGfNN":7105611898675519737,"kaYrmD":1349289482533765938,"sBiHNQkiu":5718291928149480122,"wLsqZtY":-2430058385221316808,"yGjoWDz":644964880074616045},"stringDateField":"1929-12-23","stringDateTimeField":"1966-07-08T05:26:44Z","stringField":"dhNptHzy","stringTimeField":"15:39:05.18Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":115,"numField":211.3201784059,"stringDateField":"1929-12-23","stringDateTimeField":"1966-07-08T05:26:44Z","stringField":"dhNptHzy","stringTimeField":"15:39:05.18Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4927,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4927,"uuid":"9e0a8a3f-5655-11ee-b401-675ed0f8e89b"},"arrayField":["uTGZHY"],"boolField":true,"intField":960,"numField":1.066093961143988,"objField":{"sztbXm":7046999468465433663,"xSWnNwrIan":-5209432621080194186},"stringDateField":"1941-03-12","stringDateTimeField":"1906-04-25T23:41:15Z","stringField":"Rfkah","stringTimeField":"05:34:40.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":960,"numField":1.066093961143988,"stringDateField":"1941-03-12","stringDateTimeField":"1906-04-25T23:41:15Z","stringField":"Rfkah","stringTimeField":"05:34:40.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4928,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4928,"uuid":"9e0a8a3f-5655-11ee-b801-675ed0f8e89b"},"arrayField":["HQjxf","CktW","QTYIQZhS","cAnwXleFpB","XKZT","HMuuTFbrM"],"boolField":false,"intField":-802,"numField":-714.289905758215,"objField":{"FTJn":-2369301462357715661,"FydCvDs":955848886957901640,"LwxNZPPg":2829796096270903954,"MNeYjLl":-1215006666852200994,"SNjBX":5676381096416724923,"acayCadB":2645986115006184069,"cWbRWScm":5465107248394440123,"hAZPaWIPw":-8458911715308118022},"stringDateField":"1946-07-18","stringDateTimeField":"1905-12-08T01:49:19Z","stringField":"VTATlhf","stringTimeField":"11:04:00.31Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":-802,"numField":-714.289905758215,"stringDateField":"1946-07-18","stringDateTimeField":"1905-12-08T01:49:19Z","stringField":"VTATlhf","stringTimeField":"11:04:00.31Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4929,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4929,"uuid":"9e0a8a3f-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["jzKLsPIs","KruoNRspT","xNTUFF","GAIyiga"],"boolField":false,"intField":-251,"numField":611.6479176449878,"objField":{"GDKgNWYx":4319003165473489100,"RqkEybr":6588516568362575812,"bAKLGJrrJ":4936284215567060616,"xvYcT":27764699554958127},"stringDateField":"1971-03-23","stringDateTimeField":"1991-10-06T19:55:46Z","stringField":"xeRDyLlMx","stringTimeField":"04:50:43.40Z"},"flow_published_at":"2023-09-18T19:00:21.8763839Z","intField":-251,"numField":611.6479176449878,"stringDateField":"1971-03-23","stringDateTimeField":"1991-10-06T19:55:46Z","stringField":"xeRDyLlMx","stringTimeField":"04:50:43.40Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4930,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4930,"uuid":"9e0a8a40-5655-11ee-8001-675ed0f8e89b"},"arrayField":["lTDpO"],"boolField":false,"intField":714,"numField":409.64413574209766,"objField":{"DFQFoMxbd":4029417569566650811,"QeedOGFhu":-2257602577353826769,"UJsHoTCWm":-5137973034223453817,"WvHatm":-4276359248160708899,"bwYdJM":553410717883377749,"iGiWLAtCk":-2226382213150804923},"stringDateField":"1959-11-12","stringDateTimeField":"1969-12-28T00:16:41Z","stringField":"KTmeDAx","stringTimeField":"14:53:28.21Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":714,"numField":409.64413574209766,"stringDateField":"1959-11-12","stringDateTimeField":"1969-12-28T00:16:41Z","stringField":"KTmeDAx","stringTimeField":"14:53:28.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4931,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4931,"uuid":"9e0a8a40-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UiXvQv","shvXuVCdm","YWUeeg","Svjqj","MXWbEo","SRvKVMiRB","MVUHkL","KhKjtQYn","oYOQIaTg"],"boolField":true,"intField":-930,"numField":-703.873009583596,"objField":{"BZcwU":1616715633881104485,"OIrFlonVz":-1936793823279707418,"QShpXKFKh":-6310038901835008819,"ULoO":2004177818314779303,"mSmbPZCF":8970306233192942714,"nlSAojOje":-6419167976649818592,"tRHnVW":-4241274456594995454,"wfzTHymGw":463013180455273776},"stringDateField":"1900-09-28","stringDateTimeField":"1974-09-21T16:48:20Z","stringField":"PVdL","stringTimeField":"10:40:24.11Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":-930,"numField":-703.873009583596,"stringDateField":"1900-09-28","stringDateTimeField":"1974-09-21T16:48:20Z","stringField":"PVdL","stringTimeField":"10:40:24.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4932,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4932,"uuid":"9e0a8a40-5655-11ee-8801-675ed0f8e89b"},"arrayField":["hwmiCtybPV"],"boolField":true,"intField":776,"numField":576.7695137663502,"objField":{"CPYo":-8873559851227982558,"EeRBWkJ":3871855427056198645,"Kzout":4756828319016841602,"MhNUBUzQN":5176720420234287797,"NhgKzgN":-1145226331702648847,"UyJanQGlY":7636807453835204640,"XLaVrxu":-112474478173547937,"dbjf":6893504872835121369,"tDVji":-7072705501092114286},"stringDateField":"1954-10-24","stringDateTimeField":"1935-04-11T00:36:57Z","stringField":"LUOFFxA","stringTimeField":"12:52:53.24Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":776,"numField":576.7695137663502,"stringDateField":"1954-10-24","stringDateTimeField":"1935-04-11T00:36:57Z","stringField":"LUOFFxA","stringTimeField":"12:52:53.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4933,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4933,"uuid":"9e0a8a40-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["LXiJJYFcUF","YeNxd","XQhNaoc","nVEoI","cXEhL","YpiRcRze","BpovSjJ"],"boolField":true,"intField":920,"numField":-30.87169874348461,"objField":{"BrCO":-2408547099121760728,"OLwT":-8258117709516872889,"PnDzp":-8310280244840023339,"VIuEGek":-3197686986106797315,"ZBgGiVwQf":2080583790455127971},"stringDateField":"1943-02-07","stringDateTimeField":"1918-07-11T15:38:46Z","stringField":"xHDYuDIfN","stringTimeField":"00:43:22.14Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":920,"numField":-30.87169874348461,"stringDateField":"1943-02-07","stringDateTimeField":"1918-07-11T15:38:46Z","stringField":"xHDYuDIfN","stringTimeField":"00:43:22.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4934,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4934,"uuid":"9e0a8a40-5655-11ee-9001-675ed0f8e89b"},"arrayField":["istqAqWD","WSheuy","EvXGQHv","vLdL"],"boolField":false,"intField":-266,"numField":337.3331245081028,"objField":{"AfQNO":6106872198488323802,"EmCJy":5244572194988247797,"GLptqJN":-3211618241210888827,"LaGEhyCdo":-4033488311944548704,"MqoL":-6197271134303013181,"Sdgp":7603341898374806966,"UXJspzrVv":2300390917264420616,"cins":-8084286065500627355},"stringDateField":"2012-10-12","stringDateTimeField":"1935-01-17T16:07:03Z","stringField":"PqDvlK","stringTimeField":"01:26:10.17Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":-266,"numField":337.3331245081028,"stringDateField":"2012-10-12","stringDateTimeField":"1935-01-17T16:07:03Z","stringField":"PqDvlK","stringTimeField":"01:26:10.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4935,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4935,"uuid":"9e0a8a40-5655-11ee-9401-675ed0f8e89b"},"arrayField":["uLYBpNSppm","yYiIvojcri","gMTi","MTkuKQdeV","CYxlDr","XiiNFQ"],"boolField":true,"intField":-370,"numField":-383.4277567901996,"objField":{"XKLiQEFWux":6171441064223732138,"aFuCxL":-6715270331683775824,"kIbVOptW":-3147706192743887459,"tbJLGrhFff":6689097670651524945},"stringDateField":"1909-01-16","stringDateTimeField":"1974-04-02T15:47:18Z","stringField":"qoYEpWXECn","stringTimeField":"03:19:51.47Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":-370,"numField":-383.4277567901996,"stringDateField":"1909-01-16","stringDateTimeField":"1974-04-02T15:47:18Z","stringField":"qoYEpWXECn","stringTimeField":"03:19:51.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4936,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4936,"uuid":"9e0a8a40-5655-11ee-9801-675ed0f8e89b"},"arrayField":["fKqy","oRNYRvIGC","XoCVwhpVuT","GqsPjAZmVb","BugOwJ"],"boolField":true,"intField":-923,"numField":707.3289988290543,"objField":{"UKyet":260017997680471639,"lOiwR":-6222377372995695663,"oMUvyUw":-6839240253898333659,"qgSdF":-564213402383836096,"wPLa":-458420172525578200},"stringDateField":"1978-10-07","stringDateTimeField":"1921-02-24T15:31:16Z","stringField":"XimyUmI","stringTimeField":"23:54:31.44Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":-923,"numField":707.3289988290543,"stringDateField":"1978-10-07","stringDateTimeField":"1921-02-24T15:31:16Z","stringField":"XimyUmI","stringTimeField":"23:54:31.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4937,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4937,"uuid":"9e0a8a40-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["pmZQabX","mCwD","sRhhclh","ltTDA","OoMlIsLCU","NYMrr"],"boolField":true,"intField":-230,"numField":752.5203869904624,"objField":{"iBOX":-8341879619480231302,"uEWJ":-1950872029023535596},"stringDateField":"2004-10-27","stringDateTimeField":"1910-06-26T04:19:39Z","stringField":"iRHnxC","stringTimeField":"21:39:26.29Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":-230,"numField":752.5203869904624,"stringDateField":"2004-10-27","stringDateTimeField":"1910-06-26T04:19:39Z","stringField":"iRHnxC","stringTimeField":"21:39:26.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4938,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4938,"uuid":"9e0a8a40-5655-11ee-a001-675ed0f8e89b"},"arrayField":["gsogYtFhd","WcnvwPq","RAyKdkbSEQ"],"boolField":false,"intField":-773,"numField":-700.9246903764672,"objField":{"YLJN":4321957588188753793},"stringDateField":"1948-07-17","stringDateTimeField":"1957-11-01T11:38:45Z","stringField":"PyJOjygZw","stringTimeField":"11:37:48.37Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":-773,"numField":-700.9246903764672,"stringDateField":"1948-07-17","stringDateTimeField":"1957-11-01T11:38:45Z","stringField":"PyJOjygZw","stringTimeField":"11:37:48.37Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4939,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4939,"uuid":"9e0a8a40-5655-11ee-a401-675ed0f8e89b"},"arrayField":["ZScH","NRnARj","armAaQhWZr","rSgmS","Zbbyc","FIRzmCRu","HSRmgiI","jwZuBCnVK"],"boolField":true,"intField":674,"numField":-584.274755878083,"objField":{"OZIooBa":3625709812604143153,"PBUQfG":4345855407593135412,"QxDC":8297978613498158329,"UUJUVSDs":7144478886867492316,"fxDAV":8331715217755025362,"hIcvxZrGl":7197404412890353639,"mDRbQIhm":1923891122279459964,"xxbdOv":7532340199973411889,"yTLzfxjN":1398261158878868447},"stringDateField":"1995-05-19","stringDateTimeField":"1955-04-11T19:33:51Z","stringField":"ywfsOUQG","stringTimeField":"12:57:33.28Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":674,"numField":-584.274755878083,"stringDateField":"1995-05-19","stringDateTimeField":"1955-04-11T19:33:51Z","stringField":"ywfsOUQG","stringTimeField":"12:57:33.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4940,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4940,"uuid":"9e0a8a40-5655-11ee-a801-675ed0f8e89b"},"arrayField":["DiYkL","JipDRZbKU","SsxZNjdV","JcSvCIwqzc","ELsJJuVFbL","MyQHAMX","kPyhUMQb","OlBYY"],"boolField":true,"intField":307,"numField":465.3805081589404,"objField":{"CGQk":7429458457407787549,"Xrplljw":4574363737463006223,"ebhuc":3101348556799412850,"fWySUhK":-2692037160398736360},"stringDateField":"1928-02-02","stringDateTimeField":"1914-09-08T21:47:10Z","stringField":"kZPpzm","stringTimeField":"09:27:56.15Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":307,"numField":465.3805081589404,"stringDateField":"1928-02-02","stringDateTimeField":"1914-09-08T21:47:10Z","stringField":"kZPpzm","stringTimeField":"09:27:56.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4941,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4941,"uuid":"9e0a8a40-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["MoaEutmS","HfGrp","lMVfTkybYp","ioCwj","zKzRO","AMZB","UGRVO","yKZZezUB","YZUPDx"],"boolField":false,"intField":-451,"numField":-590.9130238266927,"objField":{"EqJsDV":8299447699915781292,"XkIltzdtRQ":-1983530583454342853,"gtQMWmyEOo":-7613846334871222264},"stringDateField":"1990-09-07","stringDateTimeField":"2005-10-18T02:16:23Z","stringField":"acOfrUq","stringTimeField":"22:14:39.15Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":-451,"numField":-590.9130238266927,"stringDateField":"1990-09-07","stringDateTimeField":"2005-10-18T02:16:23Z","stringField":"acOfrUq","stringTimeField":"22:14:39.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4942,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4942,"uuid":"9e0a8a40-5655-11ee-b001-675ed0f8e89b"},"arrayField":["kYxgct","Fexa","qxfIfsbjg","dybDBM","Pela","rXRQFxYk"],"boolField":true,"intField":-918,"numField":200.08760809555605,"objField":{"OCRmm":-2014393131663757137,"dTBYXqmsFq":495431655798415090,"sbmrmvbJ":-4264041061801627592},"stringDateField":"1970-08-22","stringDateTimeField":"2000-08-27T09:09:26Z","stringField":"ejfrFfJgc","stringTimeField":"13:19:01.46Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":-918,"numField":200.08760809555605,"stringDateField":"1970-08-22","stringDateTimeField":"2000-08-27T09:09:26Z","stringField":"ejfrFfJgc","stringTimeField":"13:19:01.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4943,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4943,"uuid":"9e0a8a40-5655-11ee-b401-675ed0f8e89b"},"arrayField":["vpxwnLfOQw","NqTuzVqn"],"boolField":true,"intField":862,"numField":716.3273728314259,"objField":{"MbYwfbtS":-9001717520657699634,"XhUauXeg":8504432346116787096,"pFRbzIWbz":4830259686496968890,"rakZUARwX":-6120024249847779010,"xDHQcXZvT":3563944233454604682},"stringDateField":"1992-05-22","stringDateTimeField":"1968-06-28T11:56:01Z","stringField":"gyEQOsP","stringTimeField":"09:47:30.35Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":862,"numField":716.3273728314259,"stringDateField":"1992-05-22","stringDateTimeField":"1968-06-28T11:56:01Z","stringField":"gyEQOsP","stringTimeField":"09:47:30.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4944,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4944,"uuid":"9e0a8a40-5655-11ee-b801-675ed0f8e89b"},"arrayField":["yNFxN","IZEqjSMpi","pdlxaI","tNKHAi","nSYWVKsEOr","ldbLoHGxDY"],"boolField":true,"intField":-597,"numField":-121.20908308427224,"objField":{"VYcRl":-3022671267951672069,"oFGpwR":1951769279533127559,"rXvI":-5333502722708645265},"stringDateField":"1952-11-21","stringDateTimeField":"1961-12-24T22:09:50Z","stringField":"uzBqBGO","stringTimeField":"11:35:10.50Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":-597,"numField":-121.20908308427224,"stringDateField":"1952-11-21","stringDateTimeField":"1961-12-24T22:09:50Z","stringField":"uzBqBGO","stringTimeField":"11:35:10.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4945,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4945,"uuid":"9e0a8a40-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["DVWnlA","LFBQUj","hqLmsrpV","aJnXxjhiD","cJrof","swKpdMztq","COHayrPCZB","OExZk","TZQCxO"],"boolField":true,"intField":512,"numField":-860.9463330298013,"objField":{"BwQbwrESkZ":-4212599051280928492,"LxTeRGMxR":-6995652161324194217,"OZxTjqcNY":6525750778383080671,"UyLRJEl":-39689905994262447,"soxydqgij":6562394078587014440},"stringDateField":"2018-01-21","stringDateTimeField":"1958-04-09T10:38:40Z","stringField":"JvyRJ","stringTimeField":"06:28:33.26Z"},"flow_published_at":"2023-09-18T19:00:21.876384Z","intField":512,"numField":-860.9463330298013,"stringDateField":"2018-01-21","stringDateTimeField":"1958-04-09T10:38:40Z","stringField":"JvyRJ","stringTimeField":"06:28:33.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4946,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4946,"uuid":"9e0a8a41-5655-11ee-8001-675ed0f8e89b"},"arrayField":["dJOsrui","YUsokWiza","cknNkEBgMa","Fsctkw","KaWLz","Fdpmn","bTeGmbTW","MsmdXsLdC","nFVx"],"boolField":false,"intField":223,"numField":-985.4202963079762,"objField":{"LGHkyPcA":7948530683161558125,"VsnC":8010611909969415981,"ZwffHNZ":8342675529314099605,"bAonW":2081064153672202893},"stringDateField":"1948-08-04","stringDateTimeField":"1941-08-10T09:46:50Z","stringField":"FvXEHi","stringTimeField":"20:43:17.15Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":223,"numField":-985.4202963079762,"stringDateField":"1948-08-04","stringDateTimeField":"1941-08-10T09:46:50Z","stringField":"FvXEHi","stringTimeField":"20:43:17.15Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4947,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4947,"uuid":"9e0a8a41-5655-11ee-8401-675ed0f8e89b"},"arrayField":["RTbA","nkBzKCbtdU","UqXmGiKXLP","VAGOyUqJz","kXRpKDxGc","xPAZEhb","gjGu","nUlRkmQE"],"boolField":false,"intField":594,"numField":584.4822863349582,"objField":{"QYJvUZQUE":8239574192574600062},"stringDateField":"1925-06-12","stringDateTimeField":"2021-05-13T04:05:28Z","stringField":"NrswIg","stringTimeField":"05:29:36.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":594,"numField":584.4822863349582,"stringDateField":"1925-06-12","stringDateTimeField":"2021-05-13T04:05:28Z","stringField":"NrswIg","stringTimeField":"05:29:36.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4948,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4948,"uuid":"9e0a8a41-5655-11ee-8801-675ed0f8e89b"},"arrayField":["SlvDIi","FMRK","voJd","LDGAjFHFYw","ZvwFqmNUR"],"boolField":true,"intField":360,"numField":59.78007283846054,"objField":{"HxeJiPDol":7746215547739305959,"PsGv":988861290031964809,"SWiXDtUv":-1477560460926150611,"SrZHCMD":-1486480744142685792,"fdhJ":1983033669170010337,"nHUItv":-5120098950527389714,"vbqJZY":-6130903068210774658,"xyhx":8846080233239197900,"zEIhZPD":-7716995163063266946,"znbPiT":-5281514472830931912},"stringDateField":"1923-01-06","stringDateTimeField":"1996-02-22T17:44:34Z","stringField":"KmKhyyxcJC","stringTimeField":"14:02:09.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":360,"numField":59.78007283846054,"stringDateField":"1923-01-06","stringDateTimeField":"1996-02-22T17:44:34Z","stringField":"KmKhyyxcJC","stringTimeField":"14:02:09.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4949,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4949,"uuid":"9e0a8a41-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["hpaBzEs","GWoHCVy","aceoQTql","FJuXZTRIX","vjrRHH","VlmWL"],"boolField":false,"intField":-733,"numField":527.6233323793759,"objField":{"CoPNvIUFv":967348043650477219,"ZKtyv":-5772398385266188746,"dKZVHQC":334007230593464870,"mIIe":-1790727510896303549,"tDBopyes":-3396888784460756272,"xkisizqbY":5487102783808554485},"stringDateField":"1921-04-06","stringDateTimeField":"1940-05-25T16:34:52Z","stringField":"sggxe","stringTimeField":"05:18:43.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":-733,"numField":527.6233323793759,"stringDateField":"1921-04-06","stringDateTimeField":"1940-05-25T16:34:52Z","stringField":"sggxe","stringTimeField":"05:18:43.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4950,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4950,"uuid":"9e0a8a41-5655-11ee-9001-675ed0f8e89b"},"arrayField":["kWeYKW","Jinl","gsRI","JUhoE","vCDBwnr","XPTf","RRymygy","pKYx","TvrGU","YTFYkhis"],"boolField":false,"intField":-751,"numField":-973.525170008272,"objField":{"AutHXZUeNI":-5077917196011498921,"aGtGtFBQ":6116086772249297834,"mAImyFH":-6791900714750223804,"vZjs":1421087104973516338,"wCzofcY":4062902456270485692,"whKQvj":4131383970907611246},"stringDateField":"1906-06-01","stringDateTimeField":"1954-08-25T15:44:22Z","stringField":"YsRYCoR","stringTimeField":"07:10:51.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":-751,"numField":-973.525170008272,"stringDateField":"1906-06-01","stringDateTimeField":"1954-08-25T15:44:22Z","stringField":"YsRYCoR","stringTimeField":"07:10:51.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4951,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4951,"uuid":"9e0a8a41-5655-11ee-9401-675ed0f8e89b"},"arrayField":["AIXa","INcX","hNvehLJ"],"boolField":false,"intField":311,"numField":-787.650611045329,"objField":{"UvCTp":2360896581508938470,"Zrge":-220860670600153991,"gwmg":4958666564112601458},"stringDateField":"1937-10-21","stringDateTimeField":"2023-07-22T17:21:14Z","stringField":"GPjgKjg","stringTimeField":"12:03:59.28Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":311,"numField":-787.650611045329,"stringDateField":"1937-10-21","stringDateTimeField":"2023-07-22T17:21:14Z","stringField":"GPjgKjg","stringTimeField":"12:03:59.28Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4952,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4952,"uuid":"9e0a8a41-5655-11ee-9801-675ed0f8e89b"},"arrayField":["XeiFGxpIu","cWynArF"],"boolField":false,"intField":251,"numField":871.0717578943293,"objField":{"IPBFJIH":-6547918295877211137,"ZWcKZJT":2460044232026922380,"ZeeN":-1828961028385758958,"blhcLqmytb":-1851661734682380087,"eVMFQ":-4739206767548649405,"hRyf":8182530522565169421,"ybhCLWE":5536249086697063928},"stringDateField":"1935-05-29","stringDateTimeField":"1936-03-01T15:14:41Z","stringField":"BIZGlHIY","stringTimeField":"11:10:41.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":251,"numField":871.0717578943293,"stringDateField":"1935-05-29","stringDateTimeField":"1936-03-01T15:14:41Z","stringField":"BIZGlHIY","stringTimeField":"11:10:41.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4953,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4953,"uuid":"9e0a8a41-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["eMAShWKQmL","KnQh","iysWxElaRH","WMMjZl"],"boolField":true,"intField":524,"numField":-506.69502691911975,"objField":{"NAYv":3582989134943498836,"PdQKaBW":1938361078951897574,"XuCLyxPBIf":-9166040034724563320,"aedKMbfACu":-2674647880056376764,"orJOkWbn":-6325627789061782093},"stringDateField":"1901-04-30","stringDateTimeField":"1946-12-13T08:41:06Z","stringField":"imEmSpc","stringTimeField":"09:32:31.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":524,"numField":-506.69502691911975,"stringDateField":"1901-04-30","stringDateTimeField":"1946-12-13T08:41:06Z","stringField":"imEmSpc","stringTimeField":"09:32:31.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4954,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4954,"uuid":"9e0a8a41-5655-11ee-a001-675ed0f8e89b"},"arrayField":["VQpfbRWZ","yhBk","YzEV","gxbjfDElL","ZMda","NVJbj","FGXBXz","MhipA"],"boolField":false,"intField":-217,"numField":-654.0425108388285,"objField":{"BFmRuSbmJB":-8559832531844121687,"DQCbQxa":3327394591167278198,"DipRE":-9016681517046724322,"SJZfwGCPzp":-1699251837670237157,"XFVTTU":5828103553780887802,"YyPuMNvnS":-4984914927713299692,"dLQONDnGFc":-9040926452395460205,"iBiC":-3782889999666423626},"stringDateField":"2017-12-22","stringDateTimeField":"1914-05-13T18:51:33Z","stringField":"uKLANEKBb","stringTimeField":"19:22:43.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":-217,"numField":-654.0425108388285,"stringDateField":"2017-12-22","stringDateTimeField":"1914-05-13T18:51:33Z","stringField":"uKLANEKBb","stringTimeField":"19:22:43.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4955,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4955,"uuid":"9e0a8a41-5655-11ee-a401-675ed0f8e89b"},"arrayField":["CFPLC","QQVOsWVf"],"boolField":false,"intField":-333,"numField":27.161762939521992,"objField":{"AsdrvXqC":4589413383156717422,"BzcxAc":4365085205624193242,"hXbEpna":-5992681274325717773,"unVafmz":-2097730750451152338},"stringDateField":"1943-08-25","stringDateTimeField":"1929-10-04T16:18:27Z","stringField":"iMniAp","stringTimeField":"18:44:41.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":-333,"numField":27.161762939521992,"stringDateField":"1943-08-25","stringDateTimeField":"1929-10-04T16:18:27Z","stringField":"iMniAp","stringTimeField":"18:44:41.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4956,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4956,"uuid":"9e0a8a41-5655-11ee-a801-675ed0f8e89b"},"arrayField":["akXDPA","kACzYVPfgP","DaXksdYuJm","DEHayMbtpW","WvIdRuNE","qQJalHkd","fpAJy","KuON","bHdFHz","JaezY"],"boolField":true,"intField":-637,"numField":194.31463144011207,"objField":{"AlpEgnmmu":3660183146367755644,"JtsWhJWwF":7951724245250715466,"MAeIWCD":3114070916272031658,"Ohmrghzh":6842066836055474440,"VRvcFtGglP":1628195997088742676,"VXPU":6355329437945307393,"ZiqyLgo":5031285599425654862,"prSadTYsT":1737323509417267619},"stringDateField":"2007-03-15","stringDateTimeField":"1915-02-04T09:35:51Z","stringField":"VDvjaH","stringTimeField":"02:23:22.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":-637,"numField":194.31463144011207,"stringDateField":"2007-03-15","stringDateTimeField":"1915-02-04T09:35:51Z","stringField":"VDvjaH","stringTimeField":"02:23:22.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4957,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4957,"uuid":"9e0a8a41-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["WzYDfOZWO","QtyhYjBAn","fJFZ","RVRwz","bMvbWz","QYVaTFPu","xprLm","cVBJhEEuCv","DYismBa","dvRbAVhxz"],"boolField":false,"intField":-383,"numField":193.85114487813993,"objField":{"AFtIMRf":7431376559279045444,"RaDRgREMb":-4337411321213555737,"YlpIi":-1160440983168446312,"lUPnsiUN":-2580517527188963601,"zIHEUR":-4416592697503613836},"stringDateField":"1913-07-06","stringDateTimeField":"1941-05-08T06:57:45Z","stringField":"UvwtgaTu","stringTimeField":"21:52:49.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":-383,"numField":193.85114487813993,"stringDateField":"1913-07-06","stringDateTimeField":"1941-05-08T06:57:45Z","stringField":"UvwtgaTu","stringTimeField":"21:52:49.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4958,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4958,"uuid":"9e0a8a41-5655-11ee-b001-675ed0f8e89b"},"arrayField":["tDAS","vyVyhbC","SgGLNSiG","XXUsov","hfYQnefR","YuiWi"],"boolField":false,"intField":-204,"numField":157.2995718825081,"objField":{"BFkEJggq":-5148890061345148573,"DjTTWW":-4266276820662283485,"LsDmgXaHg":2745300219496845724,"SKYFV":-1872589052658374150,"ZHspxSWlI":-404239478106743681,"bhzs":-3709279968151755719,"gqAHfbIy":9078943781790827502,"pAcIiQqj":-1367642844100189500,"sXiEf":-962704308642829177},"stringDateField":"2022-07-31","stringDateTimeField":"1904-05-20T09:32:34Z","stringField":"rWVjtdEED","stringTimeField":"06:41:35.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":-204,"numField":157.2995718825081,"stringDateField":"2022-07-31","stringDateTimeField":"1904-05-20T09:32:34Z","stringField":"rWVjtdEED","stringTimeField":"06:41:35.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4959,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4959,"uuid":"9e0a8a41-5655-11ee-b401-675ed0f8e89b"},"arrayField":["LwCy","HErBCh","EJCYV","mcMv","YLydpZpM","yZTMu","qxmph"],"boolField":false,"intField":-866,"numField":-671.0430374769102,"objField":{"MksPoEFgKn":1539437624023419010,"OkaIL":8398878179108086017,"WFTYFXHb":1024318083297816223,"ZhwjBrr":4055497468251855618,"ZpvtMOXFv":8016229578464508277},"stringDateField":"2017-06-21","stringDateTimeField":"1999-01-10T07:32:58Z","stringField":"ZFIs","stringTimeField":"12:52:28.24Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":-866,"numField":-671.0430374769102,"stringDateField":"2017-06-21","stringDateTimeField":"1999-01-10T07:32:58Z","stringField":"ZFIs","stringTimeField":"12:52:28.24Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4960,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4960,"uuid":"9e0a8a41-5655-11ee-b801-675ed0f8e89b"},"arrayField":["Vdqg"],"boolField":false,"intField":412,"numField":-293.3358131298961,"objField":{"cEOv":8506418195227144433},"stringDateField":"1954-02-15","stringDateTimeField":"1942-10-14T13:16:44Z","stringField":"OtDM","stringTimeField":"03:15:18.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":412,"numField":-293.3358131298961,"stringDateField":"1954-02-15","stringDateTimeField":"1942-10-14T13:16:44Z","stringField":"OtDM","stringTimeField":"03:15:18.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4961,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4961,"uuid":"9e0a8a41-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["XnGlkiaafi"],"boolField":false,"intField":404,"numField":-610.0888252902819,"objField":{"CMCZIpYwKn":6269265199814909079,"PbZyC":-7117713011707128923,"ePWnWZ":6689879521040992221,"edXJJXb":1060820097835202488,"tPWVvHAP":3178660148037820503,"xmvQWr":8933128328950583285},"stringDateField":"1983-05-11","stringDateTimeField":"1923-09-16T16:15:10Z","stringField":"WQBDF","stringTimeField":"11:29:04.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763841Z","intField":404,"numField":-610.0888252902819,"stringDateField":"1983-05-11","stringDateTimeField":"1923-09-16T16:15:10Z","stringField":"WQBDF","stringTimeField":"11:29:04.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4962,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4962,"uuid":"9e0a8a42-5655-11ee-8001-675ed0f8e89b"},"arrayField":["YTzczMxIfd","xCRxk","fTpAuJwbK","GyffHe"],"boolField":true,"intField":684,"numField":-889.0365937996446,"objField":{"hiPaA":-2041973341987455714,"iBqKlY":-5249434281642219612,"oQnm":7102395752451270845,"yHfTvTPnX":-288993588831913096},"stringDateField":"1914-11-18","stringDateTimeField":"2013-05-02T21:25:01Z","stringField":"GhfkFeB","stringTimeField":"09:01:30.10Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":684,"numField":-889.0365937996446,"stringDateField":"1914-11-18","stringDateTimeField":"2013-05-02T21:25:01Z","stringField":"GhfkFeB","stringTimeField":"09:01:30.10Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4963,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4963,"uuid":"9e0a8a42-5655-11ee-8401-675ed0f8e89b"},"arrayField":["yZjLqCv","wuns"],"boolField":false,"intField":249,"numField":-820.0378033261387,"objField":{"DTfRnzVak":-5233326740024225845,"EQlYLzBV":1921125272046448450,"Ppnez":-8213696630587543175,"QOWlEBeD":-4661120651734760795,"VSyOzoPbt":-3671796994279128734,"kZMv":647338531717920480,"sWFbZjGmej":8954118544741877714,"uPfHgGj":3618610178704204255,"wHyogrgdUy":-2473143015820777625},"stringDateField":"1976-07-15","stringDateTimeField":"1934-12-12T22:05:05Z","stringField":"cyxmHrU","stringTimeField":"17:42:26.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":249,"numField":-820.0378033261387,"stringDateField":"1976-07-15","stringDateTimeField":"1934-12-12T22:05:05Z","stringField":"cyxmHrU","stringTimeField":"17:42:26.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4964,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4964,"uuid":"9e0a8a42-5655-11ee-8801-675ed0f8e89b"},"arrayField":["ItRGwwJzVr","FyUZB","qkZDkR","ogiGs","gXxLhY","hlsc","BlDDkyILX","cSmrxP"],"boolField":true,"intField":-552,"numField":214.19687189495917,"objField":{"Csfq":2258387558128134037,"KBuEDLVYAS":1907252725975096704,"SCDvXYe":-1983691875433114364,"VsphgVz":7211033325655959627,"kFhVCATTS":3353432333886941858,"ugXsQDEx":6997516883577194086},"stringDateField":"1916-03-05","stringDateTimeField":"2002-03-04T17:27:08Z","stringField":"NCNzLt","stringTimeField":"14:54:32.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":-552,"numField":214.19687189495917,"stringDateField":"1916-03-05","stringDateTimeField":"2002-03-04T17:27:08Z","stringField":"NCNzLt","stringTimeField":"14:54:32.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4965,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4965,"uuid":"9e0a8a42-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["GfJmFGI","VTdhCWub","DOzqPU","UQkRHjQKY","ZsII","yOZH","jceTPaH"],"boolField":false,"intField":744,"numField":-270.39411309450657,"objField":{"COmVZdEkp":-1908478667225286376,"ZssMz":-3844938246244910775,"bQblmbxtb":-8762954086807535608,"ejahaI":-4672350091977380655,"gxKj":-9075514955342130053,"qcxApJM":4760448557675923473,"xUCPjKXZRA":-6278532833914128515,"xbDi":-2213728918607254698},"stringDateField":"2007-11-07","stringDateTimeField":"2015-11-07T10:22:00Z","stringField":"FCgnQcxrgq","stringTimeField":"09:45:33.29Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":744,"numField":-270.39411309450657,"stringDateField":"2007-11-07","stringDateTimeField":"2015-11-07T10:22:00Z","stringField":"FCgnQcxrgq","stringTimeField":"09:45:33.29Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4966,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4966,"uuid":"9e0a8a42-5655-11ee-9001-675ed0f8e89b"},"arrayField":["odLU"],"boolField":false,"intField":-825,"numField":992.5739814563266,"objField":{"FtRKAzhHSF":6637009563487713223,"HwFRrCAX":5006287024084185838,"LQfxrQa":-288389349841223500,"LcSKyXYE":3530373014713579265,"OhRFqeOX":2078973975529400310,"XNZTqGuO":-1181929318133462073,"kMgeNzvWTU":3901768006146801310,"lJBsTFGW":-4475293263310284613,"riTOiIkKKr":-6763138502530050893,"uddXNXUf":2969958274917365138},"stringDateField":"1935-11-19","stringDateTimeField":"1909-09-15T19:08:49Z","stringField":"WoQmKbZpS","stringTimeField":"09:07:47.44Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":-825,"numField":992.5739814563266,"stringDateField":"1935-11-19","stringDateTimeField":"1909-09-15T19:08:49Z","stringField":"WoQmKbZpS","stringTimeField":"09:07:47.44Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4967,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4967,"uuid":"9e0a8a42-5655-11ee-9401-675ed0f8e89b"},"arrayField":["szJYbq","LTlZnfGk","aNixHPv"],"boolField":false,"intField":20,"numField":504.2167446869146,"objField":{"BkCBoLC":2821836678502472474,"EUpfgblkJd":-6819616873296084011},"stringDateField":"2012-08-17","stringDateTimeField":"2022-07-26T03:20:17Z","stringField":"pgLBSVZTEN","stringTimeField":"06:04:37.21Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":20,"numField":504.2167446869146,"stringDateField":"2012-08-17","stringDateTimeField":"2022-07-26T03:20:17Z","stringField":"pgLBSVZTEN","stringTimeField":"06:04:37.21Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4968,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4968,"uuid":"9e0a8a42-5655-11ee-9801-675ed0f8e89b"},"arrayField":["bhTocIq","KqnSkz","CSVbwJuxoF","ADYGKysamA"],"boolField":false,"intField":-232,"numField":986.8341354889376,"objField":{"bIKHUtPj":4317066092306325897,"rvNezv":6476613626552825805,"wefU":3536198218252316664},"stringDateField":"2006-09-09","stringDateTimeField":"1998-07-22T19:01:40Z","stringField":"JCRHLhh","stringTimeField":"21:35:53.43Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":-232,"numField":986.8341354889376,"stringDateField":"2006-09-09","stringDateTimeField":"1998-07-22T19:01:40Z","stringField":"JCRHLhh","stringTimeField":"21:35:53.43Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4969,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4969,"uuid":"9e0a8a42-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["DzpgH","SPDhs","hhlHCGypLm","tWgl","WpCICGz","coWQW","lJwLXHiuCy","STCkDM","JupHGVJ"],"boolField":true,"intField":-407,"numField":992.8110365035864,"objField":{"JjXo":-2848758248808469268,"eRQTJfOp":644295116457004486,"qNvUnKz":-8346268957713066170},"stringDateField":"1970-07-10","stringDateTimeField":"1980-03-25T12:36:17Z","stringField":"bJWAqzlbQ","stringTimeField":"08:34:23.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":-407,"numField":992.8110365035864,"stringDateField":"1970-07-10","stringDateTimeField":"1980-03-25T12:36:17Z","stringField":"bJWAqzlbQ","stringTimeField":"08:34:23.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4970,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4970,"uuid":"9e0a8a42-5655-11ee-a001-675ed0f8e89b"},"arrayField":["uyRJOXoAeh","mgfdXQsfjz","oHZb","MiCIuNE","KwomuMMuf","xTZMbb"],"boolField":true,"intField":-612,"numField":-485.72975876102873,"objField":{"NDZUIywFKK":1735686061630994603,"UINMgnru":5223869703618096647,"bOhpA":-8497046863293845851},"stringDateField":"1976-02-08","stringDateTimeField":"1968-12-01T14:24:01Z","stringField":"fiuGImOL","stringTimeField":"18:04:40.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":-612,"numField":-485.72975876102873,"stringDateField":"1976-02-08","stringDateTimeField":"1968-12-01T14:24:01Z","stringField":"fiuGImOL","stringTimeField":"18:04:40.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4971,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4971,"uuid":"9e0a8a42-5655-11ee-a401-675ed0f8e89b"},"arrayField":["FVDg","XkEtoT","NXSPFxzHCq","gAghfdWuK","dtWqPsVWH","xqbBE","fKmi","mVyiya"],"boolField":false,"intField":-692,"numField":845.5013067388941,"objField":{"FriBUXIdt":2551242025375883824,"OUpUccWv":7541062954175802368,"saBnIbk":7635671315489568917,"tPIgCQhitd":-243237160763209020},"stringDateField":"1932-01-05","stringDateTimeField":"1934-02-08T04:46:01Z","stringField":"zpPuSFrSHG","stringTimeField":"13:55:28.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":-692,"numField":845.5013067388941,"stringDateField":"1932-01-05","stringDateTimeField":"1934-02-08T04:46:01Z","stringField":"zpPuSFrSHG","stringTimeField":"13:55:28.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4972,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4972,"uuid":"9e0a8a42-5655-11ee-a801-675ed0f8e89b"},"arrayField":["uNgy","rGDeYMux","Irgmm","KiRp","NpURUpR"],"boolField":true,"intField":-242,"numField":914.658156298702,"objField":{"TGqjFvuPw":-3917757973647954815,"WEsAiD":-1243714042439640988,"weMG":-4347729770916387324},"stringDateField":"1933-12-24","stringDateTimeField":"2020-12-05T00:08:58Z","stringField":"rfIT","stringTimeField":"07:57:07.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":-242,"numField":914.658156298702,"stringDateField":"1933-12-24","stringDateTimeField":"2020-12-05T00:08:58Z","stringField":"rfIT","stringTimeField":"07:57:07.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4973,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4973,"uuid":"9e0a8a42-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["ctYEiECCk","KDoRoSaA","STslK","SAICoG","LgsM","BOSebgx","OJKNB","omhOCbWKDQ","ugBAiAEMad","MvWjs"],"boolField":false,"intField":819,"numField":-782.6160104781254,"objField":{"HKLydul":1497704570116364961,"IaFXP":-1952848085175170460,"cfVEMP":9551421665317508,"ljXZvwOXwj":5961880108056217104,"mNiQQmlHS":-5070380713637963756,"ogIvvZthSn":5331839697002500578},"stringDateField":"1984-11-07","stringDateTimeField":"1945-05-15T21:26:19Z","stringField":"wwdPMEZ","stringTimeField":"07:12:11.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":819,"numField":-782.6160104781254,"stringDateField":"1984-11-07","stringDateTimeField":"1945-05-15T21:26:19Z","stringField":"wwdPMEZ","stringTimeField":"07:12:11.46Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4974,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4974,"uuid":"9e0a8a42-5655-11ee-b001-675ed0f8e89b"},"arrayField":["fcLhGwfCVo","DDKtU","Uomes"],"boolField":true,"intField":-25,"numField":170.9970800418592,"objField":{"HSXsCr":-4159998135463003852,"HpxzVDrW":4295913095782402784,"NQMZRWdH":-359620584846569271,"UHCBogsib":2914246890848905861,"WYAn":-3423364275322774845,"XdNdqFfN":-2139749746223592438,"fuhvjrTqHQ":-5707753370731048495,"yIbcnyNrF":-8854885765563997892},"stringDateField":"1964-10-20","stringDateTimeField":"1904-09-24T01:41:51Z","stringField":"vCkwq","stringTimeField":"12:59:00.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":-25,"numField":170.9970800418592,"stringDateField":"1964-10-20","stringDateTimeField":"1904-09-24T01:41:51Z","stringField":"vCkwq","stringTimeField":"12:59:00.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4975,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4975,"uuid":"9e0a8a42-5655-11ee-b401-675ed0f8e89b"},"arrayField":["PNvjJVEf","viXkjAgab"],"boolField":true,"intField":716,"numField":971.0708554739869,"objField":{"tcuU":7501342299463028743,"wvXfN":5285620333835090621},"stringDateField":"1990-11-15","stringDateTimeField":"1962-09-07T18:02:57Z","stringField":"AqxUZ","stringTimeField":"14:41:47.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":716,"numField":971.0708554739869,"stringDateField":"1990-11-15","stringDateTimeField":"1962-09-07T18:02:57Z","stringField":"AqxUZ","stringTimeField":"14:41:47.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4976,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4976,"uuid":"9e0a8a42-5655-11ee-b801-675ed0f8e89b"},"arrayField":["FifOl","pXZu","yNtbat","IpbaXw"],"boolField":true,"intField":968,"numField":104.19366463421808,"objField":{"BkYbEHFiQH":-6480745314253660386,"BxxOfDFJl":-408357193446301085,"DRQu":4367223311687746452,"MianMe":-8551286536272830674,"YcfaoQ":6352723565586852518,"laXUQ":3469458596457942941},"stringDateField":"1940-03-22","stringDateTimeField":"1913-04-29T19:39:03Z","stringField":"OnxQfkSdJl","stringTimeField":"08:11:04.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":968,"numField":104.19366463421808,"stringDateField":"1940-03-22","stringDateTimeField":"1913-04-29T19:39:03Z","stringField":"OnxQfkSdJl","stringTimeField":"08:11:04.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4977,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4977,"uuid":"9e0a8a42-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["RLbJVSvLg","UtbFBeXEu","YiqQniFn","DyddvogX","ayPrW","zbBKoN","eccJf","EQBbaOShIH","kdHQ","mmmOQHe"],"boolField":true,"intField":134,"numField":-666.5557919862981,"objField":{"BbLZnpvTyl":9079685736614513968,"bobGZJuxm":8026747411082295953,"bwmZJmvz":-7400231941077780557,"pSle":-7318387304083815170,"qYrIk":-3940575186532827102,"twjaj":4221474970425365429,"xhSymNay":-5597241847902866213},"stringDateField":"1964-06-24","stringDateTimeField":"1913-08-27T01:14:22Z","stringField":"dIxjpYVTx","stringTimeField":"23:20:39.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763842Z","intField":134,"numField":-666.5557919862981,"stringDateField":"1964-06-24","stringDateTimeField":"1913-08-27T01:14:22Z","stringField":"dIxjpYVTx","stringTimeField":"23:20:39.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4978,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4978,"uuid":"9e0a8a43-5655-11ee-8001-675ed0f8e89b"},"arrayField":["nuWpxqKd","GWhHR","vSdq"],"boolField":true,"intField":-739,"numField":639.7649844230067,"objField":{"IeQGiN":5948152870309234644},"stringDateField":"1948-09-02","stringDateTimeField":"1911-12-17T14:31:53Z","stringField":"ZeWrydNrAX","stringTimeField":"13:02:20.42Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":-739,"numField":639.7649844230067,"stringDateField":"1948-09-02","stringDateTimeField":"1911-12-17T14:31:53Z","stringField":"ZeWrydNrAX","stringTimeField":"13:02:20.42Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4979,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4979,"uuid":"9e0a8a43-5655-11ee-8401-675ed0f8e89b"},"arrayField":["UeGcDtuD","aCkN","BiozCNif","hWWYVtHTr","oWNDdsTN","TrAxJvby","HUyDSplhH","KBEVTc","gjkZoPF"],"boolField":true,"intField":-838,"numField":-533.161687486953,"objField":{"KNqGUCW":164953722965772955,"WvlZDe":3857685439293612371,"YTqQGy":353246103830627832,"sLoN":4874859437578078877,"wuIoxI":2068675721574362396,"xnTQ":-4169678101885591762},"stringDateField":"2015-10-07","stringDateTimeField":"2012-09-04T14:06:29Z","stringField":"oANeHHwyTL","stringTimeField":"07:22:17.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":-838,"numField":-533.161687486953,"stringDateField":"2015-10-07","stringDateTimeField":"2012-09-04T14:06:29Z","stringField":"oANeHHwyTL","stringTimeField":"07:22:17.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4980,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4980,"uuid":"9e0a8a43-5655-11ee-8801-675ed0f8e89b"},"arrayField":["SUzgHJJi","AHiAZLLn","BVLL","VjeXDpOA","WonFnq","NFyUJlfv","RnSU","JNgTGNW","bWOixDtcr","vYmmpzahG"],"boolField":false,"intField":626,"numField":82.54972529420445,"objField":{"JaXLccbHlp":7628494394632043468,"TSir":4102824553840398576,"WlROxiTS":808027612584864701,"aohaPW":6037078383912285753},"stringDateField":"1987-12-01","stringDateTimeField":"1974-04-13T15:08:11Z","stringField":"IPKECDCS","stringTimeField":"14:08:23.20Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":626,"numField":82.54972529420445,"stringDateField":"1987-12-01","stringDateTimeField":"1974-04-13T15:08:11Z","stringField":"IPKECDCS","stringTimeField":"14:08:23.20Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4981,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4981,"uuid":"9e0a8a43-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["DqEeTlYXV","dJIkLghy","Zlfg"],"boolField":true,"intField":328,"numField":556.1511432057172,"objField":{"KuXRbc":3536367446599373665,"OMaAk":7901438488922666281,"PUGqMl":-7225271423884331643,"ZPEJ":6874061020215059416,"axFqSlXEMp":-8171851182204111085,"ujwlxem":-6185109538022240813,"zJjazXzT":-4804889187155778950},"stringDateField":"2018-06-17","stringDateTimeField":"1992-01-05T17:12:52Z","stringField":"DNelJsQiR","stringTimeField":"10:36:47.27Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":328,"numField":556.1511432057172,"stringDateField":"2018-06-17","stringDateTimeField":"1992-01-05T17:12:52Z","stringField":"DNelJsQiR","stringTimeField":"10:36:47.27Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4982,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4982,"uuid":"9e0a8a43-5655-11ee-9001-675ed0f8e89b"},"arrayField":["WUMkpygkG","VfxfFLIqP","ipPcOffQ","dEHzKYZSuF","DzXmPIxyzq","mrHX","HTViEPZqf","Pvre"],"boolField":true,"intField":-620,"numField":-899.2505275983481,"objField":{"HmgP":4673416910937359482,"RNcX":-3347118396093204530,"UYZOlkha":-4126152729678426206,"anxDkXR":-7690072359608797789,"sINDVGKNa":7652627108036139899},"stringDateField":"1993-01-08","stringDateTimeField":"1914-03-23T00:17:12Z","stringField":"uZzt","stringTimeField":"19:44:34.22Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":-620,"numField":-899.2505275983481,"stringDateField":"1993-01-08","stringDateTimeField":"1914-03-23T00:17:12Z","stringField":"uZzt","stringTimeField":"19:44:34.22Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4983,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4983,"uuid":"9e0a8a43-5655-11ee-9401-675ed0f8e89b"},"arrayField":["dwyQsSTNrf"],"boolField":true,"intField":892,"numField":59.28110074034709,"objField":{"AGcKvO":8689987411155957971,"DsctYddowu":6860838064155328446,"HRaqcz":-8269508704604821944,"MbCZ":1738711399286610855,"SPyD":-8368416489095670457,"orNXuF":1807764279280842127,"xdXaVTB":2212324248899724454},"stringDateField":"1929-09-28","stringDateTimeField":"1982-09-20T15:02:02Z","stringField":"dePA","stringTimeField":"18:00:17.49Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":892,"numField":59.28110074034709,"stringDateField":"1929-09-28","stringDateTimeField":"1982-09-20T15:02:02Z","stringField":"dePA","stringTimeField":"18:00:17.49Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4984,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4984,"uuid":"9e0a8a43-5655-11ee-9801-675ed0f8e89b"},"arrayField":["nfRi","yhhrEQGO","oQAPotcD","PBTb","aPNWOq","TbEG","hnEcyDY","zrSOjovBPK"],"boolField":false,"intField":-857,"numField":244.91076929681245,"objField":{"Mqgp":5189259306202562312,"rsGkLY":-1804435444576895966},"stringDateField":"1984-07-18","stringDateTimeField":"2007-11-15T22:03:26Z","stringField":"UYsVOW","stringTimeField":"22:51:35.16Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":-857,"numField":244.91076929681245,"stringDateField":"1984-07-18","stringDateTimeField":"2007-11-15T22:03:26Z","stringField":"UYsVOW","stringTimeField":"22:51:35.16Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4985,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4985,"uuid":"9e0a8a43-5655-11ee-9c01-675ed0f8e89b"},"arrayField":["SVgvkLh"],"boolField":true,"intField":885,"numField":-93.18167809397336,"objField":{"AmoWpUXRek":4895449102950778127,"NRYf":-6008904746347353780,"PUvXCVu":1352323748799465410,"QTmsciW":-4957086413038507396,"ddrWKPI":9171575901903223776,"tEyLkMDbpe":7998720603080478568},"stringDateField":"1981-06-17","stringDateTimeField":"1987-04-20T18:40:27Z","stringField":"tspFz","stringTimeField":"19:20:52.47Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":885,"numField":-93.18167809397336,"stringDateField":"1981-06-17","stringDateTimeField":"1987-04-20T18:40:27Z","stringField":"tspFz","stringTimeField":"19:20:52.47Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4986,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4986,"uuid":"9e0a8a43-5655-11ee-a001-675ed0f8e89b"},"arrayField":["wSRUFqgbQ","FazTeQp","CUMcQ","tamiKf","jhWm","ygeVzANqQQ"],"boolField":false,"intField":1,"numField":-30.777097172964503,"objField":{"JdGZE":-3597295470624501520,"VVvhMBaS":-2581407467744585622},"stringDateField":"1973-07-02","stringDateTimeField":"1906-09-05T15:46:41Z","stringField":"JcBKOpJNo","stringTimeField":"08:37:07.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":1,"numField":-30.777097172964503,"stringDateField":"1973-07-02","stringDateTimeField":"1906-09-05T15:46:41Z","stringField":"JcBKOpJNo","stringTimeField":"08:37:07.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4987,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4987,"uuid":"9e0a8a43-5655-11ee-a401-675ed0f8e89b"},"arrayField":["GuHJ","AAnzu","jqjMU","wubPkkzsM","IkhRlF","jrUOdDHGQ","VgxsnOe","cJNGViwLgW","WNmP"],"boolField":false,"intField":-148,"numField":-128.44209279416185,"objField":{"IbHLf":-455934143828556858,"KSGb":-267667624453482811,"Nwvsh":-6685513468437981308,"ZDPHhS":5732275797470678428,"bilgeu":-3128570172928238124,"fcmZ":-4811342254660495736,"hBmOpU":-4953371586609169891,"jFUNwFyFf":6807519480854686156,"wJwOnJBnHh":5881112082668691085},"stringDateField":"1998-05-21","stringDateTimeField":"1931-01-29T08:03:50Z","stringField":"fHzJwXSoxs","stringTimeField":"00:44:34.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":-148,"numField":-128.44209279416185,"stringDateField":"1998-05-21","stringDateTimeField":"1931-01-29T08:03:50Z","stringField":"fHzJwXSoxs","stringTimeField":"00:44:34.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4988,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4988,"uuid":"9e0a8a43-5655-11ee-a801-675ed0f8e89b"},"arrayField":["tfSPryi","qYZj","NFXQCYtwpA","NzBSZicEtW","AGHkEhLTAf"],"boolField":false,"intField":64,"numField":343.3061664376007,"objField":{"oIukVfNo":-7207541933780031837},"stringDateField":"1958-11-25","stringDateTimeField":"1968-10-03T09:37:51Z","stringField":"IhVqL","stringTimeField":"14:39:59.38Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":64,"numField":343.3061664376007,"stringDateField":"1958-11-25","stringDateTimeField":"1968-10-03T09:37:51Z","stringField":"IhVqL","stringTimeField":"14:39:59.38Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4989,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4989,"uuid":"9e0a8a43-5655-11ee-ac01-675ed0f8e89b"},"arrayField":["XmUYeww","GfkrDSRsnk","oPBbfe","diQQ","qgzRjKXXX","wseHr","XMeSLMh","DpfzkGKXRr","xFggIK"],"boolField":true,"intField":502,"numField":-525.9186563844627,"objField":{"CNYoMAD":-6269552195513807992,"FGuEWL":-5090978963534999896,"KHXbKfkFb":8693585790226428481,"YdTuRTiTl":-4075492666844967870},"stringDateField":"1961-06-23","stringDateTimeField":"1983-07-23T19:22:18Z","stringField":"rzNWwf","stringTimeField":"23:24:16.19Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":502,"numField":-525.9186563844627,"stringDateField":"1961-06-23","stringDateTimeField":"1983-07-23T19:22:18Z","stringField":"rzNWwf","stringTimeField":"23:24:16.19Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4990,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4990,"uuid":"9e0a8a43-5655-11ee-b001-675ed0f8e89b"},"arrayField":["arIGu","flYtV"],"boolField":true,"intField":530,"numField":-994.4146966854748,"objField":{"AOZgcl":5434210794854810141,"kYHhfaFHKA":-6266913492844055523},"stringDateField":"1966-03-26","stringDateTimeField":"1996-10-16T15:24:33Z","stringField":"gWTq","stringTimeField":"11:51:37.45Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":530,"numField":-994.4146966854748,"stringDateField":"1966-03-26","stringDateTimeField":"1996-10-16T15:24:33Z","stringField":"gWTq","stringTimeField":"11:51:37.45Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4991,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4991,"uuid":"9e0a8a43-5655-11ee-b401-675ed0f8e89b"},"arrayField":["nqZeJCxltU","mdAdRWuW","xrvypfQjc","YsmfPps","BpCMg","kTWuFGmF","HtxoG","mKhTVAa","llVr","OXtHrTMP"],"boolField":false,"intField":-603,"numField":195.08423281125476,"objField":{"FlsCU":4675465027944499134,"JSowEq":1684380255722268891,"UJFVCyAUlW":4627280164741409776,"cvLY":-4200514568521428780},"stringDateField":"2009-08-13","stringDateTimeField":"1915-12-12T13:40:01Z","stringField":"wmmOaF","stringTimeField":"17:23:23.50Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":-603,"numField":195.08423281125476,"stringDateField":"2009-08-13","stringDateTimeField":"1915-12-12T13:40:01Z","stringField":"wmmOaF","stringTimeField":"17:23:23.50Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4992,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4992,"uuid":"9e0a8a43-5655-11ee-b801-675ed0f8e89b"},"arrayField":["CODbTayGm","oBRVIyLGhH","YIuba","ChGit","EtBtZGs"],"boolField":false,"intField":500,"numField":335.0182468369731,"objField":{"GyrmgR":7905484120141520896,"NCklJ":812305468879331944,"SFbV":-3088353847503859038,"tKxRwAo":-8458860505375897344,"wmOuHKd":-1505585858442477664},"stringDateField":"1967-10-06","stringDateTimeField":"1941-01-01T10:05:47Z","stringField":"GHCCf","stringTimeField":"13:53:51.17Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":500,"numField":335.0182468369731,"stringDateField":"1967-10-06","stringDateTimeField":"1941-01-01T10:05:47Z","stringField":"GHCCf","stringTimeField":"13:53:51.17Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4993,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4993,"uuid":"9e0a8a43-5655-11ee-bc01-675ed0f8e89b"},"arrayField":["XMPSgg","svfufnDYoZ","xWZbrVeC","QULfGg","nAEA","aGbFTcsQrJ","BCfraZ"],"boolField":true,"intField":-873,"numField":-896.4109949734361,"objField":{"JmJOIVQ":2101214110922355021,"RNieEbPP":-8268725722030756728,"UOXGnZArp":6352041634679089000,"UaRstJuFAL":-4538805712983177887,"ezpfV":7928434189541429562,"qCmQ":5352621564481501337,"qwnm":-1654829178759211239,"zzAPZwrM":5038088210603574932},"stringDateField":"1982-08-07","stringDateTimeField":"1920-01-11T20:32:12Z","stringField":"WiUYmz","stringTimeField":"22:46:57.33Z"},"flow_published_at":"2023-09-18T19:00:21.8763843Z","intField":-873,"numField":-896.4109949734361,"stringDateField":"1982-08-07","stringDateTimeField":"1920-01-11T20:32:12Z","stringField":"WiUYmz","stringTimeField":"22:46:57.33Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4994,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4994,"uuid":"9e0a8a44-5655-11ee-8001-675ed0f8e89b"},"arrayField":["CkhZwvuJqP","JRaUVCGP","XJOidfKXZV","MYwFjR"],"boolField":false,"intField":-760,"numField":774.4561705020105,"objField":{"GxuaeERgZn":3807071480831525811,"HAAd":4444798769603127415,"PBipRHQi":-6729702038712512238,"RSGzfvde":6910960805111846853,"YiwCaQYLIr":-1555850258974104151,"jmuFKDi":2569311804097103336},"stringDateField":"2010-04-23","stringDateTimeField":"1937-03-02T18:36:32Z","stringField":"jYSrTwFFC","stringTimeField":"10:16:21.11Z"},"flow_published_at":"2023-09-18T19:00:21.8763844Z","intField":-760,"numField":774.4561705020105,"stringDateField":"2010-04-23","stringDateTimeField":"1937-03-02T18:36:32Z","stringField":"jYSrTwFFC","stringTimeField":"10:16:21.11Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4995,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4995,"uuid":"9e0a8a44-5655-11ee-8401-675ed0f8e89b"},"arrayField":["qoJZXqy","pQNyHzrFF"],"boolField":false,"intField":-136,"numField":-392.7529379787254,"objField":{"EWSVuu":-8324182602868026305,"GRgbn":9126517158837282646,"JChylGo":7223758134354476172,"NscNQZ":-4267662672381670264,"RLGTgyU":9040879783125405820,"XQPyNK":4633727231833434507,"XbAaT":-6904215065273897605,"XzXyWGcX":-8768122076963426928,"oRIAQE":9080181122619350066,"zjTzZ":-8496954792612463816},"stringDateField":"1990-11-04","stringDateTimeField":"1972-06-24T17:33:29Z","stringField":"pAWHA","stringTimeField":"17:02:38.26Z"},"flow_published_at":"2023-09-18T19:00:21.8763844Z","intField":-136,"numField":-392.7529379787254,"stringDateField":"1990-11-04","stringDateTimeField":"1972-06-24T17:33:29Z","stringField":"pAWHA","stringTimeField":"17:02:38.26Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4996,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4996,"uuid":"9e0a8a44-5655-11ee-8801-675ed0f8e89b"},"arrayField":["wfmfJsFnvp","yxDXX","pKLEYtjnP"],"boolField":false,"intField":456,"numField":446.18772413236417,"objField":{"CHoTfjqbd":-1988887312494456050,"DMljFSCc":3102267527770113208,"GNWYHWYYkf":1624941420883709399,"JLPtnEDG":588040099796990649,"JdfQKGzx":-6117240755924189389,"KMefmIGN":5994744794084211800,"LpbkRySOB":-4020531763939531672,"UcJT":1483533523100474423,"fcpLPpHJS":-2229190280679144661,"xcLzxH":8622343468065026215},"stringDateField":"2021-02-17","stringDateTimeField":"1918-03-17T11:02:36Z","stringField":"zRKXYpEY","stringTimeField":"02:11:57.14Z"},"flow_published_at":"2023-09-18T19:00:21.8763844Z","intField":456,"numField":446.18772413236417,"stringDateField":"2021-02-17","stringDateTimeField":"1918-03-17T11:02:36Z","stringField":"zRKXYpEY","stringTimeField":"02:11:57.14Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4997,"boolField":true,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4997,"uuid":"9e0a8a44-5655-11ee-8c01-675ed0f8e89b"},"arrayField":["oyJS"],"boolField":true,"intField":-900,"numField":789.3649232484703,"objField":{"AaoXf":-8146393168600629703,"EyRpCevr":-4158994051614277909,"FigmKytQln":-6510159978727701143,"bpXK":8522192365997341230,"dzWS":-5865749223510801756,"nrQoZWRb":-4354635465147057531,"uQRgdHXkMC":-1262208720621570363},"stringDateField":"1916-08-13","stringDateTimeField":"1924-09-08T12:16:46Z","stringField":"qoQWZ","stringTimeField":"21:38:42.32Z"},"flow_published_at":"2023-09-18T19:00:21.8763844Z","intField":-900,"numField":789.3649232484703,"stringDateField":"1916-08-13","stringDateTimeField":"1924-09-08T12:16:46Z","stringField":"qoQWZ","stringTimeField":"21:38:42.32Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4998,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4998,"uuid":"9e0a8a44-5655-11ee-9001-675ed0f8e89b"},"arrayField":["WDyf","UehtXiB"],"boolField":false,"intField":678,"numField":-714.2659875965927,"objField":{"IFnnxcqolI":-7382377963320367705,"LXmMl":4027519947347728465,"NdnajRA":8440080356378969368,"fCdGtFK":-1112416627995572930},"stringDateField":"1934-01-19","stringDateTimeField":"1993-01-08T10:41:36Z","stringField":"XLIYwFBTdg","stringTimeField":"11:35:20.35Z"},"flow_published_at":"2023-09-18T19:00:21.8763844Z","intField":678,"numField":-714.2659875965927,"stringDateField":"1934-01-19","stringDateTimeField":"1993-01-08T10:41:36Z","stringField":"XLIYwFBTdg","stringTimeField":"11:35:20.35Z"} +{"_meta/file":"/test_data/data.jsonl","_meta/offset":4999,"boolField":false,"flow_document":{"_meta":{"file":"/test_data/data.jsonl","offset":4999,"uuid":"9e0a8a44-5655-11ee-9401-675ed0f8e89b"},"arrayField":["AExMeM","mZrBsh"],"boolField":false,"intField":-614,"numField":-175.41499555635255,"objField":{"NUsYe":-4356491068833633463,"nsYAwbwQTO":-3936885047314274762,"oSkKPMZX":-7520883954560225424,"pwINJPcf":-1934916183628407117},"stringDateField":"1940-11-27","stringDateTimeField":"2010-01-29T03:00:16Z","stringField":"fPtaVIF","stringTimeField":"08:52:23.46Z"},"flow_published_at":"2023-09-18T19:00:21.8763844Z","intField":-614,"numField":-175.41499555635255,"stringDateField":"1940-11-27","stringDateTimeField":"2010-01-29T03:00:16Z","stringField":"fPtaVIF","stringTimeField":"08:52:23.46Z"} diff --git a/data/parquet-testing/bigdecimal.parquet b/data/parquet-testing/bigdecimal.parquet new file mode 100644 index 000000000000..1bae94158e50 Binary files /dev/null and b/data/parquet-testing/bigdecimal.parquet differ diff --git a/data/parquet-testing/bug10148-wide-decimal-stats.parquet b/data/parquet-testing/bug10148-wide-decimal-stats.parquet new file mode 100644 index 000000000000..e375c3f9deea Binary files /dev/null and b/data/parquet-testing/bug10148-wide-decimal-stats.parquet differ diff --git a/data/parquet-testing/date-with-timezone-int64.parquet b/data/parquet-testing/date-with-timezone-int64.parquet new file mode 100644 index 000000000000..184c5e7dd564 Binary files /dev/null and b/data/parquet-testing/date-with-timezone-int64.parquet differ diff --git a/data/parquet-testing/hive-partitioning/empty_string/key=/part-0.parquet b/data/parquet-testing/hive-partitioning/empty_string/key=/part-0.parquet new file mode 100644 index 000000000000..93c45523a7af Binary files /dev/null and b/data/parquet-testing/hive-partitioning/empty_string/key=/part-0.parquet differ diff --git a/data/parquet-testing/hive-partitioning/empty_string/key=a/part-0.parquet b/data/parquet-testing/hive-partitioning/empty_string/key=a/part-0.parquet new file mode 100644 index 000000000000..9efb4ec09a72 Binary files /dev/null and b/data/parquet-testing/hive-partitioning/empty_string/key=a/part-0.parquet differ diff --git a/data/parquet-testing/issue10279_delta_encoding.parquet b/data/parquet-testing/issue10279_delta_encoding.parquet new file mode 100644 index 000000000000..bdc8a78a6110 Binary files /dev/null and b/data/parquet-testing/issue10279_delta_encoding.parquet differ diff --git a/data/storage/block_size_16kb.db b/data/storage/block_size_16kb.db new file mode 100644 index 000000000000..eadce922a6b4 Binary files /dev/null and b/data/storage/block_size_16kb.db differ diff --git a/data/storage/index_0-9-1.db b/data/storage/index_0-9-1.db new file mode 100644 index 000000000000..fcbf779926b1 Binary files /dev/null and b/data/storage/index_0-9-1.db differ diff --git a/data/storage/vector_size_512.db b/data/storage/vector_size_512.db new file mode 100644 index 000000000000..1550c968eb3b Binary files /dev/null and b/data/storage/vector_size_512.db differ diff --git a/data/storage/views_092.db b/data/storage/views_092.db new file mode 100644 index 000000000000..13b6f5101866 Binary files /dev/null and b/data/storage/views_092.db differ diff --git a/data/storage/wal_test_092.db b/data/storage/wal_test_092.db new file mode 100644 index 000000000000..ababe675cb4d Binary files /dev/null and b/data/storage/wal_test_092.db differ diff --git a/data/storage/wal_test_092.db.wal b/data/storage/wal_test_092.db.wal new file mode 100644 index 000000000000..74a016e269cc Binary files /dev/null and b/data/storage/wal_test_092.db.wal differ diff --git a/extension/README.md b/extension/README.md index 5020a7a0f3b6..6b154b6f18fb 100644 --- a/extension/README.md +++ b/extension/README.md @@ -123,7 +123,7 @@ cmake build directory and build it from there: ```cmake duckdb_extension_load(postgres_scanner (DONT_LINK) - GIT_URL https://github.com/duckdblabs/postgres_scanner + GIT_URL https://github.com/duckdb/postgres_scanner GIT_TAG cd043b49cdc9e0d3752535b8333c9433e1007a48 ) ``` diff --git a/extension/autocomplete/autocomplete_extension.cpp b/extension/autocomplete/autocomplete_extension.cpp index de7ec6b39dd4..77df23c10585 100644 --- a/extension/autocomplete/autocomplete_extension.cpp +++ b/extension/autocomplete/autocomplete_extension.cpp @@ -82,7 +82,7 @@ static vector InitialKeywords() { return vector {"SELECT", "INSERT", "DELETE", "UPDATE", "CREATE", "DROP", "COPY", "ALTER", "WITH", "EXPORT", "BEGIN", "VACUUM", "PREPARE", "EXECUTE", "DEALLOCATE", "CALL", "ANALYZE", "EXPLAIN", "DESCRIBE", "SUMMARIZE", "LOAD", - "CHECKPOINT", "ROLLBACK", "COMMIT", "CALL"}; + "CHECKPOINT", "ROLLBACK", "COMMIT", "CALL", "FROM", "PIVOT", "UNPIVOT"}; } static vector SuggestKeyword(ClientContext &context) { @@ -90,7 +90,10 @@ static vector SuggestKeyword(ClientContext &context) { vector result; for (auto &kw : keywords) { auto score = 0; - if (kw == "SELECT" || kw == "DELETE" || kw == "INSERT" || kw == "UPDATE") { + if (kw == "SELECT") { + score = 2; + } + if (kw == "FROM" || kw == "DELETE" || kw == "INSERT" || kw == "UPDATE") { score = 1; } result.emplace_back(kw + " ", score); @@ -238,7 +241,7 @@ static duckdb::unique_ptr GenerateSuggestions(Clien next_keyword_map["INSERT"] = {"INTO", "VALUES", "SELECT", "DEFAULT"}; next_keyword_map["DELETE"] = {"FROM", "WHERE", "USING"}; next_keyword_map["UPDATE"] = {"SET", "WHERE"}; - next_keyword_map["CREATE"] = {"TABLE", "SCHEMA", "VIEW", "SEQUENCE", "MACRO", "FUNCTION"}; + next_keyword_map["CREATE"] = {"TABLE", "SCHEMA", "VIEW", "SEQUENCE", "MACRO", "FUNCTION", "SECRET", "TYPE"}; next_keyword_map["DROP"] = next_keyword_map["CREATE"]; next_keyword_map["ALTER"] = {"TABLE", "VIEW", "ADD", "DROP", "COLUMN", "SET", "TYPE", "DEFAULT", "DATA", "RENAME"}; @@ -261,6 +264,7 @@ static duckdb::unique_ptr GenerateSuggestions(Clien // semicolon: restart suggestion flow suggest_state = SuggestionState::SUGGEST_KEYWORD; suggested_keywords.clear(); + last_pos = pos + 1; continue; } if (StringUtil::CharacterIsSpace(sql[pos]) || StringUtil::CharacterIsOperator(sql[pos])) { @@ -320,6 +324,10 @@ process_word : { } else { suggested_keywords.erase(next_word); } + if (std::all_of(next_word.begin(), next_word.end(), ::isdigit)) { + // Numbers are OK + suggested_keywords.clear(); + } seen_word = false; last_pos = pos; goto regular_scan; @@ -356,6 +364,10 @@ process_word : { D_ASSERT(false); throw NotImplementedException("last_pos out of range"); } + if (!last_word.empty() && std::all_of(last_word.begin(), last_word.end(), ::isdigit)) { + // avoid giving auto-complete suggestion for digits + suggestions.clear(); + } return make_uniq(std::move(suggestions), last_pos); } diff --git a/extension/fts/fts_extension.cpp b/extension/fts/fts_extension.cpp index 1fd67be51dfc..a48c996ffdc8 100644 --- a/extension/fts/fts_extension.cpp +++ b/extension/fts/fts_extension.cpp @@ -30,10 +30,10 @@ static void StemFunction(DataChunk &args, ExpressionState &state, Vector &result if (s == 0) { const char **stemmers = sb_stemmer_list(); size_t n_stemmers = 27; - throw Exception(StringUtil::Format( + throw InvalidInputException( "Unrecognized stemmer '%s'. Supported stemmers are: ['%s'], or use 'none' for no stemming", stemmer.GetString(), - StringUtil::Join(stemmers, n_stemmers, "', '", [](const char *st) { return st; }))); + StringUtil::Join(stemmers, n_stemmers, "', '", [](const char *st) { return st; })); } auto output_data = diff --git a/extension/fts/fts_indexing.cpp b/extension/fts/fts_indexing.cpp index a2bb4b2542ef..0673dcef0bda 100644 --- a/extension/fts/fts_indexing.cpp +++ b/extension/fts/fts_indexing.cpp @@ -64,7 +64,7 @@ static string IndexingScript(ClientContext &context, QualifiedName &qname, const } // create tokenize macro based on parameters - string tokenize = "s"; + string tokenize = "s::VARCHAR"; vector before; vector after; if (strip_accents) { @@ -171,6 +171,20 @@ static string IndexingScript(ClientContext &context, QualifiedName &qname, const WHERE CASE WHEN fields IS NULL THEN 1 ELSE fieldid IN (SELECT * FROM fieldids) END AND termid IN (SELECT qtermids.termid FROM qtermids) ), + term_tf AS ( + SELECT termid, + docid, + COUNT(*) AS tf + FROM qterms + GROUP BY docid, + termid + ), + cdocs AS ( + SELECT docid + FROM qterms + GROUP BY docid + HAVING CASE WHEN conjunctive THEN COUNT(DISTINCT termid) = (SELECT COUNT(*) FROM tokens) ELSE 1 END + ), subscores AS ( SELECT docs.docid, len, @@ -178,36 +192,25 @@ static string IndexingScript(ClientContext &context, QualifiedName &qname, const tf, df, (log(((SELECT num_docs FROM %fts_schema%.stats) - df + 0.5) / (df + 0.5))* ((tf * (k + 1)/(tf + k * (1 - b + b * (len / (SELECT avgdl FROM %fts_schema%.stats))))))) AS subscore - FROM ( - SELECT termid, - docid, - COUNT(*) AS tf - FROM qterms - GROUP BY docid, - termid - ) AS term_tf - JOIN ( - SELECT docid - FROM qterms - GROUP BY docid - HAVING CASE WHEN conjunctive THEN COUNT(DISTINCT termid) = (SELECT COUNT(*) FROM tokens) ELSE 1 END - ) AS cdocs - ON term_tf.docid = cdocs.docid - JOIN %fts_schema%.docs AS docs - ON term_tf.docid = docs.docid - JOIN %fts_schema%.dict AS dict - ON term_tf.termid = dict.termid - ) + FROM term_tf, + cdocs, + %fts_schema%.docs AS docs, + %fts_schema%.dict AS dict + WHERE term_tf.docid = cdocs.docid + AND term_tf.docid = docs.docid + AND term_tf.termid = dict.termid + ), + scores AS ( + SELECT docid, + sum(subscore) AS score + FROM subscores + GROUP BY docid + ) SELECT score - FROM ( - SELECT docid, - sum(subscore) AS score - FROM subscores - GROUP BY docid - ) AS scores - JOIN %fts_schema%.docs AS docs - ON scores.docid = docs.docid - AND docs.name = docname + FROM scores, + %fts_schema%.docs AS docs + WHERE scores.docid = docs.docid + AND docs.name = docname ); )"; @@ -266,7 +269,7 @@ string FTSIndexing::CreateFTSIndexQuery(ClientContext &context, const FunctionPa } } - string ignore = "(\\\\.|[^a-z])+"; + string ignore = "[0-9!@#$%^&*()_+={}\\[\\]:;<>,.?~\\\\/\\|''\"`-]+"; auto ignore_entry = parameters.named_parameters.find("ignore"); if (ignore_entry != parameters.named_parameters.end()) { ignore = StringValue::Get(ignore_entry->second); @@ -323,7 +326,7 @@ string FTSIndexing::CreateFTSIndexQuery(ClientContext &context, const FunctionPa doc_values.push_back(col_name); } if (doc_values.empty()) { - throw Exception("at least one column must be supplied for indexing!"); + throw InvalidInputException("at least one column must be supplied for indexing!"); } return IndexingScript(context, qname, doc_id, doc_values, stemmer, stopwords, ignore, strip_accents, lower); diff --git a/extension/httpfs/CMakeLists.txt b/extension/httpfs/CMakeLists.txt index 2ce831d50ef6..da6e6e32bf9e 100644 --- a/extension/httpfs/CMakeLists.txt +++ b/extension/httpfs/CMakeLists.txt @@ -7,10 +7,16 @@ add_extension_definitions() include_directories(include ../../third_party/httplib ../parquet/include) build_static_extension(httpfs s3fs.cpp httpfs.cpp crypto.cpp - httpfs_extension.cpp) + create_secret_functions.cpp httpfs_extension.cpp) set(PARAMETERS "-warnings") -build_loadable_extension(httpfs ${PARAMETERS} s3fs.cpp httpfs.cpp crypto.cpp - httpfs_extension.cpp) +build_loadable_extension( + httpfs + ${PARAMETERS} + s3fs.cpp + httpfs.cpp + crypto.cpp + create_secret_functions.cpp + httpfs_extension.cpp) if(MINGW) set(OPENSSL_USE_STATIC_LIBS TRUE) diff --git a/extension/httpfs/create_secret_functions.cpp b/extension/httpfs/create_secret_functions.cpp new file mode 100644 index 000000000000..65e39ec19e89 --- /dev/null +++ b/extension/httpfs/create_secret_functions.cpp @@ -0,0 +1,134 @@ +#include "create_secret_functions.hpp" +#include "s3fs.hpp" +#include "duckdb/main/extension_util.hpp" + +namespace duckdb { + +void CreateS3SecretFunctions::Register(DatabaseInstance &instance) { + RegisterCreateSecretFunction(instance, "s3"); + RegisterCreateSecretFunction(instance, "r2"); + RegisterCreateSecretFunction(instance, "gcs"); +} + +unique_ptr CreateS3SecretFunctions::CreateSecretFunctionInternal(ClientContext &context, + CreateSecretInput &input, + S3AuthParams params) { + // for r2 we can set the endpoint using the account id + if (input.type == "r2" && input.options.find("account_id") != input.options.end()) { + params.endpoint = input.options["account_id"].ToString() + ".r2.cloudflarestorage.com"; + } + + // apply any overridden settings + for (const auto &named_param : input.options) { + auto lower_name = StringUtil::Lower(named_param.first); + + if (lower_name == "key_id") { + params.access_key_id = named_param.second.ToString(); + } else if (lower_name == "secret") { + params.secret_access_key = named_param.second.ToString(); + } else if (lower_name == "region") { + params.region = named_param.second.ToString(); + } else if (lower_name == "session_token") { + params.session_token = named_param.second.ToString(); + } else if (lower_name == "endpoint") { + params.endpoint = named_param.second.ToString(); + } else if (lower_name == "url_style") { + params.url_style = named_param.second.ToString(); + } else if (lower_name == "use_ssl") { + if (named_param.second.type() != LogicalType::BOOLEAN) { + throw InvalidInputException("Invalid type past to secret option: '%s', found '%s', expected: 'BOOLEAN'", + lower_name, named_param.second.type().ToString()); + } + params.use_ssl = named_param.second.GetValue(); + } else if (lower_name == "url_compatibility_mode") { + if (named_param.second.type() != LogicalType::BOOLEAN) { + throw InvalidInputException("Invalid type past to secret option: '%s', found '%s', expected: 'BOOLEAN'", + lower_name, named_param.second.type().ToString()); + } + params.s3_url_compatibility_mode = named_param.second.GetValue(); + } else if (lower_name == "account_id") { + continue; // handled already + } else { + throw InternalException("Unknown named parameter passed to CreateSecretFunctionInternal: " + lower_name); + } + } + + // Set scope to user provided scope or the default + auto scope = input.scope; + if (scope.empty()) { + if (input.type == "s3") { + scope.push_back("s3://"); + scope.push_back("s3n://"); + scope.push_back("s3a://"); + } else if (input.type == "r2") { + scope.push_back("r2://"); + } else if (input.type == "gcs") { + scope.push_back("gcs://"); + scope.push_back("gs://"); + } else { + throw InternalException("Unknown secret type found in httpfs extension: '%s'", input.type); + } + } + + return S3SecretHelper::CreateSecret(scope, input.type, input.provider, input.name, params); +} + +unique_ptr CreateS3SecretFunctions::CreateS3SecretFromSettings(ClientContext &context, + CreateSecretInput &input) { + auto &opener = context.client_data->file_opener; + FileOpenerInfo info; + auto params = S3AuthParams::ReadFrom(opener.get(), info); + return CreateSecretFunctionInternal(context, input, params); +} + +unique_ptr CreateS3SecretFunctions::CreateS3SecretFromConfig(ClientContext &context, + CreateSecretInput &input) { + S3AuthParams empty_params; + empty_params.use_ssl = true; + empty_params.s3_url_compatibility_mode = false; + empty_params.region = "us-east-1"; + empty_params.endpoint = "s3.amazonaws.com"; + + if (input.type == "gcs") { + empty_params.endpoint = "storage.googleapis.com"; + } + + if (input.type == "gcs" || input.type == "r2") { + empty_params.url_style = "path"; + } + + return CreateSecretFunctionInternal(context, input, empty_params); +} + +void CreateS3SecretFunctions::SetBaseNamedParams(CreateSecretFunction &function, string &type) { + function.named_parameters["key_id"] = LogicalType::VARCHAR; + function.named_parameters["secret"] = LogicalType::VARCHAR; + function.named_parameters["region"] = LogicalType::VARCHAR; + function.named_parameters["session_token"] = LogicalType::VARCHAR; + function.named_parameters["endpoint"] = LogicalType::VARCHAR; + function.named_parameters["url_style"] = LogicalType::VARCHAR; + function.named_parameters["use_ssl"] = LogicalType::BOOLEAN; + function.named_parameters["url_compatibility_mode"] = LogicalType::BOOLEAN; + + if (type == "r2") { + function.named_parameters["account_id"] = LogicalType::VARCHAR; + } +} + +void CreateS3SecretFunctions::RegisterCreateSecretFunction(DatabaseInstance &instance, string type) { + // Register the new type + SecretType secret_type; + secret_type.name = type; + secret_type.deserializer = KeyValueSecret::Deserialize; + secret_type.default_provider = "config"; + + ExtensionUtil::RegisterSecretType(instance, secret_type); + + CreateSecretFunction from_empty_config_fun2 = {type, "config", CreateS3SecretFromConfig}; + CreateSecretFunction from_settings_fun2 = {type, "duckdb_settings", CreateS3SecretFromSettings}; + SetBaseNamedParams(from_empty_config_fun2, type); + SetBaseNamedParams(from_settings_fun2, type); + ExtensionUtil::RegisterFunction(instance, from_empty_config_fun2); + ExtensionUtil::RegisterFunction(instance, from_settings_fun2); +} +} // namespace duckdb diff --git a/extension/httpfs/httpfs.cpp b/extension/httpfs/httpfs.cpp index 361d16904ca8..7b8ee3379ab8 100644 --- a/extension/httpfs/httpfs.cpp +++ b/extension/httpfs/httpfs.cpp @@ -3,6 +3,7 @@ #include "duckdb/common/atomic.hpp" #include "duckdb/common/file_opener.hpp" #include "duckdb/common/http_state.hpp" +#include "duckdb/common/exception/http_exception.hpp" #include "duckdb/common/thread.hpp" #include "duckdb/common/types/hash.hpp" #include "duckdb/function/scalar/strftime_format.hpp" @@ -34,6 +35,8 @@ HTTPParams HTTPParams::ReadFrom(FileOpener *opener) { uint64_t retry_wait_ms = DEFAULT_RETRY_WAIT_MS; float retry_backoff = DEFAULT_RETRY_BACKOFF; bool force_download = DEFAULT_FORCE_DOWNLOAD; + bool keep_alive = DEFAULT_KEEP_ALIVE; + Value value; if (FileOpener::TryGetCurrentSetting(opener, "http_timeout", value)) { timeout = value.GetValue(); @@ -50,8 +53,11 @@ HTTPParams HTTPParams::ReadFrom(FileOpener *opener) { if (FileOpener::TryGetCurrentSetting(opener, "http_retry_backoff", value)) { retry_backoff = value.GetValue(); } + if (FileOpener::TryGetCurrentSetting(opener, "http_keep_alive", value)) { + keep_alive = value.GetValue(); + } - return {timeout, retries, retry_wait_ms, retry_backoff, force_download}; + return {timeout, retries, retry_wait_ms, retry_backoff, force_download, keep_alive}; } void HTTPFileSystem::ParseUrl(string &url, string &path_out, string &proto_host_port_out) { @@ -122,7 +128,7 @@ RunRequestWithRetry(const std::function &r if (caught_e) { std::rethrow_exception(caught_e); } else if (err == duckdb_httplib_openssl::Error::Success) { - throw IOException("Request returned HTTP %d for HTTP %s to '%s'", status, method, url); + throw HTTPException(response, "Request returned HTTP %d for HTTP %s to '%s'", status, method, url); } else { throw IOException("%s error for HTTP %s to '%s'", to_string(err), method, url); } @@ -181,7 +187,7 @@ unique_ptr HTTPFileSystem::GetClient(const HTTPP const char *proto_host_port) { auto client = make_uniq(proto_host_port); client->set_follow_location(true); - client->set_keep_alive(true); + client->set_keep_alive(http_params.keep_alive); client->enable_server_certificate_verification(false); client->set_write_timeout(http_params.timeout); client->set_read_timeout(http_params.timeout); @@ -310,7 +316,7 @@ unique_ptr HTTPFileSystem::GetRangeRequest(FileHandle &handle, error += " This could mean the file was changed. Try disabling the duckdb http metadata cache " "if enabled, and confirm the server supports range requests."; } - throw IOException(error); + throw HTTPException(response, error); } if (response.status < 300) { // done redirecting out_offset = 0; @@ -600,8 +606,8 @@ void HTTPFileHandle::Initialize(FileOpener *opener) { } res = std::move(range_res); } else { - throw IOException("Unable to connect to URL \"%s\": %s (%s)", res->http_url, to_string(res->code), - res->error); + throw HTTPException(*res, "Unable to connect to URL \"%s\": %s (%s)", res->http_url, + to_string(res->code), res->error); } } } @@ -634,11 +640,18 @@ void HTTPFileHandle::Initialize(FileOpener *opener) { // Try to fully download the file first auto full_download_result = hfs.GetRequest(*this, path, {}); if (full_download_result->code != 200) { - throw IOException("Full download failed to to URL \"%s\": %s (%s)", full_download_result->http_url, - to_string(full_download_result->code), full_download_result->error); + throw HTTPException(*res, "Full download failed to to URL \"%s\": %s (%s)", + full_download_result->http_url, to_string(full_download_result->code), + full_download_result->error); } - // Mark the file as initialized, unlocking it and allowing parallel reads - cached_file_handle->SetInitialized(); + + // Mark the file as initialized, set its final length, and unlock it to allowing parallel reads + cached_file_handle->SetInitialized(length); + + // We shouldn't write these to cache + should_write_cache = false; + } else { + length = cached_file_handle->GetSize(); } } diff --git a/extension/httpfs/httpfs_extension.cpp b/extension/httpfs/httpfs_extension.cpp index 912d526b4fcb..d94ae66a1936 100644 --- a/extension/httpfs/httpfs_extension.cpp +++ b/extension/httpfs/httpfs_extension.cpp @@ -3,6 +3,7 @@ #include "duckdb.hpp" #include "httpfs_extension.hpp" #include "s3fs.hpp" +#include "create_secret_functions.hpp" namespace duckdb { @@ -28,17 +29,20 @@ static void LoadInternal(DatabaseInstance &instance) { config.AddExtensionOption("http_retry_backoff", "Backoff factor for exponentially increasing retry wait time (default 4)", LogicalType::FLOAT, Value(4)); + config.AddExtensionOption( + "http_keep_alive", + "Keep alive connections. Setting this to false can help when running into connection failures", + LogicalType::BOOLEAN, Value(true)); // Global S3 config - config.AddExtensionOption("s3_region", "S3 Region", LogicalType::VARCHAR); + config.AddExtensionOption("s3_region", "S3 Region (default us-east-1)", LogicalType::VARCHAR, Value("us-east-1")); config.AddExtensionOption("s3_access_key_id", "S3 Access Key ID", LogicalType::VARCHAR); config.AddExtensionOption("s3_secret_access_key", "S3 Access Key", LogicalType::VARCHAR); config.AddExtensionOption("s3_session_token", "S3 Session Token", LogicalType::VARCHAR); - config.AddExtensionOption("s3_endpoint", "S3 Endpoint (default 's3.amazonaws.com')", LogicalType::VARCHAR, - Value("s3.amazonaws.com")); - config.AddExtensionOption("s3_url_style", "S3 url style ('vhost' (default) or 'path')", LogicalType::VARCHAR, + config.AddExtensionOption("s3_endpoint", "S3 Endpoint (empty for default endpoint)", LogicalType::VARCHAR); + config.AddExtensionOption("s3_url_style", "S3 URL style ('vhost' (default) or 'path')", LogicalType::VARCHAR, Value("vhost")); config.AddExtensionOption("s3_use_ssl", "S3 use SSL (default true)", LogicalType::BOOLEAN, Value(true)); - config.AddExtensionOption("s3_url_compatibility_mode", "Disable Globs and Query Parameters on S3 urls", + config.AddExtensionOption("s3_url_compatibility_mode", "Disable Globs and Query Parameters on S3 URLs", LogicalType::BOOLEAN, Value(false)); // S3 Uploader config @@ -53,6 +57,8 @@ static void LoadInternal(DatabaseInstance &instance) { auto provider = make_uniq(config); provider->SetAll(); + + CreateS3SecretFunctions::Register(instance); } void HttpfsExtension::Load(DuckDB &db) { diff --git a/extension/httpfs/include/create_secret_functions.hpp b/extension/httpfs/include/create_secret_functions.hpp new file mode 100644 index 000000000000..bfb0a1451c34 --- /dev/null +++ b/extension/httpfs/include/create_secret_functions.hpp @@ -0,0 +1,32 @@ +#pragma once + +#include "duckdb.hpp" + +namespace duckdb { +struct CreateSecretInput; +struct S3AuthParams; +class CreateSecretFunction; +class BaseSecret; + +struct CreateS3SecretFunctions { +public: + //! Register all CreateSecretFunctions + static void Register(DatabaseInstance &instance); + +protected: + //! Internal function to create BaseSecret from S3AuthParams + static unique_ptr CreateSecretFunctionInternal(ClientContext &context, CreateSecretInput &input, + S3AuthParams params); + + //! Function for the "settings" provider: creates secret from current duckdb settings + static unique_ptr CreateS3SecretFromSettings(ClientContext &context, CreateSecretInput &input); + //! Function for the "config" provider: creates secret from parameters passed by user + static unique_ptr CreateS3SecretFromConfig(ClientContext &context, CreateSecretInput &input); + + //! Helper function to set named params of secret function + static void SetBaseNamedParams(CreateSecretFunction &function, string &type); + //! Helper function to create secret types s3/r2/gcs + static void RegisterCreateSecretFunction(DatabaseInstance &instance, string type); +}; + +} // namespace duckdb diff --git a/extension/httpfs/include/http_metadata_cache.hpp b/extension/httpfs/include/http_metadata_cache.hpp index a783e085fbd1..73d032b0c06c 100644 --- a/extension/httpfs/include/http_metadata_cache.hpp +++ b/extension/httpfs/include/http_metadata_cache.hpp @@ -8,6 +8,7 @@ #include "duckdb/common/types.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/main/client_context.hpp" +#include "duckdb/main/client_context_state.hpp" #include #include @@ -74,7 +75,7 @@ class HTTPMetadataCache : public ClientContextState { } //! Called by the ClientContext when the current query ends - void QueryEnd() override { + void QueryEnd(ClientContext &context) override { if (flush_on_query_end) { Clear(); } diff --git a/extension/httpfs/include/httpfs.hpp b/extension/httpfs/include/httpfs.hpp index 611897452754..6e66c7020a89 100644 --- a/extension/httpfs/include/httpfs.hpp +++ b/extension/httpfs/include/httpfs.hpp @@ -35,12 +35,14 @@ struct HTTPParams { static constexpr uint64_t DEFAULT_RETRY_WAIT_MS = 100; static constexpr float DEFAULT_RETRY_BACKOFF = 4; static constexpr bool DEFAULT_FORCE_DOWNLOAD = false; + static constexpr bool DEFAULT_KEEP_ALIVE = true; uint64_t timeout; uint64_t retries; uint64_t retry_wait_ms; float retry_backoff; bool force_download; + bool keep_alive; static HTTPParams ReadFrom(FileOpener *opener); }; diff --git a/extension/httpfs/include/s3fs.hpp b/extension/httpfs/include/s3fs.hpp index 31f058bdf6a6..4d8202889361 100644 --- a/extension/httpfs/include/s3fs.hpp +++ b/extension/httpfs/include/s3fs.hpp @@ -4,8 +4,12 @@ #include "duckdb/common/chrono.hpp" #include "duckdb/common/file_opener.hpp" #include "duckdb/common/mutex.hpp" +#include "duckdb/common/serializer/deserializer.hpp" #include "duckdb/main/config.hpp" +#include "duckdb/main/secret/secret.hpp" +#include "duckdb/main/secret/secret_manager.hpp" #include "duckdb/storage/buffer_manager.hpp" +#include "duckdb/common/case_insensitive_map.hpp" #include "httpfs.hpp" #define CPPHTTPLIB_OPENSSL_SUPPORT @@ -17,6 +21,20 @@ namespace duckdb { +struct S3AuthParams { + string region; + string access_key_id; + string secret_access_key; + string session_token; + string endpoint; + string url_style; + bool use_ssl = true; + bool s3_url_compatibility_mode = false; + + static S3AuthParams ReadFrom(FileOpener *opener, FileOpenerInfo &info); + static unique_ptr ReadFromStoredCredentials(FileOpener *opener, string path); +}; + struct AWSEnvironmentCredentialsProvider { static constexpr const char *REGION_ENV_VAR = "AWS_REGION"; static constexpr const char *DEFAULT_REGION_ENV_VAR = "AWS_DEFAULT_REGION"; @@ -32,25 +50,15 @@ struct AWSEnvironmentCredentialsProvider { void SetExtensionOptionValue(string key, const char *env_var); void SetAll(); -}; - -struct S3AuthParams { - string region; - string access_key_id; - string secret_access_key; - string session_token; - string endpoint; - string url_style; - bool use_ssl; - bool s3_url_compatibility_mode; - - static S3AuthParams ReadFrom(FileOpener *opener, FileOpenerInfo &info); + S3AuthParams CreateParams(); }; struct ParsedS3Url { const string http_proto; + const string prefix; const string host; const string bucket; + const string key; const string path; const string query_param; const string trimmed_s3_url; @@ -70,6 +78,15 @@ struct S3ConfigParams { static S3ConfigParams ReadFrom(FileOpener *opener); }; +class S3SecretHelper { +public: + //! Create an S3 type secret + static unique_ptr CreateSecret(vector &prefix_paths_p, string &type, string &provider, + string &name, S3AuthParams ¶ms); + //! Parse S3AuthParams from secret + static S3AuthParams GetParams(const KeyValueSecret &secret); +}; + class S3FileSystem; // Holds the buffered data for 1 part of an S3 Multipart upload @@ -103,14 +120,16 @@ class S3FileHandle : public HTTPFileHandle { S3FileHandle(FileSystem &fs, string path_p, uint8_t flags, const HTTPParams &http_params, const S3AuthParams &auth_params_p, const S3ConfigParams &config_params_p) : HTTPFileHandle(fs, std::move(path_p), flags, http_params), auth_params(auth_params_p), - config_params(config_params_p) { - + config_params(config_params_p), uploads_in_progress(0), parts_uploaded(0), upload_finalized(false), + uploader_has_error(false), upload_exception(nullptr) { if (flags & FileFlags::FILE_FLAGS_WRITE && flags & FileFlags::FILE_FLAGS_READ) { throw NotImplementedException("Cannot open an HTTP file for both reading and writing"); } else if (flags & FileFlags::FILE_FLAGS_APPEND) { throw NotImplementedException("Cannot open an HTTP file for appending"); } } + ~S3FileHandle() override; + S3AuthParams auth_params; const S3ConfigParams config_params; @@ -139,7 +158,7 @@ class S3FileHandle : public HTTPFileHandle { //! Info for upload atomic parts_uploaded; - bool upload_finalized; + bool upload_finalized = true; //! Error handling in upload threads atomic uploader_has_error {false}; diff --git a/extension/httpfs/s3fs.cpp b/extension/httpfs/s3fs.cpp index 6fb02488cc7a..d1ce1a8794b4 100644 --- a/extension/httpfs/s3fs.cpp +++ b/extension/httpfs/s3fs.cpp @@ -7,10 +7,12 @@ #include "duckdb/common/thread.hpp" #include "duckdb/common/types/timestamp.hpp" #include "duckdb/function/scalar/strftime_format.hpp" +#include "duckdb/common/exception/http_exception.hpp" #endif #include #include +#include #include #include @@ -140,7 +142,7 @@ string S3FileSystem::UrlEncode(const string &input, bool encode_slash) { } void AWSEnvironmentCredentialsProvider::SetExtensionOptionValue(string key, const char *env_var_name) { - static char *evar; + char *evar; if ((evar = std::getenv(env_var_name)) != NULL) { if (StringUtil::Lower(evar) == "false") { @@ -163,64 +165,160 @@ void AWSEnvironmentCredentialsProvider::SetAll() { this->SetExtensionOptionValue("s3_use_ssl", this->DUCKDB_USE_SSL_ENV_VAR); } +S3AuthParams AWSEnvironmentCredentialsProvider::CreateParams() { + S3AuthParams params; + + params.region = this->DEFAULT_REGION_ENV_VAR; + params.region = this->REGION_ENV_VAR; + params.access_key_id = this->ACCESS_KEY_ENV_VAR; + params.secret_access_key = this->SECRET_KEY_ENV_VAR; + params.session_token = this->SESSION_TOKEN_ENV_VAR; + params.endpoint = this->DUCKDB_ENDPOINT_ENV_VAR; + params.use_ssl = this->DUCKDB_USE_SSL_ENV_VAR; + + return params; +} + +unique_ptr S3AuthParams::ReadFromStoredCredentials(FileOpener *opener, string path) { + if (!opener) { + return nullptr; + } + auto context = opener->TryGetClientContext(); + if (!context) { + return nullptr; + } + auto &secret_manager = context->db->GetSecretManager(); + auto transaction = CatalogTransaction::GetSystemCatalogTransaction(*context); + + auto secret_match = secret_manager.LookupSecret(transaction, path, "s3"); + if (!secret_match.HasMatch()) { + secret_match = secret_manager.LookupSecret(transaction, path, "r2"); + } + if (!secret_match.HasMatch()) { + secret_match = secret_manager.LookupSecret(transaction, path, "gcs"); + } + if (!secret_match.HasMatch()) { + return nullptr; + } + + // Return the stored credentials + const auto &secret = secret_match.GetSecret(); + const auto &kv_secret = dynamic_cast(secret); + + return make_uniq(S3SecretHelper::GetParams(kv_secret)); +} + S3AuthParams S3AuthParams::ReadFrom(FileOpener *opener, FileOpenerInfo &info) { - string region; - string access_key_id; - string secret_access_key; - string session_token; - string endpoint; - string url_style; - bool s3_url_compatibility_mode; - bool use_ssl; + S3AuthParams result; Value value; if (FileOpener::TryGetCurrentSetting(opener, "s3_region", value, info)) { - region = value.ToString(); + result.region = value.ToString(); } if (FileOpener::TryGetCurrentSetting(opener, "s3_access_key_id", value, info)) { - access_key_id = value.ToString(); + result.access_key_id = value.ToString(); } if (FileOpener::TryGetCurrentSetting(opener, "s3_secret_access_key", value, info)) { - secret_access_key = value.ToString(); + result.secret_access_key = value.ToString(); } if (FileOpener::TryGetCurrentSetting(opener, "s3_session_token", value, info)) { - session_token = value.ToString(); + result.session_token = value.ToString(); } if (FileOpener::TryGetCurrentSetting(opener, "s3_endpoint", value, info)) { - endpoint = value.ToString(); + if (value.ToString().empty()) { + if (StringUtil::StartsWith(info.file_path, "gcs://") || StringUtil::StartsWith(info.file_path, "gs://")) { + result.endpoint = "storage.googleapis.com"; + } else { + result.endpoint = "s3.amazonaws.com"; + } + } else { + result.endpoint = value.ToString(); + } } else { - endpoint = "s3.amazonaws.com"; + result.endpoint = "s3.amazonaws.com"; } if (FileOpener::TryGetCurrentSetting(opener, "s3_url_style", value, info)) { auto val_str = value.ToString(); - if (!(val_str == "vhost" || val_str != "path" || val_str != "")) { + if (!(val_str == "vhost" || val_str != "path" || !val_str.empty())) { throw std::runtime_error( "Incorrect setting found for s3_url_style, allowed values are: 'path' and 'vhost'"); } - url_style = val_str; + result.url_style = val_str; } else { - url_style = "vhost"; + result.url_style = "vhost"; } if (FileOpener::TryGetCurrentSetting(opener, "s3_use_ssl", value, info)) { - use_ssl = value.GetValue(); + result.use_ssl = value.GetValue(); } else { - use_ssl = true; + result.use_ssl = true; } if (FileOpener::TryGetCurrentSetting(opener, "s3_url_compatibility_mode", value, info)) { - s3_url_compatibility_mode = value.GetValue(); + result.s3_url_compatibility_mode = value.GetValue(); } else { - s3_url_compatibility_mode = true; + result.s3_url_compatibility_mode = true; } - return {region, access_key_id, secret_access_key, session_token, - endpoint, url_style, use_ssl, s3_url_compatibility_mode}; + return result; +} + +unique_ptr S3SecretHelper::CreateSecret(vector &prefix_paths_p, string &type, string &provider, + string &name, S3AuthParams ¶ms) { + auto return_value = make_uniq(prefix_paths_p, type, provider, name); + + //! Set key value map + return_value->secret_map["region"] = params.region; + return_value->secret_map["key_id"] = params.access_key_id; + return_value->secret_map["secret"] = params.secret_access_key; + return_value->secret_map["session_token"] = params.session_token; + return_value->secret_map["endpoint"] = params.endpoint; + return_value->secret_map["url_style"] = params.url_style; + return_value->secret_map["use_ssl"] = params.use_ssl; + return_value->secret_map["s3_url_compatibility_mode"] = params.s3_url_compatibility_mode; + + //! Set redact keys + return_value->redact_keys = {"secret", "session_token"}; + + return return_value; +} + +S3AuthParams S3SecretHelper::GetParams(const KeyValueSecret &secret) { + S3AuthParams params; + if (!secret.TryGetValue("region").IsNull()) { + params.region = secret.TryGetValue("region").ToString(); + } + if (!secret.TryGetValue("key_id").IsNull()) { + params.access_key_id = secret.TryGetValue("key_id").ToString(); + } + if (!secret.TryGetValue("secret").IsNull()) { + params.secret_access_key = secret.TryGetValue("secret").ToString(); + } + if (!secret.TryGetValue("session_token").IsNull()) { + params.session_token = secret.TryGetValue("session_token").ToString(); + } + if (!secret.TryGetValue("endpoint").IsNull()) { + params.endpoint = secret.TryGetValue("endpoint").ToString(); + } + if (!secret.TryGetValue("url_style").IsNull()) { + params.url_style = secret.TryGetValue("url_style").ToString(); + } + if (!secret.TryGetValue("use_ssl").IsNull()) { + params.use_ssl = secret.TryGetValue("use_ssl").GetValue(); + } + if (!secret.TryGetValue("s3_url_compatibility_mode").IsNull()) { + params.s3_url_compatibility_mode = secret.TryGetValue("s3_url_compatibility_mode").GetValue(); + } + return params; +} + +S3FileHandle::~S3FileHandle() { + Close(); } S3ConfigParams S3ConfigParams::ReadFrom(FileOpener *opener) { @@ -254,7 +352,9 @@ void S3FileHandle::Close() { auto &s3fs = (S3FileSystem &)file_system; if ((flags & FileFlags::FILE_FLAGS_WRITE) && !upload_finalized) { s3fs.FlushAllBuffers(*this); - s3fs.FinalizeMultipartUpload(*this); + if (parts_uploaded) { + s3fs.FinalizeMultipartUpload(*this); + } } } @@ -303,8 +403,8 @@ void S3FileSystem::UploadBuffer(S3FileHandle &file_handle, shared_ptrcode != 200) { - throw IOException("Unable to connect to URL %s %s (HTTP code %s)", res->http_url, res->error, - to_string(res->code)); + throw HTTPException(*res, "Unable to connect to URL %s %s (HTTP code %s)", res->http_url, res->error, + to_string(res->code)); } etag_lookup = res->headers.find("ETag"); @@ -412,6 +512,7 @@ void S3FileSystem::FlushAllBuffers(S3FileHandle &file_handle) { void S3FileSystem::FinalizeMultipartUpload(S3FileHandle &file_handle) { auto &s3fs = (S3FileSystem &)file_handle.file_system; + file_handle.upload_finalized = true; std::stringstream ss; ss << ""; @@ -438,9 +539,9 @@ void S3FileSystem::FinalizeMultipartUpload(S3FileHandle &file_handle) { auto open_tag_pos = result.find("code); + throw HTTPException(*res, "Unexpected response during S3 multipart upload finalization: %d\n\n%s", res->code, + result); } - file_handle.upload_finalized = true; } // Wrapper around the BufferManager::Allocate to that allows limiting the number of buffers that will be handed out @@ -459,7 +560,7 @@ BufferHandle S3FileSystem::Allocate(idx_t part_size, uint16_t max_threads) { while (true) { try { - duckdb_buffer = buffer_manager.Allocate(part_size); + duckdb_buffer = buffer_manager.Allocate(MemoryTag::EXTENSION, part_size); if (set_waiting_for_memory) { threads_waiting_for_memory--; @@ -556,32 +657,35 @@ void S3FileSystem::ReadQueryParams(const string &url_query_param, S3AuthParams & } } +static string GetPrefix(string url) { + const string prefixes[] = {"s3://", "s3a://", "s3n://", "gcs://", "gs://", "r2://"}; + for (auto &prefix : prefixes) { + if (StringUtil::StartsWith(url, prefix)) { + return prefix; + } + } + throw IOException("URL needs to start with s3://, gcs:// or r2://"); + return string(); +} + ParsedS3Url S3FileSystem::S3UrlParse(string url, S3AuthParams ¶ms) { - string http_proto, host, bucket, path, query_param, trimmed_s3_url; + string http_proto, prefix, host, bucket, key, path, query_param, trimmed_s3_url; - if (url.rfind("s3://", 0) != 0) { - throw IOException("URL needs to start with s3://"); - } - auto slash_pos = url.find('/', 5); + prefix = GetPrefix(url); + auto prefix_end_pos = url.find("//") + 2; + auto slash_pos = url.find('/', prefix_end_pos); if (slash_pos == string::npos) { throw IOException("URL needs to contain a '/' after the host"); } - bucket = url.substr(5, slash_pos - 5); + bucket = url.substr(prefix_end_pos, slash_pos - prefix_end_pos); if (bucket.empty()) { throw IOException("URL needs to contain a bucket name"); } - // See https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html - if (params.url_style == "path") { - path = "/" + bucket; - } else { - path = ""; - } - if (params.s3_url_compatibility_mode) { // In url compatibility mode, we will ignore any special chars, so query param strings are disabled trimmed_s3_url = url; - path += url.substr(slash_pos); + key += url.substr(slash_pos); } else { // Parse query parameters auto question_pos = url.find_first_of('?'); @@ -593,25 +697,44 @@ ParsedS3Url S3FileSystem::S3UrlParse(string url, S3AuthParams ¶ms) { } if (!query_param.empty()) { - path += url.substr(slash_pos, question_pos - slash_pos); + key += url.substr(slash_pos, question_pos - slash_pos); } else { - path += url.substr(slash_pos); + key += url.substr(slash_pos); } } - if (path.empty()) { + if (key.empty()) { throw IOException("URL needs to contain key"); } - if (params.url_style == "vhost" || params.url_style == "") { - host = bucket + "." + params.endpoint; + // Derived host and path based on the endpoint + auto sub_path_pos = params.endpoint.find_first_of('/'); + if (sub_path_pos != string::npos) { + // Host header should conform to : so not include the path + host = params.endpoint.substr(0, sub_path_pos); + path = params.endpoint.substr(sub_path_pos); } else { host = params.endpoint; + path = ""; } + // Update host and path according to the url style + // See https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html + if (params.url_style == "vhost" || params.url_style == "") { + host = bucket + "." + host; + } else if (params.url_style == "path") { + path += "/" + bucket; + } + + // Append key (including leading slash) to the path + path += key; + + // Remove leading slash from key + key = key.substr(1); + http_proto = params.use_ssl ? "https://" : "http://"; - return {http_proto, host, bucket, path, query_param, trimmed_s3_url}; + return {http_proto, prefix, host, bucket, key, path, query_param, trimmed_s3_url}; } string S3FileSystem::GetPayloadHash(char *buffer, idx_t buffer_len) { @@ -692,7 +815,14 @@ unique_ptr S3FileSystem::GetRangeRequest(FileHandle &handle, st unique_ptr S3FileSystem::CreateHandle(const string &path, uint8_t flags, FileLockType lock, FileCompressionType compression, FileOpener *opener) { FileOpenerInfo info = {path}; - auto auth_params = S3AuthParams::ReadFrom(opener, info); + + S3AuthParams auth_params; + auto registered_params = S3AuthParams::ReadFromStoredCredentials(opener, path); + if (registered_params) { + auth_params = *registered_params; + } else { + auth_params = S3AuthParams::ReadFrom(opener, info); + } // Scan the query string for any s3 authentication parameters auto parsed_s3_url = S3UrlParse(path, auth_params); @@ -704,9 +834,11 @@ unique_ptr S3FileSystem::CreateHandle(const string &path, uint8_ // this computes the signature from https://czak.pl/2015/09/15/s3-rest-api-with-curl.html void S3FileSystem::Verify() { + S3AuthParams auth_params; + auth_params.region = "us-east-1"; + auth_params.access_key_id = "AKIAIOSFODNN7EXAMPLE"; + auth_params.secret_access_key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"; - S3AuthParams auth_params = { - "us-east-1", "AKIAIOSFODNN7EXAMPLE", "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "", "", "", true}; auto test_header = create_s3_header("/", "", "my-precious-bucket.s3.amazonaws.com", "s3", "GET", auth_params, "20150915", "20150915T124500Z"); if (test_header["Authorization"] != @@ -731,10 +863,11 @@ void S3FileSystem::Verify() { // aws --region eu-west-1 --debug s3 ls my-precious-bucket 2>&1 | less string canonical_query_string = "delimiter=%2F&encoding-type=url&list-type=2&prefix="; // aws s3 ls - S3AuthParams auth_params2 = { - "eu-west-1", - "ASIAYSPIOYDTHTBIITVC", - "vs1BZPxSL2qVARBSg5vCMKJsavCoEPlo/HSHRaVe", + S3AuthParams auth_params2; + auth_params2.region = "eu-west-1"; + auth_params2.access_key_id = "ASIAYSPIOYDTHTBIITVC"; + auth_params2.secret_access_key = "vs1BZPxSL2qVARBSg5vCMKJsavCoEPlo/HSHRaVe"; + auth_params2.session_token = "IQoJb3JpZ2luX2VjENX//////////wEaCWV1LXdlc3QtMSJHMEUCIQDfjzs9BYHrEXDMU/" "NR+PHV1uSTr7CSVSQdjKSfiPRLdgIgCCztF0VMbi9+" "uHHAfBVKhV4t9MlUrQg3VAOIsLxrWyoqlAIIHRAAGgw1ODk0MzQ4OTY2MTQiDOGl2DsYxENcKCbh+irxARe91faI+" @@ -745,10 +878,8 @@ void S3FileSystem::Verify() { "AiD9cY25TlwPKRKPi5CdBsTPnyTeW62u7PvwK0fTSy4ZuJUuGKQnH2cKmCXquEwoOHEiQY6nQH9fzY/" "EDGHMRxWWhxu0HiqIfsuFqC7GS0p0ToKQE+pzNsvVwMjZc+KILIDDQpdCWRIwu53I5PZy2Cvk+" "3y4XLvdZKQCsAKqeOc4c94UAS4NmUT7mCDOuRV0cLBVM8F0JYBGrUxyI+" - "YoIvHhQWmnRLuKgTb5PkF7ZWrXBHFWG5/tZDOvBbbaCWTlRCL9b0Vpg5+BM/81xd8jChP4w83", - "", - "", - true}; + "YoIvHhQWmnRLuKgTb5PkF7ZWrXBHFWG5/tZDOvBbbaCWTlRCL9b0Vpg5+BM/81xd8jChP4w83"; + auto test_header2 = create_s3_header("/", canonical_query_string, "my-precious-bucket.s3.eu-west-1.amazonaws.com", "s3", "GET", auth_params2, "20210904", "20210904T121746Z"); if (test_header2["Authorization"] != @@ -758,7 +889,11 @@ void S3FileSystem::Verify() { throw std::runtime_error("test fail"); } - S3AuthParams auth_params3 = {"eu-west-1", "S3RVER", "S3RVER", "", "", "", true}; + S3AuthParams auth_params3; + auth_params3.region = "eu-west-1"; + auth_params3.access_key_id = "S3RVER"; + auth_params3.secret_access_key = "S3RVER"; + auto test_header3 = create_s3_header("/correct_auth_test.csv", "", "test-bucket-ceiveran.s3.amazonaws.com", "s3", "PUT", auth_params3, "20220121", "20220121T141452Z", @@ -770,8 +905,10 @@ void S3FileSystem::Verify() { } // bug #4082 - S3AuthParams auth_params4 = { - "auto", "asdf", "asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf", "", "", "", true}; + S3AuthParams auth_params4; + auth_params4.region = "auto"; + auth_params4.access_key_id = "asdf"; + auth_params4.secret_access_key = "asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf"; create_s3_header("/", "", "exampple.com", "s3", "GET", auth_params4); if (UrlEncode("/category=Books/") != "/category%3DBooks/") { @@ -804,15 +941,14 @@ void S3FileHandle::Initialize(FileOpener *opener) { D_ASSERT(part_size * max_part_count >= config_params.max_file_size); multipart_upload_id = s3fs.InitializeMultipartUpload(*this); - - uploads_in_progress = 0; - parts_uploaded = 0; - upload_finalized = false; } } bool S3FileSystem::CanHandleFile(const string &fpath) { - return fpath.rfind("s3://", 0) == 0; + + return fpath.rfind("s3://", 0) * fpath.rfind("s3a://", 0) * fpath.rfind("s3n://", 0) * fpath.rfind("gcs://", 0) * + fpath.rfind("gs://", 0) * fpath.rfind("r2://", 0) == + 0; } void S3FileSystem::FileSync(FileHandle &handle) { @@ -891,7 +1027,13 @@ vector S3FileSystem::Glob(const string &glob_pattern, FileOpener *opener FileOpenerInfo info = {glob_pattern}; // Trim any query parameters from the string - auto s3_auth_params = S3AuthParams::ReadFrom(opener, info); + S3AuthParams s3_auth_params; + auto registered_params = S3AuthParams::ReadFromStoredCredentials(opener, glob_pattern); + if (registered_params) { + s3_auth_params = *registered_params; + } else { + s3_auth_params = S3AuthParams::ReadFrom(opener, info); + } // In url compatibility mode, we ignore globs allowing users to query files with the glob chars if (s3_auth_params.s3_url_compatibility_mode) { @@ -927,7 +1069,7 @@ vector S3FileSystem::Glob(const string &glob_pattern, FileOpener *opener // Repeat requests until the keys of all common prefixes are parsed. auto common_prefixes = AWSListObjectV2::ParseCommonPrefix(response_str); while (!common_prefixes.empty()) { - auto prefix_path = "s3://" + parsed_s3_url.bucket + '/' + common_prefixes.back(); + auto prefix_path = parsed_s3_url.prefix + parsed_s3_url.bucket + '/' + common_prefixes.back(); common_prefixes.pop_back(); // TODO we could optimize here by doing a match on the prefix, if it doesn't match we can skip this prefix @@ -945,14 +1087,7 @@ vector S3FileSystem::Glob(const string &glob_pattern, FileOpener *opener } } while (!main_continuation_token.empty()); - auto pattern_trimmed = parsed_s3_url.path.substr(1); - - // Trim the bucket prefix for path-style urls - if (s3_auth_params.url_style == "path") { - pattern_trimmed = pattern_trimmed.substr(parsed_s3_url.bucket.length() + 1); - } - - vector pattern_splits = StringUtil::Split(pattern_trimmed, "/"); + vector pattern_splits = StringUtil::Split(parsed_s3_url.key, "/"); vector result; for (const auto &s3_key : s3_keys) { @@ -960,7 +1095,7 @@ vector S3FileSystem::Glob(const string &glob_pattern, FileOpener *opener bool is_match = Match(key_splits.begin(), key_splits.end(), pattern_splits.begin(), pattern_splits.end()); if (is_match) { - auto result_full_url = "s3://" + parsed_s3_url.bucket + "/" + s3_key; + auto result_full_url = parsed_s3_url.prefix + parsed_s3_url.bucket + "/" + s3_key; // if a ? char was present, we re-add it here as the url parsing will have trimmed it. if (!parsed_s3_url.query_param.empty()) { result_full_url += '?' + parsed_s3_url.query_param; @@ -997,19 +1132,7 @@ string AWSListObjectV2::Request(string &path, HTTPParams &http_params, S3AuthPar auto parsed_url = S3FileSystem::S3UrlParse(path, s3_auth_params); // Construct the ListObjectsV2 call - string req_path; - if (s3_auth_params.url_style == "path") { - req_path = "/" + parsed_url.bucket + "/"; - } else { - req_path = "/"; - } - - string prefix = parsed_url.path.substr(1); - - // Trim the bucket prefix for path-style urls - if (s3_auth_params.url_style == "path") { - prefix = prefix.substr(parsed_url.bucket.length() + 1); - } + string req_path = parsed_url.path.substr(0, parsed_url.path.length() - parsed_url.key.length()); string req_params = ""; if (!continuation_token.empty()) { @@ -1017,7 +1140,7 @@ string AWSListObjectV2::Request(string &path, HTTPParams &http_params, S3AuthPar req_params += "&"; } req_params += "encoding-type=url&list-type=2"; - req_params += "&prefix=" + S3FileSystem::UrlEncode(prefix, true); + req_params += "&prefix=" + S3FileSystem::UrlEncode(parsed_url.key, true); if (use_delimiter) { req_params += "&delimiter=%2F"; @@ -1036,7 +1159,7 @@ string AWSListObjectV2::Request(string &path, HTTPParams &http_params, S3AuthPar listobjectv2_url.c_str(), *headers, [&](const duckdb_httplib_openssl::Response &response) { if (response.status >= 400) { - throw IOException("HTTP GET error on '%s' (HTTP %d)", listobjectv2_url, response.status); + throw HTTPException(response, "HTTP GET error on '%s' (HTTP %d)", listobjectv2_url, response.status); } return true; }, diff --git a/extension/icu/icu-datefunc.cpp b/extension/icu/icu-datefunc.cpp index 81006b2cfb7d..aeab8379efbd 100644 --- a/extension/icu/icu-datefunc.cpp +++ b/extension/icu/icu-datefunc.cpp @@ -4,7 +4,7 @@ #include "duckdb/common/operator/add.hpp" #include "duckdb/common/operator/multiply.hpp" #include "duckdb/common/types/timestamp.hpp" - +#include "duckdb/common/exception/conversion_exception.hpp" #include "unicode/ucal.h" namespace duckdb { @@ -13,28 +13,40 @@ ICUDateFunc::BindData::BindData(const BindData &other) : tz_setting(other.tz_setting), cal_setting(other.cal_setting), calendar(other.calendar->clone()) { } +ICUDateFunc::BindData::BindData(const string &tz_setting_p, const string &cal_setting_p) + : tz_setting(tz_setting_p), cal_setting(cal_setting_p) { + + InitCalendar(); +} + ICUDateFunc::BindData::BindData(ClientContext &context) { Value tz_value; if (context.TryGetCurrentSetting("TimeZone", tz_value)) { tz_setting = tz_value.ToString(); } - auto tz = icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(icu::StringPiece(tz_setting))); - string cal_id("@calendar="); Value cal_value; if (context.TryGetCurrentSetting("Calendar", cal_value)) { cal_setting = cal_value.ToString(); - cal_id += cal_setting; } else { - cal_id += "gregorian"; + cal_setting = "gregorian"; } + InitCalendar(); +} + +void ICUDateFunc::BindData::InitCalendar() { + auto tz = icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(icu::StringPiece(tz_setting))); + + string cal_id("@calendar="); + cal_id += cal_setting; + icu::Locale locale(cal_id.c_str()); UErrorCode success = U_ZERO_ERROR; calendar.reset(icu::Calendar::createInstance(tz, locale, success)); if (U_FAILURE(success)) { - throw Exception("Unable to create ICU calendar."); + throw InternalException("Unable to create ICU calendar."); } // Postgres always assumes times are given in the proleptic Gregorian calendar. @@ -69,7 +81,7 @@ timestamp_t ICUDateFunc::GetTimeUnsafe(icu::Calendar *calendar, uint64_t micros) UErrorCode status = U_ZERO_ERROR; const auto millis = int64_t(calendar->getTime(status)); if (U_FAILURE(status)) { - throw Exception("Unable to get ICU calendar time."); + throw InternalException("Unable to get ICU calendar time."); } return timestamp_t(millis * Interval::MICROS_PER_MSEC + micros); } @@ -118,7 +130,7 @@ uint64_t ICUDateFunc::SetTime(icu::Calendar *calendar, timestamp_t date) { UErrorCode status = U_ZERO_ERROR; calendar->setTime(udate, status); if (U_FAILURE(status)) { - throw Exception("Unable to set ICU calendar time."); + throw InternalException("Unable to set ICU calendar time."); } return uint64_t(micros); } @@ -127,7 +139,7 @@ int32_t ICUDateFunc::ExtractField(icu::Calendar *calendar, UCalendarDateFields f UErrorCode status = U_ZERO_ERROR; const auto result = calendar->get(field, status); if (U_FAILURE(status)) { - throw Exception("Unable to extract ICU calendar part."); + throw InternalException("Unable to extract ICU calendar part."); } return result; } @@ -138,7 +150,7 @@ int64_t ICUDateFunc::SubtractField(icu::Calendar *calendar, UCalendarDateFields UErrorCode status = U_ZERO_ERROR; auto sub = calendar->fieldDifference(when, field, status); if (U_FAILURE(status)) { - throw Exception("Unable to subtract ICU calendar part."); + throw InternalException("Unable to subtract ICU calendar part."); } return sub; } diff --git a/extension/icu/icu-datepart.cpp b/extension/icu/icu-datepart.cpp index 8437de9b7577..c8a090a2017f 100644 --- a/extension/icu/icu-datepart.cpp +++ b/extension/icu/icu-datepart.cpp @@ -198,7 +198,7 @@ struct ICUDatePart : public ICUDateFunc { case DatePartSpecifier::TIMEZONE_MINUTE: return ExtractTimezoneMinute; default: - throw Exception("Unsupported ICU BIGINT extractor"); + throw InternalException("Unsupported ICU BIGINT extractor"); } } @@ -209,7 +209,7 @@ struct ICUDatePart : public ICUDateFunc { case DatePartSpecifier::JULIAN_DAY: return ExtractJulianDay; default: - throw Exception("Unsupported ICU DOUBLE extractor"); + throw InternalException("Unsupported ICU DOUBLE extractor"); } } @@ -223,7 +223,7 @@ struct ICUDatePart : public ICUDateFunc { UErrorCode status = U_ZERO_ERROR; const auto dd = calendar->getActualMaximum(UCAL_DATE, status); if (U_FAILURE(status)) { - throw Exception("Unable to extract ICU last day."); + throw InternalException("Unable to extract ICU last day."); } calendar->set(UCAL_DATE, dd); @@ -327,8 +327,13 @@ struct ICUDatePart : public ICUDateFunc { using bigints_t = vector; using doubles_t = vector; - BindStructData(ClientContext &context, part_codes_t &part_codes_p, bigints_t &bigints_p, doubles_t &doubles_p) - : BindData(context), part_codes(part_codes_p), bigints(bigints_p), doubles(doubles_p) { + BindStructData(ClientContext &context, part_codes_t &&part_codes_p) + : BindData(context), part_codes(part_codes_p) { + InitFactories(); + } + BindStructData(const string &tz_setting_p, const string &cal_setting_p, part_codes_t &&part_codes_p) + : BindData(tz_setting_p, cal_setting_p), part_codes(part_codes_p) { + InitFactories(); } BindStructData(const BindStructData &other) : BindData(other), part_codes(other.part_codes), bigints(other.bigints), doubles(other.doubles) { @@ -340,13 +345,27 @@ struct ICUDatePart : public ICUDateFunc { bool Equals(const FunctionData &other_p) const override { const auto &other = other_p.Cast(); - return BindData::Equals(other_p) && part_codes == other.part_codes && bigints == other.bigints && - doubles == other.doubles; + return BindData::Equals(other_p) && part_codes == other.part_codes; } duckdb::unique_ptr Copy() const override { return make_uniq(*this); } + + void InitFactories() { + bigints.clear(); + bigints.resize(part_codes.size(), nullptr); + doubles.clear(); + doubles.resize(part_codes.size(), nullptr); + for (size_t col = 0; col < part_codes.size(); ++col) { + const auto part_code = part_codes[col]; + if (IsBigintDatepart(part_code)) { + bigints[col] = PartCodeBigintFactory(part_code); + } else { + doubles[col] = PartCodeDoubleFactory(part_code); + } + } + } }; template @@ -504,8 +523,6 @@ struct ICUDatePart : public ICUDateFunc { case_insensitive_set_t name_collision_set; child_list_t struct_children; BindStructData::part_codes_t part_codes; - BindStructData::bigints_t bigints; - BindStructData::doubles_t doubles; Value parts_list = ExpressionExecutor::EvaluateScalar(context, *arguments[0]); if (parts_list.type().id() == LogicalTypeId::LIST) { @@ -514,8 +531,6 @@ struct ICUDatePart : public ICUDateFunc { throw BinderException("%s requires non-empty lists of part names", bound_function.name); } - bigints.resize(list_children.size(), nullptr); - doubles.resize(list_children.size(), nullptr); for (size_t col = 0; col < list_children.size(); ++col) { const auto &part_value = list_children[col]; if (part_value.IsNull()) { @@ -529,10 +544,8 @@ struct ICUDatePart : public ICUDateFunc { name_collision_set.insert(part_name); part_codes.emplace_back(part_code); if (IsBigintDatepart(part_code)) { - bigints[col] = PartCodeBigintFactory(part_code); struct_children.emplace_back(make_pair(part_name, LogicalType::BIGINT)); } else { - doubles[col] = PartCodeDoubleFactory(part_code); struct_children.emplace_back(make_pair(part_name, LogicalType::DOUBLE)); } } @@ -542,17 +555,24 @@ struct ICUDatePart : public ICUDateFunc { Function::EraseArgument(bound_function, arguments, 0); bound_function.return_type = LogicalType::STRUCT(std::move(struct_children)); - return make_uniq(context, part_codes, bigints, doubles); + return make_uniq(context, std::move(part_codes)); } - static void SerializeFunction(Serializer &serializer, const optional_ptr bind_data, - const ScalarFunction &function) { - throw NotImplementedException("FIXME: serialize icu-datepart"); + static void SerializeStructFunction(Serializer &serializer, const optional_ptr bind_data, + const ScalarFunction &function) { + D_ASSERT(bind_data); + auto &info = bind_data->Cast(); + serializer.WriteProperty(100, "tz_setting", info.tz_setting); + serializer.WriteProperty(101, "cal_setting", info.cal_setting); + serializer.WriteProperty(102, "part_codes", info.part_codes); } - static duckdb::unique_ptr DeserializeFunction(Deserializer &deserializer, - ScalarFunction &bound_function) { - throw NotImplementedException("FIXME: serialize icu-datepart"); + static duckdb::unique_ptr DeserializeStructFunction(Deserializer &deserializer, + ScalarFunction &bound_function) { + auto tz_setting = deserializer.ReadProperty(100, "tz_setting"); + auto cal_setting = deserializer.ReadProperty(101, "cal_setting"); + auto part_codes = deserializer.ReadProperty>(102, "part_codes"); + return make_uniq(tz_setting, cal_setting, std::move(part_codes)); } template @@ -581,8 +601,8 @@ struct ICUDatePart : public ICUDateFunc { auto part_type = LogicalType::LIST(LogicalType::VARCHAR); auto result_type = LogicalType::STRUCT({}); ScalarFunction result({part_type, temporal_type}, result_type, StructFunction, BindStruct); - result.serialize = SerializeFunction; - result.deserialize = DeserializeFunction; + result.serialize = SerializeStructFunction; + result.deserialize = DeserializeStructFunction; return result; } diff --git a/extension/icu/icu-datetrunc.cpp b/extension/icu/icu-datetrunc.cpp index de8ae5412e8e..625cffa21edf 100644 --- a/extension/icu/icu-datetrunc.cpp +++ b/extension/icu/icu-datetrunc.cpp @@ -12,26 +12,59 @@ namespace duckdb { struct ICUDateTrunc : public ICUDateFunc { + static void PreserveOffsets(icu::Calendar *calendar) { + // We have to extract _everything_ before setting anything + // Otherwise ICU will clear the fStamp fields + // This also means we must call this method first. + + // Force reuse of offsets when reassembling truncated sub-hour times. + const auto zone_offset = ExtractField(calendar, UCAL_ZONE_OFFSET); + const auto dst_offset = ExtractField(calendar, UCAL_DST_OFFSET); + + calendar->set(UCAL_ZONE_OFFSET, zone_offset); + calendar->set(UCAL_DST_OFFSET, dst_offset); + } + + static void TruncMicrosecondInternal(icu::Calendar *calendar, uint64_t µs) { + } + static void TruncMicrosecond(icu::Calendar *calendar, uint64_t µs) { + PreserveOffsets(calendar); + TruncMicrosecondInternal(calendar, micros); } - static void TruncMillisecond(icu::Calendar *calendar, uint64_t µs) { - TruncMicrosecond(calendar, micros); + static void TruncMillisecondInternal(icu::Calendar *calendar, uint64_t µs) { + TruncMicrosecondInternal(calendar, micros); micros = 0; } - static void TruncSecond(icu::Calendar *calendar, uint64_t µs) { - TruncMillisecond(calendar, micros); + static void TruncMillisecond(icu::Calendar *calendar, uint64_t µs) { + PreserveOffsets(calendar); + TruncMillisecondInternal(calendar, micros); + } + + static void TruncSecondInternal(icu::Calendar *calendar, uint64_t µs) { + TruncMillisecondInternal(calendar, micros); calendar->set(UCAL_MILLISECOND, 0); } - static void TruncMinute(icu::Calendar *calendar, uint64_t µs) { - TruncSecond(calendar, micros); + static void TruncSecond(icu::Calendar *calendar, uint64_t µs) { + PreserveOffsets(calendar); + TruncSecondInternal(calendar, micros); + } + + static void TruncMinuteInternal(icu::Calendar *calendar, uint64_t µs) { + TruncSecondInternal(calendar, micros); calendar->set(UCAL_SECOND, 0); } + static void TruncMinute(icu::Calendar *calendar, uint64_t µs) { + PreserveOffsets(calendar); + TruncMinuteInternal(calendar, micros); + } + static void TruncHour(icu::Calendar *calendar, uint64_t µs) { - TruncMinute(calendar, micros); + TruncMinuteInternal(calendar, micros); calendar->set(UCAL_MINUTE, 0); } diff --git a/extension/icu/icu-strptime.cpp b/extension/icu/icu-strptime.cpp index 138f89af1182..61d4413c4baa 100644 --- a/extension/icu/icu-strptime.cpp +++ b/extension/icu/icu-strptime.cpp @@ -107,7 +107,11 @@ struct ICUStrptime : public ICUDateFunc { ParseResult parsed; for (auto &format : info.formats) { if (format.Parse(input, parsed)) { - return GetTime(calendar, ToMicros(calendar, parsed, format)); + if (parsed.is_special) { + return parsed.ToTimestamp(); + } else { + return GetTime(calendar, ToMicros(calendar, parsed, format)); + } } } @@ -137,9 +141,13 @@ struct ICUStrptime : public ICUDateFunc { ParseResult parsed; for (auto &format : info.formats) { if (format.Parse(input, parsed)) { - timestamp_t result; - if (TryGetTime(calendar, ToMicros(calendar, parsed, format), result)) { - return result; + if (parsed.is_special) { + return parsed.ToTimestamp(); + } else { + timestamp_t result; + if (TryGetTime(calendar, ToMicros(calendar, parsed, format), result)) { + return result; + } } } } @@ -360,8 +368,7 @@ struct ICUStrftime : public ICUDateFunc { if (Timestamp::IsFinite(input)) { return Operation(calendar.get(), input, tz_name, format, result); } else { - mask.SetInvalid(idx); - return string_t(); + return StringVector::AddString(result, Timestamp::ToString(input)); } }); } @@ -375,8 +382,7 @@ struct ICUStrftime : public ICUDateFunc { return Operation(calendar.get(), input, tz_name, format, result); } else { - mask.SetInvalid(idx); - return string_t(); + return StringVector::AddString(result, Timestamp::ToString(input)); } }); } diff --git a/extension/icu/icu-table-range.cpp b/extension/icu/icu-table-range.cpp index f6a697d40b72..940b1ef61724 100644 --- a/extension/icu/icu-table-range.cpp +++ b/extension/icu/icu-table-range.cpp @@ -41,7 +41,7 @@ struct ICUTableRange { UErrorCode success = U_ZERO_ERROR; calendar.reset(icu::Calendar::createInstance(tz, locale, success)); if (U_FAILURE(success)) { - throw Exception("Unable to create ICU calendar."); + throw InternalException("Unable to create ICU calendar."); } } diff --git a/extension/icu/icu-timezone.cpp b/extension/icu/icu-timezone.cpp index 7a47baec31e4..5451be5f6c29 100644 --- a/extension/icu/icu-timezone.cpp +++ b/extension/icu/icu-timezone.cpp @@ -1,6 +1,7 @@ #include "duckdb/common/types/date.hpp" #include "duckdb/common/types/time.hpp" #include "duckdb/common/types/timestamp.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" #include "duckdb/function/cast/cast_function_set.hpp" #include "duckdb/main/extension_util.hpp" #include "duckdb/parser/parsed_data/create_scalar_function_info.hpp" @@ -10,6 +11,16 @@ namespace duckdb { +template +static bool ICUIsFinite(const T &t) { + return true; +} + +template <> +bool ICUIsFinite(const timestamp_t &t) { + return Timestamp::IsFinite(t); +} + struct ICUTimeZoneData : public GlobalTableFunctionState { ICUTimeZoneData() : tzs(icu::TimeZone::createEnumeration()) { UErrorCode status = U_ZERO_ERROR; @@ -93,7 +104,7 @@ static void ICUTimeZoneFunction(ClientContext &context, TableFunctionInput &data struct ICUFromNaiveTimestamp : public ICUDateFunc { static inline timestamp_t Operation(icu::Calendar *calendar, timestamp_t naive) { - if (!Timestamp::IsFinite(naive)) { + if (!ICUIsFinite(naive)) { return naive; } @@ -157,7 +168,7 @@ struct ICUFromNaiveTimestamp : public ICUDateFunc { struct ICUToNaiveTimestamp : public ICUDateFunc { static inline timestamp_t Operation(icu::Calendar *calendar, timestamp_t instant) { - if (!Timestamp::IsFinite(instant)) { + if (!ICUIsFinite(instant)) { return instant; } @@ -289,8 +300,23 @@ struct ICULocalTimeFunc : public ICUDateFunc { } }; +struct ICUToTimeTZ : public ICUDateFunc { + static inline dtime_tz_t Operation(icu::Calendar *calendar, dtime_tz_t timetz) { + // Normalise to +00:00, add TZ offset, then set offset to TZ + auto time = Time::NormalizeTimeTZ(timetz); + + auto offset = ExtractField(calendar, UCAL_ZONE_OFFSET); + offset += ExtractField(calendar, UCAL_DST_OFFSET); + offset /= Interval::MSECS_PER_SEC; + + date_t date(0); + time = Interval::Add(time, {0, 0, offset * Interval::MICROS_PER_SEC}, date); + return dtime_tz_t(time, offset); + } +}; + struct ICUTimeZoneFunc : public ICUDateFunc { - template + template static void Execute(DataChunk &input, ExpressionState &state, Vector &result) { auto &func_expr = state.expr.Cast(); auto &info = func_expr.bind_info->Cast(); @@ -307,28 +333,29 @@ struct ICUTimeZoneFunc : public ICUDateFunc { ConstantVector::SetNull(result, true); } else { SetTimeZone(calendar, *ConstantVector::GetData(tz_vec)); - UnaryExecutor::Execute( - ts_vec, result, input.size(), [&](timestamp_t ts) { return OP::Operation(calendar, ts); }); + UnaryExecutor::Execute(ts_vec, result, input.size(), + [&](T ts) { return OP::Operation(calendar, ts); }); } } else { - BinaryExecutor::Execute(tz_vec, ts_vec, result, input.size(), - [&](string_t tz_id, timestamp_t ts) { - if (Timestamp::IsFinite(ts)) { - SetTimeZone(calendar, tz_id); - return OP::Operation(calendar, ts); - } else { - return ts; - } - }); + BinaryExecutor::Execute(tz_vec, ts_vec, result, input.size(), [&](string_t tz_id, T ts) { + if (ICUIsFinite(ts)) { + SetTimeZone(calendar, tz_id); + return OP::Operation(calendar, ts); + } else { + return ts; + } + }); } } static void AddFunction(const string &name, DatabaseInstance &db) { ScalarFunctionSet set(name); set.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::TIMESTAMP}, LogicalType::TIMESTAMP_TZ, - Execute, Bind)); + Execute, Bind)); set.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::TIMESTAMP_TZ}, LogicalType::TIMESTAMP, - Execute, Bind)); + Execute, Bind)); + set.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::TIME_TZ}, LogicalType::TIME_TZ, + Execute, Bind)); ExtensionUtil::AddFunctionOverload(db, set); } }; diff --git a/extension/icu/icu_extension.cpp b/extension/icu/icu_extension.cpp index 2ac45079f113..a798f2f2ea45 100644 --- a/extension/icu/icu_extension.cpp +++ b/extension/icu/icu_extension.cpp @@ -238,7 +238,7 @@ void IcuExtension::Load(DuckDB &ddb) { } collation = StringUtil::Lower(collation); - CreateCollationInfo info(collation, GetICUFunction(collation), false, true); + CreateCollationInfo info(collation, GetICUFunction(collation), false, false); ExtensionUtil::RegisterCollation(db, info); } ScalarFunction sort_key("icu_sort_key", {LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::VARCHAR, diff --git a/extension/icu/include/icu-datefunc.hpp b/extension/icu/include/icu-datefunc.hpp index 08a96f099f23..1ae2a5f12ced 100644 --- a/extension/icu/include/icu-datefunc.hpp +++ b/extension/icu/include/icu-datefunc.hpp @@ -21,6 +21,7 @@ struct ICUDateFunc { struct BindData : public FunctionData { explicit BindData(ClientContext &context); + BindData(const string &tz_setting, const string &cal_setting); BindData(const BindData &other); string tz_setting; @@ -29,6 +30,8 @@ struct ICUDateFunc { bool Equals(const FunctionData &other_p) const override; duckdb::unique_ptr Copy() const override; + + void InitCalendar(); }; struct CastData : public BoundCastData { diff --git a/extension/icu/scripts/makedata.sh b/extension/icu/scripts/makedata.sh index c98e9c2282e0..cf825fc6e0f4 100755 --- a/extension/icu/scripts/makedata.sh +++ b/extension/icu/scripts/makedata.sh @@ -26,7 +26,7 @@ find ${data_path/version/$data_version} -type f ! -iname "*.txt" -delete cp -r ${data_path/version/$data_version} ${source_path/version/$code_version} # download IANA and copy the latest Time Zone Data -tz_version=2023c +tz_version=2024a rm -rf icu-data git clone git@github.com:unicode-org/icu-data.git cp icu-data/tzdata/icunew/${tz_version}/44/*.txt ${data_path/version/$code_version}/misc diff --git a/extension/icu/third_party/icu/stubdata/stubdata.cpp b/extension/icu/third_party/icu/stubdata/stubdata.cpp index 33078a859b21..1bb59ae02ac9 100644 --- a/extension/icu/third_party/icu/stubdata/stubdata.cpp +++ b/extension/icu/third_party/icu/stubdata/stubdata.cpp @@ -6,5 +6,5 @@ #include "unicode/uversion.h" extern "C" U_EXPORT const unsigned char U_ICUDATA_ENTRY_POINT [] = { - 144,0,218,39,20,0,0,0,0,0,2,0,67,109,110,68,1,0,0,0,3,0,0,0,32,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,54,32,97,110,100,32,108,97,116,101,114,58,32,85,110,105,99,111,100,101,44,32,73,110,99,46,32,97,110,100,32,111,116,104,101,114,115,46,32,76,105,99,101,110,115,101,32,38,32,116,101,114,109,115,32,111,102,32,117,115,101,58,32,104,116,116,112,58,47,47,119,119,119,46,117,110,105,99,111,100,101,46,111,114,103,47,99,111,112,121,114,105,103,104,116,46,104,116,109,108,32,0,190,0,0,0,244,5,0,0,240,22,0,0,9,6,0,0,32,52,0,0,30,6,0,0,48,54,0,0,51,6,0,0,16,169,0,0,75,6,0,0,96,169,0,0,97,6,0,0,192,169,0,0,118,6,0,0,176,197,0,0,139,6,0,0,48,30,1,0,160,6,0,0,16,58,1,0,181,6,0,0,16,60,1,0,202,6,0,0,128,191,1,0,223,6,0,0,80,2,2,0,244,6,0,0,128,34,2,0,9,7,0,0,192,112,2,0,35,7,0,0,80,139,2,0,56,7,0,0,48,176,2,0,78,7,0,0,112,208,2,0,100,7,0,0,128,210,2,0,121,7,0,0,224,246,2,0,142,7,0,0,112,31,3,0,163,7,0,0,176,141,3,0,184,7,0,0,48,224,3,0,206,7,0,0,128,224,3,0,230,7,0,0,80,6,4,0,6,8,0,0,208,6,4,0,28,8,0,0,128,48,4,0,49,8,0,0,208,48,4,0,70,8,0,0,48,94,4,0,91,8,0,0,112,96,4,0,112,8,0,0,192,96,4,0,136,8,0,0,16,97,4,0,166,8,0,0,144,159,4,0,187,8,0,0,224,196,4,0,208,8,0,0,32,41,5,0,230,8,0,0,112,41,5,0,8,9,0,0,240,41,5,0,29,9,0,0,64,83,5,0,50,9,0,0,80,114,5,0,74,9,0,0,128,148,5,0,95,9,0,0,208,148,5,0,121,9,0,0,112,193,5,0,142,9,0,0,160,74,6,0,164,9,0,0,224,106,6,0,185,9,0,0,64,217,6,0,206,9,0,0,144,217,6,0,230,9,0,0,128,218,6,0,251,9,0,0,48,250,6,0,16,10,0,0,128,250,6,0,37,10,0,0,48,61,7,0,58,10,0,0,0,88,7,0,79,10,0,0,208,125,7,0,101,10,0,0,224,169,7,0,122,10,0,0,192,231,7,0,146,10,0,0,16,232,7,0,167,10,0,0,224,2,8,0,188,10,0,0,128,82,8,0,210,10,0,0,32,122,8,0,231,10,0,0,224,195,8,0,252,10,0,0,112,222,8,0,17,11,0,0,192,222,8,0,41,11,0,0,16,223,8,0,62,11,0,0,80,16,9,0,83,11,0,0,176,16,9,0,107,11,0,0,16,17,9,0,128,11,0,0,240,112,9,0,149,11,0,0,64,113,9,0,170,11,0,0,160,113,9,0,194,11,0,0,0,114,9,0,215,11,0,0,0,174,11,0,236,11,0,0,0,176,11,0,1,12,0,0,64,204,11,0,22,12,0,0,0,40,12,0,43,12,0,0,192,75,12,0,64,12,0,0,192,209,12,0,85,12,0,0,96,61,17,0,107,12,0,0,192,88,17,0,128,12,0,0,240,131,17,0,149,12,0,0,128,159,17,0,170,12,0,0,208,159,17,0,192,12,0,0,48,195,17,0,213,12,0,0,80,28,18,0,234,12,0,0,96,30,18,0,255,12,0,0,112,70,18,0,20,13,0,0,96,107,18,0,41,13,0,0,160,135,18,0,62,13,0,0,112,165,18,0,83,13,0,0,160,167,18,0,104,13,0,0,0,168,18,0,125,13,0,0,176,195,18,0,146,13,0,0,0,196,18,0,167,13,0,0,80,228,18,0,188,13,0,0,208,125,19,0,209,13,0,0,48,126,19,0,233,13,0,0,128,126,19,0,254,13,0,0,128,128,19,0,19,14,0,0,208,128,19,0,40,14,0,0,48,129,19,0,61,14,0,0,192,239,19,0,85,14,0,0,32,240,19,0,106,14,0,0,112,24,20,0,127,14,0,0,224,51,20,0,148,14,0,0,64,80,20,0,174,14,0,0,144,80,20,0,203,14,0,0,224,80,20,0,227,14,0,0,80,81,20,0,248,14,0,0,96,121,20,0,13,15,0,0,0,157,20,0,34,15,0,0,80,157,20,0,62,15,0,0,48,163,20,0,83,15,0,0,80,198,20,0,106,15,0,0,176,97,25,0,127,15,0,0,176,99,25,0,148,15,0,0,0,100,25,0,169,15,0,0,192,213,25,0,190,15,0,0,32,214,25,0,214,15,0,0,144,214,25,0,238,15,0,0,0,215,25,0,6,16,0,0,112,215,25,0,27,16,0,0,128,13,26,0,48,16,0,0,176,113,26,0,69,16,0,0,144,147,26,0,91,16,0,0,96,243,26,0,112,16,0,0,208,33,27,0,133,16,0,0,160,60,27,0,157,16,0,0,16,61,27,0,183,16,0,0,96,61,27,0,212,16,0,0,176,61,27,0,241,16,0,0,0,62,27,0,14,17,0,0,80,62,27,0,40,17,0,0,144,140,27,0,69,17,0,0,224,140,27,0,98,17,0,0,48,141,27,0,122,17,0,0,160,141,27,0,146,17,0,0,16,142,27,0,167,17,0,0,80,24,28,0,188,17,0,0,160,24,28,0,209,17,0,0,48,56,28,0,230,17,0,0,0,83,28,0,251,17,0,0,80,110,28,0,16,18,0,0,160,151,28,0,37,18,0,0,32,199,28,0,58,18,0,0,160,26,29,0,84,18,0,0,192,112,37,0,105,18,0,0,240,141,37,0,126,18,0,0,96,170,37,0,147,18,0,0,112,203,37,0,168,18,0,0,80,237,37,0,189,18,0,0,48,126,38,0,211,18,0,0,128,126,38,0,232,18,0,0,192,165,38,0,253,18,0,0,16,166,38,0,18,19,0,0,112,231,38,0,39,19,0,0,64,11,39,0,61,19,0,0,160,11,39,0,86,19,0,0,0,12,39,0,113,19,0,0,96,12,39,0,143,19,0,0,192,12,39,0,170,19,0,0,32,13,39,0,191,19,0,0,176,17,53,0,215,19,0,0,32,18,53,0,239,19,0,0,144,18,53,0,9,20,0,0,224,18,53,0,38,20,0,0,48,19,53,0,67,20,0,0,128,19,53,0,93,20,0,0,0,20,53,0,122,20,0,0,80,20,53,0,151,20,0,0,160,20,53,0,180,20,0,0,240,20,53,0,204,20,0,0,96,21,53,0,228,20,0,0,208,21,53,0,252,20,0,0,64,22,53,0,17,21,0,0,144,22,53,0,51,21,0,0,176,34,53,0,75,21,0,0,176,111,53,0,99,21,0,0,208,113,53,0,132,21,0,0,96,133,53,0,152,21,0,0,192,133,53,0,172,21,0,0,80,134,53,0,197,21,0,0,144,162,53,0,219,21,0,0,176,65,54,0,246,21,0,0,160,23,55,0,13,22,0,0,160,192,55,0,35,22,0,0,176,83,56,0,65,22,0,0,64,107,56,0,91,22,0,0,0,121,56,0,112,22,0,0,224,2,57,0,142,22,0,0,128,177,60,0,169,22,0,0,160,0,61,0,188,22,0,0,160,64,61,0,214,22,0,0,0,153,61,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,102,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,109,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,114,95,83,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,114,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,122,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,103,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,115,95,67,121,114,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,99,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,99,101,98,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,99,104,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,99,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,99,121,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,101,95,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,101,95,65,84,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,101,95,95,80,72,79,78,69,66,79,79,75,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,115,98,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,122,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,110,95,85,83,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,110,95,85,83,95,80,79,83,73,88,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,115,95,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,115,95,95,84,82,65,68,73,84,73,79,78,65,76,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,97,95,65,70,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,102,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,102,95,65,100,108,109,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,105,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,105,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,114,95,67,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,121,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,103,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,103,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,103,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,97,119,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,101,95,73,76,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,105,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,115,98,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,121,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,100,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,100,95,73,68,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,103,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,110,95,73,68,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,119,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,119,95,73,76,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,106,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,109,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,111,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,121,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,98,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,107,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,118,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,121,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,98,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,98,95,78,79,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,111,95,78,79,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,111,109,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,111,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,97,95,71,117,114,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,97,95,71,117,114,117,95,73,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,97,95,73,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,114,101,115,95,105,110,100,101,120,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,114,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,114,111,111,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,114,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,104,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,104,95,66,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,104,95,67,83,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,104,95,89,85,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,105,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,109,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,113,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,66,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,67,121,114,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,67,121,114,108,95,66,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,67,121,114,108,95,77,69,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,67,121,114,108,95,82,83,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,76,97,116,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,76,97,116,110,95,66,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,76,97,116,110,95,82,83,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,77,69,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,82,83,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,118,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,119,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,104,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,117,99,97,100,97,116,97,46,105,99,117,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,117,103,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,117,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,117,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,117,122,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,118,105,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,119,97,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,119,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,120,104,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,105,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,117,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,117,101,95,67,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,117,101,95,72,97,110,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,117,101,95,72,97,110,115,95,67,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,117,101,95,72,97,110,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,67,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,75,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,115,95,67,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,115,95,83,71,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,116,95,72,75,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,116,95,77,79,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,116,95,84,87,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,77,79,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,83,71,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,84,87,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,117,114,114,101,110,99,121,78,117,109,101,114,105,99,67,111,100,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,100,97,121,80,101,114,105,111,100,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,103,101,110,100,101,114,76,105,115,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,103,114,97,109,109,97,116,105,99,97,108,70,101,97,116,117,114,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,105,99,117,115,116,100,46,114,101,115,0,105,99,117,100,116,54,54,108,47,105,99,117,118,101,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,107,101,121,84,121,112,101,68,97,116,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,108,97,110,103,73,110,102,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,108,105,107,101,108,121,83,117,98,116,97,103,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,109,101,116,97,90,111,110,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,109,101,116,97,100,97,116,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,110,117,109,98,101,114,105,110,103,83,121,115,116,101,109,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,112,108,117,114,97,108,82,97,110,103,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,112,108,117,114,97,108,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,115,117,112,112,108,101,109,101,110,116,97,108,68,97,116,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,116,105,109,101,122,111,110,101,84,121,112,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,117,110,105,116,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,119,105,110,100,111,119,115,90,111,110,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,122,111,110,101,105,110,102,111,54,52,46,114,101,115,0,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,66,7,0,32,7,0,0,0,21,0,0,0,68,7,0,0,68,7,0,0,3,0,0,0,0,0,0,0,27,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,78,0,60,0,60,0,60,0,73,1,0,0,170,170,124,28,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,24,0,0,100,24,0,0,100,24,0,0,100,24,0,0,168,24,0,0,168,24,0,0,168,24,0,0,168,24,0,0,100,28,0,0,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,29,5,0,68,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,2,64,12,32,14,192,14,232,14,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,185,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,153,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,176,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,176,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,153,113,136,113,249,114,232,114,25,114,8,114,170,112,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,10,8,12,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,14,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,16,8,1,0,8,14,18,8,1,0,16,14,0,13,8,13,24,14,20,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,69,0,52,0,61,0,27,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,59,7,0,32,1,0,32,0,64,7,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,120,0,0,32,7,0,0,0,21,0,0,0,122,0,0,0,122,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,69,0,116,0,104,0,105,0,93,0,0,0,170,170,68,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,44,0,0,0,44,1,0,0,11,0,0,0,0,0,143,103,192,255,0,104,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,0,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,113,0,0,32,1,0,32,0,118,0,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,174,28,0,32,7,0,0,0,23,0,0,0,176,28,0,0,176,28,0,0,3,0,0,0,0,0,0,0,48,8,0,0,99,111,108,108,97,116,105,111,110,115,0,99,111,109,112,97,116,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,56,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,42,6,60,0,60,0,41,6,60,0,60,0,60,0,148,254,60,0,60,0,60,0,147,254,38,0,74,6,60,0,60,0,73,6,60,0,60,0,60,0,232,251,60,0,60,0,60,0,233,251,60,0,60,0,60,0,240,254,60,0,60,0,60,0,239,254,60,0,60,0,60,0,144,252,60,0,60,0,60,0,93,252,0,0,239,223,241,15,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,42,6,60,0,60,0,14,32,41,6,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,14,32,74,6,14,32,60,0,60,0,204,6,60,0,60,0,14,32,73,6,38,0,14,32,33,6,60,0,60,0,14,32,35,6,60,0,60,0,14,32,36,6,60,0,60,0,14,32,37,6,60,0,60,0,14,32,38,6,60,0,60,0,14,32,73,6,85,6,60,0,60,0,14,32,39,6,14,32,38,0,33,6,39,6,14,32,60,0,60,0,14,32,34,6,14,32,38,0,91,0,108,0,97,0,115,0,116,0,32,0,115,0,101,0,99,0,111,0,110,0,100,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,60,0,75,6,60,0,60,0,60,0,240,8,60,0,60,0,60,0,231,8,60,0,60,0,60,0,76,6,60,0,60,0,60,0,241,8,60,0,60,0,60,0,232,8,60,0,60,0,60,0,77,6,60,0,60,0,60,0,242,8,60,0,60,0,60,0,233,8,60,0,60,0,60,0,78,6,60,0,60,0,60,0,228,8,60,0,60,0,60,0,244,8,60,0,60,0,60,0,245,8,60,0,60,0,60,0,79,6,60,0,60,0,60,0,229,8,60,0,60,0,60,0,254,8,60,0,60,0,60,0,80,6,60,0,60,0,60,0,230,8,60,0,60,0,60,0,246,8,60,0,60,0,60,0,81,6,60,0,60,0,60,0,82,6,60,0,60,0,60,0,83,6,60,0,60,0,60,0,223,6,60,0,60,0,60,0,225,6,60,0,60,0,60,0,95,6,60,0,60,0,60,0,86,6,60,0,60,0,60,0,87,6,60,0,60,0,60,0,88,6,60,0,60,0,60,0,255,8,60,0,60,0,60,0,89,6,60,0,60,0,60,0,90,6,60,0,60,0,60,0,91,6,60,0,60,0,60,0,92,6,60,0,60,0,60,0,93,6,60,0,60,0,60,0,94,6,60,0,60,0,60,0,247,8,60,0,60,0,60,0,248,8,60,0,60,0,60,0,253,8,60,0,60,0,60,0,251,8,60,0,60,0,60,0,252,8,60,0,60,0,60,0,249,8,60,0,60,0,60,0,250,8,60,0,60,0,60,0,112,6,38,0,14,32,39,0,40,6,51,6,69,6,32,0,39,6,68,6,68,6,71,6,32,0,39,6,68,6,49,6,45,6,69,6,70,6,32,0,39,6,68,6,49,6,45,6,74,6,69,6,39,0,60,0,60,0,60,0,14,32,253,253,14,32,38,0,33,6,14,32,61,0,128,254,14,32,38,0,39,6,14,32,61,0,141,254,14,32,61,0,142,254,14,32,38,0,39,6,67,6,40,6,49,6,14,32,60,0,60,0,60,0,243,253,14,32,38,0,39,6,68,6,68,6,71,6,14,32,60,0,60,0,60,0,242,253,14,32,38,0,39,6,75,6,14,32,61,0,60,253,14,32,61,0,61,253,14,32,38,0,34,6,14,32,61,0,129,254,14,32,61,0,130,254,14,32,38,0,35,6,14,32,61,0,131,254,14,32,61,0,132,254,14,32,38,0,37,6,14,32,61,0,135,254,14,32,61,0,136,254,14,32,38,0,40,6,14,32,61,0,143,254,14,32,61,0,144,254,14,32,61,0,145,254,14,32,61,0,146,254,14,32,38,0,40,6,44,6,14,32,61,0,5,252,14,32,61,0,156,252,14,32,38,0,40,6,45,6,14,32,61,0,6,252,14,32,61,0,157,252,14,32,38,0,40,6,45,6,74,6,14,32,61,0,194,253,14,32,38,0,40,6,46,6,14,32,61,0,7,252,14,32,61,0,158,252,14,32,38,0,40,6,46,6,74,6,14,32,61,0,158,253,14,32,38,0,40,6,49,6,14,32,61,0,106,252,14,32,38,0,40,6,50,6,14,32,61,0,107,252,14,32,38,0,40,6,69,6,14,32,61,0,8,252,14,32,61,0,108,252,14,32,61,0,159,252,14,32,61,0,225,252,14,32,38,0,40,6,70,6,14,32,61,0,109,252,14,32,38,0,40,6,71,6,14,32,61,0,160,252,14,32,61,0,226,252,14,32,38,0,40,6,73,6,14,32,61,0,9,252,14,32,61,0,110,252,14,32,38,0,40,6,74,6,14,32,61,0,10,252,14,32,61,0,111,252,14,32,38,0,41,6,14,32,61,0,147,254,14,32,61,0,148,254,14,32,38,0,42,6,14,32,61,0,149,254,14,32,61,0,150,254,14,32,61,0,151,254,14,32,61,0,152,254,14,32,38,0,42,6,44,6,14,32,61,0,11,252,14,32,61,0,161,252,14,32,38,0,42,6,44,6,69,6,14,32,61,0,80,253,14,32,38,0,42,6,44,6,73,6,14,32,61,0,160,253,14,32,38,0,42,6,44,6,74,6,14,32,61,0,159,253,14,32,38,0,42,6,45,6,14,32,61,0,12,252,14,32,61,0,162,252,14,32,38,0,42,6,45,6,44,6,14,32,61,0,81,253,14,32,61,0,82,253,14,32,38,0,42,6,45,6,69,6,14,32,61,0,83,253,14,32,38,0,42,6,46,6,14,32,61,0,13,252,14,32,61,0,163,252,14,32,38,0,42,6,46,6,69,6,14,32,61,0,84,253,14,32,38,0,42,6,46,6,73,6,14,32,61,0,162,253,14,32,38,0,42,6,46,6,74,6,14,32,61,0,161,253,14,32,38,0,42,6,49,6,14,32,61,0,112,252,14,32,38,0,42,6,50,6,14,32,61,0,113,252,14,32,38,0,42,6,69,6,14,32,61,0,14,252,14,32,61,0,114,252,14,32,61,0,164,252,14,32,61,0,227,252,14,32,38,0,42,6,69,6,44,6,14,32,61,0,85,253,14,32,38,0,42,6,69,6,45,6,14,32,61,0,86,253,14,32,38,0,42,6,69,6,46,6,14,32,61,0,87,253,14,32,38,0,42,6,69,6,73,6,14,32,61,0,164,253,14,32,38,0,42,6,69,6,74,6,14,32,61,0,163,253,14,32,38,0,42,6,70,6,14,32,61,0,115,252,14,32,38,0,42,6,71,6,14,32,61,0,165,252,14,32,61,0,228,252,14,32,38,0,42,6,73,6,14,32,61,0,15,252,14,32,61,0,116,252,14,32,38,0,42,6,74,6,14,32,61,0,16,252,14,32,61,0,117,252,14,32,38,0,43,6,14,32,61,0,153,254,14,32,61,0,154,254,14,32,61,0,155,254,14,32,61,0,156,254,14,32,38,0,43,6,44,6,14,32,61,0,17,252,14,32,38,0,43,6,49,6,14,32,61,0,118,252,14,32,38,0,43,6,50,6,14,32,61,0,119,252,14,32,38,0,43,6,69,6,14,32,61,0,18,252,14,32,61,0,120,252,14,32,61,0,166,252,14,32,61,0,229,252,14,32,38,0,43,6,70,6,14,32,61,0,121,252,14,32,38,0,43,6,71,6,14,32,61,0,230,252,14,32,38,0,43,6,73,6,14,32,61,0,19,252,14,32,61,0,122,252,14,32,38,0,43,6,74,6,14,32,61,0,20,252,14,32,61,0,123,252,14,32,38,0,44,6,14,32,61,0,157,254,14,32,61,0,158,254,14,32,61,0,159,254,14,32,61,0,160,254,14,32,38,0,44,6,45,6,14,32,61,0,21,252,14,32,61,0,167,252,14,32,38,0,44,6,45,6,73,6,14,32,61,0,166,253,14,32,38,0,44,6,45,6,74,6,14,32,61,0,190,253,14,32,38,0,39,0,44,6,68,6,32,0,44,6,68,6,39,6,68,6,71,6,39,0,14,32,60,0,60,0,60,0,251,253,14,32,38,0,44,6,69,6,14,32,61,0,22,252,14,32,61,0,168,252,14,32,38,0,44,6,69,6,45,6,14,32,61,0,88,253,14,32,61,0,89,253,14,32,38,0,44,6,69,6,73,6,14,32,61,0,167,253,14,32,38,0,44,6,69,6,74,6,14,32,61,0,165,253,14,32,38,0,44,6,73,6,14,32,61,0,1,253,14,32,61,0,29,253,14,32,38,0,44,6,74,6,14,32,61,0,2,253,14,32,61,0,30,253,14,32,38,0,45,6,14,32,61,0,161,254,14,32,61,0,162,254,14,32,61,0,163,254,14,32,61,0,164,254,14,32,38,0,45,6,44,6,14,32,61,0,23,252,14,32,61,0,169,252,14,32,38,0,45,6,44,6,74,6,14,32,61,0,191,253,14,32,38,0,45,6,69,6,14,32,61,0,24,252,14,32,61,0,170,252,14,32,38,0,45,6,69,6,73,6,14,32,61,0,91,253,14,32,38,0,45,6,69,6,74,6,14,32,61,0,90,253,14,32,38,0,45,6,73,6,14,32,61,0,255,252,14,32,61,0,27,253,14,32,38,0,45,6,74,6,14,32,61,0,0,253,14,32,61,0,28,253,14,32,38,0,46,6,14,32,61,0,165,254,14,32,61,0,166,254,14,32,61,0,167,254,14,32,61,0,168,254,14,32,38,0,46,6,44,6,14,32,61,0,25,252,14,32,61,0,171,252,14,32,38,0,46,6,45,6,14,32,61,0,26,252,14,32,38,0,46,6,69,6,14,32,61,0,27,252,14,32,61,0,172,252,14,32,38,0,46,6,73,6,14,32,61,0,3,253,14,32,61,0,31,253,14,32,38,0,46,6,74,6,14,32,61,0,4,253,14,32,61,0,32,253,14,32,38,0,47,6,14,32,61,0,169,254,14,32,61,0,170,254,14,32,38,0,48,6,14,32,61,0,171,254,14,32,61,0,172,254,14,32,38,0,48,6,112,6,14,32,61,0,91,252,14,32,38,0,49,6,14,32,61,0,173,254,14,32,61,0,174,254,14,32,38,0,49,6,51,6,72,6,68,6,14,32,60,0,60,0,60,0,246,253,14,32,38,0,49,6,112,6,14,32,61,0,92,252,14,32,38,0,49,6,204,6,39,6,68,6,14,32,60,0,60,0,60,0,252,253,14,32,38,0,50,6,14,32,61,0,175,254,14,32,61,0,176,254,14,32,38,0,51,6,14,32,61,0,177,254,14,32,61,0,178,254,14,32,61,0,179,254,14,32,61,0,180,254,14,32,38,0,51,6,44,6,14,32,61,0,28,252,14,32,61,0,173,252,14,32,61,0,52,253,14,32,38,0,51,6,44,6,45,6,14,32,61,0,93,253,14,32,38,0,51,6,44,6,73,6,14,32,61,0,94,253,14,32,38,0,51,6,45,6,14,32,61,0,29,252,14,32,61,0,174,252,14,32,61,0,53,253,14,32,38,0,51,6,45,6,44,6,14,32,61,0,92,253,14,32,38,0,51,6,46,6,14,32,61,0,30,252,14,32,61,0,175,252,14,32,61,0,54,253,14,32,38,0,51,6,46,6,73,6,14,32,61,0,168,253,14,32,38,0,51,6,46,6,74,6,14,32,61,0,198,253,14,32,38,0,51,6,49,6,14,32,61,0,14,253,14,32,61,0,42,253,14,32,38,0,51,6,69,6,14,32,61,0,31,252,14,32,61,0,176,252,14,32,61,0,231,252,14,32,38,0,51,6,69,6,44,6,14,32,61,0,97,253,14,32,38,0,51,6,69,6,45,6,14,32,61,0,95,253,14,32,61,0,96,253,14,32,38,0,51,6,69,6,69,6,14,32,61,0,98,253,14,32,61,0,99,253,14,32,38,0,51,6,71,6,14,32,61,0,232,252,14,32,61,0,49,253,14,32,38,0,51,6,73,6,14,32,61,0,251,252,14,32,61,0,23,253,14,32,38,0,51,6,74,6,14,32,61,0,252,252,14,32,61,0,24,253,14,32,38,0,52,6,14,32,61,0,181,254,14,32,61,0,182,254,14,32,61,0,183,254,14,32,61,0,184,254,14,32,38,0,52,6,44,6,14,32,61,0,9,253,14,32,61,0,37,253,14,32,61,0,45,253,14,32,61,0,55,253,14,32,38,0,52,6,44,6,74,6,14,32,61,0,105,253,14,32,38,0,52,6,45,6,14,32,61,0,10,253,14,32,61,0,38,253,14,32,61,0,46,253,14,32,61,0,56,253,14,32,38,0,52,6,45,6,69,6,14,32,61,0,103,253,14,32,61,0,104,253,14,32,38,0,52,6,45,6,74,6,14,32,61,0,170,253,14,32,38,0,52,6,46,6,14,32,61,0,11,253,14,32,61,0,39,253,14,32,61,0,47,253,14,32,61,0,57,253,14,32,38,0,52,6,49,6,14,32,61,0,13,253,14,32,61,0,41,253,14,32,38,0,52,6,69,6,14,32,61,0,233,252,14,32,61,0,12,253,14,32,61,0,40,253,14,32,61,0,48,253,14,32,38,0,52,6,69,6,46,6,14,32,61,0,106,253,14,32,61,0,107,253,14,32,38,0,52,6,69,6,69,6,14,32,61,0,108,253,14,32,61,0,109,253,14,32,38,0,52,6,71,6,14,32,61,0,234,252,14,32,61,0,50,253,14,32,38,0,52,6,73,6,14,32,61,0,253,252,14,32,61,0,25,253,14,32,38,0,52,6,74,6,14,32,61,0,254,252,14,32,61,0,26,253,14,32,38,0,53,6,14,32,61,0,185,254,14,32,61,0,186,254,14,32,61,0,187,254,14,32,61,0,188,254,14,32,38,0,53,6,45,6,14,32,61,0,32,252,14,32,61,0,177,252,14,32,38,0,53,6,45,6,45,6,14,32,61,0,100,253,14,32,61,0,101,253,14,32,38,0,53,6,45,6,74,6,14,32,61,0,169,253,14,32,38,0,53,6,46,6,14,32,61,0,178,252,14,32,38,0,53,6,49,6,14,32,61,0,15,253,14,32,61,0,43,253,14,32,38,0,53,6,68,6,57,6,69,6,14,32,60,0,60,0,60,0,245,253,14,32,38,0,53,6,68,6,73,6,14,32,60,0,60,0,60,0,249,253,14,32,38,0,39,0,53,6,68,6,73,6,32,0,39,6,68,6,68,6,71,6,32,0,57,6,68,6,74,6,71,6,32,0,72,6,51,6,68,6,69,6,39,0,14,32,60,0,60,0,60,0,250,253,14,32,38,0,53,6,68,6,210,6,14,32,60,0,60,0,60,0,240,253,14,32,38,0,53,6,69,6,14,32,61,0,33,252,14,32,61,0,179,252,14,32,38,0,53,6,69,6,69,6,14,32,61,0,102,253,14,32,61,0,197,253,14,32,38,0,53,6,73,6,14,32,61,0,5,253,14,32,61,0,33,253,14,32,38,0,53,6,74,6,14,32,61,0,6,253,14,32,61,0,34,253,14,32,38,0,54,6,14,32,61,0,189,254,14,32,61,0,190,254,14,32,61,0,191,254,14,32,61,0,192,254,14,32,38,0,54,6,44,6,14,32,61,0,34,252,14,32,61,0,180,252,14,32,38,0,54,6,45,6,14,32,61,0,35,252,14,32,61,0,181,252,14,32,38,0,54,6,45,6,73,6,14,32,61,0,110,253,14,32,38,0,54,6,45,6,74,6,14,32,61,0,171,253,14,32,38,0,54,6,46,6,14,32,61,0,36,252,14,32,61,0,182,252,14,32,38,0,54,6,46,6,69,6,14,32,61,0,111,253,14,32,61,0,112,253,14,32,38,0,54,6,49,6,14,32,61,0,16,253,14,32,61,0,44,253,14,32,38,0,54,6,69,6,14,32,61,0,37,252,14,32,61,0,183,252,14,32,38,0,54,6,73,6,14,32,61,0,7,253,14,32,61,0,35,253,14,32,38,0,54,6,74,6,14,32,61,0,8,253,14,32,61,0,36,253,14,32,38,0,55,6,14,32,61,0,193,254,14,32,61,0,194,254,14,32,61,0,195,254,14,32,61,0,196,254,14,32,38,0,55,6,45,6,14,32,61,0,38,252,14,32,61,0,184,252,14,32,38,0,55,6,69,6,14,32,61,0,39,252,14,32,61,0,51,253,14,32,61,0,58,253,14,32,38,0,55,6,69,6,45,6,14,32,61,0,113,253,14,32,61,0,114,253,14,32,38,0,55,6,69,6,69,6,14,32,61,0,115,253,14,32,38,0,55,6,69,6,74,6,14,32,61,0,116,253,14,32,38,0,55,6,73,6,14,32,61,0,245,252,14,32,61,0,17,253,14,32,38,0,55,6,74,6,14,32,61,0,246,252,14,32,61,0,18,253,14,32,38,0,56,6,14,32,61,0,197,254,14,32,61,0,198,254,14,32,61,0,199,254,14,32,61,0,200,254,14,32,38,0,56,6,69,6,14,32,61,0,40,252,14,32,61,0,185,252,14,32,61,0,59,253,14,32,38,0,57,6,14,32,61,0,201,254,14,32,61,0,202,254,14,32,61,0,203,254,14,32,61,0,204,254,14,32,38,0,57,6,44,6,14,32,61,0,41,252,14,32,61,0,186,252,14,32,38,0,57,6,44,6,69,6,14,32,61,0,117,253,14,32,61,0,196,253,14,32,38,0,57,6,68,6,74,6,71,6,14,32,60,0,60,0,60,0,247,253,14,32,38,0,57,6,69,6,14,32,61,0,42,252,14,32,61,0,187,252,14,32,38,0,57,6,69,6,69,6,14,32,61,0,118,253,14,32,61,0,119,253,14,32,38,0,57,6,69,6,73,6,14,32,61,0,120,253,14,32,38,0,57,6,69,6,74,6,14,32,61,0,182,253,14,32,38,0,57,6,73,6,14,32,61,0,247,252,14,32,61,0,19,253,14,32,38,0,57,6,74,6,14,32,61,0,248,252,14,32,61,0,20,253,14,32,38,0,58,6,14,32,61,0,205,254,14,32,61,0,206,254,14,32,61,0,207,254,14,32,61,0,208,254,14,32,38,0,58,6,44,6,14,32,61,0,43,252,14,32,61,0,188,252,14,32,38,0,58,6,69,6,14,32,61,0,44,252,14,32,61,0,189,252,14,32,38,0,58,6,69,6,69,6,14,32,61,0,121,253,14,32,38,0,58,6,69,6,73,6,14,32,61,0,123,253,14,32,38,0,58,6,69,6,74,6,14,32,61,0,122,253,14,32,38,0,58,6,73,6,14,32,61,0,249,252,14,32,61,0,21,253,14,32,38,0,58,6,74,6,14,32,61,0,250,252,14,32,61,0,22,253,14,32,38,0,64,6,75,6,14,32,61,0,113,254,14,32,38,0,64,6,78,6,14,32,61,0,119,254,14,32,38,0,64,6,78,6,81,6,14,32,61,0,242,252,14,32,38,0,64,6,79,6,14,32,61,0,121,254,14,32,38,0,64,6,79,6,81,6,14,32,61,0,243,252,14,32,38,0,64,6,80,6,14,32,61,0,123,254,14,32,38,0,64,6,80,6,81,6,14,32,61,0,244,252,14,32,38,0,64,6,81,6,14,32,61,0,125,254,14,32,38,0,64,6,82,6,14,32,61,0,127,254,14,32,38,0,65,6,14,32,61,0,209,254,14,32,61,0,210,254,14,32,61,0,211,254,14,32,61,0,212,254,14,32,38,0,65,6,44,6,14,32,61,0,45,252,14,32,61,0,190,252,14,32,38,0,65,6,45,6,14,32,61,0,46,252,14,32,61,0,191,252,14,32,38,0,65,6,46,6,14,32,61,0,47,252,14,32,61,0,192,252,14,32,38,0,65,6,46,6,69,6,14,32,61,0,124,253,14,32,61,0,125,253,14,32,38,0,65,6,69,6,14,32,61,0,48,252,14,32,61,0,193,252,14,32,38,0,65,6,69,6,74,6,14,32,61,0,193,253,14,32,38,0,65,6,73,6,14,32,61,0,49,252,14,32,61,0,124,252,14,32,38,0,65,6,74,6,14,32,61,0,50,252,14,32,61,0,125,252,14,32,38,0,66,6,14,32,61,0,213,254,14,32,61,0,214,254,14,32,61,0,215,254,14,32,61,0,216,254,14,32,38,0,66,6,45,6,14,32,61,0,51,252,14,32,61,0,194,252,14,32,38,0,66,6,68,6,210,6,14,32,60,0,60,0,60,0,241,253,14,32,38,0,66,6,69,6,14,32,61,0,52,252,14,32,61,0,195,252,14,32,38,0,66,6,69,6,45,6,14,32,61,0,126,253,14,32,61,0,180,253,14,32,38,0,66,6,69,6,69,6,14,32,61,0,127,253,14,32,38,0,66,6,69,6,74,6,14,32,61,0,178,253,14,32,38,0,66,6,73,6,14,32,61,0,53,252,14,32,61,0,126,252,14,32,38,0,66,6,74,6,14,32,61,0,54,252,14,32,61,0,127,252,14,32,38,0,67,6,14,32,61,0,217,254,14,32,61,0,218,254,14,32,61,0,219,254,14,32,61,0,220,254,14,32,38,0,67,6,39,6,14,32,61,0,55,252,14,32,61,0,128,252,14,32,38,0,67,6,44,6,14,32,61,0,56,252,14,32,61,0,196,252,14,32,38,0,67,6,45,6,14,32,61,0,57,252,14,32,61,0,197,252,14,32,38,0,67,6,46,6,14,32,61,0,58,252,14,32,61,0,198,252,14,32,38,0,67,6,68,6,14,32,61,0,59,252,14,32,61,0,129,252,14,32,61,0,199,252,14,32,61,0,235,252,14,32,38,0,67,6,69,6,14,32,61,0,60,252,14,32,61,0,130,252,14,32,61,0,200,252,14,32,61,0,236,252,14,32,38,0,67,6,69,6,69,6,14,32,61,0,187,253,14,32,61,0,195,253,14,32,38,0,67,6,69,6,74,6,14,32,61,0,183,253,14,32,38,0,67,6,73,6,14,32,61,0,61,252,14,32,61,0,131,252,14,32,38,0,67,6,74,6,14,32,61,0,62,252,14,32,61,0,132,252,14,32,38,0,68,6,14,32,61,0,221,254,14,32,61,0,222,254,14,32,61,0,223,254,14,32,61,0,224,254,14,32,38,0,68,6,39,6,14,32,61,0,251,254,14,32,61,0,252,254,14,32,38,0,68,6,34,6,14,32,61,0,245,254,14,32,61,0,246,254,14,32,38,0,68,6,35,6,14,32,61,0,247,254,14,32,61,0,248,254,14,32,38,0,68,6,37,6,14,32,61,0,249,254,14,32,61,0,250,254,14,32,38,0,68,6,44,6,14,32,61,0,63,252,14,32,61,0,201,252,14,32,38,0,68,6,44,6,44,6,14,32,61,0,131,253,14,32,61,0,132,253,14,32,38,0,68,6,44,6,69,6,14,32,61,0,186,253,14,32,61,0,188,253,14,32,38,0,68,6,44,6,74,6,14,32,61,0,172,253,14,32,38,0,68,6,45,6,14,32,61,0,64,252,14,32,61,0,202,252,14,32,38,0,68,6,45,6,69,6,14,32,61,0,128,253,14,32,61,0,181,253,14,32,38,0,68,6,45,6,73,6,14,32,61,0,130,253,14,32,38,0,68,6,45,6,74,6,14,32,61,0,129,253,14,32,38,0,68,6,46,6,14,32,61,0,65,252,14,32,61,0,203,252,14,32,38,0,68,6,46,6,69,6,14,32,61,0,133,253,14,32,61,0,134,253,14,32,38,0,68,6,69,6,14,32,61,0,66,252,14,32,61,0,133,252,14,32,61,0,204,252,14,32,61,0,237,252,14,32,38,0,68,6,69,6,45,6,14,32,61,0,135,253,14,32,61,0,136,253,14,32,38,0,68,6,69,6,74,6,14,32,61,0,173,253,14,32,38,0,68,6,71,6,14,32,61,0,205,252,14,32,38,0,68,6,73,6,14,32,61,0,67,252,14,32,61,0,134,252,14,32,38,0,68,6,74,6,14,32,61,0,68,252,14,32,61,0,135,252,14,32,38,0,69,6,14,32,61,0,225,254,14,32,61,0,226,254,14,32,61,0,227,254,14,32,61,0,228,254,14,32,38,0,69,6,39,6,14,32,61,0,136,252,14,32,38,0,69,6,44,6,14,32,61,0,69,252,14,32,61,0,206,252,14,32,38,0,69,6,44,6,45,6,14,32,61,0,140,253,14,32,38,0,69,6,44,6,46,6,14,32,61,0,146,253,14,32,38,0,69,6,44,6,69,6,14,32,61,0,141,253,14,32,38,0,69,6,44,6,74,6,14,32,61,0,192,253,14,32,38,0,69,6,45,6,14,32,61,0,70,252,14,32,61,0,207,252,14,32,38,0,69,6,45,6,44,6,14,32,61,0,137,253,14,32,38,0,69,6,45,6,69,6,14,32,61,0,138,253,14,32,38,0,69,6,45,6,69,6,47,6,14,32,60,0,60,0,60,0,244,253,14,32,38,0,69,6,45,6,74,6,14,32,61,0,139,253,14,32,38,0,69,6,46,6,14,32,61,0,71,252,14,32,61,0,208,252,14,32,38,0,69,6,46,6,44,6,14,32,61,0,142,253,14,32,38,0,69,6,46,6,69,6,14,32,61,0,143,253,14,32,38,0,69,6,46,6,74,6,14,32,61,0,185,253,14,32,38,0,69,6,69,6,14,32,61,0,72,252,14,32,61,0,137,252,14,32,61,0,209,252,14,32,38,0,69,6,69,6,74,6,14,32,61,0,177,253,14,32,38,0,69,6,73,6,14,32,61,0,73,252,14,32,38,0,69,6,74,6,14,32,61,0,74,252,14,32,38,0,70,6,14,32,61,0,229,254,14,32,61,0,230,254,14,32,61,0,231,254,14,32,61,0,232,254,14,32,38,0,70,6,44,6,14,32,61,0,75,252,14,32,61,0,210,252,14,32,38,0,70,6,44,6,45,6,14,32,61,0,184,253,14,32,61,0,189,253,14,32,38,0,70,6,44,6,69,6,14,32,61,0,151,253,14,32,61,0,152,253,14,32,38,0,70,6,44,6,73,6,14,32,61,0,153,253,14,32,38,0,70,6,44,6,74,6,14,32,61,0,199,253,14,32,38,0,70,6,45,6,14,32,61,0,76,252,14,32,61,0,211,252,14,32,38,0,70,6,45,6,69,6,14,32,61,0,149,253,14,32,38,0,70,6,45,6,73,6,14,32,61,0,150,253,14,32,38,0,70,6,45,6,74,6,14,32,61,0,179,253,14,32,38,0,70,6,46,6,14,32,61,0,77,252,14,32,61,0,212,252,14,32,38,0,70,6,49,6,14,32,61,0,138,252,14,32,38,0,70,6,50,6,14,32,61,0,139,252,14,32,38,0,70,6,69,6,14,32,61,0,78,252,14,32,61,0,140,252,14,32,61,0,213,252,14,32,61,0,238,252,14,32,38,0,70,6,69,6,73,6,14,32,61,0,155,253,14,32,38,0,70,6,69,6,74,6,14,32,61,0,154,253,14,32,38,0,70,6,70,6,14,32,61,0,141,252,14,32,38,0,70,6,71,6,14,32,61,0,214,252,14,32,61,0,239,252,14,32,38,0,70,6,73,6,14,32,61,0,79,252,14,32,61,0,142,252,14,32,38,0,70,6,74,6,14,32,61,0,80,252,14,32,61,0,143,252,14,32,38,0,71,6,14,32,61,0,233,254,14,32,61,0,234,254,14,32,61,0,235,254,14,32,61,0,236,254,14,32,38,0,71,6,44,6,14,32,61,0,81,252,14,32,61,0,215,252,14,32,38,0,71,6,69,6,14,32,61,0,82,252,14,32,61,0,216,252,14,32,38,0,71,6,69,6,44,6,14,32,61,0,147,253,14,32,38,0,71,6,69,6,69,6,14,32,61,0,148,253,14,32,38,0,71,6,73,6,14,32,61,0,83,252,14,32,38,0,71,6,74,6,14,32,61,0,84,252,14,32,38,0,71,6,112,6,14,32,61,0,217,252,14,32,38,0,72,6,14,32,61,0,237,254,14,32,61,0,238,254,14,32,38,0,72,6,51,6,68,6,69,6,14,32,60,0,60,0,60,0,248,253,14,32,38,0,36,6,14,32,61,0,133,254,14,32,61,0,134,254,14,32,38,0,73,6,14,32,61,0,232,251,14,32,61,0,233,251,14,32,61,0,239,254,14,32,61,0,240,254,14,32,38,0,73,6,112,6,14,32,61,0,93,252,14,32,61,0,144,252,14,32,38,0,74,6,14,32,61,0,241,254,14,32,61,0,242,254,14,32,61,0,243,254,14,32,61,0,244,254,14,32,38,0,74,6,44,6,14,32,61,0,85,252,14,32,61,0,218,252,14,32,38,0,74,6,44,6,74,6,14,32,61,0,175,253,14,32,38,0,74,6,45,6,14,32,61,0,86,252,14,32,61,0,219,252,14,32,38,0,74,6,45,6,74,6,14,32,61,0,174,253,14,32,38,0,74,6,46,6,14,32,61,0,87,252,14,32,61,0,220,252,14,32,38,0,74,6,49,6,14,32,61,0,145,252,14,32,38,0,74,6,50,6,14,32,61,0,146,252,14,32,38,0,74,6,69,6,14,32,61,0,88,252,14,32,61,0,147,252,14,32,61,0,221,252,14,32,61,0,240,252,14,32,38,0,74,6,69,6,69,6,14,32,61,0,156,253,14,32,61,0,157,253,14,32,38,0,74,6,69,6,74,6,14,32,61,0,176,253,14,32,38,0,74,6,70,6,14,32,61,0,148,252,14,32,38,0,74,6,71,6,14,32,61,0,222,252,14,32,61,0,241,252,14,32,38,0,74,6,73,6,14,32,61,0,89,252,14,32,61,0,149,252,14,32,38,0,74,6,74,6,14,32,61,0,90,252,14,32,61,0,150,252,14,32,38,0,38,6,14,32,61,0,137,254,14,32,61,0,138,254,14,32,61,0,139,254,14,32,61,0,140,254,14,32,38,0,38,6,39,6,14,32,61,0,234,251,14,32,61,0,235,251,14,32,38,0,38,6,44,6,14,32,61,0,0,252,14,32,61,0,151,252,14,32,38,0,38,6,45,6,14,32,61,0,1,252,14,32,61,0,152,252,14,32,38,0,38,6,46,6,14,32,61,0,153,252,14,32,38,0,38,6,49,6,14,32,61,0,100,252,14,32,38,0,38,6,50,6,14,32,61,0,101,252,14,32,38,0,38,6,69,6,14,32,61,0,2,252,14,32,61,0,102,252,14,32,61,0,154,252,14,32,61,0,223,252,14,32,38,0,38,6,70,6,14,32,61,0,103,252,14,32,38,0,38,6,71,6,14,32,61,0,155,252,14,32,61,0,224,252,14,32,38,0,38,6,72,6,14,32,61,0,238,251,14,32,61,0,239,251,14,32,38,0,38,6,73,6,14,32,61,0,249,251,14,32,61,0,250,251,14,32,61,0,251,251,14,32,61,0,3,252,14,32,61,0,104,252,14,32,38,0,38,6,74,6,14,32,61,0,4,252,14,32,61,0,105,252,14,32,38,0,38,6,198,6,14,32,61,0,242,251,14,32,61,0,243,251,14,32,38,0,38,6,199,6,14,32,61,0,240,251,14,32,61,0,241,251,14,32,38,0,38,6,200,6,14,32,61,0,244,251,14,32,61,0,245,251,14,32,38,0,38,6,208,6,14,32,61,0,246,251,14,32,61,0,247,251,14,32,61,0,248,251,14,32,38,0,38,6,213,6,14,32,61,0,236,251,14,32,61,0,237,251,14,32,38,0,75,6,14,32,61,0,112,254,14,32,38,0,76,6,14,32,61,0,114,254,14,32,38,0,76,6,81,6,14,32,61,0,94,252,14,32,38,0,77,6,14,32,61,0,116,254,14,32,38,0,77,6,81,6,14,32,61,0,95,252,14,32,38,0,78,6,14,32,61,0,118,254,14,32,38,0,78,6,81,6,14,32,61,0,96,252,14,32,38,0,79,6,14,32,61,0,120,254,14,32,38,0,79,6,81,6,14,32,61,0,97,252,14,32,38,0,80,6,14,32,61,0,122,254,14,32,38,0,80,6,81,6,14,32,61,0,98,252,14,32,38,0,81,6,14,32,61,0,124,254,14,32,38,0,81,6,112,6,14,32,61,0,99,252,14,32,38,0,82,6,14,32,61,0,126,254,14,32,38,0,113,6,14,32,61,0,80,251,14,32,61,0,81,251,14,32,38,0,121,6,14,32,61,0,102,251,14,32,61,0,103,251,14,32,61,0,104,251,14,32,61,0,105,251,14,32,38,0,122,6,14,32,61,0,94,251,14,32,61,0,95,251,14,32,61,0,96,251,14,32,61,0,97,251,14,32,38,0,123,6,14,32,61,0,82,251,14,32,61,0,83,251,14,32,61,0,84,251,14,32,61,0,85,251,14,32,38,0,126,6,14,32,61,0,86,251,14,32,61,0,87,251,14,32,61,0,88,251,14,32,61,0,89,251,14,32,38,0,127,6,14,32,61,0,98,251,14,32,61,0,99,251,14,32,61,0,100,251,14,32,61,0,101,251,14,32,38,0,128,6,14,32,61,0,90,251,14,32,61,0,91,251,14,32,61,0,92,251,14,32,61,0,93,251,14,32,38,0,131,6,14,32,61,0,118,251,14,32,61,0,119,251,14,32,61,0,120,251,14,32,61,0,121,251,14,32,38,0,132,6,14,32,61,0,114,251,14,32,61,0,115,251,14,32,61,0,116,251,14,32,61,0,117,251,14,32,38,0,134,6,14,32,61,0,122,251,14,32,61,0,123,251,14,32,61,0,124,251,14,32,61,0,125,251,14,32,38,0,135,6,14,32,61,0,126,251,14,32,61,0,127,251,14,32,61,0,128,251,14,32,61,0,129,251,14,32,38,0,136,6,14,32,61,0,136,251,14,32,61,0,137,251,14,32,38,0,140,6,14,32,61,0,132,251,14,32,61,0,133,251,14,32,38,0,141,6,14,32,61,0,130,251,14,32,61,0,131,251,14,32,38,0,142,6,14,32,61,0,134,251,14,32,61,0,135,251,14,32,38,0,145,6,14,32,61,0,140,251,14,32,61,0,141,251,14,32,38,0,152,6,14,32,61,0,138,251,14,32,61,0,139,251,14,32,38,0,164,6,14,32,61,0,106,251,14,32,61,0,107,251,14,32,61,0,108,251,14,32,61,0,109,251,14,32,38,0,166,6,14,32,61,0,110,251,14,32,61,0,111,251,14,32,61,0,112,251,14,32,61,0,113,251,14,32,38,0,169,6,14,32,61,0,142,251,14,32,61,0,143,251,14,32,61,0,144,251,14,32,61,0,145,251,14,32,38,0,173,6,14,32,61,0,211,251,14,32,61,0,212,251,14,32,61,0,213,251,14,32,61,0,214,251,14,32,38,0,175,6,14,32,61,0,146,251,14,32,61,0,147,251,14,32,61,0,148,251,14,32,61,0,149,251,14,32,38,0,177,6,14,32,61,0,154,251,14,32,61,0,155,251,14,32,61,0,156,251,14,32,61,0,157,251,14,32,38,0,179,6,14,32,61,0,150,251,14,32,61,0,151,251,14,32,61,0,152,251,14,32,61,0,153,251,14,32,38,0,186,6,14,32,61,0,158,251,14,32,61,0,159,251,14,32,38,0,187,6,14,32,61,0,160,251,14,32,61,0,161,251,14,32,61,0,162,251,14,32,61,0,163,251,14,32,38,0,190,6,14,32,61,0,170,251,14,32,61,0,171,251,14,32,61,0,172,251,14,32,61,0,173,251,14,32,38,0,193,6,14,32,61,0,166,251,14,32,61,0,167,251,14,32,61,0,168,251,14,32,61,0,169,251,14,32,38,0,197,6,14,32,61,0,224,251,14,32,61,0,225,251,14,32,38,0,198,6,14,32,61,0,217,251,14,32,61,0,218,251,14,32,38,0,199,6,14,32,61,0,215,251,14,32,61,0,216,251,14,32,38,0,199,6,116,6,14,32,61,0,221,251,14,32,38,0,200,6,14,32,61,0,219,251,14,32,61,0,220,251,14,32,38,0,201,6,14,32,61,0,226,251,14,32,61,0,227,251,14,32,38,0,203,6,14,32,61,0,222,251,14,32,61,0,223,251,14,32,38,0,204,6,14,32,61,0,252,251,14,32,61,0,253,251,14,32,61,0,254,251,14,32,61,0,255,251,14,32,38,0,208,6,14,32,61,0,228,251,14,32,61,0,229,251,14,32,61,0,230,251,14,32,61,0,231,251,14,32,38,0,210,6,14,32,61,0,174,251,14,32,61,0,175,251,14,32,38,0,211,6,14,32,61,0,176,251,14,32,61,0,177,251,14,32,38,0,192,6,14,32,61,0,164,251,14,32,61,0,165,251,0,0,170,170,170,170,170,170,170,170,170,170,170,170,84,28,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,56,0,0,0,56,1,0,0,248,27,0,0,248,27,0,0,248,27,0,0,248,27,0,0,60,28,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,163,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,118,0,48,0,48,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,124,0,48,0,48,0,127,0,48,0,135,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,140,0,48,0,48,0,146,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,42,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,70,238,102,7,70,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,11,70,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,10,70,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,42,102,6,70,42,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,70,238,102,8,70,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,67,0,50,0,59,0,51,8,0,16,4,0,0,96,1,0,0,96,170,170,170,170,84,53,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,144,40,0,0,144,40,0,0,56,42,0,0,56,42,0,0,248,52,0,0,248,52,0,0,60,53,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,108,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,48,0,56,0,107,0,115,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,138,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,131,0,48,0,48,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,146,0,154,0,162,0,170,0,175,0,183,0,191,0,199,0,207,0,215,0,223,0,231,0,239,0,247,0,255,0,7,1,15,1,23,1,31,1,39,1,47,1,51,1,48,0,48,0,48,0,59,1,67,1,75,1,83,1,91,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,192,0,172,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,84,0,202,225,84,0,202,2,85,0,202,35,85,0,202,68,85,0,202,101,85,0,202,134,85,0,202,167,85,0,202,200,85,0,202,233,85,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,2,84,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,66,84,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,130,84,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,5,70,6,102,5,71,6,102,5,72,6,102,5,73,6,102,201,6,0,0,192,0,0,0,5,2,42,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,1,0,201,134,2,0,201,102,3,0,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,198,129,0,0,198,161,0,0,198,193,0,0,198,225,0,0,198,1,1,0,192,0,0,0,192,0,0,0,198,33,1,0,198,65,1,0,198,97,1,0,198,129,1,0,198,161,1,0,198,193,1,0,198,225,1,0,198,1,2,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,191,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,2,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,2,0,192,0,0,0,198,129,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,2,0,198,193,2,0,198,225,2,0,198,1,3,0,198,33,3,0,198,65,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,3,0,198,129,3,0,198,161,3,0,192,0,0,0,198,193,3,0,198,225,3,0,198,1,4,0,198,33,4,0,198,65,4,0,198,97,4,0,190,0,0,0,198,129,4,0,198,161,4,0,198,193,4,0,198,225,4,0,198,1,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,102,5,5,14,102,5,5,32,102,5,5,32,102,5,5,32,102,5,5,32,102,5,5,34,102,5,5,34,102,5,5,34,102,5,5,34,102,5,5,36,102,5,5,36,102,5,5,36,102,5,5,36,102,5,5,48,102,5,5,48,102,5,5,48,102,5,5,48,102,5,5,54,102,5,5,54,102,5,5,54,102,5,5,54,102,5,5,46,102,5,5,46,102,5,5,46,102,5,5,46,102,193,30,176,102,193,30,176,102,193,30,176,102,193,30,176,102,193,51,176,102,193,51,176,102,193,51,176,102,193,51,176,102,5,5,62,102,5,5,62,102,5,5,62,102,5,5,62,102,5,5,60,102,5,5,60,102,5,5,60,102,5,5,60,102,5,5,64,102,5,5,64,102,5,5,64,102,5,5,64,102,5,5,68,102,5,5,68,102,5,5,68,102,5,5,68,102,5,5,98,102,5,5,98,102,5,5,96,102,5,5,96,102,5,5,102,102,5,5,102,102,5,5,88,102,5,5,88,102,5,5,128,102,5,5,128,102,5,5,114,102,5,5,114,102,5,5,184,102,5,5,184,102,5,5,184,102,5,5,184,102,5,5,192,102,5,5,192,102,5,5,192,102,5,5,192,102,193,30,194,102,193,30,194,102,193,30,194,102,193,30,194,102,193,16,194,102,193,16,194,102,193,16,194,102,193,16,194,102,5,5,206,102,5,5,206,102,193,9,208,102,193,9,208,102,193,9,208,102,193,9,208,102,197,98,0,0,197,98,0,0,5,5,218,102,5,5,218,102,5,5,218,102,5,5,218,102,5,5,216,102,5,5,216,102,5,5,216,102,5,5,216,102,5,5,250,102,5,5,250,102,197,162,0,0,197,162,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,16,190,102,193,16,190,102,193,16,190,102,193,16,190,102,5,5,228,102,5,5,228,102,193,9,226,102,193,9,226,102,5,5,230,102,5,5,230,102,197,226,0,0,193,9,234,102,193,9,234,102,193,2,226,102,193,2,226,102,5,5,232,102,5,5,232,102,5,5,246,102,5,5,246,102,5,5,246,102,5,5,246,102,5,3,238,102,5,3,238,102,197,34,1,0,197,34,1,0,197,98,1,0,197,98,1,0,197,162,1,0,197,162,1,0,197,226,1,0,197,226,1,0,197,34,2,0,197,34,2,0,197,98,2,0,197,98,2,0,197,162,2,0,197,162,2,0,197,162,2,0,197,226,2,0,197,226,2,0,197,226,2,0,5,2,238,102,5,2,238,102,5,2,238,102,5,2,238,102,197,34,3,0,197,98,3,0,197,162,3,0,197,226,2,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,197,98,7,0,197,162,7,0,197,226,7,0,197,34,8,0,197,98,8,0,197,66,8,0,197,162,8,0,197,226,8,0,197,34,9,0,197,98,9,0,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,197,226,14,0,197,34,15,0,197,98,15,0,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,197,98,17,0,197,162,17,0,197,226,17,0,197,34,18,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,197,130,8,0,197,194,8,0,197,34,20,0,197,98,20,0,197,162,20,0,197,226,20,0,197,34,21,0,197,98,21,0,197,162,21,0,197,226,21,0,197,34,22,0,197,98,22,0,197,162,22,0,197,226,22,0,197,34,23,0,197,2,8,0,197,98,23,0,197,162,23,0,197,194,19,0,197,226,23,0,197,66,23,0,197,34,24,0,197,98,24,0,197,162,24,0,198,34,5,0,198,98,5,0,198,162,5,0,198,226,5,0,198,162,0,0,198,34,6,0,197,226,24,0,197,34,25,0,197,162,3,0,197,98,25,0,197,226,2,0,197,226,3,0,197,162,25,0,197,226,25,0,197,226,4,0,197,34,26,0,197,34,5,0,197,98,5,0,197,98,26,0,197,162,26,0,197,98,6,0,197,226,26,0,197,162,6,0,197,226,6,0,197,34,27,0,197,98,27,0,197,98,7,0,197,162,27,0,197,162,7,0,197,226,7,0,197,226,14,0,197,34,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,98,17,0,197,162,17,0,197,226,17,0,197,34,18,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,27,0,197,34,20,0,197,34,28,0,197,98,28,0,197,162,21,0,197,162,28,0,197,226,21,0,197,34,22,0,197,162,24,0,197,226,28,0,197,34,29,0,197,194,19,0,197,194,20,0,197,226,23,0,197,66,23,0,197,34,3,0,197,98,3,0,197,98,29,0,197,162,3,0,197,162,29,0,197,34,4,0,197,98,4,0,197,162,4,0,197,226,4,0,197,226,29,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,34,30,0,197,98,7,0,197,34,8,0,197,98,8,0,197,66,8,0,197,162,8,0,197,226,8,0,197,98,9,0,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,98,30,0,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,197,98,15,0,197,162,15,0,197,162,16,0,197,226,16,0,197,34,17,0,197,98,17,0,197,162,17,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,197,162,30,0,197,226,19,0,197,130,8,0,197,194,8,0,197,34,20,0,197,226,20,0,197,34,21,0,197,98,21,0,197,162,21,0,197,226,30,0,197,98,22,0,197,162,22,0,197,34,31,0,197,2,8,0,197,98,23,0,197,162,23,0,197,194,19,0,197,66,22,0,197,162,3,0,197,162,29,0,197,226,4,0,197,226,29,0,197,98,6,0,197,34,30,0,197,98,7,0,197,98,31,0,197,98,10,0,197,162,31,0,197,226,31,0,197,34,32,0,197,98,17,0,197,162,17,0,197,34,19,0,197,162,21,0,197,226,30,0,197,194,19,0,197,66,22,0,198,162,5,0,198,226,5,0,198,162,0,0,197,98,32,0,197,162,32,0,197,226,32,0,197,34,33,0,197,98,33,0,197,162,33,0,197,226,33,0,197,34,34,0,197,98,34,0,197,162,34,0,197,226,34,0,197,130,23,0,197,34,35,0,197,98,35,0,197,162,35,0,197,194,23,0,197,226,35,0,197,34,36,0,197,98,36,0,197,162,36,0,197,226,36,0,197,34,37,0,197,98,37,0,197,226,31,0,197,162,37,0,197,226,37,0,197,34,38,0,197,98,38,0,197,98,32,0,197,162,32,0,197,226,32,0,197,34,33,0,197,98,33,0,197,162,33,0,197,226,33,0,197,34,34,0,197,98,34,0,197,162,34,0,197,226,34,0,197,130,23,0,197,34,35,0,197,98,35,0,197,162,35,0,197,194,23,0,197,226,35,0,197,34,36,0,197,98,36,0,197,162,36,0,197,226,36,0,197,34,37,0,197,98,37,0,197,226,31,0,197,162,37,0,197,226,37,0,197,34,38,0,197,98,38,0,197,226,36,0,197,34,37,0,197,98,37,0,197,226,31,0,197,162,31,0,197,34,32,0,197,98,12,0,197,162,9,0,197,226,9,0,197,34,10,0,197,226,36,0,197,34,37,0,197,98,37,0,197,98,12,0,197,162,12,0,198,98,6,0,198,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,38,0,197,3,39,0,197,3,39,0,197,99,39,0,197,195,39,0,197,35,40,0,197,131,40,0,197,227,40,0,197,99,8,0,197,99,8,0,197,67,41,0,197,163,41,0,197,3,42,0,197,99,42,0,197,195,42,0,197,35,43,0,197,35,43,0,197,131,43,0,197,227,43,0,197,227,43,0,197,67,44,0,197,67,44,0,197,163,44,0,197,3,45,0,197,3,45,0,197,99,45,0,197,195,45,0,197,195,45,0,197,35,46,0,197,35,46,0,197,131,46,0,197,227,46,0,197,227,46,0,197,67,47,0,197,67,47,0,197,163,47,0,197,3,48,0,197,99,48,0,197,195,48,0,197,195,48,0,197,35,49,0,197,131,49,0,197,227,49,0,197,67,50,0,197,163,50,0,197,163,50,0,197,3,51,0,197,99,51,0,197,195,51,0,197,35,52,0,197,131,52,0,197,227,52,0,197,227,52,0,197,67,53,0,197,67,53,0,197,163,53,0,197,163,53,0,197,3,54,0,197,131,8,0,197,99,54,0,197,195,54,0,197,227,19,0,197,195,8,0,197,35,55,0,192,0,0,0,192,0,0,0,197,131,55,0,197,227,55,0,197,67,56,0,197,163,56,0,197,3,57,0,197,99,57,0,197,99,57,0,197,195,57,0,197,35,58,0,197,131,58,0,197,227,58,0,197,227,58,0,197,67,59,0,197,163,59,0,197,3,60,0,197,99,60,0,197,195,60,0,197,35,61,0,197,131,61,0,197,227,61,0,197,67,62,0,197,163,62,0,197,3,63,0,197,99,63,0,197,195,63,0,197,35,64,0,197,131,64,0,197,227,64,0,197,99,23,0,197,67,65,0,197,163,65,0,197,3,66,0,197,99,66,0,197,195,66,0,197,3,51,0,197,195,51,0,197,35,67,0,197,131,67,0,197,227,67,0,197,67,68,0,197,163,68,0,197,3,69,0,197,163,68,0,197,227,67,0,197,99,69,0,197,195,69,0,197,35,70,0,197,131,70,0,197,227,70,0,197,3,69,0,197,99,48,0,197,163,44,0,197,67,71,0,197,163,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,72,0,197,99,72,0,197,196,72,0,197,68,73,0,197,196,73,0,197,68,74,0,197,196,74,0,197,68,75,0,197,196,75,0,197,67,76,0,197,178,76,0,197,232,78,0,197,228,79,0,197,118,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,198,1,0,0,198,33,0,0,192,0,0,0,198,65,0,0,192,0,0,0,198,97,0,0,198,97,0,0,198,129,0,0,198,129,0,0,198,161,0,0,198,161,0,0,198,193,0,0,198,193,0,0,198,225,0,0,198,225,0,0,5,5,6,102,197,34,0,0,197,34,0,0,5,70,6,102,5,70,6,102,5,71,6,102,5,71,6,102,5,72,6,102,5,72,6,102,5,73,6,102,5,73,6,102,5,73,6,102,5,73,6,102,5,75,6,102,5,75,6,102,5,5,30,102,5,5,30,102,5,5,30,102,5,5,30,102,5,2,42,102,5,2,42,102,5,5,42,102,5,5,42,102,5,5,42,102,5,5,42,102,5,5,44,102,5,5,44,102,5,5,44,102,5,5,44,102,5,5,58,102,5,5,58,102,5,5,58,102,5,5,58,102,5,5,72,102,5,5,72,102,5,5,72,102,5,5,72,102,5,5,74,102,5,5,74,102,5,5,74,102,5,5,74,102,5,5,84,102,5,5,84,102,5,5,86,102,5,5,86,102,5,5,110,102,5,5,110,102,5,5,112,102,5,5,112,102,5,5,134,102,5,5,134,102,5,5,134,102,5,5,134,102,5,5,136,102,5,5,136,102,5,5,136,102,5,5,136,102,5,5,146,102,5,5,146,102,5,5,146,102,5,5,146,102,5,5,148,102,5,5,148,102,5,5,148,102,5,5,148,102,5,5,158,102,5,5,158,102,5,5,158,102,5,5,158,102,5,5,160,102,5,5,160,102,5,5,160,102,5,5,160,102,5,5,166,102,5,5,166,102,5,5,166,102,5,5,166,102,5,5,168,102,5,5,168,102,5,5,168,102,5,5,168,102,5,5,174,102,5,5,174,102,5,5,174,102,5,5,174,102,5,5,178,102,5,5,178,102,5,5,178,102,5,5,178,102,5,5,182,102,5,5,182,102,5,5,182,102,5,5,182,102,5,5,196,102,5,5,196,102,5,5,196,102,5,5,196,102,5,5,200,102,5,5,200,102,5,5,200,102,5,5,200,102,5,5,204,102,5,5,204,102,5,5,204,102,5,5,204,102,5,5,214,102,5,5,214,102,5,5,214,102,5,5,214,102,5,5,222,102,5,5,222,102,5,3,238,102,5,3,238,102,5,5,238,102,5,5,238,102,5,5,238,102,5,5,238,102,197,35,83,0,197,35,83,0,197,130,83,0,197,130,83,0,197,194,83,0,197,194,83,0,197,98,79,0,197,98,79,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,3,189,0,0,0,0,0,0,6,189,0,0,0,0,0,0,9,189,0,0,0,0,0,0,12,189,0,0,0,0,0,0,16,189,0,0,0,0,0,0,19,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,23,189,0,0,0,0,0,0,24,189,0,0,0,0,0,0,28,189,0,0,0,0,0,0,29,189,0,0,0,0,0,0,30,189,0,0,0,0,0,0,32,189,0,0,0,0,0,0,33,189,0,0,0,0,0,0,34,189,0,0,0,0,0,0,35,189,0,0,0,0,0,0,36,189,0,0,0,0,0,0,37,189,0,0,0,0,0,0,27,189,0,0,0,0,0,0,25,189,0,0,0,0,0,0,26,189,0,0,0,0,0,0,13,189,0,0,0,0,0,0,17,189,0,0,0,0,0,0,20,189,0,0,0,0,0,0,5,189,0,0,0,0,0,0,8,189,0,0,0,0,0,0,11,189,0,0,0,0,0,0,4,189,0,0,0,0,0,0,7,189,0,0,0,0,0,0,10,189,0,0,0,0,0,0,14,189,0,0,0,0,0,0,15,189,0,0,0,0,0,0,21,189,0,0,0,0,0,0,38,189,0,0,0,0,0,0,39,189,0,0,0,0,0,0,43,189,0,0,0,0,0,0,41,189,0,0,0,0,0,0,42,189,0,0,0,0,0,0,40,189,0,0,0,0,0,0,18,189,0,0,0,0,0,0,31,189,0,0,0,0,0,0,6,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,9,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,12,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,16,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,5,0,75,0,0,6,102,3,189,0,0,0,0,0,0,0,0,0,0,5,5,6,102,5,76,6,102,193,16,220,102,194,5,128,232,5,5,250,102,194,5,128,232,5,5,228,102,32,5,6,102,5,73,6,102,5,75,6,102,5,73,6,102,193,16,220,102,5,73,6,102,5,5,222,102,5,73,6,102,5,5,228,102,5,73,6,102,193,9,226,102,5,73,6,102,5,5,230,102,5,73,6,102,5,5,246,102,5,73,6,102,5,3,238,102,5,73,6,102,5,5,58,102,5,73,6,102,5,5,72,102,5,73,6,102,5,5,200,102,5,73,6,102,5,5,238,102,5,5,30,102,5,5,58,102,5,5,30,102,5,5,72,102,5,5,30,102,5,5,74,102,5,5,30,102,5,5,200,102,5,5,30,102,5,3,238,102,5,5,30,102,5,5,238,102,5,5,42,102,5,5,58,102,5,5,42,102,5,5,72,102,5,5,42,102,5,5,74,102,5,5,42,102,5,5,200,102,5,5,42,102,5,3,238,102,5,5,42,102,5,5,238,102,5,5,44,102,5,5,58,102,5,5,44,102,5,5,200,102,5,5,44,102,5,3,238,102,5,5,44,102,5,5,238,102,5,5,58,102,5,5,72,102,5,5,58,102,5,5,200,102,5,5,72,102,5,5,200,102,5,5,74,102,5,5,58,102,5,5,74,102,5,5,72,102,5,5,74,102,5,5,200,102,5,5,134,102,5,5,58,102,5,5,134,102,5,5,72,102,5,5,134,102,5,5,74,102,5,5,134,102,5,5,200,102,5,5,146,102,5,5,72,102,5,5,146,102,5,5,200,102,5,5,148,102,5,5,58,102,5,5,148,102,5,5,72,102,5,5,148,102,5,5,74,102,5,5,148,102,5,5,200,102,5,5,158,102,5,5,72,102,5,5,158,102,5,5,200,102,5,5,160,102,5,5,200,102,5,5,166,102,5,5,58,102,5,5,166,102,5,5,200,102,5,5,168,102,5,5,58,102,5,5,168,102,5,5,200,102,5,5,174,102,5,5,58,102,5,5,174,102,5,5,72,102,5,5,174,102,5,5,74,102,5,5,174,102,5,5,200,102,5,5,174,102,5,3,238,102,5,5,174,102,5,5,238,102,5,5,178,102,5,5,72,102,5,5,178,102,5,5,200,102,5,5,178,102,5,3,238,102,5,5,178,102,5,5,238,102,5,5,182,102,5,75,6,102,5,5,182,102,5,5,58,102,5,5,182,102,5,5,72,102,5,5,182,102,5,5,74,102,5,5,182,102,5,5,196,102,5,5,182,102,5,5,200,102,5,5,182,102,5,3,238,102,5,5,182,102,5,5,238,102,5,5,196,102,5,5,58,102,5,5,196,102,5,5,72,102,5,5,196,102,5,5,74,102,5,5,196,102,5,5,200,102,5,5,196,102,5,3,238,102,5,5,196,102,5,5,238,102,5,5,200,102,5,5,58,102,5,5,200,102,5,5,200,102,5,5,200,102,5,3,238,102,5,5,200,102,5,5,238,102,5,5,204,102,5,5,58,102,5,5,204,102,5,5,72,102,5,5,204,102,5,5,74,102,5,5,204,102,5,5,200,102,5,5,204,102,5,3,238,102,5,5,204,102,5,5,238,102,5,5,214,102,5,5,58,102,5,5,214,102,5,5,200,102,5,5,214,102,5,3,238,102,5,5,214,102,5,5,238,102,5,5,238,102,5,5,72,102,5,5,238,102,5,5,74,102,5,5,238,102,5,3,238,102,5,5,86,102,191,0,0,0,5,5,110,102,191,0,0,0,5,3,238,102,191,0,0,0,5,73,6,102,5,5,110,102,5,73,6,102,5,5,112,102,5,73,6,102,5,5,204,102,5,5,30,102,5,5,110,102,5,5,30,102,5,5,112,102,5,5,30,102,5,5,204,102,5,5,42,102,5,5,110,102,5,5,42,102,5,5,112,102,5,5,42,102,5,5,204,102,5,5,44,102,5,5,110,102,5,5,44,102,5,5,112,102,5,5,44,102,5,5,204,102,5,5,200,102,5,75,6,102,5,5,204,102,5,5,110,102,5,5,204,102,5,5,112,102,5,5,204,102,5,5,204,102,5,5,238,102,5,5,110,102,5,5,238,102,5,5,112,102,5,73,6,102,5,5,74,102,5,73,6,102,5,5,214,102,5,5,30,102,5,5,214,102,5,5,42,102,5,5,214,102,5,5,146,102,5,5,74,102,5,5,196,102,5,5,214,102,5,5,204,102,5,5,214,102,5,5,214,102,191,0,0,0,5,5,44,102,5,5,214,102,5,5,134,102,5,5,214,102,5,5,136,102,5,5,200,102,5,5,136,102,5,5,214,102,5,5,158,102,5,3,238,102,5,5,158,102,5,5,238,102,5,5,166,102,5,3,238,102,5,5,166,102,5,5,238,102,5,5,168,102,5,3,238,102,5,5,168,102,5,5,238,102,5,5,134,102,5,3,238,102,5,5,134,102,5,5,238,102,5,5,136,102,5,3,238,102,5,5,136,102,5,5,238,102,5,5,72,102,5,3,238,102,5,5,58,102,5,3,238,102,5,5,58,102,5,5,238,102,5,5,74,102,5,3,238,102,5,5,146,102,5,3,238,102,5,5,146,102,5,5,238,102,5,5,148,102,5,3,238,102,5,5,148,102,5,5,238,102,5,5,136,102,5,5,58,102,5,5,136,102,5,5,72,102,5,5,136,102,5,5,74,102,5,5,136,102,5,5,110,102,5,5,134,102,5,5,110,102,5,5,146,102,5,5,110,102,5,5,148,102,5,5,110,102,5,5,42,102,5,5,58,102,5,5,200,102,5,5,42,102,5,5,72,102,5,5,58,102,5,5,42,102,5,5,72,102,5,5,200,102,5,5,42,102,5,5,74,102,5,5,200,102,5,5,42,102,5,5,200,102,5,5,58,102,5,5,42,102,5,5,200,102,5,5,72,102,5,5,42,102,5,5,200,102,5,5,74,102,5,5,72,102,5,5,200,102,5,5,238,102,5,5,72,102,5,5,200,102,5,3,238,102,5,5,134,102,5,5,72,102,5,5,58,102,5,5,134,102,5,5,58,102,5,5,72,102,5,5,134,102,5,5,58,102,5,3,238,102,5,5,134,102,5,5,200,102,5,5,72,102,5,5,134,102,5,5,200,102,5,5,58,102,5,5,134,102,5,5,200,102,5,5,200,102,5,5,146,102,5,5,72,102,5,5,72,102,5,5,146,102,5,5,200,102,5,5,200,102,5,5,136,102,5,5,72,102,5,5,200,102,5,5,136,102,5,5,58,102,5,5,238,102,5,5,136,102,5,5,200,102,5,5,74,102,5,5,136,102,5,5,200,102,5,5,200,102,5,5,148,102,5,5,72,102,5,3,238,102,5,5,148,102,5,5,74,102,5,5,200,102,5,5,158,102,5,5,200,102,5,5,72,102,5,5,158,102,5,5,200,102,5,5,200,102,5,5,158,102,5,5,200,102,5,5,238,102,5,5,166,102,5,5,58,102,5,5,200,102,5,5,166,102,5,5,200,102,5,5,200,102,5,5,166,102,5,5,200,102,5,3,238,102,5,5,168,102,5,5,200,102,5,5,200,102,5,5,168,102,5,5,200,102,5,5,238,102,5,5,168,102,5,5,200,102,5,3,238,102,5,5,174,102,5,5,74,102,5,5,200,102,5,5,178,102,5,5,200,102,5,5,72,102,5,5,178,102,5,5,200,102,5,5,200,102,5,5,196,102,5,5,72,102,5,5,200,102,5,5,196,102,5,5,72,102,5,5,238,102,5,5,196,102,5,5,72,102,5,3,238,102,5,5,196,102,5,5,58,102,5,5,58,102,5,5,196,102,5,5,74,102,5,5,200,102,5,5,196,102,5,5,200,102,5,5,72,102,5,5,200,102,5,5,72,102,5,5,58,102,5,5,200,102,5,5,72,102,5,5,238,102,5,5,200,102,5,5,58,102,5,5,72,102,5,5,200,102,5,5,74,102,5,5,200,102,5,5,200,102,5,5,58,102,5,5,74,102,5,5,214,102,5,5,200,102,5,5,58,102,5,5,214,102,5,5,200,102,5,5,200,102,5,5,204,102,5,5,72,102,5,5,200,102,5,5,204,102,5,5,72,102,5,3,238,102,5,5,204,102,5,5,58,102,5,5,200,102,5,5,204,102,5,5,58,102,5,3,238,102,5,5,204,102,5,5,200,102,5,5,238,102,5,5,204,102,5,5,200,102,5,3,238,102,5,5,238,102,5,5,200,102,5,5,200,102,5,5,30,102,5,5,74,102,5,5,238,102,5,5,42,102,5,5,58,102,5,5,238,102,5,5,42,102,5,5,58,102,5,3,238,102,5,5,42,102,5,5,74,102,5,5,238,102,5,5,42,102,5,5,74,102,5,3,238,102,5,5,42,102,5,5,200,102,5,5,238,102,5,5,42,102,5,5,200,102,5,3,238,102,5,5,58,102,5,5,200,102,5,5,238,102,5,5,58,102,5,5,72,102,5,3,238,102,5,5,58,102,5,5,200,102,5,3,238,102,5,5,134,102,5,5,74,102,5,3,238,102,5,5,146,102,5,5,72,102,5,5,238,102,5,5,136,102,5,5,72,102,5,5,238,102,5,5,148,102,5,5,72,102,5,5,238,102,5,5,196,102,5,5,58,102,5,5,238,102,5,5,196,102,5,5,200,102,5,5,238,102,5,5,238,102,5,5,58,102,5,5,238,102,5,5,238,102,5,5,200,102,5,5,238,102,5,5,200,102,5,5,200,102,5,5,238,102,5,5,178,102,5,5,200,102,5,5,238,102,5,5,204,102,5,5,72,102,5,5,238,102,5,5,166,102,5,5,200,102,5,5,238,102,5,5,182,102,5,5,200,102,5,5,238,102,5,5,204,102,5,5,58,102,5,5,72,102,5,5,200,102,5,5,74,102,5,5,238,102,5,5,196,102,5,5,58,102,5,5,200,102,5,5,182,102,5,5,200,102,5,5,200,102,5,5,58,102,5,5,72,102,5,5,238,102,5,5,72,102,5,5,58,102,5,5,238,102,5,5,200,102,5,5,58,102,5,5,238,102,5,5,174,102,5,5,200,102,5,5,238,102,5,5,30,102,5,5,72,102,5,5,238,102,5,5,134,102,5,5,74,102,5,5,238,102,5,5,204,102,5,5,58,102,5,5,238,102,5,5,146,102,5,5,196,102,7,5,250,102,5,5,178,102,5,5,196,102,6,5,250,102,5,75,6,102,5,5,196,102,5,5,196,102,8,5,214,102,5,75,6,102,5,5,182,102,5,5,30,102,6,5,110,102,5,5,200,102,5,5,72,102,5,5,200,102,6,5,84,102,5,5,146,102,5,5,196,102,5,5,166,102,8,5,200,102,5,5,110,102,5,5,134,102,5,5,222,102,7,5,196,102,5,5,166,102,5,5,196,102,5,5,238,102,6,5,214,102,5,5,222,102,5,5,134,102,5,5,196,102,6,5,200,102,5,5,146,102,5,5,196,102,6,3,238,102,5,5,146,102,5,5,196,102,5,3,238,102,5,5,0,4,5,75,6,102,5,5,196,102,5,5,196,102,5,5,214,102,5,5,0,4,5,5,166,102,5,5,196,102,5,5,238,102,5,5,214,102,5,5,0,4,5,5,222,102,5,5,134,102,5,5,196,102,7,5,200,102,5,5,58,102,5,5,196,102,5,5,0,4,5,5,58,102,5,5,196,102,5,75,6,102,5,5,196,102,7,5,214,102,5,5,110,102,5,2,238,102,5,75,6,102,6,5,196,102,5,5,30,102,5,5,134,102,5,5,200,102,5,5,0,4,5,75,6,102,5,5,196,102,5,5,196,102,5,5,214,102,5,5,0,4,5,75,6,102,5,5,196,102,5,5,110,102,5,5,72,102,5,5,200,102,5,5,204,102,5,5,0,4,5,75,6,102,5,5,196,102,5,5,110,102,5,5,72,102,5,5,238,102,9,5,200,102,5,5,196,102,5,5,6,102,5,76,6,102,5,5,196,102,5,70,6,102,5,5,196,102,5,72,6,102,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,6,102,5,75,2,0,83,6,197,162,84,6,255,255,6,102,5,70,85,6,255,255,6,102,5,72,222,102,5,5,48,0,84,6,255,255,6,102,5,71,238,102,5,3,48,0,85,6,255,255,6,102,5,74,238,102,5,5,48,0,84,6,255,255,6,102,5,73,3,0,67,0,50,0,59,0,79,15,0,16,62,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,73,15,0,32,165,28,0,32,1,0,32,0,170,28,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,7,0,0,80,7,0,0,0,10,0,0,0,15,0,0,0,15,0,0,0,1,0,0,0,0,0,0,0,15,0,0,0,37,37,65,76,73,65,83,0,0,0,97,0,114,0,95,0,83,0,65,0,0,0,1,0,32,0,1,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,241,6,0,32,7,0,0,0,21,0,0,0,243,6,0,0,243,6,0,0,3,0,0,0,0,0,0,0,79,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,109,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,66,0,101,0,110,0,103,0,32,0,68,0,101,0,118,0,97,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,9,60,0,130,9,60,0,129,9,60,0,131,9,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,164,9,60,0,206,9,61,0,164,9,205,9,13,32,38,0,185,9,60,0,149,9,205,9,183,9,0,0,170,170,102,26,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,128,0,0,0,128,1,0,0,224,25,0,0,224,25,0,0,224,25,0,0,224,25,0,0,36,26,0,0,36,26,0,0,68,26,0,0,78,26,0,0,4,0,0,0,10,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,105,190,255,0,106,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,39,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,125,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,103,0,108,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,3,35,105,193,2,35,105,193,4,35,105,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,105,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,36,105,5,5,49,0,205,9,183,9,255,255,103,105,5,5,66,105,5,5,49,0,205,9,13,32,255,255,65,105,5,5,4,0,183,9,184,9,13,32,14,32,170,170,3,0,69,0,52,0,61,0,79,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,234,6,0,32,1,0,32,0,239,6,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,20,22,0,32,7,0,0,0,23,0,0,0,22,22,0,0,22,22,0,0,3,0,0,0,0,0,0,0,122,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,65,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,97,0,122,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,111,0,116,0,104,0,101,0,114,0,115,0,93,0,0,0,125,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,67,0,60,0,99,0,39,3,60,0,60,0,60,0,67,0,39,3,38,0,71,0,60,0,103,0,6,3,60,0,60,0,60,0,71,0,6,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,105,0,60,0,49,1,60,0,60,0,60,0,73,0,38,0,105,0,60,0,60,0,60,0,48,1,38,0,79,0,60,0,111,0,8,3,60,0,60,0,60,0,79,0,8,3,38,0,83,0,60,0,115,0,39,3,60,0,60,0,60,0,83,0,39,3,38,0,85,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,38,0,75,0,60,0,113,0,60,0,60,0,60,0,81,0,38,0,69,0,60,0,89,2,60,0,60,0,60,0,143,1,38,0,72,0,60,0,120,0,60,0,60,0,60,0,88,0,38,0,90,0,60,0,119,0,60,0,60,0,60,0,87,0,0,0,170,170,170,170,156,45,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,214,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,212,38,0,0,212,38,0,0,212,38,0,0,212,38,0,0,96,43,0,0,96,43,0,0,132,45,0,0,132,45,0,0,132,45,0,0,50,105,114,84,1,0,64,8,96,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,93,0,101,0,107,0,115,0,120,0,128,0,134,0,142,0,145,0,153,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,152,0,160,0,166,0,174,0,182,0,190,0,48,0,56,0,189,0,197,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,214,0,222,0,48,0,48,0,48,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,238,0,48,0,48,0,246,0,48,0,252,0,4,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,14,1,19,1,48,0,23,1,31,1,48,0,38,1,46,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,54,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,57,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,212,0,48,0,48,0,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,65,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,73,1,48,0,48,0,79,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,116,1,172,1,224,1,24,2,68,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,2,152,2,216,2,192,0,244,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,35,0,202,65,35,0,202,98,35,0,202,131,35,0,202,164,35,0,202,197,35,0,202,230,35,0,202,7,36,0,202,40,36,0,202,73,36,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,198,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,134,1,0,156,5,0,56,201,70,2,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,6,3,0,156,5,0,72,134,5,2,63,156,5,0,76,201,230,3,0,156,5,0,80,201,198,4,0,156,5,0,84,134,5,2,93,134,5,2,57,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,230,5,0,5,5,0,48,5,5,0,50,5,5,0,52,201,166,6,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,7,0,5,5,0,72,5,5,2,63,5,5,0,76,201,70,8,0,5,5,0,80,201,38,9,0,5,5,0,84,5,5,2,93,5,5,2,57,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,2,26,0,134,5,2,47,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,66,26,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,130,26,0,5,5,2,47,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,201,102,10,0,201,38,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,201,230,11,0,192,0,0,0,134,5,0,58,5,5,27,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,12,0,201,102,13,0,197,162,3,0,197,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,14,0,201,230,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,15,0,201,102,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,5,0,197,162,5,0,197,34,0,0,197,98,0,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,17,0,201,230,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,166,18,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,20,0,5,71,238,102,201,102,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,8,0,192,0,0,0,192,0,0,0,197,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,8,0,192,0,0,0,197,34,9,0,192,0,0,0,192,0,0,0,197,98,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,9,0,192,0,0,0,197,226,9,0,192,0,0,0,197,34,10,0,192,0,0,0,197,98,10,0,192,0,0,0,197,162,10,0,197,227,10,0,197,66,11,0,192,0,0,0,192,0,0,0,197,130,11,0,197,195,11,0,197,34,12,0,192,0,0,0,192,0,0,0,197,98,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,98,8,0,197,162,12,0,5,5,10,121,197,226,12,0,197,34,13,0,5,5,12,121,5,5,16,121,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,197,226,14,0,5,5,18,121,5,5,20,121,197,2,9,0,5,5,24,121,197,34,9,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,15,0,197,98,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,22,0,192,0,0,0,197,227,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,198,23,0,201,134,24,0,201,70,25,0,201,6,26,0,201,198,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,17,0,197,2,18,0,197,66,18,0,197,130,18,0,197,194,18,0,197,2,19,0,197,66,19,0,197,130,19,0,197,194,19,0,197,2,20,0,197,66,20,0,197,130,20,0,197,194,20,0,197,2,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,21,0,192,0,0,0,201,134,27,0,192,0,0,0,201,70,28,0,201,6,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,29,0,201,134,30,0,201,70,31,0,201,6,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,32,0,201,134,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,134,5,27,57,5,138,0,0,134,5,27,57,5,136,0,0,134,5,27,57,5,142,0,0,134,5,27,57,5,150,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,27,57,5,154,0,0,134,5,27,57,5,164,0,0,134,5,27,57,5,140,0,0,134,5,27,57,5,162,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,93,5,142,0,0,5,5,2,93,5,142,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,27,57,5,144,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,27,57,5,184,0,0,134,5,27,57,5,188,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,5,27,57,5,208,0,0,134,5,27,57,5,150,0,0,5,136,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,5,2,93,5,138,0,0,5,5,2,93,5,138,0,0,134,5,2,93,5,136,0,0,5,5,2,93,5,136,0,0,134,5,2,93,5,150,0,0,5,5,2,93,5,150,0,0,134,5,2,93,5,156,0,0,5,5,2,93,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,134,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,5,5,2,93,5,146,0,0,134,5,27,57,5,182,0,0,134,5,27,57,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,98,8,0,5,5,10,121,5,5,12,121,197,162,8,0,5,5,16,121,5,5,18,121,5,5,20,121,197,226,8,0,5,5,24,121,197,34,9,0,5,5,28,121,5,5,30,121,197,98,9,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,162,9,0,5,5,107,121,197,226,9,0,5,5,111,121,197,34,10,0,5,5,115,121,197,98,10,0,5,5,119,121,197,162,10,0,197,227,10,0,197,66,11,0,5,5,127,121,5,5,129,121,197,130,11,0,197,195,11,0,197,34,12,0,5,5,137,121,5,5,139,121,197,98,12,0,5,5,143,121,5,5,6,121,197,98,8,0,197,162,12,0,5,5,10,121,197,226,12,0,197,34,13,0,5,5,12,121,5,5,16,121,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,197,226,14,0,5,5,18,121,5,5,20,121,197,2,9,0,5,5,24,121,197,34,9,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,46,156,5,48,0,39,3,2,239,134,5,0,54,156,5,48,0,6,3,2,247,134,5,27,57,134,5,48,0,7,3,0,250,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,46,5,5,48,0,39,3,2,239,5,5,0,54,5,5,48,0,6,3,2,247,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,156,54,196,160,48,0,6,3,1,192,197,162,5,54,196,160,48,0,6,3,1,192,197,226,2,0,197,226,48,0,7,3,134,250,196,162,156,82,196,162,48,0,8,3,3,192,197,34,5,82,196,162,48,0,8,3,3,192,197,98,156,70,196,190,48,0,8,3,4,192,197,34,5,70,196,190,48,0,8,3,4,192,197,98,156,82,196,190,48,0,8,3,4,192,197,162,5,82,196,190,48,0,8,3,4,192,197,226,156,70,196,162,48,0,8,3,6,192,197,226,5,70,196,162,48,0,8,3,7,192,197,34,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,15,0,197,162,48,0,7,3,134,250,196,208,156,82,196,198,48,0,8,3,16,192,197,66,5,82,196,198,48,0,8,3,16,192,197,130,156,82,196,208,48,0,8,3,16,192,197,194,5,82,196,208,48,0,8,3,17,192,197,2,156,82,196,204,48,0,8,3,17,192,197,66,5,82,196,204,48,0,8,3,17,192,197,130,21,0,197,194,48,0,7,3,134,250,196,196,156,70,196,196,48,0,8,3,22,192,197,2,5,70,196,196,48,0,8,3,22,192,197,66,22,0,197,131,48,0,8,3,22,192,197,227,23,0,197,67,48,0,8,3,23,192,197,163,156,82,196,196,48,0,8,3,24,192,197,2,5,82,196,196,48,0,8,3,24,192,197,66,24,0,197,131,48,0,8,3,24,192,197,227,25,0,197,67,48,0,8,3,25,192,197,163,3,0,67,0,50,0,59,0,123,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,122,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,220,31,0,0,220,31,0,0,220,31,0,0,220,31,0,0,132,34,0,0,132,34,0,0,98,36,0,0,98,36,0,0,98,40,0,0,25,0,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,94,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,224,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,93,0,101,0,107,0,115,0,120,0,128,0,134,0,142,0,145,0,153,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,180,0,48,0,184,0,192,0,48,0,199,0,207,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,169,0,48,0,48,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,116,1,172,1,224,1,24,2,68,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,20,0,202,33,20,0,202,66,20,0,202,99,20,0,202,132,20,0,202,165,20,0,202,198,20,0,202,231,20,0,202,8,21,0,202,41,21,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,198,0,0,156,5,0,56,201,134,1,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,70,2,0,156,5,0,72,134,5,2,63,156,5,0,76,201,38,3,0,156,5,0,80,201,6,4,0,156,5,0,84,134,5,2,93,134,5,2,57,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,38,5,0,5,5,0,48,5,5,0,50,5,5,0,52,201,230,5,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,6,0,5,5,0,72,5,5,2,63,5,5,0,76,201,134,7,0,5,5,0,80,201,102,8,0,5,5,0,84,5,5,2,93,5,5,2,57,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,66,19,0,134,5,2,47,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,130,19,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,194,19,0,5,5,2,47,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,201,166,9,0,201,102,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,201,38,11,0,192,0,0,0,134,5,0,58,5,5,27,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,11,0,201,166,12,0,197,162,3,0,197,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,13,0,201,38,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,14,0,201,166,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,5,0,197,162,5,0,197,34,0,0,197,98,0,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,16,0,201,38,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,8,0,197,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,17,0,192,0,0,0,197,35,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,18,0,201,102,19,0,201,38,20,0,201,230,20,0,201,166,21,0,201,102,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,11,0,197,66,11,0,197,130,11,0,197,194,11,0,197,2,12,0,197,66,12,0,197,130,12,0,197,194,12,0,197,2,13,0,197,66,13,0,197,130,13,0,197,194,13,0,197,2,14,0,197,66,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,14,0,192,0,0,0,201,38,23,0,192,0,0,0,201,230,23,0,201,166,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,25,0,201,38,26,0,201,230,26,0,201,166,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,28,0,201,38,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,134,5,27,57,5,138,0,0,134,5,27,57,5,136,0,0,134,5,27,57,5,142,0,0,134,5,27,57,5,150,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,27,57,5,154,0,0,134,5,27,57,5,164,0,0,134,5,27,57,5,140,0,0,134,5,27,57,5,162,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,93,5,142,0,0,5,5,2,93,5,142,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,27,57,5,144,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,27,57,5,184,0,0,134,5,27,57,5,188,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,5,27,57,5,208,0,0,134,5,27,57,5,150,0,0,5,136,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,5,2,93,5,138,0,0,5,5,2,93,5,138,0,0,134,5,2,93,5,136,0,0,5,5,2,93,5,136,0,0,134,5,2,93,5,150,0,0,5,5,2,93,5,150,0,0,134,5,2,93,5,156,0,0,5,5,2,93,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,134,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,5,5,2,93,5,146,0,0,134,5,27,57,5,182,0,0,134,5,27,57,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,39,3,2,239,134,5,0,54,156,5,48,0,6,3,2,247,134,5,27,57,134,5,48,0,7,3,0,250,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,46,5,5,48,0,39,3,2,239,5,5,0,54,5,5,48,0,6,3,2,247,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,156,54,196,160,48,0,6,3,1,192,197,162,5,54,196,160,48,0,6,3,1,192,197,226,2,0,197,226,48,0,7,3,134,250,196,162,156,82,196,162,48,0,8,3,3,192,197,34,5,82,196,162,48,0,8,3,3,192,197,98,156,70,196,190,48,0,8,3,4,192,197,34,5,70,196,190,48,0,8,3,4,192,197,98,156,82,196,190,48,0,8,3,4,192,197,162,5,82,196,190,48,0,8,3,4,192,197,226,156,70,196,162,48,0,8,3,6,192,197,226,5,70,196,162,48,0,8,3,7,192,197,34,8,0,197,226,48,0,7,3,134,250,196,208,156,82,196,198,48,0,8,3,9,192,197,130,5,82,196,198,48,0,8,3,9,192,197,194,156,82,196,208,48,0,8,3,10,192,197,2,5,82,196,208,48,0,8,3,10,192,197,66,156,82,196,204,48,0,8,3,10,192,197,130,5,82,196,204,48,0,8,3,10,192,197,194,15,0,197,2,48,0,7,3,134,250,196,196,156,70,196,196,48,0,8,3,15,192,197,66,5,70,196,196,48,0,8,3,15,192,197,130,15,0,197,195,48,0,8,3,16,192,197,35,16,0,197,131,48,0,8,3,16,192,197,227,156,82,196,196,48,0,8,3,17,192,197,66,5,82,196,196,48,0,8,3,17,192,197,130,17,0,197,195,48,0,8,3,18,192,197,35,18,0,197,131,48,0,8,3,18,192,197,227,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,28,4,185,92,30,4,186,108,185,112,185,120,185,124,186,128,32,4,185,144,185,116,185,152,34,4,185,164,36,4,185,180,185,192,185,96,185,184,185,188,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,38,4,168,72,168,76,168,80,40,4,168,92,168,104,168,108,168,112,168,120,168,124,168,128,42,4,168,144,168,116,168,152,44,4,168,164,46,4,168,180,168,192,168,96,168,184,168,188,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,185,68,186,77,154,77,250,77,90,78,185,101,153,101,249,101,89,102,217,72,154,130,185,137,153,137,249,137,153,138,185,140,136,14,217,138,185,173,153,173,249,173,185,176,153,185,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,168,68,168,77,136,77,232,77,72,78,168,105,136,105,232,105,72,106,200,72,136,130,168,137,136,137,232,137,136,138,168,140,128,14,200,138,168,173,136,173,232,173,168,176,136,185,168,196,72,186,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,185,88,168,88,185,86,168,86,48,4,50,4,249,93,232,93,89,95,72,95,153,102,136,106,57,103,40,107,217,101,200,105,52,4,8,107,185,104,168,100,6,8,8,8,250,109,232,109,249,114,232,114,168,148,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,129,136,129,250,130,232,130,26,130,8,130,10,8,185,132,168,132,57,139,40,139,217,137,200,137,121,138,104,138,12,8,14,8,153,153,136,153,249,154,232,154,25,154,8,154,154,157,136,157,250,157,232,157,185,160,168,160,26,158,8,158,249,166,232,166,25,166,8,166,185,168,168,168,153,174,136,174,57,175,40,175,217,173,200,173,57,174,40,174,121,174,104,174,54,4,56,4,249,193,232,193,249,185,232,185,89,186,153,189,136,189,185,190,168,190,25,190,8,190,232,156,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,156,169,156,200,56,169,76,187,104,187,108,170,104,169,108,169,200,169,128,217,136,187,76,200,136,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,84,255,5,185,100,255,5,185,136,255,5,186,156,255,5,185,172,255,5,168,64,255,5,168,84,255,5,168,136,255,5,168,156,255,5,168,172,255,5,249,86,255,5,232,86,255,5,25,103,255,5,25,175,255,5,8,175,255,1,170,170,3,0,67,0,50,0,59,0,235,11,0,16,71,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,227,11,0,32,11,22,0,32,1,0,32,0,16,22,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,236,6,0,32,7,0,0,0,21,0,0,0,238,6,0,0,238,6,0,0,3,0,0,0,0,0,0,0,39,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,21,4,60,0,81,4,60,0,60,0,60,0,1,4,38,0,67,4,60,0,94,4,60,0,60,0,60,0,14,4,0,0,170,170,244,26,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,96,26,0,0,96,26,0,0,96,26,0,0,96,26,0,0,164,26,0,0,164,26,0,0,220,26,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,137,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,96,0,104,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,120,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,128,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,134,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,173,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,40,97,174,5,48,0,8,3,255,255,41,97,134,5,172,97,174,5,48,0,6,3,255,255,173,97,134,5,40,97,5,5,48,0,8,3,255,255,41,97,5,5,172,97,5,5,48,0,6,3,255,255,173,97,5,5,3,0,69,0,52,0,61,0,39,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,229,6,0,32,1,0,32,0,234,6,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,118,0,0,32,7,0,0,0,21,0,0,0,120,0,0,0,120,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,0,0,170,170,60,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,36,0,0,0,36,1,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,111,0,0,32,1,0,32,0,116,0,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,208,32,0,32,7,0,0,0,24,0,0,0,210,32,0,0,210,32,0,0,3,0,0,0,0,0,0,0,112,9,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,116,114,97,100,105,116,105,111,110,97,108,0,0,0,52,0,50,0,0,0,85,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,66,0,101,0,110,0,103,0,32,0,68,0,101,0,118,0,97,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,9,60,0,130,9,60,0,131,9,60,0,129,9,0,0,239,223,81,18,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,66,0,101,0,110,0,103,0,32,0,68,0,101,0,118,0,97,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,9,60,0,130,9,60,0,131,9,60,0,129,9,60,0,149,9,205,9,60,0,150,9,205,9,60,0,151,9,205,9,60,0,152,9,205,9,60,0,153,9,205,9,60,0,154,9,205,9,60,0,155,9,205,9,60,0,156,9,205,9,60,0,157,9,205,9,60,0,158,9,205,9,60,0,159,9,205,9,60,0,160,9,205,9,60,0,161,9,205,9,60,0,162,9,205,9,60,0,163,9,205,9,60,0,206,9,61,0,164,9,205,9,13,32,60,0,60,0,164,9,205,9,60,0,165,9,205,9,60,0,166,9,205,9,60,0,167,9,205,9,60,0,168,9,205,9,60,0,170,9,205,9,60,0,171,9,205,9,60,0,172,9,205,9,60,0,173,9,205,9,60,0,174,9,205,9,60,0,175,9,205,9,60,0,176,9,205,9,60,0,240,9,205,9,60,0,178,9,205,9,60,0,241,9,205,9,60,0,182,9,205,9,60,0,183,9,205,9,60,0,184,9,205,9,60,0,185,9,205,9,38,0,149,9,205,9,133,9,61,0,149,9,38,0,149,9,205,9,134,9,61,0,149,9,190,9,38,0,149,9,205,9,135,9,61,0,149,9,191,9,38,0,149,9,205,9,136,9,61,0,149,9,192,9,38,0,149,9,205,9,137,9,61,0,149,9,193,9,38,0,149,9,205,9,138,9,61,0,149,9,194,9,38,0,149,9,205,9,139,9,61,0,149,9,195,9,38,0,149,9,205,9,224,9,61,0,149,9,196,9,38,0,149,9,205,9,140,9,61,0,149,9,226,9,38,0,149,9,205,9,225,9,61,0,149,9,227,9,38,0,149,9,205,9,143,9,61,0,149,9,199,9,38,0,149,9,205,9,144,9,61,0,149,9,200,9,38,0,149,9,205,9,147,9,61,0,149,9,203,9,38,0,149,9,205,9,148,9,61,0,149,9,204,9,38,0,150,9,205,9,133,9,61,0,150,9,38,0,150,9,205,9,134,9,61,0,150,9,190,9,38,0,150,9,205,9,135,9,61,0,150,9,191,9,38,0,150,9,205,9,136,9,61,0,150,9,192,9,38,0,150,9,205,9,137,9,61,0,150,9,193,9,38,0,150,9,205,9,138,9,61,0,150,9,194,9,38,0,150,9,205,9,139,9,61,0,150,9,195,9,38,0,150,9,205,9,224,9,61,0,150,9,196,9,38,0,150,9,205,9,140,9,61,0,150,9,226,9,38,0,150,9,205,9,225,9,61,0,150,9,227,9,38,0,150,9,205,9,143,9,61,0,150,9,199,9,38,0,150,9,205,9,144,9,61,0,150,9,200,9,38,0,150,9,205,9,147,9,61,0,150,9,203,9,38,0,150,9,205,9,148,9,61,0,150,9,204,9,38,0,151,9,205,9,133,9,61,0,151,9,38,0,151,9,205,9,134,9,61,0,151,9,190,9,38,0,151,9,205,9,135,9,61,0,151,9,191,9,38,0,151,9,205,9,136,9,61,0,151,9,192,9,38,0,151,9,205,9,137,9,61,0,151,9,193,9,38,0,151,9,205,9,138,9,61,0,151,9,194,9,38,0,151,9,205,9,139,9,61,0,151,9,195,9,38,0,151,9,205,9,224,9,61,0,151,9,196,9,38,0,151,9,205,9,140,9,61,0,151,9,226,9,38,0,151,9,205,9,225,9,61,0,151,9,227,9,38,0,151,9,205,9,143,9,61,0,151,9,199,9,38,0,151,9,205,9,144,9,61,0,151,9,200,9,38,0,151,9,205,9,147,9,61,0,151,9,203,9,38,0,151,9,205,9,148,9,61,0,151,9,204,9,38,0,152,9,205,9,133,9,61,0,152,9,38,0,152,9,205,9,134,9,61,0,152,9,190,9,38,0,152,9,205,9,135,9,61,0,152,9,191,9,38,0,152,9,205,9,136,9,61,0,152,9,192,9,38,0,152,9,205,9,137,9,61,0,152,9,193,9,38,0,152,9,205,9,138,9,61,0,152,9,194,9,38,0,152,9,205,9,139,9,61,0,152,9,195,9,38,0,152,9,205,9,224,9,61,0,152,9,196,9,38,0,152,9,205,9,140,9,61,0,152,9,226,9,38,0,152,9,205,9,225,9,61,0,152,9,227,9,38,0,152,9,205,9,143,9,61,0,152,9,199,9,38,0,152,9,205,9,144,9,61,0,152,9,200,9,38,0,152,9,205,9,147,9,61,0,152,9,203,9,38,0,152,9,205,9,148,9,61,0,152,9,204,9,38,0,153,9,205,9,133,9,61,0,153,9,38,0,153,9,205,9,134,9,61,0,153,9,190,9,38,0,153,9,205,9,135,9,61,0,153,9,191,9,38,0,153,9,205,9,136,9,61,0,153,9,192,9,38,0,153,9,205,9,137,9,61,0,153,9,193,9,38,0,153,9,205,9,138,9,61,0,153,9,194,9,38,0,153,9,205,9,139,9,61,0,153,9,195,9,38,0,153,9,205,9,224,9,61,0,153,9,196,9,38,0,153,9,205,9,140,9,61,0,153,9,226,9,38,0,153,9,205,9,225,9,61,0,153,9,227,9,38,0,153,9,205,9,143,9,61,0,153,9,199,9,38,0,153,9,205,9,144,9,61,0,153,9,200,9,38,0,153,9,205,9,147,9,61,0,153,9,203,9,38,0,153,9,205,9,148,9,61,0,153,9,204,9,38,0,154,9,205,9,133,9,61,0,154,9,38,0,154,9,205,9,134,9,61,0,154,9,190,9,38,0,154,9,205,9,135,9,61,0,154,9,191,9,38,0,154,9,205,9,136,9,61,0,154,9,192,9,38,0,154,9,205,9,137,9,61,0,154,9,193,9,38,0,154,9,205,9,138,9,61,0,154,9,194,9,38,0,154,9,205,9,139,9,61,0,154,9,195,9,38,0,154,9,205,9,224,9,61,0,154,9,196,9,38,0,154,9,205,9,140,9,61,0,154,9,226,9,38,0,154,9,205,9,225,9,61,0,154,9,227,9,38,0,154,9,205,9,143,9,61,0,154,9,199,9,38,0,154,9,205,9,144,9,61,0,154,9,200,9,38,0,154,9,205,9,147,9,61,0,154,9,203,9,38,0,154,9,205,9,148,9,61,0,154,9,204,9,38,0,155,9,205,9,133,9,61,0,155,9,38,0,155,9,205,9,134,9,61,0,155,9,190,9,38,0,155,9,205,9,135,9,61,0,155,9,191,9,38,0,155,9,205,9,136,9,61,0,155,9,192,9,38,0,155,9,205,9,137,9,61,0,155,9,193,9,38,0,155,9,205,9,138,9,61,0,155,9,194,9,38,0,155,9,205,9,139,9,61,0,155,9,195,9,38,0,155,9,205,9,224,9,61,0,155,9,196,9,38,0,155,9,205,9,140,9,61,0,155,9,226,9,38,0,155,9,205,9,225,9,61,0,155,9,227,9,38,0,155,9,205,9,143,9,61,0,155,9,199,9,38,0,155,9,205,9,144,9,61,0,155,9,200,9,38,0,155,9,205,9,147,9,61,0,155,9,203,9,38,0,155,9,205,9,148,9,61,0,155,9,204,9,38,0,156,9,205,9,133,9,61,0,156,9,38,0,156,9,205,9,134,9,61,0,156,9,190,9,38,0,156,9,205,9,135,9,61,0,156,9,191,9,38,0,156,9,205,9,136,9,61,0,156,9,192,9,38,0,156,9,205,9,137,9,61,0,156,9,193,9,38,0,156,9,205,9,138,9,61,0,156,9,194,9,38,0,156,9,205,9,139,9,61,0,156,9,195,9,38,0,156,9,205,9,224,9,61,0,156,9,196,9,38,0,156,9,205,9,140,9,61,0,156,9,226,9,38,0,156,9,205,9,225,9,61,0,156,9,227,9,38,0,156,9,205,9,143,9,61,0,156,9,199,9,38,0,156,9,205,9,144,9,61,0,156,9,200,9,38,0,156,9,205,9,147,9,61,0,156,9,203,9,38,0,156,9,205,9,148,9,61,0,156,9,204,9,38,0,157,9,205,9,133,9,61,0,157,9,38,0,157,9,205,9,134,9,61,0,157,9,190,9,38,0,157,9,205,9,135,9,61,0,157,9,191,9,38,0,157,9,205,9,136,9,61,0,157,9,192,9,38,0,157,9,205,9,137,9,61,0,157,9,193,9,38,0,157,9,205,9,138,9,61,0,157,9,194,9,38,0,157,9,205,9,139,9,61,0,157,9,195,9,38,0,157,9,205,9,224,9,61,0,157,9,196,9,38,0,157,9,205,9,140,9,61,0,157,9,226,9,38,0,157,9,205,9,225,9,61,0,157,9,227,9,38,0,157,9,205,9,143,9,61,0,157,9,199,9,38,0,157,9,205,9,144,9,61,0,157,9,200,9,38,0,157,9,205,9,147,9,61,0,157,9,203,9,38,0,157,9,205,9,148,9,61,0,157,9,204,9,38,0,158,9,205,9,133,9,61,0,158,9,38,0,158,9,205,9,134,9,61,0,158,9,190,9,38,0,158,9,205,9,135,9,61,0,158,9,191,9,38,0,158,9,205,9,136,9,61,0,158,9,192,9,38,0,158,9,205,9,137,9,61,0,158,9,193,9,38,0,158,9,205,9,138,9,61,0,158,9,194,9,38,0,158,9,205,9,139,9,61,0,158,9,195,9,38,0,158,9,205,9,224,9,61,0,158,9,196,9,38,0,158,9,205,9,140,9,61,0,158,9,226,9,38,0,158,9,205,9,225,9,61,0,158,9,227,9,38,0,158,9,205,9,143,9,61,0,158,9,199,9,38,0,158,9,205,9,144,9,61,0,158,9,200,9,38,0,158,9,205,9,147,9,61,0,158,9,203,9,38,0,158,9,205,9,148,9,61,0,158,9,204,9,38,0,159,9,205,9,133,9,61,0,159,9,38,0,159,9,205,9,134,9,61,0,159,9,190,9,38,0,159,9,205,9,135,9,61,0,159,9,191,9,38,0,159,9,205,9,136,9,61,0,159,9,192,9,38,0,159,9,205,9,137,9,61,0,159,9,193,9,38,0,159,9,205,9,138,9,61,0,159,9,194,9,38,0,159,9,205,9,139,9,61,0,159,9,195,9,38,0,159,9,205,9,224,9,61,0,159,9,196,9,38,0,159,9,205,9,140,9,61,0,159,9,226,9,38,0,159,9,205,9,225,9,61,0,159,9,227,9,38,0,159,9,205,9,143,9,61,0,159,9,199,9,38,0,159,9,205,9,144,9,61,0,159,9,200,9,38,0,159,9,205,9,147,9,61,0,159,9,203,9,38,0,159,9,205,9,148,9,61,0,159,9,204,9,38,0,160,9,205,9,133,9,61,0,160,9,38,0,160,9,205,9,134,9,61,0,160,9,190,9,38,0,160,9,205,9,135,9,61,0,160,9,191,9,38,0,160,9,205,9,136,9,61,0,160,9,192,9,38,0,160,9,205,9,137,9,61,0,160,9,193,9,38,0,160,9,205,9,138,9,61,0,160,9,194,9,38,0,160,9,205,9,139,9,61,0,160,9,195,9,38,0,160,9,205,9,224,9,61,0,160,9,196,9,38,0,160,9,205,9,140,9,61,0,160,9,226,9,38,0,160,9,205,9,225,9,61,0,160,9,227,9,38,0,160,9,205,9,143,9,61,0,160,9,199,9,38,0,160,9,205,9,144,9,61,0,160,9,200,9,38,0,160,9,205,9,147,9,61,0,160,9,203,9,38,0,160,9,205,9,148,9,61,0,160,9,204,9,38,0,161,9,205,9,133,9,61,0,161,9,38,0,161,9,205,9,134,9,61,0,161,9,190,9,38,0,161,9,205,9,135,9,61,0,161,9,191,9,38,0,161,9,205,9,136,9,61,0,161,9,192,9,38,0,161,9,205,9,137,9,61,0,161,9,193,9,38,0,161,9,205,9,138,9,61,0,161,9,194,9,38,0,161,9,205,9,139,9,61,0,161,9,195,9,38,0,161,9,205,9,224,9,61,0,161,9,196,9,38,0,161,9,205,9,140,9,61,0,161,9,226,9,38,0,161,9,205,9,225,9,61,0,161,9,227,9,38,0,161,9,205,9,143,9,61,0,161,9,199,9,38,0,161,9,205,9,144,9,61,0,161,9,200,9,38,0,161,9,205,9,147,9,61,0,161,9,203,9,38,0,161,9,205,9,148,9,61,0,161,9,204,9,38,0,162,9,205,9,133,9,61,0,162,9,38,0,162,9,205,9,134,9,61,0,162,9,190,9,38,0,162,9,205,9,135,9,61,0,162,9,191,9,38,0,162,9,205,9,136,9,61,0,162,9,192,9,38,0,162,9,205,9,137,9,61,0,162,9,193,9,38,0,162,9,205,9,138,9,61,0,162,9,194,9,38,0,162,9,205,9,139,9,61,0,162,9,195,9,38,0,162,9,205,9,224,9,61,0,162,9,196,9,38,0,162,9,205,9,140,9,61,0,162,9,226,9,38,0,162,9,205,9,225,9,61,0,162,9,227,9,38,0,162,9,205,9,143,9,61,0,162,9,199,9,38,0,162,9,205,9,144,9,61,0,162,9,200,9,38,0,162,9,205,9,147,9,61,0,162,9,203,9,38,0,162,9,205,9,148,9,61,0,162,9,204,9,38,0,163,9,205,9,133,9,61,0,163,9,38,0,163,9,205,9,134,9,61,0,163,9,190,9,38,0,163,9,205,9,135,9,61,0,163,9,191,9,38,0,163,9,205,9,136,9,61,0,163,9,192,9,38,0,163,9,205,9,137,9,61,0,163,9,193,9,38,0,163,9,205,9,138,9,61,0,163,9,194,9,38,0,163,9,205,9,139,9,61,0,163,9,195,9,38,0,163,9,205,9,224,9,61,0,163,9,196,9,38,0,163,9,205,9,140,9,61,0,163,9,226,9,38,0,163,9,205,9,225,9,61,0,163,9,227,9,38,0,163,9,205,9,143,9,61,0,163,9,199,9,38,0,163,9,205,9,144,9,61,0,163,9,200,9,38,0,163,9,205,9,147,9,61,0,163,9,203,9,38,0,163,9,205,9,148,9,61,0,163,9,204,9,38,0,164,9,205,9,133,9,61,0,164,9,38,0,164,9,205,9,134,9,61,0,164,9,190,9,38,0,164,9,205,9,135,9,61,0,164,9,191,9,38,0,164,9,205,9,136,9,61,0,164,9,192,9,38,0,164,9,205,9,137,9,61,0,164,9,193,9,38,0,164,9,205,9,138,9,61,0,164,9,194,9,38,0,164,9,205,9,139,9,61,0,164,9,195,9,38,0,164,9,205,9,224,9,61,0,164,9,196,9,38,0,164,9,205,9,140,9,61,0,164,9,226,9,38,0,164,9,205,9,225,9,61,0,164,9,227,9,38,0,164,9,205,9,143,9,61,0,164,9,199,9,38,0,164,9,205,9,144,9,61,0,164,9,200,9,38,0,164,9,205,9,147,9,61,0,164,9,203,9,38,0,164,9,205,9,148,9,61,0,164,9,204,9,38,0,165,9,205,9,133,9,61,0,165,9,38,0,165,9,205,9,134,9,61,0,165,9,190,9,38,0,165,9,205,9,135,9,61,0,165,9,191,9,38,0,165,9,205,9,136,9,61,0,165,9,192,9,38,0,165,9,205,9,137,9,61,0,165,9,193,9,38,0,165,9,205,9,138,9,61,0,165,9,194,9,38,0,165,9,205,9,139,9,61,0,165,9,195,9,38,0,165,9,205,9,224,9,61,0,165,9,196,9,38,0,165,9,205,9,140,9,61,0,165,9,226,9,38,0,165,9,205,9,225,9,61,0,165,9,227,9,38,0,165,9,205,9,143,9,61,0,165,9,199,9,38,0,165,9,205,9,144,9,61,0,165,9,200,9,38,0,165,9,205,9,147,9,61,0,165,9,203,9,38,0,165,9,205,9,148,9,61,0,165,9,204,9,38,0,166,9,205,9,133,9,61,0,166,9,38,0,166,9,205,9,134,9,61,0,166,9,190,9,38,0,166,9,205,9,135,9,61,0,166,9,191,9,38,0,166,9,205,9,136,9,61,0,166,9,192,9,38,0,166,9,205,9,137,9,61,0,166,9,193,9,38,0,166,9,205,9,138,9,61,0,166,9,194,9,38,0,166,9,205,9,139,9,61,0,166,9,195,9,38,0,166,9,205,9,224,9,61,0,166,9,196,9,38,0,166,9,205,9,140,9,61,0,166,9,226,9,38,0,166,9,205,9,225,9,61,0,166,9,227,9,38,0,166,9,205,9,143,9,61,0,166,9,199,9,38,0,166,9,205,9,144,9,61,0,166,9,200,9,38,0,166,9,205,9,147,9,61,0,166,9,203,9,38,0,166,9,205,9,148,9,61,0,166,9,204,9,38,0,167,9,205,9,133,9,61,0,167,9,38,0,167,9,205,9,134,9,61,0,167,9,190,9,38,0,167,9,205,9,135,9,61,0,167,9,191,9,38,0,167,9,205,9,136,9,61,0,167,9,192,9,38,0,167,9,205,9,137,9,61,0,167,9,193,9,38,0,167,9,205,9,138,9,61,0,167,9,194,9,38,0,167,9,205,9,139,9,61,0,167,9,195,9,38,0,167,9,205,9,224,9,61,0,167,9,196,9,38,0,167,9,205,9,140,9,61,0,167,9,226,9,38,0,167,9,205,9,225,9,61,0,167,9,227,9,38,0,167,9,205,9,143,9,61,0,167,9,199,9,38,0,167,9,205,9,144,9,61,0,167,9,200,9,38,0,167,9,205,9,147,9,61,0,167,9,203,9,38,0,167,9,205,9,148,9,61,0,167,9,204,9,38,0,168,9,205,9,133,9,61,0,168,9,38,0,168,9,205,9,134,9,61,0,168,9,190,9,38,0,168,9,205,9,135,9,61,0,168,9,191,9,38,0,168,9,205,9,136,9,61,0,168,9,192,9,38,0,168,9,205,9,137,9,61,0,168,9,193,9,38,0,168,9,205,9,138,9,61,0,168,9,194,9,38,0,168,9,205,9,139,9,61,0,168,9,195,9,38,0,168,9,205,9,224,9,61,0,168,9,196,9,38,0,168,9,205,9,140,9,61,0,168,9,226,9,38,0,168,9,205,9,225,9,61,0,168,9,227,9,38,0,168,9,205,9,143,9,61,0,168,9,199,9,38,0,168,9,205,9,144,9,61,0,168,9,200,9,38,0,168,9,205,9,147,9,61,0,168,9,203,9,38,0,168,9,205,9,148,9,61,0,168,9,204,9,38,0,170,9,205,9,133,9,61,0,170,9,38,0,170,9,205,9,134,9,61,0,170,9,190,9,38,0,170,9,205,9,135,9,61,0,170,9,191,9,38,0,170,9,205,9,136,9,61,0,170,9,192,9,38,0,170,9,205,9,137,9,61,0,170,9,193,9,38,0,170,9,205,9,138,9,61,0,170,9,194,9,38,0,170,9,205,9,139,9,61,0,170,9,195,9,38,0,170,9,205,9,224,9,61,0,170,9,196,9,38,0,170,9,205,9,140,9,61,0,170,9,226,9,38,0,170,9,205,9,225,9,61,0,170,9,227,9,38,0,170,9,205,9,143,9,61,0,170,9,199,9,38,0,170,9,205,9,144,9,61,0,170,9,200,9,38,0,170,9,205,9,147,9,61,0,170,9,203,9,38,0,170,9,205,9,148,9,61,0,170,9,204,9,38,0,171,9,205,9,133,9,61,0,171,9,38,0,171,9,205,9,134,9,61,0,171,9,190,9,38,0,171,9,205,9,135,9,61,0,171,9,191,9,38,0,171,9,205,9,136,9,61,0,171,9,192,9,38,0,171,9,205,9,137,9,61,0,171,9,193,9,38,0,171,9,205,9,138,9,61,0,171,9,194,9,38,0,171,9,205,9,139,9,61,0,171,9,195,9,38,0,171,9,205,9,224,9,61,0,171,9,196,9,38,0,171,9,205,9,140,9,61,0,171,9,226,9,38,0,171,9,205,9,225,9,61,0,171,9,227,9,38,0,171,9,205,9,143,9,61,0,171,9,199,9,38,0,171,9,205,9,144,9,61,0,171,9,200,9,38,0,171,9,205,9,147,9,61,0,171,9,203,9,38,0,171,9,205,9,148,9,61,0,171,9,204,9,38,0,172,9,205,9,133,9,61,0,172,9,38,0,172,9,205,9,134,9,61,0,172,9,190,9,38,0,172,9,205,9,135,9,61,0,172,9,191,9,38,0,172,9,205,9,136,9,61,0,172,9,192,9,38,0,172,9,205,9,137,9,61,0,172,9,193,9,38,0,172,9,205,9,138,9,61,0,172,9,194,9,38,0,172,9,205,9,139,9,61,0,172,9,195,9,38,0,172,9,205,9,224,9,61,0,172,9,196,9,38,0,172,9,205,9,140,9,61,0,172,9,226,9,38,0,172,9,205,9,225,9,61,0,172,9,227,9,38,0,172,9,205,9,143,9,61,0,172,9,199,9,38,0,172,9,205,9,144,9,61,0,172,9,200,9,38,0,172,9,205,9,147,9,61,0,172,9,203,9,38,0,172,9,205,9,148,9,61,0,172,9,204,9,38,0,173,9,205,9,133,9,61,0,173,9,38,0,173,9,205,9,134,9,61,0,173,9,190,9,38,0,173,9,205,9,135,9,61,0,173,9,191,9,38,0,173,9,205,9,136,9,61,0,173,9,192,9,38,0,173,9,205,9,137,9,61,0,173,9,193,9,38,0,173,9,205,9,138,9,61,0,173,9,194,9,38,0,173,9,205,9,139,9,61,0,173,9,195,9,38,0,173,9,205,9,224,9,61,0,173,9,196,9,38,0,173,9,205,9,140,9,61,0,173,9,226,9,38,0,173,9,205,9,225,9,61,0,173,9,227,9,38,0,173,9,205,9,143,9,61,0,173,9,199,9,38,0,173,9,205,9,144,9,61,0,173,9,200,9,38,0,173,9,205,9,147,9,61,0,173,9,203,9,38,0,173,9,205,9,148,9,61,0,173,9,204,9,38,0,174,9,205,9,133,9,61,0,174,9,38,0,174,9,205,9,134,9,61,0,174,9,190,9,38,0,174,9,205,9,135,9,61,0,174,9,191,9,38,0,174,9,205,9,136,9,61,0,174,9,192,9,38,0,174,9,205,9,137,9,61,0,174,9,193,9,38,0,174,9,205,9,138,9,61,0,174,9,194,9,38,0,174,9,205,9,139,9,61,0,174,9,195,9,38,0,174,9,205,9,224,9,61,0,174,9,196,9,38,0,174,9,205,9,140,9,61,0,174,9,226,9,38,0,174,9,205,9,225,9,61,0,174,9,227,9,38,0,174,9,205,9,143,9,61,0,174,9,199,9,38,0,174,9,205,9,144,9,61,0,174,9,200,9,38,0,174,9,205,9,147,9,61,0,174,9,203,9,38,0,174,9,205,9,148,9,61,0,174,9,204,9,38,0,175,9,205,9,133,9,61,0,175,9,38,0,175,9,205,9,134,9,61,0,175,9,190,9,38,0,175,9,205,9,135,9,61,0,175,9,191,9,38,0,175,9,205,9,136,9,61,0,175,9,192,9,38,0,175,9,205,9,137,9,61,0,175,9,193,9,38,0,175,9,205,9,138,9,61,0,175,9,194,9,38,0,175,9,205,9,139,9,61,0,175,9,195,9,38,0,175,9,205,9,224,9,61,0,175,9,196,9,38,0,175,9,205,9,140,9,61,0,175,9,226,9,38,0,175,9,205,9,225,9,61,0,175,9,227,9,38,0,175,9,205,9,143,9,61,0,175,9,199,9,38,0,175,9,205,9,144,9,61,0,175,9,200,9,38,0,175,9,205,9,147,9,61,0,175,9,203,9,38,0,175,9,205,9,148,9,61,0,175,9,204,9,38,0,176,9,205,9,133,9,61,0,176,9,38,0,176,9,205,9,134,9,61,0,176,9,190,9,38,0,176,9,205,9,135,9,61,0,176,9,191,9,38,0,176,9,205,9,136,9,61,0,176,9,192,9,38,0,176,9,205,9,137,9,61,0,176,9,193,9,38,0,176,9,205,9,138,9,61,0,176,9,194,9,38,0,176,9,205,9,139,9,61,0,176,9,195,9,38,0,176,9,205,9,224,9,61,0,176,9,196,9,38,0,176,9,205,9,140,9,61,0,176,9,226,9,38,0,176,9,205,9,225,9,61,0,176,9,227,9,38,0,176,9,205,9,143,9,61,0,176,9,199,9,38,0,176,9,205,9,144,9,61,0,176,9,200,9,38,0,176,9,205,9,147,9,61,0,176,9,203,9,38,0,176,9,205,9,148,9,61,0,176,9,204,9,38,0,240,9,205,9,133,9,61,0,240,9,38,0,240,9,205,9,134,9,61,0,240,9,190,9,38,0,240,9,205,9,135,9,61,0,240,9,191,9,38,0,240,9,205,9,136,9,61,0,240,9,192,9,38,0,240,9,205,9,137,9,61,0,240,9,193,9,38,0,240,9,205,9,138,9,61,0,240,9,194,9,38,0,240,9,205,9,139,9,61,0,240,9,195,9,38,0,240,9,205,9,224,9,61,0,240,9,196,9,38,0,240,9,205,9,140,9,61,0,240,9,226,9,38,0,240,9,205,9,225,9,61,0,240,9,227,9,38,0,240,9,205,9,143,9,61,0,240,9,199,9,38,0,240,9,205,9,144,9,61,0,240,9,200,9,38,0,240,9,205,9,147,9,61,0,240,9,203,9,38,0,240,9,205,9,148,9,61,0,240,9,204,9,38,0,178,9,205,9,133,9,61,0,178,9,38,0,178,9,205,9,134,9,61,0,178,9,190,9,38,0,178,9,205,9,135,9,61,0,178,9,191,9,38,0,178,9,205,9,136,9,61,0,178,9,192,9,38,0,178,9,205,9,137,9,61,0,178,9,193,9,38,0,178,9,205,9,138,9,61,0,178,9,194,9,38,0,178,9,205,9,139,9,61,0,178,9,195,9,38,0,178,9,205,9,224,9,61,0,178,9,196,9,38,0,178,9,205,9,140,9,61,0,178,9,226,9,38,0,178,9,205,9,225,9,61,0,178,9,227,9,38,0,178,9,205,9,143,9,61,0,178,9,199,9,38,0,178,9,205,9,144,9,61,0,178,9,200,9,38,0,178,9,205,9,147,9,61,0,178,9,203,9,38,0,178,9,205,9,148,9,61,0,178,9,204,9,38,0,241,9,205,9,133,9,61,0,241,9,38,0,241,9,205,9,134,9,61,0,241,9,190,9,38,0,241,9,205,9,135,9,61,0,241,9,191,9,38,0,241,9,205,9,136,9,61,0,241,9,192,9,38,0,241,9,205,9,137,9,61,0,241,9,193,9,38,0,241,9,205,9,138,9,61,0,241,9,194,9,38,0,241,9,205,9,139,9,61,0,241,9,195,9,38,0,241,9,205,9,224,9,61,0,241,9,196,9,38,0,241,9,205,9,140,9,61,0,241,9,226,9,38,0,241,9,205,9,225,9,61,0,241,9,227,9,38,0,241,9,205,9,143,9,61,0,241,9,199,9,38,0,241,9,205,9,144,9,61,0,241,9,200,9,38,0,241,9,205,9,147,9,61,0,241,9,203,9,38,0,241,9,205,9,148,9,61,0,241,9,204,9,38,0,182,9,205,9,133,9,61,0,182,9,38,0,182,9,205,9,134,9,61,0,182,9,190,9,38,0,182,9,205,9,135,9,61,0,182,9,191,9,38,0,182,9,205,9,136,9,61,0,182,9,192,9,38,0,182,9,205,9,137,9,61,0,182,9,193,9,38,0,182,9,205,9,138,9,61,0,182,9,194,9,38,0,182,9,205,9,139,9,61,0,182,9,195,9,38,0,182,9,205,9,224,9,61,0,182,9,196,9,38,0,182,9,205,9,140,9,61,0,182,9,226,9,38,0,182,9,205,9,225,9,61,0,182,9,227,9,38,0,182,9,205,9,143,9,61,0,182,9,199,9,38,0,182,9,205,9,144,9,61,0,182,9,200,9,38,0,182,9,205,9,147,9,61,0,182,9,203,9,38,0,182,9,205,9,148,9,61,0,182,9,204,9,38,0,183,9,205,9,133,9,61,0,183,9,38,0,183,9,205,9,134,9,61,0,183,9,190,9,38,0,183,9,205,9,135,9,61,0,183,9,191,9,38,0,183,9,205,9,136,9,61,0,183,9,192,9,38,0,183,9,205,9,137,9,61,0,183,9,193,9,38,0,183,9,205,9,138,9,61,0,183,9,194,9,38,0,183,9,205,9,139,9,61,0,183,9,195,9,38,0,183,9,205,9,224,9,61,0,183,9,196,9,38,0,183,9,205,9,140,9,61,0,183,9,226,9,38,0,183,9,205,9,225,9,61,0,183,9,227,9,38,0,183,9,205,9,143,9,61,0,183,9,199,9,38,0,183,9,205,9,144,9,61,0,183,9,200,9,38,0,183,9,205,9,147,9,61,0,183,9,203,9,38,0,183,9,205,9,148,9,61,0,183,9,204,9,38,0,184,9,205,9,133,9,61,0,184,9,38,0,184,9,205,9,134,9,61,0,184,9,190,9,38,0,184,9,205,9,135,9,61,0,184,9,191,9,38,0,184,9,205,9,136,9,61,0,184,9,192,9,38,0,184,9,205,9,137,9,61,0,184,9,193,9,38,0,184,9,205,9,138,9,61,0,184,9,194,9,38,0,184,9,205,9,139,9,61,0,184,9,195,9,38,0,184,9,205,9,224,9,61,0,184,9,196,9,38,0,184,9,205,9,140,9,61,0,184,9,226,9,38,0,184,9,205,9,225,9,61,0,184,9,227,9,38,0,184,9,205,9,143,9,61,0,184,9,199,9,38,0,184,9,205,9,144,9,61,0,184,9,200,9,38,0,184,9,205,9,147,9,61,0,184,9,203,9,38,0,184,9,205,9,148,9,61,0,184,9,204,9,38,0,185,9,205,9,133,9,61,0,185,9,38,0,185,9,205,9,134,9,61,0,185,9,190,9,38,0,185,9,205,9,135,9,61,0,185,9,191,9,38,0,185,9,205,9,136,9,61,0,185,9,192,9,38,0,185,9,205,9,137,9,61,0,185,9,193,9,38,0,185,9,205,9,138,9,61,0,185,9,194,9,38,0,185,9,205,9,139,9,61,0,185,9,195,9,38,0,185,9,205,9,224,9,61,0,185,9,196,9,38,0,185,9,205,9,140,9,61,0,185,9,226,9,38,0,185,9,205,9,225,9,61,0,185,9,227,9,38,0,185,9,205,9,143,9,61,0,185,9,199,9,38,0,185,9,205,9,144,9,61,0,185,9,200,9,38,0,185,9,205,9,147,9,61,0,185,9,203,9,38,0,185,9,205,9,148,9,61,0,185,9,204,9,38,0,149,9,60,0,60,0,60,0,149,9,188,9,38,0,149,9,190,9,60,0,60,0,60,0,149,9,188,9,190,9,38,0,149,9,191,9,60,0,60,0,60,0,149,9,188,9,191,9,38,0,149,9,192,9,60,0,60,0,60,0,149,9,188,9,192,9,38,0,149,9,193,9,60,0,60,0,60,0,149,9,188,9,193,9,38,0,149,9,194,9,60,0,60,0,60,0,149,9,188,9,194,9,38,0,149,9,195,9,60,0,60,0,60,0,149,9,188,9,195,9,38,0,149,9,196,9,60,0,60,0,60,0,149,9,188,9,196,9,38,0,149,9,226,9,60,0,60,0,60,0,149,9,188,9,226,9,38,0,149,9,227,9,60,0,60,0,60,0,149,9,188,9,227,9,38,0,149,9,199,9,60,0,60,0,60,0,149,9,188,9,199,9,38,0,149,9,200,9,60,0,60,0,60,0,149,9,188,9,200,9,38,0,149,9,203,9,60,0,60,0,60,0,149,9,188,9,203,9,38,0,149,9,204,9,60,0,60,0,60,0,149,9,188,9,204,9,38,0,149,9,205,9,60,0,60,0,60,0,149,9,188,9,205,9,38,0,150,9,60,0,60,0,60,0,150,9,188,9,38,0,150,9,190,9,60,0,60,0,60,0,150,9,188,9,190,9,38,0,150,9,191,9,60,0,60,0,60,0,150,9,188,9,191,9,38,0,150,9,192,9,60,0,60,0,60,0,150,9,188,9,192,9,38,0,150,9,193,9,60,0,60,0,60,0,150,9,188,9,193,9,38,0,150,9,194,9,60,0,60,0,60,0,150,9,188,9,194,9,38,0,150,9,195,9,60,0,60,0,60,0,150,9,188,9,195,9,38,0,150,9,196,9,60,0,60,0,60,0,150,9,188,9,196,9,38,0,150,9,226,9,60,0,60,0,60,0,150,9,188,9,226,9,38,0,150,9,227,9,60,0,60,0,60,0,150,9,188,9,227,9,38,0,150,9,199,9,60,0,60,0,60,0,150,9,188,9,199,9,38,0,150,9,200,9,60,0,60,0,60,0,150,9,188,9,200,9,38,0,150,9,203,9,60,0,60,0,60,0,150,9,188,9,203,9,38,0,150,9,204,9,60,0,60,0,60,0,150,9,188,9,204,9,38,0,150,9,205,9,60,0,60,0,60,0,150,9,188,9,205,9,38,0,151,9,60,0,60,0,60,0,151,9,188,9,38,0,151,9,190,9,60,0,60,0,60,0,151,9,188,9,190,9,38,0,151,9,191,9,60,0,60,0,60,0,151,9,188,9,191,9,38,0,151,9,192,9,60,0,60,0,60,0,151,9,188,9,192,9,38,0,151,9,193,9,60,0,60,0,60,0,151,9,188,9,193,9,38,0,151,9,194,9,60,0,60,0,60,0,151,9,188,9,194,9,38,0,151,9,195,9,60,0,60,0,60,0,151,9,188,9,195,9,38,0,151,9,196,9,60,0,60,0,60,0,151,9,188,9,196,9,38,0,151,9,226,9,60,0,60,0,60,0,151,9,188,9,226,9,38,0,151,9,227,9,60,0,60,0,60,0,151,9,188,9,227,9,38,0,151,9,199,9,60,0,60,0,60,0,151,9,188,9,199,9,38,0,151,9,200,9,60,0,60,0,60,0,151,9,188,9,200,9,38,0,151,9,203,9,60,0,60,0,60,0,151,9,188,9,203,9,38,0,151,9,204,9,60,0,60,0,60,0,151,9,188,9,204,9,38,0,151,9,205,9,60,0,60,0,60,0,151,9,188,9,205,9,38,0,156,9,60,0,60,0,60,0,156,9,188,9,38,0,156,9,190,9,60,0,60,0,60,0,156,9,188,9,190,9,38,0,156,9,191,9,60,0,60,0,60,0,156,9,188,9,191,9,38,0,156,9,192,9,60,0,60,0,60,0,156,9,188,9,192,9,38,0,156,9,193,9,60,0,60,0,60,0,156,9,188,9,193,9,38,0,156,9,194,9,60,0,60,0,60,0,156,9,188,9,194,9,38,0,156,9,195,9,60,0,60,0,60,0,156,9,188,9,195,9,38,0,156,9,196,9,60,0,60,0,60,0,156,9,188,9,196,9,38,0,156,9,226,9,60,0,60,0,60,0,156,9,188,9,226,9,38,0,156,9,227,9,60,0,60,0,60,0,156,9,188,9,227,9,38,0,156,9,199,9,60,0,60,0,60,0,156,9,188,9,199,9,38,0,156,9,200,9,60,0,60,0,60,0,156,9,188,9,200,9,38,0,156,9,203,9,60,0,60,0,60,0,156,9,188,9,203,9,38,0,156,9,204,9,60,0,60,0,60,0,156,9,188,9,204,9,38,0,156,9,205,9,60,0,60,0,60,0,156,9,188,9,205,9,38,0,161,9,60,0,60,0,60,0,161,9,188,9,38,0,161,9,190,9,60,0,60,0,60,0,161,9,188,9,190,9,38,0,161,9,191,9,60,0,60,0,60,0,161,9,188,9,191,9,38,0,161,9,192,9,60,0,60,0,60,0,161,9,188,9,192,9,38,0,161,9,193,9,60,0,60,0,60,0,161,9,188,9,193,9,38,0,161,9,194,9,60,0,60,0,60,0,161,9,188,9,194,9,38,0,161,9,195,9,60,0,60,0,60,0,161,9,188,9,195,9,38,0,161,9,196,9,60,0,60,0,60,0,161,9,188,9,196,9,38,0,161,9,226,9,60,0,60,0,60,0,161,9,188,9,226,9,38,0,161,9,227,9,60,0,60,0,60,0,161,9,188,9,227,9,38,0,161,9,199,9,60,0,60,0,60,0,161,9,188,9,199,9,38,0,161,9,200,9,60,0,60,0,60,0,161,9,188,9,200,9,38,0,161,9,203,9,60,0,60,0,60,0,161,9,188,9,203,9,38,0,161,9,204,9,60,0,60,0,60,0,161,9,188,9,204,9,38,0,161,9,205,9,60,0,60,0,60,0,161,9,188,9,205,9,38,0,162,9,60,0,60,0,60,0,162,9,188,9,38,0,162,9,190,9,60,0,60,0,60,0,162,9,188,9,190,9,38,0,162,9,191,9,60,0,60,0,60,0,162,9,188,9,191,9,38,0,162,9,192,9,60,0,60,0,60,0,162,9,188,9,192,9,38,0,162,9,193,9,60,0,60,0,60,0,162,9,188,9,193,9,38,0,162,9,194,9,60,0,60,0,60,0,162,9,188,9,194,9,38,0,162,9,195,9,60,0,60,0,60,0,162,9,188,9,195,9,38,0,162,9,196,9,60,0,60,0,60,0,162,9,188,9,196,9,38,0,162,9,226,9,60,0,60,0,60,0,162,9,188,9,226,9,38,0,162,9,227,9,60,0,60,0,60,0,162,9,188,9,227,9,38,0,162,9,199,9,60,0,60,0,60,0,162,9,188,9,199,9,38,0,162,9,200,9,60,0,60,0,60,0,162,9,188,9,200,9,38,0,162,9,203,9,60,0,60,0,60,0,162,9,188,9,203,9,38,0,162,9,204,9,60,0,60,0,60,0,162,9,188,9,204,9,38,0,162,9,205,9,60,0,60,0,60,0,162,9,188,9,205,9,38,0,171,9,60,0,60,0,60,0,171,9,188,9,38,0,171,9,190,9,60,0,60,0,60,0,171,9,188,9,190,9,38,0,171,9,191,9,60,0,60,0,60,0,171,9,188,9,191,9,38,0,171,9,192,9,60,0,60,0,60,0,171,9,188,9,192,9,38,0,171,9,193,9,60,0,60,0,60,0,171,9,188,9,193,9,38,0,171,9,194,9,60,0,60,0,60,0,171,9,188,9,194,9,38,0,171,9,195,9,60,0,60,0,60,0,171,9,188,9,195,9,38,0,171,9,196,9,60,0,60,0,60,0,171,9,188,9,196,9,38,0,171,9,226,9,60,0,60,0,60,0,171,9,188,9,226,9,38,0,171,9,227,9,60,0,60,0,60,0,171,9,188,9,227,9,38,0,171,9,199,9,60,0,60,0,60,0,171,9,188,9,199,9,38,0,171,9,200,9,60,0,60,0,60,0,171,9,188,9,200,9,38,0,171,9,203,9,60,0,60,0,60,0,171,9,188,9,203,9,38,0,171,9,204,9,60,0,60,0,60,0,171,9,188,9,204,9,38,0,171,9,205,9,60,0,60,0,60,0,171,9,188,9,205,9,38,0,172,9,60,0,60,0,60,0,172,9,188,9,38,0,172,9,190,9,60,0,60,0,60,0,172,9,188,9,190,9,38,0,172,9,191,9,60,0,60,0,60,0,172,9,188,9,191,9,38,0,172,9,192,9,60,0,60,0,60,0,172,9,188,9,192,9,38,0,172,9,193,9,60,0,60,0,60,0,172,9,188,9,193,9,38,0,172,9,194,9,60,0,60,0,60,0,172,9,188,9,194,9,38,0,172,9,195,9,60,0,60,0,60,0,172,9,188,9,195,9,38,0,172,9,196,9,60,0,60,0,60,0,172,9,188,9,196,9,38,0,172,9,226,9,60,0,60,0,60,0,172,9,188,9,226,9,38,0,172,9,227,9,60,0,60,0,60,0,172,9,188,9,227,9,38,0,172,9,199,9,60,0,60,0,60,0,172,9,188,9,199,9,38,0,172,9,200,9,60,0,60,0,60,0,172,9,188,9,200,9,38,0,172,9,203,9,60,0,60,0,60,0,172,9,188,9,203,9,38,0,172,9,204,9,60,0,60,0,60,0,172,9,188,9,204,9,38,0,172,9,205,9,60,0,60,0,60,0,172,9,188,9,205,9,38,0,175,9,60,0,60,0,60,0,175,9,188,9,38,0,175,9,190,9,60,0,60,0,60,0,175,9,188,9,190,9,38,0,175,9,191,9,60,0,60,0,60,0,175,9,188,9,191,9,38,0,175,9,192,9,60,0,60,0,60,0,175,9,188,9,192,9,38,0,175,9,193,9,60,0,60,0,60,0,175,9,188,9,193,9,38,0,175,9,194,9,60,0,60,0,60,0,175,9,188,9,194,9,38,0,175,9,195,9,60,0,60,0,60,0,175,9,188,9,195,9,38,0,175,9,196,9,60,0,60,0,60,0,175,9,188,9,196,9,38,0,175,9,226,9,60,0,60,0,60,0,175,9,188,9,226,9,38,0,175,9,227,9,60,0,60,0,60,0,175,9,188,9,227,9,38,0,175,9,199,9,60,0,60,0,60,0,175,9,188,9,199,9,38,0,175,9,200,9,60,0,60,0,60,0,175,9,188,9,200,9,38,0,175,9,203,9,60,0,60,0,60,0,175,9,188,9,203,9,38,0,175,9,204,9,60,0,60,0,60,0,175,9,188,9,204,9,38,0,175,9,205,9,60,0,60,0,60,0,175,9,188,9,205,9,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,112,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,116,0,0,0,116,1,0,0,20,25,0,0,20,25,0,0,20,25,0,0,20,25,0,0,88,25,0,0,4,0,0,0,10,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,105,190,255,0,106,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,39,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,113,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,35,105,193,2,35,105,193,3,35,105,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,115,9,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,188,67,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,128,0,0,0,128,1,0,0,144,26,0,0,144,26,0,0,184,27,0,0,184,27,0,0,92,46,0,0,92,46,0,0,142,67,0,0,164,67,0,0,4,0,0,0,10,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,105,190,255,0,106,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,39,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,136,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,111,0,119,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,147,0,202,1,148,0,202,34,148,0,202,67,148,0,202,100,148,0,202,133,148,0,202,166,148,0,202,199,148,0,202,232,148,0,202,9,149,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,147,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,147,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,147,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,35,105,193,2,35,105,193,3,35,105,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,4,0,0,201,164,14,0,201,68,29,0,201,4,44,0,201,100,51,0,201,196,58,0,201,36,66,0,201,132,73,0,201,68,88,0,201,164,95,0,201,4,103,0,201,100,110,0,201,196,117,0,201,132,132,0,201,68,147,0,201,164,154,0,201,132,162,0,201,228,169,0,201,68,177,0,201,164,184,0,192,0,0,0,201,4,192,0,201,100,199,0,201,36,214,0,201,228,228,0,201,68,236,0,201,164,243,0,201,100,2,1,192,0,0,0,201,196,9,1,192,0,0,0,192,0,0,0,192,0,0,0,201,36,17,1,201,132,24,1,201,228,31,1,201,68,39,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,20,35,105,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,164,46,1,201,228,53,1,192,0,0,0,201,36,61,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,100,68,1,201,196,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,6,0,5,0,5,35,105,0,6,0,5,0,6,35,105,0,6,0,5,0,7,35,105,0,6,0,5,0,12,35,105,0,6,0,5,0,17,35,105,0,6,0,5,0,18,35,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,8,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,10,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,12,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,14,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,16,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,18,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,20,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,22,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,28,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,32,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,34,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,30,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,24,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,26,105,0,6,0,5,0,26,35,105,0,6,0,5,0,27,35,105,0,6,0,5,0,30,35,105,0,0,0,0,193,5,35,105,5,5,8,105,193,5,35,105,14,5,8,105,193,5,35,105,14,5,10,105,193,5,35,105,14,5,12,105,193,5,35,105,14,5,14,105,193,5,35,105,14,5,16,105,193,5,35,105,14,5,18,105,193,5,35,105,14,5,20,105,193,5,35,105,14,5,22,105,193,5,35,105,14,5,28,105,193,5,35,105,14,5,32,105,193,5,35,105,14,5,34,105,193,5,35,105,14,5,30,105,193,5,35,105,14,5,24,105,193,5,35,105,14,5,26,105,193,5,35,105,5,5,10,105,193,5,35,105,5,5,12,105,193,5,35,105,5,5,14,105,193,5,35,105,5,5,16,105,193,5,35,105,5,5,18,105,193,5,35,105,5,5,20,105,193,5,35,105,5,5,22,105,193,5,35,105,5,5,28,105,193,5,35,105,5,5,32,105,193,5,35,105,5,5,34,105,193,5,35,105,5,5,30,105,193,5,35,105,5,5,24,105,193,5,35,105,5,5,26,105,193,6,35,105,5,5,8,105,193,6,35,105,13,5,8,105,193,6,35,105,13,5,10,105,193,6,35,105,13,5,12,105,193,6,35,105,13,5,14,105,193,6,35,105,13,5,16,105,193,6,35,105,13,5,18,105,193,6,35,105,13,5,20,105,193,6,35,105,13,5,22,105,193,6,35,105,13,5,28,105,193,6,35,105,13,5,32,105,193,6,35,105,13,5,34,105,193,6,35,105,13,5,30,105,193,6,35,105,13,5,24,105,193,6,35,105,13,5,26,105,193,6,35,105,5,5,10,105,193,6,35,105,5,5,12,105,193,6,35,105,5,5,14,105,193,6,35,105,5,5,16,105,193,6,35,105,5,5,18,105,193,6,35,105,5,5,20,105,193,6,35,105,5,5,22,105,193,6,35,105,5,5,28,105,193,6,35,105,5,5,32,105,193,6,35,105,5,5,34,105,193,6,35,105,5,5,30,105,193,6,35,105,5,5,24,105,193,6,35,105,5,5,26,105,193,7,35,105,5,5,8,105,193,7,35,105,12,5,8,105,193,7,35,105,12,5,10,105,193,7,35,105,12,5,12,105,193,7,35,105,12,5,14,105,193,7,35,105,12,5,16,105,193,7,35,105,12,5,18,105,193,7,35,105,12,5,20,105,193,7,35,105,12,5,22,105,193,7,35,105,12,5,28,105,193,7,35,105,12,5,32,105,193,7,35,105,12,5,34,105,193,7,35,105,12,5,30,105,193,7,35,105,12,5,24,105,193,7,35,105,12,5,26,105,193,7,35,105,5,5,10,105,193,7,35,105,5,5,12,105,193,7,35,105,5,5,14,105,193,7,35,105,5,5,16,105,193,7,35,105,5,5,18,105,193,7,35,105,5,5,20,105,193,7,35,105,5,5,22,105,193,7,35,105,5,5,28,105,193,7,35,105,5,5,32,105,193,7,35,105,5,5,34,105,193,7,35,105,5,5,30,105,193,7,35,105,5,5,24,105,193,7,35,105,5,5,26,105,193,8,35,105,5,5,8,105,193,8,35,105,5,5,10,105,193,8,35,105,5,5,12,105,193,8,35,105,5,5,14,105,193,8,35,105,5,5,16,105,193,8,35,105,5,5,18,105,193,8,35,105,5,5,20,105,193,8,35,105,5,5,22,105,193,8,35,105,5,5,28,105,193,8,35,105,5,5,32,105,193,8,35,105,5,5,34,105,193,8,35,105,5,5,30,105,193,8,35,105,5,5,24,105,193,8,35,105,5,5,26,105,193,9,35,105,5,5,8,105,193,9,35,105,5,5,10,105,193,9,35,105,5,5,12,105,193,9,35,105,5,5,14,105,193,9,35,105,5,5,16,105,193,9,35,105,5,5,18,105,193,9,35,105,5,5,20,105,193,9,35,105,5,5,22,105,193,9,35,105,5,5,28,105,193,9,35,105,5,5,32,105,193,9,35,105,5,5,34,105,193,9,35,105,5,5,30,105,193,9,35,105,5,5,24,105,193,9,35,105,5,5,26,105,193,10,35,105,5,5,8,105,193,10,35,105,5,5,10,105,193,10,35,105,5,5,12,105,193,10,35,105,5,5,14,105,193,10,35,105,5,5,16,105,193,10,35,105,5,5,18,105,193,10,35,105,5,5,20,105,193,10,35,105,5,5,22,105,193,10,35,105,5,5,28,105,193,10,35,105,5,5,32,105,193,10,35,105,5,5,34,105,193,10,35,105,5,5,30,105,193,10,35,105,5,5,24,105,193,10,35,105,5,5,26,105,193,11,35,105,5,5,8,105,193,11,35,105,5,5,10,105,193,11,35,105,5,5,12,105,193,11,35,105,5,5,14,105,193,11,35,105,5,5,16,105,193,11,35,105,5,5,18,105,193,11,35,105,5,5,20,105,193,11,35,105,5,5,22,105,193,11,35,105,5,5,28,105,193,11,35,105,5,5,32,105,193,11,35,105,5,5,34,105,193,11,35,105,5,5,30,105,193,11,35,105,5,5,24,105,193,11,35,105,5,5,26,105,193,12,35,105,5,5,8,105,193,12,35,105,11,5,8,105,193,12,35,105,11,5,10,105,193,12,35,105,11,5,12,105,193,12,35,105,11,5,14,105,193,12,35,105,11,5,16,105,193,12,35,105,11,5,18,105,193,12,35,105,11,5,20,105,193,12,35,105,11,5,22,105,193,12,35,105,11,5,28,105,193,12,35,105,11,5,32,105,193,12,35,105,11,5,34,105,193,12,35,105,11,5,30,105,193,12,35,105,11,5,24,105,193,12,35,105,11,5,26,105,193,12,35,105,5,5,10,105,193,12,35,105,5,5,12,105,193,12,35,105,5,5,14,105,193,12,35,105,5,5,16,105,193,12,35,105,5,5,18,105,193,12,35,105,5,5,20,105,193,12,35,105,5,5,22,105,193,12,35,105,5,5,28,105,193,12,35,105,5,5,32,105,193,12,35,105,5,5,34,105,193,12,35,105,5,5,30,105,193,12,35,105,5,5,24,105,193,12,35,105,5,5,26,105,193,13,35,105,5,5,8,105,193,13,35,105,5,5,10,105,193,13,35,105,5,5,12,105,193,13,35,105,5,5,14,105,193,13,35,105,5,5,16,105,193,13,35,105,5,5,18,105,193,13,35,105,5,5,20,105,193,13,35,105,5,5,22,105,193,13,35,105,5,5,28,105,193,13,35,105,5,5,32,105,193,13,35,105,5,5,34,105,193,13,35,105,5,5,30,105,193,13,35,105,5,5,24,105,193,13,35,105,5,5,26,105,193,14,35,105,5,5,8,105,193,14,35,105,5,5,10,105,193,14,35,105,5,5,12,105,193,14,35,105,5,5,14,105,193,14,35,105,5,5,16,105,193,14,35,105,5,5,18,105,193,14,35,105,5,5,20,105,193,14,35,105,5,5,22,105,193,14,35,105,5,5,28,105,193,14,35,105,5,5,32,105,193,14,35,105,5,5,34,105,193,14,35,105,5,5,30,105,193,14,35,105,5,5,24,105,193,14,35,105,5,5,26,105,193,15,35,105,5,5,8,105,193,15,35,105,5,5,10,105,193,15,35,105,5,5,12,105,193,15,35,105,5,5,14,105,193,15,35,105,5,5,16,105,193,15,35,105,5,5,18,105,193,15,35,105,5,5,20,105,193,15,35,105,5,5,22,105,193,15,35,105,5,5,28,105,193,15,35,105,5,5,32,105,193,15,35,105,5,5,34,105,193,15,35,105,5,5,30,105,193,15,35,105,5,5,24,105,193,15,35,105,5,5,26,105,193,16,35,105,5,5,8,105,193,16,35,105,5,5,10,105,193,16,35,105,5,5,12,105,193,16,35,105,5,5,14,105,193,16,35,105,5,5,16,105,193,16,35,105,5,5,18,105,193,16,35,105,5,5,20,105,193,16,35,105,5,5,22,105,193,16,35,105,5,5,28,105,193,16,35,105,5,5,32,105,193,16,35,105,5,5,34,105,193,16,35,105,5,5,30,105,193,16,35,105,5,5,24,105,193,16,35,105,5,5,26,105,193,17,35,105,5,5,8,105,193,17,35,105,10,5,8,105,193,17,35,105,10,5,10,105,193,17,35,105,10,5,12,105,193,17,35,105,10,5,14,105,193,17,35,105,10,5,16,105,193,17,35,105,10,5,18,105,193,17,35,105,10,5,20,105,193,17,35,105,10,5,22,105,193,17,35,105,10,5,28,105,193,17,35,105,10,5,32,105,193,17,35,105,10,5,34,105,193,17,35,105,10,5,30,105,193,17,35,105,10,5,24,105,193,17,35,105,10,5,26,105,193,17,35,105,5,5,10,105,193,17,35,105,5,5,12,105,193,17,35,105,5,5,14,105,193,17,35,105,5,5,16,105,193,17,35,105,5,5,18,105,193,17,35,105,5,5,20,105,193,17,35,105,5,5,22,105,193,17,35,105,5,5,28,105,193,17,35,105,5,5,32,105,193,17,35,105,5,5,34,105,193,17,35,105,5,5,30,105,193,17,35,105,5,5,24,105,193,17,35,105,5,5,26,105,193,18,35,105,5,5,8,105,193,18,35,105,9,5,8,105,193,18,35,105,9,5,10,105,193,18,35,105,9,5,12,105,193,18,35,105,9,5,14,105,193,18,35,105,9,5,16,105,193,18,35,105,9,5,18,105,193,18,35,105,9,5,20,105,193,18,35,105,9,5,22,105,193,18,35,105,9,5,28,105,193,18,35,105,9,5,32,105,193,18,35,105,9,5,34,105,193,18,35,105,9,5,30,105,193,18,35,105,9,5,24,105,193,18,35,105,9,5,26,105,193,18,35,105,5,5,10,105,193,18,35,105,5,5,12,105,193,18,35,105,5,5,14,105,193,18,35,105,5,5,16,105,193,18,35,105,5,5,18,105,193,18,35,105,5,5,20,105,193,18,35,105,5,5,22,105,193,18,35,105,5,5,28,105,193,18,35,105,5,5,32,105,193,18,35,105,5,5,34,105,193,18,35,105,5,5,30,105,193,18,35,105,5,5,24,105,193,18,35,105,5,5,26,105,193,19,35,105,5,5,8,105,193,19,35,105,5,5,10,105,193,19,35,105,5,5,12,105,193,19,35,105,5,5,14,105,193,19,35,105,5,5,16,105,193,19,35,105,5,5,18,105,193,19,35,105,5,5,20,105,193,19,35,105,5,5,22,105,193,19,35,105,5,5,28,105,193,19,35,105,5,5,32,105,193,19,35,105,5,5,34,105,193,19,35,105,5,5,30,105,193,19,35,105,5,5,24,105,193,19,35,105,5,5,26,105,193,21,35,105,5,5,8,105,193,21,35,105,5,5,10,105,193,21,35,105,5,5,12,105,193,21,35,105,5,5,14,105,193,21,35,105,5,5,16,105,193,21,35,105,5,5,18,105,193,21,35,105,5,5,20,105,193,21,35,105,5,5,22,105,193,21,35,105,5,5,28,105,193,21,35,105,5,5,32,105,193,21,35,105,5,5,34,105,193,21,35,105,5,5,30,105,193,21,35,105,5,5,24,105,193,21,35,105,5,5,26,105,193,22,35,105,5,5,8,105,193,22,35,105,5,5,10,105,193,22,35,105,5,5,12,105,193,22,35,105,5,5,14,105,193,22,35,105,5,5,16,105,193,22,35,105,5,5,18,105,193,22,35,105,5,5,20,105,193,22,35,105,5,5,22,105,193,22,35,105,5,5,28,105,193,22,35,105,5,5,32,105,193,22,35,105,5,5,34,105,193,22,35,105,5,5,30,105,193,22,35,105,5,5,24,105,193,22,35,105,5,5,26,105,193,23,35,105,5,5,8,105,193,23,35,105,5,5,10,105,193,23,35,105,5,5,12,105,193,23,35,105,5,5,14,105,193,23,35,105,5,5,16,105,193,23,35,105,5,5,18,105,193,23,35,105,5,5,20,105,193,23,35,105,5,5,22,105,193,23,35,105,5,5,28,105,193,23,35,105,5,5,32,105,193,23,35,105,5,5,34,105,193,23,35,105,5,5,30,105,193,23,35,105,5,5,24,105,193,23,35,105,5,5,26,105,193,24,35,105,5,5,8,105,193,24,35,105,5,5,10,105,193,24,35,105,5,5,12,105,193,24,35,105,5,5,14,105,193,24,35,105,5,5,16,105,193,24,35,105,5,5,18,105,193,24,35,105,5,5,20,105,193,24,35,105,5,5,22,105,193,24,35,105,5,5,28,105,193,24,35,105,5,5,32,105,193,24,35,105,5,5,34,105,193,24,35,105,5,5,30,105,193,24,35,105,5,5,24,105,193,24,35,105,5,5,26,105,193,25,35,105,5,5,8,105,193,25,35,105,5,5,10,105,193,25,35,105,5,5,12,105,193,25,35,105,5,5,14,105,193,25,35,105,5,5,16,105,193,25,35,105,5,5,18,105,193,25,35,105,5,5,20,105,193,25,35,105,5,5,22,105,193,25,35,105,5,5,28,105,193,25,35,105,5,5,32,105,193,25,35,105,5,5,34,105,193,25,35,105,5,5,30,105,193,25,35,105,5,5,24,105,193,25,35,105,5,5,26,105,193,26,35,105,5,5,8,105,193,26,35,105,8,5,8,105,193,26,35,105,8,5,10,105,193,26,35,105,8,5,12,105,193,26,35,105,8,5,14,105,193,26,35,105,8,5,16,105,193,26,35,105,8,5,18,105,193,26,35,105,8,5,20,105,193,26,35,105,8,5,22,105,193,26,35,105,8,5,28,105,193,26,35,105,8,5,32,105,193,26,35,105,8,5,34,105,193,26,35,105,8,5,30,105,193,26,35,105,8,5,24,105,193,26,35,105,8,5,26,105,193,26,35,105,5,5,10,105,193,26,35,105,5,5,12,105,193,26,35,105,5,5,14,105,193,26,35,105,5,5,16,105,193,26,35,105,5,5,18,105,193,26,35,105,5,5,20,105,193,26,35,105,5,5,22,105,193,26,35,105,5,5,28,105,193,26,35,105,5,5,32,105,193,26,35,105,5,5,34,105,193,26,35,105,5,5,30,105,193,26,35,105,5,5,24,105,193,26,35,105,5,5,26,105,193,27,35,105,5,5,8,105,193,27,35,105,7,5,8,105,193,27,35,105,7,5,10,105,193,27,35,105,7,5,12,105,193,27,35,105,7,5,14,105,193,27,35,105,7,5,16,105,193,27,35,105,7,5,18,105,193,27,35,105,7,5,20,105,193,27,35,105,7,5,22,105,193,27,35,105,7,5,28,105,193,27,35,105,7,5,32,105,193,27,35,105,7,5,34,105,193,27,35,105,7,5,30,105,193,27,35,105,7,5,24,105,193,27,35,105,7,5,26,105,193,27,35,105,5,5,10,105,193,27,35,105,5,5,12,105,193,27,35,105,5,5,14,105,193,27,35,105,5,5,16,105,193,27,35,105,5,5,18,105,193,27,35,105,5,5,20,105,193,27,35,105,5,5,22,105,193,27,35,105,5,5,28,105,193,27,35,105,5,5,32,105,193,27,35,105,5,5,34,105,193,27,35,105,5,5,30,105,193,27,35,105,5,5,24,105,193,27,35,105,5,5,26,105,193,28,35,105,5,5,8,105,193,28,35,105,5,5,10,105,193,28,35,105,5,5,12,105,193,28,35,105,5,5,14,105,193,28,35,105,5,5,16,105,193,28,35,105,5,5,18,105,193,28,35,105,5,5,20,105,193,28,35,105,5,5,22,105,193,28,35,105,5,5,28,105,193,28,35,105,5,5,32,105,193,28,35,105,5,5,34,105,193,28,35,105,5,5,30,105,193,28,35,105,5,5,24,105,193,28,35,105,5,5,26,105,193,29,35,105,5,5,8,105,193,29,35,105,5,5,10,105,193,29,35,105,5,5,12,105,193,29,35,105,5,5,14,105,193,29,35,105,5,5,16,105,193,29,35,105,5,5,18,105,193,29,35,105,5,5,20,105,193,29,35,105,5,5,22,105,193,29,35,105,5,5,28,105,193,29,35,105,5,5,32,105,193,29,35,105,5,5,34,105,193,29,35,105,5,5,30,105,193,29,35,105,5,5,24,105,193,29,35,105,5,5,26,105,193,30,35,105,5,5,8,105,193,30,35,105,6,5,8,105,193,30,35,105,6,5,10,105,193,30,35,105,6,5,12,105,193,30,35,105,6,5,14,105,193,30,35,105,6,5,16,105,193,30,35,105,6,5,18,105,193,30,35,105,6,5,20,105,193,30,35,105,6,5,22,105,193,30,35,105,6,5,28,105,193,30,35,105,6,5,32,105,193,30,35,105,6,5,34,105,193,30,35,105,6,5,30,105,193,30,35,105,6,5,24,105,193,30,35,105,6,5,26,105,193,30,35,105,5,5,10,105,193,30,35,105,5,5,12,105,193,30,35,105,5,5,14,105,193,30,35,105,5,5,16,105,193,30,35,105,5,5,18,105,193,30,35,105,5,5,20,105,193,30,35,105,5,5,22,105,193,30,35,105,5,5,28,105,193,30,35,105,5,5,32,105,193,30,35,105,5,5,34,105,193,30,35,105,5,5,30,105,193,30,35,105,5,5,24,105,193,30,35,105,5,5,26,105,193,31,35,105,5,5,8,105,193,31,35,105,5,5,10,105,193,31,35,105,5,5,12,105,193,31,35,105,5,5,14,105,193,31,35,105,5,5,16,105,193,31,35,105,5,5,18,105,193,31,35,105,5,5,20,105,193,31,35,105,5,5,22,105,193,31,35,105,5,5,28,105,193,31,35,105,5,5,32,105,193,31,35,105,5,5,34,105,193,31,35,105,5,5,30,105,193,31,35,105,5,5,24,105,193,31,35,105,5,5,26,105,193,33,35,105,5,5,8,105,193,33,35,105,5,5,10,105,193,33,35,105,5,5,12,105,193,33,35,105,5,5,14,105,193,33,35,105,5,5,16,105,193,33,35,105,5,5,18,105,193,33,35,105,5,5,20,105,193,33,35,105,5,5,22,105,193,33,35,105,5,5,28,105,193,33,35,105,5,5,32,105,193,33,35,105,5,5,34,105,193,33,35,105,5,5,30,105,193,33,35,105,5,5,24,105,193,33,35,105,5,5,26,105,193,35,35,105,5,5,8,105,193,35,35,105,5,5,10,105,193,35,35,105,5,5,12,105,193,35,35,105,5,5,14,105,193,35,35,105,5,5,16,105,193,35,35,105,5,5,18,105,193,35,35,105,5,5,20,105,193,35,35,105,5,5,22,105,193,35,35,105,5,5,28,105,193,35,35,105,5,5,32,105,193,35,35,105,5,5,34,105,193,35,35,105,5,5,30,105,193,35,35,105,5,5,24,105,193,35,35,105,5,5,26,105,193,36,35,105,5,5,8,105,193,36,35,105,5,5,10,105,193,36,35,105,5,5,12,105,193,36,35,105,5,5,14,105,193,36,35,105,5,5,16,105,193,36,35,105,5,5,18,105,193,36,35,105,5,5,20,105,193,36,35,105,5,5,22,105,193,36,35,105,5,5,28,105,193,36,35,105,5,5,32,105,193,36,35,105,5,5,34,105,193,36,35,105,5,5,30,105,193,36,35,105,5,5,24,105,193,36,35,105,5,5,26,105,193,37,35,105,5,5,8,105,193,37,35,105,5,5,10,105,193,37,35,105,5,5,12,105,193,37,35,105,5,5,14,105,193,37,35,105,5,5,16,105,193,37,35,105,5,5,18,105,193,37,35,105,5,5,20,105,193,37,35,105,5,5,22,105,193,37,35,105,5,5,28,105,193,37,35,105,5,5,32,105,193,37,35,105,5,5,34,105,193,37,35,105,5,5,30,105,193,37,35,105,5,5,24,105,193,37,35,105,5,5,26,105,193,38,35,105,5,5,8,105,193,38,35,105,5,5,10,105,193,38,35,105,5,5,12,105,193,38,35,105,5,5,14,105,193,38,35,105,5,5,16,105,193,38,35,105,5,5,18,105,193,38,35,105,5,5,20,105,193,38,35,105,5,5,22,105,193,38,35,105,5,5,28,105,193,38,35,105,5,5,32,105,193,38,35,105,5,5,34,105,193,38,35,105,5,5,30,105,193,38,35,105,5,5,24,105,193,38,35,105,5,5,26,105,193,32,35,105,5,5,8,105,193,32,35,105,5,5,10,105,193,32,35,105,5,5,12,105,193,32,35,105,5,5,14,105,193,32,35,105,5,5,16,105,193,32,35,105,5,5,18,105,193,32,35,105,5,5,20,105,193,32,35,105,5,5,22,105,193,32,35,105,5,5,28,105,193,32,35,105,5,5,32,105,193,32,35,105,5,5,34,105,193,32,35,105,5,5,30,105,193,32,35,105,5,5,24,105,193,32,35,105,5,5,26,105,193,34,35,105,5,5,8,105,193,34,35,105,5,5,10,105,193,34,35,105,5,5,12,105,193,34,35,105,5,5,14,105,193,34,35,105,5,5,16,105,193,34,35,105,5,5,18,105,193,34,35,105,5,5,20,105,193,34,35,105,5,5,22,105,193,34,35,105,5,5,28,105,193,34,35,105,5,5,32,105,193,34,35,105,5,5,34,105,193,34,35,105,5,5,30,105,193,34,35,105,5,5,24,105,193,34,35,105,5,5,26,105,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,6,192,197,34,205,9,255,255,35,105,193,5,226,9,6,192,197,162,227,9,6,192,197,226,196,9,5,192,197,98,199,9,6,0,200,9,6,192,197,98,203,9,5,192,197,226,129,65,197,162,190,9,5,192,197,226,215,9,6,192,197,34,192,9,12,0,192,9,4,192,197,98,193,9,4,192,197,162,194,9,4,192,197,226,195,9,5,192,197,34,188,9,6,0,190,9,3,192,197,226,191,9,4,192,197,34,77,64,197,98,199,9,29,0,204,9,11,0,204,9,2,192,197,226,205,9,198,129,226,9,3,192,197,98,227,9,3,192,197,162,199,9,6,0,200,9,3,192,197,34,203,9,2,192,197,162,193,64,197,98,190,9,2,192,197,162,215,9,2,192,197,226,193,9,12,0,193,9,1,192,197,98,194,9,1,192,197,162,195,9,1,192,197,226,196,9,2,192,197,34,190,9,0,192,197,162,191,9,0,192,197,226,192,9,1,192,197,34,7,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,13,192,197,34,205,9,255,255,35,105,193,6,226,9,13,192,197,162,227,9,13,192,197,226,196,9,12,192,197,98,199,9,6,0,200,9,13,192,197,98,203,9,12,192,197,226,65,67,197,162,190,9,12,192,197,226,215,9,13,192,197,34,192,9,12,0,192,9,11,192,197,98,193,9,11,192,197,162,194,9,11,192,197,226,195,9,12,192,197,34,188,9,6,0,190,9,10,192,197,226,191,9,11,192,197,34,13,66,197,98,199,9,29,0,204,9,11,0,204,9,9,192,197,226,205,9,198,161,226,9,10,192,197,98,227,9,10,192,197,162,199,9,6,0,200,9,10,192,197,34,203,9,9,192,197,162,129,66,197,98,190,9,9,192,197,162,215,9,9,192,197,226,193,9,12,0,193,9,8,192,197,98,194,9,8,192,197,162,195,9,8,192,197,226,196,9,9,192,197,34,190,9,7,192,197,162,191,9,7,192,197,226,192,9,8,192,197,34,14,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,20,192,197,34,205,9,255,255,35,105,193,7,226,9,20,192,197,162,227,9,20,192,197,226,196,9,19,192,197,98,199,9,6,0,200,9,20,192,197,98,203,9,19,192,197,226,1,69,197,162,190,9,19,192,197,226,215,9,20,192,197,34,192,9,12,0,192,9,18,192,197,98,193,9,18,192,197,162,194,9,18,192,197,226,195,9,19,192,197,34,188,9,6,0,190,9,17,192,197,226,191,9,18,192,197,34,205,67,197,98,199,9,30,0,204,9,12,0,204,9,16,192,197,226,205,9,0,192,198,65,226,9,17,192,197,98,227,9,17,192,197,162,199,9,6,0,200,9,17,192,197,34,203,9,16,192,197,162,65,68,197,98,190,9,16,192,197,162,215,9,16,192,197,226,193,9,12,0,193,9,15,192,197,98,194,9,15,192,197,162,195,9,15,192,197,226,196,9,16,192,197,34,190,9,14,192,197,162,191,9,14,192,197,226,192,9,15,192,197,34,21,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,23,192,197,162,205,9,255,255,35,105,193,8,226,9,24,192,197,34,227,9,24,192,197,98,199,9,6,0,200,9,23,192,197,226,203,9,23,192,197,98,1,70,197,34,190,9,23,192,197,98,215,9,23,192,197,162,193,9,12,0,193,9,22,192,197,34,194,9,22,192,197,98,195,9,22,192,197,162,196,9,22,192,197,226,190,9,21,192,197,98,191,9,21,192,197,162,192,9,21,192,197,226,24,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,27,192,197,34,205,9,255,255,35,105,193,9,226,9,27,192,197,162,227,9,27,192,197,226,199,9,6,0,200,9,27,192,197,98,203,9,26,192,197,226,193,70,197,162,190,9,26,192,197,226,215,9,27,192,197,34,193,9,12,0,193,9,25,192,197,162,194,9,25,192,197,226,195,9,26,192,197,34,196,9,26,192,197,98,190,9,24,192,197,226,191,9,25,192,197,34,192,9,25,192,197,98,28,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,30,192,197,162,205,9,255,255,35,105,193,10,226,9,31,192,197,34,227,9,31,192,197,98,199,9,6,0,200,9,30,192,197,226,203,9,30,192,197,98,193,71,197,34,190,9,30,192,197,98,215,9,30,192,197,162,193,9,12,0,193,9,29,192,197,34,194,9,29,192,197,98,195,9,29,192,197,162,196,9,29,192,197,226,190,9,28,192,197,98,191,9,28,192,197,162,192,9,28,192,197,226,31,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,34,192,197,34,205,9,255,255,35,105,193,11,226,9,34,192,197,162,227,9,34,192,197,226,199,9,6,0,200,9,34,192,197,98,203,9,33,192,197,226,129,72,197,162,190,9,33,192,197,226,215,9,34,192,197,34,193,9,12,0,193,9,32,192,197,162,194,9,32,192,197,226,195,9,33,192,197,34,196,9,33,192,197,98,190,9,31,192,197,226,191,9,32,192,197,34,192,9,32,192,197,98,35,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,41,192,197,34,205,9,255,255,35,105,193,12,226,9,41,192,197,162,227,9,41,192,197,226,196,9,40,192,197,98,199,9,6,0,200,9,41,192,197,98,203,9,40,192,197,226,65,74,197,162,190,9,40,192,197,226,215,9,41,192,197,34,192,9,12,0,192,9,39,192,197,98,193,9,39,192,197,162,194,9,39,192,197,226,195,9,40,192,197,34,188,9,6,0,190,9,38,192,197,226,191,9,39,192,197,34,13,73,197,98,199,9,30,0,204,9,12,0,204,9,37,192,197,226,205,9,0,192,198,97,226,9,38,192,197,98,227,9,38,192,197,162,199,9,6,0,200,9,38,192,197,34,203,9,37,192,197,162,129,73,197,98,190,9,37,192,197,162,215,9,37,192,197,226,193,9,12,0,193,9,36,192,197,98,194,9,36,192,197,162,195,9,36,192,197,226,196,9,37,192,197,34,190,9,35,192,197,162,191,9,35,192,197,226,192,9,36,192,197,34,42,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,44,192,197,162,205,9,255,255,35,105,193,13,226,9,45,192,197,34,227,9,45,192,197,98,199,9,6,0,200,9,44,192,197,226,203,9,44,192,197,98,65,75,197,34,190,9,44,192,197,98,215,9,44,192,197,162,193,9,12,0,193,9,43,192,197,34,194,9,43,192,197,98,195,9,43,192,197,162,196,9,43,192,197,226,190,9,42,192,197,98,191,9,42,192,197,162,192,9,42,192,197,226,45,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,48,192,197,34,205,9,255,255,35,105,193,14,226,9,48,192,197,162,227,9,48,192,197,226,199,9,6,0,200,9,48,192,197,98,203,9,47,192,197,226,1,76,197,162,190,9,47,192,197,226,215,9,48,192,197,34,193,9,12,0,193,9,46,192,197,162,194,9,46,192,197,226,195,9,47,192,197,34,196,9,47,192,197,98,190,9,45,192,197,226,191,9,46,192,197,34,192,9,46,192,197,98,49,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,51,192,197,162,205,9,255,255,35,105,193,15,226,9,52,192,197,34,227,9,52,192,197,98,199,9,6,0,200,9,51,192,197,226,203,9,51,192,197,98,1,77,197,34,190,9,51,192,197,98,215,9,51,192,197,162,193,9,12,0,193,9,50,192,197,34,194,9,50,192,197,98,195,9,50,192,197,162,196,9,50,192,197,226,190,9,49,192,197,98,191,9,49,192,197,162,192,9,49,192,197,226,52,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,55,192,197,34,205,9,255,255,35,105,193,16,226,9,55,192,197,162,227,9,55,192,197,226,199,9,6,0,200,9,55,192,197,98,203,9,54,192,197,226,193,77,197,162,190,9,54,192,197,226,215,9,55,192,197,34,193,9,12,0,193,9,53,192,197,162,194,9,53,192,197,226,195,9,54,192,197,34,196,9,54,192,197,98,190,9,52,192,197,226,191,9,53,192,197,34,192,9,53,192,197,98,56,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,62,192,197,34,205,9,255,255,35,105,193,17,226,9,62,192,197,162,227,9,62,192,197,226,196,9,61,192,197,98,199,9,6,0,200,9,62,192,197,98,203,9,61,192,197,226,129,79,197,162,190,9,61,192,197,226,215,9,62,192,197,34,192,9,12,0,192,9,60,192,197,98,193,9,60,192,197,162,194,9,60,192,197,226,195,9,61,192,197,34,188,9,6,0,190,9,59,192,197,226,191,9,60,192,197,34,77,78,197,98,199,9,30,0,204,9,12,0,204,9,58,192,197,226,205,9,0,192,198,129,226,9,59,192,197,98,227,9,59,192,197,162,199,9,6,0,200,9,59,192,197,34,203,9,58,192,197,162,193,78,197,98,190,9,58,192,197,162,215,9,58,192,197,226,193,9,12,0,193,9,57,192,197,98,194,9,57,192,197,162,195,9,57,192,197,226,196,9,58,192,197,34,190,9,56,192,197,162,191,9,56,192,197,226,192,9,57,192,197,34,63,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,69,192,197,34,205,9,255,255,35,105,193,18,226,9,69,192,197,162,227,9,69,192,197,226,196,9,68,192,197,98,199,9,6,0,200,9,69,192,197,98,203,9,68,192,197,226,65,81,197,162,190,9,68,192,197,226,215,9,69,192,197,34,192,9,12,0,192,9,67,192,197,98,193,9,67,192,197,162,194,9,67,192,197,226,195,9,68,192,197,34,188,9,6,0,190,9,66,192,197,226,191,9,67,192,197,34,13,80,197,98,199,9,30,0,204,9,12,0,204,9,65,192,197,226,205,9,0,192,198,161,226,9,66,192,197,98,227,9,66,192,197,162,199,9,6,0,200,9,66,192,197,34,203,9,65,192,197,162,129,80,197,98,190,9,65,192,197,162,215,9,65,192,197,226,193,9,12,0,193,9,64,192,197,98,194,9,64,192,197,162,195,9,64,192,197,226,196,9,65,192,197,34,190,9,63,192,197,162,191,9,63,192,197,226,192,9,64,192,197,34,70,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,72,192,197,162,205,9,255,255,35,105,193,19,226,9,73,192,197,34,227,9,73,192,197,98,199,9,6,0,200,9,72,192,197,226,203,9,72,192,197,98,65,82,197,34,190,9,72,192,197,98,215,9,72,192,197,162,193,9,12,0,193,9,71,192,197,34,194,9,71,192,197,98,195,9,71,192,197,162,196,9,71,192,197,226,190,9,70,192,197,98,191,9,70,192,197,162,192,9,70,192,197,226,0,0,198,194,13,0,199,9,35,0,204,9,17,0,204,9,3,192,198,66,205,9,6,0,226,9,3,192,198,194,227,9,4,192,198,2,112,64,198,193,13,32,255,255,35,105,193,20,199,9,6,0,200,9,3,192,198,130,203,9,3,192,198,2,193,64,198,194,190,9,3,192,198,2,215,9,3,192,198,66,193,9,12,0,193,9,1,192,198,194,194,9,2,192,198,2,195,9,2,192,198,66,196,9,2,192,198,130,190,9,1,192,198,2,191,9,1,192,198,66,192,9,1,192,198,130,73,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,76,192,197,34,205,9,255,255,35,105,193,21,226,9,76,192,197,162,227,9,76,192,197,226,199,9,6,0,200,9,76,192,197,98,203,9,75,192,197,226,1,83,197,162,190,9,75,192,197,226,215,9,76,192,197,34,193,9,12,0,193,9,74,192,197,162,194,9,74,192,197,226,195,9,75,192,197,34,196,9,75,192,197,98,190,9,73,192,197,226,191,9,74,192,197,34,192,9,74,192,197,98,77,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,79,192,197,162,205,9,255,255,35,105,193,22,226,9,80,192,197,34,227,9,80,192,197,98,199,9,6,0,200,9,79,192,197,226,203,9,79,192,197,98,1,84,197,34,190,9,79,192,197,98,215,9,79,192,197,162,193,9,12,0,193,9,78,192,197,34,194,9,78,192,197,98,195,9,78,192,197,162,196,9,78,192,197,226,190,9,77,192,197,98,191,9,77,192,197,162,192,9,77,192,197,226,80,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,83,192,197,34,205,9,255,255,35,105,193,23,226,9,83,192,197,162,227,9,83,192,197,226,199,9,6,0,200,9,83,192,197,98,203,9,82,192,197,226,193,84,197,162,190,9,82,192,197,226,215,9,83,192,197,34,193,9,12,0,193,9,81,192,197,162,194,9,81,192,197,226,195,9,82,192,197,34,196,9,82,192,197,98,190,9,80,192,197,226,191,9,81,192,197,34,192,9,81,192,197,98,84,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,86,192,197,162,205,9,255,255,35,105,193,24,226,9,87,192,197,34,227,9,87,192,197,98,199,9,6,0,200,9,86,192,197,226,203,9,86,192,197,98,193,85,197,34,190,9,86,192,197,98,215,9,86,192,197,162,193,9,12,0,193,9,85,192,197,34,194,9,85,192,197,98,195,9,85,192,197,162,196,9,85,192,197,226,190,9,84,192,197,98,191,9,84,192,197,162,192,9,84,192,197,226,87,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,90,192,197,34,205,9,255,255,35,105,193,25,226,9,90,192,197,162,227,9,90,192,197,226,199,9,6,0,200,9,90,192,197,98,203,9,89,192,197,226,129,86,197,162,190,9,89,192,197,226,215,9,90,192,197,34,193,9,12,0,193,9,88,192,197,162,194,9,88,192,197,226,195,9,89,192,197,34,196,9,89,192,197,98,190,9,87,192,197,226,191,9,88,192,197,34,192,9,88,192,197,98,91,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,97,192,197,34,205,9,255,255,35,105,193,26,226,9,97,192,197,162,227,9,97,192,197,226,196,9,96,192,197,98,199,9,6,0,200,9,97,192,197,98,203,9,96,192,197,226,65,88,197,162,190,9,96,192,197,226,215,9,97,192,197,34,192,9,12,0,192,9,95,192,197,98,193,9,95,192,197,162,194,9,95,192,197,226,195,9,96,192,197,34,188,9,6,0,190,9,94,192,197,226,191,9,95,192,197,34,13,87,197,98,199,9,30,0,204,9,12,0,204,9,93,192,197,226,205,9,4,192,198,65,226,9,94,192,197,98,227,9,94,192,197,162,199,9,6,0,200,9,94,192,197,34,203,9,93,192,197,162,129,87,197,98,190,9,93,192,197,162,215,9,93,192,197,226,193,9,12,0,193,9,92,192,197,98,194,9,92,192,197,162,195,9,92,192,197,226,196,9,93,192,197,34,190,9,91,192,197,162,191,9,91,192,197,226,192,9,92,192,197,34,98,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,104,192,197,34,205,9,255,255,35,105,193,27,226,9,104,192,197,162,227,9,104,192,197,226,196,9,103,192,197,98,199,9,6,0,200,9,104,192,197,98,203,9,103,192,197,226,1,90,197,162,190,9,103,192,197,226,215,9,104,192,197,34,192,9,12,0,192,9,102,192,197,98,193,9,102,192,197,162,194,9,102,192,197,226,195,9,103,192,197,34,188,9,6,0,190,9,101,192,197,226,191,9,102,192,197,34,205,88,197,98,199,9,30,0,204,9,12,0,204,9,100,192,197,226,205,9,4,192,198,97,226,9,101,192,197,98,227,9,101,192,197,162,199,9,6,0,200,9,101,192,197,34,203,9,100,192,197,162,65,89,197,98,190,9,100,192,197,162,215,9,100,192,197,226,193,9,12,0,193,9,99,192,197,98,194,9,99,192,197,162,195,9,99,192,197,226,196,9,100,192,197,34,190,9,98,192,197,162,191,9,98,192,197,226,192,9,99,192,197,34,105,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,107,192,197,162,205,9,255,255,35,105,193,28,226,9,108,192,197,34,227,9,108,192,197,98,199,9,6,0,200,9,107,192,197,226,203,9,107,192,197,98,1,91,197,34,190,9,107,192,197,98,215,9,107,192,197,162,193,9,12,0,193,9,106,192,197,34,194,9,106,192,197,98,195,9,106,192,197,162,196,9,106,192,197,226,190,9,105,192,197,98,191,9,105,192,197,162,192,9,105,192,197,226,108,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,111,192,197,34,205,9,255,255,35,105,193,29,226,9,111,192,197,162,227,9,111,192,197,226,199,9,6,0,200,9,111,192,197,98,203,9,110,192,197,226,193,91,197,162,190,9,110,192,197,226,215,9,111,192,197,34,193,9,12,0,193,9,109,192,197,162,194,9,109,192,197,226,195,9,110,192,197,34,196,9,110,192,197,98,190,9,108,192,197,226,191,9,109,192,197,34,192,9,109,192,197,98,112,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,118,192,197,34,205,9,255,255,35,105,193,30,226,9,118,192,197,162,227,9,118,192,197,226,196,9,117,192,197,98,199,9,6,0,200,9,118,192,197,98,203,9,117,192,197,226,129,93,197,162,190,9,117,192,197,226,215,9,118,192,197,34,192,9,12,0,192,9,116,192,197,98,193,9,116,192,197,162,194,9,116,192,197,226,195,9,117,192,197,34,188,9,6,0,190,9,115,192,197,226,191,9,116,192,197,34,77,92,197,98,199,9,30,0,204,9,12,0,204,9,114,192,197,226,205,9,4,192,198,129,226,9,115,192,197,98,227,9,115,192,197,162,199,9,6,0,200,9,115,192,197,34,203,9,114,192,197,162,193,92,197,98,190,9,114,192,197,162,215,9,114,192,197,226,193,9,12,0,193,9,113,192,197,98,194,9,113,192,197,162,195,9,113,192,197,226,196,9,114,192,197,34,190,9,112,192,197,162,191,9,112,192,197,226,192,9,113,192,197,34,119,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,121,192,197,162,205,9,255,255,35,105,193,31,226,9,122,192,197,34,227,9,122,192,197,98,199,9,6,0,200,9,121,192,197,226,203,9,121,192,197,98,129,94,197,34,190,9,121,192,197,98,215,9,121,192,197,162,193,9,12,0,193,9,120,192,197,34,194,9,120,192,197,98,195,9,120,192,197,162,196,9,120,192,197,226,190,9,119,192,197,98,191,9,119,192,197,162,192,9,119,192,197,226,122,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,125,192,197,34,205,9,255,255,35,105,193,33,226,9,125,192,197,162,227,9,125,192,197,226,199,9,6,0,200,9,125,192,197,98,203,9,124,192,197,226,65,95,197,162,190,9,124,192,197,226,215,9,125,192,197,34,193,9,12,0,193,9,123,192,197,162,194,9,123,192,197,226,195,9,124,192,197,34,196,9,124,192,197,98,190,9,122,192,197,226,191,9,123,192,197,34,192,9,123,192,197,98,126,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,128,192,197,162,205,9,255,255,35,105,193,35,226,9,129,192,197,34,227,9,129,192,197,98,199,9,6,0,200,9,128,192,197,226,203,9,128,192,197,98,65,96,197,34,190,9,128,192,197,98,215,9,128,192,197,162,193,9,12,0,193,9,127,192,197,34,194,9,127,192,197,98,195,9,127,192,197,162,196,9,127,192,197,226,190,9,126,192,197,98,191,9,126,192,197,162,192,9,126,192,197,226,129,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,132,192,197,34,205,9,255,255,35,105,193,36,226,9,132,192,197,162,227,9,132,192,197,226,199,9,6,0,200,9,132,192,197,98,203,9,131,192,197,226,1,97,197,162,190,9,131,192,197,226,215,9,132,192,197,34,193,9,12,0,193,9,130,192,197,162,194,9,130,192,197,226,195,9,131,192,197,34,196,9,131,192,197,98,190,9,129,192,197,226,191,9,130,192,197,34,192,9,130,192,197,98,133,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,135,192,197,162,205,9,255,255,35,105,193,37,226,9,136,192,197,34,227,9,136,192,197,98,199,9,6,0,200,9,135,192,197,226,203,9,135,192,197,98,1,98,197,34,190,9,135,192,197,98,215,9,135,192,197,162,193,9,12,0,193,9,134,192,197,34,194,9,134,192,197,98,195,9,134,192,197,162,196,9,134,192,197,226,190,9,133,192,197,98,191,9,133,192,197,162,192,9,133,192,197,226,136,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,139,192,197,34,205,9,255,255,35,105,193,38,226,9,139,192,197,162,227,9,139,192,197,226,199,9,6,0,200,9,139,192,197,98,203,9,138,192,197,226,193,98,197,162,190,9,138,192,197,226,215,9,139,192,197,34,193,9,12,0,193,9,137,192,197,162,194,9,137,192,197,226,195,9,138,192,197,34,196,9,138,192,197,98,190,9,136,192,197,226,191,9,137,192,197,34,192,9,137,192,197,98,56,0,197,98,13,0,199,9,30,0,204,9,12,0,204,9,58,192,197,226,205,9,0,192,198,129,226,9,59,192,197,98,227,9,59,192,197,162,199,9,6,0,200,9,59,192,197,34,203,9,58,192,197,162,193,78,197,98,190,9,58,192,197,162,215,9,58,192,197,226,193,9,12,0,193,9,57,192,197,98,194,9,57,192,197,162,195,9,57,192,197,226,196,9,58,192,197,34,190,9,56,192,197,162,191,9,56,192,197,226,192,9,57,192,197,34,63,0,197,98,13,0,199,9,30,0,204,9,12,0,204,9,65,192,197,226,205,9,0,192,198,161,226,9,66,192,197,98,227,9,66,192,197,162,199,9,6,0,200,9,66,192,197,34,203,9,65,192,197,162,129,80,197,98,190,9,65,192,197,162,215,9,65,192,197,226,193,9,12,0,193,9,64,192,197,98,194,9,64,192,197,162,195,9,64,192,197,226,196,9,65,192,197,34,190,9,63,192,197,162,191,9,63,192,197,226,192,9,64,192,197,34,112,0,197,98,13,0,199,9,30,0,204,9,12,0,204,9,114,192,197,226,205,9,4,192,198,129,226,9,115,192,197,98,227,9,115,192,197,162,199,9,6,0,200,9,115,192,197,34,203,9,114,192,197,162,193,92,197,98,190,9,114,192,197,162,215,9,114,192,197,226,193,9,12,0,193,9,113,192,197,98,194,9,113,192,197,162,195,9,113,192,197,226,196,9,114,192,197,34,190,9,112,192,197,162,191,9,112,192,197,226,192,9,113,192,197,34,140,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,142,192,197,162,205,9,255,255,35,105,193,32,226,9,143,192,197,34,227,9,143,192,197,98,199,9,6,0,200,9,142,192,197,226,203,9,142,192,197,98,193,99,197,34,190,9,142,192,197,98,215,9,142,192,197,162,193,9,12,0,193,9,141,192,197,34,194,9,141,192,197,98,195,9,141,192,197,162,196,9,141,192,197,226,190,9,140,192,197,98,191,9,140,192,197,162,192,9,140,192,197,226,143,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,146,192,197,34,205,9,255,255,35,105,193,34,226,9,146,192,197,162,227,9,146,192,197,226,199,9,6,0,200,9,146,192,197,98,203,9,145,192,197,226,129,100,197,162,190,9,145,192,197,226,215,9,146,192,197,34,193,9,12,0,193,9,144,192,197,162,194,9,144,192,197,226,195,9,145,192,197,34,196,9,145,192,197,98,190,9,143,192,197,226,191,9,144,192,197,34,192,9,144,192,197,98,10,0,191,9,197,9,199,9,201,9,203,9,205,9,226,9,228,9,13,32,14,32,3,0,69,0,52,0,61,0,215,15,0,16,91,0,0,96,1,0,0,96,2,0,43,0,84,0,170,170,208,15,0,32,199,32,0,32,1,0,32,0,204,32,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,170,16,0,32,7,0,0,0,21,0,0,0,172,16,0,0,172,16,0,0,3,0,0,0,0,0,0,0,213,3,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,239,223,120,7,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,84,0,105,0,98,0,116,0,93,0,38,0,64,15,98,15,60,0,64,15,98,15,144,15,60,0,64,15,98,15,159,15,60,0,64,15,98,15,158,15,60,0,64,15,98,15,168,15,60,0,64,15,98,15,180,15,60,0,64,15,98,15,181,15,38,0,64,15,99,15,60,0,64,15,99,15,144,15,60,0,64,15,99,15,164,15,38,0,64,15,102,15,60,0,64,15,102,15,168,15,38,0,66,15,73,15,60,0,66,15,73,15,171,15,38,0,80,15,98,15,60,0,80,15,98,15,144,15,38,0,84,15,116,15,102,15,60,0,84,15,116,15,102,15,159,15,114,15,38,0,85,15,99,15,60,0,85,15,99,15,146,15,38,0,86,15,114,15,99,15,60,0,86,15,114,15,99,15,166,15,38,0,88,15,73,15,60,0,88,15,73,15,171,15,38,0,88,15,98,15,60,0,88,15,98,15,146,15,38,0,93,15,98,15,60,0,93,15,98,15,159,15,38,0,100,15,102,15,60,0,100,15,102,15,159,15,38,0,102,15,98,15,60,0,102,15,98,15,146,15,38,0,104,15,98,15,60,0,104,15,98,15,146,15,60,0,104,15,98,15,177,15,61,0,104,15,106,15,177,15,38,0,104,15,102,15,60,0,104,15,102,15,168,15,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,64,15,60,0,13,15,60,0,60,0,14,15,60,0,60,0,15,15,60,0,60,0,16,15,60,0,60,0,17,15,60,0,60,0,20,15,60,0,60,0,52,15,60,0,11,15,61,0,12,15,38,0,64,15,60,0,60,0,136,15,144,15,60,0,107,15,60,0,81,15,64,15,60,0,86,15,64,15,60,0,98,15,144,15,60,0,99,15,144,15,60,0,102,15,144,15,60,0,86,15,98,15,144,15,60,0,86,15,102,15,144,15,38,0,65,15,60,0,60,0,136,15,145,15,60,0,88,15,65,15,60,0,96,15,65,15,38,0,66,15,60,0,81,15,66,15,66,15,60,0,81,15,66,15,68,15,60,0,81,15,66,15,81,15,60,0,81,15,66,15,83,15,60,0,81,15,66,15,86,15,60,0,81,15,66,15,93,15,60,0,81,15,66,15,96,15,60,0,81,15,66,15,98,15,60,0,81,15,66,15,99,15,60,0,81,15,66,15,102,15,60,0,81,15,66,15,114,15,60,0,81,15,66,15,116,15,60,0,81,15,66,15,122,15,60,0,81,15,66,15,124,15,60,0,81,15,66,15,173,15,60,0,81,15,66,15,177,15,60,0,81,15,66,15,178,15,60,0,86,15,66,15,66,15,60,0,86,15,66,15,68,15,60,0,86,15,66,15,81,15,60,0,86,15,66,15,86,15,60,0,86,15,66,15,88,15,60,0,60,0,60,0,86,15,66,15,126,15,60,0,86,15,66,15,93,15,60,0,86,15,66,15,96,15,60,0,86,15,66,15,98,15,60,0,86,15,66,15,99,15,60,0,86,15,66,15,114,15,60,0,86,15,66,15,116,15,60,0,86,15,66,15,122,15,60,0,86,15,66,15,124,15,60,0,86,15,66,15,173,15,60,0,86,15,66,15,177,15,60,0,86,15,66,15,178,15,60,0,86,15,66,15,179,15,60,0,88,15,66,15,66,15,60,0,88,15,66,15,68,15,60,0,88,15,66,15,81,15,60,0,88,15,66,15,86,15,60,0,88,15,66,15,96,15,60,0,88,15,66,15,98,15,60,0,88,15,66,15,99,15,60,0,88,15,66,15,114,15,60,0,88,15,66,15,116,15,60,0,88,15,66,15,122,15,60,0,88,15,66,15,124,15,60,0,88,15,66,15,173,15,60,0,88,15,66,15,177,15,60,0,88,15,66,15,178,15,60,0,96,15,66,15,66,15,60,0,96,15,66,15,68,15,60,0,96,15,66,15,81,15,60,0,96,15,66,15,83,15,60,0,96,15,66,15,86,15,60,0,96,15,66,15,88,15,60,0,60,0,60,0,96,15,66,15,126,15,60,0,96,15,66,15,96,15,60,0,96,15,66,15,98,15,60,0,96,15,66,15,99,15,60,0,96,15,66,15,102,15,60,0,96,15,66,15,114,15,60,0,96,15,66,15,116,15,60,0,96,15,66,15,122,15,60,0,96,15,66,15,124,15,60,0,96,15,66,15,173,15,60,0,96,15,66,15,177,15,60,0,96,15,66,15,178,15,60,0,98,15,146,15,60,0,99,15,146,15,60,0,102,15,146,15,60,0,86,15,98,15,146,15,60,0,86,15,102,15,146,15,38,0,68,15,60,0,60,0,60,0,130,15,60,0,60,0,60,0,131,15,60,0,81,15,68,15,66,15,60,0,81,15,68,15,68,15,60,0,81,15,68,15,81,15,60,0,81,15,68,15,83,15,60,0,81,15,68,15,86,15,60,0,81,15,68,15,96,15,60,0,81,15,68,15,98,15,60,0,81,15,68,15,99,15,60,0,81,15,68,15,114,15,60,0,81,15,68,15,116,15,60,0,81,15,68,15,122,15,60,0,81,15,68,15,124,15,60,0,88,15,68,15,66,15,60,0,88,15,68,15,68,15,60,0,88,15,68,15,81,15,60,0,88,15,68,15,83,15,60,0,88,15,68,15,86,15,60,0,88,15,68,15,96,15,60,0,88,15,68,15,98,15,60,0,88,15,68,15,99,15,60,0,88,15,68,15,114,15,60,0,88,15,68,15,116,15,60,0,88,15,68,15,122,15,60,0,88,15,68,15,124,15,60,0,98,15,148,15,60,0,99,15,148,15,60,0,102,15,148,15,60,0,86,15,98,15,148,15,60,0,86,15,102,15,148,15,38,0,69,15,60,0,66,15,69,15,60,0,86,15,69,15,60,0,99,15,149,15,60,0,86,15,99,15,149,15,38,0,70,15,60,0,88,15,70,15,60,0,96,15,70,15,38,0,71,15,60,0,88,15,71,15,60,0,96,15,71,15,60,0,98,15,151,15,60,0,99,15,151,15,60,0,86,15,98,15,151,15,38,0,73,15,60,0,60,0,139,15,153,15,60,0,66,15,73,15,60,0,88,15,73,15,60,0,98,15,153,15,61,0,106,15,153,15,60,0,102,15,153,15,60,0,86,15,98,15,153,15,61,0,86,15,106,15,153,15,60,0,86,15,102,15,153,15,38,0,79,15,60,0,74,15,60,0,79,15,173,15,60,0,79,15,178,15,60,0,66,15,79,15,60,0,86,15,79,15,60,0,98,15,159,15,60,0,99,15,159,15,60,0,102,15,159,15,60,0,86,15,98,15,159,15,60,0,86,15,99,15,159,15,60,0,86,15,102,15,159,15,38,0,80,15,60,0,75,15,60,0,88,15,80,15,60,0,96,15,80,15,38,0,81,15,60,0,76,15,60,0,66,15,81,15,66,15,60,0,66,15,81,15,68,15,60,0,66,15,81,15,81,15,60,0,66,15,81,15,83,15,60,0,66,15,81,15,86,15,60,0,66,15,81,15,88,15,60,0,60,0,60,0,66,15,81,15,126,15,60,0,66,15,81,15,96,15,60,0,66,15,81,15,98,15,60,0,66,15,81,15,99,15,60,0,66,15,81,15,102,15,60,0,66,15,81,15,114,15,60,0,66,15,81,15,116,15,60,0,66,15,81,15,122,15,60,0,66,15,81,15,124,15,60,0,66,15,81,15,173,15,60,0,86,15,81,15,66,15,60,0,86,15,81,15,68,15,60,0,86,15,81,15,81,15,60,0,86,15,81,15,86,15,60,0,86,15,81,15,88,15,60,0,60,0,60,0,86,15,81,15,126,15,60,0,86,15,81,15,96,15,60,0,86,15,81,15,98,15,60,0,86,15,81,15,99,15,60,0,86,15,81,15,102,15,60,0,86,15,81,15,114,15,60,0,86,15,81,15,116,15,60,0,86,15,81,15,122,15,60,0,86,15,81,15,124,15,60,0,86,15,81,15,173,15,60,0,88,15,81,15,66,15,60,0,88,15,81,15,68,15,60,0,88,15,81,15,81,15,60,0,88,15,81,15,83,15,60,0,88,15,81,15,86,15,60,0,88,15,81,15,96,15,60,0,88,15,81,15,98,15,60,0,88,15,81,15,99,15,60,0,88,15,81,15,102,15,60,0,88,15,81,15,114,15,60,0,88,15,81,15,116,15,60,0,88,15,81,15,122,15,60,0,88,15,81,15,124,15,60,0,88,15,81,15,173,15,60,0,96,15,81,15,66,15,60,0,96,15,81,15,68,15,60,0,96,15,81,15,81,15,60,0,96,15,81,15,83,15,60,0,96,15,81,15,86,15,60,0,96,15,81,15,88,15,60,0,60,0,60,0,96,15,81,15,126,15,60,0,96,15,81,15,93,15,60,0,96,15,81,15,96,15,60,0,96,15,81,15,98,15,60,0,96,15,81,15,99,15,60,0,96,15,81,15,102,15,60,0,96,15,81,15,114,15,60,0,96,15,81,15,116,15,60,0,96,15,81,15,122,15,60,0,96,15,81,15,124,15,60,0,96,15,81,15,173,15,60,0,96,15,81,15,178,15,60,0,98,15,161,15,60,0,99,15,161,15,60,0,102,15,161,15,60,0,86,15,98,15,161,15,60,0,86,15,99,15,161,15,60,0,86,15,102,15,161,15,38,0,83,15,60,0,78,15,60,0,66,15,83,15,66,15,60,0,66,15,83,15,68,15,60,0,66,15,83,15,81,15,60,0,66,15,83,15,83,15,60,0,66,15,83,15,86,15,60,0,66,15,83,15,88,15,60,0,60,0,60,0,66,15,83,15,126,15,60,0,66,15,83,15,93,15,60,0,66,15,83,15,96,15,60,0,66,15,83,15,98,15,60,0,66,15,83,15,99,15,60,0,66,15,83,15,102,15,60,0,66,15,83,15,114,15,60,0,66,15,83,15,116,15,60,0,66,15,83,15,122,15,60,0,66,15,83,15,124,15,60,0,66,15,83,15,173,15,60,0,88,15,83,15,66,15,60,0,88,15,83,15,68,15,60,0,88,15,83,15,81,15,60,0,88,15,83,15,83,15,60,0,88,15,83,15,86,15,60,0,88,15,83,15,88,15,60,0,60,0,60,0,88,15,83,15,126,15,60,0,88,15,83,15,96,15,60,0,88,15,83,15,98,15,60,0,88,15,83,15,99,15,60,0,88,15,83,15,102,15,60,0,88,15,83,15,114,15,60,0,88,15,83,15,116,15,60,0,88,15,83,15,122,15,60,0,88,15,83,15,124,15,60,0,88,15,83,15,173,15,60,0,98,15,163,15,60,0,102,15,163,15,60,0,86,15,98,15,163,15,60,0,86,15,102,15,163,15,38,0,84,15,60,0,60,0,137,15,164,15,60,0,81,15,84,15,66,15,60,0,81,15,84,15,68,15,60,0,81,15,84,15,81,15,60,0,81,15,84,15,86,15,60,0,81,15,84,15,96,15,60,0,81,15,84,15,98,15,60,0,81,15,84,15,99,15,60,0,81,15,84,15,102,15,60,0,81,15,84,15,114,15,60,0,81,15,84,15,116,15,60,0,81,15,84,15,122,15,60,0,81,15,84,15,124,15,60,0,81,15,84,15,177,15,60,0,81,15,84,15,178,15,60,0,99,15,164,15,60,0,102,15,164,15,38,0,85,15,60,0,60,0,137,15,165,15,60,0,96,15,85,15,38,0,86,15,60,0,81,15,86,15,66,15,60,0,81,15,86,15,68,15,60,0,81,15,86,15,81,15,60,0,81,15,86,15,83,15,60,0,81,15,86,15,86,15,60,0,81,15,86,15,96,15,60,0,81,15,86,15,98,15,60,0,81,15,86,15,99,15,60,0,81,15,86,15,102,15,60,0,81,15,86,15,114,15,60,0,81,15,86,15,116,15,60,0,81,15,86,15,122,15,60,0,81,15,86,15,124,15,60,0,81,15,86,15,177,15,60,0,81,15,86,15,178,15,60,0,96,15,86,15,66,15,60,0,96,15,86,15,68,15,60,0,96,15,86,15,81,15,60,0,96,15,86,15,83,15,60,0,96,15,86,15,86,15,60,0,96,15,86,15,88,15,60,0,60,0,60,0,96,15,86,15,126,15,60,0,96,15,86,15,96,15,60,0,96,15,86,15,98,15,60,0,96,15,86,15,99,15,60,0,96,15,86,15,102,15,60,0,96,15,86,15,114,15,60,0,96,15,86,15,116,15,60,0,96,15,86,15,122,15,60,0,96,15,86,15,124,15,60,0,96,15,86,15,177,15,60,0,96,15,86,15,178,15,60,0,98,15,166,15,60,0,99,15,166,15,60,0,102,15,166,15,38,0,88,15,60,0,60,0,60,0,126,15,60,0,81,15,88,15,66,15,60,0,81,15,88,15,68,15,60,0,81,15,88,15,81,15,60,0,81,15,88,15,83,15,60,0,81,15,88,15,86,15,60,0,81,15,88,15,93,15,60,0,81,15,88,15,96,15,60,0,81,15,88,15,98,15,60,0,81,15,88,15,99,15,60,0,81,15,88,15,102,15,60,0,81,15,88,15,114,15,60,0,81,15,88,15,116,15,60,0,81,15,88,15,122,15,60,0,81,15,88,15,124,15,60,0,81,15,88,15,173,15,60,0,81,15,88,15,177,15,60,0,98,15,168,15,60,0,102,15,168,15,38,0,89,15,60,0,66,15,89,15,60,0,86,15,89,15,60,0,98,15,169,15,60,0,102,15,169,15,60,0,86,15,98,15,169,15,60,0,86,15,102,15,169,15,38,0,90,15,60,0,88,15,90,15,60,0,96,15,90,15,38,0,91,15,60,0,88,15,91,15,60,0,96,15,91,15,60,0,98,15,171,15,60,0,86,15,98,15,171,15,38,0,94,15,60,0,66,15,94,15,60,0,86,15,94,15,38,0,95,15,60,0,66,15,95,15,60,0,86,15,95,15,38,0,97,15,60,0,66,15,97,15,38,0,98,15,60,0,60,0,60,0,106,15,60,0,108,15,60,0,86,15,98,15,179,15,61,0,86,15,106,15,179,15,38,0,100,15,60,0,101,15,60,0,66,15,100,15,60,0,86,15,100,15,38,0,102,15,60,0,66,15,102,15,66,15,60,0,66,15,102,15,68,15,60,0,66,15,102,15,81,15,60,0,66,15,102,15,83,15,60,0,66,15,102,15,86,15,60,0,66,15,102,15,96,15,60,0,66,15,102,15,98,15,60,0,66,15,102,15,99,15,60,0,66,15,102,15,102,15,60,0,66,15,102,15,114,15,60,0,66,15,102,15,116,15,60,0,66,15,102,15,122,15,60,0,66,15,102,15,124,15,60,0,66,15,102,15,173,15,60,0,86,15,102,15,66,15,60,0,86,15,102,15,68,15,60,0,86,15,102,15,81,15,60,0,86,15,102,15,86,15,60,0,86,15,102,15,88,15,60,0,60,0,60,0,86,15,102,15,126,15,60,0,86,15,102,15,96,15,60,0,86,15,102,15,98,15,60,0,86,15,102,15,99,15,60,0,86,15,102,15,102,15,60,0,86,15,102,15,114,15,60,0,86,15,102,15,116,15,60,0,86,15,102,15,122,15,60,0,86,15,102,15,124,15,60,0,86,15,102,15,173,15,60,0,86,15,102,15,178,15,60,0,86,15,102,15,179,15,38,0,103,15,60,0,99,15,183,15,38,0,104,15,60,0,113,15,60,0,114,15,60,0,113,15,114,15,60,0,128,15,60,0,113,15,128,15,60,0,116,15,60,0,113,15,116,15,60,0,122,15,60,0,123,15,61,0,122,15,122,15,60,0,124,15,60,0,125,15,61,0,124,15,124,15,60,0,144,15,60,0,145,15,60,0,146,15,60,0,148,15,60,0,149,15,60,0,150,15,60,0,151,15,60,0,153,15,60,0,159,15,60,0,154,15,60,0,160,15,60,0,155,15,60,0,161,15,60,0,156,15,60,0,163,15,60,0,158,15,60,0,164,15,60,0,165,15,60,0,166,15,60,0,168,15,60,0,169,15,60,0,170,15,60,0,171,15,60,0,173,15,60,0,60,0,60,0,186,15,60,0,174,15,60,0,175,15,60,0,176,15,60,0,177,15,60,0,60,0,60,0,187,15,60,0,178,15,60,0,60,0,60,0,188,15,60,0,179,15,60,0,180,15,60,0,181,15,60,0,182,15,60,0,183,15,60,0,184,15,38,0,57,15,60,0,60,0,132,15,60,0,60,0,127,15,60,0,60,0,133,15,60,0,60,0,136,15,60,0,60,0,137,15,60,0,60,0,138,15,60,0,60,0,139,15,60,0,60,0,140,15,60,0,60,0,141,15,60,0,60,0,142,15,60,0,60,0,143,15,38,0,104,15,124,15,126,15,61,0,0,15,38,0,178,15,113,15,128,15,61,0,119,15,38,0,179,15,113,15,128,15,61,0,121,15,0,0,170,170,170,170,170,170,170,170,170,170,44,51,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,76,0,0,0,76,1,0,0,76,27,0,0,76,27,0,0,220,27,0,0,220,27,0,0,216,32,0,0,216,32,0,0,202,50,0,0,16,51,0,0,39,0,0,0,0,0,0,116,179,255,198,116,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,0,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,151,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,102,0,110,0,118,0,126,0,134,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,38,0,202,193,38,0,202,226,38,0,202,3,39,0,202,36,39,0,202,69,39,0,202,102,39,0,202,135,39,0,202,168,39,0,202,201,39,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,37,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,38,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,38,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,116,5,5,5,116,193,3,4,116,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,192,0,0,0,192,0,0,0,198,129,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,0,0,0,192,0,0,0,201,196,5,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,57,116,193,2,61,116,193,2,65,116,197,162,6,0,193,2,69,116,201,64,41,0,201,0,43,0,201,100,44,0,197,130,12,0,192,0,0,0,201,102,95,0,201,128,96,0,201,228,97,0,197,98,20,0,201,100,156,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,25,0,201,32,200,0,192,0,0,0,192,0,0,0,201,4,201,0,192,0,0,0,201,224,240,0,201,224,249,0,201,128,1,1,193,2,131,116,201,96,2,1,192,0,0,0,201,160,11,1,197,98,34,0,201,224,14,1,193,2,7,116,193,2,121,116,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,15,1,193,3,147,116,193,4,147,116,193,7,147,116,193,8,147,116,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,17,1,193,10,147,116,201,134,18,1,193,12,147,116,6,5,84,116,194,5,250,244,193,5,147,116,193,6,147,116,6,5,20,116,7,5,20,116,194,5,249,244,194,5,251,244,192,0,0,0,192,0,0,0,201,96,19,1,201,32,21,1,194,5,254,244,201,128,22,1,194,5,2,245,194,5,3,245,194,5,4,245,194,5,5,245,193,13,147,116,193,14,147,116,193,15,147,116,197,226,34,0,193,16,147,116,193,17,147,116,193,18,147,116,193,19,147,116,192,0,0,0,193,20,147,116,193,22,147,116,193,24,147,116,193,26,147,116,197,34,35,0,193,28,147,116,193,21,147,116,193,23,147,116,193,25,147,116,197,98,35,0,193,27,147,116,193,29,147,116,193,30,147,116,193,31,147,116,197,162,35,0,193,32,147,116,193,33,147,116,193,34,147,116,193,35,147,116,197,226,35,0,193,36,147,116,193,37,147,116,193,38,147,116,193,39,147,116,193,40,147,116,201,102,23,1,201,70,27,1,193,43,147,116,193,44,147,116,193,45,147,116,193,46,147,116,193,47,147,116,197,162,37,0,198,225,1,0,198,1,2,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,3,4,116,0,5,0,71,0,3,4,116,0,5,0,72,0,3,4,116,0,5,0,73,0,3,4,116,0,5,0,74,0,3,4,116,0,5,0,75,0,3,4,116,0,6,0,5,0,8,65,116,0,6,0,5,0,8,69,116,0,6,0,5,0,23,17,116,0,6,0,5,0,22,65,116,0,6,0,5,0,20,139,116,0,6,0,5,0,24,69,116,0,6,0,5,0,55,17,116,0,6,0,5,0,51,65,116,0,6,0,5,0,22,81,116,0,6,0,5,0,36,147,116,0,6,0,5,0,40,147,116,0,6,0,5,0,41,147,116,0,0,0,0,5,5,146,116,193,11,147,116,6,5,84,116,5,5,6,116,193,10,121,116,5,5,6,116,193,12,121,116,5,5,6,116,193,11,121,116,5,5,6,116,193,13,121,116,5,5,6,116,193,14,121,116,5,5,6,116,193,15,121,116,5,5,6,116,193,10,121,116,5,5,136,116,5,5,6,116,193,4,127,116,5,5,6,116,193,5,127,116,5,5,6,116,193,4,127,116,5,5,136,116,5,5,6,116,193,35,139,116,5,5,16,116,193,9,37,116,5,5,16,116,193,9,37,116,5,5,144,116,193,3,65,116,5,5,144,116,193,5,65,116,5,5,144,116,193,7,65,116,5,5,144,116,193,3,69,116,5,5,144,116,193,5,69,116,5,5,144,116,193,7,69,116,5,5,144,116,193,2,139,116,5,5,144,116,193,4,139,116,5,5,144,116,193,6,139,116,5,5,144,116,5,5,16,116,193,46,147,116,193,2,65,116,193,46,147,116,193,4,57,116,5,5,172,116,5,5,60,116,193,9,121,116,5,5,60,116,193,9,121,116,5,5,136,116,193,2,17,116,5,5,144,116,193,4,17,116,5,5,144,116,193,6,17,116,5,5,144,116,193,18,17,116,5,5,172,116,193,2,21,116,5,5,144,116,193,4,21,116,5,5,144,116,193,6,21,116,5,5,144,116,193,2,73,116,5,5,144,116,193,4,73,116,5,5,144,116,193,5,73,116,5,5,144,116,193,15,73,116,5,5,172,116,193,2,81,116,5,5,144,116,193,4,81,116,5,5,144,116,193,6,81,116,5,5,144,116,193,16,81,116,5,5,172,116,193,2,85,116,5,5,144,116,193,4,85,116,5,5,144,116,193,6,85,116,5,5,144,116,193,3,7,116,5,5,136,116,5,5,64,116,193,46,147,116,5,5,72,116,5,5,176,116,193,34,139,116,5,5,76,116,193,3,127,116,5,5,76,116,193,3,127,116,5,5,144,116,193,19,17,116,5,5,144,116,193,21,17,116,5,5,144,116,193,22,17,116,5,5,144,116,193,34,17,116,5,5,172,116,193,35,17,116,5,5,172,116,193,18,65,116,5,5,144,116,193,20,65,116,5,5,144,116,193,21,65,116,5,5,144,116,193,3,121,116,5,5,172,116,193,70,17,116,5,5,144,116,193,66,65,116,5,5,144,116,193,5,97,116,5,5,144,116,193,8,7,116,5,5,136,116,193,67,65,116,5,5,144,116,193,16,139,116,5,5,144,116,193,18,139,116,5,5,144,116,193,19,139,116,5,5,144,116,193,30,139,116,5,5,172,116,193,31,139,116,5,5,172,116,193,71,17,116,5,5,144,116,193,68,65,116,5,5,144,116,193,9,7,116,5,5,136,116,193,4,7,116,5,5,136,116,5,5,80,116,5,5,168,116,193,2,127,116,5,5,80,116,5,5,168,116,193,2,127,116,5,5,144,116,5,5,80,116,193,46,147,116,193,36,17,116,5,5,144,116,193,38,17,116,5,5,144,116,193,39,17,116,5,5,144,116,193,49,17,116,5,5,172,116,193,14,21,116,5,5,144,116,193,16,21,116,5,5,144,116,193,18,21,116,5,5,144,116,5,5,84,116,193,8,37,116,5,5,84,116,193,8,37,116,5,5,144,116,193,32,65,116,5,5,144,116,193,34,65,116,5,5,144,116,193,36,65,116,5,5,144,116,193,19,69,116,5,5,144,116,193,21,69,116,5,5,144,116,193,23,69,116,5,5,144,116,193,2,97,116,5,5,144,116,5,5,84,116,193,8,121,116,5,5,84,116,193,8,121,116,5,5,144,116,5,5,96,116,193,46,147,116,5,5,100,116,193,7,121,116,193,50,17,116,5,5,144,116,193,52,17,116,5,5,144,116,193,54,17,116,5,5,144,116,193,66,17,116,5,5,172,116,193,46,65,116,5,5,144,116,193,48,65,116,5,5,144,116,193,50,65,116,5,5,144,116,193,62,65,116,5,5,172,116,193,17,81,116,5,5,144,116,193,19,81,116,5,5,144,116,193,21,81,116,5,5,144,116,193,32,81,116,5,5,172,116,193,3,97,116,5,5,144,116,193,67,17,116,5,5,144,116,193,63,65,116,5,5,144,116,193,33,81,116,5,5,144,116,193,4,97,116,5,5,144,116,193,5,7,116,5,5,136,116,193,68,17,116,5,5,144,116,193,64,65,116,5,5,144,116,193,34,81,116,5,5,144,116,193,6,7,116,5,5,136,116,5,5,130,116,193,33,139,116,5,5,138,116,193,6,121,116,5,5,138,116,193,6,121,116,5,5,144,116,193,69,17,116,5,5,144,116,193,65,65,116,5,5,144,116,193,35,81,116,5,5,144,116,193,7,7,116,5,5,136,116,5,5,146,116,193,4,121,116,5,5,146,116,193,4,121,116,5,5,144,116,5,5,146,116,193,5,121,116,5,5,146,116,193,32,139,116,5,5,6,116,193,44,147,116,5,70,6,116,5,5,136,116,193,15,147,116,193,46,147,116,193,26,147,116,193,46,147,116,193,25,147,116,193,46,147,116,193,31,147,116,193,46,147,116,193,35,147,116,193,46,147,116,5,5,122,116,5,5,166,116,5,5,122,116,5,5,170,116,5,5,122,116,5,5,178,116,5,5,128,116,5,5,166,116,5,5,128,116,5,5,170,116,5,5,128,116,5,5,178,116,193,13,147,116,193,44,147,116,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,6,116,5,5,2,0,98,15,7,0,99,15,29,0,102,15,48,0,168,15,3,192,197,66,6,0,168,15,12,0,168,15,1,192,197,66,180,15,1,192,197,130,181,15,1,192,197,194,185,15,2,192,197,3,144,15,0,192,197,130,158,15,0,192,197,194,159,15,1,192,197,2,2,0,144,15,2,192,197,98,164,15,2,192,197,162,185,15,2,192,197,227,16,116,5,5,10,0,89,15,95,0,97,15,81,0,97,15,255,255,117,116,5,5,100,15,255,255,131,116,193,3,102,15,16,0,96,15,38,0,114,15,20,0,114,15,255,255,139,116,193,11,116,15,255,255,139,116,193,12,122,15,255,255,139,116,193,13,124,15,255,255,139,116,193,14,173,15,255,255,139,116,193,15,96,15,255,255,139,116,193,7,98,15,255,255,139,116,193,8,99,15,255,255,139,116,193,9,102,15,255,255,139,116,193,10,82,15,14,0,82,15,5,192,197,226,83,15,255,255,139,116,193,5,86,15,255,255,139,116,193,6,87,15,6,192,197,34,66,15,255,255,139,116,193,2,67,15,5,192,197,162,68,15,255,255,139,116,193,3,81,15,255,255,139,116,193,4,89,15,255,255,89,116,193,2,94,15,255,255,105,116,193,2,95,15,255,255,109,116,193,2,69,15,255,255,25,116,193,2,73,15,90,0,79,15,255,255,57,116,193,5,81,15,93,0,83,15,19,0,96,15,41,0,116,15,19,0,116,15,255,255,69,116,193,15,122,15,255,255,69,116,193,16,124,15,255,255,69,116,193,17,126,15,0,192,198,225,173,15,255,255,69,116,193,18,96,15,255,255,69,116,193,10,98,15,255,255,69,116,193,11,99,15,255,255,69,116,193,12,102,15,255,255,69,116,193,13,114,15,255,255,69,116,193,14,83,15,19,0,83,15,255,255,69,116,193,6,86,15,255,255,69,116,193,7,87,15,5,192,197,98,88,15,255,255,69,116,193,8,93,15,255,255,69,116,193,9,66,15,255,255,69,116,193,3,67,15,4,192,197,226,68,15,255,255,69,116,193,4,81,15,255,255,69,116,193,5,82,15,5,192,197,34,193,127,37,116,193,2,171,15,3,192,197,130,172,15,3,192,197,195,18,0,96,15,41,0,116,15,19,0,116,15,255,255,65,116,193,14,122,15,255,255,65,116,193,15,124,15,255,255,65,116,193,16,126,15,0,192,198,193,173,15,255,255,65,116,193,17,96,15,255,255,65,116,193,9,98,15,255,255,65,116,193,10,99,15,255,255,65,116,193,11,102,15,255,255,65,116,193,12,114,15,255,255,65,116,193,13,82,15,18,0,82,15,4,192,197,98,83,15,255,255,65,116,193,6,86,15,255,255,65,116,193,7,87,15,4,192,197,162,88,15,255,255,65,116,193,8,66,15,255,255,65,116,193,3,67,15,4,192,197,34,68,15,255,255,65,116,193,4,81,15,255,255,65,116,193,5,56,116,5,5,2,0,118,15,6,192,197,226,173,15,255,255,57,116,193,3,178,15,255,255,57,116,193,4,60,116,5,5,48,0,98,15,1,0,144,15,7,192,197,34,185,15,7,192,197,99,64,116,5,5,6,0,84,15,243,0,84,15,7,0,86,15,80,0,88,15,157,0,105,15,12,192,197,66,17,0,99,15,37,0,118,15,19,0,118,15,10,192,197,66,122,15,255,255,73,116,193,12,124,15,255,255,73,116,193,13,177,15,255,255,73,116,193,14,178,15,255,255,73,116,193,15,99,15,255,255,73,116,193,8,102,15,255,255,73,116,193,9,114,15,255,255,73,116,193,10,116,15,255,255,73,116,193,11,82,15,18,0,82,15,9,192,197,194,86,15,255,255,73,116,193,5,87,15,10,192,197,2,96,15,255,255,73,116,193,6,98,15,255,255,73,116,193,7,66,15,255,255,73,116,193,2,67,15,9,192,197,130,68,15,255,255,73,116,193,3,81,15,255,255,73,116,193,4,18,0,98,15,41,0,118,15,19,0,118,15,11,192,197,66,122,15,255,255,81,116,193,13,124,15,255,255,81,116,193,14,177,15,255,255,81,116,193,15,178,15,255,255,81,116,193,16,98,15,255,255,81,116,193,8,99,15,255,255,81,116,193,9,102,15,255,255,81,116,193,10,114,15,255,255,81,116,193,11,116,15,255,255,81,116,193,12,82,15,18,0,82,15,10,192,197,194,83,15,255,255,81,116,193,5,86,15,255,255,81,116,193,6,87,15,11,192,197,2,96,15,255,255,81,116,193,7,66,15,255,255,81,116,193,2,67,15,10,192,197,130,68,15,255,255,81,116,193,3,81,15,255,255,81,116,193,4,18,0,96,15,42,0,116,15,20,0,116,15,255,255,85,116,193,13,122,15,255,255,85,116,193,14,124,15,255,255,85,116,193,15,173,15,255,255,85,116,193,16,177,15,255,255,85,116,193,17,96,15,255,255,85,116,193,8,98,15,255,255,85,116,193,9,99,15,255,255,85,116,193,10,102,15,255,255,85,116,193,11,114,15,255,255,85,116,193,12,82,15,18,0,82,15,11,192,197,194,83,15,255,255,85,116,193,5,86,15,255,255,85,116,193,6,87,15,12,192,197,2,93,15,255,255,85,116,193,7,66,15,255,255,85,116,193,2,67,15,11,192,197,130,68,15,255,255,85,116,193,3,81,15,255,255,85,116,193,4,64,15,255,255,7,116,193,3,66,15,65,0,68,15,14,0,87,15,33,0,114,15,16,0,114,15,255,255,21,116,193,10,116,15,255,255,21,116,193,11,122,15,255,255,21,116,193,12,124,15,255,255,21,116,193,13,87,15,9,192,197,66,96,15,255,255,21,116,193,7,98,15,255,255,21,116,193,8,99,15,255,255,21,116,193,9,81,15,15,0,81,15,255,255,21,116,193,4,82,15,9,192,197,2,83,15,255,255,21,116,193,5,86,15,255,255,21,116,193,6,66,15,255,255,21,116,193,2,67,15,8,192,197,194,68,15,255,255,21,116,193,3,20,0,98,15,47,0,118,15,25,0,173,15,12,0,173,15,255,255,17,116,193,16,177,15,255,255,17,116,193,17,178,15,255,255,17,116,193,18,118,15,8,192,197,130,122,15,255,255,17,116,193,14,124,15,255,255,17,116,193,15,98,15,255,255,17,116,193,9,99,15,255,255,17,116,193,10,102,15,255,255,17,116,193,11,114,15,255,255,17,116,193,12,116,15,255,255,17,116,193,13,83,15,19,0,83,15,255,255,17,116,193,5,86,15,255,255,17,116,193,6,87,15,8,192,197,66,93,15,255,255,17,116,193,7,96,15,255,255,17,116,193,8,66,15,255,255,17,116,193,2,67,15,7,192,197,194,68,15,255,255,17,116,193,3,81,15,255,255,17,116,193,4,82,15,8,192,197,2,72,116,5,5,51,0,116,15,102,15,159,15,114,15,12,192,197,195,76,116,5,5,48,0,99,15,1,0,146,15,13,192,197,34,147,15,13,192,197,99,80,116,5,5,14,0,95,15,7,1,102,15,167,0,102,15,15,0,105,15,19,192,197,66,106,15,148,0,114,15,48,0,99,15,1,0,166,15,19,192,197,131,167,15,19,192,197,228,32,0,122,15,70,0,159,15,36,0,169,15,19,0,169,15,255,255,89,116,193,7,173,15,255,255,139,116,193,29,178,15,255,255,139,116,193,30,179,15,255,255,139,116,193,31,185,15,19,192,197,2,159,15,255,255,57,116,193,12,161,15,255,255,65,116,193,68,162,15,18,192,197,194,163,15,255,255,69,116,193,37,146,15,15,0,146,15,255,255,17,116,193,71,147,15,18,192,197,130,148,15,255,255,21,116,193,30,153,15,255,255,37,116,193,7,122,15,255,255,139,116,193,27,124,15,255,255,139,116,193,28,126,15,1,192,198,65,144,15,255,255,7,116,193,9,96,15,32,0,114,15,14,0,114,15,255,255,139,116,193,25,116,15,255,255,139,116,193,26,118,15,18,192,197,2,120,15,18,192,197,66,96,15,255,255,139,116,193,21,98,15,255,255,139,116,193,22,99,15,255,255,139,116,193,23,102,15,255,255,139,116,193,24,82,15,14,0,82,15,17,192,197,130,86,15,255,255,139,116,193,19,87,15,17,192,197,194,88,15,255,255,139,116,193,20,66,15,255,255,139,116,193,16,67,15,17,192,197,66,68,15,255,255,139,116,193,17,81,15,255,255,139,116,193,18,2,0,120,15,15,192,197,194,153,15,255,255,37,116,193,6,179,15,255,255,121,116,193,3,95,15,255,255,109,116,193,3,98,15,6,0,99,15,70,0,100,15,255,255,131,116,193,4,15,0,161,15,31,0,171,15,14,0,171,15,255,255,97,116,193,5,172,15,16,192,197,130,179,15,255,255,121,116,193,3,185,15,16,192,197,194,161,15,255,255,65,116,193,66,162,15,16,192,197,66,163,15,255,255,69,116,193,36,169,15,255,255,89,116,193,6,148,15,16,0,148,15,255,255,21,116,193,29,151,15,255,255,33,116,193,6,153,15,255,255,37,116,193,6,159,15,255,255,57,116,193,10,120,15,15,192,197,194,144,15,255,255,7,116,193,8,146,15,255,255,17,116,193,70,147,15,16,192,197,2,3,0,149,15,255,255,25,116,193,5,159,15,255,255,57,116,193,11,161,15,255,255,65,116,193,67,162,15,17,192,197,2,79,15,89,0,79,15,255,255,57,116,193,6,81,15,8,0,89,15,255,255,89,116,193,3,94,15,255,255,105,116,193,3,17,0,98,15,37,0,116,15,19,0,116,15,255,255,65,116,193,28,122,15,255,255,65,116,193,29,124,15,255,255,65,116,193,30,126,15,1,192,198,33,173,15,255,255,65,116,193,31,98,15,255,255,65,116,193,24,99,15,255,255,65,116,193,25,102,15,255,255,65,116,193,26,114,15,255,255,65,116,193,27,82,15,18,0,82,15,15,192,197,66,86,15,255,255,65,116,193,21,87,15,15,192,197,130,88,15,255,255,65,116,193,22,96,15,255,255,65,116,193,23,66,15,255,255,65,116,193,18,67,15,15,192,197,2,68,15,255,255,65,116,193,19,81,15,255,255,65,116,193,20,64,15,255,255,7,116,193,4,66,15,4,0,69,15,255,255,25,116,193,3,22,0,99,15,51,0,124,15,25,0,177,15,12,0,177,15,255,255,17,116,193,33,178,15,255,255,17,116,193,34,179,15,255,255,17,116,193,35,124,15,255,255,17,116,193,31,126,15,1,192,198,1,173,15,255,255,17,116,193,32,118,15,10,0,118,15,14,192,197,130,120,15,14,192,197,194,122,15,255,255,17,116,193,30,99,15,255,255,17,116,193,27,114,15,255,255,17,116,193,28,116,15,255,255,17,116,193,29,86,15,25,0,93,15,12,0,93,15,255,255,17,116,193,24,96,15,255,255,17,116,193,25,98,15,255,255,17,116,193,26,86,15,255,255,17,116,193,22,87,15,14,192,197,66,88,15,255,255,17,116,193,23,66,15,255,255,17,116,193,19,67,15,13,192,197,194,68,15,255,255,17,116,193,20,81,15,255,255,17,116,193,21,82,15,14,192,197,2,84,116,5,5,12,0,80,15,179,0,90,15,19,0,90,15,255,255,93,116,193,2,91,15,255,255,97,116,193,2,92,15,24,192,197,130,98,15,1,0,146,15,24,192,197,194,147,15,25,192,197,3,80,15,255,255,61,116,193,3,81,15,80,0,83,15,18,0,96,15,41,0,116,15,19,0,116,15,255,255,69,116,193,30,122,15,255,255,69,116,193,31,124,15,255,255,69,116,193,32,126,15,1,192,198,97,173,15,255,255,69,116,193,33,96,15,255,255,69,116,193,25,98,15,255,255,69,116,193,26,99,15,255,255,69,116,193,27,102,15,255,255,69,116,193,28,114,15,255,255,69,116,193,29,82,15,18,0,82,15,24,192,197,2,83,15,255,255,69,116,193,22,86,15,255,255,69,116,193,23,87,15,24,192,197,66,88,15,255,255,69,116,193,24,66,15,255,255,69,116,193,19,67,15,23,192,197,194,68,15,255,255,69,116,193,20,81,15,255,255,69,116,193,21,16,0,96,15,38,0,114,15,20,0,114,15,255,255,65,116,193,41,116,15,255,255,65,116,193,42,122,15,255,255,65,116,193,43,124,15,255,255,65,116,193,44,173,15,255,255,65,116,193,45,96,15,255,255,65,116,193,37,98,15,255,255,65,116,193,38,99,15,255,255,65,116,193,39,102,15,255,255,65,116,193,40,82,15,14,0,82,15,23,192,197,66,83,15,255,255,65,116,193,35,86,15,255,255,65,116,193,36,87,15,23,192,197,130,66,15,255,255,65,116,193,32,67,15,23,192,197,2,68,15,255,255,65,116,193,33,81,15,255,255,65,116,193,34,70,15,18,0,70,15,255,255,29,116,193,2,71,15,255,255,33,116,193,2,73,15,193,127,37,116,193,3,171,15,22,192,197,98,172,15,22,192,197,163,65,15,255,255,13,116,193,2,66,15,65,0,68,15,14,0,87,15,33,0,114,15,16,0,114,15,255,255,21,116,193,22,116,15,255,255,21,116,193,23,122,15,255,255,21,116,193,24,124,15,255,255,21,116,193,25,87,15,22,192,197,34,96,15,255,255,21,116,193,19,98,15,255,255,21,116,193,20,99,15,255,255,21,116,193,21,81,15,15,0,81,15,255,255,21,116,193,16,82,15,21,192,197,226,83,15,255,255,21,116,193,17,86,15,255,255,21,116,193,18,66,15,255,255,21,116,193,14,67,15,21,192,197,162,68,15,255,255,21,116,193,15,17,0,99,15,37,0,122,15,20,0,122,15,255,255,17,116,193,45,124,15,255,255,17,116,193,46,173,15,255,255,17,116,193,47,177,15,255,255,17,116,193,48,178,15,255,255,17,116,193,49,99,15,255,255,17,116,193,42,114,15,255,255,17,116,193,43,116,15,255,255,17,116,193,44,118,15,21,192,197,98,82,15,18,0,82,15,20,192,197,226,86,15,255,255,17,116,193,39,87,15,21,192,197,34,96,15,255,255,17,116,193,40,98,15,255,255,17,116,193,41,66,15,255,255,17,116,193,36,67,15,20,192,197,162,68,15,255,255,17,116,193,37,81,15,255,255,17,116,193,38,100,116,5,5,49,0,98,15,159,15,25,192,197,162,112,116,5,5,10,0,81,15,202,0,90,15,11,0,90,15,255,255,93,116,193,3,91,15,255,255,97,116,193,3,92,15,28,192,197,226,81,15,93,0,85,15,255,255,77,116,5,5,86,15,20,0,98,15,46,0,118,15,24,0,126,15,11,0,126,15,1,192,198,193,177,15,255,255,81,116,193,31,178,15,255,255,81,116,193,32,118,15,28,192,197,162,122,15,255,255,81,116,193,29,124,15,255,255,81,116,193,30,98,15,255,255,81,116,193,24,99,15,255,255,81,116,193,25,102,15,255,255,81,116,193,26,114,15,255,255,81,116,193,27,116,15,255,255,81,116,193,28,83,15,19,0,83,15,255,255,81,116,193,20,86,15,255,255,81,116,193,21,87,15,28,192,197,98,88,15,255,255,81,116,193,22,96,15,255,255,81,116,193,23,66,15,255,255,81,116,193,17,67,15,27,192,197,226,68,15,255,255,81,116,193,18,81,15,255,255,81,116,193,19,82,15,28,192,197,34,21,0,98,15,46,0,118,15,24,0,126,15,11,0,126,15,1,192,198,161,173,15,255,255,65,116,193,61,178,15,255,255,65,116,193,62,118,15,27,192,197,162,122,15,255,255,65,116,193,59,124,15,255,255,65,116,193,60,98,15,255,255,65,116,193,54,99,15,255,255,65,116,193,55,102,15,255,255,65,116,193,56,114,15,255,255,65,116,193,57,116,15,255,255,65,116,193,58,83,15,25,0,88,15,12,0,88,15,255,255,65,116,193,51,93,15,255,255,65,116,193,52,96,15,255,255,65,116,193,53,83,15,255,255,65,116,193,49,86,15,255,255,65,116,193,50,87,15,27,192,197,98,66,15,255,255,65,116,193,46,67,15,26,192,197,226,68,15,255,255,65,116,193,47,81,15,255,255,65,116,193,48,82,15,27,192,197,34,65,15,255,255,13,116,193,3,66,15,12,0,70,15,255,255,29,116,193,3,71,15,255,255,33,116,193,3,80,15,255,255,61,116,193,4,21,0,99,15,46,0,122,15,25,0,173,15,12,0,173,15,255,255,17,116,193,64,177,15,255,255,17,116,193,65,178,15,255,255,17,116,193,66,122,15,255,255,17,116,193,62,124,15,255,255,17,116,193,63,126,15,1,192,198,129,99,15,255,255,17,116,193,58,102,15,255,255,17,116,193,59,114,15,255,255,17,116,193,60,116,15,255,255,17,116,193,61,118,15,26,192,197,162,83,15,25,0,88,15,12,0,88,15,255,255,17,116,193,55,96,15,255,255,17,116,193,56,98,15,255,255,17,116,193,57,83,15,255,255,17,116,193,53,86,15,255,255,17,116,193,54,87,15,26,192,197,98,66,15,255,255,17,116,193,50,67,15,25,192,197,226,68,15,255,255,17,116,193,51,81,15,255,255,17,116,193,52,82,15,26,192,197,34,120,116,5,5,16,0,162,15,34,0,168,15,18,0,168,15,255,255,85,116,193,18,169,15,255,255,89,116,193,4,171,15,255,255,97,116,193,4,172,15,29,192,197,226,185,15,30,192,197,34,162,15,29,192,197,98,163,15,255,255,69,116,193,34,166,15,255,255,81,116,193,33,167,15,29,192,197,162,151,15,16,0,151,15,255,255,33,116,193,4,153,15,255,255,37,116,193,4,159,15,255,255,57,116,193,7,161,15,255,255,65,116,193,63,144,15,255,255,7,116,193,5,146,15,255,255,17,116,193,67,147,15,29,192,197,34,148,15,255,255,21,116,193,26,126,116,5,5,13,0,161,15,27,0,166,15,14,0,166,15,255,255,81,116,193,34,167,15,30,192,197,226,183,15,255,255,143,116,5,5,185,15,31,192,197,34,161,15,255,255,65,116,193,64,162,15,30,192,197,162,164,15,255,255,73,116,193,16,148,15,16,0,148,15,255,255,21,116,193,27,149,15,255,255,25,116,193,4,151,15,255,255,33,116,193,5,159,15,255,255,57,116,193,8,144,15,255,255,7,116,193,6,146,15,255,255,17,116,193,68,147,15,30,192,197,98,130,116,5,5,49,0,102,15,159,15,31,192,197,98,138,116,5,5,15,0,162,15,31,0,167,15,14,0,167,15,32,192,197,194,168,15,255,255,85,116,193,19,169,15,255,255,89,116,193,5,185,15,33,192,197,2,162,15,32,192,197,130,163,15,255,255,69,116,193,35,164,15,255,255,73,116,193,17,166,15,255,255,81,116,193,35,148,15,16,0,148,15,255,255,21,116,193,28,153,15,255,255,37,116,193,5,159,15,255,255,57,116,193,9,161,15,255,255,65,116,193,65,98,15,11,0,144,15,255,255,7,116,193,7,146,15,255,255,17,116,193,69,147,15,32,192,197,66,1,0,146,15,31,192,197,162,147,15,31,192,197,227,146,116,5,5,2,0,98,15,7,0,102,15,15,0,106,15,48,0,177,15,33,192,197,226,2,0,146,15,33,192,197,66,147,15,33,192,197,131,177,15,33,192,197,226,48,0,168,15,34,192,197,34,120,116,6,5,48,0,153,15,255,255,37,116,193,4,147,116,193,2,2,0,114,15,255,255,147,116,193,4,116,15,255,255,147,116,193,8,128,15,255,255,147,116,193,6,147,116,193,9,48,0,122,15,255,255,147,116,193,10,147,116,193,11,48,0,124,15,255,255,147,116,193,12,252,244,194,5,2,0,144,15,255,255,6,116,5,70,145,15,255,255,12,116,5,70,185,15,34,192,197,162,253,244,194,5,1,0,164,15,255,255,72,116,5,70,165,15,255,255,76,116,5,70,255,244,194,5,48,0,153,15,255,255,36,116,5,70,147,116,193,41,4,0,113,15,14,0,115,15,36,192,197,98,117,15,36,192,197,162,128,15,255,255,180,116,5,5,129,15,255,255,182,116,5,5,66,73,197,34,114,15,36,192,197,98,116,15,36,192,197,162,128,15,255,255,182,116,5,5,147,116,193,42,4,0,113,15,14,0,115,15,37,192,197,34,117,15,37,192,197,98,128,15,255,255,184,116,5,5,129,15,255,255,186,116,5,5,66,73,197,226,114,15,37,192,197,34,116,15,37,192,197,98,128,15,255,255,186,116,5,5,34,0,65,15,72,15,73,15,74,15,79,15,101,15,102,15,103,15,105,15,107,15,118,15,119,15,120,15,121,15,126,15,127,15,144,15,150,15,151,15,152,15,153,15,154,15,158,15,160,15,161,15,170,15,171,15,174,15,177,15,182,15,183,15,184,15,185,15,186,15,3,0,69,0,52,0,61,0,215,3,0,16,4,0,0,96,1,0,0,96,1,0,43,0,163,16,0,32,1,0,32,0,168,16,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,2,8,0,32,7,0,0,0,21,0,0,0,4,8,0,0,4,8,0,0,3,0,0,0,0,0,0,0,53,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,58,220,38,0,67,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,60,0,99,0,39,0,39,0,104,0,61,0,99,0,188,2,104,0,61,0,99,0,25,32,104,0,60,0,60,0,60,0,67,0,39,0,39,0,104,0,61,0,67,0,188,2,104,0,61,0,67,0,25,32,104,0,60,0,60,0,60,0,67,0,39,0,39,0,72,0,61,0,67,0,188,2,72,0,61,0,67,0,25,32,72,0,0,0,170,170,170,170,170,170,170,170,12,31,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,23,0,0,100,23,0,0,100,23,0,0,100,23,0,0,24,25,0,0,24,25,0,0,230,26,0,0,12,27,0,0,244,30,0,0,50,105,114,84,1,0,64,8,105,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,12,0,202,129,12,0,202,162,12,0,202,195,12,0,202,228,12,0,202,5,13,0,202,38,13,0,202,71,13,0,202,104,13,0,202,137,13,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,192,17,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,11,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,11,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,12,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,71,5,3,47,5,142,0,0,70,5,3,47,5,142,0,0,71,5,3,47,5,144,0,0,70,5,3,47,5,144,0,0,71,5,3,47,5,156,0,0,70,5,3,47,5,156,0,0,71,5,3,47,5,196,0,0,70,5,3,47,5,196,0,0,71,5,3,47,5,150,0,0,70,5,3,47,5,150,0,0,71,5,3,47,5,160,0,0,70,5,3,47,5,160,0,0,71,5,3,47,5,206,0,0,70,5,3,47,5,206,0,0,70,5,3,47,5,210,0,0,135,5,2,47,5,142,0,0,70,5,2,47,5,142,0,0,135,5,2,47,5,144,0,0,70,5,2,47,5,144,0,0,135,5,2,47,5,156,0,0,70,5,2,47,5,156,0,0,135,5,2,47,5,196,0,0,70,5,2,47,5,196,0,0,135,5,2,47,5,150,0,0,70,5,2,47,5,150,0,0,135,5,2,47,5,160,0,0,70,5,2,47,5,160,0,0,135,5,2,47,5,206,0,0,70,5,2,47,5,206,0,0,70,5,2,47,5,210,0,0,5,5,3,47,5,142,0,0,5,5,3,47,5,144,0,0,5,5,3,47,5,156,0,0,5,5,3,47,5,196,0,0,5,5,3,47,5,150,0,0,5,5,3,47,5,160,0,0,5,5,3,47,5,206,0,0,5,5,3,47,5,210,0,0,5,5,2,47,5,142,0,0,5,5,2,47,5,144,0,0,5,5,2,47,5,156,0,0,5,5,2,47,5,196,0,0,5,5,2,47,5,150,0,0,5,5,2,47,5,160,0,0,5,5,2,47,5,206,0,0,5,5,2,47,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,19,0,36,30,50,0,41,30,33,0,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,25,32,16,0,36,30,94,0,40,30,80,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,40,30,6,192,197,98,30,2,14,0,30,2,4,192,197,98,31,2,4,192,197,162,188,2,20,0,34,30,4,192,197,226,35,30,5,192,197,34,39,0,12,0,72,0,2,239,135,5,104,0,2,239,70,5,36,1,3,192,197,226,37,1,4,192,197,34,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,3,239,71,5,104,0,3,239,70,5,36,1,197,162,37,1,0,192,197,98,0,46,5,5,11,0,37,30,36,0,43,30,25,0,43,30,11,192,197,34,150,30,11,192,197,98,25,32,8,0,37,30,60,0,37,30,8,192,197,98,39,30,8,192,197,162,41,30,8,192,197,226,43,30,9,192,197,34,150,30,9,192,197,98,37,30,10,192,197,98,39,30,10,192,197,162,41,30,10,192,197,226,31,2,8,0,31,2,9,192,197,226,188,2,11,0,35,30,10,192,197,34,39,0,6,0,104,0,2,239,5,5,37,1,9,192,197,162,8,0,37,30,15,0,37,30,8,192,197,98,39,30,8,192,197,162,41,30,8,192,197,226,43,30,9,192,197,34,150,30,9,192,197,98,104,0,3,239,5,5,37,1,7,192,197,162,31,2,7,192,197,226,35,30,8,192,197,34,18,0,39,0,40,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,188,2,189,2,34,30,44,30,150,30,151,30,25,32,26,32,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,185,84,185,88,186,92,186,100,185,104,185,108,185,112,186,116,185,124,185,128,185,132,185,140,186,144,185,148,185,156,185,160,185,164,185,168,185,172,185,176,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,38,4,168,72,168,76,168,80,168,84,168,88,168,92,168,100,168,104,168,108,168,112,168,116,168,124,168,128,168,132,168,140,168,144,168,148,168,156,168,160,168,164,168,168,168,172,168,176,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,77,154,77,250,77,90,78,186,93,154,93,250,93,90,94,217,72,154,118,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,157,153,157,249,157,89,158,153,173,185,180,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,77,136,77,232,77,72,78,168,93,136,93,232,93,72,94,200,72,136,118,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,157,136,157,232,157,72,158,136,173,168,180,72,174,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,136,153,109,136,109,249,110,232,110,25,110,8,110,121,111,104,111,89,111,72,111,154,117,136,117,250,118,232,118,26,118,8,118,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,250,146,232,146,26,146,8,146,249,150,232,150,25,150,8,150,185,152,168,152,153,158,136,158,57,159,40,159,217,157,200,157,57,158,40,158,121,158,104,158,25,159,8,159,249,165,232,165,249,173,232,173,89,174,153,177,136,177,185,178,168,178,25,178,8,178,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,144,169,144,200,56,169,76,187,92,187,100,169,92,169,100,169,184,169,116,217,124,187,76,200,124,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,39,2,72,4,186,68,104,4,177,68,36,5,250,69,37,5,241,69,153,3,255,5,168,64,39,2,104,4,168,68,37,5,232,69,153,3,255,1,3,0,69,0,52,0,61,0,55,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,251,7,0,32,1,0,32,0,0,8,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,132,19,0,32,7,0,0,0,23,0,0,0,134,19,0,0,134,19,0,0,3,0,0,0,0,0,0,0,43,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,104,0,114,0,93,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,104,0,114,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,0,0,252,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,113,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,180,35,0,0,180,35,0,0,180,35,0,0,180,35,0,0,172,38,0,0,172,38,0,0,198,40,0,0,228,40,0,0,228,40,0,0,50,105,114,84,1,0,64,8,46,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,122,0,130,0,136,0,144,0,152,0,160,0,48,0,56,0,159,0,167,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,184,0,192,0,48,0,48,0,48,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,0,48,0,48,0,216,0,48,0,222,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,233,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,240,0,48,0,48,0,248,0,252,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,182,0,48,0,48,0,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,15,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,23,1,48,0,48,0,29,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,232,1,32,2,96,2,192,0,124,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,22,0,202,161,22,0,202,194,22,0,202,227,22,0,202,4,23,0,202,37,23,0,202,70,23,0,202,103,23,0,202,136,23,0,202,169,23,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,198,0,0,201,68,2,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,224,4,0,156,5,0,66,201,64,7,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,198,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,166,10,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,134,11,0,201,4,13,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,128,14,0,5,5,0,66,201,32,16,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,198,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,166,18,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,13,0,201,134,19,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,13,0,201,6,21,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,22,0,201,70,23,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,24,0,201,198,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,25,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,27,0,5,71,238,102,201,70,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,5,0,192,0,0,0,197,98,5,0,192,0,0,0,192,0,0,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,197,34,6,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,197,226,6,0,197,35,7,0,197,130,7,0,192,0,0,0,192,0,0,0,197,194,7,0,197,3,8,0,197,98,8,0,192,0,0,0,192,0,0,0,197,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,29,0,201,230,29,0,192,0,0,0,192,0,0,0,197,226,11,0,197,34,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,30,0,201,102,31,0,201,38,32,0,201,230,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,162,4,0,5,5,10,121,5,5,12,121,197,226,4,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,197,162,5,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,5,0,5,5,107,121,197,34,6,0,5,5,111,121,197,98,6,0,5,5,115,121,197,162,6,0,5,5,119,121,197,226,6,0,197,35,7,0,197,130,7,0,5,5,127,121,5,5,129,121,197,194,7,0,197,3,8,0,197,98,8,0,5,5,137,121,5,5,139,121,197,162,8,0,5,5,143,121,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,78,196,196,48,0,12,3,11,192,197,98,5,78,196,196,48,0,12,3,11,192,197,162,156,92,196,196,48,0,12,3,12,192,197,98,5,92,196,196,48,0,12,3,12,192,197,162,156,92,196,210,48,0,12,3,12,192,197,226,5,92,196,210,48,0,12,3,13,192,197,34,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,3,0,67,0,50,0,59,0,43,0,0,16,16,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,28,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,188,28,0,0,188,28,0,0,188,28,0,0,188,28,0,0,208,29,0,0,208,29,0,0,164,31,0,0,194,31,0,0,4,36,0,0,25,0,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,94,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,174,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,145,0,48,0,48,0,153,0,157,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,139,0,48,0,48,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,7,0,202,129,7,0,202,162,7,0,202,195,7,0,202,228,7,0,202,5,8,0,202,38,8,0,202,71,8,0,202,104,8,0,202,137,8,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,201,132,1,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,32,4,0,156,5,0,66,201,128,6,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,6,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,230,9,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,198,10,0,201,68,12,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,192,13,0,5,5,0,66,201,96,15,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,6,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,230,17,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,6,0,201,198,18,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,6,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,7,0,201,70,20,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,21,0,201,134,22,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,23,0,201,6,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,24,0,201,134,25,0,192,0,0,0,192,0,0,0,197,34,5,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,26,0,201,6,27,0,201,198,27,0,201,134,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,156,78,196,196,48,0,12,3,4,192,197,162,5,78,196,196,48,0,12,3,4,192,197,226,156,92,196,196,48,0,12,3,5,192,197,162,5,92,196,196,48,0,12,3,5,192,197,226,156,92,196,210,48,0,12,3,6,192,197,34,5,92,196,210,48,0,12,3,6,192,197,98,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,28,4,186,88,185,92,185,96,185,100,186,104,186,112,185,116,36,4,185,128,46,4,185,144,185,148,185,152,185,160,56,4,185,172,185,180,185,184,185,188,185,192,185,196,58,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,60,4,62,4,168,88,168,92,168,96,168,100,168,104,168,112,168,116,67,4,168,128,73,4,168,144,168,148,168,152,168,160,79,4,168,172,168,180,168,184,168,188,168,192,168,196,81,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,144,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,83,4,186,89,154,89,250,89,90,90,186,105,154,105,250,105,90,106,217,76,154,134,185,145,153,145,249,145,153,146,89,146,136,14,217,146,185,181,153,181,249,181,89,182,153,197,185,208,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,85,4,168,89,136,89,232,89,72,90,168,105,136,105,232,105,72,106,200,76,136,134,168,145,136,145,232,145,136,146,72,146,128,14,200,146,168,181,136,181,232,181,72,182,136,197,168,208,72,198,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,185,84,168,84,58,91,40,91,218,89,200,89,186,90,168,90,26,91,8,91,26,90,8,90,249,97,232,97,217,97,200,97,185,98,168,98,249,98,232,98,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,140,168,140,57,147,40,147,217,145,200,145,121,146,104,146,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,154,165,136,165,250,165,232,165,87,4,89,4,185,168,168,168,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,249,197,232,197,89,198,153,201,136,201,185,202,168,202,185,204,168,204,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,88,200,164,169,164,200,56,169,88,187,104,187,112,169,104,169,112,169,212,169,132,217,144,187,88,200,144,169,88,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,76,90,2,122,2,125,5,186,80,126,5,177,80,255,5,185,120,74,4,186,124,106,4,177,124,52,5,250,125,53,5,241,125,255,5,186,132,74,4,186,136,106,4,177,136,52,5,250,137,53,5,241,137,255,5,186,164,255,5,185,200,255,5,168,64,255,5,168,76,122,2,126,5,168,80,255,5,168,120,106,4,168,124,53,5,232,125,255,5,168,132,106,4,168,136,53,5,232,137,255,5,168,164,255,5,168,200,255,5,249,66,255,5,232,66,255,5,250,166,255,5,232,166,255,1,3,0,67,0,50,0,59,0,115,10,0,16,4,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,107,10,0,32,123,19,0,32,1,0,32,0,128,19,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,152,6,0,32,7,0,0,0,21,0,0,0,154,6,0,0,154,6,0,0,3,0,0,0,0,0,0,0,29,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,115,0,114,0,93,0,0,0,170,170,170,170,170,170,170,170,196,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,56,0,0,0,56,1,0,0,88,25,0,0,88,25,0,0,88,25,0,0,88,25,0,0,172,25,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,174,5,70,97,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,97,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,174,5,70,97,5,140,0,0,5,5,70,97,5,140,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,145,6,0,32,1,0,32,0,150,6,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,43,9,0,32,7,0,0,0,21,0,0,0,45,9,0,0,45,9,0,0,3,0,0,0,0,0,0,0,43,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,170,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,38,0,76,0,60,0,64,1,61,0,108,0,183,0,60,0,60,0,60,0,63,1,61,0,76,0,183,0,0,0,170,170,224,35,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,61,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,36,33,0,0,36,33,0,0,36,33,0,0,36,33,0,0,76,35,0,0,76,35,0,0,190,35,0,0,200,35,0,0,200,35,0,0,50,105,114,84,1,0,64,8,5,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,100,0,108,0,114,0,122,0,130,0,138,0,48,0,56,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,162,0,170,0,48,0,48,0,48,0,178,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,186,0,48,0,48,0,194,0,48,0,200,0,208,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,211,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,219,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,222,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,160,0,48,0,48,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,238,0,48,0,48,0,244,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,144,1,200,1,8,2,192,0,36,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,16,0,202,33,16,0,202,66,16,0,202,99,16,0,202,132,16,0,202,165,16,0,202,198,16,0,202,231,16,0,202,8,17,0,202,41,17,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,192,0,0,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,32,2,0,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,6,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,65,5,5,2,65,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,3,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,5,0,5,71,238,102,201,70,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,197,162,1,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,197,163,2,0,197,2,3,0,192,0,0,0,192,0,0,0,197,66,3,0,197,131,3,0,197,226,3,0,192,0,0,0,192,0,0,0,197,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,0,0,5,5,10,121,5,5,12,121,197,98,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,98,1,0,5,5,107,121,197,162,1,0,5,5,111,121,197,226,1,0,5,5,115,121,197,34,2,0,5,5,119,121,197,98,2,0,197,163,2,0,197,2,3,0,5,5,127,121,5,5,129,121,197,66,3,0,197,131,3,0,197,226,3,0,5,5,137,121,5,5,139,121,197,34,4,0,5,5,143,121,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,64,156,5,1,0,183,0,255,255,2,65,134,5,135,3,255,255,2,65,134,5,0,64,5,5,1,0,183,0,255,255,2,65,5,5,135,3,255,255,2,65,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,4,0,183,0,184,0,135,3,136,3,3,0,67,0,50,0,59,0,43,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,36,9,0,32,1,0,32,0,41,9,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,3,8,0,32,7,0,0,0,21,0,0,0,5,8,0,0,5,8,0,0,3,0,0,0,0,0,0,0,34,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,78,0,60,0,241,0,60,0,60,0,60,0,209,0,60,0,110,0,103,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,0,0,170,170,170,170,94,31,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,24,0,0,212,24,0,0,212,24,0,0,212,24,0,0,0,26,0,0,0,26,0,0,32,27,0,0,58,27,0,0,70,31,0,0,50,105,114,84,1,0,64,8,128,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,8,0,202,65,8,0,202,98,8,0,202,131,8,0,202,164,8,0,202,197,8,0,202,230,8,0,202,7,9,0,202,40,9,0,202,73,9,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,4,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,196,7,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,7,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,12,0,201,198,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,13,0,201,70,14,0,201,6,15,0,201,198,15,0,201,134,16,0,201,70,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,3,69,5,142,0,0,70,5,3,69,5,142,0,0,135,5,3,69,5,140,0,0,70,5,3,69,5,140,0,0,135,5,3,69,5,156,0,0,70,5,3,69,5,156,0,0,135,5,3,69,5,160,0,0,70,5,3,69,5,160,0,0,135,5,3,69,5,144,0,0,70,5,3,69,5,144,0,0,135,5,3,69,5,136,0,0,70,5,3,69,5,136,0,0,135,5,3,69,5,164,0,0,70,5,3,69,5,164,0,0,5,5,3,69,5,142,0,0,5,5,3,69,5,140,0,0,5,5,3,69,5,156,0,0,5,5,3,69,5,160,0,0,5,5,3,69,5,144,0,0,5,5,3,69,5,136,0,0,5,5,3,69,5,164,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,68,156,5,16,0,34,1,30,0,244,1,16,0,244,1,2,192,197,162,245,1,2,192,197,226,3,3,255,255,2,69,134,5,32,30,3,192,197,34,33,30,3,192,197,98,34,1,1,192,197,162,35,1,1,192,197,226,230,1,2,192,197,34,231,1,2,192,197,98,30,1,12,0,30,1,0,192,197,162,31,1,0,192,197,226,32,1,1,192,197,34,33,1,1,192,197,98,71,0,255,255,3,69,135,5,103,0,255,255,3,69,70,5,28,1,197,162,29,1,0,192,197,98,0,68,5,5,8,0,35,1,16,0,35,1,4,192,197,98,231,1,4,192,197,162,245,1,4,192,197,226,3,3,255,255,2,69,5,5,33,30,5,192,197,34,103,0,255,255,3,69,5,5,29,1,3,192,197,162,31,1,3,192,197,226,33,1,4,192,197,34,156,68,196,160,48,0,3,3,5,192,197,98,5,68,196,160,48,0,3,3,5,192,197,162,156,68,196,196,48,0,3,3,5,192,197,226,5,68,196,196,48,0,3,3,6,192,197,34,156,68,196,210,48,0,3,3,6,192,197,98,5,68,196,210,48,0,3,3,6,192,197,162,156,68,196,204,48,0,3,3,6,192,197,226,5,68,196,204,48,0,3,3,7,192,197,34,12,0,71,0,72,0,103,0,104,0,28,1,36,1,230,1,232,1,244,1,246,1,32,30,34,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,26,4,185,128,185,132,185,136,185,144,186,148,185,152,185,160,185,164,185,168,185,172,185,176,185,180,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,48,4,168,128,168,132,168,136,168,144,168,148,168,152,168,160,168,164,168,168,168,172,168,176,168,180,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,128,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,185,116,185,129,153,129,249,129,153,130,89,130,136,14,217,130,185,161,153,161,249,161,89,162,153,177,185,184,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,168,116,168,129,136,129,232,129,136,130,72,130,128,14,200,130,168,161,136,161,232,161,72,162,136,177,168,184,72,178,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,140,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,60,4,62,4,26,114,8,114,10,8,185,124,168,124,57,131,40,131,217,129,200,129,121,130,104,130,12,8,14,8,153,145,136,145,249,146,232,146,25,146,8,146,154,149,136,149,250,149,232,149,250,150,232,150,26,150,8,150,249,154,232,154,25,154,8,154,185,156,168,156,153,162,136,162,57,163,40,163,217,161,200,161,57,162,40,162,121,162,104,162,25,163,8,163,249,169,232,169,249,177,232,177,89,178,153,181,136,181,185,182,168,182,25,182,8,182,232,148,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,148,169,148,200,56,169,72,187,88,187,96,169,88,169,96,169,188,169,112,217,128,187,72,200,128,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,186,112,71,4,186,120,103,4,177,120,28,5,250,121,29,5,241,121,30,5,218,121,31,5,209,121,32,5,186,122,33,5,177,122,34,5,250,122,35,5,241,122,255,5,168,112,103,4,168,120,29,5,232,121,31,5,200,121,33,5,168,122,35,5,232,122,255,5,250,114,255,5,232,114,255,1,170,170,3,0,69,0,52,0,61,0,35,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,252,7,0,32,1,0,32,0,1,8,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,120,0,0,32,7,0,0,0,21,0,0,0,122,0,0,0,122,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,104,0,101,0,114,0,93,0,0,0,170,170,68,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,44,0,0,0,44,1,0,0,6,0,0,0,0,0,58,118,177,255,232,118,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,0,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,113,0,0,32,1,0,32,0,118,0,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,13,9,0,32,7,0,0,0,21,0,0,0,15,9,0,0,15,9,0,0,3,0,0,0,0,0,0,0,54,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,60,220,38,0,67,0,60,0,99,0,12,3,60,0,60,0,60,0,67,0,12,3,38,0,72,0,60,0,99,0,104,0,60,0,60,0,60,0,99,0,72,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,82,0,60,0,114,0,12,3,60,0,60,0,60,0,82,0,12,3,38,0,83,0,60,0,115,0,12,3,60,0,60,0,60,0,83,0,12,3,38,0,90,0,60,0,122,0,12,3,60,0,60,0,60,0,90,0,12,3,0,0,170,170,170,170,56,35,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,244,26,0,0,244,26,0,0,244,26,0,0,244,26,0,0,200,28,0,0,200,28,0,0,238,30,0,0,8,31,0,0,32,35,0,0,50,105,114,84,1,0,64,8,162,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,91,0,99,0,48,0,56,0,48,0,56,0,107,0,115,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,141,0,145,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,131,0,48,0,48,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,108,1,192,0,192,0,172,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,13,0,202,129,13,0,202,162,13,0,202,195,13,0,202,228,13,0,202,5,14,0,202,38,14,0,202,71,14,0,202,104,14,0,202,137,14,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,4,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,201,198,7,0,201,166,8,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,134,9,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,100,10,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,201,70,18,0,201,38,19,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,6,20,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,12,0,201,230,20,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,12,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,13,0,201,166,21,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,22,0,201,38,23,0,134,5,2,77,5,5,2,77,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,23,0,201,166,24,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,25,0,201,38,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,26,0,201,166,27,0,192,0,0,0,192,0,0,0,201,102,28,0,201,38,29,0,192,0,0,0,192,0,0,0,201,230,29,0,201,166,30,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,31,0,201,38,32,0,201,230,32,0,201,166,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,136,5,2,57,5,142,0,0,71,5,2,57,5,142,0,0,136,5,2,57,5,144,0,0,71,5,2,57,5,144,0,0,136,5,2,57,5,156,0,0,71,5,2,57,5,156,0,0,136,5,2,57,5,196,0,0,71,5,2,57,5,196,0,0,136,5,2,57,5,150,0,0,71,5,2,57,5,150,0,0,136,5,2,57,5,160,0,0,71,5,2,57,5,160,0,0,136,5,2,57,5,206,0,0,71,5,2,57,5,206,0,0,71,5,2,57,5,210,0,0,70,5,2,57,5,142,0,0,5,5,2,57,5,142,0,0,70,5,2,57,5,144,0,0,5,5,2,57,5,144,0,0,70,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,70,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,70,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,70,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,70,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,5,5,2,57,5,210,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,77,5,160,0,0,5,5,2,77,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,77,5,196,0,0,5,5,2,77,5,196,0,0,134,5,2,77,5,210,0,0,5,5,2,77,5,210,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,17,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,15,0,30,2,0,192,197,162,31,2,0,192,197,226,12,3,2,239,134,5,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,249,136,5,104,0,2,249,71,5,36,1,197,162,37,1,0,192,197,98,0,76,156,5,48,0,12,3,255,255,2,77,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,17,0,36,30,29,0,40,30,15,0,40,30,6,192,197,98,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,30,2,15,0,30,2,4,192,197,98,31,2,4,192,197,162,12,3,2,239,5,5,34,30,4,192,197,226,35,30,5,192,197,34,72,0,2,249,70,5,104,0,2,249,5,5,36,1,3,192,197,226,37,1,4,192,197,34,0,76,5,5,48,0,12,3,255,255,2,77,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,7,192,197,162,5,46,196,160,48,0,12,3,7,192,197,226,156,76,196,160,48,0,12,3,8,192,197,34,5,76,196,160,48,0,12,3,8,192,197,98,156,78,196,160,48,0,12,3,8,192,197,162,5,78,196,160,48,0,12,3,8,192,197,226,156,78,196,202,48,0,12,3,9,192,197,34,5,78,196,202,48,0,12,3,9,192,197,98,156,76,196,196,48,0,12,3,9,192,197,162,5,76,196,196,48,0,12,3,9,192,197,226,156,76,196,210,48,0,12,3,10,192,197,34,5,76,196,210,48,0,12,3,10,192,197,98,156,78,196,196,48,0,12,3,10,192,197,162,5,78,196,196,48,0,12,3,10,192,197,226,156,92,196,196,48,0,12,3,11,192,197,162,5,92,196,196,48,0,12,3,11,192,197,226,156,92,196,210,48,0,12,3,12,192,197,34,5,92,196,210,48,0,12,3,12,192,197,98,12,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,34,30,44,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,185,84,185,88,186,96,186,104,185,108,185,112,185,116,186,120,185,128,185,132,185,136,36,4,38,4,185,160,185,168,185,172,185,176,185,180,185,184,40,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,42,4,168,72,168,76,168,80,168,84,168,88,168,96,168,104,168,108,168,112,168,116,168,120,168,128,168,132,168,136,52,4,54,4,168,160,168,168,168,172,168,176,168,180,168,184,56,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,128,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,58,4,186,77,154,77,250,77,90,78,186,97,154,97,250,97,90,98,217,72,154,122,185,129,153,129,249,129,153,130,89,130,136,14,217,130,185,169,153,169,249,169,89,170,153,185,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,60,4,168,77,136,77,232,77,72,78,168,97,136,97,232,97,72,98,200,72,136,122,168,129,136,129,232,129,136,130,72,130,128,14,200,130,168,169,136,169,232,169,72,170,136,185,168,196,72,186,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,185,68,168,68,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,89,232,89,89,91,72,91,154,98,136,98,58,99,40,99,218,97,200,97,26,99,8,99,186,98,168,100,6,8,8,8,250,105,232,105,249,110,232,110,168,140,153,113,136,113,249,114,232,114,25,114,8,114,121,115,104,115,89,115,72,115,154,121,136,121,250,122,232,122,26,122,8,122,10,8,185,124,168,124,57,131,40,131,217,129,200,129,121,130,104,130,12,8,14,8,153,145,136,145,62,4,64,4,185,148,168,148,154,153,136,153,250,153,232,153,66,4,68,4,185,156,168,156,249,162,232,162,25,162,8,162,185,164,168,164,153,170,136,170,57,171,40,171,217,169,200,169,57,170,40,170,121,170,104,170,25,171,8,171,249,177,232,177,249,185,232,185,89,186,153,189,136,189,185,190,168,190,185,192,168,192,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,152,169,152,200,56,169,76,187,96,187,104,169,96,169,104,169,200,169,120,217,128,187,76,200,128,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,187,92,104,4,178,92,36,5,251,93,37,5,242,93,255,5,185,144,255,5,186,152,255,5,185,188,255,5,168,64,72,4,177,92,104,4,168,92,36,5,241,93,37,5,232,93,255,5,168,144,255,5,168,152,255,5,168,188,255,5,249,66,255,5,232,66,255,5,249,146,255,5,232,146,255,5,250,154,255,5,232,154,255,1,3,0,69,0,52,0,61,0,55,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,6,9,0,32,1,0,32,0,11,9,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,26,10,0,32,7,0,0,0,21,0,0,0,28,10,0,0,28,10,0,0,3,0,0,0,0,0,0,0,84,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,120,220,38,0,67,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,68,0,60,0,100,0,100,0,60,0,60,0,60,0,68,0,100,0,60,0,60,0,60,0,68,0,68,0,38,0,70,0,60,0,102,0,102,0,60,0,60,0,60,0,70,0,102,0,60,0,60,0,60,0,70,0,70,0,38,0,71,0,60,0,110,0,103,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,38,0,76,0,60,0,108,0,108,0,60,0,60,0,60,0,76,0,108,0,60,0,60,0,60,0,76,0,76,0,38,0,80,0,60,0,112,0,104,0,60,0,60,0,60,0,80,0,104,0,60,0,60,0,60,0,80,0,72,0,38,0,82,0,60,0,114,0,104,0,60,0,60,0,60,0,82,0,104,0,60,0,60,0,60,0,82,0,72,0,38,0,84,0,60,0,116,0,104,0,60,0,60,0,60,0,84,0,104,0,60,0,60,0,60,0,84,0,72,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,234,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,23,0,0,100,23,0,0,100,23,0,0,100,23,0,0,140,28,0,0,140,28,0,0,164,33,0,0,226,33,0,0,210,38,0,0,50,105,114,84,1,0,64,8,105,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,40,0,202,33,40,0,202,66,40,0,202,99,40,0,202,132,40,0,202,165,40,0,202,198,40,0,202,231,40,0,202,8,41,0,202,41,41,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,201,96,7,0,156,5,0,50,201,192,13,0,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,160,15,0,156,5,0,66,201,0,23,0,156,5,0,70,201,32,30,0,160,5,0,74,201,224,37,0,156,5,0,78,201,160,45,0,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,96,53,0,201,96,57,0,5,5,0,50,201,160,60,0,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,192,61,0,5,5,0,66,201,128,65,0,5,5,0,70,201,32,69,0,5,5,0,74,201,64,73,0,5,5,0,78,201,96,77,0,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,66,39,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,130,39,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,194,39,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,47,5,142,0,0,70,5,2,47,5,142,0,0,135,5,2,47,5,144,0,0,70,5,2,47,5,144,0,0,135,5,2,47,5,156,0,0,70,5,2,47,5,156,0,0,135,5,2,47,5,196,0,0,70,5,2,47,5,196,0,0,135,5,2,47,5,150,0,0,70,5,2,47,5,150,0,0,135,5,2,47,5,160,0,0,70,5,2,47,5,160,0,0,135,5,2,47,5,206,0,0,70,5,2,47,5,206,0,0,70,5,2,47,5,210,0,0,135,5,2,49,5,144,0,0,70,5,2,49,5,144,0,0,135,5,2,49,5,156,0,0,70,5,2,49,5,156,0,0,135,5,2,49,5,196,0,0,70,5,2,49,5,196,0,0,135,5,2,49,5,210,0,0,70,5,2,49,5,210,0,0,135,5,2,49,5,160,0,0,70,5,2,49,5,160,0,0,135,5,2,49,5,204,0,0,70,5,2,49,5,204,0,0,135,5,2,53,5,156,0,0,70,5,2,53,5,156,0,0,135,5,2,65,5,136,0,0,70,5,2,65,5,136,0,0,135,5,2,65,5,160,0,0,70,5,2,65,5,160,0,0,135,5,2,65,5,144,0,0,70,5,2,65,5,144,0,0,135,5,2,65,5,196,0,0,70,5,2,65,5,196,0,0,135,5,2,65,5,196,0,0,5,164,0,0,70,5,2,65,5,196,0,0,5,164,0,0,135,5,2,65,5,210,0,0,70,5,2,65,5,210,0,0,135,5,2,65,5,204,0,0,70,5,2,65,5,204,0,0,135,5,2,55,5,142,0,0,70,5,2,55,5,142,0,0,135,5,2,55,5,140,0,0,70,5,2,55,5,140,0,0,135,5,2,55,5,156,0,0,70,5,2,55,5,156,0,0,135,5,2,55,5,160,0,0,70,5,2,55,5,160,0,0,135,5,2,55,5,144,0,0,70,5,2,55,5,144,0,0,135,5,2,55,5,136,0,0,70,5,2,55,5,136,0,0,135,5,2,55,5,164,0,0,70,5,2,55,5,164,0,0,135,5,2,73,5,142,0,0,70,5,2,73,5,142,0,0,135,5,2,73,5,144,0,0,70,5,2,73,5,144,0,0,135,5,2,73,5,156,0,0,70,5,2,73,5,156,0,0,135,5,2,73,5,196,0,0,70,5,2,73,5,196,0,0,135,5,2,73,5,150,0,0,70,5,2,73,5,150,0,0,135,5,2,73,5,160,0,0,70,5,2,73,5,160,0,0,135,5,2,73,5,206,0,0,70,5,2,73,5,206,0,0,70,5,2,73,5,210,0,0,135,5,2,77,5,142,0,0,70,5,2,77,5,142,0,0,135,5,2,77,5,144,0,0,70,5,2,77,5,144,0,0,135,5,2,77,5,156,0,0,70,5,2,77,5,156,0,0,135,5,2,77,5,196,0,0,70,5,2,77,5,196,0,0,135,5,2,77,5,150,0,0,70,5,2,77,5,150,0,0,135,5,2,77,5,160,0,0,70,5,2,77,5,160,0,0,135,5,2,77,5,206,0,0,70,5,2,77,5,206,0,0,70,5,2,77,5,210,0,0,135,5,2,81,5,142,0,0,70,5,2,81,5,142,0,0,135,5,2,81,5,144,0,0,70,5,2,81,5,144,0,0,135,5,2,81,5,156,0,0,70,5,2,81,5,156,0,0,135,5,2,81,5,196,0,0,70,5,2,81,5,196,0,0,135,5,2,81,5,150,0,0,70,5,2,81,5,150,0,0,135,5,2,81,5,160,0,0,70,5,2,81,5,160,0,0,135,5,2,81,5,206,0,0,70,5,2,81,5,206,0,0,70,5,2,81,5,210,0,0,5,5,2,47,5,142,0,0,5,5,2,47,5,144,0,0,5,5,2,47,5,156,0,0,5,5,2,47,5,196,0,0,5,5,2,47,5,150,0,0,5,5,2,47,5,160,0,0,5,5,2,47,5,206,0,0,5,5,2,47,5,210,0,0,5,5,2,49,5,144,0,0,5,5,2,49,5,156,0,0,5,5,2,49,5,196,0,0,5,5,2,49,5,210,0,0,5,5,2,49,5,160,0,0,5,5,2,49,5,204,0,0,5,5,2,53,5,156,0,0,5,5,2,65,5,136,0,0,5,5,2,65,5,160,0,0,5,5,2,65,5,144,0,0,5,5,2,65,5,196,0,0,5,5,2,65,5,196,0,0,5,164,0,0,5,5,2,65,5,210,0,0,5,5,2,65,5,204,0,0,5,5,2,55,5,142,0,0,5,5,2,55,5,140,0,0,5,5,2,55,5,156,0,0,5,5,2,55,5,160,0,0,5,5,2,55,5,144,0,0,5,5,2,55,5,136,0,0,5,5,2,55,5,164,0,0,5,5,2,73,5,142,0,0,5,5,2,73,5,144,0,0,5,5,2,73,5,156,0,0,5,5,2,73,5,196,0,0,5,5,2,73,5,150,0,0,5,5,2,73,5,160,0,0,5,5,2,73,5,206,0,0,5,5,2,73,5,210,0,0,5,5,2,77,5,142,0,0,5,5,2,77,5,144,0,0,5,5,2,77,5,156,0,0,5,5,2,77,5,196,0,0,5,5,2,77,5,150,0,0,5,5,2,77,5,160,0,0,5,5,2,77,5,206,0,0,5,5,2,77,5,210,0,0,5,5,2,81,5,142,0,0,5,5,2,81,5,144,0,0,5,5,2,81,5,156,0,0,5,5,2,81,5,196,0,0,5,5,2,81,5,150,0,0,5,5,2,81,5,160,0,0,5,5,2,81,5,206,0,0,5,5,2,81,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,239,135,5,104,0,2,239,70,5,36,1,197,162,37,1,0,192,197,98,0,48,156,5,13,0,13,30,23,0,16,30,12,0,16,30,5,192,197,226,17,30,6,192,197,34,18,30,6,192,197,98,19,30,6,192,197,162,13,30,5,192,197,34,14,30,5,192,197,98,15,30,5,192,197,162,15,1,12,0,15,1,4,192,197,34,10,30,4,192,197,98,11,30,4,192,197,162,12,30,4,192,197,226,68,0,2,241,135,5,100,0,2,241,70,5,14,1,3,192,197,226,0,52,156,5,3,0,70,0,2,245,135,5,102,0,2,245,70,5,30,30,6,192,197,226,31,30,7,192,197,34,0,64,156,5,15,0,54,30,26,0,58,30,12,0,58,30,10,192,197,34,59,30,10,192,197,98,60,30,10,192,197,162,61,30,10,192,197,226,54,30,8,192,197,226,55,30,9,192,197,34,56,30,9,192,197,99,57,30,9,192,197,195,59,1,12,0,59,1,7,192,197,226,60,1,8,192,197,34,61,1,8,192,197,98,62,1,8,192,197,162,76,0,255,255,2,65,135,5,108,0,255,255,2,65,70,5,57,1,7,192,197,98,58,1,7,192,197,162,0,68,156,5,15,0,34,1,26,0,244,1,12,0,244,1,13,192,197,162,245,1,13,192,197,226,32,30,14,192,197,34,33,30,14,192,197,98,34,1,12,192,197,162,35,1,12,192,197,226,230,1,13,192,197,34,231,1,13,192,197,98,30,1,12,0,30,1,11,192,197,162,31,1,11,192,197,226,32,1,12,192,197,34,33,1,12,192,197,98,71,0,2,247,135,5,103,0,2,247,70,5,28,1,11,192,197,34,29,1,11,192,197,98,0,72,156,5,16,0,36,30,29,0,40,30,15,0,40,30,17,192,197,34,41,30,17,192,197,98,42,30,17,192,197,162,43,30,17,192,197,226,150,30,18,192,197,34,36,30,16,192,197,34,37,30,16,192,197,98,38,30,16,192,197,162,39,30,16,192,197,226,30,2,12,0,30,2,15,192,197,34,31,2,15,192,197,98,34,30,15,192,197,162,35,30,15,192,197,226,72,0,255,255,2,73,135,5,104,0,255,255,2,73,70,5,36,1,14,192,197,162,37,1,14,192,197,226,0,76,156,5,16,0,36,30,29,0,40,30,15,0,40,30,20,192,197,226,41,30,21,192,197,34,42,30,21,192,197,98,43,30,21,192,197,162,150,30,21,192,197,226,36,30,19,192,197,226,37,30,20,192,197,34,38,30,20,192,197,98,39,30,20,192,197,162,30,2,12,0,30,2,18,192,197,226,31,2,19,192,197,34,34,30,19,192,197,98,35,30,19,192,197,162,72,0,255,255,2,77,135,5,104,0,255,255,2,77,70,5,36,1,18,192,197,98,37,1,18,192,197,162,0,80,156,5,16,0,36,30,29,0,40,30,15,0,40,30,24,192,197,162,41,30,24,192,197,226,42,30,25,192,197,34,43,30,25,192,197,98,150,30,25,192,197,162,36,30,23,192,197,162,37,30,23,192,197,226,38,30,24,192,197,34,39,30,24,192,197,98,30,2,12,0,30,2,22,192,197,162,31,2,22,192,197,226,34,30,23,192,197,34,35,30,23,192,197,98,72,0,255,255,2,81,135,5,104,0,255,255,2,81,70,5,36,1,22,192,197,34,37,1,22,192,197,98,0,46,5,5,8,0,37,30,15,0,37,30,26,192,197,162,39,30,26,192,197,226,41,30,27,192,197,34,43,30,27,192,197,98,150,30,27,192,197,162,104,0,2,239,5,5,37,1,25,192,197,226,31,2,26,192,197,34,35,30,26,192,197,98,0,48,5,5,6,0,13,30,12,0,13,30,28,192,197,98,15,30,28,192,197,162,17,30,28,192,197,226,19,30,29,192,197,34,100,0,2,241,5,5,15,1,27,192,197,226,11,30,28,192,197,34,0,52,5,5,1,0,102,0,2,245,5,5,31,30,29,192,197,98,0,64,5,5,7,0,55,30,12,0,55,30,30,192,197,98,57,30,30,192,197,163,59,30,31,192,197,2,61,30,31,192,197,66,108,0,255,255,2,65,5,5,58,1,29,192,197,162,60,1,29,192,197,226,62,1,30,192,197,34,0,68,5,5,7,0,35,1,12,0,35,1,32,192,197,66,231,1,32,192,197,130,245,1,32,192,197,194,33,30,33,192,197,2,103,0,2,247,5,5,29,1,31,192,197,130,31,1,31,192,197,194,33,1,32,192,197,2,0,72,5,5,8,0,37,30,15,0,37,30,34,192,197,2,39,30,34,192,197,66,41,30,34,192,197,130,43,30,34,192,197,194,150,30,35,192,197,2,104,0,255,255,2,73,5,5,37,1,33,192,197,66,31,2,33,192,197,130,35,30,33,192,197,194,0,76,5,5,8,0,37,30,15,0,37,30,36,192,197,2,39,30,36,192,197,66,41,30,36,192,197,130,43,30,36,192,197,194,150,30,37,192,197,2,104,0,255,255,2,77,5,5,37,1,35,192,197,66,31,2,35,192,197,130,35,30,35,192,197,194,0,80,5,5,8,0,37,30,15,0,37,30,38,192,197,2,39,30,38,192,197,66,41,30,38,192,197,130,43,30,38,192,197,194,150,30,39,192,197,2,104,0,255,255,2,81,5,5,37,1,37,192,197,66,31,2,37,192,197,130,35,30,37,192,197,194,30,0,68,0,69,0,70,0,73,0,100,0,101,0,102,0,105,0,108,0,109,0,14,1,16,1,28,1,38,1,57,1,63,1,230,1,232,1,244,1,246,1,30,2,32,2,10,30,20,30,30,30,44,30,54,30,62,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,36,4,186,80,46,4,185,92,185,100,186,104,186,112,185,116,52,4,185,128,70,4,185,140,92,4,185,152,102,4,186,168,112,4,185,184,185,188,185,192,185,196,185,200,185,204,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,122,4,128,4,168,80,134,4,168,92,168,100,168,104,168,112,168,116,138,4,168,128,148,4,168,140,160,4,168,152,166,4,168,168,172,4,168,184,168,188,168,192,168,196,168,200,168,204,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,81,154,81,250,81,90,82,186,105,154,105,250,105,90,106,217,72,154,134,185,141,153,141,249,141,153,142,89,142,136,14,217,142,185,185,153,185,249,185,89,186,153,201,185,208,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,81,136,81,232,81,72,82,168,105,136,105,232,105,72,106,200,72,136,134,168,141,136,141,232,141,136,142,72,142,128,14,200,142,168,185,136,185,232,185,72,186,136,201,168,208,72,202,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,83,40,83,218,81,200,81,186,82,168,82,26,83,8,83,26,82,8,82,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,136,168,136,57,143,40,143,217,141,200,141,121,142,104,142,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,154,169,136,169,250,169,232,169,250,170,232,170,26,170,8,170,249,174,232,174,25,174,8,174,185,180,168,180,153,186,136,186,57,187,40,187,217,185,200,185,57,186,40,186,121,186,104,186,25,187,8,187,249,193,232,193,249,201,232,201,89,202,153,205,136,205,185,206,168,206,25,206,8,206,232,168,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,168,169,168,200,56,169,80,187,104,187,112,169,104,169,112,169,212,169,132,217,140,187,80,200,140,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,186,68,104,4,177,68,36,5,250,69,37,5,241,69,255,5,185,72,68,4,186,76,100,4,177,76,14,5,26,78,15,5,17,78,255,5,185,84,70,4,186,88,102,4,177,88,255,5,185,120,76,4,186,124,108,4,177,124,57,5,154,125,58,5,145,125,59,5,250,126,60,5,241,126,61,5,26,126,62,5,17,126,255,5,186,132,71,4,186,96,103,4,177,96,28,5,250,97,29,5,241,97,30,5,218,97,31,5,209,97,32,5,186,98,33,5,177,98,34,5,250,98,35,5,241,98,255,5,185,144,72,4,186,148,104,4,177,148,36,5,250,149,37,5,241,149,255,5,185,160,72,4,186,164,104,4,177,164,36,5,250,165,37,5,241,165,255,5,185,172,72,4,186,176,104,4,177,176,36,5,250,177,37,5,241,177,255,5,168,64,104,4,168,68,37,5,232,69,255,5,168,72,100,4,168,76,15,5,8,78,255,5,168,84,102,4,168,88,255,5,168,120,108,4,168,124,58,5,136,125,60,5,232,126,62,5,8,126,255,5,168,132,103,4,168,96,29,5,232,97,31,5,200,97,33,5,168,98,35,5,232,98,255,5,168,144,104,4,168,148,37,5,232,149,255,5,168,160,104,4,168,164,37,5,232,165,255,5,168,172,104,4,168,176,37,5,232,177,255,1,170,170,3,0,69,0,52,0,61,0,87,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,19,10,0,32,1,0,32,0,24,10,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,134,27,0,32,7,0,0,0,23,0,0,0,136,27,0,0,136,27,0,0,3,0,0,0,0,0,0,0,131,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,64,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,100,0,97,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,91,0,99,0,97,0,115,0,101,0,70,0,105,0,114,0,115,0,116,0,32,0,111,0,102,0,102,0,93,0,0,0,143,220,91,0,99,0,97,0,115,0,101,0,70,0,105,0,114,0,115,0,116,0,32,0,117,0,112,0,112,0,101,0,114,0,93,0,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,116,0,104,0,60,0,60,0,60,0,254,0,38,0,84,0,72,0,60,0,60,0,60,0,222,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,60,0,60,0,97,0,97,0,60,0,60,0,60,0,65,0,97,0,60,0,60,0,60,0,65,0,65,0,38,0,111,0,101,0,60,0,60,0,83,1,60,0,60,0,60,0,82,1,0,0,170,170,220,56,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,167,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,100,38,0,0,100,38,0,0,108,47,0,0,108,47,0,0,60,51,0,0,60,51,0,0,138,56,0,0,192,56,0,0,192,56,0,0,50,105,114,84,1,0,64,8,89,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,145,0,153,0,159,0,167,0,175,0,183,0,48,0,56,0,182,0,190,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,0,215,0,48,0,48,0,48,0,223,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,231,0,48,0,48,0,239,0,48,0,245,0,253,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,8,1,48,0,48,0,12,1,48,0,20,1,25,1,33,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,39,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,47,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,205,0,48,0,48,0,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,58,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,66,1,48,0,48,0,72,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,68,2,124,2,188,2,192,0,216,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,29,0,202,97,29,0,202,130,29,0,202,163,29,0,202,196,29,0,202,229,29,0,202,6,30,0,202,39,30,0,202,72,30,0,202,105,30,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,196,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,102,29,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,134,30,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,36,32,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,230,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,6,48,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,33,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,193,17,0,5,5,127,12,198,65,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,162,20,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,65,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,225,26,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,49,0,201,230,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,225,17,0,198,1,27,0,197,98,1,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,6,52,0,201,38,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,54,0,201,102,55,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,56,0,201,166,57,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,0,197,34,4,0,197,34,0,0,197,98,0,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,192,0,0,0,198,34,29,0,198,98,29,0,192,0,0,0,192,0,0,0,198,162,29,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,58,0,201,230,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,30,0,197,162,5,0,198,34,31,0,197,226,5,0,198,98,31,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,31,0,198,226,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,6,61,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,62,0,5,71,238,102,201,198,63,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,197,34,7,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,192,0,0,0,197,98,8,0,192,0,0,0,197,162,8,0,197,227,8,0,197,66,9,0,192,0,0,0,192,0,0,0,197,130,9,0,197,195,9,0,197,34,10,0,192,0,0,0,192,0,0,0,197,98,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,98,6,0,197,162,10,0,5,5,10,121,197,226,10,0,197,34,11,0,5,5,12,121,5,5,16,121,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,5,5,18,121,5,5,20,121,197,2,7,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,64,0,201,198,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,66,0,201,6,68,0,201,38,69,0,201,70,70,0,201,102,71,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,73,0,201,198,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,75,0,201,6,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,78,0,201,70,79,0,201,102,80,0,201,134,81,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,82,0,201,198,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,137,0,5,0,4,111,93,0,72,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,7,0,5,0,4,111,93,0,7,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,7,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,156,5,0,80,29,5,0,56,5,5,0,80,6,5,0,56,193,4,111,93,5,162,0,0,133,5,0,70,134,70,0,50,5,5,0,70,5,70,0,50,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,98,6,0,5,5,10,121,5,5,12,121,197,162,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,226,6,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,197,98,7,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,162,7,0,5,5,107,121,197,226,7,0,5,5,111,121,197,34,8,0,5,5,115,121,197,98,8,0,5,5,119,121,197,162,8,0,197,227,8,0,197,66,9,0,5,5,127,121,5,5,129,121,197,130,9,0,197,195,9,0,197,34,10,0,5,5,137,121,5,5,139,121,197,98,10,0,5,5,143,121,5,5,6,121,197,98,6,0,197,162,10,0,5,5,10,121,197,226,10,0,197,34,11,0,5,5,12,121,5,5,16,121,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,5,5,18,121,5,5,20,121,197,2,7,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,70,156,5,1,0,8,3,17,192,198,193,11,3,17,192,198,225,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,99,179,30,25,192,198,195,181,30,26,192,198,35,183,30,26,192,198,131,169,30,23,192,198,227,171,30,24,192,198,67,173,30,24,192,198,163,175,30,25,192,198,3,161,30,12,0,161,30,22,192,198,162,163,30,22,192,198,226,165,30,23,192,198,35,167,30,23,192,198,131,39,2,10,0,8,3,22,192,198,65,10,3,255,255,111,93,193,4,1,30,22,192,198,98,176,69,198,2,4,3,21,192,198,3,3,1,26,0,225,1,12,0,225,1,21,192,198,3,251,1,21,192,198,99,1,2,21,192,198,194,3,2,22,192,198,2,3,1,19,192,198,226,5,1,20,192,198,34,206,1,20,192,198,98,223,1,20,192,198,163,227,0,12,0,227,0,18,192,198,226,228,0,19,192,198,34,229,0,19,192,198,98,1,1,19,192,198,162,97,0,18,192,198,1,224,0,18,192,198,34,225,0,18,192,198,98,226,0,18,192,198,162,0,70,5,5,1,0,8,3,26,192,198,225,11,3,27,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,98,10,3,27,192,198,162,5,42,196,162,1,0,8,3,27,192,198,226,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,5,82,196,162,1,0,8,3,2,192,197,98,11,3,2,192,197,162,156,70,196,190,1,0,8,3,28,192,198,34,11,3,28,192,198,98,5,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,156,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,5,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,156,70,196,162,1,0,8,3,29,192,198,226,11,3,30,192,198,34,5,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,32,192,198,34,10,3,32,192,198,98,5,42,196,200,1,0,8,3,32,192,198,162,10,3,13,192,197,34,156,82,196,198,1,0,8,3,13,192,197,98,11,3,13,192,197,162,5,82,196,198,1,0,8,3,13,192,197,226,11,3,14,192,197,34,156,82,196,208,1,0,8,3,14,192,197,98,11,3,14,192,197,162,5,82,196,208,1,0,8,3,14,192,197,226,11,3,15,192,197,34,156,82,196,204,1,0,8,3,15,192,197,98,11,3,15,192,197,162,5,82,196,204,1,0,8,3,15,192,197,226,11,3,16,192,197,34,156,42,196,196,1,0,8,3,32,192,198,226,10,3,33,192,198,34,5,42,196,196,1,0,8,3,33,192,198,98,10,3,16,192,197,98,156,70,196,196,1,0,8,3,33,192,198,162,11,3,33,192,198,226,5,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,16,0,197,163,1,0,8,3,34,192,198,163,11,3,35,192,198,3,17,0,197,3,1,0,8,3,35,192,198,99,11,3,35,192,198,195,156,82,196,196,1,0,8,3,17,192,197,98,11,3,17,192,197,162,5,82,196,196,1,0,8,3,17,192,197,226,11,3,18,192,197,34,18,0,197,99,1,0,8,3,18,192,197,195,11,3,19,192,197,35,19,0,197,131,1,0,8,3,19,192,197,227,11,3,20,192,197,67,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,3,0,67,0,50,0,59,0,131,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,226,50,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,35,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,52,30,0,0,52,30,0,0,60,39,0,0,60,39,0,0,40,41,0,0,40,41,0,0,48,46,0,0,102,46,0,0,198,50,0,0,50,105,114,84,1,0,64,8,214,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,170,0,48,0,178,0,183,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,197,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,158,0,48,0,48,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,14,0,202,65,14,0,202,98,14,0,202,131,14,0,202,164,14,0,202,197,14,0,202,230,14,0,202,7,15,0,202,40,15,0,202,73,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,4,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,28,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,29,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,100,31,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,70,47,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,33,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,193,17,0,5,5,127,12,198,65,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,226,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,65,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,225,26,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,49,0,201,38,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,225,17,0,198,1,27,0,197,98,1,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,70,51,0,201,102,52,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,53,0,201,166,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,55,0,201,230,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,0,197,34,4,0,197,34,0,0,197,98,0,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,192,0,0,0,198,34,29,0,198,98,29,0,192,0,0,0,192,0,0,0,198,162,29,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,58,0,201,38,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,30,0,197,162,5,0,198,34,31,0,197,226,5,0,198,98,31,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,31,0,198,226,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,60,0,201,102,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,62,0,201,166,63,0,201,198,64,0,201,230,65,0,201,6,67,0,201,38,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,69,0,201,102,70,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,71,0,201,166,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,73,0,201,230,74,0,201,6,76,0,201,38,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,78,0,201,102,79,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,137,0,5,0,4,111,93,0,72,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,7,0,5,0,4,111,93,0,7,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,7,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,156,5,0,80,29,5,0,56,5,5,0,80,6,5,0,56,193,4,111,93,5,162,0,0,133,5,0,70,134,70,0,50,5,5,0,70,5,70,0,50,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,70,156,5,1,0,8,3,17,192,198,193,11,3,17,192,198,225,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,99,179,30,25,192,198,195,181,30,26,192,198,35,183,30,26,192,198,131,169,30,23,192,198,227,171,30,24,192,198,67,173,30,24,192,198,163,175,30,25,192,198,3,161,30,12,0,161,30,22,192,198,162,163,30,22,192,198,226,165,30,23,192,198,35,167,30,23,192,198,131,39,2,10,0,8,3,22,192,198,65,10,3,255,255,111,93,193,4,1,30,22,192,198,98,176,69,198,2,4,3,21,192,198,3,3,1,26,0,225,1,12,0,225,1,21,192,198,3,251,1,21,192,198,99,1,2,21,192,198,194,3,2,22,192,198,2,3,1,19,192,198,226,5,1,20,192,198,34,206,1,20,192,198,98,223,1,20,192,198,163,227,0,12,0,227,0,18,192,198,226,228,0,19,192,198,34,229,0,19,192,198,98,1,1,19,192,198,162,97,0,18,192,198,1,224,0,18,192,198,34,225,0,18,192,198,98,226,0,18,192,198,162,0,70,5,5,1,0,8,3,26,192,198,225,11,3,27,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,98,10,3,27,192,198,162,5,42,196,162,1,0,8,3,27,192,198,226,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,5,82,196,162,1,0,8,3,2,192,197,98,11,3,2,192,197,162,156,70,196,190,1,0,8,3,28,192,198,34,11,3,28,192,198,98,5,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,156,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,5,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,156,70,196,162,1,0,8,3,29,192,198,226,11,3,30,192,198,34,5,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,156,42,196,200,1,0,8,3,32,192,198,34,10,3,32,192,198,98,5,42,196,200,1,0,8,3,32,192,198,162,10,3,6,192,197,98,156,82,196,198,1,0,8,3,6,192,197,162,11,3,6,192,197,226,5,82,196,198,1,0,8,3,7,192,197,34,11,3,7,192,197,98,156,82,196,208,1,0,8,3,7,192,197,162,11,3,7,192,197,226,5,82,196,208,1,0,8,3,8,192,197,34,11,3,8,192,197,98,156,82,196,204,1,0,8,3,8,192,197,162,11,3,8,192,197,226,5,82,196,204,1,0,8,3,9,192,197,34,11,3,9,192,197,98,156,42,196,196,1,0,8,3,32,192,198,226,10,3,33,192,198,34,5,42,196,196,1,0,8,3,33,192,198,98,10,3,9,192,197,162,156,70,196,196,1,0,8,3,33,192,198,162,11,3,33,192,198,226,5,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,9,0,197,227,1,0,8,3,34,192,198,163,11,3,35,192,198,3,10,0,197,67,1,0,8,3,35,192,198,99,11,3,35,192,198,195,156,82,196,196,1,0,8,3,10,192,197,162,11,3,10,192,197,226,5,82,196,196,1,0,8,3,11,192,197,34,11,3,11,192,197,98,11,0,197,163,1,0,8,3,12,192,197,3,11,3,12,192,197,99,12,0,197,195,1,0,8,3,13,192,197,35,11,3,13,192,197,131,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,185,72,185,76,185,80,186,84,186,88,186,96,185,100,185,104,185,108,186,112,68,4,185,124,185,128,185,136,186,140,185,144,70,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,72,4,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,94,4,168,124,168,128,168,136,168,140,168,144,96,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,217,180,185,188,185,180,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,249,121,121,122,217,184,136,14,185,184,185,153,153,153,249,153,217,168,153,169,0,8,2,8,168,57,136,57,232,57,104,58,200,180,168,188,168,180,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,232,121,104,122,200,184,128,14,168,184,168,153,136,153,232,153,200,168,136,169,4,8,72,170,249,58,232,58,217,57,200,57,98,4,100,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,217,74,200,74,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,250,85,232,85,26,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,132,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,184,232,184,12,8,14,8,153,137,136,137,185,138,168,138,25,138,8,138,154,141,136,141,250,141,232,141,186,142,168,142,26,142,8,142,185,146,168,146,25,146,8,146,185,148,168,148,121,154,104,154,249,154,232,154,217,153,200,153,57,154,40,154,249,168,232,168,102,4,104,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,153,174,136,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,185,144,171,84,200,140,169,140,168,144,169,84,187,88,187,96,169,88,169,96,169,176,169,112,184,120,217,72,168,120,200,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,65,4,188,188,97,4,179,188,192,4,188,189,193,4,156,189,194,4,252,189,195,4,124,190,196,4,92,190,197,4,60,190,224,4,179,189,225,4,147,189,226,4,243,189,227,4,115,190,228,4,83,190,229,4,51,190,0,5,252,190,1,5,243,190,2,5,220,189,3,5,211,189,4,5,220,190,5,5,211,190,255,5,185,120,255,5,185,152,255,5,168,56,97,4,170,188,224,4,170,189,225,4,138,189,226,4,234,189,227,4,106,190,228,4,74,190,229,4,42,190,1,5,234,190,3,5,202,189,5,5,202,190,255,5,168,120,255,5,168,152,255,5,217,58,255,5,200,58,255,5,217,154,255,5,200,154,255,1,170,170,3,0,67,0,50,0,59,0,195,14,0,16,70,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,187,14,0,32,125,27,0,32,1,0,32,0,130,27,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,148,20,0,32,7,0,0,0,23,0,0,0,150,20,0,0,150,20,0,0,3,0,0,0,0,0,0,0,66,0,0,0,99,111,108,108,97,116,105,111,110,115,0,112,104,111,110,101,98,111,111,107,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,101,97,114,99,104,0,0,0,52,0,50,0,0,0,38,0,65,0,69,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,38,0,79,0,69,0,60,0,60,0,246,0,60,0,60,0,60,0,214,0,38,0,85,0,69,0,60,0,60,0,252,0,60,0,60,0,60,0,220,0,0,0,48,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,100,0,101,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,104,0,111,0,110,0,101,0,98,0,107,0,93,0,0,0,170,170,170,170,170,170,82,37,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,4,29,0,0,4,29,0,0,4,29,0,0,4,29,0,0,152,31,0,0,152,31,0,0,58,33,0,0,58,33,0,0,58,37,0,0,50,105,114,84,1,0,64,8,195,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,84,0,92,0,97,0,105,0,110,0,118,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,153,0,48,0,48,0,157,0,48,0,165,0,170,0,178,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,145,0,48,0,48,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,80,1,132,1,184,1,228,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,19,0,202,129,19,0,202,162,19,0,202,195,19,0,202,228,19,0,202,5,20,0,202,38,20,0,202,71,20,0,202,104,20,0,202,137,20,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,0,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,102,1,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,134,2,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,70,3,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,6,4,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,197,34,0,0,196,146,156,42,197,162,18,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,197,98,0,0,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,197,162,0,0,196,136,156,90,160,5,38,93,197,226,18,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,197,66,1,0,196,146,5,42,197,34,19,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,197,130,1,0,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,197,194,1,0,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,5,0,201,230,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,6,0,201,102,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,8,0,201,230,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,9,0,201,102,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,5,0,197,195,5,0,197,227,0,0,197,3,2,0,197,35,6,0,197,131,6,0,197,227,6,0,197,67,7,0,192,0,0,0,197,163,7,0,197,3,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,11,0,201,230,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,9,0,197,131,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,12,0,201,102,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,14,0,201,230,14,0,201,166,15,0,201,102,16,0,201,38,17,0,201,230,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,18,0,201,102,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,20,0,201,230,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,21,0,201,102,22,0,201,38,23,0,201,230,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,24,0,201,102,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,156,5,0,42,6,72,0,50,156,5,0,70,6,71,0,50,156,5,0,82,6,70,0,50,156,5,0,82,6,70,0,50,5,136,0,0,28,5,0,42,5,72,0,50,28,5,0,70,5,71,0,50,28,5,0,82,5,70,0,50,28,5,0,82,5,70,0,50,5,136,0,0,156,5,0,42,6,72,0,50,5,162,0,0,28,5,0,42,5,72,0,50,5,162,0,0,156,5,0,82,6,70,0,50,5,162,0,0,28,5,0,82,5,70,0,50,5,162,0,0,156,5,0,70,6,71,0,50,5,190,0,0,28,5,0,70,5,71,0,50,5,190,0,0,156,5,0,82,6,70,0,50,5,190,0,0,28,5,0,82,5,70,0,50,5,190,0,0,156,5,0,82,6,70,0,50,5,164,0,0,28,5,0,82,5,70,0,50,5,164,0,0,156,5,0,82,6,70,0,50,5,144,0,0,28,5,0,82,5,70,0,50,5,144,0,0,156,5,0,82,6,70,0,50,5,138,0,0,28,5,0,82,5,70,0,50,5,138,0,0,156,5,0,42,6,72,0,50,5,164,0,0,28,5,0,42,5,72,0,50,5,164,0,0,156,5,0,70,6,71,0,50,5,162,0,0,28,5,0,70,5,71,0,50,5,162,0,0,156,5,0,70,6,71,0,50,5,164,0,0,28,5,0,70,5,71,0,50,5,164,0,0,156,5,0,42,6,72,0,50,5,200,0,0,28,5,0,42,5,72,0,50,5,200,0,0,156,5,0,82,6,70,0,50,5,198,0,0,28,5,0,82,5,70,0,50,5,198,0,0,156,5,0,82,6,70,0,50,5,208,0,0,28,5,0,82,5,70,0,50,5,208,0,0,156,5,0,82,6,70,0,50,5,204,0,0,28,5,0,82,5,70,0,50,5,204,0,0,156,5,0,42,6,72,0,50,5,196,0,0,28,5,0,42,5,72,0,50,5,196,0,0,156,5,0,70,6,71,0,50,5,196,0,0,28,5,0,70,5,71,0,50,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,156,5,0,70,6,71,0,50,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,28,5,0,70,5,71,0,50,5,190,0,0,5,196,0,0,156,5,0,82,6,70,0,50,5,196,0,0,28,5,0,82,5,70,0,50,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,156,5,0,82,6,70,0,50,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,28,5,0,82,5,70,0,50,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,8,3,197,162,0,70,156,5,48,0,8,3,0,192,197,98,0,82,156,5,1,0,8,3,0,192,197,162,68,3,0,192,197,227,0,42,5,5,48,0,8,3,1,192,197,66,0,70,5,5,48,0,8,3,1,192,197,130,0,82,5,5,1,0,8,3,1,192,197,194,68,3,2,192,197,3,156,42,196,162,48,0,8,3,2,192,197,99,5,42,196,162,48,0,8,3,2,192,197,195,156,82,196,162,48,0,8,3,3,192,197,35,5,82,196,162,48,0,8,3,3,192,197,131,156,70,196,190,48,0,8,3,3,192,197,227,5,70,196,190,48,0,8,3,4,192,197,67,156,82,196,190,48,0,8,3,4,192,197,163,5,82,196,190,48,0,8,3,5,192,197,3,156,70,196,162,48,0,8,3,8,192,197,99,5,70,196,162,48,0,8,3,8,192,197,195,156,42,196,200,48,0,8,3,9,192,197,227,5,42,196,200,48,0,8,3,10,192,197,67,156,82,196,198,48,0,8,3,10,192,197,163,5,82,196,198,48,0,8,3,11,192,197,3,156,82,196,208,48,0,8,3,11,192,197,99,5,82,196,208,48,0,8,3,11,192,197,195,156,82,196,204,48,0,8,3,12,192,197,35,5,82,196,204,48,0,8,3,12,192,197,131,156,42,196,196,48,0,8,3,12,192,197,227,5,42,196,196,48,0,8,3,13,192,197,67,156,70,196,196,48,0,8,3,13,192,197,163,5,70,196,196,48,0,8,3,14,192,197,3,14,0,197,99,48,0,8,3,14,192,197,196,15,0,197,67,48,0,8,3,15,192,197,164,156,82,196,196,48,0,8,3,16,192,197,35,5,82,196,196,48,0,8,3,16,192,197,131,16,0,197,227,48,0,8,3,17,192,197,68,17,0,197,195,48,0,8,3,18,192,197,36,5,2,64,12,32,14,192,14,232,14,36,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,38,4,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,40,4,185,124,185,128,185,136,186,140,185,144,42,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,44,4,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,46,4,168,124,168,128,168,136,168,140,168,144,48,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,0,8,57,58,2,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,4,8,136,14,217,122,185,153,153,153,249,153,6,8,153,169,185,176,8,8,168,57,136,57,232,57,136,58,10,8,40,58,12,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,14,8,128,14,200,122,168,153,136,153,232,153,16,8,136,169,168,176,72,170,57,59,40,59,217,57,200,57,50,4,52,4,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,18,8,20,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,22,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,24,8,26,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,54,4,56,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,28,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,30,8,1,0,8,14,32,8,1,0,16,14,0,13,8,13,24,14,34,8,200,12,72,12,32,14,185,56,9,73,217,56,187,72,185,120,233,72,185,152,201,72,200,140,169,140,169,56,8,73,200,56,169,72,169,120,232,72,169,152,200,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,120,255,5,168,152,255,5,25,59,255,5,8,59,255,5,25,155,255,5,8,155,255,1,170,170,3,0,70,0,53,0,62,0,67,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,172,43,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,209,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,52,37,0,0,52,37,0,0,52,37,0,0,52,37,0,0,172,41,0,0,172,41,0,0,148,43,0,0,148,43,0,0,148,43,0,0,50,105,114,84,1,0,64,8,70,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,84,0,92,0,97,0,105,0,110,0,118,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,132,0,140,0,146,0,154,0,162,0,170,0,48,0,56,0,169,0,177,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,194,0,202,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,226,0,48,0,232,0,240,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,243,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,251,0,48,0,48,0,255,0,48,0,7,1,12,1,20,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,28,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,31,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,192,0,48,0,48,0,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,39,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,47,1,48,0,48,0,53,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,80,1,132,1,184,1,228,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,16,2,72,2,136,2,192,0,164,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,34,0,202,161,34,0,202,194,34,0,202,227,34,0,202,4,35,0,202,37,35,0,202,70,35,0,202,103,35,0,202,136,35,0,202,169,35,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,102,1,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,38,2,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,3,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,6,4,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,198,4,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,197,34,0,0,196,146,156,42,197,98,25,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,197,98,0,0,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,197,162,0,0,196,136,156,90,160,5,38,93,197,162,25,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,197,66,1,0,196,146,5,42,197,226,25,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,197,130,1,0,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,197,194,1,0,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,5,0,201,166,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,7,0,201,38,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,8,0,201,166,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,10,0,201,38,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,5,0,197,195,5,0,197,227,0,0,197,3,2,0,197,35,6,0,197,131,6,0,197,227,6,0,197,67,7,0,192,0,0,0,197,163,7,0,197,3,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,11,0,201,166,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,9,0,197,131,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,102,13,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,15,0,5,71,238,102,201,38,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,9,0,192,0,0,0,192,0,0,0,197,34,10,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,10,0,192,0,0,0,197,162,10,0,192,0,0,0,192,0,0,0,197,226,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,192,0,0,0,197,98,11,0,192,0,0,0,197,162,11,0,192,0,0,0,197,226,11,0,192,0,0,0,197,34,12,0,197,99,12,0,197,194,12,0,192,0,0,0,192,0,0,0,197,2,13,0,197,67,13,0,197,162,13,0,192,0,0,0,192,0,0,0,197,226,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,9,0,197,34,14,0,5,5,10,121,197,98,14,0,197,162,14,0,5,5,12,121,5,5,16,121,197,226,14,0,197,34,15,0,197,98,15,0,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,5,5,18,121,5,5,20,121,197,130,10,0,5,5,24,121,197,162,10,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,17,0,201,198,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,18,0,201,70,19,0,201,6,20,0,201,198,20,0,201,134,21,0,201,70,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,198,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,24,0,201,70,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,26,0,201,198,26,0,201,134,27,0,201,70,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,29,0,201,198,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,156,5,0,42,6,72,0,50,156,5,0,70,6,71,0,50,156,5,0,82,6,70,0,50,156,5,0,82,6,70,0,50,5,136,0,0,28,5,0,42,5,72,0,50,28,5,0,70,5,71,0,50,28,5,0,82,5,70,0,50,28,5,0,82,5,70,0,50,5,136,0,0,156,5,0,42,6,72,0,50,5,162,0,0,28,5,0,42,5,72,0,50,5,162,0,0,156,5,0,82,6,70,0,50,5,162,0,0,28,5,0,82,5,70,0,50,5,162,0,0,156,5,0,70,6,71,0,50,5,190,0,0,28,5,0,70,5,71,0,50,5,190,0,0,156,5,0,82,6,70,0,50,5,190,0,0,28,5,0,82,5,70,0,50,5,190,0,0,156,5,0,82,6,70,0,50,5,164,0,0,28,5,0,82,5,70,0,50,5,164,0,0,156,5,0,82,6,70,0,50,5,144,0,0,28,5,0,82,5,70,0,50,5,144,0,0,156,5,0,82,6,70,0,50,5,138,0,0,28,5,0,82,5,70,0,50,5,138,0,0,156,5,0,42,6,72,0,50,5,164,0,0,28,5,0,42,5,72,0,50,5,164,0,0,156,5,0,70,6,71,0,50,5,162,0,0,28,5,0,70,5,71,0,50,5,162,0,0,156,5,0,70,6,71,0,50,5,164,0,0,28,5,0,70,5,71,0,50,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,156,5,0,42,6,72,0,50,5,200,0,0,28,5,0,42,5,72,0,50,5,200,0,0,156,5,0,82,6,70,0,50,5,198,0,0,28,5,0,82,5,70,0,50,5,198,0,0,156,5,0,82,6,70,0,50,5,208,0,0,28,5,0,82,5,70,0,50,5,208,0,0,156,5,0,82,6,70,0,50,5,204,0,0,28,5,0,82,5,70,0,50,5,204,0,0,156,5,0,42,6,72,0,50,5,196,0,0,28,5,0,42,5,72,0,50,5,196,0,0,156,5,0,70,6,71,0,50,5,196,0,0,28,5,0,70,5,71,0,50,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,156,5,0,70,6,71,0,50,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,28,5,0,70,5,71,0,50,5,190,0,0,5,196,0,0,156,5,0,82,6,70,0,50,5,196,0,0,28,5,0,82,5,70,0,50,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,156,5,0,82,6,70,0,50,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,28,5,0,82,5,70,0,50,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,226,9,0,5,5,10,121,5,5,12,121,197,34,10,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,10,0,5,5,24,121,197,162,10,0,5,5,28,121,5,5,30,121,197,226,10,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,11,0,5,5,107,121,197,98,11,0,5,5,111,121,197,162,11,0,5,5,115,121,197,226,11,0,5,5,119,121,197,34,12,0,197,99,12,0,197,194,12,0,5,5,127,121,5,5,129,121,197,2,13,0,197,67,13,0,197,162,13,0,5,5,137,121,5,5,139,121,197,226,13,0,5,5,143,121,5,5,6,121,197,226,9,0,197,34,14,0,5,5,10,121,197,98,14,0,197,162,14,0,5,5,12,121,5,5,16,121,197,226,14,0,197,34,15,0,197,98,15,0,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,5,5,18,121,5,5,20,121,197,130,10,0,5,5,24,121,197,162,10,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,48,0,8,3,197,162,0,70,156,5,48,0,8,3,0,192,197,98,0,82,156,5,1,0,8,3,0,192,197,162,68,3,0,192,197,227,0,42,5,5,48,0,8,3,1,192,197,66,0,70,5,5,48,0,8,3,1,192,197,130,0,82,5,5,1,0,8,3,1,192,197,194,68,3,2,192,197,3,156,42,196,162,48,0,8,3,2,192,197,99,5,42,196,162,48,0,8,3,2,192,197,195,156,82,196,162,48,0,8,3,3,192,197,35,5,82,196,162,48,0,8,3,3,192,197,131,156,70,196,190,48,0,8,3,3,192,197,227,5,70,196,190,48,0,8,3,4,192,197,67,156,82,196,190,48,0,8,3,4,192,197,163,5,82,196,190,48,0,8,3,5,192,197,3,156,70,196,162,48,0,8,3,8,192,197,99,5,70,196,162,48,0,8,3,8,192,197,195,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,48,0,8,3,16,192,197,163,5,42,196,200,48,0,8,3,17,192,197,3,156,82,196,198,48,0,8,3,17,192,197,99,5,82,196,198,48,0,8,3,17,192,197,195,156,82,196,208,48,0,8,3,18,192,197,35,5,82,196,208,48,0,8,3,18,192,197,131,156,82,196,204,48,0,8,3,18,192,197,227,5,82,196,204,48,0,8,3,19,192,197,67,156,42,196,196,48,0,8,3,19,192,197,163,5,42,196,196,48,0,8,3,20,192,197,3,156,70,196,196,48,0,8,3,20,192,197,99,5,70,196,196,48,0,8,3,20,192,197,195,21,0,197,35,48,0,8,3,21,192,197,132,22,0,197,3,48,0,8,3,22,192,197,100,156,82,196,196,48,0,8,3,22,192,197,227,5,82,196,196,48,0,8,3,23,192,197,67,23,0,197,163,48,0,8,3,24,192,197,4,24,0,197,131,48,0,8,3,24,192,197,228,3,0,70,0,53,0,62,0,159,9,0,16,35,0,0,96,1,0,0,96,2,0,43,0,85,0,170,170,153,9,0,32,139,20,0,32,1,0,32,0,144,20,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,106,9,0,32,7,0,0,0,22,0,0,0,108,9,0,0,108,9,0,0,3,0,0,0,0,0,0,0,41,0,0,0,99,111,108,108,97,116,105,111,110,115,0,112,104,111,110,101,98,111,111,107,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,170,170,170,0,0,52,0,50,0,0,0,38,0,97,0,60,0,228,0,60,0,60,0,60,0,196,0,38,0,111,0,60,0,246,0,60,0,60,0,60,0,214,0,38,0,117,0,60,0,252,0,60,0,60,0,60,0,220,0,38,0,115,0,115,0,60,0,223,0,60,0,60,0,60,0,158,30,0,0,170,170,170,170,170,170,170,170,218,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,29,0,0,100,29,0,0,100,29,0,0,100,29,0,0,48,31,0,0,48,31,0,0,218,32,0,0,218,32,0,0,194,36,0,0,50,105,114,84,1,0,64,8,201,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,84,0,92,0,97,0,105,0,110,0,118,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,153,0,48,0,48,0,157,0,163,0,171,0,176,0,184,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,145,0,48,0,48,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,80,1,132,1,184,1,228,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,13,0,202,65,13,0,202,98,13,0,202,131,13,0,202,164,13,0,202,197,13,0,202,230,13,0,202,7,14,0,202,40,14,0,202,73,14,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,198,0,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,166,1,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,2,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,134,3,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,4,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,134,5,2,43,196,146,156,42,197,162,12,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,5,5,2,43,196,146,5,42,197,226,12,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,5,0,201,102,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,7,0,201,230,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,8,0,201,102,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,10,0,201,230,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,2,0,197,34,3,0,197,34,0,0,197,98,0,0,197,98,3,0,197,162,3,0,197,226,3,0,197,34,4,0,192,0,0,0,197,98,4,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,11,0,201,102,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,5,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,13,0,201,230,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,14,0,201,102,15,0,201,38,16,0,201,230,16,0,201,166,17,0,201,102,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,192,0,0,0,201,38,19,0,201,230,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,20,0,201,102,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,22,0,201,230,22,0,201,166,23,0,201,102,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,25,0,201,230,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,5,5,0,78,5,5,2,79,134,5,2,43,5,162,0,0,5,5,2,43,5,162,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,43,5,164,0,0,5,5,2,43,5,164,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,134,5,2,43,5,200,0,0,5,5,2,43,5,200,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,133,5,0,78,134,5,2,79,134,5,2,43,5,196,0,0,5,5,2,43,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,8,3,2,235,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,42,5,5,48,0,8,3,2,235,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,156,42,196,162,48,0,8,3,0,192,197,226,5,42,196,162,48,0,8,3,1,192,197,34,156,82,196,162,48,0,8,3,1,192,197,98,5,82,196,162,48,0,8,3,1,192,197,162,156,70,196,190,48,0,8,3,1,192,197,226,5,70,196,190,48,0,8,3,2,192,197,34,156,82,196,190,48,0,8,3,2,192,197,98,5,82,196,190,48,0,8,3,2,192,197,162,156,70,196,162,48,0,8,3,4,192,197,226,5,70,196,162,48,0,8,3,5,192,197,34,156,42,196,200,48,0,8,3,5,192,197,226,5,42,196,200,48,0,8,3,6,192,197,34,156,82,196,198,48,0,8,3,6,192,197,98,5,82,196,198,48,0,8,3,6,192,197,162,156,82,196,208,48,0,8,3,6,192,197,226,5,82,196,208,48,0,8,3,7,192,197,34,156,82,196,204,48,0,8,3,7,192,197,98,5,82,196,204,48,0,8,3,7,192,197,162,156,42,196,196,48,0,8,3,8,192,197,34,5,42,196,196,48,0,8,3,8,192,197,98,156,70,196,196,48,0,8,3,8,192,197,162,5,70,196,196,48,0,8,3,8,192,197,226,9,0,197,35,48,0,8,3,9,192,197,131,9,0,197,227,48,0,8,3,10,192,197,67,156,82,196,196,48,0,8,3,10,192,197,162,5,82,196,196,48,0,8,3,10,192,197,226,11,0,197,35,48,0,8,3,11,192,197,131,11,0,197,227,48,0,8,3,12,192,197,67,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,64,185,68,185,72,186,76,185,80,185,84,185,88,186,92,186,100,185,104,185,108,185,112,186,116,28,4,185,132,185,136,185,144,185,148,185,156,30,4,185,172,185,176,185,180,185,184,185,188,88,13,168,13,96,13,56,14,80,12,40,14,32,4,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,92,168,100,168,104,168,108,168,112,168,116,34,4,168,132,168,136,168,144,168,148,168,156,36,4,168,172,168,176,168,180,168,184,168,188,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,185,60,57,58,0,8,249,70,186,77,154,77,250,77,90,78,186,93,154,93,250,93,90,94,217,72,154,118,185,125,153,125,249,125,153,126,185,128,136,14,217,126,185,165,153,165,249,165,185,168,153,185,185,192,2,8,168,57,136,57,232,57,136,58,168,60,40,58,4,8,232,70,168,77,136,77,232,77,72,78,168,93,136,93,232,93,72,94,200,72,136,118,168,125,136,125,232,125,136,126,168,128,128,14,200,126,168,165,136,165,232,165,168,168,136,185,168,192,72,186,57,59,40,59,217,57,200,57,38,4,40,4,153,69,136,69,249,69,232,69,185,70,168,70,25,70,8,70,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,140,153,109,136,109,249,110,232,110,25,110,8,110,121,111,104,111,89,111,72,111,154,117,136,117,250,118,232,118,26,118,8,118,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,145,136,145,249,146,232,146,25,146,8,146,153,149,136,149,249,149,232,149,249,150,232,150,25,150,8,150,249,158,232,158,25,158,8,158,185,160,168,160,153,166,136,166,57,167,40,167,217,165,200,165,57,166,40,166,121,166,104,166,42,4,44,4,249,177,232,177,249,185,232,185,89,186,153,189,136,189,185,190,168,190,25,190,8,190,200,148,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,168,148,168,152,200,56,169,76,187,92,187,100,169,92,169,100,169,196,169,116,217,124,187,76,200,124,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,124,255,5,185,164,255,5,168,56,255,5,168,124,255,5,168,164,255,5,25,59,255,5,8,59,255,5,25,167,255,5,8,167,255,1,170,170,3,0,70,0,53,0,62,0,43,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,99,9,0,32,1,0,32,0,104,9,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,20,0,0,32,7,0,0,0,13,0,0,0,22,0,0,0,22,0,0,0,1,0,0,0,0,0,0,0,20,0,0,0,99,111,108,108,97,116,105,111,110,115,0,100,101,102,97,117,108,116,0,170,0,0,112,0,104,0,111,0,110,0,101,0,98,0,111,0,111,0,107,0,0,0,1,0,43,0,1,0,1,0,32,0,11,0,0,80,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,95,10,0,32,7,0,0,0,21,0,0,0,97,10,0,0,97,10,0,0,3,0,0,0,0,0,0,0,77,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,105,220,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,60,0,7,1,60,0,60,0,60,0,6,1,38,0,69,0,60,0,27,1,60,0,60,0,60,0,26,1,38,0,72,0,60,0,99,0,104,0,60,0,60,0,60,0,99,0,72,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,32,0,76,0,60,0,66,1,60,0,60,0,60,0,65,1,38,0,78,0,60,0,68,1,60,0,60,0,60,0,67,1,38,0,82,0,60,0,85,1,60,0,60,0,60,0,84,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,60,0,91,1,60,0,60,0,60,0,90,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,60,0,122,1,60,0,60,0,60,0,121,1,0,0,170,170,170,170,170,170,170,170,170,170,32,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,28,0,0,84,28,0,0,84,28,0,0,84,28,0,0,40,31,0,0,40,31,0,0,182,35,0,0,208,35,0,0,8,40,0,0,50,105,114,84,1,0,64,8,184,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,48,0,56,0,48,0,56,0,112,0,120,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,48,0,149,0,157,0,161,0,167,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,136,0,48,0,48,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,0,192,0,192,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,21,0,202,129,21,0,202,162,21,0,202,195,21,0,202,228,21,0,202,5,22,0,202,38,22,0,202,71,22,0,202,104,22,0,202,137,22,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,4,0,0,156,5,0,48,201,134,8,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,70,9,0,156,5,0,70,156,5,0,72,160,5,0,74,201,166,10,0,201,6,12,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,230,13,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,196,15,0,5,5,0,48,201,102,24,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,38,25,0,5,5,0,70,5,5,0,72,5,5,0,74,201,134,26,0,201,230,27,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,198,29,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,20,0,201,166,31,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,20,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,21,0,201,38,33,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,34,0,201,102,35,0,134,5,2,51,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,63,5,5,21,63,134,5,2,69,5,5,2,69,201,38,36,0,201,70,37,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,77,5,5,2,77,201,102,38,0,201,134,39,0,192,0,0,0,192,0,0,0,134,5,3,79,5,5,3,79,192,0,0,0,192,0,0,0,201,166,40,0,201,38,42,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,93,5,5,3,93,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,43,0,201,38,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,46,0,201,102,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,48,0,201,230,48,0,201,166,49,0,201,102,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,51,0,201,70,52,0,201,102,53,0,201,134,54,0,201,166,55,0,201,198,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,57,0,201,6,59,0,192,0,0,0,192,0,0,0,201,38,60,0,201,70,61,0,192,0,0,0,192,0,0,0,201,102,62,0,201,230,63,0,197,34,17,0,197,98,17,0,197,162,17,0,197,226,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,65,0,201,230,66,0,201,102,68,0,201,230,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,71,0,201,38,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,136,5,2,57,5,142,0,0,71,5,2,57,5,142,0,0,136,5,2,57,5,144,0,0,71,5,2,57,5,144,0,0,136,5,2,57,5,156,0,0,71,5,2,57,5,156,0,0,136,5,2,57,5,196,0,0,71,5,2,57,5,196,0,0,136,5,2,57,5,150,0,0,71,5,2,57,5,150,0,0,136,5,2,57,5,160,0,0,71,5,2,57,5,160,0,0,136,5,2,57,5,206,0,0,71,5,2,57,5,206,0,0,71,5,2,57,5,210,0,0,70,5,2,57,5,142,0,0,5,5,2,57,5,142,0,0,70,5,2,57,5,144,0,0,5,5,2,57,5,144,0,0,70,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,70,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,70,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,70,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,70,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,5,5,2,57,5,210,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,77,5,160,0,0,5,5,2,77,5,160,0,0,134,5,3,79,5,160,0,0,134,5,2,79,5,160,0,0,5,5,3,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,3,79,5,202,0,0,134,5,2,79,5,202,0,0,5,5,3,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,51,5,160,0,0,5,5,2,51,5,160,0,0,134,5,2,51,5,204,0,0,5,5,2,51,5,204,0,0,134,5,2,51,5,208,0,0,5,5,2,51,5,208,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,77,5,196,0,0,5,5,2,77,5,196,0,0,134,5,2,77,5,210,0,0,5,5,2,77,5,210,0,0,134,5,3,79,5,196,0,0,134,5,2,79,5,196,0,0,5,5,3,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,3,79,5,156,0,0,5,5,3,79,5,156,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,3,93,5,196,0,0,134,5,2,93,5,196,0,0,5,5,3,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,3,93,5,210,0,0,134,5,2,93,5,210,0,0,5,5,3,93,5,210,0,0,5,5,2,93,5,210,0,0,134,5,2,51,5,196,0,0,5,5,2,51,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,19,0,35,30,32,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,35,30,1,192,197,98,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,31,2,15,0,31,2,0,192,197,226,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,34,30,1,192,197,34,72,0,2,249,136,5,104,0,2,249,71,5,36,1,197,162,37,1,0,192,197,98,30,2,0,192,197,162,0,50,156,5,48,0,12,3,2,243,134,5,0,68,156,5,1,0,1,3,255,255,2,69,134,5,65,3,255,255,2,69,134,5,0,76,156,5,1,0,1,3,255,255,2,77,134,5,65,3,255,255,2,77,134,5,0,78,156,5,2,0,1,3,255,255,3,79,134,5,12,3,255,255,2,79,134,5,65,3,255,255,3,79,134,5,0,92,156,5,2,0,1,3,255,255,3,93,134,5,12,3,255,255,2,93,134,5,65,3,255,255,3,93,134,5,0,46,5,5,19,0,35,30,32,0,40,30,15,0,40,30,6,192,197,98,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,35,30,5,192,197,34,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,31,2,15,0,31,2,4,192,197,162,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,34,30,4,192,197,226,72,0,2,249,70,5,104,0,2,249,5,5,36,1,3,192,197,226,37,1,4,192,197,34,30,2,4,192,197,98,0,50,5,5,48,0,12,3,2,243,5,5,0,68,5,5,1,0,1,3,255,255,2,69,5,5,65,3,255,255,2,69,5,5,0,76,5,5,1,0,1,3,255,255,2,77,5,5,65,3,255,255,2,77,5,5,0,78,5,5,2,0,1,3,255,255,3,79,5,5,12,3,255,255,2,79,5,5,65,3,255,255,3,79,5,5,0,92,5,5,2,0,1,3,255,255,3,93,5,5,12,3,255,255,2,93,5,5,65,3,255,255,3,93,5,5,156,46,196,160,2,0,1,3,7,192,197,162,12,3,7,192,197,226,65,3,7,192,197,162,5,46,196,160,2,0,1,3,8,192,197,34,12,3,8,192,197,98,65,3,8,192,197,34,156,50,196,162,48,0,12,3,8,192,197,162,5,50,196,162,48,0,12,3,8,192,197,226,156,68,196,160,1,0,1,3,9,192,197,34,65,3,9,192,197,34,5,68,196,160,1,0,1,3,9,192,197,98,65,3,9,192,197,98,156,76,196,160,1,0,1,3,9,192,197,162,65,3,9,192,197,162,5,76,196,160,1,0,1,3,9,192,197,226,65,3,9,192,197,226,156,78,196,160,2,0,1,3,10,192,197,34,12,3,10,192,197,98,65,3,10,192,197,34,5,78,196,160,2,0,1,3,10,192,197,162,12,3,10,192,197,226,65,3,10,192,197,162,156,78,196,202,2,0,1,3,11,192,197,34,12,3,11,192,197,98,65,3,11,192,197,34,5,78,196,202,2,0,1,3,11,192,197,162,12,3,11,192,197,226,65,3,11,192,197,162,156,50,196,160,48,0,12,3,12,192,197,34,5,50,196,160,48,0,12,3,12,192,197,98,156,50,196,204,48,0,12,3,12,192,197,162,5,50,196,204,48,0,12,3,12,192,197,226,156,50,196,208,48,0,12,3,13,192,197,34,5,50,196,208,48,0,12,3,13,192,197,98,156,68,196,196,1,0,1,3,13,192,197,162,65,3,13,192,197,162,5,68,196,196,1,0,1,3,13,192,197,226,65,3,13,192,197,226,156,68,196,210,1,0,1,3,14,192,197,34,65,3,14,192,197,34,5,68,196,210,1,0,1,3,14,192,197,98,65,3,14,192,197,98,156,68,196,204,1,0,1,3,14,192,197,162,65,3,14,192,197,162,5,68,196,204,1,0,1,3,14,192,197,226,65,3,14,192,197,226,156,76,196,196,1,0,1,3,15,192,197,34,65,3,15,192,197,34,5,76,196,196,1,0,1,3,15,192,197,98,65,3,15,192,197,98,156,76,196,210,1,0,1,3,15,192,197,162,65,3,15,192,197,162,5,76,196,210,1,0,1,3,15,192,197,226,65,3,15,192,197,226,156,78,196,196,2,0,1,3,16,192,197,34,12,3,16,192,197,98,65,3,16,192,197,34,5,78,196,196,2,0,1,3,16,192,197,162,12,3,16,192,197,226,65,3,16,192,197,162,156,92,196,196,2,0,1,3,18,192,197,34,12,3,18,192,197,98,65,3,18,192,197,34,5,92,196,196,2,0,1,3,18,192,197,162,12,3,18,192,197,226,65,3,18,192,197,162,156,92,196,210,2,0,1,3,19,192,197,34,12,3,19,192,197,98,65,3,19,192,197,34,5,92,196,210,2,0,1,3,19,192,197,162,12,3,19,192,197,226,65,3,19,192,197,162,156,50,196,196,48,0,12,3,20,192,197,34,5,50,196,196,48,0,12,3,20,192,197,98,12,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,34,30,44,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,76,36,4,185,88,185,92,185,96,186,104,186,112,185,116,185,124,185,128,38,4,185,144,185,148,185,152,40,4,42,4,185,180,185,188,185,192,185,196,185,200,185,204,44,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,46,4,168,76,56,4,168,88,168,92,168,96,168,104,168,112,168,116,168,124,168,128,58,4,168,144,168,148,168,152,60,4,62,4,168,180,168,188,168,192,168,196,168,200,168,204,64,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,144,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,66,4,186,81,154,81,250,81,90,82,186,105,154,105,250,105,90,106,217,76,154,134,185,145,153,145,249,145,153,146,89,146,136,14,217,146,185,189,153,189,249,189,89,190,153,205,185,220,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,68,4,168,81,136,81,232,81,72,82,168,105,136,105,232,105,72,106,200,76,136,134,168,145,136,145,232,145,136,146,72,146,128,14,200,146,168,189,136,189,232,189,72,190,136,205,168,220,72,206,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,89,79,72,79,58,83,40,83,218,81,200,81,186,82,168,82,70,4,72,4,185,84,168,84,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,97,232,97,89,99,72,99,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,125,136,125,249,126,232,126,25,126,8,126,121,127,104,127,185,120,168,120,185,136,168,136,74,4,76,4,26,134,8,134,10,8,185,140,168,140,57,147,40,147,217,145,200,145,121,146,104,146,12,8,14,8,185,164,168,164,78,4,80,4,25,162,8,162,185,176,168,176,250,169,232,169,82,4,84,4,185,172,168,172,249,182,232,182,25,182,8,182,185,184,168,184,153,190,136,190,57,191,40,191,217,189,200,189,57,190,40,190,121,190,104,190,25,191,8,191,249,197,232,197,249,205,232,205,89,206,185,216,168,216,185,210,168,210,185,212,168,212,232,168,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,168,169,168,200,56,169,80,187,104,187,112,169,104,169,112,169,224,169,132,217,144,187,80,200,144,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,187,100,104,4,178,100,36,5,251,101,37,5,242,101,255,5,186,80,255,5,186,132,255,5,185,160,255,5,186,168,255,5,185,208,255,5,168,64,72,4,177,100,104,4,168,100,36,5,241,101,37,5,232,101,255,5,168,80,255,5,168,132,255,5,168,160,255,5,168,168,255,5,168,208,255,5,249,66,255,5,232,66,255,5,26,83,255,5,8,83,255,5,250,134,255,5,232,134,255,5,249,162,255,5,232,162,255,5,250,170,255,5,232,170,255,1,3,0,69,0,52,0,61,0,79,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,88,10,0,32,1,0,32,0,93,10,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,76,11,0,32,7,0,0,0,21,0,0,0,78,11,0,0,78,11,0,0,3,0,0,0,0,0,0,0,93,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,138,220,38,0,12,3,60,0,60,0,2,3,38,0,68,0,60,0,100,0,122,0,60,0,60,0,60,0,68,0,122,0,60,0,60,0,60,0,68,0,90,0,60,0,86,2,60,0,60,0,60,0,137,1,38,0,69,0,60,0,91,2,60,0,60,0,60,0,144,1,38,0,70,0,60,0,146,1,60,0,60,0,60,0,145,1,38,0,71,0,60,0,103,0,98,0,60,0,60,0,60,0,71,0,98,0,60,0,60,0,60,0,71,0,66,0,60,0,99,2,60,0,60,0,60,0,148,1,38,0,72,0,60,0,120,0,60,0,60,0,60,0,88,0,38,0,75,0,60,0,107,0,112,0,60,0,60,0,60,0,75,0,112,0,60,0,60,0,60,0,75,0,80,0,38,0,78,0,60,0,110,0,121,0,60,0,60,0,60,0,78,0,121,0,60,0,60,0,60,0,78,0,89,0,60,0,75,1,60,0,60,0,60,0,74,1,38,0,79,0,60,0,84,2,60,0,60,0,60,0,134,1,38,0,84,0,60,0,116,0,115,0,60,0,60,0,60,0,84,0,115,0,60,0,60,0,60,0,84,0,83,0,38,0,86,0,60,0,139,2,60,0,60,0,60,0,178,1,0,0,170,170,170,170,170,170,170,170,146,43,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,30,0,0,164,30,0,0,164,30,0,0,164,30,0,0,116,35,0,0,116,35,0,0,136,38,0,0,222,38,0,0,122,43,0,0,50,105,114,84,1,0,64,8,221,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,109,0,117,0,48,0,56,0,48,0,56,0,122,0,130,0,136,0,144,0,48,0,56,0,152,0,160,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,182,0,189,0,197,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,204,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,176,0,48,0,48,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,180,1,192,0,192,0,232,1,32,2,192,0,96,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,37,0,202,97,37,0,202,130,37,0,202,163,37,0,202,196,37,0,202,229,37,0,202,6,38,0,202,39,38,0,202,72,38,0,202,105,38,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,201,0,0,0,156,5,0,50,156,5,0,52,201,64,6,0,156,5,0,56,156,5,0,58,156,5,0,60,201,224,9,0,156,5,0,64,156,5,0,66,201,192,12,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,201,64,22,0,156,5,0,82,156,5,0,84,160,5,0,86,134,5,2,57,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,201,96,32,0,5,5,0,50,5,5,0,52,201,160,35,0,5,5,0,56,5,5,0,58,5,5,0,60,201,128,37,0,5,5,0,64,5,5,0,66,201,0,39,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,201,32,44,0,5,5,0,82,5,5,0,84,5,5,0,86,5,5,2,57,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,145,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,130,36,0,196,160,156,46,196,138,156,50,196,136,156,50,196,145,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,145,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,145,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,145,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,36,0,196,138,5,42,196,136,5,42,196,145,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,2,37,0,196,160,5,46,196,138,5,50,196,136,5,50,196,145,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,145,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,145,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,145,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,156,46,196,145,5,46,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,156,54,196,145,5,54,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,156,56,196,145,5,56,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,156,60,196,145,5,60,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,69,5,5,3,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,156,78,196,145,5,78,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,160,86,196,145,5,86,196,145,156,90,196,145,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,71,192,0,0,0,192,0,0,0,134,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,134,5,2,53,5,5,2,53,192,0,0,0,134,5,3,55,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,85,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,71,192,0,0,0,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,55,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,85,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,145,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,24,0,197,130,24,0,197,194,24,0,197,2,25,0,192,0,0,0,192,0,0,0,196,145,156,92,196,145,5,92,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,25,0,197,163,25,0,197,3,26,0,197,99,26,0,197,195,26,0,197,35,27,0,197,131,27,0,197,227,27,0,197,67,28,0,197,163,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,29,0,197,99,29,0,197,195,29,0,197,35,30,0,197,131,30,0,197,227,30,0,197,67,31,0,197,163,31,0,197,3,32,0,197,99,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,32,0,197,35,33,0,197,131,33,0,197,227,33,0,197,67,34,0,197,163,34,0,197,3,35,0,197,99,35,0,197,195,35,0,197,35,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,224,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,49,5,136,0,0,70,5,2,49,5,136,0,0,135,5,2,49,5,156,0,0,70,5,2,49,5,156,0,0,135,5,2,49,5,144,0,0,70,5,2,49,5,144,0,0,135,5,2,49,5,145,0,0,70,5,2,49,5,145,0,0,135,5,2,49,5,196,0,0,70,5,2,49,5,196,0,0,135,5,2,49,5,210,0,0,70,5,2,49,5,210,0,0,135,5,2,55,5,156,0,0,70,5,2,55,5,156,0,0,135,5,2,55,5,196,0,0,70,5,2,55,5,196,0,0,135,5,2,55,5,210,0,0,70,5,2,55,5,210,0,0,135,5,2,63,5,136,0,0,70,5,2,63,5,136,0,0,135,5,2,63,5,156,0,0,70,5,2,63,5,156,0,0,135,5,2,69,5,136,0,0,70,5,2,69,5,136,0,0,70,5,2,69,5,150,0,0,135,5,2,69,5,145,0,0,70,5,2,69,5,145,0,0,135,5,2,69,5,150,0,0,135,5,2,69,5,164,0,0,70,5,2,69,5,164,0,0,135,5,2,69,5,156,0,0,70,5,2,69,5,156,0,0,70,5,2,69,5,146,0,0,135,5,2,69,5,138,0,0,70,5,2,69,5,138,0,0,135,5,2,69,5,196,0,0,70,5,2,69,5,196,0,0,135,5,2,69,5,182,0,0,70,5,2,69,5,182,0,0,135,5,2,69,5,154,0,0,70,5,2,69,5,154,0,0,135,5,2,81,5,136,0,0,70,5,2,81,5,136,0,0,135,5,2,81,5,145,0,0,70,5,2,81,5,145,0,0,135,5,2,81,5,160,0,0,70,5,2,81,5,160,0,0,135,5,2,81,5,144,0,0,70,5,2,81,5,144,0,0,135,5,2,81,5,202,0,0,70,5,2,81,5,202,0,0,135,5,2,81,5,156,0,0,70,5,2,81,5,156,0,0,135,5,2,81,5,196,0,0,70,5,2,81,5,196,0,0,135,5,2,81,5,136,0,0,5,156,0,0,70,5,2,81,5,136,0,0,5,156,0,0,135,5,2,81,5,144,0,0,5,156,0,0,70,5,2,81,5,144,0,0,5,156,0,0,135,5,2,81,5,196,0,0,5,156,0,0,70,5,2,81,5,196,0,0,5,156,0,0,5,5,2,49,5,136,0,0,5,5,2,49,5,156,0,0,5,5,2,49,5,144,0,0,5,5,2,49,5,145,0,0,5,5,2,49,5,196,0,0,5,5,2,49,5,210,0,0,5,5,2,55,5,156,0,0,5,5,2,55,5,196,0,0,5,5,2,55,5,210,0,0,5,5,2,63,5,136,0,0,5,5,2,63,5,156,0,0,5,5,2,69,5,136,0,0,5,5,2,69,5,150,0,0,5,5,2,69,5,145,0,0,5,5,2,69,5,164,0,0,5,5,2,69,5,156,0,0,5,5,2,69,5,146,0,0,5,5,2,69,5,138,0,0,5,5,2,69,5,196,0,0,5,5,2,69,5,182,0,0,5,5,2,69,5,154,0,0,5,5,2,81,5,136,0,0,5,5,2,81,5,145,0,0,5,5,2,81,5,160,0,0,5,5,2,81,5,144,0,0,5,5,2,81,5,202,0,0,5,5,2,81,5,156,0,0,5,5,2,81,5,196,0,0,5,5,2,81,5,136,0,0,5,156,0,0,5,5,2,81,5,144,0,0,5,156,0,0,5,5,2,81,5,196,0,0,5,156,0,0,134,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,134,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,156,5,0,42,5,145,0,0,5,136,0,0,5,5,0,42,5,145,0,0,5,136,0,0,156,5,0,42,5,145,0,0,5,138,0,0,5,5,0,42,5,145,0,0,5,138,0,0,156,5,0,42,5,145,0,0,5,182,0,0,5,5,0,42,5,145,0,0,5,182,0,0,156,5,0,42,5,145,0,0,5,154,0,0,5,5,0,42,5,145,0,0,5,154,0,0,156,5,0,42,5,196,0,0,5,145,0,0,5,5,0,42,5,196,0,0,5,145,0,0,156,5,0,50,5,145,0,0,5,136,0,0,5,5,0,50,5,145,0,0,5,136,0,0,156,5,0,50,5,145,0,0,5,138,0,0,5,5,0,50,5,145,0,0,5,138,0,0,156,5,0,50,5,145,0,0,5,182,0,0,5,5,0,50,5,145,0,0,5,182,0,0,156,5,0,50,5,145,0,0,5,154,0,0,5,5,0,50,5,145,0,0,5,154,0,0,156,5,0,50,5,196,0,0,5,145,0,0,5,5,0,50,5,196,0,0,5,145,0,0,156,5,0,70,5,145,0,0,5,136,0,0,5,5,0,70,5,145,0,0,5,136,0,0,156,5,0,70,5,145,0,0,5,138,0,0,5,5,0,70,5,145,0,0,5,138,0,0,156,5,0,70,5,145,0,0,5,182,0,0,5,5,0,70,5,145,0,0,5,182,0,0,156,5,0,70,5,145,0,0,5,154,0,0,5,5,0,70,5,145,0,0,5,154,0,0,156,5,0,70,5,196,0,0,5,145,0,0,5,5,0,70,5,196,0,0,5,145,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,48,156,5,13,0,126,1,23,0,146,30,12,0,146,30,2,192,197,34,147,30,2,192,197,98,148,30,2,192,197,162,149,30,2,192,197,226,126,1,1,192,197,98,144,30,1,192,197,162,145,30,1,192,197,226,122,1,12,0,122,1,0,192,197,98,123,1,0,192,197,162,124,1,0,192,197,226,125,1,1,192,197,34,90,0,2,241,135,5,122,0,2,241,70,5,121,1,197,162,0,54,156,5,7,0,4,30,12,0,4,30,3,192,197,162,5,30,3,192,197,226,6,30,4,192,197,34,7,30,4,192,197,98,66,0,2,247,135,5,98,0,2,247,70,5,2,30,3,192,197,34,3,30,3,192,197,98,0,62,156,5,5,0,85,30,9,0,85,30,4,192,197,226,86,30,5,192,197,34,87,30,5,192,197,98,80,0,2,255,135,5,112,0,2,255,70,5,84,30,4,192,197,162,0,68,156,5,20,0,142,30,37,0,244,30,20,0,247,30,9,0,247,30,9,192,197,162,248,30,9,192,197,226,249,30,10,192,197,34,244,30,8,192,197,226,245,30,9,192,197,34,246,30,9,192,197,98,142,30,7,192,197,162,143,30,7,192,197,226,153,30,8,192,197,34,242,30,8,192,197,98,243,30,8,192,197,162,118,1,15,0,118,1,6,192,197,98,119,1,6,192,197,162,120,1,6,192,197,226,50,2,7,192,197,34,51,2,7,192,197,98,89,0,255,255,2,69,135,5,121,0,255,255,2,69,70,5,221,0,5,192,197,162,253,0,5,192,197,226,255,0,6,192,197,34,0,80,156,5,21,0,25,2,37,0,100,30,20,0,103,30,9,0,103,30,15,192,197,3,104,30,15,192,197,99,105,30,15,192,197,195,100,30,13,192,197,227,101,30,14,192,197,67,102,30,14,192,197,163,25,2,12,192,197,162,96,30,12,192,197,226,97,30,13,192,197,34,98,30,13,192,197,98,99,30,13,192,197,162,93,1,20,0,96,1,9,0,96,1,11,192,197,226,97,1,12,192,197,34,24,2,12,192,197,98,93,1,11,192,197,34,94,1,11,192,197,98,95,1,11,192,197,162,83,0,255,255,2,81,135,5,115,0,255,255,2,81,70,5,90,1,10,192,197,98,91,1,10,192,197,162,92,1,10,192,197,226,0,48,5,5,6,0,126,1,12,0,126,1,16,192,197,162,145,30,16,192,197,226,147,30,17,192,197,34,149,30,17,192,197,98,122,0,2,241,5,5,122,1,16,192,197,34,124,1,16,192,197,98,0,54,5,5,3,0,98,0,2,247,5,5,3,30,17,192,197,162,5,30,17,192,197,226,7,30,18,192,197,34,0,62,5,5,2,0,112,0,2,255,5,5,85,30,18,192,197,98,87,30,18,192,197,162,0,68,5,5,10,0,143,30,20,0,245,30,9,0,245,30,20,192,197,162,247,30,20,192,197,226,249,30,21,192,197,34,143,30,19,192,197,226,153,30,20,192,197,34,243,30,20,192,197,98,121,0,255,255,2,69,5,5,253,0,18,192,197,226,255,0,19,192,197,34,119,1,19,192,197,98,51,2,19,192,197,162,0,80,5,5,10,0,25,2,20,0,101,30,9,0,101,30,23,192,197,35,103,30,23,192,197,131,105,30,23,192,197,227,25,2,22,192,197,98,97,30,22,192,197,162,99,30,22,192,197,226,115,0,255,255,2,81,5,5,91,1,21,192,197,98,93,1,21,192,197,162,95,1,21,192,197,226,97,1,22,192,197,34,42,0,66,0,67,0,80,0,81,0,83,0,84,0,89,0,91,0,98,0,99,0,112,0,113,0,115,0,116,0,121,0,123,0,221,0,222,0,253,0,254,0,255,0,0,1,90,1,98,1,118,1,127,1,24,2,26,2,50,2,52,2,2,30,8,30,84,30,88,30,96,30,106,30,142,30,150,30,153,30,154,30,242,30,250,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,26,4,186,76,185,80,44,4,185,92,186,100,186,108,50,4,185,120,185,124,56,4,185,140,185,144,185,148,185,156,186,160,74,4,185,176,185,180,185,184,185,96,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,96,4,168,76,168,80,106,4,168,92,168,100,168,108,110,4,168,120,168,124,114,4,168,140,168,144,168,148,168,156,168,160,124,4,168,176,168,180,168,184,168,96,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,25,58,153,58,89,58,57,58,0,8,249,66,186,77,154,77,26,78,90,78,186,101,154,101,26,102,90,102,217,68,154,130,185,141,153,141,25,142,153,142,89,142,136,14,217,142,185,177,153,177,25,178,89,178,153,189,185,196,2,8,168,57,136,57,8,58,136,58,72,58,40,58,4,8,232,66,168,77,136,77,8,78,72,78,168,101,136,101,8,102,72,102,200,68,136,130,168,141,136,141,8,142,136,142,72,142,128,14,200,142,168,177,136,177,8,178,72,178,136,189,168,196,72,190,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,25,66,8,66,185,66,168,66,249,65,232,65,249,69,232,69,89,71,72,71,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,250,77,232,77,25,86,8,86,217,85,200,85,185,86,168,86,249,86,232,86,25,94,8,94,89,95,72,95,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,26,110,8,110,249,114,232,114,168,152,153,121,136,121,249,122,232,122,249,121,232,121,121,123,104,123,89,123,72,123,154,129,136,129,250,130,232,130,250,129,232,129,10,8,185,136,168,136,57,143,40,143,217,141,200,141,121,142,104,142,12,8,14,8,153,157,136,157,249,158,232,158,249,157,232,157,154,161,136,161,26,162,8,162,250,162,232,162,250,161,232,161,249,166,232,166,249,165,232,165,185,172,168,172,153,178,136,178,57,179,40,179,217,177,200,177,57,178,40,178,121,178,104,178,25,179,8,179,25,186,8,186,25,190,8,190,89,190,153,193,136,193,185,194,168,194,249,193,232,193,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,160,169,160,200,56,169,76,187,100,187,108,169,100,169,108,169,200,169,128,217,140,187,76,200,140,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,68,90,4,186,72,122,4,177,72,121,5,154,73,122,5,145,73,123,5,186,74,124,5,177,74,125,5,250,73,126,5,241,73,255,5,185,84,66,4,186,88,98,4,177,88,255,5,185,112,80,4,186,116,112,4,177,116,255,5,186,128,89,4,186,132,121,4,177,132,221,4,154,133,253,4,145,133,255,4,81,134,118,5,26,134,119,5,17,134,120,5,90,134,255,5,185,164,83,4,186,168,115,4,177,168,90,5,154,169,91,5,145,169,92,5,26,170,93,5,17,170,94,5,250,170,95,5,241,170,96,5,250,169,97,5,241,169,255,5,168,68,122,4,168,72,122,5,136,73,124,5,168,74,126,5,232,73,255,5,168,84,98,4,168,88,255,5,168,112,112,4,168,116,255,5,168,128,121,4,168,132,253,4,136,133,255,4,72,134,119,5,8,134,255,5,168,164,115,4,168,168,91,5,136,169,93,5,8,170,95,5,232,170,97,5,232,169,255,1,170,170,3,0,69,0,52,0,61,0,95,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,69,11,0,32,1,0,32,0,74,11,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,132,0,0,32,7,0,0,0,21,0,0,0,134,0,0,0,134,0,0,0,3,0,0,0,0,0,0,0,40,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,71,0,114,0,101,0,107,0,93,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,68,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,44,0,0,0,44,1,0,0,14,0,0,0,0,0,0,96,199,255,96,96,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,43,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,125,0,0,32,1,0,32,0,130,0,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,149,15,0,32,7,0,0,0,21,0,0,0,151,15,0,0,151,15,0,0,3,0,0,0,0,0,0,0,70,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,92,220,38,0,65,0,60,0,42,0,39,0,32,0,39,0,45,0,39,0,47,0,39,0,60,0,42,0,48,0,45,0,39,0,64,0,39,0,60,0,42,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,84,0,85,0,86,0,87,0,88,0,89,0,90,0,60,0,42,0,39,0,91,0,39,0,45,0,39,0,96,0,39,0,60,0,42,0,97,0,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,107,0,108,0,109,0,110,0,111,0,112,0,113,0,114,0,115,0,116,0,117,0,118,0,119,0,120,0,121,0,122,0,60,0,42,0,39,0,123,0,39,0,45,0,39,0,127,0,39,0,0,0,170,170,170,170,24,61,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,0,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,34,0,0,84,34,0,0,252,51,0,0,252,51,0,0,228,60,0,0,228,60,0,0,252,60,0,0,252,60,0,0,252,60,0,0,50,105,114,84,1,0,64,8,24,1,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,125,0,133,0,141,0,149,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,154,0,162,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,186,0,194,0,202,0,210,0,218,0,226,0,234,0,242,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,249,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,178,0,48,0,48,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,244,1,52,2,192,0,192,0,192,0,192,0,104,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,2,43,5,5,3,43,5,5,4,43,193,2,5,43,193,3,5,43,193,4,5,43,193,5,5,43,193,6,5,43,193,7,5,43,193,8,5,43,193,9,5,43,193,10,5,43,193,11,5,43,193,12,5,43,193,13,5,43,193,14,5,43,202,0,70,0,202,33,70,0,202,66,70,0,202,99,70,0,202,132,70,0,202,165,70,0,202,198,70,0,202,231,70,0,202,8,71,0,202,41,71,0,193,25,5,43,193,26,5,43,193,27,5,43,193,28,5,43,193,29,5,43,193,30,5,43,193,31,5,43,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,198,129,0,0,198,161,0,0,198,193,0,0,198,225,0,0,198,1,1,0,198,33,1,0,198,65,1,0,198,97,1,0,198,129,1,0,198,161,1,0,198,193,1,0,198,225,1,0,198,1,2,0,198,33,2,0,198,65,2,0,198,97,2,0,198,129,2,0,198,161,2,0,198,193,2,0,198,225,2,0,198,1,3,0,198,33,3,0,193,58,5,43,193,59,5,43,193,60,5,43,193,61,5,43,193,62,5,43,193,63,5,43,193,64,5,43,193,65,5,43,193,66,5,43,193,67,5,43,193,68,5,43,193,69,5,43,193,70,5,43,193,71,5,43,193,72,5,43,193,73,5,43,193,74,5,43,193,75,5,43,193,76,5,43,193,77,5,43,193,78,5,43,193,79,5,43,193,80,5,43,193,81,5,43,193,82,5,43,193,83,5,43,193,84,5,43,193,85,5,43,193,86,5,43,193,87,5,43,193,88,5,43,193,89,5,43,193,90,5,43,193,91,5,43,193,92,5,43,193,93,5,43,193,94,5,43,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,3,0,198,130,3,0,198,194,3,0,198,2,4,0,198,66,4,0,198,130,4,0,197,66,69,0,198,194,4,0,198,2,5,0,198,66,5,0,198,130,5,0,198,194,5,0,198,2,6,0,198,66,6,0,198,130,6,0,198,194,6,0,160,112,0,48,198,2,7,0,198,66,7,0,198,130,7,0,198,194,7,0,198,2,8,0,198,66,8,0,5,5,127,12,196,158,156,70,198,130,8,0,198,194,8,0,198,2,9,0,198,66,9,0,198,130,9,0,160,5,38,93,197,130,69,0,197,34,0,0,197,98,0,0,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,197,194,69,0,197,162,1,0,197,226,1,0,197,34,2,0,197,98,2,0,197,162,2,0,197,226,2,0,197,34,3,0,197,98,3,0,197,162,3,0,5,112,0,48,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,5,5,125,12,196,158,5,70,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,5,5,38,93,197,162,6,0,198,194,9,0,197,226,6,0,198,2,10,0,197,34,7,0,198,66,10,0,197,98,7,0,198,130,10,0,197,162,7,0,198,194,10,0,197,226,7,0,198,2,11,0,197,34,8,0,198,66,11,0,197,98,8,0,198,130,11,0,197,162,8,0,192,0,0,0,192,0,0,0,198,194,11,0,197,226,8,0,198,2,12,0,197,34,9,0,198,66,12,0,197,98,9,0,198,130,12,0,197,162,9,0,198,194,12,0,197,226,9,0,198,2,13,0,197,34,10,0,198,66,13,0,197,98,10,0,198,130,13,0,197,162,10,0,198,194,13,0,197,226,10,0,198,2,14,0,197,34,11,0,192,0,0,0,192,0,0,0,198,66,14,0,197,98,11,0,198,130,14,0,197,162,11,0,198,194,14,0,197,226,11,0,198,2,15,0,197,34,12,0,198,66,15,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,15,0,197,98,12,0,198,194,15,0,197,162,12,0,192,0,0,0,198,2,16,0,197,226,12,0,198,66,16,0,197,34,13,0,198,130,16,0,197,98,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,16,0,197,162,13,0,198,2,17,0,197,226,13,0,198,66,17,0,197,34,14,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,17,0,197,98,14,0,198,194,17,0,197,162,14,0,198,2,18,0,197,226,14,0,192,0,0,0,192,0,0,0,198,66,18,0,197,34,15,0,198,130,18,0,197,98,15,0,198,194,18,0,197,162,15,0,198,2,19,0,197,226,15,0,198,66,19,0,197,34,16,0,198,130,19,0,197,98,16,0,198,194,19,0,197,162,16,0,198,2,20,0,197,226,16,0,198,66,20,0,197,34,17,0,192,0,0,0,192,0,0,0,198,130,20,0,197,98,17,0,198,194,20,0,197,162,17,0,198,2,21,0,197,226,17,0,198,66,21,0,197,34,18,0,198,130,21,0,197,98,18,0,198,194,21,0,197,162,18,0,198,2,22,0,197,226,18,0,198,66,22,0,197,34,19,0,198,130,22,0,198,194,22,0,197,98,19,0,198,2,23,0,197,162,19,0,198,66,23,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,23,0,197,34,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,23,0,197,98,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,24,0,197,162,20,0,198,66,24,0,197,226,20,0,198,130,24,0,197,34,21,0,198,194,24,0,197,98,21,0,198,3,25,0,197,163,21,0,198,99,25,0,197,3,22,0,198,195,25,0,197,99,22,0,198,35,26,0,197,195,22,0,192,0,0,0,198,131,26,0,197,35,23,0,198,227,26,0,197,131,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,27,0,197,226,23,0,198,130,27,0,197,34,24,0,198,194,27,0,197,98,24,0,198,3,28,0,197,163,24,0,192,0,0,0,192,0,0,0,197,2,25,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,28,0,197,66,25,0,192,0,0,0,192,0,0,0,198,162,28,0,197,130,25,0,198,227,28,0,197,195,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,29,0,197,34,26,0,198,130,29,0,197,98,26,0,198,194,29,0,197,162,26,0,198,2,30,0,197,226,26,0,198,66,30,0,197,34,27,0,198,130,30,0,197,98,27,0,198,194,30,0,197,162,27,0,198,2,31,0,197,226,27,0,198,66,31,0,197,34,28,0,198,130,31,0,197,98,28,0,198,194,31,0,197,162,28,0,198,2,32,0,197,226,28,0,198,66,32,0,197,34,29,0,198,130,32,0,197,98,29,0,192,0,0,0,192,0,0,0,198,194,32,0,197,162,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,201,198,0,0,198,2,33,0,197,226,29,0,198,67,33,0,197,35,30,0,198,163,33,0,197,131,30,0,198,2,34,0,197,226,30,0,198,67,34,0,197,35,31,0,198,162,34,0,197,130,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,26,5,43,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,34,0,197,194,31,0,198,34,35,0,197,2,32,0,198,98,35,0,197,66,32,0,198,162,35,0,197,130,32,0,198,227,35,0,197,195,32,0,198,66,36,0,197,34,33,0,198,130,36,0,197,98,33,0,198,194,36,0,197,162,33,0,198,2,37,0,197,226,33,0,198,66,37,0,197,34,34,0,198,131,37,0,197,99,34,0,198,227,37,0,197,195,34,0,198,66,38,0,197,34,35,0,198,130,38,0,197,98,35,0,198,195,38,0,197,163,35,0,198,34,39,0,197,2,36,0,198,98,39,0,197,66,36,0,198,162,39,0,197,130,36,0,198,226,39,0,197,194,36,0,198,34,40,0,197,2,37,0,198,98,40,0,197,66,37,0,198,162,40,0,197,130,37,0,198,226,40,0,197,194,37,0,198,35,41,0,197,3,38,0,198,130,41,0,197,98,38,0,198,194,41,0,197,162,38,0,198,2,42,0,197,226,38,0,198,66,42,0,197,34,39,0,198,131,42,0,197,99,39,0,198,226,42,0,197,194,39,0,198,34,43,0,197,2,40,0,198,98,43,0,197,66,40,0,198,162,43,0,197,130,40,0,198,226,43,0,197,194,40,0,198,34,44,0,197,2,41,0,198,98,44,0,197,66,41,0,198,162,44,0,197,130,41,0,198,226,44,0,197,194,41,0,198,35,45,0,197,3,42,0,198,131,45,0,197,99,42,0,198,227,45,0,197,195,42,0,198,67,46,0,197,35,43,0,198,162,46,0,197,130,43,0,198,226,46,0,197,194,43,0,198,34,47,0,197,2,44,0,198,98,47,0,197,66,44,0,198,163,47,0,197,131,44,0,198,2,48,0,197,226,44,0,198,66,48,0,197,34,45,0,198,130,48,0,197,98,45,0,198,195,48,0,197,163,45,0,198,35,49,0,197,3,46,0,198,131,49,0,197,99,46,0,198,226,49,0,197,194,46,0,198,34,50,0,197,2,47,0,198,98,50,0,197,66,47,0,198,162,50,0,197,130,47,0,198,226,50,0,197,194,47,0,198,34,51,0,197,2,48,0,198,98,51,0,197,66,48,0,198,163,51,0,197,131,48,0,198,3,52,0,197,227,48,0,198,98,52,0,197,66,49,0,198,162,52,0,197,130,49,0,198,226,52,0,197,194,49,0,198,34,53,0,197,2,50,0,198,98,53,0,197,66,50,0,198,162,53,0,197,130,50,0,198,226,53,0,197,194,50,0,198,34,54,0,197,2,51,0,198,98,54,0,197,66,51,0,198,162,54,0,197,130,51,0,198,226,54,0,197,194,51,0,198,34,55,0,197,2,52,0,198,98,55,0,197,66,52,0,197,130,52,0,197,194,52,0,197,2,53,0,197,66,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,55,0,197,130,53,0,198,226,55,0,197,194,53,0,198,35,56,0,197,3,54,0,198,131,56,0,197,99,54,0,198,227,56,0,197,195,54,0,198,67,57,0,197,35,55,0,198,163,57,0,197,131,55,0,198,3,58,0,197,227,55,0,198,99,58,0,197,67,56,0,198,195,58,0,197,163,56,0,198,35,59,0,197,3,57,0,198,131,59,0,197,99,57,0,198,226,59,0,197,194,57,0,198,34,60,0,197,2,58,0,198,98,60,0,197,66,58,0,198,163,60,0,197,131,58,0,198,3,61,0,197,227,58,0,198,99,61,0,197,67,59,0,198,195,61,0,197,163,59,0,198,35,62,0,197,3,60,0,198,130,62,0,197,98,60,0,198,194,62,0,197,162,60,0,198,2,63,0,197,226,60,0,198,66,63,0,197,34,61,0,198,131,63,0,197,99,61,0,198,227,63,0,197,195,61,0,198,67,64,0,197,35,62,0,198,163,64,0,197,131,62,0,198,3,65,0,197,227,62,0,198,99,65,0,197,67,63,0,198,195,65,0,197,163,63,0,198,35,66,0,197,3,64,0,198,131,66,0,197,99,64,0,198,227,66,0,197,195,64,0,198,66,67,0,197,34,65,0,198,130,67,0,197,98,65,0,198,195,67,0,197,163,65,0,198,35,68,0,197,3,66,0,198,131,68,0,197,99,66,0,198,227,68,0,197,195,66,0,198,67,69,0,197,35,67,0,198,162,69,0,197,130,67,0,198,226,69,0,197,194,67,0,198,34,70,0,197,2,68,0,198,98,70,0,197,66,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,63,5,43,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,1,0,198,130,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,68,0,197,2,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,133,0,5,0,32,5,43,0,133,0,5,0,33,5,43,0,133,0,5,0,34,5,43,0,133,0,5,0,35,5,43,0,133,0,5,0,36,5,43,0,133,0,5,0,37,5,43,0,133,0,5,0,38,5,43,0,133,0,5,0,39,5,43,0,133,0,5,0,40,5,43,0,133,0,5,0,41,5,43,0,133,0,5,0,42,5,43,0,133,0,5,0,43,5,43,0,133,0,5,0,44,5,43,0,133,0,5,0,45,5,43,0,133,0,5,0,46,5,43,0,133,0,5,0,47,5,43,0,133,0,5,0,48,5,43,0,133,0,5,0,49,5,43,0,133,0,5,0,50,5,43,0,133,0,5,0,51,5,43,0,133,0,5,0,52,5,43,0,133,0,5,0,53,5,43,0,133,0,5,0,54,5,43,0,133,0,5,0,55,5,43,0,133,0,5,0,56,5,43,0,133,0,5,0,57,5,43,0,133,0,5,0,32,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,146,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,162,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,162,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,162,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,41,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,42,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,152,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,146,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,152,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,162,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,150,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,150,0,0,0,0,0,5,0,144,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,150,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,42,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,162,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,162,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,202,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,202,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,154,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,200,0,0,0,0,0,133,0,5,0,33,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,33,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,33,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,160,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,164,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,164,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,208,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,160,0,0,0,0,0,5,0,140,0,0,0,0,0,133,0,5,0,37,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,206,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,208,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,150,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,42,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,42,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,42,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,196,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,44,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,44,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,44,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,154,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,154,0,0,0,0,0,5,0,150,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,164,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,164,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,47,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,47,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,196,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,136,0,0,0,0,0,5,0,156,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,144,0,0,0,0,0,5,0,156,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,196,0,0,0,0,0,5,0,156,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,198,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,208,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,154,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,164,0,0,0,0,0,5,0,150,0,0,0,0,0,133,0,5,0,53,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,53,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,55,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,55,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,154,0,0,0,0,0,0,0,0,193,64,5,43,5,138,0,0,193,64,5,43,5,136,0,0,193,64,5,43,5,142,0,0,193,64,5,43,5,154,0,0,193,64,5,43,5,150,0,0,193,64,5,43,5,146,0,0,193,66,5,43,5,160,0,0,193,68,5,43,5,138,0,0,193,68,5,43,5,136,0,0,193,68,5,43,5,142,0,0,193,68,5,43,5,150,0,0,193,72,5,43,5,138,0,0,193,72,5,43,5,136,0,0,193,72,5,43,5,142,0,0,193,72,5,43,5,150,0,0,193,77,5,43,5,154,0,0,193,78,5,43,5,138,0,0,193,78,5,43,5,136,0,0,193,78,5,43,5,142,0,0,193,78,5,43,5,154,0,0,193,78,5,43,5,150,0,0,193,84,5,43,5,138,0,0,193,84,5,43,5,136,0,0,193,84,5,43,5,142,0,0,193,84,5,43,5,150,0,0,193,88,5,43,5,136,0,0,193,88,5,43,5,150,0,0,193,64,5,43,5,164,0,0,193,64,5,43,5,140,0,0,193,64,5,43,5,162,0,0,193,66,5,43,5,136,0,0,193,66,5,43,5,142,0,0,193,66,5,43,5,156,0,0,193,66,5,43,5,144,0,0,193,67,5,43,5,144,0,0,193,68,5,43,5,164,0,0,193,68,5,43,5,140,0,0,193,68,5,43,5,156,0,0,193,68,5,43,5,162,0,0,193,68,5,43,5,144,0,0,193,70,5,43,5,142,0,0,193,70,5,43,5,140,0,0,193,70,5,43,5,156,0,0,193,70,5,43,5,160,0,0,193,71,5,43,5,142,0,0,193,72,5,43,5,154,0,0,193,72,5,43,5,164,0,0,193,72,5,43,5,140,0,0,193,72,5,43,5,162,0,0,193,73,5,43,5,142,0,0,193,74,5,43,5,160,0,0,193,75,5,43,5,136,0,0,193,75,5,43,5,160,0,0,193,75,5,43,5,144,0,0,193,77,5,43,5,136,0,0,193,77,5,43,5,160,0,0,193,77,5,43,5,144,0,0,193,78,5,43,5,164,0,0,193,78,5,43,5,140,0,0,193,78,5,43,5,152,0,0,193,81,5,43,5,136,0,0,193,81,5,43,5,160,0,0,193,81,5,43,5,144,0,0,193,82,5,43,5,136,0,0,193,82,5,43,5,142,0,0,193,82,5,43,5,160,0,0,193,82,5,43,5,144,0,0,193,83,5,43,5,160,0,0,193,83,5,43,5,144,0,0,193,84,5,43,5,154,0,0,193,84,5,43,5,164,0,0,193,84,5,43,5,140,0,0,193,84,5,43,5,146,0,0,193,84,5,43,5,152,0,0,193,84,5,43,5,162,0,0,193,86,5,43,5,142,0,0,193,88,5,43,5,142,0,0,193,89,5,43,5,136,0,0,193,89,5,43,5,156,0,0,193,89,5,43,5,144,0,0,193,78,5,43,5,190,0,0,193,84,5,43,5,190,0,0,193,64,5,43,5,144,0,0,193,72,5,43,5,144,0,0,193,78,5,43,5,144,0,0,193,84,5,43,5,144,0,0,193,84,5,43,5,150,0,0,5,164,0,0,193,84,5,43,5,150,0,0,5,136,0,0,193,84,5,43,5,150,0,0,5,144,0,0,193,84,5,43,5,150,0,0,5,138,0,0,193,64,5,43,5,150,0,0,5,164,0,0,193,64,5,43,5,156,0,0,5,164,0,0,193,70,5,43,5,144,0,0,193,74,5,43,5,144,0,0,193,78,5,43,5,162,0,0,193,78,5,43,5,162,0,0,5,164,0,0,193,73,5,43,5,144,0,0,193,70,5,43,5,136,0,0,193,77,5,43,5,138,0,0,193,64,5,43,5,146,0,0,5,136,0,0,193,64,5,43,5,184,0,0,193,64,5,43,5,188,0,0,193,68,5,43,5,184,0,0,193,68,5,43,5,188,0,0,193,72,5,43,5,184,0,0,193,72,5,43,5,188,0,0,193,78,5,43,5,184,0,0,193,78,5,43,5,188,0,0,193,81,5,43,5,184,0,0,193,81,5,43,5,188,0,0,193,84,5,43,5,184,0,0,193,84,5,43,5,188,0,0,193,82,5,43,5,202,0,0,193,83,5,43,5,202,0,0,193,71,5,43,5,144,0,0,193,68,5,43,5,160,0,0,193,78,5,43,5,150,0,0,5,164,0,0,193,78,5,43,5,154,0,0,5,164,0,0,193,78,5,43,5,156,0,0,193,78,5,43,5,156,0,0,5,164,0,0,193,88,5,43,5,164,0,0,193,64,5,43,5,200,0,0,193,65,5,43,5,156,0,0,193,65,5,43,5,196,0,0,193,65,5,43,5,210,0,0,193,66,5,43,5,160,0,0,5,136,0,0,193,67,5,43,5,156,0,0,193,67,5,43,5,196,0,0,193,67,5,43,5,210,0,0,193,67,5,43,5,160,0,0,193,67,5,43,5,204,0,0,193,68,5,43,5,164,0,0,5,138,0,0,193,68,5,43,5,164,0,0,5,136,0,0,193,68,5,43,5,204,0,0,193,68,5,43,5,208,0,0,193,68,5,43,5,160,0,0,5,140,0,0,193,69,5,43,5,156,0,0,193,70,5,43,5,164,0,0,193,71,5,43,5,156,0,0,193,71,5,43,5,196,0,0,193,71,5,43,5,150,0,0,193,71,5,43,5,160,0,0,193,71,5,43,5,206,0,0,193,72,5,43,5,208,0,0,193,72,5,43,5,150,0,0,5,136,0,0,193,74,5,43,5,136,0,0,193,74,5,43,5,196,0,0,193,74,5,43,5,210,0,0,193,75,5,43,5,196,0,0,193,75,5,43,5,196,0,0,5,164,0,0,193,75,5,43,5,210,0,0,193,75,5,43,5,204,0,0,193,76,5,43,5,136,0,0,193,76,5,43,5,156,0,0,193,76,5,43,5,196,0,0,193,77,5,43,5,156,0,0,193,77,5,43,5,196,0,0,193,77,5,43,5,210,0,0,193,77,5,43,5,204,0,0,193,78,5,43,5,154,0,0,5,136,0,0,193,78,5,43,5,154,0,0,5,150,0,0,193,78,5,43,5,164,0,0,5,138,0,0,193,78,5,43,5,164,0,0,5,136,0,0,193,79,5,43,5,136,0,0,193,79,5,43,5,156,0,0,193,81,5,43,5,156,0,0,193,81,5,43,5,196,0,0,193,81,5,43,5,196,0,0,5,164,0,0,193,81,5,43,5,210,0,0,193,82,5,43,5,156,0,0,193,82,5,43,5,196,0,0,193,82,5,43,5,136,0,0,5,156,0,0,193,82,5,43,5,144,0,0,5,156,0,0,193,82,5,43,5,196,0,0,5,156,0,0,193,83,5,43,5,156,0,0,193,83,5,43,5,196,0,0,193,83,5,43,5,210,0,0,193,83,5,43,5,204,0,0,193,84,5,43,5,198,0,0,193,84,5,43,5,208,0,0,193,84,5,43,5,204,0,0,193,84,5,43,5,154,0,0,5,136,0,0,193,84,5,43,5,164,0,0,5,150,0,0,193,85,5,43,5,154,0,0,193,85,5,43,5,196,0,0,193,86,5,43,5,138,0,0,193,86,5,43,5,136,0,0,193,86,5,43,5,150,0,0,193,86,5,43,5,156,0,0,193,86,5,43,5,196,0,0,193,87,5,43,5,156,0,0,193,87,5,43,5,150,0,0,193,88,5,43,5,156,0,0,193,89,5,43,5,142,0,0,193,89,5,43,5,196,0,0,193,89,5,43,5,210,0,0,193,71,5,43,5,210,0,0,193,83,5,43,5,150,0,0,193,86,5,43,5,146,0,0,193,88,5,43,5,146,0,0,193,64,5,43,5,196,0,0,193,64,5,43,5,182,0,0,193,64,5,43,5,142,0,0,5,136,0,0,193,64,5,43,5,142,0,0,5,138,0,0,193,64,5,43,5,142,0,0,5,182,0,0,193,64,5,43,5,142,0,0,5,154,0,0,193,64,5,43,5,196,0,0,5,142,0,0,193,64,5,43,5,140,0,0,5,136,0,0,193,64,5,43,5,140,0,0,5,138,0,0,193,64,5,43,5,140,0,0,5,182,0,0,193,64,5,43,5,140,0,0,5,154,0,0,193,64,5,43,5,196,0,0,5,140,0,0,193,68,5,43,5,196,0,0,193,68,5,43,5,182,0,0,193,68,5,43,5,154,0,0,193,68,5,43,5,142,0,0,5,136,0,0,193,68,5,43,5,142,0,0,5,138,0,0,193,68,5,43,5,142,0,0,5,182,0,0,193,68,5,43,5,142,0,0,5,154,0,0,193,68,5,43,5,196,0,0,5,142,0,0,193,72,5,43,5,182,0,0,193,72,5,43,5,196,0,0,193,78,5,43,5,196,0,0,193,78,5,43,5,182,0,0,193,78,5,43,5,142,0,0,5,136,0,0,193,78,5,43,5,142,0,0,5,138,0,0,193,78,5,43,5,142,0,0,5,182,0,0,193,78,5,43,5,142,0,0,5,154,0,0,193,78,5,43,5,196,0,0,5,142,0,0,193,78,5,43,5,190,0,0,5,136,0,0,193,78,5,43,5,190,0,0,5,138,0,0,193,78,5,43,5,190,0,0,5,182,0,0,193,78,5,43,5,190,0,0,5,154,0,0,193,78,5,43,5,190,0,0,5,196,0,0,193,84,5,43,5,196,0,0,193,84,5,43,5,182,0,0,193,84,5,43,5,190,0,0,5,136,0,0,193,84,5,43,5,190,0,0,5,138,0,0,193,84,5,43,5,190,0,0,5,182,0,0,193,84,5,43,5,190,0,0,5,154,0,0,193,84,5,43,5,190,0,0,5,196,0,0,193,88,5,43,5,138,0,0,193,88,5,43,5,196,0,0,193,88,5,43,5,182,0,0,193,88,5,43,5,154,0,0,193,28,5,43,5,158,0,0,193,27,5,43,5,158,0,0,193,29,5,43,5,158,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,193,15,5,43,193,16,5,43,193,17,5,43,193,18,5,43,193,19,5,43,193,20,5,43,193,21,5,43,193,22,5,43,193,23,5,43,193,24,5,43,26,0,198,226,48,0,4,3,26,192,198,227,23,0,197,130,48,0,4,3,23,192,197,131,3,0,69,0,52,0,61,0,71,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,142,15,0,32,1,0,32,0,147,15,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,72,9,0,32,7,0,0,0,21,0,0,0,74,9,0,0,74,9,0,0,3,0,0,0,0,0,0,0,48,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,48,220,38,0,67,0,60,0,9,1,60,0,60,0,60,0,8,1,38,0,71,0,60,0,29,1,60,0,60,0,60,0,28,1,38,0,72,0,60,0,37,1,60,0,60,0,60,0,36,1,38,0,74,0,60,0,53,1,60,0,60,0,60,0,52,1,38,0,83,0,60,0,93,1,60,0,60,0,60,0,92,1,38,0,85,0,60,0,109,1,60,0,60,0,60,0,108,1,0,0,170,170,170,170,170,170,170,170,170,170,170,170,50,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,28,0,0,164,28,0,0,164,28,0,0,164,28,0,0,0,30,0,0,0,30,0,0,10,32,0,0,10,32,0,0,26,36,0,0,50,105,114,84,1,0,64,8,189,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,107,0,115,0,48,0,56,0,120,0,128,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,151,0,48,0,159,0,165,0,48,0,48,0,172,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,144,0,48,0,48,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,172,1,192,0,224,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,9,0,202,193,9,0,202,226,9,0,202,3,10,0,202,36,10,0,202,69,10,0,202,102,10,0,202,135,10,0,202,168,10,0,202,201,10,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,198,0,0,201,134,1,0,156,5,0,58,201,70,2,0,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,6,3,0,156,5,0,80,201,230,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,198,4,0,5,5,0,48,5,5,0,50,5,5,0,52,201,134,5,0,201,70,6,0,5,5,0,58,201,6,7,0,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,198,7,0,5,5,0,80,201,166,8,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,8,0,201,134,9,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,9,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,9,0,201,38,10,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,10,0,201,166,11,0,134,5,2,57,5,5,2,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,61,5,5,2,61,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,201,102,12,0,201,38,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,83,5,5,2,83,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,13,0,201,166,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,15,0,201,38,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,16,0,201,166,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,18,0,201,38,19,0,192,0,0,0,192,0,0,0,201,230,19,0,201,166,20,0,201,102,21,0,201,38,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,22,0,201,166,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,24,0,201,38,25,0,201,230,25,0,201,166,26,0,201,102,27,0,201,38,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,29,0,201,102,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,31,0,201,230,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,134,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,134,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,5,5,2,57,5,210,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,2,3,2,239,134,5,0,54,156,5,48,0,2,3,2,247,134,5,0,56,156,5,48,0,2,3,2,249,134,5,0,60,156,5,48,0,2,3,2,253,134,5,0,78,156,5,48,0,2,3,255,255,2,79,134,5,0,82,156,5,48,0,6,3,255,255,2,83,134,5,0,46,5,5,48,0,2,3,2,239,5,5,0,54,5,5,48,0,2,3,2,247,5,5,0,56,5,5,48,0,2,3,2,249,5,5,0,60,5,5,48,0,2,3,2,253,5,5,0,78,5,5,48,0,2,3,255,255,2,79,5,5,0,82,5,5,48,0,6,3,255,255,2,83,5,5,156,46,196,160,48,0,2,3,197,162,5,46,196,160,48,0,2,3,0,192,197,98,156,54,196,160,48,0,2,3,0,192,197,162,5,54,196,160,48,0,2,3,0,192,197,226,156,78,196,160,48,0,2,3,1,192,197,34,5,78,196,160,48,0,2,3,1,192,197,98,156,82,196,162,48,0,6,3,1,192,197,162,5,82,196,162,48,0,6,3,1,192,197,226,156,82,196,190,48,0,6,3,2,192,197,34,5,82,196,190,48,0,6,3,2,192,197,98,156,78,196,202,48,0,2,3,2,192,197,162,5,78,196,202,48,0,2,3,2,192,197,226,156,56,196,196,48,0,2,3,3,192,197,34,5,56,196,196,48,0,2,3,3,192,197,98,156,56,196,160,48,0,2,3,3,192,197,162,5,56,196,160,48,0,2,3,3,192,197,226,156,56,196,206,48,0,2,3,4,192,197,34,5,56,196,206,48,0,2,3,4,192,197,98,156,78,196,196,48,0,2,3,4,192,197,162,5,78,196,196,48,0,2,3,4,192,197,226,156,82,196,198,48,0,6,3,5,192,197,34,5,82,196,198,48,0,6,3,5,192,197,98,156,82,196,208,48,0,6,3,5,192,197,162,5,82,196,208,48,0,6,3,5,192,197,226,156,82,196,204,48,0,6,3,6,192,197,34,5,82,196,204,48,0,6,3,6,192,197,98,5,56,196,210,48,0,2,3,6,192,197,162,156,82,196,196,48,0,6,3,6,192,197,226,5,82,196,196,48,0,6,3,7,192,197,34,7,0,197,99,48,0,6,3,7,192,197,195,8,0,197,35,48,0,6,3,8,192,197,131,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,28,4,30,4,186,100,32,4,185,116,185,120,185,124,186,128,185,136,185,140,185,144,185,152,34,4,185,164,36,4,185,180,185,184,185,188,185,192,185,196,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,38,4,168,72,168,76,168,80,40,4,42,4,168,100,44,4,168,116,168,120,168,124,168,128,168,136,168,140,168,144,168,152,46,4,168,164,48,4,168,180,168,184,168,188,168,192,168,196,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,50,4,186,77,154,77,250,77,90,78,186,101,154,101,250,101,90,102,217,72,154,130,185,137,153,137,249,137,153,138,89,138,136,14,217,138,185,173,153,173,249,173,89,174,153,193,185,200,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,52,4,168,77,136,77,232,77,72,78,168,101,136,101,232,101,72,102,200,72,136,130,168,137,136,137,232,137,136,138,72,138,128,14,200,138,168,173,136,173,232,173,72,174,136,193,168,200,72,194,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,185,68,168,68,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,185,88,168,88,217,85,200,85,185,86,168,86,54,4,56,4,185,96,168,96,89,95,72,95,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,185,112,168,112,249,118,232,118,168,148,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,129,136,129,250,130,232,130,26,130,8,130,10,8,185,132,168,132,57,139,40,139,217,137,200,137,121,138,104,138,12,8,14,8,153,153,136,153,249,154,232,154,25,154,8,154,154,157,136,157,185,160,168,160,58,4,60,4,26,158,8,158,249,166,232,166,25,166,8,166,185,168,168,168,153,174,136,174,57,175,40,175,185,176,168,176,57,174,40,174,121,174,104,174,62,4,64,4,249,185,232,185,249,193,232,193,89,194,153,197,136,197,185,198,168,198,25,198,8,198,232,156,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,156,169,156,200,56,169,76,187,100,187,108,169,100,169,108,169,204,169,128,217,136,187,76,200,136,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,84,255,5,185,92,255,5,186,108,255,5,186,156,255,5,185,172,255,5,168,64,255,5,168,84,255,5,168,92,255,5,168,108,255,5,168,156,255,5,168,172,255,5,249,66,255,5,232,66,255,5,249,86,255,5,232,86,255,5,250,158,255,5,232,158,255,5,25,175,255,5,8,175,255,1,170,170,3,0,69,0,52,0,61,0,51,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,65,9,0,32,1,0,32,0,70,9,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,6,25,0,32,7,0,0,0,26,0,0,0,8,25,0,0,8,25,0,0,3,0,0,0,0,0,0,0,66,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,116,114,97,100,105,116,105,111,110,97,108,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,38,0,78,0,60,0,110,0,3,3,60,0,60,0,60,0,78,0,3,3,0,0,38,0,78,0,60,0,110,0,3,3,60,0,60,0,60,0,78,0,3,3,38,0,67,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,108,0,60,0,108,0,108,0,60,0,60,0,60,0,76,0,108,0,60,0,60,0,60,0,76,0,76,0,0,0,170,170,170,170,212,35,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,77,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,148,32,0,0,148,32,0,0,148,32,0,0,148,32,0,0,252,34,0,0,252,34,0,0,188,35,0,0,188,35,0,0,188,35,0,0,50,105,114,84,1,0,64,8,252,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,84,0,92,0,98,0,106,0,114,0,122,0,48,0,56,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,146,0,154,0,48,0,48,0,48,0,162,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,170,0,48,0,48,0,178,0,48,0,184,0,192,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,195,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,144,0,48,0,48,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,229,0,48,0,48,0,235,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,80,1,136,1,200,1,192,0,228,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,18,0,202,33,18,0,202,66,18,0,202,99,18,0,202,132,18,0,202,165,18,0,202,198,18,0,202,231,18,0,202,8,19,0,202,41,19,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,198,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,166,1,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,8,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,9,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,9,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,2,0,201,38,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,230,3,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,5,0,5,71,238,102,201,166,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,197,98,1,0,192,0,0,0,192,0,0,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,197,226,2,0,197,35,3,0,197,130,3,0,192,0,0,0,192,0,0,0,197,194,3,0,197,3,4,0,197,98,4,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,0,0,197,226,4,0,5,5,10,121,197,34,5,0,197,98,5,0,5,5,12,121,5,5,16,121,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,5,5,18,121,5,5,20,121,197,66,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,7,0,201,70,8,0,201,6,9,0,201,198,9,0,201,134,10,0,201,70,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,162,0,0,5,5,10,121,5,5,12,121,197,226,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,197,162,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,1,0,5,5,107,121,197,34,2,0,5,5,111,121,197,98,2,0,5,5,115,121,197,162,2,0,5,5,119,121,197,226,2,0,197,35,3,0,197,130,3,0,5,5,127,121,5,5,129,121,197,194,3,0,197,3,4,0,197,98,4,0,5,5,137,121,5,5,139,121,197,162,4,0,5,5,143,121,5,5,6,121,197,162,0,0,197,226,4,0,5,5,10,121,197,34,5,0,197,98,5,0,5,5,12,121,5,5,16,121,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,5,5,18,121,5,5,20,121,197,66,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,68,5,5,48,0,3,3,255,255,2,69,5,5,156,68,196,160,48,0,3,3,197,162,5,68,196,160,48,0,3,3,0,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,68,196,196,48,0,3,3,7,192,197,98,5,68,196,196,48,0,3,3,7,192,197,162,156,68,196,210,48,0,3,3,7,192,197,226,5,68,196,210,48,0,3,3,8,192,197,34,156,68,196,204,48,0,3,3,8,192,197,98,5,68,196,204,48,0,3,3,8,192,197,162,3,0,67,0,50,0,59,0,67,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,186,29,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,24,0,0,212,24,0,0,212,24,0,0,212,24,0,0,88,25,0,0,88,25,0,0,210,25,0,0,210,25,0,0,162,29,0,0,50,105,114,84,1,0,64,8,128,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,2,0,202,1,3,0,202,34,3,0,202,67,3,0,202,100,3,0,202,133,3,0,202,166,3,0,202,199,3,0,202,232,3,0,202,9,4,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,6,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,230,0,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,2,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,2,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,2,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,1,0,201,102,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,3,0,201,230,3,0,201,166,4,0,201,102,5,0,201,38,6,0,201,230,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,68,5,5,48,0,3,3,255,255,2,69,5,5,156,68,196,160,48,0,3,3,197,162,5,68,196,160,48,0,3,3,0,192,197,98,156,68,196,196,48,0,3,3,0,192,197,162,5,68,196,196,48,0,3,3,0,192,197,226,156,68,196,210,48,0,3,3,1,192,197,34,5,68,196,210,48,0,3,3,1,192,197,98,156,68,196,204,48,0,3,3,1,192,197,162,5,68,196,204,48,0,3,3,1,192,197,226,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,26,4,185,124,185,128,185,132,185,140,186,144,185,148,185,156,185,160,185,164,185,168,185,172,185,176,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,28,4,168,124,168,128,168,132,168,140,168,144,168,148,168,156,168,160,168,164,168,168,168,172,168,176,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,185,116,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,157,153,157,249,157,89,158,153,173,185,180,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,168,116,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,157,136,157,232,157,72,158,136,173,168,180,72,174,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,136,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,30,4,32,4,26,114,8,114,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,250,146,232,146,26,146,8,146,249,150,232,150,25,150,8,150,185,152,168,152,153,158,136,158,57,159,40,159,217,157,200,157,57,158,40,158,121,158,104,158,25,159,8,159,249,165,232,165,249,173,232,173,89,174,153,177,136,177,185,178,168,178,25,178,8,178,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,144,169,144,200,56,169,72,187,88,187,96,169,88,169,96,169,184,169,112,217,124,187,72,200,124,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,186,112,255,5,168,112,255,5,250,114,255,5,232,114,255,1,170,170,3,0,67,0,50,0,59,0,63,9,0,16,28,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,14,33,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,24,0,0,212,24,0,0,212,24,0,0,212,24,0,0,196,26,0,0,196,26,0,0,168,28,0,0,206,28,0,0,246,32,0,0,50,105,114,84,1,0,64,8,128,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,14,0,202,97,14,0,202,130,14,0,202,163,14,0,202,196,14,0,202,229,14,0,202,6,15,0,202,39,15,0,202,72,15,0,202,105,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,96,7,0,156,5,0,66,201,198,14,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,160,15,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,160,19,0,5,5,0,66,201,102,23,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,130,13,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,2,14,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,24,0,201,6,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,25,0,201,134,26,0,201,70,27,0,201,6,28,0,201,198,28,0,201,134,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,47,5,142,0,0,70,5,2,47,5,142,0,0,135,5,2,47,5,144,0,0,70,5,2,47,5,144,0,0,135,5,2,47,5,156,0,0,70,5,2,47,5,156,0,0,135,5,2,47,5,196,0,0,70,5,2,47,5,196,0,0,135,5,2,47,5,150,0,0,70,5,2,47,5,150,0,0,135,5,2,47,5,160,0,0,70,5,2,47,5,160,0,0,135,5,2,47,5,206,0,0,70,5,2,47,5,206,0,0,70,5,2,47,5,210,0,0,135,5,2,65,5,136,0,0,70,5,2,65,5,136,0,0,135,5,2,65,5,160,0,0,70,5,2,65,5,160,0,0,135,5,2,65,5,144,0,0,70,5,2,65,5,144,0,0,135,5,2,65,5,196,0,0,70,5,2,65,5,196,0,0,135,5,2,65,5,196,0,0,5,164,0,0,70,5,2,65,5,196,0,0,5,164,0,0,135,5,2,65,5,210,0,0,70,5,2,65,5,210,0,0,135,5,2,65,5,204,0,0,70,5,2,65,5,204,0,0,5,5,2,47,5,142,0,0,5,5,2,47,5,144,0,0,5,5,2,47,5,156,0,0,5,5,2,47,5,196,0,0,5,5,2,47,5,150,0,0,5,5,2,47,5,160,0,0,5,5,2,47,5,206,0,0,5,5,2,47,5,210,0,0,5,5,2,65,5,136,0,0,5,5,2,65,5,160,0,0,5,5,2,65,5,144,0,0,5,5,2,65,5,196,0,0,5,5,2,65,5,196,0,0,5,164,0,0,5,5,2,65,5,210,0,0,5,5,2,65,5,204,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,239,135,5,104,0,2,239,70,5,36,1,197,162,37,1,0,192,197,98,0,64,156,5,15,0,54,30,26,0,58,30,12,0,58,30,6,192,197,162,59,30,6,192,197,226,60,30,7,192,197,34,61,30,7,192,197,98,54,30,5,192,197,98,55,30,5,192,197,162,56,30,5,192,197,227,57,30,6,192,197,67,59,1,12,0,59,1,4,192,197,98,60,1,4,192,197,162,61,1,4,192,197,226,62,1,5,192,197,34,76,0,255,255,2,65,135,5,108,0,255,255,2,65,70,5,57,1,3,192,197,226,58,1,4,192,197,34,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,46,5,5,8,0,37,30,15,0,37,30,8,192,197,98,39,30,8,192,197,162,41,30,8,192,197,226,43,30,9,192,197,34,150,30,9,192,197,98,104,0,2,239,5,5,37,1,7,192,197,162,31,2,7,192,197,226,35,30,8,192,197,34,0,64,5,5,7,0,55,30,12,0,55,30,10,192,197,98,57,30,10,192,197,163,59,30,11,192,197,2,61,30,11,192,197,66,108,0,255,255,2,65,5,5,58,1,9,192,197,162,60,1,9,192,197,226,62,1,10,192,197,34,0,68,5,5,48,0,3,3,255,255,2,69,5,5,156,68,196,160,48,0,3,3,11,192,197,130,5,68,196,160,48,0,3,3,11,192,197,194,156,68,196,196,48,0,3,3,12,192,197,2,5,68,196,196,48,0,3,3,12,192,197,66,156,68,196,210,48,0,3,3,12,192,197,130,5,68,196,210,48,0,3,3,12,192,197,194,156,68,196,204,48,0,3,3,13,192,197,2,5,68,196,204,48,0,3,3,13,192,197,66,18,0,72,0,73,0,104,0,105,0,108,0,109,0,36,1,38,1,57,1,63,1,30,2,32,2,34,30,44,30,54,30,62,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,185,84,185,88,186,92,186,100,185,104,36,4,185,116,54,4,185,132,185,136,185,140,185,148,186,152,185,156,185,164,185,168,185,172,185,176,185,180,185,184,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,56,4,168,72,168,76,168,80,168,84,168,88,168,92,168,100,168,104,62,4,168,116,72,4,168,132,168,136,168,140,168,148,168,152,168,156,168,164,168,168,168,172,168,176,168,180,168,184,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,77,154,77,250,77,90,78,186,93,154,93,250,93,90,94,217,72,185,124,185,133,153,133,249,133,153,134,89,134,136,14,217,134,185,165,153,165,249,165,89,166,153,181,185,188,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,77,136,77,232,77,72,78,168,93,136,93,232,93,72,94,200,72,168,124,168,133,136,133,232,133,136,134,72,134,128,14,200,134,168,165,136,165,232,165,72,166,136,181,168,188,72,182,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,144,153,109,136,109,249,110,232,110,25,110,8,110,121,111,104,111,89,111,72,111,154,121,136,121,74,4,76,4,26,122,8,122,10,8,185,128,168,128,57,135,40,135,217,133,200,133,121,134,104,134,12,8,14,8,153,149,136,149,249,150,232,150,25,150,8,150,154,153,136,153,250,153,232,153,250,154,232,154,26,154,8,154,249,158,232,158,25,158,8,158,185,160,168,160,153,166,136,166,57,167,40,167,217,165,200,165,57,166,40,166,121,166,104,166,25,167,8,167,249,173,232,173,249,181,232,181,89,182,153,185,136,185,185,186,168,186,25,186,8,186,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,152,169,152,200,56,169,76,187,92,187,100,169,92,169,100,169,192,169,120,217,132,187,76,200,132,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,186,68,104,4,177,68,36,5,250,69,37,5,241,69,255,5,185,108,76,4,186,112,108,4,177,112,57,5,154,113,58,5,145,113,59,5,250,114,60,5,241,114,61,5,26,114,62,5,17,114,255,5,186,120,255,5,168,64,104,4,168,68,37,5,232,69,255,5,168,108,108,4,168,112,58,5,136,113,60,5,232,114,62,5,8,114,255,5,168,120,255,5,250,122,255,5,232,122,255,1,170,170,3,0,67,0,50,0,59,0,183,16,0,16,39,0,0,96,1,0,0,96,3,0,43,0,82,0,91,0,57,9,0,32,175,16,0,32,252,24,0,32,1,0,32,0,1,25,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,21,0,0,32,7,0,0,0,13,0,0,0,23,0,0,0,23,0,0,0,1,0,0,0,0,0,0,0,21,0,0,0,99,111,108,108,97,116,105,111,110,115,0,100,101,102,97,117,108,116,0,170,0,0,116,0,114,0,97,0,100,0,105,0,116,0,105,0,111,0,110,0,97,0,108,0,0,0,1,0,43,0,1,0,1,0,32,0,13,0,0,80,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,73,10,0,32,7,0,0,0,21,0,0,0,75,10,0,0,75,10,0,0,3,0,0,0,0,0,0,0,57,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,66,220,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,84,0,60,0,97,1,60,0,60,0,60,0,96,1,60,0,122,0,60,0,60,0,60,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,88,0,60,0,245,0,60,0,60,0,60,0,213,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,252,0,60,0,60,0,60,0,220,0,0,0,170,170,170,170,170,170,170,170,22,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,116,30,0,0,116,30,0,0,116,30,0,0,116,30,0,0,96,33,0,0,96,33,0,0,254,35,0,0,254,35,0,0,254,39,0,0,50,105,114,84,1,0,64,8,218,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,105,0,113,0,118,0,126,0,129,0,137,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,161,0,48,0,166,0,174,0,180,0,188,0,193,0,201,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,153,0,48,0,48,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,164,1,216,1,4,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,22,0,202,65,22,0,202,98,22,0,202,131,22,0,202,164,22,0,202,197,22,0,202,230,22,0,202,7,23,0,202,40,23,0,202,73,23,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,230,0,0,156,5,0,72,160,5,0,74,156,5,0,76,201,70,2,0,156,5,0,80,201,38,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,70,4,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,38,5,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,6,6,0,5,5,0,72,5,5,0,74,5,5,0,76,201,102,7,0,5,5,0,80,201,70,8,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,134,9,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,134,5,14,87,196,146,156,42,197,98,21,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,134,5,13,87,134,5,15,87,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,16,87,196,136,156,90,160,5,38,93,197,162,21,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,5,5,14,87,196,146,5,42,197,226,21,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,5,5,13,87,5,5,15,87,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,16,87,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,10,0,201,38,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,11,0,201,166,12,0,134,5,35,79,5,5,35,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,13,0,201,38,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,197,98,2,0,197,162,2,0,197,226,2,0,134,5,37,79,5,5,37,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,14,0,201,6,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,17,0,201,230,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,197,226,4,0,197,34,0,0,197,98,0,0,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,192,0,0,0,197,34,6,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,18,0,201,198,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,20,0,201,166,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,8,0,197,98,8,0,197,162,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,22,0,201,38,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,23,0,201,166,24,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,25,0,201,38,26,0,201,230,26,0,201,166,27,0,201,102,28,0,201,38,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,13,0,197,98,13,0,201,230,29,0,201,166,30,0,201,102,31,0,201,38,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,32,0,201,166,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,34,0,201,134,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,3,0,197,162,3,0,201,166,36,0,201,198,37,0,201,230,38,0,201,166,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,40,0,201,38,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,16,87,5,136,0,0,5,5,16,87,5,136,0,0,134,5,14,87,5,162,0,0,5,5,14,87,5,162,0,0,134,5,35,79,5,160,0,0,5,5,35,79,5,160,0,0,134,5,16,87,5,162,0,0,5,5,16,87,5,162,0,0,134,5,36,79,5,136,0,0,5,5,36,79,5,136,0,0,134,5,36,79,5,156,0,0,5,5,36,79,5,156,0,0,134,5,13,87,5,190,0,0,134,5,15,87,5,190,0,0,5,5,13,87,5,190,0,0,5,5,15,87,5,190,0,0,134,5,16,87,5,190,0,0,5,5,16,87,5,190,0,0,134,5,16,87,5,164,0,0,5,5,16,87,5,164,0,0,134,5,16,87,5,144,0,0,5,5,16,87,5,144,0,0,134,5,16,87,5,138,0,0,5,5,16,87,5,138,0,0,134,5,14,87,5,164,0,0,5,5,14,87,5,164,0,0,134,5,13,87,5,162,0,0,134,5,15,87,5,162,0,0,5,5,13,87,5,162,0,0,5,5,15,87,5,162,0,0,134,5,35,79,5,202,0,0,5,5,35,79,5,202,0,0,134,5,15,87,5,164,0,0,5,5,15,87,5,164,0,0,134,5,13,87,5,164,0,0,5,5,13,87,5,164,0,0,134,5,14,87,5,200,0,0,5,5,14,87,5,200,0,0,134,5,13,87,5,136,0,0,5,5,13,87,5,136,0,0,134,5,13,87,5,150,0,0,5,5,13,87,5,150,0,0,134,5,35,79,5,196,0,0,5,5,35,79,5,196,0,0,134,5,35,79,5,156,0,0,5,5,35,79,5,156,0,0,134,5,16,87,5,198,0,0,5,5,16,87,5,198,0,0,134,5,16,87,5,208,0,0,5,5,16,87,5,208,0,0,134,5,16,87,5,204,0,0,5,5,16,87,5,204,0,0,134,5,36,79,5,142,0,0,5,5,36,79,5,142,0,0,134,5,36,79,5,196,0,0,134,5,37,79,5,196,0,0,5,5,36,79,5,196,0,0,5,5,37,79,5,196,0,0,134,5,36,79,5,210,0,0,134,5,37,79,5,210,0,0,5,5,36,79,5,210,0,0,5,5,37,79,5,210,0,0,134,5,14,87,5,196,0,0,5,5,14,87,5,196,0,0,134,5,13,87,5,196,0,0,134,5,15,87,5,196,0,0,5,5,13,87,5,196,0,0,5,5,15,87,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,13,87,5,190,0,0,5,196,0,0,134,5,15,87,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,13,87,5,190,0,0,5,196,0,0,5,5,15,87,5,190,0,0,5,196,0,0,134,5,16,87,5,196,0,0,5,5,16,87,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,16,87,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,16,87,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,8,3,255,255,14,87,134,5,0,70,156,5,1,0,3,3,255,255,13,87,134,5,8,3,255,255,15,87,134,5,0,78,156,5,48,0,12,3,255,255,35,79,134,5,0,82,156,5,1,0,8,3,255,255,16,87,134,5,68,3,197,162,36,79,134,5,48,0,12,3,255,255,37,79,134,5,0,42,5,5,48,0,8,3,255,255,14,87,5,5,0,70,5,5,1,0,3,3,255,255,13,87,5,5,8,3,255,255,15,87,5,5,0,78,5,5,48,0,12,3,255,255,35,79,5,5,0,82,5,5,1,0,8,3,255,255,16,87,5,5,68,3,0,192,197,98,36,79,5,5,48,0,12,3,255,255,37,79,5,5,156,42,196,162,48,0,8,3,0,192,197,162,5,42,196,162,48,0,8,3,0,192,197,226,156,78,196,160,48,0,12,3,1,192,197,34,5,78,196,160,48,0,12,3,1,192,197,98,156,82,196,162,48,0,8,3,1,192,197,162,5,82,196,162,48,0,8,3,1,192,197,226,156,70,196,190,1,0,3,3,3,192,197,34,8,3,3,192,197,98,5,70,196,190,1,0,3,3,3,192,197,162,8,3,3,192,197,226,156,82,196,190,48,0,8,3,4,192,197,34,5,82,196,190,48,0,8,3,4,192,197,98,156,70,196,162,1,0,3,3,6,192,197,162,8,3,6,192,197,226,5,70,196,162,1,0,3,3,7,192,197,34,8,3,7,192,197,98,156,78,196,202,48,0,12,3,7,192,197,162,5,78,196,202,48,0,12,3,7,192,197,226,156,42,196,200,48,0,8,3,9,192,197,34,5,42,196,200,48,0,8,3,9,192,197,98,156,78,196,196,48,0,12,3,10,192,197,162,5,78,196,196,48,0,12,3,10,192,197,226,156,82,196,198,48,0,8,3,11,192,197,162,5,82,196,198,48,0,8,3,11,192,197,226,156,82,196,208,48,0,8,3,12,192,197,34,5,82,196,208,48,0,8,3,12,192,197,98,156,82,196,204,48,0,8,3,12,192,197,162,5,82,196,204,48,0,8,3,12,192,197,226,13,0,197,162,48,0,12,3,13,192,197,226,14,0,197,34,48,0,12,3,14,192,197,98,14,0,197,162,48,0,12,3,14,192,197,226,15,0,197,34,48,0,12,3,15,192,197,98,156,42,196,196,48,0,8,3,15,192,197,162,5,42,196,196,48,0,8,3,15,192,197,226,156,70,196,196,1,0,3,3,16,192,197,34,8,3,16,192,197,98,5,70,196,196,1,0,3,3,16,192,197,162,8,3,16,192,197,226,17,0,197,35,1,0,3,3,17,192,197,131,8,3,17,192,197,227,18,0,197,67,1,0,3,3,18,192,197,163,8,3,19,192,197,3,156,82,196,196,48,0,8,3,19,192,197,98,5,82,196,196,48,0,8,3,19,192,197,162,19,0,197,227,48,0,8,3,20,192,197,67,20,0,197,163,48,0,8,3,21,192,197,3,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,28,4,185,124,185,128,185,136,30,4,185,156,32,4,185,168,185,172,185,192,185,196,34,4,88,13,168,13,96,13,56,14,80,12,40,14,36,4,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,38,4,168,124,168,128,168,136,40,4,168,156,42,4,168,168,168,172,168,192,168,196,44,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,185,180,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,185,176,185,184,136,14,217,122,185,165,153,165,249,165,185,188,153,197,185,200,2,8,168,57,136,57,232,57,136,58,168,180,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,168,176,168,184,128,14,200,122,168,165,136,165,232,165,168,188,136,197,168,200,72,198,57,59,40,59,217,57,200,57,46,4,48,4,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,50,4,52,4,185,144,168,144,249,158,232,158,25,158,8,158,185,160,168,160,153,166,136,166,57,167,40,167,217,165,200,165,57,166,40,166,121,166,104,166,54,4,56,4,249,173,232,173,249,197,232,197,89,198,153,149,136,149,185,150,168,150,185,152,168,152,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,204,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,120,255,5,186,140,255,5,185,164,255,5,185,148,255,5,168,56,255,5,168,120,255,5,168,140,255,5,168,164,255,5,168,148,255,5,25,59,255,5,8,59,255,5,250,142,255,5,232,142,255,5,25,167,255,5,8,167,255,1,170,170,3,0,69,0,52,0,61,0,59,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,66,10,0,32,1,0,32,0,71,10,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,185,7,0,32,7,0,0,0,21,0,0,0,187,7,0,0,187,7,0,0,3,0,0,0,0,0,0,0,96,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,143,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,78,6,60,0,60,0,80,6,60,0,60,0,79,6,60,0,60,0,75,6,60,0,60,0,77,6,60,0,60,0,76,6,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,39,6,60,0,34,6,38,0,39,6,60,0,60,0,113,6,60,0,33,6,60,0,60,0,35,6,60,0,60,0,114,6,60,0,60,0,37,6,60,0,60,0,115,6,60,0,60,0,36,6,60,0,60,0,204,6,84,6,60,0,60,0,60,0,73,6,84,6,60,0,60,0,60,0,38,6,38,0,169,6,60,0,60,0,42,0,170,6,171,6,67,6,172,6,173,6,174,6,38,0,207,6,60,0,71,6,60,0,60,0,213,6,60,0,60,0,193,6,60,0,60,0,41,6,60,0,60,0,195,6,60,0,60,0,192,6,60,0,60,0,190,6,38,0,204,6,60,0,60,0,42,0,73,6,210,6,74,6,208,6,209,6,205,6,206,6,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,54,29,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,48,28,0,0,48,28,0,0,112,28,0,0,112,28,0,0,188,28,0,0,188,28,0,0,30,29,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,166,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,96,0,104,0,109,0,117,0,125,0,133,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,149,0,48,0,48,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,128,1,180,1,244,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,102,5,5,25,102,5,70,27,102,5,74,27,102,5,72,27,102,7,75,27,102,201,6,0,0,192,0,0,0,198,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,72,184,102,192,0,0,0,192,0,0,0,192,0,0,0,193,24,234,102,201,230,1,0,201,198,2,0,201,166,3,0,194,5,210,230,194,5,212,230,194,5,211,230,192,0,0,0,194,5,209,230,194,5,208,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,27,102,5,73,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,184,102,5,71,184,102,5,73,184,102,5,74,184,102,5,75,184,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,198,65,0,0,198,97,0,0,198,130,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,4,0,5,75,240,102,5,76,240,102,192,0,0,0,5,73,240,102,5,74,240,102,5,71,240,102,197,34,0,0,192,0,0,0,201,102,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,72,0,24,234,102,0,5,0,75,0,24,234,102,0,5,0,74,0,24,234,102,0,5,0,71,0,24,234,102,0,5,0,71,0,24,234,102,0,5,128,232,0,0,0,0,0,5,0,73,0,24,234,102,0,5,0,70,0,24,234,102,0,0,0,0,5,71,240,102,194,5,128,232,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,26,102,5,5,2,0,83,6,255,255,25,102,5,5,84,6,255,255,27,102,5,70,85,6,255,255,27,102,5,72,222,102,5,5,48,0,84,6,255,255,27,102,5,74,240,102,5,70,48,0,84,6,255,255,27,102,6,75,240,102,5,72,48,0,84,6,255,255,27,102,7,75,240,102,5,5,48,0,84,6,255,255,27,102,5,75,0,0,198,225,48,0,84,6,0,192,198,65,170,170,3,0,69,0,52,0,61,0,99,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,178,7,0,32,1,0,32,0,183,7,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,128,8,0,32,7,0,0,0,21,0,0,0,130,8,0,0,130,8,0,0,3,0,0,0,0,0,0,0,29,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,112,0,115,0,93,0,0,0,170,170,170,170,170,170,170,170,100,33,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,72,0,0,0,72,1,0,0,184,28,0,0,184,28,0,0,184,28,0,0,184,28,0,0,12,29,0,0,12,29,0,0,140,29,0,0,140,29,0,0,76,33,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,174,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,96,0,104,0,112,0,120,0,128,0,136,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,157,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,152,0,48,0,48,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,128,1,192,1,0,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,102,5,5,25,102,5,70,26,102,5,70,222,102,5,73,26,102,7,75,240,102,201,6,0,0,192,0,0,0,5,73,214,102,192,0,0,0,192,0,0,0,192,0,0,0,201,230,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,71,184,102,192,0,0,0,192,0,0,0,192,0,0,0,201,198,2,0,201,166,3,0,201,134,4,0,201,102,5,0,194,5,210,230,194,5,212,230,194,5,211,230,192,0,0,0,194,5,209,230,194,5,208,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,72,26,102,5,71,26,102,5,74,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,43,102,192,0,0,0,192,0,0,0,5,5,43,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,102,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,102,192,0,0,0,192,0,0,0,5,70,85,102,5,5,85,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,111,102,192,0,0,0,5,5,111,102,192,0,0,0,192,0,0,0,5,5,129,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,184,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,188,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,210,102,192,0,0,0,192,0,0,0,5,72,214,102,192,0,0,0,6,5,214,102,5,71,214,102,197,34,0,0,5,74,214,102,192,0,0,0,192,0,0,0,192,0,0,0,5,71,222,102,192,0,0,0,5,72,222,102,192,0,0,0,192,0,0,0,201,70,6,0,5,74,240,102,192,0,0,0,192,0,0,0,5,73,240,102,192,0,0,0,5,71,240,102,197,98,0,0,192,0,0,0,201,38,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,4,5,71,0,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,71,214,102,194,5,128,232,5,71,240,102,194,5,128,232,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,26,102,5,5,2,0,83,6,255,255,25,102,5,5,84,6,255,255,26,102,5,70,85,6,255,255,26,102,5,73,72,102,5,5,48,0,84,6,255,255,59,102,5,70,214,102,5,5,48,0,84,6,255,255,214,102,7,5,222,102,5,5,48,0,84,6,255,255,222,102,5,70,240,102,5,70,48,0,84,6,255,255,240,102,6,75,240,102,5,72,48,0,84,6,255,255,240,102,7,75,240,102,5,5,48,0,84,6,255,255,240,102,5,75,214,102,5,70,48,0,84,6,255,255,214,102,6,5,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,176,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,176,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,1,0,1,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,121,8,0,32,1,0,32,0,126,8,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,27,11,0,32,7,0,0,0,24,0,0,0,31,11,0,0,31,11,0,0,3,0,0,0,0,0,0,0,134,2,0,0,37,37,80,97,114,101,110,116,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,170,170,170,0,0,52,0,50,0,0,0,114,0,111,0,111,0,116,0,0,0,239,223,208,4,38,0,58,216,0,221,60,0,58,216,0,221,58,216,68,221,38,0,58,216,0,221,58,216,68,221,61,0,58,216,0,221,58,216,0,221,38,0,58,216,34,221,60,0,58,216,34,221,58,216,68,221,38,0,58,216,34,221,58,216,68,221,61,0,58,216,34,221,58,216,34,221,38,0,58,216,1,221,60,0,58,216,1,221,58,216,70,221,38,0,58,216,1,221,58,216,70,221,61,0,58,216,1,221,58,216,1,221,38,0,58,216,35,221,60,0,58,216,35,221,58,216,70,221,38,0,58,216,35,221,58,216,70,221,61,0,58,216,35,221,58,216,35,221,38,0,58,216,2,221,60,0,58,216,2,221,58,216,70,221,38,0,58,216,2,221,58,216,70,221,61,0,58,216,2,221,58,216,2,221,38,0,58,216,36,221,60,0,58,216,36,221,58,216,70,221,38,0,58,216,36,221,58,216,70,221,61,0,58,216,36,221,58,216,36,221,38,0,58,216,3,221,60,0,58,216,3,221,58,216,70,221,38,0,58,216,3,221,58,216,70,221,61,0,58,216,3,221,58,216,3,221,38,0,58,216,37,221,60,0,58,216,37,221,58,216,70,221,38,0,58,216,37,221,58,216,70,221,61,0,58,216,37,221,58,216,37,221,38,0,58,216,4,221,60,0,58,216,4,221,58,216,70,221,38,0,58,216,4,221,58,216,70,221,61,0,58,216,4,221,58,216,4,221,38,0,58,216,38,221,60,0,58,216,38,221,58,216,70,221,38,0,58,216,38,221,58,216,70,221,61,0,58,216,38,221,58,216,38,221,38,0,58,216,5,221,60,0,58,216,5,221,58,216,70,221,38,0,58,216,5,221,58,216,70,221,61,0,58,216,5,221,58,216,5,221,38,0,58,216,39,221,60,0,58,216,39,221,58,216,70,221,38,0,58,216,39,221,58,216,70,221,61,0,58,216,39,221,58,216,39,221,38,0,58,216,6,221,60,0,58,216,6,221,58,216,70,221,38,0,58,216,6,221,58,216,70,221,61,0,58,216,6,221,58,216,6,221,38,0,58,216,40,221,60,0,58,216,40,221,58,216,70,221,38,0,58,216,40,221,58,216,70,221,61,0,58,216,40,221,58,216,40,221,38,0,58,216,7,221,60,0,58,216,7,221,58,216,70,221,38,0,58,216,7,221,58,216,70,221,61,0,58,216,7,221,58,216,7,221,38,0,58,216,41,221,60,0,58,216,41,221,58,216,70,221,38,0,58,216,41,221,58,216,70,221,61,0,58,216,41,221,58,216,41,221,38,0,58,216,8,221,60,0,58,216,8,221,58,216,70,221,38,0,58,216,8,221,58,216,70,221,61,0,58,216,8,221,58,216,8,221,38,0,58,216,42,221,60,0,58,216,42,221,58,216,70,221,38,0,58,216,42,221,58,216,70,221,61,0,58,216,42,221,58,216,42,221,38,0,58,216,10,221,60,0,58,216,10,221,58,216,70,221,38,0,58,216,10,221,58,216,70,221,61,0,58,216,10,221,58,216,10,221,38,0,58,216,44,221,60,0,58,216,44,221,58,216,70,221,38,0,58,216,44,221,58,216,70,221,61,0,58,216,44,221,58,216,44,221,38,0,58,216,13,221,60,0,58,216,13,221,58,216,70,221,38,0,58,216,13,221,58,216,70,221,61,0,58,216,13,221,58,216,13,221,38,0,58,216,47,221,60,0,58,216,47,221,58,216,70,221,38,0,58,216,47,221,58,216,70,221,61,0,58,216,47,221,58,216,47,221,38,0,58,216,14,221,60,0,58,216,14,221,58,216,70,221,38,0,58,216,14,221,58,216,70,221,61,0,58,216,14,221,58,216,14,221,38,0,58,216,48,221,60,0,58,216,48,221,58,216,70,221,38,0,58,216,48,221,58,216,70,221,61,0,58,216,48,221,58,216,48,221,38,0,58,216,15,221,60,0,58,216,15,221,58,216,70,221,38,0,58,216,15,221,58,216,70,221,61,0,58,216,15,221,58,216,15,221,38,0,58,216,49,221,60,0,58,216,49,221,58,216,70,221,38,0,58,216,49,221,58,216,70,221,61,0,58,216,49,221,58,216,49,221,38,0,58,216,16,221,60,0,58,216,16,221,58,216,70,221,38,0,58,216,16,221,58,216,70,221,61,0,58,216,16,221,58,216,16,221,38,0,58,216,50,221,60,0,58,216,50,221,58,216,70,221,38,0,58,216,50,221,58,216,70,221,61,0,58,216,50,221,58,216,50,221,38,0,58,216,17,221,60,0,58,216,17,221,58,216,70,221,38,0,58,216,17,221,58,216,70,221,61,0,58,216,17,221,58,216,17,221,38,0,58,216,51,221,60,0,58,216,51,221,58,216,70,221,38,0,58,216,51,221,58,216,70,221,61,0,58,216,51,221,58,216,51,221,38,0,58,216,18,221,60,0,58,216,18,221,58,216,70,221,38,0,58,216,18,221,58,216,70,221,61,0,58,216,18,221,58,216,18,221,38,0,58,216,52,221,60,0,58,216,52,221,58,216,70,221,38,0,58,216,52,221,58,216,70,221,61,0,58,216,52,221,58,216,52,221,38,0,58,216,20,221,60,0,58,216,20,221,58,216,70,221,38,0,58,216,20,221,58,216,70,221,61,0,58,216,20,221,58,216,20,221,38,0,58,216,54,221,60,0,58,216,54,221,58,216,70,221,38,0,58,216,54,221,58,216,70,221,61,0,58,216,54,221,58,216,54,221,38,0,58,216,21,221,60,0,58,216,21,221,58,216,70,221,38,0,58,216,21,221,58,216,70,221,61,0,58,216,21,221,58,216,21,221,38,0,58,216,55,221,60,0,58,216,55,221,58,216,70,221,38,0,58,216,55,221,58,216,70,221,61,0,58,216,55,221,58,216,55,221,38,0,58,216,22,221,60,0,58,216,22,221,58,216,70,221,38,0,58,216,22,221,58,216,70,221,61,0,58,216,22,221,58,216,22,221,38,0,58,216,56,221,60,0,58,216,56,221,58,216,70,221,38,0,58,216,56,221,58,216,70,221,61,0,58,216,56,221,58,216,56,221,38,0,58,216,23,221,60,0,58,216,23,221,58,216,70,221,38,0,58,216,23,221,58,216,70,221,61,0,58,216,23,221,58,216,23,221,38,0,58,216,57,221,60,0,58,216,57,221,58,216,70,221,38,0,58,216,57,221,58,216,70,221,61,0,58,216,57,221,58,216,57,221,38,0,58,216,24,221,60,0,58,216,24,221,58,216,70,221,38,0,58,216,24,221,58,216,70,221,61,0,58,216,24,221,58,216,24,221,38,0,58,216,58,221,60,0,58,216,58,221,58,216,70,221,38,0,58,216,58,221,58,216,70,221,61,0,58,216,58,221,58,216,58,221,38,0,58,216,25,221,60,0,58,216,25,221,58,216,70,221,38,0,58,216,25,221,58,216,70,221,61,0,58,216,25,221,58,216,25,221,38,0,58,216,59,221,60,0,58,216,59,221,58,216,70,221,38,0,58,216,59,221,58,216,70,221,61,0,58,216,59,221,58,216,59,221,38,0,58,216,26,221,60,0,58,216,26,221,58,216,70,221,38,0,58,216,26,221,58,216,70,221,61,0,58,216,26,221,58,216,26,221,38,0,58,216,60,221,60,0,58,216,60,221,58,216,70,221,38,0,58,216,60,221,58,216,70,221,61,0,58,216,60,221,58,216,60,221,38,0,58,216,27,221,60,0,58,216,27,221,58,216,70,221,38,0,58,216,27,221,58,216,70,221,61,0,58,216,27,221,58,216,27,221,38,0,58,216,61,221,60,0,58,216,61,221,58,216,70,221,38,0,58,216,61,221,58,216,70,221,61,0,58,216,61,221,58,216,61,221,38,0,58,216,28,221,60,0,58,216,28,221,58,216,70,221,38,0,58,216,28,221,58,216,70,221,61,0,58,216,28,221,58,216,28,221,38,0,58,216,62,221,60,0,58,216,62,221,58,216,70,221,38,0,58,216,62,221,58,216,70,221,61,0,58,216,62,221,58,216,62,221,38,0,58,216,29,221,60,0,58,216,29,221,58,216,70,221,38,0,58,216,29,221,58,216,70,221,61,0,58,216,29,221,58,216,29,221,38,0,58,216,63,221,60,0,58,216,63,221,58,216,70,221,38,0,58,216,63,221,58,216,70,221,61,0,58,216,63,221,58,216,63,221,38,0,58,216,30,221,60,0,58,216,30,221,58,216,70,221,38,0,58,216,30,221,58,216,70,221,61,0,58,216,30,221,58,216,30,221,38,0,58,216,64,221,60,0,58,216,64,221,58,216,70,221,38,0,58,216,64,221,58,216,70,221,61,0,58,216,64,221,58,216,64,221,38,0,58,216,31,221,60,0,58,216,31,221,58,216,70,221,38,0,58,216,31,221,58,216,70,221,61,0,58,216,31,221,58,216,31,221,38,0,58,216,65,221,60,0,58,216,65,221,58,216,70,221,38,0,58,216,65,221,58,216,70,221,61,0,58,216,65,221,58,216,65,221,38,0,58,216,32,221,60,0,58,216,32,221,58,216,70,221,38,0,58,216,32,221,58,216,70,221,61,0,58,216,32,221,58,216,32,221,38,0,58,216,66,221,60,0,58,216,66,221,58,216,70,221,38,0,58,216,66,221,58,216,70,221,61,0,58,216,66,221,58,216,66,221,38,0,58,216,33,221,60,0,58,216,33,221,58,216,70,221,38,0,58,216,33,221,58,216,70,221,61,0,58,216,33,221,58,216,33,221,38,0,58,216,67,221,60,0,58,216,67,221,58,216,70,221,38,0,58,216,67,221,58,216,70,221,61,0,58,216,67,221,58,216,67,221,38,0,58,216,9,221,60,0,58,216,9,221,58,216,69,221,38,0,58,216,9,221,58,216,69,221,60,0,60,0,58,216,9,221,58,216,9,221,38,0,58,216,43,221,60,0,58,216,43,221,58,216,69,221,38,0,58,216,43,221,58,216,69,221,60,0,60,0,58,216,43,221,58,216,43,221,38,0,58,216,11,221,60,0,58,216,11,221,58,216,69,221,38,0,58,216,11,221,58,216,69,221,60,0,60,0,58,216,11,221,58,216,11,221,38,0,58,216,45,221,60,0,58,216,45,221,58,216,69,221,38,0,58,216,45,221,58,216,69,221,60,0,60,0,58,216,45,221,58,216,45,221,38,0,58,216,12,221,60,0,58,216,12,221,58,216,69,221,38,0,58,216,12,221,58,216,69,221,60,0,60,0,58,216,12,221,58,216,12,221,38,0,58,216,46,221,60,0,58,216,46,221,58,216,69,221,38,0,58,216,46,221,58,216,69,221,60,0,60,0,58,216,46,221,58,216,46,221,38,0,58,216,19,221,60,0,58,216,19,221,58,216,69,221,38,0,58,216,19,221,58,216,69,221,60,0,60,0,58,216,19,221,58,216,19,221,38,0,58,216,53,221,60,0,58,216,53,221,58,216,69,221,38,0,58,216,53,221,58,216,69,221,60,0,60,0,58,216,53,221,58,216,53,221,0,0,170,170,170,170,48,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,64,0,0,0,64,0,0,0,32,26,0,0,32,26,0,0,112,27,0,0,112,27,0,0,180,27,0,0,180,27,0,0,4,34,0,0,24,34,0,0,50,105,114,84,1,0,160,8,137,0,64,0,192,0,62,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,88,0,48,0,48,0,80,0,128,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,94,8,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,112,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,255,255,255,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,4,0,0,201,36,1,0,201,68,2,0,201,164,3,0,201,4,5,0,201,100,6,0,201,196,7,0,201,36,9,0,201,132,10,0,201,228,11,0,201,68,13,0,201,164,14,0,201,4,16,0,201,100,17,0,201,196,18,0,201,36,20,0,201,132,21,0,201,228,22,0,201,68,24,0,201,164,25,0,201,4,27,0,201,100,28,0,201,196,29,0,201,36,31,0,201,132,32,0,201,228,33,0,201,68,35,0,201,164,36,0,201,4,38,0,201,100,39,0,201,196,40,0,201,36,42,0,201,132,43,0,201,228,44,0,201,68,46,0,201,228,47,0,201,132,49,0,201,36,51,0,201,196,52,0,201,100,54,0,201,4,56,0,201,164,57,0,201,68,59,0,201,228,60,0,201,100,62,0,201,4,64,0,201,132,65,0,201,4,67,0,201,164,68,0,201,68,70,0,201,228,71,0,201,132,73,0,201,36,75,0,201,196,76,0,201,68,78,0,201,228,79,0,201,132,81,0,201,36,83,0,201,196,84,0,201,100,86,0,201,4,88,0,201,164,89,0,201,68,91,0,201,228,92,0,201,132,94,0,201,36,96,0,201,196,97,0,201,100,99,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,133,0,5,0,3,170,120,0,133,0,5,0,3,172,120,0,133,0,5,0,3,174,120,0,133,0,5,0,3,176,120,0,133,0,5,0,3,178,120,0,133,0,5,0,3,180,120,0,133,0,5,0,3,182,120,0,133,0,5,0,3,184,120,0,133,0,5,0,3,186,120,0,133,0,70,0,3,188,120,0,133,0,5,0,3,188,120,0,133,0,5,0,3,190,120,0,133,0,70,0,3,192,120,0,133,0,5,0,3,192,120,0,133,0,70,0,3,194,120,0,133,0,5,0,3,194,120,0,133,0,5,0,3,196,120,0,133,0,5,0,3,198,120,0,133,0,5,0,3,200,120,0,133,0,5,0,3,202,120,0,133,0,5,0,3,204,120,0,133,0,5,0,3,206,120,0,133,0,70,0,3,208,120,0,133,0,5,0,3,208,120,0,133,0,5,0,3,210,120,0,133,0,5,0,3,212,120,0,133,0,5,0,3,214,120,0,133,0,5,0,3,216,120,0,133,0,5,0,3,218,120,0,133,0,5,0,3,220,120,0,133,0,5,0,3,222,120,0,133,0,5,0,3,224,120,0,133,0,5,0,3,226,120,0,133,0,5,0,3,228,120,0,133,0,5,0,3,230,120,0,133,0,5,0,3,232,120,0,133,0,5,0,3,234,120,0,133,0,5,0,3,236,120,0,5,0,70,0,2,188,120,0,5,0,70,0,2,192,120,0,5,0,70,0,2,194,120,0,5,0,70,0,2,208,120,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,169,120,160,5,48,0,58,216,1,0,0,221,198,129,68,221,198,129,171,120,160,5,48,0,58,216,1,0,1,221,198,161,70,221,198,161,173,120,160,5,48,0,58,216,1,0,2,221,0,192,198,65,70,221,0,192,198,65,175,120,160,5,48,0,58,216,1,0,3,221,0,192,198,97,70,221,0,192,198,97,177,120,160,5,48,0,58,216,1,0,4,221,0,192,198,129,70,221,0,192,198,129,179,120,160,5,48,0,58,216,1,0,5,221,0,192,198,161,70,221,0,192,198,161,181,120,160,5,48,0,58,216,1,0,6,221,0,192,198,193,70,221,0,192,198,193,183,120,160,5,48,0,58,216,1,0,7,221,0,192,198,225,70,221,0,192,198,225,185,120,160,5,48,0,58,216,1,0,8,221,1,192,198,1,70,221,1,192,198,1,187,120,160,5,48,0,58,216,1,0,9,221,1,192,198,33,69,221,1,192,198,65,189,120,160,5,48,0,58,216,1,0,10,221,1,192,198,97,70,221,1,192,198,97,191,120,160,5,48,0,58,216,1,0,11,221,1,192,198,129,69,221,1,192,198,161,193,120,160,5,48,0,58,216,1,0,12,221,1,192,198,193,69,221,1,192,198,225,195,120,160,5,48,0,58,216,1,0,13,221,2,192,198,1,70,221,2,192,198,1,197,120,160,5,48,0,58,216,1,0,14,221,2,192,198,33,70,221,2,192,198,33,199,120,160,5,48,0,58,216,1,0,15,221,2,192,198,65,70,221,2,192,198,65,201,120,160,5,48,0,58,216,1,0,16,221,2,192,198,97,70,221,2,192,198,97,203,120,160,5,48,0,58,216,1,0,17,221,2,192,198,129,70,221,2,192,198,129,205,120,160,5,48,0,58,216,1,0,18,221,2,192,198,161,70,221,2,192,198,161,207,120,160,5,48,0,58,216,1,0,19,221,2,192,198,193,69,221,2,192,198,225,209,120,160,5,48,0,58,216,1,0,20,221,3,192,198,1,70,221,3,192,198,1,211,120,160,5,48,0,58,216,1,0,21,221,3,192,198,33,70,221,3,192,198,33,213,120,160,5,48,0,58,216,1,0,22,221,3,192,198,65,70,221,3,192,198,65,215,120,160,5,48,0,58,216,1,0,23,221,3,192,198,97,70,221,3,192,198,97,217,120,160,5,48,0,58,216,1,0,24,221,3,192,198,129,70,221,3,192,198,129,219,120,160,5,48,0,58,216,1,0,25,221,3,192,198,161,70,221,3,192,198,161,221,120,160,5,48,0,58,216,1,0,26,221,3,192,198,193,70,221,3,192,198,193,223,120,160,5,48,0,58,216,1,0,27,221,3,192,198,225,70,221,3,192,198,225,225,120,160,5,48,0,58,216,1,0,28,221,4,192,198,1,70,221,4,192,198,1,227,120,160,5,48,0,58,216,1,0,29,221,4,192,198,33,70,221,4,192,198,33,229,120,160,5,48,0,58,216,1,0,30,221,4,192,198,65,70,221,4,192,198,65,231,120,160,5,48,0,58,216,1,0,31,221,4,192,198,97,70,221,4,192,198,97,233,120,160,5,48,0,58,216,1,0,32,221,4,192,198,129,70,221,4,192,198,129,235,120,160,5,48,0,58,216,1,0,33,221,4,192,198,161,70,221,4,192,198,161,169,120,5,5,48,0,58,216,1,0,34,221,255,255,170,120,193,2,68,221,255,255,170,120,193,2,171,120,5,5,48,0,58,216,1,0,35,221,255,255,172,120,193,2,70,221,255,255,172,120,193,2,173,120,5,5,48,0,58,216,1,0,36,221,255,255,174,120,193,2,70,221,255,255,174,120,193,2,175,120,5,5,48,0,58,216,1,0,37,221,255,255,176,120,193,2,70,221,255,255,176,120,193,2,177,120,5,5,48,0,58,216,1,0,38,221,255,255,178,120,193,2,70,221,255,255,178,120,193,2,179,120,5,5,48,0,58,216,1,0,39,221,255,255,180,120,193,2,70,221,255,255,180,120,193,2,181,120,5,5,48,0,58,216,1,0,40,221,255,255,182,120,193,2,70,221,255,255,182,120,193,2,183,120,5,5,48,0,58,216,1,0,41,221,255,255,184,120,193,2,70,221,255,255,184,120,193,2,185,120,5,5,48,0,58,216,1,0,42,221,255,255,186,120,193,2,70,221,255,255,186,120,193,2,187,120,5,5,48,0,58,216,1,0,43,221,4,192,198,193,69,221,255,255,188,120,193,2,189,120,5,5,48,0,58,216,1,0,44,221,255,255,190,120,193,2,70,221,255,255,190,120,193,2,191,120,5,5,48,0,58,216,1,0,45,221,4,192,198,225,69,221,255,255,192,120,193,2,193,120,5,5,48,0,58,216,1,0,46,221,5,192,198,1,69,221,255,255,194,120,193,2,195,120,5,5,48,0,58,216,1,0,47,221,255,255,196,120,193,2,70,221,255,255,196,120,193,2,197,120,5,5,48,0,58,216,1,0,48,221,255,255,198,120,193,2,70,221,255,255,198,120,193,2,199,120,5,5,48,0,58,216,1,0,49,221,255,255,200,120,193,2,70,221,255,255,200,120,193,2,201,120,5,5,48,0,58,216,1,0,50,221,255,255,202,120,193,2,70,221,255,255,202,120,193,2,203,120,5,5,48,0,58,216,1,0,51,221,255,255,204,120,193,2,70,221,255,255,204,120,193,2,205,120,5,5,48,0,58,216,1,0,52,221,255,255,206,120,193,2,70,221,255,255,206,120,193,2,207,120,5,5,48,0,58,216,1,0,53,221,5,192,198,33,69,221,255,255,208,120,193,2,209,120,5,5,48,0,58,216,1,0,54,221,255,255,210,120,193,2,70,221,255,255,210,120,193,2,211,120,5,5,48,0,58,216,1,0,55,221,255,255,212,120,193,2,70,221,255,255,212,120,193,2,213,120,5,5,48,0,58,216,1,0,56,221,255,255,214,120,193,2,70,221,255,255,214,120,193,2,215,120,5,5,48,0,58,216,1,0,57,221,255,255,216,120,193,2,70,221,255,255,216,120,193,2,217,120,5,5,48,0,58,216,1,0,58,221,255,255,218,120,193,2,70,221,255,255,218,120,193,2,219,120,5,5,48,0,58,216,1,0,59,221,255,255,220,120,193,2,70,221,255,255,220,120,193,2,221,120,5,5,48,0,58,216,1,0,60,221,255,255,222,120,193,2,70,221,255,255,222,120,193,2,223,120,5,5,48,0,58,216,1,0,61,221,255,255,224,120,193,2,70,221,255,255,224,120,193,2,225,120,5,5,48,0,58,216,1,0,62,221,255,255,226,120,193,2,70,221,255,255,226,120,193,2,227,120,5,5,48,0,58,216,1,0,63,221,255,255,228,120,193,2,70,221,255,255,228,120,193,2,229,120,5,5,48,0,58,216,1,0,64,221,255,255,230,120,193,2,70,221,255,255,230,120,193,2,231,120,5,5,48,0,58,216,1,0,65,221,255,255,232,120,193,2,70,221,255,255,232,120,193,2,233,120,5,5,48,0,58,216,1,0,66,221,255,255,234,120,193,2,70,221,255,255,234,120,193,2,235,120,5,5,48,0,58,216,1,0,67,221,255,255,236,120,193,2,70,221,255,255,236,120,193,2,8,128,0,0,1,0,0,233,1,0,9,233,1,0,10,233,1,0,71,233,3,0,78,0,61,0,70,0,135,2,0,16,9,0,0,96,1,0,0,96,1,0,52,0,20,11,0,32,2,0,32,0,41,0,170,170,4,0,0,96,25,11,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,63,34,0,32,7,0,0,0,26,0,0,0,65,34,0,0,65,34,0,0,3,0,0,0,0,0,0,0,169,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,116,114,97,100,105,116,105,111,110,97,108,0,170,0,0,52,0,50,0,0,0,45,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,102,0,105,0,45,0,117,0,45,0,99,0,111,0,45,0,116,0,114,0,97,0,100,0,93,0,0,0,103,220,38,0,68,0,53,3,60,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,71,0,53,3,60,0,60,0,229,1,60,0,60,0,60,0,228,1,38,0,78,0,53,3,60,0,60,0,75,1,60,0,60,0,60,0,74,1,38,0,84,0,53,3,60,0,60,0,103,1,60,0,60,0,60,0,102,1,38,0,89,0,60,0,60,0,252,0,60,0,60,0,60,0,220,0,38,0,90,0,53,3,60,0,60,0,146,2,60,0,60,0,60,0,183,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,230,0,60,0,60,0,60,0,198,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,248,0,60,0,60,0,60,0,216,0,0,0,128,220,38,0,68,0,60,0,60,0,240,0,60,0,60,0,60,0,208,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,78,0,60,0,60,0,75,1,60,0,60,0,60,0,74,1,38,0,84,0,60,0,60,0,254,0,47,0,104,0,60,0,60,0,60,0,222,0,47,0,104,0,38,0,86,0,60,0,60,0,119,0,60,0,60,0,60,0,87,0,38,0,89,0,60,0,60,0,252,0,60,0,60,0,60,0,220,0,60,0,60,0,113,1,60,0,60,0,60,0,112,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,230,0,60,0,60,0,60,0,198,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,245,0,60,0,60,0,60,0,213,0,60,0,60,0,83,1,60,0,60,0,60,0,82,1,0,0,170,170,170,170,170,170,170,170,6,50,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,202,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,116,39,0,0,116,39,0,0,148,42,0,0,148,42,0,0,240,46,0,0,240,46,0,0,234,49,0,0,234,49,0,0,234,49,0,0,50,105,114,84,1,0,64,8,106,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,108,0,116,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,149,0,157,0,163,0,171,0,179,0,187,0,48,0,56,0,186,0,194,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,211,0,219,0,48,0,48,0,48,0,227,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,235,0,48,0,48,0,243,0,48,0,249,0,1,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,12,1,48,0,17,1,21,1,29,1,37,1,42,1,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,56,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,64,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,67,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,209,0,48,0,48,0,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,75,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,83,1,48,0,48,0,89,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,176,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,84,2,140,2,204,2,192,0,232,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,33,0,202,193,33,0,202,226,33,0,202,3,34,0,202,36,34,0,202,69,34,0,202,102,34,0,202,135,34,0,202,168,34,0,202,201,34,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,1,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,38,3,0,156,5,0,84,134,70,0,84,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,4,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,38,6,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,198,7,0,5,5,0,84,5,70,0,84,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,225,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,70,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,198,65,0,0,198,97,0,0,5,5,127,12,198,1,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,2,25,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,33,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,70,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,198,161,0,0,193,4,111,93,5,5,125,12,198,65,1,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,9,0,201,166,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,48,5,71,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,68,5,70,0,68,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,129,0,0,198,193,0,0,198,225,1,0,198,1,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,198,11,0,201,230,12,0,197,162,2,0,197,226,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,14,0,201,134,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,17,0,201,38,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,4,0,197,162,4,0,197,34,0,0,197,98,0,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,192,0,0,0,198,98,3,0,197,226,5,0,192,0,0,0,192,0,0,0,198,162,3,0,198,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,19,0,201,198,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,5,0,197,98,6,0,198,162,5,0,198,226,5,0,198,34,6,0,198,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,6,0,197,162,6,0,198,226,6,0,198,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,70,22,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,24,0,5,71,238,102,201,6,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,192,0,0,0,197,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,192,0,0,0,197,226,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,8,0,192,0,0,0,197,98,8,0,192,0,0,0,197,162,8,0,192,0,0,0,197,226,8,0,192,0,0,0,197,34,9,0,197,99,9,0,197,194,9,0,192,0,0,0,192,0,0,0,197,2,10,0,197,67,10,0,197,162,10,0,192,0,0,0,192,0,0,0,197,226,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,6,0,197,34,11,0,5,5,10,121,197,98,11,0,197,162,11,0,5,5,12,121,5,5,16,121,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,5,5,18,121,5,5,20,121,197,130,7,0,5,5,24,121,197,162,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,25,0,201,6,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,7,0,198,34,8,0,198,98,8,0,198,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,28,0,201,70,29,0,201,102,30,0,201,134,31,0,201,166,32,0,201,198,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,17,0,197,98,17,0,197,162,17,0,197,226,17,0,197,34,18,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,197,98,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,34,0,201,6,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,37,0,201,166,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,2,0,198,226,2,0,201,38,40,0,201,166,41,0,201,38,43,0,201,70,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,45,0,201,134,46,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,72,0,4,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,4,111,93,0,5,0,72,0,4,111,93,0,5,0,71,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,73,0,4,111,93,0,134,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,164,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,150,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,134,70,0,80,5,5,0,56,5,70,0,80,5,5,0,56,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,84,5,142,0,0,5,70,0,84,5,142,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,193,4,111,93,5,162,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,134,70,0,84,5,138,0,0,5,70,0,84,5,138,0,0,134,70,0,84,5,136,0,0,5,70,0,84,5,136,0,0,134,70,0,84,5,150,0,0,5,70,0,84,5,150,0,0,134,70,0,84,5,156,0,0,5,70,0,84,5,156,0,0,134,70,0,84,5,196,0,0,5,70,0,84,5,196,0,0,5,70,0,84,5,146,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,226,6,0,5,5,10,121,5,5,12,121,197,34,7,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,7,0,5,5,24,121,197,162,7,0,5,5,28,121,5,5,30,121,197,226,7,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,8,0,5,5,107,121,197,98,8,0,5,5,111,121,197,162,8,0,5,5,115,121,197,226,8,0,5,5,119,121,197,34,9,0,197,99,9,0,197,194,9,0,5,5,127,121,5,5,129,121,197,2,10,0,197,67,10,0,197,162,10,0,5,5,137,121,5,5,139,121,197,226,10,0,5,5,143,121,5,5,6,121,197,226,6,0,197,34,11,0,5,5,10,121,197,98,11,0,197,162,11,0,5,5,12,121,5,5,16,121,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,5,5,18,121,5,5,20,121,197,130,7,0,5,5,24,121,197,162,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,70,156,5,2,0,3,3,0,192,198,65,8,3,0,192,198,97,11,3,0,192,198,129,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,70,5,5,2,0,3,3,0,192,198,161,8,3,255,255,111,93,193,4,11,3,0,192,198,193,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,98,10,3,1,192,198,162,5,42,196,162,1,0,8,3,1,192,197,34,10,3,1,192,197,98,156,82,196,162,1,0,8,3,1,192,197,162,11,3,1,192,197,226,5,82,196,162,1,0,8,3,2,192,197,34,11,3,2,192,197,98,156,70,196,190,2,0,3,3,2,192,198,34,8,3,2,192,198,98,11,3,2,192,198,162,5,70,196,190,2,0,3,3,2,192,198,226,8,3,3,192,197,34,11,3,3,192,198,34,156,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,5,82,196,190,1,0,8,3,3,192,197,226,11,3,4,192,197,34,156,70,196,162,2,0,3,3,4,192,198,34,8,3,4,192,198,98,11,3,4,192,198,162,5,70,196,162,2,0,3,3,4,192,198,226,8,3,6,192,197,34,11,3,5,192,198,34,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,7,192,198,98,10,3,7,192,198,162,5,42,196,200,1,0,8,3,13,192,197,162,10,3,13,192,197,226,156,82,196,198,1,0,8,3,14,192,197,34,11,3,14,192,197,98,5,82,196,198,1,0,8,3,14,192,197,162,11,3,14,192,197,226,156,82,196,208,1,0,8,3,15,192,197,34,11,3,15,192,197,98,5,82,196,208,1,0,8,3,15,192,197,162,11,3,15,192,197,226,156,82,196,204,1,0,8,3,16,192,197,34,11,3,16,192,197,98,5,82,196,204,1,0,8,3,16,192,197,162,11,3,16,192,197,226,156,42,196,196,1,0,8,3,8,192,198,226,10,3,9,192,198,34,5,42,196,196,1,0,8,3,19,192,197,226,10,3,20,192,197,34,156,70,196,196,2,0,3,3,9,192,198,98,8,3,9,192,198,162,11,3,9,192,198,226,5,70,196,196,2,0,3,3,10,192,198,34,8,3,20,192,197,98,11,3,10,192,198,98,20,0,197,163,2,0,3,3,10,192,198,163,8,3,11,192,198,3,11,3,11,192,198,99,21,0,197,3,2,0,3,3,11,192,198,195,8,3,21,192,197,99,11,3,12,192,198,35,156,82,196,196,1,0,8,3,21,192,197,194,11,3,22,192,197,2,5,82,196,196,1,0,8,3,22,192,197,66,11,3,22,192,197,130,22,0,197,195,1,0,8,3,23,192,197,35,11,3,23,192,197,131,23,0,197,227,1,0,8,3,24,192,197,67,11,3,24,192,197,163,170,170,3,0,67,0,50,0,59,0,171,0,0,16,4,0,0,96,1,0,0,96,92,40,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,36,31,0,0,36,31,0,0,148,32,0,0,148,32,0,0,124,34,0,0,124,34,0,0,84,36,0,0,84,36,0,0,64,40,0,0,50,105,114,84,1,0,64,8,229,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,107,0,115,0,121,0,129,0,137,0,145,0,48,0,56,0,149,0,157,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,181,0,48,0,48,0,185,0,48,0,193,0,198,0,206,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,212,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,173,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,172,1,228,1,36,2,192,0,84,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,14,0,202,33,14,0,202,66,14,0,202,99,14,0,202,132,14,0,202,165,14,0,202,198,14,0,202,231,14,0,202,8,15,0,202,41,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,230,0,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,166,1,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,2,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,38,4,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,6,5,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,97,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,65,0,0,5,5,127,12,198,129,0,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,160,5,38,93,197,194,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,161,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,193,4,111,93,5,5,125,12,198,193,0,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,6,0,201,102,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,1,0,197,98,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,1,0,197,226,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,8,0,201,70,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,10,0,201,198,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,11,0,201,70,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,4,0,197,98,4,0,197,34,0,0,197,98,0,0,197,162,4,0,197,226,4,0,197,34,5,0,197,98,5,0,192,0,0,0,198,162,1,0,197,162,5,0,192,0,0,0,192,0,0,0,198,226,1,0,198,34,2,0,197,226,5,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,13,0,201,198,13,0,192,0,0,0,192,0,0,0,197,163,6,0,197,3,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,2,0,197,98,7,0,198,226,2,0,198,34,3,0,198,98,3,0,198,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,3,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,14,0,201,166,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,16,0,201,134,17,0,201,70,18,0,201,6,19,0,201,198,19,0,201,134,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,21,0,201,102,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,23,0,201,70,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,25,0,201,198,25,0,201,134,26,0,201,70,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,28,0,201,198,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,156,5,0,48,194,6,6,179,28,5,0,48,194,5,6,179,156,5,0,68,194,6,4,179,28,5,0,68,194,5,4,179,156,5,0,80,194,6,3,179,28,5,0,80,194,5,3,179,134,70,0,90,5,162,0,0,5,70,0,90,5,162,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,5,70,0,90,5,190,0,0,156,5,0,92,194,6,2,179,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,156,5,0,54,194,6,5,179,28,5,0,54,194,5,5,179,193,4,111,93,5,162,0,0,156,5,0,92,194,6,2,179,5,144,0,0,28,5,0,92,194,5,2,179,5,144,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,5,70,0,90,5,198,0,0,134,70,0,90,5,208,0,0,5,70,0,90,5,208,0,0,134,70,0,90,5,204,0,0,5,70,0,90,5,204,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,5,70,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,70,156,5,48,0,8,3,0,192,198,65,0,82,156,5,1,0,8,3,255,255,0,90,134,70,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,70,5,5,48,0,8,3,255,255,111,93,193,4,0,82,5,5,1,0,8,3,255,255,0,90,5,70,68,3,0,192,197,98,156,42,196,162,1,0,8,3,0,192,198,226,10,3,1,192,198,34,5,42,196,162,1,0,8,3,0,192,197,162,10,3,0,192,197,226,156,82,196,162,48,0,8,3,2,192,197,162,5,82,196,162,48,0,8,3,2,192,197,226,156,70,196,190,48,0,8,3,1,192,198,98,5,70,196,190,48,0,8,3,3,192,197,34,156,82,196,190,48,0,8,3,3,192,197,98,5,82,196,190,48,0,8,3,3,192,197,162,156,70,196,162,48,0,8,3,2,192,198,98,5,70,196,162,48,0,8,3,6,192,197,98,156,42,196,200,1,0,8,3,4,192,198,34,10,3,4,192,198,98,5,42,196,200,1,0,8,3,7,192,197,226,10,3,8,192,197,34,156,82,196,198,48,0,8,3,8,192,197,98,5,82,196,198,48,0,8,3,8,192,197,162,156,82,196,208,48,0,8,3,8,192,197,226,5,82,196,208,48,0,8,3,9,192,197,34,156,82,196,204,48,0,8,3,9,192,197,98,5,82,196,204,48,0,8,3,9,192,197,162,156,42,196,196,1,0,8,3,4,192,198,162,10,3,4,192,198,226,5,42,196,196,1,0,8,3,9,192,197,226,10,3,10,192,197,34,156,70,196,196,48,0,8,3,5,192,198,34,5,70,196,196,48,0,8,3,10,192,197,98,10,0,197,163,48,0,8,3,5,192,198,99,11,0,197,3,48,0,8,3,11,192,197,99,156,82,196,196,48,0,8,3,11,192,197,194,5,82,196,196,48,0,8,3,12,192,197,2,12,0,197,67,48,0,8,3,12,192,197,163,13,0,197,3,48,0,8,3,13,192,197,99,5,2,64,12,32,14,192,14,232,14,26,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,28,4,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,30,4,185,120,185,124,185,132,186,136,185,140,32,4,185,148,185,152,185,156,185,160,185,164,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,36,4,168,120,168,124,168,132,168,136,168,140,38,4,168,148,168,152,168,156,168,160,168,164,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,116,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,185,180,185,176,217,180,217,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,117,153,117,249,117,153,118,185,184,136,14,217,184,185,145,153,145,249,145,217,160,153,161,185,168,0,8,168,57,136,57,232,57,136,58,168,180,168,176,200,180,200,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,117,136,117,232,117,136,118,168,184,128,14,200,184,168,145,136,145,232,145,200,160,136,161,168,168,72,162,25,59,8,59,217,57,200,57,40,4,42,4,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,2,8,137,71,26,75,8,75,218,73,200,73,186,74,168,74,250,74,232,74,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,217,82,200,82,249,85,232,85,57,87,40,87,154,90,136,90,26,91,8,91,218,89,200,89,250,90,232,90,186,90,168,92,4,8,6,8,250,97,232,97,217,102,200,102,168,128,153,105,136,105,217,106,200,106,25,106,8,106,185,107,168,107,57,107,40,107,154,113,136,113,218,114,200,114,26,114,8,114,8,8,10,8,106,115,25,119,8,119,217,117,200,117,121,118,104,118,12,8,14,8,153,133,136,133,217,134,200,134,25,134,8,134,154,137,136,137,250,137,232,137,218,138,200,138,26,138,8,138,217,142,200,142,25,142,8,142,16,8,73,143,153,146,136,146,25,147,8,147,217,145,200,145,57,146,40,146,121,146,104,146,44,4,46,4,249,153,232,153,249,161,232,161,89,162,153,165,136,165,185,166,168,166,25,166,8,166,232,136,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,18,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,20,8,1,0,8,14,22,8,1,0,16,14,0,13,8,13,24,14,24,8,200,12,72,12,32,14,200,136,169,136,185,68,137,3,187,88,187,96,169,88,169,96,169,172,169,112,186,112,105,3,217,116,187,72,200,116,169,72,185,140,73,3,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,116,255,5,185,144,255,5,168,56,255,5,168,116,255,5,168,144,255,5,249,58,255,5,232,58,255,5,249,146,255,5,232,146,255,1,3,0,67,0,50,0,59,0,51,13,0,16,51,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,132,43,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,52,31,0,0,52,31,0,0,84,34,0,0,84,34,0,0,204,36,0,0,204,36,0,0,128,39,0,0,128,39,0,0,104,43,0,0,50,105,114,84,1,0,64,8,230,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,108,0,116,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,48,0,174,0,178,0,186,0,194,0,199,0,207,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,161,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,176,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,18,0,202,161,18,0,202,194,18,0,202,227,18,0,202,4,19,0,202,37,19,0,202,70,19,0,202,103,19,0,202,136,19,0,202,169,19,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,230,0,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,102,2,0,156,5,0,84,134,70,0,84,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,6,4,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,5,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,6,7,0,5,5,0,84,5,70,0,84,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,225,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,70,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,198,65,0,0,198,97,0,0,5,5,127,12,198,1,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,66,18,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,33,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,70,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,198,161,0,0,193,4,111,93,5,5,125,12,198,65,1,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,8,0,201,230,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,48,5,71,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,68,5,70,0,68,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,129,0,0,198,193,0,0,198,225,1,0,198,1,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,6,11,0,201,38,12,0,197,162,2,0,197,226,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,13,0,201,198,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,16,0,201,102,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,4,0,197,162,4,0,197,34,0,0,197,98,0,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,192,0,0,0,198,98,3,0,197,226,5,0,192,0,0,0,192,0,0,0,198,162,3,0,198,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,18,0,201,6,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,5,0,197,98,6,0,198,162,5,0,198,226,5,0,198,34,6,0,198,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,6,0,197,162,6,0,198,226,6,0,198,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,21,0,201,166,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,7,0,198,34,8,0,198,98,8,0,198,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,23,0,201,230,24,0,201,6,26,0,201,38,27,0,201,70,28,0,201,102,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,30,0,201,166,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,32,0,201,70,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,2,0,198,226,2,0,201,198,35,0,201,70,37,0,201,198,38,0,201,230,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,41,0,201,38,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,72,0,4,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,4,111,93,0,5,0,72,0,4,111,93,0,5,0,71,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,73,0,4,111,93,0,134,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,164,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,150,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,134,70,0,80,5,5,0,56,5,70,0,80,5,5,0,56,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,84,5,142,0,0,5,70,0,84,5,142,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,193,4,111,93,5,162,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,134,70,0,84,5,138,0,0,5,70,0,84,5,138,0,0,134,70,0,84,5,136,0,0,5,70,0,84,5,136,0,0,134,70,0,84,5,150,0,0,5,70,0,84,5,150,0,0,134,70,0,84,5,156,0,0,5,70,0,84,5,156,0,0,134,70,0,84,5,196,0,0,5,70,0,84,5,196,0,0,5,70,0,84,5,146,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,70,156,5,2,0,3,3,0,192,198,65,8,3,0,192,198,97,11,3,0,192,198,129,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,70,5,5,2,0,3,3,0,192,198,161,8,3,255,255,111,93,193,4,11,3,0,192,198,193,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,98,10,3,1,192,198,162,5,42,196,162,1,0,8,3,1,192,197,34,10,3,1,192,197,98,156,82,196,162,1,0,8,3,1,192,197,162,11,3,1,192,197,226,5,82,196,162,1,0,8,3,2,192,197,34,11,3,2,192,197,98,156,70,196,190,2,0,3,3,2,192,198,34,8,3,2,192,198,98,11,3,2,192,198,162,5,70,196,190,2,0,3,3,2,192,198,226,8,3,3,192,197,34,11,3,3,192,198,34,156,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,5,82,196,190,1,0,8,3,3,192,197,226,11,3,4,192,197,34,156,70,196,162,2,0,3,3,4,192,198,34,8,3,4,192,198,98,11,3,4,192,198,162,5,70,196,162,2,0,3,3,4,192,198,226,8,3,6,192,197,34,11,3,5,192,198,34,156,42,196,200,1,0,8,3,7,192,198,98,10,3,7,192,198,162,5,42,196,200,1,0,8,3,6,192,197,226,10,3,7,192,197,34,156,82,196,198,1,0,8,3,7,192,197,98,11,3,7,192,197,162,5,82,196,198,1,0,8,3,7,192,197,226,11,3,8,192,197,34,156,82,196,208,1,0,8,3,8,192,197,98,11,3,8,192,197,162,5,82,196,208,1,0,8,3,8,192,197,226,11,3,9,192,197,34,156,82,196,204,1,0,8,3,9,192,197,98,11,3,9,192,197,162,5,82,196,204,1,0,8,3,9,192,197,226,11,3,10,192,197,34,156,42,196,196,1,0,8,3,8,192,198,226,10,3,9,192,198,34,5,42,196,196,1,0,8,3,13,192,197,34,10,3,13,192,197,98,156,70,196,196,2,0,3,3,9,192,198,98,8,3,9,192,198,162,11,3,9,192,198,226,5,70,196,196,2,0,3,3,10,192,198,34,8,3,13,192,197,162,11,3,10,192,198,98,13,0,197,227,2,0,3,3,10,192,198,163,8,3,11,192,198,3,11,3,11,192,198,99,14,0,197,67,2,0,3,3,11,192,198,195,8,3,14,192,197,163,11,3,12,192,198,35,156,82,196,196,1,0,8,3,15,192,197,2,11,3,15,192,197,66,5,82,196,196,1,0,8,3,15,192,197,130,11,3,15,192,197,194,16,0,197,3,1,0,8,3,16,192,197,99,11,3,16,192,197,195,17,0,197,35,1,0,8,3,17,192,197,131,11,3,17,192,197,227,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,185,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,28,4,185,120,185,124,185,132,186,136,185,140,30,4,185,152,217,152,185,156,185,160,185,164,88,13,168,13,96,13,56,14,80,12,40,14,32,4,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,34,4,168,120,168,124,168,132,168,136,168,140,36,4,168,152,200,152,168,156,168,160,168,164,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,116,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,185,176,185,172,217,176,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,217,68,122,114,185,117,153,117,249,117,25,181,185,180,136,14,217,180,185,149,153,149,249,149,217,160,153,161,0,8,2,8,168,57,136,57,232,57,104,58,168,176,168,172,200,176,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,104,114,168,117,136,117,232,117,8,181,168,180,128,14,200,180,168,149,136,149,232,149,200,160,136,161,4,8,72,162,249,58,232,58,217,57,200,57,38,4,40,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,249,68,232,68,249,74,232,74,217,73,200,73,153,74,136,74,217,74,200,74,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,128,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,217,112,200,112,249,118,232,118,217,117,200,117,249,180,232,180,57,181,40,181,153,133,136,133,185,134,168,134,25,134,8,134,154,137,136,137,250,137,232,137,186,138,168,138,26,138,8,138,185,142,168,142,25,142,8,142,185,144,168,144,121,150,104,150,249,150,232,150,217,149,200,149,57,150,40,150,249,160,232,160,42,4,44,4,12,8,14,8,249,161,232,161,89,162,153,165,136,165,153,166,136,166,25,166,8,166,232,136,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,140,168,84,200,136,169,136,200,140,168,84,187,88,187,96,169,88,169,96,169,168,169,112,217,152,232,1,200,152,232,1,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,116,255,5,185,148,255,5,168,56,255,5,168,116,255,5,168,148,255,5,217,58,255,5,200,58,255,5,217,150,255,5,200,150,255,1,3,0,67,0,50,0,59,0,83,23,0,16,156,0,0,96,1,0,0,96,3,0,43,0,82,0,91,0,46,13,0,32,75,23,0,32,53,34,0,32,1,0,32,0,58,34,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,3,8,0,32,7,0,0,0,21,0,0,0,5,8,0,0,5,8,0,0,3,0,0,0,0,0,0,0,34,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,78,0,60,0,241,0,60,0,60,0,60,0,209,0,60,0,110,0,103,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,0,0,170,170,170,170,94,31,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,24,0,0,212,24,0,0,212,24,0,0,212,24,0,0,0,26,0,0,0,26,0,0,32,27,0,0,58,27,0,0,70,31,0,0,50,105,114,84,1,0,64,8,128,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,8,0,202,65,8,0,202,98,8,0,202,131,8,0,202,164,8,0,202,197,8,0,202,230,8,0,202,7,9,0,202,40,9,0,202,73,9,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,4,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,196,7,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,7,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,12,0,201,198,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,13,0,201,70,14,0,201,6,15,0,201,198,15,0,201,134,16,0,201,70,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,3,69,5,142,0,0,70,5,3,69,5,142,0,0,135,5,3,69,5,140,0,0,70,5,3,69,5,140,0,0,135,5,3,69,5,156,0,0,70,5,3,69,5,156,0,0,135,5,3,69,5,160,0,0,70,5,3,69,5,160,0,0,135,5,3,69,5,144,0,0,70,5,3,69,5,144,0,0,135,5,3,69,5,136,0,0,70,5,3,69,5,136,0,0,135,5,3,69,5,164,0,0,70,5,3,69,5,164,0,0,5,5,3,69,5,142,0,0,5,5,3,69,5,140,0,0,5,5,3,69,5,156,0,0,5,5,3,69,5,160,0,0,5,5,3,69,5,144,0,0,5,5,3,69,5,136,0,0,5,5,3,69,5,164,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,68,156,5,16,0,34,1,30,0,244,1,16,0,244,1,2,192,197,162,245,1,2,192,197,226,3,3,255,255,2,69,134,5,32,30,3,192,197,34,33,30,3,192,197,98,34,1,1,192,197,162,35,1,1,192,197,226,230,1,2,192,197,34,231,1,2,192,197,98,30,1,12,0,30,1,0,192,197,162,31,1,0,192,197,226,32,1,1,192,197,34,33,1,1,192,197,98,71,0,255,255,3,69,135,5,103,0,255,255,3,69,70,5,28,1,197,162,29,1,0,192,197,98,0,68,5,5,8,0,35,1,16,0,35,1,4,192,197,98,231,1,4,192,197,162,245,1,4,192,197,226,3,3,255,255,2,69,5,5,33,30,5,192,197,34,103,0,255,255,3,69,5,5,29,1,3,192,197,162,31,1,3,192,197,226,33,1,4,192,197,34,156,68,196,160,48,0,3,3,5,192,197,98,5,68,196,160,48,0,3,3,5,192,197,162,156,68,196,196,48,0,3,3,5,192,197,226,5,68,196,196,48,0,3,3,6,192,197,34,156,68,196,210,48,0,3,3,6,192,197,98,5,68,196,210,48,0,3,3,6,192,197,162,156,68,196,204,48,0,3,3,6,192,197,226,5,68,196,204,48,0,3,3,7,192,197,34,12,0,71,0,72,0,103,0,104,0,28,1,36,1,230,1,232,1,244,1,246,1,32,30,34,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,26,4,185,128,185,132,185,136,185,144,186,148,185,152,185,160,185,164,185,168,185,172,185,176,185,180,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,48,4,168,128,168,132,168,136,168,144,168,148,168,152,168,160,168,164,168,168,168,172,168,176,168,180,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,128,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,185,116,185,129,153,129,249,129,153,130,89,130,136,14,217,130,185,161,153,161,249,161,89,162,153,177,185,184,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,168,116,168,129,136,129,232,129,136,130,72,130,128,14,200,130,168,161,136,161,232,161,72,162,136,177,168,184,72,178,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,140,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,60,4,62,4,26,114,8,114,10,8,185,124,168,124,57,131,40,131,217,129,200,129,121,130,104,130,12,8,14,8,153,145,136,145,249,146,232,146,25,146,8,146,154,149,136,149,250,149,232,149,250,150,232,150,26,150,8,150,249,154,232,154,25,154,8,154,185,156,168,156,153,162,136,162,57,163,40,163,217,161,200,161,57,162,40,162,121,162,104,162,25,163,8,163,249,169,232,169,249,177,232,177,89,178,153,181,136,181,185,182,168,182,25,182,8,182,232,148,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,148,169,148,200,56,169,72,187,88,187,96,169,88,169,96,169,188,169,112,217,128,187,72,200,128,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,186,112,71,4,186,120,103,4,177,120,28,5,250,121,29,5,241,121,30,5,218,121,31,5,209,121,32,5,186,122,33,5,177,122,34,5,250,122,35,5,241,122,255,5,168,112,103,4,168,120,29,5,232,121,31,5,200,121,33,5,168,122,35,5,232,122,255,5,250,114,255,5,232,114,255,1,170,170,3,0,69,0,52,0,61,0,35,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,252,7,0,32,1,0,32,0,1,8,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,140,27,0,32,7,0,0,0,23,0,0,0,142,27,0,0,142,27,0,0,3,0,0,0,0,0,0,0,119,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,102,0,111,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,134,220,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,116,0,60,0,60,0,60,0,254,0,47,0,104,0,38,0,84,0,60,0,60,0,60,0,222,0,47,0,72,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,101,0,40,3,60,0,60,0,60,0,69,0,40,3,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,60,0,60,0,97,0,97,0,60,0,60,0,60,0,65,0,97,0,60,0,60,0,60,0,65,0,65,0,0,0,170,170,4,57,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,163,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,100,38,0,0,100,38,0,0,140,47,0,0,140,47,0,0,76,51,0,0,76,51,0,0,178,56,0,0,232,56,0,0,232,56,0,0,50,105,114,84,1,0,64,8,89,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,145,0,153,0,159,0,167,0,175,0,183,0,48,0,56,0,182,0,190,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,0,215,0,48,0,48,0,48,0,223,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,231,0,48,0,48,0,239,0,48,0,245,0,253,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,8,1,48,0,48,0,12,1,48,0,20,1,25,1,33,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,39,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,47,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,205,0,48,0,48,0,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,58,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,66,1,48,0,48,0,72,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,68,2,124,2,188,2,192,0,216,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,28,0,202,225,28,0,202,2,29,0,202,35,29,0,202,68,29,0,202,101,29,0,202,134,29,0,202,167,29,0,202,200,29,0,202,233,29,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,196,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,102,29,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,38,30,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,70,31,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,228,32,0,5,5,0,44,5,5,0,46,5,5,0,48,201,166,47,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,48,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,134,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,97,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,225,17,0,5,5,127,12,198,129,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,34,20,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,97,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,33,27,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,51,0,201,102,52,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,193,17,0,198,1,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,18,0,198,65,27,0,198,97,28,0,198,129,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,134,53,0,201,166,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,55,0,201,230,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,58,0,201,38,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,162,29,0,198,226,29,0,192,0,0,0,192,0,0,0,198,34,30,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,60,0,201,102,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,31,0,197,34,5,0,198,162,31,0,197,98,5,0,198,226,31,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,32,0,198,98,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,62,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,64,0,5,71,238,102,201,70,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,192,0,0,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,7,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,197,99,8,0,197,194,8,0,192,0,0,0,192,0,0,0,197,2,9,0,197,67,9,0,197,162,9,0,192,0,0,0,192,0,0,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,66,0,201,70,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,68,0,201,134,69,0,201,166,70,0,201,198,71,0,201,230,72,0,201,6,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,75,0,201,70,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,77,0,201,134,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,79,0,201,198,80,0,201,230,81,0,201,6,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,84,0,201,70,85,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,137,0,5,0,4,111,93,0,72,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,7,0,5,0,4,111,93,0,7,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,7,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,226,5,0,5,5,10,121,5,5,12,121,197,34,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,197,226,6,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,7,0,5,5,107,121,197,98,7,0,5,5,111,121,197,162,7,0,5,5,115,121,197,226,7,0,5,5,119,121,197,34,8,0,197,99,8,0,197,194,8,0,5,5,127,121,5,5,129,121,197,2,9,0,197,67,9,0,197,162,9,0,5,5,137,121,5,5,139,121,197,226,9,0,5,5,143,121,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,50,156,5,48,0,40,3,17,192,198,193,0,70,156,5,1,0,8,3,17,192,198,225,11,3,18,192,198,1,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,131,179,30,25,192,198,227,181,30,26,192,198,67,183,30,26,192,198,163,169,30,24,192,198,3,171,30,24,192,198,99,173,30,24,192,198,195,175,30,25,192,198,35,161,30,12,0,161,30,22,192,198,194,163,30,23,192,198,2,165,30,23,192,198,67,167,30,23,192,198,163,39,2,10,0,8,3,22,192,198,97,10,3,255,255,111,93,193,4,1,30,22,192,198,130,176,69,198,34,4,3,21,192,198,35,3,1,26,0,225,1,12,0,225,1,21,192,198,35,251,1,21,192,198,131,1,2,21,192,198,226,3,2,22,192,198,34,3,1,20,192,198,2,5,1,20,192,198,66,206,1,20,192,198,130,223,1,20,192,198,195,227,0,12,0,227,0,19,192,198,2,228,0,19,192,198,66,229,0,19,192,198,130,1,1,19,192,198,194,97,0,18,192,198,33,224,0,18,192,198,66,225,0,18,192,198,130,226,0,18,192,198,194,0,50,5,5,48,0,40,3,27,192,198,1,0,70,5,5,1,0,8,3,27,192,198,33,11,3,27,192,198,65,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,162,10,3,27,192,198,226,5,42,196,162,1,0,8,3,28,192,198,34,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,5,70,196,190,1,0,8,3,29,192,198,34,11,3,29,192,198,98,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,5,70,196,162,1,0,8,3,30,192,198,226,11,3,31,192,198,34,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,32,192,198,162,10,3,32,192,198,226,5,42,196,200,1,0,8,3,33,192,198,34,10,3,12,192,197,162,156,82,196,198,1,0,8,3,12,192,197,226,11,3,13,192,197,34,5,82,196,198,1,0,8,3,13,192,197,98,11,3,13,192,197,162,156,82,196,208,1,0,8,3,13,192,197,226,11,3,14,192,197,34,5,82,196,208,1,0,8,3,14,192,197,98,11,3,14,192,197,162,156,82,196,204,1,0,8,3,14,192,197,226,11,3,15,192,197,34,5,82,196,204,1,0,8,3,15,192,197,98,11,3,15,192,197,162,156,42,196,196,1,0,8,3,33,192,198,98,10,3,33,192,198,162,5,42,196,196,1,0,8,3,33,192,198,226,10,3,15,192,197,226,156,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,5,70,196,196,1,0,8,3,34,192,198,162,11,3,34,192,198,226,16,0,197,35,1,0,8,3,35,192,198,35,11,3,35,192,198,131,16,0,197,131,1,0,8,3,35,192,198,227,11,3,36,192,198,67,156,82,196,196,1,0,8,3,16,192,197,226,11,3,17,192,197,34,5,82,196,196,1,0,8,3,17,192,197,98,11,3,17,192,197,162,17,0,197,227,1,0,8,3,18,192,197,67,11,3,18,192,197,163,19,0,197,3,1,0,8,3,19,192,197,99,11,3,19,192,197,195,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,3,0,67,0,50,0,59,0,119,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,10,51,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,52,30,0,0,52,30,0,0,92,39,0,0,92,39,0,0,56,41,0,0,56,41,0,0,88,46,0,0,142,46,0,0,238,50,0,0,50,105,114,84,1,0,64,8,214,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,170,0,48,0,178,0,183,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,197,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,158,0,48,0,48,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,13,0,202,193,13,0,202,226,13,0,202,3,14,0,202,36,14,0,202,69,14,0,202,102,14,0,202,135,14,0,202,168,14,0,202,201,14,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,4,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,166,28,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,102,29,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,134,30,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,36,32,0,5,5,0,44,5,5,0,46,5,5,0,48,201,230,46,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,47,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,198,48,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,97,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,225,17,0,5,5,127,12,198,129,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,98,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,97,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,33,27,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,50,0,201,166,51,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,193,17,0,198,1,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,18,0,198,65,27,0,198,97,28,0,198,129,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,198,52,0,201,230,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,55,0,201,38,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,57,0,201,102,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,162,29,0,198,226,29,0,192,0,0,0,192,0,0,0,198,34,30,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,59,0,201,166,60,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,31,0,197,34,5,0,198,162,31,0,197,98,5,0,198,226,31,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,32,0,198,98,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,61,0,201,230,62,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,64,0,201,38,65,0,201,70,66,0,201,102,67,0,201,134,68,0,201,166,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,70,0,201,230,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,73,0,201,38,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,75,0,201,102,76,0,201,134,77,0,201,166,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,79,0,201,230,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,137,0,5,0,4,111,93,0,72,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,7,0,5,0,4,111,93,0,7,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,7,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,50,156,5,48,0,40,3,17,192,198,193,0,70,156,5,1,0,8,3,17,192,198,225,11,3,18,192,198,1,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,131,179,30,25,192,198,227,181,30,26,192,198,67,183,30,26,192,198,163,169,30,24,192,198,3,171,30,24,192,198,99,173,30,24,192,198,195,175,30,25,192,198,35,161,30,12,0,161,30,22,192,198,194,163,30,23,192,198,2,165,30,23,192,198,67,167,30,23,192,198,163,39,2,10,0,8,3,22,192,198,97,10,3,255,255,111,93,193,4,1,30,22,192,198,130,176,69,198,34,4,3,21,192,198,35,3,1,26,0,225,1,12,0,225,1,21,192,198,35,251,1,21,192,198,131,1,2,21,192,198,226,3,2,22,192,198,34,3,1,20,192,198,2,5,1,20,192,198,66,206,1,20,192,198,130,223,1,20,192,198,195,227,0,12,0,227,0,19,192,198,2,228,0,19,192,198,66,229,0,19,192,198,130,1,1,19,192,198,194,97,0,18,192,198,33,224,0,18,192,198,66,225,0,18,192,198,130,226,0,18,192,198,194,0,50,5,5,48,0,40,3,27,192,198,1,0,70,5,5,1,0,8,3,27,192,198,33,11,3,27,192,198,65,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,162,10,3,27,192,198,226,5,42,196,162,1,0,8,3,28,192,198,34,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,5,70,196,190,1,0,8,3,29,192,198,34,11,3,29,192,198,98,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,5,70,196,162,1,0,8,3,30,192,198,226,11,3,31,192,198,34,156,42,196,200,1,0,8,3,32,192,198,162,10,3,32,192,198,226,5,42,196,200,1,0,8,3,33,192,198,34,10,3,5,192,197,226,156,82,196,198,1,0,8,3,6,192,197,34,11,3,6,192,197,98,5,82,196,198,1,0,8,3,6,192,197,162,11,3,6,192,197,226,156,82,196,208,1,0,8,3,7,192,197,34,11,3,7,192,197,98,5,82,196,208,1,0,8,3,7,192,197,162,11,3,7,192,197,226,156,82,196,204,1,0,8,3,8,192,197,34,11,3,8,192,197,98,5,82,196,204,1,0,8,3,8,192,197,162,11,3,8,192,197,226,156,42,196,196,1,0,8,3,33,192,198,98,10,3,33,192,198,162,5,42,196,196,1,0,8,3,33,192,198,226,10,3,9,192,197,34,156,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,5,70,196,196,1,0,8,3,34,192,198,162,11,3,34,192,198,226,9,0,197,99,1,0,8,3,35,192,198,35,11,3,35,192,198,131,9,0,197,195,1,0,8,3,35,192,198,227,11,3,36,192,198,67,156,82,196,196,1,0,8,3,10,192,197,34,11,3,10,192,197,98,5,82,196,196,1,0,8,3,10,192,197,162,11,3,10,192,197,226,11,0,197,35,1,0,8,3,11,192,197,131,11,3,11,192,197,227,12,0,197,67,1,0,8,3,12,192,197,163,11,3,13,192,197,3,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,60,185,64,185,68,64,4,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,66,4,185,124,185,128,185,136,186,140,186,144,68,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,70,4,168,60,168,64,168,68,92,4,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,94,4,168,124,168,128,168,136,168,140,168,144,96,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,217,180,185,188,185,180,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,249,121,121,122,217,184,136,14,185,184,185,153,153,153,249,153,217,168,153,169,0,8,2,8,168,57,136,57,232,57,104,58,200,180,168,188,168,180,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,232,121,104,122,200,184,128,14,168,184,168,153,136,153,232,153,200,168,136,169,4,8,72,170,249,58,232,58,217,57,200,57,98,4,100,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,249,180,232,180,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,132,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,184,232,184,25,185,8,185,153,137,136,137,185,138,168,138,25,138,8,138,154,141,136,141,250,141,232,141,186,142,168,142,26,142,8,142,186,146,168,146,26,146,8,146,185,148,168,148,121,154,104,154,249,154,232,154,217,153,200,153,57,154,40,154,249,168,232,168,102,4,104,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,153,174,136,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,187,144,185,84,200,140,169,140,169,144,168,84,187,88,187,96,169,88,169,96,169,176,169,112,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,65,4,188,188,97,4,179,188,192,4,188,189,193,4,156,189,194,4,252,189,195,4,124,190,196,4,92,190,197,4,60,190,224,4,179,189,225,4,147,189,226,4,243,189,227,4,115,190,228,4,83,190,229,4,51,190,0,5,252,190,1,5,243,190,2,5,220,189,3,5,211,189,4,5,220,190,5,5,211,190,255,5,185,72,255,5,185,120,255,5,185,152,255,5,168,56,97,4,170,188,224,4,170,189,225,4,138,189,226,4,234,189,227,4,106,190,228,4,74,190,229,4,42,190,1,5,234,190,3,5,202,189,5,5,202,190,255,5,168,72,255,5,168,120,255,5,168,152,255,5,217,58,255,5,200,58,255,5,217,154,255,5,200,154,255,1,170,170,3,0,67,0,50,0,59,0,191,14,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,185,14,0,32,131,27,0,32,1,0,32,0,136,27,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,47,0,0,32,7,0,0,0,21,0,0,0,49,0,0,0,49,0,0,0,3,0,0,0,0,0,0,0,30,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,98,0,97,0,99,0,107,0,119,0,97,0,114,0,100,0,115,0,32,0,50,0,93,0,0,0,170,170,170,170,32,0,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,2,0,0,0,16,40,2,15,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,40,0,0,32,1,0,32,0,45,0,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,223,7,0,32,7,0,0,0,21,0,0,0,225,7,0,0,225,7,0,0,3,0,0,0,0,0,0,0,28,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,73,0,60,0,60,0,121,0,60,0,60,0,60,0,89,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,224,30,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,20,26,0,0,20,26,0,0,20,26,0,0,20,26,0,0,240,26,0,0,240,26,0,0,240,26,0,0,240,26,0,0,200,30,0,0,50,105,114,84,1,0,64,8,148,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,95,0,103,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,124,0,48,0,48,0,131,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,119,0,48,0,48,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,124,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,5,0,202,193,5,0,202,226,5,0,202,3,6,0,202,36,6,0,202,69,6,0,202,102,6,0,202,135,6,0,202,168,6,0,202,201,6,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,134,70,0,58,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,70,0,58,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,4,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,197,34,0,0,160,5,38,93,197,34,5,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,5,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,197,98,0,0,5,5,38,93,197,162,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,0,0,197,34,1,0,197,98,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,1,0,197,226,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,2,0,197,34,3,0,197,98,3,0,197,162,3,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,70,0,58,5,136,0,0,5,70,0,58,5,136,0,0,5,70,0,58,5,150,0,0,134,70,0,58,5,142,0,0,5,70,0,58,5,142,0,0,134,70,0,58,5,150,0,0,134,70,0,58,5,164,0,0,5,70,0,58,5,164,0,0,134,70,0,58,5,156,0,0,5,70,0,58,5,156,0,0,5,70,0,58,5,146,0,0,134,70,0,58,5,138,0,0,5,70,0,58,5,138,0,0,134,70,0,58,5,196,0,0,5,70,0,58,5,196,0,0,134,70,0,58,5,182,0,0,5,70,0,58,5,182,0,0,134,70,0,58,5,154,0,0,5,70,0,58,5,154,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,2,64,12,32,14,192,14,232,14,36,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,217,88,185,168,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,200,88,168,168,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,2,8,185,172,4,8,168,57,136,57,232,57,136,58,72,58,40,58,6,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,8,8,168,172,10,8,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,12,8,14,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,16,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,18,8,20,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,22,8,24,8,26,8,153,169,136,169,185,170,168,170,25,170,8,170,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,28,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,30,8,1,0,8,14,32,8,1,0,16,14,0,13,8,13,24,14,34,8,200,12,72,12,32,14,217,56,187,72,217,88,136,1,200,140,169,140,200,56,169,72,200,88,136,1,200,88,72,2,187,88,187,96,169,88,169,96,169,176,169,112,217,120,187,72,200,120,169,72,217,88,232,1,200,88,232,1,217,88,72,2,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,216,7,0,32,1,0,32,0,221,7,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,160,16,0,32,7,0,0,0,23,0,0,0,162,16,0,0,162,16,0,0,3,0,0,0,0,0,0,0,43,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,101,0,115,0,93,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,101,0,115,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,0,0,212,35,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,77,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,148,32,0,0,148,32,0,0,148,32,0,0,148,32,0,0,252,34,0,0,252,34,0,0,188,35,0,0,188,35,0,0,188,35,0,0,50,105,114,84,1,0,64,8,252,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,84,0,92,0,98,0,106,0,114,0,122,0,48,0,56,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,146,0,154,0,48,0,48,0,48,0,162,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,170,0,48,0,48,0,178,0,48,0,184,0,192,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,195,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,144,0,48,0,48,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,229,0,48,0,48,0,235,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,80,1,136,1,200,1,192,0,228,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,18,0,202,33,18,0,202,66,18,0,202,99,18,0,202,132,18,0,202,165,18,0,202,198,18,0,202,231,18,0,202,8,19,0,202,41,19,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,198,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,166,1,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,8,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,9,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,9,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,2,0,201,38,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,230,3,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,5,0,5,71,238,102,201,166,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,197,98,1,0,192,0,0,0,192,0,0,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,197,226,2,0,197,35,3,0,197,130,3,0,192,0,0,0,192,0,0,0,197,194,3,0,197,3,4,0,197,98,4,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,0,0,197,226,4,0,5,5,10,121,197,34,5,0,197,98,5,0,5,5,12,121,5,5,16,121,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,5,5,18,121,5,5,20,121,197,66,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,7,0,201,70,8,0,201,6,9,0,201,198,9,0,201,134,10,0,201,70,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,162,0,0,5,5,10,121,5,5,12,121,197,226,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,197,162,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,1,0,5,5,107,121,197,34,2,0,5,5,111,121,197,98,2,0,5,5,115,121,197,162,2,0,5,5,119,121,197,226,2,0,197,35,3,0,197,130,3,0,5,5,127,121,5,5,129,121,197,194,3,0,197,3,4,0,197,98,4,0,5,5,137,121,5,5,139,121,197,162,4,0,5,5,143,121,5,5,6,121,197,162,0,0,197,226,4,0,5,5,10,121,197,34,5,0,197,98,5,0,5,5,12,121,5,5,16,121,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,5,5,18,121,5,5,20,121,197,66,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,68,5,5,48,0,3,3,255,255,2,69,5,5,156,68,196,160,48,0,3,3,197,162,5,68,196,160,48,0,3,3,0,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,68,196,196,48,0,3,3,7,192,197,98,5,68,196,196,48,0,3,3,7,192,197,162,156,68,196,210,48,0,3,3,7,192,197,226,5,68,196,210,48,0,3,3,8,192,197,34,156,68,196,204,48,0,3,3,8,192,197,98,5,68,196,204,48,0,3,3,8,192,197,162,3,0,67,0,50,0,59,0,43,0,0,16,16,0,0,96,1,0,0,96,170,170,170,170,186,29,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,24,0,0,212,24,0,0,212,24,0,0,212,24,0,0,88,25,0,0,88,25,0,0,210,25,0,0,210,25,0,0,162,29,0,0,50,105,114,84,1,0,64,8,128,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,2,0,202,1,3,0,202,34,3,0,202,67,3,0,202,100,3,0,202,133,3,0,202,166,3,0,202,199,3,0,202,232,3,0,202,9,4,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,6,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,230,0,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,2,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,2,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,2,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,1,0,201,102,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,3,0,201,230,3,0,201,166,4,0,201,102,5,0,201,38,6,0,201,230,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,68,5,5,48,0,3,3,255,255,2,69,5,5,156,68,196,160,48,0,3,3,197,162,5,68,196,160,48,0,3,3,0,192,197,98,156,68,196,196,48,0,3,3,0,192,197,162,5,68,196,196,48,0,3,3,0,192,197,226,156,68,196,210,48,0,3,3,1,192,197,34,5,68,196,210,48,0,3,3,1,192,197,98,156,68,196,204,48,0,3,3,1,192,197,162,5,68,196,204,48,0,3,3,1,192,197,226,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,26,4,185,124,185,128,185,132,185,140,186,144,185,148,185,156,185,160,185,164,185,168,185,172,185,176,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,28,4,168,124,168,128,168,132,168,140,168,144,168,148,168,156,168,160,168,164,168,168,168,172,168,176,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,185,116,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,157,153,157,249,157,89,158,153,173,185,180,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,168,116,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,157,136,157,232,157,72,158,136,173,168,180,72,174,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,136,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,30,4,32,4,26,114,8,114,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,250,146,232,146,26,146,8,146,249,150,232,150,25,150,8,150,185,152,168,152,153,158,136,158,57,159,40,159,217,157,200,157,57,158,40,158,121,158,104,158,25,159,8,159,249,165,232,165,249,173,232,173,89,174,153,177,136,177,185,178,168,178,25,178,8,178,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,144,169,144,200,56,169,72,187,88,187,96,169,88,169,96,169,184,169,112,217,124,187,72,200,124,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,186,112,255,5,168,112,255,5,250,114,255,5,232,114,255,1,170,170,3,0,67,0,50,0,59,0,39,9,0,16,4,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,33,9,0,32,151,16,0,32,1,0,32,0,156,16,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,170,6,0,32,7,0,0,0,21,0,0,0,172,6,0,0,172,6,0,0,3,0,0,0,0,0,0,0,67,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,86,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,71,0,117,0,106,0,114,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,208,10,60,0,130,10,60,0,60,0,129,10,60,0,131,10,0,0,124,25,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,116,0,0,0,116,1,0,0,20,25,0,0,20,25,0,0,28,25,0,0,28,25,0,0,96,25,0,0,15,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,107,188,255,0,108,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,39,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,113,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,193,2,7,107,193,3,7,107,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,2,7,107,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,67,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,163,6,0,32,1,0,32,0,168,6,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,106,9,0,32,7,0,0,0,21,0,0,0,108,9,0,0,108,9,0,0,3,0,0,0,0,0,0,0,66,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,84,220,38,0,66,0,60,0,83,2,60,0,60,0,60,0,129,1,38,0,68,0,60,0,87,2,60,0,60,0,60,0,138,1,38,0,75,0,60,0,153,1,60,0,60,0,60,0,152,1,38,0,83,0,60,0,115,0,104,0,60,0,60,0,60,0,83,0,104,0,60,0,60,0,60,0,83,0,72,0,38,0,84,0,60,0,116,0,115,0,60,0,60,0,60,0,84,0,115,0,60,0,60,0,60,0,84,0,83,0,38,0,89,0,60,0,180,1,60,0,60,0,60,0,188,2,121,0,60,0,60,0,60,0,39,0,39,0,121,0,60,0,60,0,60,0,179,1,60,0,60,0,60,0,188,2,89,0,60,0,60,0,60,0,39,0,39,0,89,0,0,0,170,170,170,170,122,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,25,0,0,164,25,0,0,164,25,0,0,164,25,0,0,228,28,0,0,228,28,0,0,196,31,0,0,26,32,0,0,98,36,0,0,50,105,114,84,1,0,64,8,141,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,94,0,102,0,100,0,108,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,124,0,48,0,48,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,64,1,192,0,192,0,120,1,144,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,201,0,0,0,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,24,0,202,225,24,0,202,2,25,0,202,35,25,0,202,68,25,0,202,101,25,0,202,134,25,0,202,167,25,0,202,200,25,0,202,233,25,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,96,9,0,201,32,17,0,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,64,27,0,201,96,31,0,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,2,24,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,66,24,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,130,24,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,134,5,2,45,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,63,5,5,2,63,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,136,5,2,91,5,5,2,91,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,45,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,128,36,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,74,5,2,91,5,136,0,0,7,5,2,91,5,136,0,0,7,5,2,91,5,150,0,0,74,5,2,91,5,142,0,0,7,5,2,91,5,142,0,0,74,5,2,91,5,150,0,0,74,5,2,91,5,164,0,0,7,5,2,91,5,164,0,0,74,5,2,91,5,156,0,0,7,5,2,91,5,156,0,0,7,5,2,91,5,146,0,0,74,5,2,91,5,138,0,0,7,5,2,91,5,138,0,0,74,5,2,91,5,196,0,0,7,5,2,91,5,196,0,0,74,5,2,91,5,182,0,0,7,5,2,91,5,182,0,0,74,5,2,91,5,154,0,0,7,5,2,91,5,154,0,0,135,5,2,79,5,142,0,0,70,5,2,79,5,142,0,0,135,5,2,79,5,144,0,0,70,5,2,79,5,144,0,0,135,5,2,79,5,156,0,0,70,5,2,79,5,156,0,0,135,5,2,79,5,196,0,0,70,5,2,79,5,196,0,0,135,5,2,79,5,150,0,0,70,5,2,79,5,150,0,0,135,5,2,79,5,160,0,0,70,5,2,79,5,160,0,0,135,5,2,79,5,206,0,0,70,5,2,79,5,206,0,0,70,5,2,79,5,210,0,0,135,5,2,81,5,136,0,0,70,5,2,81,5,136,0,0,135,5,2,81,5,142,0,0,70,5,2,81,5,142,0,0,135,5,2,81,5,160,0,0,70,5,2,81,5,160,0,0,135,5,2,81,5,144,0,0,70,5,2,81,5,144,0,0,135,5,2,81,5,202,0,0,70,5,2,81,5,202,0,0,135,5,2,81,5,156,0,0,70,5,2,81,5,156,0,0,135,5,2,81,5,196,0,0,70,5,2,81,5,196,0,0,135,5,2,81,5,136,0,0,5,156,0,0,70,5,2,81,5,136,0,0,5,156,0,0,135,5,2,81,5,144,0,0,5,156,0,0,70,5,2,81,5,144,0,0,5,156,0,0,135,5,2,81,5,196,0,0,5,156,0,0,70,5,2,81,5,196,0,0,5,156,0,0,5,5,2,79,5,142,0,0,5,5,2,79,5,144,0,0,5,5,2,79,5,156,0,0,5,5,2,79,5,196,0,0,5,5,2,79,5,150,0,0,5,5,2,79,5,160,0,0,5,5,2,79,5,206,0,0,5,5,2,79,5,210,0,0,5,5,2,81,5,136,0,0,5,5,2,81,5,142,0,0,5,5,2,81,5,160,0,0,5,5,2,81,5,144,0,0,5,5,2,81,5,202,0,0,5,5,2,81,5,156,0,0,5,5,2,81,5,196,0,0,5,5,2,81,5,136,0,0,5,156,0,0,5,5,2,81,5,144,0,0,5,156,0,0,5,5,2,81,5,196,0,0,5,156,0,0,73,5,2,91,5,136,0,0,6,5,2,91,5,136,0,0,6,5,2,91,5,150,0,0,73,5,2,91,5,142,0,0,6,5,2,91,5,142,0,0,73,5,2,91,5,150,0,0,73,5,2,91,5,164,0,0,6,5,2,91,5,164,0,0,73,5,2,91,5,156,0,0,6,5,2,91,5,156,0,0,6,5,2,91,5,146,0,0,73,5,2,91,5,138,0,0,6,5,2,91,5,138,0,0,73,5,2,91,5,196,0,0,6,5,2,91,5,196,0,0,73,5,2,91,5,182,0,0,6,5,2,91,5,182,0,0,73,5,2,91,5,154,0,0,6,5,2,91,5,154,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,106,9,5,5,20,0,142,30,37,0,244,30,20,0,247,30,9,0,247,30,4,192,197,34,248,30,4,192,197,98,249,30,4,192,197,162,244,30,3,192,197,98,245,30,3,192,197,162,246,30,3,192,197,226,142,30,2,192,197,34,143,30,2,192,197,98,153,30,2,192,197,162,242,30,2,192,197,226,243,30,3,192,197,34,118,1,15,0,118,1,0,192,197,226,119,1,1,192,197,34,120,1,1,192,197,98,50,2,1,192,197,162,51,2,1,192,197,226,89,0,255,255,2,91,74,5,121,0,255,255,2,91,7,5,221,0,197,162,253,0,0,192,197,98,255,0,0,192,197,162,0,78,156,5,16,0,36,30,29,0,40,30,15,0,40,30,7,192,197,98,41,30,7,192,197,162,42,30,7,192,197,226,43,30,8,192,197,34,150,30,8,192,197,98,36,30,6,192,197,98,37,30,6,192,197,162,38,30,6,192,197,226,39,30,7,192,197,34,30,2,12,0,30,2,5,192,197,98,31,2,5,192,197,162,34,30,5,192,197,226,35,30,6,192,197,34,72,0,255,255,2,79,135,5,104,0,255,255,2,79,70,5,36,1,4,192,197,226,37,1,5,192,197,34,0,80,156,5,21,0,25,2,37,0,100,30,20,0,103,30,9,0,103,30,13,192,197,67,104,30,13,192,197,163,105,30,14,192,197,3,100,30,12,192,197,35,101,30,12,192,197,131,102,30,12,192,197,227,25,2,10,192,197,226,96,30,11,192,197,34,97,30,11,192,197,98,98,30,11,192,197,162,99,30,11,192,197,226,93,1,20,0,96,1,9,0,96,1,10,192,197,34,97,1,10,192,197,98,24,2,10,192,197,162,93,1,9,192,197,98,94,1,9,192,197,162,95,1,9,192,197,226,83,0,255,255,2,81,135,5,115,0,255,255,2,81,70,5,90,1,8,192,197,162,91,1,8,192,197,226,92,1,9,192,197,34,0,78,5,5,8,0,37,30,15,0,37,30,15,192,197,34,39,30,15,192,197,98,41,30,15,192,197,162,43,30,15,192,197,226,150,30,16,192,197,34,104,0,255,255,2,79,5,5,37,1,14,192,197,98,31,2,14,192,197,162,35,30,14,192,197,226,0,80,5,5,10,0,25,2,20,0,101,30,9,0,101,30,18,192,197,35,103,30,18,192,197,131,105,30,18,192,197,227,25,2,17,192,197,98,97,30,17,192,197,162,99,30,17,192,197,226,115,0,255,255,2,81,5,5,91,1,16,192,197,98,93,1,16,192,197,162,95,1,16,192,197,226,97,1,17,192,197,34,82,93,5,5,20,0,142,30,37,0,244,30,20,0,247,30,9,0,247,30,23,192,197,66,248,30,23,192,197,130,249,30,23,192,197,194,244,30,22,192,197,130,245,30,22,192,197,194,246,30,23,192,197,2,142,30,21,192,197,66,143,30,21,192,197,130,153,30,21,192,197,194,242,30,22,192,197,2,243,30,22,192,197,66,118,1,15,0,118,1,20,192,197,2,119,1,20,192,197,66,120,1,20,192,197,130,50,2,20,192,197,194,51,2,21,192,197,2,89,0,255,255,2,91,73,5,121,0,255,255,2,91,6,5,221,0,19,192,197,66,253,0,19,192,197,130,255,0,19,192,197,194,42,0,72,0,73,0,83,0,84,0,89,0,90,0,104,0,105,0,115,0,116,0,121,0,122,0,221,0,222,0,253,0,254,0,255,0,0,1,36,1,38,1,90,1,98,1,118,1,121,1,24,2,26,2,30,2,32,2,50,2,52,2,34,30,44,30,96,30,106,30,142,30,144,30,150,30,151,30,153,30,154,30,242,30,250,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,26,4,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,44,4,54,4,185,160,185,164,185,168,185,172,185,176,185,184,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,76,4,82,4,168,160,168,164,168,168,168,172,168,176,168,184,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,161,153,161,249,161,89,162,153,177,185,188,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,161,136,161,232,161,72,162,136,177,168,188,72,178,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,150,232,150,25,150,8,150,185,156,168,156,153,162,136,162,57,163,40,163,217,161,200,161,57,162,40,162,121,162,104,162,25,163,8,163,249,169,232,169,249,177,232,177,89,178,153,185,136,185,185,186,168,186,25,186,8,186,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,192,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,216,12,89,4,178,180,121,4,169,180,221,4,146,181,253,4,137,181,255,4,73,182,118,5,242,181,119,5,233,181,120,5,82,182,255,5,186,140,72,4,186,144,104,4,177,144,36,5,250,145,37,5,241,145,255,5,185,148,83,4,186,152,115,4,177,152,90,5,154,153,91,5,145,153,92,5,250,153,93,5,241,153,94,5,250,154,95,5,241,154,96,5,26,154,97,5,17,154,255,5,168,140,104,4,168,144,37,5,232,145,255,5,168,148,115,4,168,152,91,5,136,153,93,5,232,153,95,5,232,154,97,5,8,154,255,1,170,170,3,0,69,0,52,0,61,0,67,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,99,9,0,32,1,0,32,0,104,9,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,249,10,0,32,7,0,0,0,21,0,0,0,251,10,0,0,251,10,0,0,3,0,0,0,0,0,0,0,39,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,97,0,60,0,101,0,60,0,60,0,60,0,69,0,60,0,105,0,60,0,60,0,60,0,73,0,60,0,111,0,60,0,60,0,60,0,79,0,60,0,117,0,60,0,60,0,60,0,85,0,38,0,119,0,60,0,187,2,0,0,170,170,40,43,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,31,0,0,84,31,0,0,84,31,0,0,84,31,0,0,80,39,0,0,80,39,0,0,80,39,0,0,80,39,0,0,16,43,0,0,50,105,114,84,1,0,64,8,232,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,93,0,101,0,106,0,114,0,119,0,127,0,134,0,142,0,48,0,56,0,147,0,155,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,174,0,182,0,187,0,192,0,48,0,199,0,207,0,215,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,171,0,48,0,48,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,116,1,168,1,220,1,24,2,192,0,76,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,62,0,202,193,62,0,202,226,62,0,202,3,63,0,202,36,63,0,202,69,63,0,202,102,63,0,202,135,63,0,202,168,63,0,202,201,63,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,134,5,2,43,156,5,0,52,156,5,0,54,156,5,0,56,134,5,3,43,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,134,5,4,43,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,134,5,5,43,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,2,43,5,5,0,52,5,5,0,54,5,5,0,56,5,5,3,43,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,4,43,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,5,43,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,61,0,196,160,156,46,197,34,0,0,197,98,0,0,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,197,162,1,0,197,226,1,0,160,112,0,48,196,154,156,68,197,34,2,0,197,98,2,0,197,162,2,0,197,226,2,0,197,34,3,0,5,5,127,12,196,158,156,70,197,98,3,0,197,162,3,0,197,226,3,0,197,34,4,0,196,136,156,90,160,5,38,93,197,34,62,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,62,0,196,160,5,46,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,5,112,0,48,196,154,5,68,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,197,98,7,0,5,5,125,12,196,158,5,70,197,162,7,0,197,226,7,0,197,34,8,0,197,98,8,0,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,8,0,197,226,8,0,197,34,9,0,197,98,9,0,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,14,0,197,34,15,0,197,98,15,0,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,197,98,17,0,197,162,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,17,0,197,34,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,18,0,197,162,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,18,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,197,34,20,0,197,99,20,0,197,195,20,0,197,35,21,0,197,131,21,0,197,227,21,0,197,67,22,0,197,163,22,0,197,3,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,23,0,197,162,23,0,197,227,23,0,197,67,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,197,34,25,0,197,98,25,0,197,162,25,0,197,226,25,0,197,34,26,0,197,98,26,0,197,162,26,0,197,226,26,0,197,34,27,0,197,98,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,27,0,197,226,27,0,197,34,28,0,197,98,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,28,0,197,226,28,0,197,35,29,0,197,131,29,0,197,227,29,0,197,67,30,0,197,162,30,0,197,226,30,0,197,35,31,0,197,131,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,87,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,31,0,197,67,32,0,197,163,32,0,197,3,33,0,197,98,33,0,197,162,33,0,197,226,33,0,197,34,34,0,197,99,34,0,197,195,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,35,0,197,98,35,0,197,163,35,0,197,3,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,36,0,197,195,36,0,197,35,37,0,197,131,37,0,197,227,37,0,197,67,38,0,197,163,38,0,197,3,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,39,0,197,162,39,0,197,226,39,0,197,34,40,0,197,98,40,0,197,162,40,0,197,227,40,0,197,67,41,0,197,163,41,0,197,3,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,42,0,197,162,42,0,197,226,42,0,197,34,43,0,197,98,43,0,197,162,43,0,197,227,43,0,197,67,44,0,197,163,44,0,197,3,45,0,197,99,45,0,197,195,45,0,197,35,46,0,197,131,46,0,197,227,46,0,197,67,47,0,197,162,47,0,197,226,47,0,197,34,48,0,197,98,48,0,197,162,48,0,197,226,48,0,197,34,49,0,197,98,49,0,197,163,49,0,197,3,50,0,197,99,50,0,197,195,50,0,197,35,51,0,197,131,51,0,197,227,51,0,197,67,52,0,197,163,52,0,197,3,53,0,197,99,53,0,197,195,53,0,197,35,54,0,197,131,54,0,197,227,54,0,197,67,55,0,197,163,55,0,197,3,56,0,197,99,56,0,197,195,56,0,197,34,57,0,197,98,57,0,197,162,57,0,197,226,57,0,197,35,58,0,197,131,58,0,197,227,58,0,197,67,59,0,197,163,59,0,197,3,60,0,197,99,60,0,197,195,60,0,197,35,61,0,197,131,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,43,5,138,0,0,134,5,2,43,5,136,0,0,134,5,2,43,5,142,0,0,134,5,2,43,5,150,0,0,134,5,3,43,5,138,0,0,134,5,3,43,5,136,0,0,134,5,3,43,5,142,0,0,134,5,3,43,5,150,0,0,134,5,4,43,5,138,0,0,134,5,4,43,5,136,0,0,134,5,4,43,5,142,0,0,134,5,4,43,5,154,0,0,134,5,4,43,5,150,0,0,134,5,5,43,5,138,0,0,134,5,5,43,5,136,0,0,134,5,5,43,5,142,0,0,134,5,5,43,5,150,0,0,5,5,2,43,5,138,0,0,5,5,2,43,5,136,0,0,5,5,2,43,5,142,0,0,5,5,2,43,5,150,0,0,5,5,3,43,5,138,0,0,5,5,3,43,5,136,0,0,5,5,3,43,5,142,0,0,5,5,3,43,5,150,0,0,5,5,4,43,5,138,0,0,5,5,4,43,5,136,0,0,5,5,4,43,5,142,0,0,5,5,4,43,5,154,0,0,5,5,4,43,5,150,0,0,5,5,5,43,5,138,0,0,5,5,5,43,5,136,0,0,5,5,5,43,5,142,0,0,5,5,5,43,5,150,0,0,134,5,2,43,5,164,0,0,5,5,2,43,5,164,0,0,134,5,2,43,5,140,0,0,5,5,2,43,5,140,0,0,134,5,2,43,5,156,0,0,5,5,2,43,5,156,0,0,134,5,2,43,5,162,0,0,5,5,2,43,5,162,0,0,134,5,2,43,5,144,0,0,5,5,2,43,5,144,0,0,134,5,3,43,5,154,0,0,5,5,3,43,5,154,0,0,134,5,3,43,5,164,0,0,5,5,3,43,5,164,0,0,134,5,3,43,5,140,0,0,5,5,3,43,5,140,0,0,134,5,3,43,5,162,0,0,5,5,3,43,5,162,0,0,134,5,3,43,5,156,0,0,134,5,4,43,5,164,0,0,5,5,4,43,5,164,0,0,134,5,4,43,5,140,0,0,5,5,4,43,5,140,0,0,134,5,4,43,5,152,0,0,5,5,4,43,5,152,0,0,134,5,5,43,5,154,0,0,5,5,5,43,5,154,0,0,134,5,5,43,5,164,0,0,5,5,5,43,5,164,0,0,134,5,5,43,5,140,0,0,5,5,5,43,5,140,0,0,134,5,5,43,5,146,0,0,5,5,5,43,5,146,0,0,134,5,5,43,5,152,0,0,5,5,5,43,5,152,0,0,134,5,5,43,5,162,0,0,5,5,5,43,5,162,0,0,134,5,4,43,5,190,0,0,5,5,4,43,5,190,0,0,134,5,5,43,5,190,0,0,5,5,5,43,5,190,0,0,134,5,3,43,5,144,0,0,5,5,3,43,5,144,0,0,134,5,4,43,5,144,0,0,5,5,4,43,5,144,0,0,134,5,5,43,5,144,0,0,5,5,5,43,5,144,0,0,134,5,5,43,5,150,0,0,5,164,0,0,5,5,5,43,5,150,0,0,5,164,0,0,134,5,5,43,5,150,0,0,5,136,0,0,5,5,5,43,5,150,0,0,5,136,0,0,134,5,5,43,5,150,0,0,5,144,0,0,5,5,5,43,5,150,0,0,5,144,0,0,134,5,5,43,5,150,0,0,5,138,0,0,5,5,5,43,5,150,0,0,5,138,0,0,134,5,4,43,5,162,0,0,5,5,4,43,5,162,0,0,134,5,4,43,5,162,0,0,5,164,0,0,5,5,4,43,5,162,0,0,5,164,0,0,134,5,2,43,5,184,0,0,5,5,2,43,5,184,0,0,134,5,2,43,5,188,0,0,5,5,2,43,5,188,0,0,134,5,3,43,5,184,0,0,5,5,3,43,5,184,0,0,134,5,3,43,5,188,0,0,5,5,3,43,5,188,0,0,134,5,4,43,5,184,0,0,5,5,4,43,5,184,0,0,134,5,4,43,5,188,0,0,5,5,4,43,5,188,0,0,134,5,5,43,5,184,0,0,5,5,5,43,5,184,0,0,134,5,5,43,5,188,0,0,5,5,5,43,5,188,0,0,134,5,2,43,5,160,0,0,5,5,2,43,5,160,0,0,134,5,4,43,5,150,0,0,5,164,0,0,5,5,4,43,5,150,0,0,5,164,0,0,134,5,4,43,5,154,0,0,5,164,0,0,5,5,4,43,5,154,0,0,5,164,0,0,134,5,4,43,5,156,0,0,5,5,4,43,5,156,0,0,134,5,4,43,5,156,0,0,5,164,0,0,5,5,4,43,5,156,0,0,5,164,0,0,134,5,2,43,5,164,0,0,5,138,0,0,5,5,2,43,5,164,0,0,5,138,0,0,134,5,2,43,5,164,0,0,5,136,0,0,5,5,2,43,5,164,0,0,5,136,0,0,134,5,2,43,5,204,0,0,5,5,2,43,5,204,0,0,134,5,2,43,5,208,0,0,5,5,2,43,5,208,0,0,134,5,2,43,5,160,0,0,5,140,0,0,5,5,2,43,5,160,0,0,5,140,0,0,134,5,3,43,5,208,0,0,5,5,3,43,5,208,0,0,134,5,3,43,5,150,0,0,5,136,0,0,5,5,3,43,5,150,0,0,5,136,0,0,134,5,4,43,5,154,0,0,5,136,0,0,5,5,4,43,5,154,0,0,5,136,0,0,134,5,4,43,5,154,0,0,5,150,0,0,5,5,4,43,5,154,0,0,5,150,0,0,134,5,4,43,5,164,0,0,5,138,0,0,5,5,4,43,5,164,0,0,5,138,0,0,134,5,4,43,5,164,0,0,5,136,0,0,5,5,4,43,5,164,0,0,5,136,0,0,134,5,5,43,5,198,0,0,5,5,5,43,5,198,0,0,134,5,5,43,5,208,0,0,5,5,5,43,5,208,0,0,134,5,5,43,5,204,0,0,5,5,5,43,5,204,0,0,134,5,5,43,5,154,0,0,5,136,0,0,5,5,5,43,5,154,0,0,5,136,0,0,134,5,5,43,5,164,0,0,5,150,0,0,5,5,5,43,5,164,0,0,5,150,0,0,134,5,2,43,5,196,0,0,5,5,2,43,5,196,0,0,134,5,2,43,5,182,0,0,5,5,2,43,5,182,0,0,134,5,2,43,5,154,0,0,5,5,2,43,5,154,0,0,134,5,2,43,5,142,0,0,5,136,0,0,5,5,2,43,5,142,0,0,5,136,0,0,134,5,2,43,5,142,0,0,5,138,0,0,5,5,2,43,5,142,0,0,5,138,0,0,134,5,2,43,5,142,0,0,5,182,0,0,5,5,2,43,5,142,0,0,5,182,0,0,134,5,2,43,5,142,0,0,5,154,0,0,5,5,2,43,5,142,0,0,5,154,0,0,134,5,2,43,5,196,0,0,5,142,0,0,5,5,2,43,5,196,0,0,5,142,0,0,134,5,3,43,5,182,0,0,5,5,3,43,5,182,0,0,134,5,3,43,5,196,0,0,5,5,3,43,5,196,0,0,134,5,4,43,5,196,0,0,5,5,4,43,5,196,0,0,134,5,4,43,5,182,0,0,5,5,4,43,5,182,0,0,134,5,4,43,5,142,0,0,5,136,0,0,5,5,4,43,5,142,0,0,5,136,0,0,134,5,4,43,5,142,0,0,5,138,0,0,5,5,4,43,5,142,0,0,5,138,0,0,134,5,4,43,5,142,0,0,5,182,0,0,5,5,4,43,5,142,0,0,5,182,0,0,134,5,4,43,5,142,0,0,5,154,0,0,5,5,4,43,5,142,0,0,5,154,0,0,134,5,4,43,5,196,0,0,5,142,0,0,5,5,4,43,5,196,0,0,5,142,0,0,134,5,4,43,5,190,0,0,5,136,0,0,5,5,4,43,5,190,0,0,5,136,0,0,134,5,4,43,5,190,0,0,5,138,0,0,5,5,4,43,5,190,0,0,5,138,0,0,134,5,4,43,5,190,0,0,5,182,0,0,5,5,4,43,5,190,0,0,5,182,0,0,134,5,4,43,5,190,0,0,5,154,0,0,5,5,4,43,5,190,0,0,5,154,0,0,134,5,4,43,5,190,0,0,5,196,0,0,5,5,4,43,5,190,0,0,5,196,0,0,134,5,5,43,5,196,0,0,5,5,5,43,5,196,0,0,134,5,5,43,5,182,0,0,5,5,5,43,5,182,0,0,134,5,5,43,5,190,0,0,5,136,0,0,5,5,5,43,5,190,0,0,5,136,0,0,134,5,5,43,5,190,0,0,5,138,0,0,5,5,5,43,5,190,0,0,5,138,0,0,134,5,5,43,5,190,0,0,5,182,0,0,5,5,5,43,5,190,0,0,5,182,0,0,134,5,5,43,5,190,0,0,5,154,0,0,5,5,5,43,5,190,0,0,5,154,0,0,134,5,5,43,5,190,0,0,5,196,0,0,5,5,5,43,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,76,185,80,185,84,185,60,185,92,185,96,185,100,185,64,186,112,185,116,185,120,185,124,186,128,185,68,185,140,185,144,185,152,186,156,185,160,185,72,185,168,185,172,185,176,185,180,185,184,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,76,168,80,168,84,168,60,168,92,168,96,168,100,168,64,168,112,168,116,168,120,168,124,168,128,168,68,168,140,168,144,168,152,168,156,168,160,168,72,168,168,168,172,168,176,168,180,168,184,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,82,185,61,153,61,249,61,89,62,185,65,153,65,249,65,89,66,217,84,154,130,185,69,153,69,249,69,153,70,89,70,136,14,217,138,185,73,153,73,249,73,89,74,153,181,185,188,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,82,168,61,136,61,232,61,72,62,168,65,136,65,232,65,72,66,200,84,136,130,168,69,136,69,232,69,136,70,72,70,128,14,200,138,168,73,136,73,232,73,72,74,136,181,168,188,72,182,57,59,40,59,217,57,200,57,25,59,8,59,153,81,136,81,249,81,232,81,185,82,168,82,25,82,8,82,25,86,8,86,89,87,72,87,57,63,40,63,217,61,200,61,185,62,168,62,25,63,8,63,25,62,8,62,249,97,232,97,217,97,200,97,185,98,168,98,249,98,232,98,249,101,232,101,89,103,72,103,153,66,136,66,57,67,40,67,217,65,200,65,25,67,8,67,185,66,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,148,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,129,136,129,250,130,232,130,26,130,8,130,10,8,185,132,168,132,57,71,40,71,217,69,200,69,121,70,104,70,12,8,14,8,153,153,136,153,249,154,232,154,25,154,8,154,154,157,136,157,250,157,232,157,250,158,232,158,26,158,8,158,249,162,232,162,25,162,8,162,185,164,168,164,153,74,136,74,57,75,40,75,217,73,200,73,57,74,40,74,121,74,104,74,25,75,8,75,249,173,232,173,249,181,232,181,89,182,153,185,136,185,185,186,168,186,25,186,8,186,232,156,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,186,88,200,156,169,156,200,56,169,88,186,104,187,112,169,104,169,112,169,192,169,128,217,136,186,88,200,136,169,88,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,69,0,52,0,61,0,39,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,242,10,0,32,1,0,32,0,247,10,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,108,15,0,32,7,0,0,0,23,0,0,0,110,15,0,0,110,15,0,0,3,0,0,0,0,0,0,0,79,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,14,32,38,0,243,5,60,0,60,0,39,0,39,0,14,32,38,0,244,5,60,0,60,0,39,0,34,0,39,0,0,0,65,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,101,0,98,0,114,0,93,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,39,0,39,0,60,0,60,0,243,5,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,39,0,34,0,39,0,60,0,60,0,244,5,0,0,170,170,106,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,61,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,228,31,0,0,228,31,0,0,228,31,0,0,228,31,0,0,12,34,0,0,12,34,0,0,82,34,0,0,82,34,0,0,82,34,0,0,50,105,114,84,1,0,64,8,241,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,110,0,118,0,48,0,56,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,150,0,48,0,48,0,48,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,174,0,48,0,180,0,188,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,199,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,140,0,48,0,48,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,224,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,184,1,192,0,212,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,253,0,0,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,194,5,221,251,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,16,0,202,33,16,0,202,66,16,0,202,99,16,0,202,132,16,0,202,165,16,0,202,198,16,0,202,231,16,0,202,8,17,0,202,41,17,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,6,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,220,251,5,252,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,0,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,0,5,71,238,102,201,134,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,197,162,1,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,197,163,2,0,197,2,3,0,192,0,0,0,192,0,0,0,197,66,3,0,197,131,3,0,197,226,3,0,192,0,0,0,192,0,0,0,197,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,0,0,5,5,10,121,5,5,12,121,197,98,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,98,1,0,5,5,107,121,197,162,1,0,5,5,111,121,197,226,1,0,5,5,115,121,197,34,2,0,5,5,119,121,197,98,2,0,197,163,2,0,197,2,3,0,5,5,127,121,5,5,129,121,197,66,3,0,197,131,3,0,197,226,3,0,5,5,137,121,5,5,139,121,197,34,4,0,5,5,143,121,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,170,170,3,0,67,0,50,0,59,0,79,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,188,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,64,0,0,0,64,1,0,0,96,25,0,0,96,25,0,0,96,25,0,0,96,25,0,0,164,25,0,0,19,0,0,0,0,0,0,101,194,255,50,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,0,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,2,106,9,5,2,120,9,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,67,0,50,0,59,0,243,8,0,16,44,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,235,8,0,32,99,15,0,32,1,0,32,0,104,15,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,168,6,0,32,7,0,0,0,21,0,0,0,170,6,0,0,170,6,0,0,3,0,0,0,0,0,0,0,67,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,86,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,80,9,60,0,2,9,60,0,60,0,1,9,60,0,3,9,0,0,116,25,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,108,0,0,0,108,1,0,0,12,25,0,0,12,25,0,0,20,25,0,0,20,25,0,0,88,25,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,39,40,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,113,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,193,2,7,104,193,3,7,104,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,2,7,104,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,67,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,161,6,0,32,1,0,32,0,166,6,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,220,19,0,32,7,0,0,0,23,0,0,0,222,19,0,0,222,19,0,0,3,0,0,0,0,0,0,0,128,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,65,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,104,0,114,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,111,0,116,0,104,0,101,0,114,0,115,0,93,0,0,0,136,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,60,0,7,1,60,0,60,0,60,0,6,1,38,0,68,0,60,0,100,0,126,1,60,0,60,0,60,0,198,1,60,0,60,0,60,0,68,0,126,1,60,0,60,0,60,0,197,1,60,0,60,0,60,0,68,0,125,1,60,0,60,0,60,0,196,1,60,0,17,1,60,0,60,0,60,0,16,1,38,0,76,0,60,0,108,0,106,0,60,0,60,0,60,0,201,1,60,0,60,0,60,0,76,0,106,0,60,0,60,0,60,0,200,1,60,0,60,0,60,0,76,0,74,0,60,0,60,0,60,0,199,1,38,0,78,0,60,0,110,0,106,0,60,0,60,0,60,0,204,1,60,0,60,0,60,0,78,0,106,0,60,0,60,0,60,0,203,1,60,0,60,0,60,0,78,0,74,0,60,0,60,0,60,0,202,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,252,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,113,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,180,35,0,0,180,35,0,0,180,35,0,0,180,35,0,0,172,38,0,0,172,38,0,0,198,40,0,0,228,40,0,0,228,40,0,0,50,105,114,84,1,0,64,8,46,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,122,0,130,0,136,0,144,0,152,0,160,0,48,0,56,0,159,0,167,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,184,0,192,0,48,0,48,0,48,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,0,48,0,48,0,216,0,48,0,222,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,233,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,240,0,48,0,48,0,248,0,252,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,182,0,48,0,48,0,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,15,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,23,1,48,0,48,0,29,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,232,1,32,2,96,2,192,0,124,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,22,0,202,161,22,0,202,194,22,0,202,227,22,0,202,4,23,0,202,37,23,0,202,70,23,0,202,103,23,0,202,136,23,0,202,169,23,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,198,0,0,201,68,2,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,224,4,0,156,5,0,66,201,64,7,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,198,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,166,10,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,134,11,0,201,4,13,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,128,14,0,5,5,0,66,201,32,16,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,198,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,166,18,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,13,0,201,134,19,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,13,0,201,6,21,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,22,0,201,70,23,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,24,0,201,198,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,25,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,27,0,5,71,238,102,201,70,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,5,0,192,0,0,0,197,98,5,0,192,0,0,0,192,0,0,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,197,34,6,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,197,226,6,0,197,35,7,0,197,130,7,0,192,0,0,0,192,0,0,0,197,194,7,0,197,3,8,0,197,98,8,0,192,0,0,0,192,0,0,0,197,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,29,0,201,230,29,0,192,0,0,0,192,0,0,0,197,226,11,0,197,34,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,30,0,201,102,31,0,201,38,32,0,201,230,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,162,4,0,5,5,10,121,5,5,12,121,197,226,4,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,197,162,5,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,5,0,5,5,107,121,197,34,6,0,5,5,111,121,197,98,6,0,5,5,115,121,197,162,6,0,5,5,119,121,197,226,6,0,197,35,7,0,197,130,7,0,5,5,127,121,5,5,129,121,197,194,7,0,197,3,8,0,197,98,8,0,5,5,137,121,5,5,139,121,197,162,8,0,5,5,143,121,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,78,196,196,48,0,12,3,11,192,197,98,5,78,196,196,48,0,12,3,11,192,197,162,156,92,196,196,48,0,12,3,12,192,197,98,5,92,196,196,48,0,12,3,12,192,197,162,156,92,196,210,48,0,12,3,12,192,197,226,5,92,196,210,48,0,12,3,13,192,197,34,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,3,0,67,0,50,0,59,0,131,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,28,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,188,28,0,0,188,28,0,0,188,28,0,0,188,28,0,0,208,29,0,0,208,29,0,0,164,31,0,0,194,31,0,0,4,36,0,0,25,0,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,94,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,174,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,145,0,48,0,48,0,153,0,157,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,139,0,48,0,48,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,7,0,202,129,7,0,202,162,7,0,202,195,7,0,202,228,7,0,202,5,8,0,202,38,8,0,202,71,8,0,202,104,8,0,202,137,8,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,201,132,1,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,32,4,0,156,5,0,66,201,128,6,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,6,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,230,9,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,198,10,0,201,68,12,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,192,13,0,5,5,0,66,201,96,15,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,6,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,230,17,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,6,0,201,198,18,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,6,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,7,0,201,70,20,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,21,0,201,134,22,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,23,0,201,6,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,24,0,201,134,25,0,192,0,0,0,192,0,0,0,197,34,5,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,26,0,201,6,27,0,201,198,27,0,201,134,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,156,78,196,196,48,0,12,3,4,192,197,162,5,78,196,196,48,0,12,3,4,192,197,226,156,92,196,196,48,0,12,3,5,192,197,162,5,92,196,196,48,0,12,3,5,192,197,226,156,92,196,210,48,0,12,3,6,192,197,34,5,92,196,210,48,0,12,3,6,192,197,98,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,28,4,186,88,185,92,185,96,185,100,186,104,186,112,185,116,36,4,185,128,46,4,185,144,185,148,185,152,185,160,56,4,185,172,185,180,185,184,185,188,185,192,185,196,58,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,60,4,62,4,168,88,168,92,168,96,168,100,168,104,168,112,168,116,67,4,168,128,73,4,168,144,168,148,168,152,168,160,79,4,168,172,168,180,168,184,168,188,168,192,168,196,81,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,144,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,83,4,186,89,154,89,250,89,90,90,186,105,154,105,250,105,90,106,217,76,154,134,185,145,153,145,249,145,153,146,89,146,136,14,217,146,185,181,153,181,249,181,89,182,153,197,185,208,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,85,4,168,89,136,89,232,89,72,90,168,105,136,105,232,105,72,106,200,76,136,134,168,145,136,145,232,145,136,146,72,146,128,14,200,146,168,181,136,181,232,181,72,182,136,197,168,208,72,198,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,185,84,168,84,58,91,40,91,218,89,200,89,186,90,168,90,26,91,8,91,26,90,8,90,249,97,232,97,217,97,200,97,185,98,168,98,249,98,232,98,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,140,168,140,57,147,40,147,217,145,200,145,121,146,104,146,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,154,165,136,165,250,165,232,165,87,4,89,4,185,168,168,168,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,249,197,232,197,89,198,153,201,136,201,185,202,168,202,185,204,168,204,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,88,200,164,169,164,200,56,169,88,187,104,187,112,169,104,169,112,169,212,169,132,217,144,187,88,200,144,169,88,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,76,90,2,122,2,125,5,186,80,126,5,177,80,255,5,185,120,74,4,186,124,106,4,177,124,52,5,250,125,53,5,241,125,255,5,186,132,74,4,186,136,106,4,177,136,52,5,250,137,53,5,241,137,255,5,186,164,255,5,185,200,255,5,168,64,255,5,168,76,122,2,126,5,168,80,255,5,168,120,106,4,168,124,53,5,232,125,255,5,168,132,106,4,168,136,53,5,232,137,255,5,168,164,255,5,168,200,255,5,249,66,255,5,232,66,255,5,250,166,255,5,232,166,255,1,3,0,67,0,50,0,59,0,203,10,0,16,71,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,195,10,0,32,211,19,0,32,1,0,32,0,216,19,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,221,9,0,32,7,0,0,0,21,0,0,0,223,9,0,0,223,9,0,0,3,0,0,0,0,0,0,0,70,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,220,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,60,0,7,1,60,0,60,0,60,0,6,1,38,0,69,0,60,0,27,1,60,0,60,0,60,0,26,1,38,0,72,0,60,0,99,0,104,0,60,0,60,0,60,0,99,0,72,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,32,0,76,0,60,0,66,1,60,0,60,0,60,0,65,1,38,0,82,0,60,0,89,1,60,0,60,0,60,0,88,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,60,0,122,1,60,0,60,0,60,0,121,1,0,0,170,170,170,170,170,170,56,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,28,0,0,84,28,0,0,84,28,0,0,84,28,0,0,168,30,0,0,168,30,0,0,222,33,0,0,248,33,0,0,32,38,0,0,50,105,114,84,1,0,64,8,184,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,48,0,56,0,48,0,56,0,112,0,120,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,48,0,149,0,157,0,161,0,167,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,136,0,48,0,48,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,0,192,0,192,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,17,0,202,129,17,0,202,162,17,0,202,195,17,0,202,228,17,0,202,5,18,0,202,38,18,0,202,71,18,0,202,104,18,0,202,137,18,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,4,0,0,156,5,0,48,201,134,8,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,201,70,9,0,201,38,10,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,6,11,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,228,12,0,5,5,0,48,201,134,21,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,201,70,22,0,201,38,23,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,6,24,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,16,0,201,230,25,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,16,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,17,0,201,102,27,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,28,0,201,166,29,0,134,5,2,51,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,63,5,5,21,63,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,30,0,201,38,31,0,134,5,2,77,5,5,2,77,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,31,0,201,166,32,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,93,5,5,3,93,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,33,0,201,38,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,34,0,201,166,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,36,0,201,38,37,0,201,230,37,0,201,166,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,39,0,201,38,40,0,192,0,0,0,192,0,0,0,201,230,40,0,201,166,41,0,192,0,0,0,192,0,0,0,201,102,42,0,201,38,43,0,192,0,0,0,192,0,0,0,197,162,13,0,197,226,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,43,0,201,102,45,0,201,230,46,0,201,102,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,49,0,201,166,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,136,5,2,57,5,142,0,0,71,5,2,57,5,142,0,0,136,5,2,57,5,144,0,0,71,5,2,57,5,144,0,0,136,5,2,57,5,156,0,0,71,5,2,57,5,156,0,0,136,5,2,57,5,196,0,0,71,5,2,57,5,196,0,0,136,5,2,57,5,150,0,0,71,5,2,57,5,150,0,0,136,5,2,57,5,160,0,0,71,5,2,57,5,160,0,0,136,5,2,57,5,206,0,0,71,5,2,57,5,206,0,0,71,5,2,57,5,210,0,0,70,5,2,57,5,142,0,0,5,5,2,57,5,142,0,0,70,5,2,57,5,144,0,0,5,5,2,57,5,144,0,0,70,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,70,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,70,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,70,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,70,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,5,5,2,57,5,210,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,134,5,2,77,5,160,0,0,5,5,2,77,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,51,5,160,0,0,5,5,2,51,5,160,0,0,134,5,2,51,5,204,0,0,5,5,2,51,5,204,0,0,134,5,2,51,5,208,0,0,5,5,2,51,5,208,0,0,134,5,2,77,5,196,0,0,5,5,2,77,5,196,0,0,134,5,2,77,5,210,0,0,5,5,2,77,5,210,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,3,93,5,196,0,0,134,5,2,93,5,196,0,0,5,5,3,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,3,93,5,210,0,0,134,5,2,93,5,210,0,0,5,5,3,93,5,210,0,0,5,5,2,93,5,210,0,0,134,5,2,51,5,196,0,0,5,5,2,51,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,19,0,35,30,32,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,35,30,1,192,197,98,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,31,2,15,0,31,2,0,192,197,226,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,34,30,1,192,197,34,72,0,2,249,136,5,104,0,2,249,71,5,36,1,197,162,37,1,0,192,197,98,30,2,0,192,197,162,0,50,156,5,48,0,12,3,2,243,134,5,0,76,156,5,48,0,12,3,255,255,2,77,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,2,0,1,3,255,255,3,93,134,5,12,3,255,255,2,93,134,5,65,3,255,255,3,93,134,5,0,46,5,5,19,0,35,30,32,0,40,30,15,0,40,30,6,192,197,98,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,35,30,5,192,197,34,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,31,2,15,0,31,2,4,192,197,162,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,34,30,4,192,197,226,72,0,2,249,70,5,104,0,2,249,5,5,36,1,3,192,197,226,37,1,4,192,197,34,30,2,4,192,197,98,0,50,5,5,48,0,12,3,2,243,5,5,0,76,5,5,48,0,12,3,255,255,2,77,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,2,0,1,3,255,255,3,93,5,5,12,3,255,255,2,93,5,5,65,3,255,255,3,93,5,5,156,46,196,160,2,0,1,3,7,192,197,162,12,3,7,192,197,226,65,3,7,192,197,162,5,46,196,160,2,0,1,3,8,192,197,34,12,3,8,192,197,98,65,3,8,192,197,34,156,50,196,162,48,0,12,3,8,192,197,162,5,50,196,162,48,0,12,3,8,192,197,226,156,76,196,160,48,0,12,3,9,192,197,34,5,76,196,160,48,0,12,3,9,192,197,98,156,78,196,160,48,0,12,3,9,192,197,162,5,78,196,160,48,0,12,3,9,192,197,226,156,78,196,202,48,0,12,3,10,192,197,34,5,78,196,202,48,0,12,3,10,192,197,98,156,50,196,160,48,0,12,3,10,192,197,162,5,50,196,160,48,0,12,3,10,192,197,226,156,50,196,204,48,0,12,3,11,192,197,34,5,50,196,204,48,0,12,3,11,192,197,98,156,50,196,208,48,0,12,3,11,192,197,162,5,50,196,208,48,0,12,3,11,192,197,226,156,76,196,196,48,0,12,3,12,192,197,34,5,76,196,196,48,0,12,3,12,192,197,98,156,76,196,210,48,0,12,3,12,192,197,162,5,76,196,210,48,0,12,3,12,192,197,226,156,78,196,196,48,0,12,3,13,192,197,34,5,78,196,196,48,0,12,3,13,192,197,98,156,92,196,196,2,0,1,3,14,192,197,34,12,3,14,192,197,98,65,3,14,192,197,34,5,92,196,196,2,0,1,3,14,192,197,162,12,3,14,192,197,226,65,3,14,192,197,162,156,92,196,210,2,0,1,3,15,192,197,34,12,3,15,192,197,98,65,3,15,192,197,34,5,92,196,210,2,0,1,3,15,192,197,162,12,3,15,192,197,226,65,3,15,192,197,162,156,50,196,196,48,0,12,3,16,192,197,34,5,50,196,196,48,0,12,3,16,192,197,98,12,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,34,30,44,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,76,36,4,185,88,185,92,185,96,186,104,186,112,185,116,185,124,185,128,186,132,185,140,185,144,185,148,38,4,40,4,185,172,185,180,185,184,185,188,185,192,185,196,42,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,44,4,168,76,54,4,168,88,168,92,168,96,168,104,168,112,168,116,168,124,168,128,168,132,168,140,168,144,168,148,56,4,58,4,168,172,168,180,168,184,168,188,168,192,168,196,60,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,62,4,186,81,154,81,250,81,90,82,186,105,154,105,250,105,90,106,217,76,154,134,185,141,153,141,249,141,153,142,89,142,136,14,217,142,185,181,153,181,249,181,89,182,153,197,185,212,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,64,4,168,81,136,81,232,81,72,82,168,105,136,105,232,105,72,106,200,76,136,134,168,141,136,141,232,141,136,142,72,142,128,14,200,142,168,181,136,181,232,181,72,182,136,197,168,212,72,198,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,89,79,72,79,58,83,40,83,218,81,200,81,186,82,168,82,66,4,68,4,185,84,168,84,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,97,232,97,89,99,72,99,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,152,153,125,136,125,249,126,232,126,25,126,8,126,121,127,104,127,185,120,168,120,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,136,168,136,57,143,40,143,217,141,200,141,121,142,104,142,12,8,14,8,153,157,136,157,70,4,72,4,185,160,168,160,154,165,136,165,250,165,232,165,74,4,76,4,185,168,168,168,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,249,197,232,197,89,198,185,208,168,208,185,202,168,202,185,204,168,204,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,164,169,164,200,56,169,80,187,104,187,112,169,104,169,112,169,216,169,132,217,140,187,80,200,140,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,187,100,104,4,178,100,36,5,251,101,37,5,242,101,255,5,186,80,255,5,185,156,255,5,186,164,255,5,185,200,255,5,168,64,72,4,177,100,104,4,168,100,36,5,241,101,37,5,232,101,255,5,168,80,255,5,168,156,255,5,168,164,255,5,168,200,255,5,249,66,255,5,232,66,255,5,26,83,255,5,8,83,255,5,249,158,255,5,232,158,255,5,250,166,255,5,232,166,255,1,3,0,69,0,52,0,61,0,71,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,214,9,0,32,1,0,32,0,219,9,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,100,18,0,32,7,0,0,0,21,0,0,0,102,18,0,0,102,18,0,0,3,0,0,0,0,0,0,0,19,1,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,246,221,38,0,67,0,60,0,99,0,115,0,60,0,60,0,60,0,67,0,115,0,60,0,60,0,60,0,67,0,83,0,38,0,68,0,60,0,100,0,122,0,60,0,60,0,60,0,68,0,122,0,60,0,60,0,60,0,68,0,90,0,38,0,68,0,90,0,60,0,100,0,122,0,115,0,60,0,60,0,60,0,68,0,122,0,115,0,60,0,60,0,60,0,68,0,90,0,83,0,38,0,71,0,60,0,103,0,121,0,60,0,60,0,60,0,71,0,121,0,60,0,60,0,60,0,71,0,89,0,38,0,76,0,60,0,108,0,121,0,60,0,60,0,60,0,76,0,121,0,60,0,60,0,60,0,76,0,89,0,38,0,78,0,60,0,110,0,121,0,60,0,60,0,60,0,78,0,121,0,60,0,60,0,60,0,78,0,89,0,38,0,83,0,60,0,115,0,122,0,60,0,60,0,60,0,83,0,122,0,60,0,60,0,60,0,83,0,90,0,38,0,84,0,60,0,116,0,121,0,60,0,60,0,60,0,84,0,121,0,60,0,60,0,60,0,84,0,89,0,38,0,90,0,60,0,122,0,115,0,60,0,60,0,60,0,90,0,115,0,60,0,60,0,60,0,90,0,83,0,38,0,79,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,38,0,85,0,60,0,252,0,60,0,60,0,60,0,220,0,60,0,60,0,113,1,60,0,60,0,60,0,112,1,38,0,99,0,115,0,60,0,60,0,60,0,99,0,99,0,115,0,47,0,99,0,115,0,38,0,67,0,115,0,60,0,60,0,60,0,67,0,99,0,115,0,47,0,99,0,115,0,38,0,67,0,83,0,60,0,60,0,60,0,67,0,67,0,83,0,47,0,67,0,83,0,38,0,100,0,122,0,60,0,60,0,60,0,100,0,100,0,122,0,47,0,100,0,122,0,38,0,68,0,122,0,60,0,60,0,60,0,68,0,100,0,122,0,47,0,100,0,122,0,38,0,68,0,90,0,60,0,60,0,60,0,68,0,68,0,90,0,47,0,68,0,90,0,38,0,100,0,122,0,115,0,60,0,60,0,60,0,100,0,100,0,122,0,115,0,47,0,100,0,122,0,115,0,38,0,68,0,122,0,115,0,60,0,60,0,60,0,68,0,100,0,122,0,115,0,47,0,100,0,122,0,115,0,38,0,68,0,90,0,83,0,60,0,60,0,60,0,68,0,68,0,90,0,83,0,47,0,68,0,90,0,83,0,38,0,103,0,121,0,60,0,60,0,60,0,103,0,103,0,121,0,47,0,103,0,121,0,38,0,71,0,121,0,60,0,60,0,60,0,71,0,103,0,121,0,47,0,103,0,121,0,38,0,71,0,89,0,60,0,60,0,60,0,71,0,71,0,89,0,47,0,71,0,89,0,38,0,108,0,121,0,60,0,60,0,60,0,108,0,108,0,121,0,47,0,108,0,121,0,38,0,76,0,121,0,60,0,60,0,60,0,76,0,108,0,121,0,47,0,108,0,121,0,38,0,76,0,89,0,60,0,60,0,60,0,76,0,76,0,89,0,47,0,76,0,89,0,38,0,110,0,121,0,60,0,60,0,60,0,110,0,110,0,121,0,47,0,110,0,121,0,38,0,78,0,121,0,60,0,60,0,60,0,78,0,110,0,121,0,47,0,110,0,121,0,38,0,78,0,89,0,60,0,60,0,60,0,78,0,78,0,89,0,47,0,78,0,89,0,38,0,115,0,122,0,60,0,60,0,60,0,115,0,115,0,122,0,47,0,115,0,122,0,38,0,83,0,122,0,60,0,60,0,60,0,83,0,115,0,122,0,47,0,115,0,122,0,38,0,83,0,90,0,60,0,60,0,60,0,83,0,83,0,90,0,47,0,83,0,90,0,38,0,116,0,121,0,60,0,60,0,60,0,116,0,116,0,121,0,47,0,116,0,121,0,38,0,84,0,121,0,60,0,60,0,60,0,84,0,116,0,121,0,47,0,116,0,121,0,38,0,84,0,89,0,60,0,60,0,60,0,84,0,84,0,89,0,47,0,84,0,89,0,38,0,122,0,115,0,60,0,60,0,60,0,122,0,122,0,115,0,47,0,122,0,115,0,38,0,90,0,115,0,60,0,60,0,60,0,90,0,122,0,115,0,47,0,122,0,115,0,38,0,90,0,83,0,60,0,60,0,60,0,90,0,90,0,83,0,47,0,90,0,83,0,0,0,34,69,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,27,0,0,212,27,0,0,212,27,0,0,212,27,0,0,104,45,0,0,104,45,0,0,214,62,0,0,48,63,0,0,10,69,0,0,50,105,114,84,1,0,64,8,176,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,93,0,101,0,106,0,114,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,145,0,48,0,48,0,151,0,159,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,141,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,116,1,168,1,212,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,139,0,202,129,139,0,202,162,139,0,202,195,139,0,202,228,139,0,202,5,140,0,202,38,140,0,202,71,140,0,202,104,140,0,202,137,140,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,201,32,20,0,156,5,0,50,156,5,0,52,201,32,52,0,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,64,71,0,156,5,0,66,201,160,90,0,201,6,110,0,156,5,0,72,160,5,0,74,156,5,0,76,201,96,111,0,201,128,124,0,201,230,143,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,160,145,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,64,166,0,201,128,176,0,5,5,0,50,5,5,0,52,201,160,192,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,224,202,0,5,5,0,66,201,64,213,0,201,166,223,0,5,5,0,72,5,5,0,74,5,5,0,76,201,0,225,0,201,160,231,0,201,6,242,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,192,243,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,138,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,226,138,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,139,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,2,71,5,70,2,71,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,2,83,5,70,2,83,201,38,254,0,201,70,255,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,0,1,201,134,1,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,1,201,198,3,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,126,0,197,98,126,0,197,226,76,0,197,130,118,0,197,162,126,0,197,226,126,0,197,34,127,0,197,98,127,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,4,1,201,6,6,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,128,0,197,226,128,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,7,1,201,70,8,1,201,102,9,1,201,134,10,1,201,166,11,1,201,198,12,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,13,1,201,6,15,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,16,1,201,70,17,1,201,102,18,1,201,134,19,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,20,1,201,198,21,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,138,5,2,47,137,5,2,47,138,5,2,47,137,5,2,47,5,136,0,0,138,5,2,47,137,5,2,47,5,142,0,0,138,5,2,47,137,5,2,47,5,160,0,0,138,5,2,47,137,5,2,47,5,144,0,0,138,5,2,47,137,5,2,47,5,202,0,0,138,5,2,47,137,5,2,47,5,156,0,0,138,5,2,47,137,5,2,47,5,196,0,0,138,5,2,47,137,5,2,47,5,136,0,0,5,156,0,0,138,5,2,47,137,5,2,47,5,144,0,0,5,156,0,0,138,5,2,47,137,5,2,47,5,196,0,0,5,156,0,0,72,5,2,47,5,5,2,47,72,5,2,47,5,5,2,47,5,136,0,0,72,5,2,47,5,5,2,47,5,142,0,0,72,5,2,47,5,5,2,47,5,160,0,0,72,5,2,47,5,5,2,47,5,144,0,0,72,5,2,47,5,5,2,47,5,202,0,0,72,5,2,47,5,5,2,47,5,156,0,0,72,5,2,47,5,5,2,47,5,196,0,0,72,5,2,47,5,5,2,47,5,136,0,0,5,156,0,0,72,5,2,47,5,5,2,47,5,144,0,0,5,156,0,0,72,5,2,47,5,5,2,47,5,196,0,0,5,156,0,0,71,5,2,47,5,136,0,0,71,5,2,47,5,142,0,0,71,5,2,47,5,160,0,0,71,5,2,47,5,144,0,0,71,5,2,47,5,202,0,0,71,5,2,47,5,156,0,0,71,5,2,47,5,196,0,0,71,5,2,47,5,136,0,0,5,156,0,0,71,5,2,47,5,144,0,0,5,156,0,0,71,5,2,47,5,196,0,0,5,156,0,0,138,5,2,49,137,5,2,49,138,5,3,49,137,5,3,49,138,5,3,49,137,5,3,49,5,136,0,0,138,5,3,49,137,5,3,49,5,142,0,0,138,5,3,49,137,5,3,49,5,160,0,0,138,5,3,49,137,5,3,49,5,144,0,0,138,5,3,49,137,5,3,49,5,202,0,0,138,5,3,49,137,5,3,49,5,156,0,0,138,5,3,49,137,5,3,49,5,196,0,0,138,5,3,49,137,5,3,49,5,136,0,0,5,156,0,0,138,5,3,49,137,5,3,49,5,144,0,0,5,156,0,0,138,5,3,49,137,5,3,49,5,196,0,0,5,156,0,0,138,5,2,49,137,5,2,49,5,136,0,0,138,5,2,49,137,5,2,49,5,156,0,0,138,5,2,49,137,5,2,49,5,144,0,0,138,5,2,49,137,5,2,49,5,142,0,0,138,5,2,49,137,5,2,49,5,196,0,0,138,5,2,49,137,5,2,49,5,210,0,0,72,5,2,49,5,5,2,49,72,5,3,49,5,5,3,49,72,5,3,49,5,5,3,49,5,136,0,0,72,5,3,49,5,5,3,49,5,142,0,0,72,5,3,49,5,5,3,49,5,160,0,0,72,5,3,49,5,5,3,49,5,144,0,0,72,5,3,49,5,5,3,49,5,202,0,0,72,5,3,49,5,5,3,49,5,156,0,0,72,5,3,49,5,5,3,49,5,196,0,0,72,5,3,49,5,5,3,49,5,136,0,0,5,156,0,0,72,5,3,49,5,5,3,49,5,144,0,0,5,156,0,0,72,5,3,49,5,5,3,49,5,196,0,0,5,156,0,0,72,5,2,49,5,5,2,49,5,136,0,0,72,5,2,49,5,5,2,49,5,156,0,0,72,5,2,49,5,5,2,49,5,144,0,0,72,5,2,49,5,5,2,49,5,142,0,0,72,5,2,49,5,5,2,49,5,196,0,0,72,5,2,49,5,5,2,49,5,210,0,0,71,5,3,49,5,136,0,0,71,5,3,49,5,142,0,0,71,5,3,49,5,160,0,0,71,5,3,49,5,144,0,0,71,5,3,49,5,202,0,0,71,5,3,49,5,156,0,0,71,5,3,49,5,196,0,0,71,5,3,49,5,136,0,0,5,156,0,0,71,5,3,49,5,144,0,0,5,156,0,0,71,5,3,49,5,196,0,0,5,156,0,0,71,5,2,49,5,136,0,0,71,5,2,49,5,156,0,0,71,5,2,49,5,144,0,0,71,5,2,49,5,142,0,0,71,5,2,49,5,196,0,0,71,5,2,49,5,210,0,0,138,5,2,55,137,5,2,55,138,5,2,55,137,5,2,55,5,136,0,0,138,5,2,55,137,5,2,55,5,142,0,0,138,5,2,55,137,5,2,55,5,150,0,0,138,5,2,55,137,5,2,55,5,164,0,0,138,5,2,55,137,5,2,55,5,156,0,0,138,5,2,55,137,5,2,55,5,138,0,0,138,5,2,55,137,5,2,55,5,196,0,0,138,5,2,55,137,5,2,55,5,182,0,0,138,5,2,55,137,5,2,55,5,154,0,0,72,5,2,55,5,5,2,55,72,5,2,55,5,5,2,55,5,136,0,0,72,5,2,55,5,5,2,55,5,150,0,0,72,5,2,55,5,5,2,55,5,142,0,0,72,5,2,55,5,5,2,55,5,164,0,0,72,5,2,55,5,5,2,55,5,156,0,0,72,5,2,55,5,5,2,55,5,146,0,0,72,5,2,55,5,5,2,55,5,138,0,0,72,5,2,55,5,5,2,55,5,196,0,0,72,5,2,55,5,5,2,55,5,182,0,0,72,5,2,55,5,5,2,55,5,154,0,0,71,5,2,55,5,136,0,0,71,5,2,55,5,150,0,0,71,5,2,55,5,142,0,0,71,5,2,55,5,164,0,0,71,5,2,55,5,156,0,0,71,5,2,55,5,146,0,0,71,5,2,55,5,138,0,0,71,5,2,55,5,196,0,0,71,5,2,55,5,182,0,0,71,5,2,55,5,154,0,0,138,5,2,65,137,5,2,65,138,5,2,65,137,5,2,65,5,136,0,0,138,5,2,65,137,5,2,65,5,142,0,0,138,5,2,65,137,5,2,65,5,150,0,0,138,5,2,65,137,5,2,65,5,164,0,0,138,5,2,65,137,5,2,65,5,156,0,0,138,5,2,65,137,5,2,65,5,138,0,0,138,5,2,65,137,5,2,65,5,196,0,0,138,5,2,65,137,5,2,65,5,182,0,0,138,5,2,65,137,5,2,65,5,154,0,0,72,5,2,65,5,5,2,65,72,5,2,65,5,5,2,65,5,136,0,0,72,5,2,65,5,5,2,65,5,150,0,0,72,5,2,65,5,5,2,65,5,142,0,0,72,5,2,65,5,5,2,65,5,164,0,0,72,5,2,65,5,5,2,65,5,156,0,0,72,5,2,65,5,5,2,65,5,146,0,0,72,5,2,65,5,5,2,65,5,138,0,0,72,5,2,65,5,5,2,65,5,196,0,0,72,5,2,65,5,5,2,65,5,182,0,0,72,5,2,65,5,5,2,65,5,154,0,0,71,5,2,65,5,136,0,0,71,5,2,65,5,150,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,164,0,0,71,5,2,65,5,156,0,0,71,5,2,65,5,146,0,0,71,5,2,65,5,138,0,0,71,5,2,65,5,196,0,0,71,5,2,65,5,182,0,0,71,5,2,65,5,154,0,0,138,5,2,69,137,5,2,69,138,5,2,69,137,5,2,69,5,136,0,0,138,5,2,69,137,5,2,69,5,142,0,0,138,5,2,69,137,5,2,69,5,150,0,0,138,5,2,69,137,5,2,69,5,164,0,0,138,5,2,69,137,5,2,69,5,156,0,0,138,5,2,69,137,5,2,69,5,138,0,0,138,5,2,69,137,5,2,69,5,196,0,0,138,5,2,69,137,5,2,69,5,182,0,0,138,5,2,69,137,5,2,69,5,154,0,0,72,5,2,69,5,5,2,69,72,5,2,69,5,5,2,69,5,136,0,0,72,5,2,69,5,5,2,69,5,150,0,0,72,5,2,69,5,5,2,69,5,142,0,0,72,5,2,69,5,5,2,69,5,164,0,0,72,5,2,69,5,5,2,69,5,156,0,0,72,5,2,69,5,5,2,69,5,146,0,0,72,5,2,69,5,5,2,69,5,138,0,0,72,5,2,69,5,5,2,69,5,196,0,0,72,5,2,69,5,5,2,69,5,182,0,0,72,5,2,69,5,5,2,69,5,154,0,0,71,5,2,69,5,136,0,0,71,5,2,69,5,150,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,164,0,0,71,5,2,69,5,156,0,0,71,5,2,69,5,146,0,0,71,5,2,69,5,138,0,0,71,5,2,69,5,196,0,0,71,5,2,69,5,182,0,0,71,5,2,69,5,154,0,0,138,5,2,79,137,5,2,79,138,5,2,79,137,5,2,79,5,136,0,0,138,5,2,79,137,5,2,79,5,156,0,0,138,5,2,79,137,5,2,79,5,144,0,0,138,5,2,79,137,5,2,79,5,142,0,0,138,5,2,79,137,5,2,79,5,196,0,0,138,5,2,79,137,5,2,79,5,210,0,0,72,5,2,79,5,5,2,79,72,5,2,79,5,5,2,79,5,136,0,0,72,5,2,79,5,5,2,79,5,156,0,0,72,5,2,79,5,5,2,79,5,144,0,0,72,5,2,79,5,5,2,79,5,142,0,0,72,5,2,79,5,5,2,79,5,196,0,0,72,5,2,79,5,5,2,79,5,210,0,0,71,5,2,79,5,136,0,0,71,5,2,79,5,156,0,0,71,5,2,79,5,144,0,0,71,5,2,79,5,142,0,0,71,5,2,79,5,196,0,0,71,5,2,79,5,210,0,0,138,5,2,81,137,5,2,81,138,5,2,81,137,5,2,81,5,136,0,0,138,5,2,81,137,5,2,81,5,142,0,0,138,5,2,81,137,5,2,81,5,150,0,0,138,5,2,81,137,5,2,81,5,164,0,0,138,5,2,81,137,5,2,81,5,156,0,0,138,5,2,81,137,5,2,81,5,138,0,0,138,5,2,81,137,5,2,81,5,196,0,0,138,5,2,81,137,5,2,81,5,182,0,0,138,5,2,81,137,5,2,81,5,154,0,0,72,5,2,81,5,5,2,81,72,5,2,81,5,5,2,81,5,136,0,0,72,5,2,81,5,5,2,81,5,150,0,0,72,5,2,81,5,5,2,81,5,142,0,0,72,5,2,81,5,5,2,81,5,164,0,0,72,5,2,81,5,5,2,81,5,156,0,0,72,5,2,81,5,5,2,81,5,146,0,0,72,5,2,81,5,5,2,81,5,138,0,0,72,5,2,81,5,5,2,81,5,196,0,0,72,5,2,81,5,5,2,81,5,182,0,0,72,5,2,81,5,5,2,81,5,154,0,0,71,5,2,81,5,136,0,0,71,5,2,81,5,150,0,0,71,5,2,81,5,142,0,0,71,5,2,81,5,164,0,0,71,5,2,81,5,156,0,0,71,5,2,81,5,146,0,0,71,5,2,81,5,138,0,0,71,5,2,81,5,196,0,0,71,5,2,81,5,182,0,0,71,5,2,81,5,154,0,0,134,5,2,83,5,136,0,0,138,5,2,93,137,5,2,93,138,5,2,93,137,5,2,93,5,136,0,0,138,5,2,93,137,5,2,93,5,142,0,0,138,5,2,93,137,5,2,93,5,160,0,0,138,5,2,93,137,5,2,93,5,144,0,0,138,5,2,93,137,5,2,93,5,202,0,0,138,5,2,93,137,5,2,93,5,156,0,0,138,5,2,93,137,5,2,93,5,196,0,0,138,5,2,93,137,5,2,93,5,136,0,0,5,156,0,0,138,5,2,93,137,5,2,93,5,144,0,0,5,156,0,0,138,5,2,93,137,5,2,93,5,196,0,0,5,156,0,0,72,5,2,93,5,5,2,93,72,5,2,93,5,5,2,93,5,136,0,0,72,5,2,93,5,5,2,93,5,142,0,0,72,5,2,93,5,5,2,93,5,160,0,0,72,5,2,93,5,5,2,93,5,144,0,0,72,5,2,93,5,5,2,93,5,202,0,0,72,5,2,93,5,5,2,93,5,156,0,0,72,5,2,93,5,5,2,93,5,196,0,0,72,5,2,93,5,5,2,93,5,136,0,0,5,156,0,0,72,5,2,93,5,5,2,93,5,144,0,0,5,156,0,0,72,5,2,93,5,5,2,93,5,196,0,0,5,156,0,0,71,5,2,93,5,136,0,0,71,5,2,93,5,142,0,0,71,5,2,93,5,160,0,0,71,5,2,93,5,144,0,0,71,5,2,93,5,202,0,0,71,5,2,93,5,156,0,0,71,5,2,93,5,196,0,0,71,5,2,93,5,136,0,0,5,156,0,0,71,5,2,93,5,144,0,0,5,156,0,0,71,5,2,93,5,196,0,0,5,156,0,0,6,5,2,47,5,5,2,47,6,5,2,47,5,5,2,47,5,136,0,0,6,5,2,47,5,5,2,47,5,142,0,0,6,5,2,47,5,5,2,47,5,160,0,0,6,5,2,47,5,5,2,47,5,144,0,0,6,5,2,47,5,5,2,47,5,202,0,0,6,5,2,47,5,5,2,47,5,156,0,0,6,5,2,47,5,5,2,47,5,196,0,0,6,5,2,47,5,5,2,47,5,136,0,0,5,156,0,0,6,5,2,47,5,5,2,47,5,144,0,0,5,156,0,0,6,5,2,47,5,5,2,47,5,196,0,0,5,156,0,0,6,5,2,49,5,5,2,49,6,5,3,49,5,5,3,49,6,5,3,49,5,5,3,49,5,136,0,0,6,5,3,49,5,5,3,49,5,142,0,0,6,5,3,49,5,5,3,49,5,160,0,0,6,5,3,49,5,5,3,49,5,144,0,0,6,5,3,49,5,5,3,49,5,202,0,0,6,5,3,49,5,5,3,49,5,156,0,0,6,5,3,49,5,5,3,49,5,196,0,0,6,5,3,49,5,5,3,49,5,136,0,0,5,156,0,0,6,5,3,49,5,5,3,49,5,144,0,0,5,156,0,0,6,5,3,49,5,5,3,49,5,196,0,0,5,156,0,0,6,5,2,49,5,5,2,49,5,136,0,0,6,5,2,49,5,5,2,49,5,156,0,0,6,5,2,49,5,5,2,49,5,144,0,0,6,5,2,49,5,5,2,49,5,142,0,0,6,5,2,49,5,5,2,49,5,196,0,0,6,5,2,49,5,5,2,49,5,210,0,0,6,5,2,55,5,5,2,55,6,5,2,55,5,5,2,55,5,136,0,0,6,5,2,55,5,5,2,55,5,150,0,0,6,5,2,55,5,5,2,55,5,142,0,0,6,5,2,55,5,5,2,55,5,164,0,0,6,5,2,55,5,5,2,55,5,156,0,0,6,5,2,55,5,5,2,55,5,146,0,0,6,5,2,55,5,5,2,55,5,138,0,0,6,5,2,55,5,5,2,55,5,196,0,0,6,5,2,55,5,5,2,55,5,182,0,0,6,5,2,55,5,5,2,55,5,154,0,0,6,5,2,65,5,5,2,65,6,5,2,65,5,5,2,65,5,136,0,0,6,5,2,65,5,5,2,65,5,150,0,0,6,5,2,65,5,5,2,65,5,142,0,0,6,5,2,65,5,5,2,65,5,164,0,0,6,5,2,65,5,5,2,65,5,156,0,0,6,5,2,65,5,5,2,65,5,146,0,0,6,5,2,65,5,5,2,65,5,138,0,0,6,5,2,65,5,5,2,65,5,196,0,0,6,5,2,65,5,5,2,65,5,182,0,0,6,5,2,65,5,5,2,65,5,154,0,0,6,5,2,69,5,5,2,69,6,5,2,69,5,5,2,69,5,136,0,0,6,5,2,69,5,5,2,69,5,150,0,0,6,5,2,69,5,5,2,69,5,142,0,0,6,5,2,69,5,5,2,69,5,164,0,0,6,5,2,69,5,5,2,69,5,156,0,0,6,5,2,69,5,5,2,69,5,146,0,0,6,5,2,69,5,5,2,69,5,138,0,0,6,5,2,69,5,5,2,69,5,196,0,0,6,5,2,69,5,5,2,69,5,182,0,0,6,5,2,69,5,5,2,69,5,154,0,0,6,5,2,79,5,5,2,79,6,5,2,79,5,5,2,79,5,136,0,0,6,5,2,79,5,5,2,79,5,156,0,0,6,5,2,79,5,5,2,79,5,144,0,0,6,5,2,79,5,5,2,79,5,142,0,0,6,5,2,79,5,5,2,79,5,196,0,0,6,5,2,79,5,5,2,79,5,210,0,0,6,5,2,81,5,5,2,81,6,5,2,81,5,5,2,81,5,136,0,0,6,5,2,81,5,5,2,81,5,150,0,0,6,5,2,81,5,5,2,81,5,142,0,0,6,5,2,81,5,5,2,81,5,164,0,0,6,5,2,81,5,5,2,81,5,156,0,0,6,5,2,81,5,5,2,81,5,146,0,0,6,5,2,81,5,5,2,81,5,138,0,0,6,5,2,81,5,5,2,81,5,196,0,0,6,5,2,81,5,5,2,81,5,182,0,0,6,5,2,81,5,5,2,81,5,154,0,0,5,5,2,83,5,136,0,0,6,5,2,93,5,5,2,93,6,5,2,93,5,5,2,93,5,136,0,0,6,5,2,93,5,5,2,93,5,142,0,0,6,5,2,93,5,5,2,93,5,160,0,0,6,5,2,93,5,5,2,93,5,144,0,0,6,5,2,93,5,5,2,93,5,202,0,0,6,5,2,93,5,5,2,93,5,156,0,0,6,5,2,93,5,5,2,93,5,196,0,0,6,5,2,93,5,5,2,93,5,136,0,0,5,156,0,0,6,5,2,93,5,5,2,93,5,144,0,0,5,156,0,0,6,5,2,93,5,5,2,93,5,196,0,0,5,156,0,0,134,5,2,83,5,162,0,0,134,70,2,83,5,162,0,0,5,5,2,83,5,162,0,0,5,70,2,83,5,162,0,0,134,5,2,71,5,190,0,0,134,70,2,71,5,190,0,0,5,5,2,71,5,190,0,0,5,70,2,71,5,190,0,0,134,5,2,83,5,190,0,0,134,70,2,83,5,190,0,0,5,5,2,83,5,190,0,0,5,70,2,83,5,190,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,71,5,162,0,0,134,70,2,71,5,162,0,0,5,5,2,71,5,162,0,0,5,70,2,71,5,162,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,134,5,2,83,5,198,0,0,134,70,2,83,5,198,0,0,5,5,2,83,5,198,0,0,5,70,2,83,5,198,0,0,134,5,2,83,5,208,0,0,134,70,2,83,5,208,0,0,5,5,2,83,5,208,0,0,5,70,2,83,5,208,0,0,134,5,2,83,5,204,0,0,134,70,2,83,5,204,0,0,5,5,2,83,5,204,0,0,5,70,2,83,5,204,0,0,134,5,2,71,5,196,0,0,134,70,2,71,5,196,0,0,5,5,2,71,5,196,0,0,5,70,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,134,70,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,5,70,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,134,70,2,83,5,196,0,0,5,5,2,83,5,196,0,0,5,70,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,134,70,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,5,70,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,23,0,24,2,42,0,100,30,20,0,103,30,9,0,103,30,11,192,197,3,104,30,4,192,197,35,105,30,11,192,197,99,100,30,3,192,197,35,101,30,10,192,197,163,102,30,3,192,197,163,97,30,9,0,97,30,10,192,197,34,98,30,2,192,197,194,99,30,10,192,197,98,24,2,2,192,197,2,25,2,9,192,197,226,96,30,2,192,197,98,92,1,20,0,95,1,9,0,95,1,9,192,197,98,96,1,1,192,197,162,97,1,9,192,197,162,92,1,0,192,197,226,93,1,9,192,197,34,94,1,1,192,197,66,115,0,9,0,115,0,2,239,71,5,90,1,0,192,197,130,91,1,8,192,197,226,67,0,42,0,83,0,2,239,137,5,99,0,10,0,25,2,20,0,101,30,9,0,101,30,7,192,197,100,103,30,7,192,197,228,105,30,8,192,197,100,25,2,6,192,197,67,97,30,6,192,197,163,99,30,7,192,197,3,115,0,4,192,197,130,91,1,4,192,197,195,93,1,5,192,197,35,95,1,5,192,197,131,97,1,5,192,197,227,10,0,24,2,20,0,100,30,9,0,100,30,3,192,197,4,102,30,3,192,197,132,104,30,4,192,197,4,24,2,1,192,197,227,96,30,2,192,197,67,98,30,2,192,197,163,83,0,197,162,90,1,0,192,197,99,92,1,0,192,197,195,94,1,1,192,197,35,96,1,1,192,197,131,0,48,156,5,15,0,125,1,26,0,146,30,12,0,146,30,18,192,197,2,147,30,29,192,197,98,148,30,18,192,197,98,149,30,29,192,197,162,125,1,17,192,197,66,126,1,28,192,197,226,144,30,17,192,197,162,145,30,29,192,197,34,121,1,12,0,121,1,16,192,197,130,122,1,28,192,197,98,123,1,16,192,197,226,124,1,28,192,197,162,68,0,45,0,90,0,105,0,100,0,143,0,122,0,202,127,2,49,71,5,25,2,20,0,101,30,9,0,101,30,27,192,197,67,103,30,27,192,197,163,105,30,28,192,197,3,25,2,26,192,197,130,97,30,26,192,197,194,99,30,27,192,197,2,115,0,3,241,71,5,91,1,25,192,197,130,93,1,25,192,197,194,95,1,26,192,197,2,97,1,26,192,197,66,6,0,125,1,12,0,125,1,17,192,197,35,144,30,17,192,197,131,146,30,17,192,197,227,148,30,18,192,197,67,90,0,6,0,121,1,16,192,197,99,123,1,16,192,197,195,10,67,197,194,24,2,20,0,100,30,9,0,100,30,14,192,197,228,102,30,15,192,197,100,104,30,15,192,197,228,24,2,13,192,197,195,96,30,14,192,197,35,98,30,14,192,197,131,83,0,12,192,197,2,90,1,12,192,197,67,92,1,12,192,197,163,94,1,13,192,197,3,96,1,13,192,197,99,202,127,2,49,137,5,24,2,20,0,100,30,9,0,100,30,15,192,197,3,102,30,15,192,197,131,104,30,16,192,197,3,24,2,13,192,197,226,96,30,14,192,197,66,98,30,14,192,197,162,83,0,3,241,137,5,90,1,12,192,197,98,92,1,12,192,197,194,94,1,13,192,197,34,96,1,13,192,197,130,6,0,126,1,12,0,126,1,24,192,197,3,145,30,24,192,197,99,147,30,24,192,197,195,149,30,25,192,197,35,122,0,6,0,122,1,23,192,197,67,124,1,23,192,197,163,202,68,197,162,25,2,20,0,101,30,9,0,101,30,21,192,197,196,103,30,22,192,197,68,105,30,22,192,197,196,25,2,20,192,197,163,97,30,21,192,197,3,99,30,21,192,197,99,115,0,18,192,197,226,91,1,19,192,197,35,93,1,19,192,197,131,95,1,19,192,197,227,97,1,20,192,197,67,0,54,156,5,22,0,51,2,42,0,244,30,20,0,247,30,9,0,247,30,39,192,197,130,248,30,33,192,197,66,249,30,39,192,197,194,244,30,32,192,197,130,245,30,39,192,197,66,246,30,32,192,197,226,153,30,9,0,153,30,38,192,197,194,242,30,32,192,197,34,243,30,39,192,197,2,51,2,38,192,197,66,142,30,31,192,197,194,143,30,38,192,197,130,253,0,20,0,119,1,9,0,119,1,38,192,197,2,120,1,31,192,197,2,50,2,31,192,197,98,253,0,37,192,197,130,255,0,37,192,197,194,118,1,30,192,197,162,71,0,11,0,89,0,2,247,137,5,103,0,39,0,121,0,2,247,71,5,221,0,30,192,197,66,9,0,142,30,15,0,142,30,31,192,197,163,242,30,32,192,197,3,244,30,32,192,197,99,246,30,32,192,197,195,248,30,33,192,197,35,89,0,29,192,197,226,221,0,30,192,197,35,118,1,30,192,197,131,120,1,30,192,197,227,50,2,31,192,197,67,10,0,143,30,20,0,245,30,9,0,245,30,36,192,197,99,247,30,36,192,197,195,249,30,37,192,197,35,143,30,35,192,197,67,153,30,35,192,197,163,243,30,36,192,197,3,121,0,33,192,197,130,253,0,33,192,197,195,255,0,34,192,197,35,119,1,34,192,197,131,51,2,34,192,197,227,0,64,156,5,22,0,51,2,42,0,244,30,20,0,247,30,9,0,247,30,49,192,197,162,248,30,43,192,197,98,249,30,49,192,197,226,244,30,42,192,197,162,245,30,49,192,197,98,246,30,43,192,197,2,153,30,9,0,153,30,48,192,197,226,242,30,42,192,197,66,243,30,49,192,197,34,51,2,48,192,197,98,142,30,41,192,197,226,143,30,48,192,197,162,253,0,20,0,119,1,9,0,119,1,48,192,197,34,120,1,41,192,197,34,50,2,41,192,197,130,253,0,47,192,197,162,255,0,47,192,197,226,118,1,40,192,197,194,76,0,13,0,89,0,255,255,2,65,137,5,108,0,40,0,121,0,255,255,2,65,71,5,221,0,40,192,197,98,9,0,142,30,15,0,142,30,41,192,197,195,242,30,42,192,197,35,244,30,42,192,197,131,246,30,42,192,197,227,248,30,43,192,197,67,89,0,40,192,197,2,221,0,40,192,197,67,118,1,40,192,197,163,120,1,41,192,197,3,50,2,41,192,197,99,10,0,143,30,20,0,245,30,9,0,245,30,46,192,197,131,247,30,46,192,197,227,249,30,47,192,197,67,143,30,45,192,197,99,153,30,45,192,197,195,243,30,46,192,197,35,121,0,43,192,197,162,253,0,43,192,197,227,255,0,44,192,197,67,119,1,44,192,197,163,51,2,45,192,197,3,0,68,156,5,22,0,51,2,42,0,244,30,20,0,247,30,9,0,247,30,59,192,197,194,248,30,53,192,197,130,249,30,60,192,197,2,244,30,52,192,197,194,245,30,59,192,197,130,246,30,53,192,197,34,153,30,9,0,153,30,59,192,197,2,242,30,52,192,197,98,243,30,59,192,197,66,51,2,58,192,197,130,142,30,52,192,197,2,143,30,58,192,197,194,253,0,20,0,119,1,9,0,119,1,58,192,197,66,120,1,51,192,197,66,50,2,51,192,197,162,253,0,57,192,197,194,255,0,58,192,197,2,118,1,50,192,197,226,78,0,13,0,89,0,255,255,2,69,137,5,110,0,40,0,121,0,255,255,2,69,71,5,221,0,50,192,197,130,9,0,142,30,15,0,142,30,51,192,197,227,242,30,52,192,197,67,244,30,52,192,197,163,246,30,53,192,197,3,248,30,53,192,197,99,89,0,50,192,197,34,221,0,50,192,197,99,118,1,50,192,197,195,120,1,51,192,197,35,50,2,51,192,197,131,10,0,143,30,20,0,245,30,9,0,245,30,56,192,197,163,247,30,57,192,197,3,249,30,57,192,197,99,143,30,55,192,197,131,153,30,55,192,197,227,243,30,56,192,197,67,121,0,53,192,197,194,253,0,54,192,197,3,255,0,54,192,197,99,119,1,54,192,197,195,51,2,55,192,197,35,0,70,156,5,1,0,8,3,255,255,2,71,134,5,11,3,255,255,2,71,134,70,0,78,156,5,15,0,125,1,26,0,146,30,12,0,146,30,62,192,197,34,147,30,66,192,197,66,148,30,62,192,197,130,149,30,66,192,197,130,125,1,61,192,197,98,126,1,65,192,197,194,144,30,61,192,197,194,145,30,66,192,197,2,121,1,12,0,121,1,60,192,197,162,122,1,65,192,197,66,123,1,61,192,197,2,124,1,65,192,197,130,83,0,10,0,90,0,255,255,2,79,137,5,115,0,28,0,122,0,255,255,2,79,71,5,6,0,125,1,12,0,125,1,61,192,197,67,144,30,61,192,197,163,146,30,62,192,197,3,148,30,62,192,197,99,90,0,60,192,197,66,121,1,60,192,197,131,123,1,60,192,197,227,6,0,126,1,12,0,126,1,63,192,197,195,145,30,64,192,197,35,147,30,64,192,197,131,149,30,64,192,197,227,122,0,62,192,197,194,122,1,63,192,197,3,124,1,63,192,197,99,0,80,156,5,22,0,51,2,42,0,244,30,20,0,247,30,9,0,247,30,76,192,197,98,248,30,70,192,197,34,249,30,76,192,197,162,244,30,69,192,197,98,245,30,76,192,197,34,246,30,69,192,197,194,153,30,9,0,153,30,75,192,197,162,242,30,69,192,197,2,243,30,75,192,197,226,51,2,75,192,197,34,142,30,68,192,197,162,143,30,75,192,197,98,253,0,20,0,119,1,9,0,119,1,74,192,197,226,120,1,67,192,197,226,50,2,68,192,197,66,253,0,74,192,197,98,255,0,74,192,197,162,118,1,67,192,197,130,84,0,13,0,89,0,255,255,2,81,137,5,116,0,40,0,121,0,255,255,2,81,71,5,221,0,67,192,197,34,9,0,142,30,15,0,142,30,68,192,197,131,242,30,68,192,197,227,244,30,69,192,197,67,246,30,69,192,197,163,248,30,70,192,197,3,89,0,66,192,197,194,221,0,67,192,197,3,118,1,67,192,197,99,120,1,67,192,197,195,50,2,68,192,197,35,10,0,143,30,20,0,245,30,9,0,245,30,73,192,197,67,247,30,73,192,197,163,249,30,74,192,197,3,143,30,72,192,197,35,153,30,72,192,197,131,243,30,72,192,197,227,121,0,70,192,197,98,253,0,70,192,197,163,255,0,71,192,197,3,119,1,71,192,197,99,51,2,71,192,197,195,0,82,156,5,2,0,8,3,255,255,2,83,134,5,11,3,255,255,2,83,134,70,68,3,76,192,197,226,0,92,156,5,23,0,24,2,42,0,100,30,20,0,103,30,9,0,103,30,88,192,197,3,104,30,81,192,197,35,105,30,88,192,197,99,100,30,80,192,197,35,101,30,87,192,197,163,102,30,80,192,197,163,97,30,9,0,97,30,87,192,197,34,98,30,79,192,197,194,99,30,87,192,197,98,24,2,79,192,197,2,25,2,86,192,197,226,96,30,79,192,197,98,92,1,20,0,95,1,9,0,95,1,86,192,197,98,96,1,78,192,197,162,97,1,86,192,197,162,92,1,77,192,197,226,93,1,86,192,197,34,94,1,78,192,197,66,122,0,46,0,122,0,6,0,90,1,77,192,197,130,91,1,85,192,197,226,10,0,25,2,20,0,101,30,9,0,101,30,84,192,197,100,103,30,84,192,197,228,105,30,85,192,197,100,25,2,83,192,197,67,97,30,83,192,197,163,99,30,84,192,197,3,115,0,81,192,197,130,91,1,81,192,197,195,93,1,82,192,197,35,95,1,82,192,197,131,97,1,82,192,197,227,83,0,255,255,2,93,137,5,90,0,4,0,115,0,255,255,2,93,71,5,10,0,24,2,20,0,100,30,9,0,100,30,80,192,197,4,102,30,80,192,197,132,104,30,81,192,197,4,24,2,78,192,197,227,96,30,79,192,197,67,98,30,79,192,197,163,83,0,77,192,197,34,90,1,77,192,197,99,92,1,77,192,197,195,94,1,78,192,197,35,96,1,78,192,197,131,0,46,5,5,11,0,25,2,20,0,101,30,9,0,101,30,7,192,197,131,103,30,8,192,197,3,105,30,8,192,197,131,25,2,6,192,197,98,97,30,6,192,197,194,99,30,7,192,197,34,93,1,9,0,93,1,5,192,197,66,95,1,5,192,197,162,97,1,6,192,197,2,99,0,6,0,115,0,2,239,5,5,91,1,4,192,197,226,10,0,25,2,20,0,101,30,9,0,101,30,91,192,197,164,103,30,92,192,197,36,105,30,92,192,197,164,25,2,90,192,197,131,97,30,90,192,197,227,99,30,91,192,197,67,115,0,88,192,197,194,91,1,89,192,197,3,93,1,89,192,197,99,95,1,89,192,197,195,97,1,90,192,197,35,0,48,5,5,7,0,126,1,12,0,126,1,24,192,197,34,145,30,24,192,197,130,147,30,24,192,197,226,149,30,25,192,197,66,100,0,8,0,122,0,68,0,122,1,23,192,197,98,124,1,23,192,197,194,6,0,126,1,12,0,126,1,98,192,197,131,145,30,98,192,197,227,147,30,99,192,197,67,149,30,99,192,197,163,122,0,6,0,122,1,97,192,197,195,124,1,98,192,197,35,138,87,197,34,25,2,20,0,101,30,9,0,101,30,96,192,197,68,103,30,96,192,197,196,105,30,97,192,197,68,25,2,95,192,197,35,97,30,95,192,197,131,99,30,95,192,197,227,115,0,93,192,197,98,91,1,93,192,197,163,93,1,94,192,197,3,95,1,94,192,197,99,97,1,94,192,197,195,202,127,2,49,5,5,25,2,20,0,101,30,9,0,101,30,21,192,197,227,103,30,22,192,197,99,105,30,22,192,197,227,25,2,20,192,197,194,97,30,21,192,197,34,99,30,21,192,197,130,115,0,3,241,5,5,91,1,19,192,197,66,93,1,19,192,197,162,95,1,20,192,197,2,97,1,20,192,197,98,0,54,5,5,11,0,143,30,20,0,245,30,9,0,245,30,36,192,197,130,247,30,36,192,197,226,249,30,37,192,197,66,143,30,35,192,197,98,153,30,35,192,197,194,243,30,36,192,197,34,255,0,9,0,255,0,34,192,197,66,119,1,34,192,197,162,51,2,35,192,197,2,103,0,6,0,121,0,2,247,5,5,253,0,33,192,197,226,10,0,143,30,20,0,245,30,9,0,245,30,102,192,197,227,247,30,103,192,197,67,249,30,103,192,197,163,143,30,101,192,197,195,153,30,102,192,197,35,243,30,102,192,197,131,121,0,100,192,197,2,253,0,100,192,197,67,255,0,100,192,197,163,119,1,101,192,197,3,51,2,101,192,197,99,0,64,5,5,11,0,143,30,20,0,245,30,9,0,245,30,46,192,197,162,247,30,47,192,197,2,249,30,47,192,197,98,143,30,45,192,197,130,153,30,45,192,197,226,243,30,46,192,197,66,255,0,9,0,255,0,44,192,197,98,119,1,44,192,197,194,51,2,45,192,197,34,108,0,7,0,121,0,255,255,2,65,5,5,253,0,44,192,197,2,10,0,143,30,20,0,245,30,9,0,245,30,106,192,197,227,247,30,107,192,197,67,249,30,107,192,197,163,143,30,105,192,197,195,153,30,106,192,197,35,243,30,106,192,197,131,121,0,104,192,197,2,253,0,104,192,197,67,255,0,104,192,197,163,119,1,105,192,197,3,51,2,105,192,197,99,0,68,5,5,11,0,143,30,20,0,245,30,9,0,245,30,56,192,197,194,247,30,57,192,197,34,249,30,57,192,197,130,143,30,55,192,197,162,153,30,56,192,197,2,243,30,56,192,197,98,255,0,9,0,255,0,54,192,197,130,119,1,54,192,197,226,51,2,55,192,197,66,110,0,7,0,121,0,255,255,2,69,5,5,253,0,54,192,197,34,10,0,143,30,20,0,245,30,9,0,245,30,110,192,197,227,247,30,111,192,197,67,249,30,111,192,197,163,143,30,109,192,197,195,153,30,110,192,197,35,243,30,110,192,197,131,121,0,108,192,197,2,253,0,108,192,197,67,255,0,108,192,197,163,119,1,109,192,197,3,51,2,109,192,197,99,0,70,5,5,1,0,8,3,255,255,2,71,5,5,11,3,255,255,2,71,5,70,0,78,5,5,7,0,126,1,12,0,126,1,63,192,197,226,145,30,64,192,197,66,147,30,64,192,197,162,149,30,65,192,197,2,115,0,10,0,122,0,255,255,2,79,5,5,122,1,63,192,197,34,124,1,63,192,197,130,6,0,126,1,12,0,126,1,113,192,197,3,145,30,113,192,197,99,147,30,113,192,197,195,149,30,114,192,197,35,122,0,112,192,197,2,122,1,112,192,197,67,124,1,112,192,197,163,0,80,5,5,11,0,143,30,20,0,245,30,9,0,245,30,73,192,197,98,247,30,73,192,197,194,249,30,74,192,197,34,143,30,72,192,197,66,153,30,72,192,197,162,243,30,73,192,197,2,255,0,9,0,255,0,71,192,197,34,119,1,71,192,197,130,51,2,71,192,197,226,116,0,7,0,121,0,255,255,2,81,5,5,253,0,70,192,197,194,10,0,143,30,20,0,245,30,9,0,245,30,117,192,197,99,247,30,117,192,197,195,249,30,118,192,197,35,143,30,116,192,197,67,153,30,116,192,197,163,243,30,117,192,197,3,121,0,114,192,197,130,253,0,114,192,197,195,255,0,115,192,197,35,119,1,115,192,197,131,51,2,115,192,197,227,0,82,5,5,2,0,8,3,255,255,2,83,5,5,11,3,255,255,2,83,5,70,68,3,118,192,197,130,0,92,5,5,11,0,25,2,20,0,101,30,9,0,101,30,84,192,197,131,103,30,85,192,197,3,105,30,85,192,197,131,25,2,83,192,197,98,97,30,83,192,197,194,99,30,84,192,197,34,93,1,9,0,93,1,82,192,197,66,95,1,82,192,197,162,97,1,83,192,197,2,115,0,255,255,2,93,5,5,122,0,3,0,91,1,81,192,197,226,10,0,25,2,20,0,101,30,9,0,101,30,121,192,197,164,103,30,122,192,197,36,105,30,122,192,197,164,25,2,120,192,197,131,97,30,120,192,197,227,99,30,121,192,197,67,115,0,118,192,197,194,91,1,119,192,197,3,93,1,119,192,197,99,95,1,119,192,197,195,97,1,120,192,197,35,156,82,196,162,1,0,8,3,123,192,197,34,11,3,123,192,197,98,5,82,196,162,1,0,8,3,123,192,197,162,11,3,123,192,197,226,156,70,196,190,1,0,8,3,124,192,197,34,11,3,124,192,197,98,5,70,196,190,1,0,8,3,124,192,197,162,11,3,124,192,197,226,156,82,196,190,1,0,8,3,125,192,197,34,11,3,125,192,197,98,5,82,196,190,1,0,8,3,125,192,197,162,11,3,125,192,197,226,156,70,196,162,1,0,8,3,127,192,197,162,11,3,127,192,197,226,5,70,196,162,1,0,8,3,128,192,197,34,11,3,128,192,197,98,156,82,196,198,1,0,8,3,129,192,197,34,11,3,129,192,197,98,5,82,196,198,1,0,8,3,129,192,197,162,11,3,129,192,197,226,156,82,196,208,1,0,8,3,130,192,197,34,11,3,130,192,197,98,5,82,196,208,1,0,8,3,130,192,197,162,11,3,130,192,197,226,156,82,196,204,1,0,8,3,131,192,197,34,11,3,131,192,197,98,5,82,196,204,1,0,8,3,131,192,197,162,11,3,131,192,197,226,156,70,196,196,1,0,8,3,132,192,197,34,11,3,132,192,197,98,5,70,196,196,1,0,8,3,132,192,197,162,11,3,132,192,197,226,133,0,197,35,1,0,8,3,133,192,197,131,11,3,133,192,197,227,134,0,197,67,1,0,8,3,134,192,197,163,11,3,135,192,197,3,156,82,196,196,1,0,8,3,135,192,197,98,11,3,135,192,197,162,5,82,196,196,1,0,8,3,135,192,197,226,11,3,136,192,197,34,136,0,197,99,1,0,8,3,136,192,197,195,11,3,137,192,197,35,137,0,197,131,1,0,8,3,137,192,197,227,11,3,138,192,197,67,44,0,67,0,69,0,71,0,72,0,78,0,79,0,83,0,85,0,89,0,91,0,99,0,101,0,103,0,104,0,108,0,109,0,110,0,111,0,115,0,117,0,121,0,123,0,221,0,222,0,253,0,254,0,255,0,0,1,90,1,98,1,118,1,127,1,24,2,26,2,50,2,52,2,96,30,106,30,142,30,150,30,153,30,154,30,242,30,250,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,50,4,186,80,185,84,68,4,185,96,186,100,186,108,185,112,88,4,185,124,108,4,128,4,185,148,185,152,185,160,130,4,150,4,170,4,185,192,185,196,185,200,185,204,172,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,196,4,209,4,168,80,168,84,219,4,168,96,168,100,168,108,168,112,230,4,168,124,241,4,252,4,168,148,168,152,168,160,254,4,9,5,20,5,168,192,168,196,168,200,168,204,22,5,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,89,58,57,58,0,8,217,66,186,81,154,81,250,81,90,82,186,101,154,101,250,101,90,102,217,72,122,130,185,141,153,141,249,141,121,142,185,144,136,14,185,142,185,185,153,185,249,185,185,188,153,205,185,216,2,8,168,57,136,57,232,57,104,58,72,58,40,58,4,8,200,66,168,81,136,81,232,81,72,82,168,101,136,101,232,101,72,102,200,72,104,130,168,141,136,141,232,141,104,142,168,144,128,14,168,142,168,185,136,185,232,185,168,188,136,205,168,216,72,206,25,59,8,59,217,57,200,57,249,58,232,58,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,74,8,74,57,75,40,75,26,83,8,83,218,81,200,81,154,82,136,82,250,82,232,82,26,82,8,82,249,89,232,89,217,89,200,89,153,90,136,90,217,90,200,90,249,97,232,97,57,99,40,99,122,102,104,102,26,103,8,103,218,101,200,101,250,102,232,102,154,102,168,104,6,8,8,8,250,109,232,109,217,114,200,114,168,156,153,117,136,117,217,118,200,118,25,118,8,118,89,119,72,119,57,119,40,119,154,129,136,129,218,130,200,130,26,130,8,130,10,8,185,136,168,136,25,143,8,143,217,141,200,141,217,144,200,144,12,8,14,8,153,161,136,161,217,162,200,162,25,162,8,162,154,165,136,165,250,165,232,165,218,166,200,166,26,166,8,166,217,174,200,174,25,174,8,174,185,180,168,180,121,186,104,186,25,187,8,187,217,185,200,185,57,186,40,186,217,188,200,188,35,5,37,5,249,197,232,197,249,205,232,205,89,206,153,209,136,209,153,210,136,210,25,210,8,210,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,164,169,164,200,56,169,80,187,100,187,108,169,100,169,108,169,220,169,128,217,140,187,80,200,140,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,67,2,83,4,186,68,99,2,115,4,177,68,90,5,154,69,91,5,145,69,92,5,250,69,93,5,241,69,94,5,218,70,95,5,209,70,96,5,26,70,97,5,17,70,255,5,185,72,68,2,90,2,100,2,122,2,121,5,154,77,122,5,145,77,123,5,154,78,124,5,145,78,125,5,26,78,126,5,17,78,255,5,185,88,71,2,89,4,186,92,103,2,121,4,177,92,221,4,154,93,253,4,145,93,255,4,81,94,118,5,250,93,119,5,241,93,120,5,90,94,255,5,185,116,76,2,89,4,186,120,108,2,121,4,177,120,221,4,154,121,253,4,145,121,255,4,81,122,118,5,250,121,119,5,241,121,120,5,90,122,255,5,186,128,78,2,89,4,186,132,110,2,121,4,177,132,221,4,154,133,253,4,145,133,255,4,81,134,118,5,250,133,119,5,241,133,120,5,90,134,255,5,185,140,255,5,186,164,83,2,90,4,186,168,115,2,122,4,177,168,121,5,154,169,122,5,145,169,123,5,154,170,124,5,145,170,125,5,26,170,126,5,17,170,255,5,185,172,84,2,89,4,186,176,116,2,121,4,177,176,221,4,154,177,253,4,145,177,255,4,81,178,118,5,250,177,119,5,241,177,120,5,90,178,255,5,185,184,255,5,185,208,83,4,186,212,90,2,115,4,177,212,122,2,90,5,154,213,91,5,145,213,92,5,250,213,93,5,241,213,94,5,218,214,95,5,209,214,96,5,26,214,97,5,17,214,255,5,168,64,99,2,115,4,168,68,91,5,136,69,93,5,232,69,95,5,200,70,97,5,8,70,255,5,168,72,100,2,122,2,122,5,136,77,124,5,136,78,126,5,8,78,255,5,168,88,103,2,121,4,168,92,253,4,136,93,255,4,72,94,119,5,232,93,255,5,168,116,108,2,121,4,168,120,253,4,136,121,255,4,72,122,119,5,232,121,255,5,168,128,110,2,121,4,168,132,253,4,136,133,255,4,72,134,119,5,232,133,255,5,168,140,255,5,168,164,115,2,122,4,168,168,122,5,136,169,124,5,136,170,126,5,8,170,255,5,168,172,116,2,121,4,168,176,253,4,136,177,255,4,72,178,119,5,232,177,255,5,168,184,255,5,168,208,115,4,168,212,122,2,91,5,136,213,93,5,232,213,95,5,200,214,97,5,8,214,255,5,249,186,255,5,232,186,255,1,170,170,3,0,69,0,52,0,61,0,19,1,0,16,4,0,0,96,1,0,0,96,1,0,43,0,93,18,0,32,1,0,32,0,98,18,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,154,6,0,32,7,0,0,0,21,0,0,0,156,6,0,0,156,6,0,0,3,0,0,0,0,0,0,0,34,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,109,0,110,0,93,0,38,0,101,5,126,5,60,0,60,0,60,0,135,5,0,0,170,170,170,170,188,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,56,0,0,0,56,1,0,0,88,25,0,0,88,25,0,0,88,25,0,0,88,25,0,0,164,25,0,0,3,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,39,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,16,100,6,5,68,100,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,35,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,147,6,0,32,1,0,32,0,152,6,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,67,12,0,32,7,0,0,0,21,0,0,0,69,12,0,0,69,12,0,0,3,0,0,0,0,0,0,0,112,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,175,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,38,0,66,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,71,0,60,0,103,0,98,0,60,0,60,0,60,0,71,0,98,0,60,0,60,0,60,0,71,0,66,0,60,0,103,0,104,0,60,0,60,0,60,0,71,0,104,0,60,0,60,0,60,0,71,0,72,0,60,0,103,0,119,0,60,0,60,0,60,0,71,0,119,0,60,0,60,0,60,0,71,0,87,0,38,0,73,0,60,0,203,30,60,0,60,0,60,0,202,30,38,0,75,0,60,0,107,0,112,0,60,0,60,0,60,0,75,0,112,0,60,0,60,0,60,0,75,0,80,0,60,0,107,0,119,0,60,0,60,0,60,0,75,0,119,0,60,0,60,0,60,0,75,0,87,0,38,0,78,0,60,0,69,30,60,0,60,0,60,0,68,30,60,0,110,0,119,0,60,0,60,0,60,0,78,0,119,0,60,0,60,0,60,0,78,0,87,0,60,0,110,0,121,0,60,0,60,0,60,0,78,0,121,0,60,0,60,0,60,0,78,0,89,0,38,0,79,0,60,0,205,30,60,0,60,0,60,0,204,30,38,0,83,0,60,0,115,0,104,0,60,0,60,0,60,0,83,0,104,0,60,0,60,0,60,0,83,0,72,0,38,0,85,0,60,0,229,30,60,0,60,0,60,0,228,30,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,30,47,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,28,0,0,164,28,0,0,164,28,0,0,164,28,0,0,240,34,0,0,240,34,0,0,176,41,0,0,22,42,0,0,6,47,0,0,50,105,114,84,1,0,64,8,189,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,108,0,116,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,152,0,48,0,48,0,48,0,158,0,166,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,172,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,145,0,48,0,48,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,176,1,228,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,49,0,202,65,49,0,202,98,49,0,202,131,49,0,202,164,49,0,202,197,49,0,202,230,49,0,202,7,50,0,202,40,50,0,202,73,50,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,96,7,0,156,5,0,56,201,134,24,0,156,5,0,60,201,64,25,0,156,5,0,64,156,5,0,66,201,132,34,0,201,38,51,0,156,5,0,72,160,5,0,74,156,5,0,76,201,0,52,0,156,5,0,80,201,198,59,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,160,60,0,5,5,0,48,5,5,0,50,5,5,0,52,201,160,64,0,5,5,0,56,201,230,73,0,5,5,0,60,201,160,74,0,5,5,0,64,5,5,0,66,201,164,79,0,201,166,88,0,5,5,0,72,5,5,0,74,5,5,0,76,201,128,89,0,5,5,0,80,201,166,93,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,48,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,48,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,48,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,94,0,201,70,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,96,0,201,198,96,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,97,0,201,70,98,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,99,0,201,198,99,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,100,0,201,70,101,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,102,0,201,198,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,69,5,5,2,69,201,134,103,0,201,70,104,0,201,6,105,0,201,198,105,0,201,134,106,0,201,70,107,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,59,5,5,2,59,134,5,2,71,5,5,2,71,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,47,0,197,34,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,44,0,197,34,45,0,134,5,2,83,5,5,2,83,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,45,0,197,162,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,64,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,45,5,142,0,0,70,5,2,45,5,142,0,0,135,5,2,45,5,144,0,0,70,5,2,45,5,144,0,0,135,5,2,45,5,156,0,0,70,5,2,45,5,156,0,0,135,5,2,45,5,196,0,0,70,5,2,45,5,196,0,0,135,5,2,45,5,150,0,0,70,5,2,45,5,150,0,0,135,5,2,45,5,160,0,0,70,5,2,45,5,160,0,0,135,5,2,45,5,206,0,0,70,5,2,45,5,206,0,0,70,5,2,45,5,210,0,0,135,5,3,55,5,142,0,0,70,5,3,55,5,142,0,0,135,5,4,55,5,142,0,0,70,5,4,55,5,142,0,0,135,5,3,55,5,144,0,0,70,5,3,55,5,144,0,0,135,5,2,55,5,156,0,0,70,5,2,55,5,156,0,0,135,5,2,55,5,196,0,0,70,5,2,55,5,196,0,0,135,5,2,55,5,210,0,0,70,5,2,55,5,210,0,0,135,5,3,55,5,156,0,0,70,5,3,55,5,156,0,0,135,5,3,55,5,196,0,0,70,5,3,55,5,196,0,0,135,5,3,55,5,150,0,0,70,5,3,55,5,150,0,0,135,5,3,55,5,160,0,0,70,5,3,55,5,160,0,0,135,5,3,55,5,206,0,0,70,5,3,55,5,206,0,0,135,5,4,55,5,138,0,0,70,5,4,55,5,138,0,0,135,5,4,55,5,136,0,0,70,5,4,55,5,136,0,0,135,5,4,55,5,150,0,0,70,5,4,55,5,150,0,0,135,5,4,55,5,156,0,0,70,5,4,55,5,156,0,0,135,5,4,55,5,196,0,0,70,5,4,55,5,196,0,0,70,5,3,55,5,210,0,0,70,5,4,55,5,146,0,0,135,5,3,63,5,142,0,0,70,5,3,63,5,142,0,0,135,5,2,63,5,136,0,0,70,5,2,63,5,136,0,0,135,5,2,63,5,156,0,0,70,5,2,63,5,156,0,0,135,5,3,63,5,138,0,0,70,5,3,63,5,138,0,0,135,5,3,63,5,136,0,0,70,5,3,63,5,136,0,0,135,5,3,63,5,150,0,0,70,5,3,63,5,150,0,0,135,5,3,63,5,156,0,0,70,5,3,63,5,156,0,0,135,5,3,63,5,196,0,0,70,5,3,63,5,196,0,0,70,5,3,63,5,146,0,0,135,5,4,69,5,136,0,0,70,5,4,69,5,136,0,0,70,5,4,69,5,150,0,0,135,5,3,69,5,142,0,0,70,5,3,69,5,142,0,0,135,5,4,69,5,142,0,0,70,5,4,69,5,142,0,0,135,5,4,69,5,150,0,0,135,5,4,69,5,164,0,0,70,5,4,69,5,164,0,0,135,5,3,69,5,138,0,0,70,5,3,69,5,138,0,0,135,5,3,69,5,136,0,0,70,5,3,69,5,136,0,0,135,5,3,69,5,150,0,0,70,5,3,69,5,150,0,0,135,5,3,69,5,156,0,0,70,5,3,69,5,156,0,0,135,5,3,69,5,196,0,0,70,5,3,69,5,196,0,0,135,5,4,69,5,156,0,0,70,5,4,69,5,156,0,0,70,5,3,69,5,146,0,0,70,5,4,69,5,146,0,0,135,5,4,69,5,138,0,0,70,5,4,69,5,138,0,0,135,5,4,69,5,196,0,0,70,5,4,69,5,196,0,0,135,5,4,69,5,182,0,0,70,5,4,69,5,182,0,0,135,5,4,69,5,154,0,0,70,5,4,69,5,154,0,0,135,5,2,79,5,142,0,0,70,5,2,79,5,142,0,0,135,5,2,79,5,144,0,0,70,5,2,79,5,144,0,0,135,5,2,79,5,156,0,0,70,5,2,79,5,156,0,0,135,5,2,79,5,196,0,0,70,5,2,79,5,196,0,0,135,5,2,79,5,150,0,0,70,5,2,79,5,150,0,0,135,5,2,79,5,160,0,0,70,5,2,79,5,160,0,0,135,5,2,79,5,206,0,0,70,5,2,79,5,206,0,0,70,5,2,79,5,210,0,0,5,5,2,45,5,142,0,0,5,5,2,45,5,144,0,0,5,5,2,45,5,156,0,0,5,5,2,45,5,196,0,0,5,5,2,45,5,150,0,0,5,5,2,45,5,160,0,0,5,5,2,45,5,206,0,0,5,5,2,45,5,210,0,0,5,5,3,55,5,142,0,0,5,5,4,55,5,142,0,0,5,5,3,55,5,144,0,0,5,5,2,55,5,156,0,0,5,5,2,55,5,196,0,0,5,5,2,55,5,210,0,0,5,5,3,55,5,156,0,0,5,5,3,55,5,196,0,0,5,5,3,55,5,150,0,0,5,5,3,55,5,160,0,0,5,5,3,55,5,206,0,0,5,5,4,55,5,138,0,0,5,5,4,55,5,136,0,0,5,5,4,55,5,150,0,0,5,5,4,55,5,156,0,0,5,5,4,55,5,196,0,0,5,5,3,55,5,210,0,0,5,5,4,55,5,146,0,0,5,5,3,63,5,142,0,0,5,5,2,63,5,136,0,0,5,5,2,63,5,156,0,0,5,5,3,63,5,138,0,0,5,5,3,63,5,136,0,0,5,5,3,63,5,150,0,0,5,5,3,63,5,156,0,0,5,5,3,63,5,196,0,0,5,5,3,63,5,146,0,0,5,5,4,69,5,136,0,0,5,5,4,69,5,150,0,0,5,5,3,69,5,142,0,0,5,5,4,69,5,142,0,0,5,5,4,69,5,164,0,0,5,5,3,69,5,138,0,0,5,5,3,69,5,136,0,0,5,5,3,69,5,150,0,0,5,5,3,69,5,156,0,0,5,5,3,69,5,196,0,0,5,5,4,69,5,156,0,0,5,5,3,69,5,146,0,0,5,5,4,69,5,146,0,0,5,5,4,69,5,138,0,0,5,5,4,69,5,196,0,0,5,5,4,69,5,182,0,0,5,5,4,69,5,154,0,0,5,5,2,79,5,142,0,0,5,5,2,79,5,144,0,0,5,5,2,79,5,156,0,0,5,5,2,79,5,196,0,0,5,5,2,79,5,150,0,0,5,5,2,79,5,160,0,0,5,5,2,79,5,206,0,0,5,5,2,79,5,210,0,0,134,5,2,59,5,162,0,0,5,5,2,59,5,162,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,71,5,142,0,0,5,5,2,71,5,142,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,237,135,5,104,0,2,237,70,5,36,1,197,162,37,1,0,192,197,98,0,54,156,5,39,0,36,30,66,0,130,30,32,0,135,30,15,0,135,30,11,192,197,34,136,30,11,192,197,98,137,30,11,192,197,162,150,30,11,192,197,226,152,30,12,192,197,34,130,30,9,192,197,226,131,30,10,192,197,34,132,30,10,192,197,98,133,30,10,192,197,162,134,30,10,192,197,226,41,30,15,0,41,30,8,192,197,162,42,30,8,192,197,226,43,30,9,192,197,34,128,30,9,192,197,98,129,30,9,192,197,162,36,30,7,192,197,98,37,30,7,192,197,162,38,30,7,192,197,226,39,30,8,192,197,34,40,30,8,192,197,98,30,2,32,0,5,30,15,0,5,30,6,192,197,34,6,30,6,192,197,98,7,30,6,192,197,162,34,30,6,192,197,226,35,30,7,192,197,34,30,2,4,192,197,226,31,2,5,192,197,34,2,30,5,192,197,98,3,30,5,192,197,162,4,30,5,192,197,226,119,0,15,0,119,0,4,247,70,5,36,1,3,192,197,226,37,1,4,192,197,34,116,1,4,192,197,98,117,1,4,192,197,162,66,0,2,247,135,5,72,0,3,247,135,5,87,0,4,247,135,5,98,0,2,247,70,5,104,0,3,247,70,5,0,58,156,5,48,0,35,3,2,251,134,5,0,62,156,5,20,0,128,30,37,0,133,30,20,0,136,30,9,0,136,30,15,192,197,226,137,30,16,192,197,34,152,30,16,192,197,98,133,30,15,192,197,34,134,30,15,192,197,98,135,30,15,192,197,162,128,30,13,192,197,226,129,30,14,192,197,34,130,30,14,192,197,98,131,30,14,192,197,162,132,30,14,192,197,226,117,1,15,0,117,1,12,192,197,162,84,30,12,192,197,226,85,30,13,192,197,34,86,30,13,192,197,98,87,30,13,192,197,162,80,0,2,255,135,5,87,0,3,255,135,5,112,0,2,255,70,5,119,0,3,255,70,5,116,1,12,192,197,98,0,68,156,5,36,0,131,30,63,0,152,30,32,0,245,30,15,0,245,30,23,192,197,98,246,30,23,192,197,162,247,30,23,192,197,226,248,30,24,192,197,34,249,30,24,192,197,98,152,30,22,192,197,34,153,30,22,192,197,98,242,30,22,192,197,162,243,30,22,192,197,226,244,30,23,192,197,34,135,30,15,0,135,30,20,192,197,226,136,30,21,192,197,34,137,30,21,192,197,98,142,30,21,192,197,162,143,30,21,192,197,226,131,30,19,192,197,226,132,30,20,192,197,34,133,30,20,192,197,98,134,30,20,192,197,162,118,1,30,0,51,2,16,0,51,2,18,192,197,226,7,3,255,255,2,69,134,5,128,30,19,192,197,34,129,30,19,192,197,98,130,30,19,192,197,162,118,1,17,192,197,226,119,1,18,192,197,34,120,1,18,192,197,98,50,2,18,192,197,162,221,0,15,0,221,0,16,192,197,162,253,0,16,192,197,226,255,0,17,192,197,34,116,1,17,192,197,98,117,1,17,192,197,162,87,0,255,255,3,69,135,5,89,0,255,255,4,69,135,5,119,0,255,255,3,69,70,5,121,0,255,255,4,69,70,5,0,70,156,5,48,0,35,3,255,255,2,71,134,5,0,78,156,5,16,0,36,30,29,0,40,30,15,0,40,30,27,192,197,34,41,30,27,192,197,98,42,30,27,192,197,162,43,30,27,192,197,226,150,30,28,192,197,34,36,30,26,192,197,34,37,30,26,192,197,98,38,30,26,192,197,162,39,30,26,192,197,226,30,2,12,0,30,2,25,192,197,34,31,2,25,192,197,98,34,30,25,192,197,162,35,30,25,192,197,226,72,0,255,255,2,79,135,5,104,0,255,255,2,79,70,5,36,1,24,192,197,162,37,1,24,192,197,226,0,82,156,5,48,0,35,3,255,255,2,83,134,5,0,46,5,5,8,0,37,30,15,0,37,30,29,192,197,34,39,30,29,192,197,98,41,30,29,192,197,162,43,30,29,192,197,226,150,30,30,192,197,34,104,0,2,237,5,5,37,1,28,192,197,98,31,2,28,192,197,162,35,30,28,192,197,226,0,54,5,5,20,0,37,30,37,0,131,30,20,0,137,30,9,0,137,30,34,192,197,34,150,30,34,192,197,98,152,30,34,192,197,162,131,30,33,192,197,98,133,30,33,192,197,162,135,30,33,192,197,226,37,30,32,192,197,34,39,30,32,192,197,98,41,30,32,192,197,162,43,30,32,192,197,226,129,30,33,192,197,34,31,2,15,0,31,2,30,192,197,226,3,30,31,192,197,34,5,30,31,192,197,98,7,30,31,192,197,162,35,30,31,192,197,226,98,0,2,247,5,5,104,0,3,247,5,5,119,0,4,247,5,5,37,1,30,192,197,98,117,1,30,192,197,162,0,58,5,5,48,0,35,3,2,251,5,5,0,62,5,5,10,0,129,30,20,0,135,30,9,0,135,30,36,192,197,98,137,30,36,192,197,162,152,30,36,192,197,226,129,30,35,192,197,162,131,30,35,192,197,226,133,30,36,192,197,34,112,0,2,255,5,5,119,0,3,255,5,5,117,1,34,192,197,226,85,30,35,192,197,34,87,30,35,192,197,98,0,68,5,5,19,0,133,30,32,0,153,30,15,0,153,30,40,192,197,34,243,30,40,192,197,98,245,30,40,192,197,162,247,30,40,192,197,226,249,30,41,192,197,34,133,30,38,192,197,226,135,30,39,192,197,34,137,30,39,192,197,98,143,30,39,192,197,162,152,30,39,192,197,226,119,1,16,0,119,1,37,192,197,226,51,2,38,192,197,34,7,3,255,255,2,69,5,5,129,30,38,192,197,98,131,30,38,192,197,162,119,0,255,255,3,69,5,5,121,0,255,255,4,69,5,5,253,0,37,192,197,34,255,0,37,192,197,98,117,1,37,192,197,162,0,70,5,5,48,0,35,3,255,255,2,71,5,5,0,78,5,5,8,0,37,30,15,0,37,30,42,192,197,34,39,30,42,192,197,98,41,30,42,192,197,162,43,30,42,192,197,226,150,30,43,192,197,34,104,0,255,255,2,79,5,5,37,1,41,192,197,98,31,2,41,192,197,162,35,30,41,192,197,226,0,82,5,5,48,0,35,3,255,255,2,83,5,5,156,58,196,162,48,0,35,3,43,192,197,98,5,58,196,162,48,0,35,3,43,192,197,162,156,68,196,160,48,0,7,3,43,192,197,226,5,68,196,160,48,0,7,3,44,192,197,34,156,82,196,162,48,0,35,3,44,192,197,98,5,82,196,162,48,0,35,3,44,192,197,162,156,70,196,190,48,0,35,3,44,192,197,226,5,70,196,190,48,0,35,3,45,192,197,34,156,82,196,190,48,0,35,3,45,192,197,98,5,82,196,190,48,0,35,3,45,192,197,162,156,70,196,162,48,0,35,3,45,192,197,226,5,70,196,162,48,0,35,3,46,192,197,34,156,68,196,196,48,0,7,3,46,192,197,98,5,68,196,196,48,0,7,3,46,192,197,162,156,68,196,210,48,0,7,3,46,192,197,226,5,68,196,210,48,0,7,3,47,192,197,34,156,68,196,204,48,0,7,3,47,192,197,98,5,68,196,204,48,0,7,3,47,192,197,162,50,0,66,0,67,0,72,0,73,0,80,0,81,0,87,0,88,0,89,0,90,0,98,0,99,0,104,0,105,0,112,0,113,0,119,0,120,0,121,0,122,0,221,0,222,0,253,0,254,0,255,0,0,1,36,1,38,1,116,1,121,1,30,2,32,2,50,2,52,2,2,30,8,30,34,30,44,30,84,30,88,30,128,30,138,30,142,30,144,30,150,30,151,30,152,30,154,30,242,30,250,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,36,4,185,100,58,4,186,112,60,4,185,128,185,132,74,4,100,4,185,156,185,160,185,168,102,4,185,180,112,4,185,192,185,196,185,200,185,204,185,208,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,114,4,168,72,168,76,168,80,120,4,168,100,132,4,168,112,134,4,168,128,168,132,142,4,156,4,168,156,168,160,168,168,158,4,168,180,164,4,168,192,168,196,168,200,168,204,168,208,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,152,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,70,186,77,154,77,250,77,90,78,186,105,154,105,250,105,90,106,217,72,154,138,185,153,153,153,249,153,153,154,89,154,136,14,217,154,185,189,153,189,249,189,89,190,153,205,185,212,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,70,168,77,136,77,232,77,72,78,168,105,136,105,232,105,72,106,200,72,136,138,168,153,136,153,232,153,136,154,72,154,128,14,200,154,168,189,136,189,232,189,72,190,136,205,168,212,72,206,57,59,40,59,217,57,200,57,25,59,8,59,153,69,136,69,249,69,232,69,185,70,168,70,25,70,8,70,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,166,4,168,4,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,164,153,129,136,129,249,130,232,130,25,130,8,130,121,131,104,131,89,131,72,131,154,137,136,137,170,4,172,4,26,138,8,138,10,8,185,148,168,148,57,155,40,155,217,153,200,153,121,154,104,154,12,8,14,8,153,169,136,169,249,170,232,170,25,170,8,170,154,173,136,173,250,173,232,173,250,174,232,174,26,174,8,174,249,182,232,182,25,182,8,182,185,184,168,184,153,190,136,190,57,191,40,191,217,189,200,189,57,190,40,190,121,190,104,190,174,4,176,4,249,197,232,197,249,205,232,205,89,206,153,209,136,209,185,210,168,210,25,210,8,210,232,172,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,172,169,172,200,56,169,76,187,104,187,112,169,104,169,112,169,216,169,136,217,152,187,76,200,152,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,68,72,4,186,64,104,4,177,64,36,5,250,65,37,5,241,65,255,5,185,84,66,4,186,88,72,4,186,92,87,4,186,96,98,4,177,88,104,4,177,92,119,4,177,96,36,5,250,93,37,5,241,93,116,5,250,97,117,5,241,97,255,5,186,104,255,5,185,116,80,4,186,120,87,4,186,124,112,4,177,120,119,4,177,124,116,5,250,125,117,5,241,125,255,5,186,136,87,4,186,140,89,4,186,144,119,4,177,140,121,4,177,144,221,4,154,145,253,4,145,145,255,4,81,146,116,5,250,141,117,5,241,141,118,5,250,145,119,5,241,145,120,5,90,146,255,5,185,152,255,5,186,172,72,4,186,176,104,4,177,176,36,5,250,177,37,5,241,177,255,5,185,188,255,5,168,68,104,4,168,64,37,5,232,65,255,5,168,84,98,4,168,88,104,4,168,92,119,4,168,96,37,5,232,93,117,5,232,97,255,5,168,104,255,5,168,116,112,4,168,120,119,4,168,124,117,5,232,125,255,5,168,136,119,4,168,140,121,4,168,144,253,4,136,145,255,4,72,146,117,5,232,141,119,5,232,145,255,5,168,152,255,5,168,172,104,4,168,176,37,5,232,177,255,5,168,188,255,5,26,107,255,5,8,107,255,5,250,138,255,5,232,138,255,5,25,191,255,5,8,191,255,1,170,170,3,0,69,0,52,0,61,0,115,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,60,12,0,32,1,0,32,0,65,12,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,10,0,0,0,14,0,0,0,14,0,0,0,1,0,0,0,0,0,0,0,14,0,0,0,37,37,65,76,73,65,83,0,0,0,105,0,100,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,7,0,0,80,7,0,0,0,10,0,0,0,15,0,0,0,15,0,0,0,1,0,0,0,0,0,0,0,15,0,0,0,37,37,65,76,73,65,83,0,0,0,105,0,100,0,95,0,73,0,68,0,0,0,1,0,32,0,1,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,236,23,0,32,7,0,0,0,23,0,0,0,238,23,0,0,238,23,0,0,3,0,0,0,0,0,0,0,135,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,105,0,115,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,167,220,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,98,0,60,0,225,0,60,0,60,0,60,0,193,0,38,0,100,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,240,0,60,0,60,0,60,0,208,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,102,0,60,0,233,0,60,0,60,0,60,0,201,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,106,0,60,0,237,0,60,0,60,0,60,0,205,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,112,0,60,0,243,0,60,0,60,0,60,0,211,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,118,0,60,0,250,0,60,0,60,0,60,0,218,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,122,0,60,0,253,0,60,0,60,0,60,0,221,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,229,0,60,0,60,0,60,0,197,0,0,0,206,49,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,188,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,244,38,0,0,244,38,0,0,132,40,0,0,132,40,0,0,168,44,0,0,168,44,0,0,178,49,0,0,178,49,0,0,178,49,0,0,50,105,114,84,1,0,64,8,98,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,145,0,153,0,159,0,167,0,175,0,183,0,48,0,56,0,182,0,190,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,0,215,0,48,0,48,0,48,0,223,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,231,0,48,0,48,0,239,0,48,0,245,0,253,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,8,1,15,1,48,0,19,1,48,0,27,1,34,1,42,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,56,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,59,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,205,0,48,0,48,0,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,67,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,75,1,48,0,48,0,81,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,68,2,124,2,188,2,192,0,216,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,31,0,202,1,32,0,202,34,32,0,202,67,32,0,202,100,32,0,202,133,32,0,202,166,32,0,202,199,32,0,202,232,32,0,202,9,33,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,102,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,134,3,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,4,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,102,6,0,156,5,0,84,160,5,0,86,156,5,0,88,201,198,7,0,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,38,9,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,11,0,5,5,0,52,5,5,0,54,5,5,0,56,201,70,12,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,13,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,70,15,0,5,5,0,84,5,5,0,86,5,5,0,88,201,166,16,0,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,5,31,43,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,129,0,0,196,160,156,46,196,138,156,50,134,5,49,51,196,142,156,50,196,150,156,50,196,138,156,58,134,5,27,59,196,142,156,58,196,150,156,58,134,5,2,49,196,154,156,68,196,138,156,70,134,5,61,71,196,142,156,70,196,154,156,70,198,65,0,0,5,5,127,12,198,161,0,0,196,138,156,82,134,5,51,83,196,142,156,82,196,150,156,82,134,5,17,91,160,5,38,93,197,66,23,0,196,138,5,42,5,5,31,43,196,142,5,42,196,154,5,42,198,97,0,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,5,5,49,51,196,142,5,50,196,150,5,50,196,138,5,58,5,5,27,59,196,142,5,58,196,150,5,58,5,5,2,49,196,154,5,68,196,138,5,70,5,5,61,71,196,142,5,70,196,154,5,70,193,3,111,93,5,5,125,12,198,193,0,0,196,138,5,82,5,5,51,83,196,142,5,82,196,150,5,82,5,5,17,91,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,18,0,201,166,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,21,0,201,166,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,23,0,201,230,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,26,0,201,38,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,28,0,201,198,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,31,0,201,102,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,1,0,198,34,2,0,192,0,0,0,192,0,0,0,198,98,2,0,197,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,33,0,201,6,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,2,0,197,162,4,0,198,34,3,0,197,226,4,0,198,98,3,0,198,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,36,0,201,166,37,0,198,226,3,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,38,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,40,0,5,71,238,102,201,134,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,192,0,0,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,7,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,197,99,8,0,197,194,8,0,192,0,0,0,192,0,0,0,197,2,9,0,197,67,9,0,197,162,9,0,192,0,0,0,192,0,0,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,42,0,201,70,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,46,0,201,70,47,0,201,102,48,0,201,134,49,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,50,0,201,198,51,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,52,0,201,6,54,0,201,38,55,0,201,70,56,0,201,102,57,0,201,134,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,59,0,201,134,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,63,0,201,134,64,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,65,0,201,198,66,0,201,230,67,0,201,102,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,2,0,197,162,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,70,0,201,102,72,0,201,230,73,0,201,6,75,0,192,0,0,0,192,0,0,0,197,34,3,0,197,98,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,76,0,201,70,77,0,192,0,0,0,192,0,0,0,201,102,78,0,201,134,79,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,70,0,2,111,93,0,134,0,5,0,2,111,93,0,134,0,70,0,3,111,93,0,5,0,70,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,5,31,43,5,162,0,0,5,5,31,43,5,162,0,0,193,4,111,93,5,162,0,0,134,5,49,51,5,162,0,0,5,5,49,51,5,162,0,0,134,5,27,59,5,162,0,0,5,5,27,59,5,162,0,0,134,5,51,83,5,162,0,0,5,5,51,83,5,162,0,0,134,5,61,71,5,190,0,0,5,5,61,71,5,190,0,0,193,3,111,93,5,190,0,0,134,5,51,83,5,190,0,0,5,5,51,83,5,190,0,0,193,2,111,93,5,164,0,0,134,5,61,71,5,162,0,0,5,5,61,71,5,162,0,0,193,3,111,93,5,162,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,134,5,49,51,5,160,0,0,5,5,49,51,5,160,0,0,193,3,111,93,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,31,43,5,200,0,0,5,5,31,43,5,200,0,0,193,4,111,93,5,200,0,0,134,5,49,51,5,204,0,0,5,5,49,51,5,204,0,0,134,5,49,51,5,208,0,0,5,5,49,51,5,208,0,0,134,5,27,59,5,208,0,0,5,5,27,59,5,208,0,0,134,5,51,83,5,198,0,0,5,5,51,83,5,198,0,0,134,5,51,83,5,208,0,0,5,5,51,83,5,208,0,0,134,5,51,83,5,204,0,0,5,5,51,83,5,204,0,0,134,5,31,43,5,196,0,0,5,5,31,43,5,196,0,0,193,4,111,93,5,196,0,0,134,5,49,51,5,196,0,0,5,5,49,51,5,196,0,0,134,5,27,59,5,196,0,0,5,5,27,59,5,196,0,0,134,5,61,71,5,196,0,0,5,5,61,71,5,196,0,0,193,3,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,61,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,61,71,5,190,0,0,5,196,0,0,193,3,111,93,5,190,0,0,5,196,0,0,134,5,51,83,5,196,0,0,5,5,51,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,51,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,51,83,5,190,0,0,5,196,0,0,134,5,17,91,5,196,0,0,5,5,17,91,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,226,5,0,5,5,10,121,5,5,12,121,197,34,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,197,226,6,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,7,0,5,5,107,121,197,98,7,0,5,5,111,121,197,162,7,0,5,5,115,121,197,226,7,0,5,5,119,121,197,34,8,0,197,99,8,0,197,194,8,0,5,5,127,121,5,5,129,121,197,2,9,0,197,67,9,0,197,162,9,0,5,5,137,121,5,5,139,121,197,226,9,0,5,5,143,121,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,3,0,1,3,31,235,134,5,8,3,198,129,10,3,198,161,65,3,31,235,134,5,0,50,156,5,1,0,1,3,49,243,134,5,65,3,49,243,134,5,0,58,156,5,1,0,1,3,27,251,134,5,65,3,27,251,134,5,0,70,156,5,2,0,1,3,255,255,61,71,134,5,8,3,0,192,198,65,65,3,255,255,61,71,134,5,0,82,156,5,1,0,1,3,255,255,51,83,134,5,65,3,255,255,51,83,134,5,0,90,156,5,1,0,1,3,255,255,17,91,134,5,65,3,255,255,17,91,134,5,0,42,5,5,3,0,1,3,31,235,5,5,8,3,0,192,198,97,10,3,255,255,111,93,193,4,65,3,31,235,5,5,0,50,5,5,1,0,1,3,49,243,5,5,65,3,49,243,5,5,0,58,5,5,1,0,1,3,27,251,5,5,65,3,27,251,5,5,0,70,5,5,2,0,1,3,255,255,61,71,5,5,8,3,255,255,111,93,193,3,65,3,255,255,61,71,5,5,0,82,5,5,1,0,1,3,255,255,51,83,5,5,65,3,255,255,51,83,5,5,0,90,5,5,1,0,1,3,255,255,17,91,5,5,65,3,255,255,17,91,5,5,156,42,196,162,3,0,1,3,197,162,8,3,0,192,198,226,10,3,1,192,198,34,65,3,197,162,5,42,196,162,3,0,1,3,0,192,197,98,8,3,1,192,198,98,10,3,0,192,197,162,65,3,0,192,197,98,156,50,196,162,1,0,1,3,0,192,197,226,65,3,0,192,197,226,5,50,196,162,1,0,1,3,1,192,197,34,65,3,1,192,197,34,156,58,196,162,1,0,1,3,1,192,197,98,65,3,1,192,197,98,5,58,196,162,1,0,1,3,1,192,197,162,65,3,1,192,197,162,156,82,196,162,1,0,1,3,1,192,197,226,65,3,1,192,197,226,5,82,196,162,1,0,1,3,2,192,197,34,65,3,2,192,197,34,156,70,196,190,2,0,1,3,2,192,197,98,8,3,1,192,198,162,65,3,2,192,197,98,5,70,196,190,2,0,1,3,2,192,197,162,8,3,2,192,197,226,65,3,2,192,197,162,156,82,196,190,1,0,1,3,3,192,197,34,65,3,3,192,197,34,5,82,196,190,1,0,1,3,3,192,197,98,65,3,3,192,197,98,156,70,196,162,2,0,1,3,3,192,197,226,8,3,2,192,198,162,65,3,3,192,197,226,5,70,196,162,2,0,1,3,4,192,197,34,8,3,4,192,197,98,65,3,4,192,197,34,156,50,196,160,1,0,1,3,5,192,197,34,65,3,5,192,197,34,5,50,196,160,1,0,1,3,5,192,197,98,65,3,5,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,3,0,1,3,12,192,197,162,8,3,4,192,198,34,10,3,4,192,198,98,65,3,12,192,197,162,5,42,196,200,3,0,1,3,12,192,197,226,8,3,4,192,198,162,10,3,13,192,197,34,65,3,12,192,197,226,156,50,196,204,1,0,1,3,13,192,197,98,65,3,13,192,197,98,5,50,196,204,1,0,1,3,13,192,197,162,65,3,13,192,197,162,156,50,196,208,1,0,1,3,13,192,197,226,65,3,13,192,197,226,5,50,196,208,1,0,1,3,14,192,197,34,65,3,14,192,197,34,156,58,196,208,1,0,1,3,14,192,197,98,65,3,14,192,197,98,5,58,196,208,1,0,1,3,14,192,197,162,65,3,14,192,197,162,156,82,196,198,1,0,1,3,14,192,197,226,65,3,14,192,197,226,5,82,196,198,1,0,1,3,15,192,197,34,65,3,15,192,197,34,156,82,196,208,1,0,1,3,15,192,197,98,65,3,15,192,197,98,5,82,196,208,1,0,1,3,15,192,197,162,65,3,15,192,197,162,156,82,196,204,1,0,1,3,15,192,197,226,65,3,15,192,197,226,5,82,196,204,1,0,1,3,16,192,197,34,65,3,16,192,197,34,156,42,196,196,3,0,1,3,16,192,197,98,8,3,4,192,198,226,10,3,5,192,198,34,65,3,16,192,197,98,5,42,196,196,3,0,1,3,16,192,197,162,8,3,5,192,198,98,10,3,16,192,197,226,65,3,16,192,197,162,156,50,196,196,1,0,1,3,17,192,197,34,65,3,17,192,197,34,5,50,196,196,1,0,1,3,17,192,197,98,65,3,17,192,197,98,156,58,196,196,1,0,1,3,17,192,197,162,65,3,17,192,197,162,5,58,196,196,1,0,1,3,17,192,197,226,65,3,17,192,197,226,156,70,196,196,2,0,1,3,18,192,197,34,8,3,5,192,198,162,65,3,18,192,197,34,5,70,196,196,2,0,1,3,18,192,197,98,8,3,18,192,197,162,65,3,18,192,197,98,18,0,197,227,2,0,1,3,19,192,197,67,8,3,5,192,198,227,65,3,19,192,197,67,19,0,197,163,2,0,1,3,20,192,197,3,8,3,20,192,197,99,65,3,20,192,197,3,156,82,196,196,1,0,1,3,20,192,197,194,65,3,20,192,197,194,5,82,196,196,1,0,1,3,21,192,197,2,65,3,21,192,197,2,21,0,197,67,1,0,1,3,21,192,197,163,65,3,21,192,197,163,22,0,197,3,1,0,1,3,22,192,197,99,65,3,22,192,197,99,156,90,196,196,1,0,1,3,22,192,197,194,65,3,22,192,197,194,5,90,196,196,1,0,1,3,23,192,197,2,65,3,23,192,197,2,170,170,3,0,67,0,50,0,59,0,135,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,124,43,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,196,30,0,0,196,30,0,0,84,32,0,0,84,32,0,0,148,34,0,0,148,34,0,0,88,39,0,0,88,39,0,0,96,43,0,0,50,105,114,84,1,0,64,8,223,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,173,0,48,0,177,0,48,0,185,0,192,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,206,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,158,0,48,0,48,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,16,0,202,225,16,0,202,2,17,0,202,35,17,0,202,68,17,0,202,101,17,0,202,134,17,0,202,167,17,0,202,200,17,0,202,233,17,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,166,1,0,156,5,0,52,156,5,0,54,156,5,0,56,201,198,2,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,230,3,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,166,5,0,156,5,0,84,160,5,0,86,156,5,0,88,201,6,7,0,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,102,8,0,5,5,0,44,5,5,0,46,5,5,0,48,201,102,10,0,5,5,0,52,5,5,0,54,5,5,0,56,201,134,11,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,12,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,134,14,0,5,5,0,84,5,5,0,86,5,5,0,88,201,230,15,0,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,5,31,43,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,129,0,0,196,160,156,46,196,138,156,50,134,5,49,51,196,142,156,50,196,150,156,50,196,138,156,58,134,5,27,59,196,142,156,58,196,150,156,58,134,5,2,49,196,154,156,68,196,138,156,70,134,5,61,71,196,142,156,70,196,154,156,70,198,65,0,0,5,5,127,12,198,161,0,0,196,138,156,82,134,5,51,83,196,142,156,82,196,150,156,82,134,5,17,91,160,5,38,93,197,130,16,0,196,138,5,42,5,5,31,43,196,142,5,42,196,154,5,42,198,97,0,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,5,5,49,51,196,142,5,50,196,150,5,50,196,138,5,58,5,5,27,59,196,142,5,58,196,150,5,58,5,5,2,49,196,154,5,68,196,138,5,70,5,5,61,71,196,142,5,70,196,154,5,70,193,3,111,93,5,5,125,12,198,193,0,0,196,138,5,82,5,5,51,83,196,142,5,82,196,150,5,82,5,5,17,91,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,17,0,201,230,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,20,0,201,230,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,38,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,25,0,201,102,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,27,0,201,6,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,30,0,201,166,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,1,0,198,34,2,0,192,0,0,0,192,0,0,0,198,98,2,0,197,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,32,0,201,70,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,2,0,197,162,4,0,198,34,3,0,197,226,4,0,198,98,3,0,198,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,35,0,201,230,36,0,198,226,3,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,38,0,201,230,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,41,0,201,230,42,0,201,6,44,0,201,38,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,46,0,201,102,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,48,0,201,166,49,0,201,198,50,0,201,230,51,0,201,6,53,0,201,38,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,55,0,201,38,57,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,59,0,201,38,60,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,61,0,201,102,62,0,201,134,63,0,201,6,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,2,0,197,162,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,66,0,201,6,68,0,201,134,69,0,201,166,70,0,192,0,0,0,192,0,0,0,197,34,3,0,197,98,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,71,0,201,230,72,0,192,0,0,0,192,0,0,0,201,6,74,0,201,38,75,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,70,0,2,111,93,0,134,0,5,0,2,111,93,0,134,0,70,0,3,111,93,0,5,0,70,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,5,31,43,5,162,0,0,5,5,31,43,5,162,0,0,193,4,111,93,5,162,0,0,134,5,49,51,5,162,0,0,5,5,49,51,5,162,0,0,134,5,27,59,5,162,0,0,5,5,27,59,5,162,0,0,134,5,51,83,5,162,0,0,5,5,51,83,5,162,0,0,134,5,61,71,5,190,0,0,5,5,61,71,5,190,0,0,193,3,111,93,5,190,0,0,134,5,51,83,5,190,0,0,5,5,51,83,5,190,0,0,193,2,111,93,5,164,0,0,134,5,61,71,5,162,0,0,5,5,61,71,5,162,0,0,193,3,111,93,5,162,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,134,5,49,51,5,160,0,0,5,5,49,51,5,160,0,0,193,3,111,93,5,164,0,0,134,5,31,43,5,200,0,0,5,5,31,43,5,200,0,0,193,4,111,93,5,200,0,0,134,5,49,51,5,204,0,0,5,5,49,51,5,204,0,0,134,5,49,51,5,208,0,0,5,5,49,51,5,208,0,0,134,5,27,59,5,208,0,0,5,5,27,59,5,208,0,0,134,5,51,83,5,198,0,0,5,5,51,83,5,198,0,0,134,5,51,83,5,208,0,0,5,5,51,83,5,208,0,0,134,5,51,83,5,204,0,0,5,5,51,83,5,204,0,0,134,5,31,43,5,196,0,0,5,5,31,43,5,196,0,0,193,4,111,93,5,196,0,0,134,5,49,51,5,196,0,0,5,5,49,51,5,196,0,0,134,5,27,59,5,196,0,0,5,5,27,59,5,196,0,0,134,5,61,71,5,196,0,0,5,5,61,71,5,196,0,0,193,3,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,61,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,61,71,5,190,0,0,5,196,0,0,193,3,111,93,5,190,0,0,5,196,0,0,134,5,51,83,5,196,0,0,5,5,51,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,51,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,51,83,5,190,0,0,5,196,0,0,134,5,17,91,5,196,0,0,5,5,17,91,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,3,0,1,3,31,235,134,5,8,3,198,129,10,3,198,161,65,3,31,235,134,5,0,50,156,5,1,0,1,3,49,243,134,5,65,3,49,243,134,5,0,58,156,5,1,0,1,3,27,251,134,5,65,3,27,251,134,5,0,70,156,5,2,0,1,3,255,255,61,71,134,5,8,3,0,192,198,65,65,3,255,255,61,71,134,5,0,82,156,5,1,0,1,3,255,255,51,83,134,5,65,3,255,255,51,83,134,5,0,90,156,5,1,0,1,3,255,255,17,91,134,5,65,3,255,255,17,91,134,5,0,42,5,5,3,0,1,3,31,235,5,5,8,3,0,192,198,97,10,3,255,255,111,93,193,4,65,3,31,235,5,5,0,50,5,5,1,0,1,3,49,243,5,5,65,3,49,243,5,5,0,58,5,5,1,0,1,3,27,251,5,5,65,3,27,251,5,5,0,70,5,5,2,0,1,3,255,255,61,71,5,5,8,3,255,255,111,93,193,3,65,3,255,255,61,71,5,5,0,82,5,5,1,0,1,3,255,255,51,83,5,5,65,3,255,255,51,83,5,5,0,90,5,5,1,0,1,3,255,255,17,91,5,5,65,3,255,255,17,91,5,5,156,42,196,162,3,0,1,3,197,162,8,3,0,192,198,226,10,3,1,192,198,34,65,3,197,162,5,42,196,162,3,0,1,3,0,192,197,98,8,3,1,192,198,98,10,3,0,192,197,162,65,3,0,192,197,98,156,50,196,162,1,0,1,3,0,192,197,226,65,3,0,192,197,226,5,50,196,162,1,0,1,3,1,192,197,34,65,3,1,192,197,34,156,58,196,162,1,0,1,3,1,192,197,98,65,3,1,192,197,98,5,58,196,162,1,0,1,3,1,192,197,162,65,3,1,192,197,162,156,82,196,162,1,0,1,3,1,192,197,226,65,3,1,192,197,226,5,82,196,162,1,0,1,3,2,192,197,34,65,3,2,192,197,34,156,70,196,190,2,0,1,3,2,192,197,98,8,3,1,192,198,162,65,3,2,192,197,98,5,70,196,190,2,0,1,3,2,192,197,162,8,3,2,192,197,226,65,3,2,192,197,162,156,82,196,190,1,0,1,3,3,192,197,34,65,3,3,192,197,34,5,82,196,190,1,0,1,3,3,192,197,98,65,3,3,192,197,98,156,70,196,162,2,0,1,3,3,192,197,226,8,3,2,192,198,162,65,3,3,192,197,226,5,70,196,162,2,0,1,3,4,192,197,34,8,3,4,192,197,98,65,3,4,192,197,34,156,50,196,160,1,0,1,3,5,192,197,34,65,3,5,192,197,34,5,50,196,160,1,0,1,3,5,192,197,98,65,3,5,192,197,98,156,42,196,200,3,0,1,3,5,192,197,226,8,3,4,192,198,34,10,3,4,192,198,98,65,3,5,192,197,226,5,42,196,200,3,0,1,3,6,192,197,34,8,3,4,192,198,162,10,3,6,192,197,98,65,3,6,192,197,34,156,50,196,204,1,0,1,3,6,192,197,162,65,3,6,192,197,162,5,50,196,204,1,0,1,3,6,192,197,226,65,3,6,192,197,226,156,50,196,208,1,0,1,3,7,192,197,34,65,3,7,192,197,34,5,50,196,208,1,0,1,3,7,192,197,98,65,3,7,192,197,98,156,58,196,208,1,0,1,3,7,192,197,162,65,3,7,192,197,162,5,58,196,208,1,0,1,3,7,192,197,226,65,3,7,192,197,226,156,82,196,198,1,0,1,3,8,192,197,34,65,3,8,192,197,34,5,82,196,198,1,0,1,3,8,192,197,98,65,3,8,192,197,98,156,82,196,208,1,0,1,3,8,192,197,162,65,3,8,192,197,162,5,82,196,208,1,0,1,3,8,192,197,226,65,3,8,192,197,226,156,82,196,204,1,0,1,3,9,192,197,34,65,3,9,192,197,34,5,82,196,204,1,0,1,3,9,192,197,98,65,3,9,192,197,98,156,42,196,196,3,0,1,3,9,192,197,162,8,3,4,192,198,226,10,3,5,192,198,34,65,3,9,192,197,162,5,42,196,196,3,0,1,3,9,192,197,226,8,3,5,192,198,98,10,3,10,192,197,34,65,3,9,192,197,226,156,50,196,196,1,0,1,3,10,192,197,98,65,3,10,192,197,98,5,50,196,196,1,0,1,3,10,192,197,162,65,3,10,192,197,162,156,58,196,196,1,0,1,3,10,192,197,226,65,3,10,192,197,226,5,58,196,196,1,0,1,3,11,192,197,34,65,3,11,192,197,34,156,70,196,196,2,0,1,3,11,192,197,98,8,3,5,192,198,162,65,3,11,192,197,98,5,70,196,196,2,0,1,3,11,192,197,162,8,3,11,192,197,226,65,3,11,192,197,162,12,0,197,35,2,0,1,3,12,192,197,131,8,3,5,192,198,227,65,3,12,192,197,131,12,0,197,227,2,0,1,3,13,192,197,67,8,3,13,192,197,163,65,3,13,192,197,67,156,82,196,196,1,0,1,3,14,192,197,2,65,3,14,192,197,2,5,82,196,196,1,0,1,3,14,192,197,66,65,3,14,192,197,66,14,0,197,131,1,0,1,3,14,192,197,227,65,3,14,192,197,227,15,0,197,67,1,0,1,3,15,192,197,163,65,3,15,192,197,163,156,90,196,196,1,0,1,3,16,192,197,2,65,3,16,192,197,2,5,90,196,196,1,0,1,3,16,192,197,66,65,3,16,192,197,66,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,64,185,68,185,72,24,4,185,88,185,92,185,96,26,4,186,112,185,116,185,120,185,124,186,128,28,4,185,144,185,148,185,156,186,160,185,164,30,4,185,180,185,184,185,188,32,4,185,200,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,64,168,68,168,72,36,4,168,88,168,92,168,96,38,4,168,112,168,116,168,120,168,124,168,128,40,4,168,144,168,148,168,156,168,160,168,164,42,4,168,180,168,184,168,188,44,4,168,200,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,185,60,249,57,153,58,217,212,185,220,185,212,217,70,186,81,185,84,250,81,90,82,186,101,185,108,250,101,90,102,185,76,154,130,185,137,185,140,249,137,153,138,185,216,136,14,217,216,185,173,185,176,249,173,89,174,185,196,185,204,0,8,168,57,168,60,232,57,136,58,200,212,168,220,168,212,200,70,168,81,168,84,232,81,72,82,168,101,168,108,232,101,72,102,168,76,136,130,168,137,168,140,232,137,136,138,168,216,128,14,200,216,168,173,168,176,232,173,72,174,168,196,168,204,72,194,25,59,8,59,217,57,200,57,46,4,48,4,153,69,136,69,249,69,232,69,185,70,168,70,25,70,8,70,25,74,8,74,217,72,200,72,26,83,8,83,218,81,200,81,186,82,168,82,50,4,52,4,26,82,8,82,249,93,232,93,217,93,200,93,185,94,168,94,217,94,200,94,249,97,232,97,57,99,40,99,154,102,136,102,26,103,8,103,218,101,200,101,54,4,56,4,186,102,168,104,2,8,4,8,250,113,232,113,217,118,200,118,168,152,153,121,136,121,217,122,200,122,25,122,8,122,89,123,72,123,57,123,40,123,154,129,136,129,218,130,200,130,26,130,8,130,6,8,185,132,168,132,25,139,8,139,217,137,200,137,121,138,104,138,8,8,10,8,153,157,136,157,217,158,200,158,25,158,8,158,154,161,136,161,250,161,232,161,218,162,200,162,26,162,8,162,217,166,200,166,25,166,8,166,185,168,168,168,153,174,136,174,25,175,8,175,217,173,200,173,57,174,40,174,121,174,104,174,58,4,60,4,249,185,232,185,249,193,232,193,89,194,153,201,136,201,185,202,168,202,25,202,8,202,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,200,160,169,160,187,100,187,112,169,100,169,112,169,208,169,128,217,136,187,80,200,136,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,80,255,5,186,100,255,5,185,136,255,5,185,172,255,5,185,192,255,5,168,56,255,5,168,80,255,5,168,100,255,5,168,136,255,5,168,172,255,5,168,192,255,5,249,58,255,5,232,58,255,5,250,82,255,5,232,82,255,5,250,102,255,5,232,102,255,5,249,174,255,5,232,174,255,1,3,0,67,0,50,0,59,0,3,13,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,252,12,0,32,227,23,0,32,1,0,32,0,232,23,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,10,0,0,0,14,0,0,0,14,0,0,0,1,0,0,0,0,0,0,0,14,0,0,0,37,37,65,76,73,65,83,0,0,0,104,0,101,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,7,0,0,80,7,0,0,0,10,0,0,0,15,0,0,0,15,0,0,0,1,0,0,0,0,0,0,0,15,0,0,0,37,37,65,76,73,65,83,0,0,0,104,0,101,0,95,0,73,0,76,0,0,0,1,0,32,0,1,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,245,142,0,32,7,0,0,0,26,0,0,0,247,142,0,0,247,142,0,0,3,0,0,0,0,0,0,0,218,22,0,0,99,111,108,108,97,116,105,111,110,115,0,112,114,105,118,97,116,101,45,107,97,110,97,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,115,116,97,110,100,97,114,100,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,117,110,105,104,97,110,0,0,0,52,0,50,0,0,0,61,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,117,0,110,0,105,0,104,0,97,0,110,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,106,0,97,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,107,0,97,0,110,0,97,0,93,0,0,0,239,223,39,20,91,0,115,0,116,0,114,0,101,0,110,0,103,0,116,0,104,0,32,0,51,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,75,0,97,0,110,0,97,0,32,0,72,0,97,0,110,0,105,0,93,0,38,0,157,48,60,0,60,0,60,0,60,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,65,48,60,0,60,0,60,0,65,48,124,0,252,48,61,0,66,48,124,0,252,48,61,0,75,48,124,0,252,48,61,0,149,48,124,0,252,48,61,0,76,48,124,0,252,48,61,0,85,48,124,0,252,48,61,0,86,48,124,0,252,48,61,0,95,48,124,0,252,48,61,0,96,48,124,0,252,48,61,0,106,48,124,0,252,48,61,0,111,48,124,0,252,48,61,0,112,48,124,0,252,48,61,0,113,48,124,0,252,48,61,0,126,48,124,0,252,48,61,0,131,48,124,0,252,48,61,0,132,48,124,0,252,48,61,0,137,48,124,0,252,48,61,0,142,48,124,0,252,48,61,0,143,48,124,0,252,48,60,0,60,0,60,0,60,0,161,48,124,0,252,48,61,0,103,255,124,0,252,48,61,0,162,48,124,0,252,48,61,0,113,255,124,0,252,48,61,0,171,48,124,0,252,48,61,0,118,255,124,0,252,48,61,0,172,48,124,0,252,48,61,0,181,48,124,0,252,48,61,0,123,255,124,0,252,48,61,0,182,48,124,0,252,48,61,0,191,48,124,0,252,48,61,0,128,255,124,0,252,48,61,0,192,48,124,0,252,48,61,0,202,48,124,0,252,48,61,0,133,255,124,0,252,48,61,0,207,48,124,0,252,48,61,0,138,255,124,0,252,48,61,0,245,49,124,0,252,48,61,0,208,48,124,0,252,48,61,0,209,48,124,0,252,48,61,0,222,48,124,0,252,48,61,0,143,255,124,0,252,48,61,0,227,48,124,0,252,48,61,0,108,255,124,0,252,48,61,0,228,48,124,0,252,48,61,0,148,255,124,0,252,48,61,0,233,48,124,0,252,48,61,0,151,255,124,0,252,48,61,0,251,49,124,0,252,48,61,0,238,48,124,0,252,48,61,0,239,48,124,0,252,48,61,0,156,255,124,0,252,48,61,0,245,48,124,0,252,48,61,0,247,48,124,0,252,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,67,48,60,0,60,0,60,0,67,48,124,0,252,48,61,0,68,48,124,0,252,48,61,0,77,48,124,0,252,48,61,0,78,48,124,0,252,48,61,0,87,48,124,0,252,48,61,0,88,48,124,0,252,48,61,0,97,48,124,0,252,48,61,0,98,48,124,0,252,48,61,0,107,48,124,0,252,48,61,0,114,48,124,0,252,48,61,0,115,48,124,0,252,48,61,0,116,48,124,0,252,48,61,0,127,48,124,0,252,48,61,0,138,48,124,0,252,48,61,0,144,48,124,0,252,48,60,0,60,0,60,0,60,0,163,48,124,0,252,48,61,0,104,255,124,0,252,48,61,0,164,48,124,0,252,48,61,0,114,255,124,0,252,48,61,0,173,48,124,0,252,48,61,0,119,255,124,0,252,48,61,0,174,48,124,0,252,48,61,0,183,48,124,0,252,48,61,0,124,255,124,0,252,48,61,0,241,49,124,0,252,48,61,0,184,48,124,0,252,48,61,0,193,48,124,0,252,48,61,0,129,255,124,0,252,48,61,0,194,48,124,0,252,48,61,0,203,48,124,0,252,48,61,0,134,255,124,0,252,48,61,0,210,48,124,0,252,48,61,0,139,255,124,0,252,48,61,0,246,49,124,0,252,48,61,0,211,48,124,0,252,48,61,0,212,48,124,0,252,48,61,0,223,48,124,0,252,48,61,0,144,255,124,0,252,48,61,0,234,48,124,0,252,48,61,0,152,255,124,0,252,48,61,0,252,49,124,0,252,48,61,0,240,48,124,0,252,48,61,0,248,48,124,0,252,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,69,48,60,0,60,0,60,0,69,48,124,0,252,48,61,0,70,48,124,0,252,48,61,0,79,48,124,0,252,48,61,0,80,48,124,0,252,48,61,0,89,48,124,0,252,48,61,0,90,48,124,0,252,48,61,0,99,48,124,0,252,48,61,0,100,48,124,0,252,48,61,0,101,48,124,0,252,48,61,0,108,48,124,0,252,48,61,0,117,48,124,0,252,48,61,0,118,48,124,0,252,48,61,0,119,48,124,0,252,48,61,0,128,48,124,0,252,48,61,0,133,48,124,0,252,48,61,0,134,48,124,0,252,48,61,0,139,48,124,0,252,48,61,0,148,48,124,0,252,48,60,0,60,0,60,0,60,0,165,48,124,0,252,48,61,0,105,255,124,0,252,48,61,0,166,48,124,0,252,48,61,0,115,255,124,0,252,48,61,0,175,48,124,0,252,48,61,0,120,255,124,0,252,48,61,0,240,49,124,0,252,48,61,0,176,48,124,0,252,48,61,0,185,48,124,0,252,48,61,0,125,255,124,0,252,48,61,0,242,49,124,0,252,48,61,0,186,48,124,0,252,48,61,0,195,48,124,0,252,48,61,0,111,255,124,0,252,48,61,0,196,48,124,0,252,48,61,0,130,255,124,0,252,48,61,0,197,48,124,0,252,48,61,0,204,48,124,0,252,48,61,0,135,255,124,0,252,48,61,0,244,49,124,0,252,48,61,0,213,48,124,0,252,48,61,0,140,255,124,0,252,48,61,0,247,49,124,0,252,48,61,0,214,48,124,0,252,48,61,0,215,48,124,0,252,48,61,0,224,48,124,0,252,48,61,0,145,255,124,0,252,48,61,0,250,49,124,0,252,48,61,0,229,48,124,0,252,48,61,0,109,255,124,0,252,48,61,0,230,48,124,0,252,48,61,0,149,255,124,0,252,48,61,0,235,48,124,0,252,48,61,0,153,255,124,0,252,48,61,0,253,49,124,0,252,48,61,0,244,48,124,0,252,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,71,48,60,0,60,0,60,0,71,48,124,0,252,48,61,0,72,48,124,0,252,48,61,0,81,48,124,0,252,48,61,0,150,48,124,0,252,48,61,0,82,48,124,0,252,48,61,0,91,48,124,0,252,48,61,0,92,48,124,0,252,48,61,0,102,48,124,0,252,48,61,0,103,48,124,0,252,48,61,0,109,48,124,0,252,48,61,0,120,48,124,0,252,48,61,0,121,48,124,0,252,48,61,0,122,48,124,0,252,48,61,0,129,48,124,0,252,48,61,0,140,48,124,0,252,48,61,0,145,48,124,0,252,48,60,0,60,0,60,0,60,0,167,48,124,0,252,48,61,0,106,255,124,0,252,48,61,0,168,48,124,0,252,48,61,0,116,255,124,0,252,48,61,0,177,48,124,0,252,48,61,0,121,255,124,0,252,48,61,0,178,48,124,0,252,48,61,0,187,48,124,0,252,48,61,0,126,255,124,0,252,48,61,0,188,48,124,0,252,48,61,0,198,48,124,0,252,48,61,0,131,255,124,0,252,48,61,0,199,48,124,0,252,48,61,0,205,48,124,0,252,48,61,0,136,255,124,0,252,48,61,0,216,48,124,0,252,48,61,0,141,255,124,0,252,48,61,0,248,49,124,0,252,48,61,0,217,48,124,0,252,48,61,0,218,48,124,0,252,48,61,0,225,48,124,0,252,48,61,0,146,255,124,0,252,48,61,0,236,48,124,0,252,48,61,0,154,255,124,0,252,48,61,0,254,49,124,0,252,48,61,0,241,48,124,0,252,48,61,0,246,48,124,0,252,48,61,0,249,48,124,0,252,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,73,48,60,0,60,0,60,0,73,48,124,0,252,48,61,0,74,48,124,0,252,48,61,0,83,48,124,0,252,48,61,0,84,48,124,0,252,48,61,0,93,48,124,0,252,48,61,0,94,48,124,0,252,48,61,0,104,48,124,0,252,48,61,0,105,48,124,0,252,48,61,0,110,48,124,0,252,48,61,0,123,48,124,0,252,48,61,0,124,48,124,0,252,48,61,0,125,48,124,0,252,48,61,0,130,48,124,0,252,48,61,0,135,48,124,0,252,48,61,0,136,48,124,0,252,48,61,0,141,48,124,0,252,48,61,0,146,48,124,0,252,48,60,0,60,0,60,0,60,0,169,48,124,0,252,48,61,0,107,255,124,0,252,48,61,0,170,48,124,0,252,48,61,0,117,255,124,0,252,48,61,0,179,48,124,0,252,48,61,0,122,255,124,0,252,48,61,0,180,48,124,0,252,48,61,0,189,48,124,0,252,48,61,0,127,255,124,0,252,48,61,0,190,48,124,0,252,48,61,0,200,48,124,0,252,48,61,0,132,255,124,0,252,48,61,0,243,49,124,0,252,48,61,0,201,48,124,0,252,48,61,0,206,48,124,0,252,48,61,0,137,255,124,0,252,48,61,0,219,48,124,0,252,48,61,0,142,255,124,0,252,48,61,0,249,49,124,0,252,48,61,0,220,48,124,0,252,48,61,0,221,48,124,0,252,48,61,0,226,48,124,0,252,48,61,0,147,255,124,0,252,48,61,0,231,48,124,0,252,48,61,0,110,255,124,0,252,48,61,0,232,48,124,0,252,48,61,0,150,255,124,0,252,48,61,0,237,48,124,0,252,48,61,0,155,255,124,0,252,48,61,0,255,49,124,0,252,48,61,0,242,48,124,0,252,48,61,0,102,255,124,0,252,48,61,0,250,48,124,0,252,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,66,48,60,0,60,0,60,0,66,48,124,0,157,48,61,0,65,48,124,0,157,48,60,0,60,0,60,0,60,0,162,48,124,0,253,48,61,0,113,255,124,0,253,48,61,0,161,48,124,0,253,48,61,0,103,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,68,48,60,0,60,0,60,0,68,48,124,0,157,48,61,0,67,48,124,0,157,48,60,0,60,0,60,0,60,0,164,48,124,0,253,48,61,0,114,255,124,0,253,48,61,0,163,48,124,0,253,48,61,0,104,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,70,48,60,0,60,0,60,0,70,48,124,0,157,48,61,0,69,48,124,0,157,48,61,0,148,48,124,0,157,48,61,0,70,48,124,0,158,48,47,0,153,48,61,0,69,48,124,0,158,48,47,0,153,48,61,0,148,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,166,48,124,0,253,48,61,0,115,255,124,0,253,48,61,0,165,48,124,0,253,48,61,0,105,255,124,0,253,48,61,0,244,48,124,0,253,48,61,0,166,48,124,0,254,48,47,0,153,48,61,0,115,255,124,0,254,48,47,0,153,48,61,0,165,48,124,0,254,48,47,0,153,48,61,0,105,255,124,0,254,48,47,0,153,48,61,0,244,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,72,48,60,0,60,0,60,0,72,48,124,0,157,48,61,0,71,48,124,0,157,48,60,0,60,0,60,0,60,0,168,48,124,0,253,48,61,0,116,255,124,0,253,48,61,0,167,48,124,0,253,48,61,0,106,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,74,48,60,0,60,0,60,0,74,48,124,0,157,48,61,0,73,48,124,0,157,48,60,0,60,0,60,0,60,0,170,48,124,0,253,48,61,0,117,255,124,0,253,48,61,0,169,48,124,0,253,48,61,0,107,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,75,48,60,0,60,0,60,0,75,48,124,0,157,48,61,0,149,48,124,0,157,48,60,0,60,0,60,0,60,0,171,48,124,0,253,48,61,0,118,255,124,0,253,48,61,0,245,48,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,76,48,60,0,60,0,60,0,76,48,124,0,157,48,60,0,60,0,60,0,60,0,172,48,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,77,48,60,0,60,0,60,0,77,48,124,0,157,48,61,0,78,48,124,0,157,48,61,0,77,48,124,0,158,48,47,0,153,48,61,0,78,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,173,48,124,0,253,48,61,0,119,255,124,0,253,48,61,0,174,48,124,0,253,48,61,0,173,48,124,0,254,48,47,0,153,48,61,0,119,255,124,0,254,48,47,0,153,48,61,0,174,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,79,48,60,0,60,0,60,0,79,48,124,0,157,48,61,0,80,48,124,0,157,48,61,0,79,48,124,0,158,48,47,0,153,48,61,0,80,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,175,48,124,0,253,48,61,0,120,255,124,0,253,48,61,0,240,49,124,0,253,48,61,0,176,48,124,0,253,48,61,0,175,48,124,0,254,48,47,0,153,48,61,0,120,255,124,0,254,48,47,0,153,48,61,0,240,49,124,0,254,48,47,0,153,48,61,0,176,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,81,48,60,0,60,0,60,0,81,48,124,0,157,48,61,0,150,48,124,0,157,48,60,0,60,0,60,0,60,0,177,48,124,0,253,48,61,0,121,255,124,0,253,48,61,0,246,48,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,82,48,60,0,60,0,60,0,82,48,124,0,157,48,60,0,60,0,60,0,60,0,178,48,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,83,48,60,0,60,0,60,0,83,48,124,0,157,48,61,0,84,48,124,0,157,48,61,0,83,48,124,0,158,48,47,0,153,48,61,0,84,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,179,48,124,0,253,48,61,0,122,255,124,0,253,48,61,0,180,48,124,0,253,48,61,0,179,48,124,0,254,48,47,0,153,48,61,0,122,255,124,0,254,48,47,0,153,48,61,0,180,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,85,48,60,0,60,0,60,0,85,48,124,0,157,48,61,0,86,48,124,0,157,48,61,0,85,48,124,0,158,48,47,0,153,48,61,0,86,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,181,48,124,0,253,48,61,0,123,255,124,0,253,48,61,0,182,48,124,0,253,48,61,0,181,48,124,0,254,48,47,0,153,48,61,0,123,255,124,0,254,48,47,0,153,48,61,0,182,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,87,48,60,0,60,0,60,0,87,48,124,0,157,48,61,0,88,48,124,0,157,48,61,0,87,48,124,0,158,48,47,0,153,48,61,0,88,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,183,48,124,0,253,48,61,0,124,255,124,0,253,48,61,0,241,49,124,0,253,48,61,0,184,48,124,0,253,48,61,0,183,48,124,0,254,48,47,0,153,48,61,0,124,255,124,0,254,48,47,0,153,48,61,0,241,49,124,0,254,48,47,0,153,48,61,0,184,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,89,48,60,0,60,0,60,0,89,48,124,0,157,48,61,0,90,48,124,0,157,48,61,0,89,48,124,0,158,48,47,0,153,48,61,0,90,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,185,48,124,0,253,48,61,0,125,255,124,0,253,48,61,0,242,49,124,0,253,48,61,0,186,48,124,0,253,48,61,0,185,48,124,0,254,48,47,0,153,48,61,0,125,255,124,0,254,48,47,0,153,48,61,0,242,49,124,0,254,48,47,0,153,48,61,0,186,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,91,48,60,0,60,0,60,0,91,48,124,0,157,48,61,0,92,48,124,0,157,48,61,0,91,48,124,0,158,48,47,0,153,48,61,0,92,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,187,48,124,0,253,48,61,0,126,255,124,0,253,48,61,0,188,48,124,0,253,48,61,0,187,48,124,0,254,48,47,0,153,48,61,0,126,255,124,0,254,48,47,0,153,48,61,0,188,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,93,48,60,0,60,0,60,0,93,48,124,0,157,48,61,0,94,48,124,0,157,48,61,0,93,48,124,0,158,48,47,0,153,48,61,0,94,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,189,48,124,0,253,48,61,0,127,255,124,0,253,48,61,0,190,48,124,0,253,48,61,0,189,48,124,0,254,48,47,0,153,48,61,0,127,255,124,0,254,48,47,0,153,48,61,0,190,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,95,48,60,0,60,0,60,0,95,48,124,0,157,48,61,0,96,48,124,0,157,48,61,0,95,48,124,0,158,48,47,0,153,48,61,0,96,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,191,48,124,0,253,48,61,0,128,255,124,0,253,48,61,0,192,48,124,0,253,48,61,0,191,48,124,0,254,48,47,0,153,48,61,0,128,255,124,0,254,48,47,0,153,48,61,0,192,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,97,48,60,0,60,0,60,0,97,48,124,0,157,48,61,0,98,48,124,0,157,48,61,0,97,48,124,0,158,48,47,0,153,48,61,0,98,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,193,48,124,0,253,48,61,0,129,255,124,0,253,48,61,0,194,48,124,0,253,48,61,0,193,48,124,0,254,48,47,0,153,48,61,0,129,255,124,0,254,48,47,0,153,48,61,0,194,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,100,48,60,0,60,0,60,0,100,48,124,0,157,48,61,0,99,48,124,0,157,48,61,0,101,48,124,0,157,48,61,0,100,48,124,0,158,48,47,0,153,48,61,0,101,48,124,0,158,48,47,0,153,48,61,0,100,48,124,0,157,48,61,0,99,48,124,0,158,48,47,0,153,48,61,0,100,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,196,48,124,0,253,48,61,0,130,255,124,0,253,48,61,0,195,48,124,0,253,48,61,0,111,255,124,0,253,48,61,0,197,48,124,0,253,48,61,0,196,48,124,0,254,48,47,0,153,48,61,0,130,255,124,0,254,48,47,0,153,48,61,0,197,48,124,0,254,48,47,0,153,48,61,0,196,48,124,0,253,48,61,0,130,255,124,0,253,48,61,0,195,48,124,0,254,48,47,0,153,48,61,0,111,255,124,0,254,48,47,0,153,48,61,0,196,48,124,0,254,48,47,0,153,48,61,0,130,255,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,102,48,60,0,60,0,60,0,102,48,124,0,157,48,61,0,103,48,124,0,157,48,61,0,102,48,124,0,158,48,47,0,153,48,61,0,103,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,198,48,124,0,253,48,61,0,131,255,124,0,253,48,61,0,199,48,124,0,253,48,61,0,198,48,124,0,254,48,47,0,153,48,61,0,131,255,124,0,254,48,47,0,153,48,61,0,199,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,104,48,60,0,60,0,60,0,104,48,124,0,157,48,61,0,105,48,124,0,157,48,61,0,104,48,124,0,158,48,47,0,153,48,61,0,105,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,200,48,124,0,253,48,61,0,132,255,124,0,253,48,61,0,243,49,124,0,253,48,61,0,201,48,124,0,253,48,61,0,200,48,124,0,254,48,47,0,153,48,61,0,132,255,124,0,254,48,47,0,153,48,61,0,243,49,124,0,254,48,47,0,153,48,61,0,201,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,106,48,60,0,60,0,60,0,106,48,124,0,157,48,60,0,60,0,60,0,60,0,202,48,124,0,253,48,61,0,133,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,107,48,60,0,60,0,60,0,107,48,124,0,157,48,60,0,60,0,60,0,60,0,203,48,124,0,253,48,61,0,134,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,108,48,60,0,60,0,60,0,108,48,124,0,157,48,60,0,60,0,60,0,60,0,204,48,124,0,253,48,61,0,135,255,124,0,253,48,61,0,244,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,109,48,60,0,60,0,60,0,109,48,124,0,157,48,60,0,60,0,60,0,60,0,205,48,124,0,253,48,61,0,136,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,110,48,60,0,60,0,60,0,110,48,124,0,157,48,60,0,60,0,60,0,60,0,206,48,124,0,253,48,61,0,137,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,111,48,60,0,60,0,60,0,111,48,124,0,157,48,61,0,112,48,124,0,157,48,61,0,111,48,124,0,158,48,47,0,153,48,61,0,112,48,124,0,158,48,47,0,153,48,61,0,113,48,124,0,157,48,61,0,113,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,207,48,124,0,253,48,61,0,138,255,124,0,253,48,61,0,245,49,124,0,253,48,61,0,208,48,124,0,253,48,61,0,207,48,124,0,254,48,47,0,153,48,61,0,138,255,124,0,254,48,47,0,153,48,61,0,245,49,124,0,254,48,47,0,153,48,61,0,208,48,124,0,254,48,47,0,153,48,61,0,209,48,124,0,253,48,61,0,209,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,114,48,60,0,60,0,60,0,114,48,124,0,157,48,61,0,115,48,124,0,157,48,61,0,114,48,124,0,158,48,47,0,153,48,61,0,115,48,124,0,158,48,47,0,153,48,61,0,116,48,124,0,157,48,61,0,116,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,210,48,124,0,253,48,61,0,139,255,124,0,253,48,61,0,246,49,124,0,253,48,61,0,211,48,124,0,253,48,61,0,210,48,124,0,254,48,47,0,153,48,61,0,139,255,124,0,254,48,47,0,153,48,61,0,246,49,124,0,254,48,47,0,153,48,61,0,211,48,124,0,254,48,47,0,153,48,61,0,212,48,124,0,253,48,61,0,212,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,117,48,60,0,60,0,60,0,117,48,124,0,157,48,61,0,118,48,124,0,157,48,61,0,117,48,124,0,158,48,47,0,153,48,61,0,118,48,124,0,158,48,47,0,153,48,61,0,119,48,124,0,157,48,61,0,119,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,213,48,124,0,253,48,61,0,140,255,124,0,253,48,61,0,247,49,124,0,253,48,61,0,214,48,124,0,253,48,61,0,213,48,124,0,254,48,47,0,153,48,61,0,140,255,124,0,254,48,47,0,153,48,61,0,247,49,124,0,254,48,47,0,153,48,61,0,214,48,124,0,254,48,47,0,153,48,61,0,215,48,124,0,253,48,61,0,215,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,120,48,60,0,60,0,60,0,120,48,124,0,157,48,61,0,121,48,124,0,157,48,61,0,120,48,124,0,158,48,47,0,153,48,61,0,121,48,124,0,158,48,47,0,153,48,61,0,122,48,124,0,157,48,61,0,122,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,216,48,124,0,253,48,61,0,141,255,124,0,253,48,61,0,248,49,124,0,253,48,61,0,217,48,124,0,253,48,61,0,216,48,124,0,254,48,47,0,153,48,61,0,141,255,124,0,254,48,47,0,153,48,61,0,248,49,124,0,254,48,47,0,153,48,61,0,217,48,124,0,254,48,47,0,153,48,61,0,218,48,124,0,253,48,61,0,218,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,123,48,60,0,60,0,60,0,123,48,124,0,157,48,61,0,124,48,124,0,157,48,61,0,123,48,124,0,158,48,47,0,153,48,61,0,124,48,124,0,158,48,47,0,153,48,61,0,125,48,124,0,157,48,61,0,125,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,219,48,124,0,253,48,61,0,142,255,124,0,253,48,61,0,249,49,124,0,253,48,61,0,220,48,124,0,253,48,61,0,219,48,124,0,254,48,47,0,153,48,61,0,142,255,124,0,254,48,47,0,153,48,61,0,249,49,124,0,254,48,47,0,153,48,61,0,220,48,124,0,254,48,47,0,153,48,61,0,221,48,124,0,253,48,61,0,221,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,126,48,60,0,60,0,60,0,126,48,124,0,157,48,60,0,60,0,60,0,60,0,222,48,124,0,253,48,61,0,143,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,127,48,60,0,60,0,60,0,127,48,124,0,157,48,60,0,60,0,60,0,60,0,223,48,124,0,253,48,61,0,144,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,128,48,60,0,60,0,60,0,128,48,124,0,157,48,60,0,60,0,60,0,60,0,224,48,124,0,253,48,61,0,145,255,124,0,253,48,61,0,250,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,129,48,60,0,60,0,60,0,129,48,124,0,157,48,60,0,60,0,60,0,60,0,225,48,124,0,253,48,61,0,146,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,130,48,60,0,60,0,60,0,130,48,124,0,157,48,60,0,60,0,60,0,60,0,226,48,124,0,253,48,61,0,147,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,132,48,60,0,60,0,60,0,132,48,124,0,157,48,61,0,131,48,124,0,157,48,60,0,60,0,60,0,60,0,228,48,124,0,253,48,61,0,148,255,124,0,253,48,61,0,227,48,124,0,253,48,61,0,108,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,134,48,60,0,60,0,60,0,134,48,124,0,157,48,61,0,133,48,124,0,157,48,60,0,60,0,60,0,60,0,230,48,124,0,253,48,61,0,149,255,124,0,253,48,61,0,229,48,124,0,253,48,61,0,109,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,136,48,60,0,60,0,60,0,136,48,124,0,157,48,61,0,135,48,124,0,157,48,60,0,60,0,60,0,60,0,232,48,124,0,253,48,61,0,150,255,124,0,253,48,61,0,231,48,124,0,253,48,61,0,110,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,137,48,60,0,60,0,60,0,137,48,124,0,157,48,60,0,60,0,60,0,60,0,233,48,124,0,253,48,61,0,151,255,124,0,253,48,61,0,251,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,138,48,60,0,60,0,60,0,138,48,124,0,157,48,60,0,60,0,60,0,60,0,234,48,124,0,253,48,61,0,152,255,124,0,253,48,61,0,252,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,139,48,60,0,60,0,60,0,139,48,124,0,157,48,60,0,60,0,60,0,60,0,235,48,124,0,253,48,61,0,153,255,124,0,253,48,61,0,253,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,140,48,60,0,60,0,60,0,140,48,124,0,157,48,60,0,60,0,60,0,60,0,236,48,124,0,253,48,61,0,154,255,124,0,253,48,61,0,254,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,141,48,60,0,60,0,60,0,141,48,124,0,157,48,60,0,60,0,60,0,60,0,237,48,124,0,253,48,61,0,155,255,124,0,253,48,61,0,255,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,143,48,60,0,60,0,60,0,143,48,124,0,157,48,61,0,142,48,124,0,157,48,61,0,143,48,124,0,158,48,47,0,153,48,61,0,142,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,239,48,124,0,253,48,61,0,156,255,124,0,253,48,61,0,238,48,124,0,253,48,61,0,247,48,124,0,253,48,61,0,239,48,124,0,254,48,47,0,153,48,61,0,156,255,124,0,254,48,47,0,153,48,61,0,247,48,124,0,254,48,47,0,153,48,61,0,238,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,144,48,60,0,60,0,60,0,144,48,124,0,157,48,61,0,144,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,240,48,124,0,253,48,61,0,248,48,124,0,253,48,61,0,240,48,124,0,254,48,47,0,153,48,61,0,248,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,145,48,60,0,60,0,60,0,145,48,124,0,157,48,61,0,145,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,241,48,124,0,253,48,61,0,249,48,124,0,253,48,61,0,241,48,124,0,254,48,47,0,153,48,61,0,249,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,146,48,60,0,60,0,60,0,146,48,124,0,157,48,61,0,146,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,242,48,124,0,253,48,61,0,102,255,124,0,253,48,61,0,250,48,124,0,253,48,61,0,242,48,124,0,254,48,47,0,153,48,61,0,102,255,124,0,254,48,47,0,153,48,61,0,250,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,147,48,60,0,60,0,60,0,147,48,124,0,157,48,60,0,60,0,60,0,60,0,243,48,124,0,253,48,61,0,157,255,124,0,253,48,38,0,65,48,60,0,60,0,60,0,60,0,161,48,61,0,103,255,38,0,66,48,60,0,60,0,60,0,60,0,162,48,61,0,113,255,38,0,67,48,60,0,60,0,60,0,60,0,163,48,61,0,104,255,38,0,68,48,60,0,60,0,60,0,60,0,164,48,61,0,114,255,38,0,69,48,60,0,60,0,60,0,60,0,165,48,61,0,105,255,38,0,70,48,60,0,60,0,60,0,60,0,166,48,61,0,115,255,38,0,71,48,60,0,60,0,60,0,60,0,167,48,61,0,106,255,38,0,72,48,60,0,60,0,60,0,60,0,168,48,61,0,116,255,38,0,73,48,60,0,60,0,60,0,60,0,169,48,61,0,107,255,38,0,74,48,60,0,60,0,60,0,60,0,170,48,61,0,117,255,38,0,75,48,60,0,60,0,60,0,60,0,171,48,61,0,118,255,38,0,77,48,60,0,60,0,60,0,60,0,173,48,61,0,119,255,38,0,79,48,60,0,60,0,60,0,60,0,175,48,61,0,120,255,38,0,81,48,60,0,60,0,60,0,60,0,177,48,61,0,121,255,38,0,83,48,60,0,60,0,60,0,60,0,179,48,61,0,122,255,38,0,85,48,60,0,60,0,60,0,60,0,181,48,61,0,123,255,38,0,87,48,60,0,60,0,60,0,60,0,183,48,61,0,124,255,38,0,89,48,60,0,60,0,60,0,60,0,185,48,61,0,125,255,38,0,91,48,60,0,60,0,60,0,60,0,187,48,61,0,126,255,38,0,93,48,60,0,60,0,60,0,60,0,189,48,61,0,127,255,38,0,95,48,60,0,60,0,60,0,60,0,191,48,61,0,128,255,38,0,97,48,60,0,60,0,60,0,60,0,193,48,61,0,129,255,38,0,99,48,60,0,60,0,60,0,60,0,195,48,61,0,111,255,38,0,100,48,60,0,60,0,60,0,60,0,196,48,61,0,130,255,38,0,102,48,60,0,60,0,60,0,60,0,198,48,61,0,131,255,38,0,104,48,60,0,60,0,60,0,60,0,200,48,61,0,132,255,38,0,106,48,60,0,60,0,60,0,60,0,202,48,61,0,133,255,38,0,107,48,60,0,60,0,60,0,60,0,203,48,61,0,134,255,38,0,108,48,60,0,60,0,60,0,60,0,204,48,61,0,135,255,38,0,109,48,60,0,60,0,60,0,60,0,205,48,61,0,136,255,38,0,110,48,60,0,60,0,60,0,60,0,206,48,61,0,137,255,38,0,111,48,60,0,60,0,60,0,60,0,207,48,61,0,138,255,38,0,114,48,60,0,60,0,60,0,60,0,210,48,61,0,139,255,38,0,117,48,60,0,60,0,60,0,60,0,213,48,61,0,140,255,38,0,120,48,60,0,60,0,60,0,60,0,216,48,61,0,141,255,38,0,123,48,60,0,60,0,60,0,60,0,219,48,61,0,142,255,38,0,126,48,60,0,60,0,60,0,60,0,222,48,61,0,143,255,38,0,127,48,60,0,60,0,60,0,60,0,223,48,61,0,144,255,38,0,128,48,60,0,60,0,60,0,60,0,224,48,61,0,145,255,38,0,129,48,60,0,60,0,60,0,60,0,225,48,61,0,146,255,38,0,130,48,60,0,60,0,60,0,60,0,226,48,61,0,147,255,38,0,131,48,60,0,60,0,60,0,60,0,227,48,61,0,108,255,38,0,132,48,60,0,60,0,60,0,60,0,228,48,61,0,148,255,38,0,133,48,60,0,60,0,60,0,60,0,229,48,61,0,109,255,38,0,134,48,60,0,60,0,60,0,60,0,230,48,61,0,149,255,38,0,135,48,60,0,60,0,60,0,60,0,231,48,61,0,110,255,38,0,136,48,60,0,60,0,60,0,60,0,232,48,61,0,150,255,38,0,137,48,60,0,60,0,60,0,60,0,233,48,61,0,151,255,38,0,138,48,60,0,60,0,60,0,60,0,234,48,61,0,152,255,38,0,139,48,60,0,60,0,60,0,60,0,235,48,61,0,153,255,38,0,140,48,60,0,60,0,60,0,60,0,236,48,61,0,154,255,38,0,141,48,60,0,60,0,60,0,60,0,237,48,61,0,155,255,38,0,142,48,60,0,60,0,60,0,60,0,238,48,38,0,143,48,60,0,60,0,60,0,60,0,239,48,61,0,156,255,38,0,144,48,60,0,60,0,60,0,60,0,240,48,38,0,145,48,60,0,60,0,60,0,60,0,241,48,38,0,146,48,60,0,60,0,60,0,60,0,242,48,61,0,102,255,38,0,147,48,60,0,60,0,60,0,60,0,243,48,61,0,157,255,38,0,149,48,60,0,60,0,60,0,60,0,245,48,38,0,150,48,60,0,60,0,60,0,60,0,246,48,38,0,136,48,138,48,60,0,60,0,159,48,38,0,179,48,200,48,60,0,60,0,255,48,38,0,39,0,32,0,39,0,61,0,42,0,39,0,0,48,39,0,227,255,38,0,39,0,33,0,39,0,61,0,1,255,38,0,39,0,34,0,39,0,61,0,2,255,38,0,39,0,35,0,39,0,61,0,3,255,38,0,39,0,36,0,39,0,61,0,4,255,38,0,39,0,37,0,39,0,61,0,5,255,38,0,39,0,38,0,39,0,61,0,6,255,38,0,39,0,39,0,61,0,7,255,38,0,39,0,40,0,39,0,61,0,8,255,38,0,39,0,41,0,39,0,61,0,9,255,38,0,39,0,42,0,39,0,61,0,10,255,38,0,39,0,43,0,39,0,61,0,11,255,38,0,39,0,44,0,39,0,61,0,12,255,38,0,39,0,45,0,39,0,61,0,13,255,38,0,39,0,46,0,39,0,61,0,14,255,38,0,39,0,47,0,39,0,61,0,15,255,38,0,48,0,61,0,16,255,38,0,49,0,61,0,17,255,38,0,50,0,61,0,18,255,38,0,51,0,61,0,19,255,38,0,52,0,61,0,20,255,38,0,53,0,61,0,21,255,38,0,54,0,61,0,22,255,38,0,55,0,61,0,23,255,38,0,56,0,61,0,24,255,38,0,57,0,61,0,25,255,38,0,39,0,58,0,39,0,61,0,26,255,38,0,39,0,59,0,39,0,61,0,27,255,38,0,39,0,60,0,39,0,61,0,28,255,38,0,39,0,61,0,39,0,61,0,29,255,38,0,39,0,62,0,39,0,61,0,30,255,38,0,39,0,63,0,39,0,61,0,31,255,38,0,39,0,64,0,39,0,61,0,32,255,38,0,65,0,61,0,33,255,38,0,66,0,61,0,34,255,38,0,67,0,61,0,35,255,38,0,68,0,61,0,36,255,38,0,69,0,61,0,37,255,38,0,70,0,61,0,38,255,38,0,71,0,61,0,39,255,38,0,72,0,61,0,40,255,38,0,73,0,61,0,41,255,38,0,74,0,61,0,42,255,38,0,75,0,61,0,43,255,38,0,76,0,61,0,44,255,38,0,77,0,61,0,45,255,38,0,78,0,61,0,46,255,38,0,79,0,61,0,47,255,38,0,80,0,61,0,48,255,38,0,81,0,61,0,49,255,38,0,82,0,61,0,50,255,38,0,83,0,61,0,51,255,38,0,84,0,61,0,52,255,38,0,85,0,61,0,53,255,38,0,86,0,61,0,54,255,38,0,87,0,61,0,55,255,38,0,88,0,61,0,56,255,38,0,89,0,61,0,57,255,38,0,90,0,61,0,58,255,38,0,39,0,91,0,39,0,61,0,59,255,38,0,39,0,92,0,39,0,61,0,60,255,38,0,39,0,93,0,39,0,61,0,61,255,38,0,39,0,94,0,39,0,61,0,62,255,38,0,39,0,95,0,39,0,61,0,63,255,38,0,39,0,96,0,39,0,61,0,64,255,38,0,97,0,61,0,65,255,38,0,98,0,61,0,66,255,38,0,99,0,61,0,67,255,38,0,100,0,61,0,68,255,38,0,101,0,61,0,69,255,38,0,102,0,61,0,70,255,38,0,103,0,61,0,71,255,38,0,104,0,61,0,72,255,38,0,105,0,61,0,73,255,38,0,106,0,61,0,74,255,38,0,107,0,61,0,75,255,38,0,108,0,61,0,76,255,38,0,109,0,61,0,77,255,38,0,110,0,61,0,78,255,38,0,111,0,61,0,79,255,38,0,112,0,61,0,80,255,38,0,113,0,61,0,81,255,38,0,114,0,61,0,82,255,38,0,115,0,61,0,83,255,38,0,116,0,61,0,84,255,38,0,117,0,61,0,85,255,38,0,118,0,61,0,86,255,38,0,119,0,61,0,87,255,38,0,120,0,61,0,88,255,38,0,121,0,61,0,89,255,38,0,122,0,61,0,90,255,38,0,39,0,123,0,39,0,61,0,91,255,38,0,39,0,124,0,39,0,61,0,92,255,38,0,39,0,125,0,39,0,61,0,93,255,38,0,39,0,126,0,39,0,61,0,94,255,38,0,162,0,61,0,224,255,38,0,163,0,61,0,225,255,38,0,165,0,61,0,229,255,38,0,166,0,61,0,228,255,38,0,172,0,61,0,226,255,38,0,0,17,61,0,161,255,61,0,49,49,38,0,1,17,61,0,162,255,61,0,50,49,38,0,2,17,61,0,164,255,61,0,52,49,38,0,3,17,61,0,167,255,61,0,55,49,38,0,4,17,61,0,168,255,61,0,56,49,38,0,5,17,61,0,169,255,61,0,57,49,38,0,6,17,61,0,177,255,61,0,65,49,38,0,7,17,61,0,178,255,61,0,66,49,38,0,8,17,61,0,179,255,61,0,67,49,38,0,9,17,61,0,181,255,61,0,69,49,38,0,10,17,61,0,182,255,61,0,70,49,38,0,11,17,61,0,183,255,61,0,71,49,38,0,12,17,61,0,184,255,61,0,72,49,38,0,13,17,61,0,185,255,61,0,73,49,38,0,14,17,61,0,186,255,61,0,74,49,38,0,15,17,61,0,187,255,61,0,75,49,38,0,16,17,61,0,188,255,61,0,76,49,38,0,17,17,61,0,189,255,61,0,77,49,38,0,18,17,61,0,190,255,61,0,78,49,38,0,26,17,61,0,176,255,61,0,64,49,38,0,33,17,61,0,180,255,61,0,68,49,38,0,96,17,61,0,160,255,61,0,100,49,38,0,97,17,61,0,194,255,61,0,79,49,38,0,98,17,61,0,195,255,61,0,80,49,38,0,99,17,61,0,196,255,61,0,81,49,38,0,100,17,61,0,197,255,61,0,82,49,38,0,101,17,61,0,198,255,61,0,83,49,38,0,102,17,61,0,199,255,61,0,84,49,38,0,103,17,61,0,202,255,61,0,85,49,38,0,104,17,61,0,203,255,61,0,86,49,38,0,105,17,61,0,204,255,61,0,87,49,38,0,106,17,61,0,205,255,61,0,88,49,38,0,107,17,61,0,206,255,61,0,89,49,38,0,108,17,61,0,207,255,61,0,90,49,38,0,109,17,61,0,210,255,61,0,91,49,38,0,110,17,61,0,211,255,61,0,92,49,38,0,111,17,61,0,212,255,61,0,93,49,38,0,112,17,61,0,213,255,61,0,94,49,38,0,113,17,61,0,214,255,61,0,95,49,38,0,114,17,61,0,215,255,61,0,96,49,38,0,115,17,61,0,218,255,61,0,97,49,38,0,116,17,61,0,219,255,61,0,98,49,38,0,117,17,61,0,220,255,61,0,99,49,38,0,170,17,61,0,163,255,61,0,51,49,38,0,172,17,61,0,165,255,61,0,53,49,38,0,173,17,61,0,166,255,61,0,54,49,38,0,176,17,61,0,170,255,61,0,58,49,38,0,177,17,61,0,171,255,61,0,59,49,38,0,178,17,61,0,172,255,61,0,60,49,38,0,179,17,61,0,173,255,61,0,61,49,38,0,180,17,61,0,174,255,61,0,62,49,38,0,181,17,61,0,175,255,61,0,63,49,38,0,169,32,61,0,230,255,38,0,144,33,61,0,233,255,38,0,145,33,61,0,234,255,38,0,146,33,61,0,235,255,38,0,147,33,61,0,236,255,38,0,2,37,61,0,232,255,38,0,160,37,61,0,237,255,38,0,203,37,61,0,238,255,38,0,1,48,61,0,100,255,38,0,2,48,61,0,97,255,38,0,12,48,61,0,98,255,38,0,13,48,61,0,99,255,0,0,239,223,10,25,38,0,253,48,60,0,42,0,126,51,125,51,124,51,123,51,255,50,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,106,0,97,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,107,0,97,0,110,0,97,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,42,0,156,78,22,85,3,90,63,150,192,84,27,97,40,99,246,89,34,144,117,132,28,131,80,122,170,96,225,99,37,110,237,101,102,132,166,130,245,155,147,104,39,87,161,101,113,98,155,91,208,89,123,134,244,152,98,125,190,125,142,155,22,98,159,124,183,136,137,91,181,94,9,99,151,102,72,104,199,149,141,151,79,103,229,78,10,79,77,79,157,79,73,80,242,86,55,89,212,89,1,90,9,92,223,96,15,97,112,97,19,102,5,105,186,112,79,117,112,117,251,121,173,125,239,125,195,128,14,132,99,136,2,139,85,144,122,144,59,83,149,78,165,78,223,87,178,128,193,144,239,120,0,78,241,88,162,110,56,144,50,122,40,131,139,130,47,156,65,81,112,83,189,84,225,84,224,86,251,89,21,95,242,152,235,109,228,128,45,133,98,150,112,150,160,150,251,151,11,84,243,83,135,91,207,112,189,127,194,143,232,150,111,83,92,157,186,122,17,78,147,120,252,129,38,110,24,86,4,85,29,107,26,133,59,156,229,89,169,83,102,109,220,116,143,149,66,86,145,78,75,144,242,150,79,131,12,153,225,83,182,85,48,91,113,95,32,102,243,102,4,104,56,108,243,108,41,109,91,116,200,118,78,122,52,152,241,130,91,136,96,138,237,146,178,109,171,117,202,118,197,153,166,96,1,139,138,141,178,149,142,105,173,83,134,81,18,87,48,88,68,89,180,91,246,94,40,96,169,99,244,99,191,108,20,111,142,112,20,113,89,113,213,113,63,115,1,126,118,130,209,130,151,133,96,144,91,146,27,157,105,88,188,101,90,108,37,117,249,81,46,89,101,89,128,95,220,95,188,98,250,101,42,106,39,107,180,107,139,115,193,127,86,137,44,157,14,157,196,158,161,92,150,108,123,131,4,81,75,92,182,97,198,129,118,104,97,114,89,78,250,79,120,83,105,96,41,110,79,122,243,151,11,78,22,83,238,78,85,79,61,79,161,79,115,79,160,82,239,83,9,86,15,89,193,90,182,91,225,91,209,121,135,102,156,103,182,103,76,107,179,108,107,112,194,115,141,121,190,121,60,122,135,123,177,130,219,130,4,131,119,131,239,131,211,131,102,135,178,138,41,86,168,140,230,143,78,144,30,151,138,134,196,79,232,92,17,98,89,114,59,117,229,129,189,130,254,134,192,140,197,150,19,153,213,153,203,78,26,79,227,137,222,86,74,88,202,88,251,94,235,95,42,96,148,96,98,96,208,97,18,98,208,98,57,101,65,155,102,102,176,104,119,109,112,112,76,117,134,118,117,125,165,130,249,135,139,149,142,150,157,140,241,81,190,82,22,89,179,84,179,91,22,93,104,97,130,105,175,109,141,120,203,132,87,136,114,138,167,147,184,154,108,109,168,153,217,134,163,87,255,103,206,134,14,146,131,82,135,86,4,84,211,94,225,98,185,100,60,104,56,104,187,107,114,115,186,120,107,122,154,137,210,137,107,141,3,143,237,144,163,149,148,150,105,151,102,91,179,92,125,105,77,152,78,152,155,99,32,123,43,106,127,106,182,104,13,156,95,111,114,82,157,85,112,96,236,98,59,109,7,110,209,110,91,132,16,137,68,143,20,78,57,156,246,83,27,105,58,106,132,151,42,104,92,81,195,122,178,132,220,145,140,147,91,86,40,157,34,104,5,131,49,132,165,124,8,82,197,130,230,116,126,78,131,79,160,81,210,91,10,82,216,82,231,82,251,93,154,85,42,88,230,89,140,91,152,91,219,91,114,94,121,94,163,96,31,97,99,97,190,97,219,99,98,101,209,103,83,104,250,104,62,107,83,107,87,108,34,111,151,111,69,111,176,116,24,117,227,118,11,119,255,122,161,123,33,124,233,125,54,127,240,127,157,128,102,130,158,131,179,137,204,138,171,140,132,144,81,148,147,149,145,149,162,149,101,150,211,151,40,153,24,130,56,78,43,84,184,92,204,93,169,115,76,118,60,119,169,92,235,127,11,141,193,150,17,152,84,152,88,152,1,79,14,79,113,83,156,85,104,86,250,87,71,89,9,91,196,91,144,92,12,94,126,94,204,95,238,99,58,103,215,101,226,101,31,103,203,104,196,104,95,106,48,94,197,107,23,108,125,108,127,117,72,121,99,91,0,122,0,125,189,95,143,137,24,138,180,140,119,141,204,142,29,143,226,152,14,154,60,155,128,78,125,80,0,81,147,89,156,91,47,98,128,98,236,100,58,107,160,114,145,117,71,121,169,127,251,135,188,138,112,139,172,99,202,131,160,151,9,84,3,84,171,85,84,104,88,106,112,138,39,120,117,103,205,158,116,83,162,91,26,129,80,134,6,144,24,78,69,78,199,78,17,79,202,83,56,84,174,91,19,95,37,96,81,101,61,103,66,108,114,108,227,108,120,112,3,116,118,122,174,122,8,123,26,125,254,124,102,125,231,101,91,114,187,83,69,92,232,93,210,98,224,98,25,99,32,110,90,134,49,138,221,141,248,146,1,111,166,121,90,155,168,78,171,78,172,78,155,79,160,79,209,80,71,81,246,122,113,81,246,81,84,83,33,83,127,83,235,83,172,85,131,88,225,92,55,95,74,95,47,96,80,96,109,96,31,99,89,101,75,106,193,108,194,114,237,114,239,119,248,128,5,129,8,130,78,133,247,144,225,147,255,151,87,153,90,154,240,78,221,81,45,92,129,102,109,105,64,92,242,102,117,105,137,115,80,104,129,124,197,80,228,82,71,87,254,93,38,147,164,101,35,107,61,107,52,116,129,121,189,121,75,123,202,125,185,130,204,131,127,136,95,137,57,139,209,143,209,145,31,84,128,146,93,78,54,80,229,83,58,83,215,114,150,115,233,119,230,130,175,142,198,153,200,153,210,153,119,81,26,97,94,134,176,85,122,122,118,80,211,91,71,144,133,150,50,78,219,106,231,145,81,92,72,92,152,99,159,122,147,108,116,151,97,143,170,122,138,113,136,150,130,124,23,104,112,126,81,104,108,147,242,82,27,84,171,133,19,138,164,127,205,142,225,144,102,83,136,136,65,121,194,79,190,80,17,82,68,81,83,85,45,87,234,115,139,87,81,89,98,95,132,95,117,96,118,97,103,97,169,97,178,99,58,100,108,101,111,102,66,104,19,110,102,117,61,122,251,124,76,125,153,125,75,126,107,127,14,131,74,131,205,134,8,138,99,138,102,139,253,142,26,152,143,157,184,130,206,143,232,155,135,82,31,98,131,100,192,111,153,150,65,104,145,80,32,107,122,108,84,111,116,122,80,125,64,136,35,138,8,103,246,78,57,80,38,80,101,80,124,81,56,82,99,82,167,85,15,87,5,88,204,90,250,94,178,97,248,97,243,98,114,99,28,105,41,106,125,114,172,114,46,115,20,120,111,120,121,125,12,119,169,128,139,137,25,139,226,140,210,142,99,144,117,147,122,150,85,152,19,154,120,158,67,81,159,83,179,83,123,94,38,95,27,110,144,110,132,115,254,115,67,125,55,130,0,138,250,138,80,150,78,78,11,80,228,83,124,84,250,86,209,89,100,91,241,93,171,94,39,95,56,98,69,101,175,103,86,110,208,114,202,124,180,136,161,128,225,128,240,131,78,134,135,138,232,141,55,146,199,150,103,152,19,159,148,78,146,78,13,79,72,83,73,84,62,84,47,90,140,95,161,95,159,96,167,104,142,106,90,116,129,120,158,138,164,138,119,139,144,145,94,78,201,155,164,78,124,79,175,79,25,80,22,80,73,81,108,81,159,82,185,82,254,82,154,83,227,83,17,84,14,84,137,85,81,87,162,87,125,89,84,91,93,91,143,91,229,93,231,93,247,93,120,94,131,94,154,94,183,94,24,95,82,96,76,97,151,98,216,98,167,99,59,101,2,102,67,102,244,102,109,103,33,104,151,104,203,105,95,108,42,109,105,109,47,110,157,110,50,117,135,118,108,120,63,122,224,124,5,125,24,125,94,125,177,125,21,128,3,128,175,128,177,128,84,129,143,129,42,130,82,131,76,136,97,136,27,139,162,140,252,140,202,144,117,145,113,146,63,120,252,146,164,149,77,150,5,152,153,153,216,154,59,157,91,82,171,82,247,83,8,84,213,88,247,98,224,111,106,140,95,143,185,158,75,81,59,82,74,84,253,86,64,122,119,145,96,157,210,158,68,115,9,111,112,129,17,117,253,95,218,96,168,154,219,114,188,143,100,107,3,152,202,78,240,86,100,87,190,88,90,90,104,96,199,97,15,102,6,102,57,104,177,104,247,109,213,117,58,125,110,130,66,155,155,78,80,79,201,83,6,85,111,93,230,93,238,93,251,103,153,108,115,116,2,120,80,138,150,147,223,136,80,87,167,94,43,99,181,80,172,80,141,81,0,103,201,84,94,88,187,89,176,91,105,95,77,98,161,99,61,104,115,107,8,110,125,112,199,145,128,114,21,120,38,120,109,121,142,101,48,125,220,131,193,136,9,143,155,150,100,82,40,87,80,103,106,127,161,140,180,81,66,87,42,150,58,88,138,105,180,128,178,84,14,93,252,87,149,120,250,157,92,79,74,82,139,84,62,100,40,102,20,103,245,103,132,122,86,123,34,125,47,147,92,104,173,155,57,123,25,83,138,81,55,82,223,91,246,98,174,100,230,100,45,103,186,107,169,133,209,150,144,118,214,155,76,99,6,147,171,155,191,118,82,102,9,78,152,80,194,83,113,92,232,96,146,100,99,101,95,104,230,113,202,115,35,117,151,123,130,126,149,134,131,139,219,140,120,145,16,153,172,101,171,102,139,107,213,78,212,78,58,79,127,79,58,82,248,83,242,83,227,85,219,86,235,88,203,89,201,89,255,89,80,91,77,92,2,94,43,94,215,95,29,96,7,99,47,101,92,91,175,101,189,101,232,101,157,103,98,107,123,107,15,108,69,115,73,121,193,121,248,124,25,125,43,125,162,128,2,129,243,129,150,137,94,138,105,138,102,138,140,138,238,138,199,140,220,140,204,150,252,152,111,107,139,78,60,79,141,79,80,81,87,91,250,91,72,97,1,99,66,102,33,107,203,110,187,108,62,114,189,116,212,117,193,120,58,121,12,128,51,128,234,129,148,132,158,143,80,108,127,158,15,95,88,139,43,157,250,122,248,142,141,91,235,150,3,78,241,83,247,87,49,89,201,90,164,91,137,96,127,110,6,111,190,117,234,140,159,91,0,133,224,123,114,80,244,103,157,130,97,92,74,133,30,126,14,130,153,81,4,92,104,99,102,141,156,101,110,113,62,121,23,125,5,128,29,139,202,142,110,144,199,134,170,144,31,80,250,82,58,92,83,103,124,112,53,114,76,145,200,145,43,147,229,130,194,91,49,95,249,96,59,78,214,83,136,91,75,98,49,103,138,107,233,114,224,115,46,122,107,129,163,141,82,145,150,153,18,81,215,83,106,84,255,91,136,99,57,106,172,125,0,151,218,86,206,83,104,84,151,91,49,92,222,93,238,79,1,97,254,98,50,109,192,121,203,121,66,125,77,126,210,127,237,129,31,130,144,132,70,136,114,137,144,139,116,142,47,143,49,144,75,145,108,145,198,150,156,145,192,78,79,79,69,81,65,83,147,95,14,98,212,103,65,108,11,110,99,115,38,126,205,145,131,146,212,83,25,89,191,91,209,109,93,121,46,126,155,124,126,88,159,113,250,81,83,136,240,143,202,79,251,92,37,102,172,119,227,122,28,130,255,153,198,81,170,95,236,101,111,105,137,107,243,109,150,110,100,111,254,118,20,125,225,93,117,144,135,145,6,152,230,81,29,82,64,98,145,102,217,102,26,110,182,94,210,125,114,127,248,102,175,133,247,133,248,138,169,82,217,83,115,89,143,94,144,95,85,96,228,146,100,150,183,80,31,81,221,82,32,83,71,83,236,83,232,84,70,85,49,85,23,86,104,89,190,89,60,90,181,91,6,92,15,92,17,92,26,92,132,94,138,94,224,94,112,95,127,98,132,98,219,98,140,99,119,99,7,102,12,102,45,102,118,102,126,103,162,104,31,106,53,106,188,108,136,109,9,110,88,110,60,113,38,113,103,113,199,117,1,119,93,120,1,121,101,121,240,121,224,122,17,123,167,124,57,125,150,128,214,131,139,132,73,133,93,136,243,136,31,138,60,138,84,138,115,138,97,140,222,140,164,145,102,146,126,147,24,148,156,150,152,151,10,78,8,78,30,78,87,78,151,81,112,82,206,87,52,88,204,88,34,91,56,94,197,96,254,100,97,103,86,103,68,109,182,114,115,117,99,122,184,132,114,139,184,145,32,147,49,86,244,87,254,152,237,98,13,105,150,107,237,113,84,126,119,128,114,130,230,137,223,152,85,135,177,143,59,92,56,79,225,79,181,79,7,85,32,90,221,91,233,91,195,95,78,97,47,99,176,101,75,102,238,104,155,105,120,109,241,109,51,117,185,117,31,119,94,121,230,121,51,125,227,129,175,130,170,133,170,137,58,138,171,142,155,143,50,144,221,145,7,151,186,78,193,78,3,82,117,88,236,88,11,92,26,117,61,92,78,129,10,138,197,143,99,150,109,151,37,123,207,138,8,152,98,145,243,86,168,83,23,144,57,84,130,87,37,94,168,99,52,108,138,112,97,119,139,124,224,127,112,136,66,144,84,145,16,147,24,147,143,150,94,116,196,154,7,93,105,93,112,101,162,103,168,141,219,150,110,99,73,103,25,105,197,131,23,152,192,150,254,136,132,111,122,100,248,91,22,78,44,112,93,117,47,102,196,81,54,82,226,82,211,89,129,95,39,96,16,98,63,101,116,101,31,102,116,102,242,104,22,104,99,107,5,110,114,114,31,117,219,118,190,124,86,128,240,88,253,136,127,137,160,138,147,138,203,138,29,144,146,145,82,151,89,151,137,101,14,122,6,129,187,150,45,94,220,96,26,98,165,101,20,102,144,103,243,119,77,122,77,124,62,126,10,129,172,140,100,141,225,141,95,142,169,120,7,82,217,98,165,99,66,100,152,98,45,138,131,122,192,123,172,138,234,150,118,125,12,130,73,135,217,78,72,81,67,83,96,83,163,91,2,92,22,92,221,93,38,98,71,98,176,100,19,104,52,104,201,108,69,109,23,109,211,103,92,111,78,113,125,113,203,101,127,122,173,123,218,125,74,126,168,127,122,129,27,130,57,130,166,133,110,138,206,140,245,141,120,144,119,144,173,146,145,146,131,149,174,155,77,82,132,85,56,111,54,113,104,81,133,121,85,126,179,129,206,124,76,86,81,88,168,92,170,99,254,102,253,102,90,105,217,114,143,117,142,117,14,121,86,121,223,121,151,124,32,125,68,125,7,134,52,138,59,150,97,144,32,159,231,80,117,82,204,83,226,83,9,80,170,85,238,88,79,89,61,114,139,91,100,92,29,83,227,96,243,96,92,99,131,99,63,99,187,99,205,100,233,101,249,102,227,93,205,105,253,105,21,111,229,113,137,78,233,117,248,118,147,122,223,124,207,125,156,125,97,128,73,131,88,131,108,132,188,132,251,133,197,136,112,141,1,144,109,144,151,147,28,151,18,154,207,80,151,88,142,97,211,129,53,133,8,141,32,144,195,79,116,80,71,82,115,83,111,96,73,99,95,103,44,110,179,141,31,144,215,79,94,92,202,140,207,101,154,125,82,83,150,136,118,81,195,99,88,91,107,91,10,92,13,100,81,103,92,144,214,78,26,89,42,89,112,108,81,138,62,85,21,88,165,89,240,96,83,98,193,103,53,130,85,105,64,150,196,153,40,154,83,79,6,88,254,91,16,128,177,92,47,94,133,95,32,96,75,97,52,98,255,102,240,108,222,110,206,128,127,129,212,130,139,136,184,140,0,144,46,144,138,150,219,158,219,155,227,78,240,83,39,89,44,123,141,145,76,152,249,157,221,110,39,112,83,83,68,85,133,91,88,98,158,98,211,98,162,108,239,111,34,116,23,138,56,148,193,111,254,138,56,131,231,81,248,134,234,83,233,83,70,79,84,144,176,143,106,89,49,129,253,93,234,122,191,143,218,104,55,140,248,114,72,156,61,106,176,138,57,78,88,83,6,86,102,87,197,98,162,99,230,101,78,107,225,109,91,110,173,112,237,119,239,122,170,123,187,125,61,128,198,128,203,134,149,138,91,147,227,86,199,88,62,95,173,101,150,102,128,106,181,107,55,117,199,138,36,80,229,119,48,87,27,95,101,96,122,102,96,108,244,117,26,122,110,127,244,129,24,135,69,144,179,153,201,123,92,117,249,122,81,123,196,132,16,144,233,121,146,122,54,131,225,90,64,119,45,78,242,78,153,91,224,95,189,98,60,102,241,103,232,108,107,134,119,136,59,138,78,145,243,146,208,153,23,106,38,112,42,115,231,130,87,132,175,140,1,78,70,81,203,81,139,85,245,91,22,94,51,94,129,94,20,95,53,95,107,95,180,95,242,97,17,99,162,102,29,103,110,111,82,114,58,117,58,119,116,128,57,129,120,129,118,135,191,138,220,138,133,141,243,141,154,146,119,149,2,152,229,156,197,82,87,99,244,118,21,103,136,108,205,115,195,140,174,147,115,150,37,109,156,88,14,105,204,105,253,143,154,147,219,117,26,144,90,88,2,104,180,99,251,105,67,79,44,111,216,103,187,143,38,133,180,125,84,147,63,105,112,111,106,87,247,88,44,91,44,125,42,114,10,84,227,145,180,157,173,78,78,79,92,80,117,80,67,82,158,140,72,84,36,88,154,91,29,94,149,94,173,94,247,94,31,95,140,96,181,98,58,99,208,99,175,104,64,108,135,120,142,121,11,122,224,125,71,130,2,138,230,138,68,142,19,144,184,144,45,145,216,145,14,159,229,108,88,100,226,100,117,101,244,110,132,118,27,123,105,144,209,147,186,110,242,84,185,95,164,100,77,143,237,143,68,146,120,81,107,88,41,89,85,92,151,94,251,109,143,126,28,117,188,140,226,142,91,152,185,112,29,79,191,107,177,111,48,117,251,150,78,81,16,84,53,88,87,88,172,89,96,92,146,95,151,101,92,103,33,110,123,118,223,131,237,140,20,144,253,144,77,147,37,120,58,120,170,82,166,94,31,87,116,89,18,96,18,80,90,81,172,81,205,81,0,82,16,85,84,88,88,88,87,89,149,91,246,92,139,93,188,96,149,98,45,100,113,103,67,104,188,104,223,104,215,118,216,109,111,110,155,109,111,112,200,113,83,95,216,117,119,121,73,123,84,123,82,123,214,124,113,125,48,82,99,132,105,133,228,133,14,138,4,139,70,140,15,142,3,144,15,144,25,148,118,150,45,152,48,154,216,149,205,80,213,82,12,84,2,88,14,92,167,97,158,100,30,109,179,119,229,122,244,128,4,132,83,144,133,146,224,92,7,157,63,83,151,95,179,95,156,109,121,114,99,119,191,121,228,123,210,107,236,114,173,138,3,104,97,106,248,81,129,122,52,105,74,92,246,156,235,130,197,91,73,145,30,112,120,86,111,92,199,96,102,101,140,108,90,140,65,144,19,152,81,84,199,102,13,146,72,89,163,144,133,81,77,78,234,81,153,133,14,139,88,112,122,99,75,147,98,105,180,153,4,126,119,117,87,83,96,105,223,142,227,150,93,108,140,78,60,92,16,95,233,143,2,83,209,140,137,128,121,134,255,94,229,101,115,78,101,81,130,89,63,92,238,151,251,78,138,89,205,95,141,138,225,111,176,121,98,121,231,91,113,132,43,115,177,113,116,94,245,95,123,99,154,100,195,113,152,124,67,78,252,94,75,78,220,87,162,86,169,96,195,111,13,125,253,128,51,129,191,129,178,143,151,137,164,134,244,93,138,98,173,100,135,137,119,103,226,108,62,109,54,116,52,120,70,90,117,127,173,130,172,153,243,79,195,94,221,98,146,99,87,101,111,103,195,118,76,114,204,128,186,128,41,143,77,145,13,80,249,87,146,90,133,104,115,105,100,113,253,114,183,140,242,88,224,140,106,150,25,144,127,135,228,121,231,119,41,132,47,79,101,82,90,83,205,98,207,103,202,108,125,118,148,123,149,124,54,130,132,133,235,143,221,102,32,111,6,114,27,126,171,131,193,153,166,158,253,81,177,123,114,120,184,123,135,128,72,123,232,106,97,94,140,128,81,117,96,117,107,81,98,146,140,110,122,118,151,145,234,154,16,79,112,127,156,98,79,123,165,149,233,156,122,86,89,88,228,134,188,150,52,79,36,82,74,83,205,83,219,83,6,94,44,100,145,101,127,103,62,108,78,108,72,114,175,114,237,115,84,117,65,126,44,130,233,133,169,140,196,123,198,145,105,113,18,152,239,152,61,99,105,102,106,117,228,118,208,120,67,133,238,134,42,83,81,83,38,84,131,89,135,94,124,95,178,96,73,98,121,98,171,98,144,101,212,107,204,108,178,117,174,118,145,120,216,121,203,125,119,127,165,128,171,136,185,138,187,140,127,144,94,151,219,152,11,106,56,124,153,80,62,92,174,95,135,103,216,107,53,116,9,119,142,127,59,159,202,103,23,122,57,83,139,117,237,154,102,95,157,129,241,131,152,128,60,95,197,95,98,117,70,123,60,144,103,104,235,89,155,90,16,125,126,118,44,139,245,79,106,95,25,106,55,108,2,111,226,116,104,121,104,136,85,138,121,140,223,94,207,99,197,117,210,121,215,130,40,147,242,146,156,132,237,134,45,156,193,84,108,95,140,101,92,109,21,112,167,140,211,140,59,152,79,101,246,116,13,78,216,78,224,87,43,89,102,90,204,91,168,81,3,94,156,94,22,96,118,98,119,101,167,101,110,102,110,109,54,114,38,123,80,129,154,129,153,130,92,139,160,140,230,140,116,141,28,150,68,150,174,79,171,100,102,107,30,130,97,132,106,133,232,144,1,92,83,105,168,152,122,132,87,133,15,79,111,82,169,95,69,94,13,103,143,121,121,129,7,137,134,137,245,109,23,95,85,98,184,108,207,78,105,114,146,155,6,82,59,84,116,86,179,88,164,97,110,98,26,113,110,89,137,124,222,124,27,125,240,150,135,101,94,128,25,78,117,79,117,81,64,88,99,94,115,94,10,95,196,103,38,78,61,133,137,149,91,150,115,124,1,152,251,80,193,88,86,118,167,120,37,82,165,119,17,133,134,123,79,80,9,89,71,114,199,123,232,125,186,143,212,143,77,144,191,79,201,82,41,90,1,95,173,151,221,79,23,130,234,146,3,87,85,99,105,107,43,117,220,136,20,143,66,122,223,82,147,88,85,97,10,98,174,102,205,107,63,124,233,131,35,80,248,79,5,83,70,84,49,88,73,89,157,91,240,92,239,92,41,93,150,94,177,98,103,99,62,101,185,101,11,103,213,108,225,108,249,112,50,120,43,126,222,128,179,130,12,132,236,132,2,135,18,137,42,138,74,140,166,144,210,146,253,152,243,156,108,157,79,78,161,78,141,80,86,82,74,87,168,89,61,94,216,95,217,95,63,98,180,102,27,103,208,103,210,104,146,81,33,125,170,128,168,129,0,139,140,140,191,140,126,146,50,150,32,84,44,152,23,83,213,80,92,83,168,88,178,100,52,103,103,114,102,119,70,122,230,145,195,82,161,108,134,107,0,88,76,94,84,89,44,103,251,127,225,81,198,118,105,100,232,120,84,155,187,158,203,87,185,89,39,102,154,103,206,107,233,84,217,105,85,94,156,129,149,103,170,155,254,103,82,156,93,104,166,78,227,79,200,83,185,98,43,103,171,108,196,143,173,79,109,126,191,158,7,78,98,97,128,110,43,111,19,133,115,84,42,103,69,155,243,93,149,123,172,92,198,91,28,135,74,110,209,132,20,122,8,129,153,89,141,124,17,108,32,119,217,82,34,89,33,113,95,114,219,119,39,151,97,157,11,105,127,90,24,90,165,81,13,84,125,84,14,102,223,118,247,143,152,146,244,156,234,89,93,114,197,110,77,81,201,104,191,125,236,125,98,151,186,158,120,100,33,106,2,131,132,89,95,91,219,107,27,115,242,118,178,125,23,128,153,132,50,81,40,103,217,158,238,118,98,103,255,82,5,153,36,92,59,98,126,124,176,140,79,85,182,96,11,125,128,149,1,83,95,78,182,81,28,89,58,114,54,128,206,145,37,95,226,119,132,83,121,95,4,125,172,133,51,138,141,142,86,151,243,103,174,133,83,148,9,97,8,97,185,108,82,118,237,138,56,143,47,85,81,79,42,81,199,82,203,83,165,91,125,94,160,96,130,97,214,99,9,103,218,103,103,110,140,109,54,115,55,115,49,117,80,121,213,136,152,138,74,144,145,144,245,144,196,150,141,135,21,89,136,78,89,79,14,78,137,138,63,143,16,152,173,80,124,94,150,89,185,91,184,94,218,99,250,99,193,100,220,102,74,105,216,105,11,109,182,110,148,113,40,117,175,122,138,127,0,128,73,132,201,132,129,137,33,139,10,142,101,144,125,150,10,153,126,97,145,98,50,107,131,108,116,109,204,127,252,127,192,109,133,127,186,135,248,136,101,103,177,131,60,152,247,150,27,109,97,125,61,132,106,145,113,78,117,83,80,93,4,107,235,111,205,133,45,134,167,137,41,82,15,84,101,92,78,103,168,104,6,116,131,116,226,117,207,136,225,136,204,145,226,150,120,150,139,95,135,115,203,122,78,132,160,99,101,117,137,82,65,109,156,110,9,116,89,117,107,120,146,124,134,150,220,122,141,159,182,79,110,97,197,101,92,134,134,78,174,78,218,80,33,78,204,81,238,91,153,101,129,104,188,109,31,115,66,118,173,119,28,122,231,124,111,130,210,138,124,144,207,145,117,150,24,152,155,82,209,125,43,80,152,83,151,103,203,109,208,113,51,116,232,129,42,143,163,150,87,156,159,158,96,116,65,88,153,109,47,125,94,152,228,78,54,79,139,79,183,81,177,82,186,93,28,96,178,115,60,121,211,130,52,146,183,150,246,150,10,151,151,158,98,159,166,102,116,107,23,82,163,82,200,112,194,136,201,94,75,96,144,97,35,111,73,113,62,124,244,125,111,128,238,132,35,144,44,147,66,84,111,155,211,106,137,112,194,140,239,141,50,151,180,82,65,90,202,94,4,95,23,103,124,105,148,105,106,109,15,111,98,114,252,114,237,123,1,128,126,128,75,135,206,144,109,81,147,158,132,121,139,128,50,147,214,138,45,80,140,84,113,138,106,107,196,140,7,129,209,96,160,103,242,157,153,78,152,78,16,156,107,138,193,133,104,133,0,105,126,110,151,120,85,129,12,95,16,78,21,78,42,78,49,78,54,78,60,78,63,78,66,78,86,78,88,78,130,78,133,78,107,140,138,78,18,130,13,95,142,78,158,78,159,78,160,78,162,78,176,78,179,78,182,78,206,78,205,78,196,78,198,78,194,78,215,78,222,78,237,78,223,78,247,78,9,79,90,79,48,79,91,79,93,79,87,79,71,79,118,79,136,79,143,79,152,79,123,79,105,79,112,79,145,79,111,79,134,79,150,79,24,81,212,79,223,79,206,79,216,79,219,79,209,79,218,79,208,79,228,79,229,79,26,80,40,80,20,80,42,80,37,80,5,80,28,79,246,79,33,80,41,80,44,80,254,79,239,79,17,80,6,80,67,80,71,80,3,103,85,80,80,80,72,80,90,80,86,80,108,80,120,80,128,80,154,80,133,80,180,80,178,80,201,80,202,80,179,80,194,80,214,80,222,80,229,80,237,80,227,80,238,80,249,80,245,80,9,81,1,81,2,81,22,81,21,81,20,81,26,81,33,81,58,81,55,81,60,81,59,81,63,81,64,81,82,81,76,81,84,81,98,81,248,122,105,81,106,81,110,81,128,81,130,81,216,86,140,81,137,81,143,81,145,81,147,81,149,81,150,81,164,81,166,81,162,81,169,81,170,81,171,81,179,81,177,81,178,81,176,81,181,81,189,81,197,81,201,81,219,81,224,81,85,134,233,81,237,81,240,81,245,81,254,81,4,82,11,82,20,82,14,82,39,82,42,82,46,82,51,82,57,82,79,82,68,82,75,82,76,82,94,82,84,82,106,82,116,82,105,82,115,82,127,82,125,82,141,82,148,82,146,82,113,82,136,82,145,82,168,143,167,143,172,82,173,82,188,82,181,82,193,82,205,82,215,82,222,82,227,82,230,82,237,152,224,82,243,82,245,82,248,82,249,82,6,83,8,83,56,117,13,83,16,83,15,83,21,83,26,83,35,83,47,83,49,83,51,83,56,83,64,83,70,83,69,83,23,78,73,83,77,83,214,81,94,83,105,83,110,83,24,89,123,83,119,83,130,83,150,83,160,83,166,83,165,83,174,83,176,83,182,83,195,83,18,124,217,150,223,83,252,102,238,113,238,83,232,83,237,83,250,83,1,84,61,84,64,84,44,84,45,84,60,84,46,84,54,84,41,84,29,84,78,84,143,84,117,84,142,84,95,84,113,84,119,84,112,84,146,84,123,84,128,84,118,84,132,84,144,84,134,84,199,84,162,84,184,84,165,84,172,84,196,84,200,84,168,84,171,84,194,84,164,84,190,84,188,84,216,84,229,84,230,84,15,85,20,85,253,84,238,84,237,84,250,84,226,84,57,85,64,85,99,85,76,85,46,85,92,85,69,85,86,85,87,85,56,85,51,85,93,85,153,85,128,85,175,84,138,85,159,85,123,85,126,85,152,85,158,85,174,85,124,85,131,85,169,85,135,85,168,85,218,85,197,85,223,85,196,85,220,85,228,85,212,85,20,86,247,85,22,86,254,85,253,85,27,86,249,85,78,86,80,86,223,113,52,86,54,86,50,86,56,86,107,86,100,86,47,86,108,86,106,86,134,86,128,86,138,86,160,86,148,86,143,86,165,86,174,86,182,86,180,86,194,86,188,86,193,86,195,86,192,86,200,86,206,86,209,86,211,86,215,86,238,86,249,86,0,87,255,86,4,87,9,87,8,87,11,87,13,87,19,87,24,87,22,87,199,85,28,87,38,87,55,87,56,87,78,87,59,87,64,87,79,87,105,87,192,87,136,87,97,87,127,87,137,87,147,87,160,87,179,87,164,87,170,87,176,87,195,87,198,87,212,87,210,87,211,87,10,88,214,87,227,87,11,88,25,88,29,88,114,88,33,88,98,88,75,88,112,88,192,107,82,88,61,88,121,88,133,88,185,88,159,88,171,88,186,88,222,88,187,88,184,88,174,88,197,88,211,88,209,88,215,88,217,88,216,88,229,88,220,88,228,88,223,88,239,88,250,88,249,88,251,88,252,88,253,88,2,89,10,89,16,89,27,89,166,104,37,89,44,89,45,89,50,89,56,89,62,89,210,122,85,89,80,89,78,89,90,89,88,89,98,89,96,89,103,89,108,89,105,89,120,89,129,89,157,89,94,79,171,79,163,89,178,89,198,89,232,89,220,89,141,89,217,89,218,89,37,90,31,90,17,90,28,90,9,90,26,90,64,90,108,90,73,90,53,90,54,90,98,90,106,90,154,90,188,90,190,90,203,90,194,90,189,90,227,90,215,90,230,90,233,90,214,90,250,90,251,90,12,91,11,91,22,91,50,91,208,90,42,91,54,91,62,91,67,91,69,91,64,91,81,91,85,91,90,91,91,91,101,91,105,91,112,91,115,91,117,91,120,91,136,101,122,91,128,91,131,91,166,91,184,91,195,91,199,91,201,91,212,91,208,91,228,91,230,91,226,91,222,91,229,91,235,91,240,91,246,91,243,91,5,92,7,92,8,92,13,92,19,92,32,92,34,92,40,92,56,92,57,92,65,92,70,92,78,92,83,92,80,92,79,92,113,91,108,92,110,92,98,78,118,92,121,92,140,92,145,92,148,92,155,89,171,92,187,92,182,92,188,92,183,92,197,92,190,92,199,92,217,92,233,92,253,92,250,92,237,92,140,93,234,92,11,93,21,93,23,93,92,93,31,93,27,93,17,93,20,93,34,93,26,93,25,93,24,93,76,93,82,93,78,93,75,93,108,93,115,93,118,93,135,93,132,93,130,93,162,93,157,93,172,93,174,93,189,93,144,93,183,93,188,93,201,93,205,93,211,93,210,93,214,93,219,93,235,93,242,93,245,93,11,94,26,94,25,94,17,94,27,94,54,94,55,94,68,94,67,94,64,94,78,94,87,94,84,94,95,94,98,94,100,94,71,94,117,94,118,94,122,94,188,158,127,94,160,94,193,94,194,94,200,94,208,94,207,94,214,94,227,94,221,94,218,94,219,94,226,94,225,94,232,94,233,94,236,94,241,94,243,94,240,94,244,94,248,94,254,94,3,95,9,95,93,95,92,95,11,95,17,95,22,95,41,95,45,95,56,95,65,95,72,95,76,95,78,95,47,95,81,95,86,95,87,95,89,95,97,95,109,95,115,95,119,95,131,95,130,95,127,95,138,95,136,95,145,95,135,95,158,95,153,95,152,95,160,95,168,95,173,95,188,95,214,95,251,95,228,95,248,95,241,95,221,95,179,96,255,95,33,96,96,96,25,96,16,96,41,96,14,96,49,96,27,96,21,96,43,96,38,96,15,96,58,96,90,96,65,96,106,96,119,96,95,96,74,96,70,96,77,96,99,96,67,96,100,96,66,96,108,96,107,96,89,96,129,96,141,96,231,96,131,96,154,96,132,96,155,96,150,96,151,96,146,96,167,96,139,96,225,96,184,96,224,96,211,96,180,96,240,95,189,96,198,96,181,96,216,96,77,97,21,97,6,97,246,96,247,96,0,97,244,96,250,96,3,97,33,97,251,96,241,96,13,97,14,97,71,97,62,97,40,97,39,97,74,97,63,97,60,97,44,97,52,97,61,97,66,97,68,97,115,97,119,97,88,97,89,97,90,97,107,97,116,97,111,97,101,97,113,97,95,97,93,97,83,97,117,97,153,97,150,97,135,97,172,97,148,97,154,97,138,97,145,97,171,97,174,97,204,97,202,97,201,97,247,97,200,97,195,97,198,97,186,97,203,97,121,127,205,97,230,97,227,97,246,97,250,97,244,97,255,97,253,97,252,97,254,97,0,98,8,98,9,98,13,98,12,98,20,98,27,98,30,98,33,98,42,98,46,98,48,98,50,98,51,98,65,98,78,98,94,98,99,98,91,98,96,98,104,98,124,98,130,98,137,98,126,98,146,98,147,98,150,98,212,98,131,98,148,98,215,98,209,98,187,98,207,98,255,98,198,98,212,100,200,98,220,98,204,98,202,98,194,98,199,98,155,98,201,98,12,99,238,98,241,98,39,99,2,99,8,99,239,98,245,98,80,99,62,99,77,99,28,100,79,99,150,99,142,99,128,99,171,99,118,99,163,99,143,99,137,99,159,99,181,99,107,99,105,99,190,99,233,99,192,99,198,99,227,99,201,99,210,99,246,99,196,99,22,100,52,100,6,100,19,100,38,100,54,100,29,101,23,100,40,100,15,100,103,100,111,100,118,100,78,100,42,101,149,100,147,100,165,100,169,100,136,100,188,100,218,100,210,100,197,100,199,100,187,100,216,100,194,100,241,100,231,100,9,130,224,100,225,100,172,98,227,100,239,100,44,101,246,100,244,100,242,100,250,100,0,101,253,100,24,101,28,101,5,101,36,101,35,101,43,101,52,101,53,101,55,101,54,101,56,101,75,117,72,101,86,101,85,101,77,101,88,101,94,101,93,101,114,101,120,101,130,101,131,101,138,139,155,101,159,101,171,101,183,101,195,101,198,101,193,101,196,101,204,101,210,101,219,101,217,101,224,101,225,101,241,101,114,103,10,102,3,102,251,101,115,103,53,102,54,102,52,102,28,102,79,102,68,102,73,102,65,102,94,102,93,102,100,102,103,102,104,102,95,102,98,102,112,102,131,102,136,102,142,102,137,102,132,102,152,102,157,102,193,102,185,102,201,102,190,102,188,102,196,102,184,102,214,102,218,102,224,102,63,102,230,102,233,102,240,102,245,102,247,102,15,103,22,103,30,103,38,103,39,103,56,151,46,103,63,103,54,103,65,103,56,103,55,103,70,103,94,103,96,103,89,103,99,103,100,103,137,103,112,103,169,103,124,103,106,103,140,103,139,103,166,103,161,103,133,103,183,103,239,103,180,103,236,103,179,103,233,103,184,103,228,103,222,103,221,103,226,103,238,103,185,103,206,103,198,103,231,103,156,106,30,104,70,104,41,104,64,104,77,104,50,104,78,104,179,104,43,104,89,104,99,104,119,104,127,104,159,104,143,104,173,104,148,104,157,104,155,104,131,104,174,106,185,104,116,104,181,104,160,104,186,104,15,105,141,104,126,104,1,105,202,104,8,105,216,104,34,105,38,105,225,104,12,105,205,104,212,104,231,104,213,104,54,105,18,105,4,105,215,104,227,104,37,105,249,104,224,104,239,104,40,105,42,105,26,105,35,105,33,105,198,104,121,105,119,105,92,105,120,105,107,105,84,105,126,105,110,105,57,105,116,105,61,105,89,105,48,105,97,105,94,105,93,105,129,105,106,105,178,105,174,105,208,105,191,105,193,105,211,105,190,105,206,105,232,91,202,105,221,105,187,105,195,105,167,105,46,106,145,105,160,105,156,105,149,105,180,105,222,105,232,105,2,106,27,106,255,105,10,107,249,105,242,105,231,105,5,106,177,105,30,106,237,105,20,106,235,105,10,106,18,106,193,106,35,106,19,106,68,106,12,106,114,106,54,106,120,106,71,106,98,106,89,106,102,106,72,106,56,106,34,106,144,106,141,106,160,106,132,106,162,106,163,106,151,106,23,134,187,106,195,106,194,106,184,106,179,106,172,106,222,106,209,106,223,106,170,106,218,106,234,106,251,106,5,107,22,134,250,106,18,107,22,107,49,155,31,107,56,107,55,107,220,118,57,107,238,152,71,107,67,107,73,107,80,107,89,107,84,107,91,107,95,107,97,107,120,107,121,107,127,107,128,107,132,107,131,107,141,107,152,107,149,107,158,107,164,107,170,107,171,107,175,107,178,107,177,107,179,107,183,107,188,107,198,107,203,107,211,107,223,107,236,107,235,107,243,107,239,107,190,158,8,108,19,108,20,108,27,108,36,108,35,108,94,108,85,108,98,108,106,108,130,108,141,108,154,108,129,108,155,108,126,108,104,108,115,108,146,108,144,108,196,108,241,108,211,108,189,108,215,108,197,108,221,108,174,108,177,108,190,108,186,108,219,108,239,108,217,108,234,108,31,109,77,136,54,109,43,109,61,109,56,109,25,109,53,109,51,109,18,109,12,109,99,109,147,109,100,109,90,109,121,109,89,109,142,109,149,109,228,111,133,109,249,109,21,110,10,110,181,109,199,109,230,109,184,109,198,109,236,109,222,109,204,109,232,109,210,109,197,109,250,109,217,109,228,109,213,109,234,109,238,109,45,110,110,110,46,110,25,110,114,110,95,110,62,110,35,110,107,110,43,110,118,110,77,110,31,110,67,110,58,110,78,110,36,110,255,110,29,110,56,110,130,110,170,110,152,110,201,110,183,110,211,110,189,110,175,110,196,110,178,110,212,110,213,110,143,110,165,110,194,110,159,110,65,111,17,111,76,112,236,110,248,110,254,110,63,111,242,110,49,111,239,110,50,111,204,110,62,111,19,111,247,110,134,111,122,111,120,111,129,111,128,111,111,111,91,111,243,111,109,111,130,111,124,111,88,111,142,111,145,111,194,111,102,111,179,111,163,111,161,111,164,111,185,111,198,111,170,111,223,111,213,111,236,111,212,111,216,111,241,111,238,111,219,111,9,112,11,112,250,111,17,112,1,112,15,112,254,111,27,112,26,112,116,111,29,112,24,112,31,112,48,112,62,112,50,112,81,112,99,112,153,112,146,112,175,112,241,112,172,112,184,112,179,112,174,112,223,112,203,112,221,112,217,112,9,113,253,112,28,113,25,113,101,113,85,113,136,113,102,113,98,113,76,113,86,113,108,113,143,113,251,113,132,113,149,113,168,113,172,113,215,113,185,113,190,113,210,113,201,113,212,113,206,113,224,113,236,113,231,113,245,113,252,113,249,113,255,113,13,114,16,114,27,114,40,114,45,114,44,114,48,114,50,114,59,114,60,114,63,114,64,114,70,114,75,114,88,114,116,114,126,114,130,114,129,114,135,114,146,114,150,114,162,114,167,114,185,114,178,114,195,114,198,114,196,114,206,114,210,114,226,114,224,114,225,114,249,114,247,114,15,80,23,115,10,115,28,115,22,115,29,115,52,115,47,115,41,115,37,115,62,115,78,115,79,115,216,158,87,115,106,115,104,115,112,115,120,115,117,115,123,115,122,115,200,115,179,115,206,115,187,115,192,115,229,115,238,115,222,115,162,116,5,116,111,116,37,116,248,115,50,116,58,116,85,116,63,116,95,116,89,116,65,116,92,116,105,116,112,116,99,116,106,116,118,116,126,116,139,116,158,116,167,116,202,116,207,116,212,116,241,115,224,116,227,116,231,116,233,116,238,116,242,116,240,116,241,116,248,116,247,116,4,117,3,117,5,117,12,117,14,117,13,117,21,117,19,117,30,117,38,117,44,117,60,117,68,117,77,117,74,117,73,117,91,117,70,117,90,117,105,117,100,117,103,117,107,117,109,117,120,117,118,117,134,117,135,117,116,117,138,117,137,117,130,117,148,117,154,117,157,117,165,117,163,117,194,117,179,117,195,117,181,117,189,117,184,117,188,117,177,117,205,117,202,117,210,117,217,117,227,117,222,117,254,117,255,117,252,117,1,118,240,117,250,117,242,117,243,117,11,118,13,118,9,118,31,118,39,118,32,118,33,118,34,118,36,118,52,118,48,118,59,118,71,118,72,118,70,118,92,118,88,118,97,118,98,118,104,118,105,118,106,118,103,118,108,118,112,118,114,118,118,118,120,118,124,118,128,118,131,118,136,118,139,118,142,118,150,118,147,118,153,118,154,118,176,118,180,118,184,118,185,118,186,118,194,118,205,118,214,118,210,118,222,118,225,118,229,118,231,118,234,118,47,134,251,118,8,119,7,119,4,119,41,119,36,119,30,119,37,119,38,119,27,119,55,119,56,119,71,119,90,119,104,119,107,119,91,119,101,119,127,119,126,119,121,119,142,119,139,119,145,119,160,119,158,119,176,119,182,119,185,119,191,119,188,119,189,119,187,119,199,119,205,119,215,119,218,119,220,119,227,119,238,119,252,119,12,120,18,120,38,121,32,120,42,121,69,120,142,120,116,120,134,120,124,120,154,120,140,120,163,120,181,120,170,120,175,120,209,120,198,120,203,120,212,120,190,120,188,120,197,120,202,120,236,120,231,120,218,120,253,120,244,120,7,121,18,121,17,121,25,121,44,121,43,121,64,121,96,121,87,121,95,121,90,121,85,121,83,121,122,121,127,121,138,121,157,121,167,121,75,159,170,121,174,121,179,121,185,121,186,121,201,121,213,121,231,121,236,121,225,121,227,121,8,122,13,122,24,122,25,122,32,122,31,122,128,121,49,122,59,122,62,122,55,122,67,122,87,122,73,122,97,122,98,122,105,122,157,159,112,122,121,122,125,122,136,122,151,122,149,122,152,122,150,122,169,122,200,122,176,122,182,122,197,122,196,122,191,122,131,144,199,122,202,122,205,122,207,122,213,122,211,122,217,122,218,122,221,122,225,122,226,122,230,122,237,122,240,122,2,123,15,123,10,123,6,123,51,123,24,123,25,123,30,123,53,123,40,123,54,123,80,123,122,123,4,123,77,123,11,123,76,123,69,123,117,123,101,123,116,123,103,123,112,123,113,123,108,123,110,123,157,123,152,123,159,123,141,123,156,123,154,123,139,123,146,123,143,123,93,123,153,123,203,123,193,123,204,123,207,123,180,123,198,123,221,123,233,123,17,124,20,124,230,123,229,123,96,124,0,124,7,124,19,124,243,123,247,123,23,124,13,124,246,123,35,124,39,124,42,124,31,124,55,124,43,124,61,124,76,124,67,124,84,124,79,124,64,124,80,124,88,124,95,124,100,124,86,124,101,124,108,124,117,124,131,124,144,124,164,124,173,124,162,124,171,124,161,124,168,124,179,124,178,124,177,124,174,124,185,124,189,124,192,124,197,124,194,124,216,124,210,124,220,124,226,124,59,155,239,124,242,124,244,124,246,124,250,124,6,125,2,125,28,125,21,125,10,125,69,125,75,125,46,125,50,125,63,125,53,125,70,125,115,125,86,125,78,125,114,125,104,125,110,125,79,125,99,125,147,125,137,125,91,125,143,125,125,125,155,125,186,125,174,125,163,125,181,125,199,125,189,125,171,125,61,126,162,125,175,125,220,125,184,125,159,125,176,125,216,125,221,125,228,125,222,125,251,125,242,125,225,125,5,126,10,126,35,126,33,126,18,126,49,126,31,126,9,126,11,126,34,126,70,126,102,126,59,126,53,126,57,126,67,126,55,126,50,126,58,126,103,126,93,126,86,126,94,126,89,126,90,126,121,126,106,126,105,126,124,126,123,126,131,126,213,125,125,126,174,143,127,126,136,126,137,126,140,126,146,126,144,126,147,126,148,126,150,126,142,126,155,126,156,126,56,127,58,127,69,127,76,127,77,127,78,127,80,127,81,127,85,127,84,127,88,127,95,127,96,127,104,127,105,127,103,127,120,127,130,127,134,127,131,127,136,127,135,127,140,127,148,127,158,127,157,127,154,127,163,127,175,127,178,127,185,127,174,127,182,127,184,127,113,139,197,127,198,127,202,127,213,127,212,127,225,127,230,127,233,127,243,127,249,127,220,152,6,128,4,128,11,128,18,128,24,128,25,128,28,128,33,128,40,128,63,128,59,128,74,128,70,128,82,128,88,128,90,128,95,128,98,128,104,128,115,128,114,128,112,128,118,128,121,128,125,128,127,128,132,128,134,128,133,128,155,128,147,128,154,128,173,128,144,81,172,128,219,128,229,128,217,128,221,128,196,128,218,128,214,128,9,129,239,128,241,128,27,129,41,129,35,129,47,129,75,129,139,150,70,129,62,129,83,129,81,129,252,128,113,129,110,129,101,129,102,129,116,129,131,129,136,129,138,129,128,129,130,129,160,129,149,129,164,129,163,129,95,129,147,129,169,129,176,129,181,129,190,129,184,129,189,129,192,129,194,129,186,129,201,129,205,129,209,129,217,129,216,129,200,129,218,129,223,129,224,129,231,129,250,129,251,129,254,129,1,130,2,130,5,130,7,130,10,130,13,130,16,130,22,130,41,130,43,130,56,130,51,130,64,130,89,130,88,130,93,130,90,130,95,130,100,130,98,130,104,130,106,130,107,130,46,130,113,130,119,130,120,130,126,130,141,130,146,130,171,130,159,130,187,130,172,130,225,130,227,130,223,130,210,130,244,130,243,130,250,130,147,131,3,131,251,130,249,130,222,130,6,131,220,130,9,131,217,130,53,131,52,131,22,131,50,131,49,131,64,131,57,131,80,131,69,131,47,131,43,131,23,131,24,131,133,131,154,131,170,131,159,131,162,131,150,131,35,131,142,131,135,131,138,131,124,131,181,131,115,131,117,131,160,131,137,131,168,131,244,131,19,132,235,131,206,131,253,131,3,132,216,131,11,132,193,131,247,131,7,132,224,131,242,131,13,132,34,132,32,132,189,131,56,132,6,133,251,131,109,132,42,132,60,132,90,133,132,132,119,132,107,132,173,132,110,132,130,132,105,132,70,132,44,132,111,132,121,132,53,132,202,132,98,132,185,132,191,132,159,132,217,132,205,132,187,132,218,132,208,132,193,132,198,132,214,132,161,132,33,133,255,132,244,132,23,133,24,133,44,133,31,133,21,133,20,133,252,132,64,133,99,133,88,133,72,133,65,133,2,134,75,133,85,133,128,133,164,133,136,133,145,133,138,133,168,133,109,133,148,133,155,133,234,133,135,133,156,133,119,133,126,133,144,133,201,133,186,133,207,133,185,133,208,133,213,133,221,133,229,133,220,133,249,133,10,134,19,134,11,134,254,133,250,133,6,134,34,134,26,134,48,134,63,134,77,134,85,78,84,134,95,134,103,134,113,134,147,134,163,134,169,134,170,134,139,134,140,134,182,134,175,134,196,134,198,134,176,134,201,134,35,136,171,134,212,134,222,134,233,134,236,134,223,134,219,134,239,134,18,135,6,135,8,135,0,135,3,135,251,134,17,135,9,135,13,135,249,134,10,135,52,135,63,135,55,135,59,135,37,135,41,135,26,135,96,135,95,135,120,135,76,135,78,135,116,135,87,135,104,135,110,135,89,135,83,135,99,135,106,135,5,136,162,135,159,135,130,135,175,135,203,135,189,135,192,135,208,135,214,150,171,135,196,135,179,135,199,135,198,135,187,135,239,135,242,135,224,135,15,136,13,136,254,135,246,135,247,135,14,136,210,135,17,136,22,136,21,136,34,136,33,136,49,136,54,136,57,136,39,136,59,136,68,136,66,136,82,136,89,136,94,136,98,136,107,136,129,136,126,136,158,136,117,136,125,136,181,136,114,136,130,136,151,136,146,136,174,136,153,136,162,136,141,136,164,136,176,136,191,136,177,136,195,136,196,136,212,136,216,136,217,136,221,136,249,136,2,137,252,136,244,136,232,136,242,136,4,137,12,137,10,137,19,137,67,137,30,137,37,137,42,137,43,137,65,137,68,137,59,137,54,137,56,137,76,137,29,137,96,137,94,137,102,137,100,137,109,137,106,137,111,137,116,137,119,137,126,137,131,137,136,137,138,137,147,137,152,137,161,137,169,137,166,137,172,137,175,137,178,137,186,137,189,137,191,137,192,137,218,137,220,137,221,137,231,137,244,137,248,137,3,138,22,138,16,138,12,138,27,138,29,138,37,138,54,138,65,138,91,138,82,138,70,138,72,138,124,138,109,138,108,138,98,138,133,138,130,138,132,138,168,138,161,138,145,138,165,138,166,138,154,138,163,138,196,138,205,138,194,138,218,138,235,138,243,138,231,138,228,138,241,138,20,139,224,138,226,138,247,138,222,138,219,138,12,139,7,139,26,139,225,138,22,139,16,139,23,139,32,139,51,139,171,151,38,139,43,139,62,139,40,139,65,139,76,139,79,139,78,139,73,139,86,139,91,139,90,139,107,139,95,139,108,139,111,139,116,139,125,139,128,139,140,139,142,139,146,139,147,139,150,139,153,139,154,139,58,140,65,140,63,140,72,140,76,140,78,140,80,140,85,140,98,140,108,140,120,140,122,140,130,140,137,140,133,140,138,140,141,140,142,140,148,140,124,140,152,140,29,98,173,140,170,140,189,140,178,140,179,140,174,140,182,140,200,140,193,140,228,140,227,140,218,140,253,140,250,140,251,140,4,141,5,141,10,141,7,141,15,141,13,141,16,141,78,159,19,141,205,140,20,141,22,141,103,141,109,141,113,141,115,141,129,141,153,141,194,141,190,141,186,141,207,141,218,141,214,141,204,141,219,141,203,141,234,141,235,141,223,141,227,141,252,141,8,142,9,142,255,141,29,142,30,142,16,142,31,142,66,142,53,142,48,142,52,142,74,142,71,142,73,142,76,142,80,142,72,142,89,142,100,142,96,142,42,142,99,142,85,142,118,142,114,142,124,142,129,142,135,142,133,142,132,142,139,142,138,142,147,142,145,142,148,142,153,142,170,142,161,142,172,142,176,142,198,142,177,142,190,142,197,142,200,142,203,142,219,142,227,142,252,142,251,142,235,142,254,142,10,143,5,143,21,143,18,143,25,143,19,143,28,143,31,143,27,143,12,143,38,143,51,143,59,143,57,143,69,143,66,143,62,143,76,143,73,143,70,143,78,143,87,143,92,143,98,143,99,143,100,143,156,143,159,143,163,143,173,143,175,143,183,143,218,143,229,143,226,143,234,143,239,143,135,144,244,143,5,144,249,143,250,143,17,144,21,144,33,144,13,144,30,144,22,144,11,144,39,144,54,144,53,144,57,144,248,143,79,144,80,144,81,144,82,144,14,144,73,144,62,144,86,144,88,144,94,144,104,144,111,144,118,144,168,150,114,144,130,144,125,144,129,144,128,144,138,144,137,144,143,144,168,144,175,144,177,144,181,144,226,144,228,144,72,98,219,144,2,145,18,145,25,145,50,145,48,145,74,145,86,145,88,145,99,145,101,145,105,145,115,145,114,145,139,145,137,145,130,145,162,145,171,145,175,145,170,145,181,145,180,145,186,145,192,145,193,145,201,145,203,145,208,145,214,145,223,145,225,145,219,145,252,145,245,145,246,145,30,146,255,145,20,146,44,146,21,146,17,146,94,146,87,146,69,146,73,146,100,146,72,146,149,146,63,146,75,146,80,146,156,146,150,146,147,146,155,146,90,146,207,146,185,146,183,146,233,146,15,147,250,146,68,147,46,147,25,147,34,147,26,147,35,147,58,147,53,147,59,147,92,147,96,147,124,147,110,147,86,147,176,147,172,147,173,147,148,147,185,147,214,147,215,147,232,147,229,147,216,147,195,147,221,147,208,147,200,147,228,147,26,148,20,148,19,148,3,148,7,148,16,148,54,148,43,148,53,148,33,148,58,148,65,148,82,148,68,148,91,148,96,148,98,148,94,148,106,148,41,146,112,148,117,148,119,148,125,148,90,148,124,148,126,148,129,148,127,148,130,149,135,149,138,149,148,149,150,149,152,149,153,149,160,149,168,149,167,149,173,149,188,149,187,149,185,149,190,149,202,149,246,111,195,149,205,149,204,149,213,149,212,149,214,149,220,149,225,149,229,149,226,149,33,150,40,150,46,150,47,150,66,150,76,150,79,150,75,150,119,150,92,150,94,150,93,150,95,150,102,150,114,150,108,150,141,150,152,150,149,150,151,150,170,150,167,150,177,150,178,150,176,150,180,150,182,150,184,150,185,150,206,150,203,150,201,150,205,150,77,137,220,150,13,151,213,150,249,150,4,151,6,151,8,151,19,151,14,151,17,151,15,151,22,151,25,151,36,151,42,151,48,151,57,151,61,151,62,151,68,151,70,151,72,151,66,151,73,151,92,151,96,151,100,151,102,151,104,151,210,82,107,151,113,151,121,151,133,151,124,151,129,151,122,151,134,151,139,151,143,151,144,151,156,151,168,151,166,151,163,151,179,151,180,151,195,151,198,151,200,151,203,151,220,151,237,151,79,159,242,151,223,122,246,151,245,151,15,152,12,152,56,152,36,152,33,152,55,152,61,152,70,152,79,152,75,152,107,152,111,152,112,152,113,152,116,152,115,152,170,152,175,152,177,152,182,152,196,152,195,152,198,152,233,152,235,152,3,153,9,153,18,153,20,153,24,153,33,153,29,153,30,153,36,153,32,153,44,153,46,153,61,153,62,153,66,153,73,153,69,153,80,153,75,153,81,153,82,153,76,153,85,153,151,153,152,153,165,153,173,153,174,153,188,153,223,153,219,153,221,153,216,153,209,153,237,153,238,153,241,153,242,153,251,153,248,153,1,154,15,154,5,154,226,153,25,154,43,154,55,154,69,154,66,154,64,154,67,154,62,154,85,154,77,154,91,154,87,154,95,154,98,154,101,154,100,154,105,154,107,154,106,154,173,154,176,154,188,154,192,154,207,154,209,154,211,154,212,154,222,154,223,154,226,154,227,154,230,154,239,154,235,154,238,154,244,154,241,154,247,154,251,154,6,155,24,155,26,155,31,155,34,155,35,155,37,155,39,155,40,155,41,155,42,155,46,155,47,155,50,155,68,155,67,155,79,155,77,155,78,155,81,155,88,155,116,155,147,155,131,155,145,155,150,155,151,155,159,155,160,155,168,155,180,155,192,155,202,155,185,155,198,155,207,155,209,155,210,155,227,155,226,155,228,155,212,155,225,155,58,156,242,155,241,155,240,155,21,156,20,156,9,156,19,156,12,156,6,156,8,156,18,156,10,156,4,156,46,156,27,156,37,156,36,156,33,156,48,156,71,156,50,156,70,156,62,156,90,156,96,156,103,156,118,156,120,156,231,156,236,156,240,156,9,157,8,157,235,156,3,157,6,157,42,157,38,157,175,157,35,157,31,157,68,157,21,157,18,157,65,157,63,157,62,157,70,157,72,157,93,157,94,157,100,157,81,157,80,157,89,157,114,157,137,157,135,157,171,157,111,157,122,157,154,157,164,157,169,157,178,157,196,157,193,157,187,157,184,157,186,157,198,157,207,157,194,157,217,157,211,157,248,157,230,157,237,157,239,157,253,157,26,158,27,158,30,158,117,158,121,158,125,158,129,158,136,158,139,158,140,158,146,158,149,158,145,158,157,158,165,158,169,158,184,158,170,158,173,158,97,151,204,158,206,158,207,158,208,158,212,158,220,158,222,158,221,158,224,158,229,158,232,158,239,158,244,158,246,158,247,158,249,158,251,158,252,158,253,158,7,159,8,159,183,118,21,159,33,159,44,159,62,159,74,159,82,159,84,159,99,159,95,159,96,159,97,159,102,159,103,159,108,159,106,159,119,159,114,159,118,159,149,159,156,159,160,159,47,88,199,105,89,144,100,116,220,81,153,113,0,0,2,0,56,0,65,0,67,0,1,0,170,170,170,170,170,170,38,141,1,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,72,0,0,0,72,1,0,0,136,103,1,0,136,103,1,0,112,112,1,0,112,112,1,0,108,114,1,0,108,114,1,0,14,141,1,0,25,0,0,0,22,0,0,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,94,249,250,251,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,254,255,50,105,114,84,1,0,192,8,75,21,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,97,0,105,0,113,0,121,0,48,0,129,0,137,0,145,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,147,0,48,0,48,0,48,0,155,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,163,0,171,0,179,0,187,0,195,0,203,0,211,0,219,0,227,0,235,0,243,0,251,0,3,1,11,1,19,1,27,1,35,1,43,1,51,1,59,1,67,1,74,1,82,1,90,1,98,1,106,1,114,1,122,1,130,1,138,1,146,1,154,1,162,1,170,1,178,1,186,1,194,1,202,1,210,1,218,1,226,1,234,1,242,1,250,1,2,2,10,2,18,2,26,2,34,2,42,2,50,2,58,2,66,2,74,2,82,2,90,2,98,2,104,2,112,2,120,2,128,2,136,2,143,2,151,2,159,2,166,2,174,2,181,2,189,2,197,2,205,2,213,2,221,2,229,2,237,2,245,2,253,2,5,3,13,3,21,3,29,3,37,3,45,3,53,3,61,3,69,3,77,3,85,3,93,3,101,3,109,3,117,3,125,3,133,3,141,3,149,3,157,3,165,3,173,3,181,3,189,3,196,3,204,3,212,3,219,3,227,3,235,3,243,3,251,3,3,4,11,4,19,4,27,4,35,4,43,4,51,4,58,4,66,4,74,4,82,4,90,4,98,4,104,4,112,4,120,4,128,4,136,4,144,4,152,4,160,4,168,4,176,4,184,4,192,4,200,4,208,4,216,4,224,4,232,4,240,4,248,4,0,5,8,5,16,5,24,5,32,5,40,5,48,5,56,5,64,5,72,5,80,5,88,5,96,5,104,5,112,5,120,5,127,5,135,5,143,5,151,5,159,5,167,5,175,5,183,5,191,5,199,5,207,5,215,5,223,5,231,5,239,5,247,5,255,5,7,6,15,6,22,6,30,6,38,6,45,6,53,6,61,6,69,6,77,6,85,6,93,6,101,6,109,6,117,6,125,6,133,6,141,6,149,6,157,6,165,6,173,6,181,6,189,6,197,6,205,6,213,6,221,6,229,6,237,6,245,6,253,6,5,7,13,7,21,7,29,7,37,7,45,7,53,7,61,7,69,7,77,7,85,7,93,7,101,7,109,7,117,7,125,7,133,7,141,7,149,7,157,7,165,7,173,7,181,7,189,7,197,7,205,7,212,7,220,7,228,7,236,7,244,7,252,7,4,8,12,8,18,8,26,8,34,8,42,8,50,8,58,8,66,8,74,8,80,8,88,8,96,8,104,8,111,8,119,8,127,8,135,8,142,8,150,8,158,8,166,8,174,8,182,8,190,8,198,8,206,8,214,8,222,8,230,8,238,8,246,8,254,8,6,9,14,9,22,9,30,9,38,9,46,9,53,9,60,9,68,9,76,9,84,9,92,9,100,9,108,9,116,9,124,9,132,9,140,9,147,9,155,9,163,9,171,9,179,9,187,9,195,9,203,9,211,9,219,9,227,9,234,9,240,9,248,9,0,10,8,10,16,10,24,10,32,10,40,10,48,10,56,10,64,10,72,10,80,10,88,10,96,10,104,10,112,10,120,10,128,10,136,10,144,10,152,10,160,10,168,10,175,10,183,10,191,10,199,10,207,10,215,10,223,10,231,10,239,10,247,10,255,10,7,11,15,11,23,11,31,11,39,11,47,11,55,11,62,11,70,11,77,11,85,11,93,11,101,11,109,11,117,11,125,11,133,11,141,11,149,11,157,11,165,11,173,11,181,11,189,11,197,11,205,11,212,11,220,11,227,11,235,11,243,11,251,11,3,12,11,12,19,12,27,12,35,12,43,12,51,12,59,12,67,12,75,12,83,12,91,12,99,12,107,12,115,12,123,12,131,12,139,12,147,12,155,12,163,12,48,0,48,0,48,0,48,0,171,12,178,12,186,12,194,12,202,12,210,12,218,12,226,12,234,12,242,12,250,12,2,13,10,13,18,13,26,13,34,13,42,13,50,13,58,13,66,13,74,13,82,13,90,13,98,13,106,13,114,13,122,13,130,13,138,13,146,13,154,13,162,13,170,13,178,13,185,13,193,13,201,13,209,13,217,13,225,13,233,13,241,13,249,13,1,14,9,14,17,14,24,14,32,14,40,14,48,14,56,14,64,14,72,14,80,14,88,14,96,14,104,14,112,14,120,14,127,14,135,14,142,14,150,14,158,14,166,14,174,14,182,14,190,14,198,14,206,14,214,14,222,14,230,14,238,14,246,14,254,14,6,15,14,15,22,15,30,15,38,15,46,15,54,15,62,15,70,15,78,15,86,15,94,15,102,15,110,15,118,15,126,15,134,15,142,15,150,15,158,15,166,15,174,15,182,15,190,15,48,0,48,0,48,0,48,0,197,15,205,15,213,15,221,15,229,15,237,15,245,15,253,15,48,0,48,0,4,16,12,16,20,16,28,16,36,16,44,16,52,16,60,16,68,16,76,16,84,16,92,16,100,16,108,16,116,16,124,16,132,16,134,16,142,16,150,16,158,16,166,16,174,16,182,16,190,16,198,16,206,16,214,16,222,16,230,16,237,16,243,16,251,16,3,17,11,17,19,17,27,17,35,17,43,17,51,17,59,17,67,17,75,17,82,17,89,17,97,17,105,17,112,17,120,17,128,17,135,17,143,17,151,17,159,17,167,17,175,17,183,17,191,17,48,0,48,0,48,0,48,0,48,0,48,0,194,17,202,17,210,17,218,17,226,17,228,17,236,17,244,17,252,17,4,18,12,18,20,18,28,18,36,18,44,18,52,18,60,18,68,18,76,18,84,18,92,18,100,18,108,18,116,18,124,18,48,0,130,18,138,18,146,18,154,18,162,18,170,18,48,0,176,18,183,18,191,18,199,18,207,18,214,18,222,18,230,18,48,0,236,18,244,18,252,18,3,19,11,19,19,19,26,19,34,19,42,19,50,19,58,19,65,19,73,19,81,19,89,19,48,0,48,0,48,0,96,19,104,19,112,19,120,19,128,19,135,19,142,19,150,19,157,19,165,19,48,0,48,0,173,19,181,19,189,19,197,19,205,19,213,19,221,19,229,19,237,19,243,19,251,19,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,88,0,48,0,48,0,80,0,80,0,80,0,66,21,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,3,20,11,20,19,20,27,20,35,20,43,20,51,20,59,20,67,20,75,20,83,20,91,20,99,20,107,20,115,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,123,20,16,0,131,20,139,20,147,20,155,20,163,20,171,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,179,20,187,20,195,20,203,20,211,20,219,20,227,20,235,20,243,20,251,20,3,21,11,21,19,21,27,21,34,21,42,21,50,21,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,14,0,202,193,14,0,202,226,14,0,202,3,15,0,202,36,15,0,202,69,15,0,202,102,15,0,202,135,15,0,202,168,15,0,202,201,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,13,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,14,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,14,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,200,0,0,0,200,32,63,0,197,162,13,0,192,0,0,0,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,198,129,0,0,198,161,0,0,198,193,0,0,198,225,0,0,198,1,1,0,198,33,1,0,198,65,1,0,198,98,1,0,198,161,1,0,198,194,1,0,198,1,2,0,198,34,2,0,198,97,2,0,198,130,2,0,198,193,2,0,198,226,2,0,198,33,3,0,198,66,3,0,198,129,3,0,198,162,3,0,198,225,3,0,198,2,4,0,198,65,4,0,198,98,4,0,198,161,4,0,198,194,4,0,198,1,5,0,198,34,5,0,198,97,5,0,198,130,5,0,198,193,5,0,198,225,5,0,198,2,6,0,198,65,6,0,198,98,6,0,198,161,6,0,198,194,6,0,198,1,7,0,198,33,7,0,198,65,7,0,198,97,7,0,198,129,7,0,198,161,7,0,198,194,7,0,198,2,8,0,198,65,8,0,198,98,8,0,198,162,8,0,198,225,8,0,198,2,9,0,198,66,9,0,198,129,9,0,198,162,9,0,198,226,9,0,198,33,10,0,198,66,10,0,198,130,10,0,198,193,10,0,198,225,10,0,198,1,11,0,198,33,11,0,198,65,11,0,198,97,11,0,198,129,11,0,198,161,11,0,198,193,11,0,198,225,11,0,198,1,12,0,198,33,12,0,198,65,12,0,198,97,12,0,198,129,12,0,198,161,12,0,198,193,12,0,198,225,12,0,198,1,13,0,198,33,13,0,198,65,13,0,198,97,13,0,198,130,13,0,198,193,13,0,198,225,13,0,198,2,14,0,198,66,14,0,198,130,14,0,198,194,14,0,192,0,0,0,200,0,113,0,200,224,3,1,200,0,87,1,198,66,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,5,5,8,121,5,5,183,121,5,5,10,121,5,5,187,121,5,5,189,121,5,5,12,121,5,5,14,121,5,5,16,121,5,5,195,121,5,5,197,121,5,5,199,121,5,5,201,121,5,5,203,121,5,5,205,121,5,5,52,121,5,5,18,121,5,5,20,121,5,5,22,121,5,5,66,121,5,5,24,121,5,5,26,121,5,5,28,121,5,5,30,121,5,5,32,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,5,5,105,121,5,5,107,121,5,5,109,121,5,5,111,121,5,5,113,121,5,5,115,121,5,5,117,121,5,5,119,121,5,5,121,121,5,5,123,121,5,5,125,121,5,5,127,121,5,5,129,121,5,5,131,121,5,5,133,121,5,5,135,121,5,5,137,121,5,5,139,121,5,5,141,121,5,5,143,121,193,247,101,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,13,5,5,123,13,5,5,122,13,5,5,121,13,192,0,0,0,5,5,0,202,5,5,254,232,192,0,0,0,5,5,37,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,235,5,5,18,231,5,5,190,229,5,5,17,231,5,5,118,226,192,0,0,0,5,5,18,235,5,5,119,236,192,0,0,0,5,5,75,237,5,5,11,226,192,0,0,0,192,0,0,0,5,5,8,227,5,5,76,237,5,5,140,231,5,5,41,238,5,5,172,227,5,5,86,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,231,192,0,0,0,192,0,0,0,5,5,212,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,237,192,0,0,0,192,0,0,0,5,5,234,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,237,5,5,48,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,237,192,0,0,0,5,5,85,227,5,5,180,232,192,0,0,0,5,5,85,230,5,5,80,237,192,0,0,0,192,0,0,0,5,5,81,237,192,0,0,0,192,0,0,0,5,5,82,237,5,5,53,234,192,0,0,0,5,5,173,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,234,192,0,0,0,5,5,5,234,5,5,181,228,5,5,173,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,246,5,5,83,237,5,5,20,231,5,5,84,237,5,5,111,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,228,5,5,226,228,5,5,67,236,192,0,0,0,192,0,0,0,5,5,135,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,236,192,0,0,0,5,5,31,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,227,192,0,0,0,5,5,139,227,192,0,0,0,5,5,85,237,192,0,0,0,192,0,0,0,5,5,86,237,5,5,209,236,192,0,0,0,5,5,117,236,5,5,48,232,5,5,88,237,5,5,6,230,5,5,21,234,192,0,0,0,5,5,91,237,192,0,0,0,192,0,0,0,5,5,26,226,5,5,209,228,192,0,0,0,5,5,208,228,5,5,0,196,192,0,0,0,192,0,0,0,5,5,65,237,5,5,64,237,192,0,0,0,5,5,99,229,5,5,0,127,192,0,0,0,5,5,92,237,5,5,93,237,5,5,94,237,5,5,174,235,5,5,95,237,192,0,0,0,5,5,228,228,5,5,0,197,5,5,236,235,192,0,0,0,5,5,210,227,192,0,0,0,192,0,0,0,5,5,211,227,5,5,212,227,5,5,70,233,5,5,210,236,192,0,0,0,5,5,96,237,192,0,0,0,192,0,0,0,5,5,97,237,192,0,0,0,192,0,0,0,5,5,98,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,230,5,5,88,231,5,5,103,237,192,0,0,0,5,5,101,237,192,0,0,0,5,5,102,237,5,5,174,227,192,0,0,0,192,0,0,0,5,5,83,229,5,5,170,226,192,0,0,0,5,5,100,237,5,5,99,237,5,5,69,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,229,5,5,211,229,5,5,100,232,5,5,104,237,5,5,19,235,5,5,207,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,237,5,5,107,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,232,5,5,247,236,5,5,0,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,237,5,5,120,226,192,0,0,0,5,5,248,227,192,0,0,0,5,5,235,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,228,5,5,108,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,237,5,5,0,169,192,0,0,0,192,0,0,0,5,5,210,228,5,5,100,227,5,5,56,235,5,5,144,234,5,5,175,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,226,192,0,0,0,5,5,144,237,5,5,131,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,234,5,5,111,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,234,192,0,0,0,5,5,248,236,192,0,0,0,5,5,55,231,192,0,0,0,5,5,213,229,192,0,0,0,5,5,7,230,5,5,122,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,233,192,0,0,0,192,0,0,0,5,5,166,232,5,5,115,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,170,5,5,71,233,5,5,135,230,5,5,100,229,5,5,92,236,192,0,0,0,5,5,116,232,192,0,0,0,5,5,121,226,192,0,0,0,5,5,114,237,192,0,0,0,5,5,118,236,5,5,110,237,5,5,112,237,5,5,158,229,5,5,113,237,5,5,39,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,237,5,5,122,237,192,0,0,0,192,0,0,0,5,5,124,226,192,0,0,0,5,5,87,235,5,5,116,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,237,5,5,229,228,192,0,0,0,192,0,0,0,5,5,214,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,227,192,0,0,0,192,0,0,0,5,5,125,237,192,0,0,0,5,5,117,237,192,0,0,0,192,0,0,0,5,5,249,236,192,0,0,0,5,5,8,230,192,0,0,0,5,5,118,237,192,0,0,0,5,5,123,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,237,192,0,0,0,5,5,119,237,192,0,0,0,192,0,0,0,5,5,213,227,192,0,0,0,5,5,0,171,192,0,0,0,192,0,0,0,5,5,214,227,5,5,123,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,239,192,0,0,0,5,5,243,235,5,5,44,235,5,5,230,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,231,5,5,205,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,235,192,0,0,0,192,0,0,0,5,5,76,228,5,5,75,232,5,5,158,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,237,192,0,0,0,5,5,135,237,5,5,133,237,192,0,0,0,192,0,0,0,5,5,128,237,192,0,0,0,192,0,0,0,5,5,85,232,5,5,131,237,192,0,0,0,5,5,134,237,5,5,132,237,192,0,0,0,5,5,121,235,192,0,0,0,5,5,129,237,192,0,0,0,5,5,56,231,192,0,0,0,5,5,237,235,5,5,136,237,5,5,137,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,230,5,5,150,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,234,192,0,0,0,5,5,242,234,5,5,145,237,192,0,0,0,5,5,140,235,192,0,0,0,5,5,112,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,237,5,5,152,237,192,0,0,0,192,0,0,0,5,5,26,232,192,0,0,0,5,5,182,228,192,0,0,0,5,5,92,234,192,0,0,0,5,5,92,243,192,0,0,0,5,5,151,237,5,5,159,233,192,0,0,0,5,5,140,237,192,0,0,0,5,5,232,228,192,0,0,0,192,0,0,0,5,5,231,228,5,5,138,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,230,192,0,0,0,5,5,146,237,192,0,0,0,5,5,139,235,5,5,209,232,5,5,142,237,5,5,133,228,192,0,0,0,5,5,139,237,5,5,147,237,5,5,141,237,5,5,231,236,5,5,148,237,5,5,55,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,228,192,0,0,0,192,0,0,0,5,5,132,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,237,5,5,158,237,5,5,0,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,235,5,5,157,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,237,5,5,160,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,237,192,0,0,0,5,5,72,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,230,192,0,0,0,5,5,76,232,5,5,73,233,5,5,44,228,192,0,0,0,5,5,162,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,227,192,0,0,0,192,0,0,0,5,5,163,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,229,5,5,213,234,5,5,164,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,229,5,5,123,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,237,5,5,170,237,5,5,166,237,5,5,116,229,192,0,0,0,5,5,201,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,237,192,0,0,0,192,0,0,0,5,5,5,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,237,5,5,169,237,192,0,0,0,192,0,0,0,5,5,207,233,192,0,0,0,5,5,68,232,192,0,0,0,5,5,215,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,235,5,5,172,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,237,192,0,0,0,5,5,174,237,192,0,0,0,5,5,22,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,237,5,5,177,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,237,192,0,0,0,5,5,100,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,227,5,5,181,237,5,5,182,237,192,0,0,0,5,5,105,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,230,192,0,0,0,5,5,185,237,5,5,184,237,5,5,183,237,192,0,0,0,5,5,127,237,192,0,0,0,5,5,186,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,230,192,0,0,0,5,5,187,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,237,192,0,0,0,192,0,0,0,5,5,188,237,5,5,191,237,5,5,190,237,192,0,0,0,192,0,0,0,5,5,192,237,5,5,193,237,5,5,0,210,192,0,0,0,5,5,167,228,5,5,79,228,5,5,136,230,5,5,255,232,5,5,216,227,5,5,208,231,5,5,233,228,192,0,0,0,5,5,64,229,5,5,195,237,5,5,34,236,5,5,136,233,192,0,0,0,5,5,9,230,192,0,0,0,5,5,194,237,192,0,0,0,5,5,196,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,233,192,0,0,0,5,5,15,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,237,192,0,0,0,192,0,0,0,5,5,32,234,192,0,0,0,192,0,0,0,5,5,250,231,5,5,199,237,5,5,200,237,5,5,138,234,5,5,234,228,5,5,49,237,5,5,201,237,192,0,0,0,192,0,0,0,5,5,218,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,235,5,5,92,232,5,5,39,228,5,5,119,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,237,192,0,0,0,5,5,203,237,192,0,0,0,192,0,0,0,5,5,4,234,5,5,59,226,192,0,0,0,192,0,0,0,5,5,206,237,5,5,173,229,192,0,0,0,5,5,205,237,5,5,118,229,192,0,0,0,5,5,207,237,5,5,187,245,5,5,208,237,5,5,187,235,5,5,209,237,192,0,0,0,5,5,210,237,5,5,211,237,5,5,21,231,192,0,0,0,5,5,58,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,227,192,0,0,0,5,5,214,237,192,0,0,0,5,5,212,237,5,5,23,236,5,5,213,237,192,0,0,0,5,5,24,235,5,5,215,237,5,5,216,237,5,5,217,237,5,5,161,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,237,5,5,219,237,5,5,220,237,5,5,218,237,5,5,147,229,5,5,222,237,5,5,68,236,5,5,250,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,231,5,5,224,237,5,5,166,230,192,0,0,0,192,0,0,0,5,5,225,237,192,0,0,0,5,5,2,233,5,5,213,236,5,5,162,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,237,5,5,160,250,5,5,249,227,192,0,0,0,192,0,0,0,5,5,227,237,5,5,216,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,230,5,5,162,232,192,0,0,0,5,5,229,237,5,5,6,234,192,0,0,0,192,0,0,0,5,5,230,237,192,0,0,0,192,0,0,0,5,5,231,237,5,5,198,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,237,5,5,219,227,192,0,0,0,5,5,236,233,5,5,86,226,5,5,156,230,192,0,0,0,192,0,0,0,5,5,127,234,5,5,233,237,192,0,0,0,5,5,163,233,192,0,0,0,192,0,0,0,5,5,89,231,5,5,234,237,192,0,0,0,5,5,72,235,5,5,194,231,5,5,26,227,192,0,0,0,5,5,33,227,5,5,235,237,192,0,0,0,192,0,0,0,5,5,237,237,192,0,0,0,192,0,0,0,5,5,78,228,192,0,0,0,192,0,0,0,5,5,236,237,192,0,0,0,192,0,0,0,5,5,11,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,234,5,5,104,235,192,0,0,0,5,5,238,237,192,0,0,0,5,5,176,236,5,5,239,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,237,192,0,0,0,5,5,192,233,192,0,0,0,192,0,0,0,5,5,241,237,192,0,0,0,192,0,0,0,5,5,145,231,5,5,174,229,5,5,136,228,5,5,242,237,5,5,215,229,5,5,65,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,233,5,5,244,237,192,0,0,0,192,0,0,0,5,5,77,232,192,0,0,0,192,0,0,0,5,5,159,229,5,5,245,237,5,5,246,237,5,5,246,231,192,0,0,0,5,5,243,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,237,192,0,0,0,5,5,176,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,229,192,0,0,0,192,0,0,0,5,5,247,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,228,5,5,142,229,5,5,109,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,237,5,5,249,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,235,5,5,22,231,5,5,4,238,5,5,252,226,5,5,252,237,5,5,250,237,5,5,23,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,237,192,0,0,0,5,5,253,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,228,5,5,5,238,5,5,195,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,238,5,5,3,238,192,0,0,0,5,5,2,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,228,5,5,125,226,192,0,0,0,192,0,0,0,5,5,12,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,230,5,5,154,233,5,5,55,229,5,5,9,238,5,5,10,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,236,192,0,0,0,192,0,0,0,5,5,33,237,5,5,12,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,228,192,0,0,0,192,0,0,0,5,5,11,238,192,0,0,0,5,5,199,226,192,0,0,0,192,0,0,0,5,5,13,238,192,0,0,0,5,5,208,235,192,0,0,0,5,5,32,233,192,0,0,0,5,5,94,236,192,0,0,0,5,5,117,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,249,192,0,0,0,192,0,0,0,5,5,208,233,192,0,0,0,5,5,15,238,5,5,34,227,5,5,13,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,230,5,5,16,238,5,5,131,235,5,5,20,238,192,0,0,0,5,5,146,231,5,5,17,238,5,5,6,228,192,0,0,0,5,5,18,238,5,5,35,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,228,5,5,21,238,192,0,0,0,5,5,22,238,192,0,0,0,192,0,0,0,5,5,23,238,5,5,24,238,5,5,73,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,228,5,5,56,236,192,0,0,0,5,5,66,236,5,5,25,234,192,0,0,0,192,0,0,0,5,5,141,235,5,5,25,238,192,0,0,0,5,5,26,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,238,192,0,0,0,5,5,30,238,5,5,29,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,238,5,5,119,226,5,5,198,235,192,0,0,0,5,5,172,229,5,5,32,238,192,0,0,0,192,0,0,0,5,5,33,232,192,0,0,0,192,0,0,0,5,5,204,230,5,5,221,227,192,0,0,0,5,5,33,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,238,192,0,0,0,5,5,35,238,192,0,0,0,5,5,36,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,238,5,5,224,234,5,5,30,228,5,5,0,195,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,233,5,5,38,238,5,5,137,230,192,0,0,0,5,5,209,231,192,0,0,0,5,5,40,238,5,5,39,238,5,5,205,230,5,5,211,228,5,5,42,238,5,5,156,234,192,0,0,0,192,0,0,0,5,5,43,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,234,5,5,90,232,5,5,148,232,5,5,220,227,192,0,0,0,192,0,0,0,5,5,16,234,5,5,181,232,192,0,0,0,5,5,110,234,192,0,0,0,5,5,200,235,192,0,0,0,5,5,45,238,192,0,0,0,5,5,210,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,228,192,0,0,0,192,0,0,0,5,5,46,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,238,5,5,8,226,5,5,0,211,5,5,101,227,192,0,0,0,5,5,78,232,5,5,167,227,5,5,169,236,192,0,0,0,5,5,50,238,5,5,113,226,192,0,0,0,192,0,0,0,5,5,49,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,227,192,0,0,0,192,0,0,0,5,5,51,238,192,0,0,0,5,5,75,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,238,192,0,0,0,5,5,232,236,192,0,0,0,5,5,238,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,228,5,5,53,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,238,5,5,54,238,192,0,0,0,5,5,105,231,5,5,21,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,226,5,5,56,238,192,0,0,0,5,5,57,238,192,0,0,0,192,0,0,0,5,5,169,228,192,0,0,0,192,0,0,0,5,5,58,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,229,5,5,59,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,235,5,5,101,229,5,5,176,227,5,5,95,236,5,5,24,232,5,5,157,234,5,5,107,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,230,192,0,0,0,5,5,86,230,5,5,99,230,192,0,0,0,5,5,194,230,192,0,0,0,5,5,158,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,238,192,0,0,0,5,5,31,226,5,5,25,232,5,5,239,228,5,5,183,228,5,5,29,228,192,0,0,0,192,0,0,0,5,5,66,238,5,5,165,232,5,5,164,232,5,5,223,227,5,5,206,230,5,5,67,238,5,5,65,238,5,5,126,226,5,5,140,232,5,5,38,230,5,5,217,229,5,5,2,226,192,0,0,0,192,0,0,0,5,5,10,227,5,5,56,229,5,5,216,229,192,0,0,0,5,5,68,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,238,192,0,0,0,5,5,159,227,5,5,222,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,229,5,5,158,227,5,5,67,233,5,5,0,225,5,5,209,233,5,5,24,236,5,5,241,228,5,5,177,236,5,5,137,233,5,5,240,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,228,192,0,0,0,5,5,78,238,192,0,0,0,5,5,25,228,5,5,196,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,234,192,0,0,0,192,0,0,0,5,5,77,238,192,0,0,0,5,5,86,227,5,5,72,238,5,5,73,238,5,5,75,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,238,192,0,0,0,5,5,177,227,5,5,107,231,192,0,0,0,5,5,73,235,5,5,74,238,5,5,70,238,5,5,213,228,192,0,0,0,5,5,71,238,192,0,0,0,5,5,26,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,235,192,0,0,0,5,5,76,233,5,5,212,228,5,5,66,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,238,192,0,0,0,192,0,0,0,5,5,253,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,230,192,0,0,0,5,5,100,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,238,5,5,84,238,192,0,0,0,5,5,251,235,192,0,0,0,5,5,81,238,5,5,90,238,5,5,85,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,238,5,5,184,228,5,5,25,236,192,0,0,0,192,0,0,0,5,5,89,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,238,192,0,0,0,5,5,93,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,229,5,5,56,237,192,0,0,0,5,5,82,238,5,5,80,238,5,5,92,238,192,0,0,0,5,5,87,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,238,192,0,0,0,5,5,104,238,5,5,97,238,192,0,0,0,192,0,0,0,5,5,101,238,192,0,0,0,192,0,0,0,5,5,102,238,5,5,98,238,192,0,0,0,192,0,0,0,5,5,131,238,192,0,0,0,192,0,0,0,5,5,153,229,5,5,201,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,238,5,5,0,212,5,5,105,238,192,0,0,0,5,5,0,131,5,5,8,235,5,5,103,238,192,0,0,0,5,5,99,238,192,0,0,0,192,0,0,0,5,5,94,238,5,5,100,238,5,5,120,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,213,5,5,116,238,192,0,0,0,192,0,0,0,5,5,108,238,5,5,109,238,192,0,0,0,5,5,207,230,5,5,227,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,238,5,5,113,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,238,192,0,0,0,192,0,0,0,5,5,112,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,226,192,0,0,0,5,5,102,229,5,5,58,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,238,5,5,164,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,238,192,0,0,0,5,5,0,128,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,238,5,5,91,236,192,0,0,0,5,5,209,230,192,0,0,0,5,5,127,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,238,5,5,117,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,232,192,0,0,0,5,5,118,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,232,5,5,123,238,5,5,208,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,238,192,0,0,0,192,0,0,0,5,5,62,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,228,192,0,0,0,192,0,0,0,5,5,124,238,5,5,125,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,238,5,5,128,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,238,5,5,139,238,192,0,0,0,5,5,135,238,192,0,0,0,5,5,130,238,192,0,0,0,192,0,0,0,5,5,140,238,5,5,247,231,192,0,0,0,192,0,0,0,5,5,142,238,192,0,0,0,5,5,242,228,5,5,132,238,5,5,3,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,238,5,5,129,238,5,5,37,227,192,0,0,0,5,5,102,227,5,5,253,226,5,5,137,238,5,5,133,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,228,5,5,143,238,5,5,141,238,5,5,27,232,5,5,160,227,5,5,224,227,192,0,0,0,5,5,138,238,192,0,0,0,5,5,42,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,238,5,5,145,238,192,0,0,0,5,5,202,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,238,192,0,0,0,5,5,148,238,192,0,0,0,192,0,0,0,5,5,146,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,229,5,5,149,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,238,192,0,0,0,5,5,157,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,238,5,5,154,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,232,192,0,0,0,192,0,0,0,5,5,127,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,238,192,0,0,0,5,5,153,238,5,5,210,230,5,5,15,226,192,0,0,0,192,0,0,0,5,5,156,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,238,192,0,0,0,5,5,40,231,5,5,163,238,192,0,0,0,5,5,161,238,192,0,0,0,5,5,162,238,192,0,0,0,5,5,164,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,231,192,0,0,0,5,5,158,238,192,0,0,0,5,5,159,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,227,192,0,0,0,5,5,169,238,5,5,165,238,5,5,168,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,233,192,0,0,0,5,5,150,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,238,5,5,221,226,192,0,0,0,192,0,0,0,5,5,172,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,238,192,0,0,0,5,5,57,234,192,0,0,0,192,0,0,0,5,5,176,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,238,192,0,0,0,5,5,178,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,238,5,5,182,238,5,5,180,238,5,5,183,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,238,192,0,0,0,192,0,0,0,5,5,187,238,192,0,0,0,5,5,188,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,238,5,5,204,237,192,0,0,0,5,5,106,230,5,5,219,229,192,0,0,0,192,0,0,0,5,5,173,226,192,0,0,0,5,5,0,214,192,0,0,0,192,0,0,0,5,5,200,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,238,192,0,0,0,5,5,84,229,192,0,0,0,5,5,0,173,5,5,104,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,238,5,5,185,228,192,0,0,0,192,0,0,0,5,5,67,229,192,0,0,0,5,5,193,238,5,5,192,238,192,0,0,0,192,0,0,0,5,5,124,235,5,5,194,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,238,5,5,195,238,192,0,0,0,5,5,197,238,192,0,0,0,5,5,198,238,192,0,0,0,5,5,139,228,192,0,0,0,192,0,0,0,5,5,60,226,5,5,199,238,192,0,0,0,192,0,0,0,5,5,201,238,192,0,0,0,5,5,200,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,238,192,0,0,0,192,0,0,0,5,5,156,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,238,5,5,0,147,5,5,143,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,228,192,0,0,0,192,0,0,0,5,5,211,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,238,5,5,206,238,192,0,0,0,192,0,0,0,5,5,208,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,238,192,0,0,0,5,5,148,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,228,192,0,0,0,192,0,0,0,5,5,177,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,238,5,5,210,238,5,5,113,229,5,5,243,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,238,192,0,0,0,192,0,0,0,5,5,85,229,192,0,0,0,5,5,183,232,192,0,0,0,192,0,0,0,5,5,211,238,5,5,62,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,238,192,0,0,0,192,0,0,0,5,5,108,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,238,5,5,216,238,192,0,0,0,5,5,83,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,238,192,0,0,0,5,5,244,228,5,5,216,226,5,5,220,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,238,192,0,0,0,192,0,0,0,5,5,219,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,238,192,0,0,0,192,0,0,0,5,5,223,238,192,0,0,0,192,0,0,0,5,5,224,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,235,192,0,0,0,192,0,0,0,5,5,23,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,238,5,5,227,238,5,5,225,238,192,0,0,0,5,5,229,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,234,192,0,0,0,192,0,0,0,5,5,0,198,5,5,20,235,192,0,0,0,192,0,0,0,5,5,230,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,231,192,0,0,0,192,0,0,0,5,5,39,230,192,0,0,0,5,5,93,234,5,5,104,227,192,0,0,0,5,5,155,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,235,192,0,0,0,5,5,210,233,192,0,0,0,192,0,0,0,5,5,140,228,5,5,117,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,238,5,5,231,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,238,192,0,0,0,192,0,0,0,5,5,77,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,250,5,5,61,226,5,5,143,235,192,0,0,0,192,0,0,0,5,5,24,231,5,5,138,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,229,192,0,0,0,192,0,0,0,5,5,241,238,192,0,0,0,192,0,0,0,5,5,89,235,5,5,243,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,226,5,5,237,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,232,5,5,240,238,192,0,0,0,5,5,165,233,192,0,0,0,192,0,0,0,5,5,139,233,5,5,166,233,5,5,151,234,5,5,49,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,226,192,0,0,0,5,5,120,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,238,192,0,0,0,5,5,234,238,192,0,0,0,192,0,0,0,5,5,90,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,227,192,0,0,0,5,5,243,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,233,192,0,0,0,192,0,0,0,5,5,245,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,235,192,0,0,0,192,0,0,0,5,5,246,238,192,0,0,0,192,0,0,0,5,5,251,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,238,5,5,244,238,5,5,247,238,5,5,249,238,192,0,0,0,192,0,0,0,5,5,86,229,192,0,0,0,192,0,0,0,5,5,101,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,238,192,0,0,0,5,5,201,232,192,0,0,0,192,0,0,0,5,5,175,226,192,0,0,0,5,5,25,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,238,192,0,0,0,5,5,253,238,192,0,0,0,5,5,58,229,192,0,0,0,5,5,255,238,5,5,3,239,5,5,2,239,192,0,0,0,192,0,0,0,5,5,5,239,192,0,0,0,5,5,248,238,5,5,7,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,239,5,5,4,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,229,5,5,91,231,192,0,0,0,5,5,28,232,5,5,8,239,5,5,164,231,5,5,0,203,5,5,100,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,233,192,0,0,0,5,5,10,239,5,5,9,239,5,5,11,239,5,5,12,239,5,5,13,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,235,5,5,15,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,226,5,5,16,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,236,5,5,200,226,192,0,0,0,5,5,48,238,5,5,148,230,5,5,101,232,5,5,17,239,5,5,69,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,236,192,0,0,0,192,0,0,0,5,5,19,239,192,0,0,0,5,5,141,232,192,0,0,0,5,5,121,233,5,5,102,232,5,5,21,235,5,5,20,239,5,5,21,239,5,5,87,226,192,0,0,0,192,0,0,0,5,5,40,230,5,5,22,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,174,5,5,23,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,226,192,0,0,0,192,0,0,0,5,5,105,227,5,5,2,234,5,5,144,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,239,5,5,29,232,5,5,27,239,5,5,84,228,192,0,0,0,192,0,0,0,5,5,213,235,5,5,26,239,192,0,0,0,5,5,167,233,5,5,30,239,192,0,0,0,5,5,29,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,239,192,0,0,0,5,5,31,239,192,0,0,0,192,0,0,0,5,5,88,226,192,0,0,0,5,5,33,239,5,5,211,230,5,5,35,239,5,5,169,232,192,0,0,0,5,5,34,239,192,0,0,0,5,5,79,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,230,5,5,157,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,239,5,5,33,234,5,5,188,234,5,5,43,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,234,192,0,0,0,192,0,0,0,5,5,46,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,227,192,0,0,0,192,0,0,0,5,5,125,236,192,0,0,0,192,0,0,0,5,5,9,236,192,0,0,0,5,5,141,239,192,0,0,0,5,5,38,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,239,192,0,0,0,5,5,107,232,192,0,0,0,192,0,0,0,5,5,178,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,235,192,0,0,0,5,5,122,229,192,0,0,0,192,0,0,0,5,5,212,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,239,192,0,0,0,192,0,0,0,5,5,222,229,192,0,0,0,5,5,221,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,151,5,5,186,228,192,0,0,0,5,5,147,231,5,5,0,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,239,5,5,48,239,192,0,0,0,5,5,45,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,226,5,5,39,227,192,0,0,0,5,5,44,239,192,0,0,0,5,5,31,236,5,5,237,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,134,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,229,192,0,0,0,5,5,0,176,192,0,0,0,5,5,0,129,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,236,192,0,0,0,5,5,54,239,192,0,0,0,5,5,52,239,192,0,0,0,192,0,0,0,5,5,50,239,5,5,59,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,239,5,5,59,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,239,5,5,34,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,234,192,0,0,0,192,0,0,0,5,5,57,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,239,192,0,0,0,5,5,56,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,239,5,5,238,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,239,5,5,67,239,5,5,64,239,192,0,0,0,192,0,0,0,5,5,129,226,5,5,66,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,230,192,0,0,0,5,5,65,239,5,5,141,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,239,5,5,69,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,232,192,0,0,0,5,5,68,239,192,0,0,0,192,0,0,0,5,5,70,239,192,0,0,0,192,0,0,0,5,5,71,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,239,5,5,74,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,227,192,0,0,0,5,5,76,239,5,5,75,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,239,192,0,0,0,5,5,64,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,226,192,0,0,0,5,5,78,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,239,192,0,0,0,5,5,85,239,192,0,0,0,192,0,0,0,5,5,83,239,192,0,0,0,5,5,84,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,229,5,5,86,239,192,0,0,0,192,0,0,0,5,5,246,228,5,5,87,239,192,0,0,0,5,5,10,230,5,5,94,232,192,0,0,0,5,5,88,239,5,5,89,239,5,5,232,229,5,5,247,228,192,0,0,0,5,5,44,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,227,5,5,187,228,5,5,90,239,5,5,240,226,192,0,0,0,192,0,0,0,5,5,91,239,192,0,0,0,5,5,95,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,239,5,5,132,239,192,0,0,0,5,5,93,239,192,0,0,0,5,5,94,239,192,0,0,0,192,0,0,0,5,5,95,239,192,0,0,0,5,5,97,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,239,192,0,0,0,192,0,0,0,5,5,99,239,192,0,0,0,5,5,150,232,192,0,0,0,5,5,3,226,5,5,87,230,5,5,0,160,192,0,0,0,5,5,31,232,5,5,40,227,5,5,35,230,192,0,0,0,5,5,248,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,233,192,0,0,0,5,5,109,230,5,5,41,227,5,5,236,232,5,5,78,233,5,5,0,150,5,5,143,227,5,5,145,235,192,0,0,0,5,5,48,230,192,0,0,0,192,0,0,0,5,5,168,227,5,5,211,231,5,5,42,230,5,5,96,236,5,5,100,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,227,192,0,0,0,5,5,123,229,192,0,0,0,192,0,0,0,5,5,202,226,5,5,63,226,5,5,214,230,5,5,130,226,192,0,0,0,5,5,101,239,5,5,126,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,230,192,0,0,0,192,0,0,0,5,5,82,230,5,5,102,239,5,5,107,227,5,5,242,233,5,5,3,236,5,5,103,239,192,0,0,0,5,5,104,239,192,0,0,0,192,0,0,0,5,5,23,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,239,192,0,0,0,5,5,32,227,5,5,45,228,5,5,105,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,227,192,0,0,0,5,5,60,231,5,5,110,239,5,5,175,229,192,0,0,0,5,5,131,226,5,5,109,239,192,0,0,0,5,5,107,239,5,5,111,239,5,5,108,239,5,5,43,234,5,5,230,241,5,5,61,231,192,0,0,0,5,5,112,239,192,0,0,0,192,0,0,0,5,5,214,236,192,0,0,0,5,5,113,239,192,0,0,0,192,0,0,0,5,5,115,239,192,0,0,0,5,5,4,233,5,5,114,239,192,0,0,0,5,5,139,231,192,0,0,0,5,5,11,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,232,5,5,101,230,192,0,0,0,5,5,51,235,5,5,212,231,192,0,0,0,5,5,59,230,5,5,116,239,5,5,215,230,5,5,117,239,5,5,118,239,5,5,0,177,5,5,96,232,5,5,92,231,192,0,0,0,5,5,119,239,5,5,211,233,5,5,216,230,192,0,0,0,5,5,217,230,192,0,0,0,5,5,120,239,192,0,0,0,192,0,0,0,5,5,213,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,239,192,0,0,0,5,5,122,239,192,0,0,0,5,5,58,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,239,5,5,125,239,5,5,74,230,5,5,54,231,5,5,22,234,5,5,94,231,5,5,214,234,5,5,34,234,5,5,253,227,5,5,126,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,227,5,5,127,239,192,0,0,0,5,5,52,228,192,0,0,0,5,5,239,233,5,5,106,226,192,0,0,0,5,5,225,229,5,5,128,239,5,5,131,239,5,5,130,239,5,5,51,228,192,0,0,0,5,5,129,239,192,0,0,0,5,5,122,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,232,192,0,0,0,5,5,141,233,5,5,54,230,192,0,0,0,192,0,0,0,5,5,32,232,5,5,178,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,239,192,0,0,0,5,5,134,239,5,5,246,233,192,0,0,0,5,5,193,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,239,192,0,0,0,192,0,0,0,5,5,137,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,227,5,5,139,239,192,0,0,0,192,0,0,0,5,5,140,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,232,5,5,92,227,192,0,0,0,5,5,142,239,5,5,2,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,232,192,0,0,0,5,5,241,226,192,0,0,0,192,0,0,0,5,5,144,239,5,5,146,239,5,5,87,227,192,0,0,0,192,0,0,0,5,5,143,239,5,5,145,239,192,0,0,0,5,5,148,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,239,192,0,0,0,5,5,149,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,233,5,5,226,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,226,5,5,151,239,5,5,156,239,192,0,0,0,192,0,0,0,5,5,154,239,192,0,0,0,5,5,147,235,5,5,146,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,239,5,5,160,230,192,0,0,0,5,5,152,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,239,192,0,0,0,192,0,0,0,5,5,154,229,192,0,0,0,192,0,0,0,5,5,163,239,192,0,0,0,192,0,0,0,5,5,164,239,5,5,158,239,5,5,203,226,5,5,159,239,5,5,168,239,5,5,167,239,5,5,166,239,5,5,162,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,239,192,0,0,0,192,0,0,0,5,5,165,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,239,5,5,169,239,192,0,0,0,5,5,171,239,192,0,0,0,5,5,170,236,192,0,0,0,5,5,170,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,231,192,0,0,0,192,0,0,0,5,5,173,239,192,0,0,0,192,0,0,0,5,5,103,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,239,192,0,0,0,192,0,0,0,5,5,175,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,239,192,0,0,0,5,5,177,239,192,0,0,0,192,0,0,0,5,5,176,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,233,5,5,155,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,239,192,0,0,0,5,5,182,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,239,192,0,0,0,192,0,0,0,5,5,252,236,192,0,0,0,5,5,186,239,5,5,183,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,239,192,0,0,0,192,0,0,0,5,5,88,227,5,5,188,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,239,5,5,189,239,192,0,0,0,192,0,0,0,5,5,191,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,239,192,0,0,0,5,5,214,231,5,5,111,230,192,0,0,0,192,0,0,0,5,5,176,230,192,0,0,0,5,5,43,232,192,0,0,0,5,5,249,228,5,5,104,229,5,5,250,228,5,5,198,227,192,0,0,0,192,0,0,0,5,5,193,239,192,0,0,0,192,0,0,0,5,5,105,229,192,0,0,0,192,0,0,0,5,5,188,228,5,5,194,239,5,5,254,235,5,5,67,234,5,5,195,239,192,0,0,0,5,5,251,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,227,192,0,0,0,5,5,171,232,5,5,8,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,229,5,5,25,235,192,0,0,0,192,0,0,0,5,5,159,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,239,5,5,109,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,233,192,0,0,0,192,0,0,0,5,5,198,239,5,5,197,239,5,5,200,239,192,0,0,0,5,5,79,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,229,192,0,0,0,5,5,178,231,192,0,0,0,5,5,121,232,5,5,120,227,192,0,0,0,192,0,0,0,5,5,6,233,192,0,0,0,192,0,0,0,5,5,201,239,5,5,202,239,5,5,27,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,235,192,0,0,0,192,0,0,0,5,5,205,239,192,0,0,0,192,0,0,0,5,5,204,239,5,5,203,239,5,5,59,235,192,0,0,0,5,5,212,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,235,192,0,0,0,5,5,206,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,239,5,5,229,235,192,0,0,0,5,5,207,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,239,192,0,0,0,5,5,134,234,5,5,210,239,5,5,90,235,5,5,211,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,227,5,5,91,235,5,5,47,234,5,5,213,239,5,5,214,239,192,0,0,0,5,5,252,228,5,5,44,227,5,5,215,239,5,5,170,228,5,5,124,236,5,5,97,236,5,5,110,227,5,5,217,239,192,0,0,0,5,5,7,233,192,0,0,0,5,5,253,228,5,5,219,230,192,0,0,0,192,0,0,0,5,5,189,234,192,0,0,0,192,0,0,0,5,5,220,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,233,5,5,149,235,5,5,123,233,192,0,0,0,192,0,0,0,5,5,254,228,192,0,0,0,5,5,26,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,233,5,5,114,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,228,192,0,0,0,5,5,81,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,161,5,5,186,230,5,5,255,228,5,5,127,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,239,5,5,220,239,5,5,81,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,239,5,5,15,237,5,5,35,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,239,5,5,222,239,192,0,0,0,192,0,0,0,5,5,223,226,192,0,0,0,192,0,0,0,5,5,224,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,239,5,5,228,239,192,0,0,0,5,5,226,239,192,0,0,0,5,5,252,234,5,5,221,230,5,5,230,239,5,5,229,239,5,5,225,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,239,5,5,232,239,192,0,0,0,192,0,0,0,5,5,233,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,239,5,5,234,239,192,0,0,0,5,5,235,239,5,5,237,239,192,0,0,0,5,5,64,226,5,5,82,233,5,5,238,239,192,0,0,0,5,5,142,228,5,5,176,226,5,5,54,234,192,0,0,0,5,5,239,239,5,5,29,234,192,0,0,0,5,5,119,235,192,0,0,0,5,5,240,239,5,5,36,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,239,5,5,92,235,5,5,244,239,5,5,74,237,5,5,90,237,192,0,0,0,5,5,30,230,5,5,23,234,5,5,245,239,192,0,0,0,5,5,179,227,5,5,8,233,5,5,0,216,5,5,246,239,5,5,66,235,5,5,2,229,192,0,0,0,192,0,0,0,5,5,212,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,236,5,5,171,228,5,5,190,228,192,0,0,0,5,5,247,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,239,192,0,0,0,5,5,254,239,192,0,0,0,5,5,83,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,233,192,0,0,0,5,5,227,227,5,5,249,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,234,192,0,0,0,5,5,202,232,192,0,0,0,192,0,0,0,5,5,250,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,239,192,0,0,0,5,5,228,227,192,0,0,0,5,5,252,239,192,0,0,0,5,5,253,239,192,0,0,0,192,0,0,0,5,5,255,239,192,0,0,0,5,5,184,233,192,0,0,0,192,0,0,0,5,5,2,240,5,5,3,240,192,0,0,0,5,5,4,240,192,0,0,0,192,0,0,0,5,5,243,239,5,5,242,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,240,5,5,85,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,234,192,0,0,0,192,0,0,0,5,5,124,229,5,5,243,234,5,5,10,233,5,5,9,235,5,5,6,240,192,0,0,0,192,0,0,0,5,5,222,230,5,5,34,226,192,0,0,0,5,5,7,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,240,192,0,0,0,5,5,76,236,192,0,0,0,192,0,0,0,5,5,190,234,192,0,0,0,192,0,0,0,5,5,11,240,5,5,89,226,5,5,148,231,5,5,10,240,5,5,9,240,5,5,86,228,5,5,122,232,192,0,0,0,5,5,15,240,5,5,13,240,192,0,0,0,5,5,12,240,5,5,189,236,5,5,215,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,230,5,5,14,240,5,5,142,233,5,5,138,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,233,5,5,18,240,5,5,17,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,240,192,0,0,0,5,5,19,240,5,5,216,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,240,5,5,58,235,5,5,167,230,192,0,0,0,192,0,0,0,5,5,21,240,5,5,215,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,233,5,5,11,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,233,192,0,0,0,192,0,0,0,5,5,22,240,5,5,129,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,231,192,0,0,0,5,5,232,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,227,5,5,38,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,240,5,5,228,229,5,5,180,235,5,5,181,235,192,0,0,0,192,0,0,0,5,5,90,226,5,5,28,240,192,0,0,0,192,0,0,0,5,5,237,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,240,5,5,27,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,234,192,0,0,0,192,0,0,0,5,5,26,240,192,0,0,0,192,0,0,0,5,5,24,240,192,0,0,0,5,5,76,229,192,0,0,0,5,5,30,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,240,5,5,42,240,5,5,34,240,192,0,0,0,5,5,158,233,192,0,0,0,192,0,0,0,5,5,39,240,5,5,27,235,192,0,0,0,192,0,0,0,5,5,33,240,192,0,0,0,5,5,38,240,5,5,253,236,5,5,229,229,192,0,0,0,192,0,0,0,5,5,123,232,5,5,31,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,227,5,5,41,240,5,5,149,231,5,5,65,226,5,5,35,240,5,5,178,226,5,5,40,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,227,192,0,0,0,5,5,37,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,240,5,5,55,240,5,5,53,240,192,0,0,0,192,0,0,0,5,5,50,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,240,5,5,16,237,192,0,0,0,5,5,51,240,192,0,0,0,192,0,0,0,5,5,230,227,192,0,0,0,5,5,3,229,192,0,0,0,192,0,0,0,5,5,198,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,240,5,5,44,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,240,5,5,32,240,192,0,0,0,5,5,180,226,5,5,52,240,5,5,54,240,5,5,213,232,192,0,0,0,192,0,0,0,5,5,88,229,5,5,114,226,5,5,46,240,5,5,57,240,5,5,56,240,5,5,231,227,192,0,0,0,5,5,79,232,5,5,254,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,228,192,0,0,0,5,5,47,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,240,192,0,0,0,5,5,62,240,5,5,64,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,230,192,0,0,0,5,5,70,240,5,5,84,233,5,5,60,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,240,192,0,0,0,5,5,179,226,192,0,0,0,5,5,66,240,5,5,67,240,192,0,0,0,192,0,0,0,5,5,63,240,5,5,65,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,228,5,5,98,236,192,0,0,0,192,0,0,0,5,5,45,227,192,0,0,0,192,0,0,0,5,5,53,226,5,5,69,240,192,0,0,0,5,5,58,234,5,5,0,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,234,5,5,29,240,5,5,75,240,5,5,79,240,5,5,63,236,192,0,0,0,5,5,72,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,233,5,5,77,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,231,5,5,78,240,5,5,247,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,237,192,0,0,0,5,5,74,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,240,192,0,0,0,5,5,77,229,192,0,0,0,5,5,179,231,192,0,0,0,192,0,0,0,5,5,0,178,5,5,73,240,5,5,71,240,192,0,0,0,5,5,34,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,240,5,5,194,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,232,5,5,92,240,192,0,0,0,5,5,35,232,5,5,87,240,192,0,0,0,5,5,84,240,5,5,85,240,192,0,0,0,5,5,84,230,5,5,88,240,5,5,91,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,240,5,5,113,230,192,0,0,0,5,5,89,240,192,0,0,0,192,0,0,0,5,5,83,240,192,0,0,0,5,5,86,236,5,5,85,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,240,5,5,94,240,5,5,0,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,228,5,5,0,132,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,227,192,0,0,0,5,5,90,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,240,5,5,97,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,240,5,5,104,240,5,5,96,240,5,5,100,240,192,0,0,0,192,0,0,0,5,5,105,240,192,0,0,0,5,5,106,240,192,0,0,0,192,0,0,0,5,5,95,240,5,5,12,230,192,0,0,0,5,5,99,240,5,5,124,232,5,5,4,229,5,5,81,240,5,5,63,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,240,192,0,0,0,5,5,133,235,192,0,0,0,192,0,0,0,5,5,109,240,5,5,110,240,5,5,111,240,192,0,0,0,192,0,0,0,5,5,118,240,192,0,0,0,5,5,117,240,192,0,0,0,192,0,0,0,5,5,247,235,5,5,47,227,192,0,0,0,5,5,115,240,192,0,0,0,5,5,89,228,5,5,204,226,192,0,0,0,192,0,0,0,5,5,112,240,192,0,0,0,192,0,0,0,5,5,206,236,5,5,114,240,5,5,0,180,5,5,116,240,192,0,0,0,5,5,107,240,5,5,113,240,5,5,120,240,5,5,88,228,5,5,108,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,240,192,0,0,0,192,0,0,0,5,5,127,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,232,192,0,0,0,5,5,17,237,5,5,128,240,192,0,0,0,192,0,0,0,5,5,125,240,192,0,0,0,5,5,122,240,192,0,0,0,192,0,0,0,5,5,121,240,5,5,126,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,235,192,0,0,0,192,0,0,0,5,5,212,233,192,0,0,0,5,5,90,228,192,0,0,0,5,5,129,240,5,5,124,240,192,0,0,0,5,5,130,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,240,192,0,0,0,192,0,0,0,5,5,137,240,5,5,89,229,5,5,135,240,5,5,133,240,5,5,132,240,5,5,139,240,5,5,131,240,5,5,141,240,192,0,0,0,192,0,0,0,5,5,181,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,240,192,0,0,0,192,0,0,0,5,5,142,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,233,192,0,0,0,5,5,146,240,192,0,0,0,5,5,144,240,5,5,134,240,5,5,144,228,192,0,0,0,5,5,145,240,192,0,0,0,5,5,149,240,5,5,148,240,5,5,150,240,5,5,147,240,5,5,151,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,240,5,5,153,240,5,5,134,235,192,0,0,0,5,5,155,240,5,5,154,240,5,5,139,230,192,0,0,0,5,5,150,231,5,5,160,226,5,5,182,226,192,0,0,0,5,5,156,240,192,0,0,0,5,5,0,157,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,231,5,5,157,240,192,0,0,0,5,5,200,247,5,5,158,240,5,5,117,228,192,0,0,0,5,5,159,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,240,5,5,144,227,5,5,162,240,192,0,0,0,5,5,163,240,5,5,164,240,5,5,125,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,228,192,0,0,0,192,0,0,0,5,5,59,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,235,5,5,182,230,5,5,165,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,231,5,5,128,248,5,5,192,234,192,0,0,0,5,5,88,230,192,0,0,0,5,5,125,229,5,5,166,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,232,192,0,0,0,5,5,67,235,192,0,0,0,192,0,0,0,5,5,151,232,192,0,0,0,192,0,0,0,5,5,169,240,192,0,0,0,192,0,0,0,5,5,167,240,192,0,0,0,5,5,170,240,192,0,0,0,192,0,0,0,5,5,168,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,235,192,0,0,0,192,0,0,0,5,5,0,149,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,235,192,0,0,0,192,0,0,0,5,5,193,234,192,0,0,0,192,0,0,0,5,5,172,240,192,0,0,0,5,5,175,240,5,5,223,230,5,5,145,227,192,0,0,0,5,5,173,240,5,5,180,240,5,5,224,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,240,5,5,68,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,236,5,5,176,240,5,5,177,240,5,5,181,240,5,5,172,233,5,5,178,240,5,5,5,229,5,5,198,231,192,0,0,0,192,0,0,0,5,5,195,240,5,5,146,234,192,0,0,0,5,5,152,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,234,5,5,10,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,235,192,0,0,0,5,5,184,240,5,5,91,226,5,5,238,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,240,192,0,0,0,192,0,0,0,5,5,184,232,5,5,187,240,5,5,194,240,5,5,189,240,5,5,196,240,5,5,192,240,192,0,0,0,5,5,191,240,5,5,111,234,192,0,0,0,5,5,185,240,5,5,183,226,5,5,183,240,5,5,199,227,5,5,153,232,5,5,179,240,192,0,0,0,192,0,0,0,5,5,182,240,5,5,6,229,5,5,195,231,192,0,0,0,5,5,225,230,5,5,190,240,5,5,82,234,192,0,0,0,192,0,0,0,5,5,200,227,5,5,224,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,226,5,5,43,231,5,5,198,240,5,5,203,240,192,0,0,0,5,5,199,240,192,0,0,0,5,5,145,228,192,0,0,0,5,5,204,240,5,5,176,229,5,5,59,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,230,5,5,186,240,192,0,0,0,5,5,13,230,5,5,201,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,229,5,5,202,240,5,5,0,162,192,0,0,0,192,0,0,0,5,5,197,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,240,5,5,0,133,192,0,0,0,192,0,0,0,5,5,115,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,233,192,0,0,0,192,0,0,0,5,5,178,234,5,5,206,240,5,5,38,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,232,192,0,0,0,192,0,0,0,5,5,185,229,5,5,207,240,192,0,0,0,5,5,209,240,5,5,205,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,235,192,0,0,0,5,5,33,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,235,5,5,60,230,5,5,221,240,192,0,0,0,5,5,220,240,192,0,0,0,192,0,0,0,5,5,130,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,240,5,5,227,230,192,0,0,0,192,0,0,0,5,5,10,234,5,5,49,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,240,192,0,0,0,192,0,0,0,5,5,37,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,230,5,5,217,240,192,0,0,0,192,0,0,0,5,5,226,230,192,0,0,0,5,5,211,240,5,5,216,240,192,0,0,0,192,0,0,0,5,5,83,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,240,192,0,0,0,5,5,53,228,192,0,0,0,192,0,0,0,5,5,245,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,240,5,5,193,236,5,5,126,229,5,5,185,232,5,5,215,240,192,0,0,0,5,5,196,231,192,0,0,0,5,5,7,229,5,5,110,231,5,5,66,226,5,5,4,232,5,5,213,240,5,5,155,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,228,192,0,0,0,5,5,51,233,5,5,219,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,232,192,0,0,0,192,0,0,0,5,5,222,240,192,0,0,0,5,5,224,240,192,0,0,0,192,0,0,0,5,5,93,232,5,5,230,240,192,0,0,0,5,5,225,240,192,0,0,0,192,0,0,0,5,5,227,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,234,5,5,87,233,192,0,0,0,5,5,228,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,236,5,5,49,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,140,192,0,0,0,5,5,226,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,226,192,0,0,0,5,5,229,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,232,192,0,0,0,5,5,240,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,240,192,0,0,0,192,0,0,0,5,5,231,240,5,5,238,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,240,192,0,0,0,5,5,239,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,234,5,5,173,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,240,192,0,0,0,5,5,236,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,240,192,0,0,0,5,5,218,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,240,192,0,0,0,5,5,40,236,192,0,0,0,5,5,138,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,229,5,5,247,240,192,0,0,0,5,5,246,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,233,5,5,248,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,240,192,0,0,0,5,5,45,235,192,0,0,0,5,5,69,234,5,5,177,229,192,0,0,0,5,5,217,231,192,0,0,0,5,5,202,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,226,192,0,0,0,5,5,2,241,5,5,251,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,236,5,5,4,241,192,0,0,0,192,0,0,0,5,5,254,240,192,0,0,0,5,5,255,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,240,192,0,0,0,5,5,188,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,241,192,0,0,0,5,5,252,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,241,5,5,9,241,5,5,105,233,5,5,11,241,192,0,0,0,192,0,0,0,5,5,178,229,5,5,6,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,227,192,0,0,0,192,0,0,0,5,5,12,241,192,0,0,0,5,5,5,241,5,5,16,241,192,0,0,0,5,5,15,241,192,0,0,0,5,5,14,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,241,192,0,0,0,192,0,0,0,5,5,19,241,5,5,29,231,192,0,0,0,5,5,18,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,241,5,5,237,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,241,5,5,23,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,240,5,5,25,241,5,5,13,241,192,0,0,0,192,0,0,0,5,5,231,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,241,5,5,27,241,5,5,29,241,5,5,28,241,5,5,30,241,5,5,184,226,192,0,0,0,5,5,8,229,192,0,0,0,192,0,0,0,5,5,152,235,5,5,151,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,228,192,0,0,0,192,0,0,0,5,5,32,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,241,192,0,0,0,5,5,16,235,192,0,0,0,5,5,181,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,241,5,5,33,241,5,5,84,234,5,5,36,241,5,5,233,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,241,5,5,37,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,227,5,5,196,229,192,0,0,0,192,0,0,0,5,5,248,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,231,192,0,0,0,5,5,39,241,192,0,0,0,5,5,152,231,5,5,106,233,192,0,0,0,5,5,29,235,5,5,40,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,241,5,5,42,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,235,5,5,96,239,5,5,174,231,192,0,0,0,192,0,0,0,5,5,10,235,192,0,0,0,5,5,136,229,192,0,0,0,5,5,195,234,5,5,161,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,233,192,0,0,0,5,5,215,236,192,0,0,0,5,5,44,241,5,5,62,230,192,0,0,0,192,0,0,0,5,5,45,241,192,0,0,0,5,5,0,148,192,0,0,0,192,0,0,0,5,5,10,228,5,5,181,231,192,0,0,0,5,5,30,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,241,5,5,208,229,5,5,203,232,192,0,0,0,5,5,233,229,5,5,65,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,241,192,0,0,0,5,5,153,235,192,0,0,0,192,0,0,0,5,5,83,226,5,5,234,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,241,192,0,0,0,5,5,48,241,5,5,51,241,5,5,207,236,5,5,49,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,231,5,5,52,241,192,0,0,0,192,0,0,0,5,5,88,232,192,0,0,0,192,0,0,0,5,5,53,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,227,192,0,0,0,5,5,55,241,192,0,0,0,5,5,54,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,241,5,5,57,241,5,5,115,227,192,0,0,0,192,0,0,0,5,5,30,234,5,5,186,232,5,5,194,227,5,5,235,229,5,5,41,232,192,0,0,0,192,0,0,0,5,5,168,230,5,5,0,142,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,226,5,5,62,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,229,5,5,61,241,192,0,0,0,192,0,0,0,5,5,91,229,5,5,228,230,192,0,0,0,192,0,0,0,5,5,60,241,192,0,0,0,5,5,229,230,192,0,0,0,5,5,26,236,5,5,90,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,181,5,5,182,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,241,192,0,0,0,192,0,0,0,5,5,153,231,5,5,35,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,230,192,0,0,0,5,5,224,235,5,5,162,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,230,192,0,0,0,5,5,143,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,241,5,5,64,241,5,5,65,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,232,192,0,0,0,192,0,0,0,5,5,97,241,192,0,0,0,5,5,71,241,5,5,14,230,5,5,10,229,5,5,69,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,241,192,0,0,0,5,5,66,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,241,192,0,0,0,192,0,0,0,5,5,189,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,241,5,5,72,241,5,5,77,241,192,0,0,0,192,0,0,0,5,5,78,241,192,0,0,0,5,5,74,241,192,0,0,0,5,5,186,226,5,5,75,241,5,5,76,241,5,5,179,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,235,5,5,94,228,5,5,79,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,231,192,0,0,0,5,5,231,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,227,192,0,0,0,5,5,80,241,5,5,84,241,192,0,0,0,192,0,0,0,5,5,133,226,5,5,81,241,5,5,83,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,241,192,0,0,0,192,0,0,0,5,5,183,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,232,5,5,0,163,5,5,85,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,229,192,0,0,0,192,0,0,0,5,5,135,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,241,5,5,88,241,192,0,0,0,192,0,0,0,5,5,91,241,192,0,0,0,5,5,90,241,192,0,0,0,192,0,0,0,5,5,87,241,192,0,0,0,192,0,0,0,5,5,92,241,192,0,0,0,192,0,0,0,5,5,254,233,192,0,0,0,5,5,89,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,241,192,0,0,0,192,0,0,0,5,5,184,230,5,5,95,241,192,0,0,0,5,5,131,236,5,5,120,234,192,0,0,0,192,0,0,0,5,5,96,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,241,192,0,0,0,192,0,0,0,5,5,99,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,241,192,0,0,0,5,5,254,227,5,5,36,226,5,5,11,229,5,5,101,241,192,0,0,0,5,5,102,241,5,5,189,230,5,5,42,232,192,0,0,0,192,0,0,0,5,5,63,238,5,5,6,232,5,5,5,232,5,5,126,232,5,5,119,229,192,0,0,0,192,0,0,0,5,5,155,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,228,5,5,101,236,192,0,0,0,5,5,154,235,192,0,0,0,5,5,60,235,192,0,0,0,5,5,103,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,229,5,5,35,233,5,5,104,241,5,5,37,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,235,192,0,0,0,5,5,15,233,5,5,105,241,5,5,116,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,241,5,5,107,241,5,5,52,236,192,0,0,0,5,5,252,235,5,5,240,235,5,5,214,235,5,5,179,229,5,5,109,241,192,0,0,0,192,0,0,0,5,5,89,230,192,0,0,0,192,0,0,0,5,5,203,235,192,0,0,0,5,5,111,241,5,5,114,241,5,5,113,241,192,0,0,0,5,5,113,227,192,0,0,0,192,0,0,0,5,5,182,227,192,0,0,0,5,5,110,241,192,0,0,0,5,5,112,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,241,192,0,0,0,192,0,0,0,5,5,131,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,236,5,5,0,167,5,5,144,229,5,5,98,232,192,0,0,0,5,5,75,230,192,0,0,0,192,0,0,0,5,5,31,231,192,0,0,0,192,0,0,0,5,5,118,241,192,0,0,0,192,0,0,0,5,5,144,233,192,0,0,0,5,5,116,241,5,5,81,232,5,5,117,241,5,5,30,231,5,5,55,236,5,5,119,241,5,5,120,241,5,5,160,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,241,192,0,0,0,192,0,0,0,5,5,12,229,192,0,0,0,5,5,85,234,5,5,122,241,5,5,174,233,5,5,59,241,5,5,63,241,192,0,0,0,5,5,165,227,192,0,0,0,5,5,71,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,241,192,0,0,0,5,5,232,230,5,5,162,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,241,192,0,0,0,5,5,216,234,192,0,0,0,5,5,121,241,192,0,0,0,5,5,127,241,5,5,126,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,235,192,0,0,0,5,5,233,236,192,0,0,0,192,0,0,0,5,5,225,235,192,0,0,0,5,5,134,226,5,5,236,229,192,0,0,0,192,0,0,0,5,5,62,237,5,5,129,241,5,5,127,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,241,192,0,0,0,192,0,0,0,5,5,123,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,241,5,5,133,241,192,0,0,0,5,5,135,226,5,5,131,241,5,5,137,241,5,5,143,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,232,192,0,0,0,192,0,0,0,5,5,93,235,192,0,0,0,5,5,145,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,241,5,5,112,234,5,5,185,235,5,5,51,227,192,0,0,0,5,5,223,231,5,5,140,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,233,192,0,0,0,5,5,102,236,192,0,0,0,192,0,0,0,5,5,140,241,5,5,139,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,241,192,0,0,0,5,5,138,241,192,0,0,0,192,0,0,0,5,5,146,241,192,0,0,0,5,5,136,241,192,0,0,0,192,0,0,0,5,5,134,241,192,0,0,0,5,5,142,241,5,5,132,241,192,0,0,0,5,5,240,232,192,0,0,0,5,5,82,236,5,5,52,230,5,5,164,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,229,192,0,0,0,192,0,0,0,5,5,233,235,5,5,217,226,192,0,0,0,192,0,0,0,5,5,50,233,5,5,234,233,5,5,37,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,231,192,0,0,0,192,0,0,0,5,5,156,231,5,5,62,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,241,192,0,0,0,192,0,0,0,5,5,13,229,5,5,22,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,241,5,5,14,227,5,5,156,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,241,192,0,0,0,5,5,219,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,226,5,5,92,229,192,0,0,0,192,0,0,0,5,5,226,226,5,5,127,229,192,0,0,0,192,0,0,0,5,5,151,241,5,5,121,228,5,5,95,228,5,5,175,233,192,0,0,0,192,0,0,0,5,5,149,241,192,0,0,0,5,5,0,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,241,5,5,154,241,192,0,0,0,5,5,3,228,5,5,64,228,192,0,0,0,5,5,52,227,5,5,161,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,241,192,0,0,0,192,0,0,0,5,5,169,229,5,5,235,235,192,0,0,0,5,5,197,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,241,192,0,0,0,5,5,109,226,5,5,159,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,241,5,5,160,241,192,0,0,0,5,5,216,236,192,0,0,0,5,5,167,241,192,0,0,0,5,5,95,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,241,192,0,0,0,5,5,162,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,146,5,5,164,241,192,0,0,0,192,0,0,0,5,5,14,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,241,192,0,0,0,5,5,165,241,192,0,0,0,5,5,161,241,5,5,172,241,192,0,0,0,5,5,233,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,239,5,5,218,228,5,5,180,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,241,192,0,0,0,5,5,88,233,5,5,187,226,5,5,93,229,192,0,0,0,5,5,155,241,192,0,0,0,5,5,171,241,5,5,249,226,192,0,0,0,192,0,0,0,5,5,169,241,5,5,173,241,192,0,0,0,5,5,176,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,227,192,0,0,0,5,5,203,241,192,0,0,0,192,0,0,0,5,5,35,236,5,5,178,241,5,5,117,227,192,0,0,0,5,5,185,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,235,192,0,0,0,5,5,186,241,5,5,188,241,192,0,0,0,5,5,192,241,5,5,180,241,192,0,0,0,5,5,174,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,233,5,5,196,241,5,5,183,241,192,0,0,0,5,5,193,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,231,5,5,197,241,192,0,0,0,192,0,0,0,5,5,155,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,241,5,5,53,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,237,5,5,177,241,192,0,0,0,192,0,0,0,5,5,191,241,5,5,0,182,192,0,0,0,192,0,0,0,5,5,179,241,192,0,0,0,192,0,0,0,5,5,20,236,5,5,184,241,5,5,44,231,5,5,43,233,5,5,174,241,192,0,0,0,192,0,0,0,5,5,190,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,231,5,5,200,241,5,5,11,227,5,5,147,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,241,5,5,181,241,5,5,201,241,192,0,0,0,5,5,194,241,5,5,182,241,192,0,0,0,5,5,198,241,192,0,0,0,5,5,199,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,233,192,0,0,0,5,5,189,241,192,0,0,0,192,0,0,0,5,5,212,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,241,192,0,0,0,5,5,60,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,235,5,5,209,241,5,5,112,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,241,5,5,7,232,192,0,0,0,5,5,206,241,5,5,219,241,5,5,218,241,192,0,0,0,5,5,17,234,5,5,217,241,5,5,12,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,241,5,5,208,241,192,0,0,0,5,5,252,227,5,5,211,241,5,5,169,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,234,5,5,213,241,5,5,255,227,192,0,0,0,5,5,205,241,5,5,207,241,5,5,204,241,192,0,0,0,192,0,0,0,5,5,38,237,5,5,242,226,5,5,210,241,192,0,0,0,192,0,0,0,5,5,220,241,5,5,205,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,226,192,0,0,0,192,0,0,0,5,5,237,241,192,0,0,0,192,0,0,0,5,5,39,237,5,5,240,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,231,5,5,239,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,241,192,0,0,0,192,0,0,0,5,5,252,241,5,5,222,241,192,0,0,0,5,5,241,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,241,192,0,0,0,192,0,0,0,5,5,228,241,5,5,225,241,192,0,0,0,5,5,226,241,192,0,0,0,5,5,234,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,250,192,0,0,0,192,0,0,0,5,5,231,241,5,5,15,229,5,5,44,233,5,5,44,232,5,5,229,241,192,0,0,0,5,5,224,241,192,0,0,0,192,0,0,0,5,5,227,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,236,5,5,228,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,241,5,5,242,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,241,5,5,243,241,192,0,0,0,192,0,0,0,5,5,2,242,192,0,0,0,5,5,254,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,241,192,0,0,0,5,5,52,233,192,0,0,0,5,5,45,232,192,0,0,0,5,5,246,241,192,0,0,0,192,0,0,0,5,5,244,241,192,0,0,0,192,0,0,0,5,5,251,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,242,5,5,211,234,5,5,9,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,242,5,5,7,242,5,5,255,241,192,0,0,0,192,0,0,0,5,5,248,232,192,0,0,0,5,5,244,234,192,0,0,0,5,5,245,241,192,0,0,0,192,0,0,0,5,5,253,241,5,5,234,230,192,0,0,0,5,5,41,236,5,5,19,242,5,5,6,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,228,5,5,93,226,5,5,247,226,192,0,0,0,192,0,0,0,5,5,236,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,230,5,5,11,242,192,0,0,0,5,5,18,242,5,5,103,230,5,5,12,227,192,0,0,0,192,0,0,0,5,5,178,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,242,192,0,0,0,192,0,0,0,5,5,13,242,5,5,17,242,192,0,0,0,192,0,0,0,5,5,234,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,227,5,5,15,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,227,192,0,0,0,5,5,235,233,5,5,14,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,226,5,5,205,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,242,5,5,219,228,192,0,0,0,5,5,20,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,242,192,0,0,0,5,5,24,242,5,5,25,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,242,192,0,0,0,5,5,33,242,192,0,0,0,5,5,168,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,242,192,0,0,0,192,0,0,0,5,5,28,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,242,5,5,30,242,5,5,29,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,242,192,0,0,0,5,5,28,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,242,5,5,49,228,192,0,0,0,192,0,0,0,5,5,34,242,5,5,36,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,234,192,0,0,0,5,5,39,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,242,5,5,40,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,236,5,5,41,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,226,192,0,0,0,5,5,47,242,5,5,123,228,5,5,15,230,192,0,0,0,5,5,11,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,242,5,5,48,242,5,5,51,242,5,5,147,227,192,0,0,0,192,0,0,0,5,5,12,228,5,5,54,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,242,192,0,0,0,5,5,55,242,192,0,0,0,192,0,0,0,5,5,136,226,192,0,0,0,5,5,187,232,192,0,0,0,5,5,56,242,192,0,0,0,192,0,0,0,5,5,55,227,5,5,58,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,242,192,0,0,0,5,5,59,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,242,192,0,0,0,5,5,61,242,5,5,237,229,5,5,157,231,5,5,81,229,192,0,0,0,5,5,46,235,192,0,0,0,192,0,0,0,5,5,126,235,5,5,58,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,229,5,5,10,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,242,5,5,63,242,192,0,0,0,5,5,238,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,242,5,5,65,242,192,0,0,0,192,0,0,0,5,5,67,242,5,5,66,242,192,0,0,0,5,5,210,235,192,0,0,0,192,0,0,0,5,5,170,230,5,5,90,230,5,5,210,229,192,0,0,0,5,5,68,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,242,5,5,45,231,192,0,0,0,5,5,69,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,242,5,5,74,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,242,192,0,0,0,5,5,77,242,5,5,76,242,5,5,78,242,5,5,95,226,5,5,206,232,192,0,0,0,5,5,79,242,192,0,0,0,192,0,0,0,5,5,180,229,5,5,228,226,5,5,80,242,192,0,0,0,192,0,0,0,5,5,132,233,5,5,239,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,227,5,5,81,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,242,192,0,0,0,5,5,136,235,5,5,226,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,233,5,5,83,242,5,5,196,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,234,192,0,0,0,192,0,0,0,5,5,45,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,242,5,5,85,242,192,0,0,0,192,0,0,0,5,5,88,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,229,192,0,0,0,5,5,11,236,192,0,0,0,5,5,91,242,5,5,92,242,192,0,0,0,192,0,0,0,5,5,122,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,242,5,5,94,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,231,192,0,0,0,192,0,0,0,5,5,245,234,5,5,38,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,234,192,0,0,0,5,5,89,233,5,5,141,230,5,5,183,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,234,192,0,0,0,5,5,28,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,242,192,0,0,0,5,5,56,227,192,0,0,0,192,0,0,0,5,5,84,226,192,0,0,0,192,0,0,0,5,5,20,234,5,5,96,242,5,5,16,229,5,5,215,232,192,0,0,0,5,5,98,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,242,192,0,0,0,5,5,99,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,232,192,0,0,0,5,5,184,227,5,5,107,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,228,192,0,0,0,192,0,0,0,5,5,123,227,5,5,105,242,192,0,0,0,192,0,0,0,5,5,103,242,5,5,100,242,5,5,152,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,233,5,5,101,242,192,0,0,0,192,0,0,0,5,5,109,242,192,0,0,0,5,5,108,242,5,5,55,228,192,0,0,0,192,0,0,0,5,5,103,226,192,0,0,0,192,0,0,0,5,5,107,229,5,5,102,242,5,5,104,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,235,5,5,154,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,235,192,0,0,0,192,0,0,0,5,5,117,242,192,0,0,0,192,0,0,0,5,5,118,242,192,0,0,0,5,5,137,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,235,5,5,87,236,5,5,120,242,5,5,17,230,5,5,236,230,5,5,113,242,5,5,119,242,5,5,68,226,192,0,0,0,5,5,235,227,192,0,0,0,192,0,0,0,5,5,110,242,5,5,115,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,231,5,5,113,234,192,0,0,0,5,5,197,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,242,192,0,0,0,5,5,155,235,192,0,0,0,5,5,114,242,192,0,0,0,5,5,123,242,192,0,0,0,5,5,121,242,192,0,0,0,5,5,116,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,235,5,5,72,234,5,5,185,227,192,0,0,0,5,5,103,233,192,0,0,0,192,0,0,0,5,5,241,232,192,0,0,0,5,5,124,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,242,5,5,127,232,5,5,111,242,192,0,0,0,5,5,39,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,236,5,5,135,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,231,192,0,0,0,5,5,131,242,192,0,0,0,5,5,164,236,192,0,0,0,192,0,0,0,5,5,214,233,5,5,125,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,226,5,5,17,229,5,5,128,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,230,5,5,133,242,192,0,0,0,5,5,132,242,5,5,127,242,192,0,0,0,5,5,130,242,192,0,0,0,192,0,0,0,5,5,2,227,192,0,0,0,5,5,129,242,5,5,73,234,192,0,0,0,192,0,0,0,5,5,196,236,192,0,0,0,192,0,0,0,5,5,32,231,5,5,221,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,242,5,5,139,242,192,0,0,0,5,5,11,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,242,5,5,138,242,192,0,0,0,5,5,22,226,192,0,0,0,192,0,0,0,5,5,18,229,5,5,40,237,192,0,0,0,5,5,213,226,192,0,0,0,5,5,32,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,236,192,0,0,0,192,0,0,0,5,5,188,226,5,5,69,231,5,5,140,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,242,192,0,0,0,192,0,0,0,5,5,237,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,236,192,0,0,0,5,5,142,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,242,192,0,0,0,5,5,143,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,236,192,0,0,0,5,5,181,233,5,5,226,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,226,192,0,0,0,192,0,0,0,5,5,49,226,192,0,0,0,192,0,0,0,5,5,149,242,192,0,0,0,192,0,0,0,5,5,152,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,242,5,5,153,242,5,5,150,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,236,5,5,156,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,230,5,5,158,242,192,0,0,0,192,0,0,0,5,5,163,242,192,0,0,0,192,0,0,0,5,5,179,233,5,5,161,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,242,192,0,0,0,192,0,0,0,5,5,188,232,192,0,0,0,192,0,0,0,5,5,162,242,192,0,0,0,5,5,151,242,192,0,0,0,5,5,157,242,192,0,0,0,5,5,164,242,5,5,0,218,5,5,154,242,192,0,0,0,5,5,165,242,192,0,0,0,192,0,0,0,5,5,70,231,192,0,0,0,5,5,171,230,192,0,0,0,5,5,65,235,192,0,0,0,5,5,94,229,192,0,0,0,5,5,146,242,5,5,160,242,5,5,124,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,231,192,0,0,0,5,5,3,227,5,5,129,229,5,5,238,230,5,5,148,242,5,5,142,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,228,192,0,0,0,5,5,147,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,242,5,5,185,230,5,5,172,228,192,0,0,0,5,5,184,242,192,0,0,0,5,5,178,242,5,5,202,227,5,5,145,233,192,0,0,0,5,5,173,242,5,5,182,242,5,5,0,141,5,5,14,226,192,0,0,0,192,0,0,0,5,5,115,226,192,0,0,0,5,5,175,242,5,5,82,232,5,5,166,242,5,5,168,242,5,5,19,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,242,192,0,0,0,5,5,180,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,236,192,0,0,0,192,0,0,0,5,5,177,242,5,5,181,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,228,192,0,0,0,5,5,239,230,192,0,0,0,192,0,0,0,5,5,189,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,242,192,0,0,0,192,0,0,0,5,5,167,242,5,5,180,233,192,0,0,0,192,0,0,0,5,5,170,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,237,5,5,44,230,5,5,248,235,192,0,0,0,5,5,186,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,234,192,0,0,0,192,0,0,0,5,5,198,242,5,5,173,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,230,192,0,0,0,5,5,188,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,236,5,5,20,229,192,0,0,0,5,5,201,242,192,0,0,0,192,0,0,0,5,5,0,204,192,0,0,0,192,0,0,0,5,5,199,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,242,192,0,0,0,192,0,0,0,5,5,195,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,236,5,5,190,242,192,0,0,0,192,0,0,0,5,5,112,233,192,0,0,0,192,0,0,0,5,5,192,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,242,192,0,0,0,5,5,194,242,5,5,33,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,242,192,0,0,0,5,5,16,230,5,5,213,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,227,192,0,0,0,5,5,191,242,5,5,196,242,5,5,197,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,232,5,5,128,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,242,192,0,0,0,192,0,0,0,5,5,211,242,192,0,0,0,192,0,0,0,5,5,209,242,192,0,0,0,5,5,107,233,192,0,0,0,192,0,0,0,5,5,216,242,5,5,206,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,242,5,5,183,242,192,0,0,0,5,5,207,227,5,5,246,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,230,192,0,0,0,192,0,0,0,5,5,73,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,237,192,0,0,0,5,5,203,242,192,0,0,0,5,5,215,242,5,5,69,226,5,5,46,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,234,192,0,0,0,5,5,57,227,5,5,18,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,235,5,5,54,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,242,5,5,212,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,242,5,5,208,242,192,0,0,0,5,5,202,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,242,192,0,0,0,192,0,0,0,5,5,223,242,5,5,224,231,192,0,0,0,192,0,0,0,5,5,251,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,230,192,0,0,0,5,5,232,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,242,5,5,16,233,5,5,222,242,5,5,61,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,242,192,0,0,0,5,5,218,242,192,0,0,0,5,5,227,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,242,5,5,220,242,5,5,226,242,192,0,0,0,5,5,137,231,192,0,0,0,5,5,217,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,242,192,0,0,0,192,0,0,0,5,5,230,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,242,192,0,0,0,5,5,234,242,5,5,236,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,233,192,0,0,0,5,5,233,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,228,5,5,159,232,5,5,231,242,5,5,59,234,192,0,0,0,192,0,0,0,5,5,238,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,242,5,5,241,242,192,0,0,0,192,0,0,0,5,5,244,242,192,0,0,0,192,0,0,0,5,5,247,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,242,5,5,60,229,5,5,40,234,192,0,0,0,192,0,0,0,5,5,144,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,236,5,5,242,242,192,0,0,0,5,5,246,242,5,5,155,232,192,0,0,0,5,5,245,242,192,0,0,0,5,5,224,242,192,0,0,0,192,0,0,0,5,5,12,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,242,192,0,0,0,192,0,0,0,5,5,252,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,242,192,0,0,0,5,5,249,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,242,192,0,0,0,5,5,251,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,235,192,0,0,0,192,0,0,0,5,5,5,243,192,0,0,0,5,5,2,243,5,5,255,242,192,0,0,0,5,5,4,243,5,5,244,233,5,5,6,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,232,5,5,147,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,243,192,0,0,0,5,5,9,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,233,5,5,189,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,230,5,5,130,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,237,5,5,112,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,243,5,5,190,232,5,5,19,243,5,5,14,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,243,5,5,130,233,5,5,0,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,237,192,0,0,0,192,0,0,0,5,5,21,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,243,192,0,0,0,5,5,20,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,243,5,5,78,235,192,0,0,0,5,5,26,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,237,192,0,0,0,192,0,0,0,5,5,33,243,192,0,0,0,5,5,225,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,243,5,5,34,243,192,0,0,0,192,0,0,0,5,5,72,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,243,192,0,0,0,5,5,97,234,5,5,28,243,5,5,31,243,5,5,242,230,192,0,0,0,5,5,175,234,192,0,0,0,192,0,0,0,5,5,35,243,192,0,0,0,5,5,63,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,243,192,0,0,0,5,5,59,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,236,5,5,39,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,233,5,5,46,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,243,192,0,0,0,5,5,235,236,192,0,0,0,5,5,45,243,192,0,0,0,5,5,47,243,5,5,73,226,192,0,0,0,5,5,42,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,238,5,5,49,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,232,5,5,198,229,5,5,51,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,243,5,5,46,231,5,5,64,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,243,192,0,0,0,5,5,37,243,5,5,53,243,192,0,0,0,192,0,0,0,5,5,55,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,243,192,0,0,0,192,0,0,0,5,5,57,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,243,192,0,0,0,5,5,66,233,192,0,0,0,5,5,61,243,5,5,60,243,192,0,0,0,192,0,0,0,5,5,62,243,192,0,0,0,5,5,63,243,192,0,0,0,192,0,0,0,5,5,77,230,5,5,33,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,236,5,5,64,243,5,5,65,243,5,5,30,232,5,5,18,230,5,5,66,243,5,5,67,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,243,5,5,110,235,5,5,165,234,192,0,0,0,192,0,0,0,5,5,69,243,5,5,87,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,243,5,5,161,226,192,0,0,0,5,5,195,227,192,0,0,0,5,5,32,236,192,0,0,0,5,5,16,236,192,0,0,0,5,5,110,226,5,5,42,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,235,192,0,0,0,5,5,70,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,231,192,0,0,0,5,5,71,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,228,5,5,72,243,192,0,0,0,5,5,132,229,5,5,74,243,5,5,73,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,227,192,0,0,0,5,5,78,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,228,192,0,0,0,192,0,0,0,5,5,166,234,192,0,0,0,192,0,0,0,5,5,81,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,231,192,0,0,0,192,0,0,0,5,5,80,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,227,5,5,82,243,5,5,84,243,192,0,0,0,5,5,83,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,243,192,0,0,0,5,5,195,228,192,0,0,0,5,5,86,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,228,192,0,0,0,5,5,8,232,192,0,0,0,5,5,79,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,243,5,5,89,243,5,5,87,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,230,192,0,0,0,192,0,0,0,5,5,232,233,5,5,237,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,243,5,5,176,232,5,5,90,243,192,0,0,0,192,0,0,0,5,5,43,237,5,5,98,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,243,5,5,93,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,236,5,5,95,243,5,5,97,243,192,0,0,0,5,5,218,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,243,5,5,250,232,5,5,45,234,192,0,0,0,192,0,0,0,5,5,151,228,5,5,99,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,243,192,0,0,0,5,5,105,236,5,5,106,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,243,5,5,74,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,229,5,5,240,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,243,5,5,104,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,243,192,0,0,0,5,5,107,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,243,192,0,0,0,5,5,229,226,192,0,0,0,192,0,0,0,5,5,111,243,192,0,0,0,192,0,0,0,5,5,110,243,192,0,0,0,5,5,113,243,5,5,112,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,228,192,0,0,0,192,0,0,0,5,5,190,236,192,0,0,0,5,5,2,228,192,0,0,0,5,5,96,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,236,5,5,115,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,243,192,0,0,0,5,5,139,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,243,192,0,0,0,5,5,199,229,192,0,0,0,192,0,0,0,5,5,37,233,5,5,116,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,243,192,0,0,0,5,5,92,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,228,192,0,0,0,192,0,0,0,5,5,167,234,5,5,120,243,192,0,0,0,192,0,0,0,5,5,147,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,227,192,0,0,0,5,5,123,243,5,5,181,236,192,0,0,0,192,0,0,0,5,5,198,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,232,192,0,0,0,192,0,0,0,5,5,125,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,243,5,5,236,236,5,5,13,228,5,5,218,234,5,5,74,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,243,192,0,0,0,5,5,133,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,243,5,5,220,228,5,5,41,226,5,5,134,243,192,0,0,0,5,5,122,231,5,5,131,243,5,5,242,236,192,0,0,0,192,0,0,0,5,5,137,243,5,5,159,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,243,5,5,138,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,243,5,5,136,243,192,0,0,0,192,0,0,0,5,5,108,229,192,0,0,0,192,0,0,0,5,5,139,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,243,192,0,0,0,5,5,247,234,5,5,149,243,192,0,0,0,192,0,0,0,5,5,28,227,5,5,150,243,192,0,0,0,5,5,151,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,243,192,0,0,0,5,5,154,243,5,5,155,243,5,5,153,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,235,5,5,157,243,5,5,156,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,243,5,5,158,243,5,5,160,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,243,5,5,163,243,5,5,162,243,192,0,0,0,192,0,0,0,5,5,75,229,192,0,0,0,5,5,165,243,192,0,0,0,5,5,164,243,192,0,0,0,192,0,0,0,5,5,61,227,192,0,0,0,5,5,93,231,192,0,0,0,5,5,126,233,192,0,0,0,5,5,166,243,5,5,160,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,229,192,0,0,0,5,5,85,226,5,5,167,243,192,0,0,0,5,5,137,236,192,0,0,0,192,0,0,0,5,5,127,235,5,5,168,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,233,5,5,107,236,5,5,21,229,5,5,71,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,232,5,5,27,238,192,0,0,0,5,5,18,233,5,5,162,226,5,5,169,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,243,192,0,0,0,5,5,175,243,192,0,0,0,192,0,0,0,5,5,173,243,5,5,172,243,5,5,31,241,5,5,190,226,5,5,171,243,192,0,0,0,5,5,0,184,192,0,0,0,5,5,136,234,192,0,0,0,192,0,0,0,5,5,168,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,236,5,5,176,243,5,5,174,243,5,5,224,232,5,5,142,231,192,0,0,0,192,0,0,0,5,5,137,234,192,0,0,0,5,5,233,234,192,0,0,0,5,5,178,243,5,5,194,236,5,5,97,228,5,5,179,243,192,0,0,0,5,5,177,243,5,5,180,234,5,5,180,243,192,0,0,0,5,5,181,243,192,0,0,0,192,0,0,0,5,5,0,185,192,0,0,0,192,0,0,0,5,5,34,231,5,5,186,243,192,0,0,0,5,5,183,243,5,5,15,234,5,5,182,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,227,192,0,0,0,192,0,0,0,5,5,189,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,243,5,5,185,243,192,0,0,0,5,5,188,243,5,5,187,243,5,5,225,234,192,0,0,0,192,0,0,0,5,5,10,232,5,5,9,232,192,0,0,0,5,5,149,227,192,0,0,0,192,0,0,0,5,5,190,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,243,192,0,0,0,192,0,0,0,5,5,192,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,243,192,0,0,0,5,5,193,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,243,5,5,198,234,5,5,196,243,192,0,0,0,5,5,198,243,192,0,0,0,192,0,0,0,5,5,200,243,5,5,72,231,192,0,0,0,192,0,0,0,5,5,201,243,5,5,199,243,5,5,46,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,243,5,5,197,243,192,0,0,0,5,5,254,234,192,0,0,0,5,5,243,230,192,0,0,0,192,0,0,0,5,5,204,243,192,0,0,0,192,0,0,0,5,5,203,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,243,192,0,0,0,5,5,20,230,5,5,95,229,192,0,0,0,192,0,0,0,5,5,185,233,5,5,206,243,192,0,0,0,5,5,47,233,192,0,0,0,192,0,0,0,5,5,208,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,236,5,5,207,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,243,192,0,0,0,5,5,215,243,5,5,216,243,5,5,216,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,243,192,0,0,0,5,5,211,243,192,0,0,0,5,5,209,243,5,5,210,243,192,0,0,0,5,5,212,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,243,192,0,0,0,5,5,217,243,192,0,0,0,5,5,218,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,243,5,5,222,243,5,5,223,243,5,5,224,243,192,0,0,0,5,5,225,243,192,0,0,0,192,0,0,0,5,5,221,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,243,5,5,229,243,5,5,230,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,235,192,0,0,0,5,5,233,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,243,5,5,235,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,243,5,5,236,243,5,5,237,243,5,5,238,243,192,0,0,0,5,5,240,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,243,192,0,0,0,5,5,242,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,243,192,0,0,0,5,5,244,243,192,0,0,0,5,5,141,234,5,5,146,233,5,5,245,243,5,5,114,234,5,5,240,234,192,0,0,0,5,5,246,243,192,0,0,0,192,0,0,0,5,5,247,243,5,5,108,233,192,0,0,0,5,5,191,226,5,5,22,229,5,5,248,243,192,0,0,0,192,0,0,0,5,5,249,243,192,0,0,0,192,0,0,0,5,5,250,243,192,0,0,0,5,5,183,229,192,0,0,0,192,0,0,0,5,5,252,243,192,0,0,0,192,0,0,0,5,5,251,243,192,0,0,0,192,0,0,0,5,5,253,243,5,5,254,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,234,192,0,0,0,5,5,255,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,244,192,0,0,0,192,0,0,0,5,5,134,250,5,5,3,244,5,5,4,244,5,5,5,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,229,192,0,0,0,192,0,0,0,5,5,6,244,5,5,86,234,192,0,0,0,192,0,0,0,5,5,217,235,192,0,0,0,5,5,42,226,192,0,0,0,5,5,51,226,192,0,0,0,192,0,0,0,5,5,7,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,244,5,5,178,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,231,5,5,50,242,192,0,0,0,5,5,10,244,5,5,27,236,192,0,0,0,5,5,11,244,192,0,0,0,5,5,62,227,5,5,181,234,5,5,12,244,192,0,0,0,5,5,13,244,192,0,0,0,192,0,0,0,5,5,14,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,236,192,0,0,0,5,5,34,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,232,192,0,0,0,192,0,0,0,5,5,16,244,192,0,0,0,192,0,0,0,5,5,174,230,192,0,0,0,192,0,0,0,5,5,244,230,192,0,0,0,192,0,0,0,5,5,19,244,192,0,0,0,192,0,0,0,5,5,18,244,5,5,17,244,5,5,219,234,192,0,0,0,5,5,63,227,5,5,155,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,244,192,0,0,0,192,0,0,0,5,5,22,244,5,5,73,231,5,5,12,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,244,5,5,23,244,5,5,24,244,192,0,0,0,192,0,0,0,5,5,20,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,244,5,5,27,244,192,0,0,0,5,5,19,233,192,0,0,0,5,5,91,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,244,5,5,32,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,231,192,0,0,0,5,5,228,233,192,0,0,0,5,5,33,244,5,5,205,235,192,0,0,0,5,5,30,244,192,0,0,0,192,0,0,0,5,5,31,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,244,5,5,34,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,244,192,0,0,0,192,0,0,0,5,5,37,244,192,0,0,0,192,0,0,0,5,5,39,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,244,192,0,0,0,5,5,40,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,230,5,5,220,236,192,0,0,0,192,0,0,0,5,5,42,244,192,0,0,0,192,0,0,0,5,5,215,233,192,0,0,0,192,0,0,0,5,5,43,244,192,0,0,0,192,0,0,0,5,5,44,244,192,0,0,0,5,5,48,244,5,5,46,244,5,5,47,244,192,0,0,0,5,5,45,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,244,192,0,0,0,192,0,0,0,5,5,52,244,5,5,17,236,5,5,53,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,236,5,5,54,244,192,0,0,0,5,5,210,232,192,0,0,0,5,5,106,234,192,0,0,0,5,5,33,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,232,5,5,55,244,5,5,238,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,244,192,0,0,0,5,5,152,228,5,5,133,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,233,5,5,134,229,5,5,164,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,235,192,0,0,0,5,5,75,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,236,5,5,23,229,192,0,0,0,192,0,0,0,5,5,153,228,192,0,0,0,192,0,0,0,5,5,129,234,192,0,0,0,5,5,64,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,244,5,5,90,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,244,5,5,207,226,5,5,63,244,192,0,0,0,192,0,0,0,5,5,200,234,192,0,0,0,5,5,12,226,192,0,0,0,5,5,156,229,192,0,0,0,5,5,72,237,192,0,0,0,192,0,0,0,5,5,67,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,235,192,0,0,0,5,5,193,231,5,5,71,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,226,192,0,0,0,5,5,78,244,192,0,0,0,5,5,77,244,192,0,0,0,192,0,0,0,5,5,21,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,244,5,5,74,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,244,5,5,75,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,234,5,5,73,244,192,0,0,0,192,0,0,0,5,5,76,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,244,5,5,219,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,244,192,0,0,0,192,0,0,0,5,5,0,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,232,192,0,0,0,192,0,0,0,5,5,88,244,5,5,87,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,244,5,5,91,244,5,5,90,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,230,192,0,0,0,5,5,255,236,192,0,0,0,5,5,64,230,192,0,0,0,5,5,92,244,5,5,75,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,227,5,5,125,227,5,5,241,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,236,192,0,0,0,192,0,0,0,5,5,98,244,192,0,0,0,5,5,97,244,5,5,12,232,5,5,94,244,192,0,0,0,192,0,0,0,5,5,96,244,192,0,0,0,192,0,0,0,5,5,151,230,5,5,74,231,5,5,95,244,5,5,93,244,192,0,0,0,5,5,42,234,192,0,0,0,192,0,0,0,5,5,247,230,192,0,0,0,192,0,0,0,5,5,248,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,233,192,0,0,0,192,0,0,0,5,5,99,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,244,5,5,122,244,5,5,14,228,192,0,0,0,192,0,0,0,5,5,51,237,5,5,251,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,244,192,0,0,0,192,0,0,0,5,5,140,226,5,5,91,233,5,5,61,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,227,5,5,103,244,192,0,0,0,192,0,0,0,5,5,105,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,244,192,0,0,0,5,5,41,234,192,0,0,0,192,0,0,0,5,5,107,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,244,5,5,109,244,192,0,0,0,192,0,0,0,5,5,15,228,5,5,141,226,5,5,229,233,5,5,116,230,5,5,242,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,244,192,0,0,0,5,5,117,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,226,5,5,255,234,192,0,0,0,192,0,0,0,5,5,111,244,192,0,0,0,192,0,0,0,5,5,201,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,232,192,0,0,0,5,5,114,244,192,0,0,0,5,5,115,244,5,5,105,234,192,0,0,0,5,5,75,231,5,5,112,244,192,0,0,0,5,5,229,232,192,0,0,0,192,0,0,0,5,5,113,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,244,192,0,0,0,192,0,0,0,5,5,92,233,192,0,0,0,5,5,117,244,5,5,175,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,236,192,0,0,0,192,0,0,0,5,5,223,234,5,5,118,244,5,5,119,244,5,5,217,232,192,0,0,0,5,5,221,236,192,0,0,0,192,0,0,0,5,5,121,244,5,5,120,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,230,192,0,0,0,192,0,0,0,5,5,123,244,5,5,0,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,244,5,5,142,226,5,5,98,228,5,5,125,244,5,5,24,229,5,5,68,229,192,0,0,0,5,5,130,235,5,5,127,244,192,0,0,0,192,0,0,0,5,5,206,235,192,0,0,0,192,0,0,0,5,5,129,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,231,5,5,43,226,5,5,116,226,5,5,0,138,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,244,5,5,131,244,5,5,35,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,244,192,0,0,0,5,5,231,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,228,192,0,0,0,5,5,188,227,192,0,0,0,192,0,0,0,5,5,135,244,5,5,43,228,192,0,0,0,192,0,0,0,5,5,136,244,192,0,0,0,5,5,228,231,192,0,0,0,5,5,237,233,192,0,0,0,5,5,200,231,5,5,165,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,232,5,5,51,232,192,0,0,0,5,5,139,244,5,5,141,244,5,5,138,244,5,5,140,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,244,5,5,58,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,227,5,5,138,236,5,5,144,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,227,5,5,147,244,5,5,146,244,192,0,0,0,5,5,150,244,5,5,143,244,192,0,0,0,5,5,151,244,5,5,191,236,192,0,0,0,5,5,152,244,192,0,0,0,5,5,153,244,192,0,0,0,192,0,0,0,5,5,25,239,5,5,155,244,192,0,0,0,5,5,154,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,244,5,5,157,244,192,0,0,0,5,5,203,236,5,5,158,244,192,0,0,0,5,5,112,249,5,5,249,230,5,5,159,244,5,5,160,244,5,5,163,230,192,0,0,0,5,5,216,233,5,5,161,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,232,192,0,0,0,192,0,0,0,5,5,162,244,192,0,0,0,5,5,192,232,5,5,163,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,227,192,0,0,0,5,5,198,237,5,5,225,232,5,5,33,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,227,192,0,0,0,192,0,0,0,5,5,164,244,192,0,0,0,5,5,177,244,192,0,0,0,5,5,167,244,192,0,0,0,5,5,190,227,192,0,0,0,5,5,166,244,5,5,179,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,244,192,0,0,0,5,5,250,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,244,5,5,170,244,192,0,0,0,5,5,109,233,192,0,0,0,192,0,0,0,5,5,171,244,192,0,0,0,5,5,246,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,231,5,5,34,235,192,0,0,0,5,5,173,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,244,192,0,0,0,5,5,172,244,5,5,174,244,192,0,0,0,192,0,0,0,5,5,171,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,244,5,5,234,234,192,0,0,0,5,5,132,234,5,5,187,233,192,0,0,0,5,5,16,228,5,5,180,244,5,5,178,244,192,0,0,0,5,5,147,234,5,5,175,244,5,5,226,232,5,5,189,233,192,0,0,0,5,5,188,233,192,0,0,0,5,5,166,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,244,192,0,0,0,5,5,185,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,244,192,0,0,0,5,5,189,244,192,0,0,0,5,5,186,244,5,5,187,244,192,0,0,0,192,0,0,0,5,5,184,244,5,5,182,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,235,5,5,143,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,244,192,0,0,0,5,5,193,244,192,0,0,0,5,5,198,244,192,0,0,0,192,0,0,0,5,5,197,244,192,0,0,0,5,5,115,234,5,5,255,235,192,0,0,0,5,5,201,229,5,5,191,244,5,5,200,244,5,5,195,244,192,0,0,0,5,5,194,244,5,5,190,244,192,0,0,0,5,5,192,244,192,0,0,0,5,5,65,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,232,192,0,0,0,192,0,0,0,5,5,229,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,234,192,0,0,0,192,0,0,0,5,5,205,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,231,5,5,202,244,192,0,0,0,192,0,0,0,5,5,173,234,192,0,0,0,5,5,206,244,5,5,111,235,192,0,0,0,5,5,223,232,192,0,0,0,5,5,201,244,5,5,203,244,192,0,0,0,192,0,0,0,5,5,204,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,244,192,0,0,0,192,0,0,0,5,5,50,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,233,5,5,212,244,5,5,211,244,192,0,0,0,192,0,0,0,5,5,208,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,244,192,0,0,0,192,0,0,0,5,5,221,244,5,5,218,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,244,5,5,60,238,5,5,216,244,5,5,210,244,192,0,0,0,192,0,0,0,5,5,219,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,244,192,0,0,0,5,5,66,227,192,0,0,0,5,5,222,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,244,192,0,0,0,192,0,0,0,5,5,224,244,5,5,227,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,244,5,5,212,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,244,5,5,20,237,5,5,137,235,5,5,233,244,192,0,0,0,192,0,0,0,5,5,230,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,244,5,5,186,231,192,0,0,0,5,5,232,244,5,5,234,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,244,192,0,0,0,5,5,238,244,192,0,0,0,5,5,235,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,244,5,5,213,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,244,5,5,239,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,235,192,0,0,0,5,5,241,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,236,192,0,0,0,192,0,0,0,5,5,4,228,5,5,61,228,5,5,242,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,235,192,0,0,0,5,5,114,231,192,0,0,0,5,5,10,236,192,0,0,0,192,0,0,0,5,5,243,244,192,0,0,0,5,5,201,236,192,0,0,0,192,0,0,0,5,5,116,234,192,0,0,0,5,5,14,232,5,5,52,234,192,0,0,0,192,0,0,0,5,5,153,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,158,192,0,0,0,5,5,248,244,5,5,246,244,192,0,0,0,5,5,244,244,5,5,25,227,192,0,0,0,5,5,251,230,5,5,249,244,192,0,0,0,192,0,0,0,5,5,247,244,192,0,0,0,5,5,245,244,5,5,253,244,192,0,0,0,192,0,0,0,5,5,252,244,5,5,251,244,5,5,250,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,244,5,5,162,231,192,0,0,0,5,5,2,245,192,0,0,0,5,5,4,245,192,0,0,0,192,0,0,0,5,5,3,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,233,192,0,0,0,5,5,5,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,245,192,0,0,0,5,5,81,235,5,5,52,232,5,5,25,229,192,0,0,0,5,5,8,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,245,192,0,0,0,192,0,0,0,5,5,11,245,192,0,0,0,5,5,12,245,192,0,0,0,5,5,13,245,192,0,0,0,5,5,243,229,192,0,0,0,5,5,14,245,5,5,99,228,192,0,0,0,192,0,0,0,5,5,192,227,192,0,0,0,5,5,128,227,192,0,0,0,5,5,16,245,192,0,0,0,5,5,77,236,5,5,26,229,5,5,15,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,245,5,5,64,236,192,0,0,0,5,5,60,234,192,0,0,0,192,0,0,0,5,5,239,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,230,5,5,18,245,192,0,0,0,5,5,65,230,5,5,27,229,5,5,244,229,5,5,191,227,5,5,82,235,5,5,17,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,232,5,5,188,235,5,5,167,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,229,5,5,65,233,192,0,0,0,5,5,22,245,5,5,245,236,5,5,137,229,192,0,0,0,5,5,23,245,5,5,76,231,192,0,0,0,5,5,25,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,230,5,5,96,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,245,192,0,0,0,192,0,0,0,5,5,118,230,5,5,176,228,5,5,16,232,5,5,20,245,5,5,26,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,245,5,5,100,228,192,0,0,0,5,5,29,245,5,5,33,245,5,5,127,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,245,192,0,0,0,192,0,0,0,5,5,28,229,192,0,0,0,192,0,0,0,5,5,165,236,5,5,0,154,5,5,34,245,192,0,0,0,192,0,0,0,5,5,193,227,192,0,0,0,5,5,31,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,245,192,0,0,0,192,0,0,0,5,5,191,233,5,5,30,245,5,5,27,245,192,0,0,0,5,5,192,226,5,5,204,231,192,0,0,0,192,0,0,0,5,5,154,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,228,5,5,89,232,5,5,40,245,5,5,54,232,192,0,0,0,192,0,0,0,5,5,53,245,192,0,0,0,192,0,0,0,5,5,49,245,5,5,43,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,245,5,5,104,230,5,5,0,187,5,5,42,245,5,5,50,245,5,5,54,245,5,5,29,229,5,5,48,236,192,0,0,0,5,5,58,233,5,5,44,245,192,0,0,0,192,0,0,0,5,5,52,245,192,0,0,0,5,5,41,245,5,5,194,232,192,0,0,0,5,5,46,245,5,5,0,155,5,5,36,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,245,192,0,0,0,192,0,0,0,5,5,17,228,5,5,202,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,232,192,0,0,0,5,5,230,236,5,5,187,230,192,0,0,0,192,0,0,0,5,5,93,245,192,0,0,0,192,0,0,0,5,5,55,245,192,0,0,0,5,5,230,231,192,0,0,0,5,5,51,245,5,5,56,245,5,5,58,245,192,0,0,0,5,5,93,233,5,5,61,245,192,0,0,0,192,0,0,0,5,5,57,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,235,5,5,67,227,192,0,0,0,192,0,0,0,5,5,37,236,192,0,0,0,192,0,0,0,5,5,0,188,192,0,0,0,192,0,0,0,5,5,60,245,192,0,0,0,5,5,21,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,226,192,0,0,0,192,0,0,0,5,5,14,234,5,5,62,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,245,5,5,63,245,5,5,70,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,234,192,0,0,0,192,0,0,0,5,5,56,230,5,5,68,245,192,0,0,0,5,5,65,245,5,5,71,245,5,5,64,245,192,0,0,0,192,0,0,0,5,5,144,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,235,192,0,0,0,192,0,0,0,5,5,152,230,192,0,0,0,192,0,0,0,5,5,67,245,5,5,79,245,192,0,0,0,192,0,0,0,5,5,75,245,192,0,0,0,5,5,78,245,192,0,0,0,5,5,76,245,5,5,80,245,5,5,74,245,192,0,0,0,5,5,48,245,5,5,187,231,192,0,0,0,192,0,0,0,5,5,169,234,192,0,0,0,5,5,77,245,192,0,0,0,192,0,0,0,5,5,72,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,231,5,5,102,228,192,0,0,0,5,5,119,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,231,5,5,252,231,5,5,83,245,192,0,0,0,192,0,0,0,5,5,85,245,5,5,86,245,192,0,0,0,192,0,0,0,5,5,82,245,5,5,84,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,245,5,5,81,245,192,0,0,0,5,5,89,245,5,5,88,245,192,0,0,0,192,0,0,0,5,5,244,235,192,0,0,0,192,0,0,0,5,5,63,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,245,192,0,0,0,5,5,91,245,5,5,90,245,5,5,94,245,192,0,0,0,5,5,96,245,192,0,0,0,192,0,0,0,5,5,202,229,5,5,92,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,245,5,5,98,245,192,0,0,0,192,0,0,0,5,5,99,245,192,0,0,0,5,5,105,245,5,5,125,233,5,5,101,245,192,0,0,0,5,5,100,245,5,5,102,245,5,5,103,245,192,0,0,0,5,5,104,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,245,5,5,107,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,227,192,0,0,0,5,5,108,245,192,0,0,0,5,5,109,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,245,5,5,112,245,5,5,113,245,192,0,0,0,5,5,114,245,5,5,115,245,192,0,0,0,192,0,0,0,5,5,117,245,5,5,116,245,192,0,0,0,192,0,0,0,5,5,118,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,245,5,5,120,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,245,5,5,121,245,5,5,122,245,5,5,145,229,5,5,103,228,192,0,0,0,192,0,0,0,5,5,218,232,192,0,0,0,5,5,145,234,192,0,0,0,5,5,188,230,192,0,0,0,192,0,0,0,5,5,77,234,192,0,0,0,5,5,203,234,5,5,124,245,5,5,140,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,245,5,5,127,245,192,0,0,0,5,5,157,236,5,5,126,245,5,5,129,245,5,5,128,245,192,0,0,0,5,5,139,236,192,0,0,0,5,5,130,245,192,0,0,0,5,5,220,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,245,192,0,0,0,192,0,0,0,5,5,133,245,5,5,132,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,245,5,5,70,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,231,5,5,151,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,245,5,5,136,245,192,0,0,0,192,0,0,0,5,5,137,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,245,192,0,0,0,5,5,141,245,5,5,138,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,245,5,5,144,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,245,192,0,0,0,5,5,154,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,230,192,0,0,0,5,5,147,245,5,5,146,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,231,5,5,148,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,245,192,0,0,0,192,0,0,0,5,5,150,245,192,0,0,0,5,5,93,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,227,192,0,0,0,192,0,0,0,5,5,151,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,245,192,0,0,0,5,5,215,235,5,5,155,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,236,5,5,45,237,192,0,0,0,5,5,31,229,5,5,155,245,5,5,66,230,5,5,154,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,245,5,5,23,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,232,192,0,0,0,5,5,157,245,192,0,0,0,192,0,0,0,5,5,30,229,192,0,0,0,5,5,49,236,5,5,158,245,5,5,159,245,192,0,0,0,192,0,0,0,5,5,160,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,230,192,0,0,0,192,0,0,0,5,5,71,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,245,192,0,0,0,5,5,195,232,192,0,0,0,5,5,163,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,231,192,0,0,0,5,5,168,245,192,0,0,0,5,5,169,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,235,5,5,170,245,192,0,0,0,5,5,55,232,5,5,171,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,237,5,5,175,245,192,0,0,0,5,5,174,245,5,5,173,245,5,5,20,233,192,0,0,0,5,5,176,245,5,5,48,231,192,0,0,0,5,5,177,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,245,5,5,46,237,5,5,179,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,245,5,5,182,245,5,5,181,245,5,5,131,234,192,0,0,0,5,5,27,234,192,0,0,0,5,5,52,237,5,5,135,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,245,192,0,0,0,192,0,0,0,5,5,253,230,192,0,0,0,5,5,230,234,192,0,0,0,5,5,185,245,5,5,183,245,192,0,0,0,5,5,70,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,228,5,5,246,229,192,0,0,0,192,0,0,0,5,5,204,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,228,5,5,189,235,192,0,0,0,5,5,188,245,5,5,186,245,192,0,0,0,5,5,32,229,192,0,0,0,5,5,33,229,5,5,0,199,192,0,0,0,5,5,152,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,189,5,5,193,245,192,0,0,0,5,5,196,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,234,192,0,0,0,5,5,129,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,245,192,0,0,0,192,0,0,0,5,5,191,245,5,5,194,245,5,5,189,245,192,0,0,0,5,5,192,245,5,5,160,235,192,0,0,0,192,0,0,0,5,5,199,228,192,0,0,0,192,0,0,0,5,5,0,219,5,5,190,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,245,192,0,0,0,5,5,198,245,192,0,0,0,192,0,0,0,5,5,217,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,245,5,5,61,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,229,192,0,0,0,192,0,0,0,5,5,240,227,5,5,176,231,5,5,60,237,5,5,8,236,5,5,196,245,5,5,188,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,227,5,5,199,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,245,192,0,0,0,5,5,170,232,192,0,0,0,5,5,62,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,245,192,0,0,0,192,0,0,0,5,5,95,231,192,0,0,0,5,5,35,235,5,5,208,245,192,0,0,0,5,5,207,245,5,5,34,229,5,5,73,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,245,5,5,213,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,230,192,0,0,0,192,0,0,0,5,5,211,245,192,0,0,0,5,5,74,229,5,5,210,245,192,0,0,0,192,0,0,0,5,5,214,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,233,5,5,62,235,5,5,233,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,232,5,5,218,245,192,0,0,0,5,5,219,245,5,5,215,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,245,192,0,0,0,5,5,217,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,245,192,0,0,0,5,5,221,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,235,192,0,0,0,5,5,230,235,5,5,228,234,192,0,0,0,192,0,0,0,5,5,220,245,192,0,0,0,192,0,0,0,5,5,223,245,5,5,222,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,235,5,5,226,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,245,192,0,0,0,192,0,0,0,5,5,253,231,192,0,0,0,5,5,228,245,192,0,0,0,192,0,0,0,5,5,230,245,192,0,0,0,5,5,234,245,192,0,0,0,192,0,0,0,5,5,231,245,5,5,229,245,5,5,63,234,5,5,232,245,192,0,0,0,5,5,233,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,226,192,0,0,0,5,5,240,245,5,5,235,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,245,192,0,0,0,5,5,71,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,245,5,5,238,245,5,5,241,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,245,5,5,243,245,192,0,0,0,192,0,0,0,5,5,77,231,192,0,0,0,5,5,163,226,192,0,0,0,5,5,244,245,5,5,237,236,192,0,0,0,5,5,25,230,192,0,0,0,192,0,0,0,5,5,121,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,229,5,5,219,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,245,5,5,246,245,5,5,13,226,192,0,0,0,5,5,247,245,192,0,0,0,192,0,0,0,5,5,248,245,5,5,249,245,192,0,0,0,192,0,0,0,5,5,250,245,192,0,0,0,5,5,251,245,5,5,241,227,5,5,7,241,5,5,252,245,192,0,0,0,5,5,205,231,5,5,253,245,5,5,57,230,192,0,0,0,5,5,254,245,192,0,0,0,5,5,89,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,245,5,5,122,235,5,5,84,227,192,0,0,0,192,0,0,0,5,5,234,231,5,5,164,230,192,0,0,0,5,5,47,235,5,5,122,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,246,5,5,36,229,5,5,3,246,5,5,170,234,192,0,0,0,5,5,17,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,246,192,0,0,0,5,5,111,232,5,5,117,234,5,5,177,228,5,5,4,246,5,5,235,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,246,5,5,7,246,5,5,10,246,192,0,0,0,192,0,0,0,5,5,9,246,192,0,0,0,5,5,11,246,192,0,0,0,192,0,0,0,5,5,13,246,192,0,0,0,5,5,12,246,192,0,0,0,5,5,71,227,192,0,0,0,5,5,14,246,192,0,0,0,5,5,15,246,5,5,16,246,192,0,0,0,192,0,0,0,5,5,97,229,5,5,223,236,192,0,0,0,5,5,18,246,5,5,49,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,226,5,5,19,246,5,5,20,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,208,192,0,0,0,5,5,22,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,230,192,0,0,0,5,5,25,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,226,5,5,0,144,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,246,5,5,27,246,5,5,78,234,192,0,0,0,5,5,78,231,192,0,0,0,5,5,144,226,192,0,0,0,5,5,161,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,228,5,5,18,228,192,0,0,0,5,5,26,246,192,0,0,0,5,5,164,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,226,5,5,31,246,5,5,2,237,5,5,131,232,192,0,0,0,192,0,0,0,5,5,2,235,192,0,0,0,5,5,43,246,192,0,0,0,5,5,145,226,5,5,41,246,192,0,0,0,5,5,39,246,5,5,30,246,192,0,0,0,5,5,28,246,192,0,0,0,5,5,29,246,192,0,0,0,5,5,81,230,5,5,34,228,5,5,251,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,226,192,0,0,0,5,5,33,246,5,5,32,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,246,5,5,34,246,5,5,37,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,236,5,5,36,246,5,5,146,226,5,5,23,227,5,5,40,246,192,0,0,0,192,0,0,0,5,5,42,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,246,5,5,55,246,5,5,56,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,137,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,207,192,0,0,0,192,0,0,0,5,5,54,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,246,192,0,0,0,5,5,48,246,5,5,47,246,192,0,0,0,5,5,45,246,5,5,44,246,5,5,231,232,192,0,0,0,5,5,161,232,5,5,50,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,232,5,5,105,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,226,5,5,51,246,192,0,0,0,5,5,37,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,246,192,0,0,0,5,5,70,246,192,0,0,0,5,5,147,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,226,5,5,67,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,246,192,0,0,0,5,5,65,246,192,0,0,0,5,5,72,246,5,5,66,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,246,192,0,0,0,192,0,0,0,5,5,62,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,227,5,5,60,246,5,5,71,246,192,0,0,0,5,5,61,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,246,192,0,0,0,5,5,59,246,5,5,124,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,227,192,0,0,0,5,5,19,228,192,0,0,0,5,5,77,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,226,192,0,0,0,192,0,0,0,5,5,254,230,192,0,0,0,5,5,80,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,229,192,0,0,0,192,0,0,0,5,5,147,233,5,5,85,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,235,192,0,0,0,5,5,76,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,226,5,5,200,228,5,5,229,234,5,5,86,246,192,0,0,0,5,5,74,246,192,0,0,0,192,0,0,0,5,5,83,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,246,192,0,0,0,5,5,78,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,246,5,5,218,233,192,0,0,0,192,0,0,0,5,5,84,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,246,5,5,162,235,5,5,87,246,5,5,0,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,246,192,0,0,0,5,5,88,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,234,5,5,95,246,192,0,0,0,5,5,106,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,246,192,0,0,0,192,0,0,0,5,5,91,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,246,5,5,166,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,246,192,0,0,0,192,0,0,0,5,5,141,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,235,5,5,111,246,5,5,193,233,192,0,0,0,192,0,0,0,5,5,0,143,192,0,0,0,192,0,0,0,5,5,104,246,192,0,0,0,5,5,100,246,5,5,58,232,5,5,94,246,5,5,102,246,5,5,107,246,192,0,0,0,5,5,44,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,136,192,0,0,0,5,5,99,246,192,0,0,0,5,5,108,246,5,5,54,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,246,192,0,0,0,5,5,98,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,236,192,0,0,0,192,0,0,0,5,5,5,235,192,0,0,0,192,0,0,0,5,5,114,246,192,0,0,0,5,5,123,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,231,5,5,112,246,192,0,0,0,5,5,117,246,5,5,59,232,192,0,0,0,192,0,0,0,5,5,113,246,192,0,0,0,5,5,120,246,192,0,0,0,192,0,0,0,5,5,227,232,192,0,0,0,5,5,121,246,192,0,0,0,192,0,0,0,5,5,142,236,5,5,110,246,5,5,208,226,192,0,0,0,5,5,116,246,192,0,0,0,192,0,0,0,5,5,119,246,5,5,6,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,246,192,0,0,0,192,0,0,0,5,5,115,246,5,5,118,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,235,192,0,0,0,5,5,23,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,246,192,0,0,0,192,0,0,0,5,5,125,246,5,5,49,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,235,192,0,0,0,5,5,250,235,5,5,132,246,5,5,131,246,192,0,0,0,5,5,127,246,5,5,128,246,192,0,0,0,5,5,18,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,246,192,0,0,0,5,5,124,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,246,5,5,0,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,235,192,0,0,0,192,0,0,0,5,5,134,246,5,5,138,246,192,0,0,0,5,5,183,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,246,5,5,2,231,5,5,55,230,5,5,140,246,192,0,0,0,192,0,0,0,5,5,242,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,246,192,0,0,0,5,5,55,235,5,5,136,246,192,0,0,0,5,5,97,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,237,5,5,194,233,5,5,49,235,192,0,0,0,192,0,0,0,5,5,148,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,246,192,0,0,0,5,5,142,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,234,192,0,0,0,192,0,0,0,5,5,152,246,5,5,144,246,192,0,0,0,5,5,146,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,246,5,5,145,246,192,0,0,0,192,0,0,0,5,5,149,246,192,0,0,0,192,0,0,0,5,5,78,226,192,0,0,0,5,5,7,234,192,0,0,0,5,5,150,246,5,5,153,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,246,192,0,0,0,5,5,236,231,192,0,0,0,5,5,147,246,5,5,181,229,5,5,79,231,5,5,68,228,5,5,78,236,192,0,0,0,5,5,83,236,5,5,190,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,246,5,5,158,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,236,192,0,0,0,5,5,159,246,5,5,161,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,246,5,5,163,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,233,5,5,164,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,234,5,5,151,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,230,192,0,0,0,5,5,166,246,5,5,171,246,5,5,60,232,192,0,0,0,192,0,0,0,5,5,170,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,246,5,5,17,232,192,0,0,0,192,0,0,0,5,5,167,246,5,5,169,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,246,192,0,0,0,192,0,0,0,5,5,42,242,5,5,27,242,192,0,0,0,192,0,0,0,5,5,174,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,236,192,0,0,0,5,5,15,244,5,5,175,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,246,5,5,201,228,192,0,0,0,5,5,170,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,246,5,5,228,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,227,192,0,0,0,5,5,208,236,192,0,0,0,5,5,41,228,5,5,180,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,234,192,0,0,0,5,5,0,152,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,226,5,5,187,246,5,5,188,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,246,192,0,0,0,5,5,203,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,246,5,5,66,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,246,5,5,186,246,5,5,196,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,246,5,5,193,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,246,192,0,0,0,5,5,192,246,5,5,70,230,192,0,0,0,5,5,194,246,192,0,0,0,5,5,197,232,192,0,0,0,5,5,106,228,5,5,218,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,226,192,0,0,0,5,5,202,246,192,0,0,0,192,0,0,0,5,5,198,246,5,5,201,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,246,192,0,0,0,192,0,0,0,5,5,200,246,5,5,6,235,5,5,184,234,5,5,203,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,232,5,5,213,246,192,0,0,0,5,5,209,246,192,0,0,0,192,0,0,0,5,5,165,226,192,0,0,0,5,5,207,246,192,0,0,0,5,5,164,235,5,5,208,246,192,0,0,0,192,0,0,0,5,5,205,246,192,0,0,0,5,5,206,246,5,5,211,246,5,5,214,246,192,0,0,0,192,0,0,0,5,5,212,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,246,5,5,204,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,232,192,0,0,0,5,5,221,246,192,0,0,0,5,5,4,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,246,192,0,0,0,192,0,0,0,5,5,217,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,231,192,0,0,0,5,5,47,237,5,5,225,246,192,0,0,0,5,5,226,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,246,192,0,0,0,5,5,52,231,192,0,0,0,5,5,228,246,192,0,0,0,5,5,231,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,246,5,5,222,246,192,0,0,0,192,0,0,0,5,5,233,246,192,0,0,0,192,0,0,0,5,5,150,226,192,0,0,0,5,5,229,246,192,0,0,0,5,5,234,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,246,192,0,0,0,5,5,23,233,192,0,0,0,5,5,224,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,234,192,0,0,0,192,0,0,0,5,5,238,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,246,192,0,0,0,192,0,0,0,5,5,236,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,236,5,5,250,246,192,0,0,0,5,5,241,246,192,0,0,0,192,0,0,0,5,5,242,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,246,192,0,0,0,5,5,249,246,5,5,248,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,246,192,0,0,0,5,5,6,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,246,192,0,0,0,192,0,0,0,5,5,252,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,247,5,5,4,247,192,0,0,0,5,5,194,226,192,0,0,0,5,5,152,227,192,0,0,0,192,0,0,0,5,5,2,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,246,5,5,5,247,5,5,254,246,192,0,0,0,5,5,7,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,247,5,5,8,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,247,5,5,10,247,5,5,195,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,247,192,0,0,0,192,0,0,0,5,5,14,247,192,0,0,0,5,5,16,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,228,192,0,0,0,5,5,18,247,192,0,0,0,5,5,17,247,192,0,0,0,5,5,124,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,229,5,5,126,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,247,5,5,157,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,226,192,0,0,0,5,5,20,247,192,0,0,0,5,5,46,226,192,0,0,0,5,5,3,231,5,5,21,247,192,0,0,0,192,0,0,0,5,5,39,229,5,5,22,247,5,5,0,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,234,192,0,0,0,192,0,0,0,5,5,23,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,231,192,0,0,0,5,5,30,247,192,0,0,0,192,0,0,0,5,5,27,247,192,0,0,0,5,5,243,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,247,5,5,25,247,5,5,20,228,192,0,0,0,5,5,24,247,5,5,31,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,228,192,0,0,0,192,0,0,0,5,5,132,232,192,0,0,0,5,5,37,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,232,5,5,32,247,192,0,0,0,5,5,35,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,247,192,0,0,0,5,5,38,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,234,192,0,0,0,192,0,0,0,5,5,34,247,192,0,0,0,5,5,39,247,5,5,41,247,192,0,0,0,192,0,0,0,5,5,197,228,5,5,29,247,192,0,0,0,5,5,0,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,247,192,0,0,0,5,5,139,229,5,5,14,237,5,5,42,247,5,5,43,247,5,5,61,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,247,5,5,109,236,192,0,0,0,192,0,0,0,5,5,45,247,5,5,46,247,192,0,0,0,192,0,0,0,5,5,128,235,5,5,47,247,192,0,0,0,5,5,112,229,192,0,0,0,5,5,185,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,247,5,5,4,231,5,5,51,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,236,5,5,48,247,192,0,0,0,192,0,0,0,5,5,50,247,5,5,165,231,5,5,136,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,247,192,0,0,0,5,5,54,247,192,0,0,0,192,0,0,0,5,5,63,235,192,0,0,0,192,0,0,0,5,5,56,247,192,0,0,0,5,5,55,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,227,192,0,0,0,5,5,165,235,5,5,57,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,247,5,5,59,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,247,5,5,62,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,247,192,0,0,0,5,5,67,247,192,0,0,0,192,0,0,0,5,5,65,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,247,192,0,0,0,5,5,58,247,5,5,64,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,247,5,5,56,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,247,5,5,21,228,5,5,70,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,247,192,0,0,0,5,5,72,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,247,192,0,0,0,192,0,0,0,5,5,74,247,192,0,0,0,5,5,76,247,192,0,0,0,192,0,0,0,5,5,125,230,192,0,0,0,5,5,77,247,192,0,0,0,192,0,0,0,5,5,78,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,247,5,5,166,231,192,0,0,0,5,5,143,236,192,0,0,0,5,5,80,247,192,0,0,0,192,0,0,0,5,5,64,235,5,5,70,234,5,5,81,247,192,0,0,0,5,5,82,247,5,5,157,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,247,192,0,0,0,192,0,0,0,5,5,249,229,5,5,65,234,5,5,84,247,192,0,0,0,5,5,232,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,247,5,5,175,236,192,0,0,0,5,5,86,247,5,5,80,231,192,0,0,0,5,5,88,247,192,0,0,0,192,0,0,0,5,5,89,247,192,0,0,0,192,0,0,0,5,5,90,247,5,5,73,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,247,192,0,0,0,192,0,0,0,5,5,92,247,192,0,0,0,5,5,93,247,5,5,94,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,247,192,0,0,0,5,5,96,247,5,5,97,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,226,192,0,0,0,192,0,0,0,5,5,50,231,5,5,98,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,228,192,0,0,0,5,5,95,233,5,5,101,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,228,192,0,0,0,5,5,96,231,192,0,0,0,5,5,104,247,192,0,0,0,5,5,196,233,192,0,0,0,5,5,103,247,192,0,0,0,192,0,0,0,5,5,69,228,192,0,0,0,192,0,0,0,5,5,102,247,5,5,157,232,5,5,131,227,192,0,0,0,192,0,0,0,5,5,105,247,192,0,0,0,5,5,106,247,192,0,0,0,5,5,5,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,228,192,0,0,0,5,5,107,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,235,192,0,0,0,192,0,0,0,5,5,199,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,227,192,0,0,0,5,5,79,236,5,5,18,232,192,0,0,0,5,5,108,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,231,5,5,244,232,5,5,6,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,247,192,0,0,0,5,5,113,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,229,5,5,104,232,5,5,111,247,192,0,0,0,5,5,7,231,5,5,250,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,247,192,0,0,0,192,0,0,0,5,5,250,229,192,0,0,0,5,5,47,226,192,0,0,0,5,5,117,247,5,5,108,228,192,0,0,0,192,0,0,0,5,5,252,229,192,0,0,0,192,0,0,0,5,5,251,229,192,0,0,0,5,5,67,237,5,5,116,247,5,5,115,247,5,5,237,231,192,0,0,0,5,5,163,227,5,5,57,237,5,5,210,226,5,5,8,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,247,192,0,0,0,5,5,120,247,5,5,118,247,192,0,0,0,5,5,202,228,192,0,0,0,5,5,120,236,192,0,0,0,192,0,0,0,5,5,253,229,5,5,39,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,247,192,0,0,0,5,5,168,231,192,0,0,0,5,5,198,232,192,0,0,0,192,0,0,0,5,5,110,236,192,0,0,0,5,5,126,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,228,192,0,0,0,5,5,167,231,5,5,122,247,192,0,0,0,5,5,127,247,5,5,223,228,5,5,124,247,5,5,125,247,192,0,0,0,5,5,121,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,231,5,5,233,233,192,0,0,0,192,0,0,0,5,5,179,232,192,0,0,0,5,5,151,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,234,192,0,0,0,192,0,0,0,5,5,153,227,192,0,0,0,192,0,0,0,5,5,24,233,192,0,0,0,192,0,0,0,5,5,130,247,192,0,0,0,5,5,128,247,192,0,0,0,192,0,0,0,5,5,208,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,231,5,5,74,227,5,5,129,247,192,0,0,0,5,5,101,231,192,0,0,0,192,0,0,0,5,5,224,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,247,5,5,142,247,5,5,25,233,192,0,0,0,5,5,141,247,192,0,0,0,5,5,138,247,5,5,146,247,5,5,139,247,192,0,0,0,5,5,135,247,192,0,0,0,5,5,96,233,5,5,134,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,247,192,0,0,0,5,5,89,236,5,5,254,229,192,0,0,0,192,0,0,0,5,5,136,247,192,0,0,0,5,5,133,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,247,5,5,192,230,192,0,0,0,5,5,179,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,232,192,0,0,0,5,5,191,235,5,5,54,226,5,5,0,192,192,0,0,0,5,5,197,233,192,0,0,0,192,0,0,0,5,5,144,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,247,192,0,0,0,5,5,8,234,192,0,0,0,5,5,148,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,247,192,0,0,0,5,5,147,247,5,5,149,247,192,0,0,0,5,5,158,228,5,5,145,247,5,5,40,229,192,0,0,0,5,5,67,230,192,0,0,0,192,0,0,0,5,5,150,247,5,5,144,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,247,192,0,0,0,5,5,156,247,192,0,0,0,192,0,0,0,5,5,154,247,5,5,241,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,247,192,0,0,0,192,0,0,0,5,5,157,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,247,192,0,0,0,192,0,0,0,5,5,158,247,192,0,0,0,5,5,160,247,5,5,159,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,247,192,0,0,0,5,5,31,230,192,0,0,0,5,5,164,247,5,5,163,247,5,5,38,235,192,0,0,0,192,0,0,0,5,5,166,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,247,5,5,167,247,192,0,0,0,192,0,0,0,5,5,168,247,5,5,154,227,5,5,142,245,5,5,37,231,192,0,0,0,5,5,169,247,192,0,0,0,192,0,0,0,5,5,224,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,247,192,0,0,0,192,0,0,0,5,5,171,247,192,0,0,0,192,0,0,0,5,5,204,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,241,192,0,0,0,5,5,172,247,192,0,0,0,5,5,173,247,192,0,0,0,5,5,126,230,192,0,0,0,5,5,174,247,5,5,175,247,192,0,0,0,192,0,0,0,5,5,176,247,192,0,0,0,192,0,0,0,5,5,177,247,5,5,178,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,232,192,0,0,0,192,0,0,0,5,5,179,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,247,192,0,0,0,5,5,180,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,233,192,0,0,0,5,5,182,247,192,0,0,0,5,5,167,235,192,0,0,0,5,5,183,247,192,0,0,0,5,5,184,247,192,0,0,0,5,5,185,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,231,5,5,187,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,229,5,5,87,237,5,5,188,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,247,5,5,251,234,5,5,190,247,192,0,0,0,5,5,198,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,247,192,0,0,0,192,0,0,0,5,5,193,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,247,5,5,194,247,192,0,0,0,5,5,192,235,5,5,195,247,5,5,196,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,226,5,5,75,233,192,0,0,0,5,5,39,235,5,5,146,229,5,5,41,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,235,5,5,153,226,5,5,172,234,5,5,202,247,5,5,75,227,5,5,189,231,5,5,201,247,5,5,206,247,5,5,253,232,5,5,61,236,192,0,0,0,5,5,204,247,5,5,205,247,5,5,132,227,192,0,0,0,5,5,207,247,5,5,99,234,5,5,133,232,192,0,0,0,192,0,0,0,5,5,207,234,5,5,127,233,5,5,203,247,192,0,0,0,5,5,193,235,5,5,166,226,5,5,209,247,5,5,30,237,5,5,38,233,5,5,59,237,192,0,0,0,192,0,0,0,5,5,255,229,5,5,208,247,192,0,0,0,5,5,87,232,192,0,0,0,192,0,0,0,5,5,225,247,5,5,238,231,192,0,0,0,192,0,0,0,5,5,26,234,192,0,0,0,5,5,14,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,247,5,5,205,229,5,5,2,230,192,0,0,0,5,5,10,231,192,0,0,0,5,5,101,234,192,0,0,0,5,5,159,228,5,5,211,247,5,5,210,247,192,0,0,0,5,5,40,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,230,192,0,0,0,192,0,0,0,5,5,148,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,247,5,5,215,247,5,5,42,229,5,5,213,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,247,5,5,217,247,192,0,0,0,5,5,219,247,5,5,73,232,192,0,0,0,5,5,218,247,5,5,94,227,192,0,0,0,5,5,221,247,192,0,0,0,5,5,220,247,5,5,222,247,192,0,0,0,192,0,0,0,5,5,224,247,5,5,226,247,192,0,0,0,5,5,227,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,231,192,0,0,0,5,5,61,230,5,5,228,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,226,192,0,0,0,5,5,229,247,192,0,0,0,192,0,0,0,5,5,62,232,5,5,230,247,192,0,0,0,5,5,231,247,5,5,41,235,192,0,0,0,192,0,0,0,5,5,133,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,247,5,5,240,247,192,0,0,0,192,0,0,0,5,5,237,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,247,5,5,241,247,192,0,0,0,5,5,205,227,192,0,0,0,5,5,245,247,192,0,0,0,5,5,191,231,192,0,0,0,5,5,246,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,228,192,0,0,0,5,5,243,247,5,5,244,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,233,192,0,0,0,5,5,239,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,247,192,0,0,0,192,0,0,0,5,5,250,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,247,5,5,249,247,5,5,145,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,233,5,5,253,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,247,5,5,252,247,5,5,254,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,248,5,5,2,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,247,192,0,0,0,5,5,97,233,192,0,0,0,192,0,0,0,5,5,6,248,5,5,10,248,5,5,7,248,5,5,5,248,192,0,0,0,5,5,8,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,231,5,5,13,248,192,0,0,0,192,0,0,0,5,5,15,248,5,5,12,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,248,192,0,0,0,5,5,127,230,192,0,0,0,5,5,17,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,248,192,0,0,0,192,0,0,0,5,5,23,248,5,5,22,248,192,0,0,0,5,5,21,248,192,0,0,0,192,0,0,0,5,5,25,248,5,5,24,248,192,0,0,0,5,5,80,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,248,192,0,0,0,5,5,26,248,5,5,28,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,248,5,5,82,231,5,5,32,248,192,0,0,0,192,0,0,0,5,5,35,228,5,5,33,248,5,5,35,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,248,5,5,34,248,192,0,0,0,5,5,38,248,192,0,0,0,5,5,68,230,5,5,39,248,5,5,134,227,5,5,71,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,234,192,0,0,0,192,0,0,0,5,5,128,233,5,5,41,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,230,192,0,0,0,192,0,0,0,5,5,43,248,5,5,42,248,5,5,110,228,5,5,45,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,226,192,0,0,0,5,5,47,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,229,5,5,46,248,192,0,0,0,5,5,55,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,248,5,5,51,248,5,5,129,235,5,5,48,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,248,192,0,0,0,5,5,54,248,5,5,52,248,5,5,135,227,192,0,0,0,5,5,53,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,248,192,0,0,0,192,0,0,0,5,5,90,234,5,5,238,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,236,5,5,59,248,192,0,0,0,5,5,58,248,192,0,0,0,192,0,0,0,5,5,62,248,5,5,121,236,192,0,0,0,192,0,0,0,5,5,61,248,192,0,0,0,5,5,7,227,5,5,60,248,5,5,65,248,192,0,0,0,192,0,0,0,5,5,64,248,192,0,0,0,192,0,0,0,5,5,63,248,5,5,116,233,5,5,66,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,248,192,0,0,0,192,0,0,0,5,5,62,229,192,0,0,0,5,5,57,228,5,5,69,248,5,5,70,248,5,5,71,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,231,5,5,72,248,192,0,0,0,5,5,27,230,5,5,73,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,238,5,5,7,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,248,5,5,95,245,5,5,76,248,5,5,168,232,5,5,53,231,5,5,64,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,248,192,0,0,0,192,0,0,0,5,5,113,235,5,5,56,233,5,5,80,229,192,0,0,0,192,0,0,0,5,5,173,232,192,0,0,0,192,0,0,0,5,5,6,226,192,0,0,0,5,5,242,235,5,5,97,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,228,192,0,0,0,192,0,0,0,5,5,23,228,192,0,0,0,192,0,0,0,5,5,114,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,248,192,0,0,0,192,0,0,0,5,5,79,248,5,5,154,226,192,0,0,0,192,0,0,0,5,5,24,234,5,5,81,248,5,5,119,234,192,0,0,0,5,5,117,233,192,0,0,0,5,5,82,248,5,5,158,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,248,192,0,0,0,192,0,0,0,5,5,28,236,5,5,99,248,5,5,86,248,5,5,87,248,192,0,0,0,192,0,0,0,5,5,45,233,192,0,0,0,192,0,0,0,5,5,134,232,5,5,63,232,192,0,0,0,5,5,200,233,192,0,0,0,5,5,85,248,5,5,171,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,248,192,0,0,0,5,5,91,248,5,5,104,248,5,5,201,233,5,5,228,232,5,5,88,248,192,0,0,0,5,5,98,233,5,5,149,233,5,5,89,248,5,5,93,248,5,5,106,231,192,0,0,0,5,5,103,234,5,5,48,233,192,0,0,0,192,0,0,0,5,5,170,231,5,5,92,248,5,5,84,232,5,5,74,232,5,5,90,248,5,5,0,135,5,5,24,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,232,192,0,0,0,192,0,0,0,5,5,129,230,5,5,84,231,192,0,0,0,192,0,0,0,5,5,97,248,5,5,96,248,192,0,0,0,5,5,0,205,5,5,98,248,192,0,0,0,192,0,0,0,5,5,235,234,192,0,0,0,5,5,106,248,192,0,0,0,192,0,0,0,5,5,251,233,5,5,117,231,192,0,0,0,192,0,0,0,5,5,221,232,192,0,0,0,5,5,46,228,192,0,0,0,5,5,105,248,5,5,111,236,5,5,27,226,192,0,0,0,5,5,115,235,5,5,155,226,5,5,100,248,5,5,101,248,5,5,102,248,5,5,103,248,5,5,219,233,5,5,167,232,5,5,0,193,5,5,107,248,192,0,0,0,5,5,108,248,5,5,158,250,192,0,0,0,192,0,0,0,5,5,99,232,192,0,0,0,5,5,109,248,192,0,0,0,5,5,79,226,5,5,20,232,192,0,0,0,5,5,161,228,192,0,0,0,5,5,146,236,192,0,0,0,192,0,0,0,5,5,110,248,5,5,110,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,232,5,5,69,230,5,5,111,248,192,0,0,0,192,0,0,0,5,5,114,248,192,0,0,0,192,0,0,0,5,5,177,230,5,5,112,248,5,5,241,231,5,5,240,231,192,0,0,0,5,5,0,194,192,0,0,0,5,5,225,236,5,5,116,248,192,0,0,0,5,5,208,234,5,5,118,248,5,5,117,248,5,5,115,248,5,5,149,244,5,5,76,227,192,0,0,0,192,0,0,0,5,5,83,248,192,0,0,0,5,5,120,248,5,5,119,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,248,192,0,0,0,5,5,112,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,234,192,0,0,0,192,0,0,0,5,5,168,235,192,0,0,0,5,5,122,248,192,0,0,0,5,5,71,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,248,192,0,0,0,5,5,124,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,248,192,0,0,0,192,0,0,0,5,5,99,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,228,5,5,126,248,192,0,0,0,5,5,127,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,236,192,0,0,0,5,5,243,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,233,192,0,0,0,192,0,0,0,5,5,134,248,192,0,0,0,5,5,133,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,233,5,5,135,248,5,5,130,230,5,5,78,230,5,5,91,234,5,5,245,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,230,192,0,0,0,5,5,118,231,192,0,0,0,5,5,136,248,192,0,0,0,5,5,137,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,231,5,5,138,248,192,0,0,0,5,5,139,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,248,5,5,167,236,192,0,0,0,5,5,131,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,248,5,5,141,248,192,0,0,0,5,5,44,229,192,0,0,0,5,5,69,229,5,5,206,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,230,192,0,0,0,5,5,144,248,192,0,0,0,5,5,143,248,192,0,0,0,5,5,143,232,192,0,0,0,192,0,0,0,5,5,225,228,192,0,0,0,5,5,171,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,248,192,0,0,0,5,5,11,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,248,5,5,147,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,248,5,5,150,248,192,0,0,0,192,0,0,0,5,5,38,231,192,0,0,0,5,5,152,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,248,5,5,154,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,234,5,5,131,229,5,5,79,230,5,5,155,248,192,0,0,0,5,5,156,248,5,5,186,236,5,5,145,230,5,5,72,236,5,5,226,236,5,5,157,248,5,5,24,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,248,192,0,0,0,5,5,101,233,192,0,0,0,192,0,0,0,5,5,161,248,5,5,18,227,5,5,85,231,192,0,0,0,5,5,159,248,192,0,0,0,5,5,160,248,192,0,0,0,5,5,68,233,192,0,0,0,192,0,0,0,5,5,207,235,5,5,50,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,248,5,5,164,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,248,192,0,0,0,192,0,0,0,5,5,166,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,233,5,5,219,226,192,0,0,0,192,0,0,0,5,5,170,248,192,0,0,0,192,0,0,0,5,5,167,248,5,5,169,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,248,192,0,0,0,192,0,0,0,5,5,168,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,237,192,0,0,0,192,0,0,0,5,5,204,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,233,5,5,173,248,192,0,0,0,192,0,0,0,5,5,176,248,5,5,174,248,192,0,0,0,5,5,179,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,248,192,0,0,0,192,0,0,0,5,5,185,248,5,5,80,226,192,0,0,0,192,0,0,0,5,5,171,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,234,192,0,0,0,5,5,175,248,192,0,0,0,5,5,12,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,235,192,0,0,0,5,5,26,228,192,0,0,0,192,0,0,0,5,5,146,230,192,0,0,0,5,5,220,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,231,192,0,0,0,5,5,183,248,192,0,0,0,5,5,177,248,5,5,182,248,192,0,0,0,5,5,29,236,192,0,0,0,5,5,28,233,5,5,184,248,5,5,181,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,248,192,0,0,0,5,5,187,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,248,192,0,0,0,192,0,0,0,5,5,169,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,248,5,5,123,235,192,0,0,0,192,0,0,0,5,5,48,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,235,5,5,246,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,227,192,0,0,0,5,5,191,248,192,0,0,0,5,5,47,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,248,5,5,119,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,231,5,5,194,248,5,5,196,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,231,192,0,0,0,5,5,195,248,5,5,197,248,192,0,0,0,192,0,0,0,5,5,9,228,192,0,0,0,5,5,3,235,192,0,0,0,192,0,0,0,5,5,80,230,5,5,25,237,192,0,0,0,5,5,193,248,5,5,168,229,192,0,0,0,192,0,0,0,5,5,53,237,192,0,0,0,192,0,0,0,5,5,199,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,248,5,5,200,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,234,192,0,0,0,5,5,151,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,233,192,0,0,0,5,5,205,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,232,5,5,201,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,228,192,0,0,0,5,5,204,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,248,192,0,0,0,5,5,13,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,248,192,0,0,0,5,5,111,229,5,5,65,232,192,0,0,0,192,0,0,0,5,5,46,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,248,5,5,208,248,5,5,39,233,192,0,0,0,5,5,206,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,248,5,5,111,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,248,5,5,212,248,5,5,215,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,227,192,0,0,0,192,0,0,0,5,5,220,248,5,5,214,248,192,0,0,0,192,0,0,0,5,5,213,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,248,192,0,0,0,192,0,0,0,5,5,223,248,5,5,222,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,231,5,5,202,233,5,5,221,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,248,5,5,227,248,192,0,0,0,5,5,158,232,192,0,0,0,5,5,231,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,248,192,0,0,0,192,0,0,0,5,5,234,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,227,5,5,233,248,5,5,84,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,248,5,5,235,248,192,0,0,0,192,0,0,0,5,5,238,248,192,0,0,0,5,5,236,248,192,0,0,0,5,5,237,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,248,192,0,0,0,5,5,243,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,248,5,5,244,248,5,5,247,248,5,5,249,248,192,0,0,0,5,5,248,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,236,192,0,0,0,5,5,250,248,5,5,244,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,248,192,0,0,0,5,5,96,235,5,5,252,248,5,5,195,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,226,192,0,0,0,5,5,79,227,192,0,0,0,5,5,78,227,5,5,253,248,192,0,0,0,5,5,254,248,192,0,0,0,5,5,255,248,5,5,2,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,249,192,0,0,0,5,5,80,227,5,5,237,226,5,5,48,229,5,5,148,234,192,0,0,0,5,5,5,249,5,5,4,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,249,192,0,0,0,5,5,8,249,5,5,7,249,192,0,0,0,5,5,10,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,165,192,0,0,0,192,0,0,0,5,5,11,249,192,0,0,0,5,5,15,249,5,5,14,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,249,5,5,16,249,5,5,18,249,192,0,0,0,5,5,206,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,249,5,5,22,249,192,0,0,0,192,0,0,0,5,5,21,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,249,192,0,0,0,5,5,149,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,249,5,5,26,249,192,0,0,0,192,0,0,0,5,5,195,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,130,5,5,113,232,192,0,0,0,5,5,27,249,192,0,0,0,5,5,43,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,249,5,5,28,249,5,5,49,229,192,0,0,0,5,5,29,249,5,5,180,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,235,5,5,32,249,5,5,34,249,5,5,33,249,5,5,35,249,192,0,0,0,192,0,0,0,5,5,0,221,5,5,98,231,5,5,200,230,5,5,81,227,5,5,36,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,234,192,0,0,0,5,5,38,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,222,192,0,0,0,5,5,37,249,5,5,40,233,192,0,0,0,5,5,227,236,5,5,203,233,5,5,31,249,5,5,188,236,192,0,0,0,5,5,163,228,192,0,0,0,192,0,0,0,5,5,147,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,228,5,5,202,236,192,0,0,0,5,5,60,228,192,0,0,0,5,5,136,232,5,5,204,245,192,0,0,0,5,5,39,249,5,5,196,226,5,5,121,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,226,5,5,41,249,192,0,0,0,5,5,42,249,5,5,40,249,5,5,120,228,192,0,0,0,5,5,141,229,5,5,15,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,223,192,0,0,0,192,0,0,0,5,5,239,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,249,5,5,113,248,192,0,0,0,5,5,43,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,249,5,5,45,249,5,5,46,249,192,0,0,0,5,5,48,249,192,0,0,0,5,5,49,249,5,5,4,237,5,5,50,249,5,5,51,249,192,0,0,0,5,5,177,231,5,5,153,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,231,5,5,95,227,192,0,0,0,192,0,0,0,5,5,114,236,5,5,167,226,5,5,132,230,5,5,205,228,192,0,0,0,5,5,54,249,192,0,0,0,5,5,53,249,5,5,3,230,5,5,55,249,5,5,52,249,192,0,0,0,192,0,0,0,5,5,182,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,249,5,5,244,246,192,0,0,0,192,0,0,0,5,5,61,238,192,0,0,0,5,5,129,231,5,5,57,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,236,5,5,19,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,226,192,0,0,0,5,5,203,231,5,5,36,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,235,192,0,0,0,5,5,28,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,237,5,5,163,236,192,0,0,0,5,5,60,249,192,0,0,0,5,5,135,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,249,192,0,0,0,5,5,62,249,5,5,86,231,5,5,63,249,192,0,0,0,5,5,6,237,192,0,0,0,192,0,0,0,5,5,58,249,5,5,65,249,5,5,67,249,192,0,0,0,5,5,66,249,192,0,0,0,5,5,64,249,192,0,0,0,192,0,0,0,5,5,68,249,192,0,0,0,192,0,0,0,5,5,69,249,192,0,0,0,192,0,0,0,5,5,66,232,192,0,0,0,5,5,156,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,249,192,0,0,0,192,0,0,0,5,5,18,236,192,0,0,0,192,0,0,0,5,5,71,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,249,192,0,0,0,5,5,32,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,241,5,5,73,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,249,5,5,75,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,249,192,0,0,0,5,5,76,249,192,0,0,0,5,5,77,249,192,0,0,0,5,5,78,249,5,5,80,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,236,192,0,0,0,192,0,0,0,5,5,173,231,192,0,0,0,192,0,0,0,5,5,81,249,192,0,0,0,5,5,209,234,192,0,0,0,5,5,82,249,5,5,112,250,5,5,38,236,192,0,0,0,5,5,83,249,192,0,0,0,5,5,84,249,192,0,0,0,5,5,85,249,5,5,239,226,192,0,0,0,5,5,87,249,192,0,0,0,5,5,99,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,249,192,0,0,0,192,0,0,0,5,5,56,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,249,5,5,93,249,192,0,0,0,5,5,91,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,249,192,0,0,0,192,0,0,0,5,5,13,227,5,5,90,249,5,5,94,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,249,192,0,0,0,5,5,0,166,192,0,0,0,5,5,96,249,5,5,97,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,227,192,0,0,0,192,0,0,0,5,5,101,249,192,0,0,0,192,0,0,0,5,5,100,249,192,0,0,0,5,5,99,249,192,0,0,0,192,0,0,0,5,5,152,247,192,0,0,0,5,5,120,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,249,5,5,103,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,249,192,0,0,0,192,0,0,0,5,5,105,249,192,0,0,0,5,5,106,249,192,0,0,0,192,0,0,0,5,5,107,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,249,5,5,35,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,249,5,5,117,226,192,0,0,0,5,5,114,249,5,5,113,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,227,192,0,0,0,5,5,99,235,5,5,30,233,5,5,82,229,192,0,0,0,5,5,50,229,5,5,179,230,192,0,0,0,5,5,102,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,249,192,0,0,0,192,0,0,0,5,5,115,249,5,5,122,236,5,5,96,227,5,5,176,234,5,5,252,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,231,5,5,228,236,192,0,0,0,5,5,111,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,249,192,0,0,0,192,0,0,0,5,5,118,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,235,5,5,204,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,226,192,0,0,0,192,0,0,0,5,5,120,249,5,5,117,249,192,0,0,0,192,0,0,0,5,5,15,235,5,5,162,236,5,5,121,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,249,5,5,144,232,5,5,243,226,5,5,244,226,5,5,123,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,227,5,5,164,228,192,0,0,0,192,0,0,0,5,5,98,227,192,0,0,0,192,0,0,0,5,5,129,233,192,0,0,0,192,0,0,0,5,5,246,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,249,5,5,127,249,5,5,128,249,192,0,0,0,5,5,130,249,5,5,129,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,235,192,0,0,0,5,5,131,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,249,192,0,0,0,5,5,133,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,249,5,5,135,249,192,0,0,0,5,5,137,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,234,5,5,153,245,192,0,0,0,192,0,0,0,5,5,51,231,192,0,0,0,192,0,0,0,5,5,136,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,249,192,0,0,0,5,5,139,249,192,0,0,0,5,5,19,238,5,5,52,242,5,5,177,234,192,0,0,0,192,0,0,0,5,5,0,217,192,0,0,0,5,5,0,153,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,230,5,5,170,235,5,5,42,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,249,192,0,0,0,5,5,57,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,249,5,5,148,236,192,0,0,0,5,5,30,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,229,192,0,0,0,5,5,142,249,5,5,168,226,5,5,143,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,249,5,5,147,249,192,0,0,0,5,5,149,249,5,5,145,249,192,0,0,0,192,0,0,0,5,5,148,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,249,192,0,0,0,5,5,151,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,249,5,5,153,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,249,192,0,0,0,192,0,0,0,5,5,156,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,249,192,0,0,0,5,5,158,249,5,5,161,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,249,5,5,159,249,5,5,160,249,192,0,0,0,192,0,0,0,5,5,162,249,192,0,0,0,5,5,246,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,230,5,5,163,249,5,5,164,249,5,5,51,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,249,192,0,0,0,192,0,0,0,5,5,214,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,234,5,5,166,249,5,5,167,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,232,5,5,13,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,234,192,0,0,0,192,0,0,0,5,5,114,232,5,5,52,226,5,5,36,228,192,0,0,0,5,5,37,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,232,5,5,173,249,5,5,38,228,192,0,0,0,192,0,0,0,5,5,169,226,192,0,0,0,192,0,0,0,5,5,172,249,192,0,0,0,192,0,0,0,5,5,170,249,192,0,0,0,5,5,171,249,192,0,0,0,5,5,169,249,192,0,0,0,192,0,0,0,5,5,183,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,249,5,5,175,249,192,0,0,0,192,0,0,0,5,5,176,249,5,5,177,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,249,192,0,0,0,192,0,0,0,5,5,178,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,230,192,0,0,0,5,5,180,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,227,5,5,181,249,192,0,0,0,192,0,0,0,5,5,67,232,5,5,165,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,232,192,0,0,0,192,0,0,0,5,5,185,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,249,192,0,0,0,5,5,189,249,192,0,0,0,5,5,188,249,5,5,190,249,192,0,0,0,5,5,187,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,249,192,0,0,0,5,5,195,249,192,0,0,0,192,0,0,0,5,5,247,227,5,5,194,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,249,192,0,0,0,192,0,0,0,5,5,197,249,192,0,0,0,5,5,199,249,5,5,198,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,249,5,5,202,249,5,5,201,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,249,192,0,0,0,192,0,0,0,5,5,204,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,249,192,0,0,0,5,5,208,249,192,0,0,0,5,5,209,249,5,5,210,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,249,5,5,212,249,192,0,0,0,192,0,0,0,5,5,213,249,5,5,214,249,192,0,0,0,192,0,0,0,5,5,215,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,234,5,5,217,249,192,0,0,0,5,5,226,234,5,5,218,249,5,5,216,249,192,0,0,0,5,5,220,249,192,0,0,0,192,0,0,0,5,5,219,249,192,0,0,0,192,0,0,0,5,5,221,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,249,192,0,0,0,5,5,225,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,249,192,0,0,0,192,0,0,0,5,5,227,249,5,5,228,249,192,0,0,0,5,5,229,249,192,0,0,0,5,5,230,249,5,5,231,249,5,5,232,249,5,5,233,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,249,5,5,235,249,192,0,0,0,5,5,46,242,5,5,236,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,245,5,5,138,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,226,5,5,98,229,5,5,238,249,5,5,237,249,5,5,253,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,249,5,5,241,249,5,5,239,249,192,0,0,0,5,5,242,249,192,0,0,0,192,0,0,0,5,5,220,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,249,192,0,0,0,5,5,209,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,156,192,0,0,0,192,0,0,0,5,5,247,249,5,5,71,235,5,5,245,249,192,0,0,0,192,0,0,0,5,5,248,249,5,5,249,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,249,5,5,251,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,249,192,0,0,0,5,5,232,235,5,5,187,229,192,0,0,0,5,5,170,229,5,5,245,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,250,192,0,0,0,192,0,0,0,5,5,227,228,5,5,255,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,250,192,0,0,0,5,5,5,250,5,5,6,250,192,0,0,0,5,5,10,250,192,0,0,0,5,5,184,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,250,5,5,8,250,5,5,7,250,5,5,9,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,250,5,5,14,250,5,5,13,250,192,0,0,0,192,0,0,0,5,5,0,145,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,250,192,0,0,0,5,5,21,250,192,0,0,0,5,5,22,250,5,5,18,250,5,5,24,250,192,0,0,0,5,5,20,250,5,5,250,226,192,0,0,0,192,0,0,0,5,5,66,237,192,0,0,0,5,5,23,250,5,5,19,250,5,5,17,250,5,5,16,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,250,192,0,0,0,192,0,0,0,5,5,29,250,5,5,28,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,235,5,5,26,250,5,5,0,209,5,5,31,250,192,0,0,0,5,5,33,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,227,5,5,12,250,5,5,19,226,192,0,0,0,192,0,0,0,5,5,35,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,250,5,5,32,250,5,5,177,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,236,192,0,0,0,192,0,0,0,5,5,36,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,250,192,0,0,0,5,5,40,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,233,192,0,0,0,5,5,41,250,192,0,0,0,5,5,149,234,192,0,0,0,5,5,46,250,5,5,42,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,250,192,0,0,0,192,0,0,0,5,5,171,235,5,5,30,236,192,0,0,0,5,5,240,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,250,192,0,0,0,192,0,0,0,5,5,48,250,5,5,222,233,5,5,45,250,5,5,44,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,250,192,0,0,0,192,0,0,0,5,5,55,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,250,192,0,0,0,192,0,0,0,5,5,50,250,192,0,0,0,5,5,21,227,192,0,0,0,5,5,49,250,5,5,32,230,5,5,99,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,229,192,0,0,0,192,0,0,0,5,5,59,250,5,5,58,250,192,0,0,0,5,5,57,250,192,0,0,0,192,0,0,0,5,5,54,250,192,0,0,0,5,5,60,250,192,0,0,0,5,5,61,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,250,5,5,65,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,250,192,0,0,0,192,0,0,0,5,5,9,226,5,5,62,250,5,5,63,250,192,0,0,0,5,5,70,229,5,5,19,236,192,0,0,0,192,0,0,0,5,5,64,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,235,192,0,0,0,192,0,0,0,5,5,72,250,192,0,0,0,192,0,0,0,5,5,68,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,250,192,0,0,0,5,5,69,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,250,192,0,0,0,5,5,71,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,250,192,0,0,0,192,0,0,0,5,5,77,250,192,0,0,0,5,5,69,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,250,192,0,0,0,5,5,82,250,5,5,80,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,250,5,5,85,250,192,0,0,0,5,5,78,250,192,0,0,0,5,5,83,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,250,192,0,0,0,5,5,91,250,192,0,0,0,192,0,0,0,5,5,63,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,250,5,5,145,232,5,5,157,229,192,0,0,0,192,0,0,0,5,5,92,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,250,5,5,94,250,192,0,0,0,192,0,0,0,5,5,95,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,250,192,0,0,0,192,0,0,0,5,5,166,228,5,5,97,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,250,192,0,0,0,5,5,29,230,192,0,0,0,5,5,99,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,250,192,0,0,0,192,0,0,0,5,5,101,250,5,5,102,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,250,5,5,103,250,5,5,50,237,192,0,0,0,5,5,104,250,192,0,0,0,5,5,7,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,250,192,0,0,0,5,5,241,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,250,5,5,126,234,192,0,0,0,192,0,0,0,5,5,108,250,5,5,110,250,192,0,0,0,192,0,0,0,5,5,111,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,250,5,5,63,229,5,5,39,236,5,5,221,235,5,5,216,239,192,0,0,0,5,5,89,242,5,5,245,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,250,5,5,166,227,5,5,114,250,5,5,115,250,5,5,116,250,192,0,0,0,5,5,71,229,192,0,0,0,5,5,117,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,243,5,5,53,236,192,0,0,0,5,5,137,232,5,5,118,250,5,5,120,250,5,5,119,250,192,0,0,0,5,5,121,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,250,192,0,0,0,192,0,0,0,5,5,123,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,250,192,0,0,0,5,5,126,250,5,5,127,250,192,0,0,0,5,5,128,250,192,0,0,0,5,5,129,250,5,5,130,250,5,5,131,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,250,5,5,133,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,228,192,0,0,0,5,5,135,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,232,5,5,136,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,234,192,0,0,0,192,0,0,0,5,5,138,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,250,5,5,104,244,192,0,0,0,192,0,0,0,5,5,223,247,5,5,110,249,192,0,0,0,192,0,0,0,5,5,140,250,192,0,0,0,5,5,141,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,250,5,5,144,250,5,5,145,250,5,5,8,237,5,5,142,250,192,0,0,0,192,0,0,0,5,5,146,250,5,5,147,250,192,0,0,0,192,0,0,0,5,5,149,250,192,0,0,0,5,5,148,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,250,5,5,150,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,250,5,5,133,244,192,0,0,0,192,0,0,0,5,5,155,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,247,5,5,11,229,5,5,68,230,5,5,208,247,5,5,4,227,5,5,48,228,5,5,29,228,5,5,154,250,5,5,154,250,5,5,84,228,5,5,24,228,5,5,142,238,5,5,2,234,5,5,144,240,5,5,237,243,5,5,157,236,5,5,176,246,5,5,158,236,5,5,159,236,5,5,121,248,5,5,244,241,5,5,164,236,5,5,23,243,5,5,121,243,5,5,166,236,5,5,167,236,5,5,176,249,5,5,85,237,5,5,169,236,5,5,171,236,5,5,58,243,5,5,174,236,5,5,95,250,5,5,170,236,5,5,172,236,5,5,173,236,5,5,73,247,5,5,196,240,5,5,239,245,192,0,0,0,5,5,35,237,5,5,37,237,5,5,40,237,5,5,43,237,5,5,48,237,5,5,125,237,5,5,250,236,5,5,16,238,192,0,0,0,5,5,28,237,5,5,57,243,5,5,13,244,5,5,45,237,5,5,172,246,5,5,208,236,5,5,31,237,5,5,32,237,5,5,27,237,5,5,157,229,5,5,68,244,5,5,100,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,230,5,5,54,237,5,5,7,239,5,5,36,237,5,5,213,244,5,5,46,237,5,5,42,237,5,5,80,244,5,5,30,237,5,5,163,236,5,5,3,239,192,0,0,0,5,5,7,242,192,0,0,0,5,5,41,237,5,5,245,236,5,5,78,245,5,5,30,249,5,5,86,249,5,5,52,237,5,5,160,250,5,5,213,236,5,5,221,236,5,5,0,155,5,5,229,234,5,5,227,236,5,5,171,247,5,5,185,240,5,5,244,241,5,5,160,232,5,5,180,232,5,5,43,234,5,5,158,233,5,5,190,236,5,5,0,185,5,5,198,235,192,0,0,0,5,5,116,235,5,5,58,235,5,5,18,235,5,5,197,234,5,5,40,241,5,5,167,229,5,5,59,238,5,5,121,229,5,5,244,230,5,5,141,236,192,0,0,0,5,5,180,229,5,5,168,232,5,5,36,233,5,5,114,230,5,5,81,230,5,5,193,236,5,5,194,236,5,5,210,236,5,5,199,237,5,5,225,237,5,5,216,236,5,5,222,236,5,5,223,236,5,5,224,236,5,5,226,236,5,5,22,238,5,5,26,237,5,5,195,230,5,5,233,239,5,5,207,236,5,5,254,242,5,5,61,244,5,5,6,249,5,5,202,249,5,5,7,237,5,5,114,250,5,5,229,236,192,0,0,0,192,0,0,0,5,5,69,248,5,5,47,234,5,5,17,237,5,5,151,240,5,5,50,234,5,5,18,237,5,5,19,237,192,0,0,0,192,0,0,0,5,5,21,237,5,5,22,237,5,5,56,248,5,5,23,237,5,5,24,237,192,0,0,0,5,5,11,237,5,5,12,237,5,5,0,212,5,5,13,237,5,5,14,237,192,0,0,0,5,5,15,237,5,5,48,234,5,5,49,234,192,0,0,0,5,5,20,237,5,5,111,243,5,5,247,236,5,5,191,238,5,5,43,234,5,5,252,236,5,5,253,236,5,5,254,236,5,5,135,243,5,5,134,245,5,5,166,245,5,5,3,237,5,5,5,237,5,5,78,249,5,5,228,236,5,5,249,236,5,5,106,244,5,5,151,248,5,5,50,249,5,5,71,240,5,5,209,236,5,5,211,236,5,5,214,236,5,5,34,234,5,5,215,236,5,5,244,241,5,5,48,243,5,5,219,236,5,5,133,246,5,5,225,236,5,5,204,236,5,5,81,241,5,5,25,249,5,5,195,236,192,0,0,0,5,5,82,236,5,5,196,236,5,5,197,236,5,5,198,236,5,5,199,236,5,5,200,236,5,5,239,234,5,5,246,236,5,5,49,237,5,5,161,240,5,5,188,236,5,5,231,236,5,5,167,239,5,5,164,242,5,5,238,236,5,5,189,236,5,5,106,240,5,5,62,228,5,5,190,236,5,5,202,236,5,5,176,236,5,5,177,236,5,5,178,236,5,5,0,181,5,5,179,236,5,5,180,236,5,5,103,233,5,5,181,236,5,5,183,236,5,5,140,240,5,5,184,236,5,5,185,236,5,5,186,236,5,5,187,236,5,5,223,233,5,5,112,233,5,5,78,238,5,5,235,236,192,0,0,0,5,5,171,246,5,5,239,236,5,5,240,236,5,5,241,236,5,5,233,236,5,5,234,236,5,5,237,236,5,5,191,236,5,5,246,226,5,5,201,236,192,0,0,0,5,5,12,243,5,5,31,230,5,5,134,230,5,5,231,232,5,5,215,229,5,5,194,231,5,5,155,233,5,5,153,232,5,5,190,233,5,5,150,232,5,5,214,233,5,5,183,235,5,5,58,248,5,5,38,229,5,5,49,229,5,5,157,228,5,5,223,226,5,5,193,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,233,192,0,0,0,5,5,154,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,232,5,5,51,226,5,5,255,236,5,5,74,231,5,5,247,230,5,5,61,235,5,5,81,236,5,5,162,231,5,5,5,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,230,192,0,0,0,192,0,0,0,5,5,0,205,5,5,150,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,234,5,5,4,230,5,5,83,227,5,5,69,233,192,0,0,0,5,5,4,237,5,5,44,235,5,5,22,232,5,5,34,236,5,5,117,235,5,5,6,228,5,5,186,234,5,5,253,226,5,5,182,232,5,5,103,227,5,5,89,235,5,5,201,235,5,5,32,232,5,5,134,239,5,5,179,226,5,5,204,226,5,5,70,232,5,5,12,233,5,5,16,235,5,5,115,227,5,5,183,230,5,5,95,234,5,5,188,226,5,5,185,230,5,5,57,227,5,5,63,230,192,0,0,0,5,5,156,232,5,5,200,234,5,5,64,230,5,5,241,229,5,5,125,227,5,5,108,236,5,5,12,232,5,5,151,230,5,5,140,226,5,5,91,233,5,5,68,229,5,5,237,233,5,5,201,231,5,5,21,237,5,5,69,245,5,5,169,234,5,5,188,230,5,5,66,230,5,5,121,230,192,0,0,0,192,0,0,0,5,5,252,232,5,5,6,227,5,5,249,229,5,5,54,226,5,5,22,228,5,5,14,235,5,5,73,232,192,0,0,0,5,5,0,205,5,5,19,234,5,5,245,227,5,5,15,235,5,5,87,228,192,0,0,0,5,5,84,227,192,0,0,0,192,0,0,0,5,5,94,235,5,5,222,237,5,5,250,231,192,0,0,0,5,5,136,230,5,5,202,237,5,5,94,236,5,5,73,230,5,5,253,226,192,0,0,0,5,5,129,238,192,0,0,0,5,5,49,233,5,5,75,235,5,5,62,226,5,5,213,235,5,5,60,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,229,5,5,21,240,5,5,80,240,5,5,63,231,5,5,86,236,5,5,70,232,192,0,0,0,5,5,12,233,5,5,125,232,5,5,230,240,5,5,208,240,192,0,0,0,5,5,33,241,5,5,154,231,5,5,37,237,5,5,184,235,5,5,31,231,5,5,63,242,5,5,180,229,5,5,196,236,192,0,0,0,5,5,16,230,5,5,57,227,5,5,244,233,5,5,63,230,192,0,0,0,5,5,77,230,5,5,166,234,5,5,250,232,192,0,0,0,192,0,0,0,5,5,162,226,192,0,0,0,5,5,220,243,5,5,51,226,5,5,161,231,5,5,34,233,192,0,0,0,5,5,233,232,192,0,0,0,192,0,0,0,5,5,201,231,192,0,0,0,5,5,37,245,5,5,21,237,192,0,0,0,5,5,66,230,5,5,37,229,5,5,148,226,192,0,0,0,5,5,63,247,5,5,64,235,5,5,249,229,5,5,24,233,5,5,192,230,5,5,169,231,5,5,54,226,5,5,160,232,5,5,89,236,5,5,22,228,5,5,43,241,5,5,73,232,5,5,90,236,5,5,114,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,234,5,5,81,236,192,0,0,0,5,5,245,227,192,0,0,0,5,5,15,235,192,0,0,0,5,5,154,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,14,0,202,193,14,0,202,226,14,0,202,3,15,0,202,36,15,0,202,69,15,0,202,102,15,0,202,135,15,0,202,168,15,0,202,201,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,192,0,0,0,192,0,0,0,133,5,24,9,133,5,70,10,133,5,72,10,133,5,34,7,192,0,0,0,198,65,13,0,198,1,0,0,198,65,0,0,198,129,0,0,198,193,0,0,198,1,1,0,198,97,11,0,198,161,11,0,198,225,11,0,198,193,5,0,192,0,0,0,198,33,0,0,198,97,0,0,198,161,0,0,198,225,0,0,198,33,1,0,198,65,1,0,198,161,1,0,198,1,2,0,198,97,2,0,198,193,2,0,198,33,3,0,198,129,3,0,198,225,3,0,198,65,4,0,198,161,4,0,198,1,5,0,198,97,5,0,198,225,5,0,198,65,6,0,198,161,6,0,198,1,7,0,198,33,7,0,198,65,7,0,198,97,7,0,198,129,7,0,198,161,7,0,198,65,8,0,198,225,8,0,198,129,9,0,198,33,10,0,198,193,10,0,198,225,10,0,198,1,11,0,198,33,11,0,198,65,11,0,198,129,11,0,198,193,11,0,198,1,12,0,198,33,12,0,198,65,12,0,198,97,12,0,198,129,12,0,198,161,12,0,198,225,12,0,198,97,13,0,192,0,0,0,192,0,0,0,198,129,35,0,133,5,6,121,133,5,8,121,133,5,183,121,133,5,10,121,133,5,187,121,133,5,189,121,133,5,12,121,133,5,14,121,133,5,16,121,133,5,195,121,133,5,197,121,133,5,199,121,133,5,201,121,133,5,203,121,133,5,205,121,133,5,52,121,133,5,18,121,133,5,20,121,133,5,22,121,133,5,66,121,133,5,24,121,133,5,26,121,133,5,28,121,133,5,30,121,133,5,32,121,133,5,34,121,133,5,36,121,133,5,38,121,133,5,40,121,133,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,133,5,103,121,133,5,105,121,133,5,107,121,133,5,109,121,133,5,111,121,133,5,113,121,192,0,0,0,192,0,0,0,133,5,115,121,133,5,117,121,133,5,119,121,133,5,121,121,133,5,123,121,133,5,125,121,192,0,0,0,192,0,0,0,133,5,127,121,133,5,129,121,133,5,131,121,133,5,133,121,133,5,135,121,133,5,137,121,192,0,0,0,192,0,0,0,133,5,139,121,133,5,141,121,133,5,143,121,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,13,5,5,140,13,5,5,135,12,5,5,0,4,5,5,139,12,5,5,142,13,5,5,192,13,192,0,0,0,133,5,172,12,133,5,99,12,133,5,103,12,133,5,101,12,133,5,105,12,133,5,180,12,133,5,185,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,234,5,5,22,232,5,5,68,232,192,0,0,0,192,0,0,0,5,5,34,236,5,5,196,237,192,0,0,0,5,5,39,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,229,192,0,0,0,5,5,21,231,5,5,212,237,192,0,0,0,5,5,161,233,5,5,222,237,192,0,0,0,5,5,232,237,5,5,89,231,192,0,0,0,5,5,65,229,192,0,0,0,5,5,252,226,192,0,0,0,192,0,0,0,5,5,94,236,5,5,117,235,5,5,6,228,5,5,73,230,5,5,141,235,5,5,25,238,5,5,198,235,5,5,42,238,5,5,186,234,5,5,110,234,5,5,78,232,192,0,0,0,5,5,222,227,5,5,222,227,5,5,222,227,192,0,0,0,5,5,189,226,5,5,176,227,5,5,62,238,192,0,0,0,5,5,223,227,5,5,38,230,192,0,0,0,192,0,0,0,5,5,177,227,5,5,76,233,5,5,108,230,5,5,95,238,192,0,0,0,5,5,164,233,5,5,80,228,5,5,119,238,5,5,247,231,5,5,247,231,5,5,129,238,5,5,160,227,192,0,0,0,192,0,0,0,5,5,201,238,5,5,182,232,192,0,0,0,192,0,0,0,5,5,74,235,5,5,194,231,5,5,28,232,5,5,23,231,5,5,41,231,192,0,0,0,5,5,83,228,192,0,0,0,5,5,143,235,192,0,0,0,192,0,0,0,5,5,100,234,5,5,63,233,192,0,0,0,5,5,101,232,5,5,14,236,5,5,31,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,239,5,5,82,239,192,0,0,0,5,5,102,239,192,0,0,0,5,5,43,234,5,5,115,239,192,0,0,0,5,5,101,230,5,5,215,230,5,5,184,233,5,5,122,239,192,0,0,0,5,5,141,233,5,5,134,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,230,192,0,0,0,192,0,0,0,5,5,171,232,192,0,0,0,5,5,179,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,230,5,5,35,237,192,0,0,0,5,5,239,239,192,0,0,0,192,0,0,0,5,5,248,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,228,5,5,10,233,192,0,0,0,192,0,0,0,5,5,38,234,5,5,228,229,192,0,0,0,5,5,59,240,192,0,0,0,192,0,0,0,5,5,179,226,192,0,0,0,5,5,247,233,5,5,12,230,5,5,4,229,5,5,63,231,5,5,4,229,192,0,0,0,5,5,70,232,5,5,143,228,5,5,76,235,192,0,0,0,192,0,0,0,5,5,12,233,5,5,144,240,5,5,150,231,5,5,157,240,192,0,0,0,5,5,150,235,5,5,179,240,5,5,205,240,192,0,0,0,5,5,178,234,192,0,0,0,5,5,60,230,5,5,37,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,226,192,0,0,0,5,5,218,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,235,5,5,93,228,192,0,0,0,192,0,0,0,5,5,189,230,5,5,70,241,192,0,0,0,5,5,183,230,192,0,0,0,192,0,0,0,5,5,187,235,5,5,210,237,5,5,119,229,192,0,0,0,5,5,186,245,192,0,0,0,5,5,37,237,5,5,184,235,192,0,0,0,5,5,116,241,5,5,75,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,241,192,0,0,0,5,5,95,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,228,192,0,0,0,5,5,15,230,192,0,0,0,5,5,58,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,229,5,5,228,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,234,192,0,0,0,5,5,68,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,234,5,5,188,226,5,5,196,236,5,5,18,229,5,5,69,231,5,5,145,242,192,0,0,0,192,0,0,0,5,5,19,229,5,5,167,242,192,0,0,0,5,5,16,230,192,0,0,0,192,0,0,0,5,5,146,242,5,5,16,233,192,0,0,0,192,0,0,0,5,5,238,242,192,0,0,0,5,5,244,233,5,5,255,242,192,0,0,0,192,0,0,0,5,5,130,229,192,0,0,0,5,5,190,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,243,5,5,77,230,192,0,0,0,192,0,0,0,5,5,132,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,243,5,5,96,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,243,192,0,0,0,192,0,0,0,5,5,144,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,244,5,5,73,231,5,5,73,231,192,0,0,0,192,0,0,0,5,5,38,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,232,192,0,0,0,192,0,0,0,5,5,61,235,192,0,0,0,192,0,0,0,5,5,68,229,192,0,0,0,5,5,116,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,244,5,5,223,232,192,0,0,0,192,0,0,0,5,5,6,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,227,192,0,0,0,5,5,34,245,192,0,0,0,5,5,45,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,245,192,0,0,0,192,0,0,0,5,5,0,199,192,0,0,0,192,0,0,0,5,5,206,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,245,192,0,0,0,5,5,27,230,192,0,0,0,192,0,0,0,5,5,0,208,5,5,53,230,192,0,0,0,5,5,144,226,5,5,161,235,5,5,164,226,5,5,34,228,192,0,0,0,5,5,81,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,246,5,5,90,246,192,0,0,0,5,5,252,232,192,0,0,0,5,5,156,227,5,5,19,228,5,5,138,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,227,5,5,208,236,5,5,181,246,192,0,0,0,5,5,185,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,231,5,5,89,236,5,5,43,241,5,5,186,247,192,0,0,0,5,5,75,227,5,5,209,247,192,0,0,0,5,5,133,227,192,0,0,0,192,0,0,0,5,5,242,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,235,192,0,0,0,5,5,128,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,234,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,64,3,0,5,0,0,6,122,64,133,0,5,0,0,6,122,64,3,0,5,0,0,8,122,64,133,0,5,0,0,8,122,64,3,0,5,0,0,10,122,64,133,0,5,0,0,10,122,64,3,0,5,0,0,14,122,64,133,0,5,0,0,14,122,64,3,0,5,0,0,16,122,64,133,0,5,0,0,16,122,64,133,0,5,0,0,18,122,64,133,0,5,0,0,18,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,20,122,64,133,0,5,0,0,20,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,22,122,64,133,0,5,0,0,22,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,24,122,64,133,0,5,0,0,24,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,26,122,64,133,0,5,0,0,26,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,28,122,64,133,0,5,0,0,28,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,30,122,64,133,0,5,0,0,30,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,32,122,64,133,0,5,0,0,32,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,34,122,64,133,0,5,0,0,34,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,36,122,64,133,0,5,0,0,36,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,38,122,64,133,0,5,0,0,38,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,40,122,64,133,0,5,0,0,40,122,0,5,0,174,0,0,0,0,64,3,0,5,0,0,42,122,64,133,0,5,0,0,42,122,64,133,0,5,0,0,42,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,44,122,64,133,0,5,0,0,44,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,46,122,64,133,0,5,0,0,46,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,48,122,64,133,0,5,0,0,50,122,64,133,0,5,0,0,52,122,64,133,0,5,0,0,54,122,64,133,0,5,0,0,56,122,64,133,0,5,0,0,58,122,64,133,0,5,0,0,58,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,58,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,60,122,64,133,0,5,0,0,60,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,60,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,62,122,64,133,0,5,0,0,62,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,62,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,64,122,64,133,0,5,0,0,64,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,64,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,66,122,64,133,0,5,0,0,66,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,66,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,68,122,64,133,0,5,0,0,70,122,64,133,0,5,0,0,72,122,64,133,0,5,0,0,74,122,64,133,0,5,0,0,76,122,64,3,0,5,0,0,78,122,64,133,0,5,0,0,78,122,64,3,0,5,0,0,80,122,64,133,0,5,0,0,80,122,64,3,0,5,0,0,82,122,64,133,0,5,0,0,82,122,64,133,0,5,0,0,84,122,64,133,0,5,0,0,86,122,64,133,0,5,0,0,88,122,64,133,0,5,0,0,90,122,64,133,0,5,0,0,92,122,64,3,0,5,0,0,94,122,64,133,0,5,0,0,94,122,64,133,0,5,0,0,96,122,64,133,0,5,0,0,98,122,64,133,0,5,0,0,100,122,64,133,0,5,0,0,102,122,64,133,0,5,0,0,10,122,0,5,0,174,0,0,0,0,64,3,0,5,0,0,18,122,64,3,0,5,0,0,24,122,64,133,0,5,0,0,94,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,96,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,98,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,100,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,6,122,64,2,0,5,0,0,8,122,64,2,0,5,0,0,10,122,64,2,0,5,0,0,14,122,64,2,0,5,0,0,16,122,64,5,0,5,0,0,116,13,64,4,0,5,0,0,6,122,64,4,0,5,0,0,8,122,64,4,0,5,0,0,10,122,64,4,0,5,0,0,14,122,64,4,0,5,0,0,16,122,64,4,0,5,0,0,18,122,0,5,0,5,0,0,18,122,64,2,0,174,0,0,0,0,64,2,0,5,0,0,20,122,64,2,0,5,0,0,22,122,64,4,0,5,0,0,24,122,0,5,0,5,0,0,24,122,64,3,0,174,0,0,0,0,64,2,0,5,0,0,26,122,64,2,0,5,0,0,28,122,64,4,0,5,0,0,30,122,64,4,0,5,0,0,32,122,64,2,0,5,0,0,34,122,64,2,0,5,0,0,36,122,64,2,0,5,0,0,38,122,64,2,0,5,0,0,40,122,64,4,0,5,0,0,42,122,64,2,0,5,0,0,44,122,64,2,0,5,0,0,46,122,64,2,0,5,0,0,48,122,64,2,0,5,0,0,50,122,64,2,0,5,0,0,52,122,64,2,0,5,0,0,54,122,64,2,0,5,0,0,56,122,64,2,0,5,0,0,58,122,64,2,0,5,0,0,60,122,64,2,0,5,0,0,62,122,64,2,0,5,0,0,64,122,64,2,0,5,0,0,66,122,64,4,0,5,0,0,68,122,64,2,0,5,0,0,70,122,64,2,0,5,0,0,72,122,64,4,0,5,0,0,74,122,64,2,0,5,0,0,76,122,64,4,0,5,0,0,78,122,64,4,0,5,0,0,80,122,64,4,0,5,0,0,82,122,64,2,0,5,0,0,84,122,64,2,0,5,0,0,86,122,64,2,0,5,0,0,88,122,64,2,0,5,0,0,90,122,64,2,0,5,0,0,92,122,64,4,0,5,0,0,94,122,64,4,0,5,0,0,96,122,64,4,0,5,0,0,98,122,64,4,0,5,0,0,100,122,64,2,0,5,0,0,102,122,64,5,0,5,0,0,116,13,0,5,0,174,0,0,0,0,64,4,0,5,0,0,6,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,8,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,10,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,14,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,16,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,18,122,0,5,0,174,0,0,0,0,0,5,0,5,0,0,18,122,64,2,0,174,0,0,0,0,0,5,0,174,0,0,0,0,64,2,0,5,0,0,20,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,22,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,24,122,0,5,0,174,0,0,0,0,0,5,0,5,0,0,24,122,64,3,0,174,0,0,0,0,0,5,0,174,0,0,0,0,64,2,0,5,0,0,26,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,28,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,30,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,32,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,34,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,36,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,38,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,40,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,42,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,44,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,46,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,48,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,50,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,52,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,54,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,56,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,58,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,60,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,62,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,64,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,66,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,68,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,70,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,72,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,74,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,76,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,78,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,80,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,82,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,84,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,86,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,88,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,90,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,92,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,94,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,96,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,98,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,100,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,102,122,0,5,0,174,0,0,0,0,64,5,0,5,0,0,26,122,0,5,0,70,0,0,46,122,0,133,0,5,0,247,101,121,0,0,0,0,5,5,18,122,2,174,0,0,5,5,24,122,3,174,0,0,5,5,116,13,5,174,0,0,4,5,6,122,5,174,0,0,4,5,8,122,5,174,0,0,4,5,10,122,5,174,0,0,4,5,14,122,5,174,0,0,4,5,16,122,5,174,0,0,4,5,18,122,5,174,0,0,5,5,18,122,2,174,0,0,5,174,0,0,2,5,20,122,5,174,0,0,2,5,22,122,5,174,0,0,4,5,24,122,5,174,0,0,5,5,24,122,3,174,0,0,5,174,0,0,2,5,26,122,5,174,0,0,2,5,28,122,5,174,0,0,4,5,30,122,5,174,0,0,4,5,32,122,5,174,0,0,2,5,34,122,5,174,0,0,2,5,36,122,5,174,0,0,2,5,38,122,5,174,0,0,2,5,40,122,5,174,0,0,4,5,42,122,5,174,0,0,2,5,44,122,5,174,0,0,2,5,46,122,5,174,0,0,2,5,48,122,5,174,0,0,2,5,50,122,5,174,0,0,2,5,52,122,5,174,0,0,2,5,54,122,5,174,0,0,2,5,56,122,5,174,0,0,2,5,58,122,5,174,0,0,2,5,60,122,5,174,0,0,2,5,62,122,5,174,0,0,2,5,64,122,5,174,0,0,2,5,66,122,5,174,0,0,4,5,68,122,5,174,0,0,2,5,70,122,5,174,0,0,2,5,72,122,5,174,0,0,4,5,74,122,5,174,0,0,2,5,76,122,5,174,0,0,4,5,78,122,5,174,0,0,4,5,80,122,5,174,0,0,4,5,82,122,5,174,0,0,2,5,84,122,5,174,0,0,2,5,86,122,5,174,0,0,2,5,88,122,5,174,0,0,2,5,90,122,5,174,0,0,2,5,92,122,5,174,0,0,4,5,94,122,5,174,0,0,4,5,96,122,5,174,0,0,4,5,98,122,5,174,0,0,4,5,100,122,5,174,0,0,2,5,102,122,5,174,0,0,5,5,82,122,5,70,86,122,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,116,13,5,5,0,0,87,0,109,48,48,1,131,48,204,0,142,48,154,0,147,48,132,0,150,48,118,0,150,48,255,255,24,122,4,5,153,48,22,0,154,48,4,0,111,48,255,255,58,122,2,5,114,48,255,255,60,122,2,5,117,48,255,255,62,122,2,5,120,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,20,0,93,48,48,0,104,48,26,0,117,48,12,0,117,48,255,255,62,122,2,5,120,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,104,48,255,255,46,122,2,5,111,48,255,255,58,122,2,5,114,48,255,255,60,122,2,5,93,48,255,255,36,122,2,5,95,48,255,255,38,122,2,5,97,48,255,255,40,122,2,5,100,48,255,255,42,122,4,5,102,48,255,255,44,122,2,5,83,48,20,0,83,48,255,255,26,122,2,5,85,48,255,255,28,122,2,5,87,48,255,255,30,122,4,5,89,48,255,255,32,122,4,5,91,48,255,255,34,122,2,5,70,48,255,255,10,122,4,5,75,48,197,162,77,48,255,255,20,122,2,5,79,48,255,255,22,122,2,5,81,48,0,192,197,98,147,48,255,255,102,122,2,5,148,48,255,255,10,122,4,5,149,48,255,255,18,122,4,5,142,48,255,255,94,122,4,5,143,48,255,255,94,122,4,5,144,48,255,255,96,122,4,5,145,48,255,255,98,122,4,5,146,48,255,255,100,122,4,5,136,48,26,0,139,48,12,0,139,48,255,255,88,122,2,5,140,48,255,255,90,122,2,5,141,48,255,255,92,122,2,5,136,48,255,255,82,122,4,5,137,48,255,255,84,122,2,5,138,48,255,255,86,122,2,5,131,48,255,255,78,122,4,5,132,48,255,255,78,122,4,5,133,48,255,255,80,122,4,5,134,48,255,255,80,122,4,5,135,48,255,255,82,122,4,5,120,48,48,0,125,48,26,0,128,48,12,0,128,48,255,255,72,122,2,5,129,48,255,255,74,122,4,5,130,48,255,255,76,122,2,5,125,48,255,255,66,122,2,5,126,48,255,255,68,122,4,5,127,48,255,255,70,122,2,5,120,48,255,255,64,122,2,5,121,48,255,255,64,122,2,5,122,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,124,48,255,255,66,122,2,5,114,48,26,0,117,48,12,0,117,48,255,255,62,122,2,5,118,48,255,255,62,122,2,5,119,48,255,255,62,122,2,5,114,48,255,255,60,122,2,5,115,48,255,255,60,122,2,5,116,48,255,255,60,122,2,5,109,48,255,255,54,122,2,5,110,48,255,255,56,122,2,5,111,48,255,255,58,122,2,5,112,48,255,255,58,122,2,5,113,48,255,255,58,122,2,5,87,48,98,0,98,48,48,0,103,48,26,0,106,48,12,0,106,48,255,255,48,122,2,5,107,48,255,255,50,122,2,5,108,48,255,255,52,122,2,5,103,48,255,255,44,122,2,5,104,48,255,255,46,122,2,5,105,48,255,255,46,122,2,5,98,48,255,255,40,122,2,5,99,48,255,255,42,122,4,5,100,48,255,255,42,122,4,5,101,48,255,255,42,122,4,5,102,48,255,255,44,122,2,5,92,48,26,0,95,48,12,0,95,48,255,255,38,122,2,5,96,48,255,255,38,122,2,5,97,48,255,255,40,122,2,5,92,48,255,255,34,122,2,5,93,48,255,255,36,122,2,5,94,48,255,255,36,122,2,5,87,48,255,255,30,122,4,5,88,48,255,255,30,122,4,5,89,48,255,255,32,122,4,5,90,48,255,255,32,122,4,5,91,48,255,255,34,122,2,5,76,48,45,0,81,48,25,0,84,48,12,0,84,48,255,255,26,122,2,5,85,48,255,255,28,122,2,5,86,48,255,255,28,122,2,5,81,48,255,255,24,122,4,5,82,48,0,192,197,98,83,48,255,255,26,122,2,5,76,48,197,162,77,48,255,255,20,122,2,5,78,48,255,255,20,122,2,5,79,48,255,255,22,122,2,5,80,48,255,255,22,122,2,5,70,48,26,0,73,48,12,0,73,48,255,255,16,122,4,5,74,48,255,255,16,122,4,5,75,48,255,255,18,122,4,5,70,48,255,255,10,122,4,5,71,48,255,255,14,122,4,5,72,48,255,255,14,122,4,5,65,48,255,255,6,122,4,5,66,48,255,255,6,122,4,5,67,48,255,255,8,122,4,5,68,48,255,255,8,122,4,5,69,48,255,255,10,122,4,5,0,0,197,162,0,0,87,0,109,48,239,0,131,48,161,0,142,48,122,0,147,48,105,0,150,48,94,0,150,48,3,192,197,66,153,48,17,0,154,48,4,0,111,48,7,192,197,226,114,48,8,192,197,34,117,48,8,192,197,98,120,48,8,192,197,162,123,48,8,192,197,226,20,0,93,48,37,0,104,48,20,0,117,48,9,0,117,48,8,192,197,98,120,48,8,192,197,162,123,48,8,192,197,226,104,48,6,192,197,98,111,48,7,192,197,226,114,48,8,192,197,34,93,48,5,192,197,34,95,48,5,192,197,98,97,48,5,192,197,162,100,48,5,192,197,226,102,48,6,192,197,34,83,48,15,0,83,48,3,192,197,226,85,48,4,192,197,34,87,48,4,192,197,98,89,48,4,192,197,162,91,48,4,192,197,226,70,48,1,192,197,98,75,48,2,192,197,99,77,48,2,192,197,194,79,48,3,192,197,2,81,48,3,192,197,131,147,48,13,192,197,98,148,48,1,192,197,98,149,48,2,192,197,34,142,48,12,192,197,98,143,48,12,192,197,98,144,48,12,192,197,162,145,48,12,192,197,226,146,48,13,192,197,34,136,48,20,0,139,48,9,0,139,48,11,192,197,162,140,48,11,192,197,226,141,48,12,192,197,34,136,48,10,192,197,226,137,48,11,192,197,34,138,48,11,192,197,98,131,48,10,192,197,98,132,48,10,192,197,98,133,48,10,192,197,162,134,48,10,192,197,162,135,48,10,192,197,226,120,48,37,0,125,48,20,0,128,48,9,0,128,48,9,192,197,162,129,48,9,192,197,226,130,48,10,192,197,34,125,48,8,192,197,226,126,48,9,192,197,34,127,48,9,192,197,98,120,48,8,192,197,162,121,48,8,192,197,162,122,48,8,192,197,162,123,48,8,192,197,226,124,48,8,192,197,226,114,48,20,0,117,48,9,0,117,48,8,192,197,98,118,48,8,192,197,98,119,48,8,192,197,98,114,48,8,192,197,34,115,48,8,192,197,34,116,48,8,192,197,34,109,48,7,192,197,98,110,48,7,192,197,162,111,48,7,192,197,226,112,48,7,192,197,226,113,48,7,192,197,226,87,48,76,0,98,48,37,0,103,48,20,0,106,48,9,0,106,48,6,192,197,162,107,48,6,192,197,226,108,48,7,192,197,34,103,48,6,192,197,34,104,48,6,192,197,98,105,48,6,192,197,98,98,48,5,192,197,162,99,48,5,192,197,226,100,48,5,192,197,226,101,48,5,192,197,226,102,48,6,192,197,34,92,48,20,0,95,48,9,0,95,48,5,192,197,98,96,48,5,192,197,98,97,48,5,192,197,162,92,48,4,192,197,226,93,48,5,192,197,34,94,48,5,192,197,34,87,48,4,192,197,98,88,48,4,192,197,98,89,48,4,192,197,162,90,48,4,192,197,162,91,48,4,192,197,226,76,48,37,0,81,48,20,0,84,48,9,0,84,48,3,192,197,226,85,48,4,192,197,34,86,48,4,192,197,34,81,48,3,192,197,66,82,48,3,192,197,131,83,48,3,192,197,226,76,48,2,192,197,99,77,48,2,192,197,194,78,48,2,192,197,194,79,48,3,192,197,2,80,48,3,192,197,2,70,48,20,0,73,48,9,0,73,48,1,192,197,226,74,48,1,192,197,226,75,48,2,192,197,34,70,48,1,192,197,98,71,48,1,192,197,162,72,48,1,192,197,162,65,48,0,192,197,226,66,48,0,192,197,226,67,48,1,192,197,34,68,48,1,192,197,34,69,48,1,192,197,98,118,13,5,5,0,0,245,0,197,48,175,1,248,49,216,0,126,255,107,0,141,255,54,0,149,255,26,0,153,255,12,0,153,255,15,192,198,65,154,255,15,192,198,97,155,255,15,192,198,129,156,255,15,192,198,1,149,255,15,192,198,65,150,255,15,192,198,129,151,255,15,192,198,1,152,255,15,192,198,33,145,255,12,0,145,255,15,192,198,65,146,255,15,192,198,97,147,255,15,192,198,129,148,255,15,192,198,1,141,255,15,192,198,97,142,255,15,192,198,129,143,255,15,192,198,1,144,255,15,192,198,33,133,255,26,0,137,255,12,0,137,255,15,192,198,129,138,255,15,192,198,1,139,255,15,192,198,33,140,255,15,192,198,65,133,255,15,192,198,1,134,255,15,192,198,33,135,255,15,192,198,65,136,255,15,192,198,97,129,255,12,0,129,255,15,192,198,33,130,255,15,192,198,65,131,255,15,192,198,97,132,255,15,192,198,129,126,255,15,192,198,97,127,255,15,192,198,129,128,255,15,192,198,1,109,255,54,0,118,255,26,0,122,255,12,0,122,255,15,192,198,129,123,255,15,192,198,1,124,255,15,192,198,33,125,255,15,192,198,65,118,255,15,192,198,1,119,255,15,192,198,33,120,255,15,192,198,65,121,255,15,192,198,97,114,255,12,0,114,255,15,192,198,33,115,255,15,192,198,65,116,255,15,192,198,97,117,255,15,192,198,129,109,255,15,192,198,65,110,255,15,192,198,129,111,255,15,192,198,65,113,255,15,192,198,1,255,49,26,0,105,255,12,0,105,255,15,192,198,65,106,255,15,192,198,97,107,255,15,192,198,129,108,255,15,192,198,1,255,49,15,192,198,129,102,255,15,192,198,129,103,255,15,192,198,1,104,255,15,192,198,33,251,49,12,0,251,49,15,192,198,1,252,49,15,192,198,33,253,49,15,192,198,65,254,49,15,192,198,97,248,49,15,192,198,97,249,49,15,192,198,129,250,49,15,192,198,65,227,48,107,0,242,48,54,0,240,49,26,0,244,49,12,0,244,49,15,192,198,65,245,49,15,192,198,1,246,49,15,192,198,33,247,49,15,192,198,65,240,49,15,192,198,65,241,49,15,192,198,33,242,49,15,192,198,65,243,49,15,192,198,129,247,48,12,0,247,48,15,192,198,1,248,48,15,192,198,33,249,48,15,192,198,97,250,48,15,192,198,129,242,48,15,192,198,129,244,48,15,192,198,65,245,48,15,192,198,1,246,48,15,192,198,97,234,48,26,0,238,48,12,0,238,48,15,192,198,1,239,48,15,192,198,1,240,48,15,192,198,33,241,48,15,192,198,97,234,48,15,192,198,33,235,48,15,192,198,65,236,48,15,192,198,97,237,48,15,192,198,129,230,48,12,0,230,48,15,192,198,65,231,48,15,192,198,129,232,48,15,192,198,129,233,48,15,192,198,1,227,48,15,192,198,1,228,48,15,192,198,1,229,48,15,192,198,65,212,48,51,0,219,48,26,0,223,48,12,0,223,48,15,192,198,33,224,48,15,192,198,65,225,48,15,192,198,97,226,48,15,192,198,129,219,48,15,192,198,129,220,48,15,192,198,129,221,48,15,192,198,129,222,48,15,192,198,1,215,48,12,0,215,48,15,192,198,65,216,48,15,192,198,97,217,48,15,192,198,97,218,48,15,192,198,97,212,48,15,192,198,33,213,48,15,192,198,65,214,48,15,192,198,65,204,48,26,0,208,48,12,0,208,48,15,192,198,1,209,48,15,192,198,1,210,48,15,192,198,33,211,48,15,192,198,33,204,48,15,192,198,65,205,48,15,192,198,97,206,48,15,192,198,129,207,48,15,192,198,1,200,48,12,0,200,48,15,192,198,129,201,48,15,192,198,129,202,48,15,192,198,1,203,48,15,192,198,33,197,48,15,192,198,65,198,48,15,192,198,97,199,48,15,192,198,97,126,48,206,1,166,48,107,0,181,48,54,0,189,48,26,0,193,48,12,0,193,48,15,192,198,33,194,48,15,192,198,33,195,48,15,192,198,65,196,48,15,192,198,65,189,48,15,192,198,129,190,48,15,192,198,129,191,48,15,192,198,1,192,48,15,192,198,1,185,48,12,0,185,48,15,192,198,65,186,48,15,192,198,65,187,48,15,192,198,97,188,48,15,192,198,97,181,48,15,192,198,1,182,48,15,192,198,1,183,48,15,192,198,33,184,48,15,192,198,33,173,48,26,0,177,48,12,0,177,48,15,192,198,97,178,48,15,192,198,97,179,48,15,192,198,129,180,48,15,192,198,129,173,48,15,192,198,33,174,48,15,192,198,33,175,48,15,192,198,65,176,48,15,192,198,65,169,48,12,0,169,48,15,192,198,129,170,48,15,192,198,129,171,48,15,192,198,1,172,48,15,192,198,1,166,48,15,192,198,65,167,48,15,192,198,97,168,48,15,192,198,97,141,48,29,1,150,48,249,0,162,48,12,0,162,48,15,192,198,1,163,48,15,192,198,33,164,48,15,192,198,33,165,48,15,192,198,65,150,48,255,255,14,122,2,5,153,48,5,0,154,48,189,0,161,48,15,192,198,1,45,0,173,48,81,0,196,48,42,0,216,48,20,0,240,48,9,0,240,48,15,192,198,33,241,48,15,192,198,97,242,48,15,192,198,129,216,48,15,192,198,97,219,48,15,192,198,129,239,48,15,192,198,1,207,48,9,0,207,48,15,192,198,1,210,48,15,192,198,33,213,48,15,192,198,65,196,48,15,192,198,65,198,48,15,192,198,97,200,48,15,192,198,129,183,48,20,0,189,48,9,0,189,48,15,192,198,129,191,48,15,192,198,1,193,48,15,192,198,33,183,48,15,192,198,33,185,48,15,192,198,65,187,48,15,192,198,97,173,48,15,192,198,33,175,48,15,192,198,65,177,48,15,192,198,97,179,48,15,192,198,129,181,48,15,192,198,1,95,48,52,0,114,48,24,0,123,48,10,0,123,48,255,255,16,122,2,5,166,48,15,192,198,65,171,48,15,192,198,1,114,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,102,48,12,0,102,48,255,255,14,122,2,5,104,48,255,255,16,122,2,5,111,48,255,255,6,122,2,5,95,48,255,255,6,122,2,5,97,48,255,255,8,122,2,5,100,48,255,255,10,122,2,5,83,48,26,0,89,48,12,0,89,48,255,255,10,122,2,5,91,48,255,255,14,122,2,5,93,48,255,255,16,122,2,5,83,48,255,255,16,122,2,5,85,48,255,255,6,122,2,5,87,48,255,255,8,122,2,5,70,48,255,255,10,122,2,5,75,48,255,255,6,122,2,5,77,48,255,255,8,122,2,5,79,48,255,255,10,122,2,5,81,48,255,255,14,122,2,5,9,0,207,48,15,0,207,48,15,192,198,1,210,48,15,192,198,33,213,48,15,192,198,65,216,48,15,192,198,97,219,48,15,192,198,129,111,48,255,255,6,122,2,5,114,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,123,48,255,255,16,122,2,5,145,48,16,0,145,48,255,255,14,122,2,5,146,48,255,255,16,122,2,5,148,48,255,255,10,122,2,5,149,48,255,255,6,122,2,5,141,48,255,255,16,122,2,5,142,48,255,255,6,122,2,5,143,48,255,255,6,122,2,5,144,48,255,255,8,122,2,5,133,48,34,0,137,48,16,0,137,48,255,255,6,122,2,5,138,48,255,255,8,122,2,5,139,48,255,255,10,122,2,5,140,48,255,255,14,122,2,5,133,48,255,255,10,122,2,5,134,48,255,255,10,122,2,5,135,48,255,255,16,122,2,5,136,48,255,255,16,122,2,5,129,48,16,0,129,48,255,255,14,122,2,5,130,48,255,255,16,122,2,5,131,48,255,255,6,122,2,5,132,48,255,255,6,122,2,5,126,48,255,255,6,122,2,5,127,48,255,255,8,122,2,5,128,48,255,255,10,122,2,5,95,48,138,0,110,48,70,0,118,48,34,0,122,48,16,0,122,48,255,255,14,122,2,5,123,48,255,255,16,122,2,5,124,48,255,255,16,122,2,5,125,48,255,255,16,122,2,5,118,48,255,255,10,122,2,5,119,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,121,48,255,255,14,122,2,5,114,48,16,0,114,48,255,255,8,122,2,5,115,48,255,255,8,122,2,5,116,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,110,48,255,255,16,122,2,5,111,48,255,255,6,122,2,5,112,48,255,255,6,122,2,5,113,48,255,255,6,122,2,5,102,48,34,0,106,48,16,0,106,48,255,255,6,122,2,5,107,48,255,255,8,122,2,5,108,48,255,255,10,122,2,5,109,48,255,255,14,122,2,5,102,48,255,255,14,122,2,5,103,48,255,255,14,122,2,5,104,48,255,255,16,122,2,5,105,48,255,255,16,122,2,5,98,48,16,0,98,48,255,255,8,122,2,5,99,48,255,255,10,122,2,5,100,48,255,255,10,122,2,5,101,48,255,255,10,122,2,5,95,48,255,255,6,122,2,5,96,48,255,255,6,122,2,5,97,48,255,255,8,122,2,5,80,48,66,0,87,48,34,0,91,48,16,0,91,48,255,255,14,122,2,5,92,48,255,255,14,122,2,5,93,48,255,255,16,122,2,5,94,48,255,255,16,122,2,5,87,48,255,255,8,122,2,5,88,48,255,255,8,122,2,5,89,48,255,255,10,122,2,5,90,48,255,255,10,122,2,5,83,48,16,0,83,48,255,255,16,122,2,5,84,48,255,255,16,122,2,5,85,48,255,255,6,122,2,5,86,48,255,255,6,122,2,5,80,48,255,255,10,122,2,5,81,48,255,255,14,122,2,5,82,48,255,255,14,122,2,5,72,48,34,0,76,48,16,0,76,48,255,255,6,122,2,5,77,48,255,255,8,122,2,5,78,48,255,255,8,122,2,5,79,48,255,255,10,122,2,5,72,48,255,255,14,122,2,5,73,48,255,255,16,122,2,5,74,48,255,255,16,122,2,5,75,48,255,255,6,122,2,5,68,48,16,0,68,48,255,255,8,122,2,5,69,48,255,255,10,122,2,5,70,48,255,255,10,122,2,5,71,48,255,255,14,122,2,5,65,48,255,255,6,122,2,5,66,48,255,255,6,122,2,5,67,48,255,255,8,122,2,5,15,0,198,161,0,0,162,0,240,48,24,1,117,255,139,0,137,255,71,0,147,255,37,0,152,255,20,0,155,255,9,0,155,255,21,192,198,129,156,255,21,192,198,161,157,255,22,192,198,33,152,255,21,192,198,33,153,255,21,192,198,65,154,255,21,192,198,97,147,255,20,192,198,129,148,255,20,192,198,161,149,255,20,192,198,193,150,255,20,192,198,225,151,255,21,192,198,1,142,255,15,0,142,255,19,192,198,225,143,255,20,192,198,1,144,255,20,192,198,33,145,255,20,192,198,65,146,255,20,192,198,97,137,255,19,192,198,65,138,255,19,192,198,97,139,255,19,192,198,129,140,255,19,192,198,161,141,255,19,192,198,193,127,255,32,0,132,255,15,0,132,255,18,192,198,161,133,255,18,192,198,193,134,255,18,192,198,225,135,255,19,192,198,1,136,255,19,192,198,33,127,255,18,192,198,1,128,255,18,192,198,33,129,255,18,192,198,65,130,255,18,192,198,97,131,255,18,192,198,129,122,255,15,0,122,255,17,192,198,97,123,255,17,192,198,129,124,255,17,192,198,161,125,255,17,192,198,193,126,255,17,192,198,225,117,255,16,192,198,65,118,255,16,192,198,97,119,255,16,192,198,193,120,255,16,192,198,225,121,255,17,192,198,1,249,49,71,0,105,255,37,0,110,255,20,0,114,255,9,0,114,255,15,192,198,225,115,255,16,192,198,1,116,255,16,192,198,33,110,255,20,192,198,225,111,255,18,192,198,97,113,255,15,192,198,193,105,255,16,192,198,1,106,255,16,192,198,33,107,255,16,192,198,65,108,255,20,192,198,161,109,255,20,192,198,193,254,49,15,0,254,49,21,192,198,97,255,49,21,192,198,129,102,255,22,192,198,1,103,255,15,192,198,193,104,255,15,192,198,225,249,49,19,192,198,225,250,49,20,192,198,65,251,49,21,192,198,1,252,49,21,192,198,33,253,49,21,192,198,65,250,48,32,0,244,49,15,0,244,49,19,192,198,1,245,49,19,192,198,97,246,49,19,192,198,129,247,49,19,192,198,161,248,49,19,192,198,193,250,48,22,192,198,1,240,49,16,192,198,225,241,49,17,192,198,161,242,49,17,192,198,193,243,49,18,192,198,161,245,48,15,0,245,48,16,192,198,97,246,48,17,192,198,1,247,48,21,192,198,161,248,48,21,192,198,193,249,48,21,192,198,225,240,48,21,192,198,193,241,48,21,192,198,225,242,48,22,192,198,1,243,48,22,192,198,33,244,48,16,192,198,1,199,48,139,0,219,48,71,0,229,48,37,0,234,48,20,0,237,48,9,0,237,48,21,192,198,129,238,48,21,192,198,161,239,48,21,192,198,161,234,48,21,192,198,33,235,48,21,192,198,65,236,48,21,192,198,97,229,48,20,192,198,193,230,48,20,192,198,193,231,48,20,192,198,225,232,48,20,192,198,225,233,48,21,192,198,1,224,48,15,0,224,48,20,192,198,65,225,48,20,192,198,97,226,48,20,192,198,129,227,48,20,192,198,161,228,48,20,192,198,161,219,48,19,192,198,225,220,48,19,192,198,225,221,48,19,192,198,225,222,48,20,192,198,1,223,48,20,192,198,33,209,48,32,0,214,48,15,0,214,48,19,192,198,161,215,48,19,192,198,161,216,48,19,192,198,193,217,48,19,192,198,193,218,48,19,192,198,193,209,48,19,192,198,97,210,48,19,192,198,129,211,48,19,192,198,129,212,48,19,192,198,129,213,48,19,192,198,161,204,48,15,0,204,48,19,192,198,1,205,48,19,192,198,33,206,48,19,192,198,65,207,48,19,192,198,97,208,48,19,192,198,97,199,48,18,192,198,129,200,48,18,192,198,161,201,48,18,192,198,161,202,48,18,192,198,193,203,48,18,192,198,225,179,48,66,0,189,48,32,0,194,48,15,0,194,48,18,192,198,65,195,48,18,192,198,97,196,48,18,192,198,97,197,48,18,192,198,97,198,48,18,192,198,129,189,48,18,192,198,1,190,48,18,192,198,1,191,48,18,192,198,33,192,48,18,192,198,33,193,48,18,192,198,65,184,48,15,0,184,48,17,192,198,161,185,48,17,192,198,193,186,48,17,192,198,193,187,48,17,192,198,225,188,48,17,192,198,225,179,48,17,192,198,97,180,48,17,192,198,97,181,48,17,192,198,129,182,48,17,192,198,129,183,48,17,192,198,161,169,48,32,0,174,48,15,0,174,48,16,192,198,193,175,48,16,192,198,225,176,48,16,192,198,225,177,48,17,192,198,1,178,48,17,192,198,34,169,48,16,192,198,65,170,48,16,192,198,65,171,48,16,192,198,97,172,48,16,192,198,130,173,48,16,192,198,193,164,48,15,0,164,48,15,192,198,225,165,48,16,192,198,1,166,48,16,192,198,1,167,48,16,192,198,33,168,48,16,192,198,33,153,48,11,0,154,48,99,0,161,48,15,192,198,193,162,48,15,192,198,193,163,48,15,192,198,225,24,0,193,48,45,0,213,48,23,0,239,48,12,0,239,48,21,192,198,161,240,48,21,192,198,193,241,48,21,192,198,225,242,48,22,192,198,1,213,48,19,192,198,161,216,48,19,192,198,193,219,48,19,192,198,225,200,48,9,0,200,48,18,192,198,161,207,48,19,192,198,97,210,48,19,192,198,129,193,48,18,192,198,65,196,48,18,192,198,97,198,48,18,192,198,129,181,48,20,0,187,48,9,0,187,48,17,192,198,225,189,48,18,192,198,1,191,48,18,192,198,33,181,48,17,192,198,129,183,48,17,192,198,161,185,48,17,192,198,193,175,48,9,0,175,48,16,192,198,225,177,48,17,192,198,34,179,48,17,192,198,97,166,48,16,192,198,1,171,48,16,192,198,130,173,48,16,192,198,193,4,0,207,48,19,192,198,97,210,48,19,192,198,129,213,48,19,192,198,161,216,48,19,192,198,193,219,48,19,192,198,225,22,0,198,66,0,0,162,0,240,48,24,1,117,255,139,0,137,255,71,0,147,255,37,0,152,255,20,0,155,255,9,0,155,255,33,192,198,194,156,255,34,192,198,2,157,255,35,192,198,2,152,255,33,192,198,2,153,255,33,192,198,66,154,255,33,192,198,130,147,255,31,192,198,194,148,255,32,192,198,2,149,255,32,192,198,66,150,255,32,192,198,130,151,255,32,192,198,194,142,255,15,0,142,255,30,192,198,130,143,255,30,192,198,194,144,255,31,192,198,2,145,255,31,192,198,66,146,255,31,192,198,130,137,255,29,192,198,66,138,255,29,192,198,130,139,255,29,192,198,194,140,255,30,192,198,2,141,255,30,192,198,66,127,255,32,0,132,255,15,0,132,255,28,192,198,2,133,255,28,192,198,66,134,255,28,192,198,130,135,255,28,192,198,194,136,255,29,192,198,2,127,255,26,192,198,194,128,255,27,192,198,2,129,255,27,192,198,66,130,255,27,192,198,130,131,255,27,192,198,194,122,255,15,0,122,255,25,192,198,130,123,255,25,192,198,194,124,255,26,192,198,2,125,255,26,192,198,66,126,255,26,192,198,130,117,255,23,192,198,130,118,255,23,192,198,194,119,255,24,192,198,98,120,255,24,192,198,162,121,255,24,192,198,226,249,49,71,0,105,255,37,0,110,255,20,0,114,255,9,0,114,255,22,192,198,194,115,255,23,192,198,2,116,255,23,192,198,66,110,255,32,192,198,130,111,255,27,192,198,130,113,255,22,192,198,130,105,255,23,192,198,2,106,255,23,192,198,66,107,255,23,192,198,130,108,255,32,192,198,2,109,255,32,192,198,66,254,49,15,0,254,49,33,192,198,130,255,49,33,192,198,194,102,255,34,192,198,194,103,255,22,192,198,130,104,255,22,192,198,194,249,49,30,192,198,130,250,49,31,192,198,66,251,49,32,192,198,194,252,49,33,192,198,2,253,49,33,192,198,66,250,48,32,0,244,49,15,0,244,49,28,192,198,194,245,49,29,192,198,130,246,49,29,192,198,194,247,49,30,192,198,2,248,49,30,192,198,66,250,48,34,192,198,194,240,49,24,192,198,162,241,49,26,192,198,2,242,49,26,192,198,66,243,49,28,192,198,2,245,48,15,0,245,48,23,192,198,194,246,48,24,192,198,226,247,48,34,192,198,2,248,48,34,192,198,66,249,48,34,192,198,130,240,48,34,192,198,66,241,48,34,192,198,130,242,48,34,192,198,194,243,48,35,192,198,2,244,48,23,192,198,2,199,48,139,0,219,48,71,0,229,48,37,0,234,48,20,0,237,48,9,0,237,48,33,192,198,194,238,48,34,192,198,2,239,48,34,192,198,2,234,48,33,192,198,2,235,48,33,192,198,66,236,48,33,192,198,130,229,48,32,192,198,66,230,48,32,192,198,66,231,48,32,192,198,130,232,48,32,192,198,130,233,48,32,192,198,194,224,48,15,0,224,48,31,192,198,66,225,48,31,192,198,130,226,48,31,192,198,194,227,48,32,192,198,2,228,48,32,192,198,2,219,48,30,192,198,130,220,48,30,192,198,130,221,48,30,192,198,130,222,48,30,192,198,194,223,48,31,192,198,2,209,48,32,0,214,48,15,0,214,48,30,192,198,2,215,48,30,192,198,2,216,48,30,192,198,66,217,48,30,192,198,66,218,48,30,192,198,66,209,48,29,192,198,130,210,48,29,192,198,194,211,48,29,192,198,194,212,48,29,192,198,194,213,48,30,192,198,2,204,48,15,0,204,48,28,192,198,194,205,48,29,192,198,2,206,48,29,192,198,66,207,48,29,192,198,130,208,48,29,192,198,130,199,48,27,192,198,194,200,48,28,192,198,2,201,48,28,192,198,2,202,48,28,192,198,66,203,48,28,192,198,130,179,48,66,0,189,48,32,0,194,48,15,0,194,48,27,192,198,66,195,48,27,192,198,130,196,48,27,192,198,130,197,48,27,192,198,130,198,48,27,192,198,194,189,48,26,192,198,194,190,48,26,192,198,194,191,48,27,192,198,2,192,48,27,192,198,2,193,48,27,192,198,66,184,48,15,0,184,48,26,192,198,2,185,48,26,192,198,66,186,48,26,192,198,66,187,48,26,192,198,130,188,48,26,192,198,130,179,48,25,192,198,130,180,48,25,192,198,130,181,48,25,192,198,194,182,48,25,192,198,194,183,48,26,192,198,2,169,48,32,0,174,48,15,0,174,48,24,192,198,98,175,48,24,192,198,162,176,48,24,192,198,162,177,48,24,192,198,226,178,48,25,192,198,35,169,48,23,192,198,130,170,48,23,192,198,130,171,48,23,192,198,194,172,48,24,192,198,3,173,48,24,192,198,98,164,48,15,0,164,48,22,192,198,194,165,48,23,192,198,2,166,48,23,192,198,2,167,48,23,192,198,66,168,48,23,192,198,66,153,48,11,0,154,48,99,0,161,48,22,192,198,130,162,48,22,192,198,130,163,48,22,192,198,194,24,0,193,48,45,0,213,48,23,0,239,48,12,0,239,48,34,192,198,2,240,48,34,192,198,66,241,48,34,192,198,130,242,48,34,192,198,194,213,48,30,192,198,2,216,48,30,192,198,66,219,48,30,192,198,130,200,48,9,0,200,48,28,192,198,2,207,48,29,192,198,130,210,48,29,192,198,194,193,48,27,192,198,66,196,48,27,192,198,130,198,48,27,192,198,194,181,48,20,0,187,48,9,0,187,48,26,192,198,130,189,48,26,192,198,194,191,48,27,192,198,2,181,48,25,192,198,194,183,48,26,192,198,2,185,48,26,192,198,66,175,48,9,0,175,48,24,192,198,162,177,48,25,192,198,35,179,48,25,192,198,130,166,48,23,192,198,2,171,48,24,192,198,3,173,48,24,192,198,98,4,0,207,48,29,192,198,130,210,48,29,192,198,194,213,48,30,192,198,2,216,48,30,192,198,66,219,48,30,192,198,130,170,170,3,0,82,0,56,0,65,0,219,22,0,16,109,20,0,96,1,0,0,96,252,82,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,16,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,76,0,0,0,76,1,0,0,188,31,0,0,188,31,0,0,172,40,0,0,172,40,0,0,168,42,0,0,168,42,0,0,168,78,0,0,224,82,0,0,25,0,0,0,22,0,0,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,94,249,250,251,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,254,255,50,105,114,84,1,0,64,8,222,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,97,0,105,0,113,0,121,0,48,0,129,0,137,0,145,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,149,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,157,0,16,0,165,0,173,0,181,0,189,0,197,0,205,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,14,0,202,193,14,0,202,226,14,0,202,3,15,0,202,36,15,0,202,69,15,0,202,102,15,0,202,135,15,0,202,168,15,0,202,201,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,13,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,14,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,14,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,200,0,0,0,200,32,63,0,197,162,13,0,192,0,0,0,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,198,129,0,0,198,161,0,0,198,193,0,0,198,225,0,0,198,1,1,0,198,33,1,0,198,65,1,0,198,98,1,0,198,161,1,0,198,194,1,0,198,1,2,0,198,34,2,0,198,97,2,0,198,130,2,0,198,193,2,0,198,226,2,0,198,33,3,0,198,66,3,0,198,129,3,0,198,162,3,0,198,225,3,0,198,2,4,0,198,65,4,0,198,98,4,0,198,161,4,0,198,194,4,0,198,1,5,0,198,34,5,0,198,97,5,0,198,130,5,0,198,193,5,0,198,225,5,0,198,2,6,0,198,65,6,0,198,98,6,0,198,161,6,0,198,194,6,0,198,1,7,0,198,33,7,0,198,65,7,0,198,97,7,0,198,129,7,0,198,161,7,0,198,194,7,0,198,2,8,0,198,65,8,0,198,98,8,0,198,162,8,0,198,225,8,0,198,2,9,0,198,66,9,0,198,129,9,0,198,162,9,0,198,226,9,0,198,33,10,0,198,66,10,0,198,130,10,0,198,193,10,0,198,225,10,0,198,1,11,0,198,33,11,0,198,65,11,0,198,97,11,0,198,129,11,0,198,161,11,0,198,193,11,0,198,225,11,0,198,1,12,0,198,33,12,0,198,65,12,0,198,97,12,0,198,129,12,0,198,161,12,0,198,193,12,0,198,225,12,0,198,1,13,0,198,33,13,0,198,65,13,0,198,97,13,0,198,130,13,0,198,193,13,0,198,225,13,0,198,2,14,0,198,66,14,0,198,130,14,0,198,194,14,0,192,0,0,0,200,0,113,0,200,224,3,1,200,0,87,1,198,66,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,5,5,8,121,5,5,183,121,5,5,10,121,5,5,187,121,5,5,189,121,5,5,12,121,5,5,14,121,5,5,16,121,5,5,195,121,5,5,197,121,5,5,199,121,5,5,201,121,5,5,203,121,5,5,205,121,5,5,52,121,5,5,18,121,5,5,20,121,5,5,22,121,5,5,66,121,5,5,24,121,5,5,26,121,5,5,28,121,5,5,30,121,5,5,32,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,5,5,105,121,5,5,107,121,5,5,109,121,5,5,111,121,5,5,113,121,5,5,115,121,5,5,117,121,5,5,119,121,5,5,121,121,5,5,123,121,5,5,125,121,5,5,127,121,5,5,129,121,5,5,131,121,5,5,133,121,5,5,135,121,5,5,137,121,5,5,139,121,5,5,141,121,5,5,143,121,193,247,101,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,170,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,14,0,202,193,14,0,202,226,14,0,202,3,15,0,202,36,15,0,202,69,15,0,202,102,15,0,202,135,15,0,202,168,15,0,202,201,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,192,0,0,0,192,0,0,0,133,5,24,9,133,5,70,10,133,5,72,10,133,5,34,7,192,0,0,0,198,65,13,0,198,1,0,0,198,65,0,0,198,129,0,0,198,193,0,0,198,1,1,0,198,97,11,0,198,161,11,0,198,225,11,0,198,193,5,0,192,0,0,0,198,33,0,0,198,97,0,0,198,161,0,0,198,225,0,0,198,33,1,0,198,65,1,0,198,161,1,0,198,1,2,0,198,97,2,0,198,193,2,0,198,33,3,0,198,129,3,0,198,225,3,0,198,65,4,0,198,161,4,0,198,1,5,0,198,97,5,0,198,225,5,0,198,65,6,0,198,161,6,0,198,1,7,0,198,33,7,0,198,65,7,0,198,97,7,0,198,129,7,0,198,161,7,0,198,65,8,0,198,225,8,0,198,129,9,0,198,33,10,0,198,193,10,0,198,225,10,0,198,1,11,0,198,33,11,0,198,65,11,0,198,129,11,0,198,193,11,0,198,1,12,0,198,33,12,0,198,65,12,0,198,97,12,0,198,129,12,0,198,161,12,0,198,225,12,0,198,97,13,0,192,0,0,0,192,0,0,0,198,161,35,0,133,5,6,121,133,5,8,121,133,5,183,121,133,5,10,121,133,5,187,121,133,5,189,121,133,5,12,121,133,5,14,121,133,5,16,121,133,5,195,121,133,5,197,121,133,5,199,121,133,5,201,121,133,5,203,121,133,5,205,121,133,5,52,121,133,5,18,121,133,5,20,121,133,5,22,121,133,5,66,121,133,5,24,121,133,5,26,121,133,5,28,121,133,5,30,121,133,5,32,121,133,5,34,121,133,5,36,121,133,5,38,121,133,5,40,121,133,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,133,5,103,121,133,5,105,121,133,5,107,121,133,5,109,121,133,5,111,121,133,5,113,121,192,0,0,0,192,0,0,0,133,5,115,121,133,5,117,121,133,5,119,121,133,5,121,121,133,5,123,121,133,5,125,121,192,0,0,0,192,0,0,0,133,5,127,121,133,5,129,121,133,5,131,121,133,5,133,121,133,5,135,121,133,5,137,121,192,0,0,0,192,0,0,0,133,5,139,121,133,5,141,121,133,5,143,121,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,13,5,5,140,13,5,5,135,12,5,5,0,4,5,5,139,12,5,5,142,13,5,5,192,13,192,0,0,0,133,5,172,12,133,5,99,12,133,5,103,12,133,5,101,12,133,5,105,12,133,5,180,12,133,5,185,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,64,3,0,5,0,0,6,122,64,133,0,5,0,0,6,122,64,3,0,5,0,0,8,122,64,133,0,5,0,0,8,122,64,3,0,5,0,0,10,122,64,133,0,5,0,0,10,122,64,3,0,5,0,0,14,122,64,133,0,5,0,0,14,122,64,3,0,5,0,0,16,122,64,133,0,5,0,0,16,122,64,133,0,5,0,0,18,122,64,133,0,5,0,0,18,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,20,122,64,133,0,5,0,0,20,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,22,122,64,133,0,5,0,0,22,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,24,122,64,133,0,5,0,0,24,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,26,122,64,133,0,5,0,0,26,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,28,122,64,133,0,5,0,0,28,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,30,122,64,133,0,5,0,0,30,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,32,122,64,133,0,5,0,0,32,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,34,122,64,133,0,5,0,0,34,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,36,122,64,133,0,5,0,0,36,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,38,122,64,133,0,5,0,0,38,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,40,122,64,133,0,5,0,0,40,122,0,5,0,174,0,0,0,0,64,3,0,5,0,0,42,122,64,133,0,5,0,0,42,122,64,133,0,5,0,0,42,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,44,122,64,133,0,5,0,0,44,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,46,122,64,133,0,5,0,0,46,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,48,122,64,133,0,5,0,0,50,122,64,133,0,5,0,0,52,122,64,133,0,5,0,0,54,122,64,133,0,5,0,0,56,122,64,133,0,5,0,0,58,122,64,133,0,5,0,0,58,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,58,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,60,122,64,133,0,5,0,0,60,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,60,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,62,122,64,133,0,5,0,0,62,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,62,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,64,122,64,133,0,5,0,0,64,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,64,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,66,122,64,133,0,5,0,0,66,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,66,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,68,122,64,133,0,5,0,0,70,122,64,133,0,5,0,0,72,122,64,133,0,5,0,0,74,122,64,133,0,5,0,0,76,122,64,3,0,5,0,0,78,122,64,133,0,5,0,0,78,122,64,3,0,5,0,0,80,122,64,133,0,5,0,0,80,122,64,3,0,5,0,0,82,122,64,133,0,5,0,0,82,122,64,133,0,5,0,0,84,122,64,133,0,5,0,0,86,122,64,133,0,5,0,0,88,122,64,133,0,5,0,0,90,122,64,133,0,5,0,0,92,122,64,3,0,5,0,0,94,122,64,133,0,5,0,0,94,122,64,133,0,5,0,0,96,122,64,133,0,5,0,0,98,122,64,133,0,5,0,0,100,122,64,133,0,5,0,0,102,122,64,133,0,5,0,0,10,122,0,5,0,174,0,0,0,0,64,3,0,5,0,0,18,122,64,3,0,5,0,0,24,122,64,133,0,5,0,0,94,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,96,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,98,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,100,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,6,122,64,2,0,5,0,0,8,122,64,2,0,5,0,0,10,122,64,2,0,5,0,0,14,122,64,2,0,5,0,0,16,122,64,5,0,5,0,0,116,13,64,4,0,5,0,0,6,122,64,4,0,5,0,0,8,122,64,4,0,5,0,0,10,122,64,4,0,5,0,0,14,122,64,4,0,5,0,0,16,122,64,4,0,5,0,0,18,122,0,5,0,5,0,0,18,122,64,2,0,174,0,0,0,0,64,2,0,5,0,0,20,122,64,2,0,5,0,0,22,122,64,4,0,5,0,0,24,122,0,5,0,5,0,0,24,122,64,3,0,174,0,0,0,0,64,2,0,5,0,0,26,122,64,2,0,5,0,0,28,122,64,4,0,5,0,0,30,122,64,4,0,5,0,0,32,122,64,2,0,5,0,0,34,122,64,2,0,5,0,0,36,122,64,2,0,5,0,0,38,122,64,2,0,5,0,0,40,122,64,4,0,5,0,0,42,122,64,2,0,5,0,0,44,122,64,2,0,5,0,0,46,122,64,2,0,5,0,0,48,122,64,2,0,5,0,0,50,122,64,2,0,5,0,0,52,122,64,2,0,5,0,0,54,122,64,2,0,5,0,0,56,122,64,2,0,5,0,0,58,122,64,2,0,5,0,0,60,122,64,2,0,5,0,0,62,122,64,2,0,5,0,0,64,122,64,2,0,5,0,0,66,122,64,4,0,5,0,0,68,122,64,2,0,5,0,0,70,122,64,2,0,5,0,0,72,122,64,4,0,5,0,0,74,122,64,2,0,5,0,0,76,122,64,4,0,5,0,0,78,122,64,4,0,5,0,0,80,122,64,4,0,5,0,0,82,122,64,2,0,5,0,0,84,122,64,2,0,5,0,0,86,122,64,2,0,5,0,0,88,122,64,2,0,5,0,0,90,122,64,2,0,5,0,0,92,122,64,4,0,5,0,0,94,122,64,4,0,5,0,0,96,122,64,4,0,5,0,0,98,122,64,4,0,5,0,0,100,122,64,2,0,5,0,0,102,122,64,5,0,5,0,0,116,13,0,5,0,174,0,0,0,0,64,4,0,5,0,0,6,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,8,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,10,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,14,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,16,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,18,122,0,5,0,174,0,0,0,0,0,5,0,5,0,0,18,122,64,2,0,174,0,0,0,0,0,5,0,174,0,0,0,0,64,2,0,5,0,0,20,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,22,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,24,122,0,5,0,174,0,0,0,0,0,5,0,5,0,0,24,122,64,3,0,174,0,0,0,0,0,5,0,174,0,0,0,0,64,2,0,5,0,0,26,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,28,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,30,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,32,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,34,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,36,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,38,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,40,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,42,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,44,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,46,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,48,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,50,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,52,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,54,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,56,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,58,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,60,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,62,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,64,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,66,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,68,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,70,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,72,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,74,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,76,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,78,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,80,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,82,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,84,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,86,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,88,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,90,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,92,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,94,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,96,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,98,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,100,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,102,122,0,5,0,174,0,0,0,0,64,5,0,5,0,0,26,122,0,5,0,70,0,0,46,122,0,5,0,5,212,55,18,254,0,133,0,5,0,247,101,121,0,0,0,0,5,5,18,122,2,174,0,0,5,5,24,122,3,174,0,0,5,5,116,13,5,174,0,0,4,5,6,122,5,174,0,0,4,5,8,122,5,174,0,0,4,5,10,122,5,174,0,0,4,5,14,122,5,174,0,0,4,5,16,122,5,174,0,0,4,5,18,122,5,174,0,0,5,5,18,122,2,174,0,0,5,174,0,0,2,5,20,122,5,174,0,0,2,5,22,122,5,174,0,0,4,5,24,122,5,174,0,0,5,5,24,122,3,174,0,0,5,174,0,0,2,5,26,122,5,174,0,0,2,5,28,122,5,174,0,0,4,5,30,122,5,174,0,0,4,5,32,122,5,174,0,0,2,5,34,122,5,174,0,0,2,5,36,122,5,174,0,0,2,5,38,122,5,174,0,0,2,5,40,122,5,174,0,0,4,5,42,122,5,174,0,0,2,5,44,122,5,174,0,0,2,5,46,122,5,174,0,0,2,5,48,122,5,174,0,0,2,5,50,122,5,174,0,0,2,5,52,122,5,174,0,0,2,5,54,122,5,174,0,0,2,5,56,122,5,174,0,0,2,5,58,122,5,174,0,0,2,5,60,122,5,174,0,0,2,5,62,122,5,174,0,0,2,5,64,122,5,174,0,0,2,5,66,122,5,174,0,0,4,5,68,122,5,174,0,0,2,5,70,122,5,174,0,0,2,5,72,122,5,174,0,0,4,5,74,122,5,174,0,0,2,5,76,122,5,174,0,0,4,5,78,122,5,174,0,0,4,5,80,122,5,174,0,0,4,5,82,122,5,174,0,0,2,5,84,122,5,174,0,0,2,5,86,122,5,174,0,0,2,5,88,122,5,174,0,0,2,5,90,122,5,174,0,0,2,5,92,122,5,174,0,0,4,5,94,122,5,174,0,0,4,5,96,122,5,174,0,0,4,5,98,122,5,174,0,0,4,5,100,122,5,174,0,0,2,5,102,122,5,174,0,0,5,5,82,122,5,70,86,122,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,116,13,5,5,0,0,87,0,109,48,48,1,131,48,204,0,142,48,154,0,147,48,132,0,150,48,118,0,150,48,255,255,24,122,4,5,153,48,22,0,154,48,4,0,111,48,255,255,58,122,2,5,114,48,255,255,60,122,2,5,117,48,255,255,62,122,2,5,120,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,20,0,93,48,48,0,104,48,26,0,117,48,12,0,117,48,255,255,62,122,2,5,120,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,104,48,255,255,46,122,2,5,111,48,255,255,58,122,2,5,114,48,255,255,60,122,2,5,93,48,255,255,36,122,2,5,95,48,255,255,38,122,2,5,97,48,255,255,40,122,2,5,100,48,255,255,42,122,4,5,102,48,255,255,44,122,2,5,83,48,20,0,83,48,255,255,26,122,2,5,85,48,255,255,28,122,2,5,87,48,255,255,30,122,4,5,89,48,255,255,32,122,4,5,91,48,255,255,34,122,2,5,70,48,255,255,10,122,4,5,75,48,197,162,77,48,255,255,20,122,2,5,79,48,255,255,22,122,2,5,81,48,0,192,197,98,147,48,255,255,102,122,2,5,148,48,255,255,10,122,4,5,149,48,255,255,18,122,4,5,142,48,255,255,94,122,4,5,143,48,255,255,94,122,4,5,144,48,255,255,96,122,4,5,145,48,255,255,98,122,4,5,146,48,255,255,100,122,4,5,136,48,26,0,139,48,12,0,139,48,255,255,88,122,2,5,140,48,255,255,90,122,2,5,141,48,255,255,92,122,2,5,136,48,255,255,82,122,4,5,137,48,255,255,84,122,2,5,138,48,255,255,86,122,2,5,131,48,255,255,78,122,4,5,132,48,255,255,78,122,4,5,133,48,255,255,80,122,4,5,134,48,255,255,80,122,4,5,135,48,255,255,82,122,4,5,120,48,48,0,125,48,26,0,128,48,12,0,128,48,255,255,72,122,2,5,129,48,255,255,74,122,4,5,130,48,255,255,76,122,2,5,125,48,255,255,66,122,2,5,126,48,255,255,68,122,4,5,127,48,255,255,70,122,2,5,120,48,255,255,64,122,2,5,121,48,255,255,64,122,2,5,122,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,124,48,255,255,66,122,2,5,114,48,26,0,117,48,12,0,117,48,255,255,62,122,2,5,118,48,255,255,62,122,2,5,119,48,255,255,62,122,2,5,114,48,255,255,60,122,2,5,115,48,255,255,60,122,2,5,116,48,255,255,60,122,2,5,109,48,255,255,54,122,2,5,110,48,255,255,56,122,2,5,111,48,255,255,58,122,2,5,112,48,255,255,58,122,2,5,113,48,255,255,58,122,2,5,87,48,98,0,98,48,48,0,103,48,26,0,106,48,12,0,106,48,255,255,48,122,2,5,107,48,255,255,50,122,2,5,108,48,255,255,52,122,2,5,103,48,255,255,44,122,2,5,104,48,255,255,46,122,2,5,105,48,255,255,46,122,2,5,98,48,255,255,40,122,2,5,99,48,255,255,42,122,4,5,100,48,255,255,42,122,4,5,101,48,255,255,42,122,4,5,102,48,255,255,44,122,2,5,92,48,26,0,95,48,12,0,95,48,255,255,38,122,2,5,96,48,255,255,38,122,2,5,97,48,255,255,40,122,2,5,92,48,255,255,34,122,2,5,93,48,255,255,36,122,2,5,94,48,255,255,36,122,2,5,87,48,255,255,30,122,4,5,88,48,255,255,30,122,4,5,89,48,255,255,32,122,4,5,90,48,255,255,32,122,4,5,91,48,255,255,34,122,2,5,76,48,45,0,81,48,25,0,84,48,12,0,84,48,255,255,26,122,2,5,85,48,255,255,28,122,2,5,86,48,255,255,28,122,2,5,81,48,255,255,24,122,4,5,82,48,0,192,197,98,83,48,255,255,26,122,2,5,76,48,197,162,77,48,255,255,20,122,2,5,78,48,255,255,20,122,2,5,79,48,255,255,22,122,2,5,80,48,255,255,22,122,2,5,70,48,26,0,73,48,12,0,73,48,255,255,16,122,4,5,74,48,255,255,16,122,4,5,75,48,255,255,18,122,4,5,70,48,255,255,10,122,4,5,71,48,255,255,14,122,4,5,72,48,255,255,14,122,4,5,65,48,255,255,6,122,4,5,66,48,255,255,6,122,4,5,67,48,255,255,8,122,4,5,68,48,255,255,8,122,4,5,69,48,255,255,10,122,4,5,0,0,197,162,0,0,87,0,109,48,239,0,131,48,161,0,142,48,122,0,147,48,105,0,150,48,94,0,150,48,3,192,197,66,153,48,17,0,154,48,4,0,111,48,7,192,197,226,114,48,8,192,197,34,117,48,8,192,197,98,120,48,8,192,197,162,123,48,8,192,197,226,20,0,93,48,37,0,104,48,20,0,117,48,9,0,117,48,8,192,197,98,120,48,8,192,197,162,123,48,8,192,197,226,104,48,6,192,197,98,111,48,7,192,197,226,114,48,8,192,197,34,93,48,5,192,197,34,95,48,5,192,197,98,97,48,5,192,197,162,100,48,5,192,197,226,102,48,6,192,197,34,83,48,15,0,83,48,3,192,197,226,85,48,4,192,197,34,87,48,4,192,197,98,89,48,4,192,197,162,91,48,4,192,197,226,70,48,1,192,197,98,75,48,2,192,197,99,77,48,2,192,197,194,79,48,3,192,197,2,81,48,3,192,197,131,147,48,13,192,197,98,148,48,1,192,197,98,149,48,2,192,197,34,142,48,12,192,197,98,143,48,12,192,197,98,144,48,12,192,197,162,145,48,12,192,197,226,146,48,13,192,197,34,136,48,20,0,139,48,9,0,139,48,11,192,197,162,140,48,11,192,197,226,141,48,12,192,197,34,136,48,10,192,197,226,137,48,11,192,197,34,138,48,11,192,197,98,131,48,10,192,197,98,132,48,10,192,197,98,133,48,10,192,197,162,134,48,10,192,197,162,135,48,10,192,197,226,120,48,37,0,125,48,20,0,128,48,9,0,128,48,9,192,197,162,129,48,9,192,197,226,130,48,10,192,197,34,125,48,8,192,197,226,126,48,9,192,197,34,127,48,9,192,197,98,120,48,8,192,197,162,121,48,8,192,197,162,122,48,8,192,197,162,123,48,8,192,197,226,124,48,8,192,197,226,114,48,20,0,117,48,9,0,117,48,8,192,197,98,118,48,8,192,197,98,119,48,8,192,197,98,114,48,8,192,197,34,115,48,8,192,197,34,116,48,8,192,197,34,109,48,7,192,197,98,110,48,7,192,197,162,111,48,7,192,197,226,112,48,7,192,197,226,113,48,7,192,197,226,87,48,76,0,98,48,37,0,103,48,20,0,106,48,9,0,106,48,6,192,197,162,107,48,6,192,197,226,108,48,7,192,197,34,103,48,6,192,197,34,104,48,6,192,197,98,105,48,6,192,197,98,98,48,5,192,197,162,99,48,5,192,197,226,100,48,5,192,197,226,101,48,5,192,197,226,102,48,6,192,197,34,92,48,20,0,95,48,9,0,95,48,5,192,197,98,96,48,5,192,197,98,97,48,5,192,197,162,92,48,4,192,197,226,93,48,5,192,197,34,94,48,5,192,197,34,87,48,4,192,197,98,88,48,4,192,197,98,89,48,4,192,197,162,90,48,4,192,197,162,91,48,4,192,197,226,76,48,37,0,81,48,20,0,84,48,9,0,84,48,3,192,197,226,85,48,4,192,197,34,86,48,4,192,197,34,81,48,3,192,197,66,82,48,3,192,197,131,83,48,3,192,197,226,76,48,2,192,197,99,77,48,2,192,197,194,78,48,2,192,197,194,79,48,3,192,197,2,80,48,3,192,197,2,70,48,20,0,73,48,9,0,73,48,1,192,197,226,74,48,1,192,197,226,75,48,2,192,197,34,70,48,1,192,197,98,71,48,1,192,197,162,72,48,1,192,197,162,65,48,0,192,197,226,66,48,0,192,197,226,67,48,1,192,197,34,68,48,1,192,197,34,69,48,1,192,197,98,118,13,5,5,0,0,245,0,197,48,175,1,248,49,216,0,126,255,107,0,141,255,54,0,149,255,26,0,153,255,12,0,153,255,15,192,198,65,154,255,15,192,198,97,155,255,15,192,198,129,156,255,15,192,198,1,149,255,15,192,198,65,150,255,15,192,198,129,151,255,15,192,198,1,152,255,15,192,198,33,145,255,12,0,145,255,15,192,198,65,146,255,15,192,198,97,147,255,15,192,198,129,148,255,15,192,198,1,141,255,15,192,198,97,142,255,15,192,198,129,143,255,15,192,198,1,144,255,15,192,198,33,133,255,26,0,137,255,12,0,137,255,15,192,198,129,138,255,15,192,198,1,139,255,15,192,198,33,140,255,15,192,198,65,133,255,15,192,198,1,134,255,15,192,198,33,135,255,15,192,198,65,136,255,15,192,198,97,129,255,12,0,129,255,15,192,198,33,130,255,15,192,198,65,131,255,15,192,198,97,132,255,15,192,198,129,126,255,15,192,198,97,127,255,15,192,198,129,128,255,15,192,198,1,109,255,54,0,118,255,26,0,122,255,12,0,122,255,15,192,198,129,123,255,15,192,198,1,124,255,15,192,198,33,125,255,15,192,198,65,118,255,15,192,198,1,119,255,15,192,198,33,120,255,15,192,198,65,121,255,15,192,198,97,114,255,12,0,114,255,15,192,198,33,115,255,15,192,198,65,116,255,15,192,198,97,117,255,15,192,198,129,109,255,15,192,198,65,110,255,15,192,198,129,111,255,15,192,198,65,113,255,15,192,198,1,255,49,26,0,105,255,12,0,105,255,15,192,198,65,106,255,15,192,198,97,107,255,15,192,198,129,108,255,15,192,198,1,255,49,15,192,198,129,102,255,15,192,198,129,103,255,15,192,198,1,104,255,15,192,198,33,251,49,12,0,251,49,15,192,198,1,252,49,15,192,198,33,253,49,15,192,198,65,254,49,15,192,198,97,248,49,15,192,198,97,249,49,15,192,198,129,250,49,15,192,198,65,227,48,107,0,242,48,54,0,240,49,26,0,244,49,12,0,244,49,15,192,198,65,245,49,15,192,198,1,246,49,15,192,198,33,247,49,15,192,198,65,240,49,15,192,198,65,241,49,15,192,198,33,242,49,15,192,198,65,243,49,15,192,198,129,247,48,12,0,247,48,15,192,198,1,248,48,15,192,198,33,249,48,15,192,198,97,250,48,15,192,198,129,242,48,15,192,198,129,244,48,15,192,198,65,245,48,15,192,198,1,246,48,15,192,198,97,234,48,26,0,238,48,12,0,238,48,15,192,198,1,239,48,15,192,198,1,240,48,15,192,198,33,241,48,15,192,198,97,234,48,15,192,198,33,235,48,15,192,198,65,236,48,15,192,198,97,237,48,15,192,198,129,230,48,12,0,230,48,15,192,198,65,231,48,15,192,198,129,232,48,15,192,198,129,233,48,15,192,198,1,227,48,15,192,198,1,228,48,15,192,198,1,229,48,15,192,198,65,212,48,51,0,219,48,26,0,223,48,12,0,223,48,15,192,198,33,224,48,15,192,198,65,225,48,15,192,198,97,226,48,15,192,198,129,219,48,15,192,198,129,220,48,15,192,198,129,221,48,15,192,198,129,222,48,15,192,198,1,215,48,12,0,215,48,15,192,198,65,216,48,15,192,198,97,217,48,15,192,198,97,218,48,15,192,198,97,212,48,15,192,198,33,213,48,15,192,198,65,214,48,15,192,198,65,204,48,26,0,208,48,12,0,208,48,15,192,198,1,209,48,15,192,198,1,210,48,15,192,198,33,211,48,15,192,198,33,204,48,15,192,198,65,205,48,15,192,198,97,206,48,15,192,198,129,207,48,15,192,198,1,200,48,12,0,200,48,15,192,198,129,201,48,15,192,198,129,202,48,15,192,198,1,203,48,15,192,198,33,197,48,15,192,198,65,198,48,15,192,198,97,199,48,15,192,198,97,126,48,206,1,166,48,107,0,181,48,54,0,189,48,26,0,193,48,12,0,193,48,15,192,198,33,194,48,15,192,198,33,195,48,15,192,198,65,196,48,15,192,198,65,189,48,15,192,198,129,190,48,15,192,198,129,191,48,15,192,198,1,192,48,15,192,198,1,185,48,12,0,185,48,15,192,198,65,186,48,15,192,198,65,187,48,15,192,198,97,188,48,15,192,198,97,181,48,15,192,198,1,182,48,15,192,198,1,183,48,15,192,198,33,184,48,15,192,198,33,173,48,26,0,177,48,12,0,177,48,15,192,198,97,178,48,15,192,198,97,179,48,15,192,198,129,180,48,15,192,198,129,173,48,15,192,198,33,174,48,15,192,198,33,175,48,15,192,198,65,176,48,15,192,198,65,169,48,12,0,169,48,15,192,198,129,170,48,15,192,198,129,171,48,15,192,198,1,172,48,15,192,198,1,166,48,15,192,198,65,167,48,15,192,198,97,168,48,15,192,198,97,141,48,29,1,150,48,249,0,162,48,12,0,162,48,15,192,198,1,163,48,15,192,198,33,164,48,15,192,198,33,165,48,15,192,198,65,150,48,255,255,14,122,2,5,153,48,5,0,154,48,189,0,161,48,15,192,198,1,45,0,173,48,81,0,196,48,42,0,216,48,20,0,240,48,9,0,240,48,15,192,198,33,241,48,15,192,198,97,242,48,15,192,198,129,216,48,15,192,198,97,219,48,15,192,198,129,239,48,15,192,198,1,207,48,9,0,207,48,15,192,198,1,210,48,15,192,198,33,213,48,15,192,198,65,196,48,15,192,198,65,198,48,15,192,198,97,200,48,15,192,198,129,183,48,20,0,189,48,9,0,189,48,15,192,198,129,191,48,15,192,198,1,193,48,15,192,198,33,183,48,15,192,198,33,185,48,15,192,198,65,187,48,15,192,198,97,173,48,15,192,198,33,175,48,15,192,198,65,177,48,15,192,198,97,179,48,15,192,198,129,181,48,15,192,198,1,95,48,52,0,114,48,24,0,123,48,10,0,123,48,255,255,16,122,2,5,166,48,15,192,198,65,171,48,15,192,198,1,114,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,102,48,12,0,102,48,255,255,14,122,2,5,104,48,255,255,16,122,2,5,111,48,255,255,6,122,2,5,95,48,255,255,6,122,2,5,97,48,255,255,8,122,2,5,100,48,255,255,10,122,2,5,83,48,26,0,89,48,12,0,89,48,255,255,10,122,2,5,91,48,255,255,14,122,2,5,93,48,255,255,16,122,2,5,83,48,255,255,16,122,2,5,85,48,255,255,6,122,2,5,87,48,255,255,8,122,2,5,70,48,255,255,10,122,2,5,75,48,255,255,6,122,2,5,77,48,255,255,8,122,2,5,79,48,255,255,10,122,2,5,81,48,255,255,14,122,2,5,9,0,207,48,15,0,207,48,15,192,198,1,210,48,15,192,198,33,213,48,15,192,198,65,216,48,15,192,198,97,219,48,15,192,198,129,111,48,255,255,6,122,2,5,114,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,123,48,255,255,16,122,2,5,145,48,16,0,145,48,255,255,14,122,2,5,146,48,255,255,16,122,2,5,148,48,255,255,10,122,2,5,149,48,255,255,6,122,2,5,141,48,255,255,16,122,2,5,142,48,255,255,6,122,2,5,143,48,255,255,6,122,2,5,144,48,255,255,8,122,2,5,133,48,34,0,137,48,16,0,137,48,255,255,6,122,2,5,138,48,255,255,8,122,2,5,139,48,255,255,10,122,2,5,140,48,255,255,14,122,2,5,133,48,255,255,10,122,2,5,134,48,255,255,10,122,2,5,135,48,255,255,16,122,2,5,136,48,255,255,16,122,2,5,129,48,16,0,129,48,255,255,14,122,2,5,130,48,255,255,16,122,2,5,131,48,255,255,6,122,2,5,132,48,255,255,6,122,2,5,126,48,255,255,6,122,2,5,127,48,255,255,8,122,2,5,128,48,255,255,10,122,2,5,95,48,138,0,110,48,70,0,118,48,34,0,122,48,16,0,122,48,255,255,14,122,2,5,123,48,255,255,16,122,2,5,124,48,255,255,16,122,2,5,125,48,255,255,16,122,2,5,118,48,255,255,10,122,2,5,119,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,121,48,255,255,14,122,2,5,114,48,16,0,114,48,255,255,8,122,2,5,115,48,255,255,8,122,2,5,116,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,110,48,255,255,16,122,2,5,111,48,255,255,6,122,2,5,112,48,255,255,6,122,2,5,113,48,255,255,6,122,2,5,102,48,34,0,106,48,16,0,106,48,255,255,6,122,2,5,107,48,255,255,8,122,2,5,108,48,255,255,10,122,2,5,109,48,255,255,14,122,2,5,102,48,255,255,14,122,2,5,103,48,255,255,14,122,2,5,104,48,255,255,16,122,2,5,105,48,255,255,16,122,2,5,98,48,16,0,98,48,255,255,8,122,2,5,99,48,255,255,10,122,2,5,100,48,255,255,10,122,2,5,101,48,255,255,10,122,2,5,95,48,255,255,6,122,2,5,96,48,255,255,6,122,2,5,97,48,255,255,8,122,2,5,80,48,66,0,87,48,34,0,91,48,16,0,91,48,255,255,14,122,2,5,92,48,255,255,14,122,2,5,93,48,255,255,16,122,2,5,94,48,255,255,16,122,2,5,87,48,255,255,8,122,2,5,88,48,255,255,8,122,2,5,89,48,255,255,10,122,2,5,90,48,255,255,10,122,2,5,83,48,16,0,83,48,255,255,16,122,2,5,84,48,255,255,16,122,2,5,85,48,255,255,6,122,2,5,86,48,255,255,6,122,2,5,80,48,255,255,10,122,2,5,81,48,255,255,14,122,2,5,82,48,255,255,14,122,2,5,72,48,34,0,76,48,16,0,76,48,255,255,6,122,2,5,77,48,255,255,8,122,2,5,78,48,255,255,8,122,2,5,79,48,255,255,10,122,2,5,72,48,255,255,14,122,2,5,73,48,255,255,16,122,2,5,74,48,255,255,16,122,2,5,75,48,255,255,6,122,2,5,68,48,16,0,68,48,255,255,8,122,2,5,69,48,255,255,10,122,2,5,70,48,255,255,10,122,2,5,71,48,255,255,14,122,2,5,65,48,255,255,6,122,2,5,66,48,255,255,6,122,2,5,67,48,255,255,8,122,2,5,15,0,198,161,0,0,162,0,240,48,24,1,117,255,139,0,137,255,71,0,147,255,37,0,152,255,20,0,155,255,9,0,155,255,21,192,198,129,156,255,21,192,198,161,157,255,22,192,198,33,152,255,21,192,198,33,153,255,21,192,198,65,154,255,21,192,198,97,147,255,20,192,198,129,148,255,20,192,198,161,149,255,20,192,198,193,150,255,20,192,198,225,151,255,21,192,198,1,142,255,15,0,142,255,19,192,198,225,143,255,20,192,198,1,144,255,20,192,198,33,145,255,20,192,198,65,146,255,20,192,198,97,137,255,19,192,198,65,138,255,19,192,198,97,139,255,19,192,198,129,140,255,19,192,198,161,141,255,19,192,198,193,127,255,32,0,132,255,15,0,132,255,18,192,198,161,133,255,18,192,198,193,134,255,18,192,198,225,135,255,19,192,198,1,136,255,19,192,198,33,127,255,18,192,198,1,128,255,18,192,198,33,129,255,18,192,198,65,130,255,18,192,198,97,131,255,18,192,198,129,122,255,15,0,122,255,17,192,198,97,123,255,17,192,198,129,124,255,17,192,198,161,125,255,17,192,198,193,126,255,17,192,198,225,117,255,16,192,198,65,118,255,16,192,198,97,119,255,16,192,198,193,120,255,16,192,198,225,121,255,17,192,198,1,249,49,71,0,105,255,37,0,110,255,20,0,114,255,9,0,114,255,15,192,198,225,115,255,16,192,198,1,116,255,16,192,198,33,110,255,20,192,198,225,111,255,18,192,198,97,113,255,15,192,198,193,105,255,16,192,198,1,106,255,16,192,198,33,107,255,16,192,198,65,108,255,20,192,198,161,109,255,20,192,198,193,254,49,15,0,254,49,21,192,198,97,255,49,21,192,198,129,102,255,22,192,198,1,103,255,15,192,198,193,104,255,15,192,198,225,249,49,19,192,198,225,250,49,20,192,198,65,251,49,21,192,198,1,252,49,21,192,198,33,253,49,21,192,198,65,250,48,32,0,244,49,15,0,244,49,19,192,198,1,245,49,19,192,198,97,246,49,19,192,198,129,247,49,19,192,198,161,248,49,19,192,198,193,250,48,22,192,198,1,240,49,16,192,198,225,241,49,17,192,198,161,242,49,17,192,198,193,243,49,18,192,198,161,245,48,15,0,245,48,16,192,198,97,246,48,17,192,198,1,247,48,21,192,198,161,248,48,21,192,198,193,249,48,21,192,198,225,240,48,21,192,198,193,241,48,21,192,198,225,242,48,22,192,198,1,243,48,22,192,198,33,244,48,16,192,198,1,199,48,139,0,219,48,71,0,229,48,37,0,234,48,20,0,237,48,9,0,237,48,21,192,198,129,238,48,21,192,198,161,239,48,21,192,198,161,234,48,21,192,198,33,235,48,21,192,198,65,236,48,21,192,198,97,229,48,20,192,198,193,230,48,20,192,198,193,231,48,20,192,198,225,232,48,20,192,198,225,233,48,21,192,198,1,224,48,15,0,224,48,20,192,198,65,225,48,20,192,198,97,226,48,20,192,198,129,227,48,20,192,198,161,228,48,20,192,198,161,219,48,19,192,198,225,220,48,19,192,198,225,221,48,19,192,198,225,222,48,20,192,198,1,223,48,20,192,198,33,209,48,32,0,214,48,15,0,214,48,19,192,198,161,215,48,19,192,198,161,216,48,19,192,198,193,217,48,19,192,198,193,218,48,19,192,198,193,209,48,19,192,198,97,210,48,19,192,198,129,211,48,19,192,198,129,212,48,19,192,198,129,213,48,19,192,198,161,204,48,15,0,204,48,19,192,198,1,205,48,19,192,198,33,206,48,19,192,198,65,207,48,19,192,198,97,208,48,19,192,198,97,199,48,18,192,198,129,200,48,18,192,198,161,201,48,18,192,198,161,202,48,18,192,198,193,203,48,18,192,198,225,179,48,66,0,189,48,32,0,194,48,15,0,194,48,18,192,198,65,195,48,18,192,198,97,196,48,18,192,198,97,197,48,18,192,198,97,198,48,18,192,198,129,189,48,18,192,198,1,190,48,18,192,198,1,191,48,18,192,198,33,192,48,18,192,198,33,193,48,18,192,198,65,184,48,15,0,184,48,17,192,198,161,185,48,17,192,198,193,186,48,17,192,198,193,187,48,17,192,198,225,188,48,17,192,198,225,179,48,17,192,198,97,180,48,17,192,198,97,181,48,17,192,198,129,182,48,17,192,198,129,183,48,17,192,198,161,169,48,32,0,174,48,15,0,174,48,16,192,198,193,175,48,16,192,198,225,176,48,16,192,198,225,177,48,17,192,198,1,178,48,17,192,198,34,169,48,16,192,198,65,170,48,16,192,198,65,171,48,16,192,198,97,172,48,16,192,198,130,173,48,16,192,198,193,164,48,15,0,164,48,15,192,198,225,165,48,16,192,198,1,166,48,16,192,198,1,167,48,16,192,198,33,168,48,16,192,198,33,153,48,11,0,154,48,99,0,161,48,15,192,198,193,162,48,15,192,198,193,163,48,15,192,198,225,24,0,193,48,45,0,213,48,23,0,239,48,12,0,239,48,21,192,198,161,240,48,21,192,198,193,241,48,21,192,198,225,242,48,22,192,198,1,213,48,19,192,198,161,216,48,19,192,198,193,219,48,19,192,198,225,200,48,9,0,200,48,18,192,198,161,207,48,19,192,198,97,210,48,19,192,198,129,193,48,18,192,198,65,196,48,18,192,198,97,198,48,18,192,198,129,181,48,20,0,187,48,9,0,187,48,17,192,198,225,189,48,18,192,198,1,191,48,18,192,198,33,181,48,17,192,198,129,183,48,17,192,198,161,185,48,17,192,198,193,175,48,9,0,175,48,16,192,198,225,177,48,17,192,198,34,179,48,17,192,198,97,166,48,16,192,198,1,171,48,16,192,198,130,173,48,16,192,198,193,4,0,207,48,19,192,198,97,210,48,19,192,198,129,213,48,19,192,198,161,216,48,19,192,198,193,219,48,19,192,198,225,22,0,198,66,0,0,162,0,240,48,24,1,117,255,139,0,137,255,71,0,147,255,37,0,152,255,20,0,155,255,9,0,155,255,33,192,198,194,156,255,34,192,198,2,157,255,35,192,198,2,152,255,33,192,198,2,153,255,33,192,198,66,154,255,33,192,198,130,147,255,31,192,198,194,148,255,32,192,198,2,149,255,32,192,198,66,150,255,32,192,198,130,151,255,32,192,198,194,142,255,15,0,142,255,30,192,198,130,143,255,30,192,198,194,144,255,31,192,198,2,145,255,31,192,198,66,146,255,31,192,198,130,137,255,29,192,198,66,138,255,29,192,198,130,139,255,29,192,198,194,140,255,30,192,198,2,141,255,30,192,198,66,127,255,32,0,132,255,15,0,132,255,28,192,198,2,133,255,28,192,198,66,134,255,28,192,198,130,135,255,28,192,198,194,136,255,29,192,198,2,127,255,26,192,198,194,128,255,27,192,198,2,129,255,27,192,198,66,130,255,27,192,198,130,131,255,27,192,198,194,122,255,15,0,122,255,25,192,198,130,123,255,25,192,198,194,124,255,26,192,198,2,125,255,26,192,198,66,126,255,26,192,198,130,117,255,23,192,198,130,118,255,23,192,198,194,119,255,24,192,198,98,120,255,24,192,198,162,121,255,24,192,198,226,249,49,71,0,105,255,37,0,110,255,20,0,114,255,9,0,114,255,22,192,198,194,115,255,23,192,198,2,116,255,23,192,198,66,110,255,32,192,198,130,111,255,27,192,198,130,113,255,22,192,198,130,105,255,23,192,198,2,106,255,23,192,198,66,107,255,23,192,198,130,108,255,32,192,198,2,109,255,32,192,198,66,254,49,15,0,254,49,33,192,198,130,255,49,33,192,198,194,102,255,34,192,198,194,103,255,22,192,198,130,104,255,22,192,198,194,249,49,30,192,198,130,250,49,31,192,198,66,251,49,32,192,198,194,252,49,33,192,198,2,253,49,33,192,198,66,250,48,32,0,244,49,15,0,244,49,28,192,198,194,245,49,29,192,198,130,246,49,29,192,198,194,247,49,30,192,198,2,248,49,30,192,198,66,250,48,34,192,198,194,240,49,24,192,198,162,241,49,26,192,198,2,242,49,26,192,198,66,243,49,28,192,198,2,245,48,15,0,245,48,23,192,198,194,246,48,24,192,198,226,247,48,34,192,198,2,248,48,34,192,198,66,249,48,34,192,198,130,240,48,34,192,198,66,241,48,34,192,198,130,242,48,34,192,198,194,243,48,35,192,198,2,244,48,23,192,198,2,199,48,139,0,219,48,71,0,229,48,37,0,234,48,20,0,237,48,9,0,237,48,33,192,198,194,238,48,34,192,198,2,239,48,34,192,198,2,234,48,33,192,198,2,235,48,33,192,198,66,236,48,33,192,198,130,229,48,32,192,198,66,230,48,32,192,198,66,231,48,32,192,198,130,232,48,32,192,198,130,233,48,32,192,198,194,224,48,15,0,224,48,31,192,198,66,225,48,31,192,198,130,226,48,31,192,198,194,227,48,32,192,198,2,228,48,32,192,198,2,219,48,30,192,198,130,220,48,30,192,198,130,221,48,30,192,198,130,222,48,30,192,198,194,223,48,31,192,198,2,209,48,32,0,214,48,15,0,214,48,30,192,198,2,215,48,30,192,198,2,216,48,30,192,198,66,217,48,30,192,198,66,218,48,30,192,198,66,209,48,29,192,198,130,210,48,29,192,198,194,211,48,29,192,198,194,212,48,29,192,198,194,213,48,30,192,198,2,204,48,15,0,204,48,28,192,198,194,205,48,29,192,198,2,206,48,29,192,198,66,207,48,29,192,198,130,208,48,29,192,198,130,199,48,27,192,198,194,200,48,28,192,198,2,201,48,28,192,198,2,202,48,28,192,198,66,203,48,28,192,198,130,179,48,66,0,189,48,32,0,194,48,15,0,194,48,27,192,198,66,195,48,27,192,198,130,196,48,27,192,198,130,197,48,27,192,198,130,198,48,27,192,198,194,189,48,26,192,198,194,190,48,26,192,198,194,191,48,27,192,198,2,192,48,27,192,198,2,193,48,27,192,198,66,184,48,15,0,184,48,26,192,198,2,185,48,26,192,198,66,186,48,26,192,198,66,187,48,26,192,198,130,188,48,26,192,198,130,179,48,25,192,198,130,180,48,25,192,198,130,181,48,25,192,198,194,182,48,25,192,198,194,183,48,26,192,198,2,169,48,32,0,174,48,15,0,174,48,24,192,198,98,175,48,24,192,198,162,176,48,24,192,198,162,177,48,24,192,198,226,178,48,25,192,198,35,169,48,23,192,198,130,170,48,23,192,198,130,171,48,23,192,198,194,172,48,24,192,198,3,173,48,24,192,198,98,164,48,15,0,164,48,22,192,198,194,165,48,23,192,198,2,166,48,23,192,198,2,167,48,23,192,198,66,168,48,23,192,198,66,153,48,11,0,154,48,99,0,161,48,22,192,198,130,162,48,22,192,198,130,163,48,22,192,198,194,24,0,193,48,45,0,213,48,23,0,239,48,12,0,239,48,34,192,198,2,240,48,34,192,198,66,241,48,34,192,198,130,242,48,34,192,198,194,213,48,30,192,198,2,216,48,30,192,198,66,219,48,30,192,198,130,200,48,9,0,200,48,28,192,198,2,207,48,29,192,198,130,210,48,29,192,198,194,193,48,27,192,198,66,196,48,27,192,198,130,198,48,27,192,198,194,181,48,20,0,187,48,9,0,187,48,26,192,198,130,189,48,26,192,198,194,191,48,27,192,198,2,181,48,25,192,198,194,183,48,26,192,198,2,185,48,26,192,198,66,175,48,9,0,175,48,24,192,198,162,177,48,25,192,198,35,179,48,25,192,198,130,166,48,23,192,198,2,171,48,24,192,198,3,173,48,24,192,198,98,4,0,207,48,29,192,198,130,210,48,29,192,198,194,213,48,30,192,198,2,216,48,30,192,198,66,219,48,30,192,198,130,35,0,198,129,0,0,0,1,12,128,107,2,117,152,75,1,254,158,187,0,7,249,74,0,196,249,38,0,10,250,20,0,10,250,255,255,25,253,193,42,30,250,255,255,195,252,193,136,60,250,255,255,135,251,193,8,149,250,255,255,11,252,193,192,206,250,255,255,224,253,193,118,196,249,255,255,224,253,193,12,233,249,255,255,98,253,193,98,247,249,255,255,152,252,193,118,8,250,255,255,15,253,193,118,64,249,16,0,64,249,255,255,209,253,193,178,113,249,255,255,78,253,193,128,129,249,255,255,106,251,193,100,138,249,255,255,42,251,193,8,7,249,255,255,224,253,193,118,8,249,255,255,224,253,193,118,10,249,255,255,98,253,193,242,52,249,255,255,198,252,193,84,127,159,75,0,159,159,57,0,159,159,255,255,224,253,193,218,160,159,255,255,224,253,193,236,126,216,4,0,2,249,255,255,70,253,193,218,9,0,210,221,20,0,210,221,255,255,45,253,193,112,21,222,255,255,213,253,193,94,23,222,255,255,217,253,193,36,24,222,255,255,217,253,193,222,28,222,255,255,219,253,193,240,29,220,255,255,34,251,193,200,117,220,255,255,130,251,193,144,120,220,255,255,135,251,193,8,144,220,255,255,160,251,193,102,196,221,255,255,16,253,193,52,127,159,255,255,223,253,193,110,141,159,255,255,224,253,193,12,153,159,255,255,224,253,193,96,156,159,255,255,224,253,193,118,59,159,16,0,59,159,255,255,219,253,193,240,74,159,255,255,220,253,193,176,80,159,255,255,220,253,193,236,82,159,255,255,220,253,193,248,254,158,255,255,217,253,193,222,14,159,255,255,218,253,193,6,19,159,255,255,218,253,193,62,32,159,255,255,218,253,193,220,50,155,70,0,165,158,34,0,205,158,16,0,205,158,255,255,214,253,193,124,209,158,255,255,214,253,193,252,249,158,255,255,217,253,193,36,253,158,255,255,217,253,193,62,165,158,255,255,211,253,193,56,166,158,255,255,212,253,193,196,187,158,255,255,213,253,193,94,195,158,255,255,213,253,193,210,229,156,16,0,229,156,255,255,195,253,193,218,31,158,255,255,206,253,193,72,117,158,255,255,208,253,193,240,127,158,255,255,209,253,193,178,50,155,255,255,180,253,193,172,60,155,255,255,181,253,193,166,90,155,255,255,184,253,193,2,124,156,255,255,193,253,193,64,153,153,34,0,216,154,16,0,216,154,255,255,175,253,193,232,223,154,255,255,176,253,193,186,37,155,255,255,180,253,193,58,47,155,255,255,180,253,193,136,153,153,255,255,164,253,193,252,172,153,255,255,165,253,193,208,108,154,255,255,171,253,193,244,168,154,255,255,173,253,193,168,222,152,16,0,222,152,255,255,157,253,193,164,223,152,255,255,157,253,193,170,99,153,255,255,163,253,193,20,150,153,255,255,164,253,193,110,117,152,255,255,153,253,193,70,168,152,255,255,154,253,193,82,206,152,255,255,156,253,193,242,219,152,255,255,157,253,193,122,100,141,142,0,127,149,70,0,94,151,34,0,230,151,16,0,230,151,255,255,147,253,193,30,237,151,255,255,147,253,193,108,243,151,255,255,147,253,193,184,1,152,255,255,148,253,193,142,94,151,255,255,140,253,193,44,98,151,255,255,140,253,193,152,105,151,255,255,141,253,193,160,203,151,255,255,145,253,193,196,182,150,16,0,182,150,255,255,131,253,193,186,185,150,255,255,131,253,193,228,232,150,255,255,134,253,193,178,81,151,255,255,139,253,193,216,127,149,255,255,120,253,193,2,128,149,255,255,120,253,193,6,232,149,255,255,124,253,193,84,28,150,255,255,125,253,193,154,181,143,34,0,204,145,16,0,204,145,255,255,98,253,193,98,209,145,255,255,98,253,193,242,133,148,255,255,114,253,193,86,119,149,255,255,118,253,193,200,181,143,255,255,78,253,193,176,145,144,255,255,87,253,193,98,73,145,255,255,93,253,193,148,198,145,255,255,98,253,193,30,202,142,16,0,202,142,255,255,70,253,193,218,102,143,255,255,76,253,193,100,155,143,255,255,77,253,193,186,176,143,255,255,78,253,193,128,100,141,255,255,54,253,193,190,112,141,255,255,55,253,193,84,179,141,255,255,59,253,193,84,171,142,255,255,68,253,193,230,107,134,70,0,0,138,34,0,85,140,16,0,85,140,255,255,45,253,193,112,120,140,255,255,47,253,193,36,157,140,255,255,48,253,193,190,29,141,255,255,53,253,193,202,0,138,255,255,30,253,193,38,160,139,255,255,40,253,193,192,55,140,255,255,43,253,193,160,70,140,255,255,44,253,193,90,126,137,16,0,126,137,255,255,24,253,193,136,139,137,255,255,25,253,193,42,193,137,255,255,27,253,193,148,210,137,255,255,27,253,193,240,107,134,255,255,254,252,193,150,64,136,255,255,14,253,193,202,76,136,255,255,15,253,193,118,99,136,255,255,16,253,193,52,252,129,34,0,110,130,16,0,110,130,255,255,222,252,193,106,114,130,255,255,222,252,193,140,120,130,255,255,223,252,193,6,77,134,255,255,252,252,193,174,252,129,255,255,217,252,193,10,12,130,255,255,218,252,193,106,27,130,255,255,219,252,193,90,31,130,255,255,219,252,193,128,137,128,16,0,137,128,255,255,203,252,193,226,227,129,255,255,215,252,193,90,234,129,255,255,215,252,193,222,243,129,255,255,216,252,193,152,12,128,255,255,198,252,193,214,18,128,255,255,199,252,193,40,51,128,255,255,200,252,193,74,127,128,255,255,203,252,193,128,54,98,30,1,132,115,142,0,226,119,70,0,115,124,34,0,81,127,16,0,81,127,255,255,189,252,193,238,138,127,255,255,193,252,193,14,189,127,255,255,195,252,193,136,1,128,255,255,198,252,193,84,115,124,255,255,168,252,193,76,248,124,255,255,174,252,193,70,159,126,255,255,185,252,193,220,54,127,255,255,188,252,193,198,190,121,16,0,190,121,255,255,140,252,193,156,116,122,255,255,148,252,193,22,203,122,255,255,152,252,193,118,249,122,255,255,154,252,193,154,226,119,255,255,124,252,193,16,243,119,255,255,125,252,193,134,58,121,255,255,134,252,193,210,184,121,255,255,140,252,193,88,139,117,34,0,174,118,16,0,174,118,255,255,109,252,193,26,191,118,255,255,110,252,193,184,238,118,255,255,113,252,193,128,219,119,255,255,123,252,193,54,139,117,255,255,98,252,193,100,146,117,255,255,98,252,193,176,118,118,255,255,106,252,193,156,125,118,255,255,106,252,193,250,24,117,16,0,24,117,255,255,92,252,193,188,31,117,255,255,93,252,193,36,40,117,255,255,93,252,193,208,48,117,255,255,94,252,193,32,132,115,255,255,79,252,193,112,137,115,255,255,79,252,193,132,220,116,255,255,89,252,193,158,230,116,255,255,90,252,193,104,179,107,70,0,42,114,34,0,71,114,16,0,71,114,255,255,66,252,193,252,89,114,255,255,68,252,193,28,91,114,255,255,68,252,193,94,172,114,255,255,72,252,193,46,42,114,255,255,64,252,193,48,54,114,255,255,65,252,193,150,59,114,255,255,65,252,193,218,63,114,255,255,66,252,193,14,15,108,16,0,15,108,255,255,20,252,193,236,20,108,255,255,21,252,193,54,52,108,255,255,21,252,193,230,107,112,255,255,48,252,193,142,179,107,255,255,14,252,193,174,203,107,255,255,16,252,193,104,212,107,255,255,16,252,193,180,219,107,255,255,17,252,193,22,224,101,34,0,40,103,16,0,40,103,255,255,235,251,193,114,32,107,255,255,6,252,193,188,98,107,255,255,9,252,193,190,121,107,255,255,11,252,193,192,224,101,255,255,222,251,193,42,229,101,255,255,222,251,193,86,240,102,255,255,232,251,193,90,8,103,255,255,233,251,193,86,135,101,16,0,135,101,255,255,217,251,193,254,151,101,255,255,218,251,193,178,164,101,255,255,219,251,193,74,185,101,255,255,220,251,193,68,54,98,255,255,190,251,193,162,75,98,255,255,191,251,193,156,47,101,255,255,212,251,193,60,52,101,255,255,212,251,193,230,215,86,142,0,219,93,70,0,254,94,34,0,97,95,16,0,97,95,255,255,165,251,193,122,115,95,255,255,166,251,193,88,195,95,255,255,169,251,193,252,8,98,255,255,188,251,193,76,254,94,255,255,160,251,193,102,11,95,255,255,161,251,193,108,19,95,255,255,161,251,193,216,80,95,255,255,164,251,193,210,114,94,16,0,114,94,255,255,153,251,193,170,122,94,255,255,154,251,193,90,127,94,255,255,154,251,193,218,244,94,255,255,159,251,193,254,219,93,255,255,147,251,193,66,229,93,255,255,147,251,193,210,241,93,255,255,148,251,193,132,254,93,255,255,149,251,193,20,80,91,34,0,34,92,16,0,34,92,255,255,130,251,193,144,56,92,255,255,131,251,193,192,110,92,255,255,135,251,193,8,113,92,255,255,135,251,193,128,80,91,255,255,119,251,193,108,128,91,255,255,121,251,193,174,248,91,255,255,128,251,193,22,15,92,255,255,129,251,193,34,10,89,16,0,10,89,255,255,100,251,193,232,21,89,255,255,101,251,193,136,39,89,255,255,102,251,193,204,115,89,255,255,106,251,193,100,215,86,255,255,83,251,193,76,31,87,255,255,85,251,193,186,235,88,255,255,99,251,193,220,2,89,255,255,100,251,193,178,224,81,70,0,65,83,34,0,130,83,16,0,130,83,255,255,50,251,193,178,182,83,255,255,53,251,193,120,200,83,255,255,54,251,193,122,227,83,255,255,56,251,193,112,65,83,255,255,47,251,193,180,92,83,255,255,49,251,193,44,100,83,255,255,209,253,193,152,105,83,255,255,49,251,193,240,249,82,16,0,249,82,255,255,44,251,193,244,21,83,255,255,45,251,193,234,26,83,255,255,46,251,193,82,56,83,255,255,47,251,193,118,224,81,255,255,33,251,193,196,245,81,255,255,34,251,193,200,0,82,255,255,35,251,193,132,155,82,255,255,42,251,193,8,160,78,34,0,107,81,16,0,107,81,255,255,28,251,193,74,130,81,255,255,29,251,193,104,150,81,255,255,30,251,193,74,171,81,255,255,31,251,193,62,160,78,255,255,8,251,193,232,186,78,255,255,10,251,193,68,63,81,255,255,26,251,193,4,101,81,255,255,27,251,193,188,63,78,16,0,63,78,255,255,4,251,193,252,89,78,255,255,6,251,193,26,133,78,255,255,7,251,193,248,140,78,255,255,8,251,193,74,0,78,255,255,2,251,193,2,40,78,255,255,4,251,193,60,44,78,255,255,66,252,193,246,54,78,255,255,4,251,193,200,26,130,246,1,0,78,1,78,40,78,41,78,44,78,45,78,54,78,55,78,63,78,64,78,89,78,90,78,133,78,134,78,140,78,141,78,160,78,161,78,186,78,187,78,63,81,64,81,101,81,102,81,107,81,108,81,130,81,131,81,150,81,151,81,171,81,172,81,224,81,225,81,245,81,246,81,0,82,1,82,155,82,156,82,249,82,250,82,21,83,22,83,26,83,27,83,56,83,57,83,65,83,66,83,92,83,93,83,100,83,101,83,105,83,106,83,130,83,131,83,182,83,183,83,200,83,201,83,227,83,228,83,215,86,216,86,31,87,32,87,235,88,236,88,2,89,3,89,10,89,11,89,21,89,22,89,39,89,40,89,115,89,116,89,80,91,81,91,128,91,129,91,248,91,249,91,15,92,16,92,34,92,35,92,56,92,57,92,110,92,111,92,113,92,114,92,219,93,220,93,229,93,230,93,241,93,242,93,254,93,255,93,114,94,115,94,122,94,123,94,127,94,128,94,244,94,245,94,254,94,255,94,11,95,12,95,19,95,20,95,80,95,81,95,97,95,98,95,115,95,116,95,195,95,196,95,8,98,9,98,54,98,55,98,75,98,76,98,47,101,48,101,52,101,53,101,135,101,136,101,151,101,152,101,164,101,165,101,185,101,186,101,224,101,225,101,229,101,230,101,240,102,241,102,8,103,9,103,40,103,41,103,32,107,33,107,98,107,99,107,121,107,122,107,179,107,180,107,203,107,204,107,212,107,213,107,219,107,220,107,15,108,16,108,20,108,21,108,52,108,53,108,107,112,108,112,42,114,43,114,54,114,55,114,59,114,60,114,63,114,64,114,71,114,72,114,89,114,90,114,91,114,92,114,172,114,173,114,132,115,133,115,137,115,138,115,220,116,221,116,230,116,231,116,24,117,25,117,31,117,32,117,40,117,41,117,48,117,49,117,139,117,140,117,146,117,147,117,118,118,119,118,125,118,126,118,174,118,175,118,191,118,192,118,238,118,239,118,219,119,220,119,226,119,227,119,243,119,244,119,58,121,59,121,184,121,185,121,190,121,191,121,116,122,117,122,203,122,204,122,249,122,250,122,115,124,116,124,248,124,249,124,159,126,160,126,54,127,55,127,81,127,82,127,138,127,139,127,189,127,190,127,1,128,2,128,12,128,13,128,18,128,19,128,51,128,52,128,127,128,128,128,137,128,138,128,227,129,228,129,234,129,235,129,243,129,244,129,252,129,253,129,12,130,13,130,27,130,28,130,31,130,32,130,110,130,111,130,114,130,115,130,120,130,121,130,77,134,78,134,107,134,108,134,64,136,65,136,76,136,77,136,99,136,100,136,126,137,127,137,139,137,140,137,193,137,194,137,210,137,211,137,0,138,1,138,160,139,161,139,55,140,56,140,70,140,71,140,85,140,86,140,120,140,121,140,157,140,158,140,29,141,30,141,100,141,101,141,112,141,113,141,179,141,180,141,171,142,172,142,202,142,203,142,102,143,103,143,155,143,156,143,176,143,177,143,181,143,182,143,145,144,146,144,73,145,74,145,198,145,199,145,204,145,205,145,209,145,210,145,133,148,134,148,119,149,120,149,127,149,129,149,232,149,233,149,28,150,29,150,182,150,183,150,185,150,186,150,232,150,233,150,81,151,82,151,94,151,95,151,98,151,99,151,105,151,106,151,203,151,204,151,230,151,231,151,237,151,238,151,243,151,244,151,1,152,2,152,117,152,118,152,168,152,169,152,206,152,207,152,219,152,220,152,222,152,224,152,99,153,100,153,150,153,151,153,153,153,154,153,172,153,173,153,108,154,109,154,168,154,169,154,216,154,217,154,223,154,224,154,37,155,38,155,47,155,48,155,50,155,51,155,60,155,61,155,90,155,91,155,124,156,125,156,229,156,230,156,31,158,32,158,117,158,118,158,127,158,128,158,165,158,167,158,187,158,188,158,195,158,196,158,205,158,206,158,209,158,210,158,249,158,250,158,253,158,255,158,14,159,15,159,19,159,20,159,32,159,33,159,59,159,60,159,74,159,75,159,80,159,81,159,82,159,83,159,127,159,128,159,141,159,142,159,153,159,154,159,156,159,157,159,159,159,161,159,126,216,127,216,2,249,3,249,7,249,9,249,10,249,11,249,52,249,53,249,64,249,65,249,113,249,114,249,129,249,130,249,138,249,139,249,196,249,197,249,233,249,234,249,247,249,248,249,8,250,9,250,10,250,11,250,30,250,31,250,60,250,61,250,149,250,150,250,206,250,207,250,2,0,29,248,2,0,30,248,2,0,117,248,2,0,118,248,2,0,120,248,2,0,121,248,2,0,144,248,2,0,145,248,2,0,196,249,2,0,197,249,2,0,210,249,2,0,211,249,2,0,21,250,2,0,22,250,2,0,23,250,2,0,25,250,2,0,28,250,2,0,29,250,3,0,82,0,56,0,65,0,43,122,0,16,4,0,0,96,1,0,0,96,3,0,43,0,73,0,97,0,122,45,0,80,38,122,0,32,235,142,0,32,1,0,32,0,240,142,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,118,0,0,32,7,0,0,0,21,0,0,0,120,0,0,0,120,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,71,0,101,0,111,0,114,0,93,0,0,0,170,170,60,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,36,0,0,0,36,1,0,0,12,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,39,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,111,0,0,32,1,0,32,0,116,0,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,5,7,0,32,7,0,0,0,21,0,0,0,7,7,0,0,7,7,0,0,3,0,0,0,0,0,0,0,48,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,48,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,21,4,60,0,81,4,60,0,60,0,60,0,1,4,38,0,176,4,60,0,175,4,60,0,60,0,60,0,174,4,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,76,4,60,0,86,4,60,0,60,0,60,0,6,4,0,0,170,170,170,170,170,170,170,170,170,170,170,170,40,27,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,160,26,0,0,160,26,0,0,160,26,0,0,160,26,0,0,244,26,0,0,244,26,0,0,16,27,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,141,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,100,0,108,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,124,0,48,0,48,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,144,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,134,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,231,97,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,97,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,177,97,5,5,177,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,231,97,5,150,0,0,5,5,231,97,5,150,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,40,97,174,5,48,0,8,3,255,255,41,97,134,5,40,97,5,5,48,0,8,3,255,255,41,97,5,5,3,0,69,0,52,0,61,0,51,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,254,6,0,32,1,0,32,0,3,7,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,230,22,0,32,7,0,0,0,23,0,0,0,232,22,0,0,232,22,0,0,3,0,0,0,0,0,0,0,117,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,107,0,108,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,130,220,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,81,0,60,0,60,0,56,1,60,0,60,0,60,0,75,0,39,0,39,0,38,0,116,0,60,0,60,0,60,0,254,0,47,0,104,0,38,0,84,0,60,0,60,0,60,0,222,0,47,0,72,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,101,0,40,3,60,0,60,0,60,0,69,0,40,3,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,229,0,60,0,60,0,60,0,197,0,0,0,170,170,170,170,170,170,170,170,170,170,238,47,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,163,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,148,38,0,0,148,38,0,0,44,41,0,0,44,41,0,0,236,44,0,0,236,44,0,0,204,47,0,0,210,47,0,0,210,47,0,0,50,105,114,84,1,0,64,8,92,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,108,0,116,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,148,0,156,0,162,0,170,0,178,0,186,0,48,0,56,0,185,0,193,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,218,0,48,0,48,0,48,0,226,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,234,0,48,0,48,0,242,0,48,0,248,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,3,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,11,1,48,0,48,0,15,1,48,0,23,1,28,1,36,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,42,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,53,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,208,0,48,0,48,0,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,61,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,69,1,48,0,48,0,75,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,176,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,80,2,136,2,200,2,192,0,228,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,28,0,202,225,28,0,202,2,29,0,202,35,29,0,202,68,29,0,202,101,29,0,202,134,29,0,202,167,29,0,202,200,29,0,202,233,29,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,166,1,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,201,96,2,0,156,5,0,64,156,5,0,66,156,5,0,68,201,70,3,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,102,4,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,6,6,0,5,5,0,44,5,5,0,46,5,5,0,48,201,70,7,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,6,8,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,38,9,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,33,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,97,0,0,5,5,127,12,198,65,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,34,20,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,161,0,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,225,0,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,10,0,201,6,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,74,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,129,0,0,198,1,1,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,38,13,0,201,70,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,15,0,201,134,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,17,0,201,198,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,98,3,0,198,162,3,0,192,0,0,0,192,0,0,0,198,226,3,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,19,0,201,6,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,5,0,197,34,5,0,198,98,5,0,197,98,5,0,198,162,5,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,5,0,198,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,38,22,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,24,0,5,71,238,102,201,230,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,192,0,0,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,7,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,197,99,8,0,197,194,8,0,192,0,0,0,192,0,0,0,197,2,9,0,197,67,9,0,197,162,9,0,192,0,0,0,192,0,0,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,25,0,201,230,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,28,0,201,38,29,0,201,70,30,0,201,102,31,0,201,134,32,0,201,166,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,34,0,201,230,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,37,0,201,38,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,39,0,201,102,40,0,201,134,41,0,201,166,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,43,0,201,230,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,96,2,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,5,0,70,0,2,111,93,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,226,5,0,5,5,10,121,5,5,12,121,197,34,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,197,226,6,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,7,0,5,5,107,121,197,98,7,0,5,5,111,121,197,162,7,0,5,5,115,121,197,226,7,0,5,5,119,121,197,34,8,0,197,99,8,0,197,194,8,0,5,5,127,121,5,5,129,121,197,2,9,0,197,67,9,0,197,162,9,0,5,5,137,121,5,5,139,121,197,226,9,0,5,5,143,121,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,50,156,5,48,0,40,3,0,192,198,65,0,62,156,5,48,0,39,0,255,255,0,74,70,70,0,70,156,5,1,0,8,3,0,192,198,97,11,3,0,192,198,129,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,0,192,198,161,10,3,255,255,111,93,193,4,0,50,5,5,48,0,40,3,0,192,198,193,0,70,5,5,1,0,8,3,0,192,198,225,11,3,1,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,98,10,3,1,192,198,162,5,42,196,162,1,0,8,3,1,192,198,226,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,2,192,198,98,11,3,2,192,198,162,5,70,196,190,1,0,8,3,2,192,198,226,11,3,3,192,198,34,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,4,192,198,34,11,3,4,192,198,98,5,70,196,162,1,0,8,3,4,192,198,162,11,3,4,192,198,226,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,6,192,198,98,10,3,6,192,198,162,5,42,196,200,1,0,8,3,6,192,198,226,10,3,12,192,197,162,156,82,196,198,1,0,8,3,12,192,197,226,11,3,13,192,197,34,5,82,196,198,1,0,8,3,13,192,197,98,11,3,13,192,197,162,156,82,196,208,1,0,8,3,13,192,197,226,11,3,14,192,197,34,5,82,196,208,1,0,8,3,14,192,197,98,11,3,14,192,197,162,156,82,196,204,1,0,8,3,14,192,197,226,11,3,15,192,197,34,5,82,196,204,1,0,8,3,15,192,197,98,11,3,15,192,197,162,156,42,196,196,1,0,8,3,7,192,198,34,10,3,7,192,198,98,5,42,196,196,1,0,8,3,7,192,198,162,10,3,15,192,197,226,156,70,196,196,1,0,8,3,7,192,198,226,11,3,8,192,198,34,5,70,196,196,1,0,8,3,8,192,198,98,11,3,8,192,198,162,16,0,197,35,1,0,8,3,8,192,198,227,11,3,9,192,198,67,16,0,197,131,1,0,8,3,9,192,198,163,11,3,10,192,198,3,156,82,196,196,1,0,8,3,16,192,197,226,11,3,17,192,197,34,5,82,196,196,1,0,8,3,17,192,197,98,11,3,17,192,197,162,17,0,197,227,1,0,8,3,18,192,197,67,11,3,18,192,197,163,19,0,197,3,1,0,8,3,19,192,197,99,11,3,19,192,197,195,2,0,39,0,40,0,170,170,3,0,67,0,50,0,59,0,119,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,132,41,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,30,0,0,100,30,0,0,252,32,0,0,252,32,0,0,216,34,0,0,216,34,0,0,114,37,0,0,120,37,0,0,104,41,0,0,50,105,114,84,1,0,64,8,217,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,108,0,116,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,48,0,48,0,173,0,48,0,181,0,186,0,194,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,161,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,176,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,13,0,202,193,13,0,202,226,13,0,202,3,14,0,202,36,14,0,202,69,14,0,202,102,14,0,202,135,14,0,202,168,14,0,202,201,14,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,230,0,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,201,160,1,0,156,5,0,64,156,5,0,66,156,5,0,68,201,134,2,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,166,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,5,0,5,5,0,44,5,5,0,46,5,5,0,48,201,134,6,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,70,7,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,8,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,33,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,97,0,0,5,5,127,12,198,65,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,98,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,161,0,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,225,0,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,10,0,201,70,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,74,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,129,0,0,198,1,1,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,102,12,0,201,134,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,14,0,201,198,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,16,0,201,6,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,98,3,0,198,162,3,0,192,0,0,0,192,0,0,0,198,226,3,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,19,0,201,70,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,5,0,197,34,5,0,198,98,5,0,197,98,5,0,198,162,5,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,5,0,198,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,21,0,201,134,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,23,0,201,198,24,0,201,230,25,0,201,6,27,0,201,38,28,0,201,70,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,30,0,201,134,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,32,0,201,198,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,34,0,201,6,36,0,201,38,37,0,201,70,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,39,0,201,134,40,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,160,1,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,5,0,70,0,2,111,93,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,50,156,5,48,0,40,3,0,192,198,65,0,62,156,5,48,0,39,0,255,255,0,74,70,70,0,70,156,5,1,0,8,3,0,192,198,97,11,3,0,192,198,129,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,0,192,198,161,10,3,255,255,111,93,193,4,0,50,5,5,48,0,40,3,0,192,198,193,0,70,5,5,1,0,8,3,0,192,198,225,11,3,1,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,98,10,3,1,192,198,162,5,42,196,162,1,0,8,3,1,192,198,226,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,2,192,198,98,11,3,2,192,198,162,5,70,196,190,1,0,8,3,2,192,198,226,11,3,3,192,198,34,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,4,192,198,34,11,3,4,192,198,98,5,70,196,162,1,0,8,3,4,192,198,162,11,3,4,192,198,226,156,42,196,200,1,0,8,3,6,192,198,98,10,3,6,192,198,162,5,42,196,200,1,0,8,3,6,192,198,226,10,3,5,192,197,226,156,82,196,198,1,0,8,3,6,192,197,34,11,3,6,192,197,98,5,82,196,198,1,0,8,3,6,192,197,162,11,3,6,192,197,226,156,82,196,208,1,0,8,3,7,192,197,34,11,3,7,192,197,98,5,82,196,208,1,0,8,3,7,192,197,162,11,3,7,192,197,226,156,82,196,204,1,0,8,3,8,192,197,34,11,3,8,192,197,98,5,82,196,204,1,0,8,3,8,192,197,162,11,3,8,192,197,226,156,42,196,196,1,0,8,3,7,192,198,34,10,3,7,192,198,98,5,42,196,196,1,0,8,3,7,192,198,162,10,3,9,192,197,34,156,70,196,196,1,0,8,3,7,192,198,226,11,3,8,192,198,34,5,70,196,196,1,0,8,3,8,192,198,98,11,3,8,192,198,162,9,0,197,99,1,0,8,3,8,192,198,227,11,3,9,192,198,67,9,0,197,195,1,0,8,3,9,192,198,163,11,3,10,192,198,3,156,82,196,196,1,0,8,3,10,192,197,34,11,3,10,192,197,98,5,82,196,196,1,0,8,3,10,192,197,162,11,3,10,192,197,226,11,0,197,35,1,0,8,3,11,192,197,131,11,3,11,192,197,227,12,0,197,67,1,0,8,3,12,192,197,163,11,3,13,192,197,3,2,0,39,0,40,0,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,60,185,64,185,68,24,4,185,76,185,80,185,84,186,88,186,96,26,4,185,104,185,108,186,112,30,4,185,124,185,128,185,132,186,136,186,140,32,4,185,152,185,156,185,160,185,164,185,168,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,60,168,64,168,68,36,4,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,38,4,168,124,168,128,168,132,168,136,168,140,40,4,168,152,168,156,168,160,168,164,168,168,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,217,176,185,184,185,176,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,249,121,121,122,217,180,136,14,185,180,185,149,153,149,249,149,217,164,153,165,0,8,2,8,168,57,136,57,232,57,104,58,200,176,168,184,168,176,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,232,121,104,122,200,180,128,14,168,180,168,149,136,149,232,149,200,164,136,165,4,8,72,166,249,58,232,58,217,57,200,57,42,4,44,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,249,176,232,176,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,200,128,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,180,232,180,25,181,8,181,153,133,136,133,185,134,168,134,25,134,8,134,154,137,136,137,250,137,232,137,186,138,168,138,26,138,8,138,186,142,168,142,26,142,8,142,185,144,168,144,121,150,104,150,249,150,232,150,217,149,200,149,57,150,40,150,249,164,232,164,46,4,48,4,249,157,232,157,249,165,232,165,89,166,153,169,136,169,153,170,136,170,25,170,8,170,232,136,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,187,140,185,84,200,136,169,136,169,140,168,84,187,88,187,96,169,88,169,96,169,172,169,112,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,72,255,5,185,100,39,4,209,128,255,5,185,120,255,5,185,148,255,5,168,56,255,5,168,72,255,5,168,120,255,5,168,148,255,5,217,58,255,5,200,58,255,5,217,150,255,5,200,150,255,1,3,0,67,0,50,0,59,0,123,12,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,116,12,0,32,221,22,0,32,1,0,32,0,226,22,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,230,8,0,32,7,0,0,0,21,0,0,0,232,8,0,0,232,8,0,0,3,0,0,0,0,0,0,0,33,1,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,18,222,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,75,0,104,0,109,0,114,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,116,0,101,0,114,0,116,0,105,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,61,0,180,23,61,0,181,23,38,0,212,23,155,23,212,23,60,0,60,0,60,0,216,23,38,0,200,23,60,0,60,0,206,23,60,0,60,0,207,23,60,0,60,0,209,23,60,0,60,0,208,23,60,0,60,0,200,23,60,0,60,0,221,23,60,0,60,0,203,23,60,0,60,0,201,23,60,0,60,0,202,23,60,0,60,0,205,23,38,0,154,23,60,0,171,23,60,0,172,23,38,0,155,23,60,0,173,23,60,0,174,23,38,0,154,23,210,23,128,23,60,0,60,0,128,23,204,23,38,0,154,23,210,23,129,23,60,0,60,0,129,23,204,23,38,0,154,23,210,23,130,23,60,0,60,0,130,23,204,23,38,0,154,23,210,23,131,23,60,0,60,0,131,23,204,23,38,0,154,23,210,23,132,23,60,0,60,0,132,23,204,23,38,0,154,23,210,23,133,23,60,0,60,0,133,23,204,23,38,0,154,23,210,23,134,23,60,0,60,0,134,23,204,23,38,0,154,23,210,23,135,23,60,0,60,0,135,23,204,23,38,0,154,23,210,23,136,23,60,0,60,0,136,23,204,23,38,0,154,23,210,23,137,23,60,0,60,0,137,23,204,23,38,0,154,23,210,23,138,23,60,0,60,0,138,23,204,23,38,0,154,23,210,23,139,23,60,0,60,0,139,23,204,23,38,0,154,23,210,23,140,23,60,0,60,0,140,23,204,23,38,0,154,23,210,23,141,23,60,0,60,0,141,23,204,23,38,0,154,23,210,23,142,23,60,0,60,0,142,23,204,23,38,0,154,23,210,23,143,23,60,0,60,0,143,23,204,23,38,0,154,23,210,23,144,23,60,0,60,0,144,23,204,23,38,0,154,23,210,23,145,23,60,0,60,0,145,23,204,23,38,0,154,23,210,23,146,23,60,0,60,0,146,23,204,23,38,0,154,23,210,23,147,23,60,0,60,0,147,23,204,23,38,0,154,23,210,23,148,23,60,0,60,0,148,23,204,23,38,0,154,23,210,23,149,23,60,0,60,0,149,23,204,23,38,0,154,23,210,23,150,23,60,0,60,0,150,23,204,23,38,0,154,23,210,23,151,23,60,0,60,0,151,23,204,23,38,0,154,23,210,23,152,23,60,0,60,0,152,23,204,23,38,0,154,23,210,23,153,23,60,0,60,0,153,23,204,23,38,0,154,23,210,23,154,23,60,0,60,0,154,23,204,23,38,0,154,23,210,23,171,23,60,0,60,0,171,23,204,23,38,0,154,23,210,23,172,23,60,0,60,0,172,23,204,23,38,0,154,23,210,23,155,23,60,0,60,0,155,23,204,23,38,0,154,23,210,23,173,23,60,0,60,0,173,23,204,23,38,0,154,23,210,23,174,23,60,0,60,0,174,23,204,23,38,0,154,23,210,23,156,23,60,0,60,0,156,23,204,23,38,0,154,23,210,23,157,23,60,0,60,0,157,23,204,23,38,0,154,23,210,23,158,23,60,0,60,0,158,23,204,23,38,0,154,23,210,23,159,23,60,0,60,0,159,23,204,23,38,0,154,23,210,23,160,23,60,0,60,0,160,23,204,23,38,0,154,23,210,23,161,23,60,0,60,0,161,23,204,23,38,0,154,23,210,23,162,23,60,0,60,0,162,23,204,23,61,0,163,23,204,23,38,0,162,23,61,0,163,23,38,0,162,23,182,23,61,0,164,23,38,0,162,23,183,23,60,0,60,0,165,23,38,0,162,23,184,23,60,0,60,0,166,23,38,0,162,23,187,23,60,0,60,0,167,23,38,0,162,23,188,23,60,0,60,0,169,23,38,0,162,23,194,23,60,0,60,0,175,23,38,0,162,23,195,23,60,0,60,0,176,23,38,0,162,23,196,23,60,0,60,0,177,23,38,0,162,23,197,23,60,0,60,0,179,23,38,0,167,23,128,23,60,0,60,0,60,0,168,23,38,0,169,23,156,23,60,0,60,0,60,0,170,23,38,0,177,23,60,0,60,0,60,0,178,23,38,0,197,23,60,0,187,23,198,23,60,0,198,23,60,0,182,23,198,23,60,0,199,23,60,0,183,23,199,23,60,0,187,23,199,23,60,0,193,23,199,23,60,0,196,23,199,23,0,0,170,170,170,170,170,170,170,170,236,30,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,76,0,0,0,76,1,0,0,236,25,0,0,236,25,0,0,76,26,0,0,76,26,0,0,168,28,0,0,168,28,0,0,198,30,0,0,208,30,0,0,23,0,0,0,0,0,98,117,178,255,0,118,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,0,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,129,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,112,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,17,0,202,193,17,0,202,226,17,0,202,3,18,0,202,36,18,0,202,69,18,0,202,102,18,0,202,135,18,0,202,168,18,0,202,201,18,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,16,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,17,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,17,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,0,0,0,201,160,0,0,201,96,1,0,201,32,2,0,201,224,2,0,201,160,3,0,201,96,4,0,201,32,5,0,201,224,5,0,201,160,6,0,201,96,7,0,201,32,8,0,201,224,8,0,201,160,9,0,201,96,10,0,201,32,11,0,201,224,11,0,201,160,12,0,201,96,13,0,201,32,14,0,201,224,14,0,201,160,15,0,201,96,16,0,201,32,17,0,201,224,17,0,201,160,18,0,201,96,19,0,201,32,20,0,201,224,20,0,201,160,21,0,201,96,22,0,201,32,23,0,201,224,23,0,201,160,24,0,201,96,25,0,201,96,25,0,197,66,13,0,197,130,13,0,197,194,13,0,197,2,14,0,197,67,14,0,197,162,14,0,197,227,14,0,201,32,26,0,201,192,26,0,201,128,27,0,201,64,28,0,197,66,15,0,197,130,15,0,197,194,15,0,197,2,16,0,197,66,16,0,0,0,0,0,0,0,0,0,201,0,29,0,201,224,29,0,192,0,0,0,192,0,0,0,192,0,0,0,201,192,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,32,0,192,0,0,0,192,0,0,0,201,0,33,0,192,0,0,0,193,3,237,117,193,5,237,117,194,5,164,245,194,5,167,245,194,5,168,245,194,5,166,245,192,0,0,0,194,5,169,245,194,5,160,245,194,5,161,245,194,5,163,245,194,5,162,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,165,245,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,5,0,0,152,117,0,5,0,5,0,0,238,117,0,5,0,70,0,2,153,117,0,5,0,5,0,0,152,117,0,5,0,5,0,0,238,117,0,5,0,70,0,3,153,117,0,5,0,5,0,0,152,117,0,5,0,5,0,0,238,117,0,5,0,70,0,2,155,117,0,5,0,5,0,0,152,117,0,5,0,5,0,0,238,117,0,5,0,70,0,3,155,117,0,0,0,0,5,5,152,117,5,5,238,117,5,70,100,117,5,5,152,117,5,5,238,117,5,70,102,117,5,5,152,117,5,5,238,117,5,70,104,117,5,5,152,117,5,5,238,117,5,70,106,117,5,5,152,117,5,5,238,117,5,70,108,117,5,5,152,117,5,5,238,117,5,70,110,117,5,5,152,117,5,5,238,117,5,70,112,117,5,5,152,117,5,5,238,117,5,70,114,117,5,5,152,117,5,5,238,117,5,70,116,117,5,5,152,117,5,5,238,117,5,70,118,117,5,5,152,117,5,5,238,117,5,70,120,117,5,5,152,117,5,5,238,117,5,70,122,117,5,5,152,117,5,5,238,117,5,70,124,117,5,5,152,117,5,5,238,117,5,70,126,117,5,5,152,117,5,5,238,117,5,70,128,117,5,5,152,117,5,5,238,117,5,70,130,117,5,5,152,117,5,5,238,117,5,70,132,117,5,5,152,117,5,5,238,117,5,70,134,117,5,5,152,117,5,5,238,117,5,70,136,117,5,5,152,117,5,5,238,117,5,70,138,117,5,5,152,117,5,5,238,117,5,70,140,117,5,5,152,117,5,5,238,117,5,70,142,117,5,5,152,117,5,5,238,117,5,70,144,117,5,5,152,117,5,5,238,117,5,70,146,117,5,5,152,117,5,5,238,117,5,70,148,117,5,5,152,117,5,5,238,117,5,70,150,117,5,5,152,117,5,5,238,117,5,70,152,117,5,5,152,117,5,5,238,117,5,70,154,117,5,5,152,117,5,5,238,117,5,70,156,117,5,5,152,117,5,5,238,117,5,70,158,117,5,5,152,117,5,5,238,117,5,70,160,117,5,5,152,117,5,5,238,117,5,70,162,117,5,5,152,117,5,5,238,117,5,70,164,117,5,5,152,117,5,5,238,117,5,70,166,117,5,5,152,117,5,5,238,117,5,70,168,117,5,5,168,117,5,5,206,117,5,5,168,117,5,70,208,117,5,5,168,117,5,70,210,117,5,5,168,117,5,70,216,117,5,5,168,117,5,70,216,117,6,5,100,117,5,5,168,117,5,70,218,117,5,5,168,117,5,70,218,117,6,5,156,117,5,5,168,117,5,70,230,117,5,5,168,117,5,70,232,117,5,5,168,117,5,70,234,117,5,5,168,117,6,70,234,117,5,5,168,117,5,70,236,117,5,5,48,9,5,5,154,117,6,5,48,9,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,100,117,5,5,48,0,204,23,197,163,102,117,5,5,48,0,204,23,0,192,197,131,104,117,5,5,48,0,204,23,0,192,197,227,106,117,5,5,48,0,204,23,1,192,197,67,108,117,5,5,48,0,204,23,1,192,197,163,110,117,5,5,48,0,204,23,2,192,197,3,112,117,5,5,48,0,204,23,2,192,197,99,114,117,5,5,48,0,204,23,2,192,197,195,116,117,5,5,48,0,204,23,3,192,197,35,118,117,5,5,48,0,204,23,3,192,197,131,120,117,5,5,48,0,204,23,3,192,197,227,122,117,5,5,48,0,204,23,4,192,197,67,124,117,5,5,48,0,204,23,4,192,197,163,126,117,5,5,48,0,204,23,5,192,197,3,128,117,5,5,48,0,204,23,5,192,197,99,130,117,5,5,48,0,204,23,5,192,197,195,132,117,5,5,48,0,204,23,6,192,197,35,134,117,5,5,48,0,204,23,6,192,197,131,136,117,5,5,48,0,204,23,6,192,197,227,138,117,5,5,48,0,204,23,7,192,197,67,140,117,5,5,48,0,204,23,7,192,197,163,142,117,5,5,48,0,204,23,8,192,197,3,144,117,5,5,48,0,204,23,8,192,197,99,146,117,5,5,48,0,204,23,8,192,197,195,148,117,5,5,48,0,204,23,9,192,197,35,150,117,5,5,48,0,204,23,9,192,197,131,152,117,5,5,48,0,204,23,9,192,197,227,154,117,5,5,48,0,204,23,10,192,197,67,156,117,5,5,48,0,204,23,10,192,197,163,158,117,5,5,48,0,204,23,11,192,197,3,160,117,5,5,48,0,204,23,11,192,197,99,162,117,5,5,48,0,204,23,11,192,197,195,164,117,5,5,48,0,204,23,12,192,197,35,166,117,5,5,48,0,204,23,12,192,197,131,168,117,5,5,48,0,204,23,12,192,197,227,153,117,193,2,48,0,204,23,198,131,153,117,193,3,48,0,204,23,0,192,198,99,155,117,193,2,48,0,204,23,0,192,198,195,155,117,193,3,48,0,204,23,1,192,198,35,206,117,5,5,48,0,198,23,255,255,237,117,193,4,208,117,5,5,48,0,199,23,255,255,237,117,193,6,216,117,5,5,1,0,198,23,255,255,237,117,193,2,199,23,255,255,237,117,193,7,228,117,5,5,48,0,199,23,255,255,237,117,193,8,234,117,5,5,48,0,199,23,255,255,237,117,193,9,4,0,198,23,200,23,204,23,205,23,3,0,69,0,52,0,61,0,35,1,0,16,4,0,0,96,1,0,0,96,1,0,43,0,223,8,0,32,1,0,32,0,228,8,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,117,33,0,32,7,0,0,0,24,0,0,0,119,33,0,0,119,33,0,0,3,0,0,0,0,0,0,0,118,9,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,116,114,97,100,105,116,105,111,110,97,108,0,0,0,52,0,50,0,0,0,87,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,75,0,110,0,100,0,97,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,12,60,0,130,12,60,0,131,12,60,0,241,12,60,0,242,12,0,0,239,223,92,18,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,75,0,110,0,100,0,97,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,12,60,0,130,12,60,0,131,12,60,0,241,12,60,0,242,12,60,0,149,12,205,12,60,0,150,12,205,12,60,0,151,12,205,12,60,0,152,12,205,12,60,0,153,12,205,12,60,0,154,12,205,12,60,0,155,12,205,12,60,0,156,12,205,12,60,0,157,12,205,12,60,0,158,12,205,12,60,0,159,12,205,12,60,0,160,12,205,12,60,0,161,12,205,12,60,0,162,12,205,12,60,0,163,12,205,12,60,0,164,12,205,12,60,0,165,12,205,12,60,0,166,12,205,12,60,0,167,12,205,12,60,0,168,12,205,12,60,0,170,12,205,12,60,0,171,12,205,12,60,0,172,12,205,12,60,0,173,12,205,12,60,0,174,12,205,12,60,0,175,12,205,12,60,0,176,12,205,12,60,0,177,12,205,12,60,0,178,12,205,12,60,0,181,12,205,12,60,0,182,12,205,12,60,0,183,12,205,12,60,0,184,12,205,12,60,0,185,12,205,12,60,0,179,12,205,12,60,0,222,12,205,12,38,0,149,12,205,12,133,12,61,0,149,12,38,0,149,12,205,12,134,12,61,0,149,12,190,12,38,0,149,12,205,12,135,12,61,0,149,12,191,12,38,0,149,12,205,12,136,12,61,0,149,12,192,12,38,0,149,12,205,12,137,12,61,0,149,12,193,12,38,0,149,12,205,12,138,12,61,0,149,12,194,12,38,0,149,12,205,12,139,12,61,0,149,12,195,12,38,0,149,12,205,12,224,12,61,0,149,12,196,12,38,0,149,12,205,12,140,12,61,0,149,12,226,12,38,0,149,12,205,12,225,12,61,0,149,12,227,12,38,0,149,12,205,12,142,12,61,0,149,12,198,12,38,0,149,12,205,12,143,12,61,0,149,12,199,12,38,0,149,12,205,12,144,12,61,0,149,12,200,12,38,0,149,12,205,12,146,12,61,0,149,12,202,12,38,0,149,12,205,12,147,12,61,0,149,12,203,12,38,0,149,12,205,12,148,12,61,0,149,12,204,12,38,0,150,12,205,12,133,12,61,0,150,12,38,0,150,12,205,12,134,12,61,0,150,12,190,12,38,0,150,12,205,12,135,12,61,0,150,12,191,12,38,0,150,12,205,12,136,12,61,0,150,12,192,12,38,0,150,12,205,12,137,12,61,0,150,12,193,12,38,0,150,12,205,12,138,12,61,0,150,12,194,12,38,0,150,12,205,12,139,12,61,0,150,12,195,12,38,0,150,12,205,12,224,12,61,0,150,12,196,12,38,0,150,12,205,12,140,12,61,0,150,12,226,12,38,0,150,12,205,12,225,12,61,0,150,12,227,12,38,0,150,12,205,12,142,12,61,0,150,12,198,12,38,0,150,12,205,12,143,12,61,0,150,12,199,12,38,0,150,12,205,12,144,12,61,0,150,12,200,12,38,0,150,12,205,12,146,12,61,0,150,12,202,12,38,0,150,12,205,12,147,12,61,0,150,12,203,12,38,0,150,12,205,12,148,12,61,0,150,12,204,12,38,0,151,12,205,12,133,12,61,0,151,12,38,0,151,12,205,12,134,12,61,0,151,12,190,12,38,0,151,12,205,12,135,12,61,0,151,12,191,12,38,0,151,12,205,12,136,12,61,0,151,12,192,12,38,0,151,12,205,12,137,12,61,0,151,12,193,12,38,0,151,12,205,12,138,12,61,0,151,12,194,12,38,0,151,12,205,12,139,12,61,0,151,12,195,12,38,0,151,12,205,12,224,12,61,0,151,12,196,12,38,0,151,12,205,12,140,12,61,0,151,12,226,12,38,0,151,12,205,12,225,12,61,0,151,12,227,12,38,0,151,12,205,12,142,12,61,0,151,12,198,12,38,0,151,12,205,12,143,12,61,0,151,12,199,12,38,0,151,12,205,12,144,12,61,0,151,12,200,12,38,0,151,12,205,12,146,12,61,0,151,12,202,12,38,0,151,12,205,12,147,12,61,0,151,12,203,12,38,0,151,12,205,12,148,12,61,0,151,12,204,12,38,0,152,12,205,12,133,12,61,0,152,12,38,0,152,12,205,12,134,12,61,0,152,12,190,12,38,0,152,12,205,12,135,12,61,0,152,12,191,12,38,0,152,12,205,12,136,12,61,0,152,12,192,12,38,0,152,12,205,12,137,12,61,0,152,12,193,12,38,0,152,12,205,12,138,12,61,0,152,12,194,12,38,0,152,12,205,12,139,12,61,0,152,12,195,12,38,0,152,12,205,12,224,12,61,0,152,12,196,12,38,0,152,12,205,12,140,12,61,0,152,12,226,12,38,0,152,12,205,12,225,12,61,0,152,12,227,12,38,0,152,12,205,12,142,12,61,0,152,12,198,12,38,0,152,12,205,12,143,12,61,0,152,12,199,12,38,0,152,12,205,12,144,12,61,0,152,12,200,12,38,0,152,12,205,12,146,12,61,0,152,12,202,12,38,0,152,12,205,12,147,12,61,0,152,12,203,12,38,0,152,12,205,12,148,12,61,0,152,12,204,12,38,0,153,12,205,12,133,12,61,0,153,12,38,0,153,12,205,12,134,12,61,0,153,12,190,12,38,0,153,12,205,12,135,12,61,0,153,12,191,12,38,0,153,12,205,12,136,12,61,0,153,12,192,12,38,0,153,12,205,12,137,12,61,0,153,12,193,12,38,0,153,12,205,12,138,12,61,0,153,12,194,12,38,0,153,12,205,12,139,12,61,0,153,12,195,12,38,0,153,12,205,12,224,12,61,0,153,12,196,12,38,0,153,12,205,12,140,12,61,0,153,12,226,12,38,0,153,12,205,12,225,12,61,0,153,12,227,12,38,0,153,12,205,12,142,12,61,0,153,12,198,12,38,0,153,12,205,12,143,12,61,0,153,12,199,12,38,0,153,12,205,12,144,12,61,0,153,12,200,12,38,0,153,12,205,12,146,12,61,0,153,12,202,12,38,0,153,12,205,12,147,12,61,0,153,12,203,12,38,0,153,12,205,12,148,12,61,0,153,12,204,12,38,0,154,12,205,12,133,12,61,0,154,12,38,0,154,12,205,12,134,12,61,0,154,12,190,12,38,0,154,12,205,12,135,12,61,0,154,12,191,12,38,0,154,12,205,12,136,12,61,0,154,12,192,12,38,0,154,12,205,12,137,12,61,0,154,12,193,12,38,0,154,12,205,12,138,12,61,0,154,12,194,12,38,0,154,12,205,12,139,12,61,0,154,12,195,12,38,0,154,12,205,12,224,12,61,0,154,12,196,12,38,0,154,12,205,12,140,12,61,0,154,12,226,12,38,0,154,12,205,12,225,12,61,0,154,12,227,12,38,0,154,12,205,12,142,12,61,0,154,12,198,12,38,0,154,12,205,12,143,12,61,0,154,12,199,12,38,0,154,12,205,12,144,12,61,0,154,12,200,12,38,0,154,12,205,12,146,12,61,0,154,12,202,12,38,0,154,12,205,12,147,12,61,0,154,12,203,12,38,0,154,12,205,12,148,12,61,0,154,12,204,12,38,0,155,12,205,12,133,12,61,0,155,12,38,0,155,12,205,12,134,12,61,0,155,12,190,12,38,0,155,12,205,12,135,12,61,0,155,12,191,12,38,0,155,12,205,12,136,12,61,0,155,12,192,12,38,0,155,12,205,12,137,12,61,0,155,12,193,12,38,0,155,12,205,12,138,12,61,0,155,12,194,12,38,0,155,12,205,12,139,12,61,0,155,12,195,12,38,0,155,12,205,12,224,12,61,0,155,12,196,12,38,0,155,12,205,12,140,12,61,0,155,12,226,12,38,0,155,12,205,12,225,12,61,0,155,12,227,12,38,0,155,12,205,12,142,12,61,0,155,12,198,12,38,0,155,12,205,12,143,12,61,0,155,12,199,12,38,0,155,12,205,12,144,12,61,0,155,12,200,12,38,0,155,12,205,12,146,12,61,0,155,12,202,12,38,0,155,12,205,12,147,12,61,0,155,12,203,12,38,0,155,12,205,12,148,12,61,0,155,12,204,12,38,0,156,12,205,12,133,12,61,0,156,12,38,0,156,12,205,12,134,12,61,0,156,12,190,12,38,0,156,12,205,12,135,12,61,0,156,12,191,12,38,0,156,12,205,12,136,12,61,0,156,12,192,12,38,0,156,12,205,12,137,12,61,0,156,12,193,12,38,0,156,12,205,12,138,12,61,0,156,12,194,12,38,0,156,12,205,12,139,12,61,0,156,12,195,12,38,0,156,12,205,12,224,12,61,0,156,12,196,12,38,0,156,12,205,12,140,12,61,0,156,12,226,12,38,0,156,12,205,12,225,12,61,0,156,12,227,12,38,0,156,12,205,12,142,12,61,0,156,12,198,12,38,0,156,12,205,12,143,12,61,0,156,12,199,12,38,0,156,12,205,12,144,12,61,0,156,12,200,12,38,0,156,12,205,12,146,12,61,0,156,12,202,12,38,0,156,12,205,12,147,12,61,0,156,12,203,12,38,0,156,12,205,12,148,12,61,0,156,12,204,12,38,0,157,12,205,12,133,12,61,0,157,12,38,0,157,12,205,12,134,12,61,0,157,12,190,12,38,0,157,12,205,12,135,12,61,0,157,12,191,12,38,0,157,12,205,12,136,12,61,0,157,12,192,12,38,0,157,12,205,12,137,12,61,0,157,12,193,12,38,0,157,12,205,12,138,12,61,0,157,12,194,12,38,0,157,12,205,12,139,12,61,0,157,12,195,12,38,0,157,12,205,12,224,12,61,0,157,12,196,12,38,0,157,12,205,12,140,12,61,0,157,12,226,12,38,0,157,12,205,12,225,12,61,0,157,12,227,12,38,0,157,12,205,12,142,12,61,0,157,12,198,12,38,0,157,12,205,12,143,12,61,0,157,12,199,12,38,0,157,12,205,12,144,12,61,0,157,12,200,12,38,0,157,12,205,12,146,12,61,0,157,12,202,12,38,0,157,12,205,12,147,12,61,0,157,12,203,12,38,0,157,12,205,12,148,12,61,0,157,12,204,12,38,0,158,12,205,12,133,12,61,0,158,12,38,0,158,12,205,12,134,12,61,0,158,12,190,12,38,0,158,12,205,12,135,12,61,0,158,12,191,12,38,0,158,12,205,12,136,12,61,0,158,12,192,12,38,0,158,12,205,12,137,12,61,0,158,12,193,12,38,0,158,12,205,12,138,12,61,0,158,12,194,12,38,0,158,12,205,12,139,12,61,0,158,12,195,12,38,0,158,12,205,12,224,12,61,0,158,12,196,12,38,0,158,12,205,12,140,12,61,0,158,12,226,12,38,0,158,12,205,12,225,12,61,0,158,12,227,12,38,0,158,12,205,12,142,12,61,0,158,12,198,12,38,0,158,12,205,12,143,12,61,0,158,12,199,12,38,0,158,12,205,12,144,12,61,0,158,12,200,12,38,0,158,12,205,12,146,12,61,0,158,12,202,12,38,0,158,12,205,12,147,12,61,0,158,12,203,12,38,0,158,12,205,12,148,12,61,0,158,12,204,12,38,0,159,12,205,12,133,12,61,0,159,12,38,0,159,12,205,12,134,12,61,0,159,12,190,12,38,0,159,12,205,12,135,12,61,0,159,12,191,12,38,0,159,12,205,12,136,12,61,0,159,12,192,12,38,0,159,12,205,12,137,12,61,0,159,12,193,12,38,0,159,12,205,12,138,12,61,0,159,12,194,12,38,0,159,12,205,12,139,12,61,0,159,12,195,12,38,0,159,12,205,12,224,12,61,0,159,12,196,12,38,0,159,12,205,12,140,12,61,0,159,12,226,12,38,0,159,12,205,12,225,12,61,0,159,12,227,12,38,0,159,12,205,12,142,12,61,0,159,12,198,12,38,0,159,12,205,12,143,12,61,0,159,12,199,12,38,0,159,12,205,12,144,12,61,0,159,12,200,12,38,0,159,12,205,12,146,12,61,0,159,12,202,12,38,0,159,12,205,12,147,12,61,0,159,12,203,12,38,0,159,12,205,12,148,12,61,0,159,12,204,12,38,0,160,12,205,12,133,12,61,0,160,12,38,0,160,12,205,12,134,12,61,0,160,12,190,12,38,0,160,12,205,12,135,12,61,0,160,12,191,12,38,0,160,12,205,12,136,12,61,0,160,12,192,12,38,0,160,12,205,12,137,12,61,0,160,12,193,12,38,0,160,12,205,12,138,12,61,0,160,12,194,12,38,0,160,12,205,12,139,12,61,0,160,12,195,12,38,0,160,12,205,12,224,12,61,0,160,12,196,12,38,0,160,12,205,12,140,12,61,0,160,12,226,12,38,0,160,12,205,12,225,12,61,0,160,12,227,12,38,0,160,12,205,12,142,12,61,0,160,12,198,12,38,0,160,12,205,12,143,12,61,0,160,12,199,12,38,0,160,12,205,12,144,12,61,0,160,12,200,12,38,0,160,12,205,12,146,12,61,0,160,12,202,12,38,0,160,12,205,12,147,12,61,0,160,12,203,12,38,0,160,12,205,12,148,12,61,0,160,12,204,12,38,0,161,12,205,12,133,12,61,0,161,12,38,0,161,12,205,12,134,12,61,0,161,12,190,12,38,0,161,12,205,12,135,12,61,0,161,12,191,12,38,0,161,12,205,12,136,12,61,0,161,12,192,12,38,0,161,12,205,12,137,12,61,0,161,12,193,12,38,0,161,12,205,12,138,12,61,0,161,12,194,12,38,0,161,12,205,12,139,12,61,0,161,12,195,12,38,0,161,12,205,12,224,12,61,0,161,12,196,12,38,0,161,12,205,12,140,12,61,0,161,12,226,12,38,0,161,12,205,12,225,12,61,0,161,12,227,12,38,0,161,12,205,12,142,12,61,0,161,12,198,12,38,0,161,12,205,12,143,12,61,0,161,12,199,12,38,0,161,12,205,12,144,12,61,0,161,12,200,12,38,0,161,12,205,12,146,12,61,0,161,12,202,12,38,0,161,12,205,12,147,12,61,0,161,12,203,12,38,0,161,12,205,12,148,12,61,0,161,12,204,12,38,0,162,12,205,12,133,12,61,0,162,12,38,0,162,12,205,12,134,12,61,0,162,12,190,12,38,0,162,12,205,12,135,12,61,0,162,12,191,12,38,0,162,12,205,12,136,12,61,0,162,12,192,12,38,0,162,12,205,12,137,12,61,0,162,12,193,12,38,0,162,12,205,12,138,12,61,0,162,12,194,12,38,0,162,12,205,12,139,12,61,0,162,12,195,12,38,0,162,12,205,12,224,12,61,0,162,12,196,12,38,0,162,12,205,12,140,12,61,0,162,12,226,12,38,0,162,12,205,12,225,12,61,0,162,12,227,12,38,0,162,12,205,12,142,12,61,0,162,12,198,12,38,0,162,12,205,12,143,12,61,0,162,12,199,12,38,0,162,12,205,12,144,12,61,0,162,12,200,12,38,0,162,12,205,12,146,12,61,0,162,12,202,12,38,0,162,12,205,12,147,12,61,0,162,12,203,12,38,0,162,12,205,12,148,12,61,0,162,12,204,12,38,0,163,12,205,12,133,12,61,0,163,12,38,0,163,12,205,12,134,12,61,0,163,12,190,12,38,0,163,12,205,12,135,12,61,0,163,12,191,12,38,0,163,12,205,12,136,12,61,0,163,12,192,12,38,0,163,12,205,12,137,12,61,0,163,12,193,12,38,0,163,12,205,12,138,12,61,0,163,12,194,12,38,0,163,12,205,12,139,12,61,0,163,12,195,12,38,0,163,12,205,12,224,12,61,0,163,12,196,12,38,0,163,12,205,12,140,12,61,0,163,12,226,12,38,0,163,12,205,12,225,12,61,0,163,12,227,12,38,0,163,12,205,12,142,12,61,0,163,12,198,12,38,0,163,12,205,12,143,12,61,0,163,12,199,12,38,0,163,12,205,12,144,12,61,0,163,12,200,12,38,0,163,12,205,12,146,12,61,0,163,12,202,12,38,0,163,12,205,12,147,12,61,0,163,12,203,12,38,0,163,12,205,12,148,12,61,0,163,12,204,12,38,0,164,12,205,12,133,12,61,0,164,12,38,0,164,12,205,12,134,12,61,0,164,12,190,12,38,0,164,12,205,12,135,12,61,0,164,12,191,12,38,0,164,12,205,12,136,12,61,0,164,12,192,12,38,0,164,12,205,12,137,12,61,0,164,12,193,12,38,0,164,12,205,12,138,12,61,0,164,12,194,12,38,0,164,12,205,12,139,12,61,0,164,12,195,12,38,0,164,12,205,12,224,12,61,0,164,12,196,12,38,0,164,12,205,12,140,12,61,0,164,12,226,12,38,0,164,12,205,12,225,12,61,0,164,12,227,12,38,0,164,12,205,12,142,12,61,0,164,12,198,12,38,0,164,12,205,12,143,12,61,0,164,12,199,12,38,0,164,12,205,12,144,12,61,0,164,12,200,12,38,0,164,12,205,12,146,12,61,0,164,12,202,12,38,0,164,12,205,12,147,12,61,0,164,12,203,12,38,0,164,12,205,12,148,12,61,0,164,12,204,12,38,0,165,12,205,12,133,12,61,0,165,12,38,0,165,12,205,12,134,12,61,0,165,12,190,12,38,0,165,12,205,12,135,12,61,0,165,12,191,12,38,0,165,12,205,12,136,12,61,0,165,12,192,12,38,0,165,12,205,12,137,12,61,0,165,12,193,12,38,0,165,12,205,12,138,12,61,0,165,12,194,12,38,0,165,12,205,12,139,12,61,0,165,12,195,12,38,0,165,12,205,12,224,12,61,0,165,12,196,12,38,0,165,12,205,12,140,12,61,0,165,12,226,12,38,0,165,12,205,12,225,12,61,0,165,12,227,12,38,0,165,12,205,12,142,12,61,0,165,12,198,12,38,0,165,12,205,12,143,12,61,0,165,12,199,12,38,0,165,12,205,12,144,12,61,0,165,12,200,12,38,0,165,12,205,12,146,12,61,0,165,12,202,12,38,0,165,12,205,12,147,12,61,0,165,12,203,12,38,0,165,12,205,12,148,12,61,0,165,12,204,12,38,0,166,12,205,12,133,12,61,0,166,12,38,0,166,12,205,12,134,12,61,0,166,12,190,12,38,0,166,12,205,12,135,12,61,0,166,12,191,12,38,0,166,12,205,12,136,12,61,0,166,12,192,12,38,0,166,12,205,12,137,12,61,0,166,12,193,12,38,0,166,12,205,12,138,12,61,0,166,12,194,12,38,0,166,12,205,12,139,12,61,0,166,12,195,12,38,0,166,12,205,12,224,12,61,0,166,12,196,12,38,0,166,12,205,12,140,12,61,0,166,12,226,12,38,0,166,12,205,12,225,12,61,0,166,12,227,12,38,0,166,12,205,12,142,12,61,0,166,12,198,12,38,0,166,12,205,12,143,12,61,0,166,12,199,12,38,0,166,12,205,12,144,12,61,0,166,12,200,12,38,0,166,12,205,12,146,12,61,0,166,12,202,12,38,0,166,12,205,12,147,12,61,0,166,12,203,12,38,0,166,12,205,12,148,12,61,0,166,12,204,12,38,0,167,12,205,12,133,12,61,0,167,12,38,0,167,12,205,12,134,12,61,0,167,12,190,12,38,0,167,12,205,12,135,12,61,0,167,12,191,12,38,0,167,12,205,12,136,12,61,0,167,12,192,12,38,0,167,12,205,12,137,12,61,0,167,12,193,12,38,0,167,12,205,12,138,12,61,0,167,12,194,12,38,0,167,12,205,12,139,12,61,0,167,12,195,12,38,0,167,12,205,12,224,12,61,0,167,12,196,12,38,0,167,12,205,12,140,12,61,0,167,12,226,12,38,0,167,12,205,12,225,12,61,0,167,12,227,12,38,0,167,12,205,12,142,12,61,0,167,12,198,12,38,0,167,12,205,12,143,12,61,0,167,12,199,12,38,0,167,12,205,12,144,12,61,0,167,12,200,12,38,0,167,12,205,12,146,12,61,0,167,12,202,12,38,0,167,12,205,12,147,12,61,0,167,12,203,12,38,0,167,12,205,12,148,12,61,0,167,12,204,12,38,0,168,12,205,12,133,12,61,0,168,12,38,0,168,12,205,12,134,12,61,0,168,12,190,12,38,0,168,12,205,12,135,12,61,0,168,12,191,12,38,0,168,12,205,12,136,12,61,0,168,12,192,12,38,0,168,12,205,12,137,12,61,0,168,12,193,12,38,0,168,12,205,12,138,12,61,0,168,12,194,12,38,0,168,12,205,12,139,12,61,0,168,12,195,12,38,0,168,12,205,12,224,12,61,0,168,12,196,12,38,0,168,12,205,12,140,12,61,0,168,12,226,12,38,0,168,12,205,12,225,12,61,0,168,12,227,12,38,0,168,12,205,12,142,12,61,0,168,12,198,12,38,0,168,12,205,12,143,12,61,0,168,12,199,12,38,0,168,12,205,12,144,12,61,0,168,12,200,12,38,0,168,12,205,12,146,12,61,0,168,12,202,12,38,0,168,12,205,12,147,12,61,0,168,12,203,12,38,0,168,12,205,12,148,12,61,0,168,12,204,12,38,0,170,12,205,12,133,12,61,0,170,12,38,0,170,12,205,12,134,12,61,0,170,12,190,12,38,0,170,12,205,12,135,12,61,0,170,12,191,12,38,0,170,12,205,12,136,12,61,0,170,12,192,12,38,0,170,12,205,12,137,12,61,0,170,12,193,12,38,0,170,12,205,12,138,12,61,0,170,12,194,12,38,0,170,12,205,12,139,12,61,0,170,12,195,12,38,0,170,12,205,12,224,12,61,0,170,12,196,12,38,0,170,12,205,12,140,12,61,0,170,12,226,12,38,0,170,12,205,12,225,12,61,0,170,12,227,12,38,0,170,12,205,12,142,12,61,0,170,12,198,12,38,0,170,12,205,12,143,12,61,0,170,12,199,12,38,0,170,12,205,12,144,12,61,0,170,12,200,12,38,0,170,12,205,12,146,12,61,0,170,12,202,12,38,0,170,12,205,12,147,12,61,0,170,12,203,12,38,0,170,12,205,12,148,12,61,0,170,12,204,12,38,0,171,12,205,12,133,12,61,0,171,12,38,0,171,12,205,12,134,12,61,0,171,12,190,12,38,0,171,12,205,12,135,12,61,0,171,12,191,12,38,0,171,12,205,12,136,12,61,0,171,12,192,12,38,0,171,12,205,12,137,12,61,0,171,12,193,12,38,0,171,12,205,12,138,12,61,0,171,12,194,12,38,0,171,12,205,12,139,12,61,0,171,12,195,12,38,0,171,12,205,12,224,12,61,0,171,12,196,12,38,0,171,12,205,12,140,12,61,0,171,12,226,12,38,0,171,12,205,12,225,12,61,0,171,12,227,12,38,0,171,12,205,12,142,12,61,0,171,12,198,12,38,0,171,12,205,12,143,12,61,0,171,12,199,12,38,0,171,12,205,12,144,12,61,0,171,12,200,12,38,0,171,12,205,12,146,12,61,0,171,12,202,12,38,0,171,12,205,12,147,12,61,0,171,12,203,12,38,0,171,12,205,12,148,12,61,0,171,12,204,12,38,0,172,12,205,12,133,12,61,0,172,12,38,0,172,12,205,12,134,12,61,0,172,12,190,12,38,0,172,12,205,12,135,12,61,0,172,12,191,12,38,0,172,12,205,12,136,12,61,0,172,12,192,12,38,0,172,12,205,12,137,12,61,0,172,12,193,12,38,0,172,12,205,12,138,12,61,0,172,12,194,12,38,0,172,12,205,12,139,12,61,0,172,12,195,12,38,0,172,12,205,12,224,12,61,0,172,12,196,12,38,0,172,12,205,12,140,12,61,0,172,12,226,12,38,0,172,12,205,12,225,12,61,0,172,12,227,12,38,0,172,12,205,12,142,12,61,0,172,12,198,12,38,0,172,12,205,12,143,12,61,0,172,12,199,12,38,0,172,12,205,12,144,12,61,0,172,12,200,12,38,0,172,12,205,12,146,12,61,0,172,12,202,12,38,0,172,12,205,12,147,12,61,0,172,12,203,12,38,0,172,12,205,12,148,12,61,0,172,12,204,12,38,0,173,12,205,12,133,12,61,0,173,12,38,0,173,12,205,12,134,12,61,0,173,12,190,12,38,0,173,12,205,12,135,12,61,0,173,12,191,12,38,0,173,12,205,12,136,12,61,0,173,12,192,12,38,0,173,12,205,12,137,12,61,0,173,12,193,12,38,0,173,12,205,12,138,12,61,0,173,12,194,12,38,0,173,12,205,12,139,12,61,0,173,12,195,12,38,0,173,12,205,12,224,12,61,0,173,12,196,12,38,0,173,12,205,12,140,12,61,0,173,12,226,12,38,0,173,12,205,12,225,12,61,0,173,12,227,12,38,0,173,12,205,12,142,12,61,0,173,12,198,12,38,0,173,12,205,12,143,12,61,0,173,12,199,12,38,0,173,12,205,12,144,12,61,0,173,12,200,12,38,0,173,12,205,12,146,12,61,0,173,12,202,12,38,0,173,12,205,12,147,12,61,0,173,12,203,12,38,0,173,12,205,12,148,12,61,0,173,12,204,12,38,0,174,12,205,12,133,12,61,0,174,12,38,0,174,12,205,12,134,12,61,0,174,12,190,12,38,0,174,12,205,12,135,12,61,0,174,12,191,12,38,0,174,12,205,12,136,12,61,0,174,12,192,12,38,0,174,12,205,12,137,12,61,0,174,12,193,12,38,0,174,12,205,12,138,12,61,0,174,12,194,12,38,0,174,12,205,12,139,12,61,0,174,12,195,12,38,0,174,12,205,12,224,12,61,0,174,12,196,12,38,0,174,12,205,12,140,12,61,0,174,12,226,12,38,0,174,12,205,12,225,12,61,0,174,12,227,12,38,0,174,12,205,12,142,12,61,0,174,12,198,12,38,0,174,12,205,12,143,12,61,0,174,12,199,12,38,0,174,12,205,12,144,12,61,0,174,12,200,12,38,0,174,12,205,12,146,12,61,0,174,12,202,12,38,0,174,12,205,12,147,12,61,0,174,12,203,12,38,0,174,12,205,12,148,12,61,0,174,12,204,12,38,0,175,12,205,12,133,12,61,0,175,12,38,0,175,12,205,12,134,12,61,0,175,12,190,12,38,0,175,12,205,12,135,12,61,0,175,12,191,12,38,0,175,12,205,12,136,12,61,0,175,12,192,12,38,0,175,12,205,12,137,12,61,0,175,12,193,12,38,0,175,12,205,12,138,12,61,0,175,12,194,12,38,0,175,12,205,12,139,12,61,0,175,12,195,12,38,0,175,12,205,12,224,12,61,0,175,12,196,12,38,0,175,12,205,12,140,12,61,0,175,12,226,12,38,0,175,12,205,12,225,12,61,0,175,12,227,12,38,0,175,12,205,12,142,12,61,0,175,12,198,12,38,0,175,12,205,12,143,12,61,0,175,12,199,12,38,0,175,12,205,12,144,12,61,0,175,12,200,12,38,0,175,12,205,12,146,12,61,0,175,12,202,12,38,0,175,12,205,12,147,12,61,0,175,12,203,12,38,0,175,12,205,12,148,12,61,0,175,12,204,12,38,0,176,12,205,12,133,12,61,0,176,12,38,0,176,12,205,12,134,12,61,0,176,12,190,12,38,0,176,12,205,12,135,12,61,0,176,12,191,12,38,0,176,12,205,12,136,12,61,0,176,12,192,12,38,0,176,12,205,12,137,12,61,0,176,12,193,12,38,0,176,12,205,12,138,12,61,0,176,12,194,12,38,0,176,12,205,12,139,12,61,0,176,12,195,12,38,0,176,12,205,12,224,12,61,0,176,12,196,12,38,0,176,12,205,12,140,12,61,0,176,12,226,12,38,0,176,12,205,12,225,12,61,0,176,12,227,12,38,0,176,12,205,12,142,12,61,0,176,12,198,12,38,0,176,12,205,12,143,12,61,0,176,12,199,12,38,0,176,12,205,12,144,12,61,0,176,12,200,12,38,0,176,12,205,12,146,12,61,0,176,12,202,12,38,0,176,12,205,12,147,12,61,0,176,12,203,12,38,0,176,12,205,12,148,12,61,0,176,12,204,12,38,0,177,12,205,12,133,12,61,0,177,12,38,0,177,12,205,12,134,12,61,0,177,12,190,12,38,0,177,12,205,12,135,12,61,0,177,12,191,12,38,0,177,12,205,12,136,12,61,0,177,12,192,12,38,0,177,12,205,12,137,12,61,0,177,12,193,12,38,0,177,12,205,12,138,12,61,0,177,12,194,12,38,0,177,12,205,12,139,12,61,0,177,12,195,12,38,0,177,12,205,12,224,12,61,0,177,12,196,12,38,0,177,12,205,12,140,12,61,0,177,12,226,12,38,0,177,12,205,12,225,12,61,0,177,12,227,12,38,0,177,12,205,12,142,12,61,0,177,12,198,12,38,0,177,12,205,12,143,12,61,0,177,12,199,12,38,0,177,12,205,12,144,12,61,0,177,12,200,12,38,0,177,12,205,12,146,12,61,0,177,12,202,12,38,0,177,12,205,12,147,12,61,0,177,12,203,12,38,0,177,12,205,12,148,12,61,0,177,12,204,12,38,0,178,12,205,12,133,12,61,0,178,12,38,0,178,12,205,12,134,12,61,0,178,12,190,12,38,0,178,12,205,12,135,12,61,0,178,12,191,12,38,0,178,12,205,12,136,12,61,0,178,12,192,12,38,0,178,12,205,12,137,12,61,0,178,12,193,12,38,0,178,12,205,12,138,12,61,0,178,12,194,12,38,0,178,12,205,12,139,12,61,0,178,12,195,12,38,0,178,12,205,12,224,12,61,0,178,12,196,12,38,0,178,12,205,12,140,12,61,0,178,12,226,12,38,0,178,12,205,12,225,12,61,0,178,12,227,12,38,0,178,12,205,12,142,12,61,0,178,12,198,12,38,0,178,12,205,12,143,12,61,0,178,12,199,12,38,0,178,12,205,12,144,12,61,0,178,12,200,12,38,0,178,12,205,12,146,12,61,0,178,12,202,12,38,0,178,12,205,12,147,12,61,0,178,12,203,12,38,0,178,12,205,12,148,12,61,0,178,12,204,12,38,0,181,12,205,12,133,12,61,0,181,12,38,0,181,12,205,12,134,12,61,0,181,12,190,12,38,0,181,12,205,12,135,12,61,0,181,12,191,12,38,0,181,12,205,12,136,12,61,0,181,12,192,12,38,0,181,12,205,12,137,12,61,0,181,12,193,12,38,0,181,12,205,12,138,12,61,0,181,12,194,12,38,0,181,12,205,12,139,12,61,0,181,12,195,12,38,0,181,12,205,12,224,12,61,0,181,12,196,12,38,0,181,12,205,12,140,12,61,0,181,12,226,12,38,0,181,12,205,12,225,12,61,0,181,12,227,12,38,0,181,12,205,12,142,12,61,0,181,12,198,12,38,0,181,12,205,12,143,12,61,0,181,12,199,12,38,0,181,12,205,12,144,12,61,0,181,12,200,12,38,0,181,12,205,12,146,12,61,0,181,12,202,12,38,0,181,12,205,12,147,12,61,0,181,12,203,12,38,0,181,12,205,12,148,12,61,0,181,12,204,12,38,0,182,12,205,12,133,12,61,0,182,12,38,0,182,12,205,12,134,12,61,0,182,12,190,12,38,0,182,12,205,12,135,12,61,0,182,12,191,12,38,0,182,12,205,12,136,12,61,0,182,12,192,12,38,0,182,12,205,12,137,12,61,0,182,12,193,12,38,0,182,12,205,12,138,12,61,0,182,12,194,12,38,0,182,12,205,12,139,12,61,0,182,12,195,12,38,0,182,12,205,12,224,12,61,0,182,12,196,12,38,0,182,12,205,12,140,12,61,0,182,12,226,12,38,0,182,12,205,12,225,12,61,0,182,12,227,12,38,0,182,12,205,12,142,12,61,0,182,12,198,12,38,0,182,12,205,12,143,12,61,0,182,12,199,12,38,0,182,12,205,12,144,12,61,0,182,12,200,12,38,0,182,12,205,12,146,12,61,0,182,12,202,12,38,0,182,12,205,12,147,12,61,0,182,12,203,12,38,0,182,12,205,12,148,12,61,0,182,12,204,12,38,0,183,12,205,12,133,12,61,0,183,12,38,0,183,12,205,12,134,12,61,0,183,12,190,12,38,0,183,12,205,12,135,12,61,0,183,12,191,12,38,0,183,12,205,12,136,12,61,0,183,12,192,12,38,0,183,12,205,12,137,12,61,0,183,12,193,12,38,0,183,12,205,12,138,12,61,0,183,12,194,12,38,0,183,12,205,12,139,12,61,0,183,12,195,12,38,0,183,12,205,12,224,12,61,0,183,12,196,12,38,0,183,12,205,12,140,12,61,0,183,12,226,12,38,0,183,12,205,12,225,12,61,0,183,12,227,12,38,0,183,12,205,12,142,12,61,0,183,12,198,12,38,0,183,12,205,12,143,12,61,0,183,12,199,12,38,0,183,12,205,12,144,12,61,0,183,12,200,12,38,0,183,12,205,12,146,12,61,0,183,12,202,12,38,0,183,12,205,12,147,12,61,0,183,12,203,12,38,0,183,12,205,12,148,12,61,0,183,12,204,12,38,0,184,12,205,12,133,12,61,0,184,12,38,0,184,12,205,12,134,12,61,0,184,12,190,12,38,0,184,12,205,12,135,12,61,0,184,12,191,12,38,0,184,12,205,12,136,12,61,0,184,12,192,12,38,0,184,12,205,12,137,12,61,0,184,12,193,12,38,0,184,12,205,12,138,12,61,0,184,12,194,12,38,0,184,12,205,12,139,12,61,0,184,12,195,12,38,0,184,12,205,12,224,12,61,0,184,12,196,12,38,0,184,12,205,12,140,12,61,0,184,12,226,12,38,0,184,12,205,12,225,12,61,0,184,12,227,12,38,0,184,12,205,12,142,12,61,0,184,12,198,12,38,0,184,12,205,12,143,12,61,0,184,12,199,12,38,0,184,12,205,12,144,12,61,0,184,12,200,12,38,0,184,12,205,12,146,12,61,0,184,12,202,12,38,0,184,12,205,12,147,12,61,0,184,12,203,12,38,0,184,12,205,12,148,12,61,0,184,12,204,12,38,0,185,12,205,12,133,12,61,0,185,12,38,0,185,12,205,12,134,12,61,0,185,12,190,12,38,0,185,12,205,12,135,12,61,0,185,12,191,12,38,0,185,12,205,12,136,12,61,0,185,12,192,12,38,0,185,12,205,12,137,12,61,0,185,12,193,12,38,0,185,12,205,12,138,12,61,0,185,12,194,12,38,0,185,12,205,12,139,12,61,0,185,12,195,12,38,0,185,12,205,12,224,12,61,0,185,12,196,12,38,0,185,12,205,12,140,12,61,0,185,12,226,12,38,0,185,12,205,12,225,12,61,0,185,12,227,12,38,0,185,12,205,12,142,12,61,0,185,12,198,12,38,0,185,12,205,12,143,12,61,0,185,12,199,12,38,0,185,12,205,12,144,12,61,0,185,12,200,12,38,0,185,12,205,12,146,12,61,0,185,12,202,12,38,0,185,12,205,12,147,12,61,0,185,12,203,12,38,0,185,12,205,12,148,12,61,0,185,12,204,12,38,0,179,12,205,12,133,12,61,0,179,12,38,0,179,12,205,12,134,12,61,0,179,12,190,12,38,0,179,12,205,12,135,12,61,0,179,12,191,12,38,0,179,12,205,12,136,12,61,0,179,12,192,12,38,0,179,12,205,12,137,12,61,0,179,12,193,12,38,0,179,12,205,12,138,12,61,0,179,12,194,12,38,0,179,12,205,12,139,12,61,0,179,12,195,12,38,0,179,12,205,12,224,12,61,0,179,12,196,12,38,0,179,12,205,12,140,12,61,0,179,12,226,12,38,0,179,12,205,12,225,12,61,0,179,12,227,12,38,0,179,12,205,12,142,12,61,0,179,12,198,12,38,0,179,12,205,12,143,12,61,0,179,12,199,12,38,0,179,12,205,12,144,12,61,0,179,12,200,12,38,0,179,12,205,12,146,12,61,0,179,12,202,12,38,0,179,12,205,12,147,12,61,0,179,12,203,12,38,0,179,12,205,12,148,12,61,0,179,12,204,12,38,0,222,12,205,12,133,12,61,0,222,12,38,0,222,12,205,12,134,12,61,0,222,12,190,12,38,0,222,12,205,12,135,12,61,0,222,12,191,12,38,0,222,12,205,12,136,12,61,0,222,12,192,12,38,0,222,12,205,12,137,12,61,0,222,12,193,12,38,0,222,12,205,12,138,12,61,0,222,12,194,12,38,0,222,12,205,12,139,12,61,0,222,12,195,12,38,0,222,12,205,12,224,12,61,0,222,12,196,12,38,0,222,12,205,12,140,12,61,0,222,12,226,12,38,0,222,12,205,12,225,12,61,0,222,12,227,12,38,0,222,12,205,12,142,12,61,0,222,12,198,12,38,0,222,12,205,12,143,12,61,0,222,12,199,12,38,0,222,12,205,12,144,12,61,0,222,12,200,12,38,0,222,12,205,12,146,12,61,0,222,12,202,12,38,0,222,12,205,12,147,12,61,0,222,12,203,12,38,0,222,12,205,12,148,12,61,0,222,12,204,12,38,0,153,12,205,12,149,12,60,0,60,0,60,0,130,12,149,12,38,0,153,12,205,12,150,12,60,0,60,0,60,0,130,12,150,12,38,0,153,12,205,12,151,12,60,0,60,0,60,0,130,12,151,12,38,0,153,12,205,12,152,12,60,0,60,0,60,0,130,12,152,12,38,0,153,12,205,12,153,12,60,0,60,0,60,0,130,12,153,12,38,0,158,12,205,12,154,12,60,0,60,0,60,0,130,12,154,12,38,0,158,12,205,12,155,12,60,0,60,0,60,0,130,12,155,12,38,0,158,12,205,12,156,12,60,0,60,0,60,0,130,12,156,12,38,0,158,12,205,12,157,12,60,0,60,0,60,0,130,12,157,12,38,0,158,12,205,12,158,12,60,0,60,0,60,0,130,12,158,12,38,0,163,12,205,12,159,12,60,0,60,0,60,0,130,12,159,12,38,0,163,12,205,12,160,12,60,0,60,0,60,0,130,12,160,12,38,0,163,12,205,12,161,12,60,0,60,0,60,0,130,12,161,12,38,0,163,12,205,12,162,12,60,0,60,0,60,0,130,12,162,12,38,0,163,12,205,12,163,12,60,0,60,0,60,0,130,12,163,12,38,0,168,12,205,12,164,12,60,0,60,0,60,0,130,12,164,12,38,0,168,12,205,12,165,12,60,0,60,0,60,0,130,12,165,12,38,0,168,12,205,12,166,12,60,0,60,0,60,0,130,12,166,12,38,0,168,12,205,12,167,12,60,0,60,0,60,0,130,12,167,12,38,0,168,12,205,12,168,12,60,0,60,0,60,0,130,12,168,12,38,0,174,12,205,12,170,12,60,0,60,0,60,0,130,12,170,12,38,0,174,12,205,12,171,12,60,0,60,0,60,0,130,12,171,12,38,0,174,12,205,12,172,12,60,0,60,0,60,0,130,12,172,12,38,0,174,12,205,12,173,12,60,0,60,0,60,0,130,12,173,12,38,0,174,12,205,12,174,12,60,0,60,0,60,0,130,12,174,12,38,0,156,12,60,0,60,0,60,0,156,12,188,12,38,0,156,12,190,12,60,0,60,0,60,0,156,12,188,12,190,12,38,0,156,12,191,12,60,0,60,0,60,0,156,12,188,12,191,12,38,0,156,12,192,12,60,0,60,0,60,0,156,12,188,12,192,12,38,0,156,12,193,12,60,0,60,0,60,0,156,12,188,12,193,12,38,0,156,12,194,12,60,0,60,0,60,0,156,12,188,12,194,12,38,0,156,12,195,12,60,0,60,0,60,0,156,12,188,12,195,12,38,0,156,12,196,12,60,0,60,0,60,0,156,12,188,12,196,12,38,0,156,12,226,12,60,0,60,0,60,0,156,12,188,12,226,12,38,0,156,12,227,12,60,0,60,0,60,0,156,12,188,12,227,12,38,0,156,12,198,12,60,0,60,0,60,0,156,12,188,12,198,12,38,0,156,12,199,12,60,0,60,0,60,0,156,12,188,12,199,12,38,0,156,12,200,12,60,0,60,0,60,0,156,12,188,12,200,12,38,0,156,12,202,12,60,0,60,0,60,0,156,12,188,12,202,12,38,0,156,12,203,12,60,0,60,0,60,0,156,12,188,12,203,12,38,0,156,12,204,12,60,0,60,0,60,0,156,12,188,12,204,12,38,0,171,12,60,0,60,0,60,0,171,12,188,12,38,0,171,12,190,12,60,0,60,0,60,0,171,12,188,12,190,12,38,0,171,12,191,12,60,0,60,0,60,0,171,12,188,12,191,12,38,0,171,12,192,12,60,0,60,0,60,0,171,12,188,12,192,12,38,0,171,12,193,12,60,0,60,0,60,0,171,12,188,12,193,12,38,0,171,12,194,12,60,0,60,0,60,0,171,12,188,12,194,12,38,0,171,12,195,12,60,0,60,0,60,0,171,12,188,12,195,12,38,0,171,12,196,12,60,0,60,0,60,0,171,12,188,12,196,12,38,0,171,12,226,12,60,0,60,0,60,0,171,12,188,12,226,12,38,0,171,12,227,12,60,0,60,0,60,0,171,12,188,12,227,12,38,0,171,12,198,12,60,0,60,0,60,0,171,12,188,12,198,12,38,0,171,12,199,12,60,0,60,0,60,0,171,12,188,12,199,12,38,0,171,12,200,12,60,0,60,0,60,0,171,12,188,12,200,12,38,0,171,12,202,12,60,0,60,0,60,0,171,12,188,12,202,12,38,0,171,12,203,12,60,0,60,0,60,0,171,12,188,12,203,12,38,0,171,12,204,12,60,0,60,0,60,0,171,12,188,12,204,12,0,0,170,170,170,170,176,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,116,0,0,0,116,1,0,0,84,25,0,0,84,25,0,0,84,25,0,0,84,25,0,0,152,25,0,0,21,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,111,184,255,0,112,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,45,46,39,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,117,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,100,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,37,111,193,3,37,111,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,37,111,193,5,37,111,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,119,9,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,0,70,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,128,0,0,0,128,1,0,0,144,26,0,0,144,26,0,0,144,26,0,0,144,26,0,0,0,47,0,0,0,47,0,0,202,69,0,0,232,69,0,0,21,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,111,184,255,0,112,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,45,46,39,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,136,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,111,0,119,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,162,0,202,97,162,0,202,130,162,0,202,163,162,0,202,196,162,0,202,229,162,0,202,6,163,0,202,39,163,0,202,72,163,0,202,105,163,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,130,161,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,161,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,2,162,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,0,0,0,193,3,37,111,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,100,11,0,201,164,20,0,201,228,29,0,201,36,39,0,201,100,48,0,201,164,57,0,201,228,66,0,201,36,76,0,201,132,95,0,201,196,104,0,201,4,114,0,201,68,123,0,201,132,132,0,201,196,141,0,201,4,151,0,201,68,160,0,201,132,169,0,201,196,178,0,201,4,188,0,201,68,197,0,192,0,0,0,201,132,206,0,201,196,215,0,201,36,235,0,201,100,244,0,201,164,253,0,201,228,6,1,201,36,16,1,201,100,25,1,201,164,34,1,201,228,43,1,192,0,0,0,201,36,53,1,201,100,62,1,201,164,71,1,201,228,80,1,201,36,90,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,100,99,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,37,111,193,5,37,111,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,193,10,37,111,193,6,37,111,32,5,6,111,193,10,37,111,193,7,37,111,31,5,6,111,193,10,37,111,193,8,37,111,30,5,6,111,193,10,37,111,193,9,37,111,29,5,6,111,193,10,37,111,193,10,37,111,28,5,6,111,193,15,37,111,193,11,37,111,27,5,6,111,193,15,37,111,193,12,37,111,26,5,6,111,193,15,37,111,193,13,37,111,25,5,6,111,193,15,37,111,193,14,37,111,24,5,6,111,193,15,37,111,193,15,37,111,23,5,6,111,193,20,37,111,193,16,37,111,22,5,6,111,193,20,37,111,193,17,37,111,21,5,6,111,193,20,37,111,193,18,37,111,20,5,6,111,193,20,37,111,193,19,37,111,19,5,6,111,193,20,37,111,193,20,37,111,18,5,6,111,193,25,37,111,193,21,37,111,17,5,6,111,193,25,37,111,193,22,37,111,16,5,6,111,193,25,37,111,193,23,37,111,15,5,6,111,193,25,37,111,193,24,37,111,14,5,6,111,193,25,37,111,193,25,37,111,13,5,6,111,193,30,37,111,193,26,37,111,12,5,6,111,193,30,37,111,193,27,37,111,11,5,6,111,193,30,37,111,193,28,37,111,10,5,6,111,193,30,37,111,193,29,37,111,9,5,6,111,193,30,37,111,193,30,37,111,8,5,6,111,193,6,37,111,5,5,6,111,193,6,37,111,5,5,8,111,193,6,37,111,5,5,10,111,193,6,37,111,5,5,12,111,193,6,37,111,5,5,14,111,193,6,37,111,5,5,16,111,193,6,37,111,5,5,18,111,193,6,37,111,5,5,20,111,193,6,37,111,5,5,26,111,193,6,37,111,5,5,32,111,193,6,37,111,5,5,34,111,193,6,37,111,5,5,28,111,193,6,37,111,5,5,30,111,193,6,37,111,5,5,36,111,193,6,37,111,5,5,22,111,193,6,37,111,5,5,24,111,193,7,37,111,5,5,6,111,193,7,37,111,5,5,8,111,193,7,37,111,5,5,10,111,193,7,37,111,5,5,12,111,193,7,37,111,5,5,14,111,193,7,37,111,5,5,16,111,193,7,37,111,5,5,18,111,193,7,37,111,5,5,20,111,193,7,37,111,5,5,26,111,193,7,37,111,5,5,32,111,193,7,37,111,5,5,34,111,193,7,37,111,5,5,28,111,193,7,37,111,5,5,30,111,193,7,37,111,5,5,36,111,193,7,37,111,5,5,22,111,193,7,37,111,5,5,24,111,193,8,37,111,5,5,6,111,193,8,37,111,5,5,8,111,193,8,37,111,5,5,10,111,193,8,37,111,5,5,12,111,193,8,37,111,5,5,14,111,193,8,37,111,5,5,16,111,193,8,37,111,5,5,18,111,193,8,37,111,5,5,20,111,193,8,37,111,5,5,26,111,193,8,37,111,5,5,32,111,193,8,37,111,5,5,34,111,193,8,37,111,5,5,28,111,193,8,37,111,5,5,30,111,193,8,37,111,5,5,36,111,193,8,37,111,5,5,22,111,193,8,37,111,5,5,24,111,193,9,37,111,5,5,6,111,193,9,37,111,5,5,8,111,193,9,37,111,5,5,10,111,193,9,37,111,5,5,12,111,193,9,37,111,5,5,14,111,193,9,37,111,5,5,16,111,193,9,37,111,5,5,18,111,193,9,37,111,5,5,20,111,193,9,37,111,5,5,26,111,193,9,37,111,5,5,32,111,193,9,37,111,5,5,34,111,193,9,37,111,5,5,28,111,193,9,37,111,5,5,30,111,193,9,37,111,5,5,36,111,193,9,37,111,5,5,22,111,193,9,37,111,5,5,24,111,193,10,37,111,5,5,6,111,193,10,37,111,5,5,8,111,193,10,37,111,5,5,10,111,193,10,37,111,5,5,12,111,193,10,37,111,5,5,14,111,193,10,37,111,5,5,16,111,193,10,37,111,5,5,18,111,193,10,37,111,5,5,20,111,193,10,37,111,5,5,26,111,193,10,37,111,5,5,32,111,193,10,37,111,5,5,34,111,193,10,37,111,5,5,28,111,193,10,37,111,5,5,30,111,193,10,37,111,5,5,36,111,193,10,37,111,5,5,22,111,193,10,37,111,5,5,24,111,193,11,37,111,5,5,6,111,193,11,37,111,5,5,8,111,193,11,37,111,5,5,10,111,193,11,37,111,5,5,12,111,193,11,37,111,5,5,14,111,193,11,37,111,5,5,16,111,193,11,37,111,5,5,18,111,193,11,37,111,5,5,20,111,193,11,37,111,5,5,26,111,193,11,37,111,5,5,32,111,193,11,37,111,5,5,34,111,193,11,37,111,5,5,28,111,193,11,37,111,5,5,30,111,193,11,37,111,5,5,36,111,193,11,37,111,5,5,22,111,193,11,37,111,5,5,24,111,193,12,37,111,5,5,6,111,193,12,37,111,5,5,8,111,193,12,37,111,5,5,10,111,193,12,37,111,5,5,12,111,193,12,37,111,5,5,14,111,193,12,37,111,5,5,16,111,193,12,37,111,5,5,18,111,193,12,37,111,5,5,20,111,193,12,37,111,5,5,26,111,193,12,37,111,5,5,32,111,193,12,37,111,5,5,34,111,193,12,37,111,5,5,28,111,193,12,37,111,5,5,30,111,193,12,37,111,5,5,36,111,193,12,37,111,5,5,22,111,193,12,37,111,5,5,24,111,193,13,37,111,5,5,6,111,193,13,37,111,7,5,6,111,193,13,37,111,7,5,8,111,193,13,37,111,7,5,10,111,193,13,37,111,7,5,12,111,193,13,37,111,7,5,14,111,193,13,37,111,7,5,16,111,193,13,37,111,7,5,18,111,193,13,37,111,7,5,20,111,193,13,37,111,7,5,26,111,193,13,37,111,7,5,32,111,193,13,37,111,7,5,34,111,193,13,37,111,7,5,28,111,193,13,37,111,7,5,30,111,193,13,37,111,7,5,36,111,193,13,37,111,7,5,22,111,193,13,37,111,7,5,24,111,193,13,37,111,5,5,8,111,193,13,37,111,5,5,10,111,193,13,37,111,5,5,12,111,193,13,37,111,5,5,14,111,193,13,37,111,5,5,16,111,193,13,37,111,5,5,18,111,193,13,37,111,5,5,20,111,193,13,37,111,5,5,26,111,193,13,37,111,5,5,32,111,193,13,37,111,5,5,34,111,193,13,37,111,5,5,28,111,193,13,37,111,5,5,30,111,193,13,37,111,5,5,36,111,193,13,37,111,5,5,22,111,193,13,37,111,5,5,24,111,193,14,37,111,5,5,6,111,193,14,37,111,5,5,8,111,193,14,37,111,5,5,10,111,193,14,37,111,5,5,12,111,193,14,37,111,5,5,14,111,193,14,37,111,5,5,16,111,193,14,37,111,5,5,18,111,193,14,37,111,5,5,20,111,193,14,37,111,5,5,26,111,193,14,37,111,5,5,32,111,193,14,37,111,5,5,34,111,193,14,37,111,5,5,28,111,193,14,37,111,5,5,30,111,193,14,37,111,5,5,36,111,193,14,37,111,5,5,22,111,193,14,37,111,5,5,24,111,193,15,37,111,5,5,6,111,193,15,37,111,5,5,8,111,193,15,37,111,5,5,10,111,193,15,37,111,5,5,12,111,193,15,37,111,5,5,14,111,193,15,37,111,5,5,16,111,193,15,37,111,5,5,18,111,193,15,37,111,5,5,20,111,193,15,37,111,5,5,26,111,193,15,37,111,5,5,32,111,193,15,37,111,5,5,34,111,193,15,37,111,5,5,28,111,193,15,37,111,5,5,30,111,193,15,37,111,5,5,36,111,193,15,37,111,5,5,22,111,193,15,37,111,5,5,24,111,193,16,37,111,5,5,6,111,193,16,37,111,5,5,8,111,193,16,37,111,5,5,10,111,193,16,37,111,5,5,12,111,193,16,37,111,5,5,14,111,193,16,37,111,5,5,16,111,193,16,37,111,5,5,18,111,193,16,37,111,5,5,20,111,193,16,37,111,5,5,26,111,193,16,37,111,5,5,32,111,193,16,37,111,5,5,34,111,193,16,37,111,5,5,28,111,193,16,37,111,5,5,30,111,193,16,37,111,5,5,36,111,193,16,37,111,5,5,22,111,193,16,37,111,5,5,24,111,193,17,37,111,5,5,6,111,193,17,37,111,5,5,8,111,193,17,37,111,5,5,10,111,193,17,37,111,5,5,12,111,193,17,37,111,5,5,14,111,193,17,37,111,5,5,16,111,193,17,37,111,5,5,18,111,193,17,37,111,5,5,20,111,193,17,37,111,5,5,26,111,193,17,37,111,5,5,32,111,193,17,37,111,5,5,34,111,193,17,37,111,5,5,28,111,193,17,37,111,5,5,30,111,193,17,37,111,5,5,36,111,193,17,37,111,5,5,22,111,193,17,37,111,5,5,24,111,193,18,37,111,5,5,6,111,193,18,37,111,5,5,8,111,193,18,37,111,5,5,10,111,193,18,37,111,5,5,12,111,193,18,37,111,5,5,14,111,193,18,37,111,5,5,16,111,193,18,37,111,5,5,18,111,193,18,37,111,5,5,20,111,193,18,37,111,5,5,26,111,193,18,37,111,5,5,32,111,193,18,37,111,5,5,34,111,193,18,37,111,5,5,28,111,193,18,37,111,5,5,30,111,193,18,37,111,5,5,36,111,193,18,37,111,5,5,22,111,193,18,37,111,5,5,24,111,193,19,37,111,5,5,6,111,193,19,37,111,5,5,8,111,193,19,37,111,5,5,10,111,193,19,37,111,5,5,12,111,193,19,37,111,5,5,14,111,193,19,37,111,5,5,16,111,193,19,37,111,5,5,18,111,193,19,37,111,5,5,20,111,193,19,37,111,5,5,26,111,193,19,37,111,5,5,32,111,193,19,37,111,5,5,34,111,193,19,37,111,5,5,28,111,193,19,37,111,5,5,30,111,193,19,37,111,5,5,36,111,193,19,37,111,5,5,22,111,193,19,37,111,5,5,24,111,193,20,37,111,5,5,6,111,193,20,37,111,5,5,8,111,193,20,37,111,5,5,10,111,193,20,37,111,5,5,12,111,193,20,37,111,5,5,14,111,193,20,37,111,5,5,16,111,193,20,37,111,5,5,18,111,193,20,37,111,5,5,20,111,193,20,37,111,5,5,26,111,193,20,37,111,5,5,32,111,193,20,37,111,5,5,34,111,193,20,37,111,5,5,28,111,193,20,37,111,5,5,30,111,193,20,37,111,5,5,36,111,193,20,37,111,5,5,22,111,193,20,37,111,5,5,24,111,193,21,37,111,5,5,6,111,193,21,37,111,5,5,8,111,193,21,37,111,5,5,10,111,193,21,37,111,5,5,12,111,193,21,37,111,5,5,14,111,193,21,37,111,5,5,16,111,193,21,37,111,5,5,18,111,193,21,37,111,5,5,20,111,193,21,37,111,5,5,26,111,193,21,37,111,5,5,32,111,193,21,37,111,5,5,34,111,193,21,37,111,5,5,28,111,193,21,37,111,5,5,30,111,193,21,37,111,5,5,36,111,193,21,37,111,5,5,22,111,193,21,37,111,5,5,24,111,193,22,37,111,5,5,6,111,193,22,37,111,5,5,8,111,193,22,37,111,5,5,10,111,193,22,37,111,5,5,12,111,193,22,37,111,5,5,14,111,193,22,37,111,5,5,16,111,193,22,37,111,5,5,18,111,193,22,37,111,5,5,20,111,193,22,37,111,5,5,26,111,193,22,37,111,5,5,32,111,193,22,37,111,5,5,34,111,193,22,37,111,5,5,28,111,193,22,37,111,5,5,30,111,193,22,37,111,5,5,36,111,193,22,37,111,5,5,22,111,193,22,37,111,5,5,24,111,193,23,37,111,5,5,6,111,193,23,37,111,5,5,8,111,193,23,37,111,5,5,10,111,193,23,37,111,5,5,12,111,193,23,37,111,5,5,14,111,193,23,37,111,5,5,16,111,193,23,37,111,5,5,18,111,193,23,37,111,5,5,20,111,193,23,37,111,5,5,26,111,193,23,37,111,5,5,32,111,193,23,37,111,5,5,34,111,193,23,37,111,5,5,28,111,193,23,37,111,5,5,30,111,193,23,37,111,5,5,36,111,193,23,37,111,5,5,22,111,193,23,37,111,5,5,24,111,193,24,37,111,5,5,6,111,193,24,37,111,5,5,8,111,193,24,37,111,5,5,10,111,193,24,37,111,5,5,12,111,193,24,37,111,5,5,14,111,193,24,37,111,5,5,16,111,193,24,37,111,5,5,18,111,193,24,37,111,5,5,20,111,193,24,37,111,5,5,26,111,193,24,37,111,5,5,32,111,193,24,37,111,5,5,34,111,193,24,37,111,5,5,28,111,193,24,37,111,5,5,30,111,193,24,37,111,5,5,36,111,193,24,37,111,5,5,22,111,193,24,37,111,5,5,24,111,193,25,37,111,5,5,6,111,193,25,37,111,5,5,8,111,193,25,37,111,5,5,10,111,193,25,37,111,5,5,12,111,193,25,37,111,5,5,14,111,193,25,37,111,5,5,16,111,193,25,37,111,5,5,18,111,193,25,37,111,5,5,20,111,193,25,37,111,5,5,26,111,193,25,37,111,5,5,32,111,193,25,37,111,5,5,34,111,193,25,37,111,5,5,28,111,193,25,37,111,5,5,30,111,193,25,37,111,5,5,36,111,193,25,37,111,5,5,22,111,193,25,37,111,5,5,24,111,193,26,37,111,5,5,6,111,193,26,37,111,5,5,8,111,193,26,37,111,5,5,10,111,193,26,37,111,5,5,12,111,193,26,37,111,5,5,14,111,193,26,37,111,5,5,16,111,193,26,37,111,5,5,18,111,193,26,37,111,5,5,20,111,193,26,37,111,5,5,26,111,193,26,37,111,5,5,32,111,193,26,37,111,5,5,34,111,193,26,37,111,5,5,28,111,193,26,37,111,5,5,30,111,193,26,37,111,5,5,36,111,193,26,37,111,5,5,22,111,193,26,37,111,5,5,24,111,193,27,37,111,5,5,6,111,193,27,37,111,6,5,6,111,193,27,37,111,6,5,8,111,193,27,37,111,6,5,10,111,193,27,37,111,6,5,12,111,193,27,37,111,6,5,14,111,193,27,37,111,6,5,16,111,193,27,37,111,6,5,18,111,193,27,37,111,6,5,20,111,193,27,37,111,6,5,26,111,193,27,37,111,6,5,32,111,193,27,37,111,6,5,34,111,193,27,37,111,6,5,28,111,193,27,37,111,6,5,30,111,193,27,37,111,6,5,36,111,193,27,37,111,6,5,22,111,193,27,37,111,6,5,24,111,193,27,37,111,5,5,8,111,193,27,37,111,5,5,10,111,193,27,37,111,5,5,12,111,193,27,37,111,5,5,14,111,193,27,37,111,5,5,16,111,193,27,37,111,5,5,18,111,193,27,37,111,5,5,20,111,193,27,37,111,5,5,26,111,193,27,37,111,5,5,32,111,193,27,37,111,5,5,34,111,193,27,37,111,5,5,28,111,193,27,37,111,5,5,30,111,193,27,37,111,5,5,36,111,193,27,37,111,5,5,22,111,193,27,37,111,5,5,24,111,193,28,37,111,5,5,6,111,193,28,37,111,5,5,8,111,193,28,37,111,5,5,10,111,193,28,37,111,5,5,12,111,193,28,37,111,5,5,14,111,193,28,37,111,5,5,16,111,193,28,37,111,5,5,18,111,193,28,37,111,5,5,20,111,193,28,37,111,5,5,26,111,193,28,37,111,5,5,32,111,193,28,37,111,5,5,34,111,193,28,37,111,5,5,28,111,193,28,37,111,5,5,30,111,193,28,37,111,5,5,36,111,193,28,37,111,5,5,22,111,193,28,37,111,5,5,24,111,193,29,37,111,5,5,6,111,193,29,37,111,5,5,8,111,193,29,37,111,5,5,10,111,193,29,37,111,5,5,12,111,193,29,37,111,5,5,14,111,193,29,37,111,5,5,16,111,193,29,37,111,5,5,18,111,193,29,37,111,5,5,20,111,193,29,37,111,5,5,26,111,193,29,37,111,5,5,32,111,193,29,37,111,5,5,34,111,193,29,37,111,5,5,28,111,193,29,37,111,5,5,30,111,193,29,37,111,5,5,36,111,193,29,37,111,5,5,22,111,193,29,37,111,5,5,24,111,193,30,37,111,5,5,6,111,193,30,37,111,5,5,8,111,193,30,37,111,5,5,10,111,193,30,37,111,5,5,12,111,193,30,37,111,5,5,14,111,193,30,37,111,5,5,16,111,193,30,37,111,5,5,18,111,193,30,37,111,5,5,20,111,193,30,37,111,5,5,26,111,193,30,37,111,5,5,32,111,193,30,37,111,5,5,34,111,193,30,37,111,5,5,28,111,193,30,37,111,5,5,30,111,193,30,37,111,5,5,36,111,193,30,37,111,5,5,22,111,193,30,37,111,5,5,24,111,193,31,37,111,5,5,6,111,193,31,37,111,5,5,8,111,193,31,37,111,5,5,10,111,193,31,37,111,5,5,12,111,193,31,37,111,5,5,14,111,193,31,37,111,5,5,16,111,193,31,37,111,5,5,18,111,193,31,37,111,5,5,20,111,193,31,37,111,5,5,26,111,193,31,37,111,5,5,32,111,193,31,37,111,5,5,34,111,193,31,37,111,5,5,28,111,193,31,37,111,5,5,30,111,193,31,37,111,5,5,36,111,193,31,37,111,5,5,22,111,193,31,37,111,5,5,24,111,193,32,37,111,5,5,6,111,193,32,37,111,5,5,8,111,193,32,37,111,5,5,10,111,193,32,37,111,5,5,12,111,193,32,37,111,5,5,14,111,193,32,37,111,5,5,16,111,193,32,37,111,5,5,18,111,193,32,37,111,5,5,20,111,193,32,37,111,5,5,26,111,193,32,37,111,5,5,32,111,193,32,37,111,5,5,34,111,193,32,37,111,5,5,28,111,193,32,37,111,5,5,30,111,193,32,37,111,5,5,36,111,193,32,37,111,5,5,22,111,193,32,37,111,5,5,24,111,193,33,37,111,5,5,6,111,193,33,37,111,5,5,8,111,193,33,37,111,5,5,10,111,193,33,37,111,5,5,12,111,193,33,37,111,5,5,14,111,193,33,37,111,5,5,16,111,193,33,37,111,5,5,18,111,193,33,37,111,5,5,20,111,193,33,37,111,5,5,26,111,193,33,37,111,5,5,32,111,193,33,37,111,5,5,34,111,193,33,37,111,5,5,28,111,193,33,37,111,5,5,30,111,193,33,37,111,5,5,36,111,193,33,37,111,5,5,22,111,193,33,37,111,5,5,24,111,193,34,37,111,5,5,6,111,193,34,37,111,5,5,8,111,193,34,37,111,5,5,10,111,193,34,37,111,5,5,12,111,193,34,37,111,5,5,14,111,193,34,37,111,5,5,16,111,193,34,37,111,5,5,18,111,193,34,37,111,5,5,20,111,193,34,37,111,5,5,26,111,193,34,37,111,5,5,32,111,193,34,37,111,5,5,34,111,193,34,37,111,5,5,28,111,193,34,37,111,5,5,30,111,193,34,37,111,5,5,36,111,193,34,37,111,5,5,22,111,193,34,37,111,5,5,24,111,193,40,37,111,5,5,6,111,193,40,37,111,5,5,8,111,193,40,37,111,5,5,10,111,193,40,37,111,5,5,12,111,193,40,37,111,5,5,14,111,193,40,37,111,5,5,16,111,193,40,37,111,5,5,18,111,193,40,37,111,5,5,20,111,193,40,37,111,5,5,26,111,193,40,37,111,5,5,32,111,193,40,37,111,5,5,34,111,193,40,37,111,5,5,28,111,193,40,37,111,5,5,30,111,193,40,37,111,5,5,36,111,193,40,37,111,5,5,22,111,193,40,37,111,5,5,24,111,193,35,37,111,5,5,6,111,193,35,37,111,5,5,8,111,193,35,37,111,5,5,10,111,193,35,37,111,5,5,12,111,193,35,37,111,5,5,14,111,193,35,37,111,5,5,16,111,193,35,37,111,5,5,18,111,193,35,37,111,5,5,20,111,193,35,37,111,5,5,26,111,193,35,37,111,5,5,32,111,193,35,37,111,5,5,34,111,193,35,37,111,5,5,28,111,193,35,37,111,5,5,30,111,193,35,37,111,5,5,36,111,193,35,37,111,5,5,22,111,193,35,37,111,5,5,24,111,193,36,37,111,5,5,6,111,193,36,37,111,5,5,8,111,193,36,37,111,5,5,10,111,193,36,37,111,5,5,12,111,193,36,37,111,5,5,14,111,193,36,37,111,5,5,16,111,193,36,37,111,5,5,18,111,193,36,37,111,5,5,20,111,193,36,37,111,5,5,26,111,193,36,37,111,5,5,32,111,193,36,37,111,5,5,34,111,193,36,37,111,5,5,28,111,193,36,37,111,5,5,30,111,193,36,37,111,5,5,36,111,193,36,37,111,5,5,22,111,193,36,37,111,5,5,24,111,193,37,37,111,5,5,6,111,193,37,37,111,5,5,8,111,193,37,37,111,5,5,10,111,193,37,37,111,5,5,12,111,193,37,37,111,5,5,14,111,193,37,37,111,5,5,16,111,193,37,37,111,5,5,18,111,193,37,37,111,5,5,20,111,193,37,37,111,5,5,26,111,193,37,37,111,5,5,32,111,193,37,37,111,5,5,34,111,193,37,37,111,5,5,28,111,193,37,37,111,5,5,30,111,193,37,37,111,5,5,36,111,193,37,37,111,5,5,22,111,193,37,37,111,5,5,24,111,193,38,37,111,5,5,6,111,193,38,37,111,5,5,8,111,193,38,37,111,5,5,10,111,193,38,37,111,5,5,12,111,193,38,37,111,5,5,14,111,193,38,37,111,5,5,16,111,193,38,37,111,5,5,18,111,193,38,37,111,5,5,20,111,193,38,37,111,5,5,26,111,193,38,37,111,5,5,32,111,193,38,37,111,5,5,34,111,193,38,37,111,5,5,28,111,193,38,37,111,5,5,30,111,193,38,37,111,5,5,36,111,193,38,37,111,5,5,22,111,193,38,37,111,5,5,24,111,193,39,37,111,5,5,6,111,193,39,37,111,5,5,8,111,193,39,37,111,5,5,10,111,193,39,37,111,5,5,12,111,193,39,37,111,5,5,14,111,193,39,37,111,5,5,16,111,193,39,37,111,5,5,18,111,193,39,37,111,5,5,20,111,193,39,37,111,5,5,26,111,193,39,37,111,5,5,32,111,193,39,37,111,5,5,34,111,193,39,37,111,5,5,28,111,193,39,37,111,5,5,30,111,193,39,37,111,5,5,36,111,193,39,37,111,5,5,22,111,193,39,37,111,5,5,24,111,193,41,37,111,5,5,6,111,193,41,37,111,5,5,8,111,193,41,37,111,5,5,10,111,193,41,37,111,5,5,12,111,193,41,37,111,5,5,14,111,193,41,37,111,5,5,16,111,193,41,37,111,5,5,18,111,193,41,37,111,5,5,20,111,193,41,37,111,5,5,26,111,193,41,37,111,5,5,32,111,193,41,37,111,5,5,34,111,193,41,37,111,5,5,28,111,193,41,37,111,5,5,30,111,193,41,37,111,5,5,36,111,193,41,37,111,5,5,22,111,193,41,37,111,5,5,24,111,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,37,111,193,2,24,0,161,12,45,0,167,12,23,0,171,12,12,0,171,12,8,192,197,3,172,12,8,192,197,99,173,12,8,192,197,195,174,12,9,192,197,35,167,12,6,192,197,227,168,12,7,192,197,67,170,12,7,192,197,163,164,12,9,0,164,12,5,192,197,195,165,12,6,192,197,35,166,12,6,192,197,131,161,12,4,192,197,163,162,12,5,192,197,3,163,12,5,192,197,99,155,12,20,0,158,12,9,0,158,12,3,192,197,131,159,12,3,192,197,227,160,12,4,192,197,67,155,12,2,192,197,99,156,12,2,192,197,195,157,12,3,192,197,35,152,12,9,0,152,12,1,192,197,67,153,12,1,192,197,163,154,12,2,192,197,3,149,12,197,163,150,12,0,192,197,131,151,12,0,192,197,227,9,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,12,192,197,194,205,12,255,255,37,111,193,6,226,12,13,192,197,2,227,12,13,192,197,66,199,12,12,192,197,66,200,12,12,192,197,130,202,12,25,0,203,12,12,192,197,2,194,12,25,0,194,12,10,192,197,194,195,12,11,192,197,2,196,12,11,192,197,66,198,12,2,67,197,130,194,12,6,0,213,12,12,192,197,66,214,12,12,192,197,130,48,67,197,194,213,12,12,192,197,2,190,12,9,192,197,194,191,12,6,0,192,12,10,192,197,66,193,12,10,192,197,130,240,66,197,2,213,12,10,192,197,66,13,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,16,192,197,194,205,12,255,255,37,111,193,7,226,12,17,192,197,2,227,12,17,192,197,66,199,12,16,192,197,66,200,12,16,192,197,130,202,12,25,0,203,12,16,192,197,2,194,12,25,0,194,12,14,192,197,194,195,12,15,192,197,2,196,12,15,192,197,66,198,12,2,68,197,130,194,12,6,0,213,12,16,192,197,66,214,12,16,192,197,130,48,68,197,194,213,12,16,192,197,2,190,12,13,192,197,194,191,12,6,0,192,12,14,192,197,66,193,12,14,192,197,130,240,67,197,2,213,12,14,192,197,66,17,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,20,192,197,194,205,12,255,255,37,111,193,8,226,12,21,192,197,2,227,12,21,192,197,66,199,12,20,192,197,66,200,12,20,192,197,130,202,12,25,0,203,12,20,192,197,2,194,12,25,0,194,12,18,192,197,194,195,12,19,192,197,2,196,12,19,192,197,66,198,12,2,69,197,130,194,12,6,0,213,12,20,192,197,66,214,12,20,192,197,130,48,69,197,194,213,12,20,192,197,2,190,12,17,192,197,194,191,12,6,0,192,12,18,192,197,66,193,12,18,192,197,130,240,68,197,2,213,12,18,192,197,66,21,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,24,192,197,194,205,12,255,255,37,111,193,9,226,12,25,192,197,2,227,12,25,192,197,66,199,12,24,192,197,66,200,12,24,192,197,130,202,12,25,0,203,12,24,192,197,2,194,12,25,0,194,12,22,192,197,194,195,12,23,192,197,2,196,12,23,192,197,66,198,12,2,70,197,130,194,12,6,0,213,12,24,192,197,66,214,12,24,192,197,130,48,70,197,194,213,12,24,192,197,2,190,12,21,192,197,194,191,12,6,0,192,12,22,192,197,66,193,12,22,192,197,130,240,69,197,2,213,12,22,192,197,66,25,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,28,192,197,194,205,12,255,255,37,111,193,10,226,12,29,192,197,2,227,12,29,192,197,66,199,12,28,192,197,66,200,12,28,192,197,130,202,12,25,0,203,12,28,192,197,2,194,12,25,0,194,12,26,192,197,194,195,12,27,192,197,2,196,12,27,192,197,66,198,12,2,71,197,130,194,12,6,0,213,12,28,192,197,66,214,12,28,192,197,130,48,71,197,194,213,12,28,192,197,2,190,12,25,192,197,194,191,12,6,0,192,12,26,192,197,66,193,12,26,192,197,130,240,70,197,2,213,12,26,192,197,66,29,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,32,192,197,194,205,12,255,255,37,111,193,11,226,12,33,192,197,2,227,12,33,192,197,66,199,12,32,192,197,66,200,12,32,192,197,130,202,12,25,0,203,12,32,192,197,2,194,12,25,0,194,12,30,192,197,194,195,12,31,192,197,2,196,12,31,192,197,66,198,12,2,72,197,130,194,12,6,0,213,12,32,192,197,66,214,12,32,192,197,130,48,72,197,194,213,12,32,192,197,2,190,12,29,192,197,194,191,12,6,0,192,12,30,192,197,66,193,12,30,192,197,130,240,71,197,2,213,12,30,192,197,66,33,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,36,192,197,194,205,12,255,255,37,111,193,12,226,12,37,192,197,2,227,12,37,192,197,66,199,12,36,192,197,66,200,12,36,192,197,130,202,12,25,0,203,12,36,192,197,2,194,12,25,0,194,12,34,192,197,194,195,12,35,192,197,2,196,12,35,192,197,66,198,12,2,73,197,130,194,12,6,0,213,12,36,192,197,66,214,12,36,192,197,130,48,73,197,194,213,12,36,192,197,2,190,12,33,192,197,194,191,12,6,0,192,12,34,192,197,66,193,12,34,192,197,130,240,72,197,2,213,12,34,192,197,66,37,0,197,130,16,0,198,12,47,0,203,12,16,0,203,12,44,192,197,2,204,12,44,192,197,194,205,12,255,255,37,111,193,13,226,12,45,192,197,2,227,12,45,192,197,66,198,12,12,0,199,12,44,192,197,66,200,12,44,192,197,130,202,12,48,75,197,194,213,12,44,192,197,2,2,75,197,130,194,12,6,0,213,12,44,192,197,66,214,12,44,192,197,130,48,75,197,194,213,12,44,192,197,2,193,12,12,0,193,12,42,192,197,130,194,12,42,192,197,194,195,12,43,192,197,2,196,12,43,192,197,66,188,12,8,0,190,12,41,192,197,194,191,12,77,0,192,12,42,192,197,66,142,73,197,194,198,12,43,0,203,12,12,0,203,12,40,192,197,66,204,12,41,192,197,2,226,12,41,192,197,66,227,12,41,192,197,130,198,12,12,0,199,12,40,192,197,130,200,12,40,192,197,194,202,12,112,74,197,2,213,12,40,192,197,66,2,74,197,194,194,12,6,0,213,12,40,192,197,130,214,12,40,192,197,194,112,74,197,2,213,12,40,192,197,66,193,12,12,0,193,12,38,192,197,194,194,12,39,192,197,2,195,12,39,192,197,66,196,12,39,192,197,130,190,12,38,192,197,2,191,12,3,0,192,12,38,192,197,130,240,73,197,66,213,12,38,192,197,130,240,74,197,2,213,12,42,192,197,66,45,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,48,192,197,194,205,12,255,255,37,111,193,14,226,12,49,192,197,2,227,12,49,192,197,66,199,12,48,192,197,66,200,12,48,192,197,130,202,12,25,0,203,12,48,192,197,2,194,12,25,0,194,12,46,192,197,194,195,12,47,192,197,2,196,12,47,192,197,66,198,12,2,76,197,130,194,12,6,0,213,12,48,192,197,66,214,12,48,192,197,130,48,76,197,194,213,12,48,192,197,2,190,12,45,192,197,194,191,12,6,0,192,12,46,192,197,66,193,12,46,192,197,130,240,75,197,2,213,12,46,192,197,66,49,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,52,192,197,194,205,12,255,255,37,111,193,15,226,12,53,192,197,2,227,12,53,192,197,66,199,12,52,192,197,66,200,12,52,192,197,130,202,12,25,0,203,12,52,192,197,2,194,12,25,0,194,12,50,192,197,194,195,12,51,192,197,2,196,12,51,192,197,66,198,12,2,77,197,130,194,12,6,0,213,12,52,192,197,66,214,12,52,192,197,130,48,77,197,194,213,12,52,192,197,2,190,12,49,192,197,194,191,12,6,0,192,12,50,192,197,66,193,12,50,192,197,130,240,76,197,2,213,12,50,192,197,66,53,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,56,192,197,194,205,12,255,255,37,111,193,16,226,12,57,192,197,2,227,12,57,192,197,66,199,12,56,192,197,66,200,12,56,192,197,130,202,12,25,0,203,12,56,192,197,2,194,12,25,0,194,12,54,192,197,194,195,12,55,192,197,2,196,12,55,192,197,66,198,12,2,78,197,130,194,12,6,0,213,12,56,192,197,66,214,12,56,192,197,130,48,78,197,194,213,12,56,192,197,2,190,12,53,192,197,194,191,12,6,0,192,12,54,192,197,66,193,12,54,192,197,130,240,77,197,2,213,12,54,192,197,66,57,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,60,192,197,194,205,12,255,255,37,111,193,17,226,12,61,192,197,2,227,12,61,192,197,66,199,12,60,192,197,66,200,12,60,192,197,130,202,12,25,0,203,12,60,192,197,2,194,12,25,0,194,12,58,192,197,194,195,12,59,192,197,2,196,12,59,192,197,66,198,12,2,79,197,130,194,12,6,0,213,12,60,192,197,66,214,12,60,192,197,130,48,79,197,194,213,12,60,192,197,2,190,12,57,192,197,194,191,12,6,0,192,12,58,192,197,66,193,12,58,192,197,130,240,78,197,2,213,12,58,192,197,66,61,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,64,192,197,194,205,12,255,255,37,111,193,18,226,12,65,192,197,2,227,12,65,192,197,66,199,12,64,192,197,66,200,12,64,192,197,130,202,12,25,0,203,12,64,192,197,2,194,12,25,0,194,12,62,192,197,194,195,12,63,192,197,2,196,12,63,192,197,66,198,12,2,80,197,130,194,12,6,0,213,12,64,192,197,66,214,12,64,192,197,130,48,80,197,194,213,12,64,192,197,2,190,12,61,192,197,194,191,12,6,0,192,12,62,192,197,66,193,12,62,192,197,130,240,79,197,2,213,12,62,192,197,66,65,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,68,192,197,194,205,12,255,255,37,111,193,19,226,12,69,192,197,2,227,12,69,192,197,66,199,12,68,192,197,66,200,12,68,192,197,130,202,12,25,0,203,12,68,192,197,2,194,12,25,0,194,12,66,192,197,194,195,12,67,192,197,2,196,12,67,192,197,66,198,12,2,81,197,130,194,12,6,0,213,12,68,192,197,66,214,12,68,192,197,130,48,81,197,194,213,12,68,192,197,2,190,12,65,192,197,194,191,12,6,0,192,12,66,192,197,66,193,12,66,192,197,130,240,80,197,2,213,12,66,192,197,66,69,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,72,192,197,194,205,12,255,255,37,111,193,20,226,12,73,192,197,2,227,12,73,192,197,66,199,12,72,192,197,66,200,12,72,192,197,130,202,12,25,0,203,12,72,192,197,2,194,12,25,0,194,12,70,192,197,194,195,12,71,192,197,2,196,12,71,192,197,66,198,12,2,82,197,130,194,12,6,0,213,12,72,192,197,66,214,12,72,192,197,130,48,82,197,194,213,12,72,192,197,2,190,12,69,192,197,194,191,12,6,0,192,12,70,192,197,66,193,12,70,192,197,130,240,81,197,2,213,12,70,192,197,66,73,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,76,192,197,194,205,12,255,255,37,111,193,21,226,12,77,192,197,2,227,12,77,192,197,66,199,12,76,192,197,66,200,12,76,192,197,130,202,12,25,0,203,12,76,192,197,2,194,12,25,0,194,12,74,192,197,194,195,12,75,192,197,2,196,12,75,192,197,66,198,12,2,83,197,130,194,12,6,0,213,12,76,192,197,66,214,12,76,192,197,130,48,83,197,194,213,12,76,192,197,2,190,12,73,192,197,194,191,12,6,0,192,12,74,192,197,66,193,12,74,192,197,130,240,82,197,2,213,12,74,192,197,66,77,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,80,192,197,194,205,12,255,255,37,111,193,22,226,12,81,192,197,2,227,12,81,192,197,66,199,12,80,192,197,66,200,12,80,192,197,130,202,12,25,0,203,12,80,192,197,2,194,12,25,0,194,12,78,192,197,194,195,12,79,192,197,2,196,12,79,192,197,66,198,12,2,84,197,130,194,12,6,0,213,12,80,192,197,66,214,12,80,192,197,130,48,84,197,194,213,12,80,192,197,2,190,12,77,192,197,194,191,12,6,0,192,12,78,192,197,66,193,12,78,192,197,130,240,83,197,2,213,12,78,192,197,66,81,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,84,192,197,194,205,12,255,255,37,111,193,23,226,12,85,192,197,2,227,12,85,192,197,66,199,12,84,192,197,66,200,12,84,192,197,130,202,12,25,0,203,12,84,192,197,2,194,12,25,0,194,12,82,192,197,194,195,12,83,192,197,2,196,12,83,192,197,66,198,12,2,85,197,130,194,12,6,0,213,12,84,192,197,66,214,12,84,192,197,130,48,85,197,194,213,12,84,192,197,2,190,12,81,192,197,194,191,12,6,0,192,12,82,192,197,66,193,12,82,192,197,130,240,84,197,2,213,12,82,192,197,66,85,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,88,192,197,194,205,12,255,255,37,111,193,24,226,12,89,192,197,2,227,12,89,192,197,66,199,12,88,192,197,66,200,12,88,192,197,130,202,12,25,0,203,12,88,192,197,2,194,12,25,0,194,12,86,192,197,194,195,12,87,192,197,2,196,12,87,192,197,66,198,12,2,86,197,130,194,12,6,0,213,12,88,192,197,66,214,12,88,192,197,130,48,86,197,194,213,12,88,192,197,2,190,12,85,192,197,194,191,12,6,0,192,12,86,192,197,66,193,12,86,192,197,130,240,85,197,2,213,12,86,192,197,66,89,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,92,192,197,194,205,12,255,255,37,111,193,25,226,12,93,192,197,2,227,12,93,192,197,66,199,12,92,192,197,66,200,12,92,192,197,130,202,12,25,0,203,12,92,192,197,2,194,12,25,0,194,12,90,192,197,194,195,12,91,192,197,2,196,12,91,192,197,66,198,12,2,87,197,130,194,12,6,0,213,12,92,192,197,66,214,12,92,192,197,130,48,87,197,194,213,12,92,192,197,2,190,12,89,192,197,194,191,12,6,0,192,12,90,192,197,66,193,12,90,192,197,130,240,86,197,2,213,12,90,192,197,66,93,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,96,192,197,194,205,12,255,255,37,111,193,26,226,12,97,192,197,2,227,12,97,192,197,66,199,12,96,192,197,66,200,12,96,192,197,130,202,12,25,0,203,12,96,192,197,2,194,12,25,0,194,12,94,192,197,194,195,12,95,192,197,2,196,12,95,192,197,66,198,12,2,88,197,130,194,12,6,0,213,12,96,192,197,66,214,12,96,192,197,130,48,88,197,194,213,12,96,192,197,2,190,12,93,192,197,194,191,12,6,0,192,12,94,192,197,66,193,12,94,192,197,130,240,87,197,2,213,12,94,192,197,66,97,0,197,130,16,0,198,12,47,0,203,12,16,0,203,12,104,192,197,2,204,12,104,192,197,194,205,12,255,255,37,111,193,27,226,12,105,192,197,2,227,12,105,192,197,66,198,12,12,0,199,12,104,192,197,66,200,12,104,192,197,130,202,12,48,90,197,194,213,12,104,192,197,2,2,90,197,130,194,12,6,0,213,12,104,192,197,66,214,12,104,192,197,130,48,90,197,194,213,12,104,192,197,2,193,12,12,0,193,12,102,192,197,130,194,12,102,192,197,194,195,12,103,192,197,2,196,12,103,192,197,66,188,12,8,0,190,12,101,192,197,194,191,12,77,0,192,12,102,192,197,66,142,88,197,194,198,12,43,0,203,12,12,0,203,12,100,192,197,66,204,12,101,192,197,2,226,12,101,192,197,66,227,12,101,192,197,130,198,12,12,0,199,12,100,192,197,130,200,12,100,192,197,194,202,12,112,89,197,2,213,12,100,192,197,66,2,89,197,194,194,12,6,0,213,12,100,192,197,130,214,12,100,192,197,194,112,89,197,2,213,12,100,192,197,66,193,12,12,0,193,12,98,192,197,194,194,12,99,192,197,2,195,12,99,192,197,66,196,12,99,192,197,130,190,12,98,192,197,2,191,12,3,0,192,12,98,192,197,130,240,88,197,66,213,12,98,192,197,130,240,89,197,2,213,12,102,192,197,66,105,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,108,192,197,194,205,12,255,255,37,111,193,28,226,12,109,192,197,2,227,12,109,192,197,66,199,12,108,192,197,66,200,12,108,192,197,130,202,12,25,0,203,12,108,192,197,2,194,12,25,0,194,12,106,192,197,194,195,12,107,192,197,2,196,12,107,192,197,66,198,12,2,91,197,130,194,12,6,0,213,12,108,192,197,66,214,12,108,192,197,130,48,91,197,194,213,12,108,192,197,2,190,12,105,192,197,194,191,12,6,0,192,12,106,192,197,66,193,12,106,192,197,130,240,90,197,2,213,12,106,192,197,66,109,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,112,192,197,194,205,12,255,255,37,111,193,29,226,12,113,192,197,2,227,12,113,192,197,66,199,12,112,192,197,66,200,12,112,192,197,130,202,12,25,0,203,12,112,192,197,2,194,12,25,0,194,12,110,192,197,194,195,12,111,192,197,2,196,12,111,192,197,66,198,12,2,92,197,130,194,12,6,0,213,12,112,192,197,66,214,12,112,192,197,130,48,92,197,194,213,12,112,192,197,2,190,12,109,192,197,194,191,12,6,0,192,12,110,192,197,66,193,12,110,192,197,130,240,91,197,2,213,12,110,192,197,66,113,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,116,192,197,194,205,12,255,255,37,111,193,30,226,12,117,192,197,2,227,12,117,192,197,66,199,12,116,192,197,66,200,12,116,192,197,130,202,12,25,0,203,12,116,192,197,2,194,12,25,0,194,12,114,192,197,194,195,12,115,192,197,2,196,12,115,192,197,66,198,12,2,93,197,130,194,12,6,0,213,12,116,192,197,66,214,12,116,192,197,130,48,93,197,194,213,12,116,192,197,2,190,12,113,192,197,194,191,12,6,0,192,12,114,192,197,66,193,12,114,192,197,130,240,92,197,2,213,12,114,192,197,66,117,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,120,192,197,194,205,12,255,255,37,111,193,31,226,12,121,192,197,2,227,12,121,192,197,66,199,12,120,192,197,66,200,12,120,192,197,130,202,12,25,0,203,12,120,192,197,2,194,12,25,0,194,12,118,192,197,194,195,12,119,192,197,2,196,12,119,192,197,66,198,12,2,94,197,130,194,12,6,0,213,12,120,192,197,66,214,12,120,192,197,130,48,94,197,194,213,12,120,192,197,2,190,12,117,192,197,194,191,12,6,0,192,12,118,192,197,66,193,12,118,192,197,130,240,93,197,2,213,12,118,192,197,66,121,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,124,192,197,194,205,12,255,255,37,111,193,32,226,12,125,192,197,2,227,12,125,192,197,66,199,12,124,192,197,66,200,12,124,192,197,130,202,12,25,0,203,12,124,192,197,2,194,12,25,0,194,12,122,192,197,194,195,12,123,192,197,2,196,12,123,192,197,66,198,12,2,95,197,130,194,12,6,0,213,12,124,192,197,66,214,12,124,192,197,130,48,95,197,194,213,12,124,192,197,2,190,12,121,192,197,194,191,12,6,0,192,12,122,192,197,66,193,12,122,192,197,130,240,94,197,2,213,12,122,192,197,66,125,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,128,192,197,194,205,12,255,255,37,111,193,33,226,12,129,192,197,2,227,12,129,192,197,66,199,12,128,192,197,66,200,12,128,192,197,130,202,12,25,0,203,12,128,192,197,2,194,12,25,0,194,12,126,192,197,194,195,12,127,192,197,2,196,12,127,192,197,66,198,12,2,96,197,130,194,12,6,0,213,12,128,192,197,66,214,12,128,192,197,130,48,96,197,194,213,12,128,192,197,2,190,12,125,192,197,194,191,12,6,0,192,12,126,192,197,66,193,12,126,192,197,130,240,95,197,2,213,12,126,192,197,66,129,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,132,192,197,194,205,12,255,255,37,111,193,34,226,12,133,192,197,2,227,12,133,192,197,66,199,12,132,192,197,66,200,12,132,192,197,130,202,12,25,0,203,12,132,192,197,2,194,12,25,0,194,12,130,192,197,194,195,12,131,192,197,2,196,12,131,192,197,66,198,12,2,97,197,130,194,12,6,0,213,12,132,192,197,66,214,12,132,192,197,130,48,97,197,194,213,12,132,192,197,2,190,12,129,192,197,194,191,12,6,0,192,12,130,192,197,66,193,12,130,192,197,130,240,96,197,2,213,12,130,192,197,66,133,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,136,192,197,194,205,12,255,255,37,111,193,40,226,12,137,192,197,2,227,12,137,192,197,66,199,12,136,192,197,66,200,12,136,192,197,130,202,12,25,0,203,12,136,192,197,2,194,12,25,0,194,12,134,192,197,194,195,12,135,192,197,2,196,12,135,192,197,66,198,12,2,98,197,130,194,12,6,0,213,12,136,192,197,66,214,12,136,192,197,130,48,98,197,194,213,12,136,192,197,2,190,12,133,192,197,194,191,12,6,0,192,12,134,192,197,66,193,12,134,192,197,130,240,97,197,2,213,12,134,192,197,66,137,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,140,192,197,194,205,12,255,255,37,111,193,35,226,12,141,192,197,2,227,12,141,192,197,66,199,12,140,192,197,66,200,12,140,192,197,130,202,12,25,0,203,12,140,192,197,2,194,12,25,0,194,12,138,192,197,194,195,12,139,192,197,2,196,12,139,192,197,66,198,12,2,99,197,130,194,12,6,0,213,12,140,192,197,66,214,12,140,192,197,130,48,99,197,194,213,12,140,192,197,2,190,12,137,192,197,194,191,12,6,0,192,12,138,192,197,66,193,12,138,192,197,130,240,98,197,2,213,12,138,192,197,66,141,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,144,192,197,194,205,12,255,255,37,111,193,36,226,12,145,192,197,2,227,12,145,192,197,66,199,12,144,192,197,66,200,12,144,192,197,130,202,12,25,0,203,12,144,192,197,2,194,12,25,0,194,12,142,192,197,194,195,12,143,192,197,2,196,12,143,192,197,66,198,12,2,100,197,130,194,12,6,0,213,12,144,192,197,66,214,12,144,192,197,130,48,100,197,194,213,12,144,192,197,2,190,12,141,192,197,194,191,12,6,0,192,12,142,192,197,66,193,12,142,192,197,130,240,99,197,2,213,12,142,192,197,66,145,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,148,192,197,194,205,12,255,255,37,111,193,37,226,12,149,192,197,2,227,12,149,192,197,66,199,12,148,192,197,66,200,12,148,192,197,130,202,12,25,0,203,12,148,192,197,2,194,12,25,0,194,12,146,192,197,194,195,12,147,192,197,2,196,12,147,192,197,66,198,12,2,101,197,130,194,12,6,0,213,12,148,192,197,66,214,12,148,192,197,130,48,101,197,194,213,12,148,192,197,2,190,12,145,192,197,194,191,12,6,0,192,12,146,192,197,66,193,12,146,192,197,130,240,100,197,2,213,12,146,192,197,66,149,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,152,192,197,194,205,12,255,255,37,111,193,38,226,12,153,192,197,2,227,12,153,192,197,66,199,12,152,192,197,66,200,12,152,192,197,130,202,12,25,0,203,12,152,192,197,2,194,12,25,0,194,12,150,192,197,194,195,12,151,192,197,2,196,12,151,192,197,66,198,12,2,102,197,130,194,12,6,0,213,12,152,192,197,66,214,12,152,192,197,130,48,102,197,194,213,12,152,192,197,2,190,12,149,192,197,194,191,12,6,0,192,12,150,192,197,66,193,12,150,192,197,130,240,101,197,2,213,12,150,192,197,66,153,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,156,192,197,194,205,12,255,255,37,111,193,39,226,12,157,192,197,2,227,12,157,192,197,66,199,12,156,192,197,66,200,12,156,192,197,130,202,12,25,0,203,12,156,192,197,2,194,12,25,0,194,12,154,192,197,194,195,12,155,192,197,2,196,12,155,192,197,66,198,12,2,103,197,130,194,12,6,0,213,12,156,192,197,66,214,12,156,192,197,130,48,103,197,194,213,12,156,192,197,2,190,12,153,192,197,194,191,12,6,0,192,12,154,192,197,66,193,12,154,192,197,130,240,102,197,2,213,12,154,192,197,66,157,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,160,192,197,194,205,12,255,255,37,111,193,41,226,12,161,192,197,2,227,12,161,192,197,66,199,12,160,192,197,66,200,12,160,192,197,130,202,12,25,0,203,12,160,192,197,2,194,12,25,0,194,12,158,192,197,194,195,12,159,192,197,2,196,12,159,192,197,66,198,12,2,104,197,130,194,12,6,0,213,12,160,192,197,66,214,12,160,192,197,130,48,104,197,194,213,12,160,192,197,2,190,12,157,192,197,194,191,12,6,0,192,12,158,192,197,66,193,12,158,192,197,130,240,103,197,2,213,12,158,192,197,66,14,0,150,12,169,12,170,12,175,12,190,12,194,12,195,12,197,12,198,12,201,12,202,12,205,12,226,12,228,12,3,0,69,0,52,0,61,0,235,15,0,16,93,0,0,96,1,0,0,96,2,0,43,0,84,0,170,170,228,15,0,32,108,33,0,32,1,0,32,0,113,33,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,221,26,1,32,7,0,0,0,27,0,0,0,223,26,1,0,223,26,1,0,4,0,0,0,0,0,0,0,73,27,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,101,97,114,99,104,106,108,0,115,116,97,110,100,97,114,100,0,117,110,105,104,97,110,0,170,0,0,52,0,50,0,0,0,51,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,117,0,110,0,105,0,104,0,97,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,103,0,32,0,72,0,97,0,110,0,105,0,93,0,0,0,237,221,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,115,0,117,0,112,0,112,0,114,0,101,0,115,0,115,0,67,0,111,0,110,0,116,0,114,0,97,0,99,0,116,0,105,0,111,0,110,0,115,0,32,0,91,0,64,14,45,0,68,14,32,0,192,14,45,0,196,14,32,0,181,170,32,0,182,170,32,0,185,170,32,0,187,170,32,0,188,170,181,25,45,0,183,25,186,25,93,0,93,0,38,0,39,6,60,0,60,0,60,0,142,254,60,0,60,0,60,0,141,254,60,0,60,0,34,6,60,0,60,0,60,0,130,254,60,0,60,0,60,0,129,254,60,0,60,0,35,6,60,0,60,0,60,0,132,254,60,0,60,0,60,0,131,254,60,0,60,0,37,6,60,0,60,0,60,0,136,254,60,0,60,0,60,0,135,254,38,0,72,6,60,0,60,0,60,0,229,6,60,0,60,0,60,0,238,254,60,0,60,0,60,0,237,254,60,0,60,0,36,6,60,0,60,0,60,0,134,254,60,0,60,0,60,0,133,254,38,0,74,6,60,0,60,0,60,0,230,6,60,0,60,0,60,0,243,254,60,0,60,0,60,0,244,254,60,0,60,0,60,0,242,254,60,0,60,0,60,0,241,254,60,0,60,0,38,6,60,0,60,0,60,0,139,254,60,0,60,0,60,0,140,254,60,0,60,0,60,0,138,254,60,0,60,0,60,0,137,254,60,0,60,0,73,6,60,0,60,0,60,0,232,251,60,0,60,0,60,0,233,251,60,0,60,0,60,0,240,254,60,0,60,0,60,0,239,254,38,0,71,6,60,0,60,0,60,0,235,254,60,0,60,0,60,0,236,254,60,0,60,0,60,0,234,254,60,0,60,0,60,0,233,254,60,0,60,0,41,6,60,0,60,0,60,0,148,254,60,0,60,0,60,0,147,254,38,0,91,0,108,0,97,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,243,5,60,0,60,0,244,5,60,0,60,0,64,6,60,0,60,0,58,14,60,0,60,0,97,17,60,0,60,0,98,17,60,0,60,0,99,17,60,0,60,0,100,17,60,0,60,0,101,17,60,0,60,0,102,17,60,0,60,0,103,17,60,0,60,0,104,17,60,0,60,0,105,17,60,0,60,0,106,17,60,0,60,0,107,17,60,0,60,0,108,17,60,0,60,0,109,17,60,0,60,0,110,17,60,0,60,0,111,17,60,0,60,0,112,17,60,0,60,0,113,17,60,0,60,0,114,17,60,0,60,0,115,17,60,0,60,0,116,17,60,0,60,0,117,17,60,0,60,0,168,17,60,0,60,0,169,17,60,0,60,0,170,17,60,0,60,0,171,17,60,0,60,0,172,17,60,0,60,0,173,17,60,0,60,0,174,17,60,0,60,0,175,17,60,0,60,0,176,17,60,0,60,0,177,17,60,0,60,0,178,17,60,0,60,0,179,17,60,0,60,0,180,17,60,0,60,0,181,17,60,0,60,0,182,17,60,0,60,0,183,17,60,0,60,0,184,17,60,0,60,0,185,17,60,0,60,0,186,17,60,0,60,0,187,17,60,0,60,0,188,17,60,0,60,0,189,17,60,0,60,0,190,17,60,0,60,0,191,17,60,0,60,0,192,17,60,0,60,0,193,17,60,0,60,0,194,17,38,0,91,0,102,0,105,0,114,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,61,0,0,17,124,0,0,17,61,0,3,17,124,0,3,17,61,0,7,17,124,0,7,17,61,0,9,17,124,0,9,17,61,0,12,17,124,0,12,17,38,0,0,17,0,17,61,0,1,17,60,0,60,0,60,0,50,49,38,0,3,17,3,17,61,0,4,17,60,0,60,0,60,0,56,49,38,0,7,17,7,17,61,0,8,17,60,0,60,0,60,0,67,49,38,0,9,17,9,17,61,0,10,17,60,0,60,0,60,0,70,49,38,0,12,17,12,17,61,0,13,17,60,0,60,0,60,0,73,49,0,0,14,223,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,38,0,0,17,2,17,61,0,250,17,38,0,0,17,3,17,61,0,90,17,38,0,0,17,5,17,61,0,195,17,38,0,0,17,7,17,61,0,251,17,38,0,0,17,9,17,0,17,61,0,196,17,38,0,0,17,14,17,61,0,252,17,38,0,0,17,15,17,61,0,253,17,38,0,0,17,18,17,61,0,254,17,38,0,2,17,0,17,61,0,19,17,61,0,197,17,38,0,2,17,2,17,61,0,20,17,61,0,255,17,38,0,2,17,3,17,61,0,21,17,61,0,198,17,38,0,2,17,7,17,61,0,22,17,38,0,2,17,9,17,61,0,91,17,61,0,199,17,38,0,2,17,12,17,61,0,92,17,38,0,2,17,16,17,61,0,201,17,38,0,2,17,18,17,61,0,93,17,38,0,3,17,0,17,61,0,23,17,61,0,202,17,38,0,3,17,5,17,61,0,94,17,61,0,203,17,38,0,5,17,0,17,9,17,61,0,204,17,38,0,5,17,2,17,61,0,24,17,61,0,205,17,38,0,5,17,3,17,61,0,206,17,38,0,5,17,3,17,18,17,61,0,207,17,38,0,5,17,5,17,61,0,25,17,61,0,208,17,38,0,5,17,6,17,0,17,61,0,209,17,38,0,5,17,6,17,9,17,61,0,210,17,38,0,5,17,7,17,9,17,61,0,211,17,38,0,5,17,7,17,11,17,61,0,213,17,38,0,5,17,7,17,18,17,61,0,212,17,38,0,5,17,9,17,9,17,61,0,214,17,38,0,5,17,11,17,61,0,27,17,38,0,5,17,15,17,61,0,216,17,38,0,5,17,18,17,61,0,26,17,38,0,6,17,0,17,61,0,218,17,38,0,6,17,5,17,61,0,219,17,38,0,6,17,7,17,61,0,28,17,61,0,220,17,38,0,6,17,9,17,61,0,221,17,38,0,6,17,9,17,9,17,61,0,222,17,38,0,6,17,11,17,61,0,29,17,61,0,226,17,38,0,6,17,14,17,61,0,224,17,38,0,6,17,18,17,61,0,225,17,38,0,7,17,0,17,61,0,30,17,38,0,7,17,2,17,61,0,31,17,38,0,7,17,3,17,61,0,32,17,38,0,7,17,5,17,61,0,227,17,38,0,7,17,7,17,11,17,61,0,44,17,38,0,7,17,9,17,61,0,33,17,38,0,7,17,9,17,0,17,61,0,34,17,38,0,7,17,9,17,3,17,61,0,35,17,38,0,7,17,9,17,7,17,61,0,36,17,38,0,7,17,9,17,9,17,61,0,37,17,38,0,7,17,9,17,12,17,61,0,38,17,38,0,7,17,11,17,61,0,43,17,61,0,230,17,38,0,7,17,12,17,61,0,39,17,38,0,7,17,14,17,61,0,40,17,38,0,7,17,16,17,61,0,41,17,38,0,7,17,17,17,61,0,42,17,61,0,228,17,38,0,7,17,18,17,61,0,229,17,38,0,9,17,0,17,61,0,45,17,61,0,231,17,38,0,9,17,2,17,61,0,46,17,38,0,9,17,3,17,61,0,47,17,61,0,232,17,38,0,9,17,5,17,61,0,48,17,61,0,233,17,38,0,9,17,6,17,61,0,49,17,38,0,9,17,7,17,61,0,50,17,61,0,234,17,38,0,9,17,7,17,0,17,61,0,51,17,38,0,9,17,9,17,9,17,61,0,52,17,38,0,9,17,11,17,61,0,53,17,38,0,9,17,12,17,61,0,54,17,38,0,9,17,14,17,61,0,55,17,38,0,9,17,15,17,61,0,56,17,38,0,9,17,16,17,61,0,57,17,38,0,9,17,17,17,61,0,58,17,38,0,9,17,18,17,61,0,59,17,38,0,11,17,0,17,61,0,65,17,61,0,236,17,38,0,11,17,0,17,0,17,61,0,237,17,38,0,11,17,3,17,61,0,66,17,38,0,11,17,6,17,61,0,67,17,38,0,11,17,7,17,61,0,68,17,38,0,11,17,9,17,61,0,69,17,38,0,11,17,11,17,61,0,71,17,61,0,238,17,38,0,11,17,12,17,61,0,72,17,38,0,11,17,14,17,61,0,73,17,38,0,11,17,15,17,61,0,239,17,38,0,11,17,16,17,61,0,74,17,38,0,11,17,17,17,61,0,75,17,38,0,12,17,11,17,61,0,77,17,38,0,14,17,15,17,61,0,82,17,38,0,14,17,18,17,61,0,83,17,38,0,17,17,7,17,61,0,86,17,61,0,243,17,38,0,17,17,11,17,61,0,87,17,61,0,244,17,38,0,18,17,2,17,61,0,245,17,38,0,18,17,5,17,61,0,246,17,38,0,18,17,6,17,61,0,247,17,38,0,18,17,7,17,61,0,248,17,38,0,18,17,18,17,61,0,88,17,38,0,97,17,105,17,61,0,118,17,38,0,97,17,110,17,61,0,119,17,38,0,99,17,105,17,61,0,120,17,38,0,99,17,109,17,61,0,121,17,38,0,101,17,105,17,61,0,122,17,38,0,101,17,110,17,61,0,123,17,38,0,101,17,115,17,61,0,124,17,38,0,103,17,105,17,61,0,125,17,38,0,103,17,110,17,61,0,126,17,38,0,105,17,101,17,61,0,127,17,38,0,105,17,101,17,117,17,61,0,128,17,38,0,105,17,103,17,117,17,61,0,129,17,38,0,105,17,105,17,61,0,130,17,38,0,105,17,110,17,61,0,131,17,38,0,109,17,99,17,61,0,132,17,38,0,109,17,99,17,117,17,61,0,133,17,38,0,109,17,103,17,61,0,134,17,38,0,109,17,105,17,61,0,135,17,38,0,109,17,117,17,61,0,136,17,38,0,110,17,97,17,61,0,137,17,38,0,110,17,97,17,117,17,61,0,138,17,38,0,110,17,101,17,115,17,61,0,139,17,38,0,110,17,103,17,117,17,61,0,140,17,38,0,110,17,110,17,61,0,141,17,38,0,114,17,97,17,61,0,142,17,38,0,114,17,101,17,61,0,143,17,38,0,114,17,101,17,117,17,61,0,144,17,38,0,114,17,103,17,61,0,145,17,38,0,114,17,103,17,117,17,61,0,146,17,38,0,114,17,110,17,61,0,147,17,38,0,114,17,117,17,61,0,148,17,38,0,115,17,110,17,61,0,149,17,38,0,115,17,115,17,61,0,150,17,38,0,116,17,110,17,61,0,151,17,38,0,117,17,97,17,61,0,152,17,38,0,117,17,99,17,61,0,153,17,38,0,117,17,105,17,61,0,154,17,38,0,117,17,110,17,61,0,155,17,38,0,117,17,115,17,61,0,156,17,38,0,97,17,115,17,61,0,163,17,38,0,99,17,110,17,61,0,164,17,38,0,103,17,99,17,61,0,165,17,38,0,105,17,99,17,61,0,166,17,38,0,105,17,99,17,117,17,61,0,167,17,0,0,239,223,33,49,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,103,0,32,0,72,0,97,0,110,0,105,0,93,0,91,0,111,0,112,0,116,0,105,0,109,0,105,0,122,0,101,0,32,0,91,0,0,172,45,0,1,172,4,172,7,172,45,0,10,172,16,172,45,0,23,172,25,172,45,0,29,172,32,172,36,172,44,172,45,0,45,172,47,172,45,0,49,172,56,172,45,0,57,172,60,172,64,172,75,172,77,172,84,172,88,172,92,172,112,172,45,0,113,172,116,172,119,172,45,0,120,172,122,172,128,172,45,0,129,172,131,172,45,0,134,172,137,172,45,0,140,172,144,172,148,172,156,172,45,0,157,172,159,172,45,0,161,172,168,172,45,0,170,172,172,172,175,172,45,0,176,172,184,172,45,0,185,172,187,172,45,0,189,172,193,172,196,172,200,172,204,172,213,172,215,172,224,172,45,0,225,172,228,172,231,172,45,0,232,172,234,172,236,172,239,172,45,0,241,172,243,172,245,172,45,0,246,172,252,172,45,0,253,172,0,173,4,173,6,173,12,173,45,0,13,173,15,173,17,173,24,173,28,173,32,173,41,173,44,173,45,0,45,173,52,173,45,0,53,173,56,173,60,173,68,173,45,0,69,173,71,173,73,173,80,173,84,173,88,173,97,173,99,173,108,173,45,0,109,173,112,173,115,173,45,0,118,173,123,173,45,0,125,173,127,173,129,173,45,0,130,173,136,173,45,0,137,173,140,173,144,173,156,173,45,0,157,173,164,173,183,173,192,173,45,0,193,173,196,173,200,173,208,173,45,0,209,173,211,173,220,173,224,173,228,173,248,173,45,0,249,173,252,173,255,173,45,0,1,174,8,174,45,0,9,174,11,174,13,174,20,174,48,174,45,0,49,174,52,174,55,174,45,0,56,174,58,174,64,174,45,0,65,174,67,174,69,174,45,0,70,174,74,174,76,174,45,0,78,174,80,174,84,174,86,174,92,174,45,0,93,174,95,174,45,0,97,174,101,174,104,174,45,0,105,174,108,174,112,174,120,174,45,0,121,174,123,174,45,0,125,174,132,174,45,0,133,174,140,174,188,174,45,0,190,174,192,174,196,174,204,174,45,0,205,174,207,174,45,0,209,174,216,174,45,0,217,174,220,174,232,174,235,174,237,174,244,174,248,174,252,174,7,175,45,0,8,175,13,175,16,175,44,175,45,0,45,175,48,175,50,175,52,175,60,175,45,0,61,175,63,175,65,175,45,0,67,175,72,175,45,0,73,175,80,175,92,175,45,0,93,175,100,175,45,0,101,175,121,175,128,175,132,175,136,175,144,175,45,0,145,175,149,175,156,175,184,175,45,0,185,175,188,175,192,175,199,175,45,0,201,175,203,175,205,175,45,0,206,175,212,175,220,175,232,175,45,0,233,175,240,175,45,0,241,175,244,175,248,175,0,176,45,0,1,176,4,176,12,176,16,176,20,176,28,176,45,0,29,176,40,176,68,176,45,0,69,176,72,176,74,176,76,176,78,176,83,176,45,0,85,176,87,176,89,176,93,176,124,176,45,0,125,176,128,176,132,176,140,176,45,0,141,176,143,176,145,176,152,176,45,0,154,176,156,176,159,176,45,0,162,176,168,176,45,0,169,176,171,176,45,0,175,176,177,176,179,176,45,0,181,176,184,176,188,176,196,176,45,0,197,176,199,176,45,0,201,176,208,176,45,0,209,176,212,176,216,176,224,176,229,176,8,177,45,0,9,177,11,177,45,0,12,177,16,177,18,177,45,0,19,177,24,177,45,0,25,177,27,177,45,0,29,177,35,177,45,0,37,177,40,177,44,177,52,177,45,0,53,177,55,177,45,0,57,177,64,177,45,0,65,177,68,177,72,177,80,177,45,0,81,177,84,177,45,0,85,177,88,177,92,177,96,177,120,177,45,0,121,177,124,177,128,177,130,177,136,177,45,0,137,177,139,177,141,177,146,177,45,0,148,177,152,177,156,177,168,177,204,177,208,177,212,177,220,177,45,0,221,177,223,177,232,177,45,0,233,177,236,177,240,177,249,177,251,177,253,177,4,178,45,0,5,178,8,178,11,178,45,0,12,178,20,178,45,0,21,178,23,178,25,178,32,178,52,178,60,178,88,178,92,178,96,178,104,178,45,0,105,178,116,178,45,0,117,178,124,178,132,178,45,0,133,178,137,178,144,178,45,0,145,178,148,178,152,178,45,0,154,178,160,178,45,0,161,178,163,178,165,178,45,0,166,178,170,178,172,178,176,178,180,178,200,178,45,0,201,178,204,178,208,178,214,178,216,178,45,0,217,178,219,178,221,178,226,178,228,178,45,0,230,178,232,178,235,178,45,0,239,178,243,178,45,0,245,178,247,178,45,0,251,178,255,178,45,0,1,179,4,179,8,179,16,179,45,0,17,179,19,179,45,0,21,179,28,179,84,179,45,0,86,179,88,179,91,179,45,0,92,179,94,179,45,0,95,179,100,179,45,0,101,179,103,179,105,179,107,179,110,179,112,179,45,0,113,179,116,179,120,179,128,179,45,0,129,179,131,179,45,0,133,179,140,179,144,179,148,179,160,179,45,0,161,179,168,179,172,179,196,179,45,0,197,179,200,179,203,179,45,0,204,179,206,179,208,179,212,179,45,0,213,179,215,179,217,179,219,179,221,179,224,179,228,179,232,179,252,179,16,180,24,180,28,180,32,180,40,180,45,0,41,180,43,180,52,180,80,180,45,0,81,180,84,180,88,180,96,180,45,0,97,180,99,180,101,180,108,180,128,180,136,180,157,180,164,180,168,180,172,180,181,180,183,180,185,180,192,180,196,180,200,180,208,180,213,180,220,180,45,0,221,180,224,180,227,180,45,0,228,180,230,180,236,180,45,0,237,180,239,180,241,180,248,180,20,181,45,0,21,181,24,181,27,181,45,0,28,181,36,181,45,0,37,181,39,181,45,0,42,181,48,181,45,0,49,181,52,181,56,181,64,181,45,0,65,181,67,181,45,0,69,181,75,181,45,0,77,181,80,181,84,181,92,181,45,0,93,181,95,181,45,0,97,181,160,181,45,0,161,181,164,181,168,181,170,181,45,0,171,181,176,181,45,0,177,181,179,181,45,0,181,181,187,181,45,0,189,181,192,181,196,181,204,181,45,0,205,181,207,181,45,0,209,181,216,181,236,181,16,182,45,0,17,182,20,182,24,182,37,182,44,182,52,182,72,182,100,182,104,182,156,182,45,0,157,182,160,182,164,182,171,182,45,0,172,182,177,182,212,182,240,182,244,182,248,182,0,183,45,0,1,183,5,183,40,183,45,0,41,183,44,183,47,183,45,0,48,183,56,183,45,0,57,183,59,183,68,183,72,183,76,183,84,183,45,0,85,183,96,183,100,183,104,183,112,183,45,0,113,183,115,183,117,183,124,183,45,0,125,183,128,183,132,183,140,183,45,0,141,183,143,183,45,0,146,183,150,183,45,0,153,183,156,183,160,183,168,183,45,0,169,183,171,183,45,0,173,183,180,183,45,0,181,183,184,183,199,183,201,183,236,183,45,0,237,183,240,183,244,183,252,183,45,0,253,183,255,183,45,0,1,184,7,184,45,0,9,184,12,184,16,184,24,184,45,0,25,184,27,184,29,184,36,184,45,0,37,184,40,184,44,184,52,184,45,0,53,184,55,184,45,0,57,184,64,184,68,184,81,184,83,184,92,184,45,0,93,184,96,184,100,184,108,184,45,0,109,184,111,184,113,184,120,184,124,184,141,184,168,184,176,184,180,184,184,184,192,184,45,0,193,184,195,184,197,184,204,184,208,184,212,184,221,184,223,184,225,184,232,184,45,0,233,184,236,184,240,184,248,184,45,0,249,184,251,184,253,184,4,185,24,185,32,185,60,185,45,0,61,185,64,185,68,185,76,185,79,185,81,185,88,185,45,0,89,185,92,185,96,185,104,185,45,0,105,185,107,185,109,185,116,185,45,0,117,185,120,185,124,185,132,185,45,0,133,185,135,185,137,185,45,0,138,185,141,185,45,0,142,185,172,185,45,0,173,185,176,185,180,185,188,185,45,0,189,185,191,185,193,185,200,185,45,0,201,185,204,185,206,185,45,0,210,185,216,185,45,0,217,185,219,185,221,185,45,0,222,185,225,185,227,185,45,0,229,185,232,185,236,185,244,185,45,0,245,185,247,185,45,0,250,185,0,186,45,0,1,186,8,186,21,186,56,186,45,0,57,186,60,186,64,186,66,186,72,186,45,0,73,186,75,186,77,186,45,0,78,186,83,186,45,0,85,186,88,186,92,186,100,186,45,0,101,186,103,186,45,0,105,186,112,186,45,0,113,186,116,186,120,186,131,186,45,0,133,186,135,186,140,186,168,186,45,0,169,186,171,186,45,0,172,186,176,186,178,186,184,186,45,0,185,186,187,186,189,186,196,186,200,186,216,186,45,0,217,186,252,186,0,187,4,187,13,187,15,187,17,187,24,187,28,187,32,187,41,187,43,187,52,187,45,0,54,187,56,187,59,187,45,0,62,187,68,187,45,0,69,187,71,187,73,187,77,187,79,187,45,0,80,187,84,187,88,187,97,187,99,187,108,187,136,187,140,187,144,187,164,187,168,187,172,187,180,187,183,187,192,187,196,187,200,187,208,187,211,187,248,187,45,0,249,187,252,187,255,187,45,0,0,188,2,188,8,188,45,0,9,188,11,188,45,0,13,188,15,188,17,188,20,188,45,0,24,188,27,188,45,0,31,188,36,188,45,0,37,188,39,188,41,188,45,188,48,188,45,0,49,188,52,188,56,188,64,188,45,0,65,188,67,188,45,0,69,188,73,188,76,188,45,0,77,188,80,188,93,188,132,188,45,0,133,188,136,188,139,188,45,0,140,188,142,188,148,188,45,0,149,188,151,188,153,188,45,0,154,188,160,188,45,0,161,188,164,188,167,188,45,0,168,188,176,188,45,0,177,188,179,188,45,0,181,188,188,188,45,0,189,188,192,188,196,188,205,188,207,188,45,0,209,188,213,188,216,188,220,188,244,188,45,0,246,188,248,188,252,188,4,189,45,0,5,189,7,189,9,189,16,189,20,189,36,189,44,189,64,189,72,189,45,0,73,189,76,189,80,189,88,189,45,0,89,189,100,189,104,189,128,189,45,0,129,189,132,189,135,189,45,0,138,189,144,189,45,0,145,189,147,189,149,189,153,189,45,0,154,189,156,189,164,189,176,189,184,189,212,189,45,0,213,189,216,189,220,189,233,189,240,189,244,189,248,189,0,190,3,190,5,190,12,190,45,0,13,190,16,190,20,190,28,190,45,0,29,190,31,190,68,190,45,0,69,190,72,190,76,190,78,190,84,190,45,0,85,190,87,190,89,190,45,0,91,190,96,190,45,0,97,190,100,190,104,190,106,190,112,190,45,0,113,190,115,190,45,0,117,190,123,190,45,0,125,190,128,190,132,190,140,190,45,0,141,190,143,190,45,0,145,190,152,190,45,0,153,190,168,190,208,190,45,0,209,190,212,190,215,190,45,0,216,190,224,190,227,190,45,0,229,190,236,190,1,191,8,191,45,0,9,191,24,191,45,0,25,191,27,191,45,0,29,191,64,191,45,0,65,191,68,191,72,191,80,191,45,0,81,191,85,191,148,191,176,191,197,191,204,191,45,0,205,191,208,191,212,191,220,191,223,191,225,191,60,192,81,192,88,192,92,192,96,192,104,192,45,0,105,192,144,192,45,0,145,192,148,192,152,192,160,192,45,0,161,192,163,192,165,192,172,192,45,0,173,192,175,192,45,0,176,192,179,192,45,0,182,192,188,192,45,0,189,192,191,192,45,0,193,192,197,192,200,192,45,0,201,192,204,192,208,192,216,192,45,0,217,192,219,192,45,0,221,192,228,192,45,0,229,192,232,192,236,192,244,192,45,0,245,192,247,192,249,192,0,193,4,193,8,193,16,193,21,193,28,193,45,0,32,193,35,193,45,0,36,193,38,193,45,0,39,193,44,193,45,0,45,193,47,193,45,0,49,193,54,193,56,193,45,0,57,193,60,193,64,193,72,193,45,0,73,193,75,193,45,0,77,193,84,193,45,0,85,193,88,193,92,193,100,193,45,0,101,193,103,193,45,0,105,193,112,193,116,193,120,193,133,193,140,193,45,0,142,193,144,193,148,193,150,193,156,193,45,0,157,193,159,193,161,193,165,193,168,193,45,0,169,193,172,193,176,193,189,193,196,193,200,193,204,193,212,193,215,193,45,0,216,193,224,193,228,193,232,193,240,193,45,0,241,193,243,193,252,193,45,0,253,193,0,194,4,194,12,194,45,0,13,194,15,194,17,194,24,194,45,0,25,194,28,194,31,194,45,0,32,194,40,194,45,0,41,194,43,194,45,194,47,194,49,194,45,0,50,194,52,194,72,194,80,194,45,0,81,194,84,194,88,194,96,194,101,194,108,194,45,0,109,194,112,194,116,194,124,194,45,0,125,194,127,194,129,194,136,194,45,0,137,194,144,194,152,194,155,194,157,194,164,194,45,0,165,194,168,194,172,194,45,0,173,194,180,194,45,0,181,194,183,194,185,194,220,194,45,0,221,194,224,194,227,194,45,0,228,194,235,194,45,0,237,194,239,194,241,194,246,194,248,194,45,0,249,194,251,194,45,0,252,194,0,195,8,195,45,0,9,195,12,195,45,0,13,195,19,195,45,0,21,195,24,195,28,195,36,195,45,0,37,195,40,195,45,0,41,195,69,195,104,195,45,0,105,195,108,195,112,195,114,195,120,195,45,0,121,195,124,195,45,0,125,195,132,195,136,195,140,195,192,195,216,195,45,0,217,195,220,195,223,195,45,0,224,195,226,195,232,195,45,0,233,195,237,195,244,195,45,0,245,195,248,195,8,196,16,196,36,196,44,196,48,196,52,196,60,196,45,0,61,196,72,196,100,196,45,0,101,196,104,196,108,196,116,196,45,0,117,196,121,196,128,196,148,196,156,196,184,196,188,196,233,196,240,196,45,0,241,196,244,196,248,196,250,196,255,196,45,0,1,197,12,197,16,197,20,197,28,197,40,197,45,0,41,197,44,197,48,197,56,197,45,0,57,197,59,197,61,197,68,197,45,0,69,197,72,197,45,0,74,197,76,197,45,0,78,197,83,197,45,0,85,197,87,197,45,0,89,197,93,197,45,0,94,197,96,197,45,0,97,197,100,197,104,197,112,197,45,0,113,197,115,197,45,0,117,197,124,197,45,0,125,197,128,197,132,197,135,197,140,197,45,0,141,197,143,197,145,197,149,197,151,197,45,0,152,197,156,197,160,197,169,197,180,197,45,0,181,197,184,197,45,0,185,197,187,197,45,0,190,197,196,197,45,0,202,197,204,197,206,197,208,197,45,0,209,197,212,197,216,197,224,197,45,0,225,197,227,197,229,197,236,197,45,0,238,197,240,197,244,197,246,197,45,0,247,197,252,197,45,0,1,198,5,198,45,0,8,198,12,198,16,198,24,198,45,0,25,198,27,198,45,0,28,198,36,198,45,0,37,198,40,198,44,198,45,0,46,198,48,198,51,198,45,0,53,198,55,198,57,198,59,198,64,198,45,0,65,198,68,198,72,198,80,198,45,0,81,198,83,198,45,0,85,198,92,198,45,0,93,198,96,198,108,198,111,198,113,198,120,198,45,0,121,198,124,198,128,198,136,198,45,0,137,198,139,198,141,198,148,198,45,0,149,198,152,198,156,198,164,198,45,0,165,198,167,198,169,198,176,198,45,0,177,198,180,198,184,198,45,0,186,198,192,198,45,0,193,198,195,198,197,198,204,198,45,0,205,198,208,198,212,198,220,198,45,0,221,198,224,198,45,0,225,198,232,198,45,0,233,198,236,198,240,198,248,198,45,0,249,198,253,198,4,199,45,0,5,199,8,199,12,199,20,199,45,0,21,199,23,199,25,199,32,199,45,0,33,199,36,199,40,199,48,199,45,0,49,199,51,199,53,199,55,199,60,199,45,0,61,199,64,199,68,199,74,199,76,199,45,0,77,199,79,199,81,199,45,0,88,199,92,199,96,199,104,199,107,199,116,199,45,0,117,199,120,199,124,199,45,0,126,199,131,199,45,0,133,199,135,199,45,0,138,199,142,199,144,199,45,0,145,199,148,199,150,199,45,0,152,199,154,199,160,199,45,0,161,199,163,199,45,0,166,199,172,199,45,0,173,199,176,199,180,199,188,199,45,0,189,199,191,199,45,0,193,199,200,199,45,0,201,199,204,199,206,199,208,199,216,199,221,199,228,199,232,199,236,199,0,200,45,0,1,200,4,200,8,200,10,200,16,200,45,0,17,200,19,200,21,200,45,0,22,200,28,200,45,0,29,200,32,200,36,200,44,200,45,0,45,200,47,200,49,200,56,200,60,200,64,200,72,200,45,0,73,200,76,200,45,0,77,200,84,200,112,200,45,0,113,200,116,200,120,200,122,200,128,200,45,0,129,200,131,200,133,200,45,0,135,200,139,200,45,0,141,200,148,200,157,200,159,200,161,200,168,200,188,200,45,0,189,200,196,200,200,200,204,200,212,200,45,0,213,200,215,200,217,200,224,200,45,0,225,200,228,200,245,200,252,200,45,0,253,200,0,201,4,201,45,0,6,201,12,201,45,0,13,201,15,201,17,201,24,201,44,201,52,201,80,201,45,0,81,201,84,201,88,201,96,201,45,0,97,201,99,201,108,201,112,201,116,201,124,201,136,201,45,0,137,201,140,201,144,201,152,201,45,0,153,201,155,201,157,201,192,201,45,0,193,201,196,201,199,201,45,0,200,201,202,201,208,201,45,0,209,201,211,201,213,201,45,0,214,201,217,201,45,0,218,201,220,201,45,0,221,201,224,201,226,201,228,201,231,201,236,201,45,0,237,201,239,201,45,0,241,201,248,201,45,0,249,201,252,201,0,202,8,202,45,0,9,202,11,202,45,0,13,202,20,202,24,202,41,202,76,202,45,0,77,202,80,202,84,202,92,202,45,0,93,202,95,202,45,0,97,202,104,202,125,202,132,202,152,202,188,202,45,0,189,202,192,202,196,202,204,202,45,0,205,202,207,202,209,202,211,202,216,202,45,0,217,202,224,202,236,202,244,202,8,203,16,203,20,203,24,203,32,203,45,0,33,203,65,203,72,203,45,0,73,203,76,203,80,203,88,203,45,0,89,203,93,203,100,203,120,203,45,0,121,203,156,203,184,203,212,203,228,203,231,203,233,203,12,204,45,0,13,204,16,204,20,204,28,204,45,0,29,204,33,204,45,0,34,204,39,204,45,0,41,204,44,204,46,204,48,204,56,204,45,0,57,204,59,204,45,0,62,204,68,204,45,0,69,204,72,204,76,204,84,204,45,0,85,204,87,204,45,0,89,204,96,204,100,204,102,204,104,204,112,204,117,204,152,204,45,0,153,204,156,204,160,204,168,204,45,0,169,204,171,204,45,0,173,204,180,204,45,0,181,204,184,204,188,204,196,204,45,0,197,204,199,204,201,204,208,204,212,204,228,204,236,204,240,204,1,205,8,205,45,0,9,205,12,205,16,205,24,205,45,0,25,205,27,205,29,205,36,205,40,205,44,205,57,205,92,205,96,205,100,205,108,205,45,0,109,205,111,205,113,205,120,205,136,205,148,205,45,0,149,205,152,205,156,205,164,205,45,0,165,205,167,205,169,205,176,205,196,205,204,205,208,205,232,205,236,205,240,205,248,205,45,0,249,205,251,205,253,205,4,206,8,206,12,206,20,206,25,206,32,206,45,0,33,206,36,206,40,206,48,206,45,0,49,206,51,206,53,206,88,206,45,0,89,206,92,206,95,206,45,0,97,206,104,206,45,0,105,206,107,206,109,206,116,206,45,0,117,206,120,206,124,206,132,206,45,0,133,206,135,206,137,206,144,206,45,0,145,206,148,206,152,206,160,206,45,0,161,206,163,206,45,0,165,206,172,206,45,0,173,206,193,206,228,206,45,0,229,206,232,206,235,206,45,0,236,206,244,206,45,0,245,206,247,206,45,0,249,206,0,207,45,0,1,207,4,207,8,207,16,207,45,0,17,207,19,207,21,207,28,207,32,207,36,207,44,207,45,0,45,207,47,207,45,0,49,207,56,207,84,207,45,0,85,207,88,207,92,207,100,207,45,0,101,207,103,207,105,207,112,207,45,0,113,207,116,207,120,207,128,207,133,207,140,207,161,207,168,207,176,207,196,207,224,207,45,0,225,207,228,207,232,207,240,207,45,0,241,207,243,207,245,207,252,207,0,208,4,208,17,208,24,208,45,208,52,208,45,0,53,208,56,208,60,208,68,208,45,0,69,208,71,208,73,208,80,208,84,208,88,208,96,208,108,208,45,0,109,208,112,208,116,208,124,208,45,0,125,208,129,208,164,208,45,0,165,208,168,208,172,208,180,208,45,0,181,208,183,208,185,208,192,208,45,0,193,208,196,208,200,208,45,0,201,208,208,208,45,0,209,208,211,208,45,0,213,208,220,208,45,0,221,208,224,208,228,208,236,208,45,0,237,208,239,208,45,0,241,208,248,208,13,209,48,209,45,0,49,209,52,209,56,209,58,209,64,209,45,0,65,209,67,209,45,0,69,209,76,209,45,0,77,209,80,209,84,209,92,209,45,0,93,209,95,209,97,209,104,209,108,209,124,209,132,209,136,209,160,209,45,0,161,209,164,209,168,209,176,209,45,0,177,209,179,209,181,209,186,209,188,209,192,209,216,209,244,209,248,209,7,210,9,210,16,210,44,210,45,0,45,210,48,210,52,210,60,210,45,0,61,210,63,210,65,210,72,210,92,210,100,210,128,210,45,0,129,210,132,210,136,210,144,210,45,0,145,210,149,210,156,210,160,210,164,210,172,210,177,210,184,210,45,0,185,210,188,210,191,210,45,0,192,210,194,210,200,210,45,0,201,210,203,210,212,210,216,210,220,210,228,210,45,0,229,210,240,210,45,0,241,210,244,210,248,210,0,211,45,0,1,211,3,211,5,211,12,211,45,0,14,211,16,211,20,211,22,211,28,211,45,0,29,211,31,211,45,0,33,211,37,211,40,211,45,0,41,211,44,211,48,211,56,211,45,0,57,211,59,211,45,0,61,211,68,211,45,0,69,211,124,211,45,0,125,211,128,211,132,211,140,211,45,0,141,211,143,211,45,0,145,211,152,211,45,0,153,211,156,211,160,211,168,211,45,0,169,211,171,211,173,211,180,211,184,211,188,211,196,211,45,0,197,211,200,211,45,0,201,211,208,211,216,211,225,211,227,211,236,211,45,0,237,211,240,211,244,211,252,211,45,0,253,211,255,211,1,212,8,212,29,212,64,212,68,212,92,212,96,212,100,212,109,212,111,212,120,212,45,0,121,212,124,212,127,212,45,0,128,212,130,212,136,212,45,0,137,212,139,212,141,212,148,212,169,212,204,212,208,212,212,212,220,212,223,212,232,212,236,212,240,212,248,212,251,212,253,212,4,213,8,213,12,213,20,213,45,0,21,213,23,213,60,213,45,0,61,213,64,213,68,213,76,213,45,0,77,213,79,213,81,213,88,213,45,0,89,213,92,213,96,213,101,213,104,213,45,0,105,213,107,213,109,213,116,213,45,0,117,213,120,213,124,213,132,213,45,0,133,213,135,213,45,0,137,213,144,213,165,213,200,213,45,0,201,213,204,213,208,213,210,213,216,213,45,0,217,213,219,213,221,213,228,213,45,0,229,213,232,213,236,213,244,213,45,0,245,213,247,213,249,213,0,214,45,0,1,214,4,214,8,214,16,214,45,0,17,214,19,214,45,0,21,214,28,214,32,214,36,214,45,214,56,214,45,0,57,214,60,214,64,214,69,214,72,214,45,0,73,214,75,214,77,214,81,214,84,214,45,0,85,214,88,214,92,214,103,214,105,214,112,214,45,0,113,214,116,214,131,214,133,214,140,214,45,0,141,214,144,214,148,214,157,214,159,214,161,214,168,214,172,214,176,214,185,214,187,214,196,214,45,0,197,214,200,214,204,214,209,214,212,214,215,214,217,214,224,214,228,214,232,214,240,214,245,214,252,214,45,0,253,214,0,215,4,215,17,215,24,215,45,0,25,215,28,215,32,215,40,215,45,0,41,215,43,215,45,215,52,215,45,0,53,215,56,215,60,215,68,215,71,215,73,215,80,215,45,0,81,215,84,215,86,215,45,0,89,215,96,215,45,0,97,215,99,215,101,215,105,215,108,215,112,215,116,215,124,215,45,0,125,215,129,215,136,215,45,0,137,215,140,215,144,215,152,215,45,0,153,215,155,215,157,215,93,0,93,0,38,0,0,172,60,0,60,0,42,0,61,79,115,79,71,80,249,80,160,82,239,83,117,84,229,84,9,86,193,90,182,91,135,102,182,103,183,103,239,103,76,107,194,115,194,117,60,122,219,130,4,131,87,136,136,136,54,138,200,140,207,141,251,142,230,143,213,153,238,78,162,80,150,84,255,84,119,87,138,91,157,101,142,105,159,106,200,115,51,123,30,128,56,130,109,132,12,139,38,0,1,172,60,0,60,0,42,0,59,82,116,83,4,84,106,96,100,97,188,107,207,115,26,129,186,137,210,137,163,149,123,83,175,84,198,87,9,100,241,100,119,104,38,0,4,172,60,0,60,0,42,0,131,79,10,82,190,88,120,89,230,89,114,94,121,94,199,97,192,99,70,103,236,103,127,104,151,111,78,118,11,119,245,120,8,122,255,122,33,124,157,128,110,130,113,130,235,138,147,149,88,80,115,97,30,104,166,105,149,115,198,121,27,131,78,136,118,141,192,143,102,159,38,0,8,172,60,0,60,0,42,0,107,78,157,85,247,102,52,110,163,120,237,122,91,132,16,137,78,135,168,151,118,86,108,105,248,121,175,127,13,136,161,157,38,0,16,172,60,0,60,0,42,0,216,82,78,87,42,88,76,93,31,97,190,97,33,98,98,101,209,103,68,106,27,110,24,117,179,117,227,118,176,119,58,125,175,144,81,148,82,148,149,159,105,87,243,87,65,93,7,95,168,97,188,100,63,107,91,107,212,108,230,109,137,111,217,119,87,143,99,145,123,158,38,0,17,172,60,0,60,0,42,0,35,83,172,92,50,117,219,128,64,146,152,149,208,151,38,0,21,172,60,0,60,0,42,0,91,82,8,88,220,89,161,92,23,93,183,94,58,95,74,95,119,97,95,108,122,117,134,117,224,124,115,125,177,125,140,127,84,129,33,130,145,133,65,137,27,139,252,146,77,150,71,156,139,80,245,80,195,88,252,95,91,98,96,103,127,106,173,107,252,119,69,122,72,126,97,127,151,127,171,127,51,131,71,140,193,151,38,0,28,172,60,0,60,0,42,0,203,78,247,78,11,80,241,81,79,88,55,97,62,97,104,97,57,101,234,105,17,111,165,117,134,118,214,118,135,123,165,130,203,132,167,147,139,149,116,82,3,83,233,99,233,105,160,115,213,120,211,149,38,0,29,172,60,0,60,0,42,0,128,85,162,91,38,0,49,172,60,0,60,0,42,0,81,87,179,124,185,127,92,120,225,140,215,147,38,0,57,172,60,0,60,0,181,145,38,0,112,172,60,0,60,0,42,0,40,80,187,83,69,92,232,93,210,98,110,99,218,100,231,100,32,110,172,112,91,121,221,141,30,142,125,144,69,146,248,146,127,84,27,102,236,121,101,123,103,124,224,128,82,129,227,130,146,131,86,133,39,134,170,136,254,136,207,153,38,0,116,172,60,0,60,0,42,0,126,78,246,78,101,80,254,93,250,94,6,97,87,105,113,129,84,134,71,142,117,147,43,154,245,99,141,114,119,119,48,137,7,139,172,151,38,0,120,172,60,0,60,0,42,0,94,78,145,80,112,103,64,104,108,78,5,103,164,105,38,0,128,172,60,0,60,0,42,0,9,81,141,82,146,82,162,106,188,119,16,146,212,158,191,100,161,130,38,0,129,172,60,0,60,0,42,0,171,82,47,96,242,143,38,82,39,82,38,0,140,172,60,0,60,0,42,0,72,80,169,97,237,99,38,0,169,172,60,0,60,0,42,0,202,100,60,104,132,106,192,111,136,129,161,137,148,150,12,99,196,107,195,149,188,154,50,155,3,157,38,0,172,172,60,0,60,0,42,0,5,88,125,114,172,114,4,117,121,125,109,126,169,128,139,137,116,139,99,144,81,157,43,106,247,114,78,117,103,123,51,126,126,126,130,127,50,136,57,156,38,0,176,172,60,0,60,0,42,0,137,98,122,108,84,111,80,125,58,127,35,138,166,115,214,137,203,149,38,0,184,172,60,0,60,0,42,0,124,81,74,97,157,123,25,139,87,146,140,147,148,80,219,85,146,92,209,98,73,107,17,126,185,132,218,158,56,159,38,0,189,172,60,0,60,0,42,0,172,78,211,79,30,80,190,80,6,81,193,82,205,82,127,83,112,87,131,88,154,94,145,95,118,97,172,97,206,100,108,101,111,102,187,102,244,102,151,104,135,109,133,112,241,112,159,116,165,116,202,116,217,117,108,120,236,120,223,122,246,122,69,125,147,125,21,128,63,128,27,129,150,131,102,139,21,143,21,144,225,147,3,152,56,152,90,154,232,155,143,81,68,82,253,84,248,96,188,97,67,98,160,106,98,113,45,113,178,113,74,117,248,122,134,125,72,152,68,127,39,137,38,139,201,153,193,155,229,158,38,0,196,172,60,0,60,0,42,0,194,79,83,85,58,88,81,89,99,91,70,92,184,96,18,98,66,104,176,104,232,104,170,110,76,117,120,118,206,120,61,122,251,124,107,126,124,126,8,138,161,138,63,140,142,150,196,157,38,88,211,112,8,118,138,121,83,123,174,125,24,126,125,127,106,132,138,133,222,150,251,154,38,0,224,172,60,0,60,0,42,0,228,83,233,83,74,84,113,84,250,86,209,89,100,91,59,92,171,94,247,98,55,101,69,101,114,101,160,102,175,103,193,105,189,108,252,117,144,118,126,119,63,122,148,127,3,128,161,128,143,129,230,130,253,130,240,131,193,133,49,136,180,136,165,138,156,143,46,147,199,150,103,152,216,154,19,159,48,79,197,81,51,82,89,88,114,103,50,104,192,105,249,105,220,106,111,114,139,118,236,118,189,119,1,122,141,123,217,123,213,124,95,127,150,127,250,127,239,128,218,137,65,138,220,144,100,145,55,146,96,151,35,157,241,157,38,0,225,172,60,0,60,0,42,0,237,84,155,101,242,102,143,104,64,122,55,140,96,157,179,86,242,105,32,126,243,137,66,143,38,0,228,172,60,0,60,0,42,0,240,86,100,87,17,93,6,102,177,104,205,104,254,110,40,116,158,136,228,155,3,88,16,93,131,96,70,99,196,125,110,136,205,136,12,137,21,147,171,149,225,154,126,157,164,157,107,159,38,0,232,172,60,0,60,0,42,0,104,108,168,154,48,100,190,105,251,119,187,157,38,0,245,172,60,0,60,0,42,0,155,79,108,81,113,81,159,82,84,91,229,93,80,96,109,96,241,98,167,99,59,101,217,115,122,122,163,134,162,140,143,151,37,80,6,93,190,96,49,104,211,105,156,123,233,134,236,134,27,141,235,141,237,145,148,159,38,0,246,172,60,0,60,0,50,78,38,0,252,172,60,0,60,0,42,0,225,91,8,98,156,103,220,116,209,121,211,131,135,138,178,138,232,141,78,144,75,147,70,152,137,79,29,88,37,89,56,89,190,100,19,115,30,122,160,122,76,135,249,136,29,142,153,146,13,154,38,0,253,172,60,0,60,0,42,0,211,94,232,105,255,133,237,144,1,105,104,118,169,142,13,151,185,151,38,0,0,173,60,0,60,0,42,0,160,81,152,91,236,91,99,97,250,104,62,107,76,112,47,116,216,116,161,123,80,127,197,131,192,137,171,140,220,149,40,153,49,78,171,109,31,114,229,118,124,121,190,122,102,123,176,125,40,143,39,147,117,148,218,150,116,152,214,154,27,158,38,0,4,173,60,0,60,0,42,0,46,82,93,96,236,98,2,144,120,79,29,104,72,123,82,128,250,154,48,157,38,0,17,173,60,0,60,0,42,0,138,79,73,81,33,83,217,88,227,94,224,102,56,109,154,112,194,114,214,115,80,123,241,128,91,148,71,96,68,104,70,104,12,114,119,115,250,120,86,125,138,126,42,131,134,138,145,138,38,0,24,173,60,0,60,0,42,0,102,83,155,99,107,127,188,84,2,99,99,127,127,138,38,0,52,173,60,0,60,0,42,0,86,78,128,80,74,88,222,88,42,96,39,97,208,98,208,105,65,155,191,90,229,94,96,96,112,116,157,116,175,132,88,137,38,0,53,173,60,0,60,0,152,153,38,0,73,173,60,0,60,0,42,0,143,91,24,125,177,128,95,143,100,109,229,137,7,138,142,149,38,0,80,173,60,0,60,0,42,0,164,78,209,80,172,84,172,85,12,91,160,93,231,93,42,101,78,101,33,104,75,106,225,114,142,118,239,119,94,125,249,127,160,129,78,133,223,134,3,143,78,143,202,144,3,153,85,154,171,155,124,79,4,86,16,86,109,86,153,86,227,89,141,97,159,100,72,102,158,102,183,105,253,120,150,122,171,141,123,142,120,146,185,154,65,157,105,159,38,0,108,173,60,0,60,0,42,0,24,78,69,78,93,78,199,78,241,79,119,81,254,82,64,83,227,83,229,83,142,84,20,86,117,87,162,87,199,91,135,93,208,94,252,97,216,98,81,101,184,103,233,103,203,105,80,107,198,107,236,107,66,108,157,110,120,112,215,114,150,115,3,116,191,119,233,119,118,122,127,125,9,128,252,129,5,130,10,130,223,130,98,136,51,139,252,140,192,142,17,144,177,144,100,146,182,146,210,153,69,154,233,156,215,157,156,159,73,79,93,79,197,79,180,80,147,81,172,82,54,83,185,83,244,83,120,87,228,89,190,90,215,90,104,92,163,92,64,95,53,98,99,98,68,99,6,100,115,100,43,102,152,105,26,111,134,116,12,117,154,117,192,117,111,118,155,122,182,122,221,123,215,124,202,128,159,132,175,134,216,136,175,137,108,138,88,144,230,145,221,151,237,151,238,151,182,152,200,153,46,155,199,157,28,158,38,0,109,173,60,0,60,0,42,0,11,87,64,92,202,131,160,151,171,151,180,158,10,83,172,99,252,141,175,158,38,0,112,173,60,0,60,0,42,0,27,84,152,122,164,127,217,136,205,142,225,144,67,99,126,104,184,118,38,0,116,173,60,0,60,0,42,0,0,88,72,92,152,99,159,122,20,80,27,93,200,109,88,138,38,0,129,173,60,0,60,0,42,0,174,91,19,95,121,122,174,122,142,130,172,142,179,142,38,0,140,173,60,0,60,0,42,0,38,80,56,82,248,82,119,83,8,87,243,98,114,99,10,107,195,109,55,119,204,82,211,96,236,104,96,119,163,125,55,135,38,0,144,173,60,0,60,0,42,0,165,83,87,115,104,133,118,142,213,149,38,0,164,173,60,0,60,0,42,0,58,103,195,106,112,111,109,138,204,142,75,153,121,79,224,81,130,82,49,83,146,97,133,100,59,106,63,108,11,124,98,126,234,141,224,149,61,153,130,158,38,0,192,173,60,0,60,0,42,0,119,102,120,107,180,140,60,155,38,0,220,173,60,0,60,0,42,0,235,83,45,87,78,89,198,99,251,105,234,115,69,120,186,122,197,122,254,124,117,132,143,137,115,141,53,144,168,149,50,82,226,90,0,91,203,93,140,102,79,105,27,106,89,111,125,119,250,124,108,134,111,134,236,141,189,144,218,149,13,152,151,153,38,0,224,173,60,0,60,0,42,0,251,82,71,87,71,117,96,123,204,131,30,146,247,86,143,158,38,0,228,173,60,0,60,0,88,106,38,0,249,173,60,0,60,0,42,0,75,81,75,82,135,82,31,98,216,104,117,105,153,150,159,78,5,92,80,92,196,144,38,0,252,173,60,0,60,0,42,0,197,80,164,82,228,82,195,97,164,101,57,104,255,105,126,116,75,123,185,130,235,131,178,137,57,139,209,143,73,153,122,83,170,83,144,88,249,93,209,94,12,111,212,137,223,141,255,145,115,151,38,0,8,174,60,0,60,0,42,0,202,78,151,89,210,100,17,102,142,106,52,116,129,121,189,121,169,130,126,136,127,136,95,137,38,147,43,85,100,86,148,93,18,123,197,158,38,0,9,174,60,0,60,0,42,0,11,79,202,83,37,96,113,98,114,108,26,125,102,125,62,87,140,92,128,118,15,121,8,123,168,130,38,0,13,174,60,0,60,0,42,0,152,78,98,81,220,119,175,128,153,78,145,107,38,0,48,174,60,0,60,0,42,0,1,79,14,79,118,81,128,81,220,85,104,86,59,87,250,87,252,87,20,89,71,89,147,89,196,91,144,92,14,93,241,93,126,94,204,95,128,98,215,101,227,101,30,103,31,103,94,103,203,104,196,104,95,106,58,107,35,108,125,108,130,108,199,109,152,115,38,116,42,116,130,116,163,116,120,117,127,117,129,120,239,120,65,121,71,121,72,121,122,121,149,123,0,125,186,125,136,127,6,128,45,128,140,128,24,138,79,139,72,140,119,141,33,147,36,147,226,152,81,153,14,154,15,154,101,154,146,158,219,80,94,82,141,88,122,92,139,94,3,95,238,95,45,97,142,99,50,101,194,101,163,102,193,102,202,104,103,107,129,112,9,115,168,121,165,125,166,125,135,127,181,128,170,130,176,130,4,134,65,134,29,135,227,135,137,137,172,137,194,141,145,150,14,152,16,155,45,156,214,158,38,0,52,174,60,0,60,0,202,125,38,0,56,174,60,0,60,0,42,0,118,79,9,84,238,98,84,104,222,89,227,134,38,0,64,174,60,0,60,0,209,145,38,0,125,176,60,0,60,0,171,85,38,0,152,176,60,0,60,0,42,0,58,81,28,90,230,97,207,98,255,98,163,144,16,99,42,99,155,104,229,124,239,124,38,0,153,176,60,0,60,0,254,138,38,0,156,176,60,0,60,0,42,0,150,102,86,113,227,150,68,80,87,113,103,141,42,153,38,0,160,176,60,0,60,0,42,0,79,99,122,99,38,0,168,176,60,0,60,0,42,0,87,83,143,103,96,105,115,110,55,117,131,85,223,103,38,0,169,176,60,0,60,0,42,0,13,125,114,136,38,0,173,176,60,0,60,0,42,0,202,86,24,90,233,102,38,0,180,176,60,0,60,0,42,0,67,78,103,81,72,89,240,103,16,128,2,83,118,89,45,91,250,143,16,159,38,0,64,177,60,0,60,0,115,89,38,0,65,177,60,0,60,0,196,96,38,0,68,177,60,0,60,0,42,0,116,94,154,100,202,121,190,120,38,0,80,177,60,0,60,0,42,0,245,95,108,96,200,98,123,99,38,0,85,177,60,0,60,0,42,0,231,91,215,91,94,79,28,81,128,86,216,111,38,0,120,177,60,0,60,0,42,0,170,82,116,89,41,95,18,96,89,116,209,153,118,84,101,91,241,92,49,115,47,123,209,129,38,0,141,177,60,0,60,0,42,0,195,111,191,129,178,143,2,81,101,86,96,122,178,145,38,0,204,177,60,0,60,0,42,0,241,96,102,129,18,153,38,0,232,177,60,0,60,0,42,0,63,92,203,90,50,91,214,109,224,120,202,136,3,148,38,0,4,178,60,0,60,0,42,0,66,85,40,128,38,0,8,178,60,0,60,0,233,90,38,0,12,178,60,0,60,0,42,0,37,138,54,84,173,128,38,0,116,178,60,0,60,0,42,0,123,103,16,125,248,95,117,151,38,0,117,178,60,0,60,0,68,136,38,0,165,178,60,0,60,0,253,128,38,0,200,178,60,0,60,0,42,0,60,92,229,108,98,84,41,96,197,103,98,121,176,121,169,129,38,0,201,178,60,0,60,0,42,0,63,83,186,110,53,102,177,102,38,0,228,178,60,0,60,0,42,0,26,89,54,131,57,114,38,0,232,178,60,0,60,0,42,0,57,78,182,78,70,79,174,85,24,87,199,88,86,95,183,101,230,101,128,106,181,107,77,110,237,119,239,122,30,124,222,125,203,134,146,136,50,145,91,147,113,97,197,98,52,105,25,111,73,118,17,128,198,128,118,129,17,135,38,0,236,178,60,0,60,0,42,0,187,100,190,111,122,115,184,117,84,144,178,89,27,96,229,149,124,151,195,151,38,0,244,178,60,0,60,0,42,0,86,85,77,87,186,97,212,100,199,102,225,109,91,110,109,111,185,111,240,117,67,128,189,129,65,133,131,137,199,138,90,139,31,147,11,81,87,85,73,86,176,88,220,88,239,107,171,121,78,127,157,133,239,144,238,158,245,158,38,0,245,178,60,0,60,0,42,0,147,108,83,117,84,123,15,142,93,144,38,0,249,178,60,0,60,0,42,0,16,85,2,88,88,88,98,94,7,98,158,100,224,104,118,117,214,124,179,135,232,158,24,80,59,81,90,81,42,100,148,106,143,110,109,116,171,116,160,119,17,121,247,135,96,137,156,139,220,147,58,148,51,153,57,153,38,0,0,179,60,0,60,0,42,0,227,78,136,87,110,87,39,89,13,92,177,92,54,94,133,95,52,98,225,100,179,115,250,129,139,136,184,140,138,150,219,158,19,81,223,97,242,101,79,108,147,120,19,148,38,0,1,179,60,0,60,0,133,91,38,0,85,179,60,0,60,0,42,0,183,95,179,96,38,0,196,179,60,0,60,0,42,0,18,80,0,82,48,82,22,87,53,88,87,88,14,92,96,92,246,92,139,93,166,94,146,95,188,96,17,99,137,99,23,100,67,104,249,104,194,106,216,109,33,110,212,110,228,111,254,113,220,118,121,119,177,121,59,122,4,132,169,137,237,140,243,141,72,142,3,144,20,144,83,144,253,144,77,147,118,150,220,151,232,83,212,88,34,95,201,95,70,97,143,99,47,100,227,100,174,106,46,109,130,109,12,122,223,131,116,145,205,149,128,151,177,151,85,153,23,159,38,0,197,179,60,0,60,0,42,0,210,107,6,112,88,114,162,114,104,115,99,119,191,121,228,123,155,126,128,139,221,106,247,158,38,0,200,179,60,0,60,0,42,0,169,88,199,96,102,101,253,101,190,102,140,108,30,113,201,113,90,140,19,152,52,95,97,111,137,142,38,0,204,179,60,0,60,0,42,0,109,78,129,122,132,84,23,88,38,0,217,179,60,0,60,0,42,0,221,78,172,81,205,81,213,82,12,84,167,97,113,103,80,104,223,104,30,109,124,111,188,117,179,119,229,122,244,128,99,132,133,146,151,79,238,80,195,84,140,87,210,92,100,95,35,103,102,106,183,109,95,130,243,130,60,131,107,133,64,135,44,147,151,155,38,0,80,180,60,0,60,0,42,0,92,81,151,101,92,103,147,103,216,117,199,122,115,131,70,140,23,144,45,152,150,98,129,101,154,128,48,129,170,134,57,136,97,150,38,0,84,180,60,0,60,0,42,0,111,92,192,129,154,130,65,144,111,144,13,146,128,122,205,143,38,0,88,180,60,0,60,0,103,78,38,0,221,180,60,0,60,0,151,95,38,0,241,180,60,0,60,0,42,0,157,93,89,106,200,113,123,118,73,123,228,133,4,139,39,145,48,154,243,81,177,88,213,110,244,120,80,124,34,126,163,135,25,148,38,0,124,183,60,0,60,0,42,0,135,85,246,97,105,118,133,127,63,134,186,135,248,136,143,144,46,80,201,86,234,102,48,118,34,120,221,129,124,148,62,154,88,154,38,0,125,183,60,0,60,0,42,0,27,109,217,112,222,115,97,125,61,132,106,145,241,153,224,85,150,114,38,0,128,183,60,0,60,0,42,0,130,78,117,83,4,107,18,107,62,112,27,114,45,134,30,158,62,91,113,94,20,101,83,112,116,137,126,148,204,149,38,0,132,183,60,0,60,0,42,0,76,82,163,143,210,87,162,143,38,0,140,183,60,0,60,0,42,0,80,93,229,100,44,101,22,107,235,111,67,124,156,126,205,133,100,137,189,137,106,90,207,96,38,0,141,183,60,0,60,0,42,0,201,98,216,129,31,136,94,148,38,0,145,183,60,0,60,0,42,0,202,94,23,103,106,109,252,114,5,116,111,116,130,135,222,144,148,105,96,120,2,122,168,131,11,135,172,149,38,0,152,183,60,0,60,0,42,0,134,79,13,93,160,95,10,132,246,109,11,154,38,0,173,183,60,0,60,0,183,81,38,0,181,183,60,0,60,0,42,0,160,99,101,117,103,117,38,0,201,183,60,0,60,0,42,0,174,78,6,80,105,81,201,81,129,104,17,106,174,124,177,124,231,124,111,130,210,138,27,143,207,145,168,85,162,96,11,105,188,109,9,142,78,155,38,0,36,184,60,0,60,0,42,0,182,79,55,81,245,82,66,84,236,94,110,97,62,98,197,101,218,106,254,111,42,121,220,133,35,136,173,149,98,154,106,154,151,158,206,158,34,81,178,83,51,85,160,104,88,118,242,124,130,129,218,129,33,136,140,144,98,148,38,0,37,184,60,0,60,0,42,0,155,82,198,102,119,107,29,112,43,121,98,143,66,151,10,101,223,106,234,106,103,118,99,143,72,145,38,0,40,184,60,0,60,0,42,0,144,97,0,98,35,101,35,111,73,113,137,116,244,125,111,128,238,132,38,143,35,144,74,147,76,91,93,105,69,110,224,129,200,147,10,156,49,156,38,0,44,184,60,0,60,0,42,0,189,81,23,82,163,82,12,109,200,112,194,136,18,99,105,99,178,152,38,0,52,184,60,0,60,0,42,0,201,94,130,101,174,107,194,111,62,124,105,89,50,112,207,120,38,0,53,184,60,0,60,0,42,0,117,115,144,142,35,155,38,0,57,184,60,0,60,0,42,0,228,78,54,79,249,86,186,92,186,93,28,96,178,115,45,123,154,127,206,127,70,128,30,144,52,146,246,150,72,151,24,152,97,159,230,83,100,84,200,89,173,92,36,102,30,107,224,108,226,121,211,130,201,134,232,142,18,157,119,158,38,0,64,184,60,0,60,0,42,0,139,79,167,111,174,121,180,145,183,150,184,150,103,156,38,0,92,184,60,0,60,0,42,0,222,82,136,100,196,100,211,106,94,111,24,112,16,114,231,118,1,128,6,134,92,134,239,141,5,143,50,151,111,155,250,157,117,158,218,88,247,110,136,115,70,118,130,122,106,130,107,130,100,143,42,148,106,148,113,152,215,154,120,156,21,158,38,0,93,184,60,0,60,0,42,0,140,120,127,121,160,125,201,131,4,147,127,158,147,158,37,87,84,95,229,109,9,111,15,124,70,143,4,154,38,0,96,184,60,0,60,0,214,138,38,0,113,184,60,0,60,0,42,0,223,88,4,95,39,103,39,112,207,116,96,124,126,128,49,81,15,101,232,102,49,121,34,134,180,150,142,159,38,0,176,184,60,0,60,0,42,0,33,81,40,112,98,114,202,120,194,140,218,140,244,140,247,150,2,101,12,121,39,121,95,124,135,126,77,127,18,128,126,133,132,138,121,145,66,152,38,0,204,184,60,0,60,0,42,0,134,78,218,80,238,91,214,94,153,101,206,113,66,118,173,119,74,128,252,132,124,144,39,155,57,86,253,90,169,100,184,102,102,111,96,115,90,126,139,129,170,145,16,148,194,152,201,152,38,0,225,184,60,0,60,0,42,0,141,159,146,159,38,0,232,184,60,0,60,0,42,0,216,88,65,90,98,92,19,106,218,109,15,111,59,118,47,125,55,126,30,133,56,137,228,147,75,150,194,80,13,86,129,93,122,97,44,128,187,135,207,154,38,0,88,185,60,0,60,0,42,0,137,82,210,101,243,103,180,105,65,109,156,110,15,112,9,116,96,116,89,117,36,118,107,120,44,139,94,152,74,106,50,126,141,126,91,144,185,157,38,0,89,185,60,0,60,0,42,0,109,81,46,98,120,150,224,82,38,0,92,185,60,0,60,0,42,0,150,79,43,80,25,93,234,109,184,125,42,143,132,99,38,0,96,185,60,0,60,0,42,0,139,95,68,97,23,104,66,93,167,110,38,0,109,185,60,0,60,0,42,0,134,150,67,118,191,122,38,0,117,185,60,0,60,0,42,0,210,82,139,128,208,108,38,0,132,185,60,0,60,0,42,0,220,81,219,81,233,94,159,111,38,0,137,185,60,0,60,0,42,0,204,81,94,105,28,122,190,125,241,131,117,150,48,80,6,133,38,0,172,185,60,0,60,0,42,0,218,79,41,82,152,83,15,84,14,85,101,92,167,96,78,103,168,104,108,109,129,114,248,114,6,116,131,116,226,117,108,124,121,127,184,127,137,131,207,136,225,136,204,145,208,145,226,150,201,155,208,79,122,82,233,84,224,90,150,109,19,111,187,121,133,131,10,135,173,135,141,140,144,144,81,155,208,158,38,0,176,185,60,0,60,0,42,0,29,84,126,111,208,113,152,116,250,133,170,142,163,150,87,156,159,158,153,93,139,96,92,115,247,120,166,124,188,124,87,126,153,142,84,143,48,145,251,147,78,154,38,0,188,185,60,0,60,0,42,0,151,103,203,109,51,116,232,129,22,151,243,117,38,0,189,185,60,0,60,0,42,0,44,120,203,122,32,123,146,124,166,92,38,0,200,185,60,0,60,0,42,0,105,100,106,116,242,117,188,120,232,120,172,153,84,155,187,158,152,82,189,90,158,135,199,135,189,158,191,158,38,0,201,185,60,0,60,0,42,0,222,91,85,94,32,111,156,129,171,131,136,144,153,119,204,147,38,0,204,185,60,0,60,0,42,0,7,78,77,83,41,90,210,93,78,95,98,97,61,99,105,102,252,102,255,110,43,111,99,112,158,119,44,132,19,133,59,136,19,143,69,153,59,156,129,88,218,90,84,94,53,126,62,139,99,142,203,147,221,147,24,155,38,0,208,185,60,0,60,0,42,0,28,85,185,98,43,103,171,108,9,131,106,137,122,151,21,94,227,121,38,0,221,185,60,0,60,0,42,0,161,78,132,89,216,95,217,95,27,103,178,125,84,127,146,130,43,131,189,131,30,143,153,144,216,96,82,108,45,111,190,131,210,135,77,155,38,0,228,185,60,0,60,0,42,0,203,87,185,89,146,90,208,91,39,102,154,103,133,104,207,107,100,113,117,127,183,140,227,140,129,144,69,155,70,84,115,105,172,108,171,115,27,119,250,130,147,131,118,145,9,151,38,0,229,185,60,0,60,0,42,0,8,129,138,140,76,150,64,154,165,158,9,129,131,140,152,140,38,0,249,185,60,0,60,0,42,0,95,91,19,108,27,115,242,118,223,118,12,132,26,81,13,117,63,117,123,134,38,0,113,186,60,0,60,0,42,0,170,81,147,137,78,94,248,124,38,0,116,186,60,0,60,0,42,0,77,81,149,81,201,82,201,104,148,108,4,119,32,119,191,125,236,125,98,151,181,158,219,79,78,110,198,124,220,125,170,158,38,0,120,186,60,0,60,0,42,0,197,110,17,133,254,123,74,136,38,0,133,186,60,0,60,0,42,0,165,81,13,84,125,84,14,102,157,102,39,105,159,110,191,118,145,119,23,131,194,132,159,135,105,145,152,146,244,156,58,109,38,0,140,186,60,0,60,0,130,136,38,0,168,186,60,0,60,0,42,0,174,79,146,81,223,82,198,89,61,94,85,97,120,100,121,100,174,102,208,103,33,106,205,107,219,107,95,114,97,114,65,116,56,119,219,119,23,128,188,130,5,131,0,139,40,139,140,140,148,79,229,89,162,90,235,90,72,96,196,101,131,118,10,119,141,124,226,124,4,128,101,135,202,135,126,146,230,154,38,0,169,186,60,0,60,0,42,0,40,103,144,108,103,114,238,118,102,119,70,122,169,157,233,81,220,130,38,0,176,186,60,0,60,0,42,0,127,107,146,108,38,0,189,186,60,0,60,0,42,0,34,89,38,103,153,132,106,94,222,97,218,102,149,110,219,111,162,119,199,119,104,130,250,150,15,158,38,0,24,187,60,0,60,0,42,0,111,83,147,88,153,89,223,94,207,99,52,102,115,103,58,110,43,115,215,122,215,130,40,147,252,109,7,119,208,133,147,140,38,0,52,187,60,0,60,0,42,0,217,82,235,93,174,97,203,97,10,98,199,98,171,100,224,101,89,105,102,107,203,107,33,113,247,115,93,117,70,126,30,130,2,131,106,133,163,138,191,140,39,151,97,157,27,81,56,86,225,94,180,129,22,154,38,0,53,187,60,0,60,0,42,0,168,88,216,158,63,86,38,0,56,187,60,0,60,0,42,0,17,80,14,82,59,84,79,85,135,101,118,108,10,125,11,125,94,128,138,134,128,149,239,150,1,83,151,96,227,97,134,98,107,99,134,112,138,116,38,0,60,187,60,0,60,0,42,0,255,82,149,108,105,114,38,0,248,187,60,0,60,0,42,0,115,84,154,90,62,92,75,93,76,95,174,95,42,103,182,104,99,105,60,110,68,110,9,119,115,124,142,127,135,133,14,139,247,143,97,151,244,158,185,78,19,90,132,90,186,90,37,95,45,95,73,101,48,112,124,115,220,124,59,126,255,130,60,134,139,158,38,0,252,187,60,0,60,0,42,0,183,92,182,96,13,97,171,97,79,101,251,101,252,101,17,108,239,108,159,115,201,115,225,125,148,149,222,95,223,95,139,102,99,110,205,125,96,127,224,130,169,149,53,156,253,158,38,0,0,188,60,0,60,0,42,0,198,91,28,135,16,139,18,106,245,110,38,0,21,188,60,0,60,0,42,0,93,82,90,83,205,98,15,100,178,100,52,103,56,106,202,108,192,115,158,116,148,123,149,124,27,126,138,129,54,130,132,133,235,143,249,150,193,153,179,78,2,107,84,114,155,147,238,153,198,154,38,0,24,188,60,0,60,0,42,0,52,79,74,83,205,83,219,83,204,98,44,100,0,101,145,101,195,105,238,108,88,111,237,115,84,117,34,118,228,118,252,118,208,120,251,120,44,121,70,125,44,130,224,135,212,143,18,152,239,152,187,90,115,98,43,100,61,101,12,103,214,128,140,135,22,152,38,0,28,188,60,0,60,0,42,0,195,82,212,98,165,100,36,110,81,111,124,118,203,141,177,145,98,146,238,154,67,155,241,84,97,109,22,129,56,146,83,157,38,0,41,188,60,0,60,0,42,0,35,80,141,80,74,87,168,89,40,92,71,94,119,95,63,98,62,101,185,101,193,101,9,102,139,103,156,105,194,110,197,120,33,125,170,128,128,129,43,130,179,130,161,132,140,134,42,138,23,139,166,144,50,150,144,159,255,78,150,83,107,94,172,95,18,100,202,101,134,104,83,114,61,130,131,135,138,147,227,154,116,155,38,0,48,188,60,0,60,0,42,0,13,80,243,79,249,87,152,95,220,98,146,99,111,103,67,110,25,113,195,118,204,128,218,128,244,136,245,136,25,137,224,140,41,143,77,145,106,150,79,87,111,87,82,98,50,116,211,132,38,0,49,188,60,0,60,0,42,0,47,79,112,79,27,94,207,103,34,104,125,118,126,118,68,155,168,124,38,0,136,188,60,0,60,0,42,0,97,94,10,106,105,113,212,113,106,117,65,126,67,133,233,133,220,152,89,126,251,127,176,129,41,134,162,136,38,0,140,188,60,0,60,0,42,0,16,79,79,123,112,127,165,149,67,106,120,127,38,0,148,188,60,0,60,0,42,0,225,81,6,94,181,104,62,108,78,108,219,108,175,114,196,123,3,131,53,123,9,138,191,152,38,0,149,188,60,0,60,0,42,0,213,108,58,116,38,0,189,188,60,0,60,0,42,0,251,80,136,82,193,88,216,100,151,106,167,116,86,118,167,120,23,134,226,149,57,151,215,100,19,117,136,117,94,137,255,157,10,159,38,0,192,188,60,0,60,0,42,0,94,83,1,95,138,139,168,143,175,143,138,144,237,95,131,98,105,124,174,143,65,129,198,140,226,153,191,154,24,157,38,0,196,188,60,0,60,0,42,0,37,82,165,119,73,156,8,159,70,95,233,157,38,0,209,188,60,0,60,0,42,0,25,78,2,80,117,81,91,92,119,94,30,102,58,102,196,103,197,104,179,112,1,117,197,117,201,121,221,122,39,143,32,153,8,154,38,78,64,88,99,125,62,127,248,143,53,146,242,146,124,146,38,0,244,188,60,0,60,0,42,0,221,79,33,88,49,88,246,91,110,102,101,107,17,109,122,110,125,111,228,115,43,117,233,131,220,136,19,137,92,139,20,143,204,79,217,118,32,124,70,132,76,151,7,157,252,158,38,0,245,188,60,0,60,0,42,0,15,79,213,80,16,83,92,83,147,91,169,95,13,103,143,121,121,129,47,131,20,133,7,137,134,137,57,143,59,143,165,153,18,156,163,88,94,94,81,98,238,111,153,123,212,131,96,135,110,135,105,157,38,0,248,188,60,0,60,0,44,103,38,0,252,188,60,0,60,0,118,78,38,0,9,189,60,0,60,0,42,0,248,79,73,89,1,92,239,92,240,92,103,99,210,104,253,112,162,113,43,116,43,126,236,132,2,135,34,144,210,146,243,156,48,78,6,89,247,123,152,125,246,131,12,157,38,0,128,189,60,0,60,0,42,0,13,78,216,78,239,79,133,80,86,82,111,82,38,84,144,84,224,87,43,89,102,90,90,91,117,91,204,91,156,94,118,98,119,101,167,101,110,109,165,110,54,114,38,123,63,124,54,127,80,129,81,129,154,129,64,130,153,130,169,131,3,138,160,140,230,140,251,140,116,141,186,141,232,144,220,145,28,150,68,150,217,153,231,156,198,78,216,79,141,90,148,98,202,98,138,99,116,104,145,105,170,109,158,115,84,121,95,123,88,127,102,127,213,128,163,130,251,130,0,133,168,134,9,135,157,136,210,136,215,141,7,146,43,152,146,155,169,158,38,0,129,189,60,0,60,0,23,83,38,0,132,189,60,0,60,0,42,0,6,82,41,84,116,86,179,88,84,89,110,89,255,95,164,97,110,98,16,102,126,108,26,113,198,118,137,124,222,124,27,125,172,130,193,140,240,150,83,79,76,87,9,94,140,103,251,104,252,104,27,108,83,110,198,111,135,114,90,117,15,120,40,123,166,128,185,129,97,133,82,143,250,158,34,159,38,0,136,189,60,0,60,0,42,0,91,79,23,95,127,95,194,98,170,92,83,121,49,125,116,130,0,131,205,151,244,154,251,158,38,0,149,189,60,0,60,0,42,0,41,93,11,103,218,104,124,120,67,126,108,157,11,88,48,111,5,155,38,0,68,190,60,0,60,0,42,0,21,78,153,80,21,83,42,83,81,83,131,89,98,90,135,94,178,96,138,97,73,98,121,98,144,101,135,103,167,105,212,107,214,107,215,107,216,107,184,108,53,116,250,117,18,120,145,120,213,121,216,121,131,124,203,125,225,127,165,128,62,129,194,129,242,131,26,135,232,136,185,138,108,139,187,140,25,145,94,151,219,152,59,159,243,78,254,79,85,82,46,87,228,87,163,89,65,92,179,94,177,96,208,104,17,105,152,108,221,109,224,109,222,111,201,114,210,114,222,117,249,117,101,119,85,121,230,123,21,125,134,127,83,129,152,130,190,130,6,132,214,132,141,134,148,140,20,141,97,143,179,144,235,144,159,149,116,150,15,151,180,151,17,154,27,154,192,154,25,159,38,0,72,190,60,0,60,0,42,0,172,86,42,91,108,95,140,101,179,106,175,107,92,109,241,111,21,112,93,114,173,115,167,140,211,140,59,152,16,81,239,100,201,119,125,126,207,129,11,134,115,140,160,144,76,148,38,151,112,152,2,155,34,155,38,0,89,190,60,0,60,0,42,0,145,97,55,108,88,128,1,154,176,81,237,81,244,81,9,90,38,0,172,192,60,0,60,0,42,0,77,78,139,78,155,78,213,78,58,79,60,79,127,79,223,79,255,80,242,83,248,83,6,85,227,85,219,86,235,88,98,89,17,90,235,91,250,91,4,92,243,93,43,94,153,95,29,96,104,99,156,101,175,101,246,103,251,103,173,104,123,107,153,108,215,108,35,110,9,112,69,115,2,120,62,121,64,121,96,121,193,121,233,123,23,125,114,125,134,128,13,130,142,131,209,132,199,134,223,136,80,138,94,138,29,139,220,140,102,141,173,143,170,144,252,152,223,153,157,158,158,80,90,82,120,83,139,84,210,89,66,105,173,105,92,108,231,117,182,118,226,122,37,123,55,127,33,135,151,137,219,153,102,155,202,155,36,156,38,0,173,192,60,0,60,0,42,0,74,82,20,103,202,105,13,114,180,132,96,148,38,0,176,192,60,0,60,0,42,0,152,80,42,82,113,92,99,101,85,108,202,115,35,117,157,117,151,123,156,132,120,145,48,151,119,82,205,89,127,91,117,106,120,111,152,111,251,114,86,126,21,138,223,147,138,149,255,107,38,0,180,192,60,0,60,0,42,0,119,78,146,100,186,107,94,113,169,133,38,0,188,192,60,0,60,0,42,0,9,78,73,103,238,104,23,110,159,130,24,133,107,136,221,124,228,145,22,155,38,0,189,192,60,0,60,0,42,0,247,99,129,111,18,146,175,152,69,83,60,85,67,107,227,127,100,147,5,151,14,151,38,0,193,192,60,0,60,0,42,0,10,78,183,80,207,80,31,81,70,85,170,85,23,86,64,91,25,92,224,92,56,94,138,94,160,94,194,94,243,96,81,104,97,106,88,110,61,114,64,114,192,114,248,118,101,121,177,123,212,127,243,136,244,137,115,138,97,140,222,140,28,151,125,88,156,95,76,102,164,107,30,117,215,125,159,147,89,152,58,155,38,0,200,192,60,0,60,0,42,0,94,88,189,116,253,140,19,156,38,0,201,192,60,0,60,0,42,0,199,85,97,122,34,125,114,130,237,105,199,111,18,112,38,0,221,192,60,0,60,0,42,0,114,114,31,117,37,117,25,123,26,119,78,146,38,0,28,193,60,0,60,0,42,0,133,88,251,88,188,93,143,94,182,94,144,95,85,96,146,98,127,99,77,101,145,102,217,102,248,102,22,104,242,104,128,114,94,116,110,123,110,125,214,125,114,127,229,128,18,130,175,133,127,137,147,138,29,144,228,146,205,158,32,159,108,86,127,90,223,99,149,100,81,110,168,111,19,125,33,128,167,130,79,146,38,0,29,193,60,0,60,0,42,0,21,89,109,89,45,94,220,96,20,102,115,102,144,103,80,108,197,109,95,111,243,119,169,120,198,132,203,145,43,147,112,102,253,119,74,129,3,130,37,135,80,146,43,159,38,0,32,193,60,0,60,0,42,0,217,78,202,80,72,81,132,85,11,91,163,91,71,98,126,101,203,101,50,110,125,113,1,116,68,116,135,116,191,116,108,118,170,121,218,125,85,126,168,127,122,129,179,129,57,130,26,134,236,135,117,138,227,141,120,144,145,146,37,148,77,153,174,155,161,88,217,90,31,92,32,92,115,92,3,97,90,107,175,113,69,123,171,125,84,139,113,139,199,147,56,154,83,156,123,156,38,0,36,193,60,0,60,0,42,0,104,83,81,92,84,105,196,108,41,109,43,110,12,130,155,133,59,137,45,138,170,138,234,150,103,159,112,80,159,90,242,99,172,102,7,114,159,120,39,122,50,125,38,0,44,193,60,0,60,0,42,0,97,82,185,102,178,107,150,126,254,135,13,141,131,149,93,150,69,91,184,97,123,100,82,119,107,139,155,146,241,151,38,0,45,193,60,0,60,0,42,0,29,101,137,109,238,113,193,86,254,97,68,112,118,128,161,142,119,148,115,152,38,0,49,193,60,0,60,0,42,0,206,87,211,89,172,91,39,96,250,96,16,98,31,102,95,102,41,115,249,115,219,118,1,119,108,123,86,128,114,128,101,129,160,138,146,145,70,116,2,154,38,0,56,193,60,0,60,0,42,0,22,78,226,82,114,107,23,109,5,122,57,123,48,125,176,140,40,94,18,109,80,126,251,134,38,0,140,193,60,0,60,0,42,0,236,83,47,86,81,88,181,91,15,92,17,92,226,93,64,98,131,99,20,100,45,102,179,104,188,108,136,109,175,110,31,112,164,112,210,113,38,117,143,117,142,117,25,118,17,123,224,123,43,124,32,125,57,125,44,133,109,133,7,134,52,138,13,144,97,144,181,144,183,146,246,151,55,154,75,79,207,79,114,83,201,85,253,87,80,88,44,97,78,99,20,106,221,108,113,123,190,123,69,126,219,127,134,129,88,130,248,134,8,142,101,145,4,151,72,155,185,155,58,156,38,0,141,193,60,0,60,0,42,0,215,79,108,92,95,103,145,109,159,124,140,126,22,139,22,141,31,144,44,109,108,144,38,0,144,193,60,0,60,0,42,0,107,91,253,93,13,100,192,132,92,144,225,152,231,152,241,152,38,0,148,193,60,0,60,0,42,0,135,115,163,122,192,135,38,0,161,193,60,0,60,0,42,0,139,91,154,96,126,103,222,109,31,138,166,138,1,144,12,152,215,103,230,122,6,155,38,0,196,193,60,0,60,0,42,0,55,82,81,112,142,120,150,147,226,96,236,102,99,116,38,0,224,193,60,0,60,0,42,0,112,136,215,145,38,0,24,194,60,0,60,0,42,0,238,79,215,83,253,85,218,86,130,87,253,88,194,90,136,91,171,92,192,92,37,94,1,97,13,98,75,98,136,99,28,100,54,101,120,101,57,106,138,107,52,108,25,109,49,111,231,113,233,114,120,115,7,116,178,116,38,118,97,119,192,121,87,122,234,122,185,124,143,125,172,125,97,126,158,127,41,129,49,131,144,132,218,132,234,133,150,136,176,138,144,139,56,143,66,144,131,144,108,145,150,146,185,146,139,150,167,150,168,150,214,150,0,151,8,152,150,153,211,154,26,155,223,83,46,85,203,94,108,102,179,107,197,108,178,110,201,111,95,119,98,119,141,119,95,121,84,124,58,129,132,129,184,129,142,139,78,140,114,150,188,152,72,153,38,0,25,194,60,0,60,0,42,0,212,83,126,88,25,89,112,91,191,91,209,109,90,111,159,113,33,116,185,116,133,128,253,131,246,79,15,80,53,81,76,90,90,106,76,154,235,157,38,0,28,194,60,0,60,0,42,0,225,93,135,95,170,95,66,96,236,101,18,104,111,105,83,106,137,107,53,109,243,109,227,115,254,118,172,119,77,123,20,125,35,129,28,130,64,131,244,132,99,133,98,138,196,138,135,145,30,147,6,152,180,153,154,79,229,114,249,118,52,119,3,125,171,128,232,153,10,155,137,157,38,0,32,194,60,0,60,0,42,0,12,98,83,136,240,143,101,146,73,125,38,0,45,194,60,0,60,0,42,0,7,93,39,93,105,93,216,131,38,0,108,194,60,0,60,0,42,0,5,80,236,109,32,113,38,0,172,194,60,0,60,0,42,0,95,116,157,129,104,135,113,134,38,0,181,194,60,0,60,0,42,0,213,111,254,98,210,127,54,137,114,137,116,97,160,113,176,150,38,0,185,194,60,0,60,0,42,0,30,78,88,78,231,80,221,82,71,83,127,98,7,102,105,126,5,136,94,150,77,88,25,155,38,0,220,194,60,0,60,0,42,0,141,79,25,83,54,86,203,89,164,90,56,92,78,92,77,92,2,94,17,95,67,96,189,101,47,102,66,102,190,103,244,103,28,115,226,119,58,121,197,127,148,132,205,132,150,137,102,138,105,138,225,138,85,140,122,140,114,80,85,81,174,83,123,85,82,88,221,94,178,103,249,103,140,111,230,125,228,127,223,138,240,138,73,140,195,145,73,147,75,152,38,0,221,194,60,0,60,0,42,0,244,87,212,91,15,95,111,96,237,98,13,105,150,107,92,110,132,113,210,123,85,135,88,139,254,142,223,152,254,152,176,85,179,90,59,104,38,0,224,194,60,0,60,0,42,0,56,79,129,79,225,79,123,84,32,90,184,91,60,97,176,101,104,102,252,113,51,117,94,121,51,125,78,129,227,129,152,131,170,133,206,133,3,135,10,138,171,142,155,143,197,143,194,84,122,86,223,86,250,89,91,108,231,119,36,129,16,141,35,152,234,153,38,0,228,194,60,0,60,0,42,0,49,89,164,91,230,91,137,96,203,135,203,152,38,0,236,194,60,0,60,0,42,0,233,91,11,92,195,95,129,108,241,109,11,112,26,117,175,130,246,138,163,104,111,111,214,113,90,132,20,148,79,156,38,0,237,194,60,0,60,0,42,0,192,78,65,83,187,143,38,0,13,195,60,0,60,0,217,150,38,0,40,197,60,0,60,0,15,108,38,0,68,197,60,0,60,0,42,0,158,78,196,79,82,81,94,85,37,90,232,92,17,98,89,114,189,130,170,131,254,134,89,136,29,138,63,150,197,150,19,153,9,157,93,157,43,78,230,84,63,90,64,90,233,92,180,117,17,120,12,123,211,143,15,147,94,157,38,0,69,197,60,0,60,0,42,0,10,88,179,92,189,93,68,94,225,96,21,97,225,99,2,106,37,110,2,145,84,147,78,152,16,156,119,159,83,80,126,83,162,84,148,85,105,86,109,129,60,132,168,137,228,138,154,157,118,159,38,0,72,197,60,0,60,0,42,0,137,91,184,92,9,99,79,102,72,104,60,119,193,150,141,151,84,152,159,155,73,104,180,114,11,141,8,157,38,0,76,197,60,0,60,0,42,0,161,101,1,139,203,142,188,149,14,86,30,98,224,99,117,122,16,138,79,144,30,152,54,157,38,0,84,197,60,0,60,0,42,0,53,85,169,92,214,93,181,94,151,102,76,118,244,131,199,149,125,85,149,90,83,93,123,102,100,129,74,132,237,132,243,138,55,152,163,153,239,158,38,0,85,197,60,0,60,0,42,0,211,88,188,98,206,114,40,157,38,0,89,197,60,0,60,0,42,0,240,78,46,89,15,96,59,102,131,107,231,121,38,157,108,83,113,87,241,108,206,118,133,151,38,0,96,197,60,0,60,0,42,0,147,83,192,84,195,87,22,93,27,97,214,102,175,109,141,120,126,130,152,150,68,151,254,80,9,85,64,85,111,86,45,90,21,93,40,99,113,99,56,107,4,111,67,115,154,118,90,119,185,119,209,120,25,121,134,133,249,133,73,151,3,154,38,0,97,197,60,0,60,0,42,0,132,83,124,98,150,99,178,109,10,126,75,129,77,152,93,84,57,98,36,100,40,150,38,0,117,197,60,0,60,0,42,0,251,106,76,127,175,157,26,158,182,86,200,90,67,127,234,157,38,0,124,197,60,0,60,0,42,0,95,78,59,80,182,81,28,89,249,96,246,99,48,105,58,114,54,128,206,145,220,87,38,0,125,197,60,0,60,0,42,0,49,95,4,125,229,130,111,132,187,132,229,133,141,142,26,114,180,121,219,123,101,124,112,148,47,156,184,157,160,159,38,0,145,197,60,0,60,0,42,0,111,79,228,88,67,91,89,96,218,99,24,101,109,101,152,102,74,105,35,106,11,109,1,112,108,113,210,117,13,118,179,121,112,122,138,127,68,137,147,139,192,145,125,150,10,153,137,95,62,111,60,112,202,112,98,118,59,119,24,134,48,143,114,148,186,152,100,154,38,0,180,197,60,0,60,0,42,0,4,87,161,95,188,101,1,111,0,118,166,121,158,138,173,153,90,155,108,159,9,87,84,101,228,109,235,152,38,0,181,197,60,0,60,0,42,0,4,81,182,97,145,98,141,106,198,129,118,126,38,0,184,197,60,0,60,0,42,0,67,80,48,88,102,95,9,113,0,138,250,138,191,80,61,83,227,90,158,139,34,145,52,159,57,159,38,0,188,197,60,0,60,0,42,0,124,91,22,134,236,129,38,0,196,197,60,0,60,0,42,0,250,79,60,81,180,86,68,89,169,99,249,109,38,93,127,94,238,102,104,127,131,145,185,149,38,0,197,197,60,0,60,0,42,0,170,93,109,105,171,93,52,145,38,0,208,197,60,0,60,0,42,0,90,96,192,102,38,0,212,197,60,0,60,0,134,81,38,0,236,197,60,0,60,0,42,0,136,78,89,79,130,89,95,107,93,108,181,116,22,121,7,130,69,130,57,131,63,143,93,143,24,153,1,130,38,0,237,197,60,0,60,0,42,0,166,78,223,87,121,95,19,102,171,117,121,126,111,139,6,144,91,154,167,93,204,97,226,109,190,149,38,0,240,197,60,0,60,0,42,0,165,86,39,88,248,89,31,90,180,91,246,94,80,99,59,99,61,105,135,108,191,108,142,109,147,109,245,109,20,111,223,112,54,113,89,113,195,113,213,113,79,120,111,120,117,123,227,125,47,126,77,136,223,142,91,146,246,156,87,81,230,86,207,87,63,91,129,96,190,99,227,102,222,106,55,110,217,129,154,131,53,135,21,136,140,139,240,157,38,0,244,197,60,0,60,0,42,0,133,96,133,109,177,113,177,149,78,86,38,0,252,197,60,0,60,0,42,0,173,83,211,103,142,112,48,113,48,116,118,130,210,130,187,149,229,154,125,158,137,81,105,88,213,97,74,98,191,106,182,106,78,112,105,112,197,145,92,153,88,155,246,158,38,0,253,197,60,0,60,0,42,0,196,102,193,113,73,132,197,102,128,113,23,114,104,151,38,0,1,198,60,0,60,0,42,0,75,88,184,93,113,95,32,102,142,102,121,105,174,105,56,108,243,108,54,110,65,111,218,111,27,112,47,112,80,113,223,113,112,115,91,116,212,116,200,118,78,122,147,126,241,130,96,138,206,143,72,147,25,151,143,84,52,91,48,91,103,109,244,111,109,118,164,120,8,126,17,136,15,141,226,144,250,151,38,0,8,198,60,0,60,0,42,0,66,78,42,80,8,82,225,83,243,102,109,108,202,111,10,115,127,119,98,122,174,130,221,133,2,134,212,136,99,138,125,139,107,140,179,146,19,151,16,152,200,86,219,90,253,98,156,99,152,103,105,115,104,119,150,119,68,126,243,127,197,130,74,133,75,133,137,133,139,134,58,135,226,155,214,157,145,158,38,0,36,198,60,0,60,0,42,0,148,78,13,79,201,79,178,80,72,83,62,84,51,84,218,85,98,88,186,88,103,89,27,90,228,91,159,96,202,97,86,101,255,101,100,102,167,104,90,108,179,111,207,112,172,113,82,115,125,123,8,135,164,138,50,156,7,159,245,78,227,79,20,85,247,85,65,86,44,87,170,90,239,90,228,95,96,97,66,99,89,108,185,122,113,128,35,131,86,137,55,139,195,143,213,143,104,144,202,147,214,147,169,150,65,154,47,159,38,0,37,198,60,0,60,0,42,0,75,92,131,108,68,115,137,115,58,146,38,0,40,198,60,0,60,0,42,0,171,110,101,116,31,118,105,122,21,126,10,134,188,90,77,97,55,102,51,108,133,113,128,133,64,143,158,145,222,151,66,153,46,156,38,0,44,198,60,0,60,0,42,0,64,81,226,85,131,129,38,0,57,198,60,0,60,0,42,0,197,88,193,100,238,116,21,117,112,118,193,127,149,144,205,150,84,153,129,85,241,94,195,110,85,118,186,121,75,127,202,132,221,150,82,152,38,0,64,198,60,0,60,0,42,0,38,110,230,116,169,122,170,122,229,129,217,134,120,135,27,138,199,84,238,86,80,90,153,103,60,109,39,115,138,122,53,132,76,139,38,0,68,198,60,0,60,0,42,0,73,90,140,91,155,91,161,104,0,105,99,109,169,115,19,116,44,116,151,120,233,125,235,127,24,129,85,129,158,131,76,140,46,150,17,152,19,82,184,87,167,89,143,92,232,95,203,96,180,109,204,118,38,0,72,198,60,0,60,0,240,102,38,0,85,198,60,0,60,0,42,0,128,95,250,101,137,103,106,108,139,115,43,92,7,112,236,143,38,0,92,198,60,0,60,0,42,0,45,80,3,90,106,107,238,119,167,90,38,0,120,198,60,0,60,0,42,0,22,89,108,93,205,93,37,115,79,117,78,80,52,93,84,93,40,110,104,113,168,120,200,120,117,128,151,150,38,0,148,198,60,0,60,0,42,0,229,80,249,81,47,88,45,89,150,89,218,89,229,91,162,93,215,98,22,100,147,100,254,100,220,102,72,106,255,113,100,116,136,122,175,122,71,126,94,126,0,128,112,129,239,135,129,137,32,139,89,144,128,144,82,153,96,80,147,85,115,87,157,88,8,91,122,94,173,95,188,95,128,107,134,111,69,121,126,122,133,122,88,133,118,144,194,157,38,0,149,198,60,0,60,0,42,0,126,97,50,107,116,109,31,126,37,137,177,143,189,110,208,132,38,0,169,198,60,0,60,0,42,0,209,79,173,80,151,81,199,82,199,87,137,88,185,91,184,94,66,97,149,105,140,109,103,110,182,110,148,113,98,116,40,117,44,117,115,128,56,131,201,132,10,142,148,147,222,147,155,80,130,91,113,93,117,97,131,97,230,105,103,120,2,130,249,134,52,142,38,0,176,198,60,0,60,0,42,0,142,78,81,79,118,80,42,81,200,83,203,83,243,83,135,91,211,91,36,92,26,97,130,97,244,101,91,114,151,115,64,116,194,118,80,121,145,121,185,121,6,125,189,127,139,130,213,133,94,134,194,143,71,144,245,144,234,145,133,150,232,150,233,150,143,78,180,78,193,79,74,80,1,84,35,88,78,93,189,94,69,103,163,117,241,118,253,122,38,128,48,128,35,139,61,142,93,147,128,158,140,158,114,159,38,0,177,198,60,0,60,0,42,0,214,82,103,95,237,101,49,102,47,104,92,113,54,122,193,144,10,152,224,113,38,0,180,198,60,0,60,0,42,0,145,78,82,106,158,107,144,111,137,113,24,128,184,130,83,133,75,144,149,150,242,150,251,151,242,96,132,108,212,123,28,125,35,151,245,151,38,0,184,198,60,0,60,0,42,0,26,133,49,155,144,78,38,0,197,198,60,0,60,0,42,0,138,113,196,150,38,0,208,198,60,0,60,0,42,0,67,81,159,83,225,84,19,87,18,87,163,87,155,90,196,90,195,91,40,96,63,97,244,99,133,108,57,109,114,110,144,110,48,114,63,115,87,116,209,130,129,136,69,143,96,144,98,150,88,152,27,157,164,81,28,87,108,103,101,105,40,115,169,125,171,130,151,133,63,135,28,139,250,146,53,154,119,157,255,158,38,0,212,198,60,0,60,0,42,0,8,103,138,141,94,146,22,82,164,124,38,0,4,199,60,0,60,0,42,0,77,79,73,80,222,80,113,83,13,87,212,89,1,90,9,92,112,97,144,102,45,110,50,114,75,116,239,125,195,128,14,132,102,132,63,133,95,135,91,136,24,137,2,139,85,144,203,151,79,155,159,85,67,94,82,113,168,113,255,117,115,132,94,136,201,138,54,144,200,149,217,151,225,151,39,153,170,154,38,0,32,199,60,0,60,0,42,0,115,78,145,79,18,81,106,81,47,85,169,85,122,91,165,91,124,94,125,94,190,94,160,96,223,96,8,97,9,97,196,99,56,101,9,103,212,103,218,103,97,105,98,105,185,108,39,109,56,110,225,111,54,115,55,115,92,116,49,117,82,118,173,125,254,129,56,132,213,136,152,138,219,138,237,138,48,142,66,142,74,144,62,144,122,144,73,145,201,145,110,147,152,81,102,84,255,86,221,88,55,94,201,99,191,101,209,108,86,114,9,118,16,118,172,122,179,122,114,124,197,124,204,125,116,129,160,131,85,133,100,133,176,134,180,134,100,135,21,137,137,139,12,144,163,151,170,155,221,158,44,159,165,159,38,0,33,199,60,0,60,0,42,0,9,88,211,107,137,128,178,128,37,81,38,0,36,199,60,0,60,0,42,0,65,81,107,89,57,92,100,111,167,115,228,128,7,141,23,146,143,149,0,102,198,146,38,0,40,199,60,0,60,0,42,0,127,128,79,111,222,119,38,0,53,199,60,0,60,0,42,0,14,98,28,112,104,125,141,135,232,114,38,0,64,199,60,0,60,0,42,0,160,87,105,96,71,97,183,107,190,138,128,146,177,150,44,84,154,86,1,87,189,87,150,97,188,106,181,110,250,114,226,115,110,118,20,138,30,145,87,159,38,0,68,199,60,0,60,0,42,0,89,78,230,156,38,0,76,199,60,0,60,0,42,0,31,84,235,109,45,133,112,150,243,151,238,152,145,85,31,93,213,94,20,97,42,151,38,0,77,199,60,0,60,0,42,0,214,99,227,108,145,144,146,96,57,99,101,109,38,0,81,199,60,0,60,0,42,0,221,81,201,97,186,129,249,157,38,0,88,199,60,0,60,0,42,0,157,79,26,80,0,81,156,91,15,97,255,97,236,100,5,105,197,107,145,117,227,119,169,127,100,130,143,133,251,135,99,136,188,138,112,139,171,145,23,81,210,81,147,82,183,93,57,107,42,111,23,115,18,121,152,135,80,153,38,0,116,199,60,0,60,0,42,0,140,78,229,78,10,79,55,89,232,89,242,93,27,95,91,95,33,96,62,114,229,115,112,117,205,117,251,121,12,128,51,128,132,128,225,130,81,131,189,140,179,140,135,144,244,152,12,153,191,84,104,87,20,92,93,95,46,104,31,109,198,115,17,138,81,138,228,143,182,150,38,0,117,199,60,0,60,0,42,0,55,112,202,118,202,127,204,127,252,127,26,139,11,95,164,113,193,157,38,0,120,199,60,0,60,0,42,0,186,78,193,78,3,82,112,83,189,84,224,86,251,89,197,91,21,95,205,95,110,110,106,125,53,131,147,134,141,138,109,151,119,151,222,78,25,88,36,89,99,90,104,98,36,108,7,109,139,121,126,124,162,130,192,136,38,0,124,199,60,0,60,0,42,0,0,78,90,79,126,79,249,88,229,101,162,110,56,144,176,147,185,153,198,108,252,142,38,0,132,199,60,0,60,0,42,0,251,78,236,88,138,89,217,89,65,96,20,122,79,131,195,140,77,125,125,136,139,146,234,152,38,0,133,199,60,0,60,0,42,0,101,81,68,83,255,94,38,0,137,199,60,0,60,0,42,0,205,78,105,82,85,91,191,130,181,90,38,0,144,199,60,0,60,0,42,0,212,78,58,82,168,84,201,89,255,89,80,91,87,91,92,91,99,96,72,97,203,110,153,112,110,113,134,115,247,116,181,117,193,120,43,125,5,128,234,129,40,131,23,133,201,133,238,138,199,140,204,150,112,84,40,91,86,91,118,91,216,103,218,108,120,114,37,119,38,119,162,124,20,128,254,128,8,131,50,131,191,131,120,134,220,137,62,138,178,140,109,141,161,147,63,152,237,154,147,155,191,157,211,157,38,0,145,199,60,0,60,0,42,0,92,79,250,82,188,86,171,101,40,102,124,112,184,112,53,114,189,125,141,130,76,145,192,150,114,157,157,92,13,96,177,101,222,103,75,108,47,113,179,114,143,120,38,0,148,199,60,0,60,0,42,0,113,91,231,104,152,107,122,111,222,118,87,82,20,98,79,154,38,0,160,199,60,0,60,0,42,0,145,92,171,102,91,111,180,123,42,124,54,136,148,109,92,111,243,111,38,0,161,199,60,0,60,0,42,0,220,150,97,83,195,86,40,119,252,120,77,137,38,0,165,199,60,0,60,0,42,0,8,78,215,78,32,83,52,88,187,88,239,88,108,89,7,92,51,94,132,94,53,95,140,99,178,102,86,103,31,106,163,106,12,107,63,111,70,114,80,115,139,116,224,122,167,124,120,129,223,129,231,129,138,131,108,132,35,133,148,133,207,133,221,136,19,141,172,145,119,149,156,150,189,80,88,89,157,89,25,91,130,93,231,94,21,98,51,111,66,114,52,118,218,124,152,127,7,132,197,136,236,140,35,145,216,147,38,153,158,158,38,0,172,199,60,0,60,0,42,0,141,81,201,84,40,87,176,91,77,98,80,103,61,104,147,104,61,110,211,110,125,112,33,126,193,136,161,140,9,143,75,159,78,159,8,89,61,93,87,98,159,105,126,112,148,126,38,0,193,199,60,0,60,0,42,0,45,114,143,123,205,138,26,147,34,93,25,115,36,116,151,147,38,0,0,200,60,0,60,0,42,0,71,79,78,79,50,81,128,84,208,89,149,94,181,98,117,103,110,105,23,106,174,108,26,110,217,114,42,115,189,117,184,123,53,125,231,130,249,131,87,132,247,133,91,138,175,140,135,142,25,144,184,144,206,150,95,159,129,91,168,92,124,103,226,103,16,108,116,111,38,112,116,114,93,127,157,127,244,130,198,134,155,136,26,137,221,137,70,138,108,140,124,150,38,0,1,200,60,0,60,0,42,0,227,82,10,84,225,90,194,91,88,100,117,101,244,110,196,114,132,118,77,122,27,123,77,124,62,126,223,127,123,131,43,139,202,140,100,141,225,141,95,142,234,143,249,143,105,144,209,147,0,106,231,120,244,124,194,131,191,137,22,144,176,153,38,0,4,200,60,0,60,0,42,0,67,79,122,79,179,80,104,81,120,81,77,82,106,82,97,88,124,88,96,89,8,92,85,92,219,94,155,96,48,98,19,104,191,107,8,108,177,111,78,113,32,116,48,117,56,117,81,117,114,118,76,123,139,123,173,123,198,123,143,126,110,138,62,143,73,143,63,146,147,146,34,147,43,148,251,150,90,152,107,152,30,153,46,84,192,86,229,90,71,92,211,93,41,98,195,99,195,101,52,104,199,105,84,110,182,111,75,114,113,116,14,117,75,117,96,117,202,117,92,118,218,120,91,124,182,127,230,127,70,129,158,129,67,131,148,142,7,143,133,144,61,145,209,146,42,147,91,151,102,151,83,152,230,152,48,153,11,155,99,156,7,158,38,0,8,200,60,0,60,0,42,0,7,82,42,98,152,98,89,109,100,118,202,122,192,123,118,125,138,92,98,102,131,122,38,0,16,200,60,0,60,0,42,0,96,83,190,92,151,94,56,111,185,112,152,124,17,151,142,155,222,158,84,79,138,88,183,115,24,123,31,124,235,130,42,133,197,134,152,137,173,152,207,158,38,0,17,200,60,0,60,0,42,0,165,99,122,100,118,135,4,105,106,105,40,135,213,141,64,142,8,156,38,0,21,200,60,0,60,0,42,0,1,78,149,78,173,78,92,80,117,80,72,84,195,89,154,91,64,94,173,94,247,94,129,95,197,96,58,99,63,101,116,101,204,101,118,102,120,102,254,103,104,105,137,106,99,107,64,108,192,109,232,109,31,110,94,110,30,112,161,112,142,115,253,115,58,117,91,119,135,120,142,121,11,122,125,122,190,124,142,125,71,130,2,138,234,138,158,140,45,145,74,145,216,145,102,146,204,146,32,147,6,151,86,151,92,151,2,152,14,159,66,79,238,83,103,90,119,90,20,96,159,99,111,104,131,104,214,104,111,112,245,115,148,117,115,123,155,131,60,138,73,144,114,145,229,146,90,151,38,0,28,200,60,0,60,0,42,0,54,82,145,82,124,85,36,88,29,94,31,95,140,96,208,99,175,104,223,111,109,121,44,123,205,129,186,133,253,136,248,138,68,142,141,145,100,150,155,150,61,151,76,152,74,159,21,81,35,90,224,100,24,115,69,116,71,119,148,121,10,122,249,125,54,142,79,142,139,142,87,147,132,150,242,151,167,155,247,155,38,0,112,200,60,0,60,0,42,0,206,79,70,81,203,81,169,82,50,86,20,95,107,95,170,99,205,100,233,101,65,102,250,102,249,102,29,103,157,104,215,104,253,105,21,111,110,111,103,113,229,113,42,114,170,116,58,119,86,121,90,121,223,121,32,122,149,122,151,124,223,124,68,125,112,126,135,128,251,133,164,134,84,138,191,138,153,141,129,142,32,144,109,144,227,145,59,150,213,150,229,156,123,79,174,80,1,82,157,83,8,86,106,86,37,91,130,95,198,97,126,98,130,107,161,111,49,116,129,118,103,121,200,122,10,123,217,124,246,124,105,125,91,125,217,128,202,129,90,130,38,133,41,135,130,138,95,139,31,146,154,146,253,146,219,155,112,157,2,159,38,0,113,200,60,0,60,0,42,0,207,101,7,124,179,141,195,147,47,118,38,0,116,200,60,0,60,0,42,0,88,91,10,92,245,98,38,0,120,200,60,0,60,0,42,0,82,83,217,98,29,115,38,0,133,200,60,0,60,0,42,0,39,80,151,91,158,95,176,96,107,97,213,104,217,109,46,116,46,122,66,125,156,125,49,126,107,129,42,142,53,142,126,147,24,148,0,79,82,97,202,103,54,105,5,106,125,116,7,118,189,124,189,135,100,142,38,0,140,200,60,0,60,0,42,0,80,79,80,87,230,93,167,94,43,99,73,82,228,117,157,131,253,154,38,0,196,200,60,0,60,0,106,127,38,0,252,200,60,0,60,0,42,0,59,78,79,79,143,79,90,80,221,89,196,128,106,84,104,84,254,85,79,89,153,91,222,93,218,94,93,102,49,103,241,103,42,104,232,108,50,109,74,110,141,111,183,112,224,115,135,117,76,124,2,125,44,125,162,125,31,130,219,134,59,138,133,138,112,141,138,142,51,143,49,144,78,145,82,145,68,148,208,153,31,78,156,79,20,81,12,92,108,94,196,98,67,120,82,124,152,128,96,129,31,133,192,134,239,136,75,138,217,140,142,141,8,143,82,144,82,146,12,151,20,151,4,159,38,0,253,200,60,0,60,0,42,0,249,122,165,124,38,0,0,201,60,0,60,0,42,0,202,79,1,81,198,81,200,87,239,91,251,92,89,102,61,106,90,109,150,110,236,111,12,113,111,117,227,122,34,136,33,144,117,144,203,150,255,153,66,86,251,87,171,88,247,96,153,100,180,118,167,125,71,127,6,142,114,142,15,148,188,150,21,153,82,156,84,157,38,0,4,201,60,0,60,0,42,0,1,131,124,78,38,0,17,201,60,0,60,0,42,0,45,78,242,78,70,136,205,145,62,119,38,0,137,201,60,0,60,0,42,0,125,83,115,83,158,85,38,0,144,201,60,0,60,0,42,0,219,106,45,154,38,0,153,201,60,0,60,0,42,0,107,105,65,108,122,132,157,106,122,133,38,0,157,201,60,0,60,0,42,0,158,88,142,97,254,102,239,98,221,112,17,117,199,117,82,126,184,132,73,139,8,141,146,93,240,119,126,127,38,0,192,201,60,0,60,0,42,0,75,78,234,83,171,84,48,87,64,87,215,95,1,99,7,99,111,100,47,101,232,101,122,102,157,103,179,103,98,107,96,108,154,108,44,111,229,119,37,120,73,121,87,121,25,125,162,128,2,129,243,129,157,130,183,130,24,135,140,138,4,141,190,141,114,144,123,87,128,88,122,98,176,105,220,108,227,117,234,121,234,123,16,130,31,142,147,142,249,142,47,150,168,155,217,157,38,0,193,201,60,0,60,0,42,0,244,118,25,122,55,122,84,126,119,128,157,121,38,0,196,201,60,0,60,0,42,0,7,85,212,85,117,88,47,99,34,100,73,102,75,102,109,104,155,105,132,107,37,109,177,110,205,115,104,116,161,116,91,117,185,117,225,118,30,119,139,119,230,121,9,126,29,126,251,129,47,133,151,136,58,138,209,140,235,142,176,143,50,144,173,147,99,150,115,150,7,151,178,79,24,81,210,115,57,122,193,132,180,135,129,141,65,146,18,155,38,0,200,201,60,0,60,0,42,0,132,79,241,83,234,89,201,90,25,94,78,104,198,116,190,117,233,121,146,122,163,129,237,134,234,140,204,141,237,143,164,87,112,125,186,132,197,144,85,148,38,0,208,201,60,0,60,0,42,0,159,101,21,103,6,157,38,0,209,201,60,0,60,0,42,0,247,87,87,111,221,125,47,143,246,147,198,150,160,84,34,98,38,0,213,201,60,0,60,0,42,0,181,95,242,97,132,111,130,111,19,112,101,118,170,119,38,0,40,204,60,0,60,0,42,0,20,78,152,79,31,80,201,83,223,85,111,93,238,93,33,107,100,107,203,120,154,123,73,142,202,142,110,144,125,79,86,80,83,89,148,92,163,95,206,105,115,116,104,120,38,0,41,204,60,0,60,0,42,0,73,99,62,100,64,119,132,122,47,147,127,148,106,159,51,98,201,100,178,101,38,0,44,204,60,0,60,0,42,0,176,100,175,111,230,113,168,116,218,116,196,122,18,124,130,126,178,124,152,126,154,139,10,141,125,148,16,153,76,153,39,81,57,81,151,82,209,93,34,101,17,107,40,114,178,141,38,0,48,204,60,0,60,0,42,0,57,82,223,91,230,100,45,103,46,125,78,98,246,98,38,0,56,204,60,0,60,0,42,0,237,80,195,83,121,88,88,97,89,97,250,97,172,101,217,122,146,139,150,139,51,81,197,83,132,93,201,93,90,97,175,97,25,101,231,105,3,107,218,107,86,139,232,147,113,148,94,153,66,154,242,158,38,0,61,204,60,0,60,0,42,0,9,80,33,80,117,82,49,85,60,90,224,94,112,95,52,97,94,101,12,102,54,102,162,102,205,105,196,110,50,111,22,115,33,118,147,122,57,129,89,130,214,131,188,132,0,80,150,80,212,81,49,82,181,96,221,96,39,98,54,100,25,105,5,108,114,116,151,122,187,122,76,142,249,146,6,147,182,149,47,155,172,157,38,0,68,204,60,0,60,0,42,0,181,80,240,87,192,91,232,91,105,95,161,99,38,120,181,125,220,131,33,133,199,145,245,145,204,104,29,131,38,0,69,204,60,0,60,0,42,0,138,81,245,103,86,123,172,140,22,86,88,94,212,120,39,123,0,124,177,134,38,0,152,204,60,0,60,0,42,0,196,81,187,89,189,96,85,134,210,109,11,132,4,137,183,137,234,144,38,0,153,204,60,0,60,0,42,0,28,80,84,82,58,92,125,97,26,98,211,98,242,100,165,101,204,110,32,118,10,129,96,142,95,150,187,150,78,84,103,87,73,88,213,96,87,99,109,100,52,135,214,141,145,142,38,0,156,204,60,0,60,0,42,0,223,78,67,83,152,85,41,89,221,93,197,100,201,108,250,109,148,115,127,122,27,130,166,133,228,140,16,142,119,144,231,145,225,149,33,150,198,151,244,79,41,80,226,80,3,81,10,109,250,111,233,116,70,121,129,124,246,129,138,130,28,131,80,131,168,132,70,133,149,134,191,143,93,151,38,0,160,204,60,0,60,0,42,0,248,81,242,84,134,85,185,95,164,100,136,111,180,125,31,143,77,143,53,148,95,82,92,85,209,87,217,96,135,99,96,107,149,146,35,147,251,152,46,153,38,0,168,204,60,0,60,0,42,0,201,80,22,92,190,108,251,109,27,117,187,119,61,124,100,124,121,138,194,138,104,94,221,95,201,96,144,106,252,106,56,112,55,124,92,137,38,0,169,204,60,0,60,0,42,0,30,88,190,89,22,94,119,99,82,114,138,117,107,119,220,138,188,140,18,143,34,80,107,84,139,85,23,96,58,137,38,0,173,204,60,0,60,0,42,0,243,94,116,102,248,109,125,128,193,131,203,138,81,151,214,155,202,81,10,87,59,135,132,157,38,0,180,204,60,0,60,0,42,0,67,82,255,102,149,109,239,110,224,125,230,138,46,144,94,144,212,154,143,86,88,95,227,104,162,107,12,120,130,132,21,133,94,133,198,142,70,151,240,154,38,0,8,205,60,0,60,0,42,0,29,82,127,82,232,84,148,97,132,98,219,98,162,104,18,105,90,105,53,106,146,112,38,113,93,120,1,121,14,121,210,121,13,122,150,128,120,130,213,130,73,131,73,133,130,140,133,141,98,145,139,145,174,145,98,80,236,80,173,82,230,82,77,86,246,90,167,92,237,92,149,93,10,96,132,96,0,97,106,103,203,113,131,125,22,128,154,138,89,139,160,141,250,142,226,143,20,146,107,147,108,147,152,151,102,152,235,154,230,157,96,159,38,0,9,205,60,0,60,0,42,0,195,79,209,86,237,113,215,119,0,135,248,137,239,102,37,114,218,119,165,133,133,142,209,154,38,0,12,205,60,0,60,0,42,0,248,91,214,95,81,103,168,144,11,84,38,0,29,205,60,0,60,0,42,0,226,83,90,88,245,91,164,96,129,97,96,100,61,126,112,128,37,133,131,146,113,132,239,132,230,147,24,154,68,154,38,0,44,205,60,0,60,0,174,100,38,0,92,205,60,0,60,0,42,0,172,80,20,93,0,103,44,86,103,100,177,105,60,111,128,116,234,120,23,126,39,129,38,0,148,205,60,0,60,0,42,0,156,88,189,98,168,99,14,105,120,105,30,106,107,110,186,118,203,121,187,130,41,132,207,138,168,141,253,143,18,145,75,145,156,145,16,147,24,147,154,147,219,150,54,154,13,156,230,80,126,85,53,90,26,94,198,96,118,99,235,99,37,100,3,117,51,118,157,159,146,123,160,123,9,124,11,126,16,126,173,132,108,150,185,150,166,151,5,154,75,155,12,156,123,157,150,157,181,157,132,158,164,158,38,0,149,205,60,0,60,0,42,0,17,78,92,117,93,121,250,122,81,123,201,123,46,126,196,132,89,142,116,142,248,142,16,144,175,89,51,130,86,140,92,142,0,159,38,0,152,205,60,0,60,0,42,0,37,102,63,105,67,116,38,0,156,205,60,0,60,0,42,0,250,81,46,103,220,158,235,121,38,0,169,205,60,0,60,0,42,0,69,81,224,95,150,108,242,135,93,136,119,136,178,81,225,95,235,115,38,0,204,205,60,0,60,0,42,0,180,96,181,129,3,132,5,141,244,96,227,99,169,117,1,118,71,152,38,0,232,205,60,0,60,0,42,0,214,83,57,84,52,86,54,90,49,92,138,112,224,127,90,128,6,129,237,129,163,141,137,145,95,154,242,157,163,81,71,106,243,107,38,0,33,206,60,0,60,0,42,0,116,80,196,78,160,83,251,96,44,110,193,94,3,102,38,0,53,206,60,0,60,0,100,92,38,0,88,206,60,0,60,0,42,0,136,79,36,80,228,85,217,92,95,94,101,96,148,104,187,108,196,109,190,113,212,117,244,117,97,118,26,122,73,122,199,125,251,125,110,127,244,129,169,134,28,143,201,150,179,153,82,159,110,83,198,84,216,91,245,93,100,117,211,117,122,125,209,131,153,133,43,137,120,140,241,141,25,147,36,150,212,155,25,157,31,157,68,157,38,0,89,206,60,0,60,0,42,0,71,82,197,82,237,152,85,101,38,0,92,206,60,0,60,0,42,0,170,137,236,106,253,133,111,137,84,159,38,0,96,206,60,0,60,0,42,0,3,78,210,103,6,111,38,0,104,206,60,0,60,0,42,0,181,79,226,91,149,103,136,108,120,109,27,116,39,120,221,145,124,147,214,91,241,95,57,105,137,108,244,144,223,146,248,153,38,0,105,206,60,0,60,0,196,135,38,0,109,206,60,0,60,0,42,0,228,121,49,122,38,0,140,207,60,0,60,0,42,0,235,95,114,86,44,89,38,0,192,208,60,0,60,0,42,0,214,78,164,84,62,85,174,88,165,89,240,96,83,98,214,98,54,103,85,105,53,130,64,150,177,153,221,153,87,79,158,87,213,98,193,103,98,106,177,108,107,138,206,141,177,142,222,153,128,155,21,157,9,159,38,0,193,208,60,0,60,0,42,0,44,80,83,83,68,85,124,87,88,98,226,100,107,102,221,103,193,111,239,111,34,116,56,116,23,138,56,148,198,98,80,106,176,108,191,109,250,119,92,124,0,134,20,142,52,144,38,0,196,208,60,0,60,0,42,0,81,84,6,86,102,87,72,95,154,97,78,107,88,112,173,112,187,125,149,138,187,97,36,101,171,107,113,118,82,154,38,0,200,208,60,0,60,0,42,0,106,89,43,129,187,79,38,0,208,208,60,0,60,0,42,0,162,99,8,119,61,128,170,140,255,85,208,95,86,145,38,0,209,208,60,0,60,0,42,0,84,88,45,100,187,105,157,80,76,88,40,100,38,0,213,208,60,0,60,0,42,0,149,91,17,94,111,110,105,133,217,113,234,118,173,120,47,134,38,0,220,208,60,0,60,0,42,0,76,81,240,83,42,89,32,96,75,97,134,107,112,108,240,108,30,123,206,128,212,130,198,141,176,144,177,152,237,87,39,90,97,91,172,98,232,143,196,153,216,153,38,0,221,208,60,0,60,0,42,0,199,100,164,111,38,0,241,208,60,0,60,0,42,0,145,100,144,100,90,114,38,0,48,209,60,0,60,0,4,101,38,0,160,209,60,0,60,0,42,0,78,81,16,84,31,87,14,138,38,0,164,209,60,0,60,0,42,0,75,86,120,86,242,116,38,0,181,209,60,0,60,0,42,0,95,97,118,104,219,117,82,123,113,125,26,144,107,96,11,106,105,123,38,0,244,209,60,0,60,0,42,0,6,88,204,105,127,129,42,137,0,144,57,152,164,150,38,0,44,210,60,0,60,0,42,0,120,80,87,89,172,89,149,98,15,144,42,155,146,89,29,110,176,154,38,0,65,210,60,0,60,0,95,79,38,0,185,210,60,0,60,0,42,0,93,97,121,114,210,95,38,0,200,210,60,0,60,0,214,149,38,0,12,211,60,0,60,0,42,0,97,87,70,90,244,93,138,98,173,100,250,100,119,103,226,108,62,109,44,114,54,116,52,120,119,127,173,130,219,141,23,152,245,83,145,89,165,92,21,96,94,112,56,114,187,115,164,118,6,123,56,124,25,128,224,131,105,132,49,145,38,0,16,211,60,0,60,0,42,0,36,82,66,87,127,103,72,114,227,116,169,140,166,143,17,146,42,150,116,108,38,0,20,211,60,0,60,0,42,0,107,81,237,83,76,99,51,103,67,108,38,0,40,211,60,0,60,0,42,0,105,79,4,85,150,96,87,101,155,108,127,109,76,114,253,114,23,122,135,137,157,140,91,91,198,101,238,115,8,151,56,151,38,0,61,211,60,0,60,0,42,0,109,95,142,111,249,112,168,129,48,120,74,121,218,135,219,135,38,0,69,211,60,0,60,0,14,97,38,0,184,211,60,0,60,0,42,0,191,79,79,80,65,98,71,114,199,123,232,125,233,127,77,144,173,151,25,154,62,83,167,95,252,96,246,125,81,130,57,132,89,135,10,137,222,138,38,0,196,211,60,0,60,0,42,0,182,140,45,120,134,122,38,0,201,211,60,0,60,0,42,0,106,87,115,94,176,103,13,132,85,138,38,96,168,98,217,108,249,130,241,132,131,155,38,0,208,211,60,0,60,0,42,0,32,84,22,91,99,94,226,94,10,95,131,101,186,128,61,133,137,149,91,150,93,101,244,114,88,115,72,118,38,0,236,211,60,0,60,0,42,0,72,79,5,83,13,83,15,83,134,84,250,84,3,87,3,94,22,96,155,98,177,98,85,99,225,108,102,109,177,117,50,120,222,128,47,129,222,130,97,132,178,132,141,136,18,137,11,144,234,146,253,152,145,155,36,81,150,94,97,102,211,102,174,112,176,112,22,130,167,138,75,146,132,151,20,153,198,155,38,0,237,211,60,0,60,0,42,0,69,94,180,102,221,102,17,112,6,114,38,0,92,212,60,0,60,0,42,0,245,79,125,82,106,95,83,97,83,103,25,106,2,111,226,116,104,121,104,136,121,140,199,152,196,152,67,154,196,80,225,82,12,86,214,90,125,100,141,107,155,113,57,126,241,136,226,147,99,148,223,154,62,156,38,0,136,212,60,0,60,0,42,0,193,84,31,122,128,121,38,0,141,212,60,0,60,0,42,0,83,105,247,138,74,140,168,152,174,153,11,118,81,132,38,0,60,213,60,0,60,0,42,0,124,95,171,98,178,117,174,118,171,136,127,144,66,150,86,138,159,143,129,151,242,154,38,0,61,213,60,0,60,0,119,129,38,0,68,213,60,0,60,0,42,0,57,83,60,95,197,95,204,108,204,115,98,117,139,117,70,123,254,130,157,153,86,79,135,84,237,110,243,123,124,127,253,132,241,137,85,142,184,151,224,151,220,153,111,157,38,0,77,213,60,0,60,0,42,0,79,78,60,144,106,80,38,0,88,213,60,0,60,0,42,0,11,78,85,79,166,83,15,89,200,94,48,102,179,108,85,116,119,131,102,135,192,140,80,144,30,151,21,156,64,84,135,86,136,92,215,97,70,113,21,118,69,127,92,147,38,0,89,213,60,0,60,0,42,0,209,88,120,91,80,134,20,139,180,157,226,114,39,118,172,118,110,120,221,144,253,157,38,0,92,213,60,0,60,0,42,0,210,91,104,96,141,96,241,101,87,108,34,111,163,111,26,112,85,127,240,127,145,149,146,149,80,150,211,151,233,80,250,90,251,90,77,99,181,102,136,149,251,153,243,157,62,159,38,0,96,213,60,0,60,0,42,0,114,82,68,143,142,119,38,0,104,213,60,0,60,0,42,0,253,81,43,84,184,84,99,85,138,85,187,106,181,109,216,125,102,130,156,146,119,150,121,158,159,131,225,131,244,138,94,143,222,149,38,0,105,213,60,0,60,0,42,0,8,84,200,84,210,118,228,134,164,149,212,149,92,150,12,83,209,85,217,103,188,105,152,110,205,118,195,144,38,0,109,213,60,0,60,0,42,0,162,78,9,79,238,89,230,90,247,93,82,96,151,98,109,103,65,104,134,108,47,110,56,127,155,128,42,130,5,152,47,89,70,96,149,112,63,127,15,152,38,0,116,213,60,0,60,0,42,0,165,78,85,80,179,84,147,87,90,89,105,91,179,91,200,97,119,105,119,109,35,112,249,135,227,137,114,138,231,138,130,144,237,153,184,154,141,84,176,93,232,94,44,107,108,115,78,116,206,117,164,133,162,145,38,152,173,155,38,0,117,213,60,0,60,0,42,0,190,82,56,104,238,127,136,137,38,0,137,213,60,0,60,0,42,0,22,80,120,94,79,103,71,131,76,136,187,96,38,0,165,213,60,0,60,0,42,0,171,78,17,84,174,86,230,115,21,145,255,151,9,153,87,153,153,153,140,133,38,0,200,213,60,0,60,0,42,0,83,86,159,88,91,134,49,138,84,107,38,0,204,213,60,0,60,0,42,0,178,97,246,106,123,115,210,142,218,93,112,94,7,101,38,0,208,213,60,0,60,0,71,107,38,0,216,213,60,0,60,0,42,0,170,150,87,154,174,93,107,115,129,115,38,0,1,214,60,0,60,0,42,0,85,89,0,114,107,141,105,151,8,95,43,109,49,113,41,155,38,0,4,214,60,0,60,0,42,0,212,79,244,92,38,95,248,97,91,102,235,108,171,112,132,115,185,115,254,115,41,119,77,119,67,125,98,125,35,126,55,130,82,136,226,140,73,146,111,152,7,81,27,91,33,102,4,116,195,117,12,119,111,126,254,127,6,135,162,138,215,146,253,153,38,0,8,214,60,0,60,0,42,0,81,91,116,122,64,136,1,152,92,125,144,141,38,0,16,214,60,0,60,0,204,90,38,0,17,214,60,0,60,0,42,0,224,79,84,83,62,89,253,92,62,99,121,109,249,114,5,129,7,129,162,131,207,146,48,152,39,83,246,83,201,87,74,96,143,96,28,97,203,123,38,0,21,214,60,0,60,0,42,0,168,78,68,81,17,82,139,87,98,95,194,108,206,110,5,112,80,112,175,112,146,113,233,115,105,116,74,131,162,135,97,136,8,144,162,144,163,147,168,153,16,89,25,90,87,138,229,143,88,150,38,0,28,214,60,0,60,0,42,0,110,81,87,95,224,96,103,97,179,102,89,133,74,142,175,145,139,151,146,80,18,86,237,91,175,95,229,105,251,118,17,139,127,139,38,0,56,214,60,0,60,0,42,0,78,78,146,78,124,84,213,88,250,88,125,89,181,92,39,95,54,98,72,98,10,102,103,102,235,107,105,109,207,109,86,110,248,110,148,111,224,111,233,111,93,112,208,114,37,116,90,116,224,116,147,118,92,121,202,124,30,126,225,128,166,130,107,132,191,132,78,134,95,134,116,135,119,139,106,140,172,147,0,152,101,152,43,81,177,81,55,86,237,90,238,90,25,96,141,108,200,110,236,110,146,114,34,115,156,118,158,118,142,123,85,128,144,145,44,153,13,155,38,0,57,214,60,0,60,0,42,0,209,96,22,98,119,145,38,0,60,214,60,0,60,0,42,0,90,90,15,102,247,109,62,110,63,116,66,155,2,87,219,96,183,110,28,113,189,149,38,0,64,214,60,0,60,0,42,0,253,95,218,96,15,123,235,86,38,0,77,214,60,0,60,0,42,0,196,84,24,95,94,108,211,108,42,109,216,112,5,125,121,134,12,138,59,157,78,102,146,111,202,123,119,146,40,155,38,0,84,214,60,0,60,0,42,0,22,83,140,84,5,91,58,106,107,112,117,117,141,121,190,121,177,130,239,131,113,138,65,139,168,140,116,151,240,79,41,86,114,90,237,100,107,117,74,154,162,159,38,0,85,214,60,0,60,0,42,0,244,100,43,101,186,120,187,120,107,122,205,119,225,119,45,121,74,148,38,0,88,214,60,0,60,0,42,0,56,78,154,85,80,89,166,91,123,94,163,96,219,99,97,107,101,102,83,104,25,110,101,113,176,116,8,125,132,144,105,154,37,156,240,91,253,97,208,100,219,116,150,118,70,119,89,125,98,140,88,143,112,147,54,148,31,155,38,0,92,214,60,0,60,0,42,0,59,109,209,110,62,115,65,140,202,149,222,134,38,0,105,214,60,0,60,0,42,0,240,81,76,94,168,95,77,96,246,96,48,97,76,97,67,102,68,102,165,105,193,108,95,110,201,110,98,111,76,113,156,116,135,118,193,123,39,124,82,131,87,135,81,144,141,150,195,158,164,85,147,90,51,96,93,116,147,128,186,140,164,147,38,0,140,214,60,0,60,0,42,0,47,83,222,86,251,94,138,95,98,96,148,96,247,97,102,102,3,103,156,106,238,109,174,111,112,112,106,115,106,126,190,129,52,131,212,134,168,138,196,140,106,79,3,104,4,109,217,110,212,118,124,138,244,143,46,152,96,156,38,0,141,214,60,0,60,0,42,0,131,82,114,115,132,86,38,0,161,214,60,0,60,0,42,0,150,91,107,106,4,148,139,111,28,146,204,158,38,0,168,214,60,0,60,0,42,0,238,84,134,86,93,91,72,101,133,101,201,102,159,104,141,109,198,109,59,114,180,128,117,145,77,154,154,80,194,86,36,93,189,107,135,113,155,118,83,134,26,153,38,0,196,214,60,0,60,0,42,0,175,79,25,80,154,83,14,84,60,84,137,85,197,85,63,94,140,95,61,103,102,113,221,115,5,144,61,84,163,85,149,87,32,88,184,109,52,115,204,123,97,138,67,139,87,145,49,153,38,0,200,214,60,0,60,0,42,0,219,82,243,82,100,88,206,88,4,113,143,113,251,113,176,133,19,138,136,102,219,102,11,114,111,115,129,126,119,132,66,148,38,0,204,214,60,0,60,0,59,107,38,0,217,214,60,0,60,0,168,133,38,0,228,214,60,0,60,0,42,0,167,85,132,102,74,113,49,132,220,112,224,138,252,138,38,0,252,214,60,0,60,0,42,0,73,83,153,85,193,107,236,113,148,130,107,134,122,134,38,0,24,215,60,0,60,0,42,0,89,95,189,95,238,99,137,102,71,113,241,138,29,143,190,158,157,100,236,127,38,0,52,215,60,0,60,0,42,0,17,79,58,100,203,112,102,117,103,134,187,84,213,100,179,150,249,154,66,157,38,0,60,215,60,0,60,0,42,0,100,96,78,139,248,157,121,83,38,0,73,215,60,0,60,0,42,0,71,81,246,81,8,83,54,109,248,128,95,96,247,128,38,0,81,215,60,0,60,0,209,158,38,0,84,215,60,0,60,0,42,0,21,102,35,107,152,112,213,117,136,95,251,95,128,99,46,113,34,138,193,145,38,0,88,215,60,0,60,0,42,0,3,84,121,92,7,125,22,138,225,78,84,108,153,117,196,143,85,159,38,0,96,215,60,0,60,0,42,0,32,107,61,107,70,107,222,94,38,0,97,215,60,0,60,0,42,0,56,84,112,96,61,109,213,127,79,86,89,107,93,111,214,127,38,0,101,215,60,0,60,0,8,130,38,0,108,215,60,0,60,0,42,0,214,80,222,81,156,85,107,86,205,86,236,89,9,91,12,94,153,97,152,97,49,98,94,102,230,102,153,113,185,113,186,113,167,114,167,121,0,122,178,127,165,84,15,85,59,86,149,96,50,98,191,102,55,107,249,113,20,114,104,140,60,153,38,0,144,215,60,0,60,0,42,0,112,138,181,114,136,126,109,137,33,152,224,158,0,0,170,170,170,170,170,170,170,170,98,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,31,1,0,0,68,0,0,0,68,0,0,0,68,0,0,0,84,34,0,0,84,34,0,0,84,34,0,0,84,34,0,0,4,40,0,0,4,40,0,0,74,40,0,0,74,40,0,0,74,40,0,0,50,105,114,84,1,0,64,8,24,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,110,0,118,0,48,0,56,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,150,0,48,0,48,0,48,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,174,0,182,0,190,0,198,0,206,0,214,0,222,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,238,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,241,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,140,0,48,0,48,0,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,249,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,1,1,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,184,1,192,0,212,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,44,0,202,97,44,0,202,130,44,0,202,163,44,0,202,196,44,0,202,229,44,0,202,6,45,0,202,39,45,0,202,72,45,0,202,105,45,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,35,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,35,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,35,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,0,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,0,5,71,238,102,201,134,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,197,162,1,0,197,226,1,0,197,34,2,0,197,98,2,0,197,162,2,0,197,226,2,0,197,34,3,0,197,98,3,0,197,162,3,0,197,226,3,0,197,34,4,0,197,98,4,0,197,66,2,0,197,194,0,0,197,163,4,0,197,3,5,0,197,99,5,0,197,195,0,0,197,195,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,197,99,7,0,197,194,4,0,197,194,7,0,197,34,5,0,197,2,8,0,197,66,8,0,197,130,5,0,197,131,8,0,197,227,8,0,197,66,9,0,197,2,1,0,197,130,9,0,197,194,9,0,197,2,10,0,197,66,10,0,197,130,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,10,0,197,2,11,0,197,130,3,0,197,2,4,0,197,162,7,0,192,0,0,0,197,66,11,0,197,130,11,0,197,194,11,0,197,2,12,0,197,66,12,0,192,0,0,0,197,162,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,12,0,197,194,12,0,192,0,0,0,192,0,0,0,197,2,7,0,197,2,13,0,197,66,13,0,192,0,0,0,197,66,0,0,197,226,7,0,197,130,13,0,197,194,13,0,197,2,14,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,14,0,192,0,0,0,197,130,14,0,192,0,0,0,197,194,14,0,192,0,0,0,197,2,15,0,192,0,0,0,197,66,15,0,197,131,15,0,197,226,15,0,192,0,0,0,192,0,0,0,197,34,16,0,197,99,16,0,197,194,16,0,192,0,0,0,192,0,0,0,197,2,17,0,192,0,0,0,197,98,15,0,197,66,17,0,197,130,17,0,197,194,17,0,197,2,18,0,197,66,16,0,197,66,18,0,197,130,18,0,197,194,18,0,197,34,18,0,197,3,19,0,197,99,19,0,197,194,19,0,197,2,20,0,197,66,20,0,197,131,20,0,197,226,20,0,197,34,21,0,197,98,21,0,197,162,21,0,197,227,21,0,197,67,22,0,197,163,22,0,197,2,23,0,197,66,23,0,197,130,23,0,197,195,23,0,197,34,24,0,197,99,24,0,197,194,24,0,197,2,25,0,197,130,22,0,197,66,25,0,197,131,25,0,197,34,17,0,197,98,14,0,197,34,15,0,197,2,16,0,197,226,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,25,0,197,34,26,0,197,98,26,0,197,162,17,0,197,163,26,0,5,5,6,121,197,34,0,0,197,194,8,0,5,5,10,121,197,130,13,0,197,194,13,0,5,5,12,121,5,5,16,121,197,2,27,0,197,66,27,0,197,130,27,0,197,34,8,0,197,194,27,0,197,2,28,0,197,34,3,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,197,130,2,0,197,67,28,0,197,98,1,0,197,226,1,0,197,226,7,0,192,0,0,0,197,162,28,0,197,98,2,0,197,2,14,0,197,227,28,0,197,162,2,0,197,66,29,0,197,131,29,0,197,226,2,0,197,227,29,0,197,67,30,0,197,163,30,0,197,3,31,0,197,99,31,0,197,195,31,0,192,0,0,0,197,34,32,0,192,0,0,0,197,2,30,0,197,98,27,0,197,162,3,0,197,98,8,0,197,99,32,0,192,0,0,0,197,194,32,0,197,2,33,0,197,226,3,0,197,162,27,0,197,226,6,0,197,34,31,0,197,34,7,0,197,194,4,0,197,34,5,0,197,2,8,0,197,130,5,0,192,0,0,0,197,194,10,0,197,67,33,0,197,66,11,0,197,162,33,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,7,0,197,2,13,0,197,98,13,0,197,66,3,0,197,226,33,0,197,34,34,0,192,0,0,0,197,130,1,0,197,66,4,0,197,98,34,0,197,162,34,0,197,226,34,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,10,121,5,5,6,121,5,5,10,121,5,5,10,121,5,5,10,121,5,5,12,121,5,5,10,121,5,5,20,121,5,5,12,121,5,5,6,121,5,5,16,121,5,5,10,121,5,5,16,121,5,5,16,121,5,5,16,121,5,5,42,121,5,5,16,121,5,5,28,121,5,5,18,121,5,5,20,121,5,5,18,121,5,5,28,121,5,5,20,121,5,5,6,121,5,5,20,121,5,5,10,121,5,5,20,121,5,5,24,121,5,5,6,121,5,5,20,121,5,5,24,121,5,5,12,121,5,5,20,121,5,5,24,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,30,121,5,5,20,121,5,5,30,121,5,5,20,121,5,5,34,121,5,5,20,121,5,5,38,121,5,5,20,121,5,5,40,121,5,5,20,121,5,5,28,121,5,5,20,121,5,5,20,121,5,5,28,121,5,5,24,121,5,5,10,121,5,5,24,121,5,5,16,121,5,5,24,121,5,5,18,121,5,5,24,121,5,5,20,121,5,5,6,121,5,5,24,121,5,5,24,121,5,5,24,121,5,5,24,121,5,5,28,121,5,5,24,121,5,5,34,121,5,5,24,121,5,5,36,121,5,5,24,121,5,5,38,121,5,5,24,121,5,5,40,121,5,5,24,121,5,5,42,121,5,5,28,121,5,5,6,121,5,5,28,121,5,5,12,121,5,5,28,121,5,5,28,121,5,5,28,121,5,5,30,121,5,5,28,121,5,5,34,121,5,5,28,121,5,5,38,121,5,5,28,121,5,5,40,121,5,5,34,121,5,5,36,121,5,5,34,121,5,5,42,121,5,5,40,121,5,5,28,121,5,5,42,121,5,5,42,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,12,121,5,5,16,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,103,121,5,5,129,121,5,5,107,121,5,5,119,121,5,5,107,121,5,5,127,121,5,5,111,121,5,5,119,121,5,5,111,121,5,5,139,121,5,5,115,121,5,5,119,121,5,5,115,121,5,5,129,121,5,5,119,121,5,5,111,121,5,5,143,121,5,5,119,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,119,121,5,5,119,121,5,5,129,121,5,5,127,121,5,5,107,121,5,5,127,121,5,5,107,121,5,5,143,121,5,5,127,121,5,5,115,121,5,5,127,121,5,5,119,121,5,5,127,121,5,5,143,121,5,5,129,121,5,5,103,121,5,5,129,121,5,5,103,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,139,121,5,5,129,121,5,5,115,121,5,5,143,121,5,5,129,121,5,5,129,121,5,5,137,121,5,5,103,121,5,5,137,121,5,5,111,121,5,5,137,121,5,5,111,121,5,5,143,121,5,5,137,121,5,5,115,121,5,5,137,121,5,5,115,121,5,5,143,121,5,5,137,121,5,5,129,121,5,5,137,121,5,5,143,121,5,5,139,121,5,5,139,121,5,5,139,121,5,5,143,121,5,5,129,121,5,5,103,121,5,5,139,121,5,5,107,121,5,5,129,121,5,5,115,121,5,5,107,121,5,5,119,121,5,5,107,121,5,5,143,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,6,121,5,5,24,121,5,5,6,121,5,5,10,121,5,5,38,121,5,5,16,121,5,5,6,121,5,5,24,121,5,5,16,121,5,5,12,121,5,5,16,121,5,5,12,121,5,5,42,121,5,5,16,121,5,5,18,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,24,121,5,5,16,121,5,5,20,121,5,5,24,121,5,5,16,121,5,5,20,121,5,5,42,121,5,5,16,121,5,5,20,121,5,5,28,121,5,5,16,121,5,5,24,121,5,5,24,121,5,5,16,121,5,5,36,121,5,5,18,121,5,5,24,121,5,5,24,121,5,5,18,121,5,5,34,121,5,5,18,121,5,5,42,121,5,5,28,121,5,5,6,121,5,5,6,121,5,5,28,121,5,5,36,121,5,5,42,121,5,5,18,121,5,5,42,121,5,5,20,121,5,5,6,121,5,5,34,121,5,5,6,121,5,5,36,121,5,5,6,121,5,5,42,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,0,0,5,5,10,121,5,5,12,121,197,98,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,66,14,0,5,5,107,121,197,130,14,0,5,5,111,121,197,194,14,0,5,5,115,121,197,2,15,0,5,5,119,121,197,66,15,0,197,131,15,0,197,226,15,0,5,5,127,121,5,5,129,121,197,34,16,0,197,99,16,0,197,194,16,0,5,5,137,121,5,5,139,121,197,2,17,0,5,5,143,121,5,5,6,121,197,34,0,0,197,194,8,0,5,5,10,121,197,130,13,0,197,194,13,0,5,5,12,121,5,5,16,121,197,2,27,0,197,66,27,0,197,130,27,0,197,34,8,0,197,194,27,0,197,2,28,0,197,34,3,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,170,170,3,0,67,0,50,0,59,0,75,27,0,16,40,2,0,96,1,0,0,96,170,170,170,170,130,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,27,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,84,32,0,0,84,32,0,0,84,32,0,0,84,32,0,0,244,33,0,0,244,33,0,0,106,34,0,0,106,34,0,0,106,34,0,0,50,105,114,84,1,0,64,8,248,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,110,0,118,0,48,0,56,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,150,0,48,0,48,0,48,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,174,0,48,0,180,0,188,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,206,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,209,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,140,0,48,0,48,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,217,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,225,0,48,0,48,0,231,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,184,1,192,0,212,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,11,0,202,225,11,0,202,2,12,0,202,35,12,0,202,68,12,0,202,101,12,0,202,134,12,0,202,167,12,0,202,200,12,0,202,233,12,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,2,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,2,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,3,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,6,0,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,1,0,5,71,238,102,201,198,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,2,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,200,160,3,0,197,34,0,0,192,0,0,0,200,96,4,0,197,98,0,0,192,0,0,0,192,0,0,0,200,32,5,0,197,162,0,0,200,224,5,0,197,226,0,0,192,0,0,0,200,160,6,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,3,255,194,5,4,255,194,5,5,255,194,5,6,255,194,5,7,255,194,5,8,255,194,5,9,255,194,5,10,255,194,5,11,255,194,5,12,255,194,5,13,255,194,5,14,255,194,5,15,255,194,5,16,255,194,5,17,255,194,5,18,255,194,5,19,255,194,5,20,255,194,5,21,255,194,5,22,255,194,5,23,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,24,255,194,5,25,255,194,5,26,255,194,5,27,255,194,5,28,255,194,5,29,255,194,5,30,255,194,5,31,255,194,5,32,255,194,5,33,255,194,5,34,255,194,5,35,255,194,5,36,255,194,5,37,255,194,5,38,255,194,5,39,255,194,5,40,255,194,5,41,255,194,5,42,255,194,5,43,255,194,5,44,255,194,5,45,255,194,5,46,255,194,5,47,255,194,5,48,255,194,5,49,255,194,5,50,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,1,0,192,0,0,0,192,0,0,0,197,34,2,0,192,0,0,0,192,0,0,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,130,0,0,5,5,12,121,5,130,0,0,5,5,20,121,5,130,0,0,5,5,24,121,5,130,0,0,5,5,30,121,5,130,0,0,5,5,6,121,10,130,0,0,5,5,12,121,9,130,0,0,5,5,20,121,8,130,0,0,5,5,24,121,7,130,0,0,5,5,30,121,6,130,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,200,160,3,0,197,34,0,0,5,5,10,121,200,96,4,0,197,98,0,0,5,5,16,121,5,5,18,121,200,32,5,0,197,162,0,0,200,224,5,0,197,226,0,0,5,5,28,121,200,160,6,0,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,194,5,3,255,194,5,4,255,194,5,5,255,194,5,6,255,194,5,7,255,194,5,8,255,194,5,9,255,194,5,10,255,194,5,11,255,194,5,12,255,194,5,13,255,194,5,14,255,194,5,15,255,194,5,16,255,194,5,17,255,194,5,18,255,194,5,19,255,194,5,20,255,194,5,21,255,194,5,22,255,194,5,23,255,194,5,24,255,194,5,25,255,194,5,26,255,194,5,27,255,194,5,28,255,194,5,29,255,194,5,30,255,194,5,31,255,194,5,32,255,194,5,33,255,194,5,34,255,194,5,35,255,194,5,36,255,194,5,37,255,194,5,38,255,194,5,39,255,194,5,40,255,194,5,41,255,194,5,42,255,194,5,43,255,194,5,44,255,194,5,45,255,194,5,46,255,194,5,47,255,194,5,48,255,194,5,49,255,194,5,50,255,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,6,121,5,5,48,0,0,17,0,192,5,130,12,121,5,5,48,0,3,17,0,192,5,130,20,121,5,5,48,0,7,17,0,192,5,130,24,121,5,5,48,0,9,17,0,192,5,130,30,121,5,5,48,0,12,17,0,192,5,130,170,170,3,0,67,0,50,0,59,0,107,37,0,16,57,0,0,96,1,0,0,96,170,170,170,170,52,140,3,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,60,0,0,0,60,1,0,0,156,95,1,0,156,95,1,0,12,96,3,0,12,96,3,0,24,140,3,0,18,0,0,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,39,246,247,248,249,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,254,255,50,105,114,84,1,0,192,8,205,20,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,112,0,120,0,128,0,136,0,144,0,152,0,160,0,165,0,173,0,181,0,189,0,197,0,205,0,213,0,221,0,229,0,237,0,245,0,253,0,5,1,13,1,21,1,29,1,37,1,45,1,53,1,61,1,69,1,77,1,85,1,93,1,101,1,109,1,117,1,125,1,133,1,141,1,149,1,157,1,165,1,173,1,181,1,189,1,197,1,205,1,213,1,221,1,229,1,237,1,245,1,253,1,5,2,13,2,21,2,29,2,37,2,45,2,53,2,61,2,69,2,76,2,84,2,92,2,98,2,106,2,113,2,121,2,128,2,136,2,144,2,152,2,160,2,168,2,176,2,184,2,192,2,200,2,208,2,216,2,224,2,232,2,240,2,248,2,0,3,8,3,16,3,24,3,32,3,40,3,48,3,56,3,64,3,72,3,80,3,88,3,96,3,104,3,112,3,120,3,128,3,136,3,144,3,152,3,159,3,167,3,175,3,183,3,191,3,199,3,207,3,215,3,223,3,231,3,239,3,246,3,254,3,6,4,14,4,22,4,30,4,38,4,44,4,52,4,60,4,68,4,76,4,84,4,92,4,100,4,108,4,116,4,124,4,132,4,140,4,148,4,156,4,164,4,172,4,180,4,188,4,196,4,204,4,212,4,220,4,228,4,236,4,244,4,252,4,4,5,12,5,20,5,28,5,36,5,44,5,52,5,59,5,67,5,75,5,83,5,91,5,99,5,107,5,115,5,122,5,130,5,138,5,146,5,152,5,160,5,167,5,175,5,183,5,191,5,199,5,206,5,214,5,222,5,230,5,238,5,246,5,254,5,6,6,14,6,22,6,30,6,38,6,46,6,54,6,62,6,70,6,78,6,86,6,94,6,102,6,109,6,117,6,125,6,133,6,141,6,149,6,157,6,165,6,173,6,181,6,189,6,197,6,205,6,213,6,221,6,227,6,235,6,243,6,250,6,2,7,10,7,17,7,25,7,33,7,40,7,48,7,56,7,63,7,71,7,79,7,87,7,95,7,103,7,111,7,119,7,127,7,135,7,143,7,151,7,159,7,167,7,175,7,183,7,190,7,198,7,206,7,214,7,222,7,230,7,237,7,245,7,253,7,4,8,12,8,20,8,28,8,36,8,42,8,50,8,58,8,66,8,74,8,82,8,90,8,97,8,105,8,113,8,120,8,128,8,136,8,144,8,152,8,160,8,168,8,176,8,184,8,192,8,200,8,208,8,216,8,224,8,232,8,239,8,247,8,255,8,7,9,14,9,22,9,30,9,38,9,46,9,54,9,62,9,70,9,78,9,86,9,94,9,102,9,110,9,118,9,126,9,134,9,142,9,150,9,158,9,166,9,174,9,182,9,190,9,198,9,206,9,214,9,222,9,230,9,238,9,246,9,254,9,6,10,14,10,22,10,30,10,38,10,46,10,54,10,62,10,70,10,78,10,86,10,94,10,102,10,110,10,118,10,126,10,134,10,142,10,150,10,158,10,166,10,174,10,182,10,190,10,198,10,206,10,214,10,222,10,230,10,238,10,246,10,254,10,5,11,13,11,21,11,29,11,37,11,45,11,53,11,61,11,69,11,77,11,85,11,93,11,101,11,109,11,117,11,125,11,133,11,140,11,148,11,156,11,164,11,172,11,180,11,188,11,196,11,204,11,212,11,220,11,228,11,236,11,244,11,252,11,4,12,12,12,20,12,28,12,36,12,44,12,52,12,59,12,67,12,75,12,83,12,91,12,48,0,48,0,48,0,48,0,99,12,107,12,115,12,123,12,131,12,139,12,147,12,155,12,163,12,171,12,179,12,187,12,195,12,203,12,211,12,219,12,227,12,235,12,243,12,251,12,3,13,11,13,19,13,27,13,35,13,43,13,51,13,59,13,67,13,75,13,83,13,91,13,99,13,107,13,112,13,119,13,127,13,135,13,143,13,151,13,157,13,165,13,173,13,181,13,189,13,197,13,204,13,212,13,220,13,228,13,236,13,244,13,252,13,4,14,12,14,20,14,28,14,36,14,44,14,51,14,59,14,67,14,75,14,83,14,91,14,99,14,107,14,115,14,123,14,131,14,139,14,147,14,155,14,163,14,171,14,179,14,187,14,195,14,203,14,211,14,218,14,226,14,234,14,242,14,250,14,2,15,10,15,18,15,26,15,34,15,42,15,50,15,58,15,66,15,74,15,82,15,90,15,98,15,106,15,114,15,48,0,48,0,48,0,48,0,122,15,130,15,138,15,146,15,154,15,162,15,170,15,178,15,48,0,48,0,185,15,193,15,201,15,209,15,217,15,225,15,233,15,241,15,249,15,1,16,9,16,17,16,25,16,33,16,41,16,49,16,57,16,59,16,67,16,75,16,83,16,91,16,99,16,107,16,115,16,123,16,131,16,139,16,147,16,155,16,163,16,171,16,179,16,187,16,195,16,203,16,211,16,219,16,227,16,235,16,243,16,251,16,3,17,10,17,18,17,26,17,34,17,40,17,48,17,56,17,64,17,72,17,80,17,88,17,95,17,103,17,111,17,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,17,127,17,135,17,143,17,151,17,153,17,161,17,169,17,177,17,185,17,193,17,201,17,209,17,217,17,225,17,233,17,241,17,249,17,1,18,9,18,17,18,25,18,33,18,41,18,49,18,48,0,55,18,63,18,71,18,79,18,87,18,95,18,48,0,103,18,111,18,119,18,127,18,135,18,142,18,150,18,158,18,48,0,164,18,172,18,180,18,188,18,196,18,204,18,211,18,219,18,227,18,235,18,243,18,249,18,0,19,8,19,16,19,48,0,48,0,48,0,23,19,31,19,39,19,47,19,55,19,63,19,71,19,79,19,86,19,94,19,48,0,48,0,102,19,110,19,118,19,126,19,134,19,142,19,150,19,158,19,166,19,172,19,180,19,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,88,0,48,0,48,0,80,0,80,0,80,0,196,20,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,188,19,196,19,204,19,212,19,220,19,228,19,236,19,244,19,252,19,4,20,12,20,20,20,28,20,36,20,44,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,52,20,60,20,68,20,76,20,84,20,92,20,100,20,108,20,116,20,124,20,132,20,140,20,148,20,156,20,164,20,172,20,180,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,95,1,202,65,95,1,202,98,95,1,202,131,95,1,202,164,95,1,202,197,95,1,202,230,95,1,202,7,96,1,202,40,96,1,202,73,96,1,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,94,1,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,94,1,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,94,1,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,0,0,198,99,0,0,192,0,0,0,198,195,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,1,0,198,131,1,0,198,227,1,0,198,67,2,0,197,34,0,0,192,0,0,0,198,162,2,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,2,0,192,0,0,0,192,0,0,0,198,66,3,0,198,130,3,0,198,194,3,0,192,0,0,0,198,2,4,0,198,67,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,4,0,198,2,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,5,0,192,0,0,0,198,227,5,0,192,0,0,0,192,0,0,0,198,67,6,0,198,163,6,0,197,99,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,0,0,198,3,7,0,192,0,0,0,198,98,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,1,0,198,162,7,0,192,0,0,0,198,226,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,198,34,8,0,197,162,1,0,197,227,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,8,0,192,0,0,0,198,163,8,0,198,3,9,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,9,0,198,163,9,0,197,66,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,10,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,10,0,198,195,10,0,198,35,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,2,0,192,0,0,0,192,0,0,0,198,131,11,0,198,227,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,12,0,192,0,0,0,198,163,12,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,13,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,13,0,192,0,0,0,197,194,2,0,192,0,0,0,192,0,0,0,198,162,13,0,198,226,13,0,192,0,0,0,198,34,14,0,198,98,14,0,198,163,14,0,198,3,15,0,197,2,3,0,192,0,0,0,198,98,15,0,198,163,15,0,192,0,0,0,192,0,0,0,198,3,16,0,198,99,16,0,192,0,0,0,198,194,16,0,192,0,0,0,192,0,0,0,198,2,17,0,198,67,17,0,192,0,0,0,198,163,17,0,198,3,18,0,192,0,0,0,198,98,18,0,197,66,3,0,198,163,18,0,192,0,0,0,198,3,19,0,192,0,0,0,192,0,0,0,198,99,19,0,198,195,19,0,198,35,20,0,198,131,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,20,0,198,66,21,0,192,0,0,0,198,131,21,0,192,0,0,0,192,0,0,0,198,226,21,0,198,35,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,22,0,198,227,22,0,192,0,0,0,192,0,0,0,198,67,23,0,192,0,0,0,198,162,23,0,198,226,23,0,192,0,0,0,192,0,0,0,198,35,24,0,198,130,24,0,192,0,0,0,198,195,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,25,0,198,98,25,0,197,130,3,0,198,163,25,0,198,2,26,0,198,67,26,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,26,0,198,3,27,0,198,99,27,0,192,0,0,0,197,195,3,0,192,0,0,0,198,194,27,0,198,3,28,0,198,98,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,28,0,192,0,0,0,198,227,28,0,192,0,0,0,198,67,29,0,198,162,29,0,192,0,0,0,198,226,29,0,198,35,30,0,198,130,30,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,30,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,31,0,198,131,31,0,198,226,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,32,0,198,130,32,0,198,195,32,0,192,0,0,0,198,34,33,0,198,98,33,0,198,163,33,0,198,3,34,0,197,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,34,0,198,194,34,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,35,0,192,0,0,0,198,99,35,0,192,0,0,0,198,195,35,0,192,0,0,0,198,34,36,0,192,0,0,0,198,98,36,0,198,162,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,36,0,198,67,37,0,192,0,0,0,192,0,0,0,198,163,37,0,197,98,4,0,198,2,38,0,198,66,38,0,192,0,0,0,198,130,38,0,192,0,0,0,197,162,4,0,197,226,4,0,198,194,38,0,197,34,5,0,198,2,39,0,192,0,0,0,198,67,39,0,198,163,39,0,197,98,5,0,197,163,5,0,198,2,40,0,192,0,0,0,197,2,6,0,198,67,40,0,198,163,40,0,198,3,41,0,198,98,41,0,198,163,41,0,198,3,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,6,0,197,130,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,42,0,198,195,42,0,192,0,0,0,192,0,0,0,198,34,43,0,192,0,0,0,192,0,0,0,198,99,43,0,192,0,0,0,198,195,43,0,197,194,6,0,198,35,44,0,198,130,44,0,198,194,44,0,198,2,45,0,198,67,45,0,198,162,45,0,192,0,0,0,198,227,45,0,192,0,0,0,198,67,46,0,198,163,46,0,192,0,0,0,198,2,47,0,192,0,0,0,197,2,7,0,198,66,47,0,198,131,47,0,198,226,47,0,192,0,0,0,198,34,48,0,192,0,0,0,198,98,48,0,192,0,0,0,197,66,7,0,192,0,0,0,192,0,0,0,198,162,48,0,192,0,0,0,198,227,48,0,198,67,49,0,198,162,49,0,192,0,0,0,198,227,49,0,198,67,50,0,198,162,50,0,197,130,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,50,0,197,194,7,0,192,0,0,0,192,0,0,0,198,35,51,0,192,0,0,0,192,0,0,0,197,3,8,0,197,98,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,51,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,51,0,192,0,0,0,198,66,52,0,198,130,52,0,198,195,52,0,198,34,53,0,198,98,53,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,53,0,198,227,53,0,192,0,0,0,198,66,54,0,192,0,0,0,198,130,54,0,198,194,54,0,198,2,55,0,198,67,55,0,192,0,0,0,198,163,55,0,198,3,56,0,192,0,0,0,192,0,0,0,198,99,56,0,198,194,56,0,192,0,0,0,198,2,57,0,198,67,57,0,192,0,0,0,198,162,57,0,192,0,0,0,198,226,57,0,197,163,8,0,198,35,58,0,192,0,0,0,198,130,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,58,0,198,2,59,0,197,2,9,0,198,66,59,0,192,0,0,0,198,130,59,0,198,195,59,0,197,66,9,0,198,35,60,0,192,0,0,0,198,131,60,0,192,0,0,0,198,227,60,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,61,0,192,0,0,0,198,131,61,0,192,0,0,0,198,227,61,0,192,0,0,0,192,0,0,0,198,66,62,0,198,131,62,0,192,0,0,0,192,0,0,0,198,227,62,0,192,0,0,0,198,66,63,0,192,0,0,0,198,130,63,0,192,0,0,0,198,195,63,0,192,0,0,0,198,35,64,0,198,130,64,0,192,0,0,0,198,195,64,0,192,0,0,0,198,35,65,0,192,0,0,0,198,131,65,0,197,130,9,0,197,194,9,0,192,0,0,0,198,227,65,0,192,0,0,0,198,67,66,0,198,162,66,0,192,0,0,0,198,227,66,0,198,67,67,0,198,163,67,0,197,2,10,0,198,3,68,0,198,99,68,0,198,195,68,0,198,34,69,0,198,99,69,0,197,66,10,0,198,195,69,0,197,131,10,0,197,226,10,0,198,34,70,0,192,0,0,0,198,99,70,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,70,0,198,35,71,0,192,0,0,0,192,0,0,0,198,130,71,0,198,194,71,0,197,98,11,0,198,2,72,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,11,0,198,67,72,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,72,0,192,0,0,0,197,226,11,0,198,2,73,0,192,0,0,0,198,67,73,0,192,0,0,0,198,162,73,0,192,0,0,0,198,227,73,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,74,0,192,0,0,0,198,130,74,0,192,0,0,0,192,0,0,0,198,195,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,75,0,192,0,0,0,198,130,75,0,192,0,0,0,198,195,75,0,198,35,76,0,198,130,76,0,192,0,0,0,197,130,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,77,0,192,0,0,0,198,163,77,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,78,0,197,194,12,0,192,0,0,0,198,99,78,0,192,0,0,0,198,195,78,0,192,0,0,0,198,35,79,0,198,130,79,0,197,2,13,0,198,195,79,0,192,0,0,0,197,67,13,0,198,34,80,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,13,0,198,163,80,0,198,2,81,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,81,0,198,131,81,0,198,226,81,0,198,34,82,0,192,0,0,0,198,99,82,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,82,0,198,35,83,0,198,131,83,0,192,0,0,0,192,0,0,0,198,226,83,0,192,0,0,0,197,226,13,0,198,35,84,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,84,0,198,227,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,85,0,192,0,0,0,198,162,85,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,85,0,197,34,14,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,86,0,198,130,86,0,192,0,0,0,192,0,0,0,197,98,14,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,86,0,192,0,0,0,192,0,0,0,197,162,14,0,198,34,87,0,198,99,87,0,192,0,0,0,198,195,87,0,192,0,0,0,192,0,0,0,198,34,88,0,198,99,88,0,198,195,88,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,89,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,89,0,192,0,0,0,198,195,89,0,192,0,0,0,192,0,0,0,198,34,90,0,198,98,90,0,197,226,14,0,198,163,90,0,198,3,91,0,198,99,91,0,198,195,91,0,192,0,0,0,198,35,92,0,198,131,92,0,192,0,0,0,198,227,92,0,192,0,0,0,198,67,93,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,93,0,192,0,0,0,197,34,15,0,198,2,94,0,198,66,94,0,197,98,15,0,192,0,0,0,197,162,15,0,198,131,94,0,192,0,0,0,198,227,94,0,198,66,95,0,198,131,95,0,192,0,0,0,192,0,0,0,198,227,95,0,192,0,0,0,198,66,96,0,197,226,15,0,192,0,0,0,198,130,96,0,198,195,96,0,192,0,0,0,198,35,97,0,192,0,0,0,192,0,0,0,198,130,97,0,197,34,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,97,0,197,98,16,0,198,35,98,0,192,0,0,0,198,131,98,0,192,0,0,0,197,162,16,0,192,0,0,0,198,227,98,0,198,66,99,0,198,131,99,0,198,227,99,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,100,0,198,163,100,0,192,0,0,0,198,3,101,0,198,99,101,0,198,195,101,0,198,34,102,0,197,227,16,0,198,99,102,0,198,195,102,0,192,0,0,0,198,35,103,0,197,66,17,0,198,131,103,0,198,226,103,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,104,0,192,0,0,0,192,0,0,0,198,98,104,0,192,0,0,0,198,163,104,0,192,0,0,0,192,0,0,0,198,3,105,0,192,0,0,0,198,98,105,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,105,0,192,0,0,0,192,0,0,0,198,3,106,0,192,0,0,0,198,98,106,0,198,163,106,0,198,3,107,0,197,130,17,0,198,99,107,0,198,195,107,0,198,35,108,0,197,194,17,0,192,0,0,0,192,0,0,0,198,131,108,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,108,0,198,66,109,0,198,130,109,0,198,195,109,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,110,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,110,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,110,0,192,0,0,0,192,0,0,0,198,35,111,0,198,131,111,0,192,0,0,0,192,0,0,0,198,226,111,0,192,0,0,0,198,35,112,0,192,0,0,0,192,0,0,0,198,130,112,0,198,194,112,0,192,0,0,0,198,3,113,0,192,0,0,0,198,99,113,0,197,2,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,113,0,192,0,0,0,192,0,0,0,197,66,18,0,198,35,114,0,198,131,114,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,114,0,192,0,0,0,198,67,115,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,115,0,197,130,18,0,198,3,116,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,18,0,198,99,116,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,116,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,19,0,198,34,117,0,198,99,117,0,192,0,0,0,192,0,0,0,198,195,117,0,198,35,118,0,198,130,118,0,198,195,118,0,198,35,119,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,19,0,192,0,0,0,198,131,119,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,119,0,198,67,120,0,198,163,120,0,197,130,19,0,192,0,0,0,197,194,19,0,198,3,121,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,121,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,121,0,192,0,0,0,192,0,0,0,197,3,20,0,198,34,122,0,192,0,0,0,198,99,122,0,198,195,122,0,192,0,0,0,197,99,20,0,192,0,0,0,198,35,123,0,197,194,20,0,198,131,123,0,192,0,0,0,192,0,0,0,197,3,21,0,192,0,0,0,192,0,0,0,198,226,123,0,198,34,124,0,192,0,0,0,198,99,124,0,192,0,0,0,192,0,0,0,198,195,124,0,198,35,125,0,197,98,21,0,192,0,0,0,198,131,125,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,125,0,192,0,0,0,192,0,0,0,198,67,126,0,192,0,0,0,198,163,126,0,192,0,0,0,192,0,0,0,198,3,127,0,198,99,127,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,127,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,128,0,198,99,128,0,198,195,128,0,198,35,129,0,192,0,0,0,198,130,129,0,198,195,129,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,130,0,192,0,0,0,198,130,130,0,198,195,130,0,198,34,131,0,198,98,131,0,192,0,0,0,192,0,0,0,197,162,21,0,197,226,21,0,198,163,131,0,198,3,132,0,198,98,132,0,198,163,132,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,22,0,198,3,133,0,192,0,0,0,192,0,0,0,198,99,133,0,192,0,0,0,197,98,22,0,198,195,133,0,198,35,134,0,198,131,134,0,198,227,134,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,135,0,198,162,135,0,198,226,135,0,198,35,136,0,192,0,0,0,192,0,0,0,198,130,136,0,198,195,136,0,192,0,0,0,198,35,137,0,198,130,137,0,198,195,137,0,192,0,0,0,198,35,138,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,138,0,198,227,138,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,139,0,192,0,0,0,192,0,0,0,197,163,22,0,192,0,0,0,198,130,139,0,198,195,139,0,192,0,0,0,198,35,140,0,192,0,0,0,192,0,0,0,198,130,140,0,192,0,0,0,192,0,0,0,197,2,23,0,192,0,0,0,198,194,140,0,192,0,0,0,192,0,0,0,197,66,23,0,197,131,23,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,141,0,198,99,141,0,198,194,141,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,142,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,23,0,198,99,142,0,197,34,24,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,142,0,198,34,143,0,192,0,0,0,192,0,0,0,198,99,143,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,143,0,198,34,144,0,192,0,0,0,192,0,0,0,198,99,144,0,198,195,144,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,145,0,198,98,145,0,198,163,145,0,198,2,146,0,198,66,146,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,24,0,192,0,0,0,192,0,0,0,198,131,146,0,192,0,0,0,198,227,146,0,192,0,0,0,198,67,147,0,192,0,0,0,198,163,147,0,192,0,0,0,198,3,148,0,192,0,0,0,192,0,0,0,198,99,148,0,198,195,148,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,149,0,192,0,0,0,192,0,0,0,198,131,149,0,198,227,149,0,192,0,0,0,198,67,150,0,198,162,150,0,192,0,0,0,197,195,24,0,192,0,0,0,198,227,150,0,198,66,151,0,198,130,151,0,198,195,151,0,197,34,25,0,198,34,152,0,198,99,152,0,198,195,152,0,192,0,0,0,198,34,153,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,25,0,192,0,0,0,197,194,25,0,192,0,0,0,192,0,0,0,198,99,153,0,192,0,0,0,198,195,153,0,198,35,154,0,192,0,0,0,192,0,0,0,198,130,154,0,198,195,154,0,192,0,0,0,198,35,155,0,198,130,155,0,198,194,155,0,192,0,0,0,198,2,156,0,192,0,0,0,192,0,0,0,197,3,26,0,192,0,0,0,198,67,156,0,192,0,0,0,197,99,26,0,198,162,156,0,192,0,0,0,198,226,156,0,198,35,157,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,157,0,197,194,26,0,198,195,157,0,192,0,0,0,198,34,158,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,158,0,198,195,158,0,192,0,0,0,198,35,159,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,27,0,192,0,0,0,192,0,0,0,198,130,159,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,27,0,192,0,0,0,197,162,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,159,0,192,0,0,0,192,0,0,0,197,227,27,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,160,0,198,99,160,0,198,195,160,0,198,34,161,0,198,99,161,0,192,0,0,0,198,195,161,0,198,35,162,0,198,131,162,0,192,0,0,0,198,227,162,0,198,66,163,0,197,66,28,0,198,131,163,0,192,0,0,0,192,0,0,0,198,227,163,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,164,0,198,131,164,0,197,131,28,0,197,227,28,0,192,0,0,0,192,0,0,0,198,227,164,0,192,0,0,0,192,0,0,0,198,67,165,0,192,0,0,0,198,163,165,0,192,0,0,0,198,3,166,0,192,0,0,0,198,99,166,0,198,195,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,29,0,192,0,0,0,198,35,167,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,167,0,192,0,0,0,197,130,29,0,198,226,167,0,198,35,168,0,197,194,29,0,198,130,168,0,198,195,168,0,198,35,169,0,198,131,169,0,192,0,0,0,198,227,169,0,198,66,170,0,197,3,30,0,198,131,170,0,198,227,170,0,192,0,0,0,198,67,171,0,198,163,171,0,198,3,172,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,172,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,172,0,192,0,0,0,192,0,0,0,198,3,173,0,192,0,0,0,198,98,173,0,192,0,0,0,197,98,30,0,192,0,0,0,192,0,0,0,198,162,173,0,192,0,0,0,198,227,173,0,198,67,174,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,174,0,197,162,30,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,175,0,192,0,0,0,192,0,0,0,198,99,175,0,198,194,175,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,176,0,192,0,0,0,198,66,176,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,176,0,192,0,0,0,198,227,176,0,192,0,0,0,192,0,0,0,198,66,177,0,198,130,177,0,198,195,177,0,198,34,178,0,192,0,0,0,198,99,178,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,178,0,192,0,0,0,197,34,31,0,198,34,179,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,179,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,179,0,192,0,0,0,197,98,31,0,198,3,180,0,198,98,180,0,198,162,180,0,198,226,180,0,198,35,181,0,192,0,0,0,198,130,181,0,198,194,181,0,197,162,31,0,198,2,182,0,198,66,182,0,198,131,182,0,198,227,182,0,198,66,183,0,197,226,31,0,198,131,183,0,198,226,183,0,198,34,184,0,198,98,184,0,197,34,32,0,197,99,32,0,192,0,0,0,198,162,184,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,184,0,192,0,0,0,197,195,32,0,198,35,185,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,33,0,198,131,185,0,198,227,185,0,198,67,186,0,198,163,186,0,198,3,187,0,197,130,33,0,198,98,187,0,198,162,187,0,198,227,187,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,188,0,192,0,0,0,198,163,188,0,192,0,0,0,198,3,189,0,197,194,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,189,0,192,0,0,0,192,0,0,0,198,163,189,0,192,0,0,0,197,3,34,0,198,3,190,0,192,0,0,0,198,99,190,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,190,0,192,0,0,0,192,0,0,0,198,3,191,0,192,0,0,0,197,99,34,0,197,194,34,0,192,0,0,0,198,99,191,0,197,2,35,0,197,66,35,0,198,194,191,0,192,0,0,0,197,130,35,0,192,0,0,0,197,194,35,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,192,0,192,0,0,0,198,67,192,0,192,0,0,0,198,162,192,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,192,0,192,0,0,0,192,0,0,0,198,67,193,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,193,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,194,0,192,0,0,0,198,67,194,0,192,0,0,0,198,162,194,0,192,0,0,0,198,226,194,0,192,0,0,0,198,34,195,0,198,99,195,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,195,0,198,2,196,0,192,0,0,0,198,66,196,0,192,0,0,0,198,130,196,0,198,194,196,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,197,0,197,2,36,0,198,99,197,0,192,0,0,0,198,194,197,0,197,66,36,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,198,0,192,0,0,0,198,98,198,0,197,131,36,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,198,0,197,226,36,0,197,34,37,0,198,226,198,0,198,35,199,0,198,130,199,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,199,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,200,0,192,0,0,0,198,99,200,0,192,0,0,0,197,98,37,0,197,162,37,0,192,0,0,0,192,0,0,0,198,194,200,0,192,0,0,0,192,0,0,0,197,226,37,0,198,2,201,0,192,0,0,0,192,0,0,0,198,67,201,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,38,0,192,0,0,0,192,0,0,0,197,194,38,0,197,2,39,0,198,163,201,0,192,0,0,0,198,2,202,0,198,66,202,0,197,67,39,0,198,131,202,0,198,227,202,0,197,163,39,0,192,0,0,0,197,2,40,0,197,66,40,0,197,131,40,0,198,66,203,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,203,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,203,0,198,34,204,0,192,0,0,0,198,98,204,0,198,162,204,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,204,0,197,226,40,0,192,0,0,0,192,0,0,0,198,67,205,0,198,163,205,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,206,0,192,0,0,0,192,0,0,0,198,67,206,0,192,0,0,0,198,162,206,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,41,0,192,0,0,0,198,226,206,0,198,35,207,0,192,0,0,0,198,130,207,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,207,0,197,98,41,0,198,3,208,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,209,0,192,0,0,0,192,0,0,0,198,98,209,0,197,162,41,0,192,0,0,0,198,163,209,0,192,0,0,0,197,226,41,0,192,0,0,0,198,3,210,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,210,0,192,0,0,0,197,34,42,0,192,0,0,0,198,194,210,0,192,0,0,0,198,2,211,0,192,0,0,0,197,99,42,0,192,0,0,0,198,67,211,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,211,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,212,0,192,0,0,0,192,0,0,0,198,67,212,0,198,163,212,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,213,0,192,0,0,0,198,98,213,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,213,0,197,34,43,0,198,227,213,0,198,66,214,0,192,0,0,0,198,131,214,0,198,227,214,0,192,0,0,0,198,67,215,0,198,163,215,0,192,0,0,0,198,3,216,0,198,98,216,0,192,0,0,0,197,98,43,0,197,163,43,0,198,163,216,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,217,0,192,0,0,0,198,98,217,0,198,163,217,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,218,0,197,2,44,0,197,67,44,0,192,0,0,0,197,162,44,0,198,99,218,0,198,195,218,0,197,226,44,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,45,0,197,99,45,0,192,0,0,0,192,0,0,0,197,195,45,0,198,35,219,0,197,34,46,0,198,131,219,0,198,227,219,0,198,66,220,0,192,0,0,0,198,131,220,0,192,0,0,0,198,227,220,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,46,0,192,0,0,0,198,67,221,0,192,0,0,0,198,162,221,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,46,0,192,0,0,0,192,0,0,0,198,227,221,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,222,0,198,131,222,0,198,226,222,0,192,0,0,0,192,0,0,0,198,34,223,0,198,99,223,0,192,0,0,0,198,195,223,0,198,34,224,0,197,2,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,224,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,224,0,198,226,224,0,197,67,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,225,0,192,0,0,0,198,99,225,0,192,0,0,0,198,194,225,0,198,2,226,0,192,0,0,0,192,0,0,0,197,162,47,0,198,66,226,0,198,131,226,0,192,0,0,0,198,226,226,0,192,0,0,0,197,226,47,0,192,0,0,0,198,34,227,0,192,0,0,0,198,99,227,0,198,195,227,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,48,0,192,0,0,0,192,0,0,0,197,98,48,0,192,0,0,0,192,0,0,0,198,34,228,0,192,0,0,0,192,0,0,0,198,98,228,0,192,0,0,0,197,162,48,0,192,0,0,0,198,162,228,0,197,226,48,0,198,226,228,0,198,34,229,0,192,0,0,0,197,34,49,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,229,0,192,0,0,0,198,194,229,0,198,3,230,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,230,0,192,0,0,0,198,195,230,0,192,0,0,0,198,34,231,0,198,99,231,0,197,99,49,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,49,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,231,0,198,35,232,0,192,0,0,0,192,0,0,0,198,130,232,0,198,195,232,0,198,34,233,0,197,2,50,0,198,98,233,0,198,162,233,0,192,0,0,0,198,226,233,0,192,0,0,0,192,0,0,0,197,66,50,0,192,0,0,0,198,35,234,0,192,0,0,0,198,131,234,0,192,0,0,0,198,227,234,0,192,0,0,0,198,67,235,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,235,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,50,0,192,0,0,0,197,226,50,0,197,34,51,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,51,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,236,0,198,67,236,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,236,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,237,0,192,0,0,0,198,99,237,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,237,0,198,35,238,0,192,0,0,0,198,131,238,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,238,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,239,0,198,163,239,0,197,162,51,0,198,3,240,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,51,0,198,98,240,0,198,163,240,0,192,0,0,0,192,0,0,0,197,34,52,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,241,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,241,0,198,162,241,0,192,0,0,0,192,0,0,0,197,98,52,0,198,227,241,0,198,67,242,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,242,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,52,0,192,0,0,0,192,0,0,0,197,2,53,0,192,0,0,0,198,3,243,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,243,0,192,0,0,0,198,195,243,0,198,34,244,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,244,0,192,0,0,0,198,163,244,0,198,3,245,0,198,98,245,0,198,162,245,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,245,0,198,66,246,0,198,131,246,0,198,227,246,0,192,0,0,0,197,66,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,247,0,198,163,247,0,192,0,0,0,192,0,0,0,198,2,248,0,192,0,0,0,198,67,248,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,248,0,192,0,0,0,192,0,0,0,198,2,249,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,249,0,192,0,0,0,192,0,0,0,198,162,249,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,249,0,198,34,250,0,198,98,250,0,192,0,0,0,198,162,250,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,250,0,192,0,0,0,192,0,0,0,198,35,251,0,192,0,0,0,198,130,251,0,192,0,0,0,198,195,251,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,252,0,192,0,0,0,192,0,0,0,198,131,252,0,192,0,0,0,198,227,252,0,198,67,253,0,198,163,253,0,198,2,254,0,197,130,53,0,198,67,254,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,53,0,192,0,0,0,192,0,0,0,198,163,254,0,192,0,0,0,198,3,255,0,198,99,255,0,198,194,255,0,198,3,0,1,198,99,0,1,192,0,0,0,192,0,0,0,192,0,0,0,198,194,0,1,198,2,1,1,198,67,1,1,198,163,1,1,192,0,0,0,198,2,2,1,192,0,0,0,198,66,2,1,192,0,0,0,198,130,2,1,198,194,2,1,192,0,0,0,192,0,0,0,198,2,3,1,197,3,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,3,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,3,1,192,0,0,0,192,0,0,0,198,195,3,1,198,35,4,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,54,0,192,0,0,0,197,162,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,4,1,192,0,0,0,198,195,4,1,192,0,0,0,198,34,5,1,198,99,5,1,198,195,5,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,6,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,6,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,6,1,192,0,0,0,192,0,0,0,198,35,7,1,198,131,7,1,198,227,7,1,197,227,54,0,192,0,0,0,198,66,8,1,192,0,0,0,192,0,0,0,198,131,8,1,198,227,8,1,192,0,0,0,198,67,9,1,198,163,9,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,55,0,192,0,0,0,192,0,0,0,198,3,10,1,198,98,10,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,10,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,10,1,192,0,0,0,192,0,0,0,198,34,11,1,192,0,0,0,192,0,0,0,198,99,11,1,198,195,11,1,192,0,0,0,192,0,0,0,198,35,12,1,192,0,0,0,198,130,12,1,198,194,12,1,198,3,13,1,198,98,13,1,198,162,13,1,192,0,0,0,192,0,0,0,198,227,13,1,192,0,0,0,198,67,14,1,198,163,14,1,192,0,0,0,198,3,15,1,197,130,55,0,192,0,0,0,198,99,15,1,198,195,15,1,198,35,16,1,198,131,16,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,16,1,192,0,0,0,198,67,17,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,17,1,197,195,55,0,192,0,0,0,197,34,56,0,198,226,17,1,192,0,0,0,198,34,18,1,197,98,56,0,192,0,0,0,198,98,18,1,198,163,18,1,192,0,0,0,192,0,0,0,198,3,19,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,56,0,198,99,19,1,198,194,19,1,192,0,0,0,192,0,0,0,198,3,20,1,198,98,20,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,20,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,20,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,21,1,198,162,21,1,198,227,21,1,197,227,56,0,198,67,22,1,192,0,0,0,198,162,22,1,198,226,22,1,198,34,23,1,198,98,23,1,192,0,0,0,197,67,57,0,192,0,0,0,192,0,0,0,198,162,23,1,198,227,23,1,198,66,24,1,198,131,24,1,192,0,0,0,192,0,0,0,192,0,0,0,198,226,24,1,192,0,0,0,192,0,0,0,198,35,25,1,198,130,25,1,192,0,0,0,197,163,57,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,25,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,26,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,26,1,192,0,0,0,192,0,0,0,198,227,26,1,198,67,27,1,198,163,27,1,192,0,0,0,198,2,28,1,198,67,28,1,192,0,0,0,198,163,28,1,192,0,0,0,198,2,29,1,192,0,0,0,192,0,0,0,192,0,0,0,198,67,29,1,198,163,29,1,192,0,0,0,192,0,0,0,198,2,30,1,192,0,0,0,192,0,0,0,198,67,30,1,192,0,0,0,192,0,0,0,198,162,30,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,58,0,198,226,30,1,198,35,31,1,197,66,58,0,192,0,0,0,198,131,31,1,192,0,0,0,198,227,31,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,32,1,198,163,32,1,192,0,0,0,198,3,33,1,192,0,0,0,192,0,0,0,197,130,58,0,192,0,0,0,198,99,33,1,198,195,33,1,192,0,0,0,198,35,34,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,34,1,198,195,34,1,192,0,0,0,192,0,0,0,198,35,35,1,192,0,0,0,192,0,0,0,198,131,35,1,192,0,0,0,198,227,35,1,192,0,0,0,198,67,36,1,192,0,0,0,198,163,36,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,58,0,192,0,0,0,192,0,0,0,197,35,59,0,192,0,0,0,198,3,37,1,198,98,37,1,197,130,59,0,192,0,0,0,192,0,0,0,198,162,37,1,198,227,37,1,198,66,38,1,192,0,0,0,198,131,38,1,198,226,38,1,198,34,39,1,198,99,39,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,39,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,40,1,198,99,40,1,192,0,0,0,192,0,0,0,198,195,40,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,41,1,197,194,59,0,198,130,41,1,192,0,0,0,198,194,41,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,42,1,192,0,0,0,198,98,42,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,60,0,198,163,42,1,192,0,0,0,192,0,0,0,192,0,0,0,198,2,43,1,198,67,43,1,197,66,60,0,192,0,0,0,192,0,0,0,198,163,43,1,198,2,44,1,192,0,0,0,197,130,60,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,44,1,192,0,0,0,198,163,44,1,198,2,45,1,192,0,0,0,198,66,45,1,192,0,0,0,198,131,45,1,197,194,60,0,198,226,45,1,197,2,61,0,197,66,61,0,198,35,46,1,198,131,46,1,192,0,0,0,198,227,46,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,47,1,198,130,47,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,47,1,192,0,0,0,192,0,0,0,198,34,48,1,198,98,48,1,198,163,48,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,49,1,198,66,49,1,197,227,61,0,198,130,49,1,192,0,0,0,198,194,49,1,198,3,50,1,197,67,62,0,192,0,0,0,197,162,62,0,198,99,50,1,192,0,0,0,197,226,62,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,50,1,192,0,0,0,198,34,51,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,51,1,192,0,0,0,198,163,51,1,198,3,52,1,198,99,52,1,198,195,52,1,198,35,53,1,198,131,53,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,63,0,198,226,53,1,192,0,0,0,198,34,54,1,192,0,0,0,198,99,54,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,63,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,63,0,198,194,54,1,198,3,55,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,55,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,63,0,197,34,64,0,198,194,55,1,192,0,0,0,192,0,0,0,197,98,64,0,198,3,56,1,192,0,0,0,198,98,56,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,56,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,57,1,192,0,0,0,198,66,57,1,192,0,0,0,198,131,57,1,198,227,57,1,192,0,0,0,192,0,0,0,192,0,0,0,197,162,64,0,192,0,0,0,192,0,0,0,198,67,58,1,192,0,0,0,192,0,0,0,198,163,58,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,59,1,192,0,0,0,197,226,64,0,192,0,0,0,192,0,0,0,197,35,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,59,1,192,0,0,0,192,0,0,0,198,162,59,1,192,0,0,0,198,227,59,1,198,66,60,1,192,0,0,0,198,130,60,1,192,0,0,0,198,195,60,1,192,0,0,0,192,0,0,0,197,130,65,0,198,34,61,1,198,98,61,1,198,163,61,1,197,194,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,62,1,197,2,66,0,192,0,0,0,198,99,62,1,198,194,62,1,198,3,63,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,63,1,198,162,63,1,198,226,63,1,198,35,64,1,192,0,0,0,198,130,64,1,192,0,0,0,198,195,64,1,192,0,0,0,197,66,66,0,192,0,0,0,198,35,65,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,65,1,192,0,0,0,198,227,65,1,198,67,66,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,66,1,192,0,0,0,197,130,66,0,192,0,0,0,197,194,66,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,66,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,67,1,192,0,0,0,198,130,67,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,67,1,198,35,68,1,192,0,0,0,198,130,68,1,198,194,68,1,192,0,0,0,192,0,0,0,198,3,69,1,198,99,69,1,192,0,0,0,192,0,0,0,197,2,67,0,192,0,0,0,198,194,69,1,192,0,0,0,198,2,70,1,192,0,0,0,198,67,70,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,70,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,70,1,197,66,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,71,1,192,0,0,0,192,0,0,0,198,130,71,1,198,194,71,1,198,2,72,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,67,0,192,0,0,0,192,0,0,0,198,67,72,1,192,0,0,0,192,0,0,0,198,163,72,1,192,0,0,0,192,0,0,0,192,0,0,0,197,194,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,73,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,73,1,198,163,73,1,192,0,0,0,192,0,0,0,198,2,74,1,198,67,74,1,192,0,0,0,192,0,0,0,198,163,74,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,76,1,197,67,68,0,192,0,0,0,198,99,76,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,76,1,198,3,77,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,77,1,192,0,0,0,192,0,0,0,198,194,77,1,192,0,0,0,198,2,78,1,192,0,0,0,192,0,0,0,197,162,68,0,192,0,0,0,192,0,0,0,198,66,78,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,78,1,192,0,0,0,198,227,78,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,79,1,198,131,79,1,198,227,79,1,198,66,80,1,198,130,80,1,198,194,80,1,192,0,0,0,198,2,81,1,198,66,81,1,192,0,0,0,198,131,81,1,192,0,0,0,192,0,0,0,192,0,0,0,198,227,81,1,198,67,82,1,192,0,0,0,198,162,82,1,197,227,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,69,0,198,226,82,1,192,0,0,0,198,35,83,1,198,131,83,1,197,130,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,83,1,198,35,84,1,198,130,84,1,198,195,84,1,192,0,0,0,198,35,85,1,198,131,85,1,192,0,0,0,192,0,0,0,198,227,85,1,192,0,0,0,198,66,86,1,192,0,0,0,197,194,69,0,197,2,70,0,198,130,86,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,86,1,192,0,0,0,192,0,0,0,192,0,0,0,198,3,87,1,198,99,87,1,192,0,0,0,198,194,87,1,192,0,0,0,192,0,0,0,198,2,88,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,70,0,192,0,0,0,192,0,0,0,198,66,88,1,197,130,70,0,192,0,0,0,198,131,88,1,198,226,88,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,70,0,192,0,0,0,192,0,0,0,198,35,89,1,192,0,0,0,198,131,89,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,89,1,192,0,0,0,192,0,0,0,198,34,90,1,192,0,0,0,198,99,90,1,192,0,0,0,192,0,0,0,198,194,90,1,192,0,0,0,192,0,0,0,198,3,91,1,192,0,0,0,198,98,91,1,192,0,0,0,198,163,91,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,92,1,198,99,92,1,198,195,92,1,192,0,0,0,192,0,0,0,198,35,93,1,192,0,0,0,198,131,93,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,93,1,192,0,0,0,192,0,0,0,192,0,0,0,198,66,94,1,197,3,71,0,192,0,0,0,192,0,0,0,198,131,94,1,198,227,94,1,198,66,95,1,198,130,95,1,198,195,95,1,192,0,0,0,198,34,96,1,197,98,71,0,198,98,96,1,197,162,71,0,192,0,0,0,198,163,96,1,192,0,0,0,198,2,97,1,192,0,0,0,198,66,97,1,198,130,97,1,198,194,97,1,192,0,0,0,192,0,0,0,192,0,0,0,197,226,71,0,192,0,0,0,198,3,98,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,98,1,198,195,98,1,192,0,0,0,192,0,0,0,192,0,0,0,198,34,99,1,198,98,99,1,192,0,0,0,197,35,72,0,192,0,0,0,197,130,72,0,192,0,0,0,198,163,99,1,192,0,0,0,192,0,0,0,198,3,100,1,192,0,0,0,197,194,72,0,198,99,100,1,192,0,0,0,192,0,0,0,198,195,100,1,192,0,0,0,198,34,101,1,198,98,101,1,198,163,101,1,198,2,102,1,198,67,102,1,198,163,102,1,192,0,0,0,192,0,0,0,198,3,103,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,103,1,192,0,0,0,198,195,103,1,197,3,73,0,198,35,104,1,198,131,104,1,198,226,104,1,198,35,105,1,198,131,105,1,197,98,73,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,105,1,198,67,106,1,198,163,106,1,197,162,73,0,197,227,73,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,107,1,192,0,0,0,198,99,107,1,192,0,0,0,198,194,107,1,192,0,0,0,192,0,0,0,197,66,74,0,198,3,108,1,198,98,108,1,198,162,108,1,192,0,0,0,198,227,108,1,198,67,109,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,109,1,198,2,110,1,192,0,0,0,198,67,110,1,198,163,110,1,198,2,111,1,198,67,111,1,198,163,111,1,198,2,112,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,112,1,192,0,0,0,192,0,0,0,192,0,0,0,198,130,112,1,192,0,0,0,198,195,112,1,198,34,113,1,198,99,113,1,192,0,0,0,197,131,74,0,198,195,113,1,197,226,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,114,1,198,131,114,1,192,0,0,0,197,34,75,0,197,99,75,0,192,0,0,0,198,226,114,1,197,194,75,0,198,35,115,1,198,131,115,1,198,226,115,1,198,35,116,1,192,0,0,0,198,130,116,1,198,195,116,1,197,2,76,0,198,34,117,1,198,99,117,1,197,67,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,117,1,198,34,118,1,192,0,0,0,198,99,118,1,192,0,0,0,198,194,118,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,119,1,192,0,0,0,192,0,0,0,198,98,119,1,198,163,119,1,192,0,0,0,198,3,120,1,198,99,120,1,197,162,76,0,198,195,120,1,198,35,121,1,198,130,121,1,198,194,121,1,198,2,122,1,198,66,122,1,192,0,0,0,198,130,122,1,192,0,0,0,192,0,0,0,198,194,122,1,192,0,0,0,198,3,123,1,192,0,0,0,192,0,0,0,198,99,123,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,123,1,198,35,124,1,192,0,0,0,192,0,0,0,192,0,0,0,198,130,124,1,192,0,0,0,192,0,0,0,192,0,0,0,198,195,124,1,192,0,0,0,192,0,0,0,198,35,125,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,125,1,198,195,125,1,198,35,126,1,198,130,126,1,198,194,126,1,192,0,0,0,198,2,127,1,198,66,127,1,198,131,127,1,198,226,127,1,192,0,0,0,192,0,0,0,192,0,0,0,198,34,128,1,198,98,128,1,198,163,128,1,198,3,129,1,192,0,0,0,192,0,0,0,198,99,129,1,192,0,0,0,198,194,129,1,198,2,130,1,192,0,0,0,198,67,130,1,198,163,130,1,192,0,0,0,192,0,0,0,192,0,0,0,198,3,131,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,131,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,131,1,192,0,0,0,198,2,132,1,192,0,0,0,198,67,132,1,198,162,132,1,192,0,0,0,192,0,0,0,198,226,132,1,192,0,0,0,192,0,0,0,192,0,0,0,198,35,133,1,192,0,0,0,192,0,0,0,198,131,133,1,192,0,0,0,198,227,133,1,192,0,0,0,198,67,134,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,77,0,198,162,134,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,77,0,192,0,0,0,198,227,134,1,192,0,0,0,198,67,135,1,192,0,0,0,192,0,0,0,198,163,135,1,198,2,136,1,198,67,136,1,198,163,136,1,192,0,0,0,198,2,137,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,137,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,137,1,192,0,0,0,198,2,138,1,192,0,0,0,197,194,77,0,198,67,138,1,198,162,138,1,197,2,78,0,198,227,138,1,198,67,139,1,198,162,139,1,198,227,139,1,198,67,140,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,140,1,192,0,0,0,198,227,140,1,192,0,0,0,197,66,78,0,192,0,0,0,198,67,141,1,198,163,141,1,192,0,0,0,198,3,142,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,142,1,192,0,0,0,198,194,142,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,143,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,143,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,143,1,198,2,144,1,192,0,0,0,192,0,0,0,192,0,0,0,198,66,144,1,192,0,0,0,198,131,144,1,198,227,144,1,198,66,145,1,192,0,0,0,192,0,0,0,198,131,145,1,192,0,0,0,198,226,145,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,146,1,192,0,0,0,197,195,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,146,1,198,227,146,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,147,1,198,130,147,1,192,0,0,0,198,195,147,1,198,35,148,1,192,0,0,0,192,0,0,0,197,34,79,0,198,130,148,1,198,194,148,1,198,3,149,1,192,0,0,0,198,99,149,1,192,0,0,0,198,195,149,1,192,0,0,0,192,0,0,0,192,0,0,0,198,35,150,1,192,0,0,0,192,0,0,0,198,131,150,1,192,0,0,0,197,98,79,0,192,0,0,0,198,227,150,1,198,67,151,1,192,0,0,0,198,163,151,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,79,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,152,1,192,0,0,0,192,0,0,0,192,0,0,0,198,67,152,1,198,163,152,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,153,1,198,67,153,1,192,0,0,0,198,162,153,1,192,0,0,0,198,227,153,1,192,0,0,0,192,0,0,0,198,67,154,1,197,226,79,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,154,1,192,0,0,0,192,0,0,0,197,34,80,0,192,0,0,0,192,0,0,0,198,2,155,1,192,0,0,0,198,67,155,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,155,1,198,227,155,1,192,0,0,0,198,67,156,1,192,0,0,0,192,0,0,0,198,162,156,1,192,0,0,0,192,0,0,0,192,0,0,0,198,226,156,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,157,1,192,0,0,0,198,131,157,1,198,226,157,1,192,0,0,0,192,0,0,0,192,0,0,0,198,35,158,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,158,1,192,0,0,0,192,0,0,0,198,226,158,1,192,0,0,0,197,98,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,159,1,192,0,0,0,192,0,0,0,198,131,159,1,198,227,159,1,192,0,0,0,192,0,0,0,197,163,80,0,192,0,0,0,197,2,81,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,81,0,198,67,160,1,192,0,0,0,198,163,160,1,192,0,0,0,198,2,161,1,198,67,161,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,161,1,192,0,0,0,198,2,162,1,192,0,0,0,197,130,81,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,162,1,198,163,162,1,198,3,163,1,192,0,0,0,192,0,0,0,198,99,163,1,192,0,0,0,192,0,0,0,192,0,0,0,198,195,163,1,192,0,0,0,192,0,0,0,198,35,164,1,198,130,164,1,192,0,0,0,192,0,0,0,198,195,164,1,198,34,165,1,192,0,0,0,192,0,0,0,198,99,165,1,197,194,81,0,198,194,165,1,198,2,166,1,192,0,0,0,192,0,0,0,198,66,166,1,192,0,0,0,192,0,0,0,198,130,166,1,192,0,0,0,192,0,0,0,198,194,166,1,198,2,167,1,198,66,167,1,197,2,82,0,197,66,82,0,192,0,0,0,198,131,167,1,192,0,0,0,198,227,167,1,192,0,0,0,192,0,0,0,192,0,0,0,198,67,168,1,198,163,168,1,192,0,0,0,192,0,0,0,192,0,0,0,198,2,169,1,198,66,169,1,192,0,0,0,192,0,0,0,198,131,169,1,192,0,0,0,192,0,0,0,198,227,169,1,192,0,0,0,192,0,0,0,197,130,82,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,170,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,170,1,197,195,82,0,192,0,0,0,192,0,0,0,198,3,171,1,198,98,171,1,198,163,171,1,192,0,0,0,197,34,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,172,1,192,0,0,0,192,0,0,0,198,66,172,1,192,0,0,0,192,0,0,0,198,130,172,1,192,0,0,0,198,195,172,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,173,1,192,0,0,0,192,0,0,0,198,130,173,1,198,194,173,1,198,3,174,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,174,1,192,0,0,0,197,98,83,0,198,163,174,1,192,0,0,0,192,0,0,0,197,162,83,0,198,3,175,1,197,227,83,0,192,0,0,0,198,99,175,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,84,0,192,0,0,0,198,195,175,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,176,1,198,131,176,1,192,0,0,0,192,0,0,0,198,227,176,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,177,1,197,162,84,0,192,0,0,0,198,163,177,1,198,3,178,1,197,226,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,178,1,192,0,0,0,198,195,178,1,198,35,179,1,198,130,179,1,192,0,0,0,192,0,0,0,192,0,0,0,198,195,179,1,198,35,180,1,198,131,180,1,198,227,180,1,198,67,181,1,192,0,0,0,192,0,0,0,198,163,181,1,198,3,182,1,198,99,182,1,198,194,182,1,197,35,85,0,197,130,85,0,197,194,85,0,198,2,183,1,198,67,183,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,183,1,192,0,0,0,192,0,0,0,198,2,184,1,192,0,0,0,192,0,0,0,198,67,184,1,198,162,184,1,192,0,0,0,192,0,0,0,192,0,0,0,198,226,184,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,86,0,198,34,185,1,198,99,185,1,192,0,0,0,192,0,0,0,198,195,185,1,192,0,0,0,198,34,186,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,186,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,186,1,197,66,86,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,187,1,192,0,0,0,198,67,187,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,187,1,192,0,0,0,198,227,187,1,198,66,188,1,198,131,188,1,198,227,188,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,189,1,197,130,86,0,192,0,0,0,192,0,0,0,198,131,189,1,198,227,189,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,86,0,198,67,190,1,198,163,190,1,198,2,191,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,191,1,198,131,191,1,192,0,0,0,198,227,191,1,192,0,0,0,198,67,192,1,198,162,192,1,192,0,0,0,192,0,0,0,192,0,0,0,198,226,192,1,198,35,193,1,192,0,0,0,198,130,193,1,197,3,87,0,198,194,193,1,198,3,194,1,198,98,194,1,197,98,87,0,198,163,194,1,192,0,0,0,198,2,195,1,192,0,0,0,198,67,195,1,197,162,87,0,198,163,195,1,192,0,0,0,192,0,0,0,197,226,87,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,196,1,192,0,0,0,198,99,196,1,192,0,0,0,192,0,0,0,198,195,196,1,198,35,197,1,192,0,0,0,192,0,0,0,198,131,197,1,197,34,88,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,197,1,192,0,0,0,198,67,198,1,192,0,0,0,198,162,198,1,198,227,198,1,192,0,0,0,192,0,0,0,198,67,199,1,197,99,88,0,192,0,0,0,197,194,88,0,198,163,199,1,192,0,0,0,192,0,0,0,192,0,0,0,198,3,200,1,192,0,0,0,198,98,200,1,192,0,0,0,198,163,200,1,198,2,201,1,198,67,201,1,192,0,0,0,198,163,201,1,197,3,89,0,192,0,0,0,192,0,0,0,198,2,202,1,192,0,0,0,192,0,0,0,192,0,0,0,197,98,89,0,192,0,0,0,192,0,0,0,198,66,202,1,192,0,0,0,192,0,0,0,198,130,202,1,198,195,202,1,197,162,89,0,192,0,0,0,198,34,203,1,192,0,0,0,192,0,0,0,192,0,0,0,198,98,203,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,203,1,192,0,0,0,192,0,0,0,198,3,204,1,198,99,204,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,204,1,192,0,0,0,197,227,89,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,205,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,205,1,192,0,0,0,198,195,205,1,192,0,0,0,198,35,206,1,192,0,0,0,198,130,206,1,192,0,0,0,198,195,206,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,207,1,192,0,0,0,198,131,207,1,197,66,90,0,197,130,90,0,197,194,90,0,192,0,0,0,198,226,207,1,192,0,0,0,198,34,208,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,208,1,192,0,0,0,198,195,208,1,192,0,0,0,198,35,209,1,198,131,209,1,192,0,0,0,198,226,209,1,197,2,91,0,198,34,210,1,198,99,210,1,198,195,210,1,192,0,0,0,192,0,0,0,198,35,211,1,198,131,211,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,211,1,192,0,0,0,198,67,212,1,192,0,0,0,192,0,0,0,197,66,91,0,192,0,0,0,192,0,0,0,198,163,212,1,198,3,213,1,198,99,213,1,198,194,213,1,192,0,0,0,192,0,0,0,198,2,214,1,192,0,0,0,198,67,214,1,197,131,91,0,198,163,214,1,197,226,91,0,198,3,215,1,197,34,92,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,215,1,198,163,215,1,198,2,216,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,216,1,198,162,216,1,198,226,216,1,192,0,0,0,192,0,0,0,198,35,217,1,192,0,0,0,198,131,217,1,192,0,0,0,198,226,217,1,198,34,218,1,192,0,0,0,198,98,218,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,218,1,197,99,92,0,198,3,219,1,198,99,219,1,192,0,0,0,198,195,219,1,198,34,220,1,198,98,220,1,197,194,92,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,220,1,192,0,0,0,198,3,221,1,192,0,0,0,198,99,221,1,192,0,0,0,192,0,0,0,198,194,221,1,197,2,93,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,222,1,192,0,0,0,197,67,93,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,222,1,192,0,0,0,192,0,0,0,198,162,222,1,198,227,222,1,192,0,0,0,192,0,0,0,197,163,93,0,192,0,0,0,197,3,94,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,223,1,198,162,223,1,198,227,223,1,198,67,224,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,224,1,198,3,225,1,198,99,225,1,198,195,225,1,198,35,226,1,192,0,0,0,192,0,0,0,198,130,226,1,192,0,0,0,192,0,0,0,192,0,0,0,198,195,226,1,192,0,0,0,192,0,0,0,197,98,94,0,192,0,0,0,198,35,227,1,198,130,227,1,192,0,0,0,192,0,0,0,197,163,94,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,227,1,192,0,0,0,192,0,0,0,198,34,228,1,192,0,0,0,192,0,0,0,197,3,95,0,198,99,228,1,197,99,95,0,192,0,0,0,198,195,228,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,229,1,192,0,0,0,192,0,0,0,198,99,229,1,192,0,0,0,198,195,229,1,192,0,0,0,192,0,0,0,198,34,230,1,192,0,0,0,198,99,230,1,197,194,95,0,198,194,230,1,198,3,231,1,192,0,0,0,197,2,96,0,192,0,0,0,198,99,231,1,198,195,231,1,198,34,232,1,192,0,0,0,192,0,0,0,197,66,96,0,198,98,232,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,232,1,198,3,233,1,198,99,233,1,198,195,233,1,198,34,234,1,198,98,234,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,234,1,192,0,0,0,192,0,0,0,192,0,0,0,197,131,96,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,235,1,198,99,235,1,198,194,235,1,192,0,0,0,192,0,0,0,198,3,236,1,198,99,236,1,198,194,236,1,192,0,0,0,197,227,96,0,192,0,0,0,192,0,0,0,197,67,97,0,192,0,0,0,192,0,0,0,198,3,237,1,192,0,0,0,198,99,237,1,192,0,0,0,192,0,0,0,198,194,237,1,192,0,0,0,192,0,0,0,192,0,0,0,198,3,238,1,198,98,238,1,192,0,0,0,192,0,0,0,198,163,238,1,192,0,0,0,197,163,97,0,198,2,239,1,192,0,0,0,197,2,98,0,198,66,239,1,197,67,98,0,197,162,98,0,192,0,0,0,192,0,0,0,198,131,239,1,198,227,239,1,198,67,240,1,198,163,240,1,198,3,241,1,198,99,241,1,192,0,0,0,198,195,241,1,197,227,98,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,242,1,192,0,0,0,198,131,242,1,198,226,242,1,198,35,243,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,243,1,192,0,0,0,198,227,243,1,197,66,99,0,198,67,244,1,192,0,0,0,197,131,99,0,192,0,0,0,192,0,0,0,198,163,244,1,192,0,0,0,197,226,99,0,197,34,100,0,197,98,100,0,198,3,245,1,192,0,0,0,192,0,0,0,198,99,245,1,198,195,245,1,192,0,0,0,192,0,0,0,192,0,0,0,198,34,246,1,197,162,100,0,192,0,0,0,198,99,246,1,197,227,100,0,198,195,246,1,192,0,0,0,192,0,0,0,198,34,247,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,247,1,198,194,247,1,198,2,248,1,198,67,248,1,197,66,101,0,198,163,248,1,198,3,249,1,192,0,0,0,198,98,249,1,192,0,0,0,192,0,0,0,198,163,249,1,198,2,250,1,197,130,101,0,198,67,250,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,250,1,198,3,251,1,198,98,251,1,198,163,251,1,192,0,0,0,198,3,252,1,192,0,0,0,198,99,252,1,192,0,0,0,192,0,0,0,192,0,0,0,198,195,252,1,192,0,0,0,197,195,101,0,192,0,0,0,198,35,253,1,192,0,0,0,198,131,253,1,192,0,0,0,192,0,0,0,198,227,253,1,198,67,254,1,197,35,102,0,198,163,254,1,198,3,255,1,198,99,255,1,192,0,0,0,197,130,102,0,197,194,102,0,198,195,255,1,197,2,103,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,0,2,198,98,0,2,198,163,0,2,198,3,1,2,197,66,103,0,192,0,0,0,197,131,103,0,198,99,1,2,198,195,1,2,197,226,103,0,198,35,2,2,198,131,2,2,198,227,2,2,192,0,0,0,192,0,0,0,192,0,0,0,198,66,3,2,198,130,3,2,192,0,0,0,198,195,3,2,192,0,0,0,192,0,0,0,198,35,4,2,192,0,0,0,197,34,104,0,197,98,104,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,4,2,197,163,104,0,197,2,105,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,4,2,198,67,5,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,5,2,198,226,5,2,197,67,105,0,192,0,0,0,192,0,0,0,198,35,6,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,6,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,6,2,198,2,7,2,192,0,0,0,192,0,0,0,197,163,105,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,7,2,192,0,0,0,192,0,0,0,198,162,7,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,7,2,192,0,0,0,198,66,8,2,198,131,8,2,192,0,0,0,192,0,0,0,198,227,8,2,192,0,0,0,198,67,9,2,192,0,0,0,198,162,9,2,198,227,9,2,198,66,10,2,192,0,0,0,198,131,10,2,197,2,106,0,197,67,106,0,198,227,10,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,11,2,197,162,106,0,192,0,0,0,198,162,11,2,192,0,0,0,192,0,0,0,198,227,11,2,198,67,12,2,198,163,12,2,192,0,0,0,192,0,0,0,197,227,106,0,192,0,0,0,198,3,13,2,198,98,13,2,192,0,0,0,198,163,13,2,198,3,14,2,198,99,14,2,192,0,0,0,192,0,0,0,197,66,107,0,198,194,14,2,192,0,0,0,192,0,0,0,198,3,15,2,192,0,0,0,192,0,0,0,197,130,107,0,192,0,0,0,197,194,107,0,198,99,15,2,192,0,0,0,198,195,15,2,198,35,16,2,198,131,16,2,198,227,16,2,198,67,17,2,192,0,0,0,192,0,0,0,198,162,17,2,192,0,0,0,192,0,0,0,198,227,17,2,198,67,18,2,192,0,0,0,192,0,0,0,198,163,18,2,198,2,19,2,198,67,19,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,19,2,192,0,0,0,192,0,0,0,198,226,19,2,198,35,20,2,192,0,0,0,198,131,20,2,198,227,20,2,197,2,108,0,192,0,0,0,198,66,21,2,192,0,0,0,198,131,21,2,192,0,0,0,197,66,108,0,197,130,108,0,198,227,21,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,22,2,192,0,0,0,192,0,0,0,198,163,22,2,198,3,23,2,198,98,23,2,192,0,0,0,198,163,23,2,198,3,24,2,192,0,0,0,198,98,24,2,198,163,24,2,192,0,0,0,192,0,0,0,198,3,25,2,192,0,0,0,192,0,0,0,192,0,0,0,198,99,25,2,192,0,0,0,198,195,25,2,192,0,0,0,198,35,26,2,198,131,26,2,198,227,26,2,192,0,0,0,198,67,27,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,27,2,192,0,0,0,192,0,0,0,198,2,28,2,198,67,28,2,197,194,108,0,198,163,28,2,198,2,29,2,198,66,29,2,198,131,29,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,29,2,192,0,0,0,197,2,109,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,30,2,198,162,30,2,192,0,0,0,192,0,0,0,192,0,0,0,198,227,30,2,192,0,0,0,192,0,0,0,198,66,31,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,31,2,192,0,0,0,192,0,0,0,192,0,0,0,198,226,31,2,197,66,109,0,198,35,32,2,192,0,0,0,198,131,32,2,192,0,0,0,198,226,32,2,197,131,109,0,198,35,33,2,197,226,109,0,198,131,33,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,33,2,197,34,110,0,192,0,0,0,198,66,34,2,192,0,0,0,198,131,34,2,198,226,34,2,198,35,35,2,192,0,0,0,198,131,35,2,198,226,35,2,198,34,36,2,192,0,0,0,198,99,36,2,198,195,36,2,197,99,110,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,37,2,192,0,0,0,192,0,0,0,192,0,0,0,198,131,37,2,198,227,37,2,192,0,0,0,198,67,38,2,198,163,38,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,39,2,192,0,0,0,198,99,39,2,198,195,39,2,192,0,0,0,192,0,0,0,192,0,0,0,198,35,40,2,192,0,0,0,198,131,40,2,197,194,110,0,197,2,111,0,198,227,40,2,198,66,41,2,198,130,41,2,197,66,111,0,192,0,0,0,192,0,0,0,198,195,41,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,111,0,198,35,42,2,198,130,42,2,198,195,42,2,192,0,0,0,198,35,43,2,192,0,0,0,192,0,0,0,192,0,0,0,198,131,43,2,197,194,111,0,198,226,43,2,198,35,44,2,198,130,44,2,192,0,0,0,198,194,44,2,198,3,45,2,192,0,0,0,192,0,0,0,198,99,45,2,198,194,45,2,198,2,46,2,192,0,0,0,192,0,0,0,192,0,0,0,198,66,46,2,198,131,46,2,192,0,0,0,192,0,0,0,198,227,46,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,47,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,47,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,47,2,192,0,0,0,192,0,0,0,198,67,48,2,192,0,0,0,198,163,48,2,192,0,0,0,192,0,0,0,198,2,49,2,192,0,0,0,192,0,0,0,198,66,49,2,198,130,49,2,192,0,0,0,198,195,49,2,192,0,0,0,198,34,50,2,198,99,50,2,198,194,50,2,192,0,0,0,192,0,0,0,198,3,51,2,198,98,51,2,192,0,0,0,198,163,51,2,192,0,0,0,192,0,0,0,198,3,52,2,197,2,112,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,52,2,198,194,52,2,192,0,0,0,198,2,53,2,197,66,112,0,198,66,53,2,198,131,53,2,198,227,53,2,192,0,0,0,192,0,0,0,198,66,54,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,54,2,192,0,0,0,192,0,0,0,197,130,112,0,198,226,54,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,55,2,192,0,0,0,192,0,0,0,192,0,0,0,197,194,112,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,55,2,192,0,0,0,192,0,0,0,198,195,55,2,197,2,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,56,2,192,0,0,0,198,130,56,2,198,195,56,2,198,35,57,2,198,130,57,2,198,195,57,2,198,35,58,2,198,130,58,2,192,0,0,0,198,195,58,2,198,35,59,2,192,0,0,0,198,130,59,2,198,194,59,2,198,3,60,2,198,98,60,2,198,163,60,2,198,3,61,2,198,98,61,2,198,162,61,2,197,66,113,0,198,226,61,2,198,35,62,2,192,0,0,0,198,130,62,2,198,194,62,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,63,2,198,99,63,2,198,195,63,2,198,35,64,2,192,0,0,0,198,131,64,2,192,0,0,0,198,227,64,2,192,0,0,0,198,67,65,2,198,163,65,2,198,2,66,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,113,0,198,67,66,2,198,162,66,2,192,0,0,0,198,226,66,2,197,194,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,67,2,192,0,0,0,198,99,67,2,192,0,0,0,192,0,0,0,198,195,67,2,192,0,0,0,192,0,0,0,192,0,0,0,198,34,68,2,198,98,68,2,198,163,68,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,69,2,192,0,0,0,198,66,69,2,197,2,114,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,69,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,69,2,198,67,70,2,198,163,70,2,192,0,0,0,198,3,71,2,197,67,114,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,71,2,198,163,71,2,198,2,72,2,192,0,0,0,198,67,72,2,192,0,0,0,192,0,0,0,198,163,72,2,192,0,0,0,192,0,0,0,198,3,73,2,198,99,73,2,198,194,73,2,198,3,74,2,198,99,74,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,74,2,192,0,0,0,198,3,75,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,75,2,198,194,75,2,198,3,76,2,192,0,0,0,198,99,76,2,192,0,0,0,192,0,0,0,198,194,76,2,192,0,0,0,192,0,0,0,198,2,77,2,198,67,77,2,192,0,0,0,192,0,0,0,192,0,0,0,198,162,77,2,197,163,114,0,192,0,0,0,192,0,0,0,198,227,77,2,198,67,78,2,192,0,0,0,192,0,0,0,192,0,0,0,198,162,78,2,197,3,115,0,192,0,0,0,192,0,0,0,198,226,78,2,198,35,79,2,192,0,0,0,192,0,0,0,198,131,79,2,198,226,79,2,198,34,80,2,198,98,80,2,192,0,0,0,198,163,80,2,192,0,0,0,198,2,81,2,198,66,81,2,192,0,0,0,192,0,0,0,198,130,81,2,192,0,0,0,192,0,0,0,192,0,0,0,198,195,81,2,192,0,0,0,198,35,82,2,192,0,0,0,192,0,0,0,197,98,115,0,197,162,115,0,192,0,0,0,192,0,0,0,198,131,82,2,198,227,82,2,198,66,83,2,197,227,115,0,192,0,0,0,192,0,0,0,198,131,83,2,192,0,0,0,198,227,83,2,197,66,116,0,198,67,84,2,198,162,84,2,192,0,0,0,198,227,84,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,85,2,192,0,0,0,198,163,85,2,192,0,0,0,192,0,0,0,198,3,86,2,197,130,116,0,192,0,0,0,198,98,86,2,192,0,0,0,192,0,0,0,198,162,86,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,86,2,197,194,116,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,87,2,192,0,0,0,192,0,0,0,192,0,0,0,198,131,87,2,197,3,117,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,87,2,198,35,88,2,198,131,88,2,192,0,0,0,197,98,117,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,88,2,192,0,0,0,198,34,89,2,192,0,0,0,198,98,89,2,197,162,117,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,89,2,192,0,0,0,198,3,90,2,198,99,90,2,197,226,117,0,198,195,90,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,91,2,192,0,0,0,192,0,0,0,198,99,91,2,192,0,0,0,192,0,0,0,192,0,0,0,198,195,91,2,192,0,0,0,198,35,92,2,192,0,0,0,192,0,0,0,198,131,92,2,192,0,0,0,198,226,92,2,192,0,0,0,198,34,93,2,198,98,93,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,93,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,93,2,192,0,0,0,198,67,94,2,198,162,94,2,192,0,0,0,192,0,0,0,197,35,118,0,192,0,0,0,198,227,94,2,198,67,95,2,198,163,95,2,197,131,118,0,192,0,0,0,198,2,96,2,198,67,96,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,96,2,192,0,0,0,192,0,0,0,192,0,0,0,197,226,118,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,97,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,97,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,97,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,119,0,192,0,0,0,198,34,98,2,192,0,0,0,192,0,0,0,192,0,0,0,198,99,98,2,192,0,0,0,198,194,98,2,192,0,0,0,192,0,0,0,192,0,0,0,198,2,99,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,99,2,198,130,99,2,198,195,99,2,198,35,100,2,192,0,0,0,197,98,119,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,119,0,192,0,0,0,192,0,0,0,198,130,100,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,100,2,198,35,101,2,198,131,101,2,198,226,101,2,192,0,0,0,198,34,102,2,192,0,0,0,192,0,0,0,192,0,0,0,198,99,102,2,198,195,102,2,192,0,0,0,192,0,0,0,197,226,119,0,198,35,103,2,198,130,103,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,103,2,198,35,104,2,192,0,0,0,192,0,0,0,192,0,0,0,198,130,104,2,192,0,0,0,198,194,104,2,192,0,0,0,197,34,120,0,198,3,105,2,192,0,0,0,198,99,105,2,192,0,0,0,198,195,105,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,106,2,198,131,106,2,192,0,0,0,198,226,106,2,198,35,107,2,192,0,0,0,198,131,107,2,192,0,0,0,192,0,0,0,198,226,107,2,198,35,108,2,192,0,0,0,197,99,120,0,192,0,0,0,198,131,108,2,198,227,108,2,192,0,0,0,192,0,0,0,198,66,109,2,198,131,109,2,192,0,0,0,198,227,109,2,192,0,0,0,198,67,110,2,192,0,0,0,198,163,110,2,197,194,120,0,192,0,0,0,198,3,111,2,198,99,111,2,192,0,0,0,198,194,111,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,121,0,198,2,112,2,198,67,112,2,198,162,112,2,192,0,0,0,198,227,112,2,198,67,113,2,198,162,113,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,121,0,197,130,121,0,192,0,0,0,198,227,113,2,192,0,0,0,198,67,114,2,198,163,114,2,192,0,0,0,197,195,121,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,122,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,115,2,192,0,0,0,198,67,115,2,192,0,0,0,198,162,115,2,192,0,0,0,197,98,122,0,192,0,0,0,192,0,0,0,198,227,115,2,192,0,0,0,192,0,0,0,198,67,116,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,116,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,117,2,192,0,0,0,192,0,0,0,192,0,0,0,198,99,117,2,198,195,117,2,192,0,0,0,192,0,0,0,192,0,0,0,198,35,118,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,118,2,198,227,118,2,198,67,119,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,119,2,197,163,122,0,198,227,119,2,192,0,0,0,192,0,0,0,198,66,120,2,192,0,0,0,192,0,0,0,198,130,120,2,192,0,0,0,192,0,0,0,192,0,0,0,198,194,120,2,198,2,121,2,197,2,123,0,198,66,121,2,192,0,0,0,198,131,121,2,192,0,0,0,198,227,121,2,198,67,122,2,198,163,122,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,123,2,192,0,0,0,192,0,0,0,197,66,123,0,198,66,123,2,192,0,0,0,192,0,0,0,192,0,0,0,198,130,123,2,198,194,123,2,198,3,124,2,192,0,0,0,198,98,124,2,192,0,0,0,192,0,0,0,198,162,124,2,198,227,124,2,198,66,125,2,197,130,123,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,123,0,198,131,125,2,192,0,0,0,192,0,0,0,192,0,0,0,198,227,125,2,198,67,126,2,192,0,0,0,192,0,0,0,198,163,126,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,127,2,198,99,127,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,127,2,192,0,0,0,198,3,128,2,198,99,128,2,192,0,0,0,198,194,128,2,198,2,129,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,129,2,192,0,0,0,192,0,0,0,198,162,129,2,198,227,129,2,197,2,124,0,192,0,0,0,197,66,124,0,192,0,0,0,198,67,130,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,130,2,192,0,0,0,192,0,0,0,192,0,0,0,198,2,131,2,198,67,131,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,131,2,192,0,0,0,198,226,131,2,192,0,0,0,198,35,132,2,198,130,132,2,198,194,132,2,192,0,0,0,198,3,133,2,192,0,0,0,198,99,133,2,192,0,0,0,192,0,0,0,198,195,133,2,198,35,134,2,192,0,0,0,198,130,134,2,192,0,0,0,192,0,0,0,192,0,0,0,198,195,134,2,198,35,135,2,192,0,0,0,192,0,0,0,198,130,135,2,198,195,135,2,198,35,136,2,198,131,136,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,136,2,192,0,0,0,198,67,137,2,192,0,0,0,192,0,0,0,198,162,137,2,198,226,137,2,192,0,0,0,198,34,138,2,192,0,0,0,198,99,138,2,198,194,138,2,198,3,139,2,198,98,139,2,197,130,124,0,197,194,124,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,139,2,198,3,140,2,198,99,140,2,192,0,0,0,192,0,0,0,198,195,140,2,192,0,0,0,192,0,0,0,198,34,141,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,141,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,141,2,192,0,0,0,192,0,0,0,198,226,141,2,192,0,0,0,198,35,142,2,198,131,142,2,192,0,0,0,198,226,142,2,198,34,143,2,192,0,0,0,192,0,0,0,198,99,143,2,198,195,143,2,192,0,0,0,192,0,0,0,192,0,0,0,198,35,144,2,198,130,144,2,192,0,0,0,198,194,144,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,145,2,198,99,145,2,198,195,145,2,198,35,146,2,192,0,0,0,198,130,146,2,198,195,146,2,192,0,0,0,192,0,0,0,198,35,147,2,192,0,0,0,192,0,0,0,198,131,147,2,198,227,147,2,192,0,0,0,198,67,148,2,197,2,125,0,192,0,0,0,198,163,148,2,192,0,0,0,198,3,149,2,198,99,149,2,198,195,149,2,198,35,150,2,192,0,0,0,198,131,150,2,198,227,150,2,197,67,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,151,2,192,0,0,0,192,0,0,0,198,131,151,2,198,227,151,2,198,67,152,2,198,163,152,2,192,0,0,0,192,0,0,0,198,3,153,2,198,99,153,2,192,0,0,0,198,194,153,2,198,3,154,2,192,0,0,0,192,0,0,0,198,98,154,2,192,0,0,0,198,162,154,2,192,0,0,0,198,226,154,2,197,162,125,0,198,35,155,2,192,0,0,0,192,0,0,0,198,130,155,2,198,195,155,2,198,35,156,2,198,131,156,2,192,0,0,0,192,0,0,0,198,227,156,2,198,67,157,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,157,2,198,226,157,2,197,227,125,0,197,67,126,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,158,2,198,99,158,2,192,0,0,0,198,195,158,2,198,35,159,2,192,0,0,0,198,131,159,2,198,227,159,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,160,2,192,0,0,0,198,163,160,2,192,0,0,0,198,2,161,2,197,162,126,0,198,67,161,2,192,0,0,0,198,162,161,2,198,227,161,2,192,0,0,0,198,66,162,2,197,227,126,0,197,66,127,0,197,130,127,0,198,131,162,2,198,227,162,2,192,0,0,0,198,67,163,2,198,162,163,2,192,0,0,0,198,226,163,2,198,35,164,2,198,131,164,2,192,0,0,0,192,0,0,0,198,227,164,2,198,67,165,2,192,0,0,0,198,163,165,2,198,2,166,2,198,67,166,2,192,0,0,0,198,162,166,2,198,227,166,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,127,0,192,0,0,0,192,0,0,0,198,66,167,2,197,35,128,0,197,130,128,0,192,0,0,0,198,131,167,2,198,226,167,2,192,0,0,0,198,35,168,2,192,0,0,0,197,194,128,0,198,130,168,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,168,2,198,35,169,2,198,131,169,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,169,2,198,66,170,2,192,0,0,0,198,130,170,2,192,0,0,0,198,195,170,2,198,34,171,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,171,2,198,195,171,2,192,0,0,0,198,34,172,2,192,0,0,0,192,0,0,0,198,99,172,2,198,195,172,2,197,2,129,0,197,67,129,0,198,35,173,2,192,0,0,0,192,0,0,0,198,130,173,2,198,195,173,2,192,0,0,0,198,35,174,2,192,0,0,0,192,0,0,0,198,131,174,2,197,162,129,0,198,226,174,2,198,34,175,2,192,0,0,0,192,0,0,0,198,99,175,2,198,195,175,2,198,35,176,2,198,131,176,2,192,0,0,0,197,226,129,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,176,2,192,0,0,0,192,0,0,0,198,34,177,2,192,0,0,0,192,0,0,0,198,98,177,2,198,163,177,2,197,35,130,0,198,2,178,2,197,131,130,0,192,0,0,0,192,0,0,0,198,67,178,2,192,0,0,0,192,0,0,0,198,163,178,2,192,0,0,0,192,0,0,0,197,226,130,0,192,0,0,0,198,3,179,2,198,99,179,2,198,194,179,2,192,0,0,0,197,34,131,0,192,0,0,0,198,3,180,2,198,99,180,2,198,195,180,2,192,0,0,0,198,35,181,2,197,98,131,0,198,131,181,2,192,0,0,0,192,0,0,0,198,227,181,2,198,66,182,2,198,130,182,2,198,194,182,2,192,0,0,0,198,3,183,2,192,0,0,0,198,99,183,2,197,162,131,0,197,226,131,0,192,0,0,0,192,0,0,0,197,34,132,0,192,0,0,0,198,195,183,2,192,0,0,0,192,0,0,0,198,35,184,2,197,98,132,0,192,0,0,0,198,131,184,2,198,227,184,2,198,67,185,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,185,2,198,3,186,2,192,0,0,0,198,99,186,2,192,0,0,0,192,0,0,0,192,0,0,0,198,195,186,2,192,0,0,0,198,34,187,2,198,98,187,2,198,162,187,2,192,0,0,0,192,0,0,0,192,0,0,0,198,227,187,2,192,0,0,0,192,0,0,0,198,67,188,2,198,163,188,2,198,3,189,2,192,0,0,0,198,98,189,2,198,163,189,2,198,3,190,2,198,99,190,2,198,195,190,2,192,0,0,0,192,0,0,0,198,34,191,2,192,0,0,0,198,99,191,2,198,195,191,2,192,0,0,0,198,34,192,2,192,0,0,0,192,0,0,0,192,0,0,0,197,162,132,0,192,0,0,0,192,0,0,0,197,226,132,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,192,2,198,163,192,2,192,0,0,0,192,0,0,0,198,3,193,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,193,2,198,163,193,2,198,2,194,2,198,67,194,2,192,0,0,0,197,34,133,0,192,0,0,0,192,0,0,0,198,163,194,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,195,2,192,0,0,0,198,66,195,2,198,131,195,2,198,227,195,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,196,2,192,0,0,0,198,131,196,2,198,227,196,2,192,0,0,0,198,66,197,2,198,131,197,2,198,227,197,2,198,66,198,2,198,130,198,2,192,0,0,0,197,98,133,0,192,0,0,0,197,162,133,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,198,2,197,226,133,0,192,0,0,0,198,3,199,2,198,99,199,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,199,2,192,0,0,0,198,3,200,2,192,0,0,0,198,99,200,2,198,195,200,2,192,0,0,0,192,0,0,0,198,35,201,2,198,131,201,2,192,0,0,0,192,0,0,0,198,226,201,2,192,0,0,0,197,35,134,0,192,0,0,0,198,35,202,2,197,130,134,0,197,194,134,0,198,130,202,2,192,0,0,0,197,2,135,0,198,194,202,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,203,2,198,67,203,2,192,0,0,0,198,162,203,2,198,226,203,2,192,0,0,0,192,0,0,0,198,34,204,2,198,98,204,2,198,162,204,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,204,2,192,0,0,0,192,0,0,0,198,34,205,2,192,0,0,0,192,0,0,0,198,99,205,2,198,194,205,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,206,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,206,2,198,194,206,2,198,3,207,2,198,99,207,2,198,195,207,2,197,66,135,0,192,0,0,0,192,0,0,0,198,35,208,2,198,130,208,2,197,131,135,0,197,226,135,0,192,0,0,0,192,0,0,0,198,195,208,2,198,35,209,2,198,131,209,2,192,0,0,0,192,0,0,0,197,34,136,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,209,2,192,0,0,0,192,0,0,0,198,35,210,2,192,0,0,0,192,0,0,0,198,130,210,2,198,194,210,2,198,2,211,2,192,0,0,0,198,66,211,2,198,130,211,2,198,195,211,2,198,34,212,2,192,0,0,0,192,0,0,0,198,98,212,2,192,0,0,0,198,162,212,2,192,0,0,0,192,0,0,0,198,227,212,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,136,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,213,2,198,163,213,2,192,0,0,0,192,0,0,0,198,2,214,2,198,67,214,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,214,2,198,3,215,2,192,0,0,0,192,0,0,0,198,98,215,2,198,163,215,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,216,2,192,0,0,0,192,0,0,0,192,0,0,0,198,66,216,2,198,131,216,2,192,0,0,0,198,227,216,2,198,66,217,2,192,0,0,0,198,131,217,2,192,0,0,0,192,0,0,0,192,0,0,0,197,163,136,0,198,227,217,2,192,0,0,0,198,67,218,2,198,163,218,2,198,2,219,2,192,0,0,0,192,0,0,0,198,67,219,2,198,163,219,2,198,2,220,2,198,66,220,2,198,131,220,2,192,0,0,0,198,227,220,2,192,0,0,0,198,67,221,2,198,163,221,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,222,2,192,0,0,0,198,99,222,2,198,195,222,2,192,0,0,0,197,3,137,0,198,35,223,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,223,2,192,0,0,0,198,227,223,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,224,2,192,0,0,0,198,131,224,2,198,227,224,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,225,2,198,163,225,2,192,0,0,0,198,3,226,2,192,0,0,0,198,99,226,2,192,0,0,0,198,194,226,2,198,3,227,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,227,2,192,0,0,0,192,0,0,0,192,0,0,0,198,194,227,2,197,98,137,0,192,0,0,0,192,0,0,0,198,3,228,2,192,0,0,0,192,0,0,0,192,0,0,0,198,98,228,2,192,0,0,0,198,162,228,2,192,0,0,0,197,162,137,0,197,226,137,0,198,227,228,2,198,66,229,2,198,131,229,2,192,0,0,0,192,0,0,0,192,0,0,0,198,226,229,2,198,34,230,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,230,2,192,0,0,0,197,34,138,0,198,162,230,2,198,227,230,2,192,0,0,0,198,66,231,2,192,0,0,0,198,131,231,2,198,226,231,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,232,2,198,99,232,2,192,0,0,0,192,0,0,0,192,0,0,0,198,195,232,2,198,34,233,2,198,98,233,2,198,162,233,2,198,227,233,2,192,0,0,0,192,0,0,0,198,66,234,2,192,0,0,0,198,131,234,2,192,0,0,0,192,0,0,0,198,227,234,2,198,67,235,2,198,162,235,2,198,227,235,2,192,0,0,0,198,67,236,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,236,2,198,3,237,2,192,0,0,0,192,0,0,0,197,98,138,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,237,2,198,194,237,2,192,0,0,0,192,0,0,0,192,0,0,0,198,3,238,2,192,0,0,0,198,99,238,2,192,0,0,0,192,0,0,0,192,0,0,0,198,194,238,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,239,2,198,67,239,2,198,163,239,2,198,3,240,2,192,0,0,0,192,0,0,0,192,0,0,0,198,99,240,2,198,195,240,2,192,0,0,0,192,0,0,0,198,35,241,2,197,162,138,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,241,2,192,0,0,0,198,227,241,2,197,226,138,0,192,0,0,0,192,0,0,0,198,66,242,2,198,130,242,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,242,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,243,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,139,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,243,2,192,0,0,0,198,227,243,2,192,0,0,0,192,0,0,0,197,99,139,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,244,2,192,0,0,0,198,163,244,2,192,0,0,0,192,0,0,0,198,2,245,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,245,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,245,2,192,0,0,0,192,0,0,0,192,0,0,0,198,227,245,2,198,67,246,2,198,162,246,2,192,0,0,0,198,227,246,2,192,0,0,0,198,66,247,2,198,130,247,2,192,0,0,0,192,0,0,0,198,195,247,2,198,35,248,2,192,0,0,0,198,131,248,2,197,194,139,0,197,2,140,0,198,226,248,2,192,0,0,0,198,35,249,2,192,0,0,0,192,0,0,0,198,131,249,2,192,0,0,0,198,227,249,2,198,67,250,2,198,163,250,2,198,3,251,2,197,66,140,0,198,99,251,2,192,0,0,0,192,0,0,0,192,0,0,0,198,194,251,2,192,0,0,0,198,3,252,2,192,0,0,0,197,130,140,0,197,194,140,0,198,99,252,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,252,2,192,0,0,0,192,0,0,0,198,2,253,2,192,0,0,0,192,0,0,0,198,67,253,2,198,163,253,2,192,0,0,0,192,0,0,0,198,2,254,2,192,0,0,0,192,0,0,0,198,67,254,2,198,163,254,2,192,0,0,0,192,0,0,0,198,2,255,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,255,2,197,3,141,0,198,163,255,2,198,2,0,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,0,3,198,131,0,3,192,0,0,0,198,226,0,3,197,98,141,0,192,0,0,0,192,0,0,0,198,34,1,3,192,0,0,0,192,0,0,0,198,98,1,3,192,0,0,0,192,0,0,0,192,0,0,0,197,163,141,0,197,3,142,0,192,0,0,0,198,163,1,3,192,0,0,0,198,2,2,3,198,66,2,3,192,0,0,0,198,131,2,3,192,0,0,0,192,0,0,0,192,0,0,0,198,227,2,3,192,0,0,0,192,0,0,0,198,67,3,3,198,162,3,3,197,98,142,0,198,227,3,3,198,66,4,3,192,0,0,0,198,130,4,3,192,0,0,0,192,0,0,0,198,195,4,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,142,0,198,35,5,3,198,131,5,3,198,227,5,3,198,66,6,3,198,130,6,3,192,0,0,0,192,0,0,0,198,195,6,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,7,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,7,3,192,0,0,0,198,194,7,3,192,0,0,0,198,2,8,3,192,0,0,0,198,67,8,3,198,163,8,3,192,0,0,0,198,3,9,3,192,0,0,0,192,0,0,0,198,99,9,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,9,3,198,35,10,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,10,3,198,227,10,3,198,66,11,3,198,130,11,3,192,0,0,0,192,0,0,0,197,226,142,0,192,0,0,0,197,34,143,0,192,0,0,0,198,194,11,3,192,0,0,0,192,0,0,0,197,98,143,0,198,3,12,3,192,0,0,0,198,98,12,3,192,0,0,0,198,163,12,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,13,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,13,3,192,0,0,0,192,0,0,0,198,163,13,3,198,2,14,3,197,162,143,0,197,226,143,0,192,0,0,0,198,67,14,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,14,3,198,3,15,3,192,0,0,0,192,0,0,0,197,34,144,0,198,98,15,3,192,0,0,0,198,162,15,3,198,226,15,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,16,3,192,0,0,0,198,131,16,3,198,227,16,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,17,3,198,163,17,3,198,3,18,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,18,3,192,0,0,0,198,163,18,3,198,2,19,3,192,0,0,0,192,0,0,0,192,0,0,0,198,67,19,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,144,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,19,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,20,3,198,99,20,3,192,0,0,0,192,0,0,0,192,0,0,0,198,195,20,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,21,3,192,0,0,0,192,0,0,0,192,0,0,0,198,131,21,3,198,227,21,3,192,0,0,0,198,67,22,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,22,3,192,0,0,0,192,0,0,0,198,3,23,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,144,0,198,99,23,3,192,0,0,0,198,194,23,3,198,3,24,3,192,0,0,0,198,99,24,3,198,195,24,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,25,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,25,3,192,0,0,0,192,0,0,0,198,195,25,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,145,0,198,35,26,3,192,0,0,0,192,0,0,0,198,131,26,3,192,0,0,0,192,0,0,0,198,226,26,3,197,98,145,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,27,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,145,0,198,99,27,3,198,194,27,3,198,3,28,3,198,99,28,3,198,195,28,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,29,3,192,0,0,0,198,131,29,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,29,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,30,3,198,163,30,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,31,3,198,99,31,3,198,195,31,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,32,3,192,0,0,0,198,131,32,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,32,3,198,67,33,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,33,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,34,3,192,0,0,0,197,227,145,0,198,98,34,3,192,0,0,0,197,67,146,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,146,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,34,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,146,0,198,2,35,3,197,34,147,0,198,66,35,3,197,99,147,0,192,0,0,0,197,195,147,0,198,131,35,3,198,227,35,3,192,0,0,0,192,0,0,0,192,0,0,0,198,67,36,3,192,0,0,0,192,0,0,0,197,35,148,0,197,131,148,0,192,0,0,0,198,163,36,3,192,0,0,0,192,0,0,0,198,2,37,3,192,0,0,0,198,67,37,3,192,0,0,0,198,162,37,3,192,0,0,0,192,0,0,0,192,0,0,0,197,226,148,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,149,0,198,227,37,3,198,67,38,3,192,0,0,0,192,0,0,0,192,0,0,0,197,130,149,0,198,163,38,3,197,195,149,0,198,2,39,3,198,67,39,3,198,162,39,3,198,226,39,3,198,34,40,3,198,98,40,3,192,0,0,0,192,0,0,0,197,34,150,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,40,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,40,3,198,66,41,3,192,0,0,0,192,0,0,0,198,130,41,3,192,0,0,0,192,0,0,0,192,0,0,0,198,195,41,3,198,34,42,3,192,0,0,0,198,98,42,3,198,163,42,3,198,3,43,3,192,0,0,0,197,98,150,0,192,0,0,0,192,0,0,0,198,99,43,3,198,194,43,3,192,0,0,0,192,0,0,0,197,162,150,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,44,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,44,3,192,0,0,0,198,195,44,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,45,3,192,0,0,0,192,0,0,0,192,0,0,0,197,226,150,0,192,0,0,0,198,131,45,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,45,3,192,0,0,0,198,67,46,3,198,163,46,3,198,3,47,3,192,0,0,0,192,0,0,0,198,99,47,3,198,194,47,3,192,0,0,0,198,3,48,3,192,0,0,0,198,99,48,3,192,0,0,0,192,0,0,0,198,195,48,3,192,0,0,0,198,35,49,3,197,34,151,0,192,0,0,0,198,131,49,3,192,0,0,0,197,98,151,0,192,0,0,0,192,0,0,0,198,227,49,3,197,162,151,0,198,66,50,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,50,3,192,0,0,0,198,194,50,3,192,0,0,0,198,2,51,3,192,0,0,0,192,0,0,0,198,67,51,3,198,163,51,3,198,2,52,3,192,0,0,0,198,66,52,3,198,130,52,3,198,194,52,3,192,0,0,0,198,3,53,3,198,98,53,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,151,0,198,162,53,3,192,0,0,0,192,0,0,0,198,227,53,3,192,0,0,0,192,0,0,0,192,0,0,0,197,34,152,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,54,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,54,3,192,0,0,0,192,0,0,0,198,3,55,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,55,3,197,98,152,0,198,163,55,3,192,0,0,0,198,3,56,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,56,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,56,3,198,3,57,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,57,3,198,194,57,3,192,0,0,0,192,0,0,0,198,3,58,3,198,99,58,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,58,3,197,162,152,0,198,35,59,3,198,131,59,3,198,226,59,3,198,35,60,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,60,3,192,0,0,0,192,0,0,0,198,227,60,3,198,66,61,3,198,131,61,3,192,0,0,0,198,227,61,3,192,0,0,0,197,227,152,0,198,67,62,3,192,0,0,0,198,163,62,3,192,0,0,0,198,2,63,3,198,66,63,3,198,131,63,3,198,226,63,3,197,66,153,0,197,131,153,0,198,35,64,3,198,130,64,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,64,3,192,0,0,0,198,35,65,3,192,0,0,0,192,0,0,0,197,226,153,0,192,0,0,0,192,0,0,0,197,34,154,0,192,0,0,0,198,131,65,3,192,0,0,0,198,227,65,3,192,0,0,0,198,67,66,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,66,3,192,0,0,0,192,0,0,0,198,2,67,3,198,67,67,3,192,0,0,0,192,0,0,0,198,163,67,3,198,2,68,3,198,67,68,3,198,163,68,3,198,3,69,3,198,99,69,3,198,195,69,3,197,99,154,0,197,195,154,0,192,0,0,0,192,0,0,0,198,35,70,3,197,34,155,0,192,0,0,0,192,0,0,0,198,131,70,3,192,0,0,0,198,227,70,3,198,67,71,3,198,163,71,3,198,3,72,3,198,99,72,3,192,0,0,0,198,194,72,3,198,2,73,3,198,66,73,3,197,98,155,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,73,3,198,226,73,3,192,0,0,0,197,162,155,0,192,0,0,0,198,35,74,3,198,130,74,3,192,0,0,0,197,226,155,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,74,3,197,34,156,0,192,0,0,0,197,98,156,0,198,2,75,3,198,66,75,3,198,131,75,3,198,227,75,3,192,0,0,0,197,163,156,0,198,67,76,3,192,0,0,0,198,163,76,3,198,2,77,3,198,67,77,3,192,0,0,0,192,0,0,0,198,163,77,3,198,3,78,3,192,0,0,0,197,3,157,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,78,3,198,194,78,3,192,0,0,0,197,99,157,0,198,3,79,3,198,99,79,3,192,0,0,0,198,194,79,3,192,0,0,0,198,3,80,3,198,98,80,3,198,163,80,3,198,2,81,3,198,66,81,3,192,0,0,0,192,0,0,0,198,131,81,3,198,226,81,3,197,194,157,0,198,35,82,3,192,0,0,0,198,130,82,3,192,0,0,0,192,0,0,0,198,194,82,3,192,0,0,0,192,0,0,0,198,3,83,3,192,0,0,0,192,0,0,0,198,99,83,3,198,195,83,3,197,2,158,0,198,35,84,3,192,0,0,0,198,131,84,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,158,0,192,0,0,0,192,0,0,0,198,227,84,3,192,0,0,0,192,0,0,0,198,67,85,3,198,163,85,3,198,3,86,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,86,3,198,162,86,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,86,3,192,0,0,0,198,34,87,3,192,0,0,0,198,99,87,3,192,0,0,0,192,0,0,0,198,195,87,3,198,34,88,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,88,3,192,0,0,0,197,130,158,0,192,0,0,0,198,195,88,3,197,195,158,0,197,35,159,0,198,35,89,3,192,0,0,0,198,130,89,3,192,0,0,0,192,0,0,0,192,0,0,0,198,194,89,3,192,0,0,0,192,0,0,0,198,3,90,3,197,131,159,0,192,0,0,0,198,99,90,3,198,195,90,3,198,35,91,3,197,227,159,0,197,66,160,0,197,131,160,0,197,226,160,0,192,0,0,0,192,0,0,0,198,130,91,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,91,3,198,35,92,3,192,0,0,0,198,131,92,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,92,3,192,0,0,0,198,67,93,3,198,163,93,3,198,3,94,3,198,98,94,3,198,163,94,3,192,0,0,0,197,34,161,0,198,3,95,3,192,0,0,0,198,98,95,3,192,0,0,0,198,162,95,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,95,3,192,0,0,0,192,0,0,0,197,98,161,0,197,163,161,0,197,3,162,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,162,0,192,0,0,0,192,0,0,0,198,66,96,3,192,0,0,0,192,0,0,0,198,131,96,3,192,0,0,0,198,227,96,3,198,66,97,3,198,131,97,3,192,0,0,0,192,0,0,0,198,227,97,3,197,162,162,0,198,67,98,3,192,0,0,0,192,0,0,0,198,163,98,3,192,0,0,0,198,3,99,3,198,99,99,3,197,226,162,0,198,194,99,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,100,3,198,67,100,3,192,0,0,0,192,0,0,0,192,0,0,0,198,162,100,3,192,0,0,0,192,0,0,0,198,227,100,3,192,0,0,0,198,67,101,3,197,35,163,0,192,0,0,0,198,163,101,3,197,130,163,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,102,3,192,0,0,0,192,0,0,0,198,99,102,3,198,195,102,3,192,0,0,0,192,0,0,0,198,35,103,3,197,194,163,0,198,131,103,3,197,2,164,0,198,226,103,3,198,35,104,3,192,0,0,0,192,0,0,0,198,131,104,3,192,0,0,0,192,0,0,0,192,0,0,0,197,66,164,0,192,0,0,0,198,227,104,3,197,130,164,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,105,3,192,0,0,0,198,130,105,3,198,195,105,3,198,34,106,3,192,0,0,0,192,0,0,0,198,98,106,3,198,163,106,3,192,0,0,0,198,2,107,3,198,67,107,3,198,163,107,3,192,0,0,0,198,2,108,3,198,67,108,3,198,163,108,3,192,0,0,0,198,3,109,3,192,0,0,0,198,99,109,3,198,195,109,3,198,34,110,3,192,0,0,0,197,194,164,0,192,0,0,0,192,0,0,0,198,99,110,3,192,0,0,0,198,195,110,3,192,0,0,0,198,35,111,3,198,130,111,3,198,195,111,3,198,35,112,3,198,131,112,3,198,227,112,3,198,67,113,3,198,162,113,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,113,3,192,0,0,0,197,3,165,0,197,98,165,0,198,67,114,3,192,0,0,0,197,162,165,0,192,0,0,0,198,163,114,3,198,2,115,3,198,66,115,3,192,0,0,0,198,130,115,3,198,195,115,3,198,35,116,3,197,226,165,0,192,0,0,0,197,34,166,0,192,0,0,0,192,0,0,0,198,131,116,3,198,227,116,3,197,98,166,0,192,0,0,0,198,67,117,3,192,0,0,0,192,0,0,0,198,163,117,3,192,0,0,0,198,3,118,3,192,0,0,0,198,99,118,3,198,195,118,3,197,162,166,0,192,0,0,0,198,34,119,3,192,0,0,0,198,98,119,3,198,162,119,3,198,227,119,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,120,3,198,130,120,3,198,195,120,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,121,3,192,0,0,0,192,0,0,0,198,99,121,3,198,195,121,3,192,0,0,0,192,0,0,0,198,34,122,3,192,0,0,0,198,99,122,3,198,195,122,3,192,0,0,0,197,226,166,0,192,0,0,0,198,35,123,3,192,0,0,0,192,0,0,0,198,131,123,3,198,227,123,3,192,0,0,0,198,67,124,3,197,35,167,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,124,3,192,0,0,0,192,0,0,0,192,0,0,0,198,3,125,3,192,0,0,0,192,0,0,0,192,0,0,0,197,130,167,0,192,0,0,0,192,0,0,0,198,99,125,3,198,195,125,3,192,0,0,0,192,0,0,0,198,35,126,3,198,131,126,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,126,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,127,3,198,131,127,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,127,3,198,67,128,3,192,0,0,0,197,195,167,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,128,3,198,226,128,3,192,0,0,0,198,35,129,3,192,0,0,0,192,0,0,0,198,131,129,3,192,0,0,0,192,0,0,0,198,226,129,3,192,0,0,0,198,35,130,3,192,0,0,0,192,0,0,0,198,130,130,3,198,195,130,3,192,0,0,0,192,0,0,0,192,0,0,0,198,34,131,3,192,0,0,0,198,99,131,3,198,194,131,3,192,0,0,0,192,0,0,0,198,3,132,3,198,99,132,3,198,195,132,3,192,0,0,0,192,0,0,0,198,35,133,3,192,0,0,0,192,0,0,0,198,131,133,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,133,3,198,67,134,3,198,163,134,3,198,3,135,3,192,0,0,0,192,0,0,0,197,34,168,0,197,99,168,0,192,0,0,0,198,98,135,3,198,163,135,3,192,0,0,0,198,3,136,3,192,0,0,0,192,0,0,0,197,195,168,0,192,0,0,0,198,98,136,3,198,162,136,3,198,227,136,3,192,0,0,0,192,0,0,0,192,0,0,0,197,34,169,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,169,0,197,163,169,0,192,0,0,0,197,2,170,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,137,3,198,163,137,3,192,0,0,0,198,2,138,3,197,66,170,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,138,3,198,163,138,3,192,0,0,0,198,2,139,3,197,130,170,0,192,0,0,0,198,66,139,3,192,0,0,0,198,131,139,3,192,0,0,0,192,0,0,0,198,227,139,3,192,0,0,0,192,0,0,0,198,67,140,3,192,0,0,0,192,0,0,0,198,162,140,3,192,0,0,0,198,226,140,3,192,0,0,0,198,34,141,3,198,99,141,3,198,194,141,3,192,0,0,0,192,0,0,0,192,0,0,0,198,3,142,3,198,98,142,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,142,3,192,0,0,0,198,3,143,3,198,99,143,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,170,0,198,195,143,3,198,34,144,3,198,99,144,3,192,0,0,0,192,0,0,0,198,195,144,3,198,34,145,3,198,99,145,3,198,195,145,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,146,3,192,0,0,0,192,0,0,0,192,0,0,0,197,2,171,0,192,0,0,0,198,131,146,3,198,227,146,3,192,0,0,0,198,67,147,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,147,3,192,0,0,0,198,3,148,3,192,0,0,0,192,0,0,0,198,99,148,3,192,0,0,0,192,0,0,0,198,195,148,3,198,35,149,3,198,130,149,3,198,195,149,3,198,35,150,3,198,131,150,3,197,67,171,0,198,226,150,3,198,35,151,3,192,0,0,0,198,131,151,3,197,163,171,0,192,0,0,0,198,227,151,3,192,0,0,0,198,66,152,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,152,3,198,226,152,3,198,35,153,3,197,2,172,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,172,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,153,3,192,0,0,0,198,227,153,3,192,0,0,0,198,67,154,3,198,162,154,3,198,227,154,3,192,0,0,0,192,0,0,0,198,67,155,3,198,163,155,3,192,0,0,0,198,3,156,3,192,0,0,0,198,98,156,3,192,0,0,0,198,163,156,3,198,3,157,3,192,0,0,0,197,131,172,0,198,98,157,3,198,162,157,3,198,227,157,3,192,0,0,0,198,67,158,3,192,0,0,0,198,163,158,3,192,0,0,0,197,226,172,0,192,0,0,0,192,0,0,0,198,3,159,3,198,99,159,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,159,3,192,0,0,0,198,34,160,3,192,0,0,0,198,99,160,3,197,35,173,0,192,0,0,0,192,0,0,0,198,194,160,3,198,2,161,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,173,0,198,67,161,3,192,0,0,0,198,163,161,3,192,0,0,0,198,2,162,3,192,0,0,0,192,0,0,0,198,67,162,3,192,0,0,0,192,0,0,0,198,163,162,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,163,3,192,0,0,0,198,99,163,3,198,195,163,3,198,35,164,3,198,131,164,3,192,0,0,0,192,0,0,0,198,227,164,3,198,67,165,3,192,0,0,0,198,162,165,3,197,194,173,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,165,3,192,0,0,0,192,0,0,0,198,67,166,3,192,0,0,0,198,163,166,3,198,3,167,3,192,0,0,0,192,0,0,0,198,98,167,3,197,2,174,0,197,66,174,0,197,130,174,0,192,0,0,0,192,0,0,0,198,162,167,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,174,0,192,0,0,0,198,227,167,3,198,67,168,3,192,0,0,0,198,163,168,3,198,3,169,3,192,0,0,0,198,99,169,3,192,0,0,0,198,195,169,3,198,35,170,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,170,3,192,0,0,0,192,0,0,0,192,0,0,0,197,2,175,0,192,0,0,0,192,0,0,0,198,227,170,3,192,0,0,0,192,0,0,0,192,0,0,0,198,67,171,3,198,163,171,3,198,3,172,3,192,0,0,0,198,98,172,3,192,0,0,0,198,163,172,3,192,0,0,0,192,0,0,0,192,0,0,0,198,2,173,3,192,0,0,0,197,67,175,0,198,67,173,3,198,163,173,3,192,0,0,0,198,3,174,3,192,0,0,0,192,0,0,0,198,98,174,3,192,0,0,0,198,163,174,3,198,3,175,3,198,99,175,3,198,195,175,3,198,35,176,3,198,130,176,3,192,0,0,0,192,0,0,0,192,0,0,0,197,162,175,0,192,0,0,0,192,0,0,0,197,226,175,0,198,195,176,3,198,34,177,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,177,3,198,194,177,3,192,0,0,0,198,3,178,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,178,3,198,195,178,3,192,0,0,0,192,0,0,0,192,0,0,0,198,35,179,3,192,0,0,0,198,131,179,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,179,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,180,3,192,0,0,0,198,163,180,3,192,0,0,0,198,3,181,3,197,34,176,0,192,0,0,0,198,99,181,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,181,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,176,0,197,162,176,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,182,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,182,3,192,0,0,0,197,226,176,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,182,3,197,34,177,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,183,3,192,0,0,0,192,0,0,0,192,0,0,0,198,131,183,3,198,226,183,3,198,34,184,3,192,0,0,0,192,0,0,0,198,98,184,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,184,3,198,3,185,3,192,0,0,0,192,0,0,0,192,0,0,0,197,98,177,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,185,3,192,0,0,0,192,0,0,0,192,0,0,0,198,194,185,3,192,0,0,0,192,0,0,0,198,3,186,3,192,0,0,0,192,0,0,0,197,163,177,0,198,98,186,3,198,163,186,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,187,3,192,0,0,0,192,0,0,0,198,98,187,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,187,3,198,2,188,3,198,67,188,3,198,162,188,3,198,227,188,3,198,66,189,3,192,0,0,0,192,0,0,0,198,131,189,3,192,0,0,0,192,0,0,0,192,0,0,0,198,226,189,3,198,35,190,3,198,131,190,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,190,3,192,0,0,0,198,67,191,3,197,2,178,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,191,3,192,0,0,0,192,0,0,0,192,0,0,0,198,226,191,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,178,0,198,35,192,3,192,0,0,0,192,0,0,0,197,163,178,0,198,131,192,3,192,0,0,0,198,227,192,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,193,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,193,3,192,0,0,0,192,0,0,0,192,0,0,0,198,3,194,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,179,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,194,3,192,0,0,0,192,0,0,0,198,195,194,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,195,3,198,99,195,3,192,0,0,0,198,195,195,3,192,0,0,0,198,35,196,3,192,0,0,0,198,130,196,3,198,194,196,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,197,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,197,3,197,99,179,0,198,163,197,3,198,3,198,3,197,195,179,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,198,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,180,0,197,98,180,0,192,0,0,0,198,195,198,3,197,163,180,0,192,0,0,0,197,3,181,0,192,0,0,0,198,35,199,3,192,0,0,0,198,131,199,3,192,0,0,0,197,98,181,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,199,3,198,67,200,3,192,0,0,0,198,163,200,3,192,0,0,0,192,0,0,0,198,3,201,3,192,0,0,0,198,99,201,3,192,0,0,0,192,0,0,0,192,0,0,0,198,195,201,3,192,0,0,0,198,34,202,3,197,163,181,0,197,2,182,0,198,98,202,3,198,162,202,3,198,227,202,3,192,0,0,0,192,0,0,0,198,67,203,3,192,0,0,0,198,162,203,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,203,3,192,0,0,0,192,0,0,0,198,67,204,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,204,3,198,3,205,3,192,0,0,0,197,66,182,0,192,0,0,0,198,99,205,3,198,195,205,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,182,0,192,0,0,0,192,0,0,0,198,35,206,3,192,0,0,0,198,131,206,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,182,0,192,0,0,0,197,34,183,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,206,3,198,67,207,3,192,0,0,0,198,163,207,3,192,0,0,0,198,3,208,3,192,0,0,0,192,0,0,0,192,0,0,0,197,98,183,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,208,3,192,0,0,0,192,0,0,0,198,163,208,3,192,0,0,0,198,3,209,3,198,99,209,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,183,0,197,226,183,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,184,0,192,0,0,0,192,0,0,0,198,195,209,3,192,0,0,0,198,35,210,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,210,3,198,227,210,3,192,0,0,0,198,66,211,3,192,0,0,0,192,0,0,0,198,130,211,3,192,0,0,0,198,195,211,3,192,0,0,0,198,34,212,3,192,0,0,0,198,99,212,3,198,195,212,3,198,35,213,3,192,0,0,0,192,0,0,0,198,131,213,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,213,3,198,67,214,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,214,3,198,227,214,3,198,66,215,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,184,0,198,131,215,3,198,227,215,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,184,0,192,0,0,0,197,227,184,0,198,67,216,3,192,0,0,0,198,162,216,3,198,226,216,3,197,67,185,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,185,0,198,35,217,3,192,0,0,0,192,0,0,0,192,0,0,0,197,3,186,0,198,131,217,3,198,227,217,3,192,0,0,0,192,0,0,0,198,66,218,3,192,0,0,0,192,0,0,0,192,0,0,0,197,98,186,0,192,0,0,0,192,0,0,0,198,131,218,3,192,0,0,0,192,0,0,0,198,227,218,3,198,67,219,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,219,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,220,3,192,0,0,0,192,0,0,0,198,99,220,3,192,0,0,0,198,194,220,3,192,0,0,0,197,162,186,0,198,3,221,3,192,0,0,0,192,0,0,0,198,99,221,3,192,0,0,0,197,226,186,0,192,0,0,0,192,0,0,0,198,195,221,3,198,34,222,3,192,0,0,0,197,34,187,0,198,98,222,3,197,98,187,0,197,162,187,0,192,0,0,0,198,163,222,3,198,2,223,3,192,0,0,0,198,67,223,3,192,0,0,0,198,163,223,3,192,0,0,0,192,0,0,0,192,0,0,0,198,3,224,3,198,99,224,3,198,195,224,3,192,0,0,0,192,0,0,0,198,35,225,3,197,226,187,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,188,0,198,131,225,3,198,227,225,3,192,0,0,0,198,66,226,3,192,0,0,0,198,131,226,3,198,226,226,3,198,35,227,3,198,130,227,3,192,0,0,0,198,195,227,3,192,0,0,0,198,34,228,3,192,0,0,0,198,98,228,3,198,162,228,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,228,3,192,0,0,0,198,67,229,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,229,3,192,0,0,0,192,0,0,0,198,227,229,3,192,0,0,0,197,130,188,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,230,3,197,195,188,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,230,3,192,0,0,0,192,0,0,0,198,226,230,3,198,34,231,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,231,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,231,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,189,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,232,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,232,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,189,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,232,3,192,0,0,0,192,0,0,0,198,67,233,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,233,3,198,3,234,3,197,163,189,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,234,3,192,0,0,0,198,195,234,3,192,0,0,0,198,35,235,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,235,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,235,3,192,0,0,0,197,2,190,0,192,0,0,0,198,34,236,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,236,3,192,0,0,0,197,66,190,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,236,3,197,131,190,0,192,0,0,0,192,0,0,0,198,227,236,3,192,0,0,0,192,0,0,0,198,67,237,3,198,162,237,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,190,0,192,0,0,0,192,0,0,0,198,227,237,3,198,66,238,3,197,35,191,0,198,131,238,3,198,227,238,3,198,67,239,3,197,130,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,239,3,197,194,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,239,3,192,0,0,0,192,0,0,0,198,35,240,3,197,2,192,0,197,66,192,0,198,131,240,3,192,0,0,0,198,227,240,3,198,66,241,3,198,131,241,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,192,0,192,0,0,0,192,0,0,0,197,194,192,0,192,0,0,0,197,2,193,0,198,227,241,3,198,67,242,3,197,66,193,0,198,162,242,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,242,3,192,0,0,0,192,0,0,0,197,130,193,0,192,0,0,0,197,194,193,0,197,2,194,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,194,0,198,35,243,3,192,0,0,0,192,0,0,0,192,0,0,0,198,130,243,3,198,195,243,3,198,34,244,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,244,3,192,0,0,0,198,194,244,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,245,3,197,162,194,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,245,3,192,0,0,0,192,0,0,0,192,0,0,0,198,194,245,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,246,3,197,226,194,0,197,34,195,0,197,99,195,0,197,194,195,0,192,0,0,0,192,0,0,0,197,3,196,0,198,99,246,3,192,0,0,0,197,99,196,0,192,0,0,0,192,0,0,0,198,195,246,3,192,0,0,0,198,35,247,3,198,130,247,3,192,0,0,0,198,195,247,3,198,35,248,3,198,130,248,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,196,0,192,0,0,0,192,0,0,0,198,195,248,3,192,0,0,0,198,34,249,3,198,99,249,3,198,194,249,3,198,3,250,3,192,0,0,0,198,99,250,3,192,0,0,0,192,0,0,0,198,195,250,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,251,3,198,131,251,3,198,226,251,3,198,34,252,3,198,98,252,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,252,3,198,227,252,3,198,66,253,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,253,3,198,227,253,3,192,0,0,0,198,67,254,3,192,0,0,0,198,162,254,3,192,0,0,0,198,227,254,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,255,3,198,162,255,3,192,0,0,0,192,0,0,0,192,0,0,0,198,227,255,3,192,0,0,0,198,67,0,4,192,0,0,0,197,34,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,0,4,192,0,0,0,198,2,1,4,192,0,0,0,192,0,0,0,192,0,0,0,198,66,1,4,192,0,0,0,198,130,1,4,198,195,1,4,198,35,2,4,192,0,0,0,197,99,197,0,198,131,2,4,192,0,0,0,198,227,2,4,192,0,0,0,192,0,0,0,198,67,3,4,192,0,0,0,192,0,0,0,192,0,0,0,198,163,3,4,192,0,0,0,192,0,0,0,198,3,4,4,192,0,0,0,192,0,0,0,192,0,0,0,197,194,197,0,198,99,4,4,192,0,0,0,198,194,4,4,192,0,0,0,198,3,5,4,198,99,5,4,198,194,5,4,198,2,6,4,198,67,6,4,192,0,0,0,192,0,0,0,198,163,6,4,198,2,7,4,198,67,7,4,192,0,0,0,198,163,7,4,197,2,198,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,8,4,192,0,0,0,198,98,8,4,192,0,0,0,198,163,8,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,9,4,198,99,9,4,192,0,0,0,192,0,0,0,198,195,9,4,192,0,0,0,198,34,10,4,198,99,10,4,198,195,10,4,198,34,11,4,198,98,11,4,192,0,0,0,198,162,11,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,11,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,198,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,12,4,198,163,12,4,198,3,13,4,192,0,0,0,198,99,13,4,197,162,198,0,198,194,13,4,192,0,0,0,198,3,14,4,192,0,0,0,198,98,14,4,198,163,14,4,198,3,15,4,192,0,0,0,198,99,15,4,198,195,15,4,198,35,16,4,198,130,16,4,198,194,16,4,198,3,17,4,198,99,17,4,198,194,17,4,197,226,198,0,192,0,0,0,198,3,18,4,192,0,0,0,198,99,18,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,18,4,198,34,19,4,198,98,19,4,192,0,0,0,198,163,19,4,198,3,20,4,197,34,199,0,198,99,20,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,199,0,192,0,0,0,192,0,0,0,197,162,199,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,199,0,192,0,0,0,198,195,20,4,192,0,0,0,198,34,21,4,197,34,200,0,198,99,21,4,197,98,200,0,197,163,200,0,198,194,21,4,198,3,22,4,198,98,22,4,192,0,0,0,198,163,22,4,197,2,201,0,198,2,23,4,198,67,23,4,192,0,0,0,192,0,0,0,198,163,23,4,198,3,24,4,198,98,24,4,192,0,0,0,192,0,0,0,198,163,24,4,192,0,0,0,198,3,25,4,198,98,25,4,198,163,25,4,198,3,26,4,198,98,26,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,26,4,198,3,27,4,192,0,0,0,197,66,201,0,192,0,0,0,198,98,27,4,198,162,27,4,192,0,0,0,192,0,0,0,198,226,27,4,198,35,28,4,192,0,0,0,198,131,28,4,198,227,28,4,198,67,29,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,29,4,192,0,0,0,192,0,0,0,192,0,0,0,197,131,201,0,198,2,30,4,198,67,30,4,198,163,30,4,192,0,0,0,198,3,31,4,192,0,0,0,198,98,31,4,192,0,0,0,198,163,31,4,192,0,0,0,198,3,32,4,198,99,32,4,192,0,0,0,198,194,32,4,198,3,33,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,201,0,192,0,0,0,198,98,33,4,192,0,0,0,192,0,0,0,197,66,202,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,33,4,192,0,0,0,192,0,0,0,192,0,0,0,198,2,34,4,192,0,0,0,198,67,34,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,34,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,35,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,35,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,35,4,192,0,0,0,192,0,0,0,192,0,0,0,198,35,36,4,192,0,0,0,198,131,36,4,198,227,36,4,197,130,202,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,202,0,192,0,0,0,197,2,203,0,198,67,37,4,192,0,0,0,192,0,0,0,197,66,203,0,192,0,0,0,192,0,0,0,198,163,37,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,38,4,192,0,0,0,192,0,0,0,192,0,0,0,198,99,38,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,38,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,39,4,192,0,0,0,198,98,39,4,198,163,39,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,40,4,198,67,40,4,198,163,40,4,192,0,0,0,192,0,0,0,198,3,41,4,192,0,0,0,198,99,41,4,192,0,0,0,198,195,41,4,192,0,0,0,192,0,0,0,198,35,42,4,192,0,0,0,198,131,42,4,198,227,42,4,192,0,0,0,192,0,0,0,198,67,43,4,198,163,43,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,44,4,192,0,0,0,198,99,44,4,198,194,44,4,192,0,0,0,198,3,45,4,192,0,0,0,192,0,0,0,198,98,45,4,198,163,45,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,46,4,197,130,203,0,198,99,46,4,198,195,46,4,192,0,0,0,192,0,0,0,192,0,0,0,198,35,47,4,198,131,47,4,192,0,0,0,198,227,47,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,48,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,48,4,192,0,0,0,192,0,0,0,198,3,49,4,198,99,49,4,198,194,49,4,192,0,0,0,198,3,50,4,197,194,203,0,192,0,0,0,198,99,50,4,192,0,0,0,198,195,50,4,198,35,51,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,51,4,198,195,51,4,198,35,52,4,198,131,52,4,198,226,52,4,192,0,0,0,192,0,0,0,198,35,53,4,192,0,0,0,197,3,204,0,192,0,0,0,197,98,204,0,198,131,53,4,197,162,204,0,198,227,53,4,192,0,0,0,192,0,0,0,198,67,54,4,197,226,204,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,54,4,198,2,55,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,205,0,198,67,55,4,192,0,0,0,198,162,55,4,192,0,0,0,198,227,55,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,56,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,56,4,198,226,56,4,198,35,57,4,192,0,0,0,197,99,205,0,197,195,205,0,192,0,0,0,192,0,0,0,198,130,57,4,198,194,57,4,192,0,0,0,197,34,206,0,192,0,0,0,192,0,0,0,198,3,58,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,206,0,198,98,58,4,192,0,0,0,192,0,0,0,198,163,58,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,59,4,192,0,0,0,198,66,59,4,192,0,0,0,192,0,0,0,192,0,0,0,197,194,206,0,192,0,0,0,198,131,59,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,59,4,197,2,207,0,198,35,60,4,198,130,60,4,198,194,60,4,192,0,0,0,192,0,0,0,198,3,61,4,198,99,61,4,192,0,0,0,192,0,0,0,198,195,61,4,197,66,207,0,198,35,62,4,192,0,0,0,198,130,62,4,192,0,0,0,198,194,62,4,198,3,63,4,192,0,0,0,198,99,63,4,192,0,0,0,198,195,63,4,192,0,0,0,192,0,0,0,198,35,64,4,192,0,0,0,192,0,0,0,198,130,64,4,197,130,207,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,64,4,197,194,207,0,197,2,208,0,197,67,208,0,192,0,0,0,192,0,0,0,198,34,65,4,198,99,65,4,192,0,0,0,198,195,65,4,192,0,0,0,192,0,0,0,198,34,66,4,192,0,0,0,192,0,0,0,192,0,0,0,198,98,66,4,198,162,66,4,197,162,208,0,192,0,0,0,192,0,0,0,198,226,66,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,67,4,192,0,0,0,198,130,67,4,198,195,67,4,197,226,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,68,4,198,98,68,4,192,0,0,0,198,162,68,4,192,0,0,0,192,0,0,0,197,34,209,0,198,226,68,4,197,98,209,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,69,4,198,130,69,4,198,194,69,4,192,0,0,0,198,3,70,4,192,0,0,0,198,99,70,4,192,0,0,0,192,0,0,0,198,194,70,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,209,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,71,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,71,4,198,163,71,4,198,3,72,4,198,99,72,4,192,0,0,0,198,194,72,4,192,0,0,0,198,2,73,4,197,227,209,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,73,4,198,162,73,4,192,0,0,0,192,0,0,0,198,226,73,4,198,35,74,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,74,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,74,4,198,3,75,4,192,0,0,0,192,0,0,0,198,98,75,4,192,0,0,0,197,66,210,0,198,163,75,4,192,0,0,0,192,0,0,0,198,3,76,4,192,0,0,0,198,99,76,4,192,0,0,0,192,0,0,0,192,0,0,0,197,130,210,0,192,0,0,0,192,0,0,0,198,195,76,4,198,35,77,4,192,0,0,0,197,194,210,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,77,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,211,0,198,227,77,4,192,0,0,0,198,67,78,4,198,163,78,4,192,0,0,0,198,3,79,4,198,99,79,4,198,194,79,4,192,0,0,0,192,0,0,0,198,3,80,4,198,99,80,4,198,195,80,4,198,34,81,4,198,99,81,4,198,195,81,4,198,35,82,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,82,4,192,0,0,0,192,0,0,0,198,195,82,4,198,35,83,4,198,131,83,4,198,227,83,4,192,0,0,0,198,67,84,4,198,162,84,4,192,0,0,0,198,226,84,4,198,35,85,4,192,0,0,0,198,130,85,4,197,67,211,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,85,4,192,0,0,0,192,0,0,0,198,2,86,4,192,0,0,0,198,66,86,4,192,0,0,0,192,0,0,0,197,162,211,0,192,0,0,0,192,0,0,0,198,131,86,4,192,0,0,0,192,0,0,0,192,0,0,0,198,226,86,4,197,226,211,0,197,34,212,0,192,0,0,0,197,98,212,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,212,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,212,0,192,0,0,0,197,66,213,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,87,4,192,0,0,0,198,130,87,4,192,0,0,0,198,195,87,4,192,0,0,0,197,130,213,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,88,4,192,0,0,0,192,0,0,0,198,130,88,4,198,194,88,4,192,0,0,0,192,0,0,0,198,3,89,4,192,0,0,0,198,99,89,4,192,0,0,0,198,195,89,4,192,0,0,0,198,35,90,4,197,195,213,0,198,131,90,4,192,0,0,0,192,0,0,0,192,0,0,0,197,35,214,0,192,0,0,0,197,130,214,0,192,0,0,0,198,226,90,4,192,0,0,0,192,0,0,0,198,34,91,4,192,0,0,0,198,99,91,4,198,194,91,4,192,0,0,0,198,3,92,4,198,99,92,4,192,0,0,0,198,195,92,4,192,0,0,0,198,35,93,4,198,131,93,4,198,227,93,4,192,0,0,0,198,66,94,4,192,0,0,0,192,0,0,0,198,131,94,4,192,0,0,0,198,226,94,4,192,0,0,0,198,35,95,4,192,0,0,0,192,0,0,0,198,130,95,4,198,195,95,4,192,0,0,0,198,35,96,4,192,0,0,0,192,0,0,0,192,0,0,0,198,131,96,4,198,227,96,4,192,0,0,0,197,194,214,0,198,67,97,4,192,0,0,0,198,163,97,4,192,0,0,0,192,0,0,0,198,3,98,4,192,0,0,0,192,0,0,0,198,99,98,4,192,0,0,0,192,0,0,0,198,194,98,4,197,3,215,0,198,2,99,4,198,66,99,4,198,131,99,4,198,227,99,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,100,4,198,162,100,4,192,0,0,0,192,0,0,0,198,227,100,4,192,0,0,0,198,67,101,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,101,4,198,226,101,4,192,0,0,0,198,35,102,4,198,131,102,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,102,4,192,0,0,0,192,0,0,0,198,67,103,4,198,162,103,4,192,0,0,0,198,226,103,4,198,35,104,4,198,131,104,4,192,0,0,0,198,227,104,4,192,0,0,0,198,67,105,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,105,4,197,98,215,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,106,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,106,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,106,4,198,3,107,4,192,0,0,0,192,0,0,0,192,0,0,0,198,98,107,4,198,163,107,4,198,2,108,4,198,66,108,4,198,131,108,4,192,0,0,0,198,226,108,4,198,35,109,4,192,0,0,0,198,130,109,4,192,0,0,0,192,0,0,0,198,195,109,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,110,4,192,0,0,0,198,130,110,4,192,0,0,0,192,0,0,0,192,0,0,0,198,194,110,4,198,2,111,4,197,162,215,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,111,4,192,0,0,0,198,162,111,4,197,227,215,0,192,0,0,0,192,0,0,0,198,227,111,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,112,4,192,0,0,0,192,0,0,0,198,131,112,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,112,4,192,0,0,0,198,67,113,4,192,0,0,0,198,163,113,4,192,0,0,0,192,0,0,0,198,3,114,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,114,4,192,0,0,0,198,195,114,4,198,34,115,4,192,0,0,0,192,0,0,0,198,99,115,4,192,0,0,0,192,0,0,0,198,195,115,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,116,4,192,0,0,0,198,99,116,4,198,195,116,4,198,34,117,4,192,0,0,0,198,98,117,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,117,4,192,0,0,0,198,3,118,4,192,0,0,0,192,0,0,0,192,0,0,0,197,67,216,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,118,4,192,0,0,0,198,195,118,4,198,35,119,4,198,130,119,4,198,195,119,4,192,0,0,0,198,35,120,4,192,0,0,0,192,0,0,0,197,163,216,0,198,130,120,4,197,2,217,0,192,0,0,0,198,194,120,4,192,0,0,0,198,3,121,4,192,0,0,0,198,98,121,4,192,0,0,0,192,0,0,0,192,0,0,0,198,163,121,4,197,66,217,0,198,2,122,4,198,67,122,4,192,0,0,0,192,0,0,0,198,163,122,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,123,4,198,99,123,4,198,195,123,4,198,35,124,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,124,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,217,0,192,0,0,0,192,0,0,0,198,195,124,4,192,0,0,0,198,34,125,4,198,98,125,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,125,4,192,0,0,0,192,0,0,0,198,226,125,4,198,34,126,4,197,195,217,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,126,4,197,35,218,0,192,0,0,0,192,0,0,0,198,195,126,4,192,0,0,0,198,34,127,4,192,0,0,0,197,130,218,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,127,4,192,0,0,0,198,162,127,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,127,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,128,4,198,162,128,4,192,0,0,0,192,0,0,0,198,227,128,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,129,4,198,162,129,4,192,0,0,0,192,0,0,0,198,226,129,4,198,35,130,4,192,0,0,0,197,195,218,0,198,131,130,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,130,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,131,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,131,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,131,4,198,66,132,4,197,34,219,0,198,131,132,4,192,0,0,0,198,226,132,4,192,0,0,0,198,34,133,4,192,0,0,0,192,0,0,0,192,0,0,0,198,99,133,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,133,4,192,0,0,0,192,0,0,0,192,0,0,0,198,35,134,4,198,131,134,4,192,0,0,0,192,0,0,0,198,227,134,4,198,66,135,4,198,131,135,4,192,0,0,0,192,0,0,0,192,0,0,0,198,227,135,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,219,0,197,195,219,0,198,66,136,4,192,0,0,0,198,131,136,4,192,0,0,0,192,0,0,0,198,226,136,4,192,0,0,0,192,0,0,0,192,0,0,0,198,35,137,4,192,0,0,0,192,0,0,0,198,130,137,4,192,0,0,0,198,194,137,4,198,2,138,4,192,0,0,0,192,0,0,0,198,66,138,4,198,131,138,4,198,227,138,4,198,66,139,4,192,0,0,0,192,0,0,0,198,131,139,4,198,226,139,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,140,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,140,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,140,4,198,34,141,4,192,0,0,0,197,34,220,0,192,0,0,0,198,99,141,4,192,0,0,0,192,0,0,0,198,194,141,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,142,4,198,99,142,4,192,0,0,0,198,195,142,4,192,0,0,0,192,0,0,0,198,35,143,4,198,131,143,4,198,227,143,4,198,66,144,4,192,0,0,0,192,0,0,0,192,0,0,0,198,130,144,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,144,4,192,0,0,0,198,2,145,4,198,67,145,4,192,0,0,0,198,163,145,4,198,2,146,4,192,0,0,0,192,0,0,0,192,0,0,0,197,98,220,0,192,0,0,0,192,0,0,0,198,66,146,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,146,4,192,0,0,0,192,0,0,0,197,162,220,0,198,195,146,4,198,35,147,4,197,227,220,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,147,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,147,4,192,0,0,0,192,0,0,0,192,0,0,0,198,34,148,4,192,0,0,0,198,98,148,4,198,162,148,4,192,0,0,0,192,0,0,0,192,0,0,0,198,226,148,4,198,35,149,4,198,130,149,4,198,194,149,4,198,2,150,4,198,67,150,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,150,4,192,0,0,0,192,0,0,0,198,227,150,4,198,66,151,4,198,130,151,4,198,194,151,4,198,2,152,4,192,0,0,0,192,0,0,0,198,66,152,4,198,130,152,4,197,66,221,0,198,195,152,4,198,35,153,4,198,130,153,4,198,194,153,4,192,0,0,0,198,2,154,4,192,0,0,0,192,0,0,0,198,67,154,4,192,0,0,0,198,162,154,4,197,130,221,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,221,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,154,4,192,0,0,0,198,35,155,4,192,0,0,0,192,0,0,0,198,131,155,4,197,3,222,0,198,227,155,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,156,4,198,131,156,4,192,0,0,0,197,98,222,0,198,227,156,4,198,67,157,4,192,0,0,0,198,162,157,4,192,0,0,0,192,0,0,0,197,162,222,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,157,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,158,4,197,226,222,0,198,130,158,4,192,0,0,0,198,195,158,4,198,35,159,4,192,0,0,0,192,0,0,0,198,130,159,4,192,0,0,0,198,194,159,4,198,2,160,4,192,0,0,0,198,67,160,4,198,163,160,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,161,4,198,67,161,4,198,162,161,4,192,0,0,0,198,227,161,4,197,34,223,0,198,67,162,4,198,162,162,4,198,226,162,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,163,4,192,0,0,0,192,0,0,0,198,131,163,4,198,227,163,4,197,98,223,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,223,0,198,66,164,4,192,0,0,0,192,0,0,0,198,130,164,4,192,0,0,0,192,0,0,0,198,194,164,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,165,4,192,0,0,0,192,0,0,0,198,67,165,4,198,163,165,4,198,3,166,4,192,0,0,0,198,99,166,4,198,195,166,4,192,0,0,0,198,35,167,4,198,130,167,4,198,195,167,4,198,34,168,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,168,4,192,0,0,0,192,0,0,0,198,194,168,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,223,0,198,2,169,4,198,67,169,4,192,0,0,0,192,0,0,0,198,162,169,4,192,0,0,0,192,0,0,0,198,227,169,4,192,0,0,0,197,34,224,0,198,67,170,4,198,162,170,4,198,226,170,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,171,4,192,0,0,0,192,0,0,0,197,98,224,0,192,0,0,0,198,131,171,4,197,162,224,0,192,0,0,0,198,227,171,4,192,0,0,0,198,66,172,4,197,227,224,0,198,130,172,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,172,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,173,4,192,0,0,0,192,0,0,0,198,131,173,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,173,4,198,67,174,4,192,0,0,0,198,163,174,4,192,0,0,0,198,2,175,4,198,66,175,4,198,130,175,4,192,0,0,0,198,194,175,4,198,3,176,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,176,4,198,195,176,4,192,0,0,0,192,0,0,0,197,66,225,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,177,4,198,131,177,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,177,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,178,4,198,131,178,4,197,130,225,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,178,4,192,0,0,0,197,195,225,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,179,4,192,0,0,0,192,0,0,0,192,0,0,0,197,35,226,0,198,163,179,4,198,2,180,4,192,0,0,0,192,0,0,0,198,67,180,4,198,163,180,4,192,0,0,0,192,0,0,0,198,3,181,4,198,98,181,4,198,163,181,4,198,3,182,4,198,99,182,4,198,194,182,4,198,3,183,4,198,99,183,4,198,194,183,4,197,131,226,0,192,0,0,0,198,2,184,4,192,0,0,0,197,226,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,184,4,198,163,184,4,192,0,0,0,198,2,185,4,198,66,185,4,198,131,185,4,198,227,185,4,192,0,0,0,192,0,0,0,198,66,186,4,192,0,0,0,192,0,0,0,192,0,0,0,198,131,186,4,198,226,186,4,192,0,0,0,192,0,0,0,198,35,187,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,227,0,197,98,227,0,192,0,0,0,198,130,187,4,192,0,0,0,198,195,187,4,198,34,188,4,192,0,0,0,192,0,0,0,192,0,0,0,198,98,188,4,192,0,0,0,192,0,0,0,198,162,188,4,192,0,0,0,192,0,0,0,198,226,188,4,198,34,189,4,198,99,189,4,192,0,0,0,192,0,0,0,198,195,189,4,198,35,190,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,190,4,198,226,190,4,192,0,0,0,198,34,191,4,198,98,191,4,192,0,0,0,198,163,191,4,198,3,192,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,192,4,192,0,0,0,198,163,192,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,193,4,192,0,0,0,198,99,193,4,198,195,193,4,192,0,0,0,198,34,194,4,198,99,194,4,192,0,0,0,198,195,194,4,198,35,195,4,192,0,0,0,192,0,0,0,192,0,0,0,198,130,195,4,192,0,0,0,192,0,0,0,198,195,195,4,192,0,0,0,198,35,196,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,196,4,192,0,0,0,198,227,196,4,198,67,197,4,198,163,197,4,192,0,0,0,192,0,0,0,198,2,198,4,192,0,0,0,198,67,198,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,227,0,192,0,0,0,198,163,198,4,192,0,0,0,198,2,199,4,192,0,0,0,198,66,199,4,192,0,0,0,192,0,0,0,197,227,227,0,192,0,0,0,198,130,199,4,198,195,199,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,200,4,198,131,200,4,192,0,0,0,198,227,200,4,192,0,0,0,192,0,0,0,197,66,228,0,192,0,0,0,198,67,201,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,201,4,198,226,201,4,198,35,202,4,198,131,202,4,192,0,0,0,192,0,0,0,192,0,0,0,197,130,228,0,198,227,202,4,192,0,0,0,198,66,203,4,192,0,0,0,192,0,0,0,192,0,0,0,198,130,203,4,192,0,0,0,198,195,203,4,192,0,0,0,192,0,0,0,192,0,0,0,198,34,204,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,204,4,197,195,228,0,192,0,0,0,198,195,204,4,198,35,205,4,192,0,0,0,198,131,205,4,198,227,205,4,198,67,206,4,192,0,0,0,198,163,206,4,198,3,207,4,198,99,207,4,198,195,207,4,198,34,208,4,198,99,208,4,192,0,0,0,198,195,208,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,209,4,198,99,209,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,209,4,198,3,210,4,198,99,210,4,192,0,0,0,198,195,210,4,192,0,0,0,192,0,0,0,198,35,211,4,192,0,0,0,198,130,211,4,192,0,0,0,192,0,0,0,198,194,211,4,192,0,0,0,198,3,212,4,192,0,0,0,198,99,212,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,212,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,213,4,192,0,0,0,192,0,0,0,192,0,0,0,198,67,213,4,192,0,0,0,198,162,213,4,197,34,229,0,198,227,213,4,192,0,0,0,192,0,0,0,198,66,214,4,192,0,0,0,198,131,214,4,198,226,214,4,192,0,0,0,198,35,215,4,192,0,0,0,198,131,215,4,198,226,215,4,192,0,0,0,198,35,216,4,198,131,216,4,192,0,0,0,192,0,0,0,198,226,216,4,198,35,217,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,217,4,192,0,0,0,192,0,0,0,192,0,0,0,198,227,217,4,192,0,0,0,192,0,0,0,198,67,218,4,192,0,0,0,192,0,0,0,192,0,0,0,197,98,229,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,218,4,192,0,0,0,198,227,218,4,197,163,229,0,192,0,0,0,192,0,0,0,198,67,219,4,192,0,0,0,198,163,219,4,198,3,220,4,192,0,0,0,198,99,220,4,198,195,220,4,197,3,230,0,197,98,230,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,221,4,192,0,0,0,198,131,221,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,221,4,192,0,0,0,198,35,222,4,192,0,0,0,198,130,222,4,192,0,0,0,192,0,0,0,198,194,222,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,223,4,192,0,0,0,198,98,223,4,192,0,0,0,192,0,0,0,198,162,223,4,198,226,223,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,230,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,224,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,224,4,192,0,0,0,198,227,224,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,225,4,192,0,0,0,198,162,225,4,192,0,0,0,197,2,231,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,225,4,192,0,0,0,192,0,0,0,198,67,226,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,226,4,198,3,227,4,198,98,227,4,198,163,227,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,231,0,192,0,0,0,192,0,0,0,198,3,228,4,198,98,228,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,228,4,197,162,231,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,229,4,198,99,229,4,198,194,229,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,230,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,230,4,198,163,230,4,192,0,0,0,192,0,0,0,198,3,231,4,192,0,0,0,198,98,231,4,192,0,0,0,198,162,231,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,231,4,198,67,232,4,192,0,0,0,192,0,0,0,198,162,232,4,198,227,232,4,192,0,0,0,192,0,0,0,192,0,0,0,198,67,233,4,198,163,233,4,192,0,0,0,198,2,234,4,192,0,0,0,198,67,234,4,192,0,0,0,192,0,0,0,198,162,234,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,234,4,198,34,235,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,235,4,192,0,0,0,192,0,0,0,198,195,235,4,192,0,0,0,198,34,236,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,236,4,192,0,0,0,192,0,0,0,192,0,0,0,198,194,236,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,237,4,192,0,0,0,192,0,0,0,198,99,237,4,192,0,0,0,198,194,237,4,198,3,238,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,238,4,192,0,0,0,192,0,0,0,198,194,238,4,192,0,0,0,198,3,239,4,198,99,239,4,198,195,239,4,198,35,240,4,198,131,240,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,240,4,192,0,0,0,192,0,0,0,198,67,241,4,198,163,241,4,198,3,242,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,242,4,192,0,0,0,192,0,0,0,198,163,242,4,198,3,243,4,198,99,243,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,243,4,198,3,244,4,192,0,0,0,192,0,0,0,192,0,0,0,197,226,231,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,244,4,198,163,244,4,198,2,245,4,192,0,0,0,198,66,245,4,198,131,245,4,192,0,0,0,198,226,245,4,198,35,246,4,198,131,246,4,198,226,246,4,198,35,247,4,192,0,0,0,198,130,247,4,192,0,0,0,192,0,0,0,198,194,247,4,192,0,0,0,198,3,248,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,248,4,192,0,0,0,192,0,0,0,197,34,232,0,192,0,0,0,198,163,248,4,192,0,0,0,198,2,249,4,192,0,0,0,198,67,249,4,192,0,0,0,198,162,249,4,198,226,249,4,192,0,0,0,192,0,0,0,198,34,250,4,192,0,0,0,198,98,250,4,192,0,0,0,198,162,250,4,198,227,250,4,198,67,251,4,197,99,232,0,198,162,251,4,197,195,232,0,197,35,233,0,192,0,0,0,198,227,251,4,198,67,252,4,192,0,0,0,198,163,252,4,192,0,0,0,192,0,0,0,198,2,253,4,192,0,0,0,192,0,0,0,198,66,253,4,198,131,253,4,198,226,253,4,192,0,0,0,198,34,254,4,198,99,254,4,198,194,254,4,198,3,255,4,198,99,255,4,198,195,255,4,192,0,0,0,192,0,0,0,192,0,0,0,198,34,0,5,198,99,0,5,198,195,0,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,1,5,198,98,1,5,192,0,0,0,198,163,1,5,198,2,2,5,198,66,2,5,198,131,2,5,198,227,2,5,198,67,3,5,192,0,0,0,197,130,233,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,3,5,198,227,3,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,4,5,198,163,4,5,198,2,5,5,198,67,5,5,198,163,5,5,192,0,0,0,192,0,0,0,198,3,6,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,6,5,192,0,0,0,192,0,0,0,198,195,6,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,7,5,192,0,0,0,192,0,0,0,198,131,7,5,192,0,0,0,198,226,7,5,197,195,233,0,192,0,0,0,198,34,8,5,192,0,0,0,192,0,0,0,198,99,8,5,198,195,8,5,198,35,9,5,192,0,0,0,192,0,0,0,198,131,9,5,192,0,0,0,198,227,9,5,198,66,10,5,198,131,10,5,192,0,0,0,192,0,0,0,192,0,0,0,198,226,10,5,192,0,0,0,198,35,11,5,198,131,11,5,198,226,11,5,198,35,12,5,192,0,0,0,192,0,0,0,198,131,12,5,192,0,0,0,192,0,0,0,198,227,12,5,197,34,234,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,13,5,192,0,0,0,192,0,0,0,192,0,0,0,198,130,13,5,192,0,0,0,192,0,0,0,198,195,13,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,14,5,198,130,14,5,192,0,0,0,192,0,0,0,192,0,0,0,198,195,14,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,15,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,15,5,192,0,0,0,192,0,0,0,192,0,0,0,198,227,15,5,192,0,0,0,198,66,16,5,198,131,16,5,192,0,0,0,198,226,16,5,198,34,17,5,198,99,17,5,192,0,0,0,198,195,17,5,192,0,0,0,198,35,18,5,198,130,18,5,197,98,234,0,198,194,18,5,192,0,0,0,198,3,19,5,198,99,19,5,198,195,19,5,192,0,0,0,198,35,20,5,198,130,20,5,192,0,0,0,192,0,0,0,198,195,20,5,192,0,0,0,198,34,21,5,198,99,21,5,192,0,0,0,198,195,21,5,198,35,22,5,198,131,22,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,22,5,192,0,0,0,192,0,0,0,197,162,234,0,192,0,0,0,192,0,0,0,198,67,23,5,198,162,23,5,198,226,23,5,198,35,24,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,24,5,198,195,24,5,197,227,234,0,192,0,0,0,198,35,25,5,192,0,0,0,198,131,25,5,198,227,25,5,198,67,26,5,192,0,0,0,197,66,235,0,198,163,26,5,192,0,0,0,198,3,27,5,192,0,0,0,192,0,0,0,198,98,27,5,192,0,0,0,198,163,27,5,198,3,28,5,192,0,0,0,192,0,0,0,198,99,28,5,192,0,0,0,192,0,0,0,197,130,235,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,28,5,192,0,0,0,198,35,29,5,192,0,0,0,192,0,0,0,197,194,235,0,192,0,0,0,197,2,236,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,29,5,198,227,29,5,198,67,30,5,198,162,30,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,30,5,198,35,31,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,31,5,192,0,0,0,197,66,236,0,198,226,31,5,192,0,0,0,192,0,0,0,198,35,32,5,192,0,0,0,198,131,32,5,197,130,236,0,198,227,32,5,198,67,33,5,198,162,33,5,198,227,33,5,198,67,34,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,34,5,192,0,0,0,192,0,0,0,198,3,35,5,198,99,35,5,192,0,0,0,198,195,35,5,198,34,36,5,198,99,36,5,192,0,0,0,198,195,36,5,192,0,0,0,198,34,37,5,192,0,0,0,197,194,236,0,192,0,0,0,198,98,37,5,192,0,0,0,198,163,37,5,198,3,38,5,192,0,0,0,192,0,0,0,198,99,38,5,192,0,0,0,198,195,38,5,198,34,39,5,198,98,39,5,198,162,39,5,198,226,39,5,198,35,40,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,40,5,192,0,0,0,198,195,40,5,192,0,0,0,198,35,41,5,198,131,41,5,198,227,41,5,198,67,42,5,192,0,0,0,198,163,42,5,198,2,43,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,43,5,192,0,0,0,192,0,0,0,198,130,43,5,197,2,237,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,43,5,197,66,237,0,198,34,44,5,192,0,0,0,198,99,44,5,192,0,0,0,198,195,44,5,198,34,45,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,45,5,192,0,0,0,192,0,0,0,198,195,45,5,192,0,0,0,192,0,0,0,198,34,46,5,198,99,46,5,198,195,46,5,192,0,0,0,192,0,0,0,197,131,237,0,198,35,47,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,47,5,197,227,237,0,192,0,0,0,198,195,47,5,192,0,0,0,198,35,48,5,198,130,48,5,192,0,0,0,198,195,48,5,192,0,0,0,192,0,0,0,192,0,0,0,198,35,49,5,198,130,49,5,192,0,0,0,198,195,49,5,192,0,0,0,198,35,50,5,192,0,0,0,192,0,0,0,198,131,50,5,198,227,50,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,51,5,198,130,51,5,198,195,51,5,192,0,0,0,198,35,52,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,52,5,198,227,52,5,192,0,0,0,192,0,0,0,192,0,0,0,198,67,53,5,198,163,53,5,197,66,238,0,192,0,0,0,198,3,54,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,54,5,198,195,54,5,198,34,55,5,198,99,55,5,192,0,0,0,198,195,55,5,192,0,0,0,192,0,0,0,192,0,0,0,198,35,56,5,198,131,56,5,192,0,0,0,192,0,0,0,198,226,56,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,238,0,192,0,0,0,198,34,57,5,198,99,57,5,198,195,57,5,192,0,0,0,197,194,238,0,192,0,0,0,192,0,0,0,198,34,58,5,192,0,0,0,198,99,58,5,192,0,0,0,197,2,239,0,197,66,239,0,192,0,0,0,192,0,0,0,197,130,239,0,192,0,0,0,198,195,58,5,192,0,0,0,198,34,59,5,192,0,0,0,192,0,0,0,198,98,59,5,192,0,0,0,197,194,239,0,198,163,59,5,198,2,60,5,192,0,0,0,192,0,0,0,197,3,240,0,198,66,60,5,198,131,60,5,192,0,0,0,192,0,0,0,192,0,0,0,198,227,60,5,192,0,0,0,192,0,0,0,198,66,61,5,198,130,61,5,198,194,61,5,198,2,62,5,192,0,0,0,198,67,62,5,192,0,0,0,198,163,62,5,192,0,0,0,198,2,63,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,63,5,192,0,0,0,198,130,63,5,198,195,63,5,198,35,64,5,192,0,0,0,198,131,64,5,192,0,0,0,192,0,0,0,197,98,240,0,198,226,64,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,65,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,65,5,197,162,240,0,192,0,0,0,198,227,65,5,192,0,0,0,192,0,0,0,192,0,0,0,198,67,66,5,192,0,0,0,192,0,0,0,197,226,240,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,66,5,192,0,0,0,198,2,67,5,198,67,67,5,192,0,0,0,192,0,0,0,192,0,0,0,198,162,67,5,192,0,0,0,192,0,0,0,192,0,0,0,198,227,67,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,68,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,68,5,192,0,0,0,198,227,68,5,192,0,0,0,198,67,69,5,192,0,0,0,192,0,0,0,192,0,0,0,198,163,69,5,192,0,0,0,198,3,70,5,197,35,241,0,197,131,241,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,70,5,192,0,0,0,192,0,0,0,192,0,0,0,198,163,70,5,197,226,241,0,198,2,71,5,192,0,0,0,198,67,71,5,198,162,71,5,192,0,0,0,198,227,71,5,192,0,0,0,192,0,0,0,198,67,72,5,192,0,0,0,198,163,72,5,197,34,242,0,192,0,0,0,197,99,242,0,192,0,0,0,198,3,73,5,192,0,0,0,192,0,0,0,198,98,73,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,73,5,198,226,73,5,198,35,74,5,198,131,74,5,192,0,0,0,198,227,74,5,192,0,0,0,198,66,75,5,198,130,75,5,192,0,0,0,198,194,75,5,198,2,76,5,198,66,76,5,198,130,76,5,192,0,0,0,192,0,0,0,198,194,76,5,192,0,0,0,192,0,0,0,198,2,77,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,77,5,198,131,77,5,198,226,77,5,192,0,0,0,198,34,78,5,198,99,78,5,198,194,78,5,198,2,79,5,198,67,79,5,197,194,242,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,79,5,192,0,0,0,192,0,0,0,198,226,79,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,80,5,192,0,0,0,198,98,80,5,192,0,0,0,192,0,0,0,192,0,0,0,198,162,80,5,198,226,80,5,192,0,0,0,192,0,0,0,198,34,81,5,192,0,0,0,192,0,0,0,198,98,81,5,192,0,0,0,192,0,0,0,197,2,243,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,243,0,192,0,0,0,198,163,81,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,82,5,192,0,0,0,192,0,0,0,198,99,82,5,192,0,0,0,192,0,0,0,192,0,0,0,198,194,82,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,83,5,192,0,0,0,192,0,0,0,198,98,83,5,198,163,83,5,192,0,0,0,198,3,84,5,192,0,0,0,197,162,243,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,84,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,84,5,198,35,85,5,198,130,85,5,198,195,85,5,198,35,86,5,192,0,0,0,198,130,86,5,198,195,86,5,198,35,87,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,87,5,198,227,87,5,198,67,88,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,88,5,198,227,88,5,198,66,89,5,198,130,89,5,192,0,0,0,198,195,89,5,192,0,0,0,198,35,90,5,198,130,90,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,243,0,192,0,0,0,192,0,0,0,198,194,90,5,192,0,0,0,198,2,91,5,192,0,0,0,198,66,91,5,198,131,91,5,192,0,0,0,198,227,91,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,92,5,198,130,92,5,192,0,0,0,192,0,0,0,198,194,92,5,198,3,93,5,192,0,0,0,192,0,0,0,198,99,93,5,198,195,93,5,198,35,94,5,192,0,0,0,198,131,94,5,192,0,0,0,198,227,94,5,192,0,0,0,198,67,95,5,198,163,95,5,192,0,0,0,197,66,244,0,198,2,96,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,244,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,244,0,198,66,96,5,192,0,0,0,198,131,96,5,192,0,0,0,192,0,0,0,192,0,0,0,198,226,96,5,192,0,0,0,198,34,97,5,192,0,0,0,197,2,245,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,97,5,198,163,97,5,192,0,0,0,192,0,0,0,198,2,98,5,198,66,98,5,198,131,98,5,192,0,0,0,192,0,0,0,198,226,98,5,192,0,0,0,198,34,99,5,197,66,245,0,192,0,0,0,192,0,0,0,198,99,99,5,198,194,99,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,100,5,192,0,0,0,198,67,100,5,192,0,0,0,192,0,0,0,198,163,100,5,192,0,0,0,192,0,0,0,197,131,245,0,197,227,245,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,101,5,198,98,101,5,192,0,0,0,192,0,0,0,192,0,0,0,198,162,101,5,192,0,0,0,192,0,0,0,197,67,246,0,197,162,246,0,197,227,246,0,198,227,101,5,198,67,102,5,198,163,102,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,103,5,192,0,0,0,198,99,103,5,192,0,0,0,198,195,103,5,198,35,104,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,104,5,198,227,104,5,192,0,0,0,192,0,0,0,197,66,247,0,192,0,0,0,198,66,105,5,192,0,0,0,198,131,105,5,192,0,0,0,192,0,0,0,192,0,0,0,198,226,105,5,198,34,106,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,106,5,198,194,106,5,192,0,0,0,192,0,0,0,192,0,0,0,198,2,107,5,192,0,0,0,192,0,0,0,198,67,107,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,107,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,108,5,198,99,108,5,192,0,0,0,192,0,0,0,198,195,108,5,192,0,0,0,198,34,109,5,198,98,109,5,198,162,109,5,198,226,109,5,198,35,110,5,198,131,110,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,110,5,192,0,0,0,192,0,0,0,192,0,0,0,198,35,111,5,198,131,111,5,198,226,111,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,112,5,192,0,0,0,198,131,112,5,192,0,0,0,192,0,0,0,198,226,112,5,198,35,113,5,192,0,0,0,192,0,0,0,198,130,113,5,192,0,0,0,198,195,113,5,197,131,247,0,198,35,114,5,198,131,114,5,198,227,114,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,247,0,198,67,115,5,192,0,0,0,197,34,248,0,198,163,115,5,198,2,116,5,192,0,0,0,198,66,116,5,192,0,0,0,198,131,116,5,192,0,0,0,198,227,116,5,198,66,117,5,192,0,0,0,192,0,0,0,192,0,0,0,198,130,117,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,117,5,192,0,0,0,198,3,118,5,198,99,118,5,198,195,118,5,192,0,0,0,198,34,119,5,192,0,0,0,192,0,0,0,198,99,119,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,119,5,198,34,120,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,120,5,192,0,0,0,192,0,0,0,198,195,120,5,198,34,121,5,197,98,248,0,192,0,0,0,192,0,0,0,198,98,121,5,198,163,121,5,198,3,122,5,192,0,0,0,192,0,0,0,198,99,122,5,197,162,248,0,198,195,122,5,198,35,123,5,192,0,0,0,198,130,123,5,192,0,0,0,192,0,0,0,192,0,0,0,198,195,123,5,192,0,0,0,192,0,0,0,192,0,0,0,198,34,124,5,192,0,0,0,192,0,0,0,197,226,248,0,192,0,0,0,198,99,124,5,192,0,0,0,198,194,124,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,125,5,198,99,125,5,197,34,249,0,192,0,0,0,192,0,0,0,198,194,125,5,192,0,0,0,198,3,126,5,198,99,126,5,192,0,0,0,192,0,0,0,198,195,126,5,192,0,0,0,197,98,249,0,192,0,0,0,198,35,127,5,198,131,127,5,192,0,0,0,198,226,127,5,192,0,0,0,198,35,128,5,197,162,249,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,128,5,197,226,249,0,192,0,0,0,198,195,128,5,192,0,0,0,192,0,0,0,192,0,0,0,198,34,129,5,198,99,129,5,198,194,129,5,192,0,0,0,197,34,250,0,192,0,0,0,192,0,0,0,197,98,250,0,198,3,130,5,198,99,130,5,192,0,0,0,198,194,130,5,192,0,0,0,197,162,250,0,197,227,250,0,192,0,0,0,198,2,131,5,192,0,0,0,198,67,131,5,198,162,131,5,192,0,0,0,192,0,0,0,198,226,131,5,192,0,0,0,198,34,132,5,192,0,0,0,192,0,0,0,192,0,0,0,198,98,132,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,132,5,198,3,133,5,192,0,0,0,198,98,133,5,198,162,133,5,192,0,0,0,198,227,133,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,134,5,198,163,134,5,198,3,135,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,135,5,192,0,0,0,198,194,135,5,198,3,136,5,198,99,136,5,198,194,136,5,198,3,137,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,137,5,192,0,0,0,192,0,0,0,198,194,137,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,251,0,192,0,0,0,198,3,138,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,138,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,138,5,198,3,139,5,198,98,139,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,139,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,251,0,192,0,0,0,197,195,251,0,192,0,0,0,198,3,140,5,192,0,0,0,198,98,140,5,198,162,140,5,192,0,0,0,192,0,0,0,198,227,140,5,198,67,141,5,192,0,0,0,198,163,141,5,198,3,142,5,192,0,0,0,198,99,142,5,192,0,0,0,198,195,142,5,192,0,0,0,198,34,143,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,143,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,143,5,198,2,144,5,192,0,0,0,198,67,144,5,198,163,144,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,145,5,192,0,0,0,197,34,252,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,145,5,198,162,145,5,198,227,145,5,192,0,0,0,192,0,0,0,198,66,146,5,192,0,0,0,198,131,146,5,192,0,0,0,198,227,146,5,198,67,147,5,198,162,147,5,192,0,0,0,198,226,147,5,197,98,252,0,198,34,148,5,198,99,148,5,198,195,148,5,198,34,149,5,198,99,149,5,198,195,149,5,197,162,252,0,197,226,252,0,198,35,150,5,198,130,150,5,197,34,253,0,192,0,0,0,198,195,150,5,192,0,0,0,192,0,0,0,192,0,0,0,198,34,151,5,198,99,151,5,198,195,151,5,192,0,0,0,197,98,253,0,198,34,152,5,198,98,152,5,198,162,152,5,198,227,152,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,153,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,153,5,198,227,153,5,198,67,154,5,197,162,253,0,198,162,154,5,192,0,0,0,198,226,154,5,192,0,0,0,192,0,0,0,192,0,0,0,198,34,155,5,198,99,155,5,192,0,0,0,198,194,155,5,198,2,156,5,198,67,156,5,198,162,156,5,192,0,0,0,198,226,156,5,192,0,0,0,198,35,157,5,198,130,157,5,197,226,253,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,157,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,158,5,192,0,0,0,198,131,158,5,197,34,254,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,158,5,198,66,159,5,198,130,159,5,192,0,0,0,198,194,159,5,197,99,254,0,198,2,160,5,198,67,160,5,198,163,160,5,198,2,161,5,198,67,161,5,198,162,161,5,198,226,161,5,192,0,0,0,192,0,0,0,198,34,162,5,198,99,162,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,162,5,192,0,0,0,192,0,0,0,192,0,0,0,198,35,163,5,198,131,163,5,198,226,163,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,164,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,164,5,192,0,0,0,198,163,164,5,198,3,165,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,165,5,192,0,0,0,198,194,165,5,198,2,166,5,198,67,166,5,197,194,254,0,198,163,166,5,198,2,167,5,192,0,0,0,198,67,167,5,197,2,255,0,192,0,0,0,192,0,0,0,198,163,167,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,168,5,192,0,0,0,192,0,0,0,198,99,168,5,192,0,0,0,192,0,0,0,192,0,0,0,198,195,168,5,192,0,0,0,198,34,169,5,198,99,169,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,169,5,198,35,170,5,198,130,170,5,197,67,255,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,170,5,192,0,0,0,192,0,0,0,192,0,0,0,197,162,255,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,171,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,171,5,192,0,0,0,192,0,0,0,192,0,0,0,198,162,171,5,198,227,171,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,172,5,192,0,0,0,192,0,0,0,192,0,0,0,198,130,172,5,198,194,172,5,192,0,0,0,192,0,0,0,198,3,173,5,192,0,0,0,198,99,173,5,192,0,0,0,198,195,173,5,198,35,174,5,192,0,0,0,197,226,255,0,198,131,174,5,197,35,0,1,198,226,174,5,192,0,0,0,197,131,0,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,175,5,198,130,175,5,198,194,175,5,198,3,176,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,176,5,198,195,176,5,198,34,177,5,192,0,0,0,198,99,177,5,198,195,177,5,192,0,0,0,192,0,0,0,198,35,178,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,178,5,198,227,178,5,192,0,0,0,198,67,179,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,0,1,192,0,0,0,197,34,1,1,198,163,179,5,192,0,0,0,198,3,180,5,192,0,0,0,198,99,180,5,192,0,0,0,192,0,0,0,192,0,0,0,198,194,180,5,192,0,0,0,192,0,0,0,198,2,181,5,197,98,1,1,197,163,1,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,181,5,192,0,0,0,198,131,181,5,192,0,0,0,192,0,0,0,192,0,0,0,197,2,2,1,198,226,181,5,198,35,182,5,198,130,182,5,192,0,0,0,198,195,182,5,192,0,0,0,198,35,183,5,192,0,0,0,192,0,0,0,197,66,2,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,183,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,2,1,198,226,183,5,192,0,0,0,198,34,184,5,198,99,184,5,192,0,0,0,192,0,0,0,198,194,184,5,197,194,2,1,198,3,185,5,198,99,185,5,197,2,3,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,3,1,192,0,0,0,192,0,0,0,198,195,185,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,3,1,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,1,192,0,0,0,192,0,0,0,197,34,4,1,198,35,186,5,192,0,0,0,192,0,0,0,198,131,186,5,198,227,186,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,187,5,192,0,0,0,192,0,0,0,198,131,187,5,198,227,187,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,188,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,4,1,192,0,0,0,192,0,0,0,198,163,188,5,198,3,189,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,189,5,192,0,0,0,198,163,189,5,192,0,0,0,192,0,0,0,197,162,4,1,192,0,0,0,192,0,0,0,197,226,4,1,198,2,190,5,197,34,5,1,198,67,190,5,198,162,190,5,192,0,0,0,198,227,190,5,192,0,0,0,198,67,191,5,192,0,0,0,198,162,191,5,192,0,0,0,198,226,191,5,192,0,0,0,197,99,5,1,192,0,0,0,192,0,0,0,198,35,192,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,5,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,192,5,192,0,0,0,192,0,0,0,192,0,0,0,198,194,192,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,193,5,192,0,0,0,192,0,0,0,198,99,193,5,192,0,0,0,192,0,0,0,198,194,193,5,192,0,0,0,198,3,194,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,194,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,194,5,192,0,0,0,198,2,195,5,192,0,0,0,192,0,0,0,198,66,195,5,192,0,0,0,198,131,195,5,192,0,0,0,192,0,0,0,192,0,0,0,198,227,195,5,198,67,196,5,198,163,196,5,198,3,197,5,198,99,197,5,192,0,0,0,192,0,0,0,197,2,6,1,198,195,197,5,198,35,198,5,198,131,198,5,192,0,0,0,198,227,198,5,192,0,0,0,198,67,199,5,192,0,0,0,192,0,0,0,198,163,199,5,198,3,200,5,198,98,200,5,192,0,0,0,198,162,200,5,192,0,0,0,192,0,0,0,198,227,200,5,198,66,201,5,192,0,0,0,198,130,201,5,192,0,0,0,192,0,0,0,198,194,201,5,192,0,0,0,192,0,0,0,192,0,0,0,198,2,202,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,202,5,198,163,202,5,198,3,203,5,198,99,203,5,192,0,0,0,198,195,203,5,192,0,0,0,192,0,0,0,198,35,204,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,204,5,197,67,6,1,192,0,0,0,192,0,0,0,198,194,204,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,205,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,205,5,192,0,0,0,198,195,205,5,198,35,206,5,197,162,6,1,192,0,0,0,198,130,206,5,198,195,206,5,192,0,0,0,198,35,207,5,192,0,0,0,192,0,0,0,192,0,0,0,198,130,207,5,198,194,207,5,192,0,0,0,198,2,208,5,192,0,0,0,198,67,208,5,192,0,0,0,198,163,208,5,198,2,209,5,192,0,0,0,192,0,0,0,192,0,0,0,198,67,209,5,192,0,0,0,198,162,209,5,198,227,209,5,192,0,0,0,198,67,210,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,1,192,0,0,0,197,34,7,1,192,0,0,0,198,163,210,5,192,0,0,0,198,3,211,5,192,0,0,0,192,0,0,0,198,99,211,5,192,0,0,0,192,0,0,0,198,194,211,5,198,2,212,5,198,66,212,5,192,0,0,0,192,0,0,0,198,130,212,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,212,5,192,0,0,0,198,34,213,5,198,98,213,5,192,0,0,0,198,162,213,5,197,98,7,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,1,192,0,0,0,192,0,0,0,198,227,213,5,192,0,0,0,198,67,214,5,198,162,214,5,192,0,0,0,192,0,0,0,192,0,0,0,198,227,214,5,198,67,215,5,198,162,215,5,198,227,215,5,192,0,0,0,198,66,216,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,216,5,192,0,0,0,192,0,0,0,192,0,0,0,198,226,216,5,192,0,0,0,198,35,217,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,217,5,192,0,0,0,198,226,217,5,198,34,218,5,192,0,0,0,198,98,218,5,198,162,218,5,192,0,0,0,198,227,218,5,192,0,0,0,192,0,0,0,197,226,7,1,192,0,0,0,198,67,219,5,192,0,0,0,192,0,0,0,198,163,219,5,192,0,0,0,192,0,0,0,198,3,220,5,192,0,0,0,197,34,8,1,192,0,0,0,198,99,220,5,192,0,0,0,198,195,220,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,8,1,198,35,221,5,198,131,221,5,192,0,0,0,197,163,8,1,198,227,221,5,198,67,222,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,222,5,197,3,9,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,9,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,222,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,223,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,223,5,198,195,223,5,198,35,224,5,198,130,224,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,224,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,9,1,197,226,9,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,225,5,198,99,225,5,192,0,0,0,192,0,0,0,192,0,0,0,198,195,225,5,198,34,226,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,10,1,192,0,0,0,198,98,226,5,198,163,226,5,198,2,227,5,192,0,0,0,198,67,227,5,192,0,0,0,198,163,227,5,198,3,228,5,192,0,0,0,197,98,10,1,192,0,0,0,198,98,228,5,192,0,0,0,198,162,228,5,198,226,228,5,192,0,0,0,192,0,0,0,198,35,229,5,198,131,229,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,229,5,198,67,230,5,198,163,230,5,192,0,0,0,198,3,231,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,231,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,231,5,192,0,0,0,198,3,232,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,232,5,192,0,0,0,198,195,232,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,233,5,192,0,0,0,192,0,0,0,198,98,233,5,192,0,0,0,198,162,233,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,10,1,192,0,0,0,197,227,10,1,192,0,0,0,192,0,0,0,197,66,11,1,198,227,233,5,197,130,11,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,11,1,198,66,234,5,192,0,0,0,198,130,234,5,197,2,12,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,12,1,192,0,0,0,192,0,0,0,192,0,0,0,197,130,12,1,198,194,234,5,192,0,0,0,192,0,0,0,198,2,235,5,192,0,0,0,198,67,235,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,235,5,198,227,235,5,197,194,12,1,198,67,236,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,236,5,198,2,237,5,198,67,237,5,198,162,237,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,237,5,192,0,0,0,198,67,238,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,238,5,198,2,239,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,239,5,197,2,13,1,198,130,239,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,239,5,198,2,240,5,198,67,240,5,192,0,0,0,192,0,0,0,198,162,240,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,240,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,241,5,197,66,13,1,198,130,241,5,192,0,0,0,198,195,241,5,192,0,0,0,198,35,242,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,13,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,13,1,192,0,0,0,198,130,242,5,192,0,0,0,192,0,0,0,197,3,14,1,198,194,242,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,243,5,197,99,14,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,243,5,192,0,0,0,192,0,0,0,198,195,243,5,198,35,244,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,244,5,198,195,244,5,192,0,0,0,198,34,245,5,192,0,0,0,192,0,0,0,198,98,245,5,192,0,0,0,198,163,245,5,192,0,0,0,198,3,246,5,198,99,246,5,192,0,0,0,192,0,0,0,198,195,246,5,192,0,0,0,198,34,247,5,198,98,247,5,198,162,247,5,198,227,247,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,248,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,248,5,192,0,0,0,198,226,248,5,192,0,0,0,198,35,249,5,198,130,249,5,192,0,0,0,192,0,0,0,192,0,0,0,198,194,249,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,250,5,192,0,0,0,192,0,0,0,198,99,250,5,198,194,250,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,251,5,198,99,251,5,192,0,0,0,198,195,251,5,192,0,0,0,192,0,0,0,198,34,252,5,198,99,252,5,192,0,0,0,192,0,0,0,192,0,0,0,198,195,252,5,198,35,253,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,253,5,192,0,0,0,198,195,253,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,254,5,192,0,0,0,197,195,14,1,192,0,0,0,198,131,254,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,15,1,198,227,254,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,255,5,198,130,255,5,197,98,15,1,192,0,0,0,198,195,255,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,0,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,15,1,192,0,0,0,198,131,0,6,192,0,0,0,197,226,15,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,0,6,198,67,1,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,1,6,198,3,2,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,2,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,2,6,198,227,2,6,192,0,0,0,192,0,0,0,198,67,3,6,198,163,3,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,4,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,4,6,198,163,4,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,5,6,198,66,5,6,192,0,0,0,198,131,5,6,192,0,0,0,192,0,0,0,198,227,5,6,192,0,0,0,192,0,0,0,192,0,0,0,197,35,16,1,192,0,0,0,192,0,0,0,198,66,6,6,192,0,0,0,192,0,0,0,198,130,6,6,198,195,6,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,7,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,7,6,198,227,7,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,8,6,192,0,0,0,192,0,0,0,198,162,8,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,8,6,192,0,0,0,192,0,0,0,198,66,9,6,192,0,0,0,192,0,0,0,198,131,9,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,9,6,192,0,0,0,197,130,16,1,192,0,0,0,197,194,16,1,192,0,0,0,192,0,0,0,198,67,10,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,10,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,11,6,192,0,0,0,192,0,0,0,192,0,0,0,198,99,11,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,11,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,12,6,192,0,0,0,197,2,17,1,198,131,12,6,197,66,17,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,12,6,198,35,13,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,13,6,192,0,0,0,192,0,0,0,198,226,13,6,192,0,0,0,198,35,14,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,17,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,14,6,192,0,0,0,198,227,14,6,192,0,0,0,192,0,0,0,192,0,0,0,198,67,15,6,192,0,0,0,198,163,15,6,198,3,16,6,198,99,16,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,16,6,198,35,17,6,192,0,0,0,192,0,0,0,192,0,0,0,198,130,17,6,192,0,0,0,198,194,17,6,192,0,0,0,197,226,17,1,192,0,0,0,198,3,18,6,198,98,18,6,192,0,0,0,192,0,0,0,198,163,18,6,198,2,19,6,197,34,18,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,18,1,192,0,0,0,192,0,0,0,198,67,19,6,192,0,0,0,192,0,0,0,198,163,19,6,192,0,0,0,198,2,20,6,192,0,0,0,198,67,20,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,20,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,21,6,198,99,21,6,198,195,21,6,192,0,0,0,198,35,22,6,198,130,22,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,22,6,192,0,0,0,192,0,0,0,198,2,23,6,192,0,0,0,198,66,23,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,23,6,192,0,0,0,192,0,0,0,192,0,0,0,198,226,23,6,198,35,24,6,192,0,0,0,192,0,0,0,192,0,0,0,197,162,18,1,192,0,0,0,198,130,24,6,198,195,24,6,192,0,0,0,192,0,0,0,192,0,0,0,198,35,25,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,25,6,197,226,18,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,25,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,26,6,198,98,26,6,198,163,26,6,192,0,0,0,192,0,0,0,198,3,27,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,27,6,192,0,0,0,192,0,0,0,198,163,27,6,192,0,0,0,198,2,28,6,192,0,0,0,192,0,0,0,198,66,28,6,192,0,0,0,197,34,19,1,197,98,19,1,192,0,0,0,192,0,0,0,198,130,28,6,198,195,28,6,192,0,0,0,192,0,0,0,198,34,29,6,198,99,29,6,192,0,0,0,198,194,29,6,192,0,0,0,198,2,30,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,30,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,30,6,192,0,0,0,197,162,19,1,192,0,0,0,198,195,30,6,198,34,31,6,198,98,31,6,192,0,0,0,192,0,0,0,198,162,31,6,198,226,31,6,192,0,0,0,192,0,0,0,192,0,0,0,197,226,19,1,198,34,32,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,20,1,192,0,0,0,192,0,0,0,198,99,32,6,192,0,0,0,192,0,0,0,198,195,32,6,192,0,0,0,198,35,33,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,33,6,192,0,0,0,198,226,33,6,198,34,34,6,192,0,0,0,198,98,34,6,192,0,0,0,192,0,0,0,197,98,20,1,198,162,34,6,197,162,20,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,34,6,192,0,0,0,198,67,35,6,192,0,0,0,192,0,0,0,197,226,20,1,197,34,21,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,35,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,36,6,192,0,0,0,198,98,36,6,192,0,0,0,198,163,36,6,198,3,37,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,37,6,192,0,0,0,192,0,0,0,198,195,37,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,38,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,38,6,192,0,0,0,198,194,38,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,39,6,192,0,0,0,198,99,39,6,198,195,39,6,198,35,40,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,40,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,40,6,192,0,0,0,192,0,0,0,197,99,21,1,192,0,0,0,198,67,41,6,192,0,0,0,192,0,0,0,198,163,41,6,192,0,0,0,198,3,42,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,42,6,192,0,0,0,198,162,42,6,192,0,0,0,198,227,42,6,192,0,0,0,192,0,0,0,198,67,43,6,197,194,21,1,197,3,22,1,198,162,43,6,192,0,0,0,198,227,43,6,192,0,0,0,192,0,0,0,192,0,0,0,198,66,44,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,44,6,192,0,0,0,192,0,0,0,198,226,44,6,198,34,45,6,198,99,45,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,45,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,46,6,198,130,46,6,198,195,46,6,192,0,0,0,198,34,47,6,192,0,0,0,192,0,0,0,198,98,47,6,192,0,0,0,192,0,0,0,198,163,47,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,22,1,192,0,0,0,192,0,0,0,198,3,48,6,192,0,0,0,192,0,0,0,198,99,48,6,192,0,0,0,198,195,48,6,198,35,49,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,49,6,192,0,0,0,198,227,49,6,192,0,0,0,198,67,50,6,192,0,0,0,192,0,0,0,192,0,0,0,198,162,50,6,192,0,0,0,198,226,50,6,198,34,51,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,22,1,192,0,0,0,198,99,51,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,51,6,192,0,0,0,198,35,52,6,198,131,52,6,192,0,0,0,192,0,0,0,192,0,0,0,198,227,52,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,53,6,192,0,0,0,198,163,53,6,198,2,54,6,192,0,0,0,192,0,0,0,192,0,0,0,198,67,54,6,198,162,54,6,198,227,54,6,198,67,55,6,192,0,0,0,198,163,55,6,192,0,0,0,198,2,56,6,192,0,0,0,198,67,56,6,198,162,56,6,192,0,0,0,197,227,22,1,198,227,56,6,198,67,57,6,197,67,23,1,198,163,57,6,198,2,58,6,192,0,0,0,192,0,0,0,197,162,23,1,192,0,0,0,198,66,58,6,192,0,0,0,198,131,58,6,192,0,0,0,192,0,0,0,197,227,23,1,198,227,58,6,192,0,0,0,198,67,59,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,59,6,192,0,0,0,192,0,0,0,198,3,60,6,192,0,0,0,192,0,0,0,192,0,0,0,197,66,24,1,192,0,0,0,192,0,0,0,198,98,60,6,192,0,0,0,198,162,60,6,192,0,0,0,192,0,0,0,192,0,0,0,198,227,60,6,198,66,61,6,198,131,61,6,192,0,0,0,198,226,61,6,192,0,0,0,192,0,0,0,198,34,62,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,62,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,62,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,62,6,198,34,63,6,192,0,0,0,192,0,0,0,198,98,63,6,198,163,63,6,197,130,24,1,198,3,64,6,198,99,64,6,192,0,0,0,192,0,0,0,197,194,24,1,192,0,0,0,192,0,0,0,198,194,64,6,192,0,0,0,198,3,65,6,197,2,25,1,198,99,65,6,197,66,25,1,192,0,0,0,192,0,0,0,198,194,65,6,192,0,0,0,192,0,0,0,198,2,66,6,192,0,0,0,198,66,66,6,198,130,66,6,197,130,25,1,198,195,66,6,192,0,0,0,197,195,25,1,197,34,26,1,197,98,26,1,198,35,67,6,192,0,0,0,198,131,67,6,192,0,0,0,192,0,0,0,192,0,0,0,198,227,67,6,192,0,0,0,192,0,0,0,197,162,26,1,192,0,0,0,192,0,0,0,197,226,26,1,192,0,0,0,192,0,0,0,198,66,68,6,192,0,0,0,198,130,68,6,198,194,68,6,198,3,69,6,197,34,27,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,69,6,198,163,69,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,70,6,192,0,0,0,198,98,70,6,192,0,0,0,198,163,70,6,192,0,0,0,192,0,0,0,197,98,27,1,192,0,0,0,198,2,71,6,192,0,0,0,192,0,0,0,192,0,0,0,198,66,71,6,192,0,0,0,198,131,71,6,198,226,71,6,198,35,72,6,198,130,72,6,198,194,72,6,198,2,73,6,198,67,73,6,198,162,73,6,197,162,27,1,192,0,0,0,198,227,73,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,74,6,192,0,0,0,197,226,27,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,74,6,192,0,0,0,192,0,0,0,197,34,28,1,192,0,0,0,198,195,74,6,198,34,75,6,192,0,0,0,192,0,0,0,198,99,75,6,192,0,0,0,198,195,75,6,192,0,0,0,192,0,0,0,198,35,76,6,192,0,0,0,198,130,76,6,192,0,0,0,198,195,76,6,192,0,0,0,198,35,77,6,192,0,0,0,197,98,28,1,192,0,0,0,192,0,0,0,198,131,77,6,192,0,0,0,192,0,0,0,192,0,0,0,198,227,77,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,28,1,198,67,78,6,192,0,0,0,198,163,78,6,198,2,79,6,197,227,28,1,198,66,79,6,192,0,0,0,192,0,0,0,198,131,79,6,192,0,0,0,197,66,29,1,197,130,29,1,192,0,0,0,192,0,0,0,198,227,79,6,198,67,80,6,192,0,0,0,197,194,29,1,198,162,80,6,192,0,0,0,198,226,80,6,197,2,30,1,192,0,0,0,198,35,81,6,197,67,30,1,192,0,0,0,198,131,81,6,198,227,81,6,197,162,30,1,192,0,0,0,198,67,82,6,192,0,0,0,197,227,30,1,192,0,0,0,198,163,82,6,192,0,0,0,198,2,83,6,198,67,83,6,197,66,31,1,192,0,0,0,198,163,83,6,192,0,0,0,192,0,0,0,198,3,84,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,84,6,192,0,0,0,198,162,84,6,192,0,0,0,198,227,84,6,197,130,31,1,192,0,0,0,192,0,0,0,197,195,31,1,192,0,0,0,198,67,85,6,198,163,85,6,192,0,0,0,198,3,86,6,198,99,86,6,198,195,86,6,198,35,87,6,198,130,87,6,192,0,0,0,192,0,0,0,198,194,87,6,192,0,0,0,192,0,0,0,198,2,88,6,192,0,0,0,192,0,0,0,198,67,88,6,192,0,0,0,198,162,88,6,192,0,0,0,192,0,0,0,198,227,88,6,198,66,89,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,89,6,192,0,0,0,192,0,0,0,192,0,0,0,198,194,89,6,192,0,0,0,198,3,90,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,90,6,192,0,0,0,192,0,0,0,197,34,32,1,192,0,0,0,197,98,32,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,90,6,192,0,0,0,192,0,0,0,197,162,32,1,192,0,0,0,197,227,32,1,198,34,91,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,91,6,192,0,0,0,198,195,91,6,192,0,0,0,198,35,92,6,198,130,92,6,198,195,92,6,192,0,0,0,198,34,93,6,192,0,0,0,192,0,0,0,198,98,93,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,93,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,94,6,198,98,94,6,192,0,0,0,192,0,0,0,198,163,94,6,197,66,33,1,198,3,95,6,192,0,0,0,192,0,0,0,198,99,95,6,192,0,0,0,192,0,0,0,197,130,33,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,33,1,192,0,0,0,197,2,34,1,198,195,95,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,96,6,198,99,96,6,192,0,0,0,198,195,96,6,192,0,0,0,198,34,97,6,192,0,0,0,198,98,97,6,192,0,0,0,198,163,97,6,198,3,98,6,192,0,0,0,192,0,0,0,198,99,98,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,98,6,192,0,0,0,198,35,99,6,192,0,0,0,198,131,99,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,99,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,100,6,192,0,0,0,197,67,34,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,100,6,198,195,100,6,198,34,101,6,198,98,101,6,198,163,101,6,192,0,0,0,198,3,102,6,192,0,0,0,198,98,102,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,102,6,198,227,102,6,192,0,0,0,192,0,0,0,192,0,0,0,198,67,103,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,103,6,198,3,104,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,34,1,192,0,0,0,197,226,34,1,197,34,35,1,198,98,104,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,104,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,35,1,197,162,35,1,198,2,105,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,105,6,198,131,105,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,105,6,192,0,0,0,198,66,106,6,198,130,106,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,106,6,198,2,107,6,192,0,0,0,192,0,0,0,192,0,0,0,198,67,107,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,35,1,198,163,107,6,192,0,0,0,198,2,108,6,198,66,108,6,198,131,108,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,108,6,197,34,36,1,198,67,109,6,197,99,36,1,198,163,109,6,198,3,110,6,192,0,0,0,192,0,0,0,197,194,36,1,198,98,110,6,192,0,0,0,198,162,110,6,198,226,110,6,198,34,111,6,192,0,0,0,197,3,37,1,198,98,111,6,198,162,111,6,192,0,0,0,197,99,37,1,198,226,111,6,198,35,112,6,198,130,112,6,192,0,0,0,198,194,112,6,197,194,37,1,198,3,113,6,198,98,113,6,198,163,113,6,197,2,38,1,192,0,0,0,198,3,114,6,198,98,114,6,198,162,114,6,192,0,0,0,198,227,114,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,115,6,192,0,0,0,198,163,115,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,116,6,198,66,116,6,192,0,0,0,198,130,116,6,192,0,0,0,198,195,116,6,192,0,0,0,198,34,117,6,198,99,117,6,198,195,117,6,198,34,118,6,198,99,118,6,192,0,0,0,198,194,118,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,119,6,192,0,0,0,198,99,119,6,198,194,119,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,120,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,120,6,198,130,120,6,198,194,120,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,121,6,197,66,38,1,192,0,0,0,198,67,121,6,198,163,121,6,192,0,0,0,198,3,122,6,198,99,122,6,192,0,0,0,198,195,122,6,192,0,0,0,198,35,123,6,198,131,123,6,192,0,0,0,192,0,0,0,198,227,123,6,198,66,124,6,192,0,0,0,198,131,124,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,124,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,125,6,192,0,0,0,198,162,125,6,198,227,125,6,192,0,0,0,192,0,0,0,192,0,0,0,197,131,38,1,192,0,0,0,198,66,126,6,192,0,0,0,192,0,0,0,198,130,126,6,192,0,0,0,192,0,0,0,198,194,126,6,198,2,127,6,192,0,0,0,198,67,127,6,198,162,127,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,127,6,192,0,0,0,192,0,0,0,192,0,0,0,198,66,128,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,128,6,192,0,0,0,192,0,0,0,192,0,0,0,198,226,128,6,192,0,0,0,197,227,38,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,129,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,129,6,192,0,0,0,192,0,0,0,197,66,39,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,39,1,192,0,0,0,192,0,0,0,198,162,129,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,129,6,198,67,130,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,130,6,192,0,0,0,192,0,0,0,192,0,0,0,198,226,130,6,192,0,0,0,192,0,0,0,192,0,0,0,198,34,131,6,192,0,0,0,192,0,0,0,192,0,0,0,197,194,39,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,131,6,198,195,131,6,192,0,0,0,198,34,132,6,198,98,132,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,132,6,198,3,133,6,198,98,133,6,192,0,0,0,192,0,0,0,192,0,0,0,197,2,40,1,192,0,0,0,198,162,133,6,192,0,0,0,198,227,133,6,192,0,0,0,198,67,134,6,192,0,0,0,198,163,134,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,40,1,192,0,0,0,197,130,40,1,198,3,135,6,198,98,135,6,192,0,0,0,192,0,0,0,198,162,135,6,192,0,0,0,197,194,40,1,192,0,0,0,198,226,135,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,136,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,136,6,192,0,0,0,198,226,136,6,198,35,137,6,198,131,137,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,137,6,198,67,138,6,192,0,0,0,192,0,0,0,192,0,0,0,198,163,138,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,139,6,198,66,139,6,198,130,139,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,139,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,41,1,192,0,0,0,192,0,0,0,192,0,0,0,198,35,140,6,198,131,140,6,197,66,41,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,140,6,192,0,0,0,192,0,0,0,198,35,141,6,192,0,0,0,197,130,41,1,192,0,0,0,197,194,41,1,192,0,0,0,192,0,0,0,198,131,141,6,198,226,141,6,198,34,142,6,197,2,42,1,192,0,0,0,198,99,142,6,192,0,0,0,192,0,0,0,197,66,42,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,142,6,192,0,0,0,192,0,0,0,192,0,0,0,198,35,143,6,192,0,0,0,192,0,0,0,198,131,143,6,192,0,0,0,192,0,0,0,198,227,143,6,198,67,144,6,192,0,0,0,192,0,0,0,198,163,144,6,198,3,145,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,145,6,192,0,0,0,198,195,145,6,192,0,0,0,198,35,146,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,146,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,146,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,147,6,192,0,0,0,197,130,42,1,192,0,0,0,198,99,147,6,198,194,147,6,197,194,42,1,192,0,0,0,198,3,148,6,192,0,0,0,192,0,0,0,198,99,148,6,198,195,148,6,192,0,0,0,198,34,149,6,198,99,149,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,149,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,150,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,150,6,198,227,150,6,198,67,151,6,198,163,151,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,152,6,192,0,0,0,198,67,152,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,152,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,43,1,192,0,0,0,192,0,0,0,192,0,0,0,198,226,152,6,198,35,153,6,197,66,43,1,198,131,153,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,153,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,154,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,154,6,192,0,0,0,192,0,0,0,198,3,155,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,155,6,198,194,155,6,198,2,156,6,198,66,156,6,198,131,156,6,192,0,0,0,198,227,156,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,157,6,192,0,0,0,198,130,157,6,192,0,0,0,198,195,157,6,198,34,158,6,198,98,158,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,158,6,198,3,159,6,198,98,159,6,198,163,159,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,160,6,197,130,43,1,197,194,43,1,198,99,160,6,198,195,160,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,161,6,198,131,161,6,198,227,161,6,198,66,162,6,198,131,162,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,162,6,198,67,163,6,192,0,0,0,192,0,0,0,198,162,163,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,163,6,198,35,164,6,192,0,0,0,198,131,164,6,192,0,0,0,192,0,0,0,198,227,164,6,197,2,44,1,198,67,165,6,192,0,0,0,198,163,165,6,192,0,0,0,197,67,44,1,198,3,166,6,198,99,166,6,192,0,0,0,192,0,0,0,198,195,166,6,192,0,0,0,192,0,0,0,192,0,0,0,198,35,167,6,198,130,167,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,167,6,192,0,0,0,198,35,168,6,192,0,0,0,192,0,0,0,198,131,168,6,198,227,168,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,44,1,197,227,44,1,198,67,169,6,192,0,0,0,198,162,169,6,198,227,169,6,198,67,170,6,198,162,170,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,170,6,198,66,171,6,192,0,0,0,192,0,0,0,197,66,45,1,192,0,0,0,192,0,0,0,198,131,171,6,198,227,171,6,192,0,0,0,192,0,0,0,198,67,172,6,192,0,0,0,198,163,172,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,173,6,198,67,173,6,198,163,173,6,198,3,174,6,198,99,174,6,198,195,174,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,175,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,175,6,198,227,175,6,192,0,0,0,198,66,176,6,198,130,176,6,197,131,45,1,198,195,176,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,177,6,198,131,177,6,192,0,0,0,192,0,0,0,198,227,177,6,192,0,0,0,198,66,178,6,198,131,178,6,198,226,178,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,179,6,192,0,0,0,198,98,179,6,198,163,179,6,198,2,180,6,192,0,0,0,198,66,180,6,192,0,0,0,198,131,180,6,198,227,180,6,198,67,181,6,198,163,181,6,192,0,0,0,192,0,0,0,198,3,182,6,192,0,0,0,198,99,182,6,192,0,0,0,197,226,45,1,192,0,0,0,192,0,0,0,198,194,182,6,198,3,183,6,198,99,183,6,198,194,183,6,192,0,0,0,192,0,0,0,197,34,46,1,192,0,0,0,192,0,0,0,197,98,46,1,198,3,184,6,198,99,184,6,198,194,184,6,192,0,0,0,197,162,46,1,198,3,185,6,192,0,0,0,198,99,185,6,192,0,0,0,192,0,0,0,198,194,185,6,198,2,186,6,198,66,186,6,192,0,0,0,197,226,46,1,198,131,186,6,198,226,186,6,192,0,0,0,192,0,0,0,198,34,187,6,198,99,187,6,198,195,187,6,198,34,188,6,192,0,0,0,197,34,47,1,198,99,188,6,192,0,0,0,192,0,0,0,198,194,188,6,198,3,189,6,198,99,189,6,198,194,189,6,198,3,190,6,198,99,190,6,198,195,190,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,47,1,192,0,0,0,192,0,0,0,198,34,191,6,198,99,191,6,192,0,0,0,198,195,191,6,198,34,192,6,198,98,192,6,192,0,0,0,198,163,192,6,192,0,0,0,192,0,0,0,192,0,0,0,197,163,47,1,192,0,0,0,197,2,48,1,192,0,0,0,192,0,0,0,198,3,193,6,198,98,193,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,193,6,192,0,0,0,198,227,193,6,197,66,48,1,198,67,194,6,192,0,0,0,198,163,194,6,197,130,48,1,198,3,195,6,197,194,48,1,197,3,49,1,198,98,195,6,198,162,195,6,198,227,195,6,197,98,49,1,192,0,0,0,192,0,0,0,198,66,196,6,198,130,196,6,192,0,0,0,198,194,196,6,198,3,197,6,198,99,197,6,197,162,49,1,192,0,0,0,198,195,197,6,198,34,198,6,192,0,0,0,198,99,198,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,198,6,198,3,199,6,192,0,0,0,192,0,0,0,198,99,199,6,198,194,199,6,198,2,200,6,198,67,200,6,192,0,0,0,192,0,0,0,198,162,200,6,192,0,0,0,192,0,0,0,198,227,200,6,198,66,201,6,198,131,201,6,198,227,201,6,192,0,0,0,197,226,49,1,192,0,0,0,198,66,202,6,198,130,202,6,192,0,0,0,197,34,50,1,198,194,202,6,198,2,203,6,197,98,50,1,198,66,203,6,197,163,50,1,198,131,203,6,192,0,0,0,198,226,203,6,198,35,204,6,192,0,0,0,198,131,204,6,192,0,0,0,197,2,51,1,192,0,0,0,192,0,0,0,198,226,204,6,198,34,205,6,198,99,205,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,205,6,192,0,0,0,192,0,0,0,192,0,0,0,198,35,206,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,206,6,192,0,0,0,198,227,206,6,198,66,207,6,192,0,0,0,192,0,0,0,198,131,207,6,192,0,0,0,198,227,207,6,192,0,0,0,198,66,208,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,208,6,198,226,208,6,198,34,209,6,192,0,0,0,198,98,209,6,192,0,0,0,198,162,209,6,192,0,0,0,192,0,0,0,197,66,51,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,209,6,192,0,0,0,192,0,0,0,192,0,0,0,198,35,210,6,192,0,0,0,197,131,51,1,198,131,210,6,198,227,210,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,211,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,211,6,197,227,51,1,198,195,211,6,192,0,0,0,192,0,0,0,198,35,212,6,198,131,212,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,212,6,192,0,0,0,197,66,52,1,198,34,213,6,192,0,0,0,198,99,213,6,192,0,0,0,198,195,213,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,52,1,198,34,214,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,214,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,214,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,52,1,192,0,0,0,192,0,0,0,198,3,215,6,192,0,0,0,192,0,0,0,192,0,0,0,198,98,215,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,215,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,216,6,198,99,216,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,216,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,217,6,192,0,0,0,192,0,0,0,198,131,217,6,197,34,53,1,198,227,217,6,192,0,0,0,198,67,218,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,218,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,219,6,197,98,53,1,198,99,219,6,197,162,53,1,198,195,219,6,198,34,220,6,198,98,220,6,192,0,0,0,192,0,0,0,192,0,0,0,198,162,220,6,192,0,0,0,192,0,0,0,192,0,0,0,197,227,53,1,197,66,54,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,220,6,198,35,221,6,198,130,221,6,198,194,221,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,222,6,198,99,222,6,192,0,0,0,198,194,222,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,223,6,192,0,0,0,198,98,223,6,197,130,54,1,198,162,223,6,197,195,54,1,198,227,223,6,198,66,224,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,224,6,192,0,0,0,192,0,0,0,192,0,0,0,198,227,224,6,192,0,0,0,197,34,55,1,192,0,0,0,198,66,225,6,192,0,0,0,197,98,55,1,192,0,0,0,192,0,0,0,198,130,225,6,192,0,0,0,198,195,225,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,55,1,192,0,0,0,198,35,226,6,192,0,0,0,192,0,0,0,192,0,0,0,197,226,55,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,226,6,197,34,56,1,198,195,226,6,192,0,0,0,198,34,227,6,197,98,56,1,192,0,0,0,198,99,227,6,198,195,227,6,192,0,0,0,198,34,228,6,198,99,228,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,228,6,197,163,56,1,192,0,0,0,198,34,229,6,192,0,0,0,198,99,229,6,192,0,0,0,198,194,229,6,192,0,0,0,197,2,57,1,192,0,0,0,198,3,230,6,198,98,230,6,198,163,230,6,197,66,57,1,198,3,231,6,198,98,231,6,198,163,231,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,232,6,198,67,232,6,192,0,0,0,192,0,0,0,192,0,0,0,198,162,232,6,197,131,57,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,232,6,198,35,233,6,192,0,0,0,198,130,233,6,198,195,233,6,192,0,0,0,192,0,0,0,198,34,234,6,192,0,0,0,192,0,0,0,198,99,234,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,234,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,235,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,235,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,235,6,192,0,0,0,192,0,0,0,198,3,236,6,198,99,236,6,198,195,236,6,192,0,0,0,198,34,237,6,192,0,0,0,192,0,0,0,198,99,237,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,57,1,192,0,0,0,198,195,237,6,198,34,238,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,238,6,198,195,238,6,192,0,0,0,198,34,239,6,198,99,239,6,192,0,0,0,198,195,239,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,240,6,198,131,240,6,198,227,240,6,192,0,0,0,192,0,0,0,192,0,0,0,198,66,241,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,241,6,192,0,0,0,198,226,241,6,192,0,0,0,192,0,0,0,198,35,242,6,198,130,242,6,198,195,242,6,192,0,0,0,198,34,243,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,243,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,243,6,192,0,0,0,192,0,0,0,198,35,244,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,244,6,192,0,0,0,198,226,244,6,198,35,245,6,198,131,245,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,245,6,198,66,246,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,246,6,192,0,0,0,198,226,246,6,192,0,0,0,198,35,247,6,192,0,0,0,192,0,0,0,198,131,247,6,192,0,0,0,198,227,247,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,248,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,248,6,192,0,0,0,198,3,249,6,192,0,0,0,198,99,249,6,198,194,249,6,192,0,0,0,198,3,250,6,198,98,250,6,198,162,250,6,198,227,250,6,197,67,58,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,58,1,192,0,0,0,192,0,0,0,198,66,251,6,198,130,251,6,192,0,0,0,198,194,251,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,252,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,252,6,192,0,0,0,192,0,0,0,197,227,58,1,192,0,0,0,198,195,252,6,198,35,253,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,253,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,59,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,253,6,198,35,254,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,254,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,254,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,255,6,198,99,255,6,198,195,255,6,192,0,0,0,198,35,0,7,198,130,0,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,0,7,192,0,0,0,198,35,1,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,1,7,197,162,59,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,1,7,192,0,0,0,192,0,0,0,197,226,59,1,197,34,60,1,198,35,2,7,192,0,0,0,192,0,0,0,192,0,0,0,198,131,2,7,198,227,2,7,198,67,3,7,198,162,3,7,198,227,3,7,198,67,4,7,198,162,4,7,192,0,0,0,198,227,4,7,198,67,5,7,198,162,5,7,192,0,0,0,198,227,5,7,198,67,6,7,198,163,6,7,192,0,0,0,198,2,7,7,198,67,7,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,7,7,198,2,8,7,198,67,8,7,198,162,8,7,192,0,0,0,198,226,8,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,9,7,192,0,0,0,192,0,0,0,197,98,60,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,9,7,197,162,60,1,198,226,9,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,10,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,10,7,198,194,10,7,192,0,0,0,197,226,60,1,192,0,0,0,198,3,11,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,11,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,61,1,192,0,0,0,198,195,11,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,12,7,192,0,0,0,198,131,12,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,12,7,192,0,0,0,197,130,61,1,198,67,13,7,192,0,0,0,192,0,0,0,197,194,61,1,198,163,13,7,192,0,0,0,192,0,0,0,192,0,0,0,198,3,14,7,192,0,0,0,198,98,14,7,192,0,0,0,198,163,14,7,197,3,62,1,192,0,0,0,192,0,0,0,198,2,15,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,62,1,198,67,15,7,192,0,0,0,192,0,0,0,198,163,15,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,16,7,192,0,0,0,192,0,0,0,192,0,0,0,198,99,16,7,198,195,16,7,192,0,0,0,198,34,17,7,198,99,17,7,198,195,17,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,18,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,18,7,198,195,18,7,198,35,19,7,192,0,0,0,192,0,0,0,192,0,0,0,198,131,19,7,198,227,19,7,198,67,20,7,198,163,20,7,192,0,0,0,198,3,21,7,197,162,62,1,192,0,0,0,198,98,21,7,192,0,0,0,198,163,21,7,192,0,0,0,198,3,22,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,22,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,22,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,23,7,197,227,62,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,23,7,198,194,23,7,192,0,0,0,192,0,0,0,198,2,24,7,198,67,24,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,24,7,198,3,25,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,25,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,25,7,198,3,26,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,26,7,198,195,26,7,192,0,0,0,198,35,27,7,192,0,0,0,198,131,27,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,63,1,192,0,0,0,198,226,27,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,63,1,192,0,0,0,198,35,28,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,28,7,198,227,28,7,192,0,0,0,192,0,0,0,198,67,29,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,29,7,192,0,0,0,192,0,0,0,198,3,30,7,192,0,0,0,198,99,30,7,192,0,0,0,197,2,64,1,197,66,64,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,30,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,31,7,198,99,31,7,198,195,31,7,192,0,0,0,192,0,0,0,198,35,32,7,192,0,0,0,198,131,32,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,32,7,198,35,33,7,198,131,33,7,198,227,33,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,34,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,34,7,192,0,0,0,192,0,0,0,198,3,35,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,35,7,197,130,64,1,198,195,35,7,198,34,36,7,192,0,0,0,192,0,0,0,198,99,36,7,198,195,36,7,192,0,0,0,198,35,37,7,198,131,37,7,198,227,37,7,198,67,38,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,38,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,39,7,192,0,0,0,192,0,0,0,192,0,0,0,198,67,39,7,197,195,64,1,198,163,39,7,192,0,0,0,192,0,0,0,198,2,40,7,198,67,40,7,192,0,0,0,198,163,40,7,198,3,41,7,197,34,65,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,41,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,41,7,192,0,0,0,192,0,0,0,198,35,42,7,192,0,0,0,198,131,42,7,198,227,42,7,198,67,43,7,198,163,43,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,44,7,192,0,0,0,192,0,0,0,192,0,0,0,198,99,44,7,198,194,44,7,192,0,0,0,197,99,65,1,198,3,45,7,198,99,45,7,198,194,45,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,46,7,197,195,65,1,198,67,46,7,197,35,66,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,46,7,192,0,0,0,198,227,46,7,192,0,0,0,197,131,66,1,192,0,0,0,197,226,66,1,198,67,47,7,198,163,47,7,192,0,0,0,192,0,0,0,198,3,48,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,48,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,48,7,192,0,0,0,192,0,0,0,197,34,67,1,192,0,0,0,192,0,0,0,192,0,0,0,198,3,49,7,192,0,0,0,198,99,49,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,49,7,198,34,50,7,192,0,0,0,192,0,0,0,198,99,50,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,50,7,192,0,0,0,192,0,0,0,192,0,0,0,198,2,51,7,198,66,51,7,192,0,0,0,197,98,67,1,192,0,0,0,198,130,51,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,51,7,198,3,52,7,198,99,52,7,192,0,0,0,192,0,0,0,198,195,52,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,53,7,192,0,0,0,192,0,0,0,197,162,67,1,197,227,67,1,198,131,53,7,198,227,53,7,198,67,54,7,192,0,0,0,198,162,54,7,198,227,54,7,198,67,55,7,197,66,68,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,55,7,192,0,0,0,198,226,55,7,192,0,0,0,192,0,0,0,192,0,0,0,198,35,56,7,192,0,0,0,198,130,56,7,198,195,56,7,198,34,57,7,198,99,57,7,198,194,57,7,197,131,68,1,198,3,58,7,192,0,0,0,192,0,0,0,192,0,0,0,198,98,58,7,198,163,58,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,68,1,198,2,59,7,198,67,59,7,192,0,0,0,192,0,0,0,192,0,0,0,198,162,59,7,198,226,59,7,192,0,0,0,197,35,69,1,198,34,60,7,192,0,0,0,192,0,0,0,198,98,60,7,192,0,0,0,192,0,0,0,198,163,60,7,198,3,61,7,192,0,0,0,198,98,61,7,198,162,61,7,198,227,61,7,192,0,0,0,197,130,69,1,198,67,62,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,62,7,197,194,69,1,192,0,0,0,192,0,0,0,198,2,63,7,198,66,63,7,198,130,63,7,197,3,70,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,63,7,198,35,64,7,192,0,0,0,197,98,70,1,198,131,64,7,192,0,0,0,198,226,64,7,198,34,65,7,198,98,65,7,198,162,65,7,192,0,0,0,198,227,65,7,198,67,66,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,66,7,198,3,67,7,192,0,0,0,192,0,0,0,198,99,67,7,198,194,67,7,198,3,68,7,198,98,68,7,192,0,0,0,197,162,70,1,192,0,0,0,198,163,68,7,198,2,69,7,198,67,69,7,197,226,70,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,69,7,198,226,69,7,192,0,0,0,192,0,0,0,198,35,70,7,198,131,70,7,197,34,71,1,198,227,70,7,198,67,71,7,198,162,71,7,192,0,0,0,192,0,0,0,192,0,0,0,198,226,71,7,198,35,72,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,72,7,198,194,72,7,198,3,73,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,73,7,198,195,73,7,192,0,0,0,198,35,74,7,192,0,0,0,192,0,0,0,192,0,0,0,198,131,74,7,198,226,74,7,192,0,0,0,198,35,75,7,198,131,75,7,198,227,75,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,76,7,192,0,0,0,192,0,0,0,192,0,0,0,198,130,76,7,198,195,76,7,198,35,77,7,198,131,77,7,197,98,71,1,198,226,77,7,192,0,0,0,192,0,0,0,198,34,78,7,198,99,78,7,198,195,78,7,198,34,79,7,192,0,0,0,198,99,79,7,192,0,0,0,197,162,71,1,198,194,79,7,192,0,0,0,198,3,80,7,192,0,0,0,192,0,0,0,198,99,80,7,192,0,0,0,192,0,0,0,198,195,80,7,192,0,0,0,197,226,71,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,81,7,192,0,0,0,192,0,0,0,198,131,81,7,198,226,81,7,192,0,0,0,192,0,0,0,198,35,82,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,82,7,192,0,0,0,198,226,82,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,72,1,198,35,83,7,192,0,0,0,192,0,0,0,192,0,0,0,197,98,72,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,83,7,192,0,0,0,198,226,83,7,192,0,0,0,197,162,72,1,192,0,0,0,198,35,84,7,198,130,84,7,192,0,0,0,192,0,0,0,198,194,84,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,85,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,85,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,85,7,198,35,86,7,198,131,86,7,198,227,86,7,198,66,87,7,192,0,0,0,198,130,87,7,198,194,87,7,198,3,88,7,192,0,0,0,192,0,0,0,192,0,0,0,198,99,88,7,192,0,0,0,198,195,88,7,197,227,72,1,192,0,0,0,192,0,0,0,192,0,0,0,198,35,89,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,89,7,197,66,73,1,198,226,89,7,192,0,0,0,198,35,90,7,192,0,0,0,192,0,0,0,198,131,90,7,192,0,0,0,198,227,90,7,192,0,0,0,192,0,0,0,192,0,0,0,198,66,91,7,197,130,73,1,192,0,0,0,192,0,0,0,198,130,91,7,198,195,91,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,73,1,192,0,0,0,198,35,92,7,192,0,0,0,198,131,92,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,92,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,93,7,192,0,0,0,192,0,0,0,198,130,93,7,192,0,0,0,192,0,0,0,198,194,93,7,192,0,0,0,198,3,94,7,192,0,0,0,192,0,0,0,198,99,94,7,198,195,94,7,198,35,95,7,192,0,0,0,192,0,0,0,192,0,0,0,198,130,95,7,192,0,0,0,192,0,0,0,198,194,95,7,192,0,0,0,192,0,0,0,192,0,0,0,198,3,96,7,198,99,96,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,96,7,192,0,0,0,198,35,97,7,192,0,0,0,192,0,0,0,198,131,97,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,74,1,192,0,0,0,198,227,97,7,192,0,0,0,192,0,0,0,198,67,98,7,192,0,0,0,192,0,0,0,198,163,98,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,99,7,192,0,0,0,192,0,0,0,198,66,99,7,198,130,99,7,198,195,99,7,192,0,0,0,198,35,100,7,198,130,100,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,100,7,198,2,101,7,192,0,0,0,192,0,0,0,198,67,101,7,198,162,101,7,198,227,101,7,192,0,0,0,198,67,102,7,198,162,102,7,192,0,0,0,192,0,0,0,192,0,0,0,198,227,102,7,198,67,103,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,103,7,197,66,74,1,197,131,74,1,198,3,104,7,198,99,104,7,192,0,0,0,198,195,104,7,198,35,105,7,192,0,0,0,198,130,105,7,192,0,0,0,198,195,105,7,192,0,0,0,198,35,106,7,198,130,106,7,198,194,106,7,198,3,107,7,197,226,74,1,198,99,107,7,198,195,107,7,198,35,108,7,192,0,0,0,192,0,0,0,198,131,108,7,197,34,75,1,198,227,108,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,109,7,192,0,0,0,192,0,0,0,197,99,75,1,192,0,0,0,198,163,109,7,192,0,0,0,192,0,0,0,197,194,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,110,7,192,0,0,0,198,66,110,7,197,2,76,1,192,0,0,0,197,67,76,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,110,7,198,227,110,7,197,162,76,1,192,0,0,0,198,67,111,7,192,0,0,0,192,0,0,0,192,0,0,0,198,162,111,7,192,0,0,0,192,0,0,0,198,226,111,7,192,0,0,0,192,0,0,0,192,0,0,0,198,34,112,7,197,226,76,1,198,99,112,7,192,0,0,0,192,0,0,0,198,194,112,7,197,34,77,1,198,3,113,7,198,99,113,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,113,7,198,35,114,7,198,131,114,7,192,0,0,0,192,0,0,0,192,0,0,0,198,227,114,7,198,67,115,7,198,163,115,7,192,0,0,0,192,0,0,0,192,0,0,0,198,2,116,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,77,1,198,66,116,7,198,130,116,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,116,7,192,0,0,0,192,0,0,0,192,0,0,0,198,35,117,7,198,131,117,7,198,226,117,7,192,0,0,0,198,35,118,7,198,131,118,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,118,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,119,7,192,0,0,0,198,163,119,7,192,0,0,0,198,2,120,7,198,67,120,7,192,0,0,0,192,0,0,0,192,0,0,0,198,162,120,7,192,0,0,0,192,0,0,0,192,0,0,0,198,227,120,7,192,0,0,0,198,66,121,7,192,0,0,0,192,0,0,0,198,131,121,7,192,0,0,0,192,0,0,0,198,226,121,7,192,0,0,0,197,162,77,1,192,0,0,0,192,0,0,0,197,226,77,1,192,0,0,0,198,34,122,7,192,0,0,0,198,99,122,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,122,7,198,3,123,7,192,0,0,0,192,0,0,0,198,99,123,7,192,0,0,0,198,195,123,7,198,34,124,7,192,0,0,0,192,0,0,0,192,0,0,0,198,99,124,7,198,195,124,7,192,0,0,0,192,0,0,0,198,35,125,7,198,130,125,7,192,0,0,0,198,195,125,7,198,35,126,7,198,131,126,7,192,0,0,0,198,227,126,7,192,0,0,0,192,0,0,0,198,66,127,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,127,7,198,226,127,7,198,34,128,7,198,99,128,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,128,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,129,7,198,99,129,7,192,0,0,0,198,194,129,7,192,0,0,0,192,0,0,0,192,0,0,0,198,3,130,7,192,0,0,0,198,98,130,7,198,162,130,7,198,226,130,7,198,35,131,7,192,0,0,0,192,0,0,0,197,34,78,1,192,0,0,0,197,98,78,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,131,7,192,0,0,0,198,227,131,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,132,7,198,162,132,7,198,227,132,7,192,0,0,0,198,67,133,7,192,0,0,0,198,162,133,7,192,0,0,0,198,227,133,7,192,0,0,0,198,67,134,7,197,162,78,1,192,0,0,0,198,163,134,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,135,7,192,0,0,0,192,0,0,0,197,226,78,1,197,34,79,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,135,7,192,0,0,0,192,0,0,0,198,195,135,7,192,0,0,0,192,0,0,0,198,34,136,7,198,99,136,7,192,0,0,0,197,98,79,1,198,195,136,7,198,35,137,7,192,0,0,0,192,0,0,0,198,130,137,7,198,194,137,7,198,2,138,7,192,0,0,0,198,67,138,7,198,162,138,7,192,0,0,0,198,227,138,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,139,7,192,0,0,0,198,163,139,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,140,7,198,66,140,7,198,131,140,7,198,227,140,7,192,0,0,0,192,0,0,0,192,0,0,0,197,163,79,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,141,7,192,0,0,0,198,163,141,7,192,0,0,0,192,0,0,0,198,3,142,7,192,0,0,0,192,0,0,0,192,0,0,0,198,98,142,7,198,162,142,7,198,227,142,7,192,0,0,0,198,67,143,7,198,162,143,7,192,0,0,0,197,2,80,1,198,227,143,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,144,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,144,7,192,0,0,0,192,0,0,0,198,2,145,7,192,0,0,0,192,0,0,0,192,0,0,0,198,66,145,7,198,131,145,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,145,7,198,34,146,7,198,98,146,7,198,162,146,7,192,0,0,0,192,0,0,0,198,226,146,7,192,0,0,0,192,0,0,0,198,34,147,7,198,98,147,7,192,0,0,0,198,162,147,7,198,227,147,7,198,66,148,7,198,130,148,7,198,194,148,7,192,0,0,0,192,0,0,0,198,3,149,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,149,7,192,0,0,0,198,195,149,7,192,0,0,0,192,0,0,0,197,66,80,1,198,35,150,7,192,0,0,0,192,0,0,0,198,131,150,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,150,7,192,0,0,0,192,0,0,0,198,67,151,7,192,0,0,0,198,163,151,7,192,0,0,0,198,3,152,7,192,0,0,0,198,99,152,7,198,195,152,7,198,34,153,7,198,99,153,7,198,194,153,7,192,0,0,0,192,0,0,0,198,3,154,7,192,0,0,0,192,0,0,0,198,98,154,7,192,0,0,0,198,162,154,7,198,226,154,7,198,34,155,7,192,0,0,0,198,98,155,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,155,7,192,0,0,0,198,227,155,7,198,67,156,7,192,0,0,0,198,162,156,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,156,7,192,0,0,0,198,67,157,7,192,0,0,0,192,0,0,0,198,163,157,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,158,7,197,130,80,1,198,98,158,7,198,163,158,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,159,7,192,0,0,0,198,67,159,7,198,162,159,7,198,227,159,7,197,194,80,1,198,67,160,7,198,162,160,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,81,1,192,0,0,0,198,227,160,7,197,66,81,1,198,67,161,7,198,163,161,7,192,0,0,0,192,0,0,0,198,3,162,7,192,0,0,0,192,0,0,0,198,98,162,7,192,0,0,0,197,131,81,1,198,162,162,7,192,0,0,0,198,227,162,7,198,67,163,7,192,0,0,0,192,0,0,0,192,0,0,0,197,226,81,1,192,0,0,0,192,0,0,0,197,34,82,1,192,0,0,0,198,163,163,7,198,2,164,7,192,0,0,0,192,0,0,0,192,0,0,0,197,99,82,1,197,194,82,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,164,7,192,0,0,0,198,162,164,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,83,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,83,1,198,226,164,7,192,0,0,0,192,0,0,0,198,35,165,7,192,0,0,0,192,0,0,0,198,131,165,7,198,226,165,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,166,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,166,7,192,0,0,0,198,195,166,7,192,0,0,0,198,34,167,7,197,130,83,1,192,0,0,0,198,99,167,7,198,194,167,7,198,2,168,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,83,1,192,0,0,0,198,67,168,7,192,0,0,0,198,163,168,7,192,0,0,0,198,3,169,7,198,98,169,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,169,7,192,0,0,0,198,226,169,7,198,35,170,7,192,0,0,0,197,2,84,1,192,0,0,0,197,66,84,1,192,0,0,0,198,131,170,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,84,1,198,227,170,7,198,66,171,7,192,0,0,0,197,194,84,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,171,7,192,0,0,0,192,0,0,0,198,227,171,7,198,67,172,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,172,7,198,3,173,7,192,0,0,0,198,98,173,7,192,0,0,0,192,0,0,0,198,162,173,7,192,0,0,0,198,227,173,7,192,0,0,0,192,0,0,0,192,0,0,0,198,67,174,7,192,0,0,0,198,163,174,7,198,3,175,7,198,98,175,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,175,7,192,0,0,0,192,0,0,0,198,3,176,7,198,99,176,7,192,0,0,0,192,0,0,0,192,0,0,0,198,194,176,7,198,3,177,7,197,3,85,1,197,98,85,1,192,0,0,0,192,0,0,0,192,0,0,0,198,98,177,7,198,163,177,7,192,0,0,0,198,3,178,7,198,99,178,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,178,7,192,0,0,0,198,34,179,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,179,7,198,163,179,7,198,3,180,7,198,99,180,7,198,194,180,7,192,0,0,0,192,0,0,0,198,2,181,7,192,0,0,0,192,0,0,0,198,66,181,7,192,0,0,0,198,131,181,7,198,227,181,7,197,162,85,1,192,0,0,0,198,66,182,7,192,0,0,0,192,0,0,0,198,130,182,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,182,7,192,0,0,0,198,34,183,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,183,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,183,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,183,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,184,7,192,0,0,0,192,0,0,0,198,131,184,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,184,7,192,0,0,0,192,0,0,0,198,66,185,7,198,130,185,7,198,194,185,7,192,0,0,0,192,0,0,0,192,0,0,0,198,3,186,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,186,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,186,7,198,2,187,7,192,0,0,0,198,66,187,7,198,130,187,7,192,0,0,0,197,226,85,1,198,195,187,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,188,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,188,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,188,7,192,0,0,0,192,0,0,0,198,2,189,7,198,66,189,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,86,1,192,0,0,0,198,131,189,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,189,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,190,7,192,0,0,0,198,99,190,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,190,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,191,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,191,7,192,0,0,0,198,195,191,7,192,0,0,0,198,34,192,7,197,98,86,1,192,0,0,0,192,0,0,0,198,99,192,7,192,0,0,0,198,195,192,7,198,34,193,7,192,0,0,0,197,162,86,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,193,7,197,227,86,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,193,7,198,227,193,7,198,67,194,7,192,0,0,0,198,163,194,7,198,2,195,7,192,0,0,0,192,0,0,0,198,67,195,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,195,7,198,2,196,7,198,67,196,7,192,0,0,0,192,0,0,0,197,66,87,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,196,7,192,0,0,0,198,3,197,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,197,7,192,0,0,0,192,0,0,0,198,195,197,7,198,35,198,7,192,0,0,0,192,0,0,0,192,0,0,0,198,131,198,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,87,1,192,0,0,0,192,0,0,0,198,227,198,7,192,0,0,0,192,0,0,0,192,0,0,0,198,66,199,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,199,7,192,0,0,0,192,0,0,0,198,195,199,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,200,7,198,99,200,7,198,194,200,7,192,0,0,0,198,2,201,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,201,7,198,163,201,7,192,0,0,0,198,3,202,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,202,7,192,0,0,0,192,0,0,0,198,195,202,7,198,34,203,7,198,99,203,7,198,194,203,7,192,0,0,0,192,0,0,0,198,3,204,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,204,7,192,0,0,0,192,0,0,0,198,194,204,7,192,0,0,0,192,0,0,0,198,3,205,7,197,194,87,1,192,0,0,0,198,99,205,7,192,0,0,0,192,0,0,0,192,0,0,0,197,2,88,1,192,0,0,0,192,0,0,0,192,0,0,0,198,194,205,7,192,0,0,0,192,0,0,0,198,3,206,7,192,0,0,0,198,99,206,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,206,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,207,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,207,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,207,7,197,66,88,1,192,0,0,0,197,130,88,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,208,7,192,0,0,0,198,131,208,7,198,227,208,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,209,7,198,130,209,7,192,0,0,0,198,195,209,7,198,34,210,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,210,7,192,0,0,0,192,0,0,0,198,195,210,7,192,0,0,0,192,0,0,0,198,35,211,7,198,130,211,7,192,0,0,0,198,195,211,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,212,7,192,0,0,0,192,0,0,0,192,0,0,0,198,130,212,7,192,0,0,0,192,0,0,0,198,195,212,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,213,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,213,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,213,7,192,0,0,0,192,0,0,0,192,0,0,0,198,35,214,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,214,7,192,0,0,0,192,0,0,0,198,227,214,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,215,7,192,0,0,0,192,0,0,0,198,163,215,7,192,0,0,0,192,0,0,0,198,3,216,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,88,1,198,98,216,7,192,0,0,0,192,0,0,0,198,163,216,7,198,2,217,7,192,0,0,0,198,67,217,7,192,0,0,0,192,0,0,0,192,0,0,0,198,162,217,7,192,0,0,0,198,227,217,7,198,66,218,7,192,0,0,0,198,130,218,7,192,0,0,0,192,0,0,0,198,194,218,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,219,7,192,0,0,0,192,0,0,0,198,66,219,7,198,130,219,7,192,0,0,0,198,194,219,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,220,7,192,0,0,0,192,0,0,0,198,67,220,7,198,163,220,7,198,3,221,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,221,7,198,194,221,7,197,34,89,1,198,3,222,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,89,1,198,99,222,7,198,194,222,7,192,0,0,0,192,0,0,0,197,195,89,1,192,0,0,0,198,3,223,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,223,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,223,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,224,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,224,7,198,195,224,7,198,34,225,7,192,0,0,0,198,99,225,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,225,7,192,0,0,0,198,3,226,7,192,0,0,0,197,35,90,1,192,0,0,0,198,99,226,7,192,0,0,0,198,195,226,7,192,0,0,0,198,35,227,7,198,130,227,7,192,0,0,0,197,130,90,1,192,0,0,0,198,194,227,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,228,7,198,66,228,7,192,0,0,0,192,0,0,0,198,131,228,7,192,0,0,0,198,226,228,7,198,34,229,7,198,99,229,7,192,0,0,0,192,0,0,0,192,0,0,0,197,194,90,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,229,7,198,3,230,7,198,99,230,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,230,7,198,3,231,7,192,0,0,0,192,0,0,0,192,0,0,0,198,98,231,7,198,163,231,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,232,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,232,7,198,195,232,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,233,7,192,0,0,0,198,98,233,7,197,2,91,1,198,162,233,7,192,0,0,0,192,0,0,0,192,0,0,0,197,67,91,1,192,0,0,0,198,227,233,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,91,1,198,66,234,7,197,2,92,1,198,131,234,7,198,226,234,7,197,67,92,1,192,0,0,0,192,0,0,0,198,35,235,7,192,0,0,0,198,130,235,7,192,0,0,0,198,195,235,7,192,0,0,0,198,35,236,7,198,130,236,7,198,195,236,7,198,34,237,7,198,99,237,7,192,0,0,0,197,163,92,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,237,7,192,0,0,0,192,0,0,0,198,35,238,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,238,7,198,227,238,7,192,0,0,0,192,0,0,0,198,67,239,7,192,0,0,0,198,162,239,7,198,227,239,7,198,67,240,7,198,163,240,7,192,0,0,0,192,0,0,0,198,3,241,7,198,99,241,7,198,194,241,7,198,3,242,7,192,0,0,0,198,99,242,7,198,195,242,7,192,0,0,0,198,34,243,7,192,0,0,0,198,98,243,7,192,0,0,0,192,0,0,0,198,162,243,7,198,227,243,7,198,66,244,7,198,131,244,7,192,0,0,0,192,0,0,0,192,0,0,0,198,227,244,7,192,0,0,0,198,66,245,7,192,0,0,0,192,0,0,0,198,130,245,7,192,0,0,0,192,0,0,0,192,0,0,0,198,194,245,7,192,0,0,0,198,2,246,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,246,7,192,0,0,0,198,131,246,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,246,7,198,66,247,7,192,0,0,0,192,0,0,0,198,130,247,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,247,7,192,0,0,0,192,0,0,0,192,0,0,0,198,35,248,7,198,131,248,7,192,0,0,0,198,226,248,7,192,0,0,0,192,0,0,0,198,35,249,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,93,1,198,130,249,7,192,0,0,0,192,0,0,0,198,194,249,7,192,0,0,0,192,0,0,0,192,0,0,0,197,66,93,1,192,0,0,0,198,3,250,7,197,131,93,1,192,0,0,0,198,99,250,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,93,1,198,194,250,7,198,3,251,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,251,7,198,195,251,7,192,0,0,0,198,34,252,7,198,99,252,7,198,195,252,7,198,34,253,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,253,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,253,7,198,3,254,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,254,7,198,195,254,7,192,0,0,0,198,35,255,7,192,0,0,0,198,131,255,7,192,0,0,0,198,227,255,7,198,67,0,8,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,0,8,198,226,0,8,192,0,0,0,192,0,0,0,198,35,1,8,192,0,0,0,197,34,94,1,192,0,0,0,192,0,0,0,198,130,1,8,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,101,6,198,131,181,2,198,226,152,6,198,162,114,6,197,195,168,0,197,99,0,0,198,226,180,0,198,162,0,8,198,162,0,8,198,130,49,1,198,163,231,6,198,98,216,0,198,98,48,1,198,226,31,2,198,194,79,4,198,66,61,5,198,98,233,5,198,2,5,6,198,162,31,6,198,226,204,6,198,3,9,3,198,99,87,3,198,35,192,3,198,99,4,4,198,227,186,5,198,99,222,6,198,131,150,7,198,3,13,0,198,131,169,0,198,195,31,3,198,67,219,3,198,99,232,5,198,99,225,7,198,227,153,1,198,227,167,3,198,99,223,5,198,131,40,6,198,35,58,2,198,3,125,5,198,35,12,6,198,163,190,1,198,99,186,2,198,3,95,3,198,67,239,3,192,0,0,0,198,2,47,0,198,99,116,0,198,66,151,0,198,226,107,2,198,34,27,3,198,66,218,3,198,66,94,4,198,130,75,5,198,162,228,5,198,66,234,5,198,162,135,6,198,226,82,7,198,162,183,7,198,194,222,7,198,227,131,4,198,131,155,4,198,227,15,5,198,131,178,5,198,195,0,7,198,35,227,7,198,227,77,6,198,99,39,1,198,227,198,1,198,227,232,4,198,227,87,5,198,162,228,3,198,194,137,4,198,98,113,6,198,226,74,7,198,162,37,1,198,2,132,1,198,66,11,3,198,34,106,3,198,162,140,3,198,2,2,5,198,34,37,5,198,194,51,7,198,35,149,0,198,35,90,5,198,67,120,0,198,195,118,0,198,227,171,4,198,35,22,5,198,35,182,5,198,99,57,7,198,195,95,6,198,130,59,2,198,3,9,3,198,163,82,6,198,3,7,0,198,131,115,1,198,34,230,1,198,99,249,3,198,2,55,4,198,195,157,0,198,131,143,4,198,227,51,0,198,3,219,1,198,162,2,0,197,3,157,0,198,2,129,2,198,195,0,5,198,131,176,0,198,226,24,1,198,3,98,4,198,131,187,5,198,227,73,6,198,195,48,3,198,3,174,6,197,99,154,0,198,67,66,2,198,35,157,5,198,227,82,2,198,131,53,4,198,131,20,0,198,3,107,0,198,195,117,0,198,3,226,2,198,3,248,4,198,67,141,5,198,131,77,6,198,3,231,6,197,194,25,0,197,194,35,0,197,34,63,0,197,226,87,0,197,130,124,0,197,2,175,0,197,162,220,0,197,34,65,1,197,194,82,1,197,194,90,1,197,2,92,1,198,99,143,0,198,35,176,2,198,227,40,3,198,227,169,6,198,67,181,1,198,131,20,2,198,131,33,2,198,195,102,2,198,99,143,3,198,195,198,3,198,131,28,4,198,227,163,4,198,195,28,5,198,195,84,5,198,35,161,6,198,3,203,5,198,195,190,6,198,67,8,7,198,99,127,0,198,99,144,0,198,163,201,0,198,227,190,3,198,163,26,6,198,227,73,6,198,67,190,1,198,195,227,1,198,67,78,2,198,163,46,3,198,99,229,4,198,195,246,3,198,3,28,0,198,195,243,0,198,131,115,1,198,163,160,1,198,195,231,1,198,67,255,3,198,3,24,4,198,131,64,5,198,99,82,5,198,99,238,6,198,131,74,7,198,35,84,7,198,227,108,7,198,226,47,0,198,130,159,4,198,34,228,6,198,98,65,7,198,195,255,1,198,98,13,0,198,66,86,0,198,34,117,1,198,66,127,1,198,226,131,2,198,3,9,3,198,130,211,3,198,194,74,4,198,130,204,5,198,66,202,6,198,99,254,7,197,35,128,0,198,195,49,7,198,194,141,0,198,194,198,2,198,66,211,2,198,130,91,3,198,162,128,3,198,162,11,4,198,130,51,4,198,226,129,4,198,2,253,4,198,2,116,7,198,35,108,0,198,35,40,2,198,3,58,7,198,195,69,0,198,99,149,1,198,99,109,3,198,131,162,6,198,3,215,1,198,67,9,2,198,67,214,2,198,99,249,3,198,67,59,7,198,130,129,0,198,98,187,0,198,162,132,1,198,131,150,2,198,98,193,2,198,34,230,2,198,130,82,3,198,34,11,4,198,98,66,4,198,2,60,5,198,2,28,6,198,2,30,6,198,98,230,6,198,226,71,7,198,195,160,0,198,35,133,3,198,163,188,0,198,195,211,3,198,163,29,4,198,163,226,5,198,163,62,7,198,131,198,7,198,99,230,7,198,35,202,2,198,131,104,3,198,131,127,5,198,3,192,4,198,67,201,4,198,3,237,4,198,99,234,3,198,98,186,3,198,35,92,6,198,131,22,0,198,2,167,5,198,98,132,0,198,35,125,0,198,194,186,1,198,163,60,2,198,163,244,4,198,195,100,1,198,195,87,3,197,67,129,0,198,131,164,6,198,163,15,6,198,99,52,7,198,227,43,6,198,227,191,1,198,67,100,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,24,1,192,0,0,0,198,67,165,2,192,0,0,0,192,0,0,0,197,130,19,0,197,66,193,0,198,195,89,4,192,0,0,0,198,35,153,4,198,67,154,4,198,67,157,4,198,99,85,7,198,99,243,4,198,162,67,5,192,0,0,0,192,0,0,0,192,0,0,0,197,162,30,1,192,0,0,0,192,0,0,0,198,163,192,6,198,98,214,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,126,7,198,226,127,7,198,227,132,7,197,195,88,1,198,195,211,6,198,34,65,7,198,226,50,0,198,99,87,0,198,131,103,0,198,3,148,0,198,195,152,0,198,66,164,0,198,99,218,0,198,99,225,0,198,130,232,0,198,227,20,1,198,67,32,1,198,67,132,1,192,0,0,0,197,226,99,0,198,194,14,2,198,35,20,2,198,131,31,2,198,3,124,2,192,0,0,0,198,130,168,2,198,194,226,2,197,98,161,0,197,98,165,0,198,3,143,3,198,162,203,3,192,0,0,0,198,3,13,4,198,226,132,4,198,34,148,4,198,2,150,4,198,194,149,4,198,162,150,4,198,194,151,4,198,195,152,4,197,98,222,0,198,227,156,4,198,3,176,4,198,99,182,4,198,227,218,4,198,195,28,5,198,227,29,5,198,99,38,5,198,34,59,5,198,66,76,5,197,162,249,0,192,0,0,0,192,0,0,0,197,98,4,1,198,131,33,6,198,226,44,6,198,67,83,6,198,3,90,6,198,163,115,6,198,163,121,6,192,0,0,0,198,163,192,6,198,35,72,7,198,163,103,7,198,67,111,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,5,0,192,0,0,0,198,163,106,0,192,0,0,0,198,195,101,0,198,130,110,0,198,163,147,0,198,195,153,0,198,99,218,0,192,0,0,0,197,2,44,0,198,195,223,0,198,131,24,1,198,35,34,1,198,195,47,1,198,3,50,1,198,98,73,1,198,34,90,1,192,0,0,0,192,0,0,0,198,226,209,1,198,34,220,1,198,227,253,1,192,0,0,0,197,34,104,0,198,35,20,2,198,98,13,2,198,131,31,2,198,66,41,2,197,130,116,0,198,162,93,2,192,0,0,0,198,66,125,2,198,67,165,2,198,99,186,2,198,195,186,2,198,163,194,2,192,0,0,0,198,195,48,3,198,130,91,3,192,0,0,0,198,98,135,3,198,3,143,3,198,35,176,3,198,162,203,3,192,0,0,0,198,195,221,3,198,67,233,3,197,66,193,0,198,163,25,4,192,0,0,0,192,0,0,0,192,0,0,0,198,67,71,4,198,195,89,4,198,99,91,4,198,35,96,4,192,0,0,0,198,67,105,4,192,0,0,0,192,0,0,0,198,227,218,4,192,0,0,0,198,226,7,5,198,195,28,5,198,131,52,5,198,66,76,5,197,67,255,0,197,2,2,1,192,0,0,0,198,99,37,6,198,67,43,6,198,226,44,6,198,34,75,6,197,162,30,1,198,195,76,6,198,67,83,6,198,163,82,6,197,194,29,1,198,3,90,6,198,99,96,6,198,163,121,6,198,226,163,6,198,162,200,6,192,0,0,0,192,0,0,0,198,98,58,7,198,35,72,7,198,99,85,7,192,0,0,0,198,163,103,7,192,0,0,0,198,67,111,7,198,227,173,7,198,162,0,8,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,254,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,50,0,198,131,51,0,198,227,61,0,192,0,0,0,198,130,79,0,198,99,87,0,198,67,85,0,192,0,0,0,192,0,0,0,198,131,103,0,192,0,0,0,192,0,0,0,198,130,109,0,192,0,0,0,192,0,0,0,198,98,106,0,198,226,111,0,192,0,0,0,198,99,113,0,198,35,114,0,192,0,0,0,198,67,115,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,124,0,192,0,0,0,198,163,132,0,192,0,0,0,197,163,22,0,198,35,140,0,192,0,0,0,198,163,147,0,198,3,148,0,198,195,152,0,198,195,153,0,198,2,156,0,192,0,0,0,198,195,157,0,197,66,28,0,198,66,164,0,198,67,165,0,198,195,168,0,198,67,171,0,198,3,172,0,198,3,172,0,198,3,172,0,192,0,0,0,197,34,177,0,198,195,177,0,198,194,179,0,192,0,0,0,198,2,182,0,198,131,183,0,192,0,0,0,192,0,0,0,197,99,34,0,198,67,192,0,198,226,194,0,198,99,200,0,192,0,0,0,198,3,208,0,198,2,212,0,197,195,42,0,198,163,215,0,198,163,215,0,197,2,44,0,198,227,219,0,192,0,0,0,192,0,0,0,198,2,248,0,198,99,225,0,192,0,0,0,192,0,0,0,198,35,234,0,198,35,125,0,192,0,0,0,198,131,8,1,198,195,11,1,192,0,0,0,198,195,3,1,192,0,0,0,198,194,19,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,42,1,198,2,44,1,198,67,44,1,198,34,51,1,192,0,0,0,192,0,0,0,197,66,66,0,198,130,68,1,198,2,70,1,192,0,0,0,198,2,74,1,192,0,0,0,192,0,0,0,198,66,88,1,198,3,92,1,198,3,92,1,192,0,0,0,198,163,110,1,197,226,74,0,198,131,115,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,131,1,192,0,0,0,198,194,142,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,164,1,198,34,165,1,192,0,0,0,198,67,168,1,198,66,172,1,198,98,174,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,187,1,198,66,188,1,198,163,190,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,250,0,198,66,202,1,198,66,202,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,208,1,198,34,210,1,192,0,0,0,192,0,0,0,198,227,222,1,198,162,223,1,192,0,0,0,198,35,242,1,192,0,0,0,192,0,0,0,197,226,99,0,192,0,0,0,198,163,251,1,198,66,10,2,197,67,106,0,192,0,0,0,197,67,106,0,198,162,17,2,198,35,20,2,198,3,25,2,198,67,22,2,198,163,24,2,198,67,30,2,198,131,31,2,198,226,31,2,198,131,35,2,192,0,0,0,192,0,0,0,198,34,55,2,198,3,61,2,198,99,74,2,192,0,0,0,198,3,71,2,192,0,0,0,198,194,75,2,198,226,78,2,192,0,0,0,192,0,0,0,198,227,93,2,192,0,0,0,198,67,84,2,192,0,0,0,198,34,98,2,192,0,0,0,197,226,119,0,192,0,0,0,192,0,0,0,198,3,124,2,198,3,127,2,192,0,0,0,198,226,141,2,198,66,182,2,198,99,158,2,192,0,0,0,198,130,168,2,192,0,0,0,192,0,0,0,198,130,112,0,198,3,113,0,197,226,131,0,192,0,0,0,198,131,94,5,192,0,0,0,198,99,186,2,198,195,186,2,192,0,0,0,198,66,195,2,197,34,133,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,226,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,245,2,192,0,0,0,198,130,6,3,192,0,0,0,192,0,0,0,198,99,27,3,192,0,0,0,198,98,34,3,192,0,0,0,197,226,148,0,192,0,0,0,198,162,40,3,192,0,0,0,198,195,48,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,60,3,192,0,0,0,198,227,75,3,192,0,0,0,192,0,0,0,192,0,0,0,197,226,160,0,197,98,161,0,198,130,91,3,197,34,161,0,197,163,161,0,198,131,96,3,192,0,0,0,192,0,0,0,198,67,117,3,198,99,125,3,192,0,0,0,198,98,135,3,192,0,0,0,192,0,0,0,198,131,112,3,198,226,152,3,192,0,0,0,192,0,0,0,198,227,164,3,192,0,0,0,198,35,176,3,198,3,175,3,192,0,0,0,192,0,0,0,198,226,183,3,192,0,0,0,198,67,188,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,220,3,198,195,221,3,192,0,0,0,192,0,0,0,198,226,230,3,192,0,0,0,192,0,0,0,192,0,0,0,198,195,247,3,198,99,250,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,200,0,198,163,25,4,192,0,0,0,198,3,35,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,55,4,192,0,0,0,198,194,70,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,96,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,100,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,111,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,131,4,192,0,0,0,192,0,0,0,192,0,0,0,198,194,151,4,192,0,0,0,192,0,0,0,198,67,157,4,198,195,167,4,192,0,0,0,198,3,176,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,219,4,198,99,220,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,250,4,192,0,0,0,198,35,9,5,192,0,0,0,197,162,234,0,192,0,0,0,198,98,39,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,73,5,198,66,76,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,85,5,192,0,0,0,192,0,0,0,198,163,95,5,192,0,0,0,192,0,0,0,198,2,107,5,198,227,78,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,250,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,144,5,198,66,146,5,192,0,0,0,197,34,253,0,198,195,150,5,198,98,152,5,198,130,157,5,192,0,0,0,198,35,157,5,198,226,163,5,192,0,0,0,192,0,0,0,198,34,164,5,198,99,176,5,192,0,0,0,197,98,4,1,192,0,0,0,198,227,178,5,198,67,179,5,198,194,180,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,203,5,192,0,0,0,192,0,0,0,192,0,0,0,198,162,214,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,10,1,198,66,234,5,197,66,12,1,192,0,0,0,197,2,13,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,250,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,18,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,71,6,197,194,29,1,198,99,96,6,198,162,102,6,192,0,0,0,198,163,109,6,198,3,113,6,198,227,124,6,198,162,127,6,192,0,0,0,192,0,0,0,198,99,131,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,163,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,239,6,198,131,253,6,192,0,0,0,198,131,246,6,192,0,0,0,192,0,0,0,192,0,0,0,198,34,36,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,81,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,100,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,124,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,173,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,233,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,248,7,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,89,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,251,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,16,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,180,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,79,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,185,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,102,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,226,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,32,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,25,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,128,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,7,127,0,0,113,121,0,5,0,5,0,0,6,121,0,5,107,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,181,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,49,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,70,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,198,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,117,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,219,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,175,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,154,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,38,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,30,126,0,0,129,121,0,5,0,5,0,0,10,121,0,5,158,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,108,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,128,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,31,127,0,0,125,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,50,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,100,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,109,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,74,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,9,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,81,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,78,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,10,127,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,193,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,176,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,74,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,213,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,2,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,53,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,129,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,47,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,92,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,124,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,112,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,220,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,185,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,252,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,236,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,240,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,130,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,99,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,41,127,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,32,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,51,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,84,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,209,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,10,123,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,35,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,55,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,253,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,107,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,180,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,125,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,39,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,232,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,121,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,63,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,122,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,26,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,14,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,110,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,24,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,168,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,134,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,47,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,131,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,80,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,227,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,176,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,158,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,138,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,145,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,136,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,77,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,48,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,27,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,36,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,220,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,170,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,214,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,214,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,169,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,79,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,234,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,241,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,39,127,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,52,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,49,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,116,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,186,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,40,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,109,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,200,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,152,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,247,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,89,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,78,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,99,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,132,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,133,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,252,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,52,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,32,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,40,126,0,0,185,121,0,5,0,5,0,0,40,121,0,5,6,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,161,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,22,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,31,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,93,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,40,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,59,126,0,0,209,121,0,5,0,5,0,0,38,121,0,5,12,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,90,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,181,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,151,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,162,127,0,0,129,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,229,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,129,121,0,5,97,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,248,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,153,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,253,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,29,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,53,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,33,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,151,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,109,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,39,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,91,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,134,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,100,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,231,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,51,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,130,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,4,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,3,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,16,127,0,0,117,121,0,5,0,5,0,0,24,121,0,5,83,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,32,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,92,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,229,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,175,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,26,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,159,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,27,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,71,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,68,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,240,122,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,15,126,0,0,193,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,85,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,126,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,23,127,0,0,117,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,49,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,100,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,163,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,187,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,249,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,61,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,105,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,23,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,17,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,150,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,56,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,23,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,62,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,15,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,246,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,175,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,45,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,135,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,101,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,215,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,144,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,228,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,111,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,84,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,164,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,55,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,159,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,124,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,171,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,179,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,182,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,11,127,0,0,135,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,108,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,157,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,170,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,83,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,56,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,145,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,138,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,45,127,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,45,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,202,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,61,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,57,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,27,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,158,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,6,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,206,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,43,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,113,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,224,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,60,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,165,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,230,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,229,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,56,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,72,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,75,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,254,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,19,127,0,0,113,121,0,5,0,5,0,0,28,121,0,5,127,126,0,0,129,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,86,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,14,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,40,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,255,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,33,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,254,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,21,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,76,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,215,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,168,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,111,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,25,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,255,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,94,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,32,127,0,0,125,121,0,5,0,5,0,0,20,121,0,5,229,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,150,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,207,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,75,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,48,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,180,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,224,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,129,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,173,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,188,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,28,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,151,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,152,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,188,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,34,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,164,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,11,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,103,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,115,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,58,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,78,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,81,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,80,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,3,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,177,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,104,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,85,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,110,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,54,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,103,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,166,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,2,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,51,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,76,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,77,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,21,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,176,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,151,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,255,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,135,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,59,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,136,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,250,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,223,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,167,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,222,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,59,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,43,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,57,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,254,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,8,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,152,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,72,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,241,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,28,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,63,127,0,0,129,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,230,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,105,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,9,127,0,0,125,121,0,5,0,5,0,0,40,121,0,5,33,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,185,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,197,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,95,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,70,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,31,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,57,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,198,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,241,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,203,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,125,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,114,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,169,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,180,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,11,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,121,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,106,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,178,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,4,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,34,127,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,164,125,0,0,185,121,0,5,0,5,0,0,38,121,0,5,45,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,101,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,112,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,56,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,204,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,88,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,237,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,39,127,0,0,211,121,0,5,0,5,0,0,10,121,0,5,159,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,35,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,109,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,8,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,28,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,221,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,29,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,183,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,41,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,112,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,36,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,42,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,42,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,113,121,0,5,71,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,112,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,84,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,25,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,100,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,69,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,165,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,165,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,152,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,138,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,206,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,6,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,198,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,159,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,146,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,127,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,105,121,0,5,126,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,250,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,248,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,251,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,110,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,153,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,107,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,50,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,160,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,181,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,214,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,213,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,139,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,195,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,196,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,147,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,171,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,150,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,148,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,24,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,19,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,139,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,153,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,123,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,21,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,78,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,232,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,146,125,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,12,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,2,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,108,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,251,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,49,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,104,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,194,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,132,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,133,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,247,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,225,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,49,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,140,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,182,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,70,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,249,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,114,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,44,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,48,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,93,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,101,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,21,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,102,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,35,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,5,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,37,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,62,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,172,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,230,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,118,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,189,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,126,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,161,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,104,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,34,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,170,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,135,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,38,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,231,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,187,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,159,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,236,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,18,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,50,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,36,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,136,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,32,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,58,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,59,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,199,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,215,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,239,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,30,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,2,127,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,252,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,81,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,108,125,0,0,119,121,0,5,0,5,0,0,10,121,0,5,197,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,129,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,166,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,78,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,60,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,206,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,22,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,153,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,166,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,123,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,61,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,218,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,161,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,186,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,66,127,0,0,209,121,0,5,0,5,0,0,18,121,0,5,41,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,52,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,107,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,70,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,224,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,8,127,0,0,113,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,120,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,82,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,79,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,115,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,152,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,105,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,113,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,227,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,157,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,163,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,188,127,0,0,105,121,0,5,0,5,0,0,40,121,0,5,7,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,51,127,0,0,179,121,0,5,0,5,0,0,40,121,0,5,8,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,9,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,111,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,130,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,108,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,84,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,81,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,5,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,134,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,131,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,167,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,79,124,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,95,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,143,121,0,5,26,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,114,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,64,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,146,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,40,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,88,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,53,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,189,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,90,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,181,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,132,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,75,126,0,0,193,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,16,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,162,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,112,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,60,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,50,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,34,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,155,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,43,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,37,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,124,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,24,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,111,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,94,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,3,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,116,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,190,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,95,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,104,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,110,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,15,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,62,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,243,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,48,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,235,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,248,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,154,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,181,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,27,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,36,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,96,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,102,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,113,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,168,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,61,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,22,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,32,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,96,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,28,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,117,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,97,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,91,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,43,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,145,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,92,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,205,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,130,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,115,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,209,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,116,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,94,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,178,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,210,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,55,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,239,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,9,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,53,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,3,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,52,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,137,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,98,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,169,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,138,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,128,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,95,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,30,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,121,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,144,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,162,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,7,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,249,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,46,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,36,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,129,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,208,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,91,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,232,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,22,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,156,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,73,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,191,125,0,0,119,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,129,121,0,5,25,127,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,147,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,190,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,121,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,2,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,211,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,75,125,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,117,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,250,125,0,0,179,121,0,5,0,5,0,0,10,121,0,5,33,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,95,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,37,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,36,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,7,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,73,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,212,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,213,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,4,127,0,0,103,121,0,5,0,5,0,0,10,121,0,5,203,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,102,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,8,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,76,127,0,0,111,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,12,127,0,0,193,121,0,5,0,5,0,0,40,121,0,5,10,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,191,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,117,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,236,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,233,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,29,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,17,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,16,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,49,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,86,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,105,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,125,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,71,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,49,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,122,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,177,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,26,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,182,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,5,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,118,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,51,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,19,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,65,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,217,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,25,126,0,0,193,121,0,5,0,5,0,0,40,121,0,5,11,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,102,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,30,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,139,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,205,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,60,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,250,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,191,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,216,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,236,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,37,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,206,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,160,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,136,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,89,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,61,127,0,0,105,121,0,5,0,5,0,0,10,121,0,5,105,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,106,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,148,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,24,127,0,0,117,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,237,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,255,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,35,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,102,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,114,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,144,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,3,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,91,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,200,124,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,21,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,179,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,26,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,221,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,8,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,97,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,22,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,17,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,147,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,82,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,112,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,120,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,107,125,0,0,219,121,0,5,0,5,0,0,8,121,0,5,0,5,0,0,143,121,0,5,33,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,87,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,41,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,40,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,95,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,25,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,206,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,192,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,49,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,43,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,29,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,8,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,115,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,140,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,217,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,146,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,38,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,110,127,0,0,127,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,118,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,155,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,6,127,0,0,103,121,0,5,0,5,0,0,16,121,0,5,82,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,129,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,111,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,118,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,88,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,108,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,240,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,109,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,85,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,64,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,65,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,188,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,218,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,14,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,2,127,0,0,209,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,114,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,80,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,121,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,38,127,0,0,209,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,224,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,44,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,18,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,156,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,50,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,112,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,62,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,23,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,91,127,0,0,193,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,115,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,123,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,231,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,113,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,157,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,27,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,248,124,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,37,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,72,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,126,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,32,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,153,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,74,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,77,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,35,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,230,126,0,0,103,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,233,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,50,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,147,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,141,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,124,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,126,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,57,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,169,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,111,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,79,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,213,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,158,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,18,122,0,0,185,121,0,5,0,5,0,0,40,121,0,5,12,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,117,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,16,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,154,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,45,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,184,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,183,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,141,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,42,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,207,123,0,0,185,121,0,5,0,5,0,0,38,121,0,5,47,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,232,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,27,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,219,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,56,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,173,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,2,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,45,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,123,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,3,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,105,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,106,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,208,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,41,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,238,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,67,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,102,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,120,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,170,126,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,119,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,76,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,72,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,86,127,0,0,209,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,78,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,138,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,103,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,63,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,44,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,23,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,119,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,31,127,0,0,103,121,0,5,0,5,0,0,6,121,0,5,170,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,32,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,148,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,137,127,0,0,105,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,13,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,178,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,13,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,149,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,120,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,185,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,66,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,3,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,159,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,50,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,106,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,154,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,252,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,107,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,76,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,58,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,36,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,7,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,210,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,234,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,174,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,4,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,12,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,87,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,25,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,11,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,85,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,46,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,15,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,47,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,26,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,41,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,192,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,179,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,193,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,127,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,181,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,254,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,156,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,13,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,139,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,5,127,0,0,121,121,0,5,0,5,0,0,20,121,0,5,46,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,129,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,47,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,28,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,68,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,73,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,47,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,82,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,142,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,25,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,199,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,77,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,33,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,209,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,59,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,172,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,27,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,241,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,115,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,143,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,193,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,250,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,131,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,79,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,39,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,193,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,113,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,207,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,23,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,40,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,133,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,44,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,33,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,199,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,64,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,20,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,155,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,60,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,105,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,97,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,38,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,24,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,205,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,208,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,126,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,186,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,25,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,16,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,3,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,151,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,24,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,194,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,83,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,233,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,137,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,152,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,191,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,43,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,59,127,0,0,211,121,0,5,0,5,0,0,12,121,0,5,179,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,68,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,6,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,124,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,4,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,34,127,0,0,125,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,63,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,249,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,142,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,80,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,84,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,92,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,21,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,149,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,176,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,42,127,0,0,105,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,30,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,48,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,73,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,45,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,238,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,247,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,140,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,6,127,0,0,121,121,0,5,0,5,0,0,12,121,0,5,139,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,148,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,235,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,37,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,66,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,137,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,50,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,7,127,0,0,121,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,127,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,49,127,0,0,143,121,0,5,0,5,0,0,10,121,0,5,160,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,160,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,57,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,39,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,26,127,0,0,117,121,0,5,0,5,0,0,34,121,0,5,41,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,25,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,116,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,41,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,143,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,195,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,222,126,0,0,209,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,13,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,170,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,85,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,74,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,26,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,198,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,164,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,234,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,133,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,33,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,81,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,50,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,25,127,0,0,209,121,0,5,0,5,0,0,18,121,0,5,39,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,117,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,175,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,2,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,4,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,209,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,44,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,19,127,0,0,193,121,0,5,0,5,0,0,18,121,0,5,108,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,3,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,71,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,96,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,50,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,86,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,237,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,214,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,192,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,77,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,82,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,128,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,34,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,33,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,114,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,171,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,93,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,235,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,51,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,53,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,53,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,29,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,125,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,127,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,51,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,149,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,144,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,233,126,0,0,143,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,234,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,31,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,196,125,0,0,119,121,0,5,0,5,0,0,10,121,0,5,242,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,30,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,103,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,103,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,5,127,0,0,105,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,182,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,63,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,4,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,161,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,119,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,120,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,69,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,238,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,58,126,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,12,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,134,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,141,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,236,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,54,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,235,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,55,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,51,127,0,0,111,121,0,5,0,5,0,0,18,121,0,5,234,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,16,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,109,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,145,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,214,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,186,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,169,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,94,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,87,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,220,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,41,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,138,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,235,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,114,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,16,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,216,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,172,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,40,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,7,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,150,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,187,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,33,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,54,126,0,0,193,121,0,5,0,5,0,0,10,121,0,5,78,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,173,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,209,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,200,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,20,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,122,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,71,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,80,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,75,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,54,123,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,129,121,0,5,67,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,95,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,221,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,81,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,77,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,78,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,66,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,72,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,25,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,180,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,88,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,118,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,44,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,157,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,74,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,249,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,165,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,238,124,0,0,219,121,0,5,0,5,0,0,10,121,0,5,79,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,237,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,10,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,59,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,109,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,250,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,178,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,249,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,52,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,31,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,136,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,75,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,53,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,29,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,237,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,54,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,22,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,6,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,27,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,215,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,204,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,168,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,46,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,113,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,238,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,76,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,122,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,238,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,174,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,105,121,0,5,25,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,99,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,151,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,85,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,32,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,65,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,239,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,249,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,113,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,110,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,225,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,139,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,40,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,4,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,240,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,92,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,181,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,138,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,78,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,242,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,28,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,31,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,242,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,8,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,104,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,156,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,47,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,13,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,123,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,188,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,51,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,128,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,222,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,121,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,239,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,110,127,0,0,105,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,62,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,100,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,26,126,0,0,179,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,228,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,210,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,45,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,197,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,139,126,0,0,193,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,227,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,14,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,155,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,145,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,140,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,55,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,253,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,132,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,48,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,140,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,146,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,161,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,147,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,42,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,86,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,42,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,30,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,156,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,73,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,140,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,144,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,243,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,244,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,73,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,4,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,110,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,210,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,211,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,101,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,210,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,188,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,88,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,171,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,63,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,216,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,31,127,0,0,143,121,0,5,0,5,0,0,18,121,0,5,215,126,0,0,143,121,0,5,0,5,0,0,10,121,0,5,77,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,46,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,176,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,62,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,28,127,0,0,117,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,76,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,42,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,204,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,90,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,89,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,43,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,156,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,43,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,184,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,145,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,70,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,120,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,251,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,174,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,63,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,17,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,226,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,212,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,106,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,86,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,124,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,5,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,52,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,70,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,50,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,42,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,164,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,129,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,175,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,101,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,82,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,137,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,185,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,152,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,135,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,97,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,141,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,255,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,122,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,86,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,80,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,51,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,153,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,179,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,111,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,104,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,121,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,83,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,162,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,163,125,0,0,219,121,0,5,0,5,0,0,10,121,0,5,205,126,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,24,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,146,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,254,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,44,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,61,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,131,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,53,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,180,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,171,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,64,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,51,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,130,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,231,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,46,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,98,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,75,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,130,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,62,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,150,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,43,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,88,127,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,248,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,216,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,69,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,130,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,225,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,146,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,63,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,30,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,175,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,83,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,119,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,33,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,122,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,147,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,216,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,39,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,84,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,217,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,141,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,89,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,218,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,55,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,57,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,210,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,81,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,22,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,2,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,34,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,73,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,200,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,183,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,77,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,138,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,59,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,149,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,41,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,132,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,245,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,32,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,90,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,63,127,0,0,111,121,0,5,0,5,0,0,18,121,0,5,42,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,31,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,54,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,52,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,148,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,55,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,98,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,169,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,216,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,91,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,13,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,196,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,42,125,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,111,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,243,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,55,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,5,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,154,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,154,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,15,127,0,0,113,121,0,5,0,5,0,0,24,121,0,5,149,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,75,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,87,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,142,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,112,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,72,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,5,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,3,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,211,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,200,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,201,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,211,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,89,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,127,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,75,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,194,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,13,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,250,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,236,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,74,126,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,60,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,11,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,236,126,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,79,123,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,68,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,185,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,46,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,237,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,26,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,55,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,131,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,88,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,135,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,113,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,107,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,23,127,0,0,111,121,0,5,0,5,0,0,40,121,0,5,34,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,52,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,65,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,240,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,114,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,148,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,217,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,6,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,177,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,139,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,24,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,131,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,157,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,131,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,30,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,115,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,217,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,127,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,207,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,123,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,99,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,56,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,99,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,56,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,42,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,44,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,116,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,40,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,162,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,65,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,7,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,41,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,120,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,215,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,201,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,145,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,32,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,7,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,217,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,41,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,61,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,108,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,64,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,89,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,178,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,27,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,92,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,243,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,110,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,129,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,182,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,53,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,180,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,236,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,25,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,199,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,237,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,228,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,35,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,89,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,132,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,176,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,198,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,120,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,133,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,217,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,184,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,233,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,44,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,54,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,74,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,14,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,180,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,74,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,187,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,15,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,111,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,250,124,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,89,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,163,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,211,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,212,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,211,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,183,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,183,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,8,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,158,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,143,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,133,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,17,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,245,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,25,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,66,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,149,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,10,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,86,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,150,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,134,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,226,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,132,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,7,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,43,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,96,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,114,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,134,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,237,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,27,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,218,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,198,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,111,121,0,5,23,127,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,27,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,28,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,157,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,181,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,56,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,130,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,141,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,4,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,34,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,35,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,14,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,135,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,136,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,122,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,128,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,222,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,6,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,66,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,109,127,0,0,143,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,12,127,0,0,209,121,0,5,0,5,0,0,10,121,0,5,53,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,153,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,27,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,85,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,165,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,38,125,0,0,219,121,0,5,0,5,0,0,10,121,0,5,200,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,56,124,0,0,219,121,0,5,0,5,0,0,40,121,0,5,14,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,9,127,0,0,211,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,20,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,82,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,151,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,55,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,118,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,83,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,79,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,189,123,0,0,185,121,0,5,0,5,0,0,10,121,0,5,34,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,35,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,130,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,83,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,135,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,93,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,67,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,16,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,96,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,33,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,56,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,26,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,251,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,113,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,50,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,42,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,55,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,63,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,150,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,96,127,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,104,123,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,13,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,34,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,28,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,60,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,181,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,86,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,117,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,140,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,218,125,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,64,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,45,127,0,0,211,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,158,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,66,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,45,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,198,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,121,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,133,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,252,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,227,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,178,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,136,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,111,121,0,5,24,127,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,183,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,123,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,29,127,0,0,117,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,50,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,150,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,45,127,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,31,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,9,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,6,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,26,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,15,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,7,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,236,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,124,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,78,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,44,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,37,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,19,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,76,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,184,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,4,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,3,126,0,0,103,121,0,5,0,5,0,0,10,121,0,5,28,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,232,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,116,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,17,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,103,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,80,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,28,125,0,0,179,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,97,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,87,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,155,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,213,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,218,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,124,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,100,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,5,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,102,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,52,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,70,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,36,127,0,0,125,121,0,5,0,5,0,0,24,121,0,5,28,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,110,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,164,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,173,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,105,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,174,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,190,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,158,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,246,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,182,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,151,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,56,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,43,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,17,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,242,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,73,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,24,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,25,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,35,126,0,0,209,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,98,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,223,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,185,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,141,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,97,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,175,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,228,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,58,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,2,127,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,71,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,176,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,67,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,134,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,84,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,64,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,196,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,134,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,103,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,177,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,137,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,115,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,206,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,237,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,142,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,52,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,160,123,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,121,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,28,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,163,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,90,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,20,127,0,0,113,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,125,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,68,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,43,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,36,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,55,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,223,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,179,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,239,126,0,0,209,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,127,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,104,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,71,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,83,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,159,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,238,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,140,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,199,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,44,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,219,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,114,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,251,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,153,127,0,0,105,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,159,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,243,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,199,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,222,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,26,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,26,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,124,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,78,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,238,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,195,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,45,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,147,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,156,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,143,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,81,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,105,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,30,127,0,0,117,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,119,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,121,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,65,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,130,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,37,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,72,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,18,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,185,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,78,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,79,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,222,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,46,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,101,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,144,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,177,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,251,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,213,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,246,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,87,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,105,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,182,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,138,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,115,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,157,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,29,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,49,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,128,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,104,127,0,0,105,121,0,5,0,5,0,0,38,121,0,5,4,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,44,127,0,0,105,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,2,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,154,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,178,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,142,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,29,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,119,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,115,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,241,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,139,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,34,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,244,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,160,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,54,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,57,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,67,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,53,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,160,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,65,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,224,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,27,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,17,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,98,127,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,57,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,80,126,0,0,193,121,0,5,0,5,0,0,40,121,0,5,15,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,84,123,0,0,219,121,0,5,0,5,0,0,38,121,0,5,7,127,0,0,105,121,0,5,0,5,0,0,40,121,0,5,16,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,237,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,60,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,184,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,75,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,59,126,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,12,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,46,127,0,0,129,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,14,127,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,105,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,18,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,93,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,163,126,0,0,179,121,0,5,0,5,0,0,10,121,0,5,244,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,37,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,51,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,64,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,66,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,207,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,14,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,5,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,125,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,76,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,54,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,87,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,51,127,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,29,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,31,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,208,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,35,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,118,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,31,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,50,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,218,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,67,127,0,0,211,121,0,5,0,5,0,0,10,121,0,5,245,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,5,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,6,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,87,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,84,127,0,0,179,121,0,5,0,5,0,0,10,121,0,5,247,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,151,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,2,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,65,127,0,0,105,121,0,5,0,5,0,0,10,121,0,5,248,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,208,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,46,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,10,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,34,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,186,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,224,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,135,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,179,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,182,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,94,125,0,0,179,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,10,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,79,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,29,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,27,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,33,124,0,0,185,121,0,5,0,5,0,0,40,121,0,5,17,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,79,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,164,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,152,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,3,127,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,161,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,65,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,66,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,119,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,7,126,0,0,129,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,28,127,0,0,193,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,15,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,28,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,247,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,235,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,38,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,158,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,152,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,19,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,90,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,111,127,0,0,143,121,0,5,0,5,0,0,12,121,0,5,183,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,88,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,245,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,43,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,57,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,252,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,16,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,24,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,36,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,128,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,112,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,52,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,61,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,239,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,79,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,58,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,41,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,42,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,252,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,52,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,131,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,6,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,189,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,8,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,21,127,0,0,113,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,170,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,191,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,225,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,84,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,180,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,107,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,170,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,164,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,238,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,248,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,153,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,159,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,209,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,252,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,9,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,205,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,116,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,94,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,184,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,61,127,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,186,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,95,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,124,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,135,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,207,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,80,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,7,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,181,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,74,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,75,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,25,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,180,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,108,126,0,0,119,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,105,121,0,5,108,123,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,105,121,0,5,107,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,177,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,53,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,18,123,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,69,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,196,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,116,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,28,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,208,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,67,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,47,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,121,121,0,5,23,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,182,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,165,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,14,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,91,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,8,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,64,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,192,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,109,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,150,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,102,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,77,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,113,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,69,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,2,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,26,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,240,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,146,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,138,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,66,127,0,0,111,121,0,5,0,5,0,0,12,121,0,5,145,127,0,0,105,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,3,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,185,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,226,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,46,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,67,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,9,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,108,127,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,67,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,95,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,17,127,0,0,125,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,61,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,246,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,71,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,12,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,253,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,37,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,74,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,201,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,239,125,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,128,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,91,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,227,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,8,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,112,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,160,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,219,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,176,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,37,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,117,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,214,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,11,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,220,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,238,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,29,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,92,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,126,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,126,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,17,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,24,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,200,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,165,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,73,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,227,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,27,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,70,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,254,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,221,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,12,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,125,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,242,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,161,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,183,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,99,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,218,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,149,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,251,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,140,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,96,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,89,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,57,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,66,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,153,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,33,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,47,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,125,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,84,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,68,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,243,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,154,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,27,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,154,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,106,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,166,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,103,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,45,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,215,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,8,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,94,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,7,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,216,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,113,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,80,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,97,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,239,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,184,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,13,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,115,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,33,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,58,127,0,0,143,121,0,5,0,5,0,0,18,121,0,5,48,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,59,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,93,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,46,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,9,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,114,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,136,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,188,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,65,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,154,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,104,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,184,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,127,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,128,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,28,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,201,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,178,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,31,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,172,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,55,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,217,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,166,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,9,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,13,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,30,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,27,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,212,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,77,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,77,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,186,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,82,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,212,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,45,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,98,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,137,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,111,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,155,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,182,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,249,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,95,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,189,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,42,127,0,0,127,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,143,121,0,5,28,127,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,167,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,18,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,187,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,39,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,115,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,96,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,117,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,210,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,211,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,135,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,5,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,88,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,255,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,27,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,43,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,83,125,0,0,219,121,0,5,0,5,0,0,40,121,0,5,35,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,87,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,202,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,107,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,187,125,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,4,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,208,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,49,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,71,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,88,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,78,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,146,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,14,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,14,127,0,0,135,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,15,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,10,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,147,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,9,127,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,137,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,74,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,213,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,30,127,0,0,111,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,72,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,140,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,255,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,10,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,118,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,222,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,168,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,114,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,71,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,171,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,76,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,143,121,0,5,29,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,91,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,80,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,68,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,171,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,72,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,29,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,113,121,0,5,0,5,0,0,6,121,0,5,115,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,48,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,51,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,240,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,241,126,0,0,209,121,0,5,0,5,0,0,40,121,0,5,36,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,53,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,31,127,0,0,111,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,252,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,8,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,62,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,72,126,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,235,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,231,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,132,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,55,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,113,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,67,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,73,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,83,127,0,0,193,121,0,5,0,5,0,0,24,121,0,5,32,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,117,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,116,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,188,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,207,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,79,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,105,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,151,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,118,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,115,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,103,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,48,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,128,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,36,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,118,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,60,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,61,127,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,181,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,248,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,65,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,189,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,219,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,238,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,59,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,47,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,20,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,44,126,0,0,129,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,11,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,166,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,6,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,132,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,240,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,186,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,253,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,47,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,30,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,142,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,92,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,90,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,62,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,64,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,155,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,88,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,208,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,58,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,89,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,76,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,164,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,251,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,43,127,0,0,127,121,0,5,0,5,0,0,10,121,0,5,51,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,67,125,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,106,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,141,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,185,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,218,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,43,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,17,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,79,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,91,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,207,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,112,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,11,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,223,126,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,80,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,117,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,12,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,10,127,0,0,103,121,0,5,0,5,0,0,6,121,0,5,11,127,0,0,103,121,0,5,0,5,0,0,6,121,0,5,127,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,97,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,15,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,188,125,0,0,219,121,0,5,0,5,0,0,10,121,0,5,35,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,243,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,155,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,77,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,74,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,17,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,103,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,73,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,77,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,5,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,167,125,0,0,179,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,22,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,128,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,241,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,12,127,0,0,103,121,0,5,0,5,0,0,10,121,0,5,161,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,45,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,34,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,98,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,85,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,155,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,118,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,156,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,16,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,137,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,47,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,33,127,0,0,111,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,247,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,54,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,3,127,0,0,185,121,0,5,0,5,0,0,6,121,0,5,93,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,156,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,46,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,75,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,190,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,46,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,252,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,81,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,85,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,42,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,78,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,31,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,77,127,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,59,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,31,127,0,0,117,121,0,5,0,5,0,0,12,121,0,5,154,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,17,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,18,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,89,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,95,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,56,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,165,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,117,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,32,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,212,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,58,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,20,127,0,0,129,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,99,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,109,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,136,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,242,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,111,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,59,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,113,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,240,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,68,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,32,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,74,127,0,0,219,121,0,5,0,5,0,0,10,121,0,5,249,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,119,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,241,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,55,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,164,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,203,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,254,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,157,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,32,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,173,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,250,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,197,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,220,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,64,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,189,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,167,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,116,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,63,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,23,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,174,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,179,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,165,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,229,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,60,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,120,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,38,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,152,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,166,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,197,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,114,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,33,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,125,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,187,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,34,127,0,0,111,121,0,5,0,5,0,0,12,121,0,5,155,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,142,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,44,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,45,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,242,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,60,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,27,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,122,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,30,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,180,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,56,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,187,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,11,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,60,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,244,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,35,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,138,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,193,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,2,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,75,127,0,0,137,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,71,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,157,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,7,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,219,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,49,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,57,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,250,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,51,126,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,18,127,0,0,209,121,0,5,0,5,0,0,18,121,0,5,221,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,209,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,17,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,28,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,19,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,92,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,56,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,138,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,122,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,39,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,214,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,34,127,0,0,103,121,0,5,0,5,0,0,20,121,0,5,21,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,135,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,159,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,183,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,213,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,219,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,45,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,80,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,4,127,0,0,185,121,0,5,0,5,0,0,20,121,0,5,142,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,194,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,215,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,35,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,35,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,119,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,62,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,253,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,224,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,97,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,82,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,104,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,129,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,169,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,44,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,38,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,47,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,178,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,38,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,57,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,190,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,177,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,99,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,73,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,254,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,59,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,121,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,86,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,144,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,7,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,245,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,76,125,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,105,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,112,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,225,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,71,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,30,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,76,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,93,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,78,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,3,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,204,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,58,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,167,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,162,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,2,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,204,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,75,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,46,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,94,127,0,0,127,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,13,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,221,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,139,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,35,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,142,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,59,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,65,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,118,125,0,0,219,121,0,5,0,5,0,0,38,121,0,5,16,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,182,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,239,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,156,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,47,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,79,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,18,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,225,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,28,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,16,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,206,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,139,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,22,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,35,127,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,106,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,60,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,94,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,186,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,252,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,117,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,161,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,116,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,156,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,110,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,71,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,255,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,21,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,63,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,247,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,248,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,133,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,56,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,28,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,17,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,181,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,39,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,4,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,120,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,95,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,202,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,5,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,228,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,99,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,32,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,197,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,67,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,66,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,143,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,92,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,90,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,52,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,13,127,0,0,103,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,122,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,130,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,214,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,93,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,39,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,13,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,19,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,33,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,50,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,50,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,117,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,9,127,0,0,113,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,241,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,15,127,0,0,135,121,0,5,0,5,0,0,24,121,0,5,158,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,230,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,29,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,161,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,40,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,214,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,140,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,163,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,241,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,31,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,115,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,222,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,136,125,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,129,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,157,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,219,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,253,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,172,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,209,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,48,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,152,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,178,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,98,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,48,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,85,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,131,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,51,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,79,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,114,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,11,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,182,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,143,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,144,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,145,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,146,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,40,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,80,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,132,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,5,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,247,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,188,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,49,123,0,0,185,121,0,5,0,5,0,0,26,121,0,5,82,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,129,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,23,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,46,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,67,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,143,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,19,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,164,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,143,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,216,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,198,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,20,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,20,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,133,127,0,0,129,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,12,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,168,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,199,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,155,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,80,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,45,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,228,124,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,66,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,225,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,204,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,126,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,195,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,135,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,14,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,59,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,186,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,120,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,113,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,150,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,66,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,68,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,31,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,158,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,69,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,205,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,233,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,192,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,60,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,36,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,30,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,190,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,231,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,109,127,0,0,211,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,168,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,228,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,123,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,181,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,159,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,15,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,239,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,123,127,0,0,105,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,14,125,0,0,179,121,0,5,0,5,0,0,38,121,0,5,17,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,147,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,251,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,225,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,5,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,37,124,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,15,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,158,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,210,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,98,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,151,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,168,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,220,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,8,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,94,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,95,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,160,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,85,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,78,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,200,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,36,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,31,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,100,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,18,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,43,127,0,0,211,121,0,5,0,5,0,0,10,121,0,5,32,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,47,126,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,28,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,98,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,130,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,45,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,217,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,144,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,168,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,4,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,253,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,51,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,16,127,0,0,113,121,0,5,0,5,0,0,24,121,0,5,10,127,0,0,113,121,0,5,0,5,0,0,24,121,0,5,165,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,255,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,167,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,76,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,215,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,159,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,71,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,187,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,48,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,141,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,9,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,193,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,21,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,36,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,81,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,3,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,254,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,218,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,243,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,253,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,47,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,19,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,239,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,129,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,255,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,244,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,198,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,188,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,118,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,75,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,252,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,75,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,160,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,38,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,65,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,39,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,76,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,21,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,22,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,155,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,54,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,246,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,8,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,183,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,123,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,15,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,21,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,121,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,81,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,70,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,47,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,208,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,48,126,0,0,179,121,0,5,0,5,0,0,10,121,0,5,80,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,157,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,230,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,72,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,182,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,68,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,183,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,242,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,220,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,18,127,0,0,111,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,234,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,95,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,22,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,232,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,92,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,12,127,0,0,135,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,159,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,142,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,40,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,134,127,0,0,105,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,14,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,147,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,129,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,152,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,6,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,49,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,188,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,76,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,23,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,68,127,0,0,111,121,0,5,0,5,0,0,12,121,0,5,158,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,161,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,209,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,8,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,160,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,29,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,61,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,185,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,84,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,218,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,64,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,44,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,222,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,33,127,0,0,105,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,15,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,90,127,0,0,105,121,0,5,0,5,0,0,18,121,0,5,223,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,251,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,49,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,49,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,176,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,54,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,47,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,83,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,119,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,243,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,32,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,24,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,138,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,161,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,131,123,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,112,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,194,123,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,19,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,52,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,207,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,195,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,253,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,4,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,37,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,134,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,12,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,94,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,245,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,249,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,34,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,10,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,253,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,216,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,211,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,162,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,162,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,20,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,143,121,0,5,27,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,202,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,220,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,202,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,170,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,232,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,57,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,69,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,16,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,34,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,159,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,152,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,126,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,226,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,125,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,175,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,189,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,9,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,68,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,18,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,235,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,100,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,73,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,178,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,22,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,41,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,122,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,61,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,184,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,212,126,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,67,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,240,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,190,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,16,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,46,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,157,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,166,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,171,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,122,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,53,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,18,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,96,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,219,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,103,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,210,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,67,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,12,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,99,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,77,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,49,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,72,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,77,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,111,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,82,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,36,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,172,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,69,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,244,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,123,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,165,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,240,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,116,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,168,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,53,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,209,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,85,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,201,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,200,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,30,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,29,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,96,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,119,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,50,126,0,0,129,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,90,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,223,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,6,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,243,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,241,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,216,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,162,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,68,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,17,127,0,0,117,121,0,5,0,5,0,0,24,121,0,5,55,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,183,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,50,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,205,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,84,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,245,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,15,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,80,127,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,6,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,220,126,0,0,209,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,220,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,48,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,100,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,212,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,66,127,0,0,211,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,232,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,220,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,254,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,184,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,160,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,229,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,5,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,129,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,7,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,255,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,78,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,240,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,169,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,5,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,17,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,12,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,189,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,162,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,160,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,38,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,101,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,202,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,2,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,112,126,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,69,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,221,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,144,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,242,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,25,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,254,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,66,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,10,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,222,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,239,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,223,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,172,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,18,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,19,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,6,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,79,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,144,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,118,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,18,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,13,126,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,123,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,191,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,119,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,61,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,135,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,156,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,35,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,46,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,118,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,76,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,162,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,104,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,59,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,68,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,58,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,10,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,26,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,255,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,29,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,69,127,0,0,111,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,124,122,0,0,185,121,0,5,0,5,0,0,40,121,0,5,37,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,19,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,38,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,190,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,51,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,157,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,54,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,254,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,20,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,206,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,48,127,0,0,117,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,2,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,209,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,42,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,77,127,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,91,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,166,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,75,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,6,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,91,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,32,125,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,21,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,31,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,13,127,0,0,135,121,0,5,0,5,0,0,18,121,0,5,52,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,60,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,108,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,169,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,105,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,43,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,241,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,51,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,223,124,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,73,126,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,76,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,44,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,191,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,179,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,107,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,115,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,124,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,125,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,77,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,6,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,59,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,186,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,52,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,33,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,20,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,224,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,148,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,20,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,163,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,50,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,72,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,167,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,179,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,207,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,215,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,119,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,109,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,49,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,45,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,143,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,32,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,89,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,58,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,210,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,2,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,78,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,46,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,166,126,0,0,209,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,114,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,224,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,195,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,125,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,184,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,167,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,51,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,76,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,108,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,161,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,7,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,172,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,19,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,105,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,113,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,53,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,235,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,7,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,156,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,56,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,203,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,126,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,71,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,196,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,158,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,246,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,240,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,120,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,56,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,121,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,123,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,97,124,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,88,122,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,107,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,85,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,241,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,182,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,9,127,0,0,137,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,13,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,106,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,105,121,0,5,109,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,105,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,3,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,81,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,82,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,11,127,0,0,125,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,191,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,229,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,2,127,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,96,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,79,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,194,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,35,127,0,0,111,121,0,5,0,5,0,0,16,121,0,5,2,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,49,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,226,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,9,127,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,14,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,195,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,201,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,170,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,96,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,122,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,11,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,127,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,185,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,61,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,186,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,136,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,95,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,160,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,147,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,168,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,205,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,3,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,163,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,242,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,130,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,119,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,9,127,0,0,121,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,172,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,76,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,24,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,99,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,77,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,210,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,84,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,45,127,0,0,127,121,0,5,0,5,0,0,10,121,0,5,206,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,197,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,69,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,206,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,163,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,98,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,208,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,37,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,219,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,70,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,15,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,225,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,102,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,20,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,169,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,16,127,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,57,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,240,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,30,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,60,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,152,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,126,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,207,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,187,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,27,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,153,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,5,127,0,0,185,121,0,5,0,5,0,0,6,121,0,5,137,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,106,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,71,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,23,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,131,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,191,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,71,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,173,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,244,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,124,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,4,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,83,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,146,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,61,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,31,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,169,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,14,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,77,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,36,127,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,132,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,229,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,217,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,99,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,242,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,12,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,38,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,3,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,52,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,164,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,143,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,54,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,57,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,38,123,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,21,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,60,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,129,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,100,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,62,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,53,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,85,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,28,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,32,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,187,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,138,127,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,46,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,131,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,4,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,170,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,39,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,245,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,52,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,51,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,8,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,77,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,72,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,176,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,73,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,168,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,246,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,231,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,145,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,106,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,163,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,105,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,209,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,29,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,148,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,9,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,96,127,0,0,211,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,16,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,107,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,83,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,139,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,188,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,94,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,198,123,0,0,185,121,0,5,0,5,0,0,10,121,0,5,201,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,226,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,36,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,143,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,40,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,164,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,8,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,11,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,218,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,22,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,208,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,208,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,132,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,43,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,86,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,189,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,45,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,246,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,87,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,74,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,5,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,185,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,189,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,242,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,163,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,99,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,211,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,44,127,0,0,125,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,170,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,78,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,219,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,75,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,79,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,140,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,185,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,127,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,209,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,171,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,52,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,80,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,190,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,57,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,80,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,67,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,227,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,146,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,186,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,3,122,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,108,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,170,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,193,124,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,116,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,61,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,191,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,10,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,196,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,186,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,29,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,87,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,210,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,147,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,194,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,77,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,161,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,7,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,137,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,97,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,230,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,98,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,3,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,165,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,55,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,166,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,53,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,136,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,109,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,20,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,54,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,29,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,30,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,107,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,110,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,88,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,35,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,206,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,55,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,110,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,101,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,41,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,50,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,220,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,33,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,54,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,89,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,253,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,254,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,79,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,7,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,58,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,198,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,76,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,136,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,77,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,137,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,53,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,148,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,5,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,4,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,63,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,187,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,231,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,133,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,179,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,213,125,0,0,179,121,0,5,0,5,0,0,40,121,0,5,20,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,78,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,122,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,62,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,17,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,221,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,169,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,58,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,188,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,15,127,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,47,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,192,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,211,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,90,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,59,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,7,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,92,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,81,127,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,100,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,187,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,6,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,37,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,196,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,246,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,209,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,212,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,188,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,149,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,226,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,10,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,247,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,49,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,10,127,0,0,137,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,76,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,8,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,11,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,6,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,12,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,70,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,173,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,102,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,42,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,172,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,119,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,232,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,11,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,124,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,74,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,59,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,59,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,127,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,62,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,141,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,244,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,203,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,141,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,91,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,21,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,82,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,203,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,249,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,61,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,223,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,191,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,241,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,165,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,189,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,195,124,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,130,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,56,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,36,127,0,0,117,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,144,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,211,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,157,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,158,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,125,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,164,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,98,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,128,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,180,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,3,127,0,0,119,121,0,5,0,5,0,0,6,121,0,5,96,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,227,126,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,4,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,70,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,19,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,197,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,137,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,13,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,108,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,92,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,33,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,228,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,173,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,9,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,46,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,181,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,62,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,86,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,162,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,117,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,26,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,222,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,79,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,103,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,157,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,114,126,0,0,119,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,115,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,4,127,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,192,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,134,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,25,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,104,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,123,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,161,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,104,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,144,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,87,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,169,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,50,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,224,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,99,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,245,126,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,48,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,100,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,125,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,223,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,170,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,80,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,81,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,36,127,0,0,211,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,33,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,162,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,122,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,84,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,128,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,22,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,90,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,223,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,96,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,5,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,34,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,181,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,71,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,30,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,213,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,126,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,173,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,214,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,16,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,189,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,193,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,117,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,2,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,227,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,163,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,78,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,228,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,224,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,215,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,14,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,117,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,216,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,192,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,210,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,255,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,195,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,204,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,145,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,60,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,80,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,170,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,72,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,8,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,61,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,5,127,0,0,119,121,0,5,0,5,0,0,6,121,0,5,139,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,2,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,10,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,52,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,97,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,57,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,85,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,238,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,104,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,100,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,17,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,127,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,140,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,50,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,97,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,217,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,83,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,16,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,63,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,158,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,89,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,164,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,51,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,123,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,150,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,233,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,18,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,17,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,97,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,93,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,21,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,76,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,61,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,47,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,123,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,61,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,136,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,179,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,46,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,43,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,82,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,48,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,153,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,78,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,31,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,225,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,55,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,171,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,151,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,156,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,247,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,173,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,85,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,242,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,142,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,125,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,84,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,116,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,210,126,0,0,103,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,71,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,63,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,221,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,125,121,0,5,0,5,0,0,16,121,0,5,12,127,0,0,125,121,0,5,0,5,0,0,34,121,0,5,34,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,37,127,0,0,117,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,224,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,105,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,73,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,90,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,192,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,92,123,0,0,185,121,0,5,0,5,0,0,10,121,0,5,81,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,145,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,211,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,83,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,79,127,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,153,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,246,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,220,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,21,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,106,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,37,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,120,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,62,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,18,127,0,0,125,121,0,5,0,5,0,0,34,121,0,5,63,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,126,127,0,0,211,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,211,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,141,121,0,5,0,5,0,0,28,121,0,5,74,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,19,127,0,0,125,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,243,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,107,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,73,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,101,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,165,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,166,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,80,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,31,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,171,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,81,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,82,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,19,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,94,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,109,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,186,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,24,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,190,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,129,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,20,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,130,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,70,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,34,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,110,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,216,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,167,126,0,0,103,121,0,5,0,5,0,0,10,121,0,5,36,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,124,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,165,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,83,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,158,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,226,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,30,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,50,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,145,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,32,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,116,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,110,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,109,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,11,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,120,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,192,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,6,127,0,0,209,121,0,5,0,5,0,0,16,121,0,5,18,127,0,0,117,121,0,5,0,5,0,0,10,121,0,5,37,127,0,0,143,121,0,5,0,5,0,0,12,121,0,5,164,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,9,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,236,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,111,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,204,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,23,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,31,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,17,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,174,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,168,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,6,127,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,193,125,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,70,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,64,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,152,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,153,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,131,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,101,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,244,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,118,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,225,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,41,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,59,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,38,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,22,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,78,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,93,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,60,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,6,127,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,137,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,11,127,0,0,113,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,247,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,33,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,189,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,65,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,84,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,105,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,52,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,10,127,0,0,121,121,0,5,0,5,0,0,30,121,0,5,132,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,174,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,232,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,119,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,192,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,106,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,243,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,165,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,16,127,0,0,103,121,0,5,0,5,0,0,6,121,0,5,38,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,229,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,69,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,159,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,194,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,129,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,229,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,175,126,0,0,129,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,225,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,96,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,13,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,10,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,132,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,141,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,244,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,39,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,34,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,32,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,154,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,23,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,11,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,128,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,88,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,97,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,33,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,9,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,60,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,174,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,133,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,121,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,190,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,130,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,190,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,44,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,11,127,0,0,121,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,153,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,12,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,245,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,10,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,13,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,191,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,226,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,62,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,191,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,159,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,60,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,187,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,63,127,0,0,137,121,0,5,0,5,0,0,12,121,0,5,93,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,166,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,83,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,98,127,0,0,211,121,0,5,0,5,0,0,18,121,0,5,46,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,28,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,194,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,84,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,100,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,198,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,8,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,171,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,74,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,176,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,86,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,51,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,85,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,111,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,113,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,35,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,135,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,248,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,127,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,167,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,124,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,7,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,40,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,62,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,99,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,130,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,99,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,199,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,247,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,91,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,52,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,84,126,0,0,219,121,0,5,0,5,0,0,10,121,0,5,207,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,37,127,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,204,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,12,127,0,0,113,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,216,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,55,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,145,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,88,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,57,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,146,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,201,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,13,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,36,125,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,101,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,51,127,0,0,117,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,111,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,86,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,25,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,108,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,79,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,160,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,207,126,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,106,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,88,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,37,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,32,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,64,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,49,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,209,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,182,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,58,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,7,127,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,72,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,13,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,171,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,84,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,232,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,130,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,35,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,48,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,44,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,14,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,147,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,59,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,125,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,73,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,33,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,84,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,202,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,60,123,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,89,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,37,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,7,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,34,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,234,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,8,127,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,237,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,192,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,8,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,18,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,191,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,169,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,39,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,177,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,234,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,92,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,116,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,15,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,236,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,188,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,52,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,63,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,63,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,249,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,74,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,9,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,19,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,9,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,221,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,248,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,230,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,54,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,131,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,154,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,77,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,217,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,93,123,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,17,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,20,127,0,0,125,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,68,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,10,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,238,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,80,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,68,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,7,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,14,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,225,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,146,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,172,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,154,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,34,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,100,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,100,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,172,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,134,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,55,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,66,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,82,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,109,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,114,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,221,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,101,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,160,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,113,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,114,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,190,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,121,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,177,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,222,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,248,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,35,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,15,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,177,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,9,127,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,199,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,193,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,168,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,125,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,241,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,192,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,35,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,135,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,138,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,101,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,250,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,115,126,0,0,219,121,0,5,0,5,0,0,10,121,0,5,251,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,146,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,169,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,201,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,79,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,39,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,64,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,85,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,55,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,163,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,229,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,112,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,151,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,152,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,114,127,0,0,211,121,0,5,0,5,0,0,10,121,0,5,52,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,56,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,147,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,192,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,170,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,250,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,21,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,121,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,36,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,235,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,10,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,222,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,97,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,64,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,56,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,48,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,75,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,13,127,0,0,113,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,187,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,175,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,111,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,11,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,81,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,233,123,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,35,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,136,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,86,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,108,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,151,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,87,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,68,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,22,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,6,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,171,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,98,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,4,127,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,36,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,200,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,122,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,145,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,170,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,132,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,38,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,67,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,102,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,171,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,139,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,85,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,197,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,142,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,90,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,112,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,36,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,178,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,87,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,178,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,234,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,227,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,57,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,127,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,121,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,122,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,20,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,211,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,217,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,179,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,52,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,161,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,140,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,37,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,30,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,18,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,233,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,86,127,0,0,143,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,125,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,159,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,53,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,171,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,183,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,79,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,155,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,16,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,139,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,39,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,138,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,193,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,178,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,13,127,0,0,211,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,53,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,133,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,50,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,120,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,90,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,248,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,172,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,243,125,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,98,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,243,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,226,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,247,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,16,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,17,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,53,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,14,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,53,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,173,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,227,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,199,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,74,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,36,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,155,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,37,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,169,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,38,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,51,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,235,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,47,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,208,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,202,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,76,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,242,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,136,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,132,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,80,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,154,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,117,121,0,5,0,5,0,0,24,121,0,5,34,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,55,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,11,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,160,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,17,127,0,0,113,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,212,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,107,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,194,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,243,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,223,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,84,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,71,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,12,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,180,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,56,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,40,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,198,126,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,49,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,137,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,227,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,214,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,41,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,11,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,209,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,189,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,21,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,23,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,67,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,48,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,61,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,230,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,47,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,173,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,191,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,19,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,231,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,249,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,200,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,62,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,69,127,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,201,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,69,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,34,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,114,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,21,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,205,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,29,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,22,127,0,0,125,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,7,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,148,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,38,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,70,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,26,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,10,127,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,140,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,161,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,27,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,133,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,202,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,40,127,0,0,111,121,0,5,0,5,0,0,18,121,0,5,116,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,205,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,8,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,54,127,0,0,117,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,218,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,210,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,224,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,193,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,123,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,87,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,11,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,141,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,226,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,230,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,11,127,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,162,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,126,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,85,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,181,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,131,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,195,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,163,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,94,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,94,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,9,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,122,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,113,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,196,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,102,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,174,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,175,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,86,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,68,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,126,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,35,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,133,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,156,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,91,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,121,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,95,123,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,91,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,249,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,71,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,99,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,12,127,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,85,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,176,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,50,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,13,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,115,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,231,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,102,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,65,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,88,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,143,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,61,126,0,0,143,121,0,5,0,5,0,0,10,121,0,5,162,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,63,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,23,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,83,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,88,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,91,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,86,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,225,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,38,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,57,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,136,126,0,0,129,121,0,5,0,5,0,0,10,121,0,5,106,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,85,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,89,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,137,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,62,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,89,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,247,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,87,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,61,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,56,127,0,0,193,121,0,5,0,5,0,0,42,121,0,5,2,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,89,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,144,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,153,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,244,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,137,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,227,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,90,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,167,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,125,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,80,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,108,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,148,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,69,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,102,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,63,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,53,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,172,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,138,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,183,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,219,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,90,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,66,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,78,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,100,127,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,63,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,250,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,232,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,22,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,157,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,53,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,199,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,223,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,164,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,129,121,0,5,26,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,239,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,251,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,184,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,124,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,35,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,64,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,194,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,93,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,28,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,119,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,172,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,94,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,137,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,22,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,81,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,174,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,41,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,13,127,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,14,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,172,126,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,139,121,0,5,219,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,84,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,23,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,202,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,207,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,71,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,219,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,250,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,100,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,90,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,148,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,128,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,182,126,0,0,129,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,14,126,0,0,193,121,0,5,0,5,0,0,40,121,0,5,23,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,101,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,175,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,218,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,158,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,70,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,96,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,90,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,248,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,112,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,250,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,251,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,82,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,194,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,142,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,251,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,79,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,148,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,91,125,0,0,219,121,0,5,0,5,0,0,10,121,0,5,29,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,236,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,19,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,14,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,220,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,17,127,0,0,137,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,65,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,102,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,117,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,196,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,224,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,116,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,219,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,36,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,81,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,174,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,72,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,233,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,252,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,213,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,144,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,97,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,100,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,61,126,0,0,193,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,92,123,0,0,219,121,0,5,0,5,0,0,10,121,0,5,38,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,86,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,197,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,66,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,220,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,54,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,141,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,248,126,0,0,209,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,221,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,18,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,159,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,226,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,173,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,12,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,208,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,106,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,65,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,234,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,103,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,252,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,113,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,104,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,210,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,66,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,124,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,24,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,173,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,147,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,228,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,144,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,180,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,91,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,145,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,146,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,161,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,173,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,40,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,42,127,0,0,111,121,0,5,0,5,0,0,40,121,0,5,39,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,155,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,149,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,56,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,58,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,143,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,64,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,225,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,109,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,45,125,0,0,179,121,0,5,0,5,0,0,38,121,0,5,8,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,175,126,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,38,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,39,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,198,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,242,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,253,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,37,124,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,99,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,37,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,176,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,174,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,184,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,3,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,129,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,130,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,251,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,116,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,252,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,98,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,188,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,107,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,67,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,56,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,174,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,114,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,160,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,246,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,39,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,195,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,254,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,19,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,25,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,189,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,65,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,147,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,29,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,183,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,58,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,128,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,32,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,125,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,212,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,37,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,162,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,126,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,226,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,26,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,226,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,89,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,87,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,107,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,196,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,137,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,199,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,108,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,102,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,68,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,47,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,17,127,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,197,126,0,0,179,121,0,5,0,5,0,0,40,121,0,5,24,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,147,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,141,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,64,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,83,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,230,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,234,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,64,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,231,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,185,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,86,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,126,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,30,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,235,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,243,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,189,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,73,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,57,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,203,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,18,127,0,0,103,121,0,5,0,5,0,0,18,121,0,5,88,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,85,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,240,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,15,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,7,127,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,175,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,24,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,228,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,67,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,24,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,40,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,118,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,183,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,86,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,164,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,133,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,239,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,168,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,186,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,150,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,98,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,48,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,69,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,23,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,85,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,176,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,65,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,94,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,134,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,24,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,10,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,105,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,174,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,84,127,0,0,111,121,0,5,0,5,0,0,18,121,0,5,127,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,91,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,114,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,66,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,65,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,252,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,18,127,0,0,137,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,138,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,255,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,108,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,214,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,41,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,47,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,87,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,149,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,147,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,149,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,228,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,47,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,109,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,131,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,177,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,64,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,19,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,190,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,56,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,90,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,236,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,54,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,160,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,142,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,179,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,54,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,166,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,197,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,127,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,133,127,0,0,105,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,27,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,81,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,193,125,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,100,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,20,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,5,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,64,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,50,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,149,126,0,0,209,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,77,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,167,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,87,127,0,0,193,121,0,5,0,5,0,0,40,121,0,5,25,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,173,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,55,127,0,0,117,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,106,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,40,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,231,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,140,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,65,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,21,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,184,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,103,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,249,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,233,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,195,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,227,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,177,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,18,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,45,127,0,0,125,121,0,5,0,5,0,0,40,121,0,5,26,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,106,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,213,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,54,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,68,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,232,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,178,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,171,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,244,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,16,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,39,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,85,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,169,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,206,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,184,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,104,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,203,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,175,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,106,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,198,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,185,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,170,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,150,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,245,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,141,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,87,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,151,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,62,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,31,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,57,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,233,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,194,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,119,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,68,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,190,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,110,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,77,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,80,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,20,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,107,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,138,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,175,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,65,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,12,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,93,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,229,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,249,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,81,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,178,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,70,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,7,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,8,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,101,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,227,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,19,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,85,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,34,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,55,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,152,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,20,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,38,127,0,0,193,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,113,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,58,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,187,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,13,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,23,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,24,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,21,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,176,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,75,127,0,0,105,121,0,5,0,5,0,0,18,121,0,5,227,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,9,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,56,127,0,0,117,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,44,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,144,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,108,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,213,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,162,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,8,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,58,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,156,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,180,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,115,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,43,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,237,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,69,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,232,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,116,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,109,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,51,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,115,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,146,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,233,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,82,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,186,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,76,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,212,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,139,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,134,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,58,127,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,18,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,127,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,116,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,14,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,15,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,13,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,123,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,143,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,23,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,199,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,74,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,86,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,87,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,8,126,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,117,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,244,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,225,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,128,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,221,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,117,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,116,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,80,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,81,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,146,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,88,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,2,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,31,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,154,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,10,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,228,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,199,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,134,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,179,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,40,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,140,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,32,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,102,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,196,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,21,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,93,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,22,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,81,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,66,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,176,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,103,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,54,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,59,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,102,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,34,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,49,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,50,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,62,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,38,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,181,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,18,127,0,0,113,121,0,5,0,5,0,0,28,121,0,5,109,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,53,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,171,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,117,124,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,51,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,210,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,33,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,25,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,139,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,66,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,27,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,161,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,223,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,129,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,201,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,92,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,29,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,176,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,81,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,67,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,128,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,11,127,0,0,117,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,155,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,214,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,188,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,12,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,89,127,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,35,126,0,0,179,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,101,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,132,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,23,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,103,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,145,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,133,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,26,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,133,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,243,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,120,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,146,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,141,121,0,5,0,5,0,0,18,121,0,5,217,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,17,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,24,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,156,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,26,127,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,200,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,245,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,226,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,86,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,249,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,154,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,218,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,104,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,141,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,48,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,95,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,96,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,110,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,130,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,200,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,15,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,124,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,212,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,174,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,57,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,95,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,244,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,68,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,107,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,9,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,238,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,211,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,75,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,103,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,195,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,137,121,0,5,30,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,221,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,235,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,49,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,52,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,8,127,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,39,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,148,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,19,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,110,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,125,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,135,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,25,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,148,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,191,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,184,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,7,127,0,0,125,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,115,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,126,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,88,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,33,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,34,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,200,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,15,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,20,127,0,0,103,121,0,5,0,5,0,0,12,121,0,5,148,127,0,0,105,121,0,5,0,5,0,0,40,121,0,5,27,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,55,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,187,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,230,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,34,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,177,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,88,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,87,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,239,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,148,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,37,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,255,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,128,124,0,0,219,121,0,5,0,5,0,0,10,121,0,5,82,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,185,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,11,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,35,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,197,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,132,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,57,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,110,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,177,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,12,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,162,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,82,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,127,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,95,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,96,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,227,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,13,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,88,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,120,126,0,0,179,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,102,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,186,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,88,127,0,0,193,121,0,5,0,5,0,0,40,121,0,5,28,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,58,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,24,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,97,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,200,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,115,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,228,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,69,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,78,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,10,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,163,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,145,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,12,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,38,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,229,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,46,127,0,0,125,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,20,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,149,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,35,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,213,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,233,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,241,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,135,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,70,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,14,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,44,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,16,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,250,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,121,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,131,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,200,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,66,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,199,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,105,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,202,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,67,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,82,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,21,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,167,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,132,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,132,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,198,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,91,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,101,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,234,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,148,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,150,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,102,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,101,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,72,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,14,127,0,0,119,121,0,5,0,5,0,0,30,121,0,5,89,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,2,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,254,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,2,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,75,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,128,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,54,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,76,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,38,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,2,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,255,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,42,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,205,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,118,124,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,3,123,0,0,219,121,0,5,0,5,0,0,38,121,0,5,48,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,133,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,78,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,166,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,244,124,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,10,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,91,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,111,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,69,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,70,127,0,0,193,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,129,121,0,5,24,127,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,229,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,164,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,15,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,21,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,231,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,60,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,66,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,90,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,15,127,0,0,119,121,0,5,0,5,0,0,30,121,0,5,3,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,83,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,178,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,79,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,141,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,82,123,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,32,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,48,127,0,0,193,121,0,5,0,5,0,0,24,121,0,5,179,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,232,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,153,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,106,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,107,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,18,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,199,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,62,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,129,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,201,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,11,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,177,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,25,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,61,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,25,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,28,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,135,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,26,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,45,127,0,0,111,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,126,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,92,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,12,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,92,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,43,127,0,0,117,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,52,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,59,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,211,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,240,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,70,125,0,0,219,121,0,5,0,5,0,0,40,121,0,5,40,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,165,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,188,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,163,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,153,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,142,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,12,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,154,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,251,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,135,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,150,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,73,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,117,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,236,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,3,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,103,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,122,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,108,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,22,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,39,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,253,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,70,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,123,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,151,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,163,126,0,0,209,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,72,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,77,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,32,127,0,0,179,121,0,5,0,5,0,0,18,121,0,5,89,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,126,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,147,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,229,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,41,127,0,0,103,121,0,5,0,5,0,0,18,121,0,5,228,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,224,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,68,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,230,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,45,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,177,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,146,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,215,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,180,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,17,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,138,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,116,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,90,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,135,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,44,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,149,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,230,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,92,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,203,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,214,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,92,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,218,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,41,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,36,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,93,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,252,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,59,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,178,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,92,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,182,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,164,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,215,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,219,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,201,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,20,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,25,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,62,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,69,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,221,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,189,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,29,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,13,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,30,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,192,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,214,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,81,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,70,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,44,127,0,0,117,121,0,5,0,5,0,0,12,121,0,5,95,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,165,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,93,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,124,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,73,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,253,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,222,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,109,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,46,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,33,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,130,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,7,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,4,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,14,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,110,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,71,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,208,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,203,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,91,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,27,127,0,0,143,121,0,5,0,5,0,0,18,121,0,5,52,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,200,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,209,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,40,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,3,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,38,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,41,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,5,125,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,109,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,151,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,87,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,14,127,0,0,113,121,0,5,0,5,0,0,30,121,0,5,91,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,67,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,16,127,0,0,135,121,0,5,0,5,0,0,18,121,0,5,117,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,149,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,165,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,4,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,66,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,60,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,38,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,13,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,86,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,71,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,71,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,22,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,136,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,232,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,6,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,84,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,14,127,0,0,125,121,0,5,0,5,0,0,24,121,0,5,181,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,131,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,98,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,124,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,40,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,118,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,157,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,4,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,63,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,129,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,168,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,15,127,0,0,125,121,0,5,0,5,0,0,20,121,0,5,5,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,150,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,81,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,29,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,175,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,215,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,193,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,97,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,175,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,245,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,129,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,111,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,201,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,69,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,51,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,137,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,182,126,0,0,103,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,77,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,92,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,62,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,67,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,6,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,9,127,0,0,185,121,0,5,0,5,0,0,6,121,0,5,94,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,246,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,72,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,106,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,85,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,143,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,94,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,122,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,204,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,117,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,7,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,30,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,133,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,212,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,64,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,19,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,23,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,30,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,82,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,36,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,71,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,102,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,138,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,202,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,52,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,82,127,0,0,137,121,0,5,0,5,0,0,16,121,0,5,118,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,169,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,53,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,22,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,39,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,124,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,170,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,112,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,158,122,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,19,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,14,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,72,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,41,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,237,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,182,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,238,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,139,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,31,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,222,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,170,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,36,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,192,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,3,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,40,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,47,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,139,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,72,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,204,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,250,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,23,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,41,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,39,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,123,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,144,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,59,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,37,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,63,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,234,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,103,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,83,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,42,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,99,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,224,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,81,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,62,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,213,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,119,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,247,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,20,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,248,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,151,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,37,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,127,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,133,126,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,58,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,53,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,104,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,233,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,42,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,43,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,95,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,24,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,99,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,37,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,103,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,119,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,100,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,86,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,39,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,5,127,0,0,211,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,196,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,60,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,93,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,118,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,42,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,31,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,246,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,195,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,162,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,99,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,234,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,14,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,24,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,64,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,190,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,122,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,123,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,63,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,22,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,76,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,201,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,237,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,64,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,32,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,104,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,56,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,225,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,98,127,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,8,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,252,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,202,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,244,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,250,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,131,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,120,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,241,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,8,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,6,127,0,0,193,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,110,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,63,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,183,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,69,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,64,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,234,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,201,125,0,0,179,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,222,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,65,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,180,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,10,127,0,0,185,121,0,5,0,5,0,0,28,121,0,5,117,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,231,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,121,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,24,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,233,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,93,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,125,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,111,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,232,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,96,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,80,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,33,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,25,127,0,0,103,121,0,5,0,5,0,0,38,121,0,5,8,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,140,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,177,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,190,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,65,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,149,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,131,127,0,0,211,121,0,5,0,5,0,0,18,121,0,5,229,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,202,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,141,125,0,0,179,121,0,5,0,5,0,0,10,121,0,5,166,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,71,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,52,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,171,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,216,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,26,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,29,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,26,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,16,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,43,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,152,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,172,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,94,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,149,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,96,127,0,0,129,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,103,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,46,127,0,0,111,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,88,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,70,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,145,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,10,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,172,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,247,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,65,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,235,122,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,20,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,68,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,135,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,95,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,20,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,191,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,118,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,67,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,228,123,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,92,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,134,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,87,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,173,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,18,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,200,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,18,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,49,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,172,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,113,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,202,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,17,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,202,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,233,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,142,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,72,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,146,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,38,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,21,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,31,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,11,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,35,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,159,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,203,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,63,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,73,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,19,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,119,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,192,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,101,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,68,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,215,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,65,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,228,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,28,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,44,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,197,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,43,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,15,125,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,27,123,0,0,219,121,0,5,0,5,0,0,10,121,0,5,246,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,231,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,143,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,184,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,82,127,0,0,209,121,0,5,0,5,0,0,38,121,0,5,2,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,153,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,203,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,18,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,83,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,193,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,44,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,69,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,105,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,16,127,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,134,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,134,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,246,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,8,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,204,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,59,127,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,9,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,119,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,174,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,9,126,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,39,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,166,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,167,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,82,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,130,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,148,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,41,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,226,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,56,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,58,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,102,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,251,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,42,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,161,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,100,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,66,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,67,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,73,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,99,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,17,127,0,0,119,121,0,5,0,5,0,0,24,121,0,5,40,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,18,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,6,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,193,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,68,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,191,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,128,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,234,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,26,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,134,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,155,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,74,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,3,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,93,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,23,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,73,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,112,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,75,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,213,126,0,0,193,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,226,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,19,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,107,121,0,5,90,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,14,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,125,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,120,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,21,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,86,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,13,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,222,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,119,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,14,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,23,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,8,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,43,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,9,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,147,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,193,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,201,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,160,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,120,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,53,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,22,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,103,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,37,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,22,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,62,127,0,0,209,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,111,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,86,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,97,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,176,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,110,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,179,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,89,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,203,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,18,127,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,220,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,208,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,65,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,138,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,247,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,74,127,0,0,111,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,41,122,0,0,185,121,0,5,0,5,0,0,40,121,0,5,41,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,101,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,59,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,93,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,88,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,46,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,54,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,107,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,214,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,154,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,150,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,44,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,8,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,124,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,205,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,105,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,154,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,139,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,174,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,89,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,204,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,66,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,40,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,194,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,19,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,15,127,0,0,121,121,0,5,0,5,0,0,30,121,0,5,180,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,183,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,155,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,19,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,195,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,179,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,45,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,103,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,173,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,53,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,47,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,69,124,0,0,219,121,0,5,0,5,0,0,40,121,0,5,30,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,204,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,75,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,193,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,216,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,147,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,181,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,229,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,194,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,126,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,187,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,74,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,156,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,253,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,46,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,95,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,67,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,41,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,96,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,36,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,163,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,48,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,104,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,87,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,189,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,242,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,98,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,234,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,126,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,248,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,2,127,0,0,121,121,0,5,0,5,0,0,12,121,0,5,175,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,10,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,57,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,140,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,92,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,98,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,99,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,9,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,223,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,239,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,244,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,47,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,171,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,78,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,183,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,139,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,93,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,28,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,185,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,236,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,96,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,118,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,220,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,253,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,234,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,205,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,217,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,143,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,235,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,125,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,131,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,215,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,206,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,172,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,245,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,95,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,79,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,142,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,42,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,15,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,227,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,83,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,24,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,74,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,157,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,168,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,240,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,157,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,205,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,132,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,68,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,33,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,10,122,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,11,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,216,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,68,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,16,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,83,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,84,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,70,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,15,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,108,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,107,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,133,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,239,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,43,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,25,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,164,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,82,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,235,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,194,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,15,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,99,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,113,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,155,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,176,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,81,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,246,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,186,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,2,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,177,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,72,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,73,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,254,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,134,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,139,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,205,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,103,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,203,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,69,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,142,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,188,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,140,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,120,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,195,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,135,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,109,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,128,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,22,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,221,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,86,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,143,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,73,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,16,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,192,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,193,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,40,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,84,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,152,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,161,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,144,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,21,127,0,0,193,121,0,5,0,5,0,0,20,121,0,5,10,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,162,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,253,125,0,0,179,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,112,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,254,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,44,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,232,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,148,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,112,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,9,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,11,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,80,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,204,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,148,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,74,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,34,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,177,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,58,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,73,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,104,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,203,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,237,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,101,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,19,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,94,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,223,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,238,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,206,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,55,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,176,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,223,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,5,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,15,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,121,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,58,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,150,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,196,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,45,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,134,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,83,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,229,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,57,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,40,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,114,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,214,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,197,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,198,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,236,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,73,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,155,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,75,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,81,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,20,127,0,0,117,121,0,5,0,5,0,0,16,121,0,5,21,127,0,0,117,121,0,5,0,5,0,0,34,121,0,5,20,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,74,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,25,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,162,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,91,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,149,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,113,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,16,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,243,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,12,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,72,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,198,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,149,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,199,126,0,0,129,121,0,5,0,5,0,0,26,121,0,5,0,5,0,0,103,121,0,5,48,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,165,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,33,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,207,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,57,127,0,0,117,121,0,5,0,5,0,0,16,121,0,5,15,127,0,0,143,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,74,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,122,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,123,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,166,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,156,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,39,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,230,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,90,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,16,127,0,0,125,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,178,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,4,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,69,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,200,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,41,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,93,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,47,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,239,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,129,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,89,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,63,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,94,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,207,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,56,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,90,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,211,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,235,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,132,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,236,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,17,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,61,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,101,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,235,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,120,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,145,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,245,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,58,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,91,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,77,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,65,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,151,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,48,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,70,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,105,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,49,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,181,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,167,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,19,127,0,0,119,121,0,5,0,5,0,0,18,121,0,5,230,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,173,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,106,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,54,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,136,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,104,126,0,0,185,121,0,5,0,5,0,0,10,121,0,5,54,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,137,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,242,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,22,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,193,126,0,0,119,121,0,5,0,5,0,0,40,121,0,5,42,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,47,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,92,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,42,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,100,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,48,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,27,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,21,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,90,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,49,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,230,126,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,93,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,194,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,208,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,4,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,64,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,166,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,23,127,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,163,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,190,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,140,127,0,0,211,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,75,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,7,127,0,0,135,121,0,5,0,5,0,0,12,121,0,5,177,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,202,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,24,124,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,5,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,8,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,203,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,204,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,184,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,2,127,0,0,113,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,95,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,237,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,20,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,247,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,231,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,40,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,50,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,96,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,65,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,157,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,201,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,194,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,72,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,85,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,135,127,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,70,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,255,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,112,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,34,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,121,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,92,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,135,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,130,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,38,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,97,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,152,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,97,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,7,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,94,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,27,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,3,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,113,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,127,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,249,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,11,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,208,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,107,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,93,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,204,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,140,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,70,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,45,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,101,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,244,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,71,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,42,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,18,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,134,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,83,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,166,126,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,74,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,68,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,87,127,0,0,211,121,0,5,0,5,0,0,38,121,0,5,3,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,4,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,205,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,26,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,224,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,206,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,75,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,76,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,142,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,168,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,83,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,38,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,173,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,97,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,108,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,174,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,90,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,19,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,23,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,96,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,113,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,175,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,69,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,42,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,185,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,31,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,39,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,106,127,0,0,127,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,41,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,16,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,70,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,195,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,30,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,114,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,43,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,26,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,72,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,196,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,132,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,9,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,153,126,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,78,126,0,0,185,121,0,5,0,5,0,0,42,121,0,5,4,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,43,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,109,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,217,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,218,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,25,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,197,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,225,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,94,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,196,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,206,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,141,121,0,5,0,5,0,0,6,121,0,5,98,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,20,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,199,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,195,126,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,42,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,121,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,44,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,202,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,86,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,55,127,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,43,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,153,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,124,126,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,29,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,212,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,13,127,0,0,111,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,75,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,150,125,0,0,179,121,0,5,0,5,0,0,38,121,0,5,10,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,158,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,97,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,179,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,9,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,206,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,117,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,89,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,69,126,0,0,129,121,0,5,0,5,0,0,10,121,0,5,202,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,156,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,26,127,0,0,103,121,0,5,0,5,0,0,38,121,0,5,10,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,12,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,203,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,6,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,11,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,21,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,186,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,72,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,165,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,131,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,184,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,7,127,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,2,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,82,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,54,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,13,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,145,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,95,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,78,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,238,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,22,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,197,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,135,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,16,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,99,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,100,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,209,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,67,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,143,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,94,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,210,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,224,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,72,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,149,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,217,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,21,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,221,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,236,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,205,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,237,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,45,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,144,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,157,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,60,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,228,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,120,123,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,131,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,107,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,237,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,98,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,217,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,27,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,101,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,60,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,10,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,125,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,87,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,73,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,211,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,185,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,87,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,60,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,203,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,167,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,135,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,245,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,189,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,245,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,110,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,106,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,102,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,95,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,215,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,191,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,57,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,58,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,19,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,158,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,75,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,166,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,110,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,5,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,136,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,248,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,194,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,207,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,60,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,204,126,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,11,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,20,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,104,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,64,127,0,0,127,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,9,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,207,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,196,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,111,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,88,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,141,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,17,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,39,127,0,0,125,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,17,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,216,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,159,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,120,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,42,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,23,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,49,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,125,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,29,127,0,0,143,121,0,5,0,5,0,0,18,121,0,5,213,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,122,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,14,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,204,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,121,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,246,125,0,0,219,121,0,5,0,5,0,0,38,121,0,5,22,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,88,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,57,126,0,0,209,121,0,5,0,5,0,0,40,121,0,5,32,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,39,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,96,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,190,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,94,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,3,127,0,0,113,121,0,5,0,5,0,0,30,121,0,5,45,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,28,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,108,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,207,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,43,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,118,127,0,0,219,121,0,5,0,5,0,0,40,121,0,5,44,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,16,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,205,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,152,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,182,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,12,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,178,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,99,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,4,127,0,0,113,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,32,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,254,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,24,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,12,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,125,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,82,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,206,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,137,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,26,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,240,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,255,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,212,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,143,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,212,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,44,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,198,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,149,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,196,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,169,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,27,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,222,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,215,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,111,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,22,127,0,0,117,121,0,5,0,5,0,0,16,121,0,5,136,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,223,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,150,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,101,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,13,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,158,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,174,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,20,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,55,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,89,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,49,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,66,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,98,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,115,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,180,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,105,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,23,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,74,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,205,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,20,127,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,42,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,62,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,58,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,136,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,4,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,126,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,203,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,221,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,28,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,116,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,127,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,71,127,0,0,179,121,0,5,0,5,0,0,18,121,0,5,62,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,134,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,155,125,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,7,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,183,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,163,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,218,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,25,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,190,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,156,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,167,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,26,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,23,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,96,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,191,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,195,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,197,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,30,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,27,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,241,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,50,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,64,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,97,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,180,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,36,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,46,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,208,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,98,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,13,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,159,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,46,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,103,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,199,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,35,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,61,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,70,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,21,127,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,83,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,142,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,122,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,150,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,112,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,5,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,137,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,31,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,168,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,209,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,9,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,123,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,106,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,100,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,111,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,230,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,141,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,28,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,245,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,142,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,112,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,14,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,102,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,231,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,187,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,133,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,216,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,29,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,206,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,40,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,179,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,54,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,50,127,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,174,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,214,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,219,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,220,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,41,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,48,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,69,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,30,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,63,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,138,127,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,187,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,55,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,151,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,21,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,29,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,58,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,119,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,201,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,10,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,154,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,46,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,231,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,11,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,123,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,22,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,57,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,192,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,67,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,144,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,219,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,48,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,184,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,91,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,213,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,197,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,24,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,151,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,51,124,0,0,219,121,0,5,0,5,0,0,10,121,0,5,167,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,246,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,196,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,212,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,49,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,58,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,94,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,30,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,238,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,83,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,56,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,84,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,169,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,84,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,40,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,41,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,136,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,168,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,104,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,93,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,11,127,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,167,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,127,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,100,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,192,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,15,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,143,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,24,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,13,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,127,121,0,5,61,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,76,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,233,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,127,121,0,5,62,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,54,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,85,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,160,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,12,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,242,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,31,127,0,0,137,121,0,0,0,0,5,5,42,121,5,70,103,121,5,5,6,121,5,5,119,121,5,70,221,121,5,5,42,121,5,5,121,121,5,103,185,121,5,5,28,121,5,101,117,121,5,5,30,121,5,123,143,121,5,5,42,121,5,70,119,121,5,5,40,121,5,5,143,121,5,111,211,121,5,5,28,121,5,70,107,121,5,5,28,121,5,80,137,121,5,5,28,121,5,70,115,121,5,5,42,121,5,71,119,121,5,5,42,121,5,70,105,121,5,5,38,121,5,122,103,121,5,5,42,121,5,5,139,121,5,80,193,121,5,5,42,121,5,70,137,121,5,5,30,121,5,85,111,121,5,5,28,121,5,97,135,121,5,5,30,121,5,86,111,121,5,5,30,121,5,91,121,121,5,5,42,121,5,71,103,121,5,5,40,121,5,5,143,121,5,120,193,121,5,5,28,121,5,71,115,121,5,5,40,121,5,99,105,121,5,5,42,121,5,90,125,121,5,5,6,121,5,92,133,121,5,5,34,121,5,81,143,121,5,5,28,121,5,81,137,121,5,5,28,121,5,101,141,121,5,5,42,121,5,70,129,121,5,5,34,121,5,5,143,121,5,111,209,121,5,5,16,121,5,84,115,121,5,5,42,121,5,5,115,121,5,78,211,121,5,5,42,121,5,84,121,121,5,5,40,121,5,91,127,121,5,5,42,121,5,71,129,121,5,5,28,121,5,102,141,121,5,5,34,121,5,82,143,121,5,5,28,121,5,102,117,121,5,5,38,121,5,5,103,121,5,121,179,121,5,5,28,121,5,73,123,121,5,5,28,121,5,71,107,121,5,5,28,121,5,98,135,121,5,5,28,121,5,123,125,121,5,5,42,121,5,71,105,121,5,5,40,121,5,5,143,121,5,113,211,121,5,5,38,121,5,94,129,121,5,5,42,121,5,79,117,121,5,5,42,121,5,83,127,121,5,5,38,121,5,5,103,121,5,117,211,121,5,5,34,121,5,106,125,121,5,5,40,121,5,105,127,121,5,5,42,121,5,70,141,121,5,5,28,121,5,99,135,121,5,5,28,121,5,118,127,121,5,5,28,121,5,103,141,121,5,5,28,121,5,82,137,121,5,5,30,121,5,113,113,121,5,5,28,121,5,120,141,121,5,5,16,121,5,102,115,121,5,5,42,121,5,111,119,121,5,5,30,121,5,87,111,121,5,5,16,121,5,85,115,121,5,5,42,121,5,5,137,121,5,71,219,121,5,5,38,121,5,115,105,121,5,5,28,121,5,83,137,121,5,5,42,121,5,70,117,121,5,5,28,121,5,126,137,121,5,5,34,121,5,94,135,121,5,5,42,121,5,112,119,121,5,5,28,121,5,72,107,121,5,5,34,121,5,76,111,121,5,5,28,121,5,121,141,121,5,5,42,121,5,71,141,121,5,5,6,121,5,93,133,121,5,5,42,121,5,5,121,121,5,85,219,121,5,5,42,121,5,5,137,121,5,72,219,121,5,5,28,121,5,119,127,121,5,5,42,121,5,5,103,121,5,80,209,121,5,5,28,121,5,103,117,121,5,5,30,121,5,90,113,121,5,5,24,121,5,78,123,121,5,5,34,121,5,70,113,121,5,5,30,121,5,96,121,121,5,5,42,121,5,5,103,121,5,107,193,121,5,5,40,121,5,92,127,121,5,5,6,121,5,94,133,121,5,5,42,121,5,5,125,121,5,71,179,121,5,5,30,121,5,91,113,121,5,5,28,121,5,122,141,121,5,5,42,121,5,5,105,121,5,94,179,121,5,5,42,121,5,5,129,121,5,87,185,121,5,5,40,121,5,106,127,121,5,5,42,121,5,5,129,121,5,88,185,121,5,5,16,121,5,86,115,121,5,5,42,121,5,5,137,121,5,73,219,121,5,5,42,121,5,5,103,121,5,104,211,121,5,5,42,121,5,70,121,121,5,5,42,121,5,5,115,121,5,90,211,121,5,5,42,121,5,70,125,121,5,5,6,121,5,95,133,121,5,5,40,121,5,5,143,121,5,110,193,121,5,5,42,121,5,70,133,121,5,5,38,121,5,5,103,121,5,122,179,121,5,5,42,121,5,5,115,121,5,79,211,121,5,5,6,121,5,85,123,121,5,5,34,121,5,105,143,121,5,5,28,121,5,100,135,121,5,5,42,121,5,5,137,121,5,88,193,121,5,5,42,121,5,72,129,121,5,5,42,121,5,72,103,121,5,5,16,121,5,103,115,121,5,5,34,121,5,80,135,121,5,5,28,121,5,104,117,121,5,5,30,121,5,124,143,121,5,5,38,121,5,116,105,121,5,5,40,121,5,108,103,121,5,5,42,121,5,5,115,121,5,91,211,121,5,5,42,121,5,5,139,121,5,76,193,121,5,5,42,121,5,5,103,121,5,97,211,121,5,5,42,121,5,73,129,121,5,5,40,121,5,87,117,121,5,5,42,121,5,5,103,121,5,81,209,121,5,5,42,121,5,5,139,121,5,70,211,121,5,5,34,121,5,81,135,121,5,5,42,121,5,74,129,121,5,5,42,121,5,83,129,121,5,5,42,121,5,84,103,121,5,5,16,121,5,87,115,121,5,5,42,121,5,72,119,121,5,5,30,121,5,88,111,121,5,5,40,121,5,5,143,121,5,121,193,121,5,5,42,121,5,71,121,121,5,5,42,121,5,88,105,121,5,5,38,121,5,123,103,121,5,5,42,121,5,90,141,121,5,5,30,121,5,125,143,121,5,5,42,121,5,72,105,121,5,5,42,121,5,5,103,121,5,82,209,121,5,5,42,121,5,75,137,121,5,5,6,121,5,88,123,121,5,5,40,121,5,5,129,121,5,97,209,121,5,5,42,121,5,5,119,121,5,116,219,121,5,5,34,121,5,106,143,121,5,5,28,121,5,108,121,121,5,5,42,121,5,5,103,121,5,98,211,121,5,5,42,121,5,70,127,121,5,5,40,121,5,100,105,121,5,5,42,121,5,91,141,121,5,5,28,121,5,84,137,121,5,5,16,121,5,104,115,121,5,5,38,121,5,124,103,121,5,5,38,121,5,5,103,121,5,123,179,121,5,5,42,121,5,5,103,121,5,83,209,121,5,5,30,121,5,92,113,121,5,5,42,121,5,75,129,121,5,5,42,121,5,5,103,121,5,84,209,121,5,5,42,121,5,71,133,121,5,5,42,121,5,5,121,121,5,104,185,121,5,5,42,121,5,72,141,121,5,5,28,121,5,122,135,121,5,5,42,121,5,84,129,121,5,5,42,121,5,5,121,121,5,109,219,121,5,5,42,121,5,5,131,121,5,80,185,121,5,5,28,121,5,85,137,121,5,5,42,121,5,76,129,121,5,5,42,121,5,5,103,121,5,105,211,121,5,5,34,121,5,83,143,121,5,5,38,121,5,5,103,121,5,108,209,121,5,5,40,121,5,107,127,121,5,5,42,121,5,80,117,121,5,5,42,121,5,85,121,121,5,5,34,121,5,109,125,121,5,5,34,121,5,82,135,121,5,5,42,121,5,113,119,121,5,5,42,121,5,92,141,121,5,5,42,121,5,5,139,121,5,74,211,121,5,5,42,121,5,70,111,121,5,5,42,121,5,73,141,121,5,5,36,121,5,71,123,121,5,5,42,121,5,5,125,121,5,73,179,121,5,5,42,121,5,71,127,121,5,5,42,121,5,85,103,121,5,5,34,121,5,79,113,121,5,5,42,121,5,84,127,121,5,5,28,121,5,121,117,121,5,5,42,121,5,74,141,121,5,5,42,121,5,71,125,121,5,5,42,121,5,5,119,121,5,99,193,121,5,5,28,121,5,109,121,121,5,5,28,121,5,101,135,121,5,5,30,121,5,92,121,121,5,5,40,121,5,92,103,121,5,5,38,121,5,5,103,121,5,124,179,121,5,5,42,121,5,73,105,121,5,5,42,121,5,85,129,121,5,5,42,121,5,5,115,121,5,92,211,121,5,5,28,121,5,80,107,121,5,5,38,121,5,99,125,121,5,5,34,121,5,5,111,121,5,121,211,121,5,5,42,121,5,86,129,121,5,5,30,121,5,93,113,121,5,5,28,121,5,120,127,121,5,5,38,121,5,5,103,121,5,118,211,121,5,5,38,121,5,5,103,121,5,114,211,121,5,5,42,121,5,5,129,121,5,89,185,121,5,5,34,121,5,103,129,121,5,5,42,121,5,71,111,121,5,5,38,121,5,125,103,121,5,5,42,121,5,5,129,121,5,90,185,121,5,5,42,121,5,5,103,121,5,98,179,121,5,5,42,121,5,73,119,121,5,5,42,121,5,74,119,121,5,5,42,121,5,73,103,121,5,5,28,121,5,118,125,121,5,5,28,121,5,73,107,121,5,5,38,121,5,117,105,121,5,5,36,121,5,72,123,121,5,5,28,121,5,121,127,121,5,5,42,121,5,5,115,121,5,80,211,121,5,5,42,121,5,5,121,121,5,105,185,121,5,5,42,121,5,5,115,121,5,86,179,121,5,5,38,121,5,95,129,121,5,5,42,121,5,74,105,121,5,5,10,121,5,113,115,121,5,5,42,121,5,75,119,121,5,5,28,121,5,72,115,121,5,5,40,121,5,109,103,121,5,5,38,121,5,100,129,121,5,5,28,121,5,122,127,121,5,5,38,121,5,96,129,121,5,5,34,121,5,77,111,121,5,5,34,121,5,5,111,121,5,122,211,121,5,5,30,121,5,89,111,121,5,5,28,121,5,102,135,121,5,5,28,121,5,123,127,121,5,5,42,121,5,75,141,121,5,5,28,121,5,103,135,121,5,5,28,121,5,74,123,121,5,5,30,121,5,114,113,121,5,5,34,121,5,83,135,121,5,5,40,121,5,93,103,121,5,5,28,121,5,110,121,121,5,5,42,121,5,86,121,121,5,5,42,121,5,5,121,121,5,110,219,121,5,5,28,121,5,77,123,121,5,5,42,121,5,5,115,121,5,74,209,121,5,5,40,121,5,108,127,121,5,5,28,121,5,122,117,121,5,5,42,121,5,114,119,121,5,5,42,121,5,115,119,121,5,5,42,121,5,72,121,121,5,5,42,121,5,76,141,121,5,5,40,121,5,88,117,121,5,5,42,121,5,5,115,121,5,100,193,121,5,5,40,121,5,110,105,121,5,5,42,121,5,72,127,121,5,5,42,121,5,75,105,121,5,5,42,121,5,5,103,121,5,99,179,121,5,5,28,121,5,86,137,121,5,5,30,121,5,113,111,121,5,5,42,121,5,5,125,121,5,79,219,121,5,5,28,121,5,104,141,121,5,5,28,121,5,87,137,121,5,5,42,121,5,5,121,121,5,106,185,121,5,5,42,121,5,76,105,121,5,5,34,121,5,5,143,121,5,120,209,121,5,5,34,121,5,107,143,121,5,5,6,121,5,117,121,121,5,5,34,121,5,5,143,121,5,112,209,121,5,5,28,121,5,124,127,121,5,5,42,121,5,81,117,121,5,5,42,121,5,5,121,121,5,120,185,121,5,5,28,121,5,104,135,121,5,5,34,121,5,84,135,121,5,5,42,121,5,5,139,121,5,77,193,121,5,5,42,121,5,86,103,121,5,5,40,121,5,110,103,121,5,5,30,121,5,114,111,121,5,5,42,121,5,76,119,121,5,5,34,121,5,84,143,121,5,5,42,121,5,5,115,121,5,81,211,121,5,5,34,121,5,107,125,121,5,5,42,121,5,85,127,121,5,5,28,121,5,124,125,121,5,5,28,121,5,125,125,121,5,5,28,121,5,119,125,121,5,5,28,121,5,125,127,121,5,5,42,121,5,5,111,121,5,77,209,121,5,5,42,121,5,89,105,121,5,5,28,121,5,123,141,121,5,5,28,121,5,120,125,121,5,5,30,121,5,93,121,121,5,5,40,121,5,94,103,121,5,5,34,121,5,108,143,121,5,5,42,121,5,77,141,121,5,5,34,121,5,5,111,121,5,123,211,121,5,5,30,121,5,94,113,121,5,5,42,121,5,77,129,121,5,5,28,121,5,123,135,121,5,5,40,121,5,5,119,121,5,110,179,121,5,5,42,121,5,5,121,121,5,86,219,121,5,5,34,121,5,85,143,121,5,5,40,121,5,89,117,121,5,5,42,121,5,5,121,121,5,107,185,121,5,5,28,121,5,88,137,121,5,5,28,121,5,89,137,121,5,5,30,121,5,90,111,121,5,5,30,121,5,94,121,121,5,5,28,121,5,90,137,121,5,5,42,121,5,74,103,121,5,5,42,121,5,5,139,121,5,73,209,121,5,5,40,121,5,90,117,121,5,5,42,121,5,90,105,121,5,5,16,121,5,88,115,121,5,5,42,121,5,72,125,121,5,5,42,121,5,5,115,121,5,90,179,121,5,5,40,121,5,91,117,121,5,5,42,121,5,5,119,121,5,117,219,121,5,5,30,121,5,95,113,121,5,5,42,121,5,77,119,121,5,5,40,121,5,5,143,121,5,111,193,121,5,5,42,121,5,71,117,121,5,5,34,121,5,80,113,121,5,5,42,121,5,70,135,121,5,5,40,121,5,93,127,121,5,5,40,121,5,70,143,121,5,5,42,121,5,5,139,121,5,74,185,121,5,5,42,121,5,73,125,121,5,5,42,121,5,78,129,121,5,5,42,121,5,5,121,121,5,87,219,121,5,5,42,121,5,82,117,121,5,5,42,121,5,71,135,121,5,5,40,121,5,5,143,121,5,112,193,121,5,5,38,121,5,5,103,121,5,109,209,121,5,5,38,121,5,5,139,121,5,118,179,121,5,5,36,121,5,70,123,121,5,5,34,121,5,5,143,121,5,121,209,121,5,5,42,121,5,5,139,121,5,75,185,121,5,5,42,121,5,5,119,121,5,96,193,121,5,5,40,121,5,111,103,121,5,5,42,121,5,116,119,121,5,5,38,121,5,118,105,121,5,5,42,121,5,5,121,121,5,111,219,121,5,5,42,121,5,5,115,121,5,93,211,121,5,5,42,121,5,5,121,121,5,88,219,121,5,5,42,121,5,5,137,121,5,76,219,121,5,5,42,121,5,74,125,121,5,5,42,121,5,5,137,121,5,85,193,121,5,5,34,121,5,86,143,121,5,5,42,121,5,5,139,121,5,71,211,121,5,5,30,121,5,96,113,121,5,5,42,121,5,5,115,121,5,94,211,121,5,5,42,121,5,75,125,121,5,5,42,121,5,93,141,121,5,5,40,121,5,101,105,121,5,5,28,121,5,91,137,121,5,5,42,121,5,5,121,121,5,108,185,121,5,5,34,121,5,77,133,121,5,5,34,121,5,78,111,121,5,5,42,121,5,5,119,121,5,83,179,121,5,5,42,121,5,5,119,121,5,97,193,121,5,5,28,121,5,92,137,121,5,5,42,121,5,72,117,121,5,5,24,121,5,82,123,121,5,5,34,121,5,81,133,121,5,5,42,121,5,5,121,121,5,89,219,121,5,5,28,121,5,74,107,121,5,5,28,121,5,93,137,121,5,5,28,121,5,94,137,121,5,5,40,121,5,5,107,121,5,115,179,121,5,5,28,121,5,105,141,121,5,5,42,121,5,5,115,121,5,95,211,121,5,5,42,121,5,5,121,121,5,90,219,121,5,5,38,121,5,119,105,121,5,5,42,121,5,5,121,121,5,91,219,121,5,5,40,121,5,94,127,121,5,5,38,121,5,5,139,121,5,116,179,121,5,5,42,121,5,73,117,121,5,5,16,121,5,89,115,121,5,5,28,121,5,105,135,121,5,5,6,121,5,96,133,121,5,5,42,121,5,79,141,121,5,5,42,121,5,78,141,121,5,5,42,121,5,77,105,121,5,5,42,121,5,87,103,121,5,5,42,121,5,76,125,121,5,5,42,121,5,5,121,121,5,121,185,121,5,5,28,121,5,106,141,121,5,5,6,121,5,118,121,121,5,5,42,121,5,5,119,121,5,84,179,121,5,5,42,121,5,80,141,121,5,5,42,121,5,94,141,121,5,5,42,121,5,78,119,121,5,5,16,121,5,90,115,121,5,5,42,121,5,79,119,121,5,5,40,121,5,95,103,121,5,5,38,121,5,97,129,121,5,5,40,121,5,71,143,121,5,5,30,121,5,91,111,121,5,5,34,121,5,104,129,121,5,5,28,121,5,126,127,121,5,5,28,121,5,123,117,121,5,5,6,121,5,89,123,121,5,5,30,121,5,95,121,121,5,5,42,121,5,5,115,121,5,82,211,121,5,5,34,121,5,5,111,121,5,124,211,121,5,5,42,121,5,5,139,121,5,76,185,121,5,5,6,121,5,86,123,121,5,5,28,121,5,124,117,121,5,5,38,121,5,5,103,121,5,104,209,121,5,5,34,121,5,105,129,121,5,5,28,121,5,95,137,121,5,5,30,121,5,97,113,121,5,5,42,121,5,5,121,121,5,109,185,121,5,5,34,121,5,82,133,121,5,5,42,121,5,72,135,121,5,5,28,121,5,75,107,121,5,5,38,121,5,5,103,121,5,119,211,121,5,5,38,121,5,5,103,121,5,115,211,121,5,5,42,121,5,71,137,121,5,5,34,121,5,110,125,121,5,5,40,121,5,109,127,121,5,5,6,121,5,97,133,121,5,5,42,121,5,78,135,121,5,5,40,121,5,96,103,121,5,5,38,121,5,5,105,121,5,119,179,121,5,5,42,121,5,76,137,121,5,5,30,121,5,115,113,121,5,5,28,121,5,107,141,121,5,5,42,121,5,87,121,121,5,5,42,121,5,5,121,121,5,74,179,121,5,5,40,121,5,97,103,121,5,5,38,121,5,75,111,121,5,5,42,121,5,5,121,121,5,75,179,121,5,5,28,121,5,96,137,121,5,5,42,121,5,73,127,121,5,5,40,121,5,102,105,121,5,5,40,121,5,97,117,121,5,5,40,121,5,92,117,121,5,5,42,121,5,74,127,121,5,5,16,121,5,91,115,121,5,5,40,121,5,111,105,121,5,5,42,121,5,80,119,121,5,5,42,121,5,5,139,121,5,70,185,121,5,5,42,121,5,75,103,121,5,5,42,121,5,5,121,121,5,92,219,121,5,5,42,121,5,5,121,121,5,93,219,121,5,5,42,121,5,81,141,121,5,5,42,121,5,5,121,121,5,111,185,121,5,5,42,121,5,77,125,121,5,5,42,121,5,81,119,121,5,5,42,121,5,5,131,121,5,81,185,121,5,5,42,121,5,5,129,121,5,96,185,121,5,5,42,121,5,73,135,121,5,5,28,121,5,106,135,121,5,5,42,121,5,74,117,121,5,5,40,121,5,5,119,121,5,111,179,121,5,5,42,121,5,95,141,121,5,5,42,121,5,75,127,121,5,5,42,121,5,5,129,121,5,97,185,121,5,5,40,121,5,5,119,121,5,112,179,121,5,5,42,121,5,82,141,121,5,5,24,121,5,83,123,121,5,5,28,121,5,105,117,121,5,5,34,121,5,71,113,121,5,5,34,121,5,108,125,121,5,5,42,121,5,78,125,121,5,5,28,121,5,97,137,121,5,5,6,121,5,86,133,121,5,5,42,121,5,79,129,121,5,5,40,121,5,95,127,121,5,5,30,121,5,92,111,121,5,5,40,121,5,98,103,121,5,5,30,121,5,115,111,121,5,5,34,121,5,5,143,121,5,113,209,121,5,5,28,121,5,125,117,121,5,5,28,121,5,111,121,121,5,5,6,121,5,119,121,121,5,5,28,121,5,98,137,121,5,5,42,121,5,5,103,121,5,106,211,121,5,5,28,121,5,99,137,121,5,5,30,121,5,116,111,121,5,5,42,121,5,91,125,121,5,5,42,121,5,5,105,121,5,95,179,121,5,5,42,121,5,5,121,121,5,112,185,121,5,5,34,121,5,87,143,121,5,5,42,121,5,76,127,121,5,5,16,121,5,105,115,121,5,5,30,121,5,98,113,121,5,5,34,121,5,81,113,121,5,5,28,121,5,108,141,121,5,5,34,121,5,106,129,121,5,5,28,121,5,76,107,121,5,5,34,121,5,5,143,121,5,122,209,121,5,5,28,121,5,100,137,121,5,5,28,121,5,101,137,121,5,5,30,121,5,93,111,121,5,5,42,121,5,78,105,121,5,5,34,121,5,107,129,121,5,5,42,121,5,5,121,121,5,94,219,121,5,5,34,121,5,111,125,121,5,5,38,121,5,5,103,121,5,116,211,121,5,5,42,121,5,5,103,121,5,107,211,121,5,5,38,121,5,100,125,121,5,5,42,121,5,83,117,121,5,5,30,121,5,94,111,121,5,5,40,121,5,96,127,121,5,5,34,121,5,108,129,121,5,5,42,121,5,73,121,121,5,5,6,121,5,98,133,121,5,5,34,121,5,95,135,121,5,5,42,121,5,5,125,121,5,80,219,121,5,5,42,121,5,79,125,121,5,5,42,121,5,5,103,121,5,85,209,121,5,5,6,121,5,87,133,121,5,5,16,121,5,92,115,121,5,5,42,121,5,5,139,121,5,70,209,121,5,5,42,121,5,5,139,121,5,71,185,121,5,5,42,121,5,91,105,121,5,5,42,121,5,96,141,121,5,5,28,121,5,124,141,121,5,5,42,121,5,5,129,121,5,89,193,121,5,5,42,121,5,5,139,121,5,71,209,121,5,5,42,121,5,5,139,121,5,72,209,121,5,5,42,121,5,5,111,121,5,106,193,121,5,5,42,121,5,74,111,121,5,5,42,121,5,5,139,121,5,75,211,121,5,5,28,121,5,73,115,121,5,5,42,121,5,5,121,121,5,110,185,121,5,5,28,121,5,75,123,121,5,5,38,121,5,120,105,121,5,5,40,121,5,110,127,121,5,5,34,121,5,82,113,121,5,5,42,121,5,86,127,121,5,5,42,121,5,72,133,121,5,5,28,121,5,109,141,121,5,5,42,121,5,82,119,121,5,5,34,121,5,96,135,121,5,5,30,121,5,117,111,121,5,5,6,121,5,99,133,121,5,5,42,121,5,5,139,121,5,81,193,121,5,5,28,121,5,74,115,121,5,5,42,121,5,5,119,121,5,118,219,121,5,5,28,121,5,106,117,121,5,5,38,121,5,121,105,121,5,5,34,121,5,5,143,121,5,114,209,121,5,5,34,121,5,5,143,121,5,123,209,121,5,5,42,121,5,117,119,121,5,5,40,121,5,103,105,121,5,5,30,121,5,95,111,121,5,5,42,121,5,76,103,121,5,5,28,121,5,102,137,121,5,5,34,121,5,88,143,121,5,5,42,121,5,5,121,121,5,95,219,121,5,5,40,121,5,5,143,121,5,113,193,121,5,5,42,121,5,5,119,121,5,119,219,121,5,5,40,121,5,99,103,121,5,5,38,121,5,122,105,121,5,5,42,121,5,92,125,121,5,5,28,121,5,103,137,121,5,5,42,121,5,5,119,121,5,120,219,121,5,5,42,121,5,5,115,121,5,91,179,121,5,5,42,121,5,5,137,121,5,74,219,121,5,5,42,121,5,5,121,121,5,90,193,121,5,5,28,121,5,112,121,121,5,5,42,121,5,5,139,121,5,72,211,121,5,5,40,121,5,100,103,121,5,5,42,121,5,83,119,121,5,5,42,121,5,79,105,121,5,5,34,121,5,5,143,121,5,115,209,121,5,5,42,121,5,5,115,121,5,83,211,121,5,5,40,121,5,104,105,121,5,5,42,121,5,77,127,121,5,5,34,121,5,72,113,121,5,5,42,121,5,5,103,121,5,86,209,121,5,5,42,121,5,87,129,121,5,5,34,121,5,89,143,121,5,5,42,121,5,78,127,121,5,5,42,121,5,84,119,121,5,5,34,121,5,80,111,121,5,5,42,121,5,80,125,121,5,5,42,121,5,5,121,121,5,113,185,121,5,5,30,121,5,96,111,121,5,5,38,121,5,101,129,121,5,5,28,121,5,100,121,121,5,5,28,121,5,126,125,121,5,5,28,121,5,107,135,121,5,5,28,121,5,104,137,121,5,5,42,121,5,85,119,121,5,5,42,121,5,5,121,121,5,96,219,121,5,5,34,121,5,109,129,121,5,5,42,121,5,5,103,121,5,108,211,121,5,5,42,121,5,118,119,121,5,5,42,121,5,5,121,121,5,97,219,121,5,5,42,121,5,5,121,121,5,91,193,121,5,5,42,121,5,93,125,121,5,5,42,121,5,119,119,121,5,5,40,121,5,5,143,121,5,122,193,121,5,5,34,121,5,73,113,121,5,5,42,121,5,86,119,121,5,5,40,121,5,97,127,121,5,5,28,121,5,125,141,121,5,5,34,121,5,112,125,121,5,5,42,121,5,5,139,121,5,76,211,121,5,5,42,121,5,5,121,121,5,98,219,121,5,5,6,121,5,88,133,121,5,5,30,121,5,118,111,121,5,5,42,121,5,5,125,121,5,82,219,121,5,5,42,121,5,87,119,121,5,5,38,121,5,5,105,121,5,120,179,121,5,5,42,121,5,81,125,121,5,5,28,121,5,107,117,121,5,5,30,121,5,99,113,121,5,5,42,121,5,88,119,121,5,5,28,121,5,105,137,121,5,5,42,121,5,89,119,121,5,5,16,121,5,93,115,121,5,5,40,121,5,5,119,121,5,113,179,121,5,5,42,121,5,80,105,121,5,5,30,121,5,119,111,121,5,5,24,121,5,79,123,121,5,5,42,121,5,90,119,121,5,5,40,121,5,112,103,121,5,5,42,121,5,74,121,121,5,5,42,121,5,82,125,121,5,5,34,121,5,85,135,121,5,5,42,121,5,5,139,121,5,72,185,121,5,5,42,121,5,72,137,121,5,5,42,121,5,5,119,121,5,121,219,121,5,5,42,121,5,5,131,121,5,84,185,121,5,5,42,121,5,5,129,121,5,91,185,121,5,5,42,121,5,5,139,121,5,77,185,121,5,5,42,121,5,5,115,121,5,92,179,121,5,5,42,121,5,88,103,121,5,5,42,121,5,74,135,121,5,5,42,121,5,5,131,121,5,82,185,121,5,5,42,121,5,5,121,121,5,99,219,121,5,5,28,121,5,124,135,121,5,5,42,121,5,5,121,121,5,114,185,121,5,5,42,121,5,80,129,121,5,5,42,121,5,87,127,121,5,5,42,121,5,5,129,121,5,92,185,121,5,5,42,121,5,83,141,121,5,5,40,121,5,111,127,121,5,5,28,121,5,125,135,121,5,5,42,121,5,84,141,121,5,5,42,121,5,85,141,121,5,5,34,121,5,90,143,121,5,5,42,121,5,73,133,121,5,5,42,121,5,97,141,121,5,5,42,121,5,5,129,121,5,93,185,121,5,5,42,121,5,5,115,121,5,87,179,121,5,5,40,121,5,5,119,121,5,114,179,121,5,5,42,121,5,5,129,121,5,98,185,121,5,5,42,121,5,98,141,121,5,5,40,121,5,101,103,121,5,5,28,121,5,108,135,121,5,5,40,121,5,113,103,121,5,5,28,121,5,77,107,121,5,5,42,121,5,79,127,121,5,5,40,121,5,105,105,121,5,5,34,121,5,5,111,121,5,125,211,121,5,5,30,121,5,120,111,121,5,5,38,121,5,5,139,121,5,117,179,121,5,5,42,121,5,120,119,121,5,5,42,121,5,86,141,121,5,5,42,121,5,5,143,121,5,71,193,121,5,5,42,121,5,91,119,121,5,5,30,121,5,97,111,121,5,5,42,121,5,5,103,121,5,103,179,121,5,5,40,121,5,98,117,121,5,5,42,121,5,5,115,121,5,84,211,121,5,5,40,121,5,106,105,121,5,5,28,121,5,108,117,121,5,5,28,121,5,126,141,121,5,5,30,121,5,116,113,121,5,5,42,121,5,121,119,121,5,5,28,121,5,121,125,121,5,5,28,121,5,113,121,121,5,5,30,121,5,98,111,121,5,5,42,121,5,88,129,121,5,5,28,121,5,106,137,121,5,5,28,121,5,107,137,121,5,5,42,121,5,5,121,121,5,92,193,121,5,5,40,121,5,99,117,121,5,5,28,121,5,126,117,121,5,5,42,121,5,83,125,121,5,5,42,121,5,5,111,121,5,78,209,121,5,5,42,121,5,92,105,121,5,5,42,121,5,5,129,121,5,99,185,121,5,5,42,121,5,5,125,121,5,72,179,121,5,5,42,121,5,5,111,121,5,79,209,121,5,5,40,121,5,114,103,121,5,5,40,121,5,5,143,121,5,114,193,121,5,5,42,121,5,81,129,121,5,5,40,121,5,112,105,121,5,5,34,121,5,5,143,121,5,116,209,121,5,5,42,121,5,92,119,121,5,5,40,121,5,102,103,121,5,5,30,121,5,117,113,121,5,5,28,121,5,109,135,121,5,5,42,121,5,93,105,121,5,5,42,121,5,77,103,121,5,5,42,121,5,93,119,121,5,5,28,121,5,108,137,121,5,5,42,121,5,5,121,121,5,112,219,121,5,5,24,121,5,84,123,121,5,5,34,121,5,113,125,121,5,5,42,121,5,5,121,121,5,100,219,121,5,5,42,121,5,5,121,121,5,115,185,121,5,5,28,121,5,75,115,121,5,5,6,121,5,120,121,121,5,5,42,121,5,94,119,121,5,5,40,121,5,98,127,121,5,5,28,121,5,101,121,121,5,5,28,121,5,109,137,121,5,5,28,121,5,122,125,121,5,5,40,121,5,5,143,121,5,115,193,121,5,5,34,121,5,109,143,121,5,5,42,121,5,73,137,121,5,5,42,121,5,88,121,121,5,5,42,121,5,75,121,121,5,5,34,121,5,5,111,121,5,126,211,121,5,5,40,121,5,5,143,121,5,116,193,121,5,5,28,121,5,110,141,121,5,5,42,121,5,5,139,121,5,82,193,121,5,5,34,121,5,83,133,121,5,5,40,121,5,72,143,121,5,5,30,121,5,99,111,121,5,5,42,121,5,94,105,121,5,5,34,121,5,110,143,121,5,5,34,121,5,91,143,121,5,5,42,121,5,5,139,121,5,73,185,121,5,5,30,121,5,97,121,121,5,5,34,121,5,92,143,121,5,5,28,121,5,126,135,121,5,5,34,121,5,84,133,121,5,5,42,121,5,89,103,121,5,5,42,121,5,5,103,121,5,104,179,121,5,5,40,121,5,100,117,121,5,5,28,121,5,110,137,121,5,5,16,121,5,106,115,121,5,5,34,121,5,93,143,121,5,5,42,121,5,5,121,121,5,101,219,121,5,5,42,121,5,95,119,121,5,5,42,121,5,88,127,121,5,5,42,121,5,122,119,121,5,5,42,121,5,123,119,121,5,5,40,121,5,115,103,121,5,5,42,121,5,5,103,121,5,105,179,121,5,5,40,121,5,73,143,121,5,5,34,121,5,110,129,121,5,5,42,121,5,5,103,121,5,109,211,121,5,5,42,121,5,5,103,121,5,99,211,121,5,5,42,121,5,94,125,121,5,5,42,121,5,84,117,121,5,5,38,121,5,5,103,121,5,105,209,121,5,5,30,121,5,118,113,121,5,5,28,121,5,109,117,121,5,5,42,121,5,5,103,121,5,109,193,121,5,5,42,121,5,5,121,121,5,79,179,121,5,5,42,121,5,5,121,121,5,80,179,121,5,5,28,121,5,111,141,121,5,5,28,121,5,76,123,121,5,5,34,121,5,83,113,121,5,5,34,121,5,5,143,121,5,117,209,121,5,5,40,121,5,5,115,121,5,101,209,121,5,5,40,121,5,103,103,121,5,5,42,121,5,5,103,121,5,106,179,121,5,5,24,121,5,80,123,121,5,5,42,121,5,5,121,121,5,76,179,121,5,5,42,121,5,5,121,121,5,77,179,121,5,5,34,121,5,114,125,121,5,5,28,121,5,76,115,121,5,5,16,121,5,94,115,121,5,5,42,121,5,5,121,121,5,81,179,121,5,5,42,121,5,96,119,121,5,5,40,121,5,99,127,121,5,5,30,121,5,100,113,121,5,5,40,121,5,5,129,121,5,99,209,121,5,5,42,121,5,76,121,121,5,5,30,121,5,119,113,121,5,5,42,121,5,87,141,121,5,5,42,121,5,77,121,121,5,5,34,121,5,111,129,121,5,5,6,121,5,121,121,121,5,5,42,121,5,88,141,121,5,5,30,121,5,120,113,121,5,5,40,121,5,107,105,121,5,5,34,121,5,94,143,121,5,5,40,121,5,5,129,121,5,98,209,121,5,5,34,121,5,95,143,121,5,5,28,121,5,110,117,121,5,5,42,121,5,5,121,121,5,78,179,121,5,5,42,121,5,5,115,121,5,101,193,121,5,5,40,121,5,5,115,121,5,102,209,121,5,5,28,121,5,114,121,121,5,5,28,121,5,102,121,121,5,5,28,121,5,103,121,121,5,5,40,121,5,116,103,121,5,5,42,121,5,5,119,121,5,98,193,121,5,5,38,121,5,123,105,121,5,5,30,121,5,101,113,121,5,5,40,121,5,5,143,121,5,117,193,121,5,5,42,121,5,124,119,121,5,5,30,121,5,100,111,121,5,5,42,121,5,5,121,121,5,102,219,121,5,5,42,121,5,5,115,121,5,96,211,121,5,5,42,121,5,89,129,121,5,5,40,121,5,5,143,121,5,123,193,121,5,5,6,121,5,100,133,121,5,5,42,121,5,5,121,121,5,103,219,121,5,5,40,121,5,117,103,121,5,5,42,121,5,97,119,121,5,5,16,121,5,107,115,121,5,5,42,121,5,5,119,121,5,122,219,121,5,5,42,121,5,5,139,121,5,78,193,121,5,5,42,121,5,5,121,121,5,116,185,121,5,5,30,121,5,101,111,121,5,5,42,121,5,5,115,121,5,104,193,121,5,5,34,121,5,111,143,121,5,5,28,121,5,111,137,121,5,5,34,121,5,96,143,121,5,5,42,121,5,5,103,121,5,87,209,121,5,5,34,121,5,74,113,121,5,5,28,121,5,110,135,121,5,5,30,121,5,121,113,121,5,5,34,121,5,97,143,121,5,5,34,121,5,115,125,121,5,5,42,121,5,98,119,121,5,5,40,121,5,112,127,121,5,5,6,121,5,101,133,121,5,5,42,121,5,84,125,121,5,5,42,121,5,5,129,121,5,100,185,121,5,5,42,121,5,5,143,121,5,72,193,121,5,5,42,121,5,90,103,121,5,5,30,121,5,121,111,121,5,5,6,121,5,90,123,121,5,5,30,121,5,117,125,121,5,5,6,121,5,87,123,121,5,5,34,121,5,98,143,121,5,5,40,121,5,104,103,121,5,5,40,121,5,5,143,121,5,124,193,121,5,5,30,121,5,122,111,121,5,5,28,121,5,112,141,121,5,5,42,121,5,89,141,121,5,5,42,121,5,5,139,121,5,73,211,121,5,5,42,121,5,5,139,121,5,77,211,121,5,5,34,121,5,86,135,121,5,5,42,121,5,79,135,121,5,5,42,121,5,5,105,121,5,96,179,121,5,5,40,121,5,118,103,121,5,5,28,121,5,78,107,121,5,5,38,121,5,5,103,121,5,106,209,121,5,5,34,121,5,87,135,121,5,5,42,121,5,5,121,121,5,113,219,121,5,5,42,121,5,80,127,121,5,5,40,121,5,93,117,121,5,5,28,121,5,111,135,121,5,5,38,121,5,124,105,121,5,5,42,121,5,99,119,121,5,5,42,121,5,5,137,121,5,77,219,121,5,5,42,121,5,5,137,121,5,75,219,121,5,5,42,121,5,5,115,121,5,85,211,121,5,5,34,121,5,88,135,121,5,5,42,121,5,5,115,121,5,86,211,121,5,5,34,121,5,116,125,121,5,5,40,121,5,5,143,121,5,109,179,121,5,5,38,121,5,101,125,121,5,5,16,121,5,108,115,121,5,5,34,121,5,78,133,121,5,5,42,121,5,85,125,121,5,5,30,121,5,102,113,121,5,5,16,121,5,109,115,121,5,5,28,121,5,104,121,121,5,5,34,121,5,89,135,121,5,5,34,121,5,99,143,121,5,5,28,121,5,112,137,121,5,5,28,121,5,83,115,121,5,5,28,121,5,77,115,121,5,5,42,121,5,5,139,121,5,70,219,121,5,5,28,121,5,78,115,121,5,5,28,121,5,113,141,121,5,5,42,121,5,5,103,121,5,88,209,121,5,5,42,121,5,74,133,121,5,5,42,121,5,100,119,121,5,5,40,121,5,105,103,121,5,5,28,121,5,111,117,121,5,5,42,121,5,78,121,121,5,5,34,121,5,112,129,121,5,5,38,121,5,125,105,121,5,5,30,121,5,102,111,121,5,5,30,121,5,123,111,121,5,5,40,121,5,5,143,121,5,118,193,121,5,5,42,121,5,86,125,121,5,5,28,121,5,79,115,121,5,5,42,121,5,5,121,121,5,104,219,121,5,5,42,121,5,78,103,121,5,5,30,121,5,98,121,121,5,5,42,121,5,5,103,121,5,92,209,121,5,5,42,121,5,5,115,121,5,87,211,121,5,5,34,121,5,112,143,121,5,5,6,121,5,122,121,121,5,5,40,121,5,119,103,121,5,5,42,121,5,5,103,121,5,93,209,121,5,5,42,121,5,79,121,121,5,5,30,121,5,103,111,121,5,5,34,121,5,79,133,121,5,5,34,121,5,81,111,121,5,5,28,121,5,112,135,121,5,5,34,121,5,113,129,121,5,5,42,121,5,5,131,121,5,83,185,121,5,5,28,121,5,115,121,121,5,5,28,121,5,113,137,121,5,5,30,121,5,104,111,121,5,5,28,121,5,113,135,121,5,5,40,121,5,120,103,121,5,5,42,121,5,101,119,121,5,5,42,121,5,5,129,121,5,101,185,121,5,5,34,121,5,84,113,121,5,5,42,121,5,102,119,121,5,5,40,121,5,5,143,121,5,125,193,121,5,5,34,121,5,85,113,121,5,5,40,121,5,94,117,121,5,5,28,121,5,114,135,121,5,5,42,121,5,75,117,121,5,5,34,121,5,86,113,121,5,5,28,121,5,114,141,121,5,5,34,121,5,113,143,121,5,5,42,121,5,95,105,121,5,5,42,121,5,5,129,121,5,78,219,121,5,5,42,121,5,5,129,121,5,94,185,121,5,5,30,121,5,103,113,121,5,5,16,121,5,95,115,121,5,5,28,121,5,112,117,121,5,5,30,121,5,105,111,121,5,5,28,121,5,113,117,121,5,5,42,121,5,103,119,121,5,5,42,121,5,5,103,121,5,100,179,121,5,5,42,121,5,89,127,121,5,5,34,121,5,79,111,121,5,5,42,121,5,72,111,121,5,5,42,121,5,104,119,121,5,5,42,121,5,74,137,121,5,5,42,121,5,75,133,121,5,5,42,121,5,76,133,121,5,5,34,121,5,100,143,121,5,5,30,121,5,124,111,121,5,5,42,121,5,87,125,121,5,5,28,121,5,105,121,121,5,5,42,121,5,5,121,121,5,95,193,121,5,5,42,121,5,5,103,121,5,100,211,121,5,5,42,121,5,5,121,121,5,105,219,121,5,5,28,121,5,115,135,121,5,5,42,121,5,79,103,121,5,5,42,121,5,105,119,121,5,5,28,121,5,106,121,121,5,5,34,121,5,5,143,121,5,120,211,121,5,5,42,121,5,81,105,121,5,5,28,121,5,115,141,121,5,5,16,121,5,110,115,121,5,5,16,121,5,96,115,121,5,5,42,121,5,5,115,121,5,102,193,121,5,5,28,121,5,116,135,121,5,5,28,121,5,116,141,121,5,5,40,121,5,100,127,121,5,5,30,121,5,125,111,121,5,5,40,121,5,74,143,121,5,5,28,121,5,114,117,121,5,5,28,121,5,114,137,121,5,5,40,121,5,113,127,121,5,5,30,121,5,104,113,121,5,5,34,121,5,82,111,121,5,5,28,121,5,117,135,121,5,5,30,121,5,126,111,121,5,5,38,121,5,102,125,121,5,5,34,121,5,114,143,121,5,5,42,121,5,5,143,121,5,73,193,121,5,5,40,121,5,108,105,121,5,5,42,121,5,5,105,121,5,97,179,121,5,5,34,121,5,83,111,121,5,5,42,121,5,82,105,121,5,5,42,121,5,5,129,121,5,95,185,121,5,5,42,121,5,5,139,121,5,79,193,121,5,5,28,121,5,107,121,121,5,5,42,121,5,5,139,121,5,78,185,121,5,5,42,121,5,73,111,121,5,5,40,121,5,77,143,121,5,5,30,121,5,106,111,121,5,5,42,121,5,90,129,121,5,5,28,121,5,115,117,121,5,5,6,121,5,89,133,121,5,5,42,121,5,5,143,121,5,70,193,121,5,5,42,121,5,80,121,121,5,5,42,121,5,83,105,121,5,5,42,121,5,95,125,121,5,5,6,121,5,91,123,121,5,5,6,121,5,123,121,121,5,5,28,121,5,115,137,121,5,5,42,121,5,88,125,121,5,5,6,121,5,124,121,121,5,5,28,121,5,117,141,121,5,5,34,121,5,114,129,121,5,5,28,121,5,116,137,121,5,5,42,121,5,5,131,121,5,85,185,121,5,5,34,121,5,75,113,121,5,5,42,121,5,84,105,121,5,5,28,121,5,117,137,121,5,5,42,121,5,75,135,121,5,5,42,121,5,5,103,121,5,94,209,121,5,5,30,121,5,105,113,121,5,5,42,121,5,5,131,121,5,86,185,121,5,5,28,121,5,118,135,121,5,5,42,121,5,85,117,121,5,5,42,121,5,5,103,121,5,101,179,121,5,5,42,121,5,81,121,121,5,5,42,121,5,91,129,121,5,5,28,121,5,116,121,121,5,5,42,121,5,5,137,121,5,86,193,121,5,5,28,121,5,118,141,121,5,5,42,121,5,106,119,121,5,5,28,121,5,116,117,121,5,5,42,121,5,86,117,121,5,5,42,121,5,5,121,121,5,93,193,121,5,5,42,121,5,99,141,121,5,5,42,121,5,107,119,121,5,5,28,121,5,117,117,121,5,5,34,121,5,115,143,121,5,5,40,121,5,101,127,121,5,5,40,121,5,109,105,121,5,5,42,121,5,82,121,121,5,5,38,121,5,5,103,121,5,107,209,121,5,5,30,121,5,107,111,121,5,5,40,121,5,5,115,121,5,100,209,121,5,5,42,121,5,5,121,121,5,114,219,121,5,5,42,121,5,80,103,121,5,5,42,121,5,89,125,121,5,5,34,121,5,80,133,121,5,5,42,121,5,5,115,121,5,88,179,121,5,5,42,121,5,5,115,121,5,105,193,121,5,5,34,121,5,90,135,121,5,5,34,121,5,115,129,121,5,5,38,121,5,126,105,121,5,5,40,121,5,106,103,121,5,5,6,121,5,125,121,121,5,5,6,121,5,102,133,121,5,5,34,121,5,116,143,121,5,5,28,121,5,118,137,121,5,5,30,121,5,122,113,121,5,5,28,121,5,119,137,121,5,5,30,121,5,106,113,121,5,5,42,121,5,76,117,121,5,5,30,121,5,123,113,121,5,5,30,121,5,108,111,121,5,5,30,121,5,124,113,121,5,5,34,121,5,87,113,121,5,5,6,121,5,90,133,121,5,5,34,121,5,101,143,121,5,5,42,121,5,76,135,121,5,5,28,121,5,80,115,121,5,5,42,121,5,5,103,121,5,108,193,121,5,5,28,121,5,81,115,121,5,5,42,121,5,5,103,121,5,95,209,121,5,5,40,121,5,78,143,121,5,5,42,121,5,5,139,121,5,83,193,121,5,5,42,121,5,96,125,121,5,5,34,121,5,116,129,121,5,5,38,121,5,103,125,121,5,5,42,121,5,82,129,121,5,5,38,121,5,98,129,121,5,5,30,121,5,109,111,121,5,5,34,121,5,76,113,121,5,5,40,121,5,5,143,121,5,112,211,121,5,5,28,121,5,121,137,121,5,5,28,121,5,120,137,121,5,5,6,121,5,126,121,121,5,5,42,121,5,81,103,121,5,5,42,121,5,5,121,121,5,106,219,121,5,5,28,121,5,119,135,121,5,5,34,121,5,77,113,121,5,5,28,121,5,122,137,121,5,5,40,121,5,75,143,121,5,5,42,121,5,85,105,121,5,5,42,121,5,5,121,121,5,117,185,121,5,5,16,121,5,111,115,121,5,5,30,121,5,110,111,121,5,5,42,121,5,5,103,121,5,110,211,121,5,5,42,121,5,5,103,121,5,107,179,121,5,5,34,121,5,84,111,121,5,5,34,121,5,5,143,121,5,124,209,121,5,5,34,121,5,117,129,121,5,5,40,121,5,121,103,121,5,5,28,121,5,123,137,121,5,5,34,121,5,118,129,121,5,5,38,121,5,5,103,121,5,110,209,121,5,5,42,121,5,92,129,121,5,5,42,121,5,81,127,121,5,5,42,121,5,5,119,121,5,85,179,121,5,5,34,121,5,91,135,121,5,5,30,121,5,107,113,121,5,5,34,121,5,119,129,121,5,5,42,121,5,96,105,121,5,5,28,121,5,119,141,121,5,5,42,121,5,77,117,121,5,5,42,121,5,5,139,121,5,79,185,121,5,5,28,121,5,124,137,121,5,5,28,121,5,79,107,121,5,5,34,121,5,5,143,121,5,118,209,121,5,5,42,121,5,5,125,121,5,83,219,121,5,5,42,121,5,5,103,121,5,89,209,121,5,5,28,121,5,118,117,121,5,5,42,121,5,5,115,121,5,88,211,121,5,5,34,121,5,5,143,121,5,125,209,121,5,5,34,121,5,120,129,121,5,5,34,121,5,121,129,121,5,5,34,121,5,117,143,121,5,5,30,121,5,125,113,121,5,5,42,121,5,91,103,121,5,5,28,121,5,125,137,121,5,5,34,121,5,5,143,121,5,119,209,121,5,5,24,121,5,81,123,121,5,5,34,121,5,122,129,121,5,5,42,121,5,5,121,121,5,115,219,121,5,5,42,121,5,108,119,121,5,5,40,121,5,114,127,121,5,5,42,121,5,5,125,121,5,81,219,121,5,5,42,121,5,5,129,121,5,102,185,121,5,5,42,121,5,5,121,121,5,82,179,121,5,5,16,121,5,112,115,121,5,5,40,121,5,115,127,121,5,5,40,121,5,95,117,121,5,5,42,121,5,5,103,121,5,101,211,121,5,5,16,121,5,97,115,121,5,5,42,121,5,5,121,121,5,94,193,121,5,5,42,121,5,5,103,121,5,102,211,121,5,5,38,121,5,5,139,121,5,103,209,121,5,5,42,121,5,5,103,121,5,96,209,121,5,5,6,121,5,103,133,121,5,5,34,121,5,118,143,121,5,5,40,121,5,76,143,121,5,5,40,121,5,96,117,121,5,5,42,121,5,5,103,121,5,103,211,121,5,5,30,121,5,108,113,121,5,5,42,121,5,5,103,121,5,90,209,121,5,5,30,121,5,126,113,121,5,5,42,121,5,5,121,121,5,107,219,121,5,5,30,121,5,109,113,121,5,5,38,121,5,105,125,121,5,5,42,121,5,5,111,121,5,75,209,121,5,5,42,121,5,77,137,121,5,5,34,121,5,102,143,121,5,5,30,121,5,111,111,121,5,5,34,121,5,123,129,121,5,5,40,121,5,113,105,121,5,5,28,121,5,119,117,121,5,5,42,121,5,82,103,121,5,5,40,121,5,114,105,121,5,5,30,121,5,110,113,121,5,5,34,121,5,88,113,121,5,5,42,121,5,5,115,121,5,89,179,121,5,5,42,121,5,83,121,121,5,5,40,121,5,79,143,121,5,5,42,121,5,78,117,121,5,5,28,121,5,120,135,121,5,5,42,121,5,109,119,121,5,5,42,121,5,5,115,121,5,103,193,121,5,5,28,121,5,120,117,121,5,5,40,121,5,107,103,121,5,5,42,121,5,5,143,121,5,74,193,121,5,5,42,121,5,97,105,121,5,5,42,121,5,97,125,121,5,5,42,121,5,5,115,121,5,89,211,121,5,5,38,121,5,104,125,121,5,5,34,121,5,85,133,121,5,5,30,121,5,111,113,121,5,5,42,121,5,110,119,121,5,5,40,121,5,103,127,121,5,5,40,121,5,102,127,121,5,5,28,121,5,82,115,121,5,5,42,121,5,90,127,121,5,5,42,121,5,93,129,121,5,5,42,121,5,100,141,121,5,5,6,121,5,104,133,121,5,5,6,121,5,91,133,121,5,5,40,121,5,5,143,121,5,119,193,121,5,5,34,121,5,103,143,121,5,5,42,121,5,86,105,121,5,5,34,121,5,124,129,121,5,5,40,121,5,104,127,121,5,5,42,121,5,89,121,121,5,5,42,121,5,82,127,121,5,5,42,121,5,5,111,121,5,76,209,121,5,5,34,121,5,92,135,121,5,5,16,121,5,98,115,121,5,5,42,121,5,5,121,121,5,118,185,121,5,5,16,121,5,99,115,121,5,5,38,121,5,102,129,121,5,5,42,121,5,87,105,121,5,5,34,121,5,78,113,121,5,5,40,121,5,116,127,121,5,5,34,121,5,89,113,121,5,5,40,121,5,80,143,121,5,5,42,121,5,78,137,121,5,5,30,121,5,99,121,121,5,5,42,121,5,5,115,121,5,93,179,121,5,5,38,121,5,99,129,121,5,5,28,121,5,121,135,121,5,5,42,121,5,98,105,121,5,5,34,121,5,119,143,121,5,5,34,121,5,125,129,121,5,5,42,121,5,83,103,121,5,5,42,121,5,5,121,121,5,119,185,121,5,5,40,121,5,117,127,121,5,5,42,121,5,98,125,121,5,5,34,121,5,120,143,121,5,5,34,121,5,121,143,121,5,5,42,121,5,79,137,121,5,5,34,121,5,122,143,121,5,5,42,121,5,5,103,121,5,102,179,121,5,5,34,121,5,93,135,121,5,5,42,121,5,5,137,121,5,87,193,121,5,5,42,121,5,5,103,121,5,108,179,121,5,5,42,121,5,5,103,121,5,91,209,121,5,5,6,121,5,105,133,121,5,5,16,121,5,100,115,121,5,5,42,121,5,77,135,121,5,5,42,121,5,5,121,121,5,108,219,121,5,5,42,121,5,5,125,121,5,84,219,121,5,5,16,121,5,101,115,121,5,5,42,121,5,5,139,121,5,70,179,121,5,5,42,121,5,5,143,121,5,75,193,121,5,5,30,121,5,112,113,121,5,5,34,121,5,104,143,121,5,5,42,121,5,5,139,121,5,84,193,121,5,5,30,121,5,112,111,121,5,5,42,121,5,90,121,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,67,0,50,0,59,0,19,46,0,16,56,5,0,96,1,0,0,96,170,170,170,170,162,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,72,0,0,0,72,1,0,0,168,24,0,0,168,24,0,0,176,24,0,0,176,24,0,0,244,24,0,0,244,24,0,0,82,34,0,0,138,38,0,0,18,0,0,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,39,246,247,248,249,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,254,255,50,105,114,84,1,0,64,8,109,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,92,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,5,212,55,18,254,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,0,198,1,0,0,0,1,12,128,107,2,117,152,75,1,254,158,187,0,7,249,74,0,196,249,38,0,10,250,20,0,10,250,255,255,25,253,193,42,30,250,255,255,195,252,193,136,60,250,255,255,135,251,193,8,149,250,255,255,11,252,193,192,206,250,255,255,224,253,193,118,196,249,255,255,224,253,193,12,233,249,255,255,98,253,193,98,247,249,255,255,152,252,193,118,8,250,255,255,15,253,193,118,64,249,16,0,64,249,255,255,209,253,193,178,113,249,255,255,78,253,193,128,129,249,255,255,106,251,193,100,138,249,255,255,42,251,193,8,7,249,255,255,224,253,193,118,8,249,255,255,224,253,193,118,10,249,255,255,98,253,193,242,52,249,255,255,198,252,193,84,127,159,75,0,159,159,57,0,159,159,255,255,224,253,193,218,160,159,255,255,224,253,193,236,126,216,4,0,2,249,255,255,70,253,193,218,9,0,210,221,20,0,210,221,255,255,45,253,193,112,21,222,255,255,213,253,193,94,23,222,255,255,217,253,193,36,24,222,255,255,217,253,193,222,28,222,255,255,219,253,193,240,29,220,255,255,34,251,193,200,117,220,255,255,130,251,193,144,120,220,255,255,135,251,193,8,144,220,255,255,160,251,193,102,196,221,255,255,16,253,193,52,127,159,255,255,223,253,193,110,141,159,255,255,224,253,193,12,153,159,255,255,224,253,193,96,156,159,255,255,224,253,193,118,59,159,16,0,59,159,255,255,219,253,193,240,74,159,255,255,220,253,193,176,80,159,255,255,220,253,193,236,82,159,255,255,220,253,193,248,254,158,255,255,217,253,193,222,14,159,255,255,218,253,193,6,19,159,255,255,218,253,193,62,32,159,255,255,218,253,193,220,50,155,70,0,165,158,34,0,205,158,16,0,205,158,255,255,214,253,193,124,209,158,255,255,214,253,193,252,249,158,255,255,217,253,193,36,253,158,255,255,217,253,193,62,165,158,255,255,211,253,193,56,166,158,255,255,212,253,193,196,187,158,255,255,213,253,193,94,195,158,255,255,213,253,193,210,229,156,16,0,229,156,255,255,195,253,193,218,31,158,255,255,206,253,193,72,117,158,255,255,208,253,193,240,127,158,255,255,209,253,193,178,50,155,255,255,180,253,193,172,60,155,255,255,181,253,193,166,90,155,255,255,184,253,193,2,124,156,255,255,193,253,193,64,153,153,34,0,216,154,16,0,216,154,255,255,175,253,193,232,223,154,255,255,176,253,193,186,37,155,255,255,180,253,193,58,47,155,255,255,180,253,193,136,153,153,255,255,164,253,193,252,172,153,255,255,165,253,193,208,108,154,255,255,171,253,193,244,168,154,255,255,173,253,193,168,222,152,16,0,222,152,255,255,157,253,193,164,223,152,255,255,157,253,193,170,99,153,255,255,163,253,193,20,150,153,255,255,164,253,193,110,117,152,255,255,153,253,193,70,168,152,255,255,154,253,193,82,206,152,255,255,156,253,193,242,219,152,255,255,157,253,193,122,100,141,142,0,127,149,70,0,94,151,34,0,230,151,16,0,230,151,255,255,147,253,193,30,237,151,255,255,147,253,193,108,243,151,255,255,147,253,193,184,1,152,255,255,148,253,193,142,94,151,255,255,140,253,193,44,98,151,255,255,140,253,193,152,105,151,255,255,141,253,193,160,203,151,255,255,145,253,193,196,182,150,16,0,182,150,255,255,131,253,193,186,185,150,255,255,131,253,193,228,232,150,255,255,134,253,193,178,81,151,255,255,139,253,193,216,127,149,255,255,120,253,193,2,128,149,255,255,120,253,193,6,232,149,255,255,124,253,193,84,28,150,255,255,125,253,193,154,181,143,34,0,204,145,16,0,204,145,255,255,98,253,193,98,209,145,255,255,98,253,193,242,133,148,255,255,114,253,193,86,119,149,255,255,118,253,193,200,181,143,255,255,78,253,193,176,145,144,255,255,87,253,193,98,73,145,255,255,93,253,193,148,198,145,255,255,98,253,193,30,202,142,16,0,202,142,255,255,70,253,193,218,102,143,255,255,76,253,193,100,155,143,255,255,77,253,193,186,176,143,255,255,78,253,193,128,100,141,255,255,54,253,193,190,112,141,255,255,55,253,193,84,179,141,255,255,59,253,193,84,171,142,255,255,68,253,193,230,107,134,70,0,0,138,34,0,85,140,16,0,85,140,255,255,45,253,193,112,120,140,255,255,47,253,193,36,157,140,255,255,48,253,193,190,29,141,255,255,53,253,193,202,0,138,255,255,30,253,193,38,160,139,255,255,40,253,193,192,55,140,255,255,43,253,193,160,70,140,255,255,44,253,193,90,126,137,16,0,126,137,255,255,24,253,193,136,139,137,255,255,25,253,193,42,193,137,255,255,27,253,193,148,210,137,255,255,27,253,193,240,107,134,255,255,254,252,193,150,64,136,255,255,14,253,193,202,76,136,255,255,15,253,193,118,99,136,255,255,16,253,193,52,252,129,34,0,110,130,16,0,110,130,255,255,222,252,193,106,114,130,255,255,222,252,193,140,120,130,255,255,223,252,193,6,77,134,255,255,252,252,193,174,252,129,255,255,217,252,193,10,12,130,255,255,218,252,193,106,27,130,255,255,219,252,193,90,31,130,255,255,219,252,193,128,137,128,16,0,137,128,255,255,203,252,193,226,227,129,255,255,215,252,193,90,234,129,255,255,215,252,193,222,243,129,255,255,216,252,193,152,12,128,255,255,198,252,193,214,18,128,255,255,199,252,193,40,51,128,255,255,200,252,193,74,127,128,255,255,203,252,193,128,54,98,30,1,132,115,142,0,226,119,70,0,115,124,34,0,81,127,16,0,81,127,255,255,189,252,193,238,138,127,255,255,193,252,193,14,189,127,255,255,195,252,193,136,1,128,255,255,198,252,193,84,115,124,255,255,168,252,193,76,248,124,255,255,174,252,193,70,159,126,255,255,185,252,193,220,54,127,255,255,188,252,193,198,190,121,16,0,190,121,255,255,140,252,193,156,116,122,255,255,148,252,193,22,203,122,255,255,152,252,193,118,249,122,255,255,154,252,193,154,226,119,255,255,124,252,193,16,243,119,255,255,125,252,193,134,58,121,255,255,134,252,193,210,184,121,255,255,140,252,193,88,139,117,34,0,174,118,16,0,174,118,255,255,109,252,193,26,191,118,255,255,110,252,193,184,238,118,255,255,113,252,193,128,219,119,255,255,123,252,193,54,139,117,255,255,98,252,193,100,146,117,255,255,98,252,193,176,118,118,255,255,106,252,193,156,125,118,255,255,106,252,193,250,24,117,16,0,24,117,255,255,92,252,193,188,31,117,255,255,93,252,193,36,40,117,255,255,93,252,193,208,48,117,255,255,94,252,193,32,132,115,255,255,79,252,193,112,137,115,255,255,79,252,193,132,220,116,255,255,89,252,193,158,230,116,255,255,90,252,193,104,179,107,70,0,42,114,34,0,71,114,16,0,71,114,255,255,66,252,193,252,89,114,255,255,68,252,193,28,91,114,255,255,68,252,193,94,172,114,255,255,72,252,193,46,42,114,255,255,64,252,193,48,54,114,255,255,65,252,193,150,59,114,255,255,65,252,193,218,63,114,255,255,66,252,193,14,15,108,16,0,15,108,255,255,20,252,193,236,20,108,255,255,21,252,193,54,52,108,255,255,21,252,193,230,107,112,255,255,48,252,193,142,179,107,255,255,14,252,193,174,203,107,255,255,16,252,193,104,212,107,255,255,16,252,193,180,219,107,255,255,17,252,193,22,224,101,34,0,40,103,16,0,40,103,255,255,235,251,193,114,32,107,255,255,6,252,193,188,98,107,255,255,9,252,193,190,121,107,255,255,11,252,193,192,224,101,255,255,222,251,193,42,229,101,255,255,222,251,193,86,240,102,255,255,232,251,193,90,8,103,255,255,233,251,193,86,135,101,16,0,135,101,255,255,217,251,193,254,151,101,255,255,218,251,193,178,164,101,255,255,219,251,193,74,185,101,255,255,220,251,193,68,54,98,255,255,190,251,193,162,75,98,255,255,191,251,193,156,47,101,255,255,212,251,193,60,52,101,255,255,212,251,193,230,215,86,142,0,219,93,70,0,254,94,34,0,97,95,16,0,97,95,255,255,165,251,193,122,115,95,255,255,166,251,193,88,195,95,255,255,169,251,193,252,8,98,255,255,188,251,193,76,254,94,255,255,160,251,193,102,11,95,255,255,161,251,193,108,19,95,255,255,161,251,193,216,80,95,255,255,164,251,193,210,114,94,16,0,114,94,255,255,153,251,193,170,122,94,255,255,154,251,193,90,127,94,255,255,154,251,193,218,244,94,255,255,159,251,193,254,219,93,255,255,147,251,193,66,229,93,255,255,147,251,193,210,241,93,255,255,148,251,193,132,254,93,255,255,149,251,193,20,80,91,34,0,34,92,16,0,34,92,255,255,130,251,193,144,56,92,255,255,131,251,193,192,110,92,255,255,135,251,193,8,113,92,255,255,135,251,193,128,80,91,255,255,119,251,193,108,128,91,255,255,121,251,193,174,248,91,255,255,128,251,193,22,15,92,255,255,129,251,193,34,10,89,16,0,10,89,255,255,100,251,193,232,21,89,255,255,101,251,193,136,39,89,255,255,102,251,193,204,115,89,255,255,106,251,193,100,215,86,255,255,83,251,193,76,31,87,255,255,85,251,193,186,235,88,255,255,99,251,193,220,2,89,255,255,100,251,193,178,224,81,70,0,65,83,34,0,130,83,16,0,130,83,255,255,50,251,193,178,182,83,255,255,53,251,193,120,200,83,255,255,54,251,193,122,227,83,255,255,56,251,193,112,65,83,255,255,47,251,193,180,92,83,255,255,49,251,193,44,100,83,255,255,209,253,193,152,105,83,255,255,49,251,193,240,249,82,16,0,249,82,255,255,44,251,193,244,21,83,255,255,45,251,193,234,26,83,255,255,46,251,193,82,56,83,255,255,47,251,193,118,224,81,255,255,33,251,193,196,245,81,255,255,34,251,193,200,0,82,255,255,35,251,193,132,155,82,255,255,42,251,193,8,160,78,34,0,107,81,16,0,107,81,255,255,28,251,193,74,130,81,255,255,29,251,193,104,150,81,255,255,30,251,193,74,171,81,255,255,31,251,193,62,160,78,255,255,8,251,193,232,186,78,255,255,10,251,193,68,63,81,255,255,26,251,193,4,101,81,255,255,27,251,193,188,63,78,16,0,63,78,255,255,4,251,193,252,89,78,255,255,6,251,193,26,133,78,255,255,7,251,193,248,140,78,255,255,8,251,193,74,0,78,255,255,2,251,193,2,40,78,255,255,4,251,193,60,44,78,255,255,66,252,193,246,54,78,255,255,4,251,193,200,26,130,246,1,0,78,1,78,40,78,41,78,44,78,45,78,54,78,55,78,63,78,64,78,89,78,90,78,133,78,134,78,140,78,141,78,160,78,161,78,186,78,187,78,63,81,64,81,101,81,102,81,107,81,108,81,130,81,131,81,150,81,151,81,171,81,172,81,224,81,225,81,245,81,246,81,0,82,1,82,155,82,156,82,249,82,250,82,21,83,22,83,26,83,27,83,56,83,57,83,65,83,66,83,92,83,93,83,100,83,101,83,105,83,106,83,130,83,131,83,182,83,183,83,200,83,201,83,227,83,228,83,215,86,216,86,31,87,32,87,235,88,236,88,2,89,3,89,10,89,11,89,21,89,22,89,39,89,40,89,115,89,116,89,80,91,81,91,128,91,129,91,248,91,249,91,15,92,16,92,34,92,35,92,56,92,57,92,110,92,111,92,113,92,114,92,219,93,220,93,229,93,230,93,241,93,242,93,254,93,255,93,114,94,115,94,122,94,123,94,127,94,128,94,244,94,245,94,254,94,255,94,11,95,12,95,19,95,20,95,80,95,81,95,97,95,98,95,115,95,116,95,195,95,196,95,8,98,9,98,54,98,55,98,75,98,76,98,47,101,48,101,52,101,53,101,135,101,136,101,151,101,152,101,164,101,165,101,185,101,186,101,224,101,225,101,229,101,230,101,240,102,241,102,8,103,9,103,40,103,41,103,32,107,33,107,98,107,99,107,121,107,122,107,179,107,180,107,203,107,204,107,212,107,213,107,219,107,220,107,15,108,16,108,20,108,21,108,52,108,53,108,107,112,108,112,42,114,43,114,54,114,55,114,59,114,60,114,63,114,64,114,71,114,72,114,89,114,90,114,91,114,92,114,172,114,173,114,132,115,133,115,137,115,138,115,220,116,221,116,230,116,231,116,24,117,25,117,31,117,32,117,40,117,41,117,48,117,49,117,139,117,140,117,146,117,147,117,118,118,119,118,125,118,126,118,174,118,175,118,191,118,192,118,238,118,239,118,219,119,220,119,226,119,227,119,243,119,244,119,58,121,59,121,184,121,185,121,190,121,191,121,116,122,117,122,203,122,204,122,249,122,250,122,115,124,116,124,248,124,249,124,159,126,160,126,54,127,55,127,81,127,82,127,138,127,139,127,189,127,190,127,1,128,2,128,12,128,13,128,18,128,19,128,51,128,52,128,127,128,128,128,137,128,138,128,227,129,228,129,234,129,235,129,243,129,244,129,252,129,253,129,12,130,13,130,27,130,28,130,31,130,32,130,110,130,111,130,114,130,115,130,120,130,121,130,77,134,78,134,107,134,108,134,64,136,65,136,76,136,77,136,99,136,100,136,126,137,127,137,139,137,140,137,193,137,194,137,210,137,211,137,0,138,1,138,160,139,161,139,55,140,56,140,70,140,71,140,85,140,86,140,120,140,121,140,157,140,158,140,29,141,30,141,100,141,101,141,112,141,113,141,179,141,180,141,171,142,172,142,202,142,203,142,102,143,103,143,155,143,156,143,176,143,177,143,181,143,182,143,145,144,146,144,73,145,74,145,198,145,199,145,204,145,205,145,209,145,210,145,133,148,134,148,119,149,120,149,127,149,129,149,232,149,233,149,28,150,29,150,182,150,183,150,185,150,186,150,232,150,233,150,81,151,82,151,94,151,95,151,98,151,99,151,105,151,106,151,203,151,204,151,230,151,231,151,237,151,238,151,243,151,244,151,1,152,2,152,117,152,118,152,168,152,169,152,206,152,207,152,219,152,220,152,222,152,224,152,99,153,100,153,150,153,151,153,153,153,154,153,172,153,173,153,108,154,109,154,168,154,169,154,216,154,217,154,223,154,224,154,37,155,38,155,47,155,48,155,50,155,51,155,60,155,61,155,90,155,91,155,124,156,125,156,229,156,230,156,31,158,32,158,117,158,118,158,127,158,128,158,165,158,167,158,187,158,188,158,195,158,196,158,205,158,206,158,209,158,210,158,249,158,250,158,253,158,255,158,14,159,15,159,19,159,20,159,32,159,33,159,59,159,60,159,74,159,75,159,80,159,81,159,82,159,83,159,127,159,128,159,141,159,142,159,153,159,154,159,156,159,157,159,159,159,161,159,126,216,127,216,2,249,3,249,7,249,9,249,10,249,11,249,52,249,53,249,64,249,65,249,113,249,114,249,129,249,130,249,138,249,139,249,196,249,197,249,233,249,234,249,247,249,248,249,8,250,9,250,10,250,11,250,30,250,31,250,60,250,61,250,149,250,150,250,206,250,207,250,2,0,29,248,2,0,30,248,2,0,117,248,2,0,118,248,2,0,120,248,2,0,121,248,2,0,144,248,2,0,145,248,2,0,196,249,2,0,197,249,2,0,210,249,2,0,211,249,2,0,21,250,2,0,22,250,2,0,23,250,2,0,25,250,2,0,28,250,2,0,29,250,170,170,3,0,67,0,50,0,59,0,39,17,1,16,4,0,0,96,1,0,0,96,4,0,43,0,82,0,91,0,100,0,170,170,101,37,0,32,13,46,0,32,33,17,1,32,209,26,1,32,1,0,32,0,214,26,1,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,206,6,0,32,7,0,0,0,21,0,0,0,208,6,0,0,208,6,0,0,3,0,0,0,0,0,0,0,71,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,94,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,80,9,60,0,2,9,60,0,60,0,1,9,60,0,3,9,38,0,57,9,60,0,51,9,60,0,21,9,77,9,55,9,0,0,250,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,120,0,0,0,120,1,0,0,120,25,0,0,120,25,0,0,128,25,0,0,128,25,0,0,204,25,0,0,204,25,0,0,220,25,0,0,226,25,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,39,40,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,119,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,102,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,193,2,7,104,193,3,7,104,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,143,104,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,2,7,104,0,0,0,0,193,2,143,104,194,5,175,240,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,62,104,5,5,49,0,77,9,55,9,255,255,143,104,193,3,2,0,55,9,56,9,170,170,3,0,69,0,52,0,61,0,71,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,199,6,0,32,1,0,32,0,204,6,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,194,10,0,32,7,0,0,0,21,0,0,0,196,10,0,0,196,10,0,0,3,0,0,0,0,0,0,0,72,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,95,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,99,0,60,0,231,0,60,0,60,0,60,0,199,0,38,0,101,0,60,0,234,0,60,0,60,0,60,0,202,0,38,0,105,0,60,0,238,0,60,0,60,0,60,0,206,0,38,0,115,0,60,0,95,1,60,0,60,0,60,0,94,1,38,0,117,0,60,0,251,0,60,0,60,0,60,0,219,0,38,0,234,0,60,0,60,0,233,0,60,0,60,0,60,0,201,0,38,0,238,0,60,0,60,0,237,0,60,0,60,0,60,0,205,0,38,0,251,0,60,0,60,0,250,0,60,0,60,0,60,0,218,0,38,0,250,0,60,0,60,0,249,0,60,0,60,0,60,0,217,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,188,41,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,44,30,0,0,44,30,0,0,44,30,0,0,44,30,0,0,64,33,0,0,64,33,0,0,164,37,0,0,164,37,0,0,164,41,0,0,25,0,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,94,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,197,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,48,0,56,0,118,0,126,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,148,0,155,0,48,0,159,0,48,0,165,0,173,0,180,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,142,0,48,0,48,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,192,0,216,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,23,0,202,129,23,0,202,162,23,0,202,195,23,0,202,228,23,0,202,5,24,0,202,38,24,0,202,71,24,0,202,104,24,0,202,137,24,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,201,198,0,0,156,5,0,52,156,5,0,54,156,5,0,56,201,70,2,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,198,3,0,156,5,0,80,201,166,4,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,134,7,0,5,5,0,48,201,70,8,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,9,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,70,11,0,5,5,0,80,201,38,12,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,22,0,134,5,2,47,196,138,156,50,134,70,2,51,134,5,2,51,196,150,156,50,196,138,156,58,134,70,2,59,134,5,2,59,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,134,71,2,83,134,70,2,83,134,5,2,83,196,150,156,82,196,136,156,90,160,5,38,93,197,226,22,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,23,0,5,5,2,47,196,138,5,50,5,70,2,51,5,5,2,51,196,150,5,50,196,138,5,58,5,70,2,59,5,5,2,59,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,5,71,2,83,5,70,2,83,5,5,2,83,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,15,0,201,70,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,17,0,201,70,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,20,0,201,6,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,25,0,201,134,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,29,0,201,70,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,6,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,32,0,201,70,34,0,201,198,35,0,201,70,37,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,38,0,201,70,40,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,41,0,201,6,44,0,201,70,46,0,201,134,48,0,201,198,50,0,201,6,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,55,0,201,198,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,15,0,197,98,15,0,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,98,14,0,197,226,14,0,192,0,0,0,192,0,0,0,201,70,58,0,201,198,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,61,0,201,134,63,0,192,0,0,0,192,0,0,0,197,226,3,0,197,162,4,0,197,162,3,0,197,98,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,65,0,201,6,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,70,2,51,5,162,0,0,134,5,2,51,5,162,0,0,5,70,2,51,5,162,0,0,5,5,2,51,5,162,0,0,134,70,2,59,5,162,0,0,134,5,2,59,5,162,0,0,5,70,2,59,5,162,0,0,5,5,2,59,5,162,0,0,134,71,2,83,5,162,0,0,134,70,2,83,5,162,0,0,134,5,2,83,5,162,0,0,5,71,2,83,5,162,0,0,5,70,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,71,2,83,5,190,0,0,134,70,2,83,5,190,0,0,134,5,2,83,5,190,0,0,5,71,2,83,5,190,0,0,5,70,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,70,2,51,5,160,0,0,134,5,2,51,5,160,0,0,5,70,2,51,5,160,0,0,5,5,2,51,5,160,0,0,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,70,2,51,5,204,0,0,134,5,2,51,5,204,0,0,5,70,2,51,5,204,0,0,5,5,2,51,5,204,0,0,134,70,2,51,5,208,0,0,134,5,2,51,5,208,0,0,5,70,2,51,5,208,0,0,5,5,2,51,5,208,0,0,134,70,2,59,5,208,0,0,134,5,2,59,5,208,0,0,5,70,2,59,5,208,0,0,5,5,2,59,5,208,0,0,134,71,2,83,5,198,0,0,134,70,2,83,5,198,0,0,134,5,2,83,5,198,0,0,5,71,2,83,5,198,0,0,5,70,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,71,2,83,5,208,0,0,134,70,2,83,5,208,0,0,134,5,2,83,5,208,0,0,5,71,2,83,5,208,0,0,5,70,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,71,2,83,5,204,0,0,134,70,2,83,5,204,0,0,134,5,2,83,5,204,0,0,5,71,2,83,5,204,0,0,5,70,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,70,2,51,5,196,0,0,134,5,2,51,5,196,0,0,5,70,2,51,5,196,0,0,5,5,2,51,5,196,0,0,134,5,2,51,5,136,0,0,5,5,2,51,5,136,0,0,134,5,2,51,5,138,0,0,5,5,2,51,5,138,0,0,134,5,2,51,5,182,0,0,5,5,2,51,5,182,0,0,134,5,2,51,5,154,0,0,5,5,2,51,5,154,0,0,134,70,2,59,5,196,0,0,134,5,2,59,5,196,0,0,5,70,2,59,5,196,0,0,5,5,2,59,5,196,0,0,134,71,2,83,5,196,0,0,134,70,2,83,5,196,0,0,134,5,2,83,5,196,0,0,5,71,2,83,5,196,0,0,5,70,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,71,2,83,5,190,0,0,5,196,0,0,134,70,2,83,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,71,2,83,5,190,0,0,5,196,0,0,5,70,2,83,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,39,3,2,239,134,5,0,50,156,5,2,0,1,3,2,243,134,70,2,3,2,243,134,5,65,3,2,243,134,70,0,58,156,5,2,0,1,3,2,251,134,70,2,3,2,251,134,5,65,3,2,251,134,70,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,4,0,0,3,255,255,2,83,134,71,1,3,255,255,2,83,134,70,2,3,255,255,2,83,134,5,64,3,255,255,2,83,134,71,65,3,255,255,2,83,134,70,0,46,5,5,48,0,39,3,2,239,5,5,0,50,5,5,2,0,1,3,2,243,5,70,2,3,2,243,5,5,65,3,2,243,5,70,0,58,5,5,2,0,1,3,2,251,5,70,2,3,2,251,5,5,65,3,2,251,5,70,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,4,0,0,3,255,255,2,83,5,71,1,3,255,255,2,83,5,70,2,3,255,255,2,83,5,5,64,3,255,255,2,83,5,71,65,3,255,255,2,83,5,70,156,50,196,162,2,0,1,3,197,162,2,3,0,192,197,98,65,3,197,162,5,50,196,162,2,0,1,3,0,192,197,162,2,3,0,192,197,226,65,3,0,192,197,162,156,58,196,162,2,0,1,3,1,192,197,34,2,3,1,192,197,98,65,3,1,192,197,34,5,58,196,162,2,0,1,3,1,192,197,162,2,3,1,192,197,226,65,3,1,192,197,162,156,82,196,162,4,0,0,3,2,192,197,34,1,3,2,192,197,98,2,3,2,192,197,162,64,3,2,192,197,34,65,3,2,192,197,98,5,82,196,162,4,0,0,3,2,192,197,226,1,3,3,192,197,34,2,3,3,192,197,98,64,3,2,192,197,226,65,3,3,192,197,34,156,82,196,190,4,0,0,3,3,192,197,162,1,3,3,192,197,226,2,3,4,192,197,34,64,3,3,192,197,162,65,3,3,192,197,226,5,82,196,190,4,0,0,3,4,192,197,98,1,3,4,192,197,162,2,3,4,192,197,226,64,3,4,192,197,98,65,3,4,192,197,162,156,50,196,160,2,0,1,3,5,192,197,34,2,3,5,192,197,98,65,3,5,192,197,34,5,50,196,160,2,0,1,3,5,192,197,162,2,3,5,192,197,226,65,3,5,192,197,162,156,50,196,204,2,0,1,3,6,192,197,162,2,3,6,192,197,226,65,3,6,192,197,162,5,50,196,204,2,0,1,3,7,192,197,34,2,3,7,192,197,98,65,3,7,192,197,34,156,50,196,208,2,0,1,3,7,192,197,162,2,3,7,192,197,226,65,3,7,192,197,162,5,50,196,208,2,0,1,3,8,192,197,34,2,3,8,192,197,98,65,3,8,192,197,34,156,58,196,208,2,0,1,3,8,192,197,162,2,3,8,192,197,226,65,3,8,192,197,162,5,58,196,208,2,0,1,3,9,192,197,34,2,3,9,192,197,98,65,3,9,192,197,34,156,82,196,198,4,0,0,3,9,192,197,162,1,3,9,192,197,226,2,3,10,192,197,34,64,3,9,192,197,162,65,3,9,192,197,226,5,82,196,198,4,0,0,3,10,192,197,98,1,3,10,192,197,162,2,3,10,192,197,226,64,3,10,192,197,98,65,3,10,192,197,162,156,82,196,208,4,0,0,3,11,192,197,34,1,3,11,192,197,98,2,3,11,192,197,162,64,3,11,192,197,34,65,3,11,192,197,98,5,82,196,208,4,0,0,3,11,192,197,226,1,3,12,192,197,34,2,3,12,192,197,98,64,3,11,192,197,226,65,3,12,192,197,34,156,82,196,204,4,0,0,3,12,192,197,162,1,3,12,192,197,226,2,3,13,192,197,34,64,3,12,192,197,162,65,3,12,192,197,226,5,82,196,204,4,0,0,3,13,192,197,98,1,3,13,192,197,162,2,3,13,192,197,226,64,3,13,192,197,98,65,3,13,192,197,162,156,50,196,196,2,0,1,3,14,192,197,34,2,3,14,192,197,98,65,3,14,192,197,34,5,50,196,196,2,0,1,3,14,192,197,162,2,3,14,192,197,226,65,3,14,192,197,162,156,58,196,196,2,0,1,3,17,192,197,34,2,3,17,192,197,98,65,3,17,192,197,34,5,58,196,196,2,0,1,3,17,192,197,162,2,3,17,192,197,226,65,3,17,192,197,162,156,82,196,196,4,0,0,3,18,192,197,34,1,3,18,192,197,98,2,3,18,192,197,162,64,3,18,192,197,34,65,3,18,192,197,98,5,82,196,196,4,0,0,3,18,192,197,226,1,3,19,192,197,34,2,3,19,192,197,98,64,3,18,192,197,226,65,3,19,192,197,34,19,0,197,163,4,0,0,3,20,192,197,3,1,3,20,192,197,99,2,3,20,192,197,195,64,3,20,192,197,3,65,3,20,192,197,99,21,0,197,35,4,0,0,3,21,192,197,131,1,3,21,192,197,227,2,3,22,192,197,67,64,3,21,192,197,131,65,3,21,192,197,227,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,28,4,185,84,185,88,185,92,30,4,186,108,185,112,185,116,185,120,186,124,185,132,185,136,185,140,185,148,32,4,185,160,34,4,185,176,185,180,185,184,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,36,4,168,72,38,4,168,84,168,88,168,92,40,4,168,108,168,112,168,116,168,120,168,124,168,132,168,136,168,140,168,148,42,4,168,160,44,4,168,176,168,180,168,184,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,185,68,186,77,217,80,185,80,90,78,186,97,217,100,185,100,90,98,217,72,154,126,185,133,153,133,249,133,153,134,89,134,136,14,217,134,249,172,217,172,185,172,89,170,153,189,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,168,68,168,77,200,80,168,80,72,78,168,97,200,100,168,100,72,98,200,72,136,126,168,133,136,133,232,133,136,134,72,134,128,14,200,134,232,172,200,172,168,172,72,170,136,189,168,196,72,190,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,46,4,48,4,26,78,8,78,249,89,232,89,217,89,200,89,185,90,168,90,249,90,232,90,249,93,232,93,89,95,72,95,154,98,136,98,58,99,40,99,218,97,200,97,50,4,52,4,186,98,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,144,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,250,126,232,126,26,126,8,126,10,8,185,128,168,128,57,135,40,135,217,133,200,133,121,134,104,134,12,8,14,8,153,149,136,149,249,150,232,150,25,150,8,150,154,153,136,153,250,153,232,153,185,156,168,156,26,154,8,154,249,162,232,162,25,162,8,162,185,164,168,164,153,170,136,170,57,171,40,171,217,169,200,169,57,170,40,170,121,170,104,170,54,4,56,4,249,181,232,181,249,189,232,189,89,190,153,193,136,193,185,194,168,194,25,194,8,194,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,152,169,152,200,56,169,76,187,96,187,108,169,96,169,108,169,200,169,124,217,132,187,76,200,132,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,186,76,255,5,186,96,255,5,186,152,255,5,185,168,255,5,168,64,255,5,168,76,255,5,168,96,255,5,168,152,255,5,168,168,255,5,26,79,255,5,8,79,255,5,26,99,255,5,8,99,255,5,25,171,255,5,8,171,255,1,3,0,69,0,52,0,61,0,75,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,187,10,0,32,1,0,32,0,192,10,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,217,6,0,32,7,0,0,0,21,0,0,0,219,6,0,0,219,6,0,0,3,0,0,0,0,0,0,0,35,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,53,4,60,0,81,4,60,0,60,0,60,0,1,4,0,0,170,170,184,26,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,64,26,0,0,64,26,0,0,64,26,0,0,64,26,0,0,132,26,0,0,132,26,0,0,160,26,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,135,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,118,0,48,0,48,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,134,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,40,97,174,5,48,0,8,3,255,255,41,97,134,5,40,97,5,5,48,0,8,3,255,255,41,97,5,5,3,0,69,0,52,0,61,0,35,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,210,6,0,32,1,0,32,0,215,6,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,204,8,0,32,7,0,0,0,21,0,0,0,206,8,0,0,206,8,0,0,3,0,0,0,0,0,0,0,47,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,46,220,38,0,67,0,60,0,99,0,12,3,60,0,60,0,60,0,67,0,12,3,38,0,71,0,60,0,231,1,60,0,60,0,60,0,230,1,38,0,72,0,60,0,31,2,60,0,60,0,60,0,30,2,38,0,83,0,60,0,115,0,12,3,60,0,60,0,60,0,83,0,12,3,38,0,90,0,60,0,122,0,12,3,60,0,60,0,60,0,90,0,12,3,0,0,82,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,196,27,0,0,196,27,0,0,196,27,0,0,196,27,0,0,192,28,0,0,192,28,0,0,58,30,0,0,58,30,0,0,58,34,0,0,50,105,114,84,1,0,64,8,175,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,146,0,48,0,154,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,139,0,48,0,48,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,6,0,202,193,6,0,202,226,6,0,202,3,7,0,202,36,7,0,202,69,7,0,202,102,7,0,202,135,7,0,202,168,7,0,202,201,7,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,198,0,0,201,134,1,0,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,70,2,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,38,3,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,6,4,0,5,5,0,48,5,5,0,50,5,5,0,52,201,198,4,0,201,134,5,0,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,70,6,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,38,7,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,5,0,201,6,8,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,6,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,6,0,201,166,8,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,9,0,201,38,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,10,0,201,166,11,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,12,0,201,38,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,57,5,5,2,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,13,0,201,166,14,0,192,0,0,0,192,0,0,0,201,102,15,0,201,38,16,0,201,230,16,0,201,166,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,18,0,201,38,19,0,192,0,0,0,192,0,0,0,197,34,4,0,197,98,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,19,0,201,166,20,0,201,102,21,0,201,38,22,0,201,230,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,134,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,134,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,5,5,2,57,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,12,3,2,239,134,5,0,54,156,5,48,0,12,3,2,247,134,5,0,56,156,5,48,0,12,3,2,249,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,48,0,12,3,2,239,5,5,0,54,5,5,48,0,12,3,2,247,5,5,0,56,5,5,48,0,12,3,2,249,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,98,156,54,196,160,48,0,12,3,0,192,197,162,5,54,196,160,48,0,12,3,0,192,197,226,156,78,196,160,48,0,12,3,1,192,197,34,5,78,196,160,48,0,12,3,1,192,197,98,156,78,196,202,48,0,12,3,1,192,197,162,5,78,196,202,48,0,12,3,1,192,197,226,156,56,196,196,48,0,12,3,2,192,197,34,5,56,196,196,48,0,12,3,2,192,197,98,156,56,196,160,48,0,12,3,2,192,197,162,5,56,196,160,48,0,12,3,2,192,197,226,156,56,196,206,48,0,12,3,3,192,197,34,5,56,196,206,48,0,12,3,3,192,197,98,156,78,196,196,48,0,12,3,3,192,197,162,5,78,196,196,48,0,12,3,3,192,197,226,156,92,196,196,48,0,12,3,4,192,197,162,5,92,196,196,48,0,12,3,4,192,197,226,156,92,196,210,48,0,12,3,5,192,197,34,5,92,196,210,48,0,12,3,5,192,197,98,5,56,196,210,48,0,12,3,5,192,197,162,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,28,4,30,4,186,92,186,100,185,104,185,108,185,112,186,116,185,124,185,128,185,132,185,140,32,4,185,152,185,160,185,164,185,168,185,172,185,176,34,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,36,4,168,72,168,76,168,80,38,4,40,4,168,92,168,100,168,104,168,108,168,112,168,116,168,124,168,128,168,132,168,140,42,4,168,152,168,160,168,164,168,168,168,172,168,176,44,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,46,4,186,77,154,77,250,77,90,78,186,93,154,93,250,93,90,94,217,72,154,118,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,161,153,161,249,161,89,162,153,177,185,188,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,48,4,168,77,136,77,232,77,72,78,168,93,136,93,232,93,72,94,200,72,136,118,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,161,136,161,232,161,72,162,136,177,168,188,72,178,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,185,68,168,68,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,50,4,52,4,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,136,153,109,136,109,249,110,232,110,25,110,8,110,121,111,104,111,89,111,72,111,154,117,136,117,250,118,232,118,26,118,8,118,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,54,4,56,4,185,148,168,148,249,154,232,154,25,154,8,154,185,156,168,156,153,162,136,162,57,163,40,163,217,161,200,161,57,162,40,162,121,162,104,162,25,163,8,163,249,169,232,169,249,177,232,177,89,178,153,181,136,181,185,182,168,182,185,184,168,184,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,144,169,144,200,56,169,76,187,92,187,100,169,92,169,100,169,192,169,116,217,124,187,76,200,124,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,84,255,5,185,88,255,5,186,144,255,5,185,180,255,5,168,64,255,5,168,84,255,5,168,88,255,5,168,144,255,5,168,180,255,5,249,66,255,5,232,66,255,5,249,86,255,5,232,86,255,5,250,146,255,5,232,146,255,1,170,170,3,0,69,0,52,0,61,0,47,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,197,8,0,32,1,0,32,0,202,8,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,61,22,0,32,7,0,0,0,24,0,0,0,63,22,0,0,63,22,0,0,3,0,0,0,0,0,0,0,206,0,0,0,99,111,108,108,97,116,105,111,110,115,0,112,104,111,110,101,116,105,99,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,170,170,0,0,52,0,50,0,0,0,38,0,69,0,60,0,91,2,60,0,60,0,60,0,144,1,38,0,79,0,60,0,60,0,84,2,60,0,60,0,60,0,134,1,0,0,83,221,38,0,69,0,60,0,91,2,60,0,60,0,60,0,144,1,38,0,79,0,60,0,60,0,84,2,60,0,60,0,60,0,134,1,38,0,71,0,60,0,103,0,98,0,60,0,60,0,60,0,103,0,66,0,60,0,60,0,60,0,71,0,98,0,60,0,60,0,60,0,71,0,66,0,38,0,75,0,60,0,107,0,112,0,60,0,60,0,60,0,107,0,80,0,60,0,60,0,60,0,75,0,112,0,60,0,60,0,60,0,75,0,80,0,38,0,77,0,60,0,109,0,98,0,60,0,60,0,60,0,109,0,66,0,60,0,60,0,60,0,77,0,98,0,60,0,60,0,60,0,77,0,66,0,60,0,109,0,102,0,60,0,60,0,60,0,109,0,70,0,60,0,60,0,60,0,77,0,102,0,60,0,60,0,60,0,77,0,70,0,60,0,109,0,112,0,60,0,60,0,60,0,109,0,80,0,60,0,60,0,60,0,77,0,112,0,60,0,60,0,60,0,77,0,80,0,60,0,109,0,118,0,60,0,60,0,60,0,109,0,86,0,60,0,60,0,60,0,77,0,118,0,60,0,60,0,60,0,77,0,86,0,38,0,78,0,60,0,110,0,100,0,60,0,60,0,60,0,110,0,68,0,60,0,60,0,60,0,78,0,100,0,60,0,60,0,60,0,78,0,68,0,60,0,110,0,103,0,60,0,60,0,60,0,110,0,71,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,60,0,110,0,103,0,98,0,60,0,60,0,60,0,110,0,103,0,66,0,60,0,60,0,60,0,110,0,71,0,98,0,60,0,60,0,60,0,110,0,71,0,66,0,60,0,60,0,60,0,78,0,103,0,98,0,60,0,60,0,60,0,78,0,103,0,66,0,60,0,60,0,60,0,78,0,71,0,66,0,60,0,110,0,107,0,60,0,60,0,60,0,110,0,75,0,60,0,60,0,60,0,78,0,107,0,60,0,60,0,60,0,78,0,75,0,60,0,110,0,115,0,60,0,60,0,60,0,110,0,83,0,60,0,60,0,60,0,78,0,115,0,60,0,60,0,60,0,78,0,83,0,60,0,110,0,116,0,60,0,60,0,60,0,110,0,84,0,60,0,60,0,60,0,78,0,116,0,60,0,60,0,60,0,78,0,84,0,60,0,110,0,121,0,60,0,60,0,60,0,110,0,89,0,60,0,60,0,60,0,78,0,121,0,60,0,60,0,60,0,78,0,89,0,60,0,110,0,122,0,60,0,60,0,60,0,110,0,90,0,60,0,60,0,60,0,78,0,122,0,60,0,60,0,60,0,78,0,90,0,38,0,83,0,60,0,115,0,104,0,60,0,60,0,60,0,115,0,72,0,60,0,60,0,60,0,83,0,104,0,60,0,60,0,60,0,83,0,72,0,38,0,84,0,60,0,116,0,115,0,60,0,60,0,60,0,116,0,83,0,60,0,60,0,60,0,84,0,115,0,60,0,60,0,60,0,84,0,83,0,0,0,170,170,170,170,170,170,10,60,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,116,25,0,0,116,25,0,0,68,33,0,0,68,33,0,0,20,41,0,0,20,41,0,0,4,53,0,0,166,53,0,0,238,59,0,0,50,105,114,84,1,0,64,8,138,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,91,0,99,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,121,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,115,0,48,0,48,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,64,1,192,0,192,0,108,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,61,0,202,97,61,0,202,130,61,0,202,163,61,0,202,196,61,0,202,229,61,0,202,6,62,0,202,39,62,0,202,72,62,0,202,105,62,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,201,0,0,0,156,5,0,56,156,5,0,58,156,5,0,60,201,128,3,0,156,5,0,64,201,96,6,0,201,128,18,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,32,76,0,201,224,83,0,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,201,0,94,0,5,5,0,56,5,5,0,58,5,5,0,60,201,160,97,0,5,5,0,64,201,128,100,0,201,160,112,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,32,173,0,201,224,180,0,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,130,60,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,60,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,2,61,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,128,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,136,0,5,0,2,5,69,0,136,0,5,0,3,5,69,0,136,0,5,0,4,5,69,0,136,0,5,0,5,5,69,0,136,0,5,0,6,5,69,0,71,0,5,0,2,5,69,0,71,0,5,0,3,5,69,0,71,0,5,0,4,5,69,0,71,0,5,0,5,5,69,0,71,0,5,0,6,5,69,0,136,0,5,0,5,5,69,0,5,0,136,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,136,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,150,0,0,0,0,0,136,0,5,0,2,5,69,0,5,0,160,0,0,0,0,0,71,0,5,0,2,5,69,0,5,0,160,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,142,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,142,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,160,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,160,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,160,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,160,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,144,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,144,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,142,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,142,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,150,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,136,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,136,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,156,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,156,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,144,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,144,0,0,0,0,0,136,0,5,0,2,5,69,0,5,0,144,0,0,0,0,0,71,0,5,0,2,5,69,0,5,0,144,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,202,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,202,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,202,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,202,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,164,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,164,0,0,0,0,0,136,0,5,0,2,5,69,0,5,0,136,0,0,0,0,0,71,0,5,0,2,5,69,0,5,0,136,0,0,0,0,0,136,0,5,0,2,5,69,0,5,0,196,0,0,0,0,0,71,0,5,0,2,5,69,0,5,0,196,0,0,0,0,0,136,0,5,0,2,5,69,0,5,0,210,0,0,0,0,0,71,0,5,0,2,5,69,0,5,0,210,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,156,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,156,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,5,0,156,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,5,0,156,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,5,0,156,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,5,0,156,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,5,0,156,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,5,0,156,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,156,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,156,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,196,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,196,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,210,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,210,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,204,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,204,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,156,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,156,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,142,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,142,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,196,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,196,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,210,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,210,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,150,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,146,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,138,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,138,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,196,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,196,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,182,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,182,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,154,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,154,0,0,0,0,0,70,0,5,0,2,5,69,0,70,0,5,0,3,5,69,0,70,0,5,0,4,5,69,0,70,0,5,0,5,5,69,0,70,0,5,0,6,5,69,0,70,0,5,0,5,5,69,0,5,0,136,0,0,0,0,0,70,0,5,0,2,5,69,0,5,0,160,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,142,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,160,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,160,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,144,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,142,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,150,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,136,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,156,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,144,0,0,0,0,0,70,0,5,0,2,5,69,0,5,0,144,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,202,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,202,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,164,0,0,0,0,0,70,0,5,0,2,5,69,0,5,0,136,0,0,0,0,0,70,0,5,0,2,5,69,0,5,0,196,0,0,0,0,0,70,0,5,0,2,5,69,0,5,0,210,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,156,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,5,0,156,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,5,0,156,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,5,0,156,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,156,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,196,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,210,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,204,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,156,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,142,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,196,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,210,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,138,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,196,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,182,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,154,0,0,0,0,0,0,0,0,136,5,2,55,5,156,0,0,71,5,2,55,5,156,0,0,136,5,2,55,5,196,0,0,71,5,2,55,5,196,0,0,136,5,2,55,5,210,0,0,71,5,2,55,5,210,0,0,136,5,2,63,5,136,0,0,71,5,2,63,5,136,0,0,136,5,2,63,5,156,0,0,71,5,2,63,5,156,0,0,136,5,2,67,5,156,0,0,71,5,2,67,5,156,0,0,136,5,2,67,5,196,0,0,71,5,2,67,5,196,0,0,136,5,2,67,5,210,0,0,71,5,2,67,5,210,0,0,136,5,3,67,5,156,0,0,71,5,3,67,5,156,0,0,136,5,4,67,5,136,0,0,71,5,4,67,5,136,0,0,136,5,4,67,5,156,0,0,71,5,4,67,5,156,0,0,136,5,5,67,5,154,0,0,71,5,5,67,5,154,0,0,136,5,5,67,5,196,0,0,71,5,5,67,5,196,0,0,139,5,4,69,5,156,0,0,139,5,4,69,5,196,0,0,139,5,4,69,5,210,0,0,74,5,4,69,5,156,0,0,73,5,4,69,5,156,0,0,74,5,4,69,5,196,0,0,73,5,4,69,5,196,0,0,74,5,4,69,5,210,0,0,73,5,4,69,5,210,0,0,136,5,2,69,5,144,0,0,71,5,2,69,5,144,0,0,136,5,3,69,5,142,0,0,71,5,3,69,5,142,0,0,136,5,3,69,5,140,0,0,71,5,3,69,5,140,0,0,136,5,3,69,5,156,0,0,71,5,3,69,5,156,0,0,136,5,3,69,5,160,0,0,71,5,3,69,5,160,0,0,136,5,3,69,5,144,0,0,71,5,3,69,5,144,0,0,136,5,3,69,5,136,0,0,71,5,3,69,5,136,0,0,136,5,2,69,5,156,0,0,71,5,2,69,5,156,0,0,136,5,2,69,5,196,0,0,71,5,2,69,5,196,0,0,136,5,2,69,5,210,0,0,71,5,2,69,5,210,0,0,136,5,2,69,5,160,0,0,71,5,2,69,5,160,0,0,136,5,2,69,5,204,0,0,71,5,2,69,5,204,0,0,136,5,3,69,5,164,0,0,71,5,3,69,5,164,0,0,136,5,2,79,5,142,0,0,71,5,2,79,5,142,0,0,136,5,2,79,5,144,0,0,71,5,2,79,5,144,0,0,136,5,2,79,5,156,0,0,71,5,2,79,5,156,0,0,136,5,2,79,5,196,0,0,71,5,2,79,5,196,0,0,136,5,2,79,5,150,0,0,71,5,2,79,5,150,0,0,136,5,2,79,5,160,0,0,71,5,2,79,5,160,0,0,136,5,2,79,5,206,0,0,71,5,2,79,5,206,0,0,71,5,2,79,5,210,0,0,136,5,2,81,5,136,0,0,71,5,2,81,5,136,0,0,136,5,2,81,5,142,0,0,71,5,2,81,5,142,0,0,136,5,2,81,5,160,0,0,71,5,2,81,5,160,0,0,136,5,2,81,5,144,0,0,71,5,2,81,5,144,0,0,136,5,2,81,5,202,0,0,71,5,2,81,5,202,0,0,136,5,2,81,5,156,0,0,71,5,2,81,5,156,0,0,136,5,2,81,5,196,0,0,71,5,2,81,5,196,0,0,136,5,2,81,5,136,0,0,5,156,0,0,71,5,2,81,5,136,0,0,5,156,0,0,136,5,2,81,5,144,0,0,5,156,0,0,71,5,2,81,5,144,0,0,5,156,0,0,136,5,2,81,5,196,0,0,5,156,0,0,71,5,2,81,5,196,0,0,5,156,0,0,70,5,2,55,5,156,0,0,5,5,2,55,5,156,0,0,70,5,2,55,5,196,0,0,5,5,2,55,5,196,0,0,70,5,2,55,5,210,0,0,5,5,2,55,5,210,0,0,70,5,2,63,5,136,0,0,5,5,2,63,5,136,0,0,70,5,2,63,5,156,0,0,5,5,2,63,5,156,0,0,70,5,2,67,5,156,0,0,5,5,2,67,5,156,0,0,70,5,2,67,5,196,0,0,5,5,2,67,5,196,0,0,70,5,2,67,5,210,0,0,5,5,2,67,5,210,0,0,70,5,3,67,5,156,0,0,5,5,3,67,5,156,0,0,70,5,4,67,5,136,0,0,5,5,4,67,5,136,0,0,70,5,4,67,5,156,0,0,5,5,4,67,5,156,0,0,70,5,5,67,5,154,0,0,5,5,5,67,5,154,0,0,70,5,5,67,5,196,0,0,5,5,5,67,5,196,0,0,72,5,4,69,5,156,0,0,71,5,4,69,5,156,0,0,72,5,4,69,5,196,0,0,71,5,4,69,5,196,0,0,72,5,4,69,5,210,0,0,71,5,4,69,5,210,0,0,70,5,4,69,5,156,0,0,5,5,4,69,5,156,0,0,70,5,4,69,5,196,0,0,5,5,4,69,5,196,0,0,70,5,4,69,5,210,0,0,5,5,4,69,5,210,0,0,193,5,5,69,5,136,0,0,193,5,5,69,5,150,0,0,70,5,2,69,5,144,0,0,5,5,2,69,5,144,0,0,70,5,3,69,5,142,0,0,5,5,3,69,5,142,0,0,70,5,3,69,5,140,0,0,5,5,3,69,5,140,0,0,70,5,3,69,5,156,0,0,5,5,3,69,5,156,0,0,70,5,3,69,5,160,0,0,5,5,3,69,5,160,0,0,193,2,5,69,5,160,0,0,193,3,5,69,5,136,0,0,193,3,5,69,5,142,0,0,193,3,5,69,5,160,0,0,193,3,5,69,5,144,0,0,193,4,5,69,5,160,0,0,193,4,5,69,5,144,0,0,193,5,5,69,5,142,0,0,193,6,5,69,5,136,0,0,193,6,5,69,5,156,0,0,193,6,5,69,5,144,0,0,70,5,3,69,5,144,0,0,5,5,3,69,5,144,0,0,193,2,5,69,5,144,0,0,70,5,3,69,5,136,0,0,5,5,3,69,5,136,0,0,193,3,5,69,5,202,0,0,193,4,5,69,5,202,0,0,193,5,5,69,5,164,0,0,70,5,2,69,5,156,0,0,5,5,2,69,5,156,0,0,70,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,70,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,70,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,70,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,70,5,3,69,5,164,0,0,5,5,3,69,5,164,0,0,193,2,5,69,5,136,0,0,193,2,5,69,5,196,0,0,193,2,5,69,5,210,0,0,193,3,5,69,5,156,0,0,193,3,5,69,5,196,0,0,193,3,5,69,5,136,0,0,5,156,0,0,193,3,5,69,5,144,0,0,5,156,0,0,193,3,5,69,5,196,0,0,5,156,0,0,193,4,5,69,5,156,0,0,193,4,5,69,5,196,0,0,193,4,5,69,5,210,0,0,193,4,5,69,5,204,0,0,193,5,5,69,5,156,0,0,193,6,5,69,5,142,0,0,193,6,5,69,5,196,0,0,193,6,5,69,5,210,0,0,193,4,5,69,5,150,0,0,193,5,5,69,5,146,0,0,193,5,5,69,5,138,0,0,193,5,5,69,5,196,0,0,193,5,5,69,5,182,0,0,193,5,5,69,5,154,0,0,70,5,2,79,5,142,0,0,5,5,2,79,5,142,0,0,70,5,2,79,5,144,0,0,5,5,2,79,5,144,0,0,70,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,70,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,70,5,2,79,5,150,0,0,5,5,2,79,5,150,0,0,70,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,70,5,2,79,5,206,0,0,5,5,2,79,5,206,0,0,5,5,2,79,5,210,0,0,70,5,2,81,5,136,0,0,5,5,2,81,5,136,0,0,70,5,2,81,5,142,0,0,5,5,2,81,5,142,0,0,70,5,2,81,5,160,0,0,5,5,2,81,5,160,0,0,70,5,2,81,5,144,0,0,5,5,2,81,5,144,0,0,70,5,2,81,5,202,0,0,5,5,2,81,5,202,0,0,70,5,2,81,5,156,0,0,5,5,2,81,5,156,0,0,70,5,2,81,5,196,0,0,5,5,2,81,5,196,0,0,70,5,2,81,5,136,0,0,5,156,0,0,5,5,2,81,5,136,0,0,5,156,0,0,70,5,2,81,5,144,0,0,5,156,0,0,5,5,2,81,5,144,0,0,5,156,0,0,70,5,2,81,5,196,0,0,5,156,0,0,5,5,2,81,5,196,0,0,5,156,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,54,156,5,7,0,4,30,12,0,4,30,0,192,197,162,5,30,0,192,197,226,6,30,1,192,197,34,7,30,1,192,197,98,66,0,2,247,136,5,98,0,2,247,71,5,2,30,197,162,3,30,0,192,197,98,0,62,156,5,5,0,85,30,9,0,85,30,1,192,197,226,86,30,2,192,197,34,87,30,2,192,197,98,80,0,2,255,136,5,112,0,2,255,71,5,84,30,1,192,197,162,0,66,156,5,23,0,6,30,42,0,86,30,20,0,125,30,9,0,125,30,5,192,197,226,126,30,6,192,197,34,127,30,6,192,197,98,86,30,5,192,197,34,87,30,5,192,197,98,124,30,5,192,197,162,31,30,9,0,31,30,4,192,197,98,84,30,4,192,197,162,85,30,4,192,197,226,6,30,3,192,197,162,7,30,3,192,197,226,30,30,4,192,197,34,112,0,22,0,3,30,9,0,3,30,2,192,197,226,4,30,3,192,197,34,5,30,3,192,197,98,112,0,255,255,4,67,71,5,118,0,255,255,5,67,71,5,2,30,2,192,197,162,86,0,12,0,86,0,255,255,5,67,136,5,98,0,255,255,2,67,71,5,102,0,255,255,3,67,71,5,66,0,255,255,2,67,136,5,70,0,255,255,3,67,136,5,80,0,255,255,4,67,136,5,0,68,156,5,0,0,116,0,26,2,206,0,103,30,103,0,146,30,50,0,243,30,25,0,247,30,11,0,247,30,20,192,198,66,248,30,20,192,198,130,249,30,20,192,198,194,42,33,198,129,243,30,19,192,198,66,244,30,19,192,198,130,245,30,19,192,198,194,246,30,20,192,198,2,149,30,12,0,149,30,18,192,198,66,151,30,18,192,198,130,153,30,18,192,198,194,242,30,19,192,198,2,146,30,17,192,198,130,147,30,17,192,198,194,148,30,18,192,198,2,110,30,26,0,142,30,12,0,142,30,16,192,198,130,143,30,16,192,198,194,144,30,17,192,198,2,145,30,17,192,198,66,110,30,15,192,198,130,111,30,15,192,198,194,112,30,16,192,198,2,113,30,16,192,198,66,106,30,12,0,106,30,14,192,198,130,107,30,14,192,198,194,108,30,15,192,198,2,109,30,15,192,198,66,103,30,13,192,198,99,104,30,13,192,198,195,105,30,14,192,198,35,32,30,51,0,53,30,26,0,99,30,12,0,99,30,12,192,198,2,100,30,12,192,198,67,101,30,12,192,198,163,102,30,13,192,198,3,53,30,11,192,198,2,96,30,11,192,198,66,97,30,11,192,198,130,98,30,11,192,198,194,49,30,12,0,49,30,10,192,198,2,50,30,10,192,198,66,51,30,10,192,198,130,52,30,10,192,198,194,32,30,14,192,197,226,33,30,15,192,197,34,48,30,9,192,198,194,13,30,23,0,16,30,12,0,16,30,13,192,197,226,17,30,14,192,197,34,18,30,14,192,197,98,19,30,14,192,197,162,13,30,13,192,197,34,14,30,13,192,197,98,15,30,13,192,197,162,51,2,12,0,51,2,9,192,198,130,10,30,12,192,197,98,11,30,12,192,197,162,12,30,12,192,197,226,26,2,8,192,198,194,27,2,9,192,198,2,50,2,9,192,198,66,90,1,101,0,120,1,51,0,230,1,26,0,244,1,12,0,244,1,11,192,197,226,245,1,12,192,197,34,24,2,8,192,198,66,25,2,8,192,198,130,230,1,11,192,197,98,231,1,11,192,197,162,232,1,7,192,198,194,233,1,8,192,198,2,123,1,12,0,123,1,6,192,198,194,124,1,7,192,198,2,125,1,7,192,198,66,126,1,7,192,198,130,120,1,6,192,198,2,121,1,6,192,198,66,122,1,6,192,198,130,97,1,23,0,100,1,12,0,100,1,5,192,198,2,101,1,5,192,198,66,118,1,5,192,198,130,119,1,5,192,198,194,97,1,4,192,198,66,98,1,4,192,198,130,99,1,4,192,198,194,93,1,12,0,93,1,3,192,198,66,94,1,3,192,198,130,95,1,3,192,198,194,96,1,4,192,198,2,90,1,2,192,198,130,91,1,2,192,198,194,92,1,3,192,198,2,221,0,51,0,30,1,26,0,34,1,12,0,34,1,10,192,197,226,35,1,11,192,197,34,54,1,2,192,198,2,55,1,2,192,198,66,30,1,9,192,197,226,31,1,10,192,197,34,32,1,10,192,197,98,33,1,10,192,197,162,14,1,12,0,14,1,8,192,197,226,15,1,9,192,197,34,28,1,9,192,197,98,29,1,9,192,197,162,221,0,1,192,198,66,253,0,1,192,198,130,255,0,1,192,198,194,100,0,54,0,115,0,12,0,115,0,0,192,198,193,116,0,0,192,198,225,121,0,1,192,198,1,122,0,1,192,198,33,100,0,255,255,2,69,71,5,103,0,3,0,107,0,0,192,198,161,199,127,3,69,71,5,4,30,12,0,4,30,7,192,197,226,5,30,8,192,197,34,6,30,8,192,197,98,7,30,8,192,197,162,66,0,255,255,4,69,74,5,98,0,255,255,4,69,73,5,2,30,7,192,197,98,3,30,7,192,197,162,83,0,11,0,83,0,198,161,84,0,0,192,198,65,89,0,0,192,198,97,90,0,0,192,198,129,68,0,255,255,2,69,136,5,71,0,2,0,75,0,198,129,195,127,3,69,136,5,66,0,255,255,4,69,139,5,2,30,6,192,197,162,4,30,6,192,197,226,6,30,7,192,197,34,0,78,156,5,16,0,36,30,29,0,40,30,15,0,40,30,17,192,197,226,41,30,18,192,197,34,42,30,18,192,197,98,43,30,18,192,197,162,150,30,18,192,197,226,36,30,16,192,197,226,37,30,17,192,197,34,38,30,17,192,197,98,39,30,17,192,197,162,30,2,12,0,30,2,15,192,197,226,31,2,16,192,197,34,34,30,16,192,197,98,35,30,16,192,197,162,72,0,255,255,2,79,136,5,104,0,255,255,2,79,71,5,36,1,15,192,197,98,37,1,15,192,197,162,0,80,156,5,21,0,25,2,37,0,100,30,20,0,103,30,9,0,103,30,23,192,197,195,104,30,24,192,197,35,105,30,24,192,197,131,100,30,22,192,197,163,101,30,23,192,197,3,102,30,23,192,197,99,25,2,21,192,197,98,96,30,21,192,197,162,97,30,21,192,197,226,98,30,22,192,197,34,99,30,22,192,197,98,93,1,20,0,96,1,9,0,96,1,20,192,197,162,97,1,20,192,197,226,24,2,21,192,197,34,93,1,19,192,197,226,94,1,20,192,197,34,95,1,20,192,197,98,83,0,255,255,2,81,136,5,115,0,255,255,2,81,71,5,90,1,19,192,197,34,91,1,19,192,197,98,92,1,19,192,197,162,0,54,5,5,7,0,4,30,12,0,4,30,25,192,197,98,5,30,25,192,197,162,6,30,25,192,197,226,7,30,26,192,197,34,66,0,2,247,70,5,98,0,2,247,5,5,2,30,24,192,197,226,3,30,25,192,197,34,0,62,5,5,5,0,85,30,9,0,85,30,26,192,197,162,86,30,26,192,197,226,87,30,27,192,197,34,80,0,2,255,70,5,112,0,2,255,5,5,84,30,26,192,197,98,0,66,5,5,23,0,6,30,42,0,86,30,20,0,125,30,9,0,125,30,30,192,197,162,126,30,30,192,197,226,127,30,31,192,197,34,86,30,29,192,197,226,87,30,30,192,197,34,124,30,30,192,197,98,31,30,9,0,31,30,29,192,197,34,84,30,29,192,197,98,85,30,29,192,197,162,6,30,28,192,197,98,7,30,28,192,197,162,30,30,28,192,197,226,112,0,22,0,3,30,9,0,3,30,27,192,197,162,4,30,27,192,197,226,5,30,28,192,197,34,112,0,255,255,4,67,5,5,118,0,255,255,5,67,5,5,2,30,27,192,197,98,86,0,12,0,86,0,255,255,5,67,70,5,98,0,255,255,2,67,5,5,102,0,255,255,3,67,5,5,66,0,255,255,2,67,70,5,70,0,255,255,3,67,70,5,80,0,255,255,4,67,70,5,0,68,5,5,0,0,116,0,26,2,207,0,103,30,104,0,146,30,51,0,243,30,26,0,247,30,12,0,247,30,50,192,197,130,248,30,31,192,198,2,249,30,50,192,197,194,42,33,21,192,198,1,243,30,50,192,197,2,244,30,30,192,198,130,245,30,50,192,197,66,246,30,30,192,198,194,149,30,12,0,149,30,49,192,197,66,151,30,49,192,197,130,153,30,49,192,197,194,242,30,30,192,198,66,146,30,29,192,198,194,147,30,49,192,197,2,148,30,30,192,198,2,110,30,26,0,142,30,12,0,142,30,29,192,198,66,143,30,48,192,197,130,144,30,29,192,198,130,145,30,48,192,197,194,110,30,28,192,198,194,111,30,48,192,197,2,112,30,29,192,198,2,113,30,48,192,197,66,106,30,12,0,106,30,28,192,198,66,107,30,47,192,197,130,108,30,28,192,198,130,109,30,47,192,197,194,103,30,46,192,197,195,104,30,27,192,198,227,105,30,47,192,197,35,32,30,51,0,53,30,26,0,99,30,12,0,99,30,46,192,197,34,100,30,27,192,198,35,101,30,46,192,197,99,102,30,27,192,198,131,53,30,45,192,197,162,96,30,26,192,198,162,97,30,45,192,197,226,98,30,26,192,198,226,49,30,12,0,49,30,45,192,197,34,50,30,26,192,198,34,51,30,45,192,197,98,52,30,26,192,198,98,32,30,44,192,197,162,33,30,44,192,197,226,48,30,25,192,198,226,13,30,23,0,16,30,12,0,16,30,43,192,197,162,17,30,43,192,197,226,18,30,44,192,197,34,19,30,44,192,197,98,13,30,42,192,197,226,14,30,43,192,197,34,15,30,43,192,197,98,51,2,12,0,51,2,41,192,197,226,10,30,42,192,197,34,11,30,42,192,197,98,12,30,42,192,197,162,26,2,25,192,198,98,27,2,41,192,197,162,50,2,25,192,198,162,90,1,101,0,120,1,51,0,230,1,26,0,244,1,12,0,244,1,40,192,197,226,245,1,41,192,197,34,24,2,25,192,198,34,25,2,41,192,197,98,230,1,40,192,197,34,231,1,40,192,197,98,232,1,24,192,198,226,233,1,40,192,197,162,123,1,12,0,123,1,24,192,198,98,124,1,39,192,197,162,125,1,24,192,198,162,126,1,39,192,197,226,120,1,23,192,198,226,121,1,24,192,198,34,122,1,39,192,197,98,97,1,23,0,100,1,12,0,100,1,23,192,198,98,101,1,38,192,197,226,118,1,23,192,198,162,119,1,39,192,197,34,97,1,38,192,197,98,98,1,23,192,198,34,99,1,38,192,197,162,93,1,12,0,93,1,37,192,197,226,94,1,22,192,198,162,95,1,38,192,197,34,96,1,22,192,198,226,90,1,22,192,198,34,91,1,37,192,197,162,92,1,22,192,198,98,221,0,51,0,30,1,26,0,34,1,12,0,34,1,36,192,197,226,35,1,37,192,197,34,54,1,21,192,198,226,55,1,37,192,197,98,30,1,35,192,197,226,31,1,36,192,197,34,32,1,36,192,197,98,33,1,36,192,197,162,14,1,12,0,14,1,34,192,197,226,15,1,35,192,197,34,28,1,35,192,197,98,29,1,35,192,197,162,221,0,21,192,198,162,253,0,34,192,197,98,255,0,34,192,197,162,100,0,59,0,115,0,16,0,115,0,255,255,5,69,193,3,116,0,255,255,5,69,193,4,121,0,255,255,5,69,193,5,122,0,255,255,5,69,193,6,100,0,255,255,2,69,5,5,103,0,4,0,107,0,255,255,5,69,193,2,199,127,3,69,5,5,4,30,12,0,4,30,33,192,197,98,5,30,33,192,197,162,6,30,33,192,197,226,7,30,34,192,197,34,66,0,255,255,4,69,70,5,98,0,255,255,4,69,5,5,2,30,32,192,197,226,3,30,33,192,197,34,83,0,12,0,83,0,21,192,198,33,84,0,21,192,198,65,89,0,21,192,198,97,90,0,21,192,198,129,68,0,255,255,2,69,70,5,71,0,3,0,75,0,21,192,198,1,199,127,3,69,70,5,4,30,12,0,4,30,31,192,197,226,5,30,32,192,197,34,6,30,32,192,197,98,7,30,32,192,197,162,66,0,255,255,4,69,72,5,98,0,255,255,4,69,71,5,2,30,31,192,197,98,3,30,31,192,197,162,0,78,5,5,16,0,36,30,29,0,40,30,15,0,40,30,53,192,197,130,41,30,53,192,197,194,42,30,54,192,197,2,43,30,54,192,197,66,150,30,54,192,197,130,36,30,52,192,197,130,37,30,52,192,197,194,38,30,53,192,197,2,39,30,53,192,197,66,30,2,12,0,30,2,51,192,197,130,31,2,51,192,197,194,34,30,52,192,197,2,35,30,52,192,197,66,72,0,255,255,2,79,70,5,104,0,255,255,2,79,5,5,36,1,51,192,197,2,37,1,51,192,197,66,0,80,5,5,21,0,25,2,37,0,100,30,20,0,103,30,9,0,103,30,59,192,197,99,104,30,59,192,197,195,105,30,60,192,197,35,100,30,58,192,197,67,101,30,58,192,197,163,102,30,59,192,197,3,25,2,57,192,197,2,96,30,57,192,197,66,97,30,57,192,197,130,98,30,57,192,197,194,99,30,58,192,197,2,93,1,20,0,96,1,9,0,96,1,56,192,197,66,97,1,56,192,197,130,24,2,56,192,197,194,93,1,55,192,197,130,94,1,55,192,197,194,95,1,56,192,197,2,83,0,255,255,2,81,70,5,115,0,255,255,2,81,5,5,90,1,54,192,197,194,91,1,55,192,197,2,92,1,55,192,197,66,80,0,66,0,67,0,68,0,69,0,70,0,73,0,75,0,76,0,80,0,81,0,83,0,85,0,86,0,87,0,89,0,91,0,98,0,99,0,100,0,101,0,102,0,105,0,107,0,108,0,112,0,113,0,115,0,117,0,118,0,119,0,121,0,123,0,221,0,222,0,253,0,254,0,255,0,0,1,14,1,16,1,28,1,38,1,54,1,56,1,90,1,102,1,118,1,127,1,230,1,234,1,244,1,246,1,24,2,28,2,30,2,32,2,50,2,52,2,2,30,8,30,10,30,20,30,30,30,44,30,48,30,54,30,84,30,88,30,96,30,114,30,124,30,128,30,142,30,152,30,153,30,154,30,242,30,250,30,42,33,43,33,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,26,4,185,88,186,92,186,100,32,4,185,112,38,4,56,4,185,172,185,176,185,180,185,188,156,4,166,4,185,212,185,216,185,220,185,224,185,228,185,232,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,188,4,168,88,168,92,168,100,194,4,168,112,200,4,218,4,168,172,168,176,168,180,168,188,62,5,72,5,168,212,168,216,168,220,168,224,168,228,168,232,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,172,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,93,154,93,250,93,90,94,217,68,154,138,185,173,153,173,249,173,153,174,89,174,136,14,217,174,185,213,153,213,249,213,89,214,153,229,185,236,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,93,136,93,232,93,72,94,200,68,136,138,168,173,136,173,232,173,136,174,72,174,128,14,200,174,168,213,136,213,232,213,72,214,136,229,168,236,72,230,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,184,153,113,136,113,249,114,232,114,25,114,8,114,121,115,104,115,89,115,72,115,154,137,136,137,250,138,232,138,26,138,8,138,10,8,185,168,168,168,57,175,40,175,217,173,200,173,121,174,104,174,12,8,14,8,153,189,136,189,249,190,232,190,25,190,8,190,154,193,136,193,250,193,232,193,250,194,232,194,26,194,8,194,249,202,232,202,25,202,8,202,185,208,168,208,153,214,136,214,57,215,40,215,217,213,200,213,57,214,40,214,121,214,104,214,25,215,8,215,249,221,232,221,249,229,232,229,89,230,153,233,136,233,185,234,168,234,25,234,8,234,232,192,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,192,169,192,200,56,169,72,187,92,187,100,169,92,169,100,169,240,169,136,217,172,187,72,200,172,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,80,66,4,187,84,98,4,178,84,255,5,185,104,80,4,187,108,112,4,178,108,255,5,185,116,66,4,187,120,70,4,187,124,80,4,187,128,86,4,187,132,98,4,178,120,102,4,178,124,112,4,178,128,118,4,178,132,255,5,186,136,68,4,187,140,71,2,75,4,187,148,83,4,187,152,84,4,187,156,89,4,187,160,90,4,187,164,100,4,178,140,103,2,107,4,178,148,115,4,178,152,116,4,178,156,121,4,178,160,122,4,178,164,221,4,155,161,253,4,146,161,255,4,82,162,14,5,27,142,15,5,18,142,28,5,251,145,29,5,242,145,30,5,219,145,31,5,210,145,32,5,187,146,33,5,178,146,34,5,251,146,35,5,242,146,54,5,251,150,55,5,242,150,90,5,155,153,91,5,146,153,92,5,251,153,93,5,242,153,94,5,251,154,95,5,242,154,96,5,27,154,97,5,18,154,98,5,251,158,99,5,242,158,100,5,27,158,101,5,18,158,118,5,251,161,119,5,242,161,120,5,91,162,121,5,155,165,122,5,146,165,123,5,187,166,124,5,178,166,125,5,27,166,126,5,18,166,255,5,186,192,72,4,187,196,104,4,178,196,36,5,251,197,37,5,242,197,255,5,185,200,83,4,187,204,115,4,178,204,90,5,155,205,91,5,146,205,92,5,251,205,93,5,242,205,94,5,251,206,95,5,242,206,96,5,27,206,97,5,18,206,255,5,168,80,66,4,177,84,98,4,168,84,255,5,168,104,80,4,177,108,112,4,168,108,255,5,168,116,66,4,177,120,70,4,177,124,80,4,177,128,86,4,177,132,98,4,168,120,102,4,168,124,112,4,168,128,118,4,168,132,255,5,168,136,68,4,177,140,71,2,75,4,177,148,83,4,177,152,84,4,177,156,89,4,177,160,90,4,177,164,100,4,168,140,103,2,107,4,168,148,115,4,168,152,116,4,168,156,121,4,168,160,122,4,168,164,221,4,145,161,253,4,136,161,255,4,72,162,14,5,17,142,15,5,8,142,28,5,241,145,29,5,232,145,30,5,209,145,31,5,200,145,32,5,177,146,33,5,168,146,34,5,241,146,35,5,232,146,54,5,241,150,55,5,232,150,90,5,145,153,91,5,136,153,92,5,241,153,93,5,232,153,94,5,241,154,95,5,232,154,96,5,17,154,97,5,8,154,98,5,241,158,99,5,232,158,100,5,17,158,101,5,8,158,118,5,241,161,119,5,232,161,120,5,81,162,121,5,145,165,122,5,136,165,123,5,177,166,124,5,168,166,125,5,17,166,126,5,8,166,255,5,168,192,72,4,177,196,104,4,168,196,36,5,241,197,37,5,232,197,255,5,168,200,83,4,177,204,115,4,168,204,90,5,145,205,91,5,136,205,92,5,241,205,93,5,232,205,94,5,241,206,95,5,232,206,96,5,17,206,97,5,8,206,255,1,170,170,3,0,69,0,52,0,61,0,207,0,0,16,22,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,96,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,52,0,0,0,52,0,0,0,4,25,0,0,4,25,0,0,4,25,0,0,4,25,0,0,72,25,0,0,50,105,114,84,1,0,64,8,132,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,91,0,99,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,115,0,48,0,48,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,64,1,192,0,192,0,108,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,219,15,0,16,4,0,0,96,1,0,0,96,2,0,43,0,84,0,170,170,211,15,0,32,52,22,0,32,1,0,32,0,57,22,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,120,0,0,32,7,0,0,0,21,0,0,0,122,0,0,0,122,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,111,0,111,0,93,0,0,0,170,170,68,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,44,0,0,0,44,1,0,0,24,0,0,0,0,0,0,115,180,255,132,115,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,0,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,113,0,0,32,1,0,32,0,118,0,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,250,9,0,32,7,0,0,0,21,0,0,0,252,9,0,0,252,9,0,0,3,0,0,0,0,0,0,0,72,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,96,220,38,0,0,3,61,0,7,3,0,3,38,0,1,3,61,0,7,3,1,3,38,0,3,3,61,0,7,3,3,3,38,0,65,0,60,0,60,0,5,1,60,0,60,0,60,0,4,1,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,38,0,69,0,60,0,60,0,25,1,60,0,60,0,60,0,24,1,60,0,60,0,23,1,60,0,60,0,60,0,22,1,38,0,73,0,60,0,60,0,47,1,60,0,60,0,60,0,46,1,60,0,60,0,121,0,60,0,60,0,60,0,89,0,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,85,0,60,0,60,0,115,1,60,0,60,0,60,0,114,1,60,0,60,0,107,1,60,0,60,0,60,0,106,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,0,0,170,170,170,170,170,170,170,170,170,170,170,170,154,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,29,0,0,212,29,0,0,212,29,0,0,212,29,0,0,240,31,0,0,240,31,0,0,98,34,0,0,98,34,0,0,130,38,0,0,50,105,114,84,1,0,64,8,208,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,108,0,116,0,48,0,56,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,136,0,144,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,162,0,48,0,48,0,170,0,177,0,184,0,48,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,160,0,48,0,48,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,176,1,192,0,228,1,192,0,192,0,192,0,32,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,15,0,202,193,15,0,202,226,15,0,202,3,16,0,202,36,16,0,202,69,16,0,202,102,16,0,202,135,16,0,202,168,16,0,202,201,16,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,198,0,0,156,5,0,48,201,134,1,0,156,5,0,52,156,5,0,54,156,5,0,56,201,166,2,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,102,3,0,156,5,0,80,201,70,4,0,156,5,0,84,160,5,0,86,156,5,0,88,134,71,0,58,201,166,5,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,134,6,0,5,5,0,44,201,70,7,0,5,5,0,48,201,6,8,0,5,5,0,52,5,5,0,54,5,5,0,56,201,38,9,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,230,9,0,5,5,0,80,201,198,10,0,5,5,0,84,5,5,0,86,5,5,0,88,5,71,0,58,201,38,12,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,14,0,201,6,13,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,197,98,0,0,160,5,38,93,197,34,15,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,15,0,201,166,13,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,197,226,0,0,5,5,38,93,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,42,5,70,0,42,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,70,0,50,5,70,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,58,5,70,0,58,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,14,0,201,38,15,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,82,5,71,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,82,5,70,0,82,192,0,0,0,192,0,0,0,197,226,1,0,197,34,2,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,15,0,201,166,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,17,0,201,38,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,18,0,201,166,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,4,0,197,98,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,22,0,201,102,23,0,201,38,24,0,201,230,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,25,0,201,102,26,0,192,0,0,0,192,0,0,0,197,34,6,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,27,0,201,230,27,0,201,166,28,0,201,102,29,0,201,38,30,0,201,230,30,0,192,0,0,0,192,0,0,0,197,34,8,0,197,98,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,8,0,197,226,8,0,192,0,0,0,192,0,0,0,201,166,31,0,201,102,32,0,201,38,33,0,201,230,33,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,34,0,201,102,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,36,0,201,230,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,37,0,201,102,38,0,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,134,71,0,58,5,136,0,0,5,5,2,47,5,160,0,0,5,71,0,58,5,136,0,0,5,71,0,58,5,150,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,71,0,58,5,142,0,0,5,71,0,58,5,142,0,0,134,71,0,58,5,150,0,0,134,71,0,82,5,190,0,0,5,71,0,82,5,190,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,71,0,50,5,160,0,0,5,71,0,50,5,160,0,0,134,71,0,58,5,164,0,0,5,71,0,58,5,164,0,0,134,71,0,50,5,204,0,0,5,71,0,50,5,204,0,0,134,71,0,50,5,208,0,0,5,71,0,50,5,208,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,71,0,82,5,198,0,0,5,71,0,82,5,198,0,0,134,71,0,82,5,208,0,0,5,71,0,82,5,208,0,0,134,71,0,82,5,204,0,0,5,71,0,82,5,204,0,0,134,71,0,82,5,150,0,0,5,71,0,82,5,150,0,0,134,71,0,58,5,156,0,0,5,71,0,58,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,5,71,0,58,5,146,0,0,134,71,0,50,5,196,0,0,5,71,0,50,5,196,0,0,134,71,0,82,5,196,0,0,5,71,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,71,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,71,0,82,5,190,0,0,5,196,0,0,134,71,0,58,5,138,0,0,5,71,0,58,5,138,0,0,134,71,0,58,5,196,0,0,5,71,0,58,5,196,0,0,134,71,0,58,5,182,0,0,5,71,0,58,5,182,0,0,134,71,0,58,5,154,0,0,5,71,0,58,5,154,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,40,3,0,234,134,70,0,46,156,5,48,0,12,3,2,239,134,5,0,50,156,5,1,0,7,3,0,242,134,71,40,3,0,242,134,70,0,58,156,5,48,0,40,3,0,250,134,70,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,82,156,5,1,0,4,3,255,255,0,82,134,71,40,3,255,255,0,82,134,70,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,42,5,5,48,0,40,3,0,234,5,70,0,46,5,5,48,0,12,3,2,239,5,5,0,50,5,5,1,0,7,3,0,242,5,71,40,3,0,242,5,70,0,58,5,5,48,0,40,3,0,250,5,70,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,82,5,5,1,0,4,3,255,255,0,82,5,71,40,3,255,255,0,82,5,70,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,162,156,78,196,160,48,0,12,3,1,192,197,98,5,78,196,160,48,0,12,3,1,192,197,162,156,82,196,190,48,0,4,3,2,192,197,162,5,82,196,190,48,0,4,3,2,192,197,226,156,78,196,202,48,0,12,3,3,192,197,34,5,78,196,202,48,0,12,3,3,192,197,98,156,50,196,160,48,0,7,3,3,192,197,162,5,50,196,160,48,0,7,3,3,192,197,226,0,0,5,156,4,0,0,3,0,192,5,138,1,3,0,192,5,136,3,3,0,192,5,154,64,3,0,192,5,138,65,3,0,192,5,136,156,50,196,204,48,0,7,3,4,192,197,162,5,50,196,204,48,0,7,3,4,192,197,226,156,50,196,208,48,0,7,3,5,192,197,34,5,50,196,208,48,0,7,3,5,192,197,98,156,78,196,196,48,0,12,3,5,192,197,162,5,78,196,196,48,0,12,3,5,192,197,226,156,82,196,198,48,0,4,3,6,192,197,162,5,82,196,198,48,0,4,3,6,192,197,226,156,82,196,208,48,0,4,3,7,192,197,34,5,82,196,208,48,0,4,3,7,192,197,98,156,82,196,204,48,0,4,3,7,192,197,162,5,82,196,204,48,0,4,3,7,192,197,226,156,92,196,196,48,0,12,3,9,192,197,34,5,92,196,196,48,0,12,3,9,192,197,98,156,92,196,210,48,0,12,3,9,192,197,162,5,92,196,210,48,0,12,3,9,192,197,226,156,50,196,196,48,0,7,3,10,192,197,98,5,50,196,196,48,0,7,3,10,192,197,162,156,82,196,196,48,0,4,3,10,192,197,226,5,82,196,196,48,0,4,3,11,192,197,34,11,0,197,99,48,0,4,3,11,192,197,195,12,0,197,35,48,0,4,3,12,192,197,131,5,2,64,12,32,14,192,14,232,14,36,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,38,4,185,60,40,4,185,72,42,4,185,80,185,84,185,88,44,4,186,100,185,104,185,108,185,112,186,116,185,124,185,128,185,132,185,140,46,4,185,152,48,4,185,164,185,168,185,172,249,92,50,4,88,13,168,13,96,13,56,14,80,12,40,14,52,4,168,60,54,4,168,72,56,4,168,80,168,84,168,88,58,4,168,100,168,104,168,108,168,112,168,116,168,124,168,128,168,132,168,140,60,4,168,152,62,4,168,164,168,168,168,172,232,92,64,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,66,4,186,77,154,77,250,77,90,78,186,93,154,93,250,93,90,94,217,72,154,118,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,161,153,161,249,161,89,162,2,8,185,184,4,8,168,57,136,57,232,57,136,58,72,58,40,58,6,8,68,4,168,77,136,77,232,77,72,78,168,93,136,93,232,93,72,94,200,72,136,118,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,161,136,161,232,161,72,162,8,8,168,184,10,8,25,59,8,59,217,57,200,57,217,56,200,56,153,65,136,65,249,65,232,65,185,66,168,66,185,68,168,68,25,74,8,74,57,75,40,75,26,79,8,79,218,77,200,77,249,76,232,76,217,76,200,76,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,89,232,89,57,91,40,91,154,94,136,94,26,95,8,95,218,93,200,93,217,92,200,92,186,94,168,96,12,8,14,8,250,101,232,101,249,106,232,106,168,136,153,109,136,109,249,110,232,110,25,110,8,110,89,111,72,111,57,111,40,111,154,117,136,117,250,118,232,118,26,118,8,118,16,8,185,120,168,120,25,127,8,127,217,125,200,125,121,126,104,126,18,8,20,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,70,4,72,4,185,148,168,148,249,154,232,154,25,154,8,154,185,156,168,156,153,162,136,162,249,160,232,160,217,161,200,161,57,162,40,162,121,162,104,162,217,160,200,160,249,169,232,169,22,8,24,8,26,8,153,177,136,177,185,178,168,178,185,180,168,180,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,28,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,30,8,1,0,8,14,32,8,1,0,16,14,0,13,8,13,24,14,34,8,200,12,72,12,32,14,249,56,187,76,249,92,136,1,200,144,169,144,232,56,169,76,232,92,136,1,232,92,72,2,187,92,187,100,169,92,169,100,169,188,169,116,217,124,187,76,200,124,169,76,249,92,232,1,232,92,232,1,249,92,72,2,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,64,255,5,186,76,255,5,186,92,255,5,186,144,255,5,185,160,255,5,185,176,255,5,168,56,255,5,168,64,255,5,168,76,255,5,168,92,255,5,168,144,255,5,168,160,255,5,168,176,255,5,249,66,255,5,232,66,255,5,250,146,255,5,232,146,255,1,170,170,3,0,69,0,52,0,61,0,75,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,243,9,0,32,1,0,32,0,248,9,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,48,9,0,32,7,0,0,0,21,0,0,0,50,9,0,0,50,9,0,0,3,0,0,0,0,0,0,0,101,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,153,220,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,68,0,60,0,13,1,60,0,60,0,60,0,12,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,72,0,60,0,35,1,60,0,60,0,60,0,34,1,38,0,73,0,60,0,60,0,121,0,60,0,60,0,60,0,89,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,76,0,60,0,55,1,60,0,60,0,60,0,54,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,77,0,60,0,60,1,60,0,60,0,60,0,59,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,79,0,60,0,70,1,60,0,60,0,60,0,69,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,83,0,60,0,87,1,60,0,60,0,60,0,86,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,84,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,183,1,60,0,126,1,60,0,60,0,60,0,125,1,0,0,170,170,170,170,170,170,170,170,170,170,2,35,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,20,28,0,0,20,28,0,0,20,28,0,0,20,28,0,0,96,29,0,0,96,29,0,0,194,30,0,0,194,30,0,0,234,34,0,0,50,105,114,84,1,0,64,8,180,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,48,0,56,0,48,0,56,0,112,0,120,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,144,0,149,0,48,0,48,0,156,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,163,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,136,0,48,0,48,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,0,192,0,192,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,9,0,202,65,9,0,202,98,9,0,202,131,9,0,202,164,9,0,202,197,9,0,202,230,9,0,202,7,10,0,202,40,10,0,202,73,10,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,198,0,0,156,5,0,56,156,5,0,58,156,5,0,60,201,134,1,0,201,70,2,0,156,5,0,66,201,38,3,0,156,5,0,70,156,5,0,72,160,5,0,74,201,6,4,0,201,230,4,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,134,70,0,58,201,198,5,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,166,6,0,5,5,0,48,5,5,0,50,5,5,0,52,201,102,7,0,5,5,0,56,5,5,0,58,5,5,0,60,201,38,8,0,201,230,8,0,5,5,0,66,201,198,9,0,5,5,0,70,5,5,0,72,5,5,0,74,201,166,10,0,201,134,11,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,70,0,58,201,102,12,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,8,0,201,70,13,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,197,98,0,0,160,5,38,93,197,162,8,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,8,0,201,230,13,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,197,226,0,0,5,5,38,93,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,47,5,5,21,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,27,55,5,5,27,55,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,63,5,5,21,63,192,0,0,0,192,0,0,0,192,0,0,0,134,5,45,65,5,5,45,65,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,33,69,5,5,33,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,63,77,5,5,63,77,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,14,0,201,102,15,0,134,5,35,79,5,5,35,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,1,0,197,34,2,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,25,93,5,5,25,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,16,0,201,230,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,3,0,197,98,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,17,0,201,102,18,0,192,0,0,0,192,0,0,0,197,34,4,0,197,98,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,197,226,4,0,192,0,0,0,192,0,0,0,201,38,19,0,201,230,19,0,201,166,20,0,201,102,21,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,197,98,7,0,197,162,7,0,197,226,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,21,47,5,160,0,0,134,70,0,58,5,136,0,0,5,5,21,47,5,160,0,0,5,70,0,58,5,136,0,0,5,70,0,58,5,150,0,0,134,5,35,79,5,160,0,0,5,5,35,79,5,160,0,0,134,70,0,58,5,142,0,0,5,70,0,58,5,142,0,0,134,70,0,58,5,150,0,0,134,5,35,79,5,202,0,0,5,5,35,79,5,202,0,0,134,70,0,58,5,164,0,0,5,70,0,58,5,164,0,0,134,5,35,79,5,196,0,0,5,5,35,79,5,196,0,0,134,5,35,79,5,156,0,0,5,5,35,79,5,156,0,0,134,70,0,58,5,156,0,0,5,70,0,58,5,156,0,0,134,5,25,93,5,196,0,0,5,5,25,93,5,196,0,0,134,5,25,93,5,210,0,0,5,5,25,93,5,210,0,0,5,70,0,58,5,146,0,0,134,70,0,58,5,138,0,0,5,70,0,58,5,138,0,0,134,70,0,58,5,196,0,0,5,70,0,58,5,196,0,0,134,70,0,58,5,182,0,0,5,70,0,58,5,182,0,0,134,70,0,58,5,154,0,0,5,70,0,58,5,154,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,12,3,21,239,134,5,0,54,156,5,48,0,39,3,27,247,134,5,0,62,156,5,48,0,39,3,21,255,134,5,0,64,156,5,48,0,39,3,255,255,45,65,134,5,0,68,156,5,48,0,39,3,255,255,33,69,134,5,0,76,156,5,48,0,39,3,255,255,63,77,134,5,0,78,156,5,48,0,12,3,255,255,35,79,134,5,0,92,156,5,48,0,12,3,255,255,25,93,134,5,0,46,5,5,48,0,12,3,21,239,5,5,0,54,5,5,48,0,39,3,27,247,5,5,0,62,5,5,48,0,39,3,21,255,5,5,0,64,5,5,48,0,39,3,255,255,45,65,5,5,0,68,5,5,48,0,39,3,255,255,33,69,5,5,0,76,5,5,48,0,39,3,255,255,63,77,5,5,0,78,5,5,48,0,12,3,255,255,35,79,5,5,0,92,5,5,48,0,12,3,255,255,25,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,162,156,78,196,160,48,0,12,3,1,192,197,98,5,78,196,160,48,0,12,3,1,192,197,162,156,78,196,202,48,0,12,3,2,192,197,162,5,78,196,202,48,0,12,3,2,192,197,226,156,78,196,196,48,0,12,3,3,192,197,162,5,78,196,196,48,0,12,3,3,192,197,226,156,92,196,196,48,0,12,3,5,192,197,34,5,92,196,196,48,0,12,3,5,192,197,98,156,92,196,210,48,0,12,3,5,192,197,162,5,92,196,210,48,0,12,3,5,192,197,226,5,2,64,12,32,14,192,14,232,14,36,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,38,4,185,72,186,76,185,80,40,4,185,92,186,96,186,104,42,4,44,4,185,124,46,4,185,140,185,144,185,148,48,4,50,4,185,172,185,180,185,184,185,188,185,192,217,96,52,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,54,4,168,72,168,76,168,80,56,4,168,92,168,96,168,104,58,4,60,4,168,124,62,4,168,140,168,144,168,148,64,4,66,4,168,172,168,180,168,184,168,188,168,192,200,96,68,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,70,4,186,77,154,77,250,77,90,78,186,97,154,97,250,97,90,98,217,72,154,130,185,141,153,141,249,141,153,142,89,142,136,14,217,142,185,181,153,181,249,181,89,182,2,8,185,204,4,8,168,57,136,57,232,57,136,58,72,58,40,58,6,8,72,4,168,77,136,77,232,77,72,78,168,97,136,97,232,97,72,98,200,72,136,130,168,141,136,141,232,141,136,142,72,142,128,14,200,142,168,181,136,181,232,181,72,182,8,8,168,204,10,8,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,185,68,168,68,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,185,88,168,88,249,93,232,93,89,95,72,95,154,98,136,98,58,99,40,99,218,97,200,97,26,99,8,99,186,98,168,100,12,8,14,8,250,105,232,105,185,112,168,112,168,152,153,117,136,117,185,120,168,120,25,118,8,118,121,119,104,119,89,119,72,119,154,129,136,129,185,136,168,136,26,130,8,130,16,8,185,132,168,132,57,143,40,143,217,141,200,141,121,142,104,142,18,8,20,8,153,157,136,157,185,160,168,160,25,158,8,158,154,165,136,165,250,165,232,165,74,4,76,4,185,168,168,168,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,22,8,24,8,26,8,153,197,136,197,185,198,168,198,185,200,168,200,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,28,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,30,8,1,0,8,14,32,8,1,0,16,14,0,13,8,13,24,14,34,8,200,12,72,12,32,14,217,56,187,76,217,96,136,1,200,164,169,164,200,56,169,76,200,96,136,1,200,96,72,2,187,96,187,104,169,96,169,104,169,208,169,128,217,140,187,76,200,140,169,76,217,96,232,1,200,96,232,1,217,96,72,2,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,84,255,5,185,108,255,5,185,116,255,5,186,128,255,5,185,156,255,5,186,164,255,5,185,196,255,5,168,64,255,5,168,84,255,5,168,108,255,5,168,116,255,5,168,128,255,5,168,156,255,5,168,164,255,5,168,196,255,5,249,66,255,5,232,66,255,5,250,166,255,5,232,166,255,1,170,170,3,0,69,0,52,0,61,0,103,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,41,9,0,32,1,0,32,0,46,9,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,7,0,32,7,0,0,0,21,0,0,0,6,7,0,0,6,7,0,0,3,0,0,0,0,0,0,0,53,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,57,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,91,0,115,0,117,0,112,0,112,0,114,0,101,0,115,0,115,0,67,0,111,0,110,0,116,0,114,0,97,0,99,0,116,0,105,0,111,0,110,0,115,0,32,0,91,0,24,4,56,4,93,0,93,0,38,0,3,5,60,0,83,4,60,0,60,0,60,0,3,4,38,0,91,4,60,0,92,4,60,0,60,0,60,0,12,4,0,0,170,170,170,170,170,170,170,170,170,170,20,27,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,80,26,0,0,80,26,0,0,80,26,0,0,80,26,0,0,164,26,0,0,164,26,0,0,252,26,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,136,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,95,0,103,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,119,0,48,0,48,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,124,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,134,5,37,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,171,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,174,5,70,97,197,34,0,0,201,102,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,97,197,98,0,0,201,38,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,174,5,70,97,5,140,0,0,5,5,70,97,5,140,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,16,97,174,5,1,0,1,3,255,255,37,97,134,5,65,3,255,255,37,97,134,5,84,97,174,5,1,0,1,3,255,255,171,97,134,5,65,3,255,255,171,97,134,5,16,97,5,5,1,0,1,3,255,255,37,97,5,5,65,3,255,255,37,97,5,5,84,97,5,5,1,0,1,3,255,255,171,97,5,5,65,3,255,255,171,97,5,5,3,0,69,0,52,0,61,0,55,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,253,6,0,32,1,0,32,0,2,7,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,104,7,0,32,7,0,0,0,21,0,0,0,106,7,0,0,106,7,0,0,3,0,0,0,0,0,0,0,107,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,165,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,77,0,108,0,121,0,109,0,32,0,76,0,97,0,116,0,110,0,32,0,68,0,101,0,118,0,97,0,32,0,65,0,114,0,97,0,98,0,32,0,84,0,97,0,109,0,108,0,32,0,75,0,110,0,100,0,97,0,32,0,84,0,101,0,108,0,117,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,3,13,60,0,60,0,61,13,38,0,76,13,60,0,60,0,87,13,38,0,21,13,77,13,60,0,60,0,21,13,77,13,13,32,60,0,60,0,60,0,127,13,38,0,35,13,77,13,60,0,60,0,35,13,77,13,13,32,60,0,60,0,60,0,122,13,38,0,40,13,77,13,60,0,60,0,40,13,77,13,13,32,60,0,60,0,60,0,123,13,38,0,48,13,77,13,60,0,60,0,48,13,77,13,13,32,60,0,60,0,60,0,124,13,38,0,50,13,77,13,60,0,60,0,50,13,77,13,13,32,60,0,60,0,60,0,125,13,38,0,51,13,77,13,60,0,60,0,51,13,77,13,13,32,60,0,60,0,60,0,126,13,38,0,46,13,77,13,60,0,60,0,2,13,38,0,40,13,77,13,60,0,60,0,60,0,123,13,77,13,0,0,170,170,210,27,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,160,0,0,0,160,1,0,0,160,26,0,0,160,26,0,0,160,26,0,0,160,26,0,0,84,27,0,0,84,27,0,0,180,27,0,0,186,27,0,0,26,0,0,0,25,0,0,0,10,0,0,0,2,0,0,0,35,0,0,0,21,0,0,0,36,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,33,0,0,0,0,0,0,41,255,255,0,96,7,0,0,102,248,255,0,103,6,0,0,104,245,255,0,105,249,255,0,109,242,255,0,110,243,255,0,111,241,255,0,112,183,255,0,113,245,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,103,104,105,106,107,108,94,109,93,98,99,100,101,95,97,96,39,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,135,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,112,0,118,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,4,0,202,129,4,0,202,162,4,0,202,195,4,0,202,228,4,0,202,5,5,0,202,38,5,0,202,71,5,0,202,104,5,0,202,137,5,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,3,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,3,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,4,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,226,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,194,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,162,2,0,192,0,0,0,201,130,3,0,201,98,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,21,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,148,112,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,1,0,201,70,5,0,197,162,2,0,197,226,2,0,197,34,3,0,197,98,3,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,90,112,5,70,152,112,5,5,40,112,5,76,152,112,5,5,68,112,5,75,152,112,5,5,78,112,5,74,152,112,5,5,94,112,5,73,152,112,5,5,96,112,5,72,152,112,5,5,108,112,5,71,152,112,5,5,68,112,6,75,152,112,5,5,78,112,6,74,152,112,5,5,78,112,6,5,152,112,5,5,94,112,6,73,152,112,5,5,96,112,6,72,152,112,5,5,108,112,6,71,152,112,5,5,40,112,6,76,152,112,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,40,112,5,5,49,0,77,13,13,32,0,192,197,98,68,112,5,5,49,0,77,13,13,32,0,192,197,162,78,112,5,5,49,0,77,13,13,32,0,192,197,226,94,112,5,5,49,0,77,13,13,32,1,192,197,34,96,112,5,5,49,0,77,13,13,32,1,192,197,98,108,112,5,5,49,0,77,13,13,32,1,192,197,162,2,0,197,34,48,0,77,13,2,192,197,98,2,0,13,32,14,32,170,170,3,0,69,0,52,0,61,0,107,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,97,7,0,32,1,0,32,0,102,7,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,127,0,0,32,7,0,0,0,21,0,0,0,129,0,0,0,129,0,0,0,3,0,0,0,0,0,0,0,33,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,32,0,77,0,111,0,110,0,103,0,93,0,0,0,170,170,170,170,170,170,170,170,80,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,56,0,0,0,56,1,0,0,8,0,0,0,27,0,0,0,0,0,0,97,198,255,0,98,0,0,52,118,178,255,56,118,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,0,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,35,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,120,0,0,32,1,0,32,0,125,0,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,10,0,0,0,14,0,0,0,14,0,0,0,1,0,0,0,0,0,0,0,14,0,0,0,37,37,65,76,73,65,83,0,0,0,114,0,111,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,223,6,0,32,7,0,0,0,21,0,0,0,225,6,0,0,225,6,0,0,3,0,0,0,0,0,0,0,73,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,98,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,80,9,60,0,2,9,60,0,60,0,1,9,60,0,3,9,38,0,57,9,60,0,51,9,60,0,21,9,77,9,55,9,60,0,28,9,77,9,30,9,0,0,170,170,170,170,170,170,170,170,46,26,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,120,0,0,0,120,1,0,0,152,25,0,0,152,25,0,0,160,25,0,0,160,25,0,0,236,25,0,0,236,25,0,0,12,26,0,0,22,26,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,39,40,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,193,2,7,104,193,3,7,104,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,143,104,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,2,7,104,0,0,0,0,193,2,143,104,194,5,175,240,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,62,104,5,5,49,0,77,9,55,9,255,255,143,104,193,3,78,104,5,5,49,0,77,9,30,9,255,255,143,104,193,4,4,0,30,9,31,9,55,9,56,9,170,170,3,0,69,0,52,0,61,0,75,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,216,6,0,32,1,0,32,0,221,6,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,7,8,0,32,7,0,0,0,21,0,0,0,9,8,0,0,9,8,0,0,3,0,0,0,0,0,0,0,86,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,123,220,91,0,99,0,97,0,115,0,101,0,70,0,105,0,114,0,115,0,116,0,32,0,117,0,112,0,112,0,101,0,114,0,93,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,99,0,60,0,11,1,60,0,60,0,60,0,10,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,103,0,60,0,103,0,7,3,60,0,60,0,60,0,71,0,7,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,104,0,60,0,103,0,39,1,60,0,60,0,60,0,103,0,38,1,60,0,60,0,60,0,71,0,39,1,60,0,60,0,60,0,71,0,38,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,105,0,60,0,39,1,60,0,60,0,60,0,38,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,122,0,60,0,122,0,7,3,60,0,60,0,60,0,90,0,7,3,0,0,170,170,170,170,170,170,160,30,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,35,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,68,25,0,0,68,25,0,0,68,25,0,0,68,25,0,0,200,25,0,0,200,25,0,0,138,26,0,0,144,26,0,0,136,30,0,0,50,105,114,84,1,0,64,8,135,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,90,0,98,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,118,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,114,0,48,0,48,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,104,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,2,0,202,1,3,0,202,34,3,0,202,67,3,0,202,100,3,0,202,133,3,0,202,166,3,0,202,199,3,0,202,232,3,0,202,9,4,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,196,0,0,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,70,2,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,38,3,0,5,5,0,48,5,5,0,50,5,5,0,52,201,228,3,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,102,5,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,2,0,201,70,6,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,2,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,2,0,201,230,6,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,25,45,5,5,25,45,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,53,5,5,21,53,201,166,7,0,201,102,8,0,192,0,0,0,192,0,0,0,134,5,27,57,5,5,27,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,17,91,5,5,17,91,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,9,0,201,230,9,0,201,166,10,0,201,102,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,25,45,5,160,0,0,5,5,25,45,5,160,0,0,134,5,21,53,5,160,0,0,5,5,21,53,5,160,0,0,134,5,17,91,5,196,0,0,5,5,17,91,5,196,0,0,134,5,17,91,5,210,0,0,5,5,17,91,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,7,3,25,237,134,5,0,54,156,5,2,0,38,1,27,247,136,5,39,1,27,247,71,5,7,3,21,245,134,5,0,92,156,5,48,0,7,3,255,255,17,91,134,5,0,46,5,5,48,0,7,3,25,237,5,5,0,54,5,5,2,0,38,1,27,247,70,5,39,1,27,247,5,5,7,3,21,245,5,5,0,92,5,5,48,0,7,3,255,255,17,91,5,5,156,46,196,160,48,0,7,3,197,162,5,46,196,160,48,0,7,3,0,192,197,98,156,54,196,160,48,0,7,3,0,192,197,162,5,54,196,160,48,0,7,3,0,192,197,226,156,92,196,196,48,0,7,3,1,192,197,34,5,92,196,196,48,0,7,3,1,192,197,98,156,92,196,210,48,0,7,3,1,192,197,162,5,92,196,210,48,0,7,3,1,192,197,226,2,0,38,1,40,1,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,28,4,185,96,186,104,186,112,185,116,185,120,185,124,186,128,185,136,185,140,185,144,185,152,186,156,185,160,185,168,185,172,185,176,185,180,185,184,34,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,36,4,168,72,168,76,168,80,38,4,168,96,168,104,168,112,168,116,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,168,168,172,168,176,168,180,168,184,44,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,46,4,186,77,154,77,250,77,90,78,186,105,154,105,250,105,90,106,217,72,154,130,185,137,153,137,249,137,153,138,89,138,136,14,217,138,185,169,153,169,249,169,89,170,153,185,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,48,4,168,77,136,77,232,77,72,78,168,105,136,105,232,105,72,106,200,72,136,130,168,137,136,137,232,137,136,138,72,138,128,14,200,138,168,169,136,169,232,169,72,170,136,185,168,196,72,186,57,59,40,59,217,57,200,57,25,59,8,59,153,69,136,69,249,69,232,69,185,64,168,64,25,70,8,70,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,89,232,89,217,89,200,89,185,84,168,84,50,4,52,4,249,97,232,97,185,100,168,100,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,148,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,129,136,129,250,130,232,130,26,130,8,130,10,8,185,132,168,132,57,139,40,139,217,137,200,137,121,138,104,138,12,8,14,8,153,153,136,153,249,154,232,154,25,154,8,154,154,157,136,157,250,157,232,157,250,158,232,158,26,158,8,158,249,162,232,162,25,162,8,162,185,164,168,164,153,170,136,170,57,171,40,171,217,169,200,169,57,170,40,170,121,170,104,170,25,171,8,171,249,177,232,177,249,185,232,185,89,186,153,193,136,193,185,188,168,188,25,194,8,194,232,156,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,156,169,156,200,56,169,76,187,104,187,112,169,104,169,112,169,200,169,128,217,136,187,76,200,136,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,68,255,5,185,88,38,5,187,92,39,5,178,92,255,5,185,192,255,5,168,68,255,5,168,88,38,5,177,92,39,5,168,92,255,5,168,192,255,5,249,70,255,5,232,70,255,5,249,90,255,5,232,90,255,1,3,0,69,0,52,0,61,0,87,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,0,8,0,32,1,0,32,0,5,8,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,84,38,0,32,7,0,0,0,21,0,0,0,86,38,0,0,86,38,0,0,3,0,0,0,0,0,0,0,52,13,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,239,223,55,26,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,77,0,121,0,109,0,114,0,93,0,38,0,140,16,60,0,55,16,60,0,56,16,60,0,55,16,56,16,38,0,44,16,60,0,60,0,43,16,38,0,50,16,60,0,49,16,44,16,60,0,60,0,49,16,43,16,60,0,49,16,44,16,58,16,60,0,60,0,49,16,43,16,58,16,38,0,52,16,60,0,54,16,60,0,45,16,47,16,60,0,0,16,57,16,60,0,60,0,0,16,58,16,60,0,44,16,0,16,57,16,60,0,60,0,44,16,0,16,58,16,60,0,60,0,43,16,0,16,57,16,60,0,60,0,43,16,0,16,58,16,60,0,45,16,0,16,57,16,60,0,60,0,45,16,0,16,58,16,60,0,47,16,0,16,57,16,60,0,60,0,47,16,0,16,58,16,60,0,49,16,0,16,57,16,60,0,60,0,49,16,0,16,58,16,60,0,49,16,44,16,0,16,57,16,60,0,60,0,49,16,44,16,0,16,58,16,60,0,60,0,49,16,43,16,0,16,57,16,60,0,60,0,49,16,43,16,0,16,58,16,60,0,45,16,47,16,0,16,57,16,60,0,60,0,45,16,47,16,0,16,58,16,60,0,1,16,57,16,60,0,60,0,1,16,58,16,60,0,44,16,1,16,57,16,60,0,60,0,44,16,1,16,58,16,60,0,60,0,43,16,1,16,57,16,60,0,60,0,43,16,1,16,58,16,60,0,45,16,1,16,57,16,60,0,60,0,45,16,1,16,58,16,60,0,47,16,1,16,57,16,60,0,60,0,47,16,1,16,58,16,60,0,49,16,1,16,57,16,60,0,60,0,49,16,1,16,58,16,60,0,49,16,44,16,1,16,57,16,60,0,60,0,49,16,44,16,1,16,58,16,60,0,60,0,49,16,43,16,1,16,57,16,60,0,60,0,49,16,43,16,1,16,58,16,60,0,45,16,47,16,1,16,57,16,60,0,60,0,45,16,47,16,1,16,58,16,60,0,2,16,57,16,60,0,60,0,2,16,58,16,60,0,44,16,2,16,57,16,60,0,60,0,44,16,2,16,58,16,60,0,60,0,43,16,2,16,57,16,60,0,60,0,43,16,2,16,58,16,60,0,45,16,2,16,57,16,60,0,60,0,45,16,2,16,58,16,60,0,47,16,2,16,57,16,60,0,60,0,47,16,2,16,58,16,60,0,49,16,2,16,57,16,60,0,60,0,49,16,2,16,58,16,60,0,49,16,44,16,2,16,57,16,60,0,60,0,49,16,44,16,2,16,58,16,60,0,60,0,49,16,43,16,2,16,57,16,60,0,60,0,49,16,43,16,2,16,58,16,60,0,45,16,47,16,2,16,57,16,60,0,60,0,45,16,47,16,2,16,58,16,60,0,3,16,57,16,60,0,60,0,3,16,58,16,60,0,44,16,3,16,57,16,60,0,60,0,44,16,3,16,58,16,60,0,60,0,43,16,3,16,57,16,60,0,60,0,43,16,3,16,58,16,60,0,45,16,3,16,57,16,60,0,60,0,45,16,3,16,58,16,60,0,47,16,3,16,57,16,60,0,60,0,47,16,3,16,58,16,60,0,49,16,3,16,57,16,60,0,60,0,49,16,3,16,58,16,60,0,49,16,44,16,3,16,57,16,60,0,60,0,49,16,44,16,3,16,58,16,60,0,60,0,49,16,43,16,3,16,57,16,60,0,60,0,49,16,43,16,3,16,58,16,60,0,45,16,47,16,3,16,57,16,60,0,60,0,45,16,47,16,3,16,58,16,60,0,4,16,58,16,57,16,60,0,60,0,4,16,58,16,60,0,44,16,4,16,58,16,57,16,60,0,60,0,44,16,4,16,58,16,60,0,60,0,43,16,4,16,58,16,57,16,60,0,60,0,43,16,4,16,58,16,60,0,45,16,4,16,58,16,57,16,60,0,60,0,45,16,4,16,58,16,60,0,47,16,4,16,58,16,57,16,60,0,60,0,47,16,4,16,58,16,60,0,49,16,4,16,58,16,57,16,60,0,60,0,49,16,4,16,58,16,60,0,49,16,44,16,4,16,58,16,57,16,60,0,60,0,49,16,44,16,4,16,58,16,60,0,60,0,49,16,43,16,4,16,58,16,57,16,60,0,60,0,49,16,43,16,4,16,58,16,60,0,45,16,47,16,4,16,58,16,57,16,60,0,60,0,45,16,47,16,4,16,58,16,60,0,5,16,57,16,60,0,60,0,5,16,58,16,60,0,44,16,5,16,57,16,60,0,60,0,44,16,5,16,58,16,60,0,60,0,43,16,5,16,57,16,60,0,60,0,43,16,5,16,58,16,60,0,45,16,5,16,57,16,60,0,60,0,45,16,5,16,58,16,60,0,47,16,5,16,57,16,60,0,60,0,47,16,5,16,58,16,60,0,49,16,5,16,57,16,60,0,60,0,49,16,5,16,58,16,60,0,49,16,44,16,5,16,57,16,60,0,60,0,49,16,44,16,5,16,58,16,60,0,60,0,49,16,43,16,5,16,57,16,60,0,60,0,49,16,43,16,5,16,58,16,60,0,45,16,47,16,5,16,57,16,60,0,60,0,45,16,47,16,5,16,58,16,60,0,6,16,57,16,60,0,60,0,6,16,58,16,60,0,44,16,6,16,57,16,60,0,60,0,44,16,6,16,58,16,60,0,60,0,43,16,6,16,57,16,60,0,60,0,43,16,6,16,58,16,60,0,45,16,6,16,57,16,60,0,60,0,45,16,6,16,58,16,60,0,47,16,6,16,57,16,60,0,60,0,47,16,6,16,58,16,60,0,49,16,6,16,57,16,60,0,60,0,49,16,6,16,58,16,60,0,49,16,44,16,6,16,57,16,60,0,60,0,49,16,44,16,6,16,58,16,60,0,60,0,49,16,43,16,6,16,57,16,60,0,60,0,49,16,43,16,6,16,58,16,60,0,45,16,47,16,6,16,57,16,60,0,60,0,45,16,47,16,6,16,58,16,60,0,7,16,57,16,60,0,60,0,7,16,58,16,60,0,44,16,7,16,57,16,60,0,60,0,44,16,7,16,58,16,60,0,60,0,43,16,7,16,57,16,60,0,60,0,43,16,7,16,58,16,60,0,45,16,7,16,57,16,60,0,60,0,45,16,7,16,58,16,60,0,47,16,7,16,57,16,60,0,60,0,47,16,7,16,58,16,60,0,49,16,7,16,57,16,60,0,60,0,49,16,7,16,58,16,60,0,49,16,44,16,7,16,57,16,60,0,60,0,49,16,44,16,7,16,58,16,60,0,60,0,49,16,43,16,7,16,57,16,60,0,60,0,49,16,43,16,7,16,58,16,60,0,45,16,47,16,7,16,57,16,60,0,60,0,45,16,47,16,7,16,58,16,60,0,8,16,58,16,60,0,44,16,8,16,58,16,60,0,60,0,43,16,8,16,58,16,60,0,45,16,8,16,58,16,60,0,47,16,8,16,58,16,60,0,49,16,8,16,58,16,60,0,49,16,44,16,8,16,58,16,60,0,60,0,49,16,43,16,8,16,58,16,60,0,45,16,47,16,8,16,58,16,60,0,9,16,57,16,60,0,60,0,9,16,58,16,60,0,44,16,9,16,57,16,60,0,60,0,44,16,9,16,58,16,60,0,60,0,43,16,9,16,57,16,60,0,60,0,43,16,9,16,58,16,60,0,45,16,9,16,57,16,60,0,60,0,45,16,9,16,58,16,60,0,47,16,9,16,57,16,60,0,60,0,47,16,9,16,58,16,60,0,49,16,9,16,57,16,60,0,60,0,49,16,9,16,58,16,60,0,49,16,44,16,9,16,57,16,60,0,60,0,49,16,44,16,9,16,58,16,60,0,60,0,49,16,43,16,9,16,57,16,60,0,60,0,49,16,43,16,9,16,58,16,60,0,45,16,47,16,9,16,57,16,60,0,60,0,45,16,47,16,9,16,58,16,60,0,10,16,57,16,60,0,60,0,10,16,58,16,60,0,44,16,10,16,57,16,60,0,60,0,44,16,10,16,58,16,60,0,60,0,43,16,10,16,57,16,60,0,60,0,43,16,10,16,58,16,60,0,45,16,10,16,57,16,60,0,60,0,45,16,10,16,58,16,60,0,47,16,10,16,57,16,60,0,60,0,47,16,10,16,58,16,60,0,49,16,10,16,57,16,60,0,60,0,49,16,10,16,58,16,60,0,49,16,44,16,10,16,57,16,60,0,60,0,49,16,44,16,10,16,58,16,60,0,60,0,49,16,43,16,10,16,57,16,60,0,60,0,49,16,43,16,10,16,58,16,60,0,45,16,47,16,10,16,57,16,60,0,60,0,45,16,47,16,10,16,58,16,60,0,11,16,57,16,60,0,60,0,11,16,58,16,60,0,44,16,11,16,57,16,60,0,60,0,44,16,11,16,58,16,60,0,60,0,43,16,11,16,57,16,60,0,60,0,43,16,11,16,58,16,60,0,45,16,11,16,57,16,60,0,60,0,45,16,11,16,58,16,60,0,47,16,11,16,57,16,60,0,60,0,47,16,11,16,58,16,60,0,49,16,11,16,57,16,60,0,60,0,49,16,11,16,58,16,60,0,49,16,44,16,11,16,57,16,60,0,60,0,49,16,44,16,11,16,58,16,60,0,60,0,49,16,43,16,11,16,57,16,60,0,60,0,49,16,43,16,11,16,58,16,60,0,45,16,47,16,11,16,57,16,60,0,60,0,45,16,47,16,11,16,58,16,60,0,12,16,57,16,60,0,60,0,12,16,58,16,60,0,44,16,12,16,57,16,60,0,60,0,44,16,12,16,58,16,60,0,60,0,43,16,12,16,57,16,60,0,60,0,43,16,12,16,58,16,60,0,45,16,12,16,57,16,60,0,60,0,45,16,12,16,58,16,60,0,47,16,12,16,57,16,60,0,60,0,47,16,12,16,58,16,60,0,49,16,12,16,57,16,60,0,60,0,49,16,12,16,58,16,60,0,49,16,44,16,12,16,57,16,60,0,60,0,49,16,44,16,12,16,58,16,60,0,60,0,49,16,43,16,12,16,57,16,60,0,60,0,49,16,43,16,12,16,58,16,60,0,45,16,47,16,12,16,57,16,60,0,60,0,45,16,47,16,12,16,58,16,60,0,13,16,57,16,60,0,60,0,13,16,58,16,60,0,44,16,13,16,57,16,60,0,60,0,44,16,13,16,58,16,60,0,60,0,43,16,13,16,57,16,60,0,60,0,43,16,13,16,58,16,60,0,45,16,13,16,57,16,60,0,60,0,45,16,13,16,58,16,60,0,47,16,13,16,57,16,60,0,60,0,47,16,13,16,58,16,60,0,49,16,13,16,57,16,60,0,60,0,49,16,13,16,58,16,60,0,49,16,44,16,13,16,57,16,60,0,60,0,49,16,44,16,13,16,58,16,60,0,60,0,49,16,43,16,13,16,57,16,60,0,60,0,49,16,43,16,13,16,58,16,60,0,45,16,47,16,13,16,57,16,60,0,60,0,45,16,47,16,13,16,58,16,60,0,14,16,57,16,60,0,60,0,14,16,58,16,60,0,44,16,14,16,57,16,60,0,60,0,44,16,14,16,58,16,60,0,60,0,43,16,14,16,57,16,60,0,60,0,43,16,14,16,58,16,60,0,45,16,14,16,57,16,60,0,60,0,45,16,14,16,58,16,60,0,47,16,14,16,57,16,60,0,60,0,47,16,14,16,58,16,60,0,49,16,14,16,57,16,60,0,60,0,49,16,14,16,58,16,60,0,49,16,44,16,14,16,57,16,60,0,60,0,49,16,44,16,14,16,58,16,60,0,60,0,49,16,43,16,14,16,57,16,60,0,60,0,49,16,43,16,14,16,58,16,60,0,45,16,47,16,14,16,57,16,60,0,60,0,45,16,47,16,14,16,58,16,60,0,15,16,57,16,60,0,60,0,15,16,58,16,60,0,44,16,15,16,57,16,60,0,60,0,44,16,15,16,58,16,60,0,60,0,43,16,15,16,57,16,60,0,60,0,43,16,15,16,58,16,60,0,45,16,15,16,57,16,60,0,60,0,45,16,15,16,58,16,60,0,47,16,15,16,57,16,60,0,60,0,47,16,15,16,58,16,60,0,49,16,15,16,57,16,60,0,60,0,49,16,15,16,58,16,60,0,49,16,44,16,15,16,57,16,60,0,60,0,49,16,44,16,15,16,58,16,60,0,60,0,49,16,43,16,15,16,57,16,60,0,60,0,49,16,43,16,15,16,58,16,60,0,45,16,47,16,15,16,57,16,60,0,60,0,45,16,47,16,15,16,58,16,60,0,16,16,57,16,60,0,60,0,16,16,58,16,60,0,44,16,16,16,57,16,60,0,60,0,44,16,16,16,58,16,60,0,60,0,43,16,16,16,57,16,60,0,60,0,43,16,16,16,58,16,60,0,45,16,16,16,57,16,60,0,60,0,45,16,16,16,58,16,60,0,47,16,16,16,57,16,60,0,60,0,47,16,16,16,58,16,60,0,49,16,16,16,57,16,60,0,60,0,49,16,16,16,58,16,60,0,49,16,44,16,16,16,57,16,60,0,60,0,49,16,44,16,16,16,58,16,60,0,60,0,49,16,43,16,16,16,57,16,60,0,60,0,49,16,43,16,16,16,58,16,60,0,45,16,47,16,16,16,57,16,60,0,60,0,45,16,47,16,16,16,58,16,60,0,17,16,57,16,60,0,60,0,17,16,58,16,60,0,44,16,17,16,57,16,60,0,60,0,44,16,17,16,58,16,60,0,60,0,43,16,17,16,57,16,60,0,60,0,43,16,17,16,58,16,60,0,45,16,17,16,57,16,60,0,60,0,45,16,17,16,58,16,60,0,47,16,17,16,57,16,60,0,60,0,47,16,17,16,58,16,60,0,49,16,17,16,57,16,60,0,60,0,49,16,17,16,58,16,60,0,49,16,44,16,17,16,57,16,60,0,60,0,49,16,44,16,17,16,58,16,60,0,60,0,49,16,43,16,17,16,57,16,60,0,60,0,49,16,43,16,17,16,58,16,60,0,45,16,47,16,17,16,57,16,60,0,60,0,45,16,47,16,17,16,58,16,60,0,18,16,57,16,60,0,60,0,18,16,58,16,60,0,44,16,18,16,57,16,60,0,60,0,44,16,18,16,58,16,60,0,60,0,43,16,18,16,57,16,60,0,60,0,43,16,18,16,58,16,60,0,45,16,18,16,57,16,60,0,60,0,45,16,18,16,58,16,60,0,47,16,18,16,57,16,60,0,60,0,47,16,18,16,58,16,60,0,49,16,18,16,57,16,60,0,60,0,49,16,18,16,58,16,60,0,49,16,44,16,18,16,57,16,60,0,60,0,49,16,44,16,18,16,58,16,60,0,60,0,49,16,43,16,18,16,57,16,60,0,60,0,49,16,43,16,18,16,58,16,60,0,45,16,47,16,18,16,57,16,60,0,60,0,45,16,47,16,18,16,58,16,60,0,19,16,57,16,60,0,60,0,19,16,58,16,60,0,44,16,19,16,57,16,60,0,60,0,44,16,19,16,58,16,60,0,60,0,43,16,19,16,57,16,60,0,60,0,43,16,19,16,58,16,60,0,45,16,19,16,57,16,60,0,60,0,45,16,19,16,58,16,60,0,47,16,19,16,57,16,60,0,60,0,47,16,19,16,58,16,60,0,49,16,19,16,57,16,60,0,60,0,49,16,19,16,58,16,60,0,49,16,44,16,19,16,57,16,60,0,60,0,49,16,44,16,19,16,58,16,60,0,60,0,49,16,43,16,19,16,57,16,60,0,60,0,49,16,43,16,19,16,58,16,60,0,45,16,47,16,19,16,57,16,60,0,60,0,45,16,47,16,19,16,58,16,60,0,20,16,57,16,60,0,60,0,20,16,58,16,60,0,44,16,20,16,57,16,60,0,60,0,44,16,20,16,58,16,60,0,60,0,43,16,20,16,57,16,60,0,60,0,43,16,20,16,58,16,60,0,45,16,20,16,57,16,60,0,60,0,45,16,20,16,58,16,60,0,47,16,20,16,57,16,60,0,60,0,47,16,20,16,58,16,60,0,49,16,20,16,57,16,60,0,60,0,49,16,20,16,58,16,60,0,49,16,44,16,20,16,57,16,60,0,60,0,49,16,44,16,20,16,58,16,60,0,60,0,49,16,43,16,20,16,57,16,60,0,60,0,49,16,43,16,20,16,58,16,60,0,45,16,47,16,20,16,57,16,60,0,60,0,45,16,47,16,20,16,58,16,60,0,21,16,57,16,60,0,60,0,21,16,58,16,60,0,44,16,21,16,57,16,60,0,60,0,44,16,21,16,58,16,60,0,60,0,43,16,21,16,57,16,60,0,60,0,43,16,21,16,58,16,60,0,45,16,21,16,57,16,60,0,60,0,45,16,21,16,58,16,60,0,47,16,21,16,57,16,60,0,60,0,47,16,21,16,58,16,60,0,49,16,21,16,57,16,60,0,60,0,49,16,21,16,58,16,60,0,49,16,44,16,21,16,57,16,60,0,60,0,49,16,44,16,21,16,58,16,60,0,60,0,49,16,43,16,21,16,57,16,60,0,60,0,49,16,43,16,21,16,58,16,60,0,45,16,47,16,21,16,57,16,60,0,60,0,45,16,47,16,21,16,58,16,60,0,22,16,57,16,60,0,60,0,22,16,58,16,60,0,44,16,22,16,57,16,60,0,60,0,44,16,22,16,58,16,60,0,60,0,43,16,22,16,57,16,60,0,60,0,43,16,22,16,58,16,60,0,45,16,22,16,57,16,60,0,60,0,45,16,22,16,58,16,60,0,47,16,22,16,57,16,60,0,60,0,47,16,22,16,58,16,60,0,49,16,22,16,57,16,60,0,60,0,49,16,22,16,58,16,60,0,49,16,44,16,22,16,57,16,60,0,60,0,49,16,44,16,22,16,58,16,60,0,60,0,49,16,43,16,22,16,57,16,60,0,60,0,49,16,43,16,22,16,58,16,60,0,45,16,47,16,22,16,57,16,60,0,60,0,45,16,47,16,22,16,58,16,60,0,23,16,57,16,60,0,60,0,23,16,58,16,60,0,44,16,23,16,57,16,60,0,60,0,44,16,23,16,58,16,60,0,60,0,43,16,23,16,57,16,60,0,60,0,43,16,23,16,58,16,60,0,45,16,23,16,57,16,60,0,60,0,45,16,23,16,58,16,60,0,47,16,23,16,57,16,60,0,60,0,47,16,23,16,58,16,60,0,49,16,23,16,57,16,60,0,60,0,49,16,23,16,58,16,60,0,49,16,44,16,23,16,57,16,60,0,60,0,49,16,44,16,23,16,58,16,60,0,60,0,49,16,43,16,23,16,57,16,60,0,60,0,49,16,43,16,23,16,58,16,60,0,45,16,47,16,23,16,57,16,60,0,60,0,45,16,47,16,23,16,58,16,60,0,24,16,57,16,60,0,60,0,24,16,58,16,60,0,44,16,24,16,57,16,60,0,60,0,44,16,24,16,58,16,60,0,60,0,43,16,24,16,57,16,60,0,60,0,43,16,24,16,58,16,60,0,45,16,24,16,57,16,60,0,60,0,45,16,24,16,58,16,60,0,47,16,24,16,57,16,60,0,60,0,47,16,24,16,58,16,60,0,49,16,24,16,57,16,60,0,60,0,49,16,24,16,58,16,60,0,49,16,44,16,24,16,57,16,60,0,60,0,49,16,44,16,24,16,58,16,60,0,60,0,49,16,43,16,24,16,57,16,60,0,60,0,49,16,43,16,24,16,58,16,60,0,45,16,47,16,24,16,57,16,60,0,60,0,45,16,47,16,24,16,58,16,60,0,25,16,57,16,60,0,60,0,25,16,58,16,60,0,44,16,25,16,57,16,60,0,60,0,44,16,25,16,58,16,60,0,60,0,43,16,25,16,57,16,60,0,60,0,43,16,25,16,58,16,60,0,45,16,25,16,57,16,60,0,60,0,45,16,25,16,58,16,60,0,47,16,25,16,57,16,60,0,60,0,47,16,25,16,58,16,60,0,49,16,25,16,57,16,60,0,60,0,49,16,25,16,58,16,60,0,49,16,44,16,25,16,57,16,60,0,60,0,49,16,44,16,25,16,58,16,60,0,60,0,49,16,43,16,25,16,57,16,60,0,60,0,49,16,43,16,25,16,58,16,60,0,45,16,47,16,25,16,57,16,60,0,60,0,45,16,47,16,25,16,58,16,60,0,26,16,57,16,60,0,60,0,26,16,58,16,60,0,44,16,26,16,57,16,60,0,60,0,44,16,26,16,58,16,60,0,60,0,43,16,26,16,57,16,60,0,60,0,43,16,26,16,58,16,60,0,45,16,26,16,57,16,60,0,60,0,45,16,26,16,58,16,60,0,47,16,26,16,57,16,60,0,60,0,47,16,26,16,58,16,60,0,49,16,26,16,57,16,60,0,60,0,49,16,26,16,58,16,60,0,49,16,44,16,26,16,57,16,60,0,60,0,49,16,44,16,26,16,58,16,60,0,60,0,49,16,43,16,26,16,57,16,60,0,60,0,49,16,43,16,26,16,58,16,60,0,45,16,47,16,26,16,57,16,60,0,60,0,45,16,47,16,26,16,58,16,60,0,27,16,57,16,60,0,60,0,27,16,58,16,60,0,44,16,27,16,57,16,60,0,60,0,44,16,27,16,58,16,60,0,60,0,43,16,27,16,57,16,60,0,60,0,43,16,27,16,58,16,60,0,45,16,27,16,57,16,60,0,60,0,45,16,27,16,58,16,60,0,47,16,27,16,57,16,60,0,60,0,47,16,27,16,58,16,60,0,49,16,27,16,57,16,60,0,60,0,49,16,27,16,58,16,60,0,49,16,44,16,27,16,57,16,60,0,60,0,49,16,44,16,27,16,58,16,60,0,60,0,49,16,43,16,27,16,57,16,60,0,60,0,49,16,43,16,27,16,58,16,60,0,45,16,47,16,27,16,57,16,60,0,60,0,45,16,47,16,27,16,58,16,60,0,28,16,57,16,60,0,60,0,28,16,58,16,60,0,44,16,28,16,57,16,60,0,60,0,44,16,28,16,58,16,60,0,60,0,43,16,28,16,57,16,60,0,60,0,43,16,28,16,58,16,60,0,45,16,28,16,57,16,60,0,60,0,45,16,28,16,58,16,60,0,47,16,28,16,57,16,60,0,60,0,47,16,28,16,58,16,60,0,49,16,28,16,57,16,60,0,60,0,49,16,28,16,58,16,60,0,49,16,44,16,28,16,57,16,60,0,60,0,49,16,44,16,28,16,58,16,60,0,60,0,49,16,43,16,28,16,57,16,60,0,60,0,49,16,43,16,28,16,58,16,60,0,45,16,47,16,28,16,57,16,60,0,60,0,45,16,47,16,28,16,58,16,60,0,29,16,58,16,60,0,44,16,29,16,58,16,60,0,60,0,43,16,29,16,58,16,60,0,45,16,29,16,58,16,60,0,47,16,29,16,58,16,60,0,49,16,29,16,58,16,60,0,49,16,44,16,29,16,58,16,60,0,60,0,49,16,43,16,29,16,58,16,60,0,45,16,47,16,29,16,58,16,60,0,30,16,57,16,60,0,60,0,30,16,58,16,60,0,44,16,30,16,57,16,60,0,60,0,44,16,30,16,58,16,60,0,60,0,43,16,30,16,57,16,60,0,60,0,43,16,30,16,58,16,60,0,45,16,30,16,57,16,60,0,60,0,45,16,30,16,58,16,60,0,47,16,30,16,57,16,60,0,60,0,47,16,30,16,58,16,60,0,49,16,30,16,57,16,60,0,60,0,49,16,30,16,58,16,60,0,49,16,44,16,30,16,57,16,60,0,60,0,49,16,44,16,30,16,58,16,60,0,60,0,49,16,43,16,30,16,57,16,60,0,60,0,49,16,43,16,30,16,58,16,60,0,45,16,47,16,30,16,57,16,60,0,60,0,45,16,47,16,30,16,58,16,60,0,31,16,57,16,60,0,60,0,31,16,58,16,60,0,44,16,31,16,57,16,60,0,60,0,44,16,31,16,58,16,60,0,60,0,43,16,31,16,57,16,60,0,60,0,43,16,31,16,58,16,60,0,45,16,31,16,57,16,60,0,60,0,45,16,31,16,58,16,60,0,47,16,31,16,57,16,60,0,60,0,47,16,31,16,58,16,60,0,49,16,31,16,57,16,60,0,60,0,49,16,31,16,58,16,60,0,49,16,44,16,31,16,57,16,60,0,60,0,49,16,44,16,31,16,58,16,60,0,60,0,49,16,43,16,31,16,57,16,60,0,60,0,49,16,43,16,31,16,58,16,60,0,45,16,47,16,31,16,57,16,60,0,60,0,45,16,47,16,31,16,58,16,60,0,32,16,58,16,60,0,44,16,32,16,58,16,60,0,60,0,43,16,32,16,58,16,60,0,45,16,32,16,58,16,60,0,47,16,32,16,58,16,60,0,49,16,32,16,58,16,60,0,49,16,44,16,32,16,58,16,60,0,60,0,49,16,43,16,32,16,58,16,60,0,45,16,47,16,32,16,58,16,60,0,33,16,58,16,60,0,44,16,33,16,58,16,60,0,60,0,43,16,33,16,58,16,60,0,45,16,33,16,58,16,60,0,47,16,33,16,58,16,60,0,49,16,33,16,58,16,60,0,49,16,44,16,33,16,58,16,60,0,60,0,49,16,43,16,33,16,58,16,60,0,45,16,47,16,33,16,58,16,60,0,94,16,60,0,95,16,60,0,59,16,60,0,60,16,60,0,96,16,60,0,61,16,60,0,130,16,60,0,62,16,60,0,59,16,61,16,60,0,60,16,61,16,60,0,59,16,62,16,60,0,60,16,62,16,60,0,61,16,62,16,60,0,59,16,61,16,62,16,60,0,60,16,61,16,62,16,38,0,33,16,45,16,60,0,60,0,60,0,35,16,38,0,33,16,46,16,60,0,60,0,60,0,36,16,38,0,33,16,47,16,60,0,60,0,60,0,37,16,38,0,33,16,48,16,60,0,60,0,60,0,38,16,38,0,33,16,49,16,60,0,60,0,60,0,39,16,60,0,60,0,60,0,40,16,38,0,33,16,49,16,44,16,60,0,60,0,60,0,41,16,38,0,33,16,49,16,44,16,58,16,60,0,60,0,60,0,42,16,38,0,45,16,25,16,58,16,60,0,45,16,54,16,60,0,45,16,25,16,58,16,55,16,60,0,45,16,54,16,55,16,60,0,45,16,25,16,58,16,56,16,60,0,45,16,54,16,56,16,38,0,47,16,25,16,58,16,60,0,47,16,54,16,60,0,47,16,25,16,58,16,55,16,60,0,47,16,54,16,55,16,60,0,47,16,25,16,58,16,56,16,60,0,47,16,54,16,56,16,38,0,33,16,47,16,54,16,60,0,60,0,60,0,37,16,47,16,54,16,38,0,33,16,45,16,0,16,57,16,60,0,60,0,60,0,35,16,0,16,57,16,38,0,33,16,45,16,0,16,58,16,60,0,60,0,60,0,35,16,0,16,58,16,38,0,33,16,47,16,0,16,57,16,60,0,60,0,60,0,37,16,0,16,57,16,38,0,33,16,47,16,0,16,58,16,60,0,60,0,60,0,37,16,0,16,58,16,38,0,33,16,49,16,0,16,57,16,60,0,60,0,60,0,39,16,0,16,57,16,38,0,33,16,49,16,0,16,58,16,60,0,60,0,60,0,39,16,0,16,58,16,38,0,33,16,49,16,44,16,0,16,57,16,60,0,60,0,60,0,41,16,0,16,57,16,38,0,33,16,49,16,44,16,0,16,58,16,60,0,60,0,60,0,41,16,0,16,58,16,38,0,33,16,49,16,44,16,0,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,0,16,57,16,38,0,33,16,49,16,44,16,0,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,0,16,58,16,38,0,33,16,45,16,1,16,57,16,60,0,60,0,60,0,35,16,1,16,57,16,38,0,33,16,45,16,1,16,58,16,60,0,60,0,60,0,35,16,1,16,58,16,38,0,33,16,47,16,1,16,57,16,60,0,60,0,60,0,37,16,1,16,57,16,38,0,33,16,47,16,1,16,58,16,60,0,60,0,60,0,37,16,1,16,58,16,38,0,33,16,49,16,1,16,57,16,60,0,60,0,60,0,39,16,1,16,57,16,38,0,33,16,49,16,1,16,58,16,60,0,60,0,60,0,39,16,1,16,58,16,38,0,33,16,49,16,44,16,1,16,57,16,60,0,60,0,60,0,41,16,1,16,57,16,38,0,33,16,49,16,44,16,1,16,58,16,60,0,60,0,60,0,41,16,1,16,58,16,38,0,33,16,49,16,44,16,1,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,1,16,57,16,38,0,33,16,49,16,44,16,1,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,1,16,58,16,38,0,33,16,45,16,2,16,57,16,60,0,60,0,60,0,35,16,2,16,57,16,38,0,33,16,45,16,2,16,58,16,60,0,60,0,60,0,35,16,2,16,58,16,38,0,33,16,47,16,2,16,57,16,60,0,60,0,60,0,37,16,2,16,57,16,38,0,33,16,47,16,2,16,58,16,60,0,60,0,60,0,37,16,2,16,58,16,38,0,33,16,49,16,2,16,57,16,60,0,60,0,60,0,39,16,2,16,57,16,38,0,33,16,49,16,2,16,58,16,60,0,60,0,60,0,39,16,2,16,58,16,38,0,33,16,49,16,44,16,2,16,57,16,60,0,60,0,60,0,41,16,2,16,57,16,38,0,33,16,49,16,44,16,2,16,58,16,60,0,60,0,60,0,41,16,2,16,58,16,38,0,33,16,49,16,44,16,2,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,2,16,57,16,38,0,33,16,49,16,44,16,2,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,2,16,58,16,38,0,33,16,45,16,3,16,57,16,60,0,60,0,60,0,35,16,3,16,57,16,38,0,33,16,45,16,3,16,58,16,60,0,60,0,60,0,35,16,3,16,58,16,38,0,33,16,47,16,3,16,57,16,60,0,60,0,60,0,37,16,3,16,57,16,38,0,33,16,47,16,3,16,58,16,60,0,60,0,60,0,37,16,3,16,58,16,38,0,33,16,49,16,3,16,57,16,60,0,60,0,60,0,39,16,3,16,57,16,38,0,33,16,49,16,3,16,58,16,60,0,60,0,60,0,39,16,3,16,58,16,38,0,33,16,49,16,44,16,3,16,57,16,60,0,60,0,60,0,41,16,3,16,57,16,38,0,33,16,49,16,44,16,3,16,58,16,60,0,60,0,60,0,41,16,3,16,58,16,38,0,33,16,49,16,44,16,3,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,3,16,57,16,38,0,33,16,49,16,44,16,3,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,3,16,58,16,38,0,33,16,45,16,4,16,57,16,60,0,60,0,60,0,35,16,4,16,57,16,38,0,33,16,45,16,4,16,58,16,60,0,60,0,60,0,35,16,4,16,58,16,38,0,33,16,47,16,4,16,57,16,60,0,60,0,60,0,37,16,4,16,57,16,38,0,33,16,47,16,4,16,58,16,60,0,60,0,60,0,37,16,4,16,58,16,38,0,33,16,49,16,4,16,57,16,60,0,60,0,60,0,39,16,4,16,57,16,38,0,33,16,49,16,4,16,58,16,60,0,60,0,60,0,39,16,4,16,58,16,38,0,33,16,49,16,44,16,4,16,57,16,60,0,60,0,60,0,41,16,4,16,57,16,38,0,33,16,49,16,44,16,4,16,58,16,60,0,60,0,60,0,41,16,4,16,58,16,38,0,33,16,49,16,44,16,4,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,4,16,57,16,38,0,33,16,49,16,44,16,4,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,4,16,58,16,38,0,33,16,45,16,5,16,57,16,60,0,60,0,60,0,35,16,5,16,57,16,38,0,33,16,45,16,5,16,58,16,60,0,60,0,60,0,35,16,5,16,58,16,38,0,33,16,47,16,5,16,57,16,60,0,60,0,60,0,37,16,5,16,57,16,38,0,33,16,47,16,5,16,58,16,60,0,60,0,60,0,37,16,5,16,58,16,38,0,33,16,49,16,5,16,57,16,60,0,60,0,60,0,39,16,5,16,57,16,38,0,33,16,49,16,5,16,58,16,60,0,60,0,60,0,39,16,5,16,58,16,38,0,33,16,49,16,44,16,5,16,57,16,60,0,60,0,60,0,41,16,5,16,57,16,38,0,33,16,49,16,44,16,5,16,58,16,60,0,60,0,60,0,41,16,5,16,58,16,38,0,33,16,49,16,44,16,5,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,5,16,57,16,38,0,33,16,49,16,44,16,5,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,5,16,58,16,38,0,33,16,45,16,6,16,57,16,60,0,60,0,60,0,35,16,6,16,57,16,38,0,33,16,45,16,6,16,58,16,60,0,60,0,60,0,35,16,6,16,58,16,38,0,33,16,47,16,6,16,57,16,60,0,60,0,60,0,37,16,6,16,57,16,38,0,33,16,47,16,6,16,58,16,60,0,60,0,60,0,37,16,6,16,58,16,38,0,33,16,49,16,6,16,57,16,60,0,60,0,60,0,39,16,6,16,57,16,38,0,33,16,49,16,6,16,58,16,60,0,60,0,60,0,39,16,6,16,58,16,38,0,33,16,49,16,44,16,6,16,57,16,60,0,60,0,60,0,41,16,6,16,57,16,38,0,33,16,49,16,44,16,6,16,58,16,60,0,60,0,60,0,41,16,6,16,58,16,38,0,33,16,49,16,44,16,6,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,6,16,57,16,38,0,33,16,49,16,44,16,6,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,6,16,58,16,38,0,33,16,45,16,7,16,57,16,60,0,60,0,60,0,35,16,7,16,57,16,38,0,33,16,45,16,7,16,58,16,60,0,60,0,60,0,35,16,7,16,58,16,38,0,33,16,47,16,7,16,57,16,60,0,60,0,60,0,37,16,7,16,57,16,38,0,33,16,47,16,7,16,58,16,60,0,60,0,60,0,37,16,7,16,58,16,38,0,33,16,49,16,7,16,57,16,60,0,60,0,60,0,39,16,7,16,57,16,38,0,33,16,49,16,7,16,58,16,60,0,60,0,60,0,39,16,7,16,58,16,38,0,33,16,49,16,44,16,7,16,57,16,60,0,60,0,60,0,41,16,7,16,57,16,38,0,33,16,49,16,44,16,7,16,58,16,60,0,60,0,60,0,41,16,7,16,58,16,38,0,33,16,49,16,44,16,7,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,7,16,57,16,38,0,33,16,49,16,44,16,7,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,7,16,58,16,38,0,33,16,45,16,9,16,57,16,60,0,60,0,60,0,35,16,9,16,57,16,38,0,33,16,45,16,9,16,58,16,60,0,60,0,60,0,35,16,9,16,58,16,38,0,33,16,47,16,9,16,57,16,60,0,60,0,60,0,37,16,9,16,57,16,38,0,33,16,47,16,9,16,58,16,60,0,60,0,60,0,37,16,9,16,58,16,38,0,33,16,49,16,9,16,57,16,60,0,60,0,60,0,39,16,9,16,57,16,38,0,33,16,49,16,9,16,58,16,60,0,60,0,60,0,39,16,9,16,58,16,38,0,33,16,49,16,44,16,9,16,57,16,60,0,60,0,60,0,41,16,9,16,57,16,38,0,33,16,49,16,44,16,9,16,58,16,60,0,60,0,60,0,41,16,9,16,58,16,38,0,33,16,49,16,44,16,9,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,9,16,57,16,38,0,33,16,49,16,44,16,9,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,9,16,58,16,38,0,33,16,45,16,10,16,57,16,60,0,60,0,60,0,35,16,10,16,57,16,38,0,33,16,45,16,10,16,58,16,60,0,60,0,60,0,35,16,10,16,58,16,38,0,33,16,47,16,10,16,57,16,60,0,60,0,60,0,37,16,10,16,57,16,38,0,33,16,47,16,10,16,58,16,60,0,60,0,60,0,37,16,10,16,58,16,38,0,33,16,49,16,10,16,57,16,60,0,60,0,60,0,39,16,10,16,57,16,38,0,33,16,49,16,10,16,58,16,60,0,60,0,60,0,39,16,10,16,58,16,38,0,33,16,49,16,44,16,10,16,57,16,60,0,60,0,60,0,41,16,10,16,57,16,38,0,33,16,49,16,44,16,10,16,58,16,60,0,60,0,60,0,41,16,10,16,58,16,38,0,33,16,49,16,44,16,10,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,10,16,57,16,38,0,33,16,49,16,44,16,10,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,10,16,58,16,38,0,33,16,45,16,11,16,57,16,60,0,60,0,60,0,35,16,11,16,57,16,38,0,33,16,45,16,11,16,58,16,60,0,60,0,60,0,35,16,11,16,58,16,38,0,33,16,47,16,11,16,57,16,60,0,60,0,60,0,37,16,11,16,57,16,38,0,33,16,47,16,11,16,58,16,60,0,60,0,60,0,37,16,11,16,58,16,38,0,33,16,49,16,11,16,57,16,60,0,60,0,60,0,39,16,11,16,57,16,38,0,33,16,49,16,11,16,58,16,60,0,60,0,60,0,39,16,11,16,58,16,38,0,33,16,49,16,44,16,11,16,57,16,60,0,60,0,60,0,41,16,11,16,57,16,38,0,33,16,49,16,44,16,11,16,58,16,60,0,60,0,60,0,41,16,11,16,58,16,38,0,33,16,49,16,44,16,11,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,11,16,57,16,38,0,33,16,49,16,44,16,11,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,11,16,58,16,38,0,33,16,45,16,12,16,57,16,60,0,60,0,60,0,35,16,12,16,57,16,38,0,33,16,45,16,12,16,58,16,60,0,60,0,60,0,35,16,12,16,58,16,38,0,33,16,47,16,12,16,57,16,60,0,60,0,60,0,37,16,12,16,57,16,38,0,33,16,47,16,12,16,58,16,60,0,60,0,60,0,37,16,12,16,58,16,38,0,33,16,49,16,12,16,57,16,60,0,60,0,60,0,39,16,12,16,57,16,38,0,33,16,49,16,12,16,58,16,60,0,60,0,60,0,39,16,12,16,58,16,38,0,33,16,49,16,44,16,12,16,57,16,60,0,60,0,60,0,41,16,12,16,57,16,38,0,33,16,49,16,44,16,12,16,58,16,60,0,60,0,60,0,41,16,12,16,58,16,38,0,33,16,49,16,44,16,12,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,12,16,57,16,38,0,33,16,49,16,44,16,12,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,12,16,58,16,38,0,33,16,45,16,13,16,57,16,60,0,60,0,60,0,35,16,13,16,57,16,38,0,33,16,45,16,13,16,58,16,60,0,60,0,60,0,35,16,13,16,58,16,38,0,33,16,47,16,13,16,57,16,60,0,60,0,60,0,37,16,13,16,57,16,38,0,33,16,47,16,13,16,58,16,60,0,60,0,60,0,37,16,13,16,58,16,38,0,33,16,49,16,13,16,57,16,60,0,60,0,60,0,39,16,13,16,57,16,38,0,33,16,49,16,13,16,58,16,60,0,60,0,60,0,39,16,13,16,58,16,38,0,33,16,49,16,44,16,13,16,57,16,60,0,60,0,60,0,41,16,13,16,57,16,38,0,33,16,49,16,44,16,13,16,58,16,60,0,60,0,60,0,41,16,13,16,58,16,38,0,33,16,49,16,44,16,13,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,13,16,57,16,38,0,33,16,49,16,44,16,13,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,13,16,58,16,38,0,33,16,45,16,14,16,57,16,60,0,60,0,60,0,35,16,14,16,57,16,38,0,33,16,45,16,14,16,58,16,60,0,60,0,60,0,35,16,14,16,58,16,38,0,33,16,47,16,14,16,57,16,60,0,60,0,60,0,37,16,14,16,57,16,38,0,33,16,47,16,14,16,58,16,60,0,60,0,60,0,37,16,14,16,58,16,38,0,33,16,49,16,14,16,57,16,60,0,60,0,60,0,39,16,14,16,57,16,38,0,33,16,49,16,14,16,58,16,60,0,60,0,60,0,39,16,14,16,58,16,38,0,33,16,49,16,44,16,14,16,57,16,60,0,60,0,60,0,41,16,14,16,57,16,38,0,33,16,49,16,44,16,14,16,58,16,60,0,60,0,60,0,41,16,14,16,58,16,38,0,33,16,49,16,44,16,14,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,14,16,57,16,38,0,33,16,49,16,44,16,14,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,14,16,58,16,38,0,33,16,45,16,15,16,57,16,60,0,60,0,60,0,35,16,15,16,57,16,38,0,33,16,45,16,15,16,58,16,60,0,60,0,60,0,35,16,15,16,58,16,38,0,33,16,47,16,15,16,57,16,60,0,60,0,60,0,37,16,15,16,57,16,38,0,33,16,47,16,15,16,58,16,60,0,60,0,60,0,37,16,15,16,58,16,38,0,33,16,49,16,15,16,57,16,60,0,60,0,60,0,39,16,15,16,57,16,38,0,33,16,49,16,15,16,58,16,60,0,60,0,60,0,39,16,15,16,58,16,38,0,33,16,49,16,44,16,15,16,57,16,60,0,60,0,60,0,41,16,15,16,57,16,38,0,33,16,49,16,44,16,15,16,58,16,60,0,60,0,60,0,41,16,15,16,58,16,38,0,33,16,49,16,44,16,15,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,15,16,57,16,38,0,33,16,49,16,44,16,15,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,15,16,58,16,38,0,33,16,45,16,16,16,57,16,60,0,60,0,60,0,35,16,16,16,57,16,38,0,33,16,45,16,16,16,58,16,60,0,60,0,60,0,35,16,16,16,58,16,38,0,33,16,47,16,16,16,57,16,60,0,60,0,60,0,37,16,16,16,57,16,38,0,33,16,47,16,16,16,58,16,60,0,60,0,60,0,37,16,16,16,58,16,38,0,33,16,49,16,16,16,57,16,60,0,60,0,60,0,39,16,16,16,57,16,38,0,33,16,49,16,16,16,58,16,60,0,60,0,60,0,39,16,16,16,58,16,38,0,33,16,49,16,44,16,16,16,57,16,60,0,60,0,60,0,41,16,16,16,57,16,38,0,33,16,49,16,44,16,16,16,58,16,60,0,60,0,60,0,41,16,16,16,58,16,38,0,33,16,49,16,44,16,16,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,16,16,57,16,38,0,33,16,49,16,44,16,16,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,16,16,58,16,38,0,33,16,45,16,17,16,57,16,60,0,60,0,60,0,35,16,17,16,57,16,38,0,33,16,45,16,17,16,58,16,60,0,60,0,60,0,35,16,17,16,58,16,38,0,33,16,47,16,17,16,57,16,60,0,60,0,60,0,37,16,17,16,57,16,38,0,33,16,47,16,17,16,58,16,60,0,60,0,60,0,37,16,17,16,58,16,38,0,33,16,49,16,17,16,57,16,60,0,60,0,60,0,39,16,17,16,57,16,38,0,33,16,49,16,17,16,58,16,60,0,60,0,60,0,39,16,17,16,58,16,38,0,33,16,49,16,44,16,17,16,57,16,60,0,60,0,60,0,41,16,17,16,57,16,38,0,33,16,49,16,44,16,17,16,58,16,60,0,60,0,60,0,41,16,17,16,58,16,38,0,33,16,49,16,44,16,17,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,17,16,57,16,38,0,33,16,49,16,44,16,17,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,17,16,58,16,38,0,33,16,45,16,18,16,57,16,60,0,60,0,60,0,35,16,18,16,57,16,38,0,33,16,45,16,18,16,58,16,60,0,60,0,60,0,35,16,18,16,58,16,38,0,33,16,47,16,18,16,57,16,60,0,60,0,60,0,37,16,18,16,57,16,38,0,33,16,47,16,18,16,58,16,60,0,60,0,60,0,37,16,18,16,58,16,38,0,33,16,49,16,18,16,57,16,60,0,60,0,60,0,39,16,18,16,57,16,38,0,33,16,49,16,18,16,58,16,60,0,60,0,60,0,39,16,18,16,58,16,38,0,33,16,49,16,44,16,18,16,57,16,60,0,60,0,60,0,41,16,18,16,57,16,38,0,33,16,49,16,44,16,18,16,58,16,60,0,60,0,60,0,41,16,18,16,58,16,38,0,33,16,49,16,44,16,18,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,18,16,57,16,38,0,33,16,49,16,44,16,18,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,18,16,58,16,38,0,33,16,45,16,19,16,57,16,60,0,60,0,60,0,35,16,19,16,57,16,38,0,33,16,45,16,19,16,58,16,60,0,60,0,60,0,35,16,19,16,58,16,38,0,33,16,47,16,19,16,57,16,60,0,60,0,60,0,37,16,19,16,57,16,38,0,33,16,47,16,19,16,58,16,60,0,60,0,60,0,37,16,19,16,58,16,38,0,33,16,49,16,19,16,57,16,60,0,60,0,60,0,39,16,19,16,57,16,38,0,33,16,49,16,19,16,58,16,60,0,60,0,60,0,39,16,19,16,58,16,38,0,33,16,49,16,44,16,19,16,57,16,60,0,60,0,60,0,41,16,19,16,57,16,38,0,33,16,49,16,44,16,19,16,58,16,60,0,60,0,60,0,41,16,19,16,58,16,38,0,33,16,49,16,44,16,19,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,19,16,57,16,38,0,33,16,49,16,44,16,19,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,19,16,58,16,38,0,33,16,45,16,20,16,57,16,60,0,60,0,60,0,35,16,20,16,57,16,38,0,33,16,45,16,20,16,58,16,60,0,60,0,60,0,35,16,20,16,58,16,38,0,33,16,47,16,20,16,57,16,60,0,60,0,60,0,37,16,20,16,57,16,38,0,33,16,47,16,20,16,58,16,60,0,60,0,60,0,37,16,20,16,58,16,38,0,33,16,49,16,20,16,57,16,60,0,60,0,60,0,39,16,20,16,57,16,38,0,33,16,49,16,20,16,58,16,60,0,60,0,60,0,39,16,20,16,58,16,38,0,33,16,49,16,44,16,20,16,57,16,60,0,60,0,60,0,41,16,20,16,57,16,38,0,33,16,49,16,44,16,20,16,58,16,60,0,60,0,60,0,41,16,20,16,58,16,38,0,33,16,49,16,44,16,20,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,20,16,57,16,38,0,33,16,49,16,44,16,20,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,20,16,58,16,38,0,33,16,45,16,21,16,57,16,60,0,60,0,60,0,35,16,21,16,57,16,38,0,33,16,45,16,21,16,58,16,60,0,60,0,60,0,35,16,21,16,58,16,38,0,33,16,47,16,21,16,57,16,60,0,60,0,60,0,37,16,21,16,57,16,38,0,33,16,47,16,21,16,58,16,60,0,60,0,60,0,37,16,21,16,58,16,38,0,33,16,49,16,21,16,57,16,60,0,60,0,60,0,39,16,21,16,57,16,38,0,33,16,49,16,21,16,58,16,60,0,60,0,60,0,39,16,21,16,58,16,38,0,33,16,49,16,44,16,21,16,57,16,60,0,60,0,60,0,41,16,21,16,57,16,38,0,33,16,49,16,44,16,21,16,58,16,60,0,60,0,60,0,41,16,21,16,58,16,38,0,33,16,49,16,44,16,21,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,21,16,57,16,38,0,33,16,49,16,44,16,21,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,21,16,58,16,38,0,33,16,45,16,22,16,57,16,60,0,60,0,60,0,35,16,22,16,57,16,38,0,33,16,45,16,22,16,58,16,60,0,60,0,60,0,35,16,22,16,58,16,38,0,33,16,47,16,22,16,57,16,60,0,60,0,60,0,37,16,22,16,57,16,38,0,33,16,47,16,22,16,58,16,60,0,60,0,60,0,37,16,22,16,58,16,38,0,33,16,49,16,22,16,57,16,60,0,60,0,60,0,39,16,22,16,57,16,38,0,33,16,49,16,22,16,58,16,60,0,60,0,60,0,39,16,22,16,58,16,38,0,33,16,49,16,44,16,22,16,57,16,60,0,60,0,60,0,41,16,22,16,57,16,38,0,33,16,49,16,44,16,22,16,58,16,60,0,60,0,60,0,41,16,22,16,58,16,38,0,33,16,49,16,44,16,22,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,22,16,57,16,38,0,33,16,49,16,44,16,22,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,22,16,58,16,38,0,33,16,45,16,23,16,57,16,60,0,60,0,60,0,35,16,23,16,57,16,38,0,33,16,45,16,23,16,58,16,60,0,60,0,60,0,35,16,23,16,58,16,38,0,33,16,47,16,23,16,57,16,60,0,60,0,60,0,37,16,23,16,57,16,38,0,33,16,47,16,23,16,58,16,60,0,60,0,60,0,37,16,23,16,58,16,38,0,33,16,49,16,23,16,57,16,60,0,60,0,60,0,39,16,23,16,57,16,38,0,33,16,49,16,23,16,58,16,60,0,60,0,60,0,39,16,23,16,58,16,38,0,33,16,49,16,44,16,23,16,57,16,60,0,60,0,60,0,41,16,23,16,57,16,38,0,33,16,49,16,44,16,23,16,58,16,60,0,60,0,60,0,41,16,23,16,58,16,38,0,33,16,49,16,44,16,23,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,23,16,57,16,38,0,33,16,49,16,44,16,23,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,23,16,58,16,38,0,33,16,45,16,24,16,57,16,60,0,60,0,60,0,35,16,24,16,57,16,38,0,33,16,45,16,24,16,58,16,60,0,60,0,60,0,35,16,24,16,58,16,38,0,33,16,47,16,24,16,57,16,60,0,60,0,60,0,37,16,24,16,57,16,38,0,33,16,47,16,24,16,58,16,60,0,60,0,60,0,37,16,24,16,58,16,38,0,33,16,49,16,24,16,57,16,60,0,60,0,60,0,39,16,24,16,57,16,38,0,33,16,49,16,24,16,58,16,60,0,60,0,60,0,39,16,24,16,58,16,38,0,33,16,49,16,44,16,24,16,57,16,60,0,60,0,60,0,41,16,24,16,57,16,38,0,33,16,49,16,44,16,24,16,58,16,60,0,60,0,60,0,41,16,24,16,58,16,38,0,33,16,49,16,44,16,24,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,24,16,57,16,38,0,33,16,49,16,44,16,24,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,24,16,58,16,38,0,33,16,45,16,25,16,57,16,60,0,60,0,60,0,35,16,25,16,57,16,38,0,33,16,45,16,25,16,58,16,60,0,60,0,60,0,35,16,25,16,58,16,38,0,33,16,47,16,25,16,57,16,60,0,60,0,60,0,37,16,25,16,57,16,38,0,33,16,47,16,25,16,58,16,60,0,60,0,60,0,37,16,25,16,58,16,38,0,33,16,49,16,25,16,57,16,60,0,60,0,60,0,39,16,25,16,57,16,38,0,33,16,49,16,25,16,58,16,60,0,60,0,60,0,39,16,25,16,58,16,38,0,33,16,49,16,44,16,25,16,57,16,60,0,60,0,60,0,41,16,25,16,57,16,38,0,33,16,49,16,44,16,25,16,58,16,60,0,60,0,60,0,41,16,25,16,58,16,38,0,33,16,49,16,44,16,25,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,25,16,57,16,38,0,33,16,49,16,44,16,25,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,25,16,58,16,38,0,33,16,45,16,26,16,57,16,60,0,60,0,60,0,35,16,26,16,57,16,38,0,33,16,45,16,26,16,58,16,60,0,60,0,60,0,35,16,26,16,58,16,38,0,33,16,47,16,26,16,57,16,60,0,60,0,60,0,37,16,26,16,57,16,38,0,33,16,47,16,26,16,58,16,60,0,60,0,60,0,37,16,26,16,58,16,38,0,33,16,49,16,26,16,57,16,60,0,60,0,60,0,39,16,26,16,57,16,38,0,33,16,49,16,26,16,58,16,60,0,60,0,60,0,39,16,26,16,58,16,38,0,33,16,49,16,44,16,26,16,57,16,60,0,60,0,60,0,41,16,26,16,57,16,38,0,33,16,49,16,44,16,26,16,58,16,60,0,60,0,60,0,41,16,26,16,58,16,38,0,33,16,49,16,44,16,26,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,26,16,57,16,38,0,33,16,49,16,44,16,26,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,26,16,58,16,38,0,33,16,45,16,27,16,57,16,60,0,60,0,60,0,35,16,27,16,57,16,38,0,33,16,45,16,27,16,58,16,60,0,60,0,60,0,35,16,27,16,58,16,38,0,33,16,47,16,27,16,57,16,60,0,60,0,60,0,37,16,27,16,57,16,38,0,33,16,47,16,27,16,58,16,60,0,60,0,60,0,37,16,27,16,58,16,38,0,33,16,49,16,27,16,57,16,60,0,60,0,60,0,39,16,27,16,57,16,38,0,33,16,49,16,27,16,58,16,60,0,60,0,60,0,39,16,27,16,58,16,38,0,33,16,49,16,44,16,27,16,57,16,60,0,60,0,60,0,41,16,27,16,57,16,38,0,33,16,49,16,44,16,27,16,58,16,60,0,60,0,60,0,41,16,27,16,58,16,38,0,33,16,49,16,44,16,27,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,27,16,57,16,38,0,33,16,49,16,44,16,27,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,27,16,58,16,38,0,33,16,45,16,28,16,57,16,60,0,60,0,60,0,35,16,28,16,57,16,38,0,33,16,45,16,28,16,58,16,60,0,60,0,60,0,35,16,28,16,58,16,38,0,33,16,47,16,28,16,57,16,60,0,60,0,60,0,37,16,28,16,57,16,38,0,33,16,47,16,28,16,58,16,60,0,60,0,60,0,37,16,28,16,58,16,38,0,33,16,49,16,28,16,57,16,60,0,60,0,60,0,39,16,28,16,57,16,38,0,33,16,49,16,28,16,58,16,60,0,60,0,60,0,39,16,28,16,58,16,38,0,33,16,49,16,44,16,28,16,57,16,60,0,60,0,60,0,41,16,28,16,57,16,38,0,33,16,49,16,44,16,28,16,58,16,60,0,60,0,60,0,41,16,28,16,58,16,38,0,33,16,49,16,44,16,28,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,28,16,57,16,38,0,33,16,49,16,44,16,28,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,28,16,58,16,38,0,33,16,45,16,30,16,57,16,60,0,60,0,60,0,35,16,30,16,57,16,38,0,33,16,45,16,30,16,58,16,60,0,60,0,60,0,35,16,30,16,58,16,38,0,33,16,47,16,30,16,57,16,60,0,60,0,60,0,37,16,30,16,57,16,38,0,33,16,47,16,30,16,58,16,60,0,60,0,60,0,37,16,30,16,58,16,38,0,33,16,49,16,30,16,57,16,60,0,60,0,60,0,39,16,30,16,57,16,38,0,33,16,49,16,30,16,58,16,60,0,60,0,60,0,39,16,30,16,58,16,38,0,33,16,49,16,44,16,30,16,57,16,60,0,60,0,60,0,41,16,30,16,57,16,38,0,33,16,49,16,44,16,30,16,58,16,60,0,60,0,60,0,41,16,30,16,58,16,38,0,33,16,49,16,44,16,30,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,30,16,57,16,38,0,33,16,49,16,44,16,30,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,30,16,58,16,38,0,33,16,45,16,31,16,57,16,60,0,60,0,60,0,35,16,31,16,57,16,38,0,33,16,45,16,31,16,58,16,60,0,60,0,60,0,35,16,31,16,58,16,38,0,33,16,47,16,31,16,57,16,60,0,60,0,60,0,37,16,31,16,57,16,38,0,33,16,47,16,31,16,58,16,60,0,60,0,60,0,37,16,31,16,58,16,38,0,33,16,49,16,31,16,57,16,60,0,60,0,60,0,39,16,31,16,57,16,38,0,33,16,49,16,31,16,58,16,60,0,60,0,60,0,39,16,31,16,58,16,38,0,33,16,49,16,44,16,31,16,57,16,60,0,60,0,60,0,41,16,31,16,57,16,38,0,33,16,49,16,44,16,31,16,58,16,60,0,60,0,60,0,41,16,31,16,58,16,38,0,33,16,49,16,44,16,31,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,31,16,57,16,38,0,33,16,49,16,44,16,31,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,31,16,58,16,38,0,49,16,44,16,0,16,58,16,0,16,59,16,61,0,49,16,44,16,0,16,58,16,59,16,38,0,20,16,58,16,20,16,47,16,21,16,58,16,61,0,20,16,58,16,47,16,21,16,58,16,38,0,49,16,30,16,57,16,30,16,61,0,49,16,63,16,38,0,45,16,30,16,57,16,30,16,61,0,45,16,63,16,38,0,47,16,30,16,57,16,30,16,61,0,47,16,63,16,38,0,33,16,45,16,30,16,57,16,30,16,60,0,60,0,60,0,35,16,63,16,38,0,33,16,47,16,30,16,57,16,30,16,60,0,60,0,60,0,37,16,63,16,38,0,30,16,57,16,30,16,61,0,63,16,38,0,20,16,62,16,45,16,47,16,0,16,58,16,60,0,60,0,76,16,38,0,27,16,61,16,49,16,55,16,60,0,60,0,77,16,38,0,28,16,10,16,58,16,56,16,0,16,49,16,44,16,4,16,58,16,56,16,60,0,60,0,78,16,4,16,58,16,56,16,38,0,33,16,45,16,60,0,60,0,79,16,38,0,28,16,0,16,58,16,26,16,44,16,61,0,28,16,0,16,58,16,59,16,44,16,38,0,30,16,25,16,46,16,61,0,30,16,57,16,25,16,46,16,38,0,17,16,25,16,4,16,58,16,56,16,61,0,17,16,57,16,25,16,4,16,58,16,56,16,38,0,28,16,0,16,58,16,24,16,0,16,58,16,61,0,28,16,57,16,24,16,0,16,58,16,0,0,170,170,170,170,170,170,170,170,170,170,170,170,82,100,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,76,0,0,0,76,1,0,0,236,26,0,0,236,26,0,0,12,66,0,0,12,66,0,0,172,66,0,0,172,66,0,0,20,100,0,0,54,100,0,0,28,0,0,0,0,0,79,117,178,255,94,117,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,0,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,145,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,112,0,120,0,128,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,3,0,202,225,3,0,202,2,4,0,202,35,4,0,202,68,4,0,202,101,4,0,202,134,4,0,202,167,4,0,202,200,4,0,202,233,4,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,2,3,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,66,3,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,130,3,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,201,38,1,0,201,38,2,0,201,70,3,0,201,102,4,0,201,134,5,0,201,166,6,0,201,198,7,0,201,230,8,0,201,166,9,0,201,198,10,0,201,230,11,0,201,6,13,0,201,38,14,0,201,70,15,0,201,102,16,0,201,134,17,0,201,166,18,0,201,166,20,0,201,198,21,0,201,230,22,0,201,166,24,0,201,198,25,0,201,230,26,0,201,6,28,0,201,38,29,0,201,70,30,0,201,102,31,0,201,132,32,0,201,102,35,0,201,38,36,0,201,198,37,0,201,230,38,0,201,166,39,0,192,0,0,0,201,100,40,0,198,34,25,0,201,196,75,0,198,98,40,0,201,68,112,0,198,66,56,0,201,36,147,0,198,66,86,0,201,36,217,0,201,4,255,0,201,4,37,1,192,0,0,0,201,228,115,1,192,0,0,0,201,164,156,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,150,89,117,201,160,16,2,193,81,93,117,192,0,0,0,192,0,0,0,201,128,17,2,201,32,19,2,201,192,20,2,198,193,153,0,198,226,153,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,154,0,198,132,154,0,201,128,21,2,198,194,155,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,156,0,198,33,156,0,198,65,156,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,156,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,152,89,117,0,5,0,5,7,154,89,117,0,5,0,70,7,154,89,117,0,5,0,5,14,154,89,117,0,5,0,70,14,154,89,117,0,5,0,5,21,154,89,117,0,5,0,70,21,154,89,117,0,5,0,70,28,154,89,117,0,5,0,5,28,154,89,117,0,5,0,5,35,154,89,117,0,5,0,70,35,154,89,117,0,5,0,5,42,154,89,117,0,5,0,70,42,154,89,117,0,5,0,5,49,154,89,117,0,5,0,70,49,154,89,117,0,5,0,5,56,154,89,117,0,5,0,5,63,154,89,117,0,5,0,70,63,154,89,117,0,5,0,5,70,154,89,117,0,5,0,70,70,154,89,117,0,5,0,5,77,154,89,117,0,5,0,70,77,154,89,117,0,5,0,5,84,154,89,117,0,5,0,70,84,154,89,117,0,5,0,5,91,154,89,117,0,5,0,70,91,154,89,117,0,5,0,5,98,154,89,117,0,5,0,70,98,154,89,117,0,5,0,5,105,154,89,117,0,5,0,70,105,154,89,117,0,5,0,5,112,154,89,117,0,5,0,70,112,154,89,117,0,5,0,5,119,154,89,117,0,5,0,5,0,119,80,117,0,5,0,5,0,33,81,117,0,5,0,70,28,154,89,117,0,5,0,5,0,81,93,117,0,5,0,70,119,154,89,117,0,5,0,5,126,154,89,117,0,5,0,70,126,154,89,117,0,5,0,5,133,154,89,117,0,5,0,70,133,154,89,117,0,5,0,5,140,154,89,117,0,5,0,70,140,154,89,117,0,5,0,70,140,154,89,117,0,5,0,5,0,168,80,117,0,5,0,70,150,154,89,117,0,5,0,5,147,154,89,117,0,5,0,70,147,154,89,117,0,5,0,5,154,154,89,117,0,5,0,70,154,154,89,117,0,5,0,5,161,154,89,117,0,5,0,70,161,154,89,117,0,5,0,5,168,154,89,117,0,5,0,70,168,154,89,117,0,5,0,5,175,154,89,117,0,5,0,70,175,154,89,117,0,5,0,5,192,154,89,117,0,5,0,70,192,154,89,117,0,5,0,5,199,154,89,117,0,5,0,70,199,154,89,117,0,5,0,5,0,89,81,117,0,5,0,70,0,152,89,117,0,5,0,5,0,47,81,117,0,5,0,5,0,0,87,117,0,5,0,5,206,154,89,117,0,5,0,5,0,89,81,117,0,5,0,70,0,152,89,117,0,5,0,5,0,12,81,117,0,5,0,70,0,152,89,117,0,5,0,70,206,154,89,117,0,5,0,5,213,154,89,117,0,5,0,5,220,154,89,117,0,5,0,70,220,154,89,117,0,5,0,5,227,154,89,117,0,5,0,70,227,154,89,117,0,5,0,5,234,154,89,117,0,5,0,5,241,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,0,23,89,117,0,5,0,5,0,100,85,117,0,6,0,5,2,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,2,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,9,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,9,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,16,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,16,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,23,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,23,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,30,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,37,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,37,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,44,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,44,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,51,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,51,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,65,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,65,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,72,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,72,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,79,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,79,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,86,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,86,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,93,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,93,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,100,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,100,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,107,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,107,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,114,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,114,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,121,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,121,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,128,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,128,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,135,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,135,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,142,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,142,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,149,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,149,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,156,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,156,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,163,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,163,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,170,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,170,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,177,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,177,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,194,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,194,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,201,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,201,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,208,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,208,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,222,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,222,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,229,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,229,154,89,117,0,5,0,5,0,100,85,117,0,5,0,5,222,154,89,117,0,7,0,5,0,0,83,117,0,5,0,5,0,100,85,117,0,6,0,5,0,37,89,117,0,5,0,5,0,100,85,117,0,6,0,5,0,51,89,117,0,5,0,5,0,100,85,117,0,6,0,5,3,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,3,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,10,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,10,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,17,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,17,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,24,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,24,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,31,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,38,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,38,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,45,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,45,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,52,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,52,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,66,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,66,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,73,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,73,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,80,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,80,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,87,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,87,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,94,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,94,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,101,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,101,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,108,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,108,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,115,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,115,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,122,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,122,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,129,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,129,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,136,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,136,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,143,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,143,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,150,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,150,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,157,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,157,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,164,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,164,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,171,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,171,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,183,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,183,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,195,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,195,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,202,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,202,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,209,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,209,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,223,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,223,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,230,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,230,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,0,72,89,117,0,5,0,5,0,100,85,117,0,6,0,5,184,154,89,117,0,5,0,5,0,100,85,117,0,5,0,5,223,154,89,117,0,6,0,5,0,0,83,117,0,5,0,5,0,100,85,117,0,6,0,5,0,107,89,117,0,5,0,5,0,100,85,117,0,6,0,5,4,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,4,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,11,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,11,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,18,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,18,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,25,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,25,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,32,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,39,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,39,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,46,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,46,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,53,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,53,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,67,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,67,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,74,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,74,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,81,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,81,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,88,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,88,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,95,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,95,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,102,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,102,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,109,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,109,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,116,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,116,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,123,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,123,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,130,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,130,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,137,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,137,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,144,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,144,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,151,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,151,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,158,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,158,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,165,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,165,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,172,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,172,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,189,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,189,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,196,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,196,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,203,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,203,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,210,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,210,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,224,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,224,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,231,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,231,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,0,107,89,117,0,5,0,5,0,100,85,117,0,6,0,5,0,136,89,117,0,5,0,5,0,100,85,117,0,7,0,5,5,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,5,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,12,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,12,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,19,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,19,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,26,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,26,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,33,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,40,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,40,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,47,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,47,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,54,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,54,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,68,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,68,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,75,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,75,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,82,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,82,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,89,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,89,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,96,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,96,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,103,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,103,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,110,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,110,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,117,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,117,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,124,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,124,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,131,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,131,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,138,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,138,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,145,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,145,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,152,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,152,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,159,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,159,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,166,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,166,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,173,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,173,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,190,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,190,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,197,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,197,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,204,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,204,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,211,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,211,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,225,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,225,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,232,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,232,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,5,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,5,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,12,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,12,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,19,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,19,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,26,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,26,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,33,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,40,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,40,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,47,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,47,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,54,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,54,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,68,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,68,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,75,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,75,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,82,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,82,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,89,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,89,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,96,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,96,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,103,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,103,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,110,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,110,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,117,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,117,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,124,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,124,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,131,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,131,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,138,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,138,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,145,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,145,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,152,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,152,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,159,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,159,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,166,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,166,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,173,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,173,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,190,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,190,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,197,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,197,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,204,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,204,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,211,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,211,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,225,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,225,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,232,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,232,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,0,137,89,117,0,5,0,71,0,153,89,117,0,5,0,72,0,153,89,117,0,5,0,71,8,154,89,117,0,5,0,72,8,154,89,117,0,5,0,71,15,154,89,117,0,5,0,72,15,154,89,117,0,5,0,71,22,154,89,117,0,5,0,72,22,154,89,117,0,5,0,72,29,154,89,117,0,5,0,71,29,154,89,117,0,5,0,71,36,154,89,117,0,5,0,72,36,154,89,117,0,5,0,71,43,154,89,117,0,5,0,72,43,154,89,117,0,5,0,71,50,154,89,117,0,5,0,72,50,154,89,117,0,5,0,70,57,154,89,117,0,5,0,71,64,154,89,117,0,5,0,72,64,154,89,117,0,5,0,71,71,154,89,117,0,5,0,72,71,154,89,117,0,5,0,71,78,154,89,117,0,5,0,72,78,154,89,117,0,5,0,71,85,154,89,117,0,5,0,72,85,154,89,117,0,5,0,71,92,154,89,117,0,5,0,72,92,154,89,117,0,5,0,71,99,154,89,117,0,5,0,72,99,154,89,117,0,5,0,71,106,154,89,117,0,5,0,72,106,154,89,117,0,5,0,71,113,154,89,117,0,5,0,72,113,154,89,117,0,5,0,71,120,154,89,117,0,5,0,72,120,154,89,117,0,5,0,71,127,154,89,117,0,5,0,72,127,154,89,117,0,5,0,71,134,154,89,117,0,5,0,72,134,154,89,117,0,5,0,71,141,154,89,117,0,5,0,72,141,154,89,117,0,5,0,71,148,154,89,117,0,5,0,72,148,154,89,117,0,5,0,71,155,154,89,117,0,5,0,72,155,154,89,117,0,5,0,71,162,154,89,117,0,5,0,72,162,154,89,117,0,5,0,71,169,154,89,117,0,5,0,72,169,154,89,117,0,5,0,71,176,154,89,117,0,5,0,72,176,154,89,117,0,5,0,71,193,154,89,117,0,5,0,72,193,154,89,117,0,5,0,71,200,154,89,117,0,5,0,72,200,154,89,117,0,5,0,71,207,154,89,117,0,5,0,72,207,154,89,117,0,5,0,70,214,154,89,117,0,5,0,71,221,154,89,117,0,5,0,72,221,154,89,117,0,5,0,71,228,154,89,117,0,5,0,72,228,154,89,117,0,5,0,70,235,154,89,117,0,5,0,70,242,154,89,117,0,5,0,70,0,153,89,117,0,5,0,5,8,154,89,117,0,5,0,70,8,154,89,117,0,5,0,5,15,154,89,117,0,5,0,70,15,154,89,117,0,5,0,5,22,154,89,117,0,5,0,70,22,154,89,117,0,5,0,70,29,154,89,117,0,5,0,5,29,154,89,117,0,5,0,5,36,154,89,117,0,5,0,70,36,154,89,117,0,5,0,5,43,154,89,117,0,5,0,70,43,154,89,117,0,5,0,5,50,154,89,117,0,5,0,70,50,154,89,117,0,5,0,5,57,154,89,117,0,5,0,5,64,154,89,117,0,5,0,70,64,154,89,117,0,5,0,5,71,154,89,117,0,5,0,70,71,154,89,117,0,5,0,5,78,154,89,117,0,5,0,70,78,154,89,117,0,5,0,5,85,154,89,117,0,5,0,70,85,154,89,117,0,5,0,5,92,154,89,117,0,5,0,70,92,154,89,117,0,5,0,5,99,154,89,117,0,5,0,70,99,154,89,117,0,5,0,5,106,154,89,117,0,5,0,70,106,154,89,117,0,5,0,5,113,154,89,117,0,5,0,70,113,154,89,117,0,5,0,5,120,154,89,117,0,5,0,70,120,154,89,117,0,5,0,5,127,154,89,117,0,5,0,70,127,154,89,117,0,5,0,5,134,154,89,117,0,5,0,70,134,154,89,117,0,5,0,5,141,154,89,117,0,5,0,70,141,154,89,117,0,5,0,5,148,154,89,117,0,5,0,70,148,154,89,117,0,5,0,5,155,154,89,117,0,5,0,70,155,154,89,117,0,5,0,5,162,154,89,117,0,5,0,70,162,154,89,117,0,5,0,5,169,154,89,117,0,5,0,70,169,154,89,117,0,5,0,5,176,154,89,117,0,5,0,70,176,154,89,117,0,5,0,5,193,154,89,117,0,5,0,70,193,154,89,117,0,5,0,5,200,154,89,117,0,5,0,70,200,154,89,117,0,5,0,5,207,154,89,117,0,5,0,70,207,154,89,117,0,5,0,5,214,154,89,117,0,5,0,5,221,154,89,117,0,5,0,70,221,154,89,117,0,5,0,5,228,154,89,117,0,5,0,70,228,154,89,117,0,5,0,5,235,154,89,117,0,5,0,5,242,154,89,117,0,5,0,5,2,154,89,117,0,5,0,70,2,154,89,117,0,5,0,5,9,154,89,117,0,5,0,70,9,154,89,117,0,5,0,5,16,154,89,117,0,5,0,70,16,154,89,117,0,5,0,5,23,154,89,117,0,5,0,70,23,154,89,117,0,5,0,70,30,154,89,117,0,5,0,5,30,154,89,117,0,5,0,5,37,154,89,117,0,5,0,70,37,154,89,117,0,5,0,5,44,154,89,117,0,5,0,70,44,154,89,117,0,5,0,5,51,154,89,117,0,5,0,70,51,154,89,117,0,5,0,5,58,154,89,117,0,5,0,5,65,154,89,117,0,5,0,70,65,154,89,117,0,5,0,5,72,154,89,117,0,5,0,70,72,154,89,117,0,5,0,5,79,154,89,117,0,5,0,70,79,154,89,117,0,5,0,5,86,154,89,117,0,5,0,70,86,154,89,117,0,5,0,5,93,154,89,117,0,5,0,70,93,154,89,117,0,5,0,5,100,154,89,117,0,5,0,70,100,154,89,117,0,5,0,5,107,154,89,117,0,5,0,70,107,154,89,117,0,5,0,5,114,154,89,117,0,5,0,70,114,154,89,117,0,5,0,5,121,154,89,117,0,5,0,70,121,154,89,117,0,5,0,5,128,154,89,117,0,5,0,70,128,154,89,117,0,5,0,5,135,154,89,117,0,5,0,70,135,154,89,117,0,5,0,5,142,154,89,117,0,5,0,70,142,154,89,117,0,5,0,5,149,154,89,117,0,5,0,70,149,154,89,117,0,5,0,5,156,154,89,117,0,5,0,70,156,154,89,117,0,5,0,5,163,154,89,117,0,5,0,70,163,154,89,117,0,5,0,5,170,154,89,117,0,5,0,70,170,154,89,117,0,5,0,5,179,154,89,117,0,5,0,5,177,154,89,117,0,5,0,70,177,154,89,117,0,5,0,5,181,154,89,117,0,5,0,5,194,154,89,117,0,5,0,70,194,154,89,117,0,5,0,5,201,154,89,117,0,5,0,70,201,154,89,117,0,5,0,5,208,154,89,117,0,5,0,70,208,154,89,117,0,5,0,5,215,154,89,117,0,5,0,70,222,154,89,117,0,5,0,5,229,154,89,117,0,5,0,70,229,154,89,117,0,5,0,5,236,154,89,117,0,5,0,5,243,154,89,117,0,5,0,5,6,154,89,117,0,5,0,70,6,154,89,117,0,5,0,5,13,154,89,117,0,5,0,70,13,154,89,117,0,5,0,5,20,154,89,117,0,5,0,70,20,154,89,117,0,5,0,5,27,154,89,117,0,5,0,70,27,154,89,117,0,5,0,70,34,154,89,117,0,5,0,5,34,154,89,117,0,5,0,5,41,154,89,117,0,5,0,70,41,154,89,117,0,5,0,5,48,154,89,117,0,5,0,70,48,154,89,117,0,5,0,5,55,154,89,117,0,5,0,70,55,154,89,117,0,5,0,5,62,154,89,117,0,5,0,5,69,154,89,117,0,5,0,70,69,154,89,117,0,5,0,5,76,154,89,117,0,5,0,70,76,154,89,117,0,5,0,5,83,154,89,117,0,5,0,70,83,154,89,117,0,5,0,5,90,154,89,117,0,5,0,70,90,154,89,117,0,5,0,5,97,154,89,117,0,5,0,70,97,154,89,117,0,5,0,5,104,154,89,117,0,5,0,70,104,154,89,117,0,5,0,5,111,154,89,117,0,5,0,70,111,154,89,117,0,5,0,5,118,154,89,117,0,5,0,70,118,154,89,117,0,5,0,5,125,154,89,117,0,5,0,70,125,154,89,117,0,5,0,5,132,154,89,117,0,5,0,70,132,154,89,117,0,5,0,5,139,154,89,117,0,5,0,70,139,154,89,117,0,5,0,5,146,154,89,117,0,5,0,70,146,154,89,117,0,5,0,5,153,154,89,117,0,5,0,70,153,154,89,117,0,5,0,5,160,154,89,117,0,5,0,70,160,154,89,117,0,5,0,5,167,154,89,117,0,5,0,70,167,154,89,117,0,5,0,5,174,154,89,117,0,5,0,70,174,154,89,117,0,5,0,5,191,154,89,117,0,5,0,70,191,154,89,117,0,5,0,5,198,154,89,117,0,5,0,70,198,154,89,117,0,5,0,5,205,154,89,117,0,5,0,70,205,154,89,117,0,5,0,5,212,154,89,117,0,5,0,70,212,154,89,117,0,5,0,5,219,154,89,117,0,5,0,5,226,154,89,117,0,5,0,70,226,154,89,117,0,5,0,5,233,154,89,117,0,5,0,70,233,154,89,117,0,5,0,5,240,154,89,117,0,5,0,5,247,154,89,117,0,5,0,5,178,154,89,117,0,5,0,5,180,154,89,117,0,5,0,5,182,154,89,117,0,5,0,5,222,154,89,117,0,5,0,5,0,0,83,117,0,5,0,5,3,154,89,117,0,5,0,70,3,154,89,117,0,5,0,5,10,154,89,117,0,5,0,70,10,154,89,117,0,5,0,5,17,154,89,117,0,5,0,70,17,154,89,117,0,5,0,5,24,154,89,117,0,5,0,70,24,154,89,117,0,5,0,70,31,154,89,117,0,5,0,5,31,154,89,117,0,5,0,5,38,154,89,117,0,5,0,70,38,154,89,117,0,5,0,5,45,154,89,117,0,5,0,70,45,154,89,117,0,5,0,5,52,154,89,117,0,5,0,70,52,154,89,117,0,5,0,5,59,154,89,117,0,5,0,5,66,154,89,117,0,5,0,70,66,154,89,117,0,5,0,5,73,154,89,117,0,5,0,70,73,154,89,117,0,5,0,5,80,154,89,117,0,5,0,70,80,154,89,117,0,5,0,5,87,154,89,117,0,5,0,70,87,154,89,117,0,5,0,5,94,154,89,117,0,5,0,70,94,154,89,117,0,5,0,5,101,154,89,117,0,5,0,70,101,154,89,117,0,5,0,5,108,154,89,117,0,5,0,70,108,154,89,117,0,5,0,5,115,154,89,117,0,5,0,70,115,154,89,117,0,5,0,5,122,154,89,117,0,5,0,70,122,154,89,117,0,5,0,5,129,154,89,117,0,5,0,70,129,154,89,117,0,5,0,5,136,154,89,117,0,5,0,70,136,154,89,117,0,5,0,5,143,154,89,117,0,5,0,70,143,154,89,117,0,5,0,5,150,154,89,117,0,5,0,5,157,154,89,117,0,5,0,70,157,154,89,117,0,5,0,5,164,154,89,117,0,5,0,70,164,154,89,117,0,5,0,5,171,154,89,117,0,5,0,70,171,154,89,117,0,5,0,5,185,154,89,117,0,5,0,5,183,154,89,117,0,5,0,70,183,154,89,117,0,5,0,5,187,154,89,117,0,5,0,5,195,154,89,117,0,5,0,70,195,154,89,117,0,5,0,5,202,154,89,117,0,5,0,70,202,154,89,117,0,5,0,5,209,154,89,117,0,5,0,70,209,154,89,117,0,5,0,5,216,154,89,117,0,5,0,70,223,154,89,117,0,5,0,5,230,154,89,117,0,5,0,70,230,154,89,117,0,5,0,5,237,154,89,117,0,5,0,5,244,154,89,117,0,5,0,5,184,154,89,117,0,5,0,5,186,154,89,117,0,5,0,5,188,154,89,117,0,5,0,5,223,154,89,117,0,5,0,5,0,0,83,117,0,5,0,5,4,154,89,117,0,5,0,70,4,154,89,117,0,5,0,5,11,154,89,117,0,5,0,70,11,154,89,117,0,5,0,5,18,154,89,117,0,5,0,70,18,154,89,117,0,5,0,5,25,154,89,117,0,5,0,70,25,154,89,117,0,5,0,70,32,154,89,117,0,5,0,5,32,154,89,117,0,5,0,5,39,154,89,117,0,5,0,70,39,154,89,117,0,5,0,5,46,154,89,117,0,5,0,70,46,154,89,117,0,5,0,5,53,154,89,117,0,5,0,70,53,154,89,117,0,5,0,5,60,154,89,117,0,5,0,5,67,154,89,117,0,5,0,70,67,154,89,117,0,5,0,5,74,154,89,117,0,5,0,70,74,154,89,117,0,5,0,5,81,154,89,117,0,5,0,70,81,154,89,117,0,5,0,5,88,154,89,117,0,5,0,70,88,154,89,117,0,5,0,5,95,154,89,117,0,5,0,70,95,154,89,117,0,5,0,5,102,154,89,117,0,5,0,70,102,154,89,117,0,5,0,5,109,154,89,117,0,5,0,70,109,154,89,117,0,5,0,5,116,154,89,117,0,5,0,70,116,154,89,117,0,5,0,5,123,154,89,117,0,5,0,70,123,154,89,117,0,5,0,5,130,154,89,117,0,5,0,70,130,154,89,117,0,5,0,5,137,154,89,117,0,5,0,70,137,154,89,117,0,5,0,5,144,154,89,117,0,5,0,70,144,154,89,117,0,5,0,5,151,154,89,117,0,5,0,70,151,154,89,117,0,5,0,5,158,154,89,117,0,5,0,70,158,154,89,117,0,5,0,5,165,154,89,117,0,5,0,70,165,154,89,117,0,5,0,5,172,154,89,117,0,5,0,70,172,154,89,117,0,5,0,5,189,154,89,117,0,5,0,70,189,154,89,117,0,5,0,5,196,154,89,117,0,5,0,70,196,154,89,117,0,5,0,5,203,154,89,117,0,5,0,70,203,154,89,117,0,5,0,5,210,154,89,117,0,5,0,70,210,154,89,117,0,5,0,5,217,154,89,117,0,5,0,5,224,154,89,117,0,5,0,70,224,154,89,117,0,5,0,5,231,154,89,117,0,5,0,70,231,154,89,117,0,5,0,5,238,154,89,117,0,5,0,5,245,154,89,117,0,5,0,70,0,136,89,117,0,5,0,71,5,154,89,117,0,5,0,72,5,154,89,117,0,5,0,71,12,154,89,117,0,5,0,72,12,154,89,117,0,5,0,71,19,154,89,117,0,5,0,72,19,154,89,117,0,5,0,71,26,154,89,117,0,5,0,72,26,154,89,117,0,5,0,72,33,154,89,117,0,5,0,71,33,154,89,117,0,5,0,71,40,154,89,117,0,5,0,72,40,154,89,117,0,5,0,71,47,154,89,117,0,5,0,72,47,154,89,117,0,5,0,71,54,154,89,117,0,5,0,72,54,154,89,117,0,5,0,70,61,154,89,117,0,5,0,71,68,154,89,117,0,5,0,72,68,154,89,117,0,5,0,71,75,154,89,117,0,5,0,72,75,154,89,117,0,5,0,71,82,154,89,117,0,5,0,72,82,154,89,117,0,5,0,71,89,154,89,117,0,5,0,72,89,154,89,117,0,5,0,71,96,154,89,117,0,5,0,72,96,154,89,117,0,5,0,71,103,154,89,117,0,5,0,72,103,154,89,117,0,5,0,71,110,154,89,117,0,5,0,72,110,154,89,117,0,5,0,71,117,154,89,117,0,5,0,72,117,154,89,117,0,5,0,71,124,154,89,117,0,5,0,72,124,154,89,117,0,5,0,71,131,154,89,117,0,5,0,72,131,154,89,117,0,5,0,71,138,154,89,117,0,5,0,72,138,154,89,117,0,5,0,71,145,154,89,117,0,5,0,72,145,154,89,117,0,5,0,71,152,154,89,117,0,5,0,72,152,154,89,117,0,5,0,71,159,154,89,117,0,5,0,72,159,154,89,117,0,5,0,71,166,154,89,117,0,5,0,72,166,154,89,117,0,5,0,71,173,154,89,117,0,5,0,72,173,154,89,117,0,5,0,71,190,154,89,117,0,5,0,72,190,154,89,117,0,5,0,71,197,154,89,117,0,5,0,72,197,154,89,117,0,5,0,71,204,154,89,117,0,5,0,72,204,154,89,117,0,5,0,71,211,154,89,117,0,5,0,72,211,154,89,117,0,5,0,70,218,154,89,117,0,5,0,71,225,154,89,117,0,5,0,72,225,154,89,117,0,5,0,71,232,154,89,117,0,5,0,72,232,154,89,117,0,5,0,70,239,154,89,117,0,5,0,70,246,154,89,117,0,5,0,70,0,137,89,117,0,5,0,5,5,154,89,117,0,5,0,70,5,154,89,117,0,5,0,70,5,154,89,117,0,5,0,5,0,9,79,117,0,5,0,5,250,154,89,117,0,5,0,5,12,154,89,117,0,5,0,70,12,154,89,117,0,5,0,5,19,154,89,117,0,5,0,70,19,154,89,117,0,5,0,5,26,154,89,117,0,5,0,70,26,154,89,117,0,5,0,70,33,154,89,117,0,5,0,5,33,154,89,117,0,5,0,5,40,154,89,117,0,5,0,70,40,154,89,117,0,5,0,5,47,154,89,117,0,5,0,70,47,154,89,117,0,5,0,5,54,154,89,117,0,5,0,70,54,154,89,117,0,5,0,5,61,154,89,117,0,5,0,5,68,154,89,117,0,5,0,70,68,154,89,117,0,5,0,5,75,154,89,117,0,5,0,70,75,154,89,117,0,5,0,5,82,154,89,117,0,5,0,70,82,154,89,117,0,5,0,5,89,154,89,117,0,5,0,70,89,154,89,117,0,5,0,5,96,154,89,117,0,5,0,70,96,154,89,117,0,5,0,5,103,154,89,117,0,5,0,70,103,154,89,117,0,5,0,5,110,154,89,117,0,5,0,70,110,154,89,117,0,5,0,5,117,154,89,117,0,5,0,70,117,154,89,117,0,5,0,5,124,154,89,117,0,5,0,70,124,154,89,117,0,5,0,5,131,154,89,117,0,5,0,70,131,154,89,117,0,5,0,5,138,154,89,117,0,5,0,70,138,154,89,117,0,5,0,5,145,154,89,117,0,5,0,70,145,154,89,117,0,5,0,5,152,154,89,117,0,5,0,70,152,154,89,117,0,5,0,5,159,154,89,117,0,5,0,70,159,154,89,117,0,5,0,5,166,154,89,117,0,5,0,70,166,154,89,117,0,5,0,5,173,154,89,117,0,5,0,70,173,154,89,117,0,5,0,5,190,154,89,117,0,5,0,70,190,154,89,117,0,5,0,5,197,154,89,117,0,5,0,70,197,154,89,117,0,5,0,5,204,154,89,117,0,5,0,70,204,154,89,117,0,5,0,5,211,154,89,117,0,5,0,70,211,154,89,117,0,5,0,5,218,154,89,117,0,5,0,5,225,154,89,117,0,5,0,70,225,154,89,117,0,5,0,5,232,154,89,117,0,5,0,70,232,154,89,117,0,5,0,5,239,154,89,117,0,5,0,5,246,154,89,117,0,5,0,5,224,154,89,117,0,5,0,5,0,0,83,117,0,5,0,5,2,155,89,117,0,5,0,5,7,155,89,117,0,5,0,5,4,155,89,117,0,5,0,5,251,154,89,117,0,5,0,5,3,155,89,117,0,5,0,5,8,155,89,117,0,5,0,5,5,155,89,117,0,5,0,5,253,154,89,117,0,5,0,5,6,155,89,117,0,5,0,5,255,154,89,117,0,5,0,5,220,154,89,117,0,5,0,5,0,0,83,117,0,5,0,5,0,168,80,117,0,5,0,5,255,154,89,117,0,5,0,71,6,154,89,117,0,5,0,5,0,61,81,117,0,5,0,5,253,154,89,117,0,5,0,5,0,107,89,117,0,5,0,70,0,80,93,117,0,5,0,5,0,89,81,117,0,5,0,70,70,154,89,117,0,5,0,5,0,81,93,117,0,5,0,5,0,9,79,117,0,5,0,70,33,154,89,117,0,5,0,70,0,81,93,117,0,5,0,5,0,100,85,117,0,5,0,70,0,23,89,117,0,5,0,5,248,154,89,117,0,5,0,5,249,154,89,117,0,5,0,5,252,154,89,117,0,5,0,5,254,154,89,117,0,0,0,0,5,5,83,117,193,33,81,117,193,37,89,117,193,100,85,117,193,23,89,117,193,86,79,117,10,5,91,117,193,100,85,117,193,51,89,117,193,86,79,117,9,5,91,117,193,100,85,117,193,107,89,117,193,86,79,117,8,5,91,117,193,100,85,117,193,136,89,117,193,86,79,117,7,5,91,117,193,100,85,117,193,136,89,117,193,86,79,117,6,5,91,117,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,79,117,193,9,1,0,57,16,255,255,89,117,193,152,58,16,198,129,79,117,193,23,1,0,57,16,198,161,58,16,0,192,198,65,79,117,193,37,1,0,57,16,0,192,198,97,58,16,0,192,198,129,79,117,193,65,1,0,57,16,0,192,198,161,58,16,0,192,198,193,79,117,193,86,48,0,58,16,112,64,198,225,57,16,1,192,198,1,79,117,193,100,1,0,57,16,1,192,198,33,58,16,1,192,198,65,79,117,193,121,1,0,57,16,1,192,198,97,58,16,1,192,198,129,79,117,193,149,1,0,57,16,1,192,198,161,58,16,1,192,198,193,79,117,193,184,48,0,58,16,1,192,198,225,79,117,193,233,1,0,57,16,2,192,198,1,58,16,2,192,198,33,80,117,193,7,1,0,57,16,2,192,198,65,58,16,2,192,198,97,80,117,193,14,1,0,57,16,2,192,198,129,58,16,2,192,198,161,80,117,193,28,1,0,57,16,2,192,198,193,58,16,2,192,198,225,80,117,193,42,1,0,57,16,3,192,198,1,58,16,3,192,198,33,80,117,193,63,1,0,57,16,3,192,198,65,58,16,3,192,198,97,80,117,193,84,1,0,57,16,3,192,198,129,58,16,3,192,198,161,80,117,193,112,1,0,57,16,3,192,198,193,58,16,3,192,198,225,80,117,193,119,1,0,57,16,3,0,58,16,4,192,198,161,115,65,198,1,25,16,4,16,58,16,56,16,4,192,198,36,80,117,193,126,1,0,57,16,4,192,198,193,58,16,4,192,198,225,80,117,193,147,1,0,57,16,5,192,198,1,58,16,5,192,198,33,80,117,193,168,1,0,57,16,5,192,198,65,58,16,178,65,198,97,47,16,21,16,58,16,5,192,198,131,80,117,193,196,1,0,57,16,5,192,198,225,58,16,6,192,198,1,80,117,193,203,1,0,57,16,6,192,198,33,58,16,6,192,198,65,80,117,193,245,1,0,57,16,6,192,198,97,58,16,6,192,198,129,81,117,193,12,1,0,57,16,6,192,198,161,58,16,6,192,198,193,81,117,193,33,1,0,57,16,6,192,198,225,58,16,7,192,198,1,81,117,193,47,1,0,57,16,7,192,198,33,58,16,7,192,198,65,81,117,193,61,1,0,57,16,7,192,198,97,58,16,7,192,198,129,81,117,193,89,2,0,0,16,5,0,57,16,9,0,58,16,8,192,198,193,50,0,58,16,59,16,44,16,7,192,198,164,114,66,198,33,24,16,0,16,58,16,8,192,198,68,81,117,193,103,48,0,58,16,8,192,198,225,83,117,5,5,1,0,57,16,3,0,58,16,9,192,198,33,177,66,198,1,25,16,46,16,197,163,85,117,193,9,1,0,57,16,9,192,198,65,58,16,9,192,198,97,85,117,193,51,48,0,58,16,9,192,198,129,85,117,193,100,48,0,58,16,9,192,198,161,9,0,198,194,30,0,16,16,141,0,24,16,67,0,28,16,30,0,28,16,7,0,30,16,12,0,31,16,17,0,63,16,24,192,198,195,1,0,57,16,23,192,198,66,58,16,23,192,198,130,1,0,57,16,23,192,198,194,58,16,24,192,198,2,1,0,57,16,24,192,198,66,58,16,24,192,198,130,24,16,12,0,25,16,17,0,26,16,22,0,27,16,1,0,57,16,22,192,198,194,58,16,23,192,198,2,1,0,57,16,21,192,198,66,58,16,21,192,198,130,1,0,57,16,21,192,198,194,58,16,22,192,198,2,1,0,57,16,22,192,198,66,58,16,22,192,198,130,20,16,35,0,20,16,12,0,21,16,17,0,22,16,22,0,23,16,1,0,57,16,20,192,198,194,58,16,21,192,198,2,1,0,57,16,19,192,198,66,58,16,19,192,198,130,1,0,57,16,19,192,198,194,58,16,20,192,198,2,1,0,57,16,20,192,198,66,58,16,20,192,198,130,16,16,12,0,17,16,17,0,18,16,22,0,19,16,1,0,57,16,18,192,198,194,58,16,19,192,198,2,1,0,57,16,17,192,198,66,58,16,17,192,198,130,1,0,57,16,17,192,198,194,58,16,18,192,198,2,1,0,57,16,18,192,198,66,58,16,18,192,198,130,7,16,72,0,12,16,35,0,12,16,12,0,13,16,17,0,14,16,22,0,15,16,1,0,57,16,16,192,198,194,58,16,17,192,198,2,1,0,57,16,15,192,198,66,58,16,15,192,198,130,1,0,57,16,15,192,198,194,58,16,16,192,198,2,1,0,57,16,16,192,198,66,58,16,16,192,198,130,7,16,12,0,9,16,17,0,10,16,22,0,11,16,1,0,57,16,14,192,198,194,58,16,15,192,198,2,1,0,57,16,13,192,198,66,58,16,13,192,198,130,1,0,57,16,13,192,198,194,58,16,14,192,198,2,1,0,57,16,14,192,198,66,58,16,14,192,198,130,3,16,35,0,3,16,12,0,4,16,17,0,5,16,22,0,6,16,1,0,57,16,12,192,198,194,58,16,13,192,198,2,1,0,57,16,11,192,198,130,58,16,11,192,198,194,1,0,57,16,0,192,197,132,58,16,12,192,198,2,1,0,57,16,12,192,198,66,58,16,12,192,198,130,0,16,10,0,1,16,15,0,2,16,1,0,57,16,11,192,198,2,58,16,11,192,198,66,1,0,57,16,10,192,198,2,58,16,10,192,198,66,1,0,57,16,10,192,198,130,58,16,10,192,198,194,25,0,198,98,32,0,17,16,141,0,25,16,67,0,30,16,30,0,30,16,10,0,31,16,15,0,46,16,40,192,198,98,47,16,17,0,63,16,40,192,198,227,1,0,57,16,39,192,198,98,58,16,39,192,198,162,1,0,57,16,39,192,198,226,58,16,40,192,198,34,48,0,54,16,40,192,198,162,25,16,12,0,26,16,17,0,27,16,22,0,28,16,1,0,57,16,38,192,198,226,58,16,39,192,198,34,1,0,57,16,37,192,198,98,58,16,37,192,198,162,1,0,57,16,37,192,198,226,58,16,38,192,198,34,1,0,57,16,38,192,198,98,58,16,38,192,198,162,21,16,35,0,21,16,12,0,22,16,17,0,23,16,22,0,24,16,1,0,57,16,36,192,198,226,58,16,37,192,198,34,1,0,57,16,35,192,198,98,58,16,35,192,198,162,1,0,57,16,35,192,198,226,58,16,36,192,198,34,1,0,57,16,36,192,198,98,58,16,36,192,198,162,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,34,192,198,226,58,16,35,192,198,34,1,0,57,16,33,192,198,98,58,16,33,192,198,162,1,0,57,16,33,192,198,226,58,16,34,192,198,34,1,0,57,16,34,192,198,98,58,16,34,192,198,162,9,16,72,0,13,16,35,0,13,16,12,0,14,16,17,0,15,16,22,0,16,16,1,0,57,16,32,192,198,226,58,16,33,192,198,34,1,0,57,16,31,192,198,98,58,16,31,192,198,162,1,0,57,16,31,192,198,226,58,16,32,192,198,34,1,0,57,16,32,192,198,98,58,16,32,192,198,162,9,16,12,0,10,16,17,0,11,16,22,0,12,16,1,0,57,16,30,192,198,226,58,16,31,192,198,34,1,0,57,16,29,192,198,98,58,16,29,192,198,162,1,0,57,16,29,192,198,226,58,16,30,192,198,34,1,0,57,16,30,192,198,98,58,16,30,192,198,162,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,28,192,198,226,58,16,29,192,198,34,1,0,57,16,1,192,197,4,58,16,27,192,198,162,1,0,57,16,27,192,198,226,58,16,28,192,198,34,1,0,57,16,28,192,198,98,58,16,28,192,198,162,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,27,192,198,34,58,16,27,192,198,98,1,0,57,16,25,192,198,162,58,16,25,192,198,226,1,0,57,16,26,192,198,34,58,16,26,192,198,98,1,0,57,16,26,192,198,162,58,16,26,192,198,226,41,0,198,66,29,0,16,16,137,0,23,16,72,0,27,16,35,0,27,16,12,0,28,16,17,0,30,16,22,0,31,16,1,0,57,16,55,192,198,194,58,16,56,192,198,2,1,0,57,16,54,192,198,66,58,16,54,192,198,130,1,0,57,16,54,192,198,194,58,16,55,192,198,2,1,0,57,16,55,192,198,66,58,16,55,192,198,130,23,16,12,0,24,16,17,0,25,16,22,0,26,16,1,0,57,16,53,192,198,194,58,16,54,192,198,2,1,0,57,16,52,192,198,66,58,16,52,192,198,130,1,0,57,16,52,192,198,194,58,16,53,192,198,2,1,0,57,16,53,192,198,66,58,16,53,192,198,130,19,16,35,0,19,16,12,0,20,16,17,0,21,16,22,0,22,16,1,0,57,16,51,192,198,194,58,16,52,192,198,2,1,0,57,16,50,192,198,66,58,16,50,192,198,130,1,0,57,16,50,192,198,194,58,16,51,192,198,2,1,0,57,16,51,192,198,66,58,16,51,192,198,130,16,16,10,0,17,16,15,0,18,16,1,0,57,16,49,192,198,194,58,16,50,192,198,2,1,0,57,16,48,192,198,194,58,16,49,192,198,2,1,0,57,16,49,192,198,66,58,16,49,192,198,130,7,16,72,0,12,16,35,0,12,16,12,0,13,16,17,0,14,16,22,0,15,16,1,0,57,16,48,192,198,66,58,16,48,192,198,130,1,0,57,16,46,192,198,194,58,16,47,192,198,2,1,0,57,16,47,192,198,66,58,16,47,192,198,130,1,0,57,16,47,192,198,194,58,16,48,192,198,2,7,16,12,0,9,16,17,0,10,16,22,0,11,16,1,0,57,16,46,192,198,66,58,16,46,192,198,130,1,0,57,16,44,192,198,194,58,16,45,192,198,2,1,0,57,16,45,192,198,66,58,16,45,192,198,130,1,0,57,16,45,192,198,194,58,16,46,192,198,2,3,16,35,0,3,16,12,0,4,16,17,0,5,16,22,0,6,16,1,0,57,16,44,192,198,66,58,16,44,192,198,130,1,0,57,16,43,192,198,2,58,16,43,192,198,66,1,0,57,16,1,192,197,132,58,16,43,192,198,130,1,0,57,16,43,192,198,194,58,16,44,192,198,2,0,16,10,0,1,16,15,0,2,16,1,0,57,16,42,192,198,130,58,16,42,192,198,194,1,0,57,16,41,192,198,130,58,16,41,192,198,194,1,0,57,16,42,192,198,2,58,16,42,192,198,66,56,0,198,130,30,0,16,16,162,1,24,16,88,1,28,16,51,1,28,16,28,1,30,16,33,1,31,16,38,1,49,16,48,0,44,16,29,0,16,16,137,0,23,16,72,0,27,16,35,0,27,16,12,0,28,16,17,0,30,16,22,0,31,16,1,0,57,16,85,192,198,194,58,16,86,192,198,2,1,0,57,16,84,192,198,66,58,16,84,192,198,130,1,0,57,16,84,192,198,194,58,16,85,192,198,2,1,0,57,16,85,192,198,66,58,16,85,192,198,130,23,16,12,0,24,16,17,0,25,16,22,0,26,16,1,0,57,16,83,192,198,194,58,16,84,192,198,2,1,0,57,16,82,192,198,66,58,16,82,192,198,130,1,0,57,16,82,192,198,194,58,16,83,192,198,2,1,0,57,16,83,192,198,66,58,16,83,192,198,130,19,16,35,0,19,16,12,0,20,16,17,0,21,16,22,0,22,16,1,0,57,16,81,192,198,194,58,16,82,192,198,2,1,0,57,16,80,192,198,66,58,16,80,192,198,130,1,0,57,16,80,192,198,194,58,16,81,192,198,2,1,0,57,16,81,192,198,66,58,16,81,192,198,130,16,16,10,0,17,16,15,0,18,16,1,0,57,16,79,192,198,194,58,16,80,192,198,2,1,0,57,16,78,192,198,194,58,16,79,192,198,2,1,0,57,16,79,192,198,66,58,16,79,192,198,130,7,16,72,0,12,16,35,0,12,16,12,0,13,16,17,0,14,16,22,0,15,16,1,0,57,16,78,192,198,66,58,16,78,192,198,130,1,0,57,16,76,192,198,194,58,16,77,192,198,2,1,0,57,16,77,192,198,66,58,16,77,192,198,130,1,0,57,16,77,192,198,194,58,16,78,192,198,2,7,16,12,0,9,16,17,0,10,16,22,0,11,16,1,0,57,16,76,192,198,66,58,16,76,192,198,130,1,0,57,16,74,192,198,194,58,16,75,192,198,2,1,0,57,16,75,192,198,66,58,16,75,192,198,130,1,0,57,16,75,192,198,194,58,16,76,192,198,2,3,16,35,0,3,16,12,0,4,16,17,0,5,16,22,0,6,16,1,0,57,16,74,192,198,66,58,16,74,192,198,130,1,0,57,16,73,192,198,2,58,16,73,192,198,66,1,0,57,16,2,192,197,132,58,16,73,192,198,130,1,0,57,16,73,192,198,194,58,16,74,192,198,2,0,16,10,0,1,16,15,0,2,16,1,0,57,16,72,192,198,130,58,16,72,192,198,194,1,0,57,16,71,192,198,130,58,16,71,192,198,194,1,0,57,16,72,192,198,2,58,16,72,192,198,66,1,0,57,16,70,192,198,2,58,16,70,192,198,66,1,0,57,16,70,192,198,130,58,16,70,192,198,194,1,0,57,16,71,192,198,2,58,16,71,192,198,66,24,16,12,0,25,16,17,0,26,16,22,0,27,16,1,0,57,16,69,192,198,130,58,16,69,192,198,194,1,0,57,16,68,192,198,2,58,16,68,192,198,66,1,0,57,16,68,192,198,130,58,16,68,192,198,194,1,0,57,16,69,192,198,2,58,16,69,192,198,66,20,16,35,0,20,16,12,0,21,16,17,0,22,16,22,0,23,16,1,0,57,16,67,192,198,130,58,16,67,192,198,194,1,0,57,16,66,192,198,2,58,16,66,192,198,66,1,0,57,16,66,192,198,130,58,16,66,192,198,194,1,0,57,16,67,192,198,2,58,16,67,192,198,66,16,16,12,0,17,16,17,0,18,16,22,0,19,16,1,0,57,16,65,192,198,130,58,16,65,192,198,194,1,0,57,16,64,192,198,2,58,16,64,192,198,66,1,0,57,16,64,192,198,130,58,16,64,192,198,194,1,0,57,16,65,192,198,2,58,16,65,192,198,66,7,16,72,0,12,16,35,0,12,16,12,0,13,16,17,0,14,16,22,0,15,16,1,0,57,16,63,192,198,130,58,16,63,192,198,194,1,0,57,16,62,192,198,2,58,16,62,192,198,66,1,0,57,16,62,192,198,130,58,16,62,192,198,194,1,0,57,16,63,192,198,2,58,16,63,192,198,66,7,16,12,0,9,16,17,0,10,16,22,0,11,16,1,0,57,16,61,192,198,130,58,16,61,192,198,194,1,0,57,16,60,192,198,2,58,16,60,192,198,66,1,0,57,16,60,192,198,130,58,16,60,192,198,194,1,0,57,16,61,192,198,2,58,16,61,192,198,66,3,16,35,0,3,16,12,0,4,16,17,0,5,16,22,0,6,16,1,0,57,16,59,192,198,130,58,16,59,192,198,194,1,0,57,16,58,192,198,66,58,16,58,192,198,130,1,0,57,16,2,192,197,4,58,16,58,192,198,194,1,0,57,16,59,192,198,2,58,16,59,192,198,66,0,16,10,0,1,16,15,0,2,16,1,0,57,16,57,192,198,194,58,16,58,192,198,2,1,0,57,16,56,192,198,194,58,16,57,192,198,2,1,0,57,16,57,192,198,66,58,16,57,192,198,130,87,117,5,70,33,0,17,16,146,0,25,16,72,0,29,16,35,0,29,16,11,0,30,16,13,0,31,16,18,0,32,16,23,0,33,16,48,0,58,16,94,192,198,97,48,0,58,16,93,192,198,161,1,0,57,16,93,192,198,193,58,16,93,192,198,225,1,0,57,16,94,192,198,1,58,16,94,192,198,33,48,0,58,16,94,192,198,65,25,16,12,0,26,16,17,0,27,16,22,0,28,16,1,0,57,16,93,192,198,97,58,16,93,192,198,129,1,0,57,16,92,192,198,161,58,16,92,192,198,193,1,0,57,16,92,192,198,225,58,16,93,192,198,1,1,0,57,16,93,192,198,33,58,16,93,192,198,65,21,16,35,0,21,16,12,0,22,16,17,0,23,16,22,0,24,16,1,0,57,16,92,192,198,97,58,16,92,192,198,129,1,0,57,16,91,192,198,161,58,16,91,192,198,193,1,0,57,16,91,192,198,225,58,16,92,192,198,1,1,0,57,16,92,192,198,33,58,16,92,192,198,65,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,91,192,198,97,58,16,91,192,198,129,1,0,57,16,90,192,198,161,58,16,90,192,198,193,1,0,57,16,90,192,198,225,58,16,91,192,198,1,1,0,57,16,91,192,198,33,58,16,91,192,198,65,8,16,78,0,12,16,44,0,12,16,14,0,13,16,19,0,14,16,24,0,15,16,29,0,16,16,1,0,57,16,90,192,198,97,58,16,90,192,198,129,1,0,57,16,89,192,198,97,58,16,89,192,198,129,1,0,57,16,89,192,198,161,58,16,89,192,198,193,1,0,57,16,89,192,198,225,58,16,90,192,198,1,1,0,57,16,90,192,198,33,58,16,90,192,198,65,8,16,12,0,9,16,14,0,10,16,19,0,11,16,1,0,57,16,89,192,198,33,58,16,89,192,198,65,48,0,58,16,88,192,198,129,1,0,57,16,88,192,198,161,58,16,88,192,198,193,1,0,57,16,88,192,198,225,58,16,89,192,198,1,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,88,192,198,65,58,16,88,192,198,97,48,0,58,16,48,86,198,129,57,16,87,192,198,161,1,0,57,16,87,192,198,193,58,16,87,192,198,225,1,0,57,16,88,192,198,1,58,16,88,192,198,33,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,87,192,198,65,58,16,87,192,198,97,1,0,57,16,86,192,198,129,58,16,86,192,198,161,1,0,57,16,86,192,198,193,58,16,86,192,198,225,1,0,57,16,87,192,198,1,58,16,87,192,198,33,87,117,5,5,33,0,17,16,146,0,25,16,72,0,29,16,35,0,29,16,11,0,30,16,13,0,31,16,18,0,32,16,23,0,33,16,48,0,58,16,102,192,198,65,48,0,58,16,101,192,198,129,1,0,57,16,101,192,198,161,58,16,101,192,198,193,1,0,57,16,101,192,198,225,58,16,102,192,198,1,48,0,58,16,102,192,198,33,25,16,12,0,26,16,17,0,27,16,22,0,28,16,1,0,57,16,101,192,198,65,58,16,101,192,198,97,1,0,57,16,100,192,198,129,58,16,100,192,198,161,1,0,57,16,100,192,198,193,58,16,100,192,198,225,1,0,57,16,101,192,198,1,58,16,101,192,198,33,21,16,35,0,21,16,12,0,22,16,17,0,23,16,22,0,24,16,1,0,57,16,100,192,198,65,58,16,100,192,198,97,1,0,57,16,99,192,198,129,58,16,99,192,198,161,1,0,57,16,99,192,198,193,58,16,99,192,198,225,1,0,57,16,100,192,198,1,58,16,100,192,198,33,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,99,192,198,65,58,16,99,192,198,97,1,0,57,16,98,192,198,129,58,16,98,192,198,161,1,0,57,16,98,192,198,193,58,16,98,192,198,225,1,0,57,16,99,192,198,1,58,16,99,192,198,33,8,16,78,0,12,16,44,0,12,16,14,0,13,16,19,0,14,16,24,0,15,16,29,0,16,16,1,0,57,16,98,192,198,65,58,16,98,192,198,97,1,0,57,16,97,192,198,65,58,16,97,192,198,97,1,0,57,16,97,192,198,129,58,16,97,192,198,161,1,0,57,16,97,192,198,193,58,16,97,192,198,225,1,0,57,16,98,192,198,1,58,16,98,192,198,33,8,16,12,0,9,16,14,0,10,16,19,0,11,16,1,0,57,16,97,192,198,1,58,16,97,192,198,33,48,0,58,16,96,192,198,97,1,0,57,16,96,192,198,129,58,16,96,192,198,161,1,0,57,16,96,192,198,193,58,16,96,192,198,225,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,96,192,198,33,58,16,96,192,198,65,48,0,58,16,48,88,198,97,57,16,95,192,198,129,1,0,57,16,95,192,198,161,58,16,95,192,198,193,1,0,57,16,95,192,198,225,58,16,96,192,198,1,0,16,12,0,1,16,18,0,2,16,23,0,3,16,1,0,57,16,95,192,198,33,58,16,95,192,198,65,1,0,57,16,255,255,89,117,193,153,58,16,94,192,198,129,1,0,57,16,94,192,198,161,58,16,94,192,198,193,1,0,57,16,94,192,198,225,58,16,95,192,198,1,89,117,193,23,36,0,18,16,209,1,27,16,117,1,32,16,74,1,32,16,9,0,33,16,11,0,47,16,13,0,54,16,58,1,63,16,118,192,198,226,48,0,58,16,110,192,198,65,48,0,58,16,110,192,198,97,225,127,89,117,193,151,17,16,146,0,25,16,72,0,29,16,35,0,29,16,11,0,30,16,13,0,31,16,18,0,32,16,23,0,33,16,48,0,58,16,118,192,198,97,48,0,58,16,117,192,198,161,1,0,57,16,117,192,198,193,58,16,117,192,198,225,1,0,57,16,118,192,198,1,58,16,118,192,198,33,48,0,58,16,118,192,198,65,25,16,12,0,26,16,17,0,27,16,22,0,28,16,1,0,57,16,117,192,198,97,58,16,117,192,198,129,1,0,57,16,116,192,198,161,58,16,116,192,198,193,1,0,57,16,116,192,198,225,58,16,117,192,198,1,1,0,57,16,117,192,198,33,58,16,117,192,198,65,21,16,35,0,21,16,12,0,22,16,17,0,23,16,22,0,24,16,1,0,57,16,116,192,198,97,58,16,116,192,198,129,1,0,57,16,115,192,198,161,58,16,115,192,198,193,1,0,57,16,115,192,198,225,58,16,116,192,198,1,1,0,57,16,116,192,198,33,58,16,116,192,198,65,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,115,192,198,97,58,16,115,192,198,129,1,0,57,16,114,192,198,161,58,16,114,192,198,193,1,0,57,16,114,192,198,225,58,16,115,192,198,1,1,0,57,16,115,192,198,33,58,16,115,192,198,65,8,16,78,0,12,16,44,0,12,16,14,0,13,16,19,0,14,16,24,0,15,16,29,0,16,16,1,0,57,16,114,192,198,97,58,16,114,192,198,129,1,0,57,16,113,192,198,97,58,16,113,192,198,129,1,0,57,16,113,192,198,161,58,16,113,192,198,193,1,0,57,16,113,192,198,225,58,16,114,192,198,1,1,0,57,16,114,192,198,33,58,16,114,192,198,65,8,16,12,0,9,16,14,0,10,16,19,0,11,16,1,0,57,16,113,192,198,33,58,16,113,192,198,65,48,0,58,16,112,192,198,129,1,0,57,16,112,192,198,161,58,16,112,192,198,193,1,0,57,16,112,192,198,225,58,16,113,192,198,1,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,112,192,198,65,58,16,112,192,198,97,48,0,58,16,48,92,198,129,57,16,111,192,198,161,1,0,57,16,111,192,198,193,58,16,111,192,198,225,1,0,57,16,112,192,198,1,58,16,112,192,198,33,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,111,192,198,65,58,16,111,192,198,97,1,0,57,16,110,192,198,129,58,16,110,192,198,161,1,0,57,16,110,192,198,193,58,16,110,192,198,225,1,0,57,16,111,192,198,1,58,16,111,192,198,33,193,93,198,129,55,16,118,192,198,161,56,16,118,192,198,193,27,16,14,0,28,16,19,0,29,16,24,0,30,16,26,0,31,16,1,0,57,16,110,192,198,1,58,16,110,192,198,33,1,0,57,16,109,192,198,65,58,16,109,192,198,97,1,0,57,16,109,192,198,129,58,16,109,192,198,161,48,0,58,16,109,192,198,193,1,0,57,16,24,192,198,225,58,16,109,192,198,225,22,16,53,0,22,16,14,0,23,16,19,0,24,16,24,0,25,16,29,0,26,16,1,0,57,16,109,192,198,1,58,16,109,192,198,33,1,0,57,16,107,192,198,193,58,16,107,192,198,225,1,0,57,16,108,192,198,1,58,16,108,192,198,33,1,0,57,16,108,192,198,65,58,16,108,192,198,97,2,0,55,16,9,0,57,16,108,192,198,161,58,16,112,91,198,193,56,16,108,192,198,225,48,0,58,16,108,192,198,129,18,16,12,0,19,16,17,0,20,16,22,0,21,16,1,0,57,16,107,192,198,129,58,16,107,192,198,161,1,0,57,16,106,192,198,193,58,16,106,192,198,225,1,0,57,16,107,192,198,1,58,16,107,192,198,33,1,0,57,16,107,192,198,65,58,16,107,192,198,97,9,16,81,0,13,16,44,0,13,16,14,0,14,16,19,0,15,16,24,0,16,16,29,0,17,16,1,0,57,16,106,192,198,129,58,16,106,192,198,161,1,0,57,16,105,192,198,129,58,16,105,192,198,161,1,0,57,16,105,192,198,193,58,16,105,192,198,225,1,0,57,16,106,192,198,1,58,16,106,192,198,33,1,0,57,16,106,192,198,65,58,16,106,192,198,97,9,16,12,0,10,16,17,0,11,16,22,0,12,16,1,0,57,16,105,192,198,65,58,16,105,192,198,97,1,0,57,16,104,192,198,129,58,16,104,192,198,161,1,0,57,16,104,192,198,193,58,16,104,192,198,225,1,0,57,16,105,192,198,1,58,16,105,192,198,33,4,16,41,0,4,16,11,0,5,16,16,0,6,16,21,0,7,16,26,0,8,16,48,0,58,16,104,192,198,97,48,0,58,16,48,90,198,97,57,16,103,192,198,129,1,0,57,16,103,192,198,161,58,16,103,192,198,193,1,0,57,16,103,192,198,225,58,16,104,192,198,1,1,0,57,16,104,192,198,33,58,16,104,192,198,65,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,103,192,198,33,58,16,103,192,198,65,1,0,57,16,102,192,198,97,58,16,102,192,198,129,1,0,57,16,102,192,198,161,58,16,102,192,198,193,1,0,57,16,102,192,198,225,58,16,103,192,198,1,89,117,193,51,35,0,18,16,160,0,27,16,68,0,31,16,34,0,31,16,9,0,32,16,14,0,33,16,16,0,54,16,18,0,63,16,127,192,198,130,1,0,57,16,126,192,198,161,58,16,126,192,198,193,48,0,58,16,126,192,198,225,48,0,58,16,127,192,198,1,1,96,198,33,55,16,127,192,198,65,56,16,127,192,198,97,27,16,12,0,28,16,17,0,29,16,22,0,30,16,1,0,57,16,41,192,198,1,58,16,126,192,198,129,1,0,57,16,125,192,198,225,58,16,126,192,198,1,1,0,57,16,126,192,198,33,58,16,126,192,198,65,48,0,58,16,126,192,198,97,22,16,53,0,22,16,14,0,23,16,19,0,24,16,24,0,25,16,29,0,26,16,1,0,57,16,125,192,198,161,58,16,125,192,198,193,1,0,57,16,124,192,198,97,58,16,124,192,198,129,1,0,57,16,124,192,198,161,58,16,124,192,198,193,1,0,57,16,124,192,198,225,58,16,125,192,198,1,2,0,55,16,9,0,57,16,125,192,198,65,58,16,176,95,198,97,56,16,125,192,198,129,48,0,58,16,125,192,198,33,18,16,12,0,19,16,17,0,20,16,22,0,21,16,1,0,57,16,124,192,198,65,58,16,5,192,198,193,1,0,57,16,123,192,198,129,58,16,123,192,198,161,1,0,57,16,123,192,198,193,58,16,123,192,198,225,1,0,57,16,124,192,198,1,58,16,124,192,198,33,9,16,81,0,13,16,44,0,13,16,14,0,14,16,19,0,15,16,24,0,16,16,29,0,17,16,1,0,57,16,123,192,198,65,58,16,123,192,198,97,1,0,57,16,122,192,198,65,58,16,122,192,198,97,1,0,57,16,122,192,198,129,58,16,122,192,198,161,1,0,57,16,122,192,198,193,58,16,122,192,198,225,1,0,57,16,123,192,198,1,58,16,123,192,198,33,9,16,12,0,10,16,17,0,11,16,22,0,12,16,1,0,57,16,122,192,198,1,58,16,122,192,198,33,1,0,57,16,121,192,198,65,58,16,121,192,198,97,1,0,57,16,121,192,198,129,58,16,121,192,198,161,1,0,57,16,121,192,198,193,58,16,121,192,198,225,4,16,41,0,4,16,11,0,5,16,16,0,6,16,21,0,7,16,26,0,8,16,48,0,58,16,121,192,198,33,48,0,58,16,112,94,198,33,57,16,120,192,198,65,1,0,57,16,120,192,198,97,58,16,120,192,198,129,1,0,57,16,120,192,198,161,58,16,120,192,198,193,1,0,57,16,120,192,198,225,58,16,121,192,198,1,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,119,192,198,225,58,16,120,192,198,1,1,0,57,16,119,192,198,33,58,16,119,192,198,65,1,0,57,16,119,192,198,97,58,16,119,192,198,129,1,0,57,16,119,192,198,161,58,16,119,192,198,193,89,117,193,107,36,0,18,16,250,2,27,16,167,2,32,16,124,2,32,16,9,0,33,16,11,0,43,16,13,0,44,16,61,1,63,16,152,192,198,98,48,0,58,16,135,192,198,129,48,0,58,16,135,192,198,161,34,98,198,193,17,16,150,0,26,16,67,0,30,16,33,0,30,16,9,0,31,16,14,0,32,16,19,0,33,16,21,0,58,16,143,192,198,225,1,0,57,16,143,192,198,33,58,16,143,192,198,65,1,0,57,16,143,192,198,97,58,16,143,192,198,129,48,0,58,16,143,192,198,161,48,0,58,16,143,192,198,193,26,16,9,0,27,16,14,0,28,16,19,0,29,16,48,0,58,16,143,192,198,1,1,0,57,16,142,192,198,65,58,16,142,192,198,97,1,0,57,16,142,192,198,129,58,16,142,192,198,161,1,0,57,16,142,192,198,193,58,16,142,192,198,225,21,16,44,0,21,16,14,0,22,16,19,0,23,16,24,0,24,16,29,0,25,16,1,0,57,16,142,192,198,1,58,16,142,192,198,33,1,0,57,16,141,192,198,1,58,16,141,192,198,33,1,0,57,16,141,192,198,65,58,16,141,192,198,97,1,0,57,16,141,192,198,129,58,16,141,192,198,161,1,0,57,16,141,192,198,193,58,16,141,192,198,225,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,140,192,198,193,58,16,140,192,198,225,1,0,57,16,140,192,198,1,58,16,140,192,198,33,1,0,57,16,140,192,198,65,58,16,140,192,198,97,1,0,57,16,140,192,198,129,58,16,140,192,198,161,8,16,78,0,12,16,44,0,12,16,14,0,13,16,19,0,14,16,24,0,15,16,29,0,16,16,1,0,57,16,139,192,198,193,58,16,139,192,198,225,1,0,57,16,138,192,198,193,58,16,138,192,198,225,1,0,57,16,139,192,198,1,58,16,139,192,198,33,1,0,57,16,139,192,198,65,58,16,139,192,198,97,1,0,57,16,139,192,198,129,58,16,139,192,198,161,8,16,12,0,9,16,14,0,10,16,19,0,11,16,1,0,57,16,138,192,198,129,58,16,138,192,198,161,48,0,58,16,137,192,198,225,1,0,57,16,138,192,198,1,58,16,138,192,198,33,1,0,57,16,138,192,198,65,58,16,138,192,198,97,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,137,192,198,161,58,16,137,192,198,193,48,0,58,16,112,98,198,225,57,16,137,192,198,1,1,0,57,16,137,192,198,33,58,16,137,192,198,65,1,0,57,16,137,192,198,97,58,16,137,192,198,129,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,136,192,198,161,58,16,136,192,198,193,1,0,57,16,135,192,198,225,58,16,136,192,198,1,1,0,57,16,136,192,198,33,58,16,136,192,198,65,1,0,57,16,136,192,198,97,58,16,136,192,198,129,226,127,89,117,193,136,17,16,151,0,26,16,68,0,30,16,34,0,30,16,10,0,31,16,15,0,32,16,20,0,33,16,22,0,58,16,255,255,89,117,193,137,1,0,57,16,151,192,198,161,58,16,151,192,198,193,1,0,57,16,151,192,198,225,58,16,152,192,198,1,48,0,58,16,152,192,198,33,48,0,58,16,152,192,198,65,26,16,9,0,27,16,14,0,28,16,19,0,29,16,48,0,58,16,151,192,198,129,1,0,57,16,150,192,198,193,58,16,150,192,198,225,1,0,57,16,151,192,198,1,58,16,151,192,198,33,1,0,57,16,151,192,198,65,58,16,151,192,198,97,21,16,44,0,21,16,14,0,22,16,19,0,23,16,24,0,24,16,29,0,25,16,1,0,57,16,150,192,198,129,58,16,150,192,198,161,1,0,57,16,149,192,198,129,58,16,149,192,198,161,1,0,57,16,149,192,198,193,58,16,149,192,198,225,1,0,57,16,150,192,198,1,58,16,150,192,198,33,1,0,57,16,150,192,198,65,58,16,150,192,198,97,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,149,192,198,65,58,16,149,192,198,97,1,0,57,16,148,192,198,129,58,16,148,192,198,161,1,0,57,16,148,192,198,193,58,16,148,192,198,225,1,0,57,16,149,192,198,1,58,16,149,192,198,33,8,16,78,0,12,16,44,0,12,16,14,0,13,16,19,0,14,16,24,0,15,16,29,0,16,16,1,0,57,16,148,192,198,65,58,16,148,192,198,97,1,0,57,16,147,192,198,65,58,16,147,192,198,97,1,0,57,16,147,192,198,129,58,16,147,192,198,161,1,0,57,16,147,192,198,193,58,16,147,192,198,225,1,0,57,16,148,192,198,1,58,16,148,192,198,33,8,16,12,0,9,16,14,0,10,16,19,0,11,16,1,0,57,16,147,192,198,1,58,16,147,192,198,33,48,0,58,16,146,192,198,97,1,0,57,16,146,192,198,129,58,16,146,192,198,161,1,0,57,16,146,192,198,193,58,16,146,192,198,225,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,146,192,198,33,58,16,146,192,198,65,48,0,58,16,176,100,198,97,57,16,145,192,198,129,1,0,57,16,145,192,198,161,58,16,145,192,198,193,1,0,57,16,145,192,198,225,58,16,146,192,198,1,0,16,12,0,1,16,20,0,2,16,25,0,3,16,1,0,57,16,145,192,198,33,58,16,145,192,198,65,1,0,57,16,144,192,198,1,58,16,112,100,198,33,59,16,144,192,198,67,1,0,57,16,144,192,198,161,58,16,144,192,198,193,1,0,57,16,144,192,198,225,58,16,145,192,198,1,27,16,14,0,28,16,19,0,29,16,24,0,30,16,26,0,31,16,1,0,57,16,135,192,198,65,58,16,135,192,198,97,1,0,57,16,134,192,198,97,58,16,134,192,198,129,1,0,57,16,134,192,198,161,58,16,134,192,198,193,48,0,58,16,134,192,198,225,1,0,57,16,135,192,198,1,58,16,135,192,198,33,22,16,44,0,22,16,14,0,23,16,19,0,24,16,24,0,25,16,29,0,26,16,1,0,57,16,134,192,198,33,58,16,134,192,198,65,1,0,57,16,133,192,198,33,58,16,133,192,198,65,1,0,57,16,133,192,198,97,58,16,133,192,198,129,1,0,57,16,133,192,198,161,58,16,133,192,198,193,1,0,57,16,133,192,198,225,58,16,134,192,198,1,18,16,12,0,19,16,17,0,20,16,22,0,21,16,1,0,57,16,132,192,198,225,58,16,133,192,198,1,1,0,57,16,132,192,198,33,58,16,132,192,198,65,1,0,57,16,132,192,198,97,58,16,132,192,198,129,1,0,57,16,132,192,198,161,58,16,132,192,198,193,9,16,81,0,13,16,44,0,13,16,14,0,14,16,19,0,15,16,24,0,16,16,29,0,17,16,1,0,57,16,131,192,198,225,58,16,132,192,198,1,1,0,57,16,130,192,198,225,58,16,131,192,198,1,1,0,57,16,131,192,198,33,58,16,131,192,198,65,1,0,57,16,131,192,198,97,58,16,131,192,198,129,1,0,57,16,131,192,198,161,58,16,131,192,198,193,9,16,12,0,10,16,17,0,11,16,22,0,12,16,1,0,57,16,130,192,198,161,58,16,130,192,198,193,1,0,57,16,129,192,198,225,58,16,130,192,198,1,1,0,57,16,130,192,198,33,58,16,130,192,198,65,1,0,57,16,130,192,198,97,58,16,130,192,198,129,4,16,41,0,4,16,11,0,5,16,16,0,6,16,21,0,7,16,26,0,8,16,48,0,58,16,129,192,198,193,48,0,58,16,112,96,198,193,57,16,128,192,198,225,1,0,57,16,129,192,198,1,58,16,129,192,198,33,1,0,57,16,129,192,198,65,58,16,129,192,198,97,1,0,57,16,129,192,198,129,58,16,129,192,198,161,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,128,192,198,129,58,16,128,192,198,161,1,0,57,16,127,192,198,193,58,16,127,192,198,225,1,0,57,16,128,192,198,1,58,16,128,192,198,33,1,0,57,16,128,192,198,65,58,16,128,192,198,97,93,117,193,80,48,0,56,16,255,255,93,117,193,82,144,0,198,129,1,0,61,16,3,0,62,16,152,192,198,225,112,102,198,161,62,16,152,192,198,193,153,0,198,1,1,0,61,16,3,0,62,16,153,192,198,97,176,102,198,33,62,16,153,192,198,65,153,0,198,129,48,0,62,16,153,192,198,161,108,11,5,5,50,0,4,16,58,16,56,16,155,192,198,6,16,0,1,16,34,16,43,16,45,16,47,16,48,16,49,16,50,16,54,16,55,16,56,16,57,16,59,16,60,16,61,16,64,16,170,170,3,0,69,0,52,0,61,0,55,13,0,16,4,0,0,96,1,0,0,96,1,0,43,0,77,38,0,32,1,0,32,0,82,38,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,11,0,0,0,15,0,0,0,15,0,0,0,1,0,0,0,0,0,0,0,15,0,0,0,37,37,80,97,114,101,110,116,0,170,170,170,0,0,110,0,111,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,118,0,0,32,7,0,0,0,21,0,0,0,120,0,0,0,120,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,68,0,101,0,118,0,97,0,93,0,0,0,170,170,60,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,36,0,0,0,36,1,0,0,10,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,39,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,111,0,0,32,1,0,32,0,116,0,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,11,0,0,0,15,0,0,0,15,0,0,0,1,0,0,0,0,0,0,0,15,0,0,0,37,37,80,97,114,101,110,116,0,170,170,170,0,0,110,0,111,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,153,27,0,32,7,0,0,0,23,0,0,0,155,27,0,0,155,27,0,0,3,0,0,0,0,0,0,0,118,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,110,0,111,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,133,220,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,116,0,60,0,60,0,60,0,254,0,47,0,104,0,38,0,84,0,60,0,60,0,60,0,222,0,47,0,72,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,101,0,40,3,60,0,60,0,60,0,69,0,40,3,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,60,0,97,0,97,0,60,0,60,0,60,0,65,0,97,0,60,0,60,0,60,0,65,0,65,0,0,0,170,170,170,170,4,57,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,163,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,100,38,0,0,100,38,0,0,140,47,0,0,140,47,0,0,76,51,0,0,76,51,0,0,178,56,0,0,232,56,0,0,232,56,0,0,50,105,114,84,1,0,64,8,89,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,145,0,153,0,159,0,167,0,175,0,183,0,48,0,56,0,182,0,190,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,0,215,0,48,0,48,0,48,0,223,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,231,0,48,0,48,0,239,0,48,0,245,0,253,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,8,1,48,0,48,0,12,1,48,0,20,1,25,1,33,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,39,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,47,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,205,0,48,0,48,0,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,58,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,66,1,48,0,48,0,72,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,68,2,124,2,188,2,192,0,216,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,28,0,202,225,28,0,202,2,29,0,202,35,29,0,202,68,29,0,202,101,29,0,202,134,29,0,202,167,29,0,202,200,29,0,202,233,29,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,196,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,102,29,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,38,30,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,70,31,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,228,32,0,5,5,0,44,5,5,0,46,5,5,0,48,201,166,47,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,48,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,134,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,97,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,225,17,0,5,5,127,12,198,129,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,34,20,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,97,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,33,27,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,51,0,201,102,52,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,193,17,0,198,1,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,18,0,198,65,27,0,198,97,28,0,198,129,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,134,53,0,201,166,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,55,0,201,230,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,58,0,201,38,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,162,29,0,198,226,29,0,192,0,0,0,192,0,0,0,198,34,30,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,60,0,201,102,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,31,0,197,34,5,0,198,162,31,0,197,98,5,0,198,226,31,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,32,0,198,98,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,62,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,64,0,5,71,238,102,201,70,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,192,0,0,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,7,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,197,99,8,0,197,194,8,0,192,0,0,0,192,0,0,0,197,2,9,0,197,67,9,0,197,162,9,0,192,0,0,0,192,0,0,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,66,0,201,70,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,68,0,201,134,69,0,201,166,70,0,201,198,71,0,201,230,72,0,201,6,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,75,0,201,70,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,77,0,201,134,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,79,0,201,198,80,0,201,230,81,0,201,6,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,84,0,201,70,85,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,135,0,70,0,4,111,93,0,70,0,70,0,4,111,93,0,135,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,135,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,5,0,70,0,4,111,93,0,5,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,226,5,0,5,5,10,121,5,5,12,121,197,34,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,197,226,6,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,7,0,5,5,107,121,197,98,7,0,5,5,111,121,197,162,7,0,5,5,115,121,197,226,7,0,5,5,119,121,197,34,8,0,197,99,8,0,197,194,8,0,5,5,127,121,5,5,129,121,197,2,9,0,197,67,9,0,197,162,9,0,5,5,137,121,5,5,139,121,197,226,9,0,5,5,143,121,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,50,156,5,48,0,40,3,17,192,198,193,0,70,156,5,1,0,8,3,17,192,198,225,11,3,18,192,198,1,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,131,179,30,25,192,198,227,181,30,26,192,198,67,183,30,26,192,198,163,169,30,24,192,198,3,171,30,24,192,198,99,173,30,24,192,198,195,175,30,25,192,198,35,161,30,12,0,161,30,22,192,198,194,163,30,23,192,198,2,165,30,23,192,198,67,167,30,23,192,198,163,39,2,10,0,8,3,22,192,198,97,10,3,255,255,111,93,193,4,1,30,22,192,198,130,176,69,198,34,4,3,21,192,198,35,3,1,26,0,225,1,12,0,225,1,21,192,198,35,251,1,21,192,198,131,1,2,21,192,198,226,3,2,22,192,198,34,3,1,20,192,198,2,5,1,20,192,198,66,206,1,20,192,198,130,223,1,20,192,198,195,227,0,12,0,227,0,19,192,198,2,228,0,19,192,198,66,229,0,19,192,198,130,1,1,19,192,198,194,97,0,18,192,198,33,224,0,18,192,198,66,225,0,18,192,198,130,226,0,18,192,198,194,0,50,5,5,48,0,40,3,27,192,198,1,0,70,5,5,1,0,8,3,27,192,198,33,11,3,27,192,198,65,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,162,10,3,27,192,198,226,5,42,196,162,1,0,8,3,28,192,198,34,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,5,70,196,190,1,0,8,3,29,192,198,34,11,3,29,192,198,98,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,5,70,196,162,1,0,8,3,30,192,198,226,11,3,31,192,198,34,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,32,192,198,162,10,3,32,192,198,226,5,42,196,200,1,0,8,3,33,192,198,34,10,3,12,192,197,162,156,82,196,198,1,0,8,3,12,192,197,226,11,3,13,192,197,34,5,82,196,198,1,0,8,3,13,192,197,98,11,3,13,192,197,162,156,82,196,208,1,0,8,3,13,192,197,226,11,3,14,192,197,34,5,82,196,208,1,0,8,3,14,192,197,98,11,3,14,192,197,162,156,82,196,204,1,0,8,3,14,192,197,226,11,3,15,192,197,34,5,82,196,204,1,0,8,3,15,192,197,98,11,3,15,192,197,162,156,42,196,196,1,0,8,3,33,192,198,98,10,3,33,192,198,162,5,42,196,196,1,0,8,3,33,192,198,226,10,3,15,192,197,226,156,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,5,70,196,196,1,0,8,3,34,192,198,162,11,3,34,192,198,226,16,0,197,35,1,0,8,3,35,192,198,35,11,3,35,192,198,131,16,0,197,131,1,0,8,3,35,192,198,227,11,3,36,192,198,67,156,82,196,196,1,0,8,3,16,192,197,226,11,3,17,192,197,34,5,82,196,196,1,0,8,3,17,192,197,98,11,3,17,192,197,162,17,0,197,227,1,0,8,3,18,192,197,67,11,3,18,192,197,163,19,0,197,3,1,0,8,3,19,192,197,99,11,3,19,192,197,195,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,3,0,67,0,50,0,59,0,119,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,64,51,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,52,30,0,0,52,30,0,0,92,39,0,0,92,39,0,0,56,41,0,0,56,41,0,0,88,46,0,0,142,46,0,0,36,51,0,0,50,105,114,84,1,0,64,8,214,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,170,0,48,0,178,0,183,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,197,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,158,0,48,0,48,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,13,0,202,193,13,0,202,226,13,0,202,3,14,0,202,36,14,0,202,69,14,0,202,102,14,0,202,135,14,0,202,168,14,0,202,201,14,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,4,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,166,28,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,102,29,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,134,30,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,36,32,0,5,5,0,44,5,5,0,46,5,5,0,48,201,230,46,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,47,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,198,48,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,97,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,225,17,0,5,5,127,12,198,129,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,98,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,97,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,33,27,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,50,0,201,166,51,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,193,17,0,198,1,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,18,0,198,65,27,0,198,97,28,0,198,129,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,198,52,0,201,230,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,55,0,201,38,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,57,0,201,102,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,162,29,0,198,226,29,0,192,0,0,0,192,0,0,0,198,34,30,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,59,0,201,166,60,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,31,0,197,34,5,0,198,162,31,0,197,98,5,0,198,226,31,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,32,0,198,98,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,61,0,201,230,62,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,64,0,201,38,65,0,201,70,66,0,201,102,67,0,201,134,68,0,201,166,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,70,0,201,230,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,73,0,201,38,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,75,0,201,102,76,0,201,134,77,0,201,166,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,79,0,201,230,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,135,0,70,0,4,111,93,0,70,0,70,0,4,111,93,0,135,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,135,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,5,0,70,0,4,111,93,0,5,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,50,156,5,48,0,40,3,17,192,198,193,0,70,156,5,1,0,8,3,17,192,198,225,11,3,18,192,198,1,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,131,179,30,25,192,198,227,181,30,26,192,198,67,183,30,26,192,198,163,169,30,24,192,198,3,171,30,24,192,198,99,173,30,24,192,198,195,175,30,25,192,198,35,161,30,12,0,161,30,22,192,198,194,163,30,23,192,198,2,165,30,23,192,198,67,167,30,23,192,198,163,39,2,10,0,8,3,22,192,198,97,10,3,255,255,111,93,193,4,1,30,22,192,198,130,176,69,198,34,4,3,21,192,198,35,3,1,26,0,225,1,12,0,225,1,21,192,198,35,251,1,21,192,198,131,1,2,21,192,198,226,3,2,22,192,198,34,3,1,20,192,198,2,5,1,20,192,198,66,206,1,20,192,198,130,223,1,20,192,198,195,227,0,12,0,227,0,19,192,198,2,228,0,19,192,198,66,229,0,19,192,198,130,1,1,19,192,198,194,97,0,18,192,198,33,224,0,18,192,198,66,225,0,18,192,198,130,226,0,18,192,198,194,0,50,5,5,48,0,40,3,27,192,198,1,0,70,5,5,1,0,8,3,27,192,198,33,11,3,27,192,198,65,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,162,10,3,27,192,198,226,5,42,196,162,1,0,8,3,28,192,198,34,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,5,70,196,190,1,0,8,3,29,192,198,34,11,3,29,192,198,98,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,5,70,196,162,1,0,8,3,30,192,198,226,11,3,31,192,198,34,156,42,196,200,1,0,8,3,32,192,198,162,10,3,32,192,198,226,5,42,196,200,1,0,8,3,33,192,198,34,10,3,5,192,197,226,156,82,196,198,1,0,8,3,6,192,197,34,11,3,6,192,197,98,5,82,196,198,1,0,8,3,6,192,197,162,11,3,6,192,197,226,156,82,196,208,1,0,8,3,7,192,197,34,11,3,7,192,197,98,5,82,196,208,1,0,8,3,7,192,197,162,11,3,7,192,197,226,156,82,196,204,1,0,8,3,8,192,197,34,11,3,8,192,197,98,5,82,196,204,1,0,8,3,8,192,197,162,11,3,8,192,197,226,156,42,196,196,1,0,8,3,33,192,198,98,10,3,33,192,198,162,5,42,196,196,1,0,8,3,33,192,198,226,10,3,9,192,197,34,156,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,5,70,196,196,1,0,8,3,34,192,198,162,11,3,34,192,198,226,9,0,197,99,1,0,8,3,35,192,198,35,11,3,35,192,198,131,9,0,197,195,1,0,8,3,35,192,198,227,11,3,36,192,198,67,156,82,196,196,1,0,8,3,10,192,197,34,11,3,10,192,197,98,5,82,196,196,1,0,8,3,10,192,197,162,11,3,10,192,197,226,11,0,197,35,1,0,8,3,11,192,197,131,11,3,11,192,197,227,12,0,197,67,1,0,8,3,12,192,197,163,11,3,13,192,197,3,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,60,185,64,185,68,82,4,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,84,4,185,124,185,128,185,136,186,140,186,144,86,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,88,4,168,60,168,64,168,68,119,4,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,121,4,168,124,168,128,168,136,168,140,168,144,123,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,217,180,185,188,185,180,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,249,121,121,122,217,184,136,14,185,184,185,153,153,153,249,153,217,168,153,169,0,8,2,8,168,57,136,57,232,57,104,58,200,180,168,188,168,180,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,232,121,104,122,200,184,128,14,168,184,168,153,136,153,232,153,200,168,136,169,4,8,72,170,249,58,232,58,217,57,200,57,125,4,127,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,249,180,232,180,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,132,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,184,232,184,25,185,8,185,153,137,136,137,185,138,168,138,25,138,8,138,154,141,136,141,250,141,232,141,186,142,168,142,26,142,8,142,186,146,168,146,26,146,8,146,185,148,168,148,121,154,104,154,249,154,232,154,217,153,200,153,57,154,40,154,249,168,232,168,129,4,131,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,153,174,136,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,187,144,185,84,200,140,169,140,169,144,168,84,187,88,187,96,169,88,169,96,169,176,169,112,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,65,4,218,188,97,4,209,188,192,6,218,188,168,1,193,6,218,188,136,1,194,6,218,188,232,1,195,6,218,188,104,2,196,6,218,188,72,2,197,6,218,188,40,2,224,6,209,188,168,1,225,6,209,188,136,1,226,6,209,188,232,1,227,6,209,188,104,2,228,6,209,188,72,2,229,6,209,188,40,2,0,7,218,188,232,2,1,7,209,188,232,2,2,7,218,188,200,1,3,7,209,188,200,1,4,7,218,188,200,2,5,7,209,188,200,2,255,5,185,72,255,5,185,120,255,5,185,152,255,5,168,56,97,4,200,188,224,6,200,188,168,1,225,6,200,188,136,1,226,6,200,188,232,1,227,6,200,188,104,2,228,6,200,188,72,2,229,6,200,188,40,2,1,7,200,188,232,2,3,7,200,188,200,1,5,7,200,188,200,2,255,5,168,72,255,5,168,120,255,5,168,152,255,5,217,58,255,5,200,58,255,5,217,154,255,5,200,154,255,1,3,0,67,0,50,0,59,0,191,14,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,185,14,0,32,144,27,0,32,1,0,32,0,149,27,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,10,0,0,0,14,0,0,0,14,0,0,0,1,0,0,0,0,0,0,0,14,0,0,0,37,37,65,76,73,65,83,0,0,0,110,0,111,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,10,10,0,32,7,0,0,0,21,0,0,0,12,10,0,0,12,10,0,0,3,0,0,0,0,0,0,0,62,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,75,220,38,0,90,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,60,0,100,0,104,0,60,0,60,0,60,0,68,0,104,0,60,0,60,0,60,0,68,0,72,0,60,0,107,0,104,0,60,0,60,0,60,0,75,0,104,0,60,0,60,0,60,0,75,0,72,0,60,0,110,0,121,0,60,0,60,0,60,0,78,0,121,0,60,0,60,0,60,0,78,0,89,0,60,0,112,0,104,0,60,0,60,0,60,0,80,0,104,0,60,0,60,0,60,0,80,0,72,0,60,0,115,0,104,0,60,0,60,0,60,0,83,0,104,0,0,0,170,170,170,170,170,170,12,39,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,196,23,0,0,196,23,0,0,140,26,0,0,140,26,0,0,200,29,0,0,200,29,0,0,30,34,0,0,96,34,0,0,240,38,0,0,50,105,114,84,1,0,64,8,111,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,94,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,24,0,202,193,24,0,202,226,24,0,202,3,25,0,202,36,25,0,202,69,25,0,202,102,25,0,202,135,25,0,202,168,25,0,202,201,25,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,201,160,7,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,201,96,15,0,156,5,0,64,156,5,0,66,201,32,23,0,156,5,0,70,201,32,32,0,160,5,0,74,156,5,0,76,201,160,39,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,160,43,0,201,192,47,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,201,224,51,0,5,5,0,64,5,5,0,66,201,0,56,0,5,5,0,70,201,32,61,0,5,5,0,74,5,5,0,76,201,64,65,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,23,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,24,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,24,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,96,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,135,0,5,0,2,5,93,0,70,0,5,0,2,5,93,0,135,0,5,0,2,5,93,0,5,0,136,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,136,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,150,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,142,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,142,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,150,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,164,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,164,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,156,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,156,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,146,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,138,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,138,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,196,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,196,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,182,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,182,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,154,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,154,0,0,0,0,0,135,0,5,0,3,5,93,0,70,0,5,0,3,5,93,0,135,0,5,0,3,5,93,0,5,0,142,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,142,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,144,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,144,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,156,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,156,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,196,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,196,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,150,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,150,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,160,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,160,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,206,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,206,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,210,0,0,0,0,0,70,0,5,0,4,5,93,0,70,0,5,0,4,5,93,0,5,0,142,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,144,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,156,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,196,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,150,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,160,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,206,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,210,0,0,0,0,0,0,0,0,135,5,2,93,5,142,0,0,70,5,2,93,5,142,0,0,135,5,2,93,5,144,0,0,70,5,2,93,5,144,0,0,135,5,2,93,5,156,0,0,70,5,2,93,5,156,0,0,135,5,2,93,5,196,0,0,70,5,2,93,5,196,0,0,135,5,2,93,5,150,0,0,70,5,2,93,5,150,0,0,135,5,2,93,5,160,0,0,70,5,2,93,5,160,0,0,135,5,2,93,5,206,0,0,70,5,2,93,5,206,0,0,70,5,2,93,5,210,0,0,135,5,3,93,5,142,0,0,70,5,3,93,5,142,0,0,135,5,3,93,5,144,0,0,70,5,3,93,5,144,0,0,135,5,3,93,5,156,0,0,70,5,3,93,5,156,0,0,135,5,3,93,5,196,0,0,70,5,3,93,5,196,0,0,135,5,3,93,5,150,0,0,70,5,3,93,5,150,0,0,135,5,3,93,5,160,0,0,70,5,3,93,5,160,0,0,135,5,3,93,5,206,0,0,70,5,3,93,5,206,0,0,70,5,3,93,5,210,0,0,135,5,4,93,5,142,0,0,70,5,4,93,5,142,0,0,135,5,4,93,5,144,0,0,70,5,4,93,5,144,0,0,135,5,4,93,5,156,0,0,70,5,4,93,5,156,0,0,135,5,4,93,5,196,0,0,70,5,4,93,5,196,0,0,135,5,4,93,5,150,0,0,70,5,4,93,5,150,0,0,135,5,4,93,5,160,0,0,70,5,4,93,5,160,0,0,135,5,4,93,5,206,0,0,70,5,4,93,5,206,0,0,70,5,4,93,5,210,0,0,5,5,2,93,5,142,0,0,5,5,2,93,5,144,0,0,5,5,2,93,5,156,0,0,5,5,2,93,5,196,0,0,5,5,2,93,5,150,0,0,5,5,2,93,5,160,0,0,5,5,2,93,5,206,0,0,5,5,2,93,5,210,0,0,5,5,3,93,5,142,0,0,5,5,3,93,5,144,0,0,5,5,3,93,5,156,0,0,5,5,3,93,5,196,0,0,5,5,3,93,5,150,0,0,5,5,3,93,5,160,0,0,5,5,3,93,5,206,0,0,5,5,3,93,5,210,0,0,5,5,4,93,5,142,0,0,5,5,4,93,5,144,0,0,5,5,4,93,5,156,0,0,5,5,4,93,5,196,0,0,5,5,4,93,5,150,0,0,5,5,4,93,5,160,0,0,5,5,4,93,5,206,0,0,5,5,4,93,5,210,0,0,193,2,5,93,5,136,0,0,193,2,5,93,5,150,0,0,193,2,5,93,5,142,0,0,193,2,5,93,5,164,0,0,193,2,5,93,5,156,0,0,193,2,5,93,5,146,0,0,193,2,5,93,5,138,0,0,193,2,5,93,5,196,0,0,193,2,5,93,5,182,0,0,193,2,5,93,5,154,0,0,193,3,5,93,5,142,0,0,193,3,5,93,5,144,0,0,193,3,5,93,5,156,0,0,193,3,5,93,5,196,0,0,193,3,5,93,5,150,0,0,193,3,5,93,5,160,0,0,193,3,5,93,5,206,0,0,193,3,5,93,5,210,0,0,193,4,5,93,5,142,0,0,193,4,5,93,5,144,0,0,193,4,5,93,5,156,0,0,193,4,5,93,5,196,0,0,193,4,5,93,5,150,0,0,193,4,5,93,5,160,0,0,193,4,5,93,5,206,0,0,193,4,5,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,255,255,2,93,135,5,104,0,255,255,2,93,70,5,36,1,197,162,37,1,0,192,197,98,0,48,156,5,16,0,36,30,29,0,40,30,15,0,40,30,6,192,197,98,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,30,2,12,0,30,2,4,192,197,98,31,2,4,192,197,162,34,30,4,192,197,226,35,30,5,192,197,34,72,0,255,255,3,93,135,5,104,0,255,255,3,93,70,5,36,1,3,192,197,226,37,1,4,192,197,34,0,62,156,5,16,0,36,30,29,0,40,30,15,0,40,30,10,192,197,34,41,30,10,192,197,98,42,30,10,192,197,162,43,30,10,192,197,226,150,30,11,192,197,34,36,30,9,192,197,34,37,30,9,192,197,98,38,30,9,192,197,162,39,30,9,192,197,226,30,2,12,0,30,2,8,192,197,34,31,2,8,192,197,98,34,30,8,192,197,162,35,30,8,192,197,226,72,0,255,255,4,93,135,5,104,0,255,255,4,93,70,5,36,1,7,192,197,162,37,1,7,192,197,226,0,68,156,5,20,0,142,30,37,0,244,30,20,0,247,30,9,0,247,30,4,192,198,66,248,30,4,192,198,130,249,30,4,192,198,194,244,30,3,192,198,130,245,30,3,192,198,194,246,30,4,192,198,2,142,30,2,192,198,66,143,30,2,192,198,130,153,30,2,192,198,194,242,30,3,192,198,2,243,30,3,192,198,66,118,1,15,0,118,1,1,192,198,2,119,1,1,192,198,66,120,1,1,192,198,130,50,2,1,192,198,194,51,2,2,192,198,2,89,0,198,129,121,0,198,161,221,0,0,192,198,66,253,0,0,192,198,130,255,0,0,192,198,194,0,72,156,5,16,0,36,30,29,0,40,30,15,0,40,30,7,192,198,194,41,30,8,192,198,2,42,30,8,192,198,66,43,30,8,192,198,130,150,30,8,192,198,194,36,30,6,192,198,194,37,30,7,192,198,2,38,30,7,192,198,66,39,30,7,192,198,130,30,2,12,0,30,2,5,192,198,194,31,2,6,192,198,2,34,30,6,192,198,66,35,30,6,192,198,130,72,0,5,192,198,1,104,0,5,192,198,33,36,1,5,192,198,66,37,1,5,192,198,130,0,78,156,5,8,0,37,30,15,0,37,30,9,192,198,226,39,30,10,192,198,34,41,30,10,192,198,98,43,30,10,192,198,162,150,30,10,192,198,226,104,0,9,192,198,1,37,1,9,192,198,34,31,2,9,192,198,98,35,30,9,192,198,162,0,46,5,5,8,0,37,30,15,0,37,30,12,192,197,34,39,30,12,192,197,98,41,30,12,192,197,162,43,30,12,192,197,226,150,30,13,192,197,34,104,0,255,255,2,93,5,5,37,1,11,192,197,98,31,2,11,192,197,162,35,30,11,192,197,226,0,48,5,5,8,0,37,30,15,0,37,30,14,192,197,34,39,30,14,192,197,98,41,30,14,192,197,162,43,30,14,192,197,226,150,30,15,192,197,34,104,0,255,255,3,93,5,5,37,1,13,192,197,98,31,2,13,192,197,162,35,30,13,192,197,226,0,62,5,5,8,0,37,30,15,0,37,30,16,192,197,34,39,30,16,192,197,98,41,30,16,192,197,162,43,30,16,192,197,226,150,30,17,192,197,34,104,0,255,255,4,93,5,5,37,1,15,192,197,98,31,2,15,192,197,162,35,30,15,192,197,226,0,68,5,5,10,0,143,30,20,0,245,30,9,0,245,30,19,192,197,34,247,30,19,192,197,98,249,30,19,192,197,162,143,30,18,192,197,98,153,30,18,192,197,162,243,30,18,192,197,226,121,0,255,255,5,93,193,2,253,0,17,192,197,98,255,0,17,192,197,162,119,1,17,192,197,226,51,2,18,192,197,34,0,72,5,5,8,0,37,30,15,0,37,30,20,192,197,162,39,30,20,192,197,226,41,30,21,192,197,34,43,30,21,192,197,98,150,30,21,192,197,162,104,0,255,255,5,93,193,3,37,1,19,192,197,226,31,2,20,192,197,34,35,30,20,192,197,98,0,78,5,5,8,0,37,30,15,0,37,30,22,192,197,162,39,30,22,192,197,226,41,30,23,192,197,34,43,30,23,192,197,98,150,30,23,192,197,162,104,0,255,255,5,93,193,4,37,1,21,192,197,226,31,2,22,192,197,34,35,30,22,192,197,98,32,0,72,0,73,0,89,0,90,0,104,0,105,0,121,0,122,0,221,0,222,0,253,0,254,0,255,0,0,1,36,1,38,1,118,1,121,1,30,2,32,2,50,2,52,2,34,30,44,30,142,30,144,30,150,30,151,30,153,30,154,30,242,30,250,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,36,4,186,72,185,76,185,80,185,84,186,88,186,96,46,4,185,104,185,108,56,4,185,120,74,4,185,128,185,136,84,4,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,90,4,96,4,168,72,168,76,168,80,168,84,168,88,168,96,102,4,168,104,168,108,108,4,168,120,118,4,168,128,168,136,124,4,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,200,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,200,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,204,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,186,176,104,4,177,176,36,5,250,177,37,5,241,177,255,5,185,68,72,4,186,180,104,4,177,180,36,5,250,181,37,5,241,181,255,5,185,100,72,4,186,184,104,4,177,184,36,5,250,185,37,5,241,185,255,5,186,112,89,4,186,188,121,4,177,188,221,4,154,189,253,4,145,189,255,4,81,190,118,5,250,189,119,5,241,189,120,5,90,190,255,5,185,124,72,4,186,192,104,4,177,192,36,5,250,193,37,5,241,193,255,5,186,140,104,4,177,196,37,5,241,197,255,5,168,64,104,4,168,176,37,5,232,177,255,5,168,68,104,4,168,180,37,5,232,181,255,5,168,100,104,4,168,184,37,5,232,185,255,5,168,112,121,4,168,188,253,4,136,189,255,4,72,190,119,5,232,189,255,5,168,124,104,4,168,192,37,5,232,193,255,5,168,140,104,4,168,196,37,5,232,197,255,1,3,0,69,0,52,0,61,0,63,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,3,10,0,32,1,0,32,0,8,10,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,208,6,0,32,7,0,0,0,21,0,0,0,210,6,0,0,210,6,0,0,3,0,0,0,0,0,0,0,72,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,96,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,20,11,60,0,1,11,60,0,2,11,60,0,3,11,38,0,57,11,60,0,21,11,77,11,55,11,38,0,47,11,60,0,60,0,95,11,0,0,170,170,170,170,170,170,170,170,170,170,170,170,242,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,128,0,0,0,128,1,0,0,128,25,0,0,128,25,0,0,128,25,0,0,128,25,0,0,196,25,0,0,196,25,0,0,212,25,0,0,218,25,0,0,31,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,108,187,255,0,109,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,39,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,119,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,102,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,33,108,193,3,33,108,193,4,33,108,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,84,108,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,34,108,5,5,49,0,77,11,55,11,255,255,105,108,5,5,2,0,55,11,56,11,170,170,3,0,69,0,52,0,61,0,75,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,201,6,0,32,1,0,32,0,206,6,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,14,7,0,32,7,0,0,0,21,0,0,0,16,7,0,0,16,7,0,0,3,0,0,0,0,0,0,0,74,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,100,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,71,0,117,0,114,0,117,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,113,10,60,0,60,0,112,10,60,0,60,0,2,10,60,0,60,0,1,10,60,0,60,0,60,10,38,0,92,10,60,0,77,10,0,0,170,170,170,170,236,26,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,128,0,0,0,128,1,0,0,96,26,0,0,96,26,0,0,96,26,0,0,96,26,0,0,212,26,0,0,16,0,0,0,10,0,0,0,4,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,2,0,0,0,0,0,0,41,9,0,0,96,7,0,0,102,203,255,0,103,6,0,0,104,192,255,0,106,189,255,0,107,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,103,104,105,106,107,108,49,109,40,41,39,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,133,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,100,0,108,0,116,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,2,0,202,129,2,0,202,162,2,0,202,195,2,0,202,228,2,0,202,5,3,0,202,38,3,0,202,71,3,0,202,104,3,0,202,137,3,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,1,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,2,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,122,241,194,5,121,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,123,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,106,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,197,226,0,0,197,34,1,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,120,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,94,106,194,5,123,241,5,5,32,106,194,5,123,241,5,5,40,106,194,5,123,241,5,5,42,106,194,5,123,241,5,5,52,106,194,5,123,241,5,5,80,106,194,5,123,241,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,75,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,7,7,0,32,1,0,32,0,12,7,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,112,0,97,0,95,0,71,0,117,0,114,0,117,0,95,0,73,0,78,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,247,9,0,32,7,0,0,0,21,0,0,0,249,9,0,0,249,9,0,0,3,0,0,0,0,0,0,0,59,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,70,220,38,0,65,0,60,0,5,1,60,0,60,0,60,0,4,1,38,0,67,0,60,0,7,1,60,0,60,0,60,0,6,1,38,0,69,0,60,0,25,1,60,0,60,0,60,0,24,1,38,0,76,0,60,0,66,1,60,0,60,0,60,0,65,1,38,0,78,0,60,0,68,1,60,0,60,0,60,0,67,1,38,0,79,0,60,0,243,0,60,0,60,0,60,0,211,0,38,0,83,0,60,0,91,1,60,0,60,0,60,0,90,1,38,0,90,0,60,0,122,1,60,0,60,0,60,0,121,1,60,0,124,1,60,0,60,0,60,0,123,1,0,0,208,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,20,30,0,0,20,30,0,0,20,30,0,0,20,30,0,0,136,31,0,0,136,31,0,0,168,34,0,0,168,34,0,0,184,38,0,0,50,105,114,84,1,0,64,8,212,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,121,0,129,0,132,0,140,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,162,0,48,0,169,0,177,0,181,0,48,0,187,0,195,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,156,0,48,0,48,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,228,1,16,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,10,0,202,129,10,0,202,162,10,0,202,195,10,0,202,228,10,0,202,5,11,0,202,38,11,0,202,71,11,0,202,104,11,0,202,137,11,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,198,0,0,156,5,0,48,201,230,1,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,166,2,0,201,6,4,0,156,5,0,72,160,5,0,74,156,5,0,76,201,102,5,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,198,6,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,166,8,0,5,5,0,44,201,102,9,0,5,5,0,48,201,134,10,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,70,11,0,201,166,12,0,5,5,0,72,5,5,0,74,5,5,0,76,201,6,14,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,102,15,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,9,0,201,70,17,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,134,5,2,71,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,9,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,10,0,201,38,18,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,5,5,2,71,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,43,5,5,2,43,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,65,5,5,2,65,134,5,2,69,5,5,2,69,201,70,19,0,201,102,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,201,134,21,0,201,166,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,134,5,3,93,5,5,3,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,23,0,201,230,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,26,0,201,38,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,28,0,201,102,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,30,0,201,166,31,0,201,198,32,0,201,230,33,0,201,6,35,0,201,38,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,37,0,201,102,38,0,197,34,5,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,39,0,201,6,41,0,201,134,42,0,201,6,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,45,0,201,166,46,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,1,0,197,226,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,47,0,201,230,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,134,5,3,93,5,196,0,0,5,5,2,93,5,196,0,0,5,5,3,93,5,196,0,0,134,5,2,93,5,210,0,0,134,5,3,93,5,210,0,0,5,5,2,93,5,210,0,0,5,5,3,93,5,210,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,40,3,2,235,134,5,0,46,156,5,1,0,1,3,2,239,134,5,65,3,2,239,134,5,0,50,156,5,48,0,40,3,2,243,134,5,0,68,156,5,1,0,1,3,255,255,2,69,134,5,65,3,255,255,2,69,134,5,0,70,156,5,1,0,1,3,255,255,2,71,134,5,65,3,255,255,2,71,134,5,0,78,156,5,1,0,1,3,255,255,2,79,134,5,65,3,255,255,2,79,134,5,0,92,156,5,2,0,1,3,255,255,2,93,134,5,7,3,255,255,3,93,134,5,65,3,255,255,2,93,134,5,0,42,5,5,48,0,40,3,2,235,5,5,0,46,5,5,1,0,1,3,2,239,5,5,65,3,2,239,5,5,0,50,5,5,48,0,40,3,2,243,5,5,0,68,5,5,1,0,1,3,255,255,2,69,5,5,65,3,255,255,2,69,5,5,0,70,5,5,1,0,1,3,255,255,2,71,5,5,65,3,255,255,2,71,5,5,0,78,5,5,1,0,1,3,255,255,2,79,5,5,65,3,255,255,2,79,5,5,0,92,5,5,2,0,1,3,255,255,2,93,5,5,7,3,255,255,3,93,5,5,65,3,255,255,2,93,5,5,156,46,196,160,1,0,1,3,197,162,65,3,197,162,5,46,196,160,1,0,1,3,0,192,197,98,65,3,0,192,197,98,156,68,196,160,1,0,1,3,0,192,197,162,65,3,0,192,197,162,5,68,196,160,1,0,1,3,0,192,197,226,65,3,0,192,197,226,156,78,196,160,1,0,1,3,1,192,197,34,65,3,1,192,197,34,5,78,196,160,1,0,1,3,1,192,197,98,65,3,1,192,197,98,156,70,196,190,1,0,1,3,1,192,197,162,65,3,1,192,197,162,5,70,196,190,1,0,1,3,1,192,197,226,65,3,1,192,197,226,156,70,196,162,1,0,1,3,2,192,197,34,65,3,2,192,197,34,5,70,196,162,1,0,1,3,2,192,197,98,65,3,2,192,197,98,156,78,196,202,1,0,1,3,2,192,197,162,65,3,2,192,197,162,5,78,196,202,1,0,1,3,2,192,197,226,65,3,2,192,197,226,156,68,196,196,1,0,1,3,3,192,197,34,65,3,3,192,197,34,5,68,196,196,1,0,1,3,3,192,197,98,65,3,3,192,197,98,156,68,196,210,1,0,1,3,3,192,197,162,65,3,3,192,197,162,5,68,196,210,1,0,1,3,3,192,197,226,65,3,3,192,197,226,156,68,196,204,1,0,1,3,4,192,197,34,65,3,4,192,197,34,5,68,196,204,1,0,1,3,4,192,197,98,65,3,4,192,197,98,156,78,196,196,1,0,1,3,4,192,197,162,65,3,4,192,197,162,5,78,196,196,1,0,1,3,4,192,197,226,65,3,4,192,197,226,156,92,196,196,2,0,1,3,5,192,197,162,7,3,5,192,197,226,65,3,5,192,197,162,5,92,196,196,2,0,1,3,6,192,197,34,7,3,6,192,197,98,65,3,6,192,197,34,156,92,196,210,2,0,1,3,6,192,197,162,7,3,6,192,197,226,65,3,6,192,197,162,5,92,196,210,2,0,1,3,7,192,197,34,7,3,7,192,197,98,65,3,7,192,197,34,156,70,196,196,1,0,1,3,7,192,197,162,65,3,7,192,197,162,5,70,196,196,1,0,1,3,7,192,197,226,65,3,7,192,197,226,8,0,197,35,1,0,1,3,8,192,197,131,65,3,8,192,197,131,8,0,197,227,1,0,1,3,9,192,197,67,65,3,9,192,197,67,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,64,28,4,185,76,30,4,185,88,185,92,185,96,186,100,186,108,185,112,185,116,185,124,32,4,34,4,185,148,185,152,185,160,36,4,185,172,185,180,185,184,185,188,185,192,185,196,38,4,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,64,42,4,168,76,44,4,168,88,168,92,168,96,168,100,168,108,168,112,168,116,168,124,46,4,48,4,168,148,168,152,168,160,50,4,168,172,168,180,168,184,168,188,168,192,168,196,52,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,54,4,186,81,154,81,250,81,90,82,186,101,154,101,250,101,90,102,217,76,154,130,185,141,185,144,249,141,153,142,89,142,136,14,217,142,185,181,153,181,249,181,89,182,153,197,185,212,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,56,4,168,81,136,81,232,81,72,82,168,101,136,101,232,101,72,102,200,76,136,130,168,141,168,144,232,141,136,142,72,142,128,14,200,142,168,181,136,181,232,181,72,182,136,197,168,212,72,198,57,59,40,59,217,57,200,57,185,60,168,60,185,72,168,72,249,69,232,69,185,70,168,70,25,70,8,70,25,78,8,78,89,79,72,79,58,83,40,83,218,81,200,81,186,82,168,82,185,84,168,84,26,82,8,82,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,97,232,97,89,99,72,99,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,156,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,185,120,168,120,185,132,168,132,58,4,60,4,26,130,8,130,10,8,185,136,168,136,57,143,40,143,217,141,200,141,121,142,104,142,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,185,168,168,168,250,165,232,165,62,4,64,4,26,166,8,166,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,249,197,232,197,89,198,185,204,168,204,185,208,168,208,25,202,8,202,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,164,169,164,200,56,169,80,187,100,187,108,169,100,169,108,169,216,169,128,217,140,187,80,200,140,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,68,255,5,186,80,255,5,186,128,255,5,185,140,255,5,186,164,255,5,185,200,255,5,168,56,255,5,168,68,255,5,168,80,255,5,168,128,255,5,168,140,255,5,168,164,255,5,168,200,255,5,249,70,255,5,232,70,255,5,250,130,255,5,232,130,255,5,250,166,255,5,232,166,255,1,3,0,69,0,52,0,61,0,59,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,240,9,0,32,1,0,32,0,245,9,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,220,8,0,32,7,0,0,0,21,0,0,0,222,8,0,0,222,8,0,0,3,0,0,0,0,0,0,0,123,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,197,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,78,6,60,0,60,0,80,6,60,0,60,0,79,6,60,0,60,0,75,6,60,0,60,0,77,6,60,0,60,0,76,6,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,39,6,60,0,34,6,38,0,39,6,60,0,60,0,35,6,60,0,60,0,114,6,60,0,60,0,113,6,60,0,60,0,37,6,60,0,60,0,115,6,60,0,33,6,38,0,42,6,60,0,124,6,60,0,60,0,121,6,38,0,44,6,60,0,129,6,60,0,60,0,45,6,84,6,38,0,134,6,60,0,133,6,38,0,47,6,60,0,137,6,60,0,60,0,136,6,38,0,49,6,60,0,147,6,60,0,60,0,145,6,38,0,152,6,60,0,150,6,38,0,169,6,60,0,60,0,42,0,170,6,67,6,38,0,171,6,60,0,60,0,175,6,38,0,188,6,60,0,60,0,187,6,38,0,72,6,60,0,60,0,36,6,60,0,60,0,199,6,60,0,60,0,201,6,38,0,71,6,60,0,60,0,60,0,192,6,60,0,60,0,60,0,71,6,84,6,60,0,60,0,42,0,213,6,193,6,190,6,41,6,195,6,38,0,204,6,60,0,60,0,42,0,73,6,210,6,74,6,208,6,205,6,60,0,60,0,204,6,84,6,60,0,60,0,60,0,73,6,84,6,60,0,60,0,60,0,38,6,38,0,160,0,60,0,60,0,12,32,60,0,60,0,13,32,0,0,170,170,100,33,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,72,0,0,0,72,1,0,0,184,28,0,0,184,28,0,0,184,28,0,0,184,28,0,0,12,29,0,0,12,29,0,0,140,29,0,0,140,29,0,0,76,33,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,174,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,96,0,104,0,112,0,120,0,128,0,136,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,157,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,152,0,48,0,48,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,128,1,192,1,0,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,102,5,5,25,102,5,70,26,102,5,70,222,102,5,73,26,102,7,75,240,102,201,6,0,0,192,0,0,0,5,73,214,102,192,0,0,0,192,0,0,0,192,0,0,0,201,230,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,71,184,102,192,0,0,0,192,0,0,0,192,0,0,0,201,198,2,0,201,166,3,0,201,134,4,0,201,102,5,0,194,5,210,230,194,5,212,230,194,5,211,230,192,0,0,0,194,5,209,230,194,5,208,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,72,26,102,5,71,26,102,5,74,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,43,102,192,0,0,0,192,0,0,0,5,5,43,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,102,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,102,192,0,0,0,192,0,0,0,5,70,85,102,5,5,85,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,111,102,192,0,0,0,5,5,111,102,192,0,0,0,192,0,0,0,5,5,129,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,184,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,188,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,210,102,192,0,0,0,192,0,0,0,5,72,214,102,192,0,0,0,6,5,214,102,5,71,214,102,197,34,0,0,5,74,214,102,192,0,0,0,192,0,0,0,192,0,0,0,5,71,222,102,192,0,0,0,5,72,222,102,192,0,0,0,192,0,0,0,201,70,6,0,5,74,240,102,192,0,0,0,192,0,0,0,5,73,240,102,192,0,0,0,5,71,240,102,197,98,0,0,192,0,0,0,201,38,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,4,5,71,0,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,71,214,102,194,5,128,232,5,71,240,102,194,5,128,232,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,26,102,5,5,2,0,83,6,255,255,25,102,5,5,84,6,255,255,26,102,5,70,85,6,255,255,26,102,5,73,72,102,5,5,48,0,84,6,255,255,59,102,5,70,214,102,5,5,48,0,84,6,255,255,214,102,7,5,222,102,5,5,48,0,84,6,255,255,222,102,5,70,240,102,5,70,48,0,84,6,255,255,240,102,6,75,240,102,5,72,48,0,84,6,255,255,240,102,7,75,240,102,5,5,48,0,84,6,255,255,240,102,5,75,214,102,5,70,48,0,84,6,255,255,214,102,6,5,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,176,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,176,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,1,0,1,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,69,0,52,0,61,0,123,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,213,8,0,32,1,0,32,0,218,8,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,105,1,0,32,7,0,0,0,195,0,0,0,109,1,0,0,109,1,0,0,140,0,0,0,1,0,0,0,105,1,0,0,73,110,115,116,97,108,108,101,100,76,111,99,97,108,101,115,0,97,102,0,97,109,0,97,114,0,97,114,95,83,65,0,97,115,0,97,122,0,98,101,0,98,103,0,98,110,0,98,111,0,98,114,0,98,115,0,98,115,95,67,121,114,108,0,99,97,0,99,101,98,0,99,104,114,0,99,115,0,99,121,0,100,97,0,100,101,0,100,101,95,65,84,0,100,115,98,0,100,122,0,101,101,0,101,108,0,101,110,0,101,110,95,85,83,0,101,110,95,85,83,95,80,79,83,73,88,0,101,111,0,101,116,0,102,97,0,102,97,95,65,70,0,102,102,0,102,102,95,65,100,108,109,0,102,105,0,102,105,108,0,102,111,0,102,114,0,102,114,95,67,65,0,102,121,0,103,97,0,103,108,0,103,117,0,104,97,0,104,97,119,0,104,101,0,104,101,95,73,76,0,104,105,0,104,115,98,0,104,117,0,104,121,0,105,100,0,105,100,95,73,68,0,105,103,0,105,115,0,105,116,0,106,97,0,107,97,0,107,107,0,107,108,0,107,109,0,107,110,0,107,111,0,107,111,107,0,107,117,0,107,121,0,108,98,0,108,107,116,0,108,110,0,108,111,0,108,116,0,108,118,0,109,107,0,109,108,0,109,114,0,109,115,0,109,116,0,109,121,0,110,98,0,110,98,95,78,79,0,110,101,0,110,108,0,110,110,0,111,109,0,111,114,0,112,97,0,112,97,95,71,117,114,117,0,112,97,95,71,117,114,117,95,73,78,0,112,108,0,112,115,0,112,116,0,114,111,0,115,97,0,115,101,0,115,105,0,115,107,0,115,108,0,115,109,110,0,115,113,0,115,114,0,115,114,95,67,121,114,108,0,115,114,95,67,121,114,108,95,66,65,0,115,114,95,67,121,114,108,95,77,69,0,115,114,95,67,121,114,108,95,82,83,0,115,114,95,76,97,116,110,0,115,114,95,76,97,116,110,95,66,65,0,115,114,95,76,97,116,110,95,82,83,0,115,118,0,115,119,0,116,97,0,116,101,0,116,104,0,116,107,0,116,111,0,116,114,0,117,103,0,117,107,0,117,114,0,117,122,0,118,105,0,119,97,101,0,119,111,0,120,104,0,121,105,0,121,111,0,121,117,101,95,72,97,110,115,95,67,78,0,121,117,101,95,72,97,110,116,0,122,104,0,122,104,95,72,97,110,115,0,122,104,95,72,97,110,115,95,67,78,0,122,104,95,72,97,110,115,95,83,71,0,122,104,95,72,97,110,116,0,122,104,95,72,97,110,116,95,72,75,0,122,104,95,72,97,110,116,95,77,79,0,122,104,95,72,97,110,116,95,84,87,0,122,117,0,65,108,105,97,115,76,111,99,97,108,101,115,0,97,114,115,0,105,110,0,105,110,95,73,68,0,105,119,0,105,119,95,73,76,0,109,111,0,110,111,0,110,111,95,78,79,0,112,97,95,73,78,0,115,104,0,115,104,95,66,65,0,115,104,95,67,83,0,115,104,95,89,85,0,115,114,95,66,65,0,115,114,95,77,69,0,115,114,95,82,83,0,121,117,101,0,121,117,101,95,67,78,0,121,117,101,95,72,97,110,115,0,122,104,95,67,78,0,122,104,95,72,75,0,122,104,95,77,79,0,122,104,95,83,71,0,122,104,95,84,87,0,0,0,24,0,139,2,143,2,146,2,152,2,155,2,161,2,164,2,167,2,173,2,179,2,182,2,188,2,194,2,200,2,206,2,212,2,218,2,222,2,229,2,238,2,244,2,250,2,0,3,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,0,49,0,52,0,55,0,58,0,64,0,67,0,70,0,73,0,76,0,79,0,82,0,85,0,88,0,96,0,99,0,103,0,107,0,110,0,113,0,116,0,119,0,125,0,129,0,132,0,135,0,138,0,141,0,147,0,159,0,136,2,162,0,165,0,168,0,174,0,177,0,185,0,188,0,192,0,195,0,198,0,204,0,207,0,210,0,213,0,216,0,219,0,223,0,226,0,232,0,104,0,235,0,239,0,242,0,245,0,248,0,254,0,1,1,4,1,7,1,10,1,13,1,16,1,19,1,22,1,25,1,28,1,32,1,35,1,38,1,41,1,45,1,48,1,51,1,54,1,57,1,60,1,149,1,63,1,66,1,69,1,72,1,75,1,78,1,84,1,87,1,90,1,93,1,96,1,99,1,102,1,110,1,121,1,124,1,127,1,130,1,107,1,133,1,136,1,139,1,142,1,145,1,148,1,152,1,155,1,158,1,166,1,177,1,188,1,199,1,207,1,218,1,229,1,232,1,235,1,238,1,241,1,244,1,247,1,250,1,253,1,0,2,3,2,6,2,9,2,12,2,16,2,19,2,22,2,25,2,28,2,40,2,49,2,52,2,60,2,71,2,82,2,90,2,101,2,112,2,123,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,170,2,0,126,2,32,0,170,170,1,0,0,80,50,0,0,80,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,189,8,0,32,7,0,0,0,21,0,0,0,191,8,0,0,191,8,0,0,3,0,0,0,0,0,0,0,47,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,46,220,38,0,65,0,60,0,3,1,60,0,60,0,60,0,2,1,60,0,226,0,60,0,60,0,60,0,194,0,38,0,73,0,60,0,238,0,60,0,60,0,60,0,206,0,38,0,83,0,60,0,95,1,61,0,25,2,60,0,60,0,60,0,94,1,61,0,24,2,38,0,84,0,60,0,99,1,61,0,27,2,60,0,60,0,60,0,98,1,61,0,26,2,0,0,22,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,116,27,0,0,116,27,0,0,116,27,0,0,116,27,0,0,200,28,0,0,200,28,0,0,14,30,0,0,14,30,0,0,254,33,0,0,50,105,114,84,1,0,64,8,170,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,48,0,56,0,48,0,56,0,102,0,110,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,134,0,139,0,48,0,48,0,48,0,147,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,126,0,48,0,48,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,192,0,192,0,152,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,9,0,202,129,9,0,202,162,9,0,202,195,9,0,202,228,9,0,202,5,10,0,202,38,10,0,202,71,10,0,202,104,10,0,202,137,10,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,201,38,1,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,230,1,0,201,70,3,0,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,166,4,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,201,198,5,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,134,6,0,201,230,7,0,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,134,5,3,43,196,154,156,42,196,150,156,42,196,146,156,42,197,162,8,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,134,5,2,59,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,8,0,196,138,5,42,196,136,5,42,5,5,3,43,196,154,5,42,196,150,5,42,196,146,5,42,197,34,9,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,5,5,2,59,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,134,5,2,43,5,5,2,43,201,70,9,0,201,70,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,11,0,201,38,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,134,5,2,81,5,5,2,81,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,134,5,2,81,5,5,2,81,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,12,0,201,6,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,15,0,201,230,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,16,0,201,198,17,0,192,0,0,0,192,0,0,0,197,34,4,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,3,0,197,162,3,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,197,98,7,0,197,162,7,0,197,226,7,0,197,98,3,0,197,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,18,0,201,166,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,3,43,5,162,0,0,134,5,2,43,5,162,0,0,5,5,3,43,5,162,0,0,5,5,2,43,5,162,0,0,134,5,2,59,5,162,0,0,5,5,2,59,5,162,0,0,134,5,3,43,5,200,0,0,134,5,2,43,5,200,0,0,5,5,3,43,5,200,0,0,5,5,2,43,5,200,0,0,134,5,2,59,5,208,0,0,5,5,2,59,5,208,0,0,134,5,3,43,5,196,0,0,134,5,2,43,5,196,0,0,5,5,3,43,5,196,0,0,5,5,2,43,5,196,0,0,134,5,3,43,5,136,0,0,5,5,3,43,5,136,0,0,134,5,3,43,5,138,0,0,5,5,3,43,5,138,0,0,134,5,3,43,5,182,0,0,5,5,3,43,5,182,0,0,134,5,3,43,5,154,0,0,5,5,3,43,5,154,0,0,134,5,2,43,5,136,0,0,5,5,2,43,5,136,0,0,134,5,2,43,5,138,0,0,5,5,2,43,5,138,0,0,134,5,2,43,5,182,0,0,5,5,2,43,5,182,0,0,134,5,2,43,5,154,0,0,5,5,2,43,5,154,0,0,134,5,2,59,5,196,0,0,5,5,2,59,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,2,3,3,235,134,5,6,3,2,235,134,5,0,58,156,5,48,0,2,3,2,251,134,5,0,78,156,5,1,0,38,3,255,255,2,79,134,5,39,3,255,255,2,79,134,5,0,80,156,5,1,0,38,3,255,255,2,81,134,5,39,3,255,255,2,81,134,5,0,42,5,5,1,0,2,3,3,235,5,5,6,3,2,235,5,5,0,58,5,5,48,0,2,3,2,251,5,5,0,78,5,5,1,0,38,3,255,255,2,79,5,5,39,3,255,255,2,79,5,5,0,80,5,5,1,0,38,3,255,255,2,81,5,5,39,3,255,255,2,81,5,5,156,42,196,162,1,0,2,3,197,162,6,3,0,192,197,98,5,42,196,162,1,0,2,3,0,192,197,162,6,3,0,192,197,226,156,58,196,162,48,0,2,3,1,192,197,34,5,58,196,162,48,0,2,3,1,192,197,98,156,42,196,200,1,0,2,3,1,192,197,162,6,3,1,192,197,226,5,42,196,200,1,0,2,3,2,192,197,34,6,3,2,192,197,98,156,58,196,208,48,0,2,3,2,192,197,162,5,58,196,208,48,0,2,3,2,192,197,226,156,42,196,196,1,0,2,3,3,192,197,34,6,3,3,192,197,98,5,42,196,196,1,0,2,3,3,192,197,162,6,3,3,192,197,226,156,58,196,196,48,0,2,3,8,192,197,34,5,58,196,196,48,0,2,3,8,192,197,98,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,68,185,72,185,76,186,80,185,84,185,88,185,92,28,4,186,108,185,112,185,116,185,120,186,124,185,132,185,136,185,140,185,148,30,4,32,4,185,172,185,176,185,180,185,184,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,68,168,72,168,76,168,80,168,84,168,88,168,92,36,4,168,108,168,112,168,116,168,120,168,124,168,132,168,136,168,140,168,148,38,4,40,4,168,172,168,176,168,180,168,184,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,153,57,185,64,153,58,89,58,57,58,0,8,249,74,186,81,154,81,250,81,90,82,186,97,154,97,185,100,90,98,217,76,154,126,185,133,153,133,249,133,153,134,89,134,136,14,217,134,185,173,153,173,249,173,89,174,153,189,185,196,2,8,168,57,136,57,168,64,136,58,72,58,40,58,4,8,232,74,168,81,136,81,232,81,72,82,168,97,136,97,168,100,72,98,200,76,136,126,168,133,136,133,232,133,136,134,72,134,128,14,200,134,168,173,136,173,232,173,72,174,136,189,168,196,72,190,57,59,40,59,185,60,168,60,42,4,44,4,153,73,136,73,249,73,232,73,185,74,168,74,25,74,8,74,25,78,8,78,89,79,72,79,58,83,40,83,218,81,200,81,186,82,168,82,26,83,8,83,26,82,8,82,249,89,232,89,217,89,200,89,185,90,168,90,249,90,232,90,249,93,232,93,89,95,72,95,154,98,136,98,58,99,40,99,218,97,200,97,46,4,48,4,186,98,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,144,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,250,126,232,126,26,126,8,126,10,8,185,128,168,128,57,135,40,135,217,133,200,133,121,134,104,134,12,8,14,8,153,149,136,149,249,150,232,150,25,150,8,150,154,153,136,153,250,153,232,153,185,156,168,156,26,154,8,154,185,164,168,164,25,162,8,162,185,168,168,168,153,174,136,174,57,175,40,175,217,173,200,173,57,174,40,174,121,174,104,174,25,175,8,175,249,181,232,181,249,189,232,189,89,190,153,193,136,193,185,194,168,194,25,194,8,194,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,152,169,152,200,56,169,80,187,96,187,108,169,96,169,108,169,200,169,124,217,132,187,80,200,132,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,96,255,5,186,152,255,5,185,160,255,5,168,56,255,5,168,96,255,5,168,152,255,5,168,160,255,5,25,59,255,5,8,59,255,5,26,99,255,5,8,99,255,1,170,170,3,0,69,0,52,0,61,0,47,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,182,8,0,32,1,0,32,0,187,8,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,199,38,1,32,7,0,0,0,39,0,0,0,207,38,1,0,207,38,1,0,6,0,0,0,0,0,0,0,102,238,0,0,85,67,65,82,117,108,101,115,0,86,101,114,115,105,111,110,0,99,111,108,108,97,116,105,111,110,115,0,100,101,102,97,117,108,116,0,101,109,111,106,105,0,83,101,113,117,101,110,99,101,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,101,111,114,0,112,114,105,118,97,116,101,45,117,110,105,104,97,110,0,115,101,97,114,99,104,0,115,116,97,110,100,97,114,100,0,37,37,68,69,80,69,78,68,69,78,67,89,0,100,101,112,101,110,100,115,0,170,170,0,0,52,0,50,0,0,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,0,0,117,0,99,0,97,0,100,0,97,0,116,0,97,0,46,0,105,0,99,0,117,0,0,0,207,221,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,115,0,117,0,112,0,112,0,114,0,101,0,115,0,115,0,67,0,111,0,110,0,116,0,114,0,97,0,99,0,116,0,105,0,111,0,110,0,115,0,32,0,91,0,64,14,45,0,68,14,32,0,192,14,45,0,196,14,32,0,181,170,32,0,182,170,32,0,185,170,32,0,187,170,32,0,188,170,181,25,45,0,183,25,186,25,93,0,93,0,38,0,39,0,61,0,39,0,60,0,39,0,96,34,39,0,38,0,39,6,60,0,60,0,60,0,142,254,60,0,60,0,60,0,141,254,60,0,60,0,34,6,60,0,60,0,60,0,130,254,60,0,60,0,60,0,129,254,60,0,60,0,35,6,60,0,60,0,60,0,132,254,60,0,60,0,60,0,131,254,60,0,60,0,37,6,60,0,60,0,60,0,136,254,60,0,60,0,60,0,135,254,38,0,72,6,60,0,60,0,60,0,229,6,60,0,60,0,60,0,238,254,60,0,60,0,60,0,237,254,60,0,60,0,36,6,60,0,60,0,60,0,134,254,60,0,60,0,60,0,133,254,38,0,74,6,60,0,60,0,60,0,230,6,60,0,60,0,60,0,243,254,60,0,60,0,60,0,244,254,60,0,60,0,60,0,242,254,60,0,60,0,60,0,241,254,60,0,60,0,38,6,60,0,60,0,60,0,139,254,60,0,60,0,60,0,140,254,60,0,60,0,60,0,138,254,60,0,60,0,60,0,137,254,60,0,60,0,73,6,60,0,60,0,60,0,232,251,60,0,60,0,60,0,233,251,60,0,60,0,60,0,240,254,60,0,60,0,60,0,239,254,38,0,71,6,60,0,60,0,60,0,235,254,60,0,60,0,60,0,236,254,60,0,60,0,60,0,234,254,60,0,60,0,60,0,233,254,60,0,60,0,41,6,60,0,60,0,60,0,148,254,60,0,60,0,60,0,147,254,38,0,91,0,108,0,97,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,243,5,60,0,60,0,244,5,60,0,60,0,64,6,60,0,60,0,58,14,38,0,0,17,61,0,168,17,38,0,0,17,0,17,61,0,1,17,61,0,169,17,38,0,0,17,9,17,61,0,170,17,38,0,2,17,61,0,171,17,38,0,2,17,12,17,61,0,172,17,38,0,2,17,18,17,61,0,173,17,38,0,3,17,61,0,174,17,38,0,3,17,3,17,61,0,4,17,38,0,5,17,61,0,175,17,38,0,5,17,0,17,61,0,176,17,38,0,5,17,6,17,61,0,177,17,38,0,5,17,7,17,61,0,178,17,38,0,5,17,9,17,61,0,179,17,38,0,5,17,16,17,61,0,180,17,38,0,5,17,17,17,61,0,181,17,38,0,5,17,18,17,61,0,182,17,38,0,6,17,61,0,183,17,38,0,7,17,61,0,184,17,38,0,7,17,7,17,61,0,8,17,38,0,7,17,9,17,61,0,185,17,38,0,9,17,61,0,186,17,38,0,9,17,9,17,61,0,10,17,61,0,187,17,38,0,11,17,61,0,188,17,38,0,12,17,61,0,189,17,38,0,12,17,12,17,61,0,13,17,38,0,14,17,61,0,190,17,38,0,15,17,61,0,191,17,38,0,16,17,61,0,192,17,38,0,17,17,61,0,193,17,38,0,18,17,61,0,194,17,38,0,97,17,117,17,61,0,98,17,38,0,99,17,117,17,61,0,100,17,38,0,101,17,117,17,61,0,102,17,38,0,103,17,117,17,61,0,104,17,38,0,105,17,97,17,61,0,106,17,38,0,105,17,97,17,117,17,61,0,107,17,38,0,105,17,117,17,61,0,108,17,38,0,110,17,101,17,61,0,111,17,38,0,110,17,101,17,117,17,61,0,112,17,38,0,110,17,117,17,61,0,113,17,38,0,115,17,117,17,61,0,116,17,0,0,239,223,168,4,38,0,0,78,61,0,208,253,0,78,38,0,40,78,61,0,208,253,40,78,38,0,54,78,61,0,208,253,54,78,38,0,63,78,61,0,208,253,63,78,38,0,89,78,61,0,208,253,89,78,38,0,133,78,61,0,208,253,133,78,38,0,140,78,61,0,208,253,140,78,38,0,160,78,61,0,208,253,160,78,38,0,186,78,61,0,208,253,186,78,38,0,63,81,61,0,208,253,63,81,38,0,101,81,61,0,208,253,101,81,38,0,107,81,61,0,208,253,107,81,38,0,130,81,61,0,208,253,130,81,38,0,150,81,61,0,208,253,150,81,38,0,171,81,61,0,208,253,171,81,38,0,224,81,61,0,208,253,224,81,38,0,245,81,61,0,208,253,245,81,38,0,0,82,61,0,208,253,0,82,38,0,155,82,61,0,208,253,155,82,38,0,249,82,61,0,208,253,249,82,38,0,21,83,61,0,208,253,21,83,38,0,26,83,61,0,208,253,26,83,38,0,56,83,61,0,208,253,56,83,38,0,65,83,61,0,208,253,65,83,38,0,92,83,61,0,208,253,92,83,38,0,105,83,61,0,208,253,105,83,38,0,130,83,61,0,208,253,130,83,38,0,182,83,61,0,208,253,182,83,38,0,200,83,61,0,208,253,200,83,38,0,227,83,61,0,208,253,227,83,38,0,215,86,61,0,208,253,215,86,38,0,31,87,61,0,208,253,31,87,38,0,235,88,61,0,208,253,235,88,38,0,2,89,61,0,208,253,2,89,38,0,10,89,61,0,208,253,10,89,38,0,21,89,61,0,208,253,21,89,38,0,39,89,61,0,208,253,39,89,38,0,115,89,61,0,208,253,115,89,38,0,80,91,61,0,208,253,80,91,38,0,128,91,61,0,208,253,128,91,38,0,248,91,61,0,208,253,248,91,38,0,15,92,61,0,208,253,15,92,38,0,34,92,61,0,208,253,34,92,38,0,56,92,61,0,208,253,56,92,38,0,110,92,61,0,208,253,110,92,38,0,113,92,61,0,208,253,113,92,38,0,219,93,61,0,208,253,219,93,38,0,229,93,61,0,208,253,229,93,38,0,241,93,61,0,208,253,241,93,38,0,254,93,61,0,208,253,254,93,38,0,114,94,61,0,208,253,114,94,38,0,97,78,61,0,208,253,122,94,38,0,127,94,61,0,208,253,127,94,38,0,244,94,61,0,208,253,244,94,38,0,254,94,61,0,208,253,254,94,38,0,11,95,61,0,208,253,11,95,38,0,19,95,61,0,208,253,19,95,38,0,80,95,61,0,208,253,80,95,38,0,97,95,61,0,208,253,97,95,38,0,115,95,61,0,208,253,115,95,38,0,195,95,61,0,208,253,195,95,38,0,8,98,61,0,208,253,8,98,38,0,54,98,61,0,208,253,54,98,38,0,75,98,61,0,208,253,75,98,38,0,47,101,61,0,208,253,47,101,38,0,52,101,61,0,208,253,52,101,38,0,135,101,61,0,208,253,135,101,38,0,151,101,61,0,208,253,151,101,38,0,164,101,61,0,208,253,164,101,38,0,185,101,61,0,208,253,185,101,38,0,224,101,61,0,208,253,224,101,38,0,229,101,61,0,208,253,229,101,38,0,240,102,61,0,208,253,240,102,38,0,8,103,61,0,208,253,8,103,38,0,40,103,61,0,208,253,40,103,38,0,32,107,61,0,208,253,32,107,38,0,98,107,61,0,208,253,98,107,38,0,121,107,61,0,208,253,121,107,38,0,179,107,61,0,208,253,179,107,38,0,203,107,61,0,208,253,203,107,38,0,212,107,61,0,208,253,212,107,38,0,219,107,61,0,208,253,219,107,38,0,15,108,61,0,208,253,15,108,38,0,20,108,61,0,208,253,20,108,38,0,52,108,61,0,208,253,52,108,38,0,107,112,61,0,208,253,107,112,38,0,42,114,61,0,208,253,42,114,38,0,54,114,61,0,208,253,54,114,38,0,59,114,61,0,208,253,59,114,38,0,44,78,61,0,208,253,63,114,38,0,130,216,23,220,61,0,208,253,44,78,38,0,71,114,61,0,208,253,71,114,38,0,89,114,61,0,208,253,89,114,38,0,91,114,61,0,208,253,91,114,38,0,172,114,61,0,208,253,172,114,38,0,132,115,61,0,208,253,132,115,38,0,137,115,61,0,208,253,137,115,38,0,220,116,61,0,208,253,220,116,38,0,230,116,61,0,208,253,230,116,38,0,24,117,61,0,208,253,24,117,38,0,31,117,61,0,208,253,31,117,38,0,40,117,61,0,208,253,40,117,38,0,48,117,61,0,208,253,48,117,38,0,139,117,61,0,208,253,139,117,38,0,146,117,61,0,208,253,146,117,38,0,118,118,61,0,208,253,118,118,38,0,125,118,61,0,208,253,125,118,38,0,174,118,61,0,208,253,174,118,38,0,191,118,61,0,208,253,191,118,38,0,238,118,61,0,208,253,238,118,38,0,219,119,61,0,208,253,219,119,38,0,226,119,61,0,208,253,226,119,38,0,243,119,61,0,208,253,243,119,38,0,58,121,61,0,208,253,58,121,38,0,184,121,61,0,208,253,184,121,38,0,190,121,61,0,208,253,190,121,38,0,116,122,61,0,208,253,116,122,38,0,203,122,61,0,208,253,203,122,38,0,249,122,61,0,208,253,249,122,38,0,115,124,61,0,208,253,115,124,38,0,248,124,61,0,208,253,248,124,38,0,159,126,61,0,208,253,159,126,38,0,54,127,61,0,208,253,54,127,38,0,81,127,61,0,208,253,81,127,38,0,138,127,61,0,208,253,138,127,38,0,189,127,61,0,208,253,189,127,38,0,1,128,61,0,208,253,1,128,38,0,12,128,61,0,208,253,12,128,38,0,18,128,61,0,208,253,18,128,38,0,51,128,61,0,208,253,51,128,38,0,127,128,61,0,208,253,127,128,38,0,137,128,61,0,208,253,137,128,38,0,227,129,61,0,208,253,227,129,38,0,234,129,61,0,208,253,234,129,38,0,243,129,61,0,208,253,243,129,38,0,252,129,61,0,208,253,252,129,38,0,12,130,61,0,208,253,12,130,38,0,27,130,61,0,208,253,27,130,38,0,31,130,61,0,208,253,31,130,38,0,110,130,61,0,208,253,110,130,38,0,114,130,61,0,208,253,114,130,38,0,120,130,61,0,208,253,120,130,38,0,77,134,61,0,208,253,77,134,38,0,107,134,61,0,208,253,107,134,38,0,64,136,61,0,208,253,64,136,38,0,76,136,61,0,208,253,76,136,38,0,99,136,61,0,208,253,99,136,38,0,126,137,61,0,208,253,126,137,38,0,139,137,61,0,208,253,139,137,38,0,193,137,61,0,208,253,193,137,38,0,210,137,61,0,208,253,210,137,38,0,0,138,61,0,208,253,0,138,38,0,160,139,61,0,208,253,160,139,38,0,55,140,61,0,208,253,55,140,38,0,70,140,61,0,208,253,70,140,38,0,85,140,61,0,208,253,85,140,38,0,120,140,61,0,208,253,120,140,38,0,157,140,61,0,208,253,157,140,38,0,29,141,61,0,208,253,29,141,38,0,100,141,61,0,208,253,100,141,38,0,112,141,61,0,208,253,112,141,38,0,179,141,61,0,208,253,179,141,38,0,171,142,61,0,208,253,171,142,38,0,202,142,61,0,208,253,202,142,38,0,102,143,61,0,208,253,102,143,38,0,155,143,61,0,208,253,155,143,38,0,176,143,61,0,208,253,176,143,38,0,181,143,61,0,208,253,181,143,38,0,145,144,61,0,208,253,145,144,38,0,73,145,61,0,208,253,73,145,38,0,198,145,61,0,208,253,198,145,38,0,204,145,61,0,208,253,204,145,38,0,209,145,61,0,208,253,209,145,38,0,133,148,61,0,208,253,133,148,38,0,119,149,61,0,208,253,119,149,38,0,127,149,61,0,208,253,127,149,38,0,128,149,61,0,208,253,128,149,38,0,232,149,61,0,208,253,232,149,38,0,28,150,61,0,208,253,28,150,38,0,182,150,61,0,208,253,182,150,38,0,185,150,61,0,208,253,185,150,38,0,232,150,61,0,208,253,232,150,38,0,81,151,61,0,208,253,81,151,38,0,94,151,61,0,208,253,94,151,38,0,98,151,61,0,208,253,98,151,38,0,105,151,61,0,208,253,105,151,38,0,203,151,61,0,208,253,203,151,38,0,230,151,61,0,208,253,230,151,38,0,237,151,61,0,208,253,237,151,38,0,243,151,61,0,208,253,243,151,38,0,1,152,61,0,208,253,1,152,38,0,117,152,61,0,208,253,117,152,38,0,168,152,61,0,208,253,168,152,38,0,206,152,61,0,208,253,206,152,38,0,219,152,61,0,208,253,219,152,38,0,222,152,61,0,208,253,222,152,38,0,223,152,61,0,208,253,223,152,38,0,99,153,61,0,208,253,99,153,38,0,150,153,61,0,208,253,150,153,38,0,153,153,61,0,208,253,153,153,38,0,172,153,61,0,208,253,172,153,38,0,108,154,61,0,208,253,108,154,38,0,168,154,61,0,208,253,168,154,38,0,216,154,61,0,208,253,216,154,38,0,223,154,61,0,208,253,223,154,38,0,37,155,61,0,208,253,37,155,38,0,47,155,61,0,208,253,47,155,38,0,50,155,61,0,208,253,50,155,38,0,60,155,61,0,208,253,60,155,38,0,90,155,61,0,208,253,90,155,38,0,124,156,61,0,208,253,124,156,38,0,229,156,61,0,208,253,229,156,38,0,31,158,61,0,208,253,31,158,38,0,117,158,61,0,208,253,117,158,38,0,132,216,186,222,61,0,208,253,100,83,38,0,127,158,61,0,208,253,127,158,38,0,165,158,61,0,208,253,165,158,38,0,166,158,61,0,208,253,166,158,38,0,187,158,61,0,208,253,187,158,38,0,195,158,61,0,208,253,195,158,38,0,205,158,61,0,208,253,205,158,38,0,209,158,61,0,208,253,209,158,38,0,249,158,61,0,208,253,249,158,38,0,253,158,61,0,208,253,253,158,38,0,254,158,61,0,208,253,254,158,38,0,14,159,61,0,208,253,14,159,38,0,19,159,61,0,208,253,19,159,38,0,32,159,61,0,208,253,32,159,38,0,59,159,61,0,208,253,59,159,38,0,74,159,61,0,208,253,74,159,38,0,80,159,61,0,208,253,80,159,38,0,82,159,61,0,208,253,82,159,38,0,127,159,61,0,208,253,127,159,38,0,141,159,61,0,208,253,141,159,38,0,153,159,61,0,208,253,153,159,38,0,156,159,61,0,208,253,156,159,38,0,159,159,61,0,208,253,159,159,38,0,160,159,61,0,208,253,160,159,0,0,239,223,197,6,38,0,97,0,60,0,60,0,0,29,60,0,60,0,101,44,60,0,60,0,60,0,58,2,60,0,60,0,143,29,60,0,60,0,80,2,60,0,60,0,60,0,111,44,60,0,60,0,60,0,68,29,60,0,60,0,81,2,60,0,60,0,60,0,109,44,60,0,60,0,60,0,69,29,60,0,60,0,144,29,60,0,60,0,82,2,60,0,60,0,60,0,112,44,60,0,60,0,60,0,155,29,38,0,98,0,60,0,60,0,153,2,60,0,60,0,128,1,60,0,60,0,60,0,67,2,60,0,60,0,47,29,60,0,60,0,3,29,60,0,60,0,108,29,60,0,60,0,128,29,60,0,60,0,83,2,60,0,60,0,60,0,129,1,60,0,60,0,131,1,60,0,60,0,60,0,130,1,38,0,99,0,60,0,60,0,4,29,60,0,60,0,60,2,60,0,60,0,60,0,59,2,60,0,60,0,147,167,60,0,60,0,60,0,146,167,60,0,60,0,136,1,60,0,60,0,60,0,135,1,60,0,60,0,85,2,60,0,60,0,60,0,157,29,60,0,60,0,132,33,60,0,60,0,60,0,131,33,60,0,60,0,63,167,60,0,60,0,60,0,62,167,38,0,100,0,60,0,60,0,5,29,60,0,60,0,6,29,60,0,60,0,109,29,60,0,60,0,129,29,60,0,60,0,86,2,60,0,60,0,60,0,137,1,60,0,60,0,87,2,60,0,60,0,60,0,138,1,60,0,60,0,145,29,60,0,60,0,140,1,60,0,60,0,60,0,139,1,60,0,60,0,33,2,60,0,60,0,113,167,60,0,60,0,159,30,60,0,60,0,141,1,38,0,101,0,60,0,60,0,7,29,60,0,60,0,71,2,60,0,60,0,60,0,70,2,60,0,60,0,146,29,60,0,60,0,120,44,60,0,60,0,221,1,60,0,60,0,60,0,142,1,60,0,60,0,60,0,50,29,60,0,60,0,123,44,60,0,60,0,89,2,60,0,60,0,60,0,143,1,60,0,60,0,60,0,74,29,60,0,60,0,60,0,148,32,60,0,60,0,149,29,60,0,60,0,91,2,60,0,60,0,60,0,144,1,60,0,60,0,60,0,7,33,60,0,60,0,60,0,75,29,60,0,60,0,147,29,60,0,60,0,88,2,60,0,60,0,90,2,60,0,60,0,92,2,60,0,60,0,60,0,159,29,60,0,60,0,148,29,60,0,60,0,8,29,60,0,60,0,60,0,76,29,60,0,60,0,93,2,60,0,60,0,94,2,60,0,60,0,154,2,38,0,102,0,60,0,60,0,48,167,60,0,60,0,110,29,60,0,60,0,130,29,60,0,60,0,146,1,60,0,60,0,60,0,145,1,60,0,60,0,78,33,60,0,60,0,60,0,50,33,60,0,60,0,251,167,38,0,103,0,60,0,60,0,97,2,60,0,60,0,60,0,162,29,60,0,60,0,98,2,60,0,60,0,60,0,219,29,60,0,60,0,229,1,60,0,60,0,60,0,228,1,60,0,60,0,131,29,60,0,60,0,96,2,60,0,60,0,60,0,147,1,60,0,60,0,155,2,60,0,60,0,119,29,60,0,60,0,127,167,60,0,60,0,60,0,126,167,60,0,60,0,99,2,60,0,60,0,60,0,148,1,60,0,60,0,60,0,224,2,60,0,60,0,100,2,60,0,60,0,163,1,60,0,60,0,60,0,162,1,38,0,104,0,60,0,60,0,156,2,60,0,60,0,102,2,60,0,60,0,60,0,170,167,60,0,60,0,60,0,177,2,60,0,60,0,104,44,60,0,60,0,60,0,103,44,60,0,60,0,118,44,60,0,60,0,60,0,117,44,60,0,60,0,39,167,60,0,60,0,60,0,38,167,60,0,60,0,103,2,60,0,60,0,101,2,60,0,60,0,60,0,141,167,60,0,60,0,60,0,163,29,60,0,60,0,174,2,60,0,60,0,175,2,38,0,105,0,60,0,60,0,49,1,60,0,60,0,60,0,53,216,164,222,60,0,60,0,106,2,60,0,60,0,60,0,166,29,60,0,60,0,254,167,60,0,60,0,9,29,60,0,60,0,60,0,78,29,60,0,60,0,104,2,60,0,60,0,60,0,151,1,60,0,60,0,60,0,164,29,60,0,60,0,123,29,60,0,60,0,60,0,167,29,60,0,60,0,150,29,60,0,60,0,105,2,60,0,60,0,60,0,150,1,60,0,60,0,60,0,165,29,60,0,60,0,124,29,38,0,106,0,60,0,60,0,55,2,60,0,60,0,60,0,53,216,165,222,60,0,60,0,10,29,60,0,60,0,73,2,60,0,60,0,60,0,72,2,60,0,60,0,157,2,60,0,60,0,60,0,168,29,60,0,60,0,95,2,60,0,60,0,60,0,161,29,60,0,60,0,132,2,38,0,107,0,60,0,60,0,11,29,60,0,60,0,132,29,60,0,60,0,153,1,60,0,60,0,60,0,152,1,60,0,60,0,106,44,60,0,60,0,60,0,105,44,60,0,60,0,65,167,60,0,60,0,60,0,64,167,60,0,60,0,67,167,60,0,60,0,60,0,66,167,60,0,60,0,69,167,60,0,60,0,60,0,68,167,60,0,60,0,56,1,60,0,60,0,158,2,38,0,108,0,60,0,60,0,159,2,60,0,60,0,60,0,222,29,60,0,60,0,60,0,171,29,60,0,60,0,71,167,60,0,60,0,60,0,70,167,60,0,60,0,12,29,60,0,60,0,73,167,60,0,60,0,60,0,72,167,60,0,60,0,154,1,60,0,60,0,60,0,61,2,60,0,60,0,97,44,60,0,60,0,60,0,96,44,60,0,60,0,107,2,60,0,60,0,60,0,98,44,60,0,60,0,108,2,60,0,60,0,133,29,60,0,60,0,60,0,170,29,60,0,60,0,109,2,60,0,60,0,60,0,169,29,60,0,60,0,142,167,60,0,60,0,52,2,60,0,60,0,114,167,60,0,60,0,129,167,60,0,60,0,60,0,128,167,60,0,60,0,155,1,38,0,109,0,60,0,60,0,13,29,60,0,60,0,60,0,223,29,60,0,60,0,111,29,60,0,60,0,134,29,60,0,60,0,113,2,60,0,60,0,60,0,110,44,60,0,60,0,60,0,172,29,60,0,60,0,253,167,60,0,60,0,255,167,60,0,60,0,115,167,60,0,60,0,111,2,60,0,60,0,60,0,156,1,60,0,60,0,60,0,90,29,60,0,60,0,250,167,60,0,60,0,31,29,60,0,60,0,112,2,60,0,60,0,60,0,173,29,38,0,110,0,60,0,60,0,73,1,60,0,60,0,116,2,60,0,60,0,60,0,225,29,60,0,60,0,60,0,176,29,60,0,60,0,59,29,60,0,60,0,14,29,60,0,60,0,112,29,60,0,60,0,114,2,60,0,60,0,60,0,157,1,60,0,60,0,60,0,174,29,60,0,60,0,158,1,60,0,60,0,60,0,32,2,60,0,60,0,145,167,60,0,60,0,60,0,144,167,60,0,60,0,135,29,60,0,60,0,115,2,60,0,60,0,60,0,175,29,60,0,60,0,53,2,60,0,60,0,116,167,60,0,60,0,75,1,60,0,60,0,60,0,74,1,60,0,60,0,60,0,81,29,38,0,111,0,60,0,60,0,15,29,60,0,60,0,17,29,60,0,60,0,19,29,60,0,60,0,84,2,60,0,60,0,60,0,134,1,60,0,60,0,60,0,83,29,60,0,60,0,16,29,60,0,60,0,18,29,60,0,60,0,151,29,60,0,60,0,77,167,60,0,60,0,60,0,76,167,60,0,60,0,22,29,60,0,60,0,60,0,84,29,60,0,60,0,23,29,60,0,60,0,60,0,85,29,60,0,60,0,122,44,60,0,60,0,117,2,60,0,60,0,60,0,159,1,60,0,60,0,60,0,177,29,60,0,60,0,75,167,60,0,60,0,60,0,74,167,60,0,60,0,119,2,60,0,60,0,35,2,60,0,60,0,60,0,34,2,60,0,60,0,60,0,61,29,60,0,60,0,21,29,38,0,112,0,60,0,60,0,24,29,60,0,60,0,125,29,60,0,60,0,60,0,99,44,60,0,60,0,81,167,60,0,60,0,60,0,80,167,60,0,60,0,113,29,60,0,60,0,136,29,60,0,60,0,165,1,60,0,60,0,60,0,164,1,60,0,60,0,83,167,60,0,60,0,60,0,82,167,60,0,60,0,85,167,60,0,60,0,60,0,84,167,60,0,60,0,252,167,60,0,60,0,120,2,60,0,60,0,60,0,178,29,60,0,60,0,119,44,38,0,113,0,60,0,60,0,87,167,60,0,60,0,60,0,86,167,60,0,60,0,89,167,60,0,60,0,60,0,88,167,60,0,60,0,160,2,60,0,60,0,75,2,60,0,60,0,60,0,74,2,38,0,114,0,60,0,60,0,128,2,60,0,60,0,60,0,226,29,60,0,60,0,60,0,166,1,60,0,60,0,91,167,60,0,60,0,60,0,227,29,60,0,60,0,60,0,90,167,60,0,60,0,25,29,60,0,60,0,77,2,60,0,60,0,60,0,76,2,60,0,60,0,114,29,60,0,60,0,121,2,60,0,60,0,60,0,180,2,60,0,60,0,26,29,60,0,60,0,122,2,60,0,60,0,137,29,60,0,60,0,123,2,60,0,60,0,60,0,181,2,60,0,60,0,121,44,60,0,60,0,124,2,60,0,60,0,125,2,60,0,60,0,60,0,100,44,60,0,60,0,126,2,60,0,60,0,115,29,60,0,60,0,127,2,60,0,60,0,129,2,60,0,60,0,60,0,182,2,60,0,60,0,117,167,60,0,60,0,118,167,60,0,60,0,93,167,60,0,60,0,60,0,92,167,38,0,115,0,60,0,60,0,49,167,60,0,60,0,116,29,60,0,60,0,138,29,60,0,60,0,130,2,60,0,60,0,60,0,179,29,60,0,60,0,63,2,60,0,60,0,60,0,126,44,60,0,60,0,156,30,60,0,60,0,157,30,60,0,60,0,131,2,60,0,60,0,60,0,169,1,60,0,60,0,60,0,180,29,60,0,60,0,139,29,60,0,60,0,170,1,60,0,60,0,133,2,60,0,60,0,152,29,60,0,60,0,134,2,38,0,116,0,60,0,60,0,27,29,60,0,60,0,103,1,60,0,60,0,60,0,102,1,60,0,60,0,102,44,60,0,60,0,60,0,62,2,60,0,60,0,117,29,60,0,60,0,171,1,60,0,60,0,60,0,181,29,60,0,60,0,173,1,60,0,60,0,60,0,172,1,60,0,60,0,136,2,60,0,60,0,60,0,174,1,60,0,60,0,54,2,60,0,60,0,119,167,60,0,60,0,135,2,38,0,117,0,60,0,60,0,28,29,60,0,60,0,60,0,184,29,60,0,60,0,29,29,60,0,60,0,60,0,89,29,60,0,60,0,30,29,60,0,60,0,137,2,60,0,60,0,60,0,68,2,60,0,60,0,60,0,182,29,60,0,60,0,126,29,60,0,60,0,153,29,60,0,60,0,138,2,60,0,60,0,60,0,177,1,60,0,60,0,60,0,183,29,60,0,60,0,127,29,38,0,118,0,60,0,60,0,32,29,60,0,60,0,95,167,60,0,60,0,60,0,94,167,60,0,60,0,140,29,60,0,60,0,139,2,60,0,60,0,60,0,178,1,60,0,60,0,60,0,185,29,60,0,60,0,113,44,60,0,60,0,116,44,60,0,60,0,253,30,60,0,60,0,60,0,252,30,60,0,60,0,140,2,60,0,60,0,60,0,69,2,60,0,60,0,60,0,186,29,38,0,119,0,60,0,60,0,33,29,60,0,60,0,115,44,60,0,60,0,60,0,114,44,60,0,60,0,141,2,60,0,60,0,191,1,60,0,60,0,60,0,247,1,38,0,120,0,60,0,60,0,141,29,38,0,121,0,60,0,60,0,143,2,60,0,60,0,79,2,60,0,60,0,60,0,78,2,60,0,60,0,180,1,60,0,60,0,60,0,179,1,60,0,60,0,255,30,60,0,60,0,60,0,254,30,60,0,60,0,142,2,60,0,60,0,29,2,60,0,60,0,60,0,28,2,38,0,122,0,60,0,60,0,34,29,60,0,60,0,182,1,60,0,60,0,60,0,181,1,60,0,60,0,118,29,60,0,60,0,142,29,60,0,60,0,37,2,60,0,60,0,60,0,36,2,60,0,60,0,144,2,60,0,60,0,60,0,188,29,60,0,60,0,145,2,60,0,60,0,60,0,189,29,60,0,60,0,64,2,60,0,60,0,60,0,127,44,60,0,60,0,108,44,60,0,60,0,60,0,107,44,60,0,60,0,99,167,60,0,60,0,60,0,98,167,60,0,60,0,146,2,60,0,60,0,60,0,183,1,60,0,60,0,60,0,190,29,60,0,60,0,239,1,60,0,60,0,60,0,238,1,60,0,60,0,35,29,60,0,60,0,185,1,60,0,60,0,60,0,184,1,60,0,60,0,154,29,60,0,60,0,186,1,60,0,60,0,147,2,38,0,254,0,60,0,60,0,101,167,60,0,60,0,60,0,100,167,60,0,60,0,103,167,60,0,60,0,60,0,102,167,38,0,97,0,101,0,60,0,60,0,1,29,60,0,60,0,2,29,60,0,60,0,60,0,70,29,38,0,100,0,145,2,60,0,60,0,165,2,38,0,100,0,146,2,60,0,60,0,164,2,38,0,104,0,118,0,60,0,60,0,149,1,60,0,60,0,60,0,246,1,38,0,108,0,146,2,60,0,60,0,110,2,38,0,111,0,101,0,60,0,60,0,118,2,60,0,60,0,20,29,38,0,116,0,85,2,60,0,60,0,168,2,38,0,117,0,101,0,60,0,60,0,107,29,38,0,91,0,108,0,97,0,115,0,116,0,32,0,116,0,101,0,114,0,116,0,105,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,61,0,187,2,61,0,189,2,61,0,105,167,61,0,104,167,61,0,107,167,61,0,106,167,61,0,109,167,61,0,108,167,61,0,111,167,61,0,210,29,61,0,110,167,61,0,112,167,61,0,120,167,61,0,187,1,61,0,43,167,61,0,42,167,61,0,45,167,61,0,44,167,61,0,47,167,61,0,46,167,61,0,168,1,61,0,167,1,61,0,189,1,61,0,188,1,61,0,133,1,61,0,132,1,61,0,148,2,61,0,66,2,61,0,65,2,61,0,192,2,61,0,188,2,61,0,238,2,61,0,190,2,61,0,35,167,61,0,34,167,61,0,140,167,61,0,139,167,61,0,149,2,61,0,228,2,61,0,191,2,61,0,193,2,61,0,36,29,61,0,37,29,61,0,92,29,61,0,37,167,61,0,36,167,61,0,161,2,61,0,162,2,61,0,150,2,61,0,192,1,61,0,193,1,61,0,194,1,61,0,195,1,61,0,151,2,61,0,152,2,61,0,172,2,61,0,173,2,38,0,179,3,60,0,60,0,38,29,38,0,187,3,60,0,60,0,39,29,38,0,192,3,60,0,60,0,40,29,38,0,193,3,60,0,60,0,41,29,38,0,200,3,60,0,60,0,42,29,38,0,82,4,60,0,60,0,83,4,60,0,60,0,60,0,3,4,38,0,57,4,60,0,139,4,60,0,60,0,60,0,138,4,38,0,59,4,60,0,60,0,43,29,38,0,91,4,60,0,60,0,92,4,60,0,60,0,60,0,12,4,38,0,132,5,60,0,135,5,0,0,239,223,75,53,38,0,32,0,91,0,108,0,97,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,42,0,62,216,176,221,62,216,177,221,62,216,179,221,62,216,178,221,60,216,251,223,60,216,252,223,60,216,253,223,60,216,254,223,60,216,255,223,38,0,32,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,209,253,172,32,60,0,42,0,61,216,0,222,61,216,3,222,61,216,4,222,61,216,1,222,61,216,6,222,61,216,5,222,62,216,35,221,61,216,2,222,61,216,66,222,61,216,67,222,62,216,224,222,61,216,9,222,61,216,10,222,61,216,7,222,60,0,42,0,62,216,112,221,61,216,13,222,62,216,41,221,61,216,24,222,61,216,23,222,58,38,61,216,26,222,61,216,25,222,62,216,114,221,60,0,42,0,61,216,11,222,61,216,27,222,61,216,28,222,62,216,42,221,61,216,29,222,62,216,17,221,60,0,42,0,62,216,23,221,62,216,45,221,62,216,226,222,62,216,227,222,62,216,43,221,62,216,20,221,62,216,225,222,60,0,42,0,62,216,16,221,62,216,40,221,61,216,16,222,61,216,17,222,61,216,54,222,62,216,229,222,60,0,32,0,61,216,54,222,13,32,60,216,43,223,60,0,42,0,61,216,15,222,61,216,18,222,61,216,68,222,61,216,44,222,60,0,32,0,61,216,46,222,13,32,61,216,168,220,60,0,42,0,62,216,37,221,62,216,232,222,60,0,42,0,61,216,12,222,61,216,20,222,61,216,42,222,62,216,36,221,61,216,52,222,60,0,42,0,61,216,55,222,62,216,18,221,62,216,21,221,62,216,34,221,62,216,46,221,62,216,39,221,62,216,117,221,62,216,118,221,62,216,116,221,61,216,53,222,60,0,32,0,61,216,53,222,13,32,61,216,171,220,60,0,42,0,62,216,47,221,60,0,42,0,62,216,32,221,62,216,115,221,62,216,120,221,60,0,42,0,61,216,14,222,62,216,19,221,62,216,208,221,60,0,42,0,61,216,21,222,62,216,228,222,61,216,31,222,61,216,65,222,57,38,61,216,46,222,61,216,47,222,61,216,50,222,61,216,51,222,62,216,122,221,62,216,121,221,61,216,38,222,61,216,39,222,61,216,40,222,61,216,48,222,61,216,37,222,61,216,34,222,61,216,45,222,61,216,49,222,61,216,22,222,61,216,35,222,61,216,30,222,61,216,19,222,61,216,41,222,61,216,43,222,62,216,113,221,60,0,42,0,61,216,36,222,61,216,33,222,61,216,32,222,62,216,44,221,61,216,8,222,61,216,127,220,61,216,128,220,32,38,60,0,42,0,61,216,169,220,62,216,33,221,61,216,121,220,61,216,122,220,61,216,123,220,61,216,125,220,61,216,126,220,62,216,22,221,60,0,42,0,61,216,58,222,61,216,56,222,61,216,57,222,61,216,59,222,61,216,60,222,61,216,61,222,61,216,64,222,61,216,63,222,61,216,62,222,60,0,42,0,61,216,72,222,61,216,73,222,61,216,74,222,60,0,42,0,61,216,140,220,61,216,152,220,61,216,157,220,61,216,150,220,61,216,151,220,61,216,147,220,61,216,158,220,61,216,149,220,61,216,159,220,99,39,61,216,148,220,60,0,32,0,100,39,13,32,61,216,37,221,32,0,61,0,32,0,100,39,15,254,13,32,61,216,37,221,60,0,32,0,100,39,13,32,62,216,121,222,32,0,61,0,32,0,100,39,15,254,13,32,62,216,121,222,60,0,42,0,100,39,62,216,119,222,62,216,225,221,61,216,155,220,61,216,154,220,61,216,153,220,62,216,117,222,61,216,156,220,62,216,14,221,61,216,164,221,62,216,118,222,62,216,13,221,60,0,42,0,61,216,139,220,61,216,175,220,61,216,162,220,61,216,165,220,61,216,171,220,61,216,166,220,61,216,168,220,61,216,115,221,61,216,172,220,60,0,32,0,61,216,65,220,13,32,61,216,232,221,32,0,61,0,32,0,61,216,65,220,15,254,13,32,61,216,232,221,60,0,42,0,61,216,232,221,61,216,239,221,61,216,173,220,61,216,164,220,60,0,42,0,61,216,75,220,62,216,26,221,61,216,144,221,11,39,61,216,150,221,62,216,241,222,62,216,242,222,62,216,243,222,62,216,244,222,62,216,247,222,62,216,248,222,60,0,42,0,61,216,76,220,62,216,12,221,62,216,15,221,12,39,62,216,30,221,62,216,240,222,62,216,31,221,62,216,24,221,62,216,25,221,60,0,42,0,61,216,72,220,61,216,73,220,61,216,70,220,61,216,149,221,61,216,71,220,29,38,62,216,245,222,60,0,42,0,61,216,77,220,61,216,78,220,10,39,61,216,74,220,62,216,27,221,62,216,28,221,60,0,42,0,61,216,79,220,61,216,76,222,62,216,246,222,61,216,80,220,62,216,50,221,62,216,29,221,61,216,79,222,60,0,42,0,13,39,61,216,133,220,62,216,51,221,60,0,42,0,61,216,170,220,62,216,190,221,62,216,191,221,62,216,181,221,62,216,182,221,61,216,66,220,62,216,187,221,61,216,67,220,62,216,224,221,62,216,192,222,62,216,193,222,62,216,183,221,62,216,180,221,61,216,64,220,61,216,65,220,61,216,69,220,61,216,68,220,62,216,230,222,60,0,42,0,61,216,118,220,62,216,210,221,61,216,102,220,61,216,103,220,62,216,209,221,61,216,113,220,61,216,104,220,62,216,212,221,60,0,32,0,62,216,212,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,212,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,255,223,13,32,64,38,60,0,42,0,61,216,105,220,60,0,32,0,61,216,113,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,255,223,13,32,64,38,60,0,32,0,61,216,113,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,255,223,13,32,66,38,60,0,42,0,62,216,211,221,61,216,116,220,61,216,117,220,60,0,42,0,61,216,77,222,60,0,32,0,61,216,77,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,77,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,255,223,13,32,64,38,60,0,42,0,61,216,78,222,60,0,32,0,61,216,78,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,78,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,255,223,13,32,64,38,60,0,42,0,61,216,69,222,60,0,32,0,61,216,69,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,69,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,255,223,13,32,64,38,60,0,42,0,61,216,70,222,60,0,32,0,61,216,70,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,70,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,255,223,13,32,64,38,60,0,42,0,61,216,129,220,60,0,32,0,61,216,129,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,129,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,255,223,13,32,64,38,60,0,42,0,61,216,75,222,60,0,32,0,61,216,75,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,75,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,255,223,13,32,64,38,60,0,42,0,62,216,207,221,60,0,32,0,62,216,207,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,207,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,255,223,13,32,64,38,60,0,42,0,61,216,71,222,60,0,32,0,61,216,71,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,71,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,255,223,13,32,64,38,60,0,42,0,62,216,38,221,60,0,32,0,62,216,38,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,38,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,55,221,60,0,32,0,62,216,55,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,55,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,255,223,13,32,64,38,60,0,32,0,62,216,209,221,13,32,149,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,149,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,149,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,149,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,149,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,149,38,60,0,32,0,61,216,104,220,13,32,149,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,149,38,60,0,32,0,61,216,105,220,13,32,149,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,149,38,60,0,32,0,62,216,209,221,13,32,60,216,147,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,147,223,60,0,32,0,61,216,104,220,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,147,223,60,0,32,0,61,216,105,220,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,147,223,60,0,32,0,62,216,209,221,13,32,60,216,235,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,235,223,60,0,32,0,61,216,104,220,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,235,223,60,0,32,0,61,216,105,220,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,235,223,60,0,32,0,62,216,209,221,13,32,150,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,150,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,150,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,150,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,150,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,150,38,60,0,32,0,61,216,104,220,13,32,150,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,150,38,60,0,32,0,61,216,105,220,13,32,150,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,150,38,60,0,32,0,62,216,209,221,13,32,60,216,62,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,62,223,60,0,32,0,61,216,104,220,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,62,223,60,0,32,0,61,216,105,220,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,62,223,60,0,32,0,62,216,209,221,13,32,60,216,115,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,115,223,60,0,32,0,61,216,104,220,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,115,223,60,0,32,0,61,216,105,220,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,115,223,60,0,32,0,62,216,209,221,13,32,61,216,39,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,39,221,60,0,32,0,61,216,104,220,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,39,221,60,0,32,0,61,216,105,220,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,39,221,60,0,32,0,62,216,209,221,13,32,60,216,237,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,237,223,60,0,32,0,61,216,104,220,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,237,223,60,0,32,0,61,216,105,220,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,237,223,60,0,32,0,62,216,209,221,13,32,61,216,188,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,188,220,60,0,32,0,61,216,104,220,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,188,220,60,0,32,0,61,216,105,220,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,188,220,60,0,32,0,62,216,209,221,13,32,61,216,44,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,44,221,60,0,32,0,61,216,104,220,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,44,221,60,0,32,0,61,216,105,220,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,44,221,60,0,32,0,62,216,209,221,13,32,61,216,187,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,187,220,60,0,32,0,61,216,104,220,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,187,220,60,0,32,0,61,216,105,220,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,187,220,60,0,32,0,62,216,209,221,13,32,60,216,164,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,164,223,60,0,32,0,61,216,104,220,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,164,223,60,0,32,0,61,216,105,220,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,164,223,60,0,32,0,62,216,209,221,13,32,60,216,168,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,168,223,60,0,32,0,61,216,104,220,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,168,223,60,0,32,0,61,216,105,220,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,168,223,60,0,32,0,62,216,209,221,13,32,8,39,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,8,39,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,8,39,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,8,39,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,8,39,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,8,39,60,0,32,0,61,216,104,220,13,32,8,39,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,8,39,60,0,32,0,61,216,105,220,13,32,8,39,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,8,39,60,0,32,0,62,216,209,221,13,32,61,216,128,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,128,222,60,0,32,0,61,216,104,220,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,128,222,60,0,32,0,61,216,105,220,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,128,222,60,0,32,0,62,216,209,221,13,32,61,216,146,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,146,222,60,0,32,0,61,216,104,220,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,146,222,60,0,32,0,61,216,105,220,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,146,222,60,0,42,0,61,216,110,220,60,0,32,0,61,216,110,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,110,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,255,223,13,32,64,38,60,0,42,0,61,216,117,221,60,0,32,0,61,216,117,221,13,32,66,38,32,0,61,0,32,0,61,216,117,221,15,254,13,32,66,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,255,223,13,32,66,38,60,0,32,0,61,216,117,221,13,32,64,38,32,0,61,0,32,0,61,216,117,221,15,254,13,32,64,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,255,223,13,32,64,38,60,0,42,0,61,216,130,220,60,0,32,0,61,216,130,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,130,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,255,223,13,32,64,38,60,0,42,0,62,216,119,221,61,216,119,220,60,0,32,0,61,216,119,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,119,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,255,223,13,32,64,38,60,0,42,0,62,216,197,222,62,216,52,221,61,216,120,220,61,216,115,220,60,0,32,0,61,216,115,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,115,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,255,223,13,32,64,38,60,0,42,0,61,216,114,220,62,216,213,221,62,216,53,221,60,0,32,0,62,216,53,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,53,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,255,223,13,32,64,38,60,0,42,0,61,216,112,220,60,0,32,0,61,216,112,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,112,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,255,223,13,32,64,38,60,0,42,0,62,216,48,221,62,216,195,222,62,216,196,222,62,216,49,221,60,0,32,0,61,216,105,220,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,124,223,60,0,32,0,61,216,104,220,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,124,223,60,0,32,0,62,216,209,221,13,32,60,216,124,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,124,223,60,0,42,0,61,216,124,220,60,216,133,223,62,216,54,221,60,0,32,0,62,216,209,221,13,32,60,216,132,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,132,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,132,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,132,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,132,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,132,223,60,0,42,0,62,216,184,221,60,0,32,0,62,216,184,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,184,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,185,221,60,0,32,0,62,216,185,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,185,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,217,221,60,0,32,0,62,216,217,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,217,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,218,221,60,0,32,0,62,216,218,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,218,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,219,221,60,0,32,0,62,216,219,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,219,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,220,221,60,0,32,0,62,216,220,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,220,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,221,221,60,0,32,0,62,216,221,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,221,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,222,221,60,0,32,0,62,216,222,221,13,32,66,38,60,0,32,0,62,216,222,221,13,32,64,38,60,0,42,0,62,216,223,221,60,0,32,0,62,216,223,221,13,32,66,38,60,0,32,0,62,216,223,221,13,32,64,38,60,0,42,0,62,216,204,221,60,0,42,0,61,216,134,220,60,0,32,0,61,216,134,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,134,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,255,223,13,32,64,38,60,0,42,0,61,216,135,220,60,0,32,0,61,216,135,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,135,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,255,223,13,32,64,38,60,0,42,0,61,216,182,222,60,0,32,0,61,216,182,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,182,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,255,223,13,32,64,38,60,0,42,0,62,216,205,221,60,0,32,0,62,216,205,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,205,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,206,221,60,0,32,0,62,216,206,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,206,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,255,223,13,32,64,38,60,0,32,0,62,216,209,221,13,32,62,216,175,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,62,216,175,221,60,0,32,0,61,216,104,220,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,62,216,175,221,60,0,32,0,61,216,105,220,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,175,221,60,0,32,0,62,216,209,221,13,32,62,216,188,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,62,216,188,221,60,0,32,0,61,216,104,220,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,62,216,188,221,60,0,32,0,61,216,105,220,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,188,221,60,0,32,0,62,216,209,221,13,32,62,216,189,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,62,216,189,221,60,0,32,0,61,216,104,220,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,62,216,189,221,60,0,32,0,61,216,105,220,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,189,221,60,0,42,0,60,216,195,223,60,0,32,0,60,216,195,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,255,223,13,32,66,38,60,0,32,0,60,216,195,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,255,223,13,32,64,38,60,0,42,0,61,216,131,220,61,216,122,221,61,216,116,221,61,216,111,220,60,0,32,0,61,216,111,220,13,32,66,38,60,0,32,0,61,216,111,220,13,32,64,38,60,0,42,0,62,216,214,221,60,0,32,0,62,216,214,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,214,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,215,221,60,0,32,0,62,216,215,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,215,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,58,221,60,216,199,223,247,38,60,216,194,223,60,216,204,223,60,0,32,0,60,216,204,223,13,32,66,38,32,0,61,0,32,0,60,216,204,223,15,254,13,32,66,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,255,223,13,32,66,38,60,0,32,0,60,216,204,223,13,32,64,38,32,0,61,0,32,0,60,216,204,223,15,254,13,32,64,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,255,223,13,32,64,38,60,0,42,0,60,216,196,223,60,0,32,0,60,216,196,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,255,223,13,32,66,38,60,0,32,0,60,216,196,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,255,223,13,32,64,38,60,0,42,0,61,216,163,222,60,0,32,0,61,216,163,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,163,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,255,223,13,32,64,38,60,0,42,0,60,216,202,223,60,0,32,0,60,216,202,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,255,223,13,32,66,38,60,0,32,0,60,216,202,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,255,223,13,32,64,38,60,0,42,0,249,38,60,0,32,0,249,38,13,32,66,38,32,0,61,0,32,0,249,38,15,254,13,32,66,38,32,0,60,0,60,0,32,0,249,38,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,249,38,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,249,38,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,249,38,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,249,38,60,216,255,223,13,32,66,38,60,0,32,0,249,38,13,32,64,38,32,0,61,0,32,0,249,38,15,254,13,32,64,38,32,0,60,0,60,0,32,0,249,38,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,249,38,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,249,38,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,249,38,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,249,38,60,216,255,223,13,32,64,38,60,0,42,0,60,216,203,223,60,0,32,0,60,216,203,223,13,32,66,38,32,0,61,0,32,0,60,216,203,223,15,254,13,32,66,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,255,223,13,32,66,38,60,0,32,0,60,216,203,223,13,32,64,38,32,0,61,0,32,0,60,216,203,223,15,254,13,32,64,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,255,223,13,32,64,38,60,0,42,0,61,216,180,222,60,0,32,0,61,216,180,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,180,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,255,223,13,32,64,38,60,0,42,0,61,216,181,222,60,0,32,0,61,216,181,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,181,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,255,223,13,32,64,38,60,0,42,0,62,216,56,221,60,0,32,0,62,216,56,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,56,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,60,221,60,0,32,0,62,216,60,221,13,32,66,38,60,0,32,0,62,216,60,221,13,32,64,38,60,0,42,0,62,216,61,221,60,0,32,0,62,216,61,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,61,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,62,221,60,0,32,0,62,216,62,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,62,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,57,221,60,0,32,0,62,216,57,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,57,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,216,221,60,0,32,0,62,216,216,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,216,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,255,223,13,32,64,38,60,0,42,0,61,216,192,222,61,216,204,222,60,0,32,0,62,216,209,221,13,32,62,216,29,221,13,32,62,216,209,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,62,216,29,221,13,32,62,216,209,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,62,216,29,221,13,32,62,216,209,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,62,216,29,221,13,32,62,216,209,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,62,216,29,221,13,32,62,216,209,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,62,216,29,221,13,32,62,216,209,221,60,0,32,0,61,216,109,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,105,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,105,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,105,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,105,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,105,220,60,0,32,0,61,216,107,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,104,220,60,0,32,0,61,216,108,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,104,220,38,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,105,220,60,216,251,223,61,0,61,216,109,220,60,216,251,223,38,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,105,220,60,216,252,223,61,0,61,216,109,220,60,216,252,223,38,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,105,220,60,216,253,223,61,0,61,216,109,220,60,216,253,223,38,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,105,220,60,216,254,223,61,0,61,216,109,220,60,216,254,223,38,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,105,220,60,216,255,223,61,0,61,216,109,220,60,216,255,223,38,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,251,223,61,0,61,216,107,220,60,216,251,223,38,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,252,223,61,0,61,216,107,220,60,216,252,223,38,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,253,223,61,0,61,216,107,220,60,216,253,223,38,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,254,223,61,0,61,216,107,220,60,216,254,223,38,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,255,223,61,0,61,216,107,220,60,216,255,223,38,0,32,0,61,216,104,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,251,223,61,0,61,216,108,220,60,216,251,223,38,0,32,0,61,216,104,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,252,223,61,0,61,216,108,220,60,216,252,223,38,0,32,0,61,216,104,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,253,223,61,0,61,216,108,220,60,216,253,223,38,0,32,0,61,216,104,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,254,223,61,0,61,216,108,220,60,216,254,223,38,0,32,0,61,216,104,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,255,223,61,0,61,216,108,220,60,216,255,223,60,0,42,0,61,216,143,220,60,0,32,0,61,216,105,220,13,32,100,39,13,32,61,216,139,220,13,32,61,216,104,220,32,0,61,0,32,0,61,216,105,220,13,32,100,39,15,254,13,32,61,216,139,220,13,32,61,216,104,220,60,0,32,0,61,216,104,220,13,32,100,39,13,32,61,216,139,220,13,32,61,216,104,220,32,0,61,0,32,0,61,216,104,220,13,32,100,39,15,254,13,32,61,216,139,220,13,32,61,216,104,220,60,0,32,0,61,216,105,220,13,32,100,39,13,32,61,216,139,220,13,32,61,216,105,220,32,0,61,0,32,0,61,216,105,220,13,32,100,39,15,254,13,32,61,216,139,220,13,32,61,216,105,220,60,0,42,0,61,216,145,220,60,0,32,0,61,216,105,220,13,32,100,39,13,32,61,216,104,220,32,0,61,0,32,0,61,216,105,220,13,32,100,39,15,254,13,32,61,216,104,220,60,0,32,0,61,216,104,220,13,32,100,39,13,32,61,216,104,220,32,0,61,0,32,0,61,216,104,220,13,32,100,39,15,254,13,32,61,216,104,220,60,0,32,0,61,216,105,220,13,32,100,39,13,32,61,216,105,220,32,0,61,0,32,0,61,216,105,220,13,32,100,39,15,254,13,32,61,216,105,220,60,0,42,0,61,216,106,220,60,0,32,0,61,216,104,220,13,32,61,216,105,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,105,220,13,32,61,216,103,220,60,0,32,0,61,216,104,220,13,32,61,216,105,220,13,32,61,216,103,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,105,220,13,32,61,216,102,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,105,220,13,32,61,216,103,220,13,32,61,216,103,220,60,0,32,0,61,216,104,220,13,32,61,216,104,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,104,220,13,32,61,216,103,220,60,0,32,0,61,216,104,220,13,32,61,216,104,220,13,32,61,216,103,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,104,220,13,32,61,216,102,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,104,220,13,32,61,216,103,220,13,32,61,216,103,220,60,0,32,0,61,216,105,220,13,32,61,216,105,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,105,220,13,32,61,216,103,220,60,0,32,0,61,216,105,220,13,32,61,216,105,220,13,32,61,216,103,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,105,220,13,32,61,216,102,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,105,220,13,32,61,216,103,220,13,32,61,216,103,220,60,0,32,0,61,216,104,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,102,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,103,220,60,0,32,0,61,216,104,220,13,32,61,216,103,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,103,220,13,32,61,216,103,220,60,0,32,0,61,216,105,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,102,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,103,220,60,0,32,0,61,216,105,220,13,32,61,216,103,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,103,220,13,32,61,216,103,220,60,0,42,0,61,216,227,221,61,216,100,220,61,216,101,220,62,216,194,222,61,216,99,220,60,0,42,0,62,216,176,221,62,216,177,221,62,216,179,221,62,216,178,221,60,0,42,0,61,216,53,220,61,216,18,220,62,216,141,221,62,216,167,221,61,216,54,220,61,216,21,220,62,216,174,221,60,0,32,0,61,216,21,220,13,32,62,216,186,221,60,0,42,0,61,216,41,220,61,216,58,220,62,216,138,221,62,216,157,221,61,216,49,220,61,216,8,220,60,0,32,0,61,216,8,220,13,32,27,43,60,0,42,0,62,216,129,221,61,216,47,220,61,216,5,220,61,216,6,220,61,216,52,220,62,216,206,222,62,216,207,222,61,216,14,220,62,216,132,221,62,216,147,221,62,216,140,221,62,216,172,221,61,216,46,220,61,216,2,220,61,216,3,220,61,216,4,220,61,216,55,220,61,216,22,220,61,216,23,220,61,216,61,220,61,216,15,220,61,216,17,220,61,216,16,220,61,216,42,220,61,216,43,220,62,216,153,221,62,216,146,221,61,216,24,220,62,216,163,221,62,216,143,221,62,216,155,221,61,216,45,220,61,216,1,220,61,216,0,220,61,216,57,220,61,216,48,220,61,216,7,220,61,216,63,220,62,216,171,221,62,216,148,221,62,216,135,221,61,216,59,220,60,0,32,0,61,216,59,220,13,32,68,39,60,0,42,0,61,216,40,220,61,216,60,220,62,216,165,221,62,216,166,221,62,216,168,221,62,216,152,221,62,216,161,221,61,216,62,220,60,0,42,0,62,216,131,221,61,216,20,220,61,216,19,220,61,216,35,220,61,216,36,220,61,216,37,220,61,216,38,220,61,216,39,220,61,216,74,221,62,216,133,221,62,216,134,221,62,216,162,221,62,216,137,221,62,216,164,221,62,216,182,222,62,216,169,221,62,216,154,221,62,216,156,221,62,216,189,222,60,0,32,0,61,216,38,220,13,32,27,43,60,0,42,0,62,216,191,222,60,0,42,0,61,216,56,220,60,0,42,0,61,216,10,220,61,216,34,220,62,216,142,221,61,216,13,220,61,216,50,220,61,216,9,220,62,216,149,221,62,216,150,221,60,0,42,0,61,216,51,220,61,216,11,220,61,216,44,220,62,216,173,221,61,216,31,220,61,216,32,220,61,216,33,220,62,216,136,221,61,216,25,220,61,216,26,220,62,216,184,222,62,216,188,222,60,0,42,0,61,216,12,220,62,216,139,221,61,216,27,220,61,216,28,220,61,216,29,220,62,216,178,222,61,216,30,220,62,216,151,221,62,216,179,222,61,216,119,221,61,216,120,221,62,216,130,221,62,216,159,221,62,216,176,222,62,216,177,222,62,216,160,221,60,0,42,0,61,216,144,220,60,216,56,223,61,216,174,220,62,216,183,222,60,216,245,223,60,216,57,223,62,216,64,221,60,216,58,223,60,216,59,223,60,216,60,223,60,216,55,223,62,216,187,222,60,0,42,0,60,216,49,223,62,216,180,222,60,216,50,223,60,216,51,223,60,216,52,223,60,216,53,223,60,216,62,223,60,216,63,223,24,38,60,216,64,223,60,216,65,223,60,216,66,223,60,216,67,223,62,216,185,222,62,216,186,222,60,216,68,223,60,0,42,0,60,216,71,223,60,216,72,223,60,216,73,223,60,216,74,223,60,216,75,223,60,216,76,223,60,216,77,223,62,216,109,221,60,216,78,223,60,216,79,223,60,216,80,223,60,216,81,223,60,216,82,223,60,216,83,223,62,216,208,222,62,216,93,221,60,216,69,223,62,216,210,222,62,216,101,221,60,0,42,0,62,216,81,221,60,216,70,223,62,216,84,221,62,216,85,221,60,216,61,223,60,216,54,223,62,216,209,222,62,216,82,221,62,216,108,221,62,216,102,221,62,216,196,221,62,216,197,221,62,216,92,221,62,216,216,222,60,216,48,223,62,216,218,222,62,216,219,222,60,0,42,0,60,216,94,223,62,216,80,221,62,216,86,221,62,216,211,222,62,216,104,221,62,216,111,221,62,216,94,221,62,216,199,221,62,216,192,221,60,216,86,223,60,216,87,223,62,216,105,221,62,216,83,221,60,216,84,223,60,216,95,223,60,216,85,223,60,216,45,223,62,216,106,221,60,216,46,223,60,216,47,223,62,216,212,222,62,216,89,221,62,216,198,221,62,216,90,221,60,216,115,223,62,216,88,221,60,216,114,223,62,216,213,222,62,216,99,221,62,216,87,221,60,216,127,223,62,216,200,221,62,216,194,221,62,216,107,221,60,0,42,0,60,216,113,223,60,216,88,223,60,216,89,223,60,216,90,223,60,216,91,223,60,216,92,223,60,216,93,223,60,216,96,223,60,216,98,223,60,216,99,223,60,216,100,223,60,216,101,223,62,216,110,221,60,216,97,223,62,216,95,221,62,216,96,221,62,216,97,221,60,0,42,0,62,216,128,221,62,216,158,221,62,216,144,221,62,216,145,221,62,216,170,221,60,0,42,0,60,216,102,223,60,216,103,223,60,216,104,223,60,216,105,223,60,216,106,223,60,216,130,223,60,216,112,223,62,216,193,221,62,216,103,221,60,216,107,223,60,216,108,223,60,216,109,223,60,216,110,223,60,216,111,223,60,0,42,0,60,216,124,223,62,216,91,221,21,38,62,216,214,222,60,216,117,223,60,216,118,223,60,216,126,223,60,216,119,223,60,216,120,223,60,216,121,223,60,216,122,223,60,216,123,223,62,216,66,221,62,216,67,221,62,216,215,222,62,216,100,221,62,216,203,221,62,216,195,221,62,216,201,221,62,216,202,221,60,0,42,0,62,216,98,221,60,216,125,223,60,216,116,223,62,216,68,221,61,216,42,221,62,216,217,222,60,216,250,223,60,0,42,0,60,216,13,223,60,216,14,223,60,216,15,223,60,216,16,223,61,216,250,221,61,216,254,221,62,216,237,221,60,0,42,0,60,216,212,223,240,38,60,216,11,223,61,216,251,221,60,216,213,223,60,216,214,223,60,216,220,223,60,216,221,223,60,216,222,223,60,0,42,0,60,216,223,223,60,216,219,223,60,216,215,223,62,216,241,221,62,216,168,222,62,216,181,222,61,216,214,222,60,216,216,223,60,216,218,223,60,216,224,223,60,216,225,223,60,216,226,223,60,216,227,223,60,216,228,223,60,216,229,223,60,216,230,223,60,216,232,223,60,216,233,223,60,216,234,223,60,216,235,223,60,216,236,223,60,216,237,223,60,216,239,223,60,216,240,223,61,216,146,220,61,216,252,221,61,216,253,221,60,0,42,0,234,38,61,216,76,221,61,216,213,222,61,216,77,221,233,38,61,216,75,221,60,0,42,0,242,38,250,38,60,216,1,223,60,216,3,223,60,216,217,223,60,216,4,223,60,216,5,223,60,216,6,223,60,216,7,223,60,216,9,223,104,38,60,216,160,223,61,216,221,222,60,216,161,223,60,216,162,223,61,216,136,220,60,216,170,223,60,0,42,0,61,216,130,222,61,216,131,222,61,216,132,222,61,216,133,222,61,216,134,222,61,216,135,222,61,216,136,222,61,216,137,222,61,216,138,222,61,216,157,222,61,216,158,222,61,216,139,222,61,216,140,222,61,216,141,222,61,216,142,222,61,216,144,222,61,216,145,222,61,216,146,222,61,216,147,222,61,216,148,222,61,216,149,222,61,216,150,222,61,216,151,222,61,216,152,222,61,216,153,222,61,216,251,222,61,216,154,222,61,216,155,222,61,216,156,222,60,216,206,223,60,216,205,223,61,216,245,222,62,216,189,221,62,216,188,221,61,216,250,222,61,216,178,222,61,216,244,222,61,216,249,222,61,216,252,222,61,216,143,222,61,216,227,222,61,216,228,222,61,216,226,222,253,38,61,216,222,222,61,216,168,222,61,216,165,222,61,216,166,222,61,216,209,222,61,216,167,222,60,0,42,0,147,38,61,216,223,222,245,38,61,216,246,222,61,216,164,222,61,216,243,222,244,38,61,216,229,222,61,216,162,222,60,0,42,0,8,39,61,216,233,222,61,216,235,222,61,216,236,222,62,216,130,222,61,216,186,220,61,216,129,222,61,216,159,222,61,216,160,222,61,216,161,222,61,216,240,222,61,216,128,222,61,216,248,222,60,0,42,0,61,216,206,222,62,216,243,221,60,0,42,0,27,35,243,35,26,35,240,35,241,35,242,35,61,216,112,221,61,216,91,221,61,216,103,221,61,216,80,221,61,216,92,221,61,216,81,221,61,216,93,221,61,216,82,221,61,216,94,221,61,216,83,221,61,216,95,221,61,216,84,221,61,216,96,221,61,216,85,221,61,216,97,221,61,216,86,221,61,216,98,221,61,216,87,221,61,216,99,221,61,216,88,221,61,216,100,221,61,216,89,221,61,216,101,221,61,216,90,221,61,216,102,221,60,0,42,0,60,216,17,223,60,216,18,223,60,216,19,223,60,216,20,223,60,216,21,223,60,216,22,223,60,216,23,223,60,216,24,223,60,216,25,223,60,216,26,223,60,216,27,223,60,216,28,223,60,216,33,223,0,38,60,216,29,223,60,216,30,223,62,216,144,222,80,43,60,216,31,223,60,216,32,223,60,216,12,223,1,38,197,38,200,38,60,216,36,223,60,216,37,223,60,216,38,223,60,216,39,223,60,216,40,223,60,216,41,223,60,216,42,223,60,216,43,223,60,216,44,223,60,216,0,223,60,216,8,223,60,216,2,223,2,38,20,38,241,38,161,38,68,39,3,38,196,38,4,38,61,216,37,221,61,216,167,220,60,216,10,223,60,0,42,0,60,216,131,223,60,216,132,223,60,216,134,223,60,216,135,223,62,216,232,221,40,39,60,216,136,223,60,216,137,223,60,216,138,223,60,216,139,223,60,216,141,223,60,216,142,223,60,216,143,223,60,216,144,223,60,216,145,223,62,216,231,221,60,216,128,223,60,216,129,223,60,216,151,223,60,216,159,223,60,216,171,223,60,0,42,0,60,216,150,223,60,216,198,223,60,216,197,223,62,216,71,221,62,216,72,221,62,216,73,221,60,0,42,0,189,38,190,38,62,216,78,221,60,216,192,223,60,216,208,223,60,216,200,223,60,216,201,223,60,216,190,223,62,216,79,221,60,216,179,223,60,216,207,223,60,216,209,223,60,216,210,223,62,216,77,221,60,216,211,223,60,216,248,223,62,216,74,221,62,216,75,221,62,216,69,221,243,38,248,38,60,216,163,223,62,216,63,221,60,216,189,223,60,216,191,223,61,216,247,222,62,216,76,221,60,0,42,0,60,216,175,223,62,216,128,222,62,216,129,222,61,216,43,221,60,216,177,223,61,216,46,221,62,216,132,222,60,216,174,223,61,216,121,221,60,216,176,223,60,216,178,223,62,216,233,221,62,216,248,221,62,216,133,222,62,216,169,222,62,216,134,222,96,38,101,38,102,38,99,38,95,38,60,216,207,220,60,216,4,220,60,216,180,223,60,0,42,0,60,216,173,223,61,216,188,221,60,216,168,223,62,216,245,221,62,216,161,222,62,216,246,221,62,216,162,222,60,0,42,0,61,216,83,220,61,216,118,221,62,216,125,221,62,216,124,221,62,216,186,221,61,216,84,220,61,216,85,220,61,216,86,220,62,216,227,221,62,216,228,221,62,216,229,221,62,216,230,221,61,216,87,220,61,216,88,220,62,216,123,221,62,216,113,222,62,216,114,222,62,216,115,222,61,216,89,220,61,216,90,220,62,216,173,222,61,216,91,220,61,216,92,220,61,216,93,220,61,216,205,222,60,216,146,223,62,216,116,222,61,216,94,220,61,216,95,220,62,216,126,221,62,216,127,221,61,216,96,220,61,216,97,220,62,216,112,222,61,216,98,220,62,216,174,222,61,216,81,220,61,216,82,220,60,216,169,223,60,216,147,223,62,216,226,221,62,216,150,222,209,38,61,216,255,220,61,216,132,220,61,216,141,220,61,216,142,220,60,0,42,0,61,216,7,221,61,216,8,221,61,216,9,221,61,216,10,221,61,216,226,220,61,216,227,220,61,216,239,220,61,216,20,221,61,216,21,221,60,0,42,0,60,216,188,223,60,216,181,223,60,216,182,223,60,216,153,223,60,216,154,223,60,216,155,223,60,216,164,223,60,216,167,223,61,216,251,220,60,0,42,0,60,216,183,223,62,216,151,222,60,216,184,223,60,216,185,223,60,216,186,223,60,216,187,223,62,216,149,222,62,216,65,221,62,216,152,222,62,216,135,222,62,216,136,222,60,0,42,0,61,216,241,220,61,216,242,220,14,38,61,216,222,220,61,216,223,220,61,216,224,220,60,0,42,0,61,216,11,221,62,216,171,222,61,216,12,221,61,216,187,220,61,216,165,221,61,216,168,221,40,35,61,216,177,221,61,216,178,221,61,216,189,220,61,216,190,220,61,216,191,220,61,216,192,220,62,216,238,221,60,0,42,0,60,216,165,223,60,216,158,223,61,216,253,220,60,216,172,223,61,216,250,220,61,216,247,220,61,216,248,220,61,216,249,220,61,216,252,220,61,216,13,221,61,216,14,221,61,216,111,221,61,216,161,220,61,216,38,221,60,216,238,223,62,216,148,222,60,0,42,0,61,216,212,220,61,216,213,220,61,216,214,220,61,216,215,220,61,216,216,220,61,216,217,220,61,216,218,220,61,216,211,220,61,216,210,220,61,216,195,220,61,216,220,220,61,216,196,220,61,216,240,220,61,216,222,221,61,216,209,220,61,216,22,221,60,216,247,223,60,0,42,0,61,216,176,220,62,216,153,222,61,216,180,220,61,216,181,220,61,216,182,220,61,216,183,220,61,216,184,220,61,216,179,220,62,216,254,221,61,216,185,220,60,0,42,0,9,39,61,216,231,220,61,216,232,220,61,216,233,220,61,216,228,220,61,216,229,220,61,216,230,220,61,216,235,220,61,216,234,220,61,216,236,220,61,216,237,220,61,216,238,220,61,216,243,221,60,0,42,0,15,39,18,39,61,216,139,221,61,216,138,221,61,216,140,221,61,216,141,221,61,216,221,220,60,0,42,0,61,216,188,220,61,216,193,220,61,216,194,220,61,216,194,221,61,216,197,220,61,216,198,220,61,216,210,221,61,216,211,221,61,216,199,220,61,216,200,220,61,216,201,220,61,216,202,220,61,216,203,220,61,216,204,220,61,216,205,220,61,216,206,220,61,216,135,221,61,216,207,220,61,216,208,220,2,39,61,216,195,221,61,216,196,221,61,216,209,221,60,0,42,0,61,216,18,221,61,216,19,221,61,216,15,221,61,216,16,221,61,216,17,221,61,216,221,221,60,0,42,0,61,216,40,221,62,216,147,222,207,38,146,38,61,216,224,222,61,216,225,221,148,38,61,216,163,220,62,216,131,222,60,216,249,223,61,216,225,222,62,216,154,222,61,216,39,221,62,216,155,222,61,216,41,221,153,38,61,216,220,221,150,38,62,216,175,221,61,216,23,221,211,38,62,216,157,222,62,216,240,221,62,216,242,221,62,216,156,222,60,0,42,0,151,38,62,216,234,221,62,216,235,221,62,216,236,221,61,216,44,221,61,216,45,221,61,216,225,220,60,0,42,0,61,216,137,220,62,216,120,222,61,216,138,220,62,216,121,222,62,216,124,222,62,216,122,222,62,216,123,222,60,0,42,0,61,216,170,222,61,216,215,222,62,216,158,222,62,216,159,222,61,216,207,222,61,216,203,222,62,216,145,222,61,216,189,222,62,216,160,222,61,216,191,222,61,216,193,222,62,216,164,222,62,216,146,222,62,216,244,221,62,216,247,221,62,216,249,221,62,216,250,221,62,216,251,221,62,216,163,222,62,216,252,221,62,216,231,222,62,216,165,222,62,216,253,221,62,216,239,221,61,216,210,222,60,0,42,0,61,216,172,222,176,38,62,216,166,222,177,38,62,216,255,221,62,216,172,222,61,216,255,221,62,216,167,222,62,216,170,222,60,0,42,0,60,216,231,223,61,216,174,222,61,216,176,222,127,38,61,216,185,222,61,216,186,222,61,216,187,222,61,216,188,222,61,216,190,222,61,216,194,222,61,216,195,222,61,216,196,222,61,216,197,222,60,0,42,0,160,38,61,216,184,222,212,38,61,216,171,222,61,216,179,222,61,216,173,222,61,216,175,222,61,216,177,222,61,216,183,222,61,216,245,220,61,216,30,221,34,38,35,38,60,0,42,0,6,43,151,33,161,39,152,33,7,43,153,33,5,43,150,33,149,33,148,33,169,33,170,33,52,41,53,41,61,216,3,221,61,216,4,221,61,216,25,221,61,216,26,221,61,216,27,221,61,216,28,221,61,216,29,221,60,0,42,0,61,216,208,222,155,38,61,216,73,221,33,39,56,38,47,38,29,39,38,38,42,38,46,38,61,216,78,221,61,216,47,221,62,216,175,222,60,0,42,0,72,38,73,38,74,38,75,38,76,38,77,38,78,38,79,38,80,38,81,38,82,38,83,38,206,38,60,0,42,0,61,216,0,221,61,216,1,221,61,216,2,221,182,37,233,35,237,35,239,35,192,37,234,35,238,35,61,216,60,221,235,35,61,216,61,221,236,35,248,35,249,35,250,35,207,35,60,216,166,223,61,216,5,221,61,216,6,221,61,216,246,220,61,216,220,222,61,216,243,220,61,216,244,220,60,0,42,0,64,38,66,38,167,38,60,0,42,0,22,39,149,39,150,39,151,39,61,216,240,223,126,38,60,0,42,0,60,32,73,32,83,39,84,39,85,39,87,39,48,48,60,0,42,0,61,216,177,220,61,216,178,220,60,0,42,0,149,38,123,38,156,38,61,216,49,221,61,216,219,220,61,216,48,221,85,43,5,39,17,38,20,39,76,39,78,39,176,39,191,39,61,48,51,39,52,39,71,39,169,0,174,0,34,33,60,0,32,0,39,0,35,0,227,32,39,0,32,0,61,0,32,0,39,0,35,0,15,254,227,32,39,0,60,0,32,0,39,0,42,0,227,32,39,0,32,0,61,0,32,0,39,0,42,0,15,254,227,32,39,0,60,0,32,0,48,0,227,32,32,0,61,0,32,0,48,0,15,254,227,32,60,0,32,0,49,0,227,32,32,0,61,0,32,0,49,0,15,254,227,32,60,0,32,0,50,0,227,32,32,0,61,0,32,0,50,0,15,254,227,32,60,0,32,0,51,0,227,32,32,0,61,0,32,0,51,0,15,254,227,32,60,0,32,0,52,0,227,32,32,0,61,0,32,0,52,0,15,254,227,32,60,0,32,0,53,0,227,32,32,0,61,0,32,0,53,0,15,254,227,32,60,0,32,0,54,0,227,32,32,0,61,0,32,0,54,0,15,254,227,32,60,0,32,0,55,0,227,32,32,0,61,0,32,0,55,0,15,254,227,32,60,0,32,0,56,0,227,32,32,0,61,0,32,0,56,0,15,254,227,32,60,0,32,0,57,0,227,32,32,0,61,0,32,0,57,0,15,254,227,32,60,0,42,0,61,216,31,221,60,0,42,0,61,216,32,221,61,216,33,221,61,216,34,221,61,216,35,221,61,216,36,221,60,216,112,221,60,216,142,221,60,216,113,221,60,216,145,221,60,216,146,221,60,216,147,221,57,33,60,216,148,221,194,36,60,216,149,221,60,216,150,221,60,216,126,221,60,216,151,221,60,216,127,221,60,216,152,221,60,216,153,221,60,216,154,221,60,216,1,222,60,216,2,222,60,216,55,222,60,216,54,222,60,216,47,222,60,216,80,222,60,216,57,222,60,216,26,222,60,216,50,222,60,216,81,222,60,216,56,222,60,216,52,222,60,216,51,222,151,50,153,50,60,216,58,222,60,216,53,222,60,0,42,0,61,216,52,221,61,216,224,223,61,216,225,223,61,216,226,223,61,216,53,221,61,216,227,223,61,216,228,223,171,38,170,38,61,216,229,223,61,216,231,223,61,216,232,223,61,216,233,223,61,216,230,223,61,216,234,223,61,216,235,223,27,43,28,43,252,37,251,37,254,37,253,37,170,37,171,37,61,216,54,221,61,216,55,221,61,216,56,221,61,216,57,221,61,216,58,221,61,216,59,221,61,216,160,220,61,216,24,221,61,216,51,221,61,216,50,221,60,0,42,0,60,216,193,223,61,216,169,222,60,216,140,223,60,216,244,223,60,216,243,223,60,0,32,0,60,216,243,223,13,32,60,216,8,223,32,0,61,0,32,0,60,216,243,223,15,254,13,32,60,216,8,223,60,0,32,0,60,216,243,223,13,32,167,38,32,0,61,0,32,0,60,216,243,223,15,254,13,32,167,38,60,0,32,0,60,216,244,223,13,32,32,38,60,0,42,0,60,216,230,221,60,216,231,221,60,216,232,221,60,216,233,221,60,216,234,221,60,216,235,221,60,216,236,221,60,216,237,221,60,216,238,221,60,216,239,221,60,216,240,221,60,216,241,221,60,216,242,221,60,216,243,221,60,216,244,221,60,216,245,221,60,216,246,221,60,216,247,221,60,216,248,221,60,216,249,221,60,216,250,221,60,216,251,221,60,216,252,221,60,216,253,221,60,216,254,221,60,216,255,221,60,0,32,0,60,216,244,223,64,219,103,220,64,219,98,220,64,219,101,220,64,219,110,220,64,219,103,220,64,219,127,220,60,0,32,0,60,216,244,223,64,219,103,220,64,219,98,220,64,219,115,220,64,219,99,220,64,219,116,220,64,219,127,220,60,0,32,0,60,216,244,223,64,219,103,220,64,219,98,220,64,219,119,220,64,219,108,220,64,219,115,220,64,219,127,220,38,0,32,0,62,216,209,221,32,0,60,0,60,0,32,0,61,216,113,220,38,0,32,0,61,216,104,220,32,0,60,0,60,0,32,0,62,216,212,221,32,0,60,0,60,0,62,216,212,221,13,32,66,38,32,0,60,0,60,0,62,216,212,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,62,216,212,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,62,216,212,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,62,216,212,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,62,216,212,221,60,216,255,223,13,32,66,38,32,0,60,0,60,0,61,216,113,220,13,32,66,38,32,0,60,0,60,0,61,216,113,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,61,216,113,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,61,216,113,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,61,216,113,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,61,216,113,220,60,216,255,223,13,32,66,38,38,0,32,0,61,216,105,220,32,0,60,0,60,0,32,0,62,216,212,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,255,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,255,223,13,32,64,38,0,0,240,223,200,153,38,0,91,0,108,0,97,0,115,0,116,0,32,0,116,0,101,0,114,0,116,0,105,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,61,0,39,0,1,0,39,0,61,0,39,0,2,0,39,0,61,0,39,0,3,0,39,0,61,0,39,0,4,0,39,0,61,0,39,0,5,0,39,0,61,0,39,0,6,0,39,0,61,0,39,0,7,0,39,0,61,0,39,0,8,0,39,0,61,0,39,0,14,0,39,0,61,0,39,0,15,0,39,0,61,0,39,0,16,0,39,0,61,0,39,0,17,0,39,0,61,0,39,0,18,0,39,0,61,0,39,0,19,0,39,0,61,0,39,0,20,0,39,0,61,0,39,0,21,0,39,0,61,0,39,0,22,0,39,0,61,0,39,0,23,0,39,0,61,0,39,0,24,0,39,0,61,0,39,0,25,0,39,0,61,0,39,0,26,0,39,0,61,0,39,0,27,0,39,0,61,0,39,0,28,0,39,0,61,0,39,0,29,0,39,0,61,0,39,0,30,0,39,0,61,0,39,0,31,0,39,0,61,0,39,0,127,0,39,0,61,0,39,0,128,0,39,0,61,0,39,0,129,0,39,0,61,0,39,0,130,0,39,0,61,0,39,0,131,0,39,0,61,0,39,0,132,0,39,0,61,0,39,0,134,0,39,0,61,0,39,0,135,0,39,0,61,0,39,0,136,0,39,0,61,0,39,0,137,0,39,0,61,0,39,0,138,0,39,0,61,0,39,0,139,0,39,0,61,0,39,0,140,0,39,0,61,0,39,0,141,0,39,0,61,0,39,0,142,0,39,0,61,0,39,0,143,0,39,0,61,0,39,0,144,0,39,0,61,0,39,0,145,0,39,0,61,0,39,0,146,0,39,0,61,0,39,0,147,0,39,0,61,0,39,0,148,0,39,0,61,0,39,0,149,0,39,0,61,0,39,0,150,0,39,0,61,0,39,0,151,0,39,0,61,0,39,0,152,0,39,0,61,0,39,0,153,0,39,0,61,0,39,0,154,0,39,0,61,0,39,0,155,0,39,0,61,0,39,0,156,0,39,0,61,0,39,0,157,0,39,0,61,0,39,0,158,0,39,0,61,0,39,0,159,0,39,0,61,0,39,0,173,0,39,0,61,0,79,3,61,0,136,4,61,0,137,4,61,0,145,5,61,0,146,5,61,0,147,5,61,0,148,5,61,0,149,5,61,0,150,5,61,0,151,5,61,0,152,5,61,0,153,5,61,0,154,5,61,0,155,5,61,0,156,5,61,0,157,5,61,0,158,5,61,0,159,5,61,0,160,5,61,0,161,5,61,0,162,5,61,0,163,5,61,0,164,5,61,0,165,5,61,0,166,5,61,0,167,5,61,0,168,5,61,0,169,5,61,0,170,5,61,0,171,5,61,0,172,5,61,0,173,5,61,0,174,5,61,0,175,5,61,0,189,5,61,0,196,5,61,0,197,5,61,0,39,0,0,6,39,0,61,0,39,0,1,6,39,0,61,0,39,0,2,6,39,0,61,0,39,0,3,6,39,0,61,0,39,0,4,6,39,0,61,0,39,0,5,6,39,0,61,0,16,6,61,0,17,6,61,0,18,6,61,0,19,6,61,0,20,6,61,0,21,6,61,0,22,6,61,0,23,6,61,0,24,6,61,0,25,6,61,0,26,6,61,0,39,0,28,6,39,0,61,0,14,32,64,6,14,32,61,0,214,6,61,0,215,6,61,0,216,6,61,0,217,6,61,0,218,6,61,0,219,6,61,0,220,6,61,0,39,0,221,6,39,0,61,0,223,6,61,0,224,6,61,0,225,6,61,0,226,6,61,0,227,6,61,0,228,6,61,0,231,6,61,0,232,6,61,0,234,6,61,0,235,6,61,0,236,6,61,0,237,6,61,0,39,0,15,7,39,0,61,0,64,7,61,0,67,7,61,0,68,7,61,0,71,7,61,0,72,7,61,0,73,7,61,0,74,7,61,0,14,32,250,7,14,32,61,0,39,0,144,8,39,0,61,0,39,0,145,8,39,0,61,0,152,8,61,0,153,8,61,0,154,8,61,0,155,8,61,0,156,8,61,0,157,8,61,0,202,8,61,0,203,8,61,0,204,8,61,0,205,8,61,0,206,8,61,0,207,8,61,0,208,8,61,0,209,8,61,0,210,8,61,0,211,8,61,0,212,8,61,0,213,8,61,0,214,8,61,0,215,8,61,0,216,8,61,0,217,8,61,0,218,8,61,0,219,8,61,0,220,8,61,0,221,8,61,0,222,8,61,0,223,8,61,0,224,8,61,0,225,8,61,0,39,0,226,8,39,0,61,0,234,8,61,0,235,8,61,0,236,8,61,0,237,8,61,0,238,8,61,0,239,8,61,0,243,8,61,0,81,9,61,0,82,9,61,0,24,15,61,0,25,15,61,0,53,15,61,0,55,15,61,0,62,15,61,0,63,15,61,0,134,15,61,0,135,15,61,0,198,15,61,0,180,23,61,0,181,23,61,0,211,23,61,0,10,24,61,0,11,24,61,0,12,24,61,0,13,24,61,0,39,0,14,24,39,0,61,0,15,24,61,0,127,26,61,0,107,27,61,0,108,27,61,0,109,27,61,0,110,27,61,0,111,27,61,0,112,27,61,0,113,27,61,0,114,27,61,0,115,27,61,0,208,28,61,0,209,28,61,0,210,28,61,0,211,28,61,0,212,28,61,0,213,28,61,0,214,28,61,0,215,28,61,0,216,28,61,0,217,28,61,0,218,28,61,0,219,28,61,0,220,28,61,0,221,28,61,0,222,28,61,0,223,28,61,0,224,28,61,0,225,28,61,0,226,28,61,0,227,28,61,0,228,28,61,0,229,28,61,0,230,28,61,0,231,28,61,0,232,28,61,0,244,28,61,0,247,28,61,0,248,28,61,0,249,28,61,0,39,0,11,32,39,0,61,0,39,0,12,32,39,0,61,0,39,0,13,32,39,0,61,0,39,0,14,32,39,0,61,0,39,0,15,32,39,0,61,0,39,0,42,32,39,0,61,0,39,0,43,32,39,0,61,0,39,0,44,32,39,0,61,0,39,0,45,32,39,0,61,0,39,0,46,32,39,0,61,0,39,0,96,32,39,0,61,0,39,0,97,32,39,0,61,0,39,0,98,32,39,0,61,0,39,0,99,32,39,0,61,0,39,0,100,32,39,0,61,0,39,0,102,32,39,0,61,0,39,0,103,32,39,0,61,0,39,0,104,32,39,0,61,0,39,0,105,32,39,0,61,0,39,0,106,32,39,0,61,0,39,0,107,32,39,0,61,0,39,0,108,32,39,0,61,0,39,0,109,32,39,0,61,0,39,0,110,32,39,0,61,0,39,0,111,32,39,0,61,0,127,45,61,0,112,166,61,0,113,166,61,0,114,166,61,0,224,168,61,0,225,168,61,0,226,168,61,0,227,168,61,0,228,168,61,0,229,168,61,0,230,168,61,0,231,168,61,0,232,168,61,0,233,168,61,0,234,168,61,0,235,168,61,0,236,168,61,0,237,168,61,0,238,168,61,0,239,168,61,0,240,168,61,0,241,168,61,0,0,254,61,0,1,254,61,0,2,254,61,0,3,254,61,0,4,254,61,0,5,254,61,0,6,254,61,0,7,254,61,0,8,254,61,0,9,254,61,0,10,254,61,0,11,254,61,0,12,254,61,0,13,254,61,0,14,254,61,0,15,254,61,0,33,254,61,0,35,254,61,0,36,254,61,0,37,254,61,0,38,254,61,0,40,254,61,0,42,254,61,0,43,254,61,0,44,254,61,0,45,254,61,0,47,254,61,0,14,32,115,254,14,32,61,0,39,0,255,254,39,0,61,0,39,0,249,255,39,0,61,0,39,0,250,255,39,0,61,0,39,0,251,255,39,0,61,0,0,216,224,222,61,0,3,216,253,222,61,0,3,216,254,222,61,0,3,216,255,222,61,0,39,0,4,216,189,220,39,0,61,0,39,0,4,216,205,220,39,0,61,0,4,216,102,223,61,0,4,216,103,223,61,0,4,216,104,223,61,0,4,216,105,223,61,0,4,216,106,223,61,0,4,216,107,223,61,0,4,216,108,223,61,0,4,216,112,223,61,0,4,216,113,223,61,0,4,216,114,223,61,0,4,216,115,223,61,0,4,216,116,223,61,0,39,0,13,216,48,220,39,0,61,0,39,0,13,216,49,220,39,0,61,0,39,0,13,216,50,220,39,0,61,0,39,0,13,216,51,220,39,0,61,0,39,0,13,216,52,220,39,0,61,0,39,0,13,216,53,220,39,0,61,0,39,0,13,216,54,220,39,0,61,0,39,0,13,216,55,220,39,0,61,0,39,0,13,216,56,220,39,0,61,0,39,0,13,216,57,220,39,0,61,0,39,0,13,216,58,220,39,0,61,0,39,0,13,216,59,220,39,0,61,0,39,0,13,216,60,220,39,0,61,0,39,0,13,216,61,220,39,0,61,0,39,0,13,216,62,220,39,0,61,0,39,0,13,216,63,220,39,0,61,0,13,216,64,220,61,0,13,216,71,220,61,0,13,216,72,220,61,0,13,216,73,220,61,0,13,216,74,220,61,0,13,216,75,220,61,0,13,216,76,220,61,0,13,216,77,220,61,0,13,216,78,220,61,0,13,216,79,220,61,0,13,216,80,220,61,0,13,216,81,220,61,0,13,216,82,220,61,0,13,216,83,220,61,0,13,216,84,220,61,0,13,216,85,220,61,0,27,216,228,223,61,0,39,0,47,216,160,220,39,0,61,0,39,0,47,216,161,220,39,0,61,0,39,0,47,216,162,220,39,0,61,0,39,0,47,216,163,220,39,0,61,0,51,216,0,223,61,0,51,216,1,223,61,0,51,216,2,223,61,0,51,216,3,223,61,0,51,216,4,223,61,0,51,216,5,223,61,0,51,216,6,223,61,0,51,216,7,223,61,0,51,216,8,223,61,0,51,216,9,223,61,0,51,216,10,223,61,0,51,216,11,223,61,0,51,216,12,223,61,0,51,216,13,223,61,0,51,216,14,223,61,0,51,216,15,223,61,0,51,216,16,223,61,0,51,216,17,223,61,0,51,216,18,223,61,0,51,216,19,223,61,0,51,216,20,223,61,0,51,216,21,223,61,0,51,216,22,223,61,0,51,216,23,223,61,0,51,216,24,223,61,0,51,216,25,223,61,0,51,216,26,223,61,0,51,216,27,223,61,0,51,216,28,223,61,0,51,216,29,223,61,0,51,216,30,223,61,0,51,216,31,223,61,0,51,216,32,223,61,0,51,216,33,223,61,0,51,216,34,223,61,0,51,216,35,223,61,0,51,216,36,223,61,0,51,216,37,223,61,0,51,216,38,223,61,0,51,216,39,223,61,0,51,216,40,223,61,0,51,216,41,223,61,0,51,216,42,223,61,0,51,216,43,223,61,0,51,216,44,223,61,0,51,216,45,223,61,0,51,216,48,223,61,0,51,216,49,223,61,0,51,216,50,223,61,0,51,216,51,223,61,0,51,216,52,223,61,0,51,216,53,223,61,0,51,216,54,223,61,0,51,216,55,223,61,0,51,216,56,223,61,0,51,216,57,223,61,0,51,216,58,223,61,0,51,216,59,223,61,0,51,216,60,223,61,0,51,216,61,223,61,0,51,216,62,223,61,0,51,216,63,223,61,0,51,216,64,223,61,0,51,216,65,223,61,0,51,216,66,223,61,0,51,216,67,223,61,0,51,216,68,223,61,0,51,216,69,223,61,0,51,216,70,223,61,0,52,216,101,221,61,0,52,216,102,221,61,0,52,216,103,221,61,0,52,216,104,221,61,0,52,216,105,221,61,0,52,216,109,221,61,0,52,216,110,221,61,0,52,216,111,221,61,0,52,216,112,221,61,0,52,216,113,221,61,0,52,216,114,221,61,0,39,0,52,216,115,221,39,0,61,0,39,0,52,216,116,221,39,0,61,0,39,0,52,216,117,221,39,0,61,0,39,0,52,216,118,221,39,0,61,0,39,0,52,216,119,221,39,0,61,0,39,0,52,216,120,221,39,0,61,0,39,0,52,216,121,221,39,0,61,0,39,0,52,216,122,221,39,0,61,0,52,216,123,221,61,0,52,216,124,221,61,0,52,216,125,221,61,0,52,216,126,221,61,0,52,216,127,221,61,0,52,216,128,221,61,0,52,216,129,221,61,0,52,216,130,221,61,0,52,216,133,221,61,0,52,216,134,221,61,0,52,216,135,221,61,0,52,216,136,221,61,0,52,216,137,221,61,0,52,216,138,221,61,0,52,216,139,221,61,0,52,216,170,221,61,0,52,216,171,221,61,0,52,216,172,221,61,0,52,216,173,221,61,0,52,216,66,222,61,0,52,216,67,222,61,0,52,216,68,222,61,0,54,216,0,222,61,0,54,216,1,222,61,0,54,216,2,222,61,0,54,216,3,222,61,0,54,216,4,222,61,0,54,216,5,222,61,0,54,216,6,222,61,0,54,216,7,222,61,0,54,216,8,222,61,0,54,216,9,222,61,0,54,216,10,222,61,0,54,216,11,222,61,0,54,216,12,222,61,0,54,216,13,222,61,0,54,216,14,222,61,0,54,216,15,222,61,0,54,216,16,222,61,0,54,216,17,222,61,0,54,216,18,222,61,0,54,216,19,222,61,0,54,216,20,222,61,0,54,216,21,222,61,0,54,216,22,222,61,0,54,216,23,222,61,0,54,216,24,222,61,0,54,216,25,222,61,0,54,216,26,222,61,0,54,216,27,222,61,0,54,216,28,222,61,0,54,216,29,222,61,0,54,216,30,222,61,0,54,216,31,222,61,0,54,216,32,222,61,0,54,216,33,222,61,0,54,216,34,222,61,0,54,216,35,222,61,0,54,216,36,222,61,0,54,216,37,222,61,0,54,216,38,222,61,0,54,216,39,222,61,0,54,216,40,222,61,0,54,216,41,222,61,0,54,216,42,222,61,0,54,216,43,222,61,0,54,216,44,222,61,0,54,216,45,222,61,0,54,216,46,222,61,0,54,216,47,222,61,0,54,216,48,222,61,0,54,216,49,222,61,0,54,216,50,222,61,0,54,216,51,222,61,0,54,216,52,222,61,0,54,216,53,222,61,0,54,216,54,222,61,0,54,216,59,222,61,0,54,216,60,222,61,0,54,216,61,222,61,0,54,216,62,222,61,0,54,216,63,222,61,0,54,216,64,222,61,0,54,216,65,222,61,0,54,216,66,222,61,0,54,216,67,222,61,0,54,216,68,222,61,0,54,216,69,222,61,0,54,216,70,222,61,0,54,216,71,222,61,0,54,216,72,222,61,0,54,216,73,222,61,0,54,216,74,222,61,0,54,216,75,222,61,0,54,216,76,222,61,0,54,216,77,222,61,0,54,216,78,222,61,0,54,216,79,222,61,0,54,216,80,222,61,0,54,216,81,222,61,0,54,216,82,222,61,0,54,216,83,222,61,0,54,216,84,222,61,0,54,216,85,222,61,0,54,216,86,222,61,0,54,216,87,222,61,0,54,216,88,222,61,0,54,216,89,222,61,0,54,216,90,222,61,0,54,216,91,222,61,0,54,216,92,222,61,0,54,216,93,222,61,0,54,216,94,222,61,0,54,216,95,222,61,0,54,216,96,222,61,0,54,216,97,222,61,0,54,216,98,222,61,0,54,216,99,222,61,0,54,216,100,222,61,0,54,216,101,222,61,0,54,216,102,222,61,0,54,216,103,222,61,0,54,216,104,222,61,0,54,216,105,222,61,0,54,216,106,222,61,0,54,216,107,222,61,0,54,216,108,222,61,0,54,216,117,222,61,0,54,216,132,222,61,0,54,216,155,222,61,0,54,216,156,222,61,0,54,216,157,222,61,0,54,216,158,222,61,0,54,216,159,222,61,0,54,216,161,222,61,0,54,216,162,222,61,0,54,216,163,222,61,0,54,216,164,222,61,0,54,216,165,222,61,0,54,216,166,222,61,0,54,216,167,222,61,0,54,216,168,222,61,0,54,216,169,222,61,0,54,216,170,222,61,0,54,216,171,222,61,0,54,216,172,222,61,0,54,216,173,222,61,0,54,216,174,222,61,0,54,216,175,222,61,0,58,216,208,220,61,0,58,216,209,220,61,0,58,216,210,220,61,0,58,216,211,220,61,0,58,216,212,220,61,0,58,216,213,220,61,0,58,216,214,220,61,0,39,0,64,219,1,220,39,0,61,0,39,0,64,219,32,220,39,0,61,0,39,0,64,219,33,220,39,0,61,0,39,0,64,219,34,220,39,0,61,0,39,0,64,219,35,220,39,0,61,0,39,0,64,219,36,220,39,0,61,0,39,0,64,219,37,220,39,0,61,0,39,0,64,219,38,220,39,0,61,0,39,0,64,219,39,220,39,0,61,0,39,0,64,219,40,220,39,0,61,0,39,0,64,219,41,220,39,0,61,0,39,0,64,219,42,220,39,0,61,0,39,0,64,219,43,220,39,0,61,0,39,0,64,219,44,220,39,0,61,0,39,0,64,219,45,220,39,0,61,0,39,0,64,219,46,220,39,0,61,0,39,0,64,219,47,220,39,0,61,0,39,0,64,219,48,220,39,0,61,0,39,0,64,219,49,220,39,0,61,0,39,0,64,219,50,220,39,0,61,0,39,0,64,219,51,220,39,0,61,0,39,0,64,219,52,220,39,0,61,0,39,0,64,219,53,220,39,0,61,0,39,0,64,219,54,220,39,0,61,0,39,0,64,219,55,220,39,0,61,0,39,0,64,219,56,220,39,0,61,0,39,0,64,219,57,220,39,0,61,0,39,0,64,219,58,220,39,0,61,0,39,0,64,219,59,220,39,0,61,0,39,0,64,219,60,220,39,0,61,0,39,0,64,219,61,220,39,0,61,0,39,0,64,219,62,220,39,0,61,0,39,0,64,219,63,220,39,0,61,0,39,0,64,219,64,220,39,0,61,0,39,0,64,219,65,220,39,0,61,0,39,0,64,219,66,220,39,0,61,0,39,0,64,219,67,220,39,0,61,0,39,0,64,219,68,220,39,0,61,0,39,0,64,219,69,220,39,0,61,0,39,0,64,219,70,220,39,0,61,0,39,0,64,219,71,220,39,0,61,0,39,0,64,219,72,220,39,0,61,0,39,0,64,219,73,220,39,0,61,0,39,0,64,219,74,220,39,0,61,0,39,0,64,219,75,220,39,0,61,0,39,0,64,219,76,220,39,0,61,0,39,0,64,219,77,220,39,0,61,0,39,0,64,219,78,220,39,0,61,0,39,0,64,219,79,220,39,0,61,0,39,0,64,219,80,220,39,0,61,0,39,0,64,219,81,220,39,0,61,0,39,0,64,219,82,220,39,0,61,0,39,0,64,219,83,220,39,0,61,0,39,0,64,219,84,220,39,0,61,0,39,0,64,219,85,220,39,0,61,0,39,0,64,219,86,220,39,0,61,0,39,0,64,219,87,220,39,0,61,0,39,0,64,219,88,220,39,0,61,0,39,0,64,219,89,220,39,0,61,0,39,0,64,219,90,220,39,0,61,0,39,0,64,219,91,220,39,0,61,0,39,0,64,219,92,220,39,0,61,0,39,0,64,219,93,220,39,0,61,0,39,0,64,219,94,220,39,0,61,0,39,0,64,219,95,220,39,0,61,0,39,0,64,219,96,220,39,0,61,0,39,0,64,219,97,220,39,0,61,0,39,0,64,219,98,220,39,0,61,0,39,0,64,219,99,220,39,0,61,0,39,0,64,219,100,220,39,0,61,0,39,0,64,219,101,220,39,0,61,0,39,0,64,219,102,220,39,0,61,0,39,0,64,219,103,220,39,0,61,0,39,0,64,219,104,220,39,0,61,0,39,0,64,219,105,220,39,0,61,0,39,0,64,219,106,220,39,0,61,0,39,0,64,219,107,220,39,0,61,0,39,0,64,219,108,220,39,0,61,0,39,0,64,219,109,220,39,0,61,0,39,0,64,219,110,220,39,0,61,0,39,0,64,219,111,220,39,0,61,0,39,0,64,219,112,220,39,0,61,0,39,0,64,219,113,220,39,0,61,0,39,0,64,219,114,220,39,0,61,0,39,0,64,219,115,220,39,0,61,0,39,0,64,219,116,220,39,0,61,0,39,0,64,219,117,220,39,0,61,0,39,0,64,219,118,220,39,0,61,0,39,0,64,219,119,220,39,0,61,0,39,0,64,219,120,220,39,0,61,0,39,0,64,219,121,220,39,0,61,0,39,0,64,219,122,220,39,0,61,0,39,0,64,219,123,220,39,0,61,0,39,0,64,219,124,220,39,0,61,0,39,0,64,219,125,220,39,0,61,0,39,0,64,219,126,220,39,0,61,0,39,0,64,219,127,220,39,0,61,0,64,219,0,221,61,0,64,219,1,221,61,0,64,219,2,221,61,0,64,219,3,221,61,0,64,219,4,221,61,0,64,219,5,221,61,0,64,219,6,221,61,0,64,219,7,221,61,0,64,219,8,221,61,0,64,219,9,221,61,0,64,219,10,221,61,0,64,219,11,221,61,0,64,219,12,221,61,0,64,219,13,221,61,0,64,219,14,221,61,0,64,219,15,221,61,0,64,219,16,221,61,0,64,219,17,221,61,0,64,219,18,221,61,0,64,219,19,221,61,0,64,219,20,221,61,0,64,219,21,221,61,0,64,219,22,221,61,0,64,219,23,221,61,0,64,219,24,221,61,0,64,219,25,221,61,0,64,219,26,221,61,0,64,219,27,221,61,0,64,219,28,221,61,0,64,219,29,221,61,0,64,219,30,221,61,0,64,219,31,221,61,0,64,219,32,221,61,0,64,219,33,221,61,0,64,219,34,221,61,0,64,219,35,221,61,0,64,219,36,221,61,0,64,219,37,221,61,0,64,219,38,221,61,0,64,219,39,221,61,0,64,219,40,221,61,0,64,219,41,221,61,0,64,219,42,221,61,0,64,219,43,221,61,0,64,219,44,221,61,0,64,219,45,221,61,0,64,219,46,221,61,0,64,219,47,221,61,0,64,219,48,221,61,0,64,219,49,221,61,0,64,219,50,221,61,0,64,219,51,221,61,0,64,219,52,221,61,0,64,219,53,221,61,0,64,219,54,221,61,0,64,219,55,221,61,0,64,219,56,221,61,0,64,219,57,221,61,0,64,219,58,221,61,0,64,219,59,221,61,0,64,219,60,221,61,0,64,219,61,221,61,0,64,219,62,221,61,0,64,219,63,221,61,0,64,219,64,221,61,0,64,219,65,221,61,0,64,219,66,221,61,0,64,219,67,221,61,0,64,219,68,221,61,0,64,219,69,221,61,0,64,219,70,221,61,0,64,219,71,221,61,0,64,219,72,221,61,0,64,219,73,221,61,0,64,219,74,221,61,0,64,219,75,221,61,0,64,219,76,221,61,0,64,219,77,221,61,0,64,219,78,221,61,0,64,219,79,221,61,0,64,219,80,221,61,0,64,219,81,221,61,0,64,219,82,221,61,0,64,219,83,221,61,0,64,219,84,221,61,0,64,219,85,221,61,0,64,219,86,221,61,0,64,219,87,221,61,0,64,219,88,221,61,0,64,219,89,221,61,0,64,219,90,221,61,0,64,219,91,221,61,0,64,219,92,221,61,0,64,219,93,221,61,0,64,219,94,221,61,0,64,219,95,221,61,0,64,219,96,221,61,0,64,219,97,221,61,0,64,219,98,221,61,0,64,219,99,221,61,0,64,219,100,221,61,0,64,219,101,221,61,0,64,219,102,221,61,0,64,219,103,221,61,0,64,219,104,221,61,0,64,219,105,221,61,0,64,219,106,221,61,0,64,219,107,221,61,0,64,219,108,221,61,0,64,219,109,221,61,0,64,219,110,221,61,0,64,219,111,221,61,0,64,219,112,221,61,0,64,219,113,221,61,0,64,219,114,221,61,0,64,219,115,221,61,0,64,219,116,221,61,0,64,219,117,221,61,0,64,219,118,221,61,0,64,219,119,221,61,0,64,219,120,221,61,0,64,219,121,221,61,0,64,219,122,221,61,0,64,219,123,221,61,0,64,219,124,221,61,0,64,219,125,221,61,0,64,219,126,221,61,0,64,219,127,221,61,0,64,219,128,221,61,0,64,219,129,221,61,0,64,219,130,221,61,0,64,219,131,221,61,0,64,219,132,221,61,0,64,219,133,221,61,0,64,219,134,221,61,0,64,219,135,221,61,0,64,219,136,221,61,0,64,219,137,221,61,0,64,219,138,221,61,0,64,219,139,221,61,0,64,219,140,221,61,0,64,219,141,221,61,0,64,219,142,221,61,0,64,219,143,221,61,0,64,219,144,221,61,0,64,219,145,221,61,0,64,219,146,221,61,0,64,219,147,221,61,0,64,219,148,221,61,0,64,219,149,221,61,0,64,219,150,221,61,0,64,219,151,221,61,0,64,219,152,221,61,0,64,219,153,221,61,0,64,219,154,221,61,0,64,219,155,221,61,0,64,219,156,221,61,0,64,219,157,221,61,0,64,219,158,221,61,0,64,219,159,221,61,0,64,219,160,221,61,0,64,219,161,221,61,0,64,219,162,221,61,0,64,219,163,221,61,0,64,219,164,221,61,0,64,219,165,221,61,0,64,219,166,221,61,0,64,219,167,221,61,0,64,219,168,221,61,0,64,219,169,221,61,0,64,219,170,221,61,0,64,219,171,221,61,0,64,219,172,221,61,0,64,219,173,221,61,0,64,219,174,221,61,0,64,219,175,221,61,0,64,219,176,221,61,0,64,219,177,221,61,0,64,219,178,221,61,0,64,219,179,221,61,0,64,219,180,221,61,0,64,219,181,221,61,0,64,219,182,221,61,0,64,219,183,221,61,0,64,219,184,221,61,0,64,219,185,221,61,0,64,219,186,221,61,0,64,219,187,221,61,0,64,219,188,221,61,0,64,219,189,221,61,0,64,219,190,221,61,0,64,219,191,221,61,0,64,219,192,221,61,0,64,219,193,221,61,0,64,219,194,221,61,0,64,219,195,221,61,0,64,219,196,221,61,0,64,219,197,221,61,0,64,219,198,221,61,0,64,219,199,221,61,0,64,219,200,221,61,0,64,219,201,221,61,0,64,219,202,221,61,0,64,219,203,221,61,0,64,219,204,221,61,0,64,219,205,221,61,0,64,219,206,221,61,0,64,219,207,221,61,0,64,219,208,221,61,0,64,219,209,221,61,0,64,219,210,221,61,0,64,219,211,221,61,0,64,219,212,221,61,0,64,219,213,221,61,0,64,219,214,221,61,0,64,219,215,221,61,0,64,219,216,221,61,0,64,219,217,221,61,0,64,219,218,221,61,0,64,219,219,221,61,0,64,219,220,221,61,0,64,219,221,221,61,0,64,219,222,221,61,0,64,219,223,221,61,0,64,219,224,221,61,0,64,219,225,221,61,0,64,219,226,221,61,0,64,219,227,221,61,0,64,219,228,221,61,0,64,219,229,221,61,0,64,219,230,221,61,0,64,219,231,221,61,0,64,219,232,221,61,0,64,219,233,221,61,0,64,219,234,221,61,0,64,219,235,221,61,0,64,219,236,221,61,0,64,219,237,221,61,0,64,219,238,221,61,0,64,219,239,221,38,0,91,0,108,0,97,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,50,3,60,0,60,0,19,3,61,0,134,4,61,0,241,44,60,0,60,0,20,3,61,0,133,4,61,0,240,44,60,0,60,0,1,3,61,0,84,9,60,0,60,0,0,3,61,0,83,9,60,0,60,0,6,3,60,0,60,0,2,3,60,0,60,0,12,3,60,0,60,0,10,3,60,0,60,0,66,3,60,0,60,0,8,3,60,0,60,0,11,3,60,0,60,0,3,3,60,0,60,0,7,3,60,0,60,0,56,3,60,0,60,0,39,3,60,0,60,0,40,3,60,0,60,0,4,3,60,0,60,0,13,3,61,0,14,3,61,0,18,3,61,0,21,3,61,0,26,3,61,0,61,3,61,0,62,3,61,0,63,3,61,0,70,3,61,0,74,3,61,0,75,3,61,0,76,3,61,0,80,3,61,0,81,3,61,0,82,3,61,0,87,3,61,0,91,3,61,0,93,3,61,0,94,3,61,0,132,4,61,0,135,4,61,0,65,7,61,0,69,7,61,0,85,11,61,0,203,23,61,0,204,23,61,0,205,23,61,0,206,23,61,0,207,23,61,0,208,23,61,0,209,23,61,0,221,23,61,0,176,26,61,0,177,26,61,0,178,26,61,0,179,26,61,0,180,26,61,0,187,26,61,0,188,26,61,0,193,26,61,0,194,26,61,0,197,26,61,0,198,26,61,0,199,26,61,0,200,26,61,0,201,26,61,0,203,26,61,0,192,29,61,0,193,29,61,0,195,29,61,0,196,29,61,0,197,29,61,0,198,29,61,0,199,29,61,0,200,29,61,0,201,29,61,0,203,29,61,0,204,29,61,0,205,29,61,0,206,29,61,0,209,29,61,0,245,29,61,0,246,29,61,0,247,29,61,0,248,29,61,0,251,29,61,0,254,29,61,0,240,32,61,0,239,44,61,0,124,166,61,0,125,166,61,0,2,216,229,222,61,0,3,216,36,221,61,0,3,216,37,221,61,0,3,216,38,221,61,0,3,216,39,221,61,0,3,216,72,223,61,0,3,216,73,223,61,0,3,216,74,223,61,0,3,216,76,223,61,0,3,216,130,223,61,0,3,216,132,223,61,0,47,216,157,220,61,0,56,216,174,222,60,0,60,0,22,3,61,0,23,3,61,0,24,3,61,0,25,3,61,0,28,3,61,0,29,3,61,0,30,3,61,0,31,3,61,0,32,3,61,0,41,3,61,0,42,3,61,0,43,3,61,0,44,3,61,0,47,3,61,0,51,3,61,0,58,3,61,0,59,3,61,0,60,3,61,0,71,3,61,0,72,3,61,0,73,3,61,0,77,3,61,0,78,3,61,0,83,3,61,0,84,3,61,0,85,3,61,0,86,3,61,0,89,3,61,0,90,3,61,0,92,3,61,0,95,3,61,0,98,3,61,0,66,7,61,0,70,7,61,0,253,7,61,0,89,8,61,0,90,8,61,0,91,8,61,0,181,26,61,0,182,26,61,0,183,26,61,0,184,26,61,0,185,26,61,0,186,26,61,0,189,26,61,0,195,26,61,0,196,26,61,0,202,26,61,0,194,29,61,0,207,29,61,0,208,29,61,0,249,29,61,0,250,29,61,0,252,29,61,0,253,29,61,0,255,29,61,0,236,32,61,0,237,32,61,0,238,32,61,0,239,32,61,0,39,254,61,0,0,216,253,221,61,0,2,216,13,222,61,0,2,216,230,222,61,0,3,216,70,223,61,0,3,216,71,223,61,0,3,216,75,223,61,0,3,216,77,223,61,0,3,216,78,223,61,0,3,216,79,223,61,0,3,216,80,223,61,0,3,216,131,223,61,0,3,216,133,223,60,0,60,0,54,3,61,0,55,3,61,0,216,32,61,0,217,32,61,0,218,32,61,0,229,32,61,0,234,32,61,0,235,32,61,0,47,216,158,220,60,0,60,0,190,26,61,0,221,32,61,0,222,32,61,0,223,32,61,0,224,32,61,0,226,32,61,0,227,32,61,0,228,32,60,0,60,0,153,48,60,0,60,0,60,0,158,255,60,0,60,0,154,48,60,0,60,0,60,0,159,255,60,0,60,0,53,3,60,0,60,0,5,3,60,0,60,0,9,3,60,0,60,0,15,3,60,0,60,0,16,3,60,0,60,0,17,3,60,0,60,0,27,3,60,0,60,0,33,3,60,0,60,0,34,3,60,0,60,0,35,3,60,0,60,0,36,3,60,0,60,0,37,3,60,0,60,0,38,3,60,0,60,0,45,3,60,0,60,0,46,3,60,0,60,0,48,3,60,0,60,0,49,3,60,0,60,0,52,3,60,0,60,0,57,3,60,0,60,0,69,3,60,0,60,0,88,3,60,0,60,0,96,3,61,0,34,254,61,0,41,254,60,0,60,0,97,3,61,0,32,254,60,0,60,0,131,4,61,0,46,254,60,0,60,0,111,166,60,0,60,0,176,5,60,0,60,0,177,5,60,0,60,0,178,5,60,0,60,0,179,5,60,0,60,0,180,5,60,0,60,0,181,5,60,0,60,0,182,5,60,0,60,0,183,5,60,0,60,0,184,5,61,0,199,5,60,0,60,0,185,5,61,0,186,5,60,0,60,0,187,5,60,0,60,0,194,5,60,0,60,0,193,5,60,0,60,0,188,5,60,0,60,0,191,5,60,0,60,0,30,251,60,0,60,0,28,8,61,0,29,8,60,0,60,0,30,8,61,0,31,8,61,0,32,8,60,0,60,0,33,8,61,0,34,8,61,0,35,8,60,0,60,0,14,32,36,8,14,32,61,0,37,8,60,0,60,0,38,8,61,0,39,8,60,0,60,0,14,32,40,8,14,32,61,0,41,8,61,0,42,8,60,0,60,0,43,8,60,0,60,0,44,8,60,0,60,0,24,8,60,0,60,0,25,8,60,0,60,0,45,8,60,0,60,0,75,6,60,0,60,0,60,0,14,32,113,254,14,32,60,0,60,0,60,0,14,32,112,254,14,32,60,0,60,0,240,8,60,0,60,0,231,8,60,0,60,0,76,6,60,0,60,0,60,0,14,32,114,254,14,32,60,0,60,0,60,0,14,32,94,252,14,32,47,0,4,216,55,222,60,0,60,0,241,8,60,0,60,0,232,8,60,0,60,0,77,6,60,0,60,0,60,0,14,32,116,254,14,32,60,0,60,0,60,0,14,32,95,252,14,32,47,0,4,216,55,222,60,0,60,0,242,8,60,0,60,0,233,8,60,0,60,0,78,6,60,0,60,0,60,0,14,32,119,254,14,32,60,0,60,0,60,0,14,32,242,252,14,32,47,0,4,216,55,222,60,0,60,0,60,0,14,32,118,254,14,32,60,0,60,0,60,0,14,32,96,252,14,32,47,0,4,216,55,222,60,0,60,0,228,8,60,0,60,0,244,8,60,0,60,0,245,8,60,0,60,0,79,6,60,0,60,0,60,0,14,32,121,254,14,32,60,0,60,0,60,0,14,32,243,252,14,32,47,0,4,216,55,222,60,0,60,0,60,0,14,32,120,254,14,32,60,0,60,0,60,0,14,32,97,252,14,32,47,0,4,216,55,222,60,0,60,0,229,8,60,0,60,0,254,8,60,0,60,0,80,6,60,0,60,0,60,0,14,32,123,254,14,32,60,0,60,0,60,0,14,32,244,252,14,32,47,0,4,216,55,222,60,0,60,0,60,0,14,32,122,254,14,32,60,0,60,0,60,0,14,32,98,252,14,32,47,0,4,216,55,222,60,0,60,0,230,8,60,0,60,0,246,8,60,0,60,0,81,6,61,0,251,10,61,0,4,216,55,222,60,0,60,0,60,0,14,32,125,254,14,32,60,0,60,0,60,0,14,32,124,254,14,32,60,0,60,0,60,0,14,32,99,252,14,32,47,0,112,6,60,0,60,0,82,6,61,0,250,10,61,0,4,216,62,222,60,0,60,0,60,0,14,32,127,254,14,32,60,0,60,0,60,0,14,32,126,254,14,32,60,0,60,0,83,6,61,0,158,8,61,0,159,8,61,0,252,10,61,0,3,216,172,222,60,0,60,0,84,6,61,0,3,216,171,222,60,0,60,0,85,6,60,0,60,0,95,6,60,0,60,0,86,6,60,0,60,0,87,6,60,0,60,0,88,6,60,0,60,0,255,8,60,0,60,0,89,6,60,0,60,0,90,6,60,0,60,0,91,6,60,0,60,0,92,6,60,0,60,0,93,6,60,0,60,0,94,6,60,0,60,0,227,8,60,0,60,0,247,8,60,0,60,0,248,8,60,0,60,0,253,8,60,0,60,0,251,8,60,0,60,0,252,8,60,0,60,0,249,8,60,0,60,0,250,8,60,0,60,0,112,6,60,0,60,0,17,7,60,0,60,0,48,7,60,0,60,0,49,7,60,0,60,0,50,7,60,0,60,0,51,7,60,0,60,0,52,7,60,0,60,0,53,7,60,0,60,0,54,7,60,0,60,0,55,7,60,0,60,0,56,7,60,0,60,0,57,7,60,0,60,0,58,7,60,0,60,0,59,7,60,0,60,0,60,7,60,0,60,0,61,7,60,0,60,0,62,7,60,0,60,0,63,7,60,0,60,0,235,7,60,0,60,0,236,7,60,0,60,0,237,7,60,0,60,0,238,7,60,0,60,0,239,7,60,0,60,0,240,7,60,0,60,0,241,7,60,0,60,0,242,7,60,0,60,0,243,7,60,0,60,0,95,19,60,0,60,0,94,19,60,0,60,0,93,19,60,0,60,0,240,166,60,0,60,0,241,166,60,0,60,0,26,216,240,222,60,0,60,0,26,216,241,222,60,0,60,0,26,216,242,222,60,0,60,0,26,216,243,222,60,0,60,0,26,216,244,222,60,0,60,0,58,216,68,221,61,0,58,216,69,221,61,0,58,216,70,221,60,0,60,0,58,216,74,221,60,0,60,0,58,216,71,221,60,0,60,0,58,216,72,221,60,0,60,0,58,216,73,221,60,0,60,0,60,9,61,0,188,9,61,0,60,10,61,0,188,10,61,0,253,10,61,0,254,10,61,0,255,10,61,0,60,11,61,0,60,12,61,0,188,12,61,0,52,27,61,0,230,27,61,0,55,28,61,0,179,169,61,0,4,216,186,220,61,0,4,216,115,221,61,0,4,216,202,221,61,0,4,216,54,222,61,0,4,216,233,222,61,0,4,216,59,223,61,0,4,216,60,223,61,0,5,216,70,220,61,0,5,216,195,220,61,0,5,216,192,221,61,0,5,216,183,222,61,0,6,216,58,220,61,0,6,216,67,221,61,0,6,216,51,222,61,0,7,216,66,221,60,0,60,0,0,9,61,0,1,9,61,0,129,9,61,0,1,10,61,0,129,10,61,0,1,11,61,0,0,12,61,0,1,12,61,0,129,12,61,0,1,13,61,0,129,13,61,0,130,15,61,0,131,15,61,0,0,27,61,0,1,27,61,0,197,168,61,0,128,169,61,0,4,216,0,220,61,0,4,216,128,220,61,0,4,216,0,221,61,0,4,216,128,221,61,0,4,216,207,221,61,0,4,216,1,223,61,0,5,216,67,220,61,0,5,216,191,220,61,0,5,216,188,221,61,0,5,216,64,222,61,0,6,216,60,221,61,0,6,216,53,222,61,0,6,216,54,222,61,0,6,216,55,222,61,0,7,216,60,220,61,0,7,216,182,220,61,0,7,216,67,221,61,0,7,216,0,223,60,0,60,0,2,9,61,0,130,9,61,0,2,10,61,0,130,10,61,0,2,11,61,0,130,11,61,0,2,12,61,0,4,12,61,0,130,12,61,0,243,12,61,0,0,13,61,0,2,13,61,0,130,13,61,0,126,15,61,0,54,16,61,0,198,23,61,0,116,26,61,0,2,27,61,0,128,27,61,0,237,28,61,0,11,168,61,0,128,168,61,0,129,169,61,0,2,216,14,222,61,0,4,216,1,220,61,0,4,216,129,220,61,0,4,216,1,221,61,0,4,216,129,221,61,0,4,216,52,222,61,0,4,216,223,222,61,0,4,216,0,223,61,0,4,216,2,223,61,0,5,216,68,220,61,0,5,216,192,220,61,0,5,216,189,221,61,0,5,216,61,222,61,0,5,216,171,222,61,0,6,216,55,220,61,0,6,216,59,221,61,0,6,216,222,221,61,0,6,216,56,222,61,0,6,216,150,222,61,0,7,216,61,220,61,0,7,216,181,220,61,0,7,216,64,221,61,0,7,216,149,221,61,0,7,216,1,223,60,0,60,0,3,9,61,0,131,9,61,0,3,10,61,0,131,10,61,0,3,11,61,0,3,12,61,0,131,12,61,0,3,13,61,0,131,13,61,0,127,15,61,0,56,16,61,0,199,23,61,0,4,27,61,0,130,27,61,0,242,28,61,0,243,28,61,0,129,168,61,0,131,169,61,0,2,216,15,222,61,0,4,216,2,220,61,0,4,216,130,220,61,0,4,216,2,221,61,0,4,216,130,221,61,0,4,216,3,223,61,0,5,216,69,220,61,0,5,216,193,220,61,0,5,216,190,221,61,0,5,216,62,222,61,0,5,216,172,222,61,0,6,216,56,220,61,0,6,216,223,221,61,0,6,216,57,222,61,0,6,216,151,222,61,0,7,216,62,220,61,0,7,216,65,221,61,0,7,216,150,221,61,0,7,216,3,223,60,0,60,0,254,9,61,0,4,216,201,221,61,0,5,216,94,220,60,0,60,0,112,10,60,0,60,0,113,10,60,0,60,0,3,27,60,0,60,0,130,169,60,0,60,0,129,27,60,0,60,0,236,171,60,0,60,0,2,216,56,222,60,0,60,0,2,216,57,222,60,0,60,0,2,216,58,222,60,0,60,0,4,216,203,221,60,0,60,0,4,216,204,221,60,0,60,0,6,216,152,222,60,0,60,0,78,14,60,0,60,0,71,14,60,0,60,0,72,14,60,0,60,0,73,14,60,0,60,0,74,14,60,0,60,0,75,14,60,0,60,0,76,14,60,0,60,0,77,14,60,0,60,0,206,14,60,0,60,0,200,14,60,0,60,0,201,14,60,0,60,0,202,14,60,0,60,0,203,14,60,0,60,0,204,14,60,0,60,0,205,14,60,0,60,0,191,170,60,0,60,0,193,170,60,0,60,0,57,15,60,0,60,0,43,169,60,0,60,0,44,169,60,0,60,0,45,169,60,0,60,0,55,16,60,0,60,0,200,23,60,0,60,0,201,23,60,0,60,0,202,23,60,0,60,0,117,26,60,0,60,0,118,26,60,0,60,0,119,26,60,0,60,0,120,26,60,0,60,0,121,26,60,0,60,0,122,26,60,0,60,0,123,26,60,0,60,0,124,26,60,0,60,0,57,25,60,0,60,0,58,25,60,0,60,0,59,25,60,0,60,0,26,216,48,223,61,0,56,216,49,221,60,0,60,0,26,216,49,223,61,0,56,216,54,221,60,0,60,0,26,216,50,223,61,0,56,216,50,221,60,0,60,0,26,216,51,223,61,0,56,216,51,221,60,0,60,0,26,216,52,223,61,0,56,216,48,221,60,0,60,0,26,216,53,223,61,0,56,216,52,221,60,0,60,0,26,216,54,223,61,0,56,216,53,221,60,0,60,0,56,216,236,222,60,0,60,0,56,216,237,222,60,0,60,0,56,216,238,222,60,0,60,0,56,216,239,222,60,0,60,0,57,216,236,220,60,0,60,0,57,216,237,220,60,0,60,0,57,216,238,220,60,0,60,0,57,216,239,220,60,0,60,0,42,48,60,0,60,0,43,48,60,0,60,0,44,48,60,0,60,0,45,48,60,0,60,0,46,48,60,0,60,0,47,48,60,0,60,0,27,216,240,223,60,0,60,0,27,216,241,223,60,0,60,0,208,32,60,0,60,0,209,32,60,0,60,0,210,32,61,0,211,32,60,0,60,0,212,32,60,0,60,0,213,32,60,0,60,0,214,32,60,0,60,0,215,32,60,0,60,0,219,32,60,0,60,0,220,32,60,0,60,0,225,32,60,0,60,0,230,32,60,0,60,0,231,32,60,0,60,0,232,32,60,0,60,0,233,32,60,0,60,0,0,216,253,221,38,0,39,0,47,32,39,0,60,0,39,0,9,0,39,0,60,0,39,0,10,0,39,0,60,0,39,0,11,0,39,0,60,0,39,0,12,0,39,0,60,0,39,0,13,0,39,0,60,0,39,0,133,0,39,0,60,0,39,0,40,32,39,0,60,0,39,0,41,32,39,0,60,0,39,0,32,0,39,0,60,0,60,0,60,0,39,0,0,48,39,0,60,0,60,0,60,0,39,0,128,22,39,0,61,0,39,0,2,32,39,0,61,0,39,0,3,32,39,0,61,0,39,0,4,32,39,0,61,0,39,0,5,32,39,0,61,0,39,0,6,32,39,0,61,0,39,0,8,32,39,0,61,0,39,0,9,32,39,0,61,0,39,0,10,32,39,0,61,0,39,0,95,32,39,0,60,0,60,0,60,0,39,0,160,0,39,0,61,0,39,0,7,32,39,0,61,0,39,0,47,32,39,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,118,0,97,0,114,0,105,0,97,0,98,0,108,0,101,0,93,0,60,0,62,32,60,0,60,0,60,0,73,254,61,0,74,254,61,0,75,254,61,0,76,254,60,0,39,0,95,0,39,0,60,0,60,0,60,0,63,255,60,0,60,0,60,0,77,254,61,0,78,254,61,0,79,254,60,0,60,0,60,0,51,254,61,0,52,254,60,0,23,32,60,0,39,0,45,0,39,0,60,0,60,0,60,0,13,255,60,0,60,0,60,0,99,254,60,0,138,5,60,0,0,20,60,0,96,27,60,0,6,24,60,0,7,24,60,0,16,32,60,0,60,0,60,0,17,32,60,0,18,32,60,0,19,32,60,0,60,0,60,0,50,254,60,0,20,32,60,0,60,0,60,0,88,254,60,0,60,0,60,0,49,254,60,0,21,32,60,0,58,46,60,0,59,46,60,0,83,32,60,0,67,46,60,0,23,46,60,0,64,46,60,0,93,46,60,0,28,48,60,0,48,48,60,0,160,48,60,0,251,48,60,0,60,0,60,0,101,255,60,0,14,32,3,216,173,222,14,32,60,0,39,0,44,0,39,0,60,0,60,0,60,0,12,255,60,0,60,0,60,0,80,254,60,0,60,0,60,0,16,254,60,0,52,46,60,0,50,46,60,0,65,46,60,0,76,46,60,0,78,46,60,0,79,46,60,0,93,5,60,0,12,6,60,0,14,32,13,6,14,32,60,0,107,6,60,0,108,6,60,0,248,7,60,0,2,24,60,0,8,24,60,0,254,164,60,0,13,166,60,0,245,166,60,0,27,216,151,222,60,0,1,48,60,0,60,0,60,0,81,254,60,0,60,0,60,0,100,255,60,0,60,0,60,0,17,254,60,0,69,254,60,0,70,254,60,0,27,216,226,223,60,0,39,0,59,0,39,0,60,0,60,0,60,0,27,255,60,0,60,0,60,0,84,254,60,0,60,0,60,0,20,254,60,0,14,32,27,6,14,32,60,0,79,32,60,0,53,46,60,0,246,166,60,0,73,46,60,0,39,0,58,0,39,0,60,0,60,0,60,0,26,255,60,0,60,0,60,0,116,42,47,0,39,0,58,0,61,0,39,0,60,0,60,0,60,0,85,254,60,0,60,0,60,0,19,254,60,0,137,5,60,0,14,32,30,6,14,32,60,0,14,32,3,7,14,32,60,0,14,32,4,7,14,32,60,0,14,32,5,7,14,32,60,0,14,32,6,7,14,32,60,0,14,32,7,7,14,32,60,0,14,32,8,7,14,32,60,0,14,32,48,8,14,32,60,0,14,32,49,8,14,32,60,0,14,32,50,8,14,32,60,0,14,32,51,8,14,32,60,0,14,32,52,8,14,32,60,0,14,32,53,8,14,32,60,0,14,32,54,8,14,32,60,0,14,32,55,8,14,32,60,0,14,32,56,8,14,32,60,0,14,32,57,8,14,32,60,0,14,32,58,8,14,32,60,0,14,32,59,8,14,32,60,0,14,32,60,8,14,32,60,0,14,32,61,8,14,32,60,0,14,32,62,8,14,32,60,0,97,19,60,0,99,19,60,0,100,19,60,0,101,19,60,0,102,19,60,0,4,24,60,0,5,24,60,0,20,15,60,0,214,23,60,0,93,27,60,0,199,169,60,0,235,22,60,0,236,22,60,0,237,22,60,0,244,166,60,0,39,0,33,0,39,0,60,0,60,0,60,0,1,255,60,0,60,0,60,0,60,32,47,0,39,0,33,0,39,0,60,0,60,0,60,0,73,32,47,0,39,0,63,0,39,0,60,0,60,0,60,0,87,254,60,0,60,0,60,0,21,254,60,0,161,0,60,0,83,46,60,0,92,5,60,0,249,7,60,0,68,25,60,0,14,32,58,216,94,221,14,32,60,0,39,0,63,0,39,0,60,0,60,0,60,0,31,255,60,0,60,0,60,0,72,32,47,0,39,0,33,0,39,0,60,0,60,0,60,0,71,32,47,0,39,0,63,0,39,0,60,0,60,0,60,0,86,254,60,0,60,0,60,0,22,254,60,0,191,0,60,0,46,46,60,0,84,46,60,0,94,5,60,0,14,32,31,6,14,32,60,0,14,32,9,7,14,32,60,0,103,19,60,0,69,25,60,0,250,44,60,0,251,44,60,0,15,166,60,0,247,166,60,0,241,170,60,0,4,216,67,221,60,0,14,32,58,216,95,221,14,32,60,0,61,32,60,0,24,46,60,0,39,0,46,0,39,0,60,0,60,0,60,0,14,255,60,0,60,0,60,0,36,32,60,0,60,0,60,0,37,32,47,0,39,0,46,0,39,0,60,0,60,0,60,0,38,32,47,0,39,0,46,0,46,0,39,0,60,0,60,0,60,0,82,254,60,0,60,0,60,0,48,254,47,0,39,0,46,0,39,0,60,0,60,0,60,0,25,254,47,0,39,0,46,0,46,0,39,0,60,0,1,24,60,0,14,32,212,6,14,32,60,0,14,32,1,7,14,32,60,0,14,32,2,7,14,32,60,0,98,19,60,0,3,24,60,0,9,24,60,0,110,22,60,0,92,27,60,0,249,44,60,0,254,44,60,0,48,46,60,0,60,46,60,0,255,164,60,0,14,166,60,0,243,166,60,0,26,216,245,222,60,0,27,216,152,222,60,0,47,216,159,220,60,0,2,48,60,0,60,0,60,0,97,255,60,0,60,0,60,0,18,254,60,0,183,0,60,0,49,46,60,0,51,46,60,0,100,9,60,0,101,9,60,0,206,168,60,0,207,168,60,0,59,28,60,0,60,28,60,0,118,168,60,0,119,168,60,0,53,23,60,0,54,23,60,0,47,169,60,0,74,16,60,0,75,16,60,0,212,23,60,0,213,23,60,0,168,26,60,0,169,26,60,0,170,26,60,0,171,26,60,0,94,27,60,0,95,27,60,0,200,169,60,0,201,169,60,0,93,170,60,0,94,170,60,0,95,170,60,0,240,170,60,0,235,171,60,0,14,32,2,216,86,222,14,32,60,0,14,32,2,216,87,222,14,32,60,0,4,216,71,220,60,0,4,216,72,220,60,0,4,216,192,220,60,0,4,216,193,220,60,0,4,216,65,221,60,0,4,216,66,221,60,0,4,216,197,221,60,0,4,216,198,221,60,0,4,216,56,222,60,0,4,216,57,222,60,0,5,216,75,220,60,0,5,216,76,220,60,0,5,216,194,221,60,0,5,216,195,221,60,0,5,216,65,222,60,0,5,216,66,222,60,0,5,216,60,223,60,0,5,216,61,223,60,0,6,216,68,221,60,0,7,216,65,220,60,0,7,216,66,220,60,0,7,216,67,223,60,0,7,216,68,223,60,0,26,216,110,222,60,0,26,216,111,222,60,0,126,28,60,0,127,28,60,0,14,32,29,6,14,32,60,0,14,32,0,7,14,32,60,0,247,7,60,0,251,16,60,0,96,19,60,0,104,19,60,0,30,26,60,0,31,26,60,0,90,27,60,0,91,27,60,0,125,27,60,0,126,27,60,0,193,169,60,0,194,169,60,0,195,169,60,0,196,169,60,0,197,169,60,0,198,169,60,0,202,169,60,0,203,169,60,0,204,169,60,0,205,169,60,0,242,166,60,0,95,169,60,0,14,32,2,216,87,220,14,32,60,0,2,216,58,223,60,0,2,216,59,223,60,0,2,216,60,223,60,0,2,216,61,223,60,0,2,216,62,223,60,0,2,216,63,223,60,0,14,32,3,216,85,223,14,32,60,0,14,32,3,216,86,223,14,32,60,0,14,32,3,216,87,223,14,32,60,0,14,32,3,216,88,223,14,32,60,0,14,32,3,216,89,223,14,32,60,0,14,32,3,216,134,223,14,32,60,0,14,32,3,216,135,223,14,32,60,0,14,32,3,216,136,223,14,32,60,0,14,32,3,216,137,223,14,32,60,0,4,216,190,220,60,0,4,216,191,220,60,0,4,216,64,221,60,0,4,216,200,221,60,0,4,216,222,221,60,0,4,216,223,221,60,0,4,216,169,222,60,0,5,216,62,223,60,0,6,216,70,221,60,0,7,216,247,222,60,0,7,216,248,222,60,0,7,216,69,223,60,0,7,216,70,223,60,0,7,216,71,223,60,0,7,216,72,223,60,0,7,216,73,223,60,0,7,216,74,223,60,0,7,216,75,223,60,0,7,216,76,223,60,0,7,216,77,223,60,0,7,216,78,223,60,0,7,216,79,223,60,0,85,32,60,0,86,32,60,0,88,32,60,0,89,32,60,0,90,32,60,0,91,32,60,0,92,32,60,0,93,32,60,0,94,32,60,0,42,46,60,0,43,46,60,0,44,46,60,0,45,46,60,0,61,46,60,0,252,44,60,0,255,44,60,0,25,46,60,0,14,32,2,216,63,221,14,32,60,0,0,216,0,221,60,0,0,216,1,221,60,0,0,216,2,221,60,0,0,216,159,223,60,0,0,216,208,223,60,0,2,216,31,221,60,0,9,216,112,220,60,0,9,216,113,220,60,0,9,216,114,220,60,0,9,216,115,220,60,0,9,216,116,220,60,0,11,216,241,223,60,0,11,216,242,223,60,0,39,0,39,0,60,0,60,0,60,0,7,255,60,0,24,32,60,0,25,32,60,0,26,32,60,0,27,32,60,0,57,32,60,0,58,32,60,0,39,0,34,0,39,0,60,0,60,0,60,0,2,255,60,0,28,32,60,0,29,32,60,0,30,32,60,0,31,32,60,0,66,46,60,0,29,48,60,0,30,48,60,0,31,48,60,0,171,0,60,0,187,0,60,0,39,0,40,0,39,0,60,0,60,0,60,0,8,255,60,0,60,0,60,0,116,36,47,0,14,32,59,216,1,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,125,36,47,0,14,32,59,216,1,221,58,216,80,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,126,36,47,0,14,32,59,216,1,221,59,216,1,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,127,36,47,0,14,32,59,216,1,221,59,216,2,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,128,36,47,0,14,32,59,216,1,221,59,216,3,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,129,36,47,0,14,32,59,216,1,221,59,216,4,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,130,36,47,0,14,32,59,216,1,221,59,216,5,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,131,36,47,0,14,32,59,216,1,221,59,216,6,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,132,36,47,0,14,32,59,216,1,221,59,216,7,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,133,36,47,0,14,32,59,216,1,221,59,216,8,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,134,36,47,0,14,32,59,216,1,221,59,216,9,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,117,36,47,0,14,32,59,216,2,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,135,36,47,0,14,32,59,216,2,221,58,216,80,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,118,36,47,0,14,32,59,216,3,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,119,36,47,0,14,32,59,216,4,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,120,36,47,0,14,32,59,216,5,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,121,36,47,0,14,32,59,216,6,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,122,36,47,0,14,32,59,216,7,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,123,36,47,0,14,32,59,216,8,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,124,36,47,0,14,32,59,216,9,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,156,36,47,0,97,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,16,221,47,0,65,0,39,0,41,0,39,0,60,0,60,0,60,0,157,36,47,0,98,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,17,221,47,0,66,0,39,0,41,0,39,0,60,0,60,0,60,0,158,36,47,0,99,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,18,221,47,0,67,0,39,0,41,0,39,0,60,0,60,0,60,0,159,36,47,0,100,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,19,221,47,0,68,0,39,0,41,0,39,0,60,0,60,0,60,0,160,36,47,0,101,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,20,221,47,0,69,0,39,0,41,0,39,0,60,0,60,0,60,0,161,36,47,0,102,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,21,221,47,0,70,0,39,0,41,0,39,0,60,0,60,0,60,0,162,36,47,0,103,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,22,221,47,0,71,0,39,0,41,0,39,0,60,0,60,0,60,0,163,36,47,0,104,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,23,221,47,0,72,0,39,0,41,0,39,0,60,0,60,0,60,0,164,36,47,0,105,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,24,221,47,0,73,0,39,0,41,0,39,0,60,0,60,0,60,0,165,36,47,0,106,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,25,221,47,0,74,0,39,0,41,0,39,0,60,0,60,0,60,0,166,36,47,0,107,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,26,221,47,0,75,0,39,0,41,0,39,0,60,0,60,0,60,0,167,36,47,0,108,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,27,221,47,0,76,0,39,0,41,0,39,0,60,0,60,0,60,0,168,36,47,0,109,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,28,221,47,0,77,0,39,0,41,0,39,0,60,0,60,0,60,0,169,36,47,0,110,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,29,221,47,0,78,0,39,0,41,0,39,0,60,0,60,0,60,0,170,36,47,0,111,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,30,221,47,0,79,0,39,0,41,0,39,0,60,0,60,0,60,0,171,36,47,0,112,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,31,221,47,0,80,0,39,0,41,0,39,0,60,0,60,0,60,0,172,36,47,0,113,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,32,221,47,0,81,0,39,0,41,0,39,0,60,0,60,0,60,0,173,36,47,0,114,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,33,221,47,0,82,0,39,0,41,0,39,0,60,0,60,0,60,0,174,36,47,0,115,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,34,221,47,0,83,0,39,0,41,0,39,0,60,0,60,0,60,0,175,36,47,0,116,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,35,221,47,0,84,0,39,0,41,0,39,0,60,0,60,0,60,0,176,36,47,0,117,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,36,221,47,0,85,0,39,0,41,0,39,0,60,0,60,0,60,0,177,36,47,0,118,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,37,221,47,0,86,0,39,0,41,0,39,0,60,0,60,0,60,0,178,36,47,0,119,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,38,221,47,0,87,0,39,0,41,0,39,0,60,0,60,0,60,0,179,36,47,0,120,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,39,221,47,0,88,0,39,0,41,0,39,0,60,0,60,0,60,0,180,36,47,0,121,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,40,221,47,0,89,0,39,0,41,0,39,0,60,0,60,0,60,0,181,36,47,0,122,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,41,221,47,0,90,0,39,0,41,0,39,0,60,0,60,0,60,0,0,50,47,0,0,17,39,0,41,0,39,0,60,0,60,0,60,0,14,50,47,0,0,172,39,0,41,0,39,0,60,0,60,0,60,0,1,50,47,0,2,17,39,0,41,0,39,0,60,0,60,0,60,0,15,50,47,0,152,176,39,0,41,0,39,0,60,0,60,0,60,0,2,50,47,0,3,17,39,0,41,0,39,0,60,0,60,0,60,0,16,50,47,0,228,178,39,0,41,0,39,0,60,0,60,0,60,0,3,50,47,0,5,17,39,0,41,0,39,0,60,0,60,0,60,0,17,50,47,0,124,183,39,0,41,0,39,0,60,0,60,0,60,0,4,50,47,0,6,17,39,0,41,0,39,0,60,0,60,0,60,0,18,50,47,0,200,185,39,0,41,0,39,0,60,0,60,0,60,0,5,50,47,0,7,17,39,0,41,0,39,0,60,0,60,0,60,0,19,50,47,0,20,188,39,0,41,0,39,0,60,0,60,0,60,0,6,50,47,0,9,17,39,0,41,0,39,0,60,0,60,0,60,0,20,50,47,0,172,192,39,0,41,0,39,0,60,0,60,0,60,0,7,50,47,0,11,17,39,0,41,0,39,0,60,0,60,0,60,0,21,50,47,0,68,197,39,0,41,0,39,0,60,0,60,0,60,0,29,50,47,0,36,198,4,200,39,0,41,0,39,0,60,0,60,0,60,0,30,50,47,0,36,198,196,214,39,0,41,0,39,0,60,0,60,0,60,0,8,50,47,0,12,17,39,0,41,0,39,0,60,0,60,0,60,0,22,50,47,0,144,199,39,0,41,0,39,0,60,0,60,0,60,0,28,50,47,0,252,200,39,0,41,0,39,0,60,0,60,0,60,0,9,50,47,0,14,17,39,0,41,0,39,0,60,0,60,0,60,0,23,50,47,0,40,204,39,0,41,0,39,0,60,0,60,0,60,0,10,50,47,0,15,17,39,0,41,0,39,0,60,0,60,0,60,0,24,50,47,0,116,206,39,0,41,0,39,0,60,0,60,0,60,0,11,50,47,0,16,17,39,0,41,0,39,0,60,0,60,0,60,0,25,50,47,0,192,208,39,0,41,0,39,0,60,0,60,0,60,0,12,50,47,0,17,17,39,0,41,0,39,0,60,0,60,0,60,0,26,50,47,0,12,211,39,0,41,0,39,0,60,0,60,0,60,0,13,50,47,0,18,17,39,0,41,0,39,0,60,0,60,0,60,0,27,50,47,0,88,213,39,0,41,0,39,0,60,0,60,0,60,0,32,50,47,0,0,78,39,0,41,0,39,0,60,0,60,0,60,0,38,50,47,0,3,78,39,0,41,0,39,0,60,0,60,0,60,0,34,50,47,0,9,78,39,0,41,0,39,0,60,0,60,0,60,0,40,50,47,0,93,78,39,0,41,0,39,0,60,0,60,0,60,0,33,50,47,0,140,78,39,0,41,0,39,0,60,0,60,0,60,0,36,50,47,0,148,78,39,0,41,0,39,0,60,0,60,0,60,0,57,50,47,0,227,78,39,0,41,0,39,0,60,0,60,0,60,0,61,50,47,0,1,79,39,0,41,0,39,0,60,0,60,0,60,0,65,50,47,0,17,79,39,0,41,0,39,0,60,0,60,0,60,0,39,50,47,0,107,81,39,0,41,0,39,0,60,0,60,0,60,0,37,50,47,0,109,81,39,0,41,0,39,0,60,0,60,0,60,0,56,50,47,0,180,82,39,0,41,0,39,0,60,0,60,0,60,0,41,50,47,0,65,83,39,0,41,0,39,0,60,0,60,0,60,0,63,50,47,0,84,83,39,0,41,0,39,0,60,0,60,0,60,0,52,50,47,0,13,84,39,0,41,0,39,0,60,0,60,0,60,0,58,50,47,0,124,84,39,0,41,0,39,0,60,0,60,0,60,0,35,50,47,0,219,86,39,0,41,0,39,0,60,0,60,0,60,0,47,50,47,0,31,87,39,0,41,0,39,0,60,0,60,0,60,0,59,50,47,0,102,91,39,0,41,0,39,0,60,0,60,0,60,0,48,50,47,0,229,101,39,0,41,0,39,0,60,0,60,0,60,0,42,50,47,0,8,103,39,0,41,0,39,0,60,0,60,0,60,0,50,50,47,0,9,103,39,0,41,0,39,0,60,0,60,0,60,0,45,50,47,0,40,103,39,0,41,0,39,0,60,0,60,0,60,0,49,50,47,0,42,104,39,0,41,0,39,0,60,0,60,0,60,0,44,50,47,0,52,108,39,0,41,0,39,0,60,0,60,0,60,0,43,50,47,0,107,112,39,0,41,0,39,0,60,0,60,0,60,0,53,50,47,0,121,114,39,0,41,0,39,0,60,0,60,0,60,0,60,50,47,0,227,118,39,0,41,0,39,0,60,0,60,0,60,0,51,50,47,0,62,121,39,0,41,0,39,0,60,0,60,0,60,0,55,50,47,0,93,121,39,0,41,0,39,0,60,0,60,0,60,0,64,50,47,0,109,121,39,0,41,0,39,0,60,0,60,0,60,0,66,50,47,0,234,129,39,0,41,0,39,0,60,0,60,0,60,0,67,50,47,0,243,129,39,0,41,0,39,0,60,0,60,0,60,0,54,50,47,0,161,140,39,0,41,0,39,0,60,0,60,0,60,0,62,50,47,0,199,140,39,0,41,0,39,0,60,0,60,0,60,0,46,50,47,0,209,145,39,0,41,0,39,0,60,0,60,0,60,0,89,254,60,0,60,0,60,0,125,32,60,0,60,0,60,0,141,32,60,0,60,0,60,0,53,254,60,0,39,0,41,0,39,0,60,0,60,0,60,0,9,255,60,0,60,0,60,0,90,254,60,0,60,0,60,0,126,32,60,0,60,0,60,0,142,32,60,0,60,0,60,0,54,254,60,0,39,0,91,0,39,0,60,0,60,0,60,0,59,255,60,0,60,0,60,0,71,254,60,0,39,0,93,0,39,0,60,0,60,0,60,0,61,255,60,0,60,0,60,0,72,254,60,0,39,0,123,0,39,0,60,0,60,0,60,0,91,255,60,0,60,0,60,0,91,254,60,0,60,0,60,0,55,254,60,0,39,0,125,0,39,0,60,0,60,0,60,0,93,255,60,0,60,0,60,0,92,254,60,0,60,0,60,0,56,254,60,0,58,15,60,0,59,15,60,0,60,15,60,0,61,15,60,0,155,22,60,0,156,22,60,0,69,32,60,0,70,32,60,0,8,35,60,0,9,35,60,0,10,35,60,0,11,35,60,0,252,41,60,0,253,41,60,0,131,41,60,0,132,41,60,0,133,41,60,0,60,0,60,0,95,255,60,0,134,41,60,0,60,0,60,0,96,255,60,0,135,41,60,0,136,41,60,0,137,41,60,0,138,41,60,0,139,41,60,0,140,41,60,0,141,41,60,0,142,41,60,0,143,41,60,0,144,41,60,0,145,41,60,0,146,41,60,0,147,41,60,0,148,41,60,0,149,41,60,0,150,41,60,0,151,41,60,0,152,41,60,0,197,39,60,0,198,39,60,0,230,39,60,0,231,39,60,0,232,39,60,0,233,39,60,0,234,39,60,0,235,39,60,0,236,39,60,0,237,39,60,0,238,39,60,0,239,39,60,0,104,39,60,0,105,39,60,0,106,39,60,0,107,39,60,0,108,39,60,0,109,39,60,0,110,39,60,0,111,39,60,0,112,39,60,0,113,39,60,0,114,39,60,0,115,39,60,0,116,39,60,0,117,39,60,0,2,46,60,0,3,46,60,0,4,46,60,0,5,46,60,0,9,46,60,0,10,46,60,0,12,46,60,0,13,46,60,0,28,46,60,0,29,46,60,0,32,46,60,0,33,46,60,0,34,46,60,0,35,46,60,0,36,46,60,0,37,46,60,0,38,46,60,0,39,46,60,0,40,46,60,0,41,46,60,0,85,46,60,0,86,46,60,0,87,46,60,0,88,46,60,0,89,46,60,0,90,46,60,0,91,46,60,0,92,46,60,0,8,48,60,0,60,0,60,0,63,254,60,0,9,48,60,0,60,0,60,0,64,254,60,0,10,48,60,0,60,0,60,0,61,254,60,0,11,48,60,0,60,0,60,0,62,254,60,0,12,48,60,0,60,0,60,0,98,255,60,0,60,0,60,0,65,254,60,0,13,48,60,0,60,0,60,0,99,255,60,0,60,0,60,0,66,254,60,0,14,48,60,0,60,0,60,0,67,254,60,0,15,48,60,0,60,0,60,0,68,254,60,0,16,48,60,0,60,0,60,0,59,254,60,0,17,48,60,0,60,0,60,0,60,254,60,0,20,48,60,0,60,0,60,0,60,216,42,221,47,0,83,0,21,48,60,0,60,0,60,0,60,216,65,222,47,0,9,78,21,48,60,0,60,0,60,0,60,216,66,222,47,0,140,78,21,48,60,0,60,0,60,0,60,216,71,222,47,0,221,82,21,48,60,0,60,0,60,0,60,216,67,222,47,0,137,91,21,48,60,0,60,0,60,0,60,216,69,222,47,0,83,98,21,48,60,0,60,0,60,0,60,216,72,222,47,0,87,101,21,48,60,0,60,0,60,0,60,216,64,222,47,0,44,103,21,48,60,0,60,0,60,0,60,216,68,222,47,0,185,112,21,48,60,0,60,0,60,0,60,216,70,222,47,0,215,118,21,48,60,0,60,0,60,0,93,254,60,0,60,0,60,0,57,254,60,0,21,48,60,0,60,0,60,0,94,254,60,0,60,0,60,0,58,254,60,0,22,48,60,0,60,0,60,0,23,254,60,0,23,48,60,0,60,0,60,0,24,254,60,0,24,48,60,0,25,48,60,0,26,48,60,0,27,48,60,0,62,253,60,0,63,253,60,0,22,32,60,0,62,46,60,0,216,41,60,0,217,41,60,0,218,41,60,0,219,41,60,0,167,0,60,0,57,46,60,0,182,0,60,0,75,32,60,0,77,46,60,0,63,46,60,0,39,0,64,0,39,0,60,0,60,0,60,0,32,255,60,0,60,0,60,0,107,254,60,0,39,0,42,0,39,0,60,0,60,0,60,0,10,255,60,0,60,0,60,0,97,254,60,0,78,32,60,0,81,32,60,0,14,32,109,6,14,32,60,0,115,166,60,0,39,0,47,0,39,0,60,0,60,0,60,0,15,255,60,0,39,0,92,0,39,0,60,0,60,0,60,0,60,255,60,0,60,0,60,0,104,254,60,0,74,46,60,0,39,0,38,0,39,0,60,0,60,0,60,0,6,255,60,0,60,0,60,0,96,254,60,0,74,32,60,0,82,46,60,0,39,0,35,0,39,0,60,0,60,0,60,0,3,255,60,0,60,0,60,0,95,254,60,0,39,0,37,0,39,0,60,0,60,0,60,0,5,255,60,0,60,0,60,0,106,254,60,0,106,6,60,0,48,32,60,0,9,6,60,0,49,32,60,0,10,6,60,0,32,32,60,0,33,32,60,0,54,46,60,0,55,46,60,0,56,46,60,0,75,46,60,0,34,32,60,0,35,32,60,0,39,32,60,0,67,32,60,0,76,32,60,0,77,32,60,0,50,32,60,0,60,0,60,0,51,32,47,0,50,32,60,0,60,0,60,0,52,32,47,0,50,32,50,32,60,0,60,0,60,0,87,32,47,0,50,32,50,32,50,32,60,0,53,32,60,0,60,0,60,0,54,32,47,0,53,32,60,0,60,0,60,0,55,32,47,0,53,32,53,32,60,0,3,48,60,0,61,48,60,0,56,32,60,0,59,32,60,0,63,32,60,0,84,32,60,0,64,32,60,0,80,32,60,0,65,32,60,0,66,32,60,0,0,46,60,0,1,46,60,0,6,46,60,0,7,46,60,0,8,46,60,0,11,46,60,0,14,46,60,0,15,46,60,0,16,46,60,0,17,46,60,0,18,46,60,0,19,46,60,0,20,46,60,0,21,46,60,0,22,46,60,0,26,46,60,0,27,46,60,0,30,46,60,0,31,46,60,0,68,46,60,0,69,46,60,0,70,46,60,0,71,46,60,0,72,46,60,0,126,166,60,0,90,5,60,0,91,5,60,0,95,5,60,0,14,32,190,5,14,32,60,0,14,32,192,5,14,32,60,0,14,32,195,5,14,32,60,0,14,32,198,5,14,32,60,0,14,32,243,5,14,32,60,0,14,32,244,5,14,32,60,0,14,32,10,7,14,32,60,0,14,32,11,7,14,32,60,0,14,32,12,7,14,32,60,0,14,32,13,7,14,32,60,0,14,32,94,8,14,32,60,0,0,24,60,0,5,216,96,222,60,0,5,216,97,222,60,0,5,216,98,222,60,0,5,216,99,222,60,0,5,216,100,222,60,0,5,216,101,222,60,0,5,216,102,222,60,0,5,216,103,222,60,0,5,216,104,222,60,0,5,216,105,222,60,0,5,216,106,222,60,0,5,216,107,222,60,0,5,216,108,222,60,0,112,9,60,0,248,168,60,0,249,168,60,0,250,168,60,0,252,168,60,0,6,216,0,223,60,0,6,216,1,223,60,0,6,216,2,223,60,0,6,216,3,223,60,0,6,216,4,223,60,0,6,216,5,223,60,0,6,216,6,223,60,0,6,216,7,223,60,0,6,216,8,223,60,0,6,216,9,223,60,0,253,9,60,0,118,10,60,0,240,10,60,0,119,12,60,0,132,12,60,0,244,13,60,0,79,14,60,0,90,14,60,0,91,14,60,0,222,170,60,0,223,170,60,0,4,15,60,0,5,15,60,0,6,15,60,0,7,15,60,0,8,15,60,0,9,15,60,0,10,15,60,0,208,15,60,0,209,15,60,0,11,15,60,0,60,0,60,0,12,15,60,0,13,15,60,0,14,15,60,0,15,15,60,0,16,15,60,0,17,15,60,0,18,15,60,0,133,15,60,0,210,15,60,0,211,15,60,0,212,15,60,0,217,15,60,0,218,15,60,0,6,216,63,222,60,0,6,216,64,222,60,0,6,216,65,222,60,0,6,216,66,222,60,0,6,216,67,222,60,0,6,216,68,222,60,0,6,216,69,222,60,0,6,216,70,222,60,0,6,216,154,222,60,0,6,216,155,222,60,0,6,216,156,222,60,0,6,216,158,222,60,0,6,216,159,222,60,0,6,216,160,222,60,0,6,216,161,222,60,0,6,216,162,222,60,0,7,216,112,220,60,0,7,216,113,220,60,0,61,28,60,0,62,28,60,0,63,28,60,0,76,16,60,0,77,16,60,0,78,16,60,0,79,16,60,0,216,23,60,0,217,23,60,0,218,23,60,0,160,26,60,0,161,26,60,0,162,26,60,0,163,26,60,0,164,26,60,0,165,26,60,0,166,26,60,0,172,26,60,0,173,26,60,0,192,28,60,0,193,28,60,0,194,28,60,0,195,28,60,0,196,28,60,0,197,28,60,0,198,28,60,0,199,28,60,0,112,45,60,0,116,168,60,0,117,168,60,0,252,27,60,0,253,27,60,0,254,27,60,0,255,27,60,0,46,169,60,0,222,169,60,0,223,169,60,0,92,170,60,0,1,216,111,221,60,0,4,216,73,220,60,0,4,216,74,220,60,0,4,216,75,220,60,0,4,216,76,220,60,0,4,216,77,220,60,0,14,32,2,216,80,222,14,32,60,0,14,32,2,216,81,222,14,32,60,0,14,32,2,216,82,222,14,32,60,0,14,32,2,216,83,222,14,32,60,0,14,32,2,216,84,222,14,32,60,0,14,32,2,216,85,222,14,32,60,0,14,32,2,216,88,222,14,32,60,0,7,216,67,220,60,0,7,216,68,220,60,0,7,216,69,220,60,0,2,216,57,223,60,0,14,32,2,216,240,222,14,32,60,0,14,32,2,216,241,222,14,32,60,0,14,32,2,216,242,222,14,32,60,0,14,32,2,216,243,222,14,32,60,0,14,32,2,216,244,222,14,32,60,0,14,32,2,216,245,222,14,32,60,0,14,32,2,216,246,222,14,32,60,0,14,32,2,216,153,223,14,32,60,0,14,32,2,216,154,223,14,32,60,0,14,32,2,216,155,223,14,32,60,0,14,32,2,216,156,223,14,32,60,0,4,216,187,220,60,0,4,216,188,220,60,0,4,216,116,221,60,0,4,216,117,221,60,0,4,216,205,221,60,0,4,216,199,221,60,0,4,216,219,221,60,0,4,216,221,221,60,0,4,216,58,222,60,0,4,216,59,222,60,0,4,216,60,222,60,0,4,216,61,222,60,0,5,216,77,220,60,0,5,216,90,220,60,0,5,216,78,220,60,0,5,216,79,220,60,0,5,216,91,220,60,0,5,216,93,220,60,0,5,216,198,220,60,0,5,216,193,221,60,0,5,216,196,221,60,0,5,216,197,221,60,0,5,216,198,221,60,0,5,216,199,221,60,0,5,216,200,221,60,0,5,216,201,221,60,0,5,216,202,221,60,0,5,216,203,221,60,0,5,216,204,221,60,0,5,216,205,221,60,0,5,216,206,221,60,0,5,216,207,221,60,0,5,216,208,221,60,0,5,216,209,221,60,0,5,216,210,221,60,0,5,216,211,221,60,0,5,216,212,221,60,0,5,216,213,221,60,0,5,216,214,221,60,0,5,216,215,221,60,0,5,216,67,222,60,0,5,216,185,222,60,0,6,216,59,220,60,0,6,216,69,221,60,0,6,216,226,221,60,0,7,216,255,223,60,0,26,216,55,223,60,0,26,216,56,223,60,0,26,216,57,223,60,0,26,216,58,223,60,0,26,216,59,223,60,0,26,216,68,223,60,0,27,216,153,222,60,0,27,216,154,222,60,0,54,216,135,222,60,0,54,216,136,222,60,0,54,216,137,222,60,0,54,216,138,222,60,0,54,216,139,222,60,0,14,32,2,216,127,222,14,32,38,0,253,48,60,0,39,0,96,0,39,0,60,0,60,0,60,0,64,255,60,0,180,0,61,0,132,3,60,0,220,2,60,0,39,0,94,0,39,0,60,0,60,0,60,0,62,255,60,0,175,0,60,0,60,0,60,0,227,255,60,0,216,2,60,0,217,2,60,0,168,0,60,0,218,2,60,0,221,2,60,0,184,0,60,0,219,2,60,0,189,31,61,0,191,31,60,0,254,31,60,0,192,31,60,0,155,48,60,0,156,48,60,0,185,2,60,0,117,3,60,0,186,2,60,0,194,2,60,0,195,2,60,0,196,2,60,0,197,2,60,0,198,2,60,0,199,2,60,0,200,2,60,0,201,2,60,0,202,2,60,0,203,2,60,0,204,2,60,0,205,2,60,0,206,2,60,0,207,2,60,0,210,2,60,0,211,2,60,0,212,2,60,0,213,2,60,0,106,171,60,0,107,171,60,0,214,2,60,0,215,2,60,0,222,2,60,0,223,2,60,0,229,2,60,0,230,2,60,0,231,2,60,0,232,2,60,0,233,2,60,0,234,2,60,0,235,2,60,0,236,2,60,0,237,2,60,0,239,2,60,0,240,2,60,0,241,2,60,0,242,2,60,0,243,2,60,0,244,2,60,0,245,2,60,0,246,2,60,0,247,2,60,0,248,2,60,0,249,2,60,0,250,2,60,0,251,2,60,0,252,2,60,0,253,2,60,0,254,2,60,0,255,2,60,0,144,19,60,0,145,19,60,0,146,19,60,0,147,19,60,0,148,19,60,0,149,19,60,0,150,19,60,0,151,19,60,0,152,19,60,0,153,19,60,0,0,167,60,0,1,167,60,0,2,167,60,0,3,167,60,0,4,167,60,0,5,167,60,0,6,167,60,0,7,167,60,0,8,167,60,0,9,167,60,0,10,167,60,0,11,167,60,0,12,167,60,0,13,167,60,0,14,167,60,0,15,167,60,0,16,167,60,0,17,167,60,0,18,167,60,0,19,167,60,0,20,167,60,0,21,167,60,0,22,167,60,0,23,167,60,0,24,167,60,0,25,167,60,0,26,167,60,0,27,167,60,0,28,167,60,0,29,167,60,0,30,167,60,0,31,167,60,0,32,167,60,0,33,167,60,0,136,167,60,0,137,167,60,0,138,167,60,0,91,171,60,0,43,216,240,223,60,0,43,216,241,223,60,0,43,216,242,223,60,0,43,216,243,223,60,0,43,216,245,223,60,0,43,216,246,223,60,0,43,216,247,223,60,0,43,216,248,223,60,0,43,216,249,223,60,0,43,216,250,223,60,0,43,216,251,223,60,0,43,216,253,223,60,0,43,216,254,223,60,0,176,0,60,0,60,0,60,0,3,33,47,0,67,0,60,0,60,0,60,0,9,33,47,0,70,0,60,0,130,4,60,0,141,5,60,0,142,5,60,0,14,32,8,6,14,32,60,0,59,216,240,222,60,0,59,216,241,222,60,0,14,6,60,0,15,6,60,0,222,6,60,0,233,6,60,0,64,253,60,0,65,253,60,0,66,253,60,0,67,253,60,0,68,253,60,0,69,253,60,0,70,253,60,0,71,253,60,0,72,253,60,0,73,253,60,0,74,253,60,0,75,253,60,0,76,253,60,0,77,253,60,0,78,253,60,0,79,253,60,0,207,253,60,0,253,253,60,0,254,253,60,0,255,253,60,0,14,32,136,8,14,32,60,0,14,32,178,251,14,32,60,0,14,32,179,251,14,32,60,0,14,32,180,251,14,32,60,0,14,32,181,251,14,32,60,0,14,32,182,251,14,32,60,0,14,32,183,251,14,32,60,0,14,32,184,251,14,32,60,0,14,32,185,251,14,32,60,0,14,32,186,251,14,32,60,0,14,32,187,251,14,32,60,0,14,32,188,251,14,32,60,0,14,32,189,251,14,32,60,0,14,32,190,251,14,32,60,0,14,32,191,251,14,32,60,0,14,32,192,251,14,32,60,0,14,32,193,251,14,32,60,0,14,32,194,251,14,32,60,0,246,7,60,0,250,9,60,0,112,11,60,0,243,11,60,0,244,11,60,0,245,11,60,0,246,11,60,0,247,11,60,0,248,11,60,0,250,11,60,0,7,216,213,223,60,0,7,216,214,223,60,0,7,216,215,223,60,0,7,216,216,223,60,0,7,216,217,223,60,0,7,216,218,223,60,0,7,216,219,223,60,0,7,216,220,223,60,0,7,216,225,223,60,0,7,216,226,223,60,0,7,216,227,223,60,0,7,216,228,223,60,0,7,216,229,223,60,0,7,216,230,223,60,0,7,216,231,223,60,0,7,216,232,223,60,0,7,216,233,223,60,0,7,216,234,223,60,0,7,216,235,223,60,0,7,216,236,223,60,0,7,216,237,223,60,0,7,216,238,223,60,0,7,216,239,223,60,0,7,216,240,223,60,0,7,216,241,223,60,0,127,12,60,0,79,13,60,0,121,13,60,0,40,168,60,0,41,168,60,0,42,168,60,0,43,168,60,0,54,168,60,0,55,168,60,0,57,168,60,0,1,15,60,0,2,15,60,0,3,15,60,0,19,15,60,0,21,15,60,0,22,15,60,0,23,15,60,0,26,15,60,0,27,15,60,0,28,15,60,0,29,15,60,0,30,15,60,0,31,15,60,0,52,15,60,0,54,15,60,0,56,15,60,0,190,15,60,0,191,15,60,0,192,15,60,0,193,15,60,0,194,15,60,0,195,15,60,0,196,15,60,0,197,15,60,0,199,15,60,0,200,15,60,0,201,15,60,0,202,15,60,0,203,15,60,0,204,15,60,0,206,15,60,0,207,15,60,0,213,15,60,0,214,15,60,0,215,15,60,0,216,15,60,0,109,22,60,0,64,25,60,0,158,16,60,0,159,16,60,0,119,170,60,0,120,170,60,0,121,170,60,0,5,216,63,223,60,0,224,25,60,0,225,25,60,0,226,25,60,0,227,25,60,0,228,25,60,0,229,25,60,0,230,25,60,0,231,25,60,0,232,25,60,0,233,25,60,0,234,25,60,0,235,25,60,0,236,25,60,0,237,25,60,0,238,25,60,0,239,25,60,0,240,25,60,0,241,25,60,0,242,25,60,0,243,25,60,0,244,25,60,0,245,25,60,0,246,25,60,0,247,25,60,0,248,25,60,0,249,25,60,0,250,25,60,0,251,25,60,0,252,25,60,0,253,25,60,0,254,25,60,0,255,25,60,0,97,27,60,0,98,27,60,0,99,27,60,0,100,27,60,0,101,27,60,0,102,27,60,0,103,27,60,0,104,27,60,0,105,27,60,0,106,27,60,0,116,27,60,0,117,27,60,0,118,27,60,0,119,27,60,0,120,27,60,0,121,27,60,0,122,27,60,0,123,27,60,0,124,27,60,0,169,0,60,0,60,216,47,221,60,0,174,0,60,0,60,216,173,221,60,0,4,33,60,0,8,33,60,0,20,33,60,0,23,33,60,0,24,33,60,0,30,33,60,0,31,33,60,0,35,33,60,0,37,33,60,0,39,33,60,0,41,33,60,0,46,33,60,0,58,33,60,0,65,33,60,0,66,33,60,0,67,33,60,0,68,33,60,0,74,33,60,0,76,33,60,0,79,33,60,0,138,33,60,0,139,33,60,0,144,33,60,0,60,0,60,0,233,255,60,0,146,33,60,0,60,0,60,0,235,255,60,0,145,33,60,0,60,0,60,0,234,255,60,0,147,33,60,0,60,0,60,0,236,255,60,0,148,33,60,0,149,33,60,0,150,33,60,0,151,33,60,0,152,33,60,0,153,33,60,0,156,33,60,0,157,33,60,0,158,33,60,0,159,33,60,0,160,33,60,0,161,33,60,0,162,33,60,0,163,33,60,0,164,33,60,0,165,33,60,0,166,33,60,0,167,33,60,0,168,33,60,0,169,33,60,0,170,33,60,0,171,33,60,0,172,33,60,0,173,33,60,0,175,33,60,0,176,33,60,0,177,33,60,0,178,33,60,0,179,33,60,0,180,33,60,0,181,33,60,0,182,33,60,0,183,33,60,0,184,33,60,0,185,33,60,0,186,33,60,0,187,33,60,0,188,33,60,0,189,33,60,0,190,33,60,0,191,33,60,0,192,33,60,0,193,33,60,0,194,33,60,0,195,33,60,0,196,33,60,0,197,33,60,0,198,33,60,0,199,33,60,0,200,33,60,0,201,33,60,0,202,33,60,0,203,33,60,0,204,33,60,0,208,33,60,0,209,33,60,0,210,33,60,0,211,33,60,0,212,33,60,0,213,33,60,0,214,33,60,0,215,33,60,0,216,33,60,0,217,33,60,0,218,33,60,0,219,33,60,0,220,33,60,0,221,33,60,0,222,33,60,0,223,33,60,0,224,33,60,0,225,33,60,0,226,33,60,0,227,33,60,0,228,33,60,0,229,33,60,0,230,33,60,0,231,33,60,0,232,33,60,0,233,33,60,0,234,33,60,0,235,33,60,0,236,33,60,0,237,33,60,0,238,33,60,0,239,33,60,0,240,33,60,0,241,33,60,0,242,33,60,0,243,33,60,0,244,33,60,0,245,33,60,0,246,33,60,0,247,33,60,0,248,33,60,0,249,33,60,0,250,33,60,0,251,33,60,0,252,33,60,0,253,33,60,0,254,33,60,0,255,33,60,0,0,34,60,0,1,34,60,0,2,34,60,0,60,0,60,0,53,216,219,222,61,0,53,216,21,223,61,0,53,216,79,223,61,0,53,216,137,223,61,0,53,216,195,223,60,0,3,34,60,0,5,34,60,0,6,34,60,0,7,34,60,0,60,0,60,0,53,216,193,222,61,0,53,216,251,222,61,0,53,216,53,223,61,0,53,216,111,223,61,0,53,216,169,223,60,0,8,34,60,0,10,34,60,0,11,34,60,0,13,34,60,0,246,3,60,0,14,34,60,0,15,34,60,0,16,34,60,0,17,34,60,0,60,0,60,0,64,33,60,0,39,0,43,0,39,0,60,0,60,0,60,0,11,255,60,0,60,0,60,0,41,251,60,0,60,0,60,0,98,254,60,0,60,0,60,0,122,32,60,0,60,0,60,0,138,32,60,0,177,0,60,0,247,0,60,0,215,0,60,0,39,0,60,0,39,0,60,0,60,0,60,0,28,255,60,0,60,0,60,0,100,254,60,0,39,0,61,0,39,0,60,0,60,0,60,0,29,255,60,0,60,0,60,0,117,42,47,0,39,0,61,0,39,0,60,0,60,0,60,0,118,42,47,0,39,0,61,0,61,0,39,0,60,0,60,0,60,0,102,254,60,0,60,0,60,0,124,32,60,0,60,0,60,0,140,32,60,0,39,0,62,0,39,0,60,0,60,0,60,0,30,255,60,0,60,0,60,0,101,254,60,0,172,0,60,0,60,0,60,0,226,255,60,0,39,0,124,0,39,0,60,0,60,0,60,0,92,255,60,0,166,0,60,0,60,0,60,0,228,255,60,0,39,0,126,0,39,0,60,0,60,0,60,0,94,255,60,0,18,34,60,0,60,0,60,0,123,32,60,0,60,0,60,0,139,32,60,0,82,32,60,0,19,34,60,0,20,34,60,0,21,34,60,0,68,32,60,0,22,34,60,0,23,34,60,0,24,34,60,0,25,34,60,0,26,34,60,0,27,34,60,0,6,6,60,0,28,34,60,0,7,6,60,0,29,34,60,0,30,34,60,0,31,34,60,0,32,34,60,0,33,34,60,0,34,34,60,0,35,34,60,0,37,34,60,0,39,34,60,0,40,34,60,0,41,34,60,0,42,34,60,0,43,34,60,0,60,0,60,0,44,34,47,0,43,34,60,0,60,0,60,0,45,34,47,0,43,34,43,34,60,0,60,0,60,0,12,42,47,0,43,34,43,34,43,34,60,0,46,34,60,0,60,0,60,0,47,34,47,0,46,34,60,0,60,0,60,0,48,34,47,0,46,34,46,34,60,0,49,34,60,0,50,34,60,0,51,34,60,0,52,34,60,0,53,34,60,0,54,34,60,0,55,34,60,0,56,34,60,0,57,34,60,0,58,34,60,0,59,34,60,0,60,34,60,0,61,34,60,0,62,34,60,0,63,34,60,0,64,34,60,0,66,34,60,0,67,34,60,0,69,34,60,0,70,34,60,0,72,34,60,0,74,34,60,0,75,34,60,0,76,34,60,0,77,34,60,0,78,34,60,0,79,34,60,0,80,34,60,0,81,34,60,0,82,34,60,0,83,34,60,0,84,34,60,0,85,34,60,0,86,34,60,0,87,34,60,0,88,34,60,0,89,34,60,0,90,34,60,0,91,34,60,0,92,34,60,0,93,34,60,0,94,34,60,0,95,34,60,0,97,34,60,0,99,34,60,0,100,34,60,0,101,34,60,0,102,34,60,0,103,34,60,0,104,34,60,0,105,34,60,0,106,34,60,0,107,34,60,0,108,34,60,0,114,34,60,0,115,34,60,0,118,34,60,0,119,34,60,0,122,34,60,0,123,34,60,0,124,34,60,0,125,34,60,0,126,34,60,0,127,34,60,0,130,34,60,0,131,34,60,0,134,34,60,0,135,34,60,0,138,34,60,0,139,34,60,0,140,34,60,0,141,34,60,0,142,34,60,0,143,34,60,0,144,34,60,0,145,34,60,0,146,34,60,0,147,34,60,0,148,34,60,0,149,34,60,0,150,34,60,0,151,34,60,0,152,34,60,0,153,34,60,0,154,34,60,0,155,34,60,0,156,34,60,0,157,34,60,0,158,34,60,0,159,34,60,0,160,34,60,0,161,34,60,0,162,34,60,0,163,34,60,0,164,34,60,0,165,34,60,0,166,34,60,0,167,34,60,0,168,34,60,0,169,34,60,0,170,34,60,0,171,34,60,0,176,34,60,0,177,34,60,0,178,34,60,0,179,34,60,0,180,34,60,0,181,34,60,0,182,34,60,0,183,34,60,0,184,34,60,0,185,34,60,0,186,34,60,0,187,34,60,0,188,34,60,0,75,33,60,0,189,34,60,0,190,34,60,0,191,34,60,0,192,34,60,0,193,34,60,0,194,34,60,0,195,34,60,0,196,34,60,0,197,34,60,0,198,34,60,0,199,34,60,0,200,34,60,0,201,34,60,0,202,34,60,0,203,34,60,0,204,34,60,0,205,34,60,0,206,34,60,0,207,34,60,0,208,34,60,0,209,34,60,0,210,34,60,0,211,34,60,0,212,34,60,0,213,34,60,0,214,34,60,0,215,34,60,0,216,34,60,0,217,34,60,0,218,34,60,0,219,34,60,0,220,34,60,0,221,34,60,0,222,34,60,0,223,34,60,0,228,34,60,0,229,34,60,0,230,34,60,0,231,34,60,0,232,34,60,0,233,34,60,0,238,34,60,0,239,34,60,0,240,34,60,0,241,34,60,0,242,34,60,0,243,34,60,0,244,34,60,0,245,34,60,0,246,34,60,0,247,34,60,0,248,34,60,0,249,34,60,0,250,34,60,0,251,34,60,0,252,34,60,0,253,34,60,0,254,34,60,0,255,34,60,0,0,35,60,0,1,35,60,0,2,35,60,0,3,35,60,0,4,35,60,0,5,35,60,0,6,35,60,0,7,35,60,0,12,35,60,0,13,35,60,0,14,35,60,0,15,35,60,0,16,35,60,0,17,35,60,0,18,35,60,0,19,35,60,0,20,35,60,0,21,35,60,0,22,35,60,0,23,35,60,0,24,35,60,0,25,35,60,0,26,35,60,0,27,35,60,0,28,35,60,0,29,35,60,0,30,35,60,0,31,35,60,0,32,35,60,0,33,35,60,0,34,35,60,0,35,35,60,0,36,35,60,0,37,35,60,0,38,35,60,0,39,35,60,0,40,35,60,0,43,35,60,0,44,35,60,0,45,35,60,0,46,35,60,0,47,35,60,0,48,35,60,0,49,35,60,0,50,35,60,0,51,35,60,0,52,35,60,0,53,35,60,0,54,35,60,0,55,35,60,0,56,35,60,0,57,35,60,0,58,35,60,0,59,35,60,0,60,35,60,0,61,35,60,0,62,35,60,0,63,35,60,0,64,35,60,0,65,35,60,0,66,35,60,0,67,35,60,0,68,35,60,0,69,35,60,0,70,35,60,0,71,35,60,0,72,35,60,0,73,35,60,0,74,35,60,0,75,35,60,0,76,35,60,0,77,35,60,0,78,35,60,0,79,35,60,0,80,35,60,0,81,35,60,0,82,35,60,0,83,35,60,0,84,35,60,0,85,35,60,0,86,35,60,0,87,35,60,0,88,35,60,0,89,35,60,0,90,35,60,0,91,35,60,0,92,35,60,0,93,35,60,0,94,35,60,0,95,35,60,0,96,35,60,0,97,35,60,0,98,35,60,0,99,35,60,0,100,35,60,0,101,35,60,0,102,35,60,0,103,35,60,0,104,35,60,0,105,35,60,0,106,35,60,0,107,35,60,0,108,35,60,0,109,35,60,0,110,35,60,0,111,35,60,0,112,35,60,0,113,35,60,0,114,35,60,0,115,35,60,0,116,35,60,0,117,35,60,0,118,35,60,0,119,35,60,0,120,35,60,0,121,35,60,0,122,35,60,0,123,35,60,0,124,35,60,0,125,35,60,0,126,35,60,0,127,35,60,0,128,35,60,0,129,35,60,0,130,35,60,0,131,35,60,0,132,35,60,0,133,35,60,0,134,35,60,0,135,35,60,0,136,35,60,0,137,35,60,0,138,35,60,0,139,35,60,0,140,35,60,0,141,35,60,0,142,35,60,0,143,35,60,0,144,35,60,0,145,35,60,0,146,35,60,0,147,35,60,0,148,35,60,0,149,35,60,0,150,35,60,0,151,35,60,0,152,35,60,0,153,35,60,0,154,35,60,0,155,35,60,0,156,35,60,0,157,35,60,0,158,35,60,0,159,35,60,0,160,35,60,0,161,35,60,0,162,35,60,0,163,35,60,0,164,35,60,0,165,35,60,0,166,35,60,0,167,35,60,0,168,35,60,0,169,35,60,0,170,35,60,0,171,35,60,0,172,35,60,0,173,35,60,0,174,35,60,0,175,35,60,0,176,35,60,0,177,35,60,0,178,35,60,0,179,35,60,0,180,35,60,0,181,35,60,0,182,35,60,0,183,35,60,0,184,35,60,0,185,35,60,0,186,35,60,0,187,35,60,0,188,35,60,0,189,35,60,0,190,35,60,0,191,35,60,0,192,35,60,0,193,35,60,0,194,35,60,0,195,35,60,0,196,35,60,0,197,35,60,0,198,35,60,0,199,35,60,0,200,35,60,0,201,35,60,0,202,35,60,0,203,35,60,0,204,35,60,0,205,35,60,0,206,35,60,0,207,35,60,0,208,35,60,0,209,35,60,0,210,35,60,0,211,35,60,0,212,35,60,0,213,35,60,0,214,35,60,0,215,35,60,0,216,35,60,0,217,35,60,0,218,35,60,0,219,35,60,0,220,35,60,0,221,35,60,0,222,35,60,0,223,35,60,0,224,35,60,0,225,35,60,0,226,35,60,0,227,35,60,0,228,35,60,0,229,35,60,0,230,35,60,0,231,35,60,0,232,35,60,0,233,35,60,0,234,35,60,0,235,35,60,0,236,35,60,0,237,35,60,0,238,35,60,0,239,35,60,0,240,35,60,0,241,35,60,0,242,35,60,0,243,35,60,0,244,35,60,0,245,35,60,0,246,35,60,0,247,35,60,0,248,35,60,0,249,35,60,0,250,35,60,0,251,35,60,0,252,35,60,0,253,35,60,0,254,35,60,0,255,35,60,0,0,36,60,0,1,36,60,0,2,36,60,0,3,36,60,0,4,36,60,0,5,36,60,0,6,36,60,0,7,36,60,0,8,36,60,0,9,36,60,0,10,36,60,0,11,36,60,0,12,36,60,0,13,36,60,0,14,36,60,0,15,36,60,0,16,36,60,0,17,36,60,0,18,36,60,0,19,36,60,0,20,36,60,0,21,36,60,0,22,36,60,0,23,36,60,0,24,36,60,0,25,36,60,0,26,36,60,0,27,36,60,0,28,36,60,0,29,36,60,0,30,36,60,0,31,36,60,0,32,36,60,0,33,36,60,0,34,36,60,0,35,36,60,0,36,36,60,0,37,36,60,0,38,36,60,0,64,36,60,0,65,36,60,0,66,36,60,0,67,36,60,0,68,36,60,0,69,36,60,0,70,36,60,0,71,36,60,0,72,36,60,0,73,36,60,0,74,36,60,0,0,37,60,0,1,37,60,0,2,37,60,0,60,0,60,0,232,255,60,0,3,37,60,0,4,37,60,0,5,37,60,0,6,37,60,0,7,37,60,0,8,37,60,0,9,37,60,0,10,37,60,0,11,37,60,0,12,37,60,0,13,37,60,0,14,37,60,0,15,37,60,0,16,37,60,0,17,37,60,0,18,37,60,0,19,37,60,0,20,37,60,0,21,37,60,0,22,37,60,0,23,37,60,0,24,37,60,0,25,37,60,0,26,37,60,0,27,37,60,0,28,37,60,0,29,37,60,0,30,37,60,0,31,37,60,0,32,37,60,0,33,37,60,0,34,37,60,0,35,37,60,0,36,37,60,0,37,37,60,0,38,37,60,0,39,37,60,0,40,37,60,0,41,37,60,0,42,37,60,0,43,37,60,0,44,37,60,0,45,37,60,0,46,37,60,0,47,37,60,0,48,37,60,0,49,37,60,0,50,37,60,0,51,37,60,0,52,37,60,0,53,37,60,0,54,37,60,0,55,37,60,0,56,37,60,0,57,37,60,0,58,37,60,0,59,37,60,0,60,37,60,0,61,37,60,0,62,37,60,0,63,37,60,0,64,37,60,0,65,37,60,0,66,37,60,0,67,37,60,0,68,37,60,0,69,37,60,0,70,37,60,0,71,37,60,0,72,37,60,0,73,37,60,0,74,37,60,0,75,37,60,0,76,37,60,0,77,37,60,0,78,37,60,0,79,37,60,0,80,37,60,0,81,37,60,0,82,37,60,0,83,37,60,0,84,37,60,0,85,37,60,0,86,37,60,0,87,37,60,0,88,37,60,0,89,37,60,0,90,37,60,0,91,37,60,0,92,37,60,0,93,37,60,0,94,37,60,0,95,37,60,0,96,37,60,0,97,37,60,0,98,37,60,0,99,37,60,0,100,37,60,0,101,37,60,0,102,37,60,0,103,37,60,0,104,37,60,0,105,37,60,0,106,37,60,0,107,37,60,0,108,37,60,0,109,37,60,0,110,37,60,0,111,37,60,0,112,37,60,0,113,37,60,0,114,37,60,0,115,37,60,0,116,37,60,0,117,37,60,0,118,37,60,0,119,37,60,0,120,37,60,0,121,37,60,0,122,37,60,0,123,37,60,0,124,37,60,0,125,37,60,0,126,37,60,0,127,37,60,0,128,37,60,0,129,37,60,0,130,37,60,0,131,37,60,0,132,37,60,0,133,37,60,0,134,37,60,0,135,37,60,0,136,37,60,0,137,37,60,0,138,37,60,0,139,37,60,0,140,37,60,0,141,37,60,0,142,37,60,0,143,37,60,0,144,37,60,0,145,37,60,0,146,37,60,0,147,37,60,0,148,37,60,0,149,37,60,0,150,37,60,0,151,37,60,0,152,37,60,0,153,37,60,0,154,37,60,0,155,37,60,0,156,37,60,0,157,37,60,0,158,37,60,0,159,37,60,0,160,37,60,0,60,0,60,0,237,255,60,0,161,37,60,0,162,37,60,0,163,37,60,0,164,37,60,0,165,37,60,0,166,37,60,0,167,37,60,0,168,37,60,0,169,37,60,0,170,37,60,0,171,37,60,0,172,37,60,0,173,37,60,0,174,37,60,0,175,37,60,0,176,37,60,0,177,37,60,0,178,37,60,0,179,37,60,0,180,37,60,0,181,37,60,0,182,37,60,0,183,37,60,0,184,37,60,0,185,37,60,0,186,37,60,0,187,37,60,0,188,37,60,0,189,37,60,0,190,37,60,0,191,37,60,0,192,37,60,0,193,37,60,0,194,37,60,0,195,37,60,0,196,37,60,0,197,37,60,0,198,37,60,0,199,37,60,0,200,37,60,0,201,37,60,0,202,37,60,0,203,37,60,0,60,0,60,0,238,255,60,0,204,37,60,0,205,37,60,0,206,37,60,0,207,37,60,0,208,37,60,0,209,37,60,0,210,37,60,0,211,37,60,0,212,37,60,0,213,37,60,0,214,37,60,0,215,37,60,0,216,37,60,0,217,37,60,0,218,37,60,0,219,37,60,0,220,37,60,0,221,37,60,0,222,37,60,0,223,37,60,0,224,37,60,0,225,37,60,0,226,37,60,0,227,37,60,0,228,37,60,0,229,37,60,0,230,37,60,0,231,37,60,0,232,37,60,0,233,37,60,0,234,37,60,0,235,37,60,0,236,37,60,0,237,37,60,0,238,37,60,0,239,37,60,0,240,37,60,0,241,37,60,0,242,37,60,0,243,37,60,0,244,37,60,0,245,37,60,0,246,37,60,0,247,37,60,0,248,37,60,0,249,37,60,0,250,37,60,0,251,37,60,0,252,37,60,0,253,37,60,0,254,37,60,0,255,37,60,0,62,216,0,223,60,0,62,216,1,223,60,0,62,216,2,223,60,0,62,216,3,223,60,0,62,216,4,223,60,0,62,216,5,223,60,0,62,216,6,223,60,0,62,216,7,223,60,0,62,216,8,223,60,0,62,216,9,223,60,0,62,216,10,223,60,0,62,216,11,223,60,0,62,216,12,223,60,0,62,216,13,223,60,0,62,216,14,223,60,0,62,216,15,223,60,0,62,216,16,223,60,0,62,216,17,223,60,0,62,216,18,223,60,0,62,216,19,223,60,0,62,216,20,223,60,0,62,216,21,223,60,0,62,216,22,223,60,0,62,216,23,223,60,0,62,216,24,223,60,0,62,216,25,223,60,0,62,216,26,223,60,0,62,216,27,223,60,0,62,216,28,223,60,0,62,216,29,223,60,0,62,216,30,223,60,0,62,216,31,223,60,0,62,216,32,223,60,0,62,216,33,223,60,0,62,216,34,223,60,0,62,216,35,223,60,0,62,216,36,223,60,0,62,216,37,223,60,0,62,216,38,223,60,0,62,216,39,223,60,0,62,216,40,223,60,0,62,216,41,223,60,0,62,216,42,223,60,0,62,216,43,223,60,0,62,216,44,223,60,0,62,216,45,223,60,0,62,216,46,223,60,0,62,216,47,223,60,0,62,216,48,223,60,0,62,216,49,223,60,0,62,216,50,223,60,0,62,216,51,223,60,0,62,216,52,223,60,0,62,216,53,223,60,0,62,216,54,223,60,0,62,216,55,223,60,0,62,216,56,223,60,0,62,216,57,223,60,0,62,216,58,223,60,0,62,216,59,223,60,0,62,216,60,223,60,0,62,216,61,223,60,0,62,216,62,223,60,0,62,216,63,223,60,0,62,216,64,223,60,0,62,216,65,223,60,0,62,216,66,223,60,0,62,216,67,223,60,0,62,216,68,223,60,0,62,216,69,223,60,0,62,216,70,223,60,0,62,216,71,223,60,0,62,216,72,223,60,0,62,216,73,223,60,0,62,216,74,223,60,0,62,216,75,223,60,0,62,216,76,223,60,0,62,216,77,223,60,0,62,216,78,223,60,0,62,216,79,223,60,0,62,216,80,223,60,0,62,216,81,223,60,0,62,216,82,223,60,0,62,216,83,223,60,0,62,216,84,223,60,0,62,216,85,223,60,0,62,216,86,223,60,0,62,216,87,223,60,0,62,216,88,223,60,0,62,216,89,223,60,0,62,216,90,223,60,0,62,216,91,223,60,0,62,216,92,223,60,0,62,216,93,223,60,0,62,216,94,223,60,0,62,216,95,223,60,0,62,216,96,223,60,0,62,216,97,223,60,0,62,216,98,223,60,0,62,216,99,223,60,0,62,216,100,223,60,0,62,216,101,223,60,0,62,216,102,223,60,0,62,216,103,223,60,0,62,216,104,223,60,0,62,216,105,223,60,0,62,216,106,223,60,0,62,216,107,223,60,0,62,216,108,223,60,0,62,216,109,223,60,0,62,216,110,223,60,0,62,216,111,223,60,0,62,216,112,223,60,0,62,216,113,223,60,0,62,216,114,223,60,0,62,216,115,223,60,0,62,216,116,223,60,0,62,216,117,223,60,0,62,216,118,223,60,0,62,216,119,223,60,0,62,216,120,223,60,0,62,216,121,223,60,0,62,216,122,223,60,0,62,216,123,223,60,0,62,216,124,223,60,0,62,216,125,223,60,0,62,216,126,223,60,0,62,216,127,223,60,0,62,216,128,223,60,0,62,216,129,223,60,0,62,216,130,223,60,0,62,216,131,223,60,0,62,216,132,223,60,0,62,216,133,223,60,0,62,216,134,223,60,0,62,216,135,223,60,0,62,216,136,223,60,0,62,216,137,223,60,0,62,216,138,223,60,0,62,216,139,223,60,0,62,216,140,223,60,0,62,216,141,223,60,0,62,216,142,223,60,0,62,216,143,223,60,0,62,216,144,223,60,0,62,216,145,223,60,0,62,216,146,223,60,0,62,216,148,223,60,0,62,216,149,223,60,0,62,216,150,223,60,0,62,216,151,223,60,0,62,216,152,223,60,0,62,216,153,223,60,0,62,216,154,223,60,0,62,216,155,223,60,0,62,216,156,223,60,0,62,216,157,223,60,0,62,216,158,223,60,0,62,216,159,223,60,0,62,216,160,223,60,0,62,216,161,223,60,0,62,216,162,223,60,0,62,216,163,223,60,0,62,216,164,223,60,0,62,216,165,223,60,0,62,216,166,223,60,0,62,216,167,223,60,0,62,216,168,223,60,0,62,216,169,223,60,0,62,216,170,223,60,0,62,216,171,223,60,0,62,216,172,223,60,0,62,216,173,223,60,0,62,216,174,223,60,0,62,216,175,223,60,0,62,216,176,223,60,0,62,216,177,223,60,0,62,216,178,223,60,0,62,216,179,223,60,0,62,216,180,223,60,0,62,216,181,223,60,0,62,216,182,223,60,0,62,216,183,223,60,0,62,216,184,223,60,0,62,216,185,223,60,0,62,216,186,223,60,0,62,216,187,223,60,0,62,216,188,223,60,0,62,216,189,223,60,0,62,216,190,223,60,0,62,216,191,223,60,0,62,216,192,223,60,0,62,216,193,223,60,0,62,216,194,223,60,0,62,216,195,223,60,0,62,216,196,223,60,0,62,216,197,223,60,0,62,216,198,223,60,0,62,216,199,223,60,0,62,216,200,223,60,0,62,216,201,223,60,0,62,216,202,223,60,0,0,38,60,0,1,38,60,0,2,38,60,0,3,38,60,0,4,38,60,0,5,38,60,0,6,38,60,0,7,38,60,0,8,38,60,0,9,38,60,0,10,38,60,0,11,38,60,0,12,38,60,0,13,38,60,0,14,38,60,0,15,38,60,0,16,38,60,0,17,38,60,0,18,38,60,0,19,38,60,0,20,38,60,0,21,38,60,0,22,38,60,0,23,38,60,0,24,38,60,0,25,38,60,0,26,38,60,0,27,38,60,0,28,38,60,0,29,38,60,0,30,38,60,0,31,38,60,0,32,38,60,0,33,38,60,0,34,38,60,0,35,38,60,0,36,38,60,0,37,38,60,0,38,38,60,0,39,38,60,0,40,38,60,0,41,38,60,0,42,38,60,0,43,38,60,0,44,38,60,0,45,38,60,0,46,38,60,0,47,38,60,0,56,38,60,0,57,38,60,0,58,38,60,0,59,38,60,0,60,38,60,0,61,38,60,0,62,38,60,0,63,38,60,0,64,38,60,0,65,38,60,0,66,38,60,0,67,38,60,0,68,38,60,0,69,38,60,0,70,38,60,0,71,38,60,0,72,38,60,0,73,38,60,0,74,38,60,0,75,38,60,0,76,38,60,0,77,38,60,0,78,38,60,0,79,38,60,0,80,38,60,0,81,38,60,0,82,38,60,0,83,38,60,0,84,38,60,0,85,38,60,0,86,38,60,0,87,38,60,0,88,38,60,0,89,38,60,0,90,38,60,0,91,38,60,0,92,38,60,0,93,38,60,0,94,38,60,0,95,38,60,0,96,38,60,0,97,38,60,0,98,38,60,0,99,38,60,0,100,38,60,0,101,38,60,0,102,38,60,0,103,38,60,0,104,38,60,0,105,38,60,0,106,38,60,0,107,38,60,0,108,38,60,0,112,38,60,0,113,38,60,0,114,38,60,0,115,38,60,0,116,38,60,0,117,38,60,0,118,38,60,0,119,38,60,0,120,38,60,0,121,38,60,0,122,38,60,0,123,38,60,0,124,38,60,0,125,38,60,0,126,38,60,0,127,38,60,0,128,38,60,0,129,38,60,0,130,38,60,0,131,38,60,0,132,38,60,0,133,38,60,0,134,38,60,0,135,38,60,0,136,38,60,0,137,38,60,0,144,38,60,0,145,38,60,0,146,38,60,0,147,38,60,0,148,38,60,0,149,38,60,0,150,38,60,0,151,38,60,0,152,38,60,0,153,38,60,0,154,38,60,0,155,38,60,0,156,38,60,0,157,38,60,0,158,38,60,0,159,38,60,0,160,38,60,0,161,38,60,0,162,38,60,0,163,38,60,0,164,38,60,0,165,38,60,0,166,38,60,0,167,38,60,0,168,38,60,0,169,38,60,0,170,38,60,0,171,38,60,0,172,38,60,0,173,38,60,0,174,38,60,0,175,38,60,0,176,38,60,0,177,38,60,0,178,38,60,0,179,38,60,0,180,38,60,0,181,38,60,0,182,38,60,0,183,38,60,0,184,38,60,0,185,38,60,0,186,38,60,0,187,38,60,0,188,38,60,0,189,38,60,0,190,38,60,0,191,38,60,0,192,38,60,0,193,38,60,0,194,38,60,0,195,38,60,0,196,38,60,0,197,38,60,0,198,38,60,0,199,38,60,0,200,38,60,0,201,38,60,0,202,38,60,0,203,38,60,0,204,38,60,0,205,38,60,0,206,38,60,0,207,38,60,0,208,38,60,0,209,38,60,0,210,38,60,0,211,38,60,0,212,38,60,0,213,38,60,0,214,38,60,0,215,38,60,0,216,38,60,0,217,38,60,0,218,38,60,0,219,38,60,0,220,38,60,0,221,38,60,0,222,38,60,0,223,38,60,0,224,38,60,0,225,38,60,0,226,38,60,0,227,38,60,0,228,38,60,0,229,38,60,0,230,38,60,0,231,38,60,0,232,38,60,0,233,38,60,0,234,38,60,0,235,38,60,0,236,38,60,0,237,38,60,0,238,38,60,0,239,38,60,0,240,38,60,0,241,38,60,0,242,38,60,0,243,38,60,0,244,38,60,0,245,38,60,0,246,38,60,0,247,38,60,0,248,38,60,0,249,38,60,0,250,38,60,0,251,38,60,0,252,38,60,0,253,38,60,0,254,38,60,0,255,38,60,0,60,216,230,221,60,0,60,216,231,221,60,0,60,216,232,221,60,0,60,216,233,221,60,0,60,216,234,221,60,0,60,216,235,221,60,0,60,216,236,221,60,0,60,216,237,221,60,0,60,216,238,221,60,0,60,216,239,221,60,0,60,216,240,221,60,0,60,216,241,221,60,0,60,216,242,221,60,0,60,216,243,221,60,0,60,216,244,221,60,0,60,216,245,221,60,0,60,216,246,221,60,0,60,216,247,221,60,0,60,216,248,221,60,0,60,216,249,221,60,0,60,216,250,221,60,0,60,216,251,221,60,0,60,216,252,221,60,0,60,216,253,221,60,0,60,216,254,221,60,0,60,216,255,221,60,0,0,39,60,0,1,39,60,0,2,39,60,0,3,39,60,0,4,39,60,0,5,39,60,0,6,39,60,0,7,39,60,0,8,39,60,0,9,39,60,0,10,39,60,0,11,39,60,0,12,39,60,0,13,39,60,0,14,39,60,0,15,39,60,0,16,39,60,0,17,39,60,0,18,39,60,0,19,39,60,0,20,39,60,0,21,39,60,0,22,39,60,0,23,39,60,0,24,39,60,0,25,39,60,0,26,39,60,0,27,39,60,0,28,39,60,0,29,39,60,0,30,39,60,0,31,39,60,0,32,39,60,0,80,46,60,0,81,46,60,0,33,39,60,0,34,39,60,0,35,39,60,0,36,39,60,0,37,39,60,0,38,39,60,0,39,39,60,0,40,39,60,0,41,39,60,0,42,39,60,0,43,39,60,0,44,39,60,0,45,39,60,0,46,39,60,0,47,39,60,0,48,39,60,0,49,39,60,0,50,39,60,0,51,39,60,0,52,39,60,0,53,39,60,0,54,39,60,0,55,39,60,0,56,39,60,0,57,39,60,0,58,39,60,0,59,39,60,0,60,39,60,0,61,39,60,0,62,39,60,0,63,39,60,0,64,39,60,0,65,39,60,0,66,39,60,0,67,39,60,0,68,39,60,0,69,39,60,0,70,39,60,0,71,39,60,0,72,39,60,0,73,39,60,0,74,39,60,0,75,39,60,0,76,39,60,0,77,39,60,0,78,39,60,0,79,39,60,0,80,39,60,0,81,39,60,0,82,39,60,0,83,39,60,0,84,39,60,0,85,39,60,0,86,39,60,0,87,39,60,0,88,39,60,0,89,39,60,0,90,39,60,0,91,39,60,0,92,39,60,0,93,39,60,0,94,39,60,0,95,39,60,0,96,39,60,0,97,39,60,0,98,39,60,0,99,39,60,0,100,39,60,0,101,39,60,0,102,39,60,0,103,39,60,0,148,39,60,0,149,39,60,0,150,39,60,0,151,39,60,0,152,39,60,0,153,39,60,0,154,39,60,0,155,39,60,0,156,39,60,0,157,39,60,0,158,39,60,0,159,39,60,0,160,39,60,0,161,39,60,0,162,39,60,0,163,39,60,0,164,39,60,0,165,39,60,0,166,39,60,0,167,39,60,0,168,39,60,0,169,39,60,0,170,39,60,0,171,39,60,0,172,39,60,0,173,39,60,0,174,39,60,0,175,39,60,0,176,39,60,0,177,39,60,0,178,39,60,0,179,39,60,0,180,39,60,0,181,39,60,0,182,39,60,0,183,39,60,0,184,39,60,0,185,39,60,0,186,39,60,0,187,39,60,0,188,39,60,0,189,39,60,0,190,39,60,0,191,39,60,0,192,39,60,0,193,39,60,0,194,39,60,0,195,39,60,0,196,39,60,0,199,39,60,0,200,39,60,0,201,39,60,0,202,39,60,0,203,39,60,0,204,39,60,0,205,39,60,0,206,39,60,0,207,39,60,0,208,39,60,0,209,39,60,0,210,39,60,0,211,39,60,0,212,39,60,0,213,39,60,0,214,39,60,0,215,39,60,0,216,39,60,0,217,39,60,0,218,39,60,0,219,39,60,0,220,39,60,0,221,39,60,0,222,39,60,0,223,39,60,0,224,39,60,0,225,39,60,0,226,39,60,0,227,39,60,0,228,39,60,0,229,39,60,0,240,39,60,0,241,39,60,0,242,39,60,0,243,39,60,0,244,39,60,0,245,39,60,0,246,39,60,0,247,39,60,0,248,39,60,0,249,39,60,0,250,39,60,0,251,39,60,0,252,39,60,0,253,39,60,0,254,39,60,0,255,39,60,0,0,41,60,0,1,41,60,0,2,41,60,0,3,41,60,0,4,41,60,0,5,41,60,0,6,41,60,0,7,41,60,0,8,41,60,0,9,41,60,0,10,41,60,0,11,41,60,0,12,41,60,0,13,41,60,0,14,41,60,0,15,41,60,0,16,41,60,0,17,41,60,0,18,41,60,0,19,41,60,0,20,41,60,0,21,41,60,0,22,41,60,0,23,41,60,0,24,41,60,0,25,41,60,0,26,41,60,0,27,41,60,0,28,41,60,0,29,41,60,0,30,41,60,0,31,41,60,0,32,41,60,0,33,41,60,0,34,41,60,0,35,41,60,0,36,41,60,0,37,41,60,0,38,41,60,0,39,41,60,0,40,41,60,0,41,41,60,0,42,41,60,0,43,41,60,0,44,41,60,0,45,41,60,0,46,41,60,0,47,41,60,0,48,41,60,0,49,41,60,0,50,41,60,0,51,41,60,0,52,41,60,0,53,41,60,0,54,41,60,0,55,41,60,0,56,41,60,0,57,41,60,0,58,41,60,0,59,41,60,0,60,41,60,0,61,41,60,0,62,41,60,0,63,41,60,0,64,41,60,0,65,41,60,0,66,41,60,0,67,41,60,0,68,41,60,0,69,41,60,0,70,41,60,0,71,41,60,0,72,41,60,0,73,41,60,0,74,41,60,0,75,41,60,0,76,41,60,0,77,41,60,0,78,41,60,0,79,41,60,0,80,41,60,0,81,41,60,0,82,41,60,0,83,41,60,0,84,41,60,0,85,41,60,0,86,41,60,0,87,41,60,0,88,41,60,0,89,41,60,0,90,41,60,0,91,41,60,0,92,41,60,0,93,41,60,0,94,41,60,0,95,41,60,0,96,41,60,0,97,41,60,0,98,41,60,0,99,41,60,0,100,41,60,0,101,41,60,0,102,41,60,0,103,41,60,0,104,41,60,0,105,41,60,0,106,41,60,0,107,41,60,0,108,41,60,0,109,41,60,0,110,41,60,0,111,41,60,0,112,41,60,0,113,41,60,0,114,41,60,0,115,41,60,0,116,41,60,0,117,41,60,0,118,41,60,0,119,41,60,0,120,41,60,0,121,41,60,0,122,41,60,0,123,41,60,0,124,41,60,0,125,41,60,0,126,41,60,0,127,41,60,0,128,41,60,0,129,41,60,0,130,41,60,0,153,41,60,0,154,41,60,0,155,41,60,0,156,41,60,0,157,41,60,0,158,41,60,0,159,41,60,0,160,41,60,0,161,41,60,0,162,41,60,0,163,41,60,0,164,41,60,0,165,41,60,0,166,41,60,0,167,41,60,0,168,41,60,0,169,41,60,0,170,41,60,0,171,41,60,0,172,41,60,0,173,41,60,0,174,41,60,0,175,41,60,0,176,41,60,0,177,41,60,0,178,41,60,0,179,41,60,0,180,41,60,0,181,41,60,0,182,41,60,0,183,41,60,0,184,41,60,0,185,41,60,0,186,41,60,0,187,41,60,0,188,41,60,0,189,41,60,0,190,41,60,0,191,41,60,0,192,41,60,0,193,41,60,0,194,41,60,0,195,41,60,0,196,41,60,0,197,41,60,0,198,41,60,0,199,41,60,0,200,41,60,0,201,41,60,0,202,41,60,0,203,41,60,0,204,41,60,0,205,41,60,0,206,41,60,0,207,41,60,0,208,41,60,0,209,41,60,0,210,41,60,0,211,41,60,0,212,41,60,0,213,41,60,0,214,41,60,0,215,41,60,0,220,41,60,0,221,41,60,0,222,41,60,0,223,41,60,0,224,41,60,0,225,41,60,0,226,41,60,0,227,41,60,0,228,41,60,0,229,41,60,0,230,41,60,0,231,41,60,0,232,41,60,0,233,41,60,0,234,41,60,0,235,41,60,0,236,41,60,0,237,41,60,0,238,41,60,0,239,41,60,0,240,41,60,0,241,41,60,0,242,41,60,0,243,41,60,0,244,41,60,0,245,41,60,0,246,41,60,0,247,41,60,0,248,41,60,0,249,41,60,0,250,41,60,0,251,41,60,0,254,41,60,0,255,41,60,0,0,42,60,0,1,42,60,0,2,42,60,0,3,42,60,0,4,42,60,0,5,42,60,0,6,42,60,0,7,42,60,0,8,42,60,0,9,42,60,0,10,42,60,0,11,42,60,0,13,42,60,0,14,42,60,0,15,42,60,0,16,42,60,0,17,42,60,0,18,42,60,0,19,42,60,0,20,42,60,0,21,42,60,0,22,42,60,0,23,42,60,0,24,42,60,0,25,42,60,0,26,42,60,0,27,42,60,0,28,42,60,0,29,42,60,0,30,42,60,0,31,42,60,0,32,42,60,0,33,42,60,0,34,42,60,0,35,42,60,0,36,42,60,0,37,42,60,0,38,42,60,0,39,42,60,0,40,42,60,0,41,42,60,0,42,42,60,0,43,42,60,0,44,42,60,0,45,42,60,0,46,42,60,0,47,42,60,0,48,42,60,0,49,42,60,0,50,42,60,0,51,42,60,0,52,42,60,0,53,42,60,0,54,42,60,0,55,42,60,0,56,42,60,0,57,42,60,0,58,42,60,0,59,42,60,0,60,42,60,0,61,42,60,0,62,42,60,0,63,42,60,0,64,42,60,0,65,42,60,0,66,42,60,0,67,42,60,0,68,42,60,0,69,42,60,0,70,42,60,0,71,42,60,0,72,42,60,0,73,42,60,0,74,42,60,0,75,42,60,0,76,42,60,0,77,42,60,0,78,42,60,0,79,42,60,0,80,42,60,0,81,42,60,0,82,42,60,0,83,42,60,0,84,42,60,0,85,42,60,0,86,42,60,0,87,42,60,0,88,42,60,0,89,42,60,0,90,42,60,0,91,42,60,0,92,42,60,0,93,42,60,0,94,42,60,0,95,42,60,0,96,42,60,0,97,42,60,0,98,42,60,0,99,42,60,0,100,42,60,0,101,42,60,0,102,42,60,0,103,42,60,0,104,42,60,0,105,42,60,0,106,42,60,0,107,42,60,0,108,42,60,0,109,42,60,0,110,42,60,0,111,42,60,0,112,42,60,0,113,42,60,0,114,42,60,0,115,42,60,0,119,42,60,0,120,42,60,0,121,42,60,0,122,42,60,0,123,42,60,0,124,42,60,0,125,42,60,0,126,42,60,0,127,42,60,0,128,42,60,0,129,42,60,0,130,42,60,0,131,42,60,0,132,42,60,0,133,42,60,0,134,42,60,0,135,42,60,0,136,42,60,0,137,42,60,0,138,42,60,0,139,42,60,0,140,42,60,0,141,42,60,0,142,42,60,0,143,42,60,0,144,42,60,0,145,42,60,0,146,42,60,0,147,42,60,0,148,42,60,0,149,42,60,0,150,42,60,0,151,42,60,0,152,42,60,0,153,42,60,0,154,42,60,0,155,42,60,0,156,42,60,0,157,42,60,0,158,42,60,0,159,42,60,0,160,42,60,0,161,42,60,0,162,42,60,0,163,42,60,0,164,42,60,0,165,42,60,0,166,42,60,0,167,42,60,0,168,42,60,0,169,42,60,0,170,42,60,0,171,42,60,0,172,42,60,0,173,42,60,0,174,42,60,0,175,42,60,0,176,42,60,0,177,42,60,0,178,42,60,0,179,42,60,0,180,42,60,0,181,42,60,0,182,42,60,0,183,42,60,0,184,42,60,0,185,42,60,0,186,42,60,0,187,42,60,0,188,42,60,0,189,42,60,0,190,42,60,0,191,42,60,0,192,42,60,0,193,42,60,0,194,42,60,0,195,42,60,0,196,42,60,0,197,42,60,0,198,42,60,0,199,42,60,0,200,42,60,0,201,42,60,0,202,42,60,0,203,42,60,0,204,42,60,0,205,42,60,0,206,42,60,0,207,42,60,0,208,42,60,0,209,42,60,0,210,42,60,0,211,42,60,0,212,42,60,0,213,42,60,0,214,42,60,0,215,42,60,0,216,42,60,0,217,42,60,0,218,42,60,0,219,42,60,0,221,42,60,0,222,42,60,0,223,42,60,0,224,42,60,0,225,42,60,0,226,42,60,0,227,42,60,0,228,42,60,0,229,42,60,0,230,42,60,0,231,42,60,0,232,42,60,0,233,42,60,0,234,42,60,0,235,42,60,0,236,42,60,0,237,42,60,0,238,42,60,0,239,42,60,0,240,42,60,0,241,42,60,0,242,42,60,0,243,42,60,0,244,42,60,0,245,42,60,0,246,42,60,0,247,42,60,0,248,42,60,0,249,42,60,0,250,42,60,0,251,42,60,0,252,42,60,0,253,42,60,0,254,42,60,0,255,42,60,0,0,43,60,0,1,43,60,0,2,43,60,0,3,43,60,0,4,43,60,0,5,43,60,0,6,43,60,0,7,43,60,0,8,43,60,0,9,43,60,0,10,43,60,0,11,43,60,0,12,43,60,0,13,43,60,0,14,43,60,0,15,43,60,0,16,43,60,0,17,43,60,0,18,43,60,0,19,43,60,0,20,43,60,0,21,43,60,0,22,43,60,0,23,43,60,0,24,43,60,0,25,43,60,0,26,43,60,0,27,43,60,0,28,43,60,0,29,43,60,0,30,43,60,0,31,43,60,0,32,43,60,0,33,43,60,0,34,43,60,0,35,43,60,0,36,43,60,0,37,43,60,0,38,43,60,0,39,43,60,0,40,43,60,0,41,43,60,0,42,43,60,0,43,43,60,0,44,43,60,0,45,43,60,0,46,43,60,0,47,43,60,0,48,43,60,0,49,43,60,0,50,43,60,0,51,43,60,0,52,43,60,0,53,43,60,0,54,43,60,0,55,43,60,0,56,43,60,0,57,43,60,0,58,43,60,0,59,43,60,0,60,43,60,0,61,43,60,0,62,43,60,0,63,43,60,0,64,43,60,0,65,43,60,0,66,43,60,0,67,43,60,0,68,43,60,0,69,43,60,0,70,43,60,0,71,43,60,0,72,43,60,0,73,43,60,0,74,43,60,0,75,43,60,0,76,43,60,0,77,43,60,0,78,43,60,0,79,43,60,0,80,43,60,0,81,43,60,0,82,43,60,0,83,43,60,0,84,43,60,0,85,43,60,0,86,43,60,0,87,43,60,0,88,43,60,0,89,43,60,0,90,43,60,0,91,43,60,0,92,43,60,0,93,43,60,0,94,43,60,0,95,43,60,0,96,43,60,0,97,43,60,0,98,43,60,0,99,43,60,0,100,43,60,0,101,43,60,0,102,43,60,0,103,43,60,0,104,43,60,0,105,43,60,0,106,43,60,0,107,43,60,0,108,43,60,0,109,43,60,0,110,43,60,0,111,43,60,0,112,43,60,0,113,43,60,0,114,43,60,0,115,43,60,0,118,43,60,0,119,43,60,0,120,43,60,0,121,43,60,0,122,43,60,0,123,43,60,0,124,43,60,0,125,43,60,0,126,43,60,0,127,43,60,0,128,43,60,0,129,43,60,0,130,43,60,0,131,43,60,0,132,43,60,0,133,43,60,0,134,43,60,0,135,43,60,0,136,43,60,0,137,43,60,0,138,43,60,0,139,43,60,0,140,43,60,0,141,43,60,0,142,43,60,0,143,43,60,0,144,43,60,0,145,43,60,0,146,43,60,0,147,43,60,0,148,43,60,0,149,43,60,0,151,43,60,0,152,43,60,0,153,43,60,0,154,43,60,0,155,43,60,0,156,43,60,0,157,43,60,0,158,43,60,0,159,43,60,0,160,43,60,0,161,43,60,0,162,43,60,0,163,43,60,0,164,43,60,0,165,43,60,0,166,43,60,0,167,43,60,0,168,43,60,0,169,43,60,0,170,43,60,0,171,43,60,0,172,43,60,0,173,43,60,0,174,43,60,0,175,43,60,0,176,43,60,0,177,43,60,0,178,43,60,0,179,43,60,0,180,43,60,0,181,43,60,0,182,43,60,0,183,43,60,0,184,43,60,0,185,43,60,0,186,43,60,0,187,43,60,0,188,43,60,0,189,43,60,0,190,43,60,0,191,43,60,0,192,43,60,0,193,43,60,0,194,43,60,0,195,43,60,0,196,43,60,0,197,43,60,0,198,43,60,0,199,43,60,0,200,43,60,0,201,43,60,0,202,43,60,0,203,43,60,0,204,43,60,0,205,43,60,0,206,43,60,0,207,43,60,0,208,43,60,0,209,43,60,0,210,43,60,0,211,43,60,0,212,43,60,0,213,43,60,0,214,43,60,0,215,43,60,0,216,43,60,0,217,43,60,0,218,43,60,0,219,43,60,0,220,43,60,0,221,43,60,0,222,43,60,0,223,43,60,0,224,43,60,0,225,43,60,0,226,43,60,0,227,43,60,0,228,43,60,0,229,43,60,0,230,43,60,0,231,43,60,0,232,43,60,0,233,43,60,0,234,43,60,0,235,43,60,0,236,43,60,0,237,43,60,0,238,43,60,0,239,43,60,0,240,43,60,0,241,43,60,0,242,43,60,0,243,43,60,0,244,43,60,0,245,43,60,0,246,43,60,0,247,43,60,0,248,43,60,0,249,43,60,0,250,43,60,0,251,43,60,0,252,43,60,0,253,43,60,0,254,43,60,0,255,43,60,0,229,44,60,0,230,44,60,0,231,44,60,0,232,44,60,0,233,44,60,0,234,44,60,0,0,40,60,0,1,40,60,0,2,40,60,0,3,40,60,0,4,40,60,0,5,40,60,0,6,40,60,0,7,40,60,0,8,40,60,0,9,40,60,0,10,40,60,0,11,40,60,0,12,40,60,0,13,40,60,0,14,40,60,0,15,40,60,0,16,40,60,0,17,40,60,0,18,40,60,0,19,40,60,0,20,40,60,0,21,40,60,0,22,40,60,0,23,40,60,0,24,40,60,0,25,40,60,0,26,40,60,0,27,40,60,0,28,40,60,0,29,40,60,0,30,40,60,0,31,40,60,0,32,40,60,0,33,40,60,0,34,40,60,0,35,40,60,0,36,40,60,0,37,40,60,0,38,40,60,0,39,40,60,0,40,40,60,0,41,40,60,0,42,40,60,0,43,40,60,0,44,40,60,0,45,40,60,0,46,40,60,0,47,40,60,0,48,40,60,0,49,40,60,0,50,40,60,0,51,40,60,0,52,40,60,0,53,40,60,0,54,40,60,0,55,40,60,0,56,40,60,0,57,40,60,0,58,40,60,0,59,40,60,0,60,40,60,0,61,40,60,0,62,40,60,0,63,40,60,0,64,40,60,0,65,40,60,0,66,40,60,0,67,40,60,0,68,40,60,0,69,40,60,0,70,40,60,0,71,40,60,0,72,40,60,0,73,40,60,0,74,40,60,0,75,40,60,0,76,40,60,0,77,40,60,0,78,40,60,0,79,40,60,0,80,40,60,0,81,40,60,0,82,40,60,0,83,40,60,0,84,40,60,0,85,40,60,0,86,40,60,0,87,40,60,0,88,40,60,0,89,40,60,0,90,40,60,0,91,40,60,0,92,40,60,0,93,40,60,0,94,40,60,0,95,40,60,0,96,40,60,0,97,40,60,0,98,40,60,0,99,40,60,0,100,40,60,0,101,40,60,0,102,40,60,0,103,40,60,0,104,40,60,0,105,40,60,0,106,40,60,0,107,40,60,0,108,40,60,0,109,40,60,0,110,40,60,0,111,40,60,0,112,40,60,0,113,40,60,0,114,40,60,0,115,40,60,0,116,40,60,0,117,40,60,0,118,40,60,0,119,40,60,0,120,40,60,0,121,40,60,0,122,40,60,0,123,40,60,0,124,40,60,0,125,40,60,0,126,40,60,0,127,40,60,0,128,40,60,0,129,40,60,0,130,40,60,0,131,40,60,0,132,40,60,0,133,40,60,0,134,40,60,0,135,40,60,0,136,40,60,0,137,40,60,0,138,40,60,0,139,40,60,0,140,40,60,0,141,40,60,0,142,40,60,0,143,40,60,0,144,40,60,0,145,40,60,0,146,40,60,0,147,40,60,0,148,40,60,0,149,40,60,0,150,40,60,0,151,40,60,0,152,40,60,0,153,40,60,0,154,40,60,0,155,40,60,0,156,40,60,0,157,40,60,0,158,40,60,0,159,40,60,0,160,40,60,0,161,40,60,0,162,40,60,0,163,40,60,0,164,40,60,0,165,40,60,0,166,40,60,0,167,40,60,0,168,40,60,0,169,40,60,0,170,40,60,0,171,40,60,0,172,40,60,0,173,40,60,0,174,40,60,0,175,40,60,0,176,40,60,0,177,40,60,0,178,40,60,0,179,40,60,0,180,40,60,0,181,40,60,0,182,40,60,0,183,40,60,0,184,40,60,0,185,40,60,0,186,40,60,0,187,40,60,0,188,40,60,0,189,40,60,0,190,40,60,0,191,40,60,0,192,40,60,0,193,40,60,0,194,40,60,0,195,40,60,0,196,40,60,0,197,40,60,0,198,40,60,0,199,40,60,0,200,40,60,0,201,40,60,0,202,40,60,0,203,40,60,0,204,40,60,0,205,40,60,0,206,40,60,0,207,40,60,0,208,40,60,0,209,40,60,0,210,40,60,0,211,40,60,0,212,40,60,0,213,40,60,0,214,40,60,0,215,40,60,0,216,40,60,0,217,40,60,0,218,40,60,0,219,40,60,0,220,40,60,0,221,40,60,0,222,40,60,0,223,40,60,0,224,40,60,0,225,40,60,0,226,40,60,0,227,40,60,0,228,40,60,0,229,40,60,0,230,40,60,0,231,40,60,0,232,40,60,0,233,40,60,0,234,40,60,0,235,40,60,0,236,40,60,0,237,40,60,0,238,40,60,0,239,40,60,0,240,40,60,0,241,40,60,0,242,40,60,0,243,40,60,0,244,40,60,0,245,40,60,0,246,40,60,0,247,40,60,0,248,40,60,0,249,40,60,0,250,40,60,0,251,40,60,0,252,40,60,0,253,40,60,0,254,40,60,0,255,40,60,0,138,38,60,0,139,38,60,0,140,38,60,0,141,38,60,0,142,38,60,0,143,38,60,0,48,38,60,0,49,38,60,0,50,38,60,0,51,38,60,0,52,38,60,0,53,38,60,0,54,38,60,0,55,38,60,0,192,77,60,0,193,77,60,0,194,77,60,0,195,77,60,0,196,77,60,0,197,77,60,0,198,77,60,0,199,77,60,0,200,77,60,0,201,77,60,0,202,77,60,0,203,77,60,0,204,77,60,0,205,77,60,0,206,77,60,0,207,77,60,0,208,77,60,0,209,77,60,0,210,77,60,0,211,77,60,0,212,77,60,0,213,77,60,0,214,77,60,0,215,77,60,0,216,77,60,0,217,77,60,0,218,77,60,0,219,77,60,0,220,77,60,0,221,77,60,0,222,77,60,0,223,77,60,0,224,77,60,0,225,77,60,0,226,77,60,0,227,77,60,0,228,77,60,0,229,77,60,0,230,77,60,0,231,77,60,0,232,77,60,0,233,77,60,0,234,77,60,0,235,77,60,0,236,77,60,0,237,77,60,0,238,77,60,0,239,77,60,0,240,77,60,0,241,77,60,0,242,77,60,0,243,77,60,0,244,77,60,0,245,77,60,0,246,77,60,0,247,77,60,0,248,77,60,0,249,77,60,0,250,77,60,0,251,77,60,0,252,77,60,0,253,77,60,0,254,77,60,0,255,77,60,0,52,216,0,223,60,0,52,216,1,223,60,0,52,216,2,223,60,0,52,216,3,223,60,0,52,216,4,223,60,0,52,216,5,223,60,0,52,216,6,223,60,0,52,216,7,223,60,0,52,216,8,223,60,0,52,216,9,223,60,0,52,216,10,223,60,0,52,216,11,223,60,0,52,216,12,223,60,0,52,216,13,223,60,0,52,216,14,223,60,0,52,216,15,223,60,0,52,216,16,223,60,0,52,216,17,223,60,0,52,216,18,223,60,0,52,216,19,223,60,0,52,216,20,223,60,0,52,216,21,223,60,0,52,216,22,223,60,0,52,216,23,223,60,0,52,216,24,223,60,0,52,216,25,223,60,0,52,216,26,223,60,0,52,216,27,223,60,0,52,216,28,223,60,0,52,216,29,223,60,0,52,216,30,223,60,0,52,216,31,223,60,0,52,216,32,223,60,0,52,216,33,223,60,0,52,216,34,223,60,0,52,216,35,223,60,0,52,216,36,223,60,0,52,216,37,223,60,0,52,216,38,223,60,0,52,216,39,223,60,0,52,216,40,223,60,0,52,216,41,223,60,0,52,216,42,223,60,0,52,216,43,223,60,0,52,216,44,223,60,0,52,216,45,223,60,0,52,216,46,223,60,0,52,216,47,223,60,0,52,216,48,223,60,0,52,216,49,223,60,0,52,216,50,223,60,0,52,216,51,223,60,0,52,216,52,223,60,0,52,216,53,223,60,0,52,216,54,223,60,0,52,216,55,223,60,0,52,216,56,223,60,0,52,216,57,223,60,0,52,216,58,223,60,0,52,216,59,223,60,0,52,216,60,223,60,0,52,216,61,223,60,0,52,216,62,223,60,0,52,216,63,223,60,0,52,216,64,223,60,0,52,216,65,223,60,0,52,216,66,223,60,0,52,216,67,223,60,0,52,216,68,223,60,0,52,216,69,223,60,0,52,216,70,223,60,0,52,216,71,223,60,0,52,216,72,223,60,0,52,216,73,223,60,0,52,216,74,223,60,0,52,216,75,223,60,0,52,216,76,223,60,0,52,216,77,223,60,0,52,216,78,223,60,0,52,216,79,223,60,0,52,216,80,223,60,0,52,216,81,223,60,0,52,216,82,223,60,0,52,216,83,223,60,0,52,216,84,223,60,0,52,216,85,223,60,0,52,216,86,223,60,0,144,164,60,0,145,164,60,0,146,164,60,0,147,164,60,0,148,164,60,0,149,164,60,0,150,164,60,0,151,164,60,0,152,164,60,0,153,164,60,0,154,164,60,0,155,164,60,0,156,164,60,0,157,164,60,0,158,164,60,0,159,164,60,0,160,164,60,0,161,164,60,0,162,164,60,0,163,164,60,0,164,164,60,0,165,164,60,0,166,164,60,0,167,164,60,0,168,164,60,0,169,164,60,0,170,164,60,0,171,164,60,0,172,164,60,0,173,164,60,0,174,164,60,0,175,164,60,0,176,164,60,0,177,164,60,0,178,164,60,0,179,164,60,0,180,164,60,0,181,164,60,0,182,164,60,0,183,164,60,0,184,164,60,0,185,164,60,0,186,164,60,0,187,164,60,0,188,164,60,0,189,164,60,0,190,164,60,0,191,164,60,0,192,164,60,0,193,164,60,0,194,164,60,0,195,164,60,0,196,164,60,0,197,164,60,0,198,164,60,0,0,216,55,221,60,0,0,216,56,221,60,0,0,216,57,221,60,0,0,216,58,221,60,0,0,216,59,221,60,0,0,216,60,221,60,0,0,216,61,221,60,0,0,216,62,221,60,0,0,216,63,221,60,0,0,216,121,221,60,0,0,216,122,221,60,0,0,216,123,221,60,0,0,216,124,221,60,0,0,216,125,221,60,0,0,216,126,221,60,0,0,216,127,221,60,0,0,216,128,221,60,0,0,216,129,221,60,0,0,216,130,221,60,0,0,216,131,221,60,0,0,216,132,221,60,0,0,216,133,221,60,0,0,216,134,221,60,0,0,216,135,221,60,0,0,216,136,221,60,0,0,216,137,221,60,0,0,216,140,221,60,0,0,216,141,221,60,0,0,216,142,221,60,0,0,216,144,221,60,0,0,216,145,221,60,0,0,216,146,221,60,0,0,216,147,221,60,0,0,216,148,221,60,0,0,216,149,221,60,0,0,216,150,221,60,0,0,216,151,221,60,0,0,216,152,221,60,0,0,216,153,221,60,0,0,216,154,221,60,0,0,216,155,221,60,0,0,216,156,221,60,0,0,216,160,221,60,0,0,216,208,221,60,0,0,216,209,221,60,0,0,216,210,221,60,0,0,216,211,221,60,0,0,216,212,221,60,0,0,216,213,221,60,0,0,216,214,221,60,0,0,216,215,221,60,0,0,216,216,221,60,0,0,216,217,221,60,0,0,216,218,221,60,0,0,216,219,221,60,0,0,216,220,221,60,0,0,216,221,221,60,0,0,216,222,221,60,0,0,216,223,221,60,0,0,216,224,221,60,0,0,216,225,221,60,0,0,216,226,221,60,0,0,216,227,221,60,0,0,216,228,221,60,0,0,216,229,221,60,0,0,216,230,221,60,0,0,216,231,221,60,0,0,216,232,221,60,0,0,216,233,221,60,0,0,216,234,221,60,0,0,216,235,221,60,0,0,216,236,221,60,0,0,216,237,221,60,0,0,216,238,221,60,0,0,216,239,221,60,0,0,216,240,221,60,0,0,216,241,221,60,0,0,216,242,221,60,0,0,216,243,221,60,0,0,216,244,221,60,0,0,216,245,221,60,0,0,216,246,221,60,0,0,216,247,221,60,0,0,216,248,221,60,0,0,216,249,221,60,0,0,216,250,221,60,0,0,216,251,221,60,0,0,216,252,221,60,0,14,32,2,216,119,220,14,32,60,0,14,32,2,216,120,220,14,32,60,0,26,216,60,223,60,0,26,216,61,223,60,0,26,216,62,223,60,0,26,216,63,223,60,0,26,216,69,223,60,0,56,216,79,221,60,0,51,216,80,223,60,0,51,216,81,223,60,0,51,216,82,223,60,0,51,216,83,223,60,0,51,216,84,223,60,0,51,216,85,223,60,0,51,216,86,223,60,0,51,216,87,223,60,0,51,216,88,223,60,0,51,216,89,223,60,0,51,216,90,223,60,0,51,216,91,223,60,0,51,216,92,223,60,0,51,216,93,223,60,0,51,216,94,223,60,0,51,216,95,223,60,0,51,216,96,223,60,0,51,216,97,223,60,0,51,216,98,223,60,0,51,216,99,223,60,0,51,216,100,223,60,0,51,216,101,223,60,0,51,216,102,223,60,0,51,216,103,223,60,0,51,216,104,223,60,0,51,216,105,223,60,0,51,216,106,223,60,0,51,216,107,223,60,0,51,216,108,223,60,0,51,216,109,223,60,0,51,216,110,223,60,0,51,216,111,223,60,0,51,216,112,223,60,0,51,216,113,223,60,0,51,216,114,223,60,0,51,216,115,223,60,0,51,216,116,223,60,0,51,216,117,223,60,0,51,216,118,223,60,0,51,216,119,223,60,0,51,216,120,223,60,0,51,216,121,223,60,0,51,216,122,223,60,0,51,216,123,223,60,0,51,216,124,223,60,0,51,216,125,223,60,0,51,216,126,223,60,0,51,216,127,223,60,0,51,216,128,223,60,0,51,216,129,223,60,0,51,216,130,223,60,0,51,216,131,223,60,0,51,216,132,223,60,0,51,216,133,223,60,0,51,216,134,223,60,0,51,216,135,223,60,0,51,216,136,223,60,0,51,216,137,223,60,0,51,216,138,223,60,0,51,216,139,223,60,0,51,216,140,223,60,0,51,216,141,223,60,0,51,216,142,223,60,0,51,216,143,223,60,0,51,216,144,223,60,0,51,216,145,223,60,0,51,216,146,223,60,0,51,216,147,223,60,0,51,216,148,223,60,0,51,216,149,223,60,0,51,216,150,223,60,0,51,216,151,223,60,0,51,216,152,223,60,0,51,216,153,223,60,0,51,216,154,223,60,0,51,216,155,223,60,0,51,216,156,223,60,0,51,216,157,223,60,0,51,216,158,223,60,0,51,216,159,223,60,0,51,216,160,223,60,0,51,216,161,223,60,0,51,216,162,223,60,0,51,216,163,223,60,0,51,216,164,223,60,0,51,216,165,223,60,0,51,216,166,223,60,0,51,216,167,223,60,0,51,216,168,223,60,0,51,216,169,223,60,0,51,216,170,223,60,0,51,216,171,223,60,0,51,216,172,223,60,0,51,216,173,223,60,0,51,216,174,223,60,0,51,216,175,223,60,0,51,216,176,223,60,0,51,216,177,223,60,0,51,216,178,223,60,0,51,216,179,223,60,0,51,216,180,223,60,0,51,216,181,223,60,0,51,216,182,223,60,0,51,216,183,223,60,0,51,216,184,223,60,0,51,216,185,223,60,0,51,216,186,223,60,0,51,216,187,223,60,0,51,216,188,223,60,0,51,216,189,223,60,0,51,216,190,223,60,0,51,216,191,223,60,0,51,216,192,223,60,0,51,216,193,223,60,0,51,216,194,223,60,0,51,216,195,223,60,0,52,216,0,220,60,0,52,216,1,220,60,0,52,216,2,220,60,0,52,216,3,220,60,0,52,216,4,220,60,0,52,216,5,220,60,0,52,216,6,220,60,0,52,216,7,220,60,0,52,216,8,220,60,0,52,216,9,220,60,0,52,216,10,220,60,0,52,216,11,220,60,0,52,216,12,220,60,0,52,216,13,220,60,0,52,216,14,220,60,0,52,216,15,220,60,0,52,216,16,220,60,0,52,216,17,220,60,0,52,216,18,220,60,0,52,216,19,220,60,0,52,216,20,220,60,0,52,216,21,220,60,0,52,216,22,220,60,0,52,216,23,220,60,0,52,216,24,220,60,0,52,216,25,220,60,0,52,216,26,220,60,0,52,216,27,220,60,0,52,216,28,220,60,0,52,216,29,220,60,0,52,216,30,220,60,0,52,216,31,220,60,0,52,216,32,220,60,0,52,216,33,220,60,0,52,216,34,220,60,0,52,216,35,220,60,0,52,216,36,220,60,0,52,216,37,220,60,0,52,216,38,220,60,0,52,216,39,220,60,0,52,216,40,220,60,0,52,216,41,220,60,0,52,216,42,220,60,0,52,216,43,220,60,0,52,216,44,220,60,0,52,216,45,220,60,0,52,216,46,220,60,0,52,216,47,220,60,0,52,216,48,220,60,0,52,216,49,220,60,0,52,216,50,220,60,0,52,216,51,220,60,0,52,216,52,220,60,0,52,216,53,220,60,0,52,216,54,220,60,0,52,216,55,220,60,0,52,216,56,220,60,0,52,216,57,220,60,0,52,216,58,220,60,0,52,216,59,220,60,0,52,216,60,220,60,0,52,216,61,220,60,0,52,216,62,220,60,0,52,216,63,220,60,0,52,216,64,220,60,0,52,216,65,220,60,0,52,216,66,220,60,0,52,216,67,220,60,0,52,216,68,220,60,0,52,216,69,220,60,0,52,216,70,220,60,0,52,216,71,220,60,0,52,216,72,220,60,0,52,216,73,220,60,0,52,216,74,220,60,0,52,216,75,220,60,0,52,216,76,220,60,0,52,216,77,220,60,0,52,216,78,220,60,0,52,216,79,220,60,0,52,216,80,220,60,0,52,216,81,220,60,0,52,216,82,220,60,0,52,216,83,220,60,0,52,216,84,220,60,0,52,216,85,220,60,0,52,216,86,220,60,0,52,216,87,220,60,0,52,216,88,220,60,0,52,216,89,220,60,0,52,216,90,220,60,0,52,216,91,220,60,0,52,216,92,220,60,0,52,216,93,220,60,0,52,216,94,220,60,0,52,216,95,220,60,0,52,216,96,220,60,0,52,216,97,220,60,0,52,216,98,220,60,0,52,216,99,220,60,0,52,216,100,220,60,0,52,216,101,220,60,0,52,216,102,220,60,0,52,216,103,220,60,0,52,216,104,220,60,0,52,216,105,220,60,0,52,216,106,220,60,0,52,216,107,220,60,0,52,216,108,220,60,0,52,216,109,220,60,0,52,216,110,220,60,0,52,216,111,220,60,0,52,216,112,220,60,0,52,216,113,220,60,0,52,216,114,220,60,0,52,216,115,220,60,0,52,216,116,220,60,0,52,216,117,220,60,0,52,216,118,220,60,0,52,216,119,220,60,0,52,216,120,220,60,0,52,216,121,220,60,0,52,216,122,220,60,0,52,216,123,220,60,0,52,216,124,220,60,0,52,216,125,220,60,0,52,216,126,220,60,0,52,216,127,220,60,0,52,216,128,220,60,0,52,216,129,220,60,0,52,216,130,220,60,0,52,216,131,220,60,0,52,216,132,220,60,0,52,216,133,220,60,0,52,216,134,220,60,0,52,216,135,220,60,0,52,216,136,220,60,0,52,216,137,220,60,0,52,216,138,220,60,0,52,216,139,220,60,0,52,216,140,220,60,0,52,216,141,220,60,0,52,216,142,220,60,0,52,216,143,220,60,0,52,216,144,220,60,0,52,216,145,220,60,0,52,216,146,220,60,0,52,216,147,220,60,0,52,216,148,220,60,0,52,216,149,220,60,0,52,216,150,220,60,0,52,216,151,220,60,0,52,216,152,220,60,0,52,216,153,220,60,0,52,216,154,220,60,0,52,216,155,220,60,0,52,216,156,220,60,0,52,216,157,220,60,0,52,216,158,220,60,0,52,216,159,220,60,0,52,216,160,220,60,0,52,216,161,220,60,0,52,216,162,220,60,0,52,216,163,220,60,0,52,216,164,220,60,0,52,216,165,220,60,0,52,216,166,220,60,0,52,216,167,220,60,0,52,216,168,220,60,0,52,216,169,220,60,0,52,216,170,220,60,0,52,216,171,220,60,0,52,216,172,220,60,0,52,216,173,220,60,0,52,216,174,220,60,0,52,216,175,220,60,0,52,216,176,220,60,0,52,216,177,220,60,0,52,216,178,220,60,0,52,216,179,220,60,0,52,216,180,220,60,0,52,216,181,220,60,0,52,216,182,220,60,0,52,216,183,220,60,0,52,216,184,220,60,0,52,216,185,220,60,0,52,216,186,220,60,0,52,216,187,220,60,0,52,216,188,220,60,0,52,216,189,220,60,0,52,216,190,220,60,0,52,216,191,220,60,0,52,216,192,220,60,0,52,216,193,220,60,0,52,216,194,220,60,0,52,216,195,220,60,0,52,216,196,220,60,0,52,216,197,220,60,0,52,216,198,220,60,0,52,216,199,220,60,0,52,216,200,220,60,0,52,216,201,220,60,0,52,216,202,220,60,0,52,216,203,220,60,0,52,216,204,220,60,0,52,216,205,220,60,0,52,216,206,220,60,0,52,216,207,220,60,0,52,216,208,220,60,0,52,216,209,220,60,0,52,216,210,220,60,0,52,216,211,220,60,0,52,216,212,220,60,0,52,216,213,220,60,0,52,216,214,220,60,0,52,216,215,220,60,0,52,216,216,220,60,0,52,216,217,220,60,0,52,216,218,220,60,0,52,216,219,220,60,0,52,216,220,220,60,0,52,216,221,220,60,0,52,216,222,220,60,0,52,216,223,220,60,0,52,216,224,220,60,0,52,216,225,220,60,0,52,216,226,220,60,0,52,216,227,220,60,0,52,216,228,220,60,0,52,216,229,220,60,0,52,216,230,220,60,0,52,216,231,220,60,0,52,216,232,220,60,0,52,216,233,220,60,0,52,216,234,220,60,0,52,216,235,220,60,0,52,216,236,220,60,0,52,216,237,220,60,0,52,216,238,220,60,0,52,216,239,220,60,0,52,216,240,220,60,0,52,216,241,220,60,0,52,216,242,220,60,0,52,216,243,220,60,0,52,216,244,220,60,0,52,216,245,220,60,0,52,216,0,221,60,0,52,216,1,221,60,0,52,216,2,221,60,0,52,216,3,221,60,0,52,216,4,221,60,0,52,216,5,221,60,0,52,216,6,221,60,0,52,216,7,221,60,0,52,216,8,221,60,0,52,216,9,221,60,0,52,216,10,221,60,0,52,216,11,221,60,0,52,216,12,221,60,0,52,216,13,221,60,0,52,216,14,221,60,0,52,216,15,221,60,0,52,216,16,221,60,0,52,216,17,221,60,0,52,216,18,221,60,0,52,216,19,221,60,0,52,216,20,221,60,0,52,216,21,221,60,0,52,216,22,221,60,0,52,216,23,221,60,0,52,216,24,221,60,0,52,216,25,221,60,0,52,216,26,221,60,0,52,216,27,221,60,0,52,216,28,221,60,0,52,216,29,221,60,0,52,216,30,221,60,0,52,216,31,221,60,0,52,216,32,221,60,0,52,216,33,221,60,0,52,216,34,221,60,0,52,216,35,221,60,0,52,216,36,221,60,0,52,216,37,221,60,0,52,216,38,221,60,0,109,38,60,0,110,38,60,0,111,38,60,0,52,216,42,221,60,0,52,216,43,221,60,0,52,216,44,221,60,0,52,216,45,221,60,0,52,216,46,221,60,0,52,216,47,221,60,0,52,216,48,221,60,0,52,216,49,221,60,0,52,216,50,221,60,0,52,216,51,221,60,0,52,216,52,221,60,0,52,216,53,221,60,0,52,216,54,221,60,0,52,216,55,221,60,0,52,216,56,221,60,0,52,216,57,221,60,0,52,216,41,221,60,0,52,216,58,221,60,0,52,216,59,221,60,0,52,216,60,221,60,0,52,216,61,221,60,0,52,216,62,221,60,0,52,216,63,221,60,0,52,216,64,221,60,0,52,216,65,221,60,0,52,216,66,221,60,0,52,216,67,221,60,0,52,216,68,221,60,0,52,216,69,221,60,0,52,216,70,221,60,0,52,216,71,221,60,0,52,216,72,221,60,0,52,216,73,221,60,0,52,216,74,221,60,0,52,216,75,221,60,0,52,216,76,221,60,0,52,216,77,221,60,0,52,216,78,221,60,0,52,216,79,221,60,0,52,216,80,221,60,0,52,216,81,221,60,0,52,216,82,221,60,0,52,216,83,221,60,0,52,216,84,221,60,0,52,216,85,221,60,0,52,216,86,221,60,0,52,216,87,221,60,0,52,216,88,221,60,0,52,216,89,221,60,0,52,216,90,221,60,0,52,216,91,221,60,0,52,216,92,221,60,0,52,216,93,221,60,0,52,216,106,221,60,0,52,216,107,221,60,0,52,216,108,221,60,0,52,216,131,221,60,0,52,216,132,221,60,0,52,216,140,221,60,0,52,216,141,221,60,0,52,216,142,221,60,0,52,216,143,221,60,0,52,216,144,221,60,0,52,216,145,221,60,0,52,216,146,221,60,0,52,216,147,221,60,0,52,216,148,221,60,0,52,216,149,221,60,0,52,216,150,221,60,0,52,216,151,221,60,0,52,216,152,221,60,0,52,216,153,221,60,0,52,216,154,221,60,0,52,216,155,221,60,0,52,216,156,221,60,0,52,216,157,221,60,0,52,216,158,221,60,0,52,216,159,221,60,0,52,216,160,221,60,0,52,216,161,221,60,0,52,216,162,221,60,0,52,216,163,221,60,0,52,216,164,221,60,0,52,216,165,221,60,0,52,216,166,221,60,0,52,216,167,221,60,0,52,216,168,221,60,0,52,216,169,221,60,0,52,216,174,221,60,0,52,216,175,221,60,0,52,216,176,221,60,0,52,216,177,221,60,0,52,216,178,221,60,0,52,216,179,221,60,0,52,216,180,221,60,0,52,216,181,221,60,0,52,216,182,221,60,0,52,216,183,221,60,0,52,216,184,221,60,0,52,216,185,221,60,0,52,216,186,221,60,0,52,216,193,221,60,0,52,216,194,221,60,0,52,216,195,221,60,0,52,216,196,221,60,0,52,216,197,221,60,0,52,216,198,221,60,0,52,216,199,221,60,0,52,216,200,221,60,0,52,216,201,221,60,0,52,216,202,221,60,0,52,216,203,221,60,0,52,216,204,221,60,0,52,216,205,221,60,0,52,216,206,221,60,0,52,216,207,221,60,0,52,216,208,221,60,0,52,216,209,221,60,0,52,216,210,221,60,0,52,216,211,221,60,0,52,216,212,221,60,0,52,216,213,221,60,0,52,216,214,221,60,0,52,216,215,221,60,0,52,216,216,221,60,0,52,216,217,221,60,0,52,216,218,221,60,0,52,216,219,221,60,0,52,216,220,221,60,0,52,216,221,221,60,0,52,216,222,221,60,0,52,216,223,221,60,0,52,216,224,221,60,0,52,216,225,221,60,0,52,216,226,221,60,0,52,216,227,221,60,0,52,216,228,221,60,0,52,216,229,221,60,0,52,216,230,221,60,0,52,216,231,221,60,0,52,216,232,221,60,0,52,216,233,221,60,0,52,216,234,221,60,0,52,216,0,222,60,0,52,216,1,222,60,0,52,216,2,222,60,0,52,216,3,222,60,0,52,216,4,222,60,0,52,216,5,222,60,0,52,216,6,222,60,0,52,216,7,222,60,0,52,216,8,222,60,0,52,216,9,222,60,0,52,216,10,222,60,0,52,216,11,222,60,0,52,216,12,222,60,0,52,216,13,222,60,0,52,216,14,222,60,0,52,216,15,222,60,0,52,216,16,222,60,0,52,216,17,222,60,0,52,216,18,222,60,0,52,216,19,222,60,0,52,216,20,222,60,0,52,216,21,222,60,0,52,216,22,222,60,0,52,216,23,222,60,0,52,216,24,222,60,0,52,216,25,222,60,0,52,216,26,222,60,0,52,216,27,222,60,0,52,216,28,222,60,0,52,216,29,222,60,0,52,216,30,222,60,0,52,216,31,222,60,0,52,216,32,222,60,0,52,216,33,222,60,0,52,216,34,222,60,0,52,216,35,222,60,0,52,216,36,222,60,0,52,216,37,222,60,0,52,216,38,222,60,0,52,216,39,222,60,0,52,216,40,222,60,0,52,216,41,222,60,0,52,216,42,222,60,0,52,216,43,222,60,0,52,216,44,222,60,0,52,216,45,222,60,0,52,216,46,222,60,0,52,216,47,222,60,0,52,216,48,222,60,0,52,216,49,222,60,0,52,216,50,222,60,0,52,216,51,222,60,0,52,216,52,222,60,0,52,216,53,222,60,0,52,216,54,222,60,0,52,216,55,222,60,0,52,216,56,222,60,0,52,216,57,222,60,0,52,216,58,222,60,0,52,216,59,222,60,0,52,216,60,222,60,0,52,216,61,222,60,0,52,216,62,222,60,0,52,216,63,222,60,0,52,216,64,222,60,0,52,216,65,222,60,0,52,216,69,222,60,0,47,216,156,220,60,0,14,32,59,216,172,220,14,32,60,0,14,32,59,216,46,221,14,32,60,0,60,216,0,220,60,0,60,216,1,220,60,0,60,216,2,220,60,0,60,216,3,220,60,0,60,216,4,220,60,0,60,216,5,220,60,0,60,216,6,220,60,0,60,216,7,220,60,0,60,216,8,220,60,0,60,216,9,220,60,0,60,216,10,220,60,0,60,216,11,220,60,0,60,216,12,220,60,0,60,216,13,220,60,0,60,216,14,220,60,0,60,216,15,220,60,0,60,216,16,220,60,0,60,216,17,220,60,0,60,216,18,220,60,0,60,216,19,220,60,0,60,216,20,220,60,0,60,216,21,220,60,0,60,216,22,220,60,0,60,216,23,220,60,0,60,216,24,220,60,0,60,216,25,220,60,0,60,216,26,220,60,0,60,216,27,220,60,0,60,216,28,220,60,0,60,216,29,220,60,0,60,216,30,220,60,0,60,216,31,220,60,0,60,216,32,220,60,0,60,216,33,220,60,0,60,216,34,220,60,0,60,216,35,220,60,0,60,216,36,220,60,0,60,216,37,220,60,0,60,216,38,220,60,0,60,216,39,220,60,0,60,216,40,220,60,0,60,216,41,220,60,0,60,216,42,220,60,0,60,216,43,220,60,0,60,216,48,220,60,0,60,216,49,220,60,0,60,216,50,220,60,0,60,216,51,220,60,0,60,216,52,220,60,0,60,216,53,220,60,0,60,216,54,220,60,0,60,216,55,220,60,0,60,216,56,220,60,0,60,216,57,220,60,0,60,216,58,220,60,0,60,216,59,220,60,0,60,216,60,220,60,0,60,216,61,220,60,0,60,216,62,220,60,0,60,216,63,220,60,0,60,216,64,220,60,0,60,216,65,220,60,0,60,216,66,220,60,0,60,216,67,220,60,0,60,216,68,220,60,0,60,216,69,220,60,0,60,216,70,220,60,0,60,216,71,220,60,0,60,216,72,220,60,0,60,216,73,220,60,0,60,216,74,220,60,0,60,216,75,220,60,0,60,216,76,220,60,0,60,216,77,220,60,0,60,216,78,220,60,0,60,216,79,220,60,0,60,216,80,220,60,0,60,216,81,220,60,0,60,216,82,220,60,0,60,216,83,220,60,0,60,216,84,220,60,0,60,216,85,220,60,0,60,216,86,220,60,0,60,216,87,220,60,0,60,216,88,220,60,0,60,216,89,220,60,0,60,216,90,220,60,0,60,216,91,220,60,0,60,216,92,220,60,0,60,216,93,220,60,0,60,216,94,220,60,0,60,216,95,220,60,0,60,216,96,220,60,0,60,216,97,220,60,0,60,216,98,220,60,0,60,216,99,220,60,0,60,216,100,220,60,0,60,216,101,220,60,0,60,216,102,220,60,0,60,216,103,220,60,0,60,216,104,220,60,0,60,216,105,220,60,0,60,216,106,220,60,0,60,216,107,220,60,0,60,216,108,220,60,0,60,216,109,220,60,0,60,216,110,220,60,0,60,216,111,220,60,0,60,216,112,220,60,0,60,216,113,220,60,0,60,216,114,220,60,0,60,216,115,220,60,0,60,216,116,220,60,0,60,216,117,220,60,0,60,216,118,220,60,0,60,216,119,220,60,0,60,216,120,220,60,0,60,216,121,220,60,0,60,216,122,220,60,0,60,216,123,220,60,0,60,216,124,220,60,0,60,216,125,220,60,0,60,216,126,220,60,0,60,216,127,220,60,0,60,216,128,220,60,0,60,216,129,220,60,0,60,216,130,220,60,0,60,216,131,220,60,0,60,216,132,220,60,0,60,216,133,220,60,0,60,216,134,220,60,0,60,216,135,220,60,0,60,216,136,220,60,0,60,216,137,220,60,0,60,216,138,220,60,0,60,216,139,220,60,0,60,216,140,220,60,0,60,216,141,220,60,0,60,216,142,220,60,0,60,216,143,220,60,0,60,216,144,220,60,0,60,216,145,220,60,0,60,216,146,220,60,0,60,216,147,220,60,0,60,216,160,220,60,0,60,216,161,220,60,0,60,216,162,220,60,0,60,216,163,220,60,0,60,216,164,220,60,0,60,216,165,220,60,0,60,216,166,220,60,0,60,216,167,220,60,0,60,216,168,220,60,0,60,216,169,220,60,0,60,216,170,220,60,0,60,216,171,220,60,0,60,216,172,220,60,0,60,216,173,220,60,0,60,216,174,220,60,0,60,216,177,220,60,0,60,216,178,220,60,0,60,216,179,220,60,0,60,216,180,220,60,0,60,216,181,220,60,0,60,216,182,220,60,0,60,216,183,220,60,0,60,216,184,220,60,0,60,216,185,220,60,0,60,216,186,220,60,0,60,216,187,220,60,0,60,216,188,220,60,0,60,216,189,220,60,0,60,216,190,220,60,0,60,216,191,220,60,0,60,216,193,220,60,0,60,216,194,220,60,0,60,216,195,220,60,0,60,216,196,220,60,0,60,216,197,220,60,0,60,216,198,220,60,0,60,216,199,220,60,0,60,216,200,220,60,0,60,216,201,220,60,0,60,216,202,220,60,0,60,216,203,220,60,0,60,216,204,220,60,0,60,216,205,220,60,0,60,216,206,220,60,0,60,216,207,220,60,0,60,216,209,220,60,0,60,216,210,220,60,0,60,216,211,220,60,0,60,216,212,220,60,0,60,216,213,220,60,0,60,216,214,220,60,0,60,216,215,220,60,0,60,216,216,220,60,0,60,216,217,220,60,0,60,216,218,220,60,0,60,216,219,220,60,0,60,216,220,220,60,0,60,216,221,220,60,0,60,216,222,220,60,0,60,216,223,220,60,0,60,216,224,220,60,0,60,216,225,220,60,0,60,216,226,220,60,0,60,216,227,220,60,0,60,216,228,220,60,0,60,216,229,220,60,0,60,216,230,220,60,0,60,216,231,220,60,0,60,216,232,220,60,0,60,216,233,220,60,0,60,216,234,220,60,0,60,216,235,220,60,0,60,216,236,220,60,0,60,216,237,220,60,0,60,216,238,220,60,0,60,216,239,220,60,0,60,216,240,220,60,0,60,216,241,220,60,0,60,216,242,220,60,0,60,216,243,220,60,0,60,216,244,220,60,0,60,216,245,220,60,0,62,216,0,222,60,0,62,216,1,222,60,0,62,216,2,222,60,0,62,216,3,222,60,0,62,216,4,222,60,0,62,216,5,222,60,0,62,216,6,222,60,0,62,216,7,222,60,0,62,216,8,222,60,0,62,216,9,222,60,0,62,216,10,222,60,0,62,216,11,222,60,0,62,216,12,222,60,0,62,216,13,222,60,0,62,216,14,222,60,0,62,216,15,222,60,0,62,216,16,222,60,0,62,216,17,222,60,0,62,216,18,222,60,0,62,216,19,222,60,0,62,216,20,222,60,0,62,216,21,222,60,0,62,216,22,222,60,0,62,216,23,222,60,0,62,216,24,222,60,0,62,216,25,222,60,0,62,216,26,222,60,0,62,216,27,222,60,0,62,216,28,222,60,0,62,216,29,222,60,0,62,216,30,222,60,0,62,216,31,222,60,0,62,216,32,222,60,0,62,216,33,222,60,0,62,216,34,222,60,0,62,216,35,222,60,0,62,216,36,222,60,0,62,216,37,222,60,0,62,216,38,222,60,0,62,216,39,222,60,0,62,216,40,222,60,0,62,216,41,222,60,0,62,216,42,222,60,0,62,216,43,222,60,0,62,216,44,222,60,0,62,216,45,222,60,0,62,216,46,222,60,0,62,216,47,222,60,0,62,216,48,222,60,0,62,216,49,222,60,0,62,216,50,222,60,0,62,216,51,222,60,0,62,216,52,222,60,0,62,216,53,222,60,0,62,216,54,222,60,0,62,216,55,222,60,0,62,216,56,222,60,0,62,216,57,222,60,0,62,216,58,222,60,0,62,216,59,222,60,0,62,216,60,222,60,0,62,216,61,222,60,0,62,216,62,222,60,0,62,216,63,222,60,0,62,216,64,222,60,0,62,216,65,222,60,0,62,216,66,222,60,0,62,216,67,222,60,0,62,216,68,222,60,0,62,216,69,222,60,0,62,216,70,222,60,0,62,216,71,222,60,0,62,216,72,222,60,0,62,216,73,222,60,0,62,216,74,222,60,0,62,216,75,222,60,0,62,216,76,222,60,0,62,216,77,222,60,0,62,216,78,222,60,0,62,216,79,222,60,0,62,216,80,222,60,0,62,216,81,222,60,0,62,216,82,222,60,0,62,216,83,222,60,0,62,216,96,222,60,0,62,216,97,222,60,0,62,216,98,222,60,0,62,216,99,222,60,0,62,216,100,222,60,0,62,216,101,222,60,0,62,216,102,222,60,0,62,216,103,222,60,0,62,216,104,222,60,0,62,216,105,222,60,0,62,216,106,222,60,0,62,216,107,222,60,0,62,216,108,222,60,0,62,216,109,222,60,0,60,216,13,221,60,0,60,216,14,221,60,0,60,216,15,221,60,0,60,216,109,221,60,0,60,216,110,221,60,0,60,216,111,221,60,0,60,216,96,222,60,0,60,216,97,222,60,0,60,216,98,222,60,0,60,216,99,222,60,0,60,216,100,222,60,0,60,216,101,222,60,0,60,216,0,223,60,0,60,216,1,223,60,0,60,216,2,223,60,0,60,216,3,223,60,0,60,216,4,223,60,0,60,216,5,223,60,0,60,216,6,223,60,0,60,216,7,223,60,0,60,216,8,223,60,0,60,216,9,223,60,0,60,216,10,223,60,0,60,216,11,223,60,0,60,216,12,223,60,0,60,216,13,223,60,0,60,216,14,223,60,0,60,216,15,223,60,0,60,216,16,223,60,0,60,216,17,223,60,0,60,216,18,223,60,0,60,216,19,223,60,0,60,216,20,223,60,0,60,216,21,223,60,0,60,216,22,223,60,0,60,216,23,223,60,0,60,216,24,223,60,0,60,216,25,223,60,0,60,216,26,223,60,0,60,216,27,223,60,0,60,216,28,223,60,0,60,216,29,223,60,0,60,216,30,223,60,0,60,216,31,223,60,0,60,216,32,223,60,0,60,216,33,223,60,0,60,216,34,223,60,0,60,216,35,223,60,0,60,216,36,223,60,0,60,216,37,223,60,0,60,216,38,223,60,0,60,216,39,223,60,0,60,216,40,223,60,0,60,216,41,223,60,0,60,216,42,223,60,0,60,216,43,223,60,0,60,216,44,223,60,0,60,216,45,223,60,0,60,216,46,223,60,0,60,216,47,223,60,0,60,216,48,223,60,0,60,216,49,223,60,0,60,216,50,223,60,0,60,216,51,223,60,0,60,216,52,223,60,0,60,216,53,223,60,0,60,216,54,223,60,0,60,216,55,223,60,0,60,216,56,223,60,0,60,216,57,223,60,0,60,216,58,223,60,0,60,216,59,223,60,0,60,216,60,223,60,0,60,216,61,223,60,0,60,216,62,223,60,0,60,216,63,223,60,0,60,216,64,223,60,0,60,216,65,223,60,0,60,216,66,223,60,0,60,216,67,223,60,0,60,216,68,223,60,0,60,216,69,223,60,0,60,216,70,223,60,0,60,216,71,223,60,0,60,216,72,223,60,0,60,216,73,223,60,0,60,216,74,223,60,0,60,216,75,223,60,0,60,216,76,223,60,0,60,216,77,223,60,0,60,216,78,223,60,0,60,216,79,223,60,0,60,216,80,223,60,0,60,216,81,223,60,0,60,216,82,223,60,0,60,216,83,223,60,0,60,216,84,223,60,0,60,216,85,223,60,0,60,216,86,223,60,0,60,216,87,223,60,0,60,216,88,223,60,0,60,216,89,223,60,0,60,216,90,223,60,0,60,216,91,223,60,0,60,216,92,223,60,0,60,216,93,223,60,0,60,216,94,223,60,0,60,216,95,223,60,0,60,216,96,223,60,0,60,216,97,223,60,0,60,216,98,223,60,0,60,216,99,223,60,0,60,216,100,223,60,0,60,216,101,223,60,0,60,216,102,223,60,0,60,216,103,223,60,0,60,216,104,223,60,0,60,216,105,223,60,0,60,216,106,223,60,0,60,216,107,223,60,0,60,216,108,223,60,0,60,216,109,223,60,0,60,216,110,223,60,0,60,216,111,223,60,0,60,216,112,223,60,0,60,216,113,223,60,0,60,216,114,223,60,0,60,216,115,223,60,0,60,216,116,223,60,0,60,216,117,223,60,0,60,216,118,223,60,0,60,216,119,223,60,0,60,216,120,223,60,0,60,216,121,223,60,0,60,216,122,223,60,0,60,216,123,223,60,0,60,216,124,223,60,0,60,216,125,223,60,0,60,216,126,223,60,0,60,216,127,223,60,0,60,216,128,223,60,0,60,216,129,223,60,0,60,216,130,223,60,0,60,216,131,223,60,0,60,216,132,223,60,0,60,216,133,223,60,0,60,216,134,223,60,0,60,216,135,223,60,0,60,216,136,223,60,0,60,216,137,223,60,0,60,216,138,223,60,0,60,216,139,223,60,0,60,216,140,223,60,0,60,216,141,223,60,0,60,216,142,223,60,0,60,216,143,223,60,0,60,216,144,223,60,0,60,216,145,223,60,0,60,216,146,223,60,0,60,216,147,223,60,0,60,216,148,223,60,0,60,216,149,223,60,0,60,216,150,223,60,0,60,216,151,223,60,0,60,216,152,223,60,0,60,216,153,223,60,0,60,216,154,223,60,0,60,216,155,223,60,0,60,216,156,223,60,0,60,216,157,223,60,0,60,216,158,223,60,0,60,216,159,223,60,0,60,216,160,223,60,0,60,216,161,223,60,0,60,216,162,223,60,0,60,216,163,223,60,0,60,216,164,223,60,0,60,216,165,223,60,0,60,216,166,223,60,0,60,216,167,223,60,0,60,216,168,223,60,0,60,216,169,223,60,0,60,216,170,223,60,0,60,216,171,223,60,0,60,216,172,223,60,0,60,216,173,223,60,0,60,216,174,223,60,0,60,216,175,223,60,0,60,216,176,223,60,0,60,216,177,223,60,0,60,216,178,223,60,0,60,216,179,223,60,0,60,216,180,223,60,0,60,216,181,223,60,0,60,216,182,223,60,0,60,216,183,223,60,0,60,216,184,223,60,0,60,216,185,223,60,0,60,216,186,223,60,0,60,216,187,223,60,0,60,216,188,223,60,0,60,216,189,223,60,0,60,216,190,223,60,0,60,216,191,223,60,0,60,216,192,223,60,0,60,216,193,223,60,0,60,216,194,223,60,0,60,216,195,223,60,0,60,216,196,223,60,0,60,216,197,223,60,0,60,216,198,223,60,0,60,216,199,223,60,0,60,216,200,223,60,0,60,216,201,223,60,0,60,216,202,223,60,0,60,216,203,223,60,0,60,216,204,223,60,0,60,216,205,223,60,0,60,216,206,223,60,0,60,216,207,223,60,0,60,216,208,223,60,0,60,216,209,223,60,0,60,216,210,223,60,0,60,216,211,223,60,0,60,216,212,223,60,0,60,216,213,223,60,0,60,216,214,223,60,0,60,216,215,223,60,0,60,216,216,223,60,0,60,216,217,223,60,0,60,216,218,223,60,0,60,216,219,223,60,0,60,216,220,223,60,0,60,216,221,223,60,0,60,216,222,223,60,0,60,216,223,223,60,0,60,216,224,223,60,0,60,216,225,223,60,0,60,216,226,223,60,0,60,216,227,223,60,0,60,216,228,223,60,0,60,216,229,223,60,0,60,216,230,223,60,0,60,216,231,223,60,0,60,216,232,223,60,0,60,216,233,223,60,0,60,216,234,223,60,0,60,216,235,223,60,0,60,216,236,223,60,0,60,216,237,223,60,0,60,216,238,223,60,0,60,216,239,223,60,0,60,216,240,223,60,0,60,216,241,223,60,0,60,216,242,223,60,0,60,216,243,223,60,0,60,216,244,223,60,0,60,216,245,223,60,0,60,216,246,223,60,0,60,216,247,223,60,0,60,216,248,223,60,0,60,216,249,223,60,0,60,216,250,223,60,0,60,216,251,223,60,0,60,216,252,223,60,0,60,216,253,223,60,0,60,216,254,223,60,0,60,216,255,223,60,0,61,216,0,220,60,0,61,216,1,220,60,0,61,216,2,220,60,0,61,216,3,220,60,0,61,216,4,220,60,0,61,216,5,220,60,0,61,216,6,220,60,0,61,216,7,220,60,0,61,216,8,220,60,0,61,216,9,220,60,0,61,216,10,220,60,0,61,216,11,220,60,0,61,216,12,220,60,0,61,216,13,220,60,0,61,216,14,220,60,0,61,216,15,220,60,0,61,216,16,220,60,0,61,216,17,220,60,0,61,216,18,220,60,0,61,216,19,220,60,0,61,216,20,220,60,0,61,216,21,220,60,0,61,216,22,220,60,0,61,216,23,220,60,0,61,216,24,220,60,0,61,216,25,220,60,0,61,216,26,220,60,0,61,216,27,220,60,0,61,216,28,220,60,0,61,216,29,220,60,0,61,216,30,220,60,0,61,216,31,220,60,0,61,216,32,220,60,0,61,216,33,220,60,0,61,216,34,220,60,0,61,216,35,220,60,0,61,216,36,220,60,0,61,216,37,220,60,0,61,216,38,220,60,0,61,216,39,220,60,0,61,216,40,220,60,0,61,216,41,220,60,0,61,216,42,220,60,0,61,216,43,220,60,0,61,216,44,220,60,0,61,216,45,220,60,0,61,216,46,220,60,0,61,216,47,220,60,0,61,216,48,220,60,0,61,216,49,220,60,0,61,216,50,220,60,0,61,216,51,220,60,0,61,216,52,220,60,0,61,216,53,220,60,0,61,216,54,220,60,0,61,216,55,220,60,0,61,216,56,220,60,0,61,216,57,220,60,0,61,216,58,220,60,0,61,216,59,220,60,0,61,216,60,220,60,0,61,216,61,220,60,0,61,216,62,220,60,0,61,216,63,220,60,0,61,216,64,220,60,0,61,216,65,220,60,0,61,216,66,220,60,0,61,216,67,220,60,0,61,216,68,220,60,0,61,216,69,220,60,0,61,216,70,220,60,0,61,216,71,220,60,0,61,216,72,220,60,0,61,216,73,220,60,0,61,216,74,220,60,0,61,216,75,220,60,0,61,216,76,220,60,0,61,216,77,220,60,0,61,216,78,220,60,0,61,216,79,220,60,0,61,216,80,220,60,0,61,216,81,220,60,0,61,216,82,220,60,0,61,216,83,220,60,0,61,216,84,220,60,0,61,216,85,220,60,0,61,216,86,220,60,0,61,216,87,220,60,0,61,216,88,220,60,0,61,216,89,220,60,0,61,216,90,220,60,0,61,216,91,220,60,0,61,216,92,220,60,0,61,216,93,220,60,0,61,216,94,220,60,0,61,216,95,220,60,0,61,216,96,220,60,0,61,216,97,220,60,0,61,216,98,220,60,0,61,216,99,220,60,0,61,216,100,220,60,0,61,216,101,220,60,0,61,216,102,220,60,0,61,216,103,220,60,0,61,216,104,220,60,0,61,216,105,220,60,0,61,216,106,220,60,0,61,216,107,220,60,0,61,216,108,220,60,0,61,216,109,220,60,0,61,216,110,220,60,0,61,216,111,220,60,0,61,216,112,220,60,0,61,216,113,220,60,0,61,216,114,220,60,0,61,216,115,220,60,0,61,216,116,220,60,0,61,216,117,220,60,0,61,216,118,220,60,0,61,216,119,220,60,0,61,216,120,220,60,0,61,216,121,220,60,0,61,216,122,220,60,0,61,216,123,220,60,0,61,216,124,220,60,0,61,216,125,220,60,0,61,216,126,220,60,0,61,216,127,220,60,0,61,216,128,220,60,0,61,216,129,220,60,0,61,216,130,220,60,0,61,216,131,220,60,0,61,216,132,220,60,0,61,216,133,220,60,0,61,216,134,220,60,0,61,216,135,220,60,0,61,216,136,220,60,0,61,216,137,220,60,0,61,216,138,220,60,0,61,216,139,220,60,0,61,216,140,220,60,0,61,216,141,220,60,0,61,216,142,220,60,0,61,216,143,220,60,0,61,216,144,220,60,0,61,216,145,220,60,0,61,216,146,220,60,0,61,216,147,220,60,0,61,216,148,220,60,0,61,216,149,220,60,0,61,216,150,220,60,0,61,216,151,220,60,0,61,216,152,220,60,0,61,216,153,220,60,0,61,216,154,220,60,0,61,216,155,220,60,0,61,216,156,220,60,0,61,216,157,220,60,0,61,216,158,220,60,0,61,216,159,220,60,0,61,216,160,220,60,0,61,216,161,220,60,0,61,216,162,220,60,0,61,216,163,220,60,0,61,216,164,220,60,0,61,216,165,220,60,0,61,216,166,220,60,0,61,216,167,220,60,0,61,216,168,220,60,0,61,216,169,220,60,0,61,216,170,220,60,0,61,216,171,220,60,0,61,216,172,220,60,0,61,216,173,220,60,0,61,216,174,220,60,0,61,216,175,220,60,0,61,216,176,220,60,0,61,216,177,220,60,0,61,216,178,220,60,0,61,216,179,220,60,0,61,216,180,220,60,0,61,216,181,220,60,0,61,216,182,220,60,0,61,216,183,220,60,0,61,216,184,220,60,0,61,216,185,220,60,0,61,216,186,220,60,0,61,216,187,220,60,0,61,216,188,220,60,0,61,216,189,220,60,0,61,216,190,220,60,0,61,216,191,220,60,0,61,216,192,220,60,0,61,216,193,220,60,0,61,216,194,220,60,0,61,216,195,220,60,0,61,216,196,220,60,0,61,216,197,220,60,0,61,216,198,220,60,0,61,216,199,220,60,0,61,216,200,220,60,0,61,216,201,220,60,0,61,216,202,220,60,0,61,216,203,220,60,0,61,216,204,220,60,0,61,216,205,220,60,0,61,216,206,220,60,0,61,216,207,220,60,0,61,216,208,220,60,0,61,216,209,220,60,0,61,216,210,220,60,0,61,216,211,220,60,0,61,216,212,220,60,0,61,216,213,220,60,0,61,216,214,220,60,0,61,216,215,220,60,0,61,216,216,220,60,0,61,216,217,220,60,0,61,216,218,220,60,0,61,216,219,220,60,0,61,216,220,220,60,0,61,216,221,220,60,0,61,216,222,220,60,0,61,216,223,220,60,0,61,216,224,220,60,0,61,216,225,220,60,0,61,216,226,220,60,0,61,216,227,220,60,0,61,216,228,220,60,0,61,216,229,220,60,0,61,216,230,220,60,0,61,216,231,220,60,0,61,216,232,220,60,0,61,216,233,220,60,0,61,216,234,220,60,0,61,216,235,220,60,0,61,216,236,220,60,0,61,216,237,220,60,0,61,216,238,220,60,0,61,216,239,220,60,0,61,216,240,220,60,0,61,216,241,220,60,0,61,216,242,220,60,0,61,216,243,220,60,0,61,216,244,220,60,0,61,216,245,220,60,0,61,216,246,220,60,0,61,216,247,220,60,0,61,216,248,220,60,0,61,216,249,220,60,0,61,216,250,220,60,0,61,216,251,220,60,0,61,216,252,220,60,0,61,216,253,220,60,0,61,216,254,220,60,0,61,216,255,220,60,0,61,216,0,221,60,0,61,216,1,221,60,0,61,216,2,221,60,0,61,216,3,221,60,0,61,216,4,221,60,0,61,216,5,221,60,0,61,216,6,221,60,0,61,216,7,221,60,0,61,216,8,221,60,0,61,216,9,221,60,0,61,216,10,221,60,0,61,216,11,221,60,0,61,216,12,221,60,0,61,216,13,221,60,0,61,216,14,221,60,0,61,216,15,221,60,0,61,216,16,221,60,0,61,216,17,221,60,0,61,216,18,221,60,0,61,216,19,221,60,0,61,216,20,221,60,0,61,216,21,221,60,0,61,216,22,221,60,0,61,216,23,221,60,0,61,216,24,221,60,0,61,216,25,221,60,0,61,216,26,221,60,0,61,216,27,221,60,0,61,216,28,221,60,0,61,216,29,221,60,0,61,216,30,221,60,0,61,216,31,221,60,0,61,216,32,221,60,0,61,216,33,221,60,0,61,216,34,221,60,0,61,216,35,221,60,0,61,216,36,221,60,0,61,216,37,221,60,0,61,216,38,221,60,0,61,216,39,221,60,0,61,216,40,221,60,0,61,216,41,221,60,0,61,216,42,221,60,0,61,216,43,221,60,0,61,216,44,221,60,0,61,216,45,221,60,0,61,216,46,221,60,0,61,216,47,221,60,0,61,216,48,221,60,0,61,216,49,221,60,0,61,216,50,221,60,0,61,216,51,221,60,0,61,216,52,221,60,0,61,216,53,221,60,0,61,216,54,221,60,0,61,216,55,221,60,0,61,216,56,221,60,0,61,216,57,221,60,0,61,216,58,221,60,0,61,216,59,221,60,0,61,216,60,221,60,0,61,216,61,221,60,0,61,216,62,221,60,0,61,216,63,221,60,0,61,216,64,221,60,0,61,216,65,221,60,0,61,216,66,221,60,0,61,216,67,221,60,0,61,216,68,221,60,0,61,216,69,221,60,0,61,216,70,221,60,0,61,216,71,221,60,0,61,216,72,221,60,0,61,216,73,221,60,0,61,216,74,221,60,0,61,216,75,221,60,0,61,216,76,221,60,0,61,216,77,221,60,0,61,216,78,221,60,0,61,216,79,221,60,0,61,216,80,221,60,0,61,216,81,221,60,0,61,216,82,221,60,0,61,216,83,221,60,0,61,216,84,221,60,0,61,216,85,221,60,0,61,216,86,221,60,0,61,216,87,221,60,0,61,216,88,221,60,0,61,216,89,221,60,0,61,216,90,221,60,0,61,216,91,221,60,0,61,216,92,221,60,0,61,216,93,221,60,0,61,216,94,221,60,0,61,216,95,221,60,0,61,216,96,221,60,0,61,216,97,221,60,0,61,216,98,221,60,0,61,216,99,221,60,0,61,216,100,221,60,0,61,216,101,221,60,0,61,216,102,221,60,0,61,216,103,221,60,0,61,216,104,221,60,0,61,216,105,221,60,0,61,216,106,221,60,0,61,216,107,221,60,0,61,216,108,221,60,0,61,216,109,221,60,0,61,216,110,221,60,0,61,216,111,221,60,0,61,216,112,221,60,0,61,216,113,221,60,0,61,216,114,221,60,0,61,216,115,221,60,0,61,216,116,221,60,0,61,216,117,221,60,0,61,216,118,221,60,0,61,216,119,221,60,0,61,216,120,221,60,0,61,216,121,221,60,0,61,216,122,221,60,0,61,216,123,221,60,0,61,216,124,221,60,0,61,216,125,221,60,0,61,216,126,221,60,0,61,216,127,221,60,0,61,216,128,221,60,0,61,216,129,221,60,0,61,216,130,221,60,0,61,216,131,221,60,0,61,216,132,221,60,0,61,216,133,221,60,0,61,216,134,221,60,0,61,216,135,221,60,0,61,216,136,221,60,0,61,216,137,221,60,0,61,216,138,221,60,0,61,216,139,221,60,0,61,216,140,221,60,0,61,216,141,221,60,0,61,216,142,221,60,0,61,216,143,221,60,0,61,216,144,221,60,0,61,216,145,221,60,0,61,216,146,221,60,0,61,216,147,221,60,0,61,216,148,221,60,0,61,216,149,221,60,0,61,216,150,221,60,0,61,216,151,221,60,0,61,216,152,221,60,0,61,216,153,221,60,0,61,216,154,221,60,0,61,216,155,221,60,0,61,216,156,221,60,0,61,216,157,221,60,0,61,216,158,221,60,0,61,216,159,221,60,0,61,216,160,221,60,0,61,216,161,221,60,0,61,216,162,221,60,0,61,216,163,221,60,0,61,216,164,221,60,0,61,216,165,221,60,0,61,216,166,221,60,0,61,216,167,221,60,0,61,216,168,221,60,0,61,216,169,221,60,0,61,216,170,221,60,0,61,216,171,221,60,0,61,216,172,221,60,0,61,216,173,221,60,0,61,216,174,221,60,0,61,216,175,221,60,0,61,216,176,221,60,0,61,216,177,221,60,0,61,216,178,221,60,0,61,216,179,221,60,0,61,216,180,221,60,0,61,216,181,221,60,0,61,216,182,221,60,0,61,216,183,221,60,0,61,216,184,221,60,0,61,216,185,221,60,0,61,216,186,221,60,0,61,216,187,221,60,0,61,216,188,221,60,0,61,216,189,221,60,0,61,216,190,221,60,0,61,216,191,221,60,0,61,216,192,221,60,0,61,216,193,221,60,0,61,216,194,221,60,0,61,216,195,221,60,0,61,216,196,221,60,0,61,216,197,221,60,0,61,216,198,221,60,0,61,216,199,221,60,0,61,216,200,221,60,0,61,216,201,221,60,0,61,216,202,221,60,0,61,216,203,221,60,0,61,216,204,221,60,0,61,216,205,221,60,0,61,216,206,221,60,0,61,216,207,221,60,0,61,216,208,221,60,0,61,216,209,221,60,0,61,216,210,221,60,0,61,216,211,221,60,0,61,216,212,221,60,0,61,216,213,221,60,0,61,216,214,221,60,0,61,216,215,221,60,0,61,216,216,221,60,0,61,216,217,221,60,0,61,216,218,221,60,0,61,216,219,221,60,0,61,216,220,221,60,0,61,216,221,221,60,0,61,216,222,221,60,0,61,216,223,221,60,0,61,216,224,221,60,0,61,216,225,221,60,0,61,216,226,221,60,0,61,216,227,221,60,0,61,216,228,221,60,0,61,216,229,221,60,0,61,216,230,221,60,0,61,216,231,221,60,0,61,216,232,221,60,0,61,216,233,221,60,0,61,216,234,221,60,0,61,216,235,221,60,0,61,216,236,221,60,0,61,216,237,221,60,0,61,216,238,221,60,0,61,216,239,221,60,0,61,216,240,221,60,0,61,216,241,221,60,0,61,216,242,221,60,0,61,216,243,221,60,0,61,216,244,221,60,0,61,216,245,221,60,0,61,216,246,221,60,0,61,216,247,221,60,0,61,216,248,221,60,0,61,216,249,221,60,0,61,216,250,221,60,0,61,216,251,221,60,0,61,216,252,221,60,0,61,216,253,221,60,0,61,216,254,221,60,0,61,216,255,221,60,0,62,216,0,221,60,0,62,216,1,221,60,0,62,216,2,221,60,0,62,216,3,221,60,0,62,216,4,221,60,0,62,216,5,221,60,0,62,216,6,221,60,0,62,216,7,221,60,0,62,216,8,221,60,0,62,216,9,221,60,0,62,216,10,221,60,0,62,216,11,221,60,0,62,216,12,221,60,0,62,216,13,221,60,0,62,216,14,221,60,0,62,216,15,221,60,0,62,216,16,221,60,0,62,216,17,221,60,0,62,216,18,221,60,0,62,216,19,221,60,0,62,216,20,221,60,0,62,216,21,221,60,0,62,216,22,221,60,0,62,216,23,221,60,0,62,216,24,221,60,0,62,216,25,221,60,0,62,216,26,221,60,0,62,216,27,221,60,0,62,216,28,221,60,0,62,216,29,221,60,0,62,216,30,221,60,0,62,216,31,221,60,0,62,216,32,221,60,0,62,216,33,221,60,0,62,216,34,221,60,0,62,216,35,221,60,0,62,216,36,221,60,0,62,216,37,221,60,0,62,216,38,221,60,0,62,216,39,221,60,0,62,216,40,221,60,0,62,216,41,221,60,0,62,216,42,221,60,0,62,216,43,221,60,0,62,216,44,221,60,0,62,216,45,221,60,0,62,216,46,221,60,0,62,216,47,221,60,0,62,216,48,221,60,0,62,216,49,221,60,0,62,216,50,221,60,0,62,216,51,221,60,0,62,216,52,221,60,0,62,216,53,221,60,0,62,216,54,221,60,0,62,216,55,221,60,0,62,216,56,221,60,0,62,216,57,221,60,0,62,216,58,221,60,0,62,216,59,221,60,0,62,216,60,221,60,0,62,216,61,221,60,0,62,216,62,221,60,0,62,216,63,221,60,0,62,216,64,221,60,0,62,216,65,221,60,0,62,216,66,221,60,0,62,216,67,221,60,0,62,216,68,221,60,0,62,216,69,221,60,0,62,216,70,221,60,0,62,216,71,221,60,0,62,216,72,221,60,0,62,216,73,221,60,0,62,216,74,221,60,0,62,216,75,221,60,0,62,216,76,221,60,0,62,216,77,221,60,0,62,216,78,221,60,0,62,216,79,221,60,0,62,216,80,221,60,0,62,216,81,221,60,0,62,216,82,221,60,0,62,216,83,221,60,0,62,216,84,221,60,0,62,216,85,221,60,0,62,216,86,221,60,0,62,216,87,221,60,0,62,216,88,221,60,0,62,216,89,221,60,0,62,216,90,221,60,0,62,216,91,221,60,0,62,216,92,221,60,0,62,216,93,221,60,0,62,216,94,221,60,0,62,216,95,221,60,0,62,216,96,221,60,0,62,216,97,221,60,0,62,216,98,221,60,0,62,216,99,221,60,0,62,216,100,221,60,0,62,216,101,221,60,0,62,216,102,221,60,0,62,216,103,221,60,0,62,216,104,221,60,0,62,216,105,221,60,0,62,216,106,221,60,0,62,216,107,221,60,0,62,216,108,221,60,0,62,216,109,221,60,0,62,216,110,221,60,0,62,216,111,221,60,0,62,216,112,221,60,0,62,216,113,221,60,0,62,216,114,221,60,0,62,216,115,221,60,0,62,216,116,221,60,0,62,216,117,221,60,0,62,216,118,221,60,0,62,216,119,221,60,0,62,216,120,221,60,0,62,216,121,221,60,0,62,216,122,221,60,0,62,216,123,221,60,0,62,216,124,221,60,0,62,216,125,221,60,0,62,216,126,221,60,0,62,216,127,221,60,0,62,216,128,221,60,0,62,216,129,221,60,0,62,216,130,221,60,0,62,216,131,221,60,0,62,216,132,221,60,0,62,216,133,221,60,0,62,216,134,221,60,0,62,216,135,221,60,0,62,216,136,221,60,0,62,216,137,221,60,0,62,216,138,221,60,0,62,216,139,221,60,0,62,216,140,221,60,0,62,216,141,221,60,0,62,216,142,221,60,0,62,216,143,221,60,0,62,216,144,221,60,0,62,216,145,221,60,0,62,216,146,221,60,0,62,216,147,221,60,0,62,216,148,221,60,0,62,216,149,221,60,0,62,216,150,221,60,0,62,216,151,221,60,0,62,216,152,221,60,0,62,216,153,221,60,0,62,216,154,221,60,0,62,216,155,221,60,0,62,216,156,221,60,0,62,216,157,221,60,0,62,216,158,221,60,0,62,216,159,221,60,0,62,216,160,221,60,0,62,216,161,221,60,0,62,216,162,221,60,0,62,216,163,221,60,0,62,216,164,221,60,0,62,216,165,221,60,0,62,216,166,221,60,0,62,216,167,221,60,0,62,216,168,221,60,0,62,216,169,221,60,0,62,216,170,221,60,0,62,216,171,221,60,0,62,216,172,221,60,0,62,216,173,221,60,0,62,216,174,221,60,0,62,216,175,221,60,0,62,216,176,221,60,0,62,216,177,221,60,0,62,216,178,221,60,0,62,216,179,221,60,0,62,216,180,221,60,0,62,216,181,221,60,0,62,216,182,221,60,0,62,216,183,221,60,0,62,216,184,221,60,0,62,216,185,221,60,0,62,216,186,221,60,0,62,216,187,221,60,0,62,216,188,221,60,0,62,216,189,221,60,0,62,216,190,221,60,0,62,216,191,221,60,0,62,216,192,221,60,0,62,216,193,221,60,0,62,216,194,221,60,0,62,216,195,221,60,0,62,216,196,221,60,0,62,216,197,221,60,0,62,216,198,221,60,0,62,216,199,221,60,0,62,216,200,221,60,0,62,216,201,221,60,0,62,216,202,221,60,0,62,216,203,221,60,0,62,216,204,221,60,0,62,216,205,221,60,0,62,216,206,221,60,0,62,216,207,221,60,0,62,216,208,221,60,0,62,216,209,221,60,0,62,216,210,221,60,0,62,216,211,221,60,0,62,216,212,221,60,0,62,216,213,221,60,0,62,216,214,221,60,0,62,216,215,221,60,0,62,216,216,221,60,0,62,216,217,221,60,0,62,216,218,221,60,0,62,216,219,221,60,0,62,216,220,221,60,0,62,216,221,221,60,0,62,216,222,221,60,0,62,216,223,221,60,0,62,216,224,221,60,0,62,216,225,221,60,0,62,216,226,221,60,0,62,216,227,221,60,0,62,216,228,221,60,0,62,216,229,221,60,0,62,216,230,221,60,0,62,216,231,221,60,0,62,216,232,221,60,0,62,216,233,221,60,0,62,216,234,221,60,0,62,216,235,221,60,0,62,216,236,221,60,0,62,216,237,221,60,0,62,216,238,221,60,0,62,216,239,221,60,0,62,216,240,221,60,0,62,216,241,221,60,0,62,216,242,221,60,0,62,216,243,221,60,0,62,216,244,221,60,0,62,216,245,221,60,0,62,216,246,221,60,0,62,216,247,221,60,0,62,216,248,221,60,0,62,216,249,221,60,0,62,216,250,221,60,0,62,216,251,221,60,0,62,216,252,221,60,0,62,216,253,221,60,0,62,216,254,221,60,0,62,216,255,221,60,0,62,216,112,222,60,0,62,216,113,222,60,0,62,216,114,222,60,0,62,216,115,222,60,0,62,216,116,222,60,0,62,216,117,222,60,0,62,216,118,222,60,0,62,216,119,222,60,0,62,216,120,222,60,0,62,216,121,222,60,0,62,216,122,222,60,0,62,216,123,222,60,0,62,216,124,222,60,0,62,216,128,222,60,0,62,216,129,222,60,0,62,216,130,222,60,0,62,216,131,222,60,0,62,216,132,222,60,0,62,216,133,222,60,0,62,216,134,222,60,0,62,216,135,222,60,0,62,216,136,222,60,0,62,216,144,222,60,0,62,216,145,222,60,0,62,216,146,222,60,0,62,216,147,222,60,0,62,216,148,222,60,0,62,216,149,222,60,0,62,216,150,222,60,0,62,216,151,222,60,0,62,216,152,222,60,0,62,216,153,222,60,0,62,216,154,222,60,0,62,216,155,222,60,0,62,216,156,222,60,0,62,216,157,222,60,0,62,216,158,222,60,0,62,216,159,222,60,0,62,216,160,222,60,0,62,216,161,222,60,0,62,216,162,222,60,0,62,216,163,222,60,0,62,216,164,222,60,0,62,216,165,222,60,0,62,216,166,222,60,0,62,216,167,222,60,0,62,216,168,222,60,0,62,216,169,222,60,0,62,216,170,222,60,0,62,216,171,222,60,0,62,216,172,222,60,0,62,216,173,222,60,0,62,216,174,222,60,0,62,216,175,222,60,0,62,216,176,222,60,0,62,216,177,222,60,0,62,216,178,222,60,0,62,216,179,222,60,0,62,216,180,222,60,0,62,216,181,222,60,0,62,216,182,222,60,0,62,216,183,222,60,0,62,216,184,222,60,0,62,216,185,222,60,0,62,216,186,222,60,0,62,216,187,222,60,0,62,216,188,222,60,0,62,216,189,222,60,0,62,216,191,222,60,0,62,216,192,222,60,0,62,216,193,222,60,0,62,216,194,222,60,0,62,216,195,222,60,0,62,216,196,222,60,0,62,216,197,222,60,0,62,216,206,222,60,0,62,216,207,222,60,0,62,216,208,222,60,0,62,216,209,222,60,0,62,216,210,222,60,0,62,216,211,222,60,0,62,216,212,222,60,0,62,216,213,222,60,0,62,216,214,222,60,0,62,216,215,222,60,0,62,216,216,222,60,0,62,216,217,222,60,0,62,216,218,222,60,0,62,216,219,222,60,0,62,216,224,222,60,0,62,216,225,222,60,0,62,216,226,222,60,0,62,216,227,222,60,0,62,216,228,222,60,0,62,216,229,222,60,0,62,216,230,222,60,0,62,216,231,222,60,0,62,216,232,222,60,0,62,216,240,222,60,0,62,216,241,222,60,0,62,216,242,222,60,0,62,216,243,222,60,0,62,216,244,222,60,0,62,216,245,222,60,0,62,216,246,222,60,0,62,216,247,222,60,0,62,216,248,222,60,0,61,216,0,222,60,0,61,216,1,222,60,0,61,216,2,222,60,0,61,216,3,222,60,0,61,216,4,222,60,0,61,216,5,222,60,0,61,216,6,222,60,0,61,216,7,222,60,0,61,216,8,222,60,0,61,216,9,222,60,0,61,216,10,222,60,0,61,216,11,222,60,0,61,216,12,222,60,0,61,216,13,222,60,0,61,216,14,222,60,0,61,216,15,222,60,0,61,216,16,222,60,0,61,216,17,222,60,0,61,216,18,222,60,0,61,216,19,222,60,0,61,216,20,222,60,0,61,216,21,222,60,0,61,216,22,222,60,0,61,216,23,222,60,0,61,216,24,222,60,0,61,216,25,222,60,0,61,216,26,222,60,0,61,216,27,222,60,0,61,216,28,222,60,0,61,216,29,222,60,0,61,216,30,222,60,0,61,216,31,222,60,0,61,216,32,222,60,0,61,216,33,222,60,0,61,216,34,222,60,0,61,216,35,222,60,0,61,216,36,222,60,0,61,216,37,222,60,0,61,216,38,222,60,0,61,216,39,222,60,0,61,216,40,222,60,0,61,216,41,222,60,0,61,216,42,222,60,0,61,216,43,222,60,0,61,216,44,222,60,0,61,216,45,222,60,0,61,216,46,222,60,0,61,216,47,222,60,0,61,216,48,222,60,0,61,216,49,222,60,0,61,216,50,222,60,0,61,216,51,222,60,0,61,216,52,222,60,0,61,216,53,222,60,0,61,216,54,222,60,0,61,216,55,222,60,0,61,216,56,222,60,0,61,216,57,222,60,0,61,216,58,222,60,0,61,216,59,222,60,0,61,216,60,222,60,0,61,216,61,222,60,0,61,216,62,222,60,0,61,216,63,222,60,0,61,216,64,222,60,0,61,216,65,222,60,0,61,216,66,222,60,0,61,216,67,222,60,0,61,216,68,222,60,0,61,216,69,222,60,0,61,216,70,222,60,0,61,216,71,222,60,0,61,216,72,222,60,0,61,216,73,222,60,0,61,216,74,222,60,0,61,216,75,222,60,0,61,216,76,222,60,0,61,216,77,222,60,0,61,216,78,222,60,0,61,216,79,222,60,0,61,216,80,222,60,0,61,216,81,222,60,0,61,216,82,222,60,0,61,216,83,222,60,0,61,216,84,222,60,0,61,216,85,222,60,0,61,216,86,222,60,0,61,216,87,222,60,0,61,216,88,222,60,0,61,216,89,222,60,0,61,216,90,222,60,0,61,216,91,222,60,0,61,216,92,222,60,0,61,216,93,222,60,0,61,216,94,222,60,0,61,216,95,222,60,0,61,216,96,222,60,0,61,216,97,222,60,0,61,216,98,222,60,0,61,216,99,222,60,0,61,216,100,222,60,0,61,216,101,222,60,0,61,216,102,222,60,0,61,216,103,222,60,0,61,216,104,222,60,0,61,216,105,222,60,0,61,216,106,222,60,0,61,216,107,222,60,0,61,216,108,222,60,0,61,216,109,222,60,0,61,216,110,222,60,0,61,216,111,222,60,0,61,216,112,222,60,0,61,216,113,222,60,0,61,216,114,222,60,0,61,216,115,222,60,0,61,216,116,222,60,0,61,216,117,222,60,0,61,216,118,222,60,0,61,216,119,222,60,0,61,216,120,222,60,0,61,216,121,222,60,0,61,216,122,222,60,0,61,216,123,222,60,0,61,216,124,222,60,0,61,216,125,222,60,0,61,216,126,222,60,0,61,216,127,222,60,0,61,216,128,222,60,0,61,216,129,222,60,0,61,216,130,222,60,0,61,216,131,222,60,0,61,216,132,222,60,0,61,216,133,222,60,0,61,216,134,222,60,0,61,216,135,222,60,0,61,216,136,222,60,0,61,216,137,222,60,0,61,216,138,222,60,0,61,216,139,222,60,0,61,216,140,222,60,0,61,216,141,222,60,0,61,216,142,222,60,0,61,216,143,222,60,0,61,216,144,222,60,0,61,216,145,222,60,0,61,216,146,222,60,0,61,216,147,222,60,0,61,216,148,222,60,0,61,216,149,222,60,0,61,216,150,222,60,0,61,216,151,222,60,0,61,216,152,222,60,0,61,216,153,222,60,0,61,216,154,222,60,0,61,216,155,222,60,0,61,216,156,222,60,0,61,216,157,222,60,0,61,216,158,222,60,0,61,216,159,222,60,0,61,216,160,222,60,0,61,216,161,222,60,0,61,216,162,222,60,0,61,216,163,222,60,0,61,216,164,222,60,0,61,216,165,222,60,0,61,216,166,222,60,0,61,216,167,222,60,0,61,216,168,222,60,0,61,216,169,222,60,0,61,216,170,222,60,0,61,216,171,222,60,0,61,216,172,222,60,0,61,216,173,222,60,0,61,216,174,222,60,0,61,216,175,222,60,0,61,216,176,222,60,0,61,216,177,222,60,0,61,216,178,222,60,0,61,216,179,222,60,0,61,216,180,222,60,0,61,216,181,222,60,0,61,216,182,222,60,0,61,216,183,222,60,0,61,216,184,222,60,0,61,216,185,222,60,0,61,216,186,222,60,0,61,216,187,222,60,0,61,216,188,222,60,0,61,216,189,222,60,0,61,216,190,222,60,0,61,216,191,222,60,0,61,216,192,222,60,0,61,216,193,222,60,0,61,216,194,222,60,0,61,216,195,222,60,0,61,216,196,222,60,0,61,216,197,222,60,0,61,216,198,222,60,0,61,216,199,222,60,0,61,216,200,222,60,0,61,216,201,222,60,0,61,216,202,222,60,0,61,216,203,222,60,0,61,216,204,222,60,0,61,216,205,222,60,0,61,216,206,222,60,0,61,216,207,222,60,0,61,216,208,222,60,0,61,216,209,222,60,0,61,216,210,222,60,0,61,216,211,222,60,0,61,216,212,222,60,0,61,216,213,222,60,0,61,216,214,222,60,0,61,216,215,222,60,0,61,216,220,222,60,0,61,216,221,222,60,0,61,216,222,222,60,0,61,216,223,222,60,0,61,216,224,222,60,0,61,216,225,222,60,0,61,216,226,222,60,0,61,216,227,222,60,0,61,216,228,222,60,0,61,216,229,222,60,0,61,216,230,222,60,0,61,216,231,222,60,0,61,216,232,222,60,0,61,216,233,222,60,0,61,216,234,222,60,0,61,216,235,222,60,0,61,216,236,222,60,0,61,216,240,222,60,0,61,216,241,222,60,0,61,216,242,222,60,0,61,216,243,222,60,0,61,216,244,222,60,0,61,216,245,222,60,0,61,216,246,222,60,0,61,216,247,222,60,0,61,216,248,222,60,0,61,216,249,222,60,0,61,216,250,222,60,0,61,216,251,222,60,0,61,216,252,222,60,0,61,216,0,223,60,0,61,216,1,223,60,0,61,216,2,223,60,0,61,216,3,223,60,0,61,216,4,223,60,0,61,216,5,223,60,0,61,216,6,223,60,0,61,216,7,223,60,0,61,216,8,223,60,0,61,216,9,223,60,0,61,216,10,223,60,0,61,216,11,223,60,0,61,216,12,223,60,0,61,216,13,223,60,0,61,216,14,223,60,0,61,216,15,223,60,0,61,216,16,223,60,0,61,216,17,223,60,0,61,216,18,223,60,0,61,216,19,223,60,0,61,216,20,223,60,0,61,216,21,223,60,0,61,216,22,223,60,0,61,216,23,223,60,0,61,216,24,223,60,0,61,216,25,223,60,0,61,216,26,223,60,0,61,216,27,223,60,0,61,216,28,223,60,0,61,216,29,223,60,0,61,216,30,223,60,0,61,216,31,223,60,0,61,216,32,223,60,0,61,216,33,223,60,0,61,216,34,223,60,0,61,216,35,223,60,0,61,216,36,223,60,0,61,216,37,223,60,0,61,216,38,223,60,0,61,216,39,223,60,0,61,216,40,223,60,0,61,216,41,223,60,0,61,216,42,223,60,0,61,216,43,223,60,0,61,216,44,223,60,0,61,216,45,223,60,0,61,216,46,223,60,0,61,216,47,223,60,0,61,216,48,223,60,0,61,216,49,223,60,0,61,216,50,223,60,0,61,216,51,223,60,0,61,216,52,223,60,0,61,216,53,223,60,0,61,216,54,223,60,0,61,216,55,223,60,0,61,216,56,223,60,0,61,216,57,223,60,0,61,216,58,223,60,0,61,216,59,223,60,0,61,216,60,223,60,0,61,216,61,223,60,0,61,216,62,223,60,0,61,216,63,223,60,0,61,216,64,223,60,0,61,216,65,223,60,0,61,216,66,223,60,0,61,216,67,223,60,0,61,216,68,223,60,0,61,216,69,223,60,0,61,216,70,223,60,0,61,216,71,223,60,0,61,216,72,223,60,0,61,216,73,223,60,0,61,216,74,223,60,0,61,216,75,223,60,0,61,216,76,223,60,0,61,216,77,223,60,0,61,216,78,223,60,0,61,216,79,223,60,0,61,216,80,223,60,0,61,216,81,223,60,0,61,216,82,223,60,0,61,216,83,223,60,0,61,216,84,223,60,0,61,216,85,223,60,0,61,216,86,223,60,0,61,216,87,223,60,0,61,216,88,223,60,0,61,216,89,223,60,0,61,216,90,223,60,0,61,216,91,223,60,0,61,216,92,223,60,0,61,216,93,223,60,0,61,216,94,223,60,0,61,216,95,223,60,0,61,216,96,223,60,0,61,216,97,223,60,0,61,216,98,223,60,0,61,216,99,223,60,0,61,216,100,223,60,0,61,216,101,223,60,0,61,216,102,223,60,0,61,216,103,223,60,0,61,216,104,223,60,0,61,216,105,223,60,0,61,216,106,223,60,0,61,216,107,223,60,0,61,216,108,223,60,0,61,216,109,223,60,0,61,216,110,223,60,0,61,216,111,223,60,0,61,216,112,223,60,0,61,216,113,223,60,0,61,216,114,223,60,0,61,216,115,223,60,0,61,216,116,223,60,0,61,216,117,223,60,0,61,216,118,223,60,0,61,216,123,223,60,0,61,216,124,223,60,0,61,216,125,223,60,0,61,216,126,223,60,0,61,216,127,223,60,0,61,216,128,223,60,0,61,216,129,223,60,0,61,216,130,223,60,0,61,216,131,223,60,0,61,216,132,223,60,0,61,216,133,223,60,0,61,216,134,223,60,0,61,216,135,223,60,0,61,216,136,223,60,0,61,216,137,223,60,0,61,216,138,223,60,0,61,216,139,223,60,0,61,216,140,223,60,0,61,216,141,223,60,0,61,216,142,223,60,0,61,216,143,223,60,0,61,216,144,223,60,0,61,216,145,223,60,0,61,216,146,223,60,0,61,216,147,223,60,0,61,216,148,223,60,0,61,216,149,223,60,0,61,216,150,223,60,0,61,216,151,223,60,0,61,216,152,223,60,0,61,216,153,223,60,0,61,216,154,223,60,0,61,216,155,223,60,0,61,216,156,223,60,0,61,216,157,223,60,0,61,216,158,223,60,0,61,216,159,223,60,0,61,216,160,223,60,0,61,216,161,223,60,0,61,216,162,223,60,0,61,216,163,223,60,0,61,216,164,223,60,0,61,216,165,223,60,0,61,216,166,223,60,0,61,216,167,223,60,0,61,216,168,223,60,0,61,216,169,223,60,0,61,216,170,223,60,0,61,216,171,223,60,0,61,216,172,223,60,0,61,216,173,223,60,0,61,216,174,223,60,0,61,216,175,223,60,0,61,216,176,223,60,0,61,216,177,223,60,0,61,216,178,223,60,0,61,216,179,223,60,0,61,216,180,223,60,0,61,216,181,223,60,0,61,216,182,223,60,0,61,216,183,223,60,0,61,216,184,223,60,0,61,216,185,223,60,0,61,216,186,223,60,0,61,216,187,223,60,0,61,216,188,223,60,0,61,216,189,223,60,0,61,216,190,223,60,0,61,216,191,223,60,0,61,216,192,223,60,0,61,216,193,223,60,0,61,216,194,223,60,0,61,216,195,223,60,0,61,216,196,223,60,0,61,216,197,223,60,0,61,216,198,223,60,0,61,216,199,223,60,0,61,216,200,223,60,0,61,216,201,223,60,0,61,216,202,223,60,0,61,216,203,223,60,0,61,216,204,223,60,0,61,216,205,223,60,0,61,216,206,223,60,0,61,216,207,223,60,0,61,216,208,223,60,0,61,216,209,223,60,0,61,216,210,223,60,0,61,216,211,223,60,0,61,216,212,223,60,0,61,216,213,223,60,0,61,216,214,223,60,0,61,216,215,223,60,0,61,216,216,223,60,0,61,216,217,223,60,0,61,216,224,223,60,0,61,216,225,223,60,0,61,216,226,223,60,0,61,216,227,223,60,0,61,216,228,223,60,0,61,216,229,223,60,0,61,216,230,223,60,0,61,216,231,223,60,0,61,216,232,223,60,0,61,216,233,223,60,0,61,216,234,223,60,0,61,216,235,223,60,0,61,216,240,223,60,0,62,216,0,220,60,0,62,216,1,220,60,0,62,216,2,220,60,0,62,216,3,220,60,0,62,216,4,220,60,0,62,216,5,220,60,0,62,216,6,220,60,0,62,216,7,220,60,0,62,216,8,220,60,0,62,216,9,220,60,0,62,216,10,220,60,0,62,216,11,220,60,0,62,216,16,220,60,0,62,216,17,220,60,0,62,216,18,220,60,0,62,216,19,220,60,0,62,216,20,220,60,0,62,216,21,220,60,0,62,216,22,220,60,0,62,216,23,220,60,0,62,216,24,220,60,0,62,216,25,220,60,0,62,216,26,220,60,0,62,216,27,220,60,0,62,216,28,220,60,0,62,216,29,220,60,0,62,216,30,220,60,0,62,216,31,220,60,0,62,216,32,220,60,0,62,216,33,220,60,0,62,216,34,220,60,0,62,216,35,220,60,0,62,216,36,220,60,0,62,216,37,220,60,0,62,216,38,220,60,0,62,216,39,220,60,0,62,216,40,220,60,0,62,216,41,220,60,0,62,216,42,220,60,0,62,216,43,220,60,0,62,216,44,220,60,0,62,216,45,220,60,0,62,216,46,220,60,0,62,216,47,220,60,0,62,216,48,220,60,0,62,216,49,220,60,0,62,216,50,220,60,0,62,216,51,220,60,0,62,216,52,220,60,0,62,216,53,220,60,0,62,216,54,220,60,0,62,216,55,220,60,0,62,216,56,220,60,0,62,216,57,220,60,0,62,216,58,220,60,0,62,216,59,220,60,0,62,216,60,220,60,0,62,216,61,220,60,0,62,216,62,220,60,0,62,216,63,220,60,0,62,216,64,220,60,0,62,216,65,220,60,0,62,216,66,220,60,0,62,216,67,220,60,0,62,216,68,220,60,0,62,216,69,220,60,0,62,216,70,220,60,0,62,216,71,220,60,0,62,216,80,220,60,0,62,216,81,220,60,0,62,216,82,220,60,0,62,216,83,220,60,0,62,216,84,220,60,0,62,216,85,220,60,0,62,216,86,220,60,0,62,216,87,220,60,0,62,216,88,220,60,0,62,216,89,220,60,0,62,216,96,220,60,0,62,216,97,220,60,0,62,216,98,220,60,0,62,216,99,220,60,0,62,216,100,220,60,0,62,216,101,220,60,0,62,216,102,220,60,0,62,216,103,220,60,0,62,216,104,220,60,0,62,216,105,220,60,0,62,216,106,220,60,0,62,216,107,220,60,0,62,216,108,220,60,0,62,216,109,220,60,0,62,216,110,220,60,0,62,216,111,220,60,0,62,216,112,220,60,0,62,216,113,220,60,0,62,216,114,220,60,0,62,216,115,220,60,0,62,216,116,220,60,0,62,216,117,220,60,0,62,216,118,220,60,0,62,216,119,220,60,0,62,216,120,220,60,0,62,216,121,220,60,0,62,216,122,220,60,0,62,216,123,220,60,0,62,216,124,220,60,0,62,216,125,220,60,0,62,216,126,220,60,0,62,216,127,220,60,0,62,216,128,220,60,0,62,216,129,220,60,0,62,216,130,220,60,0,62,216,131,220,60,0,62,216,132,220,60,0,62,216,133,220,60,0,62,216,134,220,60,0,62,216,135,220,60,0,62,216,144,220,60,0,62,216,145,220,60,0,62,216,146,220,60,0,62,216,147,220,60,0,62,216,148,220,60,0,62,216,149,220,60,0,62,216,150,220,60,0,62,216,151,220,60,0,62,216,152,220,60,0,62,216,153,220,60,0,62,216,154,220,60,0,62,216,155,220,60,0,62,216,156,220,60,0,62,216,157,220,60,0,62,216,158,220,60,0,62,216,159,220,60,0,62,216,160,220,60,0,62,216,161,220,60,0,62,216,162,220,60,0,62,216,163,220,60,0,62,216,164,220,60,0,62,216,165,220,60,0,62,216,166,220,60,0,62,216,167,220,60,0,62,216,168,220,60,0,62,216,169,220,60,0,62,216,170,220,60,0,62,216,171,220,60,0,62,216,172,220,60,0,62,216,173,220,60,0,62,216,176,220,60,0,62,216,177,220,60,0,54,216,0,220,60,0,54,216,1,220,60,0,54,216,2,220,60,0,54,216,3,220,60,0,54,216,4,220,60,0,54,216,5,220,60,0,54,216,6,220,60,0,54,216,7,220,60,0,54,216,8,220,60,0,54,216,9,220,60,0,54,216,10,220,60,0,54,216,11,220,60,0,54,216,12,220,60,0,54,216,13,220,60,0,54,216,14,220,60,0,54,216,15,220,60,0,54,216,16,220,60,0,54,216,17,220,60,0,54,216,18,220,60,0,54,216,19,220,60,0,54,216,20,220,60,0,54,216,21,220,60,0,54,216,22,220,60,0,54,216,23,220,60,0,54,216,24,220,60,0,54,216,25,220,60,0,54,216,26,220,60,0,54,216,27,220,60,0,54,216,28,220,60,0,54,216,29,220,60,0,54,216,30,220,60,0,54,216,31,220,60,0,54,216,32,220,60,0,54,216,33,220,60,0,54,216,34,220,60,0,54,216,35,220,60,0,54,216,36,220,60,0,54,216,37,220,60,0,54,216,38,220,60,0,54,216,39,220,60,0,54,216,40,220,60,0,54,216,41,220,60,0,54,216,42,220,60,0,54,216,43,220,60,0,54,216,44,220,60,0,54,216,45,220,60,0,54,216,46,220,60,0,54,216,47,220,60,0,54,216,48,220,60,0,54,216,49,220,60,0,54,216,50,220,60,0,54,216,51,220,60,0,54,216,52,220,60,0,54,216,53,220,60,0,54,216,54,220,60,0,54,216,55,220,60,0,54,216,56,220,60,0,54,216,57,220,60,0,54,216,58,220,60,0,54,216,59,220,60,0,54,216,60,220,60,0,54,216,61,220,60,0,54,216,62,220,60,0,54,216,63,220,60,0,54,216,64,220,60,0,54,216,65,220,60,0,54,216,66,220,60,0,54,216,67,220,60,0,54,216,68,220,60,0,54,216,69,220,60,0,54,216,70,220,60,0,54,216,71,220,60,0,54,216,72,220,60,0,54,216,73,220,60,0,54,216,74,220,60,0,54,216,75,220,60,0,54,216,76,220,60,0,54,216,77,220,60,0,54,216,78,220,60,0,54,216,79,220,60,0,54,216,80,220,60,0,54,216,81,220,60,0,54,216,82,220,60,0,54,216,83,220,60,0,54,216,84,220,60,0,54,216,85,220,60,0,54,216,86,220,60,0,54,216,87,220,60,0,54,216,88,220,60,0,54,216,89,220,60,0,54,216,90,220,60,0,54,216,91,220,60,0,54,216,92,220,60,0,54,216,93,220,60,0,54,216,94,220,60,0,54,216,95,220,60,0,54,216,96,220,60,0,54,216,97,220,60,0,54,216,98,220,60,0,54,216,99,220,60,0,54,216,100,220,60,0,54,216,101,220,60,0,54,216,102,220,60,0,54,216,103,220,60,0,54,216,104,220,60,0,54,216,105,220,60,0,54,216,106,220,60,0,54,216,107,220,60,0,54,216,108,220,60,0,54,216,109,220,60,0,54,216,110,220,60,0,54,216,111,220,60,0,54,216,112,220,60,0,54,216,113,220,60,0,54,216,114,220,60,0,54,216,115,220,60,0,54,216,116,220,60,0,54,216,117,220,60,0,54,216,118,220,60,0,54,216,119,220,60,0,54,216,120,220,60,0,54,216,121,220,60,0,54,216,122,220,60,0,54,216,123,220,60,0,54,216,124,220,60,0,54,216,125,220,60,0,54,216,126,220,60,0,54,216,127,220,60,0,54,216,128,220,60,0,54,216,129,220,60,0,54,216,130,220,60,0,54,216,131,220,60,0,54,216,132,220,60,0,54,216,133,220,60,0,54,216,134,220,60,0,54,216,135,220,60,0,54,216,136,220,60,0,54,216,137,220,60,0,54,216,138,220,60,0,54,216,139,220,60,0,54,216,140,220,60,0,54,216,141,220,60,0,54,216,142,220,60,0,54,216,143,220,60,0,54,216,144,220,60,0,54,216,145,220,60,0,54,216,146,220,60,0,54,216,147,220,60,0,54,216,148,220,60,0,54,216,149,220,60,0,54,216,150,220,60,0,54,216,151,220,60,0,54,216,152,220,60,0,54,216,153,220,60,0,54,216,154,220,60,0,54,216,155,220,60,0,54,216,156,220,60,0,54,216,157,220,60,0,54,216,158,220,60,0,54,216,159,220,60,0,54,216,160,220,60,0,54,216,161,220,60,0,54,216,162,220,60,0,54,216,163,220,60,0,54,216,164,220,60,0,54,216,165,220,60,0,54,216,166,220,60,0,54,216,167,220,60,0,54,216,168,220,60,0,54,216,169,220,60,0,54,216,170,220,60,0,54,216,171,220,60,0,54,216,172,220,60,0,54,216,173,220,60,0,54,216,174,220,60,0,54,216,175,220,60,0,54,216,176,220,60,0,54,216,177,220,60,0,54,216,178,220,60,0,54,216,179,220,60,0,54,216,180,220,60,0,54,216,181,220,60,0,54,216,182,220,60,0,54,216,183,220,60,0,54,216,184,220,60,0,54,216,185,220,60,0,54,216,186,220,60,0,54,216,187,220,60,0,54,216,188,220,60,0,54,216,189,220,60,0,54,216,190,220,60,0,54,216,191,220,60,0,54,216,192,220,60,0,54,216,193,220,60,0,54,216,194,220,60,0,54,216,195,220,60,0,54,216,196,220,60,0,54,216,197,220,60,0,54,216,198,220,60,0,54,216,199,220,60,0,54,216,200,220,60,0,54,216,201,220,60,0,54,216,202,220,60,0,54,216,203,220,60,0,54,216,204,220,60,0,54,216,205,220,60,0,54,216,206,220,60,0,54,216,207,220,60,0,54,216,208,220,60,0,54,216,209,220,60,0,54,216,210,220,60,0,54,216,211,220,60,0,54,216,212,220,60,0,54,216,213,220,60,0,54,216,214,220,60,0,54,216,215,220,60,0,54,216,216,220,60,0,54,216,217,220,60,0,54,216,218,220,60,0,54,216,219,220,60,0,54,216,220,220,60,0,54,216,221,220,60,0,54,216,222,220,60,0,54,216,223,220,60,0,54,216,224,220,60,0,54,216,225,220,60,0,54,216,226,220,60,0,54,216,227,220,60,0,54,216,228,220,60,0,54,216,229,220,60,0,54,216,230,220,60,0,54,216,231,220,60,0,54,216,232,220,60,0,54,216,233,220,60,0,54,216,234,220,60,0,54,216,235,220,60,0,54,216,236,220,60,0,54,216,237,220,60,0,54,216,238,220,60,0,54,216,239,220,60,0,54,216,240,220,60,0,54,216,241,220,60,0,54,216,242,220,60,0,54,216,243,220,60,0,54,216,244,220,60,0,54,216,245,220,60,0,54,216,246,220,60,0,54,216,247,220,60,0,54,216,248,220,60,0,54,216,249,220,60,0,54,216,250,220,60,0,54,216,251,220,60,0,54,216,252,220,60,0,54,216,253,220,60,0,54,216,254,220,60,0,54,216,255,220,60,0,54,216,0,221,60,0,54,216,1,221,60,0,54,216,2,221,60,0,54,216,3,221,60,0,54,216,4,221,60,0,54,216,5,221,60,0,54,216,6,221,60,0,54,216,7,221,60,0,54,216,8,221,60,0,54,216,9,221,60,0,54,216,10,221,60,0,54,216,11,221,60,0,54,216,12,221,60,0,54,216,13,221,60,0,54,216,14,221,60,0,54,216,15,221,60,0,54,216,16,221,60,0,54,216,17,221,60,0,54,216,18,221,60,0,54,216,19,221,60,0,54,216,20,221,60,0,54,216,21,221,60,0,54,216,22,221,60,0,54,216,23,221,60,0,54,216,24,221,60,0,54,216,25,221,60,0,54,216,26,221,60,0,54,216,27,221,60,0,54,216,28,221,60,0,54,216,29,221,60,0,54,216,30,221,60,0,54,216,31,221,60,0,54,216,32,221,60,0,54,216,33,221,60,0,54,216,34,221,60,0,54,216,35,221,60,0,54,216,36,221,60,0,54,216,37,221,60,0,54,216,38,221,60,0,54,216,39,221,60,0,54,216,40,221,60,0,54,216,41,221,60,0,54,216,42,221,60,0,54,216,43,221,60,0,54,216,44,221,60,0,54,216,45,221,60,0,54,216,46,221,60,0,54,216,47,221,60,0,54,216,48,221,60,0,54,216,49,221,60,0,54,216,50,221,60,0,54,216,51,221,60,0,54,216,52,221,60,0,54,216,53,221,60,0,54,216,54,221,60,0,54,216,55,221,60,0,54,216,56,221,60,0,54,216,57,221,60,0,54,216,58,221,60,0,54,216,59,221,60,0,54,216,60,221,60,0,54,216,61,221,60,0,54,216,62,221,60,0,54,216,63,221,60,0,54,216,64,221,60,0,54,216,65,221,60,0,54,216,66,221,60,0,54,216,67,221,60,0,54,216,68,221,60,0,54,216,69,221,60,0,54,216,70,221,60,0,54,216,71,221,60,0,54,216,72,221,60,0,54,216,73,221,60,0,54,216,74,221,60,0,54,216,75,221,60,0,54,216,76,221,60,0,54,216,77,221,60,0,54,216,78,221,60,0,54,216,79,221,60,0,54,216,80,221,60,0,54,216,81,221,60,0,54,216,82,221,60,0,54,216,83,221,60,0,54,216,84,221,60,0,54,216,85,221,60,0,54,216,86,221,60,0,54,216,87,221,60,0,54,216,88,221,60,0,54,216,89,221,60,0,54,216,90,221,60,0,54,216,91,221,60,0,54,216,92,221,60,0,54,216,93,221,60,0,54,216,94,221,60,0,54,216,95,221,60,0,54,216,96,221,60,0,54,216,97,221,60,0,54,216,98,221,60,0,54,216,99,221,60,0,54,216,100,221,60,0,54,216,101,221,60,0,54,216,102,221,60,0,54,216,103,221,60,0,54,216,104,221,60,0,54,216,105,221,60,0,54,216,106,221,60,0,54,216,107,221,60,0,54,216,108,221,60,0,54,216,109,221,60,0,54,216,110,221,60,0,54,216,111,221,60,0,54,216,112,221,60,0,54,216,113,221,60,0,54,216,114,221,60,0,54,216,115,221,60,0,54,216,116,221,60,0,54,216,117,221,60,0,54,216,118,221,60,0,54,216,119,221,60,0,54,216,120,221,60,0,54,216,121,221,60,0,54,216,122,221,60,0,54,216,123,221,60,0,54,216,124,221,60,0,54,216,125,221,60,0,54,216,126,221,60,0,54,216,127,221,60,0,54,216,128,221,60,0,54,216,129,221,60,0,54,216,130,221,60,0,54,216,131,221,60,0,54,216,132,221,60,0,54,216,133,221,60,0,54,216,134,221,60,0,54,216,135,221,60,0,54,216,136,221,60,0,54,216,137,221,60,0,54,216,138,221,60,0,54,216,139,221,60,0,54,216,140,221,60,0,54,216,141,221,60,0,54,216,142,221,60,0,54,216,143,221,60,0,54,216,144,221,60,0,54,216,145,221,60,0,54,216,146,221,60,0,54,216,147,221,60,0,54,216,148,221,60,0,54,216,149,221,60,0,54,216,150,221,60,0,54,216,151,221,60,0,54,216,152,221,60,0,54,216,153,221,60,0,54,216,154,221,60,0,54,216,155,221,60,0,54,216,156,221,60,0,54,216,157,221,60,0,54,216,158,221,60,0,54,216,159,221,60,0,54,216,160,221,60,0,54,216,161,221,60,0,54,216,162,221,60,0,54,216,163,221,60,0,54,216,164,221,60,0,54,216,165,221,60,0,54,216,166,221,60,0,54,216,167,221,60,0,54,216,168,221,60,0,54,216,169,221,60,0,54,216,170,221,60,0,54,216,171,221,60,0,54,216,172,221,60,0,54,216,173,221,60,0,54,216,174,221,60,0,54,216,175,221,60,0,54,216,176,221,60,0,54,216,177,221,60,0,54,216,178,221,60,0,54,216,179,221,60,0,54,216,180,221,60,0,54,216,181,221,60,0,54,216,182,221,60,0,54,216,183,221,60,0,54,216,184,221,60,0,54,216,185,221,60,0,54,216,186,221,60,0,54,216,187,221,60,0,54,216,188,221,60,0,54,216,189,221,60,0,54,216,190,221,60,0,54,216,191,221,60,0,54,216,192,221,60,0,54,216,193,221,60,0,54,216,194,221,60,0,54,216,195,221,60,0,54,216,196,221,60,0,54,216,197,221,60,0,54,216,198,221,60,0,54,216,199,221,60,0,54,216,200,221,60,0,54,216,201,221,60,0,54,216,202,221,60,0,54,216,203,221,60,0,54,216,204,221,60,0,54,216,205,221,60,0,54,216,206,221,60,0,54,216,207,221,60,0,54,216,208,221,60,0,54,216,209,221,60,0,54,216,210,221,60,0,54,216,211,221,60,0,54,216,212,221,60,0,54,216,213,221,60,0,54,216,214,221,60,0,54,216,215,221,60,0,54,216,216,221,60,0,54,216,217,221,60,0,54,216,218,221,60,0,54,216,219,221,60,0,54,216,220,221,60,0,54,216,221,221,60,0,54,216,222,221,60,0,54,216,223,221,60,0,54,216,224,221,60,0,54,216,225,221,60,0,54,216,226,221,60,0,54,216,227,221,60,0,54,216,228,221,60,0,54,216,229,221,60,0,54,216,230,221,60,0,54,216,231,221,60,0,54,216,232,221,60,0,54,216,233,221,60,0,54,216,234,221,60,0,54,216,235,221,60,0,54,216,236,221,60,0,54,216,237,221,60,0,54,216,238,221,60,0,54,216,239,221,60,0,54,216,240,221,60,0,54,216,241,221,60,0,54,216,242,221,60,0,54,216,243,221,60,0,54,216,244,221,60,0,54,216,245,221,60,0,54,216,246,221,60,0,54,216,247,221,60,0,54,216,248,221,60,0,54,216,249,221,60,0,54,216,250,221,60,0,54,216,251,221,60,0,54,216,252,221,60,0,54,216,253,221,60,0,54,216,254,221,60,0,54,216,255,221,60,0,54,216,55,222,60,0,54,216,56,222,60,0,54,216,57,222,60,0,54,216,58,222,60,0,54,216,109,222,60,0,54,216,110,222,60,0,54,216,111,222,60,0,54,216,112,222,60,0,54,216,113,222,60,0,54,216,114,222,60,0,54,216,115,222,60,0,54,216,116,222,60,0,54,216,118,222,60,0,54,216,119,222,60,0,54,216,120,222,60,0,54,216,121,222,60,0,54,216,122,222,60,0,54,216,123,222,60,0,54,216,124,222,60,0,54,216,125,222,60,0,54,216,126,222,60,0,54,216,127,222,60,0,54,216,128,222,60,0,54,216,129,222,60,0,54,216,130,222,60,0,54,216,131,222,60,0,54,216,133,222,60,0,54,216,134,222,60,0,240,47,60,0,241,47,60,0,242,47,60,0,243,47,60,0,244,47,60,0,245,47,60,0,246,47,60,0,247,47,60,0,248,47,60,0,249,47,60,0,250,47,60,0,251,47,60,0,192,49,60,0,193,49,60,0,194,49,60,0,195,49,60,0,196,49,60,0,197,49,60,0,198,49,60,0,199,49,60,0,200,49,60,0,201,49,60,0,202,49,60,0,203,49,60,0,204,49,60,0,205,49,60,0,206,49,60,0,207,49,60,0,208,49,60,0,209,49,60,0,210,49,60,0,211,49,60,0,212,49,60,0,213,49,60,0,214,49,60,0,215,49,60,0,216,49,60,0,217,49,60,0,218,49,60,0,219,49,60,0,220,49,60,0,221,49,60,0,222,49,60,0,223,49,60,0,224,49,60,0,225,49,60,0,226,49,60,0,227,49,60,0,4,48,60,0,18,48,60,0,60,0,60,0,54,48,60,0,19,48,60,0,32,48,60,0,55,48,60,0,62,48,60,0,63,48,60,0,144,49,60,0,145,49,60,0,127,50,60,0,252,255,60,0,208,2,60,0,60,0,60,0,1,216,129,223,60,0,209,2,60,0,60,0,60,0,1,216,130,223,60,0,113,9,60,0,70,14,60,0,198,14,60,0,215,23,60,0,167,26,60,0,207,169,60,0,230,169,60,0,112,170,60,0,221,170,60,0,243,170,60,0,244,170,60,0,26,216,66,223,60,0,26,216,67,223,60,0,56,216,60,221,60,0,56,216,61,221,60,0,5,48,60,0,59,48,60,0,27,216,224,223,60,0,27,216,225,223,60,0,27,216,227,223,60,0,49,48,60,0,60,0,60,0,50,48,47,0,153,48,60,0,51,48,60,0,60,0,60,0,52,48,47,0,153,48,60,0,53,48,60,0,157,48,60,0,252,48,60,0,60,0,60,0,112,255,60,0,253,48,38,0,252,253,60,0,164,0,60,0,162,0,60,0,60,0,60,0,224,255,60,0,39,0,36,0,39,0,60,0,60,0,60,0,4,255,60,0,60,0,60,0,105,254,60,0,163,0,60,0,60,0,60,0,225,255,60,0,165,0,60,0,60,0,60,0,229,255,60,0,143,5,60,0,14,32,11,6,14,32,60,0,14,32,254,7,14,32,60,0,14,32,255,7,14,32,60,0,242,9,60,0,243,9,60,0,251,9,60,0,241,10,60,0,56,168,60,0,249,11,60,0,7,216,221,223,60,0,7,216,222,223,60,0,7,216,223,223,60,0,7,216,224,223,60,0,63,14,60,0,219,23,60,0,56,216,255,222,60,0,160,32,60,0,161,32,60,0,162,32,60,0,163,32,60,0,164,32,60,0,165,32,60,0,166,32,60,0,167,32,60,0,169,32,60,0,60,0,60,0,230,255,60,0,170,32,60,0,171,32,60,0,172,32,60,0,173,32,60,0,174,32,60,0,175,32,60,0,176,32,60,0,177,32,60,0,178,32,60,0,179,32,60,0,180,32,60,0,181,32,60,0,182,32,60,0,183,32,60,0,184,32,60,0,185,32,60,0,14,32,59,216,176,220,14,32,60,0,186,32,60,0,187,32,60,0,188,32,60,0,189,32,60,0,190,32,60,0,191,32,60,0,192,32,60,0,168,32,60,0,14,32,252,253,14,32,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,244,9,60,0,245,9,60,0,246,9,60,0,247,9,60,0,248,9,60,0,249,9,60,0,114,11,60,0,115,11,60,0,116,11,60,0,117,11,60,0,118,11,60,0,119,11,60,0,48,168,60,0,49,168,60,0,50,168,60,0,51,168,60,0,52,168,60,0,53,168,60,0,240,11,60,0,241,11,60,0,242,11,60,0,7,216,192,223,60,0,7,216,193,223,60,0,7,216,194,223,60,0,7,216,195,223,60,0,7,216,196,223,60,0,7,216,197,223,60,0,7,216,198,223,60,0,7,216,199,223,60,0,7,216,200,223,60,0,7,216,201,223,60,0,7,216,202,223,60,0,7,216,203,223,60,0,7,216,204,223,60,0,7,216,205,223,60,0,7,216,206,223,60,0,7,216,207,223,60,0,7,216,208,223,60,0,7,216,209,223,60,0,7,216,210,223,60,0,7,216,211,223,60,0,7,216,212,223,60,0,88,13,60,0,89,13,60,0,90,13,60,0,91,13,60,0,92,13,60,0,93,13,60,0,94,13,60,0,112,13,60,0,113,13,60,0,114,13,60,0,115,13,60,0,116,13,60,0,117,13,60,0,118,13,60,0,119,13,60,0,120,13,60,0,114,19,60,0,115,19,60,0,116,19,60,0,117,19,60,0,118,19,60,0,119,19,60,0,120,19,60,0,121,19,60,0,122,19,60,0,123,19,60,0,124,19,60,0,128,33,60,0,129,33,60,0,130,33,60,0,134,33,60,0,135,33,60,0,136,33,60,0,3,216,105,222,60,0,3,216,106,222,60,0,3,216,107,222,60,0,3,216,108,222,60,0,3,216,109,222,60,0,3,216,110,222,60,0,3,216,111,222,60,0,3,216,112,222,60,0,3,216,113,222,60,0,3,216,114,222,60,0,3,216,115,222,60,0,3,216,116,222,60,0,3,216,117,222,60,0,3,216,118,222,60,0,3,216,119,222,60,0,3,216,120,222,60,0,3,216,121,222,60,0,3,216,122,222,60,0,3,216,123,222,60,0,3,216,124,222,60,0,3,216,125,222,60,0,3,216,126,222,60,0,253,44,60,0,0,216,34,223,60,0,0,216,35,223,60,0,14,32,3,216,252,220,14,32,60,0,14,32,3,216,253,220,14,32,60,0,14,32,3,216,254,220,14,32,60,0,14,32,3,216,255,220,14,32,60,0,0,216,16,221,60,0,0,216,17,221,60,0,0,216,18,221,60,0,0,216,19,221,60,0,0,216,20,221,60,0,0,216,21,221,60,0,0,216,22,221,60,0,0,216,23,221,60,0,0,216,24,221,60,0,0,216,25,221,60,0,0,216,26,221,60,0,0,216,27,221,60,0,0,216,28,221,60,0,0,216,29,221,60,0,0,216,30,221,60,0,0,216,31,221,60,0,0,216,32,221,60,0,0,216,33,221,60,0,0,216,34,221,60,0,0,216,35,221,60,0,0,216,36,221,60,0,0,216,37,221,60,0,0,216,38,221,60,0,0,216,39,221,60,0,0,216,40,221,60,0,0,216,41,221,60,0,0,216,42,221,60,0,0,216,43,221,60,0,0,216,44,221,60,0,0,216,45,221,60,0,0,216,46,221,60,0,0,216,47,221,60,0,0,216,48,221,60,0,0,216,49,221,60,0,0,216,50,221,60,0,0,216,51,221,60,0,0,216,64,221,60,0,0,216,65,221,60,0,0,216,68,221,60,0,0,216,69,221,60,0,0,216,70,221,60,0,0,216,71,221,60,0,0,216,73,221,60,0,0,216,74,221,60,0,0,216,75,221,60,0,0,216,76,221,60,0,0,216,77,221,60,0,0,216,78,221,60,0,0,216,80,221,60,0,0,216,81,221,60,0,0,216,82,221,60,0,0,216,83,221,60,0,0,216,84,221,60,0,0,216,85,221,60,0,0,216,86,221,60,0,0,216,87,221,60,0,0,216,96,221,60,0,0,216,97,221,60,0,0,216,98,221,60,0,0,216,99,221,60,0,0,216,100,221,60,0,0,216,101,221,60,0,0,216,102,221,60,0,0,216,103,221,60,0,0,216,104,221,60,0,0,216,105,221,60,0,0,216,106,221,60,0,0,216,107,221,60,0,0,216,108,221,60,0,0,216,109,221,60,0,0,216,110,221,60,0,0,216,111,221,60,0,0,216,112,221,60,0,0,216,113,221,60,0,0,216,114,221,60,0,0,216,116,221,60,0,0,216,117,221,60,0,0,216,118,221,60,0,0,216,119,221,60,0,0,216,120,221,60,0,0,216,139,221,60,0,0,216,234,222,60,0,0,216,235,222,60,0,0,216,236,222,60,0,0,216,237,222,60,0,0,216,238,222,60,0,0,216,239,222,60,0,0,216,240,222,60,0,0,216,241,222,60,0,0,216,242,222,60,0,0,216,243,222,60,0,0,216,244,222,60,0,0,216,245,222,60,0,0,216,246,222,60,0,0,216,247,222,60,0,0,216,248,222,60,0,0,216,249,222,60,0,0,216,250,222,60,0,0,216,251,222,60,0,0,216,211,223,60,0,0,216,212,223,60,0,0,216,213,223,60,0,14,32,2,216,126,220,14,32,60,0,14,32,2,216,127,220,14,32,60,0,14,32,2,216,173,220,14,32,60,0,14,32,2,216,174,220,14,32,60,0,14,32,2,216,175,220,14,32,60,0,14,32,2,216,253,220,14,32,60,0,14,32,2,216,254,220,14,32,60,0,14,32,2,216,255,220,14,32,60,0,14,32,2,216,126,222,14,32,60,0,14,32,2,216,158,222,14,32,60,0,14,32,2,216,159,222,14,32,60,0,14,32,2,216,23,221,14,32,60,0,14,32,2,216,24,221,14,32,60,0,14,32,2,216,25,221,14,32,60,0,14,32,2,216,91,220,14,32,60,0,14,32,2,216,92,220,14,32,60,0,14,32,2,216,93,220,14,32,60,0,14,32,2,216,94,220,14,32,60,0,14,32,2,216,95,220,14,32,60,0,14,32,2,216,237,222,14,32,60,0,14,32,2,216,238,222,14,32,60,0,14,32,2,216,239,222,14,32,60,0,14,32,2,216,92,223,14,32,60,0,14,32,2,216,93,223,14,32,60,0,14,32,2,216,94,223,14,32,60,0,14,32,2,216,95,223,14,32,60,0,14,32,2,216,124,223,14,32,60,0,14,32,2,216,125,223,14,32,60,0,14,32,2,216,126,223,14,32,60,0,14,32,2,216,127,223,14,32,60,0,14,32,2,216,173,223,14,32,60,0,14,32,2,216,174,223,14,32,60,0,14,32,2,216,175,223,14,32,60,0,14,32,3,216,34,223,14,32,60,0,14,32,3,216,35,223,14,32,60,0,14,32,3,216,36,223,14,32,60,0,14,32,3,216,37,223,14,32,60,0,14,32,3,216,38,223,14,32,60,0,14,32,3,216,82,223,14,32,60,0,14,32,3,216,83,223,14,32,60,0,14,32,3,216,84,223,14,32,60,0,14,32,3,216,201,223,14,32,60,0,14,32,3,216,202,223,14,32,60,0,14,32,3,216,203,223,14,32,60,0,5,216,58,223,60,0,5,216,59,223,60,0,4,216,91,220,60,0,4,216,92,220,60,0,4,216,93,220,60,0,4,216,94,220,60,0,4,216,95,220,60,0,4,216,96,220,60,0,4,216,97,220,60,0,4,216,98,220,60,0,4,216,99,220,60,0,4,216,100,220,60,0,4,216,101,220,60,0,14,32,2,216,68,222,14,32,60,0,14,32,2,216,69,222,14,32,60,0,14,32,2,216,70,222,14,32,60,0,14,32,2,216,71,222,14,32,60,0,14,32,2,216,72,222,14,32,60,0,7,216,99,220,60,0,7,216,100,220,60,0,7,216,101,220,60,0,7,216,102,220,60,0,7,216,103,220,60,0,7,216,104,220,60,0,7,216,105,220,60,0,7,216,106,220,60,0,7,216,107,220,60,0,7,216,108,220,60,0,4,216,234,221,60,0,4,216,235,221,60,0,4,216,236,221,60,0,4,216,237,221,60,0,4,216,238,221,60,0,4,216,239,221,60,0,4,216,240,221,60,0,4,216,241,221,60,0,4,216,242,221,60,0,4,216,243,221,60,0,4,216,244,221,60,0,6,216,234,220,60,0,6,216,235,220,60,0,6,216,236,220,60,0,6,216,237,220,60,0,6,216,238,220,60,0,6,216,239,220,60,0,6,216,240,220,60,0,6,216,241,220,60,0,6,216,242,220,60,0,26,216,91,223,60,0,26,216,92,223,60,0,26,216,93,223,60,0,26,216,94,223,60,0,26,216,95,223,60,0,26,216,96,223,60,0,26,216,97,223,60,0,27,216,138,222,60,0,27,216,139,222,60,0,27,216,140,222,60,0,27,216,141,222,60,0,27,216,142,222,60,0,27,216,143,222,60,0,27,216,144,222,60,0,27,216,145,222,60,0,27,216,146,222,60,0,27,216,147,222,60,0,52,216,202,222,60,0,52,216,203,222,60,0,52,216,204,222,60,0,52,216,205,222,60,0,52,216,206,222,60,0,52,216,207,222,60,0,52,216,208,222,60,0,52,216,209,222,60,0,52,216,210,222,60,0,52,216,211,222,60,0,52,216,234,222,60,0,52,216,235,222,60,0,52,216,236,222,60,0,52,216,237,222,60,0,52,216,238,222,60,0,52,216,239,222,60,0,52,216,240,222,60,0,52,216,241,222,60,0,52,216,242,222,60,0,52,216,243,222,60,0,14,32,59,216,122,220,14,32,60,0,14,32,59,216,123,220,14,32,60,0,14,32,59,216,124,220,14,32,60,0,14,32,59,216,125,220,14,32,60,0,14,32,59,216,126,220,14,32,60,0,14,32,59,216,127,220,14,32,60,0,14,32,59,216,128,220,14,32,60,0,14,32,59,216,129,220,14,32,60,0,14,32,59,216,130,220,14,32,60,0,14,32,59,216,131,220,14,32,60,0,14,32,59,216,132,220,14,32,60,0,14,32,59,216,133,220,14,32,60,0,14,32,59,216,134,220,14,32,60,0,14,32,59,216,135,220,14,32,60,0,14,32,59,216,136,220,14,32,60,0,14,32,59,216,137,220,14,32,60,0,14,32,59,216,138,220,14,32,60,0,14,32,59,216,139,220,14,32,60,0,14,32,59,216,140,220,14,32,60,0,14,32,59,216,141,220,14,32,60,0,14,32,59,216,142,220,14,32,60,0,14,32,59,216,143,220,14,32,60,0,14,32,59,216,144,220,14,32,60,0,14,32,59,216,145,220,14,32,60,0,14,32,59,216,146,220,14,32,60,0,14,32,59,216,147,220,14,32,60,0,14,32,59,216,148,220,14,32,60,0,14,32,59,216,149,220,14,32,60,0,14,32,59,216,150,220,14,32,60,0,14,32,59,216,151,220,14,32,60,0,14,32,59,216,152,220,14,32,60,0,14,32,59,216,153,220,14,32,60,0,14,32,59,216,154,220,14,32,60,0,14,32,59,216,155,220,14,32,60,0,14,32,59,216,156,220,14,32,60,0,14,32,59,216,157,220,14,32,60,0,14,32,59,216,158,220,14,32,60,0,14,32,59,216,159,220,14,32,60,0,14,32,59,216,160,220,14,32,60,0,14,32,59,216,161,220,14,32,60,0,14,32,59,216,162,220,14,32,60,0,14,32,59,216,173,220,14,32,60,0,14,32,59,216,174,220,14,32,60,0,14,32,59,216,175,220,14,32,60,0,14,32,59,216,179,220,14,32,60,0,14,32,59,216,180,220,14,32,60,0,14,32,59,216,10,221,14,32,60,0,14,32,59,216,11,221,14,32,60,0,14,32,59,216,12,221,14,32,60,0,14,32,59,216,13,221,14,32,60,0,14,32,59,216,14,221,14,32,60,0,14,32,59,216,15,221,14,32,60,0,14,32,59,216,16,221,14,32,60,0,14,32,59,216,17,221,14,32,60,0,14,32,59,216,18,221,14,32,60,0,14,32,59,216,19,221,14,32,60,0,14,32,59,216,20,221,14,32,60,0,14,32,59,216,21,221,14,32,60,0,14,32,59,216,22,221,14,32,60,0,14,32,59,216,23,221,14,32,60,0,14,32,59,216,24,221,14,32,60,0,14,32,59,216,25,221,14,32,60,0,14,32,59,216,26,221,14,32,60,0,14,32,59,216,27,221,14,32,60,0,14,32,59,216,28,221,14,32,60,0,14,32,59,216,29,221,14,32,60,0,14,32,59,216,30,221,14,32,60,0,14,32,59,216,31,221,14,32,60,0,14,32,59,216,32,221,14,32,60,0,14,32,59,216,33,221,14,32,60,0,14,32,59,216,34,221,14,32,60,0,14,32,59,216,35,221,14,32,60,0,14,32,59,216,36,221,14,32,60,0,14,32,59,216,37,221,14,32,60,0,14,32,59,216,38,221,14,32,60,0,14,32,59,216,39,221,14,32,60,0,14,32,59,216,40,221,14,32,60,0,14,32,59,216,41,221,14,32,60,0,14,32,59,216,42,221,14,32,60,0,14,32,59,216,43,221,14,32,60,0,14,32,59,216,44,221,14,32,60,0,14,32,59,216,45,221,14,32,60,0,14,32,59,216,55,221,14,32,60,0,14,32,59,216,56,221,14,32,60,0,14,32,59,216,57,221,14,32,60,0,14,32,59,216,58,221,14,32,60,0,14,32,59,216,59,221,14,32,60,0,14,32,59,216,60,221,14,32,60,0,14,32,59,216,61,221,14,32,60,0,14,32,2,216,201,221,14,32,60,0,14,32,2,216,202,221,14,32,60,0,14,32,2,216,203,221,14,32,60,0,14,32,2,216,204,221,14,32,60,0,14,32,2,216,205,221,14,32,60,0,14,32,2,216,206,221,14,32,60,0,14,32,2,216,207,221,14,32,60,0,14,32,2,216,210,221,14,32,60,0,14,32,2,216,211,221,14,32,60,0,14,32,2,216,212,221,14,32,60,0,14,32,2,216,213,221,14,32,60,0,14,32,2,216,214,221,14,32,60,0,14,32,2,216,215,221,14,32,60,0,14,32,2,216,216,221,14,32,60,0,14,32,2,216,217,221,14,32,60,0,14,32,2,216,218,221,14,32,60,0,14,32,2,216,219,221,14,32,60,0,14,32,2,216,220,221,14,32,60,0,14,32,2,216,221,221,14,32,60,0,14,32,2,216,222,221,14,32,60,0,14,32,2,216,223,221,14,32,60,0,14,32,2,216,224,221,14,32,60,0,14,32,2,216,225,221,14,32,60,0,14,32,2,216,226,221,14,32,60,0,14,32,2,216,227,221,14,32,60,0,14,32,2,216,228,221,14,32,60,0,14,32,2,216,229,221,14,32,60,0,14,32,2,216,230,221,14,32,60,0,14,32,2,216,231,221,14,32,60,0,14,32,2,216,232,221,14,32,60,0,14,32,2,216,233,221,14,32,60,0,14,32,2,216,234,221,14,32,60,0,14,32,2,216,235,221,14,32,60,0,14,32,2,216,236,221,14,32,60,0,14,32,2,216,237,221,14,32,60,0,14,32,2,216,238,221,14,32,60,0,14,32,2,216,239,221,14,32,60,0,14,32,2,216,240,221,14,32,60,0,14,32,2,216,241,221,14,32,60,0,14,32,2,216,242,221,14,32,60,0,14,32,2,216,243,221,14,32,60,0,14,32,2,216,244,221,14,32,60,0,14,32,2,216,245,221,14,32,60,0,14,32,2,216,189,221,14,32,60,0,14,32,2,216,246,221,14,32,60,0,14,32,2,216,247,221,14,32,60,0,14,32,2,216,248,221,14,32,60,0,14,32,2,216,249,221,14,32,60,0,14,32,2,216,250,221,14,32,60,0,14,32,2,216,251,221,14,32,60,0,14,32,2,216,252,221,14,32,60,0,14,32,2,216,253,221,14,32,60,0,14,32,2,216,254,221,14,32,60,0,14,32,2,216,255,221,14,32,60,0,14,32,2,216,188,221,14,32,60,0,9,216,50,220,60,0,9,216,51,220,60,0,9,216,90,220,60,0,9,216,91,220,60,0,9,216,92,220,60,0,9,216,93,220,60,0,9,216,94,220,60,0,9,216,95,220,60,0,9,216,96,220,60,0,9,216,97,220,60,0,9,216,98,220,60,0,9,216,99,220,60,0,9,216,100,220,60,0,9,216,101,220,60,0,9,216,102,220,60,0,9,216,103,220,60,0,9,216,104,220,60,0,52,216,105,223,60,0,52,216,106,223,60,0,52,216,107,223,60,0,52,216,108,223,60,0,52,216,109,223,60,0,52,216,110,223,60,0,52,216,111,223,60,0,52,216,112,223,60,0,52,216,113,223,60,0,48,0,61,0,96,6,61,0,240,6,61,0,14,32,192,7,14,32,61,0,102,9,61,0,230,9,61,0,102,10,61,0,230,10,61,0,102,11,61,0,230,11,61,0,102,12,61,0,120,12,61,0,230,12,61,0,102,13,61,0,230,13,61,0,80,14,61,0,208,14,61,0,32,15,61,0,64,16,61,0,144,16,61,0,224,23,61,0,240,23,61,0,16,24,61,0,70,25,61,0,208,25,61,0,128,26,61,0,144,26,61,0,80,27,61,0,176,27,61,0,64,28,61,0,80,28,61,0,7,48,61,0,32,166,61,0,208,168,61,0,0,169,61,0,208,169,61,0,240,169,61,0,80,170,61,0,240,171,61,0,0,216,138,221,61,0,1,216,160,220,61,0,3,216,48,221,61,0,4,216,102,220,61,0,4,216,240,220,61,0,4,216,54,221,61,0,4,216,208,221,61,0,4,216,240,222,61,0,5,216,80,220,61,0,5,216,208,220,61,0,5,216,80,222,61,0,5,216,192,222,61,0,5,216,48,223,61,0,6,216,224,220,61,0,6,216,80,221,61,0,7,216,80,220,61,0,7,216,80,221,61,0,7,216,160,221,61,0,7,216,80,223,61,0,26,216,96,222,61,0,26,216,192,222,61,0,26,216,80,223,61,0,27,216,128,222,61,0,52,216,192,222,61,0,52,216,224,222,61,0,56,216,64,221,61,0,56,216,240,222,61,0,57,216,240,220,61,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,16,255,60,0,60,0,60,0,51,15,60,0,60,0,60,0,60,216,1,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,60,216,0,221,47,0,39,0,46,0,39,0,60,0,60,0,60,0,88,51,47,0,185,112,60,0,60,0,60,0,53,216,206,223,61,0,53,216,216,223,61,0,53,216,226,223,61,0,53,216,236,223,61,0,53,216,246,223,61,0,62,216,240,223,60,0,60,0,60,0,234,36,61,0,255,36,61,0,60,216,11,221,61,0,60,216,12,221,60,0,60,0,60,0,112,32,60,0,60,0,60,0,128,32,60,0,60,0,60,0,137,33,47,0,14,32,68,32,59,216,3,221,14,32,60,0,49,0,61,0,97,6,61,0,241,6,61,0,14,32,193,7,14,32,61,0,103,9,61,0,231,9,61,0,103,10,61,0,231,10,61,0,103,11,61,0,231,11,61,0,103,12,61,0,121,12,61,0,124,12,61,0,231,12,61,0,103,13,61,0,231,13,61,0,81,14,61,0,209,14,61,0,33,15,61,0,65,16,61,0,145,16,61,0,105,19,61,0,225,23,61,0,241,23,61,0,17,24,61,0,71,25,61,0,209,25,61,0,218,25,61,0,129,26,61,0,145,26,61,0,81,27,61,0,177,27,61,0,65,28,61,0,81,28,61,0,33,48,61,0,33,166,61,0,209,168,61,0,1,169,61,0,209,169,61,0,241,169,61,0,81,170,61,0,241,171,61,0,0,216,7,221,61,0,0,216,66,221,61,0,0,216,88,221,61,0,0,216,89,221,61,0,0,216,90,221,61,0,0,216,225,222,61,0,0,216,32,223,61,0,0,216,209,223,61,0,1,216,161,220,61,0,14,32,2,216,88,220,14,32,61,0,14,32,2,216,121,220,14,32,61,0,14,32,2,216,167,220,14,32,61,0,14,32,2,216,251,220,14,32,61,0,14,32,2,216,22,221,14,32,61,0,14,32,2,216,192,221,14,32,61,0,14,32,2,216,64,222,14,32,61,0,14,32,2,216,125,222,14,32,61,0,14,32,2,216,157,222,14,32,61,0,14,32,2,216,235,222,14,32,61,0,14,32,2,216,88,223,14,32,61,0,14,32,2,216,120,223,14,32,61,0,14,32,2,216,169,223,14,32,61,0,14,32,3,216,250,220,14,32,61,0,3,216,49,221,61,0,3,216,96,222,61,0,14,32,3,216,29,223,14,32,61,0,14,32,3,216,81,223,14,32,61,0,14,32,3,216,197,223,14,32,61,0,4,216,82,220,61,0,4,216,103,220,61,0,4,216,241,220,61,0,4,216,55,221,61,0,4,216,209,221,61,0,4,216,225,221,61,0,4,216,241,222,61,0,5,216,81,220,61,0,5,216,209,220,61,0,5,216,81,222,61,0,5,216,193,222,61,0,5,216,49,223,61,0,6,216,225,220,61,0,6,216,81,221,61,0,7,216,81,220,61,0,7,216,90,220,61,0,7,216,81,221,61,0,7,216,161,221,61,0,7,216,81,223,61,0,9,216,21,220,61,0,9,216,30,220,61,0,9,216,44,220,61,0,9,216,52,220,61,0,9,216,79,220,61,0,9,216,88,220,61,0,26,216,97,222,61,0,26,216,193,222,61,0,26,216,81,223,61,0,27,216,129,222,61,0,52,216,193,222,61,0,52,216,225,222,61,0,52,216,96,223,61,0,52,216,114,223,61,0,52,216,119,223,61,0,56,216,65,221,61,0,56,216,241,222,61,0,57,216,241,220,61,0,14,32,58,216,199,220,14,32,61,0,14,32,58,216,81,221,14,32,61,0,14,32,59,216,113,220,14,32,61,0,14,32,59,216,163,220,14,32,61,0,14,32,59,216,1,221,14,32,60,0,60,0,60,0,17,255,60,0,60,0,60,0,42,15,60,0,60,0,60,0,60,216,2,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,136,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,145,36,47,0,14,32,58,216,80,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,233,51,47,0,14,32,58,216,80,221,229,101,14,32,60,0,60,0,60,0,201,50,47,0,14,32,58,216,80,221,8,103,14,32,60,0,60,0,60,0,98,51,47,0,14,32,58,216,80,221,185,112,14,32,60,0,60,0,60,0,146,36,47,0,14,32,59,216,1,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,234,51,47,0,14,32,59,216,1,221,229,101,14,32,60,0,60,0,60,0,202,50,47,0,14,32,59,216,1,221,8,103,14,32,60,0,60,0,60,0,99,51,47,0,14,32,59,216,1,221,185,112,14,32,60,0,60,0,60,0,147,36,47,0,14,32,59,216,2,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,235,51,47,0,14,32,59,216,2,221,229,101,14,32,60,0,60,0,60,0,203,50,47,0,14,32,59,216,2,221,8,103,14,32,60,0,60,0,60,0,100,51,47,0,14,32,59,216,2,221,185,112,14,32,60,0,60,0,60,0,148,36,47,0,14,32,59,216,3,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,236,51,47,0,14,32,59,216,3,221,229,101,14,32,60,0,60,0,60,0,101,51,47,0,14,32,59,216,3,221,185,112,14,32,60,0,60,0,60,0,149,36,47,0,14,32,59,216,4,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,237,51,47,0,14,32,59,216,4,221,229,101,14,32,60,0,60,0,60,0,102,51,47,0,14,32,59,216,4,221,185,112,14,32,60,0,60,0,60,0,150,36,47,0,14,32,59,216,5,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,238,51,47,0,14,32,59,216,5,221,229,101,14,32,60,0,60,0,60,0,103,51,47,0,14,32,59,216,5,221,185,112,14,32,60,0,60,0,60,0,151,36,47,0,14,32,59,216,6,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,239,51,47,0,14,32,59,216,6,221,229,101,14,32,60,0,60,0,60,0,104,51,47,0,14,32,59,216,6,221,185,112,14,32,60,0,60,0,60,0,152,36,47,0,14,32,59,216,7,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,240,51,47,0,14,32,59,216,7,221,229,101,14,32,60,0,60,0,60,0,105,51,47,0,14,32,59,216,7,221,185,112,14,32,60,0,60,0,60,0,153,36,47,0,14,32,59,216,8,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,241,51,47,0,14,32,59,216,8,221,229,101,14,32,60,0,60,0,60,0,106,51,47,0,14,32,59,216,8,221,185,112,14,32,60,0,60,0,60,0,154,36,47,0,14,32,59,216,9,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,242,51,47,0,14,32,59,216,9,221,229,101,14,32,60,0,60,0,60,0,107,51,47,0,14,32,59,216,9,221,185,112,14,32,60,0,60,0,60,0,224,51,47,0,229,101,60,0,60,0,60,0,192,50,47,0,8,103,60,0,60,0,60,0,89,51,47,0,185,112,60,0,60,0,60,0,53,216,207,223,61,0,53,216,217,223,61,0,53,216,227,223,61,0,53,216,237,223,61,0,53,216,247,223,61,0,62,216,241,223,60,0,60,0,60,0,96,36,61,0,245,36,61,0,118,39,61,0,128,39,61,0,138,39,60,0,60,0,60,0,105,36,47,0,14,32,58,216,80,221,14,32,61,0,254,36,47,0,14,32,58,216,80,221,14,32,61,0,127,39,47,0,14,32,58,216,80,221,14,32,61,0,137,39,47,0,14,32,58,216,80,221,14,32,61,0,147,39,47,0,14,32,58,216,80,221,14,32,61,0,72,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,106,36,47,0,14,32,59,216,1,221,14,32,61,0,235,36,47,0,14,32,59,216,1,221,14,32,60,0,60,0,60,0,107,36,47,0,14,32,59,216,2,221,14,32,61,0,236,36,47,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,108,36,47,0,14,32,59,216,3,221,14,32,61,0,237,36,47,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,109,36,47,0,14,32,59,216,4,221,14,32,61,0,238,36,47,0,14,32,59,216,4,221,14,32,60,0,60,0,60,0,110,36,47,0,14,32,59,216,5,221,14,32,61,0,239,36,47,0,14,32,59,216,5,221,14,32,60,0,60,0,60,0,111,36,47,0,14,32,59,216,6,221,14,32,61,0,240,36,47,0,14,32,59,216,6,221,14,32,60,0,60,0,60,0,112,36,47,0,14,32,59,216,7,221,14,32,61,0,241,36,47,0,14,32,59,216,7,221,14,32,60,0,60,0,60,0,113,36,47,0,14,32,59,216,8,221,14,32,61,0,242,36,47,0,14,32,59,216,8,221,14,32,60,0,60,0,60,0,114,36,47,0,14,32,59,216,9,221,14,32,61,0,243,36,47,0,14,32,59,216,9,221,14,32,60,0,60,0,60,0,185,0,60,0,60,0,60,0,129,32,60,0,60,0,60,0,60,216,164,221,47,0,14,32,59,216,2,221,58,216,80,221,80,0,14,32,60,0,60,0,60,0,95,33,47,0,68,32,60,0,60,0,60,0,82,33,47,0,14,32,68,32,59,216,1,221,58,216,80,221,14,32,60,0,60,0,60,0,189,0,47,0,14,32,68,32,59,216,2,221,14,32,60,0,60,0,60,0,83,33,47,0,14,32,68,32,59,216,3,221,14,32,60,0,60,0,60,0,188,0,47,0,14,32,68,32,59,216,4,221,14,32,60,0,60,0,60,0,85,33,47,0,14,32,68,32,59,216,5,221,14,32,60,0,60,0,60,0,89,33,47,0,14,32,68,32,59,216,6,221,14,32,60,0,60,0,60,0,80,33,47,0,14,32,68,32,59,216,7,221,14,32,60,0,60,0,60,0,91,33,47,0,14,32,68,32,59,216,8,221,14,32,60,0,60,0,60,0,81,33,47,0,14,32,68,32,59,216,9,221,14,32,60,0,60,0,27,216,148,222,61,0,14,32,59,216,177,220,14,32,60,0,50,0,61,0,98,6,61,0,242,6,61,0,14,32,194,7,14,32,61,0,104,9,61,0,232,9,61,0,104,10,61,0,232,10,61,0,104,11,61,0,232,11,61,0,104,12,61,0,122,12,61,0,125,12,61,0,232,12,61,0,104,13,61,0,232,13,61,0,82,14,61,0,210,14,61,0,34,15,61,0,66,16,61,0,146,16,61,0,106,19,61,0,226,23,61,0,242,23,61,0,18,24,61,0,72,25,61,0,210,25,61,0,130,26,61,0,146,26,61,0,82,27,61,0,178,27,61,0,66,28,61,0,82,28,61,0,34,48,61,0,34,166,61,0,210,168,61,0,2,169,61,0,210,169,61,0,242,169,61,0,82,170,61,0,242,171,61,0,0,216,8,221,61,0,0,216,91,221,61,0,0,216,92,221,61,0,0,216,93,221,61,0,0,216,94,221,61,0,0,216,226,222,61,0,0,216,210,223,61,0,1,216,162,220,61,0,14,32,2,216,89,220,14,32,61,0,14,32,2,216,122,220,14,32,61,0,14,32,2,216,168,220,14,32,61,0,14,32,2,216,26,221,14,32,61,0,14,32,2,216,193,221,14,32,61,0,14,32,2,216,65,222,14,32,61,0,14,32,2,216,89,223,14,32,61,0,14,32,2,216,121,223,14,32,61,0,14,32,2,216,170,223,14,32,61,0,3,216,50,221,61,0,3,216,97,222,61,0,14,32,3,216,30,223,14,32,61,0,14,32,3,216,198,223,14,32,61,0,4,216,83,220,61,0,4,216,104,220,61,0,4,216,242,220,61,0,4,216,56,221,61,0,4,216,210,221,61,0,4,216,226,221,61,0,4,216,242,222,61,0,5,216,82,220,61,0,5,216,210,220,61,0,5,216,82,222,61,0,5,216,194,222,61,0,5,216,50,223,61,0,6,216,226,220,61,0,6,216,82,221,61,0,7,216,82,220,61,0,7,216,91,220,61,0,7,216,82,221,61,0,7,216,162,221,61,0,7,216,82,223,61,0,9,216,0,220,61,0,9,216,22,220,61,0,9,216,31,220,61,0,9,216,35,220,61,0,9,216,45,220,61,0,9,216,53,220,61,0,9,216,74,220,61,0,9,216,80,220,61,0,9,216,86,220,61,0,9,216,89,220,61,0,26,216,98,222,61,0,26,216,194,222,61,0,26,216,82,223,61,0,27,216,130,222,61,0,52,216,194,222,61,0,52,216,226,222,61,0,52,216,97,223,61,0,52,216,115,223,61,0,56,216,66,221,61,0,56,216,242,222,61,0,57,216,242,220,61,0,14,32,58,216,200,220,14,32,61,0,14,32,58,216,82,221,14,32,61,0,14,32,59,216,114,220,14,32,61,0,14,32,59,216,164,220,14,32,61,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,18,255,60,0,60,0,60,0,43,15,60,0,60,0,60,0,60,216,3,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,137,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,155,36,47,0,14,32,58,216,80,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,243,51,47,0,14,32,58,216,80,221,229,101,14,32,60,0,60,0,60,0,108,51,47,0,14,32,58,216,80,221,185,112,14,32,60,0,60,0,60,0,244,51,47,0,14,32,59,216,1,221,229,101,14,32,60,0,60,0,60,0,109,51,47,0,14,32,59,216,1,221,185,112,14,32,60,0,60,0,60,0,245,51,47,0,14,32,59,216,2,221,229,101,14,32,60,0,60,0,60,0,110,51,47,0,14,32,59,216,2,221,185,112,14,32,60,0,60,0,60,0,246,51,47,0,14,32,59,216,3,221,229,101,14,32,60,0,60,0,60,0,111,51,47,0,14,32,59,216,3,221,185,112,14,32,60,0,60,0,60,0,247,51,47,0,14,32,59,216,4,221,229,101,14,32,60,0,60,0,60,0,112,51,47,0,14,32,59,216,4,221,185,112,14,32,60,0,60,0,60,0,248,51,47,0,14,32,59,216,5,221,229,101,14,32,60,0,60,0,60,0,249,51,47,0,14,32,59,216,6,221,229,101,14,32,60,0,60,0,60,0,250,51,47,0,14,32,59,216,7,221,229,101,14,32,60,0,60,0,60,0,251,51,47,0,14,32,59,216,8,221,229,101,14,32,60,0,60,0,60,0,252,51,47,0,14,32,59,216,9,221,229,101,14,32,60,0,60,0,60,0,225,51,47,0,229,101,60,0,60,0,60,0,193,50,47,0,8,103,60,0,60,0,60,0,90,51,47,0,185,112,60,0,60,0,60,0,53,216,208,223,61,0,53,216,218,223,61,0,53,216,228,223,61,0,53,216,238,223,61,0,53,216,248,223,61,0,62,216,242,223,60,0,60,0,60,0,97,36,61,0,246,36,61,0,119,39,61,0,129,39,61,0,139,39,60,0,60,0,60,0,115,36,47,0,14,32,58,216,80,221,14,32,61,0,244,36,47,0,14,32,58,216,80,221,14,32,61,0,73,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,81,50,47,0,14,32,59,216,1,221,14,32,60,0,60,0,60,0,82,50,47,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,83,50,47,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,84,50,47,0,14,32,59,216,4,221,14,32,60,0,60,0,60,0,85,50,47,0,14,32,59,216,5,221,14,32,60,0,60,0,60,0,86,50,47,0,14,32,59,216,6,221,14,32,60,0,60,0,60,0,87,50,47,0,14,32,59,216,7,221,14,32,60,0,60,0,60,0,88,50,47,0,14,32,59,216,8,221,14,32,60,0,60,0,60,0,89,50,47,0,14,32,59,216,9,221,14,32,60,0,60,0,60,0,178,0,60,0,60,0,60,0,130,32,60,0,60,0,60,0,60,216,162,221,47,0,14,32,59,216,2,221,39,0,46,0,39,0,59,216,2,221,14,32,60,0,60,0,60,0,60,216,157,221,47,0,75,0,60,0,60,0,60,0,60,216,156,221,47,0,110,0,100,0,39,0,32,0,39,0,83,0,99,0,114,0,60,0,60,0,60,0,84,33,47,0,14,32,68,32,59,216,3,221,14,32,60,0,60,0,60,0,86,33,47,0,14,32,68,32,59,216,5,221,14,32,60,0,60,0,27,216,149,222,61,0,14,32,59,216,178,220,14,32,61,0,14,32,59,216,47,221,14,32,60,0,51,0,61,0,99,6,61,0,243,6,61,0,14,32,195,7,14,32,61,0,105,9,61,0,233,9,61,0,105,10,61,0,233,10,61,0,105,11,61,0,233,11,61,0,105,12,61,0,123,12,61,0,126,12,61,0,233,12,61,0,105,13,61,0,233,13,61,0,83,14,61,0,211,14,61,0,35,15,61,0,67,16,61,0,147,16,61,0,107,19,61,0,227,23,61,0,243,23,61,0,19,24,61,0,73,25,61,0,211,25,61,0,131,26,61,0,147,26,61,0,83,27,61,0,179,27,61,0,67,28,61,0,83,28,61,0,35,48,61,0,35,166,61,0,211,168,61,0,3,169,61,0,211,169,61,0,243,169,61,0,83,170,61,0,243,171,61,0,0,216,9,221,61,0,0,216,227,222,61,0,1,216,163,220,61,0,14,32,2,216,90,220,14,32,61,0,14,32,2,216,123,220,14,32,61,0,14,32,2,216,169,220,14,32,61,0,14,32,2,216,27,221,14,32,61,0,14,32,2,216,194,221,14,32,61,0,14,32,2,216,66,222,14,32,61,0,14,32,2,216,90,223,14,32,61,0,14,32,2,216,122,223,14,32,61,0,14,32,2,216,171,223,14,32,61,0,3,216,51,221,61,0,3,216,98,222,61,0,14,32,3,216,31,223,14,32,61,0,14,32,3,216,199,223,14,32,61,0,4,216,84,220,61,0,4,216,105,220,61,0,4,216,243,220,61,0,4,216,57,221,61,0,4,216,211,221,61,0,4,216,227,221,61,0,4,216,243,222,61,0,5,216,83,220,61,0,5,216,211,220,61,0,5,216,83,222,61,0,5,216,195,222,61,0,5,216,51,223,61,0,6,216,227,220,61,0,6,216,83,221,61,0,7,216,83,220,61,0,7,216,92,220,61,0,7,216,83,221,61,0,7,216,163,221,61,0,7,216,83,223,61,0,9,216,1,220,61,0,9,216,8,220,61,0,9,216,23,220,61,0,9,216,32,220,61,0,9,216,36,220,61,0,9,216,37,220,61,0,9,216,46,220,61,0,9,216,47,220,61,0,9,216,54,220,61,0,9,216,55,220,61,0,9,216,58,220,61,0,9,216,59,220,61,0,9,216,75,220,61,0,9,216,81,220,61,0,9,216,87,220,61,0,26,216,99,222,61,0,26,216,195,222,61,0,26,216,83,223,61,0,27,216,131,222,61,0,52,216,195,222,61,0,52,216,227,222,61,0,52,216,98,223,61,0,52,216,116,223,61,0,56,216,67,221,61,0,56,216,243,222,61,0,57,216,243,220,61,0,14,32,58,216,201,220,14,32,61,0,14,32,58,216,83,221,14,32,61,0,14,32,59,216,115,220,14,32,61,0,14,32,59,216,165,220,14,32,61,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,19,255,60,0,60,0,60,0,44,15,60,0,60,0,60,0,60,216,4,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,138,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,253,51,47,0,14,32,58,216,80,221,229,101,14,32,60,0,60,0,60,0,254,51,47,0,14,32,59,216,1,221,229,101,14,32,60,0,60,0,60,0,226,51,47,0,229,101,60,0,60,0,60,0,194,50,47,0,8,103,60,0,60,0,60,0,91,51,47,0,185,112,60,0,60,0,60,0,53,216,209,223,61,0,53,216,219,223,61,0,53,216,229,223,61,0,53,216,239,223,61,0,53,216,249,223,61,0,62,216,243,223,60,0,60,0,60,0,98,36,61,0,247,36,61,0,120,39,61,0,130,39,61,0,140,39,60,0,60,0,60,0,74,50,47,0,14,32,58,216,80,221,14,32,61,0,90,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,91,50,47,0,14,32,59,216,1,221,14,32,60,0,60,0,60,0,92,50,47,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,93,50,47,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,94,50,47,0,14,32,59,216,4,221,14,32,60,0,60,0,60,0,95,50,47,0,14,32,59,216,5,221,14,32,60,0,60,0,60,0,177,50,47,0,14,32,59,216,6,221,14,32,60,0,60,0,60,0,178,50,47,0,14,32,59,216,7,221,14,32,60,0,60,0,60,0,179,50,47,0,14,32,59,216,8,221,14,32,60,0,60,0,60,0,180,50,47,0,14,32,59,216,9,221,14,32,60,0,60,0,60,0,179,0,60,0,60,0,60,0,131,32,60,0,60,0,60,0,60,216,155,221,47,0,68,0,60,0,60,0,60,0,190,0,47,0,14,32,68,32,59,216,4,221,14,32,60,0,60,0,60,0,87,33,47,0,14,32,68,32,59,216,5,221,14,32,60,0,60,0,60,0,92,33,47,0,14,32,68,32,59,216,8,221,14,32,60,0,60,0,27,216,150,222,60,0,60,0,60,0,14,32,59,216,48,221,14,32,60,0,52,0,61,0,100,6,61,0,244,6,61,0,14,32,196,7,14,32,61,0,106,9,61,0,234,9,61,0,106,10,61,0,234,10,61,0,106,11,61,0,234,11,61,0,106,12,61,0,234,12,61,0,106,13,61,0,234,13,61,0,84,14,61,0,212,14,61,0,36,15,61,0,68,16,61,0,148,16,61,0,108,19,61,0,228,23,61,0,244,23,61,0,20,24,61,0,74,25,61,0,212,25,61,0,132,26,61,0,148,26,61,0,84,27,61,0,180,27,61,0,68,28,61,0,84,28,61,0,36,48,61,0,36,166,61,0,212,168,61,0,4,169,61,0,212,169,61,0,244,169,61,0,84,170,61,0,244,171,61,0,0,216,10,221,61,0,0,216,228,222,61,0,1,216,164,220,61,0,14,32,2,216,124,220,14,32,61,0,14,32,2,216,170,220,14,32,61,0,14,32,2,216,171,220,14,32,61,0,14,32,2,216,195,221,14,32,61,0,14,32,2,216,67,222,14,32,61,0,14,32,2,216,91,223,14,32,61,0,14,32,2,216,123,223,14,32,61,0,14,32,2,216,172,223,14,32,61,0,3,216,52,221,61,0,3,216,99,222,61,0,14,32,3,216,32,223,14,32,61,0,14,32,3,216,200,223,14,32,61,0,4,216,85,220,61,0,4,216,106,220,61,0,4,216,244,220,61,0,4,216,58,221,61,0,4,216,212,221,61,0,4,216,228,221,61,0,4,216,244,222,61,0,5,216,84,220,61,0,5,216,212,220,61,0,5,216,84,222,61,0,5,216,196,222,61,0,5,216,52,223,61,0,6,216,228,220,61,0,6,216,84,221,61,0,7,216,84,220,61,0,7,216,93,220,61,0,7,216,84,221,61,0,7,216,164,221,61,0,7,216,84,223,61,0,9,216,2,220,61,0,9,216,9,220,61,0,9,216,15,220,61,0,9,216,24,220,61,0,9,216,33,220,61,0,9,216,38,220,61,0,9,216,48,220,61,0,9,216,56,220,61,0,9,216,60,220,61,0,9,216,61,220,61,0,9,216,62,220,61,0,9,216,63,220,61,0,9,216,76,220,61,0,9,216,82,220,61,0,9,216,83,220,61,0,9,216,105,220,61,0,26,216,100,222,61,0,26,216,196,222,61,0,26,216,84,223,61,0,27,216,132,222,61,0,52,216,196,222,61,0,52,216,228,222,61,0,52,216,99,223,61,0,52,216,117,223,61,0,56,216,68,221,61,0,56,216,244,222,61,0,57,216,244,220,61,0,14,32,58,216,202,220,14,32,61,0,14,32,58,216,84,221,14,32,61,0,14,32,59,216,116,220,14,32,61,0,14,32,59,216,166,220,14,32,61,0,14,32,59,216,4,221,14,32,60,0,60,0,60,0,20,255,60,0,60,0,60,0,45,15,60,0,60,0,60,0,60,216,5,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,139,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,227,51,47,0,229,101,60,0,60,0,60,0,195,50,47,0,8,103,60,0,60,0,60,0,92,51,47,0,185,112,60,0,60,0,60,0,53,216,210,223,61,0,53,216,220,223,61,0,53,216,230,223,61,0,53,216,240,223,61,0,53,216,250,223,61,0,62,216,244,223,60,0,60,0,60,0,99,36,61,0,248,36,61,0,121,39,61,0,131,39,61,0,141,39,60,0,60,0,60,0,75,50,47,0,14,32,58,216,80,221,14,32,61,0,181,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,182,50,47,0,14,32,59,216,1,221,14,32,60,0,60,0,60,0,183,50,47,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,184,50,47,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,185,50,47,0,14,32,59,216,4,221,14,32,60,0,60,0,60,0,186,50,47,0,14,32,59,216,5,221,14,32,60,0,60,0,60,0,187,50,47,0,14,32,59,216,6,221,14,32,60,0,60,0,60,0,188,50,47,0,14,32,59,216,7,221,14,32,60,0,60,0,60,0,189,50,47,0,14,32,59,216,8,221,14,32,60,0,60,0,60,0,190,50,47,0,14,32,59,216,9,221,14,32,60,0,60,0,60,0,116,32,60,0,60,0,60,0,132,32,60,0,60,0,60,0,60,216,158,221,47,0,75,0,60,0,60,0,60,0,88,33,47,0,14,32,68,32,59,216,5,221,14,32,60,0,60,0,14,32,59,216,49,221,14,32,60,0,53,0,61,0,101,6,61,0,245,6,61,0,14,32,197,7,14,32,61,0,107,9,61,0,235,9,61,0,107,10,61,0,235,10,61,0,107,11,61,0,235,11,61,0,107,12,61,0,235,12,61,0,107,13,61,0,235,13,61,0,85,14,61,0,213,14,61,0,37,15,61,0,69,16,61,0,149,16,61,0,109,19,61,0,229,23,61,0,245,23,61,0,21,24,61,0,75,25,61,0,213,25,61,0,133,26,61,0,149,26,61,0,85,27,61,0,181,27,61,0,69,28,61,0,85,28,61,0,37,48,61,0,37,166,61,0,213,168,61,0,5,169,61,0,213,169,61,0,245,169,61,0,85,170,61,0,245,171,61,0,0,216,11,221,61,0,0,216,67,221,61,0,0,216,72,221,61,0,0,216,79,221,61,0,0,216,95,221,61,0,0,216,115,221,61,0,0,216,229,222,61,0,0,216,33,223,61,0,1,216,165,220,61,0,14,32,2,216,125,220,14,32,61,0,14,32,2,216,172,220,14,32,61,0,14,32,2,216,252,220,14,32,61,0,14,32,2,216,196,221,14,32,61,0,14,32,2,216,236,222,14,32,61,0,14,32,3,216,251,220,14,32,61,0,3,216,53,221,61,0,3,216,100,222,61,0,14,32,3,216,33,223,14,32,61,0,4,216,86,220,61,0,4,216,107,220,61,0,4,216,245,220,61,0,4,216,59,221,61,0,4,216,213,221,61,0,4,216,229,221,61,0,4,216,245,222,61,0,5,216,85,220,61,0,5,216,213,220,61,0,5,216,85,222,61,0,5,216,197,222,61,0,5,216,53,223,61,0,6,216,229,220,61,0,6,216,85,221,61,0,7,216,85,220,61,0,7,216,94,220,61,0,7,216,85,221,61,0,7,216,165,221,61,0,7,216,85,223,61,0,9,216,3,220,61,0,9,216,10,220,61,0,9,216,16,220,61,0,9,216,25,220,61,0,9,216,34,220,61,0,9,216,39,220,61,0,9,216,49,220,61,0,9,216,57,220,61,0,9,216,77,220,61,0,9,216,84,220,61,0,9,216,85,220,61,0,9,216,106,220,61,0,26,216,101,222,61,0,26,216,197,222,61,0,26,216,85,223,61,0,27,216,133,222,61,0,52,216,197,222,61,0,52,216,229,222,61,0,52,216,100,223,61,0,52,216,118,223,61,0,52,216,120,223,61,0,56,216,69,221,61,0,56,216,245,222,61,0,57,216,245,220,61,0,14,32,58,216,203,220,14,32,61,0,14,32,58,216,85,221,14,32,61,0,14,32,59,216,117,220,14,32,61,0,14,32,59,216,167,220,14,32,61,0,14,32,59,216,5,221,14,32,60,0,60,0,60,0,21,255,60,0,60,0,60,0,46,15,60,0,60,0,60,0,60,216,6,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,140,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,228,51,47,0,229,101,60,0,60,0,60,0,196,50,47,0,8,103,60,0,60,0,60,0,93,51,47,0,185,112,60,0,60,0,60,0,53,216,211,223,61,0,53,216,221,223,61,0,53,216,231,223,61,0,53,216,241,223,61,0,53,216,251,223,61,0,62,216,245,223,60,0,60,0,60,0,100,36,61,0,249,36,61,0,122,39,61,0,132,39,61,0,142,39,60,0,60,0,60,0,76,50,47,0,14,32,58,216,80,221,14,32,61,0,191,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,117,32,60,0,60,0,60,0,133,32,60,0,60,0,60,0,60,216,160,221,47,0,14,32,39,0,46,0,39,0,59,216,1,221,14,32,60,0,60,0,60,0,90,33,47,0,14,32,68,32,59,216,6,221,14,32,60,0,60,0,60,0,93,33,47,0,14,32,68,32,59,216,8,221,14,32,60,0,60,0,14,32,59,216,50,221,14,32,60,0,54,0,61,0,102,6,61,0,246,6,61,0,14,32,198,7,14,32,61,0,108,9,61,0,236,9,61,0,108,10,61,0,236,10,61,0,108,11,61,0,236,11,61,0,108,12,61,0,236,12,61,0,108,13,61,0,236,13,61,0,86,14,61,0,214,14,61,0,38,15,61,0,70,16,61,0,150,16,61,0,110,19,61,0,230,23,61,0,246,23,61,0,22,24,61,0,76,25,61,0,214,25,61,0,134,26,61,0,150,26,61,0,86,27,61,0,182,27,61,0,70,28,61,0,86,28,61,0,133,33,61,0,38,48,61,0,38,166,61,0,214,168,61,0,6,169,61,0,214,169,61,0,246,169,61,0,86,170,61,0,246,171,61,0,0,216,12,221,61,0,0,216,230,222,61,0,1,216,166,220,61,0,14,32,2,216,197,221,14,32,61,0,3,216,54,221,61,0,3,216,101,222,61,0,4,216,87,220,61,0,4,216,108,220,61,0,4,216,246,220,61,0,4,216,60,221,61,0,4,216,214,221,61,0,4,216,230,221,61,0,4,216,246,222,61,0,5,216,86,220,61,0,5,216,214,220,61,0,5,216,86,222,61,0,5,216,198,222,61,0,5,216,54,223,61,0,6,216,230,220,61,0,6,216,86,221,61,0,7,216,86,220,61,0,7,216,95,220,61,0,7,216,86,221,61,0,7,216,166,221,61,0,7,216,86,223,61,0,9,216,4,220,61,0,9,216,11,220,61,0,9,216,17,220,61,0,9,216,26,220,61,0,9,216,40,220,61,0,9,216,64,220,61,0,9,216,78,220,61,0,9,216,107,220,61,0,26,216,102,222,61,0,26,216,198,222,61,0,26,216,86,223,61,0,27,216,134,222,61,0,52,216,198,222,61,0,52,216,230,222,61,0,52,216,101,223,61,0,56,216,70,221,61,0,56,216,246,222,61,0,57,216,246,220,61,0,14,32,58,216,204,220,14,32,61,0,14,32,58,216,86,221,14,32,61,0,14,32,59,216,118,220,14,32,61,0,14,32,59,216,168,220,14,32,61,0,14,32,59,216,6,221,14,32,60,0,60,0,60,0,22,255,60,0,60,0,60,0,47,15,60,0,60,0,60,0,60,216,7,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,141,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,229,51,47,0,229,101,60,0,60,0,60,0,197,50,47,0,8,103,60,0,60,0,60,0,94,51,47,0,185,112,60,0,60,0,60,0,53,216,212,223,61,0,53,216,222,223,61,0,53,216,232,223,61,0,53,216,242,223,61,0,53,216,252,223,61,0,62,216,246,223,60,0,60,0,60,0,101,36,61,0,250,36,61,0,123,39,61,0,133,39,61,0,143,39,60,0,60,0,60,0,77,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,118,32,60,0,60,0,60,0,134,32,60,0,60,0,60,0,60,216,163,221,47,0,14,32,58,216,80,221,80,0,14,32,60,0,60,0,14,32,59,216,51,221,14,32,60,0,55,0,61,0,103,6,61,0,247,6,61,0,14,32,199,7,14,32,61,0,109,9,61,0,237,9,61,0,109,10,61,0,237,10,61,0,109,11,61,0,237,11,61,0,109,12,61,0,237,12,61,0,109,13,61,0,237,13,61,0,87,14,61,0,215,14,61,0,39,15,61,0,71,16,61,0,151,16,61,0,111,19,61,0,231,23,61,0,247,23,61,0,23,24,61,0,77,25,61,0,215,25,61,0,135,26,61,0,151,26,61,0,87,27,61,0,183,27,61,0,71,28,61,0,87,28,61,0,39,48,61,0,39,166,61,0,215,168,61,0,7,169,61,0,215,169,61,0,247,169,61,0,87,170,61,0,247,171,61,0,0,216,13,221,61,0,0,216,231,222,61,0,1,216,167,220,61,0,14,32,2,216,198,221,14,32,61,0,3,216,55,221,61,0,3,216,102,222,61,0,4,216,88,220,61,0,4,216,109,220,61,0,4,216,247,220,61,0,4,216,61,221,61,0,4,216,215,221,61,0,4,216,231,221,61,0,4,216,247,222,61,0,5,216,87,220,61,0,5,216,215,220,61,0,5,216,87,222,61,0,5,216,199,222,61,0,5,216,55,223,61,0,6,216,231,220,61,0,6,216,87,221,61,0,7,216,87,220,61,0,7,216,96,220,61,0,7,216,87,221,61,0,7,216,167,221,61,0,7,216,87,223,61,0,9,216,5,220,61,0,9,216,12,220,61,0,9,216,18,220,61,0,9,216,27,220,61,0,9,216,41,220,61,0,9,216,65,220,61,0,9,216,66,220,61,0,9,216,67,220,61,0,9,216,108,220,61,0,26,216,103,222,61,0,26,216,199,222,61,0,26,216,87,223,61,0,27,216,135,222,61,0,52,216,199,222,61,0,52,216,231,222,61,0,52,216,102,223,61,0,56,216,71,221,61,0,56,216,247,222,61,0,57,216,247,220,61,0,14,32,58,216,205,220,14,32,61,0,14,32,58,216,87,221,14,32,61,0,14,32,59,216,119,220,14,32,61,0,14,32,59,216,169,220,14,32,61,0,14,32,59,216,7,221,14,32,60,0,60,0,60,0,23,255,60,0,60,0,60,0,48,15,60,0,60,0,60,0,60,216,8,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,142,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,230,51,47,0,229,101,60,0,60,0,60,0,198,50,47,0,8,103,60,0,60,0,60,0,95,51,47,0,185,112,60,0,60,0,60,0,53,216,213,223,61,0,53,216,223,223,61,0,53,216,233,223,61,0,53,216,243,223,61,0,53,216,253,223,61,0,62,216,247,223,60,0,60,0,60,0,102,36,61,0,251,36,61,0,124,39,61,0,134,39,61,0,144,39,60,0,60,0,60,0,78,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,119,32,60,0,60,0,60,0,135,32,60,0,60,0,60,0,60,216,161,221,47,0,14,32,39,0,46,0,39,0,59,216,1,221,14,32,60,0,60,0,60,0,94,33,47,0,14,32,68,32,59,216,8,221,14,32,60,0,60,0,14,32,59,216,52,221,14,32,60,0,56,0,61,0,104,6,61,0,248,6,61,0,14,32,200,7,14,32,61,0,110,9,61,0,238,9,61,0,110,10,61,0,238,10,61,0,110,11,61,0,238,11,61,0,110,12,61,0,238,12,61,0,110,13,61,0,238,13,61,0,88,14,61,0,216,14,61,0,40,15,61,0,72,16,61,0,152,16,61,0,112,19,61,0,232,23,61,0,248,23,61,0,24,24,61,0,78,25,61,0,216,25,61,0,136,26,61,0,152,26,61,0,88,27,61,0,184,27,61,0,72,28,61,0,88,28,61,0,40,48,61,0,40,166,61,0,216,168,61,0,8,169,61,0,216,169,61,0,248,169,61,0,88,170,61,0,248,171,61,0,0,216,14,221,61,0,0,216,232,222,61,0,1,216,168,220,61,0,14,32,2,216,199,221,14,32,61,0,3,216,56,221,61,0,3,216,103,222,61,0,4,216,89,220,61,0,4,216,110,220,61,0,4,216,248,220,61,0,4,216,62,221,61,0,4,216,216,221,61,0,4,216,232,221,61,0,4,216,248,222,61,0,5,216,88,220,61,0,5,216,216,220,61,0,5,216,88,222,61,0,5,216,200,222,61,0,5,216,56,223,61,0,6,216,232,220,61,0,6,216,88,221,61,0,7,216,88,220,61,0,7,216,97,220,61,0,7,216,88,221,61,0,7,216,168,221,61,0,7,216,88,223,61,0,9,216,6,220,61,0,9,216,13,220,61,0,9,216,19,220,61,0,9,216,28,220,61,0,9,216,42,220,61,0,9,216,68,220,61,0,9,216,69,220,61,0,9,216,109,220,61,0,26,216,104,222,61,0,26,216,200,222,61,0,26,216,88,223,61,0,27,216,136,222,61,0,52,216,200,222,61,0,52,216,232,222,61,0,52,216,103,223,61,0,56,216,72,221,61,0,56,216,248,222,61,0,57,216,248,220,61,0,14,32,58,216,206,220,14,32,61,0,14,32,58,216,88,221,14,32,61,0,14,32,59,216,120,220,14,32,61,0,14,32,59,216,170,220,14,32,61,0,14,32,59,216,8,221,14,32,60,0,60,0,60,0,24,255,60,0,60,0,60,0,49,15,60,0,60,0,60,0,60,216,9,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,143,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,231,51,47,0,229,101,60,0,60,0,60,0,199,50,47,0,8,103,60,0,60,0,60,0,96,51,47,0,185,112,60,0,60,0,60,0,53,216,214,223,61,0,53,216,224,223,61,0,53,216,234,223,61,0,53,216,244,223,61,0,53,216,254,223,61,0,62,216,248,223,60,0,60,0,60,0,103,36,61,0,252,36,61,0,125,39,61,0,135,39,61,0,145,39,60,0,60,0,60,0,79,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,120,32,60,0,60,0,60,0,136,32,60,0,60,0,60,0,60,216,159,221,47,0,75,0,60,0,60,0,14,32,59,216,53,221,14,32,60,0,57,0,61,0,105,6,61,0,249,6,61,0,14,32,201,7,14,32,61,0,111,9,61,0,239,9,61,0,111,10,61,0,239,10,61,0,111,11,61,0,239,11,61,0,111,12,61,0,239,12,61,0,111,13,61,0,239,13,61,0,89,14,61,0,217,14,61,0,41,15,61,0,73,16,61,0,153,16,61,0,113,19,61,0,233,23,61,0,249,23,61,0,25,24,61,0,79,25,61,0,217,25,61,0,137,26,61,0,153,26,61,0,89,27,61,0,185,27,61,0,73,28,61,0,89,28,61,0,41,48,61,0,41,166,61,0,217,168,61,0,9,169,61,0,217,169,61,0,249,169,61,0,89,170,61,0,249,171,61,0,0,216,15,221,61,0,0,216,233,222,61,0,1,216,169,220,61,0,14,32,2,216,200,221,14,32,61,0,3,216,57,221,61,0,3,216,104,222,61,0,4,216,90,220,61,0,4,216,111,220,61,0,4,216,249,220,61,0,4,216,63,221,61,0,4,216,217,221,61,0,4,216,233,221,61,0,4,216,249,222,61,0,5,216,89,220,61,0,5,216,217,220,61,0,5,216,89,222,61,0,5,216,201,222,61,0,5,216,57,223,61,0,6,216,233,220,61,0,6,216,89,221,61,0,7,216,89,220,61,0,7,216,98,220,61,0,7,216,89,221,61,0,7,216,169,221,61,0,7,216,89,223,61,0,9,216,7,220,61,0,9,216,14,220,61,0,9,216,20,220,61,0,9,216,29,220,61,0,9,216,43,220,61,0,9,216,70,220,61,0,9,216,71,220,61,0,9,216,72,220,61,0,9,216,73,220,61,0,9,216,110,220,61,0,26,216,105,222,61,0,26,216,201,222,61,0,26,216,89,223,61,0,27,216,137,222,61,0,52,216,201,222,61,0,52,216,233,222,61,0,52,216,104,223,61,0,56,216,73,221,61,0,56,216,249,222,61,0,57,216,249,220,61,0,14,32,58,216,207,220,14,32,61,0,14,32,58,216,89,221,14,32,61,0,14,32,59,216,121,220,14,32,61,0,14,32,59,216,171,220,14,32,61,0,14,32,59,216,9,221,14,32,60,0,60,0,60,0,25,255,60,0,60,0,60,0,50,15,60,0,60,0,60,0,60,216,10,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,144,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,232,51,47,0,229,101,60,0,60,0,60,0,200,50,47,0,8,103,60,0,60,0,60,0,97,51,47,0,185,112,60,0,60,0,60,0,53,216,215,223,61,0,53,216,225,223,61,0,53,216,235,223,61,0,53,216,245,223,61,0,53,216,255,223,61,0,62,216,249,223,60,0,60,0,60,0,104,36,61,0,253,36,61,0,126,39,61,0,136,39,61,0,146,39,60,0,60,0,60,0,121,32,60,0,60,0,60,0,137,32,60,0,60,0,14,32,59,216,54,221,14,32,60,0,97,0,60,0,60,0,60,0,65,255,60,0,60,0,60,0,99,3,60,0,60,0,60,0,242,29,47,0,8,3,61,0,155,167,47,0,8,3,60,0,60,0,60,0,193,167,47,0,40,3,60,0,60,0,60,0,0,33,47,0,39,0,47,0,39,0,99,0,60,0,60,0,60,0,1,33,47,0,39,0,47,0,39,0,115,0,60,0,60,0,60,0,51,167,47,0,97,0,60,0,60,0,60,0,213,29,47,0,111,0,61,0,53,167,47,0,111,0,60,0,60,0,60,0,55,167,47,0,117,0,60,0,60,0,60,0,214,29,47,0,118,0,61,0,57,167,47,0,118,0,60,0,60,0,60,0,61,167,47,0,121,0,60,0,60,0,60,0,154,30,47,0,190,2,60,0,60,0,60,0,53,216,26,220,61,0,53,216,78,220,61,0,53,216,130,220,61,0,53,216,182,220,61,0,53,216,234,220,61,0,53,216,30,221,61,0,53,216,82,221,61,0,53,216,134,221,61,0,53,216,186,221,61,0,53,216,238,221,61,0,53,216,34,222,61,0,53,216,86,222,61,0,53,216,138,222,60,0,60,0,60,0,208,36,60,0,60,0,60,0,65,0,60,0,60,0,60,0,33,255,60,0,60,0,60,0,154,167,47,0,8,3,60,0,60,0,60,0,192,167,47,0,40,3,60,0,60,0,60,0,77,33,47,0,39,0,47,0,39,0,83,0,60,0,60,0,60,0,50,167,47,0,65,0,60,0,60,0,60,0,52,167,47,0,79,0,60,0,60,0,60,0,54,167,47,0,85,0,60,0,60,0,60,0,56,167,47,0,86,0,60,0,60,0,60,0,60,167,47,0,89,0,60,0,60,0,60,0,53,216,0,220,61,0,53,216,52,220,61,0,53,216,104,220,61,0,53,216,156,220,61,0,53,216,208,220,61,0,53,216,4,221,61,0,53,216,56,221,61,0,53,216,108,221,61,0,53,216,160,221,61,0,53,216,212,221,61,0,53,216,8,222,61,0,53,216,60,222,61,0,53,216,112,222,60,0,60,0,60,0,182,36,61,0,60,216,80,221,60,0,60,0,60,0,170,0,61,0,67,29,60,0,60,0,60,0,1,216,128,223,47,0,97,0,60,0,60,0,60,0,144,32,60,0,60,0,60,0,194,51,47,0,39,0,46,0,39,0,109,0,39,0,46,0,39,0,60,0,60,0,60,0,44,29,61,0,60,216,48,221,61,0,60,216,112,221,60,0,60,0,60,0,223,51,47,0,21,34,109,0,60,0,60,0,60,0,60,216,142,221,47,0,66,0,60,0,60,0,60,0,115,51,47,0,85,0,60,0,60,0,211,29,60,0,60,0,60,0,230,0,47,0,101,0,61,0,212,29,47,0,101,0,60,0,60,0,60,0,59,167,47,0,118,0,60,0,60,0,60,0,198,0,47,0,69,0,60,0,60,0,60,0,58,167,47,0,86,0,60,0,60,0,60,0,45,29,47,0,101,0,61,0,1,216,131,223,47,0,101,0,60,0,0,29,60,0,101,44,60,0,60,0,60,0,58,2,60,0,143,29,60,0,187,167,60,0,60,0,60,0,186,167,60,0,1,29,60,0,2,29,60,0,60,0,60,0,70,29,60,0,49,171,60,0,80,2,60,0,60,0,60,0,111,44,60,0,60,0,60,0,68,29,60,0,81,2,60,0,60,0,60,0,231,29,60,0,60,0,60,0,109,44,60,0,60,0,60,0,69,29,60,0,48,171,60,0,144,29,60,0,82,2,60,0,60,0,60,0,112,44,60,0,60,0,60,0,155,29,60,0,100,171,60,0,98,0,60,0,60,0,60,0,66,255,60,0,60,0,60,0,232,29,60,0,60,0,60,0,53,216,27,220,61,0,53,216,79,220,61,0,53,216,131,220,61,0,53,216,183,220,61,0,53,216,235,220,61,0,53,216,31,221,61,0,53,216,83,221,61,0,53,216,135,221,61,0,53,216,187,221,61,0,53,216,239,221,61,0,53,216,35,222,61,0,53,216,87,222,61,0,53,216,139,222,60,0,60,0,60,0,209,36,60,0,60,0,60,0,66,0,60,0,60,0,60,0,34,255,60,0,60,0,60,0,44,33,61,0,53,216,1,220,61,0,53,216,53,220,61,0,53,216,105,220,61,0,53,216,209,220,61,0,53,216,5,221,61,0,53,216,57,221,61,0,53,216,109,221,61,0,53,216,161,221,61,0,53,216,213,221,61,0,53,216,9,222,61,0,53,216,61,222,61,0,53,216,113,222,60,0,60,0,60,0,183,36,61,0,60,216,81,221,60,0,60,0,60,0,71,29,60,0,60,0,60,0,116,51,47,0,97,0,114,0,60,0,60,0,60,0,46,29,61,0,60,216,49,221,61,0,60,216,113,221,60,0,60,0,60,0,195,51,47,0,113,0,60,0,153,2,60,0,60,0,60,0,1,216,132,223,60,0,128,1,60,0,60,0,60,0,67,2,60,0,47,29,60,0,3,29,60,0,108,29,60,0,151,167,60,0,60,0,60,0,150,167,60,0,128,29,60,0,83,2,60,0,60,0,60,0,129,1,60,0,60,0,60,0,1,216,133,223,60,0,131,1,60,0,60,0,60,0,130,1,60,0,181,167,60,0,60,0,60,0,233,29,60,0,60,0,60,0,180,167,60,0,99,0,60,0,60,0,60,0,67,255,60,0,60,0,60,0,104,3,61,0,125,33,60,0,60,0,60,0,215,29,47,0,39,3,60,0,60,0,60,0,5,33,47,0,39,0,47,0,39,0,111,0,60,0,60,0,60,0,6,33,47,0,39,0,47,0,39,0,117,0,60,0,60,0,60,0,53,216,28,220,61,0,53,216,80,220,61,0,53,216,132,220,61,0,53,216,184,220,61,0,53,216,236,220,61,0,53,216,32,221,61,0,53,216,84,221,61,0,53,216,136,221,61,0,53,216,188,221,61,0,53,216,240,221,61,0,53,216,36,222,61,0,53,216,88,222,61,0,53,216,140,222,60,0,60,0,60,0,210,36,60,0,60,0,60,0,67,0,60,0,60,0,60,0,35,255,60,0,60,0,60,0,109,33,60,0,60,0,60,0,2,33,61,0,45,33,61,0,53,216,2,220,61,0,53,216,54,220,61,0,53,216,106,220,61,0,53,216,158,220,61,0,53,216,210,220,61,0,53,216,110,221,61,0,53,216,162,221,61,0,53,216,214,221,61,0,53,216,10,222,61,0,53,216,62,222,61,0,53,216,114,222,60,0,60,0,60,0,184,36,61,0,60,216,43,221,61,0,60,216,82,221,60,0,60,0,60,0,60,216,45,221,47,0,68,0,60,0,60,0,60,0,156,29,60,0,60,0,60,0,136,51,47,0,97,0,108,0,60,0,60,0,60,0,196,51,47,0,99,0,60,0,60,0,60,0,197,51,47,0,100,0,60,0,60,0,60,0,157,51,47,0,109,0,60,0,60,0,60,0,160,51,47,0,14,32,109,0,59,216,2,221,14,32,60,0,60,0,60,0,164,51,47,0,14,32,109,0,59,216,3,221,14,32,60,0,60,0,60,0,242,167,61,0,60,216,50,221,61,0,60,216,114,221,60,0,60,0,60,0,198,51,47,0,21,34,107,0,103,0,60,0,60,0,60,0,60,216,145,221,47,0,76,0,60,0,60,0,60,0,199,51,47,0,111,0,39,0,46,0,39,0,60,0,60,0,60,0,60,216,146,221,47,0,79,0,79,0,76,0,60,0,4,29,60,0,60,2,60,0,60,0,60,0,59,2,60,0,147,167,60,0,60,0,60,0,146,167,60,0,148,167,60,0,60,0,60,0,196,167,60,0,55,216,29,223,60,0,136,1,60,0,60,0,60,0,135,1,60,0,85,2,60,0,60,0,60,0,157,29,60,0,132,33,60,0,60,0,60,0,131,33,60,0,63,167,60,0,60,0,60,0,62,167,60,0,100,0,60,0,60,0,60,0,17,1,47,0,53,3,60,0,60,0,60,0,68,255,60,0,60,0,60,0,105,3,61,0,126,33,60,0,60,0,60,0,56,2,47,0,98,0,60,0,60,0,60,0,243,1,47,0,122,0,61,0,163,2,47,0,122,0,60,0,60,0,60,0,198,1,47,0,126,1,60,0,60,0,60,0,102,171,47,0,144,2,60,0,60,0,60,0,165,2,47,0,145,2,60,0,60,0,60,0,164,2,47,0,146,2,60,0,60,0,60,0,55,216,18,223,47,0,55,216,24,223,60,0,60,0,60,0,55,216,25,223,47,0,154,29,60,0,60,0,60,0,70,33,61,0,53,216,29,220,61,0,53,216,81,220,61,0,53,216,133,220,61,0,53,216,185,220,61,0,53,216,237,220,61,0,53,216,33,221,61,0,53,216,85,221,61,0,53,216,137,221,61,0,53,216,189,221,61,0,53,216,241,221,61,0,53,216,37,222,61,0,53,216,89,222,61,0,53,216,141,222,60,0,60,0,60,0,211,36,60,0,60,0,60,0,68,0,60,0,60,0,60,0,16,1,47,0,53,3,60,0,60,0,60,0,36,255,60,0,60,0,60,0,110,33,60,0,60,0,60,0,242,1,47,0,122,0,60,0,60,0,60,0,241,1,47,0,90,0,60,0,60,0,60,0,197,1,47,0,126,1,60,0,60,0,60,0,196,1,47,0,125,1,60,0,60,0,60,0,69,33,61,0,53,216,3,220,61,0,53,216,55,220,61,0,53,216,107,220,61,0,53,216,159,220,61,0,53,216,211,220,61,0,53,216,7,221,61,0,53,216,59,221,61,0,53,216,111,221,61,0,53,216,163,221,61,0,53,216,215,221,61,0,53,216,11,222,61,0,53,216,63,222,61,0,53,216,115,222,60,0,60,0,60,0,185,36,61,0,60,216,83,221,60,0,60,0,60,0,72,29,60,0,60,0,60,0,1,216,135,223,47,0,122,0,60,0,60,0,60,0,1,216,136,223,47,0,144,2,60,0,60,0,60,0,1,216,137,223,47,0,145,2,60,0,60,0,60,0,1,216,138,223,47,0,146,2,60,0,60,0,60,0,60,216,165,221,60,0,60,0,60,0,114,51,47,0,97,0,60,0,60,0,60,0,200,51,47,0,66,0,60,0,60,0,60,0,151,51,47,0,108,0,60,0,60,0,60,0,119,51,47,0,109,0,60,0,60,0,60,0,120,51,47,0,14,32,109,0,59,216,2,221,14,32,60,0,60,0,60,0,121,51,47,0,14,32,109,0,59,216,3,221,14,32,60,0,60,0,60,0,48,29,61,0,60,216,51,221,61,0,60,216,115,221,60,0,60,0,60,0,60,216,144,221,47,0,74,0,60,0,60,0,240,0,61,0,217,29,60,0,60,0,60,0,208,0,60,0,60,0,60,0,158,29,60,0,60,0,216,29,61,0,122,167,60,0,60,0,60,0,121,167,60,0,5,29,60,0,6,29,60,0,200,167,60,0,60,0,60,0,199,167,60,0,109,29,60,0,129,29,60,0,86,2,60,0,60,0,60,0,137,1,60,0,60,0,60,0,1,216,139,223,60,0,87,2,60,0,60,0,60,0,138,1,60,0,60,0,60,0,1,216,140,223,60,0,55,216,37,223,60,0,145,29,60,0,60,0,60,0,1,216,141,223,60,0,140,1,60,0,60,0,60,0,139,1,60,0,33,2,60,0,113,167,60,0,159,30,60,0,101,0,60,0,60,0,60,0,69,255,60,0,60,0,60,0,100,3,60,0,60,0,60,0,47,33,61,0,71,33,61,0,53,216,30,220,61,0,53,216,82,220,61,0,53,216,134,220,61,0,53,216,238,220,61,0,53,216,34,221,61,0,53,216,86,221,61,0,53,216,138,221,61,0,53,216,190,221,61,0,53,216,242,221,61,0,53,216,38,222,61,0,53,216,90,222,61,0,53,216,142,222,60,0,60,0,60,0,212,36,60,0,60,0,60,0,69,0,60,0,60,0,60,0,37,255,60,0,60,0,60,0,48,33,61,0,53,216,4,220,61,0,53,216,56,220,61,0,53,216,108,220,61,0,53,216,212,220,61,0,53,216,8,221,61,0,53,216,60,221,61,0,53,216,112,221,61,0,53,216,164,221,61,0,53,216,216,221,61,0,53,216,12,222,61,0,53,216,64,222,61,0,53,216,116,222,60,0,60,0,60,0,186,36,61,0,60,216,84,221,60,0,60,0,60,0,73,29,60,0,60,0,60,0,145,32,60,0,60,0,60,0,205,50,47,0,114,0,103,0,60,0,60,0,60,0,206,50,47,0,86,0,60,0,60,0,60,0,49,29,61,0,60,216,52,221,61,0,60,216,116,221,60,0,7,29,60,0,50,171,60,0,51,171,60,0,71,2,60,0,60,0,60,0,70,2,60,0,146,29,60,0,52,171,60,0,120,44,60,0,221,1,60,0,60,0,60,0,142,1,60,0,60,0,60,0,50,29,60,0,123,44,60,0,89,2,60,0,60,0,60,0,234,29,60,0,60,0,60,0,143,1,60,0,60,0,60,0,74,29,60,0,60,0,60,0,148,32,60,0,149,29,60,0,91,2,60,0,60,0,60,0,144,1,60,0,60,0,60,0,7,33,60,0,60,0,60,0,75,29,60,0,147,29,60,0,88,2,60,0,60,0,60,0,1,216,142,223,60,0,90,2,60,0,92,2,60,0,60,0,60,0,171,167,60,0,60,0,60,0,159,29,60,0,148,29,60,0,8,29,60,0,60,0,60,0,76,29,60,0,93,2,60,0,94,2,60,0,60,0,60,0,1,216,143,223,60,0,154,2,60,0,100,2,60,0,60,0,60,0,1,216,145,223,60,0,102,0,60,0,60,0,60,0,70,255,60,0,60,0,60,0,235,29,60,0,60,0,60,0,0,251,47,0,102,0,60,0,60,0,60,0,3,251,47,0,102,0,105,0,60,0,60,0,60,0,4,251,47,0,102,0,108,0,60,0,60,0,60,0,1,251,47,0,105,0,60,0,60,0,60,0,2,251,47,0,108,0,60,0,60,0,60,0,169,2,47,0,75,1,60,0,60,0,60,0,53,216,31,220,61,0,53,216,83,220,61,0,53,216,135,220,61,0,53,216,187,220,61,0,53,216,239,220,61,0,53,216,35,221,61,0,53,216,87,221,61,0,53,216,139,221,61,0,53,216,191,221,61,0,53,216,243,221,61,0,53,216,39,222,61,0,53,216,91,222,61,0,53,216,143,222,60,0,60,0,60,0,213,36,60,0,60,0,60,0,70,0,60,0,60,0,60,0,38,255,60,0,60,0,60,0,59,33,47,0,65,0,88,0,60,0,60,0,60,0,49,33,61,0,53,216,5,220,61,0,53,216,57,220,61,0,53,216,109,220,61,0,53,216,213,220,61,0,53,216,9,221,61,0,53,216,61,221,61,0,53,216,113,221,61,0,53,216,165,221,61,0,53,216,217,221,61,0,53,216,13,222,61,0,53,216,65,222,61,0,53,216,117,222,60,0,60,0,60,0,187,36,61,0,60,216,85,221,60,0,60,0,60,0,160,29,60,0,60,0,60,0,1,216,144,223,47,0,75,1,60,0,60,0,60,0,153,51,47,0,109,0,60,0,60,0,60,0,243,167,61,0,60,216,53,221,61,0,60,216,117,221,60,0,60,0,60,0,60,216,147,221,47,0,82,0,69,0,69,0,60,0,60,0,124,167,60,0,60,0,60,0,123,167,60,0,60,0,55,216,0,223,47,0,75,1,60,0,48,167,60,0,53,171,60,0,153,167,60,0,60,0,60,0,152,167,60,0,110,29,60,0,130,29,60,0,146,1,60,0,60,0,60,0,145,1,60,0,78,33,60,0,60,0,60,0,50,33,60,0,251,167,60,0,103,0,60,0,60,0,60,0,71,255,60,0,60,0,60,0,218,29,60,0,60,0,60,0,161,167,47,0,47,216,158,220,60,0,60,0,60,0,10,33,61,0,53,216,32,220,61,0,53,216,84,220,61,0,53,216,136,220,61,0,53,216,240,220,61,0,53,216,36,221,61,0,53,216,88,221,61,0,53,216,140,221,61,0,53,216,192,221,61,0,53,216,244,221,61,0,53,216,40,222,61,0,53,216,92,222,61,0,53,216,144,222,60,0,60,0,60,0,214,36,60,0,60,0,60,0,71,0,60,0,60,0,60,0,39,255,60,0,60,0,60,0,160,167,47,0,47,216,158,220,60,0,60,0,60,0,53,216,6,220,61,0,53,216,58,220,61,0,53,216,110,220,61,0,53,216,162,220,61,0,53,216,214,220,61,0,53,216,10,221,61,0,53,216,62,221,61,0,53,216,114,221,61,0,53,216,166,221,61,0,53,216,218,221,61,0,53,216,14,222,61,0,53,216,66,222,61,0,53,216,118,222,60,0,60,0,60,0,188,36,61,0,60,216,86,221,60,0,60,0,60,0,77,29,60,0,60,0,60,0,255,51,47,0,97,0,108,0,60,0,60,0,60,0,51,29,61,0,60,216,54,221,61,0,60,216,118,221,60,0,60,0,60,0,135,51,47,0,66,0,60,0,60,0,60,0,147,51,47,0,72,0,122,0,60,0,60,0,60,0,172,51,47,0,80,0,97,0,60,0,60,0,60,0,201,51,47,0,121,0,60,0,60,0,204,26,61,0,121,29,60,0,60,0,60,0,125,167,60,0,209,167,60,0,60,0,60,0,208,167,60,0,97,2,60,0,60,0,60,0,172,167,60,0,60,0,60,0,162,29,60,0,55,216,1,223,60,0,54,171,60,0,98,2,60,0,60,0,60,0,219,29,60,0,60,0,60,0,1,216,146,223,60,0,229,1,60,0,60,0,60,0,228,1,60,0,131,29,60,0,96,2,60,0,60,0,60,0,147,1,60,0,60,0,60,0,1,216,147,223,60,0,155,2,60,0,60,0,60,0,1,216,148,223,60,0,119,29,60,0,55,216,2,223,60,0,127,167,60,0,60,0,60,0,126,167,60,0,99,2,60,0,60,0,60,0,148,1,60,0,60,0,60,0,224,2,60,0,163,1,60,0,60,0,60,0,162,1,60,0,104,0,60,0,60,0,60,0,39,1,47,0,53,3,61,0,15,33,47,0,53,3,60,0,60,0,60,0,72,255,60,0,60,0,60,0,106,3,60,0,60,0,60,0,14,33,61,0,53,216,33,220,61,0,53,216,137,220,61,0,53,216,189,220,61,0,53,216,241,220,61,0,53,216,37,221,61,0,53,216,89,221,61,0,53,216,141,221,61,0,53,216,193,221,61,0,53,216,245,221,61,0,53,216,41,222,61,0,53,216,93,222,61,0,53,216,145,222,60,0,60,0,60,0,215,36,60,0,60,0,60,0,72,0,60,0,60,0,60,0,38,1,47,0,53,3,60,0,60,0,60,0,40,255,60,0,60,0,60,0,11,33,61,0,12,33,61,0,13,33,61,0,53,216,7,220,61,0,53,216,59,220,61,0,53,216,111,220,61,0,53,216,215,220,61,0,53,216,115,221,61,0,53,216,167,221,61,0,53,216,219,221,61,0,53,216,15,222,61,0,53,216,67,222,61,0,53,216,119,222,60,0,60,0,60,0,189,36,61,0,60,216,87,221,60,0,60,0,60,0,176,2,60,0,60,0,60,0,248,167,47,0,53,3,61,0,1,216,149,223,47,0,53,3,60,0,60,0,60,0,149,32,60,0,60,0,60,0,202,51,47,0,97,0,60,0,60,0,60,0,113,51,47,0,80,0,97,0,60,0,60,0,60,0,52,29,61,0,60,216,55,221,61,0,60,216,119,221,60,0,60,0,60,0,60,216,166,221,47,0,99,0,60,0,60,0,60,0,60,216,167,221,47,0,100,0,82,0,60,0,60,0,60,0,204,50,47,0,103,0,60,0,60,0,60,0,60,216,168,221,47,0,105,0,39,0,32,0,39,0,82,0,101,0,115,0,60,0,60,0,60,0,203,51,47,0,80,0,60,0,60,0,60,0,60,216,74,221,47,0,86,0,60,0,60,0,60,0,144,51,47,0,122,0,60,0,156,2,60,0,60,0,60,0,1,216,150,223,60,0,149,1,60,0,60,0,60,0,246,1,60,0,149,167,60,0,102,2,60,0,60,0,60,0,170,167,60,0,60,0,60,0,177,2,60,0,104,44,60,0,60,0,60,0,103,44,60,0,118,44,60,0,60,0,60,0,117,44,60,0,246,167,60,0,60,0,60,0,245,167,60,0,39,167,60,0,60,0,60,0,38,167,60,0,60,0,60,0,92,171,60,0,103,2,60,0,60,0,60,0,1,216,151,223,60,0,187,2,60,0,189,2,60,0,105,0,60,0,60,0,60,0,73,255,60,0,60,0,60,0,101,3,61,0,112,33,60,0,60,0,60,0,113,33,47,0,105,0,60,0,60,0,60,0,114,33,47,0,105,0,105,0,60,0,60,0,60,0,51,1,47,0,106,0,60,0,60,0,60,0,115,33,47,0,118,0,60,0,60,0,60,0,120,33,47,0,120,0,60,0,60,0,60,0,57,33,61,0,72,33,61,0,53,216,34,220,61,0,53,216,86,220,61,0,53,216,138,220,61,0,53,216,190,220,61,0,53,216,242,220,61,0,53,216,38,221,61,0,53,216,90,221,61,0,53,216,142,221,61,0,53,216,194,221,61,0,53,216,246,221,61,0,53,216,42,222,61,0,53,216,94,222,61,0,53,216,146,222,60,0,60,0,60,0,216,36,60,0,60,0,60,0,73,0,60,0,60,0,60,0,41,255,60,0,60,0,60,0,96,33,60,0,60,0,60,0,97,33,47,0,73,0,60,0,60,0,60,0,98,33,47,0,73,0,73,0,60,0,60,0,60,0,50,1,47,0,74,0,60,0,60,0,60,0,99,33,47,0,86,0,60,0,60,0,60,0,104,33,47,0,88,0,60,0,60,0,60,0,16,33,61,0,17,33,61,0,53,216,8,220,61,0,53,216,60,220,61,0,53,216,112,220,61,0,53,216,216,220,61,0,53,216,64,221,61,0,53,216,116,221,61,0,53,216,168,221,61,0,53,216,220,221,61,0,53,216,16,222,61,0,53,216,68,222,61,0,53,216,120,222,60,0,60,0,60,0,190,36,61,0,60,216,88,221,60,0,60,0,60,0,113,32,60,0,60,0,60,0,98,29,60,0,60,0,60,0,204,51,47,0,110,0,60,0,60,0,60,0,53,29,61,0,60,216,56,221,61,0,60,216,120,221,60,0,60,0,60,0,60,216,139,221,47,0,67,0,60,0,60,0,60,0,60,216,148,221,47,0,68,0,60,0,60,0,60,0,122,51,47,0,85,0,60,0,49,1,60,0,60,0,60,0,53,216,164,222,60,0,106,2,60,0,60,0,60,0,174,167,60,0,60,0,60,0,166,29,60,0,254,167,60,0,247,167,60,0,9,29,60,0,60,0,60,0,78,29,60,0,104,2,60,0,60,0,60,0,151,1,60,0,60,0,60,0,164,29,60,0,123,29,60,0,60,0,60,0,167,29,60,0,55,216,26,223,60,0,150,29,60,0,189,167,60,0,60,0,60,0,188,167,60,0,105,2,60,0,60,0,60,0,150,1,60,0,60,0,60,0,165,29,60,0,124,29,60,0,106,0,60,0,60,0,60,0,74,255,60,0,60,0,60,0,73,33,61,0,53,216,35,220,61,0,53,216,87,220,61,0,53,216,139,220,61,0,53,216,191,220,61,0,53,216,243,220,61,0,53,216,39,221,61,0,53,216,91,221,61,0,53,216,143,221,61,0,53,216,195,221,61,0,53,216,247,221,61,0,53,216,43,222,61,0,53,216,95,222,61,0,53,216,147,222,60,0,60,0,60,0,217,36,60,0,60,0,60,0,74,0,60,0,60,0,60,0,42,255,60,0,60,0,60,0,53,216,9,220,61,0,53,216,61,220,61,0,53,216,113,220,61,0,53,216,165,220,61,0,53,216,217,220,61,0,53,216,13,221,61,0,53,216,65,221,61,0,53,216,117,221,61,0,53,216,169,221,61,0,53,216,221,221,61,0,53,216,17,222,61,0,53,216,69,222,61,0,53,216,121,222,60,0,60,0,60,0,191,36,61,0,60,216,89,221,60,0,60,0,60,0,178,2,60,0,60,0,60,0,124,44,60,0,60,0,60,0,54,29,61,0,60,216,57,221,61,0,60,216,121,221,60,0,55,2,60,0,60,0,60,0,53,216,165,222,60,0,10,29,60,0,73,2,60,0,60,0,60,0,72,2,60,0,157,2,60,0,60,0,60,0,178,167,60,0,60,0,60,0,168,29,60,0,95,2,60,0,60,0,60,0,161,29,60,0,132,2,60,0,60,0,60,0,1,216,152,223,60,0,107,0,60,0,60,0,60,0,75,255,60,0,60,0,60,0,220,29,60,0,60,0,60,0,163,167,47,0,47,216,158,220,60,0,60,0,60,0,53,216,36,220,61,0,53,216,88,220,61,0,53,216,140,220,61,0,53,216,192,220,61,0,53,216,244,220,61,0,53,216,40,221,61,0,53,216,92,221,61,0,53,216,144,221,61,0,53,216,196,221,61,0,53,216,248,221,61,0,53,216,44,222,61,0,53,216,96,222,61,0,53,216,148,222,60,0,60,0,60,0,218,36,60,0,60,0,60,0,75,0,60,0,60,0,60,0,43,255,60,0,60,0,60,0,162,167,47,0,47,216,158,220,60,0,60,0,60,0,53,216,10,220,61,0,53,216,62,220,61,0,53,216,114,220,61,0,53,216,166,220,61,0,53,216,218,220,61,0,53,216,14,221,61,0,53,216,66,221,61,0,53,216,118,221,61,0,53,216,170,221,61,0,53,216,222,221,61,0,53,216,18,222,61,0,53,216,70,222,61,0,53,216,122,222,60,0,60,0,60,0,192,36,61,0,60,216,90,221,60,0,60,0,60,0,79,29,60,0,60,0,60,0,150,32,60,0,60,0,60,0,132,51,47,0,65,0,60,0,60,0,60,0,137,51,47,0,99,0,97,0,108,0,60,0,60,0,60,0,143,51,47,0,103,0,60,0,60,0,60,0,145,51,47,0,72,0,122,0,60,0,60,0,60,0,152,51,47,0,108,0,60,0,60,0,60,0,158,51,47,0,109,0,60,0,60,0,60,0,162,51,47,0,14,32,109,0,59,216,2,221,14,32,60,0,60,0,60,0,166,51,47,0,14,32,109,0,59,216,3,221,14,32,60,0,60,0,60,0,170,51,47,0,80,0,97,0,60,0,60,0,60,0,207,51,47,0,116,0,60,0,60,0,60,0,184,51,47,0,86,0,60,0,60,0,60,0,190,51,47,0,87,0,60,0,60,0,60,0,192,51,47,0,169,3,60,0,60,0,60,0,55,29,61,0,60,216,58,221,61,0,60,216,122,221,60,0,60,0,60,0,133,51,47,0,66,0,60,0,60,0,60,0,205,51,47,0,75,0,60,0,60,0,60,0,206,51,47,0,77,0,60,0,11,29,60,0,132,29,60,0,153,1,60,0,60,0,60,0,152,1,60,0,106,44,60,0,60,0,60,0,105,44,60,0,65,167,60,0,60,0,60,0,64,167,60,0,67,167,60,0,60,0,60,0,66,167,60,0,69,167,60,0,60,0,60,0,68,167,60,0,55,216,3,223,60,0,158,2,60,0,60,0,60,0,176,167,60,0,55,216,16,223,60,0,108,0,60,0,60,0,60,0,66,1,47,0,53,3,60,0,60,0,60,0,76,255,60,0,60,0,60,0,221,29,61,0,124,33,60,0,60,0,60,0,201,1,47,0,106,0,60,0,60,0,60,0,251,30,47,0,108,0,60,0,60,0,60,0,170,2,47,0,115,0,60,0,60,0,60,0,171,2,47,0,122,0,60,0,60,0,60,0,19,33,61,0,53,216,37,220,61,0,53,216,89,220,61,0,53,216,141,220,61,0,53,216,193,220,61,0,53,216,245,220,61,0,53,216,41,221,61,0,53,216,93,221,61,0,53,216,145,221,61,0,53,216,197,221,61,0,53,216,249,221,61,0,53,216,45,222,61,0,53,216,97,222,61,0,53,216,149,222,60,0,60,0,60,0,219,36,60,0,60,0,60,0,76,0,60,0,60,0,60,0,65,1,47,0,53,3,60,0,60,0,60,0,44,255,60,0,60,0,60,0,108,33,60,0,60,0,60,0,200,1,47,0,106,0,60,0,60,0,60,0,199,1,47,0,74,0,60,0,60,0,60,0,250,30,47,0,76,0,60,0,60,0,60,0,18,33,61,0,53,216,11,220,61,0,53,216,63,220,61,0,53,216,115,220,61,0,53,216,219,220,61,0,53,216,15,221,61,0,53,216,67,221,61,0,53,216,119,221,61,0,53,216,171,221,61,0,53,216,223,221,61,0,53,216,19,222,61,0,53,216,71,222,61,0,53,216,123,222,60,0,60,0,60,0,193,36,61,0,60,216,91,221,60,0,60,0,60,0,225,2,60,0,60,0,60,0,1,216,153,223,47,0,115,0,60,0,60,0,60,0,1,216,154,223,47,0,122,0,60,0,60,0,60,0,151,32,60,0,60,0,60,0,208,51,47,0,109,0,60,0,60,0,60,0,209,51,47,0,110,0,60,0,60,0,60,0,210,51,47,0,111,0,103,0,60,0,60,0,60,0,211,51,47,0,120,0,60,0,60,0,60,0,56,29,61,0,60,216,59,221,61,0,60,216,123,221,60,0,60,0,60,0,60,216,169,221,47,0,111,0,115,0,115,0,108,0,101,0,115,0,115,0,60,0,60,0,60,0,207,50,47,0,84,0,68,0,60,0,60,0,108,0,183,0,61,0,108,0,183,0,61,0,64,1,60,0,60,0,60,0,76,0,183,0,61,0,76,0,183,0,61,0,63,1,60,0,159,2,60,0,60,0,60,0,222,29,60,0,60,0,60,0,171,29,60,0,71,167,60,0,60,0,60,0,70,167,60,0,12,29,60,0,73,167,60,0,60,0,60,0,72,167,60,0,154,1,60,0,60,0,60,0,61,2,60,0,97,44,60,0,60,0,60,0,96,44,60,0,107,2,60,0,60,0,60,0,98,44,60,0,60,0,60,0,94,171,60,0,56,171,60,0,60,0,60,0,236,29,60,0,57,171,60,0,108,2,60,0,60,0,60,0,173,167,60,0,60,0,60,0,1,216,155,223,60,0,55,216,4,223,60,0,60,0,60,0,1,216,156,223,60,0,55,216,19,223,60,0,55,171,60,0,60,0,60,0,93,171,60,0,133,29,60,0,60,0,60,0,170,29,60,0,109,2,60,0,60,0,60,0,169,29,60,0,55,216,38,223,60,0,142,167,60,0,60,0,60,0,1,216,157,223,60,0,55,216,17,223,60,0,52,2,60,0,114,167,60,0,110,2,60,0,60,0,60,0,1,216,158,223,60,0,55,216,5,223,60,0,60,0,60,0,1,216,159,223,60,0,129,167,60,0,60,0,60,0,128,167,60,0,155,1,60,0,142,2,60,0,60,0,60,0,1,216,160,223,60,0,55,216,6,223,60,0,60,0,60,0,1,216,161,223,60,0,109,0,60,0,60,0,60,0,77,255,60,0,60,0,60,0,107,3,61,0,127,33,60,0,60,0,60,0,53,216,38,220,61,0,53,216,90,220,61,0,53,216,142,220,61,0,53,216,194,220,61,0,53,216,246,220,61,0,53,216,42,221,61,0,53,216,94,221,61,0,53,216,146,221,61,0,53,216,198,221,61,0,53,216,250,221,61,0,53,216,46,222,61,0,53,216,98,222,61,0,53,216,150,222,60,0,60,0,60,0,220,36,60,0,60,0,60,0,77,0,60,0,60,0,60,0,45,255,60,0,60,0,60,0,111,33,60,0,60,0,60,0,51,33,61,0,53,216,12,220,61,0,53,216,64,220,61,0,53,216,116,220,61,0,53,216,220,220,61,0,53,216,16,221,61,0,53,216,68,221,61,0,53,216,120,221,61,0,53,216,172,221,61,0,53,216,224,221,61,0,53,216,20,222,61,0,53,216,72,222,61,0,53,216,124,222,60,0,60,0,60,0,194,36,61,0,60,216,92,221,60,0,60,0,60,0,80,29,60,0,60,0,60,0,60,216,106,221,47,0,99,0,60,0,60,0,60,0,60,216,107,221,47,0,100,0,60,0,60,0,60,0,60,216,108,221,47,0,114,0,60,0,60,0,60,0,152,32,60,0,60,0,60,0,167,51,47,0,21,34,115,0,60,0,60,0,60,0,168,51,47,0,14,32,21,34,115,0,59,216,2,221,14,32,60,0,60,0,60,0,161,51,47,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,165,51,47,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,131,51,47,0,65,0,60,0,60,0,60,0,212,51,47,0,98,0,60,0,60,0,60,0,142,51,47,0,103,0,60,0,60,0,60,0,213,51,47,0,105,0,108,0,60,0,60,0,60,0,150,51,47,0,108,0,60,0,60,0,60,0,156,51,47,0,109,0,60,0,60,0,60,0,159,51,47,0,14,32,109,0,59,216,2,221,14,32,60,0,60,0,60,0,163,51,47,0,14,32,109,0,59,216,3,221,14,32,60,0,60,0,60,0,214,51,47,0,111,0,108,0,60,0,60,0,60,0,179,51,47,0,115,0,60,0,60,0,60,0,183,51,47,0,86,0,60,0,60,0,60,0,189,51,47,0,87,0,60,0,60,0,60,0,57,29,61,0,60,216,60,221,61,0,60,216,124,221,60,0,60,0,60,0,134,51,47,0,66,0,60,0,60,0,60,0,146,51,47,0,72,0,122,0,60,0,60,0,60,0,171,51,47,0,80,0,97,0,60,0,60,0,60,0,185,51,47,0,86,0,61,0,60,216,75,221,47,0,86,0,60,0,60,0,60,0,191,51,47,0,87,0,60,0,60,0,60,0,193,51,47,0,169,3,60,0,13,29,60,0,60,0,60,0,223,29,60,0,111,29,60,0,134,29,60,0,113,2,60,0,60,0,60,0,110,44,60,0,60,0,60,0,172,29,60,0,58,171,60,0,253,167,60,0,255,167,60,0,115,167,60,0,110,0,60,0,60,0,60,0,78,255,60,0,60,0,60,0,224,29,60,0,60,0,60,0,165,167,47,0,47,216,158,220,60,0,60,0,60,0,204,1,47,0,106,0,60,0,60,0,60,0,53,216,39,220,61,0,53,216,91,220,61,0,53,216,143,220,61,0,53,216,195,220,61,0,53,216,247,220,61,0,53,216,43,221,61,0,53,216,95,221,61,0,53,216,147,221,61,0,53,216,199,221,61,0,53,216,251,221,61,0,53,216,47,222,61,0,53,216,99,222,61,0,53,216,151,222,60,0,60,0,60,0,221,36,60,0,60,0,60,0,78,0,60,0,60,0,60,0,46,255,60,0,60,0,60,0,164,167,47,0,47,216,158,220,60,0,60,0,60,0,203,1,47,0,106,0,60,0,60,0,60,0,202,1,47,0,74,0,60,0,60,0,60,0,22,33,47,0,111,0,60,0,60,0,60,0,21,33,61,0,53,216,13,220,61,0,53,216,65,220,61,0,53,216,117,220,61,0,53,216,169,220,61,0,53,216,221,220,61,0,53,216,17,221,61,0,53,216,121,221,61,0,53,216,173,221,61,0,53,216,225,221,61,0,53,216,21,222,61,0,53,216,73,222,61,0,53,216,125,222,60,0,60,0,60,0,195,36,61,0,60,216,93,221,60,0,60,0,60,0,127,32,60,0,60,0,60,0,153,32,60,0,60,0,60,0,129,51,47,0,65,0,60,0,60,0,60,0,139,51,47,0,70,0,60,0,60,0,60,0,154,51,47,0,109,0,60,0,60,0,60,0,177,51,47,0,115,0,60,0,60,0,60,0,181,51,47,0,86,0,60,0,60,0,60,0,187,51,47,0,87,0,60,0,60,0,60,0,58,29,61,0,60,216,61,221,61,0,60,216,125,221,60,0,60,0,60,0,60,216,149,221,47,0,69,0,87,0,60,0,60,0,60,0,60,216,150,221,47,0,71,0,60,0,116,2,60,0,60,0,60,0,225,29,60,0,60,0,60,0,176,29,60,0,59,29,60,0,14,29,60,0,112,29,60,0,114,2,60,0,60,0,60,0,157,1,60,0,60,0,60,0,174,29,60,0,158,1,60,0,60,0,60,0,32,2,60,0,145,167,60,0,60,0,60,0,144,167,60,0,135,29,60,0,115,2,60,0,60,0,60,0,175,29,60,0,55,216,39,223,60,0,53,2,60,0,59,171,60,0,116,167,60,0,75,1,60,0,60,0,60,0,74,1,60,0,60,0,60,0,81,29,60,0,60,171,60,0,55,216,20,223,60,0,55,216,7,223,60,0,111,0,60,0,60,0,60,0,248,0,47,0,56,3,60,0,60,0,60,0,79,255,60,0,60,0,60,0,102,3,60,0,60,0,60,0,243,29,47,0,8,3,61,0,157,167,47,0,8,3,60,0,60,0,60,0,237,29,47,0,3,216,133,223,60,0,60,0,60,0,79,167,47,0,111,0,60,0,60,0,60,0,52,33,61,0,53,216,40,220,61,0,53,216,92,220,61,0,53,216,144,220,61,0,53,216,248,220,61,0,53,216,44,221,61,0,53,216,96,221,61,0,53,216,148,221,61,0,53,216,200,221,61,0,53,216,252,221,61,0,53,216,48,222,61,0,53,216,100,222,61,0,53,216,152,222,60,0,60,0,60,0,222,36,60,0,60,0,60,0,79,0,60,0,60,0,60,0,216,0,47,0,56,3,60,0,60,0,60,0,47,255,60,0,60,0,60,0,156,167,47,0,8,3,60,0,60,0,60,0,78,167,47,0,79,0,60,0,60,0,60,0,53,216,14,220,61,0,53,216,66,220,61,0,53,216,118,220,61,0,53,216,170,220,61,0,53,216,222,220,61,0,53,216,18,221,61,0,53,216,70,221,61,0,53,216,122,221,61,0,53,216,174,221,61,0,53,216,226,221,61,0,53,216,22,222,61,0,53,216,74,222,61,0,53,216,126,222,60,0,60,0,60,0,196,36,61,0,60,216,94,221,60,0,60,0,60,0,186,0,61,0,82,29,60,0,60,0,60,0,1,216,162,223,47,0,56,3,60,0,60,0,60,0,146,32,60,0,60,0,60,0,117,51,47,0,86,0,60,0,60,0,60,0,60,29,61,0,60,216,62,221,61,0,60,216,126,221,60,0,60,0,60,0,60,216,151,221,47,0,75,0,60,0,60,0,83,1,47,0,101,0,60,0,60,0,60,0,82,1,47,0,69,0,60,0,60,0,60,0,249,167,47,0,101,0,60,0,15,29,60,0,17,29,60,0,61,171,60,0,118,2,60,0,60,0,60,0,1,216,163,223,60,0,20,29,60,0,65,171,60,0,66,171,60,0,64,171,60,0,67,171,60,0,68,171,60,0,19,29,60,0,62,171,60,0,55,216,27,223,60,0,84,2,60,0,60,0,60,0,134,1,60,0,60,0,60,0,83,29,60,0,16,29,60,0,18,29,60,0,63,171,60,0,151,29,60,0,98,171,60,0,77,167,60,0,60,0,60,0,76,167,60,0,22,29,60,0,60,0,60,0,84,29,60,0,23,29,60,0,60,0,60,0,85,29,60,0,122,44,60,0,117,2,60,0,60,0,60,0,159,1,60,0,60,0,60,0,177,29,60,0,75,167,60,0,60,0,60,0,74,167,60,0,119,2,60,0,60,0,60,0,1,216,164,223,60,0,183,167,60,0,60,0,60,0,182,167,60,0,35,2,60,0,60,0,60,0,34,2,60,0,60,0,60,0,61,29,60,0,21,29,60,0,112,0,60,0,60,0,60,0,80,255,60,0,60,0,60,0,238,29,60,0,60,0,60,0,53,216,41,220,61,0,53,216,93,220,61,0,53,216,145,220,61,0,53,216,197,220,61,0,53,216,249,220,61,0,53,216,45,221,61,0,53,216,97,221,61,0,53,216,149,221,61,0,53,216,201,221,61,0,53,216,253,221,61,0,53,216,49,222,61,0,53,216,101,222,61,0,53,216,153,222,60,0,60,0,60,0,223,36,60,0,60,0,60,0,80,0,60,0,60,0,60,0,48,255,60,0,60,0,60,0,25,33,61,0,53,216,15,220,61,0,53,216,67,220,61,0,53,216,119,220,61,0,53,216,171,220,61,0,53,216,223,220,61,0,53,216,19,221,61,0,53,216,123,221,61,0,53,216,175,221,61,0,53,216,227,221,61,0,53,216,23,222,61,0,53,216,75,222,61,0,53,216,127,222,60,0,60,0,60,0,197,36,61,0,60,216,95,221,60,0,60,0,60,0,86,29,60,0,60,0,60,0,154,32,60,0,60,0,60,0,216,51,47,0,39,0,46,0,39,0,109,0,39,0,46,0,39,0,60,0,60,0,60,0,128,51,47,0,65,0,60,0,60,0,60,0,118,51,47,0,99,0,60,0,60,0,60,0,138,51,47,0,70,0,60,0,60,0,60,0,176,51,47,0,115,0,60,0,60,0,60,0,180,51,47,0,86,0,60,0,60,0,60,0,186,51,47,0,87,0,60,0,60,0,60,0,62,29,61,0,60,216,63,221,61,0,60,216,127,221,61,0,60,216,138,221,60,0,60,0,60,0,169,51,47,0,97,0,60,0,60,0,60,0,60,216,140,221,47,0,65,0,60,0,60,0,60,0,215,51,47,0,72,0,60,0,60,0,60,0,217,51,47,0,80,0,77,0,60,0,60,0,60,0,60,216,78,221,47,0,80,0,86,0,60,0,60,0,60,0,218,51,47,0,82,0,60,0,60,0,60,0,80,50,47,0,84,0,69,0,60,0,24,29,60,0,125,29,60,0,60,0,60,0,99,44,60,0,81,167,60,0,60,0,60,0,80,167,60,0,113,29,60,0,136,29,60,0,165,1,60,0,60,0,60,0,164,1,60,0,83,167,60,0,60,0,60,0,82,167,60,0,85,167,60,0,60,0,60,0,84,167,60,0,252,167,60,0,120,2,60,0,60,0,60,0,178,29,60,0,119,44,60,0,113,0,60,0,60,0,60,0,81,255,60,0,60,0,60,0,57,2,47,0,112,0,60,0,60,0,60,0,53,216,42,220,61,0,53,216,94,220,61,0,53,216,146,220,61,0,53,216,198,220,61,0,53,216,250,220,61,0,53,216,46,221,61,0,53,216,98,221,61,0,53,216,150,221,61,0,53,216,202,221,61,0,53,216,254,221,61,0,53,216,50,222,61,0,53,216,102,222,61,0,53,216,154,222,60,0,60,0,60,0,224,36,60,0,60,0,60,0,81,0,60,0,60,0,60,0,49,255,60,0,60,0,60,0,26,33,61,0,53,216,16,220,61,0,53,216,68,220,61,0,53,216,120,220,61,0,53,216,172,220,61,0,53,216,224,220,61,0,53,216,20,221,61,0,53,216,124,221,61,0,53,216,176,221,61,0,53,216,228,221,61,0,53,216,24,222,61,0,53,216,76,222,61,0,53,216,128,222,60,0,60,0,60,0,198,36,61,0,60,216,96,221,60,0,60,0,60,0,1,216,165,223,60,0,60,0,60,0,244,167,61,0,60,216,64,221,61,0,60,216,128,221,60,0,175,167,60,0,87,167,60,0,60,0,60,0,86,167,60,0,89,167,60,0,60,0,60,0,88,167,60,0,160,2,60,0,75,2,60,0,60,0,60,0,74,2,60,0,56,1,60,0,114,0,60,0,60,0,60,0,82,255,60,0,60,0,60,0,108,3,61,0,202,29,60,0,60,0,60,0,167,167,47,0,47,216,158,220,60,0,60,0,60,0,53,216,43,220,61,0,53,216,95,220,61,0,53,216,147,220,61,0,53,216,199,220,61,0,53,216,251,220,61,0,53,216,47,221,61,0,53,216,99,221,61,0,53,216,151,221,61,0,53,216,203,221,61,0,53,216,255,221,61,0,53,216,51,222,61,0,53,216,103,222,61,0,53,216,155,222,60,0,60,0,60,0,225,36,60,0,60,0,60,0,82,0,60,0,60,0,60,0,50,255,60,0,60,0,60,0,166,167,47,0,47,216,158,220,60,0,60,0,60,0,27,33,61,0,28,33,61,0,29,33,61,0,53,216,17,220,61,0,53,216,69,220,61,0,53,216,121,220,61,0,53,216,225,220,61,0,53,216,125,221,61,0,53,216,177,221,61,0,53,216,229,221,61,0,53,216,25,222,61,0,53,216,77,222,61,0,53,216,129,222,60,0,60,0,60,0,199,36,61,0,60,216,44,221,61,0,60,216,97,221,60,0,60,0,60,0,179,2,60,0,60,0,60,0,99,29,60,0,60,0,60,0,173,51,47,0,97,0,100,0,60,0,60,0,60,0,174,51,47,0,97,0,100,0,21,34,115,0,60,0,60,0,60,0,175,51,47,0,14,32,97,0,100,0,21,34,115,0,59,216,2,221,14,32,60,0,60,0,60,0,63,29,61,0,60,216,65,221,61,0,60,216,129,221,60,0,60,0,205,26,61,0,131,167,60,0,60,0,60,0,130,167,60,0,60,0,227,29,61,0,91,167,60,0,60,0,60,0,90,167,60,0,69,171,60,0,128,2,60,0,60,0,60,0,226,29,60,0,60,0,60,0,166,1,60,0,60,0,60,0,1,216,170,223,60,0,70,171,60,0,25,29,60,0,77,2,60,0,60,0,60,0,76,2,60,0,114,29,60,0,121,2,60,0,60,0,60,0,180,2,60,0,26,29,60,0,122,2,60,0,60,0,60,0,1,216,166,223,60,0,55,216,8,223,60,0,60,0,60,0,1,216,167,223,60,0,123,2,60,0,60,0,60,0,181,2,60,0,121,44,60,0,137,29,60,0,124,2,60,0,125,2,60,0,60,0,60,0,100,44,60,0,60,0,60,0,1,216,168,223,60,0,55,216,40,223,60,0,73,171,60,0,126,2,60,0,60,0,60,0,1,216,169,223,60,0,115,29,60,0,55,216,22,223,60,0,127,2,60,0,71,171,60,0,72,171,60,0,74,171,60,0,75,171,60,0,76,171,60,0,129,2,60,0,60,0,60,0,182,2,60,0,104,171,60,0,55,216,21,223,60,0,117,167,60,0,118,167,60,0,93,167,60,0,60,0,60,0,92,167,60,0,115,0,60,0,60,0,60,0,83,255,60,0,60,0,60,0,228,29,60,0,60,0,60,0,169,167,47,0,47,216,158,220,60,0,60,0,60,0,6,251,47,0,116,0,60,0,60,0,60,0,53,216,44,220,61,0,53,216,96,220,61,0,53,216,148,220,61,0,53,216,200,220,61,0,53,216,252,220,61,0,53,216,48,221,61,0,53,216,100,221,61,0,53,216,152,221,61,0,53,216,204,221,61,0,53,216,0,222,61,0,53,216,52,222,61,0,53,216,104,222,61,0,53,216,156,222,60,0,60,0,60,0,226,36,60,0,60,0,60,0,83,0,60,0,60,0,60,0,51,255,60,0,60,0,60,0,168,167,47,0,47,216,158,220,60,0,60,0,60,0,53,216,18,220,61,0,53,216,70,220,61,0,53,216,122,220,61,0,53,216,174,220,61,0,53,216,226,220,61,0,53,216,22,221,61,0,53,216,74,221,61,0,53,216,126,221,61,0,53,216,178,221,61,0,53,216,230,221,61,0,53,216,26,222,61,0,53,216,78,222,61,0,53,216,130,222,60,0,60,0,60,0,200,36,61,0,60,216,98,221,60,0,60,0,60,0,226,2,60,0,60,0,60,0,32,33,47,0,109,0,60,0,60,0,60,0,155,32,60,0,60,0,60,0,219,51,47,0,114,0,60,0,60,0,60,0,60,216,66,221,61,0,60,216,130,221,60,0,60,0,60,0,60,216,141,221,47,0,65,0,60,0,60,0,60,0,60,216,76,221,47,0,68,0,60,0,60,0,60,0,60,216,170,221,47,0,72,0,86,0,60,0,60,0,60,0,60,216,152,221,47,0,79,0,83,0,60,0,60,0,60,0,60,216,77,221,47,0,83,0,60,0,60,0,60,0,220,51,47,0,118,0,60,0,60,0,223,0,47,0,115,0,60,0,60,0,60,0,158,30,47,0,83,0,60,0,60,0,127,1,61,0,229,29,60,0,60,0,60,0,5,251,47,0,116,0,60,0,60,0,133,167,60,0,60,0,60,0,132,167,60,0,60,0,217,167,60,0,60,0,60,0,216,167,60,0,49,167,60,0,202,167,60,0,60,0,60,0,201,167,60,0,116,29,60,0,138,29,60,0,130,2,60,0,60,0,60,0,197,167,60,0,60,0,60,0,179,29,60,0,55,216,41,223,60,0,55,216,30,223,60,0,60,0,60,0,1,216,186,223,60,0,63,2,60,0,60,0,60,0,126,44,60,0,215,167,60,0,60,0,60,0,214,167,60,0,156,30,60,0,157,30,60,0,131,2,60,0,60,0,60,0,239,29,60,0,60,0,60,0,169,1,60,0,60,0,60,0,180,29,60,0,77,171,60,0,139,29,60,0,152,29,60,0,170,1,60,0,133,2,60,0,134,2,60,0,55,216,11,223,60,0,55,216,12,223,60,0,116,0,60,0,60,0,60,0,84,255,60,0,60,0,60,0,109,3,60,0,60,0,60,0,168,2,47,0,85,2,60,0,60,0,60,0,190,1,47,0,115,0,61,0,166,2,47,0,115,0,60,0,60,0,60,0,103,171,47,0,130,2,60,0,60,0,60,0,167,2,47,0,131,2,60,0,60,0,60,0,55,216,23,223,47,0,139,29,60,0,60,0,60,0,55,216,28,223,47,0,152,29,60,0,60,0,60,0,41,167,47,0,122,0,60,0,60,0,60,0,53,216,45,220,61,0,53,216,97,220,61,0,53,216,149,220,61,0,53,216,201,220,61,0,53,216,253,220,61,0,53,216,49,221,61,0,53,216,101,221,61,0,53,216,153,221,61,0,53,216,205,221,61,0,53,216,1,222,61,0,53,216,53,222,61,0,53,216,105,222,61,0,53,216,157,222,60,0,60,0,60,0,227,36,60,0,60,0,60,0,84,0,60,0,60,0,60,0,52,255,60,0,60,0,60,0,33,33,47,0,69,0,76,0,60,0,60,0,60,0,40,167,47,0,122,0,60,0,60,0,60,0,53,216,19,220,61,0,53,216,71,220,61,0,53,216,123,220,61,0,53,216,175,220,61,0,53,216,227,220,61,0,53,216,23,221,61,0,53,216,75,221,61,0,53,216,127,221,61,0,53,216,179,221,61,0,53,216,231,221,61,0,53,216,27,222,61,0,53,216,79,222,61,0,53,216,131,222,60,0,60,0,60,0,201,36,61,0,60,216,99,221,60,0,60,0,60,0,87,29,60,0,60,0,60,0,1,216,171,223,47,0,85,2,60,0,60,0,60,0,34,33,47,0,109,0,60,0,60,0,60,0,1,216,172,223,47,0,115,0,60,0,60,0,60,0,1,216,173,223,47,0,130,2,60,0,60,0,60,0,1,216,174,223,47,0,131,2,60,0,60,0,60,0,156,32,60,0,60,0,60,0,64,29,61,0,60,216,67,221,61,0,60,216,131,221,60,0,60,0,60,0,148,51,47,0,72,0,122,0,60,0,60,0,122,29,47,0,104,0,60,0,60,0,206,26,61,0,135,167,60,0,60,0,60,0,134,167,60,0,27,29,60,0,103,1,60,0,60,0,60,0,102,1,60,0,102,44,60,0,60,0,60,0,62,2,60,0,117,29,60,0,171,1,60,0,60,0,60,0,181,29,60,0,173,1,60,0,60,0,60,0,172,1,60,0,136,2,60,0,60,0,60,0,174,1,60,0,60,0,60,0,1,216,175,223,60,0,55,216,42,223,60,0,55,216,9,223,60,0,54,2,60,0,119,167,60,0,135,2,60,0,60,0,60,0,177,167,60,0,55,216,13,223,60,0,117,0,60,0,60,0,60,0,85,255,60,0,60,0,60,0,103,3,60,0,60,0,60,0,244,29,47,0,8,3,61,0,159,167,47,0,8,3,60,0,60,0,60,0,240,29,47,0,3,216,133,223,60,0,60,0,60,0,53,216,46,220,61,0,53,216,98,220,61,0,53,216,150,220,61,0,53,216,202,220,61,0,53,216,254,220,61,0,53,216,50,221,61,0,53,216,102,221,61,0,53,216,154,221,61,0,53,216,206,221,61,0,53,216,2,222,61,0,53,216,54,222,61,0,53,216,106,222,61,0,53,216,158,222,60,0,60,0,60,0,228,36,60,0,60,0,60,0,85,0,60,0,60,0,60,0,53,255,60,0,60,0,60,0,158,167,47,0,8,3,60,0,60,0,60,0,53,216,20,220,61,0,53,216,72,220,61,0,53,216,124,220,61,0,53,216,176,220,61,0,53,216,228,220,61,0,53,216,24,221,61,0,53,216,76,221,61,0,53,216,128,221,61,0,53,216,180,221,61,0,53,216,232,221,61,0,53,216,28,222,61,0,53,216,80,222,61,0,53,216,132,222,60,0,60,0,60,0,202,36,61,0,60,216,100,221,60,0,60,0,60,0,88,29,60,0,60,0,60,0,100,29,60,0,60,0,60,0,65,29,61,0,60,216,68,221,61,0,60,216,132,221,60,0,60,0,60,0,60,216,171,221,47,0,72,0,68,0,60,0,60,0,60,0,60,216,153,221,47,0,80,0,39,0,33,0,39,0,60,0,28,29,60,0,60,0,60,0,184,29,60,0,78,171,60,0,29,29,60,0,60,0,60,0,89,29,60,0,30,29,60,0,107,29,60,0,80,171,60,0,81,171,60,0,137,2,60,0,60,0,60,0,68,2,60,0,60,0,60,0,182,29,60,0,79,171,60,0,185,167,60,0,60,0,60,0,184,167,60,0,126,29,60,0,153,29,60,0,82,171,60,0,60,0,60,0,95,171,60,0,191,167,60,0,60,0,60,0,190,167,60,0,101,2,60,0,60,0,60,0,141,167,60,0,60,0,60,0,163,29,60,0,174,2,60,0,175,2,60,0,111,2,60,0,60,0,60,0,156,1,60,0,60,0,60,0,90,29,60,0,250,167,60,0,31,29,60,0,112,2,60,0,60,0,60,0,173,29,60,0,138,2,60,0,60,0,60,0,177,1,60,0,60,0,60,0,183,29,60,0,127,29,60,0,118,0,60,0,60,0,60,0,86,255,60,0,60,0,60,0,110,3,61,0,116,33,60,0,60,0,60,0,117,33,47,0,105,0,60,0,60,0,60,0,118,33,47,0,105,0,105,0,60,0,60,0,60,0,119,33,47,0,105,0,105,0,105,0,60,0,60,0,60,0,97,167,47,0,121,0,60,0,60,0,60,0,53,216,47,220,61,0,53,216,99,220,61,0,53,216,151,220,61,0,53,216,203,220,61,0,53,216,255,220,61,0,53,216,51,221,61,0,53,216,103,221,61,0,53,216,155,221,61,0,53,216,207,221,61,0,53,216,3,222,61,0,53,216,55,222,61,0,53,216,107,222,61,0,53,216,159,222,60,0,60,0,60,0,229,36,60,0,60,0,60,0,86,0,60,0,60,0,60,0,54,255,60,0,60,0,60,0,100,33,60,0,60,0,60,0,101,33,47,0,73,0,60,0,60,0,60,0,102,33,47,0,73,0,73,0,60,0,60,0,60,0,103,33,47,0,73,0,73,0,73,0,60,0,60,0,60,0,96,167,47,0,89,0,60,0,60,0,60,0,53,216,21,220,61,0,53,216,73,220,61,0,53,216,125,220,61,0,53,216,177,220,61,0,53,216,229,220,61,0,53,216,25,221,61,0,53,216,77,221,61,0,53,216,129,221,61,0,53,216,181,221,61,0,53,216,233,221,61,0,53,216,29,222,61,0,53,216,81,222,61,0,53,216,133,222,60,0,60,0,60,0,203,36,61,0,60,216,101,221,60,0,60,0,60,0,91,29,60,0,60,0,60,0,101,29,60,0,60,0,60,0,125,44,61,0,60,216,69,221,61,0,60,216,133,221,60,0,60,0,60,0,222,51,47,0,21,34,109,0,60,0,60,0,60,0,60,216,172,221,47,0,79,0,68,0,60,0,60,0,60,0,60,216,154,221,47,0,83,0,60,0,32,29,60,0,95,167,60,0,60,0,60,0,94,167,60,0,140,29,60,0,139,2,60,0,60,0,60,0,178,1,60,0,60,0,60,0,185,29,60,0,113,44,60,0,60,0,60,0,1,216,176,223,60,0,116,44,60,0,253,30,60,0,60,0,60,0,252,30,60,0,140,2,60,0,60,0,60,0,69,2,60,0,60,0,60,0,186,29,60,0,119,0,60,0,60,0,60,0,87,255,60,0,60,0,60,0,191,26,61,0,241,29,60,0,60,0,60,0,53,216,48,220,61,0,53,216,100,220,61,0,53,216,152,220,61,0,53,216,204,220,61,0,53,216,0,221,61,0,53,216,52,221,61,0,53,216,104,221,61,0,53,216,156,221,61,0,53,216,208,221,61,0,53,216,4,222,61,0,53,216,56,222,61,0,53,216,108,222,61,0,53,216,160,222,60,0,60,0,60,0,230,36,60,0,60,0,60,0,87,0,60,0,60,0,60,0,55,255,60,0,60,0,60,0,53,216,22,220,61,0,53,216,74,220,61,0,53,216,126,220,61,0,53,216,178,220,61,0,53,216,230,220,61,0,53,216,26,221,61,0,53,216,78,221,61,0,53,216,130,221,61,0,53,216,182,221,61,0,53,216,234,221,61,0,53,216,30,222,61,0,53,216,82,222,61,0,53,216,134,222,60,0,60,0,60,0,204,36,61,0,60,216,102,221,60,0,60,0,60,0,60,216,46,221,47,0,90,0,60,0,60,0,60,0,183,2,60,0,60,0,60,0,66,29,61,0,60,216,70,221,61,0,60,216,134,221,60,0,60,0,60,0,221,51,47,0,98,0,60,0,60,0,60,0,60,216,79,221,47,0,67,0,61,0,60,216,143,221,47,0,67,0,60,0,60,0,195,167,60,0,60,0,60,0,194,167,60,0,33,29,60,0,115,44,60,0,60,0,60,0,114,44,60,0,141,2,60,0,60,0,60,0,192,26,60,0,60,0,60,0,105,171,60,0,120,0,60,0,60,0,60,0,88,255,60,0,60,0,60,0,111,3,61,0,121,33,60,0,60,0,60,0,122,33,47,0,105,0,60,0,60,0,60,0,123,33,47,0,105,0,105,0,60,0,60,0,60,0,53,216,49,220,61,0,53,216,101,220,61,0,53,216,153,220,61,0,53,216,205,220,61,0,53,216,1,221,61,0,53,216,53,221,61,0,53,216,105,221,61,0,53,216,157,221,61,0,53,216,209,221,61,0,53,216,5,222,61,0,53,216,57,222,61,0,53,216,109,222,61,0,53,216,161,222,60,0,60,0,60,0,231,36,60,0,60,0,60,0,88,0,60,0,60,0,60,0,56,255,60,0,60,0,60,0,105,33,60,0,60,0,60,0,106,33,47,0,73,0,60,0,60,0,60,0,107,33,47,0,73,0,73,0,60,0,60,0,60,0,53,216,23,220,61,0,53,216,75,220,61,0,53,216,127,220,61,0,53,216,179,220,61,0,53,216,231,220,61,0,53,216,27,221,61,0,53,216,79,221,61,0,53,216,131,221,61,0,53,216,183,221,61,0,53,216,235,221,61,0,53,216,31,222,61,0,53,216,83,222,61,0,53,216,135,222,60,0,60,0,60,0,205,36,61,0,60,216,103,221,60,0,60,0,60,0,227,2,60,0,60,0,60,0,147,32,60,0,60,0,60,0,60,216,71,221,61,0,60,216,135,221,60,0,141,29,60,0,86,171,60,0,87,171,60,0,88,171,60,0,89,171,60,0,83,171,60,0,60,0,60,0,179,167,60,0,84,171,60,0,85,171,60,0,121,0,60,0,60,0,60,0,89,255,60,0,60,0,60,0,53,216,50,220,61,0,53,216,102,220,61,0,53,216,154,220,61,0,53,216,206,220,61,0,53,216,2,221,61,0,53,216,54,221,61,0,53,216,106,221,61,0,53,216,158,221,61,0,53,216,210,221,61,0,53,216,6,222,61,0,53,216,58,222,61,0,53,216,110,222,61,0,53,216,162,222,60,0,60,0,60,0,232,36,60,0,60,0,60,0,89,0,60,0,60,0,60,0,57,255,60,0,60,0,60,0,53,216,24,220,61,0,53,216,76,220,61,0,53,216,128,220,61,0,53,216,180,220,61,0,53,216,232,220,61,0,53,216,28,221,61,0,53,216,80,221,61,0,53,216,132,221,61,0,53,216,184,221,61,0,53,216,236,221,61,0,53,216,32,222,61,0,53,216,84,222,61,0,53,216,136,222,60,0,60,0,60,0,206,36,61,0,60,216,104,221,60,0,60,0,60,0,184,2,60,0,60,0,60,0,60,216,72,221,61,0,60,216,136,221,60,0,143,2,60,0,60,0,60,0,1,216,178,223,60,0,79,2,60,0,60,0,60,0,78,2,60,0,180,1,60,0,60,0,60,0,179,1,60,0,255,30,60,0,60,0,60,0,254,30,60,0,90,171,60,0,29,2,60,0,60,0,60,0,28,2,60,0,122,0,60,0,60,0,60,0,90,255,60,0,60,0,60,0,230,29,60,0,60,0,60,0,141,1,47,0,119,0,60,0,60,0,60,0,53,216,51,220,61,0,53,216,103,220,61,0,53,216,155,220,61,0,53,216,207,220,61,0,53,216,3,221,61,0,53,216,55,221,61,0,53,216,107,221,61,0,53,216,159,221,61,0,53,216,211,221,61,0,53,216,7,222,61,0,53,216,59,222,61,0,53,216,111,222,61,0,53,216,163,222,60,0,60,0,60,0,233,36,60,0,60,0,60,0,90,0,60,0,60,0,60,0,58,255,60,0,60,0,60,0,36,33,61,0,40,33,61,0,53,216,25,220,61,0,53,216,77,220,61,0,53,216,129,220,61,0,53,216,181,220,61,0,53,216,233,220,61,0,53,216,133,221,61,0,53,216,185,221,61,0,53,216,237,221,61,0,53,216,33,222,61,0,53,216,85,222,61,0,53,216,137,222,60,0,60,0,60,0,207,36,61,0,60,216,105,221,60,0,60,0,60,0,187,29,60,0,60,0,60,0,60,216,73,221,61,0,60,216,137,221,60,0,34,29,60,0,182,1,60,0,60,0,60,0,181,1,60,0,118,29,60,0,142,29,60,0,60,0,60,0,198,167,60,0,37,2,60,0,60,0,60,0,36,2,60,0,144,2,60,0,60,0,60,0,188,29,60,0,145,2,60,0,60,0,60,0,189,29,60,0,64,2,60,0,60,0,60,0,127,44,60,0,108,44,60,0,60,0,60,0,107,44,60,0,99,167,60,0,60,0,60,0,98,167,60,0,146,2,60,0,60,0,60,0,183,1,60,0,60,0,60,0,190,29,60,0,35,29,60,0,185,1,60,0,60,0,60,0,184,1,60,0,55,216,24,223,60,0,154,29,60,0,186,1,60,0,147,2,60,0,254,0,60,0,60,0,60,0,222,0,60,0,211,167,60,0,101,167,60,0,60,0,60,0,100,167,60,0,103,167,60,0,60,0,60,0,102,167,60,0,191,1,60,0,60,0,60,0,247,1,60,0,213,167,60,0,105,167,60,0,60,0,60,0,104,167,60,0,96,171,60,0,97,171,60,0,99,171,60,0,107,167,60,0,60,0,60,0,106,167,60,0,109,167,60,0,60,0,60,0,108,167,60,0,111,167,60,0,60,0,60,0,210,29,60,0,60,0,60,0,110,167,60,0,60,0,60,0,112,167,60,0,120,167,60,0,187,1,60,0,43,167,60,0,60,0,60,0,42,167,60,0,45,167,60,0,60,0,60,0,44,167,60,0,47,167,60,0,60,0,60,0,46,167,60,0,168,1,60,0,60,0,60,0,167,1,60,0,189,1,60,0,60,0,60,0,188,1,60,0,133,1,60,0,60,0,60,0,132,1,60,0,148,2,60,0,66,2,60,0,60,0,60,0,65,2,60,0,192,2,60,0,188,2,60,0,60,0,60,0,73,1,47,0,110,0,60,0,238,2,60,0,190,2,60,0,35,167,60,0,60,0,60,0,34,167,60,0,140,167,60,0,60,0,60,0,139,167,60,0,143,167,60,0,149,2,60,0,60,0,60,0,228,2,60,0,191,2,60,0,193,2,60,0,36,29,60,0,37,29,60,0,60,0,60,0,92,29,60,0,37,167,60,0,60,0,60,0,36,167,60,0,161,2,60,0,60,0,60,0,1,216,179,223,60,0,162,2,60,0,60,0,60,0,1,216,180,223,60,0,150,2,60,0,55,216,14,223,60,0,192,1,60,0,60,0,60,0,1,216,182,223,60,0,193,1,60,0,60,0,60,0,1,216,183,223,60,0,194,1,60,0,60,0,60,0,1,216,184,223,60,0,195,1,60,0,55,216,10,223,60,0,60,0,60,0,1,216,185,223,60,0,151,2,60,0,55,216,15,223,60,0,152,2,60,0,60,0,60,0,1,216,181,223,60,0,172,2,60,0,173,2,60,0,177,3,60,0,60,0,60,0,53,216,194,222,61,0,53,216,252,222,61,0,53,216,54,223,61,0,53,216,112,223,61,0,53,216,170,223,60,0,60,0,60,0,145,3,60,0,60,0,60,0,53,216,168,222,61,0,53,216,226,222,61,0,53,216,28,223,61,0,53,216,86,223,61,0,53,216,144,223,60,0,178,3,60,0,60,0,60,0,208,3,60,0,60,0,60,0,53,216,195,222,61,0,53,216,253,222,61,0,53,216,55,223,61,0,53,216,113,223,61,0,53,216,171,223,60,0,60,0,60,0,146,3,60,0,60,0,60,0,53,216,169,222,61,0,53,216,227,222,61,0,53,216,29,223,61,0,53,216,87,223,61,0,53,216,145,223,60,0,60,0,60,0,93,29,60,0,60,0,60,0,102,29,60,0,179,3,60,0,60,0,60,0,61,33,61,0,53,216,196,222,61,0,53,216,254,222,61,0,53,216,56,223,61,0,53,216,114,223,61,0,53,216,172,223,60,0,60,0,60,0,147,3,60,0,60,0,60,0,62,33,61,0,53,216,170,222,61,0,53,216,228,222,61,0,53,216,30,223,61,0,53,216,88,223,61,0,53,216,146,223,60,0,60,0,60,0,94,29,60,0,60,0,60,0,103,29,60,0,38,29,60,0,180,3,60,0,60,0,60,0,53,216,197,222,61,0,53,216,255,222,61,0,53,216,57,223,61,0,53,216,115,223,61,0,53,216,173,223,60,0,60,0,60,0,148,3,60,0,60,0,60,0,53,216,171,222,61,0,53,216,229,222,61,0,53,216,31,223,61,0,53,216,89,223,61,0,53,216,147,223,60,0,60,0,60,0,95,29,60,0,181,3,60,0,60,0,60,0,245,3,60,0,60,0,60,0,53,216,198,222,61,0,53,216,220,222,61,0,53,216,0,223,61,0,53,216,22,223,61,0,53,216,58,223,61,0,53,216,80,223,61,0,53,216,116,223,61,0,53,216,138,223,61,0,53,216,174,223,61,0,53,216,196,223,60,0,60,0,60,0,149,3,60,0,60,0,60,0,53,216,172,222,61,0,53,216,230,222,61,0,53,216,32,223,61,0,53,216,90,223,61,0,53,216,148,223,60,0,221,3,60,0,60,0,60,0,53,216,203,223,60,0,60,0,60,0,220,3,60,0,60,0,60,0,53,216,202,223,60,0,119,3,60,0,60,0,60,0,118,3,60,0,219,3,60,0,60,0,60,0,218,3,60,0,182,3,60,0,60,0,60,0,53,216,199,222,61,0,53,216,1,223,61,0,53,216,59,223,61,0,53,216,117,223,61,0,53,216,175,223,60,0,60,0,60,0,150,3,60,0,60,0,60,0,53,216,173,222,61,0,53,216,231,222,61,0,53,216,33,223,61,0,53,216,91,223,61,0,53,216,149,223,60,0,113,3,60,0,60,0,60,0,112,3,60,0,183,3,60,0,60,0,60,0,53,216,200,222,61,0,53,216,2,223,61,0,53,216,60,223,61,0,53,216,118,223,61,0,53,216,176,223,60,0,60,0,60,0,151,3,60,0,60,0,60,0,53,216,174,222,61,0,53,216,232,222,61,0,53,216,34,223,61,0,53,216,92,223,61,0,53,216,150,223,60,0,184,3,60,0,60,0,60,0,209,3,60,0,60,0,60,0,53,216,201,222,61,0,53,216,221,222,61,0,53,216,3,223,61,0,53,216,23,223,61,0,53,216,61,223,61,0,53,216,81,223,61,0,53,216,119,223,61,0,53,216,139,223,61,0,53,216,177,223,61,0,53,216,197,223,60,0,60,0,60,0,152,3,60,0,60,0,60,0,244,3,60,0,60,0,60,0,53,216,175,222,61,0,53,216,185,222,61,0,53,216,233,222,61,0,53,216,243,222,61,0,53,216,35,223,61,0,53,216,45,223,61,0,53,216,93,223,61,0,53,216,103,223,61,0,53,216,151,223,61,0,53,216,161,223,60,0,60,0,60,0,191,29,60,0,185,3,60,0,60,0,60,0,122,3,60,0,60,0,60,0,53,216,202,222,61,0,53,216,4,223,61,0,53,216,62,223,61,0,53,216,120,223,61,0,53,216,178,223,60,0,60,0,60,0,153,3,60,0,60,0,60,0,53,216,176,222,61,0,53,216,234,222,61,0,53,216,36,223,61,0,53,216,94,223,61,0,53,216,152,223,60,0,243,3,60,0,60,0,60,0,127,3,60,0,186,3,60,0,60,0,60,0,240,3,60,0,60,0,60,0,215,3,47,0,177,3,185,3,60,0,60,0,60,0,53,216,203,222,61,0,53,216,222,222,61,0,53,216,5,223,61,0,53,216,24,223,61,0,53,216,63,223,61,0,53,216,82,223,61,0,53,216,121,223,61,0,53,216,140,223,61,0,53,216,179,223,61,0,53,216,198,223,60,0,60,0,60,0,154,3,60,0,60,0,60,0,207,3,47,0,177,3,185,3,60,0,60,0,60,0,53,216,177,222,61,0,53,216,235,222,61,0,53,216,37,223,61,0,53,216,95,223,61,0,53,216,153,223,60,0,187,3,60,0,60,0,60,0,53,216,204,222,61,0,53,216,6,223,61,0,53,216,64,223,61,0,53,216,122,223,61,0,53,216,180,223,60,0,60,0,60,0,155,3,60,0,60,0,60,0,53,216,178,222,61,0,53,216,236,222,61,0,53,216,38,223,61,0,53,216,96,223,61,0,53,216,154,223,60,0,39,29,60,0,188,3,60,0,60,0,60,0,181,0,60,0,60,0,60,0,53,216,205,222,61,0,53,216,7,223,61,0,53,216,65,223,61,0,53,216,123,223,61,0,53,216,181,223,60,0,60,0,60,0,156,3,60,0,60,0,60,0,53,216,179,222,61,0,53,216,237,222,61,0,53,216,39,223,61,0,53,216,97,223,61,0,53,216,155,223,60,0,60,0,60,0,130,51,47,0,65,0,60,0,60,0,60,0,140,51,47,0,70,0,60,0,60,0,60,0,141,51,47,0,103,0,60,0,60,0,60,0,149,51,47,0,108,0,60,0,60,0,60,0,155,51,47,0,109,0,60,0,60,0,60,0,178,51,47,0,115,0,60,0,60,0,60,0,182,51,47,0,86,0,60,0,60,0,60,0,188,51,47,0,87,0,60,0,189,3,60,0,60,0,60,0,53,216,206,222,61,0,53,216,8,223,61,0,53,216,66,223,61,0,53,216,124,223,61,0,53,216,182,223,60,0,60,0,60,0,157,3,60,0,60,0,60,0,53,216,180,222,61,0,53,216,238,222,61,0,53,216,40,223,61,0,53,216,98,223,61,0,53,216,156,223,60,0,190,3,60,0,60,0,60,0,53,216,207,222,61,0,53,216,9,223,61,0,53,216,67,223,61,0,53,216,125,223,61,0,53,216,183,223,60,0,60,0,60,0,158,3,60,0,60,0,60,0,53,216,181,222,61,0,53,216,239,222,61,0,53,216,41,223,61,0,53,216,99,223,61,0,53,216,157,223,60,0,191,3,60,0,60,0,60,0,53,216,208,222,61,0,53,216,10,223,61,0,53,216,68,223,61,0,53,216,126,223,61,0,53,216,184,223,60,0,60,0,60,0,159,3,60,0,60,0,60,0,53,216,182,222,61,0,53,216,240,222,61,0,53,216,42,223,61,0,53,216,100,223,61,0,53,216,158,223,60,0,192,3,60,0,60,0,60,0,214,3,60,0,60,0,60,0,60,33,61,0,53,216,209,222,61,0,53,216,225,222,61,0,53,216,11,223,61,0,53,216,27,223,61,0,53,216,69,223,61,0,53,216,85,223,61,0,53,216,127,223,61,0,53,216,143,223,61,0,53,216,185,223,61,0,53,216,201,223,60,0,60,0,60,0,160,3,60,0,60,0,60,0,63,33,61,0,53,216,183,222,61,0,53,216,241,222,61,0,53,216,43,223,61,0,53,216,101,223,61,0,53,216,159,223,60,0,40,29,60,0,251,3,60,0,60,0,60,0,250,3,60,0,223,3,60,0,60,0,60,0,222,3,60,0,217,3,60,0,60,0,60,0,216,3,60,0,193,3,60,0,60,0,60,0,241,3,60,0,60,0,60,0,53,216,210,222,61,0,53,216,224,222,61,0,53,216,12,223,61,0,53,216,26,223,61,0,53,216,70,223,61,0,53,216,84,223,61,0,53,216,128,223,61,0,53,216,142,223,61,0,53,216,186,223,61,0,53,216,200,223,60,0,60,0,60,0,161,3,60,0,60,0,60,0,53,216,184,222,61,0,53,216,242,222,61,0,53,216,44,223,61,0,53,216,102,223,61,0,53,216,160,223,60,0,60,0,60,0,104,29,60,0,41,29,60,0,252,3,60,0,195,3,60,0,60,0,60,0,242,3,60,0,60,0,60,0,53,216,211,222,61,0,53,216,212,222,61,0,53,216,13,223,61,0,53,216,14,223,61,0,53,216,71,223,61,0,53,216,72,223,61,0,53,216,129,223,61,0,53,216,130,223,61,0,53,216,187,223,61,0,53,216,188,223,60,0,60,0,60,0,163,3,60,0,60,0,60,0,249,3,60,0,60,0,60,0,53,216,186,222,61,0,53,216,244,222,61,0,53,216,46,223,61,0,53,216,104,223,61,0,53,216,162,223,60,0,60,0,60,0,194,3,60,0,124,3,60,0,60,0,60,0,254,3,60,0,123,3,60,0,60,0,60,0,253,3,60,0,125,3,60,0,60,0,60,0,255,3,60,0,196,3,60,0,60,0,60,0,53,216,213,222,61,0,53,216,15,223,61,0,53,216,73,223,61,0,53,216,131,223,61,0,53,216,189,223,60,0,60,0,60,0,164,3,60,0,60,0,60,0,53,216,187,222,61,0,53,216,245,222,61,0,53,216,47,223,61,0,53,216,105,223,61,0,53,216,163,223,60,0,197,3,60,0,60,0,60,0,53,216,214,222,61,0,53,216,16,223,61,0,53,216,74,223,61,0,53,216,132,223,61,0,53,216,190,223,60,0,60,0,60,0,165,3,60,0,60,0,60,0,210,3,60,0,60,0,60,0,53,216,188,222,61,0,53,216,246,222,61,0,53,216,48,223,61,0,53,216,106,223,61,0,53,216,164,223,60,0,198,3,60,0,60,0,60,0,213,3,60,0,60,0,60,0,53,216,215,222,61,0,53,216,223,222,61,0,53,216,17,223,61,0,53,216,25,223,61,0,53,216,75,223,61,0,53,216,83,223,61,0,53,216,133,223,61,0,53,216,141,223,61,0,53,216,191,223,61,0,53,216,199,223,60,0,60,0,60,0,166,3,60,0,60,0,60,0,53,216,189,222,61,0,53,216,247,222,61,0,53,216,49,223,61,0,53,216,107,223,61,0,53,216,165,223,60,0,60,0,60,0,96,29,60,0,60,0,60,0,105,29,60,0,199,3,60,0,60,0,60,0,53,216,216,222,61,0,53,216,18,223,61,0,53,216,76,223,61,0,53,216,134,223,61,0,53,216,192,223,60,0,60,0,60,0,167,3,60,0,60,0,60,0,53,216,190,222,61,0,53,216,248,222,61,0,53,216,50,223,61,0,53,216,108,223,61,0,53,216,166,223,60,0,60,0,60,0,97,29,60,0,60,0,60,0,106,29,60,0,200,3,60,0,60,0,60,0,53,216,217,222,61,0,53,216,19,223,61,0,53,216,77,223,61,0,53,216,135,223,61,0,53,216,193,223,60,0,60,0,60,0,168,3,60,0,60,0,60,0,53,216,191,222,61,0,53,216,249,222,61,0,53,216,51,223,61,0,53,216,109,223,61,0,53,216,167,223,60,0,42,29,60,0,201,3,60,0,60,0,60,0,53,216,218,222,61,0,53,216,20,223,61,0,53,216,78,223,61,0,53,216,136,223,61,0,53,216,194,223,60,0,60,0,60,0,169,3,60,0,60,0,60,0,53,216,192,222,61,0,53,216,250,222,61,0,53,216,52,223,61,0,53,216,110,223,61,0,53,216,168,223,60,0,101,171,60,0,225,3,60,0,60,0,60,0,224,3,60,0,115,3,60,0,60,0,60,0,114,3,60,0,248,3,60,0,60,0,60,0,247,3,60,0,129,44,60,0,60,0,60,0,128,44,60,0,131,44,60,0,60,0,60,0,130,44,60,0,133,44,60,0,60,0,60,0,132,44,60,0,135,44,60,0,60,0,60,0,134,44,60,0,137,44,60,0,60,0,60,0,136,44,60,0,183,44,60,0,60,0,60,0,182,44,60,0,139,44,60,0,60,0,60,0,138,44,60,0,141,44,60,0,60,0,60,0,140,44,60,0,143,44,60,0,60,0,60,0,142,44,60,0,145,44,60,0,60,0,60,0,144,44,60,0,147,44,60,0,60,0,60,0,146,44,60,0,149,44,60,0,60,0,60,0,228,44,47,0,129,44,147,44,60,0,60,0,60,0,148,44,60,0,185,44,60,0,60,0,60,0,184,44,60,0,151,44,60,0,60,0,60,0,150,44,60,0,153,44,60,0,60,0,60,0,152,44,60,0,155,44,60,0,60,0,60,0,154,44,60,0,187,44,60,0,60,0,60,0,186,44,60,0,189,44,60,0,60,0,60,0,188,44,60,0,157,44,60,0,60,0,60,0,156,44,60,0,159,44,60,0,60,0,60,0,158,44,60,0,161,44,60,0,60,0,60,0,160,44,60,0,163,44,60,0,60,0,60,0,162,44,60,0,165,44,60,0,60,0,60,0,164,44,60,0,167,44,60,0,60,0,60,0,166,44,60,0,169,44,60,0,60,0,60,0,168,44,60,0,171,44,60,0,60,0,60,0,170,44,60,0,173,44,60,0,60,0,60,0,172,44,60,0,175,44,60,0,60,0,60,0,174,44,60,0,177,44,60,0,60,0,60,0,176,44,60,0,191,44,60,0,60,0,60,0,190,44,60,0,193,44,60,0,60,0,60,0,192,44,60,0,227,3,60,0,60,0,60,0,226,3,60,0,236,44,60,0,60,0,60,0,235,44,60,0,195,44,60,0,60,0,60,0,194,44,60,0,197,44,60,0,60,0,60,0,196,44,60,0,199,44,60,0,60,0,60,0,198,44,60,0,229,3,60,0,60,0,60,0,228,3,60,0,231,3,60,0,60,0,60,0,230,3,60,0,243,44,60,0,60,0,60,0,242,44,60,0,201,44,60,0,60,0,60,0,200,44,60,0,233,3,60,0,60,0,60,0,232,3,60,0,203,44,60,0,60,0,60,0,202,44,60,0,205,44,60,0,60,0,60,0,204,44,60,0,207,44,60,0,60,0,60,0,206,44,60,0,209,44,60,0,60,0,60,0,208,44,60,0,211,44,60,0,60,0,60,0,210,44,60,0,213,44,60,0,60,0,60,0,212,44,60,0,235,3,60,0,60,0,60,0,234,3,60,0,238,44,60,0,60,0,60,0,237,44,60,0,215,44,60,0,60,0,60,0,214,44,60,0,237,3,60,0,60,0,60,0,236,3,60,0,217,44,60,0,60,0,60,0,216,44,60,0,219,44,60,0,60,0,60,0,218,44,60,0,221,44,60,0,60,0,60,0,220,44,60,0,239,3,60,0,60,0,60,0,238,3,60,0,179,44,60,0,60,0,60,0,178,44,60,0,181,44,60,0,60,0,60,0,180,44,60,0,223,44,60,0,60,0,60,0,222,44,60,0,225,44,60,0,60,0,60,0,224,44,60,0,227,44,60,0,60,0,60,0,226,44,60,0,48,4,60,0,60,0,60,0,246,45,60,0,60,0,60,0,16,4,60,0,60,0,60,0,56,216,48,220,60,0,60,0,60,0,56,216,81,220,60,0,217,4,60,0,60,0,60,0,216,4,60,0,60,0,60,0,56,216,75,220,60,0,213,4,60,0,60,0,60,0,212,4,60,0,49,4,60,0,60,0,60,0,224,45,60,0,60,0,60,0,17,4,60,0,60,0,60,0,56,216,49,220,60,0,60,0,60,0,56,216,82,220,60,0,50,4,60,0,60,0,60,0,128,28,61,0,225,45,60,0,60,0,60,0,18,4,60,0,60,0,60,0,56,216,50,220,60,0,60,0,60,0,56,216,83,220,60,0,51,4,60,0,60,0,60,0,226,45,60,0,60,0,60,0,19,4,60,0,60,0,60,0,56,216,51,220,60,0,60,0,60,0,56,216,84,220,60,0,60,0,56,216,103,220,60,0,60,0,60,0,145,4,60,0,60,0,60,0,144,4,60,0,147,4,60,0,60,0,60,0,146,4,60,0,251,4,60,0,60,0,60,0,250,4,60,0,149,4,60,0,60,0,60,0,148,4,60,0,247,4,60,0,60,0,60,0,246,4,60,0,52,4,60,0,60,0,60,0,129,28,61,0,227,45,60,0,60,0,60,0,20,4,60,0,60,0,60,0,56,216,52,220,60,0,60,0,60,0,56,216,85,220,60,0,1,5,60,0,60,0,60,0,0,5,60,0,129,166,60,0,60,0,60,0,128,166,60,0,82,4,60,0,60,0,60,0,2,4,60,0,99,166,60,0,60,0,60,0,98,166,60,0,3,5,60,0,60,0,60,0,2,5,60,0,153,4,60,0,60,0,60,0,152,4,60,0,53,4,60,0,60,0,60,0,247,45,60,0,60,0,60,0,21,4,60,0,60,0,60,0,56,216,53,220,60,0,60,0,60,0,56,216,86,220,60,0,84,4,60,0,60,0,60,0,116,166,60,0,60,0,60,0,4,4,60,0,54,4,60,0,60,0,60,0,228,45,60,0,60,0,60,0,22,4,60,0,60,0,60,0,56,216,54,220,60,0,60,0,60,0,56,216,87,220,60,0,43,5,60,0,60,0,60,0,42,5,60,0,133,166,60,0,60,0,60,0,132,166,60,0,151,4,60,0,60,0,60,0,150,4,60,0,55,4,60,0,60,0,60,0,229,45,60,0,60,0,60,0,23,4,60,0,60,0,60,0,56,216,55,220,60,0,60,0,60,0,56,216,88,220,60,0,65,166,60,0,60,0,60,0,64,166,60,0,5,5,60,0,60,0,60,0,4,5,60,0,17,5,60,0,60,0,60,0,16,5,60,0,67,166,60,0,60,0,60,0,66,166,60,0,85,4,60,0,60,0,60,0,5,4,60,0,60,0,60,0,56,216,105,220,60,0,69,166,60,0,60,0,60,0,68,166,60,0,225,4,60,0,60,0,60,0,224,4,60,0,137,166,60,0,60,0,60,0,136,166,60,0,60,0,60,0,56,216,74,220,60,0,7,5,60,0,60,0,60,0,6,5,60,0,131,166,60,0,60,0,60,0,130,166,60,0,56,4,60,0,60,0,60,0,117,166,60,0,60,0,60,0,24,4,60,0,60,0,60,0,56,216,56,220,60,0,60,0,60,0,56,216,89,220,60,0,139,4,60,0,60,0,60,0,138,4,60,0,86,4,60,0,60,0,60,0,56,216,143,220,60,0,60,0,60,0,118,166,47,0,8,3,60,0,60,0,60,0,6,4,60,0,60,0,60,0,56,216,76,220,60,0,60,0,60,0,56,216,104,220,60,0,71,166,60,0,60,0,60,0,70,166,60,0,57,4,60,0,60,0,60,0,25,4,60,0,88,4,60,0,60,0,60,0,8,4,60,0,60,0,60,0,56,216,77,220,60,0,73,166,60,0,60,0,60,0,248,45,60,0,60,0,60,0,72,166,60,0,58,4,60,0,60,0,60,0,230,45,60,0,60,0,60,0,26,4,60,0,60,0,60,0,56,216,57,220,60,0,60,0,60,0,56,216,90,220,60,0,155,4,60,0,60,0,60,0,154,4,60,0,196,4,60,0,60,0,60,0,195,4,60,0,161,4,60,0,60,0,60,0,160,4,60,0,159,4,60,0,60,0,60,0,158,4,60,0,157,4,60,0,60,0,60,0,156,4,60,0,31,5,60,0,60,0,60,0,30,5,60,0,27,5,60,0,60,0,60,0,26,5,60,0,59,4,60,0,60,0,60,0,231,45,60,0,60,0,60,0,27,4,60,0,60,0,60,0,56,216,58,220,60,0,60,0,60,0,56,216,91,220,60,0,43,29,60,0,198,4,60,0,60,0,60,0,197,4,60,0,47,5,60,0,60,0,60,0,46,5,60,0,19,5,60,0,60,0,60,0,18,5,60,0,33,5,60,0,60,0,60,0,32,5,60,0,89,4,60,0,60,0,60,0,9,4,60,0,101,166,60,0,60,0,60,0,100,166,60,0,9,5,60,0,60,0,60,0,8,5,60,0,21,5,60,0,60,0,60,0,20,5,60,0,60,4,60,0,60,0,60,0,232,45,60,0,60,0,60,0,28,4,60,0,60,0,60,0,56,216,59,220,60,0,206,4,60,0,60,0,60,0,205,4,60,0,103,166,60,0,60,0,60,0,102,166,60,0,61,4,60,0,60,0,60,0,233,45,60,0,60,0,60,0,29,4,60,0,60,0,60,0,120,29,60,0,41,5,60,0,60,0,60,0,40,5,60,0,202,4,60,0,60,0,60,0,201,4,60,0,163,4,60,0,60,0,60,0,162,4,60,0,200,4,60,0,60,0,60,0,199,4,60,0,35,5,60,0,60,0,60,0,34,5,60,0,165,4,60,0,60,0,60,0,164,4,60,0,90,4,60,0,60,0,60,0,10,4,60,0,11,5,60,0,60,0,60,0,10,5,60,0,62,4,60,0,60,0,60,0,130,28,61,0,234,45,61,0,105,166,61,0,107,166,61,0,109,166,61,0,110,166,61,0,153,166,61,0,155,166,60,0,60,0,60,0,30,4,60,0,60,0,60,0,104,166,61,0,106,166,61,0,108,166,61,0,152,166,61,0,154,166,60,0,60,0,60,0,56,216,60,220,60,0,60,0,60,0,56,216,92,220,60,0,233,4,60,0,60,0,60,0,232,4,60,0,60,0,60,0,56,216,78,220,60,0,63,4,60,0,60,0,60,0,235,45,60,0,60,0,60,0,31,4,60,0,60,0,60,0,56,216,61,220,60,0,60,0,60,0,56,216,93,220,60,0,37,5,60,0,60,0,60,0,36,5,60,0,167,4,60,0,60,0,60,0,166,4,60,0,129,4,60,0,60,0,60,0,128,4,60,0,64,4,60,0,60,0,60,0,236,45,60,0,60,0,60,0,32,4,60,0,60,0,60,0,56,216,62,220,60,0,143,4,60,0,60,0,60,0,142,4,60,0,23,5,60,0,60,0,60,0,22,5,60,0,65,4,60,0,60,0,60,0,131,28,61,0,237,45,60,0,60,0,60,0,245,45,47,0,66,4,60,0,60,0,60,0,33,4,60,0,60,0,60,0,56,216,63,220,60,0,60,0,60,0,56,216,94,220,60,0,13,5,60,0,60,0,60,0,12,5,60,0,171,4,60,0,60,0,60,0,170,4,60,0,60,0,60,0,56,216,107,220,60,0,66,4,60,0,60,0,60,0,132,28,61,0,133,28,61,0,238,45,60,0,60,0,60,0,34,4,60,0,60,0,60,0,56,216,64,220,60,0,141,166,60,0,60,0,60,0,140,166,60,0,15,5,60,0,60,0,60,0,14,5,60,0,173,4,60,0,60,0,60,0,172,4,60,0,139,166,60,0,60,0,60,0,138,166,60,0,91,4,60,0,60,0,60,0,11,4,60,0,67,4,60,0,60,0,60,0,119,166,60,0,60,0,60,0,35,4,60,0,60,0,60,0,56,216,65,220,60,0,60,0,60,0,56,216,95,220,60,0,175,4,60,0,60,0,60,0,174,4,60,0,60,0,60,0,56,216,79,220,60,0,177,4,60,0,60,0,60,0,176,4,60,0,60,0,60,0,56,216,109,220,60,0,75,166,60,0,60,0,60,0,136,28,61,0,249,45,60,0,60,0,60,0,74,166,60,0,121,4,60,0,60,0,60,0,120,4,60,0,68,4,60,0,60,0,60,0,158,166,60,0,60,0,60,0,36,4,60,0,60,0,60,0,56,216,66,220,60,0,60,0,60,0,56,216,96,220,60,0,69,4,60,0,60,0,60,0,239,45,60,0,60,0,60,0,37,4,60,0,60,0,60,0,56,216,67,220,60,0,60,0,60,0,56,216,97,220,60,0,253,4,60,0,60,0,60,0,252,4,60,0,255,4,60,0,60,0,60,0,254,4,60,0,179,4,60,0,60,0,60,0,178,4,60,0,187,4,60,0,60,0,60,0,186,4,60,0,39,5,60,0,60,0,60,0,38,5,60,0,149,166,60,0,60,0,60,0,148,166,60,0,97,4,60,0,60,0,60,0,123,166,60,0,60,0,60,0,96,4,60,0,127,4,60,0,60,0,60,0,126,4,60,0,77,166,60,0,60,0,60,0,76,166,60,0,125,4,60,0,60,0,60,0,124,4,60,0,123,4,60,0,60,0,60,0,122,4,60,0,70,4,60,0,60,0,60,0,240,45,60,0,60,0,60,0,38,4,60,0,60,0,60,0,56,216,68,220,60,0,60,0,60,0,56,216,98,220,60,0,97,166,60,0,60,0,60,0,96,166,60,0,143,166,60,0,60,0,60,0,142,166,60,0,181,4,60,0,60,0,60,0,180,4,60,0,145,166,60,0,60,0,60,0,144,166,60,0,71,4,60,0,60,0,60,0,241,45,60,0,60,0,60,0,39,4,60,0,60,0,60,0,56,216,69,220,60,0,60,0,60,0,56,216,99,220,60,0,45,5,60,0,60,0,60,0,44,5,60,0,147,166,60,0,60,0,60,0,146,166,60,0,183,4,60,0,60,0,60,0,182,4,60,0,204,4,60,0,60,0,60,0,203,4,60,0,185,4,60,0,60,0,60,0,184,4,60,0,135,166,60,0,60,0,60,0,134,166,60,0,189,4,60,0,60,0,60,0,188,4,60,0,191,4,60,0,60,0,60,0,190,4,60,0,95,4,60,0,60,0,60,0,15,4,60,0,60,0,60,0,56,216,106,220,60,0,72,4,60,0,60,0,60,0,242,45,60,0,60,0,60,0,40,4,60,0,60,0,60,0,56,216,70,220,60,0,60,0,60,0,56,216,100,220,60,0,151,166,60,0,60,0,60,0,150,166,60,0,73,4,60,0,60,0,60,0,243,45,60,0,60,0,60,0,41,4,60,0,79,166,60,0,60,0,60,0,78,166,60,0,47,46,60,0,127,166,60,0,74,4,60,0,60,0,60,0,134,28,61,0,120,166,60,0,60,0,60,0,42,4,60,0,60,0,60,0,156,166,60,0,60,0,60,0,56,216,101,220,60,0,81,166,60,0,60,0,60,0,80,166,60,0,60,0,60,0,56,216,108,220,60,0,75,4,60,0,60,0,60,0,121,166,60,0,60,0,60,0,43,4,60,0,60,0,60,0,56,216,71,220,60,0,60,0,60,0,56,216,102,220,60,0,76,4,60,0,60,0,60,0,122,166,60,0,60,0,60,0,44,4,60,0,60,0,60,0,157,166,60,0,141,4,60,0,60,0,60,0,140,4,60,0,99,4,60,0,60,0,60,0,135,28,61,0,250,45,60,0,60,0,60,0,98,4,60,0,83,166,60,0,60,0,60,0,82,166,60,0,77,4,60,0,60,0,60,0,45,4,60,0,60,0,60,0,56,216,72,220,60,0,78,4,60,0,60,0,60,0,251,45,60,0,60,0,60,0,46,4,60,0,60,0,60,0,56,216,73,220,60,0,85,166,60,0,60,0,60,0,84,166,60,0,87,166,60,0,60,0,60,0,252,45,60,0,60,0,60,0,86,166,60,0,79,4,60,0,60,0,60,0,47,4,60,0,25,5,60,0,60,0,60,0,24,5,60,0,101,4,60,0,60,0,60,0,159,166,60,0,60,0,60,0,100,4,60,0,103,4,60,0,60,0,60,0,253,45,60,0,60,0,60,0,102,4,60,0,89,166,60,0,60,0,60,0,88,166,60,0,107,4,60,0,60,0,60,0,254,45,60,0,60,0,60,0,106,4,60,0,91,166,60,0,60,0,60,0,90,166,60,0,105,4,60,0,60,0,60,0,104,4,60,0,93,166,60,0,60,0,60,0,92,166,60,0,109,4,60,0,60,0,60,0,255,45,60,0,60,0,60,0,108,4,60,0,111,4,60,0,60,0,60,0,110,4,60,0,113,4,60,0,60,0,60,0,112,4,60,0,115,4,60,0,60,0,60,0,244,45,60,0,60,0,60,0,114,4,60,0,117,4,60,0,60,0,60,0,116,4,60,0,95,166,60,0,60,0,60,0,94,166,60,0,169,4,60,0,60,0,60,0,168,4,60,0,29,5,60,0,60,0,60,0,28,5,60,0,207,4,60,0,60,0,60,0,192,4,60,0,60,0,60,0,56,216,80,220,60,0,48,44,60,0,60,0,60,0,56,216,0,220,60,0,60,0,60,0,0,44,60,0,49,44,60,0,60,0,60,0,56,216,1,220,60,0,60,0,60,0,1,44,60,0,50,44,60,0,60,0,60,0,56,216,2,220,60,0,60,0,60,0,2,44,60,0,51,44,60,0,60,0,60,0,56,216,3,220,60,0,60,0,60,0,3,44,60,0,52,44,60,0,60,0,60,0,56,216,4,220,60,0,60,0,60,0,4,44,60,0,53,44,60,0,60,0,60,0,56,216,5,220,60,0,60,0,60,0,5,44,60,0,54,44,60,0,60,0,60,0,56,216,6,220,60,0,60,0,60,0,6,44,60,0,55,44,60,0,60,0,60,0,7,44,60,0,56,44,60,0,60,0,60,0,56,216,8,220,60,0,60,0,60,0,8,44,60,0,57,44,60,0,60,0,60,0,56,216,9,220,60,0,60,0,60,0,9,44,60,0,58,44,60,0,60,0,60,0,56,216,10,220,60,0,60,0,60,0,10,44,60,0,59,44,60,0,60,0,60,0,56,216,11,220,60,0,60,0,60,0,11,44,60,0,60,44,60,0,60,0,60,0,56,216,12,220,60,0,60,0,60,0,12,44,60,0,61,44,60,0,60,0,60,0,56,216,13,220,60,0,60,0,60,0,13,44,60,0,62,44,60,0,60,0,60,0,56,216,14,220,60,0,60,0,60,0,14,44,60,0,63,44,60,0,60,0,60,0,56,216,15,220,60,0,60,0,60,0,15,44,60,0,64,44,60,0,60,0,60,0,56,216,16,220,60,0,60,0,60,0,16,44,60,0,65,44,60,0,60,0,60,0,56,216,17,220,60,0,60,0,60,0,17,44,60,0,66,44,60,0,60,0,60,0,56,216,18,220,60,0,60,0,60,0,18,44,60,0,67,44,60,0,60,0,60,0,56,216,19,220,60,0,60,0,60,0,19,44,60,0,68,44,60,0,60,0,60,0,56,216,20,220,60,0,60,0,60,0,20,44,60,0,69,44,60,0,60,0,60,0,56,216,21,220,60,0,60,0,60,0,21,44,60,0,70,44,60,0,60,0,60,0,56,216,22,220,60,0,60,0,60,0,22,44,60,0,71,44,60,0,60,0,60,0,56,216,23,220,60,0,60,0,60,0,23,44,60,0,72,44,60,0,60,0,60,0,56,216,24,220,60,0,60,0,60,0,24,44,60,0,73,44,60,0,60,0,60,0,25,44,60,0,74,44,60,0,60,0,60,0,26,44,60,0,75,44,60,0,60,0,60,0,56,216,27,220,60,0,60,0,60,0,27,44,60,0,76,44,60,0,60,0,60,0,56,216,28,220,60,0,60,0,60,0,28,44,60,0,77,44,60,0,60,0,60,0,56,216,29,220,60,0,60,0,60,0,29,44,60,0,78,44,60,0,60,0,60,0,56,216,30,220,60,0,60,0,60,0,30,44,60,0,79,44,60,0,60,0,60,0,56,216,31,220,60,0,60,0,60,0,31,44,60,0,80,44,60,0,60,0,60,0,56,216,32,220,60,0,60,0,60,0,32,44,60,0,81,44,60,0,60,0,60,0,56,216,33,220,60,0,60,0,60,0,33,44,60,0,82,44,60,0,60,0,60,0,34,44,60,0,83,44,60,0,60,0,60,0,56,216,35,220,60,0,60,0,60,0,35,44,60,0,84,44,60,0,60,0,60,0,56,216,36,220,60,0,60,0,60,0,36,44,60,0,85,44,60,0,60,0,60,0,37,44,60,0,86,44,60,0,60,0,60,0,56,216,38,220,60,0,60,0,60,0,38,44,60,0,87,44,60,0,60,0,60,0,56,216,39,220,60,0,60,0,60,0,39,44,60,0,88,44,60,0,60,0,60,0,56,216,40,220,60,0,60,0,60,0,40,44,60,0,89,44,60,0,60,0,60,0,56,216,41,220,60,0,60,0,60,0,41,44,60,0,90,44,60,0,60,0,60,0,56,216,42,220,60,0,60,0,60,0,42,44,60,0,91,44,60,0,60,0,60,0,43,44,60,0,92,44,60,0,60,0,60,0,44,44,60,0,93,44,60,0,60,0,60,0,45,44,60,0,94,44,60,0,60,0,60,0,46,44,60,0,95,44,60,0,60,0,60,0,47,44,60,0,0,216,80,223,60,0,60,0,60,0,0,216,118,223,60,0,0,216,81,223,60,0,0,216,82,223,60,0,0,216,83,223,60,0,60,0,60,0,0,216,119,223,60,0,0,216,84,223,60,0,0,216,85,223,60,0,0,216,86,223,60,0,0,216,87,223,60,0,60,0,60,0,0,216,120,223,60,0,0,216,88,223,60,0,0,216,89,223,60,0,0,216,90,223,60,0,0,216,91,223,60,0,0,216,92,223,60,0,0,216,93,223,60,0,60,0,60,0,0,216,121,223,60,0,0,216,94,223,60,0,0,216,95,223,60,0,0,216,96,223,60,0,0,216,97,223,60,0,60,0,60,0,0,216,122,223,60,0,0,216,98,223,60,0,0,216,99,223,60,0,0,216,100,223,60,0,0,216,101,223,60,0,0,216,102,223,60,0,0,216,103,223,60,0,0,216,104,223,60,0,0,216,105,223,60,0,0,216,106,223,60,0,0,216,107,223,60,0,0,216,108,223,60,0,0,216,109,223,60,0,0,216,110,223,60,0,0,216,111,223,60,0,0,216,112,223,60,0,0,216,113,223,60,0,0,216,114,223,60,0,0,216,115,223,60,0,0,216,116,223,60,0,0,216,117,223,60,0,208,16,60,0,60,0,60,0,144,28,60,0,0,45,60,0,60,0,60,0,160,16,60,0,209,16,60,0,60,0,60,0,145,28,60,0,1,45,60,0,60,0,60,0,161,16,60,0,210,16,60,0,60,0,60,0,146,28,60,0,2,45,60,0,60,0,60,0,162,16,60,0,211,16,60,0,60,0,60,0,147,28,60,0,3,45,60,0,60,0,60,0,163,16,60,0,212,16,60,0,60,0,60,0,148,28,60,0,4,45,60,0,60,0,60,0,164,16,60,0,213,16,60,0,60,0,60,0,149,28,60,0,5,45,60,0,60,0,60,0,165,16,60,0,214,16,60,0,60,0,60,0,150,28,60,0,6,45,60,0,60,0,60,0,166,16,60,0,241,16,60,0,60,0,60,0,177,28,60,0,33,45,60,0,60,0,60,0,193,16,60,0,215,16,60,0,60,0,60,0,151,28,60,0,7,45,60,0,60,0,60,0,167,16,60,0,216,16,60,0,60,0,60,0,152,28,60,0,8,45,60,0,60,0,60,0,168,16,60,0,217,16,60,0,60,0,60,0,153,28,60,0,9,45,60,0,60,0,60,0,169,16,60,0,218,16,60,0,60,0,60,0,154,28,60,0,10,45,60,0,60,0,60,0,170,16,60,0,219,16,60,0,60,0,60,0,155,28,60,0,11,45,60,0,60,0,60,0,171,16,60,0,220,16,60,0,60,0,60,0,156,28,60,0,60,0,60,0,252,16,60,0,12,45,60,0,60,0,60,0,172,16,60,0,242,16,60,0,60,0,60,0,178,28,60,0,34,45,60,0,60,0,60,0,194,16,60,0,221,16,60,0,60,0,60,0,157,28,60,0,13,45,60,0,60,0,60,0,173,16,60,0,222,16,60,0,60,0,60,0,158,28,60,0,14,45,60,0,60,0,60,0,174,16,60,0,223,16,60,0,60,0,60,0,159,28,60,0,15,45,60,0,60,0,60,0,175,16,60,0,224,16,60,0,60,0,60,0,160,28,60,0,16,45,60,0,60,0,60,0,176,16,60,0,225,16,60,0,60,0,60,0,161,28,60,0,17,45,60,0,60,0,60,0,177,16,60,0,226,16,60,0,60,0,60,0,162,28,60,0,18,45,60,0,60,0,60,0,178,16,60,0,243,16,60,0,60,0,60,0,179,28,60,0,35,45,60,0,60,0,60,0,195,16,60,0,227,16,60,0,60,0,60,0,163,28,60,0,19,45,60,0,60,0,60,0,179,16,60,0,228,16,60,0,60,0,60,0,164,28,60,0,20,45,60,0,60,0,60,0,180,16,60,0,229,16,60,0,60,0,60,0,165,28,60,0,21,45,60,0,60,0,60,0,181,16,60,0,230,16,60,0,60,0,60,0,166,28,60,0,22,45,60,0,60,0,60,0,182,16,60,0,231,16,60,0,60,0,60,0,167,28,60,0,23,45,60,0,60,0,60,0,183,16,60,0,232,16,60,0,60,0,60,0,168,28,60,0,24,45,60,0,60,0,60,0,184,16,60,0,233,16,60,0,60,0,60,0,169,28,60,0,25,45,60,0,60,0,60,0,185,16,60,0,234,16,60,0,60,0,60,0,170,28,60,0,26,45,60,0,60,0,60,0,186,16,60,0,235,16,60,0,60,0,60,0,171,28,60,0,27,45,60,0,60,0,60,0,187,16,60,0,236,16,60,0,60,0,60,0,172,28,60,0,28,45,60,0,60,0,60,0,188,16,60,0,237,16,60,0,60,0,60,0,173,28,60,0,29,45,60,0,60,0,60,0,189,16,60,0,238,16,60,0,60,0,60,0,174,28,60,0,30,45,60,0,60,0,60,0,190,16,60,0,244,16,60,0,60,0,60,0,180,28,60,0,36,45,60,0,60,0,60,0,196,16,60,0,239,16,60,0,60,0,60,0,175,28,60,0,31,45,60,0,60,0,60,0,191,16,60,0,240,16,60,0,60,0,60,0,176,28,60,0,32,45,60,0,60,0,60,0,192,16,60,0,245,16,60,0,60,0,60,0,181,28,60,0,37,45,60,0,60,0,60,0,197,16,60,0,246,16,60,0,60,0,60,0,182,28,60,0,247,16,60,0,60,0,60,0,183,28,60,0,39,45,60,0,60,0,60,0,199,16,60,0,248,16,60,0,60,0,60,0,184,28,60,0,249,16,60,0,60,0,60,0,185,28,60,0,250,16,60,0,60,0,60,0,186,28,60,0,253,16,60,0,60,0,60,0,189,28,60,0,45,45,60,0,60,0,60,0,205,16,60,0,254,16,60,0,60,0,60,0,190,28,60,0,255,16,60,0,60,0,60,0,191,28,60,0,97,5,60,0,60,0,60,0,49,5,60,0,96,5,60,0,98,5,60,0,60,0,60,0,50,5,60,0,99,5,60,0,60,0,60,0,51,5,60,0,100,5,60,0,60,0,60,0,52,5,60,0,101,5,60,0,60,0,60,0,135,5,47,0,130,5,60,0,60,0,60,0,53,5,60,0,102,5,60,0,60,0,60,0,54,5,60,0,103,5,60,0,60,0,60,0,55,5,60,0,104,5,60,0,60,0,60,0,56,5,60,0,105,5,60,0,60,0,60,0,57,5,60,0,106,5,60,0,60,0,60,0,58,5,60,0,107,5,60,0,60,0,60,0,59,5,60,0,108,5,60,0,60,0,60,0,60,5,60,0,109,5,60,0,60,0,60,0,61,5,60,0,110,5,60,0,60,0,60,0,62,5,60,0,111,5,60,0,60,0,60,0,63,5,60,0,112,5,60,0,60,0,60,0,64,5,60,0,113,5,60,0,60,0,60,0,65,5,60,0,114,5,60,0,60,0,60,0,66,5,60,0,115,5,60,0,60,0,60,0,67,5,60,0,116,5,60,0,60,0,60,0,20,251,47,0,101,5,60,0,60,0,60,0,21,251,47,0,107,5,60,0,60,0,60,0,23,251,47,0,109,5,60,0,60,0,60,0,19,251,47,0,118,5,60,0,60,0,60,0,68,5,60,0,117,5,60,0,60,0,60,0,69,5,60,0,136,5,60,0,118,5,60,0,60,0,60,0,70,5,60,0,119,5,60,0,60,0,60,0,71,5,60,0,120,5,60,0,60,0,60,0,72,5,60,0,121,5,60,0,60,0,60,0,73,5,60,0,122,5,60,0,60,0,60,0,74,5,60,0,123,5,60,0,60,0,60,0,75,5,60,0,124,5,60,0,60,0,60,0,76,5,60,0,125,5,60,0,60,0,60,0,77,5,60,0,126,5,60,0,60,0,60,0,22,251,47,0,118,5,60,0,60,0,60,0,78,5,60,0,127,5,60,0,60,0,60,0,79,5,60,0,128,5,60,0,60,0,60,0,80,5,60,0,129,5,60,0,60,0,60,0,81,5,60,0,130,5,60,0,60,0,60,0,82,5,60,0,131,5,60,0,60,0,60,0,83,5,60,0,132,5,60,0,60,0,60,0,84,5,60,0,133,5,60,0,60,0,60,0,85,5,60,0,134,5,60,0,60,0,60,0,86,5,60,0,89,5,60,0,14,32,208,5,14,32,60,0,60,0,60,0,53,33,60,0,60,0,60,0,14,32,79,251,14,32,47,0,14,32,220,5,14,32,60,0,60,0,60,0,14,32,33,251,14,32,60,0,14,32,209,5,14,32,60,0,60,0,60,0,54,33,60,0,14,32,210,5,14,32,60,0,60,0,60,0,55,33,60,0,14,32,211,5,14,32,60,0,60,0,60,0,56,33,60,0,60,0,60,0,14,32,34,251,14,32,60,0,14,32,212,5,14,32,60,0,60,0,60,0,14,32,35,251,14,32,60,0,14,32,213,5,14,32,60,0,60,0,60,0,14,32,240,5,14,32,47,0,14,32,213,5,14,32,60,0,60,0,60,0,14,32,241,5,14,32,47,0,14,32,217,5,14,32,60,0,14,32,214,5,14,32,60,0,14,32,215,5,14,32,60,0,14,32,216,5,14,32,60,0,14,32,217,5,14,32,60,0,60,0,60,0,14,32,239,5,14,32,47,0,14,32,212,5,213,5,212,5,14,32,60,0,60,0,60,0,14,32,242,5,14,32,47,0,14,32,217,5,14,32,60,0,14,32,219,5,14,32,60,0,60,0,60,0,14,32,36,251,14,32,60,0,60,0,60,0,14,32,218,5,14,32,60,0,14,32,220,5,14,32,60,0,60,0,60,0,14,32,37,251,14,32,60,0,14,32,222,5,14,32,60,0,60,0,60,0,14,32,38,251,14,32,60,0,60,0,60,0,14,32,221,5,14,32,60,0,14,32,224,5,14,32,60,0,60,0,60,0,14,32,223,5,14,32,60,0,14,32,225,5,14,32,60,0,14,32,226,5,14,32,60,0,60,0,60,0,14,32,32,251,14,32,60,0,14,32,228,5,14,32,60,0,60,0,60,0,14,32,227,5,14,32,60,0,14,32,230,5,14,32,60,0,60,0,60,0,14,32,229,5,14,32,60,0,14,32,231,5,14,32,60,0,14,32,232,5,14,32,60,0,60,0,60,0,14,32,39,251,14,32,60,0,14,32,233,5,14,32,60,0,14,32,234,5,14,32,60,0,60,0,60,0,14,32,40,251,14,32,60,0,14,32,2,216,0,221,14,32,60,0,14,32,2,216,1,221,14,32,60,0,14,32,2,216,2,221,14,32,60,0,14,32,2,216,3,221,14,32,60,0,14,32,2,216,4,221,14,32,60,0,14,32,2,216,5,221,14,32,60,0,14,32,2,216,6,221,14,32,60,0,14,32,2,216,7,221,14,32,60,0,14,32,2,216,8,221,14,32,60,0,14,32,2,216,9,221,14,32,60,0,14,32,2,216,10,221,14,32,60,0,14,32,2,216,11,221,14,32,60,0,14,32,2,216,12,221,14,32,60,0,14,32,2,216,13,221,14,32,60,0,14,32,2,216,14,221,14,32,60,0,14,32,2,216,15,221,14,32,60,0,14,32,2,216,16,221,14,32,60,0,14,32,2,216,17,221,14,32,60,0,14,32,2,216,18,221,14,32,60,0,14,32,2,216,19,221,14,32,60,0,14,32,2,216,20,221,14,32,60,0,14,32,2,216,21,221,14,32,60,0,14,32,0,8,14,32,60,0,14,32,1,8,14,32,60,0,14,32,2,8,14,32,60,0,14,32,3,8,14,32,60,0,14,32,4,8,14,32,60,0,14,32,5,8,14,32,60,0,14,32,6,8,14,32,60,0,14,32,7,8,14,32,60,0,14,32,8,8,14,32,60,0,14,32,9,8,14,32,60,0,14,32,10,8,14,32,60,0,14,32,11,8,14,32,60,0,14,32,12,8,14,32,60,0,14,32,13,8,14,32,60,0,14,32,14,8,14,32,60,0,14,32,15,8,14,32,60,0,14,32,16,8,14,32,60,0,14,32,17,8,14,32,60,0,14,32,18,8,14,32,60,0,14,32,19,8,14,32,60,0,14,32,20,8,14,32,60,0,14,32,21,8,14,32,60,0,22,8,60,0,23,8,60,0,14,32,26,8,14,32,60,0,27,8,60,0,14,32,33,6,14,32,60,0,60,0,60,0,14,32,116,6,14,32,61,0,14,32,131,8,14,32,61,0,14,32,135,8,14,32,60,0,60,0,60,0,14,32,117,6,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,118,6,14,32,47,0,14,32,72,6,14,32,60,0,60,0,60,0,14,32,119,6,14,32,47,0,14,32,199,6,14,32,60,0,60,0,60,0,14,32,120,6,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,128,254,14,32,60,0,60,0,60,0,14,32,221,251,14,32,47,0,14,32,199,6,14,32,60,0,60,0,14,32,253,6,14,32,60,0,14,32,34,6,14,32,60,0,60,0,60,0,14,32,130,254,14,32,60,0,60,0,60,0,14,32,129,254,14,32,60,0,14,32,35,6,14,32,60,0,60,0,60,0,14,32,132,254,14,32,60,0,60,0,60,0,14,32,131,254,14,32,60,0,14,32,114,6,14,32,60,0,14,32,113,6,14,32,60,0,60,0,60,0,14,32,81,251,14,32,60,0,60,0,60,0,14,32,80,251,14,32,60,0,14,32,36,6,14,32,60,0,60,0,60,0,14,32,134,254,14,32,60,0,60,0,60,0,14,32,133,254,14,32,60,0,14,32,37,6,14,32,60,0,60,0,60,0,14,32,136,254,14,32,60,0,60,0,60,0,14,32,135,254,14,32,60,0,14,32,115,6,14,32,60,0,14,32,115,7,14,32,60,0,14,32,116,7,14,32,60,0,14,32,38,6,14,32,60,0,60,0,60,0,14,32,139,254,14,32,60,0,60,0,60,0,14,32,151,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,152,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,153,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,154,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,155,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,251,251,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,248,251,14,32,47,0,14,32,208,6,14,32,60,0,60,0,60,0,14,32,140,254,14,32,60,0,60,0,60,0,14,32,223,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,224,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,138,254,14,32,60,0,60,0,60,0,14,32,235,251,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,100,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,101,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,102,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,103,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,237,251,14,32,47,0,14,32,213,6,14,32,60,0,60,0,60,0,14,32,239,251,14,32,47,0,14,32,72,6,14,32,60,0,60,0,60,0,14,32,243,251,14,32,47,0,14,32,198,6,14,32,60,0,60,0,60,0,14,32,241,251,14,32,47,0,14,32,199,6,14,32,60,0,60,0,60,0,14,32,245,251,14,32,47,0,14,32,200,6,14,32,60,0,60,0,60,0,14,32,250,251,14,32,47,0,14,32,73,6,14,32,61,0,14,32,104,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,105,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,247,251,14,32,47,0,14,32,208,6,14,32,60,0,60,0,60,0,14,32,137,254,14,32,60,0,60,0,60,0,14,32,234,251,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,0,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,1,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,2,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,236,251,14,32,47,0,14,32,213,6,14,32,60,0,60,0,60,0,14,32,238,251,14,32,47,0,14,32,72,6,14,32,60,0,60,0,60,0,14,32,242,251,14,32,47,0,14,32,198,6,14,32,60,0,60,0,60,0,14,32,240,251,14,32,47,0,14,32,199,6,14,32,60,0,60,0,60,0,14,32,244,251,14,32,47,0,14,32,200,6,14,32,60,0,60,0,60,0,14,32,249,251,14,32,47,0,14,32,73,6,14,32,61,0,14,32,3,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,4,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,246,251,14,32,47,0,14,32,208,6,14,32,60,0,14,32,168,8,14,32,60,0,14,32,169,8,14,32,60,0,14,32,172,8,14,32,60,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,112,8,14,32,61,0,14,32,113,8,14,32,61,0,14,32,114,8,14,32,61,0,14,32,115,8,14,32,61,0,14,32,116,8,14,32,61,0,14,32,117,8,14,32,61,0,14,32,118,8,14,32,61,0,14,32,119,8,14,32,61,0,14,32,120,8,14,32,61,0,14,32,121,8,14,32,61,0,14,32,122,8,14,32,61,0,14,32,123,8,14,32,61,0,14,32,124,8,14,32,61,0,14,32,125,8,14,32,61,0,14,32,126,8,14,32,61,0,14,32,127,8,14,32,61,0,14,32,128,8,14,32,61,0,14,32,129,8,14,32,61,0,14,32,130,8,14,32,61,0,14,32,173,8,14,32,60,0,60,0,60,0,14,32,59,216,0,222,14,32,61,0,14,32,59,216,128,222,14,32,60,0,60,0,60,0,14,32,142,254,14,32,60,0,60,0,60,0,14,32,60,253,14,32,47,0,75,6,60,0,60,0,60,0,14,32,141,254,14,32,60,0,60,0,60,0,14,32,61,253,14,32,47,0,75,6,60,0,60,0,60,0,14,32,243,253,14,32,47,0,14,32,67,6,40,6,49,6,14,32,60,0,60,0,60,0,14,32,242,253,14,32,47,0,14,32,68,6,68,6,71,6,14,32,60,0,14,32,110,6,14,32,60,0,60,0,60,0,14,32,59,216,28,222,14,32,61,0,14,32,59,216,124,222,14,32,60,0,14,32,40,6,14,32,60,0,60,0,60,0,14,32,59,216,1,222,14,32,61,0,14,32,59,216,33,222,14,32,61,0,14,32,59,216,97,222,14,32,61,0,14,32,59,216,129,222,14,32,61,0,14,32,59,216,161,222,14,32,60,0,60,0,60,0,14,32,145,254,14,32,60,0,60,0,60,0,14,32,156,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,157,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,158,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,159,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,160,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,146,254,14,32,60,0,60,0,60,0,14,32,225,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,226,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,144,254,14,32,60,0,60,0,60,0,14,32,194,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,158,253,14,32,47,0,14,32,46,6,74,6,14,32,60,0,60,0,60,0,14,32,106,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,107,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,108,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,109,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,110,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,111,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,143,254,14,32,60,0,60,0,60,0,14,32,5,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,6,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,7,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,8,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,9,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,10,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,123,6,14,32,60,0,60,0,60,0,14,32,84,251,14,32,60,0,60,0,60,0,14,32,85,251,14,32,60,0,60,0,60,0,14,32,83,251,14,32,60,0,60,0,60,0,14,32,82,251,14,32,60,0,14,32,126,6,14,32,60,0,60,0,60,0,14,32,88,251,14,32,60,0,60,0,60,0,14,32,89,251,14,32,60,0,60,0,60,0,14,32,87,251,14,32,60,0,60,0,60,0,14,32,86,251,14,32,60,0,14,32,128,6,14,32,60,0,60,0,60,0,14,32,92,251,14,32,60,0,60,0,60,0,14,32,93,251,14,32,60,0,60,0,60,0,14,32,91,251,14,32,60,0,60,0,60,0,14,32,90,251,14,32,60,0,14,32,80,7,14,32,60,0,14,32,81,7,14,32,60,0,14,32,82,7,14,32,60,0,14,32,83,7,14,32,60,0,14,32,84,7,14,32,60,0,14,32,85,7,14,32,60,0,14,32,160,8,14,32,60,0,14,32,86,7,14,32,60,0,14,32,190,8,14,32,60,0,14,32,161,8,14,32,60,0,14,32,182,8,14,32,60,0,14,32,183,8,14,32,60,0,14,32,41,6,14,32,60,0,60,0,60,0,14,32,148,254,14,32,60,0,60,0,60,0,14,32,147,254,14,32,60,0,14,32,42,6,14,32,60,0,60,0,60,0,14,32,59,216,21,222,14,32,61,0,14,32,59,216,53,222,14,32,61,0,14,32,59,216,117,222,14,32,61,0,14,32,59,216,149,222,14,32,61,0,14,32,59,216,181,222,14,32,60,0,60,0,60,0,14,32,151,254,14,32,60,0,60,0,60,0,14,32,161,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,80,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,162,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,82,253,14,32,47,0,14,32,45,6,44,6,14,32,60,0,60,0,60,0,14,32,83,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,163,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,84,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,164,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,85,253,14,32,47,0,14,32,69,6,44,6,14,32,60,0,60,0,60,0,14,32,86,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,87,253,14,32,47,0,14,32,69,6,46,6,14,32,60,0,60,0,60,0,14,32,165,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,152,254,14,32,60,0,60,0,60,0,14,32,227,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,228,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,150,254,14,32,60,0,60,0,60,0,14,32,160,253,14,32,47,0,14,32,44,6,73,6,14,32,60,0,60,0,60,0,14,32,159,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,81,253,14,32,47,0,14,32,45,6,44,6,14,32,60,0,60,0,60,0,14,32,162,253,14,32,47,0,14,32,46,6,73,6,14,32,60,0,60,0,60,0,14,32,161,253,14,32,47,0,14,32,46,6,74,6,14,32,60,0,60,0,60,0,14,32,112,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,113,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,114,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,164,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,163,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,115,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,116,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,117,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,149,254,14,32,60,0,60,0,60,0,14,32,11,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,12,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,13,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,14,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,15,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,16,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,43,6,14,32,60,0,60,0,60,0,14,32,59,216,22,222,14,32,61,0,14,32,59,216,54,222,14,32,61,0,14,32,59,216,118,222,14,32,61,0,14,32,59,216,150,222,14,32,61,0,14,32,59,216,182,222,14,32,60,0,60,0,60,0,14,32,155,254,14,32,60,0,60,0,60,0,14,32,166,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,156,254,14,32,60,0,60,0,60,0,14,32,229,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,230,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,154,254,14,32,60,0,60,0,60,0,14,32,118,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,119,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,120,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,121,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,122,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,123,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,153,254,14,32,60,0,60,0,60,0,14,32,17,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,18,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,19,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,20,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,121,6,14,32,60,0,60,0,60,0,14,32,104,251,14,32,60,0,60,0,60,0,14,32,105,251,14,32,60,0,60,0,60,0,14,32,103,251,14,32,60,0,60,0,60,0,14,32,102,251,14,32,60,0,14,32,122,6,14,32,60,0,60,0,60,0,14,32,96,251,14,32,60,0,60,0,60,0,14,32,97,251,14,32,60,0,60,0,60,0,14,32,95,251,14,32,60,0,60,0,60,0,14,32,94,251,14,32,60,0,14,32,124,6,14,32,60,0,14,32,125,6,14,32,60,0,14,32,127,6,14,32,60,0,60,0,60,0,14,32,100,251,14,32,60,0,60,0,60,0,14,32,101,251,14,32,60,0,60,0,60,0,14,32,99,251,14,32,60,0,60,0,60,0,14,32,98,251,14,32,60,0,14,32,184,8,14,32,60,0,14,32,191,8,14,32,60,0,14,32,192,8,14,32,60,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,59,216,2,222,14,32,61,0,14,32,59,216,34,222,14,32,61,0,14,32,59,216,66,222,14,32,61,0,14,32,59,216,98,222,14,32,61,0,14,32,59,216,130,222,14,32,61,0,14,32,59,216,162,222,14,32,60,0,60,0,60,0,14,32,159,254,14,32,60,0,60,0,60,0,14,32,167,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,168,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,89,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,160,254,14,32,60,0,60,0,60,0,14,32,158,254,14,32,60,0,60,0,60,0,14,32,166,253,14,32,47,0,14,32,45,6,73,6,14,32,60,0,60,0,60,0,14,32,190,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,88,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,167,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,165,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,29,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,30,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,157,254,14,32,60,0,60,0,60,0,14,32,21,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,251,253,14,32,47,0,14,32,68,6,39,0,32,0,39,0,44,6,68,6,39,6,68,6,71,6,14,32,60,0,60,0,60,0,14,32,22,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,1,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,2,253,14,32,47,0,14,32,74,6,14,32,60,0,14,32,131,6,14,32,60,0,60,0,60,0,14,32,120,251,14,32,60,0,60,0,60,0,14,32,121,251,14,32,60,0,60,0,60,0,14,32,119,251,14,32,60,0,60,0,60,0,14,32,118,251,14,32,60,0,14,32,132,6,14,32,60,0,60,0,60,0,14,32,116,251,14,32,60,0,60,0,60,0,14,32,117,251,14,32,60,0,60,0,60,0,14,32,115,251,14,32,60,0,60,0,60,0,14,32,114,251,14,32,60,0,14,32,138,8,14,32,60,0,14,32,134,6,14,32,60,0,60,0,60,0,14,32,124,251,14,32,60,0,60,0,60,0,14,32,125,251,14,32,60,0,60,0,60,0,14,32,123,251,14,32,60,0,60,0,60,0,14,32,122,251,14,32,60,0,14,32,191,6,14,32,60,0,14,32,135,6,14,32,60,0,60,0,60,0,14,32,128,251,14,32,60,0,60,0,60,0,14,32,129,251,14,32,60,0,60,0,60,0,14,32,127,251,14,32,60,0,60,0,60,0,14,32,126,251,14,32,60,0,14,32,162,8,14,32,60,0,14,32,193,8,14,32,60,0,14,32,197,8,14,32,60,0,14,32,198,8,14,32,60,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,59,216,7,222,14,32,61,0,14,32,59,216,39,222,14,32,61,0,14,32,59,216,71,222,14,32,61,0,14,32,59,216,103,222,14,32,61,0,14,32,59,216,135,222,14,32,61,0,14,32,59,216,167,222,14,32,60,0,60,0,60,0,14,32,163,254,14,32,60,0,60,0,60,0,14,32,169,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,170,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,164,254,14,32,60,0,60,0,60,0,14,32,162,254,14,32,60,0,60,0,60,0,14,32,191,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,91,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,90,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,27,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,28,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,161,254,14,32,60,0,60,0,60,0,14,32,23,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,24,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,255,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,0,253,14,32,47,0,14,32,74,6,14,32,60,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,59,216,23,222,14,32,61,0,14,32,59,216,55,222,14,32,61,0,14,32,59,216,87,222,14,32,61,0,14,32,59,216,119,222,14,32,61,0,14,32,59,216,151,222,14,32,61,0,14,32,59,216,183,222,14,32,60,0,60,0,60,0,14,32,167,254,14,32,60,0,60,0,60,0,14,32,171,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,172,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,168,254,14,32,60,0,60,0,60,0,14,32,166,254,14,32,60,0,60,0,60,0,14,32,31,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,32,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,165,254,14,32,60,0,60,0,60,0,14,32,25,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,26,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,27,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,3,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,4,253,14,32,47,0,14,32,74,6,14,32,60,0,14,32,129,6,14,32,60,0,14,32,130,6,14,32,60,0,14,32,133,6,14,32,60,0,14,32,87,7,14,32,60,0,14,32,88,7,14,32,60,0,14,32,110,7,14,32,60,0,14,32,111,7,14,32,60,0,14,32,114,7,14,32,60,0,14,32,124,7,14,32,60,0,14,32,47,6,14,32,60,0,60,0,60,0,14,32,59,216,3,222,14,32,61,0,14,32,59,216,131,222,14,32,61,0,14,32,59,216,163,222,14,32,60,0,60,0,60,0,14,32,170,254,14,32,60,0,60,0,60,0,14,32,169,254,14,32,60,0,14,32,48,6,14,32,60,0,60,0,60,0,14,32,59,216,24,222,14,32,61,0,14,32,59,216,152,222,14,32,61,0,14,32,59,216,184,222,14,32,60,0,60,0,60,0,14,32,172,254,14,32,60,0,60,0,60,0,14,32,171,254,14,32,60,0,60,0,60,0,14,32,91,252,14,32,47,0,112,6,60,0,14,32,136,6,14,32,60,0,60,0,60,0,14,32,137,251,14,32,60,0,60,0,60,0,14,32,136,251,14,32,60,0,14,32,137,6,14,32,60,0,14,32,138,6,14,32,60,0,14,32,139,6,14,32,60,0,14,32,140,6,14,32,60,0,60,0,60,0,14,32,133,251,14,32,60,0,60,0,60,0,14,32,132,251,14,32,60,0,14,32,141,6,14,32,60,0,60,0,60,0,14,32,131,251,14,32,60,0,60,0,60,0,14,32,130,251,14,32,60,0,14,32,174,8,14,32,60,0,14,32,142,6,14,32,60,0,60,0,60,0,14,32,135,251,14,32,60,0,60,0,60,0,14,32,134,251,14,32,60,0,14,32,143,6,14,32,60,0,14,32,144,6,14,32,60,0,14,32,238,6,14,32,60,0,14,32,89,7,14,32,60,0,14,32,90,7,14,32,60,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,59,216,19,222,14,32,61,0,14,32,59,216,147,222,14,32,61,0,14,32,59,216,179,222,14,32,60,0,60,0,60,0,14,32,174,254,14,32,60,0,60,0,60,0,14,32,173,254,14,32,60,0,60,0,60,0,14,32,92,252,14,32,47,0,112,6,60,0,60,0,60,0,14,32,246,253,14,32,47,0,14,32,51,6,72,6,68,6,14,32,60,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,59,216,6,222,14,32,61,0,14,32,59,216,134,222,14,32,61,0,14,32,59,216,166,222,14,32,60,0,60,0,60,0,14,32,176,254,14,32,60,0,60,0,60,0,14,32,175,254,14,32,60,0,14,32,145,6,14,32,60,0,60,0,60,0,14,32,141,251,14,32,60,0,60,0,60,0,14,32,140,251,14,32,60,0,14,32,146,6,14,32,60,0,14,32,147,6,14,32,60,0,14,32,148,6,14,32,60,0,14,32,149,6,14,32,60,0,14,32,150,6,14,32,60,0,14,32,151,6,14,32,60,0,14,32,152,6,14,32,60,0,60,0,60,0,14,32,139,251,14,32,60,0,60,0,60,0,14,32,138,251,14,32,60,0,14,32,153,6,14,32,60,0,14,32,239,6,14,32,60,0,14,32,91,7,14,32,60,0,14,32,107,7,14,32,60,0,14,32,108,7,14,32,60,0,14,32,113,7,14,32,60,0,14,32,170,8,14,32,60,0,14,32,178,8,14,32,60,0,14,32,185,8,14,32,60,0,14,32,51,6,14,32,60,0,60,0,60,0,14,32,59,216,14,222,14,32,61,0,14,32,59,216,46,222,14,32,61,0,14,32,59,216,78,222,14,32,61,0,14,32,59,216,110,222,14,32,61,0,14,32,59,216,142,222,14,32,61,0,14,32,59,216,174,222,14,32,60,0,60,0,60,0,14,32,179,254,14,32,60,0,60,0,60,0,14,32,173,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,93,253,14,32,47,0,14,32,44,6,45,6,14,32,60,0,60,0,60,0,14,32,174,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,92,253,14,32,47,0,14,32,45,6,44,6,14,32,60,0,60,0,60,0,14,32,175,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,176,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,97,253,14,32,47,0,14,32,69,6,44,6,14,32,60,0,60,0,60,0,14,32,96,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,99,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,49,253,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,180,254,14,32,60,0,60,0,60,0,14,32,52,253,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,53,253,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,54,253,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,231,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,232,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,178,254,14,32,60,0,60,0,60,0,14,32,94,253,14,32,47,0,14,32,44,6,73,6,14,32,60,0,60,0,60,0,14,32,168,253,14,32,47,0,14,32,46,6,73,6,14,32,60,0,60,0,60,0,14,32,198,253,14,32,47,0,14,32,46,6,74,6,14,32,60,0,60,0,60,0,14,32,42,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,95,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,98,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,23,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,24,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,177,254,14,32,60,0,60,0,60,0,14,32,28,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,29,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,30,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,14,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,31,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,251,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,252,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,52,6,14,32,60,0,60,0,60,0,14,32,59,216,20,222,14,32,61,0,14,32,59,216,52,222,14,32,61,0,14,32,59,216,84,222,14,32,61,0,14,32,59,216,116,222,14,32,61,0,14,32,59,216,148,222,14,32,61,0,14,32,59,216,180,222,14,32,60,0,60,0,60,0,14,32,183,254,14,32,60,0,60,0,60,0,14,32,45,253,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,46,253,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,104,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,47,253,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,48,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,107,253,14,32,47,0,14,32,69,6,46,6,14,32,60,0,60,0,60,0,14,32,109,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,50,253,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,184,254,14,32,60,0,60,0,60,0,14,32,55,253,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,56,253,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,57,253,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,233,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,234,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,182,254,14,32,60,0,60,0,60,0,14,32,37,253,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,105,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,38,253,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,103,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,170,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,39,253,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,41,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,40,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,106,253,14,32,47,0,14,32,69,6,46,6,14,32,60,0,60,0,60,0,14,32,108,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,25,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,26,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,181,254,14,32,60,0,60,0,60,0,14,32,9,253,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,10,253,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,11,253,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,13,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,12,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,253,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,254,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,154,6,14,32,60,0,14,32,155,6,14,32,60,0,14,32,156,6,14,32,60,0,14,32,250,6,14,32,60,0,14,32,92,7,14,32,60,0,14,32,109,7,14,32,60,0,14,32,112,7,14,32,60,0,14,32,125,7,14,32,60,0,14,32,126,7,14,32,60,0,14,32,53,6,14,32,60,0,60,0,60,0,14,32,59,216,17,222,14,32,61,0,14,32,59,216,49,222,14,32,61,0,14,32,59,216,81,222,14,32,61,0,14,32,59,216,113,222,14,32,61,0,14,32,59,216,145,222,14,32,61,0,14,32,59,216,177,222,14,32,60,0,60,0,60,0,14,32,187,254,14,32,60,0,60,0,60,0,14,32,177,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,101,253,14,32,47,0,14,32,45,6,45,6,14,32,60,0,60,0,60,0,14,32,178,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,179,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,197,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,188,254,14,32,60,0,60,0,60,0,14,32,186,254,14,32,60,0,60,0,60,0,14,32,100,253,14,32,47,0,14,32,45,6,45,6,14,32,60,0,60,0,60,0,14,32,169,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,43,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,102,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,33,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,34,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,185,254,14,32,60,0,60,0,60,0,14,32,32,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,15,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,245,253,14,32,47,0,14,32,68,6,57,6,69,6,14,32,60,0,60,0,60,0,14,32,249,253,14,32,47,0,14,32,68,6,73,6,14,32,60,0,60,0,60,0,14,32,250,253,14,32,47,0,14,32,68,6,73,6,39,0,32,0,39,0,39,6,68,6,68,6,71,6,39,0,32,0,39,0,57,6,68,6,74,6,71,6,39,0,32,0,39,0,72,6,51,6,68,6,69,6,14,32,60,0,60,0,60,0,14,32,240,253,14,32,47,0,14,32,68,6,210,6,14,32,60,0,60,0,60,0,14,32,33,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,5,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,6,253,14,32,47,0,14,32,74,6,14,32,60,0,14,32,54,6,14,32,60,0,60,0,60,0,14,32,59,216,25,222,14,32,61,0,14,32,59,216,57,222,14,32,61,0,14,32,59,216,89,222,14,32,61,0,14,32,59,216,121,222,14,32,61,0,14,32,59,216,153,222,14,32,61,0,14,32,59,216,185,222,14,32,60,0,60,0,60,0,14,32,191,254,14,32,60,0,60,0,60,0,14,32,180,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,181,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,182,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,112,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,183,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,192,254,14,32,60,0,60,0,60,0,14,32,190,254,14,32,60,0,60,0,60,0,14,32,110,253,14,32,47,0,14,32,45,6,73,6,14,32,60,0,60,0,60,0,14,32,171,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,111,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,44,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,35,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,36,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,189,254,14,32,60,0,60,0,60,0,14,32,34,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,35,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,36,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,16,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,37,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,7,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,8,253,14,32,47,0,14,32,74,6,14,32,60,0,14,32,157,6,14,32,60,0,14,32,175,8,14,32,60,0,14,32,158,6,14,32,60,0,14,32,251,6,14,32,60,0,14,32,55,6,14,32,60,0,60,0,60,0,14,32,59,216,8,222,14,32,61,0,14,32,59,216,104,222,14,32,61,0,14,32,59,216,136,222,14,32,61,0,14,32,59,216,168,222,14,32,60,0,60,0,60,0,14,32,195,254,14,32,60,0,60,0,60,0,14,32,184,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,51,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,114,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,115,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,196,254,14,32,60,0,60,0,60,0,14,32,58,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,194,254,14,32,60,0,60,0,60,0,14,32,113,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,116,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,17,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,18,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,193,254,14,32,60,0,60,0,60,0,14,32,38,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,39,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,245,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,246,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,56,6,14,32,60,0,60,0,60,0,14,32,59,216,26,222,14,32,61,0,14,32,59,216,122,222,14,32,61,0,14,32,59,216,154,222,14,32,61,0,14,32,59,216,186,222,14,32,60,0,60,0,60,0,14,32,199,254,14,32,60,0,60,0,60,0,14,32,185,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,200,254,14,32,60,0,60,0,60,0,14,32,59,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,198,254,14,32,60,0,60,0,60,0,14,32,197,254,14,32,60,0,60,0,60,0,14,32,40,252,14,32,47,0,14,32,69,6,14,32,60,0,14,32,159,6,14,32,60,0,14,32,163,8,14,32,60,0,14,32,139,8,14,32,60,0,14,32,140,8,14,32,60,0,14,32,57,6,14,32,60,0,60,0,60,0,14,32,59,216,15,222,14,32,61,0,14,32,59,216,47,222,14,32,61,0,14,32,59,216,79,222,14,32,61,0,14,32,59,216,111,222,14,32,61,0,14,32,59,216,143,222,14,32,61,0,14,32,59,216,175,222,14,32,60,0,60,0,60,0,14,32,203,254,14,32,60,0,60,0,60,0,14,32,186,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,196,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,187,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,119,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,204,254,14,32,60,0,60,0,60,0,14,32,202,254,14,32,60,0,60,0,60,0,14,32,117,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,118,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,120,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,182,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,19,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,20,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,201,254,14,32,60,0,60,0,60,0,14,32,41,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,247,253,14,32,47,0,14,32,68,6,74,6,71,6,14,32,60,0,60,0,60,0,14,32,42,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,247,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,248,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,58,6,14,32,60,0,60,0,60,0,14,32,59,216,27,222,14,32,61,0,14,32,59,216,59,222,14,32,61,0,14,32,59,216,91,222,14,32,61,0,14,32,59,216,123,222,14,32,61,0,14,32,59,216,155,222,14,32,61,0,14,32,59,216,187,222,14,32,60,0,60,0,60,0,14,32,207,254,14,32,60,0,60,0,60,0,14,32,188,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,189,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,208,254,14,32,60,0,60,0,60,0,14,32,206,254,14,32,60,0,60,0,60,0,14,32,121,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,123,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,122,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,21,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,22,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,205,254,14,32,60,0,60,0,60,0,14,32,43,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,44,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,249,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,250,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,160,6,14,32,60,0,14,32,195,8,14,32,60,0,14,32,252,6,14,32,60,0,14,32,93,7,14,32,60,0,14,32,94,7,14,32,60,0,14,32,95,7,14,32,60,0,14,32,179,8,14,32,60,0,14,32,65,6,14,32,60,0,60,0,60,0,14,32,59,216,16,222,14,32,61,0,14,32,59,216,48,222,14,32,61,0,14,32,59,216,112,222,14,32,61,0,14,32,59,216,144,222,14,32,61,0,14,32,59,216,176,222,14,32,60,0,60,0,60,0,14,32,211,254,14,32,60,0,60,0,60,0,14,32,190,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,191,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,192,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,125,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,193,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,212,254,14,32,60,0,60,0,60,0,14,32,210,254,14,32,60,0,60,0,60,0,14,32,124,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,193,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,124,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,125,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,209,254,14,32,60,0,60,0,60,0,14,32,45,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,46,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,47,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,48,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,49,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,50,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,161,6,14,32,60,0,60,0,60,0,14,32,59,216,30,222,14,32,61,0,14,32,59,216,126,222,14,32,60,0,14,32,162,6,14,32,60,0,14,32,187,8,14,32,60,0,14,32,163,6,14,32,60,0,14,32,164,6,14,32,60,0,60,0,60,0,14,32,108,251,14,32,60,0,60,0,60,0,14,32,109,251,14,32,60,0,60,0,60,0,14,32,107,251,14,32,60,0,60,0,60,0,14,32,106,251,14,32,60,0,14,32,164,8,14,32,60,0,14,32,165,6,14,32,60,0,14,32,166,6,14,32,60,0,60,0,60,0,14,32,112,251,14,32,60,0,60,0,60,0,14,32,113,251,14,32,60,0,60,0,60,0,14,32,111,251,14,32,60,0,60,0,60,0,14,32,110,251,14,32,60,0,14,32,96,7,14,32,60,0,14,32,97,7,14,32,60,0,14,32,111,6,14,32,60,0,60,0,60,0,14,32,59,216,31,222,14,32,61,0,14,32,59,216,95,222,14,32,60,0,14,32,66,6,14,32,60,0,60,0,60,0,14,32,59,216,18,222,14,32,61,0,14,32,59,216,50,222,14,32,61,0,14,32,59,216,82,222,14,32,61,0,14,32,59,216,114,222,14,32,61,0,14,32,59,216,146,222,14,32,61,0,14,32,59,216,178,222,14,32,60,0,60,0,60,0,14,32,215,254,14,32,60,0,60,0,60,0,14,32,194,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,195,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,180,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,216,254,14,32,60,0,60,0,60,0,14,32,214,254,14,32,60,0,60,0,60,0,14,32,126,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,127,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,178,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,126,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,127,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,213,254,14,32,60,0,60,0,60,0,14,32,51,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,241,253,14,32,47,0,14,32,68,6,210,6,14,32,60,0,60,0,60,0,14,32,52,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,53,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,54,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,167,6,14,32,60,0,14,32,188,8,14,32,60,0,14,32,168,6,14,32,60,0,14,32,196,8,14,32,60,0,14,32,165,8,14,32,60,0,14,32,181,8,14,32,60,0,14,32,67,6,14,32,60,0,60,0,60,0,14,32,59,216,10,222,14,32,61,0,14,32,59,216,42,222,14,32,61,0,14,32,59,216,106,222,14,32,60,0,60,0,60,0,14,32,219,254,14,32,60,0,60,0,60,0,14,32,196,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,197,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,198,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,199,252,14,32,47,0,14,32,68,6,14,32,60,0,60,0,60,0,14,32,200,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,195,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,220,254,14,32,60,0,60,0,60,0,14,32,235,252,14,32,47,0,14,32,68,6,14,32,60,0,60,0,60,0,14,32,236,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,218,254,14,32,60,0,60,0,60,0,14,32,128,252,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,129,252,14,32,47,0,14,32,68,6,14,32,60,0,60,0,60,0,14,32,130,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,187,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,183,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,131,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,132,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,217,254,14,32,60,0,60,0,60,0,14,32,55,252,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,56,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,57,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,58,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,59,252,14,32,47,0,14,32,68,6,14,32,60,0,60,0,60,0,14,32,60,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,61,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,62,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,169,6,14,32,60,0,60,0,60,0,14,32,144,251,14,32,60,0,60,0,60,0,14,32,145,251,14,32,60,0,60,0,60,0,14,32,143,251,14,32,60,0,60,0,60,0,14,32,142,251,14,32,60,0,14,32,170,6,14,32,60,0,14,32,171,6,14,32,60,0,14,32,172,6,14,32,60,0,14,32,127,7,14,32,60,0,14,32,173,6,14,32,60,0,60,0,60,0,14,32,213,251,14,32,60,0,60,0,60,0,14,32,214,251,14,32,60,0,60,0,60,0,14,32,212,251,14,32,60,0,60,0,60,0,14,32,211,251,14,32,60,0,14,32,174,6,14,32,60,0,14,32,180,8,14,32,60,0,14,32,175,6,14,32,60,0,60,0,60,0,14,32,148,251,14,32,60,0,60,0,60,0,14,32,149,251,14,32,60,0,60,0,60,0,14,32,147,251,14,32,60,0,60,0,60,0,14,32,146,251,14,32,60,0,14,32,176,8,14,32,60,0,14,32,200,8,14,32,60,0,14,32,176,6,14,32,60,0,14,32,177,6,14,32,60,0,60,0,60,0,14,32,156,251,14,32,60,0,60,0,60,0,14,32,157,251,14,32,60,0,60,0,60,0,14,32,155,251,14,32,60,0,60,0,60,0,14,32,154,251,14,32,60,0,14,32,178,6,14,32,60,0,14,32,179,6,14,32,60,0,60,0,60,0,14,32,152,251,14,32,60,0,60,0,60,0,14,32,153,251,14,32,60,0,60,0,60,0,14,32,151,251,14,32,60,0,60,0,60,0,14,32,150,251,14,32,60,0,14,32,180,6,14,32,60,0,14,32,98,7,14,32,60,0,14,32,59,6,14,32,60,0,14,32,141,8,14,32,60,0,14,32,60,6,14,32,60,0,14,32,99,7,14,32,60,0,14,32,100,7,14,32,60,0,14,32,194,8,14,32,60,0,14,32,68,6,14,32,60,0,60,0,60,0,14,32,59,216,11,222,14,32,61,0,14,32,59,216,43,222,14,32,61,0,14,32,59,216,75,222,14,32,61,0,14,32,59,216,139,222,14,32,61,0,14,32,59,216,171,222,14,32,60,0,60,0,60,0,14,32,223,254,14,32,60,0,60,0,60,0,14,32,201,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,131,253,14,32,47,0,14,32,44,6,44,6,14,32,60,0,60,0,60,0,14,32,186,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,202,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,181,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,203,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,134,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,204,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,136,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,205,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,224,254,14,32,60,0,60,0,60,0,14,32,237,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,222,254,14,32,60,0,60,0,60,0,14,32,246,254,14,32,47,0,14,32,34,6,14,32,60,0,60,0,60,0,14,32,248,254,14,32,47,0,14,32,35,6,14,32,60,0,60,0,60,0,14,32,250,254,14,32,47,0,14,32,37,6,14,32,60,0,60,0,60,0,14,32,252,254,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,132,253,14,32,47,0,14,32,44,6,44,6,14,32,60,0,60,0,60,0,14,32,188,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,172,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,128,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,130,253,14,32,47,0,14,32,45,6,73,6,14,32,60,0,60,0,60,0,14,32,129,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,133,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,133,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,135,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,173,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,134,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,135,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,221,254,14,32,60,0,60,0,60,0,14,32,245,254,14,32,47,0,14,32,34,6,14,32,60,0,60,0,60,0,14,32,247,254,14,32,47,0,14,32,35,6,14,32,60,0,60,0,60,0,14,32,249,254,14,32,47,0,14,32,37,6,14,32,60,0,60,0,60,0,14,32,251,254,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,63,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,64,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,65,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,66,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,67,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,68,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,181,6,14,32,60,0,14,32,182,6,14,32,60,0,14,32,183,6,14,32,60,0,14,32,184,6,14,32,60,0,14,32,106,7,14,32,60,0,14,32,166,8,14,32,60,0,14,32,199,8,14,32,60,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,59,216,12,222,14,32,61,0,14,32,59,216,44,222,14,32,61,0,14,32,59,216,108,222,14,32,61,0,14,32,59,216,140,222,14,32,61,0,14,32,59,216,172,222,14,32,60,0,60,0,60,0,14,32,227,254,14,32,60,0,60,0,60,0,14,32,206,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,140,253,14,32,47,0,14,32,44,6,45,6,14,32,60,0,60,0,60,0,14,32,146,253,14,32,47,0,14,32,44,6,46,6,14,32,60,0,60,0,60,0,14,32,141,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,207,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,137,253,14,32,47,0,14,32,45,6,44,6,14,32,60,0,60,0,60,0,14,32,138,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,208,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,142,253,14,32,47,0,14,32,46,6,44,6,14,32,60,0,60,0,60,0,14,32,143,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,209,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,228,254,14,32,60,0,60,0,60,0,14,32,226,254,14,32,60,0,60,0,60,0,14,32,136,252,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,192,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,139,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,185,253,14,32,47,0,14,32,46,6,74,6,14,32,60,0,60,0,60,0,14,32,137,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,177,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,225,254,14,32,60,0,60,0,60,0,14,32,69,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,70,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,244,253,14,32,47,0,14,32,45,6,69,6,47,6,14,32,60,0,60,0,60,0,14,32,71,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,72,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,73,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,74,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,14,32,254,6,14,32,60,0,14,32,101,7,14,32,60,0,14,32,102,7,14,32,60,0,14,32,167,8,14,32,60,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,59,216,13,222,14,32,61,0,14,32,59,216,45,222,14,32,61,0,14,32,59,216,77,222,14,32,61,0,14,32,59,216,109,222,14,32,61,0,14,32,59,216,141,222,14,32,61,0,14,32,59,216,173,222,14,32,60,0,60,0,60,0,14,32,231,254,14,32,60,0,60,0,60,0,14,32,210,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,184,253,14,32,47,0,14,32,44,6,45,6,14,32,60,0,60,0,60,0,14,32,152,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,211,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,149,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,212,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,213,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,214,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,232,254,14,32,60,0,60,0,60,0,14,32,238,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,239,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,230,254,14,32,60,0,60,0,60,0,14,32,189,253,14,32,47,0,14,32,44,6,45,6,14,32,60,0,60,0,60,0,14,32,151,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,153,253,14,32,47,0,14,32,44,6,73,6,14,32,60,0,60,0,60,0,14,32,199,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,150,253,14,32,47,0,14,32,45,6,73,6,14,32,60,0,60,0,60,0,14,32,179,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,138,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,139,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,140,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,155,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,154,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,141,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,142,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,143,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,229,254,14,32,60,0,60,0,60,0,14,32,75,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,76,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,77,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,78,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,79,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,80,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,186,6,14,32,60,0,60,0,60,0,14,32,59,216,29,222,14,32,61,0,14,32,59,216,93,222,14,32,60,0,60,0,60,0,14,32,159,251,14,32,60,0,60,0,60,0,14,32,158,251,14,32,60,0,14,32,189,8,14,32,60,0,14,32,187,6,14,32,60,0,60,0,60,0,14,32,162,251,14,32,60,0,60,0,60,0,14,32,163,251,14,32,60,0,60,0,60,0,14,32,161,251,14,32,60,0,60,0,60,0,14,32,160,251,14,32,60,0,14,32,188,6,14,32,60,0,14,32,189,6,14,32,60,0,14,32,185,6,14,32,60,0,14,32,103,7,14,32,60,0,14,32,104,7,14,32,60,0,14,32,105,7,14,32,60,0,14,32,137,8,14,32,60,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,59,216,36,222,14,32,61,0,14,32,59,216,100,222,14,32,61,0,14,32,59,216,132,222,14,32,60,0,60,0,60,0,14,32,235,254,14,32,60,0,60,0,60,0,14,32,217,252,14,32,47,0,112,6,60,0,60,0,60,0,14,32,215,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,216,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,147,253,14,32,47,0,14,32,69,6,44,6,14,32,60,0,60,0,60,0,14,32,148,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,236,254,14,32,60,0,60,0,60,0,14,32,234,254,14,32,60,0,60,0,60,0,14,32,233,254,14,32,60,0,60,0,60,0,14,32,81,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,82,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,83,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,84,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,190,6,14,32,60,0,60,0,60,0,14,32,172,251,14,32,60,0,60,0,60,0,14,32,173,251,14,32,60,0,60,0,60,0,14,32,171,251,14,32,60,0,60,0,60,0,14,32,170,251,14,32,60,0,14,32,193,6,14,32,60,0,60,0,60,0,14,32,168,251,14,32,60,0,60,0,60,0,14,32,169,251,14,32,60,0,60,0,60,0,14,32,167,251,14,32,60,0,60,0,60,0,14,32,166,251,14,32,60,0,14,32,195,6,14,32,60,0,14,32,255,6,14,32,60,0,14,32,213,6,14,32,60,0,60,0,60,0,14,32,165,251,14,32,47,0,3,216,171,222,60,0,60,0,60,0,14,32,164,251,14,32,47,0,3,216,171,222,60,0,14,32,72,6,14,32,60,0,60,0,60,0,14,32,229,6,14,32,61,0,14,32,132,8,14,32,60,0,60,0,60,0,14,32,59,216,5,222,14,32,61,0,14,32,59,216,133,222,14,32,61,0,14,32,59,216,165,222,14,32,60,0,60,0,60,0,14,32,238,254,14,32,60,0,60,0,60,0,14,32,237,254,14,32,60,0,60,0,60,0,14,32,248,253,14,32,47,0,14,32,51,6,68,6,69,6,14,32,60,0,14,32,196,6,14,32,60,0,14,32,197,6,14,32,60,0,60,0,60,0,14,32,225,251,14,32,60,0,60,0,60,0,14,32,224,251,14,32,60,0,14,32,198,6,14,32,60,0,60,0,60,0,14,32,218,251,14,32,60,0,60,0,60,0,14,32,217,251,14,32,60,0,14,32,199,6,14,32,60,0,60,0,60,0,14,32,216,251,14,32,60,0,60,0,60,0,14,32,215,251,14,32,60,0,14,32,200,6,14,32,60,0,60,0,60,0,14,32,220,251,14,32,60,0,60,0,60,0,14,32,219,251,14,32,60,0,14,32,201,6,14,32,60,0,60,0,60,0,14,32,227,251,14,32,60,0,60,0,60,0,14,32,226,251,14,32,60,0,14,32,202,6,14,32,60,0,14,32,203,6,14,32,60,0,60,0,60,0,14,32,223,251,14,32,60,0,60,0,60,0,14,32,222,251,14,32,60,0,14,32,177,8,14,32,60,0,14,32,207,6,14,32,60,0,14,32,120,7,14,32,60,0,14,32,121,7,14,32,60,0,14,32,171,8,14,32,60,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,232,251,14,32,60,0,60,0,60,0,14,32,233,251,14,32,60,0,60,0,60,0,14,32,240,254,14,32,60,0,60,0,60,0,14,32,144,252,14,32,47,0,112,6,60,0,60,0,60,0,14,32,239,254,14,32,60,0,60,0,60,0,14,32,93,252,14,32,47,0,112,6,60,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,230,6,14,32,61,0,14,32,133,8,14,32,61,0,14,32,134,8,14,32,60,0,60,0,60,0,14,32,59,216,9,222,14,32,61,0,14,32,59,216,41,222,14,32,61,0,14,32,59,216,73,222,14,32,61,0,14,32,59,216,105,222,14,32,61,0,14,32,59,216,137,222,14,32,61,0,14,32,59,216,169,222,14,32,60,0,60,0,60,0,14,32,243,254,14,32,60,0,60,0,60,0,14,32,218,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,219,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,220,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,221,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,157,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,222,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,244,254,14,32,60,0,60,0,60,0,14,32,240,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,241,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,242,254,14,32,60,0,60,0,60,0,14,32,175,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,174,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,145,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,146,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,147,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,156,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,176,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,148,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,149,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,150,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,241,254,14,32,60,0,60,0,60,0,14,32,85,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,86,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,87,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,88,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,89,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,90,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,204,6,14,32,60,0,60,0,60,0,14,32,201,8,14,32,60,0,60,0,60,0,14,32,254,251,14,32,60,0,60,0,60,0,14,32,255,251,14,32,60,0,60,0,60,0,14,32,253,251,14,32,60,0,60,0,60,0,14,32,252,251,14,32,60,0,14,32,205,6,14,32,60,0,14,32,206,6,14,32,60,0,14,32,208,6,14,32,60,0,60,0,60,0,14,32,230,251,14,32,60,0,60,0,60,0,14,32,231,251,14,32,60,0,60,0,60,0,14,32,229,251,14,32,60,0,60,0,60,0,14,32,228,251,14,32,60,0,14,32,209,6,14,32,60,0,14,32,61,6,14,32,60,0,14,32,62,6,14,32,60,0,14,32,63,6,14,32,60,0,14,32,32,6,14,32,60,0,14,32,117,7,14,32,60,0,14,32,118,7,14,32,60,0,14,32,119,7,14,32,60,0,14,32,186,8,14,32,60,0,14,32,210,6,14,32,60,0,60,0,60,0,14,32,175,251,14,32,60,0,60,0,60,0,14,32,177,251,14,32,47,0,3,216,171,222,60,0,60,0,60,0,14,32,174,251,14,32,60,0,60,0,60,0,14,32,176,251,14,32,47,0,3,216,171,222,60,0,14,32,122,7,14,32,60,0,14,32,123,7,14,32,60,0,14,32,142,8,14,32,60,0,14,32,16,7,14,32,60,0,14,32,18,7,14,32,60,0,60,0,14,32,45,7,14,32,60,0,14,32,19,7,14,32,60,0,60,0,14,32,20,7,14,32,60,0,60,0,14,32,46,7,14,32,60,0,14,32,22,7,14,32,60,0,14,32,21,7,14,32,60,0,60,0,14,32,47,7,14,32,60,0,14,32,23,7,14,32,60,0,14,32,24,7,14,32,60,0,14,32,25,7,14,32,60,0,14,32,77,7,14,32,60,0,14,32,26,7,14,32,60,0,14,32,27,7,14,32,60,0,60,0,14,32,28,7,14,32,60,0,14,32,29,7,14,32,60,0,14,32,30,7,14,32,60,0,14,32,31,7,14,32,60,0,14,32,78,7,14,32,60,0,14,32,32,7,14,32,60,0,14,32,33,7,14,32,60,0,14,32,34,7,14,32,60,0,14,32,35,7,14,32,60,0,60,0,60,0,14,32,36,7,14,32,60,0,14,32,37,7,14,32,60,0,14,32,38,7,14,32,60,0,60,0,14,32,39,7,14,32,60,0,14,32,79,7,14,32,60,0,14,32,40,7,14,32,60,0,14,32,41,7,14,32,60,0,14,32,42,7,14,32,60,0,14,32,43,7,14,32,60,0,14,32,44,7,14,32,60,0,14,32,96,8,14,32,60,0,14,32,97,8,14,32,60,0,14,32,98,8,14,32,60,0,14,32,99,8,14,32,60,0,14,32,100,8,14,32,60,0,14,32,101,8,14,32,60,0,14,32,102,8,14,32,60,0,14,32,103,8,14,32,60,0,14,32,104,8,14,32,60,0,14,32,105,8,14,32,60,0,14,32,106,8,14,32,60,0,14,32,64,8,14,32,60,0,14,32,65,8,14,32,60,0,14,32,66,8,14,32,60,0,14,32,67,8,14,32,60,0,14,32,68,8,14,32,60,0,14,32,69,8,14,32,60,0,14,32,70,8,14,32,60,0,14,32,71,8,14,32,60,0,14,32,72,8,14,32,60,0,14,32,73,8,14,32,60,0,14,32,74,8,14,32,60,0,14,32,75,8,14,32,60,0,14,32,76,8,14,32,60,0,14,32,77,8,14,32,60,0,14,32,78,8,14,32,60,0,14,32,79,8,14,32,60,0,14,32,80,8,14,32,60,0,14,32,81,8,14,32,60,0,14,32,82,8,14,32,60,0,14,32,83,8,14,32,60,0,14,32,84,8,14,32,60,0,14,32,85,8,14,32,60,0,14,32,86,8,14,32,60,0,14,32,87,8,14,32,60,0,14,32,88,8,14,32,60,0,14,32,128,7,14,32,60,0,14,32,153,7,14,32,60,0,14,32,154,7,14,32,60,0,14,32,129,7,14,32,60,0,14,32,130,7,14,32,60,0,14,32,131,7,14,32,60,0,14,32,156,7,14,32,60,0,14,32,132,7,14,32,60,0,14,32,133,7,14,32,60,0,14,32,134,7,14,32,60,0,14,32,135,7,14,32,60,0,14,32,162,7,14,32,60,0,14,32,163,7,14,32,60,0,14,32,136,7,14,32,60,0,14,32,165,7,14,32,60,0,14,32,137,7,14,32,60,0,14,32,138,7,14,32,60,0,14,32,139,7,14,32,60,0,14,32,155,7,14,32,60,0,14,32,140,7,14,32,60,0,14,32,152,7,14,32,60,0,14,32,160,7,14,32,60,0,14,32,161,7,14,32,60,0,14,32,141,7,14,32,60,0,14,32,142,7,14,32,60,0,14,32,164,7,14,32,60,0,14,32,143,7,14,32,60,0,14,32,144,7,14,32,60,0,14,32,157,7,14,32,60,0,14,32,158,7,14,32,60,0,14,32,159,7,14,32,60,0,14,32,145,7,14,32,60,0,14,32,146,7,14,32,60,0,14,32,147,7,14,32,60,0,14,32,148,7,14,32,60,0,14,32,149,7,14,32,60,0,14,32,150,7,14,32,60,0,14,32,151,7,14,32,60,0,14,32,177,7,14,32,60,0,166,7,60,0,167,7,60,0,168,7,60,0,169,7,60,0,170,7,60,0,171,7,60,0,172,7,60,0,173,7,60,0,174,7,60,0,175,7,60,0,176,7,60,0,14,32,202,7,14,32,60,0,14,32,203,7,14,32,60,0,14,32,204,7,14,32,60,0,14,32,205,7,14,32,60,0,14,32,206,7,14,32,60,0,14,32,207,7,14,32,60,0,14,32,208,7,14,32,60,0,14,32,209,7,14,32,60,0,14,32,210,7,14,32,60,0,14,32,211,7,14,32,60,0,14,32,212,7,14,32,60,0,14,32,213,7,14,32,60,0,14,32,214,7,14,32,60,0,60,0,14,32,232,7,14,32,60,0,14,32,215,7,14,32,60,0,60,0,14,32,233,7,14,32,60,0,14,32,216,7,14,32,60,0,14,32,217,7,14,32,60,0,60,0,14,32,234,7,14,32,60,0,14,32,218,7,14,32,60,0,14,32,219,7,14,32,60,0,14,32,220,7,14,32,60,0,14,32,221,7,14,32,60,0,14,32,222,7,14,32,60,0,14,32,223,7,14,32,60,0,14,32,224,7,14,32,60,0,14,32,225,7,14,32,60,0,14,32,226,7,14,32,60,0,14,32,227,7,14,32,60,0,14,32,228,7,14,32,60,0,14,32,229,7,14,32,60,0,14,32,230,7,14,32,60,0,14,32,231,7,14,32,60,0,14,32,244,7,14,32,60,0,14,32,245,7,14,32,60,0,48,45,60,0,49,45,60,0,50,45,60,0,51,45,60,0,52,45,60,0,53,45,60,0,54,45,60,0,55,45,60,0,56,45,60,0,57,45,60,0,58,45,60,0,59,45,60,0,102,45,60,0,60,45,60,0,61,45,60,0,62,45,60,0,63,45,60,0,64,45,60,0,65,45,60,0,66,45,60,0,67,45,60,0,68,45,60,0,69,45,60,0,70,45,60,0,71,45,60,0,72,45,60,0,73,45,60,0,74,45,60,0,75,45,60,0,76,45,60,0,77,45,60,0,78,45,60,0,79,45,60,0,80,45,60,0,81,45,60,0,82,45,60,0,83,45,60,0,103,45,60,0,84,45,60,0,85,45,60,0,86,45,60,0,87,45,60,0,88,45,60,0,89,45,60,0,90,45,60,0,91,45,60,0,92,45,60,0,93,45,60,0,94,45,60,0,95,45,60,0,96,45,60,0,97,45,60,0,98,45,60,0,99,45,60,0,100,45,60,0,101,45,60,0,111,45,60,0,0,18,60,0,1,18,60,0,2,18,60,0,3,18,60,0,4,18,60,0,5,18,60,0,6,18,60,0,7,18,60,0,8,18,60,0,9,18,60,0,10,18,60,0,11,18,60,0,12,18,60,0,13,18,60,0,14,18,60,0,15,18,60,0,128,45,60,0,16,18,60,0,17,18,60,0,18,18,60,0,19,18,60,0,20,18,60,0,21,18,60,0,22,18,60,0,23,18,60,0,24,18,60,0,25,18,60,0,26,18,60,0,27,18,60,0,28,18,60,0,29,18,60,0,30,18,60,0,31,18,60,0,128,19,60,0,57,216,237,223,60,0,129,19,60,0,57,216,238,223,60,0,130,19,60,0,131,19,60,0,129,45,60,0,32,18,60,0,33,18,60,0,34,18,60,0,35,18,60,0,36,18,60,0,37,18,60,0,38,18,60,0,39,18,60,0,40,18,60,0,41,18,60,0,42,18,60,0,43,18,60,0,44,18,60,0,45,18,60,0,46,18,60,0,47,18,60,0,130,45,60,0,48,18,60,0,49,18,60,0,50,18,60,0,51,18,60,0,52,18,60,0,53,18,60,0,54,18,60,0,55,18,60,0,131,45,60,0,1,171,60,0,2,171,60,0,3,171,60,0,4,171,60,0,5,171,60,0,6,171,60,0,56,18,60,0,57,18,60,0,58,18,60,0,59,18,60,0,60,18,60,0,61,18,60,0,62,18,60,0,63,18,60,0,132,45,60,0,64,18,60,0,65,18,60,0,66,18,60,0,67,18,60,0,68,18,60,0,69,18,60,0,70,18,60,0,71,18,60,0,72,18,60,0,57,216,240,223,60,0,74,18,60,0,75,18,60,0,57,216,241,223,60,0,76,18,60,0,57,216,242,223,60,0,77,18,60,0,80,18,60,0,81,18,60,0,82,18,60,0,83,18,60,0,84,18,60,0,85,18,60,0,86,18,60,0,88,18,60,0,90,18,60,0,91,18,60,0,92,18,60,0,93,18,60,0,96,18,60,0,97,18,60,0,98,18,60,0,99,18,60,0,100,18,60,0,101,18,60,0,102,18,60,0,103,18,60,0,132,19,60,0,57,216,243,223,60,0,133,19,60,0,57,216,244,223,60,0,134,19,60,0,135,19,60,0,133,45,60,0,104,18,60,0,105,18,60,0,106,18,60,0,107,18,60,0,108,18,60,0,109,18,60,0,110,18,60,0,111,18,60,0,112,18,60,0,113,18,60,0,114,18,60,0,115,18,60,0,116,18,60,0,117,18,60,0,118,18,60,0,119,18,60,0,134,45,60,0,120,18,60,0,121,18,60,0,122,18,60,0,123,18,60,0,124,18,60,0,125,18,60,0,126,18,60,0,127,18,60,0,135,45,60,0,128,18,60,0,129,18,60,0,130,18,60,0,131,18,60,0,132,18,60,0,133,18,60,0,134,18,60,0,135,18,60,0,136,18,60,0,138,18,60,0,139,18,60,0,140,18,60,0,141,18,60,0,144,18,60,0,145,18,60,0,146,18,60,0,147,18,60,0,148,18,60,0,149,18,60,0,150,18,60,0,151,18,60,0,136,45,60,0,152,18,60,0,153,18,60,0,154,18,60,0,155,18,60,0,156,18,60,0,157,18,60,0,158,18,60,0,159,18,60,0,137,45,60,0,160,18,60,0,161,18,60,0,162,18,60,0,163,18,60,0,164,18,60,0,165,18,60,0,166,18,60,0,167,18,60,0,138,45,60,0,168,18,60,0,169,18,60,0,170,18,60,0,171,18,60,0,172,18,60,0,173,18,60,0,174,18,60,0,175,18,60,0,176,18,60,0,57,216,245,223,60,0,178,18,60,0,179,18,60,0,57,216,246,223,60,0,180,18,60,0,57,216,247,223,60,0,181,18,60,0,184,18,60,0,185,18,60,0,186,18,60,0,187,18,60,0,188,18,60,0,189,18,60,0,190,18,60,0,57,216,232,223,60,0,192,18,60,0,57,216,233,223,60,0,194,18,60,0,195,18,60,0,57,216,234,223,60,0,196,18,60,0,57,216,235,223,60,0,197,18,60,0,200,18,60,0,201,18,60,0,202,18,60,0,203,18,60,0,204,18,60,0,205,18,60,0,206,18,60,0,207,18,60,0,208,18,60,0,209,18,60,0,210,18,60,0,211,18,60,0,212,18,60,0,213,18,60,0,214,18,60,0,216,18,60,0,217,18,60,0,218,18,60,0,219,18,60,0,220,18,60,0,221,18,60,0,222,18,60,0,223,18,60,0,139,45,60,0,17,171,60,0,18,171,60,0,19,171,60,0,20,171,60,0,21,171,60,0,22,171,60,0,224,18,60,0,225,18,60,0,226,18,60,0,227,18,60,0,228,18,60,0,229,18,60,0,230,18,60,0,231,18,60,0,232,18,60,0,233,18,60,0,234,18,60,0,235,18,60,0,236,18,60,0,237,18,60,0,238,18,60,0,239,18,60,0,240,18,60,0,241,18,60,0,242,18,60,0,243,18,60,0,244,18,60,0,245,18,60,0,246,18,60,0,247,18,60,0,140,45,60,0,9,171,60,0,10,171,60,0,11,171,60,0,12,171,60,0,13,171,60,0,14,171,60,0,248,18,60,0,249,18,60,0,250,18,60,0,251,18,60,0,252,18,60,0,253,18,60,0,254,18,60,0,255,18,60,0,141,45,60,0,0,19,60,0,1,19,60,0,2,19,60,0,3,19,60,0,4,19,60,0,5,19,60,0,6,19,60,0,7,19,60,0,142,45,60,0,8,19,60,0,9,19,60,0,10,19,60,0,11,19,60,0,12,19,60,0,13,19,60,0,14,19,60,0,15,19,60,0,16,19,60,0,57,216,248,223,60,0,18,19,60,0,19,19,60,0,57,216,249,223,60,0,20,19,60,0,57,216,250,223,60,0,21,19,60,0,24,19,60,0,25,19,60,0,26,19,60,0,27,19,60,0,28,19,60,0,29,19,60,0,30,19,60,0,31,19,60,0,147,45,60,0,148,45,60,0,149,45,60,0,150,45,60,0,32,19,60,0,33,19,60,0,34,19,60,0,35,19,60,0,36,19,60,0,37,19,60,0,38,19,60,0,39,19,60,0,143,45,60,0,40,19,60,0,41,19,60,0,42,19,60,0,43,19,60,0,44,19,60,0,45,19,60,0,46,19,60,0,47,19,60,0,144,45,60,0,32,171,60,0,33,171,60,0,34,171,60,0,35,171,60,0,36,171,60,0,37,171,60,0,38,171,60,0,48,19,60,0,49,19,60,0,50,19,60,0,51,19,60,0,52,19,60,0,53,19,60,0,54,19,60,0,55,19,60,0,145,45,60,0,56,19,60,0,57,19,60,0,58,19,60,0,59,19,60,0,60,19,60,0,61,19,60,0,62,19,60,0,63,19,60,0,40,171,60,0,41,171,60,0,42,171,60,0,43,171,60,0,44,171,60,0,45,171,60,0,46,171,60,0,64,19,60,0,65,19,60,0,66,19,60,0,67,19,60,0,68,19,60,0,69,19,60,0,70,19,60,0,71,19,60,0,72,19,60,0,73,19,60,0,74,19,60,0,75,19,60,0,76,19,60,0,77,19,60,0,78,19,60,0,79,19,60,0,136,19,60,0,57,216,251,223,60,0,137,19,60,0,57,216,252,223,60,0,138,19,60,0,139,19,60,0,80,19,60,0,81,19,60,0,82,19,60,0,83,19,60,0,84,19,60,0,85,19,60,0,86,19,60,0,87,19,60,0,140,19,60,0,57,216,253,223,60,0,141,19,60,0,57,216,254,223,60,0,142,19,60,0,143,19,60,0,146,45,60,0,88,19,60,0,89,19,60,0,90,19,60,0,160,45,60,0,161,45,60,0,162,45,60,0,163,45,60,0,164,45,60,0,165,45,60,0,166,45,60,0,168,45,60,0,169,45,60,0,170,45,60,0,171,45,60,0,172,45,60,0,173,45,60,0,174,45,60,0,176,45,60,0,177,45,60,0,178,45,60,0,179,45,60,0,180,45,60,0,181,45,60,0,182,45,60,0,184,45,60,0,185,45,60,0,186,45,60,0,187,45,60,0,188,45,60,0,189,45,60,0,190,45,60,0,192,45,60,0,193,45,60,0,194,45,60,0,195,45,60,0,196,45,60,0,197,45,60,0,198,45,60,0,200,45,60,0,201,45,60,0,202,45,60,0,203,45,60,0,204,45,60,0,205,45,60,0,206,45,60,0,57,216,224,223,60,0,208,45,60,0,57,216,225,223,60,0,209,45,60,0,57,216,226,223,60,0,210,45,60,0,57,216,227,223,60,0,211,45,60,0,57,216,228,223,60,0,212,45,60,0,57,216,229,223,60,0,213,45,60,0,57,216,230,223,60,0,214,45,60,0,216,45,60,0,217,45,60,0,218,45,60,0,219,45,60,0,220,45,60,0,221,45,60,0,222,45,60,0,80,9,60,0,253,168,60,0,114,9,60,0,4,9,60,0,5,9,60,0,6,9,60,0,115,9,60,0,116,9,60,0,117,9,60,0,118,9,60,0,119,9,60,0,7,9,60,0,8,9,60,0,9,9,60,0,10,9,60,0,11,9,60,0,96,9,60,0,12,9,60,0,97,9,60,0,13,9,60,0,14,9,60,0,15,9,60,0,16,9,60,0,254,168,60,0,17,9,60,0,18,9,60,0,19,9,60,0,20,9,60,0,21,9,60,0,22,9,60,0,23,9,60,0,123,9,60,0,24,9,60,0,25,9,60,0,26,9,60,0,27,9,60,0,28,9,60,0,121,9,60,0,124,9,60,0,29,9,60,0,30,9,60,0,31,9,60,0,32,9,60,0,120,9,60,0,33,9,60,0,126,9,60,0,34,9,60,0,35,9,60,0,36,9,60,0,37,9,60,0,38,9,60,0,39,9,60,0,40,9,60,0,42,9,60,0,43,9,60,0,44,9,60,0,127,9,60,0,45,9,60,0,46,9,60,0,47,9,60,0,122,9,60,0,48,9,60,0,50,9,60,0,51,9,60,0,53,9,60,0,54,9,60,0,55,9,60,0,56,9,60,0,57,9,60,0,61,9,60,0,125,9,60,0,233,28,60,0,60,0,60,0,234,28,61,0,235,28,61,0,236,28,61,0,238,28,61,0,239,28,61,0,240,28,61,0,241,28,61,0,250,28,60,0,245,28,60,0,246,28,60,0,242,168,60,0,60,0,60,0,243,168,61,0,244,168,61,0,245,168,61,0,246,168,61,0,247,168,60,0,251,168,60,0,62,9,60,0,58,9,60,0,59,9,60,0,79,9,60,0,86,9,60,0,87,9,60,0,63,9,60,0,64,9,60,0,65,9,60,0,66,9,60,0,67,9,60,0,68,9,60,0,98,9,60,0,99,9,60,0,69,9,60,0,85,9,60,0,70,9,60,0,71,9,60,0,78,9,60,0,72,9,60,0,255,168,60,0,73,9,60,0,74,9,60,0,75,9,60,0,76,9,60,0,77,9,60,0,128,9,60,0,133,9,60,0,134,9,60,0,135,9,60,0,136,9,60,0,137,9,60,0,138,9,60,0,139,9,60,0,224,9,60,0,140,9,60,0,225,9,60,0,143,9,60,0,144,9,60,0,147,9,60,0,148,9,60,0,149,9,60,0,150,9,60,0,151,9,60,0,152,9,60,0,153,9,60,0,154,9,60,0,155,9,60,0,156,9,60,0,157,9,60,0,158,9,60,0,159,9,60,0,160,9,60,0,161,9,60,0,162,9,60,0,163,9,60,0,164,9,60,0,60,0,60,0,206,9,47,0,205,9,60,0,165,9,60,0,166,9,60,0,167,9,60,0,168,9,60,0,170,9,60,0,171,9,60,0,172,9,60,0,173,9,60,0,174,9,60,0,175,9,60,0,176,9,60,0,240,9,60,0,178,9,60,0,241,9,60,0,182,9,60,0,183,9,60,0,184,9,60,0,185,9,60,0,189,9,60,0,190,9,60,0,191,9,60,0,192,9,60,0,193,9,60,0,194,9,60,0,195,9,60,0,196,9,60,0,226,9,60,0,227,9,60,0,199,9,60,0,200,9,60,0,203,9,60,0,204,9,60,0,205,9,60,0,215,9,60,0,252,9,60,0,116,10,60,0,115,10,60,0,9,10,60,0,10,10,60,0,19,10,60,0,5,10,60,0,6,10,60,0,16,10,60,0,20,10,60,0,114,10,60,0,7,10,60,0,8,10,60,0,15,10,60,0,56,10,60,0,57,10,60,0,81,10,60,0,21,10,60,0,22,10,60,0,23,10,60,0,24,10,60,0,25,10,60,0,26,10,60,0,27,10,60,0,28,10,60,0,29,10,60,0,30,10,60,0,31,10,60,0,32,10,60,0,33,10,60,0,34,10,60,0,35,10,60,0,36,10,60,0,37,10,60,0,38,10,60,0,39,10,60,0,40,10,60,0,42,10,60,0,43,10,60,0,44,10,60,0,45,10,60,0,46,10,60,0,47,10,60,0,117,10,60,0,48,10,60,0,50,10,60,0,53,10,60,0,92,10,60,0,62,10,60,0,63,10,60,0,64,10,60,0,65,10,60,0,66,10,60,0,71,10,60,0,72,10,60,0,75,10,60,0,76,10,60,0,77,10,60,0,208,10,60,0,133,10,60,0,134,10,60,0,135,10,60,0,136,10,60,0,137,10,60,0,138,10,60,0,139,10,60,0,224,10,60,0,140,10,60,0,225,10,60,0,141,10,60,0,143,10,60,0,144,10,60,0,145,10,60,0,147,10,60,0,148,10,60,0,149,10,60,0,150,10,60,0,151,10,60,0,152,10,60,0,153,10,60,0,154,10,60,0,155,10,60,0,156,10,60,0,249,10,60,0,157,10,60,0,158,10,60,0,159,10,60,0,160,10,60,0,161,10,60,0,162,10,60,0,163,10,60,0,164,10,60,0,165,10,60,0,166,10,60,0,167,10,60,0,168,10,60,0,170,10,60,0,171,10,60,0,172,10,60,0,173,10,60,0,174,10,60,0,175,10,60,0,176,10,60,0,178,10,60,0,181,10,60,0,182,10,60,0,183,10,60,0,184,10,60,0,185,10,60,0,179,10,60,0,189,10,60,0,190,10,60,0,191,10,60,0,192,10,60,0,193,10,60,0,194,10,60,0,195,10,60,0,196,10,60,0,226,10,60,0,227,10,60,0,197,10,60,0,199,10,60,0,200,10,60,0,201,10,60,0,203,10,60,0,204,10,60,0,205,10,60,0,5,11,60,0,6,11,60,0,7,11,60,0,8,11,60,0,9,11,60,0,10,11,60,0,11,11,60,0,96,11,60,0,12,11,60,0,97,11,60,0,15,11,60,0,16,11,60,0,19,11,60,0,20,11,60,0,21,11,60,0,22,11,60,0,23,11,60,0,24,11,60,0,25,11,60,0,26,11,60,0,27,11,60,0,28,11,60,0,29,11,60,0,30,11,60,0,31,11,60,0,32,11,60,0,33,11,60,0,34,11,60,0,35,11,60,0,36,11,60,0,37,11,60,0,38,11,60,0,39,11,60,0,40,11,60,0,42,11,60,0,43,11,60,0,44,11,60,0,45,11,60,0,46,11,60,0,47,11,60,0,95,11,60,0,48,11,60,0,50,11,60,0,51,11,60,0,53,11,60,0,113,11,60,0,54,11,60,0,55,11,60,0,56,11,60,0,57,11,60,0,61,11,60,0,62,11,60,0,63,11,60,0,64,11,60,0,65,11,60,0,66,11,60,0,67,11,60,0,68,11,60,0,98,11,60,0,99,11,60,0,71,11,60,0,72,11,60,0,75,11,60,0,76,11,60,0,77,11,60,0,86,11,60,0,87,11,60,0,208,11,60,0,133,11,60,0,134,11,60,0,135,11,60,0,136,11,60,0,137,11,60,0,138,11,60,0,142,11,60,0,143,11,60,0,144,11,60,0,146,11,60,0,147,11,60,0,148,11,60,0,131,11,60,0,149,11,60,0,153,11,60,0,154,11,60,0,158,11,60,0,159,11,60,0,163,11,60,0,164,11,60,0,168,11,60,0,170,11,60,0,174,11,60,0,175,11,60,0,176,11,60,0,178,11,60,0,181,11,60,0,180,11,60,0,179,11,60,0,177,11,60,0,169,11,60,0,156,11,60,0,182,11,60,0,183,11,60,0,184,11,60,0,185,11,60,0,190,11,60,0,191,11,60,0,192,11,60,0,193,11,60,0,194,11,60,0,198,11,60,0,199,11,60,0,200,11,60,0,202,11,60,0,203,11,60,0,204,11,60,0,205,11,60,0,215,11,60,0,5,12,60,0,6,12,60,0,7,12,60,0,8,12,60,0,9,12,60,0,10,12,60,0,11,12,60,0,96,12,60,0,12,12,60,0,97,12,60,0,14,12,60,0,15,12,60,0,16,12,60,0,18,12,60,0,19,12,60,0,20,12,60,0,21,12,60,0,22,12,60,0,23,12,60,0,24,12,60,0,25,12,60,0,26,12,60,0,88,12,60,0,27,12,60,0,28,12,60,0,89,12,60,0,29,12,60,0,30,12,60,0,31,12,60,0,32,12,60,0,33,12,60,0,34,12,60,0,35,12,60,0,36,12,60,0,37,12,60,0,38,12,60,0,39,12,60,0,40,12,60,0,60,0,60,0,93,12,47,0,77,12,60,0,42,12,60,0,43,12,60,0,44,12,60,0,45,12,60,0,46,12,60,0,47,12,60,0,48,12,60,0,49,12,60,0,50,12,60,0,53,12,60,0,54,12,60,0,55,12,60,0,56,12,60,0,57,12,60,0,51,12,60,0,52,12,60,0,90,12,60,0,61,12,60,0,62,12,60,0,63,12,60,0,64,12,60,0,65,12,60,0,66,12,60,0,67,12,60,0,68,12,60,0,98,12,60,0,99,12,60,0,70,12,60,0,71,12,60,0,72,12,60,0,74,12,60,0,75,12,60,0,76,12,60,0,77,12,60,0,85,12,60,0,86,12,60,0,133,12,60,0,134,12,60,0,135,12,60,0,136,12,60,0,137,12,60,0,138,12,60,0,139,12,60,0,224,12,60,0,140,12,60,0,225,12,60,0,142,12,60,0,143,12,60,0,144,12,60,0,146,12,60,0,147,12,60,0,148,12,60,0,149,12,60,0,150,12,60,0,151,12,60,0,152,12,60,0,153,12,60,0,154,12,60,0,155,12,60,0,156,12,60,0,157,12,60,0,158,12,60,0,159,12,60,0,160,12,60,0,161,12,60,0,162,12,60,0,163,12,60,0,164,12,60,0,165,12,60,0,166,12,60,0,167,12,60,0,168,12,60,0,60,0,60,0,221,12,47,0,205,12,60,0,170,12,60,0,171,12,60,0,172,12,60,0,173,12,60,0,174,12,60,0,175,12,60,0,176,12,60,0,177,12,60,0,178,12,60,0,181,12,60,0,182,12,60,0,183,12,60,0,184,12,60,0,185,12,60,0,179,12,60,0,222,12,60,0,189,12,60,0,241,12,60,0,242,12,60,0,128,12,60,0,190,12,60,0,191,12,60,0,192,12,60,0,193,12,60,0,194,12,60,0,195,12,60,0,196,12,60,0,226,12,60,0,227,12,60,0,198,12,60,0,199,12,60,0,200,12,60,0,202,12,60,0,203,12,61,0,203,12,60,0,204,12,60,0,205,12,60,0,213,12,60,0,214,12,60,0,5,13,60,0,6,13,60,0,7,13,60,0,8,13,60,0,95,13,60,0,9,13,60,0,10,13,60,0,11,13,60,0,96,13,60,0,12,13,60,0,97,13,60,0,14,13,60,0,15,13,60,0,16,13,60,0,18,13,60,0,19,13,60,0,20,13,60,0,21,13,60,0,60,0,60,0,127,13,47,0,77,13,60,0,22,13,60,0,23,13,60,0,24,13,60,0,25,13,60,0,26,13,60,0,27,13,60,0,28,13,60,0,29,13,60,0,30,13,60,0,31,13,60,0,32,13,60,0,33,13,60,0,34,13,60,0,35,13,60,0,60,0,60,0,122,13,47,0,77,13,60,0,36,13,60,0,37,13,60,0,38,13,60,0,39,13,60,0,40,13,60,0,60,0,60,0,123,13,47,0,77,13,60,0,41,13,60,0,42,13,60,0,43,13,60,0,44,13,60,0,45,13,60,0,46,13,60,0,60,0,60,0,84,13,47,0,77,13,60,0,47,13,60,0,60,0,60,0,85,13,47,0,77,13,60,0,48,13,60,0,60,0,60,0,78,13,47,0,77,13,61,0,124,13,47,0,77,13,60,0,50,13,60,0,60,0,60,0,125,13,47,0,77,13,60,0,53,13,60,0,54,13,60,0,55,13,60,0,56,13,60,0,57,13,60,0,51,13,60,0,60,0,60,0,126,13,47,0,77,13,60,0,52,13,60,0,60,0,60,0,86,13,47,0,77,13,60,0,49,13,60,0,58,13,60,0,61,13,60,0,4,13,60,0,62,13,60,0,63,13,60,0,64,13,60,0,65,13,60,0,66,13,60,0,67,13,60,0,68,13,60,0,98,13,60,0,99,13,60,0,70,13,60,0,71,13,60,0,72,13,60,0,74,13,60,0,75,13,60,0,76,13,60,0,87,13,60,0,77,13,60,0,60,0,60,0,59,13,61,0,60,13,60,0,133,13,60,0,134,13,60,0,135,13,60,0,136,13,60,0,137,13,60,0,138,13,60,0,139,13,60,0,140,13,60,0,141,13,60,0,142,13,60,0,143,13,60,0,144,13,60,0,145,13,60,0,146,13,60,0,147,13,60,0,148,13,60,0,149,13,60,0,150,13,60,0,154,13,60,0,155,13,60,0,156,13,60,0,157,13,60,0,158,13,60,0,159,13,60,0,160,13,60,0,161,13,60,0,162,13,60,0,163,13,60,0,164,13,60,0,165,13,60,0,166,13,60,0,167,13,60,0,168,13,60,0,169,13,60,0,170,13,60,0,171,13,60,0,172,13,60,0,173,13,60,0,174,13,60,0,175,13,60,0,176,13,60,0,177,13,60,0,179,13,60,0,180,13,60,0,181,13,60,0,182,13,60,0,183,13,60,0,184,13,60,0,185,13,60,0,186,13,60,0,187,13,60,0,189,13,60,0,192,13,60,0,193,13,60,0,194,13,60,0,195,13,60,0,196,13,60,0,197,13,60,0,198,13,60,0,207,13,60,0,208,13,60,0,209,13,60,0,210,13,60,0,211,13,60,0,212,13,60,0,214,13,60,0,216,13,60,0,242,13,60,0,223,13,60,0,243,13,60,0,217,13,60,0,218,13,60,0,219,13,60,0,220,13,60,0,221,13,61,0,221,13,60,0,222,13,60,0,202,13,60,0,242,170,60,0,192,171,60,0,193,171,60,0,194,171,60,0,195,171,60,0,196,171,60,0,197,171,60,0,198,171,60,0,199,171,60,0,200,171,60,0,201,171,60,0,202,171,60,0,203,171,60,0,204,171,60,0,205,171,60,0,206,171,60,0,207,171,60,0,208,171,60,0,209,171,60,0,210,171,60,0,211,171,60,0,212,171,60,0,213,171,60,0,214,171,60,0,215,171,60,0,216,171,60,0,217,171,60,0,218,171,60,0,224,170,60,0,225,170,60,0,226,170,60,0,227,170,60,0,228,170,60,0,229,170,60,0,230,170,60,0,231,170,60,0,232,170,60,0,233,170,60,0,234,170,60,0,227,171,60,0,228,171,60,0,229,171,60,0,230,171,60,0,231,171,60,0,232,171,60,0,233,171,60,0,234,171,60,0,235,170,60,0,236,170,60,0,237,170,60,0,238,170,60,0,239,170,60,0,245,170,60,0,219,171,60,0,220,171,60,0,221,171,60,0,222,171,60,0,223,171,60,0,224,171,60,0,225,171,60,0,226,171,60,0,237,171,60,0,246,170,60,0,0,168,60,0,1,168,60,0,2,168,60,0,3,168,60,0,4,168,60,0,5,168,60,0,6,168,60,0,44,168,60,0,7,168,60,0,8,168,60,0,9,168,60,0,10,168,60,0,12,168,60,0,13,168,60,0,14,168,60,0,15,168,60,0,16,168,60,0,17,168,60,0,18,168,60,0,19,168,60,0,20,168,60,0,21,168,60,0,22,168,60,0,23,168,60,0,24,168,60,0,25,168,60,0,26,168,60,0,27,168,60,0,28,168,60,0,29,168,60,0,30,168,60,0,31,168,60,0,32,168,60,0,33,168,60,0,34,168,60,0,35,168,60,0,36,168,60,0,37,168,60,0,38,168,60,0,39,168,60,0,130,168,60,0,131,168,60,0,132,168,60,0,133,168,60,0,134,168,60,0,135,168,60,0,136,168,60,0,137,168,60,0,138,168,60,0,139,168,60,0,140,168,60,0,141,168,60,0,142,168,60,0,143,168,60,0,144,168,60,0,145,168,60,0,146,168,60,0,147,168,60,0,148,168,60,0,149,168,60,0,150,168,60,0,151,168,60,0,152,168,60,0,153,168,60,0,154,168,60,0,155,168,60,0,156,168,60,0,157,168,60,0,158,168,60,0,159,168,60,0,160,168,60,0,161,168,60,0,162,168,60,0,163,168,60,0,164,168,60,0,165,168,60,0,166,168,60,0,167,168,60,0,168,168,60,0,169,168,60,0,170,168,60,0,171,168,60,0,172,168,60,0,173,168,60,0,174,168,60,0,175,168,60,0,176,168,60,0,177,168,60,0,178,168,60,0,179,168,60,0,180,168,60,0,181,168,60,0,182,168,60,0,183,168,60,0,184,168,60,0,185,168,60,0,186,168,60,0,187,168,60,0,188,168,60,0,189,168,60,0,190,168,60,0,191,168,60,0,192,168,60,0,193,168,60,0,194,168,60,0,195,168,60,0,196,168,60,0,4,216,131,220,60,0,4,216,132,220,60,0,4,216,133,220,60,0,4,216,134,220,60,0,4,216,135,220,60,0,4,216,136,220,60,0,4,216,137,220,60,0,4,216,138,220,60,0,4,216,139,220,60,0,4,216,140,220,60,0,4,216,141,220,60,0,4,216,142,220,60,0,4,216,143,220,60,0,4,216,144,220,60,0,4,216,145,220,60,0,4,216,146,220,60,0,4,216,147,220,60,0,4,216,148,220,60,0,4,216,149,220,60,0,4,216,150,220,60,0,4,216,151,220,60,0,4,216,152,220,60,0,4,216,153,220,60,0,4,216,155,220,60,0,4,216,157,220,60,0,4,216,158,220,60,0,4,216,159,220,60,0,4,216,160,220,60,0,4,216,161,220,60,0,4,216,162,220,60,0,4,216,163,220,60,0,4,216,164,220,60,0,4,216,165,220,60,0,4,216,166,220,60,0,4,216,167,220,60,0,4,216,168,220,60,0,4,216,169,220,60,0,4,216,170,220,60,0,4,216,172,220,60,0,4,216,173,220,60,0,4,216,174,220,60,0,4,216,175,220,60,0,4,216,176,220,60,0,4,216,177,220,60,0,4,216,178,220,60,0,4,216,179,220,60,0,4,216,180,220,60,0,4,216,194,220,60,0,4,216,181,220,60,0,4,216,182,220,60,0,4,216,183,220,60,0,4,216,184,220,60,0,4,216,185,220,60,0,4,216,80,221,60,0,4,216,81,221,60,0,4,216,82,221,60,0,4,216,83,221,60,0,4,216,84,221,60,0,4,216,85,221,60,0,4,216,86,221,60,0,4,216,87,221,60,0,4,216,88,221,60,0,4,216,89,221,60,0,4,216,90,221,60,0,4,216,91,221,60,0,4,216,92,221,60,0,4,216,93,221,60,0,4,216,94,221,60,0,4,216,95,221,60,0,4,216,96,221,60,0,4,216,97,221,60,0,4,216,98,221,60,0,4,216,99,221,60,0,4,216,100,221,60,0,4,216,101,221,60,0,4,216,102,221,60,0,4,216,103,221,60,0,4,216,104,221,60,0,4,216,105,221,60,0,4,216,106,221,60,0,4,216,107,221,60,0,4,216,108,221,60,0,4,216,109,221,60,0,4,216,110,221,60,0,4,216,111,221,60,0,4,216,118,221,60,0,4,216,112,221,60,0,4,216,113,221,60,0,4,216,114,221,60,0,4,216,196,221,60,0,4,216,218,221,60,0,4,216,131,221,60,0,4,216,132,221,60,0,4,216,133,221,60,0,4,216,134,221,60,0,4,216,135,221,60,0,4,216,136,221,60,0,4,216,137,221,60,0,4,216,138,221,60,0,4,216,139,221,60,0,4,216,140,221,60,0,4,216,141,221,60,0,4,216,142,221,60,0,4,216,143,221,60,0,4,216,144,221,60,0,4,216,145,221,60,0,4,216,146,221,60,0,4,216,147,221,60,0,4,216,148,221,60,0,4,216,149,221,60,0,4,216,150,221,60,0,4,216,151,221,60,0,4,216,152,221,60,0,4,216,153,221,60,0,4,216,154,221,60,0,4,216,155,221,60,0,4,216,156,221,60,0,4,216,157,221,60,0,4,216,158,221,60,0,4,216,159,221,60,0,4,216,160,221,60,0,4,216,161,221,60,0,4,216,162,221,60,0,4,216,163,221,60,0,4,216,164,221,60,0,4,216,165,221,60,0,4,216,166,221,60,0,4,216,167,221,60,0,4,216,168,221,60,0,4,216,169,221,60,0,4,216,170,221,60,0,4,216,171,221,60,0,4,216,172,221,60,0,4,216,173,221,60,0,4,216,174,221,60,0,4,216,175,221,60,0,4,216,176,221,60,0,4,216,177,221,60,0,4,216,178,221,60,0,4,216,193,221,60,0,4,216,194,221,60,0,4,216,195,221,60,0,4,216,220,221,60,0,4,216,179,221,60,0,4,216,180,221,60,0,4,216,181,221,60,0,4,216,182,221,60,0,4,216,183,221,60,0,4,216,184,221,60,0,4,216,185,221,60,0,4,216,186,221,60,0,4,216,187,221,60,0,4,216,188,221,60,0,4,216,206,221,60,0,4,216,189,221,60,0,4,216,190,221,60,0,4,216,191,221,60,0,4,216,192,221,60,0,4,216,0,222,60,0,4,216,1,222,60,0,4,216,64,222,60,0,4,216,2,222,60,0,4,216,3,222,60,0,4,216,4,222,60,0,4,216,5,222,60,0,4,216,6,222,60,0,4,216,7,222,60,0,4,216,8,222,60,0,4,216,63,222,60,0,4,216,9,222,60,0,4,216,10,222,60,0,4,216,11,222,60,0,4,216,12,222,60,0,4,216,13,222,60,0,4,216,14,222,60,0,4,216,15,222,60,0,4,216,16,222,60,0,4,216,17,222,60,0,4,216,19,222,60,0,4,216,20,222,60,0,4,216,21,222,60,0,4,216,22,222,60,0,4,216,23,222,60,0,4,216,24,222,60,0,4,216,25,222,60,0,4,216,26,222,60,0,4,216,27,222,60,0,4,216,28,222,60,0,4,216,29,222,60,0,4,216,30,222,60,0,4,216,31,222,60,0,4,216,32,222,60,0,4,216,33,222,60,0,4,216,34,222,60,0,4,216,35,222,60,0,4,216,36,222,60,0,4,216,37,222,60,0,4,216,38,222,60,0,4,216,39,222,60,0,4,216,40,222,60,0,4,216,41,222,60,0,4,216,42,222,60,0,4,216,43,222,60,0,4,216,44,222,60,0,4,216,45,222,60,0,4,216,46,222,60,0,4,216,47,222,60,0,4,216,65,222,60,0,4,216,48,222,60,0,4,216,49,222,60,0,4,216,50,222,60,0,4,216,51,222,60,0,4,216,53,222,60,0,4,216,176,222,60,0,4,216,177,222,60,0,4,216,178,222,60,0,4,216,179,222,60,0,4,216,180,222,60,0,4,216,181,222,60,0,4,216,182,222,60,0,4,216,183,222,60,0,4,216,184,222,60,0,4,216,185,222,60,0,4,216,186,222,60,0,4,216,187,222,60,0,4,216,188,222,60,0,4,216,189,222,60,0,4,216,190,222,60,0,4,216,191,222,60,0,4,216,192,222,60,0,4,216,193,222,60,0,4,216,194,222,60,0,4,216,195,222,60,0,4,216,196,222,60,0,4,216,197,222,60,0,4,216,198,222,60,0,4,216,199,222,60,0,4,216,200,222,60,0,4,216,201,222,60,0,4,216,202,222,60,0,4,216,203,222,60,0,4,216,204,222,60,0,4,216,205,222,60,0,4,216,206,222,60,0,4,216,207,222,60,0,4,216,208,222,60,0,4,216,209,222,60,0,4,216,210,222,60,0,4,216,211,222,60,0,4,216,212,222,60,0,4,216,213,222,60,0,4,216,214,222,60,0,4,216,215,222,60,0,4,216,216,222,60,0,4,216,217,222,60,0,4,216,218,222,60,0,4,216,219,222,60,0,4,216,220,222,60,0,4,216,221,222,60,0,4,216,222,222,60,0,4,216,224,222,60,0,4,216,225,222,60,0,4,216,226,222,60,0,4,216,227,222,60,0,4,216,228,222,60,0,4,216,229,222,60,0,4,216,230,222,60,0,4,216,231,222,60,0,4,216,232,222,60,0,4,216,234,222,60,0,4,216,128,222,60,0,4,216,129,222,60,0,4,216,130,222,60,0,4,216,131,222,60,0,4,216,165,222,60,0,4,216,166,222,60,0,4,216,132,222,60,0,4,216,133,222,60,0,4,216,134,222,60,0,4,216,136,222,60,0,4,216,138,222,60,0,4,216,139,222,60,0,4,216,140,222,60,0,4,216,141,222,60,0,4,216,143,222,60,0,4,216,144,222,60,0,4,216,145,222,60,0,4,216,146,222,60,0,4,216,147,222,60,0,4,216,148,222,60,0,4,216,149,222,60,0,4,216,150,222,60,0,4,216,151,222,60,0,4,216,152,222,60,0,4,216,153,222,60,0,4,216,154,222,60,0,4,216,155,222,60,0,4,216,156,222,60,0,4,216,157,222,60,0,4,216,159,222,60,0,4,216,160,222,60,0,4,216,161,222,60,0,4,216,162,222,60,0,4,216,163,222,60,0,4,216,164,222,60,0,4,216,167,222,60,0,4,216,168,222,60,0,4,216,80,223,60,0,4,216,5,223,60,0,4,216,6,223,60,0,4,216,7,223,60,0,4,216,8,223,60,0,4,216,9,223,60,0,4,216,10,223,60,0,4,216,11,223,60,0,4,216,96,223,60,0,4,216,12,223,60,0,4,216,97,223,60,0,4,216,15,223,60,0,4,216,16,223,60,0,4,216,19,223,60,0,4,216,20,223,60,0,4,216,21,223,60,0,4,216,22,223,60,0,4,216,23,223,60,0,4,216,24,223,60,0,4,216,25,223,60,0,4,216,26,223,60,0,4,216,27,223,60,0,4,216,28,223,60,0,4,216,29,223,60,0,4,216,30,223,60,0,4,216,31,223,60,0,4,216,32,223,60,0,4,216,33,223,60,0,4,216,34,223,60,0,4,216,35,223,60,0,4,216,36,223,60,0,4,216,37,223,60,0,4,216,38,223,60,0,4,216,39,223,60,0,4,216,40,223,60,0,4,216,42,223,60,0,4,216,43,223,60,0,4,216,44,223,60,0,4,216,45,223,60,0,4,216,46,223,60,0,4,216,47,223,60,0,4,216,48,223,60,0,4,216,50,223,60,0,4,216,51,223,60,0,4,216,53,223,60,0,4,216,54,223,60,0,4,216,55,223,60,0,4,216,56,223,60,0,4,216,57,223,60,0,4,216,61,223,60,0,4,216,94,223,60,0,4,216,95,223,60,0,4,216,62,223,60,0,4,216,63,223,60,0,4,216,64,223,60,0,4,216,65,223,60,0,4,216,66,223,60,0,4,216,67,223,60,0,4,216,68,223,60,0,4,216,98,223,60,0,4,216,99,223,60,0,4,216,71,223,60,0,4,216,72,223,60,0,4,216,75,223,60,0,4,216,76,223,60,0,4,216,77,223,60,0,4,216,87,223,60,0,4,216,93,223,60,0,5,216,73,220,60,0,5,216,74,220,60,0,5,216,0,220,60,0,5,216,1,220,60,0,5,216,2,220,60,0,5,216,3,220,60,0,5,216,4,220,60,0,5,216,5,220,60,0,5,216,6,220,60,0,5,216,7,220,60,0,5,216,8,220,60,0,5,216,9,220,60,0,5,216,10,220,60,0,5,216,11,220,60,0,5,216,12,220,60,0,5,216,13,220,60,0,5,216,14,220,60,0,5,216,15,220,60,0,5,216,16,220,60,0,5,216,17,220,60,0,5,216,18,220,60,0,5,216,19,220,60,0,5,216,20,220,60,0,5,216,21,220,60,0,5,216,22,220,60,0,5,216,23,220,60,0,5,216,24,220,60,0,5,216,25,220,60,0,5,216,26,220,60,0,5,216,27,220,60,0,5,216,28,220,60,0,5,216,29,220,60,0,5,216,30,220,60,0,5,216,31,220,60,0,5,216,32,220,60,0,5,216,33,220,60,0,5,216,34,220,60,0,5,216,35,220,60,0,5,216,36,220,60,0,5,216,37,220,60,0,5,216,38,220,60,0,5,216,39,220,60,0,5,216,40,220,60,0,5,216,41,220,60,0,5,216,42,220,60,0,5,216,43,220,60,0,5,216,44,220,60,0,5,216,45,220,60,0,5,216,46,220,60,0,5,216,47,220,60,0,5,216,48,220,60,0,5,216,49,220,60,0,5,216,50,220,60,0,5,216,51,220,60,0,5,216,52,220,60,0,5,216,71,220,60,0,5,216,96,220,60,0,5,216,97,220,60,0,5,216,72,220,60,0,5,216,95,220,60,0,5,216,53,220,60,0,5,216,54,220,60,0,5,216,55,220,60,0,5,216,56,220,60,0,5,216,57,220,60,0,5,216,58,220,60,0,5,216,59,220,60,0,5,216,60,220,60,0,5,216,61,220,60,0,5,216,62,220,60,0,5,216,63,220,60,0,5,216,64,220,60,0,5,216,65,220,60,0,5,216,66,220,60,0,5,216,199,220,60,0,5,216,128,220,60,0,5,216,129,220,60,0,5,216,130,220,60,0,5,216,131,220,60,0,5,216,132,220,60,0,5,216,133,220,60,0,5,216,134,220,60,0,5,216,135,220,60,0,5,216,136,220,60,0,5,216,137,220,60,0,5,216,138,220,60,0,5,216,139,220,60,0,5,216,140,220,60,0,5,216,141,220,60,0,5,216,142,220,60,0,5,216,143,220,60,0,5,216,144,220,60,0,5,216,145,220,60,0,5,216,146,220,60,0,5,216,147,220,60,0,5,216,148,220,60,0,5,216,149,220,60,0,5,216,150,220,60,0,5,216,151,220,60,0,5,216,152,220,60,0,5,216,153,220,60,0,5,216,154,220,60,0,5,216,155,220,60,0,5,216,156,220,60,0,5,216,157,220,60,0,5,216,158,220,60,0,5,216,159,220,60,0,5,216,160,220,60,0,5,216,161,220,60,0,5,216,162,220,60,0,5,216,163,220,60,0,5,216,164,220,60,0,5,216,165,220,60,0,5,216,166,220,60,0,5,216,167,220,60,0,5,216,168,220,60,0,5,216,169,220,60,0,5,216,170,220,60,0,5,216,171,220,60,0,5,216,172,220,60,0,5,216,173,220,60,0,5,216,174,220,60,0,5,216,175,220,60,0,5,216,196,220,60,0,5,216,197,220,60,0,5,216,176,220,60,0,5,216,177,220,60,0,5,216,178,220,60,0,5,216,179,220,60,0,5,216,180,220,60,0,5,216,181,220,60,0,5,216,182,220,60,0,5,216,183,220,60,0,5,216,184,220,60,0,5,216,185,220,60,0,5,216,186,220,60,0,5,216,187,220,60,0,5,216,188,220,60,0,5,216,189,220,60,0,5,216,190,220,60,0,5,216,194,220,60,0,5,216,128,221,60,0,5,216,129,221,60,0,5,216,130,221,60,0,60,0,5,216,216,221,60,0,60,0,5,216,217,221,60,0,5,216,131,221,60,0,60,0,5,216,218,221,60,0,5,216,132,221,60,0,60,0,5,216,219,221,60,0,5,216,133,221,60,0,5,216,134,221,60,0,5,216,135,221,60,0,5,216,136,221,60,0,5,216,137,221,60,0,5,216,138,221,60,0,5,216,139,221,60,0,5,216,140,221,60,0,5,216,141,221,60,0,5,216,142,221,60,0,5,216,143,221,60,0,5,216,144,221,60,0,5,216,145,221,60,0,5,216,146,221,60,0,5,216,147,221,60,0,5,216,148,221,60,0,5,216,149,221,60,0,5,216,150,221,60,0,5,216,151,221,60,0,5,216,152,221,60,0,5,216,153,221,60,0,5,216,154,221,60,0,5,216,155,221,60,0,5,216,156,221,60,0,5,216,157,221,60,0,5,216,158,221,60,0,5,216,159,221,60,0,5,216,160,221,60,0,5,216,161,221,60,0,5,216,162,221,60,0,5,216,163,221,60,0,5,216,164,221,60,0,5,216,165,221,60,0,5,216,166,221,60,0,5,216,167,221,60,0,5,216,168,221,60,0,5,216,169,221,60,0,5,216,170,221,60,0,5,216,171,221,60,0,5,216,172,221,60,0,5,216,173,221,60,0,5,216,174,221,60,0,5,216,175,221,60,0,5,216,176,221,60,0,5,216,177,221,60,0,5,216,178,221,60,0,60,0,5,216,220,221,60,0,5,216,179,221,60,0,60,0,5,216,221,221,60,0,5,216,180,221,60,0,5,216,181,221,60,0,5,216,184,221,60,0,5,216,185,221,60,0,5,216,186,221,60,0,5,216,187,221,60,0,5,216,191,221,60,0,5,216,0,222,60,0,5,216,1,222,60,0,5,216,2,222,60,0,5,216,3,222,60,0,5,216,4,222,60,0,5,216,5,222,60,0,5,216,6,222,60,0,5,216,7,222,60,0,5,216,8,222,60,0,5,216,9,222,60,0,5,216,10,222,60,0,5,216,11,222,60,0,5,216,12,222,60,0,5,216,13,222,60,0,5,216,14,222,60,0,5,216,15,222,60,0,5,216,16,222,60,0,5,216,17,222,60,0,5,216,18,222,60,0,5,216,19,222,60,0,5,216,20,222,60,0,5,216,21,222,60,0,5,216,22,222,60,0,5,216,23,222,60,0,5,216,24,222,60,0,5,216,25,222,60,0,5,216,26,222,60,0,5,216,27,222,60,0,5,216,28,222,60,0,5,216,29,222,60,0,5,216,30,222,60,0,5,216,31,222,60,0,5,216,32,222,60,0,5,216,33,222,60,0,5,216,34,222,60,0,5,216,35,222,60,0,5,216,36,222,60,0,5,216,37,222,60,0,5,216,38,222,60,0,5,216,39,222,60,0,5,216,40,222,60,0,5,216,41,222,60,0,5,216,42,222,60,0,5,216,43,222,60,0,5,216,44,222,60,0,5,216,45,222,60,0,5,216,46,222,60,0,5,216,47,222,60,0,5,216,48,222,60,0,5,216,49,222,60,0,5,216,50,222,60,0,5,216,51,222,60,0,5,216,52,222,60,0,5,216,53,222,60,0,5,216,54,222,60,0,5,216,55,222,60,0,5,216,56,222,60,0,5,216,57,222,60,0,5,216,58,222,60,0,5,216,59,222,60,0,5,216,60,222,60,0,5,216,63,222,60,0,5,216,68,222,60,0,5,216,128,222,60,0,5,216,129,222,60,0,5,216,130,222,60,0,5,216,131,222,60,0,5,216,132,222,60,0,5,216,133,222,60,0,5,216,134,222,60,0,5,216,135,222,60,0,5,216,136,222,60,0,5,216,137,222,60,0,5,216,168,222,60,0,5,216,167,222,60,0,5,216,169,222,60,0,5,216,138,222,60,0,5,216,139,222,60,0,5,216,184,222,60,0,5,216,140,222,60,0,5,216,141,222,60,0,5,216,142,222,60,0,5,216,143,222,60,0,5,216,144,222,60,0,5,216,145,222,60,0,5,216,146,222,60,0,5,216,147,222,60,0,5,216,148,222,60,0,5,216,149,222,60,0,5,216,150,222,60,0,5,216,151,222,60,0,5,216,152,222,60,0,5,216,153,222,60,0,5,216,154,222,60,0,5,216,155,222,60,0,5,216,156,222,60,0,5,216,157,222,60,0,5,216,158,222,60,0,5,216,159,222,60,0,5,216,160,222,60,0,5,216,161,222,60,0,5,216,162,222,60,0,5,216,163,222,60,0,5,216,164,222,60,0,5,216,165,222,60,0,5,216,166,222,60,0,5,216,170,222,60,0,5,216,173,222,60,0,5,216,174,222,60,0,5,216,175,222,60,0,5,216,176,222,60,0,5,216,177,222,60,0,5,216,178,222,60,0,5,216,179,222,60,0,5,216,180,222,60,0,5,216,181,222,60,0,5,216,182,222,60,0,6,216,0,221,60,0,6,216,1,221,60,0,6,216,2,221,60,0,6,216,3,221,60,0,6,216,4,221,60,0,6,216,5,221,60,0,6,216,6,221,60,0,6,216,9,221,60,0,6,216,12,221,60,0,6,216,13,221,60,0,6,216,14,221,60,0,6,216,15,221,60,0,6,216,16,221,60,0,6,216,63,221,60,0,6,216,17,221,60,0,6,216,18,221,60,0,6,216,19,221,60,0,6,216,21,221,60,0,6,216,22,221,60,0,6,216,24,221,60,0,6,216,25,221,60,0,6,216,26,221,60,0,6,216,27,221,60,0,6,216,28,221,60,0,6,216,29,221,60,0,6,216,30,221,60,0,6,216,31,221,60,0,6,216,32,221,60,0,6,216,33,221,60,0,6,216,34,221,60,0,6,216,35,221,60,0,6,216,36,221,60,0,6,216,37,221,60,0,6,216,64,221,60,0,6,216,38,221,60,0,6,216,65,221,60,0,6,216,39,221,60,0,6,216,66,221,60,0,6,216,40,221,60,0,6,216,41,221,60,0,6,216,42,221,60,0,6,216,43,221,60,0,6,216,44,221,60,0,6,216,45,221,60,0,6,216,46,221,60,0,6,216,47,221,60,0,6,216,48,221,60,0,6,216,49,221,60,0,6,216,50,221,60,0,6,216,51,221,60,0,6,216,52,221,60,0,6,216,53,221,60,0,6,216,55,221,60,0,6,216,56,221,60,0,6,216,61,221,60,0,6,216,62,221,60,0,6,216,160,221,60,0,6,216,161,221,60,0,6,216,162,221,60,0,6,216,163,221,60,0,6,216,164,221,60,0,6,216,165,221,60,0,6,216,166,221,60,0,6,216,167,221,60,0,6,216,170,221,60,0,6,216,171,221,60,0,6,216,172,221,60,0,6,216,173,221,60,0,6,216,174,221,60,0,6,216,175,221,60,0,6,216,176,221,60,0,6,216,177,221,60,0,6,216,178,221,60,0,6,216,179,221,60,0,6,216,180,221,60,0,6,216,181,221,60,0,6,216,182,221,60,0,6,216,183,221,60,0,6,216,184,221,60,0,6,216,185,221,60,0,6,216,186,221,60,0,6,216,187,221,60,0,6,216,188,221,60,0,6,216,189,221,60,0,6,216,190,221,60,0,6,216,191,221,60,0,6,216,192,221,60,0,6,216,193,221,60,0,6,216,194,221,60,0,6,216,195,221,60,0,6,216,196,221,60,0,6,216,197,221,60,0,6,216,198,221,60,0,6,216,199,221,60,0,6,216,200,221,60,0,6,216,201,221,60,0,6,216,202,221,60,0,6,216,203,221,60,0,6,216,204,221,60,0,6,216,205,221,60,0,6,216,206,221,60,0,6,216,207,221,60,0,6,216,208,221,60,0,6,216,225,221,60,0,6,216,227,221,60,0,6,216,209,221,60,0,6,216,210,221,60,0,6,216,211,221,60,0,6,216,212,221,60,0,6,216,213,221,60,0,6,216,214,221,60,0,6,216,215,221,60,0,6,216,218,221,60,0,6,216,228,221,60,0,6,216,219,221,60,0,6,216,220,221,60,0,6,216,221,221,60,0,6,216,224,221,60,0,6,216,0,220,60,0,6,216,1,220,60,0,6,216,2,220,60,0,6,216,3,220,60,0,6,216,4,220,60,0,6,216,5,220,60,0,6,216,6,220,60,0,6,216,7,220,60,0,6,216,8,220,60,0,6,216,9,220,60,0,6,216,10,220,60,0,6,216,11,220,60,0,6,216,12,220,60,0,6,216,13,220,60,0,6,216,14,220,60,0,6,216,15,220,60,0,6,216,16,220,60,0,6,216,17,220,60,0,6,216,18,220,60,0,6,216,19,220,60,0,6,216,20,220,60,0,6,216,21,220,60,0,6,216,22,220,60,0,6,216,23,220,60,0,6,216,24,220,60,0,6,216,25,220,60,0,6,216,26,220,60,0,6,216,27,220,60,0,6,216,28,220,60,0,6,216,29,220,60,0,6,216,30,220,60,0,6,216,31,220,60,0,6,216,32,220,60,0,6,216,33,220,60,0,6,216,34,220,60,0,6,216,35,220,60,0,6,216,36,220,60,0,6,216,37,220,60,0,6,216,38,220,60,0,6,216,39,220,60,0,6,216,40,220,60,0,6,216,41,220,60,0,6,216,42,220,60,0,6,216,43,220,60,0,6,216,44,220,60,0,6,216,45,220,60,0,6,216,46,220,60,0,6,216,47,220,60,0,6,216,48,220,60,0,6,216,49,220,60,0,6,216,50,220,60,0,6,216,51,220,60,0,6,216,52,220,60,0,6,216,53,220,60,0,6,216,54,220,60,0,6,216,57,220,60,0,5,216,0,223,60,0,5,216,1,223,60,0,5,216,2,223,60,0,5,216,3,223,60,0,5,216,4,223,60,0,60,0,5,216,5,223,60,0,5,216,6,223,60,0,5,216,7,223,60,0,5,216,8,223,60,0,60,0,5,216,26,223,60,0,5,216,9,223,60,0,5,216,10,223,60,0,5,216,11,223,60,0,5,216,12,223,60,0,5,216,13,223,60,0,5,216,14,223,60,0,5,216,15,223,60,0,5,216,16,223,60,0,5,216,17,223,60,0,5,216,18,223,60,0,5,216,19,223,60,0,5,216,20,223,60,0,5,216,21,223,60,0,60,0,5,216,22,223,60,0,5,216,23,223,60,0,5,216,24,223,60,0,5,216,25,223,60,0,5,216,64,223,60,0,5,216,65,223,60,0,5,216,66,223,60,0,5,216,67,223,60,0,5,216,68,223,60,0,5,216,69,223,60,0,5,216,70,223,60,0,5,216,32,223,60,0,5,216,33,223,60,0,5,216,34,223,60,0,5,216,35,223,60,0,5,216,36,223,60,0,5,216,37,223,60,0,5,216,38,223,60,0,5,216,39,223,60,0,5,216,40,223,60,0,5,216,41,223,60,0,5,216,42,223,60,0,5,216,43,223,60,0,5,216,29,223,60,0,5,216,30,223,60,0,5,216,31,223,60,0,7,216,0,221,60,0,7,216,1,221,60,0,7,216,2,221,60,0,7,216,3,221,60,0,7,216,4,221,60,0,7,216,5,221,60,0,7,216,6,221,60,0,7,216,8,221,60,0,7,216,9,221,60,0,7,216,11,221,60,0,7,216,12,221,60,0,7,216,13,221,60,0,7,216,14,221,60,0,7,216,15,221,60,0,7,216,16,221,60,0,7,216,17,221,60,0,7,216,18,221,60,0,7,216,19,221,60,0,7,216,20,221,60,0,7,216,21,221,60,0,7,216,22,221,60,0,7,216,23,221,60,0,7,216,24,221,60,0,7,216,25,221,60,0,7,216,26,221,60,0,7,216,27,221,60,0,7,216,28,221,60,0,7,216,29,221,60,0,7,216,30,221,60,0,7,216,31,221,60,0,7,216,32,221,60,0,7,216,33,221,60,0,7,216,34,221,60,0,7,216,35,221,60,0,7,216,36,221,60,0,7,216,37,221,60,0,7,216,38,221,60,0,60,0,60,0,7,216,70,221,60,0,60,0,60,0,7,216,71,221,60,0,7,216,39,221,60,0,7,216,40,221,60,0,7,216,41,221,60,0,7,216,42,221,60,0,7,216,43,221,60,0,7,216,44,221,60,0,7,216,45,221,60,0,7,216,46,221,60,0,7,216,47,221,60,0,7,216,48,221,60,0,7,216,49,221,60,0,7,216,50,221,60,0,7,216,51,221,60,0,7,216,52,221,60,0,7,216,53,221,60,0,7,216,54,221,60,0,7,216,58,221,60,0,7,216,60,221,60,0,7,216,61,221,60,0,7,216,63,221,60,0,7,216,68,221,60,0,7,216,69,221,60,0,7,216,152,221,60,0,7,216,96,221,60,0,7,216,97,221,60,0,7,216,98,221,60,0,7,216,99,221,60,0,7,216,100,221,60,0,7,216,101,221,60,0,7,216,103,221,60,0,7,216,104,221,60,0,7,216,106,221,60,0,7,216,107,221,60,0,7,216,108,221,60,0,7,216,109,221,60,0,7,216,110,221,60,0,7,216,111,221,60,0,7,216,112,221,60,0,7,216,113,221,60,0,7,216,114,221,60,0,7,216,115,221,60,0,7,216,116,221,60,0,7,216,117,221,60,0,7,216,118,221,60,0,7,216,119,221,60,0,7,216,120,221,60,0,7,216,121,221,60,0,7,216,122,221,60,0,7,216,123,221,60,0,7,216,124,221,60,0,7,216,125,221,60,0,7,216,126,221,60,0,7,216,127,221,60,0,7,216,128,221,60,0,7,216,129,221,60,0,7,216,130,221,60,0,7,216,131,221,60,0,7,216,132,221,60,0,7,216,133,221,60,0,7,216,134,221,60,0,7,216,135,221,60,0,7,216,136,221,60,0,7,216,137,221,60,0,7,216,138,221,60,0,7,216,139,221,60,0,7,216,140,221,60,0,7,216,141,221,60,0,7,216,142,221,60,0,7,216,144,221,60,0,7,216,145,221,60,0,7,216,147,221,60,0,7,216,148,221,60,0,7,216,151,221,60,0,131,27,60,0,60,0,60,0,186,27,60,0,132,27,60,0,133,27,60,0,134,27,60,0,135,27,60,0,136,27,60,0,137,27,60,0,138,27,60,0,60,0,60,0,190,27,60,0,174,27,60,0,139,27,60,0,140,27,60,0,141,27,60,0,142,27,60,0,143,27,60,0,144,27,60,0,145,27,60,0,146,27,60,0,147,27,60,0,148,27,60,0,149,27,60,0,150,27,60,0,151,27,60,0,152,27,60,0,189,27,60,0,153,27,60,0,60,0,60,0,191,27,60,0,172,27,60,0,154,27,60,0,161,27,60,0,155,27,60,0,162,27,60,0,187,27,60,0,156,27,60,0,163,27,60,0,188,27,60,0,157,27,60,0,173,27,60,0,158,27,60,0,159,27,60,0,175,27,60,0,160,27,60,0,164,27,60,0,165,27,60,0,166,27,60,0,167,27,60,0,168,27,60,0,169,27,60,0,170,27,60,0,171,27,60,0,4,216,5,220,60,0,4,216,6,220,60,0,4,216,7,220,60,0,4,216,8,220,60,0,4,216,9,220,60,0,4,216,10,220,60,0,4,216,11,220,60,0,4,216,12,220,60,0,4,216,13,220,60,0,4,216,14,220,60,0,4,216,113,220,60,0,4,216,15,220,60,0,4,216,16,220,60,0,4,216,114,220,60,0,4,216,17,220,60,0,4,216,18,220,60,0,4,216,19,220,60,0,4,216,20,220,60,0,4,216,21,220,60,0,4,216,22,220,60,0,4,216,23,220,60,0,4,216,24,220,60,0,4,216,25,220,60,0,4,216,26,220,60,0,4,216,27,220,60,0,4,216,28,220,60,0,4,216,29,220,60,0,4,216,30,220,60,0,4,216,31,220,60,0,4,216,32,220,60,0,4,216,33,220,60,0,4,216,34,220,60,0,4,216,35,220,60,0,4,216,36,220,60,0,4,216,37,220,60,0,4,216,38,220,60,0,4,216,39,220,60,0,4,216,40,220,60,0,4,216,41,220,60,0,4,216,42,220,60,0,4,216,43,220,60,0,4,216,44,220,60,0,4,216,45,220,60,0,4,216,46,220,60,0,4,216,47,220,60,0,4,216,48,220,60,0,4,216,49,220,60,0,4,216,50,220,60,0,4,216,51,220,60,0,4,216,3,220,60,0,4,216,4,220,60,0,4,216,52,220,60,0,4,216,53,220,60,0,4,216,117,220,60,0,4,216,54,220,60,0,4,216,55,220,60,0,4,216,56,220,60,0,4,216,57,220,60,0,4,216,58,220,60,0,4,216,59,220,60,0,4,216,60,220,60,0,4,216,61,220,60,0,4,216,62,220,60,0,4,216,63,220,60,0,4,216,64,220,60,0,4,216,65,220,60,0,4,216,115,220,60,0,4,216,66,220,60,0,4,216,67,220,60,0,4,216,116,220,60,0,4,216,68,220,60,0,4,216,69,220,60,0,4,216,70,220,60,0,4,216,127,220,60,0,4,216,112,220,60,0,14,32,2,216,0,222,14,32,60,0,2,216,1,222,60,0,2,216,2,222,60,0,2,216,3,222,60,0,2,216,5,222,60,0,2,216,6,222,60,0,2,216,12,222,60,0,14,32,2,216,16,222,14,32,60,0,14,32,2,216,50,222,14,32,60,0,14,32,2,216,17,222,14,32,60,0,14,32,2,216,18,222,14,32,60,0,14,32,2,216,19,222,14,32,60,0,14,32,2,216,21,222,14,32,60,0,14,32,2,216,22,222,14,32,60,0,14,32,2,216,23,222,14,32,60,0,14,32,2,216,25,222,14,32,60,0,14,32,2,216,26,222,14,32,60,0,14,32,2,216,52,222,14,32,60,0,14,32,2,216,27,222,14,32,60,0,14,32,2,216,51,222,14,32,60,0,14,32,2,216,28,222,14,32,60,0,14,32,2,216,29,222,14,32,60,0,14,32,2,216,30,222,14,32,60,0,14,32,2,216,31,222,14,32,60,0,14,32,2,216,32,222,14,32,60,0,14,32,2,216,33,222,14,32,60,0,14,32,2,216,34,222,14,32,60,0,14,32,2,216,35,222,14,32,60,0,14,32,2,216,36,222,14,32,60,0,14,32,2,216,37,222,14,32,60,0,14,32,2,216,38,222,14,32,60,0,14,32,2,216,39,222,14,32,60,0,14,32,2,216,40,222,14,32,60,0,14,32,2,216,41,222,14,32,60,0,14,32,2,216,42,222,14,32,60,0,14,32,2,216,43,222,14,32,60,0,14,32,2,216,44,222,14,32,60,0,14,32,2,216,53,222,14,32,60,0,14,32,2,216,45,222,14,32,60,0,14,32,2,216,46,222,14,32,60,0,14,32,2,216,47,222,14,32,60,0,14,32,2,216,48,222,14,32,60,0,14,32,2,216,49,222,14,32,60,0,2,216,63,222,60,0,7,216,0,220,60,0,7,216,1,220,60,0,7,216,2,220,60,0,7,216,3,220,60,0,7,216,4,220,60,0,7,216,5,220,60,0,7,216,6,220,60,0,7,216,7,220,60,0,7,216,8,220,60,0,7,216,10,220,60,0,7,216,11,220,60,0,7,216,12,220,60,0,7,216,13,220,60,0,7,216,14,220,60,0,7,216,15,220,60,0,7,216,16,220,60,0,7,216,17,220,60,0,7,216,18,220,60,0,7,216,19,220,60,0,7,216,20,220,60,0,7,216,21,220,60,0,7,216,22,220,60,0,7,216,23,220,60,0,7,216,24,220,60,0,7,216,25,220,60,0,7,216,26,220,60,0,7,216,27,220,60,0,7,216,28,220,60,0,7,216,29,220,60,0,7,216,30,220,60,0,7,216,31,220,60,0,7,216,32,220,60,0,7,216,33,220,60,0,7,216,34,220,60,0,7,216,35,220,60,0,7,216,36,220,60,0,7,216,37,220,60,0,7,216,38,220,60,0,7,216,39,220,60,0,7,216,40,220,60,0,7,216,41,220,60,0,7,216,42,220,60,0,7,216,43,220,60,0,7,216,44,220,60,0,7,216,45,220,60,0,7,216,46,220,60,0,7,216,64,220,60,0,7,216,47,220,60,0,7,216,48,220,60,0,7,216,49,220,60,0,7,216,50,220,60,0,7,216,51,220,60,0,7,216,52,220,60,0,7,216,53,220,60,0,7,216,54,220,60,0,7,216,56,220,60,0,7,216,57,220,60,0,7,216,58,220,60,0,7,216,59,220,60,0,7,216,63,220,60,0,1,14,60,0,2,14,60,0,3,14,60,0,4,14,60,0,5,14,60,0,6,14,60,0,7,14,60,0,8,14,60,0,9,14,60,0,10,14,60,0,11,14,60,0,12,14,60,0,13,14,60,0,14,14,60,0,15,14,60,0,16,14,60,0,17,14,60,0,18,14,60,0,19,14,60,0,20,14,60,0,21,14,60,0,22,14,60,0,23,14,60,0,24,14,60,0,25,14,60,0,26,14,60,0,27,14,60,0,28,14,60,0,29,14,60,0,30,14,60,0,31,14,60,0,32,14,60,0,33,14,60,0,34,14,60,0,35,14,60,0,36,14,60,0,37,14,60,0,38,14,60,0,39,14,60,0,40,14,60,0,41,14,60,0,42,14,60,0,43,14,60,0,44,14,60,0,45,14,60,0,46,14,60,0,47,14,60,0,48,14,60,0,49,14,60,0,50,14,60,0,51,14,61,0,77,14,50,14,60,0,52,14,60,0,53,14,60,0,54,14,60,0,55,14,60,0,56,14,60,0,57,14,60,0,58,14,60,0,64,14,60,0,65,14,60,0,66,14,60,0,67,14,60,0,68,14,60,0,69,14,60,0,222,14,60,0,129,14,60,0,130,14,60,0,132,14,60,0,134,14,60,0,135,14,60,0,136,14,60,0,137,14,60,0,170,14,60,0,138,14,60,0,140,14,60,0,142,14,60,0,223,14,60,0,141,14,60,0,143,14,60,0,144,14,60,0,145,14,60,0,146,14,60,0,147,14,60,0,148,14,60,0,149,14,60,0,150,14,60,0,151,14,60,0,152,14,60,0,153,14,60,0,154,14,60,0,155,14,60,0,156,14,60,0,157,14,60,0,158,14,60,0,159,14,60,0,160,14,60,0,161,14,60,0,162,14,60,0,163,14,60,0,165,14,60,0,167,14,60,0,168,14,60,0,169,14,60,0,171,14,60,0,60,0,60,0,220,14,47,0,153,14,60,0,60,0,60,0,221,14,47,0,161,14,60,0,172,14,60,0,173,14,60,0,174,14,60,0,175,14,60,0,176,14,60,0,177,14,60,0,178,14,60,0,179,14,61,0,205,14,178,14,60,0,180,14,60,0,181,14,60,0,182,14,60,0,183,14,60,0,184,14,60,0,185,14,60,0,186,14,60,0,187,14,60,0,188,14,60,0,189,14,60,0,192,14,60,0,193,14,60,0,194,14,60,0,195,14,60,0,196,14,60,0,128,170,60,0,129,170,60,0,130,170,60,0,131,170,60,0,132,170,60,0,133,170,60,0,134,170,60,0,135,170,60,0,136,170,60,0,137,170,60,0,138,170,60,0,139,170,60,0,140,170,60,0,141,170,60,0,142,170,60,0,143,170,60,0,144,170,60,0,145,170,60,0,146,170,60,0,147,170,60,0,148,170,60,0,149,170,60,0,150,170,60,0,151,170,60,0,152,170,60,0,153,170,60,0,154,170,60,0,155,170,60,0,156,170,60,0,157,170,60,0,158,170,60,0,159,170,60,0,160,170,60,0,161,170,60,0,162,170,60,0,163,170,60,0,164,170,60,0,165,170,60,0,166,170,60,0,167,170,60,0,168,170,60,0,169,170,60,0,170,170,60,0,171,170,60,0,172,170,60,0,173,170,60,0,174,170,60,0,175,170,60,0,176,170,60,0,177,170,60,0,178,170,60,0,179,170,60,0,180,170,60,0,181,170,60,0,182,170,60,0,183,170,60,0,184,170,60,0,185,170,60,0,186,170,60,0,187,170,60,0,188,170,60,0,189,170,60,0,190,170,60,0,192,170,60,0,194,170,60,0,219,170,60,0,220,170,60,0,64,15,60,0,144,15,60,0,107,15,60,0,65,15,60,0,145,15,60,0,66,15,60,0,146,15,60,0,68,15,60,0,148,15,60,0,69,15,60,0,149,15,60,0,70,15,60,0,150,15,60,0,71,15,60,0,151,15,60,0,73,15,60,0,153,15,60,0,74,15,60,0,154,15,60,0,75,15,60,0,155,15,60,0,76,15,60,0,156,15,60,0,78,15,60,0,158,15,60,0,79,15,60,0,159,15,60,0,80,15,60,0,160,15,60,0,81,15,60,0,161,15,60,0,83,15,60,0,163,15,60,0,84,15,60,0,164,15,60,0,85,15,60,0,165,15,60,0,86,15,60,0,166,15,60,0,88,15,60,0,168,15,60,0,89,15,60,0,169,15,60,0,90,15,60,0,170,15,60,0,91,15,60,0,171,15,60,0,93,15,60,0,173,15,60,0,60,0,186,15,60,0,94,15,60,0,174,15,60,0,95,15,60,0,175,15,60,0,96,15,60,0,176,15,60,0,97,15,60,0,177,15,60,0,60,0,187,15,60,0,98,15,60,0,60,0,106,15,60,0,178,15,60,0,60,0,60,0,178,15,113,15,47,0,113,15,60,0,60,0,60,0,178,15,113,15,114,15,47,0,113,15,114,15,61,0,178,15,113,15,114,15,47,0,113,15,114,15,60,0,60,0,60,0,178,15,113,15,116,15,47,0,113,15,116,15,61,0,178,15,113,15,116,15,47,0,113,15,116,15,60,0,60,0,188,15,60,0,108,15,60,0,99,15,60,0,179,15,60,0,60,0,60,0,179,15,113,15,47,0,113,15,60,0,60,0,60,0,179,15,113,15,114,15,47,0,113,15,114,15,61,0,179,15,113,15,114,15,47,0,113,15,114,15,60,0,60,0,60,0,179,15,113,15,116,15,47,0,113,15,116,15,61,0,179,15,113,15,116,15,47,0,113,15,116,15,60,0,100,15,60,0,180,15,60,0,101,15,60,0,181,15,60,0,102,15,60,0,182,15,60,0,103,15,60,0,183,15,60,0,104,15,60,0,60,0,60,0,0,15,47,0,124,15,7,216,1,223,60,0,184,15,60,0,136,15,60,0,141,15,60,0,137,15,60,0,142,15,60,0,140,15,60,0,143,15,60,0,138,15,60,0,139,15,60,0,113,15,60,0,114,15,60,0,113,15,114,15,60,0,128,15,60,0,113,15,128,15,60,0,116,15,60,0,113,15,116,15,60,0,178,15,128,15,60,0,119,15,61,0,178,15,113,15,128,15,61,0,178,15,113,15,128,15,60,0,179,15,128,15,60,0,121,15,61,0,179,15,113,15,128,15,61,0,179,15,113,15,128,15,60,0,122,15,60,0,123,15,60,0,124,15,60,0,125,15,60,0,132,15,60,0,6,216,11,222,60,0,6,216,50,222,60,0,6,216,12,222,60,0,6,216,13,222,60,0,6,216,14,222,60,0,6,216,15,222,60,0,6,216,16,222,60,0,6,216,17,222,60,0,6,216,18,222,60,0,6,216,19,222,60,0,6,216,20,222,60,0,6,216,21,222,60,0,6,216,22,222,60,0,6,216,23,222,60,0,6,216,24,222,60,0,6,216,25,222,60,0,6,216,26,222,60,0,6,216,27,222,60,0,6,216,28,222,60,0,6,216,29,222,60,0,6,216,30,222,60,0,6,216,31,222,60,0,6,216,32,222,60,0,6,216,33,222,60,0,6,216,34,222,60,0,6,216,35,222,60,0,6,216,36,222,60,0,6,216,37,222,60,0,6,216,38,222,60,0,6,216,39,222,60,0,6,216,40,222,60,0,6,216,41,222,60,0,6,216,42,222,60,0,60,0,60,0,6,216,59,222,60,0,6,216,43,222,60,0,60,0,60,0,6,216,58,222,60,0,60,0,60,0,6,216,60,222,60,0,6,216,44,222,60,0,60,0,60,0,6,216,61,222,60,0,6,216,45,222,60,0,60,0,60,0,6,216,62,222,60,0,6,216,46,222,60,0,6,216,47,222,60,0,6,216,48,222,60,0,6,216,49,222,60,0,6,216,0,222,60,0,6,216,1,222,60,0,6,216,2,222,60,0,6,216,3,222,60,0,6,216,4,222,60,0,6,216,5,222,60,0,6,216,6,222,60,0,6,216,7,222,60,0,6,216,8,222,60,0,6,216,9,222,60,0,6,216,10,222,60,0,6,216,52,222,60,0,6,216,71,222,60,0,6,216,80,222,60,0,6,216,81,222,60,0,6,216,82,222,60,0,6,216,83,222,60,0,6,216,89,222,60,0,6,216,90,222,60,0,6,216,84,222,60,0,6,216,86,222,60,0,6,216,85,222,60,0,6,216,87,222,60,0,6,216,88,222,60,0,6,216,91,222,60,0,6,216,92,222,60,0,60,0,60,0,6,216,138,222,60,0,6,216,131,222,60,0,6,216,93,222,60,0,60,0,60,0,6,216,139,222,60,0,6,216,94,222,60,0,6,216,95,222,60,0,6,216,96,222,60,0,60,0,60,0,6,216,140,222,60,0,6,216,97,222,60,0,6,216,98,222,60,0,6,216,99,222,60,0,6,216,100,222,60,0,6,216,101,222,60,0,6,216,102,222,60,0,6,216,103,222,60,0,6,216,104,222,60,0,6,216,105,222,60,0,6,216,106,222,60,0,6,216,107,222,60,0,60,0,60,0,6,216,141,222,60,0,6,216,108,222,60,0,6,216,109,222,60,0,6,216,110,222,60,0,6,216,111,222,60,0,60,0,60,0,6,216,142,222,60,0,6,216,112,222,60,0,60,0,60,0,6,216,143,222,60,0,6,216,113,222,60,0,6,216,114,222,60,0,6,216,115,222,60,0,6,216,116,222,60,0,60,0,60,0,6,216,144,222,60,0,6,216,117,222,60,0,6,216,118,222,60,0,6,216,119,222,60,0,6,216,120,222,60,0,6,216,121,222,60,0,6,216,122,222,60,0,60,0,60,0,6,216,149,222,60,0,6,216,123,222,60,0,6,216,124,222,60,0,60,0,60,0,6,216,134,222,60,0,60,0,60,0,6,216,145,222,60,0,6,216,125,222,60,0,60,0,60,0,6,216,135,222,60,0,60,0,60,0,6,216,146,222,60,0,6,216,126,222,60,0,6,216,127,222,60,0,60,0,60,0,6,216,136,222,60,0,60,0,60,0,6,216,147,222,60,0,6,216,128,222,60,0,6,216,129,222,60,0,60,0,60,0,6,216,137,222,60,0,60,0,60,0,6,216,148,222,60,0,6,216,130,222,60,0,6,216,132,222,60,0,6,216,133,222,60,0,6,216,153,222,60,0,6,216,157,222,60,0,7,216,114,220,60,0,7,216,146,220,60,0,7,216,115,220,60,0,7,216,147,220,60,0,7,216,116,220,60,0,7,216,148,220,60,0,7,216,117,220,60,0,7,216,149,220,60,0,7,216,118,220,60,0,7,216,150,220,60,0,7,216,119,220,60,0,7,216,151,220,60,0,7,216,120,220,60,0,7,216,152,220,60,0,7,216,121,220,60,0,7,216,153,220,60,0,7,216,122,220,60,0,7,216,154,220,60,0,7,216,123,220,60,0,7,216,155,220,60,0,7,216,124,220,60,0,7,216,156,220,60,0,7,216,125,220,60,0,7,216,157,220,60,0,7,216,126,220,60,0,7,216,158,220,60,0,7,216,127,220,60,0,7,216,159,220,60,0,7,216,128,220,60,0,7,216,160,220,60,0,7,216,129,220,60,0,7,216,161,220,60,0,7,216,130,220,60,0,7,216,162,220,60,0,7,216,131,220,60,0,7,216,163,220,60,0,7,216,132,220,60,0,7,216,164,220,60,0,7,216,133,220,60,0,7,216,165,220,60,0,7,216,134,220,60,0,7,216,166,220,60,0,7,216,135,220,60,0,7,216,167,220,60,0,7,216,136,220,60,0,7,216,137,220,60,0,7,216,169,220,60,0,7,216,138,220,60,0,7,216,170,220,60,0,7,216,139,220,60,0,7,216,171,220,60,0,7,216,140,220,60,0,7,216,172,220,60,0,7,216,141,220,60,0,7,216,173,220,60,0,7,216,142,220,60,0,7,216,174,220,60,0,7,216,143,220,60,0,7,216,175,220,60,0,7,216,176,220,60,0,7,216,177,220,60,0,7,216,178,220,60,0,7,216,179,220,60,0,7,216,180,220,60,0,0,28,60,0,1,28,60,0,2,28,60,0,3,28,60,0,4,28,60,0,5,28,60,0,6,28,60,0,7,28,60,0,8,28,60,0,9,28,60,0,77,28,60,0,78,28,60,0,79,28,60,0,10,28,60,0,11,28,60,0,12,28,60,0,13,28,60,0,14,28,60,0,15,28,60,0,16,28,60,0,17,28,60,0,18,28,60,0,19,28,60,0,20,28,60,0,21,28,60,0,22,28,60,0,23,28,60,0,24,28,60,0,25,28,60,0,26,28,60,0,36,28,60,0,27,28,60,0,37,28,60,0,28,28,60,0,29,28,60,0,30,28,60,0,31,28,60,0,32,28,60,0,33,28,60,0,34,28,60,0,35,28,60,0,54,28,60,0,38,28,60,0,39,28,60,0,40,28,60,0,41,28,60,0,42,28,60,0,43,28,60,0,44,28,60,0,45,28,60,0,46,28,60,0,47,28,60,0,48,28,60,0,49,28,60,0,50,28,60,0,51,28,60,0,52,28,60,0,53,28,60,0,64,168,60,0,65,168,60,0,66,168,60,0,67,168,60,0,68,168,60,0,69,168,60,0,70,168,60,0,71,168,60,0,105,168,60,0,106,168,60,0,107,168,60,0,108,168,60,0,72,168,60,0,73,168,60,0,74,168,60,0,75,168,60,0,76,168,60,0,77,168,60,0,78,168,60,0,79,168,60,0,80,168,60,0,81,168,60,0,82,168,60,0,83,168,60,0,103,168,60,0,84,168,60,0,85,168,60,0,86,168,60,0,87,168,60,0,104,168,60,0,109,168,60,0,88,168,60,0,113,168,60,0,114,168,60,0,89,168,60,0,90,168,60,0,110,168,60,0,91,168,60,0,92,168,60,0,111,168,60,0,112,168,60,0,93,168,60,0,98,168,60,0,99,168,60,0,100,168,60,0,101,168,60,0,94,168,60,0,95,168,60,0,96,168,60,0,97,168,60,0,102,168,60,0,115,168,60,0,0,25,60,0,1,25,60,0,2,25,60,0,3,25,60,0,4,25,60,0,5,25,60,0,6,25,60,0,7,25,60,0,8,25,60,0,60,0,60,0,29,25,47,0,41,25,60,0,9,25,60,0,10,25,60,0,11,25,60,0,60,0,60,0,30,25,47,0,42,25,60,0,12,25,60,0,13,25,60,0,14,25,60,0,15,25,60,0,16,25,60,0,17,25,60,0,18,25,60,0,19,25,60,0,20,25,60,0,21,25,60,0,22,25,60,0,23,25,60,0,24,25,60,0,25,25,60,0,26,25,60,0,27,25,60,0,28,25,60,0,32,25,60,0,33,25,60,0,34,25,60,0,35,25,60,0,36,25,60,0,37,25,60,0,38,25,60,0,39,25,60,0,40,25,60,0,41,25,60,0,42,25,60,0,43,25,60,0,48,25,60,0,49,25,60,0,50,25,60,0,51,25,60,0,52,25,60,0,53,25,60,0,54,25,60,0,55,25,60,0,56,25,60,0,0,23,60,0,1,23,60,0,2,23,60,0,3,23,60,0,4,23,60,0,5,23,60,0,6,23,60,0,7,23,60,0,8,23,60,0,9,23,60,0,10,23,60,0,11,23,60,0,12,23,60,0,13,23,60,0,31,23,60,0,14,23,60,0,15,23,60,0,16,23,60,0,17,23,60,0,18,23,60,0,19,23,60,0,20,23,60,0,21,23,60,0,32,23,60,0,33,23,60,0,34,23,60,0,35,23,60,0,36,23,60,0,37,23,60,0,38,23,60,0,39,23,60,0,40,23,60,0,41,23,60,0,42,23,60,0,43,23,60,0,44,23,60,0,45,23,60,0,46,23,60,0,47,23,60,0,48,23,60,0,49,23,60,0,50,23,60,0,51,23,60,0,52,23,60,0,64,23,60,0,65,23,60,0,66,23,60,0,67,23,60,0,68,23,60,0,69,23,60,0,70,23,60,0,71,23,60,0,72,23,60,0,73,23,60,0,74,23,60,0,75,23,60,0,76,23,60,0,77,23,60,0,78,23,60,0,79,23,60,0,80,23,60,0,81,23,60,0,82,23,60,0,83,23,60,0,96,23,60,0,97,23,60,0,98,23,60,0,99,23,60,0,100,23,60,0,101,23,60,0,102,23,60,0,103,23,60,0,104,23,60,0,105,23,60,0,106,23,60,0,107,23,60,0,108,23,60,0,110,23,60,0,111,23,60,0,112,23,60,0,114,23,60,0,115,23,60,0,0,26,60,0,1,26,60,0,2,26,60,0,3,26,60,0,4,26,60,0,5,26,60,0,6,26,60,0,7,26,60,0,8,26,60,0,9,26,60,0,10,26,60,0,11,26,60,0,12,26,60,0,13,26,60,0,14,26,60,0,15,26,60,0,16,26,60,0,17,26,60,0,18,26,60,0,19,26,60,0,20,26,60,0,21,26,60,0,22,26,60,0,23,26,60,0,24,26,60,0,25,26,60,0,26,26,60,0,27,26,60,0,7,216,224,222,60,0,7,216,225,222,60,0,7,216,226,222,60,0,7,216,227,222,60,0,7,216,228,222,60,0,7,216,229,222,60,0,7,216,230,222,60,0,7,216,231,222,60,0,7,216,232,222,60,0,7,216,233,222,60,0,7,216,234,222,60,0,7,216,235,222,60,0,7,216,236,222,60,0,7,216,237,222,60,0,7,216,238,222,60,0,7,216,239,222,60,0,7,216,240,222,60,0,7,216,241,222,60,0,7,216,242,222,60,0,7,216,243,222,60,0,7,216,244,222,60,0,7,216,245,222,60,0,7,216,246,222,60,0,192,27,60,0,60,0,60,0,193,27,60,0,194,27,60,0,60,0,60,0,195,27,61,0,196,27,60,0,197,27,60,0,60,0,60,0,198,27,60,0,199,27,60,0,60,0,60,0,200,27,60,0,201,27,60,0,60,0,60,0,202,27,60,0,203,27,60,0,60,0,60,0,204,27,61,0,205,27,60,0,206,27,60,0,60,0,60,0,207,27,60,0,208,27,60,0,209,27,60,0,210,27,60,0,60,0,60,0,211,27,60,0,212,27,60,0,60,0,60,0,213,27,60,0,214,27,60,0,60,0,60,0,215,27,60,0,216,27,60,0,60,0,60,0,217,27,61,0,218,27,60,0,219,27,60,0,60,0,60,0,220,27,60,0,221,27,60,0,222,27,60,0,60,0,60,0,223,27,60,0,224,27,60,0,225,27,60,0,226,27,60,0,227,27,60,0,228,27,60,0,229,27,60,0,231,27,60,0,60,0,60,0,232,27,60,0,233,27,60,0,234,27,60,0,60,0,60,0,235,27,60,0,236,27,60,0,60,0,60,0,237,27,60,0,238,27,60,0,60,0,60,0,239,27,60,0,240,27,60,0,241,27,60,0,242,27,60,0,243,27,60,0,48,169,60,0,49,169,60,0,50,169,60,0,51,169,60,0,52,169,60,0,53,169,60,0,54,169,60,0,55,169,60,0,56,169,60,0,57,169,60,0,58,169,60,0,59,169,60,0,60,169,60,0,61,169,60,0,62,169,60,0,63,169,60,0,64,169,60,0,65,169,60,0,66,169,60,0,67,169,60,0,68,169,60,0,69,169,60,0,70,169,60,0,71,169,60,0,72,169,60,0,73,169,60,0,74,169,60,0,75,169,60,0,76,169,60,0,77,169,60,0,78,169,60,0,79,169,60,0,80,169,60,0,81,169,60,0,82,169,60,0,83,169,60,0,10,169,60,0,11,169,60,0,12,169,60,0,13,169,60,0,14,169,60,0,15,169,60,0,16,169,60,0,17,169,60,0,18,169,60,0,19,169,60,0,20,169,60,0,21,169,60,0,22,169,60,0,23,169,60,0,24,169,60,0,25,169,60,0,26,169,60,0,27,169,60,0,28,169,60,0,29,169,60,0,30,169,60,0,31,169,60,0,32,169,60,0,33,169,60,0,34,169,60,0,35,169,60,0,36,169,60,0,37,169,60,0,38,169,60,0,39,169,60,0,40,169,60,0,41,169,60,0,42,169,60,0,0,16,60,0,117,16,60,0,1,16,60,0,118,16,60,0,2,16,60,0,119,16,60,0,96,170,60,0,233,169,60,0,3,16,60,0,224,169,60,0,234,169,60,0,4,16,60,0,90,16,60,0,5,16,60,0,120,16,60,0,97,170,60,0,6,16,60,0,225,169,60,0,98,170,60,0,126,170,60,0,7,16,60,0,99,170,60,0,235,169,60,0,121,16,60,0,114,170,60,0,8,16,60,0,91,16,60,0,226,169,60,0,100,170,60,0,236,169,60,0,97,16,60,0,127,170,60,0,9,16,60,0,122,16,60,0,101,170,60,0,231,169,60,0,10,16,60,0,11,16,60,0,102,170,60,0,12,16,60,0,103,170,60,0,13,16,60,0,104,170,60,0,237,169,60,0,14,16,60,0,105,170,60,0,238,169,60,0,15,16,60,0,110,16,60,0,227,169,60,0,239,169,60,0,16,16,60,0,17,16,60,0,18,16,60,0,123,16,60,0,251,169,60,0,19,16,60,0,106,170,60,0,252,169,60,0,20,16,60,0,124,16,60,0,107,170,60,0,94,16,60,0,21,16,60,0,22,16,60,0,125,16,60,0,126,16,60,0,111,170,60,0,142,16,60,0,232,169,60,0,23,16,60,0,127,16,60,0,253,169,60,0,24,16,60,0,228,169,60,0,254,169,60,0,25,16,60,0,95,16,60,0,26,16,60,0,59,16,60,0,27,16,60,0,115,170,60,0,122,170,60,0,60,16,60,0,28,16,60,0,96,16,60,0,29,16,60,0,61,16,60,0,130,16,60,0,128,16,60,0,80,16,60,0,81,16,60,0,101,16,60,0,30,16,60,0,60,0,60,0,63,16,47,0,57,16,30,16,60,0,108,170,60,0,31,16,60,0,129,16,60,0,109,170,60,0,62,16,60,0,110,170,60,0,113,170,60,0,32,16,60,0,250,169,60,0,92,16,60,0,93,16,60,0,111,16,60,0,112,16,60,0,102,16,60,0,33,16,60,0,34,16,60,0,35,16,60,0,36,16,60,0,37,16,60,0,38,16,60,0,82,16,60,0,83,16,60,0,84,16,60,0,85,16,60,0,39,16,60,0,40,16,60,0,41,16,60,0,42,16,60,0,44,16,60,0,60,0,60,0,43,16,60,0,131,16,60,0,114,16,60,0,156,16,60,0,45,16,60,0,113,16,60,0,46,16,60,0,51,16,60,0,47,16,60,0,115,16,60,0,116,16,60,0,48,16,60,0,86,16,60,0,87,16,60,0,88,16,60,0,89,16,60,0,49,16,60,0,132,16,60,0,53,16,60,0,133,16,60,0,50,16,60,0,157,16,60,0,134,16,60,0,52,16,60,0,98,16,60,0,103,16,60,0,104,16,60,0,229,169,60,0,57,16,60,0,58,16,60,0,99,16,60,0,100,16,60,0,105,16,60,0,106,16,60,0,107,16,60,0,108,16,60,0,109,16,60,0,135,16,60,0,139,16,60,0,136,16,60,0,140,16,60,0,141,16,60,0,137,16,60,0,138,16,60,0,143,16,60,0,154,16,60,0,155,16,60,0,123,170,60,0,124,170,60,0,125,170,60,0,116,170,60,0,117,170,60,0,118,170,60,0,14,32,3,216,0,221,14,32,60,0,14,32,3,216,29,221,14,32,60,0,14,32,3,216,30,221,14,32,60,0,14,32,3,216,31,221,14,32,60,0,14,32,3,216,32,221,14,32,60,0,14,32,3,216,33,221,14,32,60,0,14,32,3,216,1,221,14,32,60,0,14,32,3,216,2,221,14,32,60,0,14,32,3,216,3,221,14,32,60,0,14,32,3,216,4,221,14,32,60,0,14,32,3,216,5,221,14,32,60,0,14,32,3,216,6,221,14,32,60,0,14,32,3,216,7,221,14,32,60,0,14,32,3,216,8,221,14,32,60,0,14,32,3,216,9,221,14,32,60,0,14,32,3,216,10,221,14,32,60,0,14,32,3,216,11,221,14,32,60,0,14,32,3,216,12,221,14,32,60,0,14,32,3,216,13,221,14,32,60,0,14,32,3,216,14,221,14,32,60,0,14,32,3,216,15,221,14,32,60,0,14,32,3,216,16,221,14,32,60,0,14,32,3,216,17,221,14,32,60,0,14,32,3,216,18,221,14,32,60,0,14,32,3,216,19,221,14,32,60,0,14,32,3,216,20,221,14,32,60,0,14,32,3,216,21,221,14,32,60,0,14,32,3,216,22,221,14,32,60,0,14,32,3,216,23,221,14,32,60,0,14,32,3,216,24,221,14,32,60,0,14,32,3,216,25,221,14,32,60,0,14,32,3,216,26,221,14,32,60,0,14,32,3,216,27,221,14,32,60,0,14,32,3,216,28,221,14,32,60,0,14,32,3,216,34,221,14,32,60,0,14,32,3,216,35,221,14,32,60,0,4,216,3,221,60,0,4,216,4,221,60,0,4,216,5,221,60,0,4,216,6,221,60,0,4,216,7,221,60,0,4,216,8,221,60,0,4,216,9,221,60,0,4,216,10,221,60,0,4,216,11,221,60,0,4,216,12,221,60,0,4,216,13,221,60,0,4,216,14,221,60,0,4,216,15,221,60,0,4,216,16,221,60,0,4,216,17,221,60,0,4,216,18,221,60,0,4,216,19,221,60,0,4,216,20,221,60,0,4,216,21,221,60,0,4,216,22,221,60,0,4,216,23,221,60,0,4,216,24,221,60,0,4,216,25,221,60,0,4,216,26,221,60,0,4,216,27,221,60,0,4,216,28,221,60,0,4,216,29,221,60,0,4,216,30,221,60,0,4,216,31,221,60,0,4,216,32,221,60,0,4,216,33,221,60,0,4,216,34,221,60,0,4,216,35,221,60,0,4,216,71,221,60,0,4,216,36,221,60,0,4,216,37,221,60,0,4,216,38,221,60,0,4,216,68,221,60,0,4,216,39,221,60,0,4,216,40,221,60,0,4,216,41,221,60,0,4,216,42,221,60,0,4,216,43,221,60,0,4,216,44,221,60,0,4,216,45,221,60,0,4,216,46,221,60,0,4,216,47,221,60,0,4,216,48,221,60,0,4,216,49,221,60,0,4,216,50,221,60,0,4,216,69,221,60,0,4,216,70,221,60,0,4,216,51,221,60,0,4,216,52,221,60,0,128,23,60,0,129,23,60,0,130,23,60,0,131,23,60,0,132,23,60,0,133,23,60,0,134,23,60,0,135,23,60,0,136,23,60,0,137,23,60,0,138,23,60,0,139,23,60,0,140,23,60,0,141,23,60,0,142,23,60,0,143,23,60,0,144,23,60,0,145,23,60,0,146,23,60,0,147,23,60,0,148,23,60,0,149,23,60,0,150,23,60,0,151,23,60,0,152,23,60,0,153,23,60,0,154,23,60,0,155,23,60,0,156,23,60,0,157,23,60,0,158,23,60,0,159,23,60,0,160,23,60,0,161,23,60,0,162,23,60,0,220,23,60,0,163,23,60,0,164,23,60,0,165,23,60,0,166,23,60,0,167,23,60,0,168,23,60,0,169,23,60,0,170,23,60,0,171,23,60,0,172,23,60,0,173,23,60,0,174,23,60,0,175,23,60,0,176,23,60,0,177,23,60,0,178,23,60,0,179,23,60,0,182,23,60,0,183,23,60,0,184,23,60,0,185,23,60,0,186,23,60,0,187,23,60,0,188,23,60,0,189,23,60,0,190,23,60,0,191,23,60,0,192,23,60,0,193,23,60,0,194,23,60,0,195,23,60,0,196,23,60,0,197,23,60,0,210,23,60,0,80,25,60,0,81,25,60,0,82,25,60,0,83,25,60,0,84,25,60,0,85,25,60,0,86,25,60,0,87,25,60,0,88,25,60,0,89,25,60,0,90,25,60,0,91,25,60,0,92,25,60,0,93,25,60,0,94,25,60,0,95,25,60,0,96,25,60,0,97,25,60,0,98,25,60,0,99,25,60,0,100,25,60,0,101,25,60,0,102,25,60,0,103,25,60,0,104,25,60,0,105,25,60,0,106,25,60,0,107,25,60,0,108,25,60,0,109,25,60,0,112,25,60,0,113,25,60,0,114,25,60,0,115,25,60,0,116,25,60,0,128,25,60,0,129,25,60,0,130,25,60,0,131,25,60,0,132,25,60,0,133,25,60,0,134,25,60,0,135,25,60,0,136,25,60,0,137,25,60,0,138,25,60,0,139,25,60,0,140,25,60,0,141,25,60,0,142,25,60,0,143,25,60,0,144,25,60,0,145,25,60,0,146,25,60,0,147,25,60,0,148,25,60,0,149,25,60,0,150,25,60,0,151,25,60,0,152,25,60,0,153,25,60,0,154,25,60,0,155,25,60,0,156,25,60,0,60,0,60,0,222,25,47,0,182,25,60,0,60,0,60,0,223,25,47,0,182,25,193,25,60,0,157,25,60,0,158,25,60,0,159,25,60,0,160,25,60,0,161,25,60,0,162,25,60,0,163,25,60,0,164,25,60,0,165,25,60,0,166,25,60,0,167,25,60,0,168,25,60,0,169,25,60,0,170,25,60,0,171,25,60,0,176,25,60,0,177,25,60,0,178,25,60,0,179,25,60,0,180,25,60,0,181,25,60,0,182,25,60,0,183,25,60,0,184,25,60,0,185,25,60,0,186,25,60,0,187,25,60,0,188,25,60,0,189,25,60,0,190,25,60,0,191,25,60,0,192,25,60,0,193,25,60,0,194,25,60,0,195,25,60,0,196,25,60,0,197,25,60,0,198,25,60,0,199,25,60,0,200,25,60,0,201,25,60,0,32,26,60,0,33,26,60,0,34,26,60,0,35,26,60,0,36,26,60,0,37,26,60,0,38,26,60,0,60,0,60,0,88,26,61,0,89,26,60,0,39,26,60,0,40,26,60,0,41,26,60,0,42,26,60,0,43,26,60,0,44,26,60,0,45,26,60,0,46,26,60,0,47,26,60,0,48,26,60,0,49,26,60,0,50,26,60,0,51,26,60,0,52,26,60,0,53,26,60,0,54,26,60,0,55,26,60,0,56,26,60,0,57,26,60,0,58,26,60,0,59,26,60,0,60,0,60,0,90,26,61,0,91,26,60,0,60,26,60,0,61,26,60,0,62,26,60,0,63,26,60,0,64,26,60,0,65,26,60,0,66,26,60,0,67,26,60,0,68,26,60,0,69,26,60,0,70,26,60,0,60,0,60,0,84,26,47,0,96,26,70,26,60,0,71,26,60,0,72,26,60,0,73,26,60,0,74,26,60,0,75,26,60,0,76,26,60,0,83,26,60,0,107,26,60,0,85,26,60,0,86,26,60,0,87,26,60,0,92,26,60,0,93,26,60,0,94,26,60,0,77,26,60,0,78,26,60,0,79,26,60,0,80,26,60,0,81,26,60,0,82,26,60,0,97,26,60,0,108,26,60,0,98,26,60,0,99,26,60,0,60,0,60,0,100,26,60,0,101,26,60,0,102,26,60,0,103,26,60,0,104,26,60,0,105,26,60,0,106,26,60,0,110,26,60,0,111,26,60,0,115,26,60,0,112,26,60,0,113,26,60,0,114,26,60,0,109,26,60,0,96,26,60,0,0,170,60,0,1,170,60,0,2,170,60,0,3,170,60,0,4,170,60,0,5,170,60,0,6,170,60,0,7,170,60,0,8,170,60,0,9,170,60,0,10,170,60,0,11,170,60,0,12,170,60,0,13,170,60,0,14,170,60,0,15,170,60,0,16,170,60,0,17,170,60,0,18,170,60,0,19,170,60,0,20,170,60,0,21,170,60,0,22,170,60,0,23,170,60,0,24,170,60,0,25,170,60,0,26,170,60,0,27,170,60,0,28,170,60,0,29,170,60,0,30,170,60,0,31,170,60,0,32,170,60,0,33,170,60,0,34,170,60,0,35,170,60,0,36,170,60,0,37,170,60,0,38,170,60,0,39,170,60,0,40,170,60,0,51,170,60,0,52,170,60,0,53,170,60,0,54,170,60,0,41,170,60,0,42,170,60,0,43,170,60,0,44,170,60,0,45,170,60,0,46,170,60,0,47,170,60,0,48,170,60,0,49,170,60,0,50,170,60,0,64,170,60,0,65,170,60,0,66,170,60,0,67,170,60,0,68,170,60,0,69,170,60,0,70,170,60,0,71,170,60,0,72,170,60,0,73,170,60,0,74,170,60,0,75,170,60,0,76,170,60,0,77,170,60,0,5,27,60,0,6,27,60,0,7,27,60,0,8,27,60,0,9,27,60,0,10,27,60,0,11,27,60,0,12,27,60,0,13,27,60,0,14,27,60,0,15,27,60,0,16,27,60,0,17,27,60,0,18,27,60,0,19,27,60,0,69,27,60,0,70,27,60,0,20,27,60,0,21,27,60,0,22,27,60,0,23,27,60,0,24,27,60,0,25,27,60,0,26,27,60,0,60,0,60,0,76,27,47,0,68,27,28,27,60,0,27,27,60,0,28,27,60,0,29,27,60,0,30,27,60,0,31,27,60,0,32,27,60,0,33,27,60,0,34,27,60,0,71,27,60,0,35,27,60,0,36,27,60,0,37,27,60,0,38,27,60,0,39,27,60,0,72,27,60,0,40,27,60,0,41,27,60,0,42,27,60,0,43,27,60,0,44,27,60,0,45,27,60,0,46,27,60,0,47,27,60,0,73,27,60,0,48,27,60,0,49,27,60,0,50,27,60,0,74,27,60,0,75,27,60,0,51,27,60,0,53,27,60,0,54,27,60,0,55,27,60,0,56,27,60,0,57,27,60,0,58,27,60,0,59,27,60,0,60,27,60,0,61,27,60,0,62,27,60,0,63,27,60,0,64,27,60,0,65,27,60,0,66,27,60,0,67,27,60,0,68,27,60,0,132,169,60,0,133,169,60,0,134,169,60,0,135,169,60,0,136,169,60,0,137,169,60,0,138,169,60,0,139,169,60,0,140,169,60,0,141,169,60,0,142,169,60,0,143,169,60,0,144,169,60,0,145,169,60,0,146,169,60,0,147,169,60,0,148,169,60,0,149,169,60,0,150,169,60,0,151,169,60,0,152,169,60,0,153,169,60,0,154,169,60,0,155,169,60,0,156,169,60,0,157,169,60,0,158,169,60,0,159,169,60,0,160,169,60,0,161,169,60,0,162,169,60,0,163,169,60,0,164,169,60,0,165,169,60,0,166,169,60,0,167,169,60,0,168,169,60,0,169,169,60,0,170,169,60,0,190,169,60,0,171,169,60,0,60,0,60,0,172,169,60,0,191,169,60,0,173,169,60,0,174,169,60,0,175,169,60,0,176,169,60,0,177,169,60,0,178,169,60,0,180,169,60,0,60,0,60,0,181,169,60,0,188,169,60,0,182,169,60,0,183,169,60,0,184,169,60,0,185,169,60,0,189,169,60,0,186,169,60,0,187,169,60,0,192,169,60,0,7,216,4,223,60,0,7,216,5,223,60,0,7,216,6,223,60,0,7,216,7,223,60,0,7,216,8,223,60,0,7,216,9,223,60,0,7,216,10,223,60,0,7,216,11,223,60,0,7,216,12,223,60,0,7,216,13,223,60,0,7,216,14,223,60,0,7,216,15,223,60,0,7,216,16,223,60,0,7,216,18,223,60,0,7,216,19,223,60,0,7,216,20,223,60,0,7,216,21,223,60,0,7,216,22,223,60,0,7,216,23,223,60,0,7,216,24,223,60,0,7,216,25,223,60,0,7,216,26,223,60,0,7,216,27,223,60,0,7,216,28,223,60,0,7,216,29,223,60,0,7,216,30,223,60,0,7,216,31,223,60,0,7,216,32,223,60,0,7,216,33,223,60,0,7,216,34,223,60,0,7,216,35,223,60,0,7,216,36,223,60,0,7,216,37,223,60,0,7,216,38,223,60,0,7,216,39,223,60,0,7,216,40,223,60,0,7,216,41,223,60,0,7,216,42,223,60,0,7,216,43,223,60,0,7,216,44,223,60,0,7,216,2,223,60,0,7,216,45,223,60,0,7,216,46,223,60,0,7,216,47,223,60,0,7,216,48,223,60,0,7,216,49,223,60,0,7,216,50,223,60,0,7,216,51,223,60,0,7,216,52,223,60,0,7,216,53,223,60,0,7,216,54,223,60,0,7,216,55,223,60,0,7,216,56,223,60,0,7,216,57,223,60,0,7,216,58,223,60,0,7,216,62,223,60,0,7,216,63,223,60,0,7,216,64,223,60,0,7,216,65,223,60,0,7,216,66,223,60,0,128,24,60,0,129,24,60,0,130,24,60,0,131,24,60,0,132,24,60,0,133,24,60,0,134,24,60,0,67,24,60,0,32,24,60,0,135,24,60,0,33,24,60,0,68,24,60,0,93,24,60,0,34,24,60,0,69,24,60,0,94,24,60,0,115,24,60,0,136,24,60,0,95,24,60,0,35,24,60,0,70,24,60,0,36,24,60,0,71,24,60,0,97,24,60,0,37,24,60,0,72,24,60,0,38,24,60,0,73,24,60,0,96,24,60,0,39,24,60,0,40,24,60,0,41,24,60,0,74,24,60,0,98,24,60,0,138,24,60,0,155,24,60,0,42,24,60,0,75,24,60,0,43,24,60,0,76,24,60,0,102,24,60,0,44,24,60,0,77,24,60,0,45,24,60,0,78,24,60,0,100,24,60,0,154,24,60,0,101,24,60,0,46,24,60,0,79,24,60,0,47,24,60,0,48,24,60,0,49,24,60,0,103,24,60,0,156,24,60,0,157,24,60,0,162,24,60,0,164,24,60,0,165,24,60,0,50,24,60,0,80,24,60,0,104,24,60,0,51,24,60,0,81,24,60,0,105,24,60,0,52,24,60,0,82,24,60,0,113,24,60,0,120,24,60,0,92,24,60,0,139,24,60,0,53,24,60,0,83,24,60,0,106,24,60,0,119,24,60,0,54,24,60,0,85,24,60,0,114,24,60,0,55,24,60,0,117,24,60,0,56,24,60,0,86,24,60,0,57,24,60,0,107,24,60,0,118,24,60,0,58,24,60,0,87,24,60,0,99,24,60,0,116,24,60,0,137,24,60,0,59,24,60,0,60,24,60,0,84,24,60,0,110,24,60,0,61,24,60,0,111,24,60,0,88,24,60,0,108,24,60,0,62,24,60,0,89,24,60,0,109,24,60,0,63,24,60,0,64,24,60,0,65,24,60,0,66,24,60,0,90,24,60,0,91,24,60,0,112,24,60,0,140,24,60,0,158,24,60,0,141,24,60,0,142,24,60,0,159,24,60,0,143,24,60,0,144,24,60,0,152,24,60,0,160,24,60,0,145,24,60,0,161,24,60,0,146,24,60,0,147,24,60,0,168,24,60,0,148,24,60,0,163,24,60,0,149,24,60,0,153,24,60,0,150,24,60,0,151,24,60,0,166,24,60,0,167,24,60,0,170,24,60,0,169,24,60,0,90,28,60,0,91,28,60,0,92,28,60,0,93,28,60,0,94,28,60,0,95,28,60,0,96,28,60,0,97,28,60,0,98,28,60,0,99,28,60,0,100,28,60,0,101,28,60,0,102,28,60,0,103,28,60,0,104,28,60,0,105,28,60,0,106,28,60,0,107,28,60,0,108,28,60,0,109,28,60,0,110,28,60,0,111,28,60,0,112,28,60,0,113,28,60,0,114,28,60,0,115,28,60,0,116,28,60,0,117,28,60,0,118,28,60,0,119,28,60,0,120,28,60,0,121,28,60,0,122,28,60,0,123,28,60,0,124,28,60,0,125,28,60,0,112,171,60,0,60,0,60,0,160,19,60,0,113,171,60,0,60,0,60,0,161,19,60,0,114,171,60,0,60,0,60,0,162,19,60,0,115,171,60,0,60,0,60,0,163,19,60,0,116,171,60,0,60,0,60,0,164,19,60,0,117,171,60,0,60,0,60,0,165,19,60,0,118,171,60,0,60,0,60,0,166,19,60,0,119,171,60,0,60,0,60,0,167,19,60,0,120,171,60,0,60,0,60,0,168,19,60,0,121,171,60,0,60,0,60,0,169,19,60,0,122,171,60,0,60,0,60,0,170,19,60,0,123,171,60,0,60,0,60,0,171,19,60,0,124,171,60,0,60,0,60,0,172,19,60,0,125,171,60,0,60,0,60,0,173,19,60,0,126,171,60,0,60,0,60,0,174,19,60,0,127,171,60,0,60,0,60,0,175,19,60,0,128,171,60,0,60,0,60,0,176,19,60,0,129,171,60,0,60,0,60,0,177,19,60,0,130,171,60,0,60,0,60,0,178,19,60,0,131,171,60,0,60,0,60,0,179,19,60,0,132,171,60,0,60,0,60,0,180,19,60,0,133,171,60,0,60,0,60,0,181,19,60,0,134,171,60,0,60,0,60,0,182,19,60,0,135,171,60,0,60,0,60,0,183,19,60,0,136,171,60,0,60,0,60,0,184,19,60,0,137,171,60,0,60,0,60,0,185,19,60,0,138,171,60,0,60,0,60,0,186,19,60,0,139,171,60,0,60,0,60,0,187,19,60,0,140,171,60,0,60,0,60,0,188,19,60,0,141,171,60,0,60,0,60,0,189,19,60,0,142,171,60,0,60,0,60,0,190,19,60,0,143,171,60,0,60,0,60,0,191,19,60,0,144,171,60,0,60,0,60,0,192,19,60,0,145,171,60,0,60,0,60,0,193,19,60,0,146,171,60,0,60,0,60,0,194,19,60,0,147,171,60,0,60,0,60,0,195,19,60,0,148,171,60,0,60,0,60,0,196,19,60,0,149,171,60,0,60,0,60,0,197,19,60,0,150,171,60,0,60,0,60,0,198,19,60,0,151,171,60,0,60,0,60,0,199,19,60,0,152,171,60,0,60,0,60,0,200,19,60,0,153,171,60,0,60,0,60,0,201,19,60,0,154,171,60,0,60,0,60,0,202,19,60,0,155,171,60,0,60,0,60,0,203,19,60,0,156,171,60,0,60,0,60,0,204,19,60,0,157,171,60,0,60,0,60,0,205,19,60,0,158,171,60,0,60,0,60,0,206,19,60,0,159,171,60,0,60,0,60,0,207,19,60,0,160,171,60,0,60,0,60,0,208,19,60,0,161,171,60,0,60,0,60,0,209,19,60,0,162,171,60,0,60,0,60,0,210,19,60,0,163,171,60,0,60,0,60,0,211,19,60,0,164,171,60,0,60,0,60,0,212,19,60,0,165,171,60,0,60,0,60,0,213,19,60,0,166,171,60,0,60,0,60,0,214,19,60,0,167,171,60,0,60,0,60,0,215,19,60,0,168,171,60,0,60,0,60,0,216,19,60,0,169,171,60,0,60,0,60,0,217,19,60,0,170,171,60,0,60,0,60,0,218,19,60,0,171,171,60,0,60,0,60,0,219,19,60,0,172,171,60,0,60,0,60,0,220,19,60,0,173,171,60,0,60,0,60,0,221,19,60,0,174,171,60,0,60,0,60,0,222,19,60,0,175,171,60,0,60,0,60,0,223,19,60,0,176,171,60,0,60,0,60,0,224,19,60,0,177,171,60,0,60,0,60,0,225,19,60,0,178,171,60,0,60,0,60,0,226,19,60,0,179,171,60,0,60,0,60,0,227,19,60,0,180,171,60,0,60,0,60,0,228,19,60,0,181,171,60,0,60,0,60,0,229,19,60,0,182,171,60,0,60,0,60,0,230,19,60,0,183,171,60,0,60,0,60,0,231,19,60,0,184,171,60,0,60,0,60,0,232,19,60,0,185,171,60,0,60,0,60,0,233,19,60,0,186,171,60,0,60,0,60,0,234,19,60,0,187,171,60,0,60,0,60,0,235,19,60,0,188,171,60,0,60,0,60,0,236,19,60,0,189,171,60,0,60,0,60,0,237,19,60,0,190,171,60,0,60,0,60,0,238,19,60,0,191,171,60,0,60,0,60,0,239,19,60,0,248,19,60,0,60,0,60,0,240,19,60,0,249,19,60,0,60,0,60,0,241,19,60,0,250,19,60,0,60,0,60,0,242,19,60,0,251,19,60,0,60,0,60,0,243,19,60,0,252,19,60,0,60,0,60,0,244,19,60,0,253,19,60,0,60,0,60,0,245,19,60,0,1,216,216,220,60,0,60,0,60,0,1,216,176,220,60,0,1,216,217,220,60,0,60,0,60,0,1,216,177,220,60,0,1,216,218,220,60,0,60,0,60,0,1,216,178,220,60,0,1,216,219,220,60,0,60,0,60,0,1,216,179,220,60,0,1,216,220,220,60,0,60,0,60,0,1,216,180,220,60,0,1,216,221,220,60,0,60,0,60,0,1,216,181,220,60,0,1,216,222,220,60,0,60,0,60,0,1,216,182,220,60,0,1,216,223,220,60,0,60,0,60,0,1,216,183,220,60,0,1,216,224,220,60,0,60,0,60,0,1,216,184,220,60,0,1,216,225,220,60,0,60,0,60,0,1,216,185,220,60,0,1,216,226,220,60,0,60,0,60,0,1,216,186,220,60,0,1,216,227,220,60,0,60,0,60,0,1,216,187,220,60,0,1,216,228,220,60,0,60,0,60,0,1,216,188,220,60,0,1,216,229,220,60,0,60,0,60,0,1,216,189,220,60,0,1,216,230,220,60,0,60,0,60,0,1,216,190,220,60,0,1,216,231,220,60,0,60,0,60,0,1,216,191,220,60,0,1,216,232,220,60,0,60,0,60,0,1,216,192,220,60,0,1,216,233,220,60,0,60,0,60,0,1,216,193,220,60,0,1,216,234,220,60,0,60,0,60,0,1,216,194,220,60,0,1,216,235,220,60,0,60,0,60,0,1,216,195,220,60,0,1,216,236,220,60,0,60,0,60,0,1,216,196,220,60,0,1,216,237,220,60,0,60,0,60,0,1,216,197,220,60,0,1,216,238,220,60,0,60,0,60,0,1,216,198,220,60,0,1,216,239,220,60,0,60,0,60,0,1,216,199,220,60,0,1,216,240,220,60,0,60,0,60,0,1,216,200,220,60,0,1,216,241,220,60,0,60,0,60,0,1,216,201,220,60,0,1,216,242,220,60,0,60,0,60,0,1,216,202,220,60,0,1,216,243,220,60,0,60,0,60,0,1,216,203,220,60,0,1,216,244,220,60,0,60,0,60,0,1,216,204,220,60,0,1,216,245,220,60,0,60,0,60,0,1,216,205,220,60,0,1,216,246,220,60,0,60,0,60,0,1,216,206,220,60,0,1,216,247,220,60,0,60,0,60,0,1,216,207,220,60,0,1,216,248,220,60,0,60,0,60,0,1,216,208,220,60,0,1,216,249,220,60,0,60,0,60,0,1,216,209,220,60,0,1,216,250,220,60,0,60,0,60,0,1,216,210,220,60,0,1,216,251,220,60,0,60,0,60,0,1,216,211,220,60,0,1,20,60,0,2,20,60,0,3,20,60,0,4,20,60,0,5,20,60,0,6,20,60,0,7,20,60,0,8,20,60,0,9,20,60,0,10,20,60,0,11,20,60,0,12,20,60,0,13,20,60,0,14,20,60,0,15,20,60,0,16,20,60,0,17,20,60,0,18,20,60,0,19,20,60,0,20,20,60,0,21,20,60,0,22,20,60,0,23,20,60,0,24,20,60,0,25,20,60,0,26,20,60,0,27,20,60,0,28,20,60,0,29,20,60,0,30,20,60,0,31,20,60,0,32,20,60,0,33,20,60,0,34,20,60,0,35,20,60,0,36,20,60,0,37,20,60,0,38,20,60,0,39,20,60,0,40,20,60,0,41,20,60,0,42,20,60,0,43,20,60,0,44,20,60,0,45,20,60,0,46,20,60,0,47,20,60,0,48,20,60,0,49,20,60,0,50,20,60,0,51,20,60,0,52,20,60,0,53,20,60,0,54,20,60,0,55,20,60,0,56,20,60,0,57,20,60,0,58,20,60,0,59,20,60,0,60,20,60,0,61,20,60,0,62,20,60,0,63,20,60,0,64,20,60,0,65,20,60,0,66,20,60,0,67,20,60,0,68,20,60,0,69,20,60,0,70,20,60,0,71,20,60,0,72,20,60,0,73,20,60,0,74,20,60,0,75,20,60,0,76,20,60,0,77,20,60,0,78,20,60,0,79,20,60,0,80,20,60,0,81,20,60,0,82,20,60,0,83,20,60,0,84,20,60,0,85,20,60,0,86,20,60,0,87,20,60,0,88,20,60,0,89,20,60,0,90,20,60,0,91,20,60,0,92,20,60,0,93,20,60,0,94,20,60,0,95,20,60,0,96,20,60,0,97,20,60,0,98,20,60,0,99,20,60,0,100,20,60,0,101,20,60,0,102,20,60,0,103,20,60,0,104,20,60,0,105,20,60,0,106,20,60,0,107,20,60,0,108,20,60,0,109,20,60,0,110,20,60,0,111,20,60,0,112,20,60,0,113,20,60,0,114,20,60,0,115,20,60,0,116,20,60,0,117,20,60,0,118,20,60,0,119,20,60,0,120,20,60,0,121,20,60,0,122,20,60,0,123,20,60,0,124,20,60,0,125,20,60,0,126,20,60,0,127,20,60,0,128,20,60,0,129,20,60,0,130,20,60,0,131,20,60,0,132,20,60,0,133,20,60,0,134,20,60,0,135,20,60,0,136,20,60,0,137,20,60,0,138,20,60,0,139,20,60,0,140,20,60,0,141,20,60,0,142,20,60,0,143,20,60,0,144,20,60,0,145,20,60,0,146,20,60,0,147,20,60,0,148,20,60,0,149,20,60,0,150,20,60,0,151,20,60,0,152,20,60,0,153,20,60,0,154,20,60,0,155,20,60,0,156,20,60,0,157,20,60,0,158,20,60,0,159,20,60,0,160,20,60,0,161,20,60,0,162,20,60,0,163,20,60,0,164,20,60,0,165,20,60,0,166,20,60,0,167,20,60,0,168,20,60,0,169,20,60,0,170,20,60,0,171,20,60,0,172,20,60,0,173,20,60,0,174,20,60,0,175,20,60,0,176,20,60,0,177,20,60,0,178,20,60,0,179,20,60,0,180,20,60,0,181,20,60,0,182,20,60,0,183,20,60,0,184,20,60,0,185,20,60,0,186,20,60,0,187,20,60,0,188,20,60,0,189,20,60,0,190,20,60,0,191,20,60,0,192,20,60,0,193,20,60,0,194,20,60,0,195,20,60,0,196,20,60,0,197,20,60,0,198,20,60,0,199,20,60,0,200,20,60,0,201,20,60,0,202,20,60,0,203,20,60,0,204,20,60,0,205,20,60,0,206,20,60,0,207,20,60,0,208,20,60,0,209,20,60,0,210,20,60,0,211,20,60,0,212,20,60,0,213,20,60,0,214,20,60,0,215,20,60,0,216,20,60,0,217,20,60,0,218,20,60,0,219,20,60,0,220,20,60,0,221,20,60,0,222,20,60,0,223,20,60,0,224,20,60,0,225,20,60,0,226,20,60,0,227,20,60,0,228,20,60,0,229,20,60,0,230,20,60,0,231,20,60,0,232,20,60,0,233,20,60,0,234,20,60,0,235,20,60,0,236,20,60,0,237,20,60,0,238,20,60,0,239,20,60,0,240,20,60,0,241,20,60,0,242,20,60,0,243,20,60,0,244,20,60,0,245,20,60,0,246,20,60,0,247,20,60,0,248,20,60,0,249,20,60,0,250,20,60,0,251,20,60,0,252,20,60,0,253,20,60,0,254,20,60,0,255,20,60,0,0,21,60,0,1,21,60,0,2,21,60,0,3,21,60,0,4,21,60,0,5,21,60,0,6,21,60,0,7,21,60,0,8,21,60,0,9,21,60,0,10,21,60,0,11,21,60,0,12,21,60,0,13,21,60,0,14,21,60,0,15,21,60,0,16,21,60,0,17,21,60,0,18,21,60,0,19,21,60,0,20,21,60,0,21,21,60,0,22,21,60,0,23,21,60,0,24,21,60,0,25,21,60,0,26,21,60,0,27,21,60,0,28,21,60,0,29,21,60,0,30,21,60,0,31,21,60,0,32,21,60,0,33,21,60,0,34,21,60,0,35,21,60,0,36,21,60,0,37,21,60,0,38,21,60,0,39,21,60,0,40,21,60,0,41,21,60,0,42,21,60,0,43,21,60,0,44,21,60,0,45,21,60,0,46,21,60,0,47,21,60,0,48,21,60,0,49,21,60,0,50,21,60,0,51,21,60,0,52,21,60,0,53,21,60,0,54,21,60,0,55,21,60,0,56,21,60,0,57,21,60,0,58,21,60,0,59,21,60,0,60,21,60,0,61,21,60,0,62,21,60,0,63,21,60,0,64,21,60,0,65,21,60,0,66,21,60,0,67,21,60,0,68,21,60,0,69,21,60,0,70,21,60,0,71,21,60,0,72,21,60,0,73,21,60,0,74,21,60,0,75,21,60,0,76,21,60,0,77,21,60,0,78,21,60,0,79,21,60,0,80,21,60,0,81,21,60,0,82,21,60,0,83,21,60,0,84,21,60,0,85,21,60,0,86,21,60,0,87,21,60,0,88,21,60,0,89,21,60,0,90,21,60,0,91,21,60,0,92,21,60,0,93,21,60,0,94,21,60,0,95,21,60,0,96,21,60,0,97,21,60,0,98,21,60,0,99,21,60,0,100,21,60,0,101,21,60,0,102,21,60,0,103,21,60,0,104,21,60,0,105,21,60,0,106,21,60,0,107,21,60,0,108,21,60,0,109,21,60,0,110,21,60,0,111,21,60,0,112,21,60,0,113,21,60,0,114,21,60,0,115,21,60,0,116,21,60,0,117,21,60,0,118,21,60,0,119,21,60,0,120,21,60,0,121,21,60,0,122,21,60,0,123,21,60,0,125,21,60,0,111,22,60,0,126,21,60,0,127,21,60,0,128,21,60,0,129,21,60,0,130,21,60,0,131,21,60,0,132,21,60,0,133,21,60,0,134,21,60,0,135,21,60,0,136,21,60,0,137,21,60,0,138,21,60,0,139,21,60,0,140,21,60,0,141,21,60,0,112,22,60,0,142,21,60,0,143,21,60,0,144,21,60,0,145,21,60,0,146,21,60,0,147,21,60,0,148,21,60,0,149,21,60,0,113,22,60,0,114,22,60,0,115,22,60,0,116,22,60,0,117,22,60,0,118,22,60,0,150,21,60,0,151,21,60,0,152,21,60,0,153,21,60,0,154,21,60,0,155,21,60,0,156,21,60,0,157,21,60,0,158,21,60,0,159,21,60,0,160,21,60,0,161,21,60,0,162,21,60,0,163,21,60,0,164,21,60,0,165,21,60,0,166,21,60,0,124,21,60,0,167,21,60,0,168,21,60,0,169,21,60,0,170,21,60,0,171,21,60,0,172,21,60,0,173,21,60,0,174,21,60,0,175,21,60,0,176,21,60,0,177,21,60,0,178,21,60,0,179,21,60,0,180,21,60,0,181,21,60,0,182,21,60,0,183,21,60,0,184,21,60,0,185,21,60,0,186,21,60,0,187,21,60,0,188,21,60,0,189,21,60,0,190,21,60,0,191,21,60,0,192,21,60,0,193,21,60,0,194,21,60,0,195,21,60,0,196,21,60,0,197,21,60,0,198,21,60,0,199,21,60,0,200,21,60,0,201,21,60,0,202,21,60,0,203,21,60,0,204,21,60,0,205,21,60,0,206,21,60,0,207,21,60,0,208,21,60,0,209,21,60,0,210,21,60,0,211,21,60,0,212,21,60,0,213,21,60,0,214,21,60,0,215,21,60,0,216,21,60,0,217,21,60,0,218,21,60,0,219,21,60,0,220,21,60,0,221,21,60,0,222,21,60,0,223,21,60,0,224,21,60,0,225,21,60,0,226,21,60,0,227,21,60,0,228,21,60,0,229,21,60,0,230,21,60,0,231,21,60,0,232,21,60,0,233,21,60,0,234,21,60,0,235,21,60,0,236,21,60,0,237,21,60,0,238,21,60,0,239,21,60,0,240,21,60,0,241,21,60,0,242,21,60,0,243,21,60,0,244,21,60,0,245,21,60,0,246,21,60,0,247,21,60,0,248,21,60,0,249,21,60,0,250,21,60,0,251,21,60,0,252,21,60,0,253,21,60,0,254,21,60,0,255,21,60,0,0,22,60,0,1,22,60,0,2,22,60,0,3,22,60,0,4,22,60,0,5,22,60,0,6,22,60,0,7,22,60,0,8,22,60,0,9,22,60,0,10,22,60,0,11,22,60,0,12,22,60,0,13,22,60,0,14,22,60,0,15,22,60,0,16,22,60,0,17,22,60,0,18,22,60,0,19,22,60,0,20,22,60,0,21,22,60,0,22,22,60,0,23,22,60,0,24,22,60,0,25,22,60,0,26,22,60,0,27,22,60,0,28,22,60,0,29,22,60,0,30,22,60,0,31,22,60,0,32,22,60,0,33,22,60,0,34,22,60,0,35,22,60,0,36,22,60,0,37,22,60,0,38,22,60,0,39,22,60,0,40,22,60,0,41,22,60,0,42,22,60,0,43,22,60,0,44,22,60,0,45,22,60,0,46,22,60,0,47,22,60,0,48,22,60,0,49,22,60,0,50,22,60,0,51,22,60,0,52,22,60,0,53,22,60,0,54,22,60,0,55,22,60,0,56,22,60,0,57,22,60,0,58,22,60,0,59,22,60,0,60,22,60,0,61,22,60,0,62,22,60,0,63,22,60,0,64,22,60,0,65,22,60,0,66,22,60,0,67,22,60,0,68,22,60,0,69,22,60,0,70,22,60,0,71,22,60,0,72,22,60,0,73,22,60,0,74,22,60,0,75,22,60,0,76,22,60,0,77,22,60,0,78,22,60,0,79,22,60,0,80,22,60,0,81,22,60,0,82,22,60,0,83,22,60,0,84,22,60,0,85,22,60,0,86,22,60,0,87,22,60,0,88,22,60,0,89,22,60,0,90,22,60,0,91,22,60,0,92,22,60,0,93,22,60,0,94,22,60,0,95,22,60,0,96,22,60,0,97,22,60,0,98,22,60,0,99,22,60,0,100,22,60,0,101,22,60,0,102,22,60,0,103,22,60,0,104,22,60,0,105,22,60,0,106,22,60,0,107,22,60,0,108,22,60,0,119,22,60,0,120,22,60,0,121,22,60,0,122,22,60,0,123,22,60,0,124,22,60,0,125,22,60,0,126,22,60,0,127,22,60,0,176,24,60,0,177,24,60,0,178,24,60,0,179,24,60,0,180,24,60,0,181,24,60,0,182,24,60,0,183,24,60,0,184,24,60,0,185,24,60,0,186,24,60,0,187,24,60,0,188,24,60,0,189,24,60,0,190,24,60,0,191,24,60,0,192,24,60,0,193,24,60,0,194,24,60,0,195,24,60,0,196,24,60,0,197,24,60,0,198,24,60,0,199,24,60,0,200,24,60,0,201,24,60,0,202,24,60,0,203,24,60,0,204,24,60,0,205,24,60,0,206,24,60,0,207,24,60,0,208,24,60,0,209,24,60,0,210,24,60,0,211,24,60,0,212,24,60,0,213,24,60,0,214,24,60,0,215,24,60,0,216,24,60,0,217,24,60,0,218,24,60,0,219,24,60,0,220,24,60,0,221,24,60,0,222,24,60,0,223,24,60,0,224,24,60,0,225,24,60,0,226,24,60,0,227,24,60,0,228,24,60,0,229,24,60,0,230,24,60,0,231,24,60,0,232,24,60,0,233,24,60,0,234,24,60,0,235,24,60,0,236,24,60,0,237,24,60,0,238,24,60,0,239,24,60,0,240,24,60,0,241,24,60,0,242,24,60,0,243,24,60,0,244,24,60,0,245,24,60,0,6,216,176,222,60,0,6,216,177,222,60,0,6,216,178,222,60,0,6,216,179,222,60,0,6,216,180,222,60,0,6,216,181,222,60,0,6,216,182,222,60,0,6,216,183,222,60,0,6,216,184,222,60,0,6,216,185,222,60,0,6,216,186,222,60,0,6,216,187,222,60,0,6,216,188,222,60,0,6,216,189,222,60,0,6,216,190,222,60,0,6,216,191,222,60,0,129,22,60,0,130,22,60,0,131,22,60,0,132,22,60,0,133,22,60,0,134,22,60,0,135,22,60,0,136,22,60,0,137,22,60,0,138,22,60,0,139,22,60,0,140,22,60,0,141,22,60,0,142,22,60,0,143,22,60,0,144,22,60,0,145,22,60,0,146,22,60,0,147,22,60,0,148,22,60,0,149,22,60,0,150,22,60,0,151,22,60,0,152,22,60,0,153,22,60,0,154,22,60,0,160,22,60,0,60,0,161,22,60,0,162,22,60,0,60,0,164,22,60,0,60,0,165,22,60,0,166,22,60,0,60,0,60,0,240,22,47,0,166,22,60,0,60,0,167,22,60,0,168,22,60,0,60,0,169,22,60,0,60,0,172,22,60,0,60,0,173,22,60,0,60,0,174,22,60,0,244,22,60,0,175,22,60,0,176,22,60,0,177,22,60,0,178,22,60,0,60,0,179,22,60,0,60,0,180,22,60,0,60,0,181,22,60,0,60,0,182,22,60,0,241,22,60,0,183,22,60,0,185,22,60,0,60,0,233,22,60,0,186,22,60,0,60,0,187,22,60,0,60,0,188,22,60,0,60,0,189,22,60,0,190,22,60,0,60,0,191,22,60,0,60,0,192,22,60,0,193,22,60,0,60,0,194,22,60,0,245,22,60,0,195,22,60,0,60,0,196,22,60,0,197,22,60,0,60,0,60,0,238,22,47,0,218,22,60,0,60,0,198,22,60,0,199,22,60,0,200,22,60,0,60,0,213,22,60,0,201,22,60,0,202,22,60,0,60,0,203,22,60,0,60,0,234,22,60,0,60,0,204,22,60,0,60,0,205,22,60,0,60,0,206,22,60,0,242,22,60,0,207,22,60,0,60,0,208,22,60,0,60,0,209,22,60,0,210,22,60,0,60,0,211,22,60,0,60,0,212,22,60,0,214,22,60,0,246,22,60,0,215,22,60,0,60,0,216,22,60,0,60,0,60,0,239,22,47,0,215,22,60,0,60,0,217,22,60,0,218,22,60,0,60,0,219,22,60,0,220,22,60,0,60,0,221,22,60,0,222,22,60,0,223,22,60,0,243,22,60,0,170,22,60,0,247,22,60,0,171,22,60,0,248,22,60,0,163,22,60,0,224,22,60,0,227,22,60,0,184,22,60,0,228,22,60,0,225,22,60,0,226,22,60,0,229,22,60,0,230,22,60,0,60,0,231,22,60,0,60,0,232,22,60,0,14,32,3,216,192,220,14,32,60,0,60,0,60,0,14,32,3,216,128,220,14,32,60,0,60,0,14,32,3,216,193,220,14,32,60,0,60,0,60,0,14,32,3,216,129,220,14,32,60,0,14,32,3,216,194,220,14,32,60,0,60,0,60,0,14,32,3,216,130,220,14,32,60,0,14,32,3,216,195,220,14,32,60,0,60,0,60,0,14,32,3,216,131,220,14,32,60,0,14,32,3,216,196,220,14,32,60,0,60,0,60,0,14,32,3,216,132,220,14,32,60,0,14,32,3,216,197,220,14,32,60,0,60,0,60,0,14,32,3,216,133,220,14,32,60,0,14,32,3,216,198,220,14,32,60,0,60,0,60,0,14,32,3,216,134,220,14,32,60,0,14,32,3,216,199,220,14,32,60,0,60,0,60,0,14,32,3,216,135,220,14,32,60,0,14,32,3,216,200,220,14,32,60,0,60,0,60,0,14,32,3,216,136,220,14,32,60,0,14,32,3,216,201,220,14,32,60,0,60,0,60,0,14,32,3,216,137,220,14,32,60,0,60,0,14,32,3,216,202,220,14,32,60,0,60,0,60,0,14,32,3,216,138,220,14,32,60,0,60,0,14,32,3,216,203,220,14,32,60,0,60,0,60,0,14,32,3,216,139,220,14,32,60,0,14,32,3,216,204,220,14,32,60,0,60,0,60,0,14,32,3,216,140,220,14,32,60,0,14,32,3,216,205,220,14,32,60,0,60,0,60,0,14,32,3,216,141,220,14,32,60,0,14,32,3,216,206,220,14,32,60,0,60,0,60,0,14,32,3,216,142,220,14,32,60,0,14,32,3,216,207,220,14,32,60,0,60,0,60,0,14,32,3,216,143,220,14,32,60,0,14,32,3,216,208,220,14,32,60,0,60,0,60,0,14,32,3,216,144,220,14,32,60,0,60,0,14,32,3,216,209,220,14,32,60,0,60,0,60,0,14,32,3,216,145,220,14,32,60,0,14,32,3,216,210,220,14,32,60,0,60,0,60,0,14,32,3,216,146,220,14,32,60,0,14,32,3,216,211,220,14,32,60,0,60,0,60,0,14,32,3,216,147,220,14,32,60,0,14,32,3,216,212,220,14,32,60,0,60,0,60,0,14,32,3,216,148,220,14,32,60,0,14,32,3,216,213,220,14,32,60,0,60,0,60,0,14,32,3,216,149,220,14,32,60,0,14,32,3,216,214,220,14,32,60,0,60,0,60,0,14,32,3,216,150,220,14,32,60,0,14,32,3,216,215,220,14,32,60,0,60,0,60,0,14,32,3,216,151,220,14,32,60,0,14,32,3,216,216,220,14,32,60,0,60,0,60,0,14,32,3,216,152,220,14,32,60,0,14,32,3,216,217,220,14,32,60,0,60,0,60,0,14,32,3,216,153,220,14,32,60,0,14,32,3,216,218,220,14,32,60,0,60,0,60,0,14,32,3,216,154,220,14,32,60,0,14,32,3,216,219,220,14,32,60,0,60,0,60,0,14,32,3,216,155,220,14,32,60,0,60,0,14,32,3,216,220,220,14,32,60,0,60,0,60,0,14,32,3,216,156,220,14,32,60,0,14,32,3,216,221,220,14,32,60,0,60,0,60,0,14,32,3,216,157,220,14,32,60,0,60,0,14,32,3,216,222,220,14,32,60,0,60,0,60,0,14,32,3,216,158,220,14,32,60,0,60,0,14,32,3,216,223,220,14,32,60,0,60,0,60,0,14,32,3,216,159,220,14,32,60,0,14,32,3,216,224,220,14,32,60,0,60,0,60,0,14,32,3,216,160,220,14,32,60,0,14,32,3,216,225,220,14,32,60,0,60,0,60,0,14,32,3,216,161,220,14,32,60,0,14,32,3,216,226,220,14,32,60,0,60,0,60,0,14,32,3,216,162,220,14,32,60,0,60,0,14,32,3,216,227,220,14,32,60,0,60,0,60,0,14,32,3,216,163,220,14,32,60,0,14,32,3,216,228,220,14,32,60,0,60,0,60,0,14,32,3,216,164,220,14,32,60,0,14,32,3,216,229,220,14,32,60,0,60,0,60,0,14,32,3,216,165,220,14,32,60,0,14,32,3,216,230,220,14,32,60,0,60,0,60,0,14,32,3,216,166,220,14,32,60,0,14,32,3,216,231,220,14,32,60,0,60,0,60,0,14,32,3,216,167,220,14,32,60,0,14,32,3,216,232,220,14,32,60,0,60,0,60,0,14,32,3,216,168,220,14,32,60,0,14,32,3,216,233,220,14,32,60,0,60,0,60,0,14,32,3,216,169,220,14,32,60,0,14,32,3,216,234,220,14,32,60,0,60,0,60,0,14,32,3,216,170,220,14,32,60,0,60,0,14,32,3,216,235,220,14,32,60,0,60,0,60,0,14,32,3,216,171,220,14,32,60,0,14,32,3,216,236,220,14,32,60,0,60,0,60,0,14,32,3,216,172,220,14,32,60,0,60,0,14,32,3,216,237,220,14,32,60,0,60,0,60,0,14,32,3,216,173,220,14,32,60,0,14,32,3,216,238,220,14,32,60,0,60,0,60,0,14,32,3,216,174,220,14,32,60,0,14,32,3,216,239,220,14,32,60,0,60,0,60,0,14,32,3,216,175,220,14,32,60,0,14,32,3,216,240,220,14,32,60,0,60,0,60,0,14,32,3,216,176,220,14,32,60,0,14,32,3,216,241,220,14,32,60,0,60,0,60,0,14,32,3,216,177,220,14,32,60,0,14,32,3,216,242,220,14,32,60,0,60,0,60,0,14,32,3,216,178,220,14,32,60,0,14,32,3,216,0,220,14,32,60,0,60,0,14,32,3,216,1,220,14,32,60,0,14,32,3,216,2,220,14,32,60,0,14,32,3,216,3,220,14,32,60,0,60,0,14,32,3,216,4,220,14,32,60,0,14,32,3,216,5,220,14,32,60,0,14,32,3,216,6,220,14,32,60,0,14,32,3,216,7,220,14,32,60,0,60,0,14,32,3,216,8,220,14,32,60,0,14,32,3,216,9,220,14,32,60,0,60,0,14,32,3,216,10,220,14,32,60,0,14,32,3,216,11,220,14,32,60,0,60,0,14,32,3,216,12,220,14,32,60,0,14,32,3,216,13,220,14,32,60,0,60,0,14,32,3,216,14,220,14,32,60,0,14,32,3,216,15,220,14,32,60,0,60,0,14,32,3,216,16,220,14,32,60,0,14,32,3,216,17,220,14,32,60,0,60,0,14,32,3,216,18,220,14,32,60,0,14,32,3,216,19,220,14,32,60,0,14,32,3,216,20,220,14,32,60,0,60,0,14,32,3,216,21,220,14,32,60,0,14,32,3,216,22,220,14,32,60,0,60,0,14,32,3,216,23,220,14,32,60,0,14,32,3,216,24,220,14,32,60,0,60,0,14,32,3,216,25,220,14,32,60,0,14,32,3,216,26,220,14,32,60,0,60,0,14,32,3,216,27,220,14,32,60,0,14,32,3,216,28,220,14,32,60,0,60,0,14,32,3,216,29,220,14,32,60,0,14,32,3,216,30,220,14,32,60,0,60,0,14,32,3,216,31,220,14,32,60,0,14,32,3,216,32,220,14,32,60,0,14,32,3,216,33,220,14,32,60,0,14,32,3,216,34,220,14,32,60,0,14,32,3,216,35,220,14,32,60,0,14,32,3,216,36,220,14,32,60,0,60,0,14,32,3,216,37,220,14,32,60,0,14,32,3,216,38,220,14,32,60,0,60,0,14,32,3,216,39,220,14,32,60,0,14,32,3,216,40,220,14,32,60,0,60,0,14,32,3,216,41,220,14,32,60,0,14,32,3,216,42,220,14,32,60,0,60,0,14,32,3,216,43,220,14,32,60,0,14,32,3,216,44,220,14,32,60,0,14,32,3,216,45,220,14,32,60,0,60,0,14,32,3,216,46,220,14,32,60,0,14,32,3,216,47,220,14,32,60,0,14,32,3,216,48,220,14,32,60,0,14,32,3,216,49,220,14,32,60,0,14,32,3,216,50,220,14,32,60,0,60,0,14,32,3,216,51,220,14,32,60,0,14,32,3,216,52,220,14,32,60,0,60,0,14,32,3,216,53,220,14,32,60,0,14,32,3,216,54,220,14,32,60,0,60,0,14,32,3,216,55,220,14,32,60,0,14,32,3,216,56,220,14,32,60,0,60,0,14,32,3,216,57,220,14,32,60,0,14,32,3,216,58,220,14,32,60,0,60,0,14,32,3,216,59,220,14,32,60,0,14,32,3,216,60,220,14,32,60,0,14,32,3,216,61,220,14,32,60,0,14,32,3,216,62,220,14,32,60,0,14,32,3,216,63,220,14,32,60,0,60,0,14,32,3,216,64,220,14,32,60,0,14,32,3,216,65,220,14,32,60,0,60,0,14,32,3,216,66,220,14,32,60,0,14,32,3,216,67,220,14,32,60,0,60,0,14,32,3,216,68,220,14,32,60,0,14,32,3,216,69,220,14,32,60,0,60,0,14,32,3,216,70,220,14,32,60,0,14,32,3,216,71,220,14,32,60,0,14,32,3,216,72,220,14,32,60,0,0,165,60,0,1,165,60,0,2,165,60,0,3,165,60,0,4,165,60,0,5,165,60,0,6,165,60,0,7,165,60,0,8,165,60,0,9,165,60,0,10,165,60,0,11,165,60,0,12,165,60,0,60,0,60,0,19,166,47,0,11,166,60,0,13,165,60,0,14,165,60,0,15,165,60,0,16,165,60,0,17,165,60,0,18,165,60,0,19,165,60,0,20,165,60,0,21,165,60,0,22,165,60,0,23,165,60,0,24,165,60,0,25,165,60,0,26,165,60,0,27,165,60,0,28,165,60,0,29,165,60,0,30,165,60,0,60,0,60,0,20,166,47,0,11,166,60,0,31,165,60,0,32,165,60,0,33,165,60,0,34,165,60,0,35,165,60,0,36,165,60,0,37,165,60,0,38,165,60,0,39,165,60,0,40,165,60,0,41,165,60,0,42,165,60,0,43,165,60,0,44,165,60,0,45,165,60,0,46,165,60,0,47,165,60,0,48,165,60,0,49,165,60,0,50,165,60,0,51,165,60,0,60,0,60,0,21,166,47,0,11,166,60,0,52,165,60,0,53,165,60,0,54,165,60,0,55,165,60,0,56,165,60,0,57,165,60,0,58,165,60,0,59,165,60,0,60,165,60,0,61,165,60,0,62,165,60,0,63,165,60,0,64,165,60,0,65,165,60,0,66,165,60,0,67,165,60,0,68,165,60,0,69,165,60,0,70,165,60,0,71,165,60,0,60,0,60,0,22,166,47,0,12,166,60,0,72,165,60,0,73,165,60,0,74,165,60,0,75,165,60,0,76,165,60,0,77,165,60,0,78,165,60,0,79,165,60,0,80,165,60,0,81,165,60,0,82,165,60,0,60,0,60,0,23,166,47,0,11,166,60,0,83,165,60,0,84,165,60,0,85,165,60,0,86,165,60,0,87,165,60,0,88,165,60,0,60,0,60,0,16,166,60,0,60,0,60,0,24,166,47,0,12,166,60,0,89,165,60,0,90,165,60,0,60,0,60,0,25,166,47,0,12,166,60,0,91,165,60,0,92,165,60,0,93,165,60,0,94,165,60,0,95,165,60,0,96,165,60,0,60,0,60,0,26,166,47,0,11,166,60,0,97,165,60,0,98,165,60,0,99,165,60,0,100,165,60,0,101,165,60,0,102,165,60,0,103,165,60,0,104,165,60,0,105,165,60,0,106,165,60,0,60,0,60,0,17,166,60,0,107,165,60,0,108,165,60,0,109,165,60,0,110,165,60,0,60,0,60,0,42,166,60,0,111,165,60,0,112,165,60,0,113,165,60,0,114,165,60,0,115,165,60,0,116,165,60,0,117,165,60,0,118,165,60,0,119,165,60,0,120,165,60,0,121,165,60,0,122,165,60,0,123,165,60,0,124,165,60,0,125,165,60,0,126,165,60,0,127,165,60,0,128,165,60,0,129,165,60,0,130,165,60,0,131,165,60,0,132,165,60,0,133,165,60,0,60,0,60,0,27,166,47,0,11,166,60,0,134,165,60,0,135,165,60,0,60,0,60,0,18,166,60,0,136,165,60,0,137,165,60,0,138,165,60,0,139,165,60,0,140,165,60,0,141,165,60,0,142,165,60,0,143,165,60,0,144,165,60,0,145,165,60,0,146,165,60,0,147,165,60,0,148,165,60,0,149,165,60,0,150,165,60,0,151,165,60,0,152,165,60,0,153,165,60,0,154,165,60,0,155,165,60,0,156,165,60,0,157,165,60,0,158,165,60,0,159,165,60,0,160,165,60,0,161,165,60,0,162,165,60,0,163,165,60,0,164,165,60,0,165,165,60,0,166,165,60,0,167,165,60,0,168,165,60,0,169,165,60,0,170,165,60,0,171,165,60,0,172,165,60,0,173,165,60,0,174,165,60,0,175,165,60,0,176,165,60,0,177,165,60,0,178,165,60,0,179,165,60,0,180,165,60,0,60,0,60,0,28,166,47,0,11,166,60,0,181,165,60,0,182,165,60,0,183,165,60,0,184,165,60,0,185,165,60,0,186,165,60,0,187,165,60,0,188,165,60,0,189,165,60,0,190,165,60,0,191,165,60,0,192,165,60,0,193,165,60,0,194,165,60,0,195,165,60,0,196,165,60,0,197,165,60,0,198,165,60,0,199,165,60,0,200,165,60,0,201,165,60,0,202,165,60,0,203,165,60,0,60,0,60,0,29,166,47,0,11,166,60,0,204,165,60,0,205,165,60,0,206,165,60,0,207,165,60,0,208,165,60,0,209,165,60,0,60,0,60,0,43,166,60,0,60,0,60,0,30,166,47,0,12,166,60,0,210,165,60,0,211,165,60,0,212,165,60,0,213,165,60,0,214,165,60,0,215,165,60,0,216,165,60,0,60,0,60,0,31,166,47,0,11,166,60,0,217,165,60,0,218,165,60,0,219,165,60,0,220,165,60,0,221,165,60,0,222,165,60,0,223,165,60,0,224,165,60,0,225,165,60,0,226,165,60,0,227,165,60,0,228,165,60,0,229,165,60,0,230,165,60,0,231,165,60,0,232,165,60,0,233,165,60,0,234,165,60,0,235,165,60,0,236,165,60,0,237,165,60,0,238,165,60,0,239,165,60,0,240,165,60,0,241,165,60,0,242,165,60,0,243,165,60,0,244,165,60,0,245,165,60,0,246,165,60,0,247,165,60,0,248,165,60,0,249,165,60,0,250,165,60,0,251,165,60,0,252,165,60,0,253,165,60,0,254,165,60,0,255,165,60,0,0,166,60,0,1,166,60,0,2,166,60,0,3,166,60,0,4,166,60,0,5,166,60,0,6,166,60,0,7,166,60,0,8,166,60,0,9,166,60,0,10,166,60,0,11,166,60,0,12,166,60,0,160,166,60,0,161,166,60,0,162,166,60,0,163,166,60,0,164,166,60,0,165,166,60,0,166,166,60,0,167,166,60,0,168,166,60,0,169,166,60,0,170,166,60,0,171,166,60,0,172,166,60,0,173,166,60,0,174,166,60,0,175,166,60,0,176,166,60,0,177,166,60,0,178,166,60,0,179,166,60,0,180,166,60,0,181,166,60,0,182,166,60,0,183,166,60,0,184,166,60,0,185,166,60,0,186,166,60,0,187,166,60,0,188,166,60,0,189,166,60,0,190,166,60,0,191,166,60,0,192,166,60,0,193,166,60,0,194,166,60,0,195,166,60,0,196,166,60,0,197,166,60,0,198,166,60,0,199,166,60,0,200,166,60,0,201,166,60,0,202,166,60,0,203,166,60,0,204,166,60,0,205,166,60,0,206,166,60,0,207,166,60,0,208,166,60,0,209,166,60,0,210,166,60,0,211,166,60,0,212,166,60,0,213,166,60,0,214,166,60,0,215,166,60,0,216,166,60,0,217,166,60,0,218,166,60,0,219,166,60,0,220,166,60,0,221,166,60,0,222,166,60,0,223,166,60,0,224,166,60,0,225,166,60,0,226,166,60,0,227,166,60,0,228,166,60,0,229,166,60,0,230,166,60,0,231,166,60,0,232,166,60,0,233,166,60,0,234,166,60,0,235,166,60,0,236,166,60,0,237,166,60,0,238,166,60,0,239,166,60,0,26,216,0,220,60,0,26,216,1,220,60,0,26,216,2,220,60,0,26,216,3,220,60,0,26,216,4,220,60,0,26,216,5,220,60,0,26,216,6,220,60,0,26,216,7,220,60,0,26,216,8,220,60,0,26,216,9,220,60,0,26,216,10,220,60,0,26,216,11,220,60,0,26,216,12,220,60,0,26,216,13,220,60,0,26,216,14,220,60,0,26,216,15,220,60,0,26,216,16,220,60,0,26,216,17,220,60,0,26,216,18,220,60,0,26,216,19,220,60,0,26,216,20,220,60,0,26,216,21,220,60,0,26,216,22,220,60,0,26,216,23,220,60,0,26,216,24,220,60,0,26,216,25,220,60,0,26,216,26,220,60,0,26,216,27,220,60,0,26,216,28,220,60,0,26,216,29,220,60,0,26,216,30,220,60,0,26,216,31,220,60,0,26,216,32,220,60,0,26,216,33,220,60,0,26,216,34,220,60,0,26,216,35,220,60,0,26,216,36,220,60,0,26,216,37,220,60,0,26,216,38,220,60,0,26,216,39,220,60,0,26,216,40,220,60,0,26,216,41,220,60,0,26,216,42,220,60,0,26,216,43,220,60,0,26,216,44,220,60,0,26,216,45,220,60,0,26,216,46,220,60,0,26,216,47,220,60,0,26,216,48,220,60,0,26,216,49,220,60,0,26,216,50,220,60,0,26,216,51,220,60,0,26,216,52,220,60,0,26,216,53,220,60,0,26,216,54,220,60,0,26,216,55,220,60,0,26,216,56,220,60,0,26,216,57,220,60,0,26,216,58,220,60,0,26,216,59,220,60,0,26,216,60,220,60,0,26,216,61,220,60,0,26,216,62,220,60,0,26,216,63,220,60,0,26,216,64,220,60,0,26,216,65,220,60,0,26,216,66,220,60,0,26,216,67,220,60,0,26,216,68,220,60,0,26,216,69,220,60,0,26,216,70,220,60,0,26,216,71,220,60,0,26,216,72,220,60,0,26,216,73,220,60,0,26,216,74,220,60,0,26,216,75,220,60,0,26,216,76,220,60,0,26,216,77,220,60,0,26,216,78,220,60,0,26,216,79,220,60,0,26,216,80,220,60,0,26,216,81,220,60,0,26,216,82,220,60,0,26,216,83,220,60,0,26,216,84,220,60,0,26,216,85,220,60,0,26,216,86,220,60,0,26,216,87,220,60,0,26,216,88,220,60,0,26,216,89,220,60,0,26,216,90,220,60,0,26,216,91,220,60,0,26,216,92,220,60,0,26,216,93,220,60,0,26,216,94,220,60,0,26,216,95,220,60,0,26,216,96,220,60,0,26,216,97,220,60,0,26,216,98,220,60,0,26,216,99,220,60,0,26,216,100,220,60,0,26,216,101,220,60,0,26,216,102,220,60,0,26,216,103,220,60,0,26,216,104,220,60,0,26,216,105,220,60,0,26,216,106,220,60,0,26,216,107,220,60,0,26,216,108,220,60,0,26,216,109,220,60,0,26,216,110,220,60,0,26,216,111,220,60,0,26,216,112,220,60,0,26,216,113,220,60,0,26,216,114,220,60,0,26,216,115,220,60,0,26,216,116,220,60,0,26,216,117,220,60,0,26,216,118,220,60,0,26,216,119,220,60,0,26,216,120,220,60,0,26,216,121,220,60,0,26,216,122,220,60,0,26,216,123,220,60,0,26,216,124,220,60,0,26,216,125,220,60,0,26,216,126,220,60,0,26,216,127,220,60,0,26,216,128,220,60,0,26,216,129,220,60,0,26,216,130,220,60,0,26,216,131,220,60,0,26,216,132,220,60,0,26,216,133,220,60,0,26,216,134,220,60,0,26,216,135,220,60,0,26,216,136,220,60,0,26,216,137,220,60,0,26,216,138,220,60,0,26,216,139,220,60,0,26,216,140,220,60,0,26,216,141,220,60,0,26,216,142,220,60,0,26,216,143,220,60,0,26,216,144,220,60,0,26,216,145,220,60,0,26,216,146,220,60,0,26,216,147,220,60,0,26,216,148,220,60,0,26,216,149,220,60,0,26,216,150,220,60,0,26,216,151,220,60,0,26,216,152,220,60,0,26,216,153,220,60,0,26,216,154,220,60,0,26,216,155,220,60,0,26,216,156,220,60,0,26,216,157,220,60,0,26,216,158,220,60,0,26,216,159,220,60,0,26,216,160,220,60,0,26,216,161,220,60,0,26,216,162,220,60,0,26,216,163,220,60,0,26,216,164,220,60,0,26,216,165,220,60,0,26,216,166,220,60,0,26,216,167,220,60,0,26,216,168,220,60,0,26,216,169,220,60,0,26,216,170,220,60,0,26,216,171,220,60,0,26,216,172,220,60,0,26,216,173,220,60,0,26,216,174,220,60,0,26,216,175,220,60,0,26,216,176,220,60,0,26,216,177,220,60,0,26,216,178,220,60,0,26,216,179,220,60,0,26,216,180,220,60,0,26,216,181,220,60,0,26,216,182,220,60,0,26,216,183,220,60,0,26,216,184,220,60,0,26,216,185,220,60,0,26,216,186,220,60,0,26,216,187,220,60,0,26,216,188,220,60,0,26,216,189,220,60,0,26,216,190,220,60,0,26,216,191,220,60,0,26,216,192,220,60,0,26,216,193,220,60,0,26,216,194,220,60,0,26,216,195,220,60,0,26,216,196,220,60,0,26,216,197,220,60,0,26,216,198,220,60,0,26,216,199,220,60,0,26,216,200,220,60,0,26,216,201,220,60,0,26,216,202,220,60,0,26,216,203,220,60,0,26,216,204,220,60,0,26,216,205,220,60,0,26,216,206,220,60,0,26,216,207,220,60,0,26,216,208,220,60,0,26,216,209,220,60,0,26,216,210,220,60,0,26,216,211,220,60,0,26,216,212,220,60,0,26,216,213,220,60,0,26,216,214,220,60,0,26,216,215,220,60,0,26,216,216,220,60,0,26,216,217,220,60,0,26,216,218,220,60,0,26,216,219,220,60,0,26,216,220,220,60,0,26,216,221,220,60,0,26,216,222,220,60,0,26,216,223,220,60,0,26,216,224,220,60,0,26,216,225,220,60,0,26,216,226,220,60,0,26,216,227,220,60,0,26,216,228,220,60,0,26,216,229,220,60,0,26,216,230,220,60,0,26,216,231,220,60,0,26,216,232,220,60,0,26,216,233,220,60,0,26,216,234,220,60,0,26,216,235,220,60,0,26,216,236,220,60,0,26,216,237,220,60,0,26,216,238,220,60,0,26,216,239,220,60,0,26,216,240,220,60,0,26,216,241,220,60,0,26,216,242,220,60,0,26,216,243,220,60,0,26,216,244,220,60,0,26,216,245,220,60,0,26,216,246,220,60,0,26,216,247,220,60,0,26,216,248,220,60,0,26,216,249,220,60,0,26,216,250,220,60,0,26,216,251,220,60,0,26,216,252,220,60,0,26,216,253,220,60,0,26,216,254,220,60,0,26,216,255,220,60,0,26,216,0,221,60,0,26,216,1,221,60,0,26,216,2,221,60,0,26,216,3,221,60,0,26,216,4,221,60,0,26,216,5,221,60,0,26,216,6,221,60,0,26,216,7,221,60,0,26,216,8,221,60,0,26,216,9,221,60,0,26,216,10,221,60,0,26,216,11,221,60,0,26,216,12,221,60,0,26,216,13,221,60,0,26,216,14,221,60,0,26,216,15,221,60,0,26,216,16,221,60,0,26,216,17,221,60,0,26,216,18,221,60,0,26,216,19,221,60,0,26,216,20,221,60,0,26,216,21,221,60,0,26,216,22,221,60,0,26,216,23,221,60,0,26,216,24,221,60,0,26,216,25,221,60,0,26,216,26,221,60,0,26,216,27,221,60,0,26,216,28,221,60,0,26,216,29,221,60,0,26,216,30,221,60,0,26,216,31,221,60,0,26,216,32,221,60,0,26,216,33,221,60,0,26,216,34,221,60,0,26,216,35,221,60,0,26,216,36,221,60,0,26,216,37,221,60,0,26,216,38,221,60,0,26,216,39,221,60,0,26,216,40,221,60,0,26,216,41,221,60,0,26,216,42,221,60,0,26,216,43,221,60,0,26,216,44,221,60,0,26,216,45,221,60,0,26,216,46,221,60,0,26,216,47,221,60,0,26,216,48,221,60,0,26,216,49,221,60,0,26,216,50,221,60,0,26,216,51,221,60,0,26,216,52,221,60,0,26,216,53,221,60,0,26,216,54,221,60,0,26,216,55,221,60,0,26,216,56,221,60,0,26,216,57,221,60,0,26,216,58,221,60,0,26,216,59,221,60,0,26,216,60,221,60,0,26,216,61,221,60,0,26,216,62,221,60,0,26,216,63,221,60,0,26,216,64,221,60,0,26,216,65,221,60,0,26,216,66,221,60,0,26,216,67,221,60,0,26,216,68,221,60,0,26,216,69,221,60,0,26,216,70,221,60,0,26,216,71,221,60,0,26,216,72,221,60,0,26,216,73,221,60,0,26,216,74,221,60,0,26,216,75,221,60,0,26,216,76,221,60,0,26,216,77,221,60,0,26,216,78,221,60,0,26,216,79,221,60,0,26,216,80,221,60,0,26,216,81,221,60,0,26,216,82,221,60,0,26,216,83,221,60,0,26,216,84,221,60,0,26,216,85,221,60,0,26,216,86,221,60,0,26,216,87,221,60,0,26,216,88,221,60,0,26,216,89,221,60,0,26,216,90,221,60,0,26,216,91,221,60,0,26,216,92,221,60,0,26,216,93,221,60,0,26,216,94,221,60,0,26,216,95,221,60,0,26,216,96,221,60,0,26,216,97,221,60,0,26,216,98,221,60,0,26,216,99,221,60,0,26,216,100,221,60,0,26,216,101,221,60,0,26,216,102,221,60,0,26,216,103,221,60,0,26,216,104,221,60,0,26,216,105,221,60,0,26,216,106,221,60,0,26,216,107,221,60,0,26,216,108,221,60,0,26,216,109,221,60,0,26,216,110,221,60,0,26,216,111,221,60,0,26,216,112,221,60,0,26,216,113,221,60,0,26,216,114,221,60,0,26,216,115,221,60,0,26,216,116,221,60,0,26,216,117,221,60,0,26,216,118,221,60,0,26,216,119,221,60,0,26,216,120,221,60,0,26,216,121,221,60,0,26,216,122,221,60,0,26,216,123,221,60,0,26,216,124,221,60,0,26,216,125,221,60,0,26,216,126,221,60,0,26,216,127,221,60,0,26,216,128,221,60,0,26,216,129,221,60,0,26,216,130,221,60,0,26,216,131,221,60,0,26,216,132,221,60,0,26,216,133,221,60,0,26,216,134,221,60,0,26,216,135,221,60,0,26,216,136,221,60,0,26,216,137,221,60,0,26,216,138,221,60,0,26,216,139,221,60,0,26,216,140,221,60,0,26,216,141,221,60,0,26,216,142,221,60,0,26,216,143,221,60,0,26,216,144,221,60,0,26,216,145,221,60,0,26,216,146,221,60,0,26,216,147,221,60,0,26,216,148,221,60,0,26,216,149,221,60,0,26,216,150,221,60,0,26,216,151,221,60,0,26,216,152,221,60,0,26,216,153,221,60,0,26,216,154,221,60,0,26,216,155,221,60,0,26,216,156,221,60,0,26,216,157,221,60,0,26,216,158,221,60,0,26,216,159,221,60,0,26,216,160,221,60,0,26,216,161,221,60,0,26,216,162,221,60,0,26,216,163,221,60,0,26,216,164,221,60,0,26,216,165,221,60,0,26,216,166,221,60,0,26,216,167,221,60,0,26,216,168,221,60,0,26,216,169,221,60,0,26,216,170,221,60,0,26,216,171,221,60,0,26,216,172,221,60,0,26,216,173,221,60,0,26,216,174,221,60,0,26,216,175,221,60,0,26,216,176,221,60,0,26,216,177,221,60,0,26,216,178,221,60,0,26,216,179,221,60,0,26,216,180,221,60,0,26,216,181,221,60,0,26,216,182,221,60,0,26,216,183,221,60,0,26,216,184,221,60,0,26,216,185,221,60,0,26,216,186,221,60,0,26,216,187,221,60,0,26,216,188,221,60,0,26,216,189,221,60,0,26,216,190,221,60,0,26,216,191,221,60,0,26,216,192,221,60,0,26,216,193,221,60,0,26,216,194,221,60,0,26,216,195,221,60,0,26,216,196,221,60,0,26,216,197,221,60,0,26,216,198,221,60,0,26,216,199,221,60,0,26,216,200,221,60,0,26,216,201,221,60,0,26,216,202,221,60,0,26,216,203,221,60,0,26,216,204,221,60,0,26,216,205,221,60,0,26,216,206,221,60,0,26,216,207,221,60,0,26,216,208,221,60,0,26,216,209,221,60,0,26,216,210,221,60,0,26,216,211,221,60,0,26,216,212,221,60,0,26,216,213,221,60,0,26,216,214,221,60,0,26,216,215,221,60,0,26,216,216,221,60,0,26,216,217,221,60,0,26,216,218,221,60,0,26,216,219,221,60,0,26,216,220,221,60,0,26,216,221,221,60,0,26,216,222,221,60,0,26,216,223,221,60,0,26,216,224,221,60,0,26,216,225,221,60,0,26,216,226,221,60,0,26,216,227,221,60,0,26,216,228,221,60,0,26,216,229,221,60,0,26,216,230,221,60,0,26,216,231,221,60,0,26,216,232,221,60,0,26,216,233,221,60,0,26,216,234,221,60,0,26,216,235,221,60,0,26,216,236,221,60,0,26,216,237,221,60,0,26,216,238,221,60,0,26,216,239,221,60,0,26,216,240,221,60,0,26,216,241,221,60,0,26,216,242,221,60,0,26,216,243,221,60,0,26,216,244,221,60,0,26,216,245,221,60,0,26,216,246,221,60,0,26,216,247,221,60,0,26,216,248,221,60,0,26,216,249,221,60,0,26,216,250,221,60,0,26,216,251,221,60,0,26,216,252,221,60,0,26,216,253,221,60,0,26,216,254,221,60,0,26,216,255,221,60,0,26,216,0,222,60,0,26,216,1,222,60,0,26,216,2,222,60,0,26,216,3,222,60,0,26,216,4,222,60,0,26,216,5,222,60,0,26,216,6,222,60,0,26,216,7,222,60,0,26,216,8,222,60,0,26,216,9,222,60,0,26,216,10,222,60,0,26,216,11,222,60,0,26,216,12,222,60,0,26,216,13,222,60,0,26,216,14,222,60,0,26,216,15,222,60,0,26,216,16,222,60,0,26,216,17,222,60,0,26,216,18,222,60,0,26,216,19,222,60,0,26,216,20,222,60,0,26,216,21,222,60,0,26,216,22,222,60,0,26,216,23,222,60,0,26,216,24,222,60,0,26,216,25,222,60,0,26,216,26,222,60,0,26,216,27,222,60,0,26,216,28,222,60,0,26,216,29,222,60,0,26,216,30,222,60,0,26,216,31,222,60,0,26,216,32,222,60,0,26,216,33,222,60,0,26,216,34,222,60,0,26,216,35,222,60,0,26,216,36,222,60,0,26,216,37,222,60,0,26,216,38,222,60,0,26,216,39,222,60,0,26,216,40,222,60,0,26,216,41,222,60,0,26,216,42,222,60,0,26,216,43,222,60,0,26,216,44,222,60,0,26,216,45,222,60,0,26,216,46,222,60,0,26,216,47,222,60,0,26,216,48,222,60,0,26,216,49,222,60,0,26,216,50,222,60,0,26,216,51,222,60,0,26,216,52,222,60,0,26,216,53,222,60,0,26,216,54,222,60,0,26,216,55,222,60,0,26,216,56,222,60,0,26,216,208,222,60,0,26,216,209,222,60,0,26,216,210,222,60,0,26,216,211,222,60,0,26,216,212,222,60,0,26,216,213,222,60,0,26,216,214,222,60,0,26,216,215,222,60,0,26,216,216,222,60,0,26,216,217,222,60,0,26,216,218,222,60,0,26,216,219,222,60,0,26,216,220,222,60,0,26,216,221,222,60,0,26,216,222,222,60,0,26,216,223,222,60,0,26,216,224,222,60,0,26,216,225,222,60,0,26,216,226,222,60,0,26,216,227,222,60,0,26,216,228,222,60,0,26,216,229,222,60,0,26,216,230,222,60,0,26,216,231,222,60,0,26,216,232,222,60,0,26,216,233,222,60,0,26,216,234,222,60,0,26,216,235,222,60,0,26,216,236,222,60,0,26,216,237,222,60,0,14,32,58,216,0,220,14,32,60,0,14,32,58,216,1,220,14,32,60,0,14,32,58,216,2,220,14,32,60,0,14,32,58,216,3,220,14,32,60,0,14,32,58,216,4,220,14,32,60,0,14,32,58,216,5,220,14,32,60,0,14,32,58,216,6,220,14,32,60,0,14,32,58,216,7,220,14,32,60,0,14,32,58,216,8,220,14,32,60,0,14,32,58,216,9,220,14,32,60,0,14,32,58,216,10,220,14,32,60,0,14,32,58,216,11,220,14,32,60,0,14,32,58,216,12,220,14,32,60,0,14,32,58,216,13,220,14,32,60,0,14,32,58,216,14,220,14,32,60,0,14,32,58,216,15,220,14,32,60,0,14,32,58,216,16,220,14,32,60,0,14,32,58,216,17,220,14,32,60,0,14,32,58,216,18,220,14,32,60,0,14,32,58,216,19,220,14,32,60,0,14,32,58,216,20,220,14,32,60,0,14,32,58,216,21,220,14,32,60,0,14,32,58,216,22,220,14,32,60,0,14,32,58,216,23,220,14,32,60,0,14,32,58,216,24,220,14,32,60,0,14,32,58,216,25,220,14,32,60,0,14,32,58,216,26,220,14,32,60,0,14,32,58,216,27,220,14,32,60,0,14,32,58,216,28,220,14,32,60,0,14,32,58,216,29,220,14,32,60,0,14,32,58,216,30,220,14,32,60,0,14,32,58,216,31,220,14,32,60,0,14,32,58,216,32,220,14,32,60,0,14,32,58,216,33,220,14,32,60,0,14,32,58,216,34,220,14,32,60,0,14,32,58,216,35,220,14,32,60,0,14,32,58,216,36,220,14,32,60,0,14,32,58,216,37,220,14,32,60,0,14,32,58,216,38,220,14,32,60,0,14,32,58,216,39,220,14,32,60,0,14,32,58,216,40,220,14,32,60,0,14,32,58,216,41,220,14,32,60,0,14,32,58,216,42,220,14,32,60,0,14,32,58,216,43,220,14,32,60,0,14,32,58,216,44,220,14,32,60,0,14,32,58,216,45,220,14,32,60,0,14,32,58,216,46,220,14,32,60,0,14,32,58,216,47,220,14,32,60,0,14,32,58,216,48,220,14,32,60,0,14,32,58,216,49,220,14,32,60,0,14,32,58,216,50,220,14,32,60,0,14,32,58,216,51,220,14,32,60,0,14,32,58,216,52,220,14,32,60,0,14,32,58,216,53,220,14,32,60,0,14,32,58,216,54,220,14,32,60,0,14,32,58,216,55,220,14,32,60,0,14,32,58,216,56,220,14,32,60,0,14,32,58,216,57,220,14,32,60,0,14,32,58,216,58,220,14,32,60,0,14,32,58,216,59,220,14,32,60,0,14,32,58,216,60,220,14,32,60,0,14,32,58,216,61,220,14,32,60,0,14,32,58,216,62,220,14,32,60,0,14,32,58,216,63,220,14,32,60,0,14,32,58,216,64,220,14,32,60,0,14,32,58,216,65,220,14,32,60,0,14,32,58,216,66,220,14,32,60,0,14,32,58,216,67,220,14,32,60,0,14,32,58,216,68,220,14,32,60,0,14,32,58,216,69,220,14,32,60,0,14,32,58,216,70,220,14,32,60,0,14,32,58,216,71,220,14,32,60,0,14,32,58,216,72,220,14,32,60,0,14,32,58,216,73,220,14,32,60,0,14,32,58,216,74,220,14,32,60,0,14,32,58,216,75,220,14,32,60,0,14,32,58,216,76,220,14,32,60,0,14,32,58,216,77,220,14,32,60,0,14,32,58,216,78,220,14,32,60,0,14,32,58,216,79,220,14,32,60,0,14,32,58,216,80,220,14,32,60,0,14,32,58,216,81,220,14,32,60,0,14,32,58,216,82,220,14,32,60,0,14,32,58,216,83,220,14,32,60,0,14,32,58,216,84,220,14,32,60,0,14,32,58,216,85,220,14,32,60,0,14,32,58,216,86,220,14,32,60,0,14,32,58,216,87,220,14,32,60,0,14,32,58,216,88,220,14,32,60,0,14,32,58,216,89,220,14,32,60,0,14,32,58,216,90,220,14,32,60,0,14,32,58,216,91,220,14,32,60,0,14,32,58,216,92,220,14,32,60,0,14,32,58,216,93,220,14,32,60,0,14,32,58,216,94,220,14,32,60,0,14,32,58,216,95,220,14,32,60,0,14,32,58,216,96,220,14,32,60,0,14,32,58,216,97,220,14,32,60,0,14,32,58,216,98,220,14,32,60,0,14,32,58,216,99,220,14,32,60,0,14,32,58,216,100,220,14,32,60,0,14,32,58,216,101,220,14,32,60,0,14,32,58,216,102,220,14,32,60,0,14,32,58,216,103,220,14,32,60,0,14,32,58,216,104,220,14,32,60,0,14,32,58,216,105,220,14,32,60,0,14,32,58,216,106,220,14,32,60,0,14,32,58,216,107,220,14,32,60,0,14,32,58,216,108,220,14,32,60,0,14,32,58,216,109,220,14,32,60,0,14,32,58,216,110,220,14,32,60,0,14,32,58,216,111,220,14,32,60,0,14,32,58,216,112,220,14,32,60,0,14,32,58,216,113,220,14,32,60,0,14,32,58,216,114,220,14,32,60,0,14,32,58,216,115,220,14,32,60,0,14,32,58,216,116,220,14,32,60,0,14,32,58,216,117,220,14,32,60,0,14,32,58,216,118,220,14,32,60,0,14,32,58,216,119,220,14,32,60,0,14,32,58,216,120,220,14,32,60,0,14,32,58,216,121,220,14,32,60,0,14,32,58,216,122,220,14,32,60,0,14,32,58,216,123,220,14,32,60,0,14,32,58,216,124,220,14,32,60,0,14,32,58,216,125,220,14,32,60,0,14,32,58,216,126,220,14,32,60,0,14,32,58,216,127,220,14,32,60,0,14,32,58,216,128,220,14,32,60,0,14,32,58,216,129,220,14,32,60,0,14,32,58,216,130,220,14,32,60,0,14,32,58,216,131,220,14,32,60,0,14,32,58,216,132,220,14,32,60,0,14,32,58,216,133,220,14,32,60,0,14,32,58,216,134,220,14,32,60,0,14,32,58,216,135,220,14,32,60,0,14,32,58,216,136,220,14,32,60,0,14,32,58,216,137,220,14,32,60,0,14,32,58,216,138,220,14,32,60,0,14,32,58,216,139,220,14,32,60,0,14,32,58,216,140,220,14,32,60,0,14,32,58,216,141,220,14,32,60,0,14,32,58,216,142,220,14,32,60,0,14,32,58,216,143,220,14,32,60,0,14,32,58,216,144,220,14,32,60,0,14,32,58,216,145,220,14,32,60,0,14,32,58,216,146,220,14,32,60,0,14,32,58,216,147,220,14,32,60,0,14,32,58,216,148,220,14,32,60,0,14,32,58,216,149,220,14,32,60,0,14,32,58,216,150,220,14,32,60,0,14,32,58,216,151,220,14,32,60,0,14,32,58,216,152,220,14,32,60,0,14,32,58,216,153,220,14,32,60,0,14,32,58,216,154,220,14,32,60,0,14,32,58,216,155,220,14,32,60,0,14,32,58,216,156,220,14,32,60,0,14,32,58,216,157,220,14,32,60,0,14,32,58,216,158,220,14,32,60,0,14,32,58,216,159,220,14,32,60,0,14,32,58,216,160,220,14,32,60,0,14,32,58,216,161,220,14,32,60,0,14,32,58,216,162,220,14,32,60,0,14,32,58,216,163,220,14,32,60,0,14,32,58,216,164,220,14,32,60,0,14,32,58,216,165,220,14,32,60,0,14,32,58,216,166,220,14,32,60,0,14,32,58,216,167,220,14,32,60,0,14,32,58,216,168,220,14,32,60,0,14,32,58,216,169,220,14,32,60,0,14,32,58,216,170,220,14,32,60,0,14,32,58,216,171,220,14,32,60,0,14,32,58,216,172,220,14,32,60,0,14,32,58,216,173,220,14,32,60,0,14,32,58,216,174,220,14,32,60,0,14,32,58,216,175,220,14,32,60,0,14,32,58,216,176,220,14,32,60,0,14,32,58,216,177,220,14,32,60,0,14,32,58,216,178,220,14,32,60,0,14,32,58,216,179,220,14,32,60,0,14,32,58,216,180,220,14,32,60,0,14,32,58,216,181,220,14,32,60,0,14,32,58,216,182,220,14,32,60,0,14,32,58,216,183,220,14,32,60,0,14,32,58,216,184,220,14,32,60,0,14,32,58,216,185,220,14,32,60,0,14,32,58,216,186,220,14,32,60,0,14,32,58,216,187,220,14,32,60,0,14,32,58,216,188,220,14,32,60,0,14,32,58,216,189,220,14,32,60,0,14,32,58,216,190,220,14,32,60,0,14,32,58,216,191,220,14,32,60,0,14,32,58,216,192,220,14,32,60,0,14,32,58,216,193,220,14,32,60,0,14,32,58,216,194,220,14,32,60,0,14,32,58,216,195,220,14,32,60,0,14,32,58,216,196,220,14,32,60,0,27,216,96,222,60,0,60,0,60,0,27,216,64,222,60,0,27,216,97,222,60,0,60,0,60,0,27,216,65,222,60,0,27,216,98,222,60,0,60,0,60,0,27,216,66,222,60,0,27,216,99,222,60,0,60,0,60,0,27,216,67,222,60,0,27,216,100,222,60,0,60,0,60,0,27,216,68,222,60,0,27,216,101,222,60,0,60,0,60,0,27,216,69,222,60,0,27,216,102,222,60,0,60,0,60,0,27,216,70,222,60,0,27,216,103,222,60,0,60,0,60,0,27,216,71,222,60,0,27,216,104,222,60,0,60,0,60,0,27,216,72,222,60,0,27,216,105,222,60,0,60,0,60,0,27,216,73,222,60,0,27,216,106,222,60,0,60,0,60,0,27,216,74,222,60,0,27,216,107,222,60,0,60,0,60,0,27,216,75,222,60,0,27,216,108,222,60,0,60,0,60,0,27,216,76,222,60,0,27,216,109,222,60,0,60,0,60,0,27,216,77,222,60,0,27,216,110,222,60,0,60,0,60,0,27,216,78,222,60,0,27,216,111,222,60,0,60,0,60,0,27,216,79,222,60,0,27,216,112,222,60,0,60,0,60,0,27,216,80,222,60,0,27,216,113,222,60,0,60,0,60,0,27,216,81,222,60,0,27,216,114,222,60,0,60,0,60,0,27,216,82,222,60,0,27,216,115,222,60,0,60,0,60,0,27,216,83,222,60,0,27,216,116,222,60,0,60,0,60,0,27,216,84,222,60,0,27,216,117,222,60,0,60,0,60,0,27,216,85,222,60,0,27,216,118,222,60,0,60,0,60,0,27,216,86,222,60,0,27,216,119,222,60,0,60,0,60,0,27,216,87,222,60,0,27,216,120,222,60,0,60,0,60,0,27,216,88,222,60,0,27,216,121,222,60,0,60,0,60,0,27,216,89,222,60,0,27,216,122,222,60,0,60,0,60,0,27,216,90,222,60,0,27,216,123,222,60,0,60,0,60,0,27,216,91,222,60,0,27,216,124,222,60,0,60,0,60,0,27,216,92,222,60,0,27,216,125,222,60,0,60,0,60,0,27,216,93,222,60,0,27,216,126,222,60,0,60,0,60,0,27,216,94,222,60,0,27,216,127,222,60,0,60,0,60,0,27,216,95,222,60,0,14,32,58,216,34,221,14,32,60,0,60,0,60,0,14,32,58,216,0,221,14,32,60,0,14,32,58,216,35,221,14,32,60,0,60,0,60,0,14,32,58,216,1,221,14,32,60,0,14,32,58,216,36,221,14,32,60,0,60,0,60,0,14,32,58,216,2,221,14,32,60,0,14,32,58,216,37,221,14,32,60,0,60,0,60,0,14,32,58,216,3,221,14,32,60,0,14,32,58,216,38,221,14,32,60,0,60,0,60,0,14,32,58,216,4,221,14,32,60,0,14,32,58,216,39,221,14,32,60,0,60,0,60,0,14,32,58,216,5,221,14,32,60,0,14,32,58,216,40,221,14,32,60,0,60,0,60,0,14,32,58,216,6,221,14,32,60,0,14,32,58,216,41,221,14,32,60,0,60,0,60,0,14,32,58,216,7,221,14,32,60,0,14,32,58,216,42,221,14,32,60,0,60,0,60,0,14,32,58,216,8,221,14,32,60,0,14,32,58,216,43,221,14,32,60,0,60,0,60,0,14,32,58,216,9,221,14,32,60,0,14,32,58,216,44,221,14,32,60,0,60,0,60,0,14,32,58,216,10,221,14,32,60,0,14,32,58,216,45,221,14,32,60,0,60,0,60,0,14,32,58,216,11,221,14,32,60,0,14,32,58,216,46,221,14,32,60,0,60,0,60,0,14,32,58,216,12,221,14,32,60,0,14,32,58,216,47,221,14,32,60,0,60,0,60,0,14,32,58,216,13,221,14,32,60,0,14,32,58,216,48,221,14,32,60,0,60,0,60,0,14,32,58,216,14,221,14,32,60,0,14,32,58,216,49,221,14,32,60,0,60,0,60,0,14,32,58,216,15,221,14,32,60,0,14,32,58,216,50,221,14,32,60,0,60,0,60,0,14,32,58,216,16,221,14,32,60,0,14,32,58,216,51,221,14,32,60,0,60,0,60,0,14,32,58,216,17,221,14,32,60,0,14,32,58,216,52,221,14,32,60,0,60,0,60,0,14,32,58,216,18,221,14,32,60,0,14,32,58,216,53,221,14,32,60,0,60,0,60,0,14,32,58,216,19,221,14,32,60,0,14,32,58,216,54,221,14,32,60,0,60,0,60,0,14,32,58,216,20,221,14,32,60,0,14,32,58,216,55,221,14,32,60,0,60,0,60,0,14,32,58,216,21,221,14,32,60,0,14,32,58,216,56,221,14,32,60,0,60,0,60,0,14,32,58,216,22,221,14,32,60,0,14,32,58,216,57,221,14,32,60,0,60,0,60,0,14,32,58,216,23,221,14,32,60,0,14,32,58,216,58,221,14,32,60,0,60,0,60,0,14,32,58,216,24,221,14,32,60,0,14,32,58,216,59,221,14,32,60,0,60,0,60,0,14,32,58,216,25,221,14,32,60,0,14,32,58,216,60,221,14,32,60,0,60,0,60,0,14,32,58,216,26,221,14,32,60,0,14,32,58,216,61,221,14,32,60,0,60,0,60,0,14,32,58,216,27,221,14,32,60,0,14,32,58,216,62,221,14,32,60,0,60,0,60,0,14,32,58,216,28,221,14,32,60,0,14,32,58,216,63,221,14,32,60,0,60,0,60,0,14,32,58,216,29,221,14,32,60,0,14,32,58,216,64,221,14,32,60,0,60,0,60,0,14,32,58,216,30,221,14,32,60,0,14,32,58,216,65,221,14,32,60,0,60,0,60,0,14,32,58,216,31,221,14,32,60,0,14,32,58,216,66,221,14,32,60,0,60,0,60,0,14,32,58,216,32,221,14,32,60,0,14,32,58,216,67,221,14,32,60,0,60,0,60,0,14,32,58,216,33,221,14,32,60,0,14,32,58,216,75,221,14,32,60,0,0,17,60,0,60,0,60,0,49,49,60,0,60,0,60,0,96,50,60,0,60,0,60,0,110,50,47,0,97,17,60,0,60,0,60,0,161,255,60,0,1,17,60,0,60,0,60,0,50,49,60,0,60,0,60,0,162,255,60,0,2,17,60,0,60,0,60,0,52,49,60,0,60,0,60,0,97,50,60,0,60,0,60,0,111,50,47,0,97,17,60,0,60,0,60,0,164,255,60,0,3,17,60,0,60,0,60,0,55,49,60,0,60,0,60,0,98,50,60,0,60,0,60,0,112,50,47,0,97,17,60,0,60,0,60,0,167,255,60,0,4,17,60,0,60,0,60,0,56,49,60,0,60,0,60,0,168,255,60,0,5,17,60,0,60,0,60,0,57,49,60,0,60,0,60,0,99,50,60,0,60,0,60,0,113,50,47,0,97,17,60,0,60,0,60,0,169,255,60,0,6,17,60,0,60,0,60,0,65,49,60,0,60,0,60,0,100,50,60,0,60,0,60,0,114,50,47,0,97,17,60,0,60,0,60,0,177,255,60,0,7,17,60,0,60,0,60,0,66,49,60,0,60,0,60,0,101,50,60,0,60,0,60,0,115,50,47,0,97,17,60,0,60,0,60,0,178,255,60,0,8,17,60,0,60,0,60,0,67,49,60,0,60,0,60,0,179,255,60,0,9,17,60,0,60,0,60,0,69,49,60,0,60,0,60,0,102,50,60,0,60,0,60,0,116,50,47,0,97,17,60,0,60,0,60,0,181,255,60,0,10,17,60,0,60,0,60,0,70,49,60,0,60,0,60,0,182,255,60,0,11,17,60,0,60,0,60,0,71,49,60,0,60,0,60,0,103,50,60,0,60,0,60,0,117,50,47,0,97,17,60,0,60,0,60,0,126,50,47,0,110,17,60,0,60,0,60,0,183,255,60,0,12,17,60,0,60,0,60,0,72,49,60,0,60,0,60,0,104,50,60,0,60,0,60,0,118,50,47,0,97,17,60,0,60,0,60,0,125,50,47,0,110,17,88,199,60,0,60,0,60,0,184,255,60,0,13,17,60,0,60,0,60,0,73,49,60,0,60,0,60,0,185,255,60,0,14,17,60,0,60,0,60,0,74,49,60,0,60,0,60,0,105,50,60,0,60,0,60,0,119,50,47,0,97,17,60,0,60,0,60,0,124,50,47,0,97,17,183,17,224,172,60,0,60,0,60,0,186,255,60,0,15,17,60,0,60,0,60,0,75,49,60,0,60,0,60,0,106,50,60,0,60,0,60,0,120,50,47,0,97,17,60,0,60,0,60,0,187,255,60,0,16,17,60,0,60,0,60,0,76,49,60,0,60,0,60,0,107,50,60,0,60,0,60,0,121,50,47,0,97,17,60,0,60,0,60,0,188,255,60,0,17,17,60,0,60,0,60,0,77,49,60,0,60,0,60,0,108,50,60,0,60,0,60,0,122,50,47,0,97,17,60,0,60,0,60,0,189,255,60,0,18,17,60,0,60,0,60,0,78,49,60,0,60,0,60,0,109,50,60,0,60,0,60,0,123,50,47,0,97,17,60,0,60,0,60,0,190,255,60,0,19,17,60,0,20,17,60,0,60,0,60,0,101,49,60,0,21,17,60,0,60,0,60,0,102,49,60,0,22,17,60,0,23,17,60,0,24,17,60,0,25,17,60,0,26,17,60,0,60,0,60,0,64,49,60,0,60,0,60,0,176,255,60,0,27,17,60,0,28,17,60,0,60,0,60,0,110,49,60,0,29,17,60,0,60,0,60,0,113,49,60,0,30,17,60,0,60,0,60,0,114,49,60,0,31,17,60,0,32,17,60,0,60,0,60,0,115,49,60,0,33,17,60,0,60,0,60,0,68,49,60,0,60,0,60,0,180,255,60,0,34,17,60,0,60,0,60,0,116,49,60,0,35,17,60,0,60,0,60,0,117,49,60,0,36,17,60,0,37,17,60,0,38,17,60,0,39,17,60,0,60,0,60,0,118,49,60,0,40,17,60,0,41,17,60,0,60,0,60,0,119,49,60,0,42,17,60,0,43,17,60,0,60,0,60,0,120,49,60,0,44,17,60,0,60,0,60,0,121,49,60,0,45,17,60,0,60,0,60,0,122,49,60,0,46,17,60,0,60,0,60,0,123,49,60,0,47,17,60,0,60,0,60,0,124,49,60,0,48,17,60,0,49,17,60,0,50,17,60,0,60,0,60,0,125,49,60,0,51,17,60,0,52,17,60,0,53,17,60,0,54,17,60,0,60,0,60,0,126,49,60,0,55,17,60,0,56,17,60,0,57,17,60,0,58,17,60,0,59,17,60,0,60,17,60,0,61,17,60,0,62,17,60,0,63,17,60,0,64,17,60,0,60,0,60,0,127,49,60,0,65,17,60,0,66,17,60,0,67,17,60,0,68,17,60,0,69,17,60,0,70,17,60,0,71,17,60,0,60,0,60,0,128,49,60,0,72,17,60,0,73,17,60,0,74,17,60,0,75,17,60,0,76,17,60,0,60,0,60,0,129,49,60,0,77,17,60,0,78,17,60,0,79,17,60,0,80,17,60,0,81,17,60,0,82,17,60,0,83,17,60,0,84,17,60,0,85,17,60,0,86,17,60,0,87,17,60,0,60,0,60,0,132,49,60,0,88,17,60,0,60,0,60,0,133,49,60,0,89,17,60,0,60,0,60,0,134,49,60,0,90,17,60,0,91,17,60,0,92,17,60,0,93,17,60,0,94,17,60,0,96,169,60,0,97,169,60,0,98,169,60,0,99,169,60,0,100,169,60,0,101,169,60,0,102,169,60,0,103,169,60,0,104,169,60,0,105,169,60,0,106,169,60,0,107,169,60,0,108,169,60,0,109,169,60,0,110,169,60,0,111,169,60,0,112,169,60,0,113,169,60,0,114,169,60,0,115,169,60,0,116,169,60,0,117,169,60,0,118,169,60,0,119,169,60,0,120,169,60,0,121,169,60,0,122,169,60,0,123,169,60,0,124,169,60,0,95,17,60,0,96,17,60,0,60,0,60,0,100,49,60,0,60,0,60,0,160,255,60,0,97,17,60,0,60,0,60,0,79,49,60,0,60,0,60,0,194,255,60,0,98,17,60,0,60,0,60,0,80,49,60,0,60,0,60,0,195,255,60,0,99,17,60,0,60,0,60,0,81,49,60,0,60,0,60,0,196,255,60,0,100,17,60,0,60,0,60,0,82,49,60,0,60,0,60,0,197,255,60,0,101,17,60,0,60,0,60,0,83,49,60,0,60,0,60,0,198,255,60,0,102,17,60,0,60,0,60,0,84,49,60,0,60,0,60,0,199,255,60,0,103,17,60,0,60,0,60,0,85,49,60,0,60,0,60,0,202,255,60,0,104,17,60,0,60,0,60,0,86,49,60,0,60,0,60,0,203,255,60,0,105,17,60,0,60,0,60,0,87,49,60,0,60,0,60,0,204,255,60,0,106,17,60,0,60,0,60,0,88,49,60,0,60,0,60,0,205,255,60,0,107,17,60,0,60,0,60,0,89,49,60,0,60,0,60,0,206,255,60,0,108,17,60,0,60,0,60,0,90,49,60,0,60,0,60,0,207,255,60,0,109,17,60,0,60,0,60,0,91,49,60,0,60,0,60,0,210,255,60,0,110,17,60,0,60,0,60,0,92,49,60,0,60,0,60,0,211,255,60,0,111,17,60,0,60,0,60,0,93,49,60,0,60,0,60,0,212,255,60,0,112,17,60,0,60,0,60,0,94,49,60,0,60,0,60,0,213,255,60,0,113,17,60,0,60,0,60,0,95,49,60,0,60,0,60,0,214,255,60,0,114,17,60,0,60,0,60,0,96,49,60,0,60,0,60,0,215,255,60,0,115,17,60,0,60,0,60,0,97,49,60,0,60,0,60,0,218,255,60,0,116,17,60,0,60,0,60,0,98,49,60,0,60,0,60,0,219,255,60,0,117,17,60,0,60,0,60,0,99,49,60,0,60,0,60,0,220,255,60,0,118,17,60,0,119,17,60,0,120,17,60,0,121,17,60,0,122,17,60,0,123,17,60,0,124,17,60,0,125,17,60,0,126,17,60,0,127,17,60,0,128,17,60,0,129,17,60,0,130,17,60,0,131,17,60,0,132,17,60,0,60,0,60,0,135,49,60,0,133,17,60,0,60,0,60,0,136,49,60,0,134,17,60,0,135,17,60,0,136,17,60,0,60,0,60,0,137,49,60,0,137,17,60,0,138,17,60,0,139,17,60,0,140,17,60,0,141,17,60,0,142,17,60,0,143,17,60,0,144,17,60,0,145,17,60,0,60,0,60,0,138,49,60,0,146,17,60,0,60,0,60,0,139,49,60,0,147,17,60,0,148,17,60,0,60,0,60,0,140,49,60,0,149,17,60,0,150,17,60,0,151,17,60,0,152,17,60,0,153,17,60,0,154,17,60,0,155,17,60,0,156,17,60,0,157,17,60,0,158,17,60,0,60,0,60,0,141,49,60,0,159,17,60,0,160,17,60,0,161,17,60,0,60,0,60,0,142,49,60,0,162,17,60,0,163,17,60,0,164,17,60,0,165,17,60,0,166,17,60,0,167,17,60,0,176,215,60,0,177,215,60,0,178,215,60,0,179,215,60,0,180,215,60,0,181,215,60,0,182,215,60,0,183,215,60,0,184,215,60,0,185,215,60,0,186,215,60,0,187,215,60,0,188,215,60,0,189,215,60,0,190,215,60,0,191,215,60,0,192,215,60,0,193,215,60,0,194,215,60,0,195,215,60,0,196,215,60,0,197,215,60,0,198,215,60,0,168,17,60,0,169,17,60,0,170,17,60,0,60,0,60,0,51,49,60,0,60,0,60,0,163,255,60,0,171,17,60,0,172,17,60,0,60,0,60,0,53,49,60,0,60,0,60,0,165,255,60,0,173,17,60,0,60,0,60,0,54,49,60,0,60,0,60,0,166,255,60,0,174,17,60,0,175,17,60,0,176,17,60,0,60,0,60,0,58,49,60,0,60,0,60,0,170,255,60,0,177,17,60,0,60,0,60,0,59,49,60,0,60,0,60,0,171,255,60,0,178,17,60,0,60,0,60,0,60,49,60,0,60,0,60,0,172,255,60,0,179,17,60,0,60,0,60,0,61,49,60,0,60,0,60,0,173,255,60,0,180,17,60,0,60,0,60,0,62,49,60,0,60,0,60,0,174,255,60,0,181,17,60,0,60,0,60,0,63,49,60,0,60,0,60,0,175,255,60,0,182,17,60,0,183,17,60,0,184,17,60,0,185,17,60,0,186,17,60,0,187,17,60,0,188,17,60,0,189,17,60,0,190,17,60,0,191,17,60,0,192,17,60,0,193,17,60,0,194,17,60,0,195,17,60,0,196,17,60,0,197,17,60,0,198,17,60,0,199,17,60,0,60,0,60,0,103,49,60,0,200,17,60,0,60,0,60,0,104,49,60,0,201,17,60,0,202,17,60,0,203,17,60,0,204,17,60,0,60,0,60,0,105,49,60,0,205,17,60,0,206,17,60,0,60,0,60,0,106,49,60,0,207,17,60,0,208,17,60,0,209,17,60,0,210,17,60,0,211,17,60,0,60,0,60,0,107,49,60,0,212,17,60,0,213,17,60,0,214,17,60,0,215,17,60,0,60,0,60,0,108,49,60,0,216,17,60,0,217,17,60,0,60,0,60,0,109,49,60,0,218,17,60,0,219,17,60,0,220,17,60,0,221,17,60,0,60,0,60,0,111,49,60,0,222,17,60,0,223,17,60,0,60,0,60,0,112,49,60,0,224,17,60,0,225,17,60,0,226,17,60,0,227,17,60,0,228,17,60,0,229,17,60,0,230,17,60,0,231,17,60,0,232,17,60,0,233,17,60,0,234,17,60,0,235,17,60,0,236,17,60,0,237,17,60,0,238,17,60,0,239,17,60,0,240,17,60,0,241,17,60,0,60,0,60,0,130,49,60,0,242,17,60,0,60,0,60,0,131,49,60,0,243,17,60,0,244,17,60,0,245,17,60,0,246,17,60,0,247,17,60,0,248,17,60,0,249,17,60,0,250,17,60,0,251,17,60,0,252,17,60,0,253,17,60,0,254,17,60,0,255,17,60,0,203,215,60,0,204,215,60,0,205,215,60,0,206,215,60,0,207,215,60,0,208,215,60,0,209,215,60,0,210,215,60,0,211,215,60,0,212,215,60,0,213,215,60,0,214,215,60,0,215,215,60,0,216,215,60,0,217,215,60,0,218,215,60,0,219,215,60,0,220,215,60,0,221,215,60,0,222,215,60,0,223,215,60,0,224,215,60,0,225,215,60,0,226,215,60,0,227,215,60,0,228,215,60,0,229,215,60,0,230,215,60,0,231,215,60,0,232,215,60,0,233,215,60,0,234,215,60,0,235,215,60,0,236,215,60,0,237,215,60,0,238,215,60,0,239,215,60,0,240,215,60,0,241,215,60,0,242,215,60,0,243,215,60,0,244,215,60,0,245,215,60,0,246,215,60,0,247,215,60,0,248,215,60,0,249,215,60,0,250,215,60,0,251,215,60,0,65,48,60,0,60,0,60,0,66,48,60,0,60,0,60,0,161,48,60,0,60,0,60,0,103,255,60,0,60,0,60,0,162,48,60,0,60,0,60,0,113,255,60,0,60,0,60,0,208,50,60,0,60,0,60,0,3,51,47,0,252,48,139,48,60,0,60,0,60,0,0,51,47,0,113,48,252,48,104,48,60,0,60,0,60,0,1,51,47,0,139,48,117,48,66,48,60,0,60,0,60,0,2,51,47,0,147,48,122,48,66,48,60,0,67,48,60,0,60,0,60,0,68,48,60,0,60,0,60,0,163,48,60,0,60,0,60,0,104,255,60,0,60,0,60,0,164,48,60,0,60,0,60,0,114,255,60,0,60,0,60,0,209,50,60,0,60,0,60,0,4,51,47,0,107,48,147,48,80,48,60,0,60,0,60,0,5,51,47,0,147,48,97,48,60,0,69,48,60,0,60,0,60,0,70,48,60,0,60,0,60,0,165,48,60,0,60,0,60,0,105,255,60,0,60,0,60,0,166,48,60,0,60,0,60,0,115,255,60,0,60,0,60,0,210,50,60,0,60,0,60,0,6,51,47,0,74,48,147,48,60,0,44,216,0,220,60,0,71,48,60,0,60,0,60,0,72,48,60,0,60,0,60,0,167,48,60,0,60,0,60,0,106,255,60,0,60,0,60,0,168,48,60,0,60,0,60,0,116,255,60,0,60,0,60,0,211,50,60,0,60,0,60,0,8,51,47,0,252,48,75,48,252,48,60,0,60,0,60,0,7,51,47,0,89,48,79,48,252,48,105,48,60,0,73,48,60,0,60,0,60,0,74,48,60,0,60,0,60,0,169,48,60,0,60,0,60,0,107,255,60,0,60,0,60,0,170,48,60,0,60,0,60,0,117,255,60,0,60,0,60,0,212,50,60,0,60,0,60,0,10,51,47,0,252,48,128,48,60,0,60,0,60,0,9,51,47,0,147,48,89,48,60,0,149,48,60,0,60,0,60,0,75,48,60,0,60,0,60,0,245,48,60,0,60,0,60,0,171,48,60,0,60,0,60,0,118,255,60,0,60,0,60,0,213,50,60,0,60,0,60,0,11,51,47,0,68,48,138,48,60,0,60,0,60,0,12,51,47,0,137,48,100,48,104,48,60,0,60,0,60,0,13,51,47,0,141,48,138,48,252,48,60,0,60,0,60,0,14,51,47,0,153,48,141,48,147,48,60,0,60,0,60,0,15,51,47,0,153,48,147,48,126,48,60,0,77,48,60,0,60,0,60,0,173,48,60,0,60,0,60,0,119,255,60,0,60,0,60,0,214,50,60,0,60,0,60,0,16,51,47,0,153,48,76,48,60,0,60,0,60,0,17,51,47,0,153,48,107,48,252,48,60,0,60,0,60,0,18,51,47,0,134,48,138,48,252,48,60,0,60,0,60,0,19,51,47,0,153,48,139,48,96,48,252,48,60,0,60,0,60,0,20,51,47,0,141,48,60,0,60,0,60,0,21,51,47,0,141,48,80,48,137,48,128,48,60,0,60,0,60,0,22,51,47,0,141,48,129,48,252,48,104,48,139,48,60,0,60,0,60,0,23,51,47,0,141,48,143,48,100,48,104,48,60,0,79,48,60,0,60,0,60,0,240,49,60,0,60,0,60,0,175,48,60,0,60,0,60,0,120,255,60,0,60,0,60,0,215,50,60,0,60,0,60,0,24,51,47,0,153,48,137,48,128,48,60,0,60,0,60,0,25,51,47,0,153,48,137,48,128,48,104,48,147,48,60,0,60,0,60,0,26,51,47,0,139,48,92,48,68,48,141,48,60,0,60,0,60,0,27,51,47,0,141,48,252,48,109,48,60,0,150,48,60,0,60,0,60,0,81,48,60,0,60,0,60,0,246,48,60,0,60,0,60,0,177,48,60,0,60,0,60,0,121,255,60,0,60,0,60,0,216,50,60,0,60,0,60,0,28,51,47,0,252,48,89,48,60,0,44,216,50,221,60,0,60,0,60,0,83,48,60,0,60,0,60,0,44,216,85,221,60,0,60,0,60,0,179,48,60,0,60,0,60,0,122,255,60,0,60,0,60,0,217,50,60,0,60,0,60,0,255,48,47,0,104,48,60,0,60,0,60,0,30,51,47,0,252,48,125,48,60,0,60,0,60,0,60,216,1,222,47,0,83,48,60,0,60,0,60,0,29,51,47,0,139,48,106,48,60,0,85,48,60,0,60,0,60,0,181,48,60,0,60,0,60,0,123,255,60,0,60,0,60,0,218,50,60,0,60,0,60,0,60,216,2,222,60,0,60,0,60,0,31,51,47,0,68,48,79,48,139,48,60,0,60,0,60,0,32,51,47,0,147,48,97,48,252,48,128,48,60,0,6,48,47,0,129,48,60,0,60,0,60,0,87,48,60,0,60,0,60,0,241,49,60,0,60,0,60,0,183,48,60,0,60,0,60,0,124,255,60,0,60,0,60,0,219,50,60,0,60,0,60,0,33,51,47,0,138,48,147,48,80,48,60,0,89,48,60,0,60,0,60,0,242,49,60,0,60,0,60,0,185,48,60,0,60,0,60,0,125,255,60,0,60,0,60,0,220,50,60,0,91,48,60,0,60,0,60,0,187,48,60,0,60,0,60,0,126,255,60,0,60,0,60,0,221,50,60,0,60,0,60,0,34,51,47,0,147,48,97,48,60,0,60,0,60,0,35,51,47,0,147,48,104,48,60,0,93,48,60,0,60,0,60,0,189,48,60,0,60,0,60,0,127,255,60,0,60,0,60,0,222,50,60,0,95,48,60,0,60,0,60,0,191,48,60,0,60,0,60,0,128,255,60,0,60,0,60,0,223,50,60,0,60,0,60,0,36,51,47,0,153,48,252,48,89,48,60,0,97,48,60,0,60,0,60,0,193,48,60,0,60,0,60,0,129,255,60,0,60,0,60,0,224,50,60,0,99,48,60,0,60,0,60,0,100,48,60,0,60,0,60,0,195,48,60,0,60,0,60,0,111,255,60,0,60,0,60,0,196,48,60,0,60,0,60,0,130,255,60,0,60,0,60,0,225,50,60,0,102,48,60,0,60,0,60,0,198,48,60,0,60,0,60,0,131,255,60,0,60,0,60,0,226,50,60,0,60,0,60,0,60,216,19,222,47,0,153,48,60,0,60,0,60,0,37,51,47,0,153,48,87,48,60,0,104,48,60,0,60,0,60,0,243,49,60,0,60,0,60,0,200,48,60,0,60,0,60,0,132,255,60,0,60,0,60,0,227,50,60,0,60,0,60,0,38,51,47,0,153,48,139,48,60,0,60,0,60,0,39,51,47,0,147,48,60,0,106,48,60,0,60,0,60,0,202,48,60,0,60,0,60,0,133,255,60,0,60,0,60,0,228,50,60,0,60,0,60,0,40,51,47,0,110,48,60,0,107,48,60,0,60,0,60,0,203,48,60,0,60,0,60,0,134,255,60,0,60,0,60,0,229,50,60,0,108,48,60,0,60,0,60,0,244,49,60,0,60,0,60,0,204,48,60,0,60,0,60,0,135,255,60,0,60,0,60,0,230,50,60,0,109,48,60,0,60,0,60,0,205,48,60,0,60,0,60,0,136,255,60,0,60,0,60,0,231,50,60,0,110,48,60,0,60,0,60,0,206,48,60,0,60,0,60,0,137,255,60,0,60,0,60,0,232,50,60,0,60,0,60,0,41,51,47,0,100,48,104,48,60,0,111,48,60,0,60,0,60,0,245,49,60,0,60,0,60,0,207,48,60,0,60,0,60,0,138,255,60,0,60,0,60,0,233,50,60,0,60,0,60,0,43,51,47,0,154,48,252,48,91,48,147,48,104,48,60,0,60,0,60,0,44,51,47,0,154,48,252,48,100,48,60,0,60,0,60,0,45,51,47,0,153,48,252,48,140,48,139,48,60,0,60,0,60,0,42,51,47,0,68,48,100,48,60,0,114,48,60,0,60,0,60,0,246,49,60,0,60,0,60,0,210,48,60,0,60,0,60,0,139,255,60,0,60,0,60,0,234,50,60,0,60,0,60,0,46,51,47,0,154,48,66,48,89,48,104,48,139,48,60,0,60,0,60,0,47,51,47,0,154,48,79,48,139,48,60,0,60,0,60,0,48,51,47,0,154,48,83,48,60,0,60,0,60,0,49,51,47,0,153,48,139,48,60,0,117,48,60,0,60,0,60,0,247,49,60,0,60,0,60,0,213,48,60,0,60,0,60,0,140,255,60,0,60,0,60,0,235,50,60,0,60,0,60,0,50,51,47,0,66,48,137,48,100,48,105,48,60,0,60,0,60,0,51,51,47,0,68,48,252,48,104,48,60,0,60,0,60,0,52,51,47,0,153,48,100,48,87,48,72,48,139,48,60,0,60,0,60,0,53,51,47,0,137,48,147,48,60,0,120,48,60,0,60,0,60,0,248,49,60,0,60,0,60,0,216,48,60,0,60,0,60,0,141,255,60,0,60,0,60,0,236,50,60,0,60,0,60,0,59,51,47,0,154,48,252,48,88,48,60,0,60,0,60,0,60,51,47,0,153,48,252,48,95,48,60,0,60,0,60,0,54,51,47,0,79,48,95,48,252,48,139,48,60,0,60,0,60,0,55,51,47,0,154,48,93,48,60,0,60,0,60,0,56,51,47,0,154,48,107,48,114,48,60,0,60,0,60,0,57,51,47,0,139,48,100,48,60,0,60,0,60,0,58,51,47,0,154,48,147,48,89,48,60,0,123,48,60,0,60,0,60,0,249,49,60,0,60,0,60,0,219,48,60,0,60,0,60,0,142,255,60,0,60,0,60,0,237,50,60,0,60,0,60,0,65,51,47,0,252,48,139,48,60,0,60,0,60,0,66,51,47,0,252,48,147,48,60,0,60,0,60,0,61,51,47,0,154,48,68,48,147,48,104,48,60,0,60,0,60,0,60,216,0,222,47,0,75,48,60,0,60,0,60,0,62,51,47,0,153,48,139,48,104,48,60,0,60,0,60,0,63,51,47,0,147,48,60,0,60,0,60,0,64,51,47,0,154,48,147,48,105,48,60,0,60,48,47,0,89,48,60,0,60,0,60,0,126,48,60,0,60,0,60,0,222,48,60,0,60,0,60,0,143,255,60,0,60,0,60,0,238,50,60,0,60,0,60,0,67,51,47,0,68,48,79,48,141,48,60,0,60,0,60,0,68,51,47,0,68,48,139,48,60,0,60,0,60,0,69,51,47,0,100,48,111,48,60,0,60,0,60,0,70,51,47,0,139,48,79,48,60,0,60,0,60,0,71,51,47,0,147,48,87,48,136,48,147,48,60,0,127,48,60,0,60,0,60,0,223,48,60,0,60,0,60,0,144,255,60,0,60,0,60,0,239,50,60,0,60,0,60,0,72,51,47,0,79,48,141,48,147,48,60,0,60,0,60,0,73,51,47,0,138,48,60,0,60,0,60,0,74,51,47,0,138,48,112,48,252,48,139,48,60,0,128,48,60,0,60,0,60,0,250,49,60,0,60,0,60,0,224,48,60,0,60,0,60,0,145,255,60,0,60,0,60,0,240,50,60,0,129,48,60,0,60,0,60,0,225,48,60,0,60,0,60,0,146,255,60,0,60,0,60,0,241,50,60,0,60,0,60,0,77,51,47,0,252,48,104,48,139,48,60,0,60,0,60,0,75,51,47,0,76,48,60,0,60,0,60,0,76,51,47,0,76,48,104,48,147,48,60,0,130,48,60,0,60,0,60,0,226,48,60,0,60,0,60,0,147,255,60,0,60,0,60,0,242,50,60,0,131,48,60,0,60,0,60,0,132,48,60,0,60,0,60,0,227,48,60,0,60,0,60,0,108,255,60,0,60,0,60,0,228,48,60,0,60,0,60,0,148,255,60,0,60,0,60,0,243,50,60,0,60,0,60,0,78,51,47,0,252,48,105,48,60,0,60,0,60,0,79,51,47,0,252,48,139,48,60,0,44,216,32,221,60,0,133,48,60,0,60,0,60,0,134,48,60,0,60,0,60,0,229,48,60,0,60,0,60,0,109,255,60,0,60,0,60,0,230,48,60,0,60,0,60,0,149,255,60,0,60,0,60,0,244,50,60,0,60,0,60,0,80,51,47,0,66,48,147,48,60,0,44,216,33,221,60,0,135,48,60,0,60,0,60,0,136,48,60,0,60,0,60,0,231,48,60,0,60,0,60,0,110,255,60,0,60,0,60,0,232,48,60,0,60,0,60,0,150,255,60,0,60,0,60,0,245,50,60,0,60,0,60,0,159,48,47,0,138,48,60,0,137,48,60,0,60,0,60,0,251,49,60,0,60,0,60,0,233,48,60,0,60,0,60,0,151,255,60,0,60,0,60,0,246,50,60,0,138,48,60,0,60,0,60,0,252,49,60,0,60,0,60,0,234,48,60,0,60,0,60,0,152,255,60,0,60,0,60,0,247,50,60,0,60,0,60,0,81,51,47,0,100,48,104,48,139,48,60,0,60,0,60,0,82,51,47,0,137,48,60,0,139,48,60,0,60,0,60,0,253,49,60,0,60,0,60,0,235,48,60,0,60,0,60,0,153,255,60,0,60,0,60,0,248,50,60,0,60,0,60,0,84,51,47,0,252,48,118,48,139,48,60,0,60,0,60,0,83,51,47,0,116,48,252,48,60,0,140,48,60,0,60,0,60,0,254,49,60,0,60,0,60,0,236,48,60,0,60,0,60,0,154,255,60,0,60,0,60,0,249,50,60,0,60,0,60,0,85,51,47,0,128,48,60,0,60,0,60,0,86,51,47,0,147,48,104,48,82,48,147,48,60,0,141,48,60,0,60,0,60,0,255,49,60,0,60,0,60,0,237,48,60,0,60,0,60,0,155,255,60,0,60,0,60,0,250,50,60,0,142,48,60,0,60,0,60,0,143,48,60,0,60,0,60,0,238,48,60,0,60,0,60,0,239,48,60,0,60,0,60,0,156,255,60,0,60,0,60,0,251,50,60,0,60,0,60,0,87,51,47,0,100,48,104,48,60,0,44,216,80,221,60,0,60,0,60,0,144,48,60,0,60,0,60,0,44,216,100,221,60,0,60,0,60,0,240,48,60,0,60,0,60,0,252,50,60,0,44,216,31,221,60,0,60,0,60,0,44,216,34,221,60,0,44,216,81,221,60,0,60,0,60,0,145,48,60,0,60,0,60,0,44,216,101,221,60,0,60,0,60,0,241,48,60,0,60,0,60,0,253,50,60,0,44,216,82,221,60,0,60,0,60,0,146,48,60,0,60,0,60,0,44,216,102,221,60,0,60,0,60,0,242,48,60,0,60,0,60,0,102,255,60,0,60,0,60,0,254,50,60,0,147,48,60,0,60,0,60,0,44,216,103,221,60,0,60,0,60,0,243,48,60,0,60,0,60,0,157,255,60,0,44,216,2,220,60,0,44,216,3,220,60,0,44,216,4,220,60,0,44,216,5,220,60,0,44,216,6,220,60,0,44,216,7,220,60,0,44,216,8,220,60,0,44,216,9,220,60,0,44,216,10,220,60,0,44,216,11,220,60,0,44,216,12,220,60,0,44,216,13,220,60,0,44,216,14,220,60,0,44,216,1,220,60,0,44,216,15,220,60,0,44,216,16,220,60,0,44,216,17,220,60,0,44,216,18,220,60,0,44,216,19,220,60,0,44,216,20,220,60,0,44,216,21,220,60,0,44,216,22,220,60,0,44,216,23,220,60,0,44,216,24,220,60,0,44,216,25,220,60,0,44,216,26,220,60,0,44,216,27,220,60,0,44,216,28,220,60,0,44,216,29,220,60,0,44,216,30,220,60,0,44,216,31,220,60,0,44,216,32,220,60,0,44,216,33,220,60,0,44,216,34,220,60,0,44,216,35,220,60,0,44,216,36,220,60,0,44,216,37,220,60,0,44,216,38,220,60,0,44,216,39,220,60,0,44,216,40,220,60,0,44,216,41,220,60,0,44,216,42,220,60,0,44,216,43,220,60,0,44,216,44,220,60,0,44,216,45,220,60,0,44,216,46,220,60,0,44,216,47,220,60,0,44,216,48,220,60,0,44,216,49,220,60,0,44,216,50,220,60,0,44,216,51,220,60,0,44,216,52,220,60,0,44,216,53,220,60,0,44,216,54,220,60,0,44,216,55,220,60,0,44,216,56,220,60,0,44,216,57,220,60,0,44,216,58,220,60,0,44,216,59,220,60,0,44,216,60,220,60,0,44,216,61,220,60,0,44,216,62,220,60,0,44,216,63,220,60,0,44,216,64,220,60,0,44,216,65,220,60,0,44,216,66,220,60,0,44,216,67,220,60,0,44,216,68,220,60,0,44,216,69,220,60,0,44,216,70,220,60,0,44,216,71,220,60,0,44,216,72,220,60,0,44,216,73,220,60,0,44,216,74,220,60,0,44,216,75,220,60,0,44,216,76,220,60,0,44,216,77,220,60,0,44,216,78,220,60,0,44,216,79,220,60,0,44,216,80,220,60,0,44,216,81,220,60,0,44,216,82,220,60,0,44,216,83,220,60,0,44,216,84,220,60,0,44,216,85,220,60,0,44,216,86,220,60,0,44,216,87,220,60,0,44,216,88,220,60,0,44,216,89,220,60,0,44,216,90,220,60,0,44,216,91,220,60,0,44,216,92,220,60,0,44,216,93,220,60,0,44,216,94,220,60,0,44,216,95,220,60,0,44,216,96,220,60,0,44,216,97,220,60,0,44,216,98,220,60,0,44,216,99,220,60,0,44,216,100,220,60,0,44,216,101,220,60,0,44,216,102,220,60,0,44,216,103,220,60,0,44,216,104,220,60,0,44,216,105,220,60,0,44,216,106,220,60,0,44,216,107,220,60,0,44,216,108,220,60,0,44,216,109,220,60,0,44,216,110,220,60,0,44,216,111,220,60,0,44,216,112,220,60,0,44,216,113,220,60,0,44,216,114,220,60,0,44,216,115,220,60,0,44,216,116,220,60,0,44,216,117,220,60,0,44,216,118,220,60,0,44,216,119,220,60,0,44,216,120,220,60,0,44,216,121,220,60,0,44,216,122,220,60,0,44,216,123,220,60,0,44,216,124,220,60,0,44,216,125,220,60,0,44,216,126,220,60,0,44,216,127,220,60,0,44,216,128,220,60,0,44,216,129,220,60,0,44,216,130,220,60,0,44,216,131,220,60,0,44,216,132,220,60,0,44,216,133,220,60,0,44,216,134,220,60,0,44,216,135,220,60,0,44,216,136,220,60,0,44,216,137,220,60,0,44,216,138,220,60,0,44,216,139,220,60,0,44,216,140,220,60,0,44,216,141,220,60,0,44,216,142,220,60,0,44,216,143,220,60,0,44,216,144,220,60,0,44,216,145,220,60,0,44,216,146,220,60,0,44,216,147,220,60,0,44,216,148,220,60,0,44,216,149,220,60,0,44,216,150,220,60,0,44,216,151,220,60,0,44,216,152,220,60,0,44,216,153,220,60,0,44,216,154,220,60,0,44,216,155,220,60,0,44,216,156,220,60,0,44,216,157,220,60,0,44,216,158,220,60,0,44,216,159,220,60,0,44,216,160,220,60,0,44,216,161,220,60,0,44,216,162,220,60,0,44,216,163,220,60,0,44,216,164,220,60,0,44,216,165,220,60,0,44,216,166,220,60,0,44,216,167,220,60,0,44,216,168,220,60,0,44,216,169,220,60,0,44,216,170,220,60,0,44,216,171,220,60,0,44,216,172,220,60,0,44,216,173,220,60,0,44,216,174,220,60,0,44,216,175,220,60,0,44,216,176,220,60,0,44,216,177,220,60,0,44,216,178,220,60,0,44,216,179,220,60,0,44,216,180,220,60,0,44,216,181,220,60,0,44,216,182,220,60,0,44,216,183,220,60,0,44,216,184,220,60,0,44,216,185,220,60,0,44,216,186,220,60,0,44,216,187,220,60,0,44,216,188,220,60,0,44,216,189,220,60,0,44,216,190,220,60,0,44,216,191,220,60,0,44,216,192,220,60,0,44,216,193,220,60,0,44,216,194,220,60,0,44,216,195,220,60,0,44,216,196,220,60,0,44,216,197,220,60,0,44,216,198,220,60,0,44,216,199,220,60,0,44,216,200,220,60,0,44,216,201,220,60,0,44,216,202,220,60,0,44,216,203,220,60,0,44,216,204,220,60,0,44,216,205,220,60,0,44,216,206,220,60,0,44,216,207,220,60,0,44,216,208,220,60,0,44,216,209,220,60,0,44,216,210,220,60,0,44,216,211,220,60,0,44,216,212,220,60,0,44,216,213,220,60,0,44,216,214,220,60,0,44,216,215,220,60,0,44,216,216,220,60,0,44,216,217,220,60,0,44,216,218,220,60,0,44,216,219,220,60,0,44,216,220,220,60,0,44,216,221,220,60,0,44,216,222,220,60,0,44,216,223,220,60,0,44,216,224,220,60,0,44,216,225,220,60,0,44,216,226,220,60,0,44,216,227,220,60,0,44,216,228,220,60,0,44,216,229,220,60,0,44,216,230,220,60,0,44,216,231,220,60,0,44,216,232,220,60,0,44,216,233,220,60,0,44,216,234,220,60,0,44,216,235,220,60,0,44,216,236,220,60,0,44,216,237,220,60,0,44,216,238,220,60,0,44,216,239,220,60,0,44,216,240,220,60,0,44,216,241,220,60,0,44,216,242,220,60,0,44,216,243,220,60,0,44,216,244,220,60,0,44,216,245,220,60,0,44,216,246,220,60,0,44,216,247,220,60,0,44,216,248,220,60,0,44,216,249,220,60,0,44,216,250,220,60,0,44,216,251,220,60,0,44,216,252,220,60,0,44,216,253,220,60,0,44,216,254,220,60,0,44,216,255,220,60,0,44,216,0,221,60,0,44,216,1,221,60,0,44,216,2,221,60,0,44,216,3,221,60,0,44,216,4,221,60,0,44,216,5,221,60,0,44,216,6,221,60,0,44,216,7,221,60,0,44,216,8,221,60,0,44,216,9,221,60,0,44,216,10,221,60,0,44,216,11,221,60,0,44,216,12,221,60,0,44,216,13,221,60,0,44,216,14,221,60,0,44,216,15,221,60,0,44,216,16,221,60,0,44,216,17,221,60,0,44,216,18,221,60,0,44,216,19,221,60,0,44,216,20,221,60,0,44,216,21,221,60,0,44,216,22,221,60,0,44,216,23,221,60,0,44,216,24,221,60,0,44,216,25,221,60,0,44,216,26,221,60,0,44,216,27,221,60,0,44,216,28,221,60,0,44,216,29,221,60,0,44,216,30,221,60,0,5,49,60,0,60,0,160,49,60,0,6,49,60,0,60,0,60,0,180,49,60,0,7,49,60,0,172,49,60,0,8,49,60,0,42,49,60,0,9,49,60,0,10,49,60,0,60,0,60,0,181,49,60,0,11,49,60,0,47,49,60,0,12,49,60,0,13,49,60,0,60,0,60,0,187,49,60,0,60,0,163,49,60,0,14,49,60,0,60,0,60,0,182,49,60,0,43,49,60,0,173,49,60,0,15,49,60,0,60,0,60,0,183,49,60,0,16,49,60,0,60,0,162,49,60,0,17,49,60,0,18,49,60,0,44,49,60,0,188,49,60,0,189,49,60,0,19,49,60,0,20,49,60,0,21,49,60,0,22,49,60,0,23,49,60,0,60,0,161,49,60,0,24,49,60,0,25,49,60,0,184,49,60,0,185,49,60,0,186,49,60,0,26,49,60,0,60,0,169,49,60,0,27,49,60,0,60,0,167,49,60,0,166,49,60,0,28,49,60,0,60,0,60,0,46,49,60,0,29,49,60,0,164,49,60,0,60,0,165,49,60,0,30,49,60,0,60,0,174,49,60,0,31,49,60,0,32,49,60,0,60,0,175,49,60,0,33,49,60,0,34,49,60,0,35,49,60,0,36,49,60,0,178,49,60,0,37,49,60,0,176,49,60,0,177,49,60,0,38,49,60,0,39,49,60,0,60,0,170,49,60,0,60,0,60,0,179,49,60,0,40,49,60,0,60,0,171,49,60,0,60,0,168,49,60,0,41,49,60,0,45,49,60,0,190,49,60,0,191,49,60,0,0,160,60,0,1,160,60,0,2,160,60,0,3,160,60,0,4,160,60,0,5,160,60,0,6,160,60,0,7,160,60,0,8,160,60,0,9,160,60,0,10,160,60,0,11,160,60,0,12,160,60,0,13,160,60,0,14,160,60,0,15,160,60,0,16,160,60,0,17,160,60,0,18,160,60,0,19,160,60,0,20,160,60,0,21,160,60,0,22,160,60,0,23,160,60,0,24,160,60,0,25,160,60,0,26,160,60,0,27,160,60,0,28,160,60,0,29,160,60,0,30,160,60,0,31,160,60,0,32,160,60,0,33,160,60,0,34,160,60,0,35,160,60,0,36,160,60,0,37,160,60,0,38,160,60,0,39,160,60,0,40,160,60,0,41,160,60,0,42,160,60,0,43,160,60,0,44,160,60,0,45,160,60,0,46,160,60,0,47,160,60,0,48,160,60,0,49,160,60,0,50,160,60,0,51,160,60,0,52,160,60,0,53,160,60,0,54,160,60,0,55,160,60,0,56,160,60,0,57,160,60,0,58,160,60,0,59,160,60,0,60,160,60,0,61,160,60,0,62,160,60,0,63,160,60,0,64,160,60,0,65,160,60,0,66,160,60,0,67,160,60,0,68,160,60,0,69,160,60,0,70,160,60,0,71,160,60,0,72,160,60,0,73,160,60,0,74,160,60,0,75,160,60,0,76,160,60,0,77,160,60,0,78,160,60,0,79,160,60,0,80,160,60,0,81,160,60,0,82,160,60,0,83,160,60,0,84,160,60,0,85,160,60,0,86,160,60,0,87,160,60,0,88,160,60,0,89,160,60,0,90,160,60,0,91,160,60,0,92,160,60,0,93,160,60,0,94,160,60,0,95,160,60,0,96,160,60,0,97,160,60,0,98,160,60,0,99,160,60,0,100,160,60,0,101,160,60,0,102,160,60,0,103,160,60,0,104,160,60,0,105,160,60,0,106,160,60,0,107,160,60,0,108,160,60,0,109,160,60,0,110,160,60,0,111,160,60,0,112,160,60,0,113,160,60,0,114,160,60,0,115,160,60,0,116,160,60,0,117,160,60,0,118,160,60,0,119,160,60,0,120,160,60,0,121,160,60,0,122,160,60,0,123,160,60,0,124,160,60,0,125,160,60,0,126,160,60,0,127,160,60,0,128,160,60,0,129,160,60,0,130,160,60,0,131,160,60,0,132,160,60,0,133,160,60,0,134,160,60,0,135,160,60,0,136,160,60,0,137,160,60,0,138,160,60,0,139,160,60,0,140,160,60,0,141,160,60,0,142,160,60,0,143,160,60,0,144,160,60,0,145,160,60,0,146,160,60,0,147,160,60,0,148,160,60,0,149,160,60,0,150,160,60,0,151,160,60,0,152,160,60,0,153,160,60,0,154,160,60,0,155,160,60,0,156,160,60,0,157,160,60,0,158,160,60,0,159,160,60,0,160,160,60,0,161,160,60,0,162,160,60,0,163,160,60,0,164,160,60,0,165,160,60,0,166,160,60,0,167,160,60,0,168,160,60,0,169,160,60,0,170,160,60,0,171,160,60,0,172,160,60,0,173,160,60,0,174,160,60,0,175,160,60,0,176,160,60,0,177,160,60,0,178,160,60,0,179,160,60,0,180,160,60,0,181,160,60,0,182,160,60,0,183,160,60,0,184,160,60,0,185,160,60,0,186,160,60,0,187,160,60,0,188,160,60,0,189,160,60,0,190,160,60,0,191,160,60,0,192,160,60,0,193,160,60,0,194,160,60,0,195,160,60,0,196,160,60,0,197,160,60,0,198,160,60,0,199,160,60,0,200,160,60,0,201,160,60,0,202,160,60,0,203,160,60,0,204,160,60,0,205,160,60,0,206,160,60,0,207,160,60,0,208,160,60,0,209,160,60,0,210,160,60,0,211,160,60,0,212,160,60,0,213,160,60,0,214,160,60,0,215,160,60,0,216,160,60,0,217,160,60,0,218,160,60,0,219,160,60,0,220,160,60,0,221,160,60,0,222,160,60,0,223,160,60,0,224,160,60,0,225,160,60,0,226,160,60,0,227,160,60,0,228,160,60,0,229,160,60,0,230,160,60,0,231,160,60,0,232,160,60,0,233,160,60,0,234,160,60,0,235,160,60,0,236,160,60,0,237,160,60,0,238,160,60,0,239,160,60,0,240,160,60,0,241,160,60,0,242,160,60,0,243,160,60,0,244,160,60,0,245,160,60,0,246,160,60,0,247,160,60,0,248,160,60,0,249,160,60,0,250,160,60,0,251,160,60,0,252,160,60,0,253,160,60,0,254,160,60,0,255,160,60,0,0,161,60,0,1,161,60,0,2,161,60,0,3,161,60,0,4,161,60,0,5,161,60,0,6,161,60,0,7,161,60,0,8,161,60,0,9,161,60,0,10,161,60,0,11,161,60,0,12,161,60,0,13,161,60,0,14,161,60,0,15,161,60,0,16,161,60,0,17,161,60,0,18,161,60,0,19,161,60,0,20,161,60,0,21,161,60,0,22,161,60,0,23,161,60,0,24,161,60,0,25,161,60,0,26,161,60,0,27,161,60,0,28,161,60,0,29,161,60,0,30,161,60,0,31,161,60,0,32,161,60,0,33,161,60,0,34,161,60,0,35,161,60,0,36,161,60,0,37,161,60,0,38,161,60,0,39,161,60,0,40,161,60,0,41,161,60,0,42,161,60,0,43,161,60,0,44,161,60,0,45,161,60,0,46,161,60,0,47,161,60,0,48,161,60,0,49,161,60,0,50,161,60,0,51,161,60,0,52,161,60,0,53,161,60,0,54,161,60,0,55,161,60,0,56,161,60,0,57,161,60,0,58,161,60,0,59,161,60,0,60,161,60,0,61,161,60,0,62,161,60,0,63,161,60,0,64,161,60,0,65,161,60,0,66,161,60,0,67,161,60,0,68,161,60,0,69,161,60,0,70,161,60,0,71,161,60,0,72,161,60,0,73,161,60,0,74,161,60,0,75,161,60,0,76,161,60,0,77,161,60,0,78,161,60,0,79,161,60,0,80,161,60,0,81,161,60,0,82,161,60,0,83,161,60,0,84,161,60,0,85,161,60,0,86,161,60,0,87,161,60,0,88,161,60,0,89,161,60,0,90,161,60,0,91,161,60,0,92,161,60,0,93,161,60,0,94,161,60,0,95,161,60,0,96,161,60,0,97,161,60,0,98,161,60,0,99,161,60,0,100,161,60,0,101,161,60,0,102,161,60,0,103,161,60,0,104,161,60,0,105,161,60,0,106,161,60,0,107,161,60,0,108,161,60,0,109,161,60,0,110,161,60,0,111,161,60,0,112,161,60,0,113,161,60,0,114,161,60,0,115,161,60,0,116,161,60,0,117,161,60,0,118,161,60,0,119,161,60,0,120,161,60,0,121,161,60,0,122,161,60,0,123,161,60,0,124,161,60,0,125,161,60,0,126,161,60,0,127,161,60,0,128,161,60,0,129,161,60,0,130,161,60,0,131,161,60,0,132,161,60,0,133,161,60,0,134,161,60,0,135,161,60,0,136,161,60,0,137,161,60,0,138,161,60,0,139,161,60,0,140,161,60,0,141,161,60,0,142,161,60,0,143,161,60,0,144,161,60,0,145,161,60,0,146,161,60,0,147,161,60,0,148,161,60,0,149,161,60,0,150,161,60,0,151,161,60,0,152,161,60,0,153,161,60,0,154,161,60,0,155,161,60,0,156,161,60,0,157,161,60,0,158,161,60,0,159,161,60,0,160,161,60,0,161,161,60,0,162,161,60,0,163,161,60,0,164,161,60,0,165,161,60,0,166,161,60,0,167,161,60,0,168,161,60,0,169,161,60,0,170,161,60,0,171,161,60,0,172,161,60,0,173,161,60,0,174,161,60,0,175,161,60,0,176,161,60,0,177,161,60,0,178,161,60,0,179,161,60,0,180,161,60,0,181,161,60,0,182,161,60,0,183,161,60,0,184,161,60,0,185,161,60,0,186,161,60,0,187,161,60,0,188,161,60,0,189,161,60,0,190,161,60,0,191,161,60,0,192,161,60,0,193,161,60,0,194,161,60,0,195,161,60,0,196,161,60,0,197,161,60,0,198,161,60,0,199,161,60,0,200,161,60,0,201,161,60,0,202,161,60,0,203,161,60,0,204,161,60,0,205,161,60,0,206,161,60,0,207,161,60,0,208,161,60,0,209,161,60,0,210,161,60,0,211,161,60,0,212,161,60,0,213,161,60,0,214,161,60,0,215,161,60,0,216,161,60,0,217,161,60,0,218,161,60,0,219,161,60,0,220,161,60,0,221,161,60,0,222,161,60,0,223,161,60,0,224,161,60,0,225,161,60,0,226,161,60,0,227,161,60,0,228,161,60,0,229,161,60,0,230,161,60,0,231,161,60,0,232,161,60,0,233,161,60,0,234,161,60,0,235,161,60,0,236,161,60,0,237,161,60,0,238,161,60,0,239,161,60,0,240,161,60,0,241,161,60,0,242,161,60,0,243,161,60,0,244,161,60,0,245,161,60,0,246,161,60,0,247,161,60,0,248,161,60,0,249,161,60,0,250,161,60,0,251,161,60,0,252,161,60,0,253,161,60,0,254,161,60,0,255,161,60,0,0,162,60,0,1,162,60,0,2,162,60,0,3,162,60,0,4,162,60,0,5,162,60,0,6,162,60,0,7,162,60,0,8,162,60,0,9,162,60,0,10,162,60,0,11,162,60,0,12,162,60,0,13,162,60,0,14,162,60,0,15,162,60,0,16,162,60,0,17,162,60,0,18,162,60,0,19,162,60,0,20,162,60,0,21,162,60,0,22,162,60,0,23,162,60,0,24,162,60,0,25,162,60,0,26,162,60,0,27,162,60,0,28,162,60,0,29,162,60,0,30,162,60,0,31,162,60,0,32,162,60,0,33,162,60,0,34,162,60,0,35,162,60,0,36,162,60,0,37,162,60,0,38,162,60,0,39,162,60,0,40,162,60,0,41,162,60,0,42,162,60,0,43,162,60,0,44,162,60,0,45,162,60,0,46,162,60,0,47,162,60,0,48,162,60,0,49,162,60,0,50,162,60,0,51,162,60,0,52,162,60,0,53,162,60,0,54,162,60,0,55,162,60,0,56,162,60,0,57,162,60,0,58,162,60,0,59,162,60,0,60,162,60,0,61,162,60,0,62,162,60,0,63,162,60,0,64,162,60,0,65,162,60,0,66,162,60,0,67,162,60,0,68,162,60,0,69,162,60,0,70,162,60,0,71,162,60,0,72,162,60,0,73,162,60,0,74,162,60,0,75,162,60,0,76,162,60,0,77,162,60,0,78,162,60,0,79,162,60,0,80,162,60,0,81,162,60,0,82,162,60,0,83,162,60,0,84,162,60,0,85,162,60,0,86,162,60,0,87,162,60,0,88,162,60,0,89,162,60,0,90,162,60,0,91,162,60,0,92,162,60,0,93,162,60,0,94,162,60,0,95,162,60,0,96,162,60,0,97,162,60,0,98,162,60,0,99,162,60,0,100,162,60,0,101,162,60,0,102,162,60,0,103,162,60,0,104,162,60,0,105,162,60,0,106,162,60,0,107,162,60,0,108,162,60,0,109,162,60,0,110,162,60,0,111,162,60,0,112,162,60,0,113,162,60,0,114,162,60,0,115,162,60,0,116,162,60,0,117,162,60,0,118,162,60,0,119,162,60,0,120,162,60,0,121,162,60,0,122,162,60,0,123,162,60,0,124,162,60,0,125,162,60,0,126,162,60,0,127,162,60,0,128,162,60,0,129,162,60,0,130,162,60,0,131,162,60,0,132,162,60,0,133,162,60,0,134,162,60,0,135,162,60,0,136,162,60,0,137,162,60,0,138,162,60,0,139,162,60,0,140,162,60,0,141,162,60,0,142,162,60,0,143,162,60,0,144,162,60,0,145,162,60,0,146,162,60,0,147,162,60,0,148,162,60,0,149,162,60,0,150,162,60,0,151,162,60,0,152,162,60,0,153,162,60,0,154,162,60,0,155,162,60,0,156,162,60,0,157,162,60,0,158,162,60,0,159,162,60,0,160,162,60,0,161,162,60,0,162,162,60,0,163,162,60,0,164,162,60,0,165,162,60,0,166,162,60,0,167,162,60,0,168,162,60,0,169,162,60,0,170,162,60,0,171,162,60,0,172,162,60,0,173,162,60,0,174,162,60,0,175,162,60,0,176,162,60,0,177,162,60,0,178,162,60,0,179,162,60,0,180,162,60,0,181,162,60,0,182,162,60,0,183,162,60,0,184,162,60,0,185,162,60,0,186,162,60,0,187,162,60,0,188,162,60,0,189,162,60,0,190,162,60,0,191,162,60,0,192,162,60,0,193,162,60,0,194,162,60,0,195,162,60,0,196,162,60,0,197,162,60,0,198,162,60,0,199,162,60,0,200,162,60,0,201,162,60,0,202,162,60,0,203,162,60,0,204,162,60,0,205,162,60,0,206,162,60,0,207,162,60,0,208,162,60,0,209,162,60,0,210,162,60,0,211,162,60,0,212,162,60,0,213,162,60,0,214,162,60,0,215,162,60,0,216,162,60,0,217,162,60,0,218,162,60,0,219,162,60,0,220,162,60,0,221,162,60,0,222,162,60,0,223,162,60,0,224,162,60,0,225,162,60,0,226,162,60,0,227,162,60,0,228,162,60,0,229,162,60,0,230,162,60,0,231,162,60,0,232,162,60,0,233,162,60,0,234,162,60,0,235,162,60,0,236,162,60,0,237,162,60,0,238,162,60,0,239,162,60,0,240,162,60,0,241,162,60,0,242,162,60,0,243,162,60,0,244,162,60,0,245,162,60,0,246,162,60,0,247,162,60,0,248,162,60,0,249,162,60,0,250,162,60,0,251,162,60,0,252,162,60,0,253,162,60,0,254,162,60,0,255,162,60,0,0,163,60,0,1,163,60,0,2,163,60,0,3,163,60,0,4,163,60,0,5,163,60,0,6,163,60,0,7,163,60,0,8,163,60,0,9,163,60,0,10,163,60,0,11,163,60,0,12,163,60,0,13,163,60,0,14,163,60,0,15,163,60,0,16,163,60,0,17,163,60,0,18,163,60,0,19,163,60,0,20,163,60,0,21,163,60,0,22,163,60,0,23,163,60,0,24,163,60,0,25,163,60,0,26,163,60,0,27,163,60,0,28,163,60,0,29,163,60,0,30,163,60,0,31,163,60,0,32,163,60,0,33,163,60,0,34,163,60,0,35,163,60,0,36,163,60,0,37,163,60,0,38,163,60,0,39,163,60,0,40,163,60,0,41,163,60,0,42,163,60,0,43,163,60,0,44,163,60,0,45,163,60,0,46,163,60,0,47,163,60,0,48,163,60,0,49,163,60,0,50,163,60,0,51,163,60,0,52,163,60,0,53,163,60,0,54,163,60,0,55,163,60,0,56,163,60,0,57,163,60,0,58,163,60,0,59,163,60,0,60,163,60,0,61,163,60,0,62,163,60,0,63,163,60,0,64,163,60,0,65,163,60,0,66,163,60,0,67,163,60,0,68,163,60,0,69,163,60,0,70,163,60,0,71,163,60,0,72,163,60,0,73,163,60,0,74,163,60,0,75,163,60,0,76,163,60,0,77,163,60,0,78,163,60,0,79,163,60,0,80,163,60,0,81,163,60,0,82,163,60,0,83,163,60,0,84,163,60,0,85,163,60,0,86,163,60,0,87,163,60,0,88,163,60,0,89,163,60,0,90,163,60,0,91,163,60,0,92,163,60,0,93,163,60,0,94,163,60,0,95,163,60,0,96,163,60,0,97,163,60,0,98,163,60,0,99,163,60,0,100,163,60,0,101,163,60,0,102,163,60,0,103,163,60,0,104,163,60,0,105,163,60,0,106,163,60,0,107,163,60,0,108,163,60,0,109,163,60,0,110,163,60,0,111,163,60,0,112,163,60,0,113,163,60,0,114,163,60,0,115,163,60,0,116,163,60,0,117,163,60,0,118,163,60,0,119,163,60,0,120,163,60,0,121,163,60,0,122,163,60,0,123,163,60,0,124,163,60,0,125,163,60,0,126,163,60,0,127,163,60,0,128,163,60,0,129,163,60,0,130,163,60,0,131,163,60,0,132,163,60,0,133,163,60,0,134,163,60,0,135,163,60,0,136,163,60,0,137,163,60,0,138,163,60,0,139,163,60,0,140,163,60,0,141,163,60,0,142,163,60,0,143,163,60,0,144,163,60,0,145,163,60,0,146,163,60,0,147,163,60,0,148,163,60,0,149,163,60,0,150,163,60,0,151,163,60,0,152,163,60,0,153,163,60,0,154,163,60,0,155,163,60,0,156,163,60,0,157,163,60,0,158,163,60,0,159,163,60,0,160,163,60,0,161,163,60,0,162,163,60,0,163,163,60,0,164,163,60,0,165,163,60,0,166,163,60,0,167,163,60,0,168,163,60,0,169,163,60,0,170,163,60,0,171,163,60,0,172,163,60,0,173,163,60,0,174,163,60,0,175,163,60,0,176,163,60,0,177,163,60,0,178,163,60,0,179,163,60,0,180,163,60,0,181,163,60,0,182,163,60,0,183,163,60,0,184,163,60,0,185,163,60,0,186,163,60,0,187,163,60,0,188,163,60,0,189,163,60,0,190,163,60,0,191,163,60,0,192,163,60,0,193,163,60,0,194,163,60,0,195,163,60,0,196,163,60,0,197,163,60,0,198,163,60,0,199,163,60,0,200,163,60,0,201,163,60,0,202,163,60,0,203,163,60,0,204,163,60,0,205,163,60,0,206,163,60,0,207,163,60,0,208,163,60,0,209,163,60,0,210,163,60,0,211,163,60,0,212,163,60,0,213,163,60,0,214,163,60,0,215,163,60,0,216,163,60,0,217,163,60,0,218,163,60,0,219,163,60,0,220,163,60,0,221,163,60,0,222,163,60,0,223,163,60,0,224,163,60,0,225,163,60,0,226,163,60,0,227,163,60,0,228,163,60,0,229,163,60,0,230,163,60,0,231,163,60,0,232,163,60,0,233,163,60,0,234,163,60,0,235,163,60,0,236,163,60,0,237,163,60,0,238,163,60,0,239,163,60,0,240,163,60,0,241,163,60,0,242,163,60,0,243,163,60,0,244,163,60,0,245,163,60,0,246,163,60,0,247,163,60,0,248,163,60,0,249,163,60,0,250,163,60,0,251,163,60,0,252,163,60,0,253,163,60,0,254,163,60,0,255,163,60,0,0,164,60,0,1,164,60,0,2,164,60,0,3,164,60,0,4,164,60,0,5,164,60,0,6,164,60,0,7,164,60,0,8,164,60,0,9,164,60,0,10,164,60,0,11,164,60,0,12,164,60,0,13,164,60,0,14,164,60,0,15,164,60,0,16,164,60,0,17,164,60,0,18,164,60,0,19,164,60,0,20,164,60,0,21,164,60,0,22,164,60,0,23,164,60,0,24,164,60,0,25,164,60,0,26,164,60,0,27,164,60,0,28,164,60,0,29,164,60,0,30,164,60,0,31,164,60,0,32,164,60,0,33,164,60,0,34,164,60,0,35,164,60,0,36,164,60,0,37,164,60,0,38,164,60,0,39,164,60,0,40,164,60,0,41,164,60,0,42,164,60,0,43,164,60,0,44,164,60,0,45,164,60,0,46,164,60,0,47,164,60,0,48,164,60,0,49,164,60,0,50,164,60,0,51,164,60,0,52,164,60,0,53,164,60,0,54,164,60,0,55,164,60,0,56,164,60,0,57,164,60,0,58,164,60,0,59,164,60,0,60,164,60,0,61,164,60,0,62,164,60,0,63,164,60,0,64,164,60,0,65,164,60,0,66,164,60,0,67,164,60,0,68,164,60,0,69,164,60,0,70,164,60,0,71,164,60,0,72,164,60,0,73,164,60,0,74,164,60,0,75,164,60,0,76,164,60,0,77,164,60,0,78,164,60,0,79,164,60,0,80,164,60,0,81,164,60,0,82,164,60,0,83,164,60,0,84,164,60,0,85,164,60,0,86,164,60,0,87,164,60,0,88,164,60,0,89,164,60,0,90,164,60,0,91,164,60,0,92,164,60,0,93,164,60,0,94,164,60,0,95,164,60,0,96,164,60,0,97,164,60,0,98,164,60,0,99,164,60,0,100,164,60,0,101,164,60,0,102,164,60,0,103,164,60,0,104,164,60,0,105,164,60,0,106,164,60,0,107,164,60,0,108,164,60,0,109,164,60,0,110,164,60,0,111,164,60,0,112,164,60,0,113,164,60,0,114,164,60,0,115,164,60,0,116,164,60,0,117,164,60,0,118,164,60,0,119,164,60,0,120,164,60,0,121,164,60,0,122,164,60,0,123,164,60,0,124,164,60,0,125,164,60,0,126,164,60,0,127,164,60,0,128,164,60,0,129,164,60,0,130,164,60,0,131,164,60,0,132,164,60,0,133,164,60,0,134,164,60,0,135,164,60,0,136,164,60,0,137,164,60,0,138,164,60,0,139,164,60,0,140,164,60,0,248,164,60,0,249,164,60,0,250,164,60,0,251,164,60,0,253,164,60,0,252,164,60,0,208,164,60,0,209,164,60,0,210,164,60,0,211,164,60,0,212,164,60,0,213,164,60,0,214,164,60,0,215,164,60,0,216,164,60,0,217,164,60,0,218,164,60,0,219,164,60,0,220,164,60,0,221,164,60,0,222,164,60,0,223,164,60,0,224,164,60,0,225,164,60,0,226,164,60,0,227,164,60,0,228,164,60,0,229,164,60,0,230,164,60,0,231,164,60,0,232,164,60,0,233,164,60,0,235,164,60,0,237,164,60,0,234,164,60,0,236,164,60,0,7,216,176,223,60,0,238,164,60,0,239,164,60,0,240,164,60,0,241,164,60,0,242,164,60,0,243,164,60,0,244,164,60,0,245,164,60,0,246,164,60,0,247,164,60,0,27,216,0,223,60,0,27,216,1,223,60,0,27,216,2,223,60,0,27,216,3,223,60,0,27,216,69,223,60,0,27,216,4,223,60,0,60,0,60,0,27,216,6,223,60,0,27,216,5,223,60,0,27,216,7,223,60,0,27,216,8,223,60,0,27,216,9,223,60,0,27,216,10,223,60,0,27,216,11,223,60,0,27,216,12,223,60,0,27,216,13,223,60,0,27,216,72,223,60,0,27,216,14,223,60,0,27,216,15,223,60,0,27,216,74,223,60,0,27,216,16,223,60,0,60,0,60,0,27,216,19,223,60,0,27,216,17,223,60,0,27,216,18,223,60,0,27,216,20,223,60,0,27,216,21,223,60,0,27,216,22,223,60,0,27,216,23,223,60,0,27,216,24,223,60,0,27,216,25,223,60,0,27,216,26,223,60,0,27,216,27,223,60,0,27,216,28,223,60,0,27,216,29,223,60,0,27,216,30,223,60,0,27,216,31,223,60,0,27,216,32,223,60,0,27,216,33,223,60,0,27,216,34,223,60,0,27,216,35,223,60,0,60,0,60,0,27,216,37,223,60,0,27,216,36,223,60,0,27,216,38,223,60,0,27,216,39,223,60,0,27,216,40,223,60,0,27,216,41,223,60,0,27,216,42,223,60,0,27,216,43,223,60,0,27,216,44,223,60,0,27,216,45,223,60,0,27,216,46,223,60,0,27,216,47,223,60,0,27,216,48,223,60,0,27,216,49,223,60,0,27,216,50,223,60,0,27,216,71,223,60,0,27,216,51,223,60,0,27,216,70,223,60,0,27,216,52,223,60,0,27,216,53,223,60,0,27,216,54,223,60,0,27,216,55,223,60,0,27,216,56,223,60,0,27,216,57,223,60,0,27,216,73,223,60,0,27,216,58,223,60,0,27,216,59,223,60,0,27,216,60,223,60,0,27,216,61,223,60,0,60,0,60,0,27,216,63,223,60,0,27,216,62,223,60,0,27,216,64,223,60,0,27,216,65,223,60,0,27,216,66,223,60,0,27,216,67,223,60,0,27,216,68,223,60,0,27,216,80,223,60,0,27,216,81,223,60,0,27,216,82,223,60,0,27,216,83,223,60,0,27,216,79,223,60,0,27,216,84,223,60,0,27,216,85,223,60,0,27,216,86,223,60,0,27,216,87,223,60,0,27,216,88,223,60,0,27,216,129,223,60,0,27,216,89,223,60,0,27,216,90,223,60,0,27,216,91,223,60,0,27,216,92,223,60,0,27,216,131,223,60,0,27,216,93,223,60,0,27,216,94,223,60,0,27,216,95,223,60,0,27,216,96,223,60,0,27,216,132,223,60,0,27,216,97,223,60,0,27,216,98,223,60,0,27,216,99,223,60,0,27,216,100,223,60,0,27,216,101,223,60,0,27,216,134,223,60,0,27,216,102,223,60,0,27,216,103,223,60,0,27,216,104,223,60,0,27,216,105,223,60,0,27,216,106,223,60,0,27,216,107,223,60,0,27,216,108,223,60,0,27,216,109,223,60,0,27,216,127,223,60,0,27,216,135,223,60,0,27,216,110,223,60,0,27,216,111,223,60,0,27,216,112,223,60,0,27,216,113,223,60,0,27,216,114,223,60,0,27,216,128,223,60,0,27,216,115,223,60,0,27,216,116,223,60,0,27,216,133,223,60,0,27,216,130,223,60,0,27,216,117,223,60,0,27,216,118,223,60,0,27,216,119,223,60,0,27,216,120,223,60,0,27,216,121,223,60,0,27,216,122,223,60,0,27,216,123,223,60,0,27,216,124,223,60,0,27,216,125,223,60,0,27,216,126,223,60,0,27,216,143,223,60,0,27,216,144,223,60,0,27,216,145,223,60,0,27,216,146,223,60,0,27,216,147,223,60,0,27,216,148,223,60,0,27,216,149,223,60,0,27,216,150,223,60,0,27,216,151,223,60,0,27,216,152,223,60,0,27,216,153,223,60,0,27,216,154,223,60,0,27,216,155,223,60,0,27,216,156,223,60,0,27,216,157,223,60,0,27,216,158,223,60,0,27,216,159,223,60,0,6,216,255,220,60,0,6,216,192,220,60,0,60,0,60,0,6,216,160,220,60,0,6,216,193,220,60,0,60,0,60,0,6,216,161,220,60,0,6,216,194,220,60,0,60,0,60,0,6,216,162,220,60,0,6,216,195,220,60,0,60,0,60,0,6,216,163,220,60,0,6,216,196,220,60,0,60,0,60,0,6,216,164,220,60,0,6,216,197,220,60,0,60,0,60,0,6,216,165,220,60,0,6,216,198,220,60,0,60,0,60,0,6,216,166,220,60,0,6,216,199,220,60,0,60,0,60,0,6,216,167,220,60,0,6,216,200,220,60,0,60,0,60,0,6,216,168,220,60,0,6,216,201,220,60,0,60,0,60,0,6,216,169,220,60,0,6,216,202,220,60,0,60,0,60,0,6,216,170,220,60,0,6,216,203,220,60,0,60,0,60,0,6,216,171,220,60,0,6,216,204,220,60,0,60,0,60,0,6,216,172,220,60,0,6,216,205,220,60,0,60,0,60,0,6,216,173,220,60,0,6,216,206,220,60,0,60,0,60,0,6,216,174,220,60,0,6,216,207,220,60,0,60,0,60,0,6,216,175,220,60,0,6,216,208,220,60,0,60,0,60,0,6,216,176,220,60,0,6,216,209,220,60,0,60,0,60,0,6,216,177,220,60,0,6,216,210,220,60,0,60,0,60,0,6,216,178,220,60,0,6,216,211,220,60,0,60,0,60,0,6,216,179,220,60,0,6,216,212,220,60,0,60,0,60,0,6,216,180,220,60,0,6,216,213,220,60,0,60,0,60,0,6,216,181,220,60,0,6,216,214,220,60,0,60,0,60,0,6,216,182,220,60,0,6,216,215,220,60,0,60,0,60,0,6,216,183,220,60,0,6,216,216,220,60,0,60,0,60,0,6,216,184,220,60,0,6,216,217,220,60,0,60,0,60,0,6,216,185,220,60,0,6,216,218,220,60,0,60,0,60,0,6,216,186,220,60,0,6,216,219,220,60,0,60,0,60,0,6,216,187,220,60,0,6,216,220,220,60,0,60,0,60,0,6,216,188,220,60,0,6,216,221,220,60,0,60,0,60,0,6,216,189,220,60,0,6,216,222,220,60,0,60,0,60,0,6,216,190,220,60,0,6,216,223,220,60,0,60,0,60,0,6,216,191,220,60,0,6,216,213,222,60,0,6,216,214,222,60,0,6,216,215,222,60,0,6,216,216,222,60,0,6,216,217,222,60,0,6,216,218,222,60,0,6,216,219,222,60,0,6,216,192,222,60,0,6,216,193,222,60,0,6,216,194,222,60,0,6,216,195,222,60,0,6,216,196,222,60,0,6,216,197,222,60,0,6,216,198,222,60,0,6,216,199,222,60,0,6,216,200,222,60,0,6,216,201,222,60,0,6,216,202,222,60,0,6,216,203,222,60,0,6,216,204,222,60,0,6,216,205,222,60,0,6,216,206,222,60,0,6,216,207,222,60,0,6,216,208,222,60,0,6,216,209,222,60,0,6,216,210,222,60,0,6,216,211,222,60,0,6,216,212,222,60,0,6,216,220,222,60,0,6,216,221,222,60,0,6,216,223,222,60,0,6,216,224,222,60,0,6,216,225,222,60,0,6,216,226,222,60,0,6,216,227,222,60,0,6,216,222,222,60,0,6,216,228,222,60,0,6,216,239,222,60,0,6,216,242,222,60,0,6,216,241,222,60,0,6,216,230,222,60,0,6,216,233,222,60,0,6,216,229,222,60,0,6,216,232,222,60,0,6,216,244,222,60,0,6,216,247,222,60,0,6,216,243,222,60,0,6,216,246,222,60,0,6,216,236,222,60,0,6,216,238,222,60,0,6,216,235,222,60,0,6,216,237,222,60,0,6,216,245,222,60,0,6,216,248,222,60,0,6,216,231,222,60,0,6,216,234,222,60,0,6,216,240,222,60,0,26,216,0,223,60,0,26,216,1,223,60,0,26,216,2,223,60,0,26,216,3,223,60,0,26,216,4,223,60,0,26,216,5,223,60,0,26,216,6,223,60,0,26,216,7,223,60,0,26,216,8,223,60,0,26,216,9,223,60,0,26,216,10,223,60,0,26,216,11,223,60,0,26,216,12,223,60,0,26,216,13,223,60,0,26,216,14,223,60,0,26,216,15,223,60,0,26,216,16,223,60,0,26,216,17,223,60,0,26,216,18,223,60,0,26,216,19,223,60,0,26,216,20,223,60,0,26,216,21,223,60,0,26,216,22,223,60,0,26,216,23,223,60,0,26,216,24,223,60,0,26,216,25,223,60,0,26,216,26,223,60,0,26,216,27,223,60,0,26,216,28,223,60,0,26,216,29,223,60,0,26,216,30,223,60,0,26,216,31,223,60,0,26,216,32,223,60,0,26,216,33,223,60,0,26,216,34,223,60,0,26,216,35,223,60,0,26,216,36,223,60,0,26,216,37,223,60,0,26,216,38,223,60,0,26,216,39,223,60,0,26,216,40,223,60,0,26,216,41,223,60,0,26,216,42,223,60,0,26,216,43,223,60,0,26,216,44,223,60,0,26,216,45,223,60,0,26,216,46,223,60,0,26,216,47,223,60,0,26,216,64,223,60,0,26,216,65,223,60,0,26,216,99,223,60,0,26,216,100,223,60,0,26,216,101,223,60,0,26,216,102,223,60,0,26,216,103,223,60,0,26,216,104,223,60,0,26,216,105,223,60,0,26,216,106,223,60,0,26,216,107,223,60,0,26,216,108,223,60,0,26,216,109,223,60,0,26,216,110,223,60,0,26,216,111,223,60,0,26,216,112,223,60,0,26,216,113,223,60,0,26,216,114,223,60,0,26,216,115,223,60,0,26,216,116,223,60,0,26,216,117,223,60,0,26,216,118,223,60,0,26,216,119,223,60,0,26,216,125,223,60,0,26,216,126,223,60,0,26,216,127,223,60,0,26,216,128,223,60,0,26,216,129,223,60,0,26,216,130,223,60,0,26,216,131,223,60,0,26,216,132,223,60,0,26,216,133,223,60,0,26,216,134,223,60,0,26,216,135,223,60,0,26,216,136,223,60,0,26,216,137,223,60,0,26,216,138,223,60,0,26,216,139,223,60,0,26,216,140,223,60,0,26,216,141,223,60,0,26,216,142,223,60,0,26,216,143,223,60,0,56,216,0,221,60,0,56,216,1,221,60,0,56,216,2,221,60,0,56,216,3,221,60,0,56,216,4,221,60,0,56,216,5,221,60,0,56,216,6,221,60,0,56,216,7,221,60,0,56,216,8,221,60,0,56,216,9,221,60,0,56,216,10,221,60,0,56,216,11,221,60,0,56,216,12,221,60,0,56,216,13,221,60,0,56,216,14,221,60,0,56,216,15,221,60,0,56,216,16,221,60,0,56,216,17,221,60,0,56,216,18,221,60,0,56,216,19,221,60,0,56,216,20,221,60,0,56,216,21,221,60,0,56,216,22,221,60,0,56,216,23,221,60,0,56,216,24,221,60,0,56,216,25,221,60,0,56,216,26,221,60,0,56,216,27,221,60,0,56,216,28,221,60,0,56,216,29,221,60,0,56,216,30,221,60,0,56,216,31,221,60,0,56,216,32,221,60,0,56,216,33,221,60,0,56,216,34,221,60,0,56,216,35,221,60,0,56,216,36,221,60,0,56,216,37,221,60,0,56,216,38,221,60,0,56,216,39,221,60,0,56,216,40,221,60,0,56,216,41,221,60,0,56,216,42,221,60,0,56,216,43,221,60,0,56,216,44,221,60,0,56,216,55,221,60,0,56,216,56,221,60,0,56,216,57,221,60,0,56,216,58,221,60,0,56,216,59,221,60,0,56,216,78,221,60,0,56,216,144,222,60,0,56,216,145,222,60,0,56,216,146,222,60,0,56,216,147,222,60,0,56,216,148,222,60,0,56,216,149,222,60,0,56,216,150,222,60,0,56,216,151,222,60,0,56,216,152,222,60,0,56,216,153,222,60,0,56,216,154,222,60,0,56,216,155,222,60,0,56,216,156,222,60,0,56,216,157,222,60,0,56,216,158,222,60,0,56,216,159,222,60,0,56,216,160,222,60,0,56,216,161,222,60,0,56,216,162,222,60,0,56,216,163,222,60,0,56,216,164,222,60,0,56,216,165,222,60,0,56,216,166,222,60,0,56,216,167,222,60,0,56,216,168,222,60,0,56,216,169,222,60,0,56,216,170,222,60,0,56,216,171,222,60,0,56,216,172,222,60,0,56,216,173,222,60,0,56,216,192,222,60,0,56,216,193,222,60,0,56,216,194,222,60,0,56,216,195,222,60,0,56,216,196,222,60,0,56,216,197,222,60,0,56,216,198,222,60,0,56,216,199,222,60,0,56,216,200,222,60,0,56,216,201,222,60,0,56,216,202,222,60,0,56,216,203,222,60,0,56,216,204,222,60,0,56,216,205,222,60,0,56,216,206,222,60,0,56,216,207,222,60,0,56,216,208,222,60,0,56,216,209,222,60,0,56,216,210,222,60,0,56,216,211,222,60,0,56,216,212,222,60,0,56,216,213,222,60,0,56,216,214,222,60,0,56,216,215,222,60,0,56,216,216,222,60,0,56,216,217,222,60,0,56,216,218,222,60,0,56,216,219,222,60,0,56,216,220,222,60,0,56,216,221,222,60,0,56,216,222,222,60,0,56,216,223,222,60,0,56,216,224,222,60,0,56,216,225,222,60,0,56,216,226,222,60,0,56,216,227,222,60,0,56,216,228,222,60,0,56,216,229,222,60,0,56,216,230,222,60,0,56,216,231,222,60,0,56,216,232,222,60,0,56,216,233,222,60,0,56,216,234,222,60,0,56,216,235,222,60,0,57,216,208,220,60,0,57,216,209,220,60,0,57,216,210,220,60,0,57,216,211,220,60,0,57,216,212,220,60,0,57,216,213,220,60,0,57,216,214,220,60,0,57,216,215,220,60,0,57,216,216,220,60,0,57,216,217,220,60,0,57,216,218,220,60,0,57,216,219,220,60,0,57,216,220,220,60,0,57,216,221,220,60,0,57,216,222,220,60,0,57,216,223,220,60,0,57,216,224,220,60,0,57,216,225,220,60,0,57,216,226,220,60,0,57,216,227,220,60,0,57,216,228,220,60,0,57,216,229,220,60,0,57,216,230,220,60,0,57,216,231,220,60,0,57,216,232,220,60,0,57,216,233,220,60,0,57,216,234,220,60,0,57,216,235,220,60,0,0,216,128,222,60,0,0,216,129,222,60,0,0,216,130,222,60,0,0,216,131,222,60,0,0,216,132,222,60,0,0,216,133,222,60,0,0,216,134,222,60,0,0,216,135,222,60,0,0,216,136,222,60,0,0,216,137,222,60,0,0,216,138,222,60,0,0,216,139,222,60,0,0,216,140,222,60,0,0,216,141,222,60,0,0,216,142,222,60,0,0,216,143,222,60,0,0,216,144,222,60,0,0,216,145,222,60,0,0,216,146,222,60,0,0,216,147,222,60,0,0,216,148,222,60,0,0,216,149,222,60,0,0,216,150,222,60,0,0,216,151,222,60,0,0,216,152,222,60,0,0,216,153,222,60,0,0,216,154,222,60,0,0,216,155,222,60,0,0,216,156,222,60,0,0,216,160,222,60,0,0,216,161,222,60,0,0,216,162,222,60,0,0,216,163,222,60,0,0,216,164,222,60,0,0,216,165,222,60,0,0,216,166,222,60,0,0,216,167,222,60,0,0,216,168,222,60,0,0,216,169,222,60,0,0,216,170,222,60,0,0,216,171,222,60,0,0,216,172,222,60,0,0,216,173,222,60,0,0,216,174,222,60,0,0,216,175,222,60,0,0,216,176,222,60,0,0,216,177,222,60,0,0,216,178,222,60,0,0,216,179,222,60,0,0,216,180,222,60,0,0,216,181,222,60,0,0,216,182,222,60,0,0,216,183,222,60,0,0,216,184,222,60,0,0,216,185,222,60,0,0,216,186,222,60,0,0,216,187,222,60,0,0,216,188,222,60,0,0,216,189,222,60,0,0,216,190,222,60,0,0,216,191,222,60,0,0,216,192,222,60,0,0,216,193,222,60,0,0,216,194,222,60,0,0,216,195,222,60,0,0,216,196,222,60,0,0,216,197,222,60,0,0,216,198,222,60,0,0,216,199,222,60,0,0,216,200,222,60,0,0,216,201,222,60,0,0,216,202,222,60,0,0,216,203,222,60,0,0,216,204,222,60,0,0,216,205,222,60,0,0,216,206,222,60,0,0,216,207,222,60,0,0,216,208,222,60,0,14,32,2,216,32,221,14,32,60,0,14,32,2,216,33,221,14,32,60,0,14,32,2,216,34,221,14,32,60,0,14,32,2,216,35,221,14,32,60,0,14,32,2,216,36,221,14,32,60,0,14,32,2,216,37,221,14,32,60,0,14,32,2,216,38,221,14,32,60,0,14,32,2,216,39,221,14,32,60,0,14,32,2,216,40,221,14,32,60,0,14,32,2,216,41,221,14,32,60,0,14,32,2,216,42,221,14,32,60,0,14,32,2,216,43,221,14,32,60,0,14,32,2,216,44,221,14,32,60,0,14,32,2,216,45,221,14,32,60,0,14,32,2,216,46,221,14,32,60,0,14,32,2,216,47,221,14,32,60,0,14,32,2,216,48,221,14,32,60,0,14,32,2,216,49,221,14,32,60,0,14,32,2,216,50,221,14,32,60,0,14,32,2,216,51,221,14,32,60,0,14,32,2,216,52,221,14,32,60,0,14,32,2,216,53,221,14,32,60,0,14,32,2,216,54,221,14,32,60,0,14,32,2,216,55,221,14,32,60,0,14,32,2,216,56,221,14,32,60,0,14,32,2,216,57,221,14,32,60,0,0,216,0,223,60,0,0,216,1,223,60,0,0,216,2,223,60,0,0,216,3,223,60,0,0,216,4,223,60,0,0,216,5,223,60,0,0,216,6,223,60,0,0,216,7,223,60,0,0,216,8,223,60,0,0,216,9,223,60,0,0,216,10,223,60,0,0,216,11,223,60,0,0,216,12,223,60,0,0,216,13,223,60,0,0,216,14,223,60,0,0,216,31,223,60,0,0,216,15,223,60,0,0,216,16,223,60,0,0,216,17,223,60,0,0,216,18,223,60,0,0,216,19,223,60,0,0,216,20,223,60,0,0,216,21,223,60,0,0,216,22,223,60,0,0,216,23,223,60,0,0,216,24,223,60,0,0,216,25,223,60,0,0,216,26,223,60,0,0,216,27,223,60,0,0,216,28,223,60,0,0,216,29,223,60,0,0,216,30,223,60,0,0,216,45,223,60,0,0,216,46,223,60,0,0,216,47,223,60,0,0,216,48,223,60,0,0,216,49,223,60,0,0,216,50,223,60,0,0,216,51,223,60,0,0,216,52,223,60,0,0,216,53,223,60,0,0,216,54,223,60,0,0,216,55,223,60,0,0,216,56,223,60,0,0,216,57,223,60,0,0,216,58,223,60,0,0,216,59,223,60,0,0,216,60,223,60,0,0,216,61,223,60,0,0,216,62,223,60,0,0,216,63,223,60,0,0,216,64,223,60,0,0,216,65,223,60,0,0,216,66,223,60,0,0,216,67,223,60,0,0,216,68,223,60,0,0,216,69,223,60,0,0,216,70,223,60,0,0,216,71,223,60,0,0,216,72,223,60,0,0,216,73,223,60,0,0,216,74,223,60,0,1,216,40,220,60,0,60,0,60,0,1,216,0,220,60,0,1,216,41,220,60,0,60,0,60,0,1,216,1,220,60,0,1,216,42,220,60,0,60,0,60,0,1,216,2,220,60,0,1,216,43,220,60,0,60,0,60,0,1,216,3,220,60,0,1,216,44,220,60,0,60,0,60,0,1,216,4,220,60,0,1,216,45,220,60,0,60,0,60,0,1,216,5,220,60,0,1,216,46,220,60,0,60,0,60,0,1,216,6,220,60,0,1,216,47,220,60,0,60,0,60,0,1,216,7,220,60,0,1,216,48,220,60,0,60,0,60,0,1,216,8,220,60,0,1,216,49,220,60,0,60,0,60,0,1,216,9,220,60,0,1,216,50,220,60,0,60,0,60,0,1,216,10,220,60,0,1,216,51,220,60,0,60,0,60,0,1,216,11,220,60,0,1,216,52,220,60,0,60,0,60,0,1,216,12,220,60,0,1,216,53,220,60,0,60,0,60,0,1,216,13,220,60,0,1,216,54,220,60,0,60,0,60,0,1,216,14,220,60,0,1,216,55,220,60,0,60,0,60,0,1,216,15,220,60,0,1,216,56,220,60,0,60,0,60,0,1,216,16,220,60,0,1,216,57,220,60,0,60,0,60,0,1,216,17,220,60,0,1,216,58,220,60,0,60,0,60,0,1,216,18,220,60,0,1,216,59,220,60,0,60,0,60,0,1,216,19,220,60,0,1,216,60,220,60,0,60,0,60,0,1,216,20,220,60,0,1,216,61,220,60,0,60,0,60,0,1,216,21,220,60,0,1,216,62,220,60,0,60,0,60,0,1,216,22,220,60,0,1,216,63,220,60,0,60,0,60,0,1,216,23,220,60,0,1,216,64,220,60,0,60,0,60,0,1,216,24,220,60,0,1,216,65,220,60,0,60,0,60,0,1,216,25,220,60,0,1,216,66,220,60,0,60,0,60,0,1,216,26,220,60,0,1,216,67,220,60,0,60,0,60,0,1,216,27,220,60,0,1,216,68,220,60,0,60,0,60,0,1,216,28,220,60,0,1,216,69,220,60,0,60,0,60,0,1,216,29,220,60,0,1,216,70,220,60,0,60,0,60,0,1,216,30,220,60,0,1,216,71,220,60,0,60,0,60,0,1,216,31,220,60,0,1,216,72,220,60,0,60,0,60,0,1,216,32,220,60,0,1,216,73,220,60,0,60,0,60,0,1,216,33,220,60,0,1,216,74,220,60,0,60,0,60,0,1,216,34,220,60,0,1,216,75,220,60,0,60,0,60,0,1,216,35,220,60,0,1,216,76,220,60,0,60,0,60,0,1,216,36,220,60,0,1,216,77,220,60,0,60,0,60,0,1,216,37,220,60,0,1,216,78,220,60,0,60,0,60,0,1,216,38,220,60,0,1,216,79,220,60,0,60,0,60,0,1,216,39,220,60,0,1,216,80,220,60,0,1,216,81,220,60,0,1,216,82,220,60,0,1,216,83,220,60,0,1,216,84,220,60,0,1,216,85,220,60,0,1,216,86,220,60,0,1,216,87,220,60,0,1,216,88,220,60,0,1,216,89,220,60,0,1,216,90,220,60,0,1,216,91,220,60,0,1,216,92,220,60,0,1,216,93,220,60,0,1,216,94,220,60,0,1,216,95,220,60,0,1,216,96,220,60,0,1,216,97,220,60,0,1,216,98,220,60,0,1,216,99,220,60,0,1,216,100,220,60,0,1,216,101,220,60,0,1,216,102,220,60,0,1,216,103,220,60,0,1,216,104,220,60,0,1,216,105,220,60,0,1,216,106,220,60,0,1,216,107,220,60,0,1,216,108,220,60,0,1,216,109,220,60,0,1,216,110,220,60,0,1,216,111,220,60,0,1,216,112,220,60,0,1,216,113,220,60,0,1,216,114,220,60,0,1,216,115,220,60,0,1,216,116,220,60,0,1,216,117,220,60,0,1,216,118,220,60,0,1,216,119,220,60,0,1,216,120,220,60,0,1,216,121,220,60,0,1,216,122,220,60,0,1,216,123,220,60,0,1,216,124,220,60,0,1,216,125,220,60,0,1,216,126,220,60,0,1,216,127,220,60,0,47,216,0,220,60,0,47,216,1,220,60,0,47,216,2,220,60,0,47,216,3,220,60,0,47,216,4,220,60,0,47,216,5,220,60,0,47,216,6,220,60,0,47,216,7,220,60,0,47,216,8,220,60,0,47,216,9,220,60,0,47,216,10,220,60,0,47,216,11,220,60,0,47,216,12,220,60,0,47,216,13,220,60,0,47,216,14,220,60,0,47,216,15,220,60,0,47,216,16,220,60,0,47,216,17,220,60,0,47,216,18,220,60,0,47,216,19,220,60,0,47,216,20,220,60,0,47,216,21,220,60,0,47,216,22,220,60,0,47,216,23,220,60,0,47,216,24,220,60,0,47,216,25,220,60,0,47,216,26,220,60,0,47,216,27,220,60,0,47,216,28,220,60,0,47,216,29,220,60,0,47,216,30,220,60,0,47,216,31,220,60,0,47,216,32,220,60,0,47,216,33,220,60,0,47,216,34,220,60,0,47,216,35,220,60,0,47,216,36,220,60,0,47,216,37,220,60,0,47,216,38,220,60,0,47,216,39,220,60,0,47,216,40,220,60,0,47,216,41,220,60,0,47,216,42,220,60,0,47,216,43,220,60,0,47,216,44,220,60,0,47,216,45,220,60,0,47,216,46,220,60,0,47,216,47,220,60,0,47,216,48,220,60,0,47,216,49,220,60,0,47,216,50,220,60,0,47,216,51,220,60,0,47,216,52,220,60,0,47,216,53,220,60,0,47,216,54,220,60,0,47,216,55,220,60,0,47,216,56,220,60,0,47,216,57,220,60,0,47,216,58,220,60,0,47,216,59,220,60,0,47,216,60,220,60,0,47,216,61,220,60,0,47,216,62,220,60,0,47,216,63,220,60,0,47,216,64,220,60,0,47,216,65,220,60,0,47,216,66,220,60,0,47,216,67,220,60,0,47,216,68,220,60,0,47,216,69,220,60,0,47,216,70,220,60,0,47,216,71,220,60,0,47,216,72,220,60,0,47,216,73,220,60,0,47,216,74,220,60,0,47,216,75,220,60,0,47,216,76,220,60,0,47,216,77,220,60,0,47,216,78,220,60,0,47,216,79,220,60,0,47,216,80,220,60,0,47,216,81,220,60,0,47,216,82,220,60,0,47,216,83,220,60,0,47,216,84,220,60,0,47,216,85,220,60,0,47,216,86,220,60,0,47,216,87,220,60,0,47,216,88,220,60,0,47,216,89,220,60,0,47,216,90,220,60,0,47,216,91,220,60,0,47,216,92,220,60,0,47,216,93,220,60,0,47,216,94,220,60,0,47,216,95,220,60,0,47,216,96,220,60,0,47,216,97,220,60,0,47,216,98,220,60,0,47,216,99,220,60,0,47,216,100,220,60,0,47,216,101,220,60,0,47,216,102,220,60,0,47,216,103,220,60,0,47,216,104,220,60,0,47,216,105,220,60,0,47,216,106,220,60,0,47,216,112,220,60,0,47,216,113,220,60,0,47,216,114,220,60,0,47,216,115,220,60,0,47,216,116,220,60,0,47,216,117,220,60,0,47,216,118,220,60,0,47,216,119,220,60,0,47,216,120,220,60,0,47,216,121,220,60,0,47,216,122,220,60,0,47,216,123,220,60,0,47,216,124,220,60,0,47,216,128,220,60,0,47,216,129,220,60,0,47,216,130,220,60,0,47,216,131,220,60,0,47,216,132,220,60,0,47,216,133,220,60,0,47,216,134,220,60,0,47,216,135,220,60,0,47,216,136,220,60,0,47,216,144,220,60,0,47,216,145,220,60,0,47,216,146,220,60,0,47,216,147,220,60,0,47,216,148,220,60,0,47,216,149,220,60,0,47,216,150,220,60,0,47,216,151,220,60,0,47,216,152,220,60,0,47,216,153,220,60,0,1,216,128,220,60,0,1,216,129,220,60,0,1,216,130,220,60,0,1,216,131,220,60,0,1,216,132,220,60,0,1,216,133,220,60,0,1,216,134,220,60,0,1,216,135,220,60,0,1,216,136,220,60,0,1,216,137,220,60,0,1,216,138,220,60,0,1,216,139,220,60,0,1,216,140,220,60,0,1,216,141,220,60,0,1,216,142,220,60,0,1,216,143,220,60,0,1,216,144,220,60,0,1,216,145,220,60,0,1,216,146,220,60,0,1,216,147,220,60,0,1,216,148,220,60,0,1,216,149,220,60,0,1,216,150,220,60,0,1,216,151,220,60,0,1,216,152,220,60,0,1,216,153,220,60,0,1,216,154,220,60,0,1,216,155,220,60,0,1,216,156,220,60,0,1,216,157,220,60,0,1,216,0,221,60,0,1,216,1,221,60,0,1,216,2,221,60,0,1,216,3,221,60,0,1,216,4,221,60,0,1,216,5,221,60,0,1,216,6,221,60,0,1,216,7,221,60,0,1,216,8,221,60,0,1,216,9,221,60,0,1,216,10,221,60,0,1,216,11,221,60,0,1,216,12,221,60,0,1,216,13,221,60,0,1,216,14,221,60,0,1,216,15,221,60,0,1,216,16,221,60,0,1,216,17,221,60,0,1,216,18,221,60,0,1,216,19,221,60,0,1,216,20,221,60,0,1,216,21,221,60,0,1,216,22,221,60,0,1,216,23,221,60,0,1,216,24,221,60,0,1,216,25,221,60,0,1,216,26,221,60,0,1,216,27,221,60,0,1,216,28,221,60,0,1,216,29,221,60,0,1,216,30,221,60,0,1,216,31,221,60,0,1,216,32,221,60,0,1,216,33,221,60,0,1,216,34,221,60,0,1,216,35,221,60,0,1,216,36,221,60,0,1,216,37,221,60,0,1,216,38,221,60,0,1,216,39,221,60,0,1,216,48,221,60,0,1,216,49,221,60,0,1,216,50,221,60,0,1,216,51,221,60,0,1,216,52,221,60,0,1,216,53,221,60,0,1,216,54,221,60,0,1,216,55,221,60,0,1,216,56,221,60,0,1,216,57,221,60,0,1,216,58,221,60,0,1,216,59,221,60,0,1,216,60,221,60,0,1,216,61,221,60,0,1,216,62,221,60,0,1,216,63,221,60,0,1,216,64,221,60,0,1,216,65,221,60,0,1,216,66,221,60,0,1,216,67,221,60,0,1,216,68,221,60,0,1,216,69,221,60,0,1,216,70,221,60,0,1,216,71,221,60,0,1,216,72,221,60,0,1,216,73,221,60,0,1,216,74,221,60,0,1,216,75,221,60,0,1,216,76,221,60,0,1,216,77,221,60,0,1,216,78,221,60,0,1,216,79,221,60,0,1,216,80,221,60,0,1,216,81,221,60,0,1,216,82,221,60,0,1,216,83,221,60,0,1,216,84,221,60,0,1,216,85,221,60,0,1,216,86,221,60,0,1,216,87,221,60,0,1,216,88,221,60,0,1,216,89,221,60,0,1,216,90,221,60,0,1,216,91,221,60,0,1,216,92,221,60,0,1,216,93,221,60,0,1,216,94,221,60,0,1,216,95,221,60,0,1,216,96,221,60,0,1,216,97,221,60,0,1,216,98,221,60,0,1,216,99,221,60,0,1,216,151,221,60,0,60,0,60,0,1,216,112,221,60,0,1,216,152,221,60,0,60,0,60,0,1,216,113,221,60,0,1,216,153,221,60,0,60,0,60,0,1,216,114,221,60,0,1,216,154,221,60,0,60,0,60,0,1,216,115,221,60,0,1,216,155,221,60,0,60,0,60,0,1,216,116,221,60,0,1,216,156,221,60,0,60,0,60,0,1,216,117,221,60,0,1,216,157,221,60,0,60,0,60,0,1,216,118,221,60,0,1,216,158,221,60,0,60,0,60,0,1,216,119,221,60,0,1,216,159,221,60,0,60,0,60,0,1,216,120,221,60,0,1,216,160,221,60,0,60,0,60,0,1,216,121,221,60,0,1,216,161,221,60,0,60,0,60,0,1,216,122,221,60,0,1,216,163,221,60,0,60,0,60,0,1,216,124,221,60,0,1,216,164,221,60,0,60,0,60,0,1,216,125,221,60,0,1,216,165,221,60,0,60,0,60,0,1,216,126,221,60,0,1,216,166,221,60,0,60,0,60,0,1,216,127,221,60,0,1,216,167,221,60,0,60,0,60,0,1,216,128,221,60,0,1,216,168,221,60,0,60,0,60,0,1,216,129,221,60,0,1,216,169,221,60,0,60,0,60,0,1,216,130,221,60,0,1,216,170,221,60,0,60,0,60,0,1,216,131,221,60,0,1,216,171,221,60,0,60,0,60,0,1,216,132,221,60,0,1,216,172,221,60,0,60,0,60,0,1,216,133,221,60,0,1,216,173,221,60,0,60,0,60,0,1,216,134,221,60,0,1,216,174,221,60,0,60,0,60,0,1,216,135,221,60,0,1,216,175,221,60,0,60,0,60,0,1,216,136,221,60,0,1,216,176,221,60,0,60,0,60,0,1,216,137,221,60,0,1,216,177,221,60,0,60,0,60,0,1,216,138,221,60,0,1,216,179,221,60,0,60,0,60,0,1,216,140,221,60,0,1,216,180,221,60,0,60,0,60,0,1,216,141,221,60,0,1,216,181,221,60,0,60,0,60,0,1,216,142,221,60,0,1,216,182,221,60,0,60,0,60,0,1,216,143,221,60,0,1,216,183,221,60,0,60,0,60,0,1,216,144,221,60,0,1,216,184,221,60,0,60,0,60,0,1,216,145,221,60,0,1,216,185,221,60,0,60,0,60,0,1,216,146,221,60,0,1,216,187,221,60,0,60,0,60,0,1,216,148,221,60,0,1,216,188,221,60,0,60,0,60,0,1,216,149,221,60,0,4,216,208,220,60,0,4,216,209,220,60,0,4,216,210,220,60,0,4,216,211,220,60,0,4,216,212,220,60,0,4,216,213,220,60,0,4,216,214,220,60,0,4,216,215,220,60,0,4,216,216,220,60,0,4,216,217,220,60,0,4,216,218,220,60,0,4,216,219,220,60,0,4,216,220,220,60,0,4,216,221,220,60,0,4,216,222,220,60,0,4,216,223,220,60,0,4,216,224,220,60,0,4,216,225,220,60,0,4,216,226,220,60,0,4,216,227,220,60,0,4,216,228,220,60,0,4,216,229,220,60,0,4,216,230,220,60,0,4,216,231,220,60,0,4,216,232,220,60,0,26,216,64,222,60,0,26,216,65,222,60,0,26,216,66,222,60,0,26,216,67,222,60,0,26,216,68,222,60,0,26,216,69,222,60,0,26,216,70,222,60,0,26,216,71,222,60,0,26,216,72,222,60,0,26,216,73,222,60,0,26,216,74,222,60,0,26,216,75,222,60,0,26,216,76,222,60,0,26,216,77,222,60,0,26,216,78,222,60,0,26,216,79,222,60,0,26,216,80,222,60,0,26,216,81,222,60,0,26,216,82,222,60,0,26,216,83,222,60,0,26,216,84,222,60,0,26,216,85,222,60,0,26,216,86,222,60,0,26,216,87,222,60,0,26,216,88,222,60,0,26,216,89,222,60,0,26,216,90,222,60,0,26,216,91,222,60,0,26,216,92,222,60,0,26,216,93,222,60,0,26,216,94,222,60,0,26,216,112,222,60,0,26,216,113,222,60,0,26,216,114,222,60,0,26,216,115,222,60,0,26,216,116,222,60,0,26,216,117,222,60,0,26,216,118,222,60,0,26,216,119,222,60,0,26,216,120,222,60,0,26,216,121,222,60,0,26,216,122,222,60,0,26,216,123,222,60,0,26,216,124,222,60,0,26,216,125,222,60,0,26,216,126,222,60,0,26,216,127,222,60,0,26,216,128,222,60,0,26,216,129,222,60,0,26,216,130,222,60,0,26,216,131,222,60,0,26,216,132,222,60,0,26,216,133,222,60,0,26,216,134,222,60,0,26,216,135,222,60,0,26,216,136,222,60,0,26,216,137,222,60,0,26,216,138,222,60,0,26,216,139,222,60,0,26,216,140,222,60,0,26,216,141,222,60,0,26,216,142,222,60,0,26,216,143,222,60,0,26,216,144,222,60,0,26,216,145,222,60,0,26,216,146,222,60,0,26,216,147,222,60,0,26,216,148,222,60,0,26,216,149,222,60,0,26,216,150,222,60,0,26,216,151,222,60,0,26,216,152,222,60,0,26,216,153,222,60,0,26,216,154,222,60,0,26,216,155,222,60,0,26,216,156,222,60,0,26,216,157,222,60,0,26,216,158,222,60,0,26,216,159,222,60,0,26,216,160,222,60,0,26,216,161,222,60,0,26,216,162,222,60,0,26,216,163,222,60,0,26,216,164,222,60,0,26,216,165,222,60,0,26,216,166,222,60,0,26,216,167,222,60,0,26,216,168,222,60,0,26,216,169,222,60,0,26,216,170,222,60,0,26,216,171,222,60,0,26,216,172,222,60,0,26,216,173,222,60,0,26,216,174,222,60,0,26,216,175,222,60,0,26,216,176,222,60,0,26,216,177,222,60,0,26,216,178,222,60,0,26,216,179,222,60,0,26,216,180,222,60,0,26,216,181,222,60,0,26,216,182,222,60,0,26,216,183,222,60,0,26,216,184,222,60,0,26,216,185,222,60,0,26,216,186,222,60,0,26,216,187,222,60,0,26,216,188,222,60,0,26,216,189,222,60,0,26,216,190,222,60,0,0,216,0,220,60,0,0,216,1,220,60,0,0,216,2,220,60,0,0,216,3,220,60,0,0,216,4,220,60,0,0,216,5,220,60,0,0,216,6,220,60,0,0,216,7,220,60,0,0,216,8,220,60,0,0,216,9,220,60,0,0,216,10,220,60,0,0,216,11,220,60,0,0,216,13,220,60,0,0,216,14,220,60,0,0,216,15,220,60,0,0,216,16,220,60,0,0,216,17,220,60,0,0,216,18,220,60,0,0,216,19,220,60,0,0,216,20,220,60,0,0,216,21,220,60,0,0,216,22,220,60,0,0,216,23,220,60,0,0,216,24,220,60,0,0,216,25,220,60,0,0,216,26,220,60,0,0,216,27,220,60,0,0,216,28,220,60,0,0,216,29,220,60,0,0,216,30,220,60,0,0,216,31,220,60,0,0,216,32,220,60,0,0,216,33,220,60,0,0,216,34,220,60,0,0,216,35,220,60,0,0,216,36,220,60,0,0,216,37,220,60,0,0,216,38,220,60,0,0,216,40,220,60,0,0,216,41,220,60,0,0,216,42,220,60,0,0,216,43,220,60,0,0,216,44,220,60,0,0,216,45,220,60,0,0,216,46,220,60,0,0,216,47,220,60,0,0,216,48,220,60,0,0,216,49,220,60,0,0,216,50,220,60,0,0,216,51,220,60,0,0,216,52,220,60,0,0,216,53,220,60,0,0,216,54,220,60,0,0,216,55,220,60,0,0,216,56,220,60,0,0,216,57,220,60,0,0,216,58,220,60,0,0,216,60,220,60,0,0,216,61,220,60,0,0,216,63,220,60,0,0,216,64,220,60,0,0,216,65,220,60,0,0,216,66,220,60,0,0,216,67,220,60,0,0,216,68,220,60,0,0,216,69,220,60,0,0,216,70,220,60,0,0,216,71,220,60,0,0,216,72,220,60,0,0,216,73,220,60,0,0,216,74,220,60,0,0,216,75,220,60,0,0,216,76,220,60,0,0,216,77,220,60,0,0,216,80,220,60,0,0,216,81,220,60,0,0,216,82,220,60,0,0,216,83,220,60,0,0,216,84,220,60,0,0,216,85,220,60,0,0,216,86,220,60,0,0,216,87,220,60,0,0,216,88,220,60,0,0,216,89,220,60,0,0,216,90,220,60,0,0,216,91,220,60,0,0,216,92,220,60,0,0,216,93,220,60,0,0,216,128,220,60,0,0,216,129,220,60,0,0,216,130,220,60,0,0,216,131,220,60,0,0,216,132,220,60,0,0,216,133,220,60,0,0,216,134,220,60,0,0,216,135,220,60,0,0,216,136,220,60,0,0,216,137,220,60,0,0,216,138,220,60,0,0,216,139,220,60,0,0,216,140,220,60,0,0,216,141,220,60,0,0,216,142,220,60,0,0,216,143,220,60,0,0,216,144,220,60,0,0,216,145,220,60,0,0,216,146,220,60,0,0,216,147,220,60,0,0,216,148,220,60,0,0,216,149,220,60,0,0,216,150,220,60,0,0,216,151,220,60,0,0,216,152,220,60,0,0,216,153,220,60,0,0,216,154,220,60,0,0,216,155,220,60,0,0,216,156,220,60,0,0,216,157,220,60,0,0,216,158,220,60,0,0,216,159,220,60,0,0,216,160,220,60,0,0,216,161,220,60,0,0,216,162,220,60,0,0,216,163,220,60,0,0,216,164,220,60,0,0,216,165,220,60,0,0,216,166,220,60,0,0,216,167,220,60,0,0,216,168,220,60,0,0,216,169,220,60,0,0,216,170,220,60,0,0,216,171,220,60,0,0,216,172,220,60,0,0,216,173,220,60,0,0,216,174,220,60,0,0,216,175,220,60,0,0,216,176,220,60,0,0,216,177,220,60,0,0,216,178,220,60,0,0,216,179,220,60,0,0,216,180,220,60,0,0,216,181,220,60,0,0,216,182,220,60,0,0,216,183,220,60,0,0,216,184,220,60,0,0,216,185,220,60,0,0,216,186,220,60,0,0,216,187,220,60,0,0,216,188,220,60,0,0,216,189,220,60,0,0,216,190,220,60,0,0,216,191,220,60,0,0,216,192,220,60,0,0,216,193,220,60,0,0,216,194,220,60,0,0,216,195,220,60,0,0,216,196,220,60,0,0,216,197,220,60,0,0,216,198,220,60,0,0,216,199,220,60,0,0,216,200,220,60,0,0,216,201,220,60,0,0,216,202,220,60,0,0,216,203,220,60,0,0,216,204,220,60,0,0,216,205,220,60,0,0,216,206,220,60,0,0,216,207,220,60,0,0,216,208,220,60,0,0,216,209,220,60,0,0,216,210,220,60,0,0,216,211,220,60,0,0,216,212,220,60,0,0,216,213,220,60,0,0,216,214,220,60,0,0,216,215,220,60,0,0,216,216,220,60,0,0,216,217,220,60,0,0,216,218,220,60,0,0,216,219,220,60,0,0,216,220,220,60,0,0,216,221,220,60,0,0,216,222,220,60,0,0,216,223,220,60,0,0,216,224,220,60,0,0,216,225,220,60,0,0,216,226,220,60,0,0,216,227,220,60,0,0,216,228,220,60,0,0,216,229,220,60,0,0,216,230,220,60,0,0,216,231,220,60,0,0,216,232,220,60,0,0,216,233,220,60,0,0,216,234,220,60,0,0,216,235,220,60,0,0,216,236,220,60,0,0,216,237,220,60,0,0,216,238,220,60,0,0,216,239,220,60,0,0,216,240,220,60,0,0,216,241,220,60,0,0,216,242,220,60,0,0,216,243,220,60,0,0,216,244,220,60,0,0,216,245,220,60,0,0,216,246,220,60,0,0,216,247,220,60,0,0,216,248,220,60,0,0,216,249,220,60,0,0,216,250,220,60,0,1,216,0,222,60,0,1,216,1,222,60,0,1,216,2,222,60,0,1,216,3,222,60,0,1,216,4,222,60,0,1,216,5,222,60,0,1,216,6,222,60,0,1,216,7,222,60,0,1,216,8,222,60,0,1,216,9,222,60,0,1,216,10,222,60,0,1,216,11,222,60,0,1,216,12,222,60,0,1,216,13,222,60,0,1,216,14,222,60,0,1,216,15,222,60,0,1,216,16,222,60,0,1,216,17,222,60,0,1,216,18,222,60,0,1,216,19,222,60,0,1,216,20,222,60,0,1,216,21,222,60,0,1,216,22,222,60,0,1,216,23,222,60,0,1,216,24,222,60,0,1,216,25,222,60,0,1,216,26,222,60,0,1,216,27,222,60,0,1,216,28,222,60,0,1,216,29,222,60,0,1,216,30,222,60,0,1,216,31,222,60,0,1,216,32,222,60,0,1,216,33,222,60,0,1,216,34,222,60,0,1,216,35,222,60,0,1,216,36,222,60,0,1,216,37,222,60,0,1,216,38,222,60,0,1,216,39,222,60,0,1,216,40,222,60,0,1,216,41,222,60,0,1,216,42,222,60,0,1,216,43,222,60,0,1,216,44,222,60,0,1,216,45,222,60,0,1,216,46,222,60,0,1,216,47,222,60,0,1,216,48,222,60,0,1,216,49,222,60,0,1,216,50,222,60,0,1,216,51,222,60,0,1,216,52,222,60,0,1,216,53,222,60,0,1,216,54,222,60,0,1,216,55,222,60,0,1,216,56,222,60,0,1,216,57,222,60,0,1,216,58,222,60,0,1,216,59,222,60,0,1,216,60,222,60,0,1,216,61,222,60,0,1,216,62,222,60,0,1,216,63,222,60,0,1,216,64,222,60,0,1,216,65,222,60,0,1,216,66,222,60,0,1,216,67,222,60,0,1,216,68,222,60,0,1,216,69,222,60,0,1,216,70,222,60,0,1,216,71,222,60,0,1,216,72,222,60,0,1,216,73,222,60,0,1,216,74,222,60,0,1,216,75,222,60,0,1,216,76,222,60,0,1,216,77,222,60,0,1,216,78,222,60,0,1,216,79,222,60,0,1,216,80,222,60,0,1,216,81,222,60,0,1,216,82,222,60,0,1,216,83,222,60,0,1,216,84,222,60,0,1,216,85,222,60,0,1,216,86,222,60,0,1,216,87,222,60,0,1,216,88,222,60,0,1,216,89,222,60,0,1,216,90,222,60,0,1,216,91,222,60,0,1,216,92,222,60,0,1,216,93,222,60,0,1,216,94,222,60,0,1,216,95,222,60,0,1,216,96,222,60,0,1,216,97,222,60,0,1,216,98,222,60,0,1,216,99,222,60,0,1,216,100,222,60,0,1,216,101,222,60,0,1,216,102,222,60,0,1,216,103,222,60,0,1,216,104,222,60,0,1,216,105,222,60,0,1,216,106,222,60,0,1,216,107,222,60,0,1,216,108,222,60,0,1,216,109,222,60,0,1,216,110,222,60,0,1,216,111,222,60,0,1,216,112,222,60,0,1,216,113,222,60,0,1,216,114,222,60,0,1,216,115,222,60,0,1,216,116,222,60,0,1,216,117,222,60,0,1,216,118,222,60,0,1,216,119,222,60,0,1,216,120,222,60,0,1,216,121,222,60,0,1,216,122,222,60,0,1,216,123,222,60,0,1,216,124,222,60,0,1,216,125,222,60,0,1,216,126,222,60,0,1,216,127,222,60,0,1,216,128,222,60,0,1,216,129,222,60,0,1,216,130,222,60,0,1,216,131,222,60,0,1,216,132,222,60,0,1,216,133,222,60,0,1,216,134,222,60,0,1,216,135,222,60,0,1,216,136,222,60,0,1,216,137,222,60,0,1,216,138,222,60,0,1,216,139,222,60,0,1,216,140,222,60,0,1,216,141,222,60,0,1,216,142,222,60,0,1,216,143,222,60,0,1,216,144,222,60,0,1,216,145,222,60,0,1,216,146,222,60,0,1,216,147,222,60,0,1,216,148,222,60,0,1,216,149,222,60,0,1,216,150,222,60,0,1,216,151,222,60,0,1,216,152,222,60,0,1,216,153,222,60,0,1,216,154,222,60,0,1,216,155,222,60,0,1,216,156,222,60,0,1,216,157,222,60,0,1,216,158,222,60,0,1,216,159,222,60,0,1,216,160,222,60,0,1,216,161,222,60,0,1,216,162,222,60,0,1,216,163,222,60,0,1,216,164,222,60,0,1,216,165,222,60,0,1,216,166,222,60,0,1,216,167,222,60,0,1,216,168,222,60,0,1,216,169,222,60,0,1,216,170,222,60,0,1,216,171,222,60,0,1,216,172,222,60,0,1,216,173,222,60,0,1,216,174,222,60,0,1,216,175,222,60,0,1,216,176,222,60,0,1,216,177,222,60,0,1,216,178,222,60,0,1,216,179,222,60,0,1,216,180,222,60,0,1,216,181,222,60,0,1,216,182,222,60,0,1,216,183,222,60,0,1,216,184,222,60,0,1,216,185,222,60,0,1,216,186,222,60,0,1,216,187,222,60,0,1,216,188,222,60,0,1,216,189,222,60,0,1,216,190,222,60,0,1,216,191,222,60,0,1,216,192,222,60,0,1,216,193,222,60,0,1,216,194,222,60,0,1,216,195,222,60,0,1,216,196,222,60,0,1,216,197,222,60,0,1,216,198,222,60,0,1,216,199,222,60,0,1,216,200,222,60,0,1,216,201,222,60,0,1,216,202,222,60,0,1,216,203,222,60,0,1,216,204,222,60,0,1,216,205,222,60,0,1,216,206,222,60,0,1,216,207,222,60,0,1,216,208,222,60,0,1,216,209,222,60,0,1,216,210,222,60,0,1,216,211,222,60,0,1,216,212,222,60,0,1,216,213,222,60,0,1,216,214,222,60,0,1,216,215,222,60,0,1,216,216,222,60,0,1,216,217,222,60,0,1,216,218,222,60,0,1,216,219,222,60,0,1,216,220,222,60,0,1,216,221,222,60,0,1,216,222,222,60,0,1,216,223,222,60,0,1,216,224,222,60,0,1,216,225,222,60,0,1,216,226,222,60,0,1,216,227,222,60,0,1,216,228,222,60,0,1,216,229,222,60,0,1,216,230,222,60,0,1,216,231,222,60,0,1,216,232,222,60,0,1,216,233,222,60,0,1,216,234,222,60,0,1,216,235,222,60,0,1,216,236,222,60,0,1,216,237,222,60,0,1,216,238,222,60,0,1,216,239,222,60,0,1,216,240,222,60,0,1,216,241,222,60,0,1,216,242,222,60,0,1,216,243,222,60,0,1,216,244,222,60,0,1,216,245,222,60,0,1,216,246,222,60,0,1,216,247,222,60,0,1,216,248,222,60,0,1,216,249,222,60,0,1,216,250,222,60,0,1,216,251,222,60,0,1,216,252,222,60,0,1,216,253,222,60,0,1,216,254,222,60,0,1,216,255,222,60,0,1,216,0,223,60,0,1,216,1,223,60,0,1,216,2,223,60,0,1,216,3,223,60,0,1,216,4,223,60,0,1,216,5,223,60,0,1,216,6,223,60,0,1,216,7,223,60,0,1,216,8,223,60,0,1,216,9,223,60,0,1,216,10,223,60,0,1,216,11,223,60,0,1,216,12,223,60,0,1,216,13,223,60,0,1,216,14,223,60,0,1,216,15,223,60,0,1,216,16,223,60,0,1,216,17,223,60,0,1,216,18,223,60,0,1,216,19,223,60,0,1,216,20,223,60,0,1,216,21,223,60,0,1,216,22,223,60,0,1,216,23,223,60,0,1,216,24,223,60,0,1,216,25,223,60,0,1,216,26,223,60,0,1,216,27,223,60,0,1,216,28,223,60,0,1,216,29,223,60,0,1,216,30,223,60,0,1,216,31,223,60,0,1,216,32,223,60,0,1,216,33,223,60,0,1,216,34,223,60,0,1,216,35,223,60,0,1,216,36,223,60,0,1,216,37,223,60,0,1,216,38,223,60,0,1,216,39,223,60,0,1,216,40,223,60,0,1,216,41,223,60,0,1,216,42,223,60,0,1,216,43,223,60,0,1,216,44,223,60,0,1,216,45,223,60,0,1,216,46,223,60,0,1,216,47,223,60,0,1,216,48,223,60,0,1,216,49,223,60,0,1,216,50,223,60,0,1,216,51,223,60,0,1,216,52,223,60,0,1,216,53,223,60,0,1,216,54,223,60,0,1,216,64,223,60,0,1,216,65,223,60,0,1,216,66,223,60,0,1,216,67,223,60,0,1,216,68,223,60,0,1,216,69,223,60,0,1,216,70,223,60,0,1,216,71,223,60,0,1,216,72,223,60,0,1,216,73,223,60,0,1,216,74,223,60,0,1,216,75,223,60,0,1,216,76,223,60,0,1,216,77,223,60,0,1,216,78,223,60,0,1,216,79,223,60,0,1,216,80,223,60,0,1,216,81,223,60,0,1,216,82,223,60,0,1,216,83,223,60,0,1,216,84,223,60,0,1,216,85,223,60,0,1,216,96,223,60,0,1,216,97,223,60,0,1,216,98,223,60,0,1,216,99,223,60,0,1,216,100,223,60,0,1,216,101,223,60,0,1,216,102,223,60,0,1,216,103,223,60,0,14,32,2,216,0,220,14,32,60,0,14,32,2,216,1,220,14,32,60,0,14,32,2,216,2,220,14,32,60,0,14,32,2,216,3,220,14,32,60,0,14,32,2,216,4,220,14,32,60,0,14,32,2,216,5,220,14,32,60,0,14,32,2,216,8,220,14,32,60,0,14,32,2,216,10,220,14,32,60,0,14,32,2,216,11,220,14,32,60,0,14,32,2,216,12,220,14,32,60,0,14,32,2,216,13,220,14,32,60,0,14,32,2,216,14,220,14,32,60,0,14,32,2,216,15,220,14,32,60,0,14,32,2,216,16,220,14,32,60,0,14,32,2,216,17,220,14,32,60,0,14,32,2,216,18,220,14,32,60,0,14,32,2,216,19,220,14,32,60,0,14,32,2,216,20,220,14,32,60,0,14,32,2,216,21,220,14,32,60,0,14,32,2,216,22,220,14,32,60,0,14,32,2,216,23,220,14,32,60,0,14,32,2,216,24,220,14,32,60,0,14,32,2,216,25,220,14,32,60,0,14,32,2,216,26,220,14,32,60,0,14,32,2,216,27,220,14,32,60,0,14,32,2,216,28,220,14,32,60,0,14,32,2,216,29,220,14,32,60,0,14,32,2,216,30,220,14,32,60,0,14,32,2,216,31,220,14,32,60,0,14,32,2,216,32,220,14,32,60,0,14,32,2,216,33,220,14,32,60,0,14,32,2,216,34,220,14,32,60,0,14,32,2,216,35,220,14,32,60,0,14,32,2,216,36,220,14,32,60,0,14,32,2,216,37,220,14,32,60,0,14,32,2,216,38,220,14,32,60,0,14,32,2,216,39,220,14,32,60,0,14,32,2,216,40,220,14,32,60,0,14,32,2,216,41,220,14,32,60,0,14,32,2,216,42,220,14,32,60,0,14,32,2,216,43,220,14,32,60,0,14,32,2,216,44,220,14,32,60,0,14,32,2,216,45,220,14,32,60,0,14,32,2,216,46,220,14,32,60,0,14,32,2,216,47,220,14,32,60,0,14,32,2,216,48,220,14,32,60,0,14,32,2,216,49,220,14,32,60,0,14,32,2,216,50,220,14,32,60,0,14,32,2,216,51,220,14,32,60,0,14,32,2,216,52,220,14,32,60,0,14,32,2,216,53,220,14,32,60,0,14,32,2,216,55,220,14,32,60,0,14,32,2,216,56,220,14,32,60,0,14,32,2,216,60,220,14,32,60,0,14,32,2,216,63,220,14,32,60,0,11,216,144,223,60,0,11,216,145,223,60,0,11,216,146,223,60,0,11,216,147,223,60,0,11,216,148,223,60,0,11,216,149,223,60,0,11,216,150,223,60,0,11,216,151,223,60,0,11,216,152,223,60,0,11,216,153,223,60,0,11,216,154,223,60,0,11,216,155,223,60,0,11,216,156,223,60,0,11,216,157,223,60,0,11,216,158,223,60,0,11,216,159,223,60,0,11,216,160,223,60,0,11,216,161,223,60,0,11,216,162,223,60,0,11,216,163,223,60,0,11,216,164,223,60,0,11,216,165,223,60,0,11,216,166,223,60,0,11,216,167,223,60,0,11,216,168,223,60,0,11,216,169,223,60,0,11,216,170,223,60,0,11,216,171,223,60,0,11,216,172,223,60,0,11,216,173,223,60,0,11,216,174,223,60,0,11,216,175,223,60,0,11,216,176,223,60,0,11,216,177,223,60,0,11,216,178,223,60,0,11,216,179,223,60,0,11,216,180,223,60,0,11,216,181,223,60,0,11,216,182,223,60,0,11,216,183,223,60,0,11,216,184,223,60,0,11,216,185,223,60,0,11,216,186,223,60,0,11,216,187,223,60,0,11,216,188,223,60,0,11,216,189,223,60,0,11,216,190,223,60,0,11,216,191,223,60,0,11,216,192,223,60,0,11,216,193,223,60,0,11,216,194,223,60,0,11,216,195,223,60,0,11,216,196,223,60,0,11,216,197,223,60,0,11,216,198,223,60,0,11,216,199,223,60,0,11,216,200,223,60,0,11,216,201,223,60,0,11,216,202,223,60,0,11,216,203,223,60,0,11,216,204,223,60,0,11,216,205,223,60,0,11,216,206,223,60,0,11,216,207,223,60,0,11,216,208,223,60,0,11,216,209,223,60,0,11,216,210,223,60,0,11,216,211,223,60,0,11,216,212,223,60,0,11,216,213,223,60,0,11,216,214,223,60,0,11,216,215,223,60,0,11,216,216,223,60,0,11,216,217,223,60,0,11,216,218,223,60,0,11,216,219,223,60,0,11,216,220,223,60,0,11,216,221,223,60,0,11,216,222,223,60,0,11,216,223,223,60,0,11,216,224,223,60,0,11,216,225,223,60,0,11,216,226,223,60,0,11,216,227,223,60,0,11,216,228,223,60,0,11,216,229,223,60,0,11,216,230,223,60,0,11,216,231,223,60,0,11,216,232,223,60,0,11,216,233,223,60,0,11,216,234,223,60,0,11,216,235,223,60,0,11,216,236,223,60,0,11,216,237,223,60,0,11,216,238,223,60,0,11,216,239,223,60,0,11,216,240,223,60,0,14,32,2,216,96,222,14,32,60,0,14,32,2,216,97,222,14,32,60,0,14,32,2,216,98,222,14,32,60,0,14,32,2,216,99,222,14,32,60,0,14,32,2,216,100,222,14,32,60,0,14,32,2,216,101,222,14,32,60,0,14,32,2,216,102,222,14,32,60,0,14,32,2,216,103,222,14,32,60,0,14,32,2,216,104,222,14,32,60,0,14,32,2,216,105,222,14,32,60,0,14,32,2,216,106,222,14,32,60,0,14,32,2,216,107,222,14,32,60,0,14,32,2,216,108,222,14,32,60,0,14,32,2,216,109,222,14,32,60,0,14,32,2,216,110,222,14,32,60,0,14,32,2,216,111,222,14,32,60,0,14,32,2,216,112,222,14,32,60,0,14,32,2,216,113,222,14,32,60,0,14,32,2,216,114,222,14,32,60,0,14,32,2,216,115,222,14,32,60,0,14,32,2,216,116,222,14,32,60,0,14,32,2,216,117,222,14,32,60,0,14,32,2,216,118,222,14,32,60,0,14,32,2,216,119,222,14,32,60,0,14,32,2,216,120,222,14,32,60,0,14,32,2,216,121,222,14,32,60,0,14,32,2,216,122,222,14,32,60,0,14,32,2,216,123,222,14,32,60,0,14,32,2,216,124,222,14,32,60,0,14,32,2,216,128,222,14,32,60,0,14,32,2,216,129,222,14,32,60,0,14,32,2,216,130,222,14,32,60,0,14,32,2,216,131,222,14,32,60,0,14,32,2,216,132,222,14,32,60,0,14,32,2,216,133,222,14,32,60,0,14,32,2,216,134,222,14,32,60,0,14,32,2,216,135,222,14,32,60,0,14,32,2,216,136,222,14,32,60,0,14,32,2,216,137,222,14,32,60,0,14,32,2,216,138,222,14,32,60,0,14,32,2,216,139,222,14,32,60,0,14,32,2,216,140,222,14,32,60,0,14,32,2,216,141,222,14,32,60,0,14,32,2,216,142,222,14,32,60,0,14,32,2,216,143,222,14,32,60,0,14,32,2,216,144,222,14,32,60,0,14,32,2,216,145,222,14,32,60,0,14,32,2,216,146,222,14,32,60,0,14,32,2,216,147,222,14,32,60,0,14,32,2,216,148,222,14,32,60,0,14,32,2,216,149,222,14,32,60,0,14,32,2,216,150,222,14,32,60,0,14,32,2,216,151,222,14,32,60,0,14,32,2,216,152,222,14,32,60,0,14,32,2,216,153,222,14,32,60,0,14,32,2,216,154,222,14,32,60,0,14,32,2,216,155,222,14,32,60,0,14,32,2,216,156,222,14,32,60,0,14,32,2,216,0,223,14,32,60,0,14,32,2,216,1,223,14,32,60,0,14,32,2,216,2,223,14,32,60,0,14,32,2,216,3,223,14,32,60,0,14,32,2,216,4,223,14,32,60,0,14,32,2,216,5,223,14,32,60,0,14,32,2,216,6,223,14,32,60,0,14,32,2,216,7,223,14,32,60,0,14,32,2,216,8,223,14,32,60,0,14,32,2,216,9,223,14,32,60,0,14,32,2,216,10,223,14,32,60,0,14,32,2,216,11,223,14,32,60,0,14,32,2,216,12,223,14,32,60,0,14,32,2,216,13,223,14,32,60,0,14,32,2,216,14,223,14,32,60,0,14,32,2,216,15,223,14,32,60,0,14,32,2,216,16,223,14,32,60,0,14,32,2,216,17,223,14,32,60,0,14,32,2,216,18,223,14,32,60,0,14,32,2,216,19,223,14,32,60,0,14,32,2,216,20,223,14,32,60,0,14,32,2,216,21,223,14,32,60,0,14,32,2,216,22,223,14,32,60,0,14,32,2,216,23,223,14,32,60,0,14,32,2,216,24,223,14,32,60,0,14,32,2,216,25,223,14,32,60,0,14,32,2,216,26,223,14,32,60,0,14,32,2,216,27,223,14,32,60,0,14,32,2,216,28,223,14,32,60,0,14,32,2,216,29,223,14,32,60,0,14,32,2,216,30,223,14,32,60,0,14,32,2,216,31,223,14,32,60,0,14,32,2,216,32,223,14,32,60,0,14,32,2,216,33,223,14,32,60,0,14,32,2,216,34,223,14,32,60,0,14,32,2,216,35,223,14,32,60,0,14,32,2,216,36,223,14,32,60,0,14,32,2,216,37,223,14,32,60,0,14,32,2,216,38,223,14,32,60,0,14,32,2,216,39,223,14,32,60,0,14,32,2,216,40,223,14,32,60,0,14,32,2,216,41,223,14,32,60,0,14,32,2,216,42,223,14,32,60,0,14,32,2,216,43,223,14,32,60,0,14,32,2,216,44,223,14,32,60,0,14,32,2,216,45,223,14,32,60,0,60,0,14,32,2,216,46,223,14,32,60,0,14,32,2,216,47,223,14,32,60,0,14,32,2,216,48,223,14,32,60,0,14,32,2,216,49,223,14,32,60,0,14,32,2,216,50,223,14,32,60,0,14,32,2,216,51,223,14,32,60,0,14,32,2,216,52,223,14,32,60,0,14,32,2,216,53,223,14,32,60,0,14,32,2,216,96,220,14,32,60,0,14,32,2,216,97,220,14,32,60,0,14,32,2,216,98,220,14,32,60,0,14,32,2,216,99,220,14,32,60,0,14,32,2,216,100,220,14,32,60,0,14,32,2,216,101,220,14,32,60,0,14,32,2,216,102,220,14,32,60,0,14,32,2,216,103,220,14,32,60,0,14,32,2,216,104,220,14,32,60,0,14,32,2,216,105,220,14,32,60,0,14,32,2,216,106,220,14,32,60,0,14,32,2,216,107,220,14,32,60,0,14,32,2,216,108,220,14,32,60,0,14,32,2,216,110,220,14,32,60,0,60,0,60,0,14,32,2,216,109,220,14,32,60,0,14,32,2,216,111,220,14,32,60,0,14,32,2,216,112,220,14,32,60,0,14,32,2,216,113,220,14,32,60,0,14,32,2,216,114,220,14,32,60,0,14,32,2,216,115,220,14,32,60,0,14,32,2,216,116,220,14,32,60,0,14,32,2,216,117,220,14,32,60,0,14,32,2,216,118,220,14,32,60,0,14,32,2,216,129,220,14,32,60,0,60,0,60,0,14,32,2,216,128,220,14,32,60,0,14,32,2,216,131,220,14,32,60,0,60,0,60,0,14,32,2,216,130,220,14,32,60,0,14,32,2,216,132,220,14,32,60,0,14,32,2,216,133,220,14,32,60,0,14,32,2,216,135,220,14,32,60,0,60,0,60,0,14,32,2,216,134,220,14,32,60,0,14,32,2,216,136,220,14,32,60,0,14,32,2,216,137,220,14,32,60,0,14,32,2,216,138,220,14,32,60,0,14,32,2,216,139,220,14,32,60,0,14,32,2,216,141,220,14,32,60,0,60,0,60,0,14,32,2,216,140,220,14,32,60,0,14,32,2,216,143,220,14,32,60,0,60,0,60,0,14,32,2,216,142,220,14,32,60,0,14,32,2,216,145,220,14,32,60,0,60,0,60,0,14,32,2,216,144,220,14,32,60,0,14,32,2,216,147,220,14,32,60,0,60,0,60,0,14,32,2,216,146,220,14,32,60,0,14,32,2,216,149,220,14,32,60,0,60,0,60,0,14,32,2,216,148,220,14,32,60,0,14,32,2,216,150,220,14,32,60,0,14,32,2,216,151,220,14,32,60,0,14,32,2,216,152,220,14,32,60,0,14,32,2,216,153,220,14,32,60,0,14,32,2,216,154,220,14,32,60,0,14,32,2,216,155,220,14,32,60,0,14,32,2,216,157,220,14,32,60,0,60,0,60,0,14,32,2,216,156,220,14,32,60,0,14,32,2,216,158,220,14,32,60,0,14,32,2,216,224,220,14,32,60,0,14,32,2,216,225,220,14,32,60,0,14,32,2,216,226,220,14,32,60,0,14,32,2,216,227,220,14,32,60,0,14,32,2,216,228,220,14,32,60,0,14,32,2,216,229,220,14,32,60,0,14,32,2,216,230,220,14,32,60,0,14,32,2,216,231,220,14,32,60,0,14,32,2,216,232,220,14,32,60,0,14,32,2,216,233,220,14,32,60,0,14,32,2,216,234,220,14,32,60,0,14,32,2,216,235,220,14,32,60,0,14,32,2,216,236,220,14,32,60,0,14,32,2,216,237,220,14,32,60,0,14,32,2,216,238,220,14,32,60,0,14,32,2,216,239,220,14,32,60,0,14,32,2,216,240,220,14,32,60,0,14,32,2,216,241,220,14,32,60,0,14,32,2,216,242,220,14,32,60,0,14,32,2,216,244,220,14,32,60,0,14,32,2,216,245,220,14,32,60,0,14,32,2,216,64,220,14,32,60,0,14,32,2,216,65,220,14,32,60,0,14,32,2,216,66,220,14,32,60,0,14,32,2,216,67,220,14,32,60,0,14,32,2,216,68,220,14,32,60,0,14,32,2,216,69,220,14,32,60,0,14,32,2,216,70,220,14,32,60,0,14,32,2,216,71,220,14,32,60,0,14,32,2,216,72,220,14,32,60,0,14,32,2,216,73,220,14,32,60,0,14,32,2,216,74,220,14,32,60,0,14,32,2,216,75,220,14,32,60,0,14,32,2,216,76,220,14,32,60,0,14,32,2,216,77,220,14,32,60,0,14,32,2,216,78,220,14,32,60,0,14,32,2,216,79,220,14,32,60,0,14,32,2,216,80,220,14,32,60,0,14,32,2,216,81,220,14,32,60,0,14,32,2,216,82,220,14,32,60,0,14,32,2,216,83,220,14,32,60,0,14,32,2,216,84,220,14,32,60,0,14,32,2,216,85,220,14,32,60,0,14,32,2,216,64,223,14,32,60,0,14,32,2,216,65,223,14,32,60,0,14,32,2,216,66,223,14,32,60,0,14,32,2,216,67,223,14,32,60,0,14,32,2,216,68,223,14,32,60,0,14,32,2,216,69,223,14,32,60,0,14,32,2,216,70,223,14,32,60,0,14,32,2,216,71,223,14,32,60,0,14,32,2,216,72,223,14,32,60,0,14,32,2,216,73,223,14,32,60,0,14,32,2,216,74,223,14,32,60,0,14,32,2,216,75,223,14,32,60,0,14,32,2,216,76,223,14,32,60,0,14,32,2,216,77,223,14,32,60,0,14,32,2,216,78,223,14,32,60,0,14,32,2,216,79,223,14,32,60,0,14,32,2,216,80,223,14,32,60,0,14,32,2,216,81,223,14,32,60,0,14,32,2,216,82,223,14,32,60,0,14,32,2,216,83,223,14,32,60,0,14,32,2,216,84,223,14,32,60,0,14,32,2,216,85,223,14,32,60,0,14,32,2,216,96,223,14,32,60,0,14,32,2,216,97,223,14,32,60,0,14,32,2,216,98,223,14,32,60,0,14,32,2,216,99,223,14,32,60,0,14,32,2,216,100,223,14,32,60,0,14,32,2,216,101,223,14,32,60,0,14,32,2,216,102,223,14,32,60,0,14,32,2,216,103,223,14,32,60,0,14,32,2,216,104,223,14,32,60,0,14,32,2,216,105,223,14,32,60,0,14,32,2,216,106,223,14,32,60,0,14,32,2,216,107,223,14,32,60,0,14,32,2,216,108,223,14,32,60,0,14,32,2,216,109,223,14,32,60,0,14,32,2,216,110,223,14,32,60,0,14,32,2,216,111,223,14,32,60,0,14,32,2,216,112,223,14,32,60,0,14,32,2,216,113,223,14,32,60,0,14,32,2,216,114,223,14,32,60,0,14,32,2,216,128,223,14,32,60,0,14,32,2,216,129,223,14,32,60,0,14,32,2,216,130,223,14,32,60,0,14,32,2,216,131,223,14,32,60,0,14,32,2,216,132,223,14,32,60,0,14,32,2,216,133,223,14,32,60,0,14,32,2,216,134,223,14,32,60,0,14,32,2,216,135,223,14,32,60,0,14,32,2,216,136,223,14,32,60,0,14,32,2,216,137,223,14,32,60,0,14,32,2,216,138,223,14,32,60,0,14,32,2,216,139,223,14,32,60,0,14,32,2,216,140,223,14,32,60,0,14,32,2,216,141,223,14,32,60,0,14,32,2,216,142,223,14,32,60,0,14,32,2,216,143,223,14,32,60,0,14,32,2,216,144,223,14,32,60,0,14,32,2,216,145,223,14,32,60,0,14,32,3,216,224,223,14,32,60,0,14,32,3,216,225,223,14,32,60,0,14,32,3,216,226,223,14,32,60,0,14,32,3,216,227,223,14,32,60,0,14,32,3,216,228,223,14,32,60,0,14,32,3,216,229,223,14,32,60,0,14,32,3,216,230,223,14,32,60,0,60,0,60,0,14,32,3,216,246,223,14,32,47,0,14,32,3,216,233,223,14,32,60,0,14,32,3,216,231,223,14,32,60,0,14,32,3,216,232,223,14,32,60,0,14,32,3,216,233,223,14,32,60,0,14,32,3,216,234,223,14,32,60,0,14,32,3,216,235,223,14,32,60,0,14,32,3,216,236,223,14,32,60,0,14,32,3,216,237,223,14,32,60,0,14,32,3,216,238,223,14,32,60,0,14,32,3,216,239,223,14,32,60,0,14,32,3,216,240,223,14,32,60,0,14,32,3,216,241,223,14,32,60,0,14,32,3,216,242,223,14,32,60,0,14,32,3,216,243,223,14,32,60,0,14,32,3,216,244,223,14,32,60,0,14,32,3,216,245,223,14,32,60,0,14,32,2,216,192,222,14,32,60,0,14,32,2,216,193,222,14,32,60,0,14,32,2,216,194,222,14,32,60,0,14,32,2,216,195,222,14,32,60,0,14,32,2,216,196,222,14,32,60,0,14,32,2,216,197,222,14,32,60,0,14,32,2,216,198,222,14,32,60,0,14,32,2,216,199,222,14,32,60,0,60,0,14,32,2,216,200,222,14,32,60,0,14,32,2,216,201,222,14,32,60,0,14,32,2,216,202,222,14,32,60,0,14,32,2,216,203,222,14,32,60,0,14,32,2,216,204,222,14,32,60,0,14,32,2,216,205,222,14,32,60,0,14,32,2,216,206,222,14,32,60,0,14,32,2,216,207,222,14,32,60,0,14,32,2,216,208,222,14,32,60,0,14,32,2,216,209,222,14,32,60,0,14,32,2,216,210,222,14,32,60,0,14,32,2,216,211,222,14,32,60,0,14,32,2,216,212,222,14,32,60,0,14,32,2,216,213,222,14,32,60,0,14,32,2,216,214,222,14,32,60,0,14,32,2,216,215,222,14,32,60,0,14,32,2,216,216,222,14,32,60,0,14,32,2,216,217,222,14,32,60,0,14,32,2,216,218,222,14,32,60,0,14,32,2,216,219,222,14,32,60,0,14,32,2,216,220,222,14,32,60,0,14,32,2,216,221,222,14,32,60,0,14,32,2,216,222,222,14,32,60,0,14,32,2,216,223,222,14,32,60,0,14,32,2,216,224,222,14,32,60,0,14,32,2,216,225,222,14,32,60,0,14,32,2,216,226,222,14,32,60,0,14,32,2,216,227,222,14,32,60,0,14,32,2,216,228,222,14,32,60,0,14,32,3,216,0,223,14,32,60,0,60,0,60,0,14,32,3,216,1,223,14,32,60,0,14,32,3,216,2,223,14,32,60,0,60,0,60,0,14,32,3,216,3,223,14,32,60,0,14,32,3,216,4,223,14,32,60,0,14,32,3,216,5,223,14,32,60,0,60,0,60,0,14,32,3,216,6,223,14,32,60,0,14,32,3,216,7,223,14,32,60,0,14,32,3,216,8,223,14,32,60,0,14,32,3,216,9,223,14,32,60,0,14,32,3,216,10,223,14,32,60,0,14,32,3,216,11,223,14,32,60,0,14,32,3,216,12,223,14,32,60,0,14,32,3,216,13,223,14,32,60,0,14,32,3,216,14,223,14,32,60,0,60,0,60,0,14,32,3,216,15,223,14,32,60,0,60,0,14,32,3,216,16,223,14,32,60,0,14,32,3,216,17,223,14,32,60,0,14,32,3,216,18,223,14,32,60,0,60,0,60,0,14,32,3,216,39,223,14,32,47,0,14,32,3,216,24,223,14,32,60,0,60,0,14,32,3,216,19,223,14,32,60,0,14,32,3,216,20,223,14,32,60,0,14,32,3,216,21,223,14,32,60,0,60,0,60,0,14,32,3,216,22,223,14,32,60,0,60,0,14,32,3,216,23,223,14,32,60,0,14,32,3,216,24,223,14,32,60,0,14,32,3,216,25,223,14,32,60,0,14,32,3,216,26,223,14,32,60,0,60,0,60,0,14,32,3,216,27,223,14,32,60,0,60,0,14,32,3,216,28,223,14,32,60,0,14,32,3,216,48,223,14,32,60,0,14,32,3,216,49,223,14,32,60,0,14,32,3,216,50,223,14,32,60,0,14,32,3,216,51,223,14,32,60,0,14,32,3,216,52,223,14,32,60,0,14,32,3,216,53,223,14,32,60,0,14,32,3,216,54,223,14,32,60,0,14,32,3,216,55,223,14,32,60,0,14,32,3,216,56,223,14,32,60,0,14,32,3,216,57,223,14,32,60,0,14,32,3,216,58,223,14,32,60,0,14,32,3,216,59,223,14,32,60,0,14,32,3,216,60,223,14,32,60,0,14,32,3,216,61,223,14,32,60,0,14,32,3,216,62,223,14,32,60,0,14,32,3,216,63,223,14,32,60,0,14,32,3,216,64,223,14,32,60,0,14,32,3,216,65,223,14,32,60,0,60,0,14,32,3,216,69,223,14,32,60,0,14,32,3,216,66,223,14,32,60,0,14,32,3,216,67,223,14,32,60,0,14,32,3,216,68,223,14,32,60,0,14,32,3,216,112,223,14,32,60,0,14,32,3,216,113,223,14,32,60,0,14,32,3,216,114,223,14,32,60,0,14,32,3,216,115,223,14,32,60,0,14,32,3,216,116,223,14,32,60,0,14,32,3,216,117,223,14,32,60,0,14,32,3,216,118,223,14,32,60,0,14,32,3,216,119,223,14,32,60,0,14,32,3,216,120,223,14,32,60,0,14,32,3,216,121,223,14,32,60,0,14,32,3,216,122,223,14,32,60,0,14,32,3,216,123,223,14,32,60,0,14,32,3,216,124,223,14,32,60,0,14,32,3,216,125,223,14,32,60,0,14,32,3,216,126,223,14,32,60,0,14,32,3,216,127,223,14,32,60,0,14,32,3,216,128,223,14,32,60,0,14,32,3,216,129,223,14,32,60,0,14,32,3,216,128,222,14,32,60,0,14,32,3,216,129,222,14,32,60,0,14,32,3,216,130,222,14,32,60,0,14,32,3,216,131,222,14,32,60,0,14,32,3,216,132,222,14,32,60,0,14,32,3,216,133,222,14,32,60,0,14,32,3,216,134,222,14,32,60,0,14,32,3,216,135,222,14,32,60,0,14,32,3,216,136,222,14,32,60,0,14,32,3,216,137,222,14,32,60,0,14,32,3,216,138,222,14,32,60,0,14,32,3,216,139,222,14,32,60,0,14,32,3,216,140,222,14,32,60,0,14,32,3,216,141,222,14,32,60,0,14,32,3,216,142,222,14,32,60,0,14,32,3,216,143,222,14,32,60,0,14,32,3,216,144,222,14,32,60,0,14,32,3,216,145,222,14,32,60,0,14,32,3,216,146,222,14,32,60,0,14,32,3,216,147,222,14,32,60,0,14,32,3,216,148,222,14,32,60,0,14,32,3,216,149,222,14,32,60,0,14,32,3,216,150,222,14,32,60,0,14,32,3,216,151,222,14,32,60,0,14,32,3,216,152,222,14,32,60,0,14,32,3,216,153,222,14,32,60,0,14,32,3,216,154,222,14,32,60,0,14,32,3,216,155,222,14,32,60,0,14,32,3,216,156,222,14,32,60,0,14,32,3,216,157,222,14,32,60,0,14,32,3,216,158,222,14,32,60,0,14,32,3,216,159,222,14,32,60,0,14,32,3,216,160,222,14,32,60,0,14,32,3,216,176,222,14,32,60,0,14,32,3,216,161,222,14,32,60,0,14,32,3,216,162,222,14,32,60,0,14,32,3,216,163,222,14,32,60,0,14,32,3,216,164,222,14,32,60,0,14,32,3,216,165,222,14,32,60,0,14,32,3,216,166,222,14,32,60,0,14,32,3,216,167,222,14,32,60,0,14,32,3,216,168,222,14,32,60,0,14,32,3,216,177,222,14,32,60,0,14,32,3,216,169,222,14,32,60,0,14,32,3,216,176,223,14,32,60,0,14,32,3,216,177,223,14,32,60,0,14,32,3,216,178,223,14,32,60,0,14,32,3,216,179,223,14,32,60,0,14,32,3,216,180,223,14,32,60,0,14,32,3,216,181,223,14,32,60,0,14,32,3,216,182,223,14,32,60,0,14,32,3,216,183,223,14,32,60,0,14,32,3,216,184,223,14,32,60,0,14,32,3,216,185,223,14,32,60,0,14,32,3,216,186,223,14,32,60,0,14,32,3,216,187,223,14,32,60,0,14,32,3,216,188,223,14,32,60,0,14,32,3,216,189,223,14,32,60,0,14,32,3,216,190,223,14,32,60,0,14,32,3,216,191,223,14,32,60,0,14,32,3,216,192,223,14,32,60,0,14,32,3,216,193,223,14,32,60,0,14,32,3,216,194,223,14,32,60,0,14,32,3,216,195,223,14,32,60,0,14,32,3,216,196,223,14,32,60,0,0,216,128,223,60,0,0,216,129,223,60,0,0,216,130,223,60,0,0,216,131,223,60,0,0,216,132,223,60,0,0,216,133,223,60,0,0,216,134,223,60,0,0,216,135,223,60,0,0,216,136,223,60,0,0,216,137,223,60,0,0,216,138,223,60,0,0,216,139,223,60,0,0,216,140,223,60,0,0,216,141,223,60,0,0,216,142,223,60,0,0,216,143,223,60,0,0,216,144,223,60,0,0,216,145,223,60,0,0,216,146,223,60,0,0,216,147,223,60,0,0,216,148,223,60,0,0,216,149,223,60,0,0,216,150,223,60,0,0,216,151,223,60,0,0,216,152,223,60,0,0,216,153,223,60,0,0,216,154,223,60,0,0,216,155,223,60,0,0,216,156,223,60,0,0,216,157,223,60,0,0,216,160,223,60,0,0,216,161,223,60,0,0,216,162,223,60,0,0,216,163,223,60,0,0,216,164,223,60,0,0,216,165,223,60,0,0,216,166,223,60,0,0,216,167,223,60,0,0,216,168,223,60,0,0,216,169,223,60,0,0,216,170,223,60,0,0,216,171,223,60,0,0,216,172,223,60,0,0,216,173,223,60,0,0,216,174,223,60,0,0,216,175,223,60,0,0,216,176,223,60,0,0,216,177,223,60,0,0,216,178,223,60,0,0,216,179,223,60,0,0,216,180,223,60,0,0,216,181,223,60,0,0,216,182,223,60,0,0,216,183,223,60,0,0,216,184,223,60,0,0,216,185,223,60,0,0,216,186,223,60,0,0,216,187,223,60,0,0,216,188,223,60,0,0,216,189,223,60,0,0,216,190,223,60,0,0,216,191,223,60,0,0,216,192,223,60,0,0,216,193,223,60,0,0,216,194,223,60,0,0,216,195,223,60,0,0,216,200,223,60,0,0,216,201,223,60,0,0,216,202,223,60,0,0,216,203,223,60,0,0,216,204,223,60,0,0,216,205,223,60,0,0,216,206,223,60,0,0,216,207,223,60,0,8,216,0,220,60,0,8,216,1,220,60,0,8,216,2,220,60,0,8,216,3,220,60,0,8,216,4,220,60,0,8,216,5,220,60,0,8,216,6,220,60,0,8,216,7,220,60,0,8,216,8,220,60,0,8,216,9,220,60,0,8,216,10,220,60,0,8,216,11,220,60,0,8,216,12,220,60,0,8,216,13,220,60,0,8,216,14,220,60,0,8,216,15,220,60,0,8,216,16,220,60,0,8,216,17,220,60,0,8,216,18,220,60,0,8,216,19,220,60,0,8,216,20,220,60,0,8,216,21,220,60,0,8,216,22,220,60,0,8,216,23,220,60,0,8,216,24,220,60,0,8,216,25,220,60,0,8,216,26,220,60,0,8,216,27,220,60,0,8,216,28,220,60,0,8,216,29,220,60,0,8,216,30,220,60,0,8,216,31,220,60,0,8,216,32,220,60,0,8,216,33,220,60,0,8,216,34,220,60,0,8,216,35,220,60,0,8,216,36,220,60,0,8,216,37,220,60,0,8,216,38,220,60,0,8,216,39,220,60,0,8,216,40,220,60,0,8,216,41,220,60,0,8,216,42,220,60,0,8,216,43,220,60,0,8,216,44,220,60,0,8,216,45,220,60,0,8,216,46,220,60,0,8,216,47,220,60,0,8,216,48,220,60,0,8,216,49,220,60,0,8,216,50,220,60,0,8,216,51,220,60,0,8,216,52,220,60,0,8,216,53,220,60,0,8,216,54,220,60,0,8,216,55,220,60,0,8,216,56,220,60,0,8,216,57,220,60,0,8,216,58,220,60,0,8,216,59,220,60,0,8,216,60,220,60,0,8,216,61,220,60,0,8,216,62,220,60,0,8,216,63,220,60,0,8,216,64,220,60,0,8,216,65,220,60,0,8,216,66,220,60,0,8,216,67,220,60,0,8,216,68,220,60,0,8,216,69,220,60,0,8,216,70,220,60,0,8,216,71,220,60,0,8,216,72,220,60,0,8,216,73,220,60,0,8,216,74,220,60,0,8,216,75,220,60,0,8,216,76,220,60,0,8,216,77,220,60,0,8,216,78,220,60,0,8,216,79,220,60,0,8,216,80,220,60,0,8,216,81,220,60,0,8,216,82,220,60,0,8,216,83,220,60,0,8,216,84,220,60,0,8,216,85,220,60,0,8,216,86,220,60,0,8,216,87,220,60,0,8,216,88,220,60,0,8,216,89,220,60,0,8,216,90,220,60,0,8,216,91,220,60,0,8,216,92,220,60,0,8,216,93,220,60,0,8,216,94,220,60,0,8,216,95,220,60,0,8,216,96,220,60,0,8,216,97,220,60,0,8,216,98,220,60,0,8,216,99,220,60,0,8,216,100,220,60,0,8,216,101,220,60,0,8,216,102,220,60,0,8,216,103,220,60,0,8,216,104,220,60,0,8,216,105,220,60,0,8,216,106,220,60,0,8,216,107,220,60,0,8,216,108,220,60,0,8,216,109,220,60,0,8,216,110,220,60,0,8,216,111,220,60,0,8,216,112,220,60,0,8,216,113,220,60,0,8,216,114,220,60,0,8,216,115,220,60,0,8,216,116,220,60,0,8,216,117,220,60,0,8,216,118,220,60,0,8,216,119,220,60,0,8,216,120,220,60,0,8,216,121,220,60,0,8,216,122,220,60,0,8,216,123,220,60,0,8,216,124,220,60,0,8,216,125,220,60,0,8,216,126,220,60,0,8,216,127,220,60,0,8,216,128,220,60,0,8,216,129,220,60,0,8,216,130,220,60,0,8,216,131,220,60,0,8,216,132,220,60,0,8,216,133,220,60,0,8,216,134,220,60,0,8,216,135,220,60,0,8,216,136,220,60,0,8,216,137,220,60,0,8,216,138,220,60,0,8,216,139,220,60,0,8,216,140,220,60,0,8,216,141,220,60,0,8,216,142,220,60,0,8,216,143,220,60,0,8,216,144,220,60,0,8,216,145,220,60,0,8,216,146,220,60,0,8,216,147,220,60,0,8,216,148,220,60,0,8,216,149,220,60,0,8,216,150,220,60,0,8,216,151,220,60,0,8,216,152,220,60,0,8,216,153,220,60,0,8,216,154,220,60,0,8,216,155,220,60,0,8,216,156,220,60,0,8,216,157,220,60,0,8,216,158,220,60,0,8,216,159,220,60,0,8,216,160,220,60,0,8,216,161,220,60,0,8,216,162,220,60,0,8,216,163,220,60,0,8,216,164,220,60,0,8,216,165,220,60,0,8,216,166,220,60,0,8,216,167,220,60,0,8,216,168,220,60,0,8,216,169,220,60,0,8,216,170,220,60,0,8,216,171,220,60,0,8,216,172,220,60,0,8,216,173,220,60,0,8,216,174,220,60,0,8,216,175,220,60,0,8,216,176,220,60,0,8,216,177,220,60,0,8,216,178,220,60,0,8,216,179,220,60,0,8,216,180,220,60,0,8,216,181,220,60,0,8,216,182,220,60,0,8,216,183,220,60,0,8,216,184,220,60,0,8,216,185,220,60,0,8,216,186,220,60,0,8,216,187,220,60,0,8,216,188,220,60,0,8,216,189,220,60,0,8,216,190,220,60,0,8,216,191,220,60,0,8,216,192,220,60,0,8,216,193,220,60,0,8,216,194,220,60,0,8,216,195,220,60,0,8,216,196,220,60,0,8,216,197,220,60,0,8,216,198,220,60,0,8,216,199,220,60,0,8,216,200,220,60,0,8,216,201,220,60,0,8,216,202,220,60,0,8,216,203,220,60,0,8,216,204,220,60,0,8,216,205,220,60,0,8,216,206,220,60,0,8,216,207,220,60,0,8,216,208,220,60,0,8,216,209,220,60,0,8,216,210,220,60,0,8,216,211,220,60,0,8,216,212,220,60,0,8,216,213,220,60,0,8,216,214,220,60,0,8,216,215,220,60,0,8,216,216,220,60,0,8,216,217,220,60,0,8,216,218,220,60,0,8,216,219,220,60,0,8,216,220,220,60,0,8,216,221,220,60,0,8,216,222,220,60,0,8,216,223,220,60,0,8,216,224,220,60,0,8,216,225,220,60,0,8,216,226,220,60,0,8,216,227,220,60,0,8,216,228,220,60,0,8,216,229,220,60,0,8,216,230,220,60,0,8,216,231,220,60,0,8,216,232,220,60,0,8,216,233,220,60,0,8,216,234,220,60,0,8,216,235,220,60,0,8,216,236,220,60,0,8,216,237,220,60,0,8,216,238,220,60,0,8,216,239,220,60,0,8,216,240,220,60,0,8,216,241,220,60,0,8,216,242,220,60,0,8,216,243,220,60,0,8,216,244,220,60,0,8,216,245,220,60,0,8,216,246,220,60,0,8,216,247,220,60,0,8,216,248,220,60,0,8,216,249,220,60,0,8,216,250,220,60,0,8,216,251,220,60,0,8,216,252,220,60,0,8,216,253,220,60,0,8,216,254,220,60,0,8,216,255,220,60,0,8,216,0,221,60,0,8,216,1,221,60,0,8,216,2,221,60,0,8,216,3,221,60,0,8,216,4,221,60,0,8,216,5,221,60,0,8,216,6,221,60,0,8,216,7,221,60,0,8,216,8,221,60,0,8,216,9,221,60,0,8,216,10,221,60,0,8,216,11,221,60,0,8,216,12,221,60,0,8,216,13,221,60,0,8,216,14,221,60,0,8,216,15,221,60,0,8,216,16,221,60,0,8,216,17,221,60,0,8,216,18,221,60,0,8,216,19,221,60,0,8,216,20,221,60,0,8,216,21,221,60,0,8,216,22,221,60,0,8,216,23,221,60,0,8,216,24,221,60,0,8,216,25,221,60,0,8,216,26,221,60,0,8,216,27,221,60,0,8,216,28,221,60,0,8,216,29,221,60,0,8,216,30,221,60,0,8,216,31,221,60,0,8,216,32,221,60,0,8,216,33,221,60,0,8,216,34,221,60,0,8,216,35,221,60,0,8,216,36,221,60,0,8,216,37,221,60,0,8,216,38,221,60,0,8,216,39,221,60,0,8,216,40,221,60,0,8,216,41,221,60,0,8,216,42,221,60,0,8,216,43,221,60,0,8,216,44,221,60,0,8,216,45,221,60,0,8,216,46,221,60,0,8,216,47,221,60,0,8,216,48,221,60,0,8,216,49,221,60,0,8,216,50,221,60,0,8,216,51,221,60,0,8,216,52,221,60,0,8,216,53,221,60,0,8,216,54,221,60,0,8,216,55,221,60,0,8,216,56,221,60,0,8,216,57,221,60,0,8,216,58,221,60,0,8,216,59,221,60,0,8,216,60,221,60,0,8,216,61,221,60,0,8,216,62,221,60,0,8,216,63,221,60,0,8,216,64,221,60,0,8,216,65,221,60,0,8,216,66,221,60,0,8,216,67,221,60,0,8,216,68,221,60,0,8,216,69,221,60,0,8,216,70,221,60,0,8,216,71,221,60,0,8,216,72,221,60,0,8,216,73,221,60,0,8,216,74,221,60,0,8,216,75,221,60,0,8,216,76,221,60,0,8,216,77,221,60,0,8,216,78,221,60,0,8,216,79,221,60,0,8,216,80,221,60,0,8,216,81,221,60,0,8,216,82,221,60,0,8,216,83,221,60,0,8,216,84,221,60,0,8,216,85,221,60,0,8,216,86,221,60,0,8,216,87,221,60,0,8,216,88,221,60,0,8,216,89,221,60,0,8,216,90,221,60,0,8,216,91,221,60,0,8,216,92,221,60,0,8,216,93,221,60,0,8,216,94,221,60,0,8,216,95,221,60,0,8,216,96,221,60,0,8,216,97,221,60,0,8,216,98,221,60,0,8,216,99,221,60,0,8,216,100,221,60,0,8,216,101,221,60,0,8,216,102,221,60,0,8,216,103,221,60,0,8,216,104,221,60,0,8,216,105,221,60,0,8,216,106,221,60,0,8,216,107,221,60,0,8,216,108,221,60,0,8,216,109,221,60,0,8,216,110,221,60,0,8,216,111,221,60,0,8,216,112,221,60,0,8,216,113,221,60,0,8,216,114,221,60,0,8,216,115,221,60,0,8,216,116,221,60,0,8,216,117,221,60,0,8,216,118,221,60,0,8,216,119,221,60,0,8,216,120,221,60,0,8,216,121,221,60,0,8,216,122,221,60,0,8,216,123,221,60,0,8,216,124,221,60,0,8,216,125,221,60,0,8,216,126,221,60,0,8,216,127,221,60,0,8,216,128,221,60,0,8,216,129,221,60,0,8,216,130,221,60,0,8,216,131,221,60,0,8,216,132,221,60,0,8,216,133,221,60,0,8,216,134,221,60,0,8,216,135,221,60,0,8,216,136,221,60,0,8,216,137,221,60,0,8,216,138,221,60,0,8,216,139,221,60,0,8,216,140,221,60,0,8,216,141,221,60,0,8,216,142,221,60,0,8,216,143,221,60,0,8,216,144,221,60,0,8,216,145,221,60,0,8,216,146,221,60,0,8,216,147,221,60,0,8,216,148,221,60,0,8,216,149,221,60,0,8,216,150,221,60,0,8,216,151,221,60,0,8,216,152,221,60,0,8,216,153,221,60,0,8,216,154,221,60,0,8,216,155,221,60,0,8,216,156,221,60,0,8,216,157,221,60,0,8,216,158,221,60,0,8,216,159,221,60,0,8,216,160,221,60,0,8,216,161,221,60,0,8,216,162,221,60,0,8,216,163,221,60,0,8,216,164,221,60,0,8,216,165,221,60,0,8,216,166,221,60,0,8,216,167,221,60,0,8,216,168,221,60,0,8,216,169,221,60,0,8,216,170,221,60,0,8,216,171,221,60,0,8,216,172,221,60,0,8,216,173,221,60,0,8,216,174,221,60,0,8,216,175,221,60,0,8,216,176,221,60,0,8,216,177,221,60,0,8,216,178,221,60,0,8,216,179,221,60,0,8,216,180,221,60,0,8,216,181,221,60,0,8,216,182,221,60,0,8,216,183,221,60,0,8,216,184,221,60,0,8,216,185,221,60,0,8,216,186,221,60,0,8,216,187,221,60,0,8,216,188,221,60,0,8,216,189,221,60,0,8,216,190,221,60,0,8,216,191,221,60,0,8,216,192,221,60,0,8,216,193,221,60,0,8,216,194,221,60,0,8,216,195,221,60,0,8,216,196,221,60,0,8,216,197,221,60,0,8,216,198,221,60,0,8,216,199,221,60,0,8,216,200,221,60,0,8,216,201,221,60,0,8,216,202,221,60,0,8,216,203,221,60,0,8,216,204,221,60,0,8,216,205,221,60,0,8,216,206,221,60,0,8,216,207,221,60,0,8,216,208,221,60,0,8,216,209,221,60,0,8,216,210,221,60,0,8,216,211,221,60,0,8,216,212,221,60,0,8,216,213,221,60,0,8,216,214,221,60,0,8,216,215,221,60,0,8,216,216,221,60,0,8,216,217,221,60,0,8,216,218,221,60,0,8,216,219,221,60,0,8,216,220,221,60,0,8,216,221,221,60,0,8,216,222,221,60,0,8,216,223,221,60,0,8,216,224,221,60,0,8,216,225,221,60,0,8,216,226,221,60,0,8,216,227,221,60,0,8,216,228,221,60,0,8,216,229,221,60,0,8,216,230,221,60,0,8,216,231,221,60,0,8,216,232,221,60,0,8,216,233,221,60,0,8,216,234,221,60,0,8,216,235,221,60,0,8,216,236,221,60,0,8,216,237,221,60,0,8,216,238,221,60,0,8,216,239,221,60,0,8,216,240,221,60,0,8,216,241,221,60,0,8,216,242,221,60,0,8,216,243,221,60,0,8,216,244,221,60,0,8,216,245,221,60,0,8,216,246,221,60,0,8,216,247,221,60,0,8,216,248,221,60,0,8,216,249,221,60,0,8,216,250,221,60,0,8,216,251,221,60,0,8,216,252,221,60,0,8,216,253,221,60,0,8,216,254,221,60,0,8,216,255,221,60,0,8,216,0,222,60,0,8,216,1,222,60,0,8,216,2,222,60,0,8,216,3,222,60,0,8,216,4,222,60,0,8,216,5,222,60,0,8,216,6,222,60,0,8,216,7,222,60,0,8,216,8,222,60,0,8,216,9,222,60,0,8,216,10,222,60,0,8,216,11,222,60,0,8,216,12,222,60,0,8,216,13,222,60,0,8,216,14,222,60,0,8,216,15,222,60,0,8,216,16,222,60,0,8,216,17,222,60,0,8,216,18,222,60,0,8,216,19,222,60,0,8,216,20,222,60,0,8,216,21,222,60,0,8,216,22,222,60,0,8,216,23,222,60,0,8,216,24,222,60,0,8,216,25,222,60,0,8,216,26,222,60,0,8,216,27,222,60,0,8,216,28,222,60,0,8,216,29,222,60,0,8,216,30,222,60,0,8,216,31,222,60,0,8,216,32,222,60,0,8,216,33,222,60,0,8,216,34,222,60,0,8,216,35,222,60,0,8,216,36,222,60,0,8,216,37,222,60,0,8,216,38,222,60,0,8,216,39,222,60,0,8,216,40,222,60,0,8,216,41,222,60,0,8,216,42,222,60,0,8,216,43,222,60,0,8,216,44,222,60,0,8,216,45,222,60,0,8,216,46,222,60,0,8,216,47,222,60,0,8,216,48,222,60,0,8,216,49,222,60,0,8,216,50,222,60,0,8,216,51,222,60,0,8,216,52,222,60,0,8,216,53,222,60,0,8,216,54,222,60,0,8,216,55,222,60,0,8,216,56,222,60,0,8,216,57,222,60,0,8,216,58,222,60,0,8,216,59,222,60,0,8,216,60,222,60,0,8,216,61,222,60,0,8,216,62,222,60,0,8,216,63,222,60,0,8,216,64,222,60,0,8,216,65,222,60,0,8,216,66,222,60,0,8,216,67,222,60,0,8,216,68,222,60,0,8,216,69,222,60,0,8,216,70,222,60,0,8,216,71,222,60,0,8,216,72,222,60,0,8,216,73,222,60,0,8,216,74,222,60,0,8,216,75,222,60,0,8,216,76,222,60,0,8,216,77,222,60,0,8,216,78,222,60,0,8,216,79,222,60,0,8,216,80,222,60,0,8,216,81,222,60,0,8,216,82,222,60,0,8,216,83,222,60,0,8,216,84,222,60,0,8,216,85,222,60,0,8,216,86,222,60,0,8,216,87,222,60,0,8,216,88,222,60,0,8,216,89,222,60,0,8,216,90,222,60,0,8,216,91,222,60,0,8,216,92,222,60,0,8,216,93,222,60,0,8,216,94,222,60,0,8,216,95,222,60,0,8,216,96,222,60,0,8,216,97,222,60,0,8,216,98,222,60,0,8,216,212,222,60,0,8,216,213,222,60,0,8,216,99,222,60,0,8,216,100,222,60,0,8,216,101,222,60,0,8,216,102,222,60,0,8,216,103,222,60,0,8,216,104,222,60,0,8,216,105,222,60,0,8,216,106,222,60,0,8,216,107,222,60,0,8,216,108,222,60,0,8,216,109,222,60,0,8,216,110,222,60,0,8,216,111,222,60,0,8,216,112,222,60,0,8,216,113,222,60,0,8,216,114,222,60,0,8,216,115,222,60,0,8,216,116,222,60,0,8,216,117,222,60,0,8,216,118,222,60,0,8,216,119,222,60,0,8,216,120,222,60,0,8,216,121,222,60,0,8,216,122,222,60,0,8,216,123,222,60,0,8,216,124,222,60,0,8,216,125,222,60,0,8,216,126,222,60,0,8,216,127,222,60,0,8,216,128,222,60,0,8,216,129,222,60,0,8,216,130,222,60,0,8,216,131,222,60,0,8,216,132,222,60,0,8,216,133,222,60,0,8,216,134,222,60,0,8,216,135,222,60,0,8,216,136,222,60,0,8,216,137,222,60,0,8,216,138,222,60,0,8,216,139,222,60,0,8,216,140,222,60,0,8,216,141,222,60,0,8,216,142,222,60,0,8,216,143,222,60,0,8,216,144,222,60,0,8,216,145,222,60,0,8,216,146,222,60,0,8,216,147,222,60,0,8,216,148,222,60,0,8,216,149,222,60,0,8,216,150,222,60,0,8,216,151,222,60,0,8,216,152,222,60,0,8,216,153,222,60,0,8,216,154,222,60,0,8,216,155,222,60,0,8,216,156,222,60,0,8,216,157,222,60,0,8,216,158,222,60,0,8,216,159,222,60,0,8,216,160,222,60,0,8,216,161,222,60,0,8,216,162,222,60,0,8,216,163,222,60,0,8,216,164,222,60,0,8,216,165,222,60,0,8,216,166,222,60,0,8,216,167,222,60,0,8,216,168,222,60,0,8,216,169,222,60,0,8,216,170,222,60,0,8,216,171,222,60,0,8,216,172,222,60,0,8,216,173,222,60,0,8,216,174,222,60,0,8,216,175,222,60,0,8,216,176,222,60,0,8,216,177,222,60,0,8,216,178,222,60,0,8,216,179,222,60,0,8,216,180,222,60,0,8,216,181,222,60,0,8,216,182,222,60,0,8,216,183,222,60,0,8,216,184,222,60,0,8,216,185,222,60,0,8,216,186,222,60,0,8,216,187,222,60,0,8,216,188,222,60,0,8,216,189,222,60,0,8,216,190,222,60,0,8,216,191,222,60,0,8,216,192,222,60,0,8,216,193,222,60,0,8,216,194,222,60,0,8,216,195,222,60,0,8,216,196,222,60,0,8,216,197,222,60,0,8,216,198,222,60,0,8,216,199,222,60,0,8,216,200,222,60,0,8,216,201,222,60,0,8,216,202,222,60,0,8,216,203,222,60,0,8,216,204,222,60,0,8,216,205,222,60,0,8,216,206,222,60,0,8,216,207,222,60,0,8,216,208,222,60,0,8,216,209,222,60,0,8,216,210,222,60,0,8,216,211,222,60,0,8,216,214,222,60,0,8,216,215,222,60,0,8,216,216,222,60,0,8,216,217,222,60,0,8,216,218,222,60,0,8,216,219,222,60,0,8,216,220,222,60,0,8,216,221,222,60,0,8,216,222,222,60,0,8,216,223,222,60,0,8,216,224,222,60,0,8,216,225,222,60,0,8,216,226,222,60,0,8,216,227,222,60,0,8,216,228,222,60,0,8,216,229,222,60,0,8,216,230,222,60,0,8,216,231,222,60,0,8,216,232,222,60,0,8,216,233,222,60,0,8,216,234,222,60,0,8,216,235,222,60,0,8,216,236,222,60,0,8,216,237,222,60,0,8,216,238,222,60,0,8,216,239,222,60,0,8,216,240,222,60,0,8,216,241,222,60,0,8,216,242,222,60,0,8,216,243,222,60,0,8,216,244,222,60,0,8,216,245,222,60,0,8,216,246,222,60,0,8,216,247,222,60,0,8,216,248,222,60,0,8,216,249,222,60,0,8,216,250,222,60,0,8,216,251,222,60,0,8,216,252,222,60,0,8,216,253,222,60,0,8,216,254,222,60,0,8,216,255,222,60,0,8,216,0,223,60,0,8,216,1,223,60,0,8,216,2,223,60,0,8,216,3,223,60,0,8,216,4,223,60,0,8,216,5,223,60,0,8,216,6,223,60,0,8,216,7,223,60,0,8,216,8,223,60,0,8,216,9,223,60,0,8,216,10,223,60,0,8,216,11,223,60,0,8,216,12,223,60,0,8,216,13,223,60,0,8,216,14,223,60,0,8,216,15,223,60,0,8,216,16,223,60,0,8,216,17,223,60,0,8,216,18,223,60,0,8,216,19,223,60,0,8,216,20,223,60,0,8,216,21,223,60,0,8,216,22,223,60,0,8,216,23,223,60,0,8,216,24,223,60,0,8,216,25,223,60,0,8,216,26,223,60,0,8,216,27,223,60,0,8,216,28,223,60,0,8,216,29,223,60,0,8,216,30,223,60,0,8,216,31,223,60,0,8,216,32,223,60,0,8,216,33,223,60,0,8,216,34,223,60,0,8,216,35,223,60,0,8,216,36,223,60,0,8,216,37,223,60,0,8,216,38,223,60,0,8,216,39,223,60,0,8,216,40,223,60,0,8,216,41,223,60,0,8,216,42,223,60,0,8,216,43,223,60,0,8,216,44,223,60,0,8,216,45,223,60,0,8,216,46,223,60,0,8,216,47,223,60,0,8,216,48,223,60,0,8,216,49,223,60,0,8,216,50,223,60,0,8,216,51,223,60,0,8,216,52,223,60,0,8,216,53,223,60,0,8,216,54,223,60,0,8,216,55,223,60,0,8,216,56,223,60,0,8,216,57,223,60,0,8,216,58,223,60,0,8,216,59,223,60,0,8,216,60,223,60,0,8,216,61,223,60,0,8,216,62,223,60,0,8,216,63,223,60,0,8,216,64,223,60,0,8,216,65,223,60,0,8,216,66,223,60,0,8,216,67,223,60,0,8,216,68,223,60,0,8,216,69,223,60,0,8,216,70,223,60,0,8,216,71,223,60,0,8,216,72,223,60,0,8,216,73,223,60,0,8,216,74,223,60,0,8,216,75,223,60,0,8,216,76,223,60,0,8,216,77,223,60,0,8,216,78,223,60,0,8,216,79,223,60,0,8,216,80,223,60,0,8,216,81,223,60,0,8,216,82,223,60,0,8,216,83,223,60,0,8,216,84,223,60,0,8,216,85,223,60,0,8,216,86,223,60,0,8,216,87,223,60,0,8,216,88,223,60,0,8,216,89,223,60,0,8,216,90,223,60,0,8,216,91,223,60,0,8,216,92,223,60,0,8,216,93,223,60,0,8,216,94,223,60,0,8,216,95,223,60,0,8,216,96,223,60,0,8,216,97,223,60,0,8,216,98,223,60,0,8,216,99,223,60,0,8,216,100,223,60,0,8,216,101,223,60,0,8,216,102,223,60,0,8,216,103,223,60,0,8,216,104,223,60,0,8,216,105,223,60,0,8,216,106,223,60,0,8,216,107,223,60,0,8,216,108,223,60,0,8,216,109,223,60,0,8,216,110,223,60,0,8,216,111,223,60,0,8,216,112,223,60,0,8,216,113,223,60,0,8,216,114,223,60,0,8,216,115,223,60,0,8,216,116,223,60,0,8,216,117,223,60,0,8,216,118,223,60,0,8,216,119,223,60,0,8,216,120,223,60,0,8,216,121,223,60,0,8,216,122,223,60,0,8,216,123,223,60,0,8,216,124,223,60,0,8,216,125,223,60,0,8,216,126,223,60,0,8,216,127,223,60,0,8,216,128,223,60,0,8,216,129,223,60,0,8,216,130,223,60,0,8,216,131,223,60,0,8,216,132,223,60,0,8,216,133,223,60,0,8,216,134,223,60,0,8,216,135,223,60,0,8,216,136,223,60,0,8,216,137,223,60,0,8,216,138,223,60,0,8,216,139,223,60,0,8,216,140,223,60,0,8,216,141,223,60,0,8,216,142,223,60,0,8,216,143,223,60,0,8,216,144,223,60,0,8,216,145,223,60,0,8,216,146,223,60,0,8,216,147,223,60,0,8,216,148,223,60,0,8,216,149,223,60,0,8,216,150,223,60,0,8,216,151,223,60,0,8,216,152,223,60,0,8,216,153,223,60,0,9,216,128,220,60,0,9,216,129,220,60,0,9,216,130,220,60,0,9,216,131,220,60,0,9,216,132,220,60,0,9,216,133,220,60,0,9,216,134,220,60,0,9,216,135,220,60,0,9,216,136,220,60,0,9,216,137,220,60,0,9,216,138,220,60,0,9,216,139,220,60,0,9,216,140,220,60,0,9,216,141,220,60,0,9,216,142,220,60,0,9,216,143,220,60,0,9,216,144,220,60,0,9,216,145,220,60,0,9,216,146,220,60,0,9,216,147,220,60,0,9,216,148,220,60,0,9,216,149,220,60,0,9,216,150,220,60,0,9,216,151,220,60,0,9,216,152,220,60,0,9,216,153,220,60,0,9,216,154,220,60,0,9,216,155,220,60,0,9,216,156,220,60,0,9,216,157,220,60,0,9,216,158,220,60,0,9,216,159,220,60,0,9,216,160,220,60,0,9,216,161,220,60,0,9,216,162,220,60,0,9,216,163,220,60,0,9,216,164,220,60,0,9,216,165,220,60,0,9,216,166,220,60,0,9,216,167,220,60,0,9,216,168,220,60,0,9,216,169,220,60,0,9,216,170,220,60,0,9,216,171,220,60,0,9,216,172,220,60,0,9,216,173,220,60,0,9,216,174,220,60,0,9,216,175,220,60,0,9,216,176,220,60,0,9,216,177,220,60,0,9,216,178,220,60,0,9,216,179,220,60,0,9,216,180,220,60,0,9,216,181,220,60,0,9,216,182,220,60,0,9,216,183,220,60,0,9,216,184,220,60,0,9,216,185,220,60,0,9,216,186,220,60,0,9,216,187,220,60,0,9,216,188,220,60,0,9,216,189,220,60,0,9,216,190,220,60,0,9,216,191,220,60,0,9,216,192,220,60,0,9,216,193,220,60,0,9,216,194,220,60,0,9,216,195,220,60,0,9,216,196,220,60,0,9,216,197,220,60,0,9,216,198,220,60,0,9,216,199,220,60,0,9,216,200,220,60,0,9,216,201,220,60,0,9,216,202,220,60,0,9,216,203,220,60,0,9,216,204,220,60,0,9,216,205,220,60,0,9,216,206,220,60,0,9,216,207,220,60,0,9,216,208,220,60,0,9,216,209,220,60,0,9,216,210,220,60,0,9,216,211,220,60,0,9,216,212,220,60,0,9,216,213,220,60,0,9,216,214,220,60,0,9,216,215,220,60,0,9,216,216,220,60,0,9,216,217,220,60,0,9,216,218,220,60,0,9,216,219,220,60,0,9,216,220,220,60,0,9,216,221,220,60,0,9,216,222,220,60,0,9,216,223,220,60,0,9,216,224,220,60,0,9,216,225,220,60,0,9,216,226,220,60,0,9,216,227,220,60,0,9,216,228,220,60,0,9,216,229,220,60,0,9,216,230,220,60,0,9,216,231,220,60,0,9,216,232,220,60,0,9,216,233,220,60,0,9,216,234,220,60,0,9,216,235,220,60,0,9,216,236,220,60,0,9,216,237,220,60,0,9,216,238,220,60,0,9,216,239,220,60,0,9,216,240,220,60,0,9,216,241,220,60,0,9,216,242,220,60,0,9,216,243,220,60,0,9,216,244,220,60,0,9,216,245,220,60,0,9,216,246,220,60,0,9,216,247,220,60,0,9,216,248,220,60,0,9,216,249,220,60,0,9,216,250,220,60,0,9,216,251,220,60,0,9,216,252,220,60,0,9,216,253,220,60,0,9,216,254,220,60,0,9,216,255,220,60,0,9,216,0,221,60,0,9,216,1,221,60,0,9,216,2,221,60,0,9,216,3,221,60,0,9,216,4,221,60,0,9,216,5,221,60,0,9,216,6,221,60,0,9,216,7,221,60,0,9,216,8,221,60,0,9,216,9,221,60,0,9,216,10,221,60,0,9,216,11,221,60,0,9,216,12,221,60,0,9,216,13,221,60,0,9,216,14,221,60,0,9,216,15,221,60,0,9,216,16,221,60,0,9,216,17,221,60,0,9,216,18,221,60,0,9,216,19,221,60,0,9,216,20,221,60,0,9,216,21,221,60,0,9,216,22,221,60,0,9,216,23,221,60,0,9,216,24,221,60,0,9,216,25,221,60,0,9,216,26,221,60,0,9,216,27,221,60,0,9,216,28,221,60,0,9,216,29,221,60,0,9,216,30,221,60,0,9,216,31,221,60,0,9,216,32,221,60,0,9,216,33,221,60,0,9,216,34,221,60,0,9,216,35,221,60,0,9,216,36,221,60,0,9,216,37,221,60,0,9,216,38,221,60,0,9,216,39,221,60,0,9,216,40,221,60,0,9,216,41,221,60,0,9,216,42,221,60,0,9,216,43,221,60,0,9,216,44,221,60,0,9,216,45,221,60,0,9,216,46,221,60,0,9,216,47,221,60,0,9,216,48,221,60,0,9,216,49,221,60,0,9,216,50,221,60,0,9,216,51,221,60,0,9,216,52,221,60,0,9,216,53,221,60,0,9,216,54,221,60,0,9,216,55,221,60,0,9,216,56,221,60,0,9,216,57,221,60,0,9,216,58,221,60,0,9,216,59,221,60,0,9,216,60,221,60,0,9,216,61,221,60,0,9,216,62,221,60,0,9,216,63,221,60,0,9,216,64,221,60,0,9,216,65,221,60,0,9,216,66,221,60,0,9,216,67,221,60,0,12,216,0,220,60,0,12,216,1,220,60,0,12,216,2,220,60,0,12,216,3,220,60,0,12,216,4,220,60,0,12,216,5,220,60,0,12,216,6,220,60,0,12,216,7,220,60,0,12,216,8,220,60,0,12,216,9,220,60,0,12,216,10,220,60,0,12,216,11,220,60,0,12,216,12,220,60,0,12,216,13,220,60,0,12,216,14,220,60,0,12,216,15,220,60,0,12,216,16,220,60,0,12,216,17,220,60,0,12,216,18,220,60,0,12,216,19,220,60,0,12,216,20,220,60,0,12,216,21,220,60,0,12,216,22,220,60,0,12,216,23,220,60,0,12,216,24,220,60,0,12,216,25,220,60,0,12,216,26,220,60,0,12,216,27,220,60,0,12,216,28,220,60,0,12,216,29,220,60,0,12,216,30,220,60,0,12,216,31,220,60,0,12,216,32,220,60,0,12,216,33,220,60,0,12,216,34,220,60,0,12,216,35,220,60,0,12,216,36,220,60,0,12,216,37,220,60,0,12,216,38,220,60,0,12,216,39,220,60,0,12,216,40,220,60,0,12,216,41,220,60,0,12,216,42,220,60,0,12,216,43,220,60,0,12,216,44,220,60,0,12,216,45,220,60,0,12,216,46,220,60,0,12,216,47,220,60,0,12,216,48,220,60,0,12,216,49,220,60,0,12,216,50,220,60,0,12,216,51,220,60,0,12,216,52,220,60,0,12,216,53,220,60,0,12,216,54,220,60,0,12,216,55,220,60,0,12,216,56,220,60,0,12,216,57,220,60,0,12,216,58,220,60,0,12,216,59,220,60,0,12,216,60,220,60,0,12,216,61,220,60,0,12,216,62,220,60,0,12,216,63,220,60,0,12,216,64,220,60,0,12,216,65,220,60,0,12,216,66,220,60,0,12,216,67,220,60,0,12,216,68,220,60,0,12,216,69,220,60,0,12,216,70,220,60,0,12,216,71,220,60,0,12,216,72,220,60,0,12,216,73,220,60,0,12,216,74,220,60,0,12,216,75,220,60,0,12,216,76,220,60,0,12,216,77,220,60,0,12,216,78,220,60,0,12,216,79,220,60,0,12,216,80,220,60,0,12,216,81,220,60,0,12,216,82,220,60,0,12,216,83,220,60,0,12,216,84,220,60,0,12,216,85,220,60,0,12,216,86,220,60,0,12,216,87,220,60,0,12,216,88,220,60,0,12,216,89,220,60,0,12,216,90,220,60,0,12,216,91,220,60,0,12,216,92,220,60,0,12,216,93,220,60,0,12,216,94,220,60,0,12,216,95,220,60,0,12,216,96,220,60,0,12,216,97,220,60,0,12,216,98,220,60,0,12,216,99,220,60,0,12,216,100,220,60,0,12,216,101,220,60,0,12,216,102,220,60,0,12,216,103,220,60,0,12,216,104,220,60,0,12,216,105,220,60,0,12,216,106,220,60,0,12,216,107,220,60,0,12,216,108,220,60,0,12,216,109,220,60,0,12,216,110,220,60,0,12,216,111,220,60,0,12,216,112,220,60,0,12,216,113,220,60,0,12,216,114,220,60,0,12,216,115,220,60,0,12,216,116,220,60,0,12,216,117,220,60,0,12,216,118,220,60,0,12,216,119,220,60,0,12,216,120,220,60,0,12,216,121,220,60,0,12,216,122,220,60,0,12,216,123,220,60,0,12,216,124,220,60,0,12,216,125,220,60,0,12,216,126,220,60,0,12,216,127,220,60,0,12,216,128,220,60,0,12,216,129,220,60,0,12,216,130,220,60,0,12,216,131,220,60,0,12,216,132,220,60,0,12,216,133,220,60,0,12,216,134,220,60,0,12,216,135,220,60,0,12,216,136,220,60,0,12,216,137,220,60,0,12,216,138,220,60,0,12,216,139,220,60,0,12,216,140,220,60,0,12,216,141,220,60,0,12,216,142,220,60,0,12,216,143,220,60,0,12,216,144,220,60,0,12,216,145,220,60,0,12,216,146,220,60,0,12,216,147,220,60,0,12,216,148,220,60,0,12,216,149,220,60,0,12,216,150,220,60,0,12,216,151,220,60,0,12,216,152,220,60,0,12,216,153,220,60,0,12,216,154,220,60,0,12,216,155,220,60,0,12,216,156,220,60,0,12,216,157,220,60,0,12,216,158,220,60,0,12,216,159,220,60,0,12,216,160,220,60,0,12,216,161,220,60,0,12,216,162,220,60,0,12,216,163,220,60,0,12,216,164,220,60,0,12,216,165,220,60,0,12,216,166,220,60,0,12,216,167,220,60,0,12,216,168,220,60,0,12,216,169,220,60,0,12,216,170,220,60,0,12,216,171,220,60,0,12,216,172,220,60,0,12,216,173,220,60,0,12,216,174,220,60,0,12,216,175,220,60,0,12,216,176,220,60,0,12,216,177,220,60,0,12,216,178,220,60,0,12,216,179,220,60,0,12,216,180,220,60,0,12,216,181,220,60,0,12,216,182,220,60,0,12,216,183,220,60,0,12,216,184,220,60,0,12,216,185,220,60,0,12,216,186,220,60,0,12,216,187,220,60,0,12,216,188,220,60,0,12,216,189,220,60,0,12,216,190,220,60,0,12,216,191,220,60,0,12,216,192,220,60,0,12,216,193,220,60,0,12,216,194,220,60,0,12,216,195,220,60,0,12,216,196,220,60,0,12,216,197,220,60,0,12,216,198,220,60,0,12,216,199,220,60,0,12,216,200,220,60,0,12,216,201,220,60,0,12,216,202,220,60,0,12,216,203,220,60,0,12,216,204,220,60,0,12,216,205,220,60,0,12,216,206,220,60,0,12,216,207,220,60,0,12,216,208,220,60,0,12,216,209,220,60,0,12,216,210,220,60,0,12,216,211,220,60,0,12,216,212,220,60,0,12,216,213,220,60,0,12,216,214,220,60,0,12,216,215,220,60,0,12,216,216,220,60,0,12,216,217,220,60,0,12,216,218,220,60,0,12,216,219,220,60,0,12,216,220,220,60,0,12,216,221,220,60,0,12,216,222,220,60,0,12,216,223,220,60,0,12,216,224,220,60,0,12,216,225,220,60,0,12,216,226,220,60,0,12,216,227,220,60,0,12,216,228,220,60,0,12,216,229,220,60,0,12,216,230,220,60,0,12,216,231,220,60,0,12,216,232,220,60,0,12,216,233,220,60,0,12,216,234,220,60,0,12,216,235,220,60,0,12,216,236,220,60,0,12,216,237,220,60,0,12,216,238,220,60,0,12,216,239,220,60,0,12,216,240,220,60,0,12,216,241,220,60,0,12,216,242,220,60,0,12,216,243,220,60,0,12,216,244,220,60,0,12,216,245,220,60,0,12,216,246,220,60,0,12,216,247,220,60,0,12,216,248,220,60,0,12,216,249,220,60,0,12,216,250,220,60,0,12,216,251,220,60,0,12,216,252,220,60,0,12,216,253,220,60,0,12,216,254,220,60,0,12,216,255,220,60,0,12,216,0,221,60,0,12,216,1,221,60,0,12,216,2,221,60,0,12,216,3,221,60,0,12,216,4,221,60,0,12,216,5,221,60,0,12,216,6,221,60,0,12,216,7,221,60,0,12,216,8,221,60,0,12,216,9,221,60,0,12,216,10,221,60,0,12,216,11,221,60,0,12,216,12,221,60,0,12,216,13,221,60,0,12,216,14,221,60,0,12,216,15,221,60,0,12,216,16,221,60,0,12,216,17,221,60,0,12,216,18,221,60,0,12,216,19,221,60,0,12,216,20,221,60,0,12,216,21,221,60,0,12,216,22,221,60,0,12,216,23,221,60,0,12,216,24,221,60,0,12,216,25,221,60,0,12,216,26,221,60,0,12,216,27,221,60,0,12,216,28,221,60,0,12,216,29,221,60,0,12,216,30,221,60,0,12,216,31,221,60,0,12,216,32,221,60,0,12,216,33,221,60,0,12,216,34,221,60,0,12,216,35,221,60,0,12,216,36,221,60,0,12,216,37,221,60,0,12,216,38,221,60,0,12,216,39,221,60,0,12,216,40,221,60,0,12,216,41,221,60,0,12,216,42,221,60,0,12,216,43,221,60,0,12,216,44,221,60,0,12,216,45,221,60,0,12,216,46,221,60,0,12,216,47,221,60,0,12,216,48,221,60,0,12,216,49,221,60,0,12,216,50,221,60,0,12,216,51,221,60,0,12,216,52,221,60,0,12,216,53,221,60,0,12,216,54,221,60,0,12,216,55,221,60,0,12,216,56,221,60,0,12,216,57,221,60,0,12,216,58,221,60,0,12,216,59,221,60,0,12,216,60,221,60,0,12,216,61,221,60,0,12,216,62,221,60,0,12,216,63,221,60,0,12,216,64,221,60,0,12,216,65,221,60,0,12,216,66,221,60,0,12,216,67,221,60,0,12,216,68,221,60,0,12,216,69,221,60,0,12,216,70,221,60,0,12,216,71,221,60,0,12,216,72,221,60,0,12,216,73,221,60,0,12,216,74,221,60,0,12,216,75,221,60,0,12,216,76,221,60,0,12,216,77,221,60,0,12,216,78,221,60,0,12,216,79,221,60,0,12,216,80,221,60,0,12,216,81,221,60,0,12,216,82,221,60,0,12,216,83,221,60,0,12,216,84,221,60,0,12,216,85,221,60,0,12,216,86,221,60,0,12,216,87,221,60,0,12,216,88,221,60,0,12,216,89,221,60,0,12,216,90,221,60,0,12,216,91,221,60,0,12,216,92,221,60,0,12,216,93,221,60,0,12,216,94,221,60,0,12,216,95,221,60,0,12,216,96,221,60,0,12,216,97,221,60,0,12,216,98,221,60,0,12,216,99,221,60,0,12,216,100,221,60,0,12,216,101,221,60,0,12,216,102,221,60,0,12,216,103,221,60,0,12,216,104,221,60,0,12,216,105,221,60,0,12,216,106,221,60,0,12,216,107,221,60,0,12,216,108,221,60,0,12,216,109,221,60,0,12,216,110,221,60,0,12,216,111,221,60,0,12,216,112,221,60,0,12,216,113,221,60,0,12,216,114,221,60,0,12,216,115,221,60,0,12,216,116,221,60,0,12,216,117,221,60,0,12,216,118,221,60,0,12,216,119,221,60,0,12,216,120,221,60,0,12,216,121,221,60,0,12,216,122,221,60,0,12,216,123,221,60,0,12,216,124,221,60,0,12,216,125,221,60,0,12,216,126,221,60,0,12,216,127,221,60,0,12,216,128,221,60,0,12,216,129,221,60,0,12,216,130,221,60,0,12,216,131,221,60,0,12,216,132,221,60,0,12,216,133,221,60,0,12,216,134,221,60,0,12,216,135,221,60,0,12,216,136,221,60,0,12,216,137,221,60,0,12,216,138,221,60,0,12,216,139,221,60,0,12,216,140,221,60,0,12,216,141,221,60,0,12,216,142,221,60,0,12,216,143,221,60,0,12,216,144,221,60,0,12,216,145,221,60,0,12,216,146,221,60,0,12,216,147,221,60,0,12,216,148,221,60,0,12,216,149,221,60,0,12,216,150,221,60,0,12,216,151,221,60,0,12,216,152,221,60,0,12,216,153,221,60,0,12,216,154,221,60,0,12,216,155,221,60,0,12,216,156,221,60,0,12,216,157,221,60,0,12,216,158,221,60,0,12,216,159,221,60,0,12,216,160,221,60,0,12,216,161,221,60,0,12,216,162,221,60,0,12,216,163,221,60,0,12,216,164,221,60,0,12,216,165,221,60,0,12,216,166,221,60,0,12,216,167,221,60,0,12,216,168,221,60,0,12,216,169,221,60,0,12,216,170,221,60,0,12,216,171,221,60,0,12,216,172,221,60,0,12,216,173,221,60,0,12,216,174,221,60,0,12,216,175,221,60,0,12,216,176,221,60,0,12,216,177,221,60,0,12,216,178,221,60,0,12,216,179,221,60,0,12,216,180,221,60,0,12,216,181,221,60,0,12,216,182,221,60,0,12,216,183,221,60,0,12,216,184,221,60,0,12,216,185,221,60,0,12,216,186,221,60,0,12,216,187,221,60,0,12,216,188,221,60,0,12,216,189,221,60,0,12,216,190,221,60,0,12,216,191,221,60,0,12,216,192,221,60,0,12,216,193,221,60,0,12,216,194,221,60,0,12,216,195,221,60,0,12,216,196,221,60,0,12,216,197,221,60,0,12,216,198,221,60,0,12,216,199,221,60,0,12,216,200,221,60,0,12,216,201,221,60,0,12,216,202,221,60,0,12,216,203,221,60,0,12,216,204,221,60,0,12,216,205,221,60,0,12,216,206,221,60,0,12,216,207,221,60,0,12,216,208,221,60,0,12,216,209,221,60,0,12,216,210,221,60,0,12,216,211,221,60,0,12,216,212,221,60,0,12,216,213,221,60,0,12,216,214,221,60,0,12,216,215,221,60,0,12,216,216,221,60,0,12,216,217,221,60,0,12,216,218,221,60,0,12,216,219,221,60,0,12,216,220,221,60,0,12,216,221,221,60,0,12,216,222,221,60,0,12,216,223,221,60,0,12,216,224,221,60,0,12,216,225,221,60,0,12,216,226,221,60,0,12,216,227,221,60,0,12,216,228,221,60,0,12,216,229,221,60,0,12,216,230,221,60,0,12,216,231,221,60,0,12,216,232,221,60,0,12,216,233,221,60,0,12,216,234,221,60,0,12,216,235,221,60,0,12,216,236,221,60,0,12,216,237,221,60,0,12,216,238,221,60,0,12,216,239,221,60,0,12,216,240,221,60,0,12,216,241,221,60,0,12,216,242,221,60,0,12,216,243,221,60,0,12,216,244,221,60,0,12,216,245,221,60,0,12,216,246,221,60,0,12,216,247,221,60,0,12,216,248,221,60,0,12,216,249,221,60,0,12,216,250,221,60,0,12,216,251,221,60,0,12,216,252,221,60,0,12,216,253,221,60,0,12,216,254,221,60,0,12,216,255,221,60,0,12,216,0,222,60,0,12,216,1,222,60,0,12,216,2,222,60,0,12,216,3,222,60,0,12,216,4,222,60,0,12,216,5,222,60,0,12,216,6,222,60,0,12,216,7,222,60,0,12,216,8,222,60,0,12,216,9,222,60,0,12,216,10,222,60,0,12,216,11,222,60,0,12,216,12,222,60,0,12,216,13,222,60,0,12,216,14,222,60,0,12,216,15,222,60,0,12,216,16,222,60,0,12,216,17,222,60,0,12,216,18,222,60,0,12,216,19,222,60,0,12,216,20,222,60,0,12,216,21,222,60,0,12,216,22,222,60,0,12,216,23,222,60,0,12,216,24,222,60,0,12,216,25,222,60,0,12,216,26,222,60,0,12,216,27,222,60,0,12,216,28,222,60,0,12,216,29,222,60,0,12,216,30,222,60,0,12,216,31,222,60,0,12,216,32,222,60,0,12,216,33,222,60,0,12,216,34,222,60,0,12,216,35,222,60,0,12,216,36,222,60,0,12,216,37,222,60,0,12,216,38,222,60,0,12,216,39,222,60,0,12,216,40,222,60,0,12,216,41,222,60,0,12,216,42,222,60,0,12,216,43,222,60,0,12,216,44,222,60,0,12,216,45,222,60,0,12,216,46,222,60,0,12,216,47,222,60,0,12,216,48,222,60,0,12,216,49,222,60,0,12,216,50,222,60,0,12,216,51,222,60,0,12,216,52,222,60,0,12,216,53,222,60,0,12,216,54,222,60,0,12,216,55,222,60,0,12,216,56,222,60,0,12,216,57,222,60,0,12,216,58,222,60,0,12,216,59,222,60,0,12,216,60,222,60,0,12,216,61,222,60,0,12,216,62,222,60,0,12,216,63,222,60,0,12,216,64,222,60,0,12,216,65,222,60,0,12,216,66,222,60,0,12,216,67,222,60,0,12,216,68,222,60,0,12,216,69,222,60,0,12,216,70,222,60,0,12,216,71,222,60,0,12,216,72,222,60,0,12,216,73,222,60,0,12,216,74,222,60,0,12,216,75,222,60,0,12,216,76,222,60,0,12,216,77,222,60,0,12,216,78,222,60,0,12,216,79,222,60,0,12,216,80,222,60,0,12,216,81,222,60,0,12,216,82,222,60,0,12,216,83,222,60,0,12,216,84,222,60,0,12,216,85,222,60,0,12,216,86,222,60,0,12,216,87,222,60,0,12,216,88,222,60,0,12,216,89,222,60,0,12,216,90,222,60,0,12,216,91,222,60,0,12,216,92,222,60,0,12,216,93,222,60,0,12,216,94,222,60,0,12,216,95,222,60,0,12,216,96,222,60,0,12,216,97,222,60,0,12,216,98,222,60,0,12,216,99,222,60,0,12,216,100,222,60,0,12,216,101,222,60,0,12,216,102,222,60,0,12,216,103,222,60,0,12,216,104,222,60,0,12,216,105,222,60,0,12,216,106,222,60,0,12,216,107,222,60,0,12,216,108,222,60,0,12,216,109,222,60,0,12,216,110,222,60,0,12,216,111,222,60,0,12,216,112,222,60,0,12,216,113,222,60,0,12,216,114,222,60,0,12,216,115,222,60,0,12,216,116,222,60,0,12,216,117,222,60,0,12,216,118,222,60,0,12,216,119,222,60,0,12,216,120,222,60,0,12,216,121,222,60,0,12,216,122,222,60,0,12,216,123,222,60,0,12,216,124,222,60,0,12,216,125,222,60,0,12,216,126,222,60,0,12,216,127,222,60,0,12,216,128,222,60,0,12,216,129,222,60,0,12,216,130,222,60,0,12,216,131,222,60,0,12,216,132,222,60,0,12,216,133,222,60,0,12,216,134,222,60,0,12,216,135,222,60,0,12,216,136,222,60,0,12,216,137,222,60,0,12,216,138,222,60,0,12,216,139,222,60,0,12,216,140,222,60,0,12,216,141,222,60,0,12,216,142,222,60,0,12,216,143,222,60,0,12,216,144,222,60,0,12,216,145,222,60,0,12,216,146,222,60,0,12,216,147,222,60,0,12,216,148,222,60,0,12,216,149,222,60,0,12,216,150,222,60,0,12,216,151,222,60,0,12,216,152,222,60,0,12,216,153,222,60,0,12,216,154,222,60,0,12,216,155,222,60,0,12,216,156,222,60,0,12,216,157,222,60,0,12,216,158,222,60,0,12,216,159,222,60,0,12,216,160,222,60,0,12,216,161,222,60,0,12,216,162,222,60,0,12,216,163,222,60,0,12,216,164,222,60,0,12,216,165,222,60,0,12,216,166,222,60,0,12,216,167,222,60,0,12,216,168,222,60,0,12,216,169,222,60,0,12,216,170,222,60,0,12,216,171,222,60,0,12,216,172,222,60,0,12,216,173,222,60,0,12,216,174,222,60,0,12,216,175,222,60,0,12,216,176,222,60,0,12,216,177,222,60,0,12,216,178,222,60,0,12,216,179,222,60,0,12,216,180,222,60,0,12,216,181,222,60,0,12,216,182,222,60,0,12,216,183,222,60,0,12,216,184,222,60,0,12,216,185,222,60,0,12,216,186,222,60,0,12,216,187,222,60,0,12,216,188,222,60,0,12,216,189,222,60,0,12,216,190,222,60,0,12,216,191,222,60,0,12,216,192,222,60,0,12,216,193,222,60,0,12,216,194,222,60,0,12,216,195,222,60,0,12,216,196,222,60,0,12,216,197,222,60,0,12,216,198,222,60,0,12,216,199,222,60,0,12,216,200,222,60,0,12,216,201,222,60,0,12,216,202,222,60,0,12,216,203,222,60,0,12,216,204,222,60,0,12,216,205,222,60,0,12,216,206,222,60,0,12,216,207,222,60,0,12,216,208,222,60,0,12,216,209,222,60,0,12,216,210,222,60,0,12,216,211,222,60,0,12,216,212,222,60,0,12,216,213,222,60,0,12,216,214,222,60,0,12,216,215,222,60,0,12,216,216,222,60,0,12,216,217,222,60,0,12,216,218,222,60,0,12,216,219,222,60,0,12,216,220,222,60,0,12,216,221,222,60,0,12,216,222,222,60,0,12,216,223,222,60,0,12,216,224,222,60,0,12,216,225,222,60,0,12,216,226,222,60,0,12,216,227,222,60,0,12,216,228,222,60,0,12,216,229,222,60,0,12,216,230,222,60,0,12,216,231,222,60,0,12,216,232,222,60,0,12,216,233,222,60,0,12,216,234,222,60,0,12,216,235,222,60,0,12,216,236,222,60,0,12,216,237,222,60,0,12,216,238,222,60,0,12,216,239,222,60,0,12,216,240,222,60,0,12,216,241,222,60,0,12,216,242,222,60,0,12,216,243,222,60,0,12,216,244,222,60,0,12,216,245,222,60,0,12,216,246,222,60,0,12,216,247,222,60,0,12,216,248,222,60,0,12,216,249,222,60,0,12,216,250,222,60,0,12,216,251,222,60,0,12,216,252,222,60,0,12,216,253,222,60,0,12,216,254,222,60,0,12,216,255,222,60,0,12,216,0,223,60,0,12,216,1,223,60,0,12,216,2,223,60,0,12,216,3,223,60,0,12,216,4,223,60,0,12,216,5,223,60,0,12,216,6,223,60,0,12,216,7,223,60,0,12,216,8,223,60,0,12,216,9,223,60,0,12,216,10,223,60,0,12,216,11,223,60,0,12,216,12,223,60,0,12,216,13,223,60,0,12,216,14,223,60,0,12,216,15,223,60,0,12,216,16,223,60,0,12,216,17,223,60,0,12,216,18,223,60,0,12,216,19,223,60,0,12,216,20,223,60,0,12,216,21,223,60,0,12,216,22,223,60,0,12,216,23,223,60,0,12,216,24,223,60,0,12,216,25,223,60,0,12,216,26,223,60,0,12,216,27,223,60,0,12,216,28,223,60,0,12,216,29,223,60,0,12,216,30,223,60,0,12,216,31,223,60,0,12,216,32,223,60,0,12,216,33,223,60,0,12,216,34,223,60,0,12,216,35,223,60,0,12,216,36,223,60,0,12,216,37,223,60,0,12,216,38,223,60,0,12,216,39,223,60,0,12,216,40,223,60,0,12,216,41,223,60,0,12,216,42,223,60,0,12,216,43,223,60,0,12,216,44,223,60,0,12,216,45,223,60,0,12,216,46,223,60,0,12,216,47,223,60,0,12,216,48,223,60,0,12,216,49,223,60,0,12,216,50,223,60,0,12,216,51,223,60,0,12,216,52,223,60,0,12,216,53,223,60,0,12,216,54,223,60,0,12,216,55,223,60,0,12,216,56,223,60,0,12,216,57,223,60,0,12,216,58,223,60,0,12,216,59,223,60,0,12,216,60,223,60,0,12,216,61,223,60,0,12,216,62,223,60,0,12,216,63,223,60,0,12,216,64,223,60,0,12,216,65,223,60,0,12,216,66,223,60,0,12,216,67,223,60,0,12,216,68,223,60,0,12,216,69,223,60,0,12,216,70,223,60,0,12,216,71,223,60,0,12,216,72,223,60,0,12,216,73,223,60,0,12,216,74,223,60,0,12,216,75,223,60,0,12,216,76,223,60,0,12,216,77,223,60,0,12,216,78,223,60,0,12,216,79,223,60,0,12,216,80,223,60,0,12,216,81,223,60,0,12,216,82,223,60,0,12,216,83,223,60,0,12,216,84,223,60,0,12,216,85,223,60,0,12,216,86,223,60,0,12,216,87,223,60,0,12,216,88,223,60,0,12,216,89,223,60,0,12,216,90,223,60,0,12,216,91,223,60,0,12,216,92,223,60,0,12,216,93,223,60,0,12,216,94,223,60,0,12,216,95,223,60,0,12,216,96,223,60,0,12,216,97,223,60,0,12,216,98,223,60,0,12,216,99,223,60,0,12,216,100,223,60,0,12,216,101,223,60,0,12,216,102,223,60,0,12,216,103,223,60,0,12,216,104,223,60,0,12,216,105,223,60,0,12,216,106,223,60,0,12,216,107,223,60,0,12,216,108,223,60,0,12,216,109,223,60,0,12,216,110,223,60,0,12,216,111,223,60,0,12,216,112,223,60,0,12,216,113,223,60,0,12,216,114,223,60,0,12,216,115,223,60,0,12,216,116,223,60,0,12,216,117,223,60,0,12,216,118,223,60,0,12,216,119,223,60,0,12,216,120,223,60,0,12,216,121,223,60,0,12,216,122,223,60,0,12,216,123,223,60,0,12,216,124,223,60,0,12,216,125,223,60,0,12,216,126,223,60,0,12,216,127,223,60,0,12,216,128,223,60,0,12,216,129,223,60,0,12,216,130,223,60,0,12,216,131,223,60,0,12,216,132,223,60,0,12,216,133,223,60,0,12,216,134,223,60,0,12,216,135,223,60,0,12,216,136,223,60,0,12,216,137,223,60,0,12,216,138,223,60,0,12,216,139,223,60,0,12,216,140,223,60,0,12,216,141,223,60,0,12,216,142,223,60,0,12,216,143,223,60,0,12,216,144,223,60,0,12,216,145,223,60,0,12,216,146,223,60,0,12,216,147,223,60,0,12,216,148,223,60,0,12,216,149,223,60,0,12,216,150,223,60,0,12,216,151,223,60,0,12,216,152,223,60,0,12,216,153,223,60,0,12,216,154,223,60,0,12,216,155,223,60,0,12,216,156,223,60,0,12,216,157,223,60,0,12,216,158,223,60,0,12,216,159,223,60,0,12,216,160,223,60,0,12,216,161,223,60,0,12,216,162,223,60,0,12,216,163,223,60,0,12,216,164,223,60,0,12,216,165,223,60,0,12,216,166,223,60,0,12,216,167,223,60,0,12,216,168,223,60,0,12,216,169,223,60,0,12,216,170,223,60,0,12,216,171,223,60,0,12,216,172,223,60,0,12,216,173,223,60,0,12,216,174,223,60,0,12,216,175,223,60,0,12,216,176,223,60,0,12,216,177,223,60,0,12,216,178,223,60,0,12,216,179,223,60,0,12,216,180,223,60,0,12,216,181,223,60,0,12,216,182,223,60,0,12,216,183,223,60,0,12,216,184,223,60,0,12,216,185,223,60,0,12,216,186,223,60,0,12,216,187,223,60,0,12,216,188,223,60,0,12,216,189,223,60,0,12,216,190,223,60,0,12,216,191,223,60,0,12,216,192,223,60,0,12,216,193,223,60,0,12,216,194,223,60,0,12,216,195,223,60,0,12,216,196,223,60,0,12,216,197,223,60,0,12,216,198,223,60,0,12,216,199,223,60,0,12,216,200,223,60,0,12,216,201,223,60,0,12,216,202,223,60,0,12,216,203,223,60,0,12,216,204,223,60,0,12,216,205,223,60,0,12,216,206,223,60,0,12,216,207,223,60,0,12,216,208,223,60,0,12,216,209,223,60,0,12,216,210,223,60,0,12,216,211,223,60,0,12,216,212,223,60,0,12,216,213,223,60,0,12,216,214,223,60,0,12,216,215,223,60,0,12,216,216,223,60,0,12,216,217,223,60,0,12,216,218,223,60,0,12,216,219,223,60,0,12,216,220,223,60,0,12,216,221,223,60,0,12,216,222,223,60,0,12,216,223,223,60,0,12,216,224,223,60,0,12,216,225,223,60,0,12,216,226,223,60,0,12,216,227,223,60,0,12,216,228,223,60,0,12,216,229,223,60,0,12,216,230,223,60,0,12,216,231,223,60,0,12,216,232,223,60,0,12,216,233,223,60,0,12,216,234,223,60,0,12,216,235,223,60,0,12,216,236,223,60,0,12,216,237,223,60,0,12,216,238,223,60,0,12,216,239,223,60,0,12,216,240,223,60,0,12,216,241,223,60,0,12,216,242,223,60,0,12,216,243,223,60,0,12,216,244,223,60,0,12,216,245,223,60,0,12,216,246,223,60,0,12,216,247,223,60,0,12,216,248,223,60,0,12,216,249,223,60,0,12,216,250,223,60,0,12,216,251,223,60,0,12,216,252,223,60,0,12,216,253,223,60,0,12,216,254,223,60,0,12,216,255,223,60,0,13,216,0,220,60,0,13,216,1,220,60,0,13,216,2,220,60,0,13,216,3,220,60,0,13,216,4,220,60,0,13,216,5,220,60,0,13,216,6,220,60,0,13,216,7,220,60,0,13,216,8,220,60,0,13,216,9,220,60,0,13,216,10,220,60,0,13,216,11,220,60,0,13,216,12,220,60,0,13,216,13,220,60,0,13,216,14,220,60,0,13,216,15,220,60,0,13,216,16,220,60,0,13,216,17,220,60,0,13,216,18,220,60,0,13,216,19,220,60,0,13,216,20,220,60,0,13,216,21,220,60,0,13,216,22,220,60,0,13,216,23,220,60,0,13,216,24,220,60,0,13,216,25,220,60,0,13,216,26,220,60,0,13,216,27,220,60,0,13,216,28,220,60,0,13,216,29,220,60,0,13,216,30,220,60,0,13,216,31,220,60,0,13,216,32,220,60,0,13,216,33,220,60,0,13,216,34,220,60,0,13,216,35,220,60,0,13,216,36,220,60,0,13,216,37,220,60,0,13,216,38,220,60,0,13,216,39,220,60,0,13,216,40,220,60,0,13,216,41,220,60,0,13,216,42,220,60,0,13,216,43,220,60,0,13,216,44,220,60,0,13,216,45,220,60,0,13,216,46,220,60,0,13,216,47,220,60,0,13,216,65,220,60,0,13,216,66,220,60,0,13,216,67,220,60,0,13,216,68,220,60,0,13,216,69,220,60,0,13,216,70,220,60,0,14,32,2,216,160,221,14,32,60,0,60,0,14,32,2,216,128,221,14,32,60,0,14,32,2,216,161,221,14,32,60,0,60,0,14,32,2,216,129,221,14,32,60,0,14,32,2,216,162,221,14,32,60,0,60,0,14,32,2,216,130,221,14,32,60,0,14,32,2,216,163,221,14,32,60,0,60,0,14,32,2,216,131,221,14,32,60,0,14,32,2,216,164,221,14,32,60,0,60,0,14,32,2,216,132,221,14,32,60,0,14,32,2,216,165,221,14,32,60,0,60,0,14,32,2,216,133,221,14,32,60,0,14,32,2,216,166,221,14,32,60,0,60,0,14,32,2,216,134,221,14,32,60,0,60,0,14,32,2,216,135,221,14,32,60,0,14,32,2,216,167,221,14,32,60,0,60,0,14,32,2,216,136,221,14,32,60,0,14,32,2,216,168,221,14,32,60,0,60,0,14,32,2,216,137,221,14,32,60,0,14,32,2,216,169,221,14,32,60,0,60,0,14,32,2,216,138,221,14,32,60,0,60,0,14,32,2,216,139,221,14,32,60,0,14,32,2,216,170,221,14,32,60,0,60,0,14,32,2,216,140,221,14,32,60,0,60,0,14,32,2,216,141,221,14,32,60,0,14,32,2,216,171,221,14,32,60,0,60,0,14,32,2,216,142,221,14,32,60,0,60,0,14,32,2,216,143,221,14,32,60,0,14,32,2,216,172,221,14,32,60,0,60,0,14,32,2,216,144,221,14,32,60,0,14,32,2,216,173,221,14,32,60,0,60,0,14,32,2,216,145,221,14,32,60,0,14,32,2,216,174,221,14,32,60,0,60,0,14,32,2,216,146,221,14,32,60,0,14,32,2,216,175,221,14,32,60,0,60,0,14,32,2,216,176,221,14,32,60,0,60,0,14,32,2,216,147,221,14,32,60,0,60,0,14,32,2,216,148,221,14,32,60,0,14,32,2,216,177,221,14,32,60,0,60,0,14,32,2,216,149,221,14,32,60,0,14,32,2,216,178,221,14,32,60,0,60,0,14,32,2,216,150,221,14,32,60,0,14,32,2,216,179,221,14,32,60,0,60,0,14,32,2,216,151,221,14,32,60,0,14,32,2,216,180,221,14,32,60,0,60,0,14,32,2,216,152,221,14,32,60,0,60,0,14,32,2,216,153,221,14,32,60,0,14,32,2,216,181,221,14,32,60,0,60,0,14,32,2,216,154,221,14,32,60,0,60,0,14,32,2,216,155,221,14,32,60,0,14,32,2,216,182,221,14,32,60,0,60,0,14,32,2,216,156,221,14,32,60,0,14,32,2,216,183,221,14,32,60,0,60,0,14,32,2,216,157,221,14,32,60,0,14,32,2,216,190,221,14,32,60,0,14,32,2,216,191,221,14,32,60,0,14,32,2,216,158,221,14,32,60,0,14,32,2,216,159,221,14,32,60,0,17,216,0,220,60,0,17,216,1,220,60,0,17,216,2,220,60,0,17,216,3,220,60,0,17,216,4,220,60,0,17,216,5,220,60,0,17,216,6,220,60,0,17,216,7,220,60,0,17,216,8,220,60,0,17,216,9,220,60,0,17,216,10,220,60,0,17,216,11,220,60,0,17,216,12,220,60,0,17,216,13,220,60,0,17,216,14,220,60,0,17,216,15,220,60,0,17,216,16,220,60,0,17,216,17,220,60,0,17,216,18,220,60,0,17,216,19,220,60,0,17,216,20,220,60,0,17,216,21,220,60,0,17,216,22,220,60,0,17,216,23,220,60,0,17,216,24,220,60,0,17,216,25,220,60,0,17,216,26,220,60,0,17,216,27,220,60,0,17,216,28,220,60,0,17,216,29,220,60,0,17,216,30,220,60,0,17,216,31,220,60,0,17,216,32,220,60,0,17,216,33,220,60,0,17,216,34,220,60,0,17,216,35,220,60,0,17,216,36,220,60,0,17,216,37,220,60,0,17,216,38,220,60,0,17,216,39,220,60,0,17,216,40,220,60,0,17,216,41,220,60,0,17,216,42,220,60,0,17,216,43,220,60,0,17,216,44,220,60,0,17,216,45,220,60,0,17,216,46,220,60,0,17,216,47,220,60,0,17,216,48,220,60,0,17,216,49,220,60,0,17,216,50,220,60,0,17,216,51,220,60,0,17,216,52,220,60,0,17,216,53,220,60,0,17,216,54,220,60,0,17,216,55,220,60,0,17,216,56,220,60,0,17,216,57,220,60,0,17,216,58,220,60,0,17,216,59,220,60,0,17,216,60,220,60,0,17,216,61,220,60,0,17,216,62,220,60,0,17,216,63,220,60,0,17,216,64,220,60,0,17,216,65,220,60,0,17,216,66,220,60,0,17,216,67,220,60,0,17,216,68,220,60,0,17,216,69,220,60,0,17,216,70,220,60,0,17,216,71,220,60,0,17,216,72,220,60,0,17,216,73,220,60,0,17,216,74,220,60,0,17,216,75,220,60,0,17,216,76,220,60,0,17,216,77,220,60,0,17,216,78,220,60,0,17,216,79,220,60,0,17,216,80,220,60,0,17,216,81,220,60,0,17,216,82,220,60,0,17,216,83,220,60,0,17,216,84,220,60,0,17,216,85,220,60,0,17,216,86,220,60,0,17,216,87,220,60,0,17,216,88,220,60,0,17,216,89,220,60,0,17,216,90,220,60,0,17,216,91,220,60,0,17,216,92,220,60,0,17,216,93,220,60,0,17,216,94,220,60,0,17,216,95,220,60,0,17,216,96,220,60,0,17,216,97,220,60,0,17,216,98,220,60,0,17,216,99,220,60,0,17,216,100,220,60,0,17,216,101,220,60,0,17,216,102,220,60,0,17,216,103,220,60,0,17,216,104,220,60,0,17,216,105,220,60,0,17,216,106,220,60,0,17,216,107,220,60,0,17,216,108,220,60,0,17,216,109,220,60,0,17,216,110,220,60,0,17,216,111,220,60,0,17,216,112,220,60,0,17,216,113,220,60,0,17,216,114,220,60,0,17,216,115,220,60,0,17,216,116,220,60,0,17,216,117,220,60,0,17,216,118,220,60,0,17,216,119,220,60,0,17,216,120,220,60,0,17,216,121,220,60,0,17,216,122,220,60,0,17,216,123,220,60,0,17,216,124,220,60,0,17,216,125,220,60,0,17,216,126,220,60,0,17,216,127,220,60,0,17,216,128,220,60,0,17,216,129,220,60,0,17,216,130,220,60,0,17,216,131,220,60,0,17,216,132,220,60,0,17,216,133,220,60,0,17,216,134,220,60,0,17,216,135,220,60,0,17,216,136,220,60,0,17,216,137,220,60,0,17,216,138,220,60,0,17,216,139,220,60,0,17,216,140,220,60,0,17,216,141,220,60,0,17,216,142,220,60,0,17,216,143,220,60,0,17,216,144,220,60,0,17,216,145,220,60,0,17,216,146,220,60,0,17,216,147,220,60,0,17,216,148,220,60,0,17,216,149,220,60,0,17,216,150,220,60,0,17,216,151,220,60,0,17,216,152,220,60,0,17,216,153,220,60,0,17,216,154,220,60,0,17,216,155,220,60,0,17,216,156,220,60,0,17,216,157,220,60,0,17,216,158,220,60,0,17,216,159,220,60,0,17,216,160,220,60,0,17,216,161,220,60,0,17,216,162,220,60,0,17,216,163,220,60,0,17,216,164,220,60,0,17,216,165,220,60,0,17,216,166,220,60,0,17,216,167,220,60,0,17,216,168,220,60,0,17,216,169,220,60,0,17,216,170,220,60,0,17,216,171,220,60,0,17,216,172,220,60,0,17,216,173,220,60,0,17,216,174,220,60,0,17,216,175,220,60,0,17,216,176,220,60,0,17,216,177,220,60,0,17,216,178,220,60,0,17,216,179,220,60,0,17,216,180,220,60,0,17,216,181,220,60,0,17,216,182,220,60,0,17,216,183,220,60,0,17,216,184,220,60,0,17,216,185,220,60,0,17,216,186,220,60,0,17,216,187,220,60,0,17,216,188,220,60,0,17,216,189,220,60,0,17,216,190,220,60,0,17,216,191,220,60,0,17,216,192,220,60,0,17,216,193,220,60,0,17,216,194,220,60,0,17,216,195,220,60,0,17,216,196,220,60,0,17,216,197,220,60,0,17,216,198,220,60,0,17,216,199,220,60,0,17,216,200,220,60,0,17,216,201,220,60,0,17,216,202,220,60,0,17,216,203,220,60,0,17,216,204,220,60,0,17,216,205,220,60,0,17,216,206,220,60,0,17,216,207,220,60,0,17,216,208,220,60,0,17,216,209,220,60,0,17,216,210,220,60,0,17,216,211,220,60,0,17,216,212,220,60,0,17,216,213,220,60,0,17,216,214,220,60,0,17,216,215,220,60,0,17,216,216,220,60,0,17,216,217,220,60,0,17,216,218,220,60,0,17,216,219,220,60,0,17,216,220,220,60,0,17,216,221,220,60,0,17,216,222,220,60,0,17,216,223,220,60,0,17,216,224,220,60,0,17,216,225,220,60,0,17,216,226,220,60,0,17,216,227,220,60,0,17,216,228,220,60,0,17,216,229,220,60,0,17,216,230,220,60,0,17,216,231,220,60,0,17,216,232,220,60,0,17,216,233,220,60,0,17,216,234,220,60,0,17,216,235,220,60,0,17,216,236,220,60,0,17,216,237,220,60,0,17,216,238,220,60,0,17,216,239,220,60,0,17,216,240,220,60,0,17,216,241,220,60,0,17,216,242,220,60,0,17,216,243,220,60,0,17,216,244,220,60,0,17,216,245,220,60,0,17,216,246,220,60,0,17,216,247,220,60,0,17,216,248,220,60,0,17,216,249,220,60,0,17,216,250,220,60,0,17,216,251,220,60,0,17,216,252,220,60,0,17,216,253,220,60,0,17,216,254,220,60,0,17,216,255,220,60,0,17,216,0,221,60,0,17,216,1,221,60,0,17,216,2,221,60,0,17,216,3,221,60,0,17,216,4,221,60,0,17,216,5,221,60,0,17,216,6,221,60,0,17,216,7,221,60,0,17,216,8,221,60,0,17,216,9,221,60,0,17,216,10,221,60,0,17,216,11,221,60,0,17,216,12,221,60,0,17,216,13,221,60,0,17,216,14,221,60,0,17,216,15,221,60,0,17,216,16,221,60,0,17,216,17,221,60,0,17,216,18,221,60,0,17,216,19,221,60,0,17,216,20,221,60,0,17,216,21,221,60,0,17,216,22,221,60,0,17,216,23,221,60,0,17,216,24,221,60,0,17,216,25,221,60,0,17,216,26,221,60,0,17,216,27,221,60,0,17,216,28,221,60,0,17,216,29,221,60,0,17,216,30,221,60,0,17,216,31,221,60,0,17,216,32,221,60,0,17,216,33,221,60,0,17,216,34,221,60,0,17,216,35,221,60,0,17,216,36,221,60,0,17,216,37,221,60,0,17,216,38,221,60,0,17,216,39,221,60,0,17,216,40,221,60,0,17,216,41,221,60,0,17,216,42,221,60,0,17,216,43,221,60,0,17,216,44,221,60,0,17,216,45,221,60,0,17,216,46,221,60,0,17,216,47,221,60,0,17,216,48,221,60,0,17,216,49,221,60,0,17,216,50,221,60,0,17,216,51,221,60,0,17,216,52,221,60,0,17,216,53,221,60,0,17,216,54,221,60,0,17,216,55,221,60,0,17,216,56,221,60,0,17,216,57,221,60,0,17,216,58,221,60,0,17,216,59,221,60,0,17,216,60,221,60,0,17,216,61,221,60,0,17,216,62,221,60,0,17,216,63,221,60,0,17,216,64,221,60,0,17,216,65,221,60,0,17,216,66,221,60,0,17,216,67,221,60,0,17,216,68,221,60,0,17,216,69,221,60,0,17,216,70,221,60,0,17,216,71,221,60,0,17,216,72,221,60,0,17,216,73,221,60,0,17,216,74,221,60,0,17,216,75,221,60,0,17,216,76,221,60,0,17,216,77,221,60,0,17,216,78,221,60,0,17,216,79,221,60,0,17,216,80,221,60,0,17,216,81,221,60,0,17,216,82,221,60,0,17,216,83,221,60,0,17,216,84,221,60,0,17,216,85,221,60,0,17,216,86,221,60,0,17,216,87,221,60,0,17,216,88,221,60,0,17,216,89,221,60,0,17,216,90,221,60,0,17,216,91,221,60,0,17,216,92,221,60,0,17,216,93,221,60,0,17,216,94,221,60,0,17,216,95,221,60,0,17,216,96,221,60,0,17,216,97,221,60,0,17,216,98,221,60,0,17,216,99,221,60,0,17,216,100,221,60,0,17,216,101,221,60,0,17,216,102,221,60,0,17,216,103,221,60,0,17,216,104,221,60,0,17,216,105,221,60,0,17,216,106,221,60,0,17,216,107,221,60,0,17,216,108,221,60,0,17,216,109,221,60,0,17,216,110,221,60,0,17,216,111,221,60,0,17,216,112,221,60,0,17,216,113,221,60,0,17,216,114,221,60,0,17,216,115,221,60,0,17,216,116,221,60,0,17,216,117,221,60,0,17,216,118,221,60,0,17,216,119,221,60,0,17,216,120,221,60,0,17,216,121,221,60,0,17,216,122,221,60,0,17,216,123,221,60,0,17,216,124,221,60,0,17,216,125,221,60,0,17,216,126,221,60,0,17,216,127,221,60,0,17,216,128,221,60,0,17,216,129,221,60,0,17,216,130,221,60,0,17,216,131,221,60,0,17,216,132,221,60,0,17,216,133,221,60,0,17,216,134,221,60,0,17,216,135,221,60,0,17,216,136,221,60,0,17,216,137,221,60,0,17,216,138,221,60,0,17,216,139,221,60,0,17,216,140,221,60,0,17,216,141,221,60,0,17,216,142,221,60,0,17,216,143,221,60,0,17,216,144,221,60,0,17,216,145,221,60,0,17,216,146,221,60,0,17,216,147,221,60,0,17,216,148,221,60,0,17,216,149,221,60,0,17,216,150,221,60,0,17,216,151,221,60,0,17,216,152,221,60,0,17,216,153,221,60,0,17,216,154,221,60,0,17,216,155,221,60,0,17,216,156,221,60,0,17,216,157,221,60,0,17,216,158,221,60,0,17,216,159,221,60,0,17,216,160,221,60,0,17,216,161,221,60,0,17,216,162,221,60,0,17,216,163,221,60,0,17,216,164,221,60,0,17,216,165,221,60,0,17,216,166,221,60,0,17,216,167,221,60,0,17,216,168,221,60,0,17,216,169,221,60,0,17,216,170,221,60,0,17,216,171,221,60,0,17,216,172,221,60,0,17,216,173,221,60,0,17,216,174,221,60,0,17,216,175,221,60,0,17,216,176,221,60,0,17,216,177,221,60,0,17,216,178,221,60,0,17,216,179,221,60,0,17,216,180,221,60,0,17,216,181,221,60,0,17,216,182,221,60,0,17,216,183,221,60,0,17,216,184,221,60,0,17,216,185,221,60,0,17,216,186,221,60,0,17,216,187,221,60,0,17,216,188,221,60,0,17,216,189,221,60,0,17,216,190,221,60,0,17,216,191,221,60,0,17,216,192,221,60,0,17,216,193,221,60,0,17,216,194,221,60,0,17,216,195,221,60,0,17,216,196,221,60,0,17,216,197,221,60,0,17,216,198,221,60,0,17,216,199,221,60,0,17,216,200,221,60,0,17,216,201,221,60,0,17,216,202,221,60,0,17,216,203,221,60,0,17,216,204,221,60,0,17,216,205,221,60,0,17,216,206,221,60,0,17,216,207,221,60,0,17,216,208,221,60,0,17,216,209,221,60,0,17,216,210,221,60,0,17,216,211,221,60,0,17,216,212,221,60,0,17,216,213,221,60,0,17,216,214,221,60,0,17,216,215,221,60,0,17,216,216,221,60,0,17,216,217,221,60,0,17,216,218,221,60,0,17,216,219,221,60,0,17,216,220,221,60,0,17,216,221,221,60,0,17,216,222,221,60,0,17,216,223,221,60,0,17,216,224,221,60,0,17,216,225,221,60,0,17,216,226,221,60,0,17,216,227,221,60,0,17,216,228,221,60,0,17,216,229,221,60,0,17,216,230,221,60,0,17,216,231,221,60,0,17,216,232,221,60,0,17,216,233,221,60,0,17,216,234,221,60,0,17,216,235,221,60,0,17,216,236,221,60,0,17,216,237,221,60,0,17,216,238,221,60,0,17,216,239,221,60,0,17,216,240,221,60,0,17,216,241,221,60,0,17,216,242,221,60,0,17,216,243,221,60,0,17,216,244,221,60,0,17,216,245,221,60,0,17,216,246,221,60,0,17,216,247,221,60,0,17,216,248,221,60,0,17,216,249,221,60,0,17,216,250,221,60,0,17,216,251,221,60,0,17,216,252,221,60,0,17,216,253,221,60,0,17,216,254,221,60,0,17,216,255,221,60,0,17,216,0,222,60,0,17,216,1,222,60,0,17,216,2,222,60,0,17,216,3,222,60,0,17,216,4,222,60,0,17,216,5,222,60,0,17,216,6,222,60,0,17,216,7,222,60,0,17,216,8,222,60,0,17,216,9,222,60,0,17,216,10,222,60,0,17,216,11,222,60,0,17,216,12,222,60,0,17,216,13,222,60,0,17,216,14,222,60,0,17,216,15,222,60,0,17,216,16,222,60,0,17,216,17,222,60,0,17,216,18,222,60,0,17,216,19,222,60,0,17,216,20,222,60,0,17,216,21,222,60,0,17,216,22,222,60,0,17,216,23,222,60,0,17,216,24,222,60,0,17,216,25,222,60,0,17,216,26,222,60,0,17,216,27,222,60,0,17,216,28,222,60,0,17,216,29,222,60,0,17,216,30,222,60,0,17,216,31,222,60,0,17,216,32,222,60,0,17,216,33,222,60,0,17,216,34,222,60,0,17,216,35,222,60,0,17,216,36,222,60,0,17,216,37,222,60,0,17,216,38,222,60,0,17,216,39,222,60,0,17,216,40,222,60,0,17,216,41,222,60,0,17,216,42,222,60,0,17,216,43,222,60,0,17,216,44,222,60,0,17,216,45,222,60,0,17,216,46,222,60,0,17,216,47,222,60,0,17,216,48,222,60,0,17,216,49,222,60,0,17,216,50,222,60,0,17,216,51,222,60,0,17,216,52,222,60,0,17,216,53,222,60,0,17,216,54,222,60,0,17,216,55,222,60,0,17,216,56,222,60,0,17,216,57,222,60,0,17,216,58,222,60,0,17,216,59,222,60,0,17,216,60,222,60,0,17,216,61,222,60,0,17,216,62,222,60,0,17,216,63,222,60,0,17,216,64,222,60,0,17,216,65,222,60,0,17,216,66,222,60,0,17,216,67,222,60,0,17,216,68,222,60,0,17,216,69,222,60,0,17,216,70,222,38,0,0,78,60,0,60,0,60,0,0,47,60,0,60,0,60,0,128,50,60,0,60,0,60,0,146,49,60,0,60,0,60,0,60,216,41,222,38,0,1,78,60,0,60,0,60,0,156,49,38,0,3,78,60,0,60,0,60,0,134,50,38,0,9,78,60,0,60,0,60,0,130,50,60,0,60,0,60,0,148,49,60,0,60,0,60,0,60,216,42,222,38,0,10,78,60,0,60,0,60,0,164,50,60,0,60,0,60,0,150,49,38,0,11,78,60,0,60,0,60,0,166,50,60,0,60,0,60,0,152,49,38,0,25,78,60,0,60,0,60,0,155,49,38,0,40,78,60,0,60,0,60,0,1,47,38,0,44,78,60,0,60,0,60,0,166,46,38,0,45,78,60,0,60,0,60,0,165,50,60,0,60,0,60,0,151,49,60,0,60,0,60,0,60,216,45,222,38,0,54,78,60,0,60,0,60,0,2,47,60,0,60,0,128,46,38,0,63,78,60,0,60,0,60,0,3,47,38,0,89,78,60,0,60,0,60,0,4,47,60,0,60,0,60,0,154,49,60,0,60,0,132,46,38,0,90,78,60,0,60,0,60,0,131,46,38,0,91,78,60,0,60,0,60,0,130,46,38,0,93,78,60,0,60,0,60,0,136,50,38,0,133,78,60,0,60,0,60,0,5,47,38,0,140,78,60,0,60,0,60,0,6,47,60,0,60,0,60,0,129,50,60,0,60,0,60,0,147,49,60,0,60,0,60,0,60,216,20,222,38,0,148,78,60,0,60,0,60,0,132,50,38,0,160,78,60,0,60,0,60,0,7,47,38,0,164,78,60,0,60,0,60,0,60,216,24,222,38,0,186,78,60,0,60,0,60,0,8,47,60,0,60,0,60,0,159,49,38,0,187,78,60,0,60,0,60,0,133,46,38,0,228,78,60,0,255,50,47,0,140,84,38,0,1,79,60,0,60,0,60,0,173,50,38,0,17,79,60,0,60,0,60,0,161,50,38,0,42,81,60,0,60,0,60,0,157,50,38,0,63,81,60,0,60,0,60,0,9,47,38,0,101,81,60,0,60,0,60,0,10,47,38,0,107,81,60,0,60,0,60,0,11,47,60,0,60,0,60,0,135,50,38,0,109,81,60,0,60,0,60,0,133,50,38,0,130,81,60,0,60,0,60,0,12,47,60,0,60,0,134,46,38,0,141,81,60,0,60,0,60,0,60,216,30,222,38,0,150,81,60,0,60,0,60,0,13,47,38,0,153,81,60,0,60,0,60,0,162,50,38,0,171,81,60,0,60,0,60,0,14,47,38,0,224,81,60,0,60,0,60,0,15,47,60,0,60,0,135,46,38,0,245,81,60,0,60,0,60,0,16,47,38,0,0,82,60,0,60,0,60,0,17,47,60,0,60,0,136,46,38,0,2,82,60,0,60,0,60,0,137,46,38,0,29,82,60,0,60,0,60,0,60,216,32,222,38,0,77,82,60,0,60,0,60,0,60,216,28,222,38,0,114,82,60,0,60,0,60,0,60,216,57,222,38,0,155,82,60,0,60,0,60,0,18,47,38,0,180,82,60,0,60,0,60,0,152,50,38,0,249,82,60,0,60,0,60,0,19,47,38,0,21,83,60,0,60,0,60,0,20,47,38,0,26,83,60,0,60,0,60,0,21,47,38,0,56,83,60,0,60,0,60,0,22,47,38,0,59,83,60,0,60,0,60,0,169,50,38,0,65,83,60,0,60,0,60,0,23,47,61,0,56,48,60,0,60,0,60,0,137,50,38,0,68,83,60,0,60,0,60,0,57,48,38,0,69,83,60,0,60,0,60,0,58,48,38,0,84,83,60,0,60,0,60,0,175,50,38,0,92,83,60,0,60,0,60,0,24,47,60,0,60,0,138,46,38,0,105,83,60,0,60,0,60,0,25,47,60,0,60,0,139,46,38,0,112,83,60,0,60,0,60,0,158,50,38,0,130,83,60,0,60,0,60,0,26,47,60,0,60,0,129,46,38,0,182,83,60,0,60,0,60,0,27,47,38,0,200,83,60,0,60,0,60,0,28,47,38,0,204,83,60,0,60,0,60,0,60,216,18,222,38,0,227,83,60,0,60,0,60,0,29,47,38,0,239,83,60,0,60,0,60,0,60,216,81,222,38,0,243,83,60,0,60,0,60,0,168,50,60,0,60,0,60,0,60,216,46,222,38,0,8,84,60,0,60,0,60,0,60,216,52,222,38,0,13,84,60,0,60,0,60,0,148,50,38,0,57,84,60,0,60,0,60,0,60,216,37,222,38,0,79,85,60,0,60,0,60,0,68,50,38,0,182,85,60,0,60,0,60,0,60,216,58,222,38,0,215,86,60,0,60,0,60,0,30,47,38,0,219,86,60,0,60,0,60,0,131,50,60,0,60,0,60,0,149,49,38,0,31,87,60,0,60,0,60,0,31,47,60,0,60,0,60,0,143,50,38,0,48,87,60,0,60,0,60,0,158,49,38,0,235,88,60,0,60,0,60,0,32,47,38,0,240,88,60,0,60,0,60,0,60,216,36,222,38,0,2,89,60,0,60,0,60,0,33,47,38,0,10,89,60,0,60,0,60,0,34,47,38,0,21,89,60,0,60,0,60,0,35,47,38,0,26,89,60,0,60,0,60,0,60,216,21,222,38,0,28,89,60,0,60,0,60,0,176,50,38,0,39,89,60,0,60,0,60,0,36,47,60,0,60,0,60,0,125,51,47,0,99,107,38,0,41,89,60,0,60,0,60,0,157,49,60,0,60,0,60,0,60,216,23,222,38,0,115,89,60,0,60,0,60,0,37,47,60,0,60,0,60,0,155,50,38,0,80,91,60,0,60,0,60,0,38,47,38,0,87,91,60,0,60,0,60,0,60,216,17,222,38,0,102,91,60,0,60,0,60,0,171,50,38,0,128,91,60,0,60,0,60,0,39,47,38,0,151,91,60,0,60,0,60,0,170,50,38,0,248,91,60,0,60,0,60,0,40,47,38,0,15,92,60,0,60,0,60,0,41,47,60,0,60,0,140,46,60,0,60,0,141,46,38,0,34,92,60,0,60,0,60,0,144,46,61,0,42,47,60,0,60,0,142,46,38,0,35,92,60,0,60,0,60,0,143,46,60,0,60,0,145,46,38,0,56,92,60,0,60,0,60,0,43,47,38,0,110,92,60,0,60,0,60,0,44,47,38,0,113,92,60,0,60,0,60,0,45,47,38,0,219,93,60,0,60,0,60,0,46,47,38,0,229,93,60,0,60,0,60,0,47,47,38,0,230,93,60,0,60,0,60,0,167,50,60,0,60,0,60,0,60,216,44,222,38,0,241,93,60,0,60,0,60,0,48,47,38,0,243,93,60,0,60,0,60,0,146,46,38,0,254,93,60,0,60,0,60,0,49,47,38,0,114,94,60,0,60,0,60,0,50,47,38,0,115,94,60,0,123,51,47,0,16,98,38,0,122,94,60,0,60,0,60,0,147,46,61,0,51,47,38,0,124,94,60,0,60,0,60,0,69,50,38,0,127,94,60,0,60,0,60,0,52,47,38,0,244,94,60,0,60,0,60,0,53,47,38,0,254,94,60,0,60,0,60,0,54,47,38,0,11,95,60,0,60,0,60,0,55,47,38,0,19,95,60,0,60,0,60,0,56,47,38,0,80,95,60,0,60,0,60,0,57,47,60,0,60,0,149,46,38,0,81,95,60,0,60,0,60,0,148,46,38,0,97,95,60,0,60,0,60,0,58,47,38,0,115,95,60,0,60,0,60,0,59,47,38,0,140,95,60,0,60,0,60,0,60,216,29,222,38,0,151,95,60,0,60,0,60,0,60,216,80,222,38,0,195,95,60,0,60,0,60,0,60,47,60,0,60,0,151,46,38,0,196,95,60,0,60,0,60,0,150,46,38,0,8,98,60,0,60,0,60,0,61,47,38,0,54,98,60,0,60,0,60,0,62,47,38,0,75,98,60,0,60,0,60,0,63,47,60,0,60,0,60,0,60,216,16,222,38,0,76,98,60,0,60,0,60,0,152,46,38,0,83,98,60,0,60,0,60,0,60,216,49,222,38,0,149,98,60,0,60,0,60,0,60,216,39,222,38,0,7,99,60,0,60,0,60,0,60,216,47,222,38,0,85,99,60,0,60,0,60,0,60,216,40,222,38,0,47,101,60,0,60,0,60,0,64,47,38,0,52,101,60,0,60,0,60,0,65,47,38,0,53,101,60,0,60,0,60,0,153,46,38,0,135,101,60,0,60,0,60,0,66,47,60,0,60,0,60,0,70,50,38,0,151,101,60,0,60,0,60,0,67,47,38,0,153,101,60,0,60,0,60,0,60,216,27,222,38,0,164,101,60,0,60,0,60,0,68,47,38,0,176,101,60,0,60,0,60,0,60,216,31,222,38,0,185,101,60,0,60,0,60,0,69,47,38,0,224,101,60,0,60,0,60,0,70,47,38,0,225,101,60,0,60,0,60,0,155,46,38,0,229,101,60,0,60,0,60,0,71,47,60,0,60,0,60,0,144,50,60,0,60,0,156,46,38,0,14,102,60,0,126,51,47,0,187,108,38,0,32,102,60,0,60,0,60,0,60,216,25,222,38,0,45,102,60,0,124,51,47,0,140,84,38,0,240,102,60,0,60,0,60,0,72,47,38,0,8,103,60,0,60,0,60,0,73,47,60,0,60,0,60,0,138,50,60,0,60,0,60,0,60,216,55,222,60,0,60,0,157,46,38,0,9,103,60,0,60,0,60,0,146,50,60,0,60,0,60,0,60,216,54,222,38,0,40,103,60,0,60,0,60,0,74,47,60,0,60,0,60,0,141,50,38,0,42,104,60,0,60,0,60,0,145,50,60,0,60,0,60,0,127,51,47,0,15,95,26,79,62,121,38,0,32,107,60,0,60,0,60,0,75,47,38,0,98,107,60,0,60,0,60,0,76,47,38,0,99,107,60,0,60,0,60,0,163,50,38,0,121,107,60,0,60,0,60,0,77,47,38,0,122,107,60,0,60,0,158,46,38,0,179,107,60,0,60,0,60,0,78,47,38,0,203,107,60,0,60,0,60,0,79,47,38,0,205,107,60,0,60,0,60,0,159,46,38,0,212,107,60,0,60,0,60,0,80,47,38,0,219,107,60,0,60,0,60,0,81,47,38,0,15,108,60,0,60,0,60,0,82,47,38,0,17,108,60,0,60,0,60,0,160,46,38,0,20,108,60,0,60,0,60,0,83,47,38,0,52,108,60,0,60,0,60,0,84,47,60,0,60,0,60,0,140,50,38,0,53,108,60,0,60,0,60,0,161,46,38,0,58,108,60,0,60,0,60,0,162,46,38,0,232,108,60,0,60,0,60,0,159,50,38,0,128,110,60,0,60,0,60,0,60,216,53,222,38,0,20,111,60,0,60,0,60,0,60,216,38,222,38,0,107,112,60,0,60,0,60,0,85,47,60,0,60,0,60,0,139,50,38,0,108,112,60,0,60,0,60,0,163,46,38,0,33,113,60,0,60,0,60,0,60,216,26,222,38,0,42,114,60,0,60,0,60,0,86,47,38,0,43,114,60,0,60,0,60,0,164,46,60,0,60,0,165,46,38,0,54,114,60,0,60,0,60,0,87,47,38,0,59,114,60,0,60,0,60,0,88,47,38,0,63,114,60,0,60,0,60,0,89,47,38,0,71,114,60,0,60,0,60,0,90,47,38,0,89,114,60,0,60,0,60,0,91,47,38,0,91,114,60,0,60,0,60,0,92,47,60,0,60,0,167,46,38,0,121,114,60,0,60,0,60,0,149,50,38,0,172,114,60,0,60,0,60,0,93,47,38,0,173,114,60,0,60,0,60,0,168,46,38,0,132,115,60,0,60,0,60,0,94,47,38,0,137,115,60,0,60,0,60,0,95,47,38,0,139,115,60,0,60,0,169,46,38,0,220,116,60,0,60,0,60,0,96,47,38,0,230,116,60,0,60,0,60,0,97,47,38,0,24,117,60,0,60,0,60,0,98,47,38,0,31,117,60,0,60,0,60,0,99,47,60,0,60,0,60,0,60,216,34,222,38,0,40,117,60,0,60,0,60,0,100,47,38,0,48,117,60,0,60,0,60,0,101,47,38,0,50,117,60,0,60,0,60,0,153,49,38,0,51,117,60,0,60,0,60,0,60,216,56,222,38,0,55,117,60,0,60,0,60,0,154,50,38,0,139,117,60,0,60,0,60,0,102,47,60,0,60,0,170,46,38,0,146,117,60,0,60,0,60,0,103,47,38,0,118,118,60,0,60,0,60,0,104,47,38,0,125,118,60,0,60,0,60,0,105,47,38,0,174,118,60,0,60,0,60,0,106,47,38,0,191,118,60,0,60,0,60,0,107,47,38,0,227,118,60,0,60,0,60,0,172,50,38,0,238,118,60,0,60,0,60,0,108,47,60,0,60,0,171,46,38,0,219,119,60,0,60,0,60,0,109,47,38,0,226,119,60,0,60,0,60,0,110,47,38,0,243,119,60,0,60,0,60,0,111,47,38,0,58,121,60,0,60,0,60,0,112,47,60,0,60,0,172,46,38,0,59,121,60,0,60,0,60,0,173,46,38,0,62,121,60,0,60,0,60,0,147,50,38,0,93,121,60,0,60,0,60,0,151,50,38,0,129,121,60,0,60,0,60,0,60,216,50,222,38,0,184,121,60,0,60,0,60,0,113,47,38,0,190,121,60,0,60,0,60,0,114,47,38,0,216,121,60,0,60,0,60,0,153,50,38,0,116,122,60,0,60,0,60,0,115,47,38,0,122,122,60,0,60,0,60,0,60,216,51,222,38,0,203,122,60,0,60,0,60,0,116,47,38,0,249,122,60,0,60,0,60,0,117,47,60,0,60,0,174,46,38,0,143,123,60,0,60,0,60,0,71,50,38,0,115,124,60,0,60,0,60,0,118,47,38,0,248,124,60,0,60,0,60,0,119,47,38,0,249,124,60,0,60,0,60,0,175,46,38,0,66,125,60,0,60,0,60,0,60,216,33,222,38,0,159,126,60,0,60,0,60,0,176,46,38,0,54,127,60,0,60,0,60,0,120,47,38,0,81,127,60,0,60,0,60,0,121,47,38,0,82,127,60,0,60,0,60,0,178,46,60,0,60,0,181,46,38,0,83,127,60,0,60,0,60,0,177,46,60,0,60,0,179,46,60,0,60,0,180,46,38,0,138,127,60,0,60,0,60,0,122,47,60,0,60,0,182,46,60,0,60,0,183,46,38,0,139,127,60,0,60,0,60,0,184,46,38,0,189,127,60,0,60,0,60,0,123,47,38,0,1,128,60,0,60,0,60,0,124,47,38,0,2,128,60,0,60,0,60,0,185,46,38,0,12,128,60,0,60,0,60,0,125,47,38,0,18,128,60,0,60,0,60,0,126,47,38,0,51,128,60,0,60,0,60,0,127,47,38,0,127,128,60,0,60,0,60,0,128,47,60,0,60,0,187,46,38,0,128,128,60,0,60,0,60,0,186,46,38,0,137,128,60,0,60,0,60,0,129,47,60,0,60,0,188,46,38,0,227,129,60,0,60,0,60,0,130,47,38,0,234,129,60,0,60,0,60,0,131,47,38,0,243,129,60,0,60,0,60,0,132,47,38,0,252,129,60,0,60,0,60,0,133,47,60,0,60,0,189,46,38,0,12,130,60,0,60,0,60,0,134,47,38,0,27,130,60,0,60,0,60,0,135,47,38,0,31,130,60,0,60,0,60,0,136,47,38,0,110,130,60,0,60,0,60,0,137,47,38,0,114,130,60,0,60,0,60,0,138,47,38,0,120,130,60,0,60,0,60,0,139,47,38,0,121,130,60,0,60,0,60,0,190,46,60,0,60,0,191,46,60,0,60,0,192,46,38,0,77,134,60,0,60,0,60,0,140,47,38,0,78,134,60,0,60,0,60,0,193,46,38,0,107,134,60,0,60,0,60,0,141,47,38,0,64,136,60,0,60,0,60,0,142,47,38,0,76,136,60,0,60,0,60,0,143,47,38,0,99,136,60,0,60,0,60,0,144,47,38,0,100,136,60,0,60,0,60,0,194,46,38,0,126,137,60,0,60,0,60,0,145,47,38,0,127,137,60,0,60,0,60,0,196,46,38,0,128,137,60,0,60,0,60,0,195,46,38,0,139,137,60,0,60,0,60,0,146,47,38,0,193,137,60,0,60,0,60,0,197,46,38,0,210,137,60,0,60,0,60,0,198,46,61,0,147,47,60,0,60,0,199,46,38,0,227,137,60,0,60,0,60,0,60,216,22,222,38,0,0,138,60,0,60,0,60,0,148,47,38,0,160,139,60,0,60,0,60,0,200,46,38,0,55,140,60,0,60,0,60,0,149,47,38,0,70,140,60,0,60,0,60,0,150,47,38,0,85,140,60,0,60,0,60,0,151,47,38,0,120,140,60,0,60,0,60,0,152,47,38,0,157,140,60,0,60,0,60,0,153,47,38,0,161,140,60,0,60,0,60,0,150,50,38,0,169,140,60,0,60,0,60,0,60,216,35,222,38,0,199,140,60,0,60,0,60,0,174,50,38,0,29,141,60,0,60,0,60,0,201,46,38,0,100,141,60,0,60,0,60,0,154,47,38,0,112,141,60,0,60,0,60,0,155,47,60,0,60,0,60,0,60,216,48,222,38,0,179,141,60,0,60,0,60,0,156,47,60,0,60,0,202,46,38,0,171,142,60,0,60,0,60,0,157,47,38,0,202,142,60,0,60,0,60,0,158,47,38,0,102,143,60,0,60,0,60,0,203,46,38,0,155,143,60,0,60,0,60,0,159,47,38,0,176,143,60,0,60,0,60,0,160,47,38,0,181,143,60,0,60,0,60,0,161,47,38,0,182,143,60,0,60,0,60,0,204,46,60,0,60,0,205,46,60,0,60,0,206,46,38,0,74,144,60,0,60,0,60,0,60,216,43,222,38,0,105,144,60,0,60,0,60,0,156,50,38,0,145,144,60,0,60,0,60,0,162,47,60,0,60,0,207,46,38,0,73,145,60,0,60,0,60,0,163,47,38,0,77,145,60,0,60,0,60,0,60,216,59,222,38,0,198,145,60,0,60,0,60,0,164,47,38,0,204,145,60,0,60,0,60,0,165,47,38,0,209,145,60,0,60,0,60,0,166,47,60,0,60,0,60,0,142,50,38,0,133,148,60,0,60,0,60,0,208,46,38,0,119,149,60,0,60,0,60,0,209,46,61,0,167,47,38,0,120,149,60,0,60,0,60,0,210,46,38,0,127,149,60,0,60,0,60,0,211,46,38,0,128,149,60,0,60,0,60,0,168,47,38,0,232,149,60,0,60,0,60,0,212,46,38,0,28,150,60,0,60,0,60,0,169,47,60,0,60,0,213,46,38,0,29,150,60,0,60,0,60,0,214,46,38,0,182,150,60,0,60,0,60,0,170,47,38,0,185,150,60,0,60,0,60,0,171,47,38,0,232,150,60,0,60,0,60,0,172,47,60,0,60,0,215,46,38,0,81,151,60,0,60,0,60,0,173,47,38,0,82,151,60,0,60,0,60,0,216,46,38,0,94,151,60,0,60,0,60,0,174,47,38,0,98,151,60,0,60,0,60,0,175,47,38,0,105,151,60,0,60,0,60,0,176,47,38,0,203,151,60,0,60,0,60,0,177,47,38,0,230,151,60,0,60,0,60,0,217,46,38,0,237,151,60,0,60,0,60,0,178,47,38,0,243,151,60,0,60,0,60,0,179,47,38,0,1,152,60,0,60,0,60,0,180,47,38,0,5,152,60,0,60,0,60,0,160,50,38,0,117,152,60,0,60,0,60,0,218,46,38,0,168,152,60,0,60,0,60,0,181,47,38,0,206,152,60,0,60,0,60,0,219,46,38,0,219,152,60,0,60,0,60,0,182,47,38,0,222,152,60,0,60,0,60,0,220,46,38,0,223,152,60,0,60,0,60,0,221,46,61,0,183,47,38,0,224,152,60,0,60,0,60,0,223,46,60,0,60,0,222,46,38,0,99,153,60,0,60,0,60,0,224,46,38,0,150,153,60,0,60,0,60,0,184,47,60,0,60,0,225,46,38,0,153,153,60,0,60,0,60,0,185,47,38,0,172,153,60,0,60,0,60,0,186,47,38,0,108,154,60,0,60,0,60,0,226,46,38,0,168,154,60,0,60,0,60,0,187,47,60,0,60,0,227,46,38,0,216,154,60,0,60,0,60,0,188,47,38,0,223,154,60,0,60,0,60,0,189,47,38,0,37,155,60,0,60,0,60,0,190,47,38,0,47,155,60,0,60,0,60,0,191,47,38,0,50,155,60,0,60,0,60,0,192,47,38,0,60,155,60,0,60,0,60,0,193,47,60,0,60,0,228,46,38,0,90,155,60,0,60,0,60,0,194,47,38,0,124,156,60,0,60,0,60,0,229,46,38,0,229,156,60,0,60,0,60,0,195,47,38,0,31,158,60,0,60,0,60,0,230,46,38,0,117,158,60,0,60,0,60,0,196,47,60,0,60,0,231,46,38,0,127,158,60,0,60,0,60,0,197,47,38,0,165,158,60,0,60,0,60,0,198,47,38,0,166,158,60,0,60,0,60,0,232,46,38,0,187,158,60,0,60,0,60,0,199,47,38,0,195,158,60,0,60,0,60,0,200,47,38,0,196,158,60,0,60,0,60,0,233,46,38,0,205,158,60,0,60,0,60,0,201,47,38,0,209,158,60,0,60,0,60,0,202,47,38,0,249,158,60,0,60,0,60,0,203,47,38,0,253,158,60,0,60,0,60,0,204,47,38,0,254,158,60,0,60,0,60,0,234,46,38,0,14,159,60,0,60,0,60,0,205,47,38,0,19,159,60,0,60,0,60,0,206,47,38,0,32,159,60,0,60,0,60,0,207,47,38,0,59,159,60,0,60,0,60,0,208,47,38,0,74,159,60,0,60,0,60,0,209,47,60,0,60,0,235,46,38,0,80,159,60,0,60,0,60,0,236,46,38,0,82,159,60,0,60,0,60,0,210,47,60,0,60,0,237,46,38,0,127,159,60,0,60,0,60,0,238,46,38,0,141,159,60,0,60,0,60,0,211,47,60,0,60,0,239,46,38,0,153,159,60,0,60,0,60,0,240,46,38,0,156,159,60,0,60,0,60,0,212,47,60,0,60,0,241,46,60,0,60,0,242,46,38,0,159,159,60,0,60,0,60,0,243,46,38,0,160,159,60,0,60,0,60,0,213,47,38,0,14,250,61,0,14,250,38,0,15,250,61,0,15,250,38,0,17,250,61,0,17,250,38,0,19,250,61,0,19,250,38,0,20,250,61,0,20,250,38,0,31,250,61,0,31,250,38,0,33,250,61,0,33,250,38,0,35,250,61,0,35,250,38,0,36,250,61,0,36,250,38,0,39,250,61,0,39,250,38,0,40,250,61,0,40,250,38,0,41,250,61,0,41,250,38,0,1,14,64,14,61,0,64,14,1,14,38,0,1,14,65,14,61,0,65,14,1,14,38,0,1,14,66,14,61,0,66,14,1,14,38,0,1,14,67,14,61,0,67,14,1,14,38,0,1,14,68,14,61,0,68,14,1,14,38,0,2,14,64,14,61,0,64,14,2,14,38,0,2,14,65,14,61,0,65,14,2,14,38,0,2,14,66,14,61,0,66,14,2,14,38,0,2,14,67,14,61,0,67,14,2,14,38,0,2,14,68,14,61,0,68,14,2,14,38,0,3,14,64,14,61,0,64,14,3,14,38,0,3,14,65,14,61,0,65,14,3,14,38,0,3,14,66,14,61,0,66,14,3,14,38,0,3,14,67,14,61,0,67,14,3,14,38,0,3,14,68,14,61,0,68,14,3,14,38,0,4,14,64,14,61,0,64,14,4,14,38,0,4,14,65,14,61,0,65,14,4,14,38,0,4,14,66,14,61,0,66,14,4,14,38,0,4,14,67,14,61,0,67,14,4,14,38,0,4,14,68,14,61,0,68,14,4,14,38,0,5,14,64,14,61,0,64,14,5,14,38,0,5,14,65,14,61,0,65,14,5,14,38,0,5,14,66,14,61,0,66,14,5,14,38,0,5,14,67,14,61,0,67,14,5,14,38,0,5,14,68,14,61,0,68,14,5,14,38,0,6,14,64,14,61,0,64,14,6,14,38,0,6,14,65,14,61,0,65,14,6,14,38,0,6,14,66,14,61,0,66,14,6,14,38,0,6,14,67,14,61,0,67,14,6,14,38,0,6,14,68,14,61,0,68,14,6,14,38,0,7,14,64,14,61,0,64,14,7,14,38,0,7,14,65,14,61,0,65,14,7,14,38,0,7,14,66,14,61,0,66,14,7,14,38,0,7,14,67,14,61,0,67,14,7,14,38,0,7,14,68,14,61,0,68,14,7,14,38,0,8,14,64,14,61,0,64,14,8,14,38,0,8,14,65,14,61,0,65,14,8,14,38,0,8,14,66,14,61,0,66,14,8,14,38,0,8,14,67,14,61,0,67,14,8,14,38,0,8,14,68,14,61,0,68,14,8,14,38,0,9,14,64,14,61,0,64,14,9,14,38,0,9,14,65,14,61,0,65,14,9,14,38,0,9,14,66,14,61,0,66,14,9,14,38,0,9,14,67,14,61,0,67,14,9,14,38,0,9,14,68,14,61,0,68,14,9,14,38,0,10,14,64,14,61,0,64,14,10,14,38,0,10,14,65,14,61,0,65,14,10,14,38,0,10,14,66,14,61,0,66,14,10,14,38,0,10,14,67,14,61,0,67,14,10,14,38,0,10,14,68,14,61,0,68,14,10,14,38,0,11,14,64,14,61,0,64,14,11,14,38,0,11,14,65,14,61,0,65,14,11,14,38,0,11,14,66,14,61,0,66,14,11,14,38,0,11,14,67,14,61,0,67,14,11,14,38,0,11,14,68,14,61,0,68,14,11,14,38,0,12,14,64,14,61,0,64,14,12,14,38,0,12,14,65,14,61,0,65,14,12,14,38,0,12,14,66,14,61,0,66,14,12,14,38,0,12,14,67,14,61,0,67,14,12,14,38,0,12,14,68,14,61,0,68,14,12,14,38,0,13,14,64,14,61,0,64,14,13,14,38,0,13,14,65,14,61,0,65,14,13,14,38,0,13,14,66,14,61,0,66,14,13,14,38,0,13,14,67,14,61,0,67,14,13,14,38,0,13,14,68,14,61,0,68,14,13,14,38,0,14,14,64,14,61,0,64,14,14,14,38,0,14,14,65,14,61,0,65,14,14,14,38,0,14,14,66,14,61,0,66,14,14,14,38,0,14,14,67,14,61,0,67,14,14,14,38,0,14,14,68,14,61,0,68,14,14,14,38,0,15,14,64,14,61,0,64,14,15,14,38,0,15,14,65,14,61,0,65,14,15,14,38,0,15,14,66,14,61,0,66,14,15,14,38,0,15,14,67,14,61,0,67,14,15,14,38,0,15,14,68,14,61,0,68,14,15,14,38,0,16,14,64,14,61,0,64,14,16,14,38,0,16,14,65,14,61,0,65,14,16,14,38,0,16,14,66,14,61,0,66,14,16,14,38,0,16,14,67,14,61,0,67,14,16,14,38,0,16,14,68,14,61,0,68,14,16,14,38,0,17,14,64,14,61,0,64,14,17,14,38,0,17,14,65,14,61,0,65,14,17,14,38,0,17,14,66,14,61,0,66,14,17,14,38,0,17,14,67,14,61,0,67,14,17,14,38,0,17,14,68,14,61,0,68,14,17,14,38,0,18,14,64,14,61,0,64,14,18,14,38,0,18,14,65,14,61,0,65,14,18,14,38,0,18,14,66,14,61,0,66,14,18,14,38,0,18,14,67,14,61,0,67,14,18,14,38,0,18,14,68,14,61,0,68,14,18,14,38,0,19,14,64,14,61,0,64,14,19,14,38,0,19,14,65,14,61,0,65,14,19,14,38,0,19,14,66,14,61,0,66,14,19,14,38,0,19,14,67,14,61,0,67,14,19,14,38,0,19,14,68,14,61,0,68,14,19,14,38,0,20,14,64,14,61,0,64,14,20,14,38,0,20,14,65,14,61,0,65,14,20,14,38,0,20,14,66,14,61,0,66,14,20,14,38,0,20,14,67,14,61,0,67,14,20,14,38,0,20,14,68,14,61,0,68,14,20,14,38,0,21,14,64,14,61,0,64,14,21,14,38,0,21,14,65,14,61,0,65,14,21,14,38,0,21,14,66,14,61,0,66,14,21,14,38,0,21,14,67,14,61,0,67,14,21,14,38,0,21,14,68,14,61,0,68,14,21,14,38,0,22,14,64,14,61,0,64,14,22,14,38,0,22,14,65,14,61,0,65,14,22,14,38,0,22,14,66,14,61,0,66,14,22,14,38,0,22,14,67,14,61,0,67,14,22,14,38,0,22,14,68,14,61,0,68,14,22,14,38,0,23,14,64,14,61,0,64,14,23,14,38,0,23,14,65,14,61,0,65,14,23,14,38,0,23,14,66,14,61,0,66,14,23,14,38,0,23,14,67,14,61,0,67,14,23,14,38,0,23,14,68,14,61,0,68,14,23,14,38,0,24,14,64,14,61,0,64,14,24,14,38,0,24,14,65,14,61,0,65,14,24,14,38,0,24,14,66,14,61,0,66,14,24,14,38,0,24,14,67,14,61,0,67,14,24,14,38,0,24,14,68,14,61,0,68,14,24,14,38,0,25,14,64,14,61,0,64,14,25,14,38,0,25,14,65,14,61,0,65,14,25,14,38,0,25,14,66,14,61,0,66,14,25,14,38,0,25,14,67,14,61,0,67,14,25,14,38,0,25,14,68,14,61,0,68,14,25,14,38,0,26,14,64,14,61,0,64,14,26,14,38,0,26,14,65,14,61,0,65,14,26,14,38,0,26,14,66,14,61,0,66,14,26,14,38,0,26,14,67,14,61,0,67,14,26,14,38,0,26,14,68,14,61,0,68,14,26,14,38,0,27,14,64,14,61,0,64,14,27,14,38,0,27,14,65,14,61,0,65,14,27,14,38,0,27,14,66,14,61,0,66,14,27,14,38,0,27,14,67,14,61,0,67,14,27,14,38,0,27,14,68,14,61,0,68,14,27,14,38,0,28,14,64,14,61,0,64,14,28,14,38,0,28,14,65,14,61,0,65,14,28,14,38,0,28,14,66,14,61,0,66,14,28,14,38,0,28,14,67,14,61,0,67,14,28,14,38,0,28,14,68,14,61,0,68,14,28,14,38,0,29,14,64,14,61,0,64,14,29,14,38,0,29,14,65,14,61,0,65,14,29,14,38,0,29,14,66,14,61,0,66,14,29,14,38,0,29,14,67,14,61,0,67,14,29,14,38,0,29,14,68,14,61,0,68,14,29,14,38,0,30,14,64,14,61,0,64,14,30,14,38,0,30,14,65,14,61,0,65,14,30,14,38,0,30,14,66,14,61,0,66,14,30,14,38,0,30,14,67,14,61,0,67,14,30,14,38,0,30,14,68,14,61,0,68,14,30,14,38,0,31,14,64,14,61,0,64,14,31,14,38,0,31,14,65,14,61,0,65,14,31,14,38,0,31,14,66,14,61,0,66,14,31,14,38,0,31,14,67,14,61,0,67,14,31,14,38,0,31,14,68,14,61,0,68,14,31,14,38,0,32,14,64,14,61,0,64,14,32,14,38,0,32,14,65,14,61,0,65,14,32,14,38,0,32,14,66,14,61,0,66,14,32,14,38,0,32,14,67,14,61,0,67,14,32,14,38,0,32,14,68,14,61,0,68,14,32,14,38,0,33,14,64,14,61,0,64,14,33,14,38,0,33,14,65,14,61,0,65,14,33,14,38,0,33,14,66,14,61,0,66,14,33,14,38,0,33,14,67,14,61,0,67,14,33,14,38,0,33,14,68,14,61,0,68,14,33,14,38,0,34,14,64,14,61,0,64,14,34,14,38,0,34,14,65,14,61,0,65,14,34,14,38,0,34,14,66,14,61,0,66,14,34,14,38,0,34,14,67,14,61,0,67,14,34,14,38,0,34,14,68,14,61,0,68,14,34,14,38,0,35,14,64,14,61,0,64,14,35,14,38,0,35,14,65,14,61,0,65,14,35,14,38,0,35,14,66,14,61,0,66,14,35,14,38,0,35,14,67,14,61,0,67,14,35,14,38,0,35,14,68,14,61,0,68,14,35,14,38,0,36,14,64,14,61,0,64,14,36,14,38,0,36,14,65,14,61,0,65,14,36,14,38,0,36,14,66,14,61,0,66,14,36,14,38,0,36,14,67,14,61,0,67,14,36,14,38,0,36,14,68,14,61,0,68,14,36,14,38,0,37,14,64,14,61,0,64,14,37,14,38,0,37,14,65,14,61,0,65,14,37,14,38,0,37,14,66,14,61,0,66,14,37,14,38,0,37,14,67,14,61,0,67,14,37,14,38,0,37,14,68,14,61,0,68,14,37,14,38,0,38,14,64,14,61,0,64,14,38,14,38,0,38,14,65,14,61,0,65,14,38,14,38,0,38,14,66,14,61,0,66,14,38,14,38,0,38,14,67,14,61,0,67,14,38,14,38,0,38,14,68,14,61,0,68,14,38,14,38,0,39,14,64,14,61,0,64,14,39,14,38,0,39,14,65,14,61,0,65,14,39,14,38,0,39,14,66,14,61,0,66,14,39,14,38,0,39,14,67,14,61,0,67,14,39,14,38,0,39,14,68,14,61,0,68,14,39,14,38,0,40,14,64,14,61,0,64,14,40,14,38,0,40,14,65,14,61,0,65,14,40,14,38,0,40,14,66,14,61,0,66,14,40,14,38,0,40,14,67,14,61,0,67,14,40,14,38,0,40,14,68,14,61,0,68,14,40,14,38,0,41,14,64,14,61,0,64,14,41,14,38,0,41,14,65,14,61,0,65,14,41,14,38,0,41,14,66,14,61,0,66,14,41,14,38,0,41,14,67,14,61,0,67,14,41,14,38,0,41,14,68,14,61,0,68,14,41,14,38,0,42,14,64,14,61,0,64,14,42,14,38,0,42,14,65,14,61,0,65,14,42,14,38,0,42,14,66,14,61,0,66,14,42,14,38,0,42,14,67,14,61,0,67,14,42,14,38,0,42,14,68,14,61,0,68,14,42,14,38,0,43,14,64,14,61,0,64,14,43,14,38,0,43,14,65,14,61,0,65,14,43,14,38,0,43,14,66,14,61,0,66,14,43,14,38,0,43,14,67,14,61,0,67,14,43,14,38,0,43,14,68,14,61,0,68,14,43,14,38,0,44,14,64,14,61,0,64,14,44,14,38,0,44,14,65,14,61,0,65,14,44,14,38,0,44,14,66,14,61,0,66,14,44,14,38,0,44,14,67,14,61,0,67,14,44,14,38,0,44,14,68,14,61,0,68,14,44,14,38,0,45,14,64,14,61,0,64,14,45,14,38,0,45,14,65,14,61,0,65,14,45,14,38,0,45,14,66,14,61,0,66,14,45,14,38,0,45,14,67,14,61,0,67,14,45,14,38,0,45,14,68,14,61,0,68,14,45,14,38,0,46,14,64,14,61,0,64,14,46,14,38,0,46,14,65,14,61,0,65,14,46,14,38,0,46,14,66,14,61,0,66,14,46,14,38,0,46,14,67,14,61,0,67,14,46,14,38,0,46,14,68,14,61,0,68,14,46,14,38,0,222,14,192,14,61,0,192,14,222,14,38,0,222,14,193,14,61,0,193,14,222,14,38,0,222,14,194,14,61,0,194,14,222,14,38,0,222,14,195,14,61,0,195,14,222,14,38,0,222,14,196,14,61,0,196,14,222,14,38,0,129,14,192,14,61,0,192,14,129,14,38,0,129,14,193,14,61,0,193,14,129,14,38,0,129,14,194,14,61,0,194,14,129,14,38,0,129,14,195,14,61,0,195,14,129,14,38,0,129,14,196,14,61,0,196,14,129,14,38,0,130,14,192,14,61,0,192,14,130,14,38,0,130,14,193,14,61,0,193,14,130,14,38,0,130,14,194,14,61,0,194,14,130,14,38,0,130,14,195,14,61,0,195,14,130,14,38,0,130,14,196,14,61,0,196,14,130,14,38,0,132,14,192,14,61,0,192,14,132,14,38,0,132,14,193,14,61,0,193,14,132,14,38,0,132,14,194,14,61,0,194,14,132,14,38,0,132,14,195,14,61,0,195,14,132,14,38,0,132,14,196,14,61,0,196,14,132,14,38,0,134,14,192,14,61,0,192,14,134,14,38,0,134,14,193,14,61,0,193,14,134,14,38,0,134,14,194,14,61,0,194,14,134,14,38,0,134,14,195,14,61,0,195,14,134,14,38,0,134,14,196,14,61,0,196,14,134,14,38,0,135,14,192,14,61,0,192,14,135,14,38,0,135,14,193,14,61,0,193,14,135,14,38,0,135,14,194,14,61,0,194,14,135,14,38,0,135,14,195,14,61,0,195,14,135,14,38,0,135,14,196,14,61,0,196,14,135,14,38,0,136,14,192,14,61,0,192,14,136,14,38,0,136,14,193,14,61,0,193,14,136,14,38,0,136,14,194,14,61,0,194,14,136,14,38,0,136,14,195,14,61,0,195,14,136,14,38,0,136,14,196,14,61,0,196,14,136,14,38,0,137,14,192,14,61,0,192,14,137,14,38,0,137,14,193,14,61,0,193,14,137,14,38,0,137,14,194,14,61,0,194,14,137,14,38,0,137,14,195,14,61,0,195,14,137,14,38,0,137,14,196,14,61,0,196,14,137,14,38,0,170,14,192,14,61,0,192,14,170,14,38,0,170,14,193,14,61,0,193,14,170,14,38,0,170,14,194,14,61,0,194,14,170,14,38,0,170,14,195,14,61,0,195,14,170,14,38,0,170,14,196,14,61,0,196,14,170,14,38,0,138,14,192,14,61,0,192,14,138,14,38,0,138,14,193,14,61,0,193,14,138,14,38,0,138,14,194,14,61,0,194,14,138,14,38,0,138,14,195,14,61,0,195,14,138,14,38,0,138,14,196,14,61,0,196,14,138,14,38,0,140,14,192,14,61,0,192,14,140,14,38,0,140,14,193,14,61,0,193,14,140,14,38,0,140,14,194,14,61,0,194,14,140,14,38,0,140,14,195,14,61,0,195,14,140,14,38,0,140,14,196,14,61,0,196,14,140,14,38,0,142,14,192,14,61,0,192,14,142,14,38,0,142,14,193,14,61,0,193,14,142,14,38,0,142,14,194,14,61,0,194,14,142,14,38,0,142,14,195,14,61,0,195,14,142,14,38,0,142,14,196,14,61,0,196,14,142,14,38,0,223,14,192,14,61,0,192,14,223,14,38,0,223,14,193,14,61,0,193,14,223,14,38,0,223,14,194,14,61,0,194,14,223,14,38,0,223,14,195,14,61,0,195,14,223,14,38,0,223,14,196,14,61,0,196,14,223,14,38,0,141,14,192,14,61,0,192,14,141,14,38,0,141,14,193,14,61,0,193,14,141,14,38,0,141,14,194,14,61,0,194,14,141,14,38,0,141,14,195,14,61,0,195,14,141,14,38,0,141,14,196,14,61,0,196,14,141,14,38,0,143,14,192,14,61,0,192,14,143,14,38,0,143,14,193,14,61,0,193,14,143,14,38,0,143,14,194,14,61,0,194,14,143,14,38,0,143,14,195,14,61,0,195,14,143,14,38,0,143,14,196,14,61,0,196,14,143,14,38,0,144,14,192,14,61,0,192,14,144,14,38,0,144,14,193,14,61,0,193,14,144,14,38,0,144,14,194,14,61,0,194,14,144,14,38,0,144,14,195,14,61,0,195,14,144,14,38,0,144,14,196,14,61,0,196,14,144,14,38,0,145,14,192,14,61,0,192,14,145,14,38,0,145,14,193,14,61,0,193,14,145,14,38,0,145,14,194,14,61,0,194,14,145,14,38,0,145,14,195,14,61,0,195,14,145,14,38,0,145,14,196,14,61,0,196,14,145,14,38,0,146,14,192,14,61,0,192,14,146,14,38,0,146,14,193,14,61,0,193,14,146,14,38,0,146,14,194,14,61,0,194,14,146,14,38,0,146,14,195,14,61,0,195,14,146,14,38,0,146,14,196,14,61,0,196,14,146,14,38,0,147,14,192,14,61,0,192,14,147,14,38,0,147,14,193,14,61,0,193,14,147,14,38,0,147,14,194,14,61,0,194,14,147,14,38,0,147,14,195,14,61,0,195,14,147,14,38,0,147,14,196,14,61,0,196,14,147,14,38,0,148,14,192,14,61,0,192,14,148,14,38,0,148,14,193,14,61,0,193,14,148,14,38,0,148,14,194,14,61,0,194,14,148,14,38,0,148,14,195,14,61,0,195,14,148,14,38,0,148,14,196,14,61,0,196,14,148,14,38,0,149,14,192,14,61,0,192,14,149,14,38,0,149,14,193,14,61,0,193,14,149,14,38,0,149,14,194,14,61,0,194,14,149,14,38,0,149,14,195,14,61,0,195,14,149,14,38,0,149,14,196,14,61,0,196,14,149,14,38,0,150,14,192,14,61,0,192,14,150,14,38,0,150,14,193,14,61,0,193,14,150,14,38,0,150,14,194,14,61,0,194,14,150,14,38,0,150,14,195,14,61,0,195,14,150,14,38,0,150,14,196,14,61,0,196,14,150,14,38,0,151,14,192,14,61,0,192,14,151,14,38,0,151,14,193,14,61,0,193,14,151,14,38,0,151,14,194,14,61,0,194,14,151,14,38,0,151,14,195,14,61,0,195,14,151,14,38,0,151,14,196,14,61,0,196,14,151,14,38,0,152,14,192,14,61,0,192,14,152,14,38,0,152,14,193,14,61,0,193,14,152,14,38,0,152,14,194,14,61,0,194,14,152,14,38,0,152,14,195,14,61,0,195,14,152,14,38,0,152,14,196,14,61,0,196,14,152,14,38,0,153,14,192,14,61,0,192,14,153,14,38,0,153,14,193,14,61,0,193,14,153,14,38,0,153,14,194,14,61,0,194,14,153,14,38,0,153,14,195,14,61,0,195,14,153,14,38,0,153,14,196,14,61,0,196,14,153,14,38,0,154,14,192,14,61,0,192,14,154,14,38,0,154,14,193,14,61,0,193,14,154,14,38,0,154,14,194,14,61,0,194,14,154,14,38,0,154,14,195,14,61,0,195,14,154,14,38,0,154,14,196,14,61,0,196,14,154,14,38,0,155,14,192,14,61,0,192,14,155,14,38,0,155,14,193,14,61,0,193,14,155,14,38,0,155,14,194,14,61,0,194,14,155,14,38,0,155,14,195,14,61,0,195,14,155,14,38,0,155,14,196,14,61,0,196,14,155,14,38,0,156,14,192,14,61,0,192,14,156,14,38,0,156,14,193,14,61,0,193,14,156,14,38,0,156,14,194,14,61,0,194,14,156,14,38,0,156,14,195,14,61,0,195,14,156,14,38,0,156,14,196,14,61,0,196,14,156,14,38,0,157,14,192,14,61,0,192,14,157,14,38,0,157,14,193,14,61,0,193,14,157,14,38,0,157,14,194,14,61,0,194,14,157,14,38,0,157,14,195,14,61,0,195,14,157,14,38,0,157,14,196,14,61,0,196,14,157,14,38,0,158,14,192,14,61,0,192,14,158,14,38,0,158,14,193,14,61,0,193,14,158,14,38,0,158,14,194,14,61,0,194,14,158,14,38,0,158,14,195,14,61,0,195,14,158,14,38,0,158,14,196,14,61,0,196,14,158,14,38,0,159,14,192,14,61,0,192,14,159,14,38,0,159,14,193,14,61,0,193,14,159,14,38,0,159,14,194,14,61,0,194,14,159,14,38,0,159,14,195,14,61,0,195,14,159,14,38,0,159,14,196,14,61,0,196,14,159,14,38,0,160,14,192,14,61,0,192,14,160,14,38,0,160,14,193,14,61,0,193,14,160,14,38,0,160,14,194,14,61,0,194,14,160,14,38,0,160,14,195,14,61,0,195,14,160,14,38,0,160,14,196,14,61,0,196,14,160,14,38,0,161,14,192,14,61,0,192,14,161,14,38,0,161,14,193,14,61,0,193,14,161,14,38,0,161,14,194,14,61,0,194,14,161,14,38,0,161,14,195,14,61,0,195,14,161,14,38,0,161,14,196,14,61,0,196,14,161,14,38,0,162,14,192,14,61,0,192,14,162,14,38,0,162,14,193,14,61,0,193,14,162,14,38,0,162,14,194,14,61,0,194,14,162,14,38,0,162,14,195,14,61,0,195,14,162,14,38,0,162,14,196,14,61,0,196,14,162,14,38,0,163,14,192,14,61,0,192,14,163,14,38,0,163,14,193,14,61,0,193,14,163,14,38,0,163,14,194,14,61,0,194,14,163,14,38,0,163,14,195,14,61,0,195,14,163,14,38,0,163,14,196,14,61,0,196,14,163,14,38,0,165,14,192,14,61,0,192,14,165,14,38,0,165,14,193,14,61,0,193,14,165,14,38,0,165,14,194,14,61,0,194,14,165,14,38,0,165,14,195,14,61,0,195,14,165,14,38,0,165,14,196,14,61,0,196,14,165,14,38,0,167,14,192,14,61,0,192,14,167,14,38,0,167,14,193,14,61,0,193,14,167,14,38,0,167,14,194,14,61,0,194,14,167,14,38,0,167,14,195,14,61,0,195,14,167,14,38,0,167,14,196,14,61,0,196,14,167,14,38,0,168,14,192,14,61,0,192,14,168,14,38,0,168,14,193,14,61,0,193,14,168,14,38,0,168,14,194,14,61,0,194,14,168,14,38,0,168,14,195,14,61,0,195,14,168,14,38,0,168,14,196,14,61,0,196,14,168,14,38,0,169,14,192,14,61,0,192,14,169,14,38,0,169,14,193,14,61,0,193,14,169,14,38,0,169,14,194,14,61,0,194,14,169,14,38,0,169,14,195,14,61,0,195,14,169,14,38,0,169,14,196,14,61,0,196,14,169,14,38,0,171,14,192,14,61,0,192,14,171,14,38,0,171,14,193,14,61,0,193,14,171,14,38,0,171,14,194,14,61,0,194,14,171,14,38,0,171,14,195,14,61,0,195,14,171,14,38,0,171,14,196,14,61,0,196,14,171,14,38,0,220,14,192,14,61,0,192,14,220,14,38,0,220,14,193,14,61,0,193,14,220,14,38,0,220,14,194,14,61,0,194,14,220,14,38,0,220,14,195,14,61,0,195,14,220,14,38,0,220,14,196,14,61,0,196,14,220,14,38,0,221,14,192,14,61,0,192,14,221,14,38,0,221,14,193,14,61,0,193,14,221,14,38,0,221,14,194,14,61,0,194,14,221,14,38,0,221,14,195,14,61,0,195,14,221,14,38,0,221,14,196,14,61,0,196,14,221,14,38,0,172,14,192,14,61,0,192,14,172,14,38,0,172,14,193,14,61,0,193,14,172,14,38,0,172,14,194,14,61,0,194,14,172,14,38,0,172,14,195,14,61,0,195,14,172,14,38,0,172,14,196,14,61,0,196,14,172,14,38,0,173,14,192,14,61,0,192,14,173,14,38,0,173,14,193,14,61,0,193,14,173,14,38,0,173,14,194,14,61,0,194,14,173,14,38,0,173,14,195,14,61,0,195,14,173,14,38,0,173,14,196,14,61,0,196,14,173,14,38,0,174,14,192,14,61,0,192,14,174,14,38,0,174,14,193,14,61,0,193,14,174,14,38,0,174,14,194,14,61,0,194,14,174,14,38,0,174,14,195,14,61,0,195,14,174,14,38,0,174,14,196,14,61,0,196,14,174,14,38,0,128,170,181,170,61,0,181,170,128,170,38,0,128,170,182,170,61,0,182,170,128,170,38,0,128,170,185,170,61,0,185,170,128,170,38,0,128,170,187,170,61,0,187,170,128,170,38,0,128,170,188,170,61,0,188,170,128,170,38,0,129,170,181,170,61,0,181,170,129,170,38,0,129,170,182,170,61,0,182,170,129,170,38,0,129,170,185,170,61,0,185,170,129,170,38,0,129,170,187,170,61,0,187,170,129,170,38,0,129,170,188,170,61,0,188,170,129,170,38,0,130,170,181,170,61,0,181,170,130,170,38,0,130,170,182,170,61,0,182,170,130,170,38,0,130,170,185,170,61,0,185,170,130,170,38,0,130,170,187,170,61,0,187,170,130,170,38,0,130,170,188,170,61,0,188,170,130,170,38,0,131,170,181,170,61,0,181,170,131,170,38,0,131,170,182,170,61,0,182,170,131,170,38,0,131,170,185,170,61,0,185,170,131,170,38,0,131,170,187,170,61,0,187,170,131,170,38,0,131,170,188,170,61,0,188,170,131,170,38,0,132,170,181,170,61,0,181,170,132,170,38,0,132,170,182,170,61,0,182,170,132,170,38,0,132,170,185,170,61,0,185,170,132,170,38,0,132,170,187,170,61,0,187,170,132,170,38,0,132,170,188,170,61,0,188,170,132,170,38,0,133,170,181,170,61,0,181,170,133,170,38,0,133,170,182,170,61,0,182,170,133,170,38,0,133,170,185,170,61,0,185,170,133,170,38,0,133,170,187,170,61,0,187,170,133,170,38,0,133,170,188,170,61,0,188,170,133,170,38,0,134,170,181,170,61,0,181,170,134,170,38,0,134,170,182,170,61,0,182,170,134,170,38,0,134,170,185,170,61,0,185,170,134,170,38,0,134,170,187,170,61,0,187,170,134,170,38,0,134,170,188,170,61,0,188,170,134,170,38,0,135,170,181,170,61,0,181,170,135,170,38,0,135,170,182,170,61,0,182,170,135,170,38,0,135,170,185,170,61,0,185,170,135,170,38,0,135,170,187,170,61,0,187,170,135,170,38,0,135,170,188,170,61,0,188,170,135,170,38,0,136,170,181,170,61,0,181,170,136,170,38,0,136,170,182,170,61,0,182,170,136,170,38,0,136,170,185,170,61,0,185,170,136,170,38,0,136,170,187,170,61,0,187,170,136,170,38,0,136,170,188,170,61,0,188,170,136,170,38,0,137,170,181,170,61,0,181,170,137,170,38,0,137,170,182,170,61,0,182,170,137,170,38,0,137,170,185,170,61,0,185,170,137,170,38,0,137,170,187,170,61,0,187,170,137,170,38,0,137,170,188,170,61,0,188,170,137,170,38,0,138,170,181,170,61,0,181,170,138,170,38,0,138,170,182,170,61,0,182,170,138,170,38,0,138,170,185,170,61,0,185,170,138,170,38,0,138,170,187,170,61,0,187,170,138,170,38,0,138,170,188,170,61,0,188,170,138,170,38,0,139,170,181,170,61,0,181,170,139,170,38,0,139,170,182,170,61,0,182,170,139,170,38,0,139,170,185,170,61,0,185,170,139,170,38,0,139,170,187,170,61,0,187,170,139,170,38,0,139,170,188,170,61,0,188,170,139,170,38,0,140,170,181,170,61,0,181,170,140,170,38,0,140,170,182,170,61,0,182,170,140,170,38,0,140,170,185,170,61,0,185,170,140,170,38,0,140,170,187,170,61,0,187,170,140,170,38,0,140,170,188,170,61,0,188,170,140,170,38,0,141,170,181,170,61,0,181,170,141,170,38,0,141,170,182,170,61,0,182,170,141,170,38,0,141,170,185,170,61,0,185,170,141,170,38,0,141,170,187,170,61,0,187,170,141,170,38,0,141,170,188,170,61,0,188,170,141,170,38,0,142,170,181,170,61,0,181,170,142,170,38,0,142,170,182,170,61,0,182,170,142,170,38,0,142,170,185,170,61,0,185,170,142,170,38,0,142,170,187,170,61,0,187,170,142,170,38,0,142,170,188,170,61,0,188,170,142,170,38,0,143,170,181,170,61,0,181,170,143,170,38,0,143,170,182,170,61,0,182,170,143,170,38,0,143,170,185,170,61,0,185,170,143,170,38,0,143,170,187,170,61,0,187,170,143,170,38,0,143,170,188,170,61,0,188,170,143,170,38,0,144,170,181,170,61,0,181,170,144,170,38,0,144,170,182,170,61,0,182,170,144,170,38,0,144,170,185,170,61,0,185,170,144,170,38,0,144,170,187,170,61,0,187,170,144,170,38,0,144,170,188,170,61,0,188,170,144,170,38,0,145,170,181,170,61,0,181,170,145,170,38,0,145,170,182,170,61,0,182,170,145,170,38,0,145,170,185,170,61,0,185,170,145,170,38,0,145,170,187,170,61,0,187,170,145,170,38,0,145,170,188,170,61,0,188,170,145,170,38,0,146,170,181,170,61,0,181,170,146,170,38,0,146,170,182,170,61,0,182,170,146,170,38,0,146,170,185,170,61,0,185,170,146,170,38,0,146,170,187,170,61,0,187,170,146,170,38,0,146,170,188,170,61,0,188,170,146,170,38,0,147,170,181,170,61,0,181,170,147,170,38,0,147,170,182,170,61,0,182,170,147,170,38,0,147,170,185,170,61,0,185,170,147,170,38,0,147,170,187,170,61,0,187,170,147,170,38,0,147,170,188,170,61,0,188,170,147,170,38,0,148,170,181,170,61,0,181,170,148,170,38,0,148,170,182,170,61,0,182,170,148,170,38,0,148,170,185,170,61,0,185,170,148,170,38,0,148,170,187,170,61,0,187,170,148,170,38,0,148,170,188,170,61,0,188,170,148,170,38,0,149,170,181,170,61,0,181,170,149,170,38,0,149,170,182,170,61,0,182,170,149,170,38,0,149,170,185,170,61,0,185,170,149,170,38,0,149,170,187,170,61,0,187,170,149,170,38,0,149,170,188,170,61,0,188,170,149,170,38,0,150,170,181,170,61,0,181,170,150,170,38,0,150,170,182,170,61,0,182,170,150,170,38,0,150,170,185,170,61,0,185,170,150,170,38,0,150,170,187,170,61,0,187,170,150,170,38,0,150,170,188,170,61,0,188,170,150,170,38,0,151,170,181,170,61,0,181,170,151,170,38,0,151,170,182,170,61,0,182,170,151,170,38,0,151,170,185,170,61,0,185,170,151,170,38,0,151,170,187,170,61,0,187,170,151,170,38,0,151,170,188,170,61,0,188,170,151,170,38,0,152,170,181,170,61,0,181,170,152,170,38,0,152,170,182,170,61,0,182,170,152,170,38,0,152,170,185,170,61,0,185,170,152,170,38,0,152,170,187,170,61,0,187,170,152,170,38,0,152,170,188,170,61,0,188,170,152,170,38,0,153,170,181,170,61,0,181,170,153,170,38,0,153,170,182,170,61,0,182,170,153,170,38,0,153,170,185,170,61,0,185,170,153,170,38,0,153,170,187,170,61,0,187,170,153,170,38,0,153,170,188,170,61,0,188,170,153,170,38,0,154,170,181,170,61,0,181,170,154,170,38,0,154,170,182,170,61,0,182,170,154,170,38,0,154,170,185,170,61,0,185,170,154,170,38,0,154,170,187,170,61,0,187,170,154,170,38,0,154,170,188,170,61,0,188,170,154,170,38,0,155,170,181,170,61,0,181,170,155,170,38,0,155,170,182,170,61,0,182,170,155,170,38,0,155,170,185,170,61,0,185,170,155,170,38,0,155,170,187,170,61,0,187,170,155,170,38,0,155,170,188,170,61,0,188,170,155,170,38,0,156,170,181,170,61,0,181,170,156,170,38,0,156,170,182,170,61,0,182,170,156,170,38,0,156,170,185,170,61,0,185,170,156,170,38,0,156,170,187,170,61,0,187,170,156,170,38,0,156,170,188,170,61,0,188,170,156,170,38,0,157,170,181,170,61,0,181,170,157,170,38,0,157,170,182,170,61,0,182,170,157,170,38,0,157,170,185,170,61,0,185,170,157,170,38,0,157,170,187,170,61,0,187,170,157,170,38,0,157,170,188,170,61,0,188,170,157,170,38,0,158,170,181,170,61,0,181,170,158,170,38,0,158,170,182,170,61,0,182,170,158,170,38,0,158,170,185,170,61,0,185,170,158,170,38,0,158,170,187,170,61,0,187,170,158,170,38,0,158,170,188,170,61,0,188,170,158,170,38,0,159,170,181,170,61,0,181,170,159,170,38,0,159,170,182,170,61,0,182,170,159,170,38,0,159,170,185,170,61,0,185,170,159,170,38,0,159,170,187,170,61,0,187,170,159,170,38,0,159,170,188,170,61,0,188,170,159,170,38,0,160,170,181,170,61,0,181,170,160,170,38,0,160,170,182,170,61,0,182,170,160,170,38,0,160,170,185,170,61,0,185,170,160,170,38,0,160,170,187,170,61,0,187,170,160,170,38,0,160,170,188,170,61,0,188,170,160,170,38,0,161,170,181,170,61,0,181,170,161,170,38,0,161,170,182,170,61,0,182,170,161,170,38,0,161,170,185,170,61,0,185,170,161,170,38,0,161,170,187,170,61,0,187,170,161,170,38,0,161,170,188,170,61,0,188,170,161,170,38,0,162,170,181,170,61,0,181,170,162,170,38,0,162,170,182,170,61,0,182,170,162,170,38,0,162,170,185,170,61,0,185,170,162,170,38,0,162,170,187,170,61,0,187,170,162,170,38,0,162,170,188,170,61,0,188,170,162,170,38,0,163,170,181,170,61,0,181,170,163,170,38,0,163,170,182,170,61,0,182,170,163,170,38,0,163,170,185,170,61,0,185,170,163,170,38,0,163,170,187,170,61,0,187,170,163,170,38,0,163,170,188,170,61,0,188,170,163,170,38,0,164,170,181,170,61,0,181,170,164,170,38,0,164,170,182,170,61,0,182,170,164,170,38,0,164,170,185,170,61,0,185,170,164,170,38,0,164,170,187,170,61,0,187,170,164,170,38,0,164,170,188,170,61,0,188,170,164,170,38,0,165,170,181,170,61,0,181,170,165,170,38,0,165,170,182,170,61,0,182,170,165,170,38,0,165,170,185,170,61,0,185,170,165,170,38,0,165,170,187,170,61,0,187,170,165,170,38,0,165,170,188,170,61,0,188,170,165,170,38,0,166,170,181,170,61,0,181,170,166,170,38,0,166,170,182,170,61,0,182,170,166,170,38,0,166,170,185,170,61,0,185,170,166,170,38,0,166,170,187,170,61,0,187,170,166,170,38,0,166,170,188,170,61,0,188,170,166,170,38,0,167,170,181,170,61,0,181,170,167,170,38,0,167,170,182,170,61,0,182,170,167,170,38,0,167,170,185,170,61,0,185,170,167,170,38,0,167,170,187,170,61,0,187,170,167,170,38,0,167,170,188,170,61,0,188,170,167,170,38,0,168,170,181,170,61,0,181,170,168,170,38,0,168,170,182,170,61,0,182,170,168,170,38,0,168,170,185,170,61,0,185,170,168,170,38,0,168,170,187,170,61,0,187,170,168,170,38,0,168,170,188,170,61,0,188,170,168,170,38,0,169,170,181,170,61,0,181,170,169,170,38,0,169,170,182,170,61,0,182,170,169,170,38,0,169,170,185,170,61,0,185,170,169,170,38,0,169,170,187,170,61,0,187,170,169,170,38,0,169,170,188,170,61,0,188,170,169,170,38,0,170,170,181,170,61,0,181,170,170,170,38,0,170,170,182,170,61,0,182,170,170,170,38,0,170,170,185,170,61,0,185,170,170,170,38,0,170,170,187,170,61,0,187,170,170,170,38,0,170,170,188,170,61,0,188,170,170,170,38,0,171,170,181,170,61,0,181,170,171,170,38,0,171,170,182,170,61,0,182,170,171,170,38,0,171,170,185,170,61,0,185,170,171,170,38,0,171,170,187,170,61,0,187,170,171,170,38,0,171,170,188,170,61,0,188,170,171,170,38,0,172,170,181,170,61,0,181,170,172,170,38,0,172,170,182,170,61,0,182,170,172,170,38,0,172,170,185,170,61,0,185,170,172,170,38,0,172,170,187,170,61,0,187,170,172,170,38,0,172,170,188,170,61,0,188,170,172,170,38,0,173,170,181,170,61,0,181,170,173,170,38,0,173,170,182,170,61,0,182,170,173,170,38,0,173,170,185,170,61,0,185,170,173,170,38,0,173,170,187,170,61,0,187,170,173,170,38,0,173,170,188,170,61,0,188,170,173,170,38,0,174,170,181,170,61,0,181,170,174,170,38,0,174,170,182,170,61,0,182,170,174,170,38,0,174,170,185,170,61,0,185,170,174,170,38,0,174,170,187,170,61,0,187,170,174,170,38,0,174,170,188,170,61,0,188,170,174,170,38,0,175,170,181,170,61,0,181,170,175,170,38,0,175,170,182,170,61,0,182,170,175,170,38,0,175,170,185,170,61,0,185,170,175,170,38,0,175,170,187,170,61,0,187,170,175,170,38,0,175,170,188,170,61,0,188,170,175,170,38,0,128,25,181,25,61,0,181,25,128,25,38,0,128,25,182,25,61,0,182,25,128,25,38,0,128,25,183,25,61,0,183,25,128,25,38,0,128,25,186,25,61,0,186,25,128,25,38,0,129,25,181,25,61,0,181,25,129,25,38,0,129,25,182,25,61,0,182,25,129,25,38,0,129,25,183,25,61,0,183,25,129,25,38,0,129,25,186,25,61,0,186,25,129,25,38,0,130,25,181,25,61,0,181,25,130,25,38,0,130,25,182,25,61,0,182,25,130,25,38,0,130,25,183,25,61,0,183,25,130,25,38,0,130,25,186,25,61,0,186,25,130,25,38,0,131,25,181,25,61,0,181,25,131,25,38,0,131,25,182,25,61,0,182,25,131,25,38,0,131,25,183,25,61,0,183,25,131,25,38,0,131,25,186,25,61,0,186,25,131,25,38,0,132,25,181,25,61,0,181,25,132,25,38,0,132,25,182,25,61,0,182,25,132,25,38,0,132,25,183,25,61,0,183,25,132,25,38,0,132,25,186,25,61,0,186,25,132,25,38,0,133,25,181,25,61,0,181,25,133,25,38,0,133,25,182,25,61,0,182,25,133,25,38,0,133,25,183,25,61,0,183,25,133,25,38,0,133,25,186,25,61,0,186,25,133,25,38,0,134,25,181,25,61,0,181,25,134,25,38,0,134,25,182,25,61,0,182,25,134,25,38,0,134,25,183,25,61,0,183,25,134,25,38,0,134,25,186,25,61,0,186,25,134,25,38,0,135,25,181,25,61,0,181,25,135,25,38,0,135,25,182,25,61,0,182,25,135,25,38,0,135,25,183,25,61,0,183,25,135,25,38,0,135,25,186,25,61,0,186,25,135,25,38,0,136,25,181,25,61,0,181,25,136,25,38,0,136,25,182,25,61,0,182,25,136,25,38,0,136,25,183,25,61,0,183,25,136,25,38,0,136,25,186,25,61,0,186,25,136,25,38,0,137,25,181,25,61,0,181,25,137,25,38,0,137,25,182,25,61,0,182,25,137,25,38,0,137,25,183,25,61,0,183,25,137,25,38,0,137,25,186,25,61,0,186,25,137,25,38,0,138,25,181,25,61,0,181,25,138,25,38,0,138,25,182,25,61,0,182,25,138,25,38,0,138,25,183,25,61,0,183,25,138,25,38,0,138,25,186,25,61,0,186,25,138,25,38,0,139,25,181,25,61,0,181,25,139,25,38,0,139,25,182,25,61,0,182,25,139,25,38,0,139,25,183,25,61,0,183,25,139,25,38,0,139,25,186,25,61,0,186,25,139,25,38,0,140,25,181,25,61,0,181,25,140,25,38,0,140,25,182,25,61,0,182,25,140,25,38,0,140,25,183,25,61,0,183,25,140,25,38,0,140,25,186,25,61,0,186,25,140,25,38,0,141,25,181,25,61,0,181,25,141,25,38,0,141,25,182,25,61,0,182,25,141,25,38,0,141,25,183,25,61,0,183,25,141,25,38,0,141,25,186,25,61,0,186,25,141,25,38,0,142,25,181,25,61,0,181,25,142,25,38,0,142,25,182,25,61,0,182,25,142,25,38,0,142,25,183,25,61,0,183,25,142,25,38,0,142,25,186,25,61,0,186,25,142,25,38,0,143,25,181,25,61,0,181,25,143,25,38,0,143,25,182,25,61,0,182,25,143,25,38,0,143,25,183,25,61,0,183,25,143,25,38,0,143,25,186,25,61,0,186,25,143,25,38,0,144,25,181,25,61,0,181,25,144,25,38,0,144,25,182,25,61,0,182,25,144,25,38,0,144,25,183,25,61,0,183,25,144,25,38,0,144,25,186,25,61,0,186,25,144,25,38,0,145,25,181,25,61,0,181,25,145,25,38,0,145,25,182,25,61,0,182,25,145,25,38,0,145,25,183,25,61,0,183,25,145,25,38,0,145,25,186,25,61,0,186,25,145,25,38,0,146,25,181,25,61,0,181,25,146,25,38,0,146,25,182,25,61,0,182,25,146,25,38,0,146,25,183,25,61,0,183,25,146,25,38,0,146,25,186,25,61,0,186,25,146,25,38,0,147,25,181,25,61,0,181,25,147,25,38,0,147,25,182,25,61,0,182,25,147,25,38,0,147,25,183,25,61,0,183,25,147,25,38,0,147,25,186,25,61,0,186,25,147,25,38,0,148,25,181,25,61,0,181,25,148,25,38,0,148,25,182,25,61,0,182,25,148,25,38,0,148,25,183,25,61,0,183,25,148,25,38,0,148,25,186,25,61,0,186,25,148,25,38,0,149,25,181,25,61,0,181,25,149,25,38,0,149,25,182,25,61,0,182,25,149,25,38,0,149,25,183,25,61,0,183,25,149,25,38,0,149,25,186,25,61,0,186,25,149,25,38,0,150,25,181,25,61,0,181,25,150,25,38,0,150,25,182,25,61,0,182,25,150,25,38,0,150,25,183,25,61,0,183,25,150,25,38,0,150,25,186,25,61,0,186,25,150,25,38,0,151,25,181,25,61,0,181,25,151,25,38,0,151,25,182,25,61,0,182,25,151,25,38,0,151,25,183,25,61,0,183,25,151,25,38,0,151,25,186,25,61,0,186,25,151,25,38,0,152,25,181,25,61,0,181,25,152,25,38,0,152,25,182,25,61,0,182,25,152,25,38,0,152,25,183,25,61,0,183,25,152,25,38,0,152,25,186,25,61,0,186,25,152,25,38,0,153,25,181,25,61,0,181,25,153,25,38,0,153,25,182,25,61,0,182,25,153,25,38,0,153,25,183,25,61,0,183,25,153,25,38,0,153,25,186,25,61,0,186,25,153,25,38,0,154,25,181,25,61,0,181,25,154,25,38,0,154,25,182,25,61,0,182,25,154,25,38,0,154,25,183,25,61,0,183,25,154,25,38,0,154,25,186,25,61,0,186,25,154,25,38,0,155,25,181,25,61,0,181,25,155,25,38,0,155,25,182,25,61,0,182,25,155,25,38,0,155,25,183,25,61,0,183,25,155,25,38,0,155,25,186,25,61,0,186,25,155,25,38,0,156,25,181,25,61,0,181,25,156,25,38,0,156,25,182,25,61,0,182,25,156,25,38,0,156,25,183,25,61,0,183,25,156,25,38,0,156,25,186,25,61,0,186,25,156,25,38,0,157,25,181,25,61,0,181,25,157,25,38,0,157,25,182,25,61,0,182,25,157,25,38,0,157,25,183,25,61,0,183,25,157,25,38,0,157,25,186,25,61,0,186,25,157,25,38,0,158,25,181,25,61,0,181,25,158,25,38,0,158,25,182,25,61,0,182,25,158,25,38,0,158,25,183,25,61,0,183,25,158,25,38,0,158,25,186,25,61,0,186,25,158,25,38,0,159,25,181,25,61,0,181,25,159,25,38,0,159,25,182,25,61,0,182,25,159,25,38,0,159,25,183,25,61,0,183,25,159,25,38,0,159,25,186,25,61,0,186,25,159,25,38,0,160,25,181,25,61,0,181,25,160,25,38,0,160,25,182,25,61,0,182,25,160,25,38,0,160,25,183,25,61,0,183,25,160,25,38,0,160,25,186,25,61,0,186,25,160,25,38,0,161,25,181,25,61,0,181,25,161,25,38,0,161,25,182,25,61,0,182,25,161,25,38,0,161,25,183,25,61,0,183,25,161,25,38,0,161,25,186,25,61,0,186,25,161,25,38,0,162,25,181,25,61,0,181,25,162,25,38,0,162,25,182,25,61,0,182,25,162,25,38,0,162,25,183,25,61,0,183,25,162,25,38,0,162,25,186,25,61,0,186,25,162,25,38,0,163,25,181,25,61,0,181,25,163,25,38,0,163,25,182,25,61,0,182,25,163,25,38,0,163,25,183,25,61,0,183,25,163,25,38,0,163,25,186,25,61,0,186,25,163,25,38,0,164,25,181,25,61,0,181,25,164,25,38,0,164,25,182,25,61,0,182,25,164,25,38,0,164,25,183,25,61,0,183,25,164,25,38,0,164,25,186,25,61,0,186,25,164,25,38,0,165,25,181,25,61,0,181,25,165,25,38,0,165,25,182,25,61,0,182,25,165,25,38,0,165,25,183,25,61,0,183,25,165,25,38,0,165,25,186,25,61,0,186,25,165,25,38,0,166,25,181,25,61,0,181,25,166,25,38,0,166,25,182,25,61,0,182,25,166,25,38,0,166,25,183,25,61,0,183,25,166,25,38,0,166,25,186,25,61,0,186,25,166,25,38,0,167,25,181,25,61,0,181,25,167,25,38,0,167,25,182,25,61,0,182,25,167,25,38,0,167,25,183,25,61,0,183,25,167,25,38,0,167,25,186,25,61,0,186,25,167,25,38,0,168,25,181,25,61,0,181,25,168,25,38,0,168,25,182,25,61,0,182,25,168,25,38,0,168,25,183,25,61,0,183,25,168,25,38,0,168,25,186,25,61,0,186,25,168,25,38,0,169,25,181,25,61,0,181,25,169,25,38,0,169,25,182,25,61,0,182,25,169,25,38,0,169,25,183,25,61,0,183,25,169,25,38,0,169,25,186,25,61,0,186,25,169,25,38,0,170,25,181,25,61,0,181,25,170,25,38,0,170,25,182,25,61,0,182,25,170,25,38,0,170,25,183,25,61,0,183,25,170,25,38,0,170,25,186,25,61,0,186,25,170,25,38,0,171,25,181,25,61,0,181,25,171,25,38,0,171,25,182,25,61,0,182,25,171,25,38,0,171,25,183,25,61,0,183,25,171,25,38,0,171,25,186,25,61,0,186,25,171,25,0,0,1,0,13,0,2,0,74,0,41,0,234,1,1,0,170,170,170,170,170,170,26,139,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,64,0,0,164,64,0,0,28,91,0,0,28,91,0,0,104,91,0,0,104,91,0,0,174,133,0,0,18,135,0,0,254,138,0,0,50,105,114,84,1,0,224,8,233,2,64,0,192,0,64,0,0,0,8,0,16,0,24,0,54,0,62,0,70,0,78,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,95,0,103,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,118,0,125,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,129,0,136,0,48,0,48,0,48,0,48,0,141,0,147,0,48,0,48,0,48,0,48,0,48,0,48,0,155,0,48,0,48,0,48,0,48,0,48,0,48,0,161,0,169,0,171,0,179,0,187,0,195,0,203,0,211,0,219,0,227,0,233,0,241,0,249,0,0,1,8,1,11,1,19,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,27,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,34,1,48,0,42,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,56,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,94,0,48,0,48,0,86,0,224,2,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,216,0,24,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,96,8,160,8,63,1,48,0,48,0,48,0,48,0,48,0,68,1,48,0,48,0,48,0,48,0,72,1,80,1,48,0,48,0,87,1,95,1,102,1,109,1,48,0,48,0,48,0,48,0,48,0,117,1,125,1,133,1,141,1,149,1,157,1,165,1,173,1,181,1,189,1,197,1,205,1,213,1,221,1,229,1,237,1,245,1,253,1,5,2,13,2,20,2,27,2,35,2,43,2,51,2,59,2,67,2,48,0,75,2,83,2,91,2,99,2,48,0,48,0,48,0,48,0,48,0,48,0,48,0,107,2,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,2,120,2,128,2,136,2,144,2,152,2,160,2,168,2,48,0,48,0,48,0,176,2,184,2,192,2,200,2,208,2,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,201,0,0,0,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,201,96,1,0,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,232,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,233,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,205,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,206,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,234,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,5,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,133,130,13,193,132,130,13,193,131,130,13,193,125,130,13,193,127,130,13,193,129,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,134,130,13,193,135,130,13,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,184,128,13,193,182,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,179,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,188,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,175,130,13,193,179,130,13,193,182,130,13,193,184,130,13,193,176,130,13,193,180,130,13,193,177,130,13,193,185,128,13,193,186,128,13,193,187,128,13,193,183,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,185,130,13,193,186,130,13,193,187,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,55,131,13,193,56,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,174,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,178,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,52,131,13,193,51,131,13,193,54,131,13,193,53,131,13,192,0,0,0,193,226,128,13,193,234,128,13,193,249,128,13,193,254,128,13,193,2,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,169,129,13,192,0,0,0,192,0,0,0,193,222,130,13,192,0,0,0,192,0,0,0,193,250,128,13,193,17,128,13,192,0,0,0,192,0,0,0,193,155,127,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,189,125,13,192,0,0,0,192,0,0,0,193,104,125,13,192,0,0,0,193,122,130,13,193,123,130,13,192,0,0,0,192,0,0,0,193,152,130,13,192,0,0,0,192,0,0,0,192,0,0,0,193,153,130,13,192,0,0,0,192,0,0,0,192,0,0,0,193,154,130,13,193,150,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,149,130,13,193,75,125,13,193,17,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,196,130,13,192,0,0,0,193,197,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,158,130,13,193,159,130,13,193,160,130,13,193,161,130,13,193,162,130,13,193,163,130,13,193,164,130,13,193,165,130,13,193,166,130,13,193,167,130,13,193,168,130,13,193,169,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,80,129,13,193,76,129,13,192,0,0,0,192,0,0,0,193,79,129,13,192,0,0,0,193,77,129,13,193,78,129,13,192,0,0,0,193,101,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,215,130,13,192,0,0,0,192,0,0,0,193,204,130,13,193,101,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,28,130,13,193,158,128,13,193,31,130,13,193,214,130,13,193,42,130,13,193,50,130,13,192,0,0,0,193,40,130,13,192,0,0,0,193,146,130,13,193,216,130,13,192,0,0,0,192,0,0,0,192,0,0,0,193,111,130,13,193,252,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,198,130,13,192,0,0,0,192,0,0,0,193,41,131,13,193,40,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,90,130,13,193,92,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,33,129,13,193,34,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,255,128,13,193,235,128,13,192,0,0,0,192,0,0,0,193,236,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,170,130,13,193,27,130,13,192,0,0,0,193,133,129,13,192,0,0,0,193,45,130,13,193,113,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,89,128,13,193,85,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,50,128,13,193,251,128,13,193,91,128,13,193,52,129,13,193,164,128,13,193,160,128,13,192,0,0,0,193,172,126,13,193,53,129,13,201,128,16,0,193,92,128,13,192,0,0,0,192,0,0,0,193,151,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,15,130,13,192,0,0,0,192,0,0,0,193,221,130,13,192,0,0,0,192,0,0,0,193,167,128,13,193,230,129,13,193,193,125,13,193,167,125,13,193,178,125,13,193,204,125,13,192,0,0,0,193,243,129,13,192,0,0,0,192,0,0,0,193,244,129,13,192,0,0,0,193,223,130,13,192,0,0,0,193,199,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,151,130,13,192,0,0,0,192,0,0,0,192,0,0,0,193,148,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,11,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,229,130,13,193,230,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,253,128,13,192,0,0,0,192,0,0,0,193,231,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,224,130,13,192,0,0,0,193,225,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,207,130,13,193,208,130,13,193,209,130,13,192,0,0,0,193,210,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,134,125,13,201,96,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,200,130,13,193,201,130,13,193,202,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,226,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,227,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,136,130,13,193,137,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,130,130,13,193,124,130,13,193,128,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,49,131,13,193,50,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,230,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,220,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,211,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,228,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,29,131,13,192,0,0,0,193,30,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,82,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,81,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,1,0,198,129,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,1,0,198,193,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,225,1,0,192,0,0,0,192,0,0,0,198,1,2,0,198,33,2,0,198,65,2,0,198,97,2,0,198,129,2,0,198,161,2,0,198,193,2,0,198,225,2,0,198,1,3,0,198,33,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,75,131,13,193,76,131,13,193,77,131,13,193,78,131,13,193,79,131,13,193,80,131,13,193,81,131,13,193,82,131,13,193,83,131,13,193,84,131,13,193,85,131,13,193,86,131,13,193,87,131,13,193,88,131,13,193,89,131,13,193,90,131,13,193,91,131,13,193,92,131,13,193,93,131,13,193,94,131,13,193,95,131,13,193,96,131,13,193,97,131,13,193,98,131,13,193,99,131,13,193,100,131,13,192,0,0,0,193,16,131,13,193,17,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,23,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,20,131,13,192,0,0,0,192,0,0,0,193,24,131,13,193,28,131,13,193,27,131,13,193,32,131,13,193,19,131,13,193,18,131,13,193,26,131,13,193,22,131,13,193,31,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,21,131,13,193,25,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,246,128,13,193,93,128,13,193,248,128,13,193,94,128,13,193,96,128,13,193,97,128,13,193,98,128,13,193,99,128,13,193,247,128,13,193,100,128,13,193,5,129,13,193,51,128,13,193,233,128,13,193,42,128,13,193,43,128,13,193,44,128,13,193,45,128,13,193,213,128,13,193,214,128,13,193,215,128,13,193,216,128,13,193,217,128,13,193,218,128,13,193,219,128,13,193,220,128,13,193,221,128,13,193,222,128,13,193,223,128,13,193,224,128,13,193,227,128,13,193,228,128,13,193,231,128,13,193,232,128,13,193,225,128,13,192,0,0,0,192,0,0,0,193,237,128,13,193,238,128,13,193,239,128,13,193,240,128,13,193,241,128,13,193,242,128,13,193,243,128,13,193,244,128,13,193,245,128,13,193,215,127,13,193,217,127,13,193,218,127,13,193,196,127,13,193,147,127,13,193,149,127,13,193,150,127,13,193,151,127,13,193,152,127,13,193,187,127,13,193,145,127,13,193,136,127,13,193,140,127,13,193,142,127,13,193,143,127,13,193,144,127,13,193,186,127,13,193,153,127,13,193,154,127,13,193,156,127,13,193,157,127,13,193,158,127,13,193,159,127,13,193,162,127,13,193,179,127,13,193,183,127,13,193,163,127,13,193,164,127,13,193,165,127,13,193,166,127,13,193,167,127,13,193,168,127,13,193,169,127,13,193,171,127,13,193,172,127,13,193,173,127,13,193,174,127,13,193,175,127,13,193,176,127,13,193,212,127,13,193,214,127,13,193,208,127,13,193,209,127,13,193,234,127,13,193,235,127,13,193,236,127,13,193,237,127,13,193,238,127,13,193,239,127,13,193,199,127,13,193,213,127,13,193,240,127,13,193,246,127,13,193,241,127,13,193,242,127,13,193,243,127,13,193,244,127,13,193,255,127,13,193,2,128,13,193,3,128,13,193,4,128,13,193,5,128,13,193,10,128,13,193,11,128,13,193,12,128,13,193,13,128,13,193,14,128,13,193,7,128,13,193,233,127,13,193,225,127,13,193,223,127,13,193,37,128,13,193,19,128,13,193,20,128,13,193,22,128,13,193,23,128,13,193,24,128,13,193,25,128,13,193,26,128,13,193,15,128,13,193,36,128,13,193,21,128,13,193,229,127,13,193,22,129,13,193,23,129,13,193,6,128,13,193,6,129,13,193,7,129,13,193,100,126,13,193,8,129,13,193,9,129,13,193,12,129,13,193,13,129,13,193,14,129,13,193,15,129,13,193,69,131,13,193,16,129,13,193,17,129,13,193,18,129,13,193,19,129,13,193,20,129,13,193,116,129,13,193,130,129,13,192,0,0,0,192,0,0,0,193,27,129,13,193,24,129,13,192,0,0,0,193,150,129,13,193,151,129,13,193,152,129,13,192,0,0,0,192,0,0,0,193,188,129,13,193,25,129,13,193,102,128,13,193,104,128,13,193,105,128,13,193,54,129,13,193,153,129,13,193,187,129,13,193,189,130,13,193,154,129,13,193,86,129,13,193,129,129,13,193,107,128,13,193,26,129,13,193,190,129,13,193,84,129,13,193,67,129,13,193,60,129,13,193,69,129,13,193,64,129,13,193,70,129,13,193,42,129,13,193,83,129,13,193,148,129,13,193,149,129,13,193,156,129,13,193,158,129,13,193,159,129,13,193,160,129,13,193,161,129,13,193,147,129,13,193,56,129,13,193,40,129,13,193,57,129,13,193,36,129,13,193,67,131,13,193,173,126,13,201,224,27,0,201,96,36,0,193,29,129,13,193,28,129,13,193,171,126,13,193,38,129,13,193,39,129,13,201,224,44,0,201,96,53,0,201,96,62,0,193,138,128,13,193,137,128,13,193,43,129,13,193,37,129,13,193,44,129,13,193,45,129,13,193,47,129,13,193,49,128,13,193,53,128,13,193,54,128,13,193,60,128,13,193,65,128,13,193,95,128,13,193,66,128,13,193,59,128,13,193,55,128,13,193,56,128,13,193,57,128,13,193,58,128,13,193,67,128,13,193,68,128,13,193,69,128,13,193,70,128,13,193,71,128,13,193,72,128,13,193,73,128,13,193,98,130,13,193,74,128,13,193,75,128,13,193,76,128,13,193,77,128,13,193,78,128,13,193,79,128,13,193,201,129,13,193,80,128,13,193,81,128,13,192,0,0,0,192,0,0,0,201,96,71,0,201,128,73,0,193,139,127,13,192,0,0,0,193,219,129,13,193,48,129,13,193,34,130,13,193,41,128,13,194,5,224,251,5,252,0,0,5,253,0,0,5,254,0,0,5,255,0,0,193,59,127,13,193,58,127,13,193,39,127,13,193,40,127,13,193,41,127,13,193,28,127,13,193,29,127,13,193,62,127,13,201,128,79,0,193,104,127,13,193,99,127,13,193,108,127,13,193,119,127,13,193,102,127,13,193,33,127,13,193,46,127,13,193,48,127,13,193,47,127,13,193,12,127,13,193,79,127,13,193,78,127,13,201,96,80,0,193,43,127,13,193,44,127,13,193,53,127,13,193,115,127,13,193,116,127,13,193,121,127,13,193,122,127,13,193,123,127,13,193,125,127,13,193,111,127,13,193,112,127,13,193,113,127,13,193,100,127,13,193,80,127,13,193,81,127,13,193,82,127,13,201,96,81,0,193,84,127,13,193,69,127,13,193,19,127,13,193,49,127,13,193,50,127,13,193,109,127,13,193,57,127,13,193,38,127,13,193,27,127,13,193,61,127,13,193,23,127,13,193,103,127,13,193,107,127,13,193,30,127,13,193,11,127,13,193,15,127,13,193,42,127,13,193,98,127,13,193,60,127,13,193,20,127,13,201,64,82,0,193,70,127,13,193,45,127,13,193,76,127,13,193,63,127,13,193,220,125,13,201,32,83,0,193,212,125,13,193,214,125,13,193,223,125,13,193,222,125,13,193,186,125,13,193,188,125,13,193,184,125,13,193,185,125,13,193,194,125,13,193,164,125,13,193,175,125,13,193,191,125,13,193,192,125,13,193,197,125,13,193,200,125,13,193,127,129,13,193,128,129,13,193,91,129,13,193,96,129,13,193,97,129,13,193,98,129,13,193,103,129,13,193,104,129,13,193,109,129,13,193,110,129,13,193,112,129,13,193,113,129,13,193,114,129,13,193,118,129,13,193,119,129,13,193,122,129,13,193,123,129,13,193,125,129,13,193,6,127,13,193,3,127,13,193,4,127,13,193,227,125,13,193,228,125,13,201,64,85,0,201,32,164,0,193,230,126,13,201,160,243,0,201,32,246,0,201,160,248,0,201,32,251,0,201,160,3,1,201,0,5,1,201,128,13,1,193,84,126,13,201,0,22,1,193,239,125,13,193,240,125,13,193,225,125,13,201,128,30,1,193,80,126,13,193,107,125,13,193,108,125,13,193,109,125,13,193,99,126,13,193,110,125,13,193,111,125,13,193,102,125,13,193,103,125,13,201,0,39,1,201,128,47,1,193,158,126,13,193,135,129,13,193,205,125,13,201,0,56,1,201,128,64,1,193,106,128,13,193,57,130,13,193,59,130,13,193,150,125,13,193,125,125,13,193,136,129,13,193,137,129,13,193,222,126,13,193,135,127,13,193,226,126,13,193,82,128,13,193,130,125,13,193,135,125,13,193,132,125,13,193,128,125,13,193,129,125,13,193,126,125,13,193,143,125,13,193,142,125,13,193,141,125,13,193,145,125,13,193,127,125,13,193,131,125,13,193,133,125,13,193,63,131,13,193,199,129,13,193,152,125,13,193,32,130,13,193,163,125,13,193,153,125,13,193,155,125,13,193,4,129,13,193,156,125,13,193,105,125,13,193,207,125,13,193,154,125,13,193,158,125,13,193,162,125,13,193,137,127,13,193,151,125,13,193,220,129,13,193,212,130,13,193,213,130,13,193,227,129,13,193,222,129,13,193,223,129,13,193,224,129,13,193,225,129,13,193,226,129,13,193,229,129,13,193,172,128,13,193,176,129,13,193,250,129,13,193,182,129,13,193,183,129,13,193,184,129,13,193,185,129,13,193,251,129,13,193,252,129,13,193,212,129,13,193,214,129,13,193,254,129,13,193,255,129,13,193,4,130,13,193,5,130,13,193,6,130,13,193,7,130,13,193,8,130,13,193,9,130,13,193,10,130,13,193,11,130,13,193,13,130,13,193,14,130,13,193,217,129,13,193,211,129,13,193,210,129,13,193,203,129,13,193,204,129,13,193,205,129,13,193,206,129,13,193,207,129,13,193,208,129,13,193,209,129,13,193,218,130,13,193,213,129,13,193,249,129,13,193,170,129,13,193,171,129,13,193,172,129,13,193,56,130,13,193,142,129,13,193,143,129,13,193,234,129,13,193,235,129,13,193,236,129,13,193,231,129,13,193,232,129,13,193,233,129,13,193,238,129,13,193,237,129,13,193,239,129,13,193,240,129,13,193,241,129,13,193,144,129,13,193,215,129,13,193,167,129,13,193,168,129,13,193,194,130,13,193,195,130,13,193,120,130,13,193,192,130,13,193,192,129,13,193,193,129,13,193,194,129,13,193,191,129,13,193,155,129,13,193,195,129,13,193,189,129,13,192,0,0,0,193,134,129,13,193,171,130,13,193,172,130,13,193,173,130,13,193,138,130,13,193,139,130,13,193,190,130,13,193,191,130,13,193,138,129,13,193,139,129,13,193,140,129,13,193,141,129,13,193,173,129,13,193,175,129,13,193,196,129,13,193,197,129,13,193,21,130,13,193,22,130,13,193,23,130,13,193,19,130,13,193,20,130,13,193,145,129,13,193,146,129,13,193,218,129,13,193,44,130,13,193,64,131,13,193,140,130,13,193,141,130,13,193,142,130,13,193,143,130,13,193,144,130,13,193,121,130,13,193,247,130,13,193,248,130,13,193,249,130,13,193,250,130,13,193,251,130,13,193,252,130,13,193,3,129,13,193,200,129,13,193,37,130,13,193,25,130,13,193,39,130,13,193,39,128,13,193,63,129,13,193,54,130,13,193,55,130,13,193,65,129,13,193,156,130,13,193,219,130,13,193,217,130,13,193,66,131,13,193,65,131,13,193,33,131,13,193,37,131,13,193,57,131,13,193,58,131,13,193,59,131,13,193,60,131,13,193,61,131,13,193,62,131,13,193,181,130,13,193,183,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,147,130,13,193,85,127,13,193,90,128,13,193,86,128,13,193,88,128,13,193,155,130,13,192,0,0,0,193,191,128,13,193,193,128,13,193,195,128,13,193,197,128,13,193,199,128,13,193,201,128,13,193,203,128,13,193,205,128,13,193,207,128,13,193,209,128,13,193,211,128,13,193,189,128,13,193,192,128,13,193,194,128,13,193,196,128,13,193,198,128,13,193,200,128,13,193,202,128,13,193,204,128,13,193,206,128,13,193,208,128,13,193,210,128,13,193,212,128,13,193,190,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,198,129,13,193,188,128,13,192,0,0,0,192,0,0,0,193,157,125,13,193,160,126,13,201,0,73,1,193,92,129,13,193,128,127,13,193,129,127,13,193,68,129,13,193,159,126,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,12,130,13,192,0,0,0,192,0,0,0,193,246,129,13,193,245,129,13,193,247,129,13,193,248,129,13,192,0,0,0,192,0,0,0,193,166,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,187,125,13,193,168,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,147,125,13,193,177,129,13,192,0,0,0,192,0,0,0,193,178,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,180,129,13,193,181,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,85,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,253,129,13,193,16,130,13,193,17,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,18,130,13,193,2,130,13,193,3,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,41,130,13,193,24,130,13,193,216,129,13,192,0,0,0,192,0,0,0,193,30,130,13,192,0,0,0,193,2,127,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,160,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,161,125,13,192,0,0,0,192,0,0,0,192,0,0,0,193,242,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,46,128,13,193,52,128,13,193,83,128,13,193,84,128,13,193,47,128,13,193,95,130,13,5,5,121,13,5,5,124,13,193,5,125,13,5,5,122,13,5,5,123,13,193,3,125,13,193,2,125,13,193,11,125,13,193,101,125,13,193,9,125,13,193,10,125,13,193,21,125,13,193,48,125,13,193,13,125,13,193,68,125,13,193,41,125,13,193,36,125,13,193,37,125,13,193,42,125,13,193,93,125,13,193,49,125,13,193,71,125,13,193,90,125,13,193,16,125,13,193,15,125,13,193,19,125,13,193,18,125,13,193,22,125,13,193,23,125,13,193,25,125,13,193,92,125,13,193,73,125,13,193,99,125,13,193,98,125,13,193,87,125,13,193,91,125,13,193,97,125,13,193,86,125,13,193,82,125,13,193,83,125,13,193,84,125,13,193,94,125,13,193,50,125,13,193,95,125,13,193,44,125,13,193,88,125,13,201,0,82,1,193,77,125,13,193,85,125,13,193,89,125,13,193,78,125,13,193,79,125,13,193,52,125,13,201,0,83,1,201,0,84,1,193,53,125,13,193,114,125,13,193,115,125,13,193,113,125,13,193,116,125,13,193,117,125,13,193,118,125,13,193,121,125,13,193,120,125,13,193,119,125,13,193,74,125,13,193,6,125,13,193,7,125,13,193,43,125,13,201,0,85,1,201,128,93,1,201,0,102,1,193,122,125,13,193,123,125,13,193,124,125,13,201,128,110,1,193,198,125,13,201,0,119,1,201,128,127,1,193,203,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,178,128,13,193,173,128,13,193,108,128,13,193,109,128,13,193,110,128,13,193,111,128,13,193,112,128,13,193,113,128,13,193,114,128,13,193,115,128,13,193,116,128,13,193,119,128,13,193,120,128,13,193,121,128,13,193,122,128,13,193,147,128,13,193,123,128,13,193,124,128,13,193,125,128,13,193,126,128,13,193,127,128,13,193,128,128,13,193,129,128,13,193,130,128,13,193,131,128,13,193,132,128,13,193,134,128,13,193,135,128,13,193,136,128,13,193,117,128,13,193,118,128,13,193,174,128,13,193,175,128,13,193,176,128,13,193,166,128,13,201,0,136,1,193,162,128,13,193,154,128,13,193,155,128,13,193,157,128,13,193,153,128,13,193,68,131,13,193,64,130,13,193,114,130,13,193,89,130,13,193,116,130,13,193,99,130,13,193,117,130,13,193,100,130,13,193,118,130,13,193,143,128,13,193,115,130,13,201,128,144,1,201,0,153,1,201,128,161,1,193,119,130,13,193,112,130,13,193,102,130,13,193,103,130,13,193,104,130,13,193,105,130,13,193,71,130,13,193,106,130,13,193,73,130,13,193,216,126,13,193,74,130,13,193,107,130,13,193,108,130,13,193,109,130,13,193,110,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,69,130,13,193,217,126,13,193,115,129,13,193,180,128,13,193,68,130,13,193,145,130,13,193,156,128,13,193,88,130,13,192,0,0,0,192,0,0,0,193,87,128,13,193,64,128,13,193,65,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,193,130,13,193,103,128,13,193,152,128,13,193,159,128,13,193,29,130,13,193,35,130,13,193,150,128,13,193,148,128,13,193,149,128,13,193,165,128,13,192,0,0,0,192,0,0,0,192,0,0,0,193,168,128,13,192,0,0,0,193,169,128,13,193,170,128,13,192,0,0,0,192,0,0,0,192,0,0,0,193,177,128,13,192,0,0,0,192,0,0,0,193,163,128,13,193,144,128,13,193,139,128,13,193,161,128,13,193,58,129,13,193,179,128,13,193,145,128,13,193,142,128,13,193,133,128,13,193,146,128,13,192,0,0,0,192,0,0,0,192,0,0,0,193,34,131,13,193,35,131,13,193,36,131,13,193,38,131,13,193,39,131,13,193,42,131,13,193,46,131,13,193,43,131,13,193,44,131,13,193,45,131,13,193,47,131,13,193,48,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,203,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,176,125,13,193,149,125,13,193,146,125,13,193,177,125,13,193,34,125,13,193,26,125,13,193,54,125,13,193,69,125,13,193,32,125,13,193,55,125,13,193,112,125,13,193,27,125,13,193,182,125,13,193,183,125,13,193,165,125,13,193,195,125,13,193,196,125,13,193,202,125,13,193,179,125,13,193,181,125,13,193,65,125,13,193,106,125,13,193,56,125,13,193,4,125,13,193,51,125,13,193,46,125,13,201,0,170,1,193,58,125,13,193,35,125,13,193,14,125,13,193,24,125,13,193,31,125,13,193,100,125,13,193,28,125,13,193,57,125,13,193,64,125,13,193,92,126,13,193,95,126,13,193,201,125,13,193,206,125,13,193,79,126,13,201,128,178,1,193,101,126,13,201,0,187,1,201,128,195,1,201,0,204,1,193,170,126,13,192,0,0,0,201,128,212,1,201,224,213,1,201,96,222,1,193,55,129,13,193,141,127,13,193,163,129,13,193,27,128,13,193,28,128,13,193,38,128,13,193,51,129,13,192,0,0,0,193,30,129,13,193,31,129,13,193,32,129,13,193,49,129,13,193,50,129,13,193,59,129,13,193,46,129,13,193,35,129,13,193,41,129,13,193,200,127,13,193,182,127,13,193,189,127,13,193,211,127,13,193,184,127,13,193,185,127,13,193,201,127,13,193,228,127,13,193,224,127,13,193,220,127,13,193,222,127,13,193,16,128,13,193,194,127,13,193,178,127,13,193,205,127,13,193,247,127,13,193,248,127,13,193,249,127,13,193,35,128,13,193,227,127,13,193,30,128,13,193,181,127,13,193,191,127,13,193,9,128,13,193,203,127,13,193,210,127,13,193,216,127,13,193,232,127,13,193,190,127,13,193,170,127,13,193,245,127,13,193,204,127,13,193,12,125,13,193,96,125,13,193,20,125,13,193,66,125,13,193,61,125,13,193,59,125,13,193,60,125,13,193,74,126,13,193,67,125,13,193,81,125,13,193,80,125,13,193,105,129,13,193,94,129,13,193,93,129,13,193,120,129,13,193,121,129,13,193,250,127,13,193,26,127,13,193,130,127,13,193,77,127,13,193,34,127,13,193,86,127,13,193,87,127,13,193,66,127,13,193,114,127,13,193,89,127,13,193,21,127,13,193,120,127,13,193,36,127,13,193,13,127,13,193,101,127,13,193,55,127,13,193,252,127,13,193,253,127,13,193,52,127,13,193,35,127,13,193,65,127,13,193,105,127,13,193,106,127,13,193,126,127,13,193,74,127,13,193,51,127,13,193,93,127,13,193,56,127,13,193,94,127,13,193,22,127,13,193,251,127,13,193,131,127,13,193,134,127,13,193,75,127,13,193,88,127,13,193,54,127,13,193,90,127,13,193,71,127,13,193,72,127,13,193,14,127,13,193,73,127,13,193,92,127,13,193,254,127,13,193,64,127,13,193,37,127,13,193,110,127,13,193,17,127,13,193,43,130,13,193,7,127,13,193,8,127,13,193,10,127,13,193,9,127,13,193,219,125,13,193,210,125,13,193,211,125,13,193,218,125,13,201,224,230,1,201,96,239,1,193,95,129,13,193,213,125,13,193,141,128,13,193,140,128,13,193,208,125,13,193,209,125,13,193,207,127,13,193,8,128,13,193,231,127,13,193,32,128,13,193,192,127,13,193,193,127,13,193,221,127,13,193,206,127,13,193,230,127,13,193,33,128,13,193,34,128,13,193,31,128,13,193,130,126,13,201,224,247,1,201,96,0,2,201,224,8,2,193,70,125,13,201,96,17,2,193,226,125,13,193,238,125,13,201,32,85,2,193,85,126,13,201,160,93,2,201,32,102,2,201,160,110,2,201,32,119,2,201,160,127,2,201,32,136,2,201,160,144,2,201,32,153,2,201,160,161,2,201,0,163,2,193,215,125,13,193,140,125,13,193,131,129,13,193,99,129,13,193,100,129,13,193,101,129,13,193,102,129,13,193,21,129,13,193,10,129,13,193,71,129,13,193,51,130,13,193,52,130,13,193,53,130,13,193,48,128,13,193,186,129,13,193,87,130,13,193,47,130,13,193,61,128,13,193,48,130,13,193,181,128,13,193,77,130,13,193,87,129,13,193,89,129,13,193,78,130,13,193,72,129,13,193,79,130,13,193,80,130,13,193,81,130,13,193,83,130,13,193,86,130,13,193,228,129,13,193,93,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,124,129,13,193,106,129,13,193,107,129,13,193,108,129,13,193,117,129,13,193,144,125,13,193,148,125,13,193,139,125,13,193,58,130,13,193,60,130,13,193,62,130,13,193,63,130,13,193,61,130,13,192,0,0,0,192,0,0,0,192,0,0,0,193,61,129,13,193,62,129,13,193,171,128,13,193,33,130,13,193,66,129,13,193,73,129,13,193,75,129,13,193,165,129,13,193,166,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,229,128,13,193,70,130,13,193,76,130,13,193,26,130,13,193,202,129,13,193,162,129,13,193,132,129,13,193,157,129,13,193,164,129,13,193,221,129,13,193,36,130,13,193,38,130,13,193,49,130,13,193,46,130,13,193,66,130,13,193,67,130,13,193,72,130,13,193,88,129,13,193,90,129,13,193,82,130,13,193,75,130,13,193,85,130,13,193,91,130,13,193,96,130,13,193,62,128,13,193,74,129,13,193,97,130,13,193,174,129,13,193,94,130,13,193,111,129,13,193,126,129,13,193,157,130,13,193,132,127,13,193,133,127,13,193,124,127,13,193,127,127,13,193,148,127,13,193,63,128,13,193,91,127,13,193,138,127,13,193,117,127,13,193,160,127,13,193,161,127,13,193,146,127,13,193,118,127,13,193,95,127,13,192,0,0,0,193,97,127,13,193,216,125,13,193,217,125,13,193,5,127,13,193,93,126,13,193,94,126,13,193,78,126,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,31,127,13,193,32,127,13,193,177,127,13,193,188,127,13,193,180,127,13,193,202,127,13,193,219,127,13,193,226,127,13,193,18,128,13,193,29,128,13,193,195,127,13,193,40,128,13,193,197,127,13,193,198,127,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,8,125,13,193,33,125,13,193,29,125,13,193,30,125,13,193,72,125,13,193,39,125,13,193,224,125,13,193,84,130,13,193,47,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,180,125,13,193,169,125,13,193,170,125,13,193,171,125,13,193,172,125,13,193,190,125,13,193,199,125,13,193,173,125,13,193,174,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,133,0,5,0,7,131,13,0,5,0,70,0,188,126,13,0,5,0,70,0,187,126,13,0,5,0,71,0,188,126,13,0,5,0,71,0,187,126,13,0,5,0,72,0,188,126,13,0,5,0,72,0,187,126,13,0,5,0,73,0,188,126,13,0,5,0,73,0,187,126,13,0,5,0,74,0,188,126,13,0,5,0,74,0,187,126,13,0,133,0,5,0,253,130,13,0,133,0,5,0,255,130,13,0,133,0,5,0,10,131,13,0,133,0,5,0,12,131,13,0,133,0,5,0,254,130,13,0,133,0,5,0,2,131,13,0,133,0,5,0,3,131,13,0,133,0,5,0,4,131,13,0,133,0,5,0,6,131,13,0,133,0,5,0,8,131,13,0,133,0,5,0,9,131,13,0,133,0,5,0,11,131,13,0,133,0,5,0,13,131,13,0,69,0,5,0,14,131,13,0,133,0,5,0,15,131,13,0,5,0,70,0,157,126,13,0,5,0,70,0,156,126,13,0,5,0,71,0,157,126,13,0,5,0,71,0,156,126,13,0,5,0,72,0,157,126,13,0,5,0,72,0,156,126,13,0,5,0,73,0,157,126,13,0,5,0,73,0,156,126,13,0,5,0,74,0,157,126,13,0,5,0,74,0,156,126,13,0,5,0,70,0,179,126,13,0,5,0,70,0,178,126,13,0,5,0,71,0,179,126,13,0,5,0,71,0,178,126,13,0,5,0,72,0,179,126,13,0,5,0,72,0,178,126,13,0,5,0,73,0,179,126,13,0,5,0,73,0,178,126,13,0,5,0,74,0,179,126,13,0,5,0,74,0,178,126,13,0,5,0,70,0,185,126,13,0,5,0,70,0,184,126,13,0,5,0,71,0,185,126,13,0,5,0,71,0,184,126,13,0,5,0,72,0,185,126,13,0,5,0,72,0,184,126,13,0,5,0,73,0,185,126,13,0,5,0,73,0,184,126,13,0,5,0,74,0,185,126,13,0,5,0,74,0,184,126,13,0,5,0,70,0,191,126,13,0,5,0,70,0,190,126,13,0,5,0,71,0,191,126,13,0,5,0,71,0,190,126,13,0,5,0,72,0,191,126,13,0,5,0,72,0,190,126,13,0,5,0,73,0,191,126,13,0,5,0,73,0,190,126,13,0,5,0,74,0,191,126,13,0,5,0,74,0,190,126,13,0,5,0,70,0,176,126,13,0,5,0,70,0,175,126,13,0,5,0,71,0,176,126,13,0,5,0,71,0,175,126,13,0,5,0,72,0,176,126,13,0,5,0,72,0,175,126,13,0,5,0,73,0,176,126,13,0,5,0,73,0,175,126,13,0,5,0,74,0,176,126,13,0,5,0,74,0,175,126,13,0,5,0,70,0,18,126,13,0,5,0,70,0,27,126,13,0,5,0,70,0,57,126,13,0,5,0,70,0,30,126,13,0,5,0,70,0,33,126,13,0,5,0,70,0,97,126,13,0,5,0,70,0,21,126,13,0,5,0,70,0,51,126,13,0,5,0,70,0,54,126,13,0,5,0,70,0,24,126,13,0,5,0,70,0,39,126,13,0,5,0,70,0,48,126,13,0,5,0,70,0,42,126,13,0,5,0,70,0,36,126,13,0,5,0,70,0,45,126,13,0,5,0,70,0,60,126,13,0,5,0,70,0,63,126,13,0,5,0,70,0,221,126,13,0,5,0,70,0,147,126,13,0,5,0,70,0,150,126,13,0,5,0,70,0,153,126,13,0,5,0,71,0,18,126,13,0,5,0,71,0,27,126,13,0,5,0,71,0,57,126,13,0,5,0,71,0,30,126,13,0,5,0,71,0,33,126,13,0,5,0,71,0,97,126,13,0,5,0,71,0,21,126,13,0,5,0,71,0,51,126,13,0,5,0,71,0,54,126,13,0,5,0,71,0,24,126,13,0,5,0,71,0,39,126,13,0,5,0,71,0,48,126,13,0,5,0,71,0,42,126,13,0,5,0,71,0,36,126,13,0,5,0,71,0,45,126,13,0,5,0,71,0,60,126,13,0,5,0,71,0,63,126,13,0,5,0,71,0,221,126,13,0,5,0,71,0,147,126,13,0,5,0,71,0,150,126,13,0,5,0,71,0,153,126,13,0,5,0,72,0,18,126,13,0,5,0,72,0,27,126,13,0,5,0,72,0,57,126,13,0,5,0,72,0,30,126,13,0,5,0,72,0,33,126,13,0,5,0,72,0,97,126,13,0,5,0,72,0,21,126,13,0,5,0,72,0,51,126,13,0,5,0,72,0,54,126,13,0,5,0,72,0,24,126,13,0,5,0,72,0,39,126,13,0,5,0,72,0,48,126,13,0,5,0,72,0,42,126,13,0,5,0,72,0,36,126,13,0,5,0,72,0,45,126,13,0,5,0,72,0,60,126,13,0,5,0,72,0,63,126,13,0,5,0,72,0,221,126,13,0,5,0,72,0,147,126,13,0,5,0,72,0,150,126,13,0,5,0,72,0,153,126,13,0,5,0,73,0,18,126,13,0,5,0,73,0,27,126,13,0,5,0,73,0,57,126,13,0,5,0,73,0,30,126,13,0,5,0,73,0,33,126,13,0,5,0,73,0,97,126,13,0,5,0,73,0,21,126,13,0,5,0,73,0,51,126,13,0,5,0,73,0,54,126,13,0,5,0,73,0,24,126,13,0,5,0,73,0,39,126,13,0,5,0,73,0,48,126,13,0,5,0,73,0,42,126,13,0,5,0,73,0,36,126,13,0,5,0,73,0,45,126,13,0,5,0,73,0,60,126,13,0,5,0,73,0,63,126,13,0,5,0,73,0,221,126,13,0,5,0,73,0,147,126,13,0,5,0,73,0,150,126,13,0,5,0,73,0,153,126,13,0,5,0,74,0,18,126,13,0,5,0,74,0,27,126,13,0,5,0,74,0,57,126,13,0,5,0,74,0,30,126,13,0,5,0,74,0,33,126,13,0,5,0,74,0,97,126,13,0,5,0,74,0,21,126,13,0,5,0,74,0,51,126,13,0,5,0,74,0,54,126,13,0,5,0,74,0,24,126,13,0,5,0,74,0,39,126,13,0,5,0,74,0,48,126,13,0,5,0,74,0,42,126,13,0,5,0,74,0,36,126,13,0,5,0,74,0,45,126,13,0,5,0,74,0,60,126,13,0,5,0,74,0,63,126,13,0,5,0,74,0,221,126,13,0,5,0,74,0,147,126,13,0,5,0,74,0,150,126,13,0,5,0,74,0,153,126,13,0,5,0,70,0,19,126,13,0,5,0,70,0,28,126,13,0,5,0,70,0,58,126,13,0,5,0,70,0,31,126,13,0,5,0,70,0,34,126,13,0,5,0,70,0,96,126,13,0,5,0,70,0,22,126,13,0,5,0,70,0,52,126,13,0,5,0,70,0,55,126,13,0,5,0,70,0,25,126,13,0,5,0,70,0,40,126,13,0,5,0,70,0,49,126,13,0,5,0,70,0,43,126,13,0,5,0,70,0,37,126,13,0,5,0,70,0,46,126,13,0,5,0,70,0,61,126,13,0,5,0,70,0,64,126,13,0,5,0,70,0,220,126,13,0,5,0,70,0,219,126,13,0,5,0,70,0,148,126,13,0,5,0,70,0,151,126,13,0,5,0,70,0,154,126,13,0,5,0,71,0,19,126,13,0,5,0,71,0,28,126,13,0,5,0,71,0,58,126,13,0,5,0,71,0,31,126,13,0,5,0,71,0,34,126,13,0,5,0,71,0,96,126,13,0,5,0,71,0,22,126,13,0,5,0,71,0,52,126,13,0,5,0,71,0,55,126,13,0,5,0,71,0,25,126,13,0,5,0,71,0,40,126,13,0,5,0,71,0,49,126,13,0,5,0,71,0,43,126,13,0,5,0,71,0,37,126,13,0,5,0,71,0,46,126,13,0,5,0,71,0,61,126,13,0,5,0,71,0,64,126,13,0,5,0,71,0,220,126,13,0,5,0,71,0,219,126,13,0,5,0,71,0,148,126,13,0,5,0,71,0,151,126,13,0,5,0,71,0,154,126,13,0,5,0,72,0,19,126,13,0,5,0,72,0,28,126,13,0,5,0,72,0,58,126,13,0,5,0,72,0,31,126,13,0,5,0,72,0,34,126,13,0,5,0,72,0,96,126,13,0,5,0,72,0,22,126,13,0,5,0,72,0,52,126,13,0,5,0,72,0,55,126,13,0,5,0,72,0,25,126,13,0,5,0,72,0,40,126,13,0,5,0,72,0,49,126,13,0,5,0,72,0,43,126,13,0,5,0,72,0,37,126,13,0,5,0,72,0,46,126,13,0,5,0,72,0,61,126,13,0,5,0,72,0,64,126,13,0,5,0,72,0,220,126,13,0,5,0,72,0,219,126,13,0,5,0,72,0,148,126,13,0,5,0,72,0,151,126,13,0,5,0,72,0,154,126,13,0,5,0,73,0,19,126,13,0,5,0,73,0,28,126,13,0,5,0,73,0,58,126,13,0,5,0,73,0,31,126,13,0,5,0,73,0,34,126,13,0,5,0,73,0,96,126,13,0,5,0,73,0,22,126,13,0,5,0,73,0,52,126,13,0,5,0,73,0,55,126,13,0,5,0,73,0,25,126,13,0,5,0,73,0,40,126,13,0,5,0,73,0,49,126,13,0,5,0,73,0,43,126,13,0,5,0,73,0,37,126,13,0,5,0,73,0,46,126,13,0,5,0,73,0,61,126,13,0,5,0,73,0,64,126,13,0,5,0,73,0,220,126,13,0,5,0,73,0,219,126,13,0,5,0,73,0,148,126,13,0,5,0,73,0,151,126,13,0,5,0,73,0,154,126,13,0,5,0,74,0,19,126,13,0,5,0,74,0,28,126,13,0,5,0,74,0,58,126,13,0,5,0,74,0,31,126,13,0,5,0,74,0,34,126,13,0,5,0,74,0,96,126,13,0,5,0,74,0,22,126,13,0,5,0,74,0,52,126,13,0,5,0,74,0,55,126,13,0,5,0,74,0,25,126,13,0,5,0,74,0,40,126,13,0,5,0,74,0,49,126,13,0,5,0,74,0,43,126,13,0,5,0,74,0,37,126,13,0,5,0,74,0,46,126,13,0,5,0,74,0,61,126,13,0,5,0,74,0,64,126,13,0,5,0,74,0,220,126,13,0,5,0,74,0,219,126,13,0,5,0,74,0,148,126,13,0,5,0,74,0,151,126,13,0,5,0,74,0,154,126,13,0,5,0,70,0,220,126,13,0,5,224,251,0,0,0,0,0,5,0,71,0,220,126,13,0,5,0,252,0,0,0,0,0,5,0,72,0,220,126,13,0,5,0,253,0,0,0,0,0,5,0,73,0,220,126,13,0,5,0,254,0,0,0,0,0,5,0,74,0,220,126,13,0,5,0,255,0,0,0,0,0,5,0,70,0,221,126,13,0,5,224,251,0,0,0,0,0,5,0,71,0,221,126,13,0,5,0,252,0,0,0,0,0,5,0,72,0,221,126,13,0,5,0,253,0,0,0,0,0,5,0,73,0,221,126,13,0,5,0,254,0,0,0,0,0,5,0,74,0,221,126,13,0,5,0,255,0,0,0,0,0,5,0,70,0,219,126,13,0,5,224,251,0,0,0,0,0,5,0,71,0,219,126,13,0,5,0,252,0,0,0,0,0,5,0,72,0,219,126,13,0,5,0,253,0,0,0,0,0,5,0,73,0,219,126,13,0,5,0,254,0,0,0,0,0,5,0,74,0,219,126,13,0,5,0,255,0,0,0,0,0,5,0,70,0,67,126,13,0,5,0,70,0,66,126,13,0,5,0,71,0,67,126,13,0,5,0,71,0,66,126,13,0,5,0,72,0,67,126,13,0,5,0,72,0,66,126,13,0,5,0,73,0,67,126,13,0,5,0,73,0,66,126,13,0,5,0,74,0,67,126,13,0,5,0,74,0,66,126,13,0,5,0,70,0,91,126,13,0,5,0,70,0,90,126,13,0,5,0,71,0,91,126,13,0,5,0,71,0,90,126,13,0,5,0,72,0,91,126,13,0,5,0,72,0,90,126,13,0,5,0,73,0,91,126,13,0,5,0,73,0,90,126,13,0,5,0,74,0,91,126,13,0,5,0,74,0,90,126,13,0,5,0,70,0,229,125,13,0,5,0,76,0,235,125,13,0,5,0,77,0,231,125,13,0,5,0,77,0,235,125,13,0,5,0,78,0,231,125,13,0,5,0,78,0,235,125,13,0,5,0,79,0,231,125,13,0,5,0,79,0,235,125,13,0,5,0,80,0,231,125,13,0,5,0,80,0,235,125,13,0,5,0,81,0,231,125,13,0,5,0,81,0,235,125,13,0,5,0,82,0,231,125,13,0,5,0,70,0,83,126,13,0,5,0,70,0,82,126,13,0,5,0,71,0,83,126,13,0,5,0,71,0,82,126,13,0,5,0,72,0,83,126,13,0,5,0,72,0,82,126,13,0,5,0,73,0,83,126,13,0,5,0,73,0,82,126,13,0,5,0,74,0,83,126,13,0,5,0,74,0,82,126,13,0,5,0,70,0,77,126,13,0,5,0,70,0,76,126,13,0,5,0,71,0,77,126,13,0,5,0,71,0,76,126,13,0,5,0,72,0,77,126,13,0,5,0,72,0,76,126,13,0,5,0,73,0,77,126,13,0,5,0,73,0,76,126,13,0,5,0,74,0,77,126,13,0,5,0,74,0,76,126,13,0,5,0,70,0,255,125,13,0,5,0,70,0,254,125,13,0,5,0,71,0,255,125,13,0,5,0,71,0,254,125,13,0,5,0,72,0,255,125,13,0,5,0,72,0,254,125,13,0,5,0,73,0,255,125,13,0,5,0,73,0,254,125,13,0,5,0,74,0,255,125,13,0,5,0,74,0,254,125,13,0,5,0,70,0,73,126,13,0,5,0,70,0,72,126,13,0,5,0,71,0,73,126,13,0,5,0,71,0,72,126,13,0,5,0,72,0,73,126,13,0,5,0,72,0,72,126,13,0,5,0,73,0,73,126,13,0,5,0,73,0,72,126,13,0,5,0,74,0,73,126,13,0,5,0,74,0,72,126,13,0,5,0,70,0,133,126,13,0,5,0,70,0,132,126,13,0,5,0,71,0,133,126,13,0,5,0,71,0,132,126,13,0,5,0,72,0,133,126,13,0,5,0,72,0,132,126,13,0,5,0,73,0,133,126,13,0,5,0,73,0,132,126,13,0,5,0,74,0,133,126,13,0,5,0,74,0,132,126,13,0,5,0,70,0,136,126,13,0,5,0,70,0,135,126,13,0,5,0,71,0,136,126,13,0,5,0,71,0,135,126,13,0,5,0,72,0,136,126,13,0,5,0,72,0,135,126,13,0,5,0,73,0,136,126,13,0,5,0,73,0,135,126,13,0,5,0,74,0,136,126,13,0,5,0,74,0,135,126,13,0,5,0,70,0,70,126,13,0,5,0,70,0,69,126,13,0,5,0,71,0,70,126,13,0,5,0,71,0,69,126,13,0,5,0,72,0,70,126,13,0,5,0,72,0,69,126,13,0,5,0,73,0,70,126,13,0,5,0,73,0,69,126,13,0,5,0,74,0,70,126,13,0,5,0,74,0,69,126,13,0,5,0,70,0,249,125,13,0,5,0,70,0,248,125,13,0,5,0,71,0,249,125,13,0,5,0,71,0,248,125,13,0,5,0,72,0,249,125,13,0,5,0,72,0,248,125,13,0,5,0,73,0,249,125,13,0,5,0,73,0,248,125,13,0,5,0,74,0,249,125,13,0,5,0,74,0,248,125,13,0,5,0,70,0,252,125,13,0,5,0,70,0,251,125,13,0,5,0,71,0,252,125,13,0,5,0,71,0,251,125,13,0,5,0,72,0,252,125,13,0,5,0,72,0,251,125,13,0,5,0,73,0,252,125,13,0,5,0,73,0,251,125,13,0,5,0,74,0,252,125,13,0,5,0,74,0,251,125,13,0,5,0,70,0,10,126,13,0,5,0,70,0,9,126,13,0,5,0,71,0,10,126,13,0,5,0,71,0,9,126,13,0,5,0,72,0,10,126,13,0,5,0,72,0,9,126,13,0,5,0,73,0,10,126,13,0,5,0,73,0,9,126,13,0,5,0,74,0,10,126,13,0,5,0,74,0,9,126,13,0,5,0,70,0,4,126,13,0,5,0,70,0,3,126,13,0,5,0,71,0,4,126,13,0,5,0,71,0,3,126,13,0,5,0,72,0,4,126,13,0,5,0,72,0,3,126,13,0,5,0,73,0,4,126,13,0,5,0,73,0,3,126,13,0,5,0,74,0,4,126,13,0,5,0,74,0,3,126,13,0,5,0,70,0,243,125,13,0,5,0,70,0,242,125,13,0,5,0,71,0,243,125,13,0,5,0,71,0,242,125,13,0,5,0,72,0,243,125,13,0,5,0,72,0,242,125,13,0,5,0,73,0,243,125,13,0,5,0,73,0,242,125,13,0,5,0,74,0,243,125,13,0,5,0,74,0,242,125,13,0,5,0,70,0,246,125,13,0,5,0,70,0,245,125,13,0,5,0,71,0,246,125,13,0,5,0,71,0,245,125,13,0,5,0,72,0,246,125,13,0,5,0,72,0,245,125,13,0,5,0,73,0,246,125,13,0,5,0,73,0,245,125,13,0,5,0,74,0,246,125,13,0,5,0,74,0,245,125,13,0,5,0,70,0,182,126,13,0,5,0,70,0,181,126,13,0,5,0,71,0,182,126,13,0,5,0,71,0,181,126,13,0,5,0,72,0,182,126,13,0,5,0,72,0,181,126,13,0,5,0,73,0,182,126,13,0,5,0,73,0,181,126,13,0,5,0,74,0,182,126,13,0,5,0,74,0,181,126,13,0,5,0,70,0,194,126,13,0,5,0,70,0,193,126,13,0,5,0,71,0,194,126,13,0,5,0,71,0,193,126,13,0,5,0,72,0,194,126,13,0,5,0,72,0,193,126,13,0,5,0,73,0,194,126,13,0,5,0,73,0,193,126,13,0,5,0,74,0,194,126,13,0,5,0,74,0,193,126,13,0,5,0,70,0,197,126,13,0,5,0,70,0,196,126,13,0,5,0,71,0,197,126,13,0,5,0,71,0,196,126,13,0,5,0,72,0,197,126,13,0,5,0,72,0,196,126,13,0,5,0,73,0,197,126,13,0,5,0,73,0,196,126,13,0,5,0,74,0,197,126,13,0,5,0,74,0,196,126,13,0,5,0,70,0,139,126,13,0,5,0,70,0,138,126,13,0,5,0,71,0,139,126,13,0,5,0,71,0,138,126,13,0,5,0,72,0,139,126,13,0,5,0,72,0,138,126,13,0,5,0,73,0,139,126,13,0,5,0,73,0,138,126,13,0,5,0,74,0,139,126,13,0,5,0,74,0,138,126,13,0,5,0,70,0,13,126,13,0,5,0,70,0,12,126,13,0,5,0,71,0,13,126,13,0,5,0,71,0,12,126,13,0,5,0,72,0,13,126,13,0,5,0,72,0,12,126,13,0,5,0,73,0,13,126,13,0,5,0,73,0,12,126,13,0,5,0,74,0,13,126,13,0,5,0,74,0,12,126,13,0,5,0,70,0,88,126,13,0,5,0,70,0,87,126,13,0,5,0,71,0,88,126,13,0,5,0,71,0,87,126,13,0,5,0,72,0,88,126,13,0,5,0,72,0,87,126,13,0,5,0,73,0,88,126,13,0,5,0,73,0,87,126,13,0,5,0,74,0,88,126,13,0,5,0,74,0,87,126,13,0,5,0,70,0,16,126,13,0,5,0,70,0,15,126,13,0,5,0,71,0,16,126,13,0,5,0,71,0,15,126,13,0,5,0,72,0,16,126,13,0,5,0,72,0,15,126,13,0,5,0,73,0,16,126,13,0,5,0,73,0,15,126,13,0,5,0,74,0,16,126,13,0,5,0,74,0,15,126,13,0,5,0,70,0,200,126,13,0,5,0,70,0,199,126,13,0,5,0,71,0,200,126,13,0,5,0,71,0,199,126,13,0,5,0,72,0,200,126,13,0,5,0,72,0,199,126,13,0,5,0,73,0,200,126,13,0,5,0,73,0,199,126,13,0,5,0,74,0,200,126,13,0,5,0,74,0,199,126,13,0,5,0,70,0,212,126,13,0,5,0,70,0,211,126,13,0,5,0,71,0,212,126,13,0,5,0,71,0,211,126,13,0,5,0,72,0,212,126,13,0,5,0,72,0,211,126,13,0,5,0,73,0,212,126,13,0,5,0,73,0,211,126,13,0,5,0,74,0,212,126,13,0,5,0,74,0,211,126,13,0,5,0,70,0,206,126,13,0,5,0,70,0,205,126,13,0,5,0,71,0,206,126,13,0,5,0,71,0,205,126,13,0,5,0,72,0,206,126,13,0,5,0,72,0,205,126,13,0,5,0,73,0,206,126,13,0,5,0,73,0,205,126,13,0,5,0,74,0,206,126,13,0,5,0,74,0,205,126,13,0,5,0,70,0,209,126,13,0,5,0,70,0,208,126,13,0,5,0,71,0,209,126,13,0,5,0,71,0,208,126,13,0,5,0,72,0,209,126,13,0,5,0,72,0,208,126,13,0,5,0,73,0,209,126,13,0,5,0,73,0,208,126,13,0,5,0,74,0,209,126,13,0,5,0,74,0,208,126,13,0,5,0,70,0,105,126,13,0,5,0,70,0,104,126,13,0,5,0,71,0,105,126,13,0,5,0,71,0,104,126,13,0,5,0,72,0,105,126,13,0,5,0,72,0,104,126,13,0,5,0,73,0,105,126,13,0,5,0,73,0,104,126,13,0,5,0,74,0,105,126,13,0,5,0,74,0,104,126,13,0,5,0,70,0,108,126,13,0,5,0,70,0,107,126,13,0,5,0,71,0,108,126,13,0,5,0,71,0,107,126,13,0,5,0,72,0,108,126,13,0,5,0,72,0,107,126,13,0,5,0,73,0,108,126,13,0,5,0,73,0,107,126,13,0,5,0,74,0,108,126,13,0,5,0,74,0,107,126,13,0,5,0,70,0,142,126,13,0,5,0,70,0,141,126,13,0,5,0,71,0,142,126,13,0,5,0,71,0,141,126,13,0,5,0,72,0,142,126,13,0,5,0,72,0,141,126,13,0,5,0,73,0,142,126,13,0,5,0,73,0,141,126,13,0,5,0,74,0,142,126,13,0,5,0,74,0,141,126,13,0,5,0,70,0,145,126,13,0,5,0,70,0,144,126,13,0,5,0,71,0,145,126,13,0,5,0,71,0,144,126,13,0,5,0,72,0,145,126,13,0,5,0,72,0,144,126,13,0,5,0,73,0,145,126,13,0,5,0,73,0,144,126,13,0,5,0,74,0,145,126,13,0,5,0,74,0,144,126,13,0,5,0,70,0,7,126,13,0,5,0,70,0,6,126,13,0,5,0,71,0,7,126,13,0,5,0,71,0,6,126,13,0,5,0,72,0,7,126,13,0,5,0,72,0,6,126,13,0,5,0,73,0,7,126,13,0,5,0,73,0,6,126,13,0,5,0,74,0,7,126,13,0,5,0,74,0,6,126,13,0,5,0,70,0,17,126,13,0,5,0,70,0,26,126,13,0,5,0,70,0,56,126,13,0,5,0,70,0,29,126,13,0,5,0,70,0,32,126,13,0,5,0,70,0,98,126,13,0,5,0,70,0,102,126,13,0,5,0,70,0,20,126,13,0,5,0,70,0,50,126,13,0,5,0,70,0,53,126,13,0,5,0,70,0,23,126,13,0,5,0,70,0,38,126,13,0,5,0,70,0,47,126,13,0,5,0,70,0,41,126,13,0,5,0,70,0,35,126,13,0,5,0,70,0,44,126,13,0,5,0,70,0,59,126,13,0,5,0,70,0,62,126,13,0,5,0,70,0,218,126,13,0,5,0,70,0,146,126,13,0,5,0,70,0,149,126,13,0,5,0,70,0,152,126,13,0,5,0,71,0,17,126,13,0,5,0,71,0,26,126,13,0,5,0,71,0,56,126,13,0,5,0,71,0,29,126,13,0,5,0,71,0,32,126,13,0,5,0,71,0,98,126,13,0,5,0,71,0,102,126,13,0,5,0,71,0,20,126,13,0,5,0,71,0,50,126,13,0,5,0,71,0,53,126,13,0,5,0,71,0,23,126,13,0,5,0,71,0,38,126,13,0,5,0,71,0,47,126,13,0,5,0,71,0,41,126,13,0,5,0,71,0,35,126,13,0,5,0,71,0,44,126,13,0,5,0,71,0,59,126,13,0,5,0,71,0,62,126,13,0,5,0,71,0,218,126,13,0,5,0,71,0,146,126,13,0,5,0,71,0,149,126,13,0,5,0,71,0,152,126,13,0,5,0,72,0,17,126,13,0,5,0,72,0,26,126,13,0,5,0,72,0,56,126,13,0,5,0,72,0,29,126,13,0,5,0,72,0,32,126,13,0,5,0,72,0,98,126,13,0,5,0,72,0,102,126,13,0,5,0,72,0,20,126,13,0,5,0,72,0,50,126,13,0,5,0,72,0,53,126,13,0,5,0,72,0,23,126,13,0,5,0,72,0,38,126,13,0,5,0,72,0,47,126,13,0,5,0,72,0,41,126,13,0,5,0,72,0,35,126,13,0,5,0,72,0,44,126,13,0,5,0,72,0,59,126,13,0,5,0,72,0,62,126,13,0,5,0,72,0,218,126,13,0,5,0,72,0,146,126,13,0,5,0,72,0,149,126,13,0,5,0,72,0,152,126,13,0,5,0,73,0,17,126,13,0,5,0,73,0,26,126,13,0,5,0,73,0,56,126,13,0,5,0,73,0,29,126,13,0,5,0,73,0,32,126,13,0,5,0,73,0,98,126,13,0,5,0,73,0,102,126,13,0,5,0,73,0,20,126,13,0,5,0,73,0,50,126,13,0,5,0,73,0,53,126,13,0,5,0,73,0,23,126,13,0,5,0,73,0,38,126,13,0,5,0,73,0,47,126,13,0,5,0,73,0,41,126,13,0,5,0,73,0,35,126,13,0,5,0,73,0,44,126,13,0,5,0,73,0,59,126,13,0,5,0,73,0,62,126,13,0,5,0,73,0,218,126,13,0,5,0,73,0,146,126,13,0,5,0,73,0,149,126,13,0,5,0,73,0,152,126,13,0,5,0,74,0,17,126,13,0,5,0,74,0,26,126,13,0,5,0,74,0,56,126,13,0,5,0,74,0,29,126,13,0,5,0,74,0,32,126,13,0,5,0,74,0,98,126,13,0,5,0,74,0,102,126,13,0,5,0,74,0,20,126,13,0,5,0,74,0,50,126,13,0,5,0,74,0,53,126,13,0,5,0,74,0,23,126,13,0,5,0,74,0,38,126,13,0,5,0,74,0,47,126,13,0,5,0,74,0,41,126,13,0,5,0,74,0,35,126,13,0,5,0,74,0,44,126,13,0,5,0,74,0,59,126,13,0,5,0,74,0,62,126,13,0,5,0,74,0,218,126,13,0,5,0,74,0,146,126,13,0,5,0,74,0,149,126,13,0,5,0,74,0,152,126,13,0,5,0,70,0,231,125,13,0,5,0,70,0,235,125,13,0,5,0,71,0,231,125,13,0,5,0,71,0,235,125,13,0,5,0,72,0,231,125,13,0,5,0,72,0,235,125,13,0,5,0,73,0,231,125,13,0,5,0,73,0,235,125,13,0,5,0,74,0,231,125,13,0,5,0,74,0,235,125,13,0,5,0,75,0,231,125,13,0,5,0,75,0,235,125,13,0,5,0,76,0,231,125,13,0,5,0,70,0,166,126,13,0,5,0,70,0,165,126,13,0,5,0,71,0,166,126,13,0,5,0,71,0,165,126,13,0,5,0,72,0,166,126,13,0,5,0,72,0,165,126,13,0,5,0,73,0,166,126,13,0,5,0,73,0,165,126,13,0,5,0,74,0,166,126,13,0,5,0,74,0,165,126,13,0,5,0,70,0,169,126,13,0,5,0,70,0,168,126,13,0,5,0,71,0,169,126,13,0,5,0,71,0,168,126,13,0,5,0,72,0,169,126,13,0,5,0,72,0,168,126,13,0,5,0,73,0,169,126,13,0,5,0,73,0,168,126,13,0,5,0,74,0,169,126,13,0,5,0,74,0,168,126,13,0,5,0,70,0,215,126,13,0,5,0,70,0,214,126,13,0,5,0,71,0,215,126,13,0,5,0,71,0,214,126,13,0,5,0,72,0,215,126,13,0,5,0,72,0,214,126,13,0,5,0,73,0,215,126,13,0,5,0,73,0,214,126,13,0,5,0,74,0,215,126,13,0,5,0,74,0,214,126,13,0,5,0,70,0,111,126,13,0,5,0,70,0,110,126,13,0,5,0,71,0,111,126,13,0,5,0,71,0,110,126,13,0,5,0,72,0,111,126,13,0,5,0,72,0,110,126,13,0,5,0,73,0,111,126,13,0,5,0,73,0,110,126,13,0,5,0,74,0,111,126,13,0,5,0,74,0,110,126,13,0,5,0,70,0,114,126,13,0,5,0,70,0,113,126,13,0,5,0,71,0,114,126,13,0,5,0,71,0,113,126,13,0,5,0,72,0,114,126,13,0,5,0,72,0,113,126,13,0,5,0,73,0,114,126,13,0,5,0,73,0,113,126,13,0,5,0,74,0,114,126,13,0,5,0,74,0,113,126,13,0,5,0,70,0,117,126,13,0,5,0,70,0,116,126,13,0,5,0,71,0,117,126,13,0,5,0,71,0,116,126,13,0,5,0,72,0,117,126,13,0,5,0,72,0,116,126,13,0,5,0,73,0,117,126,13,0,5,0,73,0,116,126,13,0,5,0,74,0,117,126,13,0,5,0,74,0,116,126,13,0,5,0,70,0,120,126,13,0,5,0,70,0,119,126,13,0,5,0,71,0,120,126,13,0,5,0,71,0,119,126,13,0,5,0,72,0,120,126,13,0,5,0,72,0,119,126,13,0,5,0,73,0,120,126,13,0,5,0,73,0,119,126,13,0,5,0,74,0,120,126,13,0,5,0,74,0,119,126,13,0,5,0,70,0,123,126,13,0,5,0,70,0,122,126,13,0,5,0,71,0,123,126,13,0,5,0,71,0,122,126,13,0,5,0,72,0,123,126,13,0,5,0,72,0,122,126,13,0,5,0,73,0,123,126,13,0,5,0,73,0,122,126,13,0,5,0,74,0,123,126,13,0,5,0,74,0,122,126,13,0,0,0,0,193,133,130,13,5,158,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,201,192,2,0,201,32,4,0,201,128,5,0,201,224,6,0,201,64,8,0,201,160,9,0,201,0,11,0,201,96,12,0,201,192,13,0,201,32,15,0,150,10,5,5,1,0,227,32,130,205,193,235,15,254,48,0,227,32,130,205,193,235,128,10,5,5,1,0,227,32,130,205,193,236,15,254,48,0,227,32,130,205,193,236,0,19,5,5,1,0,227,32,130,205,193,237,15,254,48,0,227,32,130,205,193,237,0,21,5,5,1,0,227,32,130,205,193,238,15,254,48,0,227,32,130,205,193,238,0,23,5,5,1,0,227,32,130,205,193,239,15,254,48,0,227,32,130,205,193,239,0,25,5,5,1,0,227,32,130,205,193,240,15,254,48,0,227,32,130,205,193,240,0,27,5,5,1,0,227,32,130,205,193,241,15,254,48,0,227,32,130,205,193,241,0,29,5,5,1,0,227,32,130,205,193,242,15,254,48,0,227,32,130,205,193,242,0,31,5,5,1,0,227,32,130,205,193,243,15,254,48,0,227,32,130,205,193,243,0,33,5,5,1,0,227,32,130,205,193,244,15,254,48,0,227,32,130,205,193,244,0,35,5,5,1,0,227,32,130,205,193,245,15,254,48,0,227,32,130,205,193,245,0,37,5,5,1,0,227,32,130,205,193,246,15,254,48,0,227,32,130,205,193,246,126,13,193,186,2,0,13,32,5,0,60,216,10,0,15,254,48,0,13,32,1,0,64,38,126,205,193,188,66,38,126,205,193,187,4,0,251,223,16,0,252,223,22,0,253,223,29,0,254,223,36,0,255,223,48,0,13,32,1,0,64,38,1,192,198,33,66,38,1,192,198,65,48,0,13,32,1,0,64,38,198,161,66,38,0,192,198,65,48,0,13,32,1,0,64,38,0,192,198,97,66,38,0,192,198,129,48,0,13,32,1,0,64,38,0,192,198,161,66,38,0,192,198,193,48,0,13,32,1,0,64,38,0,192,198,225,66,38,1,192,198,1,125,13,193,138,1,0,13,32,3,0,15,254,48,0,13,32,1,0,61,216,5,0,62,216,48,0,121,222,125,205,193,137,48,0,37,221,125,205,193,136,126,13,193,155,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,4,192,198,65,66,38,4,192,198,97,48,0,13,32,1,0,64,38,3,192,198,65,66,38,3,192,198,97,48,0,13,32,1,0,64,38,3,192,198,129,66,38,3,192,198,161,48,0,13,32,1,0,64,38,3,192,198,193,66,38,3,192,198,225,48,0,13,32,1,0,64,38,4,192,198,1,66,38,4,192,198,33,1,0,64,38,126,205,193,157,66,38,126,205,193,156,126,13,193,177,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,5,192,198,129,66,38,5,192,198,161,48,0,13,32,1,0,64,38,4,192,198,129,66,38,4,192,198,161,48,0,13,32,1,0,64,38,4,192,198,193,66,38,4,192,198,225,48,0,13,32,1,0,64,38,5,192,198,1,66,38,5,192,198,33,48,0,13,32,1,0,64,38,5,192,198,65,66,38,5,192,198,97,1,0,64,38,126,205,193,179,66,38,126,205,193,178,126,13,193,183,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,6,192,198,193,66,38,6,192,198,225,48,0,13,32,1,0,64,38,5,192,198,193,66,38,5,192,198,225,48,0,13,32,1,0,64,38,6,192,198,1,66,38,6,192,198,33,48,0,13,32,1,0,64,38,6,192,198,65,66,38,6,192,198,97,48,0,13,32,1,0,64,38,6,192,198,129,66,38,6,192,198,161,1,0,64,38,126,205,193,185,66,38,126,205,193,184,126,13,193,189,2,0,13,32,5,0,60,216,10,0,15,254,48,0,13,32,1,0,64,38,126,205,193,191,66,38,126,205,193,190,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,8,192,198,1,66,38,8,192,198,33,48,0,13,32,1,0,64,38,7,192,198,1,66,38,7,192,198,33,48,0,13,32,1,0,64,38,7,192,198,65,66,38,7,192,198,97,48,0,13,32,1,0,64,38,7,192,198,129,66,38,7,192,198,161,48,0,13,32,1,0,64,38,7,192,198,193,66,38,7,192,198,225,126,13,193,174,2,0,13,32,5,0,60,216,10,0,15,254,48,0,13,32,1,0,64,38,126,205,193,176,66,38,126,205,193,175,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,9,192,198,65,66,38,9,192,198,97,48,0,13,32,1,0,64,38,8,192,198,65,66,38,8,192,198,97,48,0,13,32,1,0,64,38,8,192,198,129,66,38,8,192,198,161,48,0,13,32,1,0,64,38,8,192,198,193,66,38,8,192,198,225,48,0,13,32,1,0,64,38,9,192,198,1,66,38,9,192,198,33,131,13,193,71,1,0,13,32,3,0,15,254,48,0,13,32,1,0,167,38,131,205,193,73,60,216,48,0,8,223,131,205,193,72,131,13,193,70,1,0,13,32,39,0,64,219,51,0,103,220,64,219,98,220,64,219,2,0,101,220,12,0,115,220,19,0,119,220,53,0,64,219,108,220,64,219,115,220,64,219,127,220,131,205,193,103,53,0,64,219,110,220,64,219,103,220,64,219,127,220,131,205,193,101,53,0,64,219,99,220,64,219,116,220,64,219,127,220,131,205,193,102,48,0,32,38,131,205,193,74,127,13,193,24,49,0,13,32,27,43,127,205,193,25,127,13,193,16,50,0,13,32,62,216,186,221,127,205,193,18,127,13,193,83,49,0,13,32,27,43,127,205,193,96,127,13,193,67,49,0,13,32,68,39,127,205,193,68,125,13,193,221,1,0,13,32,7,0,15,254,50,0,13,32,61,216,232,221,125,205,193,159,49,0,61,216,232,221,125,205,193,159,125,13,193,231,1,0,13,32,180,1,60,216,4,0,251,223,92,0,252,223,175,0,253,223,2,1,254,223,85,1,255,223,48,0,13,32,5,0,60,216,71,0,60,216,21,0,61,216,46,0,62,216,3,0,29,221,9,0,175,221,22,192,198,65,188,221,22,192,198,97,189,221,22,192,198,129,50,0,13,32,61,216,104,220,22,192,198,33,7,0,164,223,12,0,164,223,20,192,198,225,168,223,21,192,198,1,235,223,21,192,198,33,237,223,21,192,198,65,62,223,20,192,198,97,115,223,20,192,198,129,124,223,20,192,198,161,147,223,20,192,198,193,5,0,44,221,9,0,44,221,21,192,198,193,128,222,21,192,198,225,146,222,22,192,198,1,187,220,21,192,198,97,188,220,21,192,198,129,39,221,21,192,198,161,149,38,20,192,198,1,150,38,20,192,198,33,8,39,20,192,198,65,48,0,13,32,5,0,60,216,71,0,60,216,21,0,61,216,46,0,62,216,3,0,29,221,9,0,175,221,11,192,198,193,188,221,11,192,198,225,189,221,12,192,198,1,50,0,13,32,61,216,104,220,11,192,198,161,7,0,164,223,12,0,164,223,10,192,198,97,168,223,10,192,198,129,235,223,10,192,198,161,237,223,10,192,198,193,62,223,9,192,198,225,115,223,10,192,198,1,124,223,10,192,198,33,147,223,10,192,198,65,5,0,44,221,9,0,44,221,11,192,198,65,128,222,11,192,198,97,146,222,11,192,198,129,187,220,10,192,198,225,188,220,11,192,198,1,39,221,11,192,198,33,149,38,9,192,198,129,150,38,9,192,198,161,8,39,9,192,198,193,48,0,13,32,5,0,60,216,71,0,60,216,21,0,61,216,46,0,62,216,3,0,29,221,9,0,175,221,14,192,198,97,188,221,14,192,198,129,189,221,14,192,198,161,50,0,13,32,61,216,104,220,14,192,198,65,7,0,164,223,12,0,164,223,13,192,198,1,168,223,13,192,198,33,235,223,13,192,198,65,237,223,13,192,198,97,62,223,12,192,198,129,115,223,12,192,198,161,124,223,12,192,198,193,147,223,12,192,198,225,5,0,44,221,9,0,44,221,13,192,198,225,128,222,14,192,198,1,146,222,14,192,198,33,187,220,13,192,198,129,188,220,13,192,198,161,39,221,13,192,198,193,149,38,12,192,198,33,150,38,12,192,198,65,8,39,12,192,198,97,48,0,13,32,5,0,60,216,71,0,60,216,21,0,61,216,46,0,62,216,3,0,29,221,9,0,175,221,17,192,198,1,188,221,17,192,198,33,189,221,17,192,198,65,50,0,13,32,61,216,104,220,16,192,198,225,7,0,164,223,12,0,164,223,15,192,198,161,168,223,15,192,198,193,235,223,15,192,198,225,237,223,16,192,198,1,62,223,15,192,198,33,115,223,15,192,198,65,124,223,15,192,198,97,147,223,15,192,198,129,5,0,44,221,9,0,44,221,16,192,198,129,128,222,16,192,198,161,146,222,16,192,198,193,187,220,16,192,198,33,188,220,16,192,198,65,39,221,16,192,198,97,149,38,14,192,198,193,150,38,14,192,198,225,8,39,15,192,198,1,48,0,13,32,5,0,60,216,71,0,60,216,21,0,61,216,46,0,62,216,3,0,29,221,9,0,175,221,19,192,198,161,188,221,19,192,198,193,189,221,19,192,198,225,50,0,13,32,61,216,104,220,19,192,198,129,7,0,164,223,12,0,164,223,18,192,198,65,168,223,18,192,198,97,235,223,18,192,198,129,237,223,18,192,198,161,62,223,17,192,198,193,115,223,17,192,198,225,124,223,18,192,198,1,147,223,18,192,198,33,5,0,44,221,9,0,44,221,19,192,198,33,128,222,19,192,198,65,146,222,19,192,198,97,187,220,18,192,198,193,188,220,18,192,198,225,39,221,19,192,198,1,149,38,17,192,198,97,150,38,17,192,198,129,8,39,17,192,198,161,6,0,100,39,178,0,100,39,15,0,60,216,44,0,61,216,69,0,62,216,2,0,175,221,126,205,193,147,188,221,126,205,193,150,189,221,126,205,193,153,1,0,13,32,15,0,15,254,49,0,13,32,61,216,1,0,104,220,126,205,193,228,139,220,50,0,13,32,61,216,104,220,126,205,193,224,48,0,61,216,1,0,104,220,126,205,193,228,139,220,50,0,13,32,61,216,104,220,126,205,193,224,7,0,164,223,12,0,164,223,126,205,193,51,168,223,126,205,193,54,235,223,126,205,193,24,237,223,126,205,193,39,62,223,126,205,193,30,115,223,126,205,193,33,124,223,126,205,193,97,147,223,126,205,193,21,9,0,188,220,15,0,188,220,126,205,193,42,39,221,126,205,193,36,44,221,126,205,193,45,128,222,126,205,193,60,146,222,126,205,193,63,102,220,9,0,103,220,15,0,104,220,25,0,105,220,50,0,187,220,126,205,193,48,242,127,126,13,193,246,13,32,61,216,102,220,126,205,193,247,241,127,126,13,193,248,13,32,61,216,1,0,102,220,126,205,193,249,103,220,126,205,193,250,49,0,13,32,61,216,1,0,102,220,13,0,103,220,241,127,126,13,193,237,13,32,61,216,1,0,102,220,126,205,193,238,103,220,126,205,193,240,242,127,126,13,193,236,13,32,61,216,102,220,126,205,193,239,49,0,13,32,61,216,1,0,102,220,13,0,103,220,241,127,126,13,193,232,13,32,61,216,1,0,102,220,126,205,193,233,103,220,126,205,193,235,242,127,126,13,193,231,13,32,61,216,102,220,126,205,193,234,149,38,126,205,193,18,150,38,126,205,193,27,8,39,126,205,193,57,125,13,193,235,1,0,13,32,200,1,60,216,4,0,251,223,96,0,252,223,183,0,253,223,14,1,254,223,101,1,255,223,48,0,13,32,5,0,60,216,75,0,60,216,25,0,61,216,50,0,62,216,3,0,29,221,9,0,175,221,36,192,198,1,188,221,36,192,198,33,189,221,36,192,198,65,49,0,13,32,61,216,1,0,104,220,35,192,198,193,105,220,35,192,198,225,7,0,164,223,12,0,164,223,34,192,198,129,168,223,34,192,198,161,235,223,34,192,198,193,237,223,34,192,198,225,62,223,34,192,198,1,115,223,34,192,198,33,124,223,34,192,198,65,147,223,34,192,198,97,5,0,44,221,9,0,44,221,35,192,198,97,128,222,35,192,198,129,146,222,35,192,198,161,187,220,35,192,198,1,188,220,35,192,198,33,39,221,35,192,198,65,149,38,33,192,198,161,150,38,33,192,198,193,8,39,33,192,198,225,48,0,13,32,5,0,60,216,75,0,60,216,25,0,61,216,50,0,62,216,3,0,29,221,9,0,175,221,25,192,198,1,188,221,25,192,198,33,189,221,25,192,198,65,49,0,13,32,61,216,1,0,104,220,24,192,198,193,105,220,24,192,198,225,7,0,164,223,12,0,164,223,23,192,198,129,168,223,23,192,198,161,235,223,23,192,198,193,237,223,23,192,198,225,62,223,23,192,198,1,115,223,23,192,198,33,124,223,23,192,198,65,147,223,23,192,198,97,5,0,44,221,9,0,44,221,24,192,198,97,128,222,24,192,198,129,146,222,24,192,198,161,187,220,24,192,198,1,188,220,24,192,198,33,39,221,24,192,198,65,149,38,22,192,198,161,150,38,22,192,198,193,8,39,22,192,198,225,48,0,13,32,5,0,60,216,75,0,60,216,25,0,61,216,50,0,62,216,3,0,29,221,9,0,175,221,27,192,198,193,188,221,27,192,198,225,189,221,28,192,198,1,49,0,13,32,61,216,1,0,104,220,27,192,198,129,105,220,27,192,198,161,7,0,164,223,12,0,164,223,26,192,198,65,168,223,26,192,198,97,235,223,26,192,198,129,237,223,26,192,198,161,62,223,25,192,198,193,115,223,25,192,198,225,124,223,26,192,198,1,147,223,26,192,198,33,5,0,44,221,9,0,44,221,27,192,198,33,128,222,27,192,198,65,146,222,27,192,198,97,187,220,26,192,198,193,188,220,26,192,198,225,39,221,27,192,198,1,149,38,25,192,198,97,150,38,25,192,198,129,8,39,25,192,198,161,48,0,13,32,5,0,60,216,75,0,60,216,25,0,61,216,50,0,62,216,3,0,29,221,9,0,175,221,30,192,198,129,188,221,30,192,198,161,189,221,30,192,198,193,49,0,13,32,61,216,1,0,104,220,30,192,198,65,105,220,30,192,198,97,7,0,164,223,12,0,164,223,29,192,198,1,168,223,29,192,198,33,235,223,29,192,198,65,237,223,29,192,198,97,62,223,28,192,198,129,115,223,28,192,198,161,124,223,28,192,198,193,147,223,28,192,198,225,5,0,44,221,9,0,44,221,29,192,198,225,128,222,30,192,198,1,146,222,30,192,198,33,187,220,29,192,198,129,188,220,29,192,198,161,39,221,29,192,198,193,149,38,28,192,198,33,150,38,28,192,198,65,8,39,28,192,198,97,48,0,13,32,5,0,60,216,75,0,60,216,25,0,61,216,50,0,62,216,3,0,29,221,9,0,175,221,33,192,198,65,188,221,33,192,198,97,189,221,33,192,198,129,49,0,13,32,61,216,1,0,104,220,33,192,198,1,105,220,33,192,198,33,7,0,164,223,12,0,164,223,31,192,198,193,168,223,31,192,198,225,235,223,32,192,198,1,237,223,32,192,198,33,62,223,31,192,198,65,115,223,31,192,198,97,124,223,31,192,198,129,147,223,31,192,198,161,5,0,44,221,9,0,44,221,32,192,198,161,128,222,32,192,198,193,146,222,32,192,198,225,187,220,32,192,198,65,188,220,32,192,198,97,39,221,32,192,198,129,149,38,30,192,198,225,150,38,31,192,198,1,8,39,31,192,198,33,6,0,100,39,163,0,100,39,15,0,60,216,58,0,61,216,83,0,62,216,2,0,175,221,126,205,193,148,188,221,126,205,193,151,189,221,126,205,193,154,1,0,13,32,22,0,15,254,49,0,13,32,61,216,2,0,104,220,126,205,193,227,105,220,126,205,193,229,139,220,49,0,13,32,61,216,1,0,104,220,126,205,193,223,105,220,126,205,193,225,48,0,61,216,2,0,104,220,126,205,193,227,105,220,126,205,193,229,139,220,49,0,13,32,61,216,1,0,104,220,126,205,193,223,105,220,126,205,193,225,7,0,164,223,12,0,164,223,126,205,193,52,168,223,126,205,193,55,235,223,126,205,193,25,237,223,126,205,193,40,62,223,126,205,193,31,115,223,126,205,193,34,124,223,126,205,193,96,147,223,126,205,193,22,8,0,188,220,15,0,188,220,126,205,193,43,39,221,126,205,193,37,44,221,126,205,193,46,128,222,126,205,193,61,146,222,126,205,193,64,102,220,7,0,103,220,13,0,105,220,23,0,187,220,126,205,193,49,242,127,126,13,193,251,13,32,61,216,102,220,126,205,193,252,241,127,126,13,193,253,13,32,61,216,1,0,102,220,126,205,193,254,103,220,126,205,193,255,49,0,13,32,61,216,1,0,102,220,13,0,103,220,241,127,126,13,193,242,13,32,61,216,1,0,102,220,126,205,193,243,103,220,126,205,193,245,242,127,126,13,193,241,13,32,61,216,102,220,126,205,193,244,149,38,126,205,193,19,150,38,126,205,193,28,8,39,126,205,193,58,126,13,193,220,48,0,60,216,4,0,251,223,36,192,198,98,252,223,36,192,198,162,253,223,36,192,198,226,254,223,37,192,198,34,255,223,37,192,198,98,126,13,193,221,48,0,60,216,4,0,251,223,37,192,198,162,252,223,37,192,198,226,253,223,38,192,198,34,254,223,38,192,198,98,255,223,38,192,198,162,126,13,193,219,48,0,60,216,4,0,251,223,38,192,198,226,252,223,39,192,198,34,253,223,39,192,198,98,254,223,39,192,198,162,255,223,39,192,198,226,126,13,193,65,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,41,192,198,33,66,38,41,192,198,65,48,0,13,32,1,0,64,38,40,192,198,33,66,38,40,192,198,65,48,0,13,32,1,0,64,38,40,192,198,97,66,38,40,192,198,129,48,0,13,32,1,0,64,38,40,192,198,161,66,38,40,192,198,193,48,0,13,32,1,0,64,38,40,192,198,225,66,38,41,192,198,1,1,0,64,38,126,205,193,67,66,38,126,205,193,66,126,13,193,161,48,0,13,32,1,0,64,38,126,205,193,163,66,38,126,205,193,162,126,13,193,89,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,42,192,198,97,66,38,42,192,198,129,48,0,13,32,1,0,64,38,41,192,198,97,66,38,41,192,198,129,48,0,13,32,1,0,64,38,41,192,198,161,66,38,41,192,198,193,48,0,13,32,1,0,64,38,41,192,198,225,66,38,42,192,198,1,48,0,13,32,1,0,64,38,42,192,198,33,66,38,42,192,198,65,1,0,64,38,126,205,193,91,66,38,126,205,193,90,42,0,198,161,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,44,192,198,1,66,38,44,192,198,33,48,0,13,32,1,0,64,38,43,192,198,1,66,38,43,192,198,33,48,0,13,32,1,0,64,38,43,192,198,65,66,38,43,192,198,97,48,0,13,32,1,0,64,38,43,192,198,129,66,38,43,192,198,161,48,0,13,32,1,0,64,38,43,192,198,193,66,38,43,192,198,225,1,0,64,38,42,192,198,193,66,38,42,192,198,225,126,13,193,81,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,45,192,198,65,66,38,45,192,198,97,48,0,13,32,1,0,64,38,44,192,198,65,66,38,44,192,198,97,48,0,13,32,1,0,64,38,44,192,198,129,66,38,44,192,198,161,48,0,13,32,1,0,64,38,44,192,198,193,66,38,44,192,198,225,48,0,13,32,1,0,64,38,45,192,198,1,66,38,45,192,198,33,1,0,64,38,126,205,193,83,66,38,126,205,193,82,126,13,193,75,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,46,192,198,129,66,38,46,192,198,161,48,0,13,32,1,0,64,38,45,192,198,129,66,38,45,192,198,161,48,0,13,32,1,0,64,38,45,192,198,193,66,38,45,192,198,225,48,0,13,32,1,0,64,38,46,192,198,1,66,38,46,192,198,33,48,0,13,32,1,0,64,38,46,192,198,65,66,38,46,192,198,97,1,0,64,38,126,205,193,77,66,38,126,205,193,76,125,13,193,253,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,47,192,198,193,66,38,47,192,198,225,48,0,13,32,1,0,64,38,46,192,198,193,66,38,46,192,198,225,48,0,13,32,1,0,64,38,47,192,198,1,66,38,47,192,198,33,48,0,13,32,1,0,64,38,47,192,198,65,66,38,47,192,198,97,48,0,13,32,1,0,64,38,47,192,198,129,66,38,47,192,198,161,1,0,64,38,125,205,193,255,66,38,125,205,193,254,126,13,193,71,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,49,192,198,1,66,38,49,192,198,33,48,0,13,32,1,0,64,38,48,192,198,1,66,38,48,192,198,33,48,0,13,32,1,0,64,38,48,192,198,65,66,38,48,192,198,97,48,0,13,32,1,0,64,38,48,192,198,129,66,38,48,192,198,161,48,0,13,32,1,0,64,38,48,192,198,193,66,38,48,192,198,225,1,0,64,38,126,205,193,73,66,38,126,205,193,72,126,13,193,131,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,50,192,198,65,66,38,50,192,198,97,48,0,13,32,1,0,64,38,49,192,198,65,66,38,49,192,198,97,48,0,13,32,1,0,64,38,49,192,198,129,66,38,49,192,198,161,48,0,13,32,1,0,64,38,49,192,198,193,66,38,49,192,198,225,48,0,13,32,1,0,64,38,50,192,198,1,66,38,50,192,198,33,1,0,64,38,126,205,193,133,66,38,126,205,193,132,126,13,193,134,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,51,192,198,129,66,38,51,192,198,161,48,0,13,32,1,0,64,38,50,192,198,129,66,38,50,192,198,161,48,0,13,32,1,0,64,38,50,192,198,193,66,38,50,192,198,225,48,0,13,32,1,0,64,38,51,192,198,1,66,38,51,192,198,33,48,0,13,32,1,0,64,38,51,192,198,65,66,38,51,192,198,97,1,0,64,38,126,205,193,136,66,38,126,205,193,135,126,13,193,68,2,0,13,32,5,0,60,216,10,0,15,254,48,0,13,32,1,0,64,38,126,205,193,70,66,38,126,205,193,69,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,52,192,198,193,66,38,52,192,198,225,48,0,13,32,1,0,64,38,51,192,198,193,66,38,51,192,198,225,48,0,13,32,1,0,64,38,52,192,198,1,66,38,52,192,198,33,48,0,13,32,1,0,64,38,52,192,198,65,66,38,52,192,198,97,48,0,13,32,1,0,64,38,52,192,198,129,66,38,52,192,198,161,125,13,193,76,50,0,13,32,61,216,168,220,125,205,193,45,125,13,193,62,50,0,13,32,61,216,171,220,125,205,193,63,125,13,193,38,50,0,13,32,60,216,43,223,125,205,193,40,125,13,193,247,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,54,192,198,1,66,38,54,192,198,33,48,0,13,32,1,0,64,38,53,192,198,1,66,38,53,192,198,33,48,0,13,32,1,0,64,38,53,192,198,65,66,38,53,192,198,97,48,0,13,32,1,0,64,38,53,192,198,129,66,38,53,192,198,161,48,0,13,32,1,0,64,38,53,192,198,193,66,38,53,192,198,225,1,0,64,38,125,205,193,249,66,38,125,205,193,248,125,13,193,250,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,55,192,198,65,66,38,55,192,198,97,48,0,13,32,1,0,64,38,54,192,198,65,66,38,54,192,198,97,48,0,13,32,1,0,64,38,54,192,198,129,66,38,54,192,198,161,48,0,13,32,1,0,64,38,54,192,198,193,66,38,54,192,198,225,48,0,13,32,1,0,64,38,55,192,198,1,66,38,55,192,198,33,1,0,64,38,125,205,193,252,66,38,125,205,193,251,126,13,193,8,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,56,192,198,129,66,38,56,192,198,161,48,0,13,32,1,0,64,38,55,192,198,129,66,38,55,192,198,161,48,0,13,32,1,0,64,38,55,192,198,193,66,38,55,192,198,225,48,0,13,32,1,0,64,38,56,192,198,1,66,38,56,192,198,33,48,0,13,32,1,0,64,38,56,192,198,65,66,38,56,192,198,97,1,0,64,38,126,205,193,10,66,38,126,205,193,9,126,13,193,2,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,57,192,198,193,66,38,57,192,198,225,48,0,13,32,1,0,64,38,56,192,198,193,66,38,56,192,198,225,48,0,13,32,1,0,64,38,57,192,198,1,66,38,57,192,198,33,48,0,13,32,1,0,64,38,57,192,198,65,66,38,57,192,198,97,48,0,13,32,1,0,64,38,57,192,198,129,66,38,57,192,198,161,1,0,64,38,126,205,193,4,66,38,126,205,193,3,125,13,193,241,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,59,192,198,1,66,38,59,192,198,33,48,0,13,32,1,0,64,38,58,192,198,1,66,38,58,192,198,33,48,0,13,32,1,0,64,38,58,192,198,65,66,38,58,192,198,97,48,0,13,32,1,0,64,38,58,192,198,129,66,38,58,192,198,161,48,0,13,32,1,0,64,38,58,192,198,193,66,38,58,192,198,225,1,0,64,38,125,205,193,243,66,38,125,205,193,242,125,13,193,244,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,60,192,198,65,66,38,60,192,198,97,48,0,13,32,1,0,64,38,59,192,198,65,66,38,59,192,198,97,48,0,13,32,1,0,64,38,59,192,198,129,66,38,59,192,198,161,48,0,13,32,1,0,64,38,59,192,198,193,66,38,59,192,198,225,48,0,13,32,1,0,64,38,60,192,198,1,66,38,60,192,198,33,1,0,64,38,125,205,193,246,66,38,125,205,193,245,126,13,193,180,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,61,192,198,129,66,38,61,192,198,161,48,0,13,32,1,0,64,38,60,192,198,129,66,38,60,192,198,161,48,0,13,32,1,0,64,38,60,192,198,193,66,38,60,192,198,225,48,0,13,32,1,0,64,38,61,192,198,1,66,38,61,192,198,33,48,0,13,32,1,0,64,38,61,192,198,65,66,38,61,192,198,97,1,0,64,38,126,205,193,182,66,38,126,205,193,181,126,13,193,192,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,62,192,198,193,66,38,62,192,198,225,48,0,13,32,1,0,64,38,61,192,198,193,66,38,61,192,198,225,48,0,13,32,1,0,64,38,62,192,198,1,66,38,62,192,198,33,48,0,13,32,1,0,64,38,62,192,198,65,66,38,62,192,198,97,48,0,13,32,1,0,64,38,62,192,198,129,66,38,62,192,198,161,1,0,64,38,126,205,193,194,66,38,126,205,193,193,126,13,193,195,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,64,192,198,1,66,38,64,192,198,33,48,0,13,32,1,0,64,38,63,192,198,1,66,38,63,192,198,33,48,0,13,32,1,0,64,38,63,192,198,65,66,38,63,192,198,97,48,0,13,32,1,0,64,38,63,192,198,129,66,38,63,192,198,161,48,0,13,32,1,0,64,38,63,192,198,193,66,38,63,192,198,225,1,0,64,38,126,205,193,197,66,38,126,205,193,196,126,13,193,137,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,65,192,198,65,66,38,65,192,198,97,48,0,13,32,1,0,64,38,64,192,198,65,66,38,64,192,198,97,48,0,13,32,1,0,64,38,64,192,198,129,66,38,64,192,198,161,48,0,13,32,1,0,64,38,64,192,198,193,66,38,64,192,198,225,48,0,13,32,1,0,64,38,65,192,198,1,66,38,65,192,198,33,1,0,64,38,126,205,193,139,66,38,126,205,193,138,126,13,193,11,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,66,192,198,129,66,38,66,192,198,161,48,0,13,32,1,0,64,38,65,192,198,129,66,38,65,192,198,161,48,0,13,32,1,0,64,38,65,192,198,193,66,38,65,192,198,225,48,0,13,32,1,0,64,38,66,192,198,1,66,38,66,192,198,33,48,0,13,32,1,0,64,38,66,192,198,65,66,38,66,192,198,97,1,0,64,38,126,205,193,13,66,38,126,205,193,12,126,13,193,86,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,67,192,198,193,66,38,67,192,198,225,48,0,13,32,1,0,64,38,66,192,198,193,66,38,66,192,198,225,48,0,13,32,1,0,64,38,67,192,198,1,66,38,67,192,198,33,48,0,13,32,1,0,64,38,67,192,198,65,66,38,67,192,198,97,48,0,13,32,1,0,64,38,67,192,198,129,66,38,67,192,198,161,1,0,64,38,126,205,193,88,66,38,126,205,193,87,126,13,193,14,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,69,192,198,1,66,38,69,192,198,33,48,0,13,32,1,0,64,38,68,192,198,1,66,38,68,192,198,33,48,0,13,32,1,0,64,38,68,192,198,65,66,38,68,192,198,97,48,0,13,32,1,0,64,38,68,192,198,129,66,38,68,192,198,161,48,0,13,32,1,0,64,38,68,192,198,193,66,38,68,192,198,225,1,0,64,38,126,205,193,16,66,38,126,205,193,15,126,13,193,198,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,70,192,198,65,66,38,70,192,198,97,48,0,13,32,1,0,64,38,69,192,198,65,66,38,69,192,198,97,48,0,13,32,1,0,64,38,69,192,198,129,66,38,69,192,198,161,48,0,13,32,1,0,64,38,69,192,198,193,66,38,69,192,198,225,48,0,13,32,1,0,64,38,70,192,198,1,66,38,70,192,198,33,1,0,64,38,126,205,193,200,66,38,126,205,193,199,126,13,193,210,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,71,192,198,129,66,38,71,192,198,161,48,0,13,32,1,0,64,38,70,192,198,129,66,38,70,192,198,161,48,0,13,32,1,0,64,38,70,192,198,193,66,38,70,192,198,225,48,0,13,32,1,0,64,38,71,192,198,1,66,38,71,192,198,33,48,0,13,32,1,0,64,38,71,192,198,65,66,38,71,192,198,97,1,0,64,38,126,205,193,212,66,38,126,205,193,211,126,13,193,201,48,0,13,32,1,0,64,38,126,205,193,203,66,38,126,205,193,202,126,13,193,204,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,72,192,198,193,66,38,72,192,198,225,48,0,13,32,1,0,64,38,71,192,198,193,66,38,71,192,198,225,48,0,13,32,1,0,64,38,72,192,198,1,66,38,72,192,198,33,48,0,13,32,1,0,64,38,72,192,198,65,66,38,72,192,198,97,48,0,13,32,1,0,64,38,72,192,198,129,66,38,72,192,198,161,1,0,64,38,126,205,193,206,66,38,126,205,193,205,126,13,193,207,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,74,192,198,1,66,38,74,192,198,33,48,0,13,32,1,0,64,38,73,192,198,1,66,38,73,192,198,33,48,0,13,32,1,0,64,38,73,192,198,65,66,38,73,192,198,97,48,0,13,32,1,0,64,38,73,192,198,129,66,38,73,192,198,161,48,0,13,32,1,0,64,38,73,192,198,193,66,38,73,192,198,225,1,0,64,38,126,205,193,209,66,38,126,205,193,208,126,13,193,103,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,75,192,198,65,66,38,75,192,198,97,48,0,13,32,1,0,64,38,74,192,198,65,66,38,74,192,198,97,48,0,13,32,1,0,64,38,74,192,198,129,66,38,74,192,198,161,48,0,13,32,1,0,64,38,74,192,198,193,66,38,74,192,198,225,48,0,13,32,1,0,64,38,75,192,198,1,66,38,75,192,198,33,1,0,64,38,126,205,193,105,66,38,126,205,193,104,126,13,193,106,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,76,192,198,129,66,38,76,192,198,161,48,0,13,32,1,0,64,38,75,192,198,129,66,38,75,192,198,161,48,0,13,32,1,0,64,38,75,192,198,193,66,38,75,192,198,225,48,0,13,32,1,0,64,38,76,192,198,1,66,38,76,192,198,33,48,0,13,32,1,0,64,38,76,192,198,65,66,38,76,192,198,97,1,0,64,38,126,205,193,108,66,38,126,205,193,107,126,13,193,140,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,77,192,198,193,66,38,77,192,198,225,48,0,13,32,1,0,64,38,76,192,198,193,66,38,76,192,198,225,48,0,13,32,1,0,64,38,77,192,198,1,66,38,77,192,198,33,48,0,13,32,1,0,64,38,77,192,198,65,66,38,77,192,198,97,48,0,13,32,1,0,64,38,77,192,198,129,66,38,77,192,198,161,1,0,64,38,126,205,193,142,66,38,126,205,193,141,126,13,193,143,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,79,192,198,1,66,38,79,192,198,33,48,0,13,32,1,0,64,38,78,192,198,1,66,38,78,192,198,33,48,0,13,32,1,0,64,38,78,192,198,65,66,38,78,192,198,97,48,0,13,32,1,0,64,38,78,192,198,129,66,38,78,192,198,161,48,0,13,32,1,0,64,38,78,192,198,193,66,38,78,192,198,225,1,0,64,38,126,205,193,145,66,38,126,205,193,144,126,13,193,5,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,80,192,198,65,66,38,80,192,198,97,48,0,13,32,1,0,64,38,79,192,198,65,66,38,79,192,198,97,48,0,13,32,1,0,64,38,79,192,198,129,66,38,79,192,198,161,48,0,13,32,1,0,64,38,79,192,198,193,66,38,79,192,198,225,48,0,13,32,1,0,64,38,80,192,198,1,66,38,80,192,198,33,1,0,64,38,126,205,193,7,66,38,126,205,193,6,125,13,193,229,1,0,13,32,195,1,60,216,4,0,251,223,95,0,252,223,181,0,253,223,11,1,254,223,97,1,255,223,48,0,13,32,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,93,192,198,225,188,221,94,192,198,1,189,221,94,192,198,33,50,0,13,32,62,216,209,221,93,192,198,193,8,0,147,223,15,0,147,223,92,192,198,97,164,223,92,192,198,129,168,223,92,192,198,161,235,223,92,192,198,193,237,223,92,192,198,225,62,223,91,192,198,225,115,223,92,192,198,1,124,223,92,192,198,33,132,223,92,192,198,65,5,0,44,221,9,0,44,221,93,192,198,97,128,222,93,192,198,129,146,222,93,192,198,161,187,220,93,192,198,1,188,220,93,192,198,33,39,221,93,192,198,65,149,38,91,192,198,129,150,38,91,192,198,161,8,39,91,192,198,193,48,0,13,32,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,82,192,198,225,188,221,83,192,198,1,189,221,83,192,198,33,50,0,13,32,62,216,209,221,82,192,198,193,8,0,147,223,15,0,147,223,81,192,198,97,164,223,81,192,198,129,168,223,81,192,198,161,235,223,81,192,198,193,237,223,81,192,198,225,62,223,80,192,198,225,115,223,81,192,198,1,124,223,81,192,198,33,132,223,81,192,198,65,5,0,44,221,9,0,44,221,82,192,198,97,128,222,82,192,198,129,146,222,82,192,198,161,187,220,82,192,198,1,188,220,82,192,198,33,39,221,82,192,198,65,149,38,80,192,198,129,150,38,80,192,198,161,8,39,80,192,198,193,48,0,13,32,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,85,192,198,161,188,221,85,192,198,193,189,221,85,192,198,225,50,0,13,32,62,216,209,221,85,192,198,129,8,0,147,223,15,0,147,223,84,192,198,33,164,223,84,192,198,65,168,223,84,192,198,97,235,223,84,192,198,129,237,223,84,192,198,161,62,223,83,192,198,161,115,223,83,192,198,193,124,223,83,192,198,225,132,223,84,192,198,1,5,0,44,221,9,0,44,221,85,192,198,33,128,222,85,192,198,65,146,222,85,192,198,97,187,220,84,192,198,193,188,220,84,192,198,225,39,221,85,192,198,1,149,38,83,192,198,65,150,38,83,192,198,97,8,39,83,192,198,129,48,0,13,32,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,88,192,198,97,188,221,88,192,198,129,189,221,88,192,198,161,50,0,13,32,62,216,209,221,88,192,198,65,8,0,147,223,15,0,147,223,86,192,198,225,164,223,87,192,198,1,168,223,87,192,198,33,235,223,87,192,198,65,237,223,87,192,198,97,62,223,86,192,198,97,115,223,86,192,198,129,124,223,86,192,198,161,132,223,86,192,198,193,5,0,44,221,9,0,44,221,87,192,198,225,128,222,88,192,198,1,146,222,88,192,198,33,187,220,87,192,198,129,188,220,87,192,198,161,39,221,87,192,198,193,149,38,86,192,198,1,150,38,86,192,198,33,8,39,86,192,198,65,48,0,13,32,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,91,192,198,33,188,221,91,192,198,65,189,221,91,192,198,97,50,0,13,32,62,216,209,221,91,192,198,1,8,0,147,223,15,0,147,223,89,192,198,161,164,223,89,192,198,193,168,223,89,192,198,225,235,223,90,192,198,1,237,223,90,192,198,33,62,223,89,192,198,33,115,223,89,192,198,65,124,223,89,192,198,97,132,223,89,192,198,129,5,0,44,221,9,0,44,221,90,192,198,161,128,222,90,192,198,193,146,222,90,192,198,225,187,220,90,192,198,65,188,220,90,192,198,97,39,221,90,192,198,129,149,38,88,192,198,193,150,38,88,192,198,225,8,39,89,192,198,1,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,126,205,193,146,188,221,126,205,193,149,189,221,126,205,193,152,50,0,13,32,62,216,209,221,126,205,193,218,8,0,147,223,15,0,147,223,126,205,193,20,164,223,126,205,193,50,168,223,126,205,193,53,235,223,126,205,193,23,237,223,126,205,193,38,62,223,126,205,193,29,115,223,126,205,193,32,124,223,126,205,193,98,132,223,126,205,193,102,5,0,44,221,9,0,44,221,126,205,193,44,128,222,126,205,193,59,146,222,126,205,193,62,187,220,126,205,193,47,188,220,126,205,193,41,39,221,126,205,193,35,149,38,126,205,193,17,150,38,126,205,193,26,8,39,126,205,193,56,94,0,198,65,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,95,192,198,161,66,38,95,192,198,193,48,0,13,32,1,0,64,38,94,192,198,161,66,38,94,192,198,193,48,0,13,32,1,0,64,38,94,192,198,225,66,38,95,192,198,1,48,0,13,32,1,0,64,38,95,192,198,33,66,38,95,192,198,65,48,0,13,32,1,0,64,38,95,192,198,97,66,38,95,192,198,129,1,0,64,38,94,192,198,97,66,38,94,192,198,129,126,13,193,164,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,96,192,198,225,66,38,97,192,198,1,48,0,13,32,1,0,64,38,95,192,198,225,66,38,96,192,198,1,48,0,13,32,1,0,64,38,96,192,198,33,66,38,96,192,198,65,48,0,13,32,1,0,64,38,96,192,198,97,66,38,96,192,198,129,48,0,13,32,1,0,64,38,96,192,198,161,66,38,96,192,198,193,1,0,64,38,126,205,193,166,66,38,126,205,193,165,126,13,193,167,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,98,192,198,33,66,38,98,192,198,65,48,0,13,32,1,0,64,38,97,192,198,33,66,38,97,192,198,65,48,0,13,32,1,0,64,38,97,192,198,97,66,38,97,192,198,129,48,0,13,32,1,0,64,38,97,192,198,161,66,38,97,192,198,193,48,0,13,32,1,0,64,38,97,192,198,225,66,38,98,192,198,1,1,0,64,38,126,205,193,169,66,38,126,205,193,168,126,13,193,213,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,99,192,198,97,66,38,99,192,198,129,48,0,13,32,1,0,64,38,98,192,198,97,66,38,98,192,198,129,48,0,13,32,1,0,64,38,98,192,198,161,66,38,98,192,198,193,48,0,13,32,1,0,64,38,98,192,198,225,66,38,99,192,198,1,48,0,13,32,1,0,64,38,99,192,198,33,66,38,99,192,198,65,1,0,64,38,126,205,193,215,66,38,126,205,193,214,126,13,193,109,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,100,192,198,161,66,38,100,192,198,193,48,0,13,32,1,0,64,38,99,192,198,161,66,38,99,192,198,193,48,0,13,32,1,0,64,38,99,192,198,225,66,38,100,192,198,1,48,0,13,32,1,0,64,38,100,192,198,33,66,38,100,192,198,65,48,0,13,32,1,0,64,38,100,192,198,97,66,38,100,192,198,129,1,0,64,38,126,205,193,111,66,38,126,205,193,110,126,13,193,112,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,101,192,198,225,66,38,102,192,198,1,48,0,13,32,1,0,64,38,100,192,198,225,66,38,101,192,198,1,48,0,13,32,1,0,64,38,101,192,198,33,66,38,101,192,198,65,48,0,13,32,1,0,64,38,101,192,198,97,66,38,101,192,198,129,48,0,13,32,1,0,64,38,101,192,198,161,66,38,101,192,198,193,1,0,64,38,126,205,193,114,66,38,126,205,193,113,126,13,193,115,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,103,192,198,33,66,38,103,192,198,65,48,0,13,32,1,0,64,38,102,192,198,33,66,38,102,192,198,65,48,0,13,32,1,0,64,38,102,192,198,97,66,38,102,192,198,129,48,0,13,32,1,0,64,38,102,192,198,161,66,38,102,192,198,193,48,0,13,32,1,0,64,38,102,192,198,225,66,38,103,192,198,1,1,0,64,38,126,205,193,117,66,38,126,205,193,116,126,13,193,118,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,104,192,198,97,66,38,104,192,198,129,48,0,13,32,1,0,64,38,103,192,198,97,66,38,103,192,198,129,48,0,13,32,1,0,64,38,103,192,198,161,66,38,103,192,198,193,48,0,13,32,1,0,64,38,103,192,198,225,66,38,104,192,198,1,48,0,13,32,1,0,64,38,104,192,198,33,66,38,104,192,198,65,1,0,64,38,126,205,193,120,66,38,126,205,193,119,126,13,193,121,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,105,192,198,161,66,38,105,192,198,193,48,0,13,32,1,0,64,38,104,192,198,161,66,38,104,192,198,193,48,0,13,32,1,0,64,38,104,192,198,225,66,38,105,192,198,1,48,0,13,32,1,0,64,38,105,192,198,33,66,38,105,192,198,65,48,0,13,32,1,0,64,38,105,192,198,97,66,38,105,192,198,129,1,0,64,38,126,205,193,123,66,38,126,205,193,122,126,13,193,124,48,0,13,32,1,0,64,38,126,205,193,126,66,38,126,205,193,125,126,13,193,127,48,0,13,32,1,0,64,38,126,205,193,129,66,38,126,205,193,128,176,128,28,0,13,32,14,32,227,32,228,32,32,38,33,38,64,38,65,38,66,38,67,38,149,38,151,38,167,38,168,38,8,39,9,39,68,39,69,39,100,39,101,39,27,43,28,43,60,216,63,216,64,219,65,219,15,254,16,254,1,0,8,243,1,0,9,243,1,0,43,243,1,0,44,243,1,0,62,243,1,0,63,243,1,0,115,243,1,0,116,243,1,0,124,243,1,0,125,243,1,0,132,243,1,0,133,243,1,0,147,243,1,0,148,243,1,0,164,243,1,0,165,243,1,0,168,243,1,0,169,243,1,0,235,243,1,0,236,243,1,0,237,243,1,0,238,243,1,0,251,243,1,0,0,244,1,0,102,244,1,0,106,244,1,0,139,244,1,0,140,244,1,0,168,244,1,0,169,244,1,0,171,244,1,0,172,244,1,0,187,244,1,0,189,244,1,0,37,245,1,0,38,245,1,0,39,245,1,0,40,245,1,0,44,245,1,0,45,245,1,0,232,245,1,0,233,245,1,0,128,246,1,0,129,246,1,0,146,246,1,0,147,246,1,0,29,249,1,0,30,249,1,0,175,249,1,0,176,249,1,0,186,249,1,0,187,249,1,0,188,249,1,0,190,249,1,0,209,249,1,0,210,249,1,0,121,250,1,0,122,250,14,0,98,0,14,0,100,0,14,0,101,0,14,0,102,0,14,0,103,0,14,0,104,0,14,0,108,0,14,0,109,0,14,0,110,0,14,0,111,0,14,0,115,0,14,0,117,0,14,0,119,0,14,0,120,0,14,0,127,0,14,0,128,0,5,2,64,12,32,14,200,14,240,14,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,24,4,224,14,192,13,176,13,216,12,72,13,80,13,26,4,96,14,144,12,96,12,208,12,160,13,28,4,30,4,32,4,34,4,36,4,38,4,40,4,42,4,44,4,46,4,160,12,152,12,128,14,136,14,144,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,160,14,112,13,176,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,216,14,232,14,208,14,240,14,168,14,128,13,72,14,192,14,170,56,56,13,152,14,0,0,200,14,64,14,88,14,104,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,120,14,217,122,185,153,153,153,249,153,89,154,153,169,185,176,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,112,14,200,122,168,153,136,153,232,153,72,154,136,169,168,176,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,184,14,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,255,5,0,0,255,5,184,13,255,5,152,13,255,5,168,16,255,5,168,20,255,5,168,24,255,5,168,28,255,5,168,32,255,5,168,36,255,5,168,40,255,5,168,44,255,5,168,48,255,5,168,52,255,1,170,170,3,0,83,0,74,0,41,0,103,238,0,16,93,13,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,56,51,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,76,46,0,0,76,46,0,0,76,46,0,0,76,46,0,0,240,46,0,0,240,46,0,0,100,47,0,0,100,47,0,0,32,51,0,0,50,105,114,84,1,0,156,8,204,1,64,0,192,0,59,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,111,0,119,0,127,0,135,0,141,0,149,0,157,0,165,0,173,0,181,0,189,0,197,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,205,0,213,0,220,0,228,0,234,0,242,0,48,0,56,0,48,0,56,0,48,0,56,0,249,0,1,1,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,25,1,33,1,41,1,49,1,57,1,65,1,73,1,81,1,48,0,48,0,48,0,48,0,82,1,48,0,48,0,90,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,98,1,48,0,48,0,48,0,105,1,109,1,114,1,48,0,122,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,130,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,138,1,146,1,154,1,162,1,168,1,48,0,171,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,17,1,48,0,48,0,9,1,195,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,188,1,252,1,52,2,116,2,180,2,244,2,192,0,192,0,192,0,192,0,52,3,112,3,168,3,192,0,192,0,192,0,228,3,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,91,8,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,179,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,255,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,3,0,202,1,4,0,202,34,4,0,202,67,4,0,202,100,4,0,202,133,4,0,202,166,4,0,202,199,4,0,202,232,4,0,202,9,5,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,3,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,3,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,3,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,58,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,77,0,62,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,68,134,82,0,68,5,82,0,68,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,80,5,71,0,80,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,71,0,44,134,76,0,44,134,77,0,44,5,77,0,44,0,0,0,0,0,0,0,0,134,73,0,70,134,73,0,46,5,73,0,46,134,74,0,48,134,75,0,48,134,77,0,48,5,77,0,48,5,81,0,48,134,79,0,50,134,81,0,50,134,83,0,50,134,73,0,52,5,73,0,52,134,74,0,54,134,78,0,54,197,34,0,0,134,77,0,58,134,74,0,58,134,72,0,62,5,72,0,62,5,74,0,64,5,84,0,64,134,77,0,66,134,75,0,68,5,76,0,68,134,81,0,70,192,0,0,0,192,0,0,0,134,80,0,54,5,80,0,54,134,75,0,72,5,75,0,72,135,70,0,76,0,0,0,0,0,0,0,0,134,77,0,78,5,79,0,78,5,74,0,80,134,75,0,80,5,75,0,80,134,76,0,80,192,0,0,0,192,0,0,0,134,76,0,82,134,74,0,84,134,72,0,90,5,72,0,90,134,71,0,92,5,71,0,92,201,6,0,0,134,86,0,92,5,86,0,92,5,88,0,92,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,5,73,0,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,79,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,72,0,54,5,72,0,54,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,84,0,92,5,84,0,92,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,0,0,134,73,0,86,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,75,0,90,5,75,0,90,192,0,0,0,192,0,0,0,134,76,0,68,5,78,0,48,134,84,0,70,5,84,0,70,134,74,0,92,5,74,0,92,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,81,0,64,5,80,0,68,5,77,0,80,5,70,0,60,192,0,0,0,192,0,0,0,134,71,0,42,134,71,0,46,5,71,0,46,134,74,0,64,134,72,0,80,5,74,0,78,5,78,0,92,0,0,0,0,0,0,0,0,134,71,0,44,134,73,0,82,134,78,0,84,134,76,0,50,5,76,0,50,134,72,0,60,5,72,0,60,134,73,0,74,5,73,0,74,134,73,0,76,5,73,0,76,134,71,0,90,5,71,0,90,5,73,0,42,5,74,0,42,5,76,0,42,5,76,0,44,5,73,0,70,5,74,0,46,5,74,0,48,5,75,0,48,5,85,0,50,5,81,0,50,5,86,0,50,5,83,0,50,5,87,0,50,5,90,0,50,5,91,0,50,5,74,0,60,5,74,0,54,5,70,0,54,5,71,0,54,5,78,0,54,5,79,0,54,5,76,0,56,5,71,0,56,5,75,0,56,5,74,0,58,5,77,0,58,5,71,0,58,5,76,0,64,5,77,0,64,5,79,0,64,197,162,0,0,5,77,0,66,5,80,0,66,5,73,0,66,5,75,0,68,5,79,0,68,5,71,0,68,5,81,0,70,197,226,0,0,5,83,0,70,5,79,0,72,5,75,0,76,5,77,0,76,5,79,0,76,5,81,0,76,5,82,0,76,5,83,0,76,5,85,0,76,5,70,0,76,5,86,0,76,5,73,0,78,5,77,0,78,5,75,0,60,5,80,0,78,5,82,0,78,5,79,0,80,5,76,0,80,5,73,0,82,5,76,0,82,5,74,0,84,5,78,0,84,5,72,0,86,5,74,0,90,5,70,0,90,5,75,0,92,5,76,0,92,201,230,0,0,5,89,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,70,0,44,5,92,0,50,5,75,0,54,5,70,0,56,5,73,0,60,5,78,0,62,5,70,0,64,5,72,0,74,0,0,0,0,0,0,0,0,192,0,0,0,197,34,1,0,197,98,1,0,192,0,0,0,192,0,0,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,5,77,0,56,5,78,0,56,192,0,0,0,7,71,0,56,192,0,0,0,192,0,0,0,6,75,0,76,6,79,0,76,6,86,0,76,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,78,0,54,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,32,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,170,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,32,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,170,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,79,97,5,5,79,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,100,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,42,197,226,1,0,197,34,2,0,5,73,0,44,5,70,0,46,5,70,0,48,5,71,0,48,5,75,0,50,5,89,0,50,5,73,0,58,5,71,0,60,5,70,0,62,5,72,0,64,5,70,0,66,5,73,0,68,5,70,0,70,5,74,0,70,5,71,0,70,5,75,0,70,5,72,0,70,197,98,2,0,5,85,0,70,5,78,0,70,5,79,0,70,5,70,0,72,5,72,0,76,5,76,0,76,5,70,0,80,5,70,0,82,5,71,0,82,5,72,0,82,5,79,0,66,5,71,0,84,5,70,0,86,5,70,0,92,5,85,0,92,0,0,0,0,0,0,0,0,5,70,10,96,5,70,38,96,5,70,50,96,5,70,60,96,5,70,82,96,5,70,98,97,192,0,0,0,192,0,0,0,192,0,0,0,5,72,0,44,192,0,0,0,192,0,0,0,135,79,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,72,0,68,192,0,0,0,135,84,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,73,0,42,7,74,0,42,197,162,2,0,192,0,0,0,192,0,0,0,192,0,0,0,7,81,0,50,8,83,0,50,6,89,0,50,192,0,0,0,6,73,0,58,192,0,0,0,192,0,0,0,7,82,0,68,192,0,0,0,7,73,0,70,6,78,0,70,6,79,0,70,192,0,0,0,192,0,0,0,192,0,0,0,6,71,0,82,7,77,0,66,192,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,2,0,5,74,0,44,5,72,0,48,5,71,0,52,5,71,0,66,5,74,0,68,5,73,0,72,5,74,0,76,5,84,0,76,5,71,0,78,5,73,0,80,5,72,0,92,5,76,0,54,192,0,0,0,192,0,0,0,192,0,0,0,5,75,0,58,5,78,0,58,5,71,0,72,5,74,0,82,5,77,0,82,5,75,0,44,5,73,0,48,5,72,0,52,5,73,0,54,5,71,0,62,5,78,0,64,5,72,0,66,5,78,0,68,5,74,0,72,5,78,0,76,5,72,0,78,5,78,0,78,5,73,0,84,5,70,0,88,5,73,0,92,5,72,0,42,5,75,0,42,5,76,0,48,5,77,0,50,5,84,0,50,5,88,0,50,5,82,0,50,5,76,0,58,5,76,0,70,5,81,0,78,5,75,0,82,5,87,0,92,7,76,0,42,192,0,0,0,6,74,0,46,192,0,0,0,6,87,0,50,192,0,0,0,6,74,0,60,6,70,0,54,7,76,0,56,7,74,0,58,7,77,0,58,6,71,0,58,6,75,0,58,6,73,0,60,6,79,0,64,6,78,0,64,7,70,0,64,7,73,0,66,6,80,0,66,7,75,0,68,6,79,0,68,7,71,0,68,7,81,0,70,6,79,0,72,6,73,0,78,7,77,0,78,6,74,0,80,7,73,0,82,7,76,0,82,6,70,0,82,7,74,0,84,7,78,0,84,192,0,0,0,6,75,0,92,6,76,0,92,7,81,0,92,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,0,54,192,0,0,0,192,0,0,0,6,70,0,64,6,70,0,66,192,0,0,0,6,71,0,68,6,70,0,76,6,71,0,76,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,75,0,78,5,76,0,78,192,0,0,0,5,80,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,77,0,84,5,77,0,84,134,73,0,90,5,73,0,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,8,81,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,135,83,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,74,0,52,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,74,0,52,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,76,0,46,5,76,0,46,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,75,0,64,5,75,0,64,134,76,0,64,134,71,0,72,134,82,0,76,5,71,0,42,5,72,0,80,134,72,0,56,5,72,0,56,134,73,0,62,5,73,0,62,134,79,0,92,5,79,0,92,134,74,0,42,134,73,0,66,134,73,0,42,134,76,0,42,5,75,0,84,134,71,0,86,5,71,0,86,5,76,0,84,134,73,0,56,5,73,0,56,5,80,0,72,5,78,0,50,5,80,0,76,5,80,0,70,5,80,0,50,192,0,0,0,192,0,0,0,134,74,0,78,134,78,0,92,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,74,0,56,5,74,0,56,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,70,0,52,5,70,0,78,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,77,0,46,5,77,0,46,134,74,0,62,5,74,0,62,134,75,0,62,5,75,0,62,134,76,0,62,5,76,0,62,134,71,0,64,5,71,0,64,134,73,0,64,5,73,0,64,134,82,0,70,5,82,0,70,134,77,0,70,5,77,0,70,192,0,0,0,192,0,0,0,134,72,0,72,5,72,0,72,134,76,0,72,5,76,0,72,134,77,0,72,5,77,0,72,134,70,0,74,5,70,0,74,134,71,0,74,5,71,0,74,135,71,0,76,5,71,0,76,134,89,0,76,5,89,0,76,134,72,0,84,5,72,0,84,192,0,0,0,192,0,0,0,134,80,0,92,5,80,0,92,134,70,38,93,5,70,38,93,134,71,38,93,5,71,38,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,79,0,48,5,82,0,64,5,76,0,66,5,81,0,68,5,87,0,76,5,88,0,76,5,78,0,80,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,77,0,54,5,77,0,54,134,83,0,64,5,83,0,64,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,134,76,0,56,5,80,0,64,192,0,0,0,134,77,0,68,5,77,0,68,134,72,0,46,5,72,0,46,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,56,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,78,0,66,5,75,0,52,5,78,0,72,5,74,0,66,5,72,0,58,5,75,0,66,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,70,0,58,6,70,0,60,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,0,56,5,70,0,84,133,5,0,56,6,70,0,84,5,5,0,64,5,82,0,92,5,5,0,70,5,71,0,50,5,5,0,48,5,83,0,92,5,5,0,48,5,77,0,92,5,5,0,80,5,75,0,46,5,5,0,42,5,73,0,50,5,5,0,42,5,74,0,50,5,5,0,70,5,72,0,50,5,5,0,42,6,74,0,50,5,5,0,82,5,70,0,50,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,92,134,81,48,0,12,3,255,255,0,92,134,84,0,92,5,81,48,0,12,3,255,255,0,92,5,84,16,97,174,5,1,0,1,3,255,255,32,97,134,70,65,3,255,255,32,97,134,70,84,97,174,5,1,0,1,3,255,255,170,97,134,70,65,3,255,255,170,97,134,70,16,97,5,5,1,0,1,3,255,255,32,97,5,70,65,3,255,255,32,97,5,70,84,97,5,5,1,0,1,3,255,255,170,97,5,70,65,3,255,255,170,97,5,70,5,2,64,12,32,14,192,14,232,14,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,92,185,96,185,100,185,104,185,108,185,112,185,116,185,120,185,124,186,128,185,132,185,136,185,140,185,144,185,148,185,152,185,156,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,92,168,96,168,100,168,104,168,108,168,112,168,116,168,120,168,124,168,128,168,132,168,136,168,140,168,144,168,148,168,152,168,156,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,112,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,153,110,185,113,153,113,249,113,153,114,89,114,136,14,217,114,185,137,153,137,249,137,89,138,153,153,185,160,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,110,168,113,136,113,232,113,136,114,72,114,128,14,200,114,168,137,136,137,232,137,72,138,136,153,168,160,72,154,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,200,88,6,8,8,8,250,93,232,93,249,98,232,98,200,96,153,101,136,101,249,102,232,102,25,102,8,102,121,103,104,103,89,103,72,103,153,109,136,109,249,110,232,110,25,110,8,110,200,108,249,108,232,108,57,115,40,115,217,113,200,113,121,114,104,114,10,8,12,8,153,125,136,125,249,126,232,126,25,126,8,126,154,129,136,129,250,129,232,129,250,130,232,130,26,130,8,130,249,134,232,134,25,134,8,134,217,132,200,132,153,138,136,138,57,139,40,139,217,137,200,137,57,138,40,138,121,138,104,138,25,139,8,139,249,145,232,145,249,153,232,153,89,154,153,157,136,157,185,158,168,158,25,158,8,158,232,128,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,14,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,16,8,1,0,8,14,18,8,1,0,16,14,0,13,8,13,24,14,20,8,200,12,72,12,32,14,217,56,187,72,200,128,169,128,200,56,169,72,187,88,187,92,169,88,169,92,217,112,187,72,200,112,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,83,0,74,0,41,0,55,17,1,16,149,6,0,96,1,0,0,96,106,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,61,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,228,31,0,0,228,31,0,0,228,31,0,0,228,31,0,0,12,34,0,0,12,34,0,0,82,34,0,0,82,34,0,0,82,34,0,0,50,105,114,84,1,0,64,8,241,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,110,0,118,0,48,0,56,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,150,0,48,0,48,0,48,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,174,0,48,0,180,0,188,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,199,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,140,0,48,0,48,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,224,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,184,1,192,0,212,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,16,0,202,33,16,0,202,66,16,0,202,99,16,0,202,132,16,0,202,165,16,0,202,198,16,0,202,231,16,0,202,8,17,0,202,41,17,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,6,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,0,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,0,5,71,238,102,201,134,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,197,162,1,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,197,163,2,0,197,2,3,0,192,0,0,0,192,0,0,0,197,66,3,0,197,131,3,0,197,226,3,0,192,0,0,0,192,0,0,0,197,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,0,0,5,5,10,121,5,5,12,121,197,98,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,98,1,0,5,5,107,121,197,162,1,0,5,5,111,121,197,226,1,0,5,5,115,121,197,34,2,0,5,5,119,121,197,98,2,0,197,163,2,0,197,2,3,0,5,5,127,121,5,5,129,121,197,66,3,0,197,131,3,0,197,226,3,0,5,5,137,121,5,5,139,121,197,34,4,0,5,5,143,121,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,170,170,3,0,83,0,74,0,41,0,11,30,1,16,25,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,32,0,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,2,0,0,0,16,32,2,15,3,0,83,0,74,0,41,0,175,38,1,16,0,0,0,0,1,0,0,96,6,0,60,0,68,0,98,0,102,0,117,0,124,0,170,170,4,0,0,96,47,17,1,32,6,30,1,32,120,220,1,80,167,38,1,32,184,38,1,32,5,0,133,0,32,0,41,0,49,0,146,0,118,220,1,144,171,66,0,96,1,0,0,96,189,38,1,32,13,0,0,96,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,118,0,0,32,7,0,0,0,21,0,0,0,120,0,0,0,120,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,0,0,170,170,60,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,36,0,0,0,36,1,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,111,0,0,32,1,0,32,0,116,0,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,101,28,0,32,7,0,0,0,23,0,0,0,103,28,0,0,103,28,0,0,3,0,0,0,0,0,0,0,203,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,115,0,101,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,47,221,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,98,0,60,0,225,0,60,0,60,0,60,0,193,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,100,0,60,0,13,1,60,0,60,0,60,0,12,1,60,0,146,2,60,0,60,0,60,0,183,1,60,0,239,1,60,0,60,0,60,0,238,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,101,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,104,0,60,0,231,1,60,0,60,0,60,0,230,1,60,0,229,1,60,0,60,0,60,0,228,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,108,0,60,0,233,1,60,0,60,0,60,0,232,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,111,0,60,0,75,1,60,0,60,0,60,0,74,1,60,0,60,0,68,1,60,0,60,0,60,0,67,1,60,0,60,0,241,0,60,0,60,0,60,0,209,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,116,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,117,0,60,0,103,1,60,0,60,0,60,0,102,1,60,0,60,0,254,0,60,0,60,0,60,0,222,0,38,0,121,0,60,0,60,0,252,0,60,0,60,0,60,0,220,0,60,0,60,0,113,1,60,0,60,0,60,0,112,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,126,1,60,0,60,0,60,0,125,1,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,229,0,60,0,60,0,60,0,197,0,60,0,60,0,39,2,60,0,60,0,60,0,38,2,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,227,0,60,0,60,0,60,0,195,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,245,0,60,0,60,0,60,0,213,0,60,0,60,0,244,0,60,0,60,0,60,0,212,0,60,0,60,0,235,1,60,0,60,0,60,0,234,1,0,0,248,57,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,6,1,0,0,68,0,0,0,68,0,0,0,68,0,0,0,148,40,0,0,148,40,0,0,236,45,0,0,236,45,0,0,56,51,0,0,56,51,0,0,220,57,0,0,220,57,0,0,220,57,0,0,50,105,114,84,1,0,64,8,124,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,126,0,134,0,142,0,150,0,48,0,56,0,154,0,162,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,159,0,167,0,173,0,181,0,189,0,197,0,48,0,56,0,196,0,204,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,229,0,48,0,48,0,48,0,237,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,245,0,48,0,48,0,253,0,48,0,3,1,11,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,14,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,22,1,26,1,33,1,41,1,47,1,55,1,60,1,68,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,74,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,82,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,85,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,219,0,48,0,48,0,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,93,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,101,1,48,0,48,0,107,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,248,1,56,2,192,0,104,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,124,2,180,2,244,2,192,0,16,3,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,41,0,202,65,41,0,202,98,41,0,202,131,41,0,202,164,41,0,202,197,41,0,202,230,41,0,202,7,42,0,202,40,42,0,202,73,42,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,201,102,3,0,156,5,0,48,156,5,0,50,156,5,0,52,201,38,4,0,156,5,0,56,156,5,0,58,156,5,0,60,201,230,4,0,156,5,0,64,156,5,0,66,201,166,5,0,201,134,7,0,156,5,0,72,160,5,0,74,156,5,0,76,201,198,9,0,156,5,0,80,201,166,10,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,70,12,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,6,13,0,5,5,0,44,201,38,16,0,5,5,0,48,5,5,0,50,5,5,0,52,201,230,16,0,5,5,0,56,5,5,0,58,5,5,0,60,201,166,17,0,5,5,0,64,5,5,0,66,201,102,18,0,201,70,20,0,5,5,0,72,5,5,0,74,5,5,0,76,201,166,22,0,5,5,0,80,201,134,23,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,70,25,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,5,31,43,196,142,156,42,198,1,0,0,198,65,0,0,198,97,0,0,198,1,2,0,201,38,26,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,70,29,49,134,71,33,69,196,138,156,70,196,136,156,70,198,129,0,0,198,161,0,0,198,193,0,0,5,5,127,12,198,33,2,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,134,70,25,81,197,130,32,0,196,138,5,42,5,5,31,43,196,142,5,42,198,65,1,0,193,6,111,93,193,5,111,93,193,4,111,93,201,230,26,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,70,29,49,5,71,33,69,196,138,5,70,196,136,5,70,198,129,1,0,198,161,1,0,193,7,111,93,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,5,70,25,81,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,27,0,201,134,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,47,5,5,21,47,192,0,0,0,192,0,0,0,134,5,29,49,5,5,29,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,33,0,201,38,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,34,0,201,166,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,33,69,5,70,33,69,201,102,36,0,201,230,37,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,33,69,5,5,33,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,225,0,0,198,193,1,0,198,193,3,0,198,225,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,39,0,201,38,40,0,134,5,35,79,5,5,35,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,25,81,5,5,25,81,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,230,40,0,201,6,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,1,0,193,2,111,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,43,0,201,6,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,46,0,201,6,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,49,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,197,34,7,0,197,34,0,0,197,98,0,0,197,98,7,0,197,162,7,0,197,226,7,0,197,34,8,0,192,0,0,0,198,194,5,0,197,98,8,0,198,2,6,0,198,66,6,0,198,130,6,0,197,162,8,0,134,5,28,55,5,5,28,55,134,5,27,55,5,5,27,55,134,5,21,63,5,5,21,63,201,230,49,0,201,198,51,0,198,130,8,0,198,194,8,0,134,5,23,47,5,5,23,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,9,0,197,34,9,0,198,66,9,0,197,98,9,0,198,130,9,0,197,162,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,53,0,201,102,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,97,1,0,192,0,0,0,192,0,0,0,198,194,9,0,197,98,10,0,198,2,10,0,198,66,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,55,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,230,55,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,57,0,5,71,238,102,201,166,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,10,0,192,0,0,0,192,0,0,0,197,226,10,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,192,0,0,0,197,98,11,0,192,0,0,0,192,0,0,0,197,162,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,11,0,192,0,0,0,197,34,12,0,192,0,0,0,197,98,12,0,192,0,0,0,197,162,12,0,192,0,0,0,197,226,12,0,197,35,13,0,197,130,13,0,192,0,0,0,192,0,0,0,197,194,13,0,197,3,14,0,197,98,14,0,192,0,0,0,192,0,0,0,197,162,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,10,0,197,226,14,0,5,5,10,121,197,34,15,0,197,98,15,0,5,5,12,121,5,5,16,121,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,5,5,18,121,5,5,20,121,197,66,11,0,5,5,24,121,197,98,11,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,59,0,201,102,62,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,65,0,201,6,66,0,201,198,66,0,201,134,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,68,0,201,198,69,0,201,70,71,0,201,198,72,0,201,70,74,0,201,198,75,0,198,2,12,0,198,66,12,0,198,130,12,0,198,194,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,77,0,201,6,78,0,192,0,0,0,192,0,0,0,197,226,22,0,197,34,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,78,0,201,230,79,0,201,6,81,0,201,38,82,0,201,70,83,0,201,102,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,85,0,201,70,86,0,201,6,87,0,201,198,87,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,88,0,201,102,91,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,94,0,201,38,96,0,192,0,0,0,192,0,0,0,198,194,16,0,198,2,17,0,198,66,17,0,198,130,17,0,198,194,17,0,198,2,18,0,198,66,18,0,198,130,18,0,198,2,15,0,198,2,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,4,0,198,66,5,0,201,6,98,0,201,230,99,0,201,198,101,0,201,230,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,104,0,201,38,105,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,4,0,198,97,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,6,111,93,0,134,0,70,0,5,111,93,0,134,0,5,0,6,111,93,0,134,0,5,0,5,111,93,0,134,0,72,0,7,111,93,0,134,0,71,0,7,111,93,0,134,0,5,0,7,111,93,0,134,0,70,0,7,111,93,0,134,0,73,0,7,111,93,0,134,0,5,0,2,111,93,0,5,0,70,0,6,111,93,0,5,0,70,0,5,111,93,0,5,0,72,0,7,111,93,0,5,0,71,0,7,111,93,0,5,0,70,0,7,111,93,0,5,0,73,0,7,111,93,0,134,0,5,0,4,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,6,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,70,0,3,111,93,0,134,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,73,0,7,111,93,0,5,0,164,0,0,0,0,0,5,0,73,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,164,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,6,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,200,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,136,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,136,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,150,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,150,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,210,0,0,0,0,0,134,0,70,0,6,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,136,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,136,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,138,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,138,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,182,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,182,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,154,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,154,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,134,5,21,47,5,160,0,0,5,5,21,47,5,160,0,0,134,5,31,43,5,162,0,0,5,5,31,43,5,162,0,0,193,6,111,93,5,162,0,0,193,5,111,93,5,162,0,0,134,5,27,55,5,160,0,0,5,5,27,55,5,160,0,0,134,5,21,63,5,160,0,0,5,5,21,63,5,160,0,0,134,70,33,69,5,160,0,0,134,71,33,69,5,160,0,0,5,70,33,69,5,160,0,0,5,71,33,69,5,160,0,0,134,5,35,79,5,160,0,0,5,5,35,79,5,160,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,193,7,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,6,111,93,5,164,0,0,193,4,111,93,5,164,0,0,193,7,111,93,5,162,0,0,193,5,111,93,5,136,0,0,193,4,111,93,5,136,0,0,193,3,111,93,5,136,0,0,134,5,35,79,5,202,0,0,5,5,35,79,5,202,0,0,193,7,111,93,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,31,43,5,200,0,0,5,5,31,43,5,200,0,0,193,6,111,93,5,200,0,0,193,5,111,93,5,200,0,0,134,5,21,63,5,196,0,0,5,5,21,63,5,196,0,0,134,5,21,63,5,210,0,0,5,5,21,63,5,210,0,0,134,70,33,69,5,196,0,0,134,71,33,69,5,196,0,0,5,70,33,69,5,196,0,0,5,71,33,69,5,196,0,0,134,70,33,69,5,210,0,0,134,71,33,69,5,210,0,0,5,70,33,69,5,210,0,0,5,71,33,69,5,210,0,0,134,70,33,69,5,204,0,0,134,71,33,69,5,204,0,0,5,70,33,69,5,204,0,0,5,71,33,69,5,204,0,0,134,5,35,79,5,196,0,0,5,5,35,79,5,196,0,0,134,5,35,79,5,156,0,0,5,5,35,79,5,156,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,2,111,93,5,196,0,0,193,2,111,93,5,210,0,0,134,5,31,43,5,196,0,0,5,5,31,43,5,196,0,0,193,6,111,93,5,196,0,0,193,5,111,93,5,196,0,0,193,7,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,7,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,162,10,0,5,5,10,121,5,5,12,121,197,226,10,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,11,0,5,5,24,121,197,98,11,0,5,5,28,121,5,5,30,121,197,162,11,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,11,0,5,5,107,121,197,34,12,0,5,5,111,121,197,98,12,0,5,5,115,121,197,162,12,0,5,5,119,121,197,226,12,0,197,35,13,0,197,130,13,0,5,5,127,121,5,5,129,121,197,194,13,0,197,3,14,0,197,98,14,0,5,5,137,121,5,5,139,121,197,162,14,0,5,5,143,121,5,5,6,121,197,162,10,0,197,226,14,0,5,5,10,121,197,34,15,0,197,98,15,0,5,5,12,121,5,5,16,121,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,5,5,18,121,5,5,20,121,197,66,11,0,5,5,24,121,197,98,11,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,5,0,8,3,9,0,8,3,0,192,198,65,10,3,0,192,198,97,65,3,31,235,134,5,1,3,31,235,134,5,3,3,198,129,7,3,198,161,0,46,156,5,48,0,12,3,21,239,134,5,0,54,156,5,48,0,12,3,27,247,134,5,0,62,156,5,48,0,12,3,21,255,134,5,0,68,156,5,2,0,1,3,255,255,33,69,134,70,3,3,255,255,33,69,134,71,65,3,255,255,33,69,134,70,0,70,156,5,4,0,2,3,0,192,198,129,3,3,0,192,198,161,8,3,0,192,198,193,11,3,0,192,198,225,40,3,1,192,198,1,0,78,156,5,48,0,12,3,255,255,35,79,134,5,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,92,156,5,48,0,12,3,1,192,198,33,0,42,5,5,5,0,8,3,11,0,8,3,255,255,111,93,193,6,10,3,255,255,111,93,193,5,65,3,31,235,5,5,1,3,31,235,5,5,3,3,1,192,198,65,7,3,1,192,198,97,0,46,5,5,48,0,12,3,21,239,5,5,0,54,5,5,48,0,12,3,27,247,5,5,0,62,5,5,48,0,12,3,21,255,5,5,0,68,5,5,2,0,1,3,255,255,33,69,5,70,3,3,255,255,33,69,5,71,65,3,255,255,33,69,5,70,0,70,5,5,4,0,2,3,1,192,198,129,3,3,1,192,198,161,8,3,255,255,111,93,193,7,11,3,1,192,198,193,40,3,1,192,198,225,0,78,5,5,48,0,12,3,255,255,35,79,5,5,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,0,92,5,5,48,0,12,3,255,255,111,93,193,2,156,46,196,160,48,0,12,3,0,192,197,162,5,46,196,160,48,0,12,3,0,192,197,226,156,42,196,162,5,0,8,3,9,0,8,3,2,192,198,194,10,3,3,192,198,2,65,3,1,192,197,34,1,3,1,192,197,34,3,3,2,192,198,66,7,3,2,192,198,130,5,42,196,162,5,0,8,3,9,0,8,3,1,192,197,162,10,3,1,192,197,226,65,3,1,192,197,98,1,3,1,192,197,98,3,3,3,192,198,66,7,3,3,192,198,130,156,54,196,160,48,0,12,3,2,192,197,34,5,54,196,160,48,0,12,3,2,192,197,98,156,62,196,160,48,0,12,3,2,192,197,162,5,62,196,160,48,0,12,3,2,192,197,226,156,68,196,160,2,0,1,3,3,192,197,34,3,3,3,192,197,98,65,3,3,192,197,34,5,68,196,160,2,0,1,3,3,192,197,162,3,3,3,192,197,226,65,3,3,192,197,162,156,78,196,160,48,0,12,3,4,192,197,34,5,78,196,160,48,0,12,3,4,192,197,98,156,82,196,162,1,0,8,3,4,192,197,162,11,3,4,192,197,226,5,82,196,162,1,0,8,3,5,192,197,34,11,3,5,192,197,98,156,70,196,190,3,0,2,3,4,192,198,2,3,3,4,192,198,66,8,3,4,192,198,130,11,3,4,192,198,194,5,70,196,190,3,0,2,3,5,192,198,2,3,3,5,192,198,66,8,3,5,192,197,162,11,3,5,192,198,130,156,82,196,190,1,0,8,3,5,192,197,226,11,3,6,192,197,34,5,82,196,190,1,0,8,3,6,192,197,98,11,3,6,192,197,162,22,47,134,5,48,0,12,3,23,239,134,5,1,0,198,1,3,0,2,3,6,192,198,194,3,3,7,192,198,2,8,3,7,192,198,66,11,3,7,192,198,130,1,0,198,225,3,0,2,3,7,192,198,194,3,3,8,192,198,2,8,3,8,192,197,226,11,3,8,192,198,66,156,78,196,202,48,0,12,3,9,192,197,226,5,78,196,202,48,0,12,3,10,192,197,34,22,47,5,5,48,0,12,3,23,239,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,5,0,8,3,9,0,8,3,11,192,198,2,10,3,11,192,198,66,65,3,17,192,197,98,1,3,17,192,197,98,3,3,10,192,198,130,7,3,10,192,198,194,5,42,196,200,5,0,8,3,9,0,8,3,17,192,197,226,10,3,18,192,197,34,65,3,17,192,197,162,1,3,17,192,197,162,3,3,11,192,198,130,7,3,11,192,198,194,156,62,196,196,48,0,12,3,18,192,197,98,5,62,196,196,48,0,12,3,18,192,197,162,156,62,196,210,48,0,12,3,18,192,197,226,5,62,196,210,48,0,12,3,19,192,197,34,156,68,196,196,2,0,1,3,19,192,197,98,3,3,19,192,197,162,65,3,19,192,197,98,5,68,196,196,2,0,1,3,19,192,197,226,3,3,20,192,197,34,65,3,19,192,197,226,156,68,196,210,2,0,1,3,20,192,197,98,3,3,20,192,197,162,65,3,20,192,197,98,5,68,196,210,2,0,1,3,20,192,197,226,3,3,21,192,197,34,65,3,20,192,197,226,156,68,196,204,2,0,1,3,21,192,197,98,3,3,21,192,197,162,65,3,21,192,197,98,5,68,196,204,2,0,1,3,21,192,197,226,3,3,22,192,197,34,65,3,21,192,197,226,156,78,196,196,48,0,12,3,22,192,197,98,5,78,196,196,48,0,12,3,22,192,197,162,156,82,196,198,1,0,8,3,23,192,197,98,11,3,23,192,197,162,5,82,196,198,1,0,8,3,23,192,197,226,11,3,24,192,197,34,156,82,196,208,1,0,8,3,24,192,197,98,11,3,24,192,197,162,5,82,196,208,1,0,8,3,24,192,197,226,11,3,25,192,197,34,156,82,196,204,1,0,8,3,25,192,197,98,11,3,25,192,197,162,5,82,196,204,1,0,8,3,25,192,197,226,11,3,26,192,197,34,156,92,196,196,48,0,12,3,13,192,198,2,5,92,196,196,48,0,12,3,26,192,197,98,156,92,196,210,48,0,12,3,13,192,198,66,5,92,196,210,48,0,12,3,26,192,197,162,156,42,196,196,5,0,8,3,9,0,8,3,14,192,198,2,10,3,14,192,198,66,65,3,26,192,197,226,1,3,26,192,197,226,3,3,13,192,198,130,7,3,13,192,198,194,5,42,196,196,5,0,8,3,9,0,8,3,27,192,197,98,10,3,27,192,197,162,65,3,27,192,197,34,1,3,27,192,197,34,3,3,14,192,198,130,7,3,14,192,198,194,156,70,196,196,3,0,2,3,15,192,198,2,3,3,15,192,198,66,8,3,15,192,198,130,11,3,15,192,198,194,5,70,196,196,3,0,2,3,16,192,198,2,3,3,16,192,198,66,8,3,27,192,197,226,11,3,16,192,198,130,28,0,197,35,3,0,2,3,18,192,198,195,3,3,19,192,198,35,8,3,19,192,198,131,11,3,19,192,198,227,28,0,197,131,3,0,2,3,20,192,198,67,3,3,20,192,198,163,8,3,28,192,197,227,11,3,21,192,198,3,156,82,196,196,1,0,8,3,29,192,197,66,11,3,29,192,197,130,5,82,196,196,1,0,8,3,29,192,197,194,11,3,30,192,197,2,30,0,197,67,1,0,8,3,30,192,197,163,11,3,31,192,197,3,31,0,197,99,1,0,8,3,31,192,197,195,11,3,32,192,197,35,3,0,67,0,50,0,59,0,203,0,0,16,4,0,0,96,1,0,0,96,46,52,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,196,32,0,0,196,32,0,0,28,38,0,0,28,38,0,0,132,41,0,0,132,41,0,0,226,47,0,0,226,47,0,0,18,52,0,0,50,105,114,84,1,0,64,8,255,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,126,0,134,0,142,0,150,0,48,0,56,0,154,0,162,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,186,0,190,0,197,0,205,0,211,0,219,0,224,0,232,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,238,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,178,0,48,0,48,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,248,1,56,2,192,0,104,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,26,0,202,33,26,0,202,66,26,0,202,99,26,0,202,132,26,0,202,165,26,0,202,198,26,0,202,231,26,0,202,8,27,0,202,41,27,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,166,2,0,156,5,0,48,156,5,0,50,156,5,0,52,201,102,3,0,156,5,0,56,156,5,0,58,156,5,0,60,201,38,4,0,156,5,0,64,156,5,0,66,201,230,4,0,201,198,6,0,156,5,0,72,160,5,0,74,156,5,0,76,201,6,9,0,156,5,0,80,201,230,9,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,134,11,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,12,0,5,5,0,44,201,102,15,0,5,5,0,48,5,5,0,50,5,5,0,52,201,38,16,0,5,5,0,56,5,5,0,58,5,5,0,60,201,230,16,0,5,5,0,64,5,5,0,66,201,166,17,0,201,134,19,0,5,5,0,72,5,5,0,74,5,5,0,76,201,230,21,0,5,5,0,80,201,198,22,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,134,24,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,5,31,43,196,142,156,42,198,1,0,0,198,65,0,0,198,97,0,0,198,1,2,0,201,102,25,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,70,29,49,134,71,33,69,196,138,156,70,196,136,156,70,198,129,0,0,198,161,0,0,198,193,0,0,5,5,127,12,198,33,2,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,134,70,25,81,197,194,25,0,196,138,5,42,5,5,31,43,196,142,5,42,198,65,1,0,193,6,111,93,193,5,111,93,193,4,111,93,201,38,26,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,70,29,49,5,71,33,69,196,138,5,70,196,136,5,70,198,129,1,0,198,161,1,0,193,7,111,93,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,5,70,25,81,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,26,0,201,198,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,47,5,5,21,47,192,0,0,0,192,0,0,0,134,5,29,49,5,5,29,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,32,0,201,102,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,34,0,201,230,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,33,69,5,70,33,69,201,166,35,0,201,38,37,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,33,69,5,5,33,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,225,0,0,198,193,1,0,198,193,3,0,198,225,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,38,0,201,102,39,0,134,5,35,79,5,5,35,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,25,81,5,5,25,81,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,38,40,0,201,70,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,1,0,193,2,111,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,42,0,201,70,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,46,0,201,70,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,197,34,7,0,197,34,0,0,197,98,0,0,197,98,7,0,197,162,7,0,197,226,7,0,197,34,8,0,192,0,0,0,198,194,5,0,197,98,8,0,198,2,6,0,198,66,6,0,198,130,6,0,197,162,8,0,134,5,28,55,5,5,28,55,134,5,27,55,5,5,27,55,134,5,21,63,5,5,21,63,201,38,49,0,201,6,51,0,198,130,8,0,198,194,8,0,134,5,23,47,5,5,23,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,9,0,197,34,9,0,198,66,9,0,197,98,9,0,198,130,9,0,197,162,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,52,0,201,166,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,97,1,0,192,0,0,0,192,0,0,0,198,194,9,0,197,98,10,0,198,2,10,0,198,66,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,55,0,201,6,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,60,0,201,166,61,0,201,102,62,0,201,38,63,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,63,0,201,102,65,0,201,230,66,0,201,102,68,0,201,230,69,0,201,102,71,0,198,2,12,0,198,66,12,0,198,130,12,0,198,194,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,72,0,201,166,73,0,192,0,0,0,192,0,0,0,197,34,16,0,197,98,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,74,0,201,134,75,0,201,166,76,0,201,198,77,0,201,230,78,0,201,6,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,81,0,201,230,81,0,201,166,82,0,201,102,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,84,0,201,6,87,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,89,0,201,198,91,0,192,0,0,0,192,0,0,0,198,194,16,0,198,2,17,0,198,66,17,0,198,130,17,0,198,194,17,0,198,2,18,0,198,66,18,0,198,130,18,0,198,2,15,0,198,2,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,4,0,198,66,5,0,201,166,93,0,201,134,95,0,201,102,97,0,201,134,98,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,99,0,201,198,100,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,4,0,198,97,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,6,111,93,0,134,0,70,0,5,111,93,0,134,0,5,0,6,111,93,0,134,0,5,0,5,111,93,0,134,0,72,0,7,111,93,0,134,0,71,0,7,111,93,0,134,0,5,0,7,111,93,0,134,0,70,0,7,111,93,0,134,0,73,0,7,111,93,0,134,0,5,0,2,111,93,0,5,0,70,0,6,111,93,0,5,0,70,0,5,111,93,0,5,0,72,0,7,111,93,0,5,0,71,0,7,111,93,0,5,0,70,0,7,111,93,0,5,0,73,0,7,111,93,0,134,0,5,0,4,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,6,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,70,0,3,111,93,0,134,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,73,0,7,111,93,0,5,0,164,0,0,0,0,0,5,0,73,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,164,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,6,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,200,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,136,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,136,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,150,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,150,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,210,0,0,0,0,0,134,0,70,0,6,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,136,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,136,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,138,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,138,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,182,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,182,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,154,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,154,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,134,5,21,47,5,160,0,0,5,5,21,47,5,160,0,0,134,5,31,43,5,162,0,0,5,5,31,43,5,162,0,0,193,6,111,93,5,162,0,0,193,5,111,93,5,162,0,0,134,5,27,55,5,160,0,0,5,5,27,55,5,160,0,0,134,5,21,63,5,160,0,0,5,5,21,63,5,160,0,0,134,70,33,69,5,160,0,0,134,71,33,69,5,160,0,0,5,70,33,69,5,160,0,0,5,71,33,69,5,160,0,0,134,5,35,79,5,160,0,0,5,5,35,79,5,160,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,193,7,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,6,111,93,5,164,0,0,193,4,111,93,5,164,0,0,193,7,111,93,5,162,0,0,193,5,111,93,5,136,0,0,193,4,111,93,5,136,0,0,193,3,111,93,5,136,0,0,134,5,35,79,5,202,0,0,5,5,35,79,5,202,0,0,193,7,111,93,5,164,0,0,134,5,31,43,5,200,0,0,5,5,31,43,5,200,0,0,193,6,111,93,5,200,0,0,193,5,111,93,5,200,0,0,134,5,21,63,5,196,0,0,5,5,21,63,5,196,0,0,134,5,21,63,5,210,0,0,5,5,21,63,5,210,0,0,134,70,33,69,5,196,0,0,134,71,33,69,5,196,0,0,5,70,33,69,5,196,0,0,5,71,33,69,5,196,0,0,134,70,33,69,5,210,0,0,134,71,33,69,5,210,0,0,5,70,33,69,5,210,0,0,5,71,33,69,5,210,0,0,134,70,33,69,5,204,0,0,134,71,33,69,5,204,0,0,5,70,33,69,5,204,0,0,5,71,33,69,5,204,0,0,134,5,35,79,5,196,0,0,5,5,35,79,5,196,0,0,134,5,35,79,5,156,0,0,5,5,35,79,5,156,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,2,111,93,5,196,0,0,193,2,111,93,5,210,0,0,134,5,31,43,5,196,0,0,5,5,31,43,5,196,0,0,193,6,111,93,5,196,0,0,193,5,111,93,5,196,0,0,193,7,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,7,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,5,0,8,3,9,0,8,3,0,192,198,65,10,3,0,192,198,97,65,3,31,235,134,5,1,3,31,235,134,5,3,3,198,129,7,3,198,161,0,46,156,5,48,0,12,3,21,239,134,5,0,54,156,5,48,0,12,3,27,247,134,5,0,62,156,5,48,0,12,3,21,255,134,5,0,68,156,5,2,0,1,3,255,255,33,69,134,70,3,3,255,255,33,69,134,71,65,3,255,255,33,69,134,70,0,70,156,5,4,0,2,3,0,192,198,129,3,3,0,192,198,161,8,3,0,192,198,193,11,3,0,192,198,225,40,3,1,192,198,1,0,78,156,5,48,0,12,3,255,255,35,79,134,5,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,92,156,5,48,0,12,3,1,192,198,33,0,42,5,5,5,0,8,3,11,0,8,3,255,255,111,93,193,6,10,3,255,255,111,93,193,5,65,3,31,235,5,5,1,3,31,235,5,5,3,3,1,192,198,65,7,3,1,192,198,97,0,46,5,5,48,0,12,3,21,239,5,5,0,54,5,5,48,0,12,3,27,247,5,5,0,62,5,5,48,0,12,3,21,255,5,5,0,68,5,5,2,0,1,3,255,255,33,69,5,70,3,3,255,255,33,69,5,71,65,3,255,255,33,69,5,70,0,70,5,5,4,0,2,3,1,192,198,129,3,3,1,192,198,161,8,3,255,255,111,93,193,7,11,3,1,192,198,193,40,3,1,192,198,225,0,78,5,5,48,0,12,3,255,255,35,79,5,5,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,0,92,5,5,48,0,12,3,255,255,111,93,193,2,156,46,196,160,48,0,12,3,0,192,197,162,5,46,196,160,48,0,12,3,0,192,197,226,156,42,196,162,5,0,8,3,9,0,8,3,2,192,198,194,10,3,3,192,198,2,65,3,1,192,197,34,1,3,1,192,197,34,3,3,2,192,198,66,7,3,2,192,198,130,5,42,196,162,5,0,8,3,9,0,8,3,1,192,197,162,10,3,1,192,197,226,65,3,1,192,197,98,1,3,1,192,197,98,3,3,3,192,198,66,7,3,3,192,198,130,156,54,196,160,48,0,12,3,2,192,197,34,5,54,196,160,48,0,12,3,2,192,197,98,156,62,196,160,48,0,12,3,2,192,197,162,5,62,196,160,48,0,12,3,2,192,197,226,156,68,196,160,2,0,1,3,3,192,197,34,3,3,3,192,197,98,65,3,3,192,197,34,5,68,196,160,2,0,1,3,3,192,197,162,3,3,3,192,197,226,65,3,3,192,197,162,156,78,196,160,48,0,12,3,4,192,197,34,5,78,196,160,48,0,12,3,4,192,197,98,156,82,196,162,1,0,8,3,4,192,197,162,11,3,4,192,197,226,5,82,196,162,1,0,8,3,5,192,197,34,11,3,5,192,197,98,156,70,196,190,3,0,2,3,4,192,198,2,3,3,4,192,198,66,8,3,4,192,198,130,11,3,4,192,198,194,5,70,196,190,3,0,2,3,5,192,198,2,3,3,5,192,198,66,8,3,5,192,197,162,11,3,5,192,198,130,156,82,196,190,1,0,8,3,5,192,197,226,11,3,6,192,197,34,5,82,196,190,1,0,8,3,6,192,197,98,11,3,6,192,197,162,22,47,134,5,48,0,12,3,23,239,134,5,1,0,198,1,3,0,2,3,6,192,198,194,3,3,7,192,198,2,8,3,7,192,198,66,11,3,7,192,198,130,1,0,198,225,3,0,2,3,7,192,198,194,3,3,8,192,198,2,8,3,8,192,197,226,11,3,8,192,198,66,156,78,196,202,48,0,12,3,9,192,197,226,5,78,196,202,48,0,12,3,10,192,197,34,22,47,5,5,48,0,12,3,23,239,5,5,156,42,196,200,5,0,8,3,9,0,8,3,11,192,198,2,10,3,11,192,198,66,65,3,10,192,197,162,1,3,10,192,197,162,3,3,10,192,198,130,7,3,10,192,198,194,5,42,196,200,5,0,8,3,9,0,8,3,11,192,197,34,10,3,11,192,197,98,65,3,10,192,197,226,1,3,10,192,197,226,3,3,11,192,198,130,7,3,11,192,198,194,156,62,196,196,48,0,12,3,11,192,197,162,5,62,196,196,48,0,12,3,11,192,197,226,156,62,196,210,48,0,12,3,12,192,197,34,5,62,196,210,48,0,12,3,12,192,197,98,156,68,196,196,2,0,1,3,12,192,197,162,3,3,12,192,197,226,65,3,12,192,197,162,5,68,196,196,2,0,1,3,13,192,197,34,3,3,13,192,197,98,65,3,13,192,197,34,156,68,196,210,2,0,1,3,13,192,197,162,3,3,13,192,197,226,65,3,13,192,197,162,5,68,196,210,2,0,1,3,14,192,197,34,3,3,14,192,197,98,65,3,14,192,197,34,156,68,196,204,2,0,1,3,14,192,197,162,3,3,14,192,197,226,65,3,14,192,197,162,5,68,196,204,2,0,1,3,15,192,197,34,3,3,15,192,197,98,65,3,15,192,197,34,156,78,196,196,48,0,12,3,15,192,197,162,5,78,196,196,48,0,12,3,15,192,197,226,156,82,196,198,1,0,8,3,16,192,197,162,11,3,16,192,197,226,5,82,196,198,1,0,8,3,17,192,197,34,11,3,17,192,197,98,156,82,196,208,1,0,8,3,17,192,197,162,11,3,17,192,197,226,5,82,196,208,1,0,8,3,18,192,197,34,11,3,18,192,197,98,156,82,196,204,1,0,8,3,18,192,197,162,11,3,18,192,197,226,5,82,196,204,1,0,8,3,19,192,197,34,11,3,19,192,197,98,156,92,196,196,48,0,12,3,13,192,198,2,5,92,196,196,48,0,12,3,19,192,197,162,156,92,196,210,48,0,12,3,13,192,198,66,5,92,196,210,48,0,12,3,19,192,197,226,156,42,196,196,5,0,8,3,9,0,8,3,14,192,198,2,10,3,14,192,198,66,65,3,20,192,197,34,1,3,20,192,197,34,3,3,13,192,198,130,7,3,13,192,198,194,5,42,196,196,5,0,8,3,9,0,8,3,20,192,197,162,10,3,20,192,197,226,65,3,20,192,197,98,1,3,20,192,197,98,3,3,14,192,198,130,7,3,14,192,198,194,156,70,196,196,3,0,2,3,15,192,198,2,3,3,15,192,198,66,8,3,15,192,198,130,11,3,15,192,198,194,5,70,196,196,3,0,2,3,16,192,198,2,3,3,16,192,198,66,8,3,21,192,197,34,11,3,16,192,198,130,21,0,197,99,3,0,2,3,18,192,198,195,3,3,19,192,198,35,8,3,19,192,198,131,11,3,19,192,198,227,21,0,197,195,3,0,2,3,20,192,198,67,3,3,20,192,198,163,8,3,22,192,197,35,11,3,21,192,198,3,156,82,196,196,1,0,8,3,22,192,197,130,11,3,22,192,197,194,5,82,196,196,1,0,8,3,23,192,197,2,11,3,23,192,197,66,23,0,197,131,1,0,8,3,23,192,197,227,11,3,24,192,197,67,24,0,197,163,1,0,8,3,25,192,197,3,11,3,25,192,197,99,5,2,64,12,32,14,192,14,232,14,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,18,4,185,64,20,4,185,76,185,84,185,88,22,4,185,96,186,100,186,108,24,4,185,116,185,120,26,4,28,4,185,136,185,140,185,148,30,4,185,160,32,4,185,172,185,176,185,180,185,184,34,4,88,13,168,13,96,13,56,14,80,12,40,14,36,4,168,64,38,4,168,76,168,84,168,88,40,4,168,96,168,100,168,108,42,4,168,116,168,120,44,4,46,4,168,136,168,140,168,148,48,4,168,160,50,4,168,172,168,176,168,180,168,184,52,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,185,60,249,57,217,212,185,212,185,208,185,204,54,4,185,85,153,85,249,85,89,86,186,101,154,101,250,101,90,102,217,80,249,128,185,133,153,133,25,217,249,216,185,216,136,14,185,200,185,169,153,169,249,169,217,184,153,185,217,164,0,8,168,57,168,60,232,57,200,212,168,212,168,208,168,204,56,4,168,85,136,85,232,85,72,86,168,101,136,101,232,101,72,102,200,80,232,128,168,133,136,133,8,217,232,216,168,216,128,14,168,200,168,169,136,169,232,169,200,184,136,185,200,164,72,186,249,58,232,58,217,57,200,57,58,4,60,4,153,69,136,69,249,69,232,69,153,70,136,70,185,72,168,72,25,78,8,78,185,80,168,80,249,86,232,86,217,85,200,85,153,86,136,86,217,86,200,86,25,86,8,86,249,93,232,93,217,93,200,93,153,94,136,94,62,4,64,4,249,97,232,97,25,99,8,99,122,102,104,102,250,102,232,102,218,101,200,101,218,102,200,102,154,102,168,104,2,8,4,8,250,109,232,109,66,4,68,4,168,144,153,117,136,117,185,118,168,118,25,118,8,118,57,119,40,119,25,119,8,119,217,128,200,128,70,4,72,4,26,126,8,126,6,8,185,128,168,128,249,134,232,134,217,133,200,133,217,216,200,216,217,200,200,200,153,149,136,149,185,150,168,150,25,150,8,150,154,153,136,153,250,153,232,153,74,4,76,4,185,156,168,156,185,162,168,162,25,162,8,162,185,164,168,164,121,170,104,170,249,170,232,170,217,169,200,169,57,170,40,170,249,184,232,184,78,4,80,4,249,177,232,177,249,185,232,185,89,186,153,189,136,189,153,190,136,190,185,196,168,196,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,8,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,10,8,1,0,8,14,12,8,1,0,16,14,0,13,8,13,24,14,14,8,200,12,72,12,32,14,200,152,169,152,187,100,187,108,169,100,169,108,169,192,169,124,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,68,255,5,185,92,255,5,185,112,255,5,186,124,255,5,185,132,255,5,186,152,255,5,185,168,255,5,185,188,255,5,168,56,255,5,168,68,255,5,168,92,255,5,168,112,255,5,168,124,255,5,168,132,255,5,168,152,255,5,168,168,255,5,168,188,255,5,185,70,255,5,168,70,255,5,217,58,255,5,200,58,255,5,185,94,255,5,168,94,255,5,185,114,255,5,168,114,255,5,186,126,255,5,168,126,255,5,186,154,255,5,168,154,255,5,217,170,255,5,200,170,255,1,170,170,3,0,67,0,50,0,59,0,79,15,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,74,15,0,32,92,28,0,32,1,0,32,0,97,28,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,65,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,83,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,83,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,120,13,0,32,7,0,0,0,24,0,0,0,122,13,0,0,122,13,0,0,3,0,0,0,0,0,0,0,117,0,0,0,99,111,108,108,97,116,105,111,110,115,0,100,105,99,116,105,111,110,97,114,121,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,87,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,83,0,105,0,110,0,104,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,93,0,38,0,150,13,60,0,130,13,60,0,131,13,38,0,165,13,60,0,164,13,0,0,90,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,83,0,105,0,110,0,104,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,93,0,38,0,150,13,60,0,130,13,60,0,131,13,38,0,162,13,202,13,164,13,60,0,60,0,165,13,0,0,170,170,170,170,170,170,170,170,170,170,232,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,112,0,0,0,112,1,0,0,128,25,0,0,128,25,0,0,128,25,0,0,128,25,0,0,208,25,0,0,33,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,113,182,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,45,46,47,48,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,120,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,103,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,1,0,202,97,1,0,202,130,1,0,202,163,1,0,202,196,1,0,202,229,1,0,202,6,2,0,202,39,2,0,202,72,2,0,202,105,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,130,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,2,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,41,113,193,3,41,113,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,58,113,5,5,158,113,5,70,62,113,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,71,0,54,0,63,0,119,0,0,16,93,0,0,96,1,0,0,96,220,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,112,0,0,0,112,1,0,0,128,25,0,0,128,25,0,0,128,25,0,0,128,25,0,0,196,25,0,0,33,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,113,182,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,45,46,47,48,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,120,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,103,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,41,113,193,3,41,113,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,113,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,71,0,54,0,63,0,247,6,0,16,4,0,0,96,1,0,0,96,2,0,43,0,86,0,170,170,242,6,0,32,111,13,0,32,1,0,32,0,116,13,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,25,0,32,7,0,0,0,23,0,0,0,2,25,0,0,2,25,0,0,3,0,0,0,0,0,0,0,153,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,80,220,38,0,65,0,60,0,97,0,8,3,60,0,60,0,60,0,65,0,8,3,38,0,67,0,60,0,99,0,12,3,60,0,60,0,60,0,67,0,12,3,38,0,72,0,60,0,99,0,104,0,60,0,60,0,60,0,99,0,72,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,79,0,60,0,111,0,2,3,60,0,60,0,60,0,79,0,2,3,38,0,82,0,60,0,114,0,12,3,60,0,60,0,60,0,82,0,12,3,38,0,83,0,60,0,115,0,12,3,60,0,60,0,60,0,83,0,12,3,38,0,90,0,60,0,122,0,12,3,60,0,60,0,60,0,90,0,12,3,0,0,172,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,38,0,65,0,60,0,225,0,60,0,60,0,60,0,193,0,60,0,228,0,60,0,60,0,60,0,196,0,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,38,0,68,0,60,0,15,1,60,0,60,0,60,0,14,1,38,0,69,0,60,0,233,0,60,0,60,0,60,0,201,0,60,0,27,1,60,0,60,0,60,0,26,1,38,0,73,0,60,0,237,0,60,0,60,0,60,0,205,0,38,0,76,0,60,0,58,1,60,0,60,0,60,0,57,1,60,0,62,1,60,0,60,0,60,0,61,1,38,0,78,0,60,0,72,1,60,0,60,0,60,0,71,1,38,0,79,0,60,0,243,0,60,0,60,0,60,0,211,0,60,0,244,0,60,0,60,0,60,0,212,0,38,0,82,0,60,0,85,1,60,0,60,0,60,0,84,1,60,0,89,1,60,0,60,0,60,0,88,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,84,0,60,0,101,1,60,0,60,0,60,0,100,1,38,0,85,0,60,0,250,0,60,0,60,0,60,0,218,0,60,0,111,1,60,0,60,0,60,0,110,1,38,0,89,0,60,0,253,0,60,0,60,0,60,0,221,0,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,0,0,170,170,170,170,170,170,170,170,48,57,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,149,1,0,0,68,0,0,0,68,0,0,0,68,0,0,0,212,39,0,0,212,39,0,0,212,39,0,0,212,39,0,0,92,47,0,0,92,47,0,0,24,57,0,0,24,57,0,0,24,57,0,0,50,105,114,84,1,0,64,8,112,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,125,0,133,0,136,0,144,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,147,0,155,0,161,0,169,0,177,0,185,0,48,0,56,0,184,0,192,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,209,0,217,0,48,0,48,0,48,0,225,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,233,0,48,0,48,0,241,0,48,0,247,0,255,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,2,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,10,1,17,1,25,1,33,1,39,1,47,1,54,1,62,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,70,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,73,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,207,0,48,0,48,0,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,81,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,89,1,48,0,48,0,95,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,244,1,32,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,76,2,132,2,196,2,192,0,224,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,59,0,202,33,59,0,202,66,59,0,202,99,59,0,202,132,59,0,202,165,59,0,202,198,59,0,202,231,59,0,202,8,60,0,202,41,60,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,201,70,2,0,201,6,3,0,201,198,3,0,156,5,0,52,156,5,0,54,156,5,0,56,201,70,5,0,156,5,0,60,156,5,0,62,201,102,6,0,156,5,0,66,201,70,8,0,201,38,9,0,156,5,0,72,160,5,0,74,201,6,11,0,201,230,12,0,201,198,13,0,201,166,14,0,156,5,0,84,160,5,0,86,156,5,0,88,201,134,16,0,201,230,17,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,18,0,5,5,0,44,201,70,20,0,201,6,21,0,201,198,21,0,5,5,0,52,5,5,0,54,5,5,0,56,201,70,23,0,5,5,0,60,5,5,0,62,201,102,24,0,5,5,0,66,201,70,26,0,201,38,27,0,5,5,0,72,5,5,0,74,201,6,29,0,201,230,30,0,201,198,31,0,201,166,32,0,5,5,0,84,5,5,0,86,5,5,0,88,201,134,34,0,201,230,35,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,5,2,43,196,142,156,42,196,154,156,42,134,5,3,43,196,146,156,42,197,226,49,0,201,198,36,0,196,138,156,50,134,5,2,51,196,142,156,50,196,150,156,50,196,138,156,58,134,5,2,59,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,134,5,2,71,134,5,3,71,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,134,5,2,83,196,142,156,82,196,150,156,82,134,5,2,91,160,5,38,93,197,34,50,0,196,138,5,42,5,5,2,43,196,142,5,42,196,154,5,42,5,5,3,43,196,146,5,42,197,98,50,0,201,102,37,0,196,138,5,50,5,5,2,51,196,142,5,50,196,150,5,50,196,138,5,58,5,5,2,59,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,5,5,2,71,5,5,3,71,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,5,5,2,83,196,142,5,82,196,150,5,82,5,5,2,91,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,38,0,201,166,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,41,0,201,166,42,0,134,5,3,51,5,5,3,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,44,0,201,70,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,65,5,5,2,65,201,102,46,0,201,230,47,0,134,5,3,65,5,5,3,65,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,49,0,201,38,50,0,134,5,2,69,5,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,77,5,5,2,77,201,230,50,0,201,102,52,0,134,5,3,77,5,5,3,77,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,53,0,201,166,54,0,134,5,2,79,5,5,2,79,201,102,55,0,201,38,56,0,134,5,2,81,5,5,2,81,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,83,5,5,3,83,192,0,0,0,192,0,0,0,201,230,56,0,201,102,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,59,0,201,102,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,62,0,201,102,64,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,9,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,65,0,201,102,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,68,0,201,166,69,0,201,102,70,0,201,38,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,71,0,201,102,73,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,230,74,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,76,0,5,71,238,102,201,166,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,13,0,192,0,0,0,192,0,0,0,197,98,13,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,13,0,192,0,0,0,197,226,13,0,192,0,0,0,192,0,0,0,197,34,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,14,0,192,0,0,0,197,162,14,0,192,0,0,0,197,226,14,0,192,0,0,0,197,34,15,0,192,0,0,0,197,98,15,0,197,163,15,0,197,2,16,0,192,0,0,0,192,0,0,0,197,66,16,0,197,131,16,0,197,226,16,0,192,0,0,0,192,0,0,0,197,34,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,34,13,0,197,98,17,0,5,5,10,121,197,162,17,0,197,226,17,0,5,5,12,121,5,5,16,121,197,34,18,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,197,98,19,0,197,162,19,0,5,5,18,121,5,5,20,121,197,194,13,0,5,5,24,121,197,226,13,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,78,0,201,6,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,81,0,201,70,82,0,201,6,83,0,201,198,83,0,201,134,84,0,201,70,85,0,201,6,86,0,201,198,86,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,87,0,201,6,89,0,201,134,90,0,201,6,92,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,93,0,201,166,94,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,95,0,201,70,97,0,192,0,0,0,192,0,0,0,201,198,98,0,201,70,100,0,201,198,101,0,201,70,103,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,104,0,201,134,105,0,201,70,106,0,201,6,107,0,201,198,107,0,201,134,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,109,0,201,198,110,0,192,0,0,0,192,0,0,0,201,70,112,0,201,198,113,0,192,0,0,0,192,0,0,0,201,70,115,0,201,6,116,0,192,0,0,0,192,0,0,0,197,98,32,0,197,162,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,116,0,201,134,117,0,201,70,118,0,201,6,119,0,201,198,119,0,201,134,120,0,201,70,121,0,201,198,122,0,201,70,124,0,201,198,125,0,201,70,127,0,201,198,128,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,130,0,201,6,131,0,201,198,131,0,201,134,132,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,133,0,201,198,134,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,136,0,201,198,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,139,0,201,102,140,0,201,134,141,0,201,6,143,0,192,0,0,0,192,0,0,0,197,226,41,0,197,34,42,0,197,98,42,0,197,162,42,0,197,226,42,0,197,34,43,0,197,98,43,0,197,162,43,0,197,34,41,0,197,162,41,0,197,162,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,144,0,201,6,146,0,201,134,147,0,201,6,149,0,192,0,0,0,192,0,0,0,197,162,8,0,197,34,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,150,0,201,6,152,0,192,0,0,0,192,0,0,0,201,134,153,0,201,166,154,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,43,5,162,0,0,134,5,3,43,5,162,0,0,5,5,2,43,5,162,0,0,5,5,3,43,5,162,0,0,134,5,2,51,5,162,0,0,134,5,3,51,5,162,0,0,5,5,2,51,5,162,0,0,5,5,3,51,5,162,0,0,134,5,2,59,5,162,0,0,5,5,2,59,5,162,0,0,134,5,2,65,5,160,0,0,134,5,3,65,5,160,0,0,5,5,2,65,5,160,0,0,5,5,3,65,5,160,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,77,5,160,0,0,134,5,3,77,5,160,0,0,5,5,2,77,5,160,0,0,5,5,3,77,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,81,5,160,0,0,5,5,2,81,5,160,0,0,134,5,2,83,5,162,0,0,134,5,3,83,5,162,0,0,5,5,2,83,5,162,0,0,5,5,3,83,5,162,0,0,134,5,2,71,5,190,0,0,134,5,3,71,5,190,0,0,5,5,2,71,5,190,0,0,5,5,3,71,5,190,0,0,134,5,2,83,5,190,0,0,134,5,3,83,5,190,0,0,5,5,2,83,5,190,0,0,5,5,3,83,5,190,0,0,134,5,3,43,5,164,0,0,5,5,3,43,5,164,0,0,134,5,2,71,5,162,0,0,134,5,3,71,5,162,0,0,5,5,2,71,5,162,0,0,5,5,3,71,5,162,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,81,5,202,0,0,5,5,2,81,5,202,0,0,134,5,2,51,5,160,0,0,134,5,3,51,5,160,0,0,5,5,2,51,5,160,0,0,5,5,3,51,5,160,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,43,5,200,0,0,134,5,3,43,5,200,0,0,5,5,2,43,5,200,0,0,5,5,3,43,5,200,0,0,134,5,2,49,5,196,0,0,5,5,2,49,5,196,0,0,134,5,2,49,5,210,0,0,5,5,2,49,5,210,0,0,134,5,2,49,5,160,0,0,5,5,2,49,5,160,0,0,134,5,2,49,5,204,0,0,5,5,2,49,5,204,0,0,134,5,2,51,5,204,0,0,134,5,3,51,5,204,0,0,5,5,2,51,5,204,0,0,5,5,3,51,5,204,0,0,134,5,2,51,5,208,0,0,134,5,3,51,5,208,0,0,5,5,2,51,5,208,0,0,5,5,3,51,5,208,0,0,134,5,2,59,5,208,0,0,5,5,2,59,5,208,0,0,134,5,2,65,5,196,0,0,134,5,3,65,5,196,0,0,5,5,2,65,5,196,0,0,5,5,3,65,5,196,0,0,134,5,2,65,5,210,0,0,134,5,3,65,5,210,0,0,5,5,2,65,5,210,0,0,5,5,3,65,5,210,0,0,134,5,2,65,5,204,0,0,134,5,3,65,5,204,0,0,5,5,2,65,5,204,0,0,5,5,3,65,5,204,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,77,5,196,0,0,134,5,3,77,5,196,0,0,5,5,2,77,5,196,0,0,5,5,3,77,5,196,0,0,134,5,2,77,5,210,0,0,134,5,3,77,5,210,0,0,5,5,2,77,5,210,0,0,5,5,3,77,5,210,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,81,5,196,0,0,5,5,2,81,5,196,0,0,134,5,2,81,5,210,0,0,5,5,2,81,5,210,0,0,134,5,2,81,5,204,0,0,5,5,2,81,5,204,0,0,134,5,2,83,5,198,0,0,134,5,3,83,5,198,0,0,5,5,2,83,5,198,0,0,5,5,3,83,5,198,0,0,134,5,2,83,5,208,0,0,134,5,3,83,5,208,0,0,5,5,2,83,5,208,0,0,5,5,3,83,5,208,0,0,134,5,2,83,5,204,0,0,134,5,3,83,5,204,0,0,5,5,2,83,5,204,0,0,5,5,3,83,5,204,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,134,5,2,43,5,196,0,0,134,5,3,43,5,196,0,0,5,5,2,43,5,196,0,0,5,5,3,43,5,196,0,0,134,5,2,51,5,196,0,0,134,5,3,51,5,196,0,0,5,5,2,51,5,196,0,0,5,5,3,51,5,196,0,0,134,5,2,59,5,196,0,0,5,5,2,59,5,196,0,0,134,5,2,71,5,196,0,0,134,5,3,71,5,196,0,0,5,5,2,71,5,196,0,0,5,5,3,71,5,196,0,0,134,5,3,71,5,136,0,0,5,5,3,71,5,136,0,0,134,5,3,71,5,138,0,0,5,5,3,71,5,138,0,0,134,5,3,71,5,182,0,0,5,5,3,71,5,182,0,0,134,5,3,71,5,154,0,0,5,5,3,71,5,154,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,134,5,3,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,5,5,3,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,134,5,3,83,5,196,0,0,5,5,2,83,5,196,0,0,5,5,3,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,134,5,3,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,5,5,3,83,5,190,0,0,5,196,0,0,134,5,2,91,5,196,0,0,5,5,2,91,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,13,0,5,5,10,121,5,5,12,121,197,98,13,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,13,0,5,5,24,121,197,226,13,0,5,5,28,121,5,5,30,121,197,34,14,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,98,14,0,5,5,107,121,197,162,14,0,5,5,111,121,197,226,14,0,5,5,115,121,197,34,15,0,5,5,119,121,197,98,15,0,197,163,15,0,197,2,16,0,5,5,127,121,5,5,129,121,197,66,16,0,197,131,16,0,197,226,16,0,5,5,137,121,5,5,139,121,197,34,17,0,5,5,143,121,5,5,6,121,197,34,13,0,197,98,17,0,5,5,10,121,197,162,17,0,197,226,17,0,5,5,12,121,5,5,16,121,197,34,18,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,197,98,19,0,197,162,19,0,5,5,18,121,5,5,20,121,197,194,13,0,5,5,24,121,197,226,13,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,2,0,1,3,2,235,134,5,8,3,3,235,134,5,65,3,2,235,134,5,0,46,156,5,48,0,12,3,2,239,134,5,0,48,156,5,48,0,12,3,2,241,134,5,0,50,156,5,2,0,1,3,2,243,134,5,12,3,3,243,134,5,65,3,2,243,134,5,0,58,156,5,1,0,1,3,2,251,134,5,65,3,2,251,134,5,0,64,156,5,2,0,1,3,255,255,2,65,134,5,12,3,255,255,3,65,134,5,65,3,255,255,2,65,134,5,0,68,156,5,48,0,12,3,255,255,2,69,134,5,0,70,156,5,2,0,1,3,255,255,2,71,134,5,2,3,255,255,3,71,134,5,65,3,255,255,2,71,134,5,0,76,156,5,2,0,1,3,255,255,2,77,134,5,12,3,255,255,3,77,134,5,65,3,255,255,2,77,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,80,156,5,48,0,12,3,255,255,2,81,134,5,0,82,156,5,2,0,1,3,255,255,2,83,134,5,10,3,255,255,3,83,134,5,65,3,255,255,2,83,134,5,0,90,156,5,1,0,1,3,255,255,2,91,134,5,65,3,255,255,2,91,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,42,5,5,2,0,1,3,2,235,5,5,8,3,3,235,5,5,65,3,2,235,5,5,0,46,5,5,48,0,12,3,2,239,5,5,0,48,5,5,48,0,12,3,2,241,5,5,0,50,5,5,2,0,1,3,2,243,5,5,12,3,3,243,5,5,65,3,2,243,5,5,0,58,5,5,1,0,1,3,2,251,5,5,65,3,2,251,5,5,0,64,5,5,2,0,1,3,255,255,2,65,5,5,12,3,255,255,3,65,5,5,65,3,255,255,2,65,5,5,0,68,5,5,48,0,12,3,255,255,2,69,5,5,0,70,5,5,2,0,1,3,255,255,2,71,5,5,2,3,255,255,3,71,5,5,65,3,255,255,2,71,5,5,0,76,5,5,2,0,1,3,255,255,2,77,5,5,12,3,255,255,3,77,5,5,65,3,255,255,2,77,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,80,5,5,48,0,12,3,255,255,2,81,5,5,0,82,5,5,2,0,1,3,255,255,2,83,5,5,10,3,255,255,3,83,5,5,65,3,255,255,2,83,5,5,0,90,5,5,1,0,1,3,255,255,2,91,5,5,65,3,255,255,2,91,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,98,156,42,196,162,2,0,1,3,0,192,197,162,8,3,0,192,197,226,65,3,0,192,197,162,5,42,196,162,2,0,1,3,1,192,197,34,8,3,1,192,197,98,65,3,1,192,197,34,156,50,196,162,2,0,1,3,1,192,197,162,12,3,1,192,197,226,65,3,1,192,197,162,5,50,196,162,2,0,1,3,2,192,197,34,12,3,2,192,197,98,65,3,2,192,197,34,156,58,196,162,1,0,1,3,2,192,197,162,65,3,2,192,197,162,5,58,196,162,1,0,1,3,2,192,197,226,65,3,2,192,197,226,156,64,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,5,64,196,160,2,0,1,3,3,192,197,162,12,3,3,192,197,226,65,3,3,192,197,162,156,68,196,160,48,0,12,3,4,192,197,34,5,68,196,160,48,0,12,3,4,192,197,98,156,76,196,160,2,0,1,3,4,192,197,162,12,3,4,192,197,226,65,3,4,192,197,162,5,76,196,160,2,0,1,3,5,192,197,34,12,3,5,192,197,98,65,3,5,192,197,34,156,78,196,160,48,0,12,3,5,192,197,162,5,78,196,160,48,0,12,3,5,192,197,226,156,80,196,160,48,0,12,3,6,192,197,34,5,80,196,160,48,0,12,3,6,192,197,98,156,82,196,162,2,0,1,3,6,192,197,162,10,3,6,192,197,226,65,3,6,192,197,162,5,82,196,162,2,0,1,3,7,192,197,34,10,3,7,192,197,98,65,3,7,192,197,34,156,70,196,190,2,0,1,3,7,192,197,162,2,3,7,192,197,226,65,3,7,192,197,162,5,70,196,190,2,0,1,3,8,192,197,34,2,3,8,192,197,98,65,3,8,192,197,34,156,82,196,190,2,0,1,3,8,192,197,162,10,3,8,192,197,226,65,3,8,192,197,162,5,82,196,190,2,0,1,3,9,192,197,34,10,3,9,192,197,98,65,3,9,192,197,34,156,70,196,162,2,0,1,3,10,192,197,34,2,3,10,192,197,98,65,3,10,192,197,34,5,70,196,162,2,0,1,3,10,192,197,162,2,3,10,192,197,226,65,3,10,192,197,162,156,78,196,202,48,0,12,3,11,192,197,34,5,78,196,202,48,0,12,3,11,192,197,98,156,80,196,202,48,0,12,3,11,192,197,162,5,80,196,202,48,0,12,3,11,192,197,226,156,50,196,160,2,0,1,3,12,192,197,34,12,3,12,192,197,98,65,3,12,192,197,34,5,50,196,160,2,0,1,3,12,192,197,162,12,3,12,192,197,226,65,3,12,192,197,162,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,2,0,1,3,19,192,197,226,8,3,20,192,197,34,65,3,19,192,197,226,5,42,196,200,2,0,1,3,20,192,197,98,8,3,20,192,197,162,65,3,20,192,197,98,156,48,196,196,48,0,12,3,20,192,197,226,5,48,196,196,48,0,12,3,21,192,197,34,156,48,196,210,48,0,12,3,21,192,197,98,5,48,196,210,48,0,12,3,21,192,197,162,156,48,196,160,48,0,12,3,21,192,197,226,5,48,196,160,48,0,12,3,22,192,197,34,156,48,196,204,48,0,12,3,22,192,197,98,5,48,196,204,48,0,12,3,22,192,197,162,156,50,196,204,2,0,1,3,22,192,197,226,12,3,23,192,197,34,65,3,22,192,197,226,5,50,196,204,2,0,1,3,23,192,197,98,12,3,23,192,197,162,65,3,23,192,197,98,156,50,196,208,2,0,1,3,23,192,197,226,12,3,24,192,197,34,65,3,23,192,197,226,5,50,196,208,2,0,1,3,24,192,197,98,12,3,24,192,197,162,65,3,24,192,197,98,156,58,196,208,1,0,1,3,24,192,197,226,65,3,24,192,197,226,5,58,196,208,1,0,1,3,25,192,197,34,65,3,25,192,197,34,156,64,196,196,2,0,1,3,25,192,197,98,12,3,25,192,197,162,65,3,25,192,197,98,5,64,196,196,2,0,1,3,25,192,197,226,12,3,26,192,197,34,65,3,25,192,197,226,156,64,196,210,2,0,1,3,26,192,197,98,12,3,26,192,197,162,65,3,26,192,197,98,5,64,196,210,2,0,1,3,26,192,197,226,12,3,27,192,197,34,65,3,26,192,197,226,156,64,196,204,2,0,1,3,27,192,197,98,12,3,27,192,197,162,65,3,27,192,197,98,5,64,196,204,2,0,1,3,27,192,197,226,12,3,28,192,197,34,65,3,27,192,197,226,156,68,196,196,48,0,12,3,28,192,197,98,5,68,196,196,48,0,12,3,28,192,197,162,156,68,196,210,48,0,12,3,28,192,197,226,5,68,196,210,48,0,12,3,29,192,197,34,156,68,196,204,48,0,12,3,29,192,197,98,5,68,196,204,48,0,12,3,29,192,197,162,156,76,196,196,2,0,1,3,29,192,197,226,12,3,30,192,197,34,65,3,29,192,197,226,5,76,196,196,2,0,1,3,30,192,197,98,12,3,30,192,197,162,65,3,30,192,197,98,156,76,196,210,2,0,1,3,30,192,197,226,12,3,31,192,197,34,65,3,30,192,197,226,5,76,196,210,2,0,1,3,31,192,197,98,12,3,31,192,197,162,65,3,31,192,197,98,156,78,196,196,48,0,12,3,31,192,197,226,5,78,196,196,48,0,12,3,32,192,197,34,156,80,196,196,48,0,12,3,32,192,197,226,5,80,196,196,48,0,12,3,33,192,197,34,156,80,196,210,48,0,12,3,33,192,197,98,5,80,196,210,48,0,12,3,33,192,197,162,156,80,196,204,48,0,12,3,33,192,197,226,5,80,196,204,48,0,12,3,34,192,197,34,156,82,196,198,2,0,1,3,34,192,197,98,10,3,34,192,197,162,65,3,34,192,197,98,5,82,196,198,2,0,1,3,34,192,197,226,10,3,35,192,197,34,65,3,34,192,197,226,156,82,196,208,2,0,1,3,35,192,197,98,10,3,35,192,197,162,65,3,35,192,197,98,5,82,196,208,2,0,1,3,35,192,197,226,10,3,36,192,197,34,65,3,35,192,197,226,156,82,196,204,2,0,1,3,36,192,197,98,10,3,36,192,197,162,65,3,36,192,197,98,5,82,196,204,2,0,1,3,36,192,197,226,10,3,37,192,197,34,65,3,36,192,197,226,156,92,196,196,48,0,12,3,37,192,197,98,5,92,196,196,48,0,12,3,37,192,197,162,156,92,196,210,48,0,12,3,37,192,197,226,5,92,196,210,48,0,12,3,38,192,197,34,156,42,196,196,2,0,1,3,38,192,197,98,8,3,38,192,197,162,65,3,38,192,197,98,5,42,196,196,2,0,1,3,38,192,197,226,8,3,39,192,197,34,65,3,38,192,197,226,156,50,196,196,2,0,1,3,39,192,197,98,12,3,39,192,197,162,65,3,39,192,197,98,5,50,196,196,2,0,1,3,39,192,197,226,12,3,40,192,197,34,65,3,39,192,197,226,156,58,196,196,1,0,1,3,40,192,197,98,65,3,40,192,197,98,5,58,196,196,1,0,1,3,40,192,197,162,65,3,40,192,197,162,156,70,196,196,2,0,1,3,40,192,197,226,2,3,41,192,197,34,65,3,40,192,197,226,5,70,196,196,2,0,1,3,41,192,197,98,2,3,41,192,197,162,65,3,41,192,197,98,43,0,197,227,2,0,1,3,44,192,197,67,2,3,44,192,197,163,65,3,44,192,197,67,45,0,197,3,2,0,1,3,45,192,197,99,2,3,45,192,197,195,65,3,45,192,197,99,156,82,196,196,2,0,1,3,46,192,197,34,10,3,46,192,197,98,65,3,46,192,197,34,5,82,196,196,2,0,1,3,46,192,197,162,10,3,46,192,197,226,65,3,46,192,197,162,47,0,197,35,2,0,1,3,47,192,197,131,10,3,47,192,197,227,65,3,47,192,197,131,48,0,197,67,2,0,1,3,48,192,197,163,10,3,49,192,197,3,65,3,48,192,197,163,156,90,196,196,1,0,1,3,49,192,197,98,65,3,49,192,197,98,5,90,196,196,1,0,1,3,49,192,197,162,65,3,49,192,197,162,3,0,67,0,50,0,59,0,155,0,0,16,86,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,28,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,4,30,0,0,4,30,0,0,4,30,0,0,4,30,0,0,184,32,0,0,184,32,0,0,186,35,0,0,212,35,0,0,4,40,0,0,50,105,114,84,1,0,64,8,211,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,91,0,99,0,107,0,115,0,116,0,124,0,127,0,135,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,159,0,48,0,161,0,169,0,173,0,181,0,186,0,194,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,151,0,48,0,48,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,108,1,172,1,208,1,252,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,20,0,202,129,20,0,202,162,20,0,202,195,20,0,202,228,20,0,202,5,21,0,202,38,21,0,202,71,21,0,202,104,21,0,202,137,21,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,196,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,134,8,0,156,5,0,72,160,5,0,74,201,102,9,0,201,70,10,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,38,11,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,6,12,0,5,5,0,44,201,196,12,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,20,0,5,5,0,72,5,5,0,74,201,134,21,0,201,102,22,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,70,23,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,134,5,2,43,196,146,156,42,197,162,19,0,201,38,24,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,134,5,2,71,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,19,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,5,5,2,43,196,146,5,42,197,34,20,0,201,230,24,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,5,5,2,71,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,25,0,201,102,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,27,0,201,230,27,0,134,5,2,77,5,5,2,77,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,28,0,201,102,29,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,30,0,201,230,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,10,0,197,98,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,31,0,201,102,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,33,0,201,230,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,34,0,201,102,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,36,0,201,230,36,0,192,0,0,0,192,0,0,0,201,166,37,0,201,102,38,0,192,0,0,0,192,0,0,0,201,38,39,0,201,230,39,0,192,0,0,0,192,0,0,0,197,162,13,0,197,226,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,40,0,201,102,41,0,201,38,42,0,201,230,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,43,0,201,102,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,45,0,201,230,45,0,192,0,0,0,192,0,0,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,197,98,17,0,197,162,17,0,197,226,17,0,197,162,15,0,197,226,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,46,0,201,102,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,136,5,2,57,5,142,0,0,71,5,2,57,5,142,0,0,136,5,2,57,5,144,0,0,71,5,2,57,5,144,0,0,136,5,2,57,5,156,0,0,71,5,2,57,5,156,0,0,136,5,2,57,5,196,0,0,71,5,2,57,5,196,0,0,136,5,2,57,5,150,0,0,71,5,2,57,5,150,0,0,136,5,2,57,5,160,0,0,71,5,2,57,5,160,0,0,136,5,2,57,5,206,0,0,71,5,2,57,5,206,0,0,71,5,2,57,5,210,0,0,70,5,2,57,5,142,0,0,5,5,2,57,5,142,0,0,70,5,2,57,5,144,0,0,5,5,2,57,5,144,0,0,70,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,70,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,70,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,70,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,70,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,5,5,2,57,5,210,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,43,5,162,0,0,5,5,2,43,5,162,0,0,134,5,2,77,5,160,0,0,5,5,2,77,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,43,5,164,0,0,5,5,2,43,5,164,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,43,5,200,0,0,5,5,2,43,5,200,0,0,134,5,2,77,5,196,0,0,5,5,2,77,5,196,0,0,134,5,2,77,5,210,0,0,5,5,2,77,5,210,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,134,5,2,43,5,196,0,0,5,5,2,43,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,134,5,2,71,5,136,0,0,5,5,2,71,5,136,0,0,134,5,2,71,5,138,0,0,5,5,2,71,5,138,0,0,134,5,2,71,5,182,0,0,5,5,2,71,5,182,0,0,134,5,2,71,5,154,0,0,5,5,2,71,5,154,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,8,3,2,235,134,5,0,46,156,5,17,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,15,0,30,2,0,192,197,162,31,2,0,192,197,226,12,3,2,239,134,5,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,249,136,5,104,0,2,249,71,5,36,1,197,162,37,1,0,192,197,98,0,70,156,5,48,0,2,3,255,255,2,71,134,5,0,76,156,5,48,0,12,3,255,255,2,77,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,42,5,5,48,0,8,3,2,235,5,5,0,46,5,5,17,0,36,30,29,0,40,30,15,0,40,30,6,192,197,98,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,30,2,15,0,30,2,4,192,197,98,31,2,4,192,197,162,12,3,2,239,5,5,34,30,4,192,197,226,35,30,5,192,197,34,72,0,2,249,70,5,104,0,2,249,5,5,36,1,3,192,197,226,37,1,4,192,197,34,0,70,5,5,48,0,2,3,255,255,2,71,5,5,0,76,5,5,48,0,12,3,255,255,2,77,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,7,192,197,162,5,46,196,160,48,0,12,3,7,192,197,226,156,42,196,162,48,0,8,3,8,192,197,34,5,42,196,162,48,0,8,3,8,192,197,98,156,76,196,160,48,0,12,3,8,192,197,162,5,76,196,160,48,0,12,3,8,192,197,226,156,78,196,160,48,0,12,3,9,192,197,34,5,78,196,160,48,0,12,3,9,192,197,98,156,70,196,190,48,0,2,3,9,192,197,162,5,70,196,190,48,0,2,3,9,192,197,226,156,70,196,162,48,0,2,3,10,192,197,162,5,70,196,162,48,0,2,3,10,192,197,226,156,78,196,202,48,0,12,3,11,192,197,34,5,78,196,202,48,0,12,3,11,192,197,98,156,42,196,200,48,0,8,3,11,192,197,162,5,42,196,200,48,0,8,3,11,192,197,226,156,76,196,196,48,0,12,3,12,192,197,34,5,76,196,196,48,0,12,3,12,192,197,98,156,76,196,210,48,0,12,3,12,192,197,162,5,76,196,210,48,0,12,3,12,192,197,226,156,78,196,196,48,0,12,3,13,192,197,34,5,78,196,196,48,0,12,3,13,192,197,98,156,92,196,196,48,0,12,3,14,192,197,34,5,92,196,196,48,0,12,3,14,192,197,98,156,92,196,210,48,0,12,3,14,192,197,162,5,92,196,210,48,0,12,3,14,192,197,226,156,42,196,196,48,0,8,3,15,192,197,34,5,42,196,196,48,0,8,3,15,192,197,98,156,70,196,196,48,0,2,3,15,192,197,162,5,70,196,196,48,0,2,3,15,192,197,226,18,0,197,35,48,0,2,3,18,192,197,131,18,0,197,227,48,0,2,3,19,192,197,67,12,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,34,30,44,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,64,28,4,185,76,186,80,185,84,185,88,185,92,186,100,186,108,185,112,185,116,185,120,186,124,38,4,185,140,185,144,40,4,42,4,185,168,185,176,185,180,185,184,185,188,185,192,44,4,88,13,168,13,96,13,56,14,80,12,40,14,46,4,168,64,48,4,168,76,168,80,168,84,168,88,168,92,168,100,168,108,168,112,168,116,168,120,168,124,58,4,168,140,168,144,60,4,62,4,168,168,168,176,168,180,168,184,168,188,168,192,64,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,185,60,57,58,0,8,66,4,186,81,154,81,250,81,90,82,186,101,154,101,250,101,90,102,217,76,154,126,185,133,153,133,185,136,153,134,89,134,136,14,217,134,185,177,153,177,249,177,89,178,153,193,185,204,2,8,168,57,136,57,232,57,136,58,168,60,40,58,4,8,68,4,168,81,136,81,232,81,72,82,168,101,136,101,232,101,72,102,200,76,136,126,168,133,136,133,168,136,136,134,72,134,128,14,200,134,168,177,136,177,232,177,72,178,136,193,168,204,72,194,57,59,40,59,217,57,200,57,70,4,72,4,153,69,136,69,249,69,232,69,185,70,168,70,185,72,168,72,25,78,8,78,89,79,72,79,58,83,40,83,218,81,200,81,186,82,168,82,26,83,8,83,26,82,8,82,249,89,232,89,217,89,200,89,185,90,168,90,249,90,232,90,249,93,232,93,89,95,72,95,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,148,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,250,126,232,126,26,126,8,126,10,8,185,128,168,128,57,135,40,135,217,133,200,133,121,134,104,134,12,8,14,8,153,153,136,153,74,4,76,4,185,156,168,156,154,161,136,161,250,161,232,161,78,4,80,4,185,164,168,164,249,170,232,170,25,170,8,170,185,172,168,172,153,178,136,178,57,179,40,179,217,177,200,177,57,178,40,178,121,178,104,178,25,179,8,179,249,185,232,185,249,193,232,193,89,194,153,197,136,197,185,198,168,198,185,200,168,200,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,160,169,160,200,56,169,80,187,100,187,108,169,100,169,108,169,208,169,124,217,132,187,80,200,132,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,68,72,4,187,96,104,4,178,96,36,5,251,97,37,5,242,97,255,5,185,132,255,5,185,152,255,5,186,160,255,5,185,196,255,5,168,56,255,5,168,68,72,4,177,96,104,4,168,96,36,5,241,97,37,5,232,97,255,5,168,132,255,5,168,152,255,5,168,160,255,5,168,196,255,5,249,70,255,5,232,70,255,5,25,59,255,5,8,59,255,5,249,154,255,5,232,154,255,5,250,162,255,5,232,162,255,1,3,0,67,0,50,0,59,0,239,14,0,16,4,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,232,14,0,32,247,24,0,32,1,0,32,0,252,24,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,108,8,0,32,7,0,0,0,21,0,0,0,110,8,0,0,110,8,0,0,3,0,0,0,0,0,0,0,43,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,60,0,7,1,60,0,60,0,60,0,6,1,38,0,68,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,0,0,170,170,228,32,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,20,27,0,0,20,27,0,0,20,27,0,0,20,27,0,0,216,27,0,0,216,27,0,0,228,28,0,0,228,28,0,0,204,32,0,0,50,105,114,84,1,0,64,8,164,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,48,0,56,0,105,0,113,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,135,0,48,0,48,0,143,0,147,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,129,0,48,0,48,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,192,0,164,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,4,0,202,1,5,0,202,34,5,0,202,67,5,0,202,100,5,0,202,133,5,0,202,166,5,0,202,199,5,0,202,232,5,0,202,9,6,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,134,1,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,102,2,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,70,3,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,198,4,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,166,5,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,4,0,201,134,6,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,4,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,4,0,201,198,7,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,9,0,201,6,10,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,10,0,201,134,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,197,162,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,12,0,201,6,13,0,192,0,0,0,192,0,0,0,197,162,2,0,197,226,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,13,0,201,134,14,0,201,70,15,0,201,6,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,197,162,12,3,0,192,197,98,65,3,197,162,5,46,196,160,2,0,1,3,0,192,197,162,12,3,0,192,197,226,65,3,0,192,197,162,156,78,196,160,48,0,12,3,1,192,197,34,5,78,196,160,48,0,12,3,1,192,197,98,156,78,196,202,48,0,12,3,1,192,197,162,5,78,196,202,48,0,12,3,1,192,197,226,156,78,196,196,48,0,12,3,2,192,197,34,5,78,196,196,48,0,12,3,2,192,197,98,156,92,196,196,48,0,12,3,3,192,197,34,5,92,196,196,48,0,12,3,3,192,197,98,156,92,196,210,48,0,12,3,3,192,197,162,5,92,196,210,48,0,12,3,3,192,197,226,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,76,186,84,185,88,185,92,185,96,186,100,186,108,185,112,185,116,185,120,186,124,185,132,185,136,185,140,185,148,28,4,185,160,185,168,185,172,185,176,185,180,185,184,30,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,32,4,168,76,168,84,168,88,168,92,168,96,168,100,168,108,168,112,168,116,168,120,168,124,168,132,168,136,168,140,168,148,34,4,168,160,168,168,168,172,168,176,168,180,168,184,36,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,38,4,186,85,154,85,250,85,90,86,186,101,154,101,250,101,90,102,217,76,154,126,185,133,153,133,249,133,153,134,89,134,136,14,217,134,185,169,153,169,249,169,89,170,153,185,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,40,4,168,85,136,85,232,85,72,86,168,101,136,101,232,101,72,102,200,76,136,126,168,133,136,133,232,133,136,134,72,134,128,14,200,134,168,169,136,169,232,169,72,170,136,185,168,196,72,186,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,185,80,168,80,58,87,40,87,218,85,200,85,186,86,168,86,26,87,8,87,26,86,8,86,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,97,232,97,89,99,72,99,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,144,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,250,126,232,126,26,126,8,126,10,8,185,128,168,128,57,135,40,135,217,133,200,133,121,134,104,134,12,8,14,8,153,149,136,149,249,150,232,150,25,150,8,150,154,153,136,153,250,153,232,153,42,4,44,4,185,156,168,156,249,162,232,162,25,162,8,162,185,164,168,164,153,170,136,170,57,171,40,171,217,169,200,169,57,170,40,170,121,170,104,170,25,171,8,171,249,177,232,177,249,185,232,185,89,186,153,189,136,189,185,190,168,190,185,192,168,192,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,84,200,152,169,152,200,56,169,84,187,100,187,108,169,100,169,108,169,200,169,124,217,132,187,84,200,132,169,84,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,186,152,255,5,185,188,255,5,168,64,255,5,168,152,255,5,168,188,255,5,249,66,255,5,232,66,255,5,250,154,255,5,232,154,255,1,3,0,69,0,52,0,61,0,43,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,101,8,0,32,1,0,32,0,106,8,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,231,23,0,32,7,0,0,0,23,0,0,0,233,23,0,0,233,23,0,0,3,0,0,0,0,0,0,0,105,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,50,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,115,0,109,0,110,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,105,220,38,0,65,0,60,0,226,0,60,0,60,0,60,0,194,0,60,0,60,0,224,0,60,0,60,0,60,0,192,0,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,38,0,68,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,74,1,60,0,60,0,241,0,60,0,60,0,60,0,209,0,60,0,60,0,68,1,60,0,60,0,60,0,67,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,229,0,60,0,60,0,60,0,197,0,60,0,227,0,60,0,60,0,60,0,195,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,225,0,60,0,60,0,60,0,193,0,60,0,246,0,60,0,60,0,60,0,214,0,0,0,170,170,170,170,170,170,170,170,170,170,250,49,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,214,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,132,39,0,0,132,39,0,0,228,40,0,0,228,40,0,0,112,45,0,0,112,45,0,0,222,49,0,0,222,49,0,0,222,49,0,0,50,105,114,84,1,0,64,8,107,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,148,0,156,0,162,0,170,0,178,0,186,0,48,0,56,0,185,0,193,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,218,0,48,0,48,0,48,0,226,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,234,0,48,0,48,0,242,0,48,0,248,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,3,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,11,1,48,0,18,1,26,1,30,1,38,1,43,1,51,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,57,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,65,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,68,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,208,0,48,0,48,0,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,76,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,84,1,48,0,48,0,90,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,80,2,136,2,200,2,192,0,228,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,35,0,202,65,35,0,202,98,35,0,202,131,35,0,202,164,35,0,202,197,35,0,202,230,35,0,202,7,36,0,202,40,36,0,202,73,36,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,201,6,4,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,198,4,0,201,166,6,0,156,5,0,72,160,5,0,74,156,5,0,76,201,102,7,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,70,8,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,38,9,0,5,5,0,44,201,102,13,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,38,14,0,201,6,16,0,5,5,0,72,5,5,0,74,5,5,0,76,201,230,16,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,198,17,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,2,43,198,1,0,0,134,5,2,43,198,33,0,0,198,65,0,0,198,97,0,0,134,5,3,93,201,166,18,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,70,30,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,129,0,0,5,5,127,12,134,5,4,93,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,130,26,0,5,70,2,43,193,5,5,93,5,5,2,43,193,3,5,93,193,4,5,93,193,2,5,93,5,5,3,93,201,70,19,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,70,30,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,193,6,5,93,5,5,125,12,5,5,4,93,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,20,0,201,166,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,30,69,5,71,30,69,201,70,27,0,201,198,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,30,0,201,6,31,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,31,0,201,134,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,1,0,197,98,4,0,192,0,0,0,192,0,0,0,197,162,4,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,33,0,201,6,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,2,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,34,0,201,134,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,2,0,197,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,70,36,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,38,0,5,71,238,102,201,6,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,192,0,0,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,192,0,0,0,192,0,0,0,197,98,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,8,0,192,0,0,0,197,226,8,0,192,0,0,0,197,34,9,0,192,0,0,0,197,98,9,0,192,0,0,0,197,162,9,0,197,227,9,0,197,66,10,0,192,0,0,0,192,0,0,0,197,130,10,0,197,195,10,0,197,34,11,0,192,0,0,0,192,0,0,0,197,98,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,98,7,0,197,162,11,0,5,5,10,121,197,226,11,0,197,34,12,0,5,5,12,121,5,5,16,121,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,5,5,18,121,5,5,20,121,197,2,8,0,5,5,24,121,197,34,8,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,39,0,201,134,43,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,47,0,201,166,48,0,201,38,50,0,201,166,51,0,201,38,53,0,201,166,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,56,0,201,230,56,0,192,0,0,0,192,0,0,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,57,0,201,102,58,0,201,38,59,0,201,230,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,60,0,201,70,64,0,192,0,0,0,192,0,0,0,197,34,23,0,197,98,23,0,197,162,23,0,197,226,23,0,197,34,24,0,197,98,24,0,197,162,24,0,197,226,24,0,197,98,21,0,197,34,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,67,0,201,166,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,69,0,201,38,70,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,5,5,93,0,134,0,5,0,3,5,93,0,134,0,5,0,4,5,93,0,134,0,5,0,2,5,93,0,134,0,5,0,6,5,93,0,134,0,5,0,5,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,164,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,136,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,164,0,0,0,0,0,134,0,5,0,5,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,5,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,70,2,43,5,162,0,0,134,5,2,43,5,162,0,0,5,70,2,43,5,162,0,0,193,5,5,93,5,162,0,0,5,5,2,43,5,162,0,0,193,3,5,93,5,162,0,0,193,4,5,93,5,162,0,0,193,2,5,93,5,162,0,0,134,71,30,69,5,160,0,0,134,70,30,69,5,160,0,0,5,71,30,69,5,160,0,0,5,70,30,69,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,193,6,5,93,5,190,0,0,193,4,5,93,5,164,0,0,134,5,3,93,5,164,0,0,5,5,3,93,5,164,0,0,193,6,5,93,5,162,0,0,193,2,5,93,5,136,0,0,134,5,3,93,5,136,0,0,5,5,3,93,5,136,0,0,134,5,4,93,5,136,0,0,5,5,4,93,5,136,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,193,6,5,93,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,70,2,43,5,200,0,0,134,5,2,43,5,200,0,0,5,70,2,43,5,200,0,0,193,5,5,93,5,200,0,0,5,5,2,43,5,200,0,0,193,3,5,93,5,200,0,0,193,4,5,93,5,200,0,0,193,2,5,93,5,200,0,0,134,71,30,69,5,196,0,0,134,70,30,69,5,196,0,0,5,71,30,69,5,196,0,0,5,70,30,69,5,196,0,0,134,71,30,69,5,210,0,0,134,70,30,69,5,210,0,0,5,71,30,69,5,210,0,0,5,70,30,69,5,210,0,0,134,71,30,69,5,204,0,0,134,70,30,69,5,204,0,0,5,71,30,69,5,204,0,0,5,70,30,69,5,204,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,134,70,2,43,5,196,0,0,134,5,2,43,5,196,0,0,5,70,2,43,5,196,0,0,193,5,5,93,5,196,0,0,5,5,2,43,5,196,0,0,193,3,5,93,5,196,0,0,193,4,5,93,5,196,0,0,193,2,5,93,5,196,0,0,134,5,2,43,5,136,0,0,5,5,2,43,5,136,0,0,134,5,2,43,5,138,0,0,5,5,2,43,5,138,0,0,134,5,2,43,5,182,0,0,5,5,2,43,5,182,0,0,134,5,2,43,5,154,0,0,5,5,2,43,5,154,0,0,193,6,5,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,6,5,93,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,98,7,0,5,5,10,121,5,5,12,121,197,162,7,0,5,5,16,121,5,5,18,121,5,5,20,121,197,226,7,0,5,5,24,121,197,34,8,0,5,5,28,121,5,5,30,121,197,98,8,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,162,8,0,5,5,107,121,197,226,8,0,5,5,111,121,197,34,9,0,5,5,115,121,197,98,9,0,5,5,119,121,197,162,9,0,197,227,9,0,197,66,10,0,5,5,127,121,5,5,129,121,197,130,10,0,197,195,10,0,197,34,11,0,5,5,137,121,5,5,139,121,197,98,11,0,5,5,143,121,5,5,6,121,197,98,7,0,197,162,11,0,5,5,10,121,197,226,11,0,197,34,12,0,5,5,12,121,5,5,16,121,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,5,5,18,121,5,5,20,121,197,2,8,0,5,5,24,121,197,34,8,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,7,0,8,3,11,0,8,3,0,192,198,65,10,3,0,192,198,97,64,3,2,235,134,70,65,3,198,129,0,3,2,235,134,70,1,3,198,129,2,3,2,235,134,5,3,3,198,161,0,46,156,5,48,0,12,3,2,239,134,5,0,68,156,5,2,0,1,3,255,255,30,69,134,71,3,3,255,255,30,69,134,70,65,3,255,255,30,69,134,71,0,70,156,5,48,0,8,3,0,192,198,129,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,42,5,5,7,0,8,3,15,0,8,3,255,255,5,93,193,4,10,3,255,255,5,93,193,2,64,3,2,235,5,70,65,3,255,255,5,93,193,5,0,3,2,235,5,70,1,3,255,255,5,93,193,5,2,3,2,235,5,5,3,3,255,255,5,93,193,3,0,46,5,5,48,0,12,3,2,239,5,5,0,68,5,5,2,0,1,3,255,255,30,69,5,71,3,3,255,255,30,69,5,70,65,3,255,255,30,69,5,71,0,70,5,5,48,0,8,3,255,255,5,93,193,6,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,98,156,42,196,162,7,0,8,3,12,0,8,3,1,192,198,34,10,3,1,192,198,98,64,3,0,192,197,162,65,3,0,192,198,162,0,3,0,192,197,162,1,3,0,192,198,162,2,3,0,192,197,226,3,3,0,192,198,226,5,42,196,162,7,0,8,3,12,0,8,3,2,192,197,34,10,3,2,192,197,98,64,3,1,192,197,34,65,3,1,192,197,98,0,3,1,192,197,34,1,3,1,192,197,98,2,3,1,192,197,162,3,3,1,192,197,226,156,68,196,160,2,0,1,3,2,192,197,162,3,3,2,192,197,226,65,3,2,192,197,162,5,68,196,160,2,0,1,3,3,192,197,34,3,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,70,196,190,48,0,8,3,1,192,198,162,5,70,196,190,48,0,8,3,4,192,197,34,156,70,196,162,48,0,8,3,2,192,198,34,5,70,196,162,48,0,8,3,5,192,197,34,156,78,196,202,48,0,12,3,6,192,197,162,5,78,196,202,48,0,12,3,6,192,197,226,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,7,0,8,3,12,0,8,3,3,192,198,98,10,3,3,192,198,162,64,3,14,192,197,34,65,3,2,192,198,226,0,3,14,192,197,34,1,3,2,192,198,226,2,3,14,192,197,98,3,3,3,192,198,34,5,42,196,200,7,0,8,3,12,0,8,3,15,192,197,162,10,3,15,192,197,226,64,3,14,192,197,162,65,3,14,192,197,226,0,3,14,192,197,162,1,3,14,192,197,226,2,3,15,192,197,34,3,3,15,192,197,98,156,68,196,196,2,0,1,3,16,192,197,34,3,3,16,192,197,98,65,3,16,192,197,34,5,68,196,196,2,0,1,3,16,192,197,162,3,3,16,192,197,226,65,3,16,192,197,162,156,68,196,210,2,0,1,3,17,192,197,34,3,3,17,192,197,98,65,3,17,192,197,34,5,68,196,210,2,0,1,3,17,192,197,162,3,3,17,192,197,226,65,3,17,192,197,162,156,68,196,204,2,0,1,3,18,192,197,34,3,3,18,192,197,98,65,3,18,192,197,34,5,68,196,204,2,0,1,3,18,192,197,162,3,3,18,192,197,226,65,3,18,192,197,162,156,78,196,196,48,0,12,3,19,192,197,34,5,78,196,196,48,0,12,3,19,192,197,98,156,92,196,196,48,0,12,3,20,192,197,34,5,92,196,196,48,0,12,3,20,192,197,98,156,92,196,210,48,0,12,3,20,192,197,162,5,92,196,210,48,0,12,3,20,192,197,226,156,42,196,196,7,0,8,3,12,0,8,3,4,192,198,98,10,3,4,192,198,162,64,3,21,192,197,34,65,3,3,192,198,226,0,3,21,192,197,34,1,3,3,192,198,226,2,3,21,192,197,98,3,3,4,192,198,34,5,42,196,196,7,0,8,3,12,0,8,3,22,192,197,162,10,3,22,192,197,226,64,3,21,192,197,162,65,3,21,192,197,226,0,3,21,192,197,162,1,3,21,192,197,226,2,3,22,192,197,34,3,3,22,192,197,98,156,70,196,196,48,0,8,3,4,192,198,226,5,70,196,196,48,0,8,3,25,192,197,34,25,0,197,99,48,0,8,3,5,192,198,35,25,0,197,195,48,0,8,3,26,192,197,35,170,170,3,0,67,0,50,0,59,0,107,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,168,43,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,31,0,0,84,31,0,0,180,32,0,0,180,32,0,0,92,35,0,0,92,35,0,0,132,39,0,0,132,39,0,0,140,43,0,0,50,105,114,84,1,0,64,8,232,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,48,0,176,0,184,0,188,0,196,0,201,0,209,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,215,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,161,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,20,0,202,33,20,0,202,66,20,0,202,99,20,0,202,132,20,0,202,165,20,0,202,198,20,0,202,231,20,0,202,8,21,0,202,41,21,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,70,3,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,6,4,0,201,230,5,0,156,5,0,72,160,5,0,74,156,5,0,76,201,166,6,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,134,7,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,102,8,0,5,5,0,44,201,166,12,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,102,13,0,201,70,15,0,5,5,0,72,5,5,0,74,5,5,0,76,201,38,16,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,6,17,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,2,43,198,1,0,0,134,5,2,43,198,33,0,0,198,65,0,0,198,97,0,0,134,5,3,93,201,230,17,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,70,30,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,129,0,0,5,5,127,12,134,5,4,93,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,19,0,5,70,2,43,193,5,5,93,5,5,2,43,193,3,5,93,193,4,5,93,193,2,5,93,5,5,3,93,201,134,18,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,70,30,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,193,6,5,93,5,5,125,12,5,5,4,93,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,19,0,201,230,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,30,69,5,71,30,69,201,134,26,0,201,6,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,29,0,201,70,30,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,31,0,201,198,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,1,0,197,98,4,0,192,0,0,0,192,0,0,0,197,162,4,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,32,0,201,70,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,2,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,34,0,201,198,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,2,0,197,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,35,0,201,38,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,42,0,201,70,44,0,201,198,45,0,201,70,47,0,201,198,48,0,201,70,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,51,0,201,134,52,0,192,0,0,0,192,0,0,0,197,226,12,0,197,34,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,53,0,201,6,54,0,201,198,54,0,201,134,55,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,56,0,201,230,59,0,192,0,0,0,192,0,0,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,197,98,17,0,197,162,17,0,197,226,17,0,197,34,18,0,197,162,14,0,197,98,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,63,0,201,70,64,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,65,0,201,198,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,5,5,93,0,134,0,5,0,3,5,93,0,134,0,5,0,4,5,93,0,134,0,5,0,2,5,93,0,134,0,5,0,6,5,93,0,134,0,5,0,5,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,164,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,136,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,164,0,0,0,0,0,134,0,5,0,5,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,5,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,70,2,43,5,162,0,0,134,5,2,43,5,162,0,0,5,70,2,43,5,162,0,0,193,5,5,93,5,162,0,0,5,5,2,43,5,162,0,0,193,3,5,93,5,162,0,0,193,4,5,93,5,162,0,0,193,2,5,93,5,162,0,0,134,71,30,69,5,160,0,0,134,70,30,69,5,160,0,0,5,71,30,69,5,160,0,0,5,70,30,69,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,193,6,5,93,5,190,0,0,193,4,5,93,5,164,0,0,134,5,3,93,5,164,0,0,5,5,3,93,5,164,0,0,193,6,5,93,5,162,0,0,193,2,5,93,5,136,0,0,134,5,3,93,5,136,0,0,5,5,3,93,5,136,0,0,134,5,4,93,5,136,0,0,5,5,4,93,5,136,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,193,6,5,93,5,164,0,0,134,70,2,43,5,200,0,0,134,5,2,43,5,200,0,0,5,70,2,43,5,200,0,0,193,5,5,93,5,200,0,0,5,5,2,43,5,200,0,0,193,3,5,93,5,200,0,0,193,4,5,93,5,200,0,0,193,2,5,93,5,200,0,0,134,71,30,69,5,196,0,0,134,70,30,69,5,196,0,0,5,71,30,69,5,196,0,0,5,70,30,69,5,196,0,0,134,71,30,69,5,210,0,0,134,70,30,69,5,210,0,0,5,71,30,69,5,210,0,0,5,70,30,69,5,210,0,0,134,71,30,69,5,204,0,0,134,70,30,69,5,204,0,0,5,71,30,69,5,204,0,0,5,70,30,69,5,204,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,134,70,2,43,5,196,0,0,134,5,2,43,5,196,0,0,5,70,2,43,5,196,0,0,193,5,5,93,5,196,0,0,5,5,2,43,5,196,0,0,193,3,5,93,5,196,0,0,193,4,5,93,5,196,0,0,193,2,5,93,5,196,0,0,134,5,2,43,5,136,0,0,5,5,2,43,5,136,0,0,134,5,2,43,5,138,0,0,5,5,2,43,5,138,0,0,134,5,2,43,5,182,0,0,5,5,2,43,5,182,0,0,134,5,2,43,5,154,0,0,5,5,2,43,5,154,0,0,193,6,5,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,6,5,93,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,7,0,8,3,11,0,8,3,0,192,198,65,10,3,0,192,198,97,64,3,2,235,134,70,65,3,198,129,0,3,2,235,134,70,1,3,198,129,2,3,2,235,134,5,3,3,198,161,0,46,156,5,48,0,12,3,2,239,134,5,0,68,156,5,2,0,1,3,255,255,30,69,134,71,3,3,255,255,30,69,134,70,65,3,255,255,30,69,134,71,0,70,156,5,48,0,8,3,0,192,198,129,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,42,5,5,7,0,8,3,15,0,8,3,255,255,5,93,193,4,10,3,255,255,5,93,193,2,64,3,2,235,5,70,65,3,255,255,5,93,193,5,0,3,2,235,5,70,1,3,255,255,5,93,193,5,2,3,2,235,5,5,3,3,255,255,5,93,193,3,0,46,5,5,48,0,12,3,2,239,5,5,0,68,5,5,2,0,1,3,255,255,30,69,5,71,3,3,255,255,30,69,5,70,65,3,255,255,30,69,5,71,0,70,5,5,48,0,8,3,255,255,5,93,193,6,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,98,156,42,196,162,7,0,8,3,12,0,8,3,1,192,198,34,10,3,1,192,198,98,64,3,0,192,197,162,65,3,0,192,198,162,0,3,0,192,197,162,1,3,0,192,198,162,2,3,0,192,197,226,3,3,0,192,198,226,5,42,196,162,7,0,8,3,12,0,8,3,2,192,197,34,10,3,2,192,197,98,64,3,1,192,197,34,65,3,1,192,197,98,0,3,1,192,197,34,1,3,1,192,197,98,2,3,1,192,197,162,3,3,1,192,197,226,156,68,196,160,2,0,1,3,2,192,197,162,3,3,2,192,197,226,65,3,2,192,197,162,5,68,196,160,2,0,1,3,3,192,197,34,3,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,70,196,190,48,0,8,3,1,192,198,162,5,70,196,190,48,0,8,3,4,192,197,34,156,70,196,162,48,0,8,3,2,192,198,34,5,70,196,162,48,0,8,3,5,192,197,34,156,78,196,202,48,0,12,3,6,192,197,162,5,78,196,202,48,0,12,3,6,192,197,226,156,42,196,200,7,0,8,3,12,0,8,3,3,192,198,98,10,3,3,192,198,162,64,3,7,192,197,98,65,3,2,192,198,226,0,3,7,192,197,98,1,3,2,192,198,226,2,3,7,192,197,162,3,3,3,192,198,34,5,42,196,200,7,0,8,3,12,0,8,3,8,192,197,226,10,3,9,192,197,34,64,3,7,192,197,226,65,3,8,192,197,34,0,3,7,192,197,226,1,3,8,192,197,34,2,3,8,192,197,98,3,3,8,192,197,162,156,68,196,196,2,0,1,3,9,192,197,98,3,3,9,192,197,162,65,3,9,192,197,98,5,68,196,196,2,0,1,3,9,192,197,226,3,3,10,192,197,34,65,3,9,192,197,226,156,68,196,210,2,0,1,3,10,192,197,98,3,3,10,192,197,162,65,3,10,192,197,98,5,68,196,210,2,0,1,3,10,192,197,226,3,3,11,192,197,34,65,3,10,192,197,226,156,68,196,204,2,0,1,3,11,192,197,98,3,3,11,192,197,162,65,3,11,192,197,98,5,68,196,204,2,0,1,3,11,192,197,226,3,3,12,192,197,34,65,3,11,192,197,226,156,78,196,196,48,0,12,3,12,192,197,98,5,78,196,196,48,0,12,3,12,192,197,162,156,92,196,196,48,0,12,3,13,192,197,98,5,92,196,196,48,0,12,3,13,192,197,162,156,92,196,210,48,0,12,3,13,192,197,226,5,92,196,210,48,0,12,3,14,192,197,34,156,42,196,196,7,0,8,3,12,0,8,3,4,192,198,98,10,3,4,192,198,162,64,3,14,192,197,98,65,3,3,192,198,226,0,3,14,192,197,98,1,3,3,192,198,226,2,3,14,192,197,162,3,3,4,192,198,34,5,42,196,196,7,0,8,3,12,0,8,3,15,192,197,226,10,3,16,192,197,34,64,3,14,192,197,226,65,3,15,192,197,34,0,3,14,192,197,226,1,3,15,192,197,34,2,3,15,192,197,98,3,3,15,192,197,162,156,70,196,196,48,0,8,3,4,192,198,226,5,70,196,196,48,0,8,3,18,192,197,98,18,0,197,163,48,0,8,3,5,192,198,35,19,0,197,3,48,0,8,3,19,192,197,99,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,64,24,4,185,76,186,84,185,88,185,92,185,96,186,100,186,108,185,112,185,116,185,120,26,4,28,4,185,136,185,140,185,148,30,4,185,160,185,168,185,172,185,176,185,180,185,184,32,4,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,64,36,4,168,76,168,84,168,88,168,92,168,96,168,100,168,108,168,112,168,116,168,120,38,4,40,4,168,136,168,140,168,148,42,4,168,160,168,168,168,172,168,176,168,180,168,184,44,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,217,60,185,216,185,60,185,208,185,212,185,204,185,196,46,4,186,85,154,85,250,85,90,86,186,101,154,101,250,101,90,102,217,76,217,128,185,133,153,133,249,133,153,134,185,220,136,14,185,200,185,169,153,169,249,169,89,170,153,185,185,224,0,8,200,60,168,216,168,60,168,208,168,212,168,204,168,196,48,4,168,85,136,85,232,85,72,86,168,101,136,101,232,101,72,102,200,76,200,128,168,133,136,133,232,133,136,134,168,220,128,14,168,200,168,169,136,169,232,169,72,170,136,185,168,224,72,186,25,59,8,59,217,57,200,57,50,4,52,4,153,69,136,69,249,69,232,69,185,70,168,70,185,72,168,72,25,78,8,78,185,80,168,80,26,87,8,87,218,85,200,85,186,86,168,86,250,86,232,86,26,86,8,86,249,93,232,93,217,93,200,93,185,94,168,94,217,94,200,94,249,97,232,97,57,99,40,99,154,102,136,102,26,103,8,103,218,101,200,101,250,102,232,102,186,102,168,104,2,8,4,8,250,109,232,109,217,114,200,114,168,144,153,117,136,117,217,118,200,118,25,118,8,118,89,119,72,119,57,119,40,119,249,128,232,128,54,4,56,4,26,126,8,126,6,8,185,128,168,128,25,135,8,135,217,133,200,133,121,134,104,134,8,8,10,8,153,149,136,149,217,150,200,150,25,150,8,150,154,153,136,153,250,153,232,153,58,4,60,4,185,156,168,156,217,162,200,162,25,162,8,162,185,164,168,164,153,170,136,170,25,171,8,171,217,169,200,169,57,170,40,170,121,170,104,170,249,170,232,170,249,177,232,177,249,185,232,185,89,186,153,189,136,189,185,190,168,190,185,192,168,192,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,200,152,169,152,187,100,187,108,169,100,169,108,169,228,169,124,217,132,187,84,200,132,169,84,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,68,255,5,186,124,255,5,185,132,255,5,186,152,255,5,185,188,255,5,168,56,255,5,168,68,255,5,168,124,255,5,168,132,255,5,168,152,255,5,168,188,255,5,217,70,255,5,200,70,255,5,249,58,255,5,232,58,255,5,218,126,255,5,200,126,255,5,218,154,255,5,200,154,255,1,3,0,67,0,50,0,59,0,243,12,0,16,56,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,235,12,0,32,222,23,0,32,1,0,32,0,227,23,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,143,11,0,32,7,0,0,0,21,0,0,0,145,11,0,0,145,11,0,0,3,0,0,0,0,0,0,0,155,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,5,221,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,68,0,60,0,231,0,60,0,60,0,60,0,199,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,69,0,60,0,100,0,104,0,60,0,60,0,60,0,68,0,104,0,60,0,60,0,60,0,68,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,70,0,60,0,235,0,60,0,60,0,60,0,203,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,72,0,60,0,103,0,106,0,60,0,60,0,60,0,71,0,106,0,60,0,60,0,60,0,71,0,74,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,77,0,60,0,108,0,108,0,60,0,60,0,60,0,76,0,108,0,60,0,60,0,60,0,76,0,76,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,79,0,60,0,110,0,106,0,60,0,60,0,60,0,78,0,106,0,60,0,60,0,60,0,78,0,74,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,83,0,60,0,114,0,114,0,60,0,60,0,60,0,82,0,114,0,60,0,60,0,60,0,82,0,82,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,84,0,60,0,115,0,104,0,60,0,60,0,60,0,83,0,104,0,60,0,60,0,60,0,83,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,85,0,60,0,116,0,104,0,60,0,60,0,60,0,84,0,104,0,60,0,60,0,60,0,84,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,89,0,60,0,120,0,104,0,60,0,60,0,60,0,88,0,104,0,60,0,60,0,60,0,88,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,183,1,60,0,122,0,104,0,60,0,60,0,60,0,90,0,104,0,60,0,60,0,60,0,90,0,72,0,0,0,170,170,174,43,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,25,0,0,164,25,0,0,164,25,0,0,164,25,0,0,200,31,0,0,200,31,0,0,36,38,0,0,110,38,0,0,150,43,0,0,50,105,114,84,1,0,64,8,141,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,87,0,95,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,117,0,48,0,48,0,48,0,48,0,124,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,111,0,48,0,48,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,192,0,192,0,192,0,92,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,47,0,202,1,48,0,202,34,48,0,202,67,48,0,202,100,48,0,202,133,48,0,202,166,48,0,202,199,48,0,202,232,48,0,202,9,49,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,201,192,0,0,201,38,8,0,156,5,0,52,201,224,8,0,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,32,11,0,156,5,0,66,201,128,18,0,156,5,0,70,156,5,0,72,160,5,0,74,201,0,21,0,201,224,29,0,201,160,37,0,156,5,0,82,156,5,0,84,160,5,0,86,201,96,45,0,156,5,0,90,201,32,53,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,230,60,0,201,160,61,0,201,166,65,0,5,5,0,52,201,96,66,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,224,67,0,5,5,0,66,201,160,71,0,5,5,0,70,5,5,0,72,5,5,0,74,201,64,73,0,201,192,77,0,201,224,81,0,5,5,0,82,5,5,0,84,5,5,0,86,201,0,86,0,5,5,0,90,201,32,90,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,47,0,134,5,21,47,196,138,156,50,196,136,156,50,196,142,156,50,134,5,49,51,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,47,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,47,0,5,5,21,47,196,138,5,50,196,136,5,50,196,142,5,50,5,5,49,51,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,94,0,201,6,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,95,0,201,134,96,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,45,0,197,98,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,97,0,201,6,98,0,201,198,98,0,201,134,99,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,100,0,201,6,101,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,29,49,5,142,0,0,70,5,29,49,5,142,0,0,135,5,29,49,5,144,0,0,70,5,29,49,5,144,0,0,135,5,29,49,5,156,0,0,70,5,29,49,5,156,0,0,135,5,29,49,5,196,0,0,70,5,29,49,5,196,0,0,135,5,29,49,5,150,0,0,70,5,29,49,5,150,0,0,135,5,29,49,5,160,0,0,70,5,29,49,5,160,0,0,135,5,29,49,5,206,0,0,70,5,29,49,5,206,0,0,70,5,29,49,5,210,0,0,135,5,27,55,5,142,0,0,70,5,27,55,5,142,0,0,70,5,27,55,5,144,0,0,135,5,45,65,5,136,0,0,70,5,45,65,5,136,0,0,135,5,45,65,5,160,0,0,70,5,45,65,5,160,0,0,135,5,45,65,5,144,0,0,70,5,45,65,5,144,0,0,135,5,45,65,5,196,0,0,70,5,45,65,5,196,0,0,135,5,45,65,5,196,0,0,5,164,0,0,70,5,45,65,5,196,0,0,5,164,0,0,135,5,45,65,5,210,0,0,70,5,45,65,5,210,0,0,135,5,45,65,5,204,0,0,70,5,45,65,5,204,0,0,135,5,33,69,5,142,0,0,70,5,33,69,5,142,0,0,70,5,33,69,5,144,0,0,135,5,63,77,5,136,0,0,70,5,63,77,5,136,0,0,135,5,63,77,5,160,0,0,70,5,63,77,5,160,0,0,135,5,63,77,5,144,0,0,70,5,63,77,5,144,0,0,135,5,63,77,5,184,0,0,70,5,63,77,5,184,0,0,135,5,63,77,5,188,0,0,70,5,63,77,5,188,0,0,135,5,63,77,5,156,0,0,70,5,63,77,5,156,0,0,135,5,63,77,5,196,0,0,70,5,63,77,5,196,0,0,135,5,63,77,5,196,0,0,5,164,0,0,70,5,63,77,5,196,0,0,5,164,0,0,135,5,63,77,5,210,0,0,70,5,63,77,5,210,0,0,135,5,35,79,5,142,0,0,70,5,35,79,5,142,0,0,135,5,35,79,5,144,0,0,70,5,35,79,5,144,0,0,135,5,35,79,5,156,0,0,70,5,35,79,5,156,0,0,135,5,35,79,5,196,0,0,70,5,35,79,5,196,0,0,135,5,35,79,5,150,0,0,70,5,35,79,5,150,0,0,135,5,35,79,5,160,0,0,70,5,35,79,5,160,0,0,135,5,35,79,5,206,0,0,70,5,35,79,5,206,0,0,70,5,35,79,5,210,0,0,135,5,25,81,5,142,0,0,70,5,25,81,5,142,0,0,135,5,25,81,5,144,0,0,70,5,25,81,5,144,0,0,135,5,25,81,5,156,0,0,70,5,25,81,5,156,0,0,135,5,25,81,5,196,0,0,70,5,25,81,5,196,0,0,135,5,25,81,5,150,0,0,70,5,25,81,5,150,0,0,135,5,25,81,5,160,0,0,70,5,25,81,5,160,0,0,135,5,25,81,5,206,0,0,70,5,25,81,5,206,0,0,70,5,25,81,5,210,0,0,135,5,21,89,5,142,0,0,70,5,21,89,5,142,0,0,135,5,21,89,5,144,0,0,70,5,21,89,5,144,0,0,135,5,21,89,5,156,0,0,70,5,21,89,5,156,0,0,135,5,21,89,5,196,0,0,70,5,21,89,5,196,0,0,135,5,21,89,5,150,0,0,70,5,21,89,5,150,0,0,135,5,21,89,5,160,0,0,70,5,21,89,5,160,0,0,135,5,21,89,5,206,0,0,70,5,21,89,5,206,0,0,70,5,21,89,5,210,0,0,135,5,25,93,5,142,0,0,70,5,25,93,5,142,0,0,135,5,25,93,5,144,0,0,70,5,25,93,5,144,0,0,135,5,25,93,5,156,0,0,70,5,25,93,5,156,0,0,135,5,25,93,5,196,0,0,70,5,25,93,5,196,0,0,135,5,25,93,5,150,0,0,70,5,25,93,5,150,0,0,135,5,25,93,5,160,0,0,70,5,25,93,5,160,0,0,135,5,25,93,5,206,0,0,70,5,25,93,5,206,0,0,70,5,25,93,5,210,0,0,5,5,29,49,5,142,0,0,5,5,29,49,5,144,0,0,5,5,29,49,5,156,0,0,5,5,29,49,5,196,0,0,5,5,29,49,5,150,0,0,5,5,29,49,5,160,0,0,5,5,29,49,5,206,0,0,5,5,29,49,5,210,0,0,5,5,27,55,5,142,0,0,5,5,27,55,5,144,0,0,5,5,45,65,5,136,0,0,5,5,45,65,5,160,0,0,5,5,45,65,5,144,0,0,5,5,45,65,5,196,0,0,5,5,45,65,5,196,0,0,5,164,0,0,5,5,45,65,5,210,0,0,5,5,45,65,5,204,0,0,5,5,33,69,5,142,0,0,5,5,33,69,5,144,0,0,5,5,63,77,5,136,0,0,5,5,63,77,5,160,0,0,5,5,63,77,5,144,0,0,5,5,63,77,5,184,0,0,5,5,63,77,5,188,0,0,5,5,63,77,5,156,0,0,5,5,63,77,5,196,0,0,5,5,63,77,5,196,0,0,5,164,0,0,5,5,63,77,5,210,0,0,5,5,35,79,5,142,0,0,5,5,35,79,5,144,0,0,5,5,35,79,5,156,0,0,5,5,35,79,5,196,0,0,5,5,35,79,5,150,0,0,5,5,35,79,5,160,0,0,5,5,35,79,5,206,0,0,5,5,35,79,5,210,0,0,5,5,25,81,5,142,0,0,5,5,25,81,5,144,0,0,5,5,25,81,5,156,0,0,5,5,25,81,5,196,0,0,5,5,25,81,5,150,0,0,5,5,25,81,5,160,0,0,5,5,25,81,5,206,0,0,5,5,25,81,5,210,0,0,5,5,21,89,5,142,0,0,5,5,21,89,5,144,0,0,5,5,21,89,5,156,0,0,5,5,21,89,5,196,0,0,5,5,21,89,5,150,0,0,5,5,21,89,5,160,0,0,5,5,21,89,5,206,0,0,5,5,21,89,5,210,0,0,5,5,25,93,5,142,0,0,5,5,25,93,5,144,0,0,5,5,25,93,5,156,0,0,5,5,25,93,5,196,0,0,5,5,25,93,5,150,0,0,5,5,25,93,5,160,0,0,5,5,25,93,5,206,0,0,5,5,25,93,5,210,0,0,134,5,49,51,5,162,0,0,5,5,49,51,5,162,0,0,134,5,49,51,5,160,0,0,5,5,49,51,5,160,0,0,134,5,21,47,5,136,0,0,5,5,21,47,5,136,0,0,134,5,49,51,5,204,0,0,5,5,49,51,5,204,0,0,134,5,49,51,5,208,0,0,5,5,49,51,5,208,0,0,134,5,49,51,5,196,0,0,5,5,49,51,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,39,3,21,239,134,5,0,48,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,29,241,135,5,104,0,29,241,70,5,36,1,197,162,37,1,0,192,197,98,0,50,156,5,48,0,8,3,49,243,134,5,0,54,156,5,4,0,74,0,27,247,135,5,106,0,27,247,70,5,52,1,3,192,197,226,53,1,4,192,197,34,240,1,4,192,197,98,0,64,156,5,15,0,54,30,26,0,58,30,12,0,58,30,7,192,197,98,59,30,7,192,197,162,60,30,7,192,197,226,61,30,8,192,197,34,54,30,6,192,197,34,55,30,6,192,197,98,56,30,6,192,197,163,57,30,7,192,197,3,59,1,12,0,59,1,5,192,197,34,60,1,5,192,197,98,61,1,5,192,197,162,62,1,5,192,197,226,76,0,255,255,45,65,135,5,108,0,255,255,45,65,70,5,57,1,4,192,197,162,58,1,4,192,197,226,0,68,156,5,4,0,74,0,255,255,33,69,135,5,106,0,255,255,33,69,70,5,52,1,8,192,197,98,53,1,8,192,197,162,240,1,8,192,197,226,0,76,156,5,19,0,18,2,32,0,91,30,15,0,91,30,12,192,197,98,92,30,12,192,197,163,93,30,13,192,197,3,94,30,13,192,197,98,95,30,13,192,197,162,18,2,11,192,197,34,19,2,11,192,197,98,88,30,11,192,197,162,89,30,11,192,197,226,90,30,12,192,197,34,87,1,15,0,87,1,9,192,197,226,88,1,10,192,197,34,89,1,10,192,197,98,16,2,10,192,197,162,17,2,10,192,197,226,82,0,255,255,63,77,135,5,114,0,255,255,63,77,70,5,84,1,9,192,197,34,85,1,9,192,197,98,86,1,9,192,197,162,0,78,156,5,16,0,36,30,29,0,40,30,15,0,40,30,16,192,197,98,41,30,16,192,197,162,42,30,16,192,197,226,43,30,17,192,197,34,150,30,17,192,197,98,36,30,15,192,197,98,37,30,15,192,197,162,38,30,15,192,197,226,39,30,16,192,197,34,30,2,12,0,30,2,14,192,197,98,31,2,14,192,197,162,34,30,14,192,197,226,35,30,15,192,197,34,72,0,255,255,35,79,135,5,104,0,255,255,35,79,70,5,36,1,13,192,197,226,37,1,14,192,197,34,0,80,156,5,16,0,36,30,29,0,40,30,15,0,40,30,20,192,197,34,41,30,20,192,197,98,42,30,20,192,197,162,43,30,20,192,197,226,150,30,21,192,197,34,36,30,19,192,197,34,37,30,19,192,197,98,38,30,19,192,197,162,39,30,19,192,197,226,30,2,12,0,30,2,18,192,197,34,31,2,18,192,197,98,34,30,18,192,197,162,35,30,18,192,197,226,72,0,255,255,25,81,135,5,104,0,255,255,25,81,70,5,36,1,17,192,197,162,37,1,17,192,197,226,0,88,156,5,16,0,36,30,29,0,40,30,15,0,40,30,23,192,197,226,41,30,24,192,197,34,42,30,24,192,197,98,43,30,24,192,197,162,150,30,24,192,197,226,36,30,22,192,197,226,37,30,23,192,197,34,38,30,23,192,197,98,39,30,23,192,197,162,30,2,12,0,30,2,21,192,197,226,31,2,22,192,197,34,34,30,22,192,197,98,35,30,22,192,197,162,72,0,255,255,21,89,135,5,104,0,255,255,21,89,70,5,36,1,21,192,197,98,37,1,21,192,197,162,0,92,156,5,16,0,36,30,29,0,40,30,15,0,40,30,27,192,197,162,41,30,27,192,197,226,42,30,28,192,197,34,43,30,28,192,197,98,150,30,28,192,197,162,36,30,26,192,197,162,37,30,26,192,197,226,38,30,27,192,197,34,39,30,27,192,197,98,30,2,12,0,30,2,25,192,197,162,31,2,25,192,197,226,34,30,26,192,197,34,35,30,26,192,197,98,72,0,255,255,25,93,135,5,104,0,255,255,25,93,70,5,36,1,25,192,197,34,37,1,25,192,197,98,0,46,5,5,48,0,39,3,21,239,5,5,0,48,5,5,8,0,37,30,15,0,37,30,29,192,197,162,39,30,29,192,197,226,41,30,30,192,197,34,43,30,30,192,197,98,150,30,30,192,197,162,104,0,29,241,5,5,37,1,28,192,197,226,31,2,29,192,197,34,35,30,29,192,197,98,0,50,5,5,48,0,8,3,49,243,5,5,0,54,5,5,2,0,106,0,27,247,5,5,53,1,30,192,197,226,240,1,31,192,197,34,0,64,5,5,7,0,55,30,12,0,55,30,32,192,197,34,57,30,32,192,197,99,59,30,32,192,197,194,61,30,33,192,197,2,108,0,255,255,45,65,5,5,58,1,31,192,197,98,60,1,31,192,197,162,62,1,31,192,197,226,0,68,5,5,2,0,106,0,255,255,33,69,5,5,53,1,33,192,197,66,240,1,33,192,197,130,0,76,5,5,9,0,19,2,15,0,19,2,34,192,197,194,89,30,35,192,197,2,91,30,35,192,197,66,93,30,35,192,197,131,95,30,35,192,197,226,114,0,255,255,63,77,5,5,85,1,33,192,197,194,87,1,34,192,197,2,89,1,34,192,197,66,17,2,34,192,197,130,0,78,5,5,8,0,37,30,15,0,37,30,36,192,197,226,39,30,37,192,197,34,41,30,37,192,197,98,43,30,37,192,197,162,150,30,37,192,197,226,104,0,255,255,35,79,5,5,37,1,36,192,197,34,31,2,36,192,197,98,35,30,36,192,197,162,0,80,5,5,8,0,37,30,15,0,37,30,38,192,197,226,39,30,39,192,197,34,41,30,39,192,197,98,43,30,39,192,197,162,150,30,39,192,197,226,104,0,255,255,25,81,5,5,37,1,38,192,197,34,31,2,38,192,197,98,35,30,38,192,197,162,0,88,5,5,8,0,37,30,15,0,37,30,40,192,197,226,39,30,41,192,197,34,41,30,41,192,197,98,43,30,41,192,197,162,150,30,41,192,197,226,104,0,255,255,21,89,5,5,37,1,40,192,197,34,31,2,40,192,197,98,35,30,40,192,197,162,0,92,5,5,8,0,37,30,15,0,37,30,42,192,197,226,39,30,43,192,197,34,41,30,43,192,197,98,43,30,43,192,197,162,150,30,43,192,197,226,104,0,255,255,25,93,5,5,37,1,42,192,197,34,31,2,42,192,197,98,35,30,42,192,197,162,156,50,196,162,48,0,8,3,44,192,197,34,5,50,196,162,48,0,8,3,44,192,197,98,156,50,196,160,48,0,8,3,44,192,197,162,5,50,196,160,48,0,8,3,44,192,197,226,156,50,196,204,48,0,8,3,45,192,197,162,5,50,196,204,48,0,8,3,45,192,197,226,156,50,196,208,48,0,8,3,46,192,197,34,5,50,196,208,48,0,8,3,46,192,197,98,156,50,196,196,48,0,8,3,46,192,197,162,5,50,196,196,48,0,8,3,46,192,197,226,36,0,72,0,73,0,74,0,75,0,82,0,83,0,104,0,105,0,106,0,107,0,108,0,109,0,114,0,115,0,36,1,38,1,52,1,54,1,57,1,63,1,84,1,90,1,240,1,241,1,16,2,20,2,30,2,32,2,34,30,44,30,54,30,62,30,88,30,96,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,28,4,38,4,185,88,40,4,185,100,186,104,186,112,185,116,50,4,185,128,68,4,185,144,185,148,185,152,78,4,96,4,106,4,185,188,185,192,185,196,116,4,185,208,126,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,136,4,138,4,144,4,168,88,146,4,168,100,168,104,168,112,168,116,152,4,168,128,162,4,168,144,168,148,168,152,168,4,178,4,184,4,168,188,168,192,168,196,190,4,168,208,196,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,144,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,185,68,186,81,154,81,250,81,185,84,186,105,154,105,250,105,90,106,217,72,154,134,185,145,153,145,249,145,153,146,89,146,136,14,217,146,185,189,153,189,249,189,89,190,153,209,185,220,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,168,68,168,81,136,81,232,81,168,84,168,105,136,105,232,105,72,106,200,72,136,134,168,145,136,145,232,145,136,146,72,146,128,14,200,146,168,189,136,189,232,189,72,190,136,209,168,220,72,210,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,83,40,83,218,81,200,81,186,82,168,82,202,4,204,4,26,82,8,82,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,136,168,136,57,147,40,147,217,145,200,145,121,146,104,146,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,154,169,136,169,250,169,232,169,250,170,232,170,26,170,8,170,249,178,232,178,25,178,8,178,185,180,168,180,153,190,136,190,57,191,40,191,217,189,200,189,57,190,40,190,121,190,104,190,25,191,8,191,249,197,232,197,249,209,232,209,89,210,153,213,136,213,185,214,168,214,25,214,8,214,232,168,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,168,169,168,200,56,169,80,187,104,187,112,169,104,169,112,169,224,169,132,217,144,187,80,200,144,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,72,72,4,186,76,104,4,177,76,36,5,250,77,37,5,241,77,255,5,186,80,255,5,185,92,74,4,186,96,106,4,177,96,52,5,250,97,53,5,241,97,255,5,185,120,76,4,186,124,108,4,177,124,57,5,154,125,58,5,145,125,59,5,250,126,60,5,241,126,61,5,26,126,62,5,17,126,255,5,186,132,74,4,186,140,106,4,177,140,52,5,250,141,53,5,241,141,255,5,185,160,82,4,186,164,114,4,177,164,84,5,154,165,85,5,145,165,86,5,250,166,87,5,241,166,88,5,26,166,89,5,17,166,255,5,186,168,72,4,186,172,104,4,177,172,36,5,250,173,37,5,241,173,255,5,185,176,72,4,186,184,104,4,177,184,36,5,250,185,37,5,241,185,255,5,185,200,72,4,186,204,104,4,177,204,36,5,250,205,37,5,241,205,255,5,185,212,72,4,186,216,104,4,177,216,36,5,250,217,37,5,241,217,255,5,168,64,255,5,168,72,104,4,168,76,37,5,232,77,255,5,168,80,255,5,168,92,106,4,168,96,53,5,232,97,255,5,168,120,108,4,168,124,58,5,136,125,60,5,232,126,62,5,8,126,255,5,168,132,106,4,168,140,53,5,232,141,255,5,168,160,114,4,168,164,85,5,136,165,87,5,232,166,89,5,8,166,255,5,168,168,104,4,168,172,37,5,232,173,255,5,168,176,104,4,168,184,37,5,232,185,255,5,168,200,104,4,168,204,37,5,232,205,255,5,168,212,104,4,168,216,37,5,232,217,255,5,26,83,255,5,8,83,255,1,170,170,3,0,69,0,52,0,61,0,155,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,136,11,0,32,1,0,32,0,141,11,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,168,6,0,32,7,0,0,0,21,0,0,0,170,6,0,0,170,6,0,0,3,0,0,0,0,0,0,0,45,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,41,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,91,0,115,0,117,0,112,0,112,0,114,0,101,0,115,0,115,0,67,0,111,0,110,0,116,0,114,0,97,0,99,0,116,0,105,0,111,0,110,0,115,0,32,0,91,0,24,4,56,4,93,0,93,0,0,0,170,170,170,170,170,170,170,170,170,170,196,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,56,0,0,0,56,1,0,0,88,25,0,0,88,25,0,0,88,25,0,0,88,25,0,0,172,25,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,174,5,70,97,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,97,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,174,5,70,97,5,140,0,0,5,5,70,97,5,140,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,47,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,161,6,0,32,1,0,32,0,166,6,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,66,0,65,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,132,19,0,32,7,0,0,0,23,0,0,0,134,19,0,0,134,19,0,0,3,0,0,0,0,0,0,0,43,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,104,0,114,0,93,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,104,0,114,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,0,0,252,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,113,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,180,35,0,0,180,35,0,0,180,35,0,0,180,35,0,0,172,38,0,0,172,38,0,0,198,40,0,0,228,40,0,0,228,40,0,0,50,105,114,84,1,0,64,8,46,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,122,0,130,0,136,0,144,0,152,0,160,0,48,0,56,0,159,0,167,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,184,0,192,0,48,0,48,0,48,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,0,48,0,48,0,216,0,48,0,222,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,233,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,240,0,48,0,48,0,248,0,252,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,182,0,48,0,48,0,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,15,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,23,1,48,0,48,0,29,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,232,1,32,2,96,2,192,0,124,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,22,0,202,161,22,0,202,194,22,0,202,227,22,0,202,4,23,0,202,37,23,0,202,70,23,0,202,103,23,0,202,136,23,0,202,169,23,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,198,0,0,201,68,2,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,224,4,0,156,5,0,66,201,64,7,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,198,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,166,10,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,134,11,0,201,4,13,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,128,14,0,5,5,0,66,201,32,16,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,198,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,166,18,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,13,0,201,134,19,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,13,0,201,6,21,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,22,0,201,70,23,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,24,0,201,198,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,25,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,27,0,5,71,238,102,201,70,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,5,0,192,0,0,0,197,98,5,0,192,0,0,0,192,0,0,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,197,34,6,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,197,226,6,0,197,35,7,0,197,130,7,0,192,0,0,0,192,0,0,0,197,194,7,0,197,3,8,0,197,98,8,0,192,0,0,0,192,0,0,0,197,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,29,0,201,230,29,0,192,0,0,0,192,0,0,0,197,226,11,0,197,34,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,30,0,201,102,31,0,201,38,32,0,201,230,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,162,4,0,5,5,10,121,5,5,12,121,197,226,4,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,197,162,5,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,5,0,5,5,107,121,197,34,6,0,5,5,111,121,197,98,6,0,5,5,115,121,197,162,6,0,5,5,119,121,197,226,6,0,197,35,7,0,197,130,7,0,5,5,127,121,5,5,129,121,197,194,7,0,197,3,8,0,197,98,8,0,5,5,137,121,5,5,139,121,197,162,8,0,5,5,143,121,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,78,196,196,48,0,12,3,11,192,197,98,5,78,196,196,48,0,12,3,11,192,197,162,156,92,196,196,48,0,12,3,12,192,197,98,5,92,196,196,48,0,12,3,12,192,197,162,156,92,196,210,48,0,12,3,12,192,197,226,5,92,196,210,48,0,12,3,13,192,197,34,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,3,0,67,0,50,0,59,0,43,0,0,16,16,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,28,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,188,28,0,0,188,28,0,0,188,28,0,0,188,28,0,0,208,29,0,0,208,29,0,0,164,31,0,0,194,31,0,0,4,36,0,0,25,0,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,94,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,174,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,145,0,48,0,48,0,153,0,157,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,139,0,48,0,48,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,7,0,202,129,7,0,202,162,7,0,202,195,7,0,202,228,7,0,202,5,8,0,202,38,8,0,202,71,8,0,202,104,8,0,202,137,8,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,201,132,1,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,32,4,0,156,5,0,66,201,128,6,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,6,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,230,9,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,198,10,0,201,68,12,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,192,13,0,5,5,0,66,201,96,15,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,6,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,230,17,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,6,0,201,198,18,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,6,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,7,0,201,70,20,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,21,0,201,134,22,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,23,0,201,6,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,24,0,201,134,25,0,192,0,0,0,192,0,0,0,197,34,5,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,26,0,201,6,27,0,201,198,27,0,201,134,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,156,78,196,196,48,0,12,3,4,192,197,162,5,78,196,196,48,0,12,3,4,192,197,226,156,92,196,196,48,0,12,3,5,192,197,162,5,92,196,196,48,0,12,3,5,192,197,226,156,92,196,210,48,0,12,3,6,192,197,34,5,92,196,210,48,0,12,3,6,192,197,98,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,28,4,186,88,185,92,185,96,185,100,186,104,186,112,185,116,36,4,185,128,46,4,185,144,185,148,185,152,185,160,56,4,185,172,185,180,185,184,185,188,185,192,185,196,58,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,60,4,62,4,168,88,168,92,168,96,168,100,168,104,168,112,168,116,67,4,168,128,73,4,168,144,168,148,168,152,168,160,79,4,168,172,168,180,168,184,168,188,168,192,168,196,81,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,144,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,83,4,186,89,154,89,250,89,90,90,186,105,154,105,250,105,90,106,217,76,154,134,185,145,153,145,249,145,153,146,89,146,136,14,217,146,185,181,153,181,249,181,89,182,153,197,185,208,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,85,4,168,89,136,89,232,89,72,90,168,105,136,105,232,105,72,106,200,76,136,134,168,145,136,145,232,145,136,146,72,146,128,14,200,146,168,181,136,181,232,181,72,182,136,197,168,208,72,198,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,185,84,168,84,58,91,40,91,218,89,200,89,186,90,168,90,26,91,8,91,26,90,8,90,249,97,232,97,217,97,200,97,185,98,168,98,249,98,232,98,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,140,168,140,57,147,40,147,217,145,200,145,121,146,104,146,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,154,165,136,165,250,165,232,165,87,4,89,4,185,168,168,168,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,249,197,232,197,89,198,153,201,136,201,185,202,168,202,185,204,168,204,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,88,200,164,169,164,200,56,169,88,187,104,187,112,169,104,169,112,169,212,169,132,217,144,187,88,200,144,169,88,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,76,90,2,122,2,125,5,186,80,126,5,177,80,255,5,185,120,74,4,186,124,106,4,177,124,52,5,250,125,53,5,241,125,255,5,186,132,74,4,186,136,106,4,177,136,52,5,250,137,53,5,241,137,255,5,186,164,255,5,185,200,255,5,168,64,255,5,168,76,122,2,126,5,168,80,255,5,168,120,106,4,168,124,53,5,232,125,255,5,168,132,106,4,168,136,53,5,232,137,255,5,168,164,255,5,168,200,255,5,249,66,255,5,232,66,255,5,250,166,255,5,232,166,255,1,3,0,67,0,50,0,59,0,115,10,0,16,4,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,107,10,0,32,123,19,0,32,1,0,32,0,128,19,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,77,0,69,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,83,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,133,34,0,32,7,0,0,0,28,0,0,0,135,34,0,0,135,34,0,0,4,0,0,0,0,0,0,0,195,0,0,0,99,111,108,108,97,116,105,111,110,115,0,100,101,102,97,117,108,116,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,116,114,97,100,105,116,105,111,110,97,108,0,170,0,0,52,0,50,0,0,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,115,0,118,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,126,220,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,116,0,60,0,60,0,60,0,254,0,47,0,104,0,38,0,84,0,60,0,60,0,60,0,222,0,47,0,72,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,101,0,40,3,60,0,60,0,60,0,69,0,40,3,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,60,0,244,0,60,0,60,0,60,0,212,0,0,0,139,220,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,116,0,60,0,60,0,60,0,254,0,47,0,104,0,38,0,84,0,60,0,60,0,60,0,222,0,47,0,72,0,38,0,118,0,60,0,60,0,60,0,86,0,60,0,60,0,119,0,60,0,60,0,60,0,87,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,101,0,40,3,60,0,60,0,60,0,69,0,40,3,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,60,0,244,0,60,0,60,0,60,0,212,0,0,0,170,170,214,48,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,176,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,100,38,0,0,100,38,0,0,180,41,0,0,180,41,0,0,168,45,0,0,168,45,0,0,186,48,0,0,186,48,0,0,186,48,0,0,50,105,114,84,1,0,64,8,89,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,145,0,153,0,159,0,167,0,175,0,183,0,48,0,56,0,182,0,190,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,0,215,0,48,0,48,0,48,0,223,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,231,0,48,0,48,0,239,0,48,0,245,0,253,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,8,1,48,0,48,0,12,1,48,0,20,1,25,1,33,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,39,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,47,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,205,0,48,0,48,0,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,58,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,66,1,48,0,48,0,72,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,68,2,124,2,188,2,192,0,216,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,30,0,202,129,30,0,202,162,30,0,202,195,30,0,202,228,30,0,202,5,31,0,202,38,31,0,202,71,31,0,202,104,31,0,202,137,31,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,166,1,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,102,2,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,230,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,134,5,0,5,5,0,44,5,5,0,46,5,5,0,48,201,230,6,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,7,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,70,9,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,33,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,198,97,0,0,196,154,156,70,198,129,0,0,5,5,127,12,198,65,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,194,21,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,97,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,198,225,0,0,196,154,5,70,193,4,111,93,5,5,125,12,198,129,1,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,11,0,201,38,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,0,0,198,1,1,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,70,13,0,201,102,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,15,0,201,6,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,18,0,201,166,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,0,197,34,4,0,197,34,0,0,197,98,0,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,192,0,0,0,198,162,3,0,197,98,5,0,192,0,0,0,192,0,0,0,198,226,3,0,198,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,20,0,201,70,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,5,0,197,226,5,0,198,226,5,0,198,34,6,0,198,98,6,0,198,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,6,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,23,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,25,0,5,71,238,102,201,134,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,197,34,7,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,192,0,0,0,197,98,8,0,192,0,0,0,197,162,8,0,197,227,8,0,197,66,9,0,192,0,0,0,192,0,0,0,197,130,9,0,197,195,9,0,197,34,10,0,192,0,0,0,192,0,0,0,197,98,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,98,6,0,197,162,10,0,5,5,10,121,197,226,10,0,197,34,11,0,5,5,12,121,5,5,16,121,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,5,5,18,121,5,5,20,121,197,2,7,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,27,0,201,134,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,29,0,201,198,30,0,201,230,31,0,201,6,33,0,201,38,34,0,201,70,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,36,0,201,134,37,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,38,0,201,38,40,0,192,0,0,0,192,0,0,0,198,98,9,0,198,162,9,0,198,226,9,0,198,34,10,0,198,98,10,0,198,162,10,0,198,226,10,0,198,34,11,0,198,34,8,0,198,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,41,0,201,38,43,0,201,166,44,0,201,198,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,46,0,201,6,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,71,0,3,111,93,0,134,0,73,0,4,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,4,111,93,0,5,0,71,0,3,111,93,0,5,0,73,0,4,111,93,0,5,0,71,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,72,0,4,111,93,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,193,4,111,93,5,162,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,98,6,0,5,5,10,121,5,5,12,121,197,162,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,226,6,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,197,98,7,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,162,7,0,5,5,107,121,197,226,7,0,5,5,111,121,197,34,8,0,5,5,115,121,197,98,8,0,5,5,119,121,197,162,8,0,197,227,8,0,197,66,9,0,5,5,127,121,5,5,129,121,197,130,9,0,197,195,9,0,197,34,10,0,5,5,137,121,5,5,139,121,197,98,10,0,5,5,143,121,5,5,6,121,197,98,6,0,197,162,10,0,5,5,10,121,197,226,10,0,197,34,11,0,5,5,12,121,5,5,16,121,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,5,5,18,121,5,5,20,121,197,2,7,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,50,156,5,48,0,40,3,0,192,198,65,0,70,156,5,2,0,2,3,0,192,198,97,8,3,0,192,198,129,11,3,0,192,198,161,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,50,5,5,48,0,40,3,0,192,198,193,0,70,5,5,2,0,2,3,0,192,198,225,8,3,255,255,111,93,193,4,11,3,1,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,162,10,3,1,192,198,226,5,42,196,162,1,0,8,3,1,192,197,34,10,3,1,192,197,98,156,82,196,162,1,0,8,3,1,192,197,162,11,3,1,192,197,226,5,82,196,162,1,0,8,3,2,192,197,34,11,3,2,192,197,98,156,70,196,190,2,0,2,3,2,192,198,98,8,3,2,192,198,162,11,3,2,192,198,226,5,70,196,190,2,0,2,3,3,192,198,34,8,3,2,192,197,162,11,3,3,192,198,98,156,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,5,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,156,70,196,162,2,0,2,3,4,192,198,98,8,3,4,192,198,162,11,3,4,192,198,226,5,70,196,162,2,0,2,3,5,192,198,34,8,3,5,192,197,162,11,3,5,192,198,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,7,192,198,34,10,3,7,192,198,98,5,42,196,200,1,0,8,3,13,192,197,34,10,3,13,192,197,98,156,82,196,198,1,0,8,3,13,192,197,162,11,3,13,192,197,226,5,82,196,198,1,0,8,3,14,192,197,34,11,3,14,192,197,98,156,82,196,208,1,0,8,3,14,192,197,162,11,3,14,192,197,226,5,82,196,208,1,0,8,3,15,192,197,34,11,3,15,192,197,98,156,82,196,204,1,0,8,3,15,192,197,162,11,3,15,192,197,226,5,82,196,204,1,0,8,3,16,192,197,34,11,3,16,192,197,98,156,42,196,196,1,0,8,3,7,192,198,162,10,3,7,192,198,226,5,42,196,196,1,0,8,3,16,192,197,162,10,3,16,192,197,226,156,70,196,196,2,0,2,3,8,192,198,34,8,3,8,192,198,98,11,3,8,192,198,162,5,70,196,196,2,0,2,3,8,192,198,226,8,3,17,192,197,34,11,3,9,192,198,34,17,0,197,99,2,0,2,3,11,192,198,99,8,3,11,192,198,195,11,3,12,192,198,35,17,0,197,195,2,0,2,3,12,192,198,131,8,3,18,192,197,35,11,3,12,192,198,227,156,82,196,196,1,0,8,3,18,192,197,130,11,3,18,192,197,194,5,82,196,196,1,0,8,3,19,192,197,2,11,3,19,192,197,66,19,0,197,131,1,0,8,3,19,192,197,227,11,3,20,192,197,67,20,0,197,163,1,0,8,3,21,192,197,3,11,3,21,192,197,99,170,170,3,0,75,0,58,0,67,0,195,0,0,16,13,0,0,96,1,0,0,96,100,42,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,52,30,0,0,52,30,0,0,132,33,0,0,132,33,0,0,148,35,0,0,148,35,0,0,96,38,0,0,96,38,0,0,72,42,0,0,50,105,114,84,1,0,64,8,214,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,170,0,48,0,178,0,183,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,197,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,158,0,48,0,48,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,15,0,202,97,15,0,202,130,15,0,202,163,15,0,202,196,15,0,202,229,15,0,202,6,16,0,202,39,16,0,202,72,16,0,202,105,16,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,230,0,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,1,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,38,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,4,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,6,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,230,6,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,134,8,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,33,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,198,97,0,0,196,154,156,70,198,129,0,0,5,5,127,12,198,65,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,2,15,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,97,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,198,225,0,0,196,154,5,70,193,4,111,93,5,5,125,12,198,129,1,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,10,0,201,102,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,0,0,198,1,1,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,134,12,0,201,166,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,14,0,201,70,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,17,0,201,230,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,0,197,34,4,0,197,34,0,0,197,98,0,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,192,0,0,0,198,162,3,0,197,98,5,0,192,0,0,0,192,0,0,0,198,226,3,0,198,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,20,0,201,134,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,5,0,197,226,5,0,198,226,5,0,198,34,6,0,198,98,6,0,198,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,6,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,38,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,25,0,201,102,26,0,201,134,27,0,201,166,28,0,201,198,29,0,201,230,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,32,0,201,38,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,34,0,201,198,35,0,192,0,0,0,192,0,0,0,198,98,9,0,198,162,9,0,198,226,9,0,198,34,10,0,198,98,10,0,198,162,10,0,198,226,10,0,198,34,11,0,198,34,8,0,198,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,37,0,201,198,38,0,201,70,40,0,201,102,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,42,0,201,166,43,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,71,0,3,111,93,0,134,0,73,0,4,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,4,111,93,0,5,0,71,0,3,111,93,0,5,0,73,0,4,111,93,0,5,0,71,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,72,0,4,111,93,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,193,4,111,93,5,162,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,50,156,5,48,0,40,3,0,192,198,65,0,70,156,5,2,0,2,3,0,192,198,97,8,3,0,192,198,129,11,3,0,192,198,161,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,50,5,5,48,0,40,3,0,192,198,193,0,70,5,5,2,0,2,3,0,192,198,225,8,3,255,255,111,93,193,4,11,3,1,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,162,10,3,1,192,198,226,5,42,196,162,1,0,8,3,1,192,197,34,10,3,1,192,197,98,156,82,196,162,1,0,8,3,1,192,197,162,11,3,1,192,197,226,5,82,196,162,1,0,8,3,2,192,197,34,11,3,2,192,197,98,156,70,196,190,2,0,2,3,2,192,198,98,8,3,2,192,198,162,11,3,2,192,198,226,5,70,196,190,2,0,2,3,3,192,198,34,8,3,2,192,197,162,11,3,3,192,198,98,156,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,5,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,156,70,196,162,2,0,2,3,4,192,198,98,8,3,4,192,198,162,11,3,4,192,198,226,5,70,196,162,2,0,2,3,5,192,198,34,8,3,5,192,197,162,11,3,5,192,198,98,156,42,196,200,1,0,8,3,7,192,198,34,10,3,7,192,198,98,5,42,196,200,1,0,8,3,6,192,197,98,10,3,6,192,197,162,156,82,196,198,1,0,8,3,6,192,197,226,11,3,7,192,197,34,5,82,196,198,1,0,8,3,7,192,197,98,11,3,7,192,197,162,156,82,196,208,1,0,8,3,7,192,197,226,11,3,8,192,197,34,5,82,196,208,1,0,8,3,8,192,197,98,11,3,8,192,197,162,156,82,196,204,1,0,8,3,8,192,197,226,11,3,9,192,197,34,5,82,196,204,1,0,8,3,9,192,197,98,11,3,9,192,197,162,156,42,196,196,1,0,8,3,7,192,198,162,10,3,7,192,198,226,5,42,196,196,1,0,8,3,9,192,197,226,10,3,10,192,197,34,156,70,196,196,2,0,2,3,8,192,198,34,8,3,8,192,198,98,11,3,8,192,198,162,5,70,196,196,2,0,2,3,8,192,198,226,8,3,10,192,197,98,11,3,9,192,198,34,10,0,197,163,2,0,2,3,11,192,198,99,8,3,11,192,198,195,11,3,12,192,198,35,11,0,197,3,2,0,2,3,12,192,198,131,8,3,11,192,197,99,11,3,12,192,198,227,156,82,196,196,1,0,8,3,11,192,197,194,11,3,12,192,197,2,5,82,196,196,1,0,8,3,12,192,197,66,11,3,12,192,197,130,12,0,197,195,1,0,8,3,13,192,197,35,11,3,13,192,197,131,13,0,197,227,1,0,8,3,14,192,197,67,11,3,14,192,197,163,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,60,185,64,185,68,24,4,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,26,4,185,124,185,128,185,136,186,140,186,144,28,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,30,4,168,60,168,64,168,68,32,4,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,34,4,168,124,168,128,168,136,168,140,168,144,36,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,185,184,185,180,217,184,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,57,189,121,122,185,188,136,14,217,188,185,153,153,153,249,153,217,168,153,169,0,8,2,8,168,57,136,57,232,57,104,58,168,184,168,180,200,184,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,40,189,104,122,168,188,128,14,200,188,168,153,136,153,232,153,200,168,136,169,4,8,72,170,249,58,232,58,217,57,200,57,38,4,40,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,249,184,232,184,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,132,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,188,232,188,25,189,8,189,153,137,136,137,185,138,168,138,25,138,8,138,154,141,136,141,250,141,232,141,186,142,168,142,26,142,8,142,186,146,168,146,26,146,8,146,185,148,168,148,121,154,104,154,249,154,232,154,217,153,200,153,57,154,40,154,249,168,232,168,42,4,44,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,153,174,136,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,187,144,185,84,200,140,169,140,169,144,168,84,187,88,187,96,169,88,169,96,169,176,169,112,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,72,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,120,255,5,168,152,255,5,217,58,255,5,200,58,255,5,217,154,255,5,200,154,255,1,3,0,75,0,58,0,67,0,255,12,0,16,64,0,0,96,1,0,0,96,170,170,170,170,100,43,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,196,30,0,0,196,30,0,0,20,34,0,0,20,34,0,0,140,36,0,0,140,36,0,0,88,39,0,0,88,39,0,0,72,43,0,0,50,105,114,84,1,0,64,8,223,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,106,0,114,0,119,0,127,0,135,0,143,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,167,0,48,0,48,0,171,0,179,0,187,0,192,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,206,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,159,0,48,0,48,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,168,1,220,1,28,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,18,0,202,161,18,0,202,194,18,0,202,227,18,0,202,4,19,0,202,37,19,0,202,70,19,0,202,103,19,0,202,136,19,0,202,169,19,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,230,0,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,1,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,38,3,0,134,5,0,84,134,70,0,84,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,4,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,6,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,230,6,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,134,8,0,5,5,0,84,5,70,0,84,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,33,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,198,97,0,0,196,154,156,70,198,129,0,0,5,5,127,12,198,65,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,66,18,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,97,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,198,225,0,0,196,154,5,70,193,4,111,93,5,5,125,12,198,129,1,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,10,0,201,102,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,0,0,198,1,1,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,134,12,0,201,166,13,0,197,162,2,0,197,226,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,14,0,201,70,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,17,0,201,230,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,4,0,197,162,4,0,197,34,0,0,197,98,0,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,192,0,0,0,198,162,3,0,197,226,5,0,192,0,0,0,192,0,0,0,198,226,3,0,198,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,20,0,201,134,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,5,0,197,98,6,0,198,226,5,0,198,34,6,0,198,98,6,0,198,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,6,0,197,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,38,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,25,0,201,102,26,0,201,134,27,0,201,166,28,0,201,198,29,0,201,230,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,154,134,84,192,0,0,0,196,196,134,84,192,0,0,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,32,0,201,38,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,34,0,201,198,35,0,192,0,0,0,192,0,0,0,198,98,9,0,198,162,9,0,198,226,9,0,198,34,10,0,198,98,10,0,198,162,10,0,198,226,10,0,198,34,11,0,198,34,8,0,198,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,37,0,201,198,38,0,201,70,40,0,201,102,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,42,0,201,166,43,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,71,0,3,111,93,0,134,0,73,0,4,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,4,111,93,0,5,0,71,0,3,111,93,0,5,0,73,0,4,111,93,0,5,0,71,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,72,0,4,111,93,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,84,5,142,0,0,5,70,0,84,5,142,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,193,4,111,93,5,162,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,134,70,0,84,5,138,0,0,5,70,0,84,5,138,0,0,134,70,0,84,5,136,0,0,5,70,0,84,5,136,0,0,134,70,0,84,5,150,0,0,5,70,0,84,5,150,0,0,134,70,0,84,5,156,0,0,5,70,0,84,5,156,0,0,134,70,0,84,5,196,0,0,5,70,0,84,5,196,0,0,5,70,0,84,5,146,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,50,156,5,48,0,40,3,0,192,198,65,0,70,156,5,2,0,2,3,0,192,198,97,8,3,0,192,198,129,11,3,0,192,198,161,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,50,5,5,48,0,40,3,0,192,198,193,0,70,5,5,2,0,2,3,0,192,198,225,8,3,255,255,111,93,193,4,11,3,1,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,162,10,3,1,192,198,226,5,42,196,162,1,0,8,3,1,192,197,34,10,3,1,192,197,98,156,82,196,162,1,0,8,3,1,192,197,162,11,3,1,192,197,226,5,82,196,162,1,0,8,3,2,192,197,34,11,3,2,192,197,98,156,70,196,190,2,0,2,3,2,192,198,98,8,3,2,192,198,162,11,3,2,192,198,226,5,70,196,190,2,0,2,3,3,192,198,34,8,3,3,192,197,34,11,3,3,192,198,98,156,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,5,82,196,190,1,0,8,3,3,192,197,226,11,3,4,192,197,34,156,70,196,162,2,0,2,3,4,192,198,98,8,3,4,192,198,162,11,3,4,192,198,226,5,70,196,162,2,0,2,3,5,192,198,34,8,3,6,192,197,34,11,3,5,192,198,98,156,42,196,200,1,0,8,3,7,192,198,34,10,3,7,192,198,98,5,42,196,200,1,0,8,3,6,192,197,226,10,3,7,192,197,34,156,82,196,198,1,0,8,3,7,192,197,98,11,3,7,192,197,162,5,82,196,198,1,0,8,3,7,192,197,226,11,3,8,192,197,34,156,82,196,208,1,0,8,3,8,192,197,98,11,3,8,192,197,162,5,82,196,208,1,0,8,3,8,192,197,226,11,3,9,192,197,34,156,82,196,204,1,0,8,3,9,192,197,98,11,3,9,192,197,162,5,82,196,204,1,0,8,3,9,192,197,226,11,3,10,192,197,34,156,42,196,196,1,0,8,3,7,192,198,162,10,3,7,192,198,226,5,42,196,196,1,0,8,3,13,192,197,34,10,3,13,192,197,98,156,70,196,196,2,0,2,3,8,192,198,34,8,3,8,192,198,98,11,3,8,192,198,162,5,70,196,196,2,0,2,3,8,192,198,226,8,3,13,192,197,162,11,3,9,192,198,34,13,0,197,227,2,0,2,3,11,192,198,99,8,3,11,192,198,195,11,3,12,192,198,35,14,0,197,67,2,0,2,3,12,192,198,131,8,3,14,192,197,163,11,3,12,192,198,227,156,82,196,196,1,0,8,3,15,192,197,2,11,3,15,192,197,66,5,82,196,196,1,0,8,3,15,192,197,130,11,3,15,192,197,194,16,0,197,3,1,0,8,3,16,192,197,99,11,3,16,192,197,195,17,0,197,35,1,0,8,3,17,192,197,131,11,3,17,192,197,227,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,30,4,185,124,185,128,185,136,186,140,186,144,32,4,185,156,217,156,185,160,185,164,185,168,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,60,168,64,168,68,36,4,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,38,4,168,124,168,128,168,136,168,140,168,144,40,4,168,156,200,156,168,160,168,164,168,168,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,185,180,185,176,217,180,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,57,185,121,122,185,184,136,14,217,184,185,153,153,153,249,153,217,164,153,165,0,8,2,8,168,57,136,57,232,57,104,58,168,180,168,176,200,180,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,40,185,104,122,168,184,128,14,200,184,168,153,136,153,232,153,200,164,136,165,4,8,72,166,249,58,232,58,217,57,200,57,42,4,44,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,249,180,232,180,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,132,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,184,232,184,25,185,8,185,153,137,136,137,185,138,168,138,25,138,8,138,154,141,136,141,250,141,232,141,186,142,168,142,26,142,8,142,186,146,168,146,26,146,8,146,185,148,168,148,121,154,104,154,249,154,232,154,217,153,200,153,57,154,40,154,249,164,232,164,46,4,48,4,12,8,14,8,249,165,232,165,89,166,153,169,136,169,153,170,136,170,25,170,8,170,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,187,144,185,84,200,140,169,140,169,144,168,84,187,88,187,96,169,88,169,96,169,172,169,112,217,156,232,1,200,156,232,1,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,72,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,120,255,5,168,152,255,5,217,58,255,5,200,58,255,5,217,154,255,5,200,154,255,1,3,0,75,0,58,0,67,0,159,23,0,16,192,0,0,96,1,0,0,96,4,0,43,0,51,0,90,0,99,0,170,170,4,0,0,96,250,12,0,32,153,23,0,32,121,34,0,32,1,0,32,0,126,34,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,216,7,0,32,7,0,0,0,21,0,0,0,218,7,0,0,218,7,0,0,3,0,0,0,0,0,0,0,251,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,197,221,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,84,0,97,0,109,0,108,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,11,60,0,130,11,60,0,131,11,38,0,185,11,60,0,149,11,205,11,183,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,149,11,60,0,149,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,153,11,60,0,153,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,154,11,60,0,154,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,158,11,60,0,158,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,159,11,60,0,159,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,163,11,60,0,163,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,164,11,60,0,164,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,168,11,60,0,168,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,170,11,60,0,170,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,174,11,60,0,174,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,175,11,60,0,175,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,176,11,60,0,176,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,178,11,60,0,178,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,181,11,60,0,181,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,180,11,60,0,180,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,179,11,60,0,179,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,177,11,60,0,177,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,169,11,60,0,169,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,156,11,60,0,156,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,182,11,60,0,182,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,183,11,60,0,183,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,184,11,60,0,184,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,185,11,60,0,185,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,149,11,205,11,183,11,60,0,149,11,205,11,183,11,205,11,0,0,170,170,84,27,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,128,0,0,0,128,1,0,0,160,25,0,0,160,25,0,0,160,25,0,0,160,25,0,0,228,25,0,0,228,25,0,0,54,27,0,0,60,27,0,0,35,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,109,186,255,0,110,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,39,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,31,109,193,3,31,109,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,1,0,201,198,2,0,192,0,0,0,201,166,3,0,192,0,0,0,201,134,4,0,201,102,5,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,6,0,201,38,7,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,8,0,201,230,8,0,201,198,9,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,10,0,201,134,11,0,201,102,12,0,201,70,13,0,201,38,14,0,201,6,15,0,201,230,15,0,201,198,16,0,201,166,17,0,201,134,18,0,201,102,19,0,201,70,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,34,109,5,5,48,0,205,11,240,127,33,109,5,5,183,11,240,127,79,109,193,3,205,11,255,255,79,109,193,2,36,109,5,5,48,0,205,11,255,255,35,109,5,5,38,109,5,5,48,0,205,11,255,255,37,109,5,5,70,109,5,5,48,0,205,11,255,255,69,109,5,5,40,109,5,5,48,0,205,11,255,255,39,109,5,5,42,109,5,5,48,0,205,11,255,255,41,109,5,5,44,109,5,5,48,0,205,11,255,255,43,109,5,5,46,109,5,5,48,0,205,11,255,255,45,109,5,5,48,109,5,5,48,0,205,11,255,255,47,109,5,5,68,109,5,5,48,0,205,11,255,255,67,109,5,5,50,109,5,5,48,0,205,11,255,255,49,109,5,5,52,109,5,5,48,0,205,11,255,255,51,109,5,5,54,109,5,5,48,0,205,11,255,255,53,109,5,5,56,109,5,5,48,0,205,11,255,255,55,109,5,5,66,109,5,5,48,0,205,11,255,255,65,109,5,5,58,109,5,5,48,0,205,11,255,255,57,109,5,5,64,109,5,5,48,0,205,11,255,255,63,109,5,5,62,109,5,5,48,0,205,11,255,255,61,109,5,5,60,109,5,5,48,0,205,11,255,255,59,109,5,5,72,109,5,5,48,0,205,11,255,255,71,109,5,5,74,109,5,5,48,0,205,11,255,255,73,109,5,5,76,109,5,5,48,0,205,11,255,255,75,109,5,5,78,109,5,5,48,0,205,11,255,255,77,109,5,5,2,0,183,11,184,11,3,0,69,0,52,0,61,0,251,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,209,7,0,32,1,0,32,0,214,7,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,167,6,0,32,7,0,0,0,21,0,0,0,169,6,0,0,169,6,0,0,3,0,0,0,0,0,0,0,67,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,85,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,84,0,101,0,108,0,117,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,20,12,60,0,1,12,60,0,2,12,60,0,3,12,0,0,170,170,112,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,116,0,0,0,116,1,0,0,20,25,0,0,20,25,0,0,20,25,0,0,20,25,0,0,88,25,0,0,36,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,110,185,255,0,111,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,45,39,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,113,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,37,110,193,3,37,110,193,4,37,110,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,67,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,160,6,0,32,1,0,32,0,165,6,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,199,6,0,32,7,0,0,0,21,0,0,0,201,6,0,0,201,6,0,0,3,0,0,0,0,0,0,0,83,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,118,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,97,0,108,0,116,0,101,0,114,0,110,0,97,0,116,0,101,0,32,0,115,0,104,0,105,0,102,0,116,0,101,0,100,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,84,0,104,0,97,0,105,0,93,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,90,14,60,0,47,14,38,0,91,14,60,0,70,14,38,0,78,14,60,0,60,0,76,14,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,48,14,60,0,77,14,38,0,50,14,60,0,60,0,60,0,69,14,38,0,50,14,77,14,60,0,60,0,60,0,77,14,50,14,60,0,60,0,60,0,51,14,38,0,69,14,77,14,60,0,60,0,60,0,77,14,69,14,38,0,68,14,60,0,58,14,0,0,176,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,21,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,68,0,0,0,68,1,0,0,36,25,0,0,36,25,0,0,36,25,0,0,36,25,0,0,128,25,0,0,128,25,0,0,146,25,0,0,152,25,0,0,38,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,39,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,117,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,93,0,100,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,1,0,202,193,1,0,202,226,1,0,202,3,2,0,202,36,2,0,202,69,2,0,202,102,2,0,202,135,2,0,202,168,2,0,202,201,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,1,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,11,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,104,114,5,5,55,11,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,229,242,201,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,104,114,8,5,99,114,5,5,104,114,7,5,99,114,6,5,104,114,6,5,99,114,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,99,114,5,5,1,0,50,14,0,192,197,98,69,14,0,192,197,162,2,0,69,14,70,14,3,0,69,0,52,0,61,0,83,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,192,6,0,32,1,0,32,0,197,6,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,74,10,0,32,7,0,0,0,21,0,0,0,76,10,0,0,76,10,0,0,3,0,0,0,0,0,0,0,56,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,64,220,38,0,67,0,60,0,231,0,60,0,60,0,60,0,199,0,38,0,69,0,60,0,228,0,60,0,60,0,60,0,196,0,38,0,74,0,60,0,126,1,60,0,60,0,60,0,125,1,38,0,78,0,60,0,72,1,60,0,60,0,60,0,71,1,38,0,79,0,60,0,246,0,60,0,60,0,60,0,214,0,38,0,83,0,60,0,95,1,60,0,60,0,60,0,94,1,38,0,85,0,60,0,252,0,60,0,60,0,60,0,220,0,38,0,89,0,60,0,253,0,60,0,60,0,60,0,221,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,26,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,180,30,0,0,180,30,0,0,180,30,0,0,180,30,0,0,248,32,0,0,248,32,0,0,234,35,0,0,234,35,0,0,2,40,0,0,50,105,114,84,1,0,64,8,222,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,111,0,119,0,124,0,132,0,135,0,143,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,167,0,48,0,174,0,178,0,184,0,192,0,197,0,205,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,159,0,48,0,48,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,188,1,240,1,28,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,16,0,202,1,17,0,202,34,17,0,202,67,17,0,202,100,17,0,202,133,17,0,202,166,17,0,202,199,17,0,202,232,17,0,202,9,18,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,198,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,134,1,0,201,102,2,0,156,5,0,72,160,5,0,74,156,5,0,76,201,70,3,0,156,5,0,80,201,38,4,0,156,5,0,84,160,5,0,86,156,5,0,88,201,70,5,0,201,166,6,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,102,7,0,5,5,0,44,201,38,8,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,230,8,0,201,198,9,0,5,5,0,72,5,5,0,74,5,5,0,76,201,166,10,0,5,5,0,80,201,134,11,0,5,5,0,84,5,5,0,86,5,5,0,88,201,198,12,0,201,38,14,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,134,5,2,51,196,146,156,42,197,34,16,0,134,5,2,47,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,134,5,2,91,160,5,38,93,197,98,16,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,5,5,2,51,196,146,5,42,197,162,16,0,5,5,2,47,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,5,5,2,91,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,14,0,201,166,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,16,0,201,38,17,0,134,5,2,69,5,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,17,0,201,166,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,61,5,5,2,61,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,19,0,201,38,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,20,0,201,166,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,3,0,197,98,3,0,197,34,0,0,197,98,0,0,197,162,3,0,197,226,3,0,197,34,4,0,197,98,4,0,192,0,0,0,197,162,4,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,22,0,201,38,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,226,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,23,0,201,166,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,6,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,25,0,201,38,26,0,201,230,26,0,201,166,27,0,201,102,28,0,201,38,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,29,0,201,166,30,0,201,102,31,0,201,38,32,0,201,230,32,0,201,166,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,34,0,201,38,35,0,201,230,35,0,201,166,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,37,0,201,38,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,38,0,201,166,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,40,0,201,38,41,0,201,230,41,0,201,166,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,43,0,201,38,44,0,192,0,0,0,192,0,0,0,201,230,44,0,201,6,46,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,51,5,164,0,0,5,5,2,51,5,164,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,134,5,2,51,5,200,0,0,5,5,2,51,5,200,0,0,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,5,2,61,5,196,0,0,5,5,2,61,5,196,0,0,134,5,2,61,5,210,0,0,5,5,2,61,5,210,0,0,134,5,2,51,5,196,0,0,5,5,2,51,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,134,5,2,91,5,196,0,0,5,5,2,91,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,8,3,2,243,134,5,0,46,156,5,48,0,39,3,2,239,134,5,0,68,156,5,48,0,12,3,255,255,2,69,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,90,156,5,1,0,1,3,255,255,2,91,134,5,65,3,255,255,2,91,134,5,0,92,156,5,48,0,12,3,2,253,134,5,0,42,5,5,48,0,8,3,2,243,5,5,0,46,5,5,48,0,39,3,2,239,5,5,0,68,5,5,48,0,12,3,255,255,2,69,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,0,90,5,5,1,0,1,3,255,255,2,91,5,5,65,3,255,255,2,91,5,5,0,92,5,5,48,0,12,3,2,253,5,5,156,42,196,162,48,0,8,3,0,192,197,162,5,42,196,162,48,0,8,3,0,192,197,226,156,68,196,160,48,0,12,3,1,192,197,34,5,68,196,160,48,0,12,3,1,192,197,98,156,82,196,162,48,0,8,3,1,192,197,162,5,82,196,162,48,0,8,3,1,192,197,226,156,70,196,190,48,0,8,3,2,192,197,34,5,70,196,190,48,0,8,3,2,192,197,98,156,82,196,190,48,0,8,3,2,192,197,162,5,82,196,190,48,0,8,3,2,192,197,226,156,70,196,162,48,0,8,3,5,192,197,34,5,70,196,162,48,0,8,3,5,192,197,98,156,42,196,200,48,0,8,3,6,192,197,34,5,42,196,200,48,0,8,3,6,192,197,98,156,68,196,196,48,0,12,3,7,192,197,34,5,68,196,196,48,0,12,3,7,192,197,98,156,68,196,210,48,0,12,3,7,192,197,162,5,68,196,210,48,0,12,3,7,192,197,226,156,68,196,204,48,0,12,3,8,192,197,34,5,68,196,204,48,0,12,3,8,192,197,98,156,82,196,198,48,0,8,3,8,192,197,162,5,82,196,198,48,0,8,3,8,192,197,226,156,82,196,208,48,0,8,3,9,192,197,34,5,82,196,208,48,0,8,3,9,192,197,98,156,82,196,204,48,0,8,3,9,192,197,162,5,82,196,204,48,0,8,3,9,192,197,226,156,92,196,196,48,0,12,3,10,192,197,34,5,92,196,196,48,0,12,3,10,192,197,98,156,92,196,210,48,0,12,3,10,192,197,162,5,92,196,210,48,0,12,3,10,192,197,226,156,42,196,196,48,0,8,3,11,192,197,34,5,42,196,196,48,0,8,3,11,192,197,98,156,70,196,196,48,0,8,3,11,192,197,162,5,70,196,196,48,0,8,3,11,192,197,226,12,0,197,35,48,0,8,3,12,192,197,131,12,0,197,227,48,0,8,3,13,192,197,67,156,82,196,196,48,0,8,3,13,192,197,162,5,82,196,196,48,0,8,3,13,192,197,226,14,0,197,35,48,0,8,3,14,192,197,131,14,0,197,227,48,0,8,3,15,192,197,67,156,90,196,196,1,0,1,3,15,192,197,162,65,3,15,192,197,162,5,90,196,196,1,0,1,3,15,192,197,226,65,3,15,192,197,226,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,28,4,185,72,186,76,185,84,185,88,185,92,186,96,186,104,185,112,185,116,185,120,30,4,32,4,185,144,185,148,185,156,34,4,185,168,36,4,185,184,185,188,185,192,38,4,40,4,88,13,168,13,96,13,56,14,80,12,40,14,42,4,168,60,44,4,168,72,168,76,168,84,168,88,168,92,168,96,168,104,168,112,168,116,168,120,46,4,48,4,168,144,168,148,168,156,50,4,168,168,52,4,168,184,168,188,168,192,54,4,56,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,185,80,57,58,0,8,185,68,186,77,154,77,250,77,90,78,186,97,154,97,250,97,90,98,217,72,154,126,185,137,153,137,249,137,153,138,185,140,136,14,217,138,185,177,153,177,249,177,185,180,185,200,185,208,2,8,168,57,136,57,232,57,136,58,168,80,40,58,4,8,168,68,168,77,136,77,232,77,72,78,168,97,136,97,232,97,72,98,200,72,136,126,168,137,136,137,232,137,136,138,168,140,128,14,200,138,168,177,136,177,232,177,168,180,168,200,168,208,72,198,57,59,40,59,217,57,200,57,58,4,60,4,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,89,232,89,217,89,200,89,185,90,168,90,249,90,232,90,249,93,232,93,89,95,72,95,154,98,136,98,58,99,40,99,218,97,200,97,26,99,8,99,186,98,168,100,6,8,8,8,250,105,232,105,249,114,232,114,168,152,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,62,4,64,4,185,128,168,128,10,8,185,132,168,132,57,139,40,139,217,137,200,137,121,138,104,138,12,8,14,8,153,157,136,157,249,158,232,158,25,158,8,158,154,161,136,161,250,161,232,161,185,164,168,164,26,162,8,162,249,170,232,170,25,170,8,170,185,172,168,172,153,178,136,178,57,179,40,179,217,177,200,177,57,178,40,178,121,178,104,178,66,4,68,4,249,189,232,189,249,197,232,197,89,198,153,205,136,205,185,206,168,206,185,108,168,108,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,160,169,160,200,56,169,76,187,96,187,104,169,96,169,104,169,212,169,124,217,136,187,76,200,136,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,64,255,5,186,124,255,5,185,136,255,5,186,160,255,5,185,176,255,5,185,196,255,5,185,204,255,5,168,56,255,5,168,64,255,5,168,124,255,5,168,136,255,5,168,160,255,5,168,176,255,5,168,196,255,5,168,204,255,5,25,59,255,5,8,59,255,5,250,126,255,5,232,126,255,5,25,179,255,5,8,179,255,1,170,170,3,0,69,0,52,0,61,0,59,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,67,10,0,32,1,0,32,0,72,10,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,213,11,0,32,7,0,0,0,21,0,0,0,215,11,0,0,215,11,0,0,3,0,0,0,0,0,0,0,80,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,111,220,38,0,110,0,60,0,110,0,103,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,60,0,60,0,60,0,75,1,60,0,60,0,60,0,74,1,38,0,122,0,60,0,187,2,60,0,60,0,60,0,189,2,38,0,97,0,60,0,60,0,225,0,60,0,60,0,60,0,193,0,60,0,60,0,1,1,60,0,60,0,60,0,0,1,38,0,101,0,60,0,60,0,233,0,60,0,60,0,60,0,201,0,60,0,60,0,19,1,60,0,60,0,60,0,18,1,38,0,105,0,60,0,60,0,237,0,60,0,60,0,60,0,205,0,60,0,60,0,43,1,60,0,60,0,60,0,42,1,38,0,111,0,60,0,60,0,243,0,60,0,60,0,60,0,211,0,60,0,60,0,77,1,60,0,60,0,60,0,76,1,38,0,117,0,60,0,60,0,250,0,60,0,60,0,60,0,218,0,60,0,60,0,107,1,60,0,60,0,60,0,106,1,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,230,45,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,68,31,0,0,68,31,0,0,68,31,0,0,68,31,0,0,144,35,0,0,144,35,0,0,104,41,0,0,130,41,0,0,206,45,0,0,50,105,114,84,1,0,64,8,231,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,107,0,115,0,120,0,128,0,132,0,140,0,48,0,56,0,143,0,151,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,182,0,186,0,191,0,48,0,199,0,206,0,214,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,167,0,48,0,48,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,172,1,224,1,16,2,192,0,60,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,33,0,202,65,33,0,202,98,33,0,202,131,33,0,202,164,33,0,202,197,33,0,202,230,33,0,202,7,34,0,202,40,34,0,202,73,34,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,1,0,156,5,0,52,156,5,0,54,156,5,0,56,201,6,3,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,128,4,0,201,198,11,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,166,13,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,134,15,0,5,5,0,44,5,5,0,46,5,5,0,48,201,6,17,0,5,5,0,52,5,5,0,54,5,5,0,56,201,134,18,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,0,20,0,201,198,23,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,166,25,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,70,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,32,0,196,160,156,46,196,138,156,50,134,70,0,50,196,142,156,50,196,150,156,50,196,138,156,58,134,70,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,134,70,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,134,70,0,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,32,0,196,138,5,42,5,70,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,32,0,196,160,5,46,196,138,5,50,5,70,0,50,196,142,5,50,196,150,5,50,196,138,5,58,5,70,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,5,70,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,5,70,0,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,134,71,0,42,5,71,0,42,192,0,0,0,192,0,0,0,201,134,27,0,201,6,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,30,0,201,6,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,58,5,71,0,58,192,0,0,0,192,0,0,0,201,134,33,0,201,6,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,137,5,2,69,8,5,2,69,134,71,0,70,5,71,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,82,5,71,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,36,0,201,6,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,39,0,201,6,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,42,0,201,6,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,45,0,201,6,47,0,197,162,11,0,197,34,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,48,0,201,6,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,93,192,0,0,0,6,5,2,93,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,51,0,201,6,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,14,0,197,162,14,0,197,226,14,0,197,34,15,0,201,134,54,0,201,6,56,0,201,134,57,0,201,6,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,60,0,201,6,62,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,63,0,201,6,65,0,201,134,66,0,201,6,68,0,201,134,69,0,201,6,71,0,192,0,0,0,192,0,0,0,197,98,22,0,197,162,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,72,0,201,6,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,75,0,201,6,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,78,0,201,6,80,0,201,134,81,0,201,6,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,9,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,84,0,201,6,86,0,201,134,87,0,201,6,89,0,192,0,0,0,192,0,0,0,197,98,10,0,197,226,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,90,0,201,6,92,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,69,5,142,0,0,70,5,2,69,5,142,0,0,135,5,2,69,5,140,0,0,70,5,2,69,5,140,0,0,135,5,2,69,5,156,0,0,70,5,2,69,5,156,0,0,135,5,2,69,5,160,0,0,70,5,2,69,5,160,0,0,135,5,2,69,5,144,0,0,70,5,2,69,5,144,0,0,135,5,2,69,5,136,0,0,70,5,2,69,5,136,0,0,135,5,2,69,5,164,0,0,70,5,2,69,5,164,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,140,0,0,5,5,2,69,5,156,0,0,5,5,2,69,5,160,0,0,5,5,2,69,5,144,0,0,5,5,2,69,5,136,0,0,5,5,2,69,5,164,0,0,134,70,0,42,5,162,0,0,134,71,0,42,5,162,0,0,5,70,0,42,5,162,0,0,5,71,0,42,5,162,0,0,134,70,0,50,5,162,0,0,134,71,0,50,5,162,0,0,5,70,0,50,5,162,0,0,5,71,0,50,5,162,0,0,134,70,0,58,5,162,0,0,134,71,0,58,5,162,0,0,5,70,0,58,5,162,0,0,5,71,0,58,5,162,0,0,134,70,0,82,5,162,0,0,134,71,0,82,5,162,0,0,5,70,0,82,5,162,0,0,5,71,0,82,5,162,0,0,134,70,0,70,5,190,0,0,134,71,0,70,5,190,0,0,5,70,0,70,5,190,0,0,5,71,0,70,5,190,0,0,134,70,0,82,5,190,0,0,134,71,0,82,5,190,0,0,5,70,0,82,5,190,0,0,5,71,0,82,5,190,0,0,134,70,0,70,5,162,0,0,134,71,0,70,5,162,0,0,5,70,0,70,5,162,0,0,5,71,0,70,5,162,0,0,134,70,0,50,5,160,0,0,134,71,0,50,5,160,0,0,5,70,0,50,5,160,0,0,5,71,0,50,5,160,0,0,134,70,0,42,5,200,0,0,134,71,0,42,5,200,0,0,5,70,0,42,5,200,0,0,5,71,0,42,5,200,0,0,134,71,0,50,5,138,0,0,5,71,0,50,5,138,0,0,134,71,0,50,5,136,0,0,5,71,0,50,5,136,0,0,134,70,0,50,5,204,0,0,134,71,0,50,5,204,0,0,5,70,0,50,5,204,0,0,5,71,0,50,5,204,0,0,134,70,0,50,5,208,0,0,134,71,0,50,5,208,0,0,5,70,0,50,5,208,0,0,5,71,0,50,5,208,0,0,134,70,0,58,5,208,0,0,134,71,0,58,5,208,0,0,5,70,0,58,5,208,0,0,5,71,0,58,5,208,0,0,134,71,0,70,5,138,0,0,5,71,0,70,5,138,0,0,134,71,0,70,5,136,0,0,5,71,0,70,5,136,0,0,134,70,0,82,5,198,0,0,134,71,0,82,5,198,0,0,5,70,0,82,5,198,0,0,5,71,0,82,5,198,0,0,134,70,0,82,5,208,0,0,134,71,0,82,5,208,0,0,5,70,0,82,5,208,0,0,5,71,0,82,5,208,0,0,134,70,0,82,5,204,0,0,134,71,0,82,5,204,0,0,5,70,0,82,5,204,0,0,5,71,0,82,5,204,0,0,134,71,0,82,5,150,0,0,5,71,0,82,5,150,0,0,134,70,0,42,5,196,0,0,134,71,0,42,5,196,0,0,5,70,0,42,5,196,0,0,5,71,0,42,5,196,0,0,134,70,0,50,5,196,0,0,134,71,0,50,5,196,0,0,5,70,0,50,5,196,0,0,5,71,0,50,5,196,0,0,134,70,0,58,5,196,0,0,134,71,0,58,5,196,0,0,5,70,0,58,5,196,0,0,5,71,0,58,5,196,0,0,134,70,0,70,5,196,0,0,134,71,0,70,5,196,0,0,5,70,0,70,5,196,0,0,5,71,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,70,0,70,5,190,0,0,5,196,0,0,134,71,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,70,0,70,5,190,0,0,5,196,0,0,5,71,0,70,5,190,0,0,5,196,0,0,134,70,0,82,5,196,0,0,134,71,0,82,5,196,0,0,5,70,0,82,5,196,0,0,5,71,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,82,5,190,0,0,5,196,0,0,134,71,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,82,5,190,0,0,5,196,0,0,5,71,0,82,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,2,0,1,3,0,234,134,70,4,3,0,234,134,71,65,3,0,234,134,70,0,50,156,5,2,0,1,3,0,242,134,70,4,3,0,242,134,71,65,3,0,242,134,70,0,58,156,5,2,0,1,3,0,250,134,70,4,3,0,250,134,71,65,3,0,250,134,70,0,68,156,5,15,0,34,1,26,0,244,1,12,0,244,1,2,192,197,162,245,1,2,192,197,226,32,30,3,192,197,34,33,30,3,192,197,98,34,1,1,192,197,162,35,1,1,192,197,226,230,1,2,192,197,34,231,1,2,192,197,98,30,1,12,0,30,1,0,192,197,162,31,1,0,192,197,226,32,1,1,192,197,34,33,1,1,192,197,98,71,0,255,255,2,69,135,5,103,0,255,255,2,69,70,5,28,1,197,162,29,1,0,192,197,98,0,70,156,5,2,0,1,3,255,255,0,70,134,70,4,3,255,255,0,70,134,71,65,3,255,255,0,70,134,70,0,82,156,5,2,0,1,3,255,255,0,82,134,70,4,3,255,255,0,82,134,71,65,3,255,255,0,82,134,70,0,42,5,5,2,0,1,3,0,234,5,70,4,3,0,234,5,71,65,3,0,234,5,70,0,50,5,5,2,0,1,3,0,242,5,70,4,3,0,242,5,71,65,3,0,242,5,70,0,58,5,5,2,0,1,3,0,250,5,70,4,3,0,250,5,71,65,3,0,250,5,70,0,68,5,5,7,0,35,1,12,0,35,1,4,192,197,98,231,1,4,192,197,162,245,1,4,192,197,226,33,30,5,192,197,34,103,0,255,255,2,69,5,5,29,1,3,192,197,162,31,1,3,192,197,226,33,1,4,192,197,34,0,70,5,5,2,0,1,3,255,255,0,70,5,70,4,3,255,255,0,70,5,71,65,3,255,255,0,70,5,70,0,82,5,5,2,0,1,3,255,255,0,82,5,70,4,3,255,255,0,82,5,71,65,3,255,255,0,82,5,70,156,42,196,162,2,0,1,3,5,192,197,98,4,3,5,192,197,162,65,3,5,192,197,98,5,42,196,162,2,0,1,3,5,192,197,226,4,3,6,192,197,34,65,3,5,192,197,226,156,50,196,162,2,0,1,3,6,192,197,98,4,3,6,192,197,162,65,3,6,192,197,98,5,50,196,162,2,0,1,3,6,192,197,226,4,3,7,192,197,34,65,3,6,192,197,226,156,58,196,162,2,0,1,3,7,192,197,98,4,3,7,192,197,162,65,3,7,192,197,98,5,58,196,162,2,0,1,3,7,192,197,226,4,3,8,192,197,34,65,3,7,192,197,226,156,82,196,162,2,0,1,3,8,192,197,98,4,3,8,192,197,162,65,3,8,192,197,98,5,82,196,162,2,0,1,3,8,192,197,226,4,3,9,192,197,34,65,3,8,192,197,226,156,70,196,190,2,0,1,3,9,192,197,98,4,3,9,192,197,162,65,3,9,192,197,98,5,70,196,190,2,0,1,3,9,192,197,226,4,3,10,192,197,34,65,3,9,192,197,226,156,82,196,190,2,0,1,3,10,192,197,98,4,3,10,192,197,162,65,3,10,192,197,98,5,82,196,190,2,0,1,3,10,192,197,226,4,3,11,192,197,34,65,3,10,192,197,226,156,70,196,162,2,0,1,3,11,192,197,98,4,3,11,192,197,162,65,3,11,192,197,98,5,70,196,162,2,0,1,3,11,192,197,226,4,3,12,192,197,34,65,3,11,192,197,226,156,50,196,160,2,0,1,3,12,192,197,98,4,3,12,192,197,162,65,3,12,192,197,98,5,50,196,160,2,0,1,3,12,192,197,226,4,3,13,192,197,34,65,3,12,192,197,226,156,42,196,200,2,0,1,3,13,192,197,98,4,3,13,192,197,162,65,3,13,192,197,98,5,42,196,200,2,0,1,3,13,192,197,226,4,3,14,192,197,34,65,3,13,192,197,226,156,50,196,204,2,0,1,3,15,192,197,98,4,3,15,192,197,162,65,3,15,192,197,98,5,50,196,204,2,0,1,3,15,192,197,226,4,3,16,192,197,34,65,3,15,192,197,226,156,50,196,208,2,0,1,3,16,192,197,98,4,3,16,192,197,162,65,3,16,192,197,98,5,50,196,208,2,0,1,3,16,192,197,226,4,3,17,192,197,34,65,3,16,192,197,226,156,58,196,208,2,0,1,3,17,192,197,98,4,3,17,192,197,162,65,3,17,192,197,98,5,58,196,208,2,0,1,3,17,192,197,226,4,3,18,192,197,34,65,3,17,192,197,226,156,82,196,198,2,0,1,3,19,192,197,98,4,3,19,192,197,162,65,3,19,192,197,98,5,82,196,198,2,0,1,3,19,192,197,226,4,3,20,192,197,34,65,3,19,192,197,226,156,82,196,208,2,0,1,3,20,192,197,98,4,3,20,192,197,162,65,3,20,192,197,98,5,82,196,208,2,0,1,3,20,192,197,226,4,3,21,192,197,34,65,3,20,192,197,226,156,82,196,204,2,0,1,3,21,192,197,98,4,3,21,192,197,162,65,3,21,192,197,98,5,82,196,204,2,0,1,3,21,192,197,226,4,3,22,192,197,34,65,3,21,192,197,226,156,42,196,196,2,0,1,3,22,192,197,226,4,3,23,192,197,34,65,3,22,192,197,226,5,42,196,196,2,0,1,3,23,192,197,98,4,3,23,192,197,162,65,3,23,192,197,98,156,50,196,196,2,0,1,3,23,192,197,226,4,3,24,192,197,34,65,3,23,192,197,226,5,50,196,196,2,0,1,3,24,192,197,98,4,3,24,192,197,162,65,3,24,192,197,98,156,58,196,196,2,0,1,3,24,192,197,226,4,3,25,192,197,34,65,3,24,192,197,226,5,58,196,196,2,0,1,3,25,192,197,98,4,3,25,192,197,162,65,3,25,192,197,98,156,70,196,196,2,0,1,3,25,192,197,226,4,3,26,192,197,34,65,3,25,192,197,226,5,70,196,196,2,0,1,3,26,192,197,98,4,3,26,192,197,162,65,3,26,192,197,98,26,0,197,227,2,0,1,3,27,192,197,67,4,3,27,192,197,163,65,3,27,192,197,67,28,0,197,3,2,0,1,3,28,192,197,99,4,3,28,192,197,195,65,3,28,192,197,99,156,82,196,196,2,0,1,3,29,192,197,34,4,3,29,192,197,98,65,3,29,192,197,34,5,82,196,196,2,0,1,3,29,192,197,162,4,3,29,192,197,226,65,3,29,192,197,162,30,0,197,35,2,0,1,3,30,192,197,131,4,3,30,192,197,227,65,3,30,192,197,131,31,0,197,67,2,0,1,3,31,192,197,163,4,3,32,192,197,3,65,3,31,192,197,163,12,0,71,0,72,0,103,0,104,0,28,1,36,1,230,1,232,1,244,1,246,1,32,30,34,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,185,108,32,4,54,4,185,124,185,128,185,136,186,140,185,144,56,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,58,4,168,60,168,64,168,68,60,4,168,76,168,80,168,84,62,4,168,96,168,100,168,104,168,108,64,4,76,4,168,124,168,128,168,136,168,140,168,144,78,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,217,56,249,57,153,58,89,58,57,58,0,8,249,66,186,73,217,72,250,73,90,74,186,89,217,88,250,89,90,90,217,68,154,114,185,121,217,120,249,121,153,122,89,122,136,14,217,122,185,153,217,152,249,153,89,154,153,169,185,176,2,8,168,57,200,56,232,57,136,58,72,58,40,58,4,8,232,66,168,73,200,72,232,73,72,74,168,89,200,88,232,89,72,90,200,68,136,114,168,121,200,120,232,121,136,122,72,122,128,14,200,122,168,153,200,152,232,153,72,154,136,169,168,176,72,170,249,56,232,56,217,57,200,57,80,4,82,4,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,57,71,40,71,249,72,232,72,218,73,200,73,186,74,168,74,84,4,86,4,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,57,87,40,87,154,90,136,90,249,88,232,88,218,89,200,89,88,4,90,4,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,89,107,72,107,57,107,40,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,188,116,171,116,249,120,232,120,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,249,152,232,152,217,153,200,153,57,154,40,154,121,154,104,154,92,4,94,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,25,57,187,72,200,140,169,140,8,57,169,72,187,88,187,96,169,88,169,96,169,180,169,112,25,121,187,72,8,121,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,186,112,71,4,186,116,103,4,177,116,28,5,250,117,29,5,241,117,30,5,218,117,31,5,209,117,32,5,186,118,33,5,177,118,34,5,250,118,35,5,241,118,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,112,103,4,168,116,29,5,232,117,31,5,200,117,33,5,168,118,35,5,232,118,255,5,168,120,255,5,168,152,255,5,25,59,255,5,8,59,255,5,26,75,255,5,8,75,255,5,26,91,255,5,8,91,255,5,25,155,255,5,8,155,255,1,170,170,3,0,69,0,52,0,61,0,83,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,206,11,0,32,1,0,32,0,211,11,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,212,20,0,32,7,0,0,0,23,0,0,0,214,20,0,0,214,20,0,0,3,0,0,0,0,0,0,0,89,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,116,0,114,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,74,220,38,0,67,0,60,0,99,0,39,3,60,0,60,0,60,0,67,0,39,3,38,0,71,0,60,0,103,0,6,3,60,0,60,0,60,0,71,0,6,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,105,0,60,0,49,1,60,0,60,0,60,0,73,0,38,0,105,0,60,0,60,0,60,0,48,1,38,0,79,0,60,0,111,0,8,3,60,0,60,0,60,0,79,0,8,3,38,0,83,0,60,0,115,0,39,3,60,0,60,0,60,0,83,0,39,3,38,0,85,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,0,0,170,170,170,170,170,170,170,170,170,170,4,44,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,180,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,196,37,0,0,196,37,0,0,196,37,0,0,196,37,0,0,200,41,0,0,200,41,0,0,236,43,0,0,236,43,0,0,236,43,0,0,50,105,114,84,1,0,64,8,79,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,93,0,101,0,106,0,114,0,119,0,127,0,133,0,141,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,144,0,152,0,158,0,166,0,174,0,182,0,48,0,56,0,181,0,189,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,206,0,214,0,48,0,48,0,48,0,222,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,230,0,48,0,48,0,238,0,48,0,244,0,252,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,6,1,11,1,48,0,15,1,48,0,48,0,21,1,29,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,37,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,40,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,204,0,48,0,48,0,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,56,1,48,0,48,0,62,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,116,1,168,1,220,1,20,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,2,120,2,184,2,192,0,212,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,30,0,202,1,31,0,202,34,31,0,202,67,31,0,202,100,31,0,202,133,31,0,202,166,31,0,202,199,31,0,202,232,31,0,202,9,32,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,198,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,134,1,0,156,5,0,56,201,70,2,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,6,3,0,156,5,0,72,160,5,0,74,156,5,0,76,201,230,3,0,156,5,0,80,201,198,4,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,230,5,0,5,5,0,48,5,5,0,50,5,5,0,52,201,166,6,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,7,0,5,5,0,72,5,5,0,74,5,5,0,76,201,70,8,0,5,5,0,80,201,38,9,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,194,21,0,134,5,2,47,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,2,22,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,66,22,0,5,5,2,47,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,201,102,10,0,201,38,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,201,230,11,0,192,0,0,0,134,5,0,58,5,5,27,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,12,0,201,102,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,14,0,201,230,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,15,0,201,102,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,4,0,197,34,5,0,197,34,0,0,197,98,0,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,17,0,201,230,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,197,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,166,18,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,20,0,5,71,238,102,201,102,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,192,0,0,0,192,0,0,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,8,0,192,0,0,0,197,162,8,0,192,0,0,0,192,0,0,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,9,0,192,0,0,0,197,98,9,0,192,0,0,0,197,162,9,0,192,0,0,0,197,226,9,0,192,0,0,0,197,34,10,0,197,99,10,0,197,194,10,0,192,0,0,0,192,0,0,0,197,2,11,0,197,67,11,0,197,162,11,0,192,0,0,0,192,0,0,0,197,226,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,7,0,197,34,12,0,5,5,10,121,197,98,12,0,197,162,12,0,5,5,12,121,5,5,16,121,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,5,5,18,121,5,5,20,121,197,130,8,0,5,5,24,121,197,162,8,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,14,0,197,226,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,22,0,192,0,0,0,197,99,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,198,23,0,201,134,24,0,201,70,25,0,201,6,26,0,201,198,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,17,0,192,0,0,0,201,134,27,0,192,0,0,0,201,70,28,0,201,6,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,29,0,201,134,30,0,201,70,31,0,201,6,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,32,0,201,134,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,134,5,27,57,5,138,0,0,134,5,27,57,5,136,0,0,134,5,27,57,5,142,0,0,134,5,27,57,5,150,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,27,57,5,154,0,0,134,5,27,57,5,164,0,0,134,5,27,57,5,140,0,0,134,5,27,57,5,162,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,27,57,5,144,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,27,57,5,184,0,0,134,5,27,57,5,188,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,5,27,57,5,208,0,0,134,5,27,57,5,150,0,0,5,136,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,5,27,57,5,182,0,0,134,5,27,57,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,226,7,0,5,5,10,121,5,5,12,121,197,34,8,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,8,0,5,5,24,121,197,162,8,0,5,5,28,121,5,5,30,121,197,226,8,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,9,0,5,5,107,121,197,98,9,0,5,5,111,121,197,162,9,0,5,5,115,121,197,226,9,0,5,5,119,121,197,34,10,0,197,99,10,0,197,194,10,0,5,5,127,121,5,5,129,121,197,2,11,0,197,67,11,0,197,162,11,0,5,5,137,121,5,5,139,121,197,226,11,0,5,5,143,121,5,5,6,121,197,226,7,0,197,34,12,0,5,5,10,121,197,98,12,0,197,162,12,0,5,5,12,121,5,5,16,121,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,5,5,18,121,5,5,20,121,197,130,8,0,5,5,24,121,197,162,8,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,46,156,5,48,0,39,3,2,239,134,5,0,54,156,5,48,0,6,3,2,247,134,5,27,57,134,5,48,0,7,3,0,250,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,46,5,5,48,0,39,3,2,239,5,5,0,54,5,5,48,0,6,3,2,247,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,156,54,196,160,48,0,6,3,1,192,197,162,5,54,196,160,48,0,6,3,1,192,197,226,2,0,197,226,48,0,7,3,134,250,196,162,156,82,196,162,48,0,8,3,3,192,197,34,5,82,196,162,48,0,8,3,3,192,197,98,156,70,196,190,48,0,8,3,3,192,197,162,5,70,196,190,48,0,8,3,3,192,197,226,156,82,196,190,48,0,8,3,4,192,197,34,5,82,196,190,48,0,8,3,4,192,197,98,156,70,196,162,48,0,8,3,6,192,197,98,5,70,196,162,48,0,8,3,6,192,197,162,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,15,0,197,34,48,0,7,3,134,250,196,208,156,82,196,198,48,0,8,3,15,192,197,194,5,82,196,198,48,0,8,3,16,192,197,2,156,82,196,208,48,0,8,3,16,192,197,66,5,82,196,208,48,0,8,3,16,192,197,130,156,82,196,204,48,0,8,3,16,192,197,194,5,82,196,204,48,0,8,3,17,192,197,2,17,0,197,130,48,0,7,3,134,250,196,196,156,70,196,196,48,0,8,3,17,192,197,194,5,70,196,196,48,0,8,3,18,192,197,2,18,0,197,67,48,0,8,3,18,192,197,163,19,0,197,3,48,0,8,3,19,192,197,99,156,82,196,196,48,0,8,3,19,192,197,194,5,82,196,196,48,0,8,3,20,192,197,2,20,0,197,67,48,0,8,3,20,192,197,163,21,0,197,3,48,0,8,3,21,192,197,99,3,0,67,0,50,0,59,0,91,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,154,37,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,132,29,0,0,132,29,0,0,132,29,0,0,132,29,0,0,164,31,0,0,164,31,0,0,130,33,0,0,130,33,0,0,130,37,0,0,50,105,114,84,1,0,64,8,203,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,93,0,101,0,106,0,114,0,119,0,127,0,133,0,141,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,163,0,168,0,48,0,172,0,48,0,48,0,178,0,186,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,157,0,48,0,48,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,116,1,168,1,220,1,20,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,15,0,202,225,15,0,202,2,16,0,202,35,16,0,202,68,16,0,202,101,16,0,202,134,16,0,202,167,16,0,202,200,16,0,202,233,16,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,198,0,0,156,5,0,56,201,134,1,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,70,2,0,156,5,0,72,160,5,0,74,156,5,0,76,201,38,3,0,156,5,0,80,201,6,4,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,38,5,0,5,5,0,48,5,5,0,50,5,5,0,52,201,230,5,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,6,0,5,5,0,72,5,5,0,74,5,5,0,76,201,134,7,0,5,5,0,80,201,102,8,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,2,15,0,134,5,2,47,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,66,15,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,130,15,0,5,5,2,47,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,201,166,9,0,201,102,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,201,38,11,0,192,0,0,0,134,5,0,58,5,5,27,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,11,0,201,166,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,13,0,201,38,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,14,0,201,166,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,4,0,197,34,5,0,197,34,0,0,197,98,0,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,16,0,201,38,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,197,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,17,0,192,0,0,0,197,163,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,18,0,201,102,19,0,201,38,20,0,201,230,20,0,201,166,21,0,201,102,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,10,0,192,0,0,0,201,38,23,0,192,0,0,0,201,230,23,0,201,166,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,25,0,201,38,26,0,201,230,26,0,201,166,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,28,0,201,38,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,134,5,27,57,5,138,0,0,134,5,27,57,5,136,0,0,134,5,27,57,5,142,0,0,134,5,27,57,5,150,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,27,57,5,154,0,0,134,5,27,57,5,164,0,0,134,5,27,57,5,140,0,0,134,5,27,57,5,162,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,27,57,5,144,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,27,57,5,184,0,0,134,5,27,57,5,188,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,5,27,57,5,208,0,0,134,5,27,57,5,150,0,0,5,136,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,5,27,57,5,182,0,0,134,5,27,57,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,39,3,2,239,134,5,0,54,156,5,48,0,6,3,2,247,134,5,27,57,134,5,48,0,7,3,0,250,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,46,5,5,48,0,39,3,2,239,5,5,0,54,5,5,48,0,6,3,2,247,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,156,54,196,160,48,0,6,3,1,192,197,162,5,54,196,160,48,0,6,3,1,192,197,226,2,0,197,226,48,0,7,3,134,250,196,162,156,82,196,162,48,0,8,3,3,192,197,34,5,82,196,162,48,0,8,3,3,192,197,98,156,70,196,190,48,0,8,3,3,192,197,162,5,70,196,190,48,0,8,3,3,192,197,226,156,82,196,190,48,0,8,3,4,192,197,34,5,82,196,190,48,0,8,3,4,192,197,98,156,70,196,162,48,0,8,3,6,192,197,98,5,70,196,162,48,0,8,3,6,192,197,162,8,0,197,98,48,0,7,3,134,250,196,208,156,82,196,198,48,0,8,3,9,192,197,2,5,82,196,198,48,0,8,3,9,192,197,66,156,82,196,208,48,0,8,3,9,192,197,130,5,82,196,208,48,0,8,3,9,192,197,194,156,82,196,204,48,0,8,3,10,192,197,2,5,82,196,204,48,0,8,3,10,192,197,66,10,0,197,194,48,0,7,3,134,250,196,196,156,70,196,196,48,0,8,3,11,192,197,2,5,70,196,196,48,0,8,3,11,192,197,66,11,0,197,131,48,0,8,3,11,192,197,227,12,0,197,67,48,0,8,3,12,192,197,163,156,82,196,196,48,0,8,3,13,192,197,2,5,82,196,196,48,0,8,3,13,192,197,66,13,0,197,131,48,0,8,3,13,192,197,227,14,0,197,67,48,0,8,3,14,192,197,163,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,28,4,185,92,30,4,186,104,185,108,185,112,185,116,186,120,32,4,185,136,185,140,185,148,34,4,185,160,36,4,185,176,185,180,185,184,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,38,4,168,72,168,76,168,80,40,4,168,92,168,100,168,104,168,108,168,112,168,116,168,120,42,4,168,136,168,140,168,148,44,4,168,160,46,4,168,176,168,180,168,184,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,128,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,185,68,186,77,154,77,250,77,90,78,185,97,153,97,249,97,89,98,217,72,154,122,185,129,153,129,249,129,153,130,185,132,136,14,217,130,185,169,153,169,249,169,185,172,153,189,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,168,68,168,77,136,77,232,77,72,78,168,101,136,101,232,101,72,102,200,72,136,122,168,129,136,129,232,129,136,130,168,132,128,14,200,130,168,169,136,169,232,169,168,172,136,189,168,196,72,190,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,185,88,168,88,185,86,168,86,48,4,50,4,249,93,232,93,89,95,72,95,153,98,136,102,57,99,40,103,217,97,200,101,52,4,8,103,185,100,168,96,6,8,8,8,250,105,232,105,249,110,232,110,168,144,153,113,136,113,249,114,232,114,25,114,8,114,121,115,104,115,89,115,72,115,154,121,136,121,250,122,232,122,26,122,8,122,10,8,185,124,168,124,57,131,40,131,217,129,200,129,121,130,104,130,12,8,14,8,153,149,136,149,249,150,232,150,25,150,8,150,154,153,136,153,250,153,232,153,185,156,168,156,26,154,8,154,249,162,232,162,25,162,8,162,185,164,168,164,153,170,136,170,57,171,40,171,217,169,200,169,57,170,40,170,121,170,104,170,54,4,56,4,249,181,232,181,249,189,232,189,89,190,153,193,136,193,185,194,168,194,25,194,8,194,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,152,169,152,200,56,169,76,187,100,187,104,170,100,169,104,169,200,169,120,217,128,187,76,200,128,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,84,255,5,185,96,255,5,185,128,255,5,186,152,255,5,185,168,255,5,168,64,255,5,168,84,255,5,168,128,255,5,168,152,255,5,168,168,255,5,249,86,255,5,232,86,255,5,25,99,255,5,25,171,255,5,8,171,255,1,170,170,3,0,67,0,50,0,59,0,99,11,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,93,11,0,32,203,20,0,32,1,0,32,0,208,20,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,0,0,0,0,0,0,0,0,0,0,20,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,106,23,0,0,80,0,0,0,80,0,0,0,80,0,0,0,24,35,7,0,24,35,7,0,80,96,7,0,80,96,7,0,124,191,7,0,184,39,8,0,182,73,8,0,90,78,8,0,26,82,8,0,254,84,8,0,254,85,8,0,254,85,8,0,50,105,114,84,1,0,4,23,75,111,224,6,192,0,193,1,0,0,8,0,16,0,24,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,128,0,136,0,144,0,152,0,160,0,168,0,176,0,184,0,192,0,200,0,208,0,216,0,224,0,232,0,240,0,248,0,0,1,8,1,16,1,24,1,32,1,40,1,48,1,56,1,64,1,72,1,80,1,88,1,96,1,104,1,112,1,120,1,128,1,136,1,144,1,152,1,160,1,168,1,176,1,184,1,192,1,200,1,208,1,216,1,224,1,232,1,240,1,248,1,0,2,8,2,16,2,24,2,232,89,240,89,184,89,169,103,48,0,25,103,27,88,35,88,248,90,72,90,43,88,72,93,0,91,80,90,41,104,8,92,8,91,88,90,49,104,16,92,16,91,96,90,57,104,16,90,24,91,104,90,112,89,116,95,176,91,73,104,65,104,123,95,32,91,89,104,81,104,175,94,40,91,112,90,97,104,59,100,48,91,105,104,139,95,147,95,56,91,113,104,121,104,183,94,43,105,97,99,40,92,48,0,51,105,59,105,48,92,48,0,51,88,59,88,75,105,184,91,67,88,163,95,75,88,48,0,163,105,192,91,96,93,171,105,171,95,209,102,193,102,160,93,50,107,90,107,94,107,110,107,126,107,134,107,150,107,154,107,185,103,201,103,217,103,225,103,233,103,241,103,249,103,1,104,9,104,17,104,40,90,8,93,39,95,32,106,48,106,64,106,176,92,86,106,86,106,86,106,86,106,86,106,86,106,86,106,86,106,86,106,86,106,87,106,95,106,102,106,104,106,104,106,104,106,104,106,104,106,64,93,136,92,123,106,131,106,32,93,131,105,88,93,139,105,147,105,187,105,83,88,91,88,67,100,99,88,8,106,0,106,16,106,248,105,24,106,112,106,115,106,123,105,80,92,40,93,195,105,203,105,211,105,75,100,187,95,168,93,219,105,226,105,107,88,83,100,120,89,33,102,48,0,64,91,120,90,16,93,115,88,200,91,91,100,155,105,128,90,107,105,136,90,99,100,152,93,113,102,217,102,123,88,129,88,129,101,89,101,81,101,169,101,145,101,225,101,128,89,136,89,105,101,241,101,17,102,25,102,121,101,97,101,217,101,9,102,41,102,65,102,73,102,57,102,49,102,23,95,15,95,7,95,137,88,145,88,144,92,153,88,8,94,105,99,200,89,144,89,79,95,203,95,211,95,177,101,219,95,226,95,231,95,239,95,247,95,87,96,103,96,79,96,111,96,127,96,135,96,119,96,88,94,135,94,143,96,143,96,143,96,143,96,143,96,143,96,143,96,150,96,158,96,16,94,24,94,40,94,57,101,171,100,166,96,167,96,167,96,167,96,167,96,175,96,181,96,184,96,227,96,231,96,237,96,242,96,248,96,252,96,252,96,252,96,12,97,20,97,21,97,127,94,29,97,34,97,112,94,119,94,98,97,98,97,98,97,98,97,98,97,98,97,98,97,98,97,42,97,42,97,42,97,42,97,104,94,50,97,159,94,96,94,95,96,58,97,58,97,0,93,66,97,66,97,67,97,75,97,75,97,75,97,75,97,78,97,84,97,90,97,90,97,90,97,153,102,137,102,161,102,137,101,81,102,89,102,97,102,104,89,201,102,225,102,177,103,161,88,193,103,25,104,33,104,105,102,200,92,184,92,192,92,48,0,42,110,26,110,10,111,58,111,242,109,138,110,194,110,234,110,2,111,42,111,66,111,50,99,128,92,112,92,170,107,210,107,208,89,208,92,218,107,216,92,2,108,58,107,74,107,82,107,73,99,10,108,58,99,65,99,56,94,64,94,72,94,81,99,250,109,235,100,211,100,226,107,178,107,202,107,179,100,219,100,185,101,193,101,113,101,203,100,144,2,96,3,253,3,87,4,240,4,120,5,64,6,48,7,168,7,8,8,224,8,136,9,35,10,151,10,206,10,26,11,224,7,150,12,75,13,246,13,141,14,84,15,193,15,169,15,90,16,136,16,28,17,172,17,140,18,243,18,82,19,174,19,2,20,80,20,216,20,45,21,140,21,18,22,161,22,9,23,101,23,198,23,22,24,83,24,152,24,13,25,178,25,31,26,172,26,12,27,63,27,170,27,26,28,130,28,2,29,154,29,250,29,105,30,9,31,134,31,211,31,13,32,132,32,140,32,54,33,172,33,220,33,60,34,146,34,14,35,138,35,209,35,58,36,135,36,243,36,113,37,185,37,45,38,177,38,84,39,188,39,131,40,201,40,25,41,110,41,213,41,43,42,128,42,230,42,70,43,117,43,213,43,75,44,105,44,167,44,53,45,157,45,37,46,83,46,146,46,254,46,131,47,214,47,11,48,131,48,17,49,129,49,176,49,238,49,62,50,154,50,7,51,71,51,137,51,186,51,231,51,140,52,244,52,72,53,159,53,228,53,86,54,220,54,68,55,210,55,26,56,136,56,238,56,69,57,134,57,183,57,94,58,150,58,246,58,52,59,147,59,6,60,56,60,119,60,48,61,156,61,244,61,127,62,247,62,59,63,194,63,33,64,121,64,199,64,47,65,111,65,204,65,43,66,135,66,20,67,131,67,227,67,106,68,154,68,248,68,41,69,141,69,33,70,120,70,232,70,120,71,71,72,175,72,33,73,176,73,104,74,207,74,94,75,34,76,145,76,6,77,228,52,213,77,60,78,138,78,202,78,25,79,97,79,149,79,237,79,75,80,119,80,207,80,103,81,179,81,243,81,99,82,200,82,61,83,180,83,233,83,71,84,214,84,22,85,91,85,174,85,106,86,176,86,248,86,110,87,208,2,106,97,106,97,64,2,152,2,248,2,56,3,104,2,160,3,224,3,229,3,233,3,238,3,13,4,245,3,37,4,42,4,74,4,79,4,127,4,127,4,162,4,162,4,194,4,200,4,232,4,32,5,64,5,80,5,152,5,184,5,24,6,80,6,120,6,184,6,8,7,40,7,64,7,104,7,160,7,216,7,248,7,32,8,64,8,104,8,112,2,176,8,240,8,24,9,72,9,144,9,192,9,216,9,217,9,239,9,247,9,19,10,27,10,80,10,80,10,86,10,135,10,143,10,186,10,190,10,10,11,18,11,66,11,74,11,198,10,138,11,218,11,225,11,70,12,134,12,158,12,206,12,222,12,230,12,21,13,45,13,51,13,122,13,125,13,164,13,172,13,201,13,238,13,46,14,70,14,176,9,173,14,229,14,29,15,76,15,156,15,161,15,185,15,217,15,224,15,0,16,16,16,24,16,72,16,77,16,82,16,128,16,160,16,197,16,244,16,20,17,92,17,116,17,164,17,180,17,36,18,16,3,164,18,211,18,34,19,66,19,74,19,98,19,114,19,166,19,204,19,226,19,250,19,24,20,72,20,136,20,192,20,232,20,13,21,37,21,109,21,132,21,164,21,218,21,50,22,106,22,153,22,217,22,249,22,33,23,85,23,125,23,133,23,157,23,189,23,190,23,226,23,234,23,10,24,14,24,60,24,67,24,112,24,75,24,144,24,204,24,224,24,5,25,99,25,130,25,170,25,218,25,234,25,241,25,17,26,23,26,70,26,76,26,105,26,112,26,160,26,164,26,202,26,204,26,211,26,4,27,219,26,48,27,55,27,98,27,105,27,146,27,162,27,234,27,42,28,90,28,154,28,234,28,42,29,106,29,122,29,146,29,170,29,210,29,242,29,49,30,89,30,218,29,56,6,233,30,25,31,41,31,49,31,54,31,92,31,92,31,96,31,120,31,120,31,126,31,166,31,166,31,174,31,198,31,198,31,203,31,255,31,255,31,5,32,76,32,76,32,84,32,116,32,89,32,189,32,124,32,225,32,233,32,17,33,46,33,101,33,156,33,204,33,244,33,52,34,106,34,154,34,218,34,54,35,216,5,101,35,108,35,124,35,130,35,154,35,161,35,192,35,198,35,201,35,241,35,243,35,250,35,35,36,35,36,43,36,113,36,113,36,50,36,121,36,176,36,127,36,184,36,190,36,227,36,235,36,43,37,51,37,105,37,59,37,137,37,177,37,209,37,247,37,29,38,61,38,101,38,109,38,138,38,169,38,217,38,225,38,230,38,61,39,68,39,140,39,180,39,211,39,19,40,83,40,171,40,193,40,249,40,17,41,62,41,86,41,102,41,126,41,190,41,229,41,245,41,5,42,29,42,35,42,91,42,120,42,158,42,182,42,206,42,254,42,38,43,94,43,141,43,157,43,205,43,243,43,43,44,67,44,97,44,129,44,145,44,183,44,238,44,30,45,77,45,141,45,197,45,5,46,29,46,53,46,106,46,130,46,180,46,223,46,22,47,84,47,115,47,123,47,158,47,198,47,206,47,230,47,251,47,43,48,75,48,107,48,155,48,177,48,241,48,65,49,89,49,121,49,152,49,168,49,6,50,46,50,92,50,130,50,194,50,226,50,255,50,23,51,47,51,55,51,101,51,63,51,163,51,167,51,223,51,7,52,61,52,116,52,132,52,164,52,236,52,58,53,64,53,96,53,128,53,144,53,182,53,151,53,214,53,220,53,3,54,27,54,59,54,109,54,140,54,164,54,188,54,196,54,212,54,252,54,44,55,84,55,139,55,194,55,234,55,10,56,50,56,82,56,98,56,176,56,200,56,208,56,224,56,230,56,22,57,61,57,93,57,126,57,249,30,175,57,230,57,30,58,86,58,110,58,158,58,190,58,222,58,230,58,14,59,18,59,238,58,39,59,44,59,71,59,76,59,131,59,131,59,131,59,49,49,139,59,195,59,199,59,76,39,247,59,254,59,47,60,48,60,103,60,111,60,180,60,186,60,248,60,40,61,89,61,0,61,16,9,204,61,236,61,252,61,12,62,60,62,82,62,88,62,95,62,156,62,164,62,211,62,215,62,172,62,239,62,75,63,130,63,170,63,186,63,210,63,226,63,250,63,25,64,81,64,105,64,137,64,185,48,207,64,123,48,39,65,87,65,103,65,135,65,143,65,175,65,183,65,220,65,227,65,11,66,35,66,79,66,103,66,127,66,158,66,166,66,198,66,204,66,228,66,12,67,52,67,108,67,155,67,171,67,211,67,170,28,34,68,50,68,58,68,98,68,132,68,224,68,240,68,14,69,33,69,65,69,125,69,133,69,219,69,17,70,49,70,81,70,97,70,136,70,200,70,248,70,8,71,32,71,48,71,88,71,104,71,160,71,176,71,227,71,42,72,63,72,87,72,127,72,159,72,205,72,251,72,17,73,49,73,88,73,136,73,160,73,168,73,192,73,195,73,203,73,207,73,223,73,226,73,17,74,23,74,30,74,51,74,57,74,96,74,125,74,129,74,166,74,172,74,199,74,227,74,40,75,46,75,70,75,86,75,102,75,118,75,125,75,165,75,228,75,244,75,26,76,81,76,121,76,137,76,161,76,201,76,225,76,254,76,76,77,122,77,176,77,205,77,12,78,52,78,116,78,146,78,210,78,1,79,49,79,89,79,125,79,165,79,213,79,229,79,19,80,83,80,111,80,135,80,175,80,239,80,7,81,47,81,79,81,95,81,131,81,171,81,203,81,235,81,19,82,59,82,83,82,147,82,176,82,246,82,45,83,132,83,164,83,172,83,204,83,209,83,250,83,2,84,55,84,111,84,158,84,174,84,206,84,230,84,246,84,14,85,50,85,71,65,83,85,126,85,144,85,63,84,195,85,2,86,34,86,50,86,98,86,153,86,108,39,8,87,62,87,126,87,158,87,197,87,2,22,48,3,176,2,180,21,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,138,97,142,97,149,97,232,92,187,106,195,106,202,106,210,106,217,106,220,106,226,106,233,106,240,92,107,100,129,102,169,88,121,102,241,106,241,106,48,90,47,95,55,95,1,102,209,101,63,95,153,101,201,101,233,101,208,91,155,95,115,105,80,93,216,91,137,104,72,91,177,88,115,100,72,92,176,93,102,107,80,91,144,90,24,93,89,99,234,105,240,105,104,93,179,95,67,105,56,92,64,92,48,93,209,103,161,101,71,95,31,95,40,106,56,106,129,104,24,92,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,48,2,142,107,162,107,40,2,158,98,151,98,143,98,63,98,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,216,97,122,97,122,97,122,97,122,97,122,97,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,34,110,82,110,58,110,10,110,114,110,66,110,90,110,74,110,152,9,20,62,186,110,18,110,154,110,226,110,34,111,48,0,224,89,71,96,233,102,105,103,137,103,100,95,108,95,249,102,9,103,153,103,248,89,8,90,1,103,81,103,17,103,0,90,129,103,151,94,89,103,145,103,73,103,97,103,56,2,92,95,72,89,80,89,152,92,88,89,241,102,121,103,161,103,96,89,168,92,160,92,80,94,224,92,216,89,66,107,118,107,32,2,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,0,1,64,1,128,1,192,1,0,2,64,2,128,2,192,2,0,3,64,3,128,3,192,3,0,4,64,4,128,4,192,4,0,5,64,5,128,5,192,5,0,6,64,6,128,6,192,6,0,7,64,7,128,7,192,7,0,8,64,8,33,18,97,20,97,18,161,20,33,21,224,6,161,18,224,6,1,22,224,6,224,6,224,6,224,6,225,18,65,22,65,22,66,22,130,22,224,6,224,6,224,6,224,6,225,21,33,19,224,6,224,6,97,19,161,19,225,20,225,19,97,21,161,21,33,10,97,11,161,13,225,12,33,12,225,13,225,14,161,12,161,14,161,11,225,11,161,16,97,13,33,15,97,17,97,14,33,14,97,15,33,16,225,15,225,9,33,13,225,10,33,11,97,16,97,10,97,12,161,15,33,17,161,17,224,6,194,22,161,10,225,16,225,17,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,33,20,34,85,58,85,64,85,67,85,99,85,102,85,134,85,136,85,152,85,157,85,161,85,166,85,182,85,187,85,203,85,219,85,227,85,234,85,250,85,82,86,90,86,114,86,121,86,137,86,189,14,161,86,168,86,184,86,200,86,216,86,224,86,232,86,240,86,0,87,16,87,24,87,32,87,38,87,46,87,70,87,86,87,118,87,134,87,142,87,150,87,166,87,174,87,181,87,205,87,212,87,219,87,235,87,243,87,3,88,72,2,48,0,120,2,168,3,111,4,16,5,176,5,128,6,24,7,24,8,80,2,160,2,184,2,232,2,0,3,24,3,32,3,64,3,112,3,136,3,152,3,176,3,184,3,216,3,5,4,21,4,29,4,50,4,95,4,103,4,135,4,142,4,146,4,170,4,208,4,216,4,248,4,0,5,40,5,8,5,48,5,72,5,88,5,104,5,136,5,144,5,160,5,192,5,208,5,224,5,240,5,8,6,32,6,48,6,72,6,96,6,112,6,136,6,152,6,176,6,192,6,216,6,224,6,0,7,16,7,56,7,72,7,88,7,112,7,120,7,128,7,136,7,152,7,176,7,44,62,231,62,162,63,57,64,239,64,127,65,63,66,182,66,220,66,244,66,76,67,235,67,66,68,208,68,85,69,235,69,208,70,72,71,211,71,2,72,103,72,213,72,120,73,1,74,158,74,32,75,78,75,141,75,181,75,113,76,185,76,44,77,197,77,84,78,57,79,221,79,59,80,223,80,15,81,55,81,35,82,139,82,85,83,47,84,150,84,222,84,6,85,110,85,10,86,58,86,129,86,78,87,251,87,88,2,168,2,200,2,8,3,72,3,144,3,208,3,58,4,154,4,224,4,24,5,96,2,240,2,88,3,200,3,66,4,186,4,112,5,0,6,144,6,32,7,184,7,96,8,168,8,40,9,128,9,72,10,2,11,130,11,22,12,37,13,156,13,38,14,125,14,53,15,248,15,12,17,156,17,252,17,227,18,158,19,104,20,61,21,210,21,177,22,117,23,2,24,136,24,67,25,9,26,97,26,194,26,90,27,2,28,18,29,202,29,57,30,161,30,158,31,68,32,181,32,85,33,12,34,83,34,6,35,93,35,233,35,105,36,168,36,35,37,169,37,93,38,209,38,53,39,172,39,115,48,1,49,200,49,186,50,93,51,255,51,156,52,112,53,43,54,172,54,28,55,178,55,74,56,45,57,17,31,166,58,107,59,171,59,23,60,164,60,24,61,180,61,119,62,43,63,49,64,223,64,251,65,174,66,252,66,243,67,216,68,179,69,176,70,64,71,203,71,119,72,104,73,249,73,150,74,24,75,133,75,4,76,177,76,160,77,76,78,117,79,35,80,255,80,63,81,27,82,216,82,225,83,127,84,182,84,75,85,18,86,66,86,102,87,128,2,14,14,58,29,201,38,4,53,212,66,157,75,136,2,224,2,40,3,192,3,119,4,178,4,56,5,128,5,200,5,104,6,208,6,96,7,208,7,72,8,160,8,248,8,56,9,120,9,11,10,119,10,170,10,242,10,106,11,210,11,46,12,110,12,5,13,148,13,22,14,157,14,45,15,132,15,240,15,56,16,152,16,220,16,4,17,132,17,196,17,236,17,20,18,100,18,195,18,142,19,96,20,208,20,101,21,234,21,66,22,185,22,61,23,218,23,104,24,188,24,75,25,146,25,54,26,144,26,244,26,82,27,242,27,106,28,194,28,192,7,200,7,240,7,0,8,16,8,40,8,56,8,80,8,88,8,192,2,112,8,120,8,136,8,144,8,80,3,192,8,208,8,232,8,248,5,8,9,32,9,48,9,64,9,200,6,88,9,112,9,200,8,16,6,160,9,184,9,200,9,225,9,231,9,255,9,3,10,43,10,43,10,48,10,94,10,101,10,104,10,111,10,159,10,159,10,159,10,162,10,214,10,222,10,223,10,226,10,34,11,42,11,47,11,47,11,50,11,82,11,82,11,82,11,82,11,90,11,146,11,153,11,160,11,186,11,134,41,158,41,174,41,182,41,198,41,205,41,221,41,237,41,253,41,13,42,51,42,67,42,99,42,104,42,136,42,142,42,166,42,190,42,198,42,214,42,238,42,6,43,14,43,22,43,46,43,62,43,78,43,102,43,109,43,125,43,116,18,193,22,149,43,165,43,181,43,104,3,221,43,227,43,216,2,3,44,11,44,35,44,51,44,83,44,89,44,113,44,121,44,137,44,153,44,159,44,175,44,191,44,199,44,223,44,230,44,246,44,254,44,14,45,38,45,45,45,61,45,93,45,101,45,117,45,125,45,133,45,149,45,165,45,189,45,168,6,213,45,237,45,245,45,13,46,45,46,61,46,67,46,91,46,98,46,10,29,114,46,138,46,154,46,157,46,164,46,188,46,191,46,231,46,239,46,246,46,6,47,14,47,30,47,38,47,54,47,60,47,76,47,92,47,99,47,139,47,144,47,150,47,166,47,222,47,238,47,243,47,3,48,19,48,51,48,67,48,83,48,91,48,99,48,139,48,163,48,169,48,193,48,209,48,233,48,249,48,9,49,33,49,120,3,81,49,97,49,137,49,144,49,160,49,152,20,160,20,184,20,200,20,224,20,240,20,245,20,5,21,21,21,29,21,53,21,69,21,85,21,128,3,248,6,117,21,124,21,52,17,156,21,172,21,188,21,194,21,226,21,250,21,10,22,26,22,58,22,232,6,82,22,98,22,114,22,121,22,129,22,169,22,201,22,168,20,225,22,233,22,241,22,17,23,25,23,41,23,46,23,53,23,77,23,93,23,109,23,141,23,165,23,173,23,206,23,210,23,242,23,242,23,30,24,30,24,30,24,36,24,91,24,91,24,96,24,120,24,120,24,160,24,96,5,168,5,232,5,40,6,88,6,160,6,240,6,80,7,144,7,232,7,48,8,128,8,0,9,80,9,208,9,64,10,127,10,178,10,250,10,58,11,114,11,122,11,178,11,246,11,14,12,54,12,94,12,174,12,13,13,114,13,193,13,30,14,109,14,205,14,253,14,100,15,64,16,189,16,36,17,108,17,204,17,12,18,68,18,203,18,26,19,150,19,242,19,48,20,144,20,253,20,93,21,148,21,242,21,74,22,145,22,1,23,69,23,181,23,250,23,52,24,128,24,196,24,253,24,83,25,109,33,116,33,132,33,13,15,164,33,180,33,196,33,212,33,228,33,236,33,252,33,152,8,90,22,88,20,36,34,68,34,75,34,91,34,98,34,114,34,130,34,162,34,178,34,194,34,202,34,210,34,226,34,242,34,248,34,254,34,22,35,30,35,62,35,69,35,77,35,85,35,116,35,146,35,169,35,176,35,217,35,2,36,2,36,5,36,66,36,66,36,11,36,74,36,81,36,143,36,144,36,198,36,198,36,198,36,203,36,251,36,209,22,3,37,11,37,67,37,67,37,73,37,81,37,121,37,120,16,112,16,144,16,168,16,173,16,205,16,212,16,228,16,236,16,252,16,184,8,44,17,68,17,84,17,100,17,124,17,140,17,148,17,188,17,212,17,168,9,228,17,244,17,4,18,28,18,44,18,52,18,76,18,92,18,108,18,124,18,132,18,148,18,156,18,172,18,180,18,187,18,219,18,235,18,251,18,11,19,18,19,42,19,50,19,58,19,90,19,106,19,122,19,126,19,182,19,182,19,188,19,212,19,218,19,234,19,10,20,16,20,32,20,40,20,56,20,140,15,64,20,112,20,128,20,216,8,104,9,56,10,234,10,98,11,38,12,253,12,106,13,230,13,93,14,5,15,116,15,48,16,181,16,76,17,220,17,84,18,3,19,196,19,120,20,77,21,202,21,137,22,149,23,44,24,180,24,59,25,1,26,136,26,32,27,194,27,202,28,82,29,186,29,73,30,201,30,112,31,231,31,44,32,165,32,9,33,124,33,82,28,38,35,19,36,152,36,19,37,129,37,7,38,130,38,250,38,100,39,235,39,115,40,118,41,75,42,150,42,222,42,133,43,251,43,69,45,253,45,207,46,174,47,136,53,167,53,174,53,190,53,236,53,243,53,251,53,11,54,19,54,35,54,67,54,70,54,94,54,101,54,117,54,124,54,132,54,236,54,4,55,12,55,20,55,134,19,52,55,42,22,76,55,100,55,124,55,131,55,96,9,147,55,154,55,162,55,186,55,218,55,172,24,242,55,250,55,2,56,18,56,42,56,58,56,66,56,90,56,106,56,112,56,120,56,144,56,152,56,160,56,184,56,193,30,216,56,246,56,254,56,6,57,30,57,37,57,225,30,77,57,101,57,103,57,142,57,110,57,150,57,163,11,170,11,233,11,233,11,238,11,254,11,254,11,6,12,30,12,62,12,78,12,86,12,102,12,126,12,142,12,166,12,182,12,198,12,214,12,238,12,245,12,29,13,59,13,67,13,83,13,90,13,133,13,140,13,180,13,185,13,209,13,214,13,254,13,54,14,62,14,78,14,85,14,101,14,117,14,133,14,149,14,165,14,181,14,197,14,213,14,237,14,245,14,21,15,37,15,61,15,68,15,92,15,108,15,148,15,177,15,201,15,209,15,232,15,8,16,32,16,40,16,98,16,98,16,104,16,160,24,164,24,212,24,212,24,216,24,232,24,237,24,21,25,28,25,35,25,51,25,91,25,107,25,114,25,122,25,138,25,194,11,154,25,186,25,202,25,226,25,249,25,39,26,46,26,84,26,89,26,120,26,120,26,128,26,180,26,180,26,186,26,227,26,228,26,236,26,20,27,20,27,24,27,71,27,71,27,74,27,113,27,113,27,114,27,138,27,138,27,122,27,154,27,178,27,186,27,210,27,218,27,226,27,250,27,221,14,10,28,34,28,50,28,66,28,74,28,114,28,98,28,138,28,146,28,0,69,6,69,22,69,25,69,49,69,73,69,77,69,101,69,109,69,149,69,155,69,163,69,171,69,187,69,195,69,211,69,227,69,243,69,249,69,1,70,25,70,41,70,57,70,73,70,89,70,105,70,112,70,128,70,144,70,168,70,184,70,216,70,224,70,210,25,16,71,40,71,56,71,80,71,96,71,112,71,128,71,136,71,168,71,184,71,192,71,195,71,202,11,235,71,242,71,192,70,18,72,26,72,50,72,55,72,79,72,95,72,111,72,135,72,151,72,167,72,183,72,190,72,197,72,229,72,184,64,191,64,215,64,231,64,247,64,255,64,23,65,31,65,55,65,63,65,79,65,95,65,119,65,151,65,159,65,191,65,196,65,212,65,235,65,243,65,19,66,51,66,55,66,71,66,87,66,95,66,111,66,143,66,150,66,118,12,4,67,222,13,28,67,44,67,60,67,84,67,92,67,100,67,116,67,123,67,139,67,147,67,163,67,179,67,195,67,219,67,92,55,251,67,11,68,18,68,26,68,74,68,82,68,90,68,114,68,119,68,124,68,140,68,146,68,162,68,168,68,184,68,200,68,232,68,121,37,176,20,145,37,153,37,193,37,201,37,217,37,223,37,255,37,15,38,21,38,37,38,53,38,77,38,117,38,122,38,146,38,153,38,185,38,193,38,238,38,242,38,18,39,22,39,29,39,92,39,37,39,116,39,124,39,148,39,156,39,124,15,196,39,203,39,219,39,251,39,3,40,11,40,27,40,35,40,190,12,59,40,67,40,75,40,107,40,123,40,139,40,147,40,155,40,179,40,185,40,209,40,28,34,233,40,170,34,241,40,1,41,9,41,33,41,38,41,70,41,78,41,94,41,194,25,162,28,178,28,58,28,218,28,226,28,250,28,26,29,50,29,66,29,90,29,114,29,130,29,162,29,178,29,226,29,234,29,2,30,9,30,33,30,34,22,60,18,97,30,65,30,113,30,137,30,145,30,169,30,185,30,217,30,1,31,33,31,62,31,68,31,104,31,142,31,98,13,182,31,182,31,190,31,219,31,219,31,223,31,21,32,28,32,30,32,36,32,97,32,97,32,100,32,148,32,152,32,157,32,197,32,197,32,197,32,201,32,241,32,249,32,1,33,25,33,30,33,62,33,69,33,93,33,158,57,159,57,245,24,167,57,207,57,214,57,222,57,246,57,254,57,6,58,6,14,22,58,57,49,227,39,46,58,62,58,78,58,102,58,118,58,134,58,142,58,221,45,174,58,182,58,198,58,254,58,26,59,31,59,60,59,63,59,84,59,88,59,93,59,99,59,155,59,155,59,155,59,155,59,163,59,207,59,207,59,211,36,215,59,223,59,14,60,14,60,14,60,15,60,64,60,72,60,80,60,80,60,87,60,127,60,43,25,135,60,143,60,151,60,194,60,156,60,202,60,208,60,8,61,216,60,235,72,3,73,9,73,25,73,41,73,57,73,73,73,80,73,96,73,112,73,144,73,184,73,126,58,215,73,234,73,241,73,38,74,43,74,65,74,65,74,72,74,112,74,117,74,137,74,142,74,180,74,183,74,215,74,219,74,235,74,241,74,1,75,8,75,16,75,54,75,189,75,197,75,213,75,220,75,236,75,252,75,12,76,18,76,42,76,58,76,65,76,89,76,97,76,105,76,153,76,169,76,60,17,209,76,233,76,241,76,246,76,14,77,20,77,36,77,52,77,68,77,84,77,90,77,98,77,162,25,62,26,152,26,252,26,40,27,130,27,202,27,18,28,122,28,242,28,74,29,138,29,194,29,25,30,41,30,81,30,129,30,177,30,241,30,84,31,150,31,247,31,60,32,173,32,217,32,77,33,140,33,4,34,44,34,122,34,186,34,46,35,184,35,27,36,97,36,160,36,27,37,97,37,161,37,239,37,69,38,161,38,10,39,45,39,164,39,243,39,91,40,225,40,54,41,142,41,21,42,112,42,246,42,86,43,189,43,235,43,19,44,207,44,22,45,85,45,173,45,21,46,122,46,215,46,247,80,186,28,39,81,71,81,87,81,111,81,115,81,139,81,163,81,147,81,187,81,195,81,211,81,219,81,227,81,3,82,43,82,67,82,75,82,91,82,107,82,115,82,123,82,131,82,155,82,160,82,184,82,208,82,224,82,230,82,238,82,254,82,6,83,14,83,22,83,29,83,37,83,53,83,69,83,77,83,101,83,108,83,124,83,148,83,156,83,140,83,196,83,217,83,241,83,242,83,10,84,18,84,34,84,39,84,79,84,87,84,95,84,119,84,135,84,142,84,188,83,238,84,254,84,30,85,106,77,130,77,137,77,144,77,152,77,168,77,184,77,189,77,221,77,250,71,245,77,253,77,4,78,20,78,28,78,44,78,68,78,92,78,100,78,108,78,124,78,130,78,154,78,162,78,170,78,186,78,194,78,218,78,226,78,242,78,249,78,9,79,17,79,33,79,41,79,65,79,81,79,105,79,109,79,133,79,141,79,157,79,173,79,181,79,197,79,210,28,245,79,251,79,11,80,27,80,43,80,51,80,91,80,97,80,103,80,127,80,143,80,151,80,167,80,183,80,191,80,199,80,215,80,231,80,34,29,98,29,17,30,153,30,209,30,76,31,239,31,52,32,108,32,209,32,38,33,188,33,20,34,138,34,234,34,225,35,89,36,219,36,89,37,231,37,85,38,2,39,132,39,43,40,99,40,217,40,166,41,59,42,174,42,30,43,173,43,59,44,6,45,181,45,229,45,172,46,107,47,59,48,217,48,73,49,254,49,210,50,39,51,155,51,77,52,180,52,34,53,198,53,78,54,180,54,228,54,60,55,170,55,128,56,53,57,238,57,38,58,206,58,179,59,31,60,95,60,224,60,73,61,140,61,184,49,192,49,208,49,224,49,230,49,246,49,14,50,22,50,148,33,38,50,54,50,70,50,76,50,100,50,106,50,114,50,122,50,138,50,162,50,178,50,202,50,218,50,121,30,234,50,239,50,15,51,31,51,79,51,85,51,109,51,113,51,145,51,147,51,175,51,175,51,178,51,194,51,194,51,202,51,239,51,207,51,247,51,15,52,22,52,29,52,45,52,69,52,85,52,92,52,108,52,124,52,148,52,172,52,196,52,204,52,220,52,252,52,12,53,18,53,26,53,50,53,80,53,88,53,104,53,51,40,163,40,46,41,150,41,83,42,54,43,197,43,27,44,215,44,109,45,205,45,75,46,199,46,68,47,190,47,35,48,201,48,113,49,30,50,170,50,129,51,53,52,212,52,120,53,156,54,204,54,244,54,202,55,192,56,14,57,118,57,199,57,54,58,214,58,123,59,239,59,240,60,196,61,148,62,51,63,17,64,15,65,27,66,190,66,236,66,36,67,203,67,42,68,176,68,93,69,9,70,160,70,240,70,0,71,152,71,34,72,221,72,152,73,88,74,62,75,110,75,149,75,173,75,50,76,46,47,182,47,27,48,147,48,225,48,25,49,105,49,216,49,84,50,146,50,247,50,121,51,215,51,37,52,100,52,188,52,42,53,206,53,51,54,148,54,36,55,116,55,226,55,34,56,168,56,85,57,191,57,14,58,70,58,6,59,115,59,187,59,231,59,39,60,172,60,232,60,32,61,81,61,118,61,172,61,52,62,203,62,21,63,138,63,242,63,73,64,176,64,7,65,167,65,3,66,119,66,68,67,187,67,3,68,192,68,57,69,117,69,203,69,65,70,152,70,24,71,144,71,219,71,10,72,16,61,56,61,56,61,58,61,97,61,97,61,65,61,105,61,110,61,126,61,132,61,148,61,41,49,164,61,188,61,212,61,220,61,228,61,4,62,28,62,36,62,68,62,74,62,103,62,111,62,135,62,140,62,180,62,180,62,188,62,195,62,223,62,255,62,108,55,7,63,8,63,13,63,29,63,35,63,67,63,83,63,91,63,99,63,106,63,114,63,122,63,146,63,154,63,178,63,202,63,218,63,234,63,2,64,9,64,41,64,65,64,89,64,97,64,113,64,129,64,145,64,152,64,160,64,168,64,143,72,243,72,65,73,128,73,9,74,80,74,191,74,249,74,205,75,73,76,193,76,28,77,114,77,229,77,36,78,178,78,73,79,189,79,159,80,31,81,123,81,251,81,168,82,93,83,26,84,190,84,118,85,242,85,192,86,54,87,189,87,19,88,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,129,76,217,76,60,77,237,77,234,78,205,79,3,80,67,80,23,81,155,81,11,82,51,82,192,82,116,83,103,84,166,84,198,84,42,85,211,85,26,86,42,86,74,86,145,86,208,86,94,87,227,87,11,88,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,242,108,249,108,1,109,48,0,9,109,9,109,9,109,11,109,224,93,157,97,137,99,165,97,172,97,180,97,184,97,120,92,48,0,48,0,48,0,48,0,138,108,146,108,150,108,185,88,158,108,121,99,177,102,185,102,232,93,105,109,240,93,48,0,174,108,166,108,182,108,186,108,208,108,123,100,72,106,78,106,216,108,222,108,226,108,215,94,48,0,48,0,48,0,48,0,19,109,19,109,19,109,19,109,19,109,19,109,19,109,19,109,19,109,22,109,30,109,38,109,48,0,48,0,48,0,48,0,88,91,27,105,120,93,209,99,96,91,193,88,201,88,131,100,104,91,139,100,56,93,152,90,112,91,145,104,160,90,217,99,153,104,24,90,48,0,48,0,161,104,200,93,224,91,168,90,120,91,176,90,169,104,209,88,48,0,48,0,48,0,48,0,177,104,180,104,184,90,188,104,196,104,128,91,192,90,48,0,48,0,48,0,48,0,48,0,204,104,136,91,200,90,48,0,212,104,232,91,144,91,167,94,220,104,208,90,147,100,48,0,252,104,128,93,48,0,48,0,48,0,48,0,48,0,48,0,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,217,88,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,251,106,234,108,144,93,48,0,48,0,2,107,56,90,106,108,88,92,247,94,233,99,114,108,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,26,107,18,107,248,92,48,0,48,0,48,0,34,108,50,108,42,108,66,108,58,108,48,0,48,0,225,88,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,194,108,194,108,194,108,200,108,176,89,233,88,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,97,208,97,208,97,208,97,208,97,208,97,208,97,224,97,232,97,239,97,246,97,241,88,249,88,255,88,254,97,6,98,14,98,22,98,7,89,48,0,48,0,48,0,48,0,241,99,114,97,114,97,130,97,51,100,48,0,48,0,48,0,48,0,243,100,43,101,246,100,46,101,254,100,6,101,65,101,14,101,22,101,17,101,30,101,45,101,15,101,243,100,43,101,38,101,46,101,41,101,49,101,44,101,14,101,249,101,255,95,39,96,7,96,47,96,15,96,55,96,23,96,63,96,31,96,155,100,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,15,89,18,89,15,89,25,89,32,89,40,89,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,10,107,10,107,10,107,10,107,10,107,10,107,48,89,48,0,42,107,34,107,64,90,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,246,99,254,99,30,98,48,0,48,0,6,100,38,98,48,0,48,0,48,0,48,0,48,0,48,0,33,103,57,103,113,103,49,103,41,103,65,103,48,0,87,95,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,56,89,15,89,15,89,15,89,48,0,48,0,48,0,48,0,15,89,15,89,15,89,15,89,15,89,15,89,15,89,64,89,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,46,109,49,109,184,93,192,97,65,109,145,99,48,0,153,99,248,93,216,93,48,0,48,0,173,109,27,100,14,100,19,100,192,89,32,92,112,93,255,94,161,99,48,0,81,109,152,89,57,109,192,93,169,99,177,99,223,94,185,99,48,0,48,0,163,106,171,106,179,106,48,0,147,106,155,106,139,106,129,99,179,105,160,89,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,113,99,89,109,32,90,48,0,48,0,187,100,193,99,168,89,48,0,48,0,97,109,201,99,73,109,244,104,216,90,48,0,48,0,48,0,82,108,74,108,225,99,228,104,152,91,224,90,48,0,48,0,236,104,240,91,231,94,83,105,232,90,191,94,91,105,248,91,199,94,90,108,98,108,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,35,105,160,91,136,93,207,94,99,105,168,91,48,0,48,0,4,105,11,105,240,90,19,105,0,92,147,100,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,93,48,0,48,0,48,0,48,0,48,0,26,108,131,95,239,94,145,102,169,102,48,0,48,0,48,0,48,0,48,0,48,0,122,108,96,92,200,97,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,130,108,104,92,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,121,109,132,109,132,109,124,109,140,109,140,109,140,109,140,109,140,109,142,109,48,0,48,0,48,0,195,100,35,100,43,100,0,94,150,109,150,109,150,109,150,109,150,109,150,109,157,109,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,46,98,51,98,55,98,55,98,71,98,79,98,87,98,92,98,32,94,48,94,73,101,119,98,227,100,195,95,48,0,4,97,194,107,2,110,143,94,127,98,48,0,48,0,48,0,48,0,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,214,98,214,98,214,98,214,98,214,98,214,98,216,98,224,98,232,98,232,98,232,98,235,98,243,98,243,98,245,98,253,98,5,99,9,99,15,99,23,99,29,99,34,99,48,0,48,0,166,98,166,98,166,98,168,98,175,98,175,98,180,98,184,98,100,98,100,98,103,98,111,98,192,98,198,98,206,98,48,0,192,96,192,96,192,96,192,96,208,96,213,96,219,96,163,100,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,186,107,249,107,249,107,249,107,249,107,249,107,249,107,249,107,250,107,48,0,234,107,241,107,222,109,222,109,222,109,222,109,222,109,222,109,222,109,222,109,222,109,222,109,222,109,223,109,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,188,109,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,198,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,234,109,48,0,214,109,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,110,122,110,106,110,146,110,162,110,178,110,98,110,202,110,210,110,218,110,242,110,250,110,130,110,18,111,26,111,170,110,50,111,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,255,255,255,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,5,0,4,5,5,92,7,5,5,136,13,5,5,140,13,5,5,134,13,5,5,142,13,5,5,139,12,5,5,114,10,5,5,16,12,5,5,91,12,43,5,0,42,5,5,138,9,5,5,135,12,0,0,0,0,5,5,95,12,5,5,12,12,5,5,83,12,5,5,123,12,36,5,0,23,36,5,0,25,5,5,6,12,16,5,42,96,5,5,118,10,200,0,0,0,5,5,20,12,36,5,0,21,43,5,0,70,5,5,140,9,197,35,69,0,197,99,68,0,197,227,83,0,5,5,100,7,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,108,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,192,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,108,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,196,164,156,42,196,164,5,42,196,140,156,42,196,140,5,42,196,162,156,42,196,162,5,42,196,136,156,46,196,136,5,46,196,142,156,46,196,142,5,46,196,156,156,46,196,156,5,46,196,144,156,46,196,144,5,46,196,144,156,48,196,144,5,48,196,178,156,48,196,178,5,48,196,164,156,50,196,164,5,50,196,140,156,50,196,140,5,50,196,156,156,50,196,156,5,50,196,162,156,50,196,162,5,50,196,144,156,50,196,144,5,50,196,142,156,54,196,142,5,54,196,140,156,54,196,140,5,54,196,156,156,54,196,156,5,54,196,160,156,54,196,160,5,54,196,142,156,56,196,142,5,56,196,178,156,56,196,178,5,56,196,154,156,58,196,154,5,58,196,164,156,58,196,164,5,58,196,140,156,58,196,140,5,58,196,162,156,58,196,162,5,58,196,156,156,58,5,5,6,59,197,66,141,0,197,2,141,0,196,142,156,60,196,142,5,60,196,160,156,62,196,160,5,62,5,5,16,75,196,136,156,64,196,136,5,64,196,160,156,64,196,160,5,64,196,144,156,64,196,144,5,64,197,2,149,0,197,194,148,0,196,178,156,64,196,178,5,64,196,136,156,68,196,136,5,68,196,160,156,68,196,160,5,68,196,144,156,68,196,144,5,68,197,162,212,0,158,5,30,69,5,5,30,69,196,164,156,70,196,164,5,70,196,140,156,70,196,140,5,70,196,152,156,70,196,152,5,70,197,2,179,0,197,194,178,0,196,136,156,76,196,136,5,76,196,160,156,76,196,160,5,76,196,144,156,76,196,144,5,76,196,136,156,78,196,136,5,78,196,142,156,78,196,142,5,78,196,160,156,78,196,160,5,78,196,144,156,78,196,144,5,78,196,160,156,80,196,160,5,80,196,144,156,80,196,144,5,80,160,5,8,81,5,5,8,81,196,154,156,82,196,154,5,82,196,164,156,82,196,164,5,82,196,140,156,82,196,140,5,82,196,146,156,82,196,146,5,82,196,152,156,82,196,152,5,82,196,162,156,82,196,162,5,82,196,142,160,86,196,142,5,86,196,142,156,90,196,142,5,90,196,150,156,90,196,136,156,92,196,136,5,92,196,156,156,92,196,156,5,92,196,144,156,92,196,144,5,92,5,120,0,78,5,5,8,45,160,5,20,45,160,5,22,45,5,5,22,45,160,5,74,93,5,5,74,93,160,5,30,71,160,5,14,47,5,5,14,47,160,5,16,49,160,5,18,49,160,5,22,49,5,5,22,49,197,226,211,0,160,5,20,51,155,5,24,51,144,5,28,51,160,5,16,53,5,5,16,53,160,5,16,55,160,5,24,55,5,5,8,57,160,5,24,59,160,5,16,59,160,5,10,63,5,5,10,63,5,5,14,65,5,5,42,65,160,5,40,83,160,5,14,69,5,5,16,69,160,5,50,71,196,190,156,70,196,190,5,70,160,5,26,55,5,5,26,55,160,5,16,73,5,5,16,73,174,5,8,77,160,5,70,93,5,5,70,93,158,5,22,79,5,5,28,79,5,5,14,81,160,5,16,81,5,5,16,81,160,5,18,81,196,190,156,82,196,190,5,82,160,5,48,83,160,5,12,85,160,5,10,91,5,5,10,91,160,5,8,93,5,5,8,93,158,5,26,93,160,5,30,93,5,5,30,93,5,5,34,93,5,5,62,93,160,5,72,93,5,5,72,93,197,34,195,0,5,5,44,93,5,5,112,93,5,5,114,93,5,5,116,93,5,5,118,93,197,67,123,0,197,227,122,0,197,131,122,0,197,194,149,0,197,130,149,0,197,66,149,0,197,66,162,0,197,2,162,0,197,194,161,0,196,144,156,42,196,144,5,42,196,144,156,58,196,144,5,58,196,144,156,70,196,144,5,70,196,144,156,82,196,144,5,82,197,131,199,0,197,35,199,0,197,67,197,0,197,227,196,0,197,195,198,0,197,99,198,0,197,3,198,0,197,163,197,0,5,5,20,51,197,195,102,0,197,99,102,0,197,131,103,0,197,35,103,0,197,3,110,0,197,163,109,0,160,5,12,55,5,5,12,55,196,144,156,54,196,144,5,54,196,144,156,62,196,144,5,62,196,162,156,70,196,162,5,70,197,35,172,0,197,195,171,0,197,98,212,0,197,34,212,0,196,144,5,60,197,66,122,0,197,2,122,0,197,194,121,0,196,136,156,54,196,136,5,54,160,5,8,57,160,5,44,93,196,138,156,68,196,138,5,68,197,131,101,0,197,35,101,0,197,67,109,0,197,227,108,0,197,99,171,0,197,3,171,0,196,184,156,42,196,184,5,42,196,188,156,42,196,188,5,42,196,184,156,50,196,184,5,50,196,188,156,50,196,188,5,50,196,184,156,58,196,184,5,58,196,188,156,58,196,188,5,58,196,184,156,70,196,184,5,70,196,188,156,70,196,188,5,70,196,184,156,76,196,184,5,76,196,188,156,76,196,188,5,76,196,184,156,82,196,184,5,82,196,188,156,82,196,188,5,82,196,202,156,78,196,202,5,78,196,202,156,80,196,202,5,80,160,5,16,91,5,5,16,91,196,144,156,56,196,144,5,56,160,5,16,69,5,5,24,49,160,5,58,71,5,5,58,71,160,5,14,93,5,5,14,93,196,156,156,42,196,156,5,42,196,160,156,50,196,160,5,50,197,163,167,0,197,67,167,0,197,227,169,0,197,131,169,0,196,156,156,70,196,156,5,70,197,163,170,0,197,67,170,0,196,164,156,90,196,164,5,90,5,5,34,65,5,5,24,69,5,5,20,81,5,5,6,61,197,194,119,0,197,98,184,0,160,5,8,43,160,5,8,47,5,5,8,47,160,5,14,65,160,5,10,81,5,5,16,79,5,5,20,93,160,5,78,93,5,5,78,93,160,5,8,45,160,5,20,83,160,5,20,85,160,5,12,51,5,5,12,51,160,5,10,61,5,5,10,61,160,5,14,75,5,5,14,75,160,5,16,77,5,5,16,77,160,5,8,91,5,5,8,91,5,5,20,43,5,5,22,43,5,5,28,43,5,5,20,45,5,5,30,71,5,5,16,47,5,5,16,49,5,5,18,49,5,5,32,51,5,5,24,51,5,5,34,51,5,5,28,51,5,5,36,51,5,5,42,51,5,5,44,51,5,5,14,61,5,5,16,55,5,5,6,55,5,5,10,55,5,5,24,55,5,5,48,51,5,5,34,83,5,5,12,57,5,5,22,57,5,5,16,59,5,5,24,59,5,5,8,59,5,5,18,65,5,5,24,65,5,5,30,65,5,5,38,65,5,5,40,83,5,5,46,83,5,5,12,67,5,5,14,69,5,5,22,69,5,5,6,69,5,5,50,71,5,5,12,71,5,5,54,71,5,5,24,73,5,5,20,77,5,5,24,77,5,5,28,77,5,5,32,77,5,5,34,77,5,5,38,77,5,5,42,77,5,5,8,77,5,5,54,77,5,5,14,79,5,5,22,79,5,5,16,61,5,5,30,79,5,5,34,79,5,5,24,81,5,5,18,81,5,5,20,83,5,5,48,83,5,5,12,85,5,5,20,85,5,5,12,87,5,5,44,65,5,5,6,91,5,5,16,93,5,5,18,93,5,5,26,93,5,5,36,93,5,5,76,93,5,5,94,93,5,5,110,93,5,5,120,93,5,5,122,93,5,5,6,45,5,5,46,51,5,5,18,55,5,5,6,57,5,5,12,61,5,5,20,63,5,5,6,65,5,5,12,75,5,5,106,93,5,5,108,93,197,194,121,0,197,34,124,0,197,226,123,0,197,34,195,0,197,162,195,0,197,162,193,0,197,162,132,0,197,98,152,0,197,66,153,0,5,5,124,93,5,5,126,93,5,5,36,83,5,5,38,83,43,5,0,56,46,5,12,57,43,5,0,60,43,5,0,76,32,5,20,77,32,5,28,77,32,5,54,77,52,5,0,86,43,5,0,90,5,5,24,12,5,5,28,12,5,5,24,57,5,5,82,93,5,5,26,57,5,5,86,93,5,5,96,93,5,5,80,93,5,5,98,93,193,2,30,12,193,9,30,12,193,16,30,12,193,23,30,12,5,5,32,12,5,5,34,12,5,5,36,12,5,5,38,12,5,5,40,12,5,5,42,12,5,5,44,12,5,5,46,12,5,5,48,12,5,5,50,12,5,5,80,13,5,5,82,13,193,2,52,12,193,9,52,12,193,16,52,12,193,23,52,12,193,44,52,12,193,51,52,12,193,2,14,12,193,9,14,12,193,2,18,12,193,2,22,12,5,5,8,12,193,9,18,12,193,58,52,12,193,65,52,12,46,5,24,55,43,5,0,64,43,5,0,78,43,5,0,88,32,5,94,93,193,72,52,12,193,79,52,12,193,86,52,12,193,93,52,12,193,100,52,12,193,107,52,12,193,114,52,12,5,5,54,12,193,2,56,12,5,5,84,93,193,9,56,12,193,16,56,12,193,23,56,12,193,30,56,12,193,37,56,12,193,44,56,12,193,51,56,12,193,58,56,12,193,65,56,12,193,72,56,12,193,79,56,12,193,86,56,12,193,93,56,12,193,100,56,12,193,107,56,12,193,114,56,12,193,121,56,12,5,138,0,0,5,136,0,0,5,142,0,0,5,154,0,0,5,164,0,0,5,180,0,0,5,140,0,0,5,156,0,0,5,150,0,0,5,182,0,0,5,146,0,0,5,152,0,0,5,144,0,0,5,166,0,0,5,166,0,0,5,184,0,0,5,186,0,0,5,188,0,0,5,166,0,0,5,132,0,0,5,134,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,190,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,192,0,0,5,194,0,0,5,196,0,0,5,198,0,0,5,200,0,0,5,202,0,0,5,160,0,0,5,162,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,204,0,0,5,206,0,0,5,168,0,0,5,208,0,0,5,210,0,0,5,130,0,0,5,168,0,0,5,212,0,0,5,178,0,0,5,170,0,0,5,170,0,0,5,158,0,0,5,214,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,138,0,0,5,136,0,0,5,148,0,0,5,132,0,0,197,34,0,0,5,216,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,168,0,0,0,0,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,218,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,220,0,0,5,222,0,0,5,168,0,0,19,5,0,42,19,5,0,50,19,5,0,58,19,5,0,70,19,5,0,82,19,5,0,46,19,5,0,48,19,5,0,56,19,5,0,66,19,5,0,76,19,5,0,80,19,5,0,84,19,5,0,88,160,5,26,96,5,5,26,96,160,5,92,96,5,5,92,96,5,5,24,12,5,5,26,12,160,5,20,96,5,5,20,96,255,255,255,255,255,255,255,255,16,5,32,96,5,5,70,96,5,5,68,96,5,5,72,96,5,5,42,7,160,5,34,96,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,6,12,197,98,49,0,197,34,226,0,200,0,0,0,197,2,234,0,197,2,248,0,197,98,0,1,255,255,255,255,197,2,11,1,255,255,255,255,197,226,16,1,197,66,34,1,197,99,2,1,166,5,6,96,158,5,8,96,152,5,10,96,155,5,14,96,166,5,16,96,158,5,24,96,158,5,28,96,158,5,30,96,166,5,32,96,160,5,36,96,158,5,38,96,160,5,42,96,158,5,44,96,158,5,46,96,158,5,48,96,166,5,50,96,160,5,60,96,255,255,255,255,158,5,66,96,158,5,74,96,155,5,76,96,158,5,78,96,152,5,80,96,158,5,82,96,155,5,86,96,197,34,2,1,197,226,18,1,197,226,225,0,197,194,233,0,197,194,247,0,197,34,0,1,197,99,19,1,5,5,6,96,5,5,8,96,5,5,10,96,5,5,14,96,5,5,16,96,5,5,24,96,5,5,28,96,5,5,30,96,5,5,32,96,5,5,36,96,5,5,38,96,5,5,42,96,5,5,44,96,5,5,46,96,5,5,48,96,5,5,50,96,5,5,60,96,51,5,66,96,5,5,66,96,5,5,74,96,5,5,76,96,5,5,78,96,5,5,80,96,5,5,82,96,5,5,86,96,197,226,1,1,197,162,18,1,197,194,10,1,197,162,16,1,197,2,34,1,197,99,4,1,16,5,8,96,16,5,30,96,166,5,76,96,197,34,17,1,197,34,19,1,16,5,78,96,16,5,50,96,197,3,4,1,160,5,58,96,5,5,58,96,160,5,22,96,5,5,22,96,158,5,18,96,5,5,18,96,160,5,56,96,5,5,56,96,160,5,90,96,5,5,90,96,160,5,160,96,5,5,160,96,160,5,170,96,5,5,170,96,160,5,172,96,5,5,172,96,160,5,178,96,5,5,178,96,160,5,192,96,5,5,192,96,160,5,198,96,5,5,198,96,160,5,206,96,5,5,206,96,16,5,36,96,16,5,60,96,16,5,66,96,5,5,34,96,165,5,30,96,16,5,16,96,193,30,117,12,160,5,94,96,5,5,94,96,165,5,66,96,160,5,54,96,5,5,54,96,5,5,64,96,160,5,70,96,160,5,68,96,160,5,72,96,197,130,39,1,197,130,40,1,160,5,32,97,197,2,39,1,174,5,42,97,160,5,58,97,174,5,74,97,197,66,44,1,160,5,80,97,160,5,106,97,160,5,134,97,160,5,170,97,197,194,44,1,197,130,42,1,197,130,46,1,160,5,216,97,174,5,6,97,174,5,12,97,174,5,14,97,174,5,16,97,174,5,26,97,174,5,40,97,174,5,44,97,174,5,50,97,201,102,1,0,160,5,78,97,174,5,84,97,174,5,98,97,174,5,114,97,158,5,120,97,158,5,138,97,174,5,142,97,174,5,150,97,174,5,156,97,174,5,162,97,174,5,172,97,174,5,180,97,174,5,182,97,174,5,192,97,174,5,200,97,174,5,218,97,174,5,222,97,158,5,226,97,174,5,230,97,158,5,232,97,160,5,238,97,174,5,240,97,160,5,244,97,5,5,6,97,5,5,12,97,5,5,14,97,5,5,16,97,5,5,26,97,5,5,40,97,5,5,44,97,5,5,50,97,201,70,2,0,5,5,78,97,5,5,84,97,5,5,98,97,5,5,114,97,5,5,120,97,5,5,138,97,5,5,142,97,5,5,150,97,5,5,156,97,5,5,162,97,5,5,172,97,5,5,180,97,5,5,182,97,5,5,192,97,5,5,200,97,5,5,218,97,5,5,222,97,5,5,226,97,5,5,230,97,5,5,232,97,5,5,238,97,5,5,240,97,5,5,244,97,197,66,39,1,197,66,40,1,5,5,32,97,197,194,38,1,5,5,42,97,5,5,58,97,5,5,74,97,197,194,43,1,5,5,80,97,5,5,106,97,5,5,134,97,5,5,170,97,197,130,44,1,197,66,42,1,197,66,46,1,5,5,216,97,198,225,155,0,193,16,190,97,198,65,157,0,193,2,236,97,198,33,158,0,193,9,246,97,198,97,158,0,193,16,246,97,198,1,159,0,193,44,246,97,198,193,158,0,193,30,246,97,198,97,159,0,193,58,246,97,198,129,159,0,193,65,246,97,198,161,159,0,193,72,246,97,198,225,159,0,193,79,246,97,198,1,160,0,193,86,246,97,198,34,160,0,197,194,49,1,198,33,155,0,193,9,178,97,198,97,156,0,193,44,190,97,198,65,156,0,193,37,190,97,198,1,156,0,193,23,190,97,160,5,148,97,5,5,148,97,193,2,85,12,5,224,0,0,5,166,0,0,5,134,0,0,5,132,0,0,5,166,0,0,0,0,0,0,0,0,0,0,160,5,72,97,5,5,72,97,160,5,234,97,5,5,234,97,160,5,152,97,5,5,152,97,160,112,16,97,5,112,16,97,160,5,18,97,5,5,18,97,160,5,22,97,5,5,22,97,160,5,48,97,5,5,48,97,160,5,38,97,5,5,38,97,160,5,86,97,5,5,86,97,160,5,94,97,5,5,94,97,160,5,92,97,5,5,92,97,160,5,90,97,5,5,90,97,160,5,126,97,5,5,126,97,160,5,132,97,5,5,132,97,160,5,146,97,5,5,146,97,160,5,248,97,5,5,248,97,160,5,160,97,5,5,160,97,160,5,166,97,5,5,166,97,160,5,174,97,5,5,174,97,160,5,176,97,5,5,176,97,160,5,186,97,5,5,186,97,160,5,196,97,5,5,196,97,160,5,204,97,5,5,204,97,160,5,208,97,5,5,208,97,160,5,188,97,5,5,188,97,160,5,212,97,5,5,212,97,160,5,214,97,5,5,214,97,160,5,252,97,197,2,41,1,197,194,40,1,160,5,88,97,5,5,88,97,160,5,102,97,5,5,102,97,160,5,128,97,5,5,128,97,160,5,124,97,5,5,124,97,160,5,206,97,5,5,206,97,160,5,116,97,5,5,116,97,5,5,252,97,197,130,37,1,197,66,37,1,197,2,38,1,197,194,37,1,160,5,10,97,5,5,10,97,197,2,40,1,197,194,39,1,160,5,8,97,5,5,8,97,197,130,38,1,197,66,38,1,197,130,41,1,197,66,41,1,197,2,42,1,197,194,41,1,160,5,62,97,5,5,62,97,197,130,43,1,197,66,43,1,197,2,43,1,197,194,42,1,197,66,45,1,197,2,45,1,160,5,140,97,5,5,140,97,197,194,45,1,197,130,45,1,197,130,49,1,197,66,49,1,197,2,48,1,197,194,47,1,197,2,47,1,197,194,46,1,197,130,47,1,197,66,47,1,197,130,48,1,197,66,48,1,160,5,24,97,5,5,24,97,197,2,49,1,197,194,48,1,160,5,20,97,5,5,20,97,198,65,155,0,193,2,184,97,198,97,155,0,193,9,184,97,160,5,28,97,5,5,28,97,160,5,36,97,5,5,36,97,160,5,54,97,5,5,54,97,160,5,66,97,5,5,66,97,160,5,110,97,5,5,110,97,160,5,136,97,5,5,136,97,160,5,158,97,5,5,158,97,198,193,154,0,193,9,164,97,198,193,153,0,193,2,56,97,198,97,154,0,193,9,104,97,160,5,112,97,5,5,112,97,160,5,154,97,5,5,154,97,198,225,157,0,193,2,246,97,198,33,154,0,193,9,96,97,160,5,250,97,5,5,250,97,198,1,154,0,193,2,96,97,198,129,154,0,193,16,104,97,160,5,130,97,5,5,130,97,160,5,144,97,5,5,144,97,198,129,155,0,193,2,190,97,160,5,122,97,5,5,122,97,198,129,153,0,193,2,46,97,198,193,156,0,193,2,202,97,198,65,154,0,193,2,104,97,255,255,255,255,160,5,6,100,160,5,10,100,160,5,12,100,160,5,14,100,174,5,16,100,160,5,18,100,160,5,20,100,160,5,22,100,160,5,24,100,160,5,26,100,174,5,28,100,160,5,30,100,174,5,32,100,160,5,34,100,160,5,36,100,160,5,38,100,160,5,40,100,160,5,42,100,160,5,44,100,174,5,46,100,160,5,48,100,174,5,52,100,160,5,54,100,160,5,56,100,160,5,58,100,160,5,60,100,160,5,62,100,160,5,64,100,160,5,66,100,174,5,68,100,160,5,70,100,160,5,72,100,160,5,74,100,174,5,76,100,160,5,78,100,160,5,80,100,160,5,82,100,160,5,84,100,255,255,255,255,255,255,255,255,5,5,86,100,5,5,8,11,5,5,10,11,5,5,94,7,5,5,18,7,5,5,104,7,5,5,12,11,5,5,8,100,5,5,6,100,5,5,10,100,5,5,12,100,5,5,14,100,5,5,16,100,5,5,18,100,5,5,20,100,5,5,22,100,5,5,24,100,5,5,26,100,5,5,28,100,5,5,30,100,5,5,32,100,5,5,34,100,5,5,36,100,5,5,38,100,5,5,40,100,5,5,42,100,5,5,44,100,5,5,46,100,5,5,48,100,5,5,52,100,5,5,54,100,5,5,56,100,5,5,58,100,5,5,60,100,5,5,62,100,5,5,64,100,5,5,66,100,5,5,68,100,5,5,70,100,5,5,72,100,5,5,74,100,5,5,76,100,5,5,78,100,5,5,80,100,5,5,82,100,5,5,84,100,197,2,50,1,5,5,50,100,5,5,56,7,5,5,16,5,255,255,255,255,255,255,255,255,193,9,85,12,193,16,85,12,5,5,144,13,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,5,35,226,194,5,68,226,194,5,101,226,194,5,134,226,194,5,167,226,194,5,200,226,194,5,233,226,194,5,12,227,194,5,45,227,194,5,78,227,194,5,78,227,194,5,111,227,194,5,210,227,0,0,0,0,5,5,14,11,194,5,243,227,5,5,16,11,194,5,177,227,194,5,144,227,5,5,18,11,0,0,0,0,0,0,0,0,5,5,20,11,194,5,45,227,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,6,101,5,5,8,101,5,5,10,101,5,5,12,101,5,5,14,101,5,5,16,101,5,5,18,101,5,5,20,101,5,5,22,101,5,5,24,101,46,5,26,101,5,5,26,101,5,5,28,101,46,5,30,101,5,5,30,101,32,5,32,101,5,5,32,101,5,5,34,101,5,5,36,101,32,5,38,101,5,5,38,101,32,5,40,101,5,5,40,101,5,5,42,101,5,5,44,101,5,5,46,101,5,5,48,101,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,196,55,1,197,66,54,1,197,130,54,1,197,66,56,1,5,5,22,11,5,5,24,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,44,151,12,193,58,151,12,193,23,85,12,5,5,158,10,5,5,162,10,5,5,146,13,5,5,20,7,5,5,22,7,193,44,85,12,193,51,85,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,44,7,0,0,0,0,255,255,255,255,5,5,58,7,5,5,106,7,193,30,248,102,5,5,6,102,5,5,8,102,5,5,10,102,5,5,16,102,5,5,18,102,5,5,22,102,201,38,3,0,5,5,30,102,5,5,40,102,5,5,42,102,5,5,44,102,5,5,58,102,5,5,72,102,5,5,74,102,5,5,84,102,5,5,86,102,5,5,110,102,5,5,112,102,5,5,134,102,5,5,136,102,5,5,146,102,5,5,148,102,5,5,158,102,5,5,160,102,5,5,166,102,5,5,168,102,193,51,194,102,193,58,194,102,193,9,248,102,193,16,248,102,193,23,248,102,0,0,0,0,5,5,174,102,5,5,178,102,5,5,182,102,5,5,196,102,5,5,200,102,5,5,204,102,5,5,214,102,201,6,5,0,5,5,236,102,201,230,5,0,194,5,164,229,194,5,9,230,194,5,108,230,194,5,207,230,194,5,85,231,194,5,184,231,194,5,29,232,194,5,62,232,194,5,95,232,194,5,128,232,194,5,161,232,194,5,227,232,194,5,6,233,194,5,39,233,194,5,105,233,194,5,138,233,194,5,171,233,194,5,204,233,194,5,237,233,194,5,16,234,194,5,194,232,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,154,10,5,5,24,7,5,5,26,7,5,5,134,10,5,5,28,102,193,72,176,102,194,5,59,235,5,5,14,102,5,5,12,102,193,2,20,102,32,5,6,102,197,226,69,1,197,98,183,1,197,162,183,1,197,162,184,1,5,5,46,102,5,5,48,102,5,5,32,102,5,5,50,102,5,5,52,102,5,5,34,102,5,5,54,102,5,5,36,102,5,5,76,102,5,5,78,102,5,5,60,102,5,5,62,102,5,5,80,102,5,5,64,102,5,5,68,102,5,5,88,102,5,5,90,102,5,5,92,102,5,5,94,102,5,5,96,102,5,5,98,102,5,5,102,102,5,5,104,102,5,5,106,102,5,5,114,102,5,5,116,102,5,5,118,102,5,5,120,102,5,5,122,102,5,5,124,102,5,5,126,102,5,5,128,102,5,5,130,102,5,5,138,102,5,5,140,102,5,5,142,102,5,5,150,102,5,5,154,102,5,5,162,102,5,5,170,102,193,2,176,102,193,9,176,102,193,23,176,102,193,30,176,102,193,44,176,102,193,51,176,102,193,2,180,102,193,16,180,102,5,5,184,102,5,5,186,102,5,5,188,102,193,2,190,102,193,16,190,102,193,23,190,102,5,5,192,102,193,9,194,102,193,16,194,102,193,23,194,102,193,30,194,102,193,37,194,102,193,2,198,102,193,9,198,102,193,16,198,102,193,23,198,102,193,9,212,102,5,5,206,102,193,9,208,102,5,5,210,102,193,2,212,102,5,5,216,102,5,5,66,102,197,34,183,1,5,5,218,102,197,226,182,1,193,2,220,102,5,5,224,102,193,2,226,102,193,9,226,102,5,5,228,102,5,5,230,102,5,5,232,102,193,2,234,102,193,9,234,102,5,5,240,102,5,5,242,102,5,5,244,102,193,23,234,102,5,5,246,102,193,2,248,102,5,5,250,102,197,194,190,1,5,5,8,9,193,16,220,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,58,85,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,222,102,16,5,238,102,0,0,0,0,0,0,0,0,193,65,85,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,2,108,102,193,2,132,102,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,2,144,102,5,5,156,102,193,9,172,102,5,112,6,102,5,112,200,102,193,9,220,102,193,28,53,9,193,2,10,9,193,9,10,9,193,2,60,7,193,9,60,7,193,16,60,7,193,23,60,7,193,30,60,7,193,37,60,7,5,5,108,7,193,2,26,11,193,9,26,11,193,16,26,11,193,23,26,11,255,255,255,255,0,0,0,0,193,9,4,103,194,5,92,235,5,5,6,103,5,5,8,103,5,112,8,103,5,5,12,103,5,5,10,103,193,2,14,103,193,9,14,103,193,16,14,103,193,30,14,103,5,5,16,103,5,112,16,103,193,2,18,103,193,9,18,103,193,16,18,103,193,30,18,103,193,37,18,103,193,44,18,103,5,5,20,103,32,5,20,103,5,5,22,103,5,5,24,103,5,112,24,103,193,9,26,103,193,16,26,103,193,23,26,103,193,30,26,103,193,37,26,103,5,112,6,103,5,120,8,103,5,112,12,103,194,5,125,235,194,5,158,235,194,5,191,235,194,5,224,235,194,5,3,236,194,5,36,236,194,5,69,236,194,5,102,236,194,5,135,236,194,5,168,236,194,5,201,236,194,5,234,236,194,5,13,237,194,5,46,237,194,5,79,237,194,5,112,237,0,0,0,0,5,166,0,0,5,168,0,0,0,0,0,0,0,0,0,0,5,166,0,0,5,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,193,23,14,103,193,23,18,103,193,2,26,103,193,2,38,102,193,9,38,102,193,16,38,102,193,23,38,102,193,30,38,102,193,37,38,102,193,51,38,102,193,2,82,102,193,9,82,102,193,9,108,102,193,16,108,102,193,9,132,102,193,9,144,102,193,16,172,102,193,23,172,102,193,30,172,102,193,58,176,102,193,65,176,102,193,44,194,102,193,65,194,102,193,72,194,102,193,2,202,102,193,9,202,102,193,16,212,102,193,23,212,102,193,30,212,102,193,30,198,102,193,16,132,102,193,23,132,102,193,16,144,102,193,16,82,102,193,23,82,102,193,23,144,102,193,30,132,102,193,30,82,102,193,9,20,102,193,16,20,102,193,37,248,102,193,44,248,102,193,51,248,102,193,30,234,102,193,37,234,102,193,2,252,102,193,9,252,102,193,37,82,102,193,30,144,102,193,37,144,102,193,9,190,102,5,5,30,103,5,5,36,103,5,5,38,103,5,5,40,103,5,5,44,103,5,5,46,103,5,5,48,103,5,5,50,103,5,5,56,103,5,5,60,103,5,5,62,103,5,5,64,103,5,5,68,103,5,5,76,103,5,5,78,103,5,5,82,103,5,5,84,103,5,5,92,103,5,5,94,103,5,5,96,103,5,5,98,103,5,5,100,103,5,5,102,103,5,5,104,103,5,5,70,103,5,5,32,103,5,5,34,103,5,5,66,103,5,5,42,103,5,5,86,103,5,5,88,103,5,5,90,103,5,5,72,103,5,5,74,103,5,5,52,103,5,5,54,103,5,5,80,103,5,5,58,103,5,5,108,103,5,5,110,103,5,5,112,103,5,5,114,103,5,5,116,103,5,5,118,103,5,5,120,103,5,5,122,103,5,5,124,103,5,5,126,103,5,5,128,103,5,5,106,103,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,9,130,103,193,16,130,103,193,23,130,103,193,30,130,103,193,37,130,103,193,44,130,103,193,51,130,103,193,58,130,103,193,65,130,103,193,72,130,103,193,79,130,103,193,86,130,103,5,5,132,103,5,5,134,103,5,5,136,103,5,5,138,103,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,5,112,132,103,5,112,134,103,5,112,138,103,194,5,145,237,194,5,178,237,194,5,211,237,194,5,244,237,194,5,23,238,194,5,56,238,194,5,89,238,194,5,122,238,194,5,155,238,193,100,140,103,193,107,140,103,193,191,85,12,193,35,53,9,5,5,28,7,193,2,96,7,0,0,0,0,255,255,255,255,255,255,255,255,5,168,0,0,193,2,148,13,193,9,148,13,32,5,136,13,32,5,140,13,32,5,135,12,32,5,12,12,32,5,139,12,32,5,142,13,32,5,192,13,255,255,255,255,160,5,172,12,160,5,99,12,160,5,103,12,160,5,101,12,160,5,105,12,160,5,180,12,160,5,185,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,193,58,78,13,5,5,253,255,5,5,0,2,5,5,255,255,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,197,67,167,1,197,67,144,1,197,35,72,1,197,131,153,1,197,227,134,1,197,35,123,1,197,195,102,1,197,35,174,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,201,192,184,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,2,2,251,193,6,2,251,193,8,2,251,193,10,2,251,193,12,2,251,193,14,2,251,193,16,2,251,193,28,2,251,193,30,2,251,193,32,2,251,193,34,2,251,193,36,2,251,193,38,2,251,193,76,2,251,193,78,2,251,193,80,2,251,193,82,2,251,193,84,2,251,193,86,2,251,193,88,2,251,193,124,2,251,193,126,2,251,193,128,2,251,193,90,2,251,193,130,2,251,193,132,2,251,193,134,2,251,193,136,2,251,193,138,2,251,193,140,2,251,193,186,2,251,193,188,2,251,193,194,224,253,193,198,224,253,193,200,224,253,193,202,224,253,193,204,224,253,193,208,224,253,193,210,224,253,193,214,224,253,193,216,224,253,193,122,224,253,193,242,224,253,193,254,224,253,193,2,225,253,193,4,225,253,193,16,225,253,193,18,225,253,193,20,225,253,193,22,225,253,193,26,225,253,193,28,225,253,193,34,225,253,193,36,225,253,193,38,225,253,193,96,57,251,193,108,83,251,193,4,2,251,193,52,2,251,193,198,131,251,193,212,147,251,193,208,33,251,255,255,255,255,255,255,255,255,193,18,2,251,193,20,2,251,193,22,2,251,193,44,2,251,193,46,2,251,193,48,2,251,193,50,2,251,193,92,2,251,193,94,2,251,193,96,2,251,193,98,2,251,193,100,2,251,193,102,2,251,193,144,2,251,193,146,2,251,193,148,2,251,193,150,2,251,193,152,2,251,193,154,2,251,193,156,2,251,193,158,2,251,193,160,2,251,193,162,2,251,193,164,2,251,193,200,2,251,193,202,2,251,193,204,2,251,193,32,103,251,193,206,2,251,193,64,49,251,193,208,2,251,193,210,2,251,193,6,225,253,193,32,225,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,24,2,251,193,60,2,251,193,62,2,251,193,64,2,251,193,66,2,251,193,108,2,251,193,110,2,251,193,112,2,251,193,114,2,251,193,116,2,251,193,170,2,251,193,172,2,251,193,174,2,251,193,176,2,251,193,178,2,251,193,220,2,251,193,26,2,251,193,68,2,251,193,70,2,251,193,72,2,251,193,74,2,251,193,118,2,251,193,120,2,251,193,122,2,251,193,180,2,251,193,182,2,251,193,184,2,251,193,242,2,251,193,46,3,251,193,90,3,251,193,118,3,251,193,120,3,251,193,122,3,251,193,124,3,251,193,152,3,251,193,154,3,251,193,156,3,251,193,158,3,251,193,206,3,251,193,208,3,251,193,210,3,251,193,240,3,251,193,242,3,251,193,6,4,251,193,8,4,251,193,22,4,251,193,46,4,251,193,56,4,251,193,146,7,251,193,184,7,251,193,202,7,251,193,204,7,251,193,206,7,251,193,248,7,251,193,252,7,251,193,8,8,251,193,18,8,251,193,30,8,251,193,38,8,251,193,48,8,251,193,74,8,251,193,82,8,251,193,84,8,251,193,86,8,251,193,40,2,251,193,90,8,251,193,92,8,251,193,94,8,251,193,96,8,251,193,98,8,251,193,100,8,251,193,106,8,251,193,110,8,251,193,112,8,251,193,114,8,251,193,132,8,251,193,134,8,251,193,146,8,251,193,148,8,251,193,150,8,251,193,168,47,251,193,180,47,251,193,182,47,251,193,184,47,251,193,42,2,251,193,186,47,251,193,188,47,251,193,190,47,251,193,192,47,251,193,208,47,251,193,210,47,251,193,226,47,251,193,212,47,251,193,228,47,251,193,230,47,251,193,232,47,251,193,234,47,251,193,46,48,251,193,48,48,251,193,50,48,251,193,52,48,251,193,54,48,251,193,56,48,251,193,92,48,251,193,94,48,251,193,132,48,251,193,154,48,251,193,30,49,251,193,44,49,251,193,48,49,251,193,50,49,251,193,54,49,251,193,54,2,251,193,56,2,251,193,104,2,251,193,68,3,251,193,104,3,251,193,136,3,251,193,170,3,251,193,40,4,251,193,92,4,251,193,142,4,251,193,204,4,251,193,234,4,251,193,154,5,251,193,196,5,251,193,216,5,251,193,218,5,251,193,140,6,251,193,200,6,251,193,248,6,251,193,250,6,251,193,40,7,251,193,88,7,251,193,122,7,251,193,124,7,251,193,168,7,251,193,190,7,251,193,192,7,251,193,212,7,251,193,46,8,251,193,64,8,251,193,216,8,251,193,224,8,251,193,58,2,251,193,214,2,251,193,18,3,251,193,254,3,251,193,52,5,251,193,18,9,251,193,234,10,251,193,52,14,251,193,54,14,251,193,64,17,251,193,196,18,251,193,56,21,251,193,158,26,251,193,236,29,251,193,58,32,251,193,192,32,251,193,8,38,251,193,48,44,251,193,36,48,251,193,84,48,251,193,96,48,251,193,50,51,251,193,234,51,251,193,236,51,251,193,98,57,251,193,196,61,251,193,188,73,251,193,176,75,251,193,182,78,251,193,230,79,251,193,104,82,251,193,50,93,251,193,112,161,251,193,106,2,251,193,166,2,251,193,168,2,251,193,216,2,251,193,218,2,251,193,20,3,251,193,22,3,251,193,24,3,251,193,26,3,251,193,70,3,251,193,72,3,251,193,74,3,251,193,76,3,251,193,106,3,251,193,138,3,251,193,140,3,251,193,142,3,251,193,144,3,251,193,172,3,251,193,174,3,251,193,176,3,251,193,198,3,251,193,216,3,251,193,218,3,251,193,220,3,251,193,222,3,251,193,224,3,251,193,226,3,251,193,2,4,251,193,16,4,251,193,18,4,251,193,142,2,251,193,196,2,251,193,198,2,251,193,72,4,251,193,74,4,251,193,10,5,251,193,132,5,251,193,62,6,251,193,64,6,251,193,66,6,251,193,86,6,251,193,88,6,251,193,120,6,251,193,122,6,251,193,124,6,251,193,126,6,251,193,178,6,251,193,180,6,251,193,182,6,251,193,184,6,251,193,186,6,251,193,188,6,251,193,234,6,251,193,236,6,251,193,238,6,251,193,28,7,251,193,30,7,251,193,32,7,251,193,64,7,251,193,66,7,251,193,68,7,251,193,70,7,251,193,190,2,251,193,192,2,251,193,194,2,251,193,244,2,251,193,246,2,251,193,248,2,251,193,48,3,251,193,50,3,251,193,60,4,251,193,62,4,251,193,68,4,251,193,70,4,251,193,14,66,252,193,82,4,251,193,84,4,251,193,86,4,251,193,88,4,251,193,98,4,251,193,112,4,251,193,120,4,251,193,134,4,251,193,148,4,251,193,200,4,251,193,202,4,251,193,206,4,251,193,216,4,251,193,218,4,251,193,222,4,251,193,224,4,251,193,250,2,251,193,236,4,251,193,252,4,251,193,212,2,251,193,254,2,251,193,2,3,251,193,4,3,251,193,6,3,251,193,136,8,251,193,8,3,251,193,10,3,251,193,12,3,251,193,32,8,251,193,14,3,251,193,16,3,251,193,52,3,251,193,54,3,251,193,56,3,251,193,14,84,251,193,58,3,251,193,60,3,251,193,62,3,251,193,64,3,251,193,66,3,251,193,94,3,251,193,96,3,251,193,242,60,251,193,98,3,251,193,244,60,251,193,100,3,251,193,102,3,251,193,24,101,251,193,126,3,251,193,128,3,251,193,130,3,251,193,222,2,251,193,224,2,251,193,226,2,251,193,228,2,251,193,230,2,251,193,232,2,251,193,234,2,251,193,236,2,251,193,238,2,251,193,240,2,251,193,28,3,251,193,30,3,251,193,32,3,251,193,34,3,251,193,36,3,251,193,38,3,251,193,40,3,251,193,42,3,251,193,44,3,251,193,78,3,251,193,80,3,251,193,82,3,251,193,84,3,251,193,86,3,251,193,88,3,251,193,108,3,251,193,110,3,251,193,112,3,251,193,114,3,251,193,116,3,251,193,146,3,251,193,148,3,251,193,236,250,252,193,174,32,253,193,186,74,253,193,130,116,252,193,190,239,251,193,142,139,252,193,54,135,252,193,182,13,251,193,136,166,251,193,138,166,251,193,84,228,252,193,128,22,253,193,98,32,252,193,170,88,251,193,164,127,252,193,110,116,253,193,106,189,253,193,160,31,251,193,156,226,252,193,140,233,252,193,184,117,253,193,102,193,253,193,252,2,251,193,92,3,251,193,102,19,251,193,154,20,251,193,188,23,251,193,192,33,251,193,168,211,251,193,144,6,252,193,142,14,252,193,208,142,252,193,132,3,251,193,160,3,251,193,162,3,251,193,164,3,251,193,166,3,251,193,168,3,251,193,188,3,251,193,190,3,251,193,192,3,251,193,140,34,251,193,194,3,251,193,196,3,251,193,212,3,251,193,214,3,251,193,244,3,251,193,246,3,251,193,248,3,251,193,250,3,251,193,252,3,251,193,12,4,251,193,14,4,251,193,24,4,251,193,44,4,251,193,26,4,251,193,28,4,251,193,30,4,251,193,32,4,251,193,34,4,251,193,76,29,251,193,36,4,251,193,216,230,251,193,48,4,251,193,44,46,251,193,46,46,251,193,134,3,251,193,60,46,251,193,62,46,251,193,66,46,251,193,70,46,251,193,72,46,251,193,74,46,251,193,76,46,251,193,78,46,251,193,22,218,252,193,84,46,251,193,86,46,251,193,114,46,251,193,116,46,251,193,118,46,251,193,120,46,251,193,126,47,251,193,140,46,251,193,142,46,251,193,144,46,251,193,146,46,251,193,148,46,251,193,166,46,251,193,168,46,251,193,170,46,251,193,172,46,251,193,186,46,251,193,188,46,251,193,190,46,251,193,192,46,251,193,150,3,251,193,178,3,251,193,180,3,251,193,182,3,251,193,184,3,251,193,186,3,251,193,200,3,251,193,202,3,251,193,204,3,251,193,228,3,251,193,230,3,251,193,232,3,251,193,234,3,251,193,236,3,251,193,238,3,251,193,4,4,251,193,20,4,251,193,58,4,251,193,106,4,251,193,108,4,251,193,144,4,251,193,158,4,251,193,160,4,251,193,162,4,251,193,174,4,251,193,176,4,251,193,214,4,251,193,232,4,251,193,238,4,251,193,244,4,251,193,248,4,251,193,22,5,251,193,98,222,253,193,100,222,253,193,102,222,253,193,160,222,253,193,162,222,253,193,206,222,253,193,208,222,253,193,236,222,253,193,26,223,253,193,44,223,253,193,46,223,253,193,98,223,253,193,56,224,253,193,102,224,253,193,104,224,253,193,136,224,253,193,142,224,253,193,168,224,253,193,170,224,253,193,240,224,253,193,252,224,253,193,24,225,253,193,10,4,251,193,188,56,251,193,30,57,251,193,10,135,251,193,134,233,251,193,136,233,251,193,48,234,251,193,108,234,251,193,110,7,252,193,196,157,253,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,193,76,97,252,193,78,97,252,193,80,97,252,193,82,97,252,193,84,97,252,193,86,97,252,193,88,97,252,193,38,4,251,193,90,97,252,193,92,97,252,193,130,97,252,193,132,97,252,193,134,97,252,193,136,97,252,193,138,97,252,193,140,97,252,193,142,97,252,193,144,97,252,193,146,97,252,193,76,98,253,206,128,56,0,206,128,56,0,206,128,56,0,206,128,56,0,193,42,4,251,193,50,4,251,193,52,4,251,193,76,4,251,193,78,4,251,193,94,4,251,193,118,4,251,193,130,4,251,193,154,4,251,193,156,4,251,193,180,4,251,193,184,4,251,193,186,4,251,193,194,4,251,193,198,4,251,193,54,5,251,193,116,5,251,193,156,5,251,193,158,5,251,193,160,5,251,193,168,5,251,193,180,5,251,193,182,5,251,193,184,5,251,193,186,5,251,193,198,5,251,193,200,5,251,193,220,5,251,193,222,5,251,193,240,5,251,193,248,5,251,193,10,6,251,193,54,4,251,193,64,4,251,193,66,4,251,193,90,4,251,193,98,83,251,193,100,4,251,193,104,4,251,193,114,4,251,193,116,4,251,193,122,4,251,193,124,4,251,193,126,4,251,193,128,4,251,193,136,4,251,193,138,4,251,193,140,4,251,193,150,4,251,193,152,4,251,193,2,126,253,193,168,4,251,193,170,4,251,193,172,4,251,193,178,4,251,193,132,72,251,193,182,4,251,193,188,4,251,193,192,4,251,193,196,4,251,193,210,4,251,193,212,4,251,193,90,6,251,193,220,4,251,193,80,4,251,193,96,4,251,193,102,4,251,193,110,4,251,193,132,4,251,193,146,4,251,193,164,4,251,193,166,4,251,193,190,4,251,193,242,4,251,193,30,5,251,193,32,5,251,193,122,5,251,193,250,5,251,193,252,5,251,193,254,5,251,193,76,6,251,193,116,6,251,193,152,6,251,193,154,6,251,193,156,6,251,193,158,6,251,193,216,6,251,193,218,6,251,193,220,6,251,193,222,6,251,193,224,6,251,193,226,6,251,193,228,6,251,193,8,7,251,193,10,7,251,193,12,7,251,193,254,4,251,193,2,5,251,193,4,5,251,193,6,5,251,193,8,5,251,193,34,5,251,193,36,5,251,193,38,5,251,193,40,5,251,193,208,4,251,193,42,5,251,193,58,5,251,193,60,5,251,193,80,5,251,193,82,5,251,193,84,5,251,193,86,5,251,193,124,5,251,193,126,5,251,193,128,5,251,193,130,5,251,193,164,5,251,193,172,5,251,193,190,5,251,193,202,5,251,193,26,6,251,193,28,6,251,193,30,6,251,193,46,6,251,193,48,6,251,193,56,6,251,193,58,6,251,193,226,4,251,193,228,4,251,193,230,4,251,193,240,4,251,193,246,4,251,193,250,4,251,193,12,5,251,193,14,5,251,193,16,5,251,193,18,5,251,193,20,5,251,193,44,5,251,193,46,5,251,193,48,5,251,193,50,5,251,193,64,5,251,193,66,5,251,193,68,5,251,193,70,5,251,193,72,5,251,193,88,5,251,193,90,5,251,193,92,5,251,193,94,5,251,193,96,5,251,193,98,5,251,193,100,5,251,193,102,5,251,193,104,5,251,193,106,5,251,193,108,5,251,193,110,5,251,193,24,5,251,193,26,5,251,193,28,5,251,193,56,5,251,193,74,5,251,193,76,5,251,193,78,5,251,193,118,5,251,193,120,5,251,193,162,5,251,193,170,5,251,193,188,5,251,193,224,5,251,193,226,5,251,193,228,5,251,193,230,5,251,193,242,5,251,193,6,6,251,193,14,6,251,193,16,6,251,193,18,6,251,193,20,6,251,193,74,6,251,193,112,6,251,193,114,6,251,193,144,6,251,193,146,6,251,193,148,6,251,193,150,6,251,193,204,6,251,193,206,6,251,193,208,6,251,193,18,130,251,193,36,130,251,193,144,130,251,193,146,130,251,193,152,130,251,193,172,130,251,193,174,130,251,193,176,130,251,193,190,130,251,193,192,130,251,193,194,130,251,193,196,130,251,193,198,130,251,193,226,130,251,193,254,130,251,193,2,131,251,193,72,131,251,193,74,131,251,193,102,131,251,193,104,131,251,193,106,131,251,193,146,131,251,193,172,131,251,193,174,131,251,193,192,131,251,193,62,5,251,193,196,131,251,193,202,131,251,193,204,131,251,193,222,131,251,193,252,131,251,193,254,131,251,193,112,5,251,193,114,5,251,193,134,5,251,193,136,5,251,193,138,5,251,193,140,5,251,193,142,5,251,193,144,5,251,193,130,219,252,193,146,5,251,193,148,5,251,193,150,5,251,193,232,50,251,193,152,5,251,193,234,50,251,193,166,5,251,193,26,51,251,193,184,16,252,193,174,5,251,193,176,5,251,193,192,5,251,193,224,93,252,193,178,5,251,193,194,5,251,193,74,7,251,193,204,5,251,193,206,5,251,193,208,5,251,193,210,5,251,193,212,5,251,193,214,5,251,193,232,5,251,193,234,5,251,193,236,5,251,193,238,5,251,193,244,5,251,193,246,5,251,193,4,6,251,193,2,6,251,193,8,6,251,193,22,6,251,193,32,6,251,193,34,6,251,193,36,6,251,193,38,6,251,193,40,6,251,193,42,6,251,193,52,6,251,193,54,6,251,193,44,6,251,193,68,6,251,193,70,6,251,193,72,6,251,193,92,6,251,193,94,6,251,193,96,6,251,193,98,6,251,193,100,6,251,193,102,6,251,193,104,6,251,193,106,6,251,193,108,6,251,193,128,6,251,193,130,6,251,193,12,6,251,193,24,6,251,193,110,6,251,193,142,6,251,193,202,6,251,193,252,6,251,193,254,6,251,193,2,7,251,193,42,7,251,193,90,7,251,193,126,7,251,193,128,7,251,193,130,7,251,193,170,7,251,193,172,7,251,193,214,7,251,193,216,7,251,193,128,8,251,193,144,8,251,193,164,8,251,193,196,8,251,193,208,8,251,193,210,8,251,193,218,8,251,193,228,8,251,193,230,8,251,193,42,9,251,193,114,9,251,193,176,9,251,193,212,9,251,193,214,9,251,193,228,9,251,193,236,224,253,193,238,224,253,193,246,224,253,193,250,224,253,193,12,225,253,193,14,225,253,193,74,58,252,193,12,230,251,193,218,46,251,193,176,243,252,193,102,55,253,193,214,71,253,193,86,104,253,193,62,170,253,193,182,171,253,193,212,100,253,193,192,9,252,193,94,83,251,193,84,107,253,193,78,97,251,193,50,6,251,193,162,191,251,193,192,85,251,193,14,223,252,193,60,129,251,193,110,28,251,193,58,48,251,193,66,38,253,193,252,97,251,193,76,58,252,193,202,109,252,193,208,230,252,193,60,6,251,193,90,154,251,193,130,135,251,193,78,6,251,193,80,6,251,193,82,6,251,193,84,6,251,193,118,6,251,193,160,6,251,193,162,6,251,193,164,6,251,193,166,6,251,193,168,6,251,193,170,6,251,193,172,6,251,193,174,6,251,193,176,6,251,193,230,6,251,193,232,6,251,193,16,7,251,193,18,7,251,193,20,7,251,193,22,7,251,193,24,7,251,193,26,7,251,193,56,7,251,193,58,7,251,193,60,7,251,193,62,7,251,193,110,7,251,193,142,7,251,193,144,7,251,193,132,6,251,193,134,6,251,193,136,6,251,193,138,6,251,193,190,6,251,193,192,6,251,193,194,6,251,193,196,6,251,193,198,6,251,193,240,6,251,193,242,6,251,193,72,94,252,193,244,6,251,193,34,7,251,193,36,7,251,193,38,7,251,193,226,93,252,193,238,119,251,193,76,7,251,193,78,7,251,193,80,7,251,193,82,7,251,193,84,7,251,193,86,7,251,193,112,7,251,193,114,7,251,193,116,7,251,193,118,7,251,193,154,7,251,193,156,7,251,193,158,7,251,193,160,7,251,193,210,6,251,193,212,6,251,193,214,6,251,193,4,7,251,193,6,7,251,193,44,7,251,193,46,7,251,193,48,7,251,193,92,7,251,193,94,7,251,193,96,7,251,193,98,7,251,193,132,7,251,193,134,7,251,193,174,7,251,193,176,7,251,193,178,7,251,193,180,7,251,193,194,7,251,193,196,7,251,193,198,7,251,193,218,7,251,193,12,8,251,193,14,8,251,193,16,8,251,193,36,8,251,193,54,8,251,193,66,8,251,193,72,8,251,193,88,8,251,193,166,8,251,193,176,8,251,193,214,48,251,193,216,48,251,193,218,48,251,193,220,48,251,193,222,48,251,193,238,48,251,193,240,48,251,193,242,48,251,193,244,48,251,193,2,49,251,193,4,49,251,193,6,49,251,193,8,49,251,193,10,49,251,193,22,49,251,193,32,49,251,193,36,49,251,193,40,49,251,193,46,49,251,193,62,49,251,193,66,49,251,193,68,49,251,193,70,49,251,193,72,49,251,193,74,49,251,193,82,49,251,193,84,49,251,193,86,49,251,193,88,49,251,193,246,6,251,193,104,49,251,193,106,49,251,193,14,7,251,193,50,7,251,193,52,7,251,193,54,7,251,193,100,7,251,193,102,7,251,193,104,7,251,193,106,7,251,193,108,7,251,193,136,7,251,193,138,7,251,193,140,7,251,193,182,7,251,193,200,7,251,193,230,7,251,193,232,7,251,193,236,7,251,193,240,7,251,193,28,8,251,193,58,8,251,193,60,8,251,193,104,8,251,193,108,8,251,193,130,8,251,193,180,8,251,193,212,8,251,193,220,8,251,193,226,8,251,193,22,9,251,193,150,9,251,193,182,9,251,193,184,9,251,193,72,7,251,193,148,7,251,193,150,7,251,193,152,7,251,193,186,7,251,193,234,7,251,193,242,7,251,193,20,8,251,193,50,8,251,193,152,8,251,193,4,9,251,193,6,9,251,193,30,9,251,193,54,9,251,193,190,9,251,193,34,10,251,193,202,10,251,193,204,10,251,193,206,10,251,193,208,10,251,193,210,10,251,193,212,10,251,193,214,10,251,193,216,10,251,193,130,11,251,193,132,11,251,193,134,11,251,193,136,11,251,193,138,11,251,193,140,11,251,193,142,11,251,193,144,11,251,193,112,95,252,193,120,7,251,193,114,95,252,193,116,95,252,193,118,95,252,193,178,95,252,193,180,95,252,193,182,95,252,193,184,95,252,193,186,95,252,193,188,95,252,193,190,95,252,193,192,95,252,193,194,95,252,193,196,95,252,193,198,95,252,193,200,95,252,193,202,95,252,193,204,95,252,193,206,95,252,193,208,95,252,193,210,95,252,193,212,95,252,193,214,95,252,193,216,95,252,193,218,95,252,193,220,95,252,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,193,162,7,251,193,164,7,251,193,166,7,251,193,208,7,251,193,210,7,251,193,220,7,251,193,222,7,251,193,224,7,251,193,226,7,251,193,238,7,251,193,244,7,251,193,246,7,251,193,250,7,251,193,254,7,251,193,2,8,251,193,4,8,251,193,6,8,251,193,10,8,251,193,22,8,251,193,24,8,251,193,26,8,251,193,34,8,251,193,40,8,251,193,42,8,251,193,44,8,251,193,52,8,251,193,56,8,251,193,62,8,251,193,68,8,251,193,70,8,251,193,76,8,251,193,78,8,251,193,188,7,251,193,116,140,252,193,118,140,252,193,120,140,252,193,126,140,252,193,128,140,252,193,130,140,252,193,132,140,252,193,140,140,252,193,142,140,252,193,148,140,252,193,154,140,252,193,158,140,252,193,160,140,252,193,162,140,252,193,164,140,252,193,182,140,252,193,184,140,252,193,186,140,252,193,188,140,252,193,222,140,252,193,224,140,252,193,226,140,252,193,228,140,252,193,230,140,252,193,232,140,252,193,234,140,252,193,236,140,252,193,238,140,252,193,240,140,252,193,242,140,252,193,244,140,252,193,26,154,251,193,228,7,251,193,38,154,251,193,106,102,251,193,40,154,251,193,54,154,251,193,62,154,251,193,64,154,251,193,66,154,251,193,68,154,251,193,72,154,251,193,80,154,251,193,84,154,251,193,86,154,251,193,88,154,251,193,96,154,251,193,98,154,251,193,100,154,251,193,108,154,251,193,110,154,251,193,112,154,251,193,114,154,251,193,122,154,251,193,126,154,251,193,128,154,251,193,130,154,251,193,132,154,251,193,136,154,251,193,138,154,251,193,140,154,251,193,142,154,251,193,146,154,251,193,80,8,251,193,102,8,251,193,116,8,251,193,118,8,251,193,120,8,251,193,122,8,251,193,124,8,251,193,126,8,251,193,138,8,251,193,140,8,251,193,142,8,251,193,154,8,251,193,156,8,251,193,158,8,251,193,160,8,251,193,162,8,251,193,168,8,251,193,170,8,251,193,172,8,251,193,174,8,251,193,216,162,251,193,182,8,251,193,184,8,251,193,186,8,251,193,188,8,251,193,192,8,251,193,194,8,251,193,198,8,251,193,202,8,251,193,204,8,251,193,206,8,251,193,214,8,251,193,178,8,251,193,190,8,251,193,200,8,251,193,248,8,251,193,20,9,251,193,44,9,251,193,46,9,251,193,48,9,251,193,70,9,251,193,72,9,251,193,92,9,251,193,94,9,251,193,96,9,251,193,116,9,251,193,140,9,251,193,142,9,251,193,144,9,251,193,146,9,251,193,148,9,251,193,178,9,251,193,180,9,251,193,216,9,251,193,218,9,251,193,220,9,251,193,222,9,251,193,252,9,251,193,254,9,251,193,30,10,251,193,32,10,251,193,40,10,251,193,42,10,251,193,56,10,251,193,222,8,251,193,240,8,251,193,242,8,251,193,8,9,251,193,10,9,251,193,12,9,251,193,14,9,251,193,16,9,251,193,32,9,251,193,34,9,251,193,36,9,251,193,38,9,251,193,56,9,251,193,58,9,251,193,60,9,251,193,62,9,251,193,64,9,251,193,66,9,251,193,68,9,251,193,86,9,251,193,88,9,251,193,90,9,251,193,100,9,251,193,210,101,251,193,102,9,251,193,104,9,251,193,106,9,251,193,108,9,251,193,110,9,251,193,112,9,251,193,118,9,251,193,120,9,251,193,232,8,251,193,234,8,251,193,236,8,251,193,238,8,251,193,250,8,251,193,252,8,251,193,254,8,251,193,2,9,251,193,24,9,251,193,26,9,251,193,28,9,251,193,50,9,251,193,52,9,251,193,74,9,251,193,76,9,251,193,78,9,251,193,80,9,251,193,82,9,251,193,84,9,251,193,98,9,251,193,152,9,251,193,154,9,251,193,186,9,251,193,188,9,251,193,4,10,251,193,52,10,251,193,68,10,251,193,70,10,251,193,74,10,251,193,76,10,251,193,78,10,251,193,80,10,251,193,244,8,251,193,246,8,251,193,40,9,251,193,138,9,251,193,174,9,251,193,250,9,251,193,48,10,251,193,136,10,251,193,214,11,251,193,216,11,251,193,218,11,251,193,220,11,251,193,226,12,251,193,228,12,251,193,230,12,251,193,232,12,251,193,234,12,251,193,236,12,251,193,238,12,251,193,240,12,251,193,242,12,251,193,40,14,251,193,42,14,251,193,44,14,251,193,46,14,251,193,48,14,251,193,50,14,251,193,132,15,251,193,134,15,251,193,136,15,251,193,138,15,251,193,140,15,251,193,122,9,251,193,124,9,251,193,126,9,251,193,128,9,251,193,130,9,251,193,132,9,251,193,134,9,251,193,136,9,251,193,156,9,251,193,158,9,251,193,160,9,251,193,162,9,251,193,164,9,251,193,166,9,251,193,168,9,251,193,170,9,251,193,162,124,252,193,22,102,251,193,172,9,251,193,192,9,251,193,194,9,251,193,196,9,251,193,198,9,251,193,200,9,251,193,202,9,251,193,186,154,251,193,204,9,251,193,206,9,251,193,208,9,251,193,20,130,251,193,224,9,251,193,226,9,251,193,210,9,251,193,232,9,251,193,234,9,251,193,236,9,251,193,238,9,251,193,240,9,251,193,242,9,251,193,244,9,251,193,246,9,251,193,248,9,251,193,194,74,251,193,6,10,251,193,8,10,251,193,10,10,251,193,12,10,251,193,14,10,251,193,16,10,251,193,18,10,251,193,20,10,251,193,140,102,251,193,22,10,251,193,142,102,251,193,24,10,251,193,26,10,251,193,28,10,251,193,160,102,251,193,44,10,251,193,64,231,251,193,200,220,253,193,46,10,251,193,54,10,251,193,62,10,251,193,230,9,251,193,36,10,251,193,38,10,251,193,50,10,251,193,58,10,251,193,88,10,251,193,138,10,251,193,140,10,251,193,142,10,251,193,236,10,251,193,238,10,251,193,222,11,251,193,224,11,251,193,226,11,251,193,228,11,251,193,230,11,251,193,232,11,251,193,244,12,251,193,246,12,251,193,248,12,251,193,250,12,251,193,252,12,251,193,254,12,251,193,2,13,251,193,4,13,251,193,56,14,251,193,58,14,251,193,60,14,251,193,62,14,251,193,64,14,251,193,148,15,251,193,150,15,251,193,2,10,251,193,148,10,251,193,252,10,251,193,254,10,251,193,244,11,251,193,246,11,251,193,248,11,251,193,250,11,251,193,252,11,251,193,254,11,251,193,2,12,251,193,32,13,251,193,34,13,251,193,36,13,251,193,38,13,251,193,40,13,251,193,42,13,251,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,193,60,10,251,193,144,10,251,193,146,10,251,193,240,10,251,193,242,10,251,193,244,10,251,193,246,10,251,193,248,10,251,193,250,10,251,193,234,11,251,193,236,11,251,193,238,11,251,193,240,11,251,193,242,11,251,193,6,13,251,193,8,13,251,193,10,13,251,193,12,13,251,193,14,13,251,193,16,13,251,193,18,13,251,193,20,13,251,193,22,13,251,193,24,13,251,193,26,13,251,193,28,13,251,193,30,13,251,206,192,0,0,206,192,0,0,206,192,0,0,206,192,0,0,206,192,0,0,193,64,10,251,193,66,10,251,193,72,10,251,193,82,10,251,193,84,10,251,193,86,10,251,193,130,10,251,193,132,10,251,193,134,10,251,193,218,10,251,193,220,10,251,193,222,10,251,193,224,10,251,193,226,10,251,193,40,42,251,193,228,10,251,193,230,10,251,193,214,47,251,193,228,154,251,193,232,10,251,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,193,90,10,251,193,92,10,251,193,94,10,251,193,96,10,251,193,98,10,251,193,100,10,251,193,102,10,251,193,104,10,251,193,106,10,251,193,108,10,251,193,110,10,251,193,112,10,251,193,114,10,251,193,116,10,251,193,118,10,251,193,120,10,251,193,122,10,251,193,124,10,251,193,126,10,251,193,128,10,251,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,193,128,11,251,193,114,12,251,193,116,12,251,193,118,12,251,193,120,12,251,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,193,146,11,251,193,122,12,251,193,124,12,251,193,126,12,251,193,128,12,251,193,130,12,251,193,132,12,251,193,134,12,251,193,136,12,251,193,184,13,251,193,186,13,251,193,188,13,251,193,190,13,251,193,192,13,251,193,194,13,251,193,196,13,251,193,198,13,251,193,200,13,251,193,202,13,251,193,204,13,251,193,206,13,251,193,208,13,251,193,210,13,251,193,254,14,251,193,2,15,251,193,4,15,251,193,6,15,251,193,8,15,251,193,10,15,251,193,12,15,251,193,14,15,251,193,16,15,251,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,193,216,27,251,193,208,11,251,193,210,11,251,193,212,11,251,193,138,12,251,193,140,12,251,193,142,12,251,193,144,12,251,193,146,12,251,193,148,12,251,193,150,12,251,193,152,12,251,193,154,12,251,193,156,12,251,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,193,158,12,251,193,160,12,251,193,162,12,251,193,164,12,251,193,166,12,251,193,168,12,251,193,170,12,251,193,172,12,251,193,174,12,251,193,176,12,251,193,178,12,251,193,180,12,251,193,182,12,251,193,184,12,251,193,186,12,251,193,188,12,251,193,190,12,251,193,192,12,251,193,194,12,251,193,196,12,251,193,198,12,251,193,200,12,251,193,202,12,251,193,204,12,251,193,206,12,251,193,208,12,251,193,210,12,251,193,212,12,251,193,214,12,251,193,216,12,251,193,218,12,251,193,220,12,251,193,222,12,251,193,224,12,251,193,46,58,251,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,193,116,129,251,193,24,14,251,193,26,14,251,193,28,14,251,193,30,14,251,193,32,14,251,193,34,14,251,193,36,14,251,193,38,14,251,193,24,15,251,193,26,15,251,193,28,15,251,193,30,15,251,193,32,15,251,193,34,15,251,193,36,15,251,193,38,15,251,193,40,15,251,193,42,15,251,193,44,15,251,193,46,15,251,193,48,15,251,193,50,15,251,193,52,15,251,193,54,15,251,193,56,15,251,193,58,15,251,193,60,15,251,206,192,0,0,206,192,0,0,206,192,0,0,206,192,0,0,206,192,0,0,193,172,15,251,193,174,15,251,193,176,15,251,193,178,15,251,193,180,15,251,193,182,15,251,193,184,15,251,193,186,15,251,193,188,15,251,193,190,15,251,193,192,15,251,193,194,15,251,193,196,15,251,193,198,15,251,193,200,15,251,193,202,15,251,193,204,15,251,193,206,15,251,193,208,15,251,193,210,15,251,193,212,15,251,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,193,214,15,251,193,216,15,251,193,218,15,251,193,220,15,251,193,222,15,251,193,224,15,251,193,226,15,251,193,228,15,251,193,230,15,251,193,232,15,251,193,136,17,251,193,138,17,251,193,140,17,251,193,142,17,251,193,144,17,251,193,146,17,251,193,148,17,251,193,150,17,251,193,250,18,251,193,252,18,251,193,254,18,251,193,2,19,251,193,4,19,251,193,6,19,251,193,8,19,251,193,10,19,251,193,12,19,251,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,193,18,15,251,193,20,15,251,193,22,15,251,193,144,16,251,193,26,18,251,193,146,16,251,193,148,16,251,193,150,16,251,193,152,16,251,193,154,16,251,193,156,16,251,193,158,16,251,193,160,16,251,193,162,16,251,193,28,18,251,193,30,18,251,193,32,18,251,193,34,18,251,193,36,18,251,193,104,19,251,193,106,19,251,193,108,19,251,193,110,19,251,193,112,19,251,193,114,19,251,193,116,19,251,193,118,19,251,193,156,20,251,193,158,20,251,193,160,20,251,193,162,20,251,193,164,20,251,193,62,15,251,193,64,15,251,193,66,15,251,193,68,15,251,193,70,15,251,193,72,15,251,193,74,15,251,193,76,15,251,193,78,15,251,193,80,15,251,193,82,15,251,193,84,15,251,193,86,15,251,193,88,15,251,193,90,15,251,193,92,15,251,193,94,15,251,193,96,15,251,193,98,15,251,193,100,15,251,193,102,15,251,193,104,15,251,193,106,15,251,193,108,15,251,193,110,15,251,193,112,15,251,193,114,15,251,193,116,15,251,193,118,15,251,193,120,15,251,193,122,15,251,193,124,15,251,193,126,15,251,193,128,15,251,193,130,15,251,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,193,142,15,251,193,144,15,251,193,146,15,251,193,48,17,251,193,50,17,251,193,52,17,251,193,54,17,251,193,56,17,251,193,58,17,251,193,60,17,251,193,62,17,251,193,174,18,251,193,176,18,251,193,178,18,251,193,180,18,251,193,182,18,251,193,184,18,251,193,186,18,251,193,188,18,251,193,190,18,251,193,192,18,251,193,194,18,251,193,236,19,251,193,238,19,251,193,240,19,251,193,242,19,251,193,244,19,251,193,246,19,251,193,248,19,251,193,250,19,251,193,252,19,251,193,254,19,251,193,152,15,251,193,154,15,251,193,156,15,251,193,158,15,251,193,160,15,251,193,162,15,251,193,164,15,251,193,166,15,251,193,168,15,251,193,170,15,251,193,66,17,251,193,68,17,251,193,70,17,251,193,72,17,251,193,74,17,251,193,76,17,251,193,78,17,251,193,80,17,251,193,82,17,251,193,84,17,251,193,86,17,251,193,88,17,251,193,90,17,251,193,92,17,251,193,94,17,251,193,96,17,251,193,98,17,251,193,100,17,251,193,102,17,251,193,198,18,251,193,200,18,251,193,202,18,251,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,193,174,157,253,193,122,18,251,193,124,18,251,193,126,18,251,193,128,18,251,193,130,18,251,193,132,18,251,193,134,18,251,193,136,18,251,193,138,18,251,193,140,18,251,193,142,18,251,193,144,18,251,193,146,18,251,193,46,17,251,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,193,212,18,251,193,214,18,251,193,216,18,251,193,218,18,251,193,220,18,251,193,222,18,251,193,224,18,251,193,226,18,251,193,228,18,251,193,230,18,251,193,232,18,251,193,234,18,251,193,236,18,251,193,238,18,251,193,240,18,251,193,242,18,251,193,244,18,251,193,246,18,251,193,248,18,251,193,28,20,251,193,30,20,251,193,32,20,251,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,193,148,18,251,193,150,18,251,193,152,18,251,193,154,18,251,193,156,18,251,193,158,18,251,193,160,18,251,193,162,18,251,193,164,18,251,193,166,18,251,193,168,18,251,193,170,18,251,193,172,18,251,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,193,204,18,251,193,206,18,251,193,208,18,251,193,210,18,251,193,2,20,251,193,4,20,251,193,6,20,251,193,8,20,251,193,10,20,251,193,12,20,251,193,14,20,251,193,16,20,251,193,18,20,251,193,20,20,251,193,22,20,251,193,24,20,251,193,26,20,251,193,58,21,251,193,60,21,251,193,62,21,251,193,64,21,251,193,66,21,251,193,68,21,251,193,118,22,251,193,120,22,251,193,122,22,251,193,124,22,251,193,126,22,251,193,128,22,251,193,130,22,251,193,132,22,251,193,134,22,251,193,14,19,251,193,16,19,251,193,66,20,251,193,68,20,251,193,70,20,251,193,72,20,251,193,74,20,251,193,76,20,251,193,78,20,251,193,80,20,251,193,104,21,251,193,106,21,251,193,108,21,251,193,170,22,251,193,172,22,251,193,174,22,251,193,176,22,251,193,178,22,251,193,180,22,251,193,142,23,251,193,144,23,251,193,146,23,251,193,148,23,251,193,150,23,251,193,152,23,251,193,154,23,251,193,40,24,251,193,42,24,251,193,44,24,251,193,46,24,251,193,160,24,251,193,162,24,251,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,193,36,28,251,193,170,19,251,193,172,19,251,193,174,19,251,193,176,19,251,193,178,19,251,193,180,19,251,193,182,19,251,193,184,19,251,193,186,19,251,193,188,19,251,193,190,19,251,193,192,19,251,193,194,19,251,193,196,19,251,193,198,19,251,193,200,19,251,193,202,19,251,193,204,19,251,193,206,19,251,193,208,19,251,193,210,19,251,193,212,19,251,193,214,19,251,193,50,101,251,193,226,107,252,193,216,19,251,193,218,19,251,193,220,19,251,193,222,19,251,193,224,19,251,193,226,19,251,193,228,19,251,193,230,19,251,193,232,19,251,193,234,19,251,193,206,115,252,193,170,20,251,193,172,20,251,193,174,20,251,193,176,20,251,193,178,20,251,193,180,20,251,193,182,20,251,193,184,20,251,193,186,20,251,193,188,20,251,193,190,20,251,193,192,20,251,193,194,20,251,193,196,20,251,193,198,20,251,193,200,20,251,193,202,20,251,193,204,20,251,193,206,20,251,193,208,20,251,193,210,20,251,193,34,20,251,193,36,20,251,193,38,20,251,193,40,20,251,193,42,20,251,193,44,20,251,193,46,20,251,193,48,20,251,193,50,20,251,193,52,20,251,193,54,20,251,193,56,20,251,193,58,20,251,193,60,20,251,193,62,20,251,193,64,20,251,193,70,21,251,193,72,21,251,193,74,21,251,193,76,21,251,193,78,21,251,193,80,21,251,193,82,21,251,193,84,21,251,193,86,21,251,193,88,21,251,193,90,21,251,193,92,21,251,193,94,21,251,193,96,21,251,193,98,21,251,193,100,21,251,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,193,166,20,251,193,168,20,251,193,188,21,251,193,190,21,251,193,192,21,251,193,194,21,251,193,196,21,251,193,198,21,251,193,200,21,251,193,202,21,251,193,204,21,251,193,206,21,251,193,208,21,251,193,210,21,251,193,212,21,251,193,214,21,251,193,216,21,251,193,236,22,251,193,238,22,251,193,240,22,251,193,242,22,251,193,244,22,251,193,246,22,251,193,248,22,251,193,250,22,251,193,190,23,251,193,192,23,251,193,194,23,251,193,196,23,251,193,74,24,251,193,76,24,251,193,180,24,251,193,212,20,251,193,214,20,251,193,216,20,251,193,218,20,251,193,220,20,251,193,222,20,251,193,224,20,251,193,226,20,251,193,228,20,251,193,230,20,251,193,232,20,251,193,234,20,251,193,236,20,251,193,238,20,251,193,240,20,251,193,242,20,251,193,244,20,251,193,246,20,251,193,248,20,251,193,250,20,251,193,252,20,251,193,254,20,251,193,2,21,251,193,4,21,251,193,6,21,251,193,8,21,251,193,10,21,251,193,12,21,251,193,14,21,251,193,16,21,251,193,18,21,251,193,20,21,251,193,22,21,251,193,24,21,251,193,140,123,252,193,26,21,251,193,28,21,251,193,218,21,251,193,30,21,251,193,32,21,251,193,34,21,251,193,36,21,251,193,38,21,251,193,40,21,251,193,42,21,251,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,193,62,22,251,193,64,22,251,193,66,22,251,193,68,22,251,193,70,22,251,193,72,22,251,193,74,22,251,193,76,22,251,193,78,22,251,193,80,22,251,193,82,22,251,193,84,22,251,193,86,22,251,193,88,22,251,193,90,22,251,193,92,22,251,193,94,22,251,193,96,22,251,193,98,22,251,193,100,22,251,193,102,22,251,193,44,21,251,193,210,189,251,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,193,46,21,251,193,48,21,251,193,50,21,251,193,52,21,251,193,54,21,251,193,106,22,251,193,108,22,251,193,110,22,251,193,112,22,251,193,114,22,251,193,116,22,251,193,88,23,251,193,90,23,251,193,92,23,251,193,94,23,251,193,96,23,251,193,10,24,251,193,12,24,251,193,14,24,251,193,16,24,251,193,130,24,251,193,132,24,251,193,134,24,251,193,232,24,251,193,234,24,251,193,236,24,251,193,76,25,251,193,78,25,251,193,80,25,251,193,132,25,251,193,180,25,251,193,128,26,251,193,102,21,251,193,142,22,251,193,144,22,251,193,146,22,251,193,148,22,251,193,150,22,251,193,152,22,251,193,154,22,251,193,156,22,251,193,158,22,251,193,160,22,251,193,162,22,251,193,164,22,251,193,166,22,251,193,168,22,251,193,118,23,251,193,120,23,251,193,122,23,251,193,124,23,251,193,126,23,251,193,128,23,251,193,130,23,251,193,132,23,251,193,134,23,251,193,136,23,251,193,138,23,251,193,140,23,251,193,28,24,251,193,30,24,251,193,32,24,251,193,34,24,251,193,36,24,251,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,193,182,22,251,193,182,21,251,193,184,21,251,193,184,22,251,193,186,22,251,193,186,21,251,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,193,122,140,252,193,52,22,251,193,54,22,251,193,250,65,252,193,96,221,253,193,56,22,251,193,58,22,251,193,60,22,251,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,193,104,22,251,193,48,23,251,193,198,23,251,193,196,74,251,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,193,136,22,251,193,138,22,251,193,140,22,251,193,98,23,251,193,100,23,251,193,102,23,251,193,104,23,251,193,106,23,251,193,108,23,251,193,110,23,251,193,112,23,251,193,114,23,251,193,116,23,251,193,18,24,251,193,20,24,251,193,22,24,251,193,24,24,251,193,26,24,251,193,136,24,251,193,138,24,251,193,140,24,251,193,142,24,251,193,144,24,251,193,146,24,251,193,148,24,251,206,224,2,0,206,224,2,0,206,224,2,0,206,224,2,0,206,224,2,0,206,224,2,0,206,224,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,193,156,23,251,193,158,23,251,193,160,23,251,193,162,23,251,193,164,23,251,193,166,23,251,193,168,23,251,193,170,23,251,193,172,23,251,193,174,23,251,193,176,23,251,193,178,23,251,193,180,23,251,193,182,23,251,193,184,23,251,193,48,24,251,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,193,198,74,251,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,193,50,24,251,193,52,24,251,193,54,24,251,193,56,24,251,193,58,24,251,193,60,24,251,193,62,24,251,193,64,24,251,193,66,24,251,193,68,24,251,193,70,24,251,193,186,23,251,193,72,24,251,193,168,24,251,193,170,24,251,193,172,24,251,193,174,24,251,193,176,24,251,193,178,24,251,193,30,25,251,193,32,25,251,193,34,25,251,193,102,25,251,193,144,25,251,193,146,25,251,193,148,25,251,193,150,25,251,193,194,25,251,193,196,25,251,193,212,25,251,193,240,25,251,193,4,26,251,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,193,78,24,251,193,80,24,251,193,82,24,251,193,84,24,251,193,86,24,251,193,88,24,251,193,90,24,251,193,92,24,251,193,94,24,251,193,96,24,251,193,98,24,251,193,100,24,251,193,102,24,251,193,104,24,251,193,106,24,251,193,108,24,251,193,110,24,251,193,112,24,251,193,114,24,251,193,116,24,251,193,166,36,253,193,118,24,251,193,120,24,251,193,122,24,251,193,38,24,251,193,150,24,251,193,152,24,251,193,154,24,251,193,156,24,251,193,158,24,251,193,6,25,251,193,8,25,251,193,10,25,251,193,12,25,251,193,14,25,251,193,16,25,251,193,18,25,251,193,92,25,251,193,94,25,251,193,96,25,251,193,140,25,251,193,142,25,251,193,210,25,251,193,234,25,251,193,236,25,251,193,246,25,251,193,16,26,251,193,18,26,251,193,20,26,251,193,28,26,251,193,30,26,251,193,32,26,251,193,34,26,251,193,36,26,251,193,90,26,251,193,92,26,251,193,124,24,251,193,126,24,251,193,128,24,251,193,184,24,251,193,186,24,251,193,188,24,251,193,190,24,251,193,192,24,251,193,194,24,251,193,196,24,251,193,198,24,251,193,200,24,251,193,202,24,251,193,204,24,251,193,206,24,251,193,208,24,251,193,210,24,251,193,212,24,251,193,214,24,251,193,216,24,251,193,218,24,251,193,220,24,251,193,222,24,251,193,224,24,251,193,226,24,251,193,228,24,251,193,230,24,251,193,42,25,251,193,44,25,251,193,46,25,251,193,48,25,251,193,50,25,251,193,164,24,251,193,166,24,251,193,20,25,251,193,22,25,251,193,24,25,251,193,26,25,251,193,28,25,251,193,98,25,251,193,100,25,251,193,238,25,251,193,38,26,251,193,96,26,251,193,140,26,251,193,218,26,251,193,250,26,251,193,14,27,251,193,16,27,251,193,50,27,251,193,52,27,251,193,96,27,251,193,98,27,251,193,156,27,251,193,226,27,251,193,254,27,251,193,2,28,251,193,4,28,251,193,16,28,251,193,18,28,251,193,34,28,251,193,126,28,251,193,128,28,251,193,130,28,251,193,182,24,251,193,36,25,251,193,38,25,251,193,40,25,251,193,104,25,251,193,106,25,251,193,108,25,251,193,152,25,251,193,154,25,251,193,214,25,251,193,250,25,251,193,52,26,251,193,108,26,251,193,168,26,251,193,196,26,251,193,126,27,251,193,202,27,251,193,204,27,251,193,214,27,251,193,228,27,251,193,230,27,251,193,134,28,251,193,136,28,251,193,138,28,251,193,182,28,251,193,98,29,251,193,202,29,251,193,12,30,251,193,14,30,251,193,24,30,251,193,38,30,251,193,70,30,251,206,224,2,0,206,224,2,0,206,224,2,0,206,224,2,0,193,82,25,251,193,84,25,251,193,86,25,251,193,88,25,251,193,90,25,251,193,134,25,251,193,136,25,251,193,138,25,251,193,182,25,251,193,184,25,251,193,186,25,251,193,188,25,251,193,190,25,251,193,192,25,251,193,228,25,251,193,230,25,251,193,232,25,251,193,244,25,251,193,248,25,251,193,62,26,251,193,130,26,251,193,160,26,251,193,212,26,251,193,214,26,251,193,236,26,251,193,238,26,251,193,8,27,251,193,38,27,251,193,52,25,251,193,54,25,251,193,8,66,252,193,56,25,251,193,58,25,251,193,60,25,251,193,62,25,251,193,64,25,251,193,66,25,251,193,68,25,251,193,70,25,251,193,72,25,251,193,74,25,251,193,110,25,251,193,112,25,251,193,114,25,251,193,116,25,251,193,118,25,251,193,120,25,251,193,122,25,251,193,124,25,251,193,126,25,251,193,128,25,251,193,156,25,251,193,158,25,251,193,160,25,251,193,162,25,251,193,164,25,251,193,166,25,251,193,168,25,251,193,130,25,251,193,170,25,251,193,172,25,251,193,174,25,251,193,176,25,251,193,178,25,251,193,198,25,251,193,200,25,251,193,202,25,251,193,204,25,251,193,206,25,251,193,208,25,251,193,216,25,251,193,218,25,251,193,220,25,251,193,222,25,251,193,224,25,251,193,226,25,251,193,242,25,251,193,78,233,251,193,252,25,251,193,254,25,251,193,170,14,253,193,2,26,251,193,14,26,251,193,24,26,251,193,26,26,251,193,54,26,251,193,56,26,251,193,58,26,251,193,60,26,251,193,78,26,251,193,80,26,251,193,82,26,251,193,6,26,251,193,8,26,251,193,10,26,251,193,12,26,251,193,22,26,251,193,40,26,251,193,42,26,251,193,44,26,251,193,46,26,251,193,48,26,251,193,50,26,251,193,64,26,251,193,66,26,251,193,68,26,251,193,70,26,251,193,72,26,251,193,74,26,251,193,76,26,251,193,98,26,251,193,100,26,251,193,102,26,251,193,104,26,251,193,106,26,251,193,142,26,251,193,144,26,251,193,146,26,251,193,164,26,251,193,166,26,251,193,190,26,251,193,192,26,251,193,194,26,251,193,220,26,251,193,84,26,251,193,86,26,251,193,88,26,251,193,110,26,251,193,112,26,251,193,114,26,251,193,116,26,251,193,118,26,251,193,120,26,251,193,122,26,251,193,124,26,251,193,126,26,251,193,148,26,251,193,150,26,251,193,152,26,251,193,154,26,251,193,170,26,251,193,172,26,251,193,174,26,251,193,176,26,251,193,178,26,251,193,180,26,251,193,182,26,251,193,198,26,251,193,200,26,251,193,202,26,251,193,204,26,251,193,206,26,251,193,208,26,251,193,210,26,251,193,224,26,251,193,226,26,251,193,94,26,251,193,132,26,251,193,134,26,251,193,136,26,251,193,138,26,251,193,162,26,251,193,186,26,251,193,188,26,251,193,216,26,251,193,240,26,251,193,242,26,251,193,244,26,251,193,246,26,251,193,248,26,251,193,10,27,251,193,12,27,251,193,42,27,251,193,44,27,251,193,46,27,251,193,48,27,251,193,74,27,251,193,94,27,251,193,120,27,251,193,122,27,251,193,124,27,251,193,144,27,251,193,146,27,251,193,208,27,251,193,242,27,251,193,244,27,251,193,246,27,251,193,252,27,251,193,156,26,251,193,184,26,251,193,6,27,251,193,68,27,251,193,70,27,251,193,72,27,251,193,152,27,251,193,28,28,251,193,116,28,251,193,8,29,251,193,36,29,251,193,54,29,251,193,58,29,251,193,74,29,251,193,198,29,251,193,132,30,251,193,134,30,251,193,150,30,251,193,202,30,251,193,224,30,251,193,248,30,251,193,16,31,251,193,92,31,251,193,124,31,251,193,126,31,251,193,128,31,251,193,130,31,251,193,184,31,251,193,186,31,251,193,188,31,251,193,242,31,251,193,52,32,251,193,222,26,251,193,252,26,251,193,18,27,251,193,76,27,251,193,164,27,251,193,188,27,251,193,190,27,251,193,194,27,251,193,210,27,251,193,248,27,251,193,6,28,251,193,74,28,251,193,78,28,251,193,80,28,251,193,82,28,251,193,84,28,251,193,94,28,251,193,102,28,251,193,104,28,251,193,106,28,251,193,108,28,251,193,132,28,251,193,154,28,251,193,156,28,251,193,158,28,251,193,178,28,251,193,204,28,251,193,180,28,251,193,206,28,251,193,226,28,251,193,18,29,251,193,20,29,251,193,228,26,251,193,230,26,251,193,232,26,251,193,234,26,251,193,254,26,251,193,2,27,251,193,4,27,251,193,20,27,251,193,22,27,251,193,24,27,251,193,26,27,251,193,28,27,251,193,30,27,251,193,32,27,251,193,34,27,251,193,36,27,251,193,54,27,251,193,56,27,251,193,58,27,251,193,78,27,251,193,60,27,251,193,62,27,251,193,64,27,251,193,66,27,251,193,80,27,251,193,82,27,251,193,84,27,251,193,86,27,251,193,88,27,251,193,90,27,251,193,92,27,251,193,100,27,251,193,40,27,251,193,116,27,251,193,118,27,251,193,136,27,251,193,138,27,251,193,140,27,251,193,142,27,251,193,154,27,251,193,174,27,251,193,30,28,251,193,42,28,251,193,118,28,251,193,120,28,251,193,166,28,251,193,214,28,251,193,216,28,251,193,232,28,251,193,10,29,251,193,38,29,251,193,84,29,251,193,92,29,251,193,94,29,251,193,102,29,251,193,44,30,251,193,136,30,251,193,170,30,251,193,172,30,251,193,20,31,251,193,42,31,251,193,50,31,251,193,66,31,251,193,94,31,251,193,102,27,251,193,104,27,251,193,106,27,251,193,108,27,251,193,110,27,251,193,112,27,251,193,128,27,251,193,114,27,251,193,130,27,251,193,132,27,251,193,134,27,251,193,148,27,251,193,116,159,251,193,158,27,251,193,150,27,251,193,160,27,251,193,162,27,251,193,166,27,251,193,168,27,251,193,170,27,251,193,172,27,251,193,176,27,251,193,178,27,251,193,180,27,251,193,182,27,251,193,184,27,251,193,186,27,251,193,192,27,251,193,196,27,251,193,198,27,251,193,200,27,251,193,206,27,251,193,106,21,252,193,108,21,252,193,110,21,252,193,130,21,252,193,132,21,252,193,134,21,252,193,136,21,252,193,138,21,252,193,140,21,252,193,142,21,252,193,152,21,252,193,154,21,252,193,164,21,252,193,166,21,252,193,168,21,252,193,170,21,252,193,172,21,252,193,182,21,252,193,192,21,252,193,194,21,252,193,230,21,252,193,232,21,252,193,242,21,252,193,244,21,252,193,246,21,252,193,248,21,252,193,234,21,252,193,6,22,252,193,8,22,252,193,212,27,251,193,10,22,252,193,12,22,252,193,218,27,251,193,220,27,251,193,222,27,251,193,224,27,251,193,232,27,251,193,234,27,251,193,236,27,251,193,238,27,251,193,240,27,251,193,250,27,251,193,8,28,251,193,10,28,251,193,12,28,251,193,20,28,251,193,22,28,251,193,24,28,251,193,26,28,251,193,32,28,251,193,38,28,251,193,40,28,251,193,44,28,251,193,46,28,251,193,48,28,251,193,50,28,251,193,52,28,251,193,54,28,251,193,56,28,251,193,58,28,251,193,60,28,251,193,64,28,251,193,68,28,251,193,70,28,251,193,14,28,251,193,62,28,251,193,66,28,251,193,72,28,251,193,100,28,251,193,122,28,251,193,124,28,251,193,152,28,251,193,168,28,251,193,170,28,251,193,172,28,251,193,174,28,251,193,196,28,251,193,198,28,251,193,200,28,251,193,218,28,251,193,220,28,251,193,234,28,251,193,236,28,251,193,238,28,251,193,12,29,251,193,14,29,251,193,16,29,251,193,40,29,251,193,42,29,251,193,56,29,251,193,60,29,251,193,62,29,251,193,64,29,251,193,96,29,251,193,100,29,251,193,130,29,251,193,76,28,251,193,86,28,251,193,88,28,251,193,90,28,251,193,92,28,251,193,96,28,251,193,98,28,251,193,180,78,253,193,112,28,251,193,114,28,251,193,140,28,251,193,142,28,251,193,144,28,251,193,146,28,251,193,148,28,251,193,150,28,251,193,160,28,251,193,162,28,251,193,184,28,251,193,186,28,251,193,188,28,251,193,190,28,251,193,192,28,251,193,194,28,251,193,218,162,251,193,208,28,251,193,210,28,251,193,212,28,251,193,228,28,251,193,230,28,251,193,242,28,251,193,244,28,251,193,28,51,251,193,30,51,251,193,32,51,251,193,34,51,251,193,36,51,251,193,38,51,251,193,40,51,251,193,42,51,251,193,44,51,251,193,46,51,251,193,74,51,251,193,76,51,251,193,78,51,251,193,80,51,251,193,82,51,251,193,84,51,251,193,86,51,251,193,88,51,251,193,90,51,251,193,92,51,251,193,94,51,251,193,96,51,251,193,164,28,251,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,193,176,28,251,193,202,28,251,193,222,28,251,193,224,28,251,193,240,28,251,193,44,29,251,193,108,29,251,193,180,29,251,193,182,29,251,193,6,30,251,193,8,30,251,193,36,30,251,193,54,30,251,193,56,30,251,193,102,30,251,193,138,30,251,193,140,30,251,193,218,30,251,193,6,31,251,193,58,31,251,193,60,31,251,193,76,31,251,193,140,31,251,193,142,31,251,193,144,31,251,193,204,31,251,193,206,31,251,193,4,32,251,193,6,32,251,193,8,32,251,193,70,32,251,193,148,32,251,193,246,28,251,193,248,28,251,193,250,28,251,193,252,28,251,193,254,28,251,193,2,29,251,193,4,29,251,193,6,29,251,193,22,29,251,193,24,29,251,193,26,29,251,193,28,29,251,193,30,29,251,193,32,29,251,193,34,29,251,193,46,29,251,193,48,29,251,193,50,29,251,193,80,54,251,193,68,29,251,193,70,29,251,193,72,29,251,193,80,29,251,193,82,29,251,193,86,29,251,193,88,29,251,193,90,29,251,193,104,218,252,193,106,29,251,193,122,29,251,193,124,29,251,193,126,29,251,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,193,200,55,251,193,202,55,251,193,204,55,251,193,206,55,251,193,208,55,251,193,210,55,251,193,212,55,251,193,214,55,251,193,216,55,251,193,218,55,251,193,240,55,251,193,242,55,251,193,244,55,251,193,246,55,251,193,248,55,251,193,250,55,251,193,252,55,251,193,56,101,251,193,254,55,251,193,2,56,251,193,4,56,251,193,6,56,251,193,52,29,251,193,18,56,251,193,20,56,251,193,22,56,251,193,24,56,251,193,66,29,251,193,78,29,251,193,104,29,251,193,110,29,251,193,112,29,251,193,114,29,251,193,116,29,251,193,118,29,251,193,120,29,251,193,132,29,251,193,134,29,251,193,136,29,251,193,138,29,251,193,162,29,251,193,164,29,251,193,184,29,251,193,200,29,251,193,228,29,251,193,230,29,251,193,242,29,251,193,244,29,251,193,10,30,251,193,74,30,251,193,76,30,251,193,78,30,251,193,88,30,251,193,90,30,251,193,104,30,251,193,106,30,251,193,122,30,251,193,142,30,251,193,154,30,251,193,128,29,251,193,140,29,251,193,142,29,251,193,144,29,251,193,146,29,251,193,148,29,251,193,150,29,251,193,152,29,251,193,154,29,251,193,156,29,251,193,158,29,251,193,166,29,251,193,168,29,251,193,170,29,251,193,172,29,251,193,174,29,251,193,186,29,251,193,188,29,251,193,190,29,251,193,192,29,251,193,194,29,251,193,196,29,251,193,204,29,251,193,206,29,251,193,208,29,251,193,210,29,251,193,212,29,251,193,232,29,251,193,234,29,251,193,246,29,251,193,248,29,251,193,250,29,251,193,160,29,251,193,176,29,251,193,178,29,251,193,214,29,251,193,216,29,251,193,218,29,251,193,220,29,251,193,222,29,251,193,224,29,251,193,226,29,251,193,238,29,251,193,240,29,251,193,252,29,251,193,254,29,251,193,2,30,251,193,4,30,251,193,32,30,251,193,34,30,251,193,66,30,251,193,100,30,251,193,152,30,251,193,204,30,251,193,206,30,251,193,208,30,251,193,210,30,251,193,212,30,251,193,214,30,251,193,216,30,251,193,226,30,251,193,228,30,251,193,230,30,251,193,232,30,251,193,16,30,251,193,18,30,251,193,20,30,251,193,26,30,251,193,28,30,251,193,30,30,251,193,40,30,251,193,42,30,251,193,46,30,251,193,48,30,251,193,50,30,251,193,228,181,251,193,52,30,251,193,58,30,251,193,60,30,251,193,62,30,251,193,64,30,251,193,68,30,251,193,72,30,251,193,84,30,251,193,86,30,251,193,92,30,251,193,94,30,251,193,96,30,251,193,98,30,251,193,108,30,251,193,110,30,251,193,112,30,251,193,114,30,251,193,116,30,251,193,118,30,251,193,120,30,251,193,22,30,251,193,198,232,251,193,200,232,251,193,220,232,251,193,232,232,251,193,234,232,251,193,20,233,251,193,72,233,251,193,86,233,251,193,90,233,251,193,124,233,251,193,126,233,251,193,128,233,251,193,130,233,251,193,168,233,251,193,170,233,251,193,172,233,251,193,62,205,252,193,204,233,251,193,206,233,251,193,208,233,251,193,210,233,251,193,238,233,251,193,240,233,251,193,242,233,251,193,244,233,251,193,246,233,251,193,248,233,251,193,38,234,251,193,40,234,251,193,42,234,251,193,44,234,251,193,80,30,251,193,82,30,251,193,158,30,251,193,234,30,251,193,18,31,251,193,68,31,251,193,108,31,251,193,110,31,251,193,162,31,251,193,218,31,251,193,220,31,251,193,222,31,251,193,224,31,251,193,226,31,251,193,16,32,251,193,18,32,251,193,94,32,251,193,96,32,251,193,98,32,251,193,160,32,251,193,224,32,251,193,226,32,251,193,14,33,251,193,58,33,251,193,114,34,251,193,238,34,251,193,190,35,251,193,192,35,251,193,194,35,251,193,6,36,251,193,8,36,251,193,124,36,251,193,124,30,251,193,126,30,251,193,128,30,251,193,130,30,251,193,144,30,251,193,146,30,251,193,148,30,251,193,160,30,251,193,162,30,251,193,164,30,251,193,166,30,251,193,168,30,251,193,188,30,251,193,190,30,251,193,192,30,251,193,194,30,251,193,196,30,251,193,198,30,251,193,200,30,251,193,222,30,251,193,236,30,251,193,238,30,251,193,240,30,251,193,242,30,251,193,244,30,251,193,246,30,251,193,252,30,251,193,254,30,251,193,10,31,251,193,12,31,251,193,14,31,251,193,146,138,252,193,156,30,251,193,174,30,251,193,176,30,251,193,178,30,251,193,180,30,251,193,182,30,251,193,184,30,251,193,186,30,251,193,220,30,251,193,8,31,251,193,28,31,251,193,62,31,251,193,78,31,251,193,80,31,251,193,82,31,251,193,84,31,251,193,98,31,251,193,100,31,251,193,102,31,251,193,104,31,251,193,106,31,251,193,146,31,251,193,148,31,251,193,150,31,251,193,152,31,251,193,154,31,251,193,156,31,251,193,158,31,251,193,208,31,251,193,210,31,251,193,212,31,251,193,214,31,251,193,250,30,251,193,2,31,251,193,4,31,251,193,22,31,251,193,24,31,251,193,26,31,251,193,72,31,251,193,74,31,251,193,96,31,251,193,200,31,251,193,202,31,251,193,250,31,251,193,252,31,251,193,254,31,251,193,2,32,251,193,66,32,251,193,68,32,251,193,138,32,251,193,140,32,251,193,142,32,251,193,144,32,251,193,146,32,251,193,202,32,251,193,204,32,251,193,206,32,251,193,254,32,251,193,2,33,251,193,4,33,251,193,44,33,251,193,46,33,251,193,48,33,251,193,78,33,251,193,30,31,251,193,32,31,251,193,34,31,251,193,36,31,251,193,38,31,251,193,40,31,251,193,44,31,251,193,46,31,251,193,48,31,251,193,52,31,251,193,54,31,251,193,56,31,251,193,64,31,251,193,70,31,251,193,86,31,251,193,88,31,251,193,90,31,251,193,112,31,251,193,114,31,251,193,116,31,251,193,118,31,251,193,120,31,251,193,122,31,251,193,164,31,251,193,166,31,251,193,168,31,251,193,170,31,251,193,172,31,251,193,174,31,251,193,176,31,251,193,178,31,251,193,180,31,251,193,132,31,251,193,134,31,251,193,136,31,251,193,138,31,251,193,190,31,251,193,192,31,251,193,194,31,251,193,196,31,251,193,198,31,251,193,244,31,251,193,246,31,251,193,248,31,251,193,60,32,251,193,62,32,251,193,64,32,251,193,134,32,251,193,136,32,251,193,194,32,251,193,196,32,251,193,198,32,251,193,200,32,251,193,250,32,251,193,252,32,251,193,40,33,251,193,42,33,251,193,76,33,251,193,114,33,251,193,116,33,251,193,118,33,251,193,176,33,251,193,20,34,251,193,22,34,251,193,228,31,251,193,182,31,251,193,230,31,251,193,232,31,251,193,234,31,251,193,236,31,251,193,238,31,251,193,240,31,251,193,20,32,251,193,22,32,251,193,24,32,251,193,26,32,251,193,28,32,251,193,30,32,251,193,32,32,251,193,34,32,251,193,36,32,251,193,38,32,251,193,40,32,251,193,42,32,251,193,44,32,251,193,46,32,251,193,48,32,251,193,50,32,251,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,193,216,31,251,193,10,32,251,193,12,32,251,193,14,32,251,193,72,32,251,193,74,32,251,193,76,32,251,193,78,32,251,193,80,32,251,193,82,32,251,193,84,32,251,193,86,32,251,193,88,32,251,193,90,32,251,193,92,32,251,193,154,32,251,193,156,32,251,193,158,32,251,193,214,32,251,193,216,32,251,193,218,32,251,193,220,32,251,193,222,32,251,193,12,33,251,193,56,33,251,193,88,33,251,193,90,33,251,193,92,33,251,193,94,33,251,193,128,33,251,193,130,33,251,193,142,33,251,193,54,32,251,193,56,32,251,193,126,32,251,193,128,32,251,193,130,32,251,193,132,32,251,193,186,32,251,193,188,32,251,193,190,32,251,193,246,32,251,193,248,32,251,193,36,33,251,193,38,33,251,193,74,33,251,193,112,33,251,193,138,33,251,193,184,33,251,193,18,34,251,193,52,34,251,193,106,34,251,193,128,34,251,193,164,34,251,193,234,34,251,193,22,35,251,193,38,35,251,193,64,35,251,193,72,35,251,193,74,35,251,193,114,35,251,193,118,35,251,193,56,36,251,193,58,36,251,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,193,162,32,251,193,164,32,251,193,166,32,251,193,168,32,251,193,170,32,251,193,172,32,251,193,174,32,251,193,176,32,251,193,178,32,251,193,180,32,251,193,182,32,251,193,184,32,251,193,228,32,251,193,230,32,251,193,232,32,251,193,234,32,251,193,236,32,251,193,238,32,251,193,240,32,251,193,242,32,251,193,244,32,251,206,32,3,0,206,32,3,0,206,32,3,0,206,32,3,0,206,32,3,0,206,32,3,0,193,150,32,251,193,152,32,251,193,208,32,251,193,210,32,251,193,212,32,251,193,6,33,251,193,8,33,251,193,10,33,251,193,50,33,251,193,52,33,251,193,54,33,251,193,84,33,251,193,86,33,251,193,126,33,251,193,162,33,251,193,164,33,251,193,110,34,251,193,214,34,251,193,24,35,251,193,44,35,251,193,46,35,251,193,58,35,251,193,94,35,251,193,102,35,251,193,104,35,251,193,176,35,251,193,178,35,251,193,226,35,251,193,228,35,251,193,230,35,251,193,78,36,251,193,80,36,251,206,32,3,0,206,32,3,0,206,32,3,0,206,32,3,0,193,60,33,251,193,62,33,251,193,64,33,251,193,66,33,251,193,68,33,251,193,70,33,251,193,96,33,251,193,98,33,251,193,100,33,251,193,102,33,251,193,104,33,251,193,106,33,251,193,108,33,251,193,110,33,251,193,132,33,251,193,72,33,251,193,134,33,251,193,136,33,251,193,144,33,251,193,146,33,251,193,148,33,251,193,150,33,251,193,152,33,251,193,154,33,251,193,156,33,251,193,166,33,251,193,168,33,251,193,170,33,251,193,80,33,251,193,82,33,251,193,120,33,251,193,122,33,251,193,124,33,251,193,140,33,251,193,160,33,251,193,178,33,251,193,186,33,251,193,228,33,251,193,230,33,251,193,232,33,251,193,234,33,251,193,24,34,251,193,26,34,251,193,28,34,251,193,54,34,251,193,82,34,251,193,84,34,251,193,92,34,251,193,94,34,251,193,132,34,251,193,134,34,251,193,154,34,251,193,168,34,251,193,170,34,251,193,192,34,251,193,12,35,251,193,42,35,251,193,56,35,251,193,70,35,251,193,92,35,251,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,193,166,112,252,193,168,112,252,193,170,112,252,193,172,112,252,193,174,112,252,193,176,112,252,193,178,112,252,193,180,112,252,193,182,112,252,193,184,112,252,193,186,112,252,193,188,112,252,193,190,112,252,193,192,112,252,193,158,33,251,193,194,112,252,193,196,112,252,193,198,112,252,193,200,112,252,193,220,112,252,193,222,112,252,193,224,112,252,193,248,112,252,193,226,112,252,193,228,112,252,193,230,112,252,193,232,112,252,193,172,33,251,193,174,33,251,193,180,33,251,193,182,33,251,193,188,33,251,193,190,33,251,193,194,33,251,193,198,33,251,193,200,33,251,193,212,33,251,193,214,33,251,193,216,33,251,193,218,33,251,193,220,33,251,193,222,33,251,193,224,33,251,193,226,33,251,193,242,33,251,193,244,33,251,193,246,33,251,193,248,33,251,193,4,34,251,193,6,34,251,193,8,34,251,193,10,34,251,193,12,34,251,193,14,34,251,193,16,34,251,206,64,3,0,206,64,3,0,206,64,3,0,206,64,3,0,193,196,33,251,193,202,33,251,193,204,33,251,193,206,33,251,193,210,33,251,193,236,33,251,193,238,33,251,193,240,33,251,193,250,33,251,193,252,33,251,193,254,33,251,193,2,34,251,193,30,34,251,193,56,34,251,193,58,34,251,193,60,34,251,193,112,34,251,193,136,34,251,193,138,34,251,193,172,34,251,193,174,34,251,193,200,34,251,193,206,34,251,193,216,34,251,193,218,34,251,193,220,34,251,193,222,34,251,193,224,34,251,193,236,34,251,193,14,35,251,193,26,35,251,193,60,35,251,206,64,3,0,206,64,3,0,206,64,3,0,206,64,3,0,206,64,3,0,206,64,3,0,193,62,34,251,193,64,34,251,193,66,34,251,193,68,34,251,193,70,34,251,193,72,34,251,193,74,34,251,193,76,34,251,193,78,34,251,193,86,34,251,193,88,34,251,193,90,34,251,193,96,34,251,193,98,34,251,193,100,34,251,193,102,34,251,193,104,34,251,193,148,147,251,193,116,34,251,193,118,34,251,193,218,100,251,193,120,34,251,193,122,34,251,193,124,34,251,193,126,34,251,193,142,34,251,193,170,53,251,193,172,53,251,193,174,53,251,193,176,53,251,193,178,53,251,193,180,53,251,193,188,53,251,193,190,53,251,193,192,53,251,193,202,53,251,193,204,53,251,193,206,53,251,193,208,53,251,193,210,53,251,193,80,34,251,193,212,53,251,193,214,53,251,193,216,53,251,193,218,53,251,193,68,55,251,193,220,53,251,193,222,53,251,193,224,53,251,193,226,53,251,193,228,53,251,193,246,53,251,193,248,53,251,193,250,53,251,193,252,53,251,193,22,54,251,193,24,54,251,193,34,54,251,193,108,34,251,193,130,34,251,193,152,34,251,193,166,34,251,193,40,35,251,193,66,35,251,193,68,35,251,193,76,35,251,193,78,35,251,193,80,35,251,193,88,35,251,193,90,35,251,193,98,35,251,193,120,35,251,193,122,35,251,193,124,35,251,193,216,35,251,193,218,35,251,193,62,36,251,193,64,36,251,193,66,36,251,193,182,36,251,193,184,36,251,193,186,36,251,193,188,36,251,193,190,36,251,193,192,36,251,193,194,36,251,193,108,37,251,193,110,37,251,193,112,37,251,193,114,37,251,193,144,34,251,193,146,34,251,193,148,34,251,193,150,34,251,193,156,34,251,193,158,34,251,193,160,34,251,193,162,34,251,193,176,34,251,193,178,34,251,193,180,34,251,193,182,34,251,193,238,154,253,193,184,34,251,193,186,34,251,193,188,34,251,193,190,34,251,193,194,34,251,193,196,34,251,193,198,34,251,193,202,34,251,193,204,34,251,193,208,34,251,193,210,34,251,193,212,34,251,193,226,34,251,193,228,34,251,193,230,34,251,193,190,56,251,193,232,34,251,193,240,34,251,193,242,34,251,193,244,34,251,193,246,34,251,193,248,34,251,193,250,34,251,193,252,34,251,193,254,34,251,193,2,35,251,193,4,35,251,193,6,35,251,193,8,35,251,193,10,35,251,193,16,35,251,193,18,35,251,193,20,35,251,193,28,35,251,193,30,35,251,193,32,35,251,193,156,140,253,193,34,35,251,193,36,35,251,193,48,35,251,193,50,35,251,193,52,35,251,193,54,35,251,193,62,35,251,193,82,35,251,193,84,35,251,193,84,96,251,193,96,35,251,193,106,35,251,193,108,35,251,193,116,35,251,193,14,161,251,193,16,161,251,193,22,161,251,193,24,161,251,193,26,161,251,193,28,161,251,193,38,161,251,193,40,161,251,193,42,161,251,193,44,161,251,193,46,161,251,193,48,161,251,193,56,161,251,193,86,35,251,193,62,161,251,193,64,161,251,193,66,161,251,193,68,161,251,193,80,161,251,193,82,161,251,193,84,161,251,193,92,161,251,193,96,161,251,193,102,161,251,193,104,161,251,193,106,161,251,193,110,161,251,193,116,161,251,193,118,161,251,193,134,161,251,193,136,161,251,193,140,161,251,193,100,35,251,193,110,35,251,193,170,35,251,193,172,35,251,193,174,35,251,193,220,35,251,193,222,35,251,193,224,35,251,193,68,36,251,193,70,36,251,193,72,36,251,193,74,36,251,193,76,36,251,193,196,36,251,193,198,36,251,193,200,36,251,193,202,36,251,193,204,36,251,193,206,36,251,193,208,36,251,193,210,36,251,193,116,37,251,193,118,37,251,193,120,37,251,193,122,37,251,193,124,37,251,193,126,37,251,193,128,37,251,193,130,37,251,193,132,37,251,193,134,37,251,193,136,37,251,193,178,132,251,193,158,154,251,193,148,154,251,193,160,154,251,193,162,154,251,193,164,154,251,193,166,154,251,193,168,154,251,193,170,154,251,193,172,154,251,193,180,154,251,193,188,154,251,193,196,154,251,193,198,154,251,193,200,154,251,193,202,154,251,193,204,154,251,193,206,154,251,193,208,154,251,193,210,154,251,193,114,130,251,193,112,35,251,193,216,154,251,193,250,154,251,193,252,154,251,193,254,154,251,193,2,155,251,193,4,155,251,193,6,155,251,193,8,155,251,193,10,155,251,193,12,155,251,193,126,35,251,193,128,35,251,193,130,35,251,193,138,35,251,193,144,35,251,193,154,35,251,193,156,35,251,193,158,35,251,193,160,35,251,193,162,35,251,193,164,35,251,193,166,35,251,193,168,35,251,193,196,35,251,193,198,35,251,193,200,35,251,193,202,35,251,193,204,35,251,193,206,35,251,193,208,35,251,193,210,35,251,193,10,36,251,193,212,35,251,193,12,36,251,193,14,36,251,193,16,36,251,193,18,36,251,193,214,35,251,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,193,132,35,251,193,134,35,251,193,136,35,251,193,140,35,251,193,142,35,251,193,146,35,251,193,148,35,251,193,150,35,251,193,152,35,251,193,180,35,251,193,182,35,251,193,184,35,251,193,186,35,251,193,188,35,251,193,232,35,251,193,234,35,251,193,236,35,251,193,238,35,251,193,240,35,251,193,242,35,251,193,244,35,251,193,246,35,251,193,248,35,251,193,250,35,251,193,252,35,251,193,254,35,251,193,2,36,251,193,4,36,251,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,193,60,36,251,193,178,36,251,193,180,36,251,193,102,37,251,193,104,37,251,193,106,37,251,193,4,38,251,193,6,38,251,193,186,38,251,193,188,38,251,193,72,39,251,193,74,39,251,193,76,39,251,193,78,39,251,193,218,39,251,193,220,39,251,193,222,39,251,193,74,40,251,193,76,40,251,193,78,40,251,193,52,41,251,193,110,41,251,193,112,41,251,193,150,42,251,193,152,42,251,193,154,42,251,193,220,42,251,193,222,42,251,193,38,43,251,193,112,43,251,193,114,43,251,193,116,43,251,193,82,36,251,193,84,36,251,193,86,36,251,193,212,36,251,193,214,36,251,193,216,36,251,193,218,36,251,193,142,37,251,193,144,37,251,193,146,37,251,193,148,37,251,193,150,37,251,193,28,38,251,193,30,38,251,193,32,38,251,193,34,38,251,193,36,38,251,193,38,38,251,193,40,38,251,193,220,38,251,193,222,38,251,193,224,38,251,193,226,38,251,193,116,39,251,193,118,39,251,193,120,39,251,193,122,39,251,193,106,40,251,193,108,40,251,193,110,40,251,193,230,40,251,193,232,40,251,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,193,220,36,251,193,222,36,251,193,224,36,251,193,226,36,251,193,228,36,251,193,230,36,251,193,232,36,251,193,234,36,251,193,236,36,251,193,238,36,251,193,240,36,251,193,242,36,251,193,244,36,251,193,246,36,251,193,248,36,251,193,250,36,251,193,252,36,251,193,254,36,251,193,126,36,251,193,8,37,251,193,10,37,251,193,12,37,251,193,14,37,251,193,16,37,251,193,18,37,251,193,182,37,251,193,184,37,251,193,186,37,251,193,188,37,251,193,190,37,251,193,86,38,251,193,88,38,251,193,90,38,251,193,92,38,251,193,94,38,251,193,248,38,251,193,250,38,251,193,252,38,251,193,254,38,251,193,2,39,251,193,4,39,251,193,134,39,251,193,136,39,251,193,138,39,251,193,140,39,251,193,142,39,251,193,12,40,251,193,14,40,251,193,122,40,251,193,124,40,251,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,193,2,37,251,193,4,37,251,193,6,37,251,193,152,37,251,193,154,37,251,193,156,37,251,193,158,37,251,193,160,37,251,193,162,37,251,193,164,37,251,193,166,37,251,193,168,37,251,193,170,37,251,193,172,37,251,193,174,37,251,193,176,37,251,193,178,37,251,193,180,37,251,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,193,138,37,251,193,140,37,251,193,14,38,251,193,16,38,251,193,18,38,251,193,20,38,251,193,22,38,251,193,24,38,251,193,26,38,251,193,198,38,251,193,200,38,251,193,202,38,251,193,204,38,251,193,206,38,251,193,208,38,251,193,210,38,251,193,212,38,251,193,214,38,251,193,216,38,251,193,218,38,251,193,94,39,251,193,96,39,251,193,98,39,251,193,100,39,251,193,102,39,251,193,104,39,251,193,106,39,251,193,108,39,251,193,110,39,251,193,112,39,251,193,114,39,251,193,234,39,251,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,193,10,38,251,193,12,38,251,193,190,38,251,193,192,38,251,193,194,38,251,193,196,38,251,193,80,39,251,193,82,39,251,193,84,39,251,193,86,39,251,193,88,39,251,193,90,39,251,193,92,39,251,193,224,39,251,193,226,39,251,193,228,39,251,193,230,39,251,193,232,39,251,193,80,40,251,193,82,40,251,193,84,40,251,193,216,40,251,193,218,40,251,193,220,40,251,193,222,40,251,193,224,40,251,193,54,41,251,193,162,41,251,193,188,41,251,193,190,41,251,193,192,41,251,193,208,41,251,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,193,228,38,251,193,124,39,251,193,230,38,251,193,232,38,251,193,234,38,251,193,236,38,251,193,238,38,251,193,240,38,251,193,242,38,251,193,244,38,251,193,126,39,251,193,128,39,251,193,130,39,251,193,132,39,251,193,246,38,251,193,248,39,251,193,250,39,251,193,252,39,251,193,254,39,251,193,2,40,251,193,4,40,251,193,6,40,251,193,8,40,251,193,10,40,251,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,193,6,39,251,193,8,39,251,193,10,39,251,193,12,39,251,193,14,39,251,193,16,39,251,193,18,39,251,193,20,39,251,193,22,39,251,193,24,39,251,193,26,39,251,193,28,39,251,193,30,39,251,193,32,39,251,193,34,39,251,193,36,39,251,193,38,39,251,193,40,39,251,193,42,39,251,193,44,39,251,193,46,39,251,193,48,39,251,193,50,39,251,193,52,39,251,193,54,39,251,193,184,38,251,193,56,39,251,193,58,39,251,193,60,39,251,193,62,39,251,193,64,39,251,193,66,39,251,193,68,39,251,193,70,39,251,193,144,39,251,193,146,39,251,193,148,39,251,193,150,39,251,193,152,39,251,193,154,39,251,193,156,39,251,193,158,39,251,193,160,39,251,193,162,39,251,193,164,39,251,193,166,39,251,193,168,39,251,193,170,39,251,193,172,39,251,193,174,39,251,193,176,39,251,193,178,39,251,193,180,39,251,193,182,39,251,193,184,39,251,193,186,39,251,193,188,39,251,193,190,39,251,193,192,39,251,193,194,39,251,193,196,39,251,193,198,39,251,193,200,39,251,193,228,142,252,193,202,39,251,193,204,39,251,193,206,39,251,193,208,39,251,193,210,39,251,193,212,39,251,193,214,39,251,193,216,39,251,193,16,40,251,193,18,40,251,193,20,40,251,193,22,40,251,193,24,40,251,193,26,40,251,193,28,40,251,193,30,40,251,193,32,40,251,193,34,40,251,193,36,40,251,193,38,40,251,193,40,40,251,193,42,40,251,193,44,40,251,193,46,40,251,193,48,40,251,193,50,40,251,193,52,40,251,193,54,40,251,193,56,40,251,193,58,40,251,193,60,40,251,193,62,40,251,193,64,40,251,193,66,40,251,193,68,40,251,193,236,39,251,193,238,39,251,193,240,39,251,193,242,39,251,193,244,39,251,193,246,39,251,193,86,40,251,193,88,40,251,193,90,40,251,193,92,40,251,193,94,40,251,193,96,40,251,193,98,40,251,193,100,40,251,193,102,40,251,193,104,40,251,193,226,40,251,193,228,40,251,193,56,41,251,193,114,41,251,193,116,41,251,193,118,41,251,193,120,41,251,193,122,41,251,193,164,41,251,193,166,41,251,193,194,41,251,193,196,41,251,193,212,41,251,193,252,41,251,193,26,42,251,193,48,42,251,193,70,40,251,193,72,40,251,193,146,40,251,193,148,40,251,193,150,40,251,193,152,40,251,193,154,40,251,193,156,40,251,193,158,40,251,193,160,40,251,193,162,40,251,193,164,40,251,193,166,40,251,193,168,40,251,193,170,40,251,193,172,40,251,193,174,40,251,193,176,40,251,193,178,40,251,193,180,40,251,193,182,40,251,193,184,40,251,193,186,40,251,193,188,40,251,193,190,40,251,193,192,40,251,193,194,40,251,193,196,40,251,193,198,40,251,193,200,40,251,193,202,40,251,193,204,40,251,193,112,40,251,193,114,40,251,193,116,40,251,193,118,40,251,193,120,40,251,193,240,40,251,193,242,40,251,193,244,40,251,193,246,40,251,193,248,40,251,193,250,40,251,193,252,40,251,193,254,40,251,193,2,41,251,193,4,41,251,193,6,41,251,193,60,41,251,193,62,41,251,193,64,41,251,193,66,41,251,193,68,41,251,193,126,41,251,193,198,41,251,193,226,41,251,193,228,41,251,193,240,41,251,193,242,41,251,193,8,42,251,193,10,42,251,193,16,42,251,193,18,42,251,193,28,42,251,193,126,40,251,193,128,40,251,193,130,40,251,193,132,40,251,193,134,40,251,193,136,40,251,193,138,40,251,193,140,40,251,193,142,40,251,193,144,40,251,193,8,41,251,193,70,41,251,193,72,41,251,193,74,41,251,193,128,41,251,193,130,41,251,193,174,41,251,193,200,41,251,193,214,41,251,193,36,42,251,193,64,42,251,193,66,42,251,193,68,42,251,193,116,42,251,193,118,42,251,193,188,42,251,193,190,42,251,193,192,42,251,193,10,43,251,193,74,43,251,193,76,43,251,193,78,43,251,193,10,41,251,193,206,40,251,193,208,40,251,193,210,40,251,193,212,40,251,193,214,40,251,193,12,41,251,193,14,41,251,193,16,41,251,193,18,41,251,193,20,41,251,193,22,41,251,193,24,41,251,193,26,41,251,193,28,41,251,193,30,41,251,193,32,41,251,193,34,41,251,193,36,41,251,193,38,41,251,193,40,41,251,193,42,41,251,193,44,41,251,193,46,41,251,193,48,41,251,193,50,41,251,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,193,234,40,251,193,236,40,251,193,238,40,251,193,58,41,251,193,124,41,251,193,168,41,251,193,170,41,251,193,172,41,251,193,248,41,251,193,90,42,251,193,160,42,251,193,162,42,251,193,164,42,251,193,236,42,251,193,238,42,251,193,142,43,251,193,144,43,251,193,196,43,251,193,198,43,251,193,200,43,251,193,254,43,251,193,64,44,251,193,128,44,251,193,130,44,251,193,160,44,251,193,216,44,251,193,232,44,251,193,14,45,251,193,102,45,251,193,104,45,251,193,154,45,251,193,156,45,251,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,193,144,51,253,193,132,41,251,193,134,41,251,193,136,41,251,193,138,41,251,193,140,41,251,193,142,41,251,193,144,41,251,193,146,41,251,193,148,41,251,193,150,41,251,193,152,41,251,193,154,41,251,193,156,41,251,193,158,41,251,193,160,41,251,193,176,41,251,193,178,41,251,193,180,41,251,193,182,41,251,193,184,41,251,193,186,41,251,193,202,41,251,193,204,41,251,193,206,41,251,193,216,41,251,193,230,41,251,193,218,41,251,193,220,41,251,193,222,41,251,193,224,41,251,193,232,41,251,193,234,41,251,193,236,41,251,193,238,41,251,193,244,41,251,193,250,41,251,193,2,42,251,193,4,42,251,193,12,42,251,193,20,42,251,193,22,42,251,193,24,42,251,193,42,42,251,193,44,42,251,193,46,42,251,193,70,42,251,193,72,42,251,193,74,42,251,193,76,42,251,193,78,42,251,193,80,42,251,193,82,42,251,193,210,41,251,193,246,41,251,193,254,41,251,193,6,42,251,193,14,42,251,193,88,42,251,193,156,42,251,193,158,42,251,193,224,42,251,193,40,43,251,193,42,43,251,193,44,43,251,193,46,43,251,193,48,43,251,193,118,43,251,193,120,43,251,193,122,43,251,193,124,43,251,193,126,43,251,193,186,43,251,193,244,43,251,193,246,43,251,193,50,44,251,193,52,44,251,193,116,44,251,193,156,44,251,193,158,44,251,193,170,44,251,193,172,44,251,193,212,44,251,193,214,44,251,193,240,44,251,193,30,42,251,193,32,42,251,193,34,42,251,193,52,42,251,193,54,42,251,193,56,42,251,193,58,42,251,193,60,42,251,193,62,42,251,193,92,42,251,193,94,42,251,193,96,42,251,193,98,42,251,193,100,42,251,193,102,42,251,193,104,42,251,193,106,42,251,193,108,42,251,193,110,42,251,193,112,42,251,193,114,42,251,193,166,42,251,193,168,42,251,193,170,42,251,193,172,42,251,193,174,42,251,193,176,42,251,193,178,42,251,193,180,42,251,193,182,42,251,193,184,42,251,193,186,42,251,206,160,8,0,206,160,8,0,206,160,8,0,206,160,8,0,206,160,8,0,193,2,78,251,193,4,78,251,193,6,78,251,193,8,78,251,193,40,79,251,193,42,79,251,193,44,79,251,193,46,79,251,193,48,79,251,193,50,79,251,193,52,79,251,193,84,80,251,193,86,80,251,193,88,80,251,193,40,81,251,193,42,81,251,193,192,81,251,193,194,81,251,193,196,81,251,193,52,82,251,193,136,82,251,193,138,82,251,193,238,82,251,193,14,83,251,193,96,83,251,193,38,42,251,193,128,83,251,193,50,42,251,193,226,42,251,193,228,42,251,193,230,42,251,193,232,42,251,193,234,42,251,193,50,43,251,193,52,43,251,193,54,43,251,193,56,43,251,193,58,43,251,193,60,43,251,193,128,43,251,193,130,43,251,193,132,43,251,193,134,43,251,193,136,43,251,193,138,43,251,193,140,43,251,193,188,43,251,193,190,43,251,193,192,43,251,193,194,43,251,193,248,43,251,193,250,43,251,193,252,43,251,193,54,44,251,193,56,44,251,193,58,44,251,193,60,44,251,193,62,44,251,193,118,44,251,193,84,42,251,193,86,42,251,193,120,42,251,193,122,42,251,193,124,42,251,193,126,42,251,193,128,42,251,193,130,42,251,193,132,42,251,193,134,42,251,193,136,42,251,193,138,42,251,193,140,42,251,193,142,42,251,193,144,42,251,193,146,42,251,193,148,42,251,193,194,42,251,193,196,42,251,193,198,42,251,193,200,42,251,193,202,42,251,193,204,42,251,193,206,42,251,193,208,42,251,193,210,42,251,193,212,42,251,193,214,42,251,193,216,42,251,193,218,42,251,193,12,43,251,193,14,43,251,193,240,42,251,193,242,42,251,193,244,42,251,193,246,42,251,193,248,42,251,193,250,42,251,193,252,42,251,193,254,42,251,193,2,43,251,193,4,43,251,193,6,43,251,193,8,43,251,193,62,43,251,193,64,43,251,193,66,43,251,193,68,43,251,193,70,43,251,193,72,43,251,193,146,43,251,193,148,43,251,193,150,43,251,193,152,43,251,193,154,43,251,193,106,225,251,193,156,43,251,193,158,43,251,193,160,43,251,193,202,43,251,193,204,43,251,193,206,43,251,193,208,43,251,193,2,44,251,193,16,43,251,193,18,43,251,193,20,43,251,193,22,43,251,193,24,43,251,193,26,43,251,193,28,43,251,193,30,43,251,193,32,43,251,193,34,43,251,193,36,43,251,193,80,43,251,193,82,43,251,193,84,43,251,193,86,43,251,193,88,43,251,193,90,43,251,193,92,43,251,193,94,43,251,193,96,43,251,193,98,43,251,193,100,43,251,193,102,43,251,193,104,43,251,193,106,43,251,193,108,43,251,193,110,43,251,206,96,4,0,206,96,4,0,206,96,4,0,206,96,4,0,206,96,4,0,193,162,43,251,193,210,43,251,193,78,44,251,193,180,44,251,193,182,44,251,193,184,44,251,193,186,44,251,193,202,44,251,193,136,45,251,193,162,45,251,193,176,45,251,193,242,45,251,193,14,46,251,193,54,46,251,193,226,214,252,193,136,46,251,193,138,46,251,193,246,46,251,193,20,47,251,193,22,47,251,193,24,47,251,193,42,47,251,193,112,47,251,193,136,47,251,193,170,47,251,193,194,47,251,193,236,47,251,193,238,47,251,193,170,48,251,193,102,49,251,193,248,49,251,193,250,49,251,206,96,4,0,206,96,4,0,206,96,4,0,206,96,4,0,206,96,4,0,193,212,43,251,193,214,43,251,193,216,43,251,193,218,43,251,193,220,43,251,193,222,43,251,193,224,43,251,193,226,43,251,193,228,43,251,193,230,43,251,193,232,43,251,193,234,43,251,193,236,43,251,193,238,43,251,193,20,44,251,193,22,44,251,193,24,44,251,193,26,44,251,193,28,44,251,193,30,44,251,193,32,44,251,193,34,44,251,193,36,44,251,193,38,44,251,193,40,44,251,193,42,44,251,193,44,44,251,193,184,43,251,193,240,43,251,193,242,43,251,193,46,44,251,193,112,44,251,193,114,44,251,193,154,44,251,193,230,44,251,193,238,45,251,193,254,45,251,193,36,46,251,193,68,46,251,193,122,46,251,193,150,46,251,193,152,46,251,193,210,46,251,193,230,46,251,193,50,47,251,193,106,47,251,193,34,48,251,193,124,48,251,193,146,48,251,193,190,48,251,193,206,48,251,193,224,48,251,193,226,48,251,193,246,48,251,193,12,49,251,193,26,49,251,193,52,49,251,193,92,49,251,193,172,49,251,193,4,44,251,193,6,44,251,193,8,44,251,193,10,44,251,193,12,44,251,193,14,44,251,193,16,44,251,193,18,44,251,193,66,44,251,193,68,44,251,193,70,44,251,193,72,44,251,193,74,44,251,193,76,44,251,193,132,44,251,193,134,44,251,193,136,44,251,193,138,44,251,193,140,44,251,193,162,44,251,193,174,44,251,193,176,44,251,193,178,44,251,193,218,44,251,193,224,44,251,193,244,44,251,193,246,44,251,193,248,44,251,193,250,44,251,193,252,44,251,193,254,44,251,193,2,45,251,193,80,44,251,193,82,44,251,193,84,44,251,193,86,44,251,193,88,44,251,193,90,44,251,193,92,44,251,193,94,44,251,193,96,44,251,193,98,44,251,193,100,44,251,193,102,44,251,193,104,44,251,193,106,44,251,193,108,44,251,193,110,44,251,193,142,44,251,193,144,44,251,193,146,44,251,193,148,44,251,193,150,44,251,193,152,44,251,193,164,44,251,193,166,44,251,193,168,44,251,193,188,44,251,193,190,44,251,193,192,44,251,193,194,44,251,193,196,44,251,193,198,44,251,193,200,44,251,193,120,44,251,193,122,44,251,193,124,44,251,193,126,44,251,193,12,45,251,193,38,45,251,193,48,45,251,193,60,45,251,193,62,45,251,193,82,45,251,193,84,45,251,193,100,45,251,193,152,45,251,193,172,45,251,193,188,45,251,193,190,45,251,193,2,46,251,193,18,46,251,193,38,46,251,193,48,46,251,193,90,46,251,193,102,46,251,193,104,46,251,193,158,46,251,193,160,46,251,193,176,46,251,193,178,46,251,193,234,46,251,193,252,46,251,193,254,46,251,193,54,47,251,193,158,47,251,193,204,44,251,193,206,44,251,193,208,44,251,193,210,44,251,193,220,44,251,193,222,44,251,193,226,44,251,193,228,44,251,193,234,44,251,193,236,44,251,193,238,44,251,193,242,44,251,193,10,45,251,193,26,45,251,193,28,45,251,193,30,45,251,193,32,45,251,193,42,45,251,193,44,45,251,193,46,45,251,193,52,45,251,193,54,45,251,193,56,45,251,193,58,45,251,193,70,45,251,193,72,45,251,193,74,45,251,193,76,45,251,193,78,45,251,193,80,45,251,193,88,45,251,193,90,45,251,193,4,45,251,193,6,45,251,193,8,45,251,193,16,45,251,193,18,45,251,193,20,45,251,193,22,45,251,193,24,45,251,193,40,45,251,193,50,45,251,193,64,45,251,193,66,45,251,193,68,45,251,193,86,45,251,193,106,45,251,193,132,45,251,193,134,45,251,193,158,45,251,193,160,45,251,193,174,45,251,193,206,45,251,193,234,45,251,193,240,45,251,193,248,45,251,193,50,46,251,193,52,46,251,193,82,46,251,193,92,46,251,193,94,46,251,193,96,46,251,193,98,46,251,193,106,46,251,193,34,45,251,193,36,45,251,193,128,45,251,193,130,45,251,193,170,45,251,193,210,45,251,193,220,45,251,193,246,45,251,193,56,46,251,193,58,46,251,193,80,46,251,193,88,46,251,193,100,46,251,193,124,46,251,193,126,46,251,193,128,46,251,193,154,46,251,193,174,46,251,193,156,46,251,193,212,46,251,193,232,46,251,193,16,47,251,193,32,47,251,193,52,47,251,193,70,47,251,193,72,47,251,193,80,47,251,193,84,47,251,193,86,47,251,193,110,47,251,193,38,48,251,193,86,48,251,193,92,45,251,193,94,45,251,193,96,45,251,193,98,45,251,193,108,45,251,193,110,45,251,193,112,45,251,193,114,45,251,193,116,45,251,193,118,45,251,193,120,45,251,193,122,45,251,193,124,45,251,193,126,45,251,193,138,45,251,193,140,45,251,193,142,45,251,193,144,45,251,193,146,45,251,193,148,45,251,193,150,45,251,193,164,45,251,193,166,45,251,193,168,45,251,193,178,45,251,193,180,45,251,193,182,45,251,193,184,45,251,193,186,45,251,193,192,45,251,193,194,45,251,193,196,45,251,193,198,45,251,193,200,45,251,193,202,45,251,193,208,45,251,193,212,45,251,193,214,45,251,193,216,45,251,193,218,45,251,193,222,45,251,193,224,45,251,193,226,45,251,193,228,45,251,193,230,45,251,193,232,45,251,193,236,45,251,193,244,45,251,193,250,45,251,193,4,46,251,193,6,46,251,193,8,46,251,193,10,46,251,193,12,46,251,193,16,46,251,193,22,46,251,193,24,46,251,193,26,46,251,193,28,46,251,193,30,46,251,193,32,46,251,193,34,46,251,193,40,46,251,193,42,46,251,193,204,45,251,193,252,45,251,193,20,46,251,193,64,46,251,193,162,46,251,193,236,46,251,193,238,46,251,193,2,47,251,193,34,47,251,193,92,47,251,193,132,47,251,193,144,47,251,193,162,47,251,193,204,47,251,193,206,47,251,193,224,47,251,193,16,48,251,193,18,48,251,193,40,48,251,193,42,48,251,193,44,48,251,193,90,48,251,193,106,48,251,193,108,48,251,193,128,48,251,193,130,48,251,193,150,48,251,193,152,48,251,193,198,48,251,193,210,48,251,193,212,48,251,193,254,48,251,193,108,46,251,193,110,46,251,193,112,46,251,193,130,46,251,193,132,46,251,193,134,46,251,193,164,46,251,193,180,46,251,193,182,46,251,193,184,46,251,193,214,46,251,193,216,46,251,193,240,46,251,193,242,46,251,193,244,46,251,193,18,47,251,193,36,47,251,193,38,47,251,193,40,47,251,193,56,47,251,193,74,47,251,193,82,47,251,193,94,47,251,193,100,47,251,193,118,47,251,193,120,47,251,193,122,47,251,193,134,47,251,193,146,47,251,193,150,47,251,193,164,47,251,193,166,47,251,193,194,46,251,193,196,46,251,193,198,46,251,193,152,47,251,193,200,46,251,193,202,46,251,193,204,46,251,193,206,46,251,193,208,46,251,193,220,46,251,193,222,46,251,193,224,46,251,193,226,46,251,193,228,46,251,193,248,46,251,193,250,46,251,193,4,47,251,193,6,47,251,193,8,47,251,193,10,47,251,193,12,47,251,193,14,47,251,193,26,47,251,193,28,47,251,193,30,47,251,193,44,47,251,193,46,47,251,193,48,47,251,193,58,47,251,193,60,47,251,193,62,47,251,193,64,47,251,193,66,47,251,193,68,47,251,193,76,47,251,193,78,47,251,193,88,47,251,193,90,47,251,193,96,47,251,193,98,47,251,193,102,47,251,193,104,47,251,193,108,47,251,193,114,47,251,193,116,47,251,193,124,47,251,193,128,47,251,193,130,47,251,193,138,47,251,193,140,47,251,193,142,47,251,193,148,47,251,193,154,47,251,193,156,47,251,193,160,47,251,193,172,47,251,193,174,47,251,193,176,47,251,193,178,47,251,193,196,47,251,193,198,47,251,193,216,47,251,193,218,47,251,193,200,47,251,193,202,47,251,193,102,48,251,193,104,48,251,193,126,48,251,193,148,48,251,193,166,48,251,193,168,48,251,193,196,48,251,193,232,48,251,193,234,48,251,193,236,48,251,193,14,49,251,193,16,49,251,193,28,49,251,193,38,49,251,193,76,49,251,193,94,49,251,193,190,49,251,193,252,49,251,193,12,50,251,193,24,50,251,193,44,50,251,193,78,50,251,193,80,50,251,193,82,50,251,193,84,50,251,193,86,50,251,193,112,50,251,193,114,50,251,193,146,50,251,193,148,50,251,193,156,50,251,193,220,47,251,193,222,47,251,193,240,47,251,193,242,47,251,193,244,47,251,193,246,47,251,193,248,47,251,193,250,47,251,193,252,47,251,193,254,47,251,193,2,48,251,193,4,48,251,193,6,48,251,193,8,48,251,193,10,48,251,193,12,48,251,193,14,48,251,193,20,48,251,193,22,48,251,193,24,48,251,193,26,48,251,193,28,48,251,193,30,48,251,193,32,48,251,193,60,48,251,193,62,48,251,193,64,48,251,193,66,48,251,193,68,48,251,193,70,48,251,193,72,48,251,193,74,48,251,193,76,48,251,193,78,48,251,193,80,48,251,193,110,48,251,193,112,48,251,193,114,48,251,193,116,48,251,193,118,48,251,193,120,48,251,193,122,48,251,193,134,48,251,193,136,48,251,193,138,48,251,193,140,48,251,193,142,48,251,193,144,48,251,193,156,48,251,193,158,48,251,193,160,48,251,193,162,48,251,193,172,48,251,193,174,48,251,193,176,48,251,193,178,48,251,193,180,48,251,193,182,48,251,193,184,48,251,193,186,48,251,193,188,48,251,193,200,48,251,193,202,48,251,193,204,48,251,193,38,10,252,193,40,10,252,193,68,10,252,193,70,10,252,193,72,10,252,193,82,48,251,193,96,10,252,193,98,10,252,193,100,10,252,193,102,10,252,193,104,10,252,193,106,10,252,193,108,10,252,193,110,10,252,193,112,10,252,193,114,10,252,193,116,10,252,193,118,10,252,193,198,165,251,193,140,10,252,193,142,10,252,193,144,10,252,193,146,10,252,193,148,10,252,193,150,10,252,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,193,88,48,251,193,98,48,251,193,100,48,251,193,164,48,251,193,192,48,251,193,194,48,251,193,208,48,251,193,228,48,251,193,230,48,251,193,248,48,251,193,250,48,251,193,252,48,251,193,24,49,251,193,34,49,251,193,126,49,251,193,152,49,251,193,174,49,251,193,200,49,251,193,202,49,251,193,210,49,251,193,212,49,251,193,220,49,251,193,230,49,251,193,232,49,251,193,234,49,251,193,10,50,251,193,42,50,251,193,120,50,251,193,132,50,251,193,144,50,251,193,152,50,251,193,154,50,251,193,18,49,251,193,20,49,251,193,42,49,251,193,128,49,251,193,154,49,251,193,156,49,251,193,158,49,251,193,204,49,251,193,206,49,251,193,228,49,251,193,242,49,251,193,14,50,251,193,46,50,251,193,48,50,251,193,62,50,251,193,88,50,251,193,108,50,251,193,122,50,251,193,124,50,251,193,158,50,251,193,162,50,251,193,216,50,251,193,8,51,251,193,10,51,251,193,60,51,251,193,172,51,251,193,174,51,251,193,246,51,251,193,248,51,251,193,250,51,251,193,252,51,251,193,254,51,251,193,56,49,251,193,58,49,251,193,60,49,251,193,78,49,251,193,80,49,251,193,96,49,251,193,98,49,251,193,100,49,251,193,176,49,251,193,240,49,251,193,244,49,251,193,246,49,251,193,254,49,251,193,16,50,251,193,18,50,251,193,20,50,251,193,26,50,251,193,28,50,251,193,50,50,251,193,52,50,251,193,54,50,251,193,56,50,251,193,64,50,251,193,66,50,251,193,68,50,251,193,70,50,251,193,72,50,251,193,90,50,251,193,92,50,251,193,94,50,251,193,116,50,251,193,118,50,251,193,128,119,251,193,130,119,251,193,132,119,251,193,156,119,251,193,158,119,251,193,160,119,251,193,186,119,251,193,188,119,251,193,190,119,251,193,192,119,251,193,194,119,251,193,90,49,251,193,196,119,251,193,198,119,251,193,240,119,251,193,242,119,251,193,244,119,251,193,246,119,251,193,248,119,251,193,250,119,251,193,252,119,251,193,254,119,251,193,2,120,251,193,4,120,251,193,6,120,251,193,8,120,251,193,10,120,251,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,193,108,49,251,193,110,49,251,193,112,49,251,193,114,49,251,193,116,49,251,193,118,49,251,193,120,49,251,193,122,49,251,193,124,49,251,193,130,49,251,193,132,49,251,193,134,49,251,193,136,49,251,193,138,49,251,193,140,49,251,193,142,49,251,193,144,49,251,193,146,49,251,193,148,49,251,193,160,49,251,193,162,49,251,193,164,49,251,193,166,49,251,193,168,49,251,193,242,208,253,193,170,49,251,193,178,49,251,193,180,49,251,193,182,49,251,193,184,49,251,193,186,49,251,193,188,49,251,193,72,55,251,193,74,55,251,193,76,55,251,193,78,55,251,193,80,55,251,193,82,55,251,193,84,55,251,193,86,55,251,193,88,55,251,193,150,49,251,193,112,55,251,193,114,55,251,193,116,55,251,193,118,55,251,193,120,55,251,193,122,55,251,193,124,55,251,193,126,55,251,193,128,55,251,193,130,55,251,193,132,55,251,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,193,192,49,251,193,194,49,251,193,196,49,251,193,24,102,251,193,198,49,251,193,208,49,251,193,214,49,251,193,216,49,251,193,222,49,251,193,224,49,251,193,226,49,251,193,236,49,251,193,238,49,251,193,2,50,251,193,4,50,251,193,6,50,251,193,8,50,251,193,22,50,251,193,30,50,251,193,32,50,251,193,34,50,251,193,36,50,251,193,38,50,251,193,40,50,251,193,60,50,251,193,96,50,251,193,98,50,251,193,100,50,251,193,102,50,251,193,104,50,251,193,110,50,251,193,126,50,251,193,218,49,251,193,76,50,251,193,106,50,251,193,210,50,251,193,48,51,251,193,98,51,251,193,100,51,251,193,158,51,251,193,160,51,251,193,162,51,251,193,164,51,251,193,226,51,251,193,228,51,251,193,230,51,251,193,232,51,251,193,40,52,251,193,42,52,251,193,92,52,251,193,94,52,251,193,158,52,251,193,160,52,251,193,162,52,251,193,232,52,251,193,234,52,251,193,26,53,251,193,28,53,251,193,60,53,251,193,86,53,251,193,230,53,251,193,254,53,251,193,26,54,251,193,50,54,251,193,58,50,251,193,74,50,251,193,226,50,251,193,228,50,251,193,230,50,251,193,20,51,251,193,22,51,251,193,24,51,251,193,70,51,251,193,72,51,251,193,124,51,251,193,186,51,251,193,188,51,251,193,190,51,251,193,70,52,251,193,138,52,251,193,188,52,251,193,190,52,251,193,254,52,251,193,56,53,251,193,104,53,251,193,136,53,251,193,244,53,251,193,18,54,251,193,20,54,251,193,92,54,251,193,138,54,251,193,140,54,251,193,190,54,251,193,230,54,251,193,24,55,251,193,66,55,251,193,128,50,251,193,130,50,251,193,138,50,251,193,140,50,251,193,142,50,251,193,150,50,251,193,164,50,251,193,166,50,251,193,168,50,251,193,170,50,251,193,172,50,251,193,176,50,251,193,188,50,251,193,196,50,251,193,198,50,251,193,200,50,251,193,202,50,251,193,204,50,251,193,206,50,251,193,208,50,251,193,236,50,251,193,238,50,251,193,240,50,251,193,242,50,251,193,244,50,251,193,246,50,251,193,248,50,251,193,250,50,251,193,252,50,251,193,254,50,251,193,2,51,251,193,4,51,251,193,134,50,251,193,136,50,251,193,178,50,251,193,180,50,251,193,182,50,251,193,184,50,251,193,186,50,251,193,190,50,251,193,192,50,251,193,194,50,251,193,218,50,251,193,220,50,251,193,222,50,251,193,224,50,251,193,12,51,251,193,14,51,251,193,16,51,251,193,18,51,251,193,62,51,251,193,64,51,251,193,66,51,251,193,68,51,251,193,112,51,251,193,114,51,251,193,116,51,251,193,118,51,251,193,120,51,251,193,122,51,251,193,176,51,251,193,178,51,251,193,180,51,251,193,182,51,251,193,160,50,251,193,174,50,251,193,212,50,251,193,52,51,251,193,54,51,251,193,102,51,251,193,104,51,251,193,106,51,251,193,108,51,251,193,166,51,251,193,168,51,251,193,238,51,251,193,44,52,251,193,46,52,251,193,48,52,251,193,50,52,251,193,52,52,251,193,96,52,251,193,98,52,251,193,100,52,251,193,102,52,251,193,104,52,251,193,106,52,251,193,108,52,251,193,164,52,251,193,166,52,251,193,168,52,251,193,170,52,251,193,236,52,251,193,238,52,251,193,30,53,251,193,32,53,251,193,214,50,251,193,6,51,251,193,56,51,251,193,58,51,251,193,110,51,251,193,170,51,251,193,240,51,251,193,242,51,251,193,244,51,251,193,54,52,251,193,56,52,251,193,58,52,251,193,110,52,251,193,112,52,251,193,114,52,251,193,116,52,251,193,118,52,251,193,172,52,251,193,174,52,251,193,240,52,251,193,242,52,251,193,244,52,251,193,34,53,251,193,52,53,251,193,110,53,251,193,182,53,251,193,184,53,251,193,236,53,251,193,238,53,251,193,240,53,251,193,4,54,251,193,6,54,251,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,193,192,51,251,193,194,51,251,193,196,51,251,193,198,51,251,193,200,51,251,193,202,51,251,193,204,51,251,193,206,51,251,193,208,51,251,193,210,51,251,193,212,51,251,193,214,51,251,193,216,51,251,193,218,51,251,193,220,51,251,193,222,51,251,193,224,51,251,193,12,52,251,193,14,52,251,193,16,52,251,193,18,52,251,193,20,52,251,193,22,52,251,193,24,52,251,193,140,52,251,193,128,251,252,193,130,251,252,193,224,251,252,193,226,251,252,193,228,251,252,193,230,251,252,193,38,252,252,193,40,252,252,193,42,252,252,193,44,252,252,193,112,252,252,193,150,252,252,193,152,252,252,193,174,252,252,193,178,252,252,193,180,252,252,193,194,252,252,193,214,252,252,193,184,51,251,193,216,252,252,193,218,252,252,193,2,253,252,193,4,253,252,193,6,253,252,193,8,253,252,193,10,253,252,193,12,253,252,193,54,253,252,193,56,253,252,193,58,253,252,193,98,253,252,193,100,253,252,193,2,52,251,193,4,52,251,193,6,52,251,193,8,52,251,193,60,52,251,193,62,52,251,193,64,52,251,193,66,52,251,193,68,52,251,193,10,52,251,193,134,52,251,193,136,52,251,193,178,52,251,193,180,52,251,193,182,52,251,193,184,52,251,193,186,52,251,193,250,52,251,193,252,52,251,193,54,53,251,193,82,53,251,193,114,53,251,193,120,53,251,193,130,53,251,193,132,53,251,193,134,53,251,193,144,53,251,193,146,53,251,193,148,53,251,193,162,53,251,193,164,53,251,193,186,53,251,193,26,52,251,193,28,52,251,193,30,52,251,193,32,52,251,193,34,52,251,193,36,52,251,193,38,52,251,193,72,52,251,193,74,52,251,193,76,52,251,193,78,52,251,193,80,52,251,193,82,52,251,193,84,52,251,193,86,52,251,193,88,52,251,193,90,52,251,193,142,52,251,193,144,52,251,193,146,52,251,193,148,52,251,193,150,52,251,193,152,52,251,193,154,52,251,193,156,52,251,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,193,120,52,251,193,122,52,251,193,124,52,251,193,126,52,251,193,128,52,251,193,130,52,251,193,132,52,251,193,176,52,251,193,246,52,251,193,248,52,251,193,64,53,251,193,66,53,251,193,90,53,251,193,160,53,251,193,242,53,251,193,52,54,251,193,186,54,251,193,216,54,251,193,218,54,251,193,220,54,251,193,222,54,251,193,224,54,251,193,226,54,251,193,6,55,251,193,8,55,251,193,10,55,251,193,12,55,251,193,50,55,251,193,52,55,251,193,54,55,251,193,104,55,251,193,106,55,251,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,193,2,53,251,193,4,53,251,193,6,53,251,193,8,53,251,193,10,53,251,193,12,53,251,193,14,53,251,193,16,53,251,193,18,53,251,193,20,53,251,193,22,53,251,193,24,53,251,193,226,91,252,193,36,53,251,193,38,53,251,193,40,53,251,193,42,53,251,193,44,53,251,193,58,53,251,193,46,53,251,193,48,53,251,193,50,53,251,193,62,53,251,193,88,53,251,193,108,53,251,193,142,53,251,193,194,53,251,193,232,53,251,193,234,53,251,193,2,54,251,193,28,54,251,193,70,54,251,193,72,54,251,193,74,54,251,193,108,54,251,193,110,54,251,193,120,54,251,193,160,54,251,193,210,54,251,193,250,54,251,193,252,54,251,193,254,54,251,193,2,55,251,193,4,55,251,193,42,55,251,193,94,55,251,193,96,55,251,193,138,55,251,193,140,55,251,193,142,55,251,193,144,55,251,193,68,53,251,193,70,53,251,193,72,53,251,193,74,53,251,193,76,53,251,193,78,53,251,193,80,53,251,193,84,53,251,193,178,20,252,193,92,53,251,193,94,53,251,193,96,53,251,193,98,53,251,193,100,53,251,193,102,53,251,193,106,53,251,193,112,53,251,193,116,53,251,193,118,53,251,193,122,53,251,193,124,53,251,193,126,53,251,193,128,53,251,193,138,53,251,193,140,53,251,193,150,53,251,193,152,53,251,193,154,53,251,193,156,53,251,193,158,53,251,193,166,53,251,193,168,53,251,193,196,53,251,193,198,53,251,193,200,53,251,193,14,54,251,193,16,54,251,193,32,54,251,193,78,54,251,193,90,54,251,193,122,54,251,193,124,54,251,193,128,54,251,193,130,54,251,193,132,54,251,193,134,54,251,193,136,54,251,193,162,54,251,193,164,54,251,193,166,54,251,193,188,54,251,193,228,54,251,193,14,55,251,193,16,55,251,193,18,55,251,193,20,55,251,193,22,55,251,193,56,55,251,193,58,55,251,193,60,55,251,193,62,55,251,193,64,55,251,193,108,55,251,193,110,55,251,193,8,54,251,193,10,54,251,193,12,54,251,193,30,54,251,193,76,54,251,193,126,54,251,193,184,54,251,193,212,54,251,193,214,54,251,193,44,55,251,193,46,55,251,193,48,55,251,193,98,55,251,193,100,55,251,193,102,55,251,193,146,55,251,193,148,55,251,193,190,55,251,193,192,55,251,193,228,55,251,193,230,55,251,193,40,56,251,193,42,56,251,193,56,56,251,193,222,56,251,193,224,56,251,193,112,57,251,193,114,57,251,193,116,57,251,193,118,57,251,193,120,57,251,193,122,57,251,193,36,54,251,193,38,54,251,193,40,54,251,193,42,54,251,193,44,54,251,193,46,54,251,193,54,54,251,193,56,54,251,193,58,54,251,193,60,54,251,193,62,54,251,193,64,54,251,193,66,54,251,193,82,54,251,193,84,54,251,193,86,54,251,193,88,54,251,193,94,54,251,193,96,54,251,193,100,54,251,193,112,54,251,193,102,54,251,193,104,54,251,193,106,54,251,193,114,54,251,193,116,54,251,193,142,54,251,193,144,54,251,193,146,54,251,193,148,54,251,193,150,54,251,193,152,54,251,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,193,48,54,251,193,16,194,252,193,18,194,252,193,20,194,252,193,22,194,252,193,24,194,252,193,26,194,252,193,28,194,252,193,30,194,252,193,32,194,252,193,34,194,252,193,36,194,252,193,38,194,252,193,40,194,252,193,42,194,252,193,44,194,252,193,46,194,252,193,48,194,252,193,68,194,252,193,70,194,252,193,72,194,252,193,74,194,252,193,76,194,252,193,78,194,252,193,80,194,252,193,82,194,252,193,84,194,252,193,68,54,251,193,98,54,251,193,118,54,251,193,156,54,251,193,158,54,251,193,208,54,251,193,248,54,251,193,38,55,251,193,40,55,251,193,90,55,251,193,92,55,251,193,134,55,251,193,136,55,251,193,220,55,251,193,222,55,251,193,8,56,251,193,34,56,251,193,72,56,251,193,216,56,251,193,170,58,251,193,172,58,251,193,174,58,251,193,4,60,251,193,6,60,251,193,8,60,251,193,10,60,251,206,128,5,0,206,128,5,0,206,128,5,0,206,128,5,0,206,128,5,0,206,128,5,0,193,154,54,251,193,168,54,251,193,170,54,251,193,172,54,251,193,174,54,251,193,176,54,251,193,178,54,251,193,180,54,251,193,182,54,251,193,192,54,251,193,194,54,251,193,196,54,251,193,198,54,251,193,200,54,251,193,202,54,251,193,204,54,251,193,206,54,251,193,232,54,251,193,234,54,251,193,236,54,251,193,238,54,251,193,240,54,251,193,242,54,251,193,244,54,251,193,246,54,251,193,26,55,251,193,28,55,251,193,30,55,251,193,32,55,251,193,34,55,251,193,36,55,251,193,70,55,251,193,182,55,251,193,184,55,251,193,186,55,251,193,188,55,251,193,224,55,251,193,226,55,251,193,10,56,251,193,12,56,251,193,36,56,251,193,38,56,251,193,54,56,251,193,74,56,251,193,76,56,251,193,84,56,251,193,86,56,251,193,126,56,251,193,218,56,251,193,220,56,251,193,100,57,251,193,102,57,251,193,104,57,251,193,106,57,251,193,108,57,251,193,110,57,251,193,176,58,251,193,178,58,251,193,180,58,251,193,182,58,251,193,184,58,251,193,186,58,251,193,188,58,251,193,12,60,251,193,194,55,251,193,196,55,251,193,232,55,251,193,234,55,251,193,14,56,251,193,44,56,251,193,98,56,251,193,226,56,251,193,130,57,251,193,132,57,251,193,212,58,251,193,214,58,251,193,216,58,251,193,218,58,251,193,68,60,251,193,70,60,251,193,72,60,251,193,74,60,251,193,76,60,251,193,78,60,251,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,193,198,55,251,193,16,56,251,193,144,50,253,193,182,56,251,193,184,56,251,193,186,56,251,193,24,57,251,193,26,57,251,193,28,57,251,193,18,58,251,193,20,58,251,193,22,58,251,193,24,58,251,193,26,58,251,193,28,58,251,193,30,58,251,193,32,58,251,193,34,58,251,193,36,58,251,193,38,58,251,193,40,58,251,193,42,58,251,193,44,58,251,193,96,59,251,193,98,59,251,193,100,59,251,193,102,59,251,193,104,59,251,193,106,59,251,193,108,59,251,193,110,59,251,193,112,59,251,193,236,55,251,193,58,56,251,193,88,56,251,193,112,56,251,193,128,56,251,193,130,56,251,193,132,56,251,193,134,56,251,193,136,56,251,193,138,56,251,193,140,56,251,193,142,56,251,193,144,56,251,193,146,56,251,193,148,56,251,193,150,56,251,193,152,56,251,193,154,56,251,193,156,56,251,193,158,56,251,193,160,56,251,193,162,56,251,193,164,56,251,193,166,56,251,193,168,56,251,193,170,56,251,193,172,56,251,193,174,56,251,193,176,56,251,193,178,56,251,193,180,56,251,193,228,56,251,193,150,35,251,193,212,155,251,193,206,193,251,193,236,171,252,193,200,121,251,193,114,25,252,193,60,229,251,193,206,73,253,193,118,15,253,193,174,126,253,193,42,25,253,193,252,157,251,193,6,26,251,193,160,69,251,193,238,55,251,193,192,89,251,193,182,93,251,193,118,141,251,193,96,226,251,193,232,245,251,193,110,248,251,193,130,33,251,193,54,75,252,193,12,111,252,193,216,134,252,193,160,135,252,193,36,136,252,193,246,137,252,193,234,139,253,193,186,170,252,193,136,195,252,193,178,243,252,193,26,56,251,193,28,56,251,193,30,56,251,193,46,56,251,193,48,56,251,193,50,56,251,193,52,56,251,193,60,56,251,193,62,56,251,193,64,56,251,193,66,56,251,193,68,56,251,193,70,56,251,193,78,56,251,193,80,56,251,193,82,56,251,193,90,56,251,193,94,56,251,193,96,56,251,193,100,56,251,193,102,56,251,193,104,56,251,193,106,56,251,193,108,56,251,193,110,56,251,193,114,56,251,193,116,56,251,193,118,56,251,193,120,56,251,193,122,56,251,193,124,56,251,193,192,56,251,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,193,32,56,251,193,56,126,251,193,234,98,251,193,92,56,251,193,236,98,251,193,58,99,251,193,60,99,251,193,62,99,251,193,104,99,251,193,166,99,251,193,168,99,251,193,182,99,251,193,202,99,251,193,220,99,251,193,222,99,251,193,224,99,251,193,228,99,251,193,232,99,251,193,234,99,251,193,236,99,251,193,238,99,251,193,240,99,251,193,252,99,251,193,254,99,251,193,12,100,251,193,32,100,251,193,34,100,251,193,44,100,251,193,46,100,251,193,48,100,251,193,62,100,251,193,80,100,251,193,82,100,251,193,104,100,251,193,194,56,251,193,196,56,251,193,198,56,251,193,200,56,251,193,202,56,251,193,204,56,251,193,206,56,251,193,208,56,251,193,210,56,251,193,212,56,251,193,214,56,251,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,193,230,56,251,193,232,56,251,193,234,56,251,193,236,56,251,193,238,56,251,193,240,56,251,193,242,56,251,193,244,56,251,193,246,56,251,193,248,56,251,193,250,56,251,193,252,56,251,193,254,56,251,193,2,57,251,193,4,57,251,193,6,57,251,193,8,57,251,193,10,57,251,193,12,57,251,193,14,57,251,193,16,57,251,193,18,57,251,193,20,57,251,193,22,57,251,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,193,124,57,251,193,126,57,251,193,128,57,251,193,190,58,251,193,192,58,251,193,194,58,251,193,196,58,251,193,198,58,251,193,200,58,251,193,202,58,251,193,204,58,251,193,206,58,251,193,208,58,251,193,210,58,251,193,36,60,251,193,38,60,251,193,40,60,251,193,42,60,251,193,44,60,251,193,46,60,251,193,48,60,251,193,50,60,251,193,52,60,251,193,54,60,251,193,56,60,251,193,58,60,251,193,60,60,251,193,62,60,251,193,64,60,251,193,66,60,251,193,234,61,251,193,236,61,251,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,193,220,58,251,193,222,58,251,193,224,58,251,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,193,226,58,251,193,228,58,251,193,230,58,251,193,232,58,251,193,234,58,251,193,236,58,251,193,238,58,251,193,240,58,251,193,242,58,251,193,244,58,251,193,246,58,251,193,248,58,251,193,250,58,251,193,252,58,251,193,254,58,251,193,2,59,251,193,4,59,251,193,6,59,251,193,8,59,251,193,10,59,251,193,12,59,251,193,14,59,251,193,16,59,251,193,18,59,251,193,20,59,251,193,22,59,251,193,24,59,251,193,26,59,251,193,28,59,251,193,30,59,251,193,32,59,251,193,34,59,251,193,36,59,251,193,38,59,251,193,40,59,251,193,42,59,251,193,44,59,251,193,46,59,251,193,48,59,251,193,50,59,251,193,52,59,251,193,54,59,251,193,56,59,251,193,58,59,251,193,60,59,251,193,62,59,251,193,64,59,251,193,66,59,251,193,68,59,251,193,70,59,251,193,72,59,251,193,74,59,251,193,76,59,251,193,78,59,251,193,80,59,251,193,82,59,251,193,84,59,251,193,86,59,251,193,88,59,251,193,90,59,251,193,92,59,251,193,94,59,251,193,80,60,251,193,82,60,251,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,193,14,60,251,193,16,60,251,193,18,60,251,193,20,60,251,193,22,60,251,193,24,60,251,193,26,60,251,193,28,60,251,193,30,60,251,193,32,60,251,193,34,60,251,193,198,61,251,193,200,61,251,193,202,61,251,193,204,61,251,193,206,61,251,193,208,61,251,193,210,61,251,193,212,61,251,193,214,61,251,193,216,61,251,193,218,61,251,193,220,61,251,193,222,61,251,193,224,61,251,193,226,61,251,193,228,61,251,193,230,61,251,193,232,61,251,193,242,63,251,193,244,63,251,193,246,63,251,193,84,60,251,193,86,60,251,193,88,60,251,193,90,60,251,193,92,60,251,193,94,60,251,193,96,60,251,193,98,60,251,193,100,60,251,193,102,60,251,193,104,60,251,193,106,60,251,193,108,60,251,193,110,60,251,193,112,60,251,193,114,60,251,193,116,60,251,193,118,60,251,193,120,60,251,193,122,60,251,193,124,60,251,193,126,60,251,193,128,60,251,193,130,60,251,193,132,60,251,193,134,60,251,193,136,60,251,193,138,60,251,193,140,60,251,193,142,60,251,193,144,60,251,193,146,60,251,193,148,60,251,193,150,60,251,193,152,60,251,193,154,60,251,193,156,60,251,193,158,60,251,193,160,60,251,193,162,60,251,193,164,60,251,193,166,60,251,193,168,60,251,193,170,60,251,193,172,60,251,193,174,60,251,193,176,60,251,193,178,60,251,193,180,60,251,193,182,60,251,193,184,60,251,193,186,60,251,193,188,60,251,193,190,60,251,193,192,60,251,193,194,60,251,193,196,60,251,193,198,60,251,193,200,60,251,193,202,60,251,193,204,60,251,193,206,60,251,193,208,60,251,193,210,60,251,193,212,60,251,193,214,60,251,193,216,60,251,193,218,60,251,193,220,60,251,193,222,60,251,193,224,60,251,193,226,60,251,193,228,60,251,193,230,60,251,193,232,60,251,193,234,60,251,193,236,60,251,193,238,60,251,193,240,60,251,193,202,62,251,193,204,62,251,193,206,62,251,193,208,62,251,193,210,62,251,193,212,62,251,193,214,62,251,193,216,62,251,193,218,62,251,193,220,62,251,193,222,62,251,193,224,62,251,193,226,62,251,193,228,62,251,193,230,62,251,193,232,62,251,193,6,65,251,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,128,5,0,206,128,5,0,206,128,5,0,206,128,5,0,193,220,63,251,193,222,63,251,193,224,63,251,193,226,63,251,193,228,63,251,193,230,63,251,193,232,63,251,193,234,63,251,193,236,63,251,193,238,63,251,193,240,63,251,193,88,66,251,193,90,66,251,193,92,66,251,193,94,66,251,193,96,66,251,193,98,66,251,193,100,66,251,193,102,66,251,193,104,66,251,193,106,66,251,193,108,66,251,193,110,66,251,193,112,66,251,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,193,238,61,251,193,240,61,251,193,242,61,251,193,244,61,251,193,246,61,251,193,248,61,251,193,250,61,251,193,252,61,251,193,254,61,251,193,2,62,251,193,4,62,251,193,6,62,251,193,8,62,251,193,10,62,251,193,12,62,251,193,14,62,251,193,16,62,251,193,18,62,251,193,20,62,251,193,22,62,251,193,24,62,251,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,193,76,64,251,193,78,64,251,193,80,64,251,193,82,64,251,193,84,64,251,193,86,64,251,193,88,64,251,193,90,64,251,193,92,64,251,193,94,64,251,193,96,64,251,193,98,64,251,193,100,64,251,193,246,66,251,193,248,66,251,193,250,66,251,193,252,66,251,193,254,66,251,193,2,67,251,193,4,67,251,193,6,67,251,193,8,67,251,193,10,67,251,193,12,67,251,193,14,67,251,193,16,67,251,193,18,67,251,193,120,69,251,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,193,52,65,251,193,94,63,251,193,96,63,251,193,98,63,251,193,100,63,251,193,102,63,251,193,248,93,252,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,193,158,81,252,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,193,248,63,251,193,250,63,251,193,252,63,251,193,254,63,251,193,2,64,251,193,4,64,251,193,6,64,251,193,8,64,251,193,10,64,251,193,12,64,251,193,14,64,251,193,16,64,251,193,18,64,251,193,20,64,251,193,22,64,251,193,24,64,251,193,26,64,251,193,28,64,251,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,193,20,67,251,193,200,64,251,193,202,64,251,193,204,64,251,193,206,64,251,193,208,64,251,193,30,214,251,193,210,64,251,193,212,64,251,193,214,64,251,193,216,64,251,193,218,64,251,193,220,64,251,193,222,64,251,193,224,64,251,193,226,64,251,193,228,64,251,193,230,64,251,193,22,67,251,193,232,64,251,193,234,64,251,193,236,64,251,193,238,64,251,193,240,64,251,193,242,64,251,193,244,64,251,193,246,64,251,193,248,64,251,193,250,64,251,193,252,64,251,193,254,64,251,193,2,65,251,193,4,65,251,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,193,8,65,251,193,10,65,251,193,12,65,251,193,14,65,251,193,16,65,251,193,18,65,251,193,20,65,251,193,22,65,251,193,24,65,251,193,26,65,251,193,28,65,251,193,30,65,251,193,32,65,251,193,34,65,251,193,36,65,251,193,38,65,251,193,40,65,251,193,42,65,251,193,44,65,251,193,46,65,251,193,48,65,251,193,50,65,251,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,193,218,67,251,193,220,67,251,193,222,67,251,193,224,67,251,193,226,67,251,193,228,67,251,193,230,67,251,193,232,67,251,193,234,67,251,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,193,252,68,251,193,254,68,251,193,2,69,251,193,4,69,251,193,6,69,251,193,8,69,251,193,10,69,251,193,12,69,251,193,14,69,251,193,16,69,251,193,18,69,251,193,20,69,251,193,22,69,251,193,24,69,251,193,26,69,251,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,193,156,69,251,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,193,158,69,251,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,193,160,67,251,193,130,74,251,193,132,74,251,193,134,74,251,193,136,74,251,193,138,74,251,193,140,74,251,193,142,74,251,193,144,74,251,193,146,74,251,193,148,74,251,193,150,74,251,193,98,72,251,193,152,74,251,193,100,72,251,193,154,74,251,193,22,65,252,193,156,74,251,193,158,74,251,193,160,74,251,193,162,74,251,193,164,74,251,193,166,74,251,193,168,74,251,193,170,74,251,193,30,76,251,193,32,76,251,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,193,14,70,251,193,16,70,251,193,18,70,251,193,20,70,251,193,22,70,251,193,24,70,251,193,26,70,251,193,28,70,251,193,30,70,251,193,32,70,251,193,34,70,251,193,36,70,251,193,38,70,251,193,40,70,251,193,236,67,251,193,238,67,251,193,240,67,251,193,242,67,251,193,244,67,251,193,246,67,251,193,248,67,251,193,250,67,251,193,252,67,251,193,254,67,251,193,2,68,251,193,4,68,251,193,6,68,251,193,8,68,251,193,10,68,251,193,12,68,251,193,14,68,251,193,16,68,251,193,18,68,251,193,20,68,251,193,22,68,251,193,24,68,251,193,26,68,251,193,28,68,251,193,30,68,251,193,32,68,251,193,34,68,251,193,36,68,251,193,38,68,251,193,40,68,251,193,42,68,251,193,44,68,251,193,46,68,251,193,48,68,251,193,46,70,251,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,193,48,70,251,193,50,70,251,193,52,70,251,193,54,70,251,193,56,70,251,193,216,68,251,193,218,68,251,193,220,68,251,193,222,68,251,193,58,70,251,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,193,96,71,251,193,98,71,251,193,100,71,251,193,102,71,251,193,104,71,251,193,106,71,251,193,108,71,251,193,110,71,251,193,112,71,251,193,114,71,251,193,116,71,251,193,118,71,251,193,120,71,251,193,122,71,251,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,193,28,69,251,193,30,69,251,193,32,69,251,193,124,71,251,193,126,71,251,193,128,71,251,193,130,71,251,193,132,71,251,193,134,71,251,193,136,71,251,193,138,71,251,193,140,71,251,193,142,71,251,193,144,71,251,193,146,71,251,193,148,71,251,193,150,71,251,193,152,71,251,193,154,71,251,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,193,122,69,251,193,124,69,251,193,126,69,251,193,128,69,251,193,130,69,251,193,132,69,251,193,134,69,251,193,136,69,251,193,138,69,251,193,140,69,251,193,142,69,251,193,144,69,251,193,146,69,251,193,148,69,251,193,150,69,251,193,152,69,251,193,154,69,251,193,228,71,251,193,230,71,251,193,232,71,251,193,234,71,251,193,236,71,251,193,238,71,251,193,240,71,251,193,242,71,251,193,244,71,251,193,246,71,251,193,248,71,251,193,250,71,251,193,252,71,251,193,254,71,251,193,48,74,251,193,160,69,251,193,162,69,251,193,164,69,251,193,166,69,251,193,168,69,251,193,170,69,251,193,172,69,251,193,174,69,251,193,176,69,251,193,178,69,251,193,180,69,251,193,182,69,251,193,184,69,251,193,186,69,251,193,188,69,251,193,190,69,251,193,192,69,251,193,194,69,251,193,196,69,251,193,198,69,251,193,200,69,251,193,202,69,251,193,204,69,251,193,206,69,251,193,208,69,251,193,210,69,251,193,212,69,251,193,214,69,251,193,216,69,251,193,218,69,251,193,220,69,251,193,222,69,251,193,224,69,251,193,226,69,251,193,228,69,251,193,230,69,251,193,232,69,251,193,234,69,251,193,236,69,251,193,238,69,251,193,240,69,251,193,242,69,251,193,244,69,251,193,246,69,251,193,248,69,251,193,250,69,251,193,252,69,251,193,254,69,251,193,2,70,251,193,4,70,251,193,6,70,251,193,8,70,251,193,10,70,251,193,12,70,251,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,193,42,70,251,193,44,70,251,193,102,72,251,193,104,72,251,193,106,72,251,193,108,72,251,193,110,72,251,193,112,72,251,193,114,72,251,193,116,72,251,193,118,72,251,193,120,72,251,193,122,72,251,193,124,72,251,193,126,72,251,193,128,72,251,193,130,72,251,193,174,74,251,193,176,74,251,193,178,74,251,193,180,74,251,193,182,74,251,193,184,74,251,193,186,74,251,193,188,74,251,193,190,74,251,193,192,74,251,206,160,8,0,206,160,8,0,206,160,8,0,206,160,8,0,206,160,8,0,193,60,70,251,193,62,70,251,193,64,70,251,193,66,70,251,193,68,70,251,193,70,70,251,193,72,70,251,193,74,70,251,193,76,70,251,193,78,70,251,193,80,70,251,193,82,70,251,193,84,70,251,193,86,70,251,193,88,70,251,193,90,70,251,193,92,70,251,193,94,70,251,193,96,70,251,193,98,70,251,193,100,70,251,193,102,70,251,193,104,70,251,193,106,70,251,193,108,70,251,193,110,70,251,193,112,70,251,193,114,70,251,193,116,70,251,193,118,70,251,193,120,70,251,193,122,70,251,193,124,70,251,193,126,70,251,193,128,70,251,193,130,70,251,193,132,70,251,193,134,70,251,193,136,70,251,193,138,70,251,193,140,70,251,193,142,70,251,193,144,70,251,193,146,70,251,193,148,70,251,193,150,70,251,193,152,70,251,193,154,70,251,193,200,74,251,193,202,74,251,193,204,74,251,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,193,232,73,251,193,234,73,251,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,193,68,74,251,193,70,74,251,193,84,72,251,193,86,72,251,193,88,72,251,193,90,72,251,193,92,72,251,193,94,72,251,193,96,72,251,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,193,158,75,251,193,160,75,251,193,162,75,251,193,164,75,251,193,166,75,251,193,168,75,251,193,170,75,251,193,172,75,251,193,174,75,251,193,92,77,251,193,94,77,251,193,96,77,251,193,98,77,251,193,100,77,251,193,102,77,251,193,104,77,251,193,174,78,251,193,176,78,251,193,178,78,251,193,180,78,251,193,218,79,251,193,220,79,251,193,222,79,251,193,224,79,251,193,226,79,251,193,228,79,251,193,184,80,251,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,193,178,75,251,193,180,75,251,193,182,75,251,193,184,75,251,193,186,75,251,193,188,75,251,193,190,75,251,193,192,75,251,193,194,75,251,193,196,75,251,193,198,75,251,193,200,75,251,193,202,75,251,193,204,75,251,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,193,236,73,251,193,238,73,251,193,240,73,251,193,242,73,251,193,244,73,251,193,246,73,251,193,248,73,251,193,250,73,251,193,252,73,251,193,254,73,251,193,2,74,251,193,4,74,251,193,6,74,251,193,8,74,251,193,10,74,251,193,12,74,251,193,14,74,251,193,16,74,251,193,18,74,251,193,20,74,251,193,22,74,251,193,24,74,251,193,26,74,251,193,28,74,251,193,30,74,251,193,32,74,251,193,34,74,251,193,36,74,251,193,38,74,251,193,40,74,251,193,42,74,251,193,44,74,251,193,46,74,251,193,206,75,251,193,208,75,251,193,210,75,251,193,212,75,251,193,214,75,251,193,216,75,251,193,218,75,251,193,220,75,251,193,222,75,251,193,224,75,251,193,226,75,251,193,228,75,251,193,230,75,251,193,232,75,251,193,234,75,251,193,236,75,251,193,238,75,251,193,240,75,251,193,242,75,251,193,244,75,251,193,246,75,251,193,248,75,251,193,250,75,251,193,252,75,251,193,254,75,251,193,2,76,251,193,4,76,251,193,6,76,251,193,8,76,251,193,10,76,251,193,12,76,251,193,50,74,251,193,52,74,251,193,54,74,251,193,56,74,251,193,58,74,251,193,60,74,251,193,62,74,251,193,64,74,251,193,66,74,251,193,18,76,251,193,20,76,251,193,22,76,251,193,24,76,251,193,26,76,251,193,28,76,251,193,192,77,251,193,194,77,251,193,196,77,251,193,198,77,251,193,200,77,251,193,202,77,251,193,204,77,251,193,206,77,251,193,246,78,251,193,248,78,251,193,250,78,251,193,252,78,251,193,254,78,251,193,2,79,251,193,4,79,251,193,50,80,251,193,52,80,251,193,34,76,251,193,36,76,251,193,38,76,251,193,40,76,251,193,42,76,251,193,44,76,251,193,46,76,251,193,48,76,251,193,50,76,251,193,52,76,251,193,54,76,251,193,56,76,251,193,58,76,251,193,60,76,251,193,62,76,251,193,64,76,251,193,66,76,251,193,68,76,251,193,70,76,251,193,72,76,251,193,172,74,251,193,74,76,251,193,76,76,251,193,78,76,251,193,80,76,251,193,82,76,251,193,84,76,251,193,86,76,251,193,88,76,251,193,208,77,251,193,210,77,251,193,212,77,251,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,193,124,140,252,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,193,154,75,251,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,193,156,75,251,193,44,77,251,193,46,77,251,193,48,77,251,193,50,77,251,193,52,77,251,193,54,77,251,193,56,77,251,193,58,77,251,193,60,77,251,193,62,77,251,193,64,77,251,193,66,77,251,193,68,77,251,193,70,77,251,193,72,77,251,193,74,77,251,193,76,77,251,193,78,77,251,193,80,77,251,193,82,77,251,193,84,77,251,193,86,77,251,206,32,9,0,206,32,9,0,206,32,9,0,193,14,76,251,193,16,76,251,193,140,77,251,193,142,77,251,193,144,77,251,193,146,77,251,193,148,77,251,193,150,77,251,193,152,77,251,193,154,77,251,193,156,77,251,193,158,77,251,193,160,77,251,193,162,77,251,193,164,77,251,193,166,77,251,193,168,77,251,193,170,77,251,193,172,77,251,193,174,77,251,193,176,77,251,193,178,77,251,193,180,77,251,193,182,77,251,193,184,77,251,193,186,77,251,193,188,77,251,193,190,77,251,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,193,70,190,251,193,72,190,251,193,74,190,251,193,76,190,251,193,78,190,251,193,80,190,251,193,82,190,251,193,84,190,251,193,86,190,251,193,88,77,251,193,88,190,251,193,90,190,251,193,120,190,251,193,122,190,251,193,124,190,251,193,126,190,251,193,128,190,251,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,193,90,77,251,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,193,184,78,251,193,186,78,251,193,188,78,251,193,190,78,251,193,192,78,251,193,194,78,251,193,196,78,251,193,198,78,251,193,200,78,251,193,202,78,251,193,204,78,251,193,232,79,251,193,234,79,251,193,236,79,251,193,238,79,251,193,240,79,251,193,242,79,251,193,244,79,251,193,246,79,251,193,248,79,251,193,250,79,251,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,193,214,77,251,193,216,77,251,193,218,77,251,193,220,77,251,193,222,77,251,193,224,77,251,193,226,77,251,193,228,77,251,193,230,77,251,193,232,77,251,193,234,77,251,193,236,77,251,193,238,77,251,193,240,77,251,193,242,77,251,193,244,77,251,193,246,77,251,193,248,77,251,193,250,77,251,193,252,77,251,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,193,60,80,251,193,62,80,251,193,64,80,251,193,66,80,251,193,68,80,251,193,70,80,251,193,72,80,251,193,74,80,251,193,76,80,251,193,78,80,251,193,80,80,251,193,82,80,251,193,22,81,251,193,24,81,251,193,26,81,251,193,28,81,251,193,30,81,251,193,32,81,251,193,34,81,251,193,36,81,251,193,38,81,251,193,254,77,251,206,32,10,0,206,32,10,0,206,32,10,0,206,32,10,0,206,32,10,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,193,90,80,251,193,92,80,251,193,94,80,251,193,96,80,251,193,98,80,251,193,100,80,251,193,102,80,251,193,104,80,251,193,106,80,251,193,108,80,251,193,110,80,251,193,112,80,251,193,114,80,251,193,116,80,251,193,118,80,251,193,120,80,251,193,216,79,251,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,193,222,80,251,193,224,80,251,193,226,80,251,193,228,80,251,193,230,80,251,193,232,80,251,193,234,80,251,193,236,80,251,193,238,80,251,193,240,80,251,193,242,80,251,193,244,80,251,193,246,80,251,193,248,80,251,193,250,80,251,193,252,80,251,193,254,80,251,193,2,81,251,193,4,81,251,193,6,81,251,193,8,81,251,193,10,81,251,193,54,80,251,193,56,80,251,193,58,80,251,193,16,81,251,193,18,81,251,193,20,81,251,193,162,81,251,193,164,81,251,193,166,81,251,193,168,81,251,193,32,82,251,193,34,82,251,193,128,82,251,193,242,83,251,193,244,83,251,193,42,84,251,193,44,84,251,193,206,84,251,193,38,85,251,193,90,85,251,193,116,85,251,193,202,85,251,193,246,85,251,193,248,85,251,193,70,87,251,193,72,87,251,193,74,87,251,193,76,87,251,193,78,87,251,193,80,87,251,193,82,87,251,193,70,88,251,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,193,10,66,252,193,170,80,251,193,172,80,251,193,174,80,251,193,176,80,251,193,178,80,251,193,180,80,251,193,182,80,251,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,193,186,80,251,193,188,80,251,193,108,81,251,193,110,81,251,193,112,81,251,193,102,82,251,193,212,82,251,193,214,82,251,193,232,83,251,193,34,84,251,193,80,84,251,193,136,84,251,193,190,84,251,193,192,84,251,193,32,85,251,193,76,85,251,193,130,85,251,193,236,85,251,193,238,85,251,193,64,86,251,193,66,86,251,193,68,86,251,193,70,86,251,193,72,86,251,193,14,87,251,193,16,87,251,193,18,87,251,193,20,87,251,193,22,87,251,193,24,87,251,193,26,87,251,193,28,87,251,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,193,114,81,251,193,116,81,251,193,118,81,251,193,120,81,251,193,122,81,251,193,124,81,251,193,126,81,251,193,128,81,251,193,130,81,251,193,132,81,251,193,18,82,251,193,20,82,251,193,22,82,251,193,106,82,251,193,158,82,251,193,160,82,251,193,162,82,251,193,216,82,251,193,218,82,251,193,220,82,251,193,12,81,251,193,14,81,251,193,134,81,251,193,136,81,251,193,138,81,251,193,140,81,251,193,142,81,251,193,144,81,251,193,146,81,251,193,148,81,251,193,150,81,251,193,152,81,251,193,154,81,251,193,156,81,251,193,158,81,251,193,160,81,251,193,24,82,251,193,26,82,251,193,28,82,251,193,30,82,251,193,108,82,251,193,110,82,251,193,112,82,251,193,114,82,251,193,116,82,251,193,118,82,251,193,120,82,251,193,122,82,251,193,124,82,251,193,126,82,251,193,164,82,251,193,166,82,251,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,32,10,0,206,32,10,0,206,32,10,0,206,32,10,0,206,32,10,0,193,36,82,251,193,38,82,251,193,40,82,251,193,42,82,251,193,44,82,251,193,46,82,251,193,48,82,251,193,130,82,251,193,190,81,251,193,50,82,251,193,132,82,251,193,134,82,251,193,180,82,251,193,182,82,251,193,184,82,251,193,234,82,251,193,236,82,251,193,54,83,251,193,76,83,251,193,84,83,251,193,86,83,251,193,88,83,251,193,90,83,251,193,92,83,251,193,114,83,251,193,116,83,251,193,118,83,251,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,193,160,100,251,193,82,195,252,193,54,82,251,193,56,82,251,193,58,82,251,193,60,82,251,193,62,82,251,193,64,82,251,193,66,82,251,193,68,82,251,193,70,82,251,193,72,82,251,193,74,82,251,193,76,82,251,193,16,82,251,193,78,82,251,193,80,82,251,193,82,82,251,193,84,82,251,193,86,82,251,193,88,82,251,193,90,82,251,193,92,82,251,193,94,82,251,193,96,82,251,193,98,82,251,193,100,82,251,193,140,82,251,193,142,82,251,193,144,82,251,193,146,82,251,193,148,82,251,193,150,82,251,193,152,82,251,193,154,82,251,193,156,82,251,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,193,168,82,251,193,170,82,251,193,172,82,251,193,174,82,251,193,176,82,251,193,178,82,251,193,222,82,251,193,224,82,251,193,226,82,251,193,228,82,251,193,230,82,251,193,232,82,251,193,6,83,251,193,8,83,251,193,10,83,251,193,12,83,251,193,36,83,251,193,38,83,251,193,40,83,251,193,50,83,251,193,52,83,251,193,64,83,251,193,66,83,251,193,68,83,251,193,70,83,251,193,74,83,251,193,112,83,251,193,238,83,251,193,240,83,251,193,40,84,251,193,86,84,251,193,88,84,251,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,193,240,82,251,193,242,82,251,193,244,82,251,193,246,82,251,193,248,82,251,193,250,82,251,193,252,82,251,193,254,82,251,193,2,83,251,193,16,83,251,193,18,83,251,193,20,83,251,193,22,83,251,193,24,83,251,193,26,83,251,193,28,83,251,193,30,83,251,193,32,83,251,193,34,83,251,193,42,83,251,193,44,83,251,193,56,83,251,193,58,83,251,193,60,83,251,193,46,83,251,193,72,83,251,193,4,83,251,193,48,83,251,193,110,83,251,193,234,83,251,193,236,83,251,193,36,84,251,193,38,84,251,193,82,84,251,193,84,84,251,193,138,84,251,193,140,84,251,193,194,84,251,193,196,84,251,193,244,84,251,193,246,84,251,193,248,84,251,193,34,85,251,193,78,85,251,193,108,85,251,193,132,85,251,193,146,85,251,193,174,85,251,193,200,85,251,193,240,85,251,193,242,85,251,193,74,86,251,193,76,86,251,206,192,10,0,206,192,10,0,206,192,10,0,206,192,10,0,206,192,10,0,193,166,40,253,193,168,40,253,193,170,40,253,193,172,40,253,193,174,40,253,193,62,83,251,193,176,40,253,193,178,40,253,193,184,40,253,193,190,40,253,193,82,41,253,193,162,43,253,193,174,43,253,193,176,43,253,193,178,43,253,193,186,43,253,193,188,43,253,193,190,43,253,193,192,43,253,193,202,43,253,193,204,43,253,193,214,43,253,193,216,43,253,193,218,43,253,193,228,43,253,193,230,43,253,193,238,43,253,193,240,43,253,193,242,43,253,193,244,43,253,193,246,43,253,193,248,43,253,193,78,83,251,193,80,83,251,193,82,83,251,193,100,83,251,193,102,83,251,193,104,83,251,193,106,83,251,193,130,83,251,193,132,83,251,193,134,83,251,193,136,83,251,193,138,83,251,193,140,83,251,193,142,83,251,193,144,83,251,193,146,83,251,193,148,83,251,193,150,83,251,193,152,83,251,193,154,83,251,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,193,120,83,251,193,122,83,251,193,124,83,251,193,126,83,251,193,156,83,251,193,158,83,251,193,160,83,251,193,162,83,251,193,164,83,251,193,166,83,251,193,168,83,251,193,170,83,251,193,172,83,251,193,174,83,251,193,176,83,251,193,178,83,251,193,180,83,251,193,182,83,251,193,184,83,251,193,186,83,251,193,188,83,251,193,190,83,251,193,246,83,251,193,248,83,251,193,250,83,251,193,252,83,251,193,254,83,251,193,2,84,251,193,4,84,251,193,6,84,251,193,8,84,251,193,46,84,251,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,193,16,84,251,193,18,84,251,193,20,84,251,193,22,84,251,193,24,84,251,193,120,94,252,193,26,84,251,193,28,84,251,193,30,84,251,193,32,84,251,193,52,84,251,193,54,84,251,193,56,84,251,193,58,84,251,193,60,84,251,193,62,84,251,193,64,84,251,193,66,84,251,193,68,84,251,193,70,84,251,193,72,84,251,193,74,84,251,193,76,84,251,193,78,84,251,193,10,84,251,193,12,84,251,193,50,84,251,193,102,84,251,193,48,85,251,193,160,85,251,193,216,85,251,193,160,86,251,193,162,86,251,193,164,86,251,193,166,86,251,193,168,86,251,193,170,86,251,193,172,86,251,193,174,86,251,193,176,86,251,193,178,86,251,193,168,87,251,193,170,87,251,193,172,87,251,193,174,87,251,193,176,87,251,193,172,88,251,193,174,88,251,193,176,88,251,193,178,88,251,193,180,88,251,193,182,88,251,193,184,88,251,193,186,88,251,193,188,88,251,193,194,89,251,193,48,84,251,193,90,84,251,193,92,84,251,193,94,84,251,193,96,84,251,193,98,84,251,193,100,84,251,193,152,84,251,193,154,84,251,193,156,84,251,193,158,84,251,193,160,84,251,193,208,84,251,193,210,84,251,193,212,84,251,193,162,84,251,193,214,84,251,193,254,84,251,193,2,85,251,193,4,85,251,193,6,85,251,193,8,85,251,193,40,85,251,193,42,85,251,193,44,85,251,193,46,85,251,193,92,85,251,193,118,85,251,193,120,85,251,193,178,85,251,193,180,85,251,193,186,85,251,193,104,84,251,193,106,84,251,193,108,84,251,193,110,84,251,193,112,84,251,193,114,84,251,193,116,84,251,193,118,84,251,193,120,84,251,193,122,84,251,193,124,84,251,193,126,84,251,193,128,84,251,193,130,84,251,193,132,84,251,193,134,84,251,193,164,84,251,193,166,84,251,193,168,84,251,193,170,84,251,193,172,84,251,193,174,84,251,193,176,84,251,193,178,84,251,193,180,84,251,193,182,84,251,193,184,84,251,193,186,84,251,193,216,84,251,193,218,84,251,193,220,84,251,193,222,84,251,193,142,84,251,193,144,84,251,193,146,84,251,193,148,84,251,193,150,84,251,193,198,84,251,193,200,84,251,193,202,84,251,193,204,84,251,193,250,84,251,193,252,84,251,193,36,85,251,193,80,85,251,193,82,85,251,193,84,85,251,193,86,85,251,193,88,85,251,193,110,85,251,193,112,85,251,193,114,85,251,193,134,85,251,193,148,85,251,193,152,85,251,193,158,85,251,193,176,85,251,193,184,85,251,193,244,85,251,193,78,86,251,193,80,86,251,193,82,86,251,193,56,87,251,193,58,87,251,193,188,84,251,193,224,84,251,193,226,84,251,193,228,84,251,193,230,84,251,193,232,84,251,193,234,84,251,193,236,84,251,193,238,84,251,193,240,84,251,193,10,85,251,193,12,85,251,193,14,85,251,193,16,85,251,193,18,85,251,193,20,85,251,193,22,85,251,193,24,85,251,193,26,85,251,193,28,85,251,193,30,85,251,193,50,85,251,193,52,85,251,193,54,85,251,193,56,85,251,193,58,85,251,193,60,85,251,193,62,85,251,193,64,85,251,193,66,85,251,193,68,85,251,193,70,85,251,193,110,64,252,193,112,64,252,193,114,64,252,193,116,64,252,193,118,64,252,193,120,64,252,193,122,64,252,193,124,64,252,193,126,64,252,193,128,64,252,193,130,64,252,193,132,64,252,193,144,64,252,193,146,64,252,193,148,64,252,193,150,64,252,193,170,64,252,193,172,64,252,193,174,64,252,193,176,64,252,193,190,64,252,193,192,64,252,193,194,64,252,193,242,84,251,193,196,64,252,193,198,64,252,193,200,64,252,193,202,64,252,193,226,64,252,193,228,64,252,193,230,64,252,193,232,64,252,193,72,85,251,193,74,85,251,193,94,85,251,193,96,85,251,193,98,85,251,193,122,85,251,193,100,85,251,193,102,85,251,193,104,85,251,193,106,85,251,193,124,85,251,193,126,85,251,193,128,85,251,193,136,85,251,193,138,85,251,193,140,85,251,193,142,85,251,193,144,85,251,193,150,85,251,193,154,85,251,193,156,85,251,193,162,85,251,193,164,85,251,193,166,85,251,193,168,85,251,193,170,85,251,193,172,85,251,193,182,85,251,193,194,85,251,193,196,85,251,193,198,85,251,193,218,85,251,193,188,85,251,193,190,85,251,193,204,85,251,193,206,85,251,193,208,85,251,193,210,85,251,193,212,85,251,193,214,85,251,193,250,85,251,193,252,85,251,193,254,85,251,193,2,86,251,193,4,86,251,193,6,86,251,193,8,86,251,193,10,86,251,193,12,86,251,193,14,86,251,193,16,86,251,193,18,86,251,193,20,86,251,193,22,86,251,193,24,86,251,193,26,86,251,193,28,86,251,193,30,86,251,193,32,86,251,193,84,86,251,193,86,86,251,193,88,86,251,193,90,86,251,193,92,86,251,193,220,85,251,193,222,85,251,193,224,85,251,193,226,85,251,193,228,85,251,193,230,85,251,193,232,85,251,193,234,85,251,193,34,86,251,193,36,86,251,193,38,86,251,193,40,86,251,193,42,86,251,193,44,86,251,193,46,86,251,193,48,86,251,193,50,86,251,193,52,86,251,193,54,86,251,193,56,86,251,193,58,86,251,193,60,86,251,193,62,86,251,193,154,119,251,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,193,94,86,251,193,96,86,251,193,98,86,251,193,100,86,251,193,102,86,251,193,104,86,251,193,106,86,251,193,108,86,251,193,110,86,251,193,112,86,251,193,114,86,251,193,116,86,251,193,118,86,251,193,120,86,251,193,122,86,251,193,124,86,251,193,126,86,251,193,128,86,251,193,130,86,251,193,132,86,251,193,134,86,251,193,136,86,251,193,138,86,251,193,140,86,251,193,142,86,251,193,144,86,251,193,146,86,251,193,148,86,251,193,150,86,251,193,152,86,251,193,154,86,251,193,156,86,251,193,158,86,251,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,193,30,87,251,193,32,87,251,193,34,87,251,193,26,88,251,193,28,88,251,193,30,88,251,193,32,88,251,193,34,88,251,193,36,88,251,193,38,88,251,193,40,88,251,193,42,89,251,193,44,89,251,193,46,89,251,193,48,89,251,193,50,89,251,193,52,89,251,193,54,89,251,193,56,89,251,193,58,89,251,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,192,10,0,206,192,10,0,206,192,10,0,206,192,10,0,206,192,10,0,193,42,88,251,193,44,88,251,193,46,88,251,193,48,88,251,193,60,89,251,193,62,89,251,193,64,89,251,193,66,89,251,193,68,89,251,193,70,89,251,193,72,89,251,193,104,90,251,193,106,90,251,193,108,90,251,193,110,90,251,193,112,90,251,193,114,90,251,193,116,90,251,193,118,90,251,193,120,90,251,193,122,90,251,193,124,90,251,193,126,90,251,206,64,12,0,206,64,12,0,206,64,12,0,206,64,12,0,193,60,87,251,193,62,87,251,193,64,87,251,193,66,87,251,193,68,87,251,193,50,88,251,193,52,88,251,193,54,88,251,193,56,88,251,193,58,88,251,193,60,88,251,193,62,88,251,193,64,88,251,193,66,88,251,193,68,88,251,193,74,89,251,193,76,89,251,193,78,89,251,193,80,89,251,193,82,89,251,193,84,89,251,193,86,89,251,193,88,89,251,193,90,89,251,193,92,89,251,193,94,89,251,193,96,89,251,193,98,89,251,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,193,72,88,251,193,74,88,251,193,76,88,251,193,78,88,251,193,80,88,251,193,100,89,251,193,102,89,251,193,104,89,251,193,106,89,251,193,108,89,251,193,110,89,251,193,112,89,251,193,114,89,251,193,116,89,251,193,154,90,251,193,156,90,251,193,158,90,251,193,160,90,251,193,162,90,251,193,164,90,251,193,166,90,251,193,168,90,251,193,170,90,251,193,244,91,251,193,246,91,251,193,248,91,251,193,250,91,251,193,252,91,251,193,254,91,251,193,2,92,251,193,4,92,251,193,6,92,251,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,193,168,88,251,193,166,89,251,193,168,89,251,193,170,89,251,193,172,89,251,193,174,89,251,193,176,89,251,193,178,89,251,193,180,89,251,193,182,89,251,193,184,89,251,193,186,89,251,193,188,89,251,193,190,89,251,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,193,168,205,252,193,10,89,251,193,12,89,251,193,14,89,251,193,16,89,251,193,18,89,251,193,20,89,251,193,22,89,251,193,24,89,251,193,26,89,251,193,28,89,251,193,30,89,251,193,32,89,251,193,34,89,251,193,36,89,251,193,38,89,251,193,40,89,251,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,193,196,89,251,193,198,89,251,193,200,89,251,193,202,89,251,193,204,89,251,193,206,89,251,193,208,89,251,193,32,91,251,193,34,91,251,193,36,91,251,193,38,91,251,193,40,91,251,193,42,91,251,193,44,91,251,193,110,92,251,193,112,92,251,193,114,92,251,193,116,92,251,193,118,92,251,193,120,92,251,193,122,92,251,193,124,92,251,193,126,92,251,193,128,92,251,193,130,92,251,193,230,93,251,193,232,93,251,193,234,93,251,193,236,93,251,193,238,93,251,193,240,93,251,193,242,93,251,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,193,70,90,251,193,70,240,251,193,72,240,251,193,74,240,251,193,76,240,251,193,78,240,251,193,80,240,251,193,82,240,251,193,84,240,251,193,86,240,251,193,88,240,251,193,90,240,251,193,92,240,251,193,94,240,251,193,96,240,251,193,98,240,251,193,100,240,251,193,102,240,251,193,104,240,251,193,106,240,251,193,108,240,251,193,110,240,251,193,112,240,251,193,114,240,251,206,160,36,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,193,170,91,251,193,172,91,251,193,174,91,251,193,176,91,251,193,178,91,251,193,180,91,251,193,182,91,251,193,184,91,251,193,186,91,251,193,188,91,251,193,190,91,251,193,192,91,251,193,194,91,251,193,196,91,251,193,26,93,251,193,28,93,251,193,30,93,251,193,32,93,251,193,34,93,251,193,36,93,251,193,38,93,251,193,40,93,251,193,42,93,251,193,44,93,251,193,46,93,251,193,48,93,251,193,118,94,251,193,120,94,251,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,193,218,91,251,193,220,91,251,193,222,91,251,193,224,91,251,193,226,91,251,193,228,91,251,193,230,91,251,193,232,91,251,193,234,91,251,193,236,91,251,193,238,91,251,193,240,91,251,193,242,91,251,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,193,10,92,251,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,64,12,0,206,64,12,0,206,64,12,0,206,64,12,0,206,64,12,0,206,64,12,0,193,52,93,251,193,54,93,251,193,56,93,251,193,58,93,251,193,60,93,251,193,62,93,251,193,64,93,251,193,66,93,251,193,68,93,251,193,70,93,251,193,72,93,251,193,74,93,251,193,150,94,251,193,152,94,251,193,154,94,251,193,156,94,251,193,158,94,251,193,160,94,251,193,162,94,251,193,164,94,251,193,166,94,251,193,194,95,251,193,196,95,251,193,198,95,251,193,200,95,251,193,202,95,251,193,8,92,251,193,120,93,251,193,122,93,251,193,124,93,251,193,126,93,251,193,128,93,251,193,130,93,251,193,132,93,251,193,134,93,251,193,136,93,251,193,138,93,251,193,140,93,251,193,142,93,251,193,202,94,251,193,204,94,251,193,206,94,251,193,208,94,251,193,210,94,251,193,212,94,251,193,214,94,251,193,216,94,251,193,218,94,251,193,220,94,251,193,222,94,251,193,224,94,251,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,193,144,93,251,193,90,92,251,193,92,92,251,193,94,92,251,193,96,92,251,193,98,92,251,193,146,93,251,193,100,92,251,193,102,92,251,193,104,92,251,193,106,92,251,193,108,92,251,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,193,168,94,251,193,170,94,251,193,172,94,251,193,174,94,251,193,176,94,251,193,178,94,251,193,180,94,251,193,182,94,251,193,184,94,251,193,186,94,251,193,188,94,251,193,190,94,251,193,192,94,251,193,194,94,251,193,196,94,251,193,198,94,251,193,200,94,251,193,210,95,251,193,212,95,251,193,214,95,251,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,193,122,44,253,193,124,44,253,193,126,44,253,193,128,44,253,193,130,44,253,193,144,44,253,193,146,44,253,193,116,94,251,193,148,44,253,193,162,44,253,193,164,44,253,193,166,44,253,193,168,44,253,193,184,44,253,193,186,44,253,193,188,44,253,193,190,44,253,193,192,44,253,193,194,44,253,193,196,44,253,193,198,44,253,193,200,44,253,193,202,44,253,193,218,44,253,193,220,44,253,193,222,44,253,193,224,44,253,193,226,44,253,193,238,44,253,193,240,44,253,193,242,44,253,193,244,44,253,193,122,94,251,193,124,94,251,193,126,94,251,193,128,94,251,193,130,94,251,193,132,94,251,193,134,94,251,193,136,94,251,193,138,94,251,193,140,94,251,193,142,94,251,193,144,94,251,193,146,94,251,193,148,94,251,193,170,95,251,193,172,95,251,193,174,95,251,193,176,95,251,193,178,95,251,193,180,95,251,193,182,95,251,193,184,95,251,193,186,95,251,193,188,95,251,193,190,95,251,193,214,96,251,193,216,96,251,193,218,96,251,193,220,96,251,193,222,96,251,193,224,96,251,193,178,97,251,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,193,56,95,251,193,58,95,251,193,60,95,251,193,62,95,251,193,64,95,251,193,66,95,251,193,68,95,251,193,66,96,251,193,68,96,251,193,70,96,251,193,72,96,251,193,74,96,251,193,76,96,251,193,78,96,251,193,80,96,251,193,82,96,251,193,80,97,251,193,82,97,251,193,84,97,251,193,86,97,251,193,88,97,251,193,90,97,251,193,92,97,251,193,254,97,251,193,2,98,251,193,4,98,251,193,6,98,251,193,122,98,251,193,124,98,251,193,126,98,251,193,238,98,251,193,240,98,251,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,193,86,96,251,193,88,96,251,193,200,216,252,193,210,216,252,193,216,216,252,193,218,216,252,193,220,216,252,193,228,216,252,193,230,216,252,193,232,216,252,193,168,95,251,193,236,216,252,193,238,216,252,193,240,216,252,193,242,216,252,193,244,216,252,193,250,216,252,193,252,216,252,193,254,216,252,193,12,217,252,193,14,217,252,193,16,217,252,193,18,217,252,193,24,217,252,193,26,217,252,193,34,217,252,193,36,217,252,193,28,217,252,193,38,217,252,193,40,217,252,193,42,217,252,193,56,217,252,193,58,217,252,193,60,217,252,193,192,95,251,193,192,97,251,193,166,101,251,193,178,101,251,193,126,104,251,193,4,106,251,193,140,107,251,193,122,109,251,193,124,109,251,193,164,110,251,193,166,110,251,193,168,110,251,193,128,113,251,193,144,115,251,193,160,116,251,193,62,121,251,193,250,125,251,193,128,126,251,193,250,131,251,193,32,136,251,193,130,138,251,193,150,139,251,193,8,157,251,193,10,157,251,193,180,165,251,193,142,171,251,193,138,194,251,193,14,196,251,193,6,202,251,193,226,203,251,193,208,205,251,193,64,210,251,193,204,95,251,193,206,95,251,193,208,95,251,193,226,96,251,193,228,96,251,193,230,96,251,193,232,96,251,193,234,96,251,193,236,96,251,193,238,96,251,193,240,96,251,193,242,96,251,193,244,96,251,193,194,97,251,193,196,97,251,193,198,97,251,193,96,98,251,193,98,98,251,193,100,98,251,193,102,98,251,193,104,98,251,193,106,98,251,193,196,98,251,193,198,98,251,193,200,98,251,193,36,99,251,193,38,99,251,193,40,99,251,193,42,99,251,193,90,99,251,193,92,99,251,193,94,99,251,193,216,95,251,193,218,95,251,193,220,95,251,193,222,95,251,193,224,95,251,193,226,95,251,193,228,95,251,193,230,95,251,193,232,95,251,193,234,95,251,193,246,96,251,193,248,96,251,193,250,96,251,193,252,96,251,193,254,96,251,193,2,97,251,193,4,97,251,193,6,97,251,193,8,97,251,193,10,97,251,193,12,97,251,193,14,97,251,193,200,97,251,193,202,97,251,193,204,97,251,193,206,97,251,193,208,97,251,193,210,97,251,193,212,97,251,193,214,97,251,193,108,98,251,193,110,98,251,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,193,16,97,251,193,18,97,251,193,20,97,251,193,22,97,251,193,24,97,251,193,26,97,251,193,28,97,251,193,30,97,251,193,32,97,251,193,34,97,251,193,36,97,251,193,38,97,251,193,216,97,251,193,218,97,251,193,220,97,251,193,222,97,251,193,224,97,251,193,226,97,251,193,228,97,251,193,114,98,251,193,116,98,251,193,210,98,251,193,212,98,251,193,214,98,251,193,216,98,251,193,218,98,251,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,193,16,215,253,193,32,96,251,193,34,96,251,193,36,96,251,193,38,96,251,193,40,96,251,193,42,96,251,193,44,96,251,193,46,96,251,193,48,96,251,193,50,96,251,193,52,96,251,193,54,96,251,193,56,96,251,193,58,96,251,193,60,96,251,193,62,96,251,193,64,96,251,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,193,90,96,251,193,92,96,251,193,94,96,251,193,96,96,251,193,98,96,251,193,100,96,251,193,102,96,251,193,104,96,251,193,106,96,251,193,108,96,251,193,110,96,251,193,112,96,251,193,114,96,251,193,116,96,251,193,118,96,251,193,120,96,251,193,122,96,251,193,124,96,251,193,126,96,251,193,128,96,251,193,130,96,251,193,132,96,251,193,134,96,251,193,136,96,251,193,138,96,251,193,140,96,251,193,142,96,251,193,144,96,251,193,146,96,251,193,148,96,251,193,150,96,251,193,152,96,251,193,154,96,251,193,156,96,251,193,158,96,251,193,160,96,251,193,162,96,251,193,164,96,251,193,166,96,251,193,168,96,251,193,170,96,251,193,172,96,251,193,174,96,251,193,176,96,251,193,178,96,251,193,180,96,251,193,182,96,251,193,184,96,251,193,186,96,251,193,188,96,251,193,190,96,251,193,192,96,251,193,194,96,251,193,196,96,251,193,198,96,251,193,200,96,251,193,202,96,251,193,204,96,251,193,206,96,251,193,208,96,251,193,210,96,251,193,212,96,251,193,94,97,251,193,96,97,251,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,193,230,97,251,193,232,97,251,193,234,97,251,193,236,97,251,193,238,97,251,193,240,97,251,193,242,97,251,193,244,97,251,193,246,97,251,193,248,97,251,193,250,97,251,193,118,98,251,193,120,98,251,193,222,98,251,193,224,98,251,193,226,98,251,193,228,98,251,193,230,98,251,193,232,98,251,193,98,97,251,193,100,97,251,193,102,97,251,193,104,97,251,193,106,97,251,193,108,97,251,193,110,97,251,193,112,97,251,193,114,97,251,193,116,97,251,193,118,97,251,193,120,97,251,193,122,97,251,193,124,97,251,193,126,97,251,193,128,97,251,193,130,97,251,193,132,97,251,193,134,97,251,193,136,97,251,193,138,97,251,193,140,97,251,193,142,97,251,193,144,97,251,193,146,97,251,193,148,97,251,193,126,119,253,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,193,8,98,251,193,10,98,251,193,12,98,251,193,14,98,251,193,16,98,251,193,18,98,251,193,20,98,251,193,22,98,251,193,24,98,251,193,26,98,251,193,28,98,251,193,30,98,251,193,32,98,251,193,34,98,251,193,36,98,251,193,38,98,251,193,40,98,251,193,42,98,251,193,44,98,251,193,46,98,251,193,48,98,251,193,50,98,251,193,52,98,251,193,180,97,251,193,182,97,251,193,184,97,251,193,186,97,251,193,188,97,251,193,190,97,251,193,84,98,251,193,86,98,251,193,88,98,251,193,90,98,251,193,92,98,251,193,94,98,251,193,188,98,251,193,190,98,251,193,192,98,251,193,194,98,251,193,34,99,251,193,88,99,251,193,28,100,251,193,74,100,251,193,168,100,251,193,230,100,251,193,66,101,251,193,164,101,251,193,194,101,251,193,206,101,251,193,236,101,251,193,8,102,251,193,46,102,251,193,108,102,251,193,130,102,251,193,152,102,251,193,54,98,251,193,74,218,253,193,56,98,251,193,58,98,251,193,60,98,251,193,62,98,251,193,64,98,251,193,66,98,251,193,68,98,251,193,70,98,251,193,72,98,251,193,74,98,251,193,76,98,251,193,78,98,251,193,80,98,251,193,82,98,251,193,128,98,251,193,130,98,251,193,132,98,251,193,134,98,251,193,136,98,251,193,138,98,251,193,140,98,251,193,142,98,251,193,144,98,251,193,146,98,251,193,148,98,251,193,150,98,251,193,152,98,251,193,154,98,251,193,156,98,251,193,158,98,251,193,112,98,251,193,202,98,251,193,204,98,251,193,206,98,251,193,208,98,251,193,44,99,251,193,46,99,251,193,48,99,251,193,50,99,251,193,52,99,251,193,96,99,251,193,98,99,251,193,138,99,251,193,140,99,251,193,142,99,251,193,162,99,251,193,200,99,251,193,208,99,251,193,250,99,251,193,56,100,251,193,58,100,251,193,60,100,251,193,76,100,251,193,98,100,251,193,116,100,251,193,134,100,251,193,150,100,251,193,172,100,251,193,176,100,251,193,190,100,251,193,214,100,251,193,234,100,251,193,242,98,251,193,160,98,251,193,162,98,251,193,164,98,251,193,166,98,251,193,168,98,251,193,170,98,251,193,172,98,251,193,174,98,251,193,176,98,251,193,178,98,251,193,180,98,251,193,244,98,251,193,182,98,251,193,184,98,251,193,186,98,251,193,246,98,251,193,248,98,251,193,250,98,251,193,252,98,251,193,254,98,251,193,2,99,251,193,4,99,251,193,6,99,251,193,8,99,251,193,10,99,251,193,12,99,251,193,50,44,253,206,192,13,0,206,192,13,0,206,192,13,0,206,192,13,0,193,220,98,251,193,54,99,251,193,56,99,251,193,100,99,251,193,102,99,251,193,164,99,251,193,180,99,251,193,210,99,251,193,246,99,251,193,30,100,251,193,78,100,251,193,100,100,251,193,102,100,251,193,158,100,251,193,216,100,251,193,54,101,251,193,200,101,251,193,58,102,251,193,60,102,251,193,74,102,251,193,118,102,251,193,120,102,251,193,138,102,251,193,158,102,251,193,172,102,251,193,8,103,251,193,56,103,251,193,126,103,251,193,128,103,251,193,236,103,251,193,238,103,251,193,240,103,251,206,192,13,0,206,192,13,0,206,192,13,0,206,192,13,0,206,192,13,0,206,192,13,0,193,66,99,251,193,68,99,251,193,70,99,251,193,72,99,251,193,74,99,251,193,76,99,251,193,78,99,251,193,80,99,251,193,82,99,251,193,84,99,251,193,86,99,251,193,106,99,251,193,108,99,251,193,110,99,251,193,112,99,251,193,114,99,251,193,116,99,251,193,232,161,253,193,118,99,251,193,120,99,251,193,144,99,251,193,122,99,251,193,124,99,251,193,126,99,251,193,128,99,251,193,130,99,251,193,64,99,251,193,184,99,251,193,204,99,251,193,50,100,251,193,108,100,251,193,210,100,251,193,10,101,251,193,12,101,251,193,144,101,251,193,186,101,251,193,20,102,251,193,84,102,251,193,86,102,251,193,174,102,251,193,242,102,251,193,26,103,251,193,28,103,251,193,30,103,251,193,70,103,251,193,72,103,251,193,150,103,251,193,152,103,251,193,154,103,251,193,156,103,251,193,158,103,251,193,160,103,251,193,6,104,251,193,8,104,251,193,152,104,251,193,154,104,251,193,156,104,251,193,234,104,251,193,132,99,251,193,134,99,251,193,146,99,251,193,148,99,251,193,150,99,251,193,152,99,251,193,154,99,251,193,156,99,251,193,158,99,251,193,160,99,251,193,170,99,251,193,172,99,251,193,174,99,251,193,176,99,251,193,178,99,251,193,186,99,251,193,188,99,251,193,190,99,251,193,192,99,251,193,194,99,251,193,196,99,251,193,198,99,251,193,206,99,251,193,212,99,251,193,214,99,251,193,216,99,251,193,218,99,251,193,226,99,251,193,230,99,251,193,242,99,251,193,244,99,251,193,248,99,251,193,136,99,251,193,8,100,251,193,10,100,251,193,94,100,251,193,96,100,251,193,114,100,251,193,154,100,251,193,156,100,251,193,170,100,251,193,174,100,251,193,228,100,251,193,28,101,251,193,30,101,251,193,196,101,251,193,238,101,251,193,10,102,251,193,12,102,251,193,48,102,251,193,50,102,251,193,110,102,251,193,112,102,251,193,132,102,251,193,154,102,251,193,156,102,251,193,168,102,251,193,194,102,251,193,200,102,251,193,226,102,251,193,52,103,251,193,116,103,251,193,118,103,251,193,120,103,251,193,2,100,251,193,4,100,251,193,6,100,251,193,14,100,251,193,16,100,251,193,18,100,251,193,20,100,251,193,22,100,251,193,24,100,251,193,26,100,251,193,36,100,251,193,38,100,251,193,40,100,251,193,42,100,251,193,52,100,251,193,54,100,251,193,64,100,251,193,236,104,251,193,66,100,251,193,68,100,251,193,70,100,251,193,72,100,251,193,84,100,251,193,66,218,253,193,86,100,251,193,88,100,251,193,90,100,251,193,92,100,251,193,110,100,251,193,112,100,251,193,120,100,251,193,122,100,251,193,106,100,251,193,118,100,251,193,178,100,251,193,182,100,251,193,184,100,251,193,192,100,251,193,198,100,251,193,206,100,251,193,208,100,251,193,6,101,251,193,232,100,251,193,240,100,251,193,246,100,251,193,8,101,251,193,20,101,251,193,22,101,251,193,72,101,251,193,106,101,251,193,120,101,251,193,108,101,251,193,128,101,251,193,136,101,251,193,138,101,251,193,140,101,251,193,142,101,251,193,152,101,251,193,154,101,251,193,156,101,251,193,182,101,251,193,184,101,251,193,208,101,251,193,240,101,251,193,124,100,251,193,126,100,251,193,128,100,251,193,130,100,251,193,132,100,251,193,136,100,251,193,4,45,253,193,138,100,251,193,140,100,251,193,142,100,251,193,144,100,251,193,146,100,251,193,148,100,251,193,152,100,251,193,240,133,252,193,162,100,251,193,164,100,251,193,166,100,251,193,180,100,251,193,186,100,251,193,188,100,251,193,194,100,251,193,196,100,251,193,200,100,251,193,202,100,251,193,204,100,251,193,212,100,251,193,220,100,251,193,222,100,251,193,226,100,251,193,236,100,251,193,238,100,251,193,66,211,253,193,76,211,253,193,78,211,253,193,80,211,253,193,82,211,253,193,96,211,253,193,98,211,253,193,100,211,253,193,102,211,253,193,104,211,253,193,106,211,253,193,108,211,253,193,110,211,253,193,112,211,253,193,114,211,253,193,116,211,253,193,118,211,253,193,120,211,253,193,122,211,253,193,124,211,253,193,140,211,253,193,142,211,253,193,144,211,253,193,146,211,253,193,148,211,253,193,150,211,253,193,152,211,253,193,224,100,251,193,154,211,253,193,156,211,253,193,158,211,253,193,160,211,253,193,242,100,251,193,244,100,251,193,248,100,251,193,250,100,251,193,252,100,251,193,254,100,251,193,26,101,251,193,36,101,251,193,38,101,251,193,40,101,251,193,42,101,251,193,44,101,251,193,46,101,251,193,52,101,251,193,58,101,251,193,60,101,251,193,62,101,251,193,64,101,251,193,74,101,251,193,76,101,251,193,78,101,251,193,80,101,251,193,86,101,251,193,88,101,251,193,92,101,251,193,94,101,251,193,96,101,251,193,102,101,251,193,110,101,251,193,112,101,251,193,114,101,251,193,116,101,251,193,2,101,251,193,4,101,251,193,14,101,251,193,16,101,251,193,18,101,251,193,32,101,251,193,34,101,251,193,48,101,251,193,68,101,251,193,70,101,251,193,82,101,251,193,84,101,251,193,90,101,251,193,98,101,251,193,100,101,251,193,104,101,251,193,118,101,251,193,124,101,251,193,130,101,251,193,168,101,251,193,170,101,251,193,180,101,251,193,198,101,251,193,14,102,251,193,16,102,251,193,52,102,251,193,54,102,251,193,56,102,251,193,114,102,251,193,116,102,251,193,134,102,251,193,136,102,251,193,122,101,251,193,126,101,251,193,132,101,251,193,134,101,251,193,146,101,251,193,148,101,251,193,150,101,251,193,158,101,251,193,160,101,251,193,162,101,251,193,172,101,251,193,174,101,251,193,176,101,251,193,188,101,251,193,190,101,251,193,192,101,251,193,202,101,251,193,204,101,251,193,212,101,251,193,214,101,251,193,216,101,251,193,218,101,251,193,220,101,251,193,222,101,251,193,224,101,251,193,226,101,251,193,228,101,251,193,230,101,251,193,232,101,251,193,244,101,251,193,246,101,251,193,248,101,251,193,100,212,251,193,110,212,251,193,112,212,251,193,114,212,251,193,116,212,251,193,118,212,251,193,120,212,251,193,122,212,251,193,234,101,251,193,124,212,251,193,130,212,251,193,132,212,251,193,134,212,251,193,136,212,251,193,144,212,251,193,146,212,251,193,148,212,251,193,150,212,251,193,152,212,251,193,154,212,251,193,156,212,251,193,158,212,251,193,160,212,251,193,162,212,251,193,164,212,251,193,166,212,251,193,174,212,251,193,176,212,251,193,178,212,251,193,182,212,251,193,184,212,251,193,186,212,251,193,242,101,251,193,18,102,251,193,76,102,251,193,78,102,251,193,80,102,251,193,82,102,251,193,122,102,251,193,204,102,251,193,206,102,251,193,208,102,251,193,210,102,251,193,212,102,251,193,214,102,251,193,216,102,251,193,228,102,251,193,230,102,251,193,232,102,251,193,234,102,251,193,236,102,251,193,238,102,251,193,240,102,251,193,10,103,251,193,12,103,251,193,14,103,251,193,16,103,251,193,18,103,251,193,20,103,251,193,22,103,251,193,24,103,251,193,58,103,251,193,60,103,251,193,62,103,251,193,250,101,251,193,252,101,251,193,254,101,251,193,2,102,251,193,4,102,251,193,6,102,251,193,26,102,251,193,28,102,251,193,30,102,251,193,32,102,251,193,34,102,251,193,36,102,251,193,38,102,251,193,40,102,251,193,42,102,251,193,62,102,251,193,44,102,251,193,64,102,251,193,66,102,251,193,68,102,251,193,70,102,251,193,72,102,251,193,88,102,251,193,90,102,251,193,92,102,251,193,94,102,251,193,96,102,251,193,98,102,251,193,100,102,251,193,102,102,251,193,104,102,251,193,124,102,251,193,126,102,251,193,128,102,251,193,144,102,251,193,146,102,251,193,148,102,251,193,150,102,251,193,162,102,251,193,164,102,251,193,166,102,251,193,176,102,251,193,178,102,251,193,182,102,251,193,184,102,251,193,188,102,251,193,190,102,251,193,196,102,251,193,186,102,251,193,202,102,251,193,218,102,251,193,220,102,251,193,222,102,251,193,244,102,251,193,246,102,251,193,248,102,251,193,250,102,251,193,252,102,251,193,254,102,251,193,2,103,251,193,52,72,252,193,34,103,251,193,36,103,251,193,38,103,251,193,170,102,251,193,180,102,251,193,6,103,251,193,54,103,251,193,122,103,251,193,124,103,251,193,224,103,251,193,226,103,251,193,228,103,251,193,230,103,251,193,232,103,251,193,234,103,251,193,54,104,251,193,56,104,251,193,58,104,251,193,132,104,251,193,134,104,251,193,136,104,251,193,138,104,251,193,204,104,251,193,206,104,251,193,208,104,251,193,210,104,251,193,44,105,251,193,46,105,251,193,48,105,251,193,50,105,251,193,52,105,251,193,122,105,251,193,124,105,251,193,126,105,251,193,128,105,251,193,192,102,251,193,224,102,251,193,4,103,251,193,50,103,251,193,110,103,251,193,112,103,251,193,114,103,251,193,206,103,251,193,208,103,251,193,210,103,251,193,212,103,251,193,214,103,251,193,216,103,251,193,42,104,251,193,44,104,251,193,46,104,251,193,120,104,251,193,122,104,251,193,124,104,251,193,196,104,251,193,198,104,251,193,200,104,251,193,24,105,251,193,26,105,251,193,28,105,251,193,106,105,251,193,108,105,251,193,110,105,251,193,164,105,251,193,166,105,251,193,168,105,251,193,214,105,251,193,94,6,252,193,96,6,252,193,98,6,252,193,100,6,252,193,102,6,252,193,104,6,252,193,106,6,252,193,108,6,252,193,110,6,252,193,120,6,252,193,122,6,252,193,124,6,252,193,126,6,252,193,128,6,252,193,112,6,252,193,130,6,252,193,132,6,252,193,134,6,252,193,146,6,252,193,198,102,251,193,148,6,252,193,150,6,252,193,160,6,252,193,162,6,252,193,164,6,252,193,168,6,252,193,172,6,252,193,174,6,252,193,176,6,252,193,182,6,252,193,184,6,252,193,186,6,252,193,40,103,251,193,42,103,251,193,44,103,251,193,46,103,251,193,48,103,251,193,74,103,251,193,76,103,251,193,78,103,251,193,80,103,251,193,82,103,251,193,84,103,251,193,86,103,251,193,88,103,251,193,90,103,251,193,92,103,251,193,94,103,251,193,96,103,251,193,98,103,251,193,100,103,251,193,102,103,251,193,104,103,251,193,106,103,251,193,108,103,251,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,193,64,103,251,193,66,103,251,193,68,103,251,193,130,103,251,193,132,103,251,193,134,103,251,193,136,103,251,193,138,103,251,193,140,103,251,193,142,103,251,193,64,104,251,193,144,103,251,193,146,103,251,193,148,103,251,193,242,103,251,193,244,103,251,193,246,103,251,193,248,103,251,193,250,103,251,193,252,103,251,193,254,103,251,193,2,104,251,193,4,104,251,193,66,104,251,193,68,104,251,193,70,104,251,193,72,104,251,193,144,104,251,193,146,104,251,193,148,104,251,193,150,104,251,193,220,104,251,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,193,10,104,251,193,12,104,251,193,14,104,251,193,16,104,251,193,18,104,251,193,20,104,251,193,22,104,251,193,24,104,251,193,26,104,251,193,28,104,251,193,30,104,251,193,32,104,251,193,34,104,251,193,36,104,251,193,38,104,251,193,40,104,251,193,74,104,251,193,76,104,251,193,78,104,251,193,218,103,251,193,220,103,251,193,222,103,251,193,48,104,251,193,50,104,251,193,52,104,251,193,128,104,251,193,130,104,251,193,202,104,251,193,30,105,251,193,32,105,251,193,34,105,251,193,36,105,251,193,38,105,251,193,40,105,251,193,42,105,251,193,112,105,251,193,114,105,251,193,116,105,251,193,118,105,251,193,120,105,251,193,170,105,251,193,172,105,251,193,174,105,251,193,220,105,251,193,222,105,251,193,224,105,251,193,226,105,251,193,228,105,251,193,6,106,251,193,8,106,251,193,10,106,251,193,60,104,251,193,62,104,251,193,140,104,251,193,142,104,251,193,212,104,251,193,214,104,251,193,216,104,251,193,218,104,251,193,54,105,251,193,56,105,251,193,58,105,251,193,60,105,251,193,62,105,251,193,130,105,251,193,132,105,251,193,178,105,251,193,180,105,251,193,230,105,251,193,20,106,251,193,22,106,251,193,72,106,251,193,106,106,251,193,142,106,251,193,234,106,251,193,236,106,251,193,170,107,251,193,172,107,251,193,174,107,251,193,158,108,251,193,162,109,251,193,164,109,251,193,166,109,251,193,80,104,251,193,82,104,251,193,84,104,251,193,86,104,251,193,88,104,251,193,90,104,251,193,92,104,251,193,94,104,251,193,96,104,251,193,98,104,251,193,100,104,251,193,102,104,251,193,104,104,251,193,106,104,251,193,108,104,251,193,110,104,251,193,112,104,251,193,114,104,251,193,116,104,251,193,118,104,251,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,193,238,104,251,193,240,104,251,193,242,104,251,193,244,104,251,193,246,104,251,193,248,104,251,193,250,104,251,193,252,104,251,193,254,104,251,193,2,105,251,193,4,105,251,193,6,105,251,193,8,105,251,193,10,105,251,193,12,105,251,193,14,105,251,193,16,105,251,193,18,105,251,193,20,105,251,193,22,105,251,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,193,222,104,251,193,224,104,251,193,226,104,251,193,228,104,251,193,230,104,251,193,232,104,251,193,64,105,251,193,66,105,251,193,68,105,251,193,134,105,251,193,136,105,251,193,138,105,251,193,140,105,251,193,182,105,251,193,232,105,251,193,234,105,251,193,44,106,251,193,78,106,251,193,92,106,251,193,100,106,251,193,108,106,251,193,110,106,251,193,112,106,251,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,193,70,105,251,193,236,105,251,193,114,106,251,193,180,106,251,193,182,106,251,193,184,106,251,193,186,106,251,193,188,106,251,193,190,106,251,193,52,107,251,193,54,107,251,193,56,107,251,193,58,107,251,193,60,107,251,193,62,107,251,193,64,107,251,193,10,108,251,193,12,108,251,193,14,108,251,193,16,108,251,193,18,108,251,193,20,108,251,193,22,108,251,193,24,108,251,193,26,108,251,193,28,108,251,193,30,108,251,193,32,108,251,193,34,108,251,193,36,108,251,193,38,108,251,193,40,108,251,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,193,142,105,251,193,144,105,251,193,146,105,251,193,148,105,251,193,150,105,251,193,152,105,251,193,154,105,251,193,156,105,251,193,158,105,251,193,160,105,251,193,162,105,251,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,193,176,105,251,193,14,106,251,193,16,106,251,193,18,106,251,193,42,106,251,193,52,106,251,193,62,106,251,193,132,106,251,193,134,106,251,193,136,106,251,193,138,106,251,193,140,106,251,193,230,106,251,193,232,106,251,193,166,107,251,193,168,107,251,193,146,108,251,193,148,108,251,193,150,108,251,193,152,108,251,193,154,108,251,193,156,108,251,193,154,109,251,193,156,109,251,193,158,109,251,193,160,109,251,193,196,110,251,193,198,110,251,193,200,110,251,193,202,110,251,193,204,110,251,193,206,110,251,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,193,238,105,251,193,240,105,251,193,242,105,251,193,244,105,251,193,246,105,251,193,248,105,251,193,250,105,251,193,252,105,251,193,254,105,251,193,24,106,251,193,26,106,251,193,28,106,251,193,30,106,251,193,32,106,251,193,34,106,251,193,36,106,251,193,38,106,251,193,46,106,251,193,54,106,251,193,56,106,251,193,58,106,251,193,64,106,251,193,74,106,251,193,76,106,251,193,80,106,251,193,82,106,251,193,216,105,251,193,218,105,251,193,50,106,251,193,66,106,251,193,220,106,251,193,222,106,251,193,126,107,251,193,128,107,251,193,130,107,251,193,132,107,251,193,134,107,251,193,136,107,251,193,138,107,251,193,128,108,251,193,130,108,251,193,132,108,251,193,134,108,251,193,112,109,251,193,114,109,251,193,116,109,251,193,118,109,251,193,120,109,251,193,154,110,251,193,156,110,251,193,158,110,251,193,160,110,251,193,162,110,251,206,160,15,0,206,160,15,0,206,160,15,0,206,160,15,0,206,160,15,0,193,2,106,251,193,44,60,252,193,46,60,252,193,48,60,252,193,50,60,252,193,52,60,252,193,54,60,252,193,56,60,252,193,58,60,252,193,60,60,252,193,62,60,252,193,64,60,252,193,66,60,252,193,68,60,252,193,70,60,252,193,72,60,252,193,74,60,252,193,76,60,252,193,78,60,252,193,80,60,252,193,82,60,252,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,193,12,106,251,193,40,106,251,193,60,106,251,193,68,106,251,193,70,106,251,193,90,106,251,193,104,106,251,193,130,106,251,193,224,106,251,193,226,106,251,193,228,106,251,193,142,107,251,193,144,107,251,193,146,107,251,193,148,107,251,193,150,107,251,193,152,107,251,193,154,107,251,193,156,107,251,193,158,107,251,193,160,107,251,193,162,107,251,193,164,107,251,193,136,108,251,193,138,108,251,193,140,108,251,193,142,108,251,193,144,108,251,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,193,192,145,251,193,194,145,251,193,228,145,251,193,230,145,251,193,232,145,251,193,234,145,251,193,236,145,251,193,238,145,251,193,240,145,251,193,242,145,251,193,244,145,251,193,246,145,251,193,248,145,251,193,250,145,251,193,252,145,251,193,254,145,251,193,2,146,251,193,4,146,251,193,6,146,251,193,8,146,251,193,10,146,251,193,12,146,251,193,14,146,251,193,48,106,251,193,56,146,251,193,58,146,251,193,60,146,251,193,62,146,251,193,64,146,251,193,66,146,251,193,68,146,251,193,70,146,251,193,84,106,251,193,86,106,251,193,88,106,251,193,94,106,251,193,96,106,251,193,98,106,251,193,102,106,251,193,116,106,251,193,118,106,251,193,120,106,251,193,122,106,251,193,124,106,251,193,126,106,251,193,128,106,251,193,192,106,251,193,194,106,251,193,196,106,251,193,198,106,251,193,200,106,251,193,202,106,251,193,204,106,251,193,206,106,251,193,208,106,251,193,210,106,251,193,212,106,251,193,214,106,251,193,216,106,251,193,218,106,251,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,193,238,106,251,193,240,106,251,193,242,106,251,193,244,106,251,193,160,108,251,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,193,66,107,251,193,50,110,251,193,52,110,251,193,54,110,251,193,56,110,251,193,90,111,251,193,92,111,251,193,94,111,251,193,96,111,251,193,98,111,251,193,100,111,251,193,102,111,251,193,104,111,251,193,106,111,251,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,193,46,108,251,193,48,108,251,193,50,108,251,193,52,108,251,193,54,108,251,193,56,108,251,193,58,108,251,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,193,42,108,251,193,44,108,251,193,2,109,251,193,4,109,251,193,6,109,251,193,8,109,251,193,10,109,251,193,12,109,251,193,14,109,251,193,16,109,251,193,18,109,251,193,20,109,251,193,22,109,251,193,12,110,251,193,14,110,251,193,16,110,251,193,18,110,251,193,20,110,251,193,22,110,251,193,24,110,251,193,26,110,251,193,28,110,251,193,30,110,251,193,32,110,251,193,34,110,251,193,36,110,251,193,38,110,251,193,40,110,251,193,42,110,251,193,44,110,251,193,46,110,251,193,48,110,251,193,60,108,251,193,62,108,251,193,64,108,251,193,66,108,251,193,68,108,251,193,70,108,251,193,72,108,251,193,74,108,251,193,76,108,251,193,78,108,251,193,80,108,251,193,82,108,251,193,84,108,251,193,86,108,251,193,88,108,251,193,90,108,251,193,92,108,251,193,94,108,251,193,96,108,251,193,98,108,251,193,100,108,251,193,102,108,251,193,104,108,251,193,106,108,251,193,108,108,251,193,110,108,251,193,112,108,251,193,114,108,251,193,116,108,251,193,118,108,251,193,120,108,251,193,122,108,251,193,124,108,251,193,126,108,251,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,193,176,109,251,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,193,114,168,252,193,248,108,251,193,250,108,251,193,252,108,251,193,254,108,251,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,193,170,110,251,193,172,110,251,193,174,110,251,193,176,110,251,193,178,110,251,193,180,110,251,193,182,110,251,193,184,110,251,193,186,110,251,193,188,110,251,193,190,110,251,193,192,110,251,193,194,110,251,193,254,111,251,193,2,112,251,193,4,112,251,193,6,112,251,193,8,112,251,193,10,112,251,193,12,112,251,193,14,112,251,193,16,112,251,193,168,109,251,193,170,109,251,193,172,109,251,193,174,109,251,193,208,110,251,193,210,110,251,193,34,112,251,193,36,112,251,193,38,112,251,193,40,112,251,193,42,112,251,193,44,112,251,193,174,113,251,193,176,113,251,193,178,113,251,193,174,114,251,193,176,114,251,193,178,114,251,193,180,114,251,193,182,114,251,193,184,114,251,193,196,115,251,193,194,116,251,193,196,116,251,193,144,117,251,193,146,117,251,193,148,117,251,193,54,119,251,193,168,119,251,193,170,119,251,193,208,119,251,193,210,119,251,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,193,212,110,251,193,248,109,251,193,250,109,251,193,252,109,251,193,254,109,251,193,2,110,251,193,4,110,251,193,6,110,251,193,8,110,251,193,214,110,251,193,216,110,251,193,218,110,251,193,220,110,251,193,222,110,251,193,224,110,251,193,226,110,251,193,228,110,251,193,10,110,251,193,230,110,251,193,232,110,251,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,193,108,111,251,193,110,111,251,193,234,110,251,193,236,110,251,193,238,110,251,193,240,110,251,193,242,110,251,193,244,110,251,193,246,110,251,193,248,110,251,193,250,110,251,193,252,110,251,193,254,110,251,193,2,111,251,193,4,111,251,193,6,111,251,193,8,111,251,193,10,111,251,193,12,111,251,193,14,111,251,193,16,111,251,193,18,111,251,193,20,111,251,193,22,111,251,193,24,111,251,193,26,111,251,193,28,111,251,193,30,111,251,193,32,111,251,193,34,111,251,193,36,111,251,193,38,111,251,193,40,111,251,193,42,111,251,193,44,111,251,193,46,111,251,193,48,111,251,193,50,111,251,193,52,111,251,193,54,111,251,193,56,111,251,193,58,111,251,193,60,111,251,193,62,111,251,193,64,111,251,193,66,111,251,193,68,111,251,193,70,111,251,193,72,111,251,193,74,111,251,193,76,111,251,193,78,111,251,193,80,111,251,193,82,111,251,193,84,111,251,193,86,111,251,193,88,111,251,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,193,112,111,251,193,114,111,251,193,116,111,251,193,118,111,251,193,120,111,251,193,122,111,251,193,124,111,251,193,126,111,251,193,128,111,251,193,130,111,251,193,132,111,251,193,134,111,251,193,136,111,251,193,138,111,251,193,140,111,251,193,142,111,251,193,144,111,251,193,146,111,251,193,148,111,251,193,150,111,251,193,152,111,251,193,154,111,251,193,156,111,251,193,158,111,251,193,160,111,251,193,162,111,251,193,164,111,251,193,166,111,251,193,168,111,251,193,170,111,251,193,172,111,251,193,174,111,251,193,176,111,251,193,178,111,251,193,180,111,251,193,182,111,251,193,184,111,251,193,186,111,251,193,188,111,251,193,190,111,251,193,192,111,251,193,194,111,251,193,196,111,251,193,198,111,251,193,200,111,251,193,202,111,251,193,204,111,251,193,206,111,251,193,208,111,251,193,210,111,251,193,212,111,251,193,214,111,251,193,216,111,251,193,218,111,251,193,220,111,251,193,222,111,251,193,224,111,251,193,226,111,251,193,228,111,251,193,230,111,251,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,160,15,0,206,160,15,0,206,160,15,0,206,160,15,0,206,160,15,0,206,160,15,0,193,106,113,251,193,108,113,251,193,110,113,251,193,112,113,251,193,114,113,251,193,116,113,251,193,118,113,251,193,120,113,251,193,122,113,251,193,124,113,251,193,126,113,251,193,124,114,251,193,126,114,251,193,128,114,251,193,130,114,251,193,132,114,251,193,134,114,251,193,126,115,251,193,128,115,251,193,130,115,251,193,132,115,251,193,134,115,251,193,136,115,251,193,138,115,251,193,140,115,251,193,142,115,251,193,18,112,251,193,20,112,251,193,22,112,251,193,130,113,251,193,132,113,251,193,134,113,251,193,136,113,251,193,138,113,251,193,140,113,251,193,142,113,251,193,144,113,251,193,146,113,251,193,148,113,251,193,150,113,251,193,152,113,251,193,154,113,251,193,156,113,251,193,136,114,251,193,138,114,251,193,140,114,251,193,142,114,251,193,144,114,251,193,146,114,251,193,148,114,251,193,150,114,251,193,152,114,251,193,154,114,251,193,156,114,251,193,158,114,251,193,160,114,251,193,162,114,251,193,146,115,251,193,24,112,251,193,26,112,251,193,28,112,251,193,30,112,251,193,32,112,251,193,158,113,251,193,160,113,251,193,162,113,251,193,164,113,251,193,166,113,251,193,168,113,251,193,170,113,251,193,172,113,251,193,164,114,251,193,166,114,251,193,168,114,251,193,170,114,251,193,172,114,251,193,172,115,251,193,174,115,251,193,176,115,251,193,178,115,251,193,180,115,251,193,182,115,251,193,184,115,251,193,186,115,251,193,188,115,251,193,190,115,251,193,192,115,251,193,194,115,251,193,186,116,251,193,188,116,251,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,193,180,113,251,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,193,158,112,251,193,244,113,251,193,246,113,251,193,248,113,251,193,250,113,251,193,252,113,251,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,193,254,113,251,193,2,114,251,193,4,114,251,193,6,114,251,193,8,114,251,193,10,114,251,193,12,114,251,193,14,114,251,193,16,114,251,193,18,114,251,193,20,114,251,193,22,114,251,193,24,114,251,193,26,114,251,193,28,114,251,193,30,114,251,193,246,114,251,193,248,114,251,193,250,114,251,193,252,114,251,193,254,114,251,193,2,115,251,193,4,115,251,193,6,115,251,193,8,115,251,193,10,115,251,193,12,115,251,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,193,36,115,251,193,38,115,251,193,40,115,251,193,104,113,251,193,42,115,251,193,44,115,251,193,46,115,251,193,48,115,251,193,50,115,251,193,52,115,251,193,54,115,251,193,56,115,251,193,58,115,251,193,60,115,251,193,62,115,251,193,64,115,251,193,66,115,251,193,68,115,251,193,18,116,251,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,193,14,116,251,193,20,115,251,193,16,116,251,193,22,115,251,193,24,115,251,193,26,115,251,193,28,115,251,193,30,115,251,193,32,115,251,193,34,115,251,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,193,14,115,251,193,16,115,251,193,18,115,251,193,2,116,251,193,4,116,251,193,6,116,251,193,8,116,251,193,10,116,251,193,12,116,251,193,238,116,251,193,240,116,251,193,242,116,251,193,244,116,251,193,246,116,251,193,190,117,251,193,192,117,251,193,46,118,251,193,48,118,251,193,126,118,251,193,128,118,251,193,130,118,251,193,132,118,251,193,202,118,251,193,204,118,251,193,206,118,251,193,250,118,251,193,28,119,251,193,94,119,251,193,96,119,251,193,152,119,251,193,182,119,251,193,184,119,251,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,193,148,115,251,193,150,115,251,193,152,115,251,193,154,115,251,193,156,115,251,193,158,115,251,193,160,115,251,193,162,115,251,193,164,115,251,193,166,115,251,193,168,115,251,193,170,115,251,193,162,116,251,193,164,116,251,193,166,116,251,193,168,116,251,193,170,116,251,193,172,116,251,193,174,116,251,193,176,116,251,193,178,116,251,193,180,116,251,193,182,116,251,193,184,116,251,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,193,198,116,251,193,200,116,251,193,202,116,251,193,204,116,251,193,206,116,251,193,208,116,251,193,210,116,251,193,212,116,251,193,214,116,251,193,216,116,251,193,218,116,251,193,220,116,251,193,222,116,251,193,224,116,251,193,226,116,251,193,228,116,251,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,193,248,116,251,193,112,171,252,193,146,116,251,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,193,148,116,251,193,150,116,251,193,152,116,251,193,154,116,251,193,156,116,251,193,158,116,251,193,100,117,251,193,102,117,251,193,104,117,251,193,106,117,251,193,108,117,251,193,12,118,251,193,88,118,251,193,90,118,251,193,92,118,251,193,94,118,251,193,170,118,251,193,172,118,251,193,228,118,251,193,14,119,251,193,16,119,251,193,64,119,251,193,200,119,251,193,202,119,251,193,204,119,251,193,206,119,251,193,12,120,251,193,68,120,251,193,144,120,251,193,146,120,251,193,148,120,251,193,204,120,251,193,190,116,251,193,192,116,251,193,136,117,251,193,138,117,251,193,140,117,251,193,142,117,251,193,30,118,251,193,32,118,251,193,34,118,251,193,110,118,251,193,112,118,251,193,114,118,251,193,116,118,251,193,118,118,251,193,186,118,251,193,234,118,251,193,236,118,251,193,238,118,251,193,240,118,251,193,242,118,251,193,84,119,251,193,92,119,251,193,136,119,251,193,138,119,251,193,140,119,251,193,142,119,251,193,162,119,251,193,164,119,251,193,166,119,251,193,20,120,251,193,22,120,251,193,24,120,251,193,230,116,251,193,232,116,251,193,234,116,251,193,150,117,251,193,152,117,251,193,154,117,251,193,156,117,251,193,158,117,251,193,160,117,251,193,162,117,251,193,164,117,251,193,166,117,251,193,168,117,251,193,170,117,251,193,172,117,251,193,174,117,251,193,176,117,251,193,178,117,251,193,180,117,251,193,182,117,251,193,236,116,251,193,184,117,251,193,186,117,251,193,188,117,251,193,36,118,251,193,120,118,251,193,38,118,251,193,40,118,251,193,42,118,251,193,44,118,251,193,122,118,251,193,124,118,251,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,193,194,117,251,193,196,117,251,193,198,117,251,193,200,117,251,193,202,117,251,193,204,117,251,193,206,117,251,193,208,117,251,193,210,117,251,193,212,117,251,193,214,117,251,193,216,117,251,193,218,117,251,193,220,117,251,193,222,117,251,193,224,117,251,193,226,117,251,193,228,117,251,193,230,117,251,193,232,117,251,193,234,117,251,193,236,117,251,193,238,117,251,193,240,117,251,193,242,117,251,193,244,117,251,193,246,117,251,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,193,14,118,251,193,16,118,251,193,18,118,251,193,20,118,251,193,22,118,251,193,24,118,251,193,26,118,251,193,28,118,251,193,96,118,251,193,98,118,251,193,100,118,251,193,102,118,251,193,104,118,251,193,106,118,251,193,108,118,251,193,174,118,251,193,176,118,251,193,178,118,251,193,180,118,251,193,182,118,251,193,184,118,251,193,230,118,251,193,232,118,251,193,18,119,251,193,20,119,251,193,50,119,251,193,52,119,251,193,248,117,251,193,250,117,251,193,184,98,253,193,252,117,251,193,254,117,251,193,2,118,251,193,4,118,251,193,6,118,251,193,8,118,251,193,10,118,251,193,50,118,251,193,52,118,251,193,54,118,251,193,56,118,251,193,58,118,251,193,60,118,251,193,62,118,251,193,64,118,251,193,66,118,251,193,68,118,251,193,70,118,251,193,72,118,251,193,74,118,251,193,76,118,251,193,78,118,251,193,80,118,251,193,82,118,251,193,84,118,251,193,86,118,251,193,134,118,251,193,136,118,251,193,138,118,251,193,140,118,251,193,142,118,251,193,144,118,251,193,146,118,251,193,148,118,251,193,150,118,251,193,152,118,251,193,154,118,251,193,156,118,251,193,158,118,251,193,160,118,251,193,162,118,251,193,164,118,251,193,166,118,251,193,208,118,251,193,210,118,251,193,212,118,251,193,214,118,251,193,216,118,251,193,218,118,251,193,220,118,251,193,222,118,251,193,224,118,251,193,226,118,251,193,252,118,251,193,254,118,251,193,2,119,251,193,4,119,251,193,6,119,251,193,8,119,251,193,168,118,251,193,10,119,251,193,188,118,251,193,190,118,251,193,192,118,251,193,194,118,251,193,196,118,251,193,198,118,251,193,200,118,251,193,244,118,251,193,246,118,251,193,248,118,251,193,22,119,251,193,24,119,251,193,26,119,251,193,56,119,251,193,68,119,251,193,70,119,251,193,108,119,251,193,110,119,251,193,112,119,251,193,114,119,251,193,118,119,251,193,122,119,251,193,144,119,251,193,146,119,251,193,148,119,251,193,150,119,251,193,172,119,251,193,174,119,251,193,176,119,251,193,178,119,251,193,180,119,251,193,218,119,251,193,12,119,251,193,30,119,251,193,32,119,251,193,34,119,251,193,36,119,251,193,38,119,251,193,40,119,251,193,42,119,251,193,44,119,251,193,46,119,251,193,48,119,251,193,58,119,251,193,60,119,251,193,62,119,251,193,72,119,251,193,74,119,251,193,76,119,251,193,78,119,251,193,80,119,251,193,82,119,251,193,86,119,251,193,88,119,251,193,90,119,251,193,98,119,251,193,100,119,251,193,102,119,251,193,104,119,251,193,106,119,251,193,116,119,251,193,120,119,251,193,124,119,251,193,126,119,251,193,66,119,251,193,134,119,251,193,14,120,251,193,16,120,251,193,18,120,251,193,70,120,251,193,106,120,251,193,150,120,251,193,152,120,251,193,206,120,251,193,208,120,251,193,6,121,251,193,8,121,251,193,36,121,251,193,38,121,251,193,64,121,251,193,66,121,251,193,98,121,251,193,100,121,251,193,138,121,251,193,166,121,251,193,242,121,251,193,244,121,251,193,52,122,251,193,54,122,251,193,56,122,251,193,58,122,251,193,60,122,251,193,62,122,251,193,64,122,251,193,152,122,251,193,154,122,251,193,212,119,251,193,214,119,251,193,216,119,251,193,28,120,251,193,30,120,251,193,32,120,251,193,76,120,251,193,78,120,251,193,118,120,251,193,168,120,251,193,170,120,251,193,172,120,251,193,222,120,251,193,224,120,251,193,14,121,251,193,44,121,251,193,106,121,251,193,126,121,251,193,158,121,251,193,198,121,251,193,248,121,251,193,250,121,251,193,72,122,251,193,74,122,251,193,76,122,251,193,174,122,251,193,176,122,251,193,26,123,251,193,28,123,251,193,30,123,251,193,182,123,251,193,184,123,251,193,220,119,251,193,222,119,251,193,224,119,251,193,226,119,251,193,228,119,251,193,230,119,251,193,232,119,251,193,234,119,251,193,34,120,251,193,36,120,251,193,38,120,251,193,80,120,251,193,82,120,251,193,84,120,251,193,120,120,251,193,122,120,251,193,124,120,251,193,174,120,251,193,126,120,251,193,226,120,251,193,228,120,251,193,16,121,251,193,18,121,251,193,20,121,251,193,68,121,251,193,70,121,251,193,108,121,251,193,110,121,251,193,128,121,251,193,142,121,251,193,144,121,251,193,162,121,251,193,236,119,251,193,40,120,251,193,86,120,251,193,88,120,251,193,176,120,251,193,230,120,251,193,46,121,251,193,72,121,251,193,168,121,251,193,176,121,251,193,188,121,251,193,190,121,251,193,210,121,251,193,212,121,251,193,16,122,251,193,18,122,251,193,20,122,251,193,22,122,251,193,108,122,251,193,196,122,251,193,198,122,251,193,200,122,251,193,202,122,251,193,72,123,251,193,74,123,251,193,76,123,251,193,78,123,251,193,210,123,251,193,212,123,251,193,214,123,251,193,216,123,251,193,218,123,251,193,26,120,251,193,72,120,251,193,74,120,251,193,108,120,251,193,110,120,251,193,112,120,251,193,114,120,251,193,116,120,251,193,154,120,251,193,156,120,251,193,158,120,251,193,160,120,251,193,162,120,251,193,164,120,251,193,166,120,251,193,210,120,251,193,212,120,251,193,214,120,251,193,216,120,251,193,218,120,251,193,220,120,251,193,10,121,251,193,12,121,251,193,40,121,251,193,42,121,251,193,102,121,251,193,104,121,251,193,118,121,251,193,140,121,251,193,172,121,251,193,246,121,251,193,66,122,251,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,193,90,120,251,193,92,120,251,193,94,120,251,193,96,120,251,193,98,120,251,193,100,120,251,193,128,120,251,193,130,120,251,193,132,120,251,193,134,120,251,193,136,120,251,193,138,120,251,193,140,120,251,193,142,120,251,193,178,120,251,193,180,120,251,193,182,120,251,193,184,120,251,193,186,120,251,193,188,120,251,193,190,120,251,193,192,120,251,193,194,120,251,193,196,120,251,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,193,102,120,251,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,193,104,120,251,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,193,198,120,251,193,200,120,251,193,202,120,251,193,232,120,251,193,234,120,251,193,236,120,251,193,238,120,251,193,240,120,251,193,242,120,251,193,244,120,251,193,246,120,251,193,248,120,251,193,250,120,251,193,252,120,251,193,254,120,251,193,2,121,251,193,4,121,251,193,22,121,251,193,24,121,251,193,26,121,251,193,28,121,251,193,30,121,251,193,32,121,251,193,48,121,251,193,50,121,251,193,52,121,251,193,54,121,251,193,56,121,251,193,58,121,251,193,60,121,251,193,74,121,251,193,76,121,251,193,34,121,251,193,96,121,251,193,114,121,251,193,116,121,251,193,160,121,251,193,46,122,251,193,48,122,251,193,50,122,251,193,148,122,251,193,150,122,251,193,250,122,251,193,252,122,251,193,254,122,251,193,148,123,251,193,150,123,251,193,152,123,251,193,154,123,251,193,24,124,251,193,26,124,251,193,28,124,251,193,182,124,251,193,184,124,251,193,186,124,251,193,188,124,251,193,190,124,251,193,192,124,251,193,194,124,251,193,72,125,251,193,74,125,251,193,76,125,251,193,78,125,251,193,80,125,251,193,78,121,251,193,80,121,251,193,82,121,251,193,84,121,251,193,86,121,251,193,88,121,251,193,90,121,251,193,92,121,251,193,94,121,251,193,112,121,251,193,120,121,251,193,122,121,251,193,124,121,251,193,130,121,251,193,132,121,251,193,134,121,251,193,136,121,251,193,146,121,251,193,148,121,251,193,150,121,251,193,152,121,251,193,154,121,251,193,156,121,251,193,164,121,251,193,170,121,251,193,178,121,251,193,192,121,251,193,194,121,251,193,196,121,251,193,214,121,251,193,216,121,251,193,218,121,251,193,174,121,251,193,180,121,251,193,182,121,251,193,184,121,251,193,186,121,251,193,200,121,251,193,202,121,251,193,204,121,251,193,206,121,251,193,208,121,251,193,252,121,251,193,254,121,251,193,2,122,251,193,4,122,251,193,6,122,251,193,8,122,251,193,10,122,251,193,12,122,251,193,14,122,251,193,78,122,251,193,80,122,251,193,82,122,251,193,84,122,251,193,86,122,251,193,88,122,251,193,90,122,251,193,92,122,251,193,94,122,251,193,96,122,251,193,98,122,251,193,100,122,251,193,102,122,251,193,220,121,251,193,222,121,251,193,224,121,251,193,226,121,251,193,228,121,251,193,230,121,251,193,232,121,251,193,234,121,251,193,236,121,251,193,238,121,251,193,240,121,251,193,24,122,251,193,26,122,251,193,28,122,251,193,30,122,251,193,32,122,251,193,34,122,251,193,36,122,251,193,38,122,251,193,40,122,251,193,42,122,251,193,44,122,251,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,193,68,122,251,193,70,122,251,193,158,122,251,193,160,122,251,193,162,122,251,193,164,122,251,193,166,122,251,193,168,122,251,193,170,122,251,193,172,122,251,193,14,123,251,193,16,123,251,193,18,123,251,193,20,123,251,193,22,123,251,193,24,123,251,193,174,123,251,193,176,123,251,193,178,123,251,193,180,123,251,193,50,124,251,193,52,124,251,193,54,124,251,193,56,124,251,193,58,124,251,193,60,124,251,193,62,124,251,193,64,124,251,193,66,124,251,193,68,124,251,193,70,124,251,193,72,124,251,193,104,122,251,193,106,122,251,193,178,122,251,193,180,122,251,193,182,122,251,193,184,122,251,193,186,122,251,193,32,123,251,193,188,122,251,193,190,122,251,193,192,122,251,193,194,122,251,193,34,123,251,193,36,123,251,193,38,123,251,193,40,123,251,193,42,123,251,193,44,123,251,193,46,123,251,193,48,123,251,193,50,123,251,193,52,123,251,193,54,123,251,193,56,123,251,193,58,123,251,193,60,123,251,193,62,123,251,193,64,123,251,193,66,123,251,193,68,123,251,193,70,123,251,193,188,123,251,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,193,204,122,251,193,206,122,251,193,208,122,251,193,210,122,251,193,212,122,251,193,214,122,251,193,216,122,251,193,218,122,251,193,220,122,251,193,222,122,251,193,224,122,251,193,226,122,251,193,228,122,251,193,230,122,251,193,232,122,251,193,234,122,251,193,236,122,251,193,238,122,251,193,240,122,251,193,242,122,251,193,244,122,251,193,246,122,251,193,248,122,251,193,156,122,251,193,2,123,251,193,4,123,251,193,6,123,251,193,8,123,251,193,10,123,251,193,12,123,251,193,156,123,251,193,158,123,251,193,160,123,251,193,162,123,251,193,164,123,251,193,166,123,251,193,168,123,251,193,170,123,251,193,172,123,251,193,30,124,251,193,32,124,251,193,34,124,251,193,36,124,251,193,38,124,251,193,40,124,251,193,42,124,251,193,44,124,251,193,46,124,251,193,48,124,251,206,128,17,0,206,128,17,0,206,128,17,0,206,128,17,0,206,128,17,0,206,128,17,0,193,80,123,251,193,82,123,251,193,84,123,251,193,86,123,251,193,88,123,251,193,90,123,251,193,92,123,251,193,94,123,251,193,96,123,251,193,98,123,251,193,100,123,251,193,102,123,251,193,104,123,251,193,106,123,251,193,108,123,251,193,110,123,251,193,112,123,251,193,114,123,251,193,116,123,251,193,118,123,251,193,120,123,251,193,122,123,251,193,124,123,251,193,126,123,251,193,128,123,251,193,130,123,251,193,132,123,251,193,134,123,251,193,136,123,251,193,138,123,251,193,140,123,251,193,142,123,251,193,144,123,251,193,146,123,251,193,224,123,251,193,226,123,251,193,228,123,251,193,230,123,251,193,232,123,251,193,234,123,251,193,236,123,251,193,238,123,251,193,240,123,251,193,242,123,251,193,244,123,251,193,246,123,251,193,248,123,251,193,250,123,251,193,252,123,251,193,254,123,251,193,2,124,251,193,4,124,251,193,6,124,251,193,8,124,251,193,10,124,251,193,12,124,251,193,14,124,251,193,16,124,251,193,18,124,251,193,20,124,251,193,22,124,251,193,114,124,251,193,116,124,251,193,118,124,251,193,186,123,251,193,74,124,251,193,76,124,251,193,78,124,251,193,80,124,251,193,82,124,251,193,228,124,251,193,230,124,251,193,232,124,251,193,234,124,251,193,236,124,251,193,238,124,251,193,240,124,251,193,242,124,251,193,120,125,251,193,122,125,251,193,124,125,251,193,126,125,251,193,128,125,251,193,130,125,251,193,132,125,251,193,134,125,251,193,136,125,251,193,138,125,251,193,34,126,251,193,36,126,251,193,38,126,251,193,152,126,251,193,154,126,251,193,240,126,251,193,242,126,251,193,244,126,251,193,190,123,251,193,192,123,251,193,194,123,251,193,196,123,251,193,198,123,251,193,200,123,251,193,202,123,251,193,204,123,251,193,206,123,251,193,208,123,251,193,84,124,251,193,86,124,251,193,88,124,251,193,90,124,251,193,92,124,251,193,94,124,251,193,96,124,251,193,98,124,251,193,100,124,251,193,102,124,251,193,104,124,251,193,106,124,251,193,244,124,251,193,246,124,251,193,248,124,251,193,250,124,251,193,252,124,251,193,254,124,251,193,2,125,251,193,4,125,251,193,140,125,251,193,142,125,251,193,220,123,251,193,222,123,251,193,110,124,251,193,112,124,251,193,6,125,251,193,8,125,251,193,10,125,251,193,12,125,251,193,14,125,251,193,162,125,251,193,164,125,251,193,166,125,251,193,168,125,251,193,50,126,251,193,52,126,251,193,54,126,251,193,52,127,251,193,172,127,251,193,254,127,251,193,28,128,251,193,48,128,251,193,54,128,251,193,108,128,251,193,152,128,251,193,172,129,251,193,244,129,251,193,38,130,251,193,62,130,251,193,178,130,251,193,200,130,251,193,228,130,251,193,230,130,251,193,144,125,251,193,146,125,251,193,148,125,251,193,150,125,251,193,152,125,251,193,154,125,251,193,156,125,251,193,158,125,251,193,160,125,251,193,40,126,251,193,108,124,251,193,42,126,251,193,44,126,251,193,46,126,251,193,48,126,251,193,156,126,251,193,158,126,251,193,246,126,251,193,248,126,251,193,104,127,251,193,106,127,251,193,108,127,251,193,146,127,251,193,170,127,251,193,22,128,251,193,26,128,251,193,30,128,251,193,32,128,251,193,34,128,251,193,42,128,251,193,44,128,251,193,46,128,251,193,120,124,251,193,122,124,251,193,124,124,251,193,126,124,251,193,128,124,251,193,130,124,251,193,132,124,251,193,134,124,251,193,136,124,251,193,138,124,251,193,140,124,251,193,142,124,251,193,144,124,251,193,146,124,251,193,148,124,251,193,150,124,251,193,152,124,251,193,154,124,251,193,156,124,251,193,158,124,251,193,160,124,251,193,162,124,251,193,164,124,251,193,166,124,251,193,168,124,251,193,170,124,251,193,172,124,251,193,174,124,251,193,176,124,251,193,178,124,251,193,180,124,251,193,16,125,251,206,128,17,0,206,128,17,0,206,128,17,0,206,128,17,0,193,84,125,251,193,86,125,251,193,88,125,251,193,90,125,251,193,92,125,251,193,94,125,251,193,96,125,251,193,98,125,251,193,100,125,251,193,102,125,251,193,104,125,251,193,252,125,251,193,254,125,251,193,2,126,251,193,4,126,251,193,6,126,251,193,8,126,251,193,10,126,251,193,12,126,251,193,14,126,251,193,16,126,251,193,18,126,251,193,20,126,251,193,22,126,251,193,24,126,251,193,130,126,251,193,132,126,251,193,134,126,251,193,216,124,251,193,218,124,251,193,220,124,251,193,222,124,251,193,224,124,251,193,226,124,251,193,106,125,251,193,108,125,251,193,110,125,251,193,112,125,251,193,114,125,251,193,116,125,251,193,118,125,251,193,26,126,251,193,28,126,251,193,30,126,251,193,32,126,251,193,140,126,251,193,142,126,251,193,144,126,251,193,146,126,251,193,148,126,251,193,150,126,251,193,234,126,251,193,236,126,251,193,238,126,251,193,40,127,251,193,42,127,251,193,44,127,251,193,46,127,251,193,48,127,251,193,96,127,251,193,18,125,251,193,20,125,251,193,22,125,251,193,24,125,251,193,26,125,251,193,28,125,251,193,30,125,251,193,32,125,251,193,34,125,251,193,36,125,251,193,38,125,251,193,40,125,251,193,42,125,251,193,44,125,251,193,46,125,251,193,48,125,251,193,50,125,251,193,52,125,251,193,54,125,251,193,56,125,251,193,58,125,251,193,60,125,251,193,62,125,251,193,64,125,251,193,66,125,251,193,68,125,251,193,70,125,251,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,193,82,125,251,193,240,125,251,193,242,125,251,193,244,125,251,193,246,125,251,193,248,125,251,193,118,126,251,193,120,126,251,193,122,126,251,193,124,126,251,193,126,126,251,193,198,126,251,193,200,126,251,193,202,126,251,193,204,126,251,193,22,127,251,193,82,127,251,193,84,127,251,193,86,127,251,193,158,127,251,193,160,127,251,193,190,127,251,193,236,127,251,193,38,128,251,193,136,128,251,193,138,128,251,193,166,128,251,193,242,128,251,193,244,128,251,193,8,129,251,193,18,129,251,193,100,129,251,193,58,126,251,193,60,126,251,193,62,126,251,193,64,126,251,193,66,126,251,193,68,126,251,193,70,126,251,193,72,126,251,193,74,126,251,193,76,126,251,193,78,126,251,193,80,126,251,193,82,126,251,193,84,126,251,193,86,126,251,193,88,126,251,193,90,126,251,193,92,126,251,193,94,126,251,193,96,126,251,193,98,126,251,193,100,126,251,193,102,126,251,193,104,126,251,193,106,126,251,193,108,126,251,193,110,126,251,193,112,126,251,193,114,126,251,193,116,126,251,193,160,126,251,193,162,126,251,193,136,126,251,193,138,126,251,193,206,126,251,193,208,126,251,193,210,126,251,193,212,126,251,193,214,126,251,193,216,126,251,193,218,126,251,193,220,126,251,193,222,126,251,193,224,126,251,193,226,126,251,193,228,126,251,193,230,126,251,193,232,126,251,193,24,127,251,193,26,127,251,193,28,127,251,193,30,127,251,193,32,127,251,193,34,127,251,193,36,127,251,193,38,127,251,193,88,127,251,193,90,127,251,193,92,127,251,193,94,127,251,193,132,127,251,193,134,127,251,193,136,127,251,193,138,127,251,193,164,126,251,193,166,126,251,193,168,126,251,193,170,126,251,193,172,126,251,193,174,126,251,193,176,126,251,193,178,126,251,193,180,126,251,193,182,126,251,193,184,126,251,193,186,126,251,193,188,126,251,193,190,126,251,193,192,126,251,193,194,126,251,193,196,126,251,193,250,126,251,193,252,126,251,193,254,126,251,193,2,127,251,193,4,127,251,193,6,127,251,193,8,127,251,193,10,127,251,193,12,127,251,193,14,127,251,193,16,127,251,193,18,127,251,193,20,127,251,193,54,127,251,193,56,127,251,193,50,127,251,193,102,127,251,193,168,127,251,193,228,127,251,193,244,127,251,193,222,128,251,193,254,128,251,193,40,129,251,193,42,129,251,193,66,129,251,193,110,129,251,193,170,129,251,193,118,130,251,193,252,130,251,193,18,131,251,193,44,131,251,193,200,131,251,193,42,132,251,193,44,132,251,193,110,132,251,193,112,132,251,193,204,132,251,193,206,132,251,193,208,132,251,193,36,133,251,193,38,133,251,193,40,133,251,193,42,133,251,193,122,133,251,193,124,133,251,193,126,133,251,193,198,133,251,193,58,127,251,193,60,127,251,193,62,127,251,193,64,127,251,193,66,127,251,193,68,127,251,193,70,127,251,193,72,127,251,193,74,127,251,193,76,127,251,193,78,127,251,193,80,127,251,193,110,127,251,193,112,127,251,193,114,127,251,193,116,127,251,193,118,127,251,193,120,127,251,193,122,127,251,193,124,127,251,193,126,127,251,193,128,127,251,193,130,127,251,193,148,127,251,193,150,127,251,193,152,127,251,193,154,127,251,193,156,127,251,206,192,17,0,206,192,17,0,206,192,17,0,206,192,17,0,193,98,127,251,193,100,127,251,193,140,127,251,193,142,127,251,193,144,127,251,193,164,127,251,193,166,127,251,193,198,127,251,193,220,127,251,193,40,128,251,193,50,128,251,193,72,128,251,193,74,128,251,193,96,128,251,193,98,128,251,193,100,128,251,193,114,128,251,193,116,128,251,193,118,128,251,193,140,128,251,193,142,128,251,193,144,128,251,193,172,128,251,193,174,128,251,193,176,128,251,193,194,128,251,193,196,128,251,193,198,128,251,193,200,128,251,193,216,128,251,193,218,128,251,193,220,128,251,193,162,127,251,193,192,127,251,193,194,127,251,193,196,127,251,193,216,127,251,193,218,127,251,193,224,127,251,193,226,127,251,193,238,127,251,193,240,127,251,193,242,127,251,193,18,128,251,193,94,128,251,193,112,128,251,193,168,128,251,193,170,128,251,193,186,128,251,193,188,128,251,193,190,128,251,193,192,128,251,193,246,128,251,193,248,128,251,193,30,129,251,193,32,129,251,193,102,129,251,193,104,129,251,193,130,129,251,193,132,129,251,193,164,129,251,193,166,129,251,193,230,129,251,193,232,129,251,206,192,17,0,206,192,17,0,206,192,17,0,206,192,17,0,193,200,127,251,193,202,127,251,193,204,127,251,193,206,127,251,193,208,127,251,193,210,127,251,193,212,127,251,193,214,127,251,193,222,127,251,193,230,127,251,193,8,128,251,193,232,127,251,193,234,127,251,193,246,127,251,193,14,128,251,193,248,127,251,193,250,127,251,193,252,127,251,193,2,128,251,193,4,128,251,193,6,128,251,193,10,128,251,193,12,128,251,193,16,128,251,193,20,128,251,193,24,128,251,193,36,128,251,193,56,128,251,193,52,128,251,193,76,128,251,193,78,128,251,193,102,128,251,193,104,128,251,193,106,128,251,193,80,128,251,193,120,128,251,193,122,128,251,193,124,128,251,193,146,128,251,193,148,128,251,193,150,128,251,193,202,128,251,193,224,128,251,193,34,129,251,193,44,129,251,193,46,129,251,193,52,129,251,193,54,129,251,193,56,129,251,193,58,129,251,193,68,129,251,193,70,129,251,193,72,129,251,193,112,129,251,193,114,129,251,193,138,129,251,193,140,129,251,193,142,129,251,193,242,129,251,193,16,130,251,193,58,128,251,193,60,128,251,193,62,128,251,193,64,128,251,193,66,128,251,193,68,128,251,193,70,128,251,193,82,128,251,193,84,128,251,193,86,128,251,193,88,128,251,193,90,128,251,193,92,128,251,193,110,128,251,193,126,128,251,193,128,128,251,193,130,128,251,193,132,128,251,193,134,128,251,193,154,128,251,193,156,128,251,193,158,128,251,193,160,128,251,193,162,128,251,193,164,128,251,193,178,128,251,193,180,128,251,193,182,128,251,193,184,128,251,193,204,128,251,193,206,128,251,193,208,128,251,193,210,128,251,193,212,128,251,193,214,128,251,193,226,128,251,193,228,128,251,193,230,128,251,193,232,128,251,193,234,128,251,193,236,128,251,193,238,128,251,193,2,129,251,193,4,129,251,193,6,129,251,193,12,129,251,193,14,129,251,193,16,129,251,193,20,129,251,193,22,129,251,193,26,129,251,193,28,129,251,193,36,129,251,193,48,129,251,193,50,129,251,193,62,129,251,193,64,129,251,193,74,129,251,193,76,129,251,193,78,129,251,193,80,129,251,193,84,129,251,193,86,129,251,193,88,129,251,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,193,32,230,251,193,108,229,251,193,110,229,251,193,112,229,251,193,114,229,251,193,116,229,251,193,118,229,251,193,120,229,251,193,122,229,251,193,240,128,251,193,124,229,251,193,126,229,251,193,128,229,251,193,130,229,251,193,132,229,251,193,134,229,251,193,136,229,251,193,138,229,251,193,140,229,251,193,142,229,251,193,144,229,251,193,34,230,251,193,36,230,251,193,250,128,251,193,252,128,251,193,10,129,251,193,24,129,251,193,38,129,251,193,82,129,251,193,106,129,251,193,108,129,251,193,134,129,251,193,136,129,251,193,168,129,251,193,34,130,251,193,106,130,251,193,188,130,251,193,250,130,251,193,68,131,251,193,70,131,251,193,130,131,251,193,132,131,251,193,144,131,251,193,220,131,251,193,102,132,251,193,104,132,251,193,106,132,251,193,108,132,251,193,194,132,251,193,196,132,251,193,198,132,251,193,200,132,251,193,202,132,251,193,32,133,251,193,34,133,251,193,90,129,251,193,92,129,251,193,94,129,251,193,96,129,251,193,98,129,251,193,118,129,251,193,120,129,251,193,122,129,251,193,124,129,251,193,126,129,251,193,144,129,251,193,146,129,251,193,148,129,251,193,150,129,251,193,152,129,251,193,154,129,251,193,156,129,251,193,158,129,251,193,160,129,251,193,162,129,251,193,174,129,251,193,176,129,251,193,178,129,251,193,180,129,251,193,182,129,251,193,184,129,251,193,186,129,251,193,188,129,251,193,190,129,251,193,196,129,251,193,198,129,251,193,200,129,251,193,128,129,251,193,192,129,251,193,194,129,251,193,56,130,251,193,84,130,251,193,98,130,251,193,116,130,251,193,100,131,251,193,128,131,251,193,30,132,251,193,32,132,251,193,34,132,251,193,94,132,251,193,180,132,251,193,182,132,251,193,24,133,251,193,26,133,251,193,110,133,251,193,250,133,251,193,252,133,251,193,254,133,251,193,188,133,251,193,190,133,251,193,192,133,251,193,194,133,251,193,58,134,251,193,60,134,251,193,118,134,251,193,120,134,251,193,158,134,251,193,172,134,251,193,206,134,251,193,202,129,251,193,204,129,251,193,206,129,251,193,208,129,251,193,210,129,251,193,212,129,251,193,214,129,251,193,216,129,251,193,218,129,251,193,220,129,251,193,222,129,251,193,224,129,251,193,226,129,251,193,228,129,251,193,246,129,251,193,248,129,251,193,250,129,251,193,252,129,251,193,254,129,251,193,2,130,251,193,4,130,251,193,6,130,251,193,8,130,251,193,10,130,251,193,22,130,251,193,24,130,251,193,26,130,251,193,28,130,251,193,30,130,251,193,32,130,251,193,40,130,251,193,42,130,251,193,234,129,251,193,236,129,251,193,238,129,251,193,240,129,251,193,12,130,251,193,14,130,251,193,58,130,251,193,60,130,251,193,86,130,251,193,88,130,251,193,100,130,251,193,102,130,251,193,104,130,251,193,138,130,251,193,170,130,251,193,224,130,251,193,248,130,251,193,66,131,251,193,160,131,251,193,36,132,251,193,38,132,251,193,40,132,251,193,96,132,251,193,98,132,251,193,100,132,251,193,184,132,251,193,186,132,251,193,188,132,251,193,190,132,251,193,192,132,251,193,28,133,251,193,30,133,251,193,44,130,251,193,46,130,251,193,48,130,251,193,50,130,251,193,52,130,251,193,54,130,251,193,64,130,251,193,66,130,251,193,68,130,251,193,70,130,251,193,72,130,251,193,74,130,251,193,76,130,251,193,78,130,251,193,80,130,251,193,82,130,251,193,90,130,251,193,92,130,251,193,94,130,251,193,96,130,251,193,108,130,251,193,110,130,251,193,112,130,251,193,120,130,251,193,122,130,251,193,124,130,251,193,126,130,251,193,128,130,251,193,132,130,251,193,134,130,251,193,136,130,251,193,140,130,251,193,208,92,252,193,212,92,252,193,214,92,252,193,216,92,252,193,218,92,252,193,228,92,252,193,238,92,252,193,250,92,252,193,4,93,252,193,14,93,252,193,16,93,252,193,20,93,252,193,22,93,252,193,26,93,252,193,28,93,252,193,130,130,251,193,30,93,252,193,32,93,252,193,34,93,252,193,38,93,252,193,40,93,252,193,44,93,252,193,46,93,252,193,48,93,252,193,58,93,252,193,60,93,252,193,62,93,252,193,64,93,252,193,66,93,252,193,68,93,252,193,70,93,252,193,78,93,252,193,142,130,251,193,148,130,251,193,150,130,251,193,154,130,251,193,156,130,251,193,158,130,251,193,160,130,251,193,162,130,251,193,164,130,251,193,166,130,251,193,168,130,251,193,180,130,251,193,182,130,251,193,184,130,251,193,186,130,251,193,202,130,251,193,204,130,251,193,206,130,251,193,208,130,251,193,210,130,251,193,212,130,251,193,214,130,251,193,216,130,251,193,218,130,251,193,220,130,251,193,222,130,251,193,232,130,251,193,234,130,251,193,236,130,251,193,238,130,251,193,240,130,251,193,242,130,251,193,244,130,251,193,246,130,251,193,8,131,251,193,10,131,251,193,12,131,251,193,240,254,252,193,14,131,251,193,16,131,251,193,22,131,251,193,24,131,251,193,26,131,251,193,28,131,251,193,30,131,251,193,32,131,251,193,34,131,251,193,36,131,251,193,38,131,251,193,40,131,251,193,42,131,251,193,54,131,251,193,56,131,251,193,58,131,251,193,60,131,251,193,62,131,251,193,64,131,251,193,80,131,251,193,82,131,251,193,84,131,251,193,86,131,251,193,88,131,251,193,90,131,251,193,92,131,251,193,4,131,251,193,6,131,251,193,20,131,251,193,46,131,251,193,48,131,251,193,50,131,251,193,52,131,251,193,76,131,251,193,78,131,251,193,108,131,251,193,110,131,251,193,206,131,251,193,224,131,251,193,226,131,251,193,10,132,251,193,60,132,251,193,62,132,251,193,64,132,251,193,124,132,251,193,126,132,251,193,128,132,251,193,130,132,251,193,132,132,251,193,228,132,251,193,54,133,251,193,56,133,251,193,136,133,251,193,138,133,251,193,28,134,251,193,30,134,251,193,32,134,251,193,84,134,251,193,94,131,251,193,96,131,251,193,98,131,251,193,112,131,251,193,114,131,251,193,116,131,251,193,118,131,251,193,120,131,251,193,122,131,251,193,124,131,251,193,126,131,251,193,134,131,251,193,136,131,251,193,138,131,251,193,140,131,251,193,142,131,251,193,148,131,251,193,150,131,251,193,152,131,251,193,154,131,251,193,156,131,251,193,158,131,251,193,162,131,251,193,164,131,251,193,166,131,251,193,168,131,251,193,170,131,251,193,176,131,251,193,178,131,251,193,180,131,251,193,182,131,251,193,184,131,251,193,186,131,251,193,188,131,251,193,190,131,251,193,194,131,251,193,208,131,251,193,210,131,251,193,212,131,251,193,214,131,251,193,216,131,251,193,228,131,251,193,230,131,251,193,232,131,251,193,234,131,251,193,236,131,251,193,238,131,251,193,240,131,251,193,242,131,251,193,244,131,251,193,246,131,251,193,248,131,251,193,218,131,251,193,12,132,251,193,14,132,251,193,16,132,251,193,18,132,251,193,20,132,251,193,22,132,251,193,24,132,251,193,26,132,251,193,28,132,251,193,66,132,251,193,68,132,251,193,2,132,251,193,4,132,251,193,6,132,251,193,8,132,251,193,46,132,251,193,48,132,251,193,50,132,251,193,52,132,251,193,54,132,251,193,56,132,251,193,58,132,251,193,114,132,251,193,116,132,251,193,118,132,251,193,120,132,251,193,122,132,251,193,210,132,251,193,212,132,251,193,214,132,251,193,216,132,251,193,218,132,251,193,220,132,251,193,222,132,251,193,224,132,251,193,226,132,251,193,44,133,251,193,46,133,251,193,48,133,251,193,50,133,251,193,52,133,251,193,128,133,251,193,130,133,251,193,70,132,251,193,72,132,251,193,74,132,251,193,76,132,251,193,78,132,251,193,80,132,251,193,82,132,251,193,84,132,251,193,86,132,251,193,88,132,251,193,90,132,251,193,92,132,251,193,134,132,251,193,136,132,251,193,138,132,251,193,140,132,251,193,142,132,251,193,144,132,251,193,146,132,251,193,148,132,251,193,150,132,251,193,152,132,251,193,154,132,251,193,156,132,251,193,158,132,251,193,160,132,251,193,162,132,251,193,164,132,251,193,166,132,251,193,168,132,251,193,170,132,251,193,172,132,251,193,174,132,251,193,176,132,251,193,230,132,251,193,232,132,251,193,234,132,251,193,236,132,251,193,238,132,251,193,240,132,251,193,242,132,251,193,244,132,251,193,246,132,251,193,248,132,251,193,250,132,251,193,252,132,251,193,254,132,251,193,2,133,251,193,4,133,251,193,6,133,251,193,8,133,251,193,10,133,251,193,12,133,251,193,14,133,251,193,16,133,251,193,18,133,251,193,20,133,251,193,22,133,251,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,193,112,133,251,193,2,134,251,193,62,134,251,193,64,134,251,193,66,134,251,193,68,134,251,193,160,134,251,193,162,134,251,193,174,134,251,193,186,134,251,193,210,134,251,193,212,134,251,193,236,134,251,193,238,134,251,193,84,135,251,193,110,135,251,193,112,135,251,193,186,135,251,193,188,135,251,193,190,135,251,193,192,135,251,193,34,136,251,193,212,136,251,193,214,136,251,193,176,137,251,193,178,137,251,193,132,138,251,193,134,138,251,193,152,139,251,193,154,139,251,193,156,139,251,193,158,139,251,193,114,133,251,193,116,133,251,193,118,133,251,193,120,133,251,193,196,133,251,193,4,134,251,193,6,134,251,193,8,134,251,193,10,134,251,193,12,134,251,193,14,134,251,193,16,134,251,193,18,134,251,193,20,134,251,193,70,134,251,193,72,134,251,193,122,134,251,193,124,134,251,193,126,134,251,193,128,134,251,193,130,134,251,193,132,134,251,193,176,134,251,193,188,134,251,193,190,134,251,193,214,134,251,193,216,134,251,193,240,134,251,193,250,134,251,193,2,135,251,193,20,135,251,193,36,135,251,193,132,133,251,193,134,133,251,193,24,134,251,193,26,134,251,193,76,134,251,193,78,134,251,193,80,134,251,193,82,134,251,193,166,134,251,193,178,134,251,193,180,134,251,193,192,134,251,193,228,134,251,193,252,134,251,193,8,135,251,193,14,135,251,193,22,135,251,193,128,135,251,193,132,135,251,193,140,135,251,193,142,135,251,193,144,135,251,193,146,135,251,193,148,135,251,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,193,200,133,251,193,22,134,251,193,74,134,251,193,134,134,251,193,136,134,251,193,138,134,251,193,164,134,251,193,218,134,251,193,104,135,251,193,44,136,251,193,228,136,251,193,230,136,251,193,232,136,251,193,234,136,251,193,200,137,251,193,202,137,251,193,204,137,251,193,206,137,251,193,208,137,251,193,210,137,251,193,156,138,251,193,158,138,251,193,160,138,251,193,162,138,251,193,164,138,251,193,166,138,251,193,168,138,251,193,170,138,251,193,172,138,251,193,174,138,251,193,176,138,251,193,182,139,251,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,193,34,134,251,193,36,134,251,193,38,134,251,193,40,134,251,193,42,134,251,193,44,134,251,193,46,134,251,193,48,134,251,193,50,134,251,193,52,134,251,193,54,134,251,193,56,134,251,193,88,134,251,193,90,134,251,193,92,134,251,193,94,134,251,193,96,134,251,193,98,134,251,193,100,134,251,193,102,134,251,193,104,134,251,193,106,134,251,193,108,134,251,193,110,134,251,193,112,134,251,193,114,134,251,193,116,134,251,193,140,134,251,193,86,134,251,193,194,134,251,193,16,135,251,193,38,135,251,193,150,135,251,193,152,135,251,193,154,135,251,193,156,135,251,193,220,135,251,193,222,135,251,193,224,135,251,193,226,135,251,193,228,135,251,193,230,135,251,193,232,135,251,193,234,135,251,193,94,136,251,193,96,136,251,193,98,136,251,193,100,136,251,193,102,136,251,193,104,136,251,193,106,136,251,193,40,135,251,193,108,136,251,206,128,18,0,206,128,18,0,206,128,18,0,206,128,18,0,206,128,18,0,206,128,18,0,206,128,18,0,193,142,134,251,193,144,134,251,193,146,134,251,193,148,134,251,193,150,134,251,193,152,134,251,193,154,134,251,193,156,134,251,193,168,134,251,193,170,134,251,193,182,134,251,193,184,134,251,193,196,134,251,193,198,134,251,193,200,134,251,193,202,134,251,193,204,134,251,193,220,134,251,193,222,134,251,193,224,134,251,193,226,134,251,193,230,134,251,193,232,134,251,193,234,134,251,193,242,134,251,193,244,134,251,193,246,134,251,193,254,134,251,193,4,135,251,193,6,135,251,193,12,135,251,193,18,135,251,193,208,134,251,193,248,134,251,193,24,136,251,193,26,136,251,193,28,136,251,193,30,136,251,193,206,136,251,193,208,136,251,193,210,136,251,193,164,137,251,193,166,137,251,193,168,137,251,193,170,137,251,193,172,137,251,193,174,137,251,193,118,138,251,193,120,138,251,193,122,138,251,193,124,138,251,193,126,138,251,193,128,138,251,193,138,139,251,193,140,139,251,193,142,139,251,193,144,139,251,193,146,139,251,193,148,139,251,193,234,140,251,193,236,140,251,193,238,140,251,193,240,140,251,193,242,140,251,193,24,135,251,193,26,135,251,193,28,135,251,193,30,135,251,193,32,135,251,193,34,135,251,193,42,135,251,193,44,135,251,193,46,135,251,193,48,135,251,193,50,135,251,193,52,135,251,193,54,135,251,193,56,135,251,193,58,135,251,193,60,135,251,193,62,135,251,193,64,135,251,193,66,135,251,193,68,135,251,193,70,135,251,193,72,135,251,193,74,135,251,193,76,135,251,193,78,135,251,193,80,135,251,193,82,135,251,206,64,18,0,206,64,18,0,206,64,18,0,206,64,18,0,206,64,18,0,193,106,135,251,193,108,135,251,193,114,135,251,193,116,135,251,193,118,135,251,193,120,135,251,193,122,135,251,193,124,135,251,193,126,135,251,193,134,135,251,193,136,135,251,193,138,135,251,193,158,135,251,193,160,135,251,193,162,135,251,193,164,135,251,193,166,135,251,193,168,135,251,193,170,135,251,193,172,135,251,193,174,135,251,193,176,135,251,193,178,135,251,193,180,135,251,193,182,135,251,193,184,135,251,193,236,135,251,193,238,135,251,193,194,135,251,193,36,136,251,193,38,136,251,193,40,136,251,193,42,136,251,193,216,136,251,193,218,136,251,193,220,136,251,193,222,136,251,193,224,136,251,193,226,136,251,193,180,137,251,193,182,137,251,193,184,137,251,193,186,137,251,193,188,137,251,193,190,137,251,193,192,137,251,193,194,137,251,193,196,137,251,193,198,137,251,193,136,138,251,193,138,138,251,193,140,138,251,193,142,138,251,193,144,138,251,193,146,138,251,193,148,138,251,193,150,138,251,193,152,138,251,193,154,138,251,193,162,139,251,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,193,46,136,251,193,48,136,251,193,50,136,251,193,52,136,251,193,54,136,251,193,56,136,251,193,58,136,251,193,60,136,251,193,62,136,251,193,212,137,251,193,64,136,251,193,66,136,251,193,68,136,251,193,70,136,251,193,72,136,251,193,74,136,251,193,76,136,251,193,78,136,251,193,80,136,251,193,82,136,251,193,84,136,251,193,86,136,251,193,88,136,251,193,90,136,251,193,92,136,251,193,236,136,251,193,238,136,251,193,240,136,251,193,240,135,251,193,242,135,251,193,244,135,251,193,246,135,251,193,248,135,251,193,250,135,251,193,252,135,251,193,254,135,251,193,2,136,251,193,4,136,251,193,6,136,251,193,8,136,251,193,10,136,251,193,12,136,251,193,14,136,251,193,16,136,251,193,18,136,251,193,20,136,251,193,22,136,251,193,110,136,251,193,112,136,251,193,114,136,251,193,116,136,251,193,118,136,251,193,120,136,251,193,122,136,251,193,124,136,251,193,126,136,251,193,128,136,251,193,130,136,251,193,132,136,251,193,134,136,251,193,136,136,251,193,138,136,251,193,140,136,251,193,142,136,251,193,144,136,251,193,146,136,251,193,148,136,251,193,150,136,251,193,152,136,251,193,154,136,251,193,156,136,251,193,158,136,251,193,160,136,251,193,162,136,251,193,164,136,251,193,166,136,251,193,168,136,251,193,170,136,251,193,172,136,251,193,174,136,251,193,176,136,251,193,178,136,251,193,180,136,251,193,182,136,251,193,184,136,251,193,186,136,251,193,188,136,251,193,190,136,251,193,192,136,251,193,194,136,251,193,196,136,251,193,198,136,251,193,200,136,251,193,202,136,251,193,204,136,251,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,193,242,136,251,193,244,136,251,193,246,136,251,193,248,136,251,193,250,136,251,193,252,136,251,193,254,136,251,193,2,137,251,193,4,137,251,193,6,137,251,193,8,137,251,193,10,137,251,193,12,137,251,193,14,137,251,193,16,137,251,193,18,137,251,193,20,137,251,193,22,137,251,193,24,137,251,193,26,137,251,193,28,137,251,193,30,137,251,193,32,137,251,193,34,137,251,193,36,137,251,193,38,137,251,193,40,137,251,193,42,137,251,193,44,137,251,193,46,137,251,193,48,137,251,193,50,137,251,193,52,137,251,193,54,137,251,193,56,137,251,193,58,137,251,193,60,137,251,193,62,137,251,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,128,18,0,206,128,18,0,206,128,18,0,206,128,18,0,193,28,138,251,193,30,138,251,193,32,138,251,193,238,138,251,193,240,138,251,193,242,138,251,193,244,138,251,193,246,138,251,193,248,138,251,193,250,138,251,193,252,138,251,193,254,138,251,193,2,139,251,193,4,139,251,193,6,139,251,193,8,139,251,193,10,139,251,193,12,139,251,193,14,139,251,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,193,228,93,252,193,152,137,251,193,154,137,251,193,156,137,251,193,158,137,251,193,160,137,251,193,162,137,251,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,193,136,139,251,193,180,190,252,193,182,190,252,193,184,190,252,193,186,190,252,193,188,190,252,193,214,190,252,193,216,190,252,193,218,190,252,193,220,190,252,193,222,190,252,193,224,190,252,193,226,190,252,193,228,190,252,193,230,190,252,193,190,190,252,193,232,190,252,193,234,190,252,193,236,190,252,193,238,190,252,193,240,190,252,193,242,190,252,193,244,190,252,193,246,190,252,206,160,72,0,206,160,72,0,206,160,72,0,206,160,72,0,193,160,139,251,193,248,140,251,193,250,140,251,193,252,140,251,193,254,140,251,193,2,141,251,193,26,142,251,193,28,142,251,193,30,142,251,193,32,142,251,193,242,142,251,193,244,142,251,193,246,142,251,193,248,142,251,193,250,142,251,193,252,142,251,193,254,142,251,193,208,143,251,193,210,143,251,193,212,143,251,193,214,143,251,193,176,144,251,193,178,144,251,193,72,145,251,193,74,145,251,193,76,145,251,193,78,145,251,193,80,145,251,193,82,145,251,193,204,145,251,193,18,146,251,193,102,146,251,193,164,139,251,193,166,139,251,193,168,139,251,193,170,139,251,193,172,139,251,193,174,139,251,193,176,139,251,193,178,139,251,193,180,139,251,193,4,141,251,193,6,141,251,193,8,141,251,193,10,141,251,193,12,141,251,193,14,141,251,193,16,141,251,193,18,141,251,193,20,141,251,193,34,142,251,193,36,142,251,193,38,142,251,193,40,142,251,193,42,142,251,193,44,142,251,193,46,142,251,193,48,142,251,193,50,142,251,193,52,142,251,193,54,142,251,193,56,142,251,193,58,142,251,193,60,142,251,193,184,139,251,193,186,139,251,193,188,139,251,193,190,139,251,193,192,139,251,193,22,141,251,193,24,141,251,193,26,141,251,193,28,141,251,193,62,142,251,193,64,142,251,193,66,142,251,193,68,142,251,193,70,142,251,193,16,143,251,193,18,143,251,193,20,143,251,193,242,143,251,193,244,143,251,193,246,143,251,193,248,143,251,193,202,144,251,193,204,144,251,193,206,144,251,193,208,144,251,193,88,145,251,193,90,145,251,193,214,145,251,193,34,146,251,193,36,146,251,193,38,146,251,193,124,146,251,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,193,120,141,251,193,122,141,251,193,124,141,251,193,126,141,251,193,128,141,251,193,130,141,251,193,132,141,251,193,134,141,251,193,136,141,251,193,138,141,251,193,124,142,251,193,126,142,251,193,128,142,251,193,130,142,251,193,132,142,251,193,134,142,251,193,136,142,251,193,138,142,251,193,140,142,251,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,193,244,140,251,193,246,140,251,193,14,142,251,193,16,142,251,193,18,142,251,193,20,142,251,193,22,142,251,193,24,142,251,193,234,142,251,193,236,142,251,193,238,142,251,193,240,142,251,193,194,143,251,193,196,143,251,193,198,143,251,193,200,143,251,193,202,143,251,193,204,143,251,193,206,143,251,193,168,144,251,193,170,144,251,193,172,144,251,193,174,144,251,193,64,145,251,193,66,145,251,193,68,145,251,193,70,145,251,193,198,145,251,193,200,145,251,193,202,145,251,193,100,146,251,193,210,146,251,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,193,72,142,251,193,80,141,251,193,82,141,251,193,84,141,251,193,86,141,251,193,88,141,251,193,90,141,251,193,92,141,251,193,94,141,251,193,96,141,251,193,98,141,251,193,100,141,251,193,102,141,251,193,104,141,251,193,106,141,251,193,108,141,251,193,110,141,251,193,112,141,251,193,114,141,251,193,116,141,251,193,74,142,251,193,76,142,251,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,193,78,142,251,193,80,142,251,193,82,142,251,193,84,142,251,193,86,142,251,193,88,142,251,193,90,142,251,193,92,142,251,193,94,142,251,193,96,142,251,193,98,142,251,193,100,142,251,193,102,142,251,193,104,142,251,193,106,142,251,193,108,142,251,193,110,142,251,193,112,142,251,193,114,142,251,193,116,142,251,193,118,142,251,193,120,142,251,193,122,142,251,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,193,2,143,251,193,4,143,251,193,6,143,251,193,8,143,251,193,10,143,251,193,12,143,251,193,14,143,251,193,216,143,251,193,218,143,251,193,220,143,251,193,222,143,251,193,224,143,251,193,226,143,251,193,228,143,251,193,230,143,251,193,232,143,251,193,234,143,251,193,236,143,251,193,238,143,251,193,240,143,251,193,180,144,251,193,182,144,251,193,184,144,251,193,186,144,251,193,188,144,251,193,190,144,251,193,192,144,251,193,194,144,251,193,196,144,251,193,198,144,251,193,200,144,251,193,84,145,251,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,193,42,144,251,193,44,144,251,193,46,144,251,193,48,144,251,193,50,144,251,193,52,144,251,193,54,144,251,193,56,144,251,193,58,144,251,193,60,144,251,193,62,144,251,193,64,144,251,193,244,144,251,193,246,144,251,193,248,144,251,193,250,144,251,193,252,144,251,193,254,144,251,193,2,145,251,193,108,145,251,193,110,145,251,193,112,145,251,193,114,145,251,193,116,145,251,193,222,145,251,193,224,145,251,193,226,145,251,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,193,210,144,251,193,212,144,251,193,214,144,251,193,216,144,251,193,218,144,251,193,220,144,251,193,222,144,251,193,224,144,251,193,226,144,251,193,228,144,251,193,230,144,251,193,232,144,251,193,234,144,251,193,236,144,251,193,238,144,251,193,240,144,251,193,242,144,251,193,92,145,251,193,94,145,251,193,96,145,251,193,98,145,251,193,40,146,251,193,100,145,251,193,102,145,251,193,104,145,251,193,106,145,251,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,193,4,145,251,193,6,145,251,193,8,145,251,193,10,145,251,193,12,145,251,193,14,145,251,193,16,145,251,193,18,145,251,193,20,145,251,193,22,145,251,193,24,145,251,193,26,145,251,193,118,145,251,193,28,145,251,193,30,145,251,193,32,145,251,193,34,145,251,193,36,145,251,193,38,145,251,193,40,145,251,193,42,145,251,193,44,145,251,193,46,145,251,193,48,145,251,193,50,145,251,193,52,145,251,193,54,145,251,193,56,145,251,193,58,145,251,193,60,145,251,193,62,145,251,193,120,145,251,193,122,145,251,193,124,145,251,193,126,145,251,193,86,145,251,193,206,145,251,193,208,145,251,193,210,145,251,193,212,145,251,193,20,146,251,193,22,146,251,193,24,146,251,193,26,146,251,193,28,146,251,193,30,146,251,193,32,146,251,193,112,146,251,193,114,146,251,193,116,146,251,193,118,146,251,193,120,146,251,193,122,146,251,193,172,146,251,193,174,146,251,193,176,146,251,193,214,146,251,193,216,146,251,193,4,147,251,193,18,147,251,193,40,147,251,193,80,147,251,193,98,147,251,193,100,147,251,193,112,147,251,193,114,147,251,193,128,147,251,193,128,145,251,193,130,145,251,193,132,145,251,193,134,145,251,193,136,145,251,193,138,145,251,193,140,145,251,193,142,145,251,193,144,145,251,193,146,145,251,193,148,145,251,193,150,145,251,193,152,145,251,193,154,145,251,193,156,145,251,193,158,145,251,193,160,145,251,193,162,145,251,193,164,145,251,193,166,145,251,193,168,145,251,193,170,145,251,193,172,145,251,193,174,145,251,193,176,145,251,193,178,145,251,193,180,145,251,193,182,145,251,193,184,145,251,193,186,145,251,193,188,145,251,193,190,145,251,193,16,146,251,193,72,146,251,193,74,146,251,193,76,146,251,193,78,146,251,193,80,146,251,193,82,146,251,193,84,146,251,193,86,146,251,193,88,146,251,193,90,146,251,193,92,146,251,193,94,146,251,193,96,146,251,193,146,146,251,193,148,146,251,193,150,146,251,193,152,146,251,193,154,146,251,193,156,146,251,193,158,146,251,193,160,146,251,193,162,146,251,193,164,146,251,193,166,146,251,193,168,146,251,193,170,146,251,193,196,145,251,206,160,20,0,206,160,20,0,206,160,20,0,206,160,20,0,193,216,145,251,193,218,145,251,193,220,145,251,193,42,146,251,193,44,146,251,193,46,146,251,193,130,146,251,193,132,146,251,193,134,146,251,193,136,146,251,193,138,146,251,193,140,146,251,193,142,146,251,193,178,146,251,193,218,146,251,193,180,146,251,193,182,146,251,193,220,146,251,193,222,146,251,193,224,146,251,193,226,146,251,193,228,146,251,193,6,147,251,193,230,146,251,193,8,147,251,193,10,147,251,193,12,147,251,193,66,147,251,193,68,147,251,193,70,147,251,193,82,147,251,193,84,147,251,193,48,146,251,193,50,146,251,193,52,146,251,193,54,146,251,193,144,146,251,193,184,146,251,193,186,146,251,193,232,146,251,193,60,147,251,193,86,147,251,193,214,147,251,193,44,148,251,193,46,148,251,193,62,148,251,193,86,148,251,193,142,148,251,193,160,148,251,193,204,148,251,193,36,149,251,193,38,149,251,193,60,149,251,193,62,149,251,193,64,149,251,193,120,149,251,193,122,149,251,193,124,149,251,193,126,149,251,193,128,149,251,193,130,149,251,193,216,149,251,193,218,149,251,193,220,149,251,193,98,11,252,193,118,11,252,193,120,11,252,193,122,11,252,193,124,11,252,193,126,11,252,193,142,11,252,193,144,11,252,193,146,11,252,193,148,11,252,193,150,11,252,193,152,11,252,193,158,11,252,193,98,146,251,193,166,11,252,193,178,11,252,193,180,11,252,193,182,11,252,193,184,11,252,193,186,11,252,193,188,11,252,193,194,11,252,193,196,11,252,193,200,11,252,193,206,11,252,193,208,11,252,193,210,11,252,193,212,11,252,193,214,11,252,193,216,11,252,193,218,11,252,193,228,11,252,193,104,146,251,193,106,146,251,193,108,146,251,193,110,146,251,193,212,146,251,193,38,147,251,193,48,147,251,193,76,147,251,193,154,147,251,193,168,147,251,193,198,147,251,193,14,148,251,193,24,148,251,193,36,148,251,193,56,148,251,193,78,148,251,193,84,148,251,193,96,148,251,193,104,148,251,193,106,148,251,193,114,148,251,193,150,148,251,193,200,148,251,193,216,148,251,193,236,148,251,193,238,148,251,193,6,149,251,193,12,149,251,193,14,149,251,193,48,149,251,193,50,149,251,193,176,149,251,193,126,146,251,193,128,146,251,193,50,147,251,193,144,147,251,193,146,147,251,193,174,147,251,193,180,147,251,193,4,148,251,193,16,148,251,193,18,148,251,193,20,148,251,193,28,148,251,193,58,148,251,193,108,148,251,193,120,148,251,193,202,148,251,193,218,148,251,193,52,149,251,193,102,149,251,193,188,149,251,193,190,149,251,193,28,150,251,193,30,150,251,193,142,150,251,193,144,150,251,193,238,150,251,193,226,151,251,193,228,151,251,193,230,151,251,193,60,152,251,193,140,152,251,193,224,152,251,206,160,20,0,206,160,20,0,206,160,20,0,206,160,20,0,206,160,20,0,206,160,20,0,206,160,20,0,193,234,146,251,193,236,146,251,193,238,146,251,193,240,146,251,193,242,146,251,193,244,146,251,193,246,146,251,193,248,146,251,193,250,146,251,193,252,146,251,193,254,146,251,193,14,147,251,193,16,147,251,193,20,147,251,193,22,147,251,193,24,147,251,193,26,147,251,193,28,147,251,193,30,147,251,193,32,147,251,193,34,147,251,193,36,147,251,193,42,147,251,193,44,147,251,193,46,147,251,193,2,147,251,193,110,147,251,193,140,147,251,193,250,147,251,193,54,148,251,193,68,148,251,193,76,148,251,193,82,148,251,193,112,148,251,193,118,148,251,193,130,148,251,193,166,148,251,193,154,148,251,193,232,148,251,193,234,148,251,193,246,148,251,193,2,149,251,193,4,149,251,193,46,149,251,193,226,150,251,193,80,151,251,193,82,151,251,193,84,151,251,193,86,151,251,193,200,151,251,193,202,151,251,193,204,151,251,193,132,152,251,193,220,152,251,193,22,153,251,193,66,153,251,193,112,153,251,193,52,147,251,193,54,147,251,193,62,147,251,193,56,147,251,193,58,147,251,193,64,147,251,193,72,147,251,193,78,147,251,193,74,147,251,193,88,147,251,193,90,147,251,193,92,147,251,193,94,147,251,193,96,147,251,193,104,147,251,193,106,147,251,193,108,147,251,193,116,147,251,193,118,147,251,193,120,147,251,193,122,147,251,193,124,147,251,193,126,147,251,193,130,147,251,193,132,147,251,193,134,147,251,193,136,147,251,193,138,147,251,193,150,147,251,193,152,147,251,193,162,147,251,193,164,147,251,193,102,147,251,193,212,78,253,193,158,147,251,193,160,147,251,193,176,147,251,193,210,147,251,193,228,147,251,193,230,147,251,193,232,147,251,193,242,147,251,193,244,147,251,193,6,148,251,193,30,148,251,193,32,148,251,193,42,148,251,193,60,148,251,193,70,148,251,193,132,148,251,193,134,148,251,193,136,148,251,193,138,148,251,193,152,148,251,193,158,148,251,193,172,148,251,193,174,148,251,193,176,148,251,193,178,148,251,193,180,148,251,193,190,148,251,193,220,148,251,193,20,149,251,193,22,149,251,193,142,147,251,193,156,147,251,193,226,147,251,193,252,147,251,193,254,147,251,193,2,148,251,193,26,148,251,193,38,148,251,193,40,148,251,193,80,148,251,193,156,148,251,193,168,148,251,193,170,148,251,193,188,148,251,193,240,148,251,193,242,148,251,193,16,149,251,193,98,149,251,193,100,149,251,193,184,149,251,193,186,149,251,193,16,150,251,193,18,150,251,193,20,150,251,193,22,150,251,193,24,150,251,193,26,150,251,193,134,150,251,193,136,150,251,193,138,150,251,193,140,150,251,193,228,150,251,193,166,147,251,193,170,147,251,193,172,147,251,193,178,147,251,193,182,147,251,193,184,147,251,193,186,147,251,193,188,147,251,193,190,147,251,193,192,147,251,193,194,147,251,193,196,147,251,193,200,147,251,193,202,147,251,193,204,147,251,193,206,147,251,193,208,147,251,193,216,147,251,193,218,147,251,193,220,147,251,193,222,147,251,193,224,147,251,193,234,147,251,193,236,147,251,193,238,147,251,193,240,147,251,193,246,147,251,193,248,147,251,193,8,148,251,193,10,148,251,193,12,148,251,193,22,148,251,193,34,148,251,193,48,148,251,193,50,148,251,193,52,148,251,193,64,148,251,193,66,148,251,193,72,148,251,193,74,148,251,193,88,148,251,193,90,148,251,193,92,148,251,193,94,148,251,193,98,148,251,193,110,148,251,193,116,148,251,193,122,148,251,193,124,148,251,193,126,148,251,193,128,148,251,193,140,148,251,193,144,148,251,193,146,148,251,193,148,148,251,193,162,148,251,193,164,148,251,193,182,148,251,193,184,148,251,193,186,148,251,193,192,148,251,193,194,148,251,193,196,148,251,193,198,148,251,193,16,165,251,193,18,165,251,193,26,165,251,193,28,165,251,193,30,165,251,193,44,165,251,193,46,165,251,193,48,165,251,193,54,165,251,193,56,165,251,193,58,165,251,193,60,165,251,193,62,165,251,193,64,165,251,193,66,165,251,193,80,165,251,193,100,148,251,193,82,165,251,193,84,165,251,193,90,165,251,193,92,165,251,193,94,165,251,193,96,165,251,193,102,165,251,193,104,165,251,193,106,165,251,193,108,165,251,193,110,165,251,193,112,165,251,193,114,165,251,193,116,165,251,193,120,165,251,206,32,47,0,206,32,47,0,193,102,148,251,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,193,206,148,251,193,208,148,251,193,210,148,251,193,212,148,251,193,214,148,251,193,222,148,251,193,224,148,251,193,226,148,251,193,228,148,251,193,230,148,251,193,244,148,251,193,248,148,251,193,250,148,251,193,252,148,251,193,8,149,251,193,254,148,251,193,10,149,251,193,18,149,251,193,40,149,251,193,42,149,251,193,44,149,251,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,193,24,149,251,193,26,149,251,193,28,149,251,193,30,149,251,193,32,149,251,193,34,149,251,193,54,149,251,193,56,149,251,193,58,149,251,193,104,149,251,193,106,149,251,193,108,149,251,193,110,149,251,193,112,149,251,193,114,149,251,193,116,149,251,193,118,149,251,193,192,149,251,193,194,149,251,193,196,149,251,193,198,149,251,193,200,149,251,193,202,149,251,193,204,149,251,193,206,149,251,193,208,149,251,193,210,149,251,193,212,149,251,193,214,149,251,193,32,150,251,193,34,150,251,193,36,150,251,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,193,132,149,251,193,134,149,251,193,136,149,251,193,138,149,251,193,140,149,251,193,142,149,251,193,144,149,251,193,146,149,251,193,148,149,251,193,150,149,251,193,152,149,251,193,154,149,251,193,156,149,251,193,158,149,251,193,160,149,251,193,162,149,251,193,164,149,251,193,166,149,251,193,168,149,251,193,170,149,251,193,172,149,251,193,174,149,251,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,193,178,149,251,193,180,149,251,193,182,149,251,193,12,150,251,193,14,150,251,193,132,150,251,193,88,151,251,193,90,151,251,193,206,151,251,193,208,151,251,193,42,152,251,193,44,152,251,193,46,152,251,193,48,152,251,193,50,152,251,193,52,152,251,193,24,153,251,193,26,153,251,193,114,153,251,193,116,153,251,193,180,153,251,193,194,153,251,193,196,153,251,193,254,153,251,193,32,154,251,193,34,154,251,193,36,154,251,193,42,154,251,193,58,154,251,193,60,154,251,193,76,154,251,193,152,154,251,193,222,149,251,193,54,150,251,193,56,150,251,193,58,150,251,193,60,150,251,193,62,150,251,193,64,150,251,193,166,150,251,193,168,150,251,193,8,151,251,193,10,151,251,193,12,151,251,193,14,151,251,193,16,151,251,193,18,151,251,193,122,151,251,193,124,151,251,193,126,151,251,193,128,151,251,193,130,151,251,193,132,151,251,193,134,151,251,193,136,151,251,193,244,151,251,193,246,151,251,193,248,151,251,193,250,151,251,193,252,151,251,193,84,152,251,193,86,152,251,193,88,152,251,193,90,152,251,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,193,38,150,251,193,40,150,251,193,42,150,251,193,44,150,251,193,46,150,251,193,48,150,251,193,50,150,251,193,52,150,251,193,146,150,251,193,148,150,251,193,150,150,251,193,152,150,251,193,154,150,251,193,156,150,251,193,158,150,251,193,160,150,251,193,162,150,251,193,164,150,251,193,240,150,251,193,242,150,251,193,244,150,251,193,246,150,251,193,248,150,251,193,250,150,251,193,252,150,251,193,254,150,251,193,2,151,251,193,4,151,251,193,6,151,251,193,98,151,251,193,100,151,251,193,102,151,251,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,193,230,150,251,193,232,150,251,193,234,150,251,193,236,150,251,193,92,151,251,193,94,151,251,193,96,151,251,193,210,151,251,193,212,151,251,193,214,151,251,193,216,151,251,193,218,151,251,193,220,151,251,193,222,151,251,193,224,151,251,193,54,152,251,193,56,152,251,193,58,152,251,193,134,152,251,193,136,152,251,193,138,152,251,193,222,152,251,193,28,153,251,193,30,153,251,193,32,153,251,193,82,153,251,193,84,153,251,193,86,153,251,193,118,153,251,193,156,153,251,193,182,153,251,193,214,153,251,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,193,104,151,251,193,106,151,251,193,108,151,251,193,110,151,251,193,112,151,251,193,114,151,251,193,116,151,251,193,118,151,251,193,62,152,251,193,120,151,251,193,232,151,251,193,234,151,251,193,236,151,251,193,238,151,251,193,240,151,251,193,242,151,251,193,114,209,252,193,64,152,251,193,66,152,251,193,68,152,251,193,70,152,251,193,72,152,251,193,74,152,251,193,76,152,251,193,78,152,251,193,80,152,251,193,142,152,251,193,82,152,251,206,128,21,0,206,128,21,0,206,128,21,0,206,128,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,193,254,151,251,193,2,152,251,193,4,152,251,193,6,152,251,193,8,152,251,193,10,152,251,193,12,152,251,193,14,152,251,193,16,152,251,193,18,152,251,193,20,152,251,193,22,152,251,193,24,152,251,193,26,152,251,193,28,152,251,193,30,152,251,193,32,152,251,193,34,152,251,193,36,152,251,193,38,152,251,193,40,152,251,193,92,152,251,193,94,152,251,193,96,152,251,193,98,152,251,193,100,152,251,193,102,152,251,193,104,152,251,193,106,152,251,193,108,152,251,193,110,152,251,193,112,152,251,193,114,152,251,193,116,152,251,193,118,152,251,193,120,152,251,193,122,152,251,193,124,152,251,193,126,152,251,193,128,152,251,193,130,152,251,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,128,21,0,206,128,21,0,206,128,21,0,206,128,21,0,206,128,21,0,206,128,21,0,193,226,152,251,193,228,152,251,193,230,152,251,193,232,152,251,193,36,153,251,193,38,153,251,193,40,153,251,193,68,153,251,193,70,153,251,193,72,153,251,193,88,153,251,193,120,153,251,193,170,153,251,193,172,153,251,193,176,153,251,193,178,153,251,193,200,153,251,193,202,153,251,193,204,153,251,193,20,154,251,193,92,154,251,193,94,154,251,193,106,154,251,193,144,154,251,193,174,154,251,193,218,154,251,193,164,152,251,193,166,152,251,193,234,152,251,193,236,152,251,193,238,152,251,193,42,153,251,193,44,153,251,193,122,153,251,193,124,153,251,193,142,153,251,193,144,153,251,193,176,154,251,193,178,154,251,193,194,154,251,193,214,154,251,193,244,154,251,193,246,154,251,193,248,154,251,193,60,155,251,193,62,155,251,193,130,155,251,193,132,155,251,193,134,155,251,193,136,155,251,193,138,155,251,193,140,155,251,193,142,155,251,193,144,155,251,193,214,155,251,193,216,155,251,193,218,155,251,193,220,155,251,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,193,240,152,251,193,242,152,251,193,244,152,251,193,246,152,251,193,248,152,251,193,250,152,251,193,252,152,251,193,254,152,251,193,2,153,251,193,4,153,251,193,6,153,251,193,8,153,251,193,10,153,251,193,12,153,251,193,14,153,251,193,16,153,251,193,18,153,251,193,20,153,251,193,46,153,251,193,34,153,251,193,140,153,251,193,184,153,251,193,198,153,251,193,218,153,251,193,244,153,251,193,246,153,251,193,2,154,251,193,4,154,251,193,14,154,251,193,16,154,251,193,18,154,251,193,50,154,251,193,52,154,251,193,70,154,251,193,118,154,251,193,120,154,251,193,156,154,251,193,28,155,251,193,196,155,251,193,198,155,251,193,22,156,251,193,24,156,251,193,140,156,251,193,142,156,251,193,28,157,251,193,30,157,251,193,32,157,251,193,148,157,251,193,150,157,251,193,236,157,251,193,92,158,251,193,48,153,251,193,50,153,251,193,52,153,251,193,54,153,251,193,56,153,251,193,58,153,251,193,60,153,251,193,62,153,251,193,64,153,251,193,74,153,251,193,76,153,251,193,78,153,251,193,80,153,251,193,90,153,251,193,92,153,251,193,94,153,251,193,96,153,251,193,98,153,251,193,100,153,251,193,102,153,251,193,104,153,251,193,106,153,251,193,108,153,251,193,110,153,251,193,126,153,251,193,128,153,251,193,130,153,251,193,134,153,251,193,136,153,251,193,138,153,251,193,146,153,251,193,148,153,251,193,132,153,251,193,192,153,251,193,250,153,251,193,252,153,251,193,12,154,251,193,28,154,251,193,30,154,251,193,56,154,251,193,74,154,251,193,82,154,251,193,124,154,251,193,150,154,251,193,94,155,251,193,96,155,251,193,188,155,251,193,190,155,251,193,10,156,251,193,12,156,251,193,104,156,251,193,106,156,251,193,108,156,251,193,110,156,251,193,112,156,251,193,114,156,251,193,4,157,251,193,6,157,251,193,128,157,251,193,130,157,251,193,216,157,251,193,218,157,251,193,66,158,251,193,68,158,251,193,150,153,251,193,152,153,251,193,154,153,251,193,158,153,251,193,160,153,251,193,162,153,251,193,164,153,251,193,166,153,251,193,168,153,251,193,174,153,251,193,186,153,251,193,188,153,251,193,190,153,251,193,206,153,251,193,208,153,251,193,210,153,251,193,212,153,251,193,220,153,251,193,222,153,251,193,224,153,251,193,226,153,251,193,228,153,251,193,232,153,251,193,234,153,251,193,236,153,251,193,238,153,251,193,248,153,251,193,6,154,251,193,8,154,251,193,10,154,251,193,22,154,251,193,24,154,251,193,216,153,251,193,230,153,251,193,240,153,251,193,242,153,251,193,44,154,251,193,46,154,251,193,48,154,251,193,78,154,251,193,102,154,251,193,104,154,251,193,116,154,251,193,134,154,251,193,154,154,251,193,232,154,251,193,234,154,251,193,236,154,251,193,22,155,251,193,24,155,251,193,26,155,251,193,100,155,251,193,102,155,251,193,104,155,251,193,106,155,251,193,108,155,251,193,192,155,251,193,194,155,251,193,18,156,251,193,20,156,251,193,128,156,251,193,130,156,251,193,132,156,251,193,134,156,251,193,182,154,251,193,184,154,251,193,190,154,251,193,192,154,251,193,212,154,251,193,230,154,251,193,20,155,251,193,98,155,251,193,14,156,251,193,16,156,251,193,116,156,251,193,118,156,251,193,120,156,251,193,122,156,251,193,124,156,251,193,126,156,251,193,12,157,251,193,14,157,251,193,16,157,251,193,18,157,251,193,20,157,251,193,22,157,251,193,132,157,251,193,134,157,251,193,136,157,251,193,138,157,251,193,220,157,251,193,222,157,251,193,72,158,251,193,74,158,251,193,76,158,251,193,78,158,251,193,220,154,251,193,222,154,251,193,224,154,251,193,226,154,251,193,238,154,251,193,240,154,251,193,242,154,251,193,30,155,251,193,32,155,251,193,34,155,251,193,36,155,251,193,38,155,251,193,40,155,251,193,42,155,251,193,44,155,251,193,46,155,251,193,48,155,251,193,50,155,251,193,52,155,251,193,54,155,251,193,56,155,251,193,110,155,251,193,112,155,251,193,114,155,251,193,58,155,251,193,116,155,251,193,118,155,251,193,120,155,251,193,122,155,251,193,124,155,251,193,126,155,251,193,128,155,251,193,14,155,251,193,16,155,251,193,18,155,251,193,64,155,251,193,66,155,251,193,68,155,251,193,70,155,251,193,72,155,251,193,74,155,251,193,76,155,251,193,78,155,251,193,80,155,251,193,82,155,251,193,84,155,251,193,86,155,251,193,88,155,251,193,90,155,251,193,92,155,251,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,193,228,155,251,193,230,155,251,193,232,155,251,193,234,155,251,193,236,155,251,193,238,155,251,193,240,155,251,193,242,155,251,193,244,155,251,193,246,155,251,193,248,155,251,193,250,155,251,193,252,155,251,193,254,155,251,193,2,156,251,193,4,156,251,193,6,156,251,193,8,156,251,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,193,200,155,251,193,202,155,251,193,204,155,251,193,206,155,251,193,208,155,251,193,210,155,251,193,212,155,251,193,26,156,251,193,28,156,251,193,30,156,251,193,32,156,251,193,34,156,251,193,36,156,251,193,38,156,251,193,40,156,251,193,42,156,251,193,144,156,251,193,146,156,251,193,148,156,251,193,150,156,251,193,152,156,251,193,154,156,251,193,156,156,251,193,158,156,251,193,160,156,251,193,162,156,251,193,164,156,251,193,166,156,251,193,168,156,251,193,34,157,251,193,36,157,251,193,38,157,251,193,222,155,251,193,224,155,251,193,226,155,251,193,44,156,251,193,46,156,251,193,48,156,251,193,50,156,251,193,52,156,251,193,170,156,251,193,172,156,251,193,174,156,251,193,176,156,251,193,178,156,251,193,50,157,251,193,52,157,251,193,54,157,251,193,56,157,251,193,168,157,251,193,10,158,251,193,12,158,251,193,14,158,251,193,16,158,251,193,122,158,251,193,124,158,251,193,126,158,251,193,210,158,251,193,212,158,251,193,214,158,251,193,216,158,251,193,114,159,251,193,160,159,251,193,6,160,251,193,136,156,251,193,138,156,251,193,24,157,251,193,26,157,251,193,140,157,251,193,142,157,251,193,144,157,251,193,146,157,251,193,224,157,251,193,226,157,251,193,228,157,251,193,230,157,251,193,232,157,251,193,234,157,251,193,80,158,251,193,82,158,251,193,84,158,251,193,86,158,251,193,88,158,251,193,90,158,251,193,178,158,251,193,180,158,251,193,182,158,251,193,184,158,251,193,186,158,251,193,188,158,251,193,190,158,251,193,192,158,251,206,128,22,0,206,128,22,0,206,128,22,0,206,128,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,193,180,209,253,193,250,156,251,193,252,156,251,193,254,156,251,193,2,157,251,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,193,40,157,251,193,42,157,251,193,44,157,251,193,46,157,251,193,238,157,251,193,152,157,251,193,154,157,251,193,156,157,251,193,158,157,251,193,160,157,251,193,48,157,251,193,162,157,251,193,164,157,251,193,240,157,251,193,242,157,251,193,244,157,251,193,246,157,251,193,248,157,251,193,250,157,251,193,252,157,251,193,254,157,251,193,2,158,251,193,4,158,251,193,6,158,251,193,8,158,251,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,193,170,157,251,193,124,157,251,193,126,157,251,193,172,157,251,193,168,147,252,193,12,193,252,193,186,201,252,193,26,202,252,193,228,202,252,193,138,222,252,193,238,250,252,193,176,131,253,193,160,139,253,193,254,192,253,193,220,60,252,193,214,21,252,193,208,126,252,193,86,115,253,193,166,157,251,193,242,171,252,193,98,39,252,193,20,80,252,193,154,44,253,193,78,190,253,193,178,193,253,193,72,194,253,193,74,194,253,193,244,194,253,193,110,195,253,193,112,195,253,193,102,207,253,193,36,219,253,193,38,219,253,255,255,255,255,255,255,255,255,255,255,255,255,193,174,157,251,193,176,157,251,193,178,157,251,193,180,157,251,193,182,157,251,193,184,157,251,193,186,157,251,193,188,157,251,193,190,157,251,193,192,157,251,193,194,157,251,193,196,157,251,193,198,157,251,193,200,157,251,193,202,157,251,193,204,157,251,193,206,157,251,193,208,157,251,193,210,157,251,193,212,157,251,193,214,157,251,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,193,128,158,251,193,130,158,251,193,132,158,251,193,134,158,251,193,136,158,251,193,138,158,251,193,140,158,251,193,142,158,251,193,144,158,251,193,146,158,251,193,148,158,251,193,150,158,251,193,152,158,251,193,154,158,251,193,156,158,251,193,158,158,251,193,160,158,251,193,162,158,251,193,164,158,251,193,70,158,251,193,170,158,251,193,172,158,251,193,174,158,251,193,248,158,251,193,250,158,251,193,48,159,251,193,50,159,251,193,52,159,251,193,94,159,251,193,144,159,251,193,192,159,251,193,14,160,251,193,42,160,251,193,44,160,251,193,70,160,251,193,76,160,251,193,88,160,251,193,96,160,251,193,152,160,251,193,170,160,251,193,226,160,251,193,18,161,251,193,30,161,251,193,86,161,251,193,98,161,251,193,58,162,251,193,176,162,251,193,252,162,251,193,254,162,251,193,58,163,251,193,136,163,251,193,94,158,251,193,96,158,251,193,194,158,251,193,196,158,251,193,64,159,251,193,106,159,251,193,220,159,251,193,128,160,251,193,130,160,251,193,154,160,251,193,236,160,251,193,238,160,251,193,58,161,251,193,154,161,251,193,172,161,251,193,174,161,251,193,176,161,251,193,200,161,251,193,206,161,251,193,190,162,251,193,192,162,251,193,22,163,251,193,24,163,251,193,78,163,251,193,80,163,251,193,150,163,251,193,152,163,251,193,154,163,251,193,216,163,251,193,218,163,251,193,220,163,251,193,40,164,251,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,193,198,158,251,193,200,158,251,193,202,158,251,193,204,158,251,193,206,158,251,193,208,158,251,193,66,159,251,193,108,159,251,193,110,159,251,193,154,159,251,193,156,159,251,193,158,159,251,193,184,159,251,193,200,159,251,193,240,159,251,193,254,159,251,193,4,160,251,193,18,160,251,193,20,160,251,193,30,160,251,193,32,160,251,193,48,160,251,193,50,160,251,193,52,160,251,193,56,160,251,193,102,160,251,193,106,160,251,193,166,158,251,193,168,158,251,193,218,158,251,193,220,158,251,193,222,158,251,193,224,158,251,193,226,158,251,193,228,158,251,193,230,158,251,193,232,158,251,193,234,158,251,193,236,158,251,193,238,158,251,193,240,158,251,193,242,158,251,193,244,158,251,193,246,158,251,193,18,159,251,193,20,159,251,193,22,159,251,193,24,159,251,193,26,159,251,193,28,159,251,193,30,159,251,193,32,159,251,193,34,159,251,193,36,159,251,193,38,159,251,193,130,9,253,193,40,159,251,193,42,159,251,193,44,159,251,193,176,158,251,193,252,158,251,193,254,158,251,193,54,159,251,193,56,159,251,193,58,159,251,193,60,159,251,193,96,159,251,193,146,159,251,193,180,159,251,193,194,159,251,193,212,159,251,193,214,159,251,193,232,159,251,193,234,159,251,193,242,159,251,193,246,159,251,193,16,160,251,193,78,160,251,193,80,160,251,193,98,160,251,193,100,160,251,193,126,160,251,193,172,160,251,193,174,160,251,193,176,160,251,193,228,160,251,193,230,160,251,193,252,160,251,193,254,160,251,193,20,161,251,193,32,161,251,206,128,22,0,206,128,22,0,206,128,22,0,206,128,22,0,193,62,159,251,193,98,159,251,193,100,159,251,193,102,159,251,193,104,159,251,193,148,159,251,193,150,159,251,193,152,159,251,193,182,159,251,193,196,159,251,193,198,159,251,193,216,159,251,193,218,159,251,193,238,159,251,193,24,160,251,193,26,160,251,193,28,160,251,193,46,160,251,193,208,160,251,193,232,160,251,193,234,160,251,193,34,161,251,193,50,161,251,193,74,161,251,193,76,161,251,193,78,161,251,193,100,161,251,193,122,161,251,193,46,159,251,193,68,159,251,193,70,159,251,193,72,159,251,193,74,159,251,193,76,159,251,193,78,159,251,193,80,159,251,193,82,159,251,193,84,159,251,193,86,159,251,193,88,159,251,193,90,159,251,193,92,159,251,193,118,159,251,193,120,159,251,193,122,159,251,193,124,159,251,193,126,159,251,193,128,159,251,193,130,159,251,193,132,159,251,193,134,159,251,193,136,159,251,193,138,159,251,193,140,159,251,193,142,159,251,206,160,22,0,206,160,22,0,206,160,22,0,206,160,22,0,206,160,22,0,193,112,223,253,193,114,223,253,193,118,223,253,193,132,223,253,193,134,223,253,193,136,223,253,193,138,223,253,193,160,223,253,193,162,223,253,193,188,223,253,193,190,223,253,193,226,223,253,193,228,223,253,193,12,224,253,193,14,224,253,193,16,224,253,193,112,159,251,193,30,224,253,193,44,224,253,193,50,224,253,193,52,224,253,193,54,224,253,193,88,224,253,193,90,224,253,193,92,224,253,193,96,224,253,193,110,224,253,193,112,224,253,193,118,224,253,193,166,224,253,193,206,224,253,193,218,224,253,206,160,22,0,206,160,22,0,206,160,22,0,206,160,22,0,193,186,159,251,193,188,159,251,193,190,159,251,193,16,47,252,193,202,159,251,193,204,159,251,193,206,159,251,193,208,159,251,193,210,159,251,193,222,159,251,193,224,159,251,193,226,159,251,193,228,159,251,193,230,159,251,193,236,159,251,193,244,159,251,193,248,159,251,193,250,159,251,193,252,159,251,193,2,160,251,193,8,160,251,193,10,160,251,193,12,160,251,193,36,160,251,193,22,160,251,193,38,160,251,193,40,160,251,193,54,160,251,193,34,160,251,193,36,161,251,193,54,161,251,193,60,161,251,193,138,161,251,193,156,161,251,193,188,161,251,193,228,161,251,193,26,162,251,193,28,162,251,193,30,162,251,193,32,162,251,193,76,162,251,193,78,162,251,193,140,162,251,193,142,162,251,193,144,162,251,193,146,162,251,193,204,162,251,193,206,162,251,193,208,162,251,193,210,162,251,193,212,162,251,193,214,162,251,193,34,163,251,193,36,163,251,193,94,163,251,193,96,163,251,193,98,163,251,193,166,163,251,193,168,163,251,193,170,163,251,193,58,160,251,193,60,160,251,193,62,160,251,193,64,160,251,193,66,160,251,193,68,160,251,193,72,160,251,193,74,160,251,193,82,160,251,193,84,160,251,193,86,160,251,193,90,160,251,193,104,160,251,193,110,160,251,193,114,160,251,193,116,160,251,193,120,160,251,193,122,160,251,193,124,160,251,193,138,160,251,193,182,160,251,193,140,160,251,193,142,160,251,193,144,160,251,193,146,160,251,193,148,160,251,193,150,160,251,193,158,160,251,193,184,160,251,193,160,160,251,193,162,160,251,193,164,160,251,193,172,228,251,193,92,160,251,193,174,228,251,193,176,228,251,193,178,228,251,193,180,228,251,193,182,228,251,193,184,228,251,193,186,228,251,193,188,228,251,193,190,228,251,193,192,228,251,193,194,228,251,193,196,228,251,193,198,228,251,193,200,228,251,193,202,228,251,193,204,228,251,193,206,228,251,193,208,228,251,193,210,228,251,193,212,228,251,193,214,228,251,193,216,228,251,193,218,228,251,193,220,228,251,193,222,228,251,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,193,164,191,252,193,166,191,252,193,168,191,252,193,170,191,252,193,172,191,252,193,174,191,252,193,176,191,252,193,178,191,252,193,180,191,252,193,182,191,252,193,94,160,251,193,184,191,252,193,186,191,252,193,188,191,252,193,190,191,252,193,208,191,252,193,210,191,252,193,212,191,252,193,214,191,252,193,216,191,252,193,218,191,252,193,220,191,252,193,222,191,252,193,224,191,252,193,226,191,252,193,228,191,252,193,230,191,252,193,232,191,252,193,234,191,252,193,22,192,252,193,24,192,252,193,26,192,252,193,108,160,251,193,112,160,251,193,118,160,251,193,132,160,251,193,134,160,251,193,136,160,251,193,156,160,251,193,178,160,251,193,180,160,251,193,210,160,251,193,52,161,251,193,108,161,251,193,114,161,251,193,120,161,251,193,128,161,251,193,130,161,251,193,132,161,251,193,182,161,251,193,186,161,251,193,216,161,251,193,222,161,251,193,224,161,251,193,226,161,251,193,250,161,251,193,252,161,251,193,18,162,251,193,20,162,251,193,22,162,251,193,24,162,251,193,68,162,251,193,70,162,251,193,72,162,251,193,166,160,251,193,168,160,251,193,186,160,251,193,188,160,251,193,190,160,251,193,192,160,251,193,194,160,251,193,196,160,251,193,198,160,251,193,200,160,251,193,202,160,251,193,204,160,251,193,206,160,251,193,212,160,251,193,214,160,251,193,216,160,251,193,218,160,251,193,220,160,251,193,222,160,251,193,224,160,251,193,240,160,251,193,242,160,251,193,244,160,251,193,246,160,251,193,248,160,251,193,250,160,251,193,2,161,251,193,4,161,251,193,6,161,251,193,8,161,251,193,10,161,251,193,12,161,251,193,70,161,251,193,72,161,251,193,88,161,251,193,90,161,251,193,94,161,251,193,60,162,251,193,62,162,251,193,64,162,251,193,110,162,251,193,112,162,251,193,114,162,251,193,178,162,251,193,180,162,251,193,182,162,251,193,2,163,251,193,4,163,251,193,6,163,251,193,8,163,251,193,10,163,251,193,60,163,251,193,62,163,251,193,64,163,251,193,66,163,251,193,138,163,251,193,140,163,251,193,196,163,251,193,198,163,251,193,36,164,251,193,68,164,251,193,70,164,251,193,96,164,251,193,98,164,251,193,124,161,251,193,126,161,251,193,180,161,251,193,196,161,251,193,198,161,251,193,248,161,251,193,66,162,251,193,116,162,251,193,118,162,251,193,184,162,251,193,186,162,251,193,188,162,251,193,12,163,251,193,14,163,251,193,16,163,251,193,18,163,251,193,20,163,251,193,68,163,251,193,70,163,251,193,72,163,251,193,74,163,251,193,76,163,251,193,142,163,251,193,144,163,251,193,146,163,251,193,148,163,251,193,200,163,251,193,202,163,251,193,204,163,251,193,206,163,251,193,208,163,251,193,210,163,251,193,142,161,251,193,144,161,251,193,146,161,251,193,148,161,251,193,150,161,251,193,152,161,251,193,158,161,251,193,160,161,251,193,162,161,251,193,164,161,251,193,166,161,251,193,168,161,251,193,170,161,251,193,178,161,251,193,184,161,251,193,190,161,251,193,192,161,251,193,202,161,251,193,204,161,251,193,208,161,251,193,210,161,251,193,212,161,251,193,214,161,251,193,218,161,251,193,220,161,251,193,230,161,251,193,232,161,251,193,234,161,251,193,236,161,251,193,238,161,251,193,240,161,251,193,242,161,251,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,193,238,10,252,193,240,10,252,193,242,10,252,193,244,10,252,193,250,220,253,193,246,10,252,193,248,10,252,193,250,10,252,193,194,161,251,193,28,11,252,193,30,11,252,193,32,11,252,193,34,11,252,193,54,11,252,193,56,11,252,193,58,11,252,193,60,11,252,193,62,11,252,193,64,11,252,193,66,11,252,193,68,11,252,193,90,11,252,193,92,11,252,193,94,11,252,193,96,11,252,193,244,161,251,193,246,161,251,193,254,161,251,193,2,162,251,193,4,162,251,193,6,162,251,193,8,162,251,193,10,162,251,193,12,162,251,193,14,162,251,193,16,162,251,193,34,162,251,193,36,162,251,193,38,162,251,193,40,162,251,193,42,162,251,193,44,162,251,193,46,162,251,193,48,162,251,193,50,162,251,193,52,162,251,193,54,162,251,193,56,162,251,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,193,74,162,251,193,120,162,251,193,122,162,251,193,124,162,251,193,126,162,251,193,128,162,251,193,130,162,251,193,132,162,251,193,134,162,251,193,136,162,251,193,138,162,251,193,194,162,251,193,196,162,251,193,198,162,251,193,200,162,251,193,202,162,251,193,26,163,251,193,28,163,251,193,30,163,251,193,32,163,251,193,82,163,251,193,84,163,251,193,86,163,251,193,88,163,251,193,90,163,251,193,92,163,251,193,156,163,251,193,158,163,251,193,160,163,251,193,162,163,251,193,164,163,251,193,222,163,251,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,193,148,162,251,193,150,162,251,193,152,162,251,193,154,162,251,193,156,162,251,193,158,162,251,193,160,162,251,193,162,162,251,193,164,162,251,193,166,162,251,193,168,162,251,193,170,162,251,193,172,162,251,193,174,162,251,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,193,38,163,251,193,40,163,251,193,42,163,251,193,44,163,251,193,46,163,251,193,48,163,251,193,50,163,251,193,52,163,251,193,54,163,251,193,56,163,251,193,100,163,251,193,102,163,251,193,104,163,251,193,106,163,251,193,108,163,251,193,110,163,251,193,112,163,251,193,114,163,251,193,116,163,251,193,118,163,251,193,120,163,251,193,122,163,251,193,124,163,251,193,126,163,251,193,128,163,251,193,130,163,251,193,132,163,251,193,134,163,251,193,172,163,251,193,174,163,251,193,176,163,251,193,178,163,251,193,180,163,251,193,182,163,251,193,184,163,251,193,186,163,251,193,188,163,251,193,190,163,251,193,236,163,251,193,238,163,251,193,240,163,251,193,242,163,251,193,244,163,251,193,246,163,251,193,248,163,251,193,250,163,251,193,10,164,251,193,12,164,251,193,14,164,251,193,16,164,251,193,18,164,251,193,20,164,251,193,22,164,251,193,24,164,251,193,26,164,251,193,28,164,251,193,30,164,251,193,32,164,251,193,54,164,251,193,56,164,251,193,192,163,251,193,194,163,251,193,34,164,251,193,118,164,251,193,188,164,251,193,204,164,251,193,226,164,251,193,98,165,251,193,200,165,251,193,48,166,251,193,68,166,251,193,172,166,251,193,226,166,251,193,132,167,251,193,134,167,251,193,254,167,251,193,2,168,251,193,96,168,251,193,98,168,251,193,100,168,251,193,200,168,251,193,202,168,251,193,24,169,251,193,26,169,251,193,28,169,251,193,142,169,251,193,170,169,251,193,192,169,251,193,194,169,251,193,38,170,251,193,142,170,251,193,128,171,251,193,212,163,251,193,214,163,251,193,252,163,251,193,254,163,251,193,38,164,251,193,72,164,251,193,74,164,251,193,76,164,251,193,100,164,251,193,102,164,251,193,122,164,251,193,124,164,251,193,142,164,251,193,242,164,251,193,244,164,251,193,2,165,251,193,20,165,251,193,36,165,251,193,38,165,251,193,170,165,251,193,14,166,251,193,16,166,251,193,28,166,251,193,30,166,251,193,32,166,251,193,50,166,251,193,52,166,251,193,54,166,251,193,118,166,251,193,120,166,251,193,182,166,251,193,230,166,251,193,224,163,251,193,226,163,251,193,228,163,251,193,2,164,251,193,4,164,251,193,6,164,251,193,42,164,251,193,44,164,251,193,46,164,251,193,48,164,251,193,80,164,251,193,82,164,251,193,104,164,251,193,126,164,251,193,194,164,251,193,198,164,251,193,210,164,251,193,212,164,251,193,214,164,251,193,216,164,251,193,230,164,251,193,232,164,251,193,246,164,251,193,10,165,251,193,24,165,251,193,40,165,251,193,42,165,251,193,74,165,251,193,76,165,251,193,86,165,251,193,88,165,251,193,100,165,251,193,230,163,251,193,232,163,251,193,234,163,251,193,8,164,251,193,50,164,251,193,52,164,251,193,178,164,251,193,234,164,251,193,78,165,251,193,130,165,251,193,146,165,251,193,154,165,251,193,156,165,251,193,158,165,251,193,214,165,251,193,238,165,251,193,240,165,251,193,22,166,251,193,36,166,251,193,56,166,251,193,94,166,251,193,106,166,251,193,140,166,251,193,142,166,251,193,202,166,251,193,204,166,251,193,14,167,251,193,16,167,251,193,18,167,251,193,20,167,251,193,22,167,251,193,24,167,251,193,58,164,251,193,60,164,251,193,62,164,251,193,64,164,251,193,66,164,251,193,84,164,251,193,86,164,251,193,88,164,251,193,90,164,251,193,92,164,251,193,94,164,251,193,250,171,252,193,106,164,251,193,108,164,251,193,110,164,251,193,112,164,251,193,114,164,251,193,116,164,251,193,128,164,251,193,130,164,251,193,132,164,251,193,134,164,251,193,136,164,251,193,138,164,251,193,144,164,251,193,146,164,251,193,148,164,251,193,150,164,251,193,152,164,251,193,154,164,251,193,156,164,251,193,160,164,251,193,78,164,251,193,176,164,251,193,192,164,251,193,22,165,251,193,50,165,251,193,52,165,251,193,152,165,251,193,172,165,251,193,182,165,251,193,204,165,251,193,206,165,251,193,254,165,251,193,122,166,251,193,246,166,251,193,150,167,251,193,152,167,251,193,26,168,251,193,28,168,251,193,30,168,251,193,32,168,251,193,124,168,251,193,126,168,251,193,212,168,251,193,40,169,251,193,150,169,251,193,202,169,251,193,12,170,251,193,46,170,251,193,48,170,251,193,160,170,251,193,162,170,251,193,164,170,251,193,120,164,251,193,140,164,251,193,174,164,251,193,190,164,251,193,240,164,251,193,32,165,251,193,34,165,251,193,70,165,251,193,72,165,251,193,202,165,251,193,70,166,251,193,100,166,251,193,116,166,251,193,174,166,251,193,176,166,251,193,178,166,251,193,180,166,251,193,228,166,251,193,58,167,251,193,60,167,251,193,136,167,251,193,138,167,251,193,4,168,251,193,6,168,251,193,8,168,251,193,102,168,251,193,104,168,251,193,106,168,251,193,108,168,251,193,110,168,251,193,204,168,251,193,206,168,251,193,88,93,252,193,90,93,252,193,92,93,252,193,94,93,252,193,96,93,252,193,98,93,252,193,116,93,252,193,118,93,252,193,120,93,252,193,122,93,252,193,124,93,252,193,126,93,252,193,134,93,252,193,136,93,252,193,138,93,252,193,140,93,252,193,142,93,252,193,144,93,252,193,160,93,252,193,162,93,252,193,164,93,252,193,176,93,252,193,180,93,252,193,182,93,252,193,184,93,252,193,186,93,252,193,188,93,252,193,194,93,252,193,196,93,252,193,158,164,251,193,198,93,252,193,200,93,252,193,162,164,251,193,164,164,251,193,166,164,251,193,168,164,251,193,170,164,251,193,172,164,251,193,180,164,251,193,182,164,251,193,184,164,251,193,186,164,251,193,196,164,251,193,200,164,251,193,202,164,251,193,206,164,251,193,208,164,251,193,218,164,251,193,220,164,251,193,222,164,251,193,224,164,251,193,228,164,251,193,236,164,251,193,238,164,251,193,122,94,252,193,248,164,251,193,250,164,251,193,252,164,251,193,254,164,251,193,4,165,251,193,6,165,251,193,8,165,251,193,12,165,251,193,14,165,251,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,193,68,165,251,193,220,37,252,193,222,37,252,193,224,37,252,193,226,37,252,193,228,37,252,193,230,37,252,193,118,165,251,193,122,165,251,193,140,165,251,193,142,165,251,193,144,165,251,193,174,165,251,193,176,165,251,193,184,165,251,193,186,165,251,193,208,165,251,193,192,252,252,193,210,165,251,193,212,165,251,193,236,165,251,193,2,166,251,193,18,166,251,193,20,166,251,193,34,166,251,193,78,166,251,193,88,166,251,193,102,166,251,193,104,166,251,193,124,166,251,193,126,166,251,193,128,166,251,193,130,166,251,193,132,166,251,193,134,166,251,206,0,23,0,206,0,23,0,206,0,23,0,206,0,23,0,193,124,165,251,193,126,165,251,193,128,165,251,193,132,165,251,193,134,165,251,193,136,165,251,193,138,165,251,193,148,165,251,193,150,165,251,193,160,165,251,193,162,165,251,193,164,165,251,193,166,165,251,193,168,165,251,193,178,165,251,193,188,165,251,193,190,165,251,193,192,165,251,193,194,165,251,193,196,165,251,193,216,165,251,193,218,165,251,193,220,165,251,193,222,165,251,193,224,165,251,193,226,165,251,193,228,165,251,193,230,165,251,193,232,165,251,193,234,165,251,193,242,165,251,193,244,165,251,193,246,165,251,193,248,165,251,193,250,165,251,193,252,165,251,193,4,166,251,193,6,166,251,193,8,166,251,193,10,166,251,193,12,166,251,193,24,166,251,193,26,166,251,193,38,166,251,193,40,166,251,193,42,166,251,193,44,166,251,193,46,166,251,193,58,166,251,193,60,166,251,193,62,166,251,193,64,166,251,193,66,166,251,193,72,166,251,193,76,166,251,193,74,166,251,193,80,166,251,193,82,166,251,193,84,166,251,193,86,166,251,193,90,166,251,193,92,166,251,193,96,166,251,193,98,166,251,193,108,166,251,193,110,166,251,193,112,166,251,193,114,166,251,193,144,166,251,193,146,166,251,193,148,166,251,193,150,166,251,193,152,166,251,193,154,166,251,193,156,166,251,193,158,166,251,193,160,166,251,193,162,166,251,193,164,166,251,193,166,166,251,193,168,166,251,193,170,166,251,193,206,166,251,193,208,166,251,193,210,166,251,193,212,166,251,193,214,166,251,193,216,166,251,193,218,166,251,193,220,166,251,193,222,166,251,193,224,166,251,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,0,23,0,206,0,23,0,206,0,23,0,206,0,23,0,206,0,23,0,193,248,166,251,193,250,166,251,193,252,166,251,193,254,166,251,193,2,167,251,193,4,167,251,193,6,167,251,193,8,167,251,193,10,167,251,193,68,167,251,193,70,167,251,193,72,167,251,193,74,167,251,193,76,167,251,193,78,167,251,193,12,167,251,193,80,167,251,193,154,167,251,193,156,167,251,193,158,167,251,193,160,167,251,193,34,168,251,206,64,23,0,206,64,23,0,206,64,23,0,206,64,23,0,206,64,23,0,193,232,166,251,193,234,166,251,193,236,166,251,193,238,166,251,193,240,166,251,193,242,166,251,193,244,166,251,193,62,167,251,193,64,167,251,193,66,167,251,193,140,167,251,193,142,167,251,193,144,167,251,193,146,167,251,193,148,167,251,193,10,168,251,193,12,168,251,193,14,168,251,193,16,168,251,193,18,168,251,193,20,168,251,193,22,168,251,193,24,168,251,193,112,168,251,193,114,168,251,193,116,168,251,193,118,168,251,193,120,168,251,193,122,168,251,193,210,168,251,193,34,169,251,193,36,169,251,193,26,167,251,193,28,167,251,193,82,167,251,193,84,167,251,193,182,167,251,193,184,167,251,193,186,167,251,193,188,167,251,193,190,167,251,193,192,167,251,193,50,168,251,193,52,168,251,193,54,168,251,193,56,168,251,193,58,168,251,193,138,168,251,193,220,168,251,193,222,168,251,193,224,168,251,193,56,169,251,193,58,169,251,193,110,169,251,193,112,169,251,193,156,169,251,193,206,169,251,193,222,169,251,193,8,170,251,193,22,170,251,193,86,170,251,193,88,170,251,193,90,170,251,193,92,170,251,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,193,86,167,251,193,88,167,251,193,90,167,251,193,92,167,251,193,94,167,251,193,96,167,251,193,98,167,251,193,100,167,251,193,102,167,251,193,104,167,251,193,106,167,251,193,108,167,251,193,110,167,251,193,112,167,251,193,114,167,251,193,116,167,251,193,118,167,251,193,120,167,251,193,122,167,251,193,124,167,251,193,126,167,251,193,128,167,251,193,130,167,251,193,194,167,251,193,196,167,251,193,198,167,251,193,200,167,251,193,202,167,251,193,204,167,251,193,206,167,251,193,208,167,251,193,210,167,251,193,212,167,251,193,214,167,251,193,216,167,251,193,218,167,251,193,220,167,251,193,222,167,251,193,224,167,251,193,226,167,251,193,228,167,251,193,230,167,251,193,232,167,251,193,234,167,251,193,236,167,251,193,238,167,251,193,240,167,251,193,242,167,251,193,244,167,251,193,246,167,251,193,248,167,251,193,250,167,251,193,252,167,251,193,60,168,251,206,64,23,0,206,64,23,0,206,64,23,0,206,64,23,0,206,64,23,0,193,36,168,251,193,38,168,251,193,40,168,251,193,42,168,251,193,44,168,251,193,46,168,251,193,48,168,251,193,128,168,251,193,130,168,251,193,132,168,251,193,134,168,251,193,136,168,251,193,214,168,251,193,42,169,251,193,216,168,251,193,218,168,251,193,44,169,251,193,46,169,251,193,48,169,251,193,50,169,251,193,52,169,251,193,54,169,251,193,106,169,251,193,108,169,251,193,152,169,251,193,154,169,251,193,204,169,251,193,62,168,251,193,64,168,251,193,66,168,251,193,68,168,251,193,70,168,251,193,72,168,251,193,74,168,251,193,76,168,251,193,78,168,251,193,80,168,251,193,82,168,251,193,84,168,251,193,186,15,253,193,86,168,251,193,88,168,251,193,90,168,251,193,92,168,251,193,94,168,251,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,193,198,168,251,193,20,169,251,193,22,169,251,193,60,169,251,193,62,169,251,193,64,169,251,193,66,169,251,193,68,169,251,193,70,169,251,193,72,169,251,193,74,169,251,193,76,169,251,193,78,169,251,193,80,169,251,193,82,169,251,193,84,169,251,193,86,169,251,193,88,169,251,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,193,208,168,251,193,30,169,251,193,32,169,251,193,90,169,251,193,92,169,251,193,94,169,251,193,172,169,251,193,196,169,251,193,198,169,251,193,240,169,251,193,246,169,251,193,40,170,251,193,42,170,251,193,44,170,251,193,144,170,251,193,146,170,251,193,148,170,251,193,150,170,251,193,144,171,251,193,146,171,251,193,148,171,251,193,150,171,251,193,152,171,251,193,154,171,251,193,156,171,251,193,158,171,251,193,206,172,251,193,208,172,251,193,210,172,251,193,212,172,251,193,214,172,251,193,216,172,251,193,38,169,251,193,96,169,251,193,98,169,251,193,100,169,251,193,102,169,251,193,104,169,251,193,144,169,251,193,146,169,251,193,148,169,251,193,200,169,251,193,216,169,251,193,152,170,251,193,154,170,251,193,156,170,251,193,158,170,251,193,160,171,251,193,162,171,251,193,164,171,251,193,166,171,251,193,168,171,251,193,170,171,251,193,172,171,251,193,174,171,251,193,176,171,251,193,178,171,251,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,193,14,16,253,193,138,169,251,193,140,169,251,193,158,169,251,193,160,169,251,193,162,169,251,193,18,16,253,193,164,169,251,193,166,169,251,193,168,169,251,193,174,169,251,193,176,169,251,193,178,169,251,193,180,169,251,193,182,169,251,193,184,169,251,193,186,169,251,193,188,169,251,193,190,169,251,193,208,169,251,193,210,169,251,193,212,169,251,193,176,215,253,193,214,169,251,193,224,169,251,193,226,169,251,193,228,169,251,193,218,169,251,193,220,169,251,193,234,169,251,193,252,169,251,193,254,169,251,193,4,170,251,193,6,170,251,193,14,170,251,193,16,170,251,193,18,170,251,193,20,170,251,193,50,170,251,193,52,170,251,193,54,170,251,193,56,170,251,193,58,170,251,193,60,170,251,193,62,170,251,193,64,170,251,193,66,170,251,193,68,170,251,193,70,170,251,193,72,170,251,193,74,170,251,193,76,170,251,193,78,170,251,193,80,170,251,193,82,170,251,193,84,170,251,193,168,170,251,193,170,170,251,193,172,170,251,193,230,169,251,193,40,16,253,193,232,169,251,193,236,169,251,193,238,169,251,193,242,169,251,193,244,169,251,193,248,169,251,193,250,169,251,193,2,170,251,193,10,170,251,193,24,170,251,193,26,170,251,193,28,170,251,193,30,170,251,193,32,170,251,193,34,170,251,193,36,170,251,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,193,94,170,251,193,252,170,251,193,254,170,251,193,2,171,251,193,4,171,251,193,6,171,251,193,8,171,251,193,10,171,251,193,12,171,251,193,14,171,251,193,16,171,251,193,18,171,251,193,58,172,251,193,60,172,251,193,62,172,251,193,64,172,251,193,66,172,251,193,68,172,251,193,70,172,251,193,72,172,251,193,74,172,251,193,76,172,251,193,78,172,251,193,80,172,251,193,82,172,251,193,84,172,251,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,193,166,170,251,193,180,171,251,193,182,171,251,193,184,171,251,193,186,171,251,193,188,171,251,193,190,171,251,193,192,171,251,193,194,171,251,193,196,171,251,193,248,172,251,193,250,172,251,193,252,172,251,193,254,172,251,193,2,173,251,193,4,173,251,193,6,173,251,193,8,173,251,193,10,173,251,193,12,173,251,193,116,174,251,193,118,174,251,193,120,174,251,193,122,174,251,193,124,174,251,193,126,174,251,193,128,174,251,193,130,174,251,206,224,24,0,206,224,24,0,206,224,24,0,206,224,24,0,193,174,170,251,193,176,170,251,193,178,170,251,193,180,170,251,193,182,170,251,193,184,170,251,193,186,170,251,193,188,170,251,193,190,170,251,193,192,170,251,193,194,170,251,193,196,170,251,193,198,170,251,193,200,170,251,193,202,170,251,193,204,170,251,193,206,170,251,193,208,170,251,193,210,170,251,193,212,170,251,193,214,170,251,193,216,170,251,193,218,170,251,193,220,170,251,193,222,170,251,193,224,170,251,193,226,170,251,193,228,170,251,193,230,170,251,193,232,170,251,193,234,170,251,193,236,170,251,193,238,170,251,193,240,170,251,193,242,170,251,193,244,170,251,193,246,170,251,193,248,170,251,193,250,170,251,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,193,86,172,251,193,130,171,251,193,132,171,251,193,134,171,251,193,136,171,251,193,138,171,251,193,140,171,251,193,192,172,251,193,194,172,251,193,196,172,251,193,198,172,251,193,200,172,251,193,202,172,251,193,204,172,251,193,48,174,251,193,50,174,251,193,52,174,251,193,54,174,251,193,56,174,251,193,58,174,251,193,60,174,251,193,62,174,251,193,166,175,251,193,168,175,251,193,170,175,251,193,172,175,251,193,174,175,251,193,176,175,251,193,178,175,251,193,180,175,251,193,182,175,251,193,184,175,251,193,156,177,251,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,193,88,172,251,193,90,172,251,193,92,172,251,193,94,172,251,193,96,172,251,193,98,172,251,193,100,172,251,193,102,172,251,193,104,172,251,193,106,172,251,193,108,172,251,193,110,172,251,193,112,172,251,193,114,172,251,193,116,172,251,193,118,172,251,193,120,172,251,193,122,172,251,193,124,172,251,193,126,172,251,193,128,172,251,193,130,172,251,193,132,172,251,193,134,172,251,193,136,172,251,193,138,172,251,193,140,172,251,193,142,172,251,193,144,172,251,193,146,172,251,193,148,172,251,193,150,172,251,193,152,172,251,193,154,172,251,193,156,172,251,193,158,172,251,193,160,172,251,193,162,172,251,193,164,172,251,193,166,172,251,193,168,172,251,193,170,172,251,193,172,172,251,193,174,172,251,193,176,172,251,193,178,172,251,193,180,172,251,193,182,172,251,193,184,172,251,193,186,172,251,193,188,172,251,193,190,172,251,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,193,88,174,251,193,90,174,251,193,92,174,251,193,94,174,251,193,96,174,251,193,98,174,251,193,100,174,251,193,102,174,251,193,104,174,251,193,106,174,251,193,108,174,251,193,110,174,251,193,112,174,251,193,114,174,251,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,193,132,174,251,193,134,174,251,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,193,232,174,251,193,234,174,251,193,236,174,251,193,238,174,251,193,240,174,251,193,242,174,251,193,244,174,251,193,246,174,251,193,248,174,251,193,250,174,251,193,252,174,251,193,254,174,251,193,178,173,251,193,2,175,251,193,4,175,251,193,6,175,251,193,146,176,251,193,148,176,251,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,193,64,174,251,193,66,174,251,193,68,174,251,193,70,174,251,193,72,174,251,193,74,174,251,193,76,174,251,193,78,174,251,193,80,174,251,193,82,174,251,193,84,174,251,193,86,174,251,193,186,175,251,193,188,175,251,193,190,175,251,193,192,175,251,193,194,175,251,193,196,175,251,193,198,175,251,193,200,175,251,193,202,175,251,193,204,175,251,193,172,177,251,193,174,177,251,193,176,177,251,193,178,177,251,193,180,177,251,193,182,177,251,193,184,177,251,193,186,177,251,193,188,177,251,193,190,177,251,193,136,174,251,193,138,174,251,193,140,174,251,193,142,174,251,193,144,174,251,193,146,174,251,193,148,174,251,193,150,174,251,193,152,174,251,193,154,174,251,193,156,174,251,193,158,174,251,193,160,174,251,193,162,174,251,193,164,174,251,193,166,174,251,193,168,174,251,193,170,174,251,193,172,174,251,193,174,174,251,193,176,174,251,193,178,174,251,193,180,174,251,193,182,174,251,193,184,174,251,193,186,174,251,193,188,174,251,193,190,174,251,193,192,174,251,193,194,174,251,193,196,174,251,193,198,174,251,193,200,174,251,193,202,174,251,193,204,174,251,193,206,174,251,193,208,174,251,193,210,174,251,193,212,174,251,193,214,174,251,193,216,174,251,193,218,174,251,193,220,174,251,193,222,174,251,193,224,174,251,193,226,174,251,193,228,174,251,193,230,174,251,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,193,192,177,251,193,194,177,251,193,196,177,251,193,198,177,251,193,200,177,251,193,202,177,251,193,204,177,251,193,206,177,251,193,208,177,251,193,210,177,251,193,212,177,251,193,214,177,251,193,216,177,251,193,218,177,251,193,220,177,251,193,222,177,251,193,224,177,251,193,226,177,251,193,228,177,251,193,230,177,251,206,224,24,0,206,224,24,0,206,224,24,0,206,224,24,0,206,224,24,0,206,224,24,0,206,224,24,0,193,234,177,251,193,236,177,251,193,238,177,251,193,240,177,251,193,242,177,251,193,244,177,251,193,246,177,251,193,248,177,251,193,250,177,251,193,190,179,251,193,192,179,251,193,194,179,251,193,196,179,251,193,198,179,251,193,200,179,251,193,202,179,251,193,204,179,251,193,206,179,251,193,208,179,251,193,210,179,251,193,212,179,251,206,0,26,0,206,0,26,0,206,0,26,0,206,0,26,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,193,150,176,251,193,152,176,251,193,154,176,251,193,156,176,251,193,158,176,251,193,160,176,251,193,162,176,251,193,164,176,251,193,166,176,251,193,168,176,251,193,170,176,251,193,172,176,251,193,174,176,251,193,176,176,251,193,178,176,251,193,180,176,251,193,182,176,251,193,184,176,251,193,186,176,251,193,188,176,251,193,190,176,251,193,192,176,251,193,194,176,251,193,196,176,251,193,198,176,251,193,200,176,251,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,193,158,177,251,193,160,177,251,193,162,177,251,193,164,177,251,193,166,177,251,193,168,177,251,193,170,177,251,193,94,179,251,193,96,179,251,193,98,179,251,193,100,179,251,193,102,179,251,193,104,179,251,193,106,179,251,193,108,179,251,193,110,179,251,193,112,179,251,193,114,179,251,193,116,179,251,193,244,180,251,193,246,180,251,193,248,180,251,193,250,180,251,193,252,180,251,193,254,180,251,193,2,181,251,193,4,181,251,193,6,181,251,193,8,181,251,193,10,181,251,193,12,181,251,193,140,182,251,193,232,177,251,193,146,179,251,193,148,179,251,193,150,179,251,193,152,179,251,193,154,179,251,193,156,179,251,193,158,179,251,193,160,179,251,193,162,179,251,193,164,179,251,193,166,179,251,193,168,179,251,193,170,179,251,193,172,179,251,193,174,179,251,193,176,179,251,193,178,179,251,193,180,179,251,193,182,179,251,193,184,179,251,193,186,179,251,193,188,179,251,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,193,108,178,251,193,140,181,251,193,142,181,251,193,144,181,251,193,146,181,251,193,242,182,251,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,193,46,180,251,193,48,180,251,193,50,180,251,193,52,180,251,193,54,180,251,193,56,180,251,193,58,180,251,193,60,180,251,193,62,180,251,193,64,180,251,193,66,180,251,193,68,180,251,193,70,180,251,193,72,180,251,193,74,180,251,193,76,180,251,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,193,118,179,251,193,120,179,251,193,122,179,251,193,124,179,251,193,126,179,251,193,128,179,251,193,130,179,251,193,132,179,251,193,134,179,251,193,136,179,251,193,138,179,251,193,140,179,251,193,142,179,251,193,144,179,251,193,14,181,251,193,16,181,251,193,18,181,251,193,20,181,251,193,22,181,251,193,24,181,251,193,26,181,251,193,28,181,251,193,30,181,251,193,32,181,251,193,158,182,251,193,160,182,251,193,162,182,251,193,164,182,251,193,166,182,251,193,168,182,251,193,170,182,251,193,172,182,251,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,0,26,0,206,0,26,0,206,0,26,0,206,0,26,0,206,0,26,0,193,230,182,251,193,232,182,251,193,234,182,251,193,236,182,251,193,238,182,251,193,240,182,251,193,110,184,251,193,112,184,251,193,114,184,251,193,116,184,251,193,118,184,251,193,120,184,251,193,122,184,251,193,124,184,251,193,126,184,251,193,118,185,251,193,120,185,251,193,122,185,251,193,44,186,251,193,46,186,251,193,48,186,251,193,50,186,251,193,214,186,251,193,216,186,251,193,218,186,251,193,220,186,251,193,84,187,251,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,193,76,183,251,193,78,183,251,193,80,183,251,193,82,183,251,193,84,183,251,193,86,183,251,193,88,183,251,193,90,183,251,193,92,183,251,193,94,183,251,193,96,183,251,193,98,183,251,193,100,183,251,193,102,183,251,193,192,184,251,193,194,184,251,193,196,184,251,193,166,185,251,193,168,185,251,193,170,185,251,193,172,185,251,193,174,185,251,193,176,185,251,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,193,232,196,252,193,194,196,252,193,234,196,252,193,236,196,252,193,238,196,252,193,240,196,252,193,242,196,252,193,244,196,252,193,246,196,252,193,248,196,252,193,250,196,252,193,252,196,252,193,138,182,251,193,254,196,252,193,2,197,252,193,4,197,252,193,6,197,252,193,8,197,252,193,10,197,252,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,193,142,182,251,193,144,182,251,193,146,182,251,193,148,182,251,193,150,182,251,193,152,182,251,193,154,182,251,193,156,182,251,193,44,184,251,193,46,184,251,193,48,184,251,193,50,184,251,193,52,184,251,193,54,184,251,193,66,185,251,193,68,185,251,193,70,185,251,193,72,185,251,193,74,185,251,193,76,185,251,193,78,185,251,193,80,185,251,193,82,185,251,193,16,186,251,193,18,186,251,193,20,186,251,193,168,186,251,193,170,186,251,193,172,186,251,193,174,186,251,193,176,186,251,193,60,187,251,193,174,182,251,193,176,182,251,193,178,182,251,193,56,184,251,193,58,184,251,193,60,184,251,193,62,184,251,193,64,184,251,193,66,184,251,193,68,184,251,193,84,185,251,193,86,185,251,193,88,185,251,193,90,185,251,193,92,185,251,193,94,185,251,193,22,186,251,193,24,186,251,193,26,186,251,193,178,186,251,193,180,186,251,193,182,186,251,193,184,186,251,193,186,186,251,193,188,186,251,193,190,186,251,193,64,187,251,193,66,187,251,193,68,187,251,193,128,187,251,193,130,187,251,193,132,187,251,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,193,70,184,251,193,72,184,251,193,74,184,251,193,76,184,251,193,78,184,251,193,80,184,251,193,82,184,251,193,84,184,251,193,86,184,251,193,88,184,251,193,90,184,251,193,92,184,251,193,94,184,251,193,96,184,251,193,98,184,251,193,100,184,251,193,102,184,251,193,104,184,251,193,106,184,251,193,108,184,251,206,64,27,0,206,64,27,0,206,64,27,0,206,64,27,0,206,64,27,0,206,64,27,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,193,128,184,251,193,130,184,251,193,132,184,251,193,134,184,251,193,136,184,251,193,138,184,251,193,140,184,251,193,124,185,251,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,193,118,213,252,193,120,213,252,193,122,213,252,193,124,213,252,193,8,213,252,193,126,213,252,193,128,213,252,193,130,213,252,193,132,213,252,193,134,213,252,193,136,213,252,193,138,213,252,193,140,213,252,193,142,213,252,193,250,213,252,193,144,213,252,193,146,213,252,193,148,213,252,193,150,213,252,193,152,213,252,193,154,213,252,193,156,213,252,193,30,235,251,193,64,185,251,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,64,27,0,206,64,27,0,206,64,27,0,206,64,27,0,206,64,27,0,193,28,186,251,193,30,186,251,193,32,186,251,193,34,186,251,193,36,186,251,193,38,186,251,193,40,186,251,193,42,186,251,193,192,186,251,193,194,186,251,193,196,186,251,193,198,186,251,193,200,186,251,193,202,186,251,193,204,186,251,193,206,186,251,193,208,186,251,193,210,186,251,193,212,186,251,193,70,187,251,193,72,187,251,193,74,187,251,193,76,187,251,193,78,187,251,193,80,187,251,193,82,187,251,193,138,187,251,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,193,52,186,251,193,54,186,251,193,56,186,251,193,58,186,251,193,60,186,251,193,62,186,251,193,64,186,251,193,66,186,251,193,68,186,251,193,70,186,251,193,72,186,251,193,74,186,251,193,222,186,251,193,224,186,251,193,226,186,251,193,228,186,251,193,88,187,251,193,90,187,251,193,92,187,251,193,152,187,251,193,154,187,251,193,156,187,251,193,158,187,251,193,178,185,251,193,76,186,251,193,78,186,251,193,230,186,251,193,232,186,251,193,234,186,251,193,236,186,251,193,238,186,251,193,94,187,251,193,96,187,251,193,98,187,251,193,212,187,251,193,214,187,251,193,58,188,251,193,122,188,251,193,124,188,251,193,154,188,251,193,156,188,251,193,158,188,251,193,200,188,251,193,254,188,251,193,2,189,251,193,4,189,251,193,46,189,251,193,92,189,251,193,152,189,251,193,208,189,251,193,6,190,251,193,8,190,251,193,118,190,251,193,190,190,251,193,212,190,251,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,193,166,186,251,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,193,100,187,251,193,102,187,251,193,104,187,251,193,106,187,251,193,108,187,251,193,110,187,251,193,112,187,251,193,114,187,251,193,116,187,251,193,118,187,251,193,120,187,251,193,122,187,251,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,193,62,187,251,193,124,187,251,193,126,187,251,193,188,187,251,193,190,187,251,193,236,187,251,193,238,187,251,193,16,188,251,193,44,188,251,193,88,188,251,193,110,188,251,193,236,188,251,193,238,188,251,193,22,189,251,193,24,189,251,193,66,189,251,193,68,189,251,193,118,189,251,193,182,189,251,193,242,189,251,193,92,190,251,193,94,190,251,193,96,190,251,193,160,190,251,193,22,191,251,193,72,191,251,193,126,191,251,193,146,191,251,193,60,192,251,193,52,193,251,193,54,193,251,193,56,193,251,193,86,187,251,193,146,187,251,193,148,187,251,193,150,187,251,193,194,188,251,193,196,188,251,193,246,188,251,193,248,188,251,193,250,188,251,193,36,189,251,193,84,189,251,193,138,189,251,193,190,189,251,193,192,189,251,193,194,189,251,193,250,189,251,193,64,190,251,193,66,190,251,193,110,190,251,193,112,190,251,193,102,191,251,193,130,191,251,193,136,191,251,193,210,191,251,193,212,191,251,193,214,191,251,193,216,191,251,193,218,191,251,193,72,192,251,193,74,192,251,193,86,193,251,193,88,193,251,193,134,187,251,193,136,187,251,193,192,187,251,193,194,187,251,193,196,187,251,193,66,188,251,193,112,188,251,193,114,188,251,193,142,188,251,193,184,188,251,193,186,188,251,193,240,188,251,193,242,188,251,193,26,189,251,193,28,189,251,193,30,189,251,193,32,189,251,193,34,189,251,193,70,189,251,193,72,189,251,193,74,189,251,193,76,189,251,193,78,189,251,193,120,189,251,193,122,189,251,193,124,189,251,193,126,189,251,193,128,189,251,193,130,189,251,193,132,189,251,193,134,189,251,193,184,189,251,193,140,187,251,193,142,187,251,193,144,187,251,193,198,187,251,193,200,187,251,193,202,187,251,193,204,187,251,193,240,187,251,193,38,188,251,193,40,188,251,193,42,188,251,193,46,188,251,193,48,188,251,193,54,188,251,193,90,188,251,193,144,188,251,193,188,188,251,193,190,188,251,193,192,188,251,193,244,188,251,193,80,189,251,193,82,189,251,193,136,189,251,193,188,189,251,193,246,189,251,193,248,189,251,193,58,190,251,193,60,190,251,193,62,190,251,193,108,190,251,193,130,190,251,193,174,190,251,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,193,216,187,251,193,218,187,251,193,220,187,251,193,222,187,251,193,224,187,251,193,226,187,251,193,228,187,251,193,230,187,251,193,232,187,251,193,234,187,251,193,246,187,251,193,248,187,251,193,250,187,251,193,252,187,251,193,254,187,251,193,2,188,251,193,4,188,251,193,6,188,251,193,8,188,251,193,10,188,251,193,12,188,251,193,14,188,251,193,22,188,251,193,24,188,251,193,26,188,251,193,28,188,251,193,30,188,251,193,206,187,251,193,208,187,251,193,210,187,251,193,242,187,251,193,244,187,251,193,18,188,251,193,20,188,251,193,56,188,251,193,76,188,251,193,78,188,251,193,80,188,251,193,82,188,251,193,92,188,251,193,94,188,251,193,96,188,251,193,98,188,251,193,100,188,251,193,116,188,251,193,118,188,251,193,120,188,251,193,146,188,251,193,148,188,251,193,150,188,251,193,152,188,251,193,198,188,251,193,252,188,251,193,38,189,251,193,40,189,251,193,42,189,251,193,44,189,251,193,86,189,251,193,88,189,251,193,32,188,251,193,34,188,251,193,36,188,251,193,50,188,251,193,52,188,251,193,60,188,251,193,62,188,251,193,64,188,251,193,68,188,251,193,70,188,251,193,72,188,251,193,74,188,251,193,84,188,251,193,86,188,251,193,102,188,251,193,104,188,251,193,106,188,251,193,108,188,251,193,126,188,251,193,128,188,251,193,130,188,251,193,132,188,251,193,134,188,251,193,136,188,251,193,138,188,251,193,140,188,251,206,0,28,0,206,0,28,0,206,0,28,0,206,0,28,0,206,0,28,0,206,0,28,0,206,0,28,0,206,0,28,0,193,202,188,251,193,204,188,251,193,206,188,251,193,208,188,251,193,210,188,251,193,212,188,251,193,214,188,251,193,216,188,251,193,218,188,251,193,220,188,251,193,222,188,251,193,224,188,251,193,226,188,251,193,228,188,251,193,230,188,251,193,232,188,251,193,234,188,251,193,6,189,251,193,8,189,251,193,10,189,251,193,12,189,251,193,14,189,251,193,16,189,251,193,18,189,251,193,20,189,251,193,48,189,251,193,50,189,251,193,52,189,251,193,54,189,251,193,56,189,251,193,58,189,251,193,60,189,251,193,62,189,251,193,64,189,251,193,94,189,251,193,96,189,251,193,98,189,251,193,100,189,251,193,102,189,251,193,104,189,251,193,106,189,251,193,108,189,251,193,110,189,251,193,112,189,251,193,114,189,251,193,116,189,251,193,154,189,251,193,156,189,251,193,158,189,251,193,160,189,251,193,162,189,251,193,164,189,251,193,166,189,251,193,168,189,251,193,170,189,251,193,172,189,251,193,174,189,251,193,176,189,251,193,140,189,251,193,142,189,251,193,144,189,251,193,146,189,251,193,148,189,251,193,150,189,251,193,90,189,251,193,196,189,251,193,198,189,251,193,200,189,251,193,202,189,251,193,204,189,251,193,206,189,251,193,252,189,251,193,254,189,251,193,2,190,251,193,68,190,251,193,4,190,251,193,114,190,251,193,132,190,251,193,116,190,251,193,158,190,251,193,162,190,251,193,164,190,251,193,166,190,251,193,168,190,251,193,184,190,251,193,186,190,251,193,188,190,251,193,204,190,251,193,206,190,251,193,208,190,251,193,178,189,251,193,180,189,251,193,212,189,251,193,214,189,251,193,216,189,251,193,218,189,251,193,220,189,251,193,222,189,251,193,10,190,251,193,224,189,251,193,226,189,251,193,228,189,251,193,230,189,251,193,232,189,251,193,234,189,251,193,236,189,251,193,238,189,251,193,240,189,251,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,193,186,189,251,193,244,189,251,193,54,190,251,193,56,190,251,193,98,190,251,193,100,190,251,193,102,190,251,193,104,190,251,193,106,190,251,193,230,190,251,193,24,191,251,193,58,191,251,193,60,191,251,193,74,191,251,193,76,191,251,193,92,191,251,193,94,191,251,193,110,191,251,193,154,191,251,193,174,191,251,193,206,191,251,193,62,192,251,193,64,192,251,193,66,192,251,193,66,193,251,193,68,193,251,193,70,193,251,193,72,193,251,193,140,194,251,193,142,194,251,193,144,194,251,193,146,194,251,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,193,170,190,251,193,172,190,251,193,176,190,251,193,178,190,251,193,180,190,251,193,182,190,251,193,192,190,251,193,194,190,251,193,196,190,251,193,198,190,251,193,200,190,251,193,216,190,251,193,218,190,251,193,220,190,251,193,222,190,251,193,224,190,251,193,226,190,251,193,228,190,251,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,193,202,190,251,193,232,190,251,193,234,190,251,193,26,191,251,193,28,191,251,193,30,191,251,193,32,191,251,193,96,191,251,193,98,191,251,193,100,191,251,193,128,191,251,193,134,191,251,193,152,191,251,193,164,191,251,193,208,191,251,193,68,192,251,193,70,192,251,193,74,193,251,193,76,193,251,193,78,193,251,193,80,193,251,193,82,193,251,193,84,193,251,193,152,194,251,193,154,194,251,193,156,194,251,193,158,194,251,193,160,194,251,193,162,194,251,193,164,194,251,193,166,194,251,193,168,194,251,193,210,190,251,193,236,190,251,193,238,190,251,193,240,190,251,193,34,191,251,193,36,191,251,193,38,191,251,193,40,191,251,193,62,191,251,193,78,191,251,193,80,191,251,193,156,191,251,193,158,191,251,193,160,191,251,193,166,191,251,193,220,191,251,193,176,191,251,193,178,191,251,193,180,191,251,193,182,191,251,193,184,191,251,193,186,191,251,193,188,191,251,193,222,191,251,193,224,191,251,193,226,191,251,193,228,191,251,193,230,191,251,193,232,191,251,193,234,191,251,193,236,191,251,193,76,192,251,193,214,190,251,193,242,190,251,193,244,190,251,193,190,191,251,193,192,191,251,193,194,191,251,193,10,192,251,193,12,192,251,193,14,192,251,193,190,192,251,193,192,192,251,193,194,192,251,193,196,192,251,193,198,192,251,193,200,192,251,193,202,192,251,193,204,192,251,193,206,192,251,193,252,193,251,193,254,193,251,193,2,194,251,193,4,194,251,193,6,194,251,193,8,194,251,193,10,194,251,193,12,194,251,193,14,194,251,193,16,194,251,193,18,194,251,193,20,194,251,193,22,194,251,193,24,194,251,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,193,42,191,251,193,44,191,251,193,46,191,251,193,48,191,251,193,50,191,251,193,52,191,251,193,54,191,251,193,56,191,251,193,64,191,251,193,66,191,251,193,68,191,251,193,70,191,251,193,82,191,251,193,84,191,251,193,86,191,251,193,88,191,251,193,90,191,251,193,104,191,251,193,106,191,251,193,112,191,251,193,114,191,251,193,116,191,251,193,118,191,251,193,120,191,251,193,122,191,251,193,124,191,251,193,132,191,251,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,193,108,191,251,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,193,138,191,251,193,140,191,251,193,144,191,251,193,148,191,251,193,150,191,251,193,168,191,251,193,170,191,251,193,172,191,251,193,196,191,251,193,198,191,251,193,200,191,251,193,202,191,251,193,204,191,251,193,16,192,251,193,18,192,251,193,20,192,251,193,22,192,251,193,24,192,251,193,26,192,251,193,28,192,251,193,30,192,251,193,32,192,251,193,34,192,251,193,36,192,251,193,38,192,251,193,40,192,251,193,42,192,251,193,44,192,251,193,46,192,251,193,48,192,251,193,50,192,251,193,52,192,251,193,36,78,253,193,38,78,253,193,40,78,253,193,42,78,253,193,44,78,253,193,46,78,253,193,48,78,253,193,50,78,253,193,56,78,253,193,58,78,253,193,60,78,253,193,62,78,253,193,64,78,253,193,66,78,253,193,68,78,253,193,70,78,253,193,74,78,253,193,76,78,253,193,78,78,253,193,142,191,251,193,204,97,252,193,86,78,253,193,88,78,253,193,90,78,253,193,92,78,253,193,94,78,253,193,102,78,253,193,104,78,253,193,106,78,253,193,112,78,253,193,116,78,253,193,118,78,253,193,238,191,251,193,240,191,251,193,242,191,251,193,244,191,251,193,246,191,251,193,248,191,251,193,250,191,251,193,252,191,251,193,254,191,251,193,2,192,251,193,4,192,251,193,6,192,251,193,8,192,251,193,78,192,251,193,80,192,251,193,82,192,251,193,84,192,251,193,86,192,251,193,88,192,251,193,90,192,251,193,92,192,251,193,94,192,251,193,96,192,251,193,98,192,251,193,114,193,251,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,193,54,192,251,193,56,192,251,193,58,192,251,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,193,58,193,251,193,60,193,251,193,62,193,251,193,64,193,251,193,124,194,251,193,126,194,251,193,128,194,251,193,130,194,251,193,132,194,251,193,134,194,251,193,136,194,251,193,250,195,251,193,252,195,251,193,254,195,251,193,2,196,251,193,4,196,251,193,6,196,251,193,8,196,251,193,10,196,251,193,12,196,251,193,166,197,251,193,168,197,251,193,170,197,251,193,172,197,251,193,174,197,251,193,176,197,251,193,178,197,251,193,180,197,251,193,182,197,251,193,184,197,251,193,186,197,251,193,188,197,251,193,90,193,251,193,92,193,251,193,94,193,251,193,96,193,251,193,98,193,251,193,100,193,251,193,102,193,251,193,104,193,251,193,106,193,251,193,108,193,251,193,110,193,251,193,112,193,251,193,174,194,251,193,176,194,251,193,178,194,251,193,180,194,251,193,182,194,251,193,184,194,251,193,186,194,251,193,188,194,251,193,190,194,251,193,192,194,251,193,194,194,251,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,193,26,194,251,193,66,195,251,193,68,195,251,193,70,195,251,193,72,195,251,193,74,195,251,193,76,195,251,193,78,195,251,193,80,195,251,193,82,195,251,193,84,195,251,193,86,195,251,193,88,195,251,193,90,195,251,193,92,195,251,193,94,195,251,193,96,195,251,193,98,195,251,193,242,196,251,193,244,196,251,193,246,196,251,193,248,196,251,193,250,196,251,193,252,196,251,193,254,196,251,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,193,148,194,251,193,150,194,251,193,16,196,251,193,18,196,251,193,20,196,251,193,22,196,251,193,24,196,251,193,26,196,251,193,28,196,251,193,30,196,251,193,32,196,251,193,34,196,251,193,36,196,251,193,38,196,251,193,40,196,251,193,42,196,251,193,44,196,251,193,192,197,251,193,194,197,251,193,196,197,251,193,198,197,251,193,200,197,251,193,202,197,251,193,204,197,251,193,206,197,251,193,208,197,251,193,210,197,251,193,212,197,251,193,214,197,251,193,216,197,251,193,218,197,251,193,220,197,251,193,170,194,251,193,172,194,251,193,46,196,251,193,48,196,251,193,50,196,251,193,52,196,251,193,54,196,251,193,56,196,251,193,58,196,251,193,60,196,251,193,62,196,251,193,64,196,251,193,66,196,251,193,68,196,251,193,70,196,251,193,72,196,251,193,74,196,251,193,76,196,251,193,78,196,251,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,193,14,198,251,193,16,198,251,193,18,198,251,193,20,198,251,193,22,198,251,193,24,198,251,193,26,198,251,193,28,198,251,193,30,198,251,193,32,198,251,193,34,198,251,193,36,198,251,193,38,198,251,193,40,198,251,193,42,198,251,206,32,30,0,206,32,30,0,206,32,30,0,206,32,30,0,206,32,30,0,206,32,30,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,193,190,197,251,193,206,199,251,193,208,199,251,193,210,199,251,193,212,199,251,193,214,199,251,193,216,199,251,193,218,199,251,193,220,199,251,193,222,199,251,193,224,199,251,193,226,199,251,193,238,201,251,193,240,201,251,193,242,201,251,193,244,201,251,193,246,201,251,193,248,201,251,193,250,201,251,193,252,201,251,193,254,201,251,193,2,202,251,193,4,202,251,193,202,203,251,193,204,203,251,193,206,203,251,193,208,203,251,193,210,203,251,193,212,203,251,193,214,203,251,193,216,203,251,193,218,203,251,193,222,197,251,193,228,199,251,193,230,199,251,193,232,199,251,193,234,199,251,193,236,199,251,193,238,199,251,193,240,199,251,193,242,199,251,193,244,199,251,193,246,199,251,193,248,199,251,193,250,199,251,193,252,199,251,193,254,199,251,193,2,200,251,193,4,200,251,193,6,200,251,193,8,200,251,193,10,200,251,193,12,200,251,193,14,200,251,193,16,200,251,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,193,18,200,251,193,20,200,251,193,22,200,251,193,24,200,251,193,26,200,251,193,28,200,251,193,30,200,251,193,32,200,251,193,34,200,251,193,36,200,251,193,38,200,251,193,40,200,251,193,42,200,251,193,44,200,251,193,46,200,251,193,48,200,251,193,50,200,251,193,52,200,251,193,54,200,251,193,56,200,251,193,58,200,251,193,44,202,251,193,46,202,251,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,193,82,200,251,193,198,198,251,193,200,198,251,193,202,198,251,193,204,198,251,193,206,198,251,193,208,198,251,193,210,198,251,193,212,198,251,193,214,198,251,193,216,198,251,193,218,198,251,193,84,200,251,193,86,200,251,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,193,228,200,251,193,230,200,251,193,232,200,251,193,234,200,251,193,236,200,251,193,238,200,251,193,240,200,251,193,242,200,251,193,244,200,251,193,246,200,251,193,248,200,251,193,250,200,251,193,252,200,251,193,246,202,251,193,254,200,251,193,2,201,251,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,32,30,0,206,32,30,0,206,32,30,0,206,32,30,0,206,32,30,0,193,84,202,251,193,86,202,251,193,88,202,251,193,90,202,251,193,92,202,251,193,94,202,251,193,96,202,251,193,98,202,251,193,100,202,251,193,102,202,251,193,104,202,251,193,106,202,251,193,108,202,251,193,44,204,251,193,46,204,251,193,48,204,251,193,50,204,251,193,52,204,251,193,54,204,251,193,56,204,251,193,58,204,251,193,60,204,251,193,62,204,251,193,64,204,251,193,66,204,251,193,68,204,251,193,10,206,251,193,88,200,251,193,90,200,251,193,92,200,251,193,94,200,251,193,96,200,251,193,70,204,251,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,193,72,204,251,193,74,204,251,193,76,204,251,193,78,204,251,193,80,204,251,193,82,204,251,193,84,204,251,193,226,200,251,193,86,204,251,193,88,204,251,193,90,204,251,193,26,206,251,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,193,148,117,252,193,176,201,251,193,178,201,251,193,180,201,251,193,182,201,251,193,184,201,251,193,186,201,251,193,188,201,251,193,190,201,251,193,192,201,251,193,194,201,251,193,196,201,251,193,198,201,251,193,200,201,251,193,202,201,251,193,204,201,251,193,206,201,251,193,208,201,251,193,210,201,251,193,212,201,251,193,214,201,251,193,216,201,251,193,218,201,251,193,220,201,251,193,222,201,251,193,224,201,251,193,226,201,251,193,228,201,251,193,230,201,251,193,232,201,251,193,234,201,251,193,236,201,251,206,0,31,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,193,228,203,251,193,230,203,251,193,232,203,251,193,234,203,251,193,236,203,251,193,238,203,251,193,240,203,251,193,242,203,251,193,244,203,251,193,246,203,251,193,248,203,251,193,250,203,251,193,252,203,251,193,254,203,251,193,210,205,251,193,212,205,251,193,214,205,251,193,216,205,251,193,218,205,251,193,220,205,251,193,222,205,251,193,224,205,251,193,226,205,251,193,48,202,251,193,50,202,251,193,52,202,251,193,54,202,251,193,56,202,251,193,58,202,251,193,60,202,251,193,62,202,251,193,64,202,251,193,66,202,251,193,68,202,251,193,70,202,251,193,72,202,251,193,74,202,251,193,76,202,251,193,78,202,251,193,80,202,251,193,82,202,251,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,193,24,206,251,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,193,186,204,251,193,188,204,251,193,190,204,251,193,192,204,251,193,194,204,251,193,196,204,251,193,198,204,251,193,200,204,251,193,202,204,251,193,204,204,251,193,206,204,251,193,208,204,251,193,210,204,251,193,212,204,251,193,214,204,251,193,216,204,251,193,218,204,251,193,220,204,251,193,222,204,251,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,193,220,203,251,193,222,203,251,193,224,203,251,193,192,205,251,193,194,205,251,193,196,205,251,193,198,205,251,193,200,205,251,193,202,205,251,193,204,205,251,193,206,205,251,193,106,207,251,193,108,207,251,193,110,207,251,193,112,207,251,193,114,207,251,193,116,207,251,193,118,207,251,193,120,207,251,193,122,207,251,193,124,207,251,193,156,208,251,193,158,208,251,193,160,208,251,193,102,209,251,193,104,209,251,193,106,209,251,193,52,210,251,193,54,210,251,193,56,210,251,193,58,210,251,193,60,210,251,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,193,232,205,251,193,234,205,251,193,236,205,251,193,238,205,251,193,240,205,251,193,242,205,251,193,244,205,251,193,246,205,251,193,248,205,251,193,250,205,251,193,252,205,251,193,254,205,251,193,2,206,251,193,4,206,251,193,6,206,251,193,8,206,251,193,142,207,251,193,144,207,251,193,146,207,251,193,148,207,251,193,150,207,251,193,152,207,251,193,154,207,251,193,156,207,251,193,158,207,251,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,193,28,206,251,193,30,206,251,193,184,204,251,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,193,224,204,251,193,226,204,251,193,228,204,251,193,136,206,251,193,138,206,251,193,140,206,251,193,142,206,251,193,144,206,251,193,146,206,251,193,148,206,251,193,150,206,251,193,152,206,251,193,154,206,251,193,156,206,251,193,158,206,251,193,160,206,251,193,162,206,251,193,164,206,251,193,244,207,251,193,246,207,251,193,248,207,251,193,250,207,251,193,252,207,251,193,254,207,251,193,2,208,251,193,4,208,251,193,4,209,251,193,6,209,251,193,8,209,251,193,10,209,251,193,12,209,251,193,14,209,251,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,193,166,206,251,193,172,205,251,193,174,205,251,193,176,205,251,193,178,205,251,193,180,205,251,193,182,205,251,193,184,205,251,193,186,205,251,193,188,205,251,193,190,205,251,193,228,205,251,193,230,205,251,193,126,207,251,193,128,207,251,193,130,207,251,193,132,207,251,193,134,207,251,193,136,207,251,193,138,207,251,193,140,207,251,193,162,208,251,193,164,208,251,193,166,208,251,193,168,208,251,193,170,208,251,193,172,208,251,193,108,209,251,193,110,209,251,193,112,209,251,193,66,210,251,193,68,210,251,193,70,210,251,193,72,210,251,193,74,210,251,193,76,210,251,193,206,210,251,193,208,210,251,193,60,211,251,193,136,211,251,193,138,211,251,193,140,211,251,193,212,211,251,193,12,206,251,193,14,206,251,193,16,206,251,193,18,206,251,193,20,206,251,193,22,206,251,193,166,207,251,193,168,207,251,193,170,207,251,193,172,207,251,193,204,208,251,193,206,208,251,193,208,208,251,193,210,208,251,193,212,208,251,193,214,208,251,193,216,208,251,193,218,208,251,193,220,208,251,193,138,209,251,193,140,209,251,193,142,209,251,193,144,209,251,193,146,209,251,193,90,210,251,193,92,210,251,193,226,210,251,193,72,211,251,193,74,211,251,193,146,211,251,193,148,211,251,193,216,211,251,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,192,31,0,206,192,31,0,206,192,31,0,206,192,31,0,206,192,31,0,206,192,31,0,206,192,31,0,193,134,206,251,193,196,207,251,193,198,207,251,193,200,207,251,193,202,207,251,193,204,207,251,193,206,207,251,193,208,207,251,193,210,207,251,193,212,207,251,193,214,207,251,193,216,207,251,193,218,207,251,193,220,207,251,193,222,207,251,193,224,207,251,193,226,207,251,193,228,207,251,193,230,207,251,193,232,207,251,193,234,207,251,193,236,207,251,193,238,207,251,193,240,207,251,193,242,207,251,193,222,208,251,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,193,104,207,251,193,146,208,251,193,148,208,251,193,150,208,251,193,152,208,251,193,154,208,251,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,193,160,207,251,193,162,207,251,193,164,207,251,193,174,208,251,193,176,208,251,193,178,208,251,193,180,208,251,193,182,208,251,193,184,208,251,193,186,208,251,193,188,208,251,193,190,208,251,193,192,208,251,193,194,208,251,193,196,208,251,193,198,208,251,193,200,208,251,193,202,208,251,193,114,209,251,193,116,209,251,193,118,209,251,193,120,209,251,193,122,209,251,193,124,209,251,193,126,209,251,193,128,209,251,193,130,209,251,193,132,209,251,193,134,209,251,193,136,209,251,193,78,210,251,193,80,210,251,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,193,224,208,251,193,226,208,251,193,228,208,251,193,230,208,251,193,232,208,251,193,148,209,251,193,234,208,251,193,236,208,251,193,238,208,251,193,240,208,251,193,242,208,251,193,244,208,251,193,246,208,251,193,248,208,251,193,250,208,251,193,252,208,251,193,254,208,251,193,2,209,251,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,193,216,209,251,193,218,209,251,193,220,209,251,193,222,209,251,193,224,209,251,193,226,209,251,193,228,209,251,193,230,209,251,193,232,209,251,193,234,209,251,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,193,94,210,251,193,96,210,251,193,98,210,251,193,100,210,251,193,102,210,251,193,104,210,251,193,106,210,251,193,108,210,251,193,110,210,251,193,112,210,251,193,228,210,251,193,114,210,251,193,230,210,251,193,232,210,251,193,234,210,251,193,236,210,251,193,238,210,251,193,240,210,251,193,242,210,251,193,244,210,251,193,76,211,251,193,78,211,251,193,80,211,251,193,150,211,251,193,152,211,251,193,192,209,251,193,194,209,251,193,196,209,251,193,198,209,251,193,200,209,251,193,202,209,251,193,204,209,251,193,206,209,251,193,208,209,251,193,210,209,251,193,212,209,251,193,214,209,251,193,116,210,251,193,118,210,251,193,246,210,251,193,248,210,251,193,250,210,251,193,82,211,251,193,84,211,251,193,86,211,251,193,88,211,251,193,228,211,251,193,230,211,251,193,232,211,251,193,36,212,251,193,38,212,251,193,76,212,251,193,106,212,251,193,108,212,251,193,128,212,251,193,142,212,251,193,254,212,251,193,236,209,251,193,238,209,251,193,240,209,251,193,242,209,251,193,244,209,251,193,246,209,251,193,248,209,251,193,250,209,251,193,252,209,251,193,254,209,251,193,2,210,251,193,4,210,251,193,6,210,251,193,8,210,251,193,10,210,251,193,12,210,251,193,14,210,251,193,16,210,251,193,18,210,251,193,20,210,251,193,22,210,251,193,24,210,251,193,26,210,251,193,28,210,251,193,30,210,251,193,32,210,251,193,34,210,251,193,36,210,251,193,38,210,251,193,40,210,251,193,42,210,251,193,44,210,251,193,46,210,251,193,48,210,251,193,50,210,251,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,193,62,210,251,193,204,210,251,193,58,211,251,193,210,211,251,193,250,211,251,193,138,212,251,193,92,212,251,193,188,212,251,193,80,213,251,193,148,213,251,193,150,213,251,193,248,213,251,193,250,213,251,193,142,214,251,193,48,215,251,193,50,215,251,193,182,215,251,193,40,216,251,193,42,216,251,193,136,216,251,193,138,216,251,193,140,216,251,193,142,216,251,193,244,216,251,193,246,216,251,193,248,216,251,193,54,217,251,193,102,217,251,193,104,217,251,193,200,217,251,193,202,217,251,193,232,217,251,193,82,210,251,193,84,210,251,193,86,210,251,193,88,210,251,193,210,210,251,193,212,210,251,193,214,210,251,193,216,210,251,193,218,210,251,193,220,210,251,193,222,210,251,193,224,210,251,193,62,211,251,193,64,211,251,193,66,211,251,193,68,211,251,193,70,211,251,193,142,211,251,193,144,211,251,193,56,212,251,193,62,212,251,193,68,212,251,193,72,212,251,193,102,212,251,193,104,212,251,193,168,212,251,193,170,212,251,193,190,212,251,193,206,212,251,193,208,212,251,193,220,212,251,193,224,212,251,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,193,252,210,251,193,254,210,251,193,2,211,251,193,4,211,251,193,6,211,251,193,8,211,251,193,10,211,251,193,12,211,251,193,14,211,251,193,16,211,251,193,18,211,251,193,20,211,251,193,22,211,251,193,24,211,251,193,26,211,251,193,28,211,251,193,30,211,251,193,32,211,251,193,34,211,251,193,36,211,251,193,38,211,251,193,90,211,251,193,40,211,251,193,42,211,251,193,44,211,251,193,46,211,251,193,48,211,251,193,50,211,251,193,52,211,251,193,54,211,251,193,56,211,251,193,92,211,251,193,94,211,251,193,96,211,251,193,98,211,251,193,100,211,251,193,102,211,251,193,104,211,251,193,106,211,251,193,108,211,251,193,110,211,251,193,112,211,251,193,114,211,251,193,116,211,251,193,118,211,251,193,120,211,251,193,122,211,251,193,124,211,251,193,126,211,251,193,128,211,251,193,130,211,251,193,132,211,251,193,134,211,251,193,170,211,251,193,172,211,251,193,174,211,251,193,176,211,251,193,178,211,251,193,180,211,251,193,182,211,251,193,184,211,251,193,186,211,251,193,188,211,251,193,190,211,251,193,192,211,251,193,194,211,251,193,196,211,251,193,198,211,251,193,200,211,251,193,202,211,251,193,204,211,251,193,206,211,251,193,208,211,251,193,234,211,251,193,236,211,251,193,238,211,251,193,240,211,251,193,242,211,251,193,244,211,251,193,246,211,251,193,248,211,251,193,4,212,251,193,6,212,251,193,154,211,251,193,156,211,251,193,158,211,251,193,160,211,251,193,162,211,251,193,218,211,251,193,164,211,251,193,166,211,251,193,220,211,251,193,222,211,251,193,224,211,251,193,226,211,251,193,254,211,251,193,2,212,251,193,34,212,251,193,60,212,251,193,64,212,251,193,94,212,251,193,140,212,251,193,192,212,251,193,230,212,251,193,232,212,251,193,234,212,251,193,236,212,251,193,244,212,251,193,246,212,251,193,248,212,251,193,250,212,251,193,252,212,251,193,26,213,251,193,28,213,251,193,30,213,251,193,214,211,251,193,252,211,251,193,32,212,251,193,180,212,251,193,204,212,251,193,222,212,251,193,238,212,251,193,20,213,251,193,82,213,251,193,152,213,251,193,252,213,251,193,254,213,251,193,2,214,251,193,4,214,251,193,6,214,251,193,8,214,251,193,10,214,251,193,146,214,251,193,148,214,251,193,150,214,251,193,152,214,251,193,154,214,251,193,156,214,251,193,158,214,251,193,160,214,251,193,52,215,251,193,54,215,251,193,56,215,251,193,58,215,251,193,60,215,251,193,62,215,251,193,64,215,251,193,8,212,251,193,10,212,251,193,12,212,251,193,14,212,251,193,16,212,251,193,18,212,251,193,20,212,251,193,22,212,251,193,24,212,251,193,26,212,251,193,28,212,251,193,30,212,251,193,40,212,251,193,42,212,251,193,44,212,251,193,46,212,251,193,48,212,251,193,50,212,251,193,52,212,251,193,54,212,251,193,58,212,251,193,66,212,251,193,70,212,251,193,78,212,251,193,80,212,251,193,82,212,251,193,84,212,251,193,86,212,251,193,88,212,251,193,90,212,251,193,96,212,251,193,98,212,251,193,74,212,251,193,126,212,251,193,172,212,251,193,242,212,251,193,86,213,251,193,88,213,251,193,90,213,251,193,164,213,251,193,28,214,251,193,170,214,251,193,172,214,251,193,80,215,251,193,82,215,251,193,84,215,251,193,86,215,251,193,212,215,251,193,214,215,251,193,64,216,251,193,160,216,251,193,162,216,251,193,10,217,251,193,12,217,251,193,66,217,251,193,68,217,251,193,146,217,251,193,186,217,251,193,52,218,251,193,128,218,251,193,158,218,251,193,108,219,251,193,110,219,251,193,186,219,251,193,194,212,251,193,196,212,251,193,198,212,251,193,200,212,251,193,202,212,251,193,210,212,251,193,212,212,251,193,214,212,251,193,216,212,251,193,218,212,251,193,226,212,251,193,4,213,251,193,6,213,251,193,8,213,251,193,10,213,251,193,12,213,251,193,14,213,251,193,16,213,251,193,18,213,251,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,193,228,212,251,193,240,212,251,193,22,213,251,193,24,213,251,193,84,213,251,193,154,213,251,193,156,213,251,193,158,213,251,193,160,213,251,193,162,213,251,193,12,214,251,193,14,214,251,193,16,214,251,193,18,214,251,193,20,214,251,193,22,214,251,193,24,214,251,193,26,214,251,193,162,214,251,193,164,214,251,193,166,214,251,193,168,214,251,193,68,215,251,193,70,215,251,193,72,215,251,193,74,215,251,193,76,215,251,193,78,215,251,193,198,215,251,193,200,215,251,193,202,215,251,193,204,215,251,193,2,213,251,193,32,213,251,193,34,213,251,193,104,213,251,193,106,213,251,193,108,213,251,193,110,213,251,193,180,213,251,193,182,213,251,193,184,213,251,193,62,214,251,193,64,214,251,193,66,214,251,193,68,214,251,193,70,214,251,193,206,214,251,193,208,214,251,193,210,214,251,193,212,214,251,193,214,214,251,193,216,214,251,193,218,214,251,193,220,214,251,193,222,214,251,193,224,214,251,193,226,214,251,193,228,214,251,193,98,215,251,193,100,215,251,193,102,215,251,193,104,215,251,193,106,215,251,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,193,112,213,251,193,114,213,251,193,116,213,251,193,118,213,251,193,120,213,251,193,122,213,251,193,124,213,251,193,126,213,251,193,128,213,251,193,130,213,251,193,132,213,251,193,134,213,251,193,136,213,251,193,138,213,251,193,140,213,251,193,142,213,251,193,144,213,251,193,146,213,251,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,193,92,213,251,193,94,213,251,193,96,213,251,193,98,213,251,193,100,213,251,193,102,213,251,193,166,213,251,193,168,213,251,193,170,213,251,193,172,213,251,193,174,213,251,193,176,213,251,193,178,213,251,193,32,214,251,193,34,214,251,193,36,214,251,193,38,214,251,193,40,214,251,193,42,214,251,193,44,214,251,193,46,214,251,193,48,214,251,193,50,214,251,193,52,214,251,193,54,214,251,193,56,214,251,193,58,214,251,193,60,214,251,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,193,252,217,251,193,2,218,251,193,10,218,251,193,18,218,251,193,20,218,251,193,22,218,251,193,28,218,251,193,30,218,251,193,32,218,251,193,34,218,251,193,60,218,251,193,246,213,251,193,62,218,251,193,64,218,251,193,78,218,251,193,80,218,251,193,82,218,251,193,84,218,251,193,86,218,251,193,88,218,251,193,96,218,251,193,98,218,251,193,100,218,251,193,114,218,251,193,116,218,251,193,118,218,251,193,90,218,251,193,134,216,251,193,130,218,251,193,132,218,251,193,134,218,251,193,136,218,251,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,193,230,214,251,193,232,214,251,193,138,214,251,193,234,214,251,193,236,214,251,193,238,214,251,193,240,214,251,193,242,214,251,193,244,214,251,193,246,214,251,193,248,214,251,193,250,214,251,193,252,214,251,193,254,214,251,193,2,215,251,193,4,215,251,193,6,215,251,193,8,215,251,193,10,215,251,193,12,215,251,193,14,215,251,193,16,215,251,193,18,215,251,193,20,215,251,193,22,215,251,193,24,215,251,193,26,215,251,193,28,215,251,193,30,215,251,193,140,214,251,193,32,215,251,193,34,215,251,193,36,215,251,193,38,215,251,193,40,215,251,193,42,215,251,193,44,215,251,193,108,215,251,193,126,12,252,193,128,12,252,193,190,12,252,193,192,12,252,193,22,13,252,193,122,13,252,193,230,13,252,193,104,14,252,193,222,14,252,193,224,14,252,193,144,214,251,193,24,15,252,193,64,15,252,193,66,15,252,193,68,15,252,193,120,15,252,193,186,15,252,193,14,16,252,193,16,16,252,193,94,16,252,193,164,16,252,193,252,16,252,193,26,17,252,193,108,17,252,193,110,17,252,193,206,17,252,193,208,17,252,193,38,18,252,193,40,18,252,193,222,18,252,193,224,18,252,193,72,19,252,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,193,88,215,251,193,90,215,251,193,204,214,251,193,92,215,251,193,94,215,251,193,96,215,251,193,216,215,251,193,218,215,251,193,220,215,251,193,66,216,251,193,68,216,251,193,70,216,251,193,72,216,251,193,74,216,251,193,76,216,251,193,78,216,251,193,80,216,251,193,164,216,251,193,166,216,251,193,168,216,251,193,170,216,251,193,174,215,251,193,176,215,251,193,178,215,251,193,46,215,251,193,180,215,251,193,150,117,252,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,193,66,215,251,193,184,215,251,193,186,215,251,193,188,215,251,193,190,215,251,193,192,215,251,193,194,215,251,193,196,215,251,193,44,216,251,193,46,216,251,193,48,216,251,193,50,216,251,193,52,216,251,193,144,216,251,193,146,216,251,193,148,216,251,193,150,216,251,193,250,216,251,193,252,216,251,193,254,216,251,193,2,217,251,193,4,217,251,193,6,217,251,193,8,217,251,193,56,217,251,193,58,217,251,193,60,217,251,193,106,217,251,193,108,217,251,193,110,217,251,193,136,217,251,193,138,217,251,193,110,215,251,193,112,215,251,193,114,215,251,193,116,215,251,193,118,215,251,193,120,215,251,193,122,215,251,193,124,215,251,193,126,215,251,193,128,215,251,193,130,215,251,193,132,215,251,193,134,215,251,193,136,215,251,193,138,215,251,193,140,215,251,193,142,215,251,193,144,215,251,193,146,215,251,193,148,215,251,193,150,215,251,193,152,215,251,193,154,215,251,193,156,215,251,193,158,215,251,193,160,215,251,193,162,215,251,193,164,215,251,193,166,215,251,193,168,215,251,193,170,215,251,193,172,215,251,193,206,215,251,193,208,215,251,193,210,215,251,193,54,216,251,193,56,216,251,193,58,216,251,193,60,216,251,193,62,216,251,193,152,216,251,193,154,216,251,193,156,216,251,193,158,216,251,193,62,217,251,193,64,217,251,193,112,217,251,193,114,217,251,193,208,217,251,193,210,217,251,193,218,217,251,193,244,217,251,193,14,218,251,193,42,218,251,193,44,218,251,193,46,218,251,193,48,218,251,193,50,218,251,193,150,218,251,193,152,218,251,193,42,219,251,193,48,219,251,193,72,219,251,193,80,219,251,193,222,215,251,193,224,215,251,193,226,215,251,193,228,215,251,193,82,216,251,193,84,216,251,193,86,216,251,193,172,216,251,193,174,216,251,193,176,216,251,193,178,216,251,193,74,217,251,193,76,217,251,193,152,217,251,193,188,217,251,193,8,218,251,193,58,218,251,193,112,218,251,193,182,218,251,193,184,218,251,193,190,218,251,193,198,218,251,193,210,218,251,193,228,218,251,193,244,218,251,193,30,219,251,193,52,219,251,193,70,219,251,193,116,219,251,193,118,219,251,193,128,219,251,193,130,219,251,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,193,24,138,252,193,88,216,251,193,90,216,251,193,92,216,251,193,94,216,251,193,96,216,251,193,98,216,251,193,100,216,251,193,102,216,251,193,104,216,251,193,106,216,251,193,108,216,251,193,110,216,251,193,112,216,251,193,114,216,251,193,116,216,251,193,118,216,251,193,120,216,251,193,122,216,251,193,124,216,251,193,126,216,251,193,128,216,251,193,130,216,251,193,132,216,251,193,180,216,251,193,182,216,251,193,184,216,251,193,186,216,251,193,188,216,251,193,190,216,251,193,192,216,251,193,194,216,251,193,196,216,251,193,198,216,251,193,200,216,251,193,202,216,251,193,204,216,251,193,206,216,251,193,208,216,251,193,210,216,251,193,212,216,251,193,214,216,251,193,216,216,251,193,218,216,251,193,220,216,251,193,222,216,251,193,224,216,251,193,226,216,251,193,228,216,251,193,230,216,251,193,232,216,251,193,234,216,251,193,236,216,251,193,238,216,251,193,240,216,251,193,242,216,251,193,20,217,251,193,22,217,251,193,14,217,251,193,16,217,251,193,18,217,251,193,70,217,251,193,116,217,251,193,148,217,251,193,150,217,251,193,254,217,251,193,6,218,251,193,16,218,251,193,54,218,251,193,56,218,251,193,70,218,251,193,72,218,251,193,74,218,251,193,76,218,251,193,92,218,251,193,94,218,251,193,110,218,251,193,142,218,251,193,160,218,251,193,168,218,251,193,174,218,251,193,178,218,251,193,186,218,251,193,206,218,251,193,208,218,251,193,224,218,251,193,226,218,251,193,242,218,251,193,4,219,251,193,6,219,251,193,24,217,251,193,26,217,251,193,28,217,251,193,30,217,251,193,78,217,251,193,32,217,251,193,34,217,251,193,36,217,251,193,38,217,251,193,40,217,251,193,42,217,251,193,44,217,251,193,46,217,251,193,48,217,251,193,50,217,251,193,52,217,251,193,80,217,251,193,82,217,251,193,84,217,251,193,86,217,251,193,88,217,251,193,90,217,251,193,92,217,251,193,94,217,251,193,96,217,251,193,98,217,251,193,100,217,251,193,118,217,251,193,120,217,251,193,122,217,251,193,124,217,251,193,126,217,251,193,52,52,253,193,72,217,251,193,54,52,253,193,56,52,253,193,58,52,253,193,60,52,253,193,144,52,253,193,146,52,253,193,148,52,253,193,150,52,253,193,152,52,253,193,154,52,253,193,156,52,253,193,242,52,253,193,244,52,253,193,246,52,253,193,34,53,253,193,36,53,253,193,38,53,253,193,40,53,253,193,42,53,253,193,86,53,253,193,88,53,253,193,90,53,253,193,92,53,253,193,136,53,253,193,138,53,253,193,168,53,253,193,178,53,253,193,202,53,253,193,204,53,253,193,206,53,253,193,128,217,251,193,130,217,251,193,132,217,251,193,154,217,251,193,156,217,251,193,158,217,251,193,160,217,251,193,162,217,251,193,164,217,251,193,166,217,251,193,168,217,251,193,170,217,251,193,172,217,251,193,174,217,251,193,190,217,251,193,192,217,251,193,194,217,251,193,196,217,251,193,198,217,251,193,212,217,251,193,214,217,251,193,220,217,251,193,222,217,251,193,224,217,251,193,226,217,251,193,228,217,251,193,230,217,251,193,240,217,251,193,242,217,251,193,246,217,251,193,248,217,251,193,250,217,251,193,160,164,253,193,168,164,253,193,170,164,253,193,172,164,253,193,174,164,253,193,176,164,253,193,178,164,253,193,180,164,253,193,194,164,253,193,196,164,253,193,208,164,253,193,210,164,253,193,212,164,253,193,214,164,253,193,134,217,251,193,222,164,253,193,176,217,251,193,224,164,253,193,230,164,253,193,234,164,253,193,236,164,253,193,240,164,253,193,242,164,253,193,244,164,253,193,248,164,253,193,250,164,253,193,254,164,253,193,4,165,253,193,6,165,253,193,8,165,253,193,22,165,253,193,24,165,253,193,140,217,251,193,142,217,251,193,144,217,251,193,178,217,251,193,180,217,251,193,182,217,251,193,184,217,251,193,204,217,251,193,206,217,251,193,216,217,251,193,234,217,251,193,236,217,251,193,238,217,251,193,4,218,251,193,38,218,251,193,40,218,251,193,68,218,251,193,108,218,251,193,166,218,251,193,222,218,251,193,240,218,251,193,2,219,251,193,40,219,251,193,46,219,251,193,60,219,251,193,148,219,251,193,150,219,251,193,182,219,251,193,184,219,251,193,12,220,251,193,54,220,251,193,60,220,251,193,12,218,251,193,24,218,251,193,26,218,251,193,36,218,251,193,66,218,251,193,102,218,251,193,104,218,251,193,106,218,251,193,122,218,251,193,124,218,251,193,126,218,251,193,204,218,251,193,220,218,251,193,28,219,251,193,38,219,251,193,58,219,251,193,68,219,251,193,104,219,251,193,100,220,251,193,102,220,251,193,138,220,251,193,206,220,251,193,208,220,251,193,210,220,251,193,22,221,251,193,68,221,251,193,70,221,251,193,72,221,251,193,74,221,251,193,112,221,251,193,144,221,251,193,166,221,251,193,110,154,253,193,112,154,253,193,126,154,253,193,128,154,253,193,130,154,253,193,132,154,253,193,134,154,253,193,136,154,253,193,138,154,253,193,140,154,253,193,142,154,253,193,144,154,253,193,146,154,253,193,148,154,253,193,150,154,253,193,152,154,253,193,120,218,251,193,154,154,253,193,156,154,253,193,158,154,253,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,193,138,218,251,193,140,218,251,193,144,218,251,193,146,218,251,193,148,218,251,193,154,218,251,193,156,218,251,193,162,218,251,193,164,218,251,193,170,218,251,193,172,218,251,193,176,218,251,193,180,218,251,193,188,218,251,193,192,218,251,193,194,218,251,193,196,218,251,193,200,218,251,193,202,218,251,193,212,218,251,193,214,218,251,193,216,218,251,193,218,218,251,193,230,218,251,193,232,218,251,193,234,218,251,193,236,218,251,193,238,218,251,193,246,218,251,193,248,218,251,193,250,218,251,193,252,218,251,193,254,218,251,193,8,219,251,193,20,219,251,193,10,219,251,193,12,219,251,193,14,219,251,193,22,219,251,193,24,219,251,193,26,219,251,193,32,219,251,193,34,219,251,193,36,219,251,193,54,219,251,193,56,219,251,193,62,219,251,193,64,219,251,193,66,219,251,193,76,219,251,193,82,219,251,193,84,219,251,193,94,219,251,193,96,219,251,193,98,219,251,193,100,219,251,193,102,219,251,193,120,219,251,193,122,219,251,193,132,219,251,193,134,219,251,193,136,219,251,193,142,219,251,193,144,219,251,193,16,219,251,193,18,219,251,193,44,219,251,193,50,219,251,193,74,219,251,193,78,219,251,193,86,219,251,193,88,219,251,193,90,219,251,193,92,219,251,193,112,219,251,193,114,219,251,193,138,219,251,193,140,219,251,193,152,219,251,193,154,219,251,193,188,219,251,193,190,219,251,193,216,219,251,193,234,219,251,193,250,219,251,193,18,220,251,193,20,220,251,193,34,220,251,193,64,220,251,193,68,220,251,193,86,220,251,193,88,220,251,193,90,220,251,193,110,220,251,193,112,220,251,193,114,220,251,193,106,219,251,193,124,219,251,193,126,219,251,193,210,219,251,193,212,219,251,193,230,219,251,193,32,220,251,193,70,220,251,193,76,220,251,193,78,220,251,193,80,220,251,193,106,220,251,193,108,220,251,193,140,220,251,193,142,220,251,193,144,220,251,193,146,220,251,193,148,220,251,193,150,220,251,193,152,220,251,193,154,220,251,193,224,220,251,193,226,220,251,193,228,220,251,193,230,220,251,193,232,220,251,193,30,221,251,193,80,221,251,193,82,221,251,193,84,221,251,193,86,221,251,193,122,221,251,193,146,219,251,193,158,219,251,193,160,219,251,193,162,219,251,193,164,219,251,193,166,219,251,193,168,219,251,193,170,219,251,193,172,219,251,193,174,219,251,193,176,219,251,193,208,136,252,193,178,219,251,193,180,219,251,193,192,219,251,193,194,219,251,193,196,219,251,193,198,219,251,193,200,219,251,193,202,219,251,193,204,219,251,193,206,219,251,193,220,219,251,193,222,219,251,193,224,219,251,193,226,219,251,193,228,219,251,193,238,219,251,193,240,219,251,193,242,219,251,193,244,219,251,193,246,219,251,193,156,219,251,193,218,219,251,193,236,219,251,193,72,220,251,193,92,220,251,193,172,220,251,193,118,220,251,193,174,220,251,193,176,220,251,193,178,220,251,193,252,220,251,193,254,220,251,193,2,221,251,193,42,221,251,193,156,221,251,193,158,221,251,193,116,222,251,193,118,222,251,193,164,222,251,193,166,222,251,193,168,222,251,193,170,222,251,193,172,222,251,193,174,222,251,193,46,223,251,193,48,223,251,193,50,223,251,206,128,33,0,206,128,33,0,206,128,33,0,206,128,33,0,206,128,33,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,193,38,117,252,193,224,117,252,193,226,117,252,193,228,117,252,193,230,117,252,193,232,117,252,193,234,117,252,193,236,117,252,193,238,117,252,193,208,219,251,193,240,117,252,193,242,117,252,193,244,117,252,193,246,117,252,193,248,117,252,193,250,117,252,193,252,117,252,193,254,117,252,193,2,118,252,193,4,118,252,193,6,118,252,193,214,219,251,193,232,219,251,193,248,219,251,193,14,220,251,193,16,220,251,193,46,220,251,193,66,220,251,193,156,220,251,193,234,220,251,193,32,221,251,193,34,221,251,193,36,221,251,193,88,221,251,193,90,221,251,193,126,221,251,193,154,221,251,193,48,222,251,193,142,222,251,193,144,222,251,193,232,222,251,193,160,223,251,193,162,223,251,193,164,223,251,193,166,223,251,193,118,224,251,193,120,224,251,193,122,224,251,193,124,224,251,193,126,224,251,193,128,224,251,193,130,224,251,193,90,225,251,193,252,219,251,193,254,219,251,193,2,220,251,193,4,220,251,193,6,220,251,193,8,220,251,193,10,220,251,193,22,220,251,193,24,220,251,193,26,220,251,193,28,220,251,193,30,220,251,193,36,220,251,193,38,220,251,193,40,220,251,193,42,220,251,193,44,220,251,193,48,220,251,193,50,220,251,193,52,220,251,193,56,220,251,193,58,220,251,193,62,220,251,193,74,220,251,193,82,220,251,193,84,220,251,193,94,220,251,193,96,220,251,193,98,220,251,193,120,220,251,193,122,220,251,193,124,220,251,193,104,220,251,193,212,220,251,193,214,220,251,193,216,220,251,193,218,220,251,193,220,220,251,193,222,220,251,193,26,221,251,193,28,221,251,193,76,221,251,193,78,221,251,193,116,221,251,193,118,221,251,193,120,221,251,193,146,221,251,193,148,221,251,193,150,221,251,193,170,221,251,193,172,221,251,193,200,221,251,193,202,221,251,193,204,221,251,193,206,221,251,193,214,221,251,193,232,221,251,193,234,221,251,193,236,221,251,193,238,221,251,193,2,222,251,193,4,222,251,193,14,222,251,193,16,222,251,193,116,220,251,193,158,220,251,193,160,220,251,193,162,220,251,193,164,220,251,193,166,220,251,193,168,220,251,193,236,220,251,193,238,220,251,193,240,220,251,193,170,220,251,193,242,220,251,193,244,220,251,193,246,220,251,193,248,220,251,193,250,220,251,193,38,221,251,193,40,221,251,193,92,221,251,193,94,221,251,193,96,221,251,193,98,221,251,193,128,221,251,193,130,221,251,193,180,221,251,193,182,221,251,193,210,221,251,193,218,221,251,193,244,221,251,193,246,221,251,193,248,221,251,193,8,222,251,193,126,220,251,193,128,220,251,193,130,220,251,193,132,220,251,193,134,220,251,193,136,220,251,193,180,220,251,193,182,220,251,193,184,220,251,193,186,220,251,193,188,220,251,193,190,220,251,193,192,220,251,193,194,220,251,193,196,220,251,193,198,220,251,193,200,220,251,193,202,220,251,193,204,220,251,193,4,221,251,193,6,221,251,193,8,221,251,193,10,221,251,193,12,221,251,193,14,221,251,193,16,221,251,193,18,221,251,193,20,221,251,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,193,24,221,251,193,114,221,251,193,82,224,251,193,84,224,251,193,32,225,251,193,222,233,251,193,80,234,251,193,82,234,251,193,120,237,251,193,142,240,251,193,144,240,251,193,168,249,251,193,170,249,251,193,212,251,251,193,214,251,251,193,216,251,251,193,36,254,251,193,182,255,251,193,230,2,252,193,4,11,252,193,26,14,252,193,242,20,252,193,246,20,252,193,94,28,252,193,252,30,252,193,254,35,252,193,2,36,252,193,4,36,252,193,178,40,252,193,152,42,252,193,18,46,252,193,200,51,252,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,193,100,221,251,193,102,221,251,193,104,221,251,193,106,221,251,193,108,221,251,193,110,221,251,193,132,221,251,193,134,221,251,193,136,221,251,193,138,221,251,193,140,221,251,193,142,221,251,193,160,221,251,193,162,221,251,193,164,221,251,193,184,221,251,193,186,221,251,193,188,221,251,193,190,221,251,193,192,221,251,193,194,221,251,193,212,221,251,193,220,221,251,193,222,221,251,193,124,221,251,193,152,221,251,193,174,221,251,193,176,221,251,193,178,221,251,193,208,221,251,193,216,221,251,193,240,221,251,193,242,221,251,193,6,222,251,193,84,222,251,193,98,222,251,193,136,222,251,193,138,222,251,193,140,222,251,193,226,222,251,193,228,222,251,193,230,222,251,193,130,223,251,193,132,223,251,193,134,223,251,193,136,223,251,193,138,223,251,193,140,223,251,193,142,223,251,193,144,223,251,193,146,223,251,193,148,223,251,193,150,223,251,193,152,223,251,193,154,223,251,193,156,223,251,193,168,221,251,193,196,221,251,193,198,221,251,193,252,221,251,193,254,221,251,193,12,222,251,193,218,222,251,193,220,222,251,193,110,223,251,193,112,223,251,193,114,223,251,193,116,223,251,193,118,223,251,193,120,223,251,193,122,223,251,193,62,224,251,193,64,224,251,193,66,224,251,193,68,224,251,193,70,224,251,193,72,224,251,193,74,224,251,193,76,224,251,193,78,224,251,193,80,224,251,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,193,224,221,251,193,226,221,251,193,228,221,251,193,230,221,251,193,250,221,251,193,10,222,251,193,20,222,251,193,24,222,251,193,26,222,251,193,30,222,251,193,34,222,251,193,36,222,251,193,38,222,251,193,46,222,251,193,50,222,251,193,52,222,251,193,56,222,251,193,58,222,251,193,60,222,251,193,62,222,251,193,68,222,251,193,70,222,251,193,74,222,251,193,76,222,251,193,78,222,251,193,80,222,251,193,82,222,251,193,92,222,251,193,94,222,251,193,96,222,251,193,120,222,251,193,122,222,251,193,18,222,251,193,22,222,251,193,28,222,251,193,32,222,251,193,40,222,251,193,66,222,251,193,134,222,251,193,222,222,251,193,224,222,251,193,124,223,251,193,126,223,251,193,128,223,251,193,86,224,251,193,88,224,251,193,90,224,251,193,34,225,251,193,36,225,251,193,38,225,251,193,40,225,251,193,42,225,251,193,44,225,251,193,10,226,251,193,12,226,251,193,14,226,251,193,16,226,251,193,18,226,251,193,20,226,251,193,44,227,251,193,46,227,251,193,48,227,251,193,50,227,251,193,52,227,251,193,42,222,251,193,44,222,251,193,54,222,251,193,64,222,251,193,72,222,251,193,86,222,251,193,88,222,251,193,90,222,251,193,100,222,251,193,102,222,251,193,104,222,251,193,106,222,251,193,108,222,251,193,110,222,251,193,112,222,251,193,114,222,251,193,146,222,251,193,148,222,251,193,150,222,251,193,152,222,251,193,154,222,251,193,156,222,251,193,158,222,251,193,160,222,251,193,162,222,251,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,193,124,222,251,193,126,222,251,193,128,222,251,193,130,222,251,193,176,222,251,193,132,222,251,193,178,222,251,193,180,222,251,193,182,222,251,193,184,222,251,193,186,222,251,193,188,222,251,193,190,222,251,193,192,222,251,193,194,222,251,193,196,222,251,193,198,222,251,193,200,222,251,193,202,222,251,193,204,222,251,193,206,222,251,193,208,222,251,193,210,222,251,193,212,222,251,193,214,222,251,193,216,222,251,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,193,158,223,251,193,92,224,251,193,94,224,251,193,96,224,251,193,98,224,251,193,100,224,251,193,102,224,251,193,104,224,251,193,106,224,251,193,108,224,251,193,110,224,251,193,112,224,251,193,114,224,251,193,116,224,251,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,128,33,0,206,128,33,0,206,128,33,0,206,128,33,0,206,128,33,0,193,178,224,251,193,180,224,251,193,182,224,251,193,184,224,251,193,186,224,251,193,188,224,251,193,190,224,251,193,192,224,251,193,194,224,251,193,196,224,251,193,148,225,251,193,150,225,251,193,152,225,251,193,154,225,251,193,156,225,251,193,158,225,251,193,130,226,251,193,132,226,251,193,134,226,251,193,136,226,251,193,138,226,251,193,140,226,251,193,142,226,251,193,144,226,251,193,146,226,251,193,148,226,251,193,150,226,251,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,193,128,232,251,193,46,224,251,193,48,224,251,193,50,224,251,193,52,224,251,193,54,224,251,193,56,224,251,193,58,224,251,193,60,224,251,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,193,132,224,251,193,134,224,251,193,136,224,251,193,138,224,251,193,140,224,251,193,142,224,251,193,144,224,251,193,146,224,251,193,148,224,251,193,150,224,251,193,152,224,251,193,154,224,251,193,156,224,251,193,158,224,251,193,160,224,251,193,162,224,251,193,164,224,251,193,166,224,251,193,168,224,251,193,170,224,251,193,172,224,251,193,174,224,251,193,176,224,251,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,193,160,225,251,193,162,225,251,193,164,225,251,193,166,225,251,193,168,225,251,193,170,225,251,193,172,225,251,193,174,225,251,193,176,225,251,193,178,225,251,193,180,225,251,193,182,225,251,193,184,225,251,193,186,225,251,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,193,2,226,251,193,4,226,251,193,6,226,251,193,8,226,251,193,32,227,251,193,34,227,251,193,36,227,251,193,38,227,251,193,40,227,251,193,42,227,251,193,10,228,251,193,12,228,251,193,14,228,251,193,16,228,251,193,18,228,251,193,20,228,251,193,22,228,251,193,24,228,251,193,26,228,251,193,224,228,251,193,226,228,251,193,228,228,251,193,230,228,251,193,232,228,251,193,234,228,251,193,148,229,251,193,150,229,251,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,193,22,226,251,193,24,226,251,193,26,226,251,193,28,226,251,193,30,226,251,193,32,226,251,193,34,226,251,193,36,226,251,193,38,226,251,193,40,226,251,193,42,226,251,193,44,226,251,193,46,226,251,193,48,226,251,193,50,226,251,193,52,226,251,193,54,226,251,193,56,226,251,193,58,226,251,193,60,226,251,193,62,226,251,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,193,92,225,251,193,94,225,251,193,96,225,251,193,98,225,251,193,100,225,251,193,102,225,251,193,104,225,251,193,64,226,251,193,66,226,251,193,68,226,251,193,70,226,251,193,72,226,251,193,74,226,251,193,88,227,251,193,90,227,251,193,92,227,251,193,94,227,251,193,96,227,251,193,98,227,251,193,100,227,251,193,102,227,251,193,104,227,251,193,96,228,251,193,98,228,251,193,100,228,251,193,102,228,251,193,104,228,251,193,26,229,251,193,28,229,251,193,30,229,251,193,32,229,251,193,34,229,251,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,193,150,231,251,193,152,231,251,193,154,231,251,193,198,231,251,193,200,231,251,193,202,231,251,193,204,231,251,193,206,231,251,193,208,231,251,193,242,231,251,193,38,232,251,193,40,232,251,193,42,232,251,193,52,232,251,193,54,232,251,193,70,232,251,193,90,232,251,193,92,232,251,193,94,232,251,193,96,232,251,193,102,232,251,193,104,232,251,193,114,232,251,193,126,232,251,193,146,232,251,193,176,232,251,193,148,232,251,193,178,232,251,193,180,232,251,193,146,225,251,193,194,232,251,193,196,232,251,193,188,225,251,193,190,225,251,193,192,225,251,193,194,225,251,193,196,225,251,193,198,225,251,193,200,225,251,193,202,225,251,193,204,225,251,193,206,225,251,193,208,225,251,193,210,225,251,193,212,225,251,193,214,225,251,193,216,225,251,193,218,225,251,193,220,225,251,193,222,225,251,193,224,225,251,193,226,225,251,193,228,225,251,193,230,225,251,193,232,225,251,193,234,225,251,193,236,225,251,193,238,225,251,193,240,225,251,193,242,225,251,193,244,225,251,193,246,225,251,193,248,225,251,193,250,225,251,193,252,225,251,193,254,225,251,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,193,106,227,251,193,108,227,251,193,110,227,251,193,112,227,251,193,114,227,251,193,116,227,251,193,118,227,251,193,120,227,251,193,122,227,251,193,124,227,251,193,126,227,251,193,128,227,251,193,130,227,251,193,128,226,251,193,132,227,251,193,134,227,251,193,136,227,251,193,138,227,251,193,140,227,251,193,142,227,251,193,144,227,251,193,146,227,251,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,193,152,226,251,193,148,227,251,193,150,227,251,193,152,227,251,193,154,227,251,193,156,227,251,193,158,227,251,193,160,227,251,193,162,227,251,193,164,227,251,193,166,227,251,193,168,227,251,193,170,227,251,193,136,228,251,193,138,228,251,193,140,228,251,193,142,228,251,193,68,229,251,193,70,229,251,193,72,229,251,193,74,229,251,193,76,229,251,193,78,229,251,193,14,230,251,193,16,230,251,193,18,230,251,193,20,230,251,193,22,230,251,193,24,230,251,193,26,230,251,193,28,230,251,193,30,230,251,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,193,54,227,251,193,56,227,251,193,28,228,251,193,30,228,251,193,32,228,251,193,34,228,251,193,36,228,251,193,38,228,251,193,40,228,251,193,42,228,251,193,236,228,251,193,238,228,251,193,240,228,251,193,242,228,251,193,244,228,251,193,246,228,251,193,164,229,251,193,166,229,251,193,168,229,251,193,130,230,251,193,132,230,251,193,134,230,251,193,136,230,251,193,138,230,251,193,140,230,251,193,10,231,251,193,12,231,251,193,14,231,251,193,114,231,251,193,230,231,251,193,232,231,251,193,110,232,251,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,193,44,228,251,193,46,228,251,193,48,228,251,193,50,228,251,193,52,228,251,193,54,228,251,193,56,228,251,193,58,228,251,193,60,228,251,193,62,228,251,193,64,228,251,193,66,228,251,193,68,228,251,193,70,228,251,193,72,228,251,193,74,228,251,193,76,228,251,193,78,228,251,193,80,228,251,193,82,228,251,193,84,228,251,193,86,228,251,193,88,228,251,193,90,228,251,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,193,144,228,251,193,146,228,251,193,148,228,251,193,150,228,251,193,152,228,251,193,154,228,251,193,156,228,251,193,158,228,251,193,160,228,251,193,162,228,251,193,164,228,251,193,166,228,251,193,168,228,251,193,170,228,251,193,92,228,251,193,94,228,251,193,248,228,251,193,250,228,251,193,252,228,251,193,254,228,251,193,2,229,251,193,4,229,251,193,6,229,251,193,8,229,251,193,10,229,251,193,12,229,251,193,14,229,251,193,16,229,251,193,18,229,251,193,20,229,251,193,22,229,251,193,24,229,251,193,170,229,251,193,172,229,251,193,174,229,251,193,176,229,251,193,178,229,251,193,180,229,251,193,182,229,251,193,184,229,251,193,186,229,251,193,188,229,251,193,190,229,251,193,192,229,251,193,194,229,251,193,196,229,251,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,193,38,229,251,193,40,229,251,193,42,229,251,193,44,229,251,193,46,229,251,193,48,229,251,193,50,229,251,193,52,229,251,193,54,229,251,193,56,229,251,193,58,229,251,193,60,229,251,193,62,229,251,193,64,229,251,193,66,229,251,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,193,36,229,251,193,202,229,251,193,204,229,251,193,206,229,251,193,208,229,251,193,210,229,251,193,212,229,251,193,214,229,251,193,216,229,251,193,218,229,251,193,220,229,251,193,180,230,251,193,182,230,251,193,184,230,251,193,186,230,251,193,36,231,251,193,38,231,251,193,40,231,251,193,42,231,251,193,138,231,251,193,140,231,251,193,142,231,251,193,192,231,251,193,194,231,251,193,196,231,251,193,8,232,251,193,10,232,251,193,12,232,251,193,36,232,251,193,50,232,251,193,82,232,251,193,216,232,251,193,102,230,251,193,104,230,251,193,106,230,251,193,108,230,251,193,110,230,251,193,112,230,251,193,114,230,251,193,146,229,251,193,116,230,251,193,218,230,251,193,220,230,251,193,222,230,251,193,224,230,251,193,226,230,251,193,228,230,251,193,230,230,251,193,232,230,251,193,234,230,251,193,236,230,251,193,238,230,251,193,240,230,251,193,242,230,251,193,244,230,251,193,246,230,251,193,248,230,251,193,250,230,251,193,252,230,251,193,254,230,251,193,2,231,251,193,4,231,251,193,66,231,251,193,68,231,251,193,152,229,251,193,154,229,251,193,156,229,251,193,158,229,251,193,160,229,251,193,162,229,251,193,6,231,251,193,118,230,251,193,120,230,251,193,122,230,251,193,124,230,251,193,126,230,251,193,128,230,251,193,8,231,251,193,108,231,251,193,110,231,251,193,112,231,251,193,254,231,251,193,2,232,251,193,4,232,251,193,64,232,251,193,8,233,251,193,32,233,251,193,34,233,251,193,60,233,251,193,94,233,251,193,112,233,251,193,142,233,251,193,188,233,251,193,190,233,251,193,220,233,251,193,162,234,251,193,198,229,251,193,200,229,251,193,142,230,251,193,144,230,251,193,146,230,251,193,148,230,251,193,150,230,251,193,152,230,251,193,154,230,251,193,156,230,251,193,158,230,251,193,160,230,251,193,162,230,251,193,164,230,251,193,166,230,251,193,168,230,251,193,170,230,251,193,172,230,251,193,174,230,251,193,176,230,251,193,178,230,251,193,16,231,251,193,18,231,251,193,20,231,251,193,22,231,251,193,24,231,251,193,26,231,251,193,28,231,251,193,30,231,251,193,32,231,251,193,34,231,251,193,116,231,251,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,193,188,230,251,193,190,230,251,193,192,230,251,193,194,230,251,193,196,230,251,193,198,230,251,193,200,230,251,193,202,230,251,193,204,230,251,193,206,230,251,193,44,231,251,193,46,231,251,193,208,230,251,193,48,231,251,193,50,231,251,193,144,231,251,193,146,231,251,193,148,231,251,193,38,230,251,193,40,230,251,193,42,230,251,193,44,230,251,193,46,230,251,193,48,230,251,193,50,230,251,193,52,230,251,193,54,230,251,193,56,230,251,193,58,230,251,193,60,230,251,193,62,230,251,193,64,230,251,193,66,230,251,193,68,230,251,193,70,230,251,193,72,230,251,193,74,230,251,193,76,230,251,193,78,230,251,193,80,230,251,193,82,230,251,193,84,230,251,193,86,230,251,193,88,230,251,193,90,230,251,193,92,230,251,193,94,230,251,193,96,230,251,193,98,230,251,193,100,230,251,193,210,230,251,193,212,230,251,193,214,230,251,193,52,231,251,193,54,231,251,193,56,231,251,193,58,231,251,193,60,231,251,193,62,231,251,193,156,231,251,193,158,231,251,193,210,231,251,193,14,232,251,193,16,232,251,193,44,232,251,193,72,232,251,193,98,232,251,193,22,233,251,193,36,233,251,193,132,233,251,193,212,233,251,193,214,233,251,193,250,233,251,193,252,233,251,193,46,234,251,193,112,208,252,193,148,234,251,193,150,234,251,193,192,234,251,193,194,234,251,193,196,234,251,193,234,234,251,193,70,231,251,193,72,231,251,193,74,231,251,193,76,231,251,193,78,231,251,193,80,231,251,193,82,231,251,193,84,231,251,193,86,231,251,193,88,231,251,193,90,231,251,193,92,231,251,193,94,231,251,193,96,231,251,193,98,231,251,193,100,231,251,193,102,231,251,193,104,231,251,193,160,231,251,193,162,231,251,193,164,231,251,193,166,231,251,193,168,231,251,193,170,231,251,193,172,231,251,193,174,231,251,193,176,231,251,193,178,231,251,193,180,231,251,193,182,231,251,193,184,231,251,193,212,231,251,193,86,154,252,193,88,154,252,193,106,231,251,193,90,154,252,193,92,154,252,193,98,154,252,193,100,154,252,193,102,154,252,193,112,154,252,193,114,154,252,193,116,154,252,193,118,154,252,193,120,154,252,193,122,154,252,193,126,154,252,193,128,154,252,193,134,154,252,193,136,154,252,193,146,154,252,193,140,154,252,193,142,154,252,193,148,154,252,193,150,154,252,193,156,154,252,193,158,154,252,193,164,154,252,193,166,154,252,193,168,154,252,193,170,154,252,193,194,154,252,193,196,154,252,193,198,154,252,193,118,231,251,193,120,231,251,193,122,231,251,193,124,231,251,193,126,231,251,193,128,231,251,193,130,231,251,193,132,231,251,193,134,231,251,193,136,231,251,193,186,231,251,193,188,231,251,193,190,231,251,193,234,231,251,193,236,231,251,193,238,231,251,193,240,231,251,193,6,232,251,193,48,232,251,193,66,232,251,193,68,232,251,193,78,232,251,193,80,232,251,193,84,232,251,193,100,232,251,193,142,232,251,193,144,232,251,193,172,232,251,193,174,232,251,193,214,232,251,193,248,232,251,193,12,233,251,193,214,231,251,193,216,231,251,193,218,231,251,193,220,231,251,193,222,231,251,193,224,231,251,193,226,231,251,193,228,231,251,193,244,231,251,193,246,231,251,193,248,231,251,193,250,231,251,193,252,231,251,193,18,232,251,193,20,232,251,193,22,232,251,193,24,232,251,193,26,232,251,193,28,232,251,193,30,232,251,193,32,232,251,193,34,232,251,193,46,232,251,193,56,232,251,193,58,232,251,193,60,232,251,193,82,40,253,193,62,232,251,193,74,232,251,193,76,232,251,193,128,195,252,193,86,232,251,193,88,232,251,193,106,232,251,193,108,232,251,193,116,232,251,193,118,232,251,193,120,232,251,193,122,232,251,193,130,232,251,193,132,232,251,193,134,232,251,193,136,232,251,193,138,232,251,193,140,232,251,193,150,232,251,193,152,232,251,193,154,232,251,193,156,232,251,193,158,232,251,193,160,232,251,193,162,232,251,193,164,232,251,193,166,232,251,193,168,232,251,193,182,232,251,193,184,232,251,193,186,232,251,193,188,232,251,193,202,232,251,193,204,232,251,193,206,232,251,193,222,232,251,193,224,232,251,193,112,232,251,193,124,232,251,193,170,232,251,193,190,232,251,193,192,232,251,193,208,232,251,193,210,232,251,193,212,232,251,193,242,232,251,193,244,232,251,193,246,232,251,193,10,233,251,193,42,233,251,193,66,233,251,193,68,233,251,193,70,233,251,193,96,233,251,193,114,233,251,193,116,233,251,193,118,233,251,193,144,233,251,193,146,233,251,193,148,233,251,193,150,233,251,193,152,233,251,193,192,233,251,193,224,233,251,193,226,233,251,193,228,233,251,193,18,234,251,193,20,234,251,193,22,234,251,193,218,232,251,193,250,232,251,193,54,233,251,193,80,233,251,193,166,233,251,193,202,233,251,193,234,233,251,193,236,233,251,193,102,234,251,193,104,234,251,193,144,234,251,193,188,234,251,193,226,234,251,193,228,234,251,193,12,235,251,193,72,235,251,193,206,235,251,193,208,235,251,193,210,235,251,193,106,236,251,193,144,237,251,193,146,237,251,193,148,237,251,193,150,237,251,193,4,239,251,193,6,239,251,193,8,239,251,193,10,239,251,206,96,36,0,206,96,36,0,206,96,36,0,206,96,36,0,193,226,232,251,193,228,232,251,193,230,232,251,193,236,232,251,193,238,232,251,193,240,232,251,193,252,232,251,193,254,232,251,193,2,233,251,193,4,233,251,193,6,233,251,193,24,233,251,193,26,233,251,193,28,233,251,193,30,233,251,193,38,233,251,193,40,233,251,193,44,233,251,193,46,233,251,193,48,233,251,193,50,233,251,193,52,233,251,193,56,233,251,193,58,233,251,193,62,233,251,193,64,233,251,193,76,233,251,193,82,233,251,193,84,233,251,193,88,233,251,193,92,233,251,193,102,233,251,193,14,233,251,193,16,233,251,193,18,233,251,193,74,233,251,193,98,233,251,193,100,233,251,193,120,233,251,193,122,233,251,193,154,233,251,193,156,233,251,193,158,233,251,193,160,233,251,193,162,233,251,193,164,233,251,193,194,233,251,193,196,233,251,193,198,233,251,193,200,233,251,193,230,233,251,193,232,233,251,193,28,234,251,193,30,234,251,193,32,234,251,193,34,234,251,193,36,234,251,193,92,234,251,193,94,234,251,193,96,234,251,193,98,234,251,193,100,234,251,193,138,234,251,193,140,234,251,193,104,233,251,193,106,233,251,193,108,233,251,193,110,233,251,193,138,233,251,193,174,233,251,193,176,233,251,193,178,233,251,193,170,205,252,193,180,233,251,193,182,233,251,193,184,233,251,193,186,233,251,193,216,233,251,193,218,233,251,193,160,206,252,193,162,206,252,193,254,233,251,193,2,234,251,193,4,234,251,193,6,234,251,193,8,234,251,193,10,234,251,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,193,196,204,252,193,198,204,252,193,200,204,252,193,202,204,252,193,204,204,252,193,206,204,252,193,208,204,252,193,210,204,252,193,212,204,252,193,214,204,252,193,216,204,252,193,218,204,252,193,220,204,252,193,222,204,252,193,224,204,252,193,226,204,252,193,228,204,252,193,230,204,252,193,232,204,252,193,234,204,252,193,236,204,252,193,238,204,252,193,240,204,252,193,140,233,251,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,193,12,234,251,193,14,234,251,193,16,234,251,193,78,234,251,193,128,234,251,193,130,234,251,193,132,234,251,193,134,234,251,193,164,234,251,193,166,234,251,193,168,234,251,193,214,234,251,193,216,234,251,193,252,234,251,193,92,235,251,193,94,235,251,193,108,235,251,193,84,236,251,193,86,236,251,193,88,236,251,193,90,236,251,193,92,236,251,193,112,237,251,193,114,237,251,193,116,237,251,193,118,237,251,193,202,238,251,193,204,238,251,193,206,238,251,193,208,238,251,193,210,238,251,193,212,238,251,193,24,234,251,193,26,234,251,193,84,234,251,193,86,234,251,193,88,234,251,193,90,234,251,193,136,234,251,193,170,234,251,193,172,234,251,193,174,234,251,193,176,234,251,193,178,234,251,193,180,234,251,193,218,234,251,193,220,234,251,193,254,234,251,193,2,235,251,193,32,235,251,193,34,235,251,193,36,235,251,193,38,235,251,193,62,235,251,193,64,235,251,193,74,235,251,193,76,235,251,193,96,235,251,193,112,235,251,193,122,235,251,193,144,235,251,193,94,236,251,193,96,236,251,193,98,236,251,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,193,110,234,251,193,112,234,251,193,114,234,251,193,116,234,251,193,118,234,251,193,120,234,251,193,122,234,251,193,124,234,251,193,126,234,251,193,152,234,251,193,154,234,251,193,156,234,251,193,158,234,251,193,160,234,251,193,198,234,251,193,200,234,251,193,202,234,251,193,204,234,251,193,206,234,251,193,208,234,251,193,210,234,251,193,212,234,251,193,236,234,251,193,238,234,251,193,16,235,251,193,240,234,251,193,242,234,251,193,244,234,251,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,193,76,234,251,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,193,106,234,251,193,116,209,252,193,146,234,251,193,230,234,251,193,232,234,251,193,88,212,252,193,50,235,251,193,86,235,251,193,114,235,251,193,116,235,251,193,124,235,251,193,126,235,251,193,128,235,251,193,130,235,251,193,132,235,251,193,134,235,251,193,136,235,251,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,193,142,234,251,193,182,234,251,193,184,234,251,193,186,234,251,193,222,234,251,193,224,234,251,193,4,235,251,193,6,235,251,193,8,235,251,193,10,235,251,193,40,235,251,193,42,235,251,193,44,235,251,193,46,235,251,193,48,235,251,193,66,235,251,193,68,235,251,193,70,235,251,193,78,235,251,193,80,235,251,193,82,235,251,193,84,235,251,193,104,235,251,193,110,235,251,193,146,235,251,193,100,236,251,193,102,236,251,193,104,236,251,193,132,237,251,193,134,237,251,193,136,237,251,193,138,237,251,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,193,190,234,251,193,90,212,252,193,92,212,252,193,94,212,252,193,96,212,252,193,98,212,252,193,100,212,252,193,102,212,252,193,104,212,252,193,106,212,252,193,108,212,252,193,110,212,252,193,112,212,252,193,114,212,252,193,116,212,252,193,118,212,252,193,120,212,252,193,122,212,252,193,124,212,252,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,193,246,234,251,193,248,234,251,193,250,234,251,193,18,235,251,193,20,235,251,193,22,235,251,193,24,235,251,193,26,235,251,193,28,235,251,193,52,235,251,193,54,235,251,193,56,235,251,193,58,235,251,193,60,235,251,193,88,235,251,193,90,235,251,193,98,235,251,193,100,235,251,193,106,235,251,193,118,235,251,193,120,235,251,193,138,235,251,193,140,235,251,193,142,235,251,193,188,235,251,193,190,235,251,193,192,235,251,193,194,235,251,193,196,235,251,193,198,235,251,193,200,235,251,193,202,235,251,193,14,235,251,193,186,235,251,193,36,236,251,193,38,236,251,193,40,236,251,193,42,236,251,193,44,236,251,193,242,236,251,193,244,236,251,193,246,236,251,193,248,236,251,193,250,236,251,193,252,236,251,193,254,236,251,193,2,237,251,193,4,237,251,193,6,237,251,193,98,238,251,193,100,238,251,193,102,238,251,193,104,238,251,193,106,238,251,193,108,238,251,193,110,238,251,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,193,212,214,252,193,250,214,252,193,20,215,252,193,102,235,251,193,88,215,252,193,116,215,252,193,148,215,252,193,154,215,252,193,166,215,252,193,206,215,252,193,52,216,252,193,88,216,252,193,110,216,252,193,150,216,252,193,212,216,252,193,222,216,252,193,224,216,252,193,2,217,252,193,14,218,252,193,86,218,252,193,116,218,252,193,198,218,252,193,200,218,252,193,38,219,252,193,68,219,252,193,80,219,252,193,180,219,252,193,240,220,252,193,66,221,252,193,68,221,252,193,180,221,252,193,244,221,252,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,193,204,235,251,193,46,236,251,193,48,236,251,193,50,236,251,193,52,236,251,193,54,236,251,193,56,236,251,193,58,236,251,193,60,236,251,193,62,236,251,193,64,236,251,193,66,236,251,193,68,236,251,193,70,236,251,193,72,236,251,193,74,236,251,193,76,236,251,193,78,236,251,193,80,236,251,193,82,236,251,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,193,108,236,251,193,110,236,251,193,112,236,251,193,114,236,251,193,116,236,251,193,118,236,251,193,120,236,251,193,122,236,251,193,124,236,251,193,126,236,251,193,128,236,251,193,130,236,251,193,132,236,251,193,134,236,251,193,136,236,251,193,138,236,251,193,140,236,251,193,142,236,251,193,144,236,251,193,146,236,251,193,148,236,251,193,150,236,251,193,152,236,251,193,34,236,251,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,193,122,237,251,193,124,237,251,193,126,237,251,193,128,237,251,193,130,237,251,193,220,238,251,193,222,238,251,193,146,240,251,193,148,240,251,193,150,240,251,193,152,240,251,193,154,240,251,193,156,240,251,193,158,240,251,193,160,240,251,193,162,240,251,193,164,240,251,193,166,240,251,193,82,242,251,193,84,242,251,193,86,242,251,193,88,242,251,193,90,242,251,193,92,242,251,193,94,242,251,193,96,242,251,193,98,242,251,193,100,242,251,193,102,242,251,193,172,244,251,193,174,244,251,193,176,244,251,193,140,237,251,193,142,237,251,193,224,238,251,193,226,238,251,193,228,238,251,193,230,238,251,193,232,238,251,193,234,238,251,193,236,238,251,193,238,238,251,193,240,238,251,193,242,238,251,193,244,238,251,193,246,238,251,193,248,238,251,193,250,238,251,193,252,238,251,193,254,238,251,193,2,239,251,193,168,240,251,193,170,240,251,193,172,240,251,193,174,240,251,193,176,240,251,193,178,240,251,193,180,240,251,193,182,240,251,193,184,240,251,193,186,240,251,193,188,240,251,193,190,240,251,193,192,240,251,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,193,214,238,251,193,216,238,251,193,218,238,251,193,116,240,251,193,118,240,251,193,120,240,251,193,122,240,251,193,124,240,251,193,126,240,251,193,128,240,251,193,130,240,251,193,132,240,251,193,134,240,251,193,136,240,251,193,138,240,251,193,140,240,251,193,52,242,251,193,54,242,251,193,56,242,251,193,58,242,251,193,60,242,251,193,62,242,251,193,64,242,251,193,66,242,251,193,68,242,251,193,70,242,251,193,72,242,251,193,74,242,251,193,76,242,251,193,78,242,251,193,80,242,251,193,138,244,251,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,193,144,241,251,193,146,241,251,193,148,241,251,193,150,241,251,193,152,241,251,193,154,241,251,193,156,241,251,193,158,241,251,193,160,241,251,193,162,241,251,193,164,241,251,193,166,241,251,193,168,241,251,193,170,241,251,193,128,243,251,193,172,241,251,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,193,194,240,251,193,196,240,251,193,198,240,251,193,104,242,251,193,106,242,251,193,108,242,251,193,110,242,251,193,112,242,251,193,114,242,251,193,116,242,251,193,118,242,251,193,120,242,251,193,122,242,251,193,124,242,251,193,126,242,251,193,128,242,251,193,130,242,251,193,132,242,251,193,134,242,251,193,136,242,251,193,138,242,251,193,140,242,251,193,142,242,251,193,144,242,251,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,96,36,0,206,96,36,0,206,96,36,0,206,96,36,0,206,96,36,0,206,96,36,0,206,96,36,0,193,146,242,251,193,148,242,251,193,150,242,251,193,152,242,251,193,154,242,251,193,156,242,251,193,158,242,251,193,160,242,251,193,162,242,251,193,164,242,251,193,24,245,251,193,26,245,251,193,28,245,251,193,30,245,251,193,32,245,251,193,34,245,251,193,36,245,251,193,38,245,251,193,40,245,251,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,193,234,245,251,193,236,245,251,193,238,245,251,193,240,245,251,193,242,245,251,193,244,245,251,193,246,245,251,193,248,245,251,193,250,245,251,193,252,245,251,193,254,245,251,193,2,246,251,193,4,246,251,193,6,246,251,193,8,246,251,193,10,246,251,193,12,246,251,193,14,246,251,193,16,246,251,193,18,246,251,193,20,246,251,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,193,140,244,251,193,142,244,251,193,144,244,251,193,146,244,251,193,148,244,251,193,150,244,251,193,152,244,251,193,154,244,251,193,156,244,251,193,158,244,251,193,160,244,251,193,162,244,251,193,164,244,251,193,166,244,251,193,168,244,251,193,170,244,251,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,193,178,244,251,193,180,244,251,193,182,244,251,193,184,244,251,193,186,244,251,193,188,244,251,193,190,244,251,193,192,244,251,193,194,244,251,193,196,244,251,193,198,244,251,193,200,244,251,193,202,244,251,193,204,244,251,193,206,244,251,193,208,244,251,193,210,244,251,193,212,244,251,193,214,244,251,193,216,244,251,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,193,192,247,251,193,224,245,251,193,226,245,251,193,194,247,251,193,196,247,251,193,198,247,251,193,200,247,251,193,202,247,251,193,204,247,251,193,206,247,251,193,228,245,251,193,208,247,251,193,210,247,251,193,212,247,251,193,230,245,251,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,193,22,246,251,193,108,55,252,193,24,246,251,193,26,246,251,193,112,248,251,193,114,248,251,193,116,248,251,193,118,248,251,193,120,248,251,193,122,248,251,193,124,248,251,193,126,248,251,193,128,248,251,193,130,248,251,193,132,248,251,193,134,248,251,193,136,248,251,193,138,248,251,193,140,248,251,193,142,248,251,193,144,248,251,193,146,248,251,193,148,248,251,193,150,248,251,193,152,248,251,193,154,248,251,193,156,248,251,193,158,248,251,193,160,248,251,193,162,248,251,193,190,250,251,193,192,250,251,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,193,164,248,251,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,193,126,249,251,193,128,249,251,193,130,249,251,193,132,249,251,193,134,249,251,193,136,249,251,193,138,249,251,193,140,249,251,193,142,249,251,193,144,249,251,193,146,249,251,193,148,249,251,193,150,249,251,193,152,249,251,193,154,249,251,193,156,249,251,193,158,249,251,193,160,249,251,193,162,249,251,193,164,249,251,193,166,249,251,193,180,251,251,193,182,251,251,193,184,251,251,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,193,220,249,251,193,222,249,251,193,224,249,251,193,226,249,251,193,228,249,251,193,230,249,251,193,232,249,251,193,234,249,251,193,236,249,251,193,238,249,251,193,240,249,251,193,242,249,251,193,244,249,251,193,246,249,251,193,248,249,251,193,250,249,251,193,252,249,251,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,193,254,249,251,193,2,250,251,193,4,250,251,193,6,250,251,193,8,250,251,193,10,250,251,193,12,250,251,193,14,250,251,193,16,250,251,193,18,250,251,193,20,250,251,193,22,250,251,193,24,250,251,193,26,250,251,193,28,250,251,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,193,30,250,251,193,32,250,251,193,34,250,251,193,36,250,251,193,38,250,251,193,40,250,251,193,42,250,251,193,106,248,251,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,193,108,248,251,193,180,250,251,193,182,250,251,193,184,250,251,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,193,218,251,251,193,220,251,251,193,222,251,251,193,224,251,251,193,226,251,251,193,228,251,251,193,230,251,251,193,232,251,251,193,234,251,251,193,236,251,251,193,238,251,251,193,240,251,251,193,242,251,251,193,244,251,251,193,246,251,251,193,248,251,251,193,250,251,251,193,252,251,251,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,193,186,250,251,193,186,252,251,193,188,252,251,193,190,252,251,193,192,252,251,193,194,252,251,193,196,252,251,193,198,252,251,193,200,252,251,193,202,252,251,193,204,252,251,193,206,252,251,193,208,252,251,193,210,252,251,193,212,252,251,193,188,250,251,193,214,252,251,193,216,252,251,193,218,252,251,193,220,252,251,193,222,252,251,193,224,252,251,193,226,252,251,193,228,252,251,193,134,254,251,193,136,254,251,193,138,254,251,193,194,250,251,193,196,250,251,193,198,250,251,193,200,250,251,193,202,250,251,193,204,250,251,193,206,250,251,193,208,250,251,193,210,250,251,193,212,250,251,193,214,250,251,193,216,250,251,193,218,250,251,193,220,250,251,193,222,250,251,193,224,250,251,193,230,252,251,193,226,250,251,193,228,250,251,193,232,252,251,193,234,252,251,193,236,252,251,193,238,252,251,193,240,252,251,193,242,252,251,193,244,252,251,193,246,252,251,193,248,252,251,193,250,252,251,193,252,252,251,193,254,252,251,193,2,253,251,193,230,250,251,193,4,253,251,193,6,253,251,193,8,253,251,193,10,253,251,193,12,253,251,193,14,253,251,193,16,253,251,193,18,253,251,193,20,253,251,193,226,254,251,193,228,254,251,193,230,254,251,193,232,254,251,193,234,254,251,193,236,254,251,193,238,254,251,193,240,254,251,193,242,254,251,193,244,254,251,193,246,254,251,193,248,254,251,193,250,254,251,193,48,2,252,193,50,2,252,193,52,2,252,193,54,2,252,193,56,2,252,193,58,2,252,193,60,2,252,193,88,3,252,193,90,3,252,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,193,22,253,251,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,193,186,251,251,193,188,251,251,193,190,251,251,193,192,251,251,193,194,251,251,193,196,251,251,193,198,251,251,193,200,251,251,193,202,251,251,193,204,251,251,193,206,251,251,193,208,251,251,193,210,251,251,193,4,254,251,193,6,254,251,193,8,254,251,193,10,254,251,193,12,254,251,193,14,254,251,193,16,254,251,193,18,254,251,193,20,254,251,193,22,254,251,193,24,254,251,193,26,254,251,193,28,254,251,193,30,254,251,193,32,254,251,193,34,254,251,193,158,255,251,193,160,255,251,193,162,255,251,193,254,251,251,193,2,252,251,193,4,252,251,193,6,252,251,193,8,252,251,193,10,252,251,193,12,252,251,193,14,252,251,193,16,252,251,193,18,252,251,193,20,252,251,193,22,252,251,193,24,252,251,193,26,252,251,193,28,252,251,193,30,252,251,193,32,252,251,193,34,252,251,193,36,252,251,193,38,252,251,193,40,252,251,193,42,252,251,193,44,252,251,193,46,252,251,193,48,252,251,193,50,252,251,193,52,252,251,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,193,106,254,251,193,108,254,251,193,110,254,251,193,112,254,251,193,114,254,251,193,116,254,251,193,118,254,251,193,120,254,251,193,122,254,251,193,124,254,251,193,126,254,251,193,128,254,251,193,130,254,251,193,132,254,251,193,222,255,251,193,224,255,251,193,226,255,251,193,228,255,251,193,230,255,251,193,232,255,251,193,234,255,251,193,236,255,251,193,22,3,252,193,24,3,252,193,26,3,252,193,14,4,252,193,16,4,252,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,193,252,254,251,193,254,254,251,193,2,255,251,193,4,255,251,193,6,255,251,193,8,255,251,193,10,255,251,193,12,255,251,193,14,255,251,193,16,255,251,193,18,255,251,193,20,255,251,193,22,255,251,193,24,255,251,193,26,255,251,193,28,255,251,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,193,184,255,251,193,186,255,251,193,188,255,251,193,190,255,251,193,192,255,251,193,194,255,251,193,196,255,251,193,198,255,251,193,200,255,251,193,202,255,251,193,204,255,251,193,232,2,252,193,234,2,252,193,236,2,252,193,238,2,252,193,240,2,252,193,242,2,252,193,244,2,252,193,246,2,252,193,248,2,252,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,193,206,255,251,193,208,255,251,193,210,255,251,193,212,255,251,193,214,255,251,193,216,255,251,193,218,255,251,193,220,255,251,193,252,2,252,193,254,2,252,193,2,3,252,193,4,3,252,193,6,3,252,193,8,3,252,193,10,3,252,193,12,3,252,193,14,3,252,193,16,3,252,193,18,3,252,193,20,3,252,193,246,3,252,193,248,3,252,193,140,254,251,193,142,254,251,193,144,254,251,193,146,254,251,193,148,254,251,193,150,254,251,193,152,254,251,193,154,254,251,193,156,254,251,193,158,254,251,193,160,254,251,193,162,254,251,193,164,254,251,193,166,254,251,193,168,254,251,193,170,254,251,193,172,254,251,193,174,254,251,193,176,254,251,193,178,254,251,193,180,254,251,193,182,254,251,193,184,254,251,193,186,254,251,193,188,254,251,193,190,254,251,193,192,254,251,193,194,254,251,193,196,254,251,193,198,254,251,193,200,254,251,193,202,254,251,193,204,254,251,193,206,254,251,193,208,254,251,193,210,254,251,193,212,254,251,193,214,254,251,193,216,254,251,193,218,254,251,193,220,254,251,193,222,254,251,193,224,254,251,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,193,30,255,251,193,32,255,251,193,34,255,251,193,36,255,251,193,38,255,251,193,40,255,251,193,42,255,251,193,44,255,251,193,46,255,251,193,48,255,251,193,50,255,251,193,52,255,251,193,54,255,251,193,56,255,251,193,58,255,251,193,60,255,251,193,62,255,251,193,64,255,251,193,66,255,251,193,68,255,251,193,70,255,251,193,72,255,251,193,74,255,251,193,76,255,251,193,78,255,251,193,80,255,251,193,82,255,251,193,84,255,251,193,86,255,251,193,88,255,251,193,90,255,251,193,92,255,251,193,94,255,251,193,96,255,251,193,138,140,252,193,98,255,251,193,100,255,251,193,102,255,251,193,104,255,251,193,106,255,251,193,108,255,251,193,110,255,251,193,112,255,251,193,114,255,251,193,116,255,251,193,118,255,251,193,120,255,251,193,122,255,251,193,124,255,251,193,126,255,251,193,128,255,251,193,130,255,251,193,132,255,251,193,134,255,251,193,136,255,251,193,138,255,251,193,140,255,251,193,142,255,251,193,144,255,251,193,146,255,251,193,148,255,251,193,150,255,251,193,152,255,251,193,154,255,251,193,156,255,251,193,62,2,252,193,64,2,252,193,66,2,252,193,68,2,252,193,70,2,252,193,72,2,252,193,74,2,252,193,76,2,252,193,78,2,252,193,80,2,252,193,82,2,252,193,84,2,252,193,86,2,252,193,88,2,252,193,90,2,252,193,92,2,252,193,94,2,252,193,96,2,252,193,98,2,252,193,100,2,252,193,102,2,252,193,104,2,252,193,106,2,252,193,108,2,252,193,110,3,252,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,193,164,255,251,193,166,255,251,193,168,255,251,193,170,255,251,193,172,255,251,193,174,255,251,193,176,255,251,193,178,255,251,193,180,255,251,193,216,2,252,193,218,2,252,193,220,2,252,193,222,2,252,193,224,2,252,193,226,2,252,193,228,2,252,193,218,3,252,193,220,3,252,193,222,3,252,193,224,3,252,193,226,3,252,193,228,3,252,193,164,4,252,193,166,4,252,193,168,4,252,193,170,4,252,193,172,4,252,193,62,5,252,193,64,5,252,193,66,5,252,193,68,5,252,193,180,5,252,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,193,72,133,252,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,193,250,2,252,193,230,3,252,193,232,3,252,193,234,3,252,193,236,3,252,193,238,3,252,193,240,3,252,193,242,3,252,193,244,3,252,193,174,4,252,193,176,4,252,193,70,5,252,193,72,5,252,193,74,5,252,193,76,5,252,193,78,5,252,193,186,5,252,193,188,5,252,193,190,5,252,193,192,5,252,193,6,6,252,193,70,6,252,193,72,6,252,193,74,6,252,193,76,6,252,193,138,6,252,193,140,6,252,193,154,6,252,193,178,6,252,193,220,6,252,193,222,6,252,193,16,7,252,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,193,28,4,252,193,30,4,252,193,32,4,252,193,34,4,252,193,84,3,252,193,36,4,252,193,86,3,252,193,38,4,252,193,40,4,252,193,42,4,252,193,44,4,252,193,46,4,252,193,48,4,252,193,50,4,252,193,52,4,252,193,54,4,252,193,96,5,252,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,193,92,3,252,193,94,3,252,193,96,3,252,193,98,3,252,193,100,3,252,193,102,3,252,193,104,3,252,193,106,3,252,193,108,3,252,193,56,4,252,193,58,4,252,193,60,4,252,193,62,4,252,193,64,4,252,193,66,4,252,193,68,4,252,193,70,4,252,193,72,4,252,193,74,4,252,193,76,4,252,193,230,4,252,193,232,4,252,193,78,4,252,193,114,5,252,193,116,5,252,193,208,5,252,193,210,5,252,193,212,5,252,193,214,5,252,193,200,6,252,193,202,6,252,193,232,6,252,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,193,80,4,252,193,82,4,252,193,84,4,252,193,86,4,252,193,88,4,252,193,90,4,252,193,92,4,252,193,94,4,252,193,96,4,252,193,98,4,252,193,100,4,252,193,102,4,252,193,104,4,252,193,216,3,252,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,193,250,3,252,193,252,3,252,193,254,3,252,193,2,4,252,193,4,4,252,193,6,4,252,193,8,4,252,193,10,4,252,193,12,4,252,193,178,4,252,193,180,4,252,193,182,4,252,193,184,4,252,193,186,4,252,193,188,4,252,193,190,4,252,193,192,4,252,193,194,4,252,193,196,4,252,193,198,4,252,193,80,5,252,193,82,5,252,193,84,5,252,193,86,5,252,193,194,5,252,193,196,5,252,193,198,5,252,193,8,6,252,193,10,6,252,193,12,6,252,193,14,6,252,193,16,6,252,193,18,4,252,193,20,4,252,193,22,4,252,193,24,4,252,193,26,4,252,193,88,5,252,193,90,5,252,193,92,5,252,193,94,5,252,193,166,6,252,193,22,7,252,193,24,7,252,193,84,7,252,193,230,7,252,193,232,7,252,193,60,8,252,193,62,8,252,193,64,8,252,193,148,8,252,193,150,8,252,193,152,8,252,193,154,8,252,193,226,8,252,193,228,8,252,193,30,9,252,193,106,9,252,193,220,9,252,193,240,9,252,193,242,9,252,193,52,10,252,193,54,10,252,193,56,10,252,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,193,234,4,252,193,236,4,252,193,238,4,252,193,240,4,252,193,242,4,252,193,244,4,252,193,246,4,252,193,248,4,252,193,250,4,252,193,252,4,252,193,254,4,252,193,2,5,252,193,4,5,252,193,6,5,252,193,8,5,252,193,10,5,252,193,12,5,252,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,193,98,5,252,193,100,5,252,193,102,5,252,193,104,5,252,193,106,5,252,193,108,5,252,193,228,4,252,193,110,5,252,193,112,5,252,193,200,5,252,193,202,5,252,193,204,5,252,193,206,5,252,193,20,6,252,193,22,6,252,193,24,6,252,193,78,6,252,193,80,6,252,193,82,6,252,193,84,6,252,193,86,6,252,193,88,6,252,193,116,6,252,193,118,6,252,193,156,6,252,193,158,6,252,193,14,5,252,193,16,5,252,193,118,5,252,193,18,5,252,193,20,5,252,193,22,5,252,193,24,5,252,193,26,5,252,193,28,5,252,193,30,5,252,193,32,5,252,193,34,5,252,193,36,5,252,193,38,5,252,193,40,5,252,193,42,5,252,193,44,5,252,193,46,5,252,193,48,5,252,193,50,5,252,193,52,5,252,193,54,5,252,193,56,5,252,193,58,5,252,193,60,5,252,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,193,182,5,252,193,184,5,252,193,2,6,252,193,4,6,252,193,66,6,252,193,68,6,252,193,114,6,252,193,152,6,252,193,136,6,252,193,14,7,252,193,76,7,252,193,78,7,252,193,214,7,252,193,216,7,252,193,48,8,252,193,136,8,252,193,138,8,252,193,216,8,252,193,24,9,252,193,144,9,252,193,180,9,252,193,42,10,252,193,120,10,252,193,152,10,252,193,206,10,252,193,254,10,252,193,2,11,252,193,36,11,252,193,70,11,252,193,100,11,252,193,102,11,252,193,128,11,252,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,193,26,6,252,193,28,6,252,193,30,6,252,193,32,6,252,193,34,6,252,193,36,6,252,193,38,6,252,193,40,6,252,193,42,6,252,193,44,6,252,193,46,6,252,193,48,6,252,193,50,6,252,193,52,6,252,193,54,6,252,193,56,6,252,193,58,6,252,193,60,6,252,193,62,6,252,193,90,6,252,193,92,6,252,193,18,6,252,193,142,6,252,193,170,6,252,193,180,6,252,193,196,6,252,193,18,7,252,193,20,7,252,193,154,7,252,193,156,7,252,193,158,7,252,193,160,7,252,193,162,7,252,193,228,7,252,193,54,8,252,193,56,8,252,193,58,8,252,193,144,8,252,193,146,8,252,193,224,8,252,193,26,9,252,193,28,9,252,193,70,9,252,193,72,9,252,193,146,9,252,193,214,9,252,193,216,9,252,193,218,9,252,193,46,10,252,193,48,10,252,193,50,10,252,193,78,10,252,193,80,10,252,193,178,147,252,193,180,147,252,193,182,147,252,193,184,147,252,193,186,147,252,193,188,147,252,193,208,147,252,193,210,147,252,193,212,147,252,193,214,147,252,193,220,147,252,193,222,147,252,193,224,147,252,193,226,147,252,193,228,147,252,193,230,147,252,193,232,147,252,193,234,147,252,193,236,147,252,193,242,147,252,193,64,6,252,193,244,147,252,193,246,147,252,193,252,147,252,193,254,147,252,193,2,148,252,193,4,148,252,193,6,148,252,193,8,148,252,193,10,148,252,193,12,148,252,193,14,148,252,193,188,6,252,193,190,6,252,193,192,6,252,193,224,6,252,193,198,6,252,193,226,6,252,193,228,6,252,193,230,6,252,193,26,7,252,193,28,7,252,193,30,7,252,193,86,7,252,193,88,7,252,193,90,7,252,193,92,7,252,193,94,7,252,193,96,7,252,193,98,7,252,193,164,7,252,193,166,7,252,193,168,7,252,193,170,7,252,193,172,7,252,193,174,7,252,193,176,7,252,193,234,7,252,193,236,7,252,193,238,7,252,193,240,7,252,193,242,7,252,193,244,7,252,193,246,7,252,193,194,6,252,193,204,6,252,193,206,6,252,193,208,6,252,193,210,6,252,193,212,6,252,193,214,6,252,193,216,6,252,193,218,6,252,193,240,6,252,193,242,6,252,193,244,6,252,193,246,6,252,193,248,6,252,193,250,6,252,193,252,6,252,193,254,6,252,193,2,7,252,193,4,7,252,193,6,7,252,193,8,7,252,193,10,7,252,193,12,7,252,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,193,234,6,252,193,236,6,252,193,238,6,252,193,32,7,252,193,34,7,252,193,36,7,252,193,38,7,252,193,40,7,252,193,42,7,252,193,100,7,252,193,102,7,252,193,104,7,252,193,106,7,252,193,108,7,252,193,178,7,252,193,180,7,252,193,182,7,252,193,184,7,252,193,248,7,252,193,250,7,252,193,252,7,252,193,254,7,252,193,2,8,252,193,148,12,252,193,4,8,252,193,84,8,252,193,86,8,252,193,88,8,252,193,90,8,252,193,92,8,252,193,94,8,252,193,166,8,252,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,193,112,7,252,193,114,7,252,193,116,7,252,193,118,7,252,193,120,7,252,193,122,7,252,193,124,7,252,193,126,7,252,193,128,7,252,193,130,7,252,193,132,7,252,193,134,7,252,193,136,7,252,193,138,7,252,193,140,7,252,193,142,7,252,193,144,7,252,193,146,7,252,193,148,7,252,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,193,80,7,252,193,82,7,252,193,150,7,252,193,152,7,252,193,218,7,252,193,220,7,252,193,222,7,252,193,224,7,252,193,226,7,252,193,50,8,252,193,52,8,252,193,140,8,252,193,142,8,252,193,218,8,252,193,220,8,252,193,222,8,252,193,66,9,252,193,68,9,252,193,104,9,252,193,120,9,252,193,156,9,252,193,176,9,252,193,210,9,252,193,212,9,252,193,238,9,252,193,44,10,252,193,74,10,252,193,76,10,252,193,122,10,252,193,124,10,252,193,154,10,252,193,156,10,252,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,193,6,8,252,193,8,8,252,193,10,8,252,193,12,8,252,193,14,8,252,193,16,8,252,193,18,8,252,193,20,8,252,193,22,8,252,193,24,8,252,193,26,8,252,193,28,8,252,193,30,8,252,193,32,8,252,193,34,8,252,193,36,8,252,193,38,8,252,193,40,8,252,193,42,8,252,193,44,8,252,193,46,8,252,193,96,8,252,193,98,8,252,193,100,8,252,193,66,8,252,193,68,8,252,193,70,8,252,193,72,8,252,193,74,8,252,193,76,8,252,193,78,8,252,193,80,8,252,193,82,8,252,193,156,8,252,193,158,8,252,193,160,8,252,193,162,8,252,193,164,8,252,193,230,8,252,193,232,8,252,193,234,8,252,193,236,8,252,193,238,8,252,193,240,8,252,193,32,9,252,193,34,9,252,193,36,9,252,193,38,9,252,193,40,9,252,193,42,9,252,193,44,9,252,193,74,9,252,193,76,9,252,193,78,9,252,193,108,9,252,193,110,9,252,193,102,8,252,193,104,8,252,193,106,8,252,193,108,8,252,193,110,8,252,193,112,8,252,193,114,8,252,193,116,8,252,193,118,8,252,193,120,8,252,193,122,8,252,193,124,8,252,193,30,50,253,193,126,8,252,193,128,8,252,193,130,8,252,193,132,8,252,193,134,8,252,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,193,168,8,252,193,170,8,252,193,242,8,252,193,244,8,252,193,46,9,252,193,48,9,252,193,80,9,252,193,82,9,252,193,84,9,252,193,86,9,252,193,124,9,252,193,136,9,252,193,160,9,252,193,172,9,252,193,182,9,252,193,204,9,252,193,224,9,252,193,226,9,252,193,62,10,252,193,64,10,252,193,66,10,252,193,174,10,252,193,176,10,252,193,26,11,252,193,140,11,252,193,204,11,252,193,10,12,252,193,12,12,252,193,14,12,252,193,16,12,252,193,78,12,252,193,80,12,252,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,193,246,8,252,193,248,8,252,193,250,8,252,193,252,8,252,193,254,8,252,193,2,9,252,193,4,9,252,193,6,9,252,193,8,9,252,193,10,9,252,193,12,9,252,193,14,9,252,193,16,9,252,193,18,9,252,193,20,9,252,193,22,9,252,193,50,9,252,193,52,9,252,193,54,9,252,193,56,9,252,193,58,9,252,193,60,9,252,193,62,9,252,193,64,9,252,193,88,9,252,193,90,9,252,193,92,9,252,193,94,9,252,193,96,9,252,193,98,9,252,193,100,9,252,193,102,9,252,193,112,9,252,193,114,9,252,193,116,9,252,193,118,9,252,193,126,9,252,193,128,9,252,193,130,9,252,193,132,9,252,193,134,9,252,193,138,9,252,193,140,9,252,193,142,9,252,193,148,9,252,193,150,9,252,193,162,9,252,193,152,9,252,193,154,9,252,193,164,9,252,193,166,9,252,193,168,9,252,193,170,9,252,193,174,9,252,193,178,9,252,193,184,9,252,193,122,9,252,193,158,9,252,193,190,9,252,193,196,9,252,193,202,9,252,193,222,9,252,193,244,9,252,193,246,9,252,193,248,9,252,193,250,9,252,193,58,10,252,193,60,10,252,193,92,10,252,193,94,10,252,193,170,10,252,193,172,10,252,193,230,10,252,193,232,10,252,193,234,10,252,193,236,10,252,193,24,11,252,193,50,11,252,193,52,11,252,193,88,11,252,193,138,11,252,193,192,11,252,193,198,11,252,193,202,11,252,193,226,11,252,193,254,11,252,193,2,12,252,193,4,12,252,193,186,9,252,193,188,9,252,193,194,9,252,193,198,9,252,193,200,9,252,193,206,9,252,193,208,9,252,193,228,9,252,193,230,9,252,193,252,9,252,193,232,9,252,193,234,9,252,193,236,9,252,193,254,9,252,193,2,10,252,193,4,10,252,193,6,10,252,193,8,10,252,193,10,10,252,193,12,10,252,193,14,10,252,193,16,10,252,193,18,10,252,193,20,10,252,193,22,10,252,193,24,10,252,193,26,10,252,193,28,10,252,193,30,10,252,193,32,10,252,193,34,10,252,193,36,10,252,193,82,10,252,193,126,10,252,193,160,10,252,193,162,10,252,193,164,10,252,193,166,10,252,193,214,10,252,193,216,10,252,193,218,10,252,193,220,10,252,193,10,11,252,193,12,11,252,193,42,11,252,193,44,11,252,193,76,11,252,193,78,11,252,193,80,11,252,193,82,11,252,193,108,11,252,193,110,11,252,193,112,11,252,193,134,11,252,193,136,11,252,193,156,11,252,193,168,11,252,193,170,11,252,193,172,11,252,193,174,11,252,193,190,11,252,193,220,11,252,193,222,11,252,193,224,11,252,193,84,10,252,193,86,10,252,193,88,10,252,193,90,10,252,193,128,10,252,193,130,10,252,193,132,10,252,193,134,10,252,193,136,10,252,193,138,10,252,193,168,10,252,193,222,10,252,193,224,10,252,193,226,10,252,193,228,10,252,193,14,11,252,193,16,11,252,193,18,11,252,193,20,11,252,193,22,11,252,193,46,11,252,193,48,11,252,193,84,11,252,193,86,11,252,193,114,11,252,193,116,11,252,193,164,11,252,193,176,11,252,193,252,11,252,193,218,12,252,193,220,12,252,193,38,13,252,193,158,10,252,193,208,10,252,193,210,10,252,193,212,10,252,193,6,11,252,193,8,11,252,193,38,11,252,193,40,11,252,193,72,11,252,193,74,11,252,193,104,11,252,193,106,11,252,193,130,11,252,193,132,11,252,193,154,11,252,193,160,11,252,193,162,11,252,193,130,12,252,193,132,12,252,193,194,12,252,193,196,12,252,193,198,12,252,193,24,13,252,193,26,13,252,193,124,13,252,193,126,13,252,193,128,13,252,193,186,13,252,193,140,14,252,193,154,14,252,193,178,14,252,193,190,14,252,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,193,126,70,252,193,128,70,252,193,130,70,252,193,132,70,252,193,134,70,252,193,136,70,252,193,138,70,252,193,140,70,252,193,142,70,252,193,144,70,252,193,146,70,252,193,148,70,252,193,150,70,252,193,152,70,252,193,154,70,252,193,252,10,252,193,156,70,252,193,158,70,252,193,160,70,252,193,230,11,252,193,232,11,252,193,234,11,252,193,236,11,252,193,238,11,252,193,240,11,252,193,242,11,252,193,244,11,252,193,246,11,252,193,18,12,252,193,20,12,252,193,22,12,252,193,24,12,252,193,26,12,252,193,28,12,252,193,30,12,252,193,32,12,252,193,34,12,252,193,36,12,252,193,38,12,252,193,40,12,252,193,42,12,252,193,44,12,252,193,46,12,252,193,48,12,252,193,50,12,252,193,52,12,252,193,54,12,252,193,56,12,252,193,84,12,252,193,86,12,252,193,88,12,252,193,248,11,252,193,250,11,252,193,58,12,252,193,60,12,252,193,62,12,252,193,64,12,252,193,134,12,252,193,136,12,252,193,138,12,252,193,200,12,252,193,202,12,252,193,204,12,252,193,206,12,252,193,208,12,252,193,210,12,252,193,212,12,252,193,214,12,252,193,216,12,252,193,28,13,252,193,30,13,252,193,32,13,252,193,34,13,252,193,36,13,252,193,130,13,252,193,132,13,252,193,188,13,252,193,190,13,252,193,192,13,252,193,232,13,252,193,28,14,252,193,30,14,252,193,72,14,252,193,6,12,252,193,8,12,252,193,66,12,252,193,68,12,252,193,70,12,252,193,72,12,252,193,74,12,252,193,76,12,252,193,140,12,252,193,142,12,252,193,144,12,252,193,146,12,252,193,222,12,252,193,224,12,252,193,226,12,252,193,228,12,252,193,230,12,252,193,232,12,252,193,234,12,252,193,236,12,252,193,42,13,252,193,44,13,252,193,46,13,252,193,48,13,252,193,50,13,252,193,52,13,252,193,54,13,252,193,134,13,252,193,136,13,252,193,194,13,252,193,196,13,252,193,198,13,252,193,82,12,252,193,150,12,252,193,238,12,252,193,240,12,252,193,56,13,252,193,58,13,252,193,60,13,252,193,62,13,252,193,64,13,252,193,66,13,252,193,138,13,252,193,140,13,252,193,142,13,252,193,144,13,252,193,146,13,252,193,204,13,252,193,206,13,252,193,208,13,252,193,210,13,252,193,244,13,252,193,246,13,252,193,44,14,252,193,46,14,252,193,48,14,252,193,88,14,252,193,144,14,252,193,146,14,252,193,166,14,252,193,176,14,252,193,182,14,252,193,212,14,252,193,214,14,252,193,90,12,252,193,92,12,252,193,94,12,252,193,96,12,252,193,98,12,252,193,100,12,252,193,102,12,252,193,104,12,252,193,106,12,252,193,108,12,252,193,110,12,252,193,112,12,252,193,114,12,252,193,116,12,252,193,118,12,252,193,120,12,252,193,122,12,252,193,124,12,252,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,193,242,12,252,193,244,12,252,193,246,12,252,193,248,12,252,193,250,12,252,193,252,12,252,193,254,12,252,193,2,13,252,193,4,13,252,193,6,13,252,193,8,13,252,193,10,13,252,193,12,13,252,193,14,13,252,193,16,13,252,193,18,13,252,193,20,13,252,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,193,40,13,252,193,32,14,252,193,156,14,252,193,134,15,252,193,136,15,252,193,138,15,252,193,198,15,252,193,200,15,252,193,2,16,252,193,22,16,252,193,60,16,252,193,230,16,252,193,242,16,252,193,62,17,252,193,120,17,252,193,122,17,252,193,124,17,252,193,126,17,252,193,222,17,252,193,224,17,252,193,226,17,252,193,228,17,252,193,44,18,252,193,46,18,252,193,122,18,252,193,124,18,252,193,126,18,252,193,128,18,252,193,130,18,252,193,132,18,252,193,232,18,252,193,234,18,252,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,193,212,13,252,193,214,13,252,193,216,13,252,193,218,13,252,193,220,13,252,193,222,13,252,193,224,13,252,193,226,13,252,193,228,13,252,193,248,13,252,193,250,13,252,193,252,13,252,193,254,13,252,193,2,14,252,193,4,14,252,193,6,14,252,193,8,14,252,193,10,14,252,193,12,14,252,193,14,14,252,193,16,14,252,193,18,14,252,193,20,14,252,193,22,14,252,193,24,14,252,193,50,14,252,193,52,14,252,193,54,14,252,193,200,13,252,193,202,13,252,193,234,13,252,193,236,13,252,193,238,13,252,193,240,13,252,193,242,13,252,193,34,14,252,193,36,14,252,193,38,14,252,193,40,14,252,193,42,14,252,193,82,14,252,193,84,14,252,193,86,14,252,193,106,14,252,193,132,14,252,193,134,14,252,193,158,14,252,193,174,14,252,193,180,14,252,193,196,14,252,193,198,14,252,193,210,14,252,193,240,14,252,193,242,14,252,193,244,14,252,193,246,14,252,193,40,15,252,193,42,15,252,193,82,15,252,193,84,15,252,193,56,14,252,193,58,14,252,193,60,14,252,193,62,14,252,193,64,14,252,193,66,14,252,193,68,14,252,193,70,14,252,193,90,14,252,193,92,14,252,193,94,14,252,193,96,14,252,193,98,14,252,193,100,14,252,193,102,14,252,193,108,14,252,193,110,14,252,193,112,14,252,193,114,14,252,193,116,14,252,193,118,14,252,193,120,14,252,193,122,14,252,193,136,14,252,193,138,14,252,193,148,14,252,193,150,14,252,193,152,14,252,193,160,14,252,193,162,14,252,193,164,14,252,193,168,14,252,193,74,14,252,193,76,14,252,193,78,14,252,193,80,14,252,193,124,14,252,193,126,14,252,193,128,14,252,193,130,14,252,193,194,14,252,193,230,14,252,193,232,14,252,193,234,14,252,193,236,14,252,193,238,14,252,193,32,15,252,193,34,15,252,193,36,15,252,193,38,15,252,193,72,15,252,193,74,15,252,193,76,15,252,193,78,15,252,193,80,15,252,193,130,15,252,193,132,15,252,193,164,15,252,193,166,15,252,193,168,15,252,193,194,15,252,193,196,15,252,193,248,15,252,193,250,15,252,193,170,14,252,193,172,14,252,193,184,14,252,193,186,14,252,193,188,14,252,193,200,14,252,193,202,14,252,193,204,14,252,193,216,14,252,193,218,14,252,193,220,14,252,193,250,14,252,193,252,14,252,193,254,14,252,193,2,15,252,193,4,15,252,193,6,15,252,193,8,15,252,193,10,15,252,193,12,15,252,193,14,15,252,193,16,15,252,193,18,15,252,193,20,15,252,193,22,15,252,193,50,15,252,193,52,15,252,193,54,15,252,193,56,15,252,193,58,15,252,193,60,15,252,193,62,15,252,193,192,14,252,193,206,14,252,193,208,14,252,193,226,14,252,193,228,14,252,193,26,15,252,193,28,15,252,193,30,15,252,193,70,15,252,193,122,15,252,193,124,15,252,193,126,15,252,193,128,15,252,193,162,15,252,193,188,15,252,193,190,15,252,193,192,15,252,193,246,15,252,193,18,16,252,193,20,16,252,193,72,16,252,193,102,16,252,193,136,16,252,193,152,16,252,193,174,16,252,193,232,16,252,193,240,16,252,193,12,17,252,193,60,17,252,193,112,17,252,193,114,17,252,193,116,17,252,193,248,14,252,193,44,15,252,193,46,15,252,193,48,15,252,193,92,15,252,193,144,15,252,193,206,15,252,193,208,15,252,193,210,15,252,193,4,16,252,193,24,16,252,193,204,16,252,193,28,17,252,193,68,17,252,193,70,17,252,193,72,17,252,193,74,17,252,193,76,17,252,193,132,17,252,193,248,17,252,193,56,18,252,193,58,18,252,193,60,18,252,193,62,18,252,193,64,18,252,193,66,18,252,193,68,18,252,193,150,18,252,193,152,18,252,193,154,18,252,193,156,18,252,193,4,19,252,193,86,15,252,193,88,15,252,193,90,15,252,193,140,15,252,193,142,15,252,193,170,15,252,193,172,15,252,193,202,15,252,193,204,15,252,193,44,16,252,193,74,16,252,193,104,16,252,193,106,16,252,193,110,16,252,193,112,16,252,193,118,16,252,193,120,16,252,193,124,16,252,193,126,16,252,193,154,16,252,193,180,16,252,193,182,16,252,193,198,16,252,193,200,16,252,193,202,16,252,193,208,16,252,193,6,17,252,193,22,17,252,193,40,17,252,193,42,17,252,193,64,17,252,193,66,17,252,193,94,15,252,193,96,15,252,193,98,15,252,193,100,15,252,193,102,15,252,193,104,15,252,193,106,15,252,193,108,15,252,193,110,15,252,193,112,15,252,193,114,15,252,193,116,15,252,193,118,15,252,193,152,117,252,193,146,15,252,193,148,15,252,193,150,15,252,193,152,15,252,193,154,15,252,193,156,15,252,193,158,15,252,193,160,15,252,193,174,15,252,193,176,15,252,193,178,15,252,193,180,15,252,193,182,15,252,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,193,4,71,252,193,6,71,252,193,8,71,252,193,10,71,252,193,12,71,252,193,14,71,252,193,16,71,252,193,18,71,252,193,20,71,252,193,22,71,252,193,60,71,252,193,62,71,252,193,64,71,252,193,66,71,252,193,68,71,252,193,70,71,252,193,72,71,252,193,74,71,252,193,76,71,252,193,78,71,252,193,80,71,252,193,82,71,252,193,84,71,252,193,184,15,252,193,86,71,252,193,88,71,252,193,90,71,252,193,92,71,252,193,94,71,252,193,96,71,252,193,98,71,252,193,100,71,252,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,193,6,16,252,193,8,16,252,193,10,16,252,193,12,16,252,193,26,16,252,193,28,16,252,193,30,16,252,193,32,16,252,193,34,16,252,193,36,16,252,193,38,16,252,193,40,16,252,193,46,16,252,193,48,16,252,193,50,16,252,193,52,16,252,193,54,16,252,193,56,16,252,193,62,16,252,193,64,16,252,193,252,15,252,193,254,15,252,193,42,16,252,193,58,16,252,193,66,16,252,193,90,16,252,193,96,16,252,193,116,16,252,193,138,16,252,193,166,16,252,193,206,16,252,193,216,16,252,193,218,16,252,193,220,16,252,193,222,16,252,193,228,16,252,193,234,16,252,193,236,16,252,193,118,17,252,193,212,17,252,193,214,17,252,193,216,17,252,193,218,17,252,193,220,17,252,193,42,18,252,193,118,18,252,193,120,18,252,193,226,18,252,193,228,18,252,193,230,18,252,193,76,19,252,193,78,19,252,193,68,16,252,193,70,16,252,193,76,16,252,193,78,16,252,193,80,16,252,193,82,16,252,193,84,16,252,193,86,16,252,193,88,16,252,193,92,16,252,193,98,16,252,193,100,16,252,193,108,16,252,193,114,16,252,193,122,16,252,193,128,16,252,193,130,16,252,193,132,16,252,193,134,16,252,193,140,16,252,193,142,16,252,193,144,16,252,193,146,16,252,193,148,16,252,193,150,16,252,193,156,16,252,193,158,16,252,193,160,16,252,193,162,16,252,193,168,16,252,193,170,16,252,193,172,16,252,193,176,16,252,193,178,16,252,193,186,16,252,193,188,16,252,193,190,16,252,193,192,16,252,193,194,16,252,193,196,16,252,193,210,16,252,193,212,16,252,193,214,16,252,193,224,16,252,193,226,16,252,193,238,16,252,193,244,16,252,193,246,16,252,193,248,16,252,193,250,16,252,193,254,16,252,193,2,17,252,193,4,17,252,193,8,17,252,193,10,17,252,193,14,17,252,193,16,17,252,193,18,17,252,193,20,17,252,193,24,17,252,193,30,17,252,193,32,17,252,193,34,17,252,193,36,17,252,193,38,17,252,193,44,17,252,193,46,17,252,193,48,17,252,193,50,17,252,193,52,17,252,193,54,17,252,193,56,17,252,193,58,17,252,193,78,17,252,193,80,17,252,193,82,17,252,193,84,17,252,193,86,17,252,193,88,17,252,193,90,17,252,193,92,17,252,193,94,17,252,193,96,17,252,193,98,17,252,193,100,17,252,193,102,17,252,193,104,17,252,193,106,17,252,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,193,128,17,252,193,130,17,252,193,230,17,252,193,232,17,252,193,234,17,252,193,236,17,252,193,238,17,252,193,240,17,252,193,242,17,252,193,244,17,252,193,246,17,252,193,48,18,252,193,50,18,252,193,52,18,252,193,54,18,252,193,134,18,252,193,136,18,252,193,138,18,252,193,140,18,252,193,142,18,252,193,144,18,252,193,146,18,252,193,148,18,252,193,244,18,252,193,246,18,252,193,248,18,252,193,250,18,252,193,252,18,252,193,254,18,252,193,2,19,252,193,86,19,252,193,188,19,252,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,193,210,17,252,193,116,18,252,193,74,19,252,193,162,19,252,193,164,19,252,193,240,19,252,193,50,20,252,193,98,20,252,193,150,20,252,193,250,20,252,193,4,21,252,193,6,21,252,193,18,21,252,193,24,21,252,193,42,21,252,193,94,21,252,193,124,21,252,193,146,21,252,193,200,21,252,193,220,21,252,193,162,22,252,193,164,22,252,193,166,22,252,193,168,22,252,193,172,23,252,193,174,23,252,193,176,23,252,193,244,24,252,193,246,24,252,193,248,24,252,193,250,24,252,193,252,24,252,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,193,236,18,252,193,238,18,252,193,240,18,252,193,242,18,252,193,80,19,252,193,82,19,252,193,84,19,252,193,172,19,252,193,174,19,252,193,176,19,252,193,178,19,252,193,180,19,252,193,182,19,252,193,184,19,252,193,186,19,252,193,242,19,252,193,244,19,252,193,246,19,252,193,58,20,252,193,154,20,252,193,156,20,252,193,176,20,252,193,214,20,252,193,248,20,252,193,20,21,252,193,26,21,252,193,48,21,252,193,68,21,252,193,98,21,252,193,100,21,252,193,126,21,252,193,128,21,252,193,6,19,252,193,8,19,252,193,10,19,252,193,12,19,252,193,88,19,252,193,90,19,252,193,92,19,252,193,94,19,252,193,96,19,252,193,98,19,252,193,4,20,252,193,6,20,252,193,8,20,252,193,10,20,252,193,12,20,252,193,110,20,252,193,112,20,252,193,160,20,252,193,226,20,252,193,22,21,252,193,84,21,252,193,156,21,252,193,202,21,252,193,210,21,252,193,250,21,252,193,34,22,252,193,36,22,252,193,38,22,252,193,40,22,252,193,120,22,252,193,122,22,252,193,124,22,252,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,193,100,19,252,193,102,19,252,193,104,19,252,193,106,19,252,193,108,19,252,193,110,19,252,193,112,19,252,193,114,19,252,193,116,19,252,193,118,19,252,193,120,19,252,193,122,19,252,193,124,19,252,193,126,19,252,193,128,19,252,193,130,19,252,193,132,19,252,193,134,19,252,193,136,19,252,193,138,19,252,193,140,19,252,193,142,19,252,193,144,19,252,193,146,19,252,193,148,19,252,193,150,19,252,193,152,19,252,193,154,19,252,193,156,19,252,193,158,19,252,193,196,19,252,193,198,19,252,193,200,19,252,193,202,19,252,193,204,19,252,193,206,19,252,193,208,19,252,193,210,19,252,193,212,19,252,193,214,19,252,193,216,19,252,193,218,19,252,193,220,19,252,193,222,19,252,193,224,19,252,193,226,19,252,193,228,19,252,193,230,19,252,193,232,19,252,193,234,19,252,193,236,19,252,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,193,160,19,252,193,238,19,252,193,148,20,252,193,92,21,252,193,122,21,252,193,160,21,252,193,190,21,252,193,198,21,252,193,64,22,252,193,154,22,252,193,156,22,252,193,158,22,252,193,160,22,252,193,164,23,252,193,166,23,252,193,168,23,252,193,170,23,252,193,232,24,252,193,234,24,252,193,236,24,252,193,238,24,252,193,240,24,252,193,242,24,252,193,116,26,252,193,118,26,252,193,120,26,252,193,122,26,252,193,124,26,252,193,126,26,252,193,128,26,252,193,66,28,252,193,68,28,252,193,166,19,252,193,168,19,252,193,170,19,252,193,52,20,252,193,54,20,252,193,56,20,252,193,100,20,252,193,102,20,252,193,104,20,252,193,106,20,252,193,152,20,252,193,174,20,252,193,190,20,252,193,212,20,252,193,222,20,252,193,232,20,252,193,8,21,252,193,36,21,252,193,96,21,252,193,208,21,252,193,212,21,252,193,224,21,252,193,170,22,252,193,172,22,252,193,178,23,252,193,180,23,252,193,182,23,252,193,184,23,252,193,186,23,252,193,254,24,252,193,2,25,252,193,4,25,252,193,190,19,252,193,192,19,252,193,194,19,252,193,248,19,252,193,250,19,252,193,252,19,252,193,254,19,252,193,2,20,252,193,60,20,252,193,62,20,252,193,64,20,252,193,108,20,252,193,158,20,252,193,202,20,252,193,224,20,252,193,236,20,252,193,238,20,252,193,240,20,252,193,244,20,252,193,252,20,252,193,54,21,252,193,56,21,252,193,58,21,252,193,60,21,252,193,62,21,252,193,70,21,252,193,72,21,252,193,78,21,252,193,80,21,252,193,82,21,252,193,102,21,252,193,104,21,252,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,193,66,20,252,193,68,20,252,193,70,20,252,193,72,20,252,193,74,20,252,193,76,20,252,193,78,20,252,193,80,20,252,193,82,20,252,193,84,20,252,193,86,20,252,193,88,20,252,193,90,20,252,193,92,20,252,193,94,20,252,193,96,20,252,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,193,162,20,252,193,164,20,252,193,166,20,252,193,168,20,252,193,170,20,252,193,172,20,252,193,180,20,252,193,182,20,252,193,184,20,252,193,186,20,252,193,188,20,252,193,192,20,252,193,194,20,252,193,196,20,252,193,198,20,252,193,200,20,252,193,204,20,252,193,206,20,252,193,208,20,252,193,210,20,252,193,216,20,252,193,218,20,252,193,220,20,252,193,228,20,252,193,230,20,252,193,234,20,252,193,254,20,252,193,2,21,252,193,10,21,252,193,12,21,252,193,14,21,252,193,16,21,252,193,28,21,252,193,30,21,252,193,32,21,252,193,34,21,252,193,38,21,252,193,40,21,252,193,44,21,252,193,46,21,252,193,50,21,252,193,52,21,252,193,64,21,252,193,66,21,252,193,74,21,252,193,76,21,252,193,86,21,252,193,88,21,252,193,90,21,252,193,112,21,252,193,114,21,252,193,116,21,252,193,118,21,252,193,120,21,252,193,144,21,252,193,174,21,252,193,158,21,252,193,176,21,252,193,178,21,252,193,184,21,252,193,186,21,252,193,188,21,252,193,196,21,252,193,204,21,252,193,206,21,252,193,216,21,252,193,218,21,252,193,222,21,252,193,226,21,252,193,228,21,252,193,236,21,252,193,252,21,252,193,254,21,252,193,2,22,252,193,42,22,252,193,44,22,252,193,46,22,252,193,48,22,252,193,50,22,252,193,52,22,252,193,54,22,252,193,56,22,252,193,58,22,252,193,60,22,252,193,62,22,252,193,148,21,252,193,150,21,252,193,162,21,252,193,180,21,252,193,238,21,252,193,240,21,252,193,4,22,252,193,174,22,252,193,176,22,252,193,178,22,252,193,180,22,252,193,182,22,252,193,188,23,252,193,190,23,252,193,192,23,252,193,194,23,252,193,196,23,252,193,198,23,252,193,30,25,252,193,32,25,252,193,34,25,252,193,36,25,252,193,38,25,252,193,40,25,252,193,42,25,252,193,44,25,252,193,46,25,252,193,48,25,252,193,50,25,252,193,52,25,252,193,166,26,252,193,168,26,252,193,14,22,252,193,16,22,252,193,18,22,252,193,20,22,252,193,22,22,252,193,24,22,252,193,26,22,252,193,28,22,252,193,30,22,252,193,32,22,252,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,193,126,22,252,193,128,22,252,193,130,22,252,193,132,22,252,193,134,22,252,193,136,22,252,193,138,22,252,193,140,22,252,193,142,22,252,193,144,22,252,193,146,22,252,193,148,22,252,193,150,22,252,193,152,22,252,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,193,70,23,252,193,72,23,252,193,74,23,252,193,76,23,252,193,78,23,252,193,80,23,252,193,82,23,252,193,84,23,252,193,86,23,252,193,88,23,252,193,90,23,252,193,110,24,252,193,112,24,252,193,114,24,252,193,116,24,252,193,118,24,252,193,120,24,252,193,122,24,252,193,124,24,252,193,126,24,252,193,128,24,252,193,130,24,252,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,193,54,25,252,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,193,226,125,252,193,92,24,252,193,94,24,252,193,96,24,252,193,98,24,252,193,100,24,252,193,102,24,252,193,104,24,252,193,106,24,252,193,108,24,252,193,56,25,252,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,193,6,25,252,193,8,25,252,193,10,25,252,193,12,25,252,193,14,25,252,193,16,25,252,193,18,25,252,193,20,25,252,193,22,25,252,193,24,25,252,193,26,25,252,193,28,25,252,193,144,26,252,193,146,26,252,193,148,26,252,193,150,26,252,193,152,26,252,193,154,26,252,193,156,26,252,193,158,26,252,193,160,26,252,193,162,26,252,193,164,26,252,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,193,58,25,252,193,60,25,252,193,62,25,252,193,64,25,252,193,66,25,252,193,68,25,252,193,70,25,252,193,72,25,252,193,74,25,252,193,76,25,252,193,78,25,252,193,80,25,252,193,82,25,252,193,192,26,252,193,84,25,252,193,86,25,252,193,88,25,252,193,90,25,252,193,92,25,252,193,94,25,252,193,96,25,252,193,98,25,252,193,194,26,252,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,193,108,27,252,193,110,27,252,193,112,27,252,193,114,27,252,193,116,27,252,193,118,27,252,193,120,27,252,193,122,27,252,193,124,27,252,193,126,27,252,193,128,27,252,193,130,27,252,193,132,27,252,193,134,27,252,193,136,27,252,193,138,27,252,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,192,43,0,206,192,43,0,193,130,26,252,193,132,26,252,193,134,26,252,193,136,26,252,193,138,26,252,193,140,26,252,193,142,26,252,193,96,28,252,193,98,28,252,193,100,28,252,193,102,28,252,193,104,28,252,193,106,28,252,193,108,28,252,193,110,28,252,193,112,28,252,193,114,28,252,193,116,28,252,193,118,28,252,193,120,28,252,193,122,28,252,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,193,170,26,252,193,172,26,252,193,174,26,252,193,176,26,252,193,178,26,252,193,180,26,252,193,182,26,252,193,184,26,252,193,186,26,252,193,188,26,252,193,190,26,252,193,158,28,252,193,160,28,252,193,162,28,252,193,164,28,252,193,166,28,252,193,168,28,252,193,170,28,252,193,172,28,252,193,174,28,252,193,176,28,252,193,178,28,252,193,180,28,252,193,182,28,252,193,184,28,252,193,186,28,252,193,188,28,252,193,190,28,252,193,192,28,252,193,86,31,252,193,88,31,252,193,90,31,252,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,193,194,28,252,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,193,64,28,252,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,193,70,28,252,193,72,28,252,193,74,28,252,193,76,28,252,193,78,28,252,193,80,28,252,193,82,28,252,193,84,28,252,193,86,28,252,193,88,28,252,193,90,28,252,193,92,28,252,193,230,30,252,193,232,30,252,193,234,30,252,193,236,30,252,193,238,30,252,193,240,30,252,193,242,30,252,193,244,30,252,193,246,30,252,193,248,30,252,193,250,30,252,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,193,32,31,252,193,34,31,252,193,36,31,252,193,38,31,252,193,40,31,252,193,42,31,252,193,44,31,252,193,46,31,252,193,48,31,252,193,50,31,252,193,52,31,252,193,54,31,252,193,56,31,252,193,58,31,252,193,60,31,252,193,62,31,252,193,64,31,252,193,66,31,252,193,68,31,252,193,70,31,252,193,72,31,252,193,74,31,252,193,76,31,252,193,78,31,252,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,193,116,31,252,193,120,29,252,193,122,29,252,193,124,29,252,193,126,29,252,193,128,29,252,193,130,29,252,193,132,29,252,193,134,29,252,193,136,29,252,193,138,29,252,193,140,29,252,193,142,29,252,193,144,29,252,193,146,29,252,193,148,29,252,193,150,29,252,193,152,29,252,193,154,29,252,193,156,29,252,193,158,29,252,193,118,31,252,193,120,31,252,193,160,29,252,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,193,162,29,252,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,193,228,30,252,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,193,120,33,252,193,122,33,252,193,124,33,252,193,126,33,252,193,128,33,252,193,130,33,252,193,132,33,252,193,134,33,252,193,136,33,252,193,138,33,252,193,140,33,252,193,142,33,252,193,144,33,252,193,146,33,252,193,148,33,252,193,150,33,252,193,152,33,252,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,193,80,31,252,193,82,31,252,193,84,31,252,193,154,33,252,193,156,33,252,193,158,33,252,193,160,33,252,193,162,33,252,193,164,33,252,193,166,33,252,193,168,33,252,193,170,33,252,193,172,33,252,193,174,33,252,193,176,33,252,193,178,33,252,193,180,33,252,193,182,33,252,193,184,33,252,193,186,33,252,193,188,33,252,193,190,33,252,193,192,33,252,193,194,33,252,193,196,33,252,193,198,33,252,193,200,33,252,193,202,33,252,193,204,33,252,193,206,33,252,193,208,33,252,193,210,33,252,193,92,31,252,193,94,31,252,193,96,31,252,193,98,31,252,193,100,31,252,193,102,31,252,193,104,31,252,193,106,31,252,193,108,31,252,193,110,31,252,193,112,31,252,193,114,31,252,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,193,94,32,252,193,100,36,252,193,136,34,252,193,138,34,252,193,140,34,252,193,142,34,252,193,144,34,252,193,146,34,252,193,148,34,252,193,150,34,252,193,152,34,252,193,154,34,252,193,156,34,252,193,158,34,252,193,160,34,252,193,102,36,252,193,162,34,252,193,164,34,252,193,166,34,252,193,96,32,252,193,168,34,252,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,193,194,34,252,193,196,34,252,193,198,34,252,193,200,34,252,193,202,34,252,193,204,34,252,193,206,34,252,193,208,34,252,193,210,34,252,193,212,34,252,193,214,34,252,193,216,34,252,193,218,34,252,193,220,34,252,193,222,34,252,193,224,34,252,193,226,34,252,193,228,34,252,193,230,34,252,193,232,34,252,193,234,34,252,193,236,34,252,193,238,34,252,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,193,212,35,252,193,214,35,252,193,216,35,252,193,218,35,252,193,220,35,252,193,222,35,252,193,224,35,252,193,226,35,252,193,228,35,252,193,230,35,252,193,232,35,252,193,234,35,252,193,236,35,252,193,238,35,252,193,240,35,252,193,242,35,252,193,244,35,252,193,246,35,252,193,248,35,252,193,250,35,252,193,252,35,252,193,48,38,252,193,212,33,252,193,214,33,252,193,36,36,252,193,38,36,252,193,40,36,252,193,42,36,252,193,44,36,252,193,46,36,252,193,48,36,252,193,50,36,252,193,52,36,252,193,54,36,252,193,56,36,252,193,58,36,252,193,60,36,252,193,62,36,252,193,64,36,252,193,66,36,252,193,68,36,252,193,70,36,252,193,72,36,252,193,74,36,252,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,193,76,36,252,193,78,36,252,193,80,36,252,193,82,36,252,193,84,36,252,193,86,36,252,193,88,36,252,193,90,36,252,193,92,36,252,193,94,36,252,193,96,36,252,193,98,36,252,193,154,38,252,193,156,38,252,193,158,38,252,193,160,38,252,193,162,38,252,193,164,38,252,193,166,38,252,193,168,38,252,193,170,38,252,193,172,38,252,193,174,38,252,193,176,38,252,193,178,38,252,193,180,38,252,193,182,38,252,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,193,170,34,252,193,172,34,252,193,174,34,252,193,176,34,252,193,178,34,252,193,180,34,252,193,182,34,252,193,184,34,252,193,186,34,252,193,188,34,252,193,190,34,252,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,193,190,38,252,193,168,36,252,193,170,36,252,193,172,36,252,193,174,36,252,193,176,36,252,193,178,36,252,193,180,36,252,193,192,34,252,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,193,210,35,252,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,193,72,38,252,193,74,38,252,193,76,38,252,193,78,38,252,193,80,38,252,193,82,38,252,193,84,38,252,193,86,38,252,193,88,38,252,193,90,38,252,193,92,38,252,193,94,38,252,193,96,38,252,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,193,192,38,252,193,10,37,252,193,12,37,252,193,14,37,252,193,16,37,252,193,18,37,252,193,20,37,252,193,22,37,252,193,24,37,252,193,26,37,252,193,28,37,252,193,30,37,252,193,32,37,252,193,34,37,252,193,36,37,252,193,38,37,252,193,40,37,252,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,193,100,39,252,193,102,39,252,193,104,39,252,193,106,39,252,193,108,39,252,193,110,39,252,193,112,39,252,193,114,39,252,193,116,39,252,193,118,39,252,193,120,39,252,193,122,39,252,193,124,39,252,193,126,39,252,193,128,39,252,193,130,39,252,193,132,39,252,193,134,39,252,193,136,39,252,193,160,41,252,193,162,41,252,193,164,41,252,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,193,138,39,252,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,193,232,37,252,193,234,37,252,193,236,37,252,193,238,37,252,193,240,37,252,193,242,37,252,193,244,37,252,193,246,37,252,193,248,37,252,193,250,37,252,193,252,37,252,193,254,37,252,193,2,38,252,193,4,38,252,193,6,38,252,193,8,38,252,193,10,38,252,193,12,38,252,193,14,38,252,193,16,38,252,193,18,38,252,193,20,38,252,193,22,38,252,193,24,38,252,193,26,38,252,193,28,38,252,193,30,38,252,193,32,38,252,193,34,38,252,193,36,38,252,193,38,38,252,193,40,38,252,193,42,38,252,193,44,38,252,193,46,38,252,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,193,50,38,252,193,52,38,252,193,54,38,252,193,56,38,252,193,58,38,252,193,60,38,252,193,62,38,252,193,64,38,252,193,66,38,252,193,68,38,252,193,70,38,252,193,142,40,252,193,144,40,252,193,146,40,252,193,148,40,252,193,150,40,252,193,152,40,252,193,154,40,252,193,156,40,252,193,158,40,252,193,160,40,252,193,162,40,252,193,164,40,252,193,166,40,252,193,168,40,252,193,170,40,252,193,172,40,252,193,174,40,252,193,176,40,252,193,130,42,252,193,132,42,252,193,134,42,252,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,193,184,38,252,193,186,38,252,193,188,38,252,193,22,41,252,193,24,41,252,193,26,41,252,193,28,41,252,193,30,41,252,193,32,41,252,193,34,41,252,193,36,41,252,193,38,41,252,193,40,41,252,193,42,41,252,193,44,41,252,193,46,41,252,193,48,41,252,193,208,42,252,193,210,42,252,193,212,42,252,193,214,42,252,193,216,42,252,193,218,42,252,193,220,42,252,193,222,42,252,193,18,44,252,193,20,44,252,193,22,44,252,193,24,44,252,193,26,44,252,193,28,44,252,193,30,44,252,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,193,224,42,252,193,40,39,252,193,42,39,252,193,44,39,252,193,46,39,252,193,48,39,252,193,50,39,252,193,52,39,252,193,54,39,252,193,56,39,252,193,58,39,252,193,60,39,252,193,62,39,252,193,64,39,252,193,66,39,252,193,68,39,252,193,70,39,252,193,72,39,252,193,74,39,252,193,76,39,252,193,78,39,252,193,80,39,252,193,82,39,252,193,84,39,252,193,86,39,252,193,50,41,252,193,88,39,252,193,90,39,252,193,92,39,252,193,94,39,252,193,52,41,252,193,54,41,252,193,120,41,252,193,122,41,252,193,124,41,252,193,126,41,252,193,128,41,252,193,130,41,252,193,132,41,252,193,134,41,252,193,136,41,252,193,138,41,252,193,140,41,252,193,142,41,252,193,144,41,252,193,146,41,252,193,148,41,252,193,150,41,252,193,96,39,252,193,152,41,252,193,154,41,252,193,156,41,252,193,226,42,252,193,228,42,252,193,158,41,252,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,193,196,41,252,193,90,40,252,193,92,40,252,193,94,40,252,193,96,40,252,193,98,40,252,193,100,40,252,193,102,40,252,193,104,40,252,193,106,40,252,193,108,40,252,193,110,40,252,193,112,40,252,193,114,40,252,193,116,40,252,193,118,40,252,193,120,40,252,193,122,40,252,193,124,40,252,193,126,40,252,193,128,40,252,193,130,40,252,193,132,40,252,193,70,43,252,193,134,40,252,193,136,40,252,193,138,40,252,193,140,40,252,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,193,154,42,252,193,156,42,252,193,158,42,252,193,160,42,252,193,162,42,252,193,164,42,252,193,166,42,252,193,168,42,252,193,170,42,252,193,172,42,252,193,174,42,252,193,216,43,252,193,218,43,252,193,220,43,252,193,222,43,252,193,224,43,252,193,226,43,252,193,228,43,252,193,230,43,252,193,28,45,252,193,30,45,252,193,32,45,252,193,34,45,252,193,20,46,252,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,193,176,42,252,193,178,42,252,193,180,42,252,193,182,42,252,193,184,42,252,193,186,42,252,193,188,42,252,193,190,42,252,193,192,42,252,193,194,42,252,193,196,42,252,193,198,42,252,193,200,42,252,193,202,42,252,193,204,42,252,193,206,42,252,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,193,56,41,252,193,58,41,252,193,60,41,252,193,62,41,252,193,64,41,252,193,66,41,252,193,68,41,252,193,70,41,252,193,72,41,252,193,74,41,252,193,76,41,252,193,78,41,252,193,80,41,252,193,82,41,252,193,84,41,252,193,86,41,252,193,88,41,252,193,90,41,252,193,92,41,252,193,94,41,252,193,96,41,252,193,98,41,252,193,100,41,252,193,102,41,252,193,104,41,252,193,106,41,252,193,108,41,252,193,110,41,252,193,112,41,252,193,114,41,252,193,116,41,252,193,118,41,252,193,166,41,252,193,168,41,252,193,170,41,252,193,172,41,252,193,174,41,252,193,176,41,252,193,178,41,252,193,180,41,252,193,182,41,252,193,184,41,252,193,186,41,252,193,188,41,252,193,190,41,252,193,192,41,252,193,194,41,252,193,42,43,252,193,44,43,252,193,46,43,252,193,48,43,252,193,50,43,252,193,52,43,252,193,54,43,252,193,56,43,252,193,58,43,252,193,60,43,252,193,62,43,252,193,64,43,252,193,66,43,252,193,68,43,252,193,92,44,252,193,94,44,252,193,96,44,252,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,193,136,42,252,193,138,42,252,193,140,42,252,193,142,42,252,193,144,42,252,193,146,42,252,193,148,42,252,193,150,42,252,193,194,43,252,193,196,43,252,193,198,43,252,193,200,43,252,193,202,43,252,193,204,43,252,193,206,43,252,193,208,43,252,193,210,43,252,193,212,43,252,193,214,43,252,193,14,45,252,193,16,45,252,193,18,45,252,193,20,45,252,193,22,45,252,193,24,45,252,193,26,45,252,193,6,46,252,193,8,46,252,193,10,46,252,193,12,46,252,193,14,46,252,193,16,46,252,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,193,80,45,252,193,32,43,252,193,34,43,252,193,36,43,252,193,38,43,252,193,40,43,252,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,193,106,44,252,193,190,43,252,193,192,43,252,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,193,36,45,252,193,38,45,252,193,40,45,252,193,42,45,252,193,44,45,252,193,46,45,252,193,48,45,252,193,50,45,252,193,52,45,252,193,54,45,252,193,56,45,252,193,58,45,252,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,193,32,44,252,193,34,44,252,193,60,45,252,193,62,45,252,193,64,45,252,193,66,45,252,193,68,45,252,193,70,45,252,193,72,45,252,193,74,45,252,193,76,45,252,193,78,45,252,193,64,46,252,193,66,46,252,193,68,46,252,193,70,46,252,193,224,46,252,193,226,46,252,193,128,47,252,193,204,47,252,193,206,47,252,193,130,48,252,193,198,48,252,193,40,49,252,193,42,49,252,193,44,49,252,193,46,49,252,193,48,49,252,193,50,49,252,193,228,49,252,193,230,49,252,193,232,49,252,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,193,98,44,252,193,100,44,252,193,102,44,252,193,104,44,252,193,134,45,252,193,136,45,252,193,138,45,252,193,140,45,252,193,142,45,252,193,144,45,252,193,146,45,252,193,148,45,252,193,110,46,252,193,112,46,252,193,114,46,252,193,116,46,252,193,118,46,252,193,120,46,252,193,2,47,252,193,4,47,252,193,6,47,252,193,8,47,252,193,10,47,252,193,12,47,252,193,14,47,252,193,146,47,252,193,148,47,252,193,216,47,252,193,218,47,252,193,220,47,252,193,26,48,252,193,28,48,252,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,193,150,45,252,193,228,44,252,193,230,44,252,193,232,44,252,193,152,45,252,193,234,44,252,193,236,44,252,193,238,44,252,193,240,44,252,193,242,44,252,193,244,44,252,193,246,44,252,193,248,44,252,193,250,44,252,193,252,44,252,193,254,44,252,193,2,45,252,193,4,45,252,193,6,45,252,193,8,45,252,193,10,45,252,193,12,45,252,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,193,72,46,252,193,74,46,252,193,76,46,252,193,78,46,252,193,80,46,252,193,82,46,252,193,84,46,252,193,86,46,252,193,88,46,252,193,90,46,252,193,92,46,252,193,94,46,252,193,96,46,252,193,98,46,252,193,100,46,252,193,102,46,252,193,104,46,252,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,193,22,46,252,193,24,46,252,193,26,46,252,193,28,46,252,193,30,46,252,193,204,46,252,193,206,46,252,193,208,46,252,193,210,46,252,193,212,46,252,193,214,46,252,193,108,47,252,193,110,47,252,193,112,47,252,193,194,47,252,193,196,47,252,193,50,48,252,193,52,48,252,193,126,48,252,193,138,48,252,193,16,49,252,193,18,49,252,193,20,49,252,193,22,49,252,193,24,49,252,193,26,49,252,193,28,49,252,193,196,49,252,193,198,49,252,193,200,49,252,193,202,49,252,193,204,49,252,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,193,216,46,252,193,218,46,252,193,220,46,252,193,222,46,252,193,114,47,252,193,116,47,252,193,118,47,252,193,120,47,252,193,122,47,252,193,124,47,252,193,126,47,252,193,198,47,252,193,200,47,252,193,202,47,252,193,54,48,252,193,56,48,252,193,58,48,252,193,60,48,252,193,134,48,252,193,152,48,252,193,106,46,252,193,108,46,252,193,228,46,252,193,230,46,252,193,232,46,252,193,234,46,252,193,236,46,252,193,238,46,252,193,240,46,252,193,242,46,252,193,244,46,252,193,246,46,252,193,248,46,252,193,250,46,252,193,80,48,252,193,252,46,252,193,254,46,252,193,130,47,252,193,132,47,252,193,134,47,252,193,136,47,252,193,138,47,252,193,140,47,252,193,142,47,252,193,144,47,252,193,208,47,252,193,210,47,252,193,212,47,252,193,214,47,252,193,16,48,252,193,18,48,252,193,20,48,252,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,193,198,46,252,193,200,46,252,193,202,46,252,193,98,47,252,193,100,47,252,193,102,47,252,193,104,47,252,193,106,47,252,193,190,47,252,193,192,47,252,193,12,48,252,193,14,48,252,193,48,48,252,193,150,48,252,193,10,49,252,193,12,49,252,193,14,49,252,193,182,49,252,193,184,49,252,193,186,49,252,193,188,49,252,193,190,49,252,193,192,49,252,193,194,49,252,193,174,50,252,193,176,50,252,193,178,50,252,193,180,50,252,193,182,50,252,193,184,50,252,193,186,50,252,193,188,50,252,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,193,222,47,252,193,224,47,252,193,226,47,252,193,228,47,252,193,230,47,252,193,232,47,252,193,234,47,252,193,236,47,252,193,238,47,252,193,240,47,252,193,242,47,252,193,244,47,252,193,246,47,252,193,248,47,252,193,250,47,252,193,252,47,252,193,254,47,252,193,2,48,252,193,4,48,252,193,6,48,252,193,8,48,252,193,10,48,252,193,22,48,252,193,24,48,252,193,62,48,252,193,64,48,252,193,82,48,252,193,84,48,252,193,86,48,252,193,104,48,252,193,106,48,252,193,128,48,252,193,132,48,252,193,142,48,252,193,144,48,252,193,146,48,252,193,154,48,252,193,156,48,252,193,158,48,252,193,160,48,252,193,162,48,252,193,164,48,252,193,200,48,252,193,202,48,252,193,204,48,252,193,206,48,252,193,208,48,252,193,210,48,252,193,212,48,252,193,214,48,252,193,216,48,252,193,218,48,252,193,220,48,252,193,222,48,252,193,30,48,252,193,32,48,252,193,34,48,252,193,36,48,252,193,38,48,252,193,40,48,252,193,42,48,252,193,44,48,252,193,46,48,252,193,66,48,252,193,68,48,252,193,70,48,252,193,72,48,252,193,74,48,252,193,76,48,252,193,78,48,252,193,90,48,252,193,92,48,252,193,94,48,252,193,96,48,252,193,98,48,252,193,100,48,252,193,102,48,252,193,108,48,252,193,110,48,252,193,112,48,252,193,114,48,252,193,116,48,252,193,118,48,252,193,120,48,252,193,122,48,252,193,124,48,252,193,88,48,252,193,168,48,252,193,170,48,252,193,226,48,252,193,228,48,252,193,230,48,252,193,110,49,252,193,112,49,252,193,114,49,252,193,116,49,252,193,118,49,252,193,56,50,252,193,58,50,252,193,60,50,252,193,62,50,252,193,64,50,252,193,66,50,252,193,68,50,252,193,70,50,252,193,64,51,252,193,66,51,252,193,68,51,252,193,70,51,252,193,72,51,252,193,74,51,252,193,110,52,252,193,112,52,252,193,114,52,252,193,116,52,252,193,118,52,252,193,120,52,252,193,122,52,252,193,136,48,252,193,140,48,252,193,148,48,252,193,172,48,252,193,174,48,252,193,176,48,252,193,178,48,252,193,180,48,252,193,182,48,252,193,184,48,252,193,186,48,252,193,188,48,252,193,190,48,252,193,232,48,252,193,234,48,252,193,236,48,252,193,238,48,252,193,240,48,252,193,242,48,252,193,244,48,252,193,246,48,252,193,248,48,252,193,250,48,252,193,252,48,252,193,254,48,252,193,2,49,252,193,4,49,252,193,6,49,252,193,8,49,252,193,120,49,252,193,122,49,252,193,124,49,252,193,224,48,252,193,52,49,252,193,54,49,252,193,56,49,252,193,58,49,252,193,60,49,252,193,62,49,252,193,166,48,252,193,64,49,252,193,66,49,252,193,68,49,252,193,70,49,252,193,72,49,252,193,74,49,252,193,76,49,252,193,78,49,252,193,80,49,252,193,82,49,252,193,84,49,252,193,86,49,252,193,88,49,252,193,90,49,252,193,92,49,252,193,94,49,252,193,96,49,252,193,98,49,252,193,100,49,252,193,102,49,252,193,104,49,252,193,106,49,252,193,108,49,252,193,236,49,252,193,192,48,252,193,194,48,252,193,196,48,252,193,30,49,252,193,32,49,252,193,34,49,252,193,36,49,252,193,38,49,252,193,208,49,252,193,210,49,252,193,212,49,252,193,214,49,252,193,216,49,252,193,218,49,252,193,220,49,252,193,222,49,252,193,224,49,252,193,226,49,252,193,200,50,252,193,202,50,252,193,204,50,252,193,206,50,252,193,208,50,252,193,210,50,252,193,212,50,252,193,214,50,252,193,216,50,252,206,0,49,0,206,0,49,0,206,0,49,0,206,0,49,0,206,0,49,0,193,126,49,252,193,128,49,252,193,130,49,252,193,132,49,252,193,134,49,252,193,136,49,252,193,138,49,252,193,140,49,252,193,142,49,252,193,144,49,252,193,146,49,252,193,148,49,252,193,150,49,252,193,152,49,252,193,154,49,252,193,156,49,252,193,158,49,252,193,160,49,252,193,162,49,252,193,164,49,252,193,166,49,252,193,168,49,252,193,170,49,252,193,172,49,252,193,174,49,252,193,176,49,252,193,178,49,252,193,180,49,252,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,193,206,49,252,193,196,50,252,193,198,50,252,193,202,51,252,193,204,51,252,193,206,51,252,193,208,51,252,193,210,51,252,193,212,51,252,193,14,53,252,193,16,53,252,193,18,53,252,193,20,53,252,193,22,53,252,193,24,53,252,193,26,53,252,193,28,53,252,193,30,53,252,193,32,53,252,193,34,53,252,193,36,53,252,193,38,53,252,193,40,53,252,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,193,234,49,252,193,218,50,252,193,220,50,252,193,222,50,252,193,224,50,252,193,226,50,252,193,228,50,252,193,230,50,252,193,236,51,252,193,238,51,252,193,240,51,252,193,242,51,252,193,244,51,252,193,246,51,252,193,248,51,252,193,250,51,252,193,252,51,252,193,254,51,252,193,2,52,252,193,4,52,252,193,6,52,252,193,8,52,252,193,10,52,252,193,12,52,252,193,14,52,252,193,16,52,252,193,18,52,252,193,20,52,252,193,22,52,252,193,24,52,252,193,26,52,252,193,78,53,252,193,238,49,252,193,240,49,252,193,242,49,252,193,244,49,252,193,246,49,252,193,248,49,252,193,250,49,252,193,252,49,252,193,254,49,252,193,2,50,252,193,4,50,252,193,6,50,252,193,8,50,252,193,10,50,252,193,12,50,252,193,14,50,252,193,16,50,252,193,18,50,252,193,20,50,252,193,22,50,252,193,24,50,252,193,26,50,252,193,28,50,252,193,30,50,252,193,32,50,252,193,34,50,252,193,36,50,252,193,38,50,252,193,40,50,252,193,42,50,252,193,44,50,252,193,46,50,252,193,48,50,252,193,50,50,252,193,52,50,252,193,54,50,252,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,193,190,50,252,193,192,50,252,193,194,50,252,193,184,51,252,193,186,51,252,193,188,51,252,193,190,51,252,193,192,51,252,193,194,51,252,193,196,51,252,193,198,51,252,193,250,52,252,193,252,52,252,193,254,52,252,193,2,53,252,193,4,53,252,193,6,53,252,193,8,53,252,193,10,53,252,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,193,128,52,252,193,130,52,252,193,132,52,252,193,134,52,252,193,136,52,252,193,138,52,252,193,140,52,252,193,142,52,252,193,144,52,252,193,146,52,252,193,148,52,252,193,150,52,252,193,152,52,252,193,154,52,252,193,156,52,252,193,158,52,252,193,160,52,252,193,162,52,252,193,164,52,252,193,166,52,252,193,168,52,252,193,170,52,252,193,172,52,252,193,174,52,252,193,176,52,252,193,178,52,252,193,180,52,252,206,0,49,0,206,0,49,0,206,0,49,0,206,0,49,0,206,0,49,0,206,0,49,0,193,42,53,252,193,44,53,252,193,46,53,252,193,48,53,252,193,50,53,252,193,52,53,252,193,54,53,252,193,56,53,252,193,58,53,252,193,60,53,252,193,62,53,252,193,64,53,252,193,66,53,252,193,68,53,252,193,70,53,252,193,72,53,252,193,74,53,252,193,76,53,252,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,193,106,53,252,193,102,52,252,193,104,52,252,193,106,52,252,193,108,52,252,193,108,53,252,193,110,53,252,193,112,53,252,193,114,53,252,193,116,53,252,193,118,53,252,193,120,53,252,193,124,52,252,193,126,52,252,193,190,53,252,193,192,53,252,193,194,53,252,193,196,53,252,193,198,53,252,193,200,53,252,193,202,53,252,193,204,53,252,193,206,53,252,193,208,53,252,193,210,53,252,193,212,53,252,193,110,55,252,193,112,55,252,193,114,55,252,193,116,55,252,193,118,55,252,193,120,55,252,193,122,55,252,193,124,55,252,193,126,55,252,193,128,55,252,193,130,55,252,193,132,55,252,193,134,55,252,193,136,55,252,193,138,55,252,193,140,55,252,193,142,55,252,193,250,56,252,193,182,52,252,193,184,52,252,193,186,52,252,193,188,52,252,193,190,52,252,193,192,52,252,193,194,52,252,193,196,52,252,193,198,52,252,193,200,52,252,193,202,52,252,193,204,52,252,193,206,52,252,193,208,52,252,193,210,52,252,193,212,52,252,193,214,52,252,193,216,52,252,193,218,52,252,193,220,52,252,193,222,52,252,193,224,52,252,193,226,52,252,193,228,52,252,193,230,52,252,193,232,52,252,193,234,52,252,193,236,52,252,193,238,52,252,193,240,52,252,193,242,52,252,193,244,52,252,193,246,52,252,193,248,52,252,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,193,12,53,252,193,192,57,252,193,84,69,252,193,132,73,252,193,132,75,252,193,94,80,252,193,244,81,252,193,216,83,252,193,214,85,252,193,162,86,252,193,220,92,252,193,226,95,252,193,40,100,252,193,192,103,252,193,152,107,252,193,214,110,252,193,2,111,252,193,232,111,252,193,108,115,252,193,56,116,252,193,128,136,252,193,24,137,252,193,114,139,252,193,154,142,252,193,232,143,252,193,42,148,252,193,84,152,252,193,132,152,252,193,52,153,252,193,148,160,252,193,150,160,252,193,152,160,252,193,80,53,252,193,82,53,252,193,84,53,252,193,86,53,252,193,88,53,252,193,90,53,252,193,92,53,252,193,94,53,252,193,96,53,252,193,98,53,252,193,100,53,252,193,102,53,252,193,104,53,252,193,224,54,252,193,226,54,252,193,228,54,252,193,230,54,252,193,232,54,252,193,234,54,252,193,236,54,252,193,238,54,252,193,240,54,252,193,242,54,252,193,244,54,252,193,246,54,252,193,248,54,252,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,193,122,53,252,193,124,53,252,193,126,53,252,193,128,53,252,193,130,53,252,193,132,53,252,193,134,53,252,193,136,53,252,193,138,53,252,193,140,53,252,193,142,53,252,193,144,53,252,193,146,53,252,193,148,53,252,193,150,53,252,193,152,53,252,193,154,53,252,193,156,53,252,193,158,53,252,193,160,53,252,193,162,53,252,193,164,53,252,193,166,53,252,193,168,53,252,193,170,53,252,193,172,53,252,193,174,53,252,193,176,53,252,193,178,53,252,193,180,53,252,193,182,53,252,193,184,53,252,193,186,53,252,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,193,188,53,252,193,86,55,252,193,88,55,252,193,90,55,252,193,92,55,252,193,94,55,252,193,96,55,252,193,98,55,252,193,100,55,252,193,102,55,252,193,104,55,252,193,182,56,252,193,106,55,252,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,193,60,56,252,193,62,56,252,193,64,56,252,193,66,56,252,193,68,56,252,193,70,56,252,193,72,56,252,193,74,56,252,193,76,56,252,193,78,56,252,193,80,56,252,193,82,56,252,193,84,56,252,193,86,56,252,193,162,57,252,193,164,57,252,193,166,57,252,193,168,57,252,193,170,57,252,193,172,57,252,193,174,57,252,193,176,57,252,193,178,57,252,193,180,57,252,193,182,57,252,193,184,57,252,193,186,57,252,193,188,57,252,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,193,88,56,252,193,90,56,252,193,92,56,252,193,94,56,252,193,96,56,252,193,98,56,252,193,100,56,252,193,102,56,252,193,104,56,252,193,194,57,252,193,196,57,252,193,198,57,252,193,200,57,252,193,202,57,252,193,204,57,252,193,206,57,252,193,208,57,252,193,210,57,252,193,212,57,252,193,214,57,252,193,216,57,252,193,218,57,252,193,8,59,252,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,193,106,56,252,193,108,56,252,193,110,56,252,193,112,56,252,193,114,56,252,193,116,56,252,193,118,56,252,193,120,56,252,193,122,56,252,193,124,56,252,193,126,56,252,193,128,56,252,193,130,56,252,193,132,56,252,193,134,56,252,193,136,56,252,193,138,56,252,193,140,56,252,193,142,56,252,193,144,56,252,193,146,56,252,193,148,56,252,193,150,56,252,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,193,4,184,253,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,193,58,56,252,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,193,152,56,252,193,154,56,252,193,220,57,252,193,222,57,252,193,224,57,252,193,226,57,252,193,228,57,252,193,230,57,252,193,232,57,252,193,234,57,252,193,236,57,252,193,238,57,252,193,240,57,252,193,242,57,252,193,244,57,252,193,246,57,252,193,248,57,252,193,250,57,252,193,252,57,252,193,20,59,252,193,22,59,252,193,24,59,252,193,26,59,252,193,28,59,252,193,30,59,252,193,32,59,252,193,34,59,252,193,36,59,252,193,38,59,252,193,120,60,252,193,122,60,252,193,124,60,252,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,193,254,57,252,193,2,58,252,193,4,58,252,193,6,58,252,193,8,58,252,193,10,58,252,193,12,58,252,193,14,58,252,193,16,58,252,193,40,59,252,193,42,59,252,193,44,59,252,193,46,59,252,193,48,59,252,193,50,59,252,193,52,59,252,193,54,59,252,193,56,59,252,193,150,60,252,193,152,60,252,193,154,60,252,193,156,60,252,193,158,60,252,193,160,60,252,193,162,60,252,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,160,50,0,206,160,50,0,206,160,50,0,206,160,50,0,206,160,50,0,206,160,50,0,206,160,50,0,206,160,50,0,193,246,56,252,193,42,58,252,193,44,58,252,193,46,58,252,193,48,58,252,193,50,58,252,193,52,58,252,193,54,58,252,193,56,58,252,193,58,58,252,193,60,58,252,193,62,58,252,193,64,58,252,193,66,58,252,193,68,58,252,193,70,58,252,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,193,248,56,252,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,193,252,56,252,193,254,56,252,193,2,57,252,193,4,57,252,193,6,57,252,193,8,57,252,193,10,57,252,193,12,57,252,193,14,57,252,193,16,57,252,193,18,57,252,193,78,58,252,193,80,58,252,193,82,58,252,193,84,58,252,193,86,58,252,193,88,58,252,193,90,58,252,193,92,58,252,193,140,59,252,193,142,59,252,193,144,59,252,193,146,59,252,193,148,59,252,193,150,59,252,193,152,59,252,193,154,59,252,193,156,59,252,193,158,59,252,193,160,59,252,193,222,60,252,193,224,60,252,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,193,94,58,252,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,193,190,57,252,193,244,58,252,193,246,58,252,193,248,58,252,193,250,58,252,193,252,58,252,193,254,58,252,193,2,59,252,193,4,59,252,193,6,59,252,193,84,60,252,193,86,60,252,193,88,60,252,193,90,60,252,193,92,60,252,193,94,60,252,193,96,60,252,193,98,60,252,193,100,60,252,193,102,60,252,193,74,61,252,193,76,61,252,193,78,61,252,193,80,61,252,193,82,61,252,193,84,61,252,193,86,61,252,193,88,61,252,193,6,62,252,193,8,62,252,193,10,62,252,193,12,62,252,193,160,213,253,193,172,213,253,193,198,213,253,193,210,213,253,193,212,213,253,193,220,213,253,193,222,213,253,193,238,213,253,193,240,213,253,193,242,213,253,193,250,213,253,193,252,213,253,193,110,214,253,193,124,214,253,193,132,214,253,193,158,214,253,193,218,214,253,193,252,214,253,193,254,214,253,193,18,215,253,193,40,215,253,193,42,215,253,193,44,215,253,193,46,215,253,193,48,215,253,193,72,58,252,193,84,215,253,193,86,215,253,193,88,215,253,193,90,215,253,193,92,215,253,193,128,215,253,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,193,162,59,252,193,146,58,252,193,148,58,252,193,150,58,252,193,152,58,252,193,154,58,252,193,156,58,252,193,158,58,252,193,160,58,252,193,162,58,252,193,164,58,252,193,166,58,252,193,168,58,252,193,170,58,252,193,172,58,252,193,174,58,252,193,176,58,252,193,178,58,252,193,180,58,252,193,182,58,252,193,184,58,252,193,186,58,252,193,188,58,252,193,96,236,252,193,190,58,252,193,228,140,253,193,192,58,252,193,194,58,252,193,196,58,252,193,198,58,252,193,200,58,252,193,202,58,252,193,204,58,252,193,206,58,252,193,208,58,252,193,210,58,252,193,212,58,252,193,214,58,252,193,216,58,252,193,218,58,252,193,220,58,252,193,222,58,252,193,224,58,252,193,226,58,252,193,228,58,252,193,230,58,252,193,232,58,252,193,234,58,252,193,236,58,252,193,238,58,252,193,240,58,252,193,242,58,252,193,164,59,252,193,166,59,252,193,168,59,252,193,10,59,252,193,12,59,252,193,14,59,252,193,16,59,252,193,18,59,252,193,104,60,252,193,106,60,252,193,108,60,252,193,110,60,252,193,112,60,252,193,114,60,252,193,116,60,252,193,118,60,252,193,90,61,252,193,92,61,252,193,94,61,252,193,96,61,252,193,16,62,252,193,18,62,252,193,20,62,252,193,148,62,252,193,150,62,252,193,152,62,252,193,154,62,252,193,156,62,252,193,44,63,252,193,46,63,252,193,48,63,252,193,50,63,252,193,52,63,252,193,214,63,252,193,6,64,252,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,193,170,60,252,193,170,59,252,193,172,59,252,193,174,59,252,193,176,59,252,193,178,59,252,193,180,59,252,193,182,59,252,193,184,59,252,193,186,59,252,193,188,59,252,193,190,59,252,193,192,59,252,193,194,59,252,193,196,59,252,193,198,59,252,193,200,59,252,193,202,59,252,193,204,59,252,193,206,59,252,193,208,59,252,193,210,59,252,193,212,59,252,193,214,59,252,193,216,59,252,193,218,59,252,193,220,59,252,193,222,59,252,193,224,59,252,193,226,59,252,193,228,59,252,193,230,59,252,193,232,59,252,193,234,59,252,193,236,59,252,193,238,59,252,193,240,59,252,193,242,59,252,193,244,59,252,193,246,59,252,193,248,59,252,193,250,59,252,193,252,59,252,193,254,59,252,193,2,60,252,193,4,60,252,193,6,60,252,193,8,60,252,193,10,60,252,193,12,60,252,193,14,60,252,193,16,60,252,193,18,60,252,193,20,60,252,193,22,60,252,193,24,60,252,193,26,60,252,193,28,60,252,193,30,60,252,193,32,60,252,193,34,60,252,193,36,60,252,193,38,60,252,193,40,60,252,193,42,60,252,193,126,60,252,193,128,60,252,193,130,60,252,193,132,60,252,193,134,60,252,193,136,60,252,193,138,60,252,193,140,60,252,193,142,60,252,193,144,60,252,193,146,60,252,193,148,60,252,193,98,61,252,193,100,61,252,193,102,61,252,193,104,61,252,193,106,61,252,193,108,61,252,193,110,61,252,193,112,61,252,193,114,61,252,193,116,61,252,193,118,61,252,193,120,61,252,193,122,61,252,193,124,61,252,193,22,62,252,193,24,62,252,193,26,62,252,193,28,62,252,193,30,62,252,193,32,62,252,193,164,60,252,193,166,60,252,193,168,60,252,193,126,61,252,193,128,61,252,193,130,61,252,193,132,61,252,193,134,61,252,193,136,61,252,193,138,61,252,193,38,62,252,193,40,62,252,193,42,62,252,193,44,62,252,193,46,62,252,193,48,62,252,193,162,62,252,193,164,62,252,193,166,62,252,193,168,62,252,193,60,63,252,193,62,63,252,193,64,63,252,193,66,63,252,193,68,63,252,193,70,63,252,193,126,63,252,193,234,63,252,193,96,64,252,193,140,64,252,193,164,64,252,193,166,64,252,193,172,60,252,193,174,60,252,193,176,60,252,193,178,60,252,193,180,60,252,193,182,60,252,193,184,60,252,193,186,60,252,193,188,60,252,193,190,60,252,193,192,60,252,193,194,60,252,193,196,60,252,193,198,60,252,193,200,60,252,193,202,60,252,193,204,60,252,193,206,60,252,193,208,60,252,193,210,60,252,193,212,60,252,193,214,60,252,193,216,60,252,193,218,60,252,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,193,226,60,252,193,228,60,252,193,230,60,252,193,232,60,252,193,164,61,252,193,166,61,252,193,72,62,252,193,74,62,252,193,190,62,252,193,76,62,252,193,192,62,252,193,194,62,252,193,196,62,252,193,78,63,252,193,138,63,252,193,176,63,252,193,178,63,252,193,10,64,252,193,72,64,252,193,74,64,252,193,168,64,252,193,2,65,252,193,170,65,252,193,178,65,252,193,188,65,252,193,204,65,252,193,222,65,252,193,52,66,252,193,120,66,252,193,10,67,252,193,12,67,252,193,66,67,252,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,193,168,61,252,193,170,61,252,193,172,61,252,193,174,61,252,193,176,61,252,193,178,61,252,193,180,61,252,193,182,61,252,193,184,61,252,193,186,61,252,193,188,61,252,193,190,61,252,193,192,61,252,193,194,61,252,193,196,61,252,193,198,61,252,193,200,61,252,193,202,61,252,193,204,61,252,193,206,61,252,193,208,61,252,193,210,61,252,193,212,61,252,193,214,61,252,193,216,61,252,193,218,61,252,193,220,61,252,193,222,61,252,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,193,50,62,252,193,52,62,252,193,54,62,252,193,56,62,252,193,58,62,252,193,60,62,252,193,62,62,252,193,170,62,252,193,64,62,252,193,66,62,252,193,68,62,252,193,172,62,252,193,174,62,252,193,176,62,252,193,178,62,252,193,180,62,252,193,182,62,252,193,70,62,252,193,184,62,252,193,186,62,252,193,188,62,252,193,72,63,252,193,74,63,252,193,76,63,252,193,128,63,252,193,130,63,252,193,132,63,252,193,134,63,252,193,224,61,252,193,226,61,252,193,228,61,252,193,248,213,252,193,230,61,252,193,232,61,252,193,234,61,252,193,236,61,252,193,238,61,252,193,240,61,252,193,242,61,252,193,244,61,252,193,246,61,252,193,248,61,252,193,250,61,252,193,252,61,252,193,254,61,252,193,2,62,252,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,193,248,217,252,193,254,217,252,193,2,218,252,193,4,218,252,193,6,218,252,193,8,218,252,193,10,218,252,193,12,218,252,193,4,62,252,193,24,218,252,193,26,218,252,193,28,218,252,193,30,218,252,193,38,218,252,193,40,218,252,193,32,218,252,193,42,218,252,193,44,218,252,193,46,218,252,193,48,218,252,193,50,218,252,193,52,218,252,193,54,218,252,193,56,218,252,193,58,218,252,193,60,218,252,193,64,218,252,193,66,218,252,193,72,218,252,193,76,218,252,193,78,218,252,193,80,218,252,193,14,62,252,193,144,62,252,193,146,62,252,193,38,63,252,193,40,63,252,193,42,63,252,193,166,63,252,193,168,63,252,193,212,63,252,193,228,63,252,193,2,64,252,193,4,64,252,193,24,64,252,193,66,64,252,193,134,64,252,193,178,64,252,193,204,64,252,193,206,64,252,193,208,64,252,193,210,64,252,193,238,64,252,193,240,64,252,193,40,65,252,193,42,65,252,193,86,65,252,193,88,65,252,193,148,65,252,193,184,65,252,193,192,65,252,193,226,65,252,193,110,66,252,193,138,66,252,193,34,62,252,193,36,62,252,193,158,62,252,193,160,62,252,193,54,63,252,193,56,63,252,193,58,63,252,193,170,63,252,193,230,63,252,193,232,63,252,193,94,64,252,193,138,64,252,193,156,64,252,193,158,64,252,193,160,64,252,193,162,64,252,193,184,64,252,193,216,64,252,193,246,64,252,193,248,64,252,193,18,65,252,193,20,65,252,193,48,65,252,193,64,65,252,193,66,65,252,193,104,65,252,193,154,65,252,193,162,65,252,193,194,65,252,193,216,65,252,193,28,66,252,193,30,66,252,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,193,198,62,252,193,200,62,252,193,202,62,252,193,204,62,252,193,206,62,252,193,208,62,252,193,210,62,252,193,212,62,252,193,214,62,252,193,216,62,252,193,218,62,252,193,220,62,252,193,222,62,252,193,224,62,252,193,226,62,252,193,228,62,252,193,230,62,252,193,232,62,252,193,234,62,252,193,236,62,252,193,238,62,252,193,240,62,252,193,242,62,252,193,244,62,252,193,246,62,252,193,248,62,252,193,250,62,252,193,252,62,252,193,254,62,252,193,2,63,252,193,4,63,252,193,6,63,252,193,8,63,252,193,10,63,252,193,12,63,252,193,14,63,252,193,16,63,252,193,18,63,252,193,20,63,252,193,22,63,252,193,24,63,252,193,26,63,252,193,28,63,252,193,30,63,252,193,32,63,252,193,34,63,252,193,80,63,252,193,82,63,252,193,84,63,252,193,86,63,252,193,88,63,252,193,90,63,252,193,92,63,252,193,36,63,252,193,140,63,252,193,94,63,252,193,96,63,252,193,98,63,252,193,100,63,252,193,102,63,252,193,104,63,252,193,106,63,252,193,108,63,252,193,110,63,252,193,112,63,252,193,114,63,252,193,116,63,252,193,118,63,252,193,120,63,252,193,122,63,252,193,124,63,252,193,142,63,252,193,144,63,252,193,180,63,252,193,146,63,252,193,148,63,252,193,150,63,252,193,136,63,252,193,172,63,252,193,174,63,252,193,216,63,252,193,236,63,252,193,238,63,252,193,240,63,252,193,26,64,252,193,36,64,252,193,42,64,252,193,48,64,252,193,50,64,252,193,68,64,252,193,70,64,252,193,98,64,252,193,100,64,252,193,102,64,252,193,142,64,252,193,188,64,252,193,254,64,252,193,24,65,252,193,94,65,252,193,150,65,252,193,152,65,252,193,164,65,252,193,176,65,252,193,202,65,252,193,218,65,252,193,228,65,252,193,238,65,252,193,248,65,252,193,16,66,252,193,152,63,252,193,154,63,252,193,156,63,252,193,158,63,252,193,160,63,252,193,162,63,252,193,164,63,252,193,182,63,252,193,184,63,252,193,186,63,252,193,188,63,252,193,190,63,252,193,192,63,252,193,194,63,252,193,196,63,252,193,30,215,252,193,198,63,252,193,200,63,252,193,202,63,252,193,204,63,252,193,206,63,252,193,208,63,252,193,210,63,252,193,218,63,252,193,220,63,252,193,222,63,252,193,224,63,252,193,226,63,252,193,242,63,252,193,244,63,252,193,246,63,252,193,70,218,252,193,248,63,252,193,250,63,252,193,252,63,252,193,254,63,252,193,12,64,252,193,14,64,252,193,16,64,252,193,18,64,252,193,20,64,252,193,22,64,252,193,28,64,252,193,38,64,252,193,30,64,252,193,40,64,252,193,44,64,252,193,52,64,252,193,54,64,252,193,56,64,252,193,58,64,252,193,60,64,252,193,62,64,252,193,64,64,252,193,76,64,252,193,78,64,252,193,80,64,252,193,82,64,252,193,84,64,252,193,86,64,252,193,88,64,252,193,104,64,252,193,106,64,252,193,108,64,252,193,8,64,252,193,32,64,252,193,34,64,252,193,46,64,252,193,90,64,252,193,92,64,252,193,136,64,252,193,152,64,252,193,154,64,252,193,180,64,252,193,182,64,252,193,212,64,252,193,214,64,252,193,242,64,252,193,244,64,252,193,14,65,252,193,16,65,252,193,44,65,252,193,46,65,252,193,60,65,252,193,62,65,252,193,90,65,252,193,92,65,252,193,112,65,252,193,126,65,252,193,128,65,252,193,146,65,252,193,160,65,252,193,212,65,252,193,6,66,252,193,12,66,252,193,62,66,252,193,186,64,252,193,218,64,252,193,220,64,252,193,222,64,252,193,224,64,252,193,250,64,252,193,252,64,252,193,50,65,252,193,68,65,252,193,138,65,252,193,140,65,252,193,174,65,252,193,186,65,252,193,200,65,252,193,44,66,252,193,46,66,252,193,48,66,252,193,72,66,252,193,90,66,252,193,116,66,252,193,118,66,252,193,152,66,252,193,186,66,252,193,246,66,252,193,248,66,252,193,30,67,252,193,32,67,252,193,60,67,252,193,62,67,252,193,64,67,252,193,108,67,252,193,152,67,252,193,234,64,252,193,236,64,252,193,4,65,252,193,6,65,252,193,8,65,252,193,10,65,252,193,12,65,252,193,26,65,252,193,28,65,252,193,30,65,252,193,32,65,252,193,34,65,252,193,36,65,252,193,38,65,252,193,52,65,252,193,54,65,252,193,56,65,252,193,58,65,252,193,70,65,252,193,72,65,252,193,74,65,252,193,76,65,252,193,78,65,252,193,80,65,252,193,82,65,252,193,96,65,252,193,106,65,252,193,98,65,252,193,84,65,252,193,100,65,252,193,102,65,252,193,108,65,252,193,110,65,252,193,182,189,252,193,114,65,252,193,116,65,252,193,118,65,252,193,120,65,252,193,122,65,252,193,124,65,252,193,130,65,252,193,132,65,252,193,134,65,252,193,136,65,252,193,142,65,252,193,144,65,252,193,156,65,252,193,158,65,252,193,166,65,252,193,168,65,252,193,172,65,252,193,180,65,252,193,182,65,252,193,190,65,252,193,196,65,252,193,198,65,252,193,206,65,252,193,208,65,252,193,210,65,252,193,214,65,252,193,220,65,252,193,224,65,252,193,230,65,252,193,232,65,252,193,234,65,252,193,236,65,252,193,240,65,252,193,242,65,252,193,244,65,252,193,246,65,252,193,252,65,252,193,254,65,252,193,2,66,252,193,4,66,252,193,18,66,252,193,20,66,252,193,22,66,252,193,24,66,252,193,26,66,252,193,34,66,252,193,36,66,252,193,38,66,252,193,54,66,252,193,56,66,252,193,58,66,252,193,60,66,252,193,76,66,252,193,78,66,252,193,80,66,252,193,82,66,252,193,84,66,252,206,96,51,0,206,96,51,0,206,96,51,0,206,96,51,0,206,96,51,0,193,32,66,252,193,50,66,252,193,74,66,252,193,154,66,252,193,162,66,252,193,174,66,252,193,206,66,252,193,252,66,252,193,8,67,252,193,34,67,252,193,36,67,252,193,110,67,252,193,112,67,252,193,114,67,252,193,154,67,252,193,156,67,252,193,158,67,252,193,160,67,252,193,162,67,252,193,184,67,252,193,186,67,252,193,202,67,252,193,204,67,252,193,206,67,252,193,18,68,252,193,28,68,252,193,68,68,252,193,94,68,252,193,96,68,252,193,102,68,252,193,104,68,252,193,106,68,252,193,40,66,252,193,42,66,252,193,68,66,252,193,70,66,252,193,86,66,252,193,88,66,252,193,114,66,252,193,216,66,252,193,222,66,252,193,28,67,252,193,56,67,252,193,58,67,252,193,106,67,252,193,4,68,252,193,16,68,252,193,40,68,252,193,44,68,252,193,56,68,252,193,80,68,252,193,100,68,252,193,118,68,252,193,238,68,252,193,240,68,252,193,242,68,252,193,244,68,252,193,246,68,252,193,88,69,252,193,90,69,252,193,92,69,252,193,94,69,252,193,158,69,252,193,160,69,252,193,64,66,252,193,66,66,252,193,112,66,252,193,140,66,252,193,142,66,252,193,144,66,252,193,146,66,252,193,148,66,252,193,150,66,252,193,172,66,252,193,184,66,252,193,200,66,252,193,202,66,252,193,204,66,252,193,220,66,252,193,228,66,252,193,232,66,252,193,234,66,252,193,250,66,252,193,24,67,252,193,26,67,252,193,104,67,252,193,26,68,252,193,54,68,252,193,86,68,252,193,116,68,252,193,146,68,252,193,234,68,252,193,236,68,252,193,86,69,252,193,154,69,252,193,156,69,252,206,96,51,0,206,96,51,0,206,96,51,0,206,96,51,0,193,122,66,252,193,124,66,252,193,126,66,252,193,128,66,252,193,130,66,252,193,132,66,252,193,134,66,252,193,136,66,252,193,156,66,252,193,158,66,252,193,160,66,252,193,164,66,252,193,166,66,252,193,168,66,252,193,170,66,252,193,176,66,252,193,178,66,252,193,180,66,252,193,188,66,252,193,190,66,252,193,192,66,252,193,194,66,252,193,196,66,252,193,198,66,252,193,208,66,252,193,210,66,252,193,212,66,252,193,214,66,252,193,182,66,252,193,218,66,252,193,84,67,252,193,100,67,252,193,102,67,252,193,150,67,252,193,244,67,252,193,38,68,252,193,78,68,252,193,144,68,252,193,80,69,252,193,82,69,252,193,148,69,252,193,150,69,252,193,152,69,252,193,78,70,252,193,182,70,252,193,24,71,252,193,26,71,252,193,28,71,252,193,104,71,252,193,160,71,252,193,6,72,252,193,238,72,252,193,128,73,252,193,130,73,252,193,46,74,252,193,48,74,252,193,212,74,252,193,214,74,252,193,124,75,252,193,126,75,252,193,224,66,252,193,226,66,252,193,230,66,252,193,236,66,252,193,238,66,252,193,240,66,252,193,242,66,252,193,244,66,252,193,254,66,252,193,2,67,252,193,4,67,252,193,6,67,252,193,14,67,252,193,16,67,252,193,18,67,252,193,20,67,252,193,22,67,252,193,38,67,252,193,40,67,252,193,42,67,252,193,44,67,252,193,46,67,252,193,48,67,252,193,50,67,252,193,52,67,252,193,54,67,252,193,72,67,252,193,74,67,252,193,76,67,252,193,78,67,252,193,80,67,252,193,82,67,252,193,68,67,252,193,70,67,252,193,188,67,252,193,246,67,252,193,6,68,252,193,22,68,252,193,30,68,252,193,48,68,252,193,108,68,252,193,132,68,252,193,134,68,252,193,168,68,252,193,170,68,252,193,172,68,252,193,174,68,252,193,176,68,252,193,20,69,252,193,22,69,252,193,24,69,252,193,26,69,252,193,28,69,252,193,120,69,252,193,122,69,252,193,124,69,252,193,126,69,252,193,176,69,252,193,178,69,252,193,180,69,252,193,182,69,252,193,184,69,252,193,186,69,252,193,188,69,252,193,86,67,252,193,88,67,252,193,90,67,252,193,92,67,252,193,94,67,252,193,96,67,252,193,98,67,252,193,116,67,252,193,118,67,252,193,120,67,252,193,122,67,252,193,124,67,252,193,126,67,252,193,128,67,252,193,130,67,252,193,132,67,252,193,134,67,252,193,136,67,252,193,138,67,252,193,140,67,252,193,142,67,252,193,144,67,252,193,146,67,252,193,148,67,252,193,164,67,252,193,166,67,252,193,168,67,252,193,170,67,252,193,172,67,252,193,174,67,252,193,176,67,252,193,178,67,252,193,180,67,252,193,182,67,252,193,190,67,252,193,192,67,252,193,194,67,252,193,196,67,252,193,198,67,252,193,200,67,252,193,208,67,252,193,210,67,252,193,212,67,252,193,214,67,252,193,216,67,252,193,218,67,252,193,220,67,252,193,222,67,252,193,224,67,252,193,226,67,252,193,228,67,252,193,230,67,252,193,232,67,252,193,234,67,252,193,236,67,252,193,238,67,252,193,240,67,252,193,242,67,252,193,248,67,252,193,250,67,252,193,252,67,252,193,254,67,252,193,2,68,252,193,8,68,252,193,10,68,252,193,12,68,252,193,14,68,252,193,20,68,252,193,24,68,252,193,32,68,252,193,36,68,252,193,42,68,252,193,50,68,252,193,52,68,252,193,62,68,252,193,64,68,252,193,70,68,252,193,72,68,252,193,74,68,252,193,76,68,252,193,82,68,252,193,84,68,252,193,88,68,252,193,90,68,252,193,98,68,252,193,110,68,252,193,112,68,252,193,114,68,252,193,136,68,252,193,138,68,252,193,140,68,252,193,142,68,252,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,193,34,68,252,193,46,68,252,193,58,68,252,193,60,68,252,193,66,68,252,193,92,68,252,193,120,68,252,193,148,68,252,193,150,68,252,193,248,68,252,193,250,68,252,193,252,68,252,193,254,68,252,193,96,69,252,193,98,69,252,193,100,69,252,193,102,69,252,193,104,69,252,193,106,69,252,193,108,69,252,193,162,69,252,193,242,69,252,193,102,70,252,193,104,70,252,193,192,70,252,193,38,71,252,193,40,71,252,193,116,71,252,193,166,71,252,193,126,72,252,193,128,72,252,193,250,72,252,193,122,68,252,193,124,68,252,193,126,68,252,193,128,68,252,193,130,68,252,193,152,68,252,193,154,68,252,193,156,68,252,193,158,68,252,193,160,68,252,193,162,68,252,193,164,68,252,193,166,68,252,193,2,69,252,193,4,69,252,193,6,69,252,193,8,69,252,193,10,69,252,193,12,69,252,193,14,69,252,193,16,69,252,193,18,69,252,193,110,69,252,193,112,69,252,193,114,69,252,193,116,69,252,193,118,69,252,193,164,69,252,193,166,69,252,193,168,69,252,193,170,69,252,193,172,69,252,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,193,128,69,252,193,130,69,252,193,132,69,252,193,134,69,252,193,136,69,252,193,138,69,252,193,140,69,252,193,142,69,252,193,144,69,252,193,146,69,252,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,193,244,69,252,193,174,69,252,193,246,69,252,193,248,69,252,193,250,69,252,193,252,69,252,193,254,69,252,193,2,70,252,193,4,70,252,193,6,70,252,193,8,70,252,193,10,70,252,193,106,70,252,193,108,70,252,193,110,70,252,193,112,70,252,193,114,70,252,193,116,70,252,193,194,70,252,193,196,70,252,193,198,70,252,193,200,70,252,193,202,70,252,193,204,70,252,193,42,71,252,193,44,71,252,193,46,71,252,193,48,71,252,193,118,71,252,193,120,71,252,193,122,71,252,193,124,71,252,193,190,69,252,193,12,70,252,193,14,70,252,193,16,70,252,193,206,70,252,193,118,70,252,193,120,70,252,193,122,70,252,193,124,70,252,193,208,70,252,193,210,70,252,193,212,70,252,193,50,71,252,193,52,71,252,193,54,71,252,193,56,71,252,193,58,71,252,193,126,71,252,193,128,71,252,193,130,71,252,193,170,71,252,193,172,71,252,193,174,71,252,193,196,71,252,193,198,71,252,193,216,71,252,193,248,71,252,193,10,72,252,193,162,72,252,193,164,72,252,193,166,72,252,193,168,72,252,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,193,232,69,252,193,80,70,252,193,82,70,252,193,184,70,252,193,186,70,252,193,188,70,252,193,30,71,252,193,32,71,252,193,106,71,252,193,56,72,252,193,120,72,252,193,122,72,252,193,134,73,252,193,136,73,252,193,50,74,252,193,52,74,252,193,54,74,252,193,56,74,252,193,216,74,252,193,218,74,252,193,220,74,252,193,134,75,252,193,136,75,252,193,138,75,252,193,80,76,252,193,82,76,252,193,84,76,252,193,86,76,252,193,88,76,252,193,252,76,252,193,254,76,252,193,2,77,252,193,234,69,252,193,236,69,252,193,238,69,252,193,240,69,252,193,84,70,252,193,86,70,252,193,88,70,252,193,90,70,252,193,92,70,252,193,94,70,252,193,96,70,252,193,98,70,252,193,100,70,252,193,190,70,252,193,34,71,252,193,36,71,252,193,108,71,252,193,110,71,252,193,112,71,252,193,114,71,252,193,162,71,252,193,164,71,252,193,232,71,252,193,28,72,252,193,74,72,252,193,124,72,252,193,240,72,252,193,242,72,252,193,244,72,252,193,246,72,252,193,248,72,252,193,138,73,252,193,162,70,252,193,164,70,252,193,166,70,252,193,168,70,252,193,170,70,252,193,172,70,252,193,174,70,252,193,176,70,252,193,178,70,252,193,214,70,252,193,216,70,252,193,218,70,252,193,220,70,252,193,222,70,252,193,224,70,252,193,226,70,252,193,228,70,252,193,230,70,252,193,232,70,252,193,234,70,252,193,236,70,252,193,238,70,252,193,240,70,252,193,242,70,252,193,244,70,252,193,246,70,252,193,248,70,252,193,250,70,252,193,252,70,252,193,254,70,252,193,2,71,252,193,180,70,252,193,102,71,252,193,132,71,252,193,134,71,252,193,136,71,252,193,138,71,252,193,140,71,252,193,142,71,252,193,144,71,252,193,146,71,252,193,148,71,252,193,150,71,252,193,152,71,252,193,154,71,252,193,156,71,252,193,158,71,252,193,176,71,252,193,178,71,252,193,180,71,252,193,182,71,252,193,184,71,252,193,186,71,252,193,188,71,252,193,190,71,252,193,192,71,252,193,194,71,252,193,200,71,252,193,202,71,252,193,218,71,252,193,220,71,252,193,222,71,252,193,224,71,252,193,226,71,252,193,168,71,252,193,204,71,252,193,206,71,252,193,208,71,252,193,210,71,252,193,212,71,252,193,214,71,252,193,234,71,252,193,236,71,252,193,8,72,252,193,30,72,252,193,42,72,252,193,46,72,252,193,48,72,252,193,50,72,252,193,58,72,252,193,60,72,252,193,76,72,252,193,78,72,252,193,80,72,252,193,82,72,252,193,84,72,252,193,86,72,252,193,88,72,252,193,90,72,252,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,193,228,71,252,193,230,71,252,193,238,71,252,193,240,71,252,193,242,71,252,193,244,71,252,193,246,71,252,193,250,71,252,193,252,71,252,193,254,71,252,193,2,72,252,193,4,72,252,193,12,72,252,193,14,72,252,193,16,72,252,193,18,72,252,193,20,72,252,193,22,72,252,193,24,72,252,193,26,72,252,193,32,72,252,193,34,72,252,193,36,72,252,193,38,72,252,193,40,72,252,193,44,72,252,193,54,72,252,193,62,72,252,193,64,72,252,193,66,72,252,193,68,72,252,193,70,72,252,193,72,72,252,193,92,72,252,193,94,72,252,193,96,72,252,193,98,72,252,193,100,72,252,193,102,72,252,193,104,72,252,193,106,72,252,193,108,72,252,193,110,72,252,193,112,72,252,193,114,72,252,193,116,72,252,193,118,72,252,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,193,2,73,252,193,4,73,252,193,6,73,252,193,8,73,252,193,10,73,252,193,12,73,252,193,14,73,252,193,16,73,252,193,18,73,252,193,20,73,252,193,22,73,252,193,24,73,252,193,26,73,252,193,28,73,252,193,30,73,252,193,32,73,252,193,34,73,252,193,36,73,252,193,38,73,252,193,40,73,252,193,42,73,252,193,44,73,252,193,162,73,252,193,170,72,252,193,46,73,252,193,48,73,252,193,50,73,252,193,52,73,252,193,54,73,252,193,56,73,252,193,58,73,252,193,60,73,252,193,62,73,252,193,64,73,252,193,202,73,252,193,204,73,252,193,206,73,252,193,208,73,252,193,210,73,252,193,212,73,252,193,114,74,252,193,116,74,252,193,118,74,252,193,120,74,252,193,122,74,252,193,124,74,252,193,126,74,252,193,128,74,252,193,58,75,252,193,60,75,252,193,62,75,252,193,64,75,252,193,66,75,252,193,68,75,252,193,70,75,252,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,193,236,72,252,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,193,252,72,252,193,254,72,252,193,148,73,252,193,150,73,252,193,152,73,252,193,154,73,252,193,156,73,252,193,158,73,252,193,160,73,252,193,70,74,252,193,72,74,252,193,74,74,252,193,76,74,252,193,78,74,252,193,238,74,252,193,240,74,252,193,242,74,252,193,244,74,252,193,246,74,252,193,150,75,252,193,152,75,252,193,154,75,252,193,156,75,252,193,158,75,252,193,160,75,252,193,162,75,252,193,164,75,252,193,166,75,252,193,168,75,252,193,170,75,252,193,110,76,252,193,112,76,252,193,140,73,252,193,142,73,252,193,144,73,252,193,146,73,252,193,58,74,252,193,60,74,252,193,62,74,252,193,64,74,252,193,66,74,252,193,68,74,252,193,222,74,252,193,224,74,252,193,226,74,252,193,228,74,252,193,230,74,252,193,232,74,252,193,234,74,252,193,236,74,252,193,140,75,252,193,142,75,252,193,144,75,252,193,146,75,252,193,148,75,252,193,90,76,252,193,92,76,252,193,94,76,252,193,96,76,252,193,98,76,252,193,100,76,252,193,102,76,252,193,104,76,252,193,106,76,252,193,164,73,252,193,166,73,252,193,168,73,252,193,170,73,252,193,172,73,252,193,174,73,252,193,176,73,252,193,178,73,252,193,180,73,252,193,182,73,252,193,184,73,252,193,186,73,252,193,188,73,252,193,190,73,252,193,192,73,252,193,194,73,252,193,196,73,252,193,198,73,252,193,200,73,252,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,193,130,74,252,193,132,74,252,193,134,74,252,193,136,74,252,193,138,74,252,193,140,74,252,193,142,74,252,193,144,74,252,193,146,74,252,193,148,74,252,193,44,74,252,193,150,74,252,193,152,74,252,193,154,74,252,193,156,74,252,193,158,74,252,193,160,74,252,193,162,74,252,193,164,74,252,193,166,74,252,193,168,74,252,193,170,74,252,193,172,74,252,193,174,74,252,193,176,74,252,193,178,74,252,193,180,74,252,193,182,74,252,193,184,74,252,193,186,74,252,193,188,74,252,193,190,74,252,193,192,74,252,193,194,74,252,193,196,74,252,193,198,74,252,193,200,74,252,193,202,74,252,193,204,74,252,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,193,248,74,252,193,250,74,252,193,252,74,252,193,254,74,252,193,2,75,252,193,4,75,252,193,6,75,252,193,8,75,252,193,10,75,252,193,12,75,252,193,14,75,252,193,16,75,252,193,18,75,252,193,20,75,252,193,22,75,252,193,24,75,252,193,26,75,252,193,28,75,252,193,30,75,252,193,32,75,252,193,34,75,252,193,36,75,252,193,38,75,252,193,40,75,252,193,42,75,252,193,44,75,252,193,46,75,252,193,48,75,252,193,206,74,252,193,208,74,252,193,210,74,252,193,74,75,252,193,76,75,252,193,78,75,252,193,80,75,252,193,82,75,252,193,84,75,252,193,86,75,252,193,88,75,252,193,90,75,252,193,92,75,252,193,94,75,252,193,96,75,252,193,98,75,252,193,100,75,252,193,102,75,252,193,104,75,252,193,106,75,252,193,108,75,252,193,110,75,252,193,112,75,252,193,114,75,252,193,116,75,252,193,118,75,252,193,120,75,252,193,122,75,252,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,193,50,75,252,193,52,75,252,193,172,75,252,193,174,75,252,193,176,75,252,193,178,75,252,193,180,75,252,193,182,75,252,193,184,75,252,193,186,75,252,193,54,75,252,193,56,75,252,193,188,75,252,193,190,75,252,193,192,75,252,193,194,75,252,193,196,75,252,193,198,75,252,193,200,75,252,193,202,75,252,193,204,75,252,193,206,75,252,193,208,75,252,193,210,75,252,193,212,75,252,193,214,75,252,193,116,76,252,193,118,76,252,193,120,76,252,193,122,76,252,193,124,76,252,193,126,76,252,193,72,75,252,193,218,75,252,193,220,75,252,193,222,75,252,193,224,75,252,193,226,75,252,193,228,75,252,193,146,76,252,193,148,76,252,193,150,76,252,193,152,76,252,193,154,76,252,193,156,76,252,193,158,76,252,193,32,77,252,193,34,77,252,193,36,77,252,193,38,77,252,193,40,77,252,193,42,77,252,193,192,77,252,193,194,77,252,193,196,77,252,193,198,77,252,193,200,77,252,193,202,77,252,193,70,78,252,193,72,78,252,193,74,78,252,193,150,78,252,193,152,78,252,193,154,78,252,193,128,75,252,193,130,75,252,193,72,76,252,193,74,76,252,193,76,76,252,193,78,76,252,193,248,76,252,193,250,76,252,193,128,77,252,193,32,78,252,193,184,78,252,193,236,78,252,193,18,79,252,193,166,79,252,193,80,80,252,193,82,80,252,193,84,80,252,193,86,80,252,193,88,80,252,193,90,80,252,193,92,80,252,193,30,81,252,193,32,81,252,193,226,81,252,193,228,81,252,193,230,81,252,193,232,81,252,193,234,81,252,193,236,81,252,193,238,81,252,193,240,81,252,193,242,81,252,193,128,76,252,193,216,75,252,193,130,76,252,193,132,76,252,193,10,77,252,193,134,76,252,193,136,76,252,193,138,76,252,193,140,76,252,193,142,76,252,193,144,76,252,193,160,77,252,193,12,77,252,193,14,77,252,193,16,77,252,193,18,77,252,193,20,77,252,193,22,77,252,193,24,77,252,193,26,77,252,193,28,77,252,193,30,77,252,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,193,108,76,252,193,6,77,252,193,140,77,252,193,142,77,252,193,144,77,252,193,146,77,252,193,148,77,252,193,150,77,252,193,38,78,252,193,40,78,252,193,42,78,252,193,44,78,252,193,46,78,252,193,134,78,252,193,188,78,252,193,190,78,252,193,240,78,252,193,242,78,252,193,48,79,252,193,66,79,252,193,110,79,252,193,168,79,252,193,106,80,252,193,108,80,252,193,110,80,252,193,112,80,252,193,114,80,252,193,116,80,252,206,0,54,0,206,0,54,0,206,0,54,0,206,0,54,0,193,114,76,252,193,8,77,252,193,152,77,252,193,154,77,252,193,156,77,252,193,158,77,252,193,48,78,252,193,50,78,252,193,244,78,252,193,20,79,252,193,22,79,252,193,24,79,252,193,68,79,252,193,170,79,252,193,172,79,252,193,118,80,252,193,120,80,252,193,122,80,252,193,124,80,252,193,126,80,252,193,64,81,252,193,66,81,252,193,68,81,252,193,22,82,252,193,24,82,252,193,26,82,252,193,28,82,252,193,30,82,252,193,32,82,252,193,226,82,252,193,228,82,252,193,230,82,252,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,193,44,77,252,193,46,77,252,193,48,77,252,193,50,77,252,193,52,77,252,193,54,77,252,193,56,77,252,193,4,77,252,193,130,77,252,193,132,77,252,193,134,77,252,193,136,77,252,193,138,77,252,193,34,78,252,193,36,78,252,193,128,78,252,193,130,78,252,193,132,78,252,193,186,78,252,193,238,78,252,193,46,79,252,193,104,79,252,193,130,79,252,193,226,79,252,193,228,79,252,193,96,80,252,193,98,80,252,193,100,80,252,193,102,80,252,193,104,80,252,193,34,81,252,193,36,81,252,193,38,81,252,193,40,81,252,193,42,81,252,193,44,81,252,193,46,81,252,193,246,81,252,193,248,81,252,193,58,77,252,193,60,77,252,193,62,77,252,193,64,77,252,193,66,77,252,193,68,77,252,193,70,77,252,193,72,77,252,193,74,77,252,193,76,77,252,193,78,77,252,193,80,77,252,193,82,77,252,193,84,77,252,193,86,77,252,193,88,77,252,193,90,77,252,193,92,77,252,193,94,77,252,193,96,77,252,193,98,77,252,193,100,77,252,193,102,77,252,193,104,77,252,193,106,77,252,193,108,77,252,193,110,77,252,193,112,77,252,193,114,77,252,193,116,77,252,193,118,77,252,193,120,77,252,193,122,77,252,193,124,77,252,193,126,77,252,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,193,52,78,252,193,54,78,252,193,56,78,252,193,58,78,252,193,60,78,252,193,62,78,252,193,64,78,252,193,66,78,252,193,68,78,252,193,136,78,252,193,138,78,252,193,140,78,252,193,142,78,252,193,144,78,252,193,146,78,252,193,148,78,252,193,192,78,252,193,194,78,252,193,196,78,252,193,198,78,252,193,246,78,252,193,248,78,252,193,250,78,252,193,26,79,252,193,28,79,252,193,50,79,252,193,52,79,252,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,193,156,78,252,193,158,78,252,193,160,78,252,193,162,78,252,193,164,78,252,193,166,78,252,193,168,78,252,193,170,78,252,193,172,78,252,193,174,78,252,193,176,78,252,193,178,78,252,193,180,78,252,193,182,78,252,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,193,200,78,252,193,252,78,252,193,254,78,252,193,30,79,252,193,32,79,252,193,34,79,252,193,36,79,252,193,94,79,252,193,152,79,252,193,154,79,252,193,156,79,252,193,158,79,252,193,194,79,252,193,196,79,252,193,198,79,252,193,200,79,252,193,22,80,252,193,24,80,252,193,26,80,252,193,28,80,252,193,30,80,252,193,32,80,252,193,34,80,252,193,192,80,252,193,194,80,252,193,196,80,252,193,198,80,252,193,200,80,252,193,202,80,252,193,204,80,252,193,206,80,252,193,138,81,252,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,193,2,79,252,193,4,79,252,193,6,79,252,193,8,79,252,193,10,79,252,193,12,79,252,193,14,79,252,193,16,79,252,193,38,79,252,193,40,79,252,193,42,79,252,193,44,79,252,193,54,79,252,193,56,79,252,193,58,79,252,193,60,79,252,193,62,79,252,193,64,79,252,193,72,79,252,193,74,79,252,193,76,79,252,193,78,79,252,193,86,79,252,193,88,79,252,193,90,79,252,193,92,79,252,193,96,79,252,193,70,79,252,193,80,79,252,193,82,79,252,193,84,79,252,193,112,79,252,193,116,79,252,193,120,79,252,193,122,79,252,193,124,79,252,193,132,79,252,193,138,79,252,193,134,79,252,193,140,79,252,193,142,79,252,193,144,79,252,193,146,79,252,193,148,79,252,193,150,79,252,193,174,79,252,193,176,79,252,193,178,79,252,193,180,79,252,193,182,79,252,193,184,79,252,193,186,79,252,193,188,79,252,193,190,79,252,193,192,79,252,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,193,98,79,252,193,100,79,252,193,102,79,252,193,106,79,252,193,108,79,252,193,114,79,252,193,118,79,252,193,126,79,252,193,128,79,252,193,136,79,252,193,160,79,252,193,162,79,252,193,164,79,252,193,202,79,252,193,204,79,252,193,206,79,252,193,208,79,252,193,210,79,252,193,212,79,252,193,214,79,252,193,216,79,252,193,218,79,252,193,220,79,252,193,222,79,252,193,224,79,252,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,0,54,0,206,0,54,0,206,0,54,0,206,0,54,0,193,6,82,252,193,8,82,252,193,10,82,252,193,12,82,252,193,14,82,252,193,16,82,252,193,18,82,252,193,20,82,252,193,208,82,252,193,210,82,252,193,212,82,252,193,214,82,252,193,216,82,252,193,218,82,252,193,220,82,252,193,222,82,252,193,224,82,252,193,238,83,252,193,240,83,252,193,242,83,252,193,244,83,252,193,246,83,252,193,248,83,252,193,250,83,252,193,252,83,252,193,254,83,252,193,2,84,252,193,4,84,252,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,193,34,82,252,193,36,82,252,193,38,82,252,193,40,82,252,193,234,82,252,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,193,136,81,252,193,76,82,252,193,78,82,252,193,80,82,252,193,82,82,252,193,84,82,252,193,86,82,252,193,88,82,252,193,90,82,252,193,92,82,252,193,94,82,252,193,236,82,252,193,238,82,252,193,240,82,252,193,242,82,252,193,244,82,252,193,246,82,252,193,248,82,252,193,250,82,252,193,252,82,252,193,254,82,252,193,20,84,252,193,2,83,252,193,140,81,252,193,142,81,252,193,144,81,252,193,146,81,252,193,148,81,252,193,150,81,252,193,152,81,252,193,154,81,252,193,156,81,252,193,96,82,252,193,98,82,252,193,100,82,252,193,102,82,252,193,104,82,252,193,106,82,252,193,108,82,252,193,110,82,252,193,62,83,252,193,64,83,252,193,66,83,252,193,68,83,252,193,70,83,252,193,72,83,252,193,74,83,252,193,76,83,252,193,78,83,252,193,80,83,252,193,82,83,252,193,84,83,252,193,92,84,252,193,94,84,252,193,96,84,252,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,193,250,81,252,193,252,81,252,193,254,81,252,193,2,82,252,193,4,82,252,193,198,82,252,193,200,82,252,193,202,82,252,193,204,82,252,193,206,82,252,193,218,83,252,193,220,83,252,193,222,83,252,193,224,83,252,193,226,83,252,193,228,83,252,193,230,83,252,193,232,83,252,193,234,83,252,193,236,83,252,193,8,85,252,193,10,85,252,193,12,85,252,193,14,85,252,193,16,85,252,193,18,85,252,193,20,85,252,206,0,55,0,206,0,55,0,206,0,55,0,206,0,55,0,206,0,55,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,193,186,82,252,193,188,82,252,193,190,82,252,193,192,82,252,193,194,82,252,193,196,82,252,193,190,83,252,193,192,83,252,193,194,83,252,193,196,83,252,193,198,83,252,193,200,83,252,193,202,83,252,193,204,83,252,193,206,83,252,193,208,83,252,193,210,83,252,193,212,83,252,193,214,83,252,193,230,84,252,193,232,84,252,193,234,84,252,193,236,84,252,193,238,84,252,193,240,84,252,193,242,84,252,193,244,84,252,193,246,84,252,193,248,84,252,193,250,84,252,193,252,84,252,193,254,84,252,193,232,82,252,193,12,84,252,193,14,84,252,193,16,84,252,193,18,84,252,193,38,85,252,193,40,85,252,193,42,85,252,193,44,85,252,193,244,85,252,193,246,85,252,193,190,86,252,193,192,86,252,193,194,86,252,193,140,87,252,193,142,87,252,193,144,87,252,193,146,87,252,193,148,87,252,193,44,88,252,193,46,88,252,193,238,88,252,193,240,88,252,193,42,89,252,193,44,89,252,193,82,89,252,193,106,89,252,193,160,89,252,193,210,89,252,193,244,89,252,193,8,90,252,193,10,90,252,193,4,83,252,193,6,83,252,193,8,83,252,193,10,83,252,193,12,83,252,193,14,83,252,193,16,83,252,193,18,83,252,193,20,83,252,193,22,83,252,193,24,83,252,193,26,83,252,193,28,83,252,193,30,83,252,193,32,83,252,193,34,83,252,193,36,83,252,193,38,83,252,193,40,83,252,193,42,83,252,193,44,83,252,193,46,83,252,193,48,83,252,193,50,83,252,193,52,83,252,193,54,83,252,193,56,83,252,193,58,83,252,193,60,83,252,193,22,84,252,193,24,84,252,193,26,84,252,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,193,6,84,252,193,8,84,252,193,10,84,252,193,22,85,252,193,24,85,252,193,26,85,252,193,28,85,252,193,30,85,252,193,32,85,252,193,34,85,252,193,36,85,252,193,236,85,252,193,238,85,252,193,240,85,252,193,242,85,252,193,176,86,252,193,178,86,252,193,180,86,252,193,182,86,252,193,184,86,252,193,186,86,252,193,188,86,252,193,120,87,252,193,122,87,252,193,124,87,252,193,126,87,252,193,128,87,252,193,130,87,252,193,132,87,252,193,134,87,252,193,136,87,252,193,138,87,252,193,28,84,252,193,30,84,252,193,32,84,252,193,34,84,252,193,36,84,252,193,38,84,252,193,40,84,252,193,42,84,252,193,44,84,252,193,46,84,252,193,48,84,252,193,50,84,252,193,52,84,252,193,54,84,252,193,56,84,252,193,58,84,252,193,60,84,252,193,62,84,252,193,64,84,252,193,66,84,252,193,68,84,252,193,70,84,252,193,72,84,252,193,74,84,252,193,76,84,252,193,78,84,252,193,80,84,252,193,82,84,252,193,84,84,252,193,86,84,252,193,88,84,252,193,90,84,252,193,98,84,252,193,100,84,252,193,102,84,252,193,104,84,252,193,106,84,252,193,108,84,252,193,110,84,252,193,96,85,252,193,98,85,252,193,100,85,252,193,102,85,252,193,38,86,252,193,40,86,252,193,42,86,252,193,44,86,252,193,46,86,252,193,48,86,252,193,50,86,252,193,52,86,252,193,54,86,252,193,56,86,252,193,238,86,252,193,240,86,252,193,242,86,252,193,244,86,252,193,246,86,252,193,248,86,252,193,250,86,252,193,252,86,252,193,184,87,252,193,186,87,252,193,188,87,252,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,193,2,85,252,193,4,85,252,193,6,85,252,193,188,85,252,193,190,85,252,193,192,85,252,193,194,85,252,193,196,85,252,193,198,85,252,193,200,85,252,193,202,85,252,193,204,85,252,193,206,85,252,193,208,85,252,193,210,85,252,193,212,85,252,193,148,86,252,193,150,86,252,193,152,86,252,193,154,86,252,193,156,86,252,193,158,86,252,193,160,86,252,193,84,87,252,193,86,87,252,193,88,87,252,193,90,87,252,193,92,87,252,193,94,87,252,193,96,87,252,193,98,87,252,193,100,87,252,193,46,85,252,193,48,85,252,193,50,85,252,193,52,85,252,193,54,85,252,193,56,85,252,193,58,85,252,193,60,85,252,193,62,85,252,193,64,85,252,193,66,85,252,193,68,85,252,193,70,85,252,193,72,85,252,193,74,85,252,193,76,85,252,193,78,85,252,193,80,85,252,193,82,85,252,193,84,85,252,193,86,85,252,193,88,85,252,193,90,85,252,193,92,85,252,193,94,85,252,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,0,55,0,206,0,55,0,206,0,55,0,206,0,55,0,206,0,55,0,193,164,86,252,193,166,86,252,193,168,86,252,193,170,86,252,193,172,86,252,193,174,86,252,193,104,87,252,193,106,87,252,193,108,87,252,193,110,87,252,193,112,87,252,193,114,87,252,193,116,87,252,193,118,87,252,193,18,88,252,193,20,88,252,193,22,88,252,193,24,88,252,193,142,88,252,193,144,88,252,193,146,88,252,193,228,88,252,193,34,89,252,193,36,89,252,193,38,89,252,193,134,89,252,193,146,89,252,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,193,196,86,252,193,34,86,252,193,198,86,252,193,200,86,252,193,202,86,252,193,204,86,252,193,36,86,252,193,206,86,252,193,208,86,252,193,210,86,252,193,212,86,252,193,214,86,252,193,216,86,252,193,218,86,252,193,220,86,252,193,222,86,252,193,224,86,252,193,226,86,252,193,228,86,252,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,193,254,86,252,193,146,86,252,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,193,230,86,252,193,232,86,252,193,150,87,252,193,234,86,252,193,236,86,252,193,152,87,252,193,154,87,252,193,156,87,252,193,158,87,252,193,160,87,252,193,162,87,252,193,164,87,252,193,166,87,252,193,168,87,252,193,170,87,252,193,172,87,252,193,174,87,252,193,176,87,252,193,178,87,252,193,180,87,252,193,182,87,252,193,48,88,252,193,50,88,252,193,52,88,252,193,54,88,252,193,56,88,252,193,58,88,252,193,60,88,252,193,62,88,252,193,64,88,252,193,66,88,252,193,68,88,252,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,193,102,87,252,193,6,88,252,193,8,88,252,193,10,88,252,193,12,88,252,193,14,88,252,193,16,88,252,193,138,88,252,193,140,88,252,193,222,88,252,193,224,88,252,193,226,88,252,193,26,89,252,193,28,89,252,193,30,89,252,193,32,89,252,193,76,89,252,193,126,89,252,193,132,89,252,193,166,89,252,193,182,89,252,193,6,90,252,193,136,90,252,193,176,90,252,193,178,90,252,193,226,90,252,193,136,91,252,193,138,91,252,193,206,91,252,193,252,91,252,193,254,91,252,193,160,92,252,193,190,87,252,193,192,87,252,193,194,87,252,193,174,88,252,193,176,88,252,193,178,88,252,193,180,88,252,193,2,89,252,193,110,89,252,193,168,89,252,193,170,89,252,193,190,89,252,193,192,89,252,193,214,89,252,193,216,89,252,193,228,89,252,193,12,90,252,193,14,90,252,193,16,90,252,193,28,90,252,193,30,90,252,193,60,90,252,193,96,90,252,193,112,90,252,193,124,90,252,193,126,90,252,193,158,90,252,193,160,90,252,193,194,90,252,193,196,90,252,193,198,90,252,193,200,90,252,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,193,26,88,252,193,28,88,252,193,30,88,252,193,32,88,252,193,34,88,252,193,36,88,252,193,38,88,252,193,40,88,252,193,42,88,252,193,148,88,252,193,150,88,252,193,152,88,252,193,154,88,252,193,230,88,252,193,232,88,252,193,234,88,252,193,236,88,252,193,40,89,252,193,78,89,252,193,80,89,252,193,100,89,252,193,102,89,252,193,104,89,252,193,184,89,252,193,208,89,252,193,56,90,252,193,68,90,252,193,106,90,252,193,108,90,252,193,184,90,252,193,28,91,252,193,30,91,252,193,70,88,252,193,72,88,252,193,74,88,252,193,156,88,252,193,158,88,252,193,160,88,252,193,162,88,252,193,164,88,252,193,166,88,252,193,168,88,252,193,170,88,252,193,172,88,252,193,242,88,252,193,244,88,252,193,246,88,252,193,248,88,252,193,250,88,252,193,252,88,252,193,254,88,252,193,46,89,252,193,48,89,252,193,50,89,252,193,52,89,252,193,84,89,252,193,86,89,252,193,88,89,252,193,108,89,252,193,128,89,252,193,158,89,252,193,162,89,252,193,186,89,252,193,188,89,252,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,193,182,88,252,193,184,88,252,193,186,88,252,193,188,88,252,193,190,88,252,193,192,88,252,193,194,88,252,193,196,88,252,193,198,88,252,193,200,88,252,193,202,88,252,193,136,88,252,193,204,88,252,193,206,88,252,193,208,88,252,193,210,88,252,193,212,88,252,193,214,88,252,193,216,88,252,193,218,88,252,193,220,88,252,193,4,89,252,193,6,89,252,193,8,89,252,193,10,89,252,193,12,89,252,193,14,89,252,193,16,89,252,193,18,89,252,193,20,89,252,193,22,89,252,193,24,89,252,193,54,89,252,193,56,89,252,193,58,89,252,193,60,89,252,193,62,89,252,193,64,89,252,193,66,89,252,193,68,89,252,193,70,89,252,193,72,89,252,193,74,89,252,193,90,89,252,193,92,89,252,193,94,89,252,193,96,89,252,193,98,89,252,193,112,89,252,193,114,89,252,193,116,89,252,193,118,89,252,193,120,89,252,193,122,89,252,193,124,89,252,193,130,89,252,193,226,189,252,193,150,89,252,193,136,89,252,193,138,89,252,193,140,89,252,193,142,89,252,193,144,89,252,193,152,89,252,193,156,89,252,193,164,89,252,193,172,89,252,193,174,89,252,193,176,89,252,193,178,89,252,193,180,89,252,193,194,89,252,193,196,89,252,193,198,89,252,193,200,89,252,193,202,89,252,193,218,89,252,193,220,89,252,193,222,89,252,193,224,89,252,193,226,89,252,193,230,89,252,193,232,89,252,193,234,89,252,193,236,89,252,193,238,89,252,193,240,89,252,193,148,89,252,193,154,89,252,193,204,89,252,193,206,89,252,193,118,90,252,193,138,90,252,193,180,90,252,193,182,90,252,193,20,91,252,193,22,91,252,193,24,91,252,193,26,91,252,193,140,91,252,193,142,91,252,193,208,91,252,193,2,92,252,193,122,92,252,193,252,92,252,193,6,93,252,193,72,93,252,193,102,93,252,193,104,93,252,193,128,93,252,193,152,93,252,193,154,93,252,193,156,93,252,193,166,93,252,193,168,93,252,193,170,93,252,193,234,93,252,193,236,93,252,193,92,94,252,193,212,89,252,193,246,89,252,193,48,90,252,193,72,90,252,193,80,90,252,193,92,90,252,193,104,90,252,193,110,90,252,193,120,90,252,193,122,90,252,193,140,90,252,193,142,90,252,193,144,90,252,193,146,90,252,193,148,90,252,193,150,90,252,193,152,90,252,193,154,90,252,193,156,90,252,193,188,90,252,193,190,90,252,193,192,90,252,193,228,90,252,193,230,90,252,193,232,90,252,193,36,91,252,193,38,91,252,193,40,91,252,193,42,91,252,193,84,91,252,193,86,91,252,193,88,91,252,193,242,89,252,193,248,89,252,193,250,89,252,193,252,89,252,193,254,89,252,193,2,90,252,193,4,90,252,193,32,90,252,193,18,90,252,193,20,90,252,193,22,90,252,193,24,90,252,193,26,90,252,193,34,90,252,193,50,90,252,193,52,90,252,193,36,90,252,193,38,90,252,193,40,90,252,193,42,90,252,193,44,90,252,193,46,90,252,193,54,90,252,193,58,90,252,193,62,90,252,193,64,90,252,193,66,90,252,193,74,90,252,193,76,90,252,193,78,90,252,193,82,90,252,193,84,90,252,193,70,90,252,193,86,90,252,193,186,90,252,193,146,91,252,193,148,91,252,193,210,91,252,193,212,91,252,193,222,92,252,193,224,92,252,193,236,92,252,193,242,92,252,193,74,93,252,193,82,93,252,193,106,93,252,193,132,93,252,193,172,93,252,193,246,93,252,193,252,93,252,193,254,93,252,193,6,94,252,193,54,94,252,193,94,94,252,193,96,94,252,193,98,94,252,193,152,94,252,193,32,95,252,193,34,95,252,193,36,95,252,193,38,95,252,193,40,95,252,193,42,95,252,193,142,95,252,193,88,90,252,193,90,90,252,193,94,90,252,193,98,90,252,193,100,90,252,193,102,90,252,193,114,90,252,193,116,90,252,193,128,90,252,193,130,90,252,193,132,90,252,193,134,90,252,193,162,90,252,193,164,90,252,193,166,90,252,193,168,90,252,193,170,90,252,193,172,90,252,193,174,90,252,193,204,90,252,193,206,90,252,193,208,90,252,193,210,90,252,193,212,90,252,193,214,90,252,193,216,90,252,193,218,90,252,193,220,90,252,193,222,90,252,193,224,90,252,193,246,90,252,193,248,90,252,193,202,90,252,193,234,90,252,193,236,90,252,193,238,90,252,193,240,90,252,193,242,90,252,193,244,90,252,193,44,91,252,193,46,91,252,193,48,91,252,193,50,91,252,193,94,91,252,193,96,91,252,193,98,91,252,193,100,91,252,193,102,91,252,193,104,91,252,193,106,91,252,193,160,91,252,193,162,91,252,193,164,91,252,193,166,91,252,193,168,91,252,193,170,91,252,193,220,91,252,193,222,91,252,193,224,91,252,193,16,92,252,193,18,92,252,193,20,92,252,193,22,92,252,193,50,92,252,193,250,90,252,193,252,90,252,193,254,90,252,193,2,91,252,193,4,91,252,193,6,91,252,193,8,91,252,193,10,91,252,193,12,91,252,193,14,91,252,193,16,91,252,193,18,91,252,193,52,91,252,193,54,91,252,193,56,91,252,193,58,91,252,193,60,91,252,193,62,91,252,193,64,91,252,193,66,91,252,193,68,91,252,193,70,91,252,193,72,91,252,193,74,91,252,193,76,91,252,193,78,91,252,193,80,91,252,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,193,32,91,252,193,34,91,252,193,82,91,252,193,144,91,252,193,4,92,252,193,108,92,252,193,110,92,252,193,132,92,252,193,134,92,252,193,162,92,252,193,192,92,252,193,194,92,252,193,234,92,252,193,254,92,252,193,8,93,252,193,10,93,252,193,18,93,252,193,50,93,252,193,52,93,252,193,54,93,252,193,80,93,252,193,130,93,252,193,190,93,252,193,192,93,252,193,238,93,252,193,244,93,252,193,4,94,252,193,12,94,252,193,20,94,252,193,52,94,252,193,14,95,252,193,16,95,252,193,90,91,252,193,92,91,252,193,150,91,252,193,152,91,252,193,154,91,252,193,156,91,252,193,158,91,252,193,214,91,252,193,216,91,252,193,218,91,252,193,6,92,252,193,8,92,252,193,10,92,252,193,12,92,252,193,14,92,252,193,42,92,252,193,44,92,252,193,46,92,252,193,48,92,252,193,82,92,252,193,84,92,252,193,86,92,252,193,112,92,252,193,136,92,252,193,188,92,252,193,196,92,252,193,210,92,252,193,230,92,252,193,232,92,252,193,244,92,252,193,246,92,252,193,36,93,252,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,193,172,91,252,193,174,91,252,193,176,91,252,193,178,91,252,193,180,91,252,193,182,91,252,193,184,91,252,193,186,91,252,193,188,91,252,193,190,91,252,193,192,91,252,193,132,91,252,193,194,91,252,193,196,91,252,193,198,91,252,193,200,91,252,193,202,91,252,193,204,91,252,206,224,55,0,206,224,55,0,206,224,55,0,206,224,55,0,206,224,55,0,206,224,55,0,206,224,55,0,206,224,55,0,193,24,92,252,193,26,92,252,193,28,92,252,193,30,92,252,193,32,92,252,193,34,92,252,193,36,92,252,193,38,92,252,193,40,92,252,193,64,92,252,193,66,92,252,193,68,92,252,193,70,92,252,193,72,92,252,193,74,92,252,193,76,92,252,193,78,92,252,193,134,91,252,193,80,92,252,193,92,92,252,193,94,92,252,193,96,92,252,193,98,92,252,193,100,92,252,193,102,92,252,193,104,92,252,193,106,92,252,193,52,92,252,193,54,92,252,193,56,92,252,193,58,92,252,193,60,92,252,193,62,92,252,193,88,92,252,193,90,92,252,193,114,92,252,193,116,92,252,193,152,92,252,193,176,92,252,193,180,92,252,193,226,92,252,193,248,92,252,193,2,93,252,193,12,93,252,193,24,93,252,193,114,93,252,193,174,93,252,193,178,93,252,193,66,94,252,193,68,94,252,193,70,94,252,193,182,94,252,193,184,94,252,193,186,94,252,193,68,95,252,193,70,95,252,193,174,95,252,193,176,95,252,193,24,96,252,193,118,92,252,193,120,92,252,193,124,92,252,193,126,92,252,193,128,92,252,193,130,92,252,193,138,92,252,193,140,92,252,193,142,92,252,193,144,92,252,193,146,92,252,193,148,92,252,193,150,92,252,193,154,92,252,193,156,92,252,193,158,92,252,193,164,92,252,193,166,92,252,193,168,92,252,193,170,92,252,193,172,92,252,193,174,92,252,193,178,92,252,193,182,92,252,193,184,92,252,193,186,92,252,193,190,92,252,193,198,92,252,193,200,92,252,193,202,92,252,193,204,92,252,193,206,92,252,193,240,92,252,193,42,93,252,193,100,93,252,193,146,93,252,193,148,93,252,193,150,93,252,193,216,93,252,193,90,94,252,193,148,94,252,193,4,95,252,193,6,95,252,193,8,95,252,193,10,95,252,193,120,95,252,193,122,95,252,193,124,95,252,193,126,95,252,193,222,95,252,193,224,95,252,193,72,96,252,193,74,96,252,193,76,96,252,193,78,96,252,193,80,96,252,193,178,96,252,193,180,96,252,193,182,96,252,193,232,96,252,193,234,96,252,193,40,97,252,193,42,97,252,193,94,97,252,193,56,93,252,193,76,93,252,193,84,93,252,193,86,93,252,193,108,93,252,193,110,93,252,193,112,93,252,193,158,93,252,193,208,93,252,193,210,93,252,193,212,93,252,193,218,93,252,193,220,93,252,193,240,93,252,193,242,93,252,193,8,94,252,193,32,94,252,193,34,94,252,193,36,94,252,193,38,94,252,193,40,94,252,193,42,94,252,193,46,94,252,193,56,94,252,193,58,94,252,193,60,94,252,193,62,94,252,193,100,94,252,193,64,94,252,193,102,94,252,193,104,94,252,193,106,94,252,193,202,93,252,193,204,93,252,193,206,93,252,193,214,93,252,193,222,93,252,193,230,93,252,193,232,93,252,193,250,93,252,193,2,94,252,193,10,94,252,193,14,94,252,193,16,94,252,193,18,94,252,193,22,94,252,193,24,94,252,193,26,94,252,193,30,94,252,193,28,94,252,193,44,94,252,193,48,94,252,193,50,94,252,193,74,94,252,193,76,94,252,193,78,94,252,193,80,94,252,193,82,94,252,193,84,94,252,193,86,94,252,193,88,94,252,193,124,94,252,193,126,94,252,193,128,94,252,193,108,94,252,193,110,94,252,193,112,94,252,193,114,94,252,193,116,94,252,193,118,94,252,193,154,94,252,193,156,94,252,193,158,94,252,193,160,94,252,193,162,94,252,193,164,94,252,193,166,94,252,193,168,94,252,193,170,94,252,193,172,94,252,193,174,94,252,193,176,94,252,193,178,94,252,193,180,94,252,193,44,95,252,193,46,95,252,193,48,95,252,193,50,95,252,193,52,95,252,193,54,95,252,193,56,95,252,193,58,95,252,193,60,95,252,193,62,95,252,193,64,95,252,193,66,95,252,193,130,94,252,193,132,94,252,193,134,94,252,193,136,94,252,193,138,94,252,193,140,94,252,193,142,94,252,193,144,94,252,193,146,94,252,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,193,150,94,252,193,12,95,252,193,128,95,252,193,130,95,252,193,228,95,252,193,230,95,252,193,232,95,252,193,82,96,252,193,84,96,252,193,86,96,252,193,88,96,252,193,184,96,252,193,44,97,252,193,46,97,252,193,48,97,252,193,50,97,252,193,52,97,252,193,54,97,252,193,56,97,252,193,100,97,252,193,102,97,252,193,166,97,252,193,208,97,252,193,210,97,252,193,58,98,252,193,144,98,252,193,180,98,252,193,2,99,252,193,4,99,252,193,122,99,252,193,124,99,252,193,126,99,252,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,193,72,95,252,193,74,95,252,193,76,95,252,193,78,95,252,193,80,95,252,193,82,95,252,193,84,95,252,193,86,95,252,193,88,95,252,193,90,95,252,193,92,95,252,193,94,95,252,193,96,95,252,193,98,95,252,193,100,95,252,193,102,95,252,193,104,95,252,193,106,95,252,193,108,95,252,193,110,95,252,193,18,95,252,193,20,95,252,193,22,95,252,193,24,95,252,193,26,95,252,193,28,95,252,193,30,95,252,193,132,95,252,193,134,95,252,193,136,95,252,193,138,95,252,193,140,95,252,193,234,95,252,193,236,95,252,193,238,95,252,193,240,95,252,193,242,95,252,193,244,95,252,193,246,95,252,193,248,95,252,193,90,96,252,193,92,96,252,193,94,96,252,193,96,96,252,193,98,96,252,193,100,96,252,193,102,96,252,193,186,96,252,193,188,96,252,193,190,96,252,193,192,96,252,193,194,96,252,193,144,95,252,193,146,95,252,193,148,95,252,193,150,95,252,193,152,95,252,193,154,95,252,193,250,95,252,193,252,95,252,193,254,95,252,193,2,96,252,193,4,96,252,193,104,96,252,193,196,96,252,193,246,96,252,193,248,96,252,193,62,97,252,193,64,97,252,193,66,97,252,193,120,97,252,193,122,97,252,193,174,97,252,193,176,97,252,193,178,97,252,193,180,97,252,193,182,97,252,193,184,97,252,193,186,97,252,193,244,97,252,193,16,98,252,193,36,98,252,193,88,98,252,193,92,98,252,193,110,107,252,193,156,95,252,193,158,95,252,193,160,95,252,193,162,95,252,193,164,95,252,193,166,95,252,193,168,95,252,193,16,169,252,193,170,95,252,193,6,96,252,193,8,96,252,193,10,96,252,193,12,96,252,193,14,96,252,193,16,96,252,193,172,95,252,193,198,96,252,193,18,96,252,193,20,96,252,193,22,96,252,193,106,96,252,193,108,96,252,193,110,96,252,193,112,96,252,193,114,96,252,193,116,96,252,193,200,96,252,193,202,96,252,193,204,96,252,193,250,96,252,193,252,96,252,193,26,96,252,193,118,96,252,193,120,96,252,193,122,96,252,193,124,96,252,193,206,96,252,193,254,96,252,193,2,97,252,193,4,97,252,193,74,97,252,193,128,97,252,193,190,97,252,193,192,97,252,193,220,97,252,193,248,97,252,193,50,98,252,193,138,98,252,193,192,98,252,193,194,98,252,193,232,98,252,193,234,98,252,193,236,98,252,193,238,98,252,193,38,99,252,193,40,99,252,193,42,99,252,193,44,99,252,193,46,99,252,193,48,99,252,193,198,99,252,193,200,99,252,193,202,99,252,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,193,208,96,252,193,210,96,252,193,212,96,252,193,214,96,252,193,216,96,252,193,218,96,252,193,220,96,252,193,222,96,252,193,224,96,252,193,226,96,252,193,228,96,252,193,230,96,252,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,193,236,96,252,193,238,96,252,193,240,96,252,193,242,96,252,193,244,96,252,193,58,97,252,193,60,97,252,193,104,97,252,193,106,97,252,193,108,97,252,193,110,97,252,193,112,97,252,193,114,97,252,193,116,97,252,193,118,97,252,193,168,97,252,193,170,97,252,193,172,97,252,193,212,97,252,193,214,97,252,193,240,97,252,193,242,97,252,193,12,98,252,193,14,98,252,193,34,98,252,193,48,98,252,193,60,98,252,193,66,98,252,193,82,98,252,193,86,98,252,193,108,98,252,193,116,98,252,193,68,97,252,193,70,97,252,193,72,97,252,193,124,97,252,193,126,97,252,193,188,97,252,193,216,97,252,193,218,97,252,193,246,97,252,193,38,98,252,193,40,98,252,193,100,98,252,193,110,98,252,193,118,98,252,193,128,98,252,193,130,98,252,193,150,98,252,193,152,98,252,193,176,98,252,193,182,98,252,193,184,98,252,193,186,98,252,193,188,98,252,193,190,98,252,193,214,98,252,193,216,98,252,193,218,98,252,193,220,98,252,193,222,98,252,193,224,98,252,193,226,98,252,193,228,98,252,193,96,97,252,193,98,97,252,193,164,97,252,193,206,97,252,193,10,98,252,193,30,98,252,193,32,98,252,193,170,98,252,193,114,99,252,193,116,99,252,193,118,99,252,193,120,99,252,193,34,100,252,193,36,100,252,193,38,100,252,193,166,100,252,193,100,101,252,193,102,101,252,193,60,102,252,193,246,102,252,193,248,102,252,193,250,102,252,193,188,103,252,193,190,103,252,193,254,104,252,193,2,105,252,193,206,105,252,193,96,107,252,193,98,107,252,193,150,107,252,193,254,107,252,193,2,108,252,206,128,56,0,206,128,56,0,206,128,56,0,206,128,56,0,193,194,97,252,193,196,97,252,193,198,97,252,193,200,97,252,193,202,97,252,193,222,97,252,193,224,97,252,193,226,97,252,193,228,97,252,193,230,97,252,193,232,97,252,193,234,97,252,193,236,97,252,193,250,97,252,193,238,97,252,193,252,97,252,193,254,97,252,193,2,98,252,193,4,98,252,193,6,98,252,193,8,98,252,193,18,98,252,193,20,98,252,193,22,98,252,193,24,98,252,193,26,98,252,193,28,98,252,193,42,98,252,193,44,98,252,193,46,98,252,193,52,98,252,193,54,98,252,193,56,98,252,193,62,98,252,193,64,98,252,193,68,98,252,193,70,98,252,193,72,98,252,193,74,98,252,193,76,98,252,193,78,98,252,193,80,98,252,193,84,98,252,193,90,98,252,193,94,98,252,193,96,98,252,193,98,98,252,193,102,98,252,193,104,98,252,193,106,98,252,193,112,98,252,193,120,98,252,193,114,98,252,193,132,98,252,193,134,98,252,193,136,98,252,193,140,98,252,193,142,98,252,193,158,98,252,193,162,98,252,193,122,98,252,193,124,98,252,193,146,98,252,193,154,98,252,193,156,98,252,193,160,98,252,193,130,99,252,193,132,99,252,193,54,100,252,193,56,100,252,193,180,100,252,193,182,100,252,193,184,100,252,193,186,100,252,193,114,101,252,193,116,101,252,193,118,101,252,193,120,101,252,193,122,101,252,193,70,102,252,193,72,102,252,193,74,102,252,193,76,102,252,193,4,103,252,193,6,103,252,193,8,103,252,193,10,103,252,193,12,103,252,193,14,103,252,193,16,103,252,193,196,103,252,193,90,104,252,193,126,98,252,193,148,98,252,193,134,99,252,193,136,99,252,193,138,99,252,193,140,99,252,193,142,99,252,193,144,99,252,193,146,99,252,193,58,100,252,193,60,100,252,193,188,100,252,193,190,100,252,193,124,101,252,193,126,101,252,193,128,101,252,193,78,102,252,193,80,102,252,193,82,102,252,193,84,102,252,193,86,102,252,193,18,103,252,193,20,103,252,193,22,103,252,193,24,103,252,193,26,103,252,193,198,103,252,193,200,103,252,193,202,103,252,193,204,103,252,193,108,104,252,193,110,104,252,193,164,98,252,193,166,98,252,193,168,98,252,193,172,98,252,193,174,98,252,193,178,98,252,193,196,98,252,193,198,98,252,193,200,98,252,193,202,98,252,193,204,98,252,193,206,98,252,193,208,98,252,193,210,98,252,193,212,98,252,193,240,98,252,193,242,98,252,193,244,98,252,193,246,98,252,193,248,98,252,193,250,98,252,193,252,98,252,193,254,98,252,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,193,230,98,252,193,6,99,252,193,8,99,252,193,10,99,252,193,12,99,252,193,14,99,252,193,16,99,252,193,18,99,252,193,20,99,252,193,22,99,252,193,24,99,252,193,26,99,252,193,28,99,252,193,30,99,252,193,32,99,252,193,34,99,252,193,148,99,252,193,150,99,252,193,152,99,252,193,154,99,252,193,156,99,252,193,158,99,252,193,160,99,252,193,162,99,252,193,164,99,252,193,166,99,252,193,36,99,252,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,193,128,99,252,193,42,100,252,193,44,100,252,193,46,100,252,193,48,100,252,193,50,100,252,193,52,100,252,193,168,100,252,193,170,100,252,193,172,100,252,193,174,100,252,193,176,100,252,193,178,100,252,193,104,101,252,193,106,101,252,193,108,101,252,193,110,101,252,193,112,101,252,193,62,102,252,193,64,102,252,193,66,102,252,193,68,102,252,193,252,102,252,193,254,102,252,193,2,103,252,193,194,103,252,193,86,104,252,193,88,104,252,193,4,105,252,193,6,105,252,193,126,105,252,193,54,106,252,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,193,62,100,252,193,64,100,252,193,66,100,252,193,68,100,252,193,70,100,252,193,72,100,252,193,74,100,252,193,76,100,252,193,78,100,252,193,80,100,252,193,82,100,252,193,84,100,252,193,86,100,252,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,193,204,99,252,193,206,99,252,193,208,99,252,193,210,99,252,193,212,99,252,193,214,99,252,193,216,99,252,193,218,99,252,193,220,99,252,193,222,99,252,193,88,100,252,193,90,100,252,193,92,100,252,193,94,100,252,193,96,100,252,193,98,100,252,193,100,100,252,193,102,100,252,193,104,100,252,193,234,100,252,193,236,100,252,193,238,100,252,193,240,100,252,193,242,100,252,193,244,100,252,193,246,100,252,193,248,100,252,193,250,100,252,193,252,100,252,193,254,100,252,193,2,101,252,193,4,101,252,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,193,10,101,252,193,12,101,252,193,14,101,252,193,16,101,252,193,18,101,252,193,20,101,252,193,22,101,252,193,24,101,252,193,26,101,252,193,28,101,252,193,30,101,252,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,193,6,101,252,193,8,101,252,193,184,101,252,193,186,101,252,193,188,101,252,193,190,101,252,193,192,101,252,193,194,101,252,193,196,101,252,193,198,101,252,193,128,102,252,193,130,102,252,193,132,102,252,193,134,102,252,193,136,102,252,193,138,102,252,193,140,102,252,193,142,102,252,193,144,102,252,193,146,102,252,193,148,102,252,193,150,102,252,193,62,103,252,193,64,103,252,193,66,103,252,193,68,103,252,193,70,103,252,193,72,103,252,193,74,103,252,193,76,103,252,193,78,103,252,193,80,103,252,193,32,101,252,193,34,101,252,193,36,101,252,193,38,101,252,193,40,101,252,193,42,101,252,193,44,101,252,193,46,101,252,193,48,101,252,193,50,101,252,193,52,101,252,193,54,101,252,193,56,101,252,193,58,101,252,193,60,101,252,193,62,101,252,193,64,101,252,193,66,101,252,193,68,101,252,193,70,101,252,193,72,101,252,193,74,101,252,193,76,101,252,193,78,101,252,193,80,101,252,193,82,101,252,193,84,101,252,193,86,101,252,193,88,101,252,193,90,101,252,193,92,101,252,193,94,101,252,193,96,101,252,193,98,101,252,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,193,88,102,252,193,90,102,252,193,92,102,252,193,94,102,252,193,96,102,252,193,98,102,252,193,100,102,252,193,102,102,252,193,104,102,252,193,106,102,252,193,108,102,252,193,110,102,252,193,112,102,252,193,114,102,252,193,116,102,252,193,118,102,252,193,120,102,252,193,122,102,252,193,28,103,252,193,30,103,252,193,32,103,252,193,34,103,252,193,36,103,252,193,38,103,252,193,124,102,252,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,193,40,103,252,193,42,103,252,193,44,103,252,193,46,103,252,193,48,103,252,193,50,103,252,193,52,103,252,193,126,102,252,193,54,103,252,193,56,103,252,193,58,103,252,193,60,103,252,193,206,103,252,193,208,103,252,193,210,103,252,193,212,103,252,193,214,103,252,193,216,103,252,193,218,103,252,193,220,103,252,193,222,103,252,193,224,103,252,193,226,103,252,193,228,103,252,193,230,103,252,193,232,103,252,193,234,103,252,193,236,103,252,193,238,103,252,193,240,103,252,193,242,103,252,193,244,103,252,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,193,82,103,252,193,84,103,252,193,248,103,252,193,250,103,252,193,252,103,252,193,254,103,252,193,2,104,252,193,4,104,252,193,6,104,252,193,142,104,252,193,144,104,252,193,60,105,252,193,62,105,252,193,64,105,252,193,66,105,252,193,68,105,252,193,70,105,252,193,146,105,252,193,148,105,252,193,150,105,252,193,228,105,252,193,26,106,252,193,28,106,252,193,30,106,252,193,66,106,252,193,86,106,252,193,108,106,252,193,110,106,252,193,144,106,252,193,18,107,252,193,62,107,252,193,122,107,252,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,193,8,104,252,193,10,104,252,193,12,104,252,193,114,104,252,193,116,104,252,193,118,104,252,193,120,104,252,193,122,104,252,193,124,104,252,193,126,104,252,193,128,104,252,193,130,104,252,193,132,104,252,193,246,103,252,193,134,104,252,193,136,104,252,193,138,104,252,193,140,104,252,193,28,105,252,193,30,105,252,193,32,105,252,193,34,105,252,193,36,105,252,193,38,105,252,193,40,105,252,193,42,105,252,193,44,105,252,193,46,105,252,193,48,105,252,193,50,105,252,193,52,105,252,193,54,105,252,193,56,105,252,193,58,105,252,193,138,105,252,193,14,104,252,193,16,104,252,193,18,104,252,193,20,104,252,193,22,104,252,193,24,104,252,193,26,104,252,193,28,104,252,193,30,104,252,193,32,104,252,193,34,104,252,193,36,104,252,193,38,104,252,193,40,104,252,193,42,104,252,193,44,104,252,193,46,104,252,193,48,104,252,193,50,104,252,193,52,104,252,193,54,104,252,193,56,104,252,193,58,104,252,193,60,104,252,193,62,104,252,193,64,104,252,193,66,104,252,193,68,104,252,193,70,104,252,193,72,104,252,193,74,104,252,193,76,104,252,193,78,104,252,193,80,104,252,193,82,104,252,193,146,104,252,193,148,104,252,193,150,104,252,193,152,104,252,193,154,104,252,193,156,104,252,193,158,104,252,193,160,104,252,193,162,104,252,193,164,104,252,193,166,104,252,193,168,104,252,193,170,104,252,193,172,104,252,193,174,104,252,193,176,104,252,193,178,104,252,193,180,104,252,193,182,104,252,193,184,104,252,193,186,104,252,193,188,104,252,193,190,104,252,193,192,104,252,193,194,104,252,193,196,104,252,193,198,104,252,193,84,104,252,193,200,104,252,193,92,104,252,193,94,104,252,193,96,104,252,193,98,104,252,193,100,104,252,193,102,104,252,193,104,104,252,193,106,104,252,193,8,105,252,193,10,105,252,193,12,105,252,193,14,105,252,193,16,105,252,193,18,105,252,193,128,105,252,193,130,105,252,193,208,105,252,193,210,105,252,193,212,105,252,193,214,105,252,193,216,105,252,193,8,106,252,193,10,106,252,193,12,106,252,193,58,106,252,193,120,106,252,193,122,106,252,193,140,106,252,193,148,106,252,193,158,106,252,193,180,106,252,193,182,106,252,193,112,104,252,193,20,105,252,193,22,105,252,193,24,105,252,193,26,105,252,193,132,105,252,193,134,105,252,193,136,105,252,193,218,105,252,193,14,106,252,193,80,106,252,193,154,106,252,193,166,106,252,193,168,106,252,193,184,106,252,193,192,106,252,193,218,106,252,193,228,106,252,193,8,107,252,193,50,107,252,193,52,107,252,193,170,107,252,193,210,107,252,193,212,107,252,193,214,107,252,193,8,108,252,193,68,108,252,193,70,108,252,193,72,108,252,193,186,108,252,193,32,109,252,193,110,109,252,193,202,104,252,193,204,104,252,193,206,104,252,193,208,104,252,193,210,104,252,193,212,104,252,193,214,104,252,193,216,104,252,193,218,104,252,193,220,104,252,193,222,104,252,193,224,104,252,193,226,104,252,193,228,104,252,193,230,104,252,193,232,104,252,193,234,104,252,193,236,104,252,193,238,104,252,193,240,104,252,193,242,104,252,193,244,104,252,193,246,104,252,193,248,104,252,193,250,104,252,193,252,104,252,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,193,140,105,252,193,142,105,252,193,220,105,252,193,144,105,252,193,222,105,252,193,224,105,252,193,226,105,252,193,16,106,252,193,18,106,252,193,20,106,252,193,22,106,252,193,24,106,252,193,60,106,252,193,62,106,252,193,64,106,252,193,82,106,252,193,84,106,252,193,104,106,252,193,106,106,252,193,130,106,252,193,142,106,252,193,152,106,252,193,156,106,252,193,164,106,252,193,170,106,252,193,172,106,252,193,174,106,252,193,202,106,252,193,204,106,252,193,250,106,252,193,252,106,252,193,254,106,252,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,193,230,105,252,193,232,105,252,193,234,105,252,193,236,105,252,193,238,105,252,193,240,105,252,193,242,105,252,193,244,105,252,193,246,105,252,193,248,105,252,193,250,105,252,193,252,105,252,193,254,105,252,193,2,106,252,193,4,106,252,193,6,106,252,193,32,106,252,193,34,106,252,193,36,106,252,193,38,106,252,193,40,106,252,193,42,106,252,193,44,106,252,193,46,106,252,193,48,106,252,193,50,106,252,193,52,106,252,193,68,106,252,193,70,106,252,193,72,106,252,193,74,106,252,193,76,106,252,193,88,106,252,193,90,106,252,193,92,106,252,193,94,106,252,193,96,106,252,193,98,106,252,193,100,106,252,193,102,106,252,193,112,106,252,193,114,106,252,193,116,106,252,193,118,106,252,193,124,106,252,193,126,106,252,193,128,106,252,193,132,106,252,193,56,106,252,193,78,106,252,193,214,106,252,193,6,107,252,193,100,107,252,193,102,107,252,193,154,107,252,193,156,107,252,193,198,107,252,193,200,107,252,193,4,108,252,193,52,108,252,193,54,108,252,193,56,108,252,193,58,108,252,193,106,108,252,193,108,108,252,193,10,109,252,193,72,109,252,193,102,109,252,193,104,109,252,193,190,109,252,193,38,110,252,193,216,110,252,193,4,111,252,193,6,111,252,193,72,111,252,193,74,111,252,193,138,111,252,193,140,111,252,193,142,111,252,193,182,111,252,193,134,106,252,193,136,106,252,193,138,106,252,193,146,106,252,193,150,106,252,193,160,106,252,193,162,106,252,193,176,106,252,193,178,106,252,193,186,106,252,193,188,106,252,193,190,106,252,193,194,106,252,193,196,106,252,193,198,106,252,193,206,106,252,193,208,106,252,193,210,106,252,193,212,106,252,193,220,106,252,193,222,106,252,193,224,106,252,193,230,106,252,193,234,106,252,193,236,106,252,193,240,106,252,193,242,106,252,193,248,106,252,193,244,106,252,193,2,107,252,193,4,107,252,193,20,107,252,193,200,106,252,193,216,106,252,193,226,106,252,193,232,106,252,193,238,106,252,193,246,106,252,193,26,107,252,193,42,107,252,193,44,107,252,193,46,107,252,193,48,107,252,193,104,107,252,193,106,107,252,193,108,107,252,193,158,107,252,193,160,107,252,193,162,107,252,193,164,107,252,193,166,107,252,193,168,107,252,193,202,107,252,193,204,107,252,193,206,107,252,193,208,107,252,193,6,108,252,193,60,108,252,193,62,108,252,193,64,108,252,193,66,108,252,193,110,108,252,193,112,108,252,193,142,108,252,193,10,107,252,193,12,107,252,193,14,107,252,193,16,107,252,193,28,107,252,193,54,107,252,193,56,107,252,193,58,107,252,193,60,107,252,193,112,107,252,193,114,107,252,193,116,107,252,193,118,107,252,193,120,107,252,193,172,107,252,193,174,107,252,193,176,107,252,193,178,107,252,193,216,107,252,193,218,107,252,193,220,107,252,193,222,107,252,193,224,107,252,193,10,108,252,193,12,108,252,193,14,108,252,193,114,108,252,193,116,108,252,193,118,108,252,193,120,108,252,193,122,108,252,193,144,108,252,193,22,107,252,193,24,107,252,193,30,107,252,193,32,107,252,193,34,107,252,193,36,107,252,193,38,107,252,193,40,107,252,193,64,107,252,193,66,107,252,193,68,107,252,193,70,107,252,193,72,107,252,193,74,107,252,193,76,107,252,193,78,107,252,193,80,107,252,193,82,107,252,193,84,107,252,193,86,107,252,193,88,107,252,193,90,107,252,193,92,107,252,193,94,107,252,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,193,184,107,252,193,186,107,252,193,188,107,252,193,190,107,252,193,192,107,252,193,194,107,252,193,196,107,252,193,228,107,252,193,230,107,252,193,232,107,252,193,234,107,252,193,236,107,252,193,238,107,252,193,240,107,252,193,242,107,252,193,244,107,252,193,246,107,252,193,248,107,252,193,250,107,252,193,252,107,252,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,193,180,107,252,193,182,107,252,193,16,108,252,193,74,108,252,193,76,108,252,193,124,108,252,193,150,108,252,193,208,108,252,193,242,108,252,193,20,109,252,193,36,109,252,193,52,109,252,193,54,109,252,193,78,109,252,193,80,109,252,193,120,109,252,193,122,109,252,193,166,109,252,193,204,109,252,193,206,109,252,193,4,110,252,193,6,110,252,193,48,110,252,193,50,110,252,193,78,110,252,193,118,110,252,193,154,110,252,193,202,110,252,193,232,110,252,193,234,110,252,193,28,111,252,193,30,111,252,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,193,78,108,252,193,80,108,252,193,82,108,252,193,84,108,252,193,86,108,252,193,88,108,252,193,90,108,252,193,92,108,252,193,94,108,252,193,96,108,252,193,98,108,252,193,100,108,252,193,126,108,252,193,128,108,252,193,130,108,252,193,132,108,252,193,134,108,252,193,136,108,252,193,138,108,252,193,152,108,252,193,154,108,252,193,156,108,252,193,158,108,252,193,160,108,252,193,48,108,252,193,50,108,252,193,102,108,252,193,104,108,252,193,140,108,252,193,250,108,252,193,50,109,252,193,70,109,252,193,34,110,252,193,36,110,252,193,252,110,252,193,254,110,252,193,68,111,252,193,70,111,252,193,136,111,252,193,178,111,252,193,180,111,252,193,228,111,252,193,230,111,252,193,20,112,252,193,22,112,252,193,82,112,252,193,146,112,252,193,202,112,252,193,204,112,252,193,236,112,252,193,8,113,252,193,58,113,252,193,82,113,252,193,106,113,252,193,122,113,252,193,228,113,252,193,146,108,252,193,148,108,252,193,164,108,252,193,166,108,252,193,168,108,252,193,170,108,252,193,188,108,252,193,190,108,252,193,192,108,252,193,206,108,252,193,228,108,252,193,230,108,252,193,240,108,252,193,4,109,252,193,26,109,252,193,34,109,252,193,74,109,252,193,76,109,252,193,118,109,252,193,162,109,252,193,164,109,252,193,200,109,252,193,250,109,252,193,252,109,252,193,254,109,252,193,2,110,252,193,46,110,252,193,76,110,252,193,106,110,252,193,116,110,252,193,152,110,252,193,184,110,252,193,162,108,252,193,202,108,252,193,204,108,252,193,106,109,252,193,108,109,252,193,140,109,252,193,142,109,252,193,144,109,252,193,146,109,252,193,148,109,252,193,150,109,252,193,192,109,252,193,236,109,252,193,238,109,252,193,240,109,252,193,40,110,252,193,42,110,252,193,66,110,252,193,68,110,252,193,70,110,252,193,102,110,252,193,104,110,252,193,114,110,252,193,138,110,252,193,148,110,252,193,150,110,252,193,176,110,252,193,182,110,252,193,8,111,252,193,76,111,252,193,78,111,252,193,80,111,252,193,172,108,252,193,174,108,252,193,176,108,252,193,178,108,252,193,180,108,252,193,182,108,252,193,184,108,252,193,194,108,252,193,196,108,252,193,198,108,252,193,200,108,252,193,210,108,252,193,212,108,252,193,214,108,252,193,216,108,252,193,218,108,252,193,220,108,252,193,222,108,252,193,224,108,252,193,226,108,252,193,232,108,252,193,234,108,252,193,236,108,252,193,238,108,252,193,244,108,252,193,246,108,252,193,248,108,252,193,252,108,252,193,254,108,252,193,2,109,252,193,6,109,252,193,8,109,252,193,12,109,252,193,14,109,252,193,16,109,252,193,18,109,252,193,22,109,252,193,24,109,252,193,28,109,252,193,30,109,252,193,38,109,252,193,40,109,252,193,42,109,252,193,44,109,252,193,46,109,252,193,48,109,252,193,56,109,252,193,58,109,252,193,60,109,252,193,62,109,252,193,64,109,252,193,66,109,252,193,68,109,252,193,82,109,252,193,84,109,252,193,86,109,252,193,88,109,252,193,90,109,252,193,92,109,252,193,94,109,252,193,96,109,252,193,98,109,252,193,100,109,252,193,124,109,252,193,112,109,252,193,114,109,252,193,116,109,252,193,152,109,252,193,154,109,252,193,156,109,252,193,158,109,252,193,160,109,252,193,194,109,252,193,196,109,252,193,198,109,252,193,242,109,252,193,244,109,252,193,246,109,252,193,248,109,252,193,44,110,252,193,72,110,252,193,74,110,252,193,194,110,252,193,196,110,252,193,198,110,252,193,218,110,252,193,82,111,252,193,84,111,252,193,86,111,252,193,88,111,252,193,190,111,252,193,192,111,252,193,254,111,252,193,50,112,252,193,52,112,252,193,54,112,252,193,126,109,252,193,128,109,252,193,130,109,252,193,132,109,252,193,134,109,252,193,136,109,252,193,138,109,252,193,168,109,252,193,170,109,252,193,172,109,252,193,174,109,252,193,176,109,252,193,178,109,252,193,180,109,252,193,182,109,252,193,208,109,252,193,184,109,252,193,186,109,252,193,188,109,252,193,210,109,252,193,212,109,252,193,214,109,252,193,216,109,252,193,218,109,252,193,220,109,252,193,222,109,252,193,224,109,252,193,226,109,252,193,228,109,252,193,230,109,252,193,232,109,252,193,234,109,252,193,8,110,252,193,10,110,252,193,12,110,252,193,14,110,252,193,16,110,252,193,18,110,252,193,20,110,252,193,22,110,252,193,24,110,252,193,26,110,252,193,28,110,252,193,30,110,252,193,32,110,252,193,52,110,252,193,54,110,252,193,56,110,252,193,58,110,252,193,60,110,252,193,62,110,252,193,64,110,252,193,80,110,252,193,82,110,252,193,84,110,252,193,86,110,252,193,88,110,252,193,90,110,252,193,92,110,252,193,94,110,252,193,96,110,252,193,98,110,252,193,100,110,252,193,108,110,252,193,110,110,252,193,112,110,252,193,120,110,252,193,122,110,252,193,124,110,252,193,126,110,252,193,128,110,252,193,130,110,252,193,132,110,252,193,134,110,252,193,136,110,252,193,140,110,252,193,142,110,252,193,144,110,252,193,146,110,252,193,156,110,252,193,158,110,252,193,160,110,252,193,162,110,252,193,164,110,252,193,166,110,252,193,168,110,252,193,170,110,252,193,172,110,252,193,174,110,252,193,178,110,252,193,180,110,252,193,196,218,253,193,208,218,253,193,214,218,253,193,218,218,253,193,190,110,252,193,186,110,252,193,188,110,252,193,200,110,252,193,220,110,252,193,222,110,252,193,224,110,252,193,226,110,252,193,228,110,252,193,230,110,252,193,10,111,252,193,12,111,252,193,14,111,252,193,16,111,252,193,18,111,252,193,20,111,252,193,22,111,252,193,24,111,252,193,26,111,252,193,90,111,252,193,92,111,252,193,94,111,252,193,96,111,252,193,98,111,252,193,100,111,252,193,102,111,252,193,148,111,252,193,150,111,252,193,104,111,252,193,152,111,252,193,194,111,252,193,196,111,252,193,198,111,252,193,192,110,252,193,204,110,252,193,206,110,252,193,208,110,252,193,210,110,252,193,212,110,252,193,236,110,252,193,238,110,252,193,240,110,252,193,242,110,252,193,244,110,252,193,246,110,252,193,248,110,252,193,250,110,252,193,34,111,252,193,36,111,252,193,38,111,252,193,40,111,252,193,42,111,252,193,44,111,252,193,46,111,252,193,48,111,252,193,50,111,252,193,52,111,252,193,54,111,252,193,56,111,252,193,58,111,252,193,60,111,252,193,62,111,252,193,64,111,252,193,110,111,252,193,112,111,252,193,32,111,252,193,106,111,252,193,108,111,252,193,154,111,252,193,200,111,252,193,202,111,252,193,10,112,252,193,106,112,252,193,108,112,252,193,164,112,252,193,246,112,252,193,52,113,252,193,70,113,252,193,120,113,252,193,136,113,252,193,138,113,252,193,184,113,252,193,186,113,252,193,188,113,252,193,190,113,252,193,192,113,252,193,46,114,252,193,48,114,252,193,50,114,252,193,52,114,252,193,54,114,252,193,56,114,252,193,58,114,252,193,60,114,252,193,62,114,252,193,64,114,252,193,2,115,252,193,114,111,252,193,116,111,252,193,118,111,252,193,120,111,252,193,122,111,252,193,124,111,252,193,126,111,252,193,128,111,252,193,130,111,252,193,132,111,252,193,134,111,252,193,66,111,252,193,156,111,252,193,158,111,252,193,160,111,252,193,162,111,252,193,164,111,252,193,166,111,252,193,168,111,252,193,170,111,252,193,172,111,252,193,174,111,252,193,176,111,252,193,204,111,252,193,206,111,252,193,208,111,252,193,210,111,252,193,212,111,252,193,214,111,252,193,216,111,252,193,218,111,252,193,220,111,252,193,144,111,252,193,146,111,252,193,188,111,252,193,246,111,252,193,248,111,252,193,250,111,252,193,252,111,252,193,40,112,252,193,42,112,252,193,44,112,252,193,46,112,252,193,48,112,252,193,86,112,252,193,88,112,252,193,90,112,252,193,92,112,252,193,150,112,252,193,214,112,252,193,242,112,252,193,20,113,252,193,22,113,252,193,66,113,252,193,96,113,252,193,164,113,252,193,166,113,252,193,168,113,252,193,234,113,252,193,236,113,252,193,238,113,252,193,240,113,252,193,168,114,252,193,170,114,252,193,184,111,252,193,186,111,252,193,234,111,252,193,236,111,252,193,238,111,252,193,240,111,252,193,242,111,252,193,244,111,252,193,24,112,252,193,26,112,252,193,28,112,252,193,30,112,252,193,32,112,252,193,34,112,252,193,36,112,252,193,38,112,252,193,84,112,252,193,148,112,252,193,206,112,252,193,208,112,252,193,210,112,252,193,212,112,252,193,238,112,252,193,240,112,252,193,10,113,252,193,12,113,252,193,14,113,252,193,16,113,252,193,18,113,252,193,50,113,252,193,60,113,252,193,62,113,252,193,222,111,252,193,224,111,252,193,226,111,252,193,12,112,252,193,14,112,252,193,16,112,252,193,18,112,252,193,58,112,252,193,60,112,252,193,62,112,252,193,64,112,252,193,66,112,252,193,68,112,252,193,70,112,252,193,72,112,252,193,74,112,252,193,76,112,252,193,78,112,252,193,80,112,252,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,193,2,112,252,193,4,112,252,193,6,112,252,193,8,112,252,193,56,112,252,193,100,112,252,193,102,112,252,193,104,112,252,193,158,112,252,193,160,112,252,193,162,112,252,193,216,112,252,193,218,112,252,193,26,113,252,193,128,113,252,193,134,113,252,193,172,113,252,193,174,113,252,193,176,113,252,193,178,113,252,193,180,113,252,193,182,113,252,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,193,94,112,252,193,96,112,252,193,98,112,252,193,152,112,252,193,154,112,252,193,156,112,252,193,244,112,252,193,24,113,252,193,68,113,252,193,88,113,252,193,118,113,252,193,170,113,252,193,242,113,252,193,244,113,252,193,246,113,252,193,248,113,252,193,250,113,252,193,184,114,252,193,186,114,252,193,188,114,252,193,190,114,252,193,136,115,252,193,138,115,252,193,140,115,252,193,142,115,252,193,144,115,252,193,146,115,252,193,148,115,252,193,150,115,252,193,86,116,252,193,88,116,252,193,90,116,252,193,234,112,252,193,250,112,252,193,252,112,252,193,254,112,252,193,2,113,252,193,4,113,252,193,6,113,252,193,28,113,252,193,30,113,252,193,32,113,252,193,34,113,252,193,36,113,252,193,38,113,252,193,40,113,252,193,42,113,252,193,44,113,252,193,46,113,252,193,48,113,252,193,54,113,252,193,72,113,252,193,74,113,252,193,76,113,252,193,78,113,252,193,80,113,252,193,90,113,252,193,92,113,252,193,98,113,252,193,100,113,252,193,102,113,252,193,104,113,252,193,94,113,252,193,108,113,252,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,193,4,222,252,193,6,222,252,193,8,222,252,193,10,222,252,193,12,222,252,193,14,222,252,193,16,222,252,193,18,222,252,193,20,222,252,193,32,222,252,193,34,222,252,193,36,222,252,193,38,222,252,193,40,222,252,193,46,222,252,193,48,222,252,193,50,222,252,193,56,113,252,193,52,222,252,193,54,222,252,193,56,222,252,193,64,222,252,193,66,222,252,193,68,222,252,193,64,113,252,193,84,113,252,193,86,113,252,193,112,113,252,193,114,113,252,193,232,113,252,193,164,114,252,193,166,114,252,193,110,115,252,193,112,115,252,193,114,115,252,193,116,115,252,193,118,115,252,193,120,115,252,193,122,115,252,193,124,115,252,193,58,116,252,193,60,116,252,193,62,116,252,193,64,116,252,193,66,116,252,193,68,116,252,193,44,117,252,193,46,117,252,193,20,118,252,193,22,118,252,193,24,118,252,193,26,118,252,193,18,119,252,193,20,119,252,193,224,119,252,193,226,119,252,193,110,113,252,193,116,113,252,193,124,113,252,193,126,113,252,193,130,113,252,193,132,113,252,193,140,113,252,193,142,113,252,193,144,113,252,193,146,113,252,193,148,113,252,193,150,113,252,193,152,113,252,193,154,113,252,193,156,113,252,193,158,113,252,193,160,113,252,193,162,113,252,193,194,113,252,193,196,113,252,193,198,113,252,193,200,113,252,193,202,113,252,193,204,113,252,193,206,113,252,193,208,113,252,193,210,113,252,193,212,113,252,193,214,113,252,193,216,113,252,193,218,113,252,193,220,113,252,193,222,113,252,193,224,113,252,193,226,113,252,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,193,230,113,252,193,158,114,252,193,160,114,252,193,162,114,252,193,100,115,252,193,102,115,252,193,104,115,252,193,106,115,252,193,50,116,252,193,52,116,252,193,54,116,252,193,40,117,252,193,42,117,252,193,12,118,252,193,14,118,252,193,16,118,252,193,18,118,252,193,10,119,252,193,12,119,252,193,14,119,252,193,16,119,252,193,216,119,252,193,218,119,252,193,220,119,252,193,222,119,252,193,162,120,252,193,164,120,252,193,166,120,252,193,94,121,252,193,96,121,252,193,98,121,252,193,100,121,252,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,193,172,114,252,193,174,114,252,193,176,114,252,193,178,114,252,193,180,114,252,193,182,114,252,193,126,115,252,193,128,115,252,193,130,115,252,193,132,115,252,193,134,115,252,193,70,116,252,193,72,116,252,193,74,116,252,193,76,116,252,193,78,116,252,193,80,116,252,193,82,116,252,193,84,116,252,193,48,117,252,193,50,117,252,193,52,117,252,193,54,117,252,193,56,117,252,193,58,117,252,193,28,118,252,193,30,118,252,193,32,118,252,193,34,118,252,193,36,118,252,193,38,118,252,193,40,118,252,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,193,152,115,252,193,154,115,252,193,156,115,252,193,158,115,252,193,160,115,252,193,162,115,252,193,164,115,252,193,166,115,252,193,168,115,252,193,170,115,252,193,172,115,252,193,174,115,252,193,176,115,252,193,178,115,252,193,180,115,252,193,182,115,252,193,184,115,252,193,186,115,252,193,254,114,252,193,4,115,252,193,6,115,252,193,8,115,252,193,10,115,252,193,12,115,252,193,14,115,252,193,16,115,252,193,190,115,252,193,192,115,252,193,194,115,252,193,196,115,252,193,198,115,252,193,200,115,252,193,202,115,252,193,204,115,252,193,132,116,252,193,134,116,252,193,136,116,252,193,138,116,252,193,140,116,252,193,142,116,252,193,144,116,252,193,146,116,252,193,148,116,252,193,150,116,252,193,152,116,252,193,154,116,252,193,156,116,252,193,158,116,252,193,160,116,252,193,162,116,252,193,164,116,252,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,193,96,116,252,193,188,115,252,193,98,116,252,193,100,116,252,193,102,116,252,193,104,116,252,193,106,116,252,193,108,116,252,193,110,116,252,193,112,116,252,193,114,116,252,193,116,116,252,193,118,116,252,193,120,116,252,193,122,116,252,193,124,116,252,193,126,116,252,193,128,116,252,193,76,117,252,193,78,117,252,193,80,117,252,193,82,117,252,193,84,117,252,193,86,117,252,193,88,117,252,193,90,117,252,193,92,117,252,193,94,117,252,193,96,117,252,193,98,117,252,193,100,117,252,193,102,117,252,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,193,92,116,252,193,94,116,252,193,60,117,252,193,62,117,252,193,64,117,252,193,66,117,252,193,68,117,252,193,70,117,252,193,72,117,252,193,74,117,252,193,48,118,252,193,50,118,252,193,52,118,252,193,54,118,252,193,56,118,252,193,58,118,252,193,60,118,252,193,62,118,252,193,64,118,252,193,66,118,252,193,68,118,252,193,48,119,252,193,50,119,252,193,52,119,252,193,246,119,252,193,248,119,252,193,250,119,252,193,252,119,252,193,254,119,252,193,2,120,252,193,192,120,252,193,194,120,252,193,166,116,252,193,130,117,252,193,132,117,252,193,134,117,252,193,136,117,252,193,138,117,252,193,140,117,252,193,142,117,252,193,144,117,252,193,146,117,252,193,122,118,252,193,124,118,252,193,126,118,252,193,128,118,252,193,130,118,252,193,132,118,252,193,134,118,252,193,136,118,252,193,138,118,252,193,140,118,252,193,142,118,252,193,144,118,252,193,146,118,252,193,80,119,252,193,82,119,252,193,84,119,252,193,86,119,252,193,88,119,252,193,90,119,252,193,92,119,252,193,94,119,252,193,96,119,252,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,193,154,117,252,193,32,117,252,193,34,117,252,193,36,117,252,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,193,104,117,252,193,70,118,252,193,106,117,252,193,108,117,252,193,110,117,252,193,112,117,252,193,114,117,252,193,116,117,252,193,118,117,252,193,120,117,252,193,122,117,252,193,124,117,252,193,126,117,252,193,128,117,252,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,193,8,118,252,193,10,118,252,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,193,42,118,252,193,44,118,252,193,46,118,252,193,22,119,252,193,24,119,252,193,26,119,252,193,28,119,252,193,30,119,252,193,32,119,252,193,34,119,252,193,36,119,252,193,38,119,252,193,40,119,252,193,42,119,252,193,44,119,252,193,46,119,252,193,236,119,252,193,238,119,252,193,240,119,252,193,242,119,252,193,244,119,252,193,176,120,252,193,178,120,252,193,180,120,252,193,182,120,252,193,184,120,252,193,186,120,252,193,188,120,252,193,190,120,252,193,108,121,252,193,110,121,252,193,112,121,252,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,193,54,119,252,193,56,119,252,193,58,119,252,193,60,119,252,193,62,119,252,193,64,119,252,193,66,119,252,193,68,119,252,193,70,119,252,193,72,119,252,193,74,119,252,193,76,119,252,193,78,119,252,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,193,98,119,252,193,100,119,252,193,36,120,252,193,38,120,252,193,40,120,252,193,42,120,252,193,44,120,252,193,46,120,252,193,48,120,252,193,50,120,252,193,52,120,252,193,240,120,252,193,242,120,252,193,244,120,252,193,246,120,252,193,248,120,252,193,250,120,252,193,252,120,252,193,254,120,252,193,2,121,252,193,144,121,252,193,146,121,252,193,148,121,252,193,150,121,252,193,152,121,252,193,154,121,252,193,156,121,252,193,98,122,252,193,100,122,252,193,102,122,252,193,104,122,252,193,156,122,252,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,193,214,119,252,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,193,228,119,252,193,230,119,252,193,232,119,252,193,234,119,252,193,168,120,252,193,170,120,252,193,172,120,252,193,174,120,252,193,104,121,252,193,106,121,252,193,72,122,252,193,192,122,252,193,24,123,252,193,68,123,252,193,150,123,252,193,180,123,252,193,92,124,252,193,94,124,252,193,184,124,252,193,186,124,252,193,232,124,252,193,86,125,252,193,98,125,252,193,112,125,252,193,122,125,252,193,162,125,252,193,214,125,252,193,216,125,252,193,218,125,252,193,102,126,252,193,104,126,252,193,106,126,252,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,193,200,120,252,193,202,120,252,193,204,120,252,193,206,120,252,193,208,120,252,193,210,120,252,193,212,120,252,193,214,120,252,193,216,120,252,193,218,120,252,193,220,120,252,193,222,120,252,193,224,120,252,193,226,120,252,193,228,120,252,193,230,120,252,193,232,120,252,193,234,120,252,193,236,120,252,193,238,120,252,193,122,121,252,193,124,121,252,193,126,121,252,193,128,121,252,193,130,121,252,193,132,121,252,193,134,121,252,193,136,121,252,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,193,160,120,252,193,92,121,252,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,193,196,120,252,193,198,120,252,193,118,121,252,193,120,121,252,193,250,121,252,193,252,121,252,193,254,121,252,193,84,122,252,193,86,122,252,193,146,122,252,193,202,122,252,193,232,122,252,193,52,123,252,193,62,123,252,193,80,123,252,193,100,123,252,193,114,123,252,193,152,123,252,193,18,124,252,193,28,124,252,193,64,124,252,193,66,124,252,193,98,124,252,193,188,124,252,193,238,124,252,193,240,124,252,193,10,125,252,193,40,125,252,193,42,125,252,193,44,125,252,193,58,125,252,193,60,125,252,193,102,121,252,193,70,122,252,193,144,122,252,193,188,122,252,193,190,122,252,193,48,123,252,193,78,123,252,193,136,123,252,193,56,124,252,193,58,124,252,193,150,124,252,193,230,124,252,193,6,125,252,193,30,125,252,193,32,125,252,193,116,125,252,193,120,125,252,193,96,126,252,193,98,126,252,193,100,126,252,193,66,127,252,193,68,127,252,193,70,127,252,193,72,127,252,193,74,127,252,193,36,128,252,193,38,128,252,193,40,128,252,193,42,128,252,193,44,128,252,193,214,128,252,193,216,128,252,193,114,121,252,193,116,121,252,193,236,121,252,193,238,121,252,193,240,121,252,193,242,121,252,193,244,121,252,193,246,121,252,193,248,121,252,193,74,122,252,193,76,122,252,193,78,122,252,193,80,122,252,193,82,122,252,193,194,122,252,193,196,122,252,193,198,122,252,193,200,122,252,193,230,122,252,193,12,123,252,193,14,123,252,193,56,123,252,193,60,123,252,193,96,123,252,193,98,123,252,193,110,123,252,193,112,123,252,193,198,123,252,193,208,123,252,193,26,124,252,193,60,124,252,193,62,124,252,193,138,121,252,193,140,121,252,193,142,121,252,193,2,122,252,193,4,122,252,193,6,122,252,193,8,122,252,193,10,122,252,193,12,122,252,193,14,122,252,193,16,122,252,193,88,122,252,193,90,122,252,193,92,122,252,193,94,122,252,193,96,122,252,193,148,122,252,193,150,122,252,193,152,122,252,193,154,122,252,193,234,122,252,193,254,122,252,193,26,123,252,193,2,123,252,193,16,123,252,193,18,123,252,193,28,123,252,193,54,123,252,193,70,123,252,193,82,123,252,193,116,123,252,193,118,123,252,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,193,18,122,252,193,20,122,252,193,22,122,252,193,24,122,252,193,26,122,252,193,28,122,252,193,30,122,252,193,32,122,252,193,34,122,252,193,36,122,252,193,38,122,252,193,40,122,252,193,42,122,252,193,44,122,252,193,46,122,252,193,48,122,252,193,50,122,252,193,52,122,252,193,54,122,252,193,56,122,252,193,58,122,252,193,60,122,252,193,48,144,253,193,62,122,252,193,64,122,252,193,66,122,252,193,68,122,252,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,193,160,122,252,193,162,122,252,193,164,122,252,193,166,122,252,193,168,122,252,193,170,122,252,193,172,122,252,193,174,122,252,193,176,122,252,193,178,122,252,193,180,122,252,193,182,122,252,193,184,122,252,193,206,122,252,193,208,122,252,193,210,122,252,193,212,122,252,193,214,122,252,193,216,122,252,193,158,122,252,193,204,122,252,193,236,122,252,193,238,122,252,193,20,123,252,193,50,123,252,193,64,123,252,193,72,123,252,193,102,123,252,193,154,123,252,193,210,123,252,193,212,123,252,193,214,123,252,193,246,123,252,193,8,124,252,193,70,124,252,193,72,124,252,193,104,124,252,193,106,124,252,193,160,124,252,193,192,124,252,193,242,124,252,193,136,125,252,193,148,125,252,193,186,125,252,193,188,125,252,193,28,126,252,193,30,126,252,193,32,126,252,193,34,126,252,193,36,126,252,193,210,126,252,193,218,122,252,193,220,122,252,193,186,122,252,193,222,122,252,193,88,27,253,193,224,122,252,193,226,122,252,193,228,122,252,193,240,122,252,193,242,122,252,193,244,122,252,193,246,122,252,193,248,122,252,193,250,122,252,193,252,122,252,193,4,123,252,193,6,123,252,193,8,123,252,193,10,123,252,193,22,123,252,193,30,123,252,193,32,123,252,193,34,123,252,193,36,123,252,193,38,123,252,193,40,123,252,193,42,123,252,193,44,123,252,193,46,123,252,193,58,123,252,193,66,123,252,193,74,123,252,193,76,123,252,193,84,123,252,193,86,123,252,193,88,123,252,193,90,123,252,193,92,123,252,193,94,123,252,193,104,123,252,193,106,123,252,193,108,123,252,193,120,123,252,193,122,123,252,193,124,123,252,193,126,123,252,193,128,123,252,193,130,123,252,193,132,123,252,193,134,123,252,193,142,123,252,193,144,123,252,193,146,123,252,193,148,123,252,193,156,123,252,193,158,123,252,193,160,123,252,193,162,123,252,193,164,123,252,193,166,123,252,193,168,123,252,193,170,123,252,193,172,123,252,193,174,123,252,193,138,123,252,193,10,124,252,193,16,124,252,193,20,124,252,193,30,124,252,193,32,124,252,193,36,124,252,193,38,124,252,193,40,124,252,193,68,124,252,193,100,124,252,193,102,124,252,193,156,124,252,193,158,124,252,193,190,124,252,193,68,125,252,193,70,125,252,193,102,125,252,193,114,125,252,193,134,125,252,193,142,125,252,193,144,125,252,193,146,125,252,193,164,125,252,193,166,125,252,193,168,125,252,193,170,125,252,193,172,125,252,193,174,125,252,193,176,125,252,193,178,125,252,193,180,125,252,193,176,123,252,193,178,123,252,193,182,123,252,193,184,123,252,193,186,123,252,193,188,123,252,193,190,123,252,193,192,123,252,193,194,123,252,193,196,123,252,193,200,123,252,193,202,123,252,193,204,123,252,193,206,123,252,193,224,123,252,193,216,123,252,193,218,123,252,193,220,123,252,193,222,123,252,193,226,123,252,193,228,123,252,193,230,123,252,193,232,123,252,193,234,123,252,193,236,123,252,193,238,123,252,193,240,123,252,193,242,123,252,193,244,123,252,193,254,123,252,193,248,123,252,193,250,123,252,193,252,123,252,193,2,124,252,193,4,124,252,193,6,124,252,193,12,124,252,193,14,124,252,193,22,124,252,193,24,124,252,193,34,124,252,193,42,124,252,193,44,124,252,193,46,124,252,193,48,124,252,193,50,124,252,193,52,124,252,193,54,124,252,193,74,124,252,193,76,124,252,193,78,124,252,193,80,124,252,193,82,124,252,193,84,124,252,193,86,124,252,193,88,124,252,193,90,124,252,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,193,96,124,252,193,152,124,252,193,154,124,252,193,234,124,252,193,236,124,252,193,8,125,252,193,34,125,252,193,36,125,252,193,38,125,252,193,56,125,252,193,118,125,252,193,220,125,252,193,222,125,252,193,114,126,252,193,116,126,252,193,88,127,252,193,90,127,252,193,92,127,252,193,94,127,252,193,96,127,252,193,98,127,252,193,54,128,252,193,56,128,252,193,58,128,252,193,60,128,252,193,236,128,252,193,238,128,252,193,240,128,252,193,242,128,252,193,244,128,252,193,246,128,252,193,248,128,252,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,193,164,124,252,193,166,124,252,193,168,124,252,193,170,124,252,193,172,124,252,193,174,124,252,193,176,124,252,193,178,124,252,193,180,124,252,193,182,124,252,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,193,244,124,252,193,246,124,252,193,248,124,252,193,250,124,252,193,252,124,252,193,254,124,252,193,2,125,252,193,4,125,252,193,12,125,252,193,14,125,252,193,16,125,252,193,18,125,252,193,20,125,252,193,22,125,252,193,24,125,252,193,26,125,252,193,28,125,252,193,46,125,252,193,48,125,252,193,50,125,252,193,52,125,252,193,54,125,252,193,62,125,252,193,64,125,252,193,66,125,252,193,100,125,252,193,224,125,252,193,118,126,252,193,120,126,252,193,122,126,252,193,124,126,252,193,126,126,252,193,128,126,252,193,130,126,252,193,132,126,252,193,100,127,252,193,102,127,252,193,104,127,252,193,106,127,252,193,108,127,252,193,110,127,252,193,62,128,252,193,64,128,252,193,66,128,252,193,68,128,252,193,70,128,252,193,72,128,252,193,74,128,252,193,76,128,252,193,78,128,252,206,64,61,0,206,64,61,0,206,64,61,0,206,64,61,0,193,72,125,252,193,74,125,252,193,76,125,252,193,78,125,252,193,80,125,252,193,82,125,252,193,84,125,252,193,88,125,252,193,90,125,252,193,92,125,252,193,94,125,252,193,96,125,252,193,104,125,252,193,106,125,252,193,108,125,252,193,110,125,252,193,128,125,252,193,124,125,252,193,126,125,252,193,130,125,252,193,132,125,252,193,138,125,252,193,140,125,252,193,150,125,252,193,152,125,252,193,154,125,252,193,156,125,252,193,158,125,252,193,160,125,252,193,190,125,252,193,192,125,252,193,194,125,252,193,182,125,252,193,184,125,252,193,228,125,252,193,230,125,252,193,232,125,252,193,234,125,252,193,236,125,252,193,238,125,252,193,240,125,252,193,242,125,252,193,244,125,252,193,246,125,252,193,248,125,252,193,250,125,252,193,252,125,252,193,254,125,252,193,2,126,252,193,4,126,252,193,6,126,252,193,8,126,252,193,10,126,252,193,12,126,252,193,14,126,252,193,16,126,252,193,18,126,252,193,20,126,252,193,22,126,252,193,24,126,252,193,26,126,252,193,134,126,252,193,136,126,252,193,138,126,252,193,196,125,252,193,198,125,252,193,200,125,252,193,202,125,252,193,204,125,252,193,206,125,252,193,208,125,252,193,210,125,252,193,212,125,252,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,193,108,126,252,193,110,126,252,193,112,126,252,193,76,127,252,193,78,127,252,193,80,127,252,193,82,127,252,193,84,127,252,193,86,127,252,193,46,128,252,193,48,128,252,193,50,128,252,193,52,128,252,193,226,128,252,193,228,128,252,193,230,128,252,193,232,128,252,193,234,128,252,193,236,129,252,193,238,129,252,193,240,129,252,193,242,129,252,193,204,130,252,193,206,130,252,193,208,130,252,193,210,130,252,193,212,130,252,193,140,131,252,193,52,132,252,193,54,132,252,193,56,132,252,193,240,132,252,193,140,126,252,193,142,126,252,193,144,126,252,193,146,126,252,193,148,126,252,193,150,126,252,193,152,126,252,193,154,126,252,193,156,126,252,193,158,126,252,193,160,126,252,193,162,126,252,193,164,126,252,193,166,126,252,193,168,126,252,193,170,126,252,193,172,126,252,193,174,126,252,193,176,126,252,193,178,126,252,193,180,126,252,193,182,126,252,193,184,126,252,193,186,126,252,193,188,126,252,193,190,126,252,193,192,126,252,193,194,126,252,193,196,126,252,193,198,126,252,193,200,126,252,193,202,126,252,193,204,126,252,193,206,126,252,193,112,127,252,193,114,127,252,193,116,127,252,193,118,127,252,193,120,127,252,193,122,127,252,193,124,127,252,193,126,127,252,193,128,127,252,193,130,127,252,193,132,127,252,193,134,127,252,193,136,127,252,193,138,127,252,193,140,127,252,193,142,127,252,193,144,127,252,193,146,127,252,193,148,127,252,193,150,127,252,193,152,127,252,193,154,127,252,193,156,127,252,193,158,127,252,193,160,127,252,193,162,127,252,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,193,212,126,252,193,214,126,252,193,216,126,252,193,218,126,252,193,220,126,252,193,222,126,252,193,224,126,252,193,226,126,252,193,228,126,252,193,166,127,252,193,168,127,252,193,170,127,252,193,172,127,252,193,174,127,252,193,176,127,252,193,178,127,252,193,136,128,252,193,138,128,252,193,140,128,252,193,142,128,252,193,144,128,252,193,146,128,252,193,148,128,252,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,193,20,129,252,193,22,129,252,193,24,129,252,193,26,129,252,193,28,129,252,193,30,129,252,193,20,130,252,193,32,129,252,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,193,218,128,252,193,220,128,252,193,222,128,252,193,224,128,252,193,224,129,252,193,226,129,252,193,228,129,252,193,230,129,252,193,232,129,252,193,234,129,252,193,200,130,252,193,202,130,252,193,134,131,252,193,136,131,252,193,138,131,252,193,40,132,252,193,42,132,252,193,44,132,252,193,46,132,252,193,48,132,252,193,50,132,252,193,234,132,252,193,236,132,252,193,238,132,252,193,112,133,252,193,114,133,252,193,116,133,252,193,192,133,252,193,194,133,252,193,196,133,252,193,86,134,252,193,154,134,252,193,250,128,252,193,252,128,252,193,244,129,252,193,246,129,252,193,248,129,252,193,250,129,252,193,252,129,252,193,254,129,252,193,2,130,252,193,4,130,252,193,6,130,252,193,8,130,252,193,214,130,252,193,216,130,252,193,218,130,252,193,220,130,252,193,222,130,252,193,224,130,252,193,226,130,252,193,228,130,252,193,230,130,252,193,232,130,252,193,142,131,252,193,144,131,252,193,146,131,252,193,148,131,252,193,150,131,252,206,0,62,0,206,0,62,0,206,0,62,0,206,0,62,0,206,0,62,0,206,64,61,0,206,64,61,0,206,64,61,0,206,64,61,0,206,64,61,0,206,64,61,0,193,10,130,252,193,12,130,252,193,14,130,252,193,16,130,252,193,18,130,252,193,234,130,252,193,236,130,252,193,238,130,252,193,240,130,252,193,242,130,252,193,244,130,252,193,152,131,252,193,154,131,252,193,156,131,252,193,158,131,252,193,160,131,252,193,162,131,252,193,164,131,252,193,166,131,252,193,76,132,252,193,78,132,252,193,80,132,252,193,82,132,252,193,84,132,252,193,86,132,252,193,88,132,252,193,34,129,252,193,36,129,252,193,38,129,252,193,40,129,252,193,42,129,252,193,44,129,252,193,46,129,252,193,48,129,252,193,50,129,252,193,52,129,252,193,54,129,252,193,56,129,252,193,58,129,252,193,60,129,252,193,62,129,252,193,64,129,252,193,66,129,252,193,68,129,252,193,70,129,252,193,72,129,252,193,74,129,252,193,76,129,252,193,78,129,252,193,80,129,252,193,82,129,252,193,84,129,252,193,86,129,252,193,88,129,252,193,90,129,252,193,22,130,252,193,24,130,252,193,26,130,252,193,28,130,252,193,30,130,252,193,32,130,252,193,34,130,252,193,36,130,252,193,38,130,252,193,40,130,252,193,42,130,252,193,44,130,252,193,46,130,252,193,48,130,252,193,50,130,252,193,52,130,252,193,54,130,252,193,56,130,252,193,58,130,252,193,92,129,252,193,60,130,252,193,62,130,252,193,64,130,252,193,66,130,252,193,68,130,252,193,70,130,252,193,72,130,252,193,74,130,252,193,76,130,252,193,246,130,252,193,248,130,252,193,250,130,252,193,252,130,252,193,254,130,252,193,2,131,252,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,193,80,130,252,193,82,130,252,193,84,130,252,193,86,130,252,193,88,130,252,193,90,130,252,193,92,130,252,193,94,130,252,193,96,130,252,193,58,131,252,193,60,131,252,193,62,131,252,193,64,131,252,193,66,131,252,193,68,131,252,193,70,131,252,193,206,131,252,193,208,131,252,193,210,131,252,193,212,131,252,193,214,131,252,193,216,131,252,193,218,131,252,193,138,132,252,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,193,4,131,252,193,78,130,252,193,6,131,252,193,8,131,252,193,10,131,252,193,12,131,252,193,14,131,252,193,16,131,252,193,18,131,252,193,20,131,252,193,22,131,252,193,24,131,252,193,26,131,252,193,28,131,252,193,30,131,252,193,32,131,252,193,34,131,252,193,36,131,252,193,38,131,252,193,40,131,252,193,42,131,252,193,44,131,252,193,46,131,252,193,48,131,252,193,50,131,252,193,52,131,252,193,168,131,252,193,170,131,252,193,54,131,252,193,172,131,252,193,174,131,252,193,176,131,252,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,193,178,131,252,193,180,131,252,193,182,131,252,193,184,131,252,193,56,131,252,193,186,131,252,193,188,131,252,193,190,131,252,193,192,131,252,193,194,131,252,193,196,131,252,193,198,131,252,193,200,131,252,193,202,131,252,193,204,131,252,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,193,220,131,252,193,140,132,252,193,142,132,252,193,144,132,252,193,146,132,252,193,148,132,252,193,150,132,252,193,152,132,252,193,154,132,252,193,58,133,252,193,60,133,252,193,62,133,252,193,64,133,252,193,66,133,252,193,68,133,252,193,70,133,252,193,156,133,252,193,234,133,252,193,236,133,252,193,238,133,252,193,56,134,252,193,58,134,252,193,60,134,252,193,62,134,252,193,92,134,252,193,94,134,252,193,164,134,252,193,184,134,252,193,222,134,252,193,56,135,252,193,58,135,252,193,60,135,252,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,0,62,0,206,0,62,0,206,0,62,0,206,0,62,0,193,250,132,252,193,252,132,252,193,254,132,252,193,2,133,252,193,4,133,252,193,6,133,252,193,122,133,252,193,124,133,252,193,126,133,252,193,128,133,252,193,130,133,252,193,132,133,252,193,202,133,252,193,204,133,252,193,206,133,252,193,208,133,252,193,36,134,252,193,88,134,252,193,156,134,252,193,158,134,252,193,160,134,252,193,176,134,252,193,178,134,252,193,194,134,252,193,236,134,252,193,238,134,252,193,20,135,252,193,120,135,252,193,90,132,252,193,8,133,252,193,10,133,252,193,12,133,252,193,14,133,252,193,16,133,252,193,18,133,252,193,20,133,252,193,22,133,252,193,210,133,252,193,38,134,252,193,128,134,252,193,130,134,252,193,22,135,252,193,24,135,252,193,26,135,252,193,28,135,252,193,126,135,252,193,128,135,252,193,26,136,252,193,28,136,252,193,30,136,252,193,156,136,252,193,158,136,252,193,160,136,252,193,162,136,252,193,164,136,252,193,166,136,252,193,168,136,252,193,170,136,252,193,172,136,252,193,174,136,252,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,193,24,133,252,193,26,133,252,193,28,133,252,193,30,133,252,193,32,133,252,193,34,133,252,193,36,133,252,193,38,133,252,193,40,133,252,193,42,133,252,193,44,133,252,193,46,133,252,193,48,133,252,193,50,133,252,193,52,133,252,193,54,133,252,193,56,133,252,193,134,133,252,193,136,133,252,193,138,133,252,193,140,133,252,193,142,133,252,193,144,133,252,193,146,133,252,193,148,133,252,193,150,133,252,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,193,242,132,252,193,244,132,252,193,246,132,252,193,248,132,252,193,118,133,252,193,120,133,252,193,198,133,252,193,200,133,252,193,34,134,252,193,124,134,252,193,126,134,252,193,174,134,252,193,18,135,252,193,112,135,252,193,114,135,252,193,116,135,252,193,118,135,252,193,252,135,252,193,254,135,252,193,2,136,252,193,130,136,252,193,132,136,252,193,26,137,252,193,28,137,252,193,30,137,252,193,32,137,252,193,34,137,252,193,36,137,252,193,38,137,252,193,40,137,252,193,186,137,252,193,188,137,252,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,193,158,133,252,193,160,133,252,193,162,133,252,193,164,133,252,193,166,133,252,193,168,133,252,193,170,133,252,193,172,133,252,193,174,133,252,193,176,133,252,193,178,133,252,193,180,133,252,193,182,133,252,193,184,133,252,193,186,133,252,193,188,133,252,193,190,133,252,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,193,152,133,252,193,154,133,252,193,212,133,252,193,214,133,252,193,216,133,252,193,218,133,252,193,220,133,252,193,222,133,252,193,224,133,252,193,226,133,252,193,228,133,252,193,230,133,252,193,232,133,252,193,40,134,252,193,42,134,252,193,44,134,252,193,46,134,252,193,48,134,252,193,50,134,252,193,52,134,252,193,54,134,252,193,90,134,252,193,132,134,252,193,134,134,252,193,162,134,252,193,180,134,252,193,210,134,252,193,212,134,252,193,216,134,252,193,220,134,252,193,240,134,252,193,242,134,252,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,193,64,134,252,193,66,134,252,193,68,134,252,193,70,134,252,193,72,134,252,193,74,134,252,193,76,134,252,193,78,134,252,193,80,134,252,193,82,134,252,193,84,134,252,193,96,134,252,193,98,134,252,193,100,134,252,193,102,134,252,193,104,134,252,193,106,134,252,193,108,134,252,193,110,134,252,193,112,134,252,193,114,134,252,193,116,134,252,193,118,134,252,193,120,134,252,193,122,134,252,193,136,134,252,193,138,134,252,193,140,134,252,193,142,134,252,193,144,134,252,193,146,134,252,193,148,134,252,193,150,134,252,193,152,134,252,193,166,134,252,193,168,134,252,193,196,165,253,193,170,134,252,193,172,134,252,193,182,134,252,193,186,134,252,193,188,134,252,193,190,134,252,193,192,134,252,193,196,134,252,193,198,134,252,193,200,134,252,193,202,134,252,193,204,134,252,193,206,134,252,193,208,134,252,193,214,134,252,193,218,134,252,193,224,134,252,193,226,134,252,193,228,134,252,193,230,134,252,193,232,134,252,193,234,134,252,193,252,134,252,193,254,134,252,193,2,135,252,193,4,135,252,193,6,135,252,193,8,135,252,193,10,135,252,193,12,135,252,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,193,244,134,252,193,246,134,252,193,248,134,252,193,250,134,252,193,30,135,252,193,32,135,252,193,34,135,252,193,36,135,252,193,38,135,252,193,40,135,252,193,42,135,252,193,44,135,252,193,46,135,252,193,48,135,252,193,50,135,252,193,130,135,252,193,132,135,252,193,134,135,252,193,136,135,252,193,138,135,252,193,140,135,252,193,142,135,252,193,144,135,252,193,146,135,252,193,148,135,252,193,150,135,252,193,152,135,252,193,154,135,252,193,156,135,252,193,158,135,252,193,160,135,252,193,162,135,252,193,14,135,252,193,16,135,252,193,108,135,252,193,110,135,252,193,246,135,252,193,248,135,252,193,250,135,252,193,120,136,252,193,122,136,252,193,124,136,252,193,126,136,252,193,14,137,252,193,16,137,252,193,18,137,252,193,20,137,252,193,22,137,252,193,166,137,252,193,168,137,252,193,170,137,252,193,172,137,252,193,174,137,252,193,176,137,252,193,178,137,252,193,180,137,252,193,182,137,252,193,184,137,252,193,88,138,252,193,90,138,252,193,186,138,252,193,188,138,252,193,190,138,252,193,192,138,252,193,114,27,253,193,148,27,253,193,150,27,253,193,154,27,253,193,156,27,253,193,158,27,253,193,52,135,252,193,160,27,253,193,162,27,253,193,164,27,253,193,180,27,253,193,188,27,253,193,198,27,253,193,200,27,253,193,204,27,253,193,216,27,253,193,222,27,253,193,224,27,253,193,240,27,253,193,252,27,253,193,254,27,253,193,24,28,253,193,26,28,253,193,28,28,253,193,30,28,253,193,32,28,253,193,92,28,253,193,94,28,253,193,142,28,253,193,96,28,253,193,98,28,253,193,144,28,253,193,62,135,252,193,170,135,252,193,172,135,252,193,174,135,252,193,56,136,252,193,58,136,252,193,60,136,252,193,200,136,252,193,202,136,252,193,204,136,252,193,206,136,252,193,90,137,252,193,92,137,252,193,94,137,252,193,96,137,252,193,98,137,252,193,100,137,252,193,102,137,252,193,104,137,252,193,14,138,252,193,16,138,252,193,18,138,252,193,20,138,252,193,22,138,252,193,142,138,252,193,144,138,252,193,222,138,252,193,224,138,252,193,226,138,252,193,228,138,252,193,230,138,252,193,70,139,252,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,193,122,135,252,193,124,135,252,193,4,136,252,193,6,136,252,193,8,136,252,193,10,136,252,193,12,136,252,193,14,136,252,193,16,136,252,193,18,136,252,193,20,136,252,193,22,136,252,193,24,136,252,193,134,136,252,193,136,136,252,193,138,136,252,193,140,136,252,193,142,136,252,193,144,136,252,193,146,136,252,193,148,136,252,193,150,136,252,193,152,136,252,193,154,136,252,193,42,137,252,193,44,137,252,193,46,137,252,193,48,137,252,193,50,137,252,193,52,137,252,193,54,137,252,193,208,137,252,193,164,135,252,193,166,135,252,193,168,135,252,193,32,136,252,193,34,136,252,193,36,136,252,193,176,136,252,193,38,136,252,193,40,136,252,193,42,136,252,193,44,136,252,193,46,136,252,193,48,136,252,193,50,136,252,193,52,136,252,193,54,136,252,193,178,136,252,193,180,136,252,193,182,136,252,193,184,136,252,193,186,136,252,193,188,136,252,193,190,136,252,193,192,136,252,193,194,136,252,206,32,63,0,206,32,63,0,206,32,63,0,206,32,63,0,206,32,63,0,206,32,63,0,206,32,63,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,32,63,0,206,32,63,0,206,32,63,0,206,32,63,0,193,196,136,252,193,86,137,252,193,88,137,252,193,230,137,252,193,232,137,252,193,234,137,252,193,236,137,252,193,238,137,252,193,240,137,252,193,242,137,252,193,244,137,252,193,246,137,252,193,248,137,252,193,250,137,252,193,252,137,252,193,254,137,252,193,2,138,252,193,4,138,252,193,6,138,252,193,8,138,252,193,10,138,252,193,12,138,252,206,128,63,0,206,128,63,0,206,128,63,0,206,128,63,0,206,128,63,0,206,128,63,0,193,140,24,253,193,150,24,253,193,170,24,253,193,186,24,253,193,188,24,253,193,206,24,253,193,4,25,253,193,12,25,253,193,14,25,253,193,32,25,253,193,36,25,253,193,42,25,253,193,48,25,253,193,54,25,253,193,56,25,253,193,74,25,253,193,76,25,253,193,78,25,253,193,80,25,253,193,82,25,253,193,84,25,253,193,124,25,253,193,198,136,252,193,126,25,253,193,128,25,253,193,50,25,253,193,130,25,253,193,176,25,253,193,178,25,253,193,230,25,253,193,232,25,253,193,234,25,253,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,193,56,137,252,193,58,137,252,193,60,137,252,193,62,137,252,193,218,137,252,193,220,137,252,193,222,137,252,193,224,137,252,193,226,137,252,193,228,137,252,193,114,138,252,193,116,138,252,193,118,138,252,193,120,138,252,193,210,138,252,193,212,138,252,193,214,138,252,193,56,139,252,193,58,139,252,193,132,139,252,193,186,139,252,193,240,139,252,193,242,139,252,193,2,140,252,193,30,140,252,193,80,140,252,193,108,140,252,193,194,140,252,193,2,141,252,193,130,141,252,193,132,141,252,193,16,142,252,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,193,190,137,252,193,192,137,252,193,194,137,252,193,196,137,252,193,198,137,252,193,200,137,252,193,202,137,252,193,204,137,252,193,206,137,252,193,92,138,252,193,94,138,252,193,96,138,252,193,98,138,252,193,100,138,252,193,194,138,252,193,196,138,252,193,198,138,252,193,26,139,252,193,28,139,252,193,30,139,252,193,32,139,252,193,34,139,252,193,36,139,252,193,38,139,252,193,116,139,252,193,118,139,252,193,120,139,252,193,180,139,252,193,212,139,252,193,18,140,252,193,136,140,252,193,150,140,252,193,210,137,252,193,212,137,252,193,214,137,252,193,216,137,252,193,102,138,252,193,104,138,252,193,106,138,252,193,108,138,252,193,110,138,252,193,112,138,252,193,200,138,252,193,202,138,252,193,204,138,252,193,206,138,252,193,208,138,252,193,40,139,252,193,42,139,252,193,44,139,252,193,46,139,252,193,48,139,252,193,50,139,252,193,52,139,252,193,54,139,252,193,122,139,252,193,124,139,252,193,126,139,252,193,128,139,252,193,130,139,252,193,182,139,252,193,184,139,252,193,214,139,252,193,216,139,252,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,193,148,138,252,193,150,138,252,193,152,138,252,193,154,138,252,193,156,138,252,193,158,138,252,193,160,138,252,193,162,138,252,193,164,138,252,193,166,138,252,193,168,138,252,193,170,138,252,193,172,138,252,193,174,138,252,193,176,138,252,193,178,138,252,193,180,138,252,193,182,138,252,193,184,138,252,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,128,63,0,206,128,63,0,206,128,63,0,206,128,63,0,193,216,138,252,193,218,138,252,193,220,138,252,193,60,139,252,193,62,139,252,193,64,139,252,193,66,139,252,193,68,139,252,193,134,139,252,193,136,139,252,193,138,139,252,193,140,139,252,193,188,139,252,193,190,139,252,193,218,139,252,193,4,140,252,193,6,140,252,193,32,140,252,193,48,140,252,193,50,140,252,193,88,140,252,193,92,140,252,193,94,140,252,193,98,140,252,193,102,140,252,193,110,140,252,193,156,140,252,193,168,140,252,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,193,72,139,252,193,74,139,252,193,76,139,252,193,78,139,252,193,80,139,252,193,82,139,252,193,84,139,252,193,86,139,252,193,88,139,252,193,90,139,252,193,92,139,252,193,94,139,252,193,96,139,252,193,98,139,252,193,100,139,252,193,102,139,252,193,104,139,252,193,106,139,252,193,22,139,252,193,24,139,252,193,178,139,252,193,210,139,252,193,70,140,252,193,144,140,252,193,166,140,252,193,252,140,252,193,100,141,252,193,102,141,252,193,244,141,252,193,246,141,252,193,248,141,252,193,250,141,252,193,146,142,252,193,148,142,252,193,150,142,252,193,152,142,252,193,28,143,252,193,30,143,252,193,32,143,252,193,34,143,252,193,36,143,252,193,38,143,252,193,40,143,252,193,226,143,252,193,228,143,252,193,230,143,252,193,176,144,252,193,178,144,252,193,180,144,252,193,182,144,252,193,108,139,252,193,110,139,252,193,112,139,252,193,148,139,252,193,150,139,252,193,152,139,252,193,154,139,252,193,156,139,252,193,158,139,252,193,160,139,252,193,162,139,252,193,164,139,252,193,166,139,252,193,168,139,252,193,170,139,252,193,172,139,252,193,174,139,252,193,176,139,252,193,194,139,252,193,196,139,252,193,198,139,252,193,200,139,252,193,202,139,252,193,204,139,252,193,206,139,252,193,208,139,252,193,222,139,252,193,224,139,252,193,226,139,252,193,228,139,252,193,230,139,252,193,232,139,252,193,144,139,252,193,146,139,252,193,192,139,252,193,220,139,252,193,244,139,252,193,86,140,252,193,178,140,252,193,180,140,252,193,210,140,252,193,212,140,252,193,214,140,252,193,216,140,252,193,218,140,252,193,220,140,252,193,30,141,252,193,32,141,252,193,34,141,252,193,36,141,252,193,38,141,252,193,40,141,252,193,42,141,252,193,44,141,252,193,184,141,252,193,186,141,252,193,188,141,252,193,190,141,252,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,193,234,139,252,193,236,139,252,193,238,139,252,193,20,140,252,193,22,140,252,193,24,140,252,193,26,140,252,193,28,140,252,193,46,140,252,193,60,140,252,193,62,140,252,193,64,140,252,193,106,140,252,193,146,140,252,193,152,140,252,193,192,140,252,193,254,140,252,193,112,141,252,193,114,141,252,193,116,141,252,193,118,141,252,193,120,141,252,193,122,141,252,193,124,141,252,193,126,141,252,193,128,141,252,193,2,142,252,193,4,142,252,193,6,142,252,193,8,142,252,193,10,142,252,193,12,142,252,193,246,139,252,193,248,139,252,193,250,139,252,193,252,139,252,193,254,139,252,193,8,140,252,193,10,140,252,193,12,140,252,193,14,140,252,193,16,140,252,193,34,140,252,193,36,140,252,193,38,140,252,193,40,140,252,193,42,140,252,193,44,140,252,193,52,140,252,193,54,140,252,193,56,140,252,193,58,140,252,193,66,140,252,193,68,140,252,193,72,140,252,193,74,140,252,193,76,140,252,193,82,140,252,193,84,140,252,193,90,140,252,193,96,140,252,193,100,140,252,193,104,140,252,193,114,140,252,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,193,78,140,252,193,120,252,252,193,122,252,252,193,124,252,252,193,126,252,252,193,128,252,252,193,130,252,252,193,132,252,252,193,134,252,252,193,142,252,252,193,144,252,252,193,146,252,252,193,148,252,252,193,170,252,252,193,154,252,252,193,156,252,252,193,160,252,252,193,164,252,252,193,172,252,252,193,168,252,252,193,162,252,252,193,184,252,252,193,198,252,252,193,200,252,252,193,202,252,252,193,228,252,252,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,193,192,232,252,193,194,232,252,193,196,232,252,193,112,140,252,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,64,76,0,206,64,76,0,206,64,76,0,206,64,76,0,206,64,76,0,193,180,217,252,193,182,217,252,193,184,217,252,193,186,217,252,193,188,217,252,193,190,217,252,193,192,217,252,193,194,217,252,193,196,217,252,193,198,217,252,193,214,217,252,193,216,217,252,193,218,217,252,193,220,217,252,193,222,217,252,193,134,140,252,193,224,217,252,193,226,217,252,193,228,217,252,193,232,217,252,193,234,217,252,193,236,217,252,193,238,217,252,193,240,217,252,193,242,217,252,193,244,217,252,193,246,217,252,193,170,140,252,193,172,140,252,193,174,140,252,193,176,140,252,193,196,140,252,193,198,140,252,193,200,140,252,193,202,140,252,193,204,140,252,193,206,140,252,193,208,140,252,193,4,141,252,193,6,141,252,193,8,141,252,193,10,141,252,193,12,141,252,193,14,141,252,193,16,141,252,193,18,141,252,193,20,141,252,193,22,141,252,193,24,141,252,193,26,141,252,193,28,141,252,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,193,190,140,252,193,104,141,252,193,106,141,252,193,108,141,252,193,110,141,252,193,252,141,252,193,254,141,252,193,156,142,252,193,158,142,252,193,160,142,252,193,42,143,252,193,44,143,252,193,46,143,252,193,234,143,252,193,236,143,252,193,238,143,252,193,240,143,252,193,186,144,252,193,188,144,252,193,190,144,252,193,192,144,252,193,106,145,252,193,108,145,252,193,110,145,252,193,112,145,252,193,114,145,252,193,20,146,252,193,22,146,252,193,24,146,252,193,26,146,252,193,170,146,252,193,172,146,252,193,246,140,252,193,248,140,252,193,250,140,252,193,46,141,252,193,48,141,252,193,50,141,252,193,52,141,252,193,54,141,252,193,56,141,252,193,58,141,252,193,60,141,252,193,62,141,252,193,64,141,252,193,66,141,252,193,68,141,252,193,70,141,252,193,72,141,252,193,74,141,252,193,76,141,252,193,78,141,252,193,80,141,252,193,82,141,252,193,84,141,252,193,86,141,252,193,88,141,252,193,90,141,252,193,92,141,252,193,94,141,252,193,96,141,252,193,98,141,252,193,192,141,252,193,194,141,252,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,193,28,142,252,193,30,142,252,193,32,142,252,193,34,142,252,193,36,142,252,193,38,142,252,193,40,142,252,193,42,142,252,193,44,142,252,193,46,142,252,193,48,142,252,193,50,142,252,193,52,142,252,193,54,142,252,193,178,142,252,193,196,141,252,193,198,141,252,193,200,141,252,193,202,141,252,193,204,141,252,193,206,141,252,193,208,141,252,193,210,141,252,193,212,141,252,193,214,141,252,193,216,141,252,193,218,141,252,193,220,141,252,193,222,141,252,193,224,141,252,193,226,141,252,193,228,141,252,193,230,141,252,193,232,141,252,193,234,141,252,193,236,141,252,193,238,141,252,193,240,141,252,193,242,141,252,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,193,14,142,252,193,162,142,252,193,164,142,252,193,166,142,252,193,168,142,252,193,48,143,252,193,50,143,252,193,242,143,252,193,244,143,252,193,246,143,252,193,248,143,252,193,250,143,252,193,252,143,252,193,254,143,252,193,2,144,252,193,4,144,252,193,6,144,252,193,8,144,252,193,10,144,252,193,194,144,252,193,196,144,252,193,198,144,252,193,200,144,252,193,202,144,252,193,204,144,252,193,206,144,252,193,208,144,252,193,116,145,252,193,118,145,252,193,120,145,252,193,122,145,252,193,124,145,252,193,18,142,252,193,20,142,252,193,22,142,252,193,24,142,252,193,26,142,252,193,170,142,252,193,172,142,252,193,174,142,252,193,176,142,252,193,52,143,252,193,54,143,252,193,56,143,252,193,58,143,252,193,12,144,252,193,14,144,252,193,16,144,252,193,210,144,252,193,132,145,252,193,134,145,252,193,136,145,252,193,138,145,252,193,46,146,252,193,48,146,252,193,50,146,252,193,188,146,252,193,190,146,252,193,192,146,252,193,194,146,252,193,38,147,252,193,40,147,252,193,164,147,252,193,166,147,252,193,180,142,252,193,182,142,252,193,184,142,252,193,186,142,252,193,188,142,252,193,190,142,252,193,56,142,252,193,192,142,252,193,194,142,252,193,196,142,252,193,198,142,252,193,200,142,252,193,202,142,252,193,204,142,252,193,206,142,252,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,193,210,142,252,193,212,142,252,193,214,142,252,193,216,142,252,193,218,142,252,193,220,142,252,193,222,142,252,193,224,142,252,193,226,142,252,193,106,143,252,193,108,143,252,193,110,143,252,193,112,143,252,193,114,143,252,193,116,143,252,193,118,143,252,193,120,143,252,193,122,143,252,193,124,143,252,193,126,143,252,193,128,143,252,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,193,144,142,252,193,14,143,252,193,16,143,252,193,18,143,252,193,20,143,252,193,22,143,252,193,24,143,252,193,26,143,252,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,193,18,144,252,193,20,144,252,193,22,144,252,193,24,144,252,193,26,144,252,193,28,144,252,193,30,144,252,193,32,144,252,193,34,144,252,193,36,144,252,193,38,144,252,193,40,144,252,193,42,144,252,193,44,144,252,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,193,72,144,252,193,74,144,252,193,76,144,252,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,193,140,145,252,193,142,145,252,193,144,145,252,193,146,145,252,193,148,145,252,193,52,146,252,193,46,144,252,193,150,145,252,193,152,145,252,193,154,145,252,193,156,145,252,193,158,145,252,193,160,145,252,193,162,145,252,193,164,145,252,193,54,146,252,193,56,146,252,193,58,146,252,193,60,146,252,193,62,146,252,193,64,146,252,193,66,146,252,193,68,146,252,193,70,146,252,193,72,146,252,193,74,146,252,193,76,146,252,193,196,146,252,193,48,144,252,193,50,144,252,193,52,144,252,193,54,144,252,193,56,144,252,193,58,144,252,193,60,144,252,193,62,144,252,193,64,144,252,193,66,144,252,193,68,144,252,193,70,144,252,193,244,144,252,193,246,144,252,193,248,144,252,193,250,144,252,193,252,144,252,193,254,144,252,193,2,145,252,193,4,145,252,193,6,145,252,193,8,145,252,193,10,145,252,193,166,145,252,193,168,145,252,193,170,145,252,193,172,145,252,193,174,145,252,193,176,145,252,193,178,145,252,193,78,146,252,193,80,146,252,193,78,144,252,193,80,144,252,193,82,144,252,193,84,144,252,193,86,144,252,193,88,144,252,193,90,144,252,193,92,144,252,193,94,144,252,193,96,144,252,193,98,144,252,193,100,144,252,193,102,144,252,193,104,144,252,193,106,144,252,193,108,144,252,193,110,144,252,193,112,144,252,193,114,144,252,193,116,144,252,193,118,144,252,193,120,144,252,193,122,144,252,193,124,144,252,193,126,144,252,193,128,144,252,193,130,144,252,193,132,144,252,193,134,144,252,193,136,144,252,193,138,144,252,193,140,144,252,193,142,144,252,193,144,144,252,193,146,144,252,193,148,144,252,193,150,144,252,193,152,144,252,193,154,144,252,193,156,144,252,193,158,144,252,193,160,144,252,193,162,144,252,193,164,144,252,193,166,144,252,193,168,144,252,193,170,144,252,193,172,144,252,193,174,144,252,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,193,184,144,252,193,98,145,252,193,100,145,252,193,102,145,252,193,104,145,252,193,18,146,252,193,168,146,252,193,30,147,252,193,32,147,252,193,160,147,252,193,146,148,252,193,234,148,252,193,70,149,252,193,72,149,252,193,182,149,252,193,184,149,252,193,186,149,252,193,42,150,252,193,44,150,252,193,46,150,252,193,134,150,252,193,136,150,252,193,226,150,252,193,80,151,252,193,82,151,252,193,84,151,252,193,86,151,252,193,184,151,252,193,226,151,252,193,92,152,252,193,146,152,252,193,186,152,252,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,193,126,145,252,193,128,145,252,193,130,145,252,193,28,146,252,193,30,146,252,193,32,146,252,193,34,146,252,193,36,146,252,193,38,146,252,193,40,146,252,193,42,146,252,193,44,146,252,193,176,146,252,193,178,146,252,193,180,146,252,193,182,146,252,193,184,146,252,193,186,146,252,193,36,147,252,193,98,147,252,193,192,147,252,193,194,147,252,193,248,147,252,193,250,147,252,193,82,148,252,193,152,148,252,193,238,148,252,193,240,148,252,193,78,149,252,193,192,149,252,193,194,149,252,193,196,149,252,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,193,82,146,252,193,206,146,252,193,208,146,252,193,210,146,252,193,212,146,252,193,214,146,252,193,216,146,252,193,218,146,252,193,108,147,252,193,110,147,252,193,170,147,252,193,172,147,252,193,174,147,252,193,176,147,252,193,204,147,252,193,206,147,252,193,16,148,252,193,32,148,252,193,54,148,252,193,100,148,252,193,102,148,252,193,104,148,252,193,106,148,252,193,178,148,252,193,180,148,252,193,182,148,252,193,12,149,252,193,14,149,252,193,16,149,252,193,18,149,252,193,20,149,252,193,22,149,252,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,193,174,146,252,193,34,147,252,193,96,147,252,193,162,147,252,193,190,147,252,193,44,148,252,193,148,148,252,193,150,148,252,193,236,148,252,193,74,149,252,193,76,149,252,193,188,149,252,193,190,149,252,193,48,150,252,193,228,150,252,193,230,150,252,193,88,151,252,193,90,151,252,193,92,151,252,193,94,151,252,193,228,151,252,193,72,152,252,193,122,152,252,193,148,152,252,193,188,152,252,193,190,152,252,193,192,152,252,193,6,153,252,193,8,153,252,193,54,153,252,193,108,153,252,193,110,153,252,193,198,146,252,193,200,146,252,193,202,146,252,193,204,146,252,193,42,147,252,193,44,147,252,193,46,147,252,193,48,147,252,193,50,147,252,193,52,147,252,193,54,147,252,193,56,147,252,193,100,147,252,193,102,147,252,193,104,147,252,193,106,147,252,193,200,147,252,193,218,147,252,193,240,147,252,193,202,147,252,193,22,148,252,193,26,148,252,193,28,148,252,193,30,148,252,193,46,148,252,193,48,148,252,193,50,148,252,193,52,148,252,206,32,65,0,206,32,65,0,206,32,65,0,206,32,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,193,58,147,252,193,10,147,252,193,12,147,252,193,14,147,252,193,16,147,252,193,18,147,252,193,20,147,252,193,22,147,252,193,24,147,252,193,26,147,252,193,28,147,252,193,60,147,252,193,62,147,252,193,64,147,252,193,66,147,252,193,68,147,252,193,70,147,252,193,72,147,252,193,74,147,252,193,76,147,252,193,78,147,252,193,80,147,252,193,82,147,252,193,84,147,252,193,112,147,252,193,86,147,252,193,88,147,252,193,90,147,252,193,92,147,252,193,94,147,252,193,114,147,252,193,116,147,252,193,118,147,252,193,120,147,252,193,122,147,252,193,124,147,252,193,126,147,252,193,128,147,252,193,130,147,252,193,132,147,252,193,134,147,252,193,136,147,252,193,138,147,252,193,140,147,252,193,142,147,252,193,216,98,253,193,144,147,252,193,146,147,252,193,148,147,252,193,150,147,252,193,152,147,252,193,154,147,252,193,156,147,252,193,158,147,252,193,196,147,252,193,198,147,252,193,216,147,252,193,238,147,252,193,154,148,252,193,242,148,252,193,244,148,252,193,246,148,252,193,248,148,252,193,250,148,252,193,80,149,252,193,200,149,252,193,202,149,252,193,204,149,252,193,206,149,252,193,208,149,252,193,64,150,252,193,66,150,252,193,68,150,252,193,146,150,252,193,148,150,252,193,150,150,252,193,238,150,252,193,240,150,252,193,110,151,252,193,112,151,252,193,196,151,252,193,198,151,252,193,236,151,252,193,238,151,252,193,240,151,252,193,76,152,252,193,18,148,252,193,20,148,252,193,24,148,252,193,34,148,252,193,36,148,252,193,38,148,252,193,40,148,252,193,56,148,252,193,58,148,252,193,60,148,252,193,62,148,252,193,64,148,252,193,66,148,252,193,68,148,252,193,70,148,252,193,72,148,252,193,74,148,252,193,76,148,252,193,78,148,252,193,80,148,252,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,32,65,0,206,32,65,0,206,32,65,0,206,32,65,0,193,156,148,252,193,158,148,252,193,160,148,252,193,162,148,252,193,164,148,252,193,166,148,252,193,168,148,252,193,170,148,252,193,172,148,252,193,174,148,252,193,176,148,252,193,252,148,252,193,254,148,252,193,2,149,252,193,4,149,252,193,6,149,252,193,8,149,252,193,10,149,252,193,82,149,252,193,84,149,252,193,86,149,252,193,88,149,252,193,90,149,252,193,92,149,252,193,94,149,252,193,96,149,252,193,210,149,252,193,212,149,252,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,193,184,148,252,193,186,148,252,193,188,148,252,193,190,148,252,193,192,148,252,193,194,148,252,193,196,148,252,193,198,148,252,193,200,148,252,193,202,148,252,193,204,148,252,193,206,148,252,193,208,148,252,193,210,148,252,193,212,148,252,193,214,148,252,193,216,148,252,193,218,148,252,193,220,148,252,193,222,148,252,193,224,148,252,193,226,148,252,193,228,148,252,193,230,148,252,193,232,148,252,193,24,149,252,193,98,149,252,193,100,149,252,193,102,149,252,193,104,149,252,193,106,149,252,193,230,149,252,193,232,149,252,193,234,149,252,193,236,149,252,193,82,150,252,193,84,150,252,193,166,150,252,193,168,150,252,193,170,150,252,193,6,151,252,193,8,151,252,193,10,151,252,193,12,151,252,193,14,151,252,193,16,151,252,193,126,151,252,193,128,151,252,193,130,151,252,193,132,151,252,193,134,151,252,193,136,151,252,193,138,151,252,193,204,151,252,193,206,151,252,193,244,151,252,193,246,151,252,193,26,149,252,193,28,149,252,193,30,149,252,193,32,149,252,193,34,149,252,193,36,149,252,193,38,149,252,193,40,149,252,193,42,149,252,193,44,149,252,193,46,149,252,193,48,149,252,193,50,149,252,193,52,149,252,193,54,149,252,193,56,149,252,193,58,149,252,193,60,149,252,193,62,149,252,193,64,149,252,193,66,149,252,193,68,149,252,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,193,198,149,252,193,50,150,252,193,52,150,252,193,54,150,252,193,56,150,252,193,58,150,252,193,60,150,252,193,62,150,252,193,138,150,252,193,140,150,252,193,142,150,252,193,144,150,252,193,232,150,252,193,234,150,252,193,236,150,252,193,96,151,252,193,98,151,252,193,100,151,252,193,102,151,252,193,104,151,252,193,106,151,252,193,108,151,252,193,186,151,252,193,188,151,252,193,190,151,252,193,192,151,252,193,194,151,252,193,230,151,252,193,232,151,252,193,234,151,252,193,8,152,252,193,10,152,252,193,214,149,252,193,216,149,252,193,218,149,252,193,220,149,252,193,222,149,252,193,224,149,252,193,226,149,252,193,228,149,252,193,70,150,252,193,72,150,252,193,74,150,252,193,76,150,252,193,78,150,252,193,80,150,252,193,152,150,252,193,154,150,252,193,156,150,252,193,158,150,252,193,160,150,252,193,162,150,252,193,164,150,252,193,242,150,252,193,244,150,252,193,246,150,252,193,248,150,252,193,250,150,252,193,252,150,252,193,254,150,252,193,2,151,252,193,4,151,252,193,114,151,252,193,116,151,252,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,193,172,150,252,193,174,150,252,193,176,150,252,193,178,150,252,193,180,150,252,193,182,150,252,193,184,150,252,193,186,150,252,193,188,150,252,193,190,150,252,193,192,150,252,193,194,150,252,193,196,150,252,193,198,150,252,193,200,150,252,193,202,150,252,193,204,150,252,193,206,150,252,193,32,202,252,193,208,150,252,193,210,150,252,193,212,150,252,193,214,150,252,193,216,150,252,193,218,150,252,193,220,150,252,193,222,150,252,193,224,150,252,193,18,151,252,193,20,151,252,193,22,151,252,193,24,151,252,193,26,151,252,193,28,151,252,193,30,151,252,193,32,151,252,193,34,151,252,193,36,151,252,193,38,151,252,193,40,151,252,193,42,151,252,193,44,151,252,193,46,151,252,193,48,151,252,193,140,151,252,193,50,151,252,193,52,151,252,193,54,151,252,193,56,151,252,193,58,151,252,193,60,151,252,193,62,151,252,193,64,151,252,193,66,151,252,193,68,151,252,193,70,151,252,193,72,151,252,193,74,151,252,193,76,151,252,193,78,151,252,193,142,151,252,193,144,151,252,193,146,151,252,193,148,151,252,193,150,151,252,193,152,151,252,193,154,151,252,193,156,151,252,193,158,151,252,193,160,151,252,193,162,151,252,193,164,151,252,193,166,151,252,193,168,151,252,193,170,151,252,193,172,151,252,193,174,151,252,193,176,151,252,193,178,151,252,193,180,151,252,193,118,151,252,193,120,151,252,193,122,151,252,193,124,151,252,193,200,151,252,193,202,151,252,193,242,151,252,193,16,152,252,193,38,152,252,193,40,152,252,193,78,152,252,193,118,152,252,193,124,152,252,193,126,152,252,193,134,152,252,193,136,152,252,193,152,152,252,193,154,152,252,193,156,152,252,193,158,152,252,193,160,152,252,193,162,152,252,193,164,152,252,193,166,152,252,193,200,152,252,193,202,152,252,193,204,152,252,193,206,152,252,193,208,152,252,193,210,152,252,193,212,152,252,193,186,147,253,193,208,151,252,193,210,151,252,193,212,151,252,193,214,151,252,193,216,151,252,193,218,151,252,193,220,151,252,193,222,151,252,193,224,151,252,193,182,151,252,193,248,151,252,193,250,151,252,193,252,151,252,193,254,151,252,193,2,152,252,193,4,152,252,193,20,152,252,193,22,152,252,193,6,152,252,193,24,152,252,193,26,152,252,193,42,152,252,193,28,152,252,193,30,152,252,193,32,152,252,193,34,152,252,193,36,152,252,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,193,12,152,252,193,14,152,252,193,74,152,252,193,86,152,252,193,94,152,252,193,96,152,252,193,108,152,252,193,150,152,252,193,194,152,252,193,10,153,252,193,12,153,252,193,14,153,252,193,16,153,252,193,56,153,252,193,58,153,252,193,114,153,252,193,116,153,252,193,172,153,252,193,174,153,252,193,176,153,252,193,222,153,252,193,224,153,252,193,226,153,252,193,6,154,252,193,28,154,252,193,30,154,252,193,32,154,252,193,70,154,252,193,72,154,252,193,106,154,252,193,124,154,252,193,152,154,252,193,18,152,252,193,80,152,252,193,120,152,252,193,138,152,252,193,140,152,252,193,168,152,252,193,170,152,252,193,214,152,252,193,216,152,252,193,218,152,252,193,220,152,252,193,22,153,252,193,76,153,252,193,78,153,252,193,126,153,252,193,128,153,252,193,130,153,252,193,132,153,252,193,12,154,252,193,44,154,252,193,76,154,252,193,94,154,252,193,192,154,252,193,18,155,252,193,20,155,252,193,22,155,252,193,24,155,252,193,26,155,252,193,28,155,252,193,30,155,252,193,210,155,252,193,212,155,252,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,193,82,152,252,193,88,152,252,193,90,152,252,193,98,152,252,193,100,152,252,193,110,152,252,193,102,152,252,193,104,152,252,193,106,152,252,193,112,152,252,193,114,152,252,193,116,152,252,193,128,152,252,193,130,152,252,193,142,152,252,193,144,152,252,193,172,152,252,193,174,152,252,193,176,152,252,193,178,152,252,193,180,152,252,193,182,152,252,193,184,152,252,193,196,152,252,193,198,152,252,193,18,153,252,193,60,153,252,193,62,153,252,193,228,153,252,193,230,153,252,193,232,153,252,193,234,153,252,193,34,154,252,193,36,154,252,193,144,154,252,193,234,154,252,193,236,154,252,193,120,155,252,193,122,155,252,193,124,155,252,193,126,155,252,193,64,156,252,193,66,156,252,193,68,156,252,193,70,156,252,193,72,156,252,193,74,156,252,193,28,157,252,193,30,157,252,193,32,157,252,193,40,158,252,193,42,158,252,193,44,158,252,193,46,158,252,193,104,159,252,193,222,152,252,193,224,152,252,193,226,152,252,193,228,152,252,193,230,152,252,193,232,152,252,193,234,152,252,193,236,152,252,193,238,152,252,193,240,152,252,193,242,152,252,193,244,152,252,193,246,152,252,193,248,152,252,193,250,152,252,193,252,152,252,193,254,152,252,193,24,153,252,193,26,153,252,193,28,153,252,193,30,153,252,193,32,153,252,193,34,153,252,193,36,153,252,193,38,153,252,193,40,153,252,193,42,153,252,193,44,153,252,193,46,153,252,193,48,153,252,193,80,153,252,193,82,153,252,193,2,153,252,193,4,153,252,193,50,153,252,193,104,153,252,193,106,153,252,193,162,153,252,193,164,153,252,193,212,153,252,193,214,153,252,193,252,153,252,193,254,153,252,193,2,154,252,193,22,154,252,193,66,154,252,193,104,154,252,193,138,154,252,193,172,154,252,193,230,154,252,193,90,155,252,193,92,155,252,193,94,155,252,193,96,155,252,193,98,155,252,193,100,155,252,193,36,156,252,193,38,156,252,193,40,156,252,193,42,156,252,193,242,156,252,193,244,156,252,193,250,157,252,193,252,157,252,193,188,147,253,193,20,153,252,193,64,153,252,193,66,153,252,193,68,153,252,193,70,153,252,193,72,153,252,193,74,153,252,193,118,153,252,193,120,153,252,193,122,153,252,193,124,153,252,193,178,153,252,193,180,153,252,193,8,154,252,193,182,153,252,193,184,153,252,193,10,154,252,193,38,154,252,193,40,154,252,193,42,154,252,193,74,154,252,193,108,154,252,193,110,154,252,193,132,154,252,193,154,154,252,193,160,154,252,193,162,154,252,206,0,66,0,206,0,66,0,206,0,66,0,206,0,66,0,193,84,153,252,193,86,153,252,193,88,153,252,193,90,153,252,193,92,153,252,193,94,153,252,193,96,153,252,193,98,153,252,193,100,153,252,193,102,153,252,193,134,153,252,193,136,153,252,193,138,153,252,193,140,153,252,193,142,153,252,193,144,153,252,193,146,153,252,193,148,153,252,193,150,153,252,193,152,153,252,193,154,153,252,193,156,153,252,193,158,153,252,193,160,153,252,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,193,112,153,252,193,166,153,252,193,168,153,252,193,170,153,252,193,216,153,252,193,218,153,252,193,220,153,252,193,4,154,252,193,24,154,252,193,26,154,252,193,68,154,252,193,130,154,252,193,174,154,252,193,232,154,252,193,102,155,252,193,104,155,252,193,106,155,252,193,108,155,252,193,110,155,252,193,44,156,252,193,46,156,252,193,48,156,252,193,50,156,252,193,52,156,252,193,54,156,252,193,56,156,252,193,246,156,252,193,248,156,252,193,250,156,252,193,252,156,252,193,254,156,252,193,2,157,252,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,193,236,153,252,193,238,153,252,193,240,153,252,193,242,153,252,193,244,153,252,193,246,153,252,193,248,153,252,193,250,153,252,193,14,154,252,193,16,154,252,193,46,154,252,193,18,154,252,193,20,154,252,193,48,154,252,193,50,154,252,193,52,154,252,193,54,154,252,193,56,154,252,193,58,154,252,193,60,154,252,193,62,154,252,193,96,154,252,193,64,154,252,193,78,154,252,193,80,154,252,193,82,154,252,193,84,154,252,206,0,66,0,206,0,66,0,206,0,66,0,206,0,66,0,193,76,156,252,193,238,154,252,193,240,154,252,193,242,154,252,193,244,154,252,193,246,154,252,193,248,154,252,193,250,154,252,193,252,154,252,193,254,154,252,193,2,155,252,193,4,155,252,193,6,155,252,193,8,155,252,193,10,155,252,193,12,155,252,193,14,155,252,193,16,155,252,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,193,200,154,252,193,202,154,252,193,204,154,252,193,206,154,252,193,208,154,252,193,210,154,252,193,212,154,252,193,214,154,252,193,216,154,252,193,218,154,252,193,220,154,252,193,222,154,252,193,224,154,252,193,226,154,252,193,228,154,252,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,193,112,155,252,193,114,155,252,193,116,155,252,193,118,155,252,193,58,156,252,193,60,156,252,193,62,156,252,193,8,157,252,193,10,157,252,193,12,157,252,193,14,157,252,193,16,157,252,193,18,157,252,193,20,157,252,193,22,157,252,193,24,157,252,193,26,157,252,193,32,158,252,193,34,158,252,193,36,158,252,193,38,158,252,193,80,159,252,193,82,159,252,193,84,159,252,193,86,159,252,193,88,159,252,193,90,159,252,193,92,159,252,193,94,159,252,193,96,159,252,193,98,159,252,193,100,159,252,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,193,78,156,252,193,214,155,252,193,216,155,252,193,218,155,252,193,220,155,252,193,222,155,252,193,224,155,252,193,226,155,252,193,140,156,252,193,142,156,252,193,144,156,252,193,146,156,252,193,148,156,252,193,150,156,252,193,152,156,252,193,154,156,252,193,156,156,252,193,158,156,252,193,160,156,252,193,162,156,252,193,164,156,252,193,166,156,252,193,106,157,252,193,108,157,252,193,110,157,252,193,112,157,252,193,114,157,252,193,116,157,252,193,118,157,252,193,120,157,252,193,122,157,252,193,124,157,252,193,126,157,252,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,193,168,156,252,193,170,156,252,193,172,156,252,193,174,156,252,193,176,156,252,193,178,156,252,193,180,156,252,193,182,156,252,193,184,156,252,193,186,156,252,193,188,156,252,193,190,156,252,193,192,156,252,193,194,156,252,193,196,156,252,193,198,156,252,193,200,156,252,193,202,156,252,193,204,156,252,193,206,156,252,193,208,156,252,193,34,156,252,193,80,156,252,193,82,156,252,193,84,156,252,193,86,156,252,193,88,156,252,193,90,156,252,193,92,156,252,193,94,156,252,193,96,156,252,193,98,156,252,193,100,156,252,193,102,156,252,193,104,156,252,193,106,156,252,193,108,156,252,193,110,156,252,193,112,156,252,193,114,156,252,193,116,156,252,193,118,156,252,193,120,156,252,193,122,156,252,193,124,156,252,193,126,156,252,193,128,156,252,193,130,156,252,193,132,156,252,193,134,156,252,193,136,156,252,193,138,156,252,193,34,157,252,193,36,157,252,193,210,156,252,193,212,156,252,193,214,156,252,193,216,156,252,193,218,156,252,193,220,156,252,193,222,156,252,193,224,156,252,193,226,156,252,193,228,156,252,193,230,156,252,193,232,156,252,193,234,156,252,193,236,156,252,193,238,156,252,193,240,156,252,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,193,4,157,252,193,6,157,252,193,8,158,252,193,10,158,252,193,12,158,252,193,14,158,252,193,16,158,252,193,18,158,252,193,20,158,252,193,22,158,252,193,24,158,252,193,26,158,252,193,28,158,252,193,30,158,252,193,56,159,252,193,58,159,252,193,60,159,252,193,62,159,252,193,64,159,252,193,66,159,252,193,68,159,252,193,70,159,252,193,72,159,252,193,74,159,252,193,76,159,252,193,78,159,252,193,154,160,252,193,156,160,252,193,158,160,252,193,160,160,252,193,162,160,252,193,164,160,252,193,38,157,252,193,40,157,252,193,42,157,252,193,44,157,252,193,46,157,252,193,48,157,252,193,50,157,252,193,52,157,252,193,54,157,252,193,56,157,252,193,58,157,252,193,60,157,252,193,62,157,252,193,64,157,252,193,66,157,252,193,68,157,252,193,70,157,252,193,72,157,252,193,74,157,252,193,76,157,252,193,78,157,252,193,80,157,252,193,82,157,252,193,84,157,252,193,86,157,252,193,88,157,252,193,90,157,252,193,92,157,252,193,94,157,252,193,96,157,252,193,98,157,252,193,100,157,252,193,102,157,252,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,193,104,157,252,193,156,159,252,193,158,159,252,193,160,159,252,193,162,159,252,193,164,159,252,193,166,159,252,193,168,159,252,193,170,159,252,193,218,160,252,193,172,159,252,193,174,159,252,193,176,159,252,193,178,159,252,193,180,159,252,193,182,159,252,193,184,159,252,193,186,159,252,193,188,159,252,193,190,159,252,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,193,128,157,252,193,134,158,252,193,136,158,252,193,138,158,252,193,140,158,252,193,142,158,252,193,144,158,252,193,146,158,252,193,148,158,252,193,150,158,252,193,152,158,252,193,154,158,252,193,156,158,252,193,158,158,252,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,193,160,158,252,193,242,157,252,193,244,157,252,193,246,157,252,193,248,157,252,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,193,254,157,252,193,2,158,252,193,4,158,252,193,6,158,252,193,44,159,252,193,46,159,252,193,48,159,252,193,50,159,252,193,52,159,252,193,54,159,252,193,136,160,252,193,138,160,252,193,140,160,252,193,142,160,252,193,144,160,252,193,146,160,252,193,240,161,252,193,242,161,252,193,244,161,252,193,246,161,252,193,248,161,252,193,250,161,252,193,252,161,252,193,254,161,252,193,56,163,252,193,58,163,252,193,60,163,252,193,62,163,252,193,64,163,252,193,66,163,252,193,68,163,252,193,70,163,252,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,193,116,159,252,193,118,159,252,193,120,159,252,193,122,159,252,193,124,159,252,193,126,159,252,193,128,159,252,193,130,159,252,193,132,159,252,193,134,159,252,193,136,159,252,193,138,159,252,193,140,159,252,193,142,159,252,193,144,159,252,193,146,159,252,193,148,159,252,193,150,159,252,193,152,159,252,193,154,159,252,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,193,102,159,252,193,170,160,252,193,172,160,252,193,174,160,252,193,176,160,252,193,178,160,252,193,180,160,252,193,182,160,252,193,184,160,252,193,186,160,252,193,188,160,252,193,190,160,252,193,192,160,252,193,194,160,252,193,196,160,252,193,16,162,252,193,18,162,252,193,20,162,252,193,22,162,252,193,24,162,252,193,26,162,252,193,28,162,252,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,193,106,159,252,193,108,159,252,193,110,159,252,193,112,159,252,193,114,159,252,193,198,160,252,193,200,160,252,193,202,160,252,193,204,160,252,193,206,160,252,193,208,160,252,193,210,160,252,193,212,160,252,193,214,160,252,193,216,160,252,193,30,162,252,193,32,162,252,193,34,162,252,193,36,162,252,193,38,162,252,193,114,163,252,193,116,163,252,193,118,163,252,193,188,164,252,193,190,164,252,193,192,164,252,193,152,165,252,193,154,165,252,193,36,166,252,193,38,166,252,193,208,166,252,193,210,166,252,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,193,26,161,252,193,28,161,252,193,30,161,252,193,32,161,252,193,34,161,252,193,36,161,252,193,38,161,252,193,40,161,252,193,42,161,252,193,44,161,252,193,46,161,252,193,48,161,252,193,50,161,252,193,52,161,252,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,193,166,160,252,193,168,160,252,193,2,162,252,193,4,162,252,193,6,162,252,193,8,162,252,193,10,162,252,193,12,162,252,193,14,162,252,193,72,163,252,193,74,163,252,193,76,163,252,193,78,163,252,193,150,164,252,193,152,164,252,193,154,164,252,193,156,164,252,193,158,164,252,193,160,164,252,193,114,165,252,193,116,165,252,193,118,165,252,193,120,165,252,193,122,165,252,193,124,165,252,193,126,165,252,193,128,165,252,193,170,166,252,193,172,166,252,193,174,166,252,193,176,166,252,193,178,166,252,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,193,22,161,252,193,106,162,252,193,108,162,252,193,110,162,252,193,24,161,252,193,112,162,252,193,114,162,252,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,193,174,163,252,193,176,163,252,193,178,163,252,193,180,163,252,193,182,163,252,193,184,163,252,193,186,163,252,193,226,164,252,193,188,163,252,193,190,163,252,193,192,163,252,193,194,163,252,193,196,163,252,193,198,163,252,193,200,163,252,193,202,163,252,193,204,163,252,193,206,163,252,193,208,163,252,193,228,164,252,193,230,164,252,193,232,164,252,193,234,164,252,193,236,164,252,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,193,212,163,252,193,46,163,252,193,48,163,252,193,50,163,252,193,52,163,252,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,193,54,163,252,193,104,164,252,193,106,164,252,193,108,164,252,193,110,164,252,193,112,164,252,193,114,164,252,193,116,164,252,193,118,164,252,193,120,164,252,193,122,164,252,193,124,164,252,193,126,164,252,193,128,164,252,193,130,164,252,193,132,164,252,193,134,164,252,193,136,164,252,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,193,162,164,252,193,164,164,252,193,166,164,252,193,168,164,252,193,170,164,252,193,172,164,252,193,174,164,252,193,176,164,252,193,178,164,252,193,180,164,252,193,182,164,252,193,184,164,252,193,186,164,252,193,130,165,252,193,132,165,252,193,134,165,252,193,136,165,252,193,138,165,252,193,140,165,252,193,142,165,252,193,144,165,252,193,146,165,252,193,148,165,252,193,150,165,252,193,18,166,252,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,193,194,164,252,193,196,164,252,193,198,164,252,193,200,164,252,193,202,164,252,193,204,164,252,193,206,164,252,193,208,164,252,193,210,164,252,193,212,164,252,193,214,164,252,193,216,164,252,193,218,164,252,193,238,164,252,193,240,164,252,193,242,164,252,193,210,163,252,193,244,164,252,193,186,165,252,193,50,166,252,193,52,166,252,193,54,166,252,193,56,166,252,193,58,166,252,193,60,166,252,193,62,166,252,193,64,166,252,193,240,166,252,193,242,166,252,193,244,166,252,193,246,166,252,193,100,167,252,193,102,167,252,193,104,167,252,193,134,162,253,193,154,167,252,193,244,167,252,193,12,168,252,193,64,168,252,193,140,168,252,193,204,168,252,193,206,168,252,193,44,169,252,193,46,169,252,193,48,169,252,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,193,138,164,252,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,193,140,164,252,193,142,164,252,193,144,164,252,193,146,164,252,193,148,164,252,193,110,165,252,193,112,165,252,193,16,166,252,193,162,166,252,193,164,166,252,193,166,166,252,193,168,166,252,193,56,167,252,193,146,167,252,193,196,167,252,193,234,167,252,193,48,168,252,193,98,168,252,193,100,168,252,193,158,168,252,193,160,168,252,193,236,168,252,193,238,168,252,193,240,168,252,193,102,169,252,193,104,169,252,193,106,169,252,193,108,169,252,193,110,169,252,193,240,169,252,193,242,169,252,193,244,169,252,193,220,164,252,193,222,164,252,193,224,164,252,193,156,165,252,193,158,165,252,193,160,165,252,193,162,165,252,193,164,165,252,193,166,165,252,193,168,165,252,193,170,165,252,193,172,165,252,193,174,165,252,193,176,165,252,193,178,165,252,193,180,165,252,193,40,166,252,193,42,166,252,193,44,166,252,193,46,166,252,193,48,166,252,193,182,165,252,193,184,165,252,193,218,166,252,193,220,166,252,193,222,166,252,193,224,166,252,193,226,166,252,193,228,166,252,193,230,166,252,193,232,166,252,193,234,166,252,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,193,20,166,252,193,22,166,252,193,24,166,252,193,26,166,252,193,28,166,252,193,30,166,252,193,32,166,252,193,34,166,252,193,180,166,252,193,182,166,252,193,184,166,252,193,186,166,252,193,188,166,252,193,190,166,252,193,192,166,252,193,194,166,252,193,196,166,252,193,198,166,252,193,200,166,252,193,202,166,252,193,204,166,252,193,206,166,252,193,70,167,252,193,72,167,252,193,74,167,252,193,76,167,252,193,78,167,252,193,80,167,252,193,82,167,252,193,84,167,252,193,236,167,252,193,238,167,252,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,193,212,166,252,193,214,166,252,193,216,166,252,193,150,167,252,193,10,168,252,193,36,168,252,193,112,168,252,193,166,168,252,193,168,168,252,193,170,168,252,193,172,168,252,193,4,169,252,193,6,169,252,193,8,169,252,193,10,169,252,193,12,169,252,193,14,169,252,193,140,169,252,193,142,169,252,193,144,169,252,193,146,169,252,193,148,169,252,193,24,170,252,193,26,170,252,193,28,170,252,193,30,170,252,193,32,170,252,193,34,170,252,193,36,170,252,193,168,170,252,193,64,171,252,193,66,171,252,193,236,166,252,193,238,166,252,193,86,167,252,193,88,167,252,193,90,167,252,193,92,167,252,193,94,167,252,193,96,167,252,193,98,167,252,193,200,167,252,193,152,167,252,193,202,167,252,193,204,167,252,193,206,167,252,193,208,167,252,193,240,167,252,193,242,167,252,193,62,168,252,193,72,168,252,193,76,168,252,193,84,168,252,193,86,168,252,193,88,168,252,193,116,168,252,193,118,168,252,193,120,168,252,193,122,168,252,193,124,168,252,193,126,168,252,193,128,168,252,193,130,168,252,193,132,168,252,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,193,58,167,252,193,60,167,252,193,62,167,252,193,64,167,252,193,66,167,252,193,68,167,252,193,148,167,252,193,198,167,252,193,28,168,252,193,30,168,252,193,32,168,252,193,82,168,252,193,102,168,252,193,104,168,252,193,106,168,252,193,162,168,252,193,242,168,252,193,244,168,252,193,246,168,252,193,112,169,252,193,114,169,252,193,116,169,252,193,118,169,252,193,120,169,252,193,122,169,252,193,248,169,252,193,250,169,252,193,252,169,252,193,254,169,252,193,146,170,252,193,148,170,252,193,150,170,252,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,193,156,167,252,193,158,167,252,193,160,167,252,193,162,167,252,193,164,167,252,193,166,167,252,193,168,167,252,193,170,167,252,193,172,167,252,193,174,167,252,193,176,167,252,193,178,167,252,193,180,167,252,193,182,167,252,193,184,167,252,193,186,167,252,193,188,167,252,193,190,167,252,193,192,167,252,193,194,167,252,206,192,68,0,206,192,68,0,206,192,68,0,206,192,68,0,206,192,68,0,206,192,68,0,206,192,68,0,206,192,68,0,193,246,167,252,193,248,167,252,193,250,167,252,193,252,167,252,193,254,167,252,193,2,168,252,193,4,168,252,193,6,168,252,193,14,168,252,193,16,168,252,193,18,168,252,193,20,168,252,193,22,168,252,193,24,168,252,193,26,168,252,193,38,168,252,193,50,168,252,193,52,168,252,193,40,168,252,193,42,168,252,193,44,168,252,193,46,168,252,193,54,168,252,193,56,168,252,193,8,168,252,193,34,168,252,193,60,168,252,193,108,168,252,193,110,168,252,193,164,168,252,193,248,168,252,193,250,168,252,193,252,168,252,193,254,168,252,193,2,169,252,193,124,169,252,193,126,169,252,193,128,169,252,193,130,169,252,193,132,169,252,193,134,169,252,193,136,169,252,193,138,169,252,193,2,170,252,193,4,170,252,193,6,170,252,193,8,170,252,193,10,170,252,193,12,170,252,193,14,170,252,193,16,170,252,193,18,170,252,193,20,170,252,193,22,170,252,193,154,170,252,193,156,170,252,193,58,168,252,193,66,168,252,193,68,168,252,193,70,168,252,193,74,168,252,193,78,168,252,193,80,168,252,193,90,168,252,193,92,168,252,193,94,168,252,193,96,168,252,193,142,168,252,193,144,168,252,193,146,168,252,193,148,168,252,193,150,168,252,193,152,168,252,193,154,168,252,193,156,168,252,193,208,168,252,193,210,168,252,193,212,168,252,193,214,168,252,193,216,168,252,193,218,168,252,193,220,168,252,193,222,168,252,193,224,168,252,193,226,168,252,193,228,168,252,193,230,168,252,193,232,168,252,193,134,168,252,193,136,168,252,193,138,168,252,193,174,168,252,193,176,168,252,193,178,168,252,193,180,168,252,193,182,168,252,193,184,168,252,193,186,168,252,193,188,168,252,193,190,168,252,193,192,168,252,193,194,168,252,193,196,168,252,193,198,168,252,193,200,168,252,193,202,168,252,193,18,169,252,193,20,169,252,193,22,169,252,193,24,169,252,193,26,169,252,193,28,169,252,193,30,169,252,193,32,169,252,193,34,169,252,193,36,169,252,193,38,169,252,193,40,169,252,193,150,169,252,193,152,169,252,193,234,168,252,193,52,169,252,193,54,169,252,193,56,169,252,193,58,169,252,193,60,169,252,193,62,169,252,193,64,169,252,193,66,169,252,193,68,169,252,193,70,169,252,193,72,169,252,193,74,169,252,193,76,169,252,193,78,169,252,193,80,169,252,193,82,169,252,193,84,169,252,193,86,169,252,193,88,169,252,193,90,169,252,193,92,169,252,193,94,169,252,193,192,169,252,193,96,169,252,193,98,169,252,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,193,154,169,252,193,156,169,252,193,158,169,252,193,42,169,252,193,160,169,252,193,162,169,252,193,164,169,252,193,166,169,252,193,168,169,252,193,170,169,252,193,172,169,252,193,174,169,252,193,176,169,252,193,178,169,252,193,38,170,252,193,40,170,252,193,42,170,252,193,44,170,252,193,46,170,252,193,48,170,252,193,50,170,252,193,52,170,252,193,170,170,252,193,172,170,252,193,174,170,252,193,176,170,252,193,178,170,252,193,180,170,252,193,182,170,252,193,184,170,252,193,186,170,252,193,188,170,252,193,50,169,252,193,180,169,252,193,182,169,252,193,184,169,252,193,186,169,252,193,188,169,252,193,190,169,252,193,56,170,252,193,58,170,252,193,60,170,252,193,62,170,252,193,64,170,252,193,66,170,252,193,192,170,252,193,194,170,252,193,196,170,252,193,198,170,252,193,200,170,252,193,202,170,252,193,98,171,252,193,100,171,252,193,102,171,252,193,104,171,252,193,106,171,252,193,108,171,252,193,110,171,252,193,244,171,252,193,246,171,252,193,122,172,252,193,124,172,252,193,126,172,252,193,128,172,252,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,193,100,169,252,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,193,246,169,252,193,144,170,252,193,32,171,252,193,34,171,252,193,36,171,252,193,38,171,252,193,184,171,252,193,186,171,252,193,188,171,252,193,52,172,252,193,54,172,252,193,56,172,252,193,58,172,252,193,184,172,252,193,186,172,252,193,42,173,252,193,44,173,252,193,46,173,252,193,134,173,252,193,136,173,252,193,138,173,252,193,140,173,252,193,174,173,252,193,244,173,252,193,246,173,252,193,248,173,252,193,102,174,252,193,104,174,252,193,162,174,252,193,164,174,252,193,96,175,252,193,32,176,252,193,54,170,252,193,190,170,252,193,72,171,252,193,74,171,252,193,76,171,252,193,78,171,252,193,80,171,252,193,82,171,252,193,84,171,252,193,86,171,252,193,88,171,252,193,90,171,252,193,92,171,252,193,94,171,252,193,96,171,252,193,222,171,252,193,224,171,252,193,226,171,252,193,228,171,252,193,230,171,252,193,232,171,252,193,234,171,252,193,236,171,252,193,238,171,252,193,240,171,252,193,100,172,252,193,102,172,252,193,104,172,252,193,106,172,252,193,108,172,252,193,110,172,252,193,112,172,252,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,193,204,170,252,193,206,170,252,193,208,170,252,193,210,170,252,193,212,170,252,193,214,170,252,193,216,170,252,193,218,170,252,193,152,170,252,193,40,171,252,193,42,171,252,193,44,171,252,193,46,171,252,193,48,171,252,193,190,171,252,193,192,171,252,193,194,171,252,193,196,171,252,193,198,171,252,193,60,172,252,193,62,172,252,193,64,172,252,193,66,172,252,193,68,172,252,193,70,172,252,193,72,172,252,193,74,172,252,193,190,172,252,193,192,172,252,193,194,172,252,193,48,173,252,193,50,173,252,193,52,173,252,193,54,173,252,193,56,173,252,193,142,173,252,193,176,173,252,193,178,173,252,193,180,173,252,193,214,173,252,193,158,170,252,193,160,170,252,193,162,170,252,193,164,170,252,193,166,170,252,193,50,171,252,193,52,171,252,193,54,171,252,193,56,171,252,193,58,171,252,193,60,171,252,193,62,171,252,193,200,171,252,193,202,171,252,193,204,171,252,193,206,171,252,193,208,171,252,193,210,171,252,193,212,171,252,193,76,172,252,193,78,172,252,193,80,172,252,193,82,172,252,193,84,172,252,193,86,172,252,193,88,172,252,193,196,172,252,193,58,173,252,193,60,173,252,193,144,173,252,193,146,173,252,193,216,173,252,193,220,170,252,193,222,170,252,193,224,170,252,193,226,170,252,193,228,170,252,193,230,170,252,193,232,170,252,193,234,170,252,193,236,170,252,193,238,170,252,193,240,170,252,193,242,170,252,193,244,170,252,193,246,170,252,193,248,170,252,193,250,170,252,193,252,170,252,193,254,170,252,193,2,171,252,193,4,171,252,193,6,171,252,193,8,171,252,193,10,171,252,193,12,171,252,193,14,171,252,193,16,171,252,193,18,171,252,193,20,171,252,193,22,171,252,193,24,171,252,193,26,171,252,193,28,171,252,193,30,171,252,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,193,68,171,252,193,70,171,252,193,214,171,252,193,216,171,252,193,218,171,252,193,220,171,252,193,90,172,252,193,92,172,252,193,94,172,252,193,96,172,252,193,98,172,252,193,198,172,252,193,200,172,252,193,202,172,252,193,204,172,252,193,206,172,252,193,208,172,252,193,62,173,252,193,64,173,252,193,66,173,252,193,182,173,252,193,184,173,252,193,254,173,252,193,106,174,252,193,174,174,252,193,176,174,252,193,108,175,252,193,110,175,252,193,112,175,252,193,114,175,252,193,56,176,252,193,58,176,252,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,193,252,171,252,193,254,171,252,193,2,172,252,193,4,172,252,193,6,172,252,193,8,172,252,193,10,172,252,193,12,172,252,193,14,172,252,193,16,172,252,193,18,172,252,193,20,172,252,193,22,172,252,193,24,172,252,193,26,172,252,193,28,172,252,193,30,172,252,193,32,172,252,193,34,172,252,193,36,172,252,193,38,172,252,193,40,172,252,193,42,172,252,193,44,172,252,193,46,172,252,193,48,172,252,193,50,172,252,193,136,172,252,193,248,171,252,193,102,133,253,193,104,133,253,193,180,133,253,193,220,133,253,193,2,134,253,193,4,134,253,193,6,134,253,193,80,134,253,193,148,134,253,193,172,134,253,193,198,134,253,193,240,134,253,193,242,134,253,193,60,135,253,193,118,135,253,193,120,135,253,193,122,135,253,193,124,135,253,193,126,135,253,193,128,135,253,193,130,135,253,193,132,135,253,193,202,135,253,193,204,135,253,193,206,135,253,193,64,136,253,193,66,136,253,193,68,136,253,193,70,136,253,193,202,136,253,193,204,136,253,193,114,172,252,193,116,172,252,193,118,172,252,193,210,172,252,193,212,172,252,193,214,172,252,193,216,172,252,193,218,172,252,193,120,172,252,193,68,173,252,193,70,173,252,193,72,173,252,193,74,173,252,193,76,173,252,193,148,173,252,193,150,173,252,193,152,173,252,193,218,173,252,193,186,173,252,193,220,173,252,193,222,173,252,193,2,174,252,193,30,174,252,193,58,174,252,193,70,174,252,193,72,174,252,193,74,174,252,193,76,174,252,193,78,174,252,193,80,174,252,193,82,174,252,193,84,174,252,193,130,172,252,193,132,172,252,193,134,172,252,193,220,172,252,193,222,172,252,193,224,172,252,193,226,172,252,193,228,172,252,193,230,172,252,193,232,172,252,193,78,173,252,193,80,173,252,193,82,173,252,193,154,173,252,193,156,173,252,193,188,173,252,193,224,173,252,193,4,174,252,193,6,174,252,193,32,174,252,193,34,174,252,193,86,174,252,193,128,174,252,193,130,174,252,193,132,174,252,193,134,174,252,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,193,138,172,252,193,140,172,252,193,142,172,252,193,144,172,252,193,146,172,252,193,148,172,252,193,150,172,252,193,152,172,252,193,154,172,252,193,156,172,252,193,158,172,252,193,160,172,252,193,162,172,252,193,164,172,252,193,166,172,252,193,168,172,252,193,170,172,252,193,172,172,252,193,174,172,252,193,176,172,252,193,178,172,252,193,180,172,252,193,182,172,252,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,193,188,172,252,193,130,180,252,193,106,183,252,193,198,186,252,193,28,187,252,193,126,187,252,193,232,187,252,193,182,188,252,193,58,193,252,193,102,200,252,193,92,211,252,193,110,217,252,193,208,225,252,193,210,225,252,193,104,227,252,193,134,229,252,193,136,229,252,193,138,229,252,193,20,235,252,193,22,235,252,193,198,237,252,193,110,240,252,193,214,242,252,193,162,12,253,193,252,15,253,193,26,16,253,193,66,19,253,193,198,24,253,193,102,27,253,193,2,40,253,193,22,41,253,193,96,41,253,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,193,158,173,252,193,160,173,252,193,162,173,252,193,164,173,252,193,166,173,252,193,168,173,252,193,170,173,252,193,172,173,252,193,190,173,252,193,192,173,252,193,194,173,252,193,196,173,252,193,198,173,252,193,200,173,252,193,202,173,252,193,204,173,252,193,206,173,252,193,208,173,252,193,226,173,252,193,210,173,252,193,212,173,252,193,228,173,252,193,230,173,252,193,232,173,252,193,234,173,252,193,236,173,252,193,238,173,252,193,240,173,252,193,242,173,252,193,8,174,252,193,10,174,252,193,12,174,252,193,14,174,252,193,16,174,252,193,18,174,252,193,20,174,252,193,22,174,252,193,24,174,252,193,26,174,252,193,36,174,252,193,38,174,252,193,40,174,252,193,42,174,252,193,44,174,252,193,48,174,252,193,50,174,252,193,52,174,252,193,54,174,252,193,56,174,252,193,250,173,252,193,252,173,252,193,28,174,252,193,166,174,252,193,168,174,252,193,98,175,252,193,100,175,252,193,38,176,252,193,40,176,252,193,42,176,252,193,44,176,252,193,8,177,252,193,10,177,252,193,12,177,252,193,14,177,252,193,16,177,252,193,18,177,252,193,20,177,252,193,22,177,252,193,24,177,252,193,26,177,252,193,252,177,252,193,254,177,252,193,2,178,252,193,4,178,252,193,6,178,252,193,8,178,252,193,10,178,252,193,12,178,252,193,14,178,252,193,16,178,252,193,52,179,252,193,46,174,252,193,170,174,252,193,172,174,252,193,102,175,252,193,104,175,252,193,106,175,252,193,46,176,252,193,48,176,252,193,50,176,252,193,52,176,252,193,54,176,252,193,28,177,252,193,30,177,252,193,32,177,252,193,34,177,252,193,36,177,252,193,38,177,252,193,18,178,252,193,20,178,252,193,22,178,252,193,24,178,252,193,26,178,252,193,70,179,252,193,72,179,252,193,74,179,252,193,76,179,252,193,78,179,252,193,80,179,252,193,82,179,252,193,84,179,252,193,86,179,252,193,88,179,252,193,60,174,252,193,62,174,252,193,64,174,252,193,66,174,252,193,68,174,252,193,88,174,252,193,90,174,252,193,92,174,252,193,94,174,252,193,96,174,252,193,98,174,252,193,100,174,252,193,136,174,252,193,138,174,252,193,140,174,252,193,142,174,252,193,144,174,252,193,146,174,252,193,148,174,252,193,150,174,252,193,152,174,252,193,154,174,252,193,156,174,252,193,158,174,252,193,160,174,252,193,12,175,252,193,14,175,252,193,16,175,252,193,18,175,252,193,20,175,252,193,22,175,252,193,24,175,252,193,108,174,252,193,110,174,252,193,112,174,252,193,114,174,252,193,116,174,252,193,118,174,252,193,120,174,252,193,122,174,252,193,124,174,252,193,126,174,252,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,193,190,175,252,193,192,175,252,193,194,175,252,193,196,175,252,193,198,175,252,193,200,175,252,193,202,175,252,193,204,175,252,193,206,175,252,193,208,175,252,193,210,175,252,193,212,175,252,193,214,175,252,193,148,176,252,193,150,176,252,193,152,176,252,193,154,176,252,193,156,176,252,193,158,176,252,193,160,176,252,193,162,176,252,193,164,176,252,193,166,176,252,193,122,177,252,193,26,175,252,193,28,175,252,193,30,175,252,193,32,175,252,193,34,175,252,193,36,175,252,193,38,175,252,193,40,175,252,193,42,175,252,193,44,175,252,193,46,175,252,193,48,175,252,193,50,175,252,193,52,175,252,193,54,175,252,193,56,175,252,193,58,175,252,193,60,175,252,193,62,175,252,193,64,175,252,193,66,175,252,193,68,175,252,193,70,175,252,193,72,175,252,193,74,175,252,193,76,175,252,193,78,175,252,193,80,175,252,193,82,175,252,193,84,175,252,193,86,175,252,193,88,175,252,193,90,175,252,193,92,175,252,193,94,175,252,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,193,64,176,252,193,66,176,252,193,68,176,252,193,70,176,252,193,72,176,252,193,74,176,252,193,76,176,252,193,78,176,252,193,80,176,252,193,82,176,252,193,84,176,252,193,86,176,252,193,88,176,252,193,90,176,252,193,46,177,252,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,193,34,176,252,193,36,176,252,193,2,177,252,193,4,177,252,193,6,177,252,193,242,177,252,193,244,177,252,193,246,177,252,193,248,177,252,193,250,177,252,193,34,179,252,193,36,179,252,193,38,179,252,193,40,179,252,193,42,179,252,193,44,179,252,193,46,179,252,193,48,179,252,193,50,179,252,193,120,180,252,193,122,180,252,193,124,180,252,193,126,180,252,193,128,180,252,193,146,181,252,193,148,181,252,193,150,181,252,193,152,181,252,193,154,181,252,193,122,182,252,193,124,182,252,193,126,182,252,193,60,176,252,193,62,176,252,193,40,177,252,193,42,177,252,193,44,177,252,193,28,178,252,193,30,178,252,193,32,178,252,193,34,178,252,193,96,179,252,193,98,179,252,193,100,179,252,193,102,179,252,193,104,179,252,193,174,180,252,193,176,180,252,193,180,181,252,193,168,182,252,193,170,182,252,193,134,183,252,193,136,183,252,193,4,185,252,193,6,185,252,193,8,185,252,193,80,185,252,193,82,185,252,193,120,185,252,193,210,185,252,193,228,185,252,193,60,186,252,193,62,186,252,193,64,186,252,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,193,120,177,252,193,140,178,252,193,142,178,252,193,106,179,252,193,144,178,252,193,146,178,252,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,193,124,177,252,193,126,177,252,193,128,177,252,193,130,177,252,193,132,177,252,193,134,177,252,193,136,177,252,193,148,178,252,193,150,178,252,193,152,178,252,193,154,178,252,193,156,178,252,193,158,178,252,193,160,178,252,193,162,178,252,193,164,178,252,193,166,178,252,193,168,178,252,193,170,178,252,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,193,54,179,252,193,56,179,252,193,58,179,252,193,60,179,252,193,62,179,252,193,64,179,252,193,66,179,252,193,68,179,252,193,132,180,252,193,134,180,252,193,136,180,252,193,138,180,252,193,140,180,252,193,142,180,252,193,144,180,252,193,156,181,252,193,158,181,252,193,160,181,252,193,162,181,252,193,130,182,252,193,132,182,252,193,134,182,252,193,136,182,252,193,138,182,252,193,140,182,252,193,142,182,252,193,144,182,252,193,108,183,252,193,110,183,252,193,112,183,252,193,114,183,252,193,116,183,252,193,90,179,252,193,92,179,252,193,94,179,252,193,146,180,252,193,148,180,252,193,150,180,252,193,152,180,252,193,154,180,252,193,156,180,252,193,158,180,252,193,160,180,252,193,162,180,252,193,164,180,252,193,166,180,252,193,168,180,252,193,170,180,252,193,172,180,252,193,164,181,252,193,166,181,252,193,168,181,252,193,170,181,252,193,172,181,252,193,174,181,252,193,176,181,252,193,178,181,252,206,128,71,0,206,128,71,0,206,128,71,0,206,128,71,0,206,128,71,0,206,128,71,0,206,128,71,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,193,244,180,252,193,246,180,252,193,248,180,252,193,250,180,252,193,252,180,252,193,254,180,252,193,2,181,252,193,252,181,252,193,254,181,252,193,2,182,252,193,4,182,252,193,6,182,252,193,8,182,252,193,10,182,252,193,12,182,252,193,14,182,252,193,16,182,252,193,226,182,252,193,228,182,252,193,230,182,252,193,232,182,252,193,234,182,252,193,236,182,252,193,178,183,252,193,180,183,252,193,182,183,252,193,184,183,252,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,193,4,181,252,193,68,180,252,193,70,180,252,193,72,180,252,193,74,180,252,193,76,180,252,193,78,180,252,193,80,180,252,193,82,180,252,193,84,180,252,193,86,180,252,193,88,180,252,193,90,180,252,193,92,180,252,193,94,180,252,193,96,180,252,193,98,180,252,193,100,180,252,193,102,180,252,193,104,180,252,193,106,180,252,193,108,180,252,193,110,180,252,193,112,180,252,193,114,180,252,193,116,180,252,193,118,180,252,193,6,181,252,193,8,181,252,193,10,181,252,193,12,181,252,193,14,181,252,193,16,181,252,193,18,181,252,193,20,181,252,193,22,181,252,193,24,181,252,193,26,181,252,193,28,181,252,193,30,181,252,193,32,181,252,193,34,181,252,193,36,181,252,193,38,181,252,193,40,181,252,193,42,181,252,193,44,181,252,193,46,181,252,193,48,181,252,193,50,181,252,193,52,181,252,193,54,181,252,193,56,181,252,193,58,181,252,193,60,181,252,193,62,181,252,193,64,181,252,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,193,66,181,252,193,68,181,252,193,70,181,252,193,72,181,252,193,74,181,252,193,76,181,252,193,78,181,252,193,80,181,252,193,82,181,252,193,84,181,252,193,86,181,252,193,88,181,252,193,90,181,252,193,92,181,252,193,94,181,252,193,96,181,252,193,98,181,252,193,100,181,252,193,102,181,252,193,104,181,252,193,106,181,252,193,108,181,252,193,110,181,252,193,112,181,252,193,114,181,252,193,116,181,252,193,118,181,252,193,120,181,252,193,122,181,252,193,124,181,252,193,126,181,252,193,128,181,252,193,130,181,252,193,132,181,252,193,18,182,252,193,134,181,252,193,136,181,252,193,138,181,252,193,140,181,252,193,142,181,252,193,144,181,252,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,193,172,182,252,193,244,181,252,193,246,181,252,193,138,183,252,193,248,181,252,193,250,181,252,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,193,128,182,252,193,98,183,252,193,100,183,252,193,102,183,252,193,104,183,252,193,18,184,252,193,20,184,252,193,22,184,252,193,24,184,252,193,26,184,252,193,28,184,252,193,30,184,252,193,128,184,252,193,130,184,252,193,132,184,252,193,236,184,252,193,238,184,252,193,240,184,252,193,62,185,252,193,64,185,252,193,66,185,252,193,112,185,252,193,174,185,252,193,184,185,252,193,202,185,252,193,222,185,252,193,42,186,252,193,44,186,252,193,46,186,252,193,48,186,252,193,112,186,252,193,114,186,252,206,128,71,0,206,128,71,0,206,128,71,0,206,128,71,0,193,122,183,252,193,124,183,252,193,126,183,252,193,128,183,252,193,130,183,252,193,132,183,252,193,34,184,252,193,36,184,252,193,38,184,252,193,40,184,252,193,42,184,252,193,44,184,252,193,146,184,252,193,148,184,252,193,150,184,252,193,250,184,252,193,252,184,252,193,254,184,252,193,2,185,252,193,74,185,252,193,76,185,252,193,78,185,252,193,118,185,252,193,152,185,252,193,154,185,252,193,176,185,252,193,178,185,252,193,204,185,252,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,193,140,183,252,193,222,182,252,193,142,183,252,193,144,183,252,193,146,183,252,193,148,183,252,193,150,183,252,193,152,183,252,193,154,183,252,193,156,183,252,193,158,183,252,193,224,182,252,193,160,183,252,193,162,183,252,193,164,183,252,193,166,183,252,193,168,183,252,193,170,183,252,193,172,183,252,193,174,183,252,193,176,183,252,206,0,72,0,206,0,72,0,206,0,72,0,206,0,72,0,206,0,72,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,193,118,183,252,193,120,183,252,193,32,184,252,193,134,184,252,193,136,184,252,193,138,184,252,193,140,184,252,193,142,184,252,193,144,184,252,193,242,184,252,193,244,184,252,193,246,184,252,193,248,184,252,193,68,185,252,193,70,185,252,193,72,185,252,193,114,185,252,193,116,185,252,193,150,185,252,193,2,186,252,193,50,186,252,193,52,186,252,193,54,186,252,193,56,186,252,193,58,186,252,193,116,186,252,193,118,186,252,193,120,186,252,193,122,186,252,193,124,186,252,193,126,186,252,193,200,186,252,193,186,183,252,193,188,183,252,193,190,183,252,193,64,184,252,193,66,184,252,193,68,184,252,193,70,184,252,193,72,184,252,193,178,184,252,193,180,184,252,193,14,185,252,193,16,185,252,193,18,185,252,193,20,185,252,193,92,185,252,193,124,185,252,193,126,185,252,193,128,185,252,193,130,185,252,193,164,185,252,193,166,185,252,193,190,185,252,193,254,185,252,193,106,186,252,193,40,186,252,193,108,186,252,193,184,186,252,193,186,186,252,193,8,187,252,193,112,187,252,193,212,187,252,193,214,187,252,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,32,72,0,206,32,72,0,206,32,72,0,206,32,72,0,193,182,184,252,193,16,184,252,193,90,184,252,193,92,184,252,193,184,184,252,193,94,184,252,193,96,184,252,193,186,184,252,193,98,184,252,193,100,184,252,193,102,184,252,193,104,184,252,193,106,184,252,193,108,184,252,193,110,184,252,193,112,184,252,193,114,184,252,193,116,184,252,193,118,184,252,193,120,184,252,193,122,184,252,193,124,184,252,193,126,184,252,193,188,184,252,193,190,184,252,193,192,184,252,193,194,184,252,193,196,184,252,206,0,72,0,206,0,72,0,206,0,72,0,206,0,72,0,193,152,184,252,193,154,184,252,193,156,184,252,193,158,184,252,193,160,184,252,193,162,184,252,193,164,184,252,193,166,184,252,193,168,184,252,193,170,184,252,193,172,184,252,193,174,184,252,193,176,184,252,193,10,185,252,193,12,185,252,193,84,185,252,193,86,185,252,193,88,185,252,193,90,185,252,193,122,185,252,193,156,185,252,193,158,185,252,193,160,185,252,193,162,185,252,193,186,185,252,193,188,185,252,193,212,185,252,193,220,185,252,193,198,184,252,193,200,184,252,193,22,185,252,193,202,184,252,193,204,184,252,193,206,184,252,193,208,184,252,193,210,184,252,193,212,184,252,193,214,184,252,193,216,184,252,193,218,184,252,193,220,184,252,193,222,184,252,193,224,184,252,193,226,184,252,193,228,184,252,193,230,184,252,193,232,184,252,193,234,184,252,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,193,94,185,252,193,96,185,252,193,98,185,252,193,100,185,252,193,102,185,252,193,104,185,252,193,106,185,252,193,108,185,252,193,110,185,252,193,132,185,252,193,134,185,252,193,136,185,252,193,138,185,252,193,140,185,252,193,142,185,252,193,144,185,252,193,146,185,252,193,168,185,252,193,148,185,252,193,170,185,252,193,172,185,252,193,180,185,252,193,182,185,252,193,192,185,252,193,194,185,252,193,196,185,252,193,198,185,252,193,200,185,252,193,206,185,252,193,208,185,252,193,214,185,252,193,216,185,252,193,218,185,252,193,110,186,252,193,188,186,252,193,10,187,252,193,12,187,252,193,14,187,252,193,114,187,252,193,116,187,252,193,118,187,252,193,120,187,252,193,216,187,252,193,218,187,252,193,220,187,252,193,222,187,252,193,224,187,252,193,38,188,252,193,40,188,252,193,42,188,252,193,44,188,252,193,82,188,252,193,118,188,252,193,120,188,252,193,122,188,252,193,162,188,252,193,164,188,252,193,224,185,252,193,230,185,252,193,232,185,252,193,234,185,252,193,236,185,252,193,238,185,252,193,240,185,252,193,242,185,252,193,244,185,252,193,246,185,252,193,248,185,252,193,250,185,252,193,4,186,252,193,6,186,252,193,8,186,252,193,10,186,252,193,12,186,252,193,14,186,252,193,16,186,252,193,18,186,252,193,20,186,252,193,22,186,252,193,252,185,252,193,24,186,252,193,26,186,252,193,28,186,252,193,30,186,252,193,32,186,252,193,34,186,252,193,36,186,252,193,38,186,252,193,70,186,252,193,226,185,252,193,128,186,252,193,130,186,252,193,132,186,252,193,218,186,252,193,220,186,252,193,222,186,252,193,38,187,252,193,40,187,252,193,42,187,252,193,136,187,252,193,138,187,252,193,140,187,252,193,252,187,252,193,102,188,252,193,104,188,252,193,218,188,252,193,238,188,252,193,16,189,252,193,48,189,252,193,50,189,252,193,82,189,252,193,108,189,252,193,132,189,252,193,152,189,252,193,170,189,252,193,172,189,252,193,174,189,252,193,2,190,252,193,62,190,252,193,106,190,252,193,108,190,252,193,66,186,252,193,68,186,252,193,134,186,252,193,136,186,252,193,138,186,252,193,140,186,252,193,142,186,252,193,144,186,252,193,146,186,252,193,148,186,252,193,150,186,252,193,152,186,252,193,224,186,252,193,226,186,252,193,228,186,252,193,230,186,252,193,232,186,252,193,234,186,252,193,236,186,252,193,238,186,252,193,240,186,252,193,242,186,252,193,44,187,252,193,46,187,252,193,48,187,252,193,50,187,252,193,52,187,252,193,54,187,252,193,56,187,252,193,58,187,252,193,60,187,252,193,142,187,252,193,72,186,252,193,74,186,252,193,76,186,252,193,78,186,252,193,80,186,252,193,82,186,252,193,84,186,252,193,86,186,252,193,88,186,252,193,90,186,252,193,92,186,252,193,94,186,252,193,96,186,252,193,98,186,252,193,100,186,252,193,102,186,252,193,104,186,252,193,154,186,252,193,156,186,252,193,158,186,252,193,160,186,252,193,162,186,252,193,164,186,252,193,166,186,252,193,168,186,252,193,170,186,252,193,172,186,252,193,174,186,252,193,176,186,252,193,178,186,252,193,180,186,252,193,182,186,252,193,190,186,252,193,192,186,252,193,194,186,252,193,196,186,252,193,16,187,252,193,18,187,252,193,20,187,252,193,22,187,252,193,24,187,252,193,26,187,252,193,122,187,252,193,124,187,252,193,226,187,252,193,228,187,252,193,230,187,252,193,46,188,252,193,48,188,252,193,84,188,252,193,86,188,252,193,88,188,252,193,90,188,252,193,124,188,252,193,126,188,252,193,166,188,252,193,180,188,252,193,196,188,252,193,46,189,252,193,78,189,252,193,100,189,252,193,102,189,252,193,128,189,252,193,192,189,252,193,202,186,252,193,204,186,252,193,206,186,252,193,208,186,252,193,210,186,252,193,212,186,252,193,214,186,252,193,216,186,252,193,30,187,252,193,32,187,252,193,34,187,252,193,36,187,252,193,128,187,252,193,130,187,252,193,132,187,252,193,134,187,252,193,234,187,252,193,236,187,252,193,238,187,252,193,240,187,252,193,242,187,252,193,244,187,252,193,246,187,252,193,248,187,252,193,250,187,252,193,50,188,252,193,52,188,252,193,54,188,252,193,56,188,252,193,58,188,252,193,92,188,252,193,94,188,252,193,244,186,252,193,246,186,252,193,248,186,252,193,250,186,252,193,252,186,252,193,254,186,252,193,2,187,252,193,4,187,252,193,6,187,252,193,62,187,252,193,64,187,252,193,66,187,252,193,68,187,252,193,70,187,252,193,72,187,252,193,74,187,252,193,76,187,252,193,78,187,252,193,80,187,252,193,82,187,252,193,84,187,252,193,86,187,252,193,88,187,252,193,90,187,252,193,92,187,252,193,94,187,252,193,96,187,252,193,98,187,252,193,100,187,252,193,102,187,252,193,104,187,252,193,106,187,252,193,108,187,252,193,110,187,252,193,166,187,252,193,168,187,252,193,170,187,252,193,172,187,252,193,174,187,252,193,176,187,252,193,178,187,252,193,180,187,252,193,182,187,252,193,184,187,252,193,186,187,252,193,188,187,252,193,190,187,252,193,192,187,252,193,194,187,252,193,196,187,252,193,198,187,252,193,200,187,252,193,202,187,252,193,204,187,252,193,206,187,252,193,208,187,252,193,210,187,252,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,193,144,187,252,193,146,187,252,193,148,187,252,193,150,187,252,193,152,187,252,193,154,187,252,193,156,187,252,193,158,187,252,193,160,187,252,193,162,187,252,193,164,187,252,193,254,187,252,193,2,188,252,193,4,188,252,193,6,188,252,193,8,188,252,193,10,188,252,193,60,188,252,193,62,188,252,193,64,188,252,193,66,188,252,193,106,188,252,193,108,188,252,193,140,188,252,193,142,188,252,193,144,188,252,193,146,188,252,193,148,188,252,193,170,188,252,193,172,188,252,193,174,188,252,193,184,188,252,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,193,68,188,252,193,70,188,252,193,72,188,252,193,74,188,252,193,76,188,252,193,78,188,252,193,80,188,252,193,110,188,252,193,112,188,252,193,114,188,252,193,116,188,252,193,150,188,252,193,152,188,252,193,154,188,252,193,156,188,252,193,158,188,252,193,192,188,252,193,198,188,252,193,202,188,252,193,208,188,252,193,220,188,252,193,222,188,252,193,240,188,252,193,224,188,252,193,242,188,252,193,18,189,252,193,20,189,252,193,36,188,252,193,160,188,252,193,210,188,252,193,226,188,252,193,244,188,252,193,246,188,252,193,248,188,252,193,250,188,252,193,252,188,252,193,254,188,252,193,24,189,252,193,56,189,252,193,58,189,252,193,112,189,252,193,216,189,252,193,244,189,252,193,30,190,252,193,32,190,252,193,70,190,252,193,72,190,252,193,74,190,252,193,130,190,252,193,132,190,252,193,134,190,252,193,212,190,252,193,16,191,252,193,18,191,252,193,68,191,252,193,70,191,252,193,72,191,252,193,74,191,252,193,156,191,252,193,96,188,252,193,98,188,252,193,100,188,252,193,128,188,252,193,130,188,252,193,132,188,252,193,134,188,252,193,136,188,252,193,138,188,252,193,168,188,252,193,186,188,252,193,194,188,252,193,234,188,252,193,236,188,252,193,14,189,252,193,36,189,252,193,80,189,252,193,104,189,252,193,106,189,252,193,130,189,252,193,194,189,252,193,20,190,252,193,56,190,252,193,58,190,252,193,60,190,252,193,104,190,252,193,194,190,252,193,196,190,252,193,198,190,252,193,254,190,252,193,40,191,252,193,42,191,252,193,176,188,252,193,178,188,252,193,200,188,252,193,212,188,252,193,214,188,252,193,216,188,252,193,228,188,252,193,230,188,252,193,232,188,252,193,2,189,252,193,4,189,252,193,6,189,252,193,8,189,252,193,10,189,252,193,12,189,252,193,26,189,252,193,28,189,252,193,30,189,252,193,32,189,252,193,34,189,252,193,38,189,252,193,40,189,252,193,42,189,252,193,44,189,252,193,60,189,252,193,62,189,252,193,64,189,252,193,66,189,252,193,68,189,252,193,70,189,252,193,72,189,252,193,74,189,252,193,188,188,252,193,190,188,252,193,204,188,252,193,206,188,252,193,84,189,252,193,154,189,252,193,176,189,252,193,208,189,252,193,112,190,252,193,208,190,252,193,4,191,252,193,6,191,252,193,8,191,252,193,46,191,252,193,48,191,252,193,140,191,252,193,142,191,252,193,144,191,252,193,4,192,252,193,6,192,252,193,8,192,252,193,78,192,252,193,252,192,252,193,34,193,252,193,124,193,252,193,250,193,252,193,154,194,252,193,194,194,252,193,196,194,252,193,140,195,252,193,244,195,252,193,246,195,252,193,22,189,252,193,52,189,252,193,54,189,252,193,110,189,252,193,134,189,252,193,136,189,252,193,138,189,252,193,156,189,252,193,158,189,252,193,160,189,252,193,178,189,252,193,180,189,252,193,196,189,252,193,202,189,252,193,210,189,252,193,212,189,252,193,224,189,252,193,238,189,252,193,240,189,252,193,242,189,252,193,22,190,252,193,24,190,252,193,26,190,252,193,28,190,252,193,64,190,252,193,66,190,252,193,68,190,252,193,114,190,252,193,116,190,252,193,118,190,252,193,120,190,252,193,122,190,252,193,76,189,252,193,86,189,252,193,88,189,252,193,90,189,252,193,92,189,252,193,94,189,252,193,96,189,252,193,98,189,252,193,114,189,252,193,116,189,252,193,118,189,252,193,120,189,252,193,122,189,252,193,124,189,252,193,126,189,252,193,140,189,252,193,142,189,252,193,144,189,252,193,146,189,252,193,148,189,252,193,150,189,252,193,162,189,252,193,164,189,252,193,166,189,252,193,168,189,252,193,184,189,252,193,186,189,252,193,188,189,252,193,190,189,252,193,198,189,252,193,200,189,252,193,204,189,252,193,206,189,252,193,214,189,252,193,218,189,252,193,220,189,252,193,222,189,252,193,228,189,252,193,230,189,252,193,232,189,252,193,234,189,252,193,236,189,252,193,246,189,252,193,248,189,252,193,4,190,252,193,250,189,252,193,6,190,252,193,254,189,252,193,252,189,252,193,8,190,252,193,10,190,252,193,12,190,252,193,14,190,252,193,16,190,252,193,18,190,252,193,34,190,252,193,36,190,252,193,38,190,252,193,40,190,252,193,42,190,252,193,44,190,252,193,46,190,252,193,48,190,252,193,50,190,252,193,52,190,252,193,76,190,252,193,78,190,252,193,80,190,252,193,82,190,252,193,84,190,252,193,86,190,252,193,88,190,252,193,90,190,252,193,92,190,252,193,94,190,252,193,96,190,252,193,98,190,252,193,100,190,252,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,193,54,190,252,193,102,190,252,193,192,190,252,193,248,190,252,193,250,190,252,193,252,190,252,193,122,191,252,193,124,191,252,193,192,191,252,193,236,191,252,193,64,192,252,193,154,192,252,193,192,192,252,193,216,192,252,193,32,193,252,193,186,193,252,193,188,193,252,193,190,193,252,193,192,193,252,193,236,193,252,193,238,193,252,193,50,194,252,193,140,194,252,193,142,194,252,193,144,194,252,193,180,194,252,193,228,194,252,193,230,194,252,193,232,194,252,193,28,195,252,193,30,195,252,193,76,195,252,193,110,190,252,193,200,190,252,193,202,190,252,193,204,190,252,193,206,190,252,193,2,191,252,193,44,191,252,193,134,191,252,193,136,191,252,193,138,191,252,193,194,191,252,193,196,191,252,193,198,191,252,193,244,191,252,193,246,191,252,193,248,191,252,193,250,191,252,193,252,191,252,193,254,191,252,193,2,192,252,193,66,192,252,193,68,192,252,193,70,192,252,193,72,192,252,193,74,192,252,193,76,192,252,193,124,192,252,193,126,192,252,193,158,192,252,193,194,192,252,193,196,192,252,193,220,192,252,193,124,190,252,193,126,190,252,193,128,190,252,193,210,190,252,193,10,191,252,193,12,191,252,193,14,191,252,193,50,191,252,193,52,191,252,193,54,191,252,193,56,191,252,193,58,191,252,193,60,191,252,193,62,191,252,193,64,191,252,193,146,191,252,193,148,191,252,193,150,191,252,193,66,191,252,193,152,191,252,193,154,191,252,193,200,191,252,193,202,191,252,193,204,191,252,193,206,191,252,193,10,192,252,193,12,192,252,193,14,192,252,193,16,192,252,193,80,192,252,193,82,192,252,193,84,192,252,206,160,72,0,206,160,72,0,206,160,72,0,206,160,72,0,206,160,72,0,193,76,191,252,193,78,191,252,193,80,191,252,193,82,191,252,193,84,191,252,193,86,191,252,193,88,191,252,193,90,191,252,193,92,191,252,193,94,191,252,193,96,191,252,193,98,191,252,193,38,191,252,193,100,191,252,193,102,191,252,193,104,191,252,193,106,191,252,193,108,191,252,193,110,191,252,193,112,191,252,193,114,191,252,193,116,191,252,193,118,191,252,193,120,191,252,193,158,191,252,193,160,191,252,193,162,191,252,193,126,191,252,193,128,191,252,193,130,191,252,193,132,191,252,193,238,191,252,193,240,191,252,193,242,191,252,193,120,192,252,193,122,192,252,193,156,192,252,193,218,192,252,193,226,192,252,193,60,193,252,193,118,193,252,193,120,193,252,193,122,193,252,193,194,193,252,193,240,193,252,193,242,193,252,193,244,193,252,193,52,194,252,193,90,194,252,193,92,194,252,193,146,194,252,193,148,194,252,193,182,194,252,193,184,194,252,193,186,194,252,193,234,194,252,193,236,194,252,193,32,195,252,193,58,195,252,193,18,192,252,193,20,192,252,193,90,192,252,193,130,192,252,193,168,192,252,193,210,192,252,193,234,192,252,193,82,193,252,193,84,193,252,193,86,193,252,193,140,193,252,193,142,193,252,193,144,193,252,193,146,193,252,193,206,193,252,193,208,193,252,193,210,193,252,193,14,194,252,193,58,194,252,193,60,194,252,193,62,194,252,193,64,194,252,193,66,194,252,193,112,194,252,193,160,194,252,193,162,194,252,193,198,194,252,193,244,194,252,193,246,194,252,193,102,195,252,193,192,195,252,193,194,195,252,193,28,192,252,193,30,192,252,193,32,192,252,193,34,192,252,193,36,192,252,193,38,192,252,193,40,192,252,193,42,192,252,193,44,192,252,193,46,192,252,193,48,192,252,193,50,192,252,193,52,192,252,193,54,192,252,193,56,192,252,193,58,192,252,193,60,192,252,193,62,192,252,193,92,192,252,193,94,192,252,193,96,192,252,193,98,192,252,193,100,192,252,193,102,192,252,193,104,192,252,193,106,192,252,193,108,192,252,193,110,192,252,193,112,192,252,193,114,192,252,193,116,192,252,193,132,192,252,193,86,192,252,193,88,192,252,193,128,192,252,193,160,192,252,193,162,192,252,193,164,192,252,193,166,192,252,193,222,192,252,193,230,192,252,193,232,192,252,193,14,193,252,193,22,193,252,193,24,193,252,193,36,193,252,193,38,193,252,193,40,193,252,193,42,193,252,193,44,193,252,193,68,193,252,193,70,193,252,193,72,193,252,193,126,193,252,193,74,193,252,193,76,193,252,193,78,193,252,193,80,193,252,193,128,193,252,193,130,193,252,193,132,193,252,193,134,193,252,193,136,193,252,193,138,193,252,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,193,118,192,252,193,186,51,253,193,188,51,253,193,190,51,253,193,192,51,253,193,194,51,253,193,196,51,253,193,242,51,253,193,244,51,253,193,246,51,253,193,248,51,253,193,250,51,253,193,252,51,253,193,254,51,253,193,2,52,253,193,4,52,253,193,6,52,253,193,8,52,253,193,10,52,253,193,12,52,253,193,14,52,253,193,16,52,253,193,18,52,253,193,20,52,253,193,22,52,253,193,64,52,253,193,66,52,253,193,134,192,252,193,136,192,252,193,138,192,252,193,140,192,252,193,142,192,252,193,144,192,252,193,146,192,252,193,148,192,252,193,150,192,252,193,248,194,252,193,170,192,252,193,172,192,252,193,174,192,252,193,176,192,252,193,178,192,252,193,180,192,252,193,182,192,252,193,184,192,252,193,186,192,252,193,188,192,252,193,190,192,252,193,198,192,252,193,200,192,252,193,202,192,252,193,204,192,252,193,206,192,252,193,208,192,252,193,212,192,252,193,214,192,252,193,224,192,252,193,236,192,252,193,238,192,252,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,193,152,192,252,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,193,228,192,252,193,254,192,252,193,62,193,252,193,64,193,252,193,66,193,252,193,196,193,252,193,198,193,252,193,246,193,252,193,248,193,252,193,54,194,252,193,94,194,252,193,96,194,252,193,98,194,252,193,100,194,252,193,150,194,252,193,152,194,252,193,188,194,252,193,190,194,252,193,192,194,252,193,34,195,252,193,60,195,252,193,98,195,252,193,100,195,252,193,114,195,252,193,236,195,252,193,238,195,252,193,240,195,252,193,242,195,252,193,64,196,252,193,140,196,252,193,142,196,252,193,144,196,252,193,240,192,252,193,242,192,252,193,244,192,252,193,246,192,252,193,248,192,252,193,250,192,252,193,2,193,252,193,4,193,252,193,6,193,252,193,8,193,252,193,10,193,252,193,16,193,252,193,18,193,252,193,20,193,252,193,26,193,252,193,28,193,252,193,30,193,252,193,46,193,252,193,48,193,252,193,50,193,252,193,52,193,252,193,54,193,252,193,56,193,252,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,193,148,193,252,193,150,193,252,193,152,193,252,193,154,193,252,193,156,193,252,193,158,193,252,193,160,193,252,193,162,193,252,193,164,193,252,193,116,193,252,193,166,193,252,193,168,193,252,193,170,193,252,193,172,193,252,193,174,193,252,193,176,193,252,193,178,193,252,193,180,193,252,193,182,193,252,193,184,193,252,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,193,200,193,252,193,202,193,252,193,204,193,252,193,252,193,252,193,254,193,252,193,2,194,252,193,4,194,252,193,6,194,252,193,8,194,252,193,10,194,252,193,12,194,252,193,56,194,252,193,102,194,252,193,104,194,252,193,106,194,252,193,108,194,252,193,110,194,252,193,156,194,252,193,158,194,252,193,238,194,252,193,240,194,252,193,242,194,252,193,36,195,252,193,38,195,252,193,40,195,252,193,42,195,252,193,62,195,252,193,78,195,252,193,80,195,252,193,136,195,252,193,144,195,252,193,146,195,252,193,86,194,252,193,88,194,252,193,114,194,252,193,116,194,252,193,118,194,252,193,120,194,252,193,122,194,252,193,124,194,252,193,126,194,252,193,128,194,252,193,130,194,252,193,132,194,252,193,134,194,252,193,136,194,252,193,138,194,252,193,164,194,252,193,166,194,252,193,168,194,252,193,170,194,252,193,172,194,252,193,174,194,252,193,176,194,252,193,178,194,252,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,193,250,194,252,193,252,194,252,193,254,194,252,193,2,195,252,193,4,195,252,193,6,195,252,193,8,195,252,193,10,195,252,193,12,195,252,193,14,195,252,193,16,195,252,193,18,195,252,193,20,195,252,193,22,195,252,193,24,195,252,193,26,195,252,193,44,195,252,193,46,195,252,193,48,195,252,193,50,195,252,193,52,195,252,193,54,195,252,193,56,195,252,193,64,195,252,193,66,195,252,193,68,195,252,193,70,195,252,193,72,195,252,193,74,195,252,193,84,195,252,193,86,195,252,193,88,195,252,193,90,195,252,193,92,195,252,193,94,195,252,193,104,195,252,193,106,195,252,193,116,195,252,193,118,195,252,193,120,195,252,193,122,195,252,193,124,195,252,193,130,195,252,193,132,195,252,193,134,195,252,193,142,195,252,193,138,195,252,193,148,195,252,193,150,195,252,193,152,195,252,193,154,195,252,193,156,195,252,193,158,195,252,193,160,195,252,193,162,195,252,193,164,195,252,193,166,195,252,193,168,195,252,193,170,195,252,193,96,195,252,193,112,195,252,193,126,195,252,193,200,196,252,193,14,197,252,193,160,197,252,193,162,197,252,193,210,197,252,193,212,197,252,193,96,198,252,193,98,198,252,193,148,198,252,193,174,198,252,193,200,198,252,193,206,198,252,193,16,199,252,193,126,199,252,193,50,200,252,193,118,200,252,193,120,200,252,193,10,201,252,193,12,201,252,193,14,201,252,193,86,201,252,193,88,201,252,193,90,201,252,193,152,201,252,193,154,201,252,193,156,201,252,193,158,201,252,193,252,201,252,193,254,201,252,193,108,195,252,193,110,195,252,193,176,195,252,193,234,195,252,193,62,196,252,193,134,196,252,193,136,196,252,193,138,196,252,193,196,196,252,193,198,196,252,193,12,197,252,193,94,197,252,193,96,197,252,193,156,197,252,193,158,197,252,193,208,197,252,193,12,198,252,193,14,198,252,193,76,198,252,193,144,198,252,193,146,198,252,193,172,198,252,193,180,198,252,193,188,198,252,193,204,198,252,193,102,199,252,193,122,199,252,193,124,199,252,193,146,199,252,193,214,199,252,193,238,199,252,193,36,200,252,193,172,195,252,193,174,195,252,193,196,195,252,193,198,195,252,193,200,195,252,193,202,195,252,193,204,195,252,193,206,195,252,193,208,195,252,193,210,195,252,193,212,195,252,193,214,195,252,193,216,195,252,193,218,195,252,193,220,195,252,193,222,195,252,193,224,195,252,193,226,195,252,193,228,195,252,193,230,195,252,193,232,195,252,193,34,196,252,193,36,196,252,193,38,196,252,193,40,196,252,193,42,196,252,193,44,196,252,193,46,196,252,193,48,196,252,193,50,196,252,193,52,196,252,193,54,196,252,193,178,195,252,193,180,195,252,193,182,195,252,193,184,195,252,193,186,195,252,193,188,195,252,193,190,195,252,193,250,195,252,193,252,195,252,193,254,195,252,193,2,196,252,193,4,196,252,193,6,196,252,193,8,196,252,193,10,196,252,193,12,196,252,193,14,196,252,193,16,196,252,193,18,196,252,193,68,196,252,193,70,196,252,193,72,196,252,193,74,196,252,193,76,196,252,193,78,196,252,193,80,196,252,193,82,196,252,193,154,196,252,193,156,196,252,193,158,196,252,193,208,196,252,193,210,196,252,193,248,195,252,193,66,196,252,193,152,196,252,193,206,196,252,193,24,197,252,193,174,197,252,193,78,198,252,193,90,198,252,193,108,198,252,193,110,198,252,193,152,198,252,193,182,198,252,193,238,198,252,193,2,199,252,193,4,199,252,193,32,199,252,193,78,199,252,193,80,199,252,193,52,200,252,193,126,200,252,193,198,200,252,193,200,200,252,193,202,200,252,193,204,200,252,193,18,201,252,193,20,201,252,193,22,201,252,193,28,203,252,193,136,203,252,193,160,203,252,193,232,203,252,193,16,204,252,193,20,196,252,193,22,196,252,193,24,196,252,193,26,196,252,193,28,196,252,193,30,196,252,193,32,196,252,193,84,196,252,193,86,196,252,193,88,196,252,193,90,196,252,193,160,196,252,193,162,196,252,193,164,196,252,193,166,196,252,193,222,196,252,193,224,196,252,193,226,196,252,193,228,196,252,193,230,196,252,193,114,197,252,193,116,197,252,193,228,197,252,193,230,197,252,193,232,197,252,193,36,198,252,193,54,198,252,193,100,198,252,193,158,198,252,193,160,198,252,193,162,198,252,193,234,198,252,193,56,196,252,193,58,196,252,193,60,196,252,193,92,196,252,193,94,196,252,193,96,196,252,193,98,196,252,193,100,196,252,193,102,196,252,193,104,196,252,193,106,196,252,193,108,196,252,193,110,196,252,193,112,196,252,193,114,196,252,193,116,196,252,193,118,196,252,193,120,196,252,193,122,196,252,193,124,196,252,193,126,196,252,193,128,196,252,193,130,196,252,193,132,196,252,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,193,146,196,252,193,148,196,252,193,150,196,252,193,202,196,252,193,204,196,252,193,16,197,252,193,18,197,252,193,20,197,252,193,22,197,252,193,98,197,252,193,100,197,252,193,102,197,252,193,104,197,252,193,164,197,252,193,166,197,252,193,168,197,252,193,170,197,252,193,172,197,252,193,214,197,252,193,216,197,252,193,28,198,252,193,30,198,252,193,50,198,252,193,52,198,252,193,64,198,252,193,66,198,252,193,82,198,252,193,150,198,252,193,166,198,252,193,168,198,252,193,176,198,252,193,254,198,252,193,212,196,252,193,214,196,252,193,216,196,252,193,218,196,252,193,220,196,252,193,26,197,252,193,28,197,252,193,30,197,252,193,32,197,252,193,34,197,252,193,36,197,252,193,38,197,252,193,40,197,252,193,42,197,252,193,106,197,252,193,108,197,252,193,110,197,252,193,112,197,252,193,176,197,252,193,178,197,252,193,180,197,252,193,182,197,252,193,184,197,252,193,218,197,252,193,220,197,252,193,222,197,252,193,224,197,252,193,226,197,252,193,186,197,252,193,16,198,252,193,18,198,252,193,32,198,252,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,193,118,197,252,193,120,197,252,193,122,197,252,193,124,197,252,193,126,197,252,193,128,197,252,193,130,197,252,193,132,197,252,193,134,197,252,193,136,197,252,193,138,197,252,193,92,197,252,193,140,197,252,193,142,197,252,193,144,197,252,193,146,197,252,193,148,197,252,193,150,197,252,193,152,197,252,193,188,197,252,193,190,197,252,193,192,197,252,193,194,197,252,193,196,197,252,193,198,197,252,193,200,197,252,193,202,197,252,193,204,197,252,193,206,197,252,193,234,197,252,193,236,197,252,193,238,197,252,193,240,197,252,193,242,197,252,193,244,197,252,193,246,197,252,193,248,197,252,193,250,197,252,193,252,197,252,193,254,197,252,193,2,198,252,193,4,198,252,193,6,198,252,193,8,198,252,193,20,198,252,193,22,198,252,193,154,197,252,193,10,198,252,193,24,198,252,193,26,198,252,193,38,198,252,193,40,198,252,193,42,198,252,193,44,198,252,193,56,198,252,193,68,198,252,193,58,198,252,193,60,198,252,193,46,198,252,193,48,198,252,193,62,198,252,193,70,198,252,193,72,198,252,193,74,198,252,193,80,198,252,193,92,198,252,193,94,198,252,193,102,198,252,193,104,198,252,193,106,198,252,193,118,198,252,193,120,198,252,193,122,198,252,193,124,198,252,193,132,198,252,193,134,198,252,193,136,198,252,193,138,198,252,193,140,198,252,193,142,198,252,193,34,198,252,193,84,198,252,193,86,198,252,193,88,198,252,193,112,198,252,193,114,198,252,193,116,198,252,193,126,198,252,193,128,198,252,193,130,198,252,193,154,198,252,193,156,198,252,193,214,198,252,193,224,198,252,193,226,198,252,193,228,198,252,193,230,198,252,193,232,198,252,193,40,199,252,193,44,199,252,193,54,199,252,193,64,199,252,193,66,199,252,193,68,199,252,193,70,199,252,193,72,199,252,193,82,199,252,193,84,199,252,193,86,199,252,193,88,199,252,193,90,199,252,193,92,199,252,193,164,198,252,193,170,198,252,193,178,198,252,193,194,198,252,193,184,198,252,193,186,198,252,193,190,198,252,193,192,198,252,193,196,198,252,193,198,198,252,193,202,198,252,193,208,198,252,193,210,198,252,193,212,198,252,193,218,198,252,193,220,198,252,193,216,198,252,193,222,198,252,193,242,198,252,193,244,198,252,193,246,198,252,193,248,198,252,193,250,198,252,193,252,198,252,193,6,199,252,193,8,199,252,193,10,199,252,193,12,199,252,193,14,199,252,193,18,199,252,193,20,199,252,193,26,199,252,193,236,198,252,193,240,198,252,193,56,199,252,193,94,199,252,193,136,199,252,193,138,199,252,193,156,199,252,193,158,199,252,193,160,199,252,193,162,199,252,193,164,199,252,193,192,199,252,193,194,199,252,193,244,199,252,193,246,199,252,193,248,199,252,193,16,200,252,193,58,200,252,193,78,200,252,193,150,200,252,193,152,200,252,193,228,200,252,193,230,200,252,193,40,201,252,193,100,201,252,193,102,201,252,193,188,201,252,193,190,201,252,193,192,201,252,193,194,201,252,193,196,201,252,193,28,202,252,193,22,199,252,193,24,199,252,193,36,199,252,193,52,199,252,193,76,199,252,193,104,199,252,193,106,199,252,193,108,199,252,193,128,199,252,193,130,199,252,193,148,199,252,193,38,200,252,193,122,200,252,193,124,200,252,193,196,200,252,193,16,201,252,193,160,201,252,193,162,201,252,193,164,201,252,193,4,202,252,193,6,202,252,193,8,202,252,193,94,202,252,193,96,202,252,193,98,202,252,193,162,202,252,193,216,202,252,193,26,203,252,193,82,203,252,193,84,203,252,193,96,203,252,193,98,203,252,193,28,199,252,193,30,199,252,193,34,199,252,193,38,199,252,193,42,199,252,193,46,199,252,193,48,199,252,193,50,199,252,193,58,199,252,193,60,199,252,193,62,199,252,193,74,199,252,193,96,199,252,193,98,199,252,193,100,199,252,193,112,199,252,193,114,199,252,193,116,199,252,193,118,199,252,193,120,199,252,193,140,199,252,193,142,199,252,193,144,199,252,193,166,199,252,193,168,199,252,193,170,199,252,193,172,199,252,193,174,199,252,193,176,199,252,193,178,199,252,193,180,199,252,193,182,199,252,193,110,199,252,193,132,199,252,193,134,199,252,193,150,199,252,193,152,199,252,193,154,199,252,193,188,199,252,193,190,199,252,193,216,199,252,193,218,199,252,193,220,199,252,193,240,199,252,193,242,199,252,193,12,200,252,193,14,200,252,193,54,200,252,193,56,200,252,193,64,200,252,193,66,200,252,193,74,200,252,193,76,200,252,193,82,200,252,193,104,200,252,193,106,200,252,193,128,200,252,193,130,200,252,193,132,200,252,193,134,200,252,193,136,200,252,193,138,200,252,193,140,200,252,193,142,200,252,193,184,199,252,193,186,199,252,193,196,199,252,193,198,199,252,193,200,199,252,193,202,199,252,193,204,199,252,193,206,199,252,193,208,199,252,193,210,199,252,193,212,199,252,193,222,199,252,193,224,199,252,193,226,199,252,193,228,199,252,193,230,199,252,193,232,199,252,193,234,199,252,193,236,199,252,193,250,199,252,193,252,199,252,193,254,199,252,193,2,200,252,193,4,200,252,193,6,200,252,193,8,200,252,193,10,200,252,193,18,200,252,193,20,200,252,193,22,200,252,193,24,200,252,193,40,200,252,193,26,200,252,193,28,200,252,193,30,200,252,193,32,200,252,193,34,200,252,193,42,200,252,193,44,200,252,193,46,200,252,193,48,200,252,193,60,200,252,193,62,200,252,193,68,200,252,193,70,200,252,193,72,200,252,193,80,200,252,193,84,200,252,193,86,200,252,193,88,200,252,193,90,200,252,193,92,200,252,193,94,200,252,193,96,200,252,193,98,200,252,193,108,200,252,193,110,200,252,193,112,200,252,193,114,200,252,193,116,200,252,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,193,100,200,252,193,194,200,252,193,82,201,252,193,84,201,252,193,146,201,252,193,148,201,252,193,150,201,252,193,248,201,252,193,250,201,252,193,88,202,252,193,148,202,252,193,150,202,252,193,152,202,252,193,154,202,252,193,212,202,252,193,214,202,252,193,18,203,252,193,20,203,252,193,54,203,252,193,124,203,252,193,180,203,252,193,196,203,252,193,24,205,252,193,26,205,252,193,28,205,252,193,20,206,252,193,22,206,252,193,24,206,252,193,26,206,252,193,20,207,252,193,22,207,252,193,254,207,252,193,144,200,252,193,146,200,252,193,148,200,252,193,206,200,252,193,208,200,252,193,210,200,252,193,212,200,252,193,214,200,252,193,216,200,252,193,218,200,252,193,220,200,252,193,222,200,252,193,224,200,252,193,226,200,252,193,24,201,252,193,26,201,252,193,28,201,252,193,30,201,252,193,32,201,252,193,34,201,252,193,36,201,252,193,92,201,252,193,94,201,252,193,96,201,252,193,98,201,252,193,166,201,252,193,168,201,252,193,170,201,252,193,172,201,252,193,174,201,252,193,176,201,252,193,178,201,252,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,193,232,200,252,193,234,200,252,193,236,200,252,193,238,200,252,193,240,200,252,193,242,200,252,193,244,200,252,193,246,200,252,193,248,200,252,193,250,200,252,193,252,200,252,193,254,200,252,193,2,201,252,193,4,201,252,193,6,201,252,193,8,201,252,193,38,201,252,193,180,201,252,193,182,201,252,193,184,201,252,193,10,202,252,193,12,202,252,193,14,202,252,193,16,202,252,193,18,202,252,193,20,202,252,193,22,202,252,193,24,202,252,193,100,202,252,193,102,202,252,193,218,202,252,193,164,202,252,193,166,202,252,193,168,202,252,193,170,202,252,193,172,202,252,193,220,202,252,193,222,202,252,193,224,202,252,193,226,202,252,193,30,203,252,193,56,203,252,193,58,203,252,193,60,203,252,193,62,203,252,193,100,203,252,193,102,203,252,193,128,203,252,193,42,201,252,193,44,201,252,193,46,201,252,193,104,201,252,193,48,201,252,193,50,201,252,193,52,201,252,193,54,201,252,193,56,201,252,193,58,201,252,193,60,201,252,193,62,201,252,193,64,201,252,193,66,201,252,193,68,201,252,193,70,201,252,193,72,201,252,193,74,201,252,193,76,201,252,193,78,201,252,193,80,201,252,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,193,198,201,252,193,200,201,252,193,202,201,252,193,204,201,252,193,206,201,252,193,208,201,252,193,210,201,252,193,212,201,252,193,214,201,252,193,216,201,252,193,218,201,252,193,220,201,252,193,222,201,252,193,224,201,252,193,226,201,252,193,144,201,252,193,228,201,252,193,230,201,252,193,232,201,252,193,234,201,252,193,236,201,252,193,238,201,252,193,240,201,252,193,242,201,252,193,244,201,252,193,246,201,252,193,34,202,252,193,36,202,252,193,38,202,252,193,40,202,252,193,42,202,252,193,44,202,252,193,46,202,252,193,48,202,252,193,50,202,252,193,52,202,252,193,54,202,252,193,56,202,252,193,58,202,252,193,60,202,252,193,62,202,252,193,64,202,252,193,66,202,252,193,68,202,252,193,70,202,252,193,72,202,252,193,74,202,252,193,76,202,252,193,78,202,252,193,80,202,252,193,82,202,252,193,84,202,252,206,160,73,0,206,160,73,0,206,160,73,0,206,160,73,0,193,2,202,252,193,90,202,252,193,92,202,252,193,156,202,252,193,158,202,252,193,160,202,252,193,22,203,252,193,24,203,252,193,80,203,252,193,126,203,252,193,140,203,252,193,182,203,252,193,204,203,252,193,212,203,252,193,214,203,252,193,84,204,252,193,30,205,252,193,32,205,252,193,34,205,252,193,36,205,252,193,28,206,252,193,30,206,252,193,32,206,252,193,24,207,252,193,26,207,252,193,28,207,252,193,30,207,252,193,6,208,252,193,8,208,252,193,10,208,252,193,12,208,252,193,14,208,252,193,30,202,252,193,104,202,252,193,106,202,252,193,108,202,252,193,174,202,252,193,176,202,252,193,178,202,252,193,180,202,252,193,230,202,252,193,64,203,252,193,104,203,252,193,174,203,252,193,244,203,252,193,246,203,252,193,58,204,252,193,60,204,252,193,166,204,252,193,168,204,252,193,170,204,252,193,172,204,252,193,174,204,252,193,176,204,252,193,178,204,252,193,180,204,252,193,182,204,252,193,184,204,252,193,186,204,252,193,188,204,252,193,190,204,252,193,192,204,252,193,152,205,252,193,154,205,252,206,160,73,0,206,160,73,0,206,160,73,0,206,160,73,0,206,160,73,0,206,160,73,0,206,160,73,0,193,86,202,252,193,132,202,252,193,134,202,252,193,136,202,252,193,138,202,252,193,140,202,252,193,142,202,252,193,144,202,252,193,146,202,252,193,182,202,252,193,184,202,252,193,186,202,252,193,188,202,252,193,190,202,252,193,192,202,252,193,194,202,252,193,196,202,252,193,198,202,252,193,200,202,252,193,202,202,252,193,204,202,252,193,206,202,252,193,208,202,252,193,210,202,252,193,232,202,252,193,234,202,252,193,236,202,252,193,238,202,252,193,240,202,252,193,242,202,252,193,244,202,252,193,246,202,252,193,248,202,252,193,250,202,252,193,252,202,252,193,254,202,252,193,2,203,252,193,4,203,252,193,6,203,252,193,8,203,252,193,10,203,252,193,12,203,252,193,14,203,252,193,16,203,252,193,32,203,252,193,34,203,252,193,36,203,252,193,38,203,252,193,40,203,252,193,42,203,252,193,44,203,252,193,46,203,252,193,48,203,252,193,50,203,252,193,52,203,252,193,66,203,252,193,68,203,252,193,70,203,252,193,72,203,252,193,74,203,252,193,76,203,252,193,78,203,252,193,86,203,252,193,88,203,252,193,90,203,252,193,92,203,252,193,94,203,252,193,106,203,252,193,108,203,252,193,110,203,252,193,112,203,252,193,114,203,252,193,116,203,252,193,120,203,252,193,122,203,252,193,132,203,252,193,138,203,252,193,144,203,252,193,154,203,252,193,156,203,252,193,158,203,252,193,162,203,252,193,164,203,252,193,166,203,252,193,176,203,252,193,178,203,252,193,190,203,252,193,192,203,252,193,194,203,252,193,118,203,252,193,134,203,252,193,142,203,252,193,146,203,252,193,184,203,252,193,206,203,252,193,208,203,252,193,228,203,252,193,86,204,252,193,88,204,252,193,90,204,252,193,38,205,252,193,34,206,252,193,36,206,252,193,38,206,252,193,40,206,252,193,32,207,252,193,34,207,252,193,36,207,252,193,38,207,252,193,20,208,252,193,22,208,252,193,24,208,252,193,26,208,252,193,28,208,252,193,30,208,252,193,80,209,252,193,82,209,252,193,84,209,252,193,86,209,252,193,88,209,252,193,90,209,252,193,130,203,252,193,148,203,252,193,150,203,252,193,152,203,252,193,168,203,252,193,170,203,252,193,172,203,252,193,186,203,252,193,188,203,252,193,226,203,252,193,230,203,252,193,234,203,252,193,236,203,252,193,238,203,252,193,240,203,252,193,242,203,252,193,24,204,252,193,26,204,252,193,28,204,252,193,30,204,252,193,32,204,252,193,34,204,252,193,36,204,252,193,38,204,252,193,40,204,252,193,42,204,252,193,44,204,252,193,46,204,252,193,48,204,252,193,50,204,252,193,52,204,252,193,54,204,252,193,198,203,252,193,200,203,252,193,202,203,252,193,210,203,252,193,216,203,252,193,218,203,252,193,220,203,252,193,222,203,252,193,224,203,252,193,248,203,252,193,250,203,252,193,252,203,252,193,254,203,252,193,2,204,252,193,4,204,252,193,6,204,252,193,8,204,252,193,10,204,252,193,12,204,252,193,14,204,252,193,62,204,252,193,64,204,252,193,66,204,252,193,68,204,252,193,70,204,252,193,72,204,252,193,74,204,252,193,76,204,252,193,78,204,252,193,80,204,252,193,82,204,252,193,194,204,252,193,18,204,252,193,20,204,252,193,22,204,252,193,92,204,252,193,94,204,252,193,96,204,252,193,98,204,252,193,40,205,252,193,42,205,252,193,44,205,252,193,46,205,252,193,48,205,252,193,50,205,252,193,52,205,252,193,54,205,252,193,56,205,252,193,58,205,252,193,60,205,252,193,42,206,252,193,44,206,252,193,46,206,252,193,48,206,252,193,50,206,252,193,52,206,252,193,54,206,252,193,56,206,252,193,58,206,252,193,60,206,252,193,62,206,252,193,40,207,252,193,42,207,252,193,44,207,252,193,56,204,252,193,100,204,252,193,102,204,252,193,104,204,252,193,106,204,252,193,108,204,252,193,110,204,252,193,112,204,252,193,114,204,252,193,116,204,252,193,118,204,252,193,120,204,252,193,122,204,252,193,124,204,252,193,126,204,252,193,128,204,252,193,130,204,252,193,132,204,252,193,134,204,252,193,136,204,252,193,138,204,252,193,140,204,252,193,142,204,252,193,144,204,252,193,146,204,252,193,148,204,252,193,150,204,252,193,152,204,252,193,154,204,252,193,156,204,252,193,158,204,252,193,160,204,252,193,162,204,252,193,164,204,252,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,193,150,205,252,193,120,206,252,193,122,206,252,193,124,206,252,193,126,206,252,193,128,206,252,193,130,206,252,193,132,206,252,193,134,206,252,193,136,206,252,193,138,206,252,193,140,206,252,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,193,156,205,252,193,158,205,252,193,160,205,252,193,162,205,252,193,164,205,252,193,166,205,252,193,142,206,252,193,144,206,252,193,146,206,252,193,148,206,252,193,150,206,252,193,152,206,252,193,154,206,252,193,156,206,252,193,158,206,252,193,128,207,252,193,130,207,252,193,132,207,252,193,134,207,252,193,136,207,252,193,138,207,252,193,140,207,252,193,142,207,252,193,144,207,252,193,146,207,252,193,148,207,252,193,150,207,252,193,152,207,252,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,193,164,206,252,193,166,206,252,193,168,206,252,193,170,206,252,193,172,206,252,193,174,206,252,193,176,206,252,193,178,206,252,193,180,206,252,193,182,206,252,193,184,206,252,193,186,206,252,193,188,206,252,193,190,206,252,193,192,206,252,193,194,206,252,193,196,206,252,193,198,206,252,193,200,206,252,193,202,206,252,193,204,206,252,193,206,206,252,193,208,206,252,193,210,206,252,193,212,206,252,193,214,206,252,193,216,206,252,193,218,206,252,193,220,206,252,193,222,206,252,193,224,206,252,193,226,206,252,193,228,206,252,193,230,206,252,193,232,206,252,193,234,206,252,193,236,206,252,193,238,206,252,193,240,206,252,193,242,206,252,193,244,206,252,193,246,206,252,193,248,206,252,193,250,206,252,193,252,206,252,193,254,206,252,193,2,207,252,193,4,207,252,193,6,207,252,193,8,207,252,193,10,207,252,193,12,207,252,193,14,207,252,193,16,207,252,193,18,207,252,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,193,46,207,252,193,48,207,252,193,50,207,252,193,52,207,252,193,54,207,252,193,32,208,252,193,34,208,252,193,36,208,252,193,38,208,252,193,40,208,252,193,42,208,252,193,94,209,252,193,96,209,252,193,98,209,252,193,100,209,252,193,102,209,252,193,104,209,252,193,106,209,252,193,108,209,252,193,110,209,252,193,112,209,252,193,120,210,252,193,122,210,252,193,124,210,252,193,126,210,252,193,128,210,252,193,130,210,252,193,132,210,252,193,134,210,252,193,136,210,252,193,138,210,252,193,140,210,252,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,193,2,208,252,193,4,208,252,193,60,209,252,193,62,209,252,193,64,209,252,193,66,209,252,193,96,210,252,193,98,210,252,193,100,210,252,193,80,211,252,193,82,211,252,193,84,211,252,193,86,211,252,193,88,211,252,193,90,211,252,193,32,212,252,193,34,212,252,193,36,212,252,193,38,212,252,193,40,212,252,193,42,212,252,193,12,213,252,193,14,213,252,193,16,213,252,193,18,213,252,193,204,213,252,193,206,213,252,193,208,213,252,193,50,214,252,193,52,214,252,193,142,214,252,193,144,214,252,193,16,208,252,193,18,208,252,193,68,209,252,193,70,209,252,193,72,209,252,193,74,209,252,193,76,209,252,193,78,209,252,193,102,210,252,193,104,210,252,193,106,210,252,193,108,210,252,193,94,211,252,193,96,211,252,193,98,211,252,193,44,212,252,193,46,212,252,193,48,212,252,193,50,212,252,193,52,212,252,193,20,213,252,193,22,213,252,193,24,213,252,193,26,213,252,193,28,213,252,193,210,213,252,193,212,213,252,193,214,213,252,193,54,214,252,193,56,214,252,193,214,214,252,193,252,214,252,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,193,190,209,252,193,192,209,252,193,194,209,252,193,196,209,252,193,198,209,252,193,200,209,252,193,202,209,252,193,204,209,252,193,206,209,252,193,208,209,252,193,210,209,252,193,212,209,252,193,214,209,252,193,216,209,252,193,218,209,252,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,193,92,209,252,193,110,210,252,193,112,210,252,193,114,210,252,193,116,210,252,193,118,210,252,193,100,211,252,193,102,211,252,193,104,211,252,193,106,211,252,193,108,211,252,193,110,211,252,193,112,211,252,193,114,211,252,193,116,211,252,193,118,211,252,193,120,211,252,193,54,212,252,193,56,212,252,193,58,212,252,193,60,212,252,193,62,212,252,193,64,212,252,193,66,212,252,193,68,212,252,193,70,212,252,193,30,213,252,193,32,213,252,193,34,213,252,193,36,213,252,193,38,213,252,193,40,213,252,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,193,144,210,252,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,193,92,210,252,193,94,210,252,193,74,211,252,193,76,211,252,193,78,211,252,193,200,211,252,193,202,211,252,193,204,211,252,193,206,211,252,193,208,211,252,193,210,211,252,193,212,211,252,193,214,211,252,193,142,210,252,193,122,211,252,193,124,211,252,193,126,211,252,193,128,211,252,193,130,211,252,193,132,211,252,193,134,211,252,193,136,211,252,193,138,211,252,193,140,211,252,193,142,211,252,193,72,212,252,193,74,212,252,193,76,212,252,193,78,212,252,193,80,212,252,193,82,212,252,193,84,212,252,193,86,212,252,193,42,213,252,193,44,213,252,193,46,213,252,193,48,213,252,193,50,213,252,193,52,213,252,193,54,213,252,193,56,213,252,193,58,213,252,193,60,213,252,193,220,213,252,193,222,213,252,193,146,210,252,193,148,210,252,193,150,210,252,193,152,210,252,193,154,210,252,193,156,210,252,193,158,210,252,193,160,210,252,193,162,210,252,193,164,210,252,193,166,210,252,193,168,210,252,193,170,210,252,193,172,210,252,193,174,210,252,193,176,210,252,193,178,210,252,193,180,210,252,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,193,180,211,252,193,182,211,252,193,184,211,252,193,186,211,252,193,188,211,252,193,190,211,252,193,192,211,252,193,194,211,252,193,196,211,252,193,198,211,252,193,126,212,252,193,128,212,252,193,130,212,252,193,132,212,252,193,134,212,252,193,136,212,252,193,138,212,252,193,140,212,252,193,142,212,252,193,106,213,252,193,108,213,252,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,193,216,211,252,193,218,211,252,193,220,211,252,193,222,211,252,193,224,211,252,193,226,211,252,193,228,211,252,193,230,211,252,193,232,211,252,193,234,211,252,193,236,211,252,193,238,211,252,193,240,211,252,193,242,211,252,193,244,211,252,193,246,211,252,193,248,211,252,193,250,211,252,193,252,211,252,193,254,211,252,193,2,212,252,193,4,212,252,193,6,212,252,193,8,212,252,193,10,212,252,193,12,212,252,193,14,212,252,193,16,212,252,193,18,212,252,193,20,212,252,193,22,212,252,193,24,212,252,193,26,212,252,193,28,212,252,193,30,212,252,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,193,114,213,252,193,116,213,252,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,193,10,213,252,193,202,213,252,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,193,226,213,252,193,228,213,252,193,230,213,252,193,232,213,252,193,234,213,252,193,236,213,252,193,238,213,252,193,74,214,252,193,76,214,252,193,160,214,252,193,78,214,252,193,80,214,252,193,162,214,252,193,164,214,252,193,166,214,252,193,168,214,252,193,224,214,252,193,254,214,252,193,2,215,252,193,110,213,252,193,112,213,252,193,240,213,252,193,242,213,252,193,244,213,252,193,246,213,252,193,82,214,252,193,84,214,252,193,86,214,252,193,170,214,252,193,172,214,252,193,228,214,252,193,230,214,252,193,232,214,252,193,234,214,252,193,4,215,252,193,124,215,252,193,200,215,252,193,164,216,252,193,208,216,252,193,54,217,252,193,78,217,252,193,148,217,252,193,178,217,252,193,212,217,252,193,126,218,252,193,128,218,252,193,150,218,252,193,248,218,252,193,102,219,252,193,108,219,252,193,114,219,252,193,216,213,252,193,218,213,252,193,58,214,252,193,60,214,252,193,62,214,252,193,64,214,252,193,66,214,252,193,146,214,252,193,148,214,252,193,150,214,252,193,216,214,252,193,68,215,252,193,94,215,252,193,102,215,252,193,132,215,252,193,134,215,252,193,168,215,252,193,170,215,252,193,172,215,252,193,188,215,252,193,16,216,252,193,18,216,252,193,30,216,252,193,32,216,252,193,34,216,252,193,54,216,252,193,60,216,252,193,62,216,252,193,72,216,252,193,136,216,252,193,138,216,252,193,146,216,252,193,224,213,252,193,68,214,252,193,70,214,252,193,72,214,252,193,152,214,252,193,154,214,252,193,156,214,252,193,158,214,252,193,218,214,252,193,220,214,252,193,222,214,252,193,22,215,252,193,74,215,252,193,86,215,252,193,106,215,252,193,122,215,252,193,136,215,252,193,152,215,252,193,174,215,252,193,176,215,252,193,242,215,252,193,36,216,252,193,56,216,252,193,124,216,252,193,172,217,252,193,174,217,252,193,206,217,252,193,18,218,252,193,62,218,252,193,168,218,252,193,170,218,252,193,172,218,252,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,193,174,214,252,193,176,214,252,193,178,214,252,193,180,214,252,193,182,214,252,193,184,214,252,193,186,214,252,193,188,214,252,193,190,214,252,193,192,214,252,193,194,214,252,193,196,214,252,193,198,214,252,193,200,214,252,193,202,214,252,193,204,214,252,193,206,214,252,193,208,214,252,193,210,214,252,193,236,214,252,193,238,214,252,193,240,214,252,193,242,214,252,193,244,214,252,193,246,214,252,193,248,214,252,193,6,215,252,193,8,215,252,193,10,215,252,193,12,215,252,193,14,215,252,193,16,215,252,193,18,215,252,193,32,215,252,193,34,215,252,193,36,215,252,193,38,215,252,193,40,215,252,193,42,215,252,193,44,215,252,193,46,215,252,193,48,215,252,193,50,215,252,193,52,215,252,193,56,215,252,193,58,215,252,193,60,215,252,193,62,215,252,193,64,215,252,193,70,215,252,193,72,215,252,193,76,215,252,193,78,215,252,193,80,215,252,193,82,215,252,193,84,215,252,193,96,215,252,193,92,215,252,193,104,215,252,193,24,215,252,193,26,215,252,193,28,215,252,193,90,215,252,193,98,215,252,193,100,215,252,193,138,215,252,193,158,215,252,193,190,215,252,193,192,215,252,193,222,215,252,193,226,215,252,193,244,215,252,193,246,215,252,193,38,216,252,193,40,216,252,193,42,216,252,193,74,216,252,193,90,216,252,193,152,216,252,193,162,216,252,193,190,216,252,193,192,216,252,193,194,216,252,193,196,216,252,193,206,216,252,193,214,216,252,193,234,216,252,193,10,217,252,193,20,217,252,193,22,217,252,193,32,217,252,193,54,215,252,193,66,215,252,193,118,215,252,193,120,215,252,193,130,215,252,193,150,215,252,193,156,215,252,193,182,215,252,193,184,215,252,193,198,215,252,193,212,215,252,193,216,215,252,193,28,216,252,193,70,216,252,193,106,216,252,193,122,216,252,193,134,216,252,193,160,216,252,193,176,216,252,193,202,216,252,193,246,216,252,193,248,216,252,193,4,217,252,193,8,217,252,193,46,217,252,193,48,217,252,193,140,217,252,193,200,217,252,193,230,217,252,193,250,217,252,193,16,218,252,193,34,218,252,193,108,215,252,193,110,215,252,193,112,215,252,193,114,215,252,193,126,215,252,193,128,215,252,193,140,215,252,193,142,215,252,193,144,215,252,193,146,215,252,193,186,215,252,193,160,215,252,193,162,215,252,193,178,215,252,193,164,215,252,193,180,215,252,193,194,215,252,193,196,215,252,193,202,215,252,193,204,215,252,193,208,215,252,193,210,215,252,193,214,215,252,193,218,215,252,193,220,215,252,193,224,215,252,193,228,215,252,193,230,215,252,193,232,215,252,193,234,215,252,193,236,215,252,193,238,215,252,193,240,215,252,193,248,215,252,193,250,215,252,193,252,215,252,193,254,215,252,193,2,216,252,193,4,216,252,193,6,216,252,193,8,216,252,193,10,216,252,193,12,216,252,193,14,216,252,193,20,216,252,193,22,216,252,193,24,216,252,193,26,216,252,193,44,216,252,193,46,216,252,193,48,216,252,193,50,216,252,193,58,216,252,193,64,216,252,193,66,216,252,193,68,216,252,193,76,216,252,193,78,216,252,193,80,216,252,193,82,216,252,193,84,216,252,193,86,216,252,193,92,216,252,193,94,216,252,193,96,216,252,193,98,216,252,193,100,216,252,193,102,216,252,193,104,216,252,193,108,216,252,193,112,216,252,193,114,216,252,193,116,216,252,193,118,216,252,193,120,216,252,193,126,216,252,193,128,216,252,193,130,216,252,193,132,216,252,193,140,216,252,193,142,216,252,193,144,216,252,193,148,216,252,193,154,216,252,193,156,216,252,193,158,216,252,193,166,216,252,193,168,216,252,193,170,216,252,193,172,216,252,193,174,216,252,193,182,216,252,193,184,216,252,193,186,216,252,193,188,216,252,193,198,216,252,193,178,216,252,193,180,216,252,193,204,216,252,193,226,216,252,193,6,217,252,193,30,217,252,193,72,217,252,193,74,217,252,193,112,217,252,193,114,217,252,193,116,217,252,193,118,217,252,193,120,217,252,193,142,217,252,193,144,217,252,193,170,217,252,193,202,217,252,193,204,217,252,193,82,218,252,193,94,218,252,193,120,218,252,193,122,218,252,193,164,218,252,193,166,218,252,193,204,218,252,193,240,218,252,193,16,219,252,193,18,219,252,193,20,219,252,193,22,219,252,193,24,219,252,193,40,219,252,193,62,217,252,193,64,217,252,193,66,217,252,193,68,217,252,193,70,217,252,193,80,217,252,193,82,217,252,193,44,217,252,193,84,217,252,193,86,217,252,193,88,217,252,193,90,217,252,193,92,217,252,193,98,217,252,193,100,217,252,193,102,217,252,193,104,217,252,193,106,217,252,193,108,217,252,193,124,217,252,193,126,217,252,193,128,217,252,193,130,217,252,193,132,217,252,193,134,217,252,193,136,217,252,193,138,217,252,206,64,76,0,206,64,76,0,206,64,76,0,206,64,76,0,206,64,76,0,193,50,217,252,193,52,217,252,193,76,217,252,193,94,217,252,193,96,217,252,193,122,217,252,193,208,217,252,193,146,217,252,193,176,217,252,193,210,217,252,193,252,217,252,193,20,218,252,193,106,218,252,193,110,218,252,193,112,218,252,193,114,218,252,193,124,218,252,193,148,218,252,193,174,218,252,193,216,218,252,193,218,218,252,193,220,218,252,193,244,218,252,193,246,218,252,193,28,219,252,193,52,219,252,193,64,219,252,193,90,219,252,193,96,219,252,193,98,219,252,193,100,219,252,193,128,219,252,193,36,218,252,193,68,218,252,193,74,218,252,193,88,218,252,193,96,218,252,193,160,218,252,193,162,218,252,193,202,218,252,193,238,218,252,193,8,219,252,193,10,219,252,193,12,219,252,193,14,219,252,193,48,219,252,193,60,219,252,193,70,219,252,193,72,219,252,193,150,219,252,193,182,219,252,193,104,220,252,193,162,220,252,193,242,220,252,193,244,220,252,193,70,221,252,193,128,221,252,193,130,221,252,193,132,221,252,193,182,221,252,193,58,222,252,193,176,222,252,193,200,222,252,193,4,223,252,193,84,218,252,193,90,218,252,193,92,218,252,193,98,218,252,193,100,218,252,193,102,218,252,193,108,218,252,193,118,218,252,193,130,218,252,193,132,218,252,193,134,218,252,193,136,218,252,193,138,218,252,193,140,218,252,193,142,218,252,193,144,218,252,193,146,218,252,193,152,218,252,193,154,218,252,193,156,218,252,193,158,218,252,193,176,218,252,193,178,218,252,193,180,218,252,193,182,218,252,193,184,218,252,193,186,218,252,193,188,218,252,193,190,218,252,193,194,218,252,193,196,218,252,193,222,218,252,193,192,218,252,193,206,218,252,193,208,218,252,193,210,218,252,193,212,218,252,193,214,218,252,193,242,218,252,193,26,219,252,193,50,219,252,193,62,219,252,193,94,219,252,193,242,219,252,193,58,220,252,193,174,220,252,193,250,220,252,193,72,221,252,193,74,221,252,193,76,221,252,193,134,221,252,193,246,221,252,193,114,222,252,193,146,222,252,193,170,222,252,193,172,222,252,193,184,222,252,193,202,222,252,193,234,222,252,193,240,222,252,193,72,223,252,193,74,223,252,193,76,223,252,193,78,223,252,193,224,218,252,193,226,218,252,193,228,218,252,193,230,218,252,193,232,218,252,193,234,218,252,193,236,218,252,193,250,218,252,193,252,218,252,193,254,218,252,193,2,219,252,193,4,219,252,193,6,219,252,193,30,219,252,193,32,219,252,193,34,219,252,193,36,219,252,193,42,219,252,193,44,219,252,193,46,219,252,193,54,219,252,193,56,219,252,193,58,219,252,193,66,219,252,193,74,219,252,193,76,219,252,193,78,219,252,193,82,219,252,193,84,219,252,193,88,219,252,193,104,219,252,193,106,219,252,193,86,219,252,193,92,219,252,193,124,219,252,193,238,219,252,193,240,219,252,193,46,220,252,193,48,220,252,193,50,220,252,193,52,220,252,193,54,220,252,193,56,220,252,193,106,220,252,193,108,220,252,193,164,220,252,193,166,220,252,193,168,220,252,193,170,220,252,193,172,220,252,193,246,220,252,193,248,220,252,193,184,221,252,193,60,222,252,193,82,222,252,193,84,222,252,193,124,222,252,193,126,222,252,193,134,222,252,193,142,222,252,193,144,222,252,193,216,222,252,193,250,222,252,193,152,224,252,193,110,219,252,193,112,219,252,193,118,219,252,193,116,219,252,193,120,219,252,193,122,219,252,193,126,219,252,193,132,219,252,193,138,219,252,193,140,219,252,193,142,219,252,193,144,219,252,193,146,219,252,193,148,219,252,193,166,219,252,193,168,219,252,193,170,219,252,193,172,219,252,193,174,219,252,193,176,219,252,193,178,219,252,193,214,219,252,193,216,219,252,193,218,219,252,193,220,219,252,193,222,219,252,193,224,219,252,193,226,219,252,193,228,219,252,193,230,219,252,193,232,219,252,193,234,219,252,193,134,219,252,193,152,219,252,193,154,219,252,193,156,219,252,193,158,219,252,193,184,219,252,193,186,219,252,193,188,219,252,193,190,219,252,193,192,219,252,193,194,219,252,193,196,219,252,193,198,219,252,193,200,219,252,193,202,219,252,193,204,219,252,193,206,219,252,193,208,219,252,193,244,219,252,193,246,219,252,193,248,219,252,193,250,219,252,193,252,219,252,193,254,219,252,193,2,220,252,193,4,220,252,193,6,220,252,193,8,220,252,193,60,220,252,193,62,220,252,193,64,220,252,193,66,220,252,193,136,219,252,193,160,219,252,193,162,219,252,193,164,219,252,193,210,219,252,193,212,219,252,193,10,220,252,193,12,220,252,193,14,220,252,193,16,220,252,193,68,220,252,193,70,220,252,193,72,220,252,193,74,220,252,193,76,220,252,193,130,220,252,193,132,220,252,193,184,220,252,193,186,220,252,193,188,220,252,193,190,220,252,193,192,220,252,193,194,220,252,193,196,220,252,193,198,220,252,193,12,221,252,193,14,221,252,193,16,221,252,193,88,221,252,193,90,221,252,193,92,221,252,193,144,221,252,193,236,219,252,193,18,220,252,193,20,220,252,193,22,220,252,193,24,220,252,193,26,220,252,193,28,220,252,193,30,220,252,193,32,220,252,193,34,220,252,193,36,220,252,193,38,220,252,193,40,220,252,193,42,220,252,193,44,220,252,193,78,220,252,193,80,220,252,193,82,220,252,193,84,220,252,193,134,220,252,193,86,220,252,193,88,220,252,193,90,220,252,193,92,220,252,193,94,220,252,193,96,220,252,193,98,220,252,193,100,220,252,193,102,220,252,193,136,220,252,193,138,220,252,193,140,220,252,193,110,220,252,193,112,220,252,193,114,220,252,193,116,220,252,193,118,220,252,193,120,220,252,193,122,220,252,193,124,220,252,193,126,220,252,193,128,220,252,193,176,220,252,193,178,220,252,193,180,220,252,193,182,220,252,193,252,220,252,193,254,220,252,193,2,221,252,193,4,221,252,193,6,221,252,193,8,221,252,193,10,221,252,193,78,221,252,193,80,221,252,193,82,221,252,193,84,221,252,193,86,221,252,193,136,221,252,193,138,221,252,193,140,221,252,193,142,221,252,193,186,221,252,193,188,221,252,193,142,220,252,193,144,220,252,193,146,220,252,193,148,220,252,193,150,220,252,193,152,220,252,193,154,220,252,193,156,220,252,193,158,220,252,193,160,220,252,193,200,220,252,193,202,220,252,193,204,220,252,193,206,220,252,193,208,220,252,193,210,220,252,193,212,220,252,193,214,220,252,193,216,220,252,193,218,220,252,193,220,220,252,193,222,220,252,193,224,220,252,193,226,220,252,193,228,220,252,193,230,220,252,193,232,220,252,193,234,220,252,193,236,220,252,193,18,221,252,193,20,221,252,193,22,221,252,193,20,101,253,193,22,101,253,193,194,101,253,193,196,101,253,193,198,101,253,193,200,101,253,193,202,101,253,193,204,101,253,193,206,101,253,193,208,101,253,193,210,101,253,193,212,101,253,193,214,101,253,193,216,101,253,193,218,101,253,193,220,101,253,193,222,101,253,193,224,101,253,193,226,101,253,193,228,101,253,193,230,101,253,193,232,101,253,193,234,101,253,193,236,101,253,193,238,101,253,193,240,101,253,193,242,101,253,193,244,101,253,193,246,101,253,193,248,101,253,193,238,220,252,193,250,101,253,193,24,221,252,193,26,221,252,193,28,221,252,193,30,221,252,193,32,221,252,193,34,221,252,193,36,221,252,193,38,221,252,193,40,221,252,193,42,221,252,193,44,221,252,193,46,221,252,193,48,221,252,193,50,221,252,193,52,221,252,193,54,221,252,193,56,221,252,193,58,221,252,193,60,221,252,193,62,221,252,193,94,221,252,193,96,221,252,193,98,221,252,193,100,221,252,193,102,221,252,193,104,221,252,193,106,221,252,193,108,221,252,193,110,221,252,193,112,221,252,193,114,221,252,193,64,221,252,193,116,221,252,193,118,221,252,193,120,221,252,193,122,221,252,193,124,221,252,193,126,221,252,193,158,221,252,193,160,221,252,193,162,221,252,193,164,221,252,193,166,221,252,193,168,221,252,193,170,221,252,193,172,221,252,193,174,221,252,193,176,221,252,193,178,221,252,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,193,146,221,252,193,148,221,252,193,150,221,252,193,152,221,252,193,154,221,252,193,156,221,252,193,192,221,252,193,194,221,252,193,196,221,252,193,30,222,252,193,148,222,252,193,156,222,252,193,218,222,252,193,220,222,252,193,236,222,252,193,238,222,252,193,252,222,252,193,10,223,252,193,38,223,252,193,40,223,252,193,42,223,252,193,122,223,252,193,124,223,252,193,126,223,252,193,128,223,252,193,130,223,252,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,193,190,221,252,193,248,221,252,193,250,221,252,193,252,221,252,193,254,221,252,193,2,222,252,193,22,222,252,193,24,222,252,193,26,222,252,193,28,222,252,193,44,222,252,193,62,222,252,193,86,222,252,193,92,222,252,193,106,222,252,193,108,222,252,193,110,222,252,193,130,222,252,193,140,222,252,193,152,222,252,193,154,222,252,193,186,222,252,193,242,222,252,193,254,222,252,193,6,223,252,193,8,223,252,193,12,223,252,193,22,223,252,193,24,223,252,193,26,223,252,193,28,223,252,193,30,223,252,193,42,222,252,193,76,222,252,193,78,222,252,193,80,222,252,193,232,222,252,193,66,223,252,193,68,223,252,193,168,223,252,193,170,223,252,193,136,224,252,193,138,224,252,193,140,224,252,193,142,224,252,193,144,224,252,193,192,225,252,193,194,225,252,193,196,225,252,193,198,225,252,193,200,225,252,193,202,225,252,193,204,225,252,193,206,225,252,193,86,227,252,193,88,227,252,193,90,227,252,193,92,227,252,193,94,227,252,193,96,227,252,193,98,227,252,193,100,227,252,193,102,227,252,193,100,229,252,193,70,222,252,193,72,222,252,193,74,222,252,193,88,222,252,193,90,222,252,193,94,222,252,193,96,222,252,193,98,222,252,193,102,222,252,193,100,222,252,193,104,222,252,193,112,222,252,193,116,222,252,193,118,222,252,193,120,222,252,193,122,222,252,193,128,222,252,193,132,222,252,193,136,222,252,193,150,222,252,193,158,222,252,193,160,222,252,193,162,222,252,193,164,222,252,193,166,222,252,193,168,222,252,193,174,222,252,193,178,222,252,193,180,222,252,193,182,222,252,193,188,222,252,193,190,222,252,193,192,222,252,193,194,222,252,193,196,222,252,193,198,222,252,193,204,222,252,193,206,222,252,193,208,222,252,193,210,222,252,193,212,222,252,193,214,222,252,193,222,222,252,193,224,222,252,193,226,222,252,193,228,222,252,193,230,222,252,193,244,222,252,193,246,222,252,193,248,222,252,193,2,223,252,193,16,223,252,193,18,223,252,193,20,223,252,193,44,223,252,193,46,223,252,193,48,223,252,193,50,223,252,193,52,223,252,193,54,223,252,193,56,223,252,193,58,223,252,193,60,223,252,193,62,223,252,193,32,223,252,193,34,223,252,193,36,223,252,193,80,223,252,193,82,223,252,193,84,223,252,193,86,223,252,193,88,223,252,193,90,223,252,193,92,223,252,193,94,223,252,193,96,223,252,193,98,223,252,193,100,223,252,193,102,223,252,193,104,223,252,193,106,223,252,193,108,223,252,193,110,223,252,193,112,223,252,193,114,223,252,193,116,223,252,193,118,223,252,193,120,223,252,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,193,64,223,252,193,132,223,252,193,134,223,252,193,136,223,252,193,138,223,252,193,140,223,252,193,142,223,252,193,144,223,252,193,146,223,252,193,148,223,252,193,150,223,252,193,152,223,252,193,154,223,252,193,156,223,252,193,158,223,252,193,160,223,252,193,162,223,252,193,164,223,252,193,166,223,252,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,193,70,223,252,193,172,223,252,193,174,223,252,193,146,224,252,193,148,224,252,193,150,224,252,193,212,225,252,193,214,225,252,193,106,227,252,193,108,227,252,193,110,227,252,193,112,227,252,193,114,227,252,193,116,227,252,193,118,227,252,193,140,229,252,193,142,229,252,193,144,229,252,193,146,229,252,193,148,229,252,193,150,229,252,193,152,229,252,193,154,229,252,193,156,229,252,193,158,229,252,193,160,229,252,193,162,229,252,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,193,176,223,252,193,178,223,252,193,180,223,252,193,162,224,252,193,164,224,252,193,166,224,252,193,168,224,252,193,170,224,252,193,172,224,252,193,174,224,252,193,176,224,252,193,222,225,252,193,224,225,252,193,226,225,252,193,228,225,252,193,230,225,252,193,232,225,252,193,234,225,252,193,156,227,252,193,158,227,252,193,160,227,252,193,162,227,252,193,164,227,252,193,166,227,252,193,168,227,252,193,170,227,252,193,172,227,252,193,174,227,252,193,176,227,252,193,178,227,252,193,210,229,252,193,212,229,252,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,193,178,224,252,193,6,224,252,193,8,224,252,193,10,224,252,193,12,224,252,193,14,224,252,193,16,224,252,193,18,224,252,193,20,224,252,193,22,224,252,193,24,224,252,193,26,224,252,193,28,224,252,193,30,224,252,193,32,224,252,193,34,224,252,193,36,224,252,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,193,2,226,252,193,4,226,252,193,6,226,252,193,182,227,252,193,8,226,252,193,10,226,252,193,12,226,252,193,14,226,252,193,16,226,252,193,18,226,252,193,20,226,252,193,22,226,252,193,24,226,252,193,26,226,252,193,28,226,252,193,30,226,252,193,32,226,252,193,34,226,252,193,36,226,252,193,38,226,252,193,40,226,252,193,42,226,252,193,44,226,252,193,46,226,252,193,48,226,252,193,50,226,252,193,52,226,252,193,54,226,252,193,56,226,252,193,58,226,252,193,38,224,252,193,60,226,252,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,193,64,225,252,193,66,225,252,193,68,225,252,193,70,225,252,193,72,225,252,193,74,225,252,193,76,225,252,193,78,225,252,193,80,225,252,193,82,225,252,193,158,226,252,193,160,226,252,193,162,226,252,193,164,226,252,193,166,226,252,193,168,226,252,193,170,226,252,193,172,226,252,193,174,226,252,193,176,226,252,193,178,226,252,193,180,226,252,193,182,226,252,193,184,226,252,193,186,226,252,193,188,226,252,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,193,154,224,252,193,156,224,252,193,158,224,252,193,160,224,252,193,216,225,252,193,218,225,252,193,220,225,252,193,120,227,252,193,122,227,252,193,124,227,252,193,126,227,252,193,128,227,252,193,130,227,252,193,132,227,252,193,134,227,252,193,136,227,252,193,138,227,252,193,140,227,252,193,142,227,252,193,144,227,252,193,146,227,252,193,148,227,252,193,150,227,252,193,152,227,252,193,154,227,252,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,193,236,225,252,193,58,225,252,193,60,225,252,193,62,225,252,193,238,225,252,193,240,225,252,193,242,225,252,193,244,225,252,193,246,225,252,193,248,225,252,193,250,225,252,193,180,227,252,193,252,225,252,193,254,225,252,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,193,62,226,252,193,64,226,252,193,66,226,252,193,68,226,252,193,70,226,252,193,72,226,252,193,74,226,252,193,76,226,252,193,78,226,252,193,80,226,252,193,82,226,252,193,84,226,252,193,86,226,252,193,88,226,252,193,90,226,252,193,92,226,252,193,94,226,252,193,96,226,252,193,98,226,252,193,244,229,252,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,193,190,226,252,193,192,226,252,193,86,228,252,193,88,228,252,193,90,228,252,193,92,228,252,193,94,228,252,193,96,228,252,193,98,228,252,193,100,228,252,193,102,228,252,193,104,228,252,193,106,228,252,193,108,228,252,193,110,228,252,193,112,228,252,193,114,228,252,193,116,228,252,193,118,228,252,193,120,228,252,193,122,228,252,193,210,230,252,193,124,228,252,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,193,190,232,252,193,52,228,252,193,54,228,252,193,56,228,252,193,58,228,252,193,60,228,252,193,62,228,252,193,64,228,252,193,66,228,252,193,68,228,252,193,70,228,252,193,72,228,252,193,74,228,252,193,76,228,252,193,78,228,252,193,80,228,252,193,82,228,252,206,0,78,0,206,0,78,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,193,4,231,252,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,193,6,231,252,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,193,102,229,252,193,104,229,252,193,106,229,252,193,108,229,252,193,110,229,252,193,112,229,252,193,114,229,252,193,116,229,252,193,118,229,252,193,120,229,252,193,122,229,252,193,124,229,252,193,126,229,252,193,128,229,252,193,130,229,252,193,132,229,252,193,56,232,252,193,58,232,252,193,60,232,252,193,62,232,252,193,64,232,252,193,66,232,252,193,68,232,252,193,70,232,252,193,72,232,252,193,74,232,252,193,76,232,252,193,78,232,252,193,80,232,252,193,82,232,252,193,84,232,252,193,86,232,252,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,193,124,232,252,193,126,232,252,193,128,232,252,193,130,232,252,193,132,232,252,193,134,232,252,193,136,232,252,193,138,232,252,193,140,232,252,193,142,232,252,193,144,232,252,193,146,232,252,193,148,232,252,193,150,232,252,193,152,232,252,193,154,232,252,193,214,229,252,193,216,229,252,193,218,229,252,193,220,229,252,193,222,229,252,193,224,229,252,193,226,229,252,193,228,229,252,193,230,229,252,193,232,229,252,193,234,229,252,193,236,229,252,193,238,229,252,193,240,229,252,193,242,229,252,193,162,232,252,193,164,232,252,193,166,232,252,193,168,232,252,193,170,232,252,193,172,232,252,193,174,232,252,193,176,232,252,193,178,232,252,193,180,232,252,193,182,232,252,193,184,232,252,193,186,232,252,193,188,232,252,193,116,235,252,193,118,235,252,193,120,235,252,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,193,206,230,252,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,193,142,233,252,193,144,233,252,193,146,233,252,193,148,233,252,193,150,233,252,193,152,233,252,193,154,233,252,193,156,233,252,193,158,233,252,193,160,233,252,193,162,233,252,193,164,233,252,193,166,233,252,193,168,233,252,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,193,88,232,252,193,232,234,252,193,234,234,252,193,236,234,252,193,238,234,252,193,240,234,252,193,242,234,252,193,244,234,252,193,246,234,252,193,248,234,252,193,250,234,252,193,252,234,252,193,254,234,252,193,2,235,252,193,4,235,252,193,6,235,252,193,8,235,252,193,10,235,252,193,12,235,252,193,14,235,252,193,16,235,252,193,18,235,252,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,193,24,235,252,193,26,235,252,193,28,235,252,193,30,235,252,193,32,235,252,193,34,235,252,193,36,235,252,193,38,235,252,193,40,235,252,193,42,235,252,193,44,235,252,193,46,235,252,193,48,235,252,193,50,235,252,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,193,156,232,252,193,158,232,252,193,160,232,252,193,52,235,252,193,54,235,252,193,56,235,252,193,58,235,252,193,60,235,252,193,62,235,252,193,64,235,252,193,66,235,252,193,68,235,252,193,70,235,252,193,72,235,252,193,74,235,252,193,76,235,252,193,78,235,252,193,80,235,252,193,82,235,252,193,84,235,252,193,86,235,252,193,88,235,252,193,90,235,252,193,92,235,252,193,94,235,252,193,96,235,252,193,98,235,252,193,100,235,252,193,102,235,252,193,104,235,252,193,106,235,252,193,108,235,252,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,193,98,236,252,193,182,234,252,193,184,234,252,193,186,234,252,193,188,234,252,193,190,234,252,193,192,234,252,193,194,234,252,193,196,234,252,193,198,234,252,193,200,234,252,193,202,234,252,193,204,234,252,193,206,234,252,193,208,234,252,193,210,234,252,193,212,234,252,193,214,234,252,193,216,234,252,193,218,234,252,193,220,234,252,193,222,234,252,193,224,234,252,193,226,234,252,193,228,234,252,193,230,234,252,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,193,110,235,252,193,112,235,252,193,114,235,252,193,254,237,252,193,2,238,252,193,4,238,252,193,6,238,252,193,8,238,252,193,10,238,252,193,12,238,252,193,14,238,252,193,16,238,252,193,18,238,252,193,20,238,252,193,22,238,252,193,24,238,252,193,26,238,252,193,28,238,252,193,30,238,252,193,32,238,252,193,34,238,252,193,36,238,252,193,38,238,252,193,40,238,252,193,42,238,252,193,44,238,252,193,46,238,252,193,48,238,252,193,50,238,252,193,52,238,252,193,54,238,252,193,56,238,252,193,122,235,252,193,124,235,252,193,126,235,252,193,128,235,252,193,130,235,252,193,132,235,252,193,134,235,252,193,136,235,252,193,138,235,252,193,140,235,252,193,142,235,252,193,60,238,252,193,62,238,252,193,64,238,252,193,66,238,252,193,68,238,252,193,70,238,252,193,72,238,252,193,210,240,252,193,212,240,252,193,214,240,252,193,216,240,252,193,52,243,252,193,54,243,252,193,56,243,252,193,58,243,252,193,60,243,252,193,62,243,252,193,64,243,252,193,98,245,252,193,100,245,252,193,102,245,252,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,193,74,238,252,193,58,236,252,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,193,56,239,252,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,193,68,240,252,193,70,240,252,193,72,240,252,193,74,240,252,193,76,240,252,193,78,240,252,193,80,240,252,193,82,240,252,193,84,240,252,193,86,240,252,193,88,240,252,193,90,240,252,193,92,240,252,193,94,240,252,193,96,240,252,193,98,240,252,193,100,240,252,193,102,240,252,193,104,240,252,193,106,240,252,193,108,240,252,193,198,242,252,193,200,242,252,193,202,242,252,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,193,58,238,252,193,162,240,252,193,164,240,252,193,166,240,252,193,168,240,252,193,170,240,252,193,172,240,252,193,174,240,252,193,176,240,252,193,178,240,252,193,180,240,252,193,182,240,252,193,184,240,252,193,186,240,252,193,188,240,252,193,190,240,252,193,192,240,252,193,194,240,252,193,196,240,252,193,198,240,252,193,200,240,252,193,202,240,252,193,204,240,252,193,206,240,252,193,208,240,252,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,193,218,240,252,193,220,240,252,193,222,240,252,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,193,58,239,252,193,60,239,252,193,62,239,252,193,64,239,252,193,66,239,252,193,68,239,252,193,70,239,252,193,72,239,252,193,74,239,252,193,76,239,252,193,78,239,252,193,80,239,252,193,82,239,252,193,84,239,252,193,86,239,252,193,88,239,252,193,90,239,252,193,92,239,252,193,94,239,252,193,96,239,252,193,98,239,252,193,100,239,252,193,102,239,252,193,104,239,252,193,106,239,252,193,108,239,252,193,110,239,252,193,112,239,252,193,114,239,252,193,116,239,252,193,118,239,252,193,120,239,252,193,122,239,252,193,124,239,252,193,126,239,252,193,128,239,252,193,130,239,252,193,132,239,252,193,134,239,252,193,136,239,252,193,138,239,252,193,140,239,252,193,142,239,252,193,144,239,252,193,146,239,252,193,148,239,252,193,150,239,252,193,152,239,252,193,154,239,252,193,156,239,252,193,158,239,252,193,160,239,252,193,162,239,252,193,164,239,252,193,166,239,252,193,168,239,252,193,170,239,252,193,172,239,252,193,174,239,252,193,176,239,252,193,178,239,252,193,126,241,252,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,193,158,252,252,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,193,216,242,252,193,218,242,252,193,220,242,252,193,222,242,252,193,224,242,252,193,226,242,252,193,228,242,252,193,230,242,252,193,232,242,252,193,234,242,252,193,236,242,252,193,238,242,252,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,193,224,240,252,193,226,240,252,193,228,240,252,193,230,240,252,193,232,240,252,193,234,240,252,193,236,240,252,193,238,240,252,193,240,240,252,193,242,240,252,193,244,240,252,193,246,240,252,193,248,240,252,193,250,240,252,193,252,240,252,193,254,240,252,193,2,241,252,193,4,241,252,193,6,241,252,193,8,241,252,193,10,241,252,193,12,241,252,193,14,241,252,193,16,241,252,193,18,241,252,193,20,241,252,193,22,241,252,193,24,241,252,193,26,241,252,193,28,241,252,193,30,241,252,193,32,241,252,193,34,241,252,193,36,241,252,193,38,241,252,193,40,241,252,193,42,241,252,193,44,241,252,193,46,241,252,193,48,241,252,193,50,241,252,193,52,241,252,193,54,241,252,193,56,241,252,193,58,241,252,193,60,241,252,193,62,241,252,193,64,241,252,193,66,241,252,193,68,241,252,193,70,241,252,193,72,241,252,193,74,241,252,193,76,241,252,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,193,180,243,252,193,182,243,252,193,184,243,252,193,186,243,252,193,188,243,252,193,190,243,252,193,192,243,252,193,194,243,252,193,196,243,252,193,198,243,252,193,200,243,252,193,202,243,252,193,204,243,252,193,200,245,252,193,202,245,252,193,204,245,252,193,206,245,252,193,208,245,252,193,210,245,252,193,212,245,252,193,214,245,252,193,216,245,252,193,218,245,252,193,220,245,252,193,222,245,252,193,134,247,252,193,136,247,252,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,193,206,243,252,193,112,242,252,193,114,242,252,193,116,242,252,193,118,242,252,193,120,242,252,193,122,242,252,193,124,242,252,193,126,242,252,193,128,242,252,193,130,242,252,193,132,242,252,193,134,242,252,193,136,242,252,193,138,242,252,193,140,242,252,193,142,242,252,193,144,242,252,193,146,242,252,193,148,242,252,193,150,242,252,193,152,242,252,193,154,242,252,193,156,242,252,193,158,242,252,193,160,242,252,193,162,242,252,193,164,242,252,193,166,242,252,193,168,242,252,193,170,242,252,193,172,242,252,193,174,242,252,193,176,242,252,193,178,242,252,193,180,242,252,193,182,242,252,193,184,242,252,193,186,242,252,193,188,242,252,193,190,242,252,193,192,242,252,193,194,242,252,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,193,196,242,252,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,193,204,242,252,193,206,242,252,193,208,242,252,193,210,242,252,193,212,242,252,193,214,244,252,193,216,244,252,193,218,244,252,193,220,244,252,193,222,244,252,193,224,244,252,193,226,244,252,193,228,244,252,193,230,244,252,193,232,244,252,193,234,244,252,193,236,244,252,193,238,244,252,193,240,244,252,193,242,244,252,193,244,244,252,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,193,120,245,252,193,168,243,252,193,170,243,252,193,172,243,252,193,122,245,252,193,174,243,252,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,193,72,246,252,193,210,244,252,193,74,246,252,193,76,246,252,193,78,246,252,193,80,246,252,193,82,246,252,193,84,246,252,193,86,246,252,193,88,246,252,193,90,246,252,193,92,246,252,193,94,246,252,193,96,246,252,193,98,246,252,193,100,246,252,193,102,246,252,193,104,246,252,193,106,246,252,193,108,246,252,193,110,246,252,193,112,246,252,193,114,246,252,193,116,246,252,193,212,244,252,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,193,228,246,252,193,230,246,252,193,232,246,252,193,234,246,252,193,236,246,252,193,238,246,252,193,240,246,252,193,242,246,252,193,244,246,252,193,246,246,252,193,248,246,252,193,250,246,252,193,252,246,252,193,254,246,252,193,2,247,252,193,4,247,252,193,6,247,252,193,8,247,252,193,100,248,252,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,193,104,245,252,193,106,245,252,193,108,245,252,193,110,245,252,193,112,245,252,193,114,245,252,193,116,245,252,193,118,245,252,193,64,247,252,193,66,247,252,193,166,248,252,193,168,248,252,193,170,248,252,193,172,248,252,193,174,248,252,193,176,248,252,193,178,248,252,193,234,249,252,193,236,249,252,193,238,249,252,193,220,250,252,193,222,250,252,193,108,251,252,193,110,252,252,193,250,252,252,193,252,252,252,193,254,252,252,193,48,253,252,193,50,253,252,193,52,253,252,193,94,253,252,193,96,253,252,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,193,10,250,252,193,12,250,252,193,242,248,252,193,14,250,252,193,198,245,252,193,16,250,252,193,18,250,252,193,20,250,252,193,22,250,252,193,24,250,252,193,26,250,252,193,28,250,252,193,30,250,252,193,32,250,252,193,34,250,252,193,36,250,252,193,38,250,252,193,110,251,252,193,224,250,252,193,226,250,252,193,228,250,252,193,230,250,252,193,232,250,252,193,234,250,252,193,112,251,252,193,114,251,252,193,116,251,252,193,118,251,252,193,120,251,252,193,122,251,252,193,124,251,252,193,126,251,252,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,193,150,247,252,193,152,247,252,193,54,246,252,193,56,246,252,193,58,246,252,193,60,246,252,193,62,246,252,193,64,246,252,193,66,246,252,193,154,247,252,193,68,246,252,193,70,246,252,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,193,86,248,252,193,88,248,252,193,90,248,252,193,92,248,252,193,94,248,252,193,96,248,252,193,98,248,252,193,180,249,252,193,182,249,252,193,184,249,252,193,186,249,252,193,176,250,252,193,178,250,252,193,180,250,252,193,182,250,252,193,74,251,252,193,76,251,252,193,78,251,252,193,202,251,252,193,28,252,252,193,30,252,252,193,32,252,252,193,104,252,252,193,106,252,252,193,204,252,252,193,206,252,252,193,236,252,252,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,193,180,248,252,193,120,247,252,193,122,247,252,193,124,247,252,193,126,247,252,193,128,247,252,193,130,247,252,193,132,247,252,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,193,138,247,252,193,140,247,252,193,142,247,252,193,144,247,252,193,146,247,252,193,148,247,252,193,244,248,252,193,246,248,252,193,248,248,252,193,250,248,252,193,252,248,252,193,254,248,252,193,2,249,252,193,4,249,252,193,6,249,252,193,8,249,252,193,10,249,252,193,12,249,252,193,14,249,252,193,40,250,252,193,42,250,252,193,44,250,252,193,46,250,252,193,48,250,252,193,240,250,252,193,242,250,252,193,244,250,252,193,132,251,252,193,134,251,252,193,136,251,252,193,232,251,252,193,46,252,252,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,193,84,248,252,193,50,250,252,193,178,249,252,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,193,102,248,252,193,104,248,252,193,106,248,252,193,108,248,252,193,110,248,252,193,112,248,252,193,114,248,252,193,116,248,252,193,118,248,252,193,120,248,252,193,122,248,252,193,124,248,252,193,126,248,252,193,128,248,252,193,188,249,252,193,190,249,252,193,192,249,252,193,194,249,252,193,196,249,252,193,198,249,252,193,200,249,252,193,202,249,252,193,184,250,252,193,186,250,252,193,188,250,252,193,190,250,252,193,192,250,252,193,194,250,252,193,80,251,252,193,82,251,252,193,84,251,252,193,86,251,252,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,193,204,249,252,193,206,249,252,193,208,249,252,193,210,249,252,193,212,249,252,193,214,249,252,193,216,249,252,193,218,249,252,193,220,249,252,193,222,249,252,193,224,249,252,193,226,249,252,193,228,249,252,193,230,249,252,193,232,249,252,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,193,240,249,252,193,238,248,252,193,240,248,252,193,242,249,252,193,244,249,252,193,246,249,252,193,248,249,252,193,250,249,252,193,252,249,252,193,254,249,252,193,2,250,252,193,4,250,252,193,6,250,252,193,8,250,252,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,193,88,251,252,193,90,251,252,193,92,251,252,193,94,251,252,193,96,251,252,193,98,251,252,193,100,251,252,193,102,251,252,193,104,251,252,193,106,251,252,193,214,251,252,193,216,251,252,193,218,251,252,193,220,251,252,193,222,251,252,193,36,252,252,193,74,252,252,193,76,252,252,193,108,252,252,193,176,252,252,193,186,252,252,193,188,252,252,193,190,252,252,193,210,252,252,193,212,252,252,193,242,252,252,193,244,252,252,193,246,252,252,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,193,204,251,252,193,206,251,252,193,208,251,252,193,210,251,252,193,212,251,252,193,34,252,252,193,72,252,252,193,208,252,252,193,238,252,252,193,240,252,252,193,86,253,252,193,126,253,252,193,128,253,252,193,130,253,252,193,18,254,252,193,20,254,252,193,22,254,252,193,84,254,252,193,104,254,252,193,144,254,252,193,30,255,252,193,32,255,252,193,210,255,252,193,212,255,252,193,214,255,252,193,216,255,252,193,218,255,252,193,220,255,252,193,198,2,253,193,200,2,253,193,202,2,253,193,204,2,253,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,193,50,252,252,193,52,252,252,193,54,252,252,193,56,252,252,193,58,252,252,193,60,252,252,193,62,252,252,193,140,252,252,193,64,252,252,193,66,252,252,193,68,252,252,193,70,252,252,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,193,48,252,252,193,78,252,252,193,114,252,252,193,116,252,252,193,118,252,252,193,136,252,252,193,138,252,252,193,166,252,252,193,182,252,252,193,196,252,252,193,220,252,252,193,222,252,252,193,224,252,252,193,226,252,252,193,14,253,252,193,16,253,252,193,60,253,252,193,62,253,252,193,102,253,252,193,104,253,252,193,106,253,252,193,108,253,252,193,110,253,252,193,188,253,252,193,228,253,252,193,32,254,252,193,62,254,252,193,64,254,252,193,88,254,252,193,156,254,252,193,234,254,252,193,236,254,252,193,230,252,252,193,232,252,252,193,234,252,252,193,18,253,252,193,20,253,252,193,22,253,252,193,24,253,252,193,26,253,252,193,28,253,252,193,30,253,252,193,32,253,252,193,34,253,252,193,36,253,252,193,38,253,252,193,40,253,252,193,42,253,252,193,44,253,252,193,64,253,252,193,66,253,252,193,68,253,252,193,70,253,252,193,72,253,252,193,74,253,252,193,76,253,252,193,78,253,252,193,80,253,252,193,112,253,252,193,114,253,252,193,116,253,252,193,118,253,252,193,120,253,252,193,122,253,252,193,248,252,252,193,46,253,252,193,88,253,252,193,90,253,252,193,92,253,252,193,132,253,252,193,134,253,252,193,216,253,252,193,218,253,252,193,24,254,252,193,26,254,252,193,56,254,252,193,58,254,252,193,86,254,252,193,106,254,252,193,118,254,252,193,152,254,252,193,162,254,252,193,196,254,252,193,34,255,252,193,36,255,252,193,38,255,252,193,40,255,252,193,42,255,252,193,222,255,252,193,224,255,252,193,226,255,252,193,228,255,252,193,230,255,252,193,210,2,253,193,212,2,253,193,214,2,253,193,82,253,252,193,84,253,252,193,176,253,252,193,54,254,252,193,194,254,252,193,26,255,252,193,28,255,252,193,200,255,252,193,202,255,252,193,204,255,252,193,206,255,252,193,208,255,252,193,184,2,253,193,186,2,253,193,188,2,253,193,190,2,253,193,192,2,253,193,194,2,253,193,196,2,253,193,176,3,253,193,178,3,253,193,180,3,253,193,182,3,253,193,184,3,253,193,186,3,253,193,188,3,253,193,190,3,253,193,192,3,253,193,194,3,253,193,190,4,253,193,192,4,253,193,194,4,253,193,124,253,252,193,148,253,252,193,150,253,252,193,152,253,252,193,154,253,252,193,156,253,252,193,158,253,252,193,160,253,252,193,162,253,252,193,164,253,252,193,166,253,252,193,168,253,252,193,170,253,252,193,172,253,252,193,174,253,252,193,190,253,252,193,192,253,252,193,194,253,252,193,196,253,252,193,198,253,252,193,200,253,252,193,202,253,252,193,204,253,252,193,206,253,252,193,208,253,252,193,210,253,252,193,212,253,252,193,214,253,252,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,193,136,253,252,193,138,253,252,193,140,253,252,193,142,253,252,193,178,253,252,193,180,253,252,193,182,253,252,193,220,253,252,193,134,254,252,193,198,254,252,193,44,255,252,193,232,255,252,193,234,255,252,193,236,255,252,193,238,255,252,193,240,255,252,193,242,255,252,193,244,255,252,193,246,255,252,193,218,2,253,193,220,2,253,193,222,2,253,193,224,2,253,193,226,2,253,193,224,3,253,193,226,3,253,193,240,4,253,193,242,4,253,193,244,4,253,193,246,4,253,193,248,4,253,193,80,6,253,193,144,253,252,193,146,253,252,193,184,253,252,193,186,253,252,193,222,253,252,193,224,253,252,193,226,253,252,193,28,254,252,193,30,254,252,193,60,254,252,193,146,254,252,193,150,254,252,193,154,254,252,193,164,254,252,193,166,254,252,193,168,254,252,193,170,254,252,193,172,254,252,193,174,254,252,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,193,34,254,252,193,36,254,252,193,38,254,252,193,40,254,252,193,42,254,252,193,44,254,252,193,46,254,252,193,48,254,252,193,50,254,252,193,52,254,252,193,66,254,252,193,68,254,252,193,70,254,252,193,72,254,252,193,74,254,252,193,76,254,252,193,78,254,252,193,90,254,252,193,80,254,252,193,82,254,252,193,92,254,252,193,94,254,252,193,96,254,252,193,98,254,252,193,100,254,252,193,102,254,252,193,108,254,252,193,110,254,252,193,112,254,252,193,114,254,252,193,116,254,252,193,110,161,253,193,120,254,252,193,122,254,252,193,124,254,252,193,126,254,252,193,128,254,252,193,130,254,252,193,132,254,252,193,136,254,252,193,138,254,252,193,140,254,252,193,142,254,252,193,148,254,252,193,158,254,252,193,160,254,252,193,176,254,252,193,178,254,252,193,180,254,252,193,182,254,252,193,184,254,252,193,186,254,252,193,188,254,252,193,190,254,252,193,192,254,252,193,242,254,252,193,244,254,252,193,246,254,252,193,248,254,252,193,250,254,252,193,252,254,252,193,254,254,252,193,2,255,252,193,4,255,252,193,6,255,252,193,8,255,252,193,10,255,252,193,12,255,252,193,14,255,252,193,16,255,252,193,18,255,252,193,20,255,252,193,22,255,252,193,24,255,252,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,193,46,255,252,193,48,255,252,193,50,255,252,193,52,255,252,193,228,2,253,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,193,238,254,252,193,124,255,252,193,126,255,252,193,128,255,252,193,68,2,253,193,70,2,253,193,72,2,253,193,74,2,253,193,76,2,253,193,78,2,253,193,80,2,253,193,82,2,253,193,84,2,253,193,48,3,253,193,50,3,253,193,52,3,253,193,54,3,253,193,56,3,253,193,58,3,253,193,60,3,253,193,62,3,253,193,64,3,253,193,50,4,253,193,52,4,253,193,54,4,253,193,56,4,253,193,58,4,253,193,60,4,253,193,62,4,253,193,64,4,253,193,66,4,253,193,96,5,253,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,193,248,255,252,193,122,255,252,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,193,86,2,253,193,88,2,253,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,193,230,2,253,193,232,2,253,193,234,2,253,193,236,2,253,193,238,2,253,193,240,2,253,193,228,3,253,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,193,240,249,252,193,66,2,253,193,156,35,253,193,178,55,253,193,86,79,253,193,170,81,253,193,102,90,253,193,218,102,253,193,88,104,253,193,30,129,253,193,14,158,253,193,98,158,253,193,188,159,253,193,250,201,253,193,66,89,253,193,204,131,253,193,126,14,251,193,160,21,251,193,68,26,251,193,4,43,251,193,12,44,251,193,46,48,251,193,92,67,251,193,34,72,251,193,50,76,251,193,94,92,251,193,16,215,253,193,76,134,251,193,8,135,251,193,176,174,251,193,108,178,251,193,254,182,251,193,90,2,253,193,92,2,253,193,94,2,253,193,96,2,253,193,98,2,253,193,100,2,253,193,102,2,253,193,104,2,253,193,106,2,253,193,108,2,253,193,110,2,253,193,112,2,253,193,114,2,253,193,116,2,253,193,118,2,253,193,120,2,253,193,122,2,253,193,124,2,253,193,126,2,253,193,128,2,253,193,130,2,253,193,132,2,253,193,134,2,253,193,136,2,253,193,138,2,253,193,140,2,253,193,142,2,253,193,144,2,253,193,146,2,253,193,148,2,253,193,150,2,253,193,152,2,253,193,154,2,253,193,156,2,253,193,158,2,253,193,160,2,253,193,162,2,253,193,164,2,253,193,166,2,253,193,168,2,253,193,170,2,253,193,172,2,253,193,174,2,253,193,176,2,253,193,178,2,253,193,180,2,253,193,182,2,253,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,193,206,2,253,193,208,2,253,193,196,3,253,193,198,3,253,193,200,3,253,193,202,3,253,193,204,3,253,193,206,3,253,193,200,4,253,193,202,4,253,193,204,4,253,193,206,4,253,193,208,4,253,193,210,4,253,193,40,6,253,193,42,6,253,193,44,6,253,193,46,6,253,193,48,6,253,193,50,6,253,193,52,6,253,193,54,6,253,193,56,6,253,193,58,6,253,193,60,6,253,193,62,6,253,193,64,6,253,193,148,7,253,193,150,7,253,193,152,7,253,193,154,7,253,193,218,8,253,193,216,2,253,193,208,3,253,193,210,3,253,193,212,3,253,193,214,3,253,193,216,3,253,193,218,3,253,193,220,3,253,193,222,3,253,193,212,4,253,193,214,4,253,193,216,4,253,193,218,4,253,193,220,4,253,193,222,4,253,193,224,4,253,193,226,4,253,193,228,4,253,193,230,4,253,193,232,4,253,193,234,4,253,193,236,4,253,193,238,4,253,193,66,6,253,193,68,6,253,193,70,6,253,193,72,6,253,193,74,6,253,193,76,6,253,193,78,6,253,193,156,7,253,193,158,7,253,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,193,68,4,253,193,122,3,253,193,124,3,253,193,70,4,253,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,193,72,4,253,193,74,4,253,193,76,4,253,193,78,4,253,193,80,4,253,193,82,4,253,193,84,4,253,193,86,4,253,193,88,4,253,193,90,4,253,193,92,4,253,193,94,4,253,193,96,4,253,193,98,4,253,193,100,4,253,193,102,4,253,193,104,4,253,193,106,4,253,193,108,4,253,193,110,4,253,193,112,4,253,193,114,4,253,193,122,5,253,193,116,4,253,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,193,46,4,253,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,193,48,4,253,193,86,5,253,193,88,5,253,193,90,5,253,193,92,5,253,193,94,5,253,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,193,118,4,253,193,120,4,253,193,122,4,253,193,124,4,253,193,126,4,253,193,128,4,253,193,130,4,253,193,132,4,253,193,134,4,253,193,136,4,253,193,138,4,253,193,140,4,253,193,142,4,253,193,144,4,253,193,146,4,253,193,148,4,253,193,150,4,253,193,152,4,253,193,154,4,253,193,156,4,253,193,158,4,253,193,160,4,253,193,162,4,253,193,164,4,253,193,166,4,253,193,168,4,253,193,170,4,253,193,172,4,253,193,174,4,253,193,176,4,253,193,178,4,253,193,180,4,253,193,182,4,253,193,184,4,253,193,186,4,253,193,124,5,253,193,126,5,253,193,128,5,253,193,130,5,253,193,132,5,253,193,134,5,253,193,136,5,253,193,138,5,253,193,140,5,253,193,142,5,253,193,144,5,253,193,146,5,253,193,148,5,253,193,150,5,253,193,152,5,253,193,154,5,253,193,156,5,253,193,158,5,253,193,160,5,253,193,162,5,253,193,164,5,253,193,166,5,253,193,168,5,253,193,170,5,253,193,172,5,253,193,174,5,253,193,176,5,253,193,188,4,253,193,178,5,253,193,196,4,253,193,198,4,253,193,24,6,253,193,26,6,253,193,28,6,253,193,30,6,253,193,32,6,253,193,34,6,253,193,36,6,253,193,38,6,253,193,138,7,253,193,140,7,253,193,142,7,253,193,144,7,253,193,146,7,253,193,204,8,253,193,206,8,253,193,208,8,253,193,210,8,253,193,212,8,253,193,214,8,253,193,216,8,253,193,28,10,253,193,30,10,253,193,32,10,253,193,34,10,253,193,42,11,253,193,44,11,253,193,46,11,253,193,48,11,253,193,50,11,253,193,10,12,253,193,98,5,253,193,100,5,253,193,102,5,253,193,104,5,253,193,106,5,253,193,108,5,253,193,110,5,253,193,112,5,253,193,114,5,253,193,116,5,253,193,118,5,253,193,208,6,253,193,210,6,253,193,212,6,253,193,214,6,253,193,216,6,253,193,218,6,253,193,220,6,253,193,222,6,253,193,224,6,253,193,226,6,253,193,120,5,253,193,228,6,253,193,16,8,253,193,18,8,253,193,20,8,253,193,22,8,253,193,24,8,253,193,26,8,253,193,28,8,253,193,30,8,253,193,98,9,253,193,180,5,253,193,182,5,253,193,184,5,253,193,186,5,253,193,188,5,253,193,190,5,253,193,192,5,253,193,194,5,253,193,196,5,253,193,198,5,253,193,200,5,253,193,202,5,253,193,204,5,253,193,206,5,253,193,208,5,253,193,210,5,253,193,230,6,253,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,193,82,6,253,193,84,6,253,193,86,6,253,193,88,6,253,193,90,6,253,193,92,6,253,193,94,6,253,193,96,6,253,193,98,6,253,193,100,6,253,193,176,7,253,193,178,7,253,193,180,7,253,193,182,7,253,193,252,8,253,193,254,8,253,193,2,9,253,193,4,9,253,193,6,9,253,193,8,9,253,193,10,9,253,193,12,9,253,193,60,10,253,193,62,10,253,193,64,10,253,193,66,10,253,193,68,10,253,193,78,11,253,193,80,11,253,193,36,12,253,193,38,12,253,193,40,12,253,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,193,184,7,253,193,192,6,253,193,194,6,253,193,196,6,253,193,198,6,253,193,200,6,253,193,202,6,253,193,204,6,253,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,193,94,10,253,193,206,6,253,193,96,10,253,193,98,10,253,193,100,10,253,193,102,10,253,193,104,10,253,193,106,10,253,193,108,10,253,193,110,10,253,193,112,10,253,193,114,10,253,193,116,10,253,193,118,10,253,193,120,10,253,193,122,10,253,193,124,10,253,193,126,10,253,193,128,10,253,193,130,10,253,193,132,10,253,193,134,10,253,193,82,11,253,193,84,11,253,193,86,11,253,193,88,11,253,193,90,11,253,193,92,11,253,193,94,11,253,193,96,11,253,193,98,11,253,193,100,11,253,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,193,136,7,253,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,193,160,7,253,193,162,7,253,193,164,7,253,193,166,7,253,193,168,7,253,193,170,7,253,193,172,7,253,193,174,7,253,193,230,8,253,193,232,8,253,193,234,8,253,193,236,8,253,193,238,8,253,193,240,8,253,193,242,8,253,193,244,8,253,193,246,8,253,193,248,8,253,193,250,8,253,193,44,10,253,193,46,10,253,193,48,10,253,193,50,10,253,193,52,10,253,193,54,10,253,193,56,10,253,193,58,10,253,193,64,11,253,193,66,11,253,193,68,11,253,193,70,11,253,193,72,11,253,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,193,70,10,253,193,72,10,253,193,74,10,253,193,76,10,253,193,14,8,253,193,78,10,253,193,80,10,253,193,82,10,253,193,84,10,253,193,86,10,253,193,88,10,253,193,90,10,253,193,92,10,253,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,193,220,8,253,193,222,8,253,193,224,8,253,193,226,8,253,193,228,8,253,193,36,10,253,193,38,10,253,193,40,10,253,193,42,10,253,193,52,11,253,193,54,11,253,193,56,11,253,193,58,11,253,193,60,11,253,193,62,11,253,193,18,12,253,193,20,12,253,193,22,12,253,193,164,12,253,193,166,12,253,193,168,12,253,193,170,12,253,193,172,12,253,193,174,12,253,193,58,13,253,193,178,13,253,193,250,13,253,193,96,14,253,193,16,15,253,193,120,15,253,193,158,15,253,193,160,15,253,193,102,11,253,193,96,9,253,193,104,11,253,193,106,11,253,193,108,11,253,193,110,11,253,193,112,11,253,193,114,11,253,193,116,11,253,193,118,11,253,193,120,11,253,193,122,11,253,193,124,11,253,193,126,11,253,193,136,10,253,193,128,11,253,193,44,12,253,193,46,12,253,193,48,12,253,193,50,12,253,193,52,12,253,193,54,12,253,193,56,12,253,193,58,12,253,193,60,12,253,193,62,12,253,206,64,86,0,206,64,86,0,206,64,86,0,206,64,86,0,206,64,86,0,206,64,86,0,193,100,9,253,193,102,9,253,193,104,9,253,193,106,9,253,193,108,9,253,193,110,9,253,193,112,9,253,193,114,9,253,193,116,9,253,193,118,9,253,193,120,9,253,193,122,9,253,193,124,9,253,193,126,9,253,193,128,9,253,193,138,10,253,193,140,10,253,193,142,10,253,193,144,10,253,193,146,10,253,193,130,11,253,193,132,11,253,193,134,11,253,193,136,11,253,193,138,11,253,193,140,11,253,193,142,11,253,193,144,11,253,193,64,12,253,193,66,12,253,193,68,12,253,193,70,12,253,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,193,74,11,253,193,76,11,253,193,24,12,253,193,26,12,253,193,28,12,253,193,30,12,253,193,32,12,253,193,34,12,253,193,176,12,253,193,178,12,253,193,180,12,253,193,182,12,253,193,60,13,253,193,62,13,253,193,64,13,253,193,66,13,253,193,68,13,253,193,70,13,253,193,180,13,253,193,252,13,253,193,254,13,253,193,2,14,253,193,4,14,253,193,60,14,253,193,98,14,253,193,100,14,253,193,120,14,253,193,168,14,253,193,204,14,253,193,212,14,253,193,252,14,253,193,254,14,253,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,193,12,12,253,193,14,12,253,193,16,12,253,193,156,12,253,193,158,12,253,193,160,12,253,193,54,13,253,193,56,13,253,193,176,13,253,193,180,14,253,193,238,14,253,193,250,14,253,193,78,15,253,193,174,15,253,193,202,15,253,193,250,15,253,193,32,16,253,193,48,16,253,193,20,17,253,193,22,17,253,193,24,17,253,193,204,17,253,193,206,17,253,193,208,17,253,193,136,18,253,193,138,18,253,193,140,18,253,193,142,18,253,193,144,18,253,193,64,19,253,193,40,20,253,193,42,20,253,193,42,12,253,193,184,12,253,193,186,12,253,193,188,12,253,193,72,13,253,193,182,13,253,193,62,14,253,193,2,15,253,193,20,15,253,193,80,15,253,193,204,15,253,193,222,15,253,193,224,15,253,193,226,15,253,193,234,15,253,193,34,16,253,193,84,16,253,193,46,17,253,193,240,17,253,193,242,17,253,193,244,17,253,193,246,17,253,193,248,17,253,193,250,17,253,193,252,17,253,193,178,18,253,193,180,18,253,193,106,19,253,193,108,19,253,193,110,19,253,193,112,19,253,193,114,19,253,193,72,12,253,193,74,12,253,193,214,12,253,193,216,12,253,193,218,12,253,193,90,13,253,193,92,13,253,193,94,13,253,193,96,13,253,193,98,13,253,193,198,13,253,193,200,13,253,193,202,13,253,193,66,14,253,193,152,14,253,193,218,14,253,193,226,14,253,193,242,14,253,193,22,15,253,193,34,15,253,193,50,15,253,193,148,15,253,193,184,15,253,193,10,16,253,193,12,16,253,193,38,16,253,193,62,16,253,193,64,16,253,193,100,16,253,193,102,16,253,193,104,16,253,193,204,16,253,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,64,86,0,206,64,86,0,206,64,86,0,206,64,86,0,206,64,86,0,193,74,13,253,193,76,13,253,193,78,13,253,193,80,13,253,193,82,13,253,193,84,13,253,193,86,13,253,193,88,13,253,193,184,13,253,193,186,13,253,193,188,13,253,193,190,13,253,193,192,13,253,193,194,13,253,193,196,13,253,193,212,12,253,193,6,14,253,193,8,14,253,193,10,14,253,193,12,14,253,193,14,14,253,193,16,14,253,193,64,14,253,193,102,14,253,193,122,14,253,193,124,14,253,193,150,14,253,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,193,100,13,253,193,102,13,253,193,104,13,253,193,106,13,253,193,108,13,253,193,110,13,253,193,112,13,253,193,114,13,253,193,116,13,253,193,118,13,253,193,120,13,253,193,122,13,253,193,124,13,253,193,126,13,253,193,128,13,253,193,130,13,253,193,132,13,253,193,134,13,253,193,136,13,253,193,138,13,253,193,140,13,253,193,142,13,253,193,144,13,253,193,146,13,253,193,148,13,253,193,150,13,253,193,152,13,253,193,154,13,253,193,156,13,253,193,158,13,253,193,160,13,253,193,162,13,253,193,164,13,253,193,166,13,253,193,168,13,253,193,170,13,253,193,172,13,253,193,174,13,253,193,204,13,253,193,206,13,253,193,208,13,253,193,210,13,253,193,212,13,253,193,214,13,253,193,216,13,253,193,218,13,253,193,220,13,253,193,222,13,253,193,224,13,253,193,226,13,253,193,228,13,253,193,230,13,253,193,232,13,253,193,234,13,253,193,18,14,253,193,236,13,253,193,238,13,253,193,240,13,253,193,242,13,253,193,244,13,253,193,246,13,253,193,248,13,253,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,193,68,14,253,193,70,14,253,193,72,14,253,193,74,14,253,193,76,14,253,193,78,14,253,193,80,14,253,193,82,14,253,193,84,14,253,193,86,14,253,193,88,14,253,193,90,14,253,193,92,14,253,193,94,14,253,193,104,14,253,193,106,14,253,193,108,14,253,193,110,14,253,193,112,14,253,193,114,14,253,193,116,14,253,193,126,14,253,193,128,14,253,193,130,14,253,193,132,14,253,193,134,14,253,193,136,14,253,193,118,14,253,193,138,14,253,193,140,14,253,193,142,14,253,193,144,14,253,193,146,14,253,193,148,14,253,193,154,14,253,193,156,14,253,193,158,14,253,193,160,14,253,193,162,14,253,193,164,14,253,193,166,14,253,193,172,14,253,193,174,14,253,193,176,14,253,193,178,14,253,193,182,14,253,193,184,14,253,193,186,14,253,193,188,14,253,193,18,206,253,193,190,14,253,193,192,14,253,193,194,14,253,193,196,14,253,193,198,14,253,193,200,14,253,193,206,14,253,193,208,14,253,193,210,14,253,193,220,14,253,193,228,14,253,193,230,14,253,193,232,14,253,193,234,14,253,193,236,14,253,193,244,14,253,193,246,14,253,193,248,14,253,193,12,15,253,193,14,15,253,193,24,15,253,193,26,15,253,193,28,15,253,193,30,15,253,193,32,15,253,193,36,15,253,193,38,15,253,193,40,15,253,193,42,15,253,193,44,15,253,193,46,15,253,193,202,14,253,193,214,14,253,193,216,14,253,193,222,14,253,193,224,14,253,193,240,14,253,193,4,15,253,193,6,15,253,193,8,15,253,193,10,15,253,193,102,15,253,193,114,15,253,193,118,15,253,193,130,15,253,193,132,15,253,193,146,15,253,193,162,15,253,193,164,15,253,193,166,15,253,193,168,15,253,193,170,15,253,193,176,15,253,193,178,15,253,193,180,15,253,193,182,15,253,193,206,15,253,193,236,15,253,193,238,15,253,193,240,15,253,193,242,15,253,193,2,16,253,193,4,16,253,193,18,15,253,193,106,15,253,193,144,15,253,193,220,15,253,193,58,16,253,193,78,16,253,193,80,16,253,193,82,16,253,193,148,16,253,193,32,17,253,193,34,17,253,193,36,17,253,193,38,17,253,193,40,17,253,193,42,17,253,193,44,17,253,193,222,17,253,193,224,17,253,193,226,17,253,193,228,17,253,193,230,17,253,193,232,17,253,193,234,17,253,193,236,17,253,193,238,17,253,193,162,18,253,193,164,18,253,193,166,18,253,193,168,18,253,193,170,18,253,193,172,18,253,193,174,18,253,193,52,15,253,193,54,15,253,193,56,15,253,193,58,15,253,193,48,15,253,193,60,15,253,193,62,15,253,193,64,15,253,193,66,15,253,193,68,15,253,193,70,15,253,193,72,15,253,193,74,15,253,193,76,15,253,193,82,15,253,193,84,15,253,193,86,15,253,193,88,15,253,193,90,15,253,193,92,15,253,193,94,15,253,193,96,15,253,193,98,15,253,193,100,15,253,193,104,15,253,193,108,15,253,193,110,15,253,193,112,15,253,193,116,15,253,193,122,15,253,193,124,15,253,193,126,15,253,193,128,15,253,193,134,15,253,193,136,15,253,193,138,15,253,193,140,15,253,193,142,15,253,193,150,15,253,193,152,15,253,193,154,15,253,193,156,15,253,193,172,15,253,193,188,15,253,193,190,15,253,193,192,15,253,193,194,15,253,193,196,15,253,193,198,15,253,193,200,15,253,193,208,15,253,193,210,15,253,193,212,15,253,193,214,15,253,193,216,15,253,193,218,15,253,193,228,15,253,193,244,15,253,193,230,15,253,193,232,15,253,193,246,15,253,193,248,15,253,193,16,16,253,193,20,16,253,193,254,15,253,193,44,16,253,193,76,16,253,193,138,16,253,193,140,16,253,193,142,16,253,193,144,16,253,193,146,16,253,193,26,17,253,193,28,17,253,193,30,17,253,193,210,17,253,193,212,17,253,193,214,17,253,193,216,17,253,193,218,17,253,193,220,17,253,193,146,18,253,193,148,18,253,193,150,18,253,193,152,18,253,193,154,18,253,193,156,18,253,193,158,18,253,193,160,18,253,193,68,19,253,193,70,19,253,193,72,19,253,193,74,19,253,193,76,19,253,193,54,20,253,193,56,20,253,193,6,16,253,193,8,16,253,193,50,16,253,193,52,16,253,193,54,16,253,193,60,16,253,193,86,16,253,193,88,16,253,193,90,16,253,193,92,16,253,193,94,16,253,193,96,16,253,193,98,16,253,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,193,22,16,253,193,24,16,253,193,28,16,253,193,30,16,253,193,36,16,253,193,42,16,253,193,46,16,253,193,56,16,253,193,66,16,253,193,68,16,253,193,70,16,253,193,72,16,253,193,74,16,253,193,106,16,253,193,108,16,253,193,110,16,253,193,112,16,253,193,114,16,253,193,116,16,253,193,118,16,253,193,120,16,253,193,122,16,253,193,124,16,253,193,126,16,253,193,128,16,253,193,130,16,253,193,132,16,253,193,134,16,253,193,136,16,253,193,210,16,253,193,212,16,253,193,214,16,253,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,193,206,16,253,193,208,16,253,193,128,17,253,193,130,17,253,193,132,17,253,193,134,17,253,193,136,17,253,193,138,17,253,193,52,18,253,193,54,18,253,193,56,18,253,193,58,18,253,193,60,18,253,193,62,18,253,193,64,18,253,193,238,18,253,193,240,18,253,193,242,18,253,193,244,18,253,193,178,19,253,193,180,19,253,193,182,19,253,193,184,19,253,193,186,19,253,193,188,19,253,193,190,19,253,193,192,19,253,193,194,19,253,193,196,19,253,193,198,19,253,193,200,19,253,193,202,19,253,193,216,16,253,193,218,16,253,193,220,16,253,193,222,16,253,193,224,16,253,193,226,16,253,193,228,16,253,193,230,16,253,193,232,16,253,193,234,16,253,193,236,16,253,193,238,16,253,193,240,16,253,193,242,16,253,193,244,16,253,193,246,16,253,193,248,16,253,193,250,16,253,193,252,16,253,193,254,16,253,193,2,17,253,193,4,17,253,193,6,17,253,193,8,17,253,193,10,17,253,193,12,17,253,193,14,17,253,193,16,17,253,193,18,17,253,193,140,17,253,193,66,18,253,193,142,17,253,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,193,254,17,253,193,126,17,253,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,193,144,17,253,193,146,17,253,193,148,17,253,193,150,17,253,193,152,17,253,193,154,17,253,193,156,17,253,193,158,17,253,193,160,17,253,193,162,17,253,193,164,17,253,193,166,17,253,193,168,17,253,193,170,17,253,193,172,17,253,193,174,17,253,193,176,17,253,193,178,17,253,193,180,17,253,193,182,17,253,193,184,17,253,193,186,17,253,193,188,17,253,193,190,17,253,193,192,17,253,193,194,17,253,193,196,17,253,193,198,17,253,193,200,17,253,193,202,17,253,193,68,18,253,193,70,18,253,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,193,72,18,253,193,74,18,253,193,76,18,253,193,78,18,253,193,80,18,253,193,82,18,253,193,84,18,253,193,86,18,253,193,88,18,253,193,90,18,253,193,92,18,253,193,94,18,253,193,96,18,253,193,98,18,253,193,100,18,253,193,102,18,253,193,104,18,253,193,106,18,253,193,108,18,253,193,110,18,253,193,112,18,253,193,114,18,253,193,116,18,253,193,118,18,253,193,120,18,253,193,122,18,253,193,124,18,253,193,126,18,253,193,128,18,253,193,130,18,253,193,132,18,253,193,134,18,253,193,176,18,253,193,78,19,253,193,80,19,253,193,82,19,253,193,84,19,253,193,86,19,253,193,88,19,253,193,90,19,253,193,92,19,253,193,94,19,253,193,96,19,253,193,98,19,253,193,100,19,253,193,102,19,253,193,104,19,253,193,68,20,253,193,70,20,253,193,72,20,253,193,74,20,253,193,76,20,253,193,248,20,253,193,250,20,253,193,252,20,253,193,254,20,253,193,2,21,253,193,4,21,253,193,6,21,253,193,8,21,253,193,10,21,253,193,12,21,253,193,14,21,253,193,16,21,253,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,193,82,20,253,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,193,210,19,253,193,212,19,253,193,214,19,253,193,216,19,253,193,218,19,253,193,220,19,253,193,222,19,253,193,224,19,253,193,226,19,253,193,228,19,253,193,230,19,253,193,232,19,253,193,234,19,253,193,236,19,253,193,238,19,253,193,240,19,253,193,242,19,253,193,244,19,253,193,246,19,253,193,248,19,253,193,250,19,253,193,252,19,253,193,254,19,253,193,156,20,253,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,193,116,19,253,193,78,20,253,193,80,20,253,193,182,21,253,193,184,21,253,193,186,21,253,193,92,22,253,193,94,22,253,193,96,22,253,193,34,24,253,193,100,24,253,193,234,24,253,193,254,24,253,193,30,25,253,193,170,25,253,193,172,25,253,193,174,25,253,193,32,26,253,193,104,26,253,193,216,26,253,193,66,27,253,193,176,27,253,193,178,27,253,193,192,27,253,193,194,27,253,193,196,27,253,193,214,27,253,193,220,27,253,193,230,27,253,193,234,27,253,193,238,27,253,193,244,27,253,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,193,84,20,253,193,86,20,253,193,88,20,253,193,90,20,253,193,92,20,253,193,94,20,253,193,96,20,253,193,98,20,253,193,100,20,253,193,102,20,253,193,104,20,253,193,106,20,253,193,108,20,253,193,110,20,253,193,112,20,253,193,114,20,253,193,116,20,253,193,118,20,253,193,120,20,253,193,122,20,253,193,124,20,253,193,126,20,253,193,128,20,253,193,130,20,253,193,132,20,253,193,20,21,253,193,22,21,253,193,204,19,253,193,206,19,253,193,208,19,253,193,134,20,253,193,136,20,253,193,138,20,253,193,140,20,253,193,142,20,253,193,144,20,253,193,146,20,253,193,148,20,253,193,150,20,253,193,152,20,253,193,154,20,253,193,64,21,253,193,66,21,253,193,68,21,253,193,70,21,253,193,72,21,253,193,74,21,253,193,226,21,253,193,228,21,253,193,230,21,253,193,232,21,253,193,234,21,253,193,236,21,253,193,238,21,253,193,240,21,253,193,242,21,253,193,244,21,253,193,130,22,253,193,132,22,253,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,193,44,20,253,193,46,20,253,193,48,20,253,193,50,20,253,193,52,20,253,193,240,20,253,193,242,20,253,193,152,21,253,193,154,21,253,193,156,21,253,193,62,22,253,193,64,22,253,193,66,22,253,193,68,22,253,193,70,22,253,193,72,22,253,193,238,22,253,193,240,22,253,193,242,22,253,193,96,23,253,193,98,23,253,193,182,23,253,193,238,23,253,193,56,24,253,193,76,24,253,193,78,24,253,193,180,24,253,193,252,24,253,193,72,25,253,193,164,25,253,193,222,25,253,193,22,26,253,193,58,20,253,193,60,20,253,193,62,20,253,193,64,20,253,193,66,20,253,193,244,20,253,193,246,20,253,193,158,21,253,193,160,21,253,193,162,21,253,193,74,22,253,193,76,22,253,193,78,22,253,193,80,22,253,193,244,22,253,193,246,22,253,193,100,23,253,193,102,23,253,193,184,23,253,193,186,23,253,193,188,23,253,193,240,23,253,193,242,23,253,193,32,24,253,193,168,24,253,193,212,24,253,193,230,24,253,193,10,25,253,193,120,25,253,193,166,25,253,193,92,26,253,193,94,26,253,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,193,18,21,253,193,164,21,253,193,166,21,253,193,168,21,253,193,170,21,253,193,172,21,253,193,174,21,253,193,176,21,253,193,178,21,253,193,180,21,253,193,82,22,253,193,84,22,253,193,86,22,253,193,88,22,253,193,90,22,253,193,248,22,253,193,250,22,253,193,252,22,253,193,254,22,253,193,2,23,253,193,4,23,253,193,6,23,253,193,8,23,253,193,104,23,253,193,106,23,253,193,108,23,253,193,110,23,253,193,190,23,253,193,192,23,253,193,244,23,253,193,246,23,253,193,182,24,253,193,24,21,253,193,26,21,253,193,28,21,253,193,30,21,253,193,32,21,253,193,34,21,253,193,36,21,253,193,38,21,253,193,40,21,253,193,42,21,253,193,44,21,253,193,46,21,253,193,48,21,253,193,50,21,253,193,52,21,253,193,54,21,253,193,56,21,253,193,58,21,253,193,60,21,253,193,188,21,253,193,62,21,253,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,193,246,21,253,193,248,21,253,193,250,21,253,193,252,21,253,193,254,21,253,193,2,22,253,193,4,22,253,193,6,22,253,193,8,22,253,193,10,22,253,193,12,22,253,193,150,21,253,193,14,22,253,193,16,22,253,193,18,22,253,193,20,22,253,193,142,22,253,193,22,22,253,193,24,22,253,193,26,22,253,193,28,22,253,193,30,22,253,193,32,22,253,193,34,22,253,193,36,22,253,193,38,22,253,193,40,22,253,193,42,22,253,193,44,22,253,193,46,22,253,193,48,22,253,193,50,22,253,193,52,22,253,193,54,22,253,193,56,22,253,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,193,98,22,253,193,100,22,253,193,102,22,253,193,104,22,253,193,106,22,253,193,108,22,253,193,110,22,253,193,112,22,253,193,114,22,253,193,116,22,253,193,118,22,253,193,120,22,253,193,122,22,253,193,124,22,253,193,224,21,253,193,126,22,253,193,10,23,253,193,12,23,253,193,14,23,253,193,16,23,253,193,18,23,253,193,20,23,253,193,22,23,253,193,24,23,253,193,26,23,253,193,28,23,253,193,58,22,253,193,60,22,253,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,193,134,22,253,193,136,22,253,193,138,22,253,193,140,22,253,193,36,23,253,193,38,23,253,193,124,23,253,193,126,23,253,193,128,23,253,193,130,23,253,193,206,23,253,193,2,24,253,193,42,24,253,193,44,24,253,193,64,24,253,193,66,24,253,193,90,24,253,193,112,24,253,193,152,24,253,193,160,24,253,193,172,24,253,193,190,24,253,193,192,24,253,193,58,25,253,193,60,25,253,193,86,25,253,193,88,25,253,193,90,25,253,193,132,25,253,193,134,25,253,193,136,25,253,193,138,25,253,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,193,30,23,253,193,32,23,253,193,34,23,253,193,112,23,253,193,114,23,253,193,116,23,253,193,118,23,253,193,120,23,253,193,122,23,253,193,194,23,253,193,196,23,253,193,198,23,253,193,200,23,253,193,202,23,253,193,204,23,253,193,248,23,253,193,250,23,253,193,252,23,253,193,254,23,253,193,36,24,253,193,38,24,253,193,58,24,253,193,60,24,253,193,62,24,253,193,80,24,253,193,82,24,253,193,84,24,253,193,86,24,253,193,88,24,253,193,40,24,253,193,136,24,253,193,138,24,253,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,193,132,23,253,193,134,23,253,193,136,23,253,193,138,23,253,193,140,23,253,193,142,23,253,193,144,23,253,193,146,23,253,193,148,23,253,193,150,23,253,193,208,23,253,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,193,210,23,253,193,212,23,253,193,214,23,253,193,216,23,253,193,218,23,253,193,220,23,253,193,222,23,253,193,224,23,253,193,226,23,253,193,228,23,253,193,230,23,253,193,4,24,253,193,232,23,253,193,234,23,253,193,236,23,253,193,6,24,253,193,8,24,253,193,10,24,253,193,12,24,253,193,14,24,253,193,16,24,253,193,18,24,253,193,20,24,253,193,22,24,253,193,24,24,253,193,26,24,253,193,28,24,253,193,30,24,253,193,46,24,253,193,48,24,253,193,50,24,253,193,52,24,253,193,54,24,253,193,68,24,253,193,70,24,253,193,72,24,253,193,74,24,253,193,92,24,253,193,94,24,253,193,96,24,253,193,98,24,253,193,102,24,253,193,104,24,253,193,106,24,253,193,108,24,253,193,110,24,253,193,114,24,253,193,116,24,253,193,118,24,253,193,120,24,253,193,122,24,253,193,124,24,253,193,126,24,253,193,128,24,253,193,130,24,253,193,132,24,253,193,134,24,253,193,142,24,253,193,144,24,253,193,146,24,253,193,148,24,253,193,154,24,253,193,156,24,253,193,158,24,253,193,162,24,253,193,164,24,253,193,166,24,253,193,174,24,253,193,176,24,253,193,178,24,253,193,194,24,253,193,196,24,253,193,208,24,253,193,210,24,253,193,214,24,253,193,216,24,253,193,218,24,253,193,220,24,253,193,222,24,253,193,224,24,253,193,226,24,253,193,228,24,253,193,236,24,253,193,238,24,253,193,240,24,253,193,246,24,253,193,248,24,253,193,250,24,253,193,2,25,253,193,184,24,253,193,200,24,253,193,202,24,253,193,204,24,253,193,232,24,253,193,242,24,253,193,244,24,253,193,18,25,253,193,22,25,253,193,26,25,253,193,28,25,253,193,34,25,253,193,40,25,253,193,122,25,253,193,168,25,253,193,224,25,253,193,226,25,253,193,228,25,253,193,26,26,253,193,28,26,253,193,30,26,253,193,98,26,253,193,100,26,253,193,102,26,253,193,172,26,253,193,214,26,253,193,36,27,253,193,38,27,253,193,40,27,253,193,42,27,253,193,64,27,253,193,248,27,253,193,6,25,253,193,8,25,253,193,16,25,253,193,20,25,253,193,24,25,253,193,38,25,253,193,44,25,253,193,46,25,253,193,52,25,253,193,62,25,253,193,64,25,253,193,66,25,253,193,68,25,253,193,70,25,253,193,92,25,253,193,94,25,253,193,96,25,253,193,98,25,253,193,100,25,253,193,102,25,253,193,104,25,253,193,106,25,253,193,108,25,253,193,110,25,253,193,112,25,253,193,114,25,253,193,116,25,253,193,118,25,253,206,64,88,0,206,64,88,0,206,64,88,0,206,64,88,0,206,64,88,0,206,64,88,0,206,64,88,0,206,64,88,0,193,184,25,253,193,186,25,253,193,188,25,253,193,190,25,253,193,192,25,253,193,194,25,253,193,196,25,253,193,198,25,253,193,200,25,253,193,202,25,253,193,204,25,253,193,206,25,253,193,208,25,253,193,210,25,253,193,212,25,253,193,214,25,253,193,216,25,253,193,218,25,253,193,220,25,253,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,193,180,25,253,193,182,25,253,193,240,25,253,193,242,25,253,193,42,26,253,193,44,26,253,193,116,26,253,193,118,26,253,193,120,26,253,193,122,26,253,193,184,26,253,193,186,26,253,193,188,26,253,193,226,26,253,193,228,26,253,193,10,27,253,193,12,27,253,193,14,27,253,193,16,27,253,193,18,27,253,193,72,27,253,193,132,27,253,193,140,27,253,193,34,28,253,193,162,28,253,193,164,28,253,193,166,28,253,193,206,28,253,193,252,28,253,193,254,28,253,193,2,29,253,193,4,29,253,193,236,25,253,193,238,25,253,193,34,26,253,193,36,26,253,193,38,26,253,193,40,26,253,193,106,26,253,193,108,26,253,193,110,26,253,193,112,26,253,193,114,26,253,193,174,26,253,193,176,26,253,193,178,26,253,193,180,26,253,193,182,26,253,193,218,26,253,193,220,26,253,193,222,26,253,193,224,26,253,193,254,26,253,193,2,27,253,193,4,27,253,193,6,27,253,193,8,27,253,193,44,27,253,193,46,27,253,193,48,27,253,193,68,27,253,193,70,27,253,193,84,27,253,193,86,27,253,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,193,46,26,253,193,48,26,253,193,50,26,253,193,52,26,253,193,54,26,253,193,56,26,253,193,58,26,253,193,60,26,253,193,62,26,253,193,64,26,253,193,66,26,253,193,68,26,253,193,70,26,253,193,72,26,253,193,74,26,253,193,76,26,253,193,78,26,253,193,80,26,253,193,82,26,253,193,84,26,253,193,86,26,253,193,24,26,253,193,90,26,253,193,168,26,253,193,170,26,253,193,250,26,253,193,62,27,253,193,128,27,253,193,130,27,253,193,166,27,253,193,168,27,253,193,182,27,253,193,206,27,253,193,226,27,253,193,236,27,253,193,182,28,253,193,184,28,253,193,104,29,253,193,106,29,253,193,154,30,253,193,156,30,253,193,90,31,253,193,92,31,253,193,54,32,253,193,56,32,253,193,58,32,253,193,60,32,253,193,40,33,253,193,42,33,253,193,34,34,253,193,36,34,253,193,38,34,253,193,60,35,253,193,88,26,253,193,124,26,253,193,126,26,253,193,128,26,253,193,130,26,253,193,132,26,253,193,134,26,253,193,136,26,253,193,138,26,253,193,140,26,253,193,142,26,253,193,144,26,253,193,146,26,253,193,148,26,253,193,150,26,253,193,152,26,253,193,154,26,253,193,156,26,253,193,158,26,253,193,160,26,253,193,162,26,253,193,164,26,253,193,166,26,253,193,190,26,253,193,192,26,253,193,194,26,253,193,196,26,253,193,198,26,253,193,200,26,253,193,202,26,253,193,204,26,253,193,206,26,253,193,96,26,253,193,212,26,253,193,252,26,253,193,32,27,253,193,34,27,253,193,82,27,253,193,104,27,253,193,152,27,253,193,170,27,253,193,172,27,253,193,174,27,253,193,184,27,253,193,190,27,253,193,186,27,253,193,202,27,253,193,208,27,253,193,210,27,253,193,212,27,253,193,218,27,253,193,228,27,253,193,232,27,253,193,132,28,253,193,186,28,253,193,232,28,253,193,54,29,253,193,238,29,253,193,76,30,253,193,78,30,253,193,158,30,253,193,160,30,253,193,162,30,253,193,94,31,253,193,208,26,253,193,210,26,253,193,230,26,253,193,232,26,253,193,234,26,253,193,236,26,253,193,238,26,253,193,240,26,253,193,242,26,253,193,244,26,253,193,246,26,253,193,248,26,253,193,20,27,253,193,22,27,253,193,24,27,253,193,26,27,253,193,28,27,253,193,30,27,253,193,50,27,253,193,52,27,253,193,54,27,253,193,56,27,253,193,58,27,253,193,60,27,253,193,74,27,253,193,76,27,253,193,78,27,253,193,80,27,253,193,90,27,253,193,92,27,253,193,94,27,253,193,96,27,253,193,98,27,253,193,100,27,253,193,106,27,253,193,108,27,253,193,110,27,253,193,112,27,253,193,116,27,253,193,118,27,253,193,120,27,253,193,122,27,253,193,124,27,253,193,126,27,253,193,134,27,253,193,136,27,253,193,138,27,253,193,142,27,253,193,144,27,253,193,146,27,253,193,242,27,253,193,246,27,253,193,2,28,253,193,4,28,253,193,6,28,253,193,10,28,253,193,12,28,253,193,14,28,253,193,16,28,253,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,193,250,27,253,193,18,28,253,193,20,28,253,193,80,28,253,193,82,28,253,193,84,28,253,193,86,28,253,193,88,28,253,193,90,28,253,193,134,28,253,193,136,28,253,193,188,28,253,193,190,28,253,193,192,28,253,193,194,28,253,193,196,28,253,193,234,28,253,193,236,28,253,193,238,28,253,193,56,29,253,193,154,29,253,193,156,29,253,193,216,29,253,193,80,30,253,193,82,30,253,193,164,30,253,193,166,30,253,193,98,31,253,193,100,31,253,193,102,31,253,193,104,31,253,193,66,32,253,193,8,28,253,193,22,28,253,193,138,28,253,193,140,28,253,193,240,28,253,193,242,28,253,193,218,29,253,193,52,30,253,193,84,30,253,193,86,30,253,193,106,31,253,193,84,32,253,193,86,32,253,193,72,33,253,193,74,33,253,193,76,33,253,193,78,33,253,193,80,33,253,193,82,33,253,193,84,33,253,193,86,33,253,193,88,33,253,193,90,33,253,193,92,33,253,193,94,33,253,193,64,34,253,193,66,34,253,193,68,34,253,193,96,35,253,193,98,35,253,193,84,36,253,193,86,36,253,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,193,100,28,253,193,102,28,253,193,104,28,253,193,106,28,253,193,108,28,253,193,110,28,253,193,112,28,253,193,114,28,253,193,116,28,253,193,118,28,253,193,120,28,253,193,122,28,253,193,124,28,253,193,126,28,253,193,128,28,253,193,130,28,253,193,168,28,253,193,170,28,253,193,172,28,253,193,174,28,253,193,176,28,253,193,178,28,253,193,180,28,253,193,208,28,253,193,210,28,253,193,212,28,253,193,214,28,253,193,216,28,253,193,218,28,253,193,220,28,253,193,222,28,253,193,224,28,253,193,226,28,253,193,228,28,253,193,230,28,253,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,193,146,28,253,193,148,28,253,193,150,28,253,193,152,28,253,193,154,28,253,193,156,28,253,193,158,28,253,193,160,28,253,193,198,28,253,193,200,28,253,193,202,28,253,193,204,28,253,193,244,28,253,193,246,28,253,193,248,28,253,193,250,28,253,193,58,29,253,193,60,29,253,193,108,29,253,193,110,29,253,193,158,29,253,193,186,29,253,193,188,29,253,193,220,29,253,193,222,29,253,193,224,29,253,193,240,29,253,193,250,29,253,193,252,29,253,193,10,30,253,193,12,30,253,193,22,30,253,193,6,29,253,193,62,29,253,193,64,29,253,193,66,29,253,193,68,29,253,193,112,29,253,193,114,29,253,193,162,29,253,193,190,29,253,193,192,29,253,193,226,29,253,193,228,29,253,193,194,29,253,193,24,30,253,193,68,30,253,193,70,30,253,193,72,30,253,193,124,30,253,193,126,30,253,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,193,70,29,253,193,72,29,253,193,74,29,253,193,76,29,253,193,78,29,253,193,80,29,253,193,82,29,253,193,84,29,253,193,86,29,253,193,88,29,253,193,90,29,253,193,92,29,253,193,94,29,253,193,96,29,253,193,98,29,253,193,100,29,253,193,116,29,253,193,118,29,253,193,120,29,253,193,122,29,253,193,124,29,253,193,126,29,253,193,128,29,253,193,102,29,253,193,130,29,253,193,132,29,253,193,134,29,253,193,136,29,253,193,138,29,253,193,140,29,253,193,142,29,253,193,144,29,253,193,146,29,253,193,148,29,253,193,150,29,253,193,152,29,253,193,164,29,253,193,166,29,253,193,168,29,253,193,170,29,253,193,172,29,253,193,174,29,253,193,176,29,253,193,178,29,253,193,180,29,253,193,182,29,253,193,184,29,253,206,192,88,0,206,192,88,0,206,192,88,0,206,192,88,0,206,192,88,0,206,192,88,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,193,160,29,253,193,66,199,253,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,192,88,0,206,192,88,0,206,192,88,0,206,192,88,0,193,230,29,253,193,232,29,253,193,234,29,253,193,236,29,253,193,242,29,253,193,244,29,253,193,246,29,253,193,248,29,253,193,254,29,253,193,2,30,253,193,4,30,253,193,6,30,253,193,8,30,253,193,14,30,253,193,16,30,253,193,18,30,253,193,20,30,253,193,26,30,253,193,28,30,253,193,30,30,253,193,32,30,253,193,34,30,253,193,36,30,253,193,42,30,253,193,44,30,253,193,46,30,253,193,48,30,253,193,50,30,253,193,38,30,253,193,40,30,253,193,54,30,253,193,56,30,253,193,58,30,253,193,60,30,253,193,62,30,253,193,64,30,253,193,66,30,253,193,88,30,253,193,90,30,253,193,92,30,253,193,94,30,253,193,96,30,253,193,98,30,253,193,100,30,253,193,102,30,253,193,104,30,253,193,106,30,253,193,108,30,253,193,110,30,253,193,112,30,253,193,114,30,253,193,116,30,253,193,118,30,253,193,120,30,253,193,122,30,253,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,193,74,30,253,193,128,30,253,193,130,30,253,193,132,30,253,193,134,30,253,193,136,30,253,193,138,30,253,193,140,30,253,193,142,30,253,193,144,30,253,193,146,30,253,193,148,30,253,193,150,30,253,193,152,30,253,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,193,108,31,253,193,110,31,253,193,112,31,253,193,114,31,253,193,116,31,253,193,118,31,253,193,120,31,253,193,122,31,253,193,124,31,253,193,126,31,253,193,128,31,253,193,130,31,253,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,193,198,31,253,193,200,31,253,193,202,31,253,193,204,31,253,193,206,31,253,193,208,31,253,193,210,31,253,193,212,31,253,193,214,31,253,193,216,31,253,193,218,31,253,193,220,31,253,193,222,31,253,193,224,31,253,193,226,31,253,193,228,31,253,193,176,32,253,193,178,32,253,193,180,32,253,193,182,32,253,193,184,32,253,193,186,32,253,193,188,32,253,193,190,32,253,193,192,32,253,193,166,33,253,193,168,33,253,193,170,33,253,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,193,230,31,253,193,232,31,253,193,234,31,253,193,236,31,253,193,96,31,253,193,62,32,253,193,64,32,253,193,44,33,253,193,46,33,253,193,48,33,253,193,50,33,253,193,52,33,253,193,54,33,253,193,56,33,253,193,40,34,253,193,42,34,253,193,44,34,253,193,46,34,253,193,64,35,253,193,66,35,253,193,68,35,253,193,70,35,253,193,72,35,253,193,74,35,253,193,52,36,253,193,54,36,253,193,56,36,253,193,58,36,253,193,60,36,253,193,62,36,253,206,64,90,0,206,64,90,0,206,64,90,0,206,64,90,0,206,64,90,0,206,64,90,0,193,132,31,253,193,134,31,253,193,136,31,253,193,138,31,253,193,140,31,253,193,142,31,253,193,144,31,253,193,146,31,253,193,148,31,253,193,150,31,253,193,152,31,253,193,154,31,253,193,156,31,253,193,158,31,253,193,160,31,253,193,162,31,253,193,164,31,253,193,166,31,253,193,168,31,253,193,170,31,253,193,172,31,253,193,174,31,253,193,176,31,253,193,178,31,253,193,180,31,253,193,182,31,253,193,184,31,253,193,186,31,253,193,188,31,253,193,190,31,253,193,192,31,253,193,194,31,253,193,196,31,253,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,193,238,31,253,193,240,31,253,193,242,31,253,193,244,31,253,193,246,31,253,193,248,31,253,193,250,31,253,193,252,31,253,193,254,31,253,193,2,32,253,193,4,32,253,193,6,32,253,193,8,32,253,193,10,32,253,193,12,32,253,193,14,32,253,193,16,32,253,193,18,32,253,193,20,32,253,193,22,32,253,193,24,32,253,193,26,32,253,193,28,32,253,193,30,32,253,193,32,32,253,193,34,32,253,193,36,32,253,193,38,32,253,193,40,32,253,193,42,32,253,193,44,32,253,193,46,32,253,193,48,32,253,193,50,32,253,193,52,32,253,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,193,68,32,253,193,70,32,253,193,72,32,253,193,74,32,253,193,76,32,253,193,78,32,253,193,80,32,253,193,82,32,253,193,58,33,253,193,60,33,253,193,62,33,253,193,64,33,253,193,66,33,253,193,68,33,253,193,70,33,253,193,48,34,253,193,50,34,253,193,52,34,253,193,54,34,253,193,56,34,253,193,58,34,253,193,60,34,253,193,62,34,253,193,76,35,253,193,78,35,253,193,80,35,253,193,82,35,253,193,84,35,253,193,86,35,253,193,88,35,253,193,90,35,253,193,92,35,253,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,193,96,33,253,193,98,33,253,193,100,33,253,193,102,33,253,193,104,33,253,193,106,33,253,193,108,33,253,193,110,33,253,193,112,33,253,193,114,33,253,193,116,33,253,193,118,33,253,193,120,33,253,193,122,33,253,193,124,33,253,193,126,33,253,193,128,33,253,193,130,33,253,193,132,33,253,193,134,33,253,193,136,33,253,193,172,32,253,193,138,33,253,193,140,33,253,193,142,33,253,193,144,33,253,193,146,33,253,193,148,33,253,193,150,33,253,193,152,33,253,193,154,33,253,193,156,33,253,193,158,33,253,193,160,33,253,193,162,33,253,193,164,33,253,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,193,38,33,253,193,16,34,253,193,18,34,253,193,20,34,253,193,172,33,253,193,174,33,253,193,176,33,253,193,178,33,253,193,180,33,253,193,182,33,253,193,184,33,253,193,186,33,253,193,188,33,253,193,160,34,253,193,162,34,253,193,164,34,253,193,166,34,253,193,168,34,253,193,170,34,253,193,172,34,253,193,174,34,253,193,176,34,253,193,178,34,253,193,180,34,253,193,182,34,253,193,184,34,253,193,186,34,253,193,188,34,253,193,190,34,253,193,180,35,253,193,182,35,253,193,184,35,253,193,186,35,253,193,188,35,253,193,156,36,253,193,158,36,253,193,22,34,253,193,24,34,253,193,26,34,253,193,28,34,253,193,30,34,253,193,32,34,253,193,192,34,253,193,194,34,253,193,196,34,253,193,198,34,253,193,200,34,253,193,202,34,253,193,204,34,253,193,206,34,253,193,208,34,253,193,210,34,253,193,212,34,253,193,214,34,253,193,216,34,253,193,218,34,253,193,220,34,253,193,222,34,253,193,224,34,253,193,226,34,253,193,228,34,253,193,230,34,253,193,232,34,253,193,234,34,253,193,236,34,253,193,238,34,253,193,240,34,253,193,242,34,253,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,193,158,34,253,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,193,244,34,253,193,246,34,253,193,248,34,253,193,250,34,253,193,252,34,253,193,254,34,253,193,2,35,253,193,4,35,253,193,6,35,253,193,8,35,253,193,10,35,253,193,12,35,253,193,14,35,253,193,16,35,253,193,18,35,253,193,20,35,253,193,22,35,253,193,24,35,253,193,26,35,253,193,28,35,253,193,30,35,253,193,32,35,253,193,34,35,253,193,36,35,253,193,38,35,253,193,40,35,253,193,42,35,253,193,44,35,253,193,46,35,253,193,48,35,253,193,50,35,253,193,52,35,253,193,54,35,253,193,56,35,253,193,58,35,253,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,193,62,35,253,193,42,36,253,193,44,36,253,193,46,36,253,193,48,36,253,193,50,36,253,193,30,37,253,193,32,37,253,193,34,37,253,193,232,37,253,193,234,37,253,193,236,37,253,193,238,37,253,193,164,38,253,193,166,38,253,193,168,38,253,193,54,39,253,193,56,39,253,193,156,39,253,193,64,40,253,193,108,40,253,193,110,40,253,193,112,40,253,193,154,40,253,193,180,40,253,193,230,40,253,193,18,41,253,193,20,41,253,193,84,41,253,193,86,41,253,193,88,41,253,193,90,41,253,193,94,35,253,193,64,36,253,193,66,36,253,193,68,36,253,193,70,36,253,193,72,36,253,193,74,36,253,193,76,36,253,193,78,36,253,193,80,36,253,193,82,36,253,193,58,37,253,193,60,37,253,193,62,37,253,193,64,37,253,193,66,37,253,193,242,37,253,193,244,37,253,193,246,37,253,193,248,37,253,193,250,37,253,193,252,37,253,193,254,37,253,193,2,38,253,193,4,38,253,193,178,38,253,193,180,38,253,193,182,38,253,193,184,38,253,193,186,38,253,193,62,39,253,193,64,39,253,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,193,94,36,253,193,96,36,253,193,98,36,253,193,100,36,253,193,102,36,253,193,104,36,253,193,106,36,253,193,108,36,253,193,110,36,253,193,112,36,253,193,114,36,253,193,116,36,253,193,118,36,253,193,120,36,253,193,122,36,253,193,124,36,253,193,126,36,253,193,128,36,253,193,130,36,253,193,132,36,253,193,134,36,253,193,136,36,253,193,138,36,253,193,140,36,253,193,142,36,253,193,144,36,253,193,146,36,253,193,148,36,253,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,193,88,36,253,193,90,36,253,193,92,36,253,193,68,37,253,193,70,37,253,193,6,38,253,193,188,38,253,193,190,38,253,193,192,38,253,193,174,39,253,193,204,40,253,193,236,40,253,193,238,40,253,193,34,41,253,193,36,41,253,193,38,41,253,193,40,41,253,193,42,41,253,193,44,41,253,193,114,41,253,193,116,41,253,193,118,41,253,193,120,41,253,193,122,41,253,193,124,41,253,193,126,41,253,193,128,41,253,193,130,41,253,193,132,41,253,193,134,41,253,193,136,41,253,193,138,41,253,193,150,36,253,193,152,36,253,193,154,36,253,193,72,37,253,193,74,37,253,193,76,37,253,193,78,37,253,193,80,37,253,193,82,37,253,193,84,37,253,193,86,37,253,193,88,37,253,193,90,37,253,193,92,37,253,193,94,37,253,193,96,37,253,193,98,37,253,193,100,37,253,193,102,37,253,193,104,37,253,193,106,37,253,193,108,37,253,193,110,37,253,193,112,37,253,193,114,37,253,193,116,37,253,193,118,37,253,193,120,37,253,193,122,37,253,193,124,37,253,193,126,37,253,193,8,38,253,193,160,36,253,193,162,36,253,193,164,36,253,193,128,37,253,193,130,37,253,193,132,37,253,193,134,37,253,193,136,37,253,193,138,37,253,193,140,37,253,193,142,37,253,193,68,38,253,193,70,38,253,193,72,38,253,193,74,38,253,193,76,38,253,193,78,38,253,193,80,38,253,193,240,38,253,193,242,38,253,193,244,38,253,193,246,38,253,193,248,38,253,193,250,38,253,193,252,38,253,193,94,39,253,193,96,39,253,193,98,39,253,193,100,39,253,193,102,39,253,193,104,39,253,193,192,39,253,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,64,90,0,206,64,90,0,206,64,90,0,206,64,90,0,206,64,90,0,193,240,37,253,193,170,38,253,193,172,38,253,193,174,38,253,193,176,38,253,193,58,39,253,193,60,39,253,193,158,39,253,193,160,39,253,193,162,39,253,193,164,39,253,193,166,39,253,193,168,39,253,193,4,40,253,193,6,40,253,193,8,40,253,193,66,40,253,193,114,40,253,193,186,40,253,193,188,40,253,193,232,40,253,193,234,40,253,193,24,41,253,193,26,41,253,193,28,41,253,193,30,41,253,193,32,41,253,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,193,82,38,253,193,84,38,253,193,10,38,253,193,12,38,253,193,14,38,253,193,16,38,253,193,18,38,253,193,20,38,253,193,22,38,253,193,24,38,253,193,26,38,253,193,28,38,253,193,30,38,253,193,32,38,253,193,34,38,253,193,194,38,253,193,36,38,253,193,38,38,253,193,40,38,253,193,42,38,253,193,44,38,253,193,46,38,253,193,48,38,253,193,50,38,253,193,52,38,253,193,54,38,253,193,56,38,253,193,58,38,253,193,60,38,253,193,62,38,253,193,64,38,253,193,196,38,253,193,198,38,253,193,200,38,253,193,86,38,253,193,88,38,253,193,90,38,253,193,92,38,253,193,94,38,253,193,96,38,253,193,98,38,253,193,100,38,253,193,102,38,253,193,104,38,253,193,106,38,253,193,108,38,253,193,110,38,253,193,112,38,253,193,114,38,253,193,116,38,253,193,118,38,253,193,120,38,253,193,122,38,253,193,124,38,253,193,126,38,253,193,128,38,253,193,130,38,253,193,132,38,253,193,134,38,253,193,136,38,253,193,138,38,253,193,140,38,253,193,142,38,253,193,144,38,253,193,146,38,253,193,148,38,253,193,150,38,253,193,152,38,253,193,154,38,253,193,156,38,253,193,158,38,253,193,160,38,253,193,162,38,253,193,254,38,253,193,2,39,253,193,4,39,253,193,6,39,253,193,8,39,253,193,10,39,253,193,12,39,253,193,14,39,253,193,16,39,253,193,18,39,253,193,20,39,253,193,22,39,253,193,24,39,253,193,26,39,253,193,28,39,253,193,30,39,253,193,32,39,253,193,34,39,253,193,36,39,253,193,38,39,253,193,40,39,253,193,42,39,253,193,44,39,253,193,46,39,253,193,48,39,253,193,202,38,253,193,204,38,253,193,206,38,253,193,208,38,253,193,210,38,253,193,212,38,253,193,214,38,253,193,216,38,253,193,218,38,253,193,220,38,253,193,222,38,253,193,224,38,253,193,226,38,253,193,228,38,253,193,230,38,253,193,232,38,253,193,234,38,253,193,236,38,253,193,238,38,253,193,72,39,253,193,74,39,253,193,76,39,253,193,78,39,253,193,80,39,253,193,82,39,253,193,84,39,253,193,86,39,253,193,88,39,253,193,90,39,253,193,92,39,253,193,176,39,253,193,178,39,253,193,50,39,253,193,52,39,253,193,106,39,253,193,108,39,253,193,110,39,253,193,112,39,253,193,114,39,253,193,116,39,253,193,118,39,253,193,120,39,253,193,122,39,253,193,124,39,253,193,126,39,253,193,128,39,253,193,130,39,253,193,132,39,253,193,134,39,253,193,198,39,253,193,136,39,253,193,138,39,253,193,140,39,253,193,142,39,253,193,144,39,253,193,146,39,253,193,148,39,253,193,150,39,253,193,152,39,253,193,154,39,253,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,193,66,39,253,193,68,39,253,193,70,39,253,193,170,39,253,193,172,39,253,193,10,40,253,193,12,40,253,193,68,40,253,193,138,40,253,193,34,42,253,193,92,43,253,193,144,43,253,193,196,43,253,193,220,43,253,193,232,43,253,193,254,43,253,193,18,44,253,193,68,44,253,193,132,44,253,193,170,44,253,193,172,44,253,193,228,44,253,193,18,45,253,193,40,45,253,193,70,45,253,193,80,45,253,193,128,45,253,193,182,45,253,193,214,45,253,193,216,45,253,193,218,45,253,193,8,46,253,193,180,39,253,193,182,39,253,193,184,39,253,193,186,39,253,193,188,39,253,193,190,39,253,193,14,40,253,193,16,40,253,193,18,40,253,193,20,40,253,193,22,40,253,193,24,40,253,193,26,40,253,193,28,40,253,193,30,40,253,193,32,40,253,193,34,40,253,193,70,40,253,193,72,40,253,193,74,40,253,193,76,40,253,193,78,40,253,193,80,40,253,193,116,40,253,193,118,40,253,193,120,40,253,193,140,40,253,193,142,40,253,193,156,40,253,193,158,40,253,193,160,40,253,193,182,40,253,193,194,39,253,193,196,39,253,193,36,40,253,193,16,41,253,193,190,41,253,193,94,42,253,193,234,42,253,193,236,42,253,193,34,43,253,193,146,43,253,193,164,43,253,193,172,43,253,193,198,43,253,193,200,43,253,193,226,43,253,193,236,43,253,193,30,44,253,193,44,44,253,193,80,44,253,193,92,44,253,193,110,44,253,193,120,44,253,193,142,44,253,193,156,44,253,193,158,44,253,193,160,44,253,193,182,44,253,193,208,44,253,193,210,44,253,193,212,44,253,193,214,44,253,193,216,44,253,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,193,84,40,253,193,86,40,253,193,88,40,253,193,90,40,253,193,92,40,253,193,94,40,253,193,96,40,253,193,98,40,253,193,100,40,253,193,102,40,253,193,104,40,253,193,106,40,253,193,122,40,253,193,124,40,253,193,126,40,253,193,128,40,253,193,130,40,253,193,132,40,253,193,134,40,253,193,136,40,253,193,144,40,253,193,146,40,253,193,148,40,253,193,150,40,253,193,152,40,253,193,162,40,253,193,164,40,253,193,192,40,253,193,194,40,253,193,196,40,253,193,198,40,253,193,200,40,253,193,202,40,253,193,206,40,253,193,208,40,253,193,210,40,253,193,212,40,253,193,214,40,253,193,216,40,253,193,218,40,253,193,220,40,253,193,222,40,253,193,224,40,253,193,226,40,253,193,228,40,253,193,240,40,253,193,242,40,253,193,244,40,253,193,246,40,253,193,248,40,253,193,250,40,253,193,252,40,253,193,254,40,253,193,2,41,253,193,4,41,253,193,6,41,253,193,8,41,253,193,10,41,253,193,12,41,253,193,14,41,253,193,46,41,253,193,48,41,253,193,50,41,253,193,52,41,253,193,54,41,253,193,56,41,253,193,58,41,253,193,60,41,253,193,62,41,253,193,64,41,253,193,66,41,253,193,68,41,253,193,70,41,253,193,72,41,253,193,74,41,253,193,76,41,253,193,78,41,253,193,80,41,253,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,193,92,41,253,193,94,41,253,193,192,41,253,193,194,41,253,193,196,41,253,193,198,41,253,193,200,41,253,193,8,42,253,193,10,42,253,193,12,42,253,193,14,42,253,193,96,42,253,193,98,42,253,193,100,42,253,193,102,42,253,193,186,42,253,193,188,42,253,193,190,42,253,193,192,42,253,193,194,42,253,193,196,42,253,193,238,42,253,193,240,42,253,193,242,42,253,193,244,42,253,193,36,43,253,193,38,43,253,193,70,43,253,193,72,43,253,193,110,43,253,193,124,43,253,193,140,43,253,193,98,41,253,193,100,41,253,193,102,41,253,193,104,41,253,193,106,41,253,193,108,41,253,193,110,41,253,193,112,41,253,193,202,41,253,193,204,41,253,193,206,41,253,193,208,41,253,193,210,41,253,193,212,41,253,193,214,41,253,193,216,41,253,193,218,41,253,193,220,41,253,193,222,41,253,193,224,41,253,193,16,42,253,193,18,42,253,193,20,42,253,193,22,42,253,193,24,42,253,193,26,42,253,193,28,42,253,193,30,42,253,193,32,42,253,193,108,42,253,193,110,42,253,193,112,42,253,193,140,41,253,193,142,41,253,193,226,41,253,193,228,41,253,193,230,41,253,193,232,41,253,193,234,41,253,193,36,42,253,193,38,42,253,193,40,42,253,193,42,42,253,193,44,42,253,193,46,42,253,193,48,42,253,193,50,42,253,193,52,42,253,193,128,42,253,193,130,42,253,193,132,42,253,193,134,42,253,193,136,42,253,193,138,42,253,193,140,42,253,193,142,42,253,193,144,42,253,193,10,43,253,193,12,43,253,193,14,43,253,193,16,43,253,193,18,43,253,193,20,43,253,193,22,43,253,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,193,236,41,253,193,238,41,253,193,240,41,253,193,242,41,253,193,244,41,253,193,246,41,253,193,248,41,253,193,250,41,253,193,252,41,253,193,254,41,253,193,2,42,253,193,4,42,253,193,6,42,253,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,193,146,42,253,193,148,42,253,193,150,42,253,193,152,42,253,193,154,42,253,193,156,42,253,193,158,42,253,193,160,42,253,193,162,42,253,193,164,42,253,193,166,42,253,193,168,42,253,193,170,42,253,193,172,42,253,193,174,42,253,193,176,42,253,193,178,42,253,193,180,42,253,193,182,42,253,193,184,42,253,193,216,42,253,193,104,42,253,193,106,42,253,193,246,42,253,193,222,66,253,193,204,76,253,193,116,77,253,193,160,77,253,193,206,78,253,193,62,83,253,193,64,83,253,193,224,85,253,193,132,88,253,193,64,90,253,193,208,90,253,193,212,94,253,193,104,98,253,193,38,102,253,193,12,108,253,193,104,114,253,193,138,114,253,193,230,114,253,193,232,114,253,193,108,115,253,193,110,115,253,193,4,116,253,193,6,116,253,193,8,116,253,193,10,116,253,193,124,116,253,193,250,116,253,193,94,117,253,193,96,117,253,193,114,42,253,193,116,42,253,193,118,42,253,193,120,42,253,193,122,42,253,193,124,42,253,193,126,42,253,193,198,42,253,193,200,42,253,193,202,42,253,193,204,42,253,193,206,42,253,193,208,42,253,193,210,42,253,193,212,42,253,193,214,42,253,193,248,42,253,193,250,42,253,193,252,42,253,193,254,42,253,193,2,43,253,193,4,43,253,193,6,43,253,193,8,43,253,193,40,43,253,193,42,43,253,193,44,43,253,193,46,43,253,193,48,43,253,193,74,43,253,193,76,43,253,193,78,43,253,193,218,42,253,193,220,42,253,193,222,42,253,193,224,42,253,193,226,42,253,193,228,42,253,193,230,42,253,193,232,42,253,193,24,43,253,193,26,43,253,193,28,43,253,193,30,43,253,193,32,43,253,193,58,43,253,193,60,43,253,193,62,43,253,193,64,43,253,193,66,43,253,193,68,43,253,193,104,43,253,193,106,43,253,193,108,43,253,193,150,43,253,193,160,43,253,193,170,43,253,193,180,43,253,193,182,43,253,193,184,43,253,193,212,43,253,193,224,43,253,193,234,43,253,193,24,44,253,193,50,43,253,193,52,43,253,193,54,43,253,193,56,43,253,193,94,43,253,193,96,43,253,193,98,43,253,193,100,43,253,193,102,43,253,193,118,43,253,193,120,43,253,193,122,43,253,193,134,43,253,193,136,43,253,193,138,43,253,193,154,43,253,193,168,43,253,193,208,43,253,193,210,43,253,193,222,43,253,193,2,44,253,193,20,44,253,193,22,44,253,193,94,44,253,193,118,44,253,193,134,44,253,193,136,44,253,193,152,44,253,193,174,44,253,193,206,44,253,193,254,44,253,193,20,45,253,193,80,43,253,193,82,43,253,193,84,43,253,193,86,43,253,193,88,43,253,193,90,43,253,193,112,43,253,193,114,43,253,193,116,43,253,193,126,43,253,193,128,43,253,193,130,43,253,193,132,43,253,193,142,43,253,193,148,43,253,193,152,43,253,193,156,43,253,193,158,43,253,193,206,43,253,193,252,43,253,193,16,44,253,193,40,44,253,193,116,44,253,193,150,44,253,193,38,45,253,193,60,45,253,193,88,45,253,193,126,45,253,193,178,45,253,193,180,45,253,193,46,46,253,193,48,46,253,193,166,43,253,193,194,43,253,193,250,43,253,193,204,44,253,193,16,45,253,193,122,45,253,193,176,45,253,193,42,46,253,193,44,46,253,193,134,46,253,193,54,47,253,193,182,47,253,193,48,48,253,193,84,48,253,193,210,48,253,193,244,48,253,193,246,48,253,193,248,48,253,193,74,49,253,193,76,49,253,193,222,49,253,193,224,49,253,193,100,50,253,193,196,50,253,193,198,50,253,193,200,50,253,193,76,51,253,193,78,51,253,193,198,51,253,193,200,51,253,193,202,51,253,193,24,52,253,193,4,44,253,193,6,44,253,193,8,44,253,193,10,44,253,193,12,44,253,193,14,44,253,193,32,44,253,193,34,44,253,193,36,44,253,193,38,44,253,193,46,44,253,193,52,44,253,193,54,44,253,193,56,44,253,193,58,44,253,193,60,44,253,193,62,44,253,193,64,44,253,193,66,44,253,193,70,44,253,193,72,44,253,193,74,44,253,193,76,44,253,193,84,44,253,193,86,44,253,193,88,44,253,193,96,44,253,193,102,44,253,193,104,44,253,193,106,44,253,193,112,44,253,193,114,44,253,193,26,44,253,193,28,44,253,193,42,44,253,193,48,44,253,193,78,44,253,193,82,44,253,193,90,44,253,193,98,44,253,193,100,44,253,193,108,44,253,193,138,44,253,193,140,44,253,193,176,44,253,193,178,44,253,193,180,44,253,193,230,44,253,193,2,45,253,193,46,45,253,193,94,45,253,193,102,45,253,193,108,45,253,193,112,45,253,193,118,45,253,193,134,45,253,193,146,45,253,193,148,45,253,193,150,45,253,193,152,45,253,193,154,45,253,193,156,45,253,193,184,45,253,193,186,45,253,193,232,44,253,193,234,44,253,193,236,44,253,193,64,45,253,193,96,45,253,193,136,45,253,193,158,45,253,193,160,45,253,193,192,45,253,193,232,45,253,193,52,46,253,193,54,46,253,193,56,46,253,193,110,46,253,193,112,46,253,193,188,46,253,193,208,46,253,193,210,46,253,193,238,46,253,193,250,46,253,193,18,47,253,193,20,47,253,193,60,47,253,193,62,47,253,193,64,47,253,193,66,47,253,193,100,47,253,193,102,47,253,193,192,47,253,193,230,47,253,193,232,47,253,193,18,48,253,193,246,44,253,193,248,44,253,193,250,44,253,193,6,45,253,193,8,45,253,193,10,45,253,193,12,45,253,193,14,45,253,193,252,44,253,193,22,45,253,193,24,45,253,193,26,45,253,193,28,45,253,193,30,45,253,193,32,45,253,193,34,45,253,193,36,45,253,193,48,45,253,193,50,45,253,193,52,45,253,193,54,45,253,193,56,45,253,193,58,45,253,193,66,45,253,193,68,45,253,193,72,45,253,193,74,45,253,193,76,45,253,193,78,45,253,193,82,45,253,193,84,45,253,193,86,45,253,193,42,45,253,193,44,45,253,193,62,45,253,193,90,45,253,193,130,45,253,193,132,45,253,193,220,45,253,193,96,46,253,193,98,46,253,193,100,46,253,193,142,46,253,193,144,46,253,193,146,46,253,193,148,46,253,193,182,46,253,193,236,46,253,193,32,47,253,193,216,48,253,193,4,49,253,193,100,49,253,193,102,49,253,193,104,49,253,193,106,49,253,193,108,49,253,193,110,49,253,193,112,49,253,193,114,49,253,193,116,49,253,193,244,49,253,193,246,49,253,193,248,49,253,193,250,49,253,193,92,45,253,193,98,45,253,193,100,45,253,193,104,45,253,193,106,45,253,193,110,45,253,193,120,45,253,193,114,45,253,193,116,45,253,193,124,45,253,193,138,45,253,193,140,45,253,193,142,45,253,193,144,45,253,193,162,45,253,193,164,45,253,193,166,45,253,193,168,45,253,193,170,45,253,193,172,45,253,193,174,45,253,193,194,45,253,193,196,45,253,193,198,45,253,193,200,45,253,193,202,45,253,193,204,45,253,193,206,45,253,193,208,45,253,193,210,45,253,193,212,45,253,193,234,45,253,193,188,45,253,193,190,45,253,193,222,45,253,193,224,45,253,193,226,45,253,193,228,45,253,193,230,45,253,193,12,46,253,193,14,46,253,193,16,46,253,193,18,46,253,193,102,46,253,193,104,46,253,193,106,46,253,193,108,46,253,193,150,46,253,193,152,46,253,193,154,46,253,193,156,46,253,193,158,46,253,193,184,46,253,193,186,46,253,193,222,46,253,193,206,46,253,193,36,47,253,193,44,47,253,193,46,47,253,193,48,47,253,193,56,47,253,193,58,47,253,193,88,47,253,193,90,47,253,193,236,45,253,193,238,45,253,193,240,45,253,193,242,45,253,193,244,45,253,193,246,45,253,193,248,45,253,193,250,45,253,193,252,45,253,193,254,45,253,193,2,46,253,193,4,46,253,193,6,46,253,193,20,46,253,193,22,46,253,193,24,46,253,193,26,46,253,193,28,46,253,193,30,46,253,193,32,46,253,193,34,46,253,193,36,46,253,193,38,46,253,193,40,46,253,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,193,10,46,253,193,136,46,253,193,138,46,253,193,140,46,253,193,204,46,253,193,42,47,253,193,84,47,253,193,86,47,253,193,140,47,253,193,142,47,253,193,224,47,253,193,50,48,253,193,152,48,253,193,214,48,253,193,250,48,253,193,252,48,253,193,254,48,253,193,2,49,253,193,86,49,253,193,88,49,253,193,90,49,253,193,92,49,253,193,94,49,253,193,96,49,253,193,98,49,253,193,228,49,253,193,230,49,253,193,232,49,253,193,234,49,253,193,236,49,253,193,238,49,253,193,240,49,253,193,50,46,253,193,90,46,253,193,92,46,253,193,94,46,253,193,178,46,253,193,180,46,253,193,234,46,253,193,248,46,253,193,184,47,253,193,8,48,253,193,116,48,253,193,118,48,253,193,150,48,253,193,176,48,253,193,212,48,253,193,78,49,253,193,80,49,253,193,82,49,253,193,84,49,253,193,226,49,253,193,102,50,253,193,104,50,253,193,202,50,253,193,204,50,253,193,206,50,253,193,208,50,253,193,210,50,253,193,80,51,253,193,82,51,253,193,84,51,253,193,86,51,253,193,88,51,253,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,193,114,46,253,193,116,46,253,193,118,46,253,193,120,46,253,193,122,46,253,193,124,46,253,193,126,46,253,193,128,46,253,193,130,46,253,193,132,46,253,193,160,46,253,193,162,46,253,193,164,46,253,193,166,46,253,193,168,46,253,193,170,46,253,193,172,46,253,193,174,46,253,193,176,46,253,193,190,46,253,193,192,46,253,193,194,46,253,193,196,46,253,193,198,46,253,193,200,46,253,193,202,46,253,193,212,46,253,193,214,46,253,193,216,46,253,193,218,46,253,193,220,46,253,193,224,46,253,193,226,46,253,193,228,46,253,193,230,46,253,193,232,46,253,193,240,46,253,193,242,46,253,193,244,46,253,193,246,46,253,193,252,46,253,193,254,46,253,193,2,47,253,193,4,47,253,193,8,47,253,193,10,47,253,193,12,47,253,193,6,47,253,193,14,47,253,193,16,47,253,193,22,47,253,193,24,47,253,193,26,47,253,193,28,47,253,193,30,47,253,193,34,47,253,193,38,47,253,193,40,47,253,193,50,47,253,193,52,47,253,193,68,47,253,193,70,47,253,193,72,47,253,193,74,47,253,193,76,47,253,193,78,47,253,193,80,47,253,193,82,47,253,193,104,47,253,193,106,47,253,193,108,47,253,193,110,47,253,193,112,47,253,193,114,47,253,193,116,47,253,193,118,47,253,193,120,47,253,193,122,47,253,193,124,47,253,193,126,47,253,193,128,47,253,193,130,47,253,193,132,47,253,193,134,47,253,193,136,47,253,193,138,47,253,193,158,47,253,193,160,47,253,193,92,47,253,193,94,47,253,193,96,47,253,193,98,47,253,193,144,47,253,193,146,47,253,193,148,47,253,193,150,47,253,193,152,47,253,193,154,47,253,193,156,47,253,193,186,47,253,193,188,47,253,193,190,47,253,193,226,47,253,193,228,47,253,193,10,48,253,193,12,48,253,193,14,48,253,193,16,48,253,193,52,48,253,193,54,48,253,193,56,48,253,193,86,48,253,193,88,48,253,193,90,48,253,193,120,48,253,193,184,48,253,193,186,48,253,193,190,48,253,193,192,48,253,193,194,48,253,193,162,47,253,193,164,47,253,193,166,47,253,193,168,47,253,193,170,47,253,193,172,47,253,193,174,47,253,193,176,47,253,193,178,47,253,193,180,47,253,193,194,47,253,193,196,47,253,193,198,47,253,193,200,47,253,193,202,47,253,193,204,47,253,193,206,47,253,193,208,47,253,193,210,47,253,193,212,47,253,193,214,47,253,193,216,47,253,193,218,47,253,193,220,47,253,193,222,47,253,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,193,20,48,253,193,22,48,253,193,24,48,253,193,26,48,253,193,28,48,253,193,30,48,253,193,32,48,253,193,34,48,253,193,36,48,253,193,38,48,253,193,40,48,253,193,6,48,253,193,42,48,253,193,44,48,253,193,46,48,253,193,60,48,253,193,62,48,253,193,64,48,253,193,66,48,253,193,68,48,253,193,70,48,253,193,72,48,253,193,74,48,253,193,76,48,253,193,78,48,253,193,80,48,253,193,58,48,253,193,92,48,253,193,94,48,253,193,122,48,253,193,124,48,253,193,126,48,253,193,128,48,253,193,26,49,253,193,28,49,253,193,156,49,253,193,158,49,253,193,160,49,253,193,162,49,253,193,164,49,253,193,166,49,253,193,168,49,253,193,24,50,253,193,26,50,253,193,28,50,253,193,146,50,253,193,148,50,253,193,150,50,253,193,12,51,253,193,14,51,253,193,16,51,253,193,18,51,253,193,20,51,253,193,22,51,253,193,24,51,253,193,26,51,253,193,28,51,253,193,30,51,253,193,82,48,253,193,96,48,253,193,98,48,253,193,100,48,253,193,102,48,253,193,104,48,253,193,130,48,253,193,106,48,253,193,108,48,253,193,110,48,253,193,112,48,253,193,114,48,253,193,132,48,253,193,134,48,253,193,136,48,253,193,138,48,253,193,154,48,253,193,140,48,253,193,142,48,253,193,144,48,253,193,146,48,253,193,148,48,253,193,156,48,253,193,158,48,253,193,160,48,253,193,162,48,253,193,164,48,253,193,166,48,253,193,168,48,253,193,170,48,253,193,172,48,253,193,174,48,253,193,178,48,253,193,180,48,253,193,182,48,253,193,188,48,253,193,198,48,253,193,200,48,253,193,202,48,253,193,204,48,253,193,206,48,253,193,208,48,253,193,226,48,253,193,228,48,253,193,230,48,253,193,232,48,253,193,234,48,253,193,236,48,253,193,238,48,253,193,240,48,253,193,242,48,253,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,193,196,48,253,193,218,48,253,193,220,48,253,193,222,48,253,193,224,48,253,193,6,49,253,193,8,49,253,193,10,49,253,193,12,49,253,193,14,49,253,193,16,49,253,193,18,49,253,193,20,49,253,193,22,49,253,193,24,49,253,193,118,49,253,193,120,49,253,193,122,49,253,193,124,49,253,193,126,49,253,193,128,49,253,193,130,49,253,193,132,49,253,193,134,49,253,193,136,49,253,193,138,49,253,193,140,49,253,193,142,49,253,193,144,49,253,193,146,49,253,193,148,49,253,193,150,49,253,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,193,170,49,253,193,172,49,253,193,174,49,253,193,176,49,253,193,178,49,253,193,180,49,253,193,182,49,253,193,184,49,253,193,186,49,253,193,188,49,253,193,190,49,253,193,192,49,253,193,194,49,253,193,196,49,253,193,198,49,253,193,200,49,253,193,202,49,253,193,204,49,253,193,206,49,253,193,208,49,253,193,210,49,253,193,212,49,253,193,214,49,253,193,152,49,253,193,154,49,253,193,252,49,253,193,254,49,253,193,2,50,253,193,4,50,253,193,6,50,253,193,8,50,253,193,10,50,253,193,12,50,253,193,14,50,253,193,16,50,253,193,18,50,253,193,20,50,253,193,22,50,253,193,124,50,253,193,126,50,253,193,128,50,253,193,130,50,253,193,132,50,253,193,134,50,253,193,136,50,253,193,138,50,253,193,140,50,253,193,142,50,253,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,193,216,49,253,193,218,49,253,193,220,49,253,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,193,242,49,253,193,106,50,253,193,108,50,253,193,110,50,253,193,112,50,253,193,212,50,253,193,214,50,253,193,216,50,253,193,218,50,253,193,220,50,253,193,222,50,253,193,90,51,253,193,92,51,253,193,94,51,253,193,96,51,253,193,98,51,253,193,100,51,253,193,102,51,253,193,104,51,253,193,106,51,253,193,108,51,253,193,210,51,253,193,212,51,253,193,214,51,253,193,216,51,253,193,218,51,253,193,34,52,253,193,36,52,253,193,38,52,253,193,40,52,253,193,130,52,253,193,132,52,253,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,193,152,50,253,193,154,50,253,193,156,50,253,193,158,50,253,193,160,50,253,193,162,50,253,193,164,50,253,193,166,50,253,193,168,50,253,193,170,50,253,193,172,50,253,193,174,50,253,193,176,50,253,193,178,50,253,193,180,50,253,193,182,50,253,193,184,50,253,193,186,50,253,193,188,50,253,193,190,50,253,193,192,50,253,193,194,50,253,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,193,114,50,253,193,116,50,253,193,118,50,253,193,120,50,253,193,122,50,253,193,224,50,253,193,110,51,253,193,112,51,253,193,114,51,253,193,220,51,253,193,42,52,253,193,44,52,253,193,46,52,253,193,136,52,253,193,138,52,253,193,140,52,253,193,142,52,253,193,228,52,253,193,230,52,253,193,232,52,253,193,234,52,253,193,236,52,253,193,238,52,253,193,240,52,253,193,80,53,253,193,82,53,253,193,84,53,253,193,134,53,253,193,184,53,253,193,186,53,253,193,214,53,253,193,216,53,253,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,193,116,51,253,193,118,51,253,193,120,51,253,193,122,51,253,193,124,51,253,193,126,51,253,193,128,51,253,193,130,51,253,193,132,51,253,193,222,51,253,193,224,51,253,193,226,51,253,193,228,51,253,193,230,51,253,193,232,51,253,193,234,51,253,193,236,51,253,193,48,52,253,193,50,52,253,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,193,134,51,253,193,136,51,253,193,138,51,253,193,140,51,253,193,142,51,253,193,238,51,253,193,240,51,253,193,62,52,253,193,158,52,253,193,248,52,253,193,94,53,253,193,140,53,253,193,58,54,253,193,98,54,253,193,100,54,253,193,122,54,253,193,124,54,253,193,198,54,253,193,226,54,253,193,242,54,253,193,244,54,253,193,60,55,253,193,124,55,253,193,126,55,253,193,128,55,253,193,180,55,253,193,182,55,253,193,184,55,253,193,186,55,253,193,22,56,253,193,24,56,253,193,26,56,253,193,204,51,253,193,206,51,253,193,208,51,253,193,28,52,253,193,30,52,253,193,32,52,253,193,126,52,253,193,128,52,253,193,214,52,253,193,28,53,253,193,66,53,253,193,68,53,253,193,70,53,253,193,72,53,253,193,126,53,253,193,128,53,253,193,130,53,253,193,164,53,253,193,200,53,253,193,248,53,253,193,28,54,253,193,30,54,253,193,32,54,253,193,60,54,253,193,74,54,253,193,110,54,253,193,128,54,253,193,130,54,253,193,132,54,253,193,134,54,253,193,148,54,253,193,180,54,253,193,26,52,253,193,124,52,253,193,212,52,253,193,122,53,253,193,124,53,253,193,162,53,253,193,24,54,253,193,26,54,253,193,72,54,253,193,108,54,253,193,126,54,253,193,168,54,253,193,178,54,253,193,218,54,253,193,234,54,253,193,10,55,253,193,48,55,253,193,238,55,253,193,90,56,253,193,198,56,253,193,200,56,253,193,54,57,253,193,56,57,253,193,58,57,253,193,152,57,253,193,154,57,253,193,156,57,253,193,248,57,253,193,250,57,253,193,62,58,253,193,144,58,253,193,146,58,253,193,68,52,253,193,70,52,253,193,72,52,253,193,74,52,253,193,76,52,253,193,78,52,253,193,80,52,253,193,82,52,253,193,84,52,253,193,86,52,253,193,88,52,253,193,90,52,253,193,92,52,253,193,94,52,253,193,96,52,253,193,98,52,253,193,100,52,253,193,102,52,253,193,104,52,253,193,106,52,253,193,108,52,253,193,110,52,253,193,112,52,253,193,114,52,253,193,116,52,253,193,118,52,253,193,120,52,253,193,122,52,253,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,193,134,52,253,193,216,52,253,193,218,52,253,193,220,52,253,193,222,52,253,193,224,52,253,193,226,52,253,193,30,53,253,193,32,53,253,193,74,53,253,193,76,53,253,193,78,53,253,193,132,53,253,193,166,53,253,193,194,53,253,193,196,53,253,193,198,53,253,193,32,55,253,193,92,55,253,193,160,55,253,193,246,55,253,193,248,55,253,193,98,56,253,193,100,56,253,193,206,56,253,193,208,56,253,193,68,57,253,193,70,57,253,193,6,58,253,193,74,58,253,193,76,58,253,193,214,58,253,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,193,44,53,253,193,46,53,253,193,48,53,253,193,50,53,253,193,52,53,253,193,54,53,253,193,56,53,253,193,58,53,253,193,60,53,253,193,62,53,253,193,64,53,253,193,96,53,253,193,98,53,253,193,100,53,253,193,102,53,253,193,104,53,253,193,106,53,253,193,108,53,253,193,110,53,253,193,112,53,253,193,114,53,253,193,116,53,253,193,118,53,253,193,142,53,253,193,144,53,253,193,120,53,253,193,146,53,253,193,148,53,253,193,150,53,253,193,152,53,253,193,154,53,253,193,156,53,253,193,158,53,253,193,160,53,253,193,170,53,253,193,172,53,253,193,174,53,253,193,176,53,253,193,180,53,253,193,182,53,253,193,188,53,253,193,190,53,253,193,192,53,253,193,246,53,253,193,22,54,253,193,70,54,253,193,102,54,253,193,104,54,253,193,106,54,253,193,158,54,253,193,192,54,253,193,194,54,253,193,196,54,253,193,206,54,253,193,208,54,253,193,212,54,253,193,214,54,253,193,216,54,253,193,208,53,253,193,210,53,253,193,212,53,253,193,220,53,253,193,222,53,253,193,224,53,253,193,226,53,253,193,228,53,253,193,230,53,253,193,232,53,253,193,234,53,253,193,236,53,253,193,238,53,253,193,240,53,253,193,242,53,253,193,244,53,253,193,252,53,253,193,254,53,253,193,2,54,253,193,4,54,253,193,6,54,253,193,8,54,253,193,10,54,253,193,12,54,253,193,14,54,253,193,16,54,253,193,18,54,253,193,20,54,253,206,32,92,0,206,32,92,0,206,32,92,0,206,32,92,0,193,218,53,253,193,250,53,253,193,34,54,253,193,112,54,253,193,114,54,253,193,116,54,253,193,136,54,253,193,138,54,253,193,150,54,253,193,152,54,253,193,154,54,253,193,170,54,253,193,176,54,253,193,182,54,253,193,184,54,253,193,238,54,253,193,82,55,253,193,162,55,253,193,250,55,253,193,102,56,253,193,104,56,253,193,210,56,253,193,212,56,253,193,214,56,253,193,162,57,253,193,164,57,253,193,8,58,253,193,78,58,253,193,80,58,253,193,82,58,253,193,152,58,253,193,216,58,253,206,32,92,0,206,32,92,0,206,32,92,0,206,32,92,0,206,32,92,0,206,32,92,0,206,32,92,0,193,62,54,253,193,64,54,253,193,66,54,253,193,68,54,253,193,76,54,253,193,78,54,253,193,80,54,253,193,82,54,253,193,84,54,253,193,86,54,253,193,88,54,253,193,90,54,253,193,92,54,253,193,94,54,253,193,96,54,253,193,118,54,253,193,120,54,253,193,140,54,253,193,142,54,253,193,144,54,253,193,146,54,253,193,156,54,253,193,160,54,253,193,162,54,253,193,164,54,253,193,166,54,253,193,172,54,253,193,174,54,253,193,186,54,253,193,190,54,253,193,200,54,253,193,202,54,253,193,204,54,253,193,220,54,253,193,222,54,253,193,224,54,253,193,240,54,253,193,12,55,253,193,14,55,253,193,16,55,253,193,34,55,253,193,84,55,253,193,86,55,253,193,94,55,253,193,96,55,253,193,98,55,253,193,100,55,253,193,118,55,253,193,120,55,253,193,122,55,253,193,164,55,253,193,166,55,253,193,168,55,253,193,170,55,253,193,172,55,253,193,174,55,253,193,176,55,253,193,188,54,253,193,210,54,253,193,236,54,253,193,30,55,253,193,72,55,253,193,158,55,253,193,240,55,253,193,242,55,253,193,244,55,253,193,92,56,253,193,94,56,253,193,96,56,253,193,202,56,253,193,204,56,253,193,60,57,253,193,62,57,253,193,64,57,253,193,66,57,253,193,158,57,253,193,160,57,253,193,252,57,253,193,254,57,253,193,2,58,253,193,4,58,253,193,64,58,253,193,66,58,253,193,68,58,253,193,70,58,253,193,72,58,253,193,148,58,253,193,150,58,253,193,212,58,253,193,228,54,253,193,230,54,253,193,232,54,253,193,246,54,253,193,248,54,253,193,250,54,253,193,252,54,253,193,254,54,253,193,2,55,253,193,4,55,253,193,6,55,253,193,8,55,253,193,18,55,253,193,20,55,253,193,22,55,253,193,24,55,253,193,26,55,253,193,28,55,253,193,36,55,253,193,38,55,253,193,40,55,253,193,42,55,253,193,44,55,253,193,46,55,253,193,50,55,253,193,52,55,253,193,54,55,253,193,56,55,253,193,58,55,253,193,62,55,253,193,64,55,253,193,66,55,253,193,68,55,253,193,70,55,253,193,74,55,253,193,76,55,253,193,78,55,253,193,80,55,253,193,88,55,253,193,90,55,253,193,104,55,253,193,106,55,253,193,108,55,253,193,110,55,253,193,112,55,253,193,114,55,253,193,116,55,253,193,130,55,253,193,132,55,253,193,134,55,253,193,136,55,253,193,138,55,253,193,140,55,253,193,142,55,253,193,144,55,253,193,146,55,253,193,148,55,253,193,150,55,253,193,152,55,253,193,154,55,253,193,156,55,253,193,188,55,253,193,190,55,253,193,192,55,253,193,194,55,253,193,196,55,253,193,198,55,253,193,200,55,253,193,202,55,253,193,204,55,253,193,206,55,253,193,208,55,253,193,210,55,253,193,212,55,253,193,214,55,253,193,216,55,253,193,218,55,253,193,220,55,253,193,222,55,253,193,224,55,253,193,226,55,253,193,228,55,253,193,230,55,253,193,232,55,253,193,234,55,253,193,236,55,253,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,193,252,55,253,193,254,55,253,193,2,56,253,193,4,56,253,193,6,56,253,193,8,56,253,193,10,56,253,193,12,56,253,193,14,56,253,193,16,56,253,193,18,56,253,193,20,56,253,193,106,56,253,193,108,56,253,193,110,56,253,193,112,56,253,193,114,56,253,193,116,56,253,193,118,56,253,193,120,56,253,193,122,56,253,193,216,56,253,193,218,56,253,193,220,56,253,193,222,56,253,193,224,56,253,193,226,56,253,206,160,92,0,206,160,92,0,206,160,92,0,206,160,92,0,206,160,92,0,193,28,56,253,193,30,56,253,193,32,56,253,193,34,56,253,193,36,56,253,193,124,56,253,193,126,56,253,193,128,56,253,193,130,56,253,193,132,56,253,193,134,56,253,193,228,56,253,193,230,56,253,193,232,56,253,193,234,56,253,193,236,56,253,193,238,56,253,193,240,56,253,193,242,56,253,193,92,57,253,193,94,57,253,193,96,57,253,193,98,57,253,193,100,57,253,193,102,57,253,193,172,57,253,193,174,57,253,193,176,57,253,193,178,57,253,193,12,58,253,193,14,58,253,193,16,58,253,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,193,104,57,253,193,106,57,253,193,108,57,253,193,110,57,253,193,112,57,253,193,114,57,253,193,116,57,253,193,118,57,253,193,120,57,253,193,122,57,253,193,124,57,253,193,126,57,253,193,128,57,253,193,130,57,253,193,132,57,253,193,52,57,253,193,134,57,253,193,180,57,253,206,160,92,0,206,160,92,0,206,160,92,0,206,160,92,0,206,160,92,0,193,166,57,253,193,168,57,253,193,170,57,253,193,10,58,253,193,154,58,253,193,156,58,253,193,158,58,253,193,160,58,253,193,162,58,253,193,218,58,253,193,254,58,253,193,2,59,253,193,44,59,253,193,78,59,253,193,84,59,253,193,94,59,253,193,120,59,253,193,122,59,253,193,124,59,253,193,126,59,253,193,190,59,253,193,192,59,253,193,194,59,253,193,2,61,253,193,196,59,253,193,198,59,253,193,200,59,253,193,136,57,253,193,138,57,253,193,140,57,253,193,142,57,253,193,144,57,253,193,146,57,253,193,148,57,253,193,150,57,253,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,193,20,58,253,193,22,58,253,193,24,58,253,193,26,58,253,193,28,58,253,193,30,58,253,193,32,58,253,193,34,58,253,193,36,58,253,193,38,58,253,193,40,58,253,193,42,58,253,193,44,58,253,193,46,58,253,193,48,58,253,193,50,58,253,193,52,58,253,193,54,58,253,193,56,58,253,193,58,58,253,193,60,58,253,193,96,58,253,193,98,58,253,193,18,58,253,193,84,58,253,193,86,58,253,193,88,58,253,193,90,58,253,193,92,58,253,193,94,58,253,193,164,58,253,193,220,58,253,193,222,58,253,193,224,58,253,193,226,58,253,193,4,59,253,193,22,59,253,193,24,59,253,193,26,59,253,193,46,59,253,193,60,59,253,193,66,59,253,193,96,59,253,193,98,59,253,193,128,59,253,193,130,59,253,193,212,59,253,193,214,59,253,193,216,59,253,193,218,59,253,193,220,59,253,193,222,59,253,193,224,59,253,193,226,59,253,193,126,60,253,193,100,58,253,193,102,58,253,193,104,58,253,193,106,58,253,193,108,58,253,193,110,58,253,193,112,58,253,193,114,58,253,193,116,58,253,193,118,58,253,193,120,58,253,193,122,58,253,193,124,58,253,193,126,58,253,193,128,58,253,193,130,58,253,193,132,58,253,193,134,58,253,193,136,58,253,193,138,58,253,193,140,58,253,193,142,58,253,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,193,228,58,253,193,230,58,253,193,232,58,253,193,234,58,253,193,236,58,253,193,238,58,253,193,240,58,253,193,242,58,253,193,244,58,253,193,246,58,253,193,248,58,253,193,250,58,253,193,6,59,253,193,8,59,253,193,10,59,253,193,12,59,253,193,14,59,253,193,16,59,253,193,18,59,253,193,252,58,253,193,118,59,253,193,184,59,253,193,186,59,253,193,188,59,253,193,66,60,253,193,68,60,253,193,70,60,253,193,184,61,253,193,186,61,253,193,188,61,253,193,190,61,253,193,192,61,253,193,194,61,253,193,196,61,253,193,198,61,253,193,136,62,253,193,138,62,253,193,140,62,253,193,142,62,253,193,122,63,253,193,124,63,253,193,126,63,253,193,128,63,253,193,130,63,253,193,132,63,253,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,193,20,59,253,193,28,59,253,193,30,59,253,193,32,59,253,193,34,59,253,193,36,59,253,193,38,59,253,193,40,59,253,193,48,59,253,193,50,59,253,193,52,59,253,193,54,59,253,193,56,59,253,193,58,59,253,193,62,59,253,193,64,59,253,193,68,59,253,193,70,59,253,193,72,59,253,193,74,59,253,193,76,59,253,193,80,59,253,193,82,59,253,193,86,59,253,193,88,59,253,193,90,59,253,193,100,59,253,193,102,59,253,193,104,59,253,193,106,59,253,193,108,59,253,193,110,59,253,193,42,59,253,193,92,59,253,193,116,59,253,193,172,59,253,193,174,59,253,193,176,59,253,193,178,59,253,193,180,59,253,193,182,59,253,193,54,60,253,193,56,60,253,193,58,60,253,193,60,60,253,193,62,60,253,193,64,60,253,193,240,60,253,193,242,60,253,193,244,60,253,193,246,60,253,193,248,60,253,193,250,60,253,193,252,60,253,193,254,60,253,193,180,61,253,193,182,61,253,193,122,62,253,193,124,62,253,193,126,62,253,193,128,62,253,193,130,62,253,193,132,62,253,193,134,62,253,193,112,59,253,193,132,59,253,193,134,59,253,193,136,59,253,193,138,59,253,193,140,59,253,193,142,59,253,193,144,59,253,193,146,59,253,193,148,59,253,193,150,59,253,193,152,59,253,193,154,59,253,193,156,59,253,193,158,59,253,193,160,59,253,193,162,59,253,193,164,59,253,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,193,114,59,253,193,168,59,253,193,170,59,253,193,44,60,253,193,46,60,253,193,48,60,253,193,50,60,253,193,52,60,253,193,232,60,253,193,234,60,253,193,236,60,253,193,238,60,253,193,168,61,253,193,170,61,253,193,172,61,253,193,174,61,253,193,176,61,253,193,178,61,253,193,114,62,253,193,116,62,253,193,118,62,253,193,120,62,253,193,80,63,253,193,82,63,253,193,84,63,253,193,86,63,253,193,88,63,253,193,90,63,253,206,32,94,0,206,32,94,0,206,32,94,0,206,32,94,0,193,166,59,253,193,38,60,253,193,40,60,253,193,42,60,253,193,226,60,253,193,228,60,253,193,230,60,253,193,158,61,253,193,160,61,253,193,162,61,253,193,164,61,253,193,166,61,253,193,108,62,253,193,110,62,253,193,112,62,253,193,70,63,253,193,72,63,253,193,74,63,253,193,76,63,253,193,78,63,253,193,50,64,253,193,52,64,253,193,54,64,253,193,56,64,253,193,58,64,253,193,24,65,253,193,26,65,253,193,28,65,253,193,6,66,253,193,8,66,253,193,10,66,253,193,12,66,253,193,202,59,253,193,204,59,253,193,206,59,253,193,208,59,253,193,210,59,253,193,72,60,253,193,74,60,253,193,76,60,253,193,78,60,253,193,80,60,253,193,82,60,253,193,84,60,253,193,86,60,253,193,88,60,253,193,90,60,253,193,92,60,253,193,94,60,253,193,96,60,253,193,98,60,253,193,100,60,253,193,102,60,253,193,104,60,253,193,106,60,253,193,108,60,253,193,110,60,253,193,112,60,253,193,114,60,253,193,116,60,253,193,118,60,253,193,120,60,253,193,122,60,253,193,4,61,253,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,193,6,61,253,193,8,61,253,193,10,61,253,193,12,61,253,193,14,61,253,193,16,61,253,193,18,61,253,193,20,61,253,193,22,61,253,193,24,61,253,193,26,61,253,193,28,61,253,193,30,61,253,193,32,61,253,193,34,61,253,193,36,61,253,193,38,61,253,193,40,61,253,193,42,61,253,193,44,61,253,193,46,61,253,193,124,60,253,193,48,61,253,193,50,61,253,193,52,61,253,193,54,61,253,193,56,61,253,193,58,61,253,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,193,128,60,253,193,130,60,253,193,132,60,253,193,134,60,253,193,136,60,253,193,138,60,253,193,140,60,253,193,142,60,253,193,144,60,253,193,146,60,253,193,148,60,253,193,150,60,253,193,152,60,253,193,154,60,253,193,60,61,253,193,62,61,253,193,64,61,253,193,66,61,253,193,68,61,253,193,70,61,253,193,238,61,253,193,240,61,253,193,242,61,253,193,244,61,253,193,246,61,253,193,248,61,253,193,250,61,253,193,252,61,253,193,210,62,253,193,254,61,253,193,212,62,253,193,214,62,253,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,193,134,63,253,193,200,62,253,193,202,62,253,193,204,62,253,193,206,62,253,193,136,63,253,193,138,63,253,193,140,63,253,193,142,63,253,193,144,63,253,193,146,63,253,193,148,63,253,193,150,63,253,193,152,63,253,193,154,63,253,193,208,62,253,206,224,93,0,206,224,93,0,206,224,93,0,206,224,93,0,206,224,93,0,193,216,62,253,193,218,62,253,193,220,62,253,193,222,62,253,193,224,62,253,193,226,62,253,193,228,62,253,193,230,62,253,193,232,62,253,193,234,62,253,193,236,62,253,193,238,62,253,193,240,62,253,193,178,63,253,193,180,63,253,193,182,63,253,193,184,63,253,193,186,63,253,193,188,63,253,193,190,63,253,193,192,63,253,193,194,63,253,193,196,63,253,193,166,64,253,193,168,64,253,193,170,64,253,193,172,64,253,193,174,64,253,193,176,64,253,193,178,64,253,193,108,65,253,193,110,65,253,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,193,198,63,253,193,200,63,253,193,68,63,253,193,92,63,253,193,94,63,253,193,96,63,253,193,98,63,253,193,100,63,253,193,102,63,253,193,104,63,253,193,106,63,253,193,108,63,253,193,110,63,253,193,112,63,253,193,114,63,253,193,116,63,253,193,118,63,253,193,120,63,253,193,76,64,253,193,78,64,253,193,80,64,253,193,82,64,253,193,84,64,253,193,86,64,253,193,88,64,253,193,90,64,253,193,92,64,253,193,94,64,253,193,96,64,253,193,98,64,253,193,100,64,253,193,102,64,253,193,104,64,253,193,106,64,253,193,108,64,253,206,224,93,0,206,224,93,0,206,224,93,0,206,224,93,0,206,224,93,0,206,224,93,0,193,138,64,253,193,140,64,253,193,142,64,253,193,144,64,253,193,146,64,253,193,148,64,253,193,150,64,253,193,152,64,253,193,154,64,253,193,156,64,253,193,158,64,253,193,160,64,253,193,162,64,253,193,164,64,253,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,193,180,64,253,193,182,64,253,193,184,64,253,193,186,64,253,193,188,64,253,193,190,64,253,193,192,64,253,193,194,64,253,193,196,64,253,193,198,64,253,193,200,64,253,193,202,64,253,193,204,64,253,206,32,94,0,206,32,94,0,206,32,94,0,206,32,94,0,193,30,65,253,193,32,65,253,193,34,65,253,193,36,65,253,193,38,65,253,193,40,65,253,193,14,66,253,193,16,66,253,193,18,66,253,193,20,66,253,193,22,66,253,193,24,66,253,193,26,66,253,193,224,66,253,193,226,66,253,193,228,66,253,193,230,66,253,193,110,67,253,193,112,67,253,193,114,67,253,193,194,67,253,193,16,68,253,193,78,68,253,193,80,68,253,193,122,68,253,193,196,68,253,193,212,68,253,193,220,68,253,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,193,60,65,253,193,62,65,253,193,50,66,253,193,242,66,253,193,244,66,253,193,246,66,253,193,248,66,253,193,250,66,253,193,122,67,253,193,124,67,253,193,126,67,253,193,206,67,253,193,208,67,253,193,210,67,253,193,28,68,253,193,30,68,253,193,166,68,253,193,198,68,253,193,46,69,253,193,94,69,253,193,96,69,253,193,98,69,253,193,4,70,253,193,6,70,253,193,206,64,253,193,208,64,253,193,210,64,253,193,212,64,253,193,214,64,253,193,216,64,253,193,218,64,253,193,220,64,253,193,222,64,253,193,224,64,253,193,226,64,253,193,228,64,253,193,230,64,253,193,232,64,253,193,234,64,253,193,236,64,253,193,238,64,253,193,240,64,253,193,242,64,253,193,244,64,253,193,246,64,253,193,248,64,253,193,250,64,253,193,252,64,253,193,254,64,253,193,2,65,253,193,4,65,253,193,6,65,253,193,8,65,253,193,10,65,253,193,12,65,253,193,14,65,253,193,16,65,253,193,18,65,253,193,20,65,253,193,118,65,253,193,22,65,253,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,193,42,65,253,193,44,65,253,193,46,65,253,193,48,65,253,193,50,65,253,193,52,65,253,193,54,65,253,193,56,65,253,193,58,65,253,193,28,66,253,193,30,66,253,193,32,66,253,193,34,66,253,193,36,66,253,193,38,66,253,193,40,66,253,193,42,66,253,193,44,66,253,193,46,66,253,193,48,66,253,193,232,66,253,193,234,66,253,193,236,66,253,193,238,66,253,193,240,66,253,193,116,67,253,193,118,67,253,193,120,67,253,193,196,67,253,193,198,67,253,193,200,67,253,193,202,67,253,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,193,52,66,253,193,54,66,253,193,56,66,253,193,58,66,253,193,60,66,253,193,62,66,253,193,104,65,253,193,64,66,253,193,66,66,253,193,68,66,253,193,70,66,253,193,72,66,253,193,74,66,253,193,76,66,253,193,78,66,253,193,80,66,253,193,82,66,253,193,84,66,253,193,86,66,253,193,88,66,253,193,90,66,253,193,92,66,253,193,94,66,253,193,96,66,253,193,106,65,253,193,252,66,253,193,254,66,253,193,2,67,253,193,4,67,253,193,6,67,253,193,8,67,253,193,10,67,253,193,12,67,253,193,14,67,253,193,128,67,253,193,130,67,253,193,132,67,253,193,134,67,253,193,136,67,253,193,138,67,253,193,212,67,253,193,214,67,253,193,216,67,253,193,218,67,253,193,220,67,253,193,222,67,253,193,224,67,253,193,32,68,253,193,34,68,253,193,36,68,253,193,38,68,253,193,40,68,253,193,42,68,253,193,92,68,253,193,94,68,253,193,96,68,253,193,112,65,253,193,114,65,253,193,116,65,253,193,98,66,253,193,100,66,253,193,102,66,253,193,104,66,253,193,106,66,253,193,16,67,253,193,18,67,253,193,140,67,253,193,142,67,253,193,226,67,253,193,44,68,253,193,46,68,253,193,100,68,253,193,138,68,253,193,202,68,253,193,50,69,253,193,52,69,253,193,54,69,253,193,56,69,253,193,58,69,253,193,104,69,253,193,106,69,253,193,108,69,253,193,110,69,253,193,214,69,253,193,14,70,253,193,52,70,253,193,54,70,253,193,120,70,253,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,193,108,66,253,193,110,66,253,193,112,66,253,193,114,66,253,193,116,66,253,193,118,66,253,193,120,66,253,193,122,66,253,193,124,66,253,193,126,66,253,193,128,66,253,193,130,66,253,193,132,66,253,193,134,66,253,193,136,66,253,193,138,66,253,193,4,66,253,193,140,66,253,193,142,66,253,193,144,66,253,193,146,66,253,193,148,66,253,193,150,66,253,193,152,66,253,193,154,66,253,193,156,66,253,193,158,66,253,193,160,66,253,193,162,66,253,193,164,66,253,193,166,66,253,193,168,66,253,193,170,66,253,193,172,66,253,193,174,66,253,193,176,66,253,193,178,66,253,193,180,66,253,193,182,66,253,193,184,66,253,193,186,66,253,193,188,66,253,193,190,66,253,193,192,66,253,193,194,66,253,193,196,66,253,193,198,66,253,193,200,66,253,193,202,66,253,193,204,66,253,193,206,66,253,193,208,66,253,193,210,66,253,193,212,66,253,193,214,66,253,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,193,216,66,253,193,218,66,253,193,220,66,253,193,102,67,253,193,104,67,253,193,106,67,253,193,108,67,253,193,190,67,253,193,192,67,253,193,76,68,253,193,144,69,253,193,146,69,253,193,190,69,253,193,80,70,253,193,82,70,253,193,108,70,253,193,150,70,253,193,172,70,253,193,38,71,253,193,146,71,253,193,22,72,253,193,24,72,253,193,248,72,253,193,250,72,253,193,252,72,253,193,138,73,253,193,34,74,253,193,36,74,253,193,152,74,253,193,154,74,253,193,254,74,253,193,2,75,253,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,193,144,67,253,193,146,67,253,193,148,67,253,193,150,67,253,193,152,67,253,193,154,67,253,193,156,67,253,193,158,67,253,193,160,67,253,193,162,67,253,193,164,67,253,193,166,67,253,193,168,67,253,193,170,67,253,193,172,67,253,193,174,67,253,193,176,67,253,193,178,67,253,193,180,67,253,193,182,67,253,193,184,67,253,193,186,67,253,193,188,67,253,193,228,67,253,193,230,67,253,193,232,67,253,193,234,67,253,193,236,67,253,193,238,67,253,193,240,67,253,193,242,67,253,193,244,67,253,193,246,67,253,193,248,67,253,193,250,67,253,193,252,67,253,193,254,67,253,193,2,68,253,193,4,68,253,193,6,68,253,193,8,68,253,193,10,68,253,193,12,68,253,193,14,68,253,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,193,204,67,253,193,18,68,253,193,20,68,253,193,22,68,253,193,24,68,253,193,26,68,253,193,82,68,253,193,84,68,253,193,86,68,253,193,88,68,253,193,90,68,253,193,124,68,253,193,126,68,253,193,184,68,253,193,254,68,253,193,44,69,253,193,92,69,253,193,150,69,253,193,152,69,253,193,154,69,253,193,156,69,253,193,158,69,253,193,192,69,253,193,194,69,253,193,196,69,253,193,198,69,253,193,174,70,253,193,176,70,253,193,178,70,253,193,204,70,253,193,212,70,253,193,40,71,253,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,193,102,68,253,193,104,68,253,193,106,68,253,193,108,68,253,193,110,68,253,193,112,68,253,193,114,68,253,193,116,68,253,193,118,68,253,193,120,68,253,193,140,68,253,193,142,68,253,193,144,68,253,193,146,68,253,193,148,68,253,193,150,68,253,193,152,68,253,193,154,68,253,193,156,68,253,193,158,68,253,193,160,68,253,193,162,68,253,193,164,68,253,193,172,68,253,193,174,68,253,193,176,68,253,193,178,68,253,193,180,68,253,193,98,68,253,193,128,68,253,193,130,68,253,193,132,68,253,193,134,68,253,193,136,68,253,193,168,68,253,193,170,68,253,193,200,68,253,193,186,68,253,193,188,68,253,193,230,68,253,193,242,68,253,193,2,69,253,193,4,69,253,193,6,69,253,193,48,69,253,193,100,69,253,193,102,69,253,193,160,69,253,193,162,69,253,193,164,69,253,193,200,69,253,193,202,69,253,193,204,69,253,193,206,69,253,193,208,69,253,193,210,69,253,193,212,69,253,193,10,70,253,193,12,70,253,193,50,70,253,193,182,68,253,193,190,68,253,193,192,68,253,193,194,68,253,193,204,68,253,193,206,68,253,193,208,68,253,193,210,68,253,193,214,68,253,193,216,68,253,193,218,68,253,193,222,68,253,193,224,68,253,193,226,68,253,193,228,68,253,193,232,68,253,193,234,68,253,193,236,68,253,193,240,68,253,193,244,68,253,193,246,68,253,193,248,68,253,193,250,68,253,193,252,68,253,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,193,238,68,253,193,42,69,253,193,90,69,253,193,148,69,253,193,244,69,253,193,246,69,253,193,248,69,253,193,250,69,253,193,252,69,253,193,254,69,253,193,2,70,253,193,38,70,253,193,84,70,253,193,86,70,253,193,88,70,253,193,110,70,253,193,152,70,253,193,148,71,253,193,26,72,253,193,28,72,253,193,30,72,253,193,148,72,253,193,140,73,253,193,142,73,253,193,38,74,253,193,40,74,253,193,156,74,253,193,4,75,253,193,6,75,253,193,8,75,253,193,148,75,253,193,240,75,253,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,193,60,69,253,193,62,69,253,193,64,69,253,193,66,69,253,193,68,69,253,193,70,69,253,193,72,69,253,193,74,69,253,193,76,69,253,193,78,69,253,193,80,69,253,193,82,69,253,193,84,69,253,193,86,69,253,193,88,69,253,206,0,95,0,206,0,95,0,206,0,95,0,206,0,95,0,206,0,95,0,206,0,95,0,206,0,95,0,206,0,95,0,193,166,69,253,193,168,69,253,193,170,69,253,193,172,69,253,193,174,69,253,193,176,69,253,193,178,69,253,193,180,69,253,193,182,69,253,193,184,69,253,193,186,69,253,193,188,69,253,193,216,69,253,193,218,69,253,193,220,69,253,193,222,69,253,193,224,69,253,193,226,69,253,193,228,69,253,193,230,69,253,193,232,69,253,193,234,69,253,193,236,69,253,193,238,69,253,193,240,69,253,193,242,69,253,193,16,70,253,193,18,70,253,193,20,70,253,193,22,70,253,193,56,70,253,193,24,70,253,193,26,70,253,193,28,70,253,193,30,70,253,193,32,70,253,193,34,70,253,193,36,70,253,193,58,70,253,193,60,70,253,193,62,70,253,193,64,70,253,193,66,70,253,193,68,70,253,193,70,70,253,193,72,70,253,193,74,70,253,193,76,70,253,193,78,70,253,193,96,70,253,193,98,70,253,193,100,70,253,193,102,70,253,193,104,70,253,193,106,70,253,193,122,70,253,193,8,70,253,193,40,70,253,193,42,70,253,193,44,70,253,193,46,70,253,193,48,70,253,193,90,70,253,193,154,70,253,193,222,70,253,193,224,70,253,193,42,71,253,193,44,71,253,193,162,71,253,193,46,72,253,193,48,72,253,193,50,72,253,193,52,72,253,193,160,72,253,193,4,73,253,193,162,73,253,193,164,73,253,193,166,73,253,193,168,73,253,193,170,73,253,193,172,73,253,193,174,73,253,193,176,73,253,193,48,74,253,193,50,74,253,193,52,74,253,193,54,74,253,193,164,74,253,193,92,70,253,193,94,70,253,193,112,70,253,193,114,70,253,193,116,70,253,193,118,70,253,193,156,70,253,193,180,70,253,193,206,70,253,193,216,70,253,193,218,70,253,193,220,70,253,193,226,70,253,193,228,70,253,193,250,70,253,193,252,70,253,193,254,70,253,193,2,71,253,193,4,71,253,193,6,71,253,193,8,71,253,193,10,71,253,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,193,124,70,253,193,126,70,253,193,128,70,253,193,130,70,253,193,132,70,253,193,134,70,253,193,136,70,253,193,138,70,253,193,140,70,253,193,142,70,253,193,144,70,253,193,146,70,253,193,148,70,253,193,160,70,253,193,162,70,253,193,164,70,253,193,166,70,253,193,168,70,253,193,170,70,253,193,182,70,253,193,184,70,253,193,186,70,253,193,188,70,253,193,190,70,253,193,192,70,253,193,194,70,253,193,196,70,253,193,200,70,253,193,202,70,253,193,208,70,253,193,210,70,253,193,214,70,253,193,158,70,253,193,198,70,253,193,230,70,253,193,232,70,253,193,234,70,253,193,12,71,253,193,74,71,253,193,76,71,253,193,78,71,253,193,80,71,253,193,82,71,253,193,84,71,253,193,86,71,253,193,88,71,253,193,90,71,253,193,216,71,253,193,218,71,253,193,220,71,253,193,222,71,253,193,86,72,253,193,88,72,253,193,90,72,253,193,92,72,253,193,94,72,253,193,180,72,253,193,182,72,253,193,184,72,253,193,186,72,253,193,52,73,253,193,54,73,253,193,56,73,253,193,58,73,253,193,236,70,253,193,238,70,253,193,240,70,253,193,242,70,253,193,244,70,253,193,246,70,253,193,248,70,253,193,14,71,253,193,16,71,253,193,18,71,253,193,20,71,253,193,22,71,253,193,24,71,253,193,26,71,253,193,28,71,253,193,30,71,253,193,32,71,253,193,34,71,253,193,36,71,253,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,193,164,71,253,193,166,71,253,193,168,71,253,193,170,71,253,193,172,71,253,193,174,71,253,193,176,71,253,193,178,71,253,193,180,71,253,193,54,72,253,193,182,71,253,193,184,71,253,193,186,71,253,193,188,71,253,193,190,71,253,193,192,71,253,193,194,71,253,193,196,71,253,193,198,71,253,193,200,71,253,193,202,71,253,193,204,71,253,193,206,71,253,193,208,71,253,193,210,71,253,193,212,71,253,193,56,72,253,193,58,72,253,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,193,150,71,253,193,152,71,253,193,154,71,253,193,156,71,253,193,158,71,253,193,160,71,253,193,32,72,253,193,34,72,253,193,36,72,253,193,38,72,253,193,40,72,253,193,42,72,253,193,44,72,253,193,150,72,253,193,152,72,253,193,154,72,253,193,156,72,253,193,158,72,253,193,254,72,253,193,2,73,253,193,144,73,253,193,146,73,253,193,148,73,253,193,150,73,253,193,152,73,253,193,154,73,253,193,156,73,253,193,158,73,253,193,160,73,253,193,42,74,253,193,44,74,253,193,46,74,253,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,193,96,72,253,193,98,72,253,193,100,72,253,193,102,72,253,193,104,72,253,193,106,72,253,193,108,72,253,193,110,72,253,193,112,72,253,193,114,72,253,193,116,72,253,193,118,72,253,193,120,72,253,193,122,72,253,193,124,72,253,193,126,72,253,193,128,72,253,193,130,72,253,193,132,72,253,193,134,72,253,193,136,72,253,193,138,72,253,193,140,72,253,193,142,72,253,193,60,72,253,193,62,72,253,193,64,72,253,193,66,72,253,193,68,72,253,193,70,72,253,193,72,72,253,193,74,72,253,193,76,72,253,193,78,72,253,193,80,72,253,193,82,72,253,193,84,72,253,193,162,72,253,193,164,72,253,193,166,72,253,193,168,72,253,193,170,72,253,193,172,72,253,193,174,72,253,193,176,72,253,193,178,72,253,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,193,144,72,253,193,146,72,253,193,188,72,253,193,190,72,253,193,192,72,253,193,194,72,253,193,196,72,253,193,198,72,253,193,200,72,253,193,202,72,253,193,204,72,253,193,206,72,253,193,208,72,253,193,210,72,253,193,212,72,253,193,214,72,253,193,216,72,253,193,218,72,253,193,220,72,253,193,222,72,253,193,224,72,253,193,226,72,253,193,228,72,253,193,230,72,253,193,232,72,253,193,234,72,253,193,236,72,253,193,238,72,253,193,240,72,253,193,242,72,253,193,244,72,253,193,246,72,253,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,193,178,73,253,193,180,73,253,193,182,73,253,193,184,73,253,193,186,73,253,193,188,73,253,193,190,73,253,193,192,73,253,193,194,73,253,193,196,73,253,193,198,73,253,193,200,73,253,193,202,73,253,193,204,73,253,193,206,73,253,193,208,73,253,193,56,74,253,193,58,74,253,193,60,74,253,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,193,210,73,253,193,212,73,253,193,214,73,253,193,216,73,253,193,218,73,253,193,74,74,253,193,76,74,253,193,78,74,253,193,80,74,253,193,82,74,253,193,84,74,253,193,188,74,253,193,190,74,253,193,192,74,253,193,194,74,253,193,196,74,253,193,198,74,253,193,200,74,253,193,34,75,253,193,36,75,253,193,38,75,253,193,40,75,253,193,98,75,253,193,168,75,253,193,170,75,253,193,172,75,253,193,210,75,253,193,212,75,253,193,26,76,253,193,54,76,253,193,70,76,253,193,90,76,253,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,193,62,74,253,193,64,74,253,193,66,74,253,193,68,74,253,193,70,74,253,193,72,74,253,193,172,74,253,193,174,74,253,193,176,74,253,193,178,74,253,193,180,74,253,193,182,74,253,193,184,74,253,193,18,75,253,193,20,75,253,193,22,75,253,193,24,75,253,193,26,75,253,193,28,75,253,193,30,75,253,193,32,75,253,193,86,75,253,193,88,75,253,193,90,75,253,193,92,75,253,193,94,75,253,193,96,75,253,193,158,75,253,193,160,75,253,193,162,75,253,193,164,75,253,193,166,75,253,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,193,158,74,253,193,160,74,253,193,162,74,253,193,10,75,253,193,12,75,253,193,14,75,253,193,72,75,253,193,74,75,253,193,76,75,253,193,150,75,253,193,152,75,253,193,154,75,253,193,194,75,253,193,196,75,253,193,198,75,253,193,200,75,253,193,244,75,253,193,246,75,253,193,248,75,253,193,158,76,253,193,210,76,253,193,254,76,253,193,24,77,253,193,96,77,253,193,98,77,253,193,164,77,253,193,166,77,253,193,6,78,253,193,20,78,253,193,80,78,253,193,134,78,253,193,160,78,253,193,166,74,253,193,168,74,253,193,170,74,253,193,16,75,253,193,78,75,253,193,80,75,253,193,82,75,253,193,84,75,253,193,156,75,253,193,202,75,253,193,250,75,253,193,252,75,253,193,52,76,253,193,66,76,253,193,94,76,253,193,104,76,253,193,108,76,253,193,110,76,253,193,124,76,253,193,126,76,253,193,128,76,253,193,130,76,253,193,160,76,253,193,162,76,253,193,164,76,253,193,166,76,253,193,168,76,253,193,170,76,253,206,64,96,0,206,64,96,0,206,64,96,0,206,64,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,193,42,75,253,193,44,75,253,193,46,75,253,193,48,75,253,193,50,75,253,193,52,75,253,193,54,75,253,193,56,75,253,193,58,75,253,193,60,75,253,193,62,75,253,193,64,75,253,193,66,75,253,193,68,75,253,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,193,70,75,253,193,146,75,253,193,192,75,253,193,96,76,253,193,120,76,253,193,122,76,253,193,148,76,253,193,150,76,253,193,198,76,253,193,200,76,253,193,202,76,253,193,246,76,253,193,248,76,253,193,14,77,253,193,46,77,253,193,48,77,253,193,50,77,253,193,52,77,253,193,86,77,253,193,88,77,253,193,114,77,253,193,128,77,253,193,130,77,253,193,146,77,253,193,158,77,253,193,176,77,253,193,216,77,253,193,238,77,253,193,240,77,253,193,108,78,253,193,184,78,253,193,22,79,253,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,193,174,75,253,193,176,75,253,193,178,75,253,193,180,75,253,193,182,75,253,193,184,75,253,193,186,75,253,193,188,75,253,193,190,75,253,193,214,75,253,193,216,75,253,193,218,75,253,193,220,75,253,193,222,75,253,193,224,75,253,193,226,75,253,193,228,75,253,193,230,75,253,193,232,75,253,193,234,75,253,193,236,75,253,193,238,75,253,193,4,76,253,193,6,76,253,193,78,86,253,193,124,86,253,193,126,86,253,193,128,86,253,193,130,86,253,193,132,86,253,193,134,86,253,193,136,86,253,193,138,86,253,193,140,86,253,193,142,86,253,193,144,86,253,193,146,86,253,193,148,86,253,193,150,86,253,193,152,86,253,193,154,86,253,193,156,86,253,193,158,86,253,193,160,86,253,193,162,86,253,193,164,86,253,193,166,86,253,193,198,86,253,193,200,86,253,193,202,86,253,193,204,86,253,193,206,86,253,193,144,75,253,193,208,86,253,193,210,86,253,193,212,86,253,193,204,75,253,193,206,75,253,193,208,75,253,193,254,75,253,193,2,76,253,193,68,76,253,193,100,76,253,193,102,76,253,193,106,76,253,193,112,76,253,193,114,76,253,193,116,76,253,193,132,76,253,193,134,76,253,193,136,76,253,193,138,76,253,193,140,76,253,193,172,76,253,193,174,76,253,193,176,76,253,193,178,76,253,193,180,76,253,193,182,76,253,193,184,76,253,193,186,76,253,193,188,76,253,193,190,76,253,193,192,76,253,206,96,96,0,206,96,96,0,206,96,96,0,206,96,96,0,193,242,75,253,193,152,76,253,193,154,76,253,193,156,76,253,193,206,76,253,193,208,76,253,193,250,76,253,193,252,76,253,193,16,77,253,193,18,77,253,193,20,77,253,193,22,77,253,193,54,77,253,193,90,77,253,193,92,77,253,193,94,77,253,193,118,77,253,193,120,77,253,193,132,77,253,193,134,77,253,193,162,77,253,193,172,77,253,193,192,77,253,193,218,77,253,193,220,77,253,193,222,77,253,193,4,78,253,193,120,78,253,193,208,78,253,193,164,79,253,193,166,79,253,193,168,79,253,193,8,76,253,193,10,76,253,193,12,76,253,193,14,76,253,193,16,76,253,193,18,76,253,193,20,76,253,193,22,76,253,193,24,76,253,193,28,76,253,193,30,76,253,193,32,76,253,193,34,76,253,193,36,76,253,193,38,76,253,193,40,76,253,193,42,76,253,193,44,76,253,193,46,76,253,193,48,76,253,193,50,76,253,193,56,76,253,193,58,76,253,193,60,76,253,193,62,76,253,193,72,76,253,193,78,76,253,193,74,76,253,193,80,76,253,193,64,76,253,193,76,76,253,193,82,76,253,193,84,76,253,193,86,76,253,193,88,76,253,193,92,76,253,193,98,76,253,193,144,76,253,193,146,76,253,193,196,76,253,193,244,76,253,193,144,77,253,193,184,77,253,193,188,77,253,193,190,77,253,193,194,77,253,193,196,77,253,193,200,77,253,193,202,77,253,193,204,77,253,193,212,77,253,193,214,77,253,193,230,77,253,193,232,77,253,193,234,77,253,193,236,77,253,193,250,77,253,193,252,77,253,193,254,77,253,193,2,78,253,193,12,78,253,193,14,78,253,193,16,78,253,193,18,78,253,193,118,76,253,193,142,76,253,193,194,76,253,193,10,78,253,193,100,78,253,193,140,78,253,193,150,78,253,193,154,78,253,193,168,78,253,193,170,78,253,193,238,78,253,193,240,78,253,193,88,79,253,193,90,79,253,193,92,79,253,193,94,79,253,193,218,79,253,193,220,79,253,193,116,80,253,193,118,80,253,193,120,80,253,193,122,80,253,193,124,80,253,193,126,80,253,193,128,80,253,193,18,81,253,193,20,81,253,193,22,81,253,193,178,81,253,193,180,81,253,193,182,81,253,193,184,81,253,206,64,96,0,206,64,96,0,206,64,96,0,206,64,96,0,193,2,77,253,193,4,77,253,193,6,77,253,193,26,77,253,193,28,77,253,193,56,77,253,193,58,77,253,193,60,77,253,193,62,77,253,193,64,77,253,193,66,77,253,193,68,77,253,193,70,77,253,193,72,77,253,193,100,77,253,193,102,77,253,193,104,77,253,193,106,77,253,193,122,77,253,193,124,77,253,193,136,77,253,193,138,77,253,193,148,77,253,193,150,77,253,193,152,77,253,193,154,77,253,193,156,77,253,193,168,77,253,206,96,96,0,206,96,96,0,206,96,96,0,206,96,96,0,193,8,77,253,193,10,77,253,193,12,77,253,193,30,77,253,193,32,77,253,193,34,77,253,193,36,77,253,193,38,77,253,193,40,77,253,193,42,77,253,193,44,77,253,193,74,77,253,193,76,77,253,193,78,77,253,193,80,77,253,193,82,77,253,193,84,77,253,193,108,77,253,193,110,77,253,193,112,77,253,193,126,77,253,193,140,77,253,193,142,77,253,193,186,77,253,193,208,77,253,193,210,77,253,193,224,77,253,193,226,77,253,193,170,77,253,193,174,77,253,193,178,77,253,193,180,77,253,193,182,77,253,193,198,77,253,193,206,77,253,193,242,77,253,193,22,78,253,193,52,78,253,193,82,78,253,193,96,78,253,193,114,78,253,193,148,78,253,193,210,78,253,193,30,79,253,193,32,79,253,193,34,79,253,193,36,79,253,193,38,79,253,193,176,79,253,193,178,79,253,193,68,80,253,193,206,80,253,193,208,80,253,193,210,80,253,193,212,80,253,193,132,81,253,193,134,81,253,193,136,81,253,193,100,82,253,193,102,82,253,193,228,77,253,193,244,77,253,193,246,77,253,193,248,77,253,193,8,78,253,193,24,78,253,193,26,78,253,193,28,78,253,193,30,78,253,193,32,78,253,193,34,78,253,193,54,78,253,193,72,78,253,193,84,78,253,193,98,78,253,193,110,78,253,193,128,78,253,193,136,78,253,193,138,78,253,193,152,78,253,193,164,78,253,193,176,78,253,193,178,78,253,193,182,78,253,193,186,78,253,193,188,78,253,193,190,78,253,193,192,78,253,193,194,78,253,193,196,78,253,193,214,78,253,193,216,78,253,193,122,78,253,193,124,78,253,193,126,78,253,193,130,78,253,193,132,78,253,193,142,78,253,193,144,78,253,193,146,78,253,193,156,78,253,193,158,78,253,193,166,78,253,193,172,78,253,193,174,78,253,193,198,78,253,193,200,78,253,193,202,78,253,193,204,78,253,193,242,78,253,193,244,78,253,193,246,78,253,193,248,78,253,193,250,78,253,193,252,78,253,193,254,78,253,193,2,79,253,193,4,79,253,193,6,79,253,193,8,79,253,193,10,79,253,193,12,79,253,193,14,79,253,193,16,79,253,193,162,78,253,193,24,79,253,193,26,79,253,193,28,79,253,193,172,79,253,193,174,79,253,193,50,80,253,193,52,80,253,193,54,80,253,193,56,80,253,193,58,80,253,193,60,80,253,193,62,80,253,193,64,80,253,193,66,80,253,193,200,80,253,193,202,80,253,193,204,80,253,193,124,81,253,193,126,81,253,193,128,81,253,193,130,81,253,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,193,218,78,253,193,220,78,253,193,222,78,253,193,224,78,253,193,226,78,253,193,228,78,253,193,230,78,253,193,232,78,253,193,234,78,253,193,236,78,253,193,40,79,253,193,42,79,253,193,44,79,253,193,46,79,253,193,48,79,253,193,50,79,253,193,52,79,253,193,54,79,253,193,56,79,253,193,58,79,253,193,60,79,253,193,62,79,253,193,64,79,253,193,66,79,253,193,68,79,253,193,70,79,253,193,72,79,253,193,74,79,253,193,76,79,253,193,78,79,253,193,80,79,253,193,82,79,253,193,18,79,253,193,20,79,253,193,96,79,253,193,98,79,253,193,100,79,253,193,102,79,253,193,104,79,253,193,106,79,253,193,108,79,253,193,110,79,253,193,112,79,253,193,114,79,253,193,116,79,253,193,118,79,253,193,120,79,253,193,122,79,253,193,124,79,253,193,126,79,253,193,128,79,253,193,130,79,253,193,132,79,253,193,134,79,253,193,136,79,253,193,138,79,253,193,140,79,253,193,142,79,253,193,144,79,253,193,146,79,253,193,148,79,253,193,150,79,253,193,152,79,253,193,154,79,253,193,180,79,253,193,182,79,253,193,184,79,253,193,186,79,253,193,188,79,253,193,190,79,253,193,192,79,253,193,194,79,253,193,196,79,253,193,198,79,253,193,200,79,253,193,202,79,253,193,84,79,253,193,204,79,253,193,206,79,253,193,208,79,253,193,210,79,253,193,212,79,253,193,214,79,253,193,216,79,253,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,193,156,79,253,193,158,79,253,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,193,160,79,253,193,162,79,253,193,38,80,253,193,40,80,253,193,42,80,253,193,194,80,253,193,100,81,253,193,102,81,253,193,104,81,253,193,106,81,253,193,108,81,253,193,34,82,253,193,36,82,253,193,38,82,253,193,40,82,253,193,42,82,253,193,44,82,253,193,46,82,253,193,48,82,253,193,48,83,253,193,50,83,253,193,52,83,253,193,54,83,253,193,56,83,253,193,58,83,253,193,60,83,253,193,230,83,253,193,232,83,253,193,234,83,253,193,236,83,253,193,146,84,253,193,148,84,253,193,170,79,253,193,44,80,253,193,46,80,253,193,48,80,253,193,196,80,253,193,198,80,253,193,110,81,253,193,112,81,253,193,114,81,253,193,116,81,253,193,118,81,253,193,120,81,253,193,122,81,253,193,50,82,253,193,52,82,253,193,54,82,253,193,56,82,253,193,58,82,253,193,60,82,253,193,66,83,253,193,68,83,253,193,70,83,253,193,72,83,253,193,74,83,253,193,76,83,253,193,78,83,253,193,238,83,253,193,240,83,253,193,242,83,253,193,244,83,253,193,246,83,253,193,248,83,253,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,193,138,81,253,193,140,81,253,193,142,81,253,193,144,81,253,193,146,81,253,193,148,81,253,193,150,81,253,193,152,81,253,193,154,81,253,193,156,81,253,193,158,81,253,193,160,81,253,193,162,81,253,193,164,81,253,193,166,81,253,193,168,81,253,193,170,81,253,193,172,81,253,193,174,81,253,193,176,81,253,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,193,186,81,253,193,172,82,253,193,140,83,253,193,142,83,253,193,144,83,253,193,146,83,253,193,46,84,253,193,48,84,253,193,50,84,253,193,52,84,253,193,230,84,253,193,232,84,253,193,234,84,253,193,236,84,253,193,152,85,253,193,24,86,253,193,26,86,253,193,122,86,253,193,70,87,253,193,106,87,253,193,136,87,253,193,200,87,253,193,202,87,253,193,204,87,253,193,66,88,253,193,68,88,253,193,70,88,253,193,206,88,253,193,208,88,253,193,210,88,253,193,212,88,253,193,214,88,253,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,193,174,82,253,193,4,82,253,193,6,82,253,193,8,82,253,193,10,82,253,193,12,82,253,193,14,82,253,193,16,82,253,193,18,82,253,193,20,82,253,193,22,82,253,193,24,82,253,193,26,82,253,193,28,82,253,193,30,82,253,193,176,82,253,193,178,82,253,193,180,82,253,193,32,82,253,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,193,80,83,253,193,82,83,253,193,84,83,253,193,86,83,253,193,88,83,253,193,90,83,253,193,92,83,253,193,94,83,253,193,96,83,253,193,98,83,253,193,100,83,253,193,102,83,253,193,104,83,253,193,250,83,253,193,252,83,253,193,254,83,253,193,2,84,253,193,4,84,253,193,6,84,253,193,8,84,253,193,176,84,253,193,178,84,253,193,180,84,253,193,104,82,253,193,106,82,253,193,108,82,253,193,110,82,253,193,112,82,253,193,114,82,253,193,106,83,253,193,108,83,253,193,110,83,253,193,10,84,253,193,12,84,253,193,14,84,253,193,16,84,253,193,18,84,253,193,200,84,253,193,202,84,253,193,204,84,253,193,206,84,253,193,124,85,253,193,126,85,253,193,128,85,253,193,130,85,253,193,10,86,253,193,12,86,253,193,14,86,253,193,16,86,253,193,18,86,253,193,230,86,253,193,52,87,253,193,94,87,253,193,96,87,253,193,166,87,253,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,193,148,83,253,193,150,83,253,193,152,83,253,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,193,20,84,253,193,22,84,253,193,24,84,253,193,26,84,253,193,28,84,253,193,30,84,253,193,32,84,253,193,34,84,253,193,36,84,253,193,38,84,253,193,40,84,253,193,42,84,253,193,208,84,253,193,44,84,253,193,210,84,253,193,212,84,253,193,214,84,253,193,216,84,253,193,218,84,253,193,220,84,253,193,222,84,253,193,224,84,253,193,226,84,253,193,132,85,253,193,134,85,253,193,136,85,253,193,154,83,253,193,156,83,253,193,158,83,253,193,160,83,253,193,162,83,253,193,164,83,253,193,166,83,253,193,168,83,253,193,170,83,253,193,172,83,253,193,174,83,253,193,176,83,253,193,178,83,253,193,180,83,253,193,182,83,253,193,184,83,253,193,186,83,253,193,188,83,253,193,190,83,253,193,192,83,253,193,194,83,253,193,196,83,253,193,198,83,253,193,200,83,253,193,202,83,253,193,204,83,253,193,206,83,253,193,208,83,253,193,210,83,253,193,212,83,253,193,214,83,253,193,216,83,253,193,218,83,253,193,220,83,253,193,222,83,253,193,224,83,253,193,226,83,253,193,228,83,253,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,193,150,84,253,193,152,84,253,193,154,84,253,193,156,84,253,193,80,85,253,193,82,85,253,193,84,85,253,193,86,85,253,193,88,85,253,193,90,85,253,193,92,85,253,193,222,85,253,193,82,86,253,193,84,86,253,193,86,86,253,193,88,86,253,193,168,86,253,193,170,86,253,193,12,87,253,193,14,87,253,193,16,87,253,193,18,87,253,193,40,87,253,193,160,87,253,193,10,88,253,193,12,88,253,193,128,88,253,193,130,88,253,193,24,89,253,193,164,89,253,193,166,89,253,193,168,89,253,193,158,84,253,193,160,84,253,193,162,84,253,193,164,84,253,193,166,84,253,193,168,84,253,193,170,84,253,193,172,84,253,193,174,84,253,193,94,85,253,193,96,85,253,193,98,85,253,193,100,85,253,193,102,85,253,193,104,85,253,193,106,85,253,193,108,85,253,193,226,85,253,193,228,85,253,193,230,85,253,193,232,85,253,193,234,85,253,193,236,85,253,193,238,85,253,193,240,85,253,193,242,85,253,193,244,85,253,193,246,85,253,206,64,98,0,206,64,98,0,206,64,98,0,206,64,98,0,193,182,84,253,193,184,84,253,193,186,84,253,193,188,84,253,193,190,84,253,193,192,84,253,193,194,84,253,193,196,84,253,193,198,84,253,193,110,85,253,193,112,85,253,193,114,85,253,193,116,85,253,193,118,85,253,193,120,85,253,193,122,85,253,193,248,85,253,193,250,85,253,193,252,85,253,193,254,85,253,193,2,86,253,193,4,86,253,193,6,86,253,193,8,86,253,193,106,86,253,193,108,86,253,193,110,86,253,193,112,86,253,193,114,86,253,193,186,86,253,193,188,86,253,193,190,86,253,193,138,85,253,193,140,85,253,193,142,85,253,193,144,85,253,193,146,85,253,193,148,85,253,193,228,84,253,193,20,86,253,193,22,86,253,193,150,85,253,193,116,86,253,193,118,86,253,193,120,86,253,193,196,86,253,193,232,86,253,193,54,87,253,193,56,87,253,193,98,87,253,193,102,87,253,193,104,87,253,193,116,87,253,193,118,87,253,193,120,87,253,193,122,87,253,193,124,87,253,193,126,87,253,193,128,87,253,193,130,87,253,193,132,87,253,193,134,87,253,193,170,87,253,193,172,87,253,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,193,28,86,253,193,30,86,253,193,32,86,253,193,34,86,253,193,36,86,253,193,38,86,253,193,40,86,253,193,42,86,253,193,44,86,253,193,46,86,253,193,48,86,253,193,50,86,253,193,52,86,253,193,54,86,253,193,56,86,253,193,58,86,253,193,60,86,253,193,62,86,253,193,64,86,253,193,66,86,253,193,68,86,253,193,70,86,253,193,72,86,253,193,74,86,253,193,76,86,253,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,193,80,86,253,193,132,137,253,193,134,137,253,193,136,137,253,193,138,137,253,193,140,137,253,193,142,137,253,193,144,137,253,193,146,137,253,193,148,137,253,193,150,137,253,193,152,137,253,193,154,137,253,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,64,98,0,206,64,98,0,206,64,98,0,206,64,98,0,193,172,86,253,193,174,86,253,193,176,86,253,193,178,86,253,193,180,86,253,193,182,86,253,193,184,86,253,193,218,86,253,193,220,86,253,193,222,86,253,193,224,86,253,193,42,87,253,193,44,87,253,193,46,87,253,193,48,87,253,193,112,87,253,193,114,87,253,193,14,88,253,193,16,88,253,193,134,88,253,193,136,88,253,193,138,88,253,193,26,89,253,193,28,89,253,193,30,89,253,193,32,89,253,193,170,89,253,193,172,89,253,193,192,86,253,193,194,86,253,193,226,86,253,193,228,86,253,193,20,87,253,193,22,87,253,193,24,87,253,193,50,87,253,193,86,87,253,193,90,87,253,193,162,87,253,193,164,87,253,193,18,88,253,193,20,88,253,193,22,88,253,193,140,88,253,193,142,88,253,193,144,88,253,193,146,88,253,193,148,88,253,193,150,88,253,193,152,88,253,193,154,88,253,193,34,89,253,193,36,89,253,193,38,89,253,193,40,89,253,193,184,89,253,193,186,89,253,193,78,90,253,193,80,90,253,193,82,90,253,193,214,86,253,193,216,86,253,193,234,86,253,193,236,86,253,193,238,86,253,193,240,86,253,193,242,86,253,193,244,86,253,193,246,86,253,193,248,86,253,193,250,86,253,193,252,86,253,193,254,86,253,193,2,87,253,193,4,87,253,193,6,87,253,193,8,87,253,193,10,87,253,193,26,87,253,193,28,87,253,193,30,87,253,193,32,87,253,193,34,87,253,193,36,87,253,193,38,87,253,193,58,87,253,193,60,87,253,193,62,87,253,193,64,87,253,193,66,87,253,193,68,87,253,193,72,87,253,193,74,87,253,193,76,87,253,193,78,87,253,193,80,87,253,193,82,87,253,193,84,87,253,193,88,87,253,193,92,87,253,193,100,87,253,193,108,87,253,193,110,87,253,193,138,87,253,193,140,87,253,193,142,87,253,193,144,87,253,193,146,87,253,193,148,87,253,193,150,87,253,193,152,87,253,193,154,87,253,193,156,87,253,193,158,87,253,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,193,168,87,253,193,24,88,253,193,26,88,253,193,28,88,253,193,30,88,253,193,32,88,253,193,34,88,253,193,156,88,253,193,158,88,253,193,42,89,253,193,188,89,253,193,190,89,253,193,192,89,253,193,84,90,253,193,86,90,253,193,88,90,253,193,90,90,253,193,92,90,253,193,228,90,253,193,230,90,253,193,76,91,253,193,78,91,253,193,80,91,253,193,82,91,253,193,84,91,253,193,206,91,253,193,208,91,253,193,210,91,253,193,76,92,253,193,158,92,253,193,212,92,253,193,20,93,253,193,174,87,253,193,176,87,253,193,178,87,253,193,180,87,253,193,182,87,253,193,184,87,253,193,186,87,253,193,188,87,253,193,190,87,253,193,192,87,253,193,194,87,253,193,196,87,253,193,198,87,253,193,36,88,253,193,38,88,253,193,40,88,253,193,42,88,253,193,44,88,253,193,46,88,253,193,48,88,253,193,50,88,253,193,52,88,253,193,54,88,253,193,56,88,253,193,58,88,253,193,60,88,253,193,62,88,253,193,64,88,253,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,193,44,89,253,193,204,88,253,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,193,216,88,253,193,218,88,253,193,220,88,253,193,86,89,253,193,88,89,253,193,90,89,253,193,92,89,253,193,94,89,253,193,96,89,253,193,98,89,253,193,228,89,253,193,230,89,253,193,232,89,253,193,234,89,253,193,236,89,253,193,238,89,253,193,130,90,253,193,132,90,253,193,134,90,253,193,4,91,253,193,6,91,253,193,8,91,253,193,10,91,253,193,12,91,253,193,114,91,253,193,116,91,253,193,118,91,253,193,120,91,253,193,122,91,253,193,238,91,253,193,240,91,253,193,242,91,253,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,193,194,89,253,193,196,89,253,193,198,89,253,193,200,89,253,193,202,89,253,193,204,89,253,193,206,89,253,193,208,89,253,193,210,89,253,193,212,89,253,193,214,89,253,193,216,89,253,193,218,89,253,193,220,89,253,193,222,89,253,193,224,89,253,193,226,89,253,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,193,174,89,253,193,176,89,253,193,178,89,253,193,180,89,253,193,182,89,253,193,66,90,253,193,68,90,253,193,70,90,253,193,72,90,253,193,74,90,253,193,76,90,253,193,210,90,253,193,212,90,253,193,214,90,253,193,216,90,253,193,218,90,253,193,220,90,253,193,196,91,253,193,198,91,253,193,200,91,253,193,202,91,253,193,66,92,253,193,68,92,253,193,138,92,253,193,140,92,253,193,142,92,253,193,144,92,253,193,146,92,253,193,206,92,253,193,10,93,253,193,12,93,253,193,14,93,253,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,193,136,90,253,193,138,90,253,193,140,90,253,193,142,90,253,193,144,90,253,193,146,90,253,193,148,90,253,193,150,90,253,193,14,91,253,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,193,58,90,253,193,60,90,253,193,62,90,253,193,204,90,253,193,206,90,253,193,66,91,253,193,68,91,253,193,190,91,253,193,192,91,253,193,194,91,253,193,134,92,253,193,136,92,253,193,204,92,253,193,8,93,253,193,52,93,253,193,54,93,253,193,56,93,253,193,106,93,253,193,144,93,253,193,190,93,253,193,208,94,253,193,210,94,253,193,48,95,253,193,50,95,253,193,52,95,253,193,164,95,253,193,146,96,253,193,234,96,253,193,68,97,253,193,70,97,253,193,166,97,253,193,222,97,253,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,193,232,90,253,193,234,90,253,193,236,90,253,193,238,90,253,193,240,90,253,193,242,90,253,193,244,90,253,193,246,90,253,193,248,90,253,193,250,90,253,193,252,90,253,193,254,90,253,193,2,91,253,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,193,222,90,253,193,224,90,253,193,226,90,253,193,70,91,253,193,72,91,253,193,74,91,253,193,204,91,253,193,70,92,253,193,72,92,253,193,74,92,253,193,148,92,253,193,150,92,253,193,152,92,253,193,154,92,253,193,156,92,253,193,208,92,253,193,210,92,253,193,16,93,253,193,18,93,253,193,90,93,253,193,108,93,253,193,150,93,253,193,160,93,253,193,162,93,253,193,192,93,253,193,194,93,253,193,196,93,253,193,30,94,253,193,32,94,253,193,34,94,253,193,36,94,253,193,38,94,253,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,193,212,91,253,193,214,91,253,193,216,91,253,193,218,91,253,193,220,91,253,193,222,91,253,193,224,91,253,193,226,91,253,193,228,91,253,193,230,91,253,193,232,91,253,193,234,91,253,193,236,91,253,193,78,92,253,193,80,92,253,193,82,92,253,193,84,92,253,193,86,92,253,193,160,92,253,193,162,92,253,193,214,92,253,193,216,92,253,193,218,92,253,193,220,92,253,193,222,92,253,193,22,93,253,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,193,246,91,253,193,248,91,253,193,250,91,253,193,252,91,253,193,254,91,253,193,2,92,253,193,4,92,253,193,6,92,253,193,8,92,253,193,10,92,253,193,12,92,253,193,14,92,253,193,16,92,253,193,18,92,253,193,188,91,253,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,193,244,91,253,193,88,92,253,193,164,92,253,193,122,93,253,193,124,93,253,193,156,93,253,193,158,93,253,193,178,93,253,193,180,93,253,193,224,93,253,193,226,93,253,193,228,93,253,193,230,93,253,193,232,93,253,193,58,94,253,193,60,94,253,193,62,94,253,193,64,94,253,193,66,94,253,193,68,94,253,193,158,94,253,193,160,94,253,193,162,94,253,193,164,94,253,193,166,94,253,193,168,94,253,193,2,95,253,193,4,95,253,193,98,95,253,193,100,95,253,193,102,95,253,193,104,95,253,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,193,166,92,253,193,168,92,253,193,170,92,253,193,172,92,253,193,174,92,253,193,176,92,253,193,178,92,253,193,180,92,253,193,182,92,253,193,184,92,253,193,186,92,253,193,188,92,253,193,190,92,253,193,192,92,253,193,194,92,253,193,196,92,253,193,198,92,253,193,200,92,253,193,202,92,253,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,193,28,93,253,193,30,93,253,193,32,93,253,193,34,93,253,193,36,93,253,193,38,93,253,193,40,93,253,193,42,93,253,193,44,93,253,193,46,93,253,193,48,93,253,193,50,93,253,193,72,93,253,193,74,93,253,193,76,93,253,193,78,93,253,193,80,93,253,193,82,93,253,193,84,93,253,193,24,93,253,193,68,93,253,193,26,93,253,193,70,93,253,193,92,93,253,193,94,93,253,193,96,93,253,193,110,93,253,193,112,93,253,193,148,93,253,193,152,93,253,193,154,93,253,193,164,93,253,193,166,93,253,193,168,93,253,193,170,93,253,193,172,93,253,193,174,93,253,193,176,93,253,193,200,93,253,193,202,93,253,193,204,93,253,193,206,93,253,193,208,93,253,193,210,93,253,193,212,93,253,193,214,93,253,193,216,93,253,193,218,93,253,193,220,93,253,193,222,93,253,193,44,94,253,193,58,93,253,193,60,93,253,193,62,93,253,193,86,93,253,193,88,93,253,193,140,93,253,193,26,94,253,193,28,94,253,193,120,94,253,193,214,94,253,193,54,95,253,193,56,95,253,193,58,95,253,193,28,96,253,193,30,96,253,193,32,96,253,193,34,96,253,193,36,96,253,193,148,96,253,193,150,96,253,193,152,96,253,193,154,96,253,193,236,96,253,193,130,97,253,193,132,97,253,193,134,97,253,193,36,98,253,193,56,98,253,193,136,98,253,193,138,98,253,193,146,98,253,193,192,98,253,193,64,93,253,193,66,93,253,193,146,93,253,193,198,93,253,193,42,94,253,193,130,94,253,193,132,94,253,193,66,95,253,193,68,95,253,193,70,95,253,193,180,95,253,193,182,95,253,193,184,95,253,193,52,96,253,193,54,96,253,193,158,96,253,193,246,96,253,193,248,96,253,193,250,96,253,193,80,97,253,193,82,97,253,193,176,97,253,193,202,97,253,193,48,98,253,193,100,98,253,193,122,98,253,193,176,98,253,193,178,98,253,193,180,98,253,193,182,98,253,193,196,98,253,193,120,99,253,193,98,93,253,193,100,93,253,193,102,93,253,193,104,93,253,193,114,93,253,193,116,93,253,193,118,93,253,193,120,93,253,193,126,93,253,193,128,93,253,193,130,93,253,193,132,93,253,193,134,93,253,193,136,93,253,193,138,93,253,193,142,93,253,193,182,93,253,193,184,93,253,193,186,93,253,193,188,93,253,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,193,40,94,253,193,122,94,253,193,124,94,253,193,126,94,253,193,128,94,253,193,216,94,253,193,218,94,253,193,220,94,253,193,222,94,253,193,224,94,253,193,226,94,253,193,60,95,253,193,62,95,253,193,64,95,253,193,166,95,253,193,168,95,253,193,170,95,253,193,172,95,253,193,174,95,253,193,176,95,253,193,178,95,253,193,38,96,253,193,40,96,253,193,42,96,253,193,44,96,253,193,46,96,253,193,48,96,253,193,50,96,253,193,156,96,253,193,238,96,253,193,240,96,253,193,242,96,253,193,46,94,253,193,48,94,253,193,50,94,253,193,52,94,253,193,54,94,253,193,56,94,253,193,134,94,253,193,136,94,253,193,138,94,253,193,140,94,253,193,142,94,253,193,144,94,253,193,146,94,253,193,148,94,253,193,150,94,253,193,152,94,253,193,154,94,253,193,156,94,253,193,228,94,253,193,230,94,253,193,232,94,253,193,234,94,253,193,236,94,253,193,238,94,253,193,240,94,253,193,242,94,253,193,244,94,253,193,246,94,253,193,248,94,253,193,250,94,253,193,252,94,253,193,254,94,253,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,193,170,94,253,193,172,94,253,193,174,94,253,193,176,94,253,193,178,94,253,193,180,94,253,193,182,94,253,193,184,94,253,193,186,94,253,193,188,94,253,193,190,94,253,193,192,94,253,193,194,94,253,193,196,94,253,193,198,94,253,193,200,94,253,193,202,94,253,193,204,94,253,193,206,94,253,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,193,72,95,253,193,74,95,253,193,76,95,253,193,78,95,253,193,80,95,253,193,82,95,253,193,84,95,253,193,86,95,253,193,88,95,253,193,90,95,253,193,92,95,253,193,94,95,253,193,96,95,253,193,186,95,253,193,188,95,253,193,190,95,253,193,192,95,253,193,194,95,253,193,196,95,253,193,198,95,253,193,200,95,253,193,202,95,253,193,204,95,253,193,206,95,253,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,193,208,95,253,193,210,95,253,193,212,95,253,193,214,95,253,193,216,95,253,193,218,95,253,193,220,95,253,193,222,95,253,193,224,95,253,193,82,96,253,193,84,96,253,193,86,96,253,193,88,96,253,193,176,96,253,193,8,97,253,193,10,97,253,193,12,97,253,193,14,97,253,193,16,97,253,193,146,97,253,193,148,97,253,193,178,97,253,193,180,97,253,193,232,97,253,193,234,97,253,193,18,98,253,193,112,98,253,193,24,99,253,193,88,99,253,193,220,99,253,193,222,99,253,193,224,99,253,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,193,90,96,253,193,92,96,253,193,94,96,253,193,96,96,253,193,98,96,253,193,100,96,253,193,102,96,253,193,104,96,253,193,106,96,253,193,108,96,253,193,110,96,253,193,112,96,253,193,114,96,253,193,116,96,253,193,118,96,253,193,120,96,253,193,122,96,253,193,124,96,253,193,126,96,253,193,128,96,253,193,130,96,253,193,132,96,253,193,134,96,253,193,136,96,253,193,138,96,253,193,140,96,253,193,142,96,253,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,193,160,96,253,193,162,96,253,193,164,96,253,193,166,96,253,193,168,96,253,193,170,96,253,193,172,96,253,193,174,96,253,193,252,96,253,193,254,96,253,193,2,97,253,193,4,97,253,193,6,97,253,193,84,97,253,193,86,97,253,193,88,97,253,193,90,97,253,193,92,97,253,193,94,97,253,193,96,97,253,193,140,97,253,193,142,97,253,193,144,97,253,193,204,97,253,193,224,97,253,193,226,97,253,193,228,97,253,193,144,96,253,193,178,96,253,193,180,96,253,193,182,96,253,193,184,96,253,193,186,96,253,193,188,96,253,193,190,96,253,193,192,96,253,193,194,96,253,193,196,96,253,193,198,96,253,193,200,96,253,193,202,96,253,193,204,96,253,193,206,96,253,193,208,96,253,193,210,96,253,193,212,96,253,193,214,96,253,193,216,96,253,193,218,96,253,193,220,96,253,193,222,96,253,193,224,96,253,193,226,96,253,193,228,96,253,193,230,96,253,193,232,96,253,193,18,97,253,193,20,97,253,193,22,97,253,193,244,96,253,193,72,97,253,193,74,97,253,193,76,97,253,193,78,97,253,193,136,97,253,193,138,97,253,193,168,97,253,193,170,97,253,193,172,97,253,193,174,97,253,193,198,97,253,193,200,97,253,193,246,97,253,193,38,98,253,193,46,98,253,193,74,98,253,193,86,98,253,193,120,98,253,193,140,98,253,193,148,98,253,193,150,98,253,193,152,98,253,193,158,98,253,193,160,98,253,193,168,98,253,193,174,98,253,193,208,98,253,193,212,98,253,193,214,98,253,193,222,98,253,193,224,98,253,193,24,97,253,193,26,97,253,193,28,97,253,193,30,97,253,193,32,97,253,193,34,97,253,193,36,97,253,193,38,97,253,193,40,97,253,193,42,97,253,193,44,97,253,193,46,97,253,193,48,97,253,193,50,97,253,193,52,97,253,193,54,97,253,193,56,97,253,193,58,97,253,193,60,97,253,193,62,97,253,193,64,97,253,193,66,97,253,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,193,150,97,253,193,152,97,253,193,154,97,253,193,156,97,253,193,158,97,253,193,160,97,253,193,162,97,253,193,164,97,253,193,182,97,253,193,184,97,253,193,186,97,253,193,188,97,253,193,190,97,253,193,192,97,253,193,194,97,253,193,196,97,253,193,206,97,253,193,208,97,253,193,210,97,253,193,212,97,253,193,214,97,253,193,216,97,253,193,218,97,253,193,220,97,253,193,236,97,253,193,238,97,253,193,230,97,253,193,248,97,253,193,250,97,253,193,2,98,253,193,4,98,253,193,10,98,253,193,30,98,253,193,32,98,253,193,40,98,253,193,50,98,253,193,52,98,253,193,88,98,253,193,98,98,253,193,102,98,253,193,110,98,253,193,124,98,253,193,198,98,253,193,242,98,253,193,244,98,253,193,246,98,253,193,248,98,253,193,250,98,253,193,252,98,253,193,254,98,253,193,2,99,253,193,4,99,253,193,6,99,253,193,8,99,253,193,10,99,253,193,12,99,253,193,14,99,253,193,16,99,253,193,240,97,253,193,242,97,253,193,244,97,253,193,252,97,253,193,254,97,253,193,6,98,253,193,8,98,253,193,12,98,253,193,14,98,253,193,16,98,253,193,20,98,253,193,22,98,253,193,24,98,253,193,26,98,253,193,28,98,253,193,34,98,253,193,42,98,253,193,44,98,253,193,58,98,253,193,60,98,253,193,62,98,253,193,64,98,253,193,66,98,253,193,68,98,253,193,70,98,253,193,72,98,253,193,78,98,253,193,80,98,253,193,82,98,253,193,84,98,253,193,90,98,253,193,92,98,253,193,54,98,253,193,118,98,253,193,134,98,253,193,156,98,253,193,190,98,253,193,210,98,253,193,106,99,253,193,108,99,253,193,110,99,253,193,112,99,253,193,28,100,253,193,30,100,253,193,32,100,253,193,34,100,253,193,36,100,253,193,24,101,253,193,26,101,253,193,28,101,253,193,30,101,253,193,32,101,253,193,34,101,253,193,22,102,253,193,24,102,253,193,26,102,253,193,28,102,253,193,30,102,253,193,32,102,253,193,34,102,253,193,36,102,253,193,98,103,253,193,100,103,253,193,102,103,253,193,94,98,253,193,96,98,253,193,114,98,253,193,106,98,253,193,108,98,253,193,116,98,253,193,126,98,253,193,128,98,253,193,130,98,253,193,132,98,253,193,142,98,253,193,144,98,253,193,154,98,253,193,162,98,253,193,164,98,253,193,166,98,253,193,170,98,253,193,172,98,253,193,186,98,253,193,188,98,253,193,200,98,253,193,202,98,253,193,204,98,253,193,206,98,253,193,218,98,253,193,232,98,253,193,234,98,253,193,238,98,253,193,240,98,253,193,26,99,253,193,28,99,253,193,30,99,253,193,194,98,253,193,220,98,253,193,38,100,253,193,40,100,253,193,42,100,253,193,44,100,253,193,36,101,253,193,38,101,253,193,40,101,253,193,42,101,253,193,44,101,253,193,46,101,253,193,48,101,253,193,40,102,253,193,42,102,253,193,44,102,253,193,46,102,253,193,48,102,253,193,50,102,253,193,52,102,253,193,116,103,253,193,118,103,253,193,120,103,253,193,122,103,253,193,124,103,253,193,126,103,253,193,128,103,253,193,130,103,253,193,132,103,253,193,134,103,253,193,136,103,253,193,138,103,253,193,226,98,253,193,228,98,253,193,230,98,253,193,236,98,253,193,114,99,253,193,116,99,253,193,118,99,253,193,46,100,253,193,48,100,253,193,50,100,253,193,52,100,253,193,54,100,253,193,56,100,253,193,58,100,253,193,50,101,253,193,52,101,253,193,54,101,253,193,54,102,253,193,56,102,253,193,58,102,253,193,60,102,253,193,62,102,253,193,64,102,253,193,66,102,253,193,142,103,253,193,144,103,253,193,146,103,253,193,148,103,253,193,150,103,253,193,152,103,253,193,154,103,253,193,156,103,253,193,18,99,253,193,20,99,253,193,22,99,253,193,36,99,253,193,38,99,253,193,40,99,253,193,42,99,253,193,44,99,253,193,46,99,253,193,48,99,253,193,50,99,253,193,52,99,253,193,54,99,253,193,56,99,253,193,58,99,253,193,60,99,253,193,62,99,253,193,64,99,253,193,66,99,253,193,68,99,253,193,70,99,253,193,72,99,253,193,74,99,253,193,76,99,253,193,78,99,253,193,80,99,253,193,82,99,253,193,84,99,253,193,86,99,253,193,124,99,253,193,126,99,253,193,128,99,253,193,32,99,253,193,34,99,253,193,90,99,253,193,92,99,253,193,94,99,253,193,96,99,253,193,98,99,253,193,100,99,253,193,102,99,253,193,104,99,253,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,193,122,99,253,193,60,100,253,193,62,100,253,193,64,100,253,193,56,101,253,193,58,101,253,193,60,101,253,193,68,102,253,193,70,102,253,193,72,102,253,193,74,102,253,193,76,102,253,193,78,102,253,193,162,103,253,193,164,103,253,193,166,103,253,193,168,103,253,193,170,103,253,193,172,103,253,193,174,103,253,193,176,103,253,193,80,105,253,193,82,105,253,193,84,105,253,193,86,105,253,193,88,105,253,193,90,105,253,193,214,106,253,193,216,106,253,193,218,106,253,193,220,106,253,193,222,106,253,193,130,99,253,193,132,99,253,193,134,99,253,193,136,99,253,193,138,99,253,193,140,99,253,193,142,99,253,193,144,99,253,193,146,99,253,193,148,99,253,193,150,99,253,193,152,99,253,193,154,99,253,193,156,99,253,193,158,99,253,193,160,99,253,193,162,99,253,193,164,99,253,193,166,99,253,193,168,99,253,193,170,99,253,193,172,99,253,193,174,99,253,193,176,99,253,193,178,99,253,193,180,99,253,193,182,99,253,193,184,99,253,193,186,99,253,193,188,99,253,193,190,99,253,193,192,99,253,193,194,99,253,193,196,99,253,193,198,99,253,193,200,99,253,193,202,99,253,193,204,99,253,193,206,99,253,193,208,99,253,193,210,99,253,193,212,99,253,193,214,99,253,193,216,99,253,193,218,99,253,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,193,226,99,253,193,214,100,253,193,216,100,253,193,218,100,253,193,180,101,253,193,182,101,253,193,184,101,253,193,186,101,253,193,188,101,253,193,190,101,253,193,192,101,253,193,220,102,253,193,222,102,253,193,224,102,253,193,226,102,253,193,228,102,253,193,230,102,253,193,232,102,253,193,234,102,253,193,90,104,253,193,92,104,253,193,94,104,253,193,96,104,253,193,222,105,253,193,224,105,253,193,226,105,253,193,228,105,253,193,230,105,253,193,232,105,253,193,86,107,253,193,88,107,253,193,90,107,253,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,193,220,100,253,193,222,100,253,193,224,100,253,193,226,100,253,193,228,100,253,193,230,100,253,193,232,100,253,193,234,100,253,193,236,100,253,193,238,100,253,193,240,100,253,193,242,100,253,193,244,100,253,193,246,100,253,193,248,100,253,193,250,100,253,193,252,100,253,193,254,100,253,193,2,101,253,193,4,101,253,193,6,101,253,193,8,101,253,193,10,101,253,193,12,101,253,193,14,101,253,193,16,101,253,193,18,101,253,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,193,62,101,253,193,64,101,253,193,66,101,253,193,68,101,253,193,70,101,253,193,72,101,253,193,74,101,253,193,178,103,253,193,76,101,253,193,78,101,253,193,80,101,253,193,82,101,253,193,84,101,253,193,86,101,253,193,88,101,253,193,90,101,253,193,92,101,253,193,94,101,253,193,96,101,253,193,98,101,253,193,100,101,253,193,102,101,253,193,104,101,253,193,106,101,253,193,108,101,253,193,110,101,253,193,210,100,253,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,193,252,101,253,193,254,101,253,193,2,102,253,193,4,102,253,193,6,102,253,193,8,102,253,193,10,102,253,193,12,102,253,193,14,102,253,193,16,102,253,193,18,102,253,193,20,102,253,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,193,104,103,253,193,106,103,253,193,108,103,253,193,110,103,253,193,112,103,253,193,114,103,253,193,244,104,253,193,246,104,253,193,248,104,253,193,250,104,253,193,252,104,253,193,254,104,253,193,2,105,253,193,4,105,253,193,6,105,253,193,8,105,253,193,156,106,253,193,158,106,253,193,160,106,253,193,162,106,253,193,164,106,253,193,166,106,253,193,168,106,253,193,170,106,253,193,252,107,253,193,254,107,253,193,2,108,253,193,4,108,253,193,6,108,253,193,8,108,253,193,10,108,253,193,66,109,253,193,140,103,253,193,10,105,253,193,12,105,253,193,14,105,253,193,16,105,253,193,18,105,253,193,20,105,253,193,22,105,253,193,24,105,253,193,26,105,253,193,28,105,253,193,30,105,253,193,32,105,253,193,172,106,253,193,174,106,253,193,176,106,253,193,178,106,253,193,180,106,253,193,182,106,253,193,14,108,253,193,16,108,253,193,18,108,253,193,20,108,253,193,22,108,253,193,24,108,253,193,26,108,253,193,28,108,253,193,30,108,253,193,32,108,253,193,34,108,253,193,36,108,253,193,76,109,253,193,158,103,253,193,160,103,253,193,34,105,253,193,36,105,253,193,38,105,253,193,40,105,253,193,42,105,253,193,44,105,253,193,46,105,253,193,48,105,253,193,50,105,253,193,52,105,253,193,54,105,253,193,56,105,253,193,58,105,253,193,60,105,253,193,62,105,253,193,64,105,253,193,66,105,253,193,68,105,253,193,70,105,253,193,72,105,253,193,74,105,253,193,76,105,253,193,78,105,253,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,193,92,105,253,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,193,94,105,253,193,84,104,253,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,193,38,108,253,193,40,108,253,193,42,108,253,193,44,108,253,193,46,108,253,193,48,108,253,193,50,108,253,193,52,108,253,193,54,108,253,193,56,108,253,193,58,108,253,193,60,108,253,193,88,109,253,193,90,109,253,193,92,109,253,193,94,109,253,193,96,109,253,193,98,109,253,193,100,109,253,193,102,109,253,193,104,109,253,193,106,109,253,193,156,110,253,193,158,110,253,193,224,106,253,193,226,106,253,193,62,108,253,193,64,108,253,193,108,109,253,193,110,109,253,193,190,110,253,193,192,110,253,193,194,110,253,193,196,110,253,193,198,110,253,193,200,110,253,193,202,110,253,193,194,111,253,193,106,112,253,193,108,112,253,193,110,112,253,193,112,112,253,193,8,113,253,193,68,114,253,193,84,114,253,193,106,114,253,193,108,114,253,193,150,114,253,193,152,114,253,193,154,114,253,193,156,114,253,193,158,114,253,206,0,104,0,206,0,104,0,206,0,104,0,206,0,104,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,193,66,108,253,193,40,107,253,193,42,107,253,193,44,107,253,193,46,107,253,193,48,107,253,193,50,107,253,193,52,107,253,193,54,107,253,193,56,107,253,193,58,107,253,193,60,107,253,193,62,107,253,193,64,107,253,193,66,107,253,193,68,107,253,193,70,107,253,193,72,107,253,193,74,107,253,193,76,107,253,193,78,107,253,193,80,107,253,193,82,107,253,193,92,107,253,193,94,107,253,193,96,107,253,193,98,107,253,193,100,107,253,193,102,107,253,193,104,107,253,193,106,107,253,193,172,108,253,193,174,108,253,193,176,108,253,193,178,108,253,193,180,108,253,193,182,108,253,193,184,108,253,193,186,108,253,193,188,108,253,193,190,108,253,193,192,108,253,193,194,108,253,193,216,109,253,193,218,109,253,193,220,109,253,193,222,109,253,193,224,109,253,193,226,109,253,193,228,109,253,193,230,109,253,193,232,109,253,193,2,111,253,193,4,111,253,193,6,111,253,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,193,112,109,253,193,204,110,253,193,114,109,253,193,116,109,253,193,118,109,253,193,120,109,253,193,170,108,253,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,193,234,109,253,193,236,109,253,193,238,109,253,193,240,109,253,193,242,109,253,193,244,109,253,193,246,109,253,193,248,109,253,193,22,111,253,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,193,68,109,253,193,70,109,253,193,72,109,253,193,74,109,253,193,122,110,253,193,124,110,253,193,126,110,253,193,128,110,253,193,130,110,253,193,132,110,253,193,134,110,253,193,136,110,253,193,138,110,253,193,140,110,253,193,142,110,253,193,146,111,253,193,148,111,253,193,150,111,253,193,152,111,253,193,154,111,253,193,156,111,253,193,158,111,253,193,74,112,253,193,76,112,253,193,78,112,253,193,80,112,253,193,82,112,253,193,236,112,253,193,238,112,253,193,84,113,253,193,86,113,253,193,88,113,253,193,78,109,253,193,80,109,253,193,82,109,253,193,84,109,253,193,86,109,253,193,144,110,253,193,146,110,253,193,148,110,253,193,150,110,253,193,152,110,253,193,154,110,253,193,160,111,253,193,162,111,253,193,164,111,253,193,166,111,253,193,168,111,253,193,170,111,253,193,172,111,253,193,84,112,253,193,86,112,253,193,88,112,253,193,90,112,253,193,92,112,253,193,94,112,253,193,240,112,253,193,242,112,253,193,244,112,253,193,246,112,253,193,90,113,253,193,92,113,253,193,94,113,253,193,160,113,253,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,193,206,110,253,193,208,110,253,193,210,110,253,193,212,110,253,193,214,110,253,193,216,110,253,193,218,110,253,193,220,110,253,193,222,110,253,193,224,110,253,193,226,110,253,193,228,110,253,193,230,110,253,193,232,110,253,193,234,110,253,193,236,110,253,193,238,110,253,193,240,110,253,193,242,110,253,193,244,110,253,193,246,110,253,193,248,110,253,193,250,110,253,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,193,160,110,253,193,162,110,253,193,164,110,253,193,166,110,253,193,168,110,253,193,170,110,253,193,172,110,253,193,174,110,253,193,176,110,253,193,178,110,253,193,180,110,253,193,182,110,253,193,184,110,253,193,186,110,253,193,188,110,253,193,174,111,253,193,176,111,253,193,178,111,253,193,180,111,253,193,182,111,253,193,184,111,253,193,186,111,253,193,188,111,253,193,190,111,253,193,192,111,253,193,96,112,253,193,98,112,253,193,100,112,253,193,102,112,253,193,104,112,253,193,248,112,253,193,250,112,253,193,252,110,253,193,254,110,253,193,196,111,253,193,198,111,253,193,200,111,253,193,202,111,253,193,204,111,253,193,206,111,253,193,208,111,253,193,210,111,253,193,212,111,253,193,214,111,253,193,216,111,253,193,218,111,253,193,220,111,253,193,222,111,253,193,224,111,253,193,226,111,253,193,228,111,253,193,230,111,253,193,232,111,253,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,193,8,111,253,193,10,111,253,193,12,111,253,193,14,111,253,193,16,111,253,193,18,111,253,193,20,111,253,193,236,111,253,193,238,111,253,193,240,111,253,193,242,111,253,193,244,111,253,193,246,111,253,193,248,111,253,193,250,111,253,193,150,112,253,193,152,112,253,193,154,112,253,193,156,112,253,193,158,112,253,193,160,112,253,193,20,113,253,193,22,113,253,193,24,113,253,193,120,113,253,193,46,114,253,193,208,114,253,193,210,114,253,193,212,114,253,193,88,115,253,193,90,115,253,193,92,115,253,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,193,234,111,253,193,10,113,253,193,12,113,253,193,14,113,253,193,16,113,253,193,18,113,253,193,106,113,253,193,108,113,253,193,110,113,253,193,112,113,253,193,114,113,253,193,116,113,253,193,118,113,253,193,168,113,253,193,170,113,253,193,172,113,253,193,174,113,253,193,176,113,253,193,178,113,253,193,180,113,253,193,234,113,253,193,236,113,253,193,238,113,253,193,240,113,253,193,242,113,253,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,193,26,113,253,193,28,113,253,193,30,113,253,193,252,112,253,193,254,112,253,193,2,113,253,193,4,113,253,193,6,113,253,193,96,113,253,193,98,113,253,193,100,113,253,193,102,113,253,193,104,113,253,193,164,113,253,193,166,113,253,193,230,113,253,193,232,113,253,193,14,114,253,193,40,114,253,193,76,114,253,193,82,114,253,193,148,114,253,193,4,115,253,193,140,116,253,193,24,117,253,193,214,117,253,193,138,118,253,193,214,118,253,193,244,118,253,193,246,118,253,193,26,119,253,193,62,119,253,193,64,119,253,193,82,119,253,193,84,119,253,193,32,113,253,193,34,113,253,193,36,113,253,193,38,113,253,193,40,113,253,193,42,113,253,193,44,113,253,193,46,113,253,193,48,113,253,193,50,113,253,193,52,113,253,193,54,113,253,193,56,113,253,193,58,113,253,193,60,113,253,193,62,113,253,193,64,113,253,193,66,113,253,193,68,113,253,193,70,113,253,193,72,113,253,193,74,113,253,193,76,113,253,193,78,113,253,193,80,113,253,193,82,113,253,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,193,182,113,253,193,184,113,253,193,186,113,253,193,188,113,253,193,190,113,253,193,192,113,253,193,194,113,253,193,196,113,253,193,198,113,253,193,200,113,253,193,202,113,253,193,204,113,253,193,206,113,253,193,208,113,253,193,210,113,253,193,212,113,253,193,214,113,253,193,216,113,253,193,218,113,253,193,220,113,253,193,222,113,253,193,244,113,253,193,246,113,253,193,248,113,253,193,250,113,253,193,252,113,253,193,254,113,253,193,2,114,253,193,4,114,253,193,6,114,253,193,8,114,253,193,10,114,253,193,22,114,253,193,24,114,253,193,26,114,253,193,28,114,253,193,30,114,253,193,32,114,253,193,34,114,253,193,36,114,253,193,152,113,253,193,48,114,253,193,50,114,253,193,52,114,253,193,54,114,253,193,56,114,253,193,60,114,253,193,62,114,253,193,64,114,253,193,70,114,253,193,74,114,253,193,78,114,253,193,80,114,253,193,132,114,253,193,134,114,253,193,154,113,253,193,156,113,253,193,158,113,253,193,224,113,253,193,12,114,253,193,102,114,253,193,136,114,253,193,220,114,253,193,222,114,253,193,224,114,253,193,226,114,253,193,228,114,253,193,102,115,253,193,104,115,253,193,106,115,253,193,246,115,253,193,248,115,253,193,250,115,253,193,252,115,253,193,254,115,253,193,2,116,253,193,118,116,253,193,120,116,253,193,122,116,253,193,234,116,253,193,236,116,253,193,238,116,253,193,240,116,253,193,242,116,253,193,244,116,253,193,246,116,253,193,248,116,253,193,162,113,253,193,226,113,253,193,228,113,253,193,38,114,253,193,58,114,253,193,66,114,253,193,72,114,253,193,140,114,253,193,142,114,253,193,144,114,253,193,146,114,253,193,234,114,253,193,236,114,253,193,238,114,253,193,240,114,253,193,242,114,253,193,244,114,253,193,246,114,253,193,248,114,253,193,250,114,253,193,252,114,253,193,254,114,253,193,2,115,253,193,112,115,253,193,114,115,253,193,116,115,253,193,118,115,253,193,120,115,253,193,122,115,253,193,124,115,253,193,126,115,253,193,128,115,253,193,16,114,253,193,18,114,253,193,20,114,253,193,42,114,253,193,44,114,253,193,86,114,253,193,88,114,253,193,90,114,253,193,92,114,253,193,94,114,253,193,96,114,253,193,98,114,253,193,100,114,253,193,110,114,253,193,112,114,253,193,114,114,253,193,116,114,253,193,118,114,253,193,120,114,253,193,122,114,253,193,124,114,253,193,126,114,253,193,128,114,253,193,130,114,253,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,193,214,114,253,193,216,114,253,193,218,114,253,193,94,115,253,193,96,115,253,193,98,115,253,193,100,115,253,193,114,116,253,193,116,116,253,193,226,116,253,193,228,116,253,193,230,116,253,193,232,116,253,193,188,117,253,193,82,117,253,193,190,117,253,193,2,118,253,193,58,118,253,193,4,118,253,193,60,118,253,193,62,118,253,193,122,118,253,193,124,118,253,193,204,118,253,193,206,118,253,193,208,118,253,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,206,0,104,0,206,0,104,0,206,0,104,0,206,0,104,0,206,0,104,0,193,136,115,253,193,138,115,253,193,140,115,253,193,142,115,253,193,144,115,253,193,146,115,253,193,148,115,253,193,150,115,253,193,152,115,253,193,154,115,253,193,156,115,253,193,158,115,253,193,160,115,253,193,26,116,253,193,28,116,253,193,30,116,253,193,32,116,253,193,34,116,253,193,36,116,253,193,38,116,253,193,40,116,253,193,42,116,253,193,44,116,253,193,46,116,253,193,48,116,253,193,142,116,253,193,144,116,253,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,193,130,115,253,193,132,115,253,193,134,115,253,193,12,116,253,193,14,116,253,193,16,116,253,193,18,116,253,193,20,116,253,193,22,116,253,193,24,116,253,193,126,116,253,193,128,116,253,193,130,116,253,193,132,116,253,193,134,116,253,193,136,116,253,193,138,116,253,193,252,116,253,193,254,116,253,193,2,117,253,193,4,117,253,193,6,117,253,193,8,117,253,193,10,117,253,193,12,117,253,193,14,117,253,193,16,117,253,193,18,117,253,193,20,117,253,193,22,117,253,193,98,117,253,193,100,117,253,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,193,244,115,253,193,112,116,253,193,186,117,253,193,52,118,253,193,54,118,253,193,56,118,253,193,196,118,253,193,212,118,253,193,252,118,253,193,254,118,253,193,28,119,253,193,170,119,253,193,52,120,253,193,54,120,253,193,110,120,253,193,112,120,253,193,114,120,253,193,116,120,253,193,208,120,253,193,210,120,253,193,212,120,253,193,54,121,253,193,56,121,253,193,58,121,253,193,60,121,253,193,62,121,253,193,64,121,253,193,66,121,253,193,146,121,253,193,148,121,253,193,150,121,253,193,152,121,253,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,193,146,116,253,193,148,116,253,193,150,116,253,193,152,116,253,193,154,116,253,193,156,116,253,193,158,116,253,193,160,116,253,193,162,116,253,193,164,116,253,193,166,116,253,193,168,116,253,193,26,117,253,193,28,117,253,193,30,117,253,193,32,117,253,193,34,117,253,193,36,117,253,193,38,117,253,193,40,117,253,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,193,152,117,253,193,154,117,253,193,156,117,253,193,158,117,253,193,160,117,253,193,162,117,253,193,164,117,253,193,166,117,253,193,168,117,253,193,170,117,253,193,172,117,253,193,174,117,253,193,176,117,253,193,178,117,253,193,180,117,253,193,182,117,253,193,234,117,253,193,236,117,253,193,238,117,253,193,240,117,253,193,242,117,253,193,244,117,253,193,246,117,253,193,248,117,253,193,250,117,253,193,252,117,253,193,84,117,253,193,86,117,253,193,88,117,253,193,90,117,253,193,92,117,253,193,192,117,253,193,194,117,253,193,196,117,253,193,198,117,253,193,6,118,253,193,8,118,253,193,64,118,253,193,66,118,253,193,68,118,253,193,70,118,253,193,72,118,253,193,126,118,253,193,128,118,253,193,150,118,253,193,170,118,253,193,186,118,253,193,190,118,253,193,58,119,253,193,118,119,253,193,18,120,253,193,70,120,253,193,174,120,253,193,176,120,253,193,12,121,253,193,14,121,253,193,16,121,253,193,18,121,253,193,102,117,253,193,104,117,253,193,106,117,253,193,108,117,253,193,110,117,253,193,112,117,253,193,202,117,253,193,204,117,253,193,206,117,253,193,208,117,253,193,210,117,253,193,212,117,253,193,10,118,253,193,12,118,253,193,14,118,253,193,16,118,253,193,18,118,253,193,20,118,253,193,22,118,253,193,74,118,253,193,76,118,253,193,78,118,253,193,80,118,253,193,82,118,253,193,84,118,253,193,86,118,253,193,130,118,253,193,132,118,253,193,134,118,253,193,136,118,253,193,154,118,253,193,162,118,253,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,193,216,117,253,193,218,117,253,193,220,117,253,193,222,117,253,193,224,117,253,193,226,117,253,193,228,117,253,193,230,117,253,193,232,117,253,193,24,118,253,193,26,118,253,193,28,118,253,193,88,118,253,193,90,118,253,193,92,118,253,193,94,118,253,193,96,118,253,193,98,118,253,193,100,118,253,193,102,118,253,193,104,118,253,193,106,118,253,193,108,118,253,193,140,118,253,193,142,118,253,193,200,117,253,193,152,118,253,193,182,124,253,193,234,128,253,193,42,146,253,193,84,147,253,193,110,153,253,193,250,156,253,193,16,157,253,193,212,165,253,193,76,172,253,193,104,173,253,193,140,173,253,193,2,190,253,193,12,192,253,193,118,193,253,193,194,193,253,193,8,195,253,193,120,195,253,193,220,195,253,193,6,198,253,193,138,203,253,193,132,206,253,193,160,209,253,193,60,219,253,193,56,221,253,193,140,223,253,193,136,222,253,193,208,223,253,193,212,224,253,255,255,255,255,255,255,255,255,193,254,117,253,193,30,118,253,193,32,118,253,193,34,118,253,193,36,118,253,193,38,118,253,193,40,118,253,193,42,118,253,193,44,118,253,193,46,118,253,193,48,118,253,193,50,118,253,193,110,118,253,193,112,118,253,193,114,118,253,193,116,118,253,193,118,118,253,193,120,118,253,193,148,118,253,193,158,118,253,193,160,118,253,193,178,118,253,193,180,118,253,193,200,118,253,193,202,118,253,193,210,118,253,193,218,118,253,193,250,118,253,193,92,119,253,193,196,119,253,193,224,119,253,193,2,120,253,193,144,118,253,193,146,118,253,193,156,118,253,193,164,118,253,193,166,118,253,193,168,118,253,193,174,118,253,193,176,118,253,193,184,118,253,193,188,118,253,193,194,118,253,193,216,118,253,193,248,118,253,193,66,119,253,193,86,119,253,193,88,119,253,193,90,119,253,193,124,119,253,193,148,119,253,193,168,119,253,193,192,119,253,193,194,119,253,193,4,120,253,193,40,120,253,193,76,120,253,193,78,120,253,193,80,120,253,193,82,120,253,193,186,120,253,193,188,120,253,193,32,121,253,193,124,121,253,193,172,118,253,193,182,118,253,193,192,118,253,193,198,118,253,193,60,119,253,193,38,120,253,193,72,120,253,193,178,120,253,193,180,120,253,193,22,121,253,193,228,121,253,193,230,121,253,193,232,121,253,193,206,122,253,193,208,122,253,193,42,123,253,193,44,123,253,193,46,123,253,193,100,123,253,193,164,123,253,193,232,123,253,193,234,123,253,193,6,124,253,193,26,124,253,193,92,124,253,193,116,124,253,193,118,124,253,193,120,124,253,193,154,124,253,193,156,124,253,193,158,124,253,193,160,124,253,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,193,2,119,253,193,4,119,253,193,6,119,253,193,8,119,253,193,10,119,253,193,12,119,253,193,14,119,253,193,16,119,253,193,18,119,253,193,20,119,253,193,22,119,253,193,24,119,253,193,30,119,253,193,32,119,253,193,34,119,253,193,36,119,253,193,38,119,253,193,40,119,253,193,42,119,253,193,44,119,253,193,46,119,253,193,48,119,253,193,50,119,253,193,52,119,253,193,54,119,253,193,56,119,253,193,68,119,253,193,70,119,253,193,72,119,253,193,74,119,253,193,76,119,253,193,78,119,253,193,80,119,253,193,94,119,253,193,96,119,253,193,98,119,253,193,100,119,253,193,102,119,253,193,104,119,253,193,106,119,253,193,108,119,253,193,110,119,253,193,112,119,253,193,114,119,253,193,116,119,253,193,128,119,253,193,130,119,253,193,132,119,253,193,150,119,253,193,134,119,253,193,136,119,253,193,138,119,253,193,140,119,253,193,142,119,253,193,144,119,253,193,146,119,253,193,152,119,253,193,154,119,253,193,120,119,253,193,122,119,253,193,166,119,253,193,188,119,253,193,190,119,253,193,220,119,253,193,222,119,253,193,74,120,253,193,182,120,253,193,184,120,253,193,24,121,253,193,26,121,253,193,28,121,253,193,30,121,253,193,120,121,253,193,122,121,253,193,88,122,253,193,90,122,253,193,92,122,253,193,94,122,253,193,96,122,253,193,98,122,253,193,100,122,253,193,210,122,253,193,212,122,253,193,214,122,253,193,216,122,253,193,218,122,253,193,48,123,253,193,50,123,253,193,52,123,253,193,102,123,253,193,156,119,253,193,158,119,253,193,160,119,253,193,162,119,253,193,164,119,253,193,172,119,253,193,174,119,253,193,176,119,253,193,178,119,253,193,180,119,253,193,182,119,253,193,184,119,253,193,186,119,253,193,198,119,253,193,200,119,253,193,202,119,253,193,204,119,253,193,206,119,253,193,208,119,253,193,210,119,253,193,212,119,253,193,214,119,253,193,216,119,253,193,218,119,253,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,193,8,120,253,193,10,120,253,193,16,120,253,193,26,120,253,193,28,120,253,193,30,120,253,193,32,120,253,193,34,120,253,193,36,120,253,193,56,120,253,193,58,120,253,193,60,120,253,193,62,120,253,193,64,120,253,193,66,120,253,193,68,120,253,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,193,6,120,253,193,12,120,253,193,14,120,253,193,20,120,253,193,22,120,253,193,24,120,253,193,42,120,253,193,44,120,253,193,46,120,253,193,48,120,253,193,50,120,253,193,84,120,253,193,86,120,253,193,88,120,253,193,90,120,253,193,92,120,253,193,94,120,253,193,96,120,253,193,98,120,253,193,100,120,253,193,102,120,253,193,104,120,253,193,106,120,253,193,108,120,253,193,190,120,253,193,192,120,253,193,194,120,253,193,196,120,253,193,198,120,253,193,200,120,253,193,202,120,253,193,204,120,253,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,193,206,120,253,193,34,121,253,193,36,121,253,193,38,121,253,193,40,121,253,193,42,121,253,193,44,121,253,193,46,121,253,193,48,121,253,193,50,121,253,193,52,121,253,193,126,121,253,193,128,121,253,193,130,121,253,193,132,121,253,193,134,121,253,193,136,121,253,193,138,121,253,193,140,121,253,193,142,121,253,193,144,121,253,193,234,121,253,193,236,121,253,193,108,122,253,193,238,121,253,193,240,121,253,193,242,121,253,193,244,121,253,193,246,121,253,193,248,121,253,193,250,121,253,193,252,121,253,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,193,20,121,253,193,220,121,253,193,222,121,253,193,224,121,253,193,226,121,253,193,82,122,253,193,84,122,253,193,86,122,253,193,204,122,253,193,98,123,253,193,230,123,253,193,66,124,253,193,114,124,253,193,148,124,253,193,150,124,253,193,152,124,253,193,180,124,253,193,220,124,253,193,248,124,253,193,250,124,253,193,28,125,253,193,102,125,253,193,104,125,253,193,112,125,253,193,114,125,253,193,146,125,253,193,200,125,253,193,36,126,253,193,144,126,253,193,146,126,253,193,248,126,253,193,250,126,253,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,193,254,121,253,193,2,122,253,193,4,122,253,193,110,122,253,193,112,122,253,193,114,122,253,193,116,122,253,193,118,122,253,193,120,122,253,193,122,122,253,193,124,122,253,193,126,122,253,193,128,122,253,193,130,122,253,193,132,122,253,193,134,122,253,193,222,122,253,193,224,122,253,193,226,122,253,193,228,122,253,193,230,122,253,193,232,122,253,193,234,122,253,193,236,122,253,193,238,122,253,193,54,123,253,193,56,123,253,193,58,123,253,193,60,123,253,193,62,123,253,193,108,123,253,193,110,123,253,193,6,122,253,193,8,122,253,193,10,122,253,193,12,122,253,193,14,122,253,193,16,122,253,193,18,122,253,193,20,122,253,193,22,122,253,193,136,122,253,193,138,122,253,193,140,122,253,193,142,122,253,193,144,122,253,193,146,122,253,193,148,122,253,193,64,123,253,193,116,123,253,193,184,123,253,193,186,123,253,193,188,123,253,193,242,123,253,193,214,124,253,193,246,124,253,193,64,125,253,193,164,125,253,193,166,125,253,193,190,125,253,193,246,125,253,193,248,125,253,193,250,125,253,193,252,125,253,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,193,150,122,253,193,152,122,253,193,154,122,253,193,156,122,253,193,158,122,253,193,160,122,253,193,162,122,253,193,164,122,253,193,166,122,253,193,168,122,253,193,170,122,253,193,172,122,253,193,174,122,253,193,176,122,253,193,178,122,253,193,180,122,253,193,182,122,253,193,184,122,253,193,186,122,253,193,188,122,253,193,190,122,253,193,192,122,253,193,194,122,253,193,196,122,253,193,198,122,253,193,200,122,253,193,202,122,253,193,102,122,253,193,104,122,253,193,106,122,253,193,220,122,253,193,10,124,253,193,88,124,253,193,96,124,253,193,126,124,253,193,168,124,253,193,170,124,253,193,172,124,253,193,174,124,253,193,192,124,253,193,194,124,253,193,236,124,253,193,4,125,253,193,6,125,253,193,48,125,253,193,50,125,253,193,52,125,253,193,84,125,253,193,86,125,253,193,88,125,253,193,106,125,253,193,108,125,253,193,120,125,253,193,122,125,253,193,134,125,253,193,136,125,253,193,140,125,253,193,142,125,253,193,148,125,253,193,240,122,253,193,242,122,253,193,244,122,253,193,246,122,253,193,248,122,253,193,250,122,253,193,252,122,253,193,254,122,253,193,2,123,253,193,4,123,253,193,6,123,253,193,8,123,253,193,10,123,253,193,12,123,253,193,14,123,253,193,16,123,253,193,18,123,253,193,20,123,253,193,22,123,253,193,24,123,253,193,26,123,253,193,28,123,253,193,30,123,253,193,32,123,253,193,34,123,253,193,36,123,253,193,38,123,253,193,40,123,253,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,193,118,123,253,193,120,123,253,193,122,123,253,193,124,123,253,193,126,123,253,193,128,123,253,193,130,123,253,193,132,123,253,193,134,123,253,193,136,123,253,193,138,123,253,193,140,123,253,193,142,123,253,193,144,123,253,193,146,123,253,193,148,123,253,193,150,123,253,193,152,123,253,193,154,123,253,193,156,123,253,193,104,123,253,193,106,123,253,193,166,123,253,193,168,123,253,193,170,123,253,193,172,123,253,193,236,123,253,193,238,123,253,193,8,124,253,193,48,124,253,193,68,124,253,193,94,124,253,193,122,124,253,193,124,124,253,193,162,124,253,193,164,124,253,193,166,124,253,193,188,124,253,193,190,124,253,193,234,124,253,193,42,125,253,193,44,125,253,193,46,125,253,193,82,125,253,193,132,125,253,193,204,125,253,193,44,126,253,193,46,126,253,193,150,126,253,193,152,126,253,193,154,126,253,193,156,126,253,193,112,123,253,193,114,123,253,193,174,123,253,193,176,123,253,193,178,123,253,193,180,123,253,193,182,123,253,193,240,123,253,193,84,124,253,193,86,124,253,193,90,124,253,193,98,124,253,193,100,124,253,193,102,124,253,193,104,124,253,193,106,124,253,193,128,124,253,193,130,124,253,193,132,124,253,193,134,124,253,193,136,124,253,193,138,124,253,193,140,124,253,193,142,124,253,193,176,124,253,193,178,124,253,193,196,124,253,193,198,124,253,193,200,124,253,193,202,124,253,193,204,124,253,193,206,124,253,193,158,123,253,193,160,123,253,193,162,123,253,193,190,123,253,193,192,123,253,193,194,123,253,193,196,123,253,193,198,123,253,193,200,123,253,193,202,123,253,193,204,123,253,193,206,123,253,193,208,123,253,193,210,123,253,193,212,123,253,193,214,123,253,193,216,123,253,193,218,123,253,193,220,123,253,193,222,123,253,193,244,123,253,193,224,123,253,193,226,123,253,193,228,123,253,193,246,123,253,193,248,123,253,193,250,123,253,193,252,123,253,193,254,123,253,193,2,124,253,193,4,124,253,193,12,124,253,193,14,124,253,193,16,124,253,193,18,124,253,193,20,124,253,193,22,124,253,193,24,124,253,193,28,124,253,193,30,124,253,193,32,124,253,193,34,124,253,193,36,124,253,193,38,124,253,193,40,124,253,193,42,124,253,193,44,124,253,193,50,124,253,193,52,124,253,193,54,124,253,193,56,124,253,193,58,124,253,193,60,124,253,193,62,124,253,193,46,124,253,193,70,124,253,193,64,124,253,193,72,124,253,193,74,124,253,193,76,124,253,193,78,124,253,193,80,124,253,193,82,124,253,193,108,124,253,193,110,124,253,193,112,124,253,193,144,124,253,193,146,124,253,193,216,124,253,193,218,124,253,193,66,125,253,193,68,125,253,193,70,125,253,193,98,125,253,193,100,125,253,193,124,125,253,193,126,125,253,193,144,125,253,193,152,125,253,193,158,125,253,193,168,125,253,193,170,125,253,193,172,125,253,193,174,125,253,193,176,125,253,193,178,125,253,193,192,125,253,193,194,125,253,193,196,125,253,193,198,125,253,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,193,184,124,253,193,186,124,253,193,222,124,253,193,224,124,253,193,226,124,253,193,228,124,253,193,230,124,253,193,232,124,253,193,252,124,253,193,254,124,253,193,2,125,253,193,30,125,253,193,32,125,253,193,34,125,253,193,36,125,253,193,38,125,253,193,40,125,253,193,72,125,253,193,74,125,253,193,76,125,253,193,78,125,253,193,80,125,253,193,116,125,253,193,118,125,253,193,128,125,253,193,130,125,253,193,202,125,253,193,38,126,253,193,40,126,253,193,42,126,253,193,148,126,253,193,254,126,253,193,208,124,253,193,210,124,253,193,212,124,253,193,238,124,253,193,240,124,253,193,242,124,253,193,244,124,253,193,8,125,253,193,10,125,253,193,12,125,253,193,14,125,253,193,16,125,253,193,18,125,253,193,20,125,253,193,22,125,253,193,24,125,253,193,26,125,253,193,54,125,253,193,56,125,253,193,58,125,253,193,60,125,253,193,62,125,253,193,90,125,253,193,92,125,253,193,94,125,253,193,96,125,253,193,110,125,253,193,138,125,253,193,154,125,253,193,156,125,253,193,160,125,253,193,162,125,253,193,150,125,253,193,206,125,253,193,208,125,253,193,48,126,253,193,50,126,253,193,52,126,253,193,158,126,253,193,160,126,253,193,162,126,253,193,164,126,253,193,166,126,253,193,16,127,253,193,18,127,253,193,20,127,253,193,22,127,253,193,24,127,253,193,26,127,253,193,160,127,253,193,162,127,253,193,164,127,253,193,166,127,253,193,168,127,253,193,170,127,253,193,80,128,253,193,82,128,253,193,84,128,253,193,86,128,253,193,88,128,253,193,90,128,253,193,92,128,253,193,94,128,253,193,96,128,253,193,180,125,253,193,182,125,253,193,184,125,253,193,186,125,253,193,188,125,253,193,210,125,253,193,212,125,253,193,214,125,253,193,216,125,253,193,218,125,253,193,220,125,253,193,222,125,253,193,224,125,253,193,226,125,253,193,228,125,253,193,230,125,253,193,232,125,253,193,234,125,253,193,236,125,253,193,238,125,253,193,240,125,253,193,242,125,253,193,244,125,253,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,193,254,125,253,193,92,126,253,193,94,126,253,193,96,126,253,193,192,126,253,193,194,126,253,193,196,126,253,193,198,126,253,193,200,126,253,193,66,127,253,193,68,127,253,193,70,127,253,193,72,127,253,193,74,127,253,193,76,127,253,193,78,127,253,193,208,127,253,193,210,127,253,193,212,127,253,193,214,127,253,193,216,127,253,193,218,127,253,193,220,127,253,193,144,128,253,193,146,128,253,193,148,128,253,193,32,129,253,193,34,129,253,193,36,129,253,193,38,129,253,193,40,129,253,193,42,129,253,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,193,98,126,253,193,100,126,253,193,102,126,253,193,104,126,253,193,106,126,253,193,108,126,253,193,110,126,253,193,112,126,253,193,114,126,253,193,116,126,253,193,118,126,253,193,120,126,253,193,122,126,253,193,124,126,253,193,126,126,253,193,128,126,253,193,130,126,253,193,132,126,253,193,134,126,253,193,136,126,253,193,138,126,253,193,140,126,253,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,193,168,126,253,193,170,126,253,193,172,126,253,193,174,126,253,193,176,126,253,193,178,126,253,193,180,126,253,193,182,126,253,193,184,126,253,193,186,126,253,193,188,126,253,193,190,126,253,193,28,127,253,193,30,127,253,193,32,127,253,193,34,127,253,193,172,127,253,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,193,142,126,253,193,202,126,253,193,204,126,253,193,206,126,253,193,208,126,253,193,210,126,253,193,212,126,253,193,214,126,253,193,216,126,253,193,218,126,253,193,220,126,253,193,222,126,253,193,224,126,253,193,226,126,253,193,228,126,253,193,230,126,253,193,232,126,253,193,234,126,253,193,236,126,253,193,238,126,253,193,240,126,253,193,242,126,253,193,244,126,253,193,246,126,253,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,193,252,126,253,193,136,127,253,193,138,127,253,193,140,127,253,193,50,128,253,193,52,128,253,193,218,128,253,193,220,128,253,193,222,128,253,193,224,128,253,193,226,128,253,193,228,128,253,193,230,128,253,193,232,128,253,193,136,129,253,193,138,129,253,193,248,129,253,193,250,129,253,193,252,129,253,193,254,129,253,193,112,130,253,193,114,130,253,193,116,130,253,193,118,130,253,193,102,131,253,193,202,131,253,193,82,132,253,193,216,132,253,193,208,133,253,193,188,134,253,193,218,134,253,193,22,135,253,193,2,127,253,193,142,127,253,193,144,127,253,193,146,127,253,193,54,128,253,193,56,128,253,193,58,128,253,193,60,128,253,193,62,128,253,193,64,128,253,193,66,128,253,193,236,128,253,193,238,128,253,193,240,128,253,193,242,128,253,193,244,128,253,193,140,129,253,193,142,129,253,193,144,129,253,193,146,129,253,193,2,130,253,193,4,130,253,193,6,130,253,193,8,130,253,193,10,130,253,193,120,130,253,193,122,130,253,193,124,130,253,193,208,130,253,193,210,130,253,193,212,130,253,193,214,130,253,193,4,127,253,193,6,127,253,193,8,127,253,193,10,127,253,193,12,127,253,193,14,127,253,193,148,127,253,193,150,127,253,193,152,127,253,193,154,127,253,193,156,127,253,193,158,127,253,193,68,128,253,193,70,128,253,193,72,128,253,193,74,128,253,193,76,128,253,193,78,128,253,193,246,128,253,193,148,129,253,193,150,129,253,193,152,129,253,193,154,129,253,193,156,129,253,193,158,129,253,193,160,129,253,193,162,129,253,193,12,130,253,193,14,130,253,193,16,130,253,193,18,130,253,193,20,130,253,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,193,174,127,253,193,176,127,253,193,178,127,253,193,180,127,253,193,182,127,253,193,184,127,253,193,186,127,253,193,188,127,253,193,190,127,253,193,192,127,253,193,194,127,253,193,196,127,253,193,198,127,253,193,200,127,253,193,202,127,253,193,204,127,253,193,206,127,253,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,193,150,128,253,193,152,128,253,193,98,128,253,193,248,128,253,193,250,128,253,193,252,128,253,193,254,128,253,193,2,129,253,193,4,129,253,193,6,129,253,193,8,129,253,193,10,129,253,193,164,129,253,193,166,129,253,193,22,130,253,193,24,130,253,193,26,130,253,193,28,130,253,193,30,130,253,193,136,130,253,193,138,130,253,193,140,130,253,193,142,130,253,193,144,130,253,193,146,130,253,193,226,130,253,193,228,130,253,193,230,130,253,193,232,130,253,193,40,131,253,193,66,131,253,193,68,131,253,193,70,131,253,193,72,131,253,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,193,12,129,253,193,14,129,253,193,16,129,253,193,18,129,253,193,20,129,253,193,22,129,253,193,24,129,253,193,26,129,253,193,28,129,253,193,168,129,253,193,170,129,253,193,172,129,253,193,174,129,253,193,176,129,253,193,178,129,253,193,154,128,253,193,156,128,253,193,158,128,253,193,160,128,253,193,162,128,253,193,164,128,253,193,166,128,253,193,168,128,253,193,170,128,253,193,172,128,253,193,174,128,253,193,176,128,253,193,178,128,253,193,180,128,253,193,182,128,253,193,184,128,253,193,186,128,253,193,188,128,253,193,190,128,253,193,192,128,253,193,194,128,253,193,196,128,253,193,198,128,253,193,200,128,253,193,202,128,253,193,204,128,253,193,206,128,253,193,208,128,253,193,210,128,253,193,212,128,253,193,214,128,253,193,216,128,253,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,193,180,129,253,193,182,129,253,193,32,130,253,193,34,130,253,193,36,130,253,193,38,130,253,193,148,130,253,193,150,130,253,193,152,130,253,193,154,130,253,193,156,130,253,193,158,130,253,193,234,130,253,193,236,130,253,193,238,130,253,193,240,130,253,193,242,130,253,193,244,130,253,193,246,130,253,193,42,131,253,193,74,131,253,193,112,131,253,193,186,131,253,193,204,131,253,193,212,131,253,193,228,131,253,193,230,131,253,193,232,131,253,193,234,131,253,193,236,131,253,193,238,131,253,193,250,131,253,193,184,129,253,193,186,129,253,193,188,129,253,193,190,129,253,193,40,130,253,193,42,130,253,193,44,130,253,193,160,130,253,193,162,130,253,193,46,130,253,193,164,130,253,193,248,130,253,193,250,130,253,193,252,130,253,193,76,131,253,193,114,131,253,193,132,131,253,193,240,131,253,193,254,131,253,193,2,132,253,193,48,132,253,193,50,132,253,193,52,132,253,193,110,132,253,193,112,132,253,193,114,132,253,193,116,132,253,193,164,132,253,193,224,132,253,193,226,132,253,193,24,133,253,193,26,133,253,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,193,166,130,253,193,168,130,253,193,170,130,253,193,172,130,253,193,174,130,253,193,176,130,253,193,178,130,253,193,180,130,253,193,182,130,253,193,184,130,253,193,186,130,253,193,188,130,253,193,190,130,253,193,192,130,253,193,194,130,253,193,196,130,253,193,198,130,253,193,200,130,253,193,202,130,253,193,204,130,253,193,206,130,253,193,254,130,253,193,126,130,253,193,128,130,253,193,130,130,253,193,132,130,253,193,134,130,253,193,216,130,253,193,218,130,253,193,220,130,253,193,222,130,253,193,224,130,253,193,30,131,253,193,32,131,253,193,34,131,253,193,36,131,253,193,38,131,253,193,64,131,253,193,104,131,253,193,130,131,253,193,166,131,253,193,174,131,253,193,188,131,253,193,216,131,253,193,24,132,253,193,86,132,253,193,88,132,253,193,90,132,253,193,92,132,253,193,156,132,253,193,18,133,253,193,94,133,253,193,96,133,253,193,98,133,253,193,2,131,253,193,4,131,253,193,6,131,253,193,8,131,253,193,10,131,253,193,12,131,253,193,14,131,253,193,16,131,253,193,18,131,253,193,20,131,253,193,22,131,253,193,24,131,253,193,26,131,253,193,44,131,253,193,46,131,253,193,48,131,253,193,50,131,253,193,52,131,253,193,54,131,253,193,56,131,253,193,58,131,253,193,60,131,253,193,78,131,253,193,80,131,253,193,82,131,253,193,84,131,253,193,86,131,253,193,88,131,253,193,90,131,253,193,92,131,253,193,94,131,253,193,96,131,253,193,28,131,253,193,62,131,253,193,124,131,253,193,126,131,253,193,128,131,253,193,146,131,253,193,148,131,253,193,150,131,253,193,160,131,253,193,172,131,253,193,84,132,253,193,154,132,253,193,218,132,253,193,220,132,253,193,16,133,253,193,90,133,253,193,92,133,253,193,154,133,253,193,46,134,253,193,48,134,253,193,50,134,253,193,100,134,253,193,102,134,253,193,128,134,253,193,220,134,253,193,26,135,253,193,28,135,253,193,98,135,253,193,12,136,253,193,14,136,253,193,146,136,253,193,148,136,253,193,98,131,253,193,100,131,253,193,116,131,253,193,118,131,253,193,120,131,253,193,122,131,253,193,134,131,253,193,136,131,253,193,138,131,253,193,140,131,253,193,142,131,253,193,144,131,253,193,156,131,253,193,158,131,253,193,162,131,253,193,164,131,253,193,168,131,253,193,170,131,253,193,178,131,253,193,180,131,253,193,182,131,253,193,184,131,253,193,190,131,253,193,192,131,253,193,194,131,253,193,196,131,253,193,198,131,253,193,200,131,253,193,206,131,253,193,208,131,253,193,210,131,253,193,214,131,253,193,106,131,253,193,108,131,253,193,110,131,253,193,152,131,253,193,154,131,253,193,248,131,253,193,26,132,253,193,28,132,253,193,30,132,253,193,94,132,253,193,158,133,253,193,212,133,253,193,254,133,253,193,52,134,253,193,104,134,253,193,106,134,253,193,164,134,253,193,190,134,253,193,108,135,253,193,110,135,253,193,24,136,253,193,26,136,253,193,28,136,253,193,30,136,253,193,32,136,253,193,34,136,253,193,36,136,253,193,174,136,253,193,176,136,253,193,178,136,253,193,180,136,253,193,182,136,253,193,218,131,253,193,220,131,253,193,222,131,253,193,224,131,253,193,226,131,253,193,242,131,253,193,244,131,253,193,246,131,253,193,4,132,253,193,6,132,253,193,8,132,253,193,10,132,253,193,12,132,253,193,14,132,253,193,16,132,253,193,18,132,253,193,20,132,253,193,22,132,253,193,54,132,253,193,56,132,253,193,58,132,253,193,60,132,253,193,62,132,253,193,64,132,253,193,66,132,253,193,68,132,253,193,70,132,253,193,72,132,253,193,74,132,253,193,76,132,253,193,78,132,253,193,80,132,253,193,252,131,253,193,32,132,253,193,34,132,253,193,36,132,253,193,38,132,253,193,40,132,253,193,42,132,253,193,44,132,253,193,46,132,253,193,96,132,253,193,98,132,253,193,100,132,253,193,102,132,253,193,104,132,253,193,106,132,253,193,108,132,253,193,158,132,253,193,160,132,253,193,162,132,253,193,222,132,253,193,20,133,253,193,22,133,253,193,100,133,253,193,160,133,253,193,162,133,253,193,164,133,253,193,166,133,253,193,168,133,253,193,170,133,253,193,172,133,253,193,174,133,253,193,176,133,253,193,118,132,253,193,120,132,253,193,122,132,253,193,124,132,253,193,126,132,253,193,128,132,253,193,130,132,253,193,132,132,253,193,134,132,253,193,136,132,253,193,138,132,253,193,140,132,253,193,142,132,253,193,144,132,253,193,146,132,253,193,148,132,253,193,150,132,253,193,152,132,253,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,193,228,132,253,193,230,132,253,193,232,132,253,193,234,132,253,193,236,132,253,193,238,132,253,193,240,132,253,193,242,132,253,193,244,132,253,193,246,132,253,193,248,132,253,193,250,132,253,193,252,132,253,193,254,132,253,193,2,133,253,193,4,133,253,193,6,133,253,193,8,133,253,193,10,133,253,193,12,133,253,193,14,133,253,193,28,133,253,193,30,133,253,193,32,133,253,193,34,133,253,193,36,133,253,193,38,133,253,193,40,133,253,193,42,133,253,193,44,133,253,193,46,133,253,193,48,133,253,193,50,133,253,193,52,133,253,193,54,133,253,193,56,133,253,193,58,133,253,193,60,133,253,193,62,133,253,193,64,133,253,193,66,133,253,193,68,133,253,193,70,133,253,193,72,133,253,193,74,133,253,193,76,133,253,193,78,133,253,193,80,133,253,193,82,133,253,193,84,133,253,193,86,133,253,193,88,133,253,193,106,133,253,193,108,133,253,193,110,133,253,193,112,133,253,193,114,133,253,193,116,133,253,193,118,133,253,193,120,133,253,193,122,133,253,193,124,133,253,193,126,133,253,193,128,133,253,193,130,133,253,193,132,133,253,193,134,133,253,193,136,133,253,193,138,133,253,193,140,133,253,193,142,133,253,193,144,133,253,193,146,133,253,193,148,133,253,193,150,133,253,193,152,133,253,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,193,156,133,253,193,210,133,253,193,146,134,253,193,162,134,253,193,180,134,253,193,222,134,253,193,30,135,253,193,32,135,253,193,34,135,253,193,36,135,253,193,100,135,253,193,102,135,253,193,104,135,253,193,106,135,253,193,180,135,253,193,182,135,253,193,16,136,253,193,18,136,253,193,20,136,253,193,22,136,253,193,158,136,253,193,160,136,253,193,162,136,253,193,164,136,253,193,166,136,253,193,168,136,253,193,170,136,253,193,172,136,253,206,192,107,0,206,192,107,0,206,192,107,0,206,192,107,0,193,178,133,253,193,214,133,253,193,216,133,253,193,218,133,253,193,54,134,253,193,130,134,253,193,132,134,253,193,166,134,253,193,178,134,253,193,192,134,253,193,194,134,253,193,196,134,253,193,224,134,253,193,226,134,253,193,228,134,253,193,230,134,253,193,232,134,253,193,234,134,253,193,236,134,253,193,238,134,253,193,38,135,253,193,40,135,253,193,42,135,253,193,44,135,253,193,46,135,253,193,48,135,253,193,50,135,253,193,52,135,253,193,54,135,253,193,56,135,253,193,58,135,253,193,112,135,253,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,193,222,133,253,193,224,133,253,193,226,133,253,193,228,133,253,193,230,133,253,193,232,133,253,193,234,133,253,193,236,133,253,193,238,133,253,193,240,133,253,193,242,133,253,193,244,133,253,193,246,133,253,193,248,133,253,193,250,133,253,193,252,133,253,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,193,56,134,253,193,58,134,253,193,60,134,253,193,62,134,253,193,64,134,253,193,66,134,253,193,68,134,253,193,70,134,253,193,72,134,253,193,74,134,253,193,76,134,253,193,78,134,253,193,82,134,253,193,84,134,253,193,86,134,253,193,88,134,253,193,90,134,253,193,92,134,253,193,94,134,253,193,96,134,253,193,98,134,253,206,96,107,0,206,96,107,0,206,96,107,0,206,96,107,0,206,96,107,0,206,96,107,0,193,134,134,253,193,136,134,253,193,138,134,253,193,140,134,253,193,142,134,253,193,144,134,253,193,150,134,253,193,152,134,253,193,154,134,253,193,156,134,253,193,158,134,253,193,160,134,253,193,168,134,253,193,170,134,253,193,174,134,253,193,176,134,253,193,182,134,253,193,184,134,253,193,186,134,253,193,200,134,253,193,202,134,253,193,204,134,253,193,206,134,253,193,208,134,253,193,210,134,253,193,212,134,253,193,214,134,253,193,216,134,253,193,244,134,253,193,246,134,253,193,248,134,253,193,250,134,253,193,252,134,253,193,254,134,253,193,2,135,253,193,4,135,253,193,6,135,253,193,8,135,253,193,10,135,253,193,12,135,253,193,14,135,253,193,16,135,253,193,18,135,253,193,20,135,253,193,62,135,253,193,64,135,253,193,66,135,253,193,68,135,253,193,70,135,253,193,72,135,253,193,74,135,253,193,76,135,253,193,78,135,253,193,80,135,253,193,82,135,253,193,84,135,253,193,86,135,253,193,88,135,253,193,24,135,253,193,94,135,253,193,96,135,253,193,176,135,253,193,178,135,253,193,8,136,253,193,10,136,253,193,142,136,253,193,144,136,253,193,28,137,253,193,30,137,253,193,156,137,253,193,16,138,253,193,18,138,253,193,108,138,253,193,110,138,253,193,112,138,253,193,114,138,253,193,190,138,253,193,6,139,253,193,8,139,253,193,96,139,253,193,98,139,253,193,186,139,253,193,222,139,253,193,244,139,253,193,246,139,253,193,22,140,253,193,32,140,253,193,102,140,253,193,142,140,253,193,148,140,253,193,90,135,253,193,92,135,253,193,134,135,253,193,136,135,253,193,138,135,253,193,140,135,253,193,142,135,253,193,144,135,253,193,146,135,253,193,148,135,253,193,150,135,253,193,152,135,253,193,154,135,253,193,156,135,253,193,158,135,253,193,160,135,253,193,162,135,253,193,164,135,253,193,166,135,253,193,168,135,253,193,170,135,253,193,172,135,253,193,174,135,253,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,193,114,135,253,193,116,135,253,193,184,135,253,193,186,135,253,193,188,135,253,193,190,135,253,193,192,135,253,193,194,135,253,193,196,135,253,193,198,135,253,193,200,135,253,193,38,136,253,193,40,136,253,193,42,136,253,193,44,136,253,193,46,136,253,193,48,136,253,193,50,136,253,193,52,136,253,193,54,136,253,193,56,136,253,193,58,136,253,193,60,136,253,193,62,136,253,193,184,136,253,193,186,136,253,193,188,136,253,193,190,136,253,193,192,136,253,193,194,136,253,193,196,136,253,193,198,136,253,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,193,216,136,253,193,218,136,253,193,220,136,253,193,222,136,253,193,224,136,253,193,226,136,253,193,228,136,253,193,230,136,253,193,232,136,253,193,84,137,253,193,234,136,253,193,150,136,253,193,152,136,253,193,154,136,253,193,156,136,253,193,32,137,253,193,34,137,253,193,36,137,253,193,38,137,253,193,158,137,253,193,20,138,253,193,22,138,253,193,116,138,253,193,118,138,253,193,120,138,253,193,192,138,253,193,194,138,253,193,196,138,253,193,10,139,253,193,12,139,253,193,14,139,253,193,16,139,253,193,164,139,253,193,188,139,253,193,248,139,253,193,250,139,253,193,64,140,253,193,92,140,253,193,94,140,253,193,118,140,253,193,124,140,253,193,128,140,253,193,144,140,253,193,200,136,253,193,62,137,253,193,64,137,253,193,66,137,253,193,68,137,253,193,70,137,253,193,176,137,253,193,178,137,253,193,180,137,253,193,182,137,253,193,184,137,253,193,186,137,253,193,188,137,253,193,190,137,253,193,28,138,253,193,30,138,253,193,32,138,253,193,34,138,253,193,36,138,253,193,38,138,253,193,40,138,253,193,134,138,253,193,136,138,253,193,138,138,253,193,140,138,253,193,142,138,253,193,144,138,253,193,146,138,253,193,206,138,253,193,208,138,253,193,210,138,253,193,212,138,253,193,206,136,253,193,208,136,253,193,210,136,253,193,212,136,253,193,214,136,253,193,72,137,253,193,74,137,253,193,76,137,253,193,78,137,253,193,80,137,253,193,82,137,253,193,192,137,253,193,194,137,253,193,196,137,253,193,198,137,253,193,200,137,253,193,42,138,253,193,44,138,253,193,216,138,253,193,218,138,253,193,220,138,253,193,32,139,253,193,34,139,253,193,78,139,253,193,106,139,253,193,162,139,253,193,202,139,253,193,212,139,253,193,38,140,253,193,52,140,253,193,54,140,253,193,68,140,253,193,236,136,253,193,238,136,253,193,240,136,253,193,242,136,253,193,244,136,253,193,246,136,253,193,248,136,253,193,250,136,253,193,252,136,253,193,254,136,253,193,2,137,253,193,4,137,253,193,6,137,253,193,8,137,253,193,10,137,253,193,12,137,253,193,14,137,253,193,16,137,253,193,18,137,253,193,20,137,253,193,22,137,253,193,24,137,253,193,26,137,253,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,192,107,0,206,192,107,0,206,192,107,0,206,192,107,0,193,160,137,253,193,162,137,253,193,164,137,253,193,166,137,253,193,168,137,253,193,170,137,253,193,172,137,253,193,174,137,253,193,24,138,253,193,122,138,253,193,124,138,253,193,126,138,253,193,128,138,253,193,130,138,253,193,132,138,253,193,198,138,253,193,200,138,253,193,202,138,253,193,204,138,253,193,18,139,253,193,20,139,253,193,22,139,253,193,24,139,253,193,26,139,253,193,54,139,253,193,100,139,253,193,128,139,253,193,150,139,253,193,56,137,253,193,58,137,253,193,60,137,253,193,26,138,253,193,28,139,253,193,56,139,253,193,58,139,253,193,60,139,253,193,62,139,253,193,102,139,253,193,194,139,253,193,200,139,253,193,214,139,253,193,10,140,253,193,12,140,253,193,140,140,253,193,68,141,253,193,198,141,253,193,22,142,253,193,120,142,253,193,208,142,253,193,210,142,253,193,42,143,253,193,142,143,253,193,16,144,253,193,18,144,253,193,20,144,253,193,126,144,253,193,128,144,253,193,20,145,253,193,146,145,253,193,210,145,253,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,193,46,138,253,193,48,138,253,193,50,138,253,193,52,138,253,193,54,138,253,193,56,138,253,193,58,138,253,193,60,138,253,193,62,138,253,193,64,138,253,193,66,138,253,193,68,138,253,193,70,138,253,193,72,138,253,193,74,138,253,193,76,138,253,193,78,138,253,193,80,138,253,193,82,138,253,193,84,138,253,193,86,138,253,193,88,138,253,193,90,138,253,193,92,138,253,193,94,138,253,193,96,138,253,193,98,138,253,193,100,138,253,193,102,138,253,193,104,138,253,193,106,138,253,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,193,214,138,253,193,30,139,253,193,64,139,253,193,66,139,253,193,68,139,253,193,70,139,253,193,72,139,253,193,74,139,253,193,76,139,253,193,104,139,253,193,130,139,253,193,152,139,253,193,154,139,253,193,156,139,253,193,158,139,253,193,174,139,253,193,206,139,253,193,216,139,253,193,218,139,253,193,224,139,253,193,226,139,253,193,232,139,253,193,234,139,253,193,254,139,253,193,2,140,253,193,4,140,253,193,8,140,253,193,14,140,253,193,16,140,253,193,26,140,253,193,44,140,253,193,66,140,253,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,193,36,139,253,193,38,139,253,193,40,139,253,193,42,139,253,193,44,139,253,193,46,139,253,193,48,139,253,193,50,139,253,193,52,139,253,193,80,139,253,193,82,139,253,193,84,139,253,193,86,139,253,193,88,139,253,193,90,139,253,193,92,139,253,193,94,139,253,193,108,139,253,193,110,139,253,193,112,139,253,193,114,139,253,193,116,139,253,193,118,139,253,193,120,139,253,193,122,139,253,193,124,139,253,193,126,139,253,193,132,139,253,193,134,139,253,193,136,139,253,193,138,139,253,193,140,139,253,193,142,139,253,193,144,139,253,193,146,139,253,193,148,139,253,193,170,139,253,193,172,139,253,193,176,139,253,193,178,139,253,193,180,139,253,193,182,139,253,193,184,139,253,193,192,139,253,193,196,139,253,193,198,139,253,193,204,139,253,193,208,139,253,193,210,139,253,193,220,139,253,193,228,139,253,193,230,139,253,193,236,139,253,193,238,139,253,193,240,139,253,193,242,139,253,193,6,140,253,193,18,140,253,193,20,140,253,193,24,140,253,193,166,139,253,193,168,139,253,193,190,139,253,193,252,139,253,193,86,140,253,193,96,140,253,193,98,140,253,193,104,140,253,193,146,140,253,193,164,140,253,193,222,140,253,193,224,140,253,193,248,140,253,193,24,141,253,193,44,141,253,193,60,141,253,193,88,141,253,193,116,141,253,193,118,141,253,193,162,141,253,193,20,142,253,193,114,142,253,193,116,142,253,193,118,142,253,193,204,142,253,193,206,142,253,193,34,143,253,193,36,143,253,193,38,143,253,193,40,143,253,193,140,143,253,193,8,144,253,193,28,140,253,193,30,140,253,193,34,140,253,193,36,140,253,193,40,140,253,193,42,140,253,193,46,140,253,193,48,140,253,193,50,140,253,193,56,140,253,193,58,140,253,193,60,140,253,193,62,140,253,193,70,140,253,193,72,140,253,193,74,140,253,193,76,140,253,193,78,140,253,193,80,140,253,193,82,140,253,193,84,140,253,193,88,140,253,193,90,140,253,193,100,140,253,193,110,140,253,193,112,140,253,193,114,140,253,193,116,140,253,193,120,140,253,193,122,140,253,193,132,140,253,193,134,140,253,193,106,140,253,193,126,140,253,193,152,140,253,193,154,140,253,193,186,140,253,193,226,140,253,193,250,140,253,193,90,141,253,193,126,141,253,193,160,141,253,193,164,141,253,193,170,141,253,193,172,141,253,193,174,141,253,193,176,141,253,193,178,141,253,193,180,141,253,193,182,141,253,193,200,141,253,193,202,141,253,193,204,141,253,193,206,141,253,193,208,141,253,193,210,141,253,193,212,141,253,193,214,141,253,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,193,108,140,253,193,130,140,253,193,166,140,253,193,168,140,253,193,170,140,253,193,188,140,253,193,190,140,253,193,192,140,253,193,252,140,253,193,254,140,253,193,26,141,253,193,70,141,253,193,92,141,253,193,94,141,253,193,120,141,253,193,138,141,253,193,184,141,253,193,186,141,253,193,188,141,253,193,216,141,253,193,218,141,253,193,220,141,253,193,222,141,253,193,224,141,253,193,226,141,253,193,50,142,253,193,52,142,253,193,54,142,253,193,56,142,253,193,58,142,253,193,60,142,253,193,146,142,253,193,136,140,253,193,138,140,253,193,150,140,253,193,158,140,253,193,160,140,253,193,162,140,253,193,172,140,253,193,174,140,253,193,176,140,253,193,178,140,253,193,180,140,253,193,182,140,253,193,184,140,253,193,194,140,253,193,196,140,253,193,198,140,253,193,200,140,253,193,202,140,253,193,204,140,253,193,206,140,253,193,208,140,253,193,210,140,253,193,212,140,253,193,214,140,253,193,216,140,253,193,230,140,253,193,232,140,253,193,234,140,253,193,236,140,253,193,238,140,253,193,240,140,253,193,242,140,253,193,218,140,253,193,246,140,253,193,22,141,253,193,58,141,253,193,114,141,253,193,110,142,253,193,112,142,253,193,198,142,253,193,200,142,253,193,202,144,253,193,10,145,253,193,70,145,253,193,204,145,253,193,224,145,253,193,110,146,253,193,202,146,253,193,10,147,253,193,38,147,253,193,60,147,253,193,74,147,253,193,92,147,253,193,94,147,253,193,96,147,253,193,214,147,253,193,230,147,253,193,58,148,253,193,102,148,253,193,110,148,253,193,134,148,253,193,16,149,253,193,120,149,253,193,144,150,253,193,220,140,253,193,42,141,253,193,84,141,253,193,86,141,253,193,202,142,253,193,32,143,253,193,138,143,253,193,6,144,253,193,12,145,253,193,14,145,253,193,226,145,253,193,44,146,253,193,46,146,253,193,48,146,253,193,148,146,253,193,254,146,253,193,16,147,253,193,34,147,253,193,40,147,253,193,52,147,253,193,54,147,253,193,86,147,253,193,98,147,253,193,100,147,253,193,106,147,253,193,232,147,253,193,234,147,253,193,236,147,253,193,4,148,253,193,28,148,253,193,136,148,253,193,160,148,253,193,244,140,253,193,2,141,253,193,4,141,253,193,6,141,253,193,8,141,253,193,10,141,253,193,12,141,253,193,14,141,253,193,16,141,253,193,18,141,253,193,20,141,253,193,28,141,253,193,30,141,253,193,32,141,253,193,34,141,253,193,36,141,253,193,38,141,253,193,40,141,253,193,46,141,253,193,48,141,253,193,50,141,253,193,52,141,253,193,54,141,253,193,56,141,253,193,62,141,253,193,64,141,253,193,66,141,253,193,72,141,253,193,74,141,253,193,76,141,253,193,78,141,253,193,80,141,253,193,82,141,253,193,96,141,253,193,98,141,253,193,100,141,253,193,102,141,253,193,104,141,253,193,106,141,253,193,108,141,253,193,110,141,253,193,112,141,253,193,122,141,253,193,124,141,253,193,128,141,253,193,130,141,253,193,132,141,253,193,134,141,253,193,136,141,253,193,140,141,253,193,142,141,253,193,144,141,253,193,146,141,253,193,148,141,253,193,150,141,253,193,152,141,253,193,154,141,253,193,156,141,253,193,158,141,253,193,166,141,253,193,168,141,253,193,190,141,253,193,192,141,253,193,194,141,253,193,196,141,253,193,228,141,253,193,230,141,253,193,232,141,253,193,234,141,253,193,236,141,253,193,238,141,253,193,240,141,253,193,242,141,253,193,244,141,253,193,246,141,253,193,248,141,253,193,250,141,253,193,252,141,253,193,254,141,253,193,2,142,253,193,4,142,253,193,6,142,253,193,8,142,253,193,10,142,253,193,12,142,253,193,14,142,253,193,16,142,253,193,18,142,253,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,193,122,142,253,193,124,142,253,193,126,142,253,193,128,142,253,193,130,142,253,193,132,142,253,193,134,142,253,193,136,142,253,193,138,142,253,193,140,142,253,193,142,142,253,193,144,142,253,193,212,142,253,193,214,142,253,193,216,142,253,193,218,142,253,193,220,142,253,193,222,142,253,193,224,142,253,193,44,143,253,193,46,143,253,193,48,143,253,193,50,143,253,193,52,143,253,193,54,143,253,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,193,242,142,253,193,244,142,253,193,246,142,253,193,248,142,253,193,250,142,253,193,252,142,253,193,254,142,253,193,2,143,253,193,4,143,253,193,6,143,253,193,8,143,253,193,10,143,253,193,12,143,253,193,14,143,253,193,16,143,253,193,18,143,253,193,20,143,253,193,22,143,253,193,24,143,253,193,26,143,253,193,28,143,253,193,30,143,253,193,74,143,253,193,226,142,253,193,228,142,253,193,230,142,253,193,232,142,253,193,234,142,253,193,236,142,253,193,238,142,253,193,240,142,253,193,60,143,253,193,62,143,253,193,64,143,253,193,66,143,253,193,68,143,253,193,70,143,253,193,72,143,253,193,174,143,253,193,176,143,253,193,178,143,253,193,180,143,253,193,182,143,253,193,184,143,253,193,186,143,253,193,36,144,253,193,38,144,253,193,40,144,253,193,42,144,253,193,44,144,253,193,46,144,253,193,138,144,253,193,140,144,253,193,142,144,253,193,220,144,253,193,56,143,253,193,58,143,253,193,144,143,253,193,146,143,253,193,148,143,253,193,150,143,253,193,152,143,253,193,154,143,253,193,156,143,253,193,158,143,253,193,160,143,253,193,162,143,253,193,164,143,253,193,166,143,253,193,168,143,253,193,170,143,253,193,172,143,253,193,22,144,253,193,24,144,253,193,26,144,253,193,28,144,253,193,30,144,253,193,32,144,253,193,34,144,253,193,130,144,253,193,132,144,253,193,134,144,253,193,136,144,253,193,212,144,253,193,214,144,253,193,216,144,253,193,218,144,253,193,76,143,253,193,78,143,253,193,80,143,253,193,82,143,253,193,84,143,253,193,86,143,253,193,88,143,253,193,90,143,253,193,92,143,253,193,94,143,253,193,96,143,253,193,98,143,253,193,100,143,253,193,102,143,253,193,104,143,253,193,106,143,253,193,108,143,253,193,110,143,253,193,112,143,253,193,114,143,253,193,116,143,253,193,118,143,253,193,120,143,253,193,122,143,253,193,124,143,253,193,126,143,253,193,128,143,253,193,130,143,253,193,132,143,253,193,134,143,253,193,136,143,253,193,188,143,253,193,190,143,253,193,192,143,253,193,194,143,253,193,196,143,253,193,198,143,253,193,200,143,253,193,202,143,253,193,204,143,253,193,206,143,253,193,208,143,253,193,210,143,253,193,212,143,253,193,214,143,253,193,216,143,253,193,218,143,253,193,220,143,253,193,222,143,253,193,224,143,253,193,226,143,253,193,228,143,253,193,230,143,253,193,232,143,253,193,234,143,253,193,236,143,253,193,238,143,253,193,240,143,253,193,242,143,253,193,244,143,253,193,246,143,253,193,248,143,253,193,250,143,253,193,252,143,253,193,254,143,253,193,2,144,253,193,4,144,253,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,193,10,144,253,193,12,144,253,193,14,144,253,193,120,144,253,193,122,144,253,193,124,144,253,193,204,144,253,193,206,144,253,193,208,144,253,193,210,144,253,193,16,145,253,193,18,145,253,193,72,145,253,193,74,145,253,193,198,145,253,193,200,145,253,193,202,145,253,193,50,146,253,193,150,146,253,193,226,146,253,193,42,147,253,193,62,147,253,193,198,147,253,193,200,147,253,193,238,147,253,193,6,148,253,193,8,148,253,193,30,148,253,193,60,148,253,193,82,148,253,193,112,148,253,193,126,148,253,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,193,144,144,253,193,146,144,253,193,148,144,253,193,150,144,253,193,152,144,253,193,154,144,253,193,156,144,253,193,158,144,253,193,160,144,253,193,162,144,253,193,164,144,253,193,166,144,253,193,168,144,253,193,170,144,253,193,172,144,253,193,174,144,253,193,176,144,253,193,178,144,253,193,180,144,253,193,182,144,253,193,184,144,253,193,186,144,253,193,188,144,253,193,190,144,253,193,192,144,253,193,194,144,253,193,196,144,253,193,198,144,253,193,200,144,253,193,232,144,253,193,234,144,253,193,236,144,253,193,238,144,253,193,240,144,253,193,242,144,253,193,244,144,253,193,246,144,253,193,248,144,253,193,250,144,253,193,252,144,253,193,254,144,253,193,2,145,253,193,4,145,253,193,6,145,253,193,8,145,253,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,193,222,144,253,193,224,144,253,193,226,144,253,193,228,144,253,193,230,144,253,193,30,145,253,193,32,145,253,193,80,145,253,193,82,145,253,193,116,145,253,193,130,145,253,193,132,145,253,193,150,145,253,193,152,145,253,193,170,145,253,193,212,145,253,193,234,145,253,193,236,145,253,193,238,145,253,193,240,145,253,193,54,146,253,193,82,146,253,193,122,146,253,193,124,146,253,193,126,146,253,193,160,146,253,193,162,146,253,193,208,146,253,193,230,146,253,193,244,146,253,193,112,147,253,193,122,147,253,193,22,145,253,193,24,145,253,193,26,145,253,193,28,145,253,193,76,145,253,193,78,145,253,193,110,145,253,193,112,145,253,193,114,145,253,193,148,145,253,193,180,145,253,193,196,145,253,193,206,145,253,193,230,145,253,193,232,145,253,193,14,146,253,193,16,146,253,193,18,146,253,193,52,146,253,193,76,146,253,193,78,146,253,193,80,146,253,193,112,146,253,193,114,146,253,193,116,146,253,193,118,146,253,193,120,146,253,193,182,146,253,193,152,146,253,193,154,146,253,193,156,146,253,193,158,146,253,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,193,84,145,253,193,86,145,253,193,88,145,253,193,90,145,253,193,92,145,253,193,94,145,253,193,96,145,253,193,98,145,253,193,100,145,253,193,102,145,253,193,104,145,253,193,106,145,253,193,108,145,253,193,118,145,253,193,120,145,253,193,122,145,253,193,124,145,253,193,126,145,253,193,128,145,253,193,134,145,253,193,136,145,253,193,138,145,253,193,102,181,253,193,140,145,253,193,142,145,253,193,144,145,253,193,154,145,253,193,156,145,253,193,158,145,253,193,160,145,253,193,162,145,253,193,164,145,253,193,166,145,253,193,168,145,253,193,172,145,253,193,174,145,253,193,176,145,253,193,178,145,253,193,182,145,253,193,184,145,253,193,186,145,253,193,188,145,253,193,190,145,253,193,192,145,253,193,194,145,253,193,208,145,253,193,214,145,253,193,216,145,253,193,218,145,253,193,220,145,253,193,222,145,253,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,193,228,145,253,193,12,146,253,193,74,146,253,193,44,147,253,193,56,147,253,193,58,147,253,193,64,147,253,193,66,147,253,193,68,147,253,193,70,147,253,193,88,147,253,193,102,147,253,193,104,147,253,193,118,147,253,193,160,147,253,193,202,147,253,193,32,148,253,193,34,148,253,193,62,148,253,193,64,148,253,193,24,149,253,193,26,149,253,193,246,149,253,193,248,149,253,193,160,150,253,193,162,150,253,193,252,151,253,193,254,151,253,193,2,152,253,193,152,152,253,193,244,152,253,193,52,153,253,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,193,20,146,253,193,22,146,253,193,24,146,253,193,26,146,253,193,28,146,253,193,30,146,253,193,32,146,253,193,34,146,253,193,36,146,253,193,38,146,253,193,40,146,253,193,56,146,253,193,58,146,253,193,60,146,253,193,62,146,253,193,64,146,253,193,66,146,253,193,68,146,253,193,70,146,253,193,72,146,253,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,193,128,146,253,193,130,146,253,193,132,146,253,193,134,146,253,193,136,146,253,193,138,146,253,193,140,146,253,193,142,146,253,193,144,146,253,193,146,146,253,193,164,146,253,193,166,146,253,193,168,146,253,193,170,146,253,193,172,146,253,193,174,146,253,193,176,146,253,193,178,146,253,193,180,146,253,193,186,146,253,193,188,146,253,193,190,146,253,193,192,146,253,193,194,146,253,193,196,146,253,193,198,146,253,193,200,146,253,193,184,146,253,193,204,146,253,193,206,146,253,193,228,146,253,193,2,147,253,193,4,147,253,193,30,147,253,193,32,147,253,193,46,147,253,193,72,147,253,193,76,147,253,193,78,147,253,193,90,147,253,193,108,147,253,193,110,147,253,193,120,147,253,193,126,147,253,193,130,147,253,193,142,147,253,193,184,147,253,193,204,147,253,193,206,147,253,193,216,147,253,193,218,147,253,193,10,148,253,193,44,148,253,193,46,148,253,193,66,148,253,193,68,148,253,193,84,148,253,193,86,148,253,193,88,148,253,193,210,146,253,193,212,146,253,193,214,146,253,193,216,146,253,193,218,146,253,193,220,146,253,193,222,146,253,193,224,146,253,193,232,146,253,193,234,146,253,193,236,146,253,193,238,146,253,193,240,146,253,193,242,146,253,193,246,146,253,193,248,146,253,193,250,146,253,193,252,146,253,193,6,147,253,193,8,147,253,193,12,147,253,193,14,147,253,193,18,147,253,193,20,147,253,193,22,147,253,193,24,147,253,193,26,147,253,193,28,147,253,193,36,147,253,193,48,147,253,193,50,147,253,193,80,147,253,193,82,147,253,193,114,147,253,193,116,147,253,193,124,147,253,193,128,147,253,193,134,147,253,193,136,147,253,193,138,147,253,193,140,147,253,193,148,147,253,193,150,147,253,193,154,147,253,193,164,147,253,193,156,147,253,193,158,147,253,193,166,147,253,193,168,147,253,193,170,147,253,193,172,147,253,193,174,147,253,193,178,147,253,193,180,147,253,193,182,147,253,193,196,147,253,193,210,147,253,193,212,147,253,193,222,147,253,193,224,147,253,193,226,147,253,193,228,147,253,193,240,147,253,193,242,147,253,193,132,147,253,193,144,147,253,193,146,147,253,193,152,147,253,193,162,147,253,193,176,147,253,193,190,147,253,193,192,147,253,193,194,147,253,193,208,147,253,193,220,147,253,193,12,148,253,193,14,148,253,193,48,148,253,193,70,148,253,193,72,148,253,193,114,148,253,193,172,148,253,193,174,148,253,193,218,148,253,193,220,148,253,193,222,148,253,193,40,149,253,193,42,149,253,193,44,149,253,193,46,149,253,193,48,149,253,193,50,149,253,193,52,149,253,193,54,149,253,193,56,149,253,193,166,149,253,193,244,147,253,193,246,147,253,193,248,147,253,193,250,147,253,193,252,147,253,193,254,147,253,193,2,148,253,193,16,148,253,193,18,148,253,193,20,148,253,193,22,148,253,193,24,148,253,193,26,148,253,193,36,148,253,193,38,148,253,193,40,148,253,193,42,148,253,193,50,148,253,193,52,148,253,193,54,148,253,193,56,148,253,193,74,148,253,193,76,148,253,193,78,148,253,193,80,148,253,193,90,148,253,193,92,148,253,193,94,148,253,193,96,148,253,193,98,148,253,193,100,148,253,193,104,148,253,193,106,148,253,193,108,148,253,193,116,148,253,193,118,148,253,193,120,148,253,193,122,148,253,193,124,148,253,193,130,148,253,193,132,148,253,193,138,148,253,193,140,148,253,193,144,148,253,193,152,148,253,193,154,148,253,193,156,148,253,193,158,148,253,193,176,148,253,193,178,148,253,193,180,148,253,193,182,148,253,193,184,148,253,193,186,148,253,193,188,148,253,193,190,148,253,193,192,148,253,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,193,128,148,253,193,142,148,253,193,146,148,253,193,148,148,253,193,150,148,253,193,162,148,253,193,164,148,253,193,166,148,253,193,168,148,253,193,170,148,253,193,196,148,253,193,198,148,253,193,200,148,253,193,202,148,253,193,204,148,253,193,206,148,253,193,208,148,253,193,210,148,253,193,212,148,253,193,214,148,253,193,28,149,253,193,30,149,253,193,32,149,253,193,34,149,253,193,36,149,253,193,216,148,253,193,38,149,253,206,128,109,0,206,128,109,0,206,128,109,0,206,128,109,0,206,128,109,0,193,194,148,253,193,122,149,253,193,124,149,253,193,236,149,253,193,148,150,253,193,150,150,253,193,152,150,253,193,154,150,253,193,24,151,253,193,26,151,253,193,142,151,253,193,144,151,253,193,70,152,253,193,72,152,253,193,146,152,253,193,194,152,253,193,16,153,253,193,50,153,253,193,68,153,253,193,76,153,253,193,112,153,253,193,114,153,253,193,130,153,253,193,132,153,253,193,134,153,253,193,136,153,253,193,138,153,253,193,164,153,253,193,166,153,253,193,168,153,253,193,170,153,253,193,172,153,253,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,193,18,149,253,193,20,149,253,193,22,149,253,193,126,149,253,193,128,149,253,193,130,149,253,193,132,149,253,193,238,149,253,193,240,149,253,193,242,149,253,193,244,149,253,193,156,150,253,193,158,150,253,193,28,151,253,193,30,151,253,193,32,151,253,193,34,151,253,193,36,151,253,193,38,151,253,193,40,151,253,193,42,151,253,193,146,151,253,193,148,151,253,193,242,151,253,193,244,151,253,193,246,151,253,193,248,151,253,193,250,151,253,193,74,152,253,193,76,152,253,193,148,152,253,193,150,152,253,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,128,109,0,206,128,109,0,206,128,109,0,206,128,109,0,193,250,149,253,193,252,149,253,193,152,149,253,193,154,149,253,193,156,149,253,193,158,149,253,193,160,149,253,193,162,149,253,193,164,149,253,193,254,149,253,193,2,150,253,193,4,150,253,193,6,150,253,193,8,150,253,193,10,150,253,193,12,150,253,193,14,150,253,193,16,150,253,193,18,150,253,193,20,150,253,193,22,150,253,193,24,150,253,193,26,150,253,193,28,150,253,193,30,150,253,193,32,150,253,193,44,151,253,193,164,150,253,193,168,149,253,193,170,149,253,193,172,149,253,193,34,150,253,193,36,150,253,193,38,150,253,193,40,150,253,193,42,150,253,193,44,150,253,193,46,150,253,193,48,150,253,193,188,150,253,193,190,150,253,193,192,150,253,193,194,150,253,193,196,150,253,193,198,150,253,193,200,150,253,193,202,150,253,193,204,150,253,193,68,151,253,193,70,151,253,193,72,151,253,193,74,151,253,193,76,151,253,193,78,151,253,193,80,151,253,193,82,151,253,193,84,151,253,193,86,151,253,193,168,151,253,193,170,151,253,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,193,206,150,253,193,208,150,253,193,210,150,253,193,146,150,253,193,22,151,253,193,138,151,253,193,140,151,253,193,240,151,253,193,66,152,253,193,68,152,253,193,144,152,253,193,192,152,253,193,14,153,253,193,86,153,253,193,108,153,253,193,126,153,253,193,128,153,253,193,156,153,253,193,158,153,253,193,160,153,253,193,162,153,253,193,206,153,253,193,208,153,253,193,230,153,253,193,232,153,253,193,234,153,253,193,16,154,253,193,38,154,253,193,54,154,253,193,76,154,253,193,160,154,253,193,220,154,253,193,160,155,253,193,240,155,253,193,242,155,253,193,166,150,253,193,168,150,253,193,170,150,253,193,172,150,253,193,174,150,253,193,176,150,253,193,178,150,253,193,180,150,253,193,182,150,253,193,184,150,253,193,186,150,253,193,46,151,253,193,48,151,253,193,50,151,253,193,52,151,253,193,54,151,253,193,56,151,253,193,58,151,253,193,60,151,253,193,62,151,253,193,64,151,253,193,66,151,253,193,150,151,253,193,152,151,253,193,154,151,253,193,156,151,253,193,158,151,253,193,160,151,253,193,162,151,253,193,164,151,253,193,166,151,253,193,4,152,253,193,212,150,253,193,214,150,253,193,216,150,253,193,218,150,253,193,220,150,253,193,222,150,253,193,224,150,253,193,226,150,253,193,228,150,253,193,230,150,253,193,232,150,253,193,234,150,253,193,236,150,253,193,238,150,253,193,240,150,253,193,242,150,253,193,244,150,253,193,246,150,253,193,248,150,253,193,250,150,253,193,252,150,253,193,254,150,253,193,2,151,253,193,4,151,253,193,6,151,253,193,8,151,253,193,10,151,253,193,12,151,253,193,14,151,253,193,16,151,253,193,18,151,253,193,20,151,253,193,88,151,253,193,90,151,253,193,92,151,253,193,94,151,253,193,96,151,253,193,98,151,253,193,100,151,253,193,102,151,253,193,104,151,253,193,106,151,253,193,108,151,253,193,110,151,253,193,112,151,253,193,114,151,253,193,116,151,253,193,118,151,253,193,120,151,253,193,122,151,253,193,124,151,253,193,126,151,253,193,128,151,253,193,130,151,253,193,132,151,253,193,134,151,253,193,136,151,253,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,193,172,151,253,193,174,151,253,193,176,151,253,193,178,151,253,193,180,151,253,193,182,151,253,193,184,151,253,193,186,151,253,193,14,152,253,193,16,152,253,193,18,152,253,193,20,152,253,193,88,152,253,193,90,152,253,193,92,152,253,193,94,152,253,193,96,152,253,193,98,152,253,193,160,152,253,193,162,152,253,193,164,152,253,193,248,152,253,193,250,152,253,193,26,153,253,193,84,154,253,193,96,154,253,193,118,154,253,193,120,154,253,193,122,154,253,193,124,154,253,193,176,154,253,193,178,154,253,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,193,6,152,253,193,8,152,253,193,10,152,253,193,12,152,253,193,78,152,253,193,80,152,253,193,82,152,253,193,84,152,253,193,86,152,253,193,154,152,253,193,156,152,253,193,158,152,253,193,200,152,253,193,202,152,253,193,204,152,253,193,206,152,253,193,246,152,253,193,22,153,253,193,24,153,253,193,54,153,253,193,56,153,253,193,70,153,253,193,72,153,253,193,74,153,253,193,78,153,253,193,80,153,253,193,82,153,253,193,84,153,253,206,32,110,0,206,32,110,0,206,32,110,0,206,32,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,193,100,152,253,193,102,152,253,193,104,152,253,193,106,152,253,193,108,152,253,193,110,152,253,193,112,152,253,193,114,152,253,193,116,152,253,193,118,152,253,193,120,152,253,193,122,152,253,193,124,152,253,193,126,152,253,193,128,152,253,193,130,152,253,193,132,152,253,193,134,152,253,193,136,152,253,193,138,152,253,193,140,152,253,193,142,152,253,193,166,152,253,193,168,152,253,193,170,152,253,193,172,152,253,193,174,152,253,193,176,152,253,193,178,152,253,193,180,152,253,193,182,152,253,193,184,152,253,193,186,152,253,193,188,152,253,193,190,152,253,193,208,152,253,193,210,152,253,193,212,152,253,193,214,152,253,193,216,152,253,193,218,152,253,193,220,152,253,193,222,152,253,193,224,152,253,193,226,152,253,193,228,152,253,193,230,152,253,193,232,152,253,193,234,152,253,193,236,152,253,193,238,152,253,193,240,152,253,193,242,152,253,193,252,152,253,193,254,152,253,193,196,152,253,193,198,152,253,193,18,153,253,193,20,153,253,193,34,153,253,193,36,153,253,193,90,154,253,193,162,154,253,193,222,154,253,193,16,155,253,193,18,155,253,193,20,155,253,193,78,155,253,193,162,155,253,193,164,155,253,193,166,155,253,193,58,156,253,193,96,156,253,193,168,156,253,193,230,156,253,193,62,157,253,193,98,157,253,193,166,157,253,193,246,157,253,193,248,157,253,193,194,158,253,193,196,158,253,193,198,158,253,193,48,159,253,193,52,160,253,193,54,160,253,193,56,160,253,193,2,153,253,193,4,153,253,193,6,153,253,193,8,153,253,193,10,153,253,193,12,153,253,193,28,153,253,193,30,153,253,193,32,153,253,193,38,153,253,193,40,153,253,193,42,153,253,193,44,153,253,193,46,153,253,193,48,153,253,193,58,153,253,193,60,153,253,193,62,153,253,193,64,153,253,193,66,153,253,193,36,206,253,193,226,153,253,193,228,153,253,193,68,154,253,193,86,154,253,193,88,154,253,193,98,154,253,193,100,154,253,193,102,154,253,193,104,154,253,193,106,154,253,193,108,154,253,193,88,153,253,193,116,153,253,193,140,153,253,193,180,153,253,193,182,153,253,193,184,153,253,193,186,153,253,193,188,153,253,193,190,153,253,193,216,153,253,193,218,153,253,193,220,153,253,193,222,153,253,193,250,153,253,193,252,153,253,193,254,153,253,193,2,154,253,193,24,154,253,193,26,154,253,193,28,154,253,193,42,154,253,193,44,154,253,193,46,154,253,193,48,154,253,193,50,154,253,193,52,154,253,193,56,154,253,193,64,154,253,193,164,154,253,193,224,154,253,193,226,154,253,193,228,154,253,206,32,110,0,206,32,110,0,206,32,110,0,206,32,110,0,206,32,110,0,193,118,153,253,193,120,153,253,193,122,153,253,193,124,153,253,193,142,153,253,193,144,153,253,193,146,153,253,193,148,153,253,193,150,153,253,193,152,153,253,193,154,153,253,193,192,153,253,193,194,153,253,193,196,153,253,193,198,153,253,193,200,153,253,193,202,153,253,193,204,153,253,193,224,153,253,193,4,154,253,193,6,154,253,193,8,154,253,193,10,154,253,193,12,154,253,193,14,154,253,193,30,154,253,193,32,154,253,193,174,153,253,193,176,153,253,193,178,153,253,193,210,153,253,193,212,153,253,193,214,153,253,193,236,153,253,193,238,153,253,193,240,153,253,193,242,153,253,193,244,153,253,193,246,153,253,193,248,153,253,193,18,154,253,193,20,154,253,193,22,154,253,193,40,154,253,193,62,154,253,193,72,154,253,193,80,154,253,193,244,155,253,193,252,156,253,193,254,156,253,193,2,157,253,193,18,157,253,193,20,157,253,193,22,157,253,193,24,157,253,193,30,157,253,193,42,157,253,193,56,157,253,193,58,157,253,193,34,154,253,193,36,154,253,193,58,154,253,193,60,154,253,193,66,154,253,193,70,154,253,193,74,154,253,193,78,154,253,193,82,154,253,193,92,154,253,193,94,154,253,193,114,154,253,193,116,154,253,193,166,154,253,193,168,154,253,193,170,154,253,193,172,154,253,193,174,154,253,193,230,154,253,193,232,154,253,193,22,155,253,193,24,155,253,193,86,155,253,193,88,155,253,193,176,155,253,193,178,155,253,193,180,155,253,193,252,155,253,193,254,155,253,193,2,156,253,193,4,156,253,193,6,156,253,193,180,154,253,193,182,154,253,193,184,154,253,193,186,154,253,193,234,154,253,193,236,154,253,193,26,155,253,193,28,155,253,193,30,155,253,193,32,155,253,193,34,155,253,193,90,155,253,193,92,155,253,193,94,155,253,193,96,155,253,193,98,155,253,193,100,155,253,193,182,155,253,193,184,155,253,193,186,155,253,193,188,155,253,193,190,155,253,193,192,155,253,193,194,155,253,193,10,156,253,193,12,156,253,193,14,156,253,193,70,156,253,193,72,156,253,193,116,156,253,193,174,156,253,193,184,156,253,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,193,240,154,253,193,242,154,253,193,244,154,253,193,246,154,253,193,248,154,253,193,250,154,253,193,252,154,253,193,254,154,253,193,2,155,253,193,4,155,253,193,6,155,253,193,8,155,253,193,10,155,253,193,12,155,253,193,14,155,253,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,193,80,155,253,193,82,155,253,193,84,155,253,193,168,155,253,193,170,155,253,193,172,155,253,193,174,155,253,193,246,155,253,193,248,155,253,193,250,155,253,193,60,156,253,193,98,156,253,193,100,156,253,193,102,156,253,193,170,156,253,193,172,156,253,193,198,156,253,193,214,156,253,193,224,156,253,193,226,156,253,193,246,156,253,193,4,157,253,193,26,157,253,193,28,157,253,193,32,157,253,193,34,157,253,193,36,157,253,193,44,157,253,193,64,157,253,193,66,157,253,193,82,157,253,193,100,157,253,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,193,196,155,253,193,198,155,253,193,200,155,253,193,202,155,253,193,204,155,253,193,206,155,253,193,208,155,253,193,210,155,253,193,212,155,253,193,16,156,253,193,214,155,253,193,216,155,253,193,218,155,253,193,220,155,253,193,222,155,253,193,224,155,253,193,226,155,253,193,228,155,253,193,230,155,253,193,232,155,253,193,234,155,253,193,236,155,253,193,238,155,253,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,193,8,156,253,193,62,156,253,193,64,156,253,193,66,156,253,193,68,156,253,193,104,156,253,193,106,156,253,193,108,156,253,193,110,156,253,193,112,156,253,193,114,156,253,193,150,156,253,193,216,156,253,193,218,156,253,193,242,156,253,193,244,156,253,193,6,157,253,193,8,157,253,193,10,157,253,193,46,157,253,193,68,157,253,193,84,157,253,193,70,157,253,193,86,157,253,193,96,157,253,193,102,157,253,193,104,157,253,193,122,157,253,193,148,157,253,193,160,157,253,193,164,157,253,193,170,157,253,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,193,74,156,253,193,76,156,253,193,78,156,253,193,80,156,253,193,82,156,253,193,84,156,253,193,86,156,253,193,88,156,253,193,90,156,253,193,92,156,253,193,94,156,253,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,193,52,156,253,193,54,156,253,193,56,156,253,193,164,156,253,193,166,156,253,193,182,156,253,193,196,156,253,193,248,156,253,193,40,157,253,193,54,157,253,193,76,157,253,193,116,157,253,193,168,157,253,193,70,158,253,193,192,158,253,193,34,159,253,193,36,159,253,193,38,159,253,193,40,159,253,193,150,159,253,193,196,160,253,193,198,160,253,193,200,160,253,193,202,160,253,193,76,161,253,193,186,161,253,193,188,161,253,193,36,162,253,193,178,162,253,193,180,162,253,193,34,163,253,193,62,163,253,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,193,152,156,253,193,154,156,253,193,156,156,253,193,158,156,253,193,160,156,253,193,162,156,253,193,176,156,253,193,178,156,253,193,180,156,253,193,186,156,253,193,188,156,253,193,190,156,253,193,192,156,253,193,194,156,253,193,200,156,253,193,202,156,253,193,204,156,253,193,206,156,253,193,208,156,253,193,210,156,253,193,212,156,253,193,220,156,253,193,222,156,253,193,228,156,253,193,232,156,253,193,234,156,253,193,236,156,253,193,238,156,253,193,240,156,253,193,12,157,253,193,14,157,253,193,38,157,253,193,48,157,253,193,50,157,253,193,52,157,253,193,72,157,253,193,74,157,253,193,88,157,253,193,90,157,253,193,106,157,253,193,114,157,253,193,124,157,253,193,126,157,253,193,128,157,253,193,132,157,253,193,138,157,253,193,140,157,253,193,142,157,253,193,144,157,253,193,146,157,253,193,150,157,253,193,152,157,253,193,154,157,253,193,156,157,253,193,162,157,253,193,176,157,253,193,60,157,253,193,78,157,253,193,80,157,253,193,92,157,253,193,94,157,253,193,108,157,253,193,110,157,253,193,118,157,253,193,120,157,253,193,130,157,253,193,158,157,253,193,72,158,253,193,74,158,253,193,76,158,253,193,78,158,253,193,42,159,253,193,44,159,253,193,46,159,253,193,152,159,253,193,154,159,253,193,156,159,253,193,48,160,253,193,50,160,253,193,204,160,253,193,206,160,253,193,208,160,253,193,190,161,253,193,38,162,253,193,40,162,253,193,42,162,253,193,44,162,253,193,114,162,253,193,112,157,253,193,250,157,253,193,252,157,253,193,254,157,253,193,80,158,253,193,50,159,253,193,52,159,253,193,54,159,253,193,158,159,253,193,160,159,253,193,60,160,253,193,62,160,253,193,86,161,253,193,88,161,253,193,90,161,253,193,200,161,253,193,48,162,253,193,40,163,253,193,70,163,253,193,72,163,253,193,74,163,253,193,116,163,253,193,118,163,253,193,120,163,253,193,156,163,253,193,158,163,253,193,160,163,253,193,162,163,253,193,228,163,253,193,230,163,253,193,232,163,253,193,234,163,253,193,134,157,253,193,136,157,253,193,194,157,253,193,212,157,253,193,214,157,253,193,216,157,253,193,22,158,253,193,24,158,253,193,26,158,253,193,28,158,253,193,30,158,253,193,106,158,253,193,108,158,253,193,110,158,253,193,112,158,253,193,114,158,253,193,116,158,253,193,118,158,253,193,120,158,253,193,122,158,253,193,124,158,253,193,234,158,253,193,236,158,253,193,238,158,253,193,240,158,253,193,242,158,253,193,244,158,253,193,246,158,253,193,78,159,253,193,80,159,253,193,82,159,253,193,84,159,253,193,172,157,253,193,186,157,253,193,188,157,253,193,190,157,253,193,192,157,253,193,204,157,253,193,206,157,253,193,208,157,253,193,210,157,253,193,2,158,253,193,4,158,253,193,6,158,253,193,8,158,253,193,10,158,253,193,12,158,253,193,14,158,253,193,16,158,253,193,18,158,253,193,20,158,253,193,82,158,253,193,84,158,253,193,86,158,253,193,88,158,253,193,90,158,253,193,92,158,253,193,94,158,253,193,200,158,253,193,96,158,253,193,98,158,253,193,100,158,253,193,102,158,253,193,104,158,253,193,178,157,253,193,180,157,253,193,184,157,253,193,182,157,253,193,198,157,253,193,200,157,253,193,202,157,253,193,218,157,253,193,220,157,253,193,222,157,253,193,224,157,253,193,226,157,253,193,228,157,253,193,230,157,253,193,232,157,253,193,234,157,253,193,236,157,253,193,238,157,253,193,240,157,253,193,242,157,253,193,244,157,253,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,193,248,158,253,193,250,158,253,193,252,158,253,193,254,158,253,193,2,159,253,193,4,159,253,193,6,159,253,193,8,159,253,193,10,159,253,193,12,159,253,193,14,159,253,193,16,159,253,193,18,159,253,193,20,159,253,193,22,159,253,193,24,159,253,193,26,159,253,193,28,159,253,193,30,159,253,193,32,159,253,193,92,159,253,193,94,159,253,193,96,159,253,193,202,158,253,193,204,158,253,193,206,158,253,193,208,158,253,193,210,158,253,193,212,158,253,193,214,158,253,193,216,158,253,193,218,158,253,193,220,158,253,193,222,158,253,193,224,158,253,193,226,158,253,193,228,158,253,193,230,158,253,193,232,158,253,193,56,159,253,193,58,159,253,193,60,159,253,193,62,159,253,193,64,159,253,193,66,159,253,193,68,159,253,193,70,159,253,193,72,159,253,193,74,159,253,193,162,159,253,193,164,159,253,193,166,159,253,193,76,159,253,193,168,159,253,193,170,159,253,193,86,159,253,193,88,159,253,193,90,159,253,193,192,159,253,193,194,159,253,193,196,159,253,193,198,159,253,193,200,159,253,193,90,160,253,193,92,160,253,193,94,160,253,193,96,160,253,193,98,160,253,193,100,160,253,193,102,160,253,193,104,160,253,193,250,160,253,193,252,160,253,193,254,160,253,193,2,161,253,193,4,161,253,193,104,161,253,193,106,161,253,193,108,161,253,193,222,161,253,193,224,161,253,193,226,161,253,193,228,161,253,193,230,161,253,193,62,162,253,193,64,162,253,193,66,162,253,193,98,159,253,193,100,159,253,193,102,159,253,193,104,159,253,193,106,159,253,193,108,159,253,193,110,159,253,193,112,159,253,193,114,159,253,193,116,159,253,193,118,159,253,193,120,159,253,193,122,159,253,193,124,159,253,193,126,159,253,193,128,159,253,193,130,159,253,193,132,159,253,193,134,159,253,193,136,159,253,193,138,159,253,193,140,159,253,193,142,159,253,193,144,159,253,193,146,159,253,193,148,159,253,193,202,159,253,193,204,159,253,193,206,159,253,193,208,159,253,193,210,159,253,193,212,159,253,193,172,159,253,193,174,159,253,193,176,159,253,193,178,159,253,193,180,159,253,193,182,159,253,193,184,159,253,193,186,159,253,193,188,159,253,193,190,159,253,193,64,160,253,193,66,160,253,193,68,160,253,193,70,160,253,193,72,160,253,193,74,160,253,193,76,160,253,193,78,160,253,193,80,160,253,193,82,160,253,193,84,160,253,193,86,160,253,193,224,160,253,193,88,160,253,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,193,214,159,253,193,216,159,253,193,218,159,253,193,220,159,253,193,222,159,253,193,224,159,253,193,226,159,253,193,228,159,253,193,230,159,253,193,232,159,253,193,234,159,253,193,236,159,253,193,238,159,253,193,240,159,253,193,242,159,253,193,244,159,253,193,246,159,253,193,248,159,253,193,250,159,253,193,252,159,253,193,254,159,253,193,2,160,253,193,4,160,253,193,6,160,253,193,8,160,253,193,10,160,253,193,12,160,253,193,14,160,253,193,16,160,253,193,18,160,253,193,20,160,253,193,22,160,253,193,24,160,253,193,26,160,253,193,28,160,253,193,106,160,253,193,30,160,253,193,32,160,253,193,34,160,253,193,36,160,253,193,38,160,253,193,40,160,253,193,42,160,253,193,44,160,253,193,46,160,253,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,193,58,160,253,193,210,160,253,193,212,160,253,193,214,160,253,193,216,160,253,193,218,160,253,193,220,160,253,193,222,160,253,193,78,161,253,193,80,161,253,193,82,161,253,193,84,161,253,193,192,161,253,193,194,161,253,193,196,161,253,193,198,161,253,193,46,162,253,193,118,162,253,193,120,162,253,193,122,162,253,193,124,162,253,193,126,162,253,193,204,162,253,193,206,162,253,193,228,162,253,193,240,162,253,193,242,162,253,193,152,163,253,193,154,163,253,193,14,164,253,193,88,164,253,193,122,164,253,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,193,92,161,253,193,94,161,253,193,96,161,253,193,98,161,253,193,100,161,253,193,102,161,253,193,202,161,253,193,204,161,253,193,206,161,253,193,208,161,253,193,210,161,253,193,212,161,253,193,214,161,253,193,216,161,253,193,218,161,253,193,220,161,253,193,50,162,253,193,52,162,253,193,54,162,253,193,56,162,253,193,58,162,253,193,60,162,253,193,128,162,253,193,130,162,253,193,132,162,253,193,208,162,253,193,230,162,253,193,232,162,253,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,193,112,161,253,193,60,161,253,193,62,161,253,193,64,161,253,193,66,161,253,193,68,161,253,193,70,161,253,193,72,161,253,193,74,161,253,193,114,161,253,193,116,161,253,193,118,161,253,193,120,161,253,193,122,161,253,193,124,161,253,193,126,161,253,193,128,161,253,193,130,161,253,193,132,161,253,193,134,161,253,193,136,161,253,193,138,161,253,193,140,161,253,193,142,161,253,193,144,161,253,193,146,161,253,193,148,161,253,193,150,161,253,193,152,161,253,193,154,161,253,193,156,161,253,193,158,161,253,193,160,161,253,193,162,161,253,193,164,161,253,193,166,161,253,193,168,161,253,193,170,161,253,193,172,161,253,193,174,161,253,193,176,161,253,193,178,161,253,193,180,161,253,193,182,161,253,193,184,161,253,193,234,161,253,193,236,161,253,193,238,161,253,193,240,161,253,193,242,161,253,193,244,161,253,193,246,161,253,193,248,161,253,193,250,161,253,193,252,161,253,193,254,161,253,193,2,162,253,193,4,162,253,193,6,162,253,193,8,162,253,193,10,162,253,193,12,162,253,193,14,162,253,193,16,162,253,193,18,162,253,193,20,162,253,193,70,162,253,193,22,162,253,193,24,162,253,193,26,162,253,193,28,162,253,193,30,162,253,193,32,162,253,193,34,162,253,193,72,162,253,193,74,162,253,193,68,162,253,193,136,162,253,193,138,162,253,193,140,162,253,193,142,162,253,193,182,162,253,193,234,162,253,193,236,162,253,193,244,162,253,193,8,163,253,193,76,164,253,193,144,164,253,193,146,164,253,193,206,164,253,193,220,164,253,193,20,165,253,193,66,165,253,193,68,165,253,193,70,165,253,193,202,165,253,193,220,165,253,193,254,165,253,193,2,166,253,193,66,166,253,193,68,166,253,193,70,166,253,193,72,166,253,193,74,166,253,193,76,166,253,193,78,166,253,193,80,166,253,193,192,166,253,193,76,162,253,193,78,162,253,193,80,162,253,193,82,162,253,193,84,162,253,193,86,162,253,193,88,162,253,193,90,162,253,193,92,162,253,193,94,162,253,193,96,162,253,193,98,162,253,193,100,162,253,193,102,162,253,193,104,162,253,193,106,162,253,193,108,162,253,193,110,162,253,193,112,162,253,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,193,116,162,253,193,202,162,253,193,254,162,253,193,2,163,253,193,10,163,253,193,26,163,253,193,28,163,253,193,36,163,253,193,38,163,253,193,66,163,253,193,68,163,253,193,98,163,253,193,100,163,253,193,102,163,253,193,104,163,253,193,106,163,253,193,108,163,253,193,110,163,253,193,112,163,253,193,114,163,253,193,144,163,253,193,146,163,253,193,148,163,253,193,150,163,253,193,188,163,253,193,190,163,253,193,192,163,253,193,194,163,253,193,214,163,253,193,216,163,253,193,218,163,253,193,220,163,253,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,193,184,162,253,193,186,162,253,193,188,162,253,193,190,162,253,193,192,162,253,193,194,162,253,193,196,162,253,193,198,162,253,193,200,162,253,193,210,162,253,193,212,162,253,193,214,162,253,193,216,162,253,193,218,162,253,193,220,162,253,193,222,162,253,193,224,162,253,193,226,162,253,193,238,162,253,193,246,162,253,193,248,162,253,193,250,162,253,193,252,162,253,193,12,163,253,193,16,163,253,193,18,163,253,193,56,163,253,193,58,163,253,193,4,163,253,193,6,163,253,193,14,163,253,193,20,163,253,193,22,163,253,193,24,163,253,193,30,163,253,193,32,163,253,193,42,163,253,193,44,163,253,193,46,163,253,193,48,163,253,193,50,163,253,193,52,163,253,193,54,163,253,193,76,163,253,193,78,163,253,193,80,163,253,193,82,163,253,193,84,163,253,193,86,163,253,193,122,163,253,193,124,163,253,193,126,163,253,193,128,163,253,193,130,163,253,193,132,163,253,193,134,163,253,193,136,163,253,193,164,163,253,193,166,163,253,193,168,163,253,193,60,163,253,193,88,163,253,193,90,163,253,193,138,163,253,193,176,163,253,193,178,163,253,193,204,163,253,193,180,163,253,193,206,163,253,193,208,163,253,193,244,163,253,193,246,163,253,193,38,164,253,193,62,164,253,193,64,164,253,193,78,164,253,193,112,164,253,193,116,164,253,193,118,164,253,193,120,164,253,193,124,164,253,193,128,164,253,193,130,164,253,193,132,164,253,193,134,164,253,193,136,164,253,193,148,164,253,193,150,164,253,193,152,164,253,193,154,164,253,193,156,164,253,193,158,164,253,193,64,163,253,193,92,163,253,193,94,163,253,193,96,163,253,193,140,163,253,193,142,163,253,193,182,163,253,193,184,163,253,193,186,163,253,193,210,163,253,193,212,163,253,193,248,163,253,193,250,163,253,193,252,163,253,193,254,163,253,193,2,164,253,193,40,164,253,193,42,164,253,193,80,164,253,193,82,164,253,193,94,164,253,193,106,164,253,193,138,164,253,193,182,164,253,193,198,164,253,193,226,164,253,193,232,164,253,193,246,164,253,193,40,165,253,193,42,165,253,193,80,165,253,193,106,165,253,193,170,163,253,193,172,163,253,193,174,163,253,193,196,163,253,193,198,163,253,193,200,163,253,193,202,163,253,193,236,163,253,193,238,163,253,193,26,164,253,193,240,163,253,193,242,163,253,193,28,164,253,193,30,164,253,193,32,164,253,193,34,164,253,193,36,164,253,193,58,164,253,193,60,164,253,193,72,164,253,193,74,164,253,193,108,164,253,193,110,164,253,193,114,164,253,193,192,164,253,193,252,164,253,193,2,165,253,193,14,165,253,193,16,165,253,193,18,165,253,193,48,165,253,193,50,165,253,193,222,163,253,193,224,163,253,193,226,163,253,193,4,164,253,193,6,164,253,193,8,164,253,193,10,164,253,193,12,164,253,193,44,164,253,193,46,164,253,193,48,164,253,193,50,164,253,193,52,164,253,193,54,164,253,193,66,164,253,193,68,164,253,193,70,164,253,193,84,164,253,193,86,164,253,193,96,164,253,193,98,164,253,193,162,164,253,193,164,164,253,193,184,164,253,193,186,164,253,193,200,164,253,193,228,164,253,193,238,164,253,193,10,165,253,193,82,165,253,193,84,165,253,193,108,165,253,193,16,164,253,193,18,164,253,193,20,164,253,193,22,164,253,193,24,164,253,193,56,164,253,193,90,164,253,193,92,164,253,193,100,164,253,193,102,164,253,193,104,164,253,193,126,164,253,193,142,164,253,193,204,164,253,193,12,165,253,193,58,165,253,193,160,165,253,193,238,165,253,193,140,166,253,193,30,167,253,193,32,167,253,193,34,167,253,193,36,167,253,193,38,167,253,193,190,167,253,193,192,167,253,193,194,167,253,193,196,167,253,193,198,167,253,193,44,168,253,193,46,168,253,193,48,168,253,193,140,164,253,193,166,164,253,193,188,164,253,193,190,164,253,193,202,164,253,193,216,164,253,193,218,164,253,193,44,165,253,193,46,165,253,193,86,165,253,193,88,165,253,193,134,165,253,193,136,165,253,193,158,165,253,193,178,165,253,193,186,165,253,193,188,165,253,193,194,165,253,193,236,165,253,193,22,166,253,193,24,166,253,193,26,166,253,193,28,166,253,193,134,166,253,193,136,166,253,193,138,166,253,193,22,167,253,193,24,167,253,193,26,167,253,193,28,167,253,193,176,167,253,193,178,167,253,193,26,165,253,193,28,165,253,193,34,165,253,193,30,165,253,193,32,165,253,193,36,165,253,193,38,165,253,193,54,165,253,193,56,165,253,193,72,165,253,193,74,165,253,193,76,165,253,193,94,165,253,193,96,165,253,193,98,165,253,193,78,165,253,193,100,165,253,193,102,165,253,193,104,165,253,193,116,165,253,193,118,165,253,193,120,165,253,193,122,165,253,193,124,165,253,193,126,165,253,193,140,165,253,193,142,165,253,193,144,165,253,193,146,165,253,193,164,165,253,193,166,165,253,193,168,165,253,193,52,165,253,193,60,165,253,193,62,165,253,193,64,165,253,193,90,165,253,193,92,165,253,193,112,165,253,193,114,165,253,193,138,165,253,193,162,165,253,193,190,165,253,193,200,165,253,193,208,165,253,193,216,165,253,193,218,165,253,193,240,165,253,193,242,165,253,193,244,165,253,193,246,165,253,193,248,165,253,193,250,165,253,193,252,165,253,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,193,110,165,253,193,128,165,253,193,130,165,253,193,132,165,253,193,152,165,253,193,154,165,253,193,156,165,253,193,176,165,253,193,20,166,253,193,130,166,253,193,132,166,253,193,174,167,253,193,36,168,253,193,202,168,253,193,204,168,253,193,206,168,253,193,126,170,253,193,240,170,253,193,238,171,253,193,24,172,253,193,78,172,253,193,80,172,253,193,82,172,253,193,84,172,253,193,86,172,253,193,140,172,253,193,142,172,253,193,144,172,253,193,146,172,253,193,148,172,253,193,150,172,253,193,200,172,253,193,148,165,253,193,150,165,253,193,174,165,253,193,184,165,253,193,206,165,253,193,18,166,253,193,122,166,253,193,124,166,253,193,126,166,253,193,128,166,253,193,172,167,253,193,194,168,253,193,196,168,253,193,198,168,253,193,200,168,253,193,94,169,253,193,96,169,253,193,98,169,253,193,10,170,253,193,12,170,253,193,14,170,253,193,16,170,253,193,18,170,253,193,238,170,253,193,62,171,253,193,106,171,253,193,194,171,253,193,254,171,253,193,20,172,253,193,22,172,253,193,72,172,253,193,74,172,253,193,170,165,253,193,172,165,253,193,180,165,253,193,182,165,253,193,192,165,253,193,198,165,253,193,204,165,253,193,210,165,253,193,214,165,253,193,222,165,253,193,224,165,253,193,226,165,253,193,228,165,253,193,230,165,253,193,232,165,253,193,234,165,253,193,4,166,253,193,6,166,253,193,8,166,253,193,10,166,253,193,12,166,253,193,14,166,253,193,16,166,253,193,82,166,253,193,84,166,253,193,86,166,253,193,88,166,253,193,90,166,253,193,92,166,253,193,94,166,253,193,96,166,253,193,206,166,253,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,193,142,166,253,193,144,166,253,193,146,166,253,193,148,166,253,193,150,166,253,193,152,166,253,193,154,166,253,193,156,166,253,193,158,166,253,193,160,166,253,193,162,166,253,193,164,166,253,193,166,166,253,193,168,166,253,193,170,166,253,193,172,166,253,193,174,166,253,193,176,166,253,193,178,166,253,193,180,166,253,193,182,166,253,193,184,166,253,193,186,166,253,193,188,166,253,193,98,166,253,193,100,166,253,193,102,166,253,193,104,166,253,193,106,166,253,193,108,166,253,193,208,166,253,193,110,166,253,193,112,166,253,193,114,166,253,193,116,166,253,193,118,166,253,193,120,166,253,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,193,190,166,253,193,40,167,253,193,42,167,253,193,44,167,253,193,46,167,253,193,48,167,253,193,50,167,253,193,52,167,253,193,54,167,253,193,56,167,253,193,58,167,253,193,60,167,253,193,62,167,253,193,64,167,253,193,66,167,253,193,68,167,253,193,70,167,253,193,72,167,253,193,74,167,253,193,56,168,253,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,193,194,166,253,193,196,166,253,193,198,166,253,193,200,166,253,193,202,166,253,193,204,166,253,193,76,167,253,193,78,167,253,193,80,167,253,193,82,167,253,193,84,167,253,193,86,167,253,193,88,167,253,193,90,167,253,193,232,167,253,193,234,167,253,193,236,167,253,193,238,167,253,193,240,167,253,193,90,168,253,193,92,168,253,193,94,168,253,193,96,168,253,193,98,168,253,193,100,168,253,193,102,168,253,193,104,168,253,193,106,168,253,193,8,169,253,193,10,169,253,193,12,169,253,193,14,169,253,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,193,180,167,253,193,182,167,253,193,184,167,253,193,186,167,253,193,188,167,253,193,38,168,253,193,40,168,253,193,42,168,253,193,208,168,253,193,210,168,253,193,212,168,253,193,214,168,253,193,216,168,253,193,100,169,253,193,102,169,253,193,104,169,253,193,106,169,253,193,108,169,253,193,110,169,253,193,112,169,253,193,114,169,253,193,20,170,253,193,128,170,253,193,130,170,253,193,132,170,253,193,134,170,253,193,64,171,253,193,108,171,253,193,142,171,253,193,170,171,253,193,172,171,253,193,196,171,253,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,193,58,168,253,193,60,168,253,193,62,168,253,193,64,168,253,193,66,168,253,193,68,168,253,193,70,168,253,193,72,168,253,193,74,168,253,193,76,168,253,193,78,168,253,193,80,168,253,193,82,168,253,193,84,168,253,193,86,168,253,193,88,168,253,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,193,38,169,253,193,40,169,253,193,42,169,253,193,44,169,253,193,46,169,253,193,48,169,253,193,50,169,253,193,52,169,253,193,54,169,253,193,56,169,253,193,58,169,253,193,60,169,253,193,62,169,253,193,64,169,253,193,66,169,253,193,68,169,253,193,70,169,253,193,72,169,253,193,74,169,253,193,76,169,253,193,78,169,253,193,80,169,253,193,82,169,253,193,34,168,253,193,84,169,253,193,86,169,253,193,88,169,253,193,90,169,253,193,92,169,253,193,172,169,253,193,174,169,253,193,176,169,253,193,50,168,253,193,52,168,253,193,54,168,253,193,218,168,253,193,116,169,253,193,118,169,253,193,120,169,253,193,122,169,253,193,124,169,253,193,22,170,253,193,24,170,253,193,26,170,253,193,28,170,253,193,30,170,253,193,136,170,253,193,138,170,253,193,140,170,253,193,142,170,253,193,242,170,253,193,244,170,253,193,246,170,253,193,66,171,253,193,68,171,253,193,110,171,253,193,112,171,253,193,144,171,253,193,146,171,253,193,148,171,253,193,2,172,253,193,4,172,253,193,6,172,253,193,8,172,253,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,193,22,169,253,193,24,169,253,193,26,169,253,193,28,169,253,193,30,169,253,193,32,169,253,193,34,169,253,193,192,168,253,193,36,169,253,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,193,126,169,253,193,128,169,253,193,130,169,253,193,132,169,253,193,134,169,253,193,136,169,253,193,138,169,253,193,140,169,253,193,142,169,253,193,144,169,253,193,146,169,253,193,148,169,253,193,150,169,253,193,152,169,253,193,154,169,253,193,156,169,253,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,193,16,169,253,193,18,169,253,193,20,169,253,193,158,169,253,193,160,169,253,193,162,169,253,193,164,169,253,193,166,169,253,193,168,169,253,193,170,169,253,193,64,170,253,193,66,170,253,193,68,170,253,193,70,170,253,193,72,170,253,193,74,170,253,193,76,170,253,193,78,170,253,193,172,170,253,193,174,170,253,193,176,170,253,193,178,170,253,193,180,170,253,193,8,171,253,193,10,171,253,193,12,171,253,193,76,171,253,193,78,171,253,193,80,171,253,193,114,171,253,193,158,171,253,193,184,171,253,193,178,169,253,193,180,169,253,193,182,169,253,193,184,169,253,193,186,169,253,193,188,169,253,193,190,169,253,193,192,169,253,193,194,169,253,193,196,169,253,193,198,169,253,193,200,169,253,193,202,169,253,193,204,169,253,193,206,169,253,193,208,169,253,193,210,169,253,193,212,169,253,193,214,169,253,193,216,169,253,193,218,169,253,193,220,169,253,193,222,169,253,193,224,169,253,193,226,169,253,193,228,169,253,193,230,169,253,193,232,169,253,193,234,169,253,193,236,169,253,193,238,169,253,193,240,169,253,193,242,169,253,193,244,169,253,193,246,169,253,193,248,169,253,193,250,169,253,193,252,169,253,193,254,169,253,193,2,170,253,193,4,170,253,193,6,170,253,193,8,170,253,193,80,170,253,193,82,170,253,193,84,170,253,193,86,170,253,193,88,170,253,193,90,170,253,193,92,170,253,193,94,170,253,193,96,170,253,193,98,170,253,193,100,170,253,193,102,170,253,193,104,170,253,193,106,170,253,193,108,170,253,193,110,170,253,193,112,170,253,193,114,170,253,193,116,170,253,193,118,170,253,193,120,170,253,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,193,144,170,253,193,146,170,253,193,148,170,253,193,150,170,253,193,152,170,253,193,154,170,253,193,156,170,253,193,158,170,253,193,160,170,253,193,162,170,253,193,164,170,253,193,166,170,253,193,168,170,253,193,170,170,253,193,248,170,253,193,250,170,253,193,252,170,253,193,254,170,253,193,2,171,253,193,4,171,253,193,6,171,253,193,70,171,253,193,72,171,253,193,74,171,253,193,122,170,253,193,124,170,253,193,182,170,253,193,184,170,253,193,186,170,253,193,188,170,253,193,190,170,253,193,192,170,253,193,194,170,253,193,196,170,253,193,198,170,253,193,200,170,253,193,202,170,253,193,204,170,253,193,206,170,253,193,208,170,253,193,210,170,253,193,212,170,253,193,214,170,253,193,216,170,253,193,218,170,253,193,220,170,253,193,222,170,253,193,224,170,253,193,226,170,253,193,228,170,253,193,230,170,253,193,232,170,253,193,234,170,253,193,236,170,253,193,14,171,253,193,16,171,253,193,18,171,253,193,20,171,253,193,22,171,253,193,24,171,253,193,26,171,253,193,28,171,253,193,30,171,253,193,32,171,253,193,34,171,253,193,36,171,253,193,38,171,253,193,40,171,253,193,42,171,253,193,44,171,253,193,46,171,253,193,48,171,253,193,50,171,253,193,52,171,253,193,54,171,253,193,56,171,253,193,58,171,253,193,60,171,253,193,82,171,253,193,84,171,253,193,86,171,253,193,88,171,253,193,90,171,253,193,92,171,253,193,94,171,253,193,96,171,253,193,98,171,253,193,100,171,253,193,102,171,253,193,104,171,253,193,116,171,253,193,118,171,253,193,120,171,253,193,122,171,253,193,124,171,253,193,126,171,253,193,128,171,253,193,130,171,253,193,132,171,253,193,134,171,253,193,136,171,253,193,138,171,253,193,140,171,253,193,160,171,253,193,162,171,253,193,164,171,253,193,166,171,253,193,168,171,253,193,186,171,253,193,188,171,253,193,190,171,253,193,192,171,253,193,204,171,253,193,206,171,253,193,208,171,253,193,210,171,253,193,212,171,253,193,214,171,253,193,216,171,253,193,224,171,253,193,150,171,253,193,152,171,253,193,154,171,253,193,156,171,253,193,174,171,253,193,176,171,253,193,178,171,253,193,180,171,253,193,198,171,253,193,200,171,253,193,220,171,253,193,228,171,253,193,244,171,253,193,246,171,253,193,248,171,253,193,250,171,253,193,252,171,253,193,10,172,253,193,12,172,253,193,14,172,253,193,16,172,253,193,32,172,253,193,34,172,253,193,36,172,253,193,38,172,253,193,40,172,253,193,42,172,253,193,44,172,253,193,46,172,253,193,48,172,253,193,50,172,253,193,52,172,253,193,202,171,253,193,222,171,253,193,240,171,253,193,118,172,253,193,184,172,253,193,62,173,253,193,170,173,253,193,174,173,253,193,216,173,253,193,218,173,253,193,10,174,253,193,12,174,253,193,14,174,253,193,16,174,253,193,18,174,253,193,68,174,253,193,70,174,253,193,72,174,253,193,74,174,253,193,76,174,253,193,78,174,253,193,118,174,253,193,120,174,253,193,122,174,253,193,124,174,253,193,126,174,253,193,128,174,253,193,174,174,253,193,176,174,253,193,242,174,253,193,244,174,253,193,246,174,253,193,218,171,253,193,204,172,253,193,206,172,253,193,44,173,253,193,80,173,253,193,132,173,253,193,182,173,253,193,54,174,253,193,56,174,253,193,106,174,253,193,162,174,253,193,164,174,253,193,166,174,253,193,222,174,253,193,224,174,253,193,226,174,253,193,38,175,253,193,40,175,253,193,76,175,253,193,114,175,253,193,116,175,253,193,176,175,253,193,208,175,253,193,222,175,253,193,26,176,253,193,40,176,253,193,98,176,253,193,118,176,253,193,120,176,253,193,40,177,253,193,42,177,253,193,44,177,253,193,226,171,253,193,230,171,253,193,232,171,253,193,234,171,253,193,236,171,253,193,242,171,253,193,18,172,253,193,56,172,253,193,58,172,253,193,60,172,253,193,62,172,253,193,64,172,253,193,66,172,253,193,68,172,253,193,120,172,253,193,70,172,253,193,122,172,253,193,124,172,253,193,126,172,253,193,128,172,253,193,130,172,253,193,132,172,253,193,134,172,253,193,186,172,253,193,188,172,253,193,190,172,253,193,192,172,253,193,236,172,253,193,238,172,253,193,240,172,253,193,12,173,253,193,14,173,253,193,26,172,253,193,28,172,253,193,30,172,253,193,88,172,253,193,90,172,253,193,92,172,253,193,94,172,253,193,96,172,253,193,98,172,253,193,152,172,253,193,154,172,253,193,156,172,253,193,158,172,253,193,160,172,253,193,162,172,253,193,164,172,253,193,166,172,253,193,168,172,253,193,170,172,253,193,208,172,253,193,210,172,253,193,212,172,253,193,214,172,253,193,216,172,253,193,218,172,253,193,220,172,253,193,252,172,253,193,254,172,253,193,46,173,253,193,48,173,253,193,50,173,253,193,52,173,253,193,54,172,253,193,100,172,253,193,102,172,253,193,104,172,253,193,106,172,253,193,108,172,253,193,110,172,253,193,112,172,253,193,114,172,253,193,116,172,253,193,172,172,253,193,174,172,253,193,176,172,253,193,178,172,253,193,180,172,253,193,182,172,253,193,222,172,253,193,224,172,253,193,226,172,253,193,228,172,253,193,230,172,253,193,232,172,253,193,234,172,253,193,2,173,253,193,4,173,253,193,6,173,253,193,8,173,253,193,10,173,253,193,54,173,253,193,56,173,253,193,58,173,253,193,60,173,253,193,136,172,253,193,138,172,253,193,194,172,253,193,196,172,253,193,198,172,253,193,242,172,253,193,244,172,253,193,246,172,253,193,36,173,253,193,38,173,253,193,72,173,253,193,74,173,253,193,76,173,253,193,100,173,253,193,102,173,253,193,126,173,253,193,138,173,253,193,164,173,253,193,104,174,253,193,34,175,253,193,36,175,253,193,238,175,253,193,38,176,253,193,62,176,253,193,188,176,253,193,222,176,253,193,224,176,253,193,36,177,253,193,132,177,253,193,208,177,253,193,34,178,253,193,36,178,253,193,202,172,253,193,248,172,253,193,250,172,253,193,40,173,253,193,42,173,253,193,78,173,253,193,106,173,253,193,108,173,253,193,110,173,253,193,128,173,253,193,130,173,253,193,142,173,253,193,146,173,253,193,150,173,253,193,154,173,253,193,162,173,253,193,166,173,253,193,158,174,253,193,160,174,253,193,220,175,253,193,240,175,253,193,24,176,253,193,64,176,253,193,66,176,253,193,82,176,253,193,94,176,253,193,96,176,253,193,116,176,253,193,126,176,253,193,134,176,253,193,136,176,253,193,138,176,253,193,16,173,253,193,18,173,253,193,20,173,253,193,22,173,253,193,64,173,253,193,24,173,253,193,26,173,253,193,28,173,253,193,30,173,253,193,32,173,253,193,34,173,253,193,66,173,253,193,68,173,253,193,70,173,253,193,122,173,253,193,124,173,253,193,148,173,253,193,176,173,253,193,178,173,253,193,180,173,253,193,194,173,253,193,196,173,253,193,198,173,253,193,200,173,253,193,202,173,253,193,204,173,253,193,206,173,253,193,208,173,253,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,193,82,173,253,193,84,173,253,193,86,173,253,193,88,173,253,193,90,173,253,193,92,173,253,193,112,173,253,193,114,173,253,193,116,173,253,193,118,173,253,193,134,173,253,193,136,173,253,193,156,173,253,193,108,174,253,193,110,174,253,193,112,174,253,193,228,174,253,193,230,174,253,193,232,174,253,193,140,175,253,193,242,175,253,193,244,175,253,193,246,175,253,193,254,175,253,193,42,176,253,193,44,176,253,193,46,176,253,193,68,176,253,193,70,176,253,193,150,176,253,193,152,176,253,193,140,177,253,193,94,173,253,193,96,173,253,193,98,173,253,193,120,173,253,193,144,173,253,193,152,173,253,193,158,173,253,193,160,173,253,193,168,173,253,193,172,173,253,193,184,173,253,193,186,173,253,193,188,173,253,193,190,173,253,193,192,173,253,193,210,173,253,193,212,173,253,193,214,173,253,193,252,173,253,193,254,173,253,193,2,174,253,193,4,174,253,193,6,174,253,193,8,174,253,193,58,174,253,193,60,174,253,193,62,174,253,193,64,174,253,193,66,174,253,193,114,174,253,193,116,174,253,193,168,174,253,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,193,20,174,253,193,22,174,253,193,24,174,253,193,26,174,253,193,28,174,253,193,30,174,253,193,32,174,253,193,34,174,253,193,36,174,253,193,38,174,253,193,40,174,253,193,42,174,253,193,44,174,253,193,46,174,253,193,48,174,253,193,50,174,253,193,52,174,253,193,80,174,253,193,82,174,253,193,84,174,253,193,86,174,253,193,88,174,253,193,90,174,253,193,92,174,253,193,94,174,253,193,96,174,253,193,98,174,253,193,100,174,253,193,102,174,253,193,130,174,253,193,132,174,253,193,134,174,253,193,136,174,253,193,138,174,253,193,140,174,253,193,142,174,253,193,144,174,253,193,146,174,253,193,148,174,253,193,150,174,253,193,152,174,253,193,154,174,253,193,156,174,253,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,193,170,174,253,193,172,174,253,193,234,174,253,193,236,174,253,193,238,174,253,193,240,174,253,193,42,175,253,193,44,175,253,193,46,175,253,193,48,175,253,193,50,175,253,193,52,175,253,193,54,175,253,193,78,175,253,193,80,175,253,193,82,175,253,193,118,175,253,193,142,175,253,193,144,175,253,193,146,175,253,193,148,175,253,193,178,175,253,193,194,175,253,193,210,175,253,193,232,175,253,193,234,175,253,193,2,176,253,193,28,176,253,193,84,176,253,193,128,176,253,193,140,176,253,193,186,176,253,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,193,250,174,253,193,252,174,253,193,254,174,253,193,2,175,253,193,4,175,253,193,6,175,253,193,8,175,253,193,10,175,253,193,12,175,253,193,14,175,253,193,16,175,253,193,18,175,253,193,20,175,253,193,22,175,253,193,24,175,253,193,26,175,253,193,28,175,253,193,30,175,253,193,32,175,253,193,248,174,253,193,56,175,253,193,84,175,253,193,120,175,253,193,150,175,253,193,180,175,253,193,196,175,253,193,236,175,253,193,248,175,253,193,4,176,253,193,100,176,253,193,130,176,253,193,160,176,253,193,192,176,253,193,194,176,253,193,242,176,253,193,244,176,253,193,246,176,253,193,248,176,253,193,250,176,253,193,252,176,253,193,66,177,253,193,68,177,253,193,158,177,253,193,160,177,253,193,234,177,253,193,236,177,253,193,238,177,253,193,240,177,253,193,60,178,253,193,62,178,253,193,64,178,253,193,58,175,253,193,60,175,253,193,62,175,253,193,64,175,253,193,66,175,253,193,68,175,253,193,70,175,253,193,72,175,253,193,74,175,253,193,86,175,253,193,88,175,253,193,90,175,253,193,92,175,253,193,94,175,253,193,96,175,253,193,98,175,253,193,100,175,253,193,102,175,253,193,104,175,253,193,106,175,253,193,108,175,253,193,110,175,253,193,112,175,253,193,122,175,253,193,124,175,253,193,126,175,253,193,128,175,253,193,130,175,253,193,132,175,253,193,134,175,253,193,136,175,253,193,138,175,253,193,152,175,253,193,154,175,253,193,156,175,253,193,158,175,253,193,160,175,253,193,162,175,253,193,164,175,253,193,166,175,253,193,168,175,253,193,170,175,253,193,172,175,253,193,174,175,253,193,182,175,253,193,184,175,253,193,186,175,253,193,188,175,253,193,190,175,253,193,192,175,253,193,198,175,253,193,200,175,253,193,202,175,253,193,204,175,253,193,206,175,253,193,212,175,253,193,214,175,253,193,216,175,253,193,218,175,253,193,224,175,253,193,226,175,253,193,228,175,253,193,230,175,253,193,250,175,253,193,252,175,253,193,6,176,253,193,8,176,253,193,10,176,253,193,12,176,253,193,14,176,253,193,16,176,253,193,18,176,253,193,20,176,253,193,22,176,253,193,30,176,253,193,32,176,253,193,34,176,253,193,36,176,253,193,48,176,253,193,50,176,253,193,52,176,253,193,54,176,253,193,56,176,253,193,58,176,253,193,60,176,253,193,72,176,253,193,74,176,253,193,76,176,253,193,78,176,253,193,80,176,253,193,86,176,253,193,88,176,253,193,90,176,253,193,92,176,253,193,102,176,253,193,104,176,253,193,106,176,253,193,108,176,253,193,110,176,253,193,112,176,253,193,114,176,253,193,122,176,253,193,124,176,253,193,132,176,253,193,142,176,253,193,144,176,253,193,146,176,253,193,154,176,253,193,156,176,253,193,162,176,253,193,166,176,253,193,168,176,253,193,172,176,253,193,174,176,253,193,176,176,253,193,184,176,253,193,196,176,253,193,198,176,253,193,200,176,253,193,202,176,253,193,204,176,253,193,210,176,253,193,212,176,253,193,214,176,253,193,216,176,253,193,218,176,253,193,220,176,253,193,254,176,253,193,148,176,253,193,158,176,253,193,164,176,253,193,170,176,253,193,178,176,253,193,180,176,253,193,182,176,253,193,38,177,253,193,210,177,253,193,212,177,253,193,38,178,253,193,134,178,253,193,136,178,253,193,226,178,253,193,228,178,253,193,208,179,253,193,90,180,253,193,130,180,253,193,176,180,253,193,182,180,253,193,202,180,253,193,230,180,253,193,244,180,253,193,18,181,253,193,66,181,253,193,96,181,253,193,108,181,253,193,150,181,253,193,152,181,253,193,178,181,253,193,210,181,253,193,132,182,253,193,190,176,253,193,206,176,253,193,208,176,253,193,226,176,253,193,228,176,253,193,230,176,253,193,232,176,253,193,234,176,253,193,236,176,253,193,238,176,253,193,240,176,253,193,46,177,253,193,48,177,253,193,50,177,253,193,52,177,253,193,54,177,253,193,56,177,253,193,58,177,253,193,60,177,253,193,62,177,253,193,64,177,253,193,142,177,253,193,144,177,253,193,146,177,253,193,148,177,253,193,150,177,253,193,152,177,253,193,154,177,253,193,220,177,253,193,222,177,253,193,224,177,253,193,226,177,253,193,2,177,253,193,4,177,253,193,6,177,253,193,8,177,253,193,10,177,253,193,12,177,253,193,14,177,253,193,16,177,253,193,18,177,253,193,20,177,253,193,22,177,253,193,24,177,253,193,26,177,253,193,28,177,253,193,30,177,253,193,32,177,253,193,34,177,253,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,193,134,177,253,193,136,177,253,193,138,177,253,193,214,177,253,193,216,177,253,193,218,177,253,193,40,178,253,193,42,178,253,193,44,178,253,193,138,178,253,193,140,178,253,193,142,178,253,193,144,178,253,193,230,178,253,193,232,178,253,193,52,179,253,193,174,179,253,193,176,179,253,193,210,179,253,193,32,180,253,193,92,180,253,193,100,180,253,193,138,180,253,193,156,180,253,193,162,180,253,193,174,180,253,193,110,181,253,193,132,181,253,193,18,182,253,193,20,182,253,193,134,182,253,193,136,182,253,193,228,177,253,193,230,177,253,193,232,177,253,193,50,178,253,193,52,178,253,193,54,178,253,193,56,178,253,193,156,177,253,193,58,178,253,193,146,178,253,193,148,178,253,193,150,178,253,193,152,178,253,193,154,178,253,193,156,178,253,193,158,178,253,193,240,178,253,193,242,178,253,193,244,178,253,193,246,178,253,193,56,179,253,193,58,179,253,193,60,179,253,193,62,179,253,193,64,179,253,193,116,179,253,193,118,179,253,193,120,179,253,193,122,179,253,193,66,179,253,193,180,179,253,193,182,179,253,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,193,242,177,253,193,244,177,253,193,246,177,253,193,248,177,253,193,250,177,253,193,252,177,253,193,254,177,253,193,2,178,253,193,4,178,253,193,6,178,253,193,8,178,253,193,10,178,253,193,12,178,253,193,14,178,253,193,16,178,253,193,18,178,253,193,20,178,253,193,22,178,253,193,24,178,253,193,26,178,253,193,28,178,253,193,30,178,253,193,32,178,253,193,74,178,253,193,76,178,253,193,46,178,253,193,48,178,253,193,234,178,253,193,236,178,253,193,238,178,253,193,54,179,253,193,114,179,253,193,178,179,253,193,34,180,253,193,128,180,253,193,140,180,253,193,204,180,253,193,206,180,253,193,208,180,253,193,246,180,253,193,50,181,253,193,52,181,253,193,98,181,253,193,112,181,253,193,124,181,253,193,126,181,253,193,160,181,253,193,180,181,253,193,22,182,253,193,24,182,253,193,138,182,253,193,140,182,253,193,196,182,253,193,12,183,253,193,14,183,253,193,56,183,253,193,58,183,253,193,66,178,253,193,68,178,253,193,70,178,253,193,72,178,253,193,160,178,253,193,162,178,253,193,164,178,253,193,166,178,253,193,248,178,253,193,250,178,253,193,252,178,253,193,254,178,253,193,68,179,253,193,70,179,253,193,124,179,253,193,216,179,253,193,218,179,253,193,220,179,253,193,222,179,253,193,246,179,253,193,248,179,253,193,16,180,253,193,52,180,253,193,96,180,253,193,102,180,253,193,184,180,253,193,186,180,253,193,194,180,253,193,212,180,253,193,56,181,253,193,100,181,253,193,222,181,253,193,78,178,253,193,80,178,253,193,82,178,253,193,84,178,253,193,86,178,253,193,88,178,253,193,90,178,253,193,92,178,253,193,94,178,253,193,96,178,253,193,98,178,253,193,100,178,253,193,102,178,253,193,104,178,253,193,106,178,253,193,108,178,253,193,110,178,253,193,112,178,253,193,114,178,253,193,116,178,253,193,118,178,253,193,120,178,253,193,122,178,253,193,124,178,253,193,126,178,253,193,128,178,253,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,193,130,178,253,193,132,178,253,193,224,178,253,193,112,179,253,193,192,180,253,193,200,180,253,193,48,181,253,193,138,181,253,193,176,181,253,193,16,182,253,193,130,182,253,193,190,182,253,193,2,183,253,193,4,183,253,193,168,183,253,193,44,184,253,193,92,184,253,193,230,184,253,193,232,184,253,193,148,185,253,193,150,185,253,193,152,185,253,193,154,185,253,193,156,185,253,193,78,186,253,193,80,186,253,193,82,186,253,193,84,186,253,193,86,186,253,193,88,186,253,193,90,186,253,193,92,186,253,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,193,72,179,253,193,74,179,253,193,76,179,253,193,78,179,253,193,80,179,253,193,82,179,253,193,84,179,253,193,86,179,253,193,88,179,253,193,90,179,253,193,92,179,253,193,94,179,253,193,96,179,253,193,98,179,253,193,100,179,253,193,102,179,253,193,104,179,253,193,106,179,253,193,108,179,253,193,110,179,253,193,126,179,253,193,128,179,253,193,130,179,253,193,132,179,253,193,134,179,253,193,136,179,253,193,138,179,253,193,140,179,253,193,142,179,253,193,144,179,253,193,146,179,253,193,148,179,253,193,150,179,253,193,152,179,253,193,154,179,253,193,156,179,253,193,158,179,253,193,160,179,253,193,162,179,253,193,164,179,253,193,166,179,253,193,168,179,253,193,170,179,253,193,172,179,253,206,96,113,0,206,96,113,0,206,96,113,0,206,96,113,0,206,96,113,0,193,184,179,253,193,212,179,253,193,214,179,253,193,244,179,253,193,36,180,253,193,58,180,253,193,66,180,253,193,74,180,253,193,78,180,253,193,84,180,253,193,94,180,253,193,110,180,253,193,118,180,253,193,120,180,253,193,132,180,253,193,136,180,253,193,164,180,253,193,170,180,253,193,172,180,253,193,210,180,253,193,232,180,253,193,248,180,253,193,250,180,253,193,8,181,253,193,20,181,253,193,32,181,253,193,34,181,253,193,54,181,253,193,166,181,253,193,182,181,253,193,212,181,253,193,214,181,253,206,96,113,0,206,96,113,0,206,96,113,0,206,96,113,0,206,96,113,0,206,96,113,0,193,224,179,253,193,226,179,253,193,228,179,253,193,230,179,253,193,232,179,253,193,234,179,253,193,236,179,253,193,238,179,253,193,240,179,253,193,242,179,253,193,250,179,253,193,252,179,253,193,254,179,253,193,2,180,253,193,4,180,253,193,6,180,253,193,8,180,253,193,10,180,253,193,12,180,253,193,14,180,253,193,18,180,253,193,20,180,253,193,22,180,253,193,24,180,253,193,26,180,253,193,28,180,253,193,30,180,253,193,38,180,253,193,40,180,253,193,42,180,253,193,44,180,253,193,46,180,253,193,48,180,253,193,50,180,253,193,54,180,253,193,56,180,253,193,60,180,253,193,62,180,253,193,64,180,253,193,68,180,253,193,70,180,253,193,72,180,253,193,76,180,253,193,80,180,253,193,82,180,253,193,86,180,253,193,88,180,253,193,98,180,253,193,104,180,253,193,106,180,253,193,108,180,253,193,112,180,253,193,114,180,253,193,116,180,253,193,122,180,253,193,124,180,253,193,126,180,253,193,134,180,253,193,142,180,253,193,144,180,253,193,146,180,253,193,148,180,253,193,150,180,253,193,152,180,253,193,154,180,253,193,158,180,253,193,160,180,253,193,166,180,253,193,168,180,253,193,178,180,253,193,180,180,253,193,188,180,253,193,190,180,253,193,196,180,253,193,198,180,253,193,214,180,253,193,216,180,253,193,218,180,253,193,220,180,253,193,222,180,253,193,224,180,253,193,226,180,253,193,228,180,253,193,234,180,253,193,236,180,253,193,238,180,253,193,240,180,253,193,242,180,253,193,252,180,253,193,254,180,253,193,2,181,253,193,4,181,253,193,6,181,253,193,10,181,253,193,12,181,253,193,14,181,253,193,16,181,253,193,22,181,253,193,24,181,253,193,26,181,253,193,28,181,253,193,30,181,253,193,36,181,253,193,38,181,253,193,40,181,253,193,42,181,253,193,44,181,253,193,46,181,253,193,58,181,253,193,60,181,253,193,62,181,253,193,64,181,253,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,193,104,181,253,193,106,181,253,193,114,181,253,193,116,181,253,193,118,181,253,193,120,181,253,193,122,181,253,193,128,181,253,193,130,181,253,193,134,181,253,193,136,181,253,193,140,181,253,193,142,181,253,193,144,181,253,193,146,181,253,193,148,181,253,193,154,181,253,193,156,181,253,193,158,181,253,193,162,181,253,193,164,181,253,193,168,181,253,193,170,181,253,193,172,181,253,193,174,181,253,193,184,181,253,193,186,181,253,193,188,181,253,193,190,181,253,193,192,181,253,193,194,181,253,193,196,181,253,193,198,181,253,193,200,181,253,193,202,181,253,193,204,181,253,193,206,181,253,193,208,181,253,193,224,181,253,193,226,181,253,193,228,181,253,193,230,181,253,193,232,181,253,193,234,181,253,193,236,181,253,193,238,181,253,193,240,181,253,193,242,181,253,193,244,181,253,193,246,181,253,193,248,181,253,193,250,181,253,193,252,181,253,193,254,181,253,193,2,182,253,193,4,182,253,193,6,182,253,193,8,182,253,193,10,182,253,193,12,182,253,193,216,181,253,193,218,181,253,193,220,181,253,193,26,182,253,193,28,182,253,193,30,182,253,193,32,182,253,193,88,182,253,193,142,182,253,193,144,182,253,193,198,182,253,193,200,182,253,193,202,182,253,193,204,182,253,193,206,182,253,193,208,182,253,193,60,183,253,193,88,183,253,193,90,183,253,193,92,183,253,193,94,183,253,193,122,183,253,193,124,183,253,193,180,183,253,193,182,183,253,193,184,183,253,193,2,184,253,193,18,184,253,193,20,184,253,193,22,184,253,193,24,184,253,193,52,184,253,193,14,182,253,193,38,182,253,193,40,182,253,193,42,182,253,193,44,182,253,193,46,182,253,193,48,182,253,193,50,182,253,193,52,182,253,193,54,182,253,193,56,182,253,193,58,182,253,193,60,182,253,193,62,182,253,193,64,182,253,193,66,182,253,193,68,182,253,193,70,182,253,193,72,182,253,193,74,182,253,193,76,182,253,193,78,182,253,193,80,182,253,193,82,182,253,193,84,182,253,193,86,182,253,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,193,34,182,253,193,36,182,253,193,90,182,253,193,92,182,253,193,210,182,253,193,212,182,253,193,214,182,253,193,216,182,253,193,16,183,253,193,18,183,253,193,62,183,253,193,126,183,253,193,128,183,253,193,130,183,253,193,170,183,253,193,186,183,253,193,188,183,253,193,252,183,253,193,16,184,253,193,26,184,253,193,60,184,253,193,62,184,253,193,64,184,253,193,148,184,253,193,150,184,253,193,152,184,253,193,154,184,253,193,156,184,253,193,158,184,253,193,160,184,253,193,162,184,253,193,60,185,253,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,193,146,182,253,193,148,182,253,193,150,182,253,193,152,182,253,193,154,182,253,193,156,182,253,193,158,182,253,193,160,182,253,193,162,182,253,193,164,182,253,193,166,182,253,193,168,182,253,193,170,182,253,193,172,182,253,193,174,182,253,193,176,182,253,193,178,182,253,193,180,182,253,193,182,182,253,193,184,182,253,193,186,182,253,193,188,182,253,193,218,182,253,193,220,182,253,193,222,182,253,193,224,182,253,193,226,182,253,193,228,182,253,193,230,182,253,193,232,182,253,193,234,182,253,193,236,182,253,193,238,182,253,193,240,182,253,193,242,182,253,193,244,182,253,193,246,182,253,193,248,182,253,193,250,182,253,193,252,182,253,193,254,182,253,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,193,192,182,253,193,46,184,253,193,48,184,253,193,94,184,253,193,96,184,253,193,234,184,253,193,236,184,253,193,158,185,253,193,160,185,253,193,162,185,253,193,164,185,253,193,166,185,253,193,168,185,253,193,94,186,253,193,96,186,253,193,98,186,253,193,100,186,253,193,102,186,253,193,36,187,253,193,38,187,253,193,40,187,253,193,42,187,253,193,44,187,253,193,70,188,253,193,72,188,253,193,74,188,253,193,76,188,253,193,78,188,253,193,36,189,253,193,38,189,253,193,40,189,253,193,42,189,253,193,194,182,253,193,6,183,253,193,8,183,253,193,10,183,253,193,54,183,253,193,84,183,253,193,86,183,253,193,120,183,253,193,178,183,253,193,224,183,253,193,234,183,253,193,246,183,253,193,8,184,253,193,10,184,253,193,12,184,253,193,14,184,253,193,98,184,253,193,238,184,253,193,240,184,253,193,170,185,253,193,172,185,253,193,104,186,253,193,106,186,253,193,108,186,253,193,110,186,253,193,46,187,253,193,48,187,253,193,50,187,253,193,52,187,253,193,54,187,253,193,80,188,253,193,82,188,253,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,193,64,183,253,193,66,183,253,193,68,183,253,193,70,183,253,193,72,183,253,193,74,183,253,193,76,183,253,193,78,183,253,193,80,183,253,193,82,183,253,193,96,183,253,193,98,183,253,193,100,183,253,193,102,183,253,193,104,183,253,193,106,183,253,193,108,183,253,193,110,183,253,193,112,183,253,193,114,183,253,193,116,183,253,193,118,183,253,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,193,172,183,253,193,174,183,253,193,176,183,253,193,190,183,253,193,192,183,253,193,194,183,253,193,196,183,253,193,198,183,253,193,200,183,253,193,202,183,253,193,204,183,253,193,206,183,253,193,212,183,253,193,214,183,253,193,216,183,253,193,218,183,253,193,220,183,253,193,222,183,253,193,208,183,253,193,210,183,253,193,254,183,253,193,50,184,253,193,100,184,253,193,242,184,253,193,244,184,253,193,246,184,253,193,248,184,253,193,174,185,253,193,176,185,253,193,178,185,253,193,112,186,253,193,56,187,253,193,58,187,253,193,60,187,253,193,62,187,253,193,64,187,253,193,66,187,253,193,84,188,253,193,86,188,253,193,56,189,253,193,58,189,253,193,60,189,253,193,62,189,253,193,64,189,253,193,22,190,253,193,24,190,253,193,26,190,253,193,220,190,253,193,222,190,253,193,136,191,253,193,226,183,253,193,228,183,253,193,230,183,253,193,232,183,253,193,236,183,253,193,238,183,253,193,240,183,253,193,242,183,253,193,244,183,253,193,248,183,253,193,250,183,253,193,6,184,253,193,28,184,253,193,30,184,253,193,32,184,253,193,34,184,253,193,36,184,253,193,38,184,253,193,40,184,253,193,42,184,253,193,66,184,253,193,68,184,253,193,70,184,253,193,72,184,253,193,74,184,253,193,76,184,253,193,78,184,253,193,80,184,253,193,82,184,253,193,84,184,253,193,86,184,253,193,88,184,253,193,54,184,253,193,56,184,253,193,58,184,253,193,102,184,253,193,104,184,253,193,106,184,253,193,108,184,253,193,110,184,253,193,112,184,253,193,114,184,253,193,116,184,253,193,118,184,253,193,120,184,253,193,122,184,253,193,124,184,253,193,126,184,253,193,128,184,253,193,130,184,253,193,132,184,253,193,134,184,253,193,136,184,253,193,138,184,253,193,140,184,253,193,142,184,253,193,144,184,253,193,146,184,253,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,193,144,185,253,193,246,185,253,193,248,185,253,193,250,185,253,193,252,185,253,193,254,185,253,193,2,186,253,193,4,186,253,193,6,186,253,193,8,186,253,193,10,186,253,193,12,186,253,193,14,186,253,193,16,186,253,193,18,186,253,193,20,186,253,193,22,186,253,193,24,186,253,193,26,186,253,193,28,186,253,193,30,186,253,193,32,186,253,193,34,186,253,193,90,184,253,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,193,164,184,253,193,166,184,253,193,168,184,253,193,170,184,253,193,172,184,253,193,174,184,253,193,176,184,253,193,178,184,253,193,180,184,253,193,182,184,253,193,184,184,253,193,186,184,253,193,188,184,253,193,190,184,253,193,192,184,253,193,194,184,253,193,196,184,253,193,198,184,253,193,200,184,253,193,202,184,253,193,204,184,253,193,206,184,253,193,208,184,253,193,210,184,253,193,212,184,253,193,214,184,253,193,216,184,253,193,218,184,253,193,220,184,253,193,222,184,253,193,224,184,253,193,226,184,253,193,228,184,253,193,82,185,253,193,84,185,253,193,86,185,253,193,88,185,253,193,90,185,253,193,92,185,253,193,94,185,253,193,96,185,253,193,98,185,253,193,100,185,253,193,102,185,253,193,104,185,253,193,106,185,253,193,108,185,253,193,110,185,253,193,112,185,253,193,114,185,253,193,116,185,253,193,118,185,253,193,120,185,253,193,122,185,253,193,124,185,253,193,126,185,253,193,128,185,253,193,130,185,253,193,132,185,253,193,134,185,253,193,136,185,253,193,138,185,253,193,140,185,253,193,142,185,253,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,193,180,185,253,193,182,185,253,193,184,185,253,193,186,185,253,193,188,185,253,193,190,185,253,193,192,185,253,193,194,185,253,193,196,185,253,193,198,185,253,193,58,185,253,193,200,185,253,193,202,185,253,193,204,185,253,193,206,185,253,193,208,185,253,193,210,185,253,193,212,185,253,193,214,185,253,193,216,185,253,193,218,185,253,193,220,185,253,193,222,185,253,193,224,185,253,193,226,185,253,193,228,185,253,193,230,185,253,193,232,185,253,193,114,186,253,193,116,186,253,193,118,186,253,193,120,186,253,193,122,186,253,193,234,185,253,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,193,62,185,253,193,64,185,253,193,66,185,253,193,68,185,253,193,70,185,253,193,72,185,253,193,74,185,253,193,76,185,253,193,78,185,253,193,80,185,253,193,236,185,253,193,238,185,253,193,240,185,253,193,242,185,253,193,244,185,253,193,176,186,253,193,178,186,253,193,180,186,253,193,182,186,253,193,184,186,253,193,186,186,253,193,188,186,253,193,190,186,253,193,192,186,253,193,194,186,253,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,193,146,185,253,193,76,194,253,193,78,194,253,193,80,194,253,193,82,194,253,193,150,194,253,193,152,194,253,193,154,194,253,193,156,194,253,193,26,187,253,193,250,194,253,193,252,194,253,193,114,195,253,193,254,191,253,193,196,195,253,193,224,195,253,193,226,195,253,193,228,195,253,193,254,195,253,193,2,196,253,193,4,196,253,193,6,196,253,193,8,196,253,193,10,196,253,193,12,196,253,193,14,196,253,193,16,196,253,193,18,196,253,193,20,196,253,193,52,196,253,193,54,196,253,193,56,196,253,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,193,88,188,253,193,90,188,253,193,92,188,253,193,94,188,253,193,96,188,253,193,136,187,253,193,98,188,253,193,174,186,253,193,100,188,253,193,102,188,253,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,193,28,187,253,193,30,187,253,193,32,187,253,193,34,187,253,193,62,188,253,193,64,188,253,193,66,188,253,193,68,188,253,193,30,189,253,193,32,189,253,193,34,189,253,193,246,189,253,193,248,189,253,193,250,189,253,193,252,189,253,193,254,189,253,193,188,190,253,193,190,190,253,193,192,190,253,193,194,190,253,193,196,190,253,193,198,190,253,193,200,190,253,193,106,191,253,193,108,191,253,193,110,191,253,193,112,191,253,193,114,191,253,193,116,191,253,193,2,192,253,193,4,192,253,193,6,192,253,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,193,162,188,253,193,164,188,253,193,166,188,253,193,168,188,253,193,170,188,253,193,172,188,253,193,174,188,253,193,176,188,253,193,178,188,253,193,180,188,253,193,108,189,253,193,110,189,253,193,112,189,253,193,114,189,253,193,116,189,253,193,118,189,253,193,120,189,253,193,122,189,253,193,124,189,253,193,80,190,253,193,82,190,253,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,193,182,188,253,193,184,188,253,193,104,188,253,193,106,188,253,193,108,188,253,193,110,188,253,193,112,188,253,193,114,188,253,193,116,188,253,193,118,188,253,193,120,188,253,193,122,188,253,193,124,188,253,193,126,188,253,193,128,188,253,193,130,188,253,193,132,188,253,193,134,188,253,193,136,188,253,193,138,188,253,193,140,188,253,193,142,188,253,193,144,188,253,193,146,188,253,193,148,188,253,193,150,188,253,193,152,188,253,193,154,188,253,193,156,188,253,193,158,188,253,193,66,189,253,193,68,189,253,193,70,189,253,193,72,189,253,193,160,188,253,193,74,189,253,193,76,189,253,193,78,189,253,193,80,189,253,193,82,189,253,193,84,189,253,193,86,189,253,193,88,189,253,193,90,189,253,193,92,189,253,193,94,189,253,193,96,189,253,193,98,189,253,193,100,189,253,193,102,189,253,193,104,189,253,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,193,186,188,253,193,188,188,253,193,190,188,253,193,192,188,253,193,194,188,253,193,196,188,253,193,198,188,253,193,200,188,253,193,202,188,253,193,204,188,253,193,206,188,253,193,208,188,253,193,210,188,253,193,212,188,253,193,214,188,253,193,216,188,253,193,218,188,253,193,220,188,253,193,222,188,253,193,224,188,253,193,226,188,253,193,228,188,253,193,230,188,253,193,232,188,253,193,234,188,253,193,236,188,253,193,238,188,253,193,240,188,253,193,242,188,253,193,244,188,253,193,246,188,253,193,248,188,253,193,250,188,253,193,252,188,253,193,254,188,253,193,2,189,253,193,4,189,253,193,6,189,253,193,8,189,253,193,10,189,253,193,12,189,253,193,14,189,253,193,16,189,253,193,18,189,253,193,20,189,253,193,22,189,253,193,24,189,253,193,26,189,253,193,28,189,253,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,193,44,189,253,193,46,189,253,193,48,189,253,193,50,189,253,193,52,189,253,193,54,189,253,193,12,190,253,193,14,190,253,193,16,190,253,193,18,190,253,193,20,190,253,193,214,190,253,193,216,190,253,193,218,190,253,193,126,191,253,193,128,191,253,193,130,191,253,193,132,191,253,193,134,191,253,193,22,192,253,193,24,192,253,193,102,192,253,193,160,192,253,193,210,192,253,193,212,192,253,193,246,192,253,193,248,192,253,193,130,193,253,193,28,194,253,193,30,194,253,193,100,194,253,193,184,194,253,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,193,4,190,253,193,6,190,253,193,8,190,253,193,10,190,253,193,202,190,253,193,204,190,253,193,206,190,253,193,208,190,253,193,210,190,253,193,212,190,253,193,118,191,253,193,120,191,253,193,122,191,253,193,124,191,253,193,14,192,253,193,16,192,253,193,18,192,253,193,20,192,253,193,94,192,253,193,96,192,253,193,98,192,253,193,100,192,253,193,158,192,253,193,204,192,253,193,206,192,253,193,208,192,253,193,244,192,253,193,20,193,253,193,22,193,253,193,34,193,253,193,36,193,253,193,54,193,253,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,193,224,190,253,193,226,190,253,193,228,190,253,193,230,190,253,193,232,190,253,193,234,190,253,193,236,190,253,193,238,190,253,193,240,190,253,193,242,190,253,193,244,190,253,193,246,190,253,193,248,190,253,193,250,190,253,193,252,190,253,193,254,190,253,193,2,191,253,193,4,191,253,193,6,191,253,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,193,76,190,253,193,160,203,253,193,162,203,253,193,164,203,253,193,166,203,253,193,168,203,253,193,170,203,253,193,172,203,253,193,174,203,253,193,176,203,253,193,178,203,253,193,180,203,253,193,182,203,253,193,184,203,253,193,186,203,253,193,188,203,253,193,190,203,253,193,192,203,253,193,194,203,253,193,196,203,253,193,198,203,253,193,200,203,253,193,202,203,253,193,204,203,253,193,206,203,253,193,128,204,253,193,208,203,253,193,210,203,253,193,212,203,253,193,130,204,253,193,132,204,253,193,134,204,253,193,84,190,253,193,86,190,253,193,88,190,253,193,90,190,253,193,92,190,253,193,94,190,253,193,96,190,253,193,98,190,253,193,100,190,253,193,8,191,253,193,10,191,253,193,12,191,253,193,14,191,253,193,16,191,253,193,18,191,253,193,20,191,253,193,172,191,253,193,174,191,253,193,176,191,253,193,178,191,253,193,180,191,253,193,182,191,253,193,40,192,253,193,42,192,253,193,44,192,253,193,118,192,253,193,174,192,253,193,176,192,253,193,62,193,253,193,104,193,253,193,180,193,253,193,182,193,253,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,193,22,191,253,193,24,191,253,193,26,191,253,193,28,191,253,193,30,191,253,193,32,191,253,193,34,191,253,193,36,191,253,193,38,191,253,193,40,191,253,193,42,191,253,193,44,191,253,193,46,191,253,193,48,191,253,193,50,191,253,193,52,191,253,193,54,191,253,193,56,191,253,193,58,191,253,193,60,191,253,193,62,191,253,193,64,191,253,193,66,191,253,193,68,191,253,193,70,191,253,193,72,191,253,193,74,191,253,193,76,191,253,193,78,191,253,193,80,191,253,193,82,191,253,193,84,191,253,193,86,191,253,193,88,191,253,193,90,191,253,193,92,191,253,193,94,191,253,193,96,191,253,193,98,191,253,193,100,191,253,193,102,191,253,193,104,191,253,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,193,138,191,253,193,140,191,253,193,26,192,253,193,104,192,253,193,162,192,253,193,164,192,253,193,166,192,253,193,168,192,253,193,214,192,253,193,250,192,253,193,38,193,253,193,58,193,253,193,60,193,253,193,66,193,253,193,74,193,253,193,90,193,253,193,132,193,253,193,134,193,253,193,136,193,253,193,138,193,253,193,140,193,253,193,142,193,253,193,144,193,253,193,146,193,253,193,148,193,253,193,150,193,253,206,192,115,0,206,192,115,0,206,192,115,0,206,192,115,0,206,192,115,0,206,192,115,0,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,193,28,192,253,193,166,191,253,193,168,191,253,193,170,191,253,193,30,192,253,193,32,192,253,193,34,192,253,193,36,192,253,193,38,192,253,193,106,192,253,193,108,192,253,193,110,192,253,193,112,192,253,193,114,192,253,193,116,192,253,193,170,192,253,193,172,192,253,193,252,192,253,193,24,193,253,193,56,193,253,193,64,193,253,193,68,193,253,193,76,193,253,193,92,193,253,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,193,46,192,253,193,48,192,253,193,50,192,253,193,52,192,253,193,54,192,253,193,56,192,253,193,58,192,253,193,60,192,253,193,62,192,253,193,64,192,253,193,66,192,253,193,68,192,253,193,70,192,253,193,72,192,253,193,74,192,253,193,76,192,253,193,78,192,253,193,80,192,253,193,82,192,253,193,84,192,253,193,86,192,253,193,88,192,253,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,193,8,192,253,193,10,192,253,193,90,192,253,193,92,192,253,193,156,192,253,193,242,192,253,193,32,193,253,193,52,193,253,193,78,193,253,193,80,193,253,193,82,193,253,193,112,193,253,193,114,193,253,193,116,193,253,193,184,193,253,193,186,193,253,193,188,193,253,193,190,193,253,193,192,193,253,193,10,194,253,193,12,194,253,193,14,194,253,193,16,194,253,193,18,194,253,193,20,194,253,193,84,194,253,193,86,194,253,193,88,194,253,193,158,194,253,193,160,194,253,193,162,194,253,193,164,194,253,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,193,178,192,253,193,180,192,253,193,182,192,253,193,184,192,253,193,186,192,253,193,188,192,253,193,190,192,253,193,192,192,253,193,194,192,253,193,196,192,253,193,198,192,253,193,200,192,253,193,202,192,253,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,193,2,193,253,193,4,193,253,193,6,193,253,193,8,193,253,193,10,193,253,193,12,193,253,193,14,193,253,193,16,193,253,193,18,193,253,193,26,193,253,193,28,193,253,193,30,193,253,193,40,193,253,193,42,193,253,193,44,193,253,193,46,193,253,193,48,193,253,193,50,193,253,193,106,193,253,193,108,193,253,193,110,193,253,193,2,194,253,193,4,194,253,193,6,194,253,193,8,194,253,193,70,193,253,193,72,193,253,193,84,193,253,193,86,193,253,193,88,193,253,193,120,193,253,193,122,193,253,193,124,193,253,193,126,193,253,193,128,193,253,193,196,193,253,193,198,193,253,193,200,193,253,193,202,193,253,193,22,194,253,193,24,194,253,193,26,194,253,193,90,194,253,193,92,194,253,193,94,194,253,193,96,194,253,193,98,194,253,193,170,194,253,193,172,194,253,193,10,195,253,193,174,194,253,193,176,194,253,193,178,194,253,193,180,194,253,193,182,194,253,193,12,195,253,193,14,195,253,193,94,193,253,193,96,193,253,193,98,193,253,193,100,193,253,193,152,193,253,193,154,193,253,193,156,193,253,193,158,193,253,193,160,193,253,193,162,193,253,193,164,193,253,193,166,193,253,193,168,193,253,193,170,193,253,193,172,193,253,193,174,193,253,193,176,193,253,193,226,193,253,193,228,193,253,193,230,193,253,193,232,193,253,193,234,193,253,193,236,193,253,193,238,193,253,193,240,193,253,193,242,193,253,193,244,193,253,193,246,193,253,193,248,193,253,193,250,193,253,193,252,193,253,193,254,193,253,206,192,115,0,206,192,115,0,206,192,115,0,206,192,115,0,206,192,115,0,193,32,194,253,193,34,194,253,193,36,194,253,193,38,194,253,193,40,194,253,193,42,194,253,193,44,194,253,193,102,194,253,193,104,194,253,193,106,194,253,193,108,194,253,193,110,194,253,193,112,194,253,193,114,194,253,193,116,194,253,193,118,194,253,193,188,194,253,193,190,194,253,193,192,194,253,193,194,194,253,193,196,194,253,193,198,194,253,193,200,194,253,193,202,194,253,193,204,194,253,193,206,194,253,193,208,194,253,193,46,194,253,193,48,194,253,193,50,194,253,193,52,194,253,193,54,194,253,193,56,194,253,193,58,194,253,193,60,194,253,193,62,194,253,193,64,194,253,193,66,194,253,193,68,194,253,193,70,194,253,193,120,194,253,193,122,194,253,193,124,194,253,193,126,194,253,193,128,194,253,193,130,194,253,193,132,194,253,193,134,194,253,193,136,194,253,193,138,194,253,193,140,194,253,193,142,194,253,193,144,194,253,193,146,194,253,193,148,194,253,193,214,194,253,193,216,194,253,193,48,195,253,193,218,194,253,193,166,194,253,193,168,194,253,193,254,194,253,193,2,195,253,193,4,195,253,193,6,195,253,193,70,195,253,193,116,195,253,193,118,195,253,193,144,195,253,193,146,195,253,193,178,195,253,193,188,195,253,193,198,195,253,193,230,195,253,193,12,197,253,193,14,197,253,193,16,197,253,193,18,197,253,193,250,197,253,193,252,197,253,193,254,197,253,193,2,198,253,193,4,198,253,193,232,198,253,193,234,198,253,193,236,198,253,193,238,198,253,193,174,199,253,193,176,199,253,193,178,199,253,193,180,199,253,193,186,194,253,193,76,195,253,193,78,195,253,193,128,195,253,193,202,195,253,193,24,196,253,193,96,196,253,193,98,196,253,193,100,196,253,193,102,196,253,193,104,196,253,193,30,197,253,193,32,197,253,193,34,197,253,193,36,197,253,193,38,197,253,193,24,198,253,193,26,198,253,193,28,198,253,193,252,198,253,193,254,198,253,193,2,199,253,193,4,199,253,193,6,199,253,193,8,199,253,193,200,199,253,193,202,199,253,193,204,199,253,206,64,117,0,206,64,117,0,206,64,117,0,206,64,117,0,193,210,194,253,193,212,194,253,193,34,195,253,193,36,195,253,193,38,195,253,193,40,195,253,193,42,195,253,193,44,195,253,193,46,195,253,193,80,195,253,193,82,195,253,193,84,195,253,193,86,195,253,193,88,195,253,193,90,195,253,193,130,195,253,193,132,195,253,193,134,195,253,193,162,195,253,193,164,195,253,193,166,195,253,193,168,195,253,193,184,195,253,193,192,195,253,193,194,195,253,193,204,195,253,193,208,195,253,193,210,195,253,193,212,195,253,193,26,196,253,193,40,197,253,193,42,197,253,193,220,194,253,193,222,194,253,193,224,194,253,193,226,194,253,193,228,194,253,193,230,194,253,193,232,194,253,193,234,194,253,193,236,194,253,193,238,194,253,193,240,194,253,193,242,194,253,193,50,195,253,193,52,195,253,193,54,195,253,193,56,195,253,193,58,195,253,193,60,195,253,193,62,195,253,193,92,195,253,193,94,195,253,193,96,195,253,193,98,195,253,193,100,195,253,193,102,195,253,193,104,195,253,193,106,195,253,193,108,195,253,193,136,195,253,193,138,195,253,193,140,195,253,193,142,195,253,193,246,194,253,193,248,194,253,193,64,195,253,193,66,195,253,193,68,195,253,193,252,195,253,193,40,196,253,193,42,196,253,193,44,196,253,193,46,196,253,193,48,196,253,193,50,196,253,193,152,196,253,193,154,196,253,193,156,196,253,193,158,196,253,193,160,196,253,193,162,196,253,193,164,196,253,193,166,196,253,193,168,196,253,193,170,196,253,193,172,196,253,193,174,196,253,193,176,196,253,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,193,16,195,253,193,18,195,253,193,20,195,253,193,22,195,253,193,24,195,253,193,26,195,253,193,28,195,253,193,30,195,253,193,32,195,253,193,72,195,253,193,74,195,253,193,122,195,253,193,124,195,253,193,126,195,253,193,148,195,253,193,150,195,253,193,152,195,253,193,154,195,253,193,156,195,253,193,158,195,253,193,160,195,253,193,180,195,253,193,182,195,253,193,190,195,253,193,200,195,253,193,206,195,253,193,214,195,253,193,216,195,253,193,22,196,253,193,90,196,253,193,92,196,253,193,94,196,253,193,170,195,253,193,172,195,253,193,174,195,253,193,176,195,253,193,186,195,253,193,218,195,253,193,222,195,253,193,232,195,253,193,234,195,253,193,236,195,253,193,238,195,253,193,240,195,253,193,242,195,253,193,244,195,253,193,246,195,253,193,248,195,253,193,250,195,253,193,28,196,253,193,30,196,253,193,32,196,253,193,34,196,253,193,36,196,253,193,38,196,253,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,193,58,196,253,193,60,196,253,193,62,196,253,193,64,196,253,193,66,196,253,193,68,196,253,193,70,196,253,193,72,196,253,193,74,196,253,193,76,196,253,193,78,196,253,193,80,196,253,193,82,196,253,193,84,196,253,193,86,196,253,193,88,196,253,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,193,44,197,253,193,144,196,253,193,146,196,253,193,148,196,253,193,150,196,253,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,193,20,197,253,193,22,197,253,193,24,197,253,193,26,197,253,193,28,197,253,193,8,198,253,193,10,198,253,193,12,198,253,193,14,198,253,193,16,198,253,193,18,198,253,193,20,198,253,193,22,198,253,193,240,198,253,193,242,198,253,193,244,198,253,193,246,198,253,193,248,198,253,193,250,198,253,193,184,199,253,193,186,199,253,193,118,207,253,193,188,199,253,193,190,199,253,193,192,199,253,193,194,199,253,193,196,199,253,193,198,199,253,193,208,200,253,193,210,200,253,193,212,200,253,193,214,200,253,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,193,100,198,253,193,102,198,253,193,104,198,253,193,106,198,253,193,108,198,253,193,110,198,253,193,112,198,253,193,114,198,253,193,116,198,253,193,118,198,253,193,68,199,253,193,70,199,253,193,72,199,253,193,74,199,253,193,76,199,253,193,78,199,253,193,80,199,253,193,82,199,253,193,48,200,253,193,50,200,253,193,52,200,253,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,193,30,198,253,193,32,198,253,193,34,198,253,193,36,198,253,193,38,198,253,193,40,198,253,193,10,199,253,193,12,199,253,193,206,199,253,193,208,199,253,193,210,199,253,193,212,199,253,193,214,199,253,193,236,200,253,193,238,200,253,193,240,200,253,193,242,200,253,193,228,201,253,193,230,201,253,193,232,201,253,193,200,202,253,193,202,202,253,193,204,202,253,193,206,202,253,193,208,202,253,193,158,203,253,193,120,204,253,193,122,204,253,193,124,204,253,193,126,204,253,193,252,204,253,193,254,204,253,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,193,182,199,253,193,192,200,253,193,194,200,253,193,196,200,253,193,198,200,253,193,200,200,253,193,202,200,253,193,204,200,253,193,206,200,253,193,202,201,253,193,204,201,253,193,206,201,253,193,164,202,253,193,166,202,253,193,168,202,253,193,170,202,253,193,136,203,253,193,102,204,253,193,104,204,253,193,106,204,253,193,108,204,253,193,110,204,253,193,240,204,253,193,82,205,253,193,142,205,253,193,32,206,253,193,122,206,253,193,124,206,253,193,126,206,253,193,128,206,253,193,130,206,253,193,188,206,253,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,193,244,200,253,193,46,200,253,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,193,54,200,253,193,56,200,253,193,58,200,253,193,60,200,253,193,62,200,253,193,64,200,253,193,44,201,253,193,46,201,253,193,48,201,253,193,50,201,253,193,52,201,253,193,54,201,253,193,56,201,253,193,58,201,253,193,60,201,253,193,62,201,253,193,64,201,253,193,50,202,253,193,52,202,253,193,54,202,253,193,56,202,253,193,58,202,253,193,60,202,253,193,244,202,253,193,246,202,253,193,248,202,253,193,250,202,253,193,252,202,253,193,254,202,253,193,2,203,253,193,214,203,253,193,216,203,253,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,193,216,200,253,193,218,200,253,193,208,201,253,193,210,201,253,193,212,201,253,193,214,201,253,193,216,201,253,193,218,201,253,193,172,202,253,193,174,202,253,193,176,202,253,193,178,202,253,193,180,202,253,193,182,202,253,193,140,203,253,193,142,203,253,193,144,203,253,193,112,204,253,193,114,204,253,193,116,204,253,193,242,204,253,193,244,204,253,193,246,204,253,193,84,205,253,193,144,205,253,193,202,205,253,193,46,206,253,193,74,206,253,193,82,206,253,193,84,206,253,193,96,206,253,193,134,206,253,206,64,117,0,206,64,117,0,206,64,117,0,206,64,117,0,193,220,201,253,193,222,201,253,193,224,201,253,193,226,201,253,193,184,202,253,193,186,202,253,193,188,202,253,193,190,202,253,193,192,202,253,193,194,202,253,193,196,202,253,193,198,202,253,193,146,203,253,193,148,203,253,193,150,203,253,193,152,203,253,193,154,203,253,193,156,203,253,193,118,204,253,193,248,204,253,193,250,204,253,193,86,205,253,193,88,205,253,193,146,205,253,193,148,205,253,193,204,205,253,193,206,205,253,193,12,206,253,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,193,210,202,253,193,42,202,253,193,44,202,253,193,46,202,253,193,48,202,253,193,212,202,253,193,214,202,253,193,216,202,253,193,218,202,253,193,220,202,253,193,222,202,253,193,224,202,253,193,226,202,253,193,228,202,253,193,230,202,253,193,232,202,253,193,234,202,253,193,236,202,253,193,238,202,253,193,240,202,253,193,242,202,253,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,193,218,203,253,193,220,203,253,193,222,203,253,193,224,203,253,193,226,203,253,193,228,203,253,193,230,203,253,193,158,204,253,193,160,204,253,193,162,204,253,193,164,204,253,193,166,204,253,193,24,205,253,193,26,205,253,193,96,205,253,193,158,205,253,193,34,206,253,193,62,206,253,193,64,206,253,193,114,206,253,193,8,207,253,193,10,207,253,193,182,207,253,193,254,207,253,193,74,208,253,193,188,208,253,193,250,208,253,193,34,209,253,193,96,209,253,193,118,209,253,193,140,209,253,193,198,209,253,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,193,168,204,253,193,100,204,253,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,193,136,204,253,193,138,204,253,193,140,204,253,193,142,204,253,193,144,204,253,193,146,204,253,193,148,204,253,193,150,204,253,193,152,204,253,193,154,204,253,193,156,204,253,193,8,205,253,193,10,205,253,193,12,205,253,193,14,205,253,193,16,205,253,193,18,205,253,193,20,205,253,193,22,205,253,193,92,205,253,193,94,205,253,193,152,205,253,193,154,205,253,193,156,205,253,193,212,205,253,193,214,205,253,193,216,205,253,193,244,205,253,193,246,205,253,193,14,206,253,193,16,206,253,193,72,206,253,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,193,28,205,253,193,30,205,253,193,32,205,253,193,34,205,253,193,36,205,253,193,38,205,253,193,40,205,253,193,42,205,253,193,44,205,253,193,46,205,253,193,48,205,253,193,50,205,253,193,52,205,253,193,198,218,253,193,54,205,253,193,2,205,253,193,4,205,253,193,6,205,253,193,90,205,253,193,150,205,253,193,208,205,253,193,210,205,253,193,76,206,253,193,86,206,253,193,88,206,253,193,98,206,253,193,100,206,253,193,102,206,253,193,144,206,253,193,146,206,253,193,148,206,253,193,150,206,253,193,152,206,253,193,154,206,253,193,156,206,253,193,158,206,253,193,216,206,253,193,218,206,253,193,220,206,253,193,222,206,253,193,224,206,253,193,226,206,253,193,228,206,253,193,230,206,253,193,232,206,253,193,234,206,253,193,236,206,253,193,56,205,253,193,58,205,253,193,60,205,253,193,62,205,253,193,64,205,253,193,66,205,253,193,68,205,253,193,70,205,253,193,72,205,253,193,74,205,253,193,76,205,253,193,78,205,253,193,80,205,253,193,98,205,253,193,100,205,253,193,102,205,253,193,104,205,253,193,106,205,253,193,108,205,253,193,110,205,253,193,112,205,253,193,114,205,253,193,116,205,253,193,118,205,253,193,120,205,253,193,122,205,253,193,124,205,253,193,126,205,253,193,128,205,253,193,130,205,253,193,132,205,253,193,134,205,253,193,136,205,253,193,138,205,253,193,140,205,253,193,160,205,253,193,162,205,253,193,164,205,253,193,166,205,253,193,168,205,253,193,170,205,253,193,172,205,253,193,174,205,253,193,176,205,253,193,178,205,253,193,180,205,253,193,182,205,253,193,184,205,253,193,186,205,253,193,188,205,253,193,190,205,253,193,192,205,253,193,194,205,253,193,196,205,253,193,198,205,253,193,200,205,253,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,193,248,205,253,193,250,205,253,193,252,205,253,193,254,205,253,193,2,206,253,193,4,206,253,193,6,206,253,193,8,206,253,193,10,206,253,193,20,206,253,193,22,206,253,193,24,206,253,193,26,206,253,193,28,206,253,193,30,206,253,193,38,206,253,193,40,206,253,193,42,206,253,193,44,206,253,193,48,206,253,193,50,206,253,193,52,206,253,193,54,206,253,193,56,206,253,193,58,206,253,193,66,206,253,193,68,206,253,193,60,206,253,193,138,206,253,193,140,206,253,193,142,206,253,193,214,206,253,193,48,207,253,193,130,207,253,193,132,207,253,193,96,208,253,193,98,208,253,193,136,208,253,193,24,209,253,193,46,209,253,193,66,209,253,193,68,209,253,193,90,209,253,193,154,209,253,193,182,209,253,193,204,209,253,193,26,210,253,193,70,210,253,193,118,210,253,193,162,210,253,193,164,210,253,193,192,210,253,193,212,210,253,193,214,210,253,193,166,211,253,193,34,212,253,193,36,212,253,193,72,212,253,193,96,212,253,193,70,206,253,193,116,206,253,193,118,206,253,193,120,206,253,193,186,206,253,193,12,207,253,193,14,207,253,193,16,207,253,193,18,207,253,193,20,207,253,193,22,207,253,193,24,207,253,193,104,207,253,193,106,207,253,193,184,207,253,193,2,208,253,193,4,208,253,193,76,208,253,193,78,208,253,193,80,208,253,193,82,208,253,193,222,208,253,193,244,208,253,193,246,208,253,193,252,208,253,193,254,208,253,193,2,209,253,193,4,209,253,193,12,209,253,193,14,209,253,193,16,209,253,193,18,209,253,193,78,206,253,193,80,206,253,193,90,206,253,193,92,206,253,193,94,206,253,193,104,206,253,193,106,206,253,193,108,206,253,193,110,206,253,193,112,206,253,193,160,206,253,193,162,206,253,193,164,206,253,193,166,206,253,193,168,206,253,193,170,206,253,193,172,206,253,193,174,206,253,193,176,206,253,193,178,206,253,193,180,206,253,193,182,206,253,193,184,206,253,193,244,206,253,193,246,206,253,193,248,206,253,193,250,206,253,193,252,206,253,193,254,206,253,193,2,207,253,193,4,207,253,193,6,207,253,193,136,206,253,193,200,206,253,193,202,206,253,193,204,206,253,193,206,206,253,193,208,206,253,193,210,206,253,193,212,206,253,193,38,207,253,193,40,207,253,193,42,207,253,193,44,207,253,193,46,207,253,193,120,207,253,193,122,207,253,193,124,207,253,193,126,207,253,193,128,207,253,193,198,207,253,193,200,207,253,193,202,207,253,193,204,207,253,193,206,207,253,193,208,207,253,193,20,208,253,193,22,208,253,193,24,208,253,193,26,208,253,193,28,208,253,193,30,208,253,193,32,208,253,193,34,208,253,193,190,206,253,193,192,206,253,193,194,206,253,193,196,206,253,193,198,206,253,193,26,207,253,193,28,207,253,193,30,207,253,193,32,207,253,193,34,207,253,193,36,207,253,193,108,207,253,193,110,207,253,193,112,207,253,193,114,207,253,193,116,207,253,193,186,207,253,193,188,207,253,193,190,207,253,193,192,207,253,193,194,207,253,193,196,207,253,193,6,208,253,193,8,208,253,193,10,208,253,193,12,208,253,193,14,208,253,193,16,208,253,193,18,208,253,193,84,208,253,193,86,208,253,193,122,208,253,193,238,206,253,193,240,206,253,193,242,206,253,193,50,207,253,193,52,207,253,193,54,207,253,193,56,207,253,193,58,207,253,193,60,207,253,193,62,207,253,193,64,207,253,193,66,207,253,193,68,207,253,193,70,207,253,193,72,207,253,193,74,207,253,193,76,207,253,193,78,207,253,193,80,207,253,193,82,207,253,193,134,207,253,193,136,207,253,193,138,207,253,193,140,207,253,193,142,207,253,193,144,207,253,193,146,207,253,193,148,207,253,193,150,207,253,193,152,207,253,193,154,207,253,193,156,207,253,193,84,207,253,193,86,207,253,193,88,207,253,193,90,207,253,193,92,207,253,193,94,207,253,193,96,207,253,193,98,207,253,193,100,207,253,193,158,207,253,193,160,207,253,193,162,207,253,193,164,207,253,193,166,207,253,193,168,207,253,193,170,207,253,193,172,207,253,193,174,207,253,193,176,207,253,193,178,207,253,193,180,207,253,193,240,207,253,193,242,207,253,193,244,207,253,193,56,208,253,193,246,207,253,193,248,207,253,193,250,207,253,193,252,207,253,193,58,208,253,193,60,208,253,193,62,208,253,193,210,207,253,193,212,207,253,193,214,207,253,193,216,207,253,193,218,207,253,193,220,207,253,193,222,207,253,193,224,207,253,193,226,207,253,193,228,207,253,193,230,207,253,193,232,207,253,193,234,207,253,193,236,207,253,193,238,207,253,193,36,208,253,193,38,208,253,193,40,208,253,193,42,208,253,193,44,208,253,193,46,208,253,193,48,208,253,193,50,208,253,193,52,208,253,193,54,208,253,193,100,208,253,193,102,208,253,193,104,208,253,193,106,208,253,193,108,208,253,193,110,208,253,193,112,208,253,193,64,208,253,193,66,208,253,193,68,208,253,193,70,208,253,193,72,208,253,193,114,208,253,193,116,208,253,193,118,208,253,193,120,208,253,193,150,208,253,193,152,208,253,193,154,208,253,193,156,208,253,193,180,208,253,193,182,208,253,193,184,208,253,193,186,208,253,193,214,208,253,193,216,208,253,193,232,208,253,193,234,208,253,193,240,208,253,193,248,208,253,193,10,209,253,193,50,209,253,193,70,209,253,193,92,209,253,193,94,209,253,193,128,209,253,193,130,209,253,193,164,209,253,193,178,209,253,193,88,208,253,193,90,208,253,193,92,208,253,193,94,208,253,193,130,208,253,193,132,208,253,193,134,208,253,193,162,208,253,193,164,208,253,193,166,208,253,193,168,208,253,193,170,208,253,193,192,208,253,193,194,208,253,193,196,208,253,193,198,208,253,193,228,208,253,193,238,208,253,193,6,209,253,193,44,209,253,193,138,209,253,193,156,209,253,193,162,209,253,193,168,209,253,193,170,209,253,193,172,209,253,193,184,209,253,193,242,209,253,193,24,210,253,193,66,210,253,193,68,210,253,193,160,210,253,193,124,208,253,193,126,208,253,193,128,208,253,193,158,208,253,193,160,208,253,193,190,208,253,193,218,208,253,193,30,209,253,193,42,209,253,193,88,209,253,193,166,209,253,193,196,209,253,193,240,209,253,193,64,210,253,193,116,210,253,193,2,211,253,193,30,212,253,193,222,212,253,193,232,212,253,193,12,213,253,193,32,213,253,193,68,213,253,193,146,213,253,193,168,213,253,193,236,213,253,193,6,216,253,193,8,216,253,193,84,216,253,193,42,217,253,193,134,217,253,193,208,217,253,193,248,217,253,193,138,208,253,193,140,208,253,193,142,208,253,193,144,208,253,193,146,208,253,193,148,208,253,193,172,208,253,193,174,208,253,193,176,208,253,193,178,208,253,193,200,208,253,193,202,208,253,193,204,208,253,193,206,208,253,193,208,208,253,193,210,208,253,193,212,208,253,193,220,208,253,193,224,208,253,193,226,208,253,193,230,208,253,193,236,208,253,193,8,209,253,193,26,209,253,193,32,209,253,193,48,209,253,193,152,209,253,193,158,209,253,193,174,209,253,193,176,209,253,193,120,210,253,193,122,210,253,193,20,209,253,193,22,209,253,193,28,209,253,193,36,209,253,193,38,209,253,193,40,209,253,193,52,209,253,193,54,209,253,193,56,209,253,193,58,209,253,193,60,209,253,193,62,209,253,193,64,209,253,193,72,209,253,193,74,209,253,193,76,209,253,193,78,209,253,193,80,209,253,193,82,209,253,193,84,209,253,193,86,209,253,193,98,209,253,193,100,209,253,193,102,209,253,193,104,209,253,193,106,209,253,193,108,209,253,193,110,209,253,193,112,209,253,193,114,209,253,193,116,209,253,193,120,209,253,193,122,209,253,193,124,209,253,193,126,209,253,193,132,209,253,193,134,209,253,193,136,209,253,193,142,209,253,193,144,209,253,193,146,209,253,193,148,209,253,193,150,209,253,193,192,209,253,193,194,209,253,193,200,209,253,193,202,209,253,193,216,209,253,193,218,209,253,193,220,209,253,193,222,209,253,193,224,209,253,193,226,209,253,193,228,209,253,193,230,209,253,193,232,209,253,193,234,209,253,193,236,209,253,193,238,209,253,206,96,118,0,206,96,118,0,206,96,118,0,206,96,118,0,206,96,118,0,193,186,209,253,193,188,209,253,193,190,209,253,193,206,209,253,193,208,209,253,193,244,209,253,193,246,209,253,193,248,209,253,193,250,209,253,193,28,210,253,193,30,210,253,193,32,210,253,193,72,210,253,193,74,210,253,193,76,210,253,193,78,210,253,193,80,210,253,193,124,210,253,193,126,210,253,193,128,210,253,193,130,210,253,193,132,210,253,193,134,210,253,193,136,210,253,193,166,210,253,193,168,210,253,193,170,210,253,193,172,210,253,193,194,210,253,193,196,210,253,193,216,210,253,193,236,210,253,193,210,209,253,193,212,209,253,193,214,209,253,193,252,209,253,193,254,209,253,193,2,210,253,193,82,210,253,193,138,210,253,193,198,210,253,193,218,210,253,193,6,211,253,193,8,211,253,193,70,211,253,193,72,211,253,193,74,211,253,193,92,211,253,193,94,211,253,193,132,211,253,193,134,211,253,193,136,211,253,193,138,211,253,193,172,211,253,193,202,211,253,193,204,211,253,193,206,211,253,193,242,211,253,193,244,211,253,193,246,211,253,193,248,211,253,193,250,211,253,193,74,212,253,193,76,212,253,206,96,118,0,206,96,118,0,206,96,118,0,206,96,118,0,206,96,118,0,193,34,210,253,193,36,210,253,193,38,210,253,193,40,210,253,193,42,210,253,193,44,210,253,193,46,210,253,193,48,210,253,193,50,210,253,193,52,210,253,193,54,210,253,193,56,210,253,193,58,210,253,193,60,210,253,193,62,210,253,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,193,140,210,253,193,142,210,253,193,144,210,253,193,146,210,253,193,148,210,253,193,150,210,253,193,152,210,253,193,154,210,253,193,156,210,253,193,158,210,253,193,174,210,253,193,176,210,253,193,178,210,253,193,180,210,253,193,182,210,253,193,184,210,253,193,186,210,253,193,188,210,253,193,190,210,253,193,200,210,253,193,202,210,253,193,204,210,253,193,206,210,253,193,208,210,253,193,220,210,253,193,222,210,253,193,224,210,253,193,226,210,253,193,210,210,253,193,230,210,253,193,196,211,253,193,32,212,253,193,154,212,253,193,208,212,253,193,248,212,253,193,14,213,253,193,16,213,253,193,18,213,253,193,34,213,253,193,36,213,253,193,38,213,253,193,76,213,253,193,84,213,253,193,154,213,253,193,218,213,253,193,26,214,253,193,86,214,253,193,100,214,253,193,156,214,253,193,160,215,253,193,162,215,253,193,198,215,253,193,86,216,253,193,128,216,253,193,130,216,253,193,6,217,253,193,60,217,253,193,70,217,253,193,74,217,253,193,114,217,253,193,228,210,253,193,238,210,253,193,240,210,253,193,242,210,253,193,244,210,253,193,246,210,253,193,248,210,253,193,250,210,253,193,252,210,253,193,254,210,253,193,10,211,253,193,12,211,253,193,14,211,253,193,16,211,253,193,20,211,253,193,22,211,253,193,24,211,253,193,26,211,253,193,28,211,253,193,30,211,253,193,32,211,253,193,34,211,253,193,38,211,253,193,40,211,253,193,44,211,253,193,48,211,253,193,52,211,253,193,54,211,253,193,58,211,253,193,60,211,253,193,62,211,253,193,64,211,253,193,232,210,253,193,234,210,253,193,42,211,253,193,38,212,253,193,202,212,253,193,204,212,253,193,210,212,253,193,212,212,253,193,214,212,253,193,228,212,253,193,236,212,253,193,238,212,253,193,240,212,253,193,242,212,253,193,244,212,253,193,246,212,253,193,252,212,253,193,254,212,253,193,2,213,253,193,4,213,253,193,6,213,253,193,8,213,253,193,20,213,253,193,22,213,253,193,24,213,253,193,40,213,253,193,42,213,253,193,44,213,253,193,46,213,253,193,48,213,253,193,52,213,253,193,54,213,253,193,4,211,253,193,18,211,253,193,36,211,253,193,46,211,253,193,50,211,253,193,56,211,253,193,196,212,253,193,68,211,253,193,84,211,253,193,86,211,253,193,88,211,253,193,90,211,253,193,126,211,253,193,128,211,253,193,130,211,253,193,168,211,253,193,170,211,253,193,198,211,253,193,200,211,253,193,238,211,253,193,240,211,253,193,40,212,253,193,100,212,253,193,190,212,253,193,216,212,253,193,26,213,253,193,50,213,253,193,94,213,253,193,98,213,253,193,100,213,253,193,108,213,253,193,148,213,253,193,162,211,253,193,164,211,253,193,174,211,253,193,176,211,253,193,178,211,253,193,180,211,253,193,182,211,253,193,184,211,253,193,186,211,253,193,188,211,253,193,190,211,253,193,192,211,253,193,194,211,253,193,208,211,253,193,210,211,253,193,212,211,253,193,214,211,253,193,216,211,253,193,218,211,253,193,220,211,253,193,222,211,253,193,224,211,253,193,226,211,253,193,228,211,253,193,230,211,253,193,232,211,253,193,234,211,253,193,236,211,253,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,193,42,212,253,193,44,212,253,193,46,212,253,193,48,212,253,193,50,212,253,193,52,212,253,193,54,212,253,193,56,212,253,193,58,212,253,193,60,212,253,193,62,212,253,193,64,212,253,193,66,212,253,193,68,212,253,193,70,212,253,193,80,212,253,193,82,212,253,193,84,212,253,193,86,212,253,193,88,212,253,193,78,212,253,193,102,212,253,193,104,212,253,193,140,212,253,193,156,212,253,193,106,212,253,193,172,212,253,193,110,213,253,193,174,213,253,193,176,213,253,193,224,213,253,193,254,213,253,193,16,214,253,193,30,214,253,193,60,214,253,193,88,214,253,193,102,214,253,193,134,214,253,193,140,214,253,193,142,214,253,193,186,214,253,193,188,214,253,193,190,214,253,193,204,214,253,193,206,214,253,193,208,214,253,193,220,214,253,193,224,214,253,193,236,214,253,193,4,215,253,193,8,215,253,193,20,215,253,193,90,212,253,193,92,212,253,193,94,212,253,193,108,212,253,193,110,212,253,193,112,212,253,193,114,212,253,193,116,212,253,193,118,212,253,193,120,212,253,193,122,212,253,193,124,212,253,193,126,212,253,193,128,212,253,193,130,212,253,193,132,212,253,193,134,212,253,193,136,212,253,193,142,212,253,193,144,212,253,193,146,212,253,193,148,212,253,193,150,212,253,193,152,212,253,193,158,212,253,193,160,212,253,193,162,212,253,193,164,212,253,193,166,212,253,193,168,212,253,193,170,212,253,193,174,212,253,193,98,212,253,193,138,212,253,193,188,212,253,193,200,212,253,193,224,212,253,193,226,212,253,193,234,212,253,193,250,212,253,193,124,213,253,193,126,213,253,193,128,213,253,193,156,213,253,193,196,213,253,193,204,213,253,193,208,213,253,193,246,213,253,193,126,214,253,193,128,214,253,193,182,214,253,193,240,214,253,193,80,215,253,193,82,215,253,193,124,215,253,193,164,215,253,193,166,215,253,193,10,216,253,193,12,216,253,193,14,216,253,193,88,216,253,193,158,216,253,193,244,216,253,193,8,217,253,193,176,212,253,193,178,212,253,193,180,212,253,193,182,212,253,193,184,212,253,193,186,212,253,193,192,212,253,193,194,212,253,193,206,212,253,193,218,212,253,193,220,212,253,193,230,212,253,193,10,213,253,193,198,212,253,193,28,213,253,193,30,213,253,193,74,213,253,193,96,213,253,193,102,213,253,193,104,213,253,193,106,213,253,193,112,213,253,193,114,213,253,193,116,213,253,193,118,213,253,193,120,213,253,193,122,213,253,193,130,213,253,193,132,213,253,193,134,213,253,193,136,213,253,193,138,213,253,193,56,213,253,193,58,213,253,193,60,213,253,193,62,213,253,193,64,213,253,193,66,213,253,193,70,213,253,193,72,213,253,193,78,213,253,193,80,213,253,193,82,213,253,193,86,213,253,193,88,213,253,193,90,213,253,193,92,213,253,193,158,213,253,193,170,213,253,193,182,213,253,193,248,213,253,193,28,214,253,193,58,214,253,193,202,214,253,193,126,215,253,193,200,215,253,193,202,215,253,193,160,216,253,193,198,216,253,193,154,217,253,193,156,217,253,193,186,217,253,193,228,217,253,193,230,217,253,193,140,213,253,193,142,213,253,193,144,213,253,193,150,213,253,193,152,213,253,193,162,213,253,193,164,213,253,193,166,213,253,193,178,213,253,193,180,213,253,193,184,213,253,193,186,213,253,193,188,213,253,193,190,213,253,193,192,213,253,193,194,213,253,193,200,213,253,193,202,213,253,193,206,213,253,193,214,213,253,193,216,213,253,193,226,213,253,193,228,213,253,193,230,213,253,193,232,213,253,193,234,213,253,193,244,213,253,193,2,214,253,193,4,214,253,193,6,214,253,193,8,214,253,193,10,214,253,193,12,214,253,193,14,214,253,193,18,214,253,193,20,214,253,193,22,214,253,193,24,214,253,193,32,214,253,193,34,214,253,193,36,214,253,193,38,214,253,193,40,214,253,193,42,214,253,193,44,214,253,193,46,214,253,193,48,214,253,193,50,214,253,193,52,214,253,193,54,214,253,193,56,214,253,193,62,214,253,193,64,214,253,193,66,214,253,193,68,214,253,193,70,214,253,193,72,214,253,193,74,214,253,193,76,214,253,193,78,214,253,193,80,214,253,193,82,214,253,193,84,214,253,193,90,214,253,193,92,214,253,193,94,214,253,193,96,214,253,193,98,214,253,193,104,214,253,193,106,214,253,193,108,214,253,193,112,214,253,193,114,214,253,193,116,214,253,193,118,214,253,193,120,214,253,193,122,214,253,193,130,214,253,193,136,214,253,193,138,214,253,193,144,214,253,193,146,214,253,193,148,214,253,193,150,214,253,193,152,214,253,193,154,214,253,193,160,214,253,193,162,214,253,193,164,214,253,193,166,214,253,193,168,214,253,193,170,214,253,193,172,214,253,193,174,214,253,193,176,214,253,193,178,214,253,193,180,214,253,193,184,214,253,193,192,214,253,193,194,214,253,193,196,214,253,193,198,214,253,193,200,214,253,193,210,214,253,193,212,214,253,193,214,214,253,193,216,214,253,193,222,214,253,193,226,214,253,193,228,214,253,193,230,214,253,193,232,214,253,193,234,214,253,193,242,214,253,193,238,214,253,193,244,214,253,193,246,214,253,193,248,214,253,193,250,214,253,193,2,215,253,193,6,215,253,193,10,215,253,193,12,215,253,193,14,215,253,206,192,118,0,206,192,118,0,206,192,118,0,206,192,118,0,193,22,215,253,193,50,215,253,193,94,215,253,193,96,215,253,193,134,215,253,193,136,215,253,193,138,215,253,193,140,215,253,193,172,215,253,193,174,215,253,193,218,215,253,193,220,215,253,193,222,215,253,193,26,216,253,193,28,216,253,193,30,216,253,193,138,216,253,193,162,216,253,193,202,216,253,193,204,216,253,193,206,216,253,193,232,216,253,193,98,217,253,193,120,217,253,193,166,217,253,193,196,217,253,193,20,218,253,193,52,218,253,193,54,218,253,193,88,218,253,193,90,218,253,193,92,218,253,206,192,118,0,206,192,118,0,206,192,118,0,206,192,118,0,193,52,215,253,193,54,215,253,193,56,215,253,193,58,215,253,193,60,215,253,193,62,215,253,193,64,215,253,193,66,215,253,193,68,215,253,193,70,215,253,193,72,215,253,193,74,215,253,193,76,215,253,193,78,215,253,193,98,215,253,193,100,215,253,193,102,215,253,193,104,215,253,193,106,215,253,193,108,215,253,193,110,215,253,193,112,215,253,193,114,215,253,193,116,215,253,193,118,215,253,193,120,215,253,193,122,215,253,193,142,215,253,193,130,215,253,193,132,215,253,193,168,215,253,193,170,215,253,193,204,215,253,193,206,215,253,193,208,215,253,193,210,215,253,193,212,215,253,193,214,215,253,193,216,215,253,193,16,216,253,193,18,216,253,193,20,216,253,193,22,216,253,193,24,216,253,193,90,216,253,193,92,216,253,193,132,216,253,193,134,216,253,193,136,216,253,193,200,216,253,193,230,216,253,193,246,216,253,193,10,217,253,193,36,217,253,193,40,217,253,193,44,217,253,193,48,217,253,193,62,217,253,193,222,217,253,193,76,217,253,193,144,215,253,193,146,215,253,193,148,215,253,193,150,215,253,193,152,215,253,193,154,215,253,193,156,215,253,193,158,215,253,193,178,215,253,193,180,215,253,193,182,215,253,193,184,215,253,193,186,215,253,193,188,215,253,193,190,215,253,193,192,215,253,193,194,215,253,193,196,215,253,193,224,215,253,193,226,215,253,193,228,215,253,193,230,215,253,193,232,215,253,193,234,215,253,193,236,215,253,193,238,215,253,193,240,215,253,193,242,215,253,193,244,215,253,193,246,215,253,193,248,215,253,193,250,215,253,193,252,215,253,193,254,215,253,193,2,216,253,193,32,216,253,193,4,216,253,193,34,216,253,193,36,216,253,193,38,216,253,193,40,216,253,193,42,216,253,193,44,216,253,193,46,216,253,193,48,216,253,193,50,216,253,193,52,216,253,193,54,216,253,193,56,216,253,193,58,216,253,193,60,216,253,193,62,216,253,193,64,216,253,193,66,216,253,193,68,216,253,193,70,216,253,193,72,216,253,193,74,216,253,193,76,216,253,193,78,216,253,193,80,216,253,193,82,216,253,193,94,216,253,193,96,216,253,193,98,216,253,193,100,216,253,193,102,216,253,193,104,216,253,193,106,216,253,193,108,216,253,193,110,216,253,193,112,216,253,193,114,216,253,193,116,216,253,193,118,216,253,193,120,216,253,193,122,216,253,193,124,216,253,193,126,216,253,193,140,216,253,193,142,216,253,193,144,216,253,193,146,216,253,193,148,216,253,193,150,216,253,193,152,216,253,193,154,216,253,193,156,216,253,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,193,208,216,253,193,210,216,253,193,212,216,253,193,214,216,253,193,216,216,253,193,218,216,253,193,220,216,253,193,222,216,253,193,224,216,253,193,226,216,253,193,228,216,253,193,234,216,253,193,236,216,253,193,238,216,253,193,240,216,253,193,242,216,253,193,248,216,253,193,250,216,253,193,252,216,253,193,254,216,253,193,2,217,253,193,4,217,253,193,12,217,253,193,14,217,253,193,16,217,253,193,18,217,253,193,20,217,253,193,22,217,253,193,24,217,253,193,26,217,253,193,28,217,253,193,30,217,253,193,32,217,253,193,34,217,253,193,46,217,253,193,50,217,253,193,52,217,253,193,54,217,253,193,56,217,253,193,58,217,253,193,64,217,253,193,66,217,253,193,68,217,253,193,78,217,253,193,80,217,253,193,82,217,253,193,84,217,253,193,86,217,253,193,88,217,253,193,100,217,253,193,102,217,253,193,104,217,253,193,106,217,253,193,108,217,253,193,110,217,253,193,38,217,253,193,72,217,253,193,90,217,253,193,136,217,253,193,152,217,253,193,32,218,253,193,68,218,253,193,102,218,253,193,126,218,253,193,140,218,253,193,204,218,253,193,206,218,253,193,18,219,253,193,64,219,253,193,136,219,253,193,222,219,253,193,242,219,253,193,244,219,253,193,246,219,253,193,248,219,253,193,250,219,253,193,252,219,253,193,22,220,253,193,78,220,253,193,152,220,253,193,170,220,253,193,182,220,253,193,184,220,253,193,186,220,253,193,252,220,253,193,12,221,253,193,24,221,253,193,92,217,253,193,94,217,253,193,96,217,253,193,116,217,253,193,118,217,253,193,158,217,253,193,188,217,253,193,190,217,253,193,200,217,253,193,202,217,253,193,210,217,253,193,224,217,253,193,226,217,253,193,2,218,253,193,6,218,253,193,10,218,253,193,12,218,253,193,14,218,253,193,18,218,253,193,62,218,253,193,64,218,253,193,84,218,253,193,86,218,253,193,106,218,253,193,142,218,253,193,144,218,253,193,146,218,253,193,148,218,253,193,176,218,253,193,180,218,253,193,182,218,253,193,194,218,253,193,112,217,253,193,122,217,253,193,124,217,253,193,126,217,253,193,128,217,253,193,130,217,253,193,132,217,253,193,138,217,253,193,140,217,253,193,142,217,253,193,144,217,253,193,146,217,253,193,160,217,253,193,162,217,253,193,168,217,253,193,170,217,253,193,172,217,253,193,174,217,253,193,176,217,253,193,178,217,253,193,180,217,253,193,182,217,253,193,184,217,253,193,192,217,253,193,194,217,253,193,198,217,253,193,204,217,253,193,196,224,253,193,212,217,253,193,206,217,253,193,214,217,253,193,216,217,253,193,148,217,253,193,150,217,253,193,164,217,253,193,238,217,253,193,242,217,253,193,30,218,253,193,36,218,253,193,38,218,253,193,40,218,253,193,44,218,253,193,50,218,253,193,56,218,253,193,60,218,253,193,62,219,253,193,134,219,253,193,76,220,253,193,108,220,253,193,180,220,253,193,212,220,253,193,238,220,253,193,134,221,253,193,206,221,253,193,208,221,253,193,210,221,253,193,12,223,253,193,72,223,253,193,122,223,253,193,124,223,253,193,126,223,253,193,128,223,253,193,142,223,253,193,144,223,253,193,218,217,253,193,220,217,253,193,8,218,253,193,16,218,253,193,22,218,253,193,24,218,253,193,26,218,253,193,34,218,253,193,42,218,253,193,46,218,253,193,58,218,253,193,70,218,253,193,72,218,253,193,76,218,253,193,78,218,253,193,80,218,253,193,94,218,253,193,96,218,253,193,98,218,253,193,100,218,253,193,110,218,253,193,112,218,253,193,114,218,253,193,116,218,253,193,118,218,253,193,120,218,253,193,122,218,253,193,124,218,253,193,128,218,253,193,130,218,253,193,132,218,253,193,134,218,253,193,232,217,253,193,234,217,253,193,236,217,253,193,240,217,253,193,244,217,253,193,246,217,253,193,250,217,253,193,252,217,253,193,254,217,253,193,4,218,253,193,82,218,253,193,104,218,253,193,192,218,253,193,238,218,253,193,88,219,253,193,90,219,253,193,224,219,253,193,10,220,253,193,12,220,253,193,40,220,253,193,62,220,253,193,80,220,253,193,82,220,253,193,240,220,253,193,242,220,253,193,244,220,253,193,62,221,253,193,64,221,253,193,66,221,253,193,140,221,253,193,24,222,253,193,146,222,253,193,28,218,253,193,48,218,253,193,224,218,253,193,220,219,253,193,38,220,253,193,204,221,253,193,20,222,253,193,10,223,253,193,120,223,253,193,166,223,253,193,168,223,253,193,192,223,253,193,204,223,253,193,206,223,253,193,230,223,253,193,238,223,253,193,2,224,253,193,74,224,253,193,114,224,253,193,230,224,253,193,30,225,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,108,218,253,193,150,218,253,193,230,218,253,193,246,218,253,193,40,219,253,193,68,219,253,193,126,219,253,193,146,219,253,193,176,219,253,193,178,219,253,193,24,220,253,193,26,220,253,193,46,220,253,193,64,220,253,193,66,220,253,193,84,220,253,193,156,220,253,193,164,220,253,193,192,220,253,193,194,220,253,193,16,221,253,193,32,221,253,193,34,221,253,193,90,221,253,193,92,221,253,193,94,221,253,193,154,221,253,193,156,221,253,193,224,221,253,193,226,221,253,193,36,222,253,193,38,222,253,193,136,218,253,193,138,218,253,193,152,218,253,193,154,218,253,193,156,218,253,193,158,218,253,193,160,218,253,193,162,218,253,193,164,218,253,193,166,218,253,193,168,218,253,193,170,218,253,193,172,218,253,193,174,218,253,193,178,218,253,193,184,218,253,193,186,218,253,193,188,218,253,193,190,218,253,193,200,218,253,193,202,218,253,193,210,218,253,193,212,218,253,193,216,218,253,193,226,218,253,193,228,218,253,193,232,218,253,193,234,218,253,193,236,218,253,193,248,218,253,193,250,218,253,193,252,218,253,193,220,218,253,193,222,218,253,193,240,218,253,193,242,218,253,193,244,218,253,193,20,219,253,193,22,219,253,193,24,219,253,193,26,219,253,193,28,219,253,193,30,219,253,193,32,219,253,193,34,219,253,193,66,219,253,193,92,219,253,193,94,219,253,193,96,219,253,193,124,219,253,193,138,219,253,193,140,219,253,193,142,219,253,193,144,219,253,193,168,219,253,193,170,219,253,193,172,219,253,193,174,219,253,193,230,219,253,193,240,219,253,193,2,220,253,193,4,220,253,193,14,220,253,193,16,220,253,193,254,218,253,193,2,219,253,193,4,219,253,193,6,219,253,193,8,219,253,193,10,219,253,193,12,219,253,193,14,219,253,193,16,219,253,193,42,219,253,193,44,219,253,193,46,219,253,193,48,219,253,193,50,219,253,193,52,219,253,193,54,219,253,193,56,219,253,193,58,219,253,193,70,219,253,193,72,219,253,193,74,219,253,193,76,219,253,193,78,219,253,193,80,219,253,193,82,219,253,193,84,219,253,193,98,219,253,193,100,219,253,193,102,219,253,193,104,219,253,193,106,219,253,193,86,219,253,193,108,219,253,193,110,219,253,193,112,219,253,193,114,219,253,193,116,219,253,193,118,219,253,193,120,219,253,193,122,219,253,193,128,219,253,193,130,219,253,193,132,219,253,193,148,219,253,193,150,219,253,193,152,219,253,193,154,219,253,193,156,219,253,193,158,219,253,193,160,219,253,193,162,219,253,193,164,219,253,193,166,219,253,193,180,219,253,193,182,219,253,193,184,219,253,193,186,219,253,193,188,219,253,193,190,219,253,193,192,219,253,193,194,219,253,193,196,219,253,193,198,219,253,193,126,220,253,193,200,219,253,193,202,219,253,193,204,219,253,193,206,219,253,193,208,219,253,193,210,219,253,193,212,219,253,193,214,219,253,193,216,219,253,193,218,219,253,193,226,219,253,193,228,219,253,193,232,219,253,193,234,219,253,193,236,219,253,193,238,219,253,193,254,219,253,193,6,220,253,193,8,220,253,193,18,220,253,193,20,220,253,193,28,220,253,193,30,220,253,193,32,220,253,193,34,220,253,193,36,220,253,193,48,220,253,193,50,220,253,193,52,220,253,193,54,220,253,193,56,220,253,193,58,220,253,193,42,220,253,193,44,220,253,193,102,220,253,193,110,220,253,193,112,220,253,193,122,220,253,193,124,220,253,193,134,220,253,193,154,220,253,193,174,220,253,193,176,220,253,193,190,220,253,193,198,220,253,193,206,220,253,193,218,220,253,193,224,220,253,193,236,220,253,193,246,220,253,193,248,220,253,193,254,220,253,193,2,221,253,193,14,221,253,193,26,221,253,193,28,221,253,193,30,221,253,206,32,119,0,206,32,119,0,206,32,119,0,206,32,119,0,206,32,119,0,206,32,119,0,206,32,119,0,193,60,220,253,193,68,220,253,193,70,220,253,193,72,220,253,193,74,220,253,193,86,220,253,193,88,220,253,193,90,220,253,193,92,220,253,193,94,220,253,193,96,220,253,193,98,220,253,193,100,220,253,193,104,220,253,193,106,220,253,193,114,220,253,193,116,220,253,193,118,220,253,193,120,220,253,193,128,220,253,193,130,220,253,193,132,220,253,193,136,220,253,193,138,220,253,193,140,220,253,193,142,220,253,193,144,220,253,193,146,220,253,193,148,220,253,193,150,220,253,193,158,220,253,193,160,220,253,193,162,220,253,193,166,220,253,193,168,220,253,193,172,220,253,193,178,220,253,193,188,220,253,193,196,220,253,193,202,220,253,193,204,220,253,193,208,220,253,193,210,220,253,193,214,220,253,193,216,220,253,193,222,220,253,193,220,220,253,193,226,220,253,193,228,220,253,193,230,220,253,193,232,220,253,193,234,220,253,193,4,221,253,193,6,221,253,193,8,221,253,193,10,221,253,193,18,221,253,193,20,221,253,193,22,221,253,206,0,119,0,206,0,119,0,206,0,119,0,206,0,119,0,206,0,119,0,206,0,119,0,193,98,221,253,193,100,221,253,193,102,221,253,193,104,221,253,193,106,221,253,193,108,221,253,193,110,221,253,193,112,221,253,193,114,221,253,193,116,221,253,193,118,221,253,193,120,221,253,193,122,221,253,193,124,221,253,193,126,221,253,193,128,221,253,193,130,221,253,193,132,221,253,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,193,58,221,253,193,60,221,253,193,136,221,253,193,138,221,253,193,212,221,253,193,214,221,253,193,216,221,253,193,22,222,253,193,80,222,253,193,82,222,253,193,84,222,253,193,138,222,253,193,140,222,253,193,142,222,253,193,144,222,253,193,198,222,253,193,200,222,253,193,228,222,253,193,230,222,253,193,232,222,253,193,14,223,253,193,16,223,253,193,18,223,253,193,40,223,253,193,84,223,253,193,148,223,253,193,66,224,253,193,124,224,253,193,126,224,253,193,128,224,253,193,130,224,253,193,132,224,253,206,32,119,0,206,32,119,0,206,32,119,0,206,32,119,0,193,142,221,253,193,144,221,253,193,146,221,253,193,148,221,253,193,150,221,253,193,152,221,253,193,218,221,253,193,220,221,253,193,222,221,253,193,26,222,253,193,28,222,253,193,30,222,253,193,32,222,253,193,34,222,253,193,86,222,253,193,88,222,253,193,90,222,253,193,92,222,253,193,94,222,253,193,96,222,253,193,152,222,253,193,154,222,253,193,156,222,253,193,158,222,253,193,22,223,253,193,24,223,253,193,96,223,253,193,110,223,253,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,193,40,222,253,193,42,222,253,193,44,222,253,193,46,222,253,193,48,222,253,193,50,222,253,193,52,222,253,193,54,222,253,193,56,222,253,193,58,222,253,193,60,222,253,193,62,222,253,193,64,222,253,193,66,222,253,193,68,222,253,193,70,222,253,193,72,222,253,193,74,222,253,193,76,222,253,193,78,222,253,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,193,164,222,253,193,166,222,253,193,168,222,253,193,170,222,253,193,172,222,253,193,174,222,253,193,176,222,253,193,178,222,253,193,180,222,253,193,182,222,253,193,184,222,253,193,186,222,253,193,188,222,253,193,190,222,253,193,192,222,253,193,194,222,253,193,196,222,253,193,210,222,253,193,212,222,253,193,214,222,253,193,216,222,253,193,218,222,253,193,220,222,253,193,148,222,253,193,150,222,253,193,202,222,253,193,204,222,253,193,234,222,253,193,20,223,253,193,42,223,253,193,50,223,253,193,74,223,253,193,116,223,253,193,130,223,253,193,150,223,253,193,152,223,253,193,154,223,253,193,156,223,253,193,158,223,253,193,180,223,253,193,182,223,253,193,184,223,253,193,186,223,253,193,198,223,253,193,200,223,253,193,220,223,253,193,222,223,253,193,224,223,253,193,236,223,253,193,246,223,253,193,248,223,253,193,250,223,253,193,252,223,253,193,48,224,253,193,68,224,253,193,222,222,253,193,224,222,253,193,226,222,253,193,238,222,253,193,240,222,253,193,242,222,253,193,244,222,253,193,246,222,253,193,248,222,253,193,250,222,253,193,252,222,253,193,254,222,253,193,2,223,253,193,4,223,253,193,6,223,253,193,8,223,253,193,28,223,253,193,30,223,253,193,32,223,253,193,34,223,253,193,36,223,253,193,38,223,253,193,48,223,253,193,52,223,253,193,54,223,253,193,56,223,253,193,58,223,253,193,60,223,253,193,62,223,253,193,64,223,253,193,66,223,253,193,68,223,253,193,70,223,253,193,76,223,253,193,78,223,253,193,80,223,253,193,82,223,253,193,86,223,253,193,88,223,253,193,90,223,253,193,92,223,253,193,94,223,253,193,100,223,253,193,102,223,253,193,104,223,253,193,106,223,253,193,108,223,253,193,164,223,253,193,202,223,253,193,18,224,253,193,20,224,253,193,22,224,253,193,24,224,253,193,32,224,253,193,34,224,253,193,36,224,253,193,38,224,253,193,46,224,253,193,40,224,253,193,42,224,253,193,58,224,253,193,60,224,253,193,62,224,253,193,64,224,253,193,146,223,253,193,170,223,253,193,172,223,253,193,174,223,253,193,176,223,253,193,178,223,253,193,194,223,253,193,196,223,253,193,210,223,253,193,212,223,253,193,214,223,253,193,216,223,253,193,218,223,253,193,232,223,253,193,234,223,253,193,240,223,253,193,242,223,253,193,244,223,253,193,254,223,253,193,4,224,253,193,6,224,253,193,8,224,253,193,10,224,253,193,26,224,253,193,28,224,253,193,76,224,253,193,78,224,253,193,98,224,253,193,106,224,253,193,116,224,253,193,220,224,253,193,244,224,253,193,70,224,253,193,72,224,253,193,80,224,253,193,84,224,253,193,86,224,253,193,94,224,253,193,120,224,253,193,172,224,253,193,134,224,253,193,138,224,253,193,140,224,253,193,144,224,253,193,146,224,253,193,148,224,253,193,150,224,253,193,152,224,253,193,154,224,253,193,156,224,253,193,158,224,253,193,160,224,253,193,162,224,253,193,164,224,253,193,174,224,253,193,176,224,253,193,178,224,253,193,180,224,253,193,182,224,253,193,184,224,253,193,186,224,253,193,188,224,253,193,190,224,253,193,192,224,253,193,82,224,253,193,100,224,253,193,108,224,253,193,222,224,253,193,224,224,253,193,226,224,253,193,228,224,253,193,232,224,253,193,234,224,253,193,248,224,253,193,10,225,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,8,225,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,16,56,102,193,9,70,102,193,79,194,102,193,2,172,102,193,23,180,102,193,16,70,102,193,23,70,102,193,44,198,102,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,5,49,234,194,5,240,230,194,5,118,231,194,5,217,231,194,5,230,229,194,5,75,230,194,5,174,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,5,197,229,194,5,42,230,194,5,141,230,0,0,0,0,194,5,19,231,194,5,52,231,194,5,250,231,194,5,82,234,194,5,115,234,194,5,247,234,194,5,26,235,194,5,181,234,194,5,214,234,194,5,148,234,194,5,151,231,194,5,72,233,5,5,172,104,5,5,174,104,5,5,176,104,5,5,178,104,5,5,180,104,5,5,186,104,5,5,190,104,5,5,192,104,5,5,196,104,5,5,200,104,5,5,202,104,5,5,204,104,5,5,206,104,5,5,208,104,5,5,194,104,5,5,164,104,5,5,6,104,0,0,0,0,0,0,0,0,5,138,0,0,5,136,0,0,5,5,188,104,5,5,166,104,5,5,168,104,197,130,191,1,197,194,191,1,197,2,192,1,197,66,192,1,197,130,192,1,197,194,192,1,197,66,193,1,197,130,193,1,197,67,124,2,193,252,86,12,193,5,87,12,193,12,87,12,5,5,58,11,5,5,60,11,5,5,62,11,5,5,64,11,5,5,66,11,5,5,68,11,5,5,70,11,5,5,76,11,32,5,76,11,5,5,78,11,5,5,80,11,5,5,82,11,5,5,84,11,5,5,86,11,5,5,88,11,193,19,87,12,5,5,76,7,193,26,87,12,193,33,87,12,193,40,87,12,0,0,0,0,0,0,0,0,193,47,87,12,193,54,87,12,193,61,87,12,193,68,87,12,193,75,87,12,193,82,87,12,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,21,5,0,21,21,5,0,23,21,5,0,25,21,5,0,27,21,5,0,29,21,5,0,31,21,5,0,33,21,5,0,35,22,5,0,37,21,5,0,19,193,89,87,12,0,0,0,0,193,96,87,12,0,0,0,0,193,103,87,12,194,5,248,244,5,5,154,9,5,5,156,9,5,5,158,9,5,5,160,9,0,0,0,0,0,0,0,0,5,5,172,116,5,5,174,116,0,0,0,0,0,0,0,0,5,5,196,116,5,5,90,11,0,0,0,0,0,0,0,0,5,5,150,116,5,5,154,116,5,5,162,116,5,5,164,116,5,5,158,116,5,5,152,116,5,5,156,116,5,5,160,116,5,5,8,116,5,5,14,116,5,5,18,116,197,130,120,2,5,5,22,116,5,5,26,116,5,5,30,116,5,5,34,116,255,255,255,255,5,5,38,116,5,5,42,116,5,5,46,116,5,5,50,116,197,2,121,2,5,5,54,116,5,5,58,116,193,124,87,12,193,131,87,12,193,138,87,12,193,145,87,12,193,152,87,12,193,159,87,12,0,0,0,0,193,166,87,12,193,173,87,12,193,180,87,12,193,187,87,12,193,194,87,12,193,201,87,12,255,255,255,255,193,208,87,12,193,215,87,12,5,5,72,11,5,5,74,11,5,5,92,11,5,5,94,11,5,5,96,11,193,222,87,12,193,229,87,12,193,236,87,12,193,243,87,12,5,5,98,11,5,5,100,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,164,117,5,5,166,117,5,5,168,117,5,5,172,117,5,5,174,117,5,5,176,117,5,5,178,117,5,5,180,117,5,5,182,117,5,5,184,117,5,5,186,117,5,5,188,117,5,5,190,117,5,5,192,117,5,5,194,117,5,5,196,117,5,5,198,117,5,5,200,117,5,5,202,117,5,5,204,117,0,0,0,0,0,0,0,0,5,5,206,117,5,5,208,117,5,5,210,117,5,5,212,117,5,5,214,117,5,5,216,117,5,5,218,117,5,5,220,117,5,5,222,117,5,5,224,117,5,5,226,117,5,5,228,117,5,5,230,117,5,5,232,117,5,5,234,117,5,5,236,117,194,5,241,240,194,5,20,241,194,5,159,245,194,5,192,245,194,5,225,245,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,5,238,117,0,0,0,0,5,5,48,9,5,5,50,9,5,5,78,7,5,5,90,13,5,5,112,11,5,5,114,11,5,5,116,11,5,5,172,13,5,5,170,117,5,166,0,0,255,255,255,255,255,255,255,255,193,37,26,11,5,5,6,9,5,5,30,7,5,5,14,9,5,5,72,7,5,5,74,7,193,16,18,5,193,23,18,5,193,2,32,7,193,2,16,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,36,118,193,142,30,118,193,156,30,118,5,5,32,118,32,5,32,118,193,2,34,118,193,9,34,118,193,16,34,118,193,23,34,118,193,30,34,118,193,37,34,118,193,51,30,118,193,149,30,118,193,86,34,118,193,44,34,118,193,51,34,118,193,65,34,118,193,72,34,118,193,79,34,118,193,58,34,118,194,5,241,240,194,5,4,246,194,5,37,246,194,5,70,246,194,5,103,246,194,5,136,246,194,5,169,246,194,5,202,246,194,5,235,246,255,255,255,255,255,255,255,255,0,0,0,0,193,9,18,5,193,22,89,12,193,29,89,12,193,36,89,12,193,43,89,12,193,50,89,12,193,57,89,12,193,64,89,12,193,71,89,12,193,78,89,12,193,85,89,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,92,89,12,193,99,89,12,193,106,89,12,193,113,89,12,193,120,89,12,193,127,89,12,193,134,89,12,193,141,89,12,193,148,89,12,255,255,255,255,255,255,255,255,255,255,255,255,193,65,118,11,193,72,118,11,193,79,118,11,193,86,118,11,193,93,118,11,193,100,118,11,193,107,118,11,193,114,118,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,148,104,32,5,148,104,32,5,148,104,32,5,148,104,194,5,241,240,32,5,148,104,32,5,148,104,32,5,148,104,32,5,148,104,194,5,20,241,194,5,20,241,0,0,0,0,5,5,150,104,5,5,152,104,0,0,0,0,0,0,0,0,0,0,0,0,32,5,148,104,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,24,5,0,4,24,5,0,4,24,5,0,4,24,5,0,4,24,5,0,4,24,5,0,4,24,5,0,4,40,5,0,4,24,5,0,4,24,5,0,4,24,5,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,20,5,32,5,20,5,5,5,22,5,5,5,24,5,5,5,26,5,5,5,28,5,5,5,102,10,5,5,12,5,5,5,108,9,5,5,110,9,5,5,112,9,5,5,114,9,5,5,122,9,5,5,124,9,5,5,126,9,5,5,128,9,5,5,164,10,5,5,166,10,5,5,176,10,5,5,178,10,24,5,0,8,197,194,3,0,197,67,4,0,5,5,180,10,5,5,16,3,5,5,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,5,0,4,5,5,156,10,5,5,160,10,5,5,188,10,197,34,48,0,197,99,48,0,5,5,190,10,197,194,48,0,197,3,49,0,5,5,196,10,5,5,116,9,5,5,118,9,5,5,198,10,197,2,3,0,5,5,114,7,5,5,8,5,5,5,200,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,5,0,19,43,5,0,58,255,255,255,255,255,255,255,255,36,5,0,27,36,5,0,29,36,5,0,31,36,5,0,33,36,5,0,35,40,5,0,37,40,5,121,12,32,5,143,12,40,5,131,12,37,5,142,9,37,5,144,9,43,5,0,68,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,193,93,141,103,193,14,142,103,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,147,142,103,193,121,118,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,198,129,156,0,193,2,194,97,160,5,34,97,5,5,34,97,160,5,108,97,5,5,108,97,160,5,118,97,5,5,118,97,172,5,138,97,16,5,138,97,172,5,138,97,16,5,138,97,172,5,138,97,16,5,138,97,16,5,138,97,194,5,2,226,0,0,0,0,0,0,0,0,0,0,0,0,5,5,136,10,32,5,42,97,32,5,70,97,197,2,44,1,32,5,172,97,16,5,226,97,32,5,230,97,16,5,232,97,198,193,155,0,5,166,0,0,5,166,0,0,5,5,6,11,193,16,224,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,154,104,32,5,154,104,32,5,154,104,32,5,154,104,32,5,154,104,32,5,154,104,5,5,30,11,5,5,32,11,5,5,34,11,5,5,156,104,5,5,36,11,5,5,8,104,5,5,52,104,5,5,198,104,0,0,0,0,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,110,17,5,5,112,17,5,5,114,17,5,5,116,17,5,5,118,17,5,5,120,17,5,5,122,17,5,5,124,17,5,5,126,17,5,5,128,17,5,5,130,17,5,5,132,17,5,5,134,17,5,5,136,17,5,5,138,17,5,5,140,17,5,5,142,17,5,5,144,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,198,166,113,193,205,166,113,193,212,166,113,193,219,166,113,193,226,166,113,193,233,166,113,193,240,166,113,193,247,166,113,193,254,166,113,193,7,167,113,193,14,167,113,197,2,200,1,193,21,167,113,193,28,167,113,193,35,167,113,193,42,167,113,193,49,167,113,193,56,167,113,193,63,167,113,193,70,167,113,193,77,167,113,193,84,167,113,193,91,167,113,193,98,167,113,193,105,167,113,193,112,167,113,194,5,175,240,193,219,122,11,193,226,122,11,0,0,0,0,193,198,61,9,193,205,61,9,193,121,52,9,193,128,52,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,193,65,178,113,193,79,178,113,193,168,179,113,193,175,179,113,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,2,106,13,193,9,106,13,5,5,40,7,5,5,108,13,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,166,249,194,5,199,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,54,252,12,193,54,252,12,193,54,252,12,193,54,252,12,193,54,252,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,96,252,12,193,103,252,12,193,110,252,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,117,252,12,193,124,252,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,87,253,12,193,94,253,12,193,101,253,12,193,108,253,12,193,115,253,12,193,122,253,12,193,129,253,12,193,136,253,12,193,143,253,12,193,150,253,12,193,157,253,12,193,164,253,12,193,171,253,12,193,164,253,12,193,171,253,12,193,164,253,12,193,171,253,12,193,164,253,12,193,144,2,13,193,151,2,13,0,0,0,0,0,0,0,0,0,0,0,0,193,158,2,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,158,72,13,193,165,72,13,193,172,72,13,193,179,72,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,186,72,13,193,193,72,13,193,200,72,13,193,207,72,13,193,214,72,13,193,221,72,13,193,228,72,13,193,235,72,13,0,0,0,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,0,0,0,0,193,86,73,13,193,93,73,13,193,58,128,11,193,65,128,11,193,72,128,11,193,79,128,11,193,86,128,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,5,0,6,44,5,34,7,46,5,24,9,49,5,54,7,44,5,42,7,40,5,90,7,49,5,98,7,32,5,86,10,32,5,88,10,197,163,4,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,222,0,0,0,0,0,0,5,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,168,0,0,0,0,0,0,5,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,224,0,0,0,0,0,0,197,2,4,0,46,5,26,5,32,5,24,5,44,5,10,5,44,5,10,5,51,5,142,9,51,5,144,9,44,5,150,9,44,5,152,9,44,5,82,10,44,5,84,10,32,5,78,10,32,5,80,10,32,5,66,10,32,5,68,10,32,5,62,10,46,5,144,10,46,5,128,10,32,5,121,12,46,5,14,5,46,5,129,12,46,5,133,12,32,5,131,12,255,255,255,255,46,5,140,10,46,5,138,13,46,5,152,10,46,5,126,10,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,44,164,229,194,16,164,229,194,32,9,230,0,0,0,0,194,32,108,230,255,255,255,255,194,46,207,230,194,32,207,230,194,46,85,231,194,32,85,231,194,46,184,231,194,32,184,231,194,46,29,232,194,32,29,232,194,46,62,232,194,32,62,232,32,5,196,102,48,5,200,102,40,5,200,102,24,5,200,102,32,5,200,102,48,5,204,102,40,5,204,102,24,5,204,102,32,5,204,102,48,5,214,102,40,5,214,102,24,5,214,102,32,5,214,102,49,5,222,102,38,5,222,102,49,5,236,102,38,5,236,102,51,5,238,102,44,5,238,102,30,5,238,102,37,5,238,102,197,226,155,1,197,162,155,1,197,98,156,1,197,34,156,1,197,226,156,1,197,162,156,1,197,162,91,1,197,34,157,1,255,255,255,255,255,255,255,255,0,0,0,0,160,5,214,96,5,5,214,96,160,5,216,96,5,5,216,96,197,227,36,1,193,13,227,12,193,20,227,12,193,27,227,12,193,34,227,12,193,41,227,12,193,48,227,12,160,5,162,96,5,5,162,96,160,5,194,96,5,5,194,96,5,166,0,0,5,134,0,0,5,132,0,0,160,5,174,96,5,5,174,96,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,23,16,9,193,9,112,7,193,16,112,7,193,2,92,9,193,2,200,16,193,30,16,9,193,9,92,9,5,5,112,108,5,5,114,108,5,5,116,108,5,5,118,108,5,5,120,108,255,255,255,255,255,255,255,255,201,32,8,0,5,5,128,108,255,255,255,255,255,255,255,255,5,5,130,108,5,5,132,108,5,5,134,108,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,166,0,0,5,5,136,108,5,5,138,108,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,194,196,1,197,2,197,1,255,255,255,255,5,5,86,108,193,2,118,11,193,9,118,11,193,16,118,11,193,23,118,11,193,30,118,11,193,37,118,11,193,44,118,11,5,5,92,13,193,2,52,9,193,9,52,9,193,16,52,9,193,23,52,9,193,51,118,11,193,58,118,11,255,255,255,255,255,255,255,255,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,172,0,0,20,5,0,86,5,166,0,0,5,166,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,19,5,0,76,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,166,0,0,16,5,58,93,5,112,0,42,197,34,108,0,197,98,110,0,197,162,111,0,197,2,114,0,5,120,0,48,5,112,0,48,19,5,0,54,32,5,10,55,19,5,0,62,19,5,0,64,32,5,6,65,32,5,6,67,19,5,0,68,32,5,6,69,32,5,8,77,32,5,12,77,19,5,0,78,5,120,0,78,19,5,0,92,16,5,22,43,19,5,0,44,32,5,24,45,16,5,24,51,19,5,0,52,32,5,20,65,197,2,174,0,19,5,0,72,16,5,22,79,197,98,201,0,20,5,0,86,197,226,101,0,197,194,166,0,197,98,196,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,255,255,255,255,5,166,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,168,0,0,5,172,0,0,194,5,21,251,5,172,0,0,5,172,0,0,5,172,0,0,5,170,0,0,194,5,54,251,194,5,87,251,194,5,120,251,194,5,153,251,5,170,0,0,5,170,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,5,166,0,0,5,168,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,29,193,156,146,17,193,163,146,17,193,170,146,17,193,142,122,11,193,149,122,11,193,156,122,11,193,163,122,11,193,170,122,11,193,177,122,11,193,184,122,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,37,94,117,193,44,94,117,193,247,94,117,193,254,94,117,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,121,196,124,5,5,198,124,193,2,200,124,193,9,200,124,193,16,200,124,5,112,198,124,5,168,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,5,0,21,193,35,147,17,193,42,147,17,193,49,147,17,193,163,61,9,193,170,61,9,193,177,61,9,193,184,61,9,193,191,61,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,87,91,124,193,94,91,124,193,101,91,124,193,108,91,124,193,115,91,124,193,122,91,124,193,129,91,124,193,136,91,124,193,143,91,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,150,91,124,193,157,91,124,193,164,91,124,193,171,91,124,193,178,91,124,193,185,91,124,193,192,91,124,193,199,91,124,193,206,91,124,193,213,91,124,255,255,255,255,255,255,255,255,193,165,2,13,5,166,0,0,5,170,0,0,193,37,22,9,193,9,27,103,193,16,27,103,193,23,27,103,193,30,27,103,193,37,27,103,193,44,27,103,193,51,27,103,193,58,27,103,193,65,27,103,193,72,27,103,193,79,27,103,193,86,27,103,193,93,27,103,193,100,27,103,193,107,27,103,193,114,27,103,193,121,27,103,193,128,27,103,193,135,27,103,193,142,27,103,193,149,27,103,193,156,27,103,193,163,27,103,193,170,27,103,193,177,27,103,5,168,0,0,5,168,0,0,5,168,0,0,255,255,255,255,255,255,255,255,193,30,26,11,255,255,255,255,193,9,246,113,193,16,246,113,193,23,246,113,193,30,246,113,255,255,255,255,193,37,246,113,193,44,246,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,51,246,113,5,168,0,0,194,5,241,240,194,5,20,241,193,58,246,113,193,72,246,113,193,79,246,113,193,86,246,113,255,255,255,255,193,93,246,113,193,100,246,113,193,107,246,113,255,255,255,255,193,114,246,113,193,121,246,113,193,135,246,113,193,149,246,113,193,156,246,113,193,163,246,113,193,170,246,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,232,249,194,5,11,250,194,5,44,250,194,5,44,250,194,5,77,250,194,5,110,250,194,5,143,250,194,5,176,250,5,170,0,0,5,170,0,0,5,170,0,0,194,5,209,250,194,5,242,250,5,172,0,0,5,172,0,0,5,172,0,0,133,5,72,122,133,5,74,122,133,5,76,122,3,5,78,122,133,5,78,122,3,5,80,122,133,5,80,122,3,5,82,122,133,5,82,122,133,5,84,122,133,5,86,122,133,5,88,122,133,5,90,122,133,5,92,122,3,5,94,122,133,5,94,122,133,5,96,122,133,5,98,122,133,5,100,122,133,5,102,122,197,130,182,2,3,5,18,122,3,5,24,122,255,255,255,255,255,255,255,255,5,174,0,0,5,176,0,0,193,30,22,12,193,37,22,12,5,5,116,13,197,194,65,0,197,226,232,2,155,5,38,122,155,5,40,122,165,5,42,122,155,5,44,122,158,5,46,122,155,5,48,122,155,5,50,122,166,5,52,122,155,5,54,122,155,5,56,122,160,5,58,122,160,5,60,122,160,5,62,122,160,5,64,122,160,5,66,122,155,5,68,122,155,5,70,122,160,5,72,122,155,5,74,122,158,5,76,122,165,5,78,122,165,5,80,122,162,5,82,122,160,5,84,122,158,5,86,122,160,5,88,122,160,5,90,122,160,5,92,122,160,5,94,122,166,5,102,122,160,174,0,0,160,176,0,0,197,98,131,0,197,194,131,0,197,34,132,0,197,163,131,0,197,3,132,0,197,34,193,0,197,226,192,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,2,51,1,197,66,50,1,197,130,50,1,197,66,51,1,197,194,50,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,66,55,1,194,5,22,228,197,131,56,1,193,9,51,101,193,16,51,101,193,23,51,101,193,30,51,101,193,37,51,101,193,44,51,101,193,51,51,101,193,58,51,101,193,65,51,101,193,72,51,101,193,79,51,101,193,86,51,101,193,93,51,101,193,100,51,101,193,107,51,101,193,114,51,101,193,121,51,101,193,128,51,101,193,135,51,101,193,142,51,101,193,149,51,101,193,156,51,101,193,163,51,101,193,170,51,101,194,5,65,229,194,5,98,229,193,177,51,101,193,184,51,101,194,5,55,228,194,5,55,228,194,5,88,228,194,5,88,228,194,5,88,228,194,5,121,228,194,5,121,228,194,5,121,228,194,5,154,228,194,5,154,228,194,5,187,228,194,5,187,228,194,5,220,228,194,5,220,228,194,5,220,228,194,5,253,228,194,5,32,229,194,5,131,229,255,255,255,255,255,255,255,255,193,44,60,7,193,51,60,7,193,58,60,7,193,65,60,7,193,72,60,7,193,79,60,7,193,86,60,7,193,93,60,7,193,100,60,7,193,107,60,7,193,114,60,7,193,121,60,7,193,128,60,7,193,135,60,7,193,142,60,7,255,255,255,255,197,2,160,1,197,2,162,1,197,2,122,1,197,194,119,1,197,66,121,1,197,226,165,1,197,162,167,1,197,98,97,1,197,162,170,1,197,66,171,1,197,130,171,1,197,2,172,1,197,194,174,1,197,98,176,1,197,226,177,1,197,226,179,1,197,98,180,1,197,2,92,1,197,98,181,1,197,98,182,1,197,162,182,1,197,34,185,1,197,66,94,1,197,162,186,1,197,226,187,1,197,2,190,1,197,130,190,1,197,2,98,1,197,66,98,1,197,98,184,1,197,98,0,0,197,162,0,0,197,162,65,1,197,34,74,1,197,98,75,1,197,66,82,1,197,98,85,1,197,162,87,1,197,162,88,1,197,226,103,1,197,130,106,1,197,2,113,1,197,130,115,1,197,194,151,1,197,194,152,1,197,66,163,1,197,98,177,1,197,98,179,1,197,162,187,1,197,130,189,1,197,226,0,0,197,98,1,0,197,226,1,0,197,226,132,1,197,98,133,1,197,162,137,1,197,34,138,1,197,194,140,1,197,66,141,1,197,2,107,1,197,130,107,1,197,2,116,1,197,130,116,1,197,2,96,1,197,34,1,0,197,162,1,0,197,34,2,0,197,98,2,0,197,162,63,1,197,226,63,1,197,162,64,1,197,34,65,1,197,162,67,1,197,34,68,1,197,98,73,1,197,162,73,1,197,98,74,1,197,226,74,1,197,162,75,1,197,34,76,1,197,130,81,1,197,194,81,1,197,130,82,1,197,226,84,1,197,162,85,1,197,34,86,1,197,226,86,1,197,34,87,1,197,226,87,1,197,98,88,1,197,226,88,1,197,98,89,1,197,162,144,1,197,34,145,1,197,130,148,1,197,2,149,1,5,5,22,107,5,5,26,107,5,5,126,107,5,5,128,107,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,42,11,5,5,156,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,56,107,194,5,62,232,194,5,29,232,194,5,95,232,194,5,175,240,194,5,175,240,194,5,175,240,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,194,5,241,240,193,112,173,113,194,5,175,240,194,5,29,232,193,163,52,9,193,170,52,9,193,21,123,11,193,28,123,11,193,35,123,11,193,42,123,11,194,5,62,232,255,255,255,255,193,233,201,124,193,247,201,124,193,254,201,124,193,7,202,124,193,14,202,124,193,21,202,124,193,28,202,124,193,35,202,124,193,42,202,124,193,56,202,124,255,255,255,255,194,5,128,232,194,5,95,232,5,5,50,5,255,255,255,255,255,255,255,255,193,240,201,124,193,49,202,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,250,152,103,193,3,153,103,193,10,153,103,193,17,153,103,193,24,153,103,193,31,153,103,193,38,153,103,193,45,153,103,193,52,153,103,193,59,153,103,193,66,153,103,193,73,153,103,193,80,153,103,193,87,153,103,193,94,153,103,193,101,153,103,193,136,153,103,193,143,153,103,193,150,153,103,193,157,153,103,193,164,153,103,193,171,153,103,193,178,153,103,193,185,153,103,193,227,153,103,193,234,153,103,193,241,153,103,255,255,255,255,255,255,255,255,194,5,254,238,194,5,221,238,194,5,188,238,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,194,5,33,239,194,5,66,239,193,100,61,9,193,16,22,9,5,5,88,7,193,23,32,7,5,5,50,7,193,30,112,7,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,255,255,255,255,255,255,255,255,194,5,99,239,194,5,132,239,194,5,165,239,194,5,198,239,194,5,231,239,193,23,22,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,229,120,5,5,231,120,5,5,233,120,5,5,235,120,194,5,10,240,194,5,10,240,194,5,10,240,194,5,76,240,194,5,109,240,194,5,142,240,194,5,43,240,193,2,237,120,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,16,96,7,193,51,112,7,5,5,90,104,5,5,94,104,5,5,98,104,5,5,100,104,5,5,102,104,5,5,104,104,5,5,106,104,5,5,108,104,5,5,110,104,197,2,193,1,5,5,112,104,5,5,114,104,5,5,116,104,5,5,120,104,5,5,122,104,5,5,124,104,5,5,128,104,197,194,193,1,5,5,130,104,5,5,132,104,197,2,194,1,5,5,134,104,5,5,136,104,5,5,138,104,5,5,140,104,5,5,142,104,5,5,160,104,5,5,162,104,194,5,175,240,5,5,144,104,5,5,158,104,5,5,170,104,5,5,58,105,5,5,60,105,5,5,62,105,5,5,64,105,5,5,66,105,5,5,68,105,5,5,70,105,5,5,72,105,5,5,74,105,255,255,255,255,5,5,76,105,5,5,78,105,5,5,80,105,5,5,82,105,5,5,84,105,5,5,86,105,5,5,88,105,255,255,255,255,5,5,92,105,255,255,255,255,255,255,255,255,255,255,255,255,5,5,96,105,5,5,98,105,5,5,100,105,5,5,102,105,255,255,255,255,255,255,255,255,194,5,175,240,5,5,104,105,5,5,106,105,5,5,108,105,5,5,60,106,5,5,62,106,5,5,64,106,5,5,66,106,5,5,68,106,5,5,70,106,5,5,72,106,5,5,74,106,5,5,76,106,255,255,255,255,5,5,78,106,5,5,80,106,5,5,82,106,5,5,84,106,5,5,86,106,5,5,88,106,5,5,92,106,255,255,255,255,5,5,94,106,197,130,196,1,255,255,255,255,5,5,96,106,197,66,195,1,255,255,255,255,5,5,32,106,5,5,34,106,255,255,255,255,255,255,255,255,194,5,175,240,255,255,255,255,5,5,100,106,5,5,102,106,5,5,64,107,5,5,66,107,5,5,68,107,5,5,70,107,5,5,72,107,5,5,74,107,5,5,76,107,5,5,78,107,5,5,80,107,255,255,255,255,5,5,82,107,5,5,84,107,5,5,86,107,5,5,88,107,5,5,90,107,5,5,92,107,5,5,94,107,255,255,255,255,5,5,96,107,5,5,108,107,255,255,255,255,5,5,98,107,5,5,100,107,5,5,102,107,5,5,104,107,5,5,106,107,255,255,255,255,255,255,255,255,194,5,175,240,5,5,110,107,5,5,112,107,5,5,114,107,5,5,56,108,5,5,58,108,5,5,60,108,5,5,62,108,5,5,64,108,5,5,66,108,5,5,68,108,5,5,70,108,5,5,72,108,255,255,255,255,5,5,74,108,5,5,76,108,5,5,78,108,5,5,80,108,5,5,82,108,5,5,84,108,5,5,88,108,255,255,255,255,5,5,90,108,5,5,92,108,255,255,255,255,5,5,94,108,5,5,98,108,5,5,100,108,5,5,102,108,5,5,104,108,255,255,255,255,255,255,255,255,194,5,175,240,5,5,106,108,5,5,108,108,5,5,110,108,5,5,60,111,5,5,62,111,5,5,64,111,5,5,66,111,5,5,68,111,5,5,70,111,5,5,72,111,5,5,74,111,5,5,76,111,255,255,255,255,5,5,78,111,5,5,80,111,5,5,82,111,5,5,84,111,5,5,86,111,5,5,88,111,5,5,90,111,5,5,92,111,5,5,94,111,5,5,106,111,255,255,255,255,5,5,96,111,5,5,98,111,5,5,100,111,5,5,102,111,5,5,104,111,255,255,255,255,255,255,255,255,194,5,175,240,5,5,110,111,5,5,118,111,201,0,14,0,193,212,40,118,193,219,40,118,193,226,40,118,193,240,40,118,193,247,40,118,193,254,40,118,193,7,41,118,193,14,41,118,193,28,41,118,193,35,41,118,193,42,41,118,193,49,41,118,193,56,41,118,193,63,41,118,193,70,41,118,193,77,41,118,193,91,41,118,193,98,41,118,193,105,41,118,193,126,41,118,194,5,175,240,193,133,41,118,193,140,41,118,193,147,41,118,193,154,41,118,193,161,41,118,201,192,69,1,193,175,41,118,201,160,70,1,193,189,41,118,201,128,71,1,201,96,72,1,193,2,63,117,193,9,63,117,193,16,63,117,193,23,63,117,193,30,63,117,193,37,63,117,194,5,175,240,5,5,65,117,32,5,65,117,5,5,67,117,5,5,69,117,32,5,69,117,5,5,71,117,32,5,71,117,5,5,73,117,32,5,73,117,193,2,75,117,193,9,75,117,193,16,75,117,193,23,75,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,142,118,11,193,149,118,11,193,156,118,11,193,163,118,11,193,14,7,117,193,21,7,117,193,28,7,117,193,35,7,117,193,219,6,117,193,233,6,117,193,49,7,117,193,56,7,117,193,63,7,117,193,70,7,117,193,77,7,117,193,84,7,117,193,91,7,117,193,98,7,117,193,105,7,117,193,112,7,117,193,119,7,117,193,126,7,117,193,133,7,117,193,140,7,117,193,147,7,117,193,154,7,117,193,42,7,117,194,5,175,240,255,255,255,255,255,255,255,255,255,255,255,255,193,16,36,9,193,23,36,9,193,128,102,11,193,135,102,11,193,142,102,11,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,5,5,45,118,32,5,45,118,193,9,47,118,193,16,47,118,193,23,47,118,193,30,47,118,193,37,47,118,193,44,47,118,194,5,175,240,5,5,49,118,32,5,49,118,193,9,51,118,193,16,51,118,193,23,51,118,193,30,51,118,193,44,51,118,193,51,51,118,193,2,51,118,193,37,51,118,193,28,43,118,193,2,47,118,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,193,240,168,113,193,247,168,113,193,254,168,113,194,5,175,240,193,233,122,11,193,240,122,11,193,233,168,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,231,171,113,193,105,171,113,193,112,171,113,193,119,171,113,193,9,170,113,193,149,52,9,193,156,52,9,193,254,122,11,193,219,61,9,194,5,53,241,194,5,175,240,194,5,129,242,194,5,162,242,193,247,122,11,193,203,171,113,194,5,208,240,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,16,170,113,193,7,123,11,193,126,171,113,193,14,123,11,193,226,61,9,193,233,61,9,193,84,175,113,193,91,175,113,193,98,175,113,193,105,175,113,193,112,175,113,193,119,175,113,193,126,175,113,193,133,175,113,193,140,175,113,194,5,175,240,193,147,175,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,255,255,255,255,193,254,178,113,193,7,179,113,193,14,179,113,193,21,179,113,193,28,179,113,193,35,179,113,193,42,179,113,255,255,255,255,193,49,179,113,193,56,179,113,255,255,255,255,193,63,179,113,193,70,179,113,193,77,179,113,193,84,179,113,193,91,179,113,255,255,255,255,194,5,175,240,194,5,175,240,193,98,179,113,193,119,179,113,193,126,179,113,193,252,181,113,193,5,182,113,193,12,182,113,194,5,208,240,194,5,241,240,194,5,20,241,194,5,175,240,193,140,181,113,193,161,181,113,193,9,180,113,193,16,180,113,193,177,52,9,193,184,52,9,193,49,123,11,193,63,123,11,193,70,123,11,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,56,123,11,193,77,123,11,255,255,255,255,193,84,123,11,194,5,53,241,193,168,181,113,194,5,241,240,194,5,20,241,193,217,184,113,194,5,175,240,193,98,184,113,193,105,184,113,193,91,123,11,193,9,183,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,175,240,193,98,123,11,193,191,52,9,193,198,52,9,193,105,123,11,193,112,123,11,193,119,123,11,193,126,123,11,193,133,123,11,193,140,123,11,193,147,123,11,193,154,123,11,193,161,123,11,193,168,123,11,193,175,123,11,193,182,123,11,193,189,123,11,193,196,123,11,193,203,123,11,193,210,123,11,193,217,123,11,193,224,123,11,193,231,123,11,193,238,123,11,5,112,187,113,5,120,187,113,5,112,189,113,5,112,191,113,5,112,196,113,5,112,198,113,255,255,255,255,255,255,255,255,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,193,86,203,113,193,79,203,113,193,93,203,113,193,56,204,113,194,5,241,240,194,5,20,241,193,63,204,113,193,70,204,113,193,77,204,113,193,84,204,113,193,91,204,113,193,98,204,113,193,105,204,113,193,112,204,113,193,119,204,113,193,126,204,113,194,5,175,240,193,114,203,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,194,5,241,240,194,5,20,241,193,140,210,113,194,5,175,240,193,252,123,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,240,205,113,193,254,205,113,193,14,206,113,194,5,175,240,193,233,52,9,193,5,124,11,193,254,61,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,5,5,200,116,5,5,202,116,5,5,204,116,5,5,206,116,193,2,208,116,193,9,208,116,193,16,208,116,193,23,208,116,193,16,198,116,194,5,175,240,193,107,208,116,194,5,208,240,194,5,208,240,194,5,208,240,194,5,241,240,194,5,20,241,32,5,202,116,32,5,200,116,46,5,202,116,32,5,204,116,32,5,206,116,193,2,102,11,194,5,241,240,194,5,20,241,194,5,175,240,194,5,208,240,193,142,228,113,193,149,228,113,32,5,226,113,46,5,226,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,208,240,194,5,208,240,194,5,241,240,194,5,20,241,5,5,12,104,5,5,14,104,5,5,16,104,5,5,28,104,5,5,30,104,5,5,32,104,5,5,34,104,5,5,36,104,5,5,40,104,5,5,44,104,5,5,46,104,5,5,48,104,5,5,50,104,5,5,54,104,5,5,56,104,5,5,58,104,5,5,60,104,5,5,62,104,5,5,64,104,5,5,66,104,5,5,70,104,5,5,72,104,5,5,74,104,5,5,76,104,5,5,78,104,5,5,84,104,5,5,86,104,5,5,88,104,5,5,6,105,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,5,5,8,105,5,5,10,105,5,5,12,105,5,5,14,105,5,5,16,105,5,5,18,105,5,5,20,105,5,5,24,105,255,255,255,255,255,255,255,255,5,5,28,105,5,5,30,105,255,255,255,255,255,255,255,255,5,5,32,105,5,5,34,105,5,5,36,105,5,5,38,105,5,5,40,105,5,5,42,105,5,5,44,105,5,5,46,105,5,5,48,105,5,5,50,105,5,5,52,105,5,5,54,105,5,5,56,105,255,255,255,255,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,5,5,16,106,5,5,18,106,5,5,26,106,5,5,28,106,5,5,10,106,5,5,12,106,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,30,106,5,5,20,106,255,255,255,255,255,255,255,255,5,5,14,106,5,5,22,106,5,5,38,106,5,5,40,106,5,5,42,106,5,5,44,106,5,5,46,106,5,5,48,106,5,5,50,106,5,5,52,106,5,5,54,106,5,5,56,106,5,5,58,106,255,255,255,255,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,5,5,8,107,5,5,10,107,5,5,12,107,5,5,14,107,5,5,16,107,5,5,18,107,5,5,20,107,5,5,24,107,5,5,28,107,255,255,255,255,5,5,30,107,5,5,32,107,5,5,34,107,255,255,255,255,5,5,36,107,5,5,38,107,5,5,40,107,5,5,42,107,5,5,44,107,5,5,46,107,5,5,48,107,5,5,50,107,5,5,52,107,5,5,54,107,5,5,58,107,5,5,60,107,5,5,62,107,255,255,255,255,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,5,5,6,108,5,5,8,108,5,5,10,108,5,5,12,108,5,5,14,108,5,5,16,108,5,5,18,108,5,5,22,108,255,255,255,255,255,255,255,255,5,5,26,108,5,5,28,108,255,255,255,255,255,255,255,255,5,5,30,108,5,5,32,108,5,5,34,108,5,5,36,108,5,5,38,108,5,5,40,108,5,5,42,108,5,5,44,108,5,5,46,108,5,5,48,108,5,5,50,108,5,5,52,108,5,5,54,108,194,5,208,240,194,5,208,240,194,5,241,240,194,5,20,241,194,5,241,240,5,5,6,110,5,5,8,110,5,5,10,110,5,5,12,110,5,5,14,110,5,5,16,110,5,5,18,110,5,5,22,110,255,255,255,255,5,5,26,110,5,5,28,110,5,5,30,110,255,255,255,255,5,5,32,110,5,5,34,110,5,5,36,110,5,5,38,110,5,5,40,110,5,5,42,110,5,5,44,110,5,5,46,110,5,5,48,110,5,5,52,110,5,5,54,110,5,5,58,110,5,5,60,110,5,5,62,110,5,5,116,111,194,5,208,240,194,5,241,240,194,5,20,241,5,5,46,11,5,5,6,111,5,5,8,111,5,5,10,111,5,5,12,111,5,5,14,111,5,5,16,111,5,5,18,111,5,5,22,111,255,255,255,255,5,5,26,111,5,5,28,111,5,5,30,111,255,255,255,255,5,5,32,111,5,5,34,111,5,5,36,111,5,5,38,111,5,5,40,111,5,5,42,111,5,5,44,111,5,5,46,111,5,5,48,111,5,5,50,111,5,5,52,111,5,5,54,111,5,5,56,111,5,5,58,111,194,5,241,240,194,5,208,240,194,5,241,240,194,5,20,241,5,5,118,112,5,5,6,112,5,5,8,112,5,5,10,112,5,5,12,112,5,5,16,112,5,5,18,112,5,5,20,112,5,5,24,112,255,255,255,255,5,5,28,112,5,5,30,112,5,5,32,112,255,255,255,255,5,5,34,112,5,5,36,112,5,5,38,112,5,5,40,112,5,5,42,112,5,5,44,112,5,5,46,112,5,5,48,112,5,5,50,112,5,5,52,112,5,5,54,112,5,5,56,112,5,5,58,112,5,5,60,112,255,255,255,255,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,5,5,6,113,5,5,8,113,5,5,10,113,5,5,12,113,5,5,14,113,5,5,16,113,5,5,18,113,5,5,20,113,5,5,22,113,5,5,24,113,5,5,26,113,5,5,28,113,5,5,30,113,5,5,32,113,5,5,34,113,5,5,36,113,5,5,38,113,5,5,40,113,255,255,255,255,255,255,255,255,255,255,255,255,5,5,42,113,5,5,44,113,5,5,46,113,5,5,48,113,5,5,50,113,5,5,52,113,194,5,208,240,194,5,208,240,194,5,241,240,194,5,152,241,194,5,20,241,201,128,64,1,193,16,40,118,201,96,65,1,193,30,40,118,201,64,66,1,193,44,40,118,201,32,67,1,193,58,40,118,201,0,68,1,193,72,40,118,193,79,40,118,193,86,40,118,201,224,68,1,193,100,40,118,193,107,40,118,193,128,40,118,193,135,40,118,193,142,40,118,193,149,40,118,193,156,40,118,193,163,40,118,193,170,40,118,193,177,40,118,193,184,40,118,193,191,40,118,193,198,40,118,193,205,40,118,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,194,5,208,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,2,36,9,193,9,36,9,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,208,240,194,5,241,240,194,5,185,241,194,5,20,241,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,194,5,208,240,194,5,241,240,194,5,20,241,193,84,245,113,193,91,245,113,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,194,5,208,240,194,5,241,240,194,5,20,241,193,9,166,113,193,16,166,113,193,23,166,113,193,30,166,113,193,37,166,113,193,44,166,113,193,51,166,113,193,58,166,113,193,65,166,113,193,72,166,113,193,79,166,113,193,86,166,113,193,93,166,113,193,100,166,113,193,107,166,113,193,114,166,113,193,121,166,113,193,128,166,113,193,135,166,113,193,142,166,113,193,149,166,113,193,156,166,113,193,163,166,113,197,130,199,1,193,170,166,113,197,194,199,1,193,177,166,113,193,184,166,113,193,191,166,113,194,5,208,240,194,5,241,240,194,5,20,241,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,194,5,208,240,194,5,241,240,194,5,20,241,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,194,5,241,240,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,193,16,178,113,193,23,178,113,193,30,178,113,193,37,178,113,193,44,178,113,193,51,178,113,193,58,178,113,193,72,178,113,255,255,255,255,255,255,255,255,193,86,178,113,193,93,178,113,255,255,255,255,255,255,255,255,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,193,112,184,113,193,119,184,113,193,126,184,113,193,133,184,113,193,140,184,113,193,147,184,113,193,154,184,113,193,161,184,113,193,168,184,113,201,192,26,2,193,182,184,113,193,189,184,113,193,196,184,113,193,203,184,113,193,210,184,113,194,5,208,240,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,5,5,196,113,5,5,198,113,193,2,200,113,193,9,200,113,255,255,255,255,255,255,255,255,201,224,28,2,201,224,29,2,193,30,200,113,193,37,200,113,194,5,208,240,194,5,241,240,194,5,20,241,193,44,200,113,194,5,208,240,193,205,52,9,193,212,52,9,193,245,123,11,193,189,202,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,193,247,205,113,193,7,206,113,193,21,206,113,193,28,206,113,193,35,206,113,193,42,206,113,193,49,206,113,193,56,206,113,193,63,206,113,193,70,206,113,193,77,206,113,193,84,206,113,193,91,206,113,193,98,206,113,193,105,206,113,201,224,30,2,255,255,255,255,193,119,206,113,193,126,206,113,255,255,255,255,255,255,255,255,194,5,241,240,194,5,208,240,193,133,206,113,193,140,206,113,193,100,205,113,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,193,84,249,113,193,91,249,113,193,98,249,113,193,105,249,113,193,112,249,113,193,119,249,113,193,126,249,113,193,133,249,113,255,255,255,255,193,140,249,113,193,147,249,113,193,154,249,113,193,161,249,113,194,5,208,240,194,5,241,240,194,5,20,241,193,168,249,113,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,255,255,255,255,193,77,5,117,193,91,5,117,193,105,5,117,193,119,5,117,193,133,5,117,193,147,5,117,193,161,5,117,193,168,5,117,193,175,5,117,193,182,5,117,193,189,5,117,193,196,5,117,194,5,241,240,194,5,208,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,241,240,5,5,32,109,255,255,255,255,5,5,8,109,5,5,10,109,5,5,12,109,5,5,14,109,5,5,16,109,5,5,18,109,255,255,255,255,255,255,255,255,255,255,255,255,5,5,20,109,5,5,22,109,5,5,24,109,255,255,255,255,201,0,10,0,5,5,28,109,5,5,30,109,5,5,34,109,255,255,255,255,255,255,255,255,255,255,255,255,5,5,36,109,5,5,38,109,255,255,255,255,5,5,70,109,255,255,255,255,5,5,40,109,5,5,42,109,5,5,112,116,5,5,116,116,5,5,120,116,5,5,126,116,5,5,130,116,5,5,134,116,5,5,138,116,5,5,142,116,5,5,146,116,197,194,119,2,5,112,120,116,5,5,10,116,5,5,124,116,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,201,70,231,0,5,5,168,116,5,5,170,116,5,5,176,116,5,5,178,116,5,5,180,116,5,5,182,116,5,5,184,116,5,5,186,116,5,5,188,116,5,5,190,116,5,5,192,116,5,5,194,116,194,5,241,240,194,5,20,241,193,51,85,117,193,100,85,117,193,107,85,117,193,114,85,117,193,121,85,117,201,32,241,0,193,135,85,117,193,170,85,117,193,177,85,117,193,184,85,117,193,191,85,117,32,5,87,117,5,5,87,117,193,23,89,117,193,37,89,117,193,51,89,117,193,72,89,117,193,107,89,117,193,135,89,117,193,44,89,117,193,149,89,117,193,121,89,117,194,5,241,240,194,5,126,245,194,5,20,241,5,5,91,117,193,2,93,117,193,54,81,117,193,82,81,117,193,110,81,117,193,30,85,117,197,35,125,2,194,5,241,240,194,5,218,241,194,5,20,241,5,5,233,113,193,2,235,113,193,9,235,113,193,16,235,113,193,23,235,113,193,30,235,113,193,37,235,113,5,5,237,113,193,9,239,113,193,16,239,113,193,23,239,113,193,30,239,113,193,37,239,113,193,44,239,113,193,51,239,113,193,58,239,113,193,65,239,113,193,72,239,113,193,79,239,113,193,86,239,113,193,93,239,113,193,100,239,113,5,5,241,113,193,9,243,113,193,23,243,113,193,44,243,113,193,65,243,113,193,79,243,113,193,86,243,113,193,9,162,113,193,16,162,113,193,23,162,113,193,30,162,113,193,37,162,113,193,44,162,113,193,51,162,113,193,65,162,113,193,72,162,113,193,79,162,113,193,86,162,113,194,5,241,240,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,194,5,241,240,194,5,20,241,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,194,5,241,240,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,194,5,241,240,194,5,20,241,193,182,202,113,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,193,98,208,113,193,105,208,113,193,112,208,113,193,119,208,113,193,126,208,113,193,133,208,113,193,140,208,113,255,255,255,255,255,255,255,255,193,147,208,113,193,161,208,113,193,168,208,113,193,175,208,113,194,5,241,240,194,5,20,241,5,5,249,116,5,5,251,116,193,2,253,116,5,5,213,116,193,9,253,116,193,16,253,116,32,5,241,116,32,5,243,116,32,5,247,116,32,5,251,116,32,5,211,116,32,5,215,116,32,5,219,116,32,5,223,116,32,5,227,116,32,5,229,116,32,5,233,116,46,5,241,116,46,5,243,116,46,5,247,116,46,5,251,116,32,5,237,116,194,5,241,240,194,5,20,241,194,5,195,242,193,23,253,116,193,58,102,11,193,65,102,11,193,72,102,11,193,30,253,116,193,79,102,11,193,86,102,11,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,255,255,255,255,193,77,230,113,193,84,230,113,255,255,255,255,193,91,230,113,193,98,230,113,194,5,241,240,194,5,20,241,193,105,230,113,193,9,229,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,22,105,5,5,26,105,5,5,120,105,5,5,122,105,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,90,105,5,5,94,105,5,5,150,13,5,5,152,13,5,5,6,16,5,5,8,16,5,5,10,16,5,5,12,16,5,5,14,16,5,5,16,16,193,198,85,12,5,5,154,13,5,5,136,105,5,5,38,11,194,5,53,241,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,194,5,86,241,194,5,119,241,5,5,24,106,5,5,8,106,5,5,6,106,5,5,90,106,5,5,40,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,161,161,113,193,168,161,113,193,175,161,113,193,28,161,113,193,35,161,113,193,42,161,113,193,49,161,113,193,56,161,113,193,63,161,113,193,70,161,113,193,77,161,113,193,86,52,9,194,5,251,241,193,182,161,113,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,177,246,113,193,184,246,113,193,191,246,113,193,198,246,113,193,205,246,113,193,212,246,113,193,219,246,113,193,226,246,113,193,233,246,113,193,240,246,113,193,247,246,113,193,254,246,113,193,7,247,113,193,21,247,113,193,28,247,113,193,35,247,113,193,42,247,113,193,49,247,113,193,65,246,113,193,142,246,113,193,128,246,113,193,14,247,113,255,255,255,255,255,255,255,255,194,5,30,242,194,5,63,242,194,5,96,242,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,56,247,113,201,224,23,0,201,192,44,0,201,160,65,0,201,128,86,0,201,96,107,0,5,5,132,114,5,5,86,13,194,5,7,243,194,5,40,243,194,5,73,243,194,5,106,243,194,5,139,243,194,5,172,243,201,64,128,0,194,5,228,242,5,5,50,11,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,52,11,5,5,54,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,201,32,129,0,201,96,149,0,201,160,169,0,201,224,189,0,201,32,210,0,255,255,255,255,5,5,88,13,255,255,255,255,194,5,238,243,194,5,17,244,194,5,50,244,194,5,83,244,194,5,116,244,201,96,230,0,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,197,130,50,2,197,162,52,2,5,5,6,115,5,5,30,115,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,201,32,74,1,201,64,96,1,193,140,133,115,193,147,133,115,201,96,118,1,193,161,133,115,201,128,140,1,201,160,162,1,193,182,133,115,193,189,133,115,194,5,182,244,193,196,133,115,194,5,215,244,193,203,133,115,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,210,133,115,193,217,133,115,193,2,100,13,193,2,56,11,193,9,56,11,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,194,5,27,245,194,5,60,245,194,5,93,245,5,5,120,11,5,5,42,9,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,193,121,18,117,193,128,18,117,193,135,18,117,193,142,18,117,193,149,18,117,193,156,18,117,193,163,18,117,193,170,18,117,193,177,18,117,5,5,20,117,5,5,22,117,193,2,24,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,24,117,193,16,24,117,193,23,24,117,193,30,24,117,193,37,24,117,193,44,24,117,193,51,24,117,193,58,24,117,193,65,24,117,194,5,14,247,194,5,47,247,194,5,80,247,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,194,5,113,247,194,5,146,247,194,5,179,247,194,5,212,247,194,5,245,247,194,5,24,248,194,5,57,248,193,2,128,11,193,9,128,11,193,16,128,11,193,23,128,11,193,30,128,11,193,207,242,12,193,214,242,12,193,221,242,12,193,228,242,12,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,255,255,255,255,255,255,255,255,255,255,255,255,194,5,245,247,194,5,113,247,194,5,179,247,194,5,212,247,194,5,24,248,194,5,57,248,194,5,146,247,193,70,244,123,193,77,244,123,193,84,244,123,193,91,244,123,193,98,244,123,193,37,100,13,193,44,100,13,255,255,255,255,255,255,255,255,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,194,5,90,248,194,5,123,248,194,5,156,248,194,5,189,248,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,174,13,193,9,78,13,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,194,5,222,248,194,5,255,248,194,5,34,249,194,5,67,249,194,5,100,249,194,5,133,249,5,5,44,5,5,5,110,13,197,66,65,0,5,5,112,13,197,130,65,0,5,5,114,13,32,5,76,13,193,16,78,13,198,65,124,0,198,225,180,0,198,1,181,0,5,5,104,13,197,130,227,2,5,5,194,10,193,23,78,13,193,30,78,13,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,194,5,186,251,255,255,255,255,255,255,255,255,16,5,0,4,5,5,34,7,5,5,24,9,5,5,192,10,193,182,74,13,5,5,102,13,197,194,200,2,5,5,0,19,5,5,62,10,5,5,64,10,5,5,66,10,5,5,68,10,5,5,70,10,5,5,72,10,5,5,74,10,5,5,76,10,5,5,78,10,5,5,80,10,5,5,76,13,193,2,78,13,5,5,82,10,5,5,84,10,5,5,86,10,5,5,88,10,5,5,90,10,5,5,92,10,5,5,94,10,5,5,96,10,5,5,42,5,5,5,132,9,5,5,134,9,5,5,136,9,24,5,0,4,193,9,254,118,193,16,254,118,193,23,254,118,193,30,254,118,193,37,254,118,193,44,254,118,193,51,254,118,193,58,254,118,193,65,254,118,193,72,254,118,193,79,254,118,193,86,254,118,193,93,254,118,193,100,254,118,193,107,254,118,193,114,254,118,193,121,254,118,193,128,254,118,193,135,254,118,193,142,254,118,193,149,254,118,193,156,254,118,193,163,254,118,193,170,254,118,193,177,254,118,193,184,254,118,193,2,162,9,193,9,162,9,255,255,255,255,255,255,255,255,255,255,255,255,5,5,204,10,5,5,208,10,5,5,210,10,5,5,182,10,5,5,149,12,5,5,164,9,5,5,166,9,197,98,3,0,197,130,3,0,197,66,3,0,5,5,146,10,5,5,120,10,5,5,184,10,5,5,186,10,5,5,130,10,5,5,46,7,5,5,206,10,5,5,132,10,193,2,145,12,5,5,34,5,5,5,202,10,5,5,64,9,5,5,66,9,197,36,48,0,5,5,68,9,5,5,70,9,5,5,72,9,5,5,74,9,5,5,76,9,5,5,78,9,5,5,80,9,24,5,0,4,32,5,64,10,46,5,70,10,46,5,72,10,32,5,74,10,32,5,76,10,5,5,36,7,5,5,38,7,46,5,146,9,46,5,148,9,32,5,8,5,32,5,8,5,32,5,8,5,32,5,8,5,30,5,10,5,30,5,10,5,30,5,10,5,38,5,0,6,16,5,34,7,32,5,0,8,255,255,255,255,30,5,42,7,38,5,54,7,38,5,98,7,32,5,90,7,32,5,26,5,30,5,142,9,30,5,144,9,30,5,150,9,30,5,152,9,30,5,82,10,30,5,84,10,46,5,150,10,32,5,126,10,159,5,0,42,159,5,0,44,159,5,0,46,159,5,0,48,159,5,0,50,159,5,0,52,159,5,0,54,159,5,0,56,159,5,0,58,159,5,0,60,159,5,0,62,159,5,0,64,159,5,0,66,159,5,0,68,159,5,0,70,159,5,0,72,164,5,0,74,159,5,0,76,159,5,0,78,159,5,0,80,159,5,0,82,159,5,0,84,164,5,0,86,159,5,0,88,159,5,0,90,159,5,0,92,32,5,146,9,32,5,140,10,32,5,148,9,32,5,10,12,16,5,10,5,255,255,255,255,16,5,90,7,32,5,120,9,32,5,150,10,32,5,138,13,32,5,152,10,32,5,144,10,32,5,106,9,16,5,142,9,16,5,144,9,32,5,128,10,16,5,121,12,16,5,0,6,32,5,14,5,16,5,0,8,32,5,138,10,202,224,246,2,202,1,247,2,202,34,247,2,202,67,247,2,202,100,247,2,202,133,247,2,202,166,247,2,202,199,247,2,202,232,247,2,202,9,248,2,16,5,54,7,16,5,42,7,32,5,129,12,16,5,131,12,32,5,133,12,16,5,98,7,193,2,18,5,193,9,234,118,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,5,5,42,10,5,5,44,10,5,5,46,10,5,5,48,10,5,5,50,10,5,5,52,10,5,5,54,10,5,5,56,10,5,5,58,10,5,5,60,10,5,5,82,9,5,5,84,9,5,5,86,9,5,5,88,9,5,5,102,7,193,9,224,97,5,5,18,9,5,5,28,9,5,5,8,7,5,5,30,9,5,5,6,7,5,5,48,7,5,5,168,10,5,5,170,10,5,5,172,10,5,5,116,10,5,5,30,5,5,5,32,5,5,5,20,9,5,5,90,9,5,5,104,10,5,5,124,10,5,5,40,5,5,5,10,7,5,5,130,9,5,5,36,5,5,5,250,10,5,5,252,10,5,5,254,10,5,5,2,11,5,5,4,11,5,5,52,7,5,5,142,10,5,5,174,10,5,5,12,7,5,5,122,10,5,5,14,7,5,5,16,7,193,56,202,12,193,63,202,12,5,5,148,10,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,212,10,5,5,214,10,5,5,22,10,5,5,24,10,5,5,26,10,5,5,28,10,5,5,216,10,5,5,218,10,5,5,220,10,5,5,30,10,5,5,32,10,5,5,222,10,5,5,34,10,5,5,36,10,5,5,224,10,5,5,226,10,5,5,228,10,5,5,230,10,5,5,232,10,5,5,234,10,5,5,236,10,5,5,238,10,5,5,240,10,5,5,38,5,5,5,116,7,5,5,94,9,5,5,242,10,5,5,244,10,5,5,38,10,5,5,40,10,5,5,246,10,5,5,248,10,5,5,46,5,16,5,6,122,158,5,6,122,16,5,8,122,158,5,8,122,16,5,10,122,158,5,10,122,16,5,14,122,158,5,14,122,16,5,16,122,158,5,16,122,152,5,18,122,197,162,185,2,144,5,20,122,197,130,188,2,152,5,22,122,197,162,193,2,152,5,24,122,197,34,196,2,144,5,26,122,197,2,197,2,144,5,28,122,197,226,198,2,152,5,30,122,197,130,200,2,152,5,32,122,197,226,201,2,144,5,34,122,197,98,202,2,144,5,36,122,197,162,203,2,144,5,38,122,152,5,72,122,144,5,74,122,144,5,76,122,16,5,78,122,158,5,78,122,16,5,80,122,158,5,80,122,16,5,82,122,156,5,82,122,152,5,84,122,151,5,86,122,152,5,88,122,152,5,90,122,152,5,92,122,16,5,94,122,152,5,94,122,158,5,96,122,158,5,98,122,155,5,100,122,155,5,102,122,197,194,182,2,16,5,18,122,16,5,24,122,197,2,236,2,197,66,236,2,197,130,236,2,197,194,236,2,5,5,48,5,5,5,118,13,5,5,120,13,197,2,66,0,197,2,198,2,32,5,186,9,160,5,24,9,160,5,70,10,160,5,72,10,158,5,34,7,160,5,48,5,166,5,100,122,23,5,6,122,23,5,8,122,23,5,10,122,23,5,14,122,23,5,16,122,23,5,78,122,23,5,80,122,22,5,82,122,23,5,42,122,160,5,118,13,165,5,6,122,165,5,8,122,165,5,10,122,165,5,14,122,165,5,16,122,160,5,18,122,155,5,20,122,160,5,22,122,160,5,24,122,152,5,26,122,155,5,28,122,160,5,30,122,160,5,32,122,155,5,34,122,155,5,36,122,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,193,247,151,123,193,233,151,123,193,254,151,123,193,240,151,123,193,14,152,123,193,21,152,123,193,28,152,123,193,35,152,123,193,42,152,123,193,49,152,123,193,56,152,123,193,63,152,123,193,70,152,123,193,77,152,123,193,9,151,123,193,16,151,123,193,23,151,123,193,30,151,123,193,44,151,123,193,37,151,123,193,9,32,7,193,2,22,9,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,5,5,72,120,5,5,74,120,193,16,32,7,193,9,22,9,193,23,112,7,32,5,26,120,32,5,38,120,32,5,50,120,197,66,171,2,197,130,171,2,197,194,171,2,197,2,172,2,197,66,172,2,197,130,172,2,197,194,172,2,197,2,173,2,197,66,173,2,197,130,173,2,197,194,173,2,197,2,174,2,197,66,174,2,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,193,114,172,17,193,121,172,17,193,128,172,17,193,135,172,17,193,142,172,17,193,149,172,17,193,156,172,17,193,163,172,17,193,170,172,17,193,177,172,17,5,112,0,21,5,112,0,23,5,112,0,25,193,30,32,7,193,30,22,9,193,44,128,11,193,51,128,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,197,163,2,0,197,226,54,0,197,35,55,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,5,5,57,9,5,5,62,7,5,5,12,9,5,5,64,7,5,5,66,7,5,5,68,7,5,5,70,7,5,5,110,7,5,5,59,9,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,122,16,5,5,124,16,5,5,126,16,5,5,128,16,5,5,130,16,5,5,132,16,5,5,134,16,5,5,136,16,5,5,138,16,5,5,140,16,5,5,142,16,255,255,255,255,255,255,255,255,255,255,255,255,193,210,41,118,193,217,41,118,201,64,73,1,193,231,41,118,193,238,41,118,193,114,40,118,193,121,40,118,193,233,40,118,193,21,41,118,193,84,41,118,193,112,41,118,193,119,41,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,16,61,9,193,23,61,9,193,16,16,9,193,2,80,7,193,30,52,9,193,37,52,9,193,58,51,118,193,30,61,9,193,37,61,9,193,44,61,9,193,51,61,9,193,58,61,9,193,65,61,9,193,9,80,7,193,44,52,9,193,51,52,9,193,72,61,9,193,79,61,9,193,86,61,9,193,93,61,9,255,255,255,255,5,5,94,13,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,2,122,11,193,9,122,11,193,58,56,119,193,86,56,119,193,93,56,119,193,65,56,119,193,79,56,119,193,100,56,119,5,5,58,119,5,112,58,119,5,120,58,119,5,112,20,119,5,115,40,119,5,5,82,7,5,5,84,7,5,5,86,7,197,194,170,2,197,2,171,2,197,130,170,2,193,2,18,119,5,5,42,119,193,16,56,119,193,2,14,119,5,5,28,119,193,9,48,119,193,30,56,119,193,44,56,119,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,3,88,12,255,255,255,255,255,255,255,255,255,255,255,255,193,9,96,7,193,2,112,7,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,193,205,160,113,193,212,160,113,193,219,160,113,193,226,160,113,193,233,160,113,193,240,160,113,193,247,160,113,193,254,160,113,193,7,161,113,193,14,161,113,193,21,161,113,193,84,161,113,193,91,161,113,193,98,161,113,193,105,161,113,193,112,161,113,193,79,52,9,193,37,112,7,193,9,160,113,193,9,100,13,193,16,100,13,193,119,161,113,193,189,161,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,212,61,9,193,135,52,9,193,142,52,9,193,44,112,7,193,14,97,117,193,105,97,117,193,112,97,117,193,240,96,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,193,250,87,12,193,9,16,9,193,129,244,118,193,248,244,118,193,57,245,118,193,64,245,118,193,71,245,118,193,78,245,118,193,85,245,118,193,92,245,118,193,87,251,118,193,94,251,118,193,101,251,118,193,108,251,118,193,115,251,118,193,122,251,118,193,129,251,118,193,136,251,118,193,143,251,118,5,5,38,104,5,5,42,104,5,5,182,104,5,5,184,104,5,5,32,9,5,5,34,9,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,28,11,5,5,84,13,5,5,10,104,5,5,18,104,5,5,20,104,5,5,22,104,5,5,24,104,5,5,26,104,5,5,92,104,5,5,80,104,5,5,126,104,5,5,68,104,5,5,82,104,5,5,146,104,5,5,96,104,5,5,118,104,193,91,9,117,193,98,9,117,193,49,9,117,193,56,9,117,193,63,9,117,193,70,9,117,193,105,9,117,193,177,8,117,193,212,8,117,193,65,8,117,193,72,8,117,193,79,8,117,193,86,8,117,193,219,8,117,193,7,9,117,193,28,9,117,193,35,9,117,193,233,8,117,193,240,8,117,193,112,9,117,193,128,118,11,193,135,118,11,193,30,36,9,193,37,36,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,26,117,193,16,26,117,193,23,26,117,193,30,26,117,193,37,26,117,193,44,26,117,193,51,26,117,193,58,26,117,193,65,26,117,193,72,26,117,193,79,26,117,193,86,26,117,193,93,26,117,193,100,26,117,193,107,26,117,193,114,26,117,193,121,26,117,193,128,26,117,193,135,26,117,193,142,26,117,193,149,26,117,5,5,38,9,5,5,40,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,44,9,5,5,46,9,5,5,104,11,5,5,106,11,5,5,108,11,5,5,110,11,193,131,81,117,193,138,81,117,193,142,85,117,193,149,85,117,193,156,85,117,193,163,85,117,193,79,89,117,193,86,89,117,193,93,89,117,193,100,89,117,193,93,79,117,193,191,79,117,193,65,85,117,193,72,85,117,193,189,80,117,193,40,81,117,193,140,39,118,193,147,39,118,193,154,39,118,193,161,39,118,193,168,39,118,193,175,39,118,193,182,39,118,193,189,39,118,193,196,39,118,193,203,39,118,193,210,39,118,193,217,39,118,193,224,39,118,193,231,39,118,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,193,16,122,11,193,58,52,9,193,65,52,9,193,72,52,9,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,193,168,147,17,193,175,147,17,193,182,147,17,193,189,147,17,193,196,147,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,65,122,11,193,72,122,11,193,79,122,11,193,86,122,11,193,93,122,11,193,100,122,11,193,93,52,9,193,100,52,9,193,107,122,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,193,107,52,9,193,114,52,9,193,30,122,11,193,37,122,11,193,44,122,11,193,51,122,11,193,58,122,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,206,192,236,0,206,192,236,0,206,192,236,0,206,192,236,0,206,192,236,0,193,23,223,113,193,30,223,113,193,37,223,113,193,44,223,113,193,51,223,113,193,58,223,113,193,65,223,113,193,72,223,113,193,79,223,113,193,86,223,113,193,93,223,113,193,100,223,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,77,147,17,193,84,147,17,193,219,52,9,193,226,52,9,193,247,61,9,193,45,88,12,193,77,249,113,193,240,52,9,193,247,52,9,193,114,122,11,193,121,122,11,193,128,122,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,254,52,9,193,7,53,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,193,14,53,9,193,21,53,9,5,5,78,99,5,5,82,99,5,5,86,99,5,5,94,99,5,5,98,99,5,5,102,99,5,5,106,99,5,5,110,99,5,5,114,99,5,5,118,99,5,5,122,99,5,5,126,99,5,5,130,99,5,5,134,99,5,5,138,99,5,5,146,99,5,5,150,99,5,5,34,99,5,5,62,99,5,5,90,99,5,5,142,99,5,5,154,99,5,5,158,99,5,5,160,99,5,5,164,99,5,5,166,99,5,5,168,99,5,5,55,9,46,5,58,99,5,5,170,99,5,5,174,99,5,5,176,99,193,9,29,117,193,16,29,117,193,23,29,117,193,30,29,117,193,37,29,117,193,44,29,117,193,51,29,117,193,58,29,117,193,65,29,117,193,72,29,117,193,79,29,117,193,86,29,117,193,93,29,117,193,100,29,117,193,107,29,117,193,114,29,117,193,121,29,117,193,128,29,117,193,135,29,117,193,142,29,117,193,149,29,117,193,156,29,117,193,163,29,117,193,170,29,117,193,177,29,117,193,184,29,117,193,191,29,117,193,198,29,117,255,255,255,255,255,255,255,255,193,2,61,9,193,9,61,9,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,107,61,9,193,9,158,124,193,16,158,124,193,23,158,124,193,30,158,124,193,37,158,124,193,44,158,124,193,51,158,124,193,58,158,124,193,65,158,124,193,72,158,124,193,79,158,124,193,86,158,124,193,93,158,124,193,100,158,124,193,107,158,124,193,114,158,124,193,121,158,124,193,128,158,124,193,135,158,124,193,142,158,124,193,149,158,124,193,156,158,124,255,255,255,255,193,114,61,9,5,5,0,21,5,5,0,23,5,5,0,25,193,121,146,17,193,128,146,17,193,135,146,17,193,142,146,17,193,149,146,17,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,5,5,122,124,5,112,122,124,193,2,124,124,193,9,124,124,193,16,124,124,193,23,124,124,193,30,124,124,193,37,124,124,193,44,124,124,255,255,255,255,255,255,255,255,255,255,255,255,193,135,122,11,193,121,61,9,193,128,61,9,193,135,61,9,193,142,61,9,193,149,61,9,193,156,61,9,193,219,176,113,193,226,176,113,193,233,176,113,193,240,176,113,193,247,176,113,193,37,176,113,193,44,176,113,193,254,176,113,193,7,177,113,193,240,61,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,193,9,30,117,193,16,30,117,193,23,30,117,193,30,30,117,193,37,30,117,193,44,30,117,193,51,30,117,193,58,30,117,193,65,30,117,193,72,30,117,193,79,30,117,193,86,30,117,193,93,30,117,193,100,30,117,193,107,30,117,193,114,30,117,193,121,30,117,193,128,30,117,193,135,30,117,193,142,30,117,193,149,30,117,193,156,30,117,193,163,30,117,193,7,62,9,193,14,62,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,250,123,193,16,250,123,193,23,250,123,193,30,250,123,193,37,250,123,193,44,250,123,193,51,250,123,193,58,250,123,193,65,250,123,193,72,250,123,193,79,250,123,193,86,250,123,193,93,250,123,193,100,250,123,193,107,250,123,193,114,250,123,193,121,250,123,193,128,250,123,193,135,250,123,193,142,250,123,193,149,250,123,193,156,250,123,193,163,250,123,193,170,250,123,193,177,250,123,193,184,250,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,96,9,5,5,98,9,5,5,100,9,5,5,102,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,202,16,5,5,204,16,5,5,206,16,5,5,208,16,5,5,210,16,5,5,212,16,5,5,214,16,5,5,216,16,5,5,218,16,5,5,220,16,5,5,222,16,5,5,224,16,5,5,226,16,5,5,228,16,5,5,230,16,5,5,232,16,193,9,204,124,193,16,204,124,193,23,204,124,193,30,204,124,193,37,204,124,193,44,204,124,193,51,204,124,193,58,204,124,193,65,204,124,193,72,204,124,193,79,204,124,193,86,204,124,193,93,204,124,193,100,204,124,193,107,204,124,193,114,204,124,193,121,204,124,193,128,204,124,193,135,204,124,193,142,204,124,193,149,204,124,193,156,204,124,193,163,204,124,193,170,204,124,193,177,204,124,193,184,204,124,193,191,204,124,193,198,204,124,193,205,204,124,193,212,204,124,255,255,255,255,193,2,104,9,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,7,206,124,193,14,206,124,193,21,206,124,193,28,206,124,193,35,206,124,193,42,206,124,193,49,206,124,193,56,206,124,193,9,104,9,5,5,0,21,5,5,0,23,193,2,146,17,193,9,146,17,193,16,146,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,50,101,193,16,50,101,193,23,50,101,193,30,50,101,193,37,50,101,193,44,50,101,193,51,50,101,193,58,50,101,193,65,50,101,193,72,50,101,193,79,50,101,193,86,50,101,193,93,50,101,193,100,50,101,193,107,50,101,193,114,50,101,193,121,50,101,193,128,50,101,193,135,50,101,193,142,50,101,193,149,50,101,193,156,50,101,5,5,0,21,193,100,146,17,193,107,146,17,193,114,146,17,5,5,0,23,5,5,0,25,255,255,255,255,255,255,255,255,255,255,255,255,193,16,104,9,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,255,255,255,255,193,23,104,9,193,30,104,9,193,37,104,9,193,44,104,9,193,51,104,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,41,5,0,19,41,5,0,21,41,5,0,23,41,5,0,25,41,5,0,27,41,5,0,29,41,5,0,31,41,5,0,33,41,5,0,35,46,5,0,37,48,5,121,12,46,5,143,12,48,5,131,12,44,5,142,9,44,5,144,9,255,255,255,255,46,5,0,42,46,5,0,50,46,5,0,70,46,5,0,88,49,5,24,51,46,5,0,56,46,5,0,62,46,5,0,64,46,5,0,66,46,5,0,68,46,5,0,72,46,5,0,78,46,5,0,80,255,255,255,255,255,255,255,255,255,255,255,255,31,5,0,21,31,5,0,23,31,5,0,25,31,5,0,27,31,5,0,29,31,5,0,31,31,5,0,33,31,5,0,35,34,5,0,37,197,98,71,0,197,2,72,0,197,162,72,0,197,194,73,0,197,98,74,0,197,2,75,0,197,162,75,0,197,66,76,0,197,226,76,0,197,130,77,0,197,34,79,0,197,3,5,0,197,99,10,0,197,67,11,0,197,163,11,0,197,3,12,0,197,99,12,0,197,195,12,0,197,35,13,0,197,131,13,0,197,100,5,0,197,228,5,0,197,100,6,0,197,228,6,0,197,100,7,0,197,228,7,0,197,100,8,0,197,228,8,0,197,100,9,0,197,228,9,0,197,196,10,0,197,98,67,0,197,2,73,0,197,34,74,0,197,194,74,0,197,98,75,0,197,2,76,0,197,162,76,0,197,66,77,0,197,226,77,0,197,163,71,0,197,67,72,0,197,227,72,0,197,3,74,0,197,163,74,0,197,67,75,0,197,227,75,0,197,131,76,0,197,35,77,0,197,195,77,0,197,99,79,0,197,227,13,0,197,163,14,0,197,99,15,0,197,35,16,0,197,130,66,0,197,66,66,0,197,34,67,0,197,34,78,0,197,162,83,0,197,130,87,0,197,98,90,0,197,2,92,0,197,226,92,0,197,34,94,0,197,226,94,0,31,5,0,19,31,5,0,19,193,168,11,13,193,175,11,13,193,182,11,13,197,67,14,0,197,3,15,0,197,195,15,0,197,131,16,0,197,67,17,0,197,3,18,0,197,195,18,0,197,131,19,0,197,67,20,0,197,3,21,0,197,195,21,0,197,131,22,0,197,67,23,0,197,3,24,0,197,195,24,0,197,131,25,0,197,227,16,0,197,163,17,0,197,99,18,0,197,35,19,0,197,227,19,0,197,163,20,0,197,99,21,0,197,35,22,0,197,227,22,0,197,163,23,0,197,99,24,0,197,35,25,0,197,227,25,0,197,163,26,0,197,99,27,0,197,35,28,0,197,227,28,0,197,163,29,0,197,99,30,0,197,35,31,0,197,227,31,0,197,163,32,0,168,5,0,42,168,5,0,44,168,5,0,46,168,5,0,48,168,5,0,50,168,5,0,52,168,5,0,54,168,5,0,56,168,5,0,58,168,5,0,60,197,67,26,0,197,3,27,0,197,195,27,0,197,131,28,0,197,67,29,0,197,3,30,0,197,195,30,0,197,131,31,0,197,67,32,0,197,3,33,0,197,195,47,0,168,5,0,46,168,5,0,76,197,226,116,0,197,98,210,0,5,5,93,12,180,5,0,42,177,5,0,44,177,5,0,46,177,5,0,48,180,5,0,50,177,5,0,52,177,5,0,54,180,5,0,56,180,5,0,58,177,5,0,60,180,5,0,62,180,5,0,64,180,5,0,66,180,5,0,68,180,5,0,70,180,5,0,72,197,99,33,0,197,67,34,0,197,35,35,0,197,3,36,0,197,227,36,0,197,195,37,0,197,163,38,0,197,131,39,0,197,3,42,0,197,99,43,0,197,67,44,0,197,35,45,0,197,3,46,0,197,227,46,0,197,196,33,0,197,164,34,0,197,132,35,0,197,100,36,0,197,68,37,0,197,36,38,0,197,4,39,0,197,228,39,0,197,100,42,0,197,196,43,0,197,164,44,0,197,132,45,0,197,100,46,0,197,68,47,0,197,228,42,0,197,103,40,0,197,70,41,0,255,255,255,255,198,163,119,0,198,35,121,0,198,99,120,0,198,163,125,0,198,131,121,0,198,99,123,0,198,3,120,0,198,3,123,0,198,195,120,0,198,35,124,0,198,35,127,0,198,3,129,0,198,163,128,0,198,227,127,0,198,195,132,0,198,3,126,0,198,195,126,0,198,67,128,0,198,131,127,0,198,35,130,0,198,227,124,0,198,99,129,0,198,3,132,0,198,131,130,0,198,195,123,0,198,227,121,0,198,67,125,0,198,99,126,0,198,195,129,0,198,67,122,0,198,99,132,0,198,131,124,0,198,227,130,0,198,163,122,0,198,67,131,0,198,163,131,0,198,97,183,0,198,97,189,0,198,1,193,0,198,193,205,0,197,98,71,0,197,34,79,0,197,2,85,0,197,34,88,0,197,194,91,0,197,66,92,0,197,226,93,0,197,98,94,0,197,131,183,0,197,194,79,0,197,2,80,0,197,194,80,0,197,2,81,0,197,66,81,0,197,130,81,0,197,194,81,0,197,2,82,0,197,66,82,0,197,2,85,0,197,66,85,0,197,226,80,0,197,130,85,0,197,194,85,0,197,2,86,0,32,5,4,12,16,5,0,42,16,5,0,44,16,5,0,46,16,5,0,48,16,5,0,50,16,5,0,52,16,5,0,54,16,5,0,56,16,5,0,58,16,5,0,60,16,5,0,62,16,5,0,64,16,5,0,66,16,5,0,68,16,5,0,70,16,5,0,72,16,5,0,74,16,5,0,76,16,5,0,78,16,5,0,80,16,5,0,82,16,5,0,84,16,5,0,86,16,5,0,88,16,5,0,90,16,5,0,92,16,5,150,9,32,5,137,12,16,5,152,9,32,5,141,12,32,5,184,9,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,5,5,168,9,5,5,170,9,5,5,172,9,5,5,174,9,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,5,5,176,9,5,5,178,9,193,27,213,12,193,34,213,12,206,160,230,0,206,160,230,0,206,160,230,0,5,5,180,9,5,5,182,9,5,5,184,9,5,5,186,9,5,5,188,9,5,5,190,9,5,5,192,9,5,5,194,9,5,5,196,9,5,5,198,9,5,5,200,9,5,5,202,9,5,5,204,9,5,5,206,9,5,5,208,9,5,5,210,9,5,5,212,9,5,5,214,9,5,5,216,9,5,5,218,9,5,5,220,9,5,5,222,9,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,5,5,224,9,5,5,226,9,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,5,5,228,9,5,5,230,9,5,5,232,9,5,5,234,9,5,5,236,9,5,5,238,9,5,5,240,9,5,5,242,9,5,5,244,9,5,5,246,9,193,111,206,12,193,118,206,12,193,125,206,12,193,132,206,12,193,139,206,12,193,146,206,12,193,153,206,12,193,160,206,12,193,167,206,12,193,174,206,12,193,181,206,12,193,188,206,12,193,195,206,12,193,202,206,12,193,209,206,12,193,216,206,12,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,5,5,248,9,5,5,250,9,5,5,252,9,5,5,254,9,5,5,2,10,5,5,4,10,5,5,6,10,5,5,8,10,5,5,10,10,5,5,12,10,5,5,14,10,5,5,16,10,5,5,18,10,5,5,20,10,31,5,0,21,31,5,0,23,31,5,0,25,31,5,0,27,31,5,0,29,31,5,0,31,31,5,0,33,31,5,0,35,34,5,0,37,197,98,71,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,5,5,62,10,5,5,64,10,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,198,99,135,0,198,35,133,0,198,131,133,0,198,67,134,0,198,195,135,0,198,163,134,0,198,35,136,0,198,227,133,0,198,3,135,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,225,190,0,198,161,182,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,34,73,1,197,226,123,1,197,98,124,1,197,226,128,1,197,98,129,1,197,66,108,1,197,162,109,1,197,194,111,1,197,66,113,1,197,66,112,1,197,34,103,1,197,162,118,1,197,226,127,1,197,194,107,1,197,34,109,1,197,66,111,1,197,194,112,1,197,66,106,1,197,66,115,1,197,98,130,1,197,66,99,1,197,194,100,1,197,226,101,1,197,2,108,1,197,98,109,1,197,130,111,1,197,162,130,1,197,226,133,1,197,98,69,1,197,162,69,1,5,5,98,10,5,5,100,10,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,5,5,106,10,5,5,108,10,5,5,110,10,5,5,112,10,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,193,44,26,11,193,51,26,11,193,58,26,11,193,65,26,11,193,72,26,11,193,79,26,11,193,86,26,11,193,93,26,11,193,100,26,11,193,107,26,11,193,114,26,11,193,121,26,11,193,128,26,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,20,110,5,5,24,110,5,5,132,110,5,5,134,110,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,44,11,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,21,5,5,0,23,5,5,0,25,193,182,86,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,5,5,140,113,5,5,144,113,5,5,48,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,102,11,193,16,102,11,193,23,102,11,193,30,102,11,193,37,102,11,193,44,102,11,193,51,102,11,193,114,208,116,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,209,116,193,16,209,116,193,23,209,116,193,30,209,116,193,51,209,116,193,65,209,116,193,58,209,116,193,72,209,116,193,79,209,116,193,37,209,116,193,44,209,116,193,86,209,116,5,5,211,116,5,5,215,116,193,2,217,116,193,9,217,116,193,93,102,11,193,100,102,11,193,107,102,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,33,5,5,0,35,5,5,0,37,193,203,147,17,193,210,147,17,193,217,147,17,193,224,147,17,193,231,147,17,193,238,147,17,193,245,147,17,193,252,147,17,193,5,148,17,193,12,148,17,255,255,255,255,255,255,255,255,255,255,255,255,193,114,102,11,193,121,102,11,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,23,122,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,161,124,193,16,161,124,193,23,161,124,193,30,161,124,193,37,161,124,193,44,161,124,193,51,161,124,193,58,161,124,193,65,161,124,193,72,161,124,193,79,161,124,193,86,161,124,193,93,161,124,193,100,161,124,193,107,161,124,193,114,161,124,193,121,161,124,193,128,161,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,191,122,11,193,198,122,11,193,205,122,11,193,212,122,11,255,255,255,255,255,255,255,255,255,255,255,255,193,182,208,113,193,84,208,113,193,12,124,11,193,91,208,113,193,154,208,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,168,13,193,63,86,12,193,70,86,12,193,77,86,12,193,84,86,12,193,91,86,12,193,98,86,12,193,105,86,12,193,112,86,12,193,119,86,12,193,126,86,12,193,133,86,12,193,140,86,12,193,147,86,12,193,154,86,12,193,161,86,12,193,168,86,12,193,175,86,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,126,11,193,91,241,123,193,98,241,123,193,23,100,13,193,30,100,13,193,37,128,11,193,235,242,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,193,65,172,17,193,72,172,17,193,79,172,17,193,86,172,17,193,93,172,17,193,9,117,124,193,16,117,124,193,23,117,124,193,30,117,124,193,37,117,124,193,44,117,124,193,51,117,124,193,58,117,124,193,65,117,124,193,72,117,124,193,79,117,124,193,86,117,124,193,93,117,124,193,100,117,124,193,107,117,124,193,114,117,124,193,121,117,124,193,128,117,124,193,135,117,124,193,142,117,124,193,149,117,124,193,156,117,124,193,163,117,124,193,170,117,124,193,177,117,124,193,184,117,124,193,191,117,124,193,198,117,124,193,205,117,124,5,5,0,21,193,79,146,17,193,93,128,11,197,226,17,1,197,130,20,1,197,195,19,1,197,99,19,1,197,194,11,1,197,2,12,1,197,98,18,1,197,35,20,1,197,34,18,1,197,194,20,1,197,162,17,1,197,226,16,1,197,66,12,1,197,162,49,0,197,98,49,0,5,5,4,12,255,255,255,255,255,255,255,255,197,99,35,1,197,98,36,1,197,131,34,1,255,255,255,255,197,194,35,1,197,3,36,1,197,130,11,1,197,2,11,1,197,34,35,1,197,66,34,1,197,162,36,1,5,5,6,12,193,16,22,12,255,255,255,255,193,23,22,12,197,226,49,0,197,35,249,0,197,34,250,0,197,67,248,0,255,255,255,255,197,130,249,0,197,195,249,0,197,130,234,0,197,2,234,0,197,226,248,0,197,2,248,0,197,98,250,0,197,98,50,0,197,34,50,0,197,162,50,0,197,34,1,1,197,130,3,1,197,195,2,1,197,99,2,1,255,255,255,255,255,255,255,255,197,162,1,1,197,35,3,1,197,98,1,1,197,194,3,1,197,226,0,1,197,98,0,1,255,255,255,255,197,34,51,0,197,226,50,0,197,98,51,0,197,195,26,1,197,67,33,1,197,4,24,1,197,132,30,1,197,68,22,1,197,196,28,1,197,196,25,1,197,68,32,1,197,35,27,1,197,163,33,1,197,132,24,1,197,4,31,1,197,196,22,1,197,68,29,1,197,68,26,1,197,196,32,1,197,162,227,0,197,194,228,0,197,67,227,0,197,66,229,0,197,99,226,0,255,255,255,255,197,34,228,0,197,99,228,0,197,226,227,0,197,2,229,0,197,2,227,0,197,34,226,0,197,130,229,0,193,9,22,12,5,5,32,96,193,9,22,12,5,5,48,93,5,5,50,93,5,5,40,71,5,5,52,93,5,5,30,43,5,5,88,96,197,162,123,0,197,98,195,0,5,5,56,77,46,5,12,87,193,30,52,12,193,37,52,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,60,118,5,5,62,118,5,5,64,118,5,5,66,118,5,5,68,118,5,5,70,118,5,5,72,118,5,5,74,118,5,5,76,118,5,5,78,118,5,5,80,118,5,5,82,118,5,5,84,118,5,5,86,118,5,5,88,118,5,5,90,118,193,240,143,103,193,247,143,103,193,254,143,103,193,7,144,103,193,31,146,103,193,38,146,103,193,45,146,103,193,52,146,103,193,108,153,103,193,115,153,103,193,122,153,103,193,129,153,103,193,192,153,103,193,199,153,103,193,206,153,103,193,213,153,103,193,128,56,12,193,135,56,12,193,142,56,12,193,149,56,12,193,156,56,12,193,163,56,12,193,170,56,12,193,177,56,12,193,184,56,12,193,191,56,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,198,56,12,193,205,56,12,193,212,56,12,193,219,56,12,193,226,56,12,193,233,56,12,193,240,56,12,193,247,56,12,193,254,56,12,193,7,57,12,193,14,57,12,193,21,57,12,193,28,57,12,193,35,57,12,193,42,57,12,193,49,57,12,193,56,57,12,193,63,57,12,193,70,57,12,193,77,57,12,193,84,57,12,193,91,57,12,193,98,57,12,5,5,59,12,5,5,61,12,5,5,63,12,5,5,65,12,5,5,67,12,5,5,69,12,5,5,71,12,5,5,73,12,5,5,75,12,193,2,77,12,193,9,77,12,160,5,88,93,5,5,88,93,160,5,104,93,5,5,104,93,160,5,20,57,5,5,20,57,197,34,196,0,197,226,195,0,160,5,64,93,5,5,64,93,160,5,66,93,5,5,66,93,160,5,68,93,5,5,68,93,5,5,6,53,5,5,6,79,197,162,107,0,197,98,107,0,197,162,110,0,197,98,110,0,197,34,111,0,197,226,110,0,197,226,111,0,197,162,111,0,197,98,112,0,197,34,112,0,197,226,112,0,197,162,112,0,160,5,20,47,5,5,20,47,160,5,40,65,5,5,40,65,160,112,0,76,5,112,0,76,160,120,0,78,5,120,0,78,160,120,0,80,5,120,0,80,5,5,79,12,193,2,81,12,193,9,81,12,160,5,90,93,5,5,90,93,160,5,34,83,5,5,32,65,5,5,92,93,160,5,18,69,5,5,18,69,160,5,10,47,5,5,10,47,5,5,12,47,5,5,10,57,160,5,16,45,5,5,16,45,160,5,10,53,5,5,10,53,197,34,102,0,197,226,101,0,197,2,167,0,197,194,166,0,197,162,196,0,197,98,196,0,5,5,20,71,5,5,16,71,5,5,18,71,5,5,22,71,5,5,24,71,5,5,6,77,5,5,10,77,5,5,44,77,5,5,46,77,5,5,36,77,5,5,48,77,5,5,50,77,5,5,52,77,5,5,24,79,5,5,8,83,5,5,22,83,5,5,16,83,5,5,18,83,5,5,30,83,5,5,16,89,5,5,18,89,5,5,20,89,5,5,8,89,5,5,10,89,5,5,12,89,5,5,14,89,5,5,14,91,193,16,81,12,46,5,20,57,32,5,26,65,46,5,18,65,32,5,30,83,197,227,105,0,197,67,106,0,165,5,0,46,197,162,51,0,193,9,97,12,197,3,115,0,197,99,115,0,158,5,28,51,193,16,97,12,197,226,51,0,22,5,0,54,165,5,0,56,165,5,0,56,165,5,0,56,22,5,0,56,196,178,5,56,165,5,0,58,165,5,0,58,165,5,0,64,22,5,0,64,193,23,97,12,165,5,0,68,197,194,162,0,193,30,97,12,193,37,97,12,165,5,0,72,172,5,0,74,165,5,0,76,165,5,0,76,165,5,0,76,193,44,97,12,193,51,97,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,30,85,12,193,37,85,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,67,122,1,197,35,146,1,197,164,70,1,197,36,70,1,197,164,168,1,197,36,119,1,197,132,98,1,197,36,121,1,197,196,121,1,197,163,119,1,197,18,120,1,197,40,91,1,5,5,242,13,193,72,85,12,255,255,255,255,255,255,255,255,198,161,164,0,198,129,164,0,198,65,164,0,198,97,164,0,198,2,165,0,198,194,164,0,49,5,218,102,38,5,218,102,16,5,218,102,27,5,218,102,49,5,216,102,38,5,216,102,16,5,216,102,27,5,216,102,46,5,250,102,32,5,250,102,197,66,191,1,197,2,191,1,193,79,85,12,193,86,85,12,193,93,85,12,193,100,85,12,193,107,85,12,193,114,85,12,193,121,85,12,193,128,85,12,193,135,85,12,193,142,85,12,193,149,85,12,193,156,85,12,193,163,85,12,193,170,85,12,193,177,85,12,193,184,85,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,33,163,0,198,1,163,0,198,193,162,0,198,225,162,0,44,5,228,102,30,5,228,102,198,97,161,0,198,33,161,0,46,5,230,102,32,5,230,102,197,226,183,1,198,161,165,0,198,129,165,0,5,5,20,108,5,5,24,108,5,5,122,108,5,5,124,108,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,205,85,12,5,5,96,108,5,5,18,16,5,5,20,16,5,5,22,16,5,5,24,16,5,5,26,16,5,5,28,16,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,42,16,5,5,44,16,5,5,46,16,193,212,85,12,193,219,85,12,193,226,85,12,193,233,85,12,193,240,85,12,193,247,85,12,5,5,160,13,193,254,85,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,48,16,5,5,50,16,5,5,52,16,5,5,54,16,5,5,56,16,5,5,58,16,5,5,60,16,5,5,62,16,5,5,64,16,5,5,66,16,5,5,68,16,5,5,70,16,5,5,72,16,5,5,74,16,5,5,76,16,5,5,78,16,5,5,80,16,5,5,82,16,5,5,84,16,5,5,86,16,5,5,88,16,193,7,86,12,193,14,86,12,193,21,86,12,193,28,86,12,193,35,86,12,193,42,86,12,193,49,86,12,193,56,86,12,5,5,162,13,5,5,164,13,5,5,166,13,5,5,124,112,5,5,126,112,5,5,128,112,5,5,130,112,5,5,132,112,255,255,255,255,201,64,18,0,201,160,19,0,5,5,142,112,255,255,255,255,5,5,144,112,5,5,146,112,5,5,148,112,5,5,152,112,197,130,198,1,193,189,86,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,2,198,1,197,66,198,1,197,66,199,1,5,5,150,112,5,5,90,16,5,5,92,16,5,5,94,16,5,5,96,16,5,5,98,16,5,5,100,16,5,5,102,16,5,5,14,112,5,5,22,112,5,5,26,112,5,5,134,112,5,5,136,112,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,104,16,5,5,106,16,5,5,108,16,5,5,110,16,5,5,112,16,5,5,114,16,5,5,116,16,5,5,118,16,5,5,120,16,193,196,86,12,197,130,197,1,197,194,197,1,197,130,198,1,197,194,198,1,197,2,199,1,197,66,197,1,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,193,203,86,12,193,210,86,12,193,217,86,12,193,224,86,12,193,58,162,113,255,255,255,255,255,255,255,255,255,255,255,255,5,5,30,16,5,5,32,16,5,5,34,16,5,5,36,16,5,5,38,16,5,5,40,16,193,231,86,12,193,238,86,12,5,5,158,13,193,245,86,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,62,116,5,5,66,116,197,130,121,2,5,5,70,116,5,5,74,116,5,5,78,116,5,5,82,116,197,2,122,2,5,5,86,116,5,5,90,116,5,5,94,116,5,5,98,116,197,130,122,2,5,5,102,116,5,5,106,116,5,5,110,116,5,5,114,116,5,5,118,116,201,38,233,0,201,38,237,0,5,5,132,116,5,5,136,116,5,5,140,116,5,5,144,116,5,5,148,116,197,2,120,2,5,112,102,116,5,112,118,116,5,112,122,116,255,255,255,255,193,110,87,12,193,117,87,12,193,124,81,117,193,16,85,117,193,117,81,117,193,2,89,117,193,114,89,117,193,128,89,117,193,184,89,117,193,58,93,117,193,72,93,117,193,93,93,117,193,100,93,117,193,65,93,117,193,79,93,117,193,86,93,117,193,231,80,117,193,107,93,117,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,114,93,117,193,121,93,117,193,16,89,117,193,142,89,117,193,10,88,12,193,17,88,12,193,51,79,117,193,114,79,117,193,135,79,117,193,156,79,117,193,205,79,117,193,247,79,117,193,21,80,117,193,35,80,117,193,49,80,117,193,70,80,117,193,154,80,117,193,182,80,117,193,2,85,117,193,23,85,117,193,37,85,117,193,224,80,117,5,5,98,13,193,44,85,117,193,177,79,117,193,68,81,117,193,149,93,117,193,156,93,117,193,163,93,117,193,24,88,12,193,31,88,12,193,38,88,12,193,75,81,117,193,128,93,117,193,135,93,117,193,142,93,117,193,142,79,117,193,226,79,117,193,52,88,12,193,59,88,12,193,66,88,12,193,73,88,12,193,80,88,12,193,87,88,12,193,94,88,12,193,101,88,12,193,108,88,12,193,115,88,12,193,122,88,12,193,129,88,12,193,136,88,12,193,143,88,12,193,150,88,12,193,157,88,12,193,164,88,12,193,171,88,12,193,178,88,12,193,185,88,12,193,192,88,12,193,199,88,12,193,206,88,12,193,213,88,12,193,220,88,12,193,227,88,12,193,234,88,12,193,241,88,12,193,248,88,12,193,255,88,12,193,8,89,12,193,15,89,12,197,163,90,0,197,35,93,0,197,68,80,0,197,131,92,0,197,68,73,0,46,5,0,48,197,2,136,0,197,67,136,0,197,230,136,0,197,104,151,0,197,35,191,0,197,99,205,0,197,195,208,0,193,2,97,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,130,191,0,197,227,193,0,197,226,194,0,193,58,97,12,165,5,0,92,193,65,97,12,155,5,86,96,193,72,97,12,165,5,0,92,193,79,97,12,156,5,0,62,196,146,156,42,165,5,0,44,165,5,0,46,193,86,97,12,22,5,0,50,165,5,0,50,165,5,0,52,160,5,18,53,165,5,0,66,22,5,0,70,32,5,6,101,32,5,8,101,32,5,10,101,32,5,12,101,22,5,0,58,193,93,97,12,197,3,131,0,27,5,50,96,16,5,10,96,160,5,10,96,177,5,50,96,32,5,119,12,193,100,97,12,193,107,97,12,193,114,97,12,193,121,97,12,165,5,0,48,22,5,0,48,22,5,0,50,22,5,0,58,22,5,0,60,193,128,97,12,193,45,160,12,193,135,97,12,197,163,106,0,5,5,18,53,193,142,97,12,197,67,70,0,197,3,71,0,197,228,67,0,197,195,68,0,197,99,78,0,197,131,69,0,197,195,78,0,197,67,84,0,197,195,87,0,197,227,69,0,197,3,91,0,197,163,70,0,197,163,84,0,197,99,91,0,197,131,93,0,197,162,67,0,5,5,144,16,5,5,146,16,5,5,148,16,160,5,18,47,5,5,18,47,5,5,0,31,5,5,150,16,5,5,152,16,5,5,154,16,197,195,66,0,193,149,97,12,193,156,97,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,99,12,5,5,103,12,5,5,101,12,5,5,105,12,193,2,107,12,193,9,107,12,193,16,107,12,193,23,107,12,193,30,107,12,193,37,107,12,197,34,52,0,197,98,52,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,197,162,52,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,197,226,52,0,197,98,53,0,197,34,53,0,193,126,108,12,193,133,108,12,193,140,108,12,193,147,108,12,193,154,108,12,193,161,108,12,193,168,108,12,193,175,108,12,193,182,108,12,193,189,108,12,193,196,108,12,193,203,108,12,193,210,108,12,193,217,108,12,193,224,108,12,193,231,108,12,193,238,108,12,193,245,108,12,193,252,108,12,193,5,109,12,193,12,109,12,193,19,109,12,193,26,109,12,193,33,109,12,193,40,109,12,193,47,109,12,193,54,109,12,193,61,109,12,193,68,109,12,193,75,109,12,193,82,109,12,193,89,109,12,193,96,109,12,193,103,109,12,193,110,109,12,193,117,109,12,193,124,109,12,193,131,109,12,193,138,109,12,193,145,109,12,193,152,109,12,193,159,109,12,193,166,109,12,193,173,109,12,193,180,109,12,193,187,109,12,193,194,109,12,193,201,109,12,193,208,109,12,193,215,109,12,5,5,111,12,193,2,113,12,197,162,53,0,193,9,113,12,193,16,113,12,5,5,115,12,193,2,117,12,197,226,53,0,193,9,117,12,193,16,117,12,197,34,54,0,193,23,117,12,193,37,117,12,193,44,117,12,193,51,117,12,5,5,119,12,5,5,143,12,193,9,145,12,193,16,145,12,5,5,147,12,193,2,151,12,193,9,151,12,193,16,151,12,193,23,151,12,193,30,151,12,193,37,151,12,193,51,151,12,193,65,151,12,193,72,151,12,193,79,151,12,166,5,86,96,32,5,115,12,27,5,6,96,23,5,8,96,16,5,10,96,16,5,14,96,27,5,16,96,16,5,24,96,16,5,28,96,23,5,30,96,27,5,32,96,24,5,36,96,16,5,38,96,24,5,42,96,16,5,44,96,16,5,46,96,16,5,48,96,27,5,50,96,24,5,60,96,23,5,66,96,23,5,66,96,16,5,74,96,16,5,76,96,23,5,78,96,16,5,80,96,16,5,82,96,16,5,86,96,32,5,111,12,27,5,16,96,23,5,30,96,24,5,36,96,23,5,78,96,27,5,16,96,16,5,24,96,16,5,28,96,23,5,30,96,27,5,32,96,24,5,36,96,16,5,38,96,24,5,42,96,16,5,44,96,16,5,46,96,16,5,48,96,27,5,50,96,24,5,60,96,23,5,66,96,23,5,66,96,16,5,74,96,16,5,76,96,23,5,78,96,16,5,80,96,16,5,82,96,16,5,86,96,32,5,111,12,27,5,16,96,23,5,30,96,24,5,36,96,23,5,78,96,24,5,60,96,27,5,50,96,177,5,6,96,165,5,8,96,160,5,10,96,166,5,14,96,16,5,38,96,24,5,42,96,16,5,44,96,16,5,46,96,16,5,48,96,27,5,50,96,24,5,60,96,23,5,66,96,23,5,66,96,16,5,74,96,16,5,76,96,23,5,78,96,16,5,80,96,16,5,82,96,16,5,86,96,32,5,111,12,27,5,16,96,23,5,30,96,24,5,36,96,23,5,78,96,24,5,60,96,27,5,50,96,177,5,6,96,165,5,8,96,160,5,10,96,166,5,14,96,177,5,16,96,172,5,24,96,172,5,28,96,172,5,30,96,177,5,32,96,176,5,36,96,24,5,60,96,23,5,66,96,23,5,66,96,16,5,74,96,16,5,76,96,23,5,78,96,16,5,80,96,16,5,82,96,16,5,86,96,32,5,111,12,27,5,16,96,23,5,30,96,24,5,36,96,23,5,78,96,24,5,60,96,27,5,50,96,177,5,6,96,165,5,8,96,160,5,10,96,166,5,14,96,177,5,16,96,172,5,24,96,172,5,28,96,172,5,30,96,177,5,32,96,176,5,36,96,172,5,38,96,168,5,42,96,172,5,44,96,172,5,46,96,172,5,48,96,177,5,50,96,16,5,80,96,16,5,82,96,16,5,86,96,32,5,111,12,27,5,16,96,23,5,30,96,24,5,36,96,23,5,78,96,24,5,60,96,27,5,50,96,172,5,18,96,16,5,18,96,255,255,255,255,255,255,255,255,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,202,40,249,2,202,73,249,2,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,24,5,60,96,27,5,50,96,177,5,6,96,165,5,8,96,160,5,10,96,166,5,14,96,177,5,16,96,172,5,24,96,172,5,28,96,172,5,30,96,177,5,32,96,176,5,36,96,172,5,38,96,168,5,42,96,172,5,44,96,172,5,46,96,172,5,48,96,177,5,50,96,168,5,60,96,172,5,30,96,172,5,66,96,172,5,74,96,177,5,76,96,165,5,78,96,160,5,80,96,172,5,82,96,166,5,86,96,32,5,115,12,27,5,6,96,23,5,8,96,16,5,10,96,16,5,14,96,177,5,16,96,172,5,24,96,172,5,28,96,172,5,30,96,177,5,32,96,176,5,36,96,172,5,38,96,168,5,42,96,172,5,44,96,172,5,46,96,172,5,48,96,177,5,50,96,168,5,60,96,172,5,30,96,172,5,66,96,172,5,74,96,177,5,76,96,165,5,78,96,160,5,80,96,172,5,82,96,166,5,86,96,32,5,115,12,27,5,6,96,23,5,8,96,16,5,10,96,16,5,14,96,27,5,16,96,16,5,24,96,16,5,28,96,23,5,30,96,27,5,32,96,24,5,36,96,172,5,38,96,168,5,42,96,172,5,44,96,172,5,46,96,172,5,48,96,177,5,50,96,168,5,60,96,172,5,30,96,172,5,66,96,172,5,74,96,177,5,76,96,165,5,78,96,160,5,80,96,172,5,82,96,166,5,86,96,32,5,115,12,27,5,6,96,23,5,8,96,16,5,10,96,16,5,14,96,27,5,16,96,16,5,24,96,16,5,28,96,23,5,30,96,27,5,32,96,24,5,36,96,16,5,38,96,24,5,42,96,16,5,44,96,16,5,46,96,16,5,48,96,27,5,50,96,168,5,60,96,172,5,30,96,172,5,66,96,172,5,74,96,177,5,76,96,165,5,78,96,160,5,80,96,172,5,82,96,166,5,86,96,32,5,115,12,27,5,6,96,23,5,8,96,16,5,10,96,16,5,14,96,27,5,16,96,16,5,24,96,16,5,28,96,23,5,30,96,27,5,32,96,24,5,36,96,16,5,38,96,24,5,42,96,16,5,44,96,16,5,46,96,16,5,48,96,27,5,50,96,24,5,60,96,23,5,66,96,23,5,66,96,16,5,74,96,16,5,76,96,23,5,78,96,32,5,36,101,46,5,6,101,46,5,12,101,46,5,14,101,32,5,26,101,46,5,28,101,32,5,30,101,32,5,44,101,32,5,48,101,24,5,121,12,197,98,60,1,197,34,60,1,197,67,61,1,197,227,60,1,197,130,51,1,197,194,51,1,197,2,52,1,197,130,52,1,197,2,53,1,197,66,53,1,197,130,53,1,197,2,54,1,197,194,54,1,255,255,255,255,197,2,55,1,197,130,55,1,197,34,57,1,197,226,56,1,197,162,57,1,255,255,255,255,197,226,57,1,255,255,255,255,197,162,54,0,193,49,158,12,197,194,58,0,193,56,158,12,193,63,158,12,193,70,158,12,193,77,158,12,193,84,158,12,193,91,158,12,193,98,158,12,193,105,158,12,193,112,158,12,193,119,158,12,197,130,58,0,197,98,54,0,197,130,55,0,197,2,59,0,197,66,59,0,193,126,158,12,193,133,158,12,197,130,59,0,197,194,59,0,193,140,158,12,193,147,158,12,197,2,60,0,197,66,60,0,193,154,158,12,193,161,158,12,193,168,158,12,193,175,158,12,193,182,158,12,193,189,158,12,193,86,151,12,193,93,151,12,193,100,151,12,193,107,151,12,197,194,55,0,193,114,151,12,197,2,56,0,193,121,151,12,193,128,151,12,193,135,151,12,193,142,151,12,5,5,153,12,197,66,56,0,197,131,56,0,5,5,155,12,197,226,56,0,197,35,57,0,193,2,157,12,193,9,157,12,193,16,157,12,193,23,157,12,193,30,157,12,193,37,157,12,193,44,157,12,193,51,157,12,193,58,157,12,193,65,157,12,193,72,157,12,193,79,157,12,193,86,157,12,193,93,157,12,193,100,157,12,193,41,213,12,193,48,213,12,193,55,213,12,193,62,213,12,193,69,213,12,193,76,213,12,193,83,213,12,193,90,213,12,193,97,213,12,193,104,213,12,193,111,213,12,193,118,213,12,197,68,56,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,193,107,157,12,197,130,57,0,193,114,157,12,193,121,157,12,197,194,57,0,193,128,157,12,193,135,157,12,197,2,58,0,193,142,157,12,197,66,58,0,193,149,157,12,193,156,157,12,193,163,157,12,193,170,157,12,193,177,157,12,193,184,157,12,193,191,157,12,193,198,157,12,193,205,157,12,193,212,157,12,193,219,157,12,193,226,157,12,193,233,157,12,193,240,157,12,193,247,157,12,193,254,157,12,193,7,158,12,193,14,158,12,193,21,158,12,193,28,158,12,193,35,158,12,193,42,158,12,197,130,60,0,197,194,60,0,193,196,158,12,193,203,158,12,197,130,61,0,197,194,61,0,193,210,158,12,193,217,158,12,197,2,62,0,197,66,62,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,197,2,61,0,197,66,61,0,197,130,62,0,197,194,62,0,193,43,161,12,193,50,161,12,193,57,161,12,193,64,161,12,193,71,161,12,193,78,161,12,197,2,64,0,197,66,64,0,197,130,64,0,197,194,64,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,197,2,63,0,197,66,63,0,197,130,63,0,197,194,63,0,193,208,159,12,193,215,159,12,193,222,159,12,193,229,159,12,193,236,159,12,193,243,159,12,193,250,159,12,193,3,160,12,193,10,160,12,193,17,160,12,193,24,160,12,193,31,160,12,193,38,160,12,193,52,160,12,193,59,160,12,193,66,160,12,193,73,160,12,193,80,160,12,193,87,160,12,193,94,160,12,193,101,160,12,193,108,160,12,193,115,160,12,193,122,160,12,193,129,160,12,193,136,160,12,193,143,160,12,193,150,160,12,193,157,160,12,193,164,160,12,193,171,160,12,193,178,160,12,193,185,160,12,193,192,160,12,193,199,160,12,193,206,160,12,193,213,160,12,193,220,160,12,193,227,160,12,193,234,160,12,193,241,160,12,193,248,160,12,193,255,160,12,193,8,161,12,193,15,161,12,193,22,161,12,193,29,161,12,193,36,161,12,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,202,169,12,193,209,169,12,193,216,169,12,193,223,169,12,193,230,169,12,193,237,169,12,193,244,169,12,193,251,169,12,193,4,170,12,193,11,170,12,193,18,170,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,25,170,12,193,32,170,12,5,5,172,12,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,5,5,180,12,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,5,5,185,12,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,255,255,255,255,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,193,111,234,12,193,118,234,12,193,125,234,12,193,132,234,12,193,139,234,12,193,146,234,12,193,153,234,12,193,160,234,12,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,193,212,250,12,193,219,250,12,193,226,250,12,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,193,69,234,12,193,76,234,12,193,83,234,12,193,90,234,12,193,97,234,12,193,104,234,12,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,151,200,12,193,158,200,12,193,165,200,12,193,172,200,12,193,179,200,12,193,186,200,12,193,193,200,12,193,200,200,12,193,207,200,12,193,214,200,12,193,221,200,12,193,228,200,12,193,235,200,12,193,242,200,12,193,249,200,12,193,2,201,12,193,9,201,12,193,16,201,12,193,23,201,12,193,30,201,12,193,37,201,12,193,44,201,12,193,51,201,12,193,58,201,12,193,65,201,12,193,72,201,12,193,79,201,12,193,86,201,12,193,93,201,12,193,100,201,12,193,107,201,12,193,114,201,12,193,121,201,12,193,128,201,12,193,135,201,12,193,142,201,12,193,149,201,12,193,156,201,12,193,163,201,12,193,170,201,12,193,177,201,12,193,184,201,12,193,191,201,12,193,198,201,12,193,205,201,12,193,212,201,12,193,219,201,12,193,226,201,12,193,233,201,12,193,240,201,12,193,247,201,12,193,254,201,12,193,7,202,12,193,14,202,12,193,21,202,12,193,28,202,12,193,35,202,12,193,42,202,12,193,49,202,12,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,31,5,0,21,31,5,0,23,31,5,0,25,31,5,0,27,31,5,0,29,31,5,0,31,31,5,0,33,31,5,0,35,34,5,0,37,197,98,71,0,31,5,0,21,31,5,0,23,31,5,0,25,31,5,0,27,31,5,0,29,31,5,0,31,31,5,0,33,31,5,0,35,34,5,0,37,197,98,71,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,197,2,65,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,255,255,255,255,255,255,255,255,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,255,255,255,255,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,255,255,255,255,255,255,255,255,255,255,255,255,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,5,5,234,16,5,5,236,16,5,5,238,16,5,5,240,16,5,5,242,16,5,5,244,16,5,5,246,16,5,5,248,16,5,5,250,16,5,5,252,16,5,5,254,16,5,5,2,17,5,5,4,17,5,5,6,17,5,5,8,17,5,5,10,17,5,5,12,17,5,5,14,17,5,5,16,17,5,5,18,17,255,255,255,255,255,255,255,255,255,255,255,255,193,85,240,12,193,92,240,12,193,99,240,12,193,106,240,12,193,113,240,12,193,120,240,12,193,127,240,12,193,134,240,12,193,141,240,12,5,5,60,17,5,5,62,17,5,5,64,17,5,5,66,17,5,5,68,17,5,5,70,17,5,5,72,17,5,5,74,17,5,5,76,17,5,5,78,17,5,5,80,17,5,5,82,17,5,5,84,17,5,5,86,17,5,5,88,17,5,5,90,17,5,5,92,17,5,5,94,17,5,5,96,17,5,5,0,29,5,5,98,17,5,5,100,17,5,5,102,17,5,5,104,17,5,5,106,17,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,5,5,0,19,5,5,108,17,193,13,241,12,193,20,241,12,193,27,241,12,255,255,255,255,193,34,241,12,193,41,241,12,193,48,241,12,193,55,241,12,193,62,241,12,193,69,241,12,193,76,241,12,193,83,241,12,193,90,241,12,193,97,241,12,193,104,241,12,193,111,241,12,193,118,241,12,255,255,255,255,255,255,255,255,255,255,255,255,193,125,241,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,193,9,125,124,193,16,125,124,193,23,125,124,193,30,125,124,193,37,125,124,193,44,125,124,193,51,125,124,193,58,125,124,193,65,125,124,193,72,125,124,193,79,125,124,193,86,125,124,193,93,125,124,32,5,127,124,5,5,127,124,193,2,129,124,193,9,129,124,193,16,129,124,193,23,129,124,193,30,129,124,193,37,129,124,193,44,129,124,193,51,129,124,193,193,242,12,193,200,242,12,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,193,23,146,17,193,30,146,17,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,105,244,123,193,242,242,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,255,255,255,255,255,255,255,255,193,91,251,12,193,233,250,12,193,240,250,12,193,247,250,12,193,254,250,12,193,7,251,12,193,14,251,12,193,21,251,12,193,28,251,12,193,35,251,12,193,42,251,12,193,49,251,12,193,56,251,12,193,63,251,12,193,70,251,12,193,77,251,12,193,84,251,12,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,193,47,252,12,193,54,252,12,193,171,253,12,193,178,253,12,193,185,253,12,193,192,253,12,193,199,253,12,193,206,253,12,193,213,253,12,193,220,253,12,193,227,253,12,193,234,253,12,193,241,253,12,193,248,253,12,193,255,253,12,193,8,254,12,193,15,254,12,193,22,254,12,193,29,254,12,193,36,254,12,193,43,254,12,193,50,254,12,193,57,254,12,193,64,254,12,193,71,254,12,193,78,254,12,193,85,254,12,193,92,254,12,193,99,254,12,193,106,254,12,193,113,254,12,193,120,254,12,193,127,254,12,193,134,254,12,193,141,254,12,193,148,254,12,193,155,254,12,193,162,254,12,193,169,254,12,193,176,254,12,193,183,254,12,193,190,254,12,193,197,254,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,204,254,12,193,211,254,12,193,218,254,12,193,225,254,12,193,232,254,12,193,239,254,12,193,246,254,12,193,253,254,12,193,6,255,12,193,13,255,12,193,20,255,12,193,27,255,12,193,34,255,12,193,41,255,12,193,48,255,12,193,55,255,12,193,62,255,12,193,69,255,12,193,76,255,12,193,83,255,12,193,90,255,12,193,97,255,12,193,104,255,12,193,111,255,12,193,118,255,12,193,125,255,12,193,132,255,12,193,139,255,12,193,146,255,12,193,153,255,12,193,160,255,12,193,167,255,12,193,174,255,12,193,181,255,12,193,188,255,12,193,195,255,12,193,202,255,12,193,209,255,12,193,216,255,12,193,223,255,12,193,230,255,12,193,237,255,12,193,244,255,12,193,251,255,12,193,4,2,13,193,11,2,13,193,18,2,13,193,25,2,13,193,32,2,13,193,39,2,13,193,46,2,13,193,53,2,13,193,60,2,13,193,67,2,13,193,74,2,13,193,81,2,13,193,88,2,13,193,95,2,13,193,102,2,13,193,109,2,13,193,116,2,13,193,123,2,13,193,130,2,13,193,137,2,13,5,5,16,18,5,5,18,18,5,5,20,18,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,193,172,2,13,5,5,22,18,5,5,24,18,5,5,26,18,5,5,226,13,5,112,0,21,5,112,0,23,5,5,28,18,5,5,30,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,76,18,5,5,78,18,5,5,80,18,5,5,82,18,5,5,84,18,5,5,86,18,5,5,88,18,5,5,90,18,5,5,92,18,5,5,94,18,5,5,96,18,5,5,98,18,5,5,100,18,5,5,102,18,193,179,2,13,5,112,0,23,32,112,0,25,5,112,0,27,5,112,0,29,5,112,0,31,5,112,0,33,5,112,0,35,5,112,0,37,5,5,104,18,5,5,106,18,5,5,108,18,5,5,110,18,5,5,112,18,5,5,114,18,5,5,116,18,255,255,255,255,255,255,255,255,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,178,6,13,193,185,6,13,193,192,6,13,193,199,6,13,193,206,6,13,193,213,6,13,193,220,6,13,193,227,6,13,193,234,6,13,193,241,6,13,193,248,6,13,193,255,6,13,193,8,7,13,193,15,7,13,193,22,7,13,255,255,255,255,255,255,255,255,193,29,7,13,193,36,7,13,193,43,7,13,193,50,7,13,193,57,7,13,193,64,7,13,193,71,7,13,193,78,7,13,193,85,7,13,193,92,7,13,193,99,7,13,193,106,7,13,193,113,7,13,193,120,7,13,193,127,7,13,255,255,255,255,193,134,7,13,193,141,7,13,193,148,7,13,193,155,7,13,193,162,7,13,193,169,7,13,193,176,7,13,193,183,7,13,193,190,7,13,193,197,7,13,193,204,7,13,193,211,7,13,193,218,7,13,193,225,7,13,193,232,7,13,255,255,255,255,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,70,11,13,193,77,11,13,193,84,11,13,193,91,11,13,193,98,11,13,193,105,11,13,193,112,11,13,193,119,11,13,193,126,11,13,193,133,11,13,193,140,11,13,193,147,11,13,193,154,11,13,193,161,11,13,255,255,255,255,255,255,255,255,193,40,40,13,193,47,40,13,193,54,40,13,193,61,40,13,193,68,40,13,255,255,255,255,255,255,255,255,255,255,255,255,193,75,40,13,193,82,40,13,193,89,40,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,176,5,0,74,168,5,0,76,168,5,0,78,168,5,0,80,168,5,0,82,168,5,0,84,176,5,0,86,168,5,0,88,168,5,0,90,168,5,0,92,197,34,155,0,197,98,155,0,197,98,158,0,193,189,11,13,193,196,11,13,193,203,11,13,180,5,0,42,177,5,0,44,177,5,0,46,177,5,0,48,180,5,0,50,177,5,0,52,177,5,0,54,180,5,0,56,180,5,0,58,177,5,0,60,180,5,0,62,180,5,0,64,180,5,0,66,180,5,0,68,180,5,0,70,180,5,0,72,193,210,11,13,193,217,11,13,193,224,11,13,193,231,11,13,193,238,11,13,193,245,11,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,0,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,2,0,0,205,0,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,255,255,255,255,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,255,255,255,255,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,193,96,40,13,193,103,40,13,193,110,40,13,193,117,40,13,193,124,40,13,193,131,40,13,193,138,40,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,66,41,13,193,73,41,13,193,80,41,13,193,87,41,13,193,94,41,13,193,101,41,13,193,108,41,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,115,41,13,193,122,41,13,193,129,41,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,136,41,13,193,143,41,13,193,150,41,13,193,157,41,13,193,164,41,13,193,171,41,13,193,178,41,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,173,47,13,193,180,47,13,193,187,47,13,193,194,47,13,193,201,47,13,193,208,47,13,193,215,47,13,193,222,47,13,193,229,47,13,193,236,47,13,193,243,47,13,193,250,47,13,193,3,48,13,255,255,255,255,255,255,255,255,255,255,255,255,193,10,48,13,193,17,48,13,193,24,48,13,193,31,48,13,193,38,48,13,193,45,48,13,193,52,48,13,193,59,48,13,193,66,48,13,193,73,48,13,193,80,48,13,193,87,48,13,193,94,48,13,255,255,255,255,255,255,255,255,255,255,255,255,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,12,54,13,193,19,54,13,193,26,54,13,193,33,54,13,193,40,54,13,193,47,54,13,193,54,54,13,193,61,54,13,193,68,54,13,193,75,54,13,193,82,54,13,193,89,54,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,96,54,13,193,103,54,13,193,110,54,13,193,117,54,13,193,124,54,13,193,131,54,13,193,138,54,13,193,145,54,13,193,152,54,13,193,159,54,13,193,166,54,13,193,173,54,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,64,56,13,193,71,56,13,193,78,56,13,193,85,56,13,193,92,56,13,193,99,56,13,193,106,56,13,193,113,56,13,193,120,56,13,193,127,56,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,255,255,255,255,255,255,255,255,193,116,58,13,193,123,58,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,100,73,13,193,107,73,13,193,114,73,13,193,121,73,13,193,128,73,13,193,135,73,13,193,142,73,13,193,149,73,13,193,156,73,13,193,163,73,13,193,170,73,13,193,177,73,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,5,22,122,16,5,30,122,16,5,32,122,16,5,46,122,16,5,52,122,16,5,58,122,16,5,60,122,16,5,62,122,16,5,64,122,16,5,66,122,16,5,72,122,16,5,84,122,16,5,86,122,16,5,88,122,16,5,90,122,16,5,92,122,198,161,170,0,198,193,170,0,198,193,171,0,198,225,171,0,32,5,95,121,32,5,97,121,32,5,99,121,32,5,147,121,32,5,149,121,32,5,155,121,32,5,159,121,32,5,161,121,32,5,165,121,32,5,169,121,32,5,175,121,255,255,255,255,193,37,78,13,193,44,78,13,198,97,172,0,198,225,175,0,198,1,173,0,198,225,183,0,198,97,173,0,198,65,174,0,198,161,173,0,198,1,202,0,198,1,175,0,198,193,173,0,198,161,172,0,198,129,185,0,198,33,184,0,198,161,176,0,30,5,6,121,30,5,10,121,30,5,12,121,30,5,16,121,30,5,18,121,30,5,20,121,30,5,24,121,30,5,28,121,30,5,30,121,30,5,34,121,30,5,36,121,30,5,38,121,30,5,40,121,30,5,42,121,197,130,174,2,197,194,174,2,197,2,175,2,197,66,175,2,197,130,175,2,197,194,175,2,197,2,176,2,197,66,176,2,197,194,176,2,197,130,177,2,197,98,178,2,197,162,178,2,197,226,178,2,197,34,179,2,197,197,177,2,197,4,177,2,197,130,176,2,193,51,78,13,193,72,79,117,193,128,79,117,193,198,79,117,193,98,80,117,193,19,81,117,193,177,89,117,5,5,96,13,193,254,79,117,193,238,80,117,193,58,79,117,193,79,79,117,193,163,79,117,193,212,79,117,193,56,80,117,193,77,80,117,193,105,80,117,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,58,85,117,193,140,80,117,193,161,80,117,193,5,81,117,193,26,81,117,255,255,255,255,5,5,68,114,5,5,70,114,5,5,72,114,5,5,74,114,5,5,76,114,5,5,78,114,5,5,80,114,5,5,82,114,5,5,84,114,5,5,86,114,5,5,88,114,5,5,90,114,5,5,92,114,5,5,94,114,5,5,96,114,5,5,98,114,5,5,100,114,5,5,102,114,5,5,104,114,5,5,106,114,5,5,108,114,5,5,110,114,5,5,112,114,5,5,114,114,5,5,116,114,5,5,118,114,5,5,120,114,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,170,13,5,5,176,13,5,5,178,13,5,5,180,13,5,5,182,13,5,5,184,13,5,5,186,13,5,5,188,13,5,5,190,13,5,5,240,13,5,5,192,13,5,5,194,13,5,5,196,13,5,5,198,13,5,5,200,13,5,5,202,13,5,5,204,13,5,5,206,13,5,5,208,13,5,5,210,13,5,5,212,13,5,5,214,13,5,5,216,13,5,5,218,13,5,5,220,13,5,5,222,13,5,5,224,13,5,5,228,13,5,5,230,13,5,5,232,13,5,5,234,13,5,5,236,13,5,5,238,13,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,156,16,5,5,158,16,5,5,160,16,5,5,162,16,5,5,164,16,5,5,166,16,5,5,168,16,5,5,170,16,5,5,172,16,5,5,174,16,5,5,176,16,5,5,178,16,5,5,180,16,5,5,182,16,5,5,184,16,5,5,186,16,5,5,188,16,5,5,190,16,5,5,192,16,5,5,194,16,5,5,196,16,5,5,198,16,255,255,255,255,5,5,0,21,5,5,0,29,193,9,200,16,193,16,200,16,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,233,251,123,193,240,251,123,193,247,251,123,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,5,5,112,119,5,5,114,119,5,5,116,119,5,112,116,119,5,5,118,119,5,5,120,119,5,5,122,119,5,5,124,119,5,5,126,119,5,5,128,119,5,5,130,119,5,112,130,119,5,5,132,119,5,112,132,119,5,5,134,119,5,5,136,119,5,5,138,119,5,5,140,119,5,5,142,119,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,29,193,23,200,16,193,30,200,16,193,37,200,16,193,44,200,16,5,5,20,17,5,5,22,17,5,5,0,21,5,5,0,29,5,5,24,17,5,5,26,17,5,5,28,17,5,5,30,17,5,5,0,29,5,5,32,17,5,5,34,17,5,5,36,17,5,5,38,17,5,5,40,17,5,5,42,17,5,5,0,29,5,5,44,17,5,5,46,17,5,5,48,17,5,5,50,17,5,5,52,17,5,5,54,17,5,5,56,17,5,5,58,17,5,5,0,21,5,5,0,21,5,5,0,21,5,5,0,23,5,5,0,23,5,5,0,23,5,5,0,23,5,5,0,29,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,27,5,5,0,29,193,37,146,17,193,44,146,17,193,51,146,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,157,124,193,16,157,124,193,23,157,124,193,30,157,124,193,37,157,124,193,44,157,124,193,51,157,124,193,58,157,124,193,65,157,124,193,72,157,124,193,79,157,124,193,86,157,124,193,93,157,124,193,100,157,124,193,107,157,124,193,114,157,124,193,121,157,124,193,128,157,124,193,135,157,124,255,255,255,255,193,142,157,124,193,149,157,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,29,193,58,146,17,193,65,146,17,193,72,146,17,193,9,118,124,193,16,118,124,193,23,118,124,193,30,118,124,193,37,118,124,193,44,118,124,193,51,118,124,193,58,118,124,193,65,118,124,193,72,118,124,193,79,118,124,193,86,118,124,193,93,118,124,193,100,118,124,193,107,118,124,193,114,118,124,193,121,118,124,193,128,118,124,193,135,118,124,193,142,118,124,193,149,118,124,193,156,118,124,193,163,118,124,193,170,118,124,193,177,118,124,193,184,118,124,193,191,118,124,193,198,118,124,193,205,118,124,5,5,0,21,193,86,146,17,193,93,146,17,193,9,159,124,193,16,159,124,193,23,159,124,193,30,159,124,193,37,159,124,193,44,159,124,193,51,159,124,193,58,159,124,193,65,159,124,193,72,159,124,193,79,159,124,193,86,159,124,193,93,159,124,193,100,159,124,193,107,159,124,193,114,159,124,193,121,159,124,193,128,159,124,193,135,159,124,193,142,159,124,193,149,159,124,193,156,159,124,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,193,177,146,17,193,184,146,17,193,191,146,17,193,198,146,17,193,9,160,124,193,16,160,124,193,23,160,124,193,30,160,124,193,37,160,124,193,44,160,124,193,51,160,124,193,58,160,124,193,65,160,124,193,72,160,124,193,79,160,124,193,86,160,124,193,93,160,124,193,100,160,124,193,107,160,124,193,114,160,124,193,121,160,124,193,128,160,124,193,135,160,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,193,205,146,17,193,212,146,17,193,219,146,17,193,226,146,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,193,233,146,17,193,240,146,17,193,247,146,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,27,5,5,0,29,193,254,146,17,193,7,147,17,193,14,147,17,193,21,147,17,193,28,147,17,197,2,237,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,196,124,193,16,196,124,193,23,196,124,193,30,196,124,193,37,196,124,193,44,196,124,193,51,196,124,193,58,196,124,193,65,196,124,193,72,196,124,193,79,196,124,193,86,196,124,193,93,196,124,193,100,196,124,193,107,196,124,193,114,196,124,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,193,56,147,17,193,63,147,17,193,70,147,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,236,0,206,192,236,0,206,192,236,0,206,192,236,0,206,192,236,0,206,192,236,0,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,231,245,113,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,150,17,5,5,152,17,5,5,154,17,5,5,156,17,5,5,158,17,5,5,160,17,5,5,162,17,5,5,164,17,5,5,166,17,5,5,168,17,5,5,170,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,2,172,17,193,9,172,17,193,16,172,17,193,23,172,17,193,30,172,17,193,37,172,17,193,44,172,17,193,51,172,17,193,58,172,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,172,123,193,100,172,17,193,107,172,17,255,255,255,255,193,105,241,123,193,112,241,123,193,119,241,123,193,126,241,123,193,133,241,123,193,140,241,123,193,147,241,123,193,154,241,123,193,161,241,123,193,168,241,123,193,175,241,123,193,182,241,123,193,189,241,123,193,196,241,123,193,203,241,123,193,210,241,123,193,217,241,123,193,224,241,123,193,231,241,123,193,238,241,123,193,245,241,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,252,241,123,193,5,242,123,193,12,242,123,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,174,17,5,5,176,17,5,5,178,17,5,5,180,17,5,5,182,17,5,5,184,17,5,5,186,17,5,5,188,17,5,5,190,17,5,5,192,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,194,17,5,5,196,17,5,5,198,17,5,5,200,17,5,5,202,17,5,5,204,17,5,5,206,17,5,5,208,17,5,5,210,17,5,5,212,17,5,5,214,17,5,5,216,17,5,5,218,17,5,5,220,17,5,5,222,17,5,5,224,17,5,5,226,17,5,5,228,17,5,5,230,17,5,5,232,17,5,5,234,17,5,5,236,17,5,5,238,17,5,5,240,17,5,5,242,17,5,5,244,17,5,5,246,17,5,5,248,17,5,5,250,17,5,5,252,17,5,5,254,17,5,5,2,18,5,5,4,18,5,5,6,18,5,5,8,18,5,5,10,18,5,5,12,18,5,5,14,18,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,32,18,5,5,34,18,5,5,36,18,5,5,38,18,5,5,40,18,5,5,42,18,5,5,44,18,5,5,46,18,5,5,48,18,5,5,50,18,5,5,52,18,5,5,54,18,5,5,56,18,5,5,58,18,5,5,60,18,5,5,62,18,5,5,64,18,5,5,66,18,5,5,68,18,5,5,70,18,5,5,72,18,5,5,74,18,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,193,2,118,18,193,9,118,18,193,16,118,18,193,23,118,18,193,30,118,18,193,37,118,18,193,44,118,18,255,255,255,255,255,255,255,255,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,193,56,119,18,193,63,119,18,193,70,119,18,193,77,119,18,193,84,119,18,193,91,119,18,193,98,119,18,193,105,119,18,193,112,119,18,193,119,119,18,5,5,36,125,5,5,38,125,5,5,40,125,5,5,42,125,5,5,44,125,5,5,46,125,5,5,48,125,5,5,50,125,5,5,52,125,5,5,54,125,5,5,56,125,5,5,58,125,5,5,60,125,5,5,62,125,5,5,64,125,5,5,66,125,5,112,66,125,5,5,68,125,5,5,70,125,5,5,72,125,5,5,74,125,5,5,76,125,5,5,78,125,5,5,80,125,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,126,119,18,193,49,119,18,193,2,82,125,193,9,82,125,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,23,5,5,0,25,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,25,5,5,0,27,5,5,0,29,193,133,119,18,193,140,119,18,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,25,5,5,0,25,5,5,0,27,5,5,0,27,5,5,0,27,5,5,0,27,5,5,0,31,5,5,0,33,5,5,0,33,5,5,0,33,5,5,0,35,5,5,0,35,5,5,0,37,5,5,0,37,5,5,0,37,5,5,0,37,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,27,5,5,0,29,5,5,0,29,5,5,0,23,5,5,0,25,5,5,0,21,5,5,0,23,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,121,18,5,5,123,18,5,5,125,18,5,5,127,18,5,5,129,18,5,5,131,18,5,5,133,18,5,5,135,18,5,5,137,18,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,21,5,5,0,29,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,20,111,5,5,24,111,5,5,132,111,5,5,134,111,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,5,5,112,111,5,5,114,111,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,65,13,118,5,5,15,118,193,2,17,118,193,9,17,118,193,16,17,118,193,23,17,118,193,30,17,118,193,37,17,118,193,44,17,118,193,51,17,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,0,21,255,255,255,255,255,255,255,255,255,255,255,255,197,2,154,2,197,67,154,2,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,100,243,113,193,16,243,113,193,30,243,113,193,51,243,113,193,107,243,113,193,114,243,113,193,121,243,113,193,128,243,113,193,135,243,113,193,142,243,113,193,149,243,113,193,156,243,113,193,2,243,113,193,72,243,113,193,2,239,113,193,93,243,113,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,32,5,233,113,193,37,243,113,193,58,243,113,193,107,239,113,32,5,237,113,32,5,241,113,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,193,79,6,117,193,86,6,117,193,93,6,117,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,32,5,42,120,32,5,63,120,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,193,165,0,198,225,165,0,198,1,166,0,198,33,166,0,198,65,166,0,198,97,166,0,198,129,166,0,198,161,166,0,198,193,166,0,198,225,166,0,198,1,167,0,198,33,167,0,198,65,167,0,198,97,167,0,198,129,167,0,198,161,167,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,193,247,96,117,193,254,96,117,193,7,97,117,193,21,97,117,193,28,97,117,193,35,97,117,193,42,97,117,193,49,97,117,193,56,97,117,193,63,97,117,193,70,97,117,193,77,97,117,193,84,97,117,201,32,23,2,201,32,24,2,193,119,97,117,193,126,97,117,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,40,249,2,202,73,249,2,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,202,40,249,2,202,73,249,2,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,202,40,249,2,202,73,249,2,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,202,40,249,2,202,73,249,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,202,40,249,2,202,73,249,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,28,5,0,74,25,5,0,76,25,5,0,78,25,5,0,80,25,5,0,82,25,5,0,84,28,5,0,86,25,5,0,88,25,5,0,90,25,5,0,92,31,5,0,19,197,2,72,0,197,162,72,0,197,194,73,0,197,98,74,0,197,2,75,0,197,162,75,0,197,66,76,0,197,226,76,0,197,130,77,0,197,34,79,0,31,5,0,21,31,5,0,23,31,5,0,25,31,5,0,27,31,5,0,29,31,5,0,31,31,5,0,33,31,5,0,35,34,5,0,37,197,98,71,0,31,5,0,19,197,5,226,2,197,163,223,2,197,3,224,2,197,164,226,2,197,35,227,2,197,195,227,2,197,35,228,2,197,133,228,2,197,36,229,2,197,162,229,2,197,230,229,2,197,163,230,2,197,5,231,2,197,68,192,2,197,164,231,2,197,35,232,2,197,131,232,2,197,36,233,2,197,162,233,2,197,132,234,2,197,229,233,2,197,2,235,2,197,70,235,2,197,3,193,2,198,130,136,0,198,194,138,0,198,226,139,0,198,162,140,0,198,98,141,0,198,34,142,0,198,226,142,0,198,162,143,0,5,5,170,124,32,5,170,124,5,5,172,124,32,5,172,124,5,5,174,124,5,5,176,124,32,5,176,124,193,2,178,124,193,9,178,124,193,16,178,124,193,23,178,124,193,30,178,124,193,37,178,124,193,44,178,124,5,5,180,124,32,5,180,124,5,112,180,124,5,5,182,124,5,5,184,124,5,112,184,124,5,5,186,124,5,5,188,124,32,5,188,124,5,112,188,124,5,5,190,124,5,5,192,124,5,5,194,124,32,5,194,124,5,112,194,124,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,0,21,5,5,0,23,198,2,138,0,198,34,139,0,198,66,140,0,198,2,141,0,198,194,141,0,198,130,142,0,198,66,143,0,198,2,144,0,198,194,144,0,198,195,136,0,198,227,137,0,198,3,139,0,198,35,140,0,198,227,140,0,198,163,141,0,198,99,142,0,198,35,143,0,198,227,143,0,198,163,144,0,198,99,145,0,198,35,146,0,198,227,146,0,198,163,147,0,198,99,148,0,198,35,149,0,198,131,149,0,198,227,149,0,198,67,150,0,198,163,150,0,198,3,151,0,198,99,151,0,197,227,133,0,198,98,138,0,198,130,139,0,198,194,151,0,198,2,152,0,198,66,152,0,198,130,152,0,198,194,152,0,198,2,153,0,198,66,153,0,198,35,137,0,198,67,138,0,198,99,139,0,197,162,136,0,197,99,130,0,197,194,130,0,197,163,152,0,44,5,6,122,44,5,8,122,44,5,10,122,44,5,14,122,44,5,16,122,40,5,18,122,38,5,20,122,40,5,22,122,40,5,24,122,32,5,26,122,38,5,28,122,40,5,30,122,40,5,32,122,38,5,34,122,38,5,36,122,38,5,38,122,198,98,144,0,198,34,145,0,198,131,137,0,198,163,138,0,198,195,139,0,198,131,140,0,198,67,141,0,198,3,142,0,198,195,142,0,198,131,143,0,198,67,144,0,198,3,145,0,198,195,145,0,198,131,146,0,198,67,147,0,198,3,148,0,198,195,148,0,197,227,137,0,197,130,119,0,197,98,111,0,197,99,113,0,197,66,180,0,197,130,181,0,197,194,120,0,197,3,121,0,197,99,121,0,197,194,141,0,198,2,189,0,198,162,194,0,198,66,185,0,198,66,194,0,198,228,195,0,184,5,0,74,180,5,0,76,180,5,0,78,180,5,0,80,177,5,0,82,180,5,0,84,184,5,0,86,180,5,0,88,177,5,0,90,177,5,0,92,180,5,0,72,197,66,139,0,197,66,181,0,197,162,190,0,197,226,107,0,197,34,210,0,197,66,120,0,197,98,117,0,197,4,119,0,197,228,132,0,197,130,139,0,197,227,160,0,197,130,161,0,197,130,179,0,197,195,191,0,197,195,205,0,197,34,209,0,197,66,87,0,197,199,82,0,197,130,82,0,197,34,90,0,197,162,94,0,198,193,219,0,198,65,177,0,198,129,178,0,198,161,196,0,198,65,173,0,198,33,174,0,198,129,173,0,198,65,188,0,198,193,182,0,198,161,180,0,198,129,186,0,198,65,186,0,198,65,203,0,198,33,177,0,198,193,213,0,198,33,181,0,198,1,185,0,197,66,86,0,197,130,86,0,197,194,86,0,197,2,87,0,197,34,88,0,197,98,88,0,197,34,81,0,197,226,85,0,197,162,88,0,197,226,88,0,197,34,89,0,197,98,89,0,197,162,89,0,197,226,89,0,197,194,91,0,165,5,0,42,165,5,0,44,165,5,0,46,165,5,0,48,165,5,0,50,165,5,0,52,165,5,0,54,165,5,0,56,165,5,0,58,165,5,0,60,165,5,0,62,165,5,0,64,165,5,0,66,165,5,0,68,165,5,0,70,165,5,0,72,172,5,0,74,165,5,0,76,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,255,255,255,255,22,5,0,58,22,5,0,60,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,22,5,0,70,22,5,0,72,24,5,0,74,22,5,0,76,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,22,5,0,56,22,5,0,58,22,5,0,60,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,22,5,0,70,22,5,0,72,24,5,0,74,22,5,0,76,22,5,0,78,22,5,0,80,22,5,0,82,22,5,0,84,24,5,0,86,22,5,0,88,22,5,0,90,22,5,0,92,165,5,0,42,255,255,255,255,165,5,0,46,165,5,0,48,255,255,255,255,255,255,255,255,165,5,0,54,255,255,255,255,255,255,255,255,165,5,0,60,165,5,0,62,255,255,255,255,255,255,255,255,165,5,0,68,165,5,0,70,165,5,0,72,172,5,0,74,255,255,255,255,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,255,255,255,255,22,5,0,52,255,255,255,255,22,5,0,56,22,5,0,58,22,5,0,60,172,5,0,74,165,5,0,76,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,22,5,0,56,22,5,0,58,22,5,0,60,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,22,5,0,70,22,5,0,72,24,5,0,74,22,5,0,76,22,5,0,78,22,5,0,80,22,5,0,82,22,5,0,84,24,5,0,86,22,5,0,88,22,5,0,90,22,5,0,92,165,5,0,42,165,5,0,44,255,255,255,255,165,5,0,48,165,5,0,50,165,5,0,52,165,5,0,54,255,255,255,255,255,255,255,255,165,5,0,60,165,5,0,62,165,5,0,64,165,5,0,66,165,5,0,68,165,5,0,70,165,5,0,72,172,5,0,74,255,255,255,255,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,255,255,255,255,22,5,0,42,22,5,0,44,165,5,0,58,165,5,0,60,165,5,0,62,165,5,0,64,165,5,0,66,255,255,255,255,165,5,0,70,255,255,255,255,255,255,255,255,255,255,255,255,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,255,255,255,255,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,22,5,0,56,22,5,0,58,22,5,0,60,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,165,5,0,66,165,5,0,68,165,5,0,70,165,5,0,72,172,5,0,74,165,5,0,76,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,22,5,0,56,22,5,0,58,22,5,0,60,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,22,5,0,70,22,5,0,72,24,5,0,74,22,5,0,76,22,5,0,78,22,5,0,80,22,5,0,82,22,5,0,84,24,5,0,86,22,5,0,88,22,5,0,90,22,5,0,92,165,5,0,42,165,5,0,44,165,5,0,46,165,5,0,48,165,5,0,50,165,5,0,52,165,5,0,54,165,5,0,56,165,5,0,58,165,5,0,60,165,5,0,62,165,5,0,64,165,5,0,66,165,5,0,68,165,5,0,70,165,5,0,72,172,5,0,74,165,5,0,76,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,22,5,0,56,22,5,0,58,22,5,0,60,168,5,0,62,168,5,0,64,168,5,0,66,168,5,0,68,168,5,0,70,168,5,0,72,176,5,0,74,168,5,0,76,168,5,0,78,168,5,0,80,168,5,0,82,168,5,0,84,176,5,0,86,168,5,0,88,168,5,0,90,168,5,0,92,25,5,0,42,25,5,0,44,25,5,0,46,25,5,0,48,25,5,0,50,25,5,0,52,25,5,0,54,25,5,0,56,25,5,0,58,25,5,0,60,25,5,0,62,25,5,0,64,25,5,0,66,25,5,0,68,25,5,0,70,25,5,0,72,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,255,255,255,255,22,5,0,72,24,5,0,74,22,5,0,76,22,5,0,78,22,5,0,80,22,5,0,82,22,5,0,84,24,5,0,86,22,5,0,88,22,5,0,90,22,5,0,92,165,5,0,42,165,5,0,44,165,5,0,46,165,5,0,48,165,5,0,50,165,5,0,52,165,5,0,54,165,5,0,56,165,5,0,58,165,5,0,60,165,5,0,62,165,5,0,64,165,5,0,66,165,5,0,68,165,5,0,70,165,5,0,72,184,5,0,74,180,5,0,76,180,5,0,78,180,5,0,80,177,5,0,82,180,5,0,84,184,5,0,86,180,5,0,88,177,5,0,90,177,5,0,92,197,66,138,0,197,34,159,0,197,226,190,0,197,34,192,0,197,163,182,0,197,34,210,0,168,5,0,42,168,5,0,44,168,5,0,46,168,5,0,48,168,5,0,50,168,5,0,52,168,5,0,54,168,5,0,56,168,5,0,58,168,5,0,60,168,5,0,62,168,5,0,64,168,5,0,66,168,5,0,68,168,5,0,70,168,5,0,72,180,5,0,80,177,5,0,82,184,5,0,86,43,5,0,42,46,5,20,43,44,5,22,43,32,5,16,43,43,5,0,44,43,5,0,48,43,5,0,50,38,5,24,51,44,5,28,51,32,5,40,51,43,5,0,54,32,5,14,59,43,5,0,62,43,5,0,66,44,5,30,69,43,5,0,70,46,5,30,71,32,5,44,71,32,5,46,71,43,5,0,72,43,5,0,80,43,5,0,82,32,5,10,83,46,5,40,83,43,5,0,84,32,5,102,93,44,5,8,96,40,5,10,96,49,5,14,96,5,5,6,85,5,5,6,87,5,5,6,93,5,5,28,93,5,5,100,93,5,5,102,93,5,5,12,96,5,5,40,96,5,5,52,96,5,5,62,96,5,5,84,96,5,5,100,97,180,5,0,42,197,162,108,0,177,5,0,44,5,5,10,45,177,5,0,48,180,5,0,50,174,5,20,51,177,5,0,54,180,5,0,56,180,5,0,58,177,5,0,60,180,5,0,62,180,5,0,64,180,5,0,66,180,5,0,68,5,5,8,69,180,5,0,70,174,5,58,71,180,5,0,72,180,5,0,76,196,196,156,42,196,196,5,42,196,182,156,42,196,182,5,42,197,131,98,0,197,35,98,0,197,67,99,0,197,227,98,0,197,195,100,0,197,99,100,0,197,3,100,0,197,163,99,0,197,3,105,0,197,163,104,0,197,131,95,0,197,35,95,0,197,67,96,0,197,227,95,0,197,195,97,0,197,99,97,0,197,3,97,0,197,163,96,0,197,67,104,0,197,227,103,0,196,196,156,50,196,196,5,50,196,182,156,50,196,182,5,50,196,154,156,50,196,154,5,50,197,195,124,0,197,99,124,0,196,200,156,42,196,200,5,42,196,156,156,44,196,156,5,44,196,196,156,44,196,196,5,44,196,210,156,44,196,210,5,44,197,163,114,0,197,67,114,0,196,156,156,48,196,156,5,48,196,196,156,48,196,196,5,48,196,210,156,48,196,210,5,48,196,160,156,48,196,160,5,48,196,204,156,48,196,204,5,48,197,67,129,0,197,227,128,0,197,131,128,0,197,35,128,0,196,204,156,50,196,204,5,50,196,208,156,50,196,208,5,50,197,195,127,0,197,99,127,0,196,156,156,52,196,156,5,52,197,194,147,0,197,226,159,0,197,100,105,0,197,194,113,0,197,162,116,0,197,34,117,0,197,196,115,0,197,163,118,0,197,2,120,0,197,66,135,0,197,194,135,0,197,162,137,0,197,130,141,0,197,226,144,0,197,162,145,0,197,2,147,0,197,130,150,0,197,194,150,0,197,3,151,0,197,2,153,0,197,162,154,0,197,67,156,0,197,163,157,0,197,2,182,0,197,132,180,0,197,67,182,0,197,2,183,0,197,194,186,0,197,98,193,0,197,226,209,0,197,35,206,0,197,3,107,0,196,138,160,86,196,138,5,86,196,136,160,86,196,136,5,86,196,150,160,86,196,150,5,86,196,156,160,86,196,156,5,86,196,196,160,86,196,196,5,86,196,156,156,88,196,156,5,88,196,150,156,88,196,150,5,88,196,156,156,90,196,156,5,90,196,142,156,92,196,142,5,92,196,196,156,92,196,196,5,92,196,210,156,92,196,210,5,92,196,210,5,56,196,150,5,80,196,146,5,86,196,146,5,90,197,34,113,0,197,98,190,0,5,5,18,79,5,5,20,79,197,162,192,0,5,5,28,49,5,5,6,43,5,5,14,43,5,5,16,43,5,5,12,45,5,5,6,47,5,5,6,49,5,5,8,49,5,5,6,51,5,5,40,51,5,5,14,59,5,5,8,61,5,5,6,63,5,5,10,65,5,5,6,67,5,5,10,69,5,5,6,71,5,5,32,71,5,5,8,71,5,5,34,71,5,5,26,71,5,5,14,71,5,5,60,71,5,5,44,71,5,5,46,71,5,5,6,73,5,5,14,77,5,5,22,77,5,5,6,81,5,5,6,83,5,5,10,83,5,5,12,83,5,5,44,83,160,5,16,65,5,5,16,65,160,5,18,65,160,5,8,73,160,5,34,77,5,5,8,43,5,5,10,81,160,5,14,57,5,5,14,57,160,5,12,63,5,5,12,63,160,5,22,93,5,5,22,93,158,5,22,43,160,5,12,67,160,5,20,43,160,5,28,43,5,5,14,85,160,5,10,87,5,5,10,87,5,5,16,85,160,5,16,57,5,5,16,57,5,5,26,73,5,5,18,51,5,5,30,77,5,5,48,71,5,5,22,51,46,5,0,60,180,5,0,84,160,5,16,79,160,5,20,93,5,5,18,45,5,5,14,49,5,5,14,53,5,5,14,55,5,5,8,63,5,5,28,65,5,5,10,67,5,5,20,69,5,5,14,73,5,5,26,77,5,5,12,79,5,5,26,79,5,5,10,85,5,5,6,89,5,5,12,93,5,5,10,43,5,5,26,43,5,5,20,49,5,5,14,51,5,5,30,51,5,5,38,51,5,5,26,51,5,5,20,59,5,5,38,71,5,5,32,79,5,5,28,83,5,5,32,93,46,5,28,43,43,5,0,46,46,5,16,47,46,112,0,48,46,5,36,51,197,162,133,0,197,98,133,0,197,66,143,0,197,2,143,0,197,98,160,0,197,34,160,0,197,226,184,0,197,162,184,0,197,98,189,0,197,34,189,0,160,5,12,57,160,5,36,51,160,5,6,55,160,5,24,65,160,5,8,59,5,5,6,75,160,5,20,63,160,5,24,81,160,5,12,61,160,5,16,89,174,5,24,45,5,5,24,45,160,5,56,71,5,5,56,71,160,5,24,83,5,5,24,83,160,5,12,43,5,5,12,43,160,5,22,59,5,5,22,59,160,5,32,83,5,5,32,83,193,33,152,103,193,40,152,103,193,47,152,103,193,54,152,103,193,61,152,103,193,68,152,103,193,75,152,103,255,255,255,255,193,201,152,103,193,208,152,103,193,215,152,103,193,222,152,103,193,229,152,103,193,236,152,103,193,243,152,103,255,255,255,255,5,5,24,43,5,5,18,43,5,5,8,51,5,5,10,51,5,5,16,51,5,5,8,53,5,5,8,55,5,5,26,65,5,5,20,65,5,5,22,65,5,5,14,67,5,5,26,69,5,5,32,69,5,5,10,71,5,5,28,71,5,5,36,71,44,5,78,96,40,5,80,96,46,5,0,58,46,5,0,76,46,5,0,82,46,5,0,84,51,5,8,96,48,5,10,96,48,5,60,96,51,5,78,96,48,5,80,96,5,5,14,83,5,5,14,45,5,5,12,49,5,5,12,53,5,5,8,67,5,5,12,69,5,5,12,73,5,5,18,77,5,5,40,77,5,5,10,79,5,5,12,81,5,5,10,93,5,5,20,55,44,5,120,97,5,112,0,54,197,66,194,0,5,5,18,59,5,5,26,59,5,5,8,73,5,5,26,83,5,5,50,83,162,5,0,58,197,2,140,0,197,163,140,0,197,66,142,0,162,5,0,84,197,194,206,0,197,99,207,0,197,68,208,0,197,194,142,0,162,5,0,88,197,226,210,0,197,131,211,0,162,5,0,64,162,5,0,46,162,5,0,48,162,5,0,66,19,5,0,58,197,194,139,0,197,67,140,0,197,2,142,0,19,5,0,84,197,130,206,0,197,3,207,0,197,196,207,0,197,130,142,0,19,5,0,88,197,162,210,0,197,35,211,0,19,5,0,64,19,5,0,46,19,5,0,48,19,5,0,66,197,2,181,0,197,162,160,0,197,194,4,1,197,98,154,0,197,130,143,0,197,194,143,0,197,226,154,0,197,66,134,0,197,67,116,0,197,4,144,0,197,194,181,0,197,66,161,0,197,2,5,1,197,66,5,1,197,162,155,0,197,2,116,0,197,162,134,0,197,131,144,0,197,227,155,0,197,131,134,0,197,131,194,0,197,130,5,1,197,162,150,0,197,130,120,0,197,34,145,0,197,98,132,0,197,130,162,0,197,194,5,1,197,162,156,0,197,162,117,0,197,98,145,0,197,227,156,0,197,227,117,0,197,2,118,0,197,227,145,0,197,67,157,0,197,67,118,0,197,98,118,0,197,67,146,0,197,131,153,0,197,228,153,0,197,2,135,0,197,163,146,0,197,3,158,0,197,227,134,0,197,227,185,0,197,69,186,0,197,230,186,0,197,66,183,0,197,2,163,0,197,2,6,1,197,162,158,0,197,226,183,0,197,66,163,0,197,66,6,1,197,226,158,0,197,66,147,0,197,34,159,0,197,34,184,0,197,130,163,0,197,130,6,1,197,98,159,0,197,130,147,0,197,162,159,0,255,255,255,255,255,255,255,255,160,5,8,87,5,5,8,87,160,5,12,47,158,5,14,79,160,5,12,93,160,5,10,49,5,5,10,49,160,5,8,79,5,5,8,79,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,162,209,0,197,98,209,0,160,5,24,93,5,5,24,93,160,5,40,93,5,5,40,93,160,5,42,93,5,5,42,93,160,5,46,93,5,5,46,93,160,5,54,93,5,5,54,93,160,5,56,93,5,5,56,93,158,5,58,93,5,5,58,93,44,5,58,93,5,5,26,49,5,5,36,65,5,5,20,67,5,5,28,69,5,5,58,77,5,5,60,77,5,5,22,81,5,5,60,93,160,120,0,48,5,120,0,48,160,112,0,52,5,112,0,52,160,112,0,54,160,5,22,55,5,5,22,55,197,131,125,0,197,35,125,0,197,3,127,0,197,163,126,0,197,67,126,0,197,227,125,0,197,3,130,0,197,163,129,0,196,182,156,58,196,182,5,58,196,196,156,58,196,196,5,58,196,196,156,70,196,196,5,70,196,182,156,70,196,182,5,70,197,35,164,0,197,195,163,0,197,227,164,0,197,131,164,0,197,99,166,0,197,3,166,0,197,163,165,0,197,67,165,0,197,99,178,0,197,3,178,0,197,163,174,0,197,67,174,0,197,99,175,0,197,3,175,0,197,227,176,0,197,131,176,0,43,5,0,52,32,5,14,61,46,5,6,55,46,5,34,83,46,5,16,59,46,5,24,59,46,5,8,59,32,5,18,59,46,5,12,61,32,5,30,65,32,5,28,65,46,5,6,65,46,5,12,67,32,5,46,83,46,5,14,69,32,5,22,69,46,5,6,69,46,5,50,71,32,5,24,73,44,5,14,79,44,5,22,79,32,5,14,81,46,5,20,83,46,5,48,83,32,5,6,83,46,5,12,85,46,5,20,85,43,5,0,92,46,5,16,93,46,5,18,93,44,5,26,93,51,5,30,96,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,160,5,18,57,5,5,18,57,5,5,12,59,197,130,135,0,197,66,179,0,5,5,42,83,5,5,20,53,5,5,22,73,5,5,16,67,5,5,10,59,5,5,18,67,196,164,156,54,196,164,5,54,196,156,156,56,196,156,5,56,196,196,156,56,196,196,5,56,196,150,156,56,196,150,5,56,196,160,156,56,196,160,5,56,196,206,156,56,196,206,5,56,196,208,156,58,196,208,5,58,197,227,138,0,197,131,138,0,196,136,156,62,196,136,5,62,196,196,156,62,196,196,5,62,196,210,156,62,196,210,5,62,196,196,156,64,196,196,5,64,197,99,148,0,197,3,148,0,196,210,156,64,196,210,5,64,196,204,156,64,196,204,5,64,196,136,156,66,196,136,5,66,24,5,0,86,22,5,0,88,22,5,0,90,22,5,0,92,32,5,6,59,32,5,6,61,255,255,255,255,255,255,255,255,177,5,6,96,165,5,8,96,160,5,10,96,166,5,14,96,177,5,16,96,172,5,24,96,172,5,28,96,172,5,30,96,177,5,32,96,176,5,36,96,172,5,38,96,168,5,42,96,172,5,44,96,172,5,46,96,172,5,48,96,177,5,50,96,168,5,60,96,172,5,30,96,172,5,66,96,172,5,74,96,177,5,76,96,165,5,78,96,160,5,80,96,172,5,82,96,160,5,14,63,5,5,14,63,160,5,16,63,5,5,16,63,160,5,18,63,5,5,18,63,160,5,8,65,5,5,8,65,160,5,12,65,5,5,12,65,160,5,52,71,5,5,52,71,160,5,42,71,5,5,42,71,197,2,180,0,197,194,179,0,160,5,10,73,5,5,10,73,160,5,18,73,5,5,18,73,160,5,20,73,5,5,20,73,160,5,8,75,5,5,8,75,160,5,10,75,5,5,10,75,174,5,12,77,5,5,12,77,160,5,62,77,5,5,62,77,160,5,8,85,5,5,8,85,197,35,176,0,197,195,175,0,197,163,177,0,197,67,177,0,196,196,156,82,196,196,5,82,196,182,156,82,196,182,5,82,197,3,202,0,197,163,201,0,197,195,202,0,197,99,202,0,197,67,204,0,197,227,203,0,197,131,203,0,197,35,203,0,197,3,205,0,197,163,204,0,196,138,156,90,196,138,5,90,196,196,156,90,196,196,5,90,196,182,156,90,196,182,5,90,196,154,156,90,196,154,5,90,197,66,150,0,197,2,150,0,160,5,18,85,5,5,18,85,160,5,12,91,5,5,12,91,196,156,156,66,196,156,5,66,196,196,156,66,196,196,5,66,196,156,156,68,196,156,5,68,196,196,156,68,196,196,5,68,196,210,156,68,196,210,5,68,196,204,156,68,196,204,5,68,197,99,168,0,197,3,168,0,197,35,169,0,197,195,168,0,197,163,173,0,197,67,173,0,197,227,172,0,197,131,172,0,196,136,156,72,196,136,5,72,196,156,156,72,196,156,5,72,196,156,156,76,196,156,5,76,196,196,156,76,196,196,5,76,197,131,185,0,197,35,185,0,196,210,156,76,196,210,5,76,196,156,156,78,196,156,5,78,196,196,156,78,196,196,5,78,197,3,188,0,197,163,187,0,197,195,188,0,197,99,188,0,197,3,190,0,197,163,189,0,196,156,156,80,196,156,5,80,196,196,156,80,196,196,5,80,196,210,156,80,196,210,5,80,196,204,156,80,196,204,5,80,196,198,156,82,196,198,5,82,196,208,156,82,196,208,5,82,196,204,156,82,196,204,5,82,197,67,200,0,197,227,199,0,197,3,201,0,197,163,200,0,196,154,156,84,196,154,5,84,196,196,156,84,196,196,5,84,32,5,12,87,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,226,212,0,197,98,219,0,197,35,215,0,197,163,221,0,197,99,213,0,197,227,219,0,197,227,216,0,197,99,223,0,197,34,213,0,197,162,219,0,197,131,215,0,197,3,222,0,197,195,213,0,197,67,220,0,197,67,217,0,197,195,223,0,197,194,229,0,197,194,231,0,197,3,231,0,197,3,233,0,197,67,230,0,197,67,232,0,255,255,255,255,255,255,255,255,197,2,230,0,197,2,232,0,197,99,231,0,197,99,233,0,197,163,230,0,197,163,232,0,255,255,255,255,255,255,255,255,197,163,218,0,197,35,225,0,197,228,215,0,197,100,222,0,197,36,214,0,197,164,220,0,197,164,217,0,197,36,224,0,197,3,219,0,197,131,225,0,197,100,216,0,197,228,222,0,197,164,214,0,197,36,221,0,197,36,218,0,197,164,224,0,197,131,240,0,197,3,247,0,197,196,237,0,197,68,244,0,197,4,236,0,197,132,242,0,197,132,239,0,197,4,246,0,197,227,240,0,197,99,247,0,197,68,238,0,197,196,244,0,197,132,236,0,197,4,243,0,197,4,240,0,197,132,246,0,197,2,21,1,197,130,27,1,197,67,23,1,197,195,29,1,197,131,21,1,197,3,28,1,197,3,25,1,197,131,31,1,197,66,21,1,197,194,27,1,197,163,23,1,197,35,30,1,197,227,21,1,197,99,28,1,197,99,25,1,197,227,31,1,197,194,226,0,197,226,225,0,197,66,234,0,197,194,233,0,197,162,248,0,197,194,247,0,197,162,0,1,197,34,0,1,197,66,11,1,197,194,10,1,197,98,17,1,197,162,16,1,197,226,34,1,197,2,34,1,255,255,255,255,255,255,255,255,197,194,234,0,197,66,241,0,197,3,237,0,197,131,243,0,197,67,235,0,197,195,241,0,197,195,238,0,197,67,245,0,197,2,235,0,197,130,241,0,197,99,237,0,197,227,243,0,197,163,235,0,197,35,242,0,197,35,239,0,197,163,245,0,197,162,250,0,197,98,253,0,197,227,251,0,197,163,254,0,197,35,251,0,197,227,253,0,197,163,252,0,197,99,255,0,197,226,250,0,197,162,253,0,197,67,252,0,197,3,255,0,197,131,251,0,197,67,254,0,197,3,253,0,197,195,255,0,197,194,6,1,197,194,8,1,197,3,8,1,197,3,10,1,197,67,7,1,197,67,9,1,255,255,255,255,255,255,255,255,197,2,7,1,197,2,9,1,197,99,8,1,197,99,10,1,197,163,7,1,197,163,9,1,255,255,255,255,255,255,255,255,197,130,12,1,197,226,13,1,197,35,13,1,197,35,15,1,197,195,12,1,197,99,14,1,197,131,13,1,197,227,15,1,255,255,255,255,197,34,14,1,255,255,255,255,197,131,15,1,255,255,255,255,197,195,14,1,255,255,255,255,197,67,16,1,174,5,98,96,5,5,98,96,160,5,100,96,5,5,100,96,160,5,102,96,5,5,102,96,160,5,104,96,5,5,104,96,160,5,106,96,5,5,106,96,160,5,110,96,5,5,110,96,160,5,112,96,5,5,112,96,160,5,114,96,5,5,114,96,160,5,116,96,5,5,116,96,174,5,118,96,5,5,118,96,174,5,120,96,5,5,120,96,160,5,124,96,5,5,124,96,160,5,126,96,5,5,126,96,160,5,128,96,5,5,128,96,160,5,134,96,5,5,134,96,160,5,136,96,5,5,136,96,160,5,138,96,5,5,138,96,160,5,140,96,5,5,140,96,160,5,142,96,5,5,142,96,160,5,144,96,5,5,144,96,160,5,146,96,5,5,146,96,160,5,148,96,5,5,148,96,160,5,150,96,5,5,150,96,160,5,152,96,5,5,152,96,160,5,154,96,5,5,154,96,160,5,208,96,5,5,208,96,160,5,210,96,5,5,210,96,160,5,108,96,5,5,108,96,160,5,122,96,5,5,122,96,160,5,130,96,5,5,130,96,160,5,132,96,5,5,132,96,160,5,156,96,5,5,156,96,160,5,158,96,5,5,158,96,160,5,164,96,5,5,164,96,160,5,166,96,5,5,166,96,160,5,168,96,5,5,168,96,160,5,176,96,5,5,176,96,160,5,180,96,5,5,180,96,160,5,182,96,5,5,182,96,160,5,184,96,5,5,184,96,160,5,186,96,5,5,186,96,160,5,188,96,5,5,188,96,160,5,190,96,5,5,190,96,160,5,196,96,5,5,196,96,160,5,200,96,5,5,200,96,160,5,202,96,5,5,202,96,160,5,204,96,5,5,204,96,160,5,212,96,5,5,212,96,32,5,12,97,32,5,14,97,32,5,16,97,32,5,26,97,32,5,44,97,32,5,50,97,32,5,84,97,32,5,98,97,32,5,114,97,16,5,120,97,16,5,138,97,32,5,142,97,32,5,150,97,32,5,156,97,32,5,162,97,32,5,182,97,32,5,192,97,32,5,200,97,32,5,218,97,32,5,222,97,198,193,159,0,197,2,46,1,32,5,6,97,32,5,40,97,32,5,82,97,198,225,154,0,198,33,157,0,32,5,240,97,198,161,157,0,198,65,158,0,198,161,158,0,198,65,159,0,32,5,14,97,32,5,26,97,16,5,138,97,32,5,156,97,32,5,162,97,32,5,162,97,16,5,226,97,198,33,157,0,198,225,154,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,160,5,6,99,160,5,10,99,160,5,14,99,160,5,18,99,160,5,22,99,160,5,26,99,160,5,30,99,160,5,38,99,160,5,42,99,160,5,46,99,160,5,50,99,160,5,54,99,160,5,58,99,160,5,66,99,160,5,70,99,160,5,74,99,160,5,30,97,5,5,30,97,160,5,68,97,5,5,68,97,198,161,153,0,193,9,46,97,160,5,210,97,5,5,210,97,160,5,64,97,5,5,64,97,160,5,168,97,5,5,168,97,198,161,154,0,193,2,164,97,198,161,156,0,193,9,194,97,160,5,198,97,5,5,198,97,198,225,156,0,193,9,202,97,198,161,155,0,193,9,190,97,160,5,220,97,5,5,220,97,172,5,138,97,16,5,138,97,172,5,138,97,16,5,138,97,44,5,226,97,44,5,232,97,32,5,180,97,198,1,158,0,160,5,52,97,5,5,52,97,198,225,153,0,193,9,56,97,160,5,60,97,5,5,60,97,160,5,76,97,5,5,76,97,174,5,82,97,5,5,82,97,198,1,155,0,193,2,178,97,198,33,156,0,193,30,190,97,198,1,157,0,193,2,224,97,160,5,228,97,5,5,228,97,198,97,157,0,193,9,236,97,198,129,157,0,193,2,242,97,198,193,157,0,193,9,242,97,198,129,158,0,193,23,246,97,198,225,158,0,193,37,246,97,198,33,159,0,193,51,246,97,198,97,160,0,193,93,246,97,174,5,70,98,174,5,72,98,160,5,74,98,174,5,76,98,174,5,78,98,160,5,80,98,174,5,82,98,174,5,84,98,174,5,86,98,174,5,88,98,174,5,90,98,160,5,92,98,160,5,94,98,160,5,96,98,160,5,98,98,255,255,255,255,5,5,6,98,5,5,8,98,5,5,10,98,5,5,12,98,5,5,14,98,5,5,16,98,5,5,18,98,5,5,20,98,5,5,22,98,5,5,24,98,5,5,26,98,5,5,28,98,5,5,30,98,5,5,32,98,5,5,34,98,5,5,36,98,32,5,6,98,32,5,8,98,32,5,10,98,32,5,12,98,32,5,14,98,32,5,16,98,32,5,18,98,255,255,255,255,32,5,22,98,32,5,24,98,32,5,26,98,32,5,28,98,32,5,30,98,32,5,32,98,32,5,34,98,32,5,36,98,32,5,38,98,32,5,40,98,32,5,42,98,32,5,44,98,32,5,46,98,32,5,48,98,32,5,50,98,32,5,52,98,32,5,54,98,255,255,255,255,255,255,255,255,32,5,60,98,32,5,62,98,32,5,64,98,32,5,66,98,32,5,68,98,174,5,6,98,174,5,8,98,174,5,10,98,174,5,12,98,174,5,14,98,174,5,16,98,174,5,18,98,160,5,20,98,174,5,22,98,174,5,24,98,174,5,26,98,174,5,28,98,174,5,30,98,174,5,32,98,174,5,34,98,174,5,36,98,174,5,38,98,174,5,40,98,174,5,42,98,174,5,44,98,174,5,46,98,174,5,48,98,174,5,50,98,174,5,52,98,174,5,54,98,160,5,56,98,160,5,58,98,174,5,60,98,174,5,62,98,174,5,64,98,174,5,66,98,174,5,68,98,5,5,38,98,5,5,40,98,5,5,42,98,5,5,44,98,5,5,46,98,5,5,48,98,5,5,50,98,5,5,52,98,5,5,54,98,5,5,56,98,5,5,58,98,5,5,60,98,5,5,62,98,5,5,64,98,5,5,66,98,5,5,68,98,5,5,70,98,5,5,72,98,5,5,74,98,5,5,76,98,5,5,78,98,5,5,80,98,5,5,82,98,5,5,84,98,5,5,86,98,5,5,88,98,5,5,90,98,5,5,92,98,5,5,94,98,5,5,96,98,5,5,98,98,255,255,255,255,32,5,70,98,32,5,72,98,255,255,255,255,32,5,76,98,32,5,78,98,255,255,255,255,32,5,82,98,32,5,84,98,32,5,86,98,32,5,88,98,32,5,90,98,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,102,98,193,2,104,98,193,9,104,98,5,5,106,98,193,2,108,98,193,9,108,98,193,16,108,98,5,5,110,98,193,2,112,98,193,9,112,98,193,16,112,98,193,23,112,98,193,30,112,98,5,5,114,98,193,2,116,98,193,9,116,98,193,16,116,98,5,5,118,98,193,2,120,98,193,9,120,98,193,16,120,98,193,23,120,98,193,30,120,98,193,37,120,98,193,44,120,98,193,51,120,98,193,58,120,98,193,65,120,98,193,72,120,98,193,79,120,98,193,86,120,98,193,93,120,98,193,100,120,98,193,107,120,98,193,114,120,98,193,121,120,98,193,128,120,98,193,135,120,98,32,5,102,98,32,5,106,98,32,5,110,98,32,5,114,98,32,5,118,98,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,160,5,152,99,160,5,36,99,160,5,64,99,160,5,92,99,160,5,144,99,160,5,156,99,255,255,255,255,160,5,162,99,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,160,5,172,99,255,255,255,255,255,255,255,255,5,5,6,99,5,5,10,99,5,5,14,99,5,5,18,99,5,5,22,99,5,5,26,99,5,5,30,99,5,5,38,99,5,5,42,99,5,5,46,99,5,5,50,99,5,5,54,99,5,5,58,99,5,5,66,99,5,5,70,99,5,5,74,99,5,5,8,99,5,5,12,99,5,5,16,99,5,5,20,99,5,5,24,99,5,5,28,99,5,5,32,99,5,5,40,99,5,5,44,99,5,5,48,99,5,5,52,99,5,5,56,99,5,5,60,99,5,5,68,99,5,5,72,99,5,5,76,99,5,5,80,99,5,5,84,99,5,5,88,99,5,5,96,99,5,5,100,99,5,5,104,99,5,5,108,99,5,5,112,99,5,5,116,99,5,5,120,99,5,5,124,99,5,5,128,99,5,5,132,99,5,5,136,99,5,5,140,99,5,5,148,99,160,5,8,99,160,5,12,99,160,5,16,99,160,5,20,99,160,5,24,99,160,5,28,99,160,5,32,99,160,5,40,99,160,5,44,99,160,5,48,99,160,5,52,99,160,5,56,99,160,5,60,99,160,5,68,99,160,5,72,99,160,5,76,99,160,5,80,99,160,5,84,99,160,5,88,99,160,5,96,99,160,5,100,99,160,5,104,99,160,5,108,99,160,5,112,99,160,5,116,99,160,5,120,99,160,5,124,99,160,5,128,99,160,5,132,99,160,5,136,99,160,5,140,99,160,5,148,99,160,5,78,99,160,5,82,99,160,5,86,99,160,5,94,99,160,5,98,99,160,5,102,99,160,5,106,99,160,5,110,99,160,5,114,99,160,5,118,99,160,5,122,99,160,5,126,99,160,5,130,99,160,5,134,99,160,5,138,99,160,5,146,99,160,5,150,99,160,5,34,99,160,5,62,99,160,5,90,99,160,5,142,99,160,5,154,99,160,5,158,99,160,5,160,99,160,5,164,99,160,5,166,99,160,5,168,99,255,255,255,255,255,255,255,255,160,5,170,99,160,5,174,99,160,5,176,99,5,5,152,99,5,5,36,99,5,5,64,99,5,5,92,99,5,5,144,99,5,5,156,99,255,255,255,255,5,5,162,99,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,172,99,255,255,255,255,255,255,255,255,193,9,141,103,193,16,141,103,193,23,141,103,193,30,141,103,193,37,141,103,193,44,141,103,193,51,141,103,193,58,141,103,193,65,141,103,193,72,141,103,193,79,141,103,193,86,141,103,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,197,34,58,1,197,98,58,1,255,255,255,255,197,226,58,1,197,162,58,1,255,255,255,255,197,98,59,1,197,162,59,1,197,226,59,1,197,162,60,1,197,162,61,1,197,194,53,1,197,194,52,1,197,98,57,1,197,34,59,1,197,66,52,1,46,5,14,102,32,5,14,102,49,5,32,102,38,5,32,102,16,5,32,102,27,5,32,102,49,5,34,102,38,5,34,102,16,5,34,102,27,5,34,102,49,5,36,102,38,5,36,102,16,5,36,102,27,5,36,102,49,5,48,102,38,5,48,102,46,5,6,102,46,5,8,102,32,5,8,102,46,5,10,102,32,5,10,102,46,5,16,102,32,5,16,102,46,5,18,102,32,5,18,102,49,5,22,102,38,5,22,102,16,5,22,102,27,5,22,102,49,5,26,102,38,5,26,102,48,5,30,102,40,5,30,102,24,5,30,102,32,5,30,102,46,5,40,102,32,5,40,102,48,5,42,102,40,5,42,102,24,5,42,102,32,5,42,102,48,5,44,102,40,5,44,102,24,5,44,102,32,5,44,102,48,5,58,102,40,5,58,102,24,5,58,102,198,97,165,0,198,65,165,0,46,5,232,102,32,5,232,102,49,5,246,102,38,5,246,102,16,5,246,102,27,5,246,102,16,5,236,102,27,5,236,102,197,34,62,1,197,226,61,1,198,194,160,0,198,130,160,0,197,34,66,1,197,226,65,1,197,162,66,1,197,98,66,1,198,66,161,0,198,2,161,0,197,34,67,1,197,226,66,1,197,34,69,1,197,226,68,1,197,162,68,1,197,226,67,1,197,162,67,1,197,98,67,1,49,5,240,102,38,5,240,102,16,5,240,102,27,5,240,102,197,130,149,1,197,2,152,1,197,2,153,1,197,162,154,1,197,34,155,1,197,130,163,1,197,34,165,1,197,98,165,1,197,162,165,1,197,2,106,1,197,162,176,1,197,226,176,1,197,162,177,1,197,226,178,1,197,162,179,1,197,34,180,1,197,34,184,1,197,226,186,1,197,34,187,1,197,130,165,1,197,194,178,1,197,194,189,1,197,66,190,1,197,98,62,1,197,226,62,1,197,98,63,1,197,34,64,1,197,98,65,1,197,34,71,1,197,162,71,1,197,130,72,1,197,226,73,1,197,162,62,1,197,34,63,1,197,226,64,1,197,226,67,1,197,98,68,1,197,98,71,1,197,226,71,1,197,194,72,1,197,162,74,1,197,226,75,1,197,98,76,1,197,226,76,1,197,130,78,1,197,34,80,1,197,194,82,1,197,226,85,1,197,98,86,1,197,162,86,1,197,34,88,1,197,34,89,1,197,162,89,1,197,34,90,1,197,34,92,1,197,98,94,1,197,2,95,1,197,194,96,1,197,2,97,1,197,66,97,1,197,130,99,1,197,2,101,1,197,34,102,1,197,34,104,1,197,130,142,1,197,194,143,1,197,162,145,1,197,130,146,1,197,2,150,1,197,130,150,1,197,2,151,1,197,130,151,1,197,130,152,1,197,98,157,1,197,194,159,1,197,194,161,1,197,2,163,1,197,226,164,1,197,34,83,1,197,130,83,1,197,226,83,1,197,162,105,1,197,194,171,1,197,130,174,1,197,34,176,1,197,34,177,1,197,34,179,1,197,226,180,1,197,34,181,1,197,162,180,1,197,226,184,1,197,194,185,1,197,98,186,1,197,98,187,1,197,66,189,1,197,98,64,1,193,44,38,102,193,65,38,102,193,2,70,102,5,5,164,102,193,37,176,102,193,30,180,102,193,37,198,102,193,16,202,102,193,2,24,102,193,9,24,102,193,37,132,102,193,44,234,102,193,16,24,102,16,5,26,102,5,5,100,102,5,5,152,102,193,2,194,102,193,16,234,102,193,44,132,102,193,37,172,102,193,30,190,102,255,255,255,255,193,72,38,102,193,79,38,102,193,2,56,102,193,51,132,102,193,58,248,102,193,16,176,102,193,9,180,102,193,2,208,102,193,58,38,102,193,9,56,102,27,5,26,102,16,5,30,102,16,5,58,102,16,5,84,102,255,255,255,255,27,5,222,102,16,5,112,102,16,5,72,102,16,5,158,102,23,5,238,102,16,5,182,102,16,5,196,102,16,5,200,102,16,5,204,102,16,5,134,102,16,5,166,102,16,5,174,102,16,5,146,102,16,5,178,102,16,5,110,102,16,5,136,102,16,5,42,102,16,5,44,102,16,5,74,102,16,5,86,102,16,5,148,102,16,5,160,102,16,5,168,102,32,5,28,102,16,5,206,102,198,129,161,0,198,161,162,0,27,5,26,102,16,5,30,102,16,5,58,102,16,5,84,102,16,5,214,102,27,5,222,102,16,5,112,102,16,5,72,102,16,5,158,102,23,5,238,102,255,255,255,255,16,5,196,102,16,5,200,102,16,5,204,102,16,5,134,102,16,5,166,102,16,5,174,102,16,5,146,102,16,5,178,102,16,5,110,102,16,5,136,102,16,5,42,102,16,5,44,102,16,5,74,102,16,5,86,102,16,5,148,102,16,5,160,102,16,5,168,102,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,5,30,102,16,5,58,102,255,255,255,255,16,5,214,102,255,255,255,255,255,255,255,255,16,5,72,102,16,5,158,102,23,5,238,102,16,5,182,102,255,255,255,255,16,5,200,102,16,5,204,102,16,5,134,102,16,5,166,102,16,5,174,102,16,5,146,102,16,5,178,102,255,255,255,255,16,5,136,102,16,5,42,102,16,5,44,102,16,5,74,102,255,255,255,255,16,5,148,102,16,5,160,102,16,5,168,102,32,5,28,102,255,255,255,255,198,129,161,0,255,255,255,255,255,255,255,255,16,5,30,102,16,5,58,102,255,255,255,255,16,5,214,102,255,255,255,255,255,255,255,255,16,5,72,102,255,255,255,255,23,5,238,102,16,5,182,102,16,5,196,102,16,5,200,102,16,5,204,102,16,5,134,102,16,5,166,102,16,5,174,102,16,5,146,102,16,5,178,102,255,255,255,255,16,5,136,102,16,5,42,102,16,5,44,102,16,5,74,102,255,255,255,255,16,5,148,102,255,255,255,255,16,5,168,102,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,5,30,102,16,5,58,102,16,5,84,102,255,255,255,255,27,5,222,102,16,5,112,102,16,5,72,102,16,5,158,102,23,5,238,102,255,255,255,255,16,5,196,102,16,5,200,102,16,5,204,102,16,5,134,102,16,5,166,102,16,5,174,102,16,5,146,102,16,5,178,102,16,5,110,102,16,5,136,102,16,5,42,102,16,5,44,102,16,5,74,102,16,5,86,102,16,5,148,102,16,5,160,102,16,5,168,102,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,163,160,1,197,99,161,1,197,3,161,1,197,227,157,1,197,67,158,1,197,163,162,1,197,67,162,1,197,35,164,1,197,195,163,1,197,227,167,1,197,67,168,1,197,35,169,1,197,35,166,1,197,227,166,1,197,131,169,1,197,227,169,1,255,255,255,255,255,255,255,255,197,131,166,1,197,163,181,1,197,3,182,1,197,3,175,1,197,99,175,1,197,99,173,1,197,3,173,1,197,195,173,1,197,131,178,1,197,35,178,1,197,131,188,1,197,35,188,1,197,3,73,1,197,227,77,1,197,34,75,1,197,162,76,1,197,66,78,1,197,226,79,1,197,2,82,1,197,34,85,1,197,98,87,1,197,226,89,1,197,66,77,1,197,226,78,1,197,162,79,1,197,130,96,1,197,130,80,1,197,2,99,1,197,130,100,1,197,162,101,1,197,162,103,1,197,194,116,1,197,98,118,1,197,162,122,1,197,226,124,1,197,98,125,1,197,162,126,1,197,98,128,1,197,226,129,1,197,162,133,1,197,98,134,1,197,162,135,1,197,98,138,1,197,226,138,1,197,130,141,1,197,2,142,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,35,77,1,197,35,79,1,197,195,78,1,197,131,79,1,197,99,80,1,197,3,83,1,197,99,83,1,197,195,83,1,197,195,92,1,197,99,92,1,197,163,95,1,197,67,95,1,197,67,101,1,197,195,99,1,197,35,100,1,197,35,105,1,197,131,77,1,197,35,81,1,197,195,80,1,197,131,84,1,197,35,84,1,197,131,93,1,197,99,90,1,197,35,93,1,197,99,102,1,197,3,118,1,197,227,110,1,197,67,126,1,197,99,159,1,197,131,164,1,197,3,186,1,197,99,185,1,197,227,188,1,197,227,170,1,197,35,148,1,197,195,175,1,197,3,147,1,197,67,160,1,197,3,137,1,197,67,154,1,197,67,172,1,197,67,170,1,197,163,158,1,197,227,153,1,197,3,159,1,197,163,172,1,197,195,90,1,197,163,94,1,16,5,48,102,27,5,48,102,49,5,54,102,38,5,54,102,16,5,54,102,27,5,54,102,49,5,46,102,38,5,46,102,16,5,46,102,27,5,46,102,198,1,162,0,198,225,161,0,198,161,161,0,198,193,161,0,198,129,162,0,198,97,162,0,198,33,162,0,198,65,162,0,49,5,62,102,38,5,62,102,16,5,62,102,27,5,62,102,49,5,60,102,38,5,60,102,16,5,60,102,27,5,60,102,49,5,64,102,38,5,64,102,16,5,64,102,27,5,64,102,49,5,68,102,38,5,68,102,255,255,255,255,255,255,255,255,16,5,58,102,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,5,72,102,255,255,255,255,23,5,238,102,255,255,255,255,16,5,196,102,255,255,255,255,16,5,204,102,16,5,134,102,16,5,166,102,255,255,255,255,16,5,146,102,16,5,178,102,255,255,255,255,16,5,136,102,255,255,255,255,255,255,255,255,16,5,74,102,255,255,255,255,16,5,148,102,255,255,255,255,16,5,168,102,255,255,255,255,16,5,206,102,255,255,255,255,198,161,162,0,32,5,58,102,48,5,72,102,40,5,72,102,24,5,72,102,32,5,72,102,48,5,74,102,40,5,74,102,24,5,74,102,32,5,74,102,44,5,84,102,30,5,84,102,44,5,86,102,30,5,86,102,44,5,110,102,30,5,110,102,44,5,112,102,30,5,112,102,48,5,134,102,40,5,134,102,24,5,134,102,32,5,134,102,48,5,136,102,40,5,136,102,24,5,136,102,32,5,136,102,48,5,146,102,40,5,146,102,24,5,146,102,32,5,146,102,48,5,148,102,40,5,148,102,24,5,148,102,197,66,96,1,197,226,93,1,197,34,94,1,197,130,97,1,197,194,97,1,197,34,124,1,197,162,124,1,197,34,129,1,197,162,129,1,197,130,108,1,197,226,109,1,197,2,112,1,197,130,113,1,197,130,112,1,197,98,103,1,197,226,118,1,197,34,128,1,197,162,132,1,197,34,133,1,197,98,137,1,197,226,137,1,197,130,140,1,197,2,141,1,197,194,106,1,197,66,107,1,197,194,115,1,197,66,116,1,197,130,90,1,197,66,72,1,197,162,77,1,197,2,78,1,197,226,80,1,16,5,68,102,27,5,68,102,46,5,98,102,32,5,98,102,46,5,96,102,32,5,96,102,46,5,102,102,32,5,102,102,46,5,88,102,32,5,88,102,46,5,128,102,32,5,128,102,46,5,114,102,32,5,114,102,49,5,184,102,38,5,184,102,16,5,184,102,27,5,184,102,49,5,192,102,38,5,192,102,16,5,192,102,27,5,192,102,198,33,164,0,198,1,164,0,198,193,163,0,198,225,163,0,198,161,163,0,198,129,163,0,198,65,163,0,198,97,163,0,44,5,206,102,30,5,206,102,197,195,104,1,197,99,104,1,197,227,105,1,197,131,105,1,197,163,117,1,197,67,117,1,197,131,123,1,197,131,110,1,197,35,110,1,197,195,108,1,197,35,114,1,197,195,113,1,197,227,114,1,197,131,114,1,197,227,125,1,197,131,127,1,197,35,127,1,197,131,131,1,197,35,131,1,197,227,131,1,197,67,132,1,197,67,135,1,197,67,136,1,197,227,135,1,197,163,136,1,197,99,139,1,197,35,140,1,197,195,139,1,197,99,143,1,197,3,143,1,197,99,147,1,197,195,147,1,197,2,117,1,197,226,122,1,197,34,125,1,197,162,125,1,197,226,126,1,197,162,128,1,197,34,130,1,197,226,130,1,197,34,134,1,197,162,134,1,197,98,119,1,197,162,138,1,197,34,139,1,197,194,141,1,197,66,142,1,197,194,142,1,197,2,144,1,197,226,144,1,197,98,145,1,197,226,145,1,197,194,146,1,197,194,148,1,197,66,149,1,197,194,149,1,197,66,150,1,197,194,150,1,197,66,151,1,197,66,152,1,197,66,153,1,197,226,154,1,197,98,155,1,197,162,157,1,32,5,148,102,48,5,158,102,40,5,158,102,24,5,158,102,32,5,158,102,48,5,160,102,40,5,160,102,24,5,160,102,32,5,160,102,48,5,166,102,40,5,166,102,24,5,166,102,32,5,166,102,48,5,168,102,40,5,168,102,24,5,168,102,32,5,168,102,48,5,174,102,40,5,174,102,24,5,174,102,32,5,174,102,48,5,178,102,40,5,178,102,24,5,178,102,32,5,178,102,48,5,182,102,40,5,182,102,24,5,182,102,32,5,182,102,48,5,196,102,40,5,196,102,24,5,196,102,193,44,26,103,193,51,26,103,193,58,26,103,193,65,26,103,193,72,26,103,193,79,26,103,193,86,26,103,193,93,26,103,193,100,26,103,193,107,26,103,193,114,26,103,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,193,9,143,103,193,16,143,103,193,23,143,103,193,30,143,103,193,37,143,103,193,44,143,103,193,51,143,103,193,58,143,103,193,65,143,103,193,72,143,103,193,79,143,103,193,86,143,103,193,93,143,103,193,100,143,103,193,107,143,103,193,114,143,103,193,128,143,103,193,135,143,103,193,142,143,103,193,149,143,103,193,156,143,103,193,163,143,103,193,170,143,103,193,177,143,103,193,184,143,103,193,191,143,103,193,198,143,103,193,205,143,103,193,212,143,103,193,219,143,103,193,226,143,103,193,233,143,103,193,121,143,103,193,14,144,103,193,133,144,103,193,196,144,103,193,47,145,103,193,59,146,103,193,178,146,103,193,241,146,103,193,141,147,103,193,204,147,103,193,13,148,103,193,102,149,103,193,65,150,103,193,170,150,103,193,233,150,103,193,217,151,103,193,26,152,103,193,138,152,103,193,220,153,103,193,133,151,103,193,140,151,103,193,147,151,103,193,154,151,103,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,21,144,103,193,28,144,103,193,35,144,103,193,42,144,103,193,49,144,103,193,56,144,103,193,63,144,103,193,70,144,103,193,77,144,103,193,84,144,103,193,91,144,103,193,98,144,103,193,105,144,103,193,112,144,103,193,119,144,103,193,126,144,103,193,140,144,103,193,147,144,103,193,154,144,103,193,161,144,103,193,168,144,103,193,175,144,103,193,182,144,103,193,189,144,103,193,245,144,103,193,252,144,103,193,5,145,103,193,12,145,103,193,19,145,103,193,26,145,103,193,33,145,103,193,40,145,103,255,255,255,255,193,203,144,103,193,210,144,103,193,217,144,103,193,224,144,103,193,231,144,103,193,238,144,103,255,255,255,255,255,255,255,255,193,72,150,103,193,79,150,103,193,86,150,103,193,93,150,103,193,100,150,103,193,107,150,103,255,255,255,255,255,255,255,255,193,109,149,103,193,116,149,103,193,123,149,103,193,130,149,103,193,137,149,103,193,144,149,103,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,54,145,103,193,61,145,103,193,68,145,103,193,75,145,103,193,82,145,103,193,89,145,103,193,96,145,103,193,103,145,103,193,110,145,103,255,255,255,255,193,117,145,103,193,124,145,103,193,131,145,103,193,138,145,103,255,255,255,255,255,255,255,255,193,145,145,103,193,152,145,103,193,159,145,103,193,166,145,103,193,173,145,103,193,180,145,103,193,187,145,103,255,255,255,255,193,194,145,103,255,255,255,255,193,201,145,103,193,208,145,103,193,215,145,103,193,222,145,103,255,255,255,255,255,255,255,255,193,229,145,103,193,236,145,103,193,243,145,103,193,250,145,103,193,3,146,103,193,10,146,103,193,17,146,103,193,24,146,103,193,66,146,103,193,73,146,103,193,80,146,103,193,87,146,103,193,94,146,103,193,101,146,103,193,108,146,103,193,115,146,103,193,122,146,103,193,129,146,103,193,136,146,103,193,143,146,103,193,150,146,103,193,157,146,103,193,164,146,103,193,171,146,103,193,185,146,103,193,192,146,103,193,199,146,103,193,206,146,103,193,213,146,103,193,220,146,103,193,227,146,103,193,234,146,103,193,248,146,103,193,255,146,103,193,8,147,103,193,15,147,103,193,22,147,103,193,29,147,103,193,36,147,103,193,43,147,103,193,50,147,103,255,255,255,255,193,57,147,103,193,64,147,103,193,71,147,103,193,78,147,103,255,255,255,255,255,255,255,255,193,85,147,103,193,92,147,103,193,99,147,103,193,106,147,103,193,113,147,103,193,120,147,103,193,127,147,103,193,134,147,103,193,148,147,103,193,155,147,103,193,162,147,103,193,169,147,103,193,176,147,103,193,183,147,103,193,190,147,103,193,197,147,103,193,211,147,103,193,218,147,103,193,225,147,103,193,232,147,103,193,239,147,103,193,246,147,103,193,253,147,103,193,6,148,103,193,20,148,103,193,27,148,103,193,34,148,103,193,41,148,103,193,48,148,103,193,55,148,103,193,62,148,103,193,69,148,103,193,76,148,103,255,255,255,255,193,83,148,103,193,90,148,103,193,97,148,103,193,104,148,103,255,255,255,255,255,255,255,255,193,111,148,103,193,118,148,103,193,125,148,103,193,132,148,103,193,139,148,103,193,146,148,103,193,153,148,103,255,255,255,255,193,160,148,103,255,255,255,255,193,167,148,103,193,174,148,103,193,181,148,103,193,188,148,103,255,255,255,255,255,255,255,255,193,195,148,103,193,202,148,103,193,209,148,103,193,216,148,103,193,223,148,103,193,230,148,103,193,237,148,103,193,244,148,103,193,251,148,103,193,4,149,103,193,11,149,103,193,18,149,103,193,25,149,103,193,32,149,103,193,39,149,103,255,255,255,255,193,46,149,103,193,53,149,103,193,60,149,103,193,67,149,103,193,74,149,103,193,81,149,103,193,88,149,103,193,95,149,103,193,151,149,103,193,158,149,103,193,165,149,103,193,172,149,103,193,179,149,103,193,186,149,103,193,193,149,103,193,200,149,103,193,207,149,103,193,214,149,103,193,221,149,103,193,228,149,103,193,235,149,103,193,242,149,103,193,249,149,103,193,2,150,103,193,9,150,103,193,16,150,103,193,23,150,103,193,30,150,103,193,37,150,103,193,44,150,103,193,51,150,103,193,58,150,103,193,114,150,103,193,121,150,103,193,128,150,103,193,135,150,103,193,142,150,103,193,149,150,103,193,156,150,103,193,163,150,103,193,177,150,103,193,184,150,103,193,191,150,103,193,198,150,103,193,205,150,103,193,212,150,103,193,219,150,103,193,226,150,103,193,240,150,103,193,247,150,103,193,254,150,103,193,7,151,103,193,14,151,103,193,21,151,103,193,28,151,103,193,35,151,103,193,42,151,103,255,255,255,255,193,49,151,103,193,56,151,103,193,63,151,103,193,70,151,103,255,255,255,255,255,255,255,255,193,77,151,103,193,84,151,103,193,91,151,103,193,98,151,103,193,105,151,103,193,112,151,103,193,119,151,103,193,126,151,103,193,161,151,103,193,168,151,103,193,175,151,103,193,182,151,103,193,189,151,103,193,196,151,103,193,203,151,103,193,210,151,103,193,224,151,103,193,231,151,103,193,238,151,103,193,245,151,103,193,252,151,103,193,5,152,103,193,12,152,103,193,19,152,103,193,82,152,103,193,89,152,103,193,96,152,103,193,103,152,103,193,110,152,103,193,117,152,103,193,124,152,103,193,131,152,103,193,145,152,103,193,152,152,103,193,159,152,103,193,166,152,103,193,173,152,103,193,180,152,103,193,187,152,103,193,194,152,103,193,248,153,103,193,255,153,103,193,8,154,103,193,15,154,103,193,22,154,103,193,29,154,103,193,36,154,103,255,255,255,255,193,43,154,103,193,50,154,103,193,57,154,103,193,64,154,103,193,71,154,103,193,78,154,103,193,85,154,103,255,255,255,255,193,92,154,103,193,99,154,103,193,106,154,103,193,113,154,103,193,120,154,103,193,127,154,103,193,134,154,103,255,255,255,255,193,141,154,103,193,148,154,103,193,155,154,103,193,162,154,103,193,169,154,103,193,176,154,103,193,183,154,103,255,255,255,255,193,190,154,103,193,197,154,103,193,204,154,103,193,211,154,103,193,218,154,103,193,225,154,103,193,232,154,103,255,255,255,255,193,239,154,103,193,246,154,103,193,253,154,103,193,6,155,103,193,13,155,103,193,20,155,103,193,27,155,103,255,255,255,255,193,34,155,103,193,41,155,103,193,48,155,103,193,55,155,103,193,62,155,103,193,69,155,103,193,76,155,103,255,255,255,255,193,83,155,103,193,90,155,103,193,97,155,103,193,104,155,103,193,111,155,103,193,118,155,103,193,125,155,103,255,255,255,255,5,5,110,105,5,5,112,105,5,5,114,105,5,5,116,105,5,5,118,105,255,255,255,255,255,255,255,255,201,192,6,0,5,5,126,105,255,255,255,255,255,255,255,255,5,5,128,105,5,5,130,105,5,5,132,105,197,194,194,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,134,105,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,66,194,1,197,130,194,1,255,255,255,255,197,2,195,1,5,5,104,106,5,5,106,106,5,5,108,106,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,110,106,5,5,112,106,255,255,255,255,255,255,255,255,5,5,114,106,5,5,116,106,5,5,118,106,255,255,255,255,255,255,255,255,255,255,255,255,5,5,36,106,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,130,195,1,197,194,195,1,197,2,196,1,5,5,98,106,255,255,255,255,197,66,196,1,255,255,255,255,5,5,116,107,5,5,118,107,5,5,120,107,5,5,122,107,5,5,124,107,5,5,130,107,255,255,255,255,5,5,132,107,5,5,134,107,5,5,136,107,255,255,255,255,5,5,138,107,5,5,140,107,5,5,142,107,255,255,255,255,255,255,255,255,5,5,6,107,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,84,109,5,5,86,109,5,5,88,109,255,255,255,255,255,255,255,255,255,255,255,255,201,224,10,0,201,64,12,0,5,5,94,109,255,255,255,255,5,5,96,109,5,5,98,109,5,5,100,109,5,5,102,109,255,255,255,255,255,255,255,255,5,5,6,109,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,104,109,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,44,109,5,5,46,109,255,255,255,255,255,255,255,255,255,255,255,255,5,5,48,109,5,5,68,109,5,5,50,109,255,255,255,255,255,255,255,255,255,255,255,255,5,5,52,109,5,5,54,109,5,5,56,109,5,5,66,109,5,5,58,109,5,5,64,109,5,5,62,109,5,5,60,109,5,5,72,109,5,5,74,109,5,5,76,109,5,5,78,109,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,80,109,5,5,82,109,5,5,122,110,5,5,124,110,5,5,126,110,5,5,128,110,5,5,130,110,255,255,255,255,201,38,13,0,5,5,138,110,5,5,140,110,255,255,255,255,5,5,142,110,5,5,144,110,5,5,146,110,5,5,148,110,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,150,110,5,5,152,110,255,255,255,255,5,5,50,110,5,5,56,110,5,5,114,110,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,64,110,5,5,66,110,5,5,68,110,5,5,70,110,5,5,72,110,5,5,74,110,5,5,76,110,5,5,78,110,5,5,80,110,255,255,255,255,5,5,82,110,5,5,84,110,5,5,86,110,5,5,88,110,5,5,90,110,5,5,92,110,5,5,94,110,5,5,96,110,5,5,98,110,5,5,110,110,5,5,112,110,5,5,100,110,5,5,102,110,5,5,104,110,5,5,106,110,5,5,108,110,255,255,255,255,255,255,255,255,255,255,255,255,5,5,116,110,5,5,118,110,5,5,120,110,5,5,122,111,5,5,124,111,5,5,126,111,5,5,128,111,5,5,130,111,255,255,255,255,201,224,14,0,5,5,138,111,5,5,140,111,255,255,255,255,201,96,17,0,5,5,144,111,5,5,146,111,5,5,148,111,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,150,111,5,5,152,111,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,108,111,255,255,255,255,5,5,62,112,5,5,64,112,5,5,66,112,5,5,68,112,5,5,70,112,5,5,72,112,5,5,74,112,5,5,76,112,5,5,78,112,5,5,80,112,5,5,82,112,5,5,84,112,5,5,86,112,5,5,88,112,5,5,90,112,5,5,92,112,5,5,94,112,5,5,112,112,5,5,96,112,5,5,108,112,5,5,110,112,5,5,98,112,5,5,100,112,5,5,102,112,5,5,104,112,5,5,106,112,5,5,114,112,32,5,152,112,32,5,152,112,5,5,116,112,5,5,120,112,5,5,122,112,5,5,54,113,5,5,56,113,5,5,58,113,5,5,60,113,5,5,62,113,5,5,64,113,5,5,66,113,5,5,68,113,5,5,70,113,5,5,72,113,5,5,74,113,5,5,76,113,5,5,78,113,5,5,80,113,5,5,82,113,5,5,84,113,5,5,86,113,5,5,88,113,255,255,255,255,5,5,90,113,5,5,92,113,5,5,94,113,5,5,96,113,5,5,98,113,5,5,100,113,5,5,102,113,5,5,104,113,5,5,106,113,255,255,255,255,5,5,108,113,255,255,255,255,255,255,255,255,5,5,110,113,5,5,112,113,5,5,114,113,5,5,116,113,5,5,118,113,5,5,120,113,5,5,122,113,255,255,255,255,255,255,255,255,255,255,255,255,5,5,158,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,124,113,5,5,126,113,5,5,128,113,5,5,130,113,5,5,132,113,5,5,134,113,255,255,255,255,5,5,136,113,255,255,255,255,5,5,138,113,201,132,20,0,5,5,148,113,5,5,150,113,201,6,23,0,5,5,154,113,5,5,156,113,5,5,142,113,193,16,160,113,193,23,160,113,193,30,160,113,193,37,160,113,193,44,160,113,193,51,160,113,193,58,160,113,193,65,160,113,193,72,160,113,193,79,160,113,193,86,160,113,193,93,160,113,193,100,160,113,193,107,160,113,193,114,160,113,193,121,160,113,193,128,160,113,193,135,160,113,193,142,160,113,193,149,160,113,193,156,160,113,193,163,160,113,193,170,160,113,193,177,160,113,193,184,160,113,193,191,160,113,193,198,160,113,193,126,161,113,193,133,161,113,193,140,161,113,193,147,161,113,193,154,161,113,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,193,133,171,113,193,140,171,113,193,147,171,113,193,154,171,113,193,161,171,113,193,168,171,113,193,175,171,113,193,182,171,113,193,189,171,113,193,196,171,113,193,210,171,113,193,217,171,113,193,224,171,113,193,9,172,113,193,16,172,113,193,23,172,113,193,30,172,113,193,37,172,113,193,44,172,113,193,51,172,113,193,58,172,113,193,65,172,113,193,72,172,113,193,79,172,113,193,86,172,113,193,93,172,113,193,100,172,113,193,107,172,113,193,114,172,113,193,121,172,113,193,128,172,113,255,255,255,255,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,193,9,176,113,193,16,176,113,193,23,176,113,193,30,176,113,193,51,176,113,193,58,176,113,193,65,176,113,255,255,255,255,193,72,176,113,255,255,255,255,193,79,176,113,193,86,176,113,193,93,176,113,193,100,176,113,255,255,255,255,193,107,176,113,193,114,176,113,193,121,176,113,193,128,176,113,193,135,176,113,193,142,176,113,193,149,176,113,193,156,176,113,193,163,176,113,193,170,176,113,193,177,176,113,193,184,176,113,193,191,176,113,193,198,176,113,193,205,176,113,255,255,255,255,193,212,176,113,193,133,179,113,193,140,179,113,193,147,179,113,193,154,179,113,193,161,179,113,255,255,255,255,255,255,255,255,201,32,25,2,193,189,179,113,255,255,255,255,255,255,255,255,193,196,179,113,193,203,179,113,193,210,179,113,255,255,255,255,255,255,255,255,193,9,178,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,217,179,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,224,179,113,193,105,179,113,193,112,179,113,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,193,175,181,113,193,182,181,113,193,189,181,113,193,196,181,113,193,203,181,113,193,210,181,113,193,217,181,113,193,224,181,113,193,231,181,113,193,238,181,113,193,245,181,113,193,147,181,113,193,154,181,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,193,9,185,113,193,16,185,113,5,5,187,113,5,5,189,113,5,5,191,113,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,193,9,203,113,193,16,203,113,193,23,203,113,193,30,203,113,193,37,203,113,193,44,203,113,193,51,203,113,193,58,203,113,193,65,203,113,193,72,203,113,193,100,203,113,193,107,203,113,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,193,9,205,113,193,16,205,113,193,23,205,113,193,30,205,113,193,37,205,113,193,44,205,113,193,51,205,113,255,255,255,255,255,255,255,255,193,58,205,113,255,255,255,255,255,255,255,255,193,65,205,113,193,72,205,113,193,79,205,113,193,86,205,113,193,93,205,113,193,107,205,113,193,114,205,113,193,121,205,113,255,255,255,255,193,128,205,113,193,135,205,113,255,255,255,255,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,193,9,207,113,193,16,207,113,193,23,207,113,193,30,207,113,193,37,207,113,193,44,207,113,193,51,207,113,193,58,207,113,255,255,255,255,255,255,255,255,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,193,9,211,113,193,16,211,113,193,23,211,113,193,30,211,113,5,5,213,113,5,112,213,113,193,2,215,113,193,9,215,113,5,5,217,113,193,2,219,113,193,9,219,113,193,16,219,113,193,23,219,113,193,30,219,113,193,37,219,113,193,44,219,113,193,51,219,113,193,58,219,113,193,65,219,113,193,72,219,113,193,79,219,113,5,5,221,113,5,112,221,113,193,2,223,113,193,9,223,113,193,16,223,113,5,112,217,113,255,255,255,255,255,255,255,255,193,107,223,113,193,114,223,113,193,121,223,113,193,9,224,113,193,16,224,113,193,23,224,113,193,30,224,113,193,37,224,113,193,44,224,113,193,51,224,113,255,255,255,255,193,58,224,113,193,65,224,113,255,255,255,255,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,5,5,226,113,193,2,228,113,193,9,228,113,193,16,228,113,193,23,228,113,193,30,228,113,193,37,228,113,193,44,228,113,193,51,228,113,193,58,228,113,193,65,228,113,193,72,228,113,193,79,228,113,193,86,228,113,193,93,228,113,193,100,228,113,193,107,228,113,255,255,255,255,255,255,255,255,255,255,255,255,193,114,228,113,255,255,255,255,193,121,228,113,193,128,228,113,255,255,255,255,193,135,228,113,193,16,229,113,193,23,229,113,193,30,229,113,193,37,229,113,193,44,229,113,193,51,229,113,255,255,255,255,193,58,229,113,193,65,229,113,255,255,255,255,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,193,9,248,113,193,16,248,113,193,23,248,113,193,30,248,113,193,37,248,113,193,44,248,113,193,51,248,113,193,58,248,113,193,65,248,113,255,255,255,255,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,255,255,255,255,5,5,6,114,5,5,8,114,5,5,10,114,5,5,12,114,5,5,14,114,5,5,16,114,5,5,18,114,5,5,20,114,5,5,22,114,5,5,24,114,5,5,26,114,5,5,28,114,5,5,30,114,5,5,32,114,5,5,34,114,5,5,36,114,5,5,38,114,5,5,40,114,5,5,42,114,5,5,44,114,5,5,46,114,5,5,48,114,5,5,50,114,5,5,52,114,5,5,54,114,5,5,56,114,5,5,58,114,5,5,60,114,5,5,62,114,5,5,64,114,5,5,66,114,255,255,255,255,5,5,8,115,5,5,10,115,255,255,255,255,5,5,12,115,255,255,255,255,5,5,14,115,5,5,16,115,5,5,18,115,5,5,20,115,5,5,24,115,255,255,255,255,5,5,26,115,5,5,32,115,5,5,28,115,5,5,34,115,5,5,36,115,5,5,38,115,5,5,40,115,5,5,42,115,5,5,44,115,5,5,46,115,5,5,48,115,5,5,50,115,5,5,52,115,5,5,54,115,5,5,56,115,5,5,58,115,5,5,60,115,5,5,62,115,5,5,64,115,5,5,66,115,5,5,68,115,5,5,70,115,5,5,72,115,5,5,74,115,255,255,255,255,5,5,76,115,255,255,255,255,5,5,78,115,5,5,80,115,5,5,82,115,5,5,22,115,5,5,84,115,5,5,86,115,5,5,88,115,5,5,90,115,5,5,92,115,5,5,94,115,5,5,96,115,5,5,98,115,5,5,100,115,5,5,102,115,5,5,104,115,5,5,106,115,5,5,108,115,5,5,110,115,5,5,112,115,5,5,114,115,5,5,116,115,5,5,118,115,5,5,120,115,255,255,255,255,255,255,255,255,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,5,5,6,116,5,5,12,116,5,5,16,116,197,66,120,2,5,5,20,116,5,5,24,116,5,5,28,116,5,5,32,116,255,255,255,255,5,5,36,116,5,5,40,116,5,5,44,116,5,5,48,116,197,194,120,2,5,5,52,116,5,5,56,116,5,5,60,116,5,5,64,116,197,66,121,2,5,5,68,116,5,5,72,116,5,5,76,116,5,5,80,116,197,194,121,2,5,5,84,116,5,5,88,116,5,5,92,116,5,5,96,116,197,66,122,2,5,5,100,116,5,5,104,116,5,5,108,116,193,30,208,116,193,37,208,116,193,44,208,116,193,51,208,116,193,58,208,116,193,65,208,116,193,72,208,116,193,79,208,116,193,86,208,116,193,93,208,116,193,100,208,116,193,9,198,116,193,23,198,116,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,5,5,219,116,193,2,221,116,193,9,221,116,193,16,221,116,193,23,221,116,193,30,221,116,193,37,221,116,193,44,221,116,193,51,221,116,193,58,221,116,193,65,221,116,5,5,223,116,193,2,225,116,193,9,225,116,193,16,225,116,5,5,227,116,5,5,229,116,193,2,231,116,193,9,231,116,193,16,231,116,5,5,233,116,193,2,235,116,193,9,235,116,193,16,235,116,193,23,235,116,193,30,235,116,5,5,237,116,5,5,239,116,5,5,241,116,5,5,243,116,5,5,245,116,5,5,247,116,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,193,70,5,117,193,84,5,117,193,98,5,117,193,112,5,117,193,126,5,117,193,140,5,117,193,154,5,117,255,255,255,255,255,255,255,255,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,193,9,6,117,193,16,6,117,193,23,6,117,193,30,6,117,193,37,6,117,193,44,6,117,193,51,6,117,193,58,6,117,193,65,6,117,193,72,6,117,193,100,6,117,193,107,6,117,193,114,6,117,193,121,6,117,193,128,6,117,193,135,6,117,193,142,6,117,193,149,6,117,193,156,6,117,193,163,6,117,193,170,6,117,193,177,6,117,193,184,6,117,193,191,6,117,193,198,6,117,193,205,6,117,193,212,6,117,193,226,6,117,193,240,6,117,193,247,6,117,193,254,6,117,193,7,7,117,193,9,8,117,193,16,8,117,193,23,8,117,193,30,8,117,193,37,8,117,193,44,8,117,193,51,8,117,193,58,8,117,193,93,8,117,193,100,8,117,193,107,8,117,193,114,8,117,193,121,8,117,193,128,8,117,193,135,8,117,193,142,8,117,193,149,8,117,193,156,8,117,193,163,8,117,193,170,8,117,193,184,8,117,193,191,8,117,193,198,8,117,193,205,8,117,193,226,8,117,193,247,8,117,193,254,8,117,193,14,9,117,193,21,9,117,193,42,9,117,193,77,9,117,193,84,9,117,193,9,10,117,193,16,10,117,193,23,10,117,193,30,10,117,193,37,10,117,193,44,10,117,193,51,10,117,193,58,10,117,5,5,12,117,193,2,14,117,193,9,14,117,5,5,16,117,193,2,18,117,193,9,18,117,193,16,18,117,193,23,18,117,193,30,18,117,193,37,18,117,193,44,18,117,193,51,18,117,193,58,18,117,193,65,18,117,193,72,18,117,193,79,18,117,193,86,18,117,193,93,18,117,193,100,18,117,193,107,18,117,193,114,18,117,197,162,124,2,197,226,124,2,255,255,255,255,193,9,25,117,193,16,25,117,193,23,25,117,193,30,25,117,193,37,25,117,193,44,25,117,193,51,25,117,193,58,25,117,193,65,25,117,193,72,25,117,193,79,25,117,193,86,25,117,193,93,25,117,255,255,255,255,193,100,25,117,193,107,25,117,193,114,25,117,193,121,25,117,193,128,25,117,193,135,25,117,193,142,25,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,27,117,193,16,27,117,193,23,27,117,193,30,27,117,193,37,27,117,193,44,27,117,193,51,27,117,193,58,27,117,193,65,27,117,193,72,27,117,193,79,27,117,193,86,27,117,193,93,27,117,193,100,27,117,193,107,27,117,193,114,27,117,193,121,27,117,193,128,27,117,193,135,27,117,193,142,27,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,28,117,193,16,28,117,193,23,28,117,193,30,28,117,193,37,28,117,193,44,28,117,193,51,28,117,193,58,28,117,193,65,28,117,193,72,28,117,193,79,28,117,193,86,28,117,193,93,28,117,255,255,255,255,193,100,28,117,193,107,28,117,193,114,28,117,255,255,255,255,193,121,28,117,193,128,28,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,33,117,32,5,33,117,5,5,35,117,32,5,35,117,32,5,35,117,5,5,37,117,32,5,37,117,5,5,39,117,32,5,39,117,5,5,41,117,32,5,41,117,5,5,43,117,32,5,43,117,32,5,43,117,5,5,45,117,32,5,45,117,193,2,47,117,193,9,47,117,5,5,49,117,32,5,49,117,5,5,51,117,32,5,51,117,5,5,53,117,32,5,53,117,5,5,55,117,32,5,55,117,32,5,55,117,5,5,57,117,32,5,57,117,5,5,59,117,5,5,61,117,32,5,61,117,193,9,79,117,193,23,79,117,193,37,79,117,193,65,79,117,193,86,79,117,193,100,79,117,193,121,79,117,193,149,79,117,193,184,79,117,193,233,79,117,193,7,80,117,193,14,80,117,193,28,80,117,193,42,80,117,193,63,80,117,193,84,80,117,193,112,80,117,193,119,80,117,193,126,80,117,193,147,80,117,193,168,80,117,193,196,80,117,193,203,80,117,193,245,80,117,193,12,81,117,193,33,81,117,193,47,81,117,193,61,81,117,193,89,81,117,193,103,81,117,5,5,83,117,193,9,85,117,193,96,81,117,193,219,79,117,193,156,89,117,193,9,93,117,193,16,93,117,193,145,81,117,193,93,85,117,193,163,89,117,193,170,89,117,193,23,93,117,193,30,93,117,193,37,93,117,193,44,93,117,193,51,93,117,193,91,80,117,193,79,85,117,193,86,85,117,193,30,89,117,193,9,89,117,193,58,89,117,193,65,89,117,193,16,79,117,193,30,79,117,193,44,79,117,193,107,79,117,193,170,79,117,193,240,79,117,193,133,80,117,193,175,80,117,193,210,80,117,193,217,80,117,193,252,80,117,193,9,94,117,193,51,94,117,193,58,94,117,193,65,94,117,193,72,94,117,193,79,94,117,193,86,94,117,193,93,94,117,193,100,94,117,193,107,94,117,193,114,94,117,193,121,94,117,193,128,94,117,193,135,94,117,193,142,94,117,193,149,94,117,193,156,94,117,193,163,94,117,193,170,94,117,193,177,94,117,193,184,94,117,193,191,94,117,193,198,94,117,193,205,94,117,193,212,94,117,193,219,94,117,193,226,94,117,193,233,94,117,193,240,94,117,193,16,94,117,193,23,94,117,193,30,94,117,5,5,100,117,5,5,102,117,5,5,104,117,5,5,106,117,5,5,108,117,5,5,110,117,5,5,112,117,5,5,114,117,5,5,116,117,5,5,118,117,5,5,120,117,5,5,122,117,5,5,124,117,5,5,126,117,5,5,128,117,5,5,130,117,5,5,132,117,5,5,134,117,5,5,136,117,5,5,138,117,5,5,140,117,5,5,142,117,5,5,144,117,5,5,146,117,5,5,148,117,5,5,150,117,5,5,152,117,5,5,154,117,5,5,156,117,5,5,158,117,5,5,160,117,5,5,162,117,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,255,255,255,255,255,255,255,255,193,219,4,118,193,226,4,118,193,233,4,118,193,240,4,118,193,247,4,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,5,118,193,16,5,118,193,23,5,118,193,30,5,118,193,37,5,118,193,44,5,118,193,51,5,118,193,58,5,118,193,65,5,118,193,72,5,118,193,79,5,118,193,86,5,118,193,93,5,118,193,100,5,118,193,107,5,118,193,114,5,118,193,121,5,118,193,128,5,118,193,135,5,118,193,142,5,118,193,149,5,118,193,156,5,118,193,163,5,118,193,170,5,118,193,177,5,118,193,184,5,118,193,191,5,118,193,198,5,118,5,5,7,118,193,2,9,118,193,9,9,118,193,16,9,118,193,23,9,118,193,30,9,118,193,37,9,118,193,44,9,118,193,51,9,118,193,58,9,118,193,65,9,118,193,72,9,118,193,79,9,118,193,86,9,118,193,93,9,118,193,100,9,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,107,9,118,193,114,9,118,193,121,9,118,193,128,9,118,193,135,9,118,201,0,242,0,201,160,5,1,201,64,25,1,193,9,13,118,193,16,13,118,201,224,44,1,193,30,13,118,193,37,13,118,193,44,13,118,193,51,13,118,193,58,13,118,193,9,18,118,193,16,18,118,193,23,18,118,193,30,18,118,193,37,18,118,193,44,18,118,5,5,20,118,193,2,22,118,193,9,22,118,193,16,22,118,193,23,22,118,193,30,22,118,193,37,22,118,193,44,22,118,193,51,22,118,193,58,22,118,193,65,22,118,193,72,22,118,193,79,22,118,193,86,22,118,193,93,22,118,193,100,22,118,193,107,22,118,193,114,22,118,193,121,22,118,193,128,22,118,193,135,22,118,5,5,24,118,206,64,228,0,206,64,228,0,206,64,228,0,206,64,228,0,206,64,228,0,206,64,228,0,5,5,28,118,193,2,30,118,193,9,30,118,193,16,30,118,193,23,30,118,193,30,30,118,193,37,30,118,193,100,30,118,193,107,30,118,193,114,30,118,193,121,30,118,193,128,30,118,193,135,30,118,193,44,30,118,197,35,170,2,193,58,30,118,193,65,30,118,193,72,30,118,32,5,20,118,32,5,20,118,32,5,24,118,32,5,24,118,193,79,30,118,193,86,30,118,193,93,30,118,255,255,255,255,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,193,70,39,118,193,77,39,118,193,84,39,118,193,91,39,118,193,98,39,118,193,105,39,118,193,112,39,118,193,119,39,118,193,126,39,118,193,133,39,118,193,42,39,118,193,49,39,118,193,56,39,118,193,63,39,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,52,118,193,16,52,118,193,23,52,118,193,30,52,118,193,37,52,118,193,44,52,118,193,51,52,118,193,72,52,118,193,128,52,118,193,124,54,118,193,247,52,118,193,245,53,118,193,3,55,118,193,17,55,118,193,24,55,118,193,38,55,118,193,45,55,118,193,66,55,118,193,80,55,118,193,87,55,118,193,101,55,118,193,115,55,118,193,129,55,118,193,136,55,118,193,52,55,118,193,122,55,118,193,77,53,118,193,254,52,118,193,133,53,118,193,140,53,118,193,10,55,118,193,31,55,118,193,215,54,118,193,222,54,118,193,229,54,118,193,58,52,118,193,86,52,118,193,107,52,118,193,149,52,118,193,163,52,118,193,184,52,118,193,198,52,118,193,233,52,118,193,14,53,118,193,28,53,118,193,49,53,118,193,63,53,118,193,98,53,118,193,175,53,118,193,196,53,118,193,217,53,118,193,5,54,118,193,145,54,118,193,33,54,118,193,68,54,118,193,103,54,118,193,173,54,118,193,194,54,118,193,236,54,118,193,243,54,118,193,238,53,118,193,93,52,118,193,114,52,118,193,135,52,118,193,65,52,118,193,79,52,118,193,100,52,118,193,142,52,118,193,156,52,118,193,177,52,118,193,191,52,118,193,212,52,118,193,219,52,118,193,226,52,118,193,7,53,118,193,21,53,118,193,42,53,118,193,56,53,118,193,91,53,118,193,105,53,118,193,112,53,118,193,119,53,118,193,168,53,118,193,189,53,118,193,210,53,118,193,252,53,118,193,26,54,118,193,47,54,118,193,61,54,118,193,75,54,118,193,96,54,118,193,131,54,118,193,138,54,118,193,159,54,118,193,187,54,118,193,208,54,118,193,205,52,118,193,170,52,118,193,240,52,118,193,110,54,118,193,70,53,118,193,84,53,118,193,35,53,118,193,126,53,118,193,182,53,118,193,203,53,118,193,12,54,118,193,82,54,118,193,180,54,118,193,201,54,118,193,152,54,118,193,166,54,118,193,250,54,118,193,224,53,118,193,40,54,118,193,121,52,118,193,117,54,118,193,54,54,118,193,89,54,118,193,19,54,118,193,231,53,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,59,55,118,193,73,55,118,193,147,53,118,193,108,55,118,193,154,53,118,193,161,53,118,193,143,55,118,193,150,55,118,193,94,55,118,193,164,55,118,193,157,55,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,160,5,60,118,160,5,62,118,160,5,64,118,160,5,66,118,160,5,68,118,160,5,70,118,160,5,72,118,160,5,74,118,160,5,76,118,160,5,78,118,160,5,80,118,160,5,82,118,160,5,84,118,160,5,86,118,160,5,88,118,160,5,90,118,160,5,92,118,160,5,94,118,160,5,96,118,160,5,98,118,160,5,100,118,160,5,102,118,160,5,104,118,160,5,106,118,160,5,108,118,160,5,110,118,160,5,112,118,160,5,114,118,160,5,116,118,160,5,118,118,160,5,120,118,160,5,122,118,5,5,92,118,5,5,94,118,5,5,96,118,5,5,98,118,5,5,100,118,5,5,102,118,5,5,104,118,5,5,106,118,5,5,108,118,5,5,110,118,5,5,112,118,5,5,114,118,5,5,116,118,5,5,118,118,5,5,120,118,5,5,122,118,5,5,124,118,5,5,126,118,5,5,128,118,5,5,130,118,5,5,132,118,5,5,134,118,5,5,136,118,5,5,138,118,5,5,140,118,5,5,142,118,5,5,144,118,5,5,146,118,5,5,148,118,5,5,150,118,5,5,152,118,5,5,154,118,160,5,124,118,160,5,126,118,160,5,128,118,160,5,130,118,160,5,132,118,160,5,134,118,160,5,136,118,160,5,138,118,160,5,140,118,160,5,142,118,160,5,144,118,160,5,146,118,160,5,148,118,160,5,150,118,160,5,152,118,160,5,154,118,160,5,156,118,160,5,158,118,160,5,160,118,160,5,162,118,160,5,164,118,160,5,166,118,160,5,168,118,160,5,170,118,160,5,172,118,160,5,174,118,160,5,176,118,160,5,178,118,160,5,180,118,160,5,182,118,160,5,184,118,160,5,186,118,5,5,156,118,5,5,158,118,5,5,160,118,5,5,162,118,5,5,164,118,5,5,166,118,5,5,168,118,5,5,170,118,5,5,172,118,5,5,174,118,5,5,176,118,5,5,178,118,5,5,180,118,5,5,182,118,5,5,184,118,5,5,186,118,5,5,188,118,5,5,190,118,5,5,192,118,5,5,194,118,5,5,196,118,5,5,198,118,5,5,200,118,5,5,202,118,5,5,204,118,5,5,206,118,5,5,208,118,5,5,210,118,5,5,212,118,5,5,214,118,5,5,216,118,5,5,218,118,160,5,188,118,160,5,190,118,160,5,192,118,160,5,194,118,160,5,196,118,160,5,198,118,160,5,200,118,160,5,202,118,160,5,204,118,160,5,206,118,160,5,208,118,160,5,210,118,160,5,212,118,160,5,214,118,160,5,216,118,160,5,218,118,160,5,220,118,160,5,222,118,160,5,224,118,160,5,226,118,160,5,228,118,160,5,230,118,255,255,255,255,255,255,255,255,5,5,220,118,5,5,222,118,5,5,224,118,5,5,226,118,5,5,228,118,5,5,230,118,255,255,255,255,255,255,255,255,198,193,167,0,198,225,167,0,198,1,168,0,198,33,168,0,198,65,168,0,198,97,168,0,198,129,168,0,198,161,168,0,198,193,168,0,198,225,168,0,198,1,169,0,198,33,169,0,198,65,169,0,198,97,169,0,198,129,169,0,198,161,169,0,198,193,169,0,198,225,169,0,198,1,170,0,198,33,170,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,193,218,245,118,193,122,244,118,193,136,244,118,193,143,244,118,193,150,244,118,193,157,244,118,193,164,244,118,193,171,244,118,193,178,244,118,193,185,244,118,193,192,244,118,193,199,244,118,193,206,244,118,193,213,244,118,193,220,244,118,193,227,244,118,193,234,244,118,193,241,244,118,193,255,244,118,193,8,245,118,193,15,245,118,193,22,245,118,193,29,245,118,193,36,245,118,193,43,245,118,193,50,245,118,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,6,119,5,112,6,119,5,5,8,119,193,51,56,119,5,112,8,119,5,120,8,119,5,5,10,119,5,112,10,119,5,5,12,119,5,112,12,119,193,23,56,119,193,37,56,119,5,116,12,119,5,120,12,119,5,124,12,119,193,9,14,119,193,16,14,119,193,23,14,119,5,5,16,119,5,112,16,119,5,116,16,119,5,120,16,119,5,124,16,119,193,9,18,119,193,72,56,119,5,5,20,119,5,5,22,119,5,112,22,119,5,117,22,119,5,122,22,119,5,5,24,119,5,112,24,119,5,120,24,119,5,5,26,119,5,112,26,119,5,5,30,119,5,112,30,119,5,5,32,119,5,112,32,119,5,5,34,119,5,5,36,119,5,5,38,119,5,5,40,119,5,112,40,119,5,118,40,119,5,121,40,119,5,124,40,119,5,5,44,119,5,112,44,119,5,120,44,119,5,5,46,119,5,112,46,119,5,120,46,119,5,112,36,119,193,2,48,119,5,5,50,119,5,112,50,119,5,120,50,119,5,5,52,119,5,112,52,119,5,5,54,119,5,112,54,119,193,2,56,119,193,9,56,119,5,5,62,119,5,112,62,119,5,5,64,119,5,5,66,119,5,5,68,119,5,5,70,119,5,5,72,119,5,5,74,119,5,5,76,119,5,5,78,119,5,112,78,119,5,120,78,119,5,5,80,119,5,5,82,119,5,5,84,119,5,5,86,119,5,5,88,119,5,112,88,119,5,5,90,119,5,5,92,119,5,5,94,119,5,5,96,119,5,5,98,119,5,5,100,119,5,5,102,119,5,5,104,119,5,5,106,119,5,5,108,119,5,112,108,119,5,5,110,119,5,112,110,119,5,120,110,119,160,5,62,119,160,112,62,119,160,5,64,119,160,5,66,119,160,5,68,119,160,5,70,119,160,5,72,119,160,5,74,119,160,5,76,119,160,5,78,119,160,112,78,119,160,120,78,119,160,5,80,119,160,5,82,119,160,5,84,119,160,5,86,119,160,5,88,119,160,112,88,119,160,5,90,119,160,5,92,119,160,5,94,119,160,5,96,119,160,5,98,119,160,5,100,119,160,5,102,119,160,5,104,119,160,5,106,119,160,5,108,119,160,112,108,119,160,5,110,119,160,112,110,119,160,120,110,119,160,5,112,119,160,5,114,119,160,5,116,119,160,112,116,119,160,5,118,119,160,5,120,119,160,5,122,119,160,5,124,119,160,5,126,119,160,5,128,119,160,5,130,119,160,112,130,119,160,5,132,119,160,112,132,119,160,5,134,119,160,5,136,119,160,5,138,119,160,5,140,119,160,5,142,119,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,146,119,5,112,146,119,5,5,148,119,5,5,150,119,5,112,150,119,193,2,152,119,193,9,152,119,5,5,154,119,5,112,154,119,5,5,156,119,5,112,156,119,5,5,158,119,5,112,158,119,5,5,160,119,5,112,160,119,5,5,162,119,5,112,162,119,5,5,164,119,5,112,164,119,5,5,166,119,5,5,168,119,5,112,168,119,5,5,170,119,5,112,170,119,5,5,172,119,5,112,172,119,5,5,174,119,5,112,174,119,5,5,176,119,5,112,176,119,5,5,178,119,5,112,178,119,193,2,180,119,193,9,180,119,193,16,180,119,193,23,180,119,5,5,182,119,5,112,182,119,5,5,184,119,5,112,184,119,5,5,186,119,5,112,186,119,5,5,188,119,5,112,188,119,5,5,190,119,5,5,192,119,5,112,192,119,193,2,194,119,193,9,194,119,193,16,194,119,5,5,196,119,5,112,196,119,5,5,198,119,5,112,198,119,5,5,200,119,5,112,200,119,5,5,202,119,5,112,202,119,5,5,204,119,5,112,204,119,193,2,206,119,193,9,206,119,193,16,206,119,5,5,208,119,5,112,208,119,5,5,210,119,5,112,210,119,5,5,212,119,5,112,212,119,5,5,214,119,5,112,214,119,193,2,216,119,193,9,216,119,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,4,120,193,16,4,120,193,23,4,120,193,30,4,120,193,37,4,120,193,44,4,120,193,51,4,120,193,58,4,120,193,65,4,120,193,72,4,120,193,79,4,120,193,86,4,120,5,5,6,120,193,2,8,120,193,9,8,120,193,16,8,120,193,23,8,120,193,30,8,120,193,37,8,120,193,44,8,120,193,51,8,120,193,58,8,120,193,65,8,120,193,72,8,120,193,79,8,120,193,86,8,120,193,93,8,120,193,100,8,120,193,107,8,120,193,114,8,120,5,5,10,120,193,2,12,120,193,9,12,120,193,16,12,120,193,23,12,120,193,30,12,120,193,37,12,120,193,44,12,120,193,51,12,120,193,58,12,120,193,65,12,120,193,72,12,120,193,79,12,120,193,86,12,120,193,93,12,120,193,100,12,120,193,107,12,120,193,114,12,120,193,121,12,120,193,128,12,120,193,135,12,120,5,5,14,120,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,5,5,18,120,193,2,20,120,193,9,20,120,193,16,20,120,193,23,20,120,193,30,20,120,193,37,20,120,193,44,20,120,193,51,20,120,193,58,20,120,193,65,20,120,5,5,22,120,193,2,24,120,193,9,24,120,193,16,24,120,193,23,24,120,193,30,24,120,5,5,26,120,5,5,28,120,5,5,30,120,193,2,32,120,193,9,32,120,193,16,32,120,193,23,32,120,193,30,32,120,5,5,34,120,193,2,36,120,193,9,36,120,193,16,36,120,193,23,36,120,193,30,36,120,193,37,36,120,193,44,36,120,193,51,36,120,193,58,36,120,5,5,38,120,193,2,40,120,193,9,40,120,193,16,40,120,5,5,42,120,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,5,5,46,120,5,5,48,120,5,5,50,120,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,5,5,55,120,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,5,5,59,120,193,2,61,120,193,9,61,120,193,16,61,120,193,23,61,120,193,30,61,120,5,5,63,120,193,2,65,120,193,9,65,120,193,16,65,120,193,23,65,120,193,30,65,120,193,37,65,120,5,5,67,120,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,5,5,103,120,5,5,105,120,5,5,107,120,5,5,109,120,5,5,111,120,5,5,113,120,5,5,115,120,5,5,117,120,5,5,119,120,5,5,121,120,5,5,123,120,5,5,125,120,5,5,127,120,5,5,129,120,5,5,131,120,5,5,133,120,5,5,135,120,5,5,137,120,5,5,139,120,5,5,141,120,5,5,143,120,5,5,145,120,5,5,147,120,5,5,149,120,5,5,151,120,5,5,153,120,5,5,155,120,5,5,157,120,5,5,159,120,5,5,161,120,5,5,163,120,5,5,165,120,160,5,103,120,160,5,105,120,160,5,107,120,160,5,109,120,160,5,111,120,160,5,113,120,160,5,115,120,160,5,117,120,160,5,119,120,160,5,121,120,160,5,123,120,160,5,125,120,160,5,127,120,160,5,129,120,160,5,131,120,160,5,133,120,160,5,135,120,160,5,137,120,160,5,139,120,160,5,141,120,160,5,143,120,160,5,145,120,160,5,147,120,160,5,149,120,160,5,151,120,160,5,153,120,160,5,155,120,160,5,157,120,160,5,159,120,160,5,161,120,160,5,163,120,160,5,165,120,160,5,233,120,160,5,235,120,5,5,169,120,5,5,171,120,5,5,173,120,5,5,175,120,5,5,177,120,5,5,179,120,5,5,181,120,5,5,183,120,5,5,185,120,5,5,187,120,5,5,189,120,5,5,191,120,5,5,193,120,5,5,195,120,5,5,197,120,5,5,199,120,5,5,201,120,5,5,203,120,5,5,205,120,5,5,207,120,5,5,209,120,5,5,211,120,5,5,213,120,5,5,215,120,5,5,217,120,5,5,219,120,5,5,221,120,5,5,223,120,5,5,225,120,5,5,227,120,160,5,169,120,160,5,171,120,160,5,173,120,160,5,175,120,160,5,177,120,160,5,179,120,160,5,181,120,160,5,183,120,160,5,185,120,160,5,187,120,160,5,189,120,160,5,191,120,160,5,193,120,160,5,195,120,160,5,197,120,160,5,199,120,160,5,201,120,160,5,203,120,160,5,205,120,160,5,207,120,160,5,209,120,160,5,211,120,160,5,213,120,160,5,215,120,160,5,217,120,160,5,219,120,160,5,221,120,160,5,223,120,160,5,225,120,160,5,227,120,160,5,229,120,160,5,231,120,5,5,6,121,5,5,8,121,5,5,10,121,5,5,12,121,5,5,14,121,5,5,16,121,5,5,18,121,5,5,20,121,5,5,22,121,5,5,24,121,5,5,26,121,5,5,28,121,5,5,30,121,5,5,32,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,44,121,5,5,46,121,5,5,48,121,193,2,50,121,193,9,50,121,193,16,50,121,193,23,50,121,5,5,52,121,5,5,54,121,5,5,56,121,5,5,58,121,5,5,60,121,5,5,62,121,5,5,86,123,5,5,88,123,5,5,90,123,5,5,92,123,5,5,94,123,5,5,98,123,5,5,104,123,5,5,106,123,5,5,108,123,5,5,110,123,5,5,16,123,5,5,32,123,5,5,44,123,5,5,112,123,32,5,76,123,5,5,24,123,255,255,255,255,16,5,6,121,32,5,8,121,32,5,183,121,16,5,10,121,32,5,187,121,32,5,189,121,16,5,12,121,32,5,14,121,16,5,16,121,32,5,195,121,32,5,197,121,32,5,199,121,32,5,201,121,32,5,203,121,32,5,205,121,198,1,171,0,172,5,6,121,174,5,8,121,174,5,183,121,172,5,10,121,174,5,187,121,174,5,189,121,172,5,12,121,174,5,14,121,172,5,16,121,174,5,195,121,174,5,197,121,174,5,199,121,174,5,201,121,174,5,203,121,174,5,205,121,174,5,52,121,172,5,18,121,172,5,20,121,174,5,22,121,174,5,66,121,172,5,24,121,174,5,26,121,172,5,28,121,172,5,30,121,174,5,32,121,172,5,34,121,172,5,36,121,172,5,38,121,172,5,40,121,172,5,42,121,255,255,255,255,32,5,52,121,16,5,18,121,16,5,20,121,32,5,22,121,32,5,66,121,16,5,24,121,32,5,26,121,16,5,28,121,16,5,30,121,32,5,32,121,16,5,34,121,16,5,36,121,16,5,38,121,16,5,40,121,16,5,42,121,16,5,103,121,32,5,105,121,32,5,107,121,32,5,109,121,32,5,111,121,32,5,113,121,32,5,115,121,32,5,117,121,16,5,119,121,32,5,121,121,32,5,123,121,32,5,125,121,32,5,127,121,16,5,129,121,32,5,131,121,32,5,133,121,32,5,135,121,32,5,137,121,32,5,139,121,16,5,141,121,32,5,143,121,198,225,170,0,32,5,46,121,32,5,48,121,32,5,235,121,32,5,237,121,32,5,241,121,32,5,245,121,198,33,171,0,198,65,171,0,198,97,171,0,32,5,56,121,198,129,171,0,198,161,171,0,32,5,58,121,32,5,60,121,32,5,64,121,32,5,68,121,32,5,70,121,32,5,74,121,32,5,78,121,32,5,82,121,32,5,84,121,32,5,86,121,32,5,88,121,32,5,90,121,198,65,170,0,198,97,170,0,198,129,170,0,5,5,64,121,5,5,66,121,5,5,68,121,5,5,70,121,193,2,72,121,193,9,72,121,193,16,72,121,5,5,74,121,5,5,76,121,5,5,78,121,5,5,80,121,5,5,82,121,5,5,84,121,5,5,86,121,5,5,88,121,5,5,90,121,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,5,5,95,121,5,5,97,121,5,5,99,121,193,2,101,121,193,9,101,121,193,16,101,121,193,23,101,121,193,30,101,121,193,240,101,121,193,37,101,121,193,44,101,121,193,51,101,121,193,58,101,121,193,65,101,121,193,72,101,121,193,79,101,121,193,86,101,121,193,93,101,121,193,100,101,121,193,107,101,121,193,114,101,121,193,121,101,121,193,128,101,121,193,135,101,121,193,142,101,121,193,149,101,121,193,156,101,121,193,163,101,121,193,170,101,121,193,177,101,121,193,184,101,121,193,191,101,121,193,198,101,121,193,205,101,121,193,212,101,121,193,219,101,121,193,226,101,121,193,233,101,121,255,255,255,255,255,255,255,255,255,255,255,255,193,247,101,121,5,5,103,121,5,5,105,121,5,5,107,121,5,5,109,121,5,5,111,121,5,5,113,121,5,5,115,121,5,5,117,121,5,5,119,121,5,5,121,121,5,5,123,121,5,5,125,121,5,5,127,121,5,5,129,121,5,5,131,121,5,5,133,121,5,5,135,121,5,5,137,121,5,5,139,121,5,5,141,121,5,5,143,121,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,255,255,255,255,255,255,255,255,172,5,103,121,174,5,105,121,174,5,107,121,174,5,109,121,174,5,111,121,174,5,113,121,255,255,255,255,255,255,255,255,174,5,115,121,174,5,117,121,172,5,119,121,174,5,121,121,174,5,123,121,174,5,125,121,255,255,255,255,255,255,255,255,174,5,127,121,172,5,129,121,174,5,131,121,174,5,133,121,174,5,135,121,174,5,137,121,255,255,255,255,255,255,255,255,174,5,139,121,172,5,141,121,174,5,143,121,255,255,255,255,255,255,255,255,255,255,255,255,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,5,5,147,121,5,5,149,121,5,5,151,121,5,5,153,121,5,5,155,121,193,2,157,121,193,9,157,121,193,16,157,121,193,23,157,121,193,30,157,121,193,37,157,121,193,44,157,121,193,51,157,121,5,5,159,121,5,5,161,121,5,5,163,121,5,5,165,121,193,2,167,121,193,9,167,121,193,16,167,121,193,23,167,121,193,30,167,121,193,37,167,121,193,44,167,121,193,51,167,121,193,58,167,121,5,5,169,121,5,5,171,121,5,5,173,121,5,5,175,121,193,2,177,121,193,9,177,121,193,16,177,121,193,23,177,121,193,30,177,121,193,37,177,121,5,5,179,121,5,5,181,121,5,5,183,121,5,5,185,121,5,5,187,121,5,5,189,121,5,5,191,121,5,5,193,121,5,5,195,121,5,5,197,121,5,5,199,121,5,5,201,121,5,5,203,121,5,5,205,121,5,5,207,121,5,5,209,121,5,5,211,121,5,5,213,121,5,5,215,121,5,5,217,121,5,5,219,121,5,5,221,121,5,5,223,121,5,5,225,121,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,5,5,227,121,5,5,229,121,5,5,231,121,193,2,233,121,193,9,233,121,193,16,233,121,193,23,233,121,5,5,235,121,5,5,237,121,193,2,239,121,193,9,239,121,193,16,239,121,5,5,241,121,5,5,243,121,5,5,245,121,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,5,6,122,133,5,6,122,3,5,8,122,133,5,8,122,3,5,10,122,133,5,10,122,3,5,14,122,133,5,14,122,3,5,16,122,133,5,16,122,133,5,18,122,197,98,185,2,133,5,20,122,197,66,188,2,133,5,22,122,197,98,193,2,133,5,24,122,197,226,195,2,133,5,26,122,197,194,196,2,133,5,28,122,197,162,198,2,133,5,30,122,197,66,200,2,133,5,32,122,197,162,201,2,133,5,34,122,197,34,202,2,133,5,36,122,197,98,203,2,133,5,38,122,197,197,179,2,197,100,180,2,197,229,180,2,197,99,179,2,197,133,181,2,197,35,182,2,197,3,183,2,197,230,183,2,197,100,183,2,197,3,185,2,197,163,184,2,197,227,185,2,197,68,186,2,197,196,186,2,197,68,187,2,197,196,187,2,197,196,188,2,197,68,189,2,197,196,189,2,197,70,190,2,197,2,191,2,197,70,191,2,197,6,192,2,197,197,192,2,197,132,191,2,197,230,193,2,197,166,194,2,197,100,195,2,197,99,196,2,197,67,198,2,197,68,197,2,197,36,199,2,133,5,12,122,193,93,104,122,193,2,104,122,193,9,104,122,193,16,104,122,193,23,104,122,193,30,104,122,193,37,104,122,193,44,104,122,193,51,104,122,193,58,104,122,193,65,104,122,193,72,104,122,193,79,104,122,193,86,104,122,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,197,2,225,2,197,194,197,2,49,5,28,122,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,193,191,0,198,33,186,0,198,97,182,0,197,98,206,2,198,1,176,0,198,225,184,0,198,129,212,0,198,161,185,0,198,97,176,0,198,129,194,0,198,1,199,0,198,65,193,0,198,161,179,0,198,193,190,0,198,65,178,0,198,129,193,0,197,165,199,2,197,5,201,2,197,163,202,2,197,3,203,2,197,100,204,2,197,163,206,2,197,131,207,2,197,98,194,2,197,226,207,2,197,35,208,2,197,99,211,2,197,134,209,2,197,68,210,2,197,197,210,2,197,198,212,2,197,132,213,2,197,3,214,2,197,99,214,2,197,198,215,2,197,132,216,2,197,6,217,2,197,195,217,2,197,69,220,2,197,227,220,2,197,68,221,2,197,195,221,2,197,36,222,2,197,37,219,2,197,196,219,2,197,101,224,2,197,68,225,2,197,194,225,2,197,226,203,2,133,5,40,122,197,226,204,2,3,5,42,122,133,5,42,122,197,98,205,2,133,5,44,122,197,226,205,2,133,5,46,122,197,2,207,2,133,5,48,122,133,5,50,122,133,5,52,122,133,5,54,122,133,5,56,122,133,5,58,122,197,130,208,2,197,2,209,2,133,5,60,122,197,194,211,2,197,66,212,2,133,5,62,122,197,194,214,2,197,66,215,2,133,5,64,122,197,34,218,2,197,162,218,2,133,5,66,122,197,162,222,2,197,34,223,2,133,5,68,122,133,5,70,122,197,34,204,2,144,5,40,122,197,34,205,2,16,5,42,122,158,5,42,122,197,162,205,2,144,5,44,122,197,34,206,2,151,5,46,122,197,66,207,2,144,5,48,122,144,5,50,122,155,5,52,122,144,5,54,122,144,5,56,122,152,5,58,122,197,194,208,2,197,66,209,2,152,5,60,122,197,2,212,2,197,130,212,2,152,5,62,122,197,2,215,2,197,130,215,2,152,5,64,122,197,98,218,2,197,226,218,2,152,5,66,122,197,226,222,2,197,98,223,2,144,5,68,122,144,5,70,122,38,5,40,122,44,5,42,122,38,5,44,122,37,5,46,122,38,5,48,122,38,5,50,122,49,5,52,122,38,5,54,122,38,5,56,122,40,5,58,122,40,5,60,122,40,5,62,122,40,5,64,122,40,5,66,122,38,5,68,122,38,5,70,122,40,5,72,122,38,5,74,122,44,5,76,122,44,5,78,122,44,5,80,122,40,5,82,122,40,5,84,122,37,5,86,122,40,5,88,122,40,5,90,122,40,5,92,122,40,5,94,122,44,5,96,122,44,5,98,122,49,5,100,122,198,226,176,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,5,96,122,3,5,98,122,3,5,100,122,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,5,96,122,16,5,98,122,16,5,100,122,16,5,102,122,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,6,123,5,5,8,123,5,5,10,123,5,5,14,123,5,5,18,123,5,5,20,123,5,5,22,123,5,5,26,123,5,5,28,123,5,5,30,123,5,5,36,123,5,5,38,123,5,5,40,123,5,5,42,123,5,5,50,123,5,5,52,123,5,5,54,123,5,5,56,123,5,5,58,123,5,5,60,123,5,5,62,123,5,5,70,123,5,5,72,123,5,5,76,123,5,5,78,123,5,5,82,123,5,5,84,123,5,112,6,123,5,112,58,123,5,112,38,123,5,112,28,123,5,5,80,123,5,112,80,123,5,5,74,123,5,112,72,123,5,120,108,123,5,112,70,123,5,112,106,123,5,112,108,123,5,5,12,123,5,5,34,123,5,112,82,123,5,112,86,123,5,5,100,123,5,5,102,123,5,5,96,123,32,112,106,123,32,5,8,123,32,5,20,123,32,5,30,123,32,5,36,123,5,5,64,123,5,5,66,123,5,5,68,123,32,5,28,123,5,5,46,123,5,5,48,123,5,5,114,123,5,5,116,123,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,7,152,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,153,123,193,16,153,123,193,23,153,123,193,30,153,123,5,5,155,123,193,2,157,123,32,5,155,123,193,9,157,123,193,16,157,123,193,23,157,123,193,30,157,123,193,37,157,123,193,44,157,123,193,51,157,123,193,65,157,123,193,72,157,123,5,5,159,123,193,2,161,123,193,9,161,123,32,5,159,123,193,16,161,123,193,23,161,123,193,30,161,123,193,37,161,123,193,44,161,123,193,51,161,123,193,58,161,123,193,65,161,123,193,72,161,123,193,79,161,123,193,86,161,123,193,93,161,123,193,9,169,123,193,16,169,123,193,23,169,123,193,30,169,123,193,37,169,123,193,37,153,123,193,114,165,123,193,100,165,123,193,58,157,123,193,163,165,123,193,79,157,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,72,169,123,193,44,169,123,193,51,169,123,193,58,169,123,193,65,169,123,193,79,169,123,193,86,169,123,193,93,169,123,193,100,169,123,193,107,169,123,193,121,169,123,193,128,169,123,193,135,169,123,193,142,169,123,193,156,169,123,193,163,169,123,193,170,169,123,193,100,161,123,193,107,161,123,193,114,161,123,5,5,163,123,193,2,165,123,32,5,163,123,193,9,165,123,193,16,165,123,193,23,165,123,193,30,165,123,193,37,165,123,193,44,165,123,193,51,165,123,193,58,165,123,193,65,165,123,193,72,165,123,193,79,165,123,193,86,165,123,193,93,165,123,193,107,165,123,193,121,165,123,193,128,165,123,193,135,165,123,193,142,165,123,193,149,165,123,193,156,165,123,193,170,165,123,193,177,165,123,193,184,165,123,5,5,167,123,193,2,169,123,32,5,167,123,193,84,170,123,193,114,169,123,193,112,170,123,193,149,169,123,193,184,169,123,193,105,170,123,193,226,169,123,193,42,170,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,189,170,123,193,196,170,123,193,203,170,123,193,210,170,123,193,217,170,123,193,224,170,123,193,231,170,123,193,238,170,123,193,245,170,123,193,252,170,123,193,5,171,123,193,12,171,123,193,19,171,123,193,26,171,123,193,33,171,123,193,40,171,123,193,47,171,123,193,177,169,123,193,191,169,123,193,198,169,123,193,205,169,123,193,212,169,123,193,219,169,123,193,233,169,123,193,240,169,123,193,247,169,123,193,254,169,123,193,7,170,123,193,14,170,123,193,21,170,123,193,28,170,123,193,49,170,123,193,56,170,123,193,63,170,123,193,70,170,123,193,77,170,123,193,91,170,123,193,98,170,123,193,119,170,123,193,126,170,123,193,133,170,123,193,140,170,123,193,147,170,123,193,154,170,123,193,161,170,123,193,168,170,123,193,175,170,123,193,182,170,123,193,35,170,123,5,5,174,123,5,5,176,123,5,5,178,123,5,5,180,123,5,5,182,123,5,5,184,123,5,5,186,123,5,5,188,123,5,5,190,123,5,5,192,123,5,5,194,123,5,5,196,123,5,5,198,123,5,5,200,123,5,5,202,123,5,5,204,123,5,5,206,123,5,5,208,123,5,5,210,123,5,5,212,123,5,5,214,123,5,5,216,123,5,5,218,123,5,5,220,123,5,5,222,123,5,5,224,123,5,5,226,123,5,5,228,123,5,5,230,123,5,5,232,123,5,5,234,123,5,5,236,123,160,5,174,123,160,5,176,123,160,5,178,123,160,5,180,123,160,5,182,123,160,5,184,123,160,5,186,123,160,5,188,123,160,5,190,123,160,5,192,123,160,5,194,123,160,5,196,123,160,5,198,123,160,5,200,123,160,5,202,123,160,5,204,123,160,5,206,123,160,5,208,123,160,5,210,123,160,5,212,123,160,5,214,123,160,5,216,123,160,5,218,123,160,5,220,123,160,5,222,123,160,5,224,123,160,5,226,123,160,5,228,123,160,5,230,123,160,5,232,123,160,5,234,123,160,5,236,123,193,58,238,123,193,65,238,123,193,72,238,123,193,79,238,123,193,86,238,123,193,93,238,123,193,100,238,123,193,107,238,123,193,114,238,123,193,121,238,123,193,128,238,123,193,135,238,123,193,142,238,123,193,149,238,123,193,156,238,123,193,163,238,123,193,170,238,123,193,177,238,123,193,184,238,123,193,191,238,123,193,198,238,123,193,9,238,123,193,16,238,123,193,23,238,123,193,30,238,123,193,37,238,123,193,44,238,123,193,51,238,123,193,205,238,123,193,212,238,123,193,254,238,123,193,219,238,123,193,226,238,123,193,233,238,123,193,240,238,123,193,247,238,123,193,7,239,123,193,49,239,123,193,35,239,123,193,133,239,123,193,56,239,123,193,42,239,123,193,140,239,123,193,105,239,123,193,91,239,123,193,112,239,123,193,98,239,123,193,14,239,123,193,147,239,123,193,28,239,123,193,21,239,123,193,77,239,123,193,63,239,123,193,119,239,123,193,84,239,123,193,70,239,123,193,126,239,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,193,19,242,123,193,26,242,123,193,33,242,123,193,40,242,123,193,47,242,123,193,54,242,123,193,61,242,123,193,68,242,123,193,75,242,123,193,82,242,123,193,89,242,123,193,96,242,123,193,103,242,123,193,110,242,123,193,117,242,123,193,124,242,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,193,9,247,123,193,16,247,123,193,23,247,123,193,30,247,123,193,37,247,123,193,44,247,123,193,51,247,123,193,58,247,123,193,65,247,123,193,72,247,123,193,79,247,123,193,86,247,123,193,93,247,123,193,100,247,123,193,107,247,123,193,114,247,123,193,121,247,123,193,128,247,123,193,135,247,123,193,142,247,123,193,149,247,123,193,156,247,123,193,163,247,123,193,170,247,123,193,177,247,123,193,184,247,123,193,191,247,123,193,198,247,123,193,205,247,123,255,255,255,255,255,255,255,255,255,255,255,255,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,251,123,193,16,251,123,193,23,251,123,193,30,251,123,193,37,251,123,193,44,251,123,193,51,251,123,193,58,251,123,193,65,251,123,193,72,251,123,193,79,251,123,193,86,251,123,193,93,251,123,193,100,251,123,193,107,251,123,193,121,251,123,193,128,251,123,193,135,251,123,193,142,251,123,193,149,251,123,193,156,251,123,193,163,251,123,193,170,251,123,193,177,251,123,193,184,251,123,193,191,251,123,193,198,251,123,193,205,251,123,193,212,251,123,193,219,251,123,193,226,251,123,193,114,251,123,160,5,70,124,160,5,72,124,160,5,74,124,160,5,76,124,160,5,78,124,160,5,80,124,160,5,82,124,160,5,84,124,5,5,6,124,5,5,8,124,5,5,10,124,5,5,12,124,5,5,14,124,5,5,16,124,5,5,18,124,5,5,20,124,5,5,22,124,5,5,24,124,5,5,26,124,5,5,28,124,5,5,30,124,5,5,32,124,5,5,34,124,5,5,36,124,5,5,38,124,5,5,40,124,5,5,42,124,5,5,44,124,5,5,46,124,5,5,48,124,5,5,50,124,5,5,52,124,160,5,6,124,160,5,8,124,160,5,10,124,160,5,12,124,160,5,14,124,160,5,16,124,160,5,18,124,160,5,20,124,160,5,22,124,160,5,24,124,160,5,26,124,160,5,28,124,160,5,30,124,160,5,32,124,160,5,34,124,160,5,36,124,160,5,38,124,160,5,40,124,160,5,42,124,160,5,44,124,160,5,46,124,160,5,48,124,160,5,50,124,160,5,52,124,160,5,54,124,160,5,56,124,160,5,58,124,160,5,60,124,160,5,62,124,160,5,64,124,160,5,66,124,160,5,68,124,5,5,54,124,5,5,56,124,5,5,58,124,5,5,60,124,5,5,62,124,5,5,64,124,5,5,66,124,5,5,68,124,5,5,70,124,5,5,72,124,5,5,74,124,5,5,76,124,5,5,78,124,5,5,80,124,5,5,82,124,5,5,84,124,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,250,90,124,193,3,91,124,193,10,91,124,193,17,91,124,193,24,91,124,193,31,91,124,193,38,91,124,193,45,91,124,193,52,91,124,193,59,91,124,193,66,91,124,193,73,91,124,193,80,91,124,255,255,255,255,255,255,255,255,255,255,255,255,193,9,92,124,193,16,92,124,193,23,92,124,193,30,92,124,193,37,92,124,193,44,92,124,193,51,92,124,193,58,92,124,193,65,92,124,193,72,92,124,193,79,92,124,193,86,92,124,193,93,92,124,193,100,92,124,193,107,92,124,193,114,92,124,193,121,92,124,193,128,92,124,193,135,92,124,193,142,92,124,193,149,92,124,193,156,92,124,193,163,92,124,193,170,92,124,193,177,92,124,193,184,92,124,193,191,92,124,193,198,92,124,193,205,92,124,193,212,92,124,255,255,255,255,255,255,255,255,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,193,9,98,124,193,16,98,124,193,23,98,124,193,30,98,124,193,37,98,124,193,44,98,124,193,51,98,124,193,58,98,124,193,65,98,124,193,72,98,124,193,79,98,124,193,86,98,124,193,93,98,124,193,100,98,124,193,107,98,124,193,114,98,124,193,121,98,124,193,128,98,124,193,135,98,124,193,142,98,124,193,149,98,124,193,156,98,124,193,163,98,124,193,170,98,124,193,177,98,124,193,184,98,124,193,191,98,124,193,198,98,124,193,205,98,124,193,212,98,124,193,219,98,124,255,255,255,255,193,9,99,124,193,16,99,124,193,23,99,124,193,30,99,124,193,37,99,124,193,44,99,124,193,51,99,124,193,58,99,124,193,65,99,124,193,72,99,124,193,79,99,124,193,86,99,124,255,255,255,255,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,255,255,255,255,193,21,100,124,193,28,100,124,193,35,100,124,193,42,100,124,193,49,100,124,193,56,100,124,193,63,100,124,193,70,100,124,193,77,100,124,193,84,100,124,193,91,100,124,193,98,100,124,193,105,100,124,193,112,100,124,193,119,100,124,193,126,100,124,193,133,100,124,193,140,100,124,193,147,100,124,255,255,255,255,193,154,100,124,193,161,100,124,255,255,255,255,193,168,100,124,193,175,100,124,193,182,100,124,193,189,100,124,193,196,100,124,193,203,100,124,193,210,100,124,193,217,100,124,193,224,100,124,193,231,100,124,193,238,100,124,193,245,100,124,193,252,100,124,193,5,101,124,193,12,101,124,255,255,255,255,255,255,255,255,193,19,101,124,193,26,101,124,193,33,101,124,193,40,101,124,193,47,101,124,193,54,101,124,193,61,101,124,193,68,101,124,193,75,101,124,193,82,101,124,193,89,101,124,193,96,101,124,193,103,101,124,193,110,101,124,255,255,255,255,255,255,255,255,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,154,113,124,193,161,113,124,193,168,113,124,193,175,113,124,193,182,113,124,193,189,113,124,193,196,113,124,193,203,113,124,193,210,113,124,193,217,113,124,193,224,113,124,193,231,113,124,193,238,113,124,193,245,113,124,193,252,113,124,193,5,114,124,193,12,114,124,193,19,114,124,193,26,114,124,193,33,114,124,193,40,114,124,193,47,114,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,54,114,124,193,61,114,124,193,68,114,124,193,75,114,124,193,82,114,124,193,89,114,124,193,96,114,124,193,103,114,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,115,124,193,16,115,124,193,23,115,124,193,30,115,124,193,37,115,124,193,44,115,124,255,255,255,255,255,255,255,255,193,51,115,124,255,255,255,255,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,255,255,255,255,193,112,116,124,193,119,116,124,255,255,255,255,255,255,255,255,255,255,255,255,193,126,116,124,255,255,255,255,255,255,255,255,193,133,116,124,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,32,5,132,124,5,5,132,124,32,5,134,124,5,5,134,124,193,2,136,124,193,9,136,124,32,5,138,124,5,5,138,124,193,2,140,124,193,9,140,124,193,16,140,124,193,23,140,124,32,5,142,124,5,5,142,124,32,5,144,124,5,5,144,124,32,5,146,124,5,5,146,124,32,5,148,124,5,5,148,124,32,5,150,124,5,5,150,124,193,2,152,124,193,9,152,124,193,16,152,124,193,23,152,124,193,30,152,124,193,37,152,124,32,5,154,124,5,5,154,124,193,2,156,124,255,255,255,255,193,9,162,124,193,16,162,124,193,23,162,124,193,30,162,124,193,37,162,124,193,44,162,124,193,51,162,124,193,58,162,124,193,65,162,124,193,72,162,124,193,79,162,124,193,86,162,124,193,93,162,124,193,100,162,124,193,107,162,124,193,114,162,124,193,121,162,124,193,128,162,124,193,135,162,124,193,142,162,124,193,149,162,124,193,156,162,124,198,2,172,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,163,124,193,16,163,124,193,23,163,124,193,30,163,124,193,37,163,124,193,44,163,124,193,51,163,124,5,5,165,124,5,112,165,124,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,193,9,201,124,193,16,201,124,193,23,201,124,193,30,201,124,193,37,201,124,193,44,201,124,193,51,201,124,193,58,201,124,193,65,201,124,193,72,201,124,193,79,201,124,193,86,201,124,193,93,201,124,193,100,201,124,193,107,201,124,193,114,201,124,193,121,201,124,193,128,201,124,193,135,201,124,193,142,201,124,193,149,201,124,193,156,201,124,193,163,201,124,193,170,201,124,193,177,201,124,193,184,201,124,193,191,201,124,193,198,201,124,193,205,201,124,193,212,201,124,193,219,201,124,193,226,201,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,193,9,205,124,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,193,222,223,124,193,229,223,124,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,5,112,36,125,5,112,38,125,5,112,40,125,5,112,42,125,5,112,44,125,5,112,46,125,5,112,48,125,5,120,48,125,5,112,50,125,5,112,52,125,5,112,54,125,5,120,54,125,5,112,56,125,5,120,56,125,5,112,58,125,5,120,58,125,5,112,60,125,5,112,62,125,5,112,64,125,5,117,66,125,5,122,66,125,5,112,68,125,5,112,70,125,5,112,72,125,5,112,74,125,5,120,74,125,5,112,76,125,5,120,76,125,5,112,78,125,5,112,80,125,193,16,82,125,193,23,82,125,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,193,96,154,125,193,98,154,125,193,100,154,125,193,102,154,125,193,104,154,125,193,106,154,125,193,108,154,125,193,110,154,125,193,112,154,125,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,193,119,0,198,225,173,0,198,129,174,0,198,193,174,0,198,225,174,0,198,161,175,0,198,65,121,0,198,65,176,0,198,129,176,0,198,129,177,0,198,161,177,0,198,33,123,0,198,1,178,0,198,97,178,0,198,161,178,0,198,193,178,0,198,1,179,0,198,33,179,0,198,225,179,0,198,33,180,0,198,65,180,0,198,97,180,0,198,129,180,0,198,65,124,0,198,65,181,0,198,129,181,0,198,225,181,0,198,33,182,0,198,65,182,0,198,129,182,0,198,161,183,0,198,33,126,0,198,65,172,0,198,193,175,0,198,225,172,0,198,193,183,0,198,33,176,0,198,225,177,0,198,193,172,0,198,193,177,0,198,129,175,0,198,193,180,0,198,1,195,0,198,193,198,0,198,1,198,0,198,161,195,0,198,193,216,0,198,1,184,0,198,1,194,0,198,193,195,0,198,97,195,0,198,97,204,0,198,33,183,0,198,97,200,0,198,129,213,0,198,129,204,0,198,1,180,0,198,1,205,0,198,65,202,0,198,225,185,0,198,225,215,0,198,97,177,0,198,193,181,0,198,97,198,0,198,129,179,0,198,65,206,0,198,161,201,0,198,161,213,0,198,97,184,0,198,65,183,0,198,161,198,0,198,33,192,0,198,97,192,0,198,129,172,0,198,33,173,0,198,193,215,0,198,97,188,0,198,97,174,0,198,225,182,0,198,65,192,0,198,65,214,0,198,1,192,0,198,161,204,0,198,65,205,0,198,1,183,0,198,129,198,0,198,129,195,0,198,33,195,0,198,33,202,0,198,193,179,0,198,129,183,0,198,97,216,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,220,171,251,193,122,79,252,193,172,95,252,193,248,45,251,193,116,132,252,193,160,14,251,193,44,168,251,193,76,2,251,193,12,24,252,193,74,216,251,193,226,174,252,193,14,54,251,193,190,93,251,193,20,114,252,193,254,232,252,193,156,33,253,193,244,14,252,193,128,78,253,193,254,22,252,193,236,194,251,193,222,224,252,193,162,198,251,193,164,95,252,193,76,9,251,193,248,27,251,193,82,32,251,193,12,241,251,193,218,172,252,193,108,222,252,193,140,34,253,193,124,98,253,193,176,44,251,193,106,20,253,193,198,136,252,193,174,35,253,193,116,37,253,193,132,50,253,193,148,52,253,193,178,78,253,193,170,81,253,193,218,133,253,193,88,148,253,193,28,150,253,193,120,173,251,193,10,56,252,193,28,219,252,255,255,255,255,255,255,255,255,193,48,3,251,193,146,31,251,193,210,27,251,193,90,13,251,193,40,26,251,193,66,29,251,193,254,42,251,193,246,44,251,193,92,67,251,193,192,64,251,193,84,67,251,193,228,69,251,193,182,93,251,193,52,96,251,193,132,103,251,193,254,103,251,198,193,197,0,198,33,198,0,198,65,198,0,198,225,198,0,198,65,199,0,198,97,199,0,198,1,174,0,198,65,200,0,198,161,200,0,198,1,201,0,198,129,202,0,198,129,203,0,198,33,204,0,198,65,204,0,198,161,205,0,198,33,206,0,198,97,206,0,198,1,207,0,198,193,206,0,198,33,207,0,198,65,207,0,198,225,206,0,198,129,207,0,198,161,207,0,198,193,207,0,198,33,208,0,198,225,208,0,198,193,208,0,198,33,209,0,198,129,209,0,198,97,210,0,198,129,210,0,193,100,44,253,193,102,232,251,193,218,70,253,193,10,50,253,193,144,34,252,193,112,4,251,193,130,56,251,193,118,224,253,193,118,224,253,193,248,103,251,193,242,98,253,193,50,67,251,193,140,103,251,193,224,186,251,193,20,106,252,193,164,192,252,193,126,251,252,193,46,9,253,193,152,19,253,193,54,87,253,193,92,250,251,193,108,25,252,193,20,51,252,193,94,81,252,193,230,232,252,193,142,94,253,193,72,167,253,193,202,7,251,193,56,50,251,193,224,4,252,193,76,63,252,193,32,250,252,198,161,174,0,198,1,182,0,198,97,175,0,198,65,175,0,198,33,175,0,198,193,176,0,198,33,178,0,198,225,178,0,198,65,179,0,198,97,179,0,198,97,181,0,198,161,181,0,198,225,186,0,198,1,187,0,198,65,187,0,198,97,187,0,198,33,187,0,198,129,187,0,198,161,188,0,198,65,189,0,198,97,190,0,198,65,190,0,198,65,191,0,198,33,191,0,198,225,191,0,198,193,192,0,255,255,255,255,198,225,193,0,198,33,194,0,198,65,195,0,198,225,196,0,198,65,197,0,193,250,2,251,193,206,4,251,193,2,5,251,193,116,8,251,193,106,12,251,193,126,14,251,193,152,14,251,193,20,16,251,193,14,18,251,193,68,19,251,193,160,21,251,193,112,21,251,193,76,24,251,193,14,34,251,193,68,26,251,193,102,26,251,193,164,27,251,193,156,28,251,193,228,28,251,193,98,29,251,193,194,27,251,193,162,29,251,193,166,29,251,193,76,30,251,193,180,30,251,193,114,10,251,193,78,31,251,193,146,31,251,193,24,140,253,193,200,34,251,193,140,35,251,193,124,36,251,193,178,209,253,193,148,34,253,193,232,98,251,193,134,160,251,193,236,166,252,193,102,203,252,193,126,68,252,193,22,131,252,193,252,49,253,193,44,135,253,193,118,98,251,193,24,134,251,193,126,250,251,193,38,29,252,193,174,36,252,193,130,175,252,193,210,181,252,193,170,126,253,193,146,43,251,193,234,203,252,193,94,33,251,193,88,32,251,193,86,143,252,193,104,178,252,193,94,230,252,193,196,127,253,193,180,39,253,193,198,193,251,193,92,250,251,193,168,35,253,193,216,4,251,193,158,125,251,193,36,18,253,193,156,33,253,193,160,157,251,193,216,170,251,193,88,198,251,193,86,14,252,193,216,164,252,193,192,78,252,193,182,10,251,193,252,83,251,193,158,125,251,193,98,145,251,193,240,171,251,193,128,80,252,193,64,85,252,193,128,193,252,193,212,200,252,193,80,100,253,193,42,135,253,193,76,139,253,193,36,149,253,193,112,13,251,193,138,139,252,193,88,97,253,193,212,131,253,193,116,176,251,193,252,7,251,193,134,21,251,193,48,126,251,193,254,131,251,193,206,218,251,193,92,250,251,193,32,223,251,193,232,235,251,193,90,241,251,193,60,24,252,193,70,82,252,193,214,100,252,193,10,192,252,193,192,18,253,193,228,18,253,193,98,98,253,193,216,133,253,193,166,47,251,193,102,34,252,193,144,57,251,193,110,59,252,193,214,86,252,193,190,248,252,193,34,130,253,193,252,190,253,193,236,210,253,193,196,236,251,193,8,29,252,193,190,215,252,193,118,152,252,193,148,155,252,193,18,169,252,193,144,72,252,193,98,49,252,193,56,38,253,193,90,10,251,193,44,226,252,193,244,36,251,193,16,206,253,193,90,141,251,193,16,43,252,193,184,245,252,193,114,23,253,193,186,193,251,193,80,214,252,193,200,12,253,193,48,157,251,193,240,233,251,193,236,26,252,193,98,74,252,193,196,88,253,193,102,13,251,193,150,31,251,193,208,43,251,193,192,207,251,193,44,3,252,193,174,62,252,193,104,112,252,193,84,198,252,193,214,248,252,193,56,253,252,193,36,61,253,193,36,138,253,193,126,184,253,193,208,203,253,193,58,129,252,193,76,137,252,193,44,178,252,193,14,230,252,193,206,103,253,193,106,59,252,193,118,104,252,193,118,238,252,193,226,84,253,193,12,224,253,193,114,227,251,193,228,125,253,193,248,40,251,193,142,236,251,193,36,238,251,193,184,25,252,193,42,34,252,193,136,81,252,193,54,95,252,193,110,128,252,193,190,174,252,193,166,151,253,193,80,28,251,193,254,189,251,193,202,127,253,193,102,16,251,193,232,139,251,193,70,29,252,193,46,73,253,193,6,167,251,193,18,180,251,193,22,239,251,193,122,79,252,193,122,128,253,193,114,36,251,193,6,57,251,193,78,134,251,193,70,204,251,193,180,198,251,193,188,204,251,193,128,204,251,193,170,204,251,193,74,206,251,193,156,204,251,193,116,210,251,193,36,214,251,193,90,215,251,193,42,217,251,193,64,222,251,193,146,232,251,193,150,224,251,193,18,230,251,193,128,226,251,193,162,227,251,193,8,224,251,193,230,29,251,193,10,30,251,193,22,30,251,193,110,228,251,193,124,204,252,193,184,204,252,193,240,233,251,193,248,233,251,193,116,209,252,193,10,236,251,193,242,235,251,193,50,236,251,193,246,236,251,193,50,238,251,193,88,60,251,193,102,62,251,193,154,62,251,193,188,64,251,193,216,64,251,193,44,67,251,193,44,67,251,193,84,67,251,193,120,67,251,193,136,67,251,193,164,69,251,193,40,85,251,193,34,72,251,193,42,85,251,193,98,72,251,193,172,74,251,193,150,35,251,193,228,99,251,193,168,88,251,193,218,90,251,193,14,91,251,193,82,88,251,193,68,92,251,193,66,92,251,193,38,96,251,193,30,99,251,193,238,99,251,193,32,100,251,193,198,100,251,193,154,101,251,193,76,102,251,193,226,104,251,193,218,57,251,193,100,106,251,193,108,159,251,193,166,220,251,193,46,44,252,193,228,133,252,193,130,121,253,193,220,171,253,193,136,210,253,193,132,214,253,193,8,42,251,193,250,229,251,193,88,11,252,193,208,75,253,193,176,153,251,193,4,183,251,193,206,187,251,193,68,206,251,193,212,36,252,193,12,55,252,193,26,86,252,193,208,140,252,193,168,179,252,193,164,202,252,193,38,73,253,193,90,238,252,193,8,81,253,193,98,105,253,193,250,35,251,193,52,42,251,193,142,60,251,193,240,50,252,193,246,36,251,193,158,37,251,193,126,39,251,193,248,39,251,193,66,42,251,193,254,42,251,193,4,43,251,193,12,44,251,193,246,44,251,193,20,45,251,193,22,45,251,193,248,45,251,193,208,47,251,193,46,48,251,193,154,48,251,193,52,50,251,193,94,50,251,193,118,50,251,193,118,50,251,193,118,50,251,193,188,50,251,193,158,48,252,193,128,54,251,193,110,55,251,193,178,55,251,193,142,56,251,193,154,56,251,193,242,56,251,193,80,60,251,193,198,57,251,193,230,57,251,193,242,58,251,193,102,233,251,193,176,204,252,193,134,204,252,193,108,206,252,193,144,208,252,193,54,208,252,193,192,113,251,193,240,210,252,193,14,211,252,193,200,234,251,193,16,235,251,193,52,217,252,193,96,217,252,193,224,77,253,193,70,220,252,193,108,223,252,193,96,223,252,193,192,223,252,193,112,42,251,193,232,223,252,193,236,223,252,193,2,224,252,193,224,224,252,193,94,225,252,193,222,224,252,193,180,227,252,193,130,226,252,193,190,232,252,193,182,227,252,193,82,228,252,193,74,230,252,193,206,230,252,198,65,184,0,198,129,184,0,198,161,184,0,198,193,184,0,198,33,185,0,198,193,185,0,198,1,186,0,198,97,186,0,198,161,186,0,198,193,186,0,198,33,187,0,198,161,187,0,198,193,187,0,198,225,187,0,198,1,188,0,198,33,188,0,198,129,188,0,198,193,188,0,198,225,188,0,198,65,189,0,198,129,189,0,198,161,189,0,198,193,189,0,198,225,189,0,198,1,190,0,198,33,190,0,198,129,190,0,198,161,190,0,198,1,191,0,198,97,191,0,198,129,191,0,198,161,191,0,193,118,106,251,193,80,108,251,193,176,109,251,193,214,109,251,193,238,109,251,193,162,108,251,193,56,111,251,193,160,112,251,193,188,112,251,193,240,115,251,193,122,118,251,193,122,118,251,193,236,121,251,193,196,123,251,193,248,124,251,193,158,125,251,193,104,127,251,193,6,128,251,193,46,128,251,193,80,128,251,193,216,164,251,193,144,130,251,193,6,131,251,193,132,133,251,193,8,135,251,193,52,137,251,193,212,137,251,193,46,139,251,193,66,141,251,193,50,139,251,193,106,142,251,193,100,142,251,193,48,111,251,193,160,117,251,193,250,157,251,193,98,158,251,193,208,165,251,193,130,168,251,193,98,176,251,193,38,180,251,193,46,178,251,193,254,182,251,193,124,181,251,193,70,186,251,193,116,190,251,193,96,200,251,193,154,202,251,193,226,200,251,193,50,214,251,193,96,226,251,193,240,233,251,193,248,233,251,193,248,235,251,193,192,11,252,193,244,14,252,193,184,25,252,193,162,34,252,193,94,32,252,193,210,36,252,193,100,45,252,193,188,53,252,193,206,120,252,193,94,65,252,193,58,72,252,193,32,143,251,193,212,78,253,193,158,147,251,193,142,148,251,193,220,148,251,193,146,150,251,193,98,151,251,193,232,152,251,193,234,152,251,193,158,153,251,193,214,155,251,193,144,156,251,193,150,156,251,193,156,156,251,193,48,157,251,193,102,213,253,193,102,160,251,193,122,160,251,193,122,160,251,193,52,217,252,193,122,162,251,193,122,162,251,193,234,164,251,193,86,230,251,193,36,185,252,193,140,165,251,193,210,165,251,193,84,167,251,193,34,168,251,193,54,170,251,193,74,170,251,193,224,170,251,193,44,85,253,193,170,85,253,193,116,87,253,193,212,89,253,193,244,90,253,193,196,90,253,193,92,91,253,193,88,100,253,193,154,102,253,193,156,102,253,193,178,103,253,193,170,108,253,193,176,109,253,193,122,113,253,193,84,120,253,193,54,121,253,193,108,122,253,193,186,122,253,193,44,130,253,193,36,132,253,193,234,144,251,193,66,137,253,193,222,137,253,193,232,140,253,193,72,143,253,193,36,144,253,193,184,146,253,193,150,147,253,193,174,148,253,193,188,149,253,193,198,148,253,193,198,148,253,193,138,174,251,193,178,173,251,193,142,173,251,193,176,174,251,193,242,176,251,193,64,176,251,193,26,180,251,193,34,180,251,193,38,180,251,193,34,180,251,193,172,181,251,193,254,182,251,193,72,183,251,193,44,183,251,193,66,183,251,193,144,185,251,193,70,186,251,193,224,186,251,193,100,188,251,193,40,189,251,193,234,191,251,193,138,193,251,193,208,193,251,193,200,196,251,193,180,195,251,193,162,196,251,193,232,194,251,193,50,198,251,193,104,198,251,193,158,200,251,193,20,201,251,193,166,202,251,193,70,186,251,193,36,214,251,193,54,222,251,193,128,226,251,193,20,241,251,193,8,27,252,193,160,29,252,193,210,36,252,193,188,53,252,193,50,64,252,193,8,83,252,193,68,129,252,193,240,134,252,193,40,135,252,193,38,135,252,193,132,135,252,193,144,135,252,193,158,135,252,193,242,137,252,193,244,137,252,193,236,144,252,193,94,148,252,193,104,157,252,193,168,179,252,193,180,180,252,193,230,181,252,193,66,191,252,193,114,198,252,193,246,215,252,193,8,223,252,193,8,223,252,193,206,230,252,198,129,192,0,198,161,192,0,198,225,192,0,198,33,193,0,198,97,193,0,198,161,193,0,198,193,193,0,198,225,126,0,198,225,194,0,198,65,127,0,198,1,128,0,198,97,196,0,198,129,196,0,198,193,196,0,198,1,197,0,198,33,197,0,198,97,197,0,198,129,197,0,198,161,197,0,198,225,197,0,198,193,128,0,198,33,129,0,198,33,199,0,198,129,199,0,198,161,199,0,198,193,199,0,198,225,199,0,198,1,200,0,198,33,200,0,198,129,200,0,198,193,200,0,198,225,200,0,193,160,236,251,193,140,239,251,193,20,241,251,193,80,240,251,193,38,241,251,193,38,239,251,193,74,243,251,193,16,246,251,193,80,245,251,193,234,247,251,193,44,250,251,193,220,254,251,193,104,253,251,193,60,3,252,193,116,5,252,193,190,6,252,193,112,7,252,193,32,9,252,193,182,9,252,193,234,10,252,193,198,13,252,193,244,14,252,193,246,14,252,193,254,14,252,193,52,135,251,193,158,16,252,193,74,22,252,193,152,24,252,193,240,23,252,193,14,24,252,193,188,22,252,193,194,26,252,193,178,25,252,193,8,27,252,193,184,25,252,193,234,26,252,193,10,27,252,193,36,27,252,193,140,27,252,193,158,25,252,193,162,31,252,193,34,32,252,193,222,34,252,193,94,32,252,193,128,34,252,193,78,37,252,193,100,29,252,193,4,39,252,193,194,39,252,193,36,40,252,193,132,41,252,193,92,46,252,193,100,45,252,193,94,45,252,193,10,47,252,193,244,46,252,193,218,48,252,193,206,48,252,193,10,50,252,193,2,29,251,193,4,55,252,193,216,53,252,193,22,58,252,193,192,59,252,193,36,64,252,193,94,65,252,193,158,67,252,193,50,68,252,193,244,69,252,193,200,70,252,193,184,72,252,193,174,76,252,193,248,78,252,193,134,79,252,193,194,79,252,193,248,79,252,193,194,80,252,193,194,80,252,193,42,84,252,193,84,84,252,193,80,85,252,193,18,86,252,193,170,88,252,193,160,90,252,193,108,93,252,193,214,94,252,193,104,94,252,193,128,96,252,193,172,95,252,193,24,154,251,193,106,102,252,193,174,108,252,193,244,108,252,193,210,110,252,193,232,110,252,193,108,112,252,193,54,75,252,193,80,85,252,193,158,91,252,193,100,94,252,193,36,103,252,193,124,102,252,193,12,111,252,193,104,111,252,193,180,113,252,193,114,116,252,193,96,116,252,193,26,131,252,193,158,150,252,193,104,157,252,193,124,168,252,193,46,177,252,193,168,179,252,193,18,189,252,193,114,198,252,193,98,226,252,193,90,230,252,193,184,7,253,193,214,21,253,193,4,25,253,193,198,136,252,193,102,34,253,193,156,35,253,193,126,34,253,193,174,35,253,193,168,35,253,193,134,35,253,193,116,37,253,198,33,201,0,198,65,201,0,198,97,201,0,198,129,201,0,198,193,201,0,198,225,201,0,198,97,202,0,198,161,202,0,198,193,202,0,198,225,202,0,198,1,203,0,198,33,203,0,198,97,203,0,198,161,203,0,198,193,203,0,198,225,203,0,198,1,204,0,198,193,204,0,198,225,204,0,198,33,205,0,198,97,205,0,198,129,205,0,198,225,205,0,198,1,206,0,198,129,206,0,198,161,206,0,198,97,207,0,198,225,207,0,198,1,208,0,198,65,208,0,198,97,208,0,198,129,208,0,193,180,113,252,193,196,113,252,193,194,113,252,193,110,114,252,193,22,115,252,193,224,114,252,193,226,114,252,193,226,114,252,193,114,116,252,193,152,116,252,193,62,119,252,193,140,117,252,193,136,125,252,193,190,125,252,193,136,127,252,193,58,129,252,193,26,131,252,193,144,132,252,193,98,135,252,193,144,135,252,193,142,137,252,193,148,138,252,193,246,137,252,193,172,141,252,193,32,141,252,193,236,144,252,193,46,144,252,193,158,145,252,193,120,149,252,193,240,153,252,193,240,153,252,193,8,154,252,193,136,158,252,193,222,158,252,193,166,159,252,193,218,160,252,193,242,159,252,193,170,162,252,193,228,171,252,193,130,172,252,193,120,172,252,193,210,172,252,193,108,174,252,193,90,174,252,193,106,176,252,193,236,179,252,193,122,178,252,193,196,179,252,193,238,181,252,193,166,185,252,193,232,188,252,193,98,189,252,193,16,191,252,193,114,191,252,193,12,192,252,193,236,192,252,193,126,193,252,193,224,197,252,193,114,198,252,193,10,199,252,193,32,200,252,193,38,201,252,193,46,202,252,193,166,202,252,198,161,208,0,198,1,209,0,198,65,209,0,198,97,131,0,198,193,131,0,198,97,209,0,198,161,209,0,198,193,209,0,198,225,209,0,198,1,210,0,198,33,210,0,198,65,210,0,198,193,210,0,198,1,211,0,198,33,211,0,198,65,211,0,198,97,211,0,198,161,211,0,198,1,212,0,198,65,212,0,198,161,212,0,198,225,212,0,198,1,213,0,198,33,213,0,198,65,213,0,198,97,213,0,198,1,214,0,198,33,214,0,198,97,214,0,198,161,214,0,198,193,214,0,198,1,215,0,198,161,210,0,198,225,210,0,198,129,211,0,198,225,211,0,198,193,211,0,198,33,212,0,198,65,212,0,198,97,212,0,198,193,212,0,198,225,213,0,198,129,214,0,198,225,214,0,198,97,215,0,198,129,215,0,198,161,215,0,198,33,216,0,198,225,216,0,198,1,217,0,198,33,217,0,198,65,217,0,198,129,217,0,198,193,217,0,198,225,217,0,198,97,218,0,198,161,218,0,198,65,219,0,198,225,219,0,198,33,220,0,198,97,220,0,198,129,220,0,198,193,220,0,198,161,220,0,193,244,229,252,193,16,230,252,193,20,230,252,193,52,230,252,193,32,231,252,193,120,236,252,193,210,233,252,193,52,239,252,193,96,238,252,193,100,238,252,193,170,238,252,193,112,8,253,193,42,241,252,193,214,243,252,193,222,245,252,193,140,247,252,193,238,245,252,193,58,250,252,193,254,248,252,193,194,252,252,193,56,253,252,193,28,254,252,193,60,254,252,193,118,255,252,193,228,2,253,193,26,4,253,193,10,3,253,193,184,7,253,193,28,5,253,193,164,6,253,193,196,7,253,193,16,8,253,193,206,6,253,193,96,9,253,193,140,11,253,193,6,16,253,193,52,16,253,193,86,18,253,193,208,18,253,193,222,18,253,193,182,19,253,193,156,19,253,193,12,30,251,193,138,27,253,193,138,30,253,193,240,30,253,193,204,31,253,193,172,32,253,193,134,35,253,193,22,40,253,193,112,45,253,193,76,47,253,193,18,49,253,193,154,49,253,193,168,53,253,193,120,55,253,193,196,57,253,193,96,41,251,193,84,60,253,193,2,61,253,193,38,61,253,193,88,45,251,193,8,71,253,193,200,73,253,193,22,40,253,193,148,52,253,193,200,73,253,193,208,84,253,193,58,96,253,193,64,101,253,193,102,128,253,193,218,133,253,193,234,139,253,193,182,146,253,193,88,148,253,193,198,148,253,193,28,150,253,193,244,178,253,193,118,224,253,193,154,183,251,193,142,183,251,193,10,237,251,193,16,246,251,193,52,114,252,193,152,116,252,193,128,119,252,193,234,163,252,193,142,56,253,193,110,220,253,193,14,224,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,33,215,0,198,65,215,0,198,1,216,0,198,65,216,0,198,129,216,0,198,161,216,0,198,225,132,0,198,1,217,0,198,97,217,0,198,161,217,0,198,1,218,0,198,33,218,0,198,65,218,0,198,129,218,0,198,193,218,0,198,225,218,0,198,1,219,0,198,33,219,0,198,97,219,0,198,129,219,0,198,161,219,0,198,1,220,0,198,65,220,0,198,129,220,0,198,1,221,0,198,65,221,0,198,97,221,0,198,161,221,0,198,225,221,0,198,1,222,0,198,33,222,0,198,65,222,0,193,158,149,253,193,192,154,253,193,188,157,253,193,122,158,253,193,190,159,253,193,114,165,253,193,54,166,253,193,220,167,253,193,18,174,253,193,162,177,253,193,244,178,253,193,58,190,253,193,118,196,253,193,106,198,253,193,58,201,253,193,218,199,253,193,114,201,253,193,246,202,253,193,84,202,253,193,182,205,253,193,220,209,253,193,94,213,253,193,190,214,253,193,36,217,253,193,222,217,253,193,158,217,253,193,10,218,253,193,86,218,253,193,240,219,253,193,176,221,253,255,255,255,255,255,255,255,255,198,225,220,0,198,33,221,0,198,129,221,0,198,193,221,0,198,161,222,0,198,225,222,0,198,33,223,0,198,97,223,0,198,193,223,0,198,33,224,0,198,193,224,0,198,129,225,0,198,161,225,0,198,225,225,0,198,1,226,0,198,65,226,0,198,97,226,0,198,161,226,0,198,193,226,0,198,225,226,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,97,222,0,198,129,222,0,198,193,222,0,198,1,223,0,198,65,223,0,198,129,223,0,198,161,223,0,198,225,223,0,198,1,224,0,198,65,224,0,198,97,224,0,198,129,224,0,198,161,224,0,198,225,224,0,198,1,225,0,198,33,225,0,198,65,225,0,198,97,225,0,198,193,225,0,198,33,226,0,198,129,226,0,198,1,227,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2,212,78,0,0,150,10,251,2,238,78,0,0,2,11,251,2,180,1,2,0,148,11,251,2,45,79,0,0,4,12,251,2,105,79,0,0,44,13,251,2,3,2,2,0,212,13,251,2,123,207,2,0,66,14,251,2,113,0,3,0,86,14,251,2,174,79,0,0,126,14,251,2,238,79,0,0,234,15,251,2,99,2,2,0,164,16,251,2,154,207,2,0,104,17,251,2,64,80,0,0,152,17,251,2,167,2,2,0,38,18,251,2,128,80,0,0,18,19,251,2,237,2,2,0,120,19,251,2,170,80,0,0,82,20,251,2,206,80,0,0,110,21,251,2,109,3,2,0,220,21,251,2,248,80,0,0,188,22,251,2,183,3,2,0,252,22,251,2,212,3,2,0,50,23,251,2,232,3,2,0,200,23,251,2,249,184,2,0,238,24,251,2,216,5,2,0,100,32,251,2,250,5,2,0,16,33,251,2,60,6,2,0,32,34,251,2,188,6,2,0,20,36,251,2,28,82,0,0,88,36,251,2,206,6,2,0,128,36,251,2,231,6,2,0,20,37,251,2,16,7,2,0,192,37,251,2,82,82,0,0,42,38,251,2,49,7,2,0,96,38,251,2,250,7,2,0,76,41,251,2,123,8,2,0,164,43,251,2,87,10,2,0,126,51,251,2,153,10,2,0,192,52,251,2,85,11,2,0,150,55,251,2,171,11,2,0,32,57,251,2,24,84,0,0,134,57,251,2,203,11,2,0,48,58,251,2,8,12,2,0,114,59,251,2,80,12,2,0,246,60,251,2,58,168,2,0,176,61,251,2,212,1,3,0,26,62,251,2,224,84,0,0,58,62,251,2,172,12,2,0,234,62,251,2,236,12,2,0,104,63,251,2,245,209,2,0,30,64,251,2,40,85,0,0,102,64,251,2,39,13,2,0,54,65,251,2,146,186,2,0,114,66,251,2,12,210,2,0,176,66,251,2,122,85,0,0,24,67,251,2,142,85,0,0,62,67,251,2,182,53,0,0,162,67,251,2,227,13,2,0,50,68,251,2,92,168,2,0,224,68,251,2,47,210,2,0,34,69,251,2,115,14,2,0,156,70,251,2,90,210,2,0,156,71,251,2,246,85,0,0,2,72,251,2,212,14,2,0,134,72,251,2,120,168,2,0,162,73,251,2,211,186,2,0,190,73,251,2,40,86,0,0,72,74,251,2,97,15,2,0,206,74,251,2,168,15,2,0,92,75,251,2,251,53,0,0,90,76,251,2,199,15,2,0,110,76,251,2,21,16,2,0,10,77,251,2,246,186,2,0,106,77,251,2,61,16,2,0,10,78,251,2,220,210,2,0,206,78,251,2,148,86,0,0,6,79,251,2,143,16,2,0,54,79,251,2,240,210,2,0,252,79,251,2,241,16,2,0,122,80,251,2,28,187,2,0,190,80,251,2,17,17,2,0,44,81,251,2,187,86,0,0,170,81,251,2,49,17,2,0,198,81,251,2,121,17,2,0,186,82,251,2,180,17,2,0,192,83,251,2,88,18,2,0,180,86,251,2,91,187,2,0,36,87,251,2,97,87,0,0,84,87,251,2,132,18,2,0,178,87,251,2,139,87,0,0,82,88,251,2,183,18,2,0,190,88,251,2,182,87,0,0,118,89,251,2,237,18,2,0,210,89,251,2,212,168,2,0,72,90,251,2,156,211,2,0,128,90,251,2,220,87,0,0,172,90,251,2,235,87,0,0,200,90,251,2,38,19,2,0,46,91,251,2,124,187,2,0,198,91,251,2,22,88,0,0,12,92,251,2,100,19,2,0,132,92,251,2,182,211,2,0,76,93,251,2,73,88,0,0,148,93,251,2,174,19,2,0,244,93,251,2,114,88,0,0,226,94,251,2,237,19,2,0,70,95,251,2,153,2,3,0,236,95,251,2,156,88,0,0,8,96,251,2,186,88,0,0,40,97,251,2,123,20,2,0,150,97,251,2,220,20,2,0,14,99,251,2,247,21,2,0,162,103,251,2,52,22,2,0,158,104,251,2,91,22,2,0,72,105,251,2,119,22,2,0,184,105,251,2,119,89,0,0,144,106,251,2,142,89,0,0,246,106,251,2,188,22,2,0,68,107,251,2,172,89,0,0,176,107,251,2,216,89,0,0,162,108,251,2,237,89,0,0,202,108,251,2,2,23,2,0,24,109,251,2,28,188,2,0,126,109,251,2,9,90,0,0,178,109,251,2,46,23,2,0,58,110,251,2,123,169,2,0,232,111,251,2,119,90,0,0,46,112,251,2,145,90,0,0,96,112,251,2,238,54,0,0,160,112,251,2,156,23,2,0,206,112,251,2,176,90,0,0,182,113,251,2,232,23,2,0,32,114,251,2,213,90,0,0,186,114,251,2,51,24,2,0,70,115,251,2,243,90,0,0,198,115,251,2,79,24,2,0,20,116,251,2,145,24,2,0,250,116,251,2,120,188,2,0,110,117,251,2,91,25,2,0,42,120,251,2,214,25,2,0,110,122,251,2,218,188,2,0,196,124,251,2,123,26,2,0,170,125,251,2,252,26,2,0,174,127,251,2,122,28,2,0,58,133,251,2,148,28,2,0,140,133,251,2,172,28,2,0,202,133,251,2,27,29,2,0,86,135,251,2,120,92,0,0,196,135,251,2,185,55,0,0,64,137,251,2,131,29,2,0,86,137,251,2,198,92,0,0,214,137,251,2,171,29,2,0,34,138,251,2,232,92,0,0,178,138,251,2,213,29,2,0,16,139,251,2,6,93,0,0,194,139,251,2,215,55,0,0,26,140,251,2,17,30,2,0,56,140,251,2,49,93,0,0,30,141,251,2,106,30,2,0,140,141,251,2,170,30,2,0,142,142,251,2,119,93,0,0,22,143,251,2,249,55,0,0,70,143,251,2,216,30,2,0,94,143,251,2,143,93,0,0,250,143,251,2,10,31,2,0,66,144,251,2,188,31,2,0,188,146,251,2,85,32,2,0,66,149,251,2,123,32,2,0,224,149,251,2,144,32,2,0,66,150,251,2,177,32,2,0,170,150,251,2,205,32,2,0,20,151,251,2,235,32,2,0,138,151,251,2,92,94,0,0,144,152,251,2,51,33,2,0,168,152,251,2,242,33,2,0,146,155,251,2,25,34,2,0,54,156,251,2,51,34,2,0,180,156,251,2,91,34,2,0,58,157,251,2,149,34,2,0,18,158,251,2,217,94,0,0,98,158,251,2,124,214,2,0,2,159,251,2,251,34,2,0,162,159,251,2,183,35,2,0,80,162,251,2,212,35,2,0,220,162,251,2,124,95,0,0,184,166,251,2,220,36,2,0,30,167,251,2,155,95,0,0,162,167,251,2,50,37,2,0,140,168,251,2,79,37,2,0,226,168,251,2,121,37,2,0,114,169,251,2,178,37,2,0,96,170,251,2,201,37,2,0,20,171,251,2,7,96,0,0,198,171,251,2,25,215,2,0,218,172,251,2,64,96,0,0,14,173,251,2,26,57,0,0,138,173,251,2,52,38,2,0,180,173,251,2,113,38,2,0,8,175,251,2,54,215,2,0,206,175,251,2,92,4,3,0,250,175,251,2,176,96,0,0,18,176,251,2,192,38,2,0,202,176,251,2,240,96,0,0,252,177,251,2,90,57,0,0,110,178,251,2,40,39,2,0,146,178,251,2,39,97,0,0,214,179,251,2,141,39,2,0,78,180,251,2,119,215,2,0,34,181,251,2,124,4,3,0,78,181,251,2,82,97,0,0,96,181,251,2,110,97,0,0,148,181,251,2,124,57,0,0,202,181,251,2,224,39,2,0,230,181,251,2,141,215,2,0,180,182,251,2,137,97,0,0,244,182,251,2,49,40,2,0,104,183,251,2,188,97,0,0,142,184,251,2,146,40,2,0,198,184,251,2,186,215,2,0,96,185,251,2,213,97,0,0,126,185,251,2,206,40,2,0,180,185,251,2,251,40,2,0,80,186,251,2,38,41,2,0,240,186,251,2,87,41,2,0,160,187,251,2,154,41,2,0,160,188,251,2,242,41,2,0,12,190,251,2,24,42,2,0,134,190,251,2,54,42,2,0,246,190,251,2,121,98,0,0,100,192,251,2,131,42,2,0,208,192,251,2,166,98,0,0,116,193,251,2,180,42,2,0,28,194,251,2,234,98,0,0,196,194,251,2,228,42,2,0,100,195,251,2,215,4,3,0,80,196,251,2,40,99,0,0,120,196,251,2,47,43,2,0,2,197,251,2,51,216,2,0,224,197,251,2,101,99,0,0,44,198,251,2,249,57,0,0,220,198,251,2,129,43,2,0,252,198,251,2,250,4,3,0,60,200,251,2,198,99,0,0,98,200,251,2,233,43,2,0,4,201,251,2,87,191,2,0,8,202,251,2,6,100,0,0,110,202,251,2,50,100,0,0,196,202,251,2,25,58,0,0,248,202,251,2,95,44,2,0,34,203,251,2,114,216,2,0,2,204,251,2,87,100,0,0,92,204,251,2,179,44,2,0,230,204,251,2,136,100,0,0,32,206,251,2,32,45,2,0,168,206,251,2,187,100,0,0,174,207,251,2,127,45,2,0,6,208,251,2,203,45,2,0,16,209,251,2,242,100,0,0,150,209,251,2,35,46,2,0,120,210,251,2,243,46,2,0,36,213,251,2,27,47,2,0,186,213,251,2,57,47,2,0,72,214,251,2,92,101,0,0,174,214,251,2,166,47,2,0,230,215,251,2,252,48,2,0,44,221,251,2,249,101,0,0,234,222,251,2,90,49,2,0,52,223,251,2,26,102,0,0,168,223,251,2,219,58,0,0,244,223,251,2,119,49,2,0,10,224,251,2,146,49,2,0,198,224,251,2,25,172,2,0,8,225,251,2,110,217,2,0,46,225,251,2,87,102,0,0,108,225,251,2,106,102,0,0,76,226,251,2,226,49,2,0,154,226,251,2,153,217,2,0,58,227,251,2,36,50,2,0,172,227,251,2,154,102,0,0,106,228,251,2,123,50,2,0,80,229,251,2,184,102,0,0,222,229,251,2,119,51,2,0,50,234,251,2,49,103,0,0,148,235,251,2,68,103,0,0,212,235,251,2,130,103,0,0,154,236,251,2,212,51,2,0,8,237,251,2,174,103,0,0,152,237,251,2,8,52,2,0,112,238,251,2,18,104,0,0,12,239,251,2,88,59,0,0,192,239,251,2,53,52,2,0,224,239,251,2,220,5,3,0,200,240,251,2,107,104,0,0,222,240,251,2,127,52,2,0,174,241,251,2,195,104,0,0,166,242,251,2,120,59,0,0,130,243,251,2,193,52,2,0,168,243,251,2,152,218,2,0,218,244,251,2,47,105,0,0,42,245,251,2,49,53,2,0,28,246,251,2,101,53,2,0,130,246,251,2,176,172,2,0,14,247,251,2,212,192,2,0,62,247,251,2,182,218,2,0,116,247,251,2,250,5,3,0,166,247,251,2,153,105,0,0,214,247,251,2,170,53,2,0,166,248,251,2,239,192,2,0,172,249,251,2,234,105,0,0,44,250,251,2,21,54,2,0,232,250,251,2,83,54,2,0,100,251,251,2,22,6,3,0,54,252,251,2,50,106,0,0,84,252,251,2,123,54,2,0,24,253,251,2,25,193,2,0,38,254,251,2,251,218,2,0,76,254,251,2,171,106,0,0,238,255,251,2,90,55,2,0,110,2,252,2,203,106,0,0,28,3,252,2,144,55,2,0,112,3,252,2,210,55,2,0,106,4,252,2,248,106,0,0,200,4,252,2,25,56,2,0,120,5,252,2,55,56,2,0,216,5,252,2,151,56,2,0,44,7,252,2,186,56,2,0,186,7,252,2,242,56,2,0,172,8,252,2,121,57,2,0,178,10,252,2,242,57,2,0,152,12,252,2,22,58,2,0,68,13,252,2,49,58,2,0,148,13,252,2,187,58,2,0,212,15,252,2,56,59,2,0,134,17,252,2,92,59,2,0,250,17,252,2,113,59,2,0,70,18,252,2,136,59,2,0,158,18,252,2,168,59,2,0,14,19,252,2,248,59,2,0,14,20,252,2,26,60,2,0,114,20,252,2,74,108,0,0,66,22,252,2,101,108,0,0,184,22,252,2,142,60,2,0,92,23,252,2,171,108,0,0,200,23,252,2,219,108,0,0,40,24,252,2,178,60,2,0,132,24,252,2,23,109,0,0,100,25,252,2,214,60,0,0,226,25,252,2,228,60,2,0,254,25,252,2,86,109,0,0,196,26,252,2,154,109,0,0,76,27,252,2,30,61,2,0,140,27,252,2,23,220,2,0,124,28,252,2,170,109,0,0,196,28,252,2,244,60,0,0,164,29,252,2,119,61,2,0,218,29,252,2,219,61,2,0,162,30,252,2,245,193,2,0,254,30,252,2,27,110,0,0,122,31,252,2,117,110,0,0,46,32,252,2,15,61,0,0,100,32,252,2,252,61,2,0,144,32,252,2,11,62,2,0,172,32,252,2,151,173,2,0,82,33,252,2,12,7,3,0,216,33,252,2,141,110,0,0,12,34,252,2,93,62,2,0,240,34,252,2,22,194,2,0,6,36,252,2,235,110,0,0,104,36,252,2,20,111,0,0,182,36,252,2,60,61,0,0,42,37,252,2,205,62,2,0,70,37,252,2,245,62,2,0,148,37,252,2,118,220,2,0,98,38,252,2,78,111,0,0,194,38,252,2,67,63,2,0,140,39,252,2,50,194,2,0,180,40,252,2,146,220,2,0,224,40,252,2,197,63,2,0,198,41,252,2,215,111,0,0,230,42,252,2,35,64,2,0,72,43,252,2,188,220,2,0,232,43,252,2,249,111,0,0,36,44,252,2,97,64,2,0,108,44,252,2,21,112,0,0,82,45,252,2,179,64,2,0,154,45,252,2,220,220,2,0,32,46,252,2,232,64,2,0,122,46,252,2,14,65,2,0,18,47,252,2,54,65,2,0,150,47,252,2,188,65,2,0,72,50,252,2,196,112,0,0,232,50,252,2,239,65,2,0,76,51,252,2,27,221,2,0,214,51,252,2,239,112,0,0,28,52,252,2,98,66,2,0,214,53,252,2,51,174,2,0,120,54,252,2,151,194,2,0,154,54,252,2,56,221,2,0,190,54,252,2,65,113,0,0,250,54,252,2,178,66,2,0,144,55,252,2,244,66,2,0,20,56,252,2,186,7,3,0,156,56,252,2,123,113,0,0,184,56,252,2,7,67,2,0,20,57,252,2,51,67,2,0,106,57,252,2,154,113,0,0,18,58,252,2,80,67,2,0,96,58,252,2,182,113,0,0,58,59,252,2,245,67,2,0,234,60,252,2,248,113,0,0,140,61,252,2,82,68,2,0,78,62,252,2,123,69,2,0,92,66,252,2,28,70,2,0,178,68,252,2,56,70,2,0,30,69,252,2,91,70,2,0,192,69,252,2,111,70,2,0,18,70,252,2,185,114,0,0,130,72,252,2,47,71,2,0,172,72,252,2,79,71,2,0,66,73,252,2,111,71,2,0,214,73,252,2,243,114,0,0,80,74,252,2,220,71,2,0,230,75,252,2,246,71,2,0,26,76,252,2,13,72,2,0,160,76,252,2,86,115,0,0,162,77,252,2,99,72,2,0,204,77,252,2,140,72,2,0,76,78,252,2,180,72,2,0,202,78,252,2,156,115,0,0,230,79,252,2,249,72,2,0,36,80,252,2,178,115,0,0,128,80,252,2,15,73,2,0,208,80,252,2,60,222,2,0,48,81,252,2,210,115,0,0,70,81,252,2,53,73,2,0,160,81,252,2,248,115,0,0,42,82,252,2,86,73,2,0,112,82,252,2,123,73,2,0,86,83,252,2,175,73,2,0,112,84,252,2,234,73,2,0,104,85,252,2,123,195,2,0,216,85,252,2,121,116,0,0,248,85,252,2,20,74,2,0,58,86,252,2,66,74,2,0,2,87,252,2,107,74,2,0,196,87,252,2,139,74,2,0,76,88,252,2,91,75,2,0,108,91,252,2,121,75,2,0,228,91,252,2,41,76,2,0,188,94,252,2,123,76,2,0,28,96,252,2,145,76,2,0,126,96,252,2,183,76,2,0,6,97,252,2,220,76,2,0,148,97,252,2,55,77,2,0,50,99,252,2,187,117,0,0,168,99,252,2,87,77,2,0,224,99,252,2,119,77,2,0,106,100,252,2,215,117,0,0,192,100,252,2,236,117,0,0,130,101,252,2,194,77,2,0,200,101,252,2,251,77,2,0,152,102,252,2,42,78,2,0,86,103,252,2,186,78,2,0,72,105,252,2,213,78,2,0,152,105,252,2,88,79,2,0,124,107,252,2,121,79,2,0,18,108,252,2,147,80,2,0,110,112,252,2,246,118,0,0,252,113,252,2,3,81,2,0,66,114,252,2,14,119,0,0,192,114,252,2,49,81,2,0,18,115,252,2,90,81,2,0,208,115,252,2,138,81,2,0,168,116,252,2,201,81,2,0,156,117,252,2,110,119,0,0,72,118,252,2,2,82,2,0,148,118,252,2,60,82,2,0,102,119,252,2,148,119,0,0,4,120,252,2,116,82,2,0,54,120,252,2,136,82,2,0,92,120,252,2,170,82,2,0,4,121,252,2,216,82,2,0,158,121,252,2,26,83,2,0,106,122,252,2,185,83,2,0,108,124,252,2,216,83,2,0,194,124,252,2,41,84,2,0,38,126,252,2,70,84,2,0,230,126,252,2,115,84,2,0,180,127,252,2,92,120,0,0,80,128,252,2,170,84,2,0,150,128,252,2,188,9,3,0,254,128,252,2,183,64,0,0,94,129,252,2,202,84,2,0,128,129,252,2,250,84,2,0,98,130,252,2,45,85,2,0,72,131,252,2,76,85,2,0,222,131,252,2,59,224,2,0,58,132,252,2,239,120,0,0,92,132,252,2,112,85,2,0,156,132,252,2,151,85,2,0,74,133,252,2,187,85,2,0,242,133,252,2,21,86,2,0,64,135,252,2,43,86,2,0,176,135,252,2,78,86,2,0,62,136,252,2,107,86,2,0,210,136,252,2,121,121,0,0,64,137,252,2,136,86,2,0,106,137,252,2,166,86,2,0,26,138,252,2,154,121,0,0,122,138,252,2,216,86,2,0,232,138,252,2,216,121,0,0,134,141,252,2,58,65,0,0,58,142,252,2,152,87,2,0,92,142,252,2,178,87,2,0,230,142,252,2,15,122,0,0,60,143,252,2,205,87,2,0,130,143,252,2,52,122,0,0,212,144,252,2,49,88,2,0,12,145,252,2,92,88,2,0,180,145,252,2,138,88,2,0,84,146,252,2,180,88,2,0,220,146,252,2,124,122,0,0,84,148,252,2,52,89,2,0,108,148,252,2,118,89,2,0,108,149,252,2,155,89,2,0,238,149,252,2,184,89,2,0,86,150,252,2,59,90,2,0,44,152,252,2,152,90,2,0,186,153,252,2,252,122,0,0,176,154,252,2,239,90,2,0,32,155,252,2,22,123,0,0,128,155,252,2,12,91,2,0,228,155,252,2,80,91,2,0,130,157,252,2,129,123,0,0,48,158,252,2,141,91,2,0,162,158,252,2,14,66,0,0,192,159,252,2,209,91,2,0,248,159,252,2,212,123,0,0,220,160,252,2,24,92,2,0,54,161,252,2,240,123,0,0,40,162,252,2,56,66,0,0,116,162,252,2,117,92,2,0,148,162,252,2,118,225,2,0,80,163,252,2,24,124,0,0,120,163,252,2,198,92,2,0,214,163,252,2,33,93,2,0,246,164,252,2,92,93,2,0,188,165,252,2,133,93,2,0,66,166,252,2,181,93,2,0,248,166,252,2,212,93,2,0,106,167,252,2,252,93,2,0,210,167,252,2,90,94,2,0,194,169,252,2,114,94,2,0,68,170,252,2,193,94,2,0,114,171,252,2,23,95,2,0,234,172,252,2,54,95,2,0,84,173,252,2,10,125,0,0,178,174,252,2,186,66,0,0,238,174,252,2,40,125,0,0,116,175,252,2,195,95,2,0,216,175,252,2,92,125,0,0,92,176,252,2,230,95,2,0,168,176,252,2,120,125,0,0,48,177,252,2,18,96,2,0,138,177,252,2,156,125,0,0,36,178,252,2,70,96,2,0,172,178,252,2,214,125,0,0,108,179,252,2,243,66,0,0,208,179,252,2,128,96,2,0,244,179,252,2,8,126,0,0,178,180,252,2,41,126,0,0,182,181,252,2,9,97,2,0,20,182,252,2,57,226,2,0,146,182,252,2,78,126,0,0,174,182,252,2,60,97,2,0,238,182,252,2,117,97,2,0,192,183,252,2,123,126,0,0,46,184,252,2,156,97,2,0,74,184,252,2,212,97,2,0,24,185,252,2,25,127,0,0,12,188,252,2,142,98,2,0,136,190,252,2,188,98,2,0,20,191,252,2,87,99,2,0,88,193,252,2,121,99,2,0,212,193,252,2,183,99,2,0,200,194,252,2,56,100,2,0,168,196,252,2,88,100,2,0,44,197,252,2,60,101,2,0,154,200,252,2,117,101,2,0,106,201,252,2,188,101,2,0,110,202,252,2,88,102,2,0,242,204,252,2,194,128,0,0,64,205,252,2,106,102,2,0,172,205,252,2,237,128,0,0,64,206,252,2,21,129,0,0,56,207,252,2,212,102,2,0,154,207,252,2,57,129,0,0,44,208,252,2,252,67,0,0,114,208,252,2,6,103,2,0,148,208,252,2,52,103,2,0,238,208,252,2,91,129,0,0,118,209,252,2,90,103,2,0,220,209,252,2,28,68,0,0,182,210,252,2,153,103,2,0,212,210,252,2,146,129,0,0,144,211,252,2,3,104,2,0,144,212,252,2,183,129,0,0,62,213,252,2,88,104,2,0,158,213,252,2,112,104,2,0,252,213,252,2,138,104,2,0,88,214,252,2,123,105,2,0,150,217,252,2,145,106,2,0,198,221,252,2,152,130,0,0,182,223,252,2,154,68,0,0,40,224,252,2,19,107,2,0,64,224,252,2,208,130,0,0,180,224,252,2,55,107,2,0,84,225,252,2,84,131,0,0,100,226,252,2,109,107,2,0,194,226,252,2,112,131,0,0,184,227,252,2,182,107,2,0,126,228,252,2,242,107,2,0,244,228,252,2,23,108,2,0,62,229,252,2,185,227,2,0,164,229,252,2,190,131,0,0,246,229,252,2,215,68,0,0,212,230,252,2,42,108,2,0,8,231,252,2,59,199,2,0,90,232,252,2,45,132,0,0,198,232,252,2,88,132,0,0,28,233,252,2,193,108,2,0,170,233,252,2,55,109,2,0,150,234,252,2,144,132,0,0,144,235,252,2,185,132,0,0,224,235,252,2,252,68,0,0,60,236,252,2,97,109,2,0,100,236,252,2,54,178,2,0,162,237,252,2,90,199,2,0,200,237,252,2,231,132,0,0,76,238,252,2,14,69,0,0,248,238,252,2,62,110,2,0,180,239,252,2,117,199,2,0,112,240,252,2,45,69,0,0,78,241,252,2,134,110,2,0,128,241,252,2,200,110,2,0,4,242,252,2,57,228,2,0,240,242,252,2,118,133,0,0,66,243,252,2,41,111,2,0,208,243,252,2,110,111,2,0,90,244,252,2,154,199,2,0,246,244,252,2,90,228,2,0,30,245,252,2,175,133,0,0,124,245,252,2,170,111,2,0,224,245,252,2,249,111,2,0,118,246,252,2,117,178,2,0,196,246,252,2,124,228,2,0,10,247,252,2,212,133,0,0,68,247,252,2,32,112,2,0,156,247,252,2,151,228,2,0,130,248,252,2,246,133,0,0,182,248,252,2,123,112,2,0,16,249,252,2,207,112,2,0,52,250,252,2,184,228,2,0,196,250,252,2,13,113,2,0,246,250,252,2,54,113,2,0,138,251,252,2,86,113,2,0,234,251,252,2,122,113,2,0,80,252,252,2,220,113,2,0,230,253,252,2,115,134,0,0,200,254,252,2,137,134,0,0,54,255,252,2,59,114,2,0,130,255,252,2,173,134,0,0,250,255,252,2,215,134,0,0,242,2,253,2,143,114,2,0,66,3,253,2,175,114,2,0,126,3,253,2,245,134,0,0,230,3,253,2,24,135,0,0,250,4,253,2,44,135,0,0,34,5,253,2,49,115,2,0,212,5,253,2,76,135,0,0,102,6,253,2,82,115,2,0,232,6,253,2,129,135,0,0,186,7,253,2,161,115,2,0,32,8,253,2,200,115,2,0,108,8,253,2,170,135,0,0,14,9,253,2,248,115,2,0,132,9,253,2,49,116,2,0,244,9,253,2,68,116,2,0,148,10,253,2,142,116,2,0,146,11,253,2,201,116,2,0,76,12,253,2,26,136,0,0,190,12,253,2,241,116,2,0,220,12,253,2,91,117,2,0,20,14,253,2,109,136,0,0,150,16,253,2,136,136,0,0,48,17,253,2,177,136,0,0,2,18,253,2,202,136,0,0,182,18,253,2,128,118,2,0,246,18,253,2,231,136,0,0,118,19,253,2,188,118,2,0,2,20,253,2,207,118,2,0,158,20,253,2,248,118,2,0,76,21,253,2,53,137,0,0,190,21,253,2,66,119,2,0,144,22,253,2,113,119,2,0,40,23,253,2,152,119,2,0,152,23,253,2,28,120,2,0,140,25,253,2,59,120,2,0,244,25,253,2,187,120,2,0,36,28,253,2,244,120,2,0,8,29,253,2,58,121,2,0,196,29,253,2,27,138,0,0,168,30,253,2,179,70,0,0,218,30,253,2,110,121,2,0,252,30,253,2,97,138,0,0,88,32,253,2,195,121,2,0,194,32,253,2,244,121,2,0,190,33,253,2,175,138,0,0,70,34,253,2,219,138,0,0,100,35,253,2,234,138,0,0,128,35,253,2,99,122,2,0,190,35,253,2,152,122,2,0,168,36,253,2,186,200,2,0,36,37,253,2,210,122,2,0,144,37,253,2,92,123,2,0,200,39,253,2,120,123,2,0,38,40,253,2,211,139,0,0,144,41,253,2,247,139,0,0,54,42,253,2,88,124,2,0,58,46,253,2,217,124,2,0,234,47,253,2,51,125,2,0,30,49,253,2,99,125,2,0,32,50,253,2,217,140,0,0,226,50,253,2,155,125,2,0,32,51,253,2,177,125,2,0,146,51,253,2,252,125,2,0,160,52,253,2,22,126,2,0,250,52,253,2,60,141,0,0,36,54,253,2,182,126,2,0,38,56,253,2,208,126,2,0,136,56,253,2,239,126,2,0,244,56,253,2,155,141,0,0,72,57,253,2,40,127,2,0,182,57,253,2,118,127,2,0,166,58,253,2,210,127,2,0,228,59,253,2,242,127,2,0,156,60,253,2,21,128,2,0,72,61,253,2,252,141,0,0,200,61,253,2,64,128,2,0,2,62,253,2,15,142,0,0,144,62,253,2,117,128,2,0,242,62,253,2,59,142,0,0,156,63,253,2,160,128,2,0,202,63,253,2,188,201,2,0,60,64,253,2,26,14,3,0,110,64,253,2,84,142,0,0,64,65,253,2,5,129,2,0,120,65,253,2,129,129,2,0,20,67,253,2,214,129,2,0,48,68,253,2,24,130,2,0,8,69,253,2,56,130,2,0,112,69,253,2,214,142,0,0,46,71,253,2,179,130,2,0,92,71,253,2,206,130,2,0,224,71,253,2,22,143,0,0,6,73,253,2,32,131,2,0,60,73,253,2,71,131,2,0,220,73,253,2,105,131,2,0,86,74,253,2,138,131,2,0,202,74,253,2,178,131,2,0,100,75,253,2,124,14,3,0,212,76,253,2,124,143,0,0,228,76,253,2,130,132,2,0,222,79,253,2,244,143,0,0,70,80,253,2,165,132,2,0,130,80,253,2,11,144,0,0,214,80,253,2,197,132,2,0,24,81,253,2,235,132,2,0,188,81,253,2,150,231,2,0,62,82,253,2,60,144,0,0,116,82,253,2,33,133,2,0,182,82,253,2,88,144,0,0,112,83,253,2,134,133,2,0,54,84,253,2,180,133,2,0,238,84,253,2,212,133,2,0,46,85,253,2,229,133,2,0,154,85,253,2,92,202,2,0,90,86,253,2,118,134,2,0,206,87,253,2,147,134,2,0,72,88,253,2,188,144,0,0,160,88,253,2,175,134,2,0,222,88,253,2,212,144,0,0,46,89,253,2,203,134,2,0,100,89,253,2,235,134,2,0,240,89,253,2,249,144,0,0,94,90,253,2,24,135,2,0,152,90,253,2,50,135,2,0,16,91,253,2,24,145,0,0,86,91,253,2,75,135,2,0,124,91,253,2,122,135,2,0,20,92,253,2,145,135,2,0,90,92,253,2,186,135,2,0,224,92,253,2,244,135,2,0,234,93,253,2,11,136,2,0,70,94,253,2,55,136,2,0,6,95,253,2,76,136,2,0,106,95,253,2,105,136,2,0,226,95,253,2,152,145,0,0,56,96,253,2,214,136,2,0,98,97,253,2,74,137,2,0,228,99,253,2,45,146,0,0,66,100,253,2,144,146,0,0,112,101,253,2,178,146,0,0,80,102,253,2,172,137,2,0,236,102,253,2,247,146,0,0,180,103,253,2,41,147,0,0,24,104,253,2,230,137,2,0,98,104,253,2,73,147,0,0,96,105,253,2,47,138,2,0,234,105,253,2,153,232,2,0,184,106,253,2,136,147,0,0,228,106,253,2,135,138,2,0,108,107,253,2,192,147,0,0,68,108,253,2,207,138,2,0,196,108,253,2,250,147,0,0,122,109,253,2,22,139,2,0,250,109,253,2,85,139,2,0,24,111,253,2,146,139,2,0,252,111,253,2,85,148,0,0,114,112,253,2,184,139,2,0,162,112,253,2,250,139,2,0,122,113,253,2,152,148,0,0,160,114,253,2,92,15,3,0,6,115,253,2,176,148,0,0,24,115,253,2,207,148,0,0,162,115,253,2,248,148,0,0,50,116,253,2,22,149,0,0,170,116,253,2,50,149,0,0,42,117,253,2,148,15,3,0,114,117,253,2,90,140,2,0,220,118,253,2,184,140,2,0,226,119,253,2,215,140,2,0,118,120,253,2,243,140,2,0,214,120,253,2,13,141,2,0,68,121,253,2,39,141,2,0,154,121,253,2,72,141,2,0,24,122,253,2,156,141,2,0,66,123,253,2,26,142,2,0,4,126,253,2,55,150,0,0,54,126,253,2,91,150,0,0,36,127,253,2,88,142,2,0,80,127,253,2,117,142,2,0,222,127,253,2,123,150,0,0,100,128,253,2,192,142,2,0,44,129,253,2,238,142,2,0,192,129,253,2,10,143,2,0,48,130,253,2,178,143,2,0,166,132,253,2,23,144,2,0,182,133,253,2,52,144,2,0,8,134,253,2,92,144,2,0,108,134,253,2,183,144,2,0,208,135,253,2,210,144,2,0,72,136,253,2,156,233,2,0,40,137,253,2,23,145,2,0,86,137,253,2,59,145,2,0,202,137,253,2,124,145,2,0,148,138,253,2,145,145,2,0,222,138,253,2,122,151,0,0,24,142,253,2,120,146,2,0,62,142,253,2,144,146,2,0,148,142,253,2,3,147,2,0,50,144,253,2,83,147,2,0,34,145,253,2,152,147,2,0,242,145,253,2,184,147,2,0,84,146,253,2,89,148,2,0,224,148,253,2,112,148,2,0,58,149,253,2,27,152,0,0,134,149,253,2,143,148,2,0,174,149,253,2,174,148,2,0,50,150,253,2,25,149,2,0,188,151,253,2,51,149,2,0,22,152,253,2,124,152,0,0,90,153,253,2,180,149,2,0,188,154,253,2,211,149,2,0,36,155,253,2,232,149,2,0,102,155,253,2,28,150,2,0,18,156,253,2,56,150,2,0,118,156,253,2,149,150,2,0,32,158,253,2,168,150,2,0,126,158,253,2,45,151,2,0,108,160,253,2,56,153,0,0,226,160,253,2,89,151,2,0,6,161,253,2,211,151,2,0,144,162,253,2,182,153,0,0,30,166,253,2,141,152,2,0,210,166,253,2,174,152,2,0,92,167,253,2,244,153,0,0,200,167,253,2,214,152,2,0,242,167,253,2,237,152,2,0,108,168,253,2,20,154,0,0,220,168,253,2,57,154,0,0,32,170,253,2,28,154,2,0,220,173,253,2,87,154,2,0,178,174,253,2,17,155,2,0,70,177,253,2,48,155,2,0,162,177,253,2,122,155,2,0,168,178,253,2,150,155,2,0,2,179,253,2,219,155,2,0,186,179,253,2,86,156,2,0,68,181,253,2,186,156,2,0,94,182,253,2,245,156,2,0,20,183,253,2,28,157,2,0,132,183,253,2,122,155,0,0,250,184,253,2,184,157,2,0,36,186,253,2,187,155,0,0,124,186,253,2,205,157,2,0,196,186,253,2,212,155,0,0,68,187,253,2,89,76,0,0,138,187,253,2,247,157,2,0,174,187,253,2,113,158,2,0,126,189,253,2,49,156,0,0,28,190,253,2,173,158,2,0,102,190,253,2,92,156,0,0,142,191,253,2,2,159,2,0,184,191,253,2,59,159,2,0,120,192,253,2,90,159,2,0,216,192,253,2,218,17,3,0,204,193,253,2,247,156,0,0,106,196,253,2,176,159,2,0,178,196,253,2,15,157,0,0,46,197,253,2,185,76,0,0,106,197,253,2,220,159,2,0,142,197,253,2,45,157,0,0,42,198,253,2,18,160,2,0,120,198,253,2,74,157,0,0,14,199,253,2,74,160,2,0,84,199,253,2,102,157,0,0,216,199,253,2,119,160,2,0,66,200,253,2,60,235,2,0,220,200,253,2,146,157,0,0,246,200,253,2,182,160,2,0,66,201,253,2,172,157,0,0,234,201,253,2,250,160,2,0,62,202,253,2,45,161,2,0,4,203,253,2,111,161,2,0,232,203,253,2,174,161,2,0,170,204,253,2,24,162,2,0,218,205,253,2,155,162,2,0,4,210,253,2,180,162,2,0,84,210,253,2,60,163,2,0,252,211,253,2,28,164,2,0,24,215,253,2,152,164,2,0,164,216,253,2,219,165,2,0,36,221,253,2,89,159,0,0,68,221,253,2,247,165,2,0,158,221,253,2,14,166,2,0,228,221,253,2,57,166,2,0,104,222,253,0,23,0,5,0,0,142,9,0,16,0,5,0,2,2,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,10,2,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,32,2,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,48,6,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,74,8,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,96,8,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,180,10,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,40,11,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,72,11,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,74,28,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,80,28,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,114,42,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,180,47,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,52,48,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,2,57,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,28,59,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,90,83,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,186,85,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,232,119,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,86,222,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,86,233,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,90,233,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,114,235,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,60,239,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,230,21,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,142,48,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,116,69,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,8,112,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,240,134,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,158,135,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,50,136,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,222,215,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,152,216,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,218,48,253,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,8,50,253,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,242,98,253,0,23,0,5,0,0,144,9,0,16,0,5,0,0,82,10,0,16,0,5,0,32,2,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,74,8,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,206,43,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,208,121,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,182,191,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,52,214,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,128,235,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,34,50,252,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,100,111,252,0,16,0,5,0,0,84,10,0,21,0,5,0,0,0,19,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,19,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,19,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,19,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,21,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,21,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,21,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,23,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,23,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,23,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,25,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,25,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,27,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,27,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,29,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,29,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,31,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,31,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,33,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,33,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,35,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,35,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,22,0,5,0,0,0,37,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,22,0,5,0,0,0,37,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,19,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,19,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,21,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,21,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,23,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,23,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,25,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,25,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,27,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,27,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,29,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,31,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,33,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,35,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,22,0,5,0,0,0,37,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,25,0,21,0,5,0,0,0,19,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,25,0,21,0,5,0,0,0,21,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,25,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,27,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,29,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,31,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,33,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,35,0,16,0,5,0,86,233,251,0,22,0,5,0,0,0,37,0,16,0,5,0,86,233,251,0,160,0,5,0,2,46,97,0,160,0,5,0,9,46,97,0,160,0,5,0,2,56,97,0,160,0,5,0,9,56,97,0,160,0,5,0,2,96,97,0,160,0,5,0,9,96,97,0,160,0,5,0,2,104,97,0,160,0,5,0,9,104,97,0,160,0,5,0,16,104,97,0,160,0,5,0,2,164,97,0,160,0,5,0,9,164,97,0,32,0,5,0,2,178,97,0,174,0,5,0,2,178,97,0,160,0,5,0,9,178,97,0,160,0,5,0,2,184,97,0,160,0,5,0,9,184,97,0,160,0,5,0,2,190,97,0,160,0,5,0,9,190,97,0,32,0,5,0,16,190,97,0,174,0,5,0,16,190,97,0,160,0,5,0,23,190,97,0,160,0,5,0,30,190,97,0,160,0,5,0,37,190,97,0,160,0,5,0,44,190,97,0,160,0,5,0,2,194,97,0,160,0,5,0,9,194,97,0,160,0,5,0,2,202,97,0,160,0,5,0,9,202,97,0,160,0,5,0,2,224,97,0,32,0,5,0,2,236,97,0,174,0,5,0,2,236,97,0,160,0,5,0,9,236,97,0,160,0,5,0,2,242,97,0,32,0,5,0,9,242,97,0,174,0,5,0,9,242,97,0,160,0,5,0,2,246,97,0,32,0,5,0,9,246,97,0,174,0,5,0,9,246,97,0,32,0,5,0,16,246,97,0,174,0,5,0,16,246,97,0,160,0,5,0,23,246,97,0,32,0,5,0,30,246,97,0,174,0,5,0,30,246,97,0,160,0,5,0,37,246,97,0,160,0,5,0,44,246,97,0,160,0,5,0,51,246,97,0,32,0,5,0,58,246,97,0,174,0,5,0,58,246,97,0,160,0,5,0,65,246,97,0,160,0,5,0,72,246,97,0,32,0,5,0,79,246,97,0,174,0,5,0,79,246,97,0,160,0,5,0,86,246,97,0,160,0,5,0,86,246,97,0,5,0,184,0,0,0,0,0,160,0,5,0,93,246,97,0,38,0,5,0,0,22,102,0,32,0,5,0,16,220,102,0,49,0,5,0,0,22,102,0,46,0,5,0,16,220,102,0,38,0,5,0,0,22,102,0,32,0,5,0,9,226,102,0,49,0,5,0,0,22,102,0,46,0,5,0,9,226,102,0,32,0,5,0,2,176,102,0,16,0,5,0,30,176,102,0,27,0,5,0,30,176,102,0,38,0,5,0,30,176,102,0,49,0,5,0,30,176,102,0,16,0,5,0,51,176,102,0,27,0,5,0,51,176,102,0,38,0,5,0,51,176,102,0,49,0,5,0,51,176,102,0,32,0,5,0,72,176,102,0,16,0,5,0,16,190,102,0,27,0,5,0,16,190,102,0,38,0,5,0,16,190,102,0,49,0,5,0,16,190,102,0,16,0,5,0,16,194,102,0,27,0,5,0,16,194,102,0,38,0,5,0,16,194,102,0,49,0,5,0,16,194,102,0,16,0,5,0,30,194,102,0,27,0,5,0,30,194,102,0,38,0,5,0,30,194,102,0,49,0,5,0,30,194,102,0,16,0,5,0,9,208,102,0,27,0,5,0,9,208,102,0,38,0,5,0,9,208,102,0,49,0,5,0,9,208,102,0,32,0,5,0,16,220,102,0,32,128,232,0,0,0,0,0,46,0,5,0,16,220,102,0,46,128,232,0,0,0,0,0,32,0,5,0,2,226,102,0,46,0,5,0,2,226,102,0,32,0,5,0,9,234,102,0,46,0,5,0,9,234,102,0,160,0,5,0,9,232,118,0,160,0,5,0,16,232,118,0,160,0,5,0,23,232,118,0,160,0,5,0,30,232,118,0,160,0,5,0,37,232,118,0,160,0,5,0,44,232,118,0,160,0,5,0,51,232,118,0,160,0,5,0,58,232,118,0,160,0,5,0,65,232,118,0,160,0,5,0,72,232,118,0,160,0,5,0,79,232,118,0,160,0,5,0,86,232,118,0,160,0,5,0,93,232,118,0,160,0,5,0,100,232,118,0,160,0,5,0,107,232,118,0,160,0,5,0,114,232,118,0,160,0,5,0,121,232,118,0,160,0,5,0,128,232,118,0,160,0,5,0,135,232,118,0,160,0,5,0,142,232,118,0,160,0,5,0,149,232,118,0,160,0,5,0,156,232,118,0,160,0,5,0,163,232,118,0,160,0,5,0,170,232,118,0,160,0,5,0,177,232,118,0,160,0,5,0,184,232,118,0,160,0,5,0,191,232,118,0,160,0,5,0,198,232,118,0,160,0,5,0,205,232,118,0,160,0,5,0,212,232,118,0,160,0,5,0,219,232,118,0,160,0,5,0,226,232,118,0,160,0,5,0,233,232,118,0,160,0,5,0,240,232,118,0,160,0,5,0,247,232,118,0,160,0,5,0,254,232,118,0,32,0,5,0,16,92,121,0,32,0,5,0,44,92,121,0,32,0,5,0,114,92,121,0,32,0,5,0,163,92,121,0,32,0,5,0,198,92,121,0,32,0,5,0,247,101,121,0,174,0,5,0,247,101,121,0,32,0,5,0,30,247,121,0,32,0,5,0,58,247,121,0,32,0,5,0,72,247,121,0,32,0,5,0,100,247,121,0,32,0,5,0,114,247,121,0,32,0,5,0,240,247,121,0,32,0,5,0,247,247,121,0,32,0,5,0,51,162,124,0,32,0,5,0,72,162,124,0,27,0,5,0,2,2,251,0,38,0,5,0,2,2,251,0,49,0,5,0,2,2,251,0,38,0,5,0,6,2,251,0,27,0,5,0,10,2,251,0,27,0,5,0,32,2,251,0,38,0,5,0,32,2,251,0,49,0,5,0,32,2,251,0,27,0,5,0,34,2,251,0,38,0,5,0,34,2,251,0,27,0,5,0,36,2,251,0,38,0,5,0,36,2,251,0,38,0,5,0,132,2,251,0,16,0,5,0,60,4,251,0,16,0,5,0,14,66,252,0,27,0,5,0,82,4,251,0,38,0,5,0,82,4,251,0,49,0,5,0,82,4,251,0,16,0,5,0,200,4,251,0,5,0,112,0,200,4,251,0,16,0,5,0,252,4,251,0,16,0,5,0,26,6,251,0,38,0,5,0,26,6,251,0,5,0,112,0,26,6,251,0,16,0,5,0,28,6,251,0,16,0,5,0,30,6,251,0,27,0,5,0,48,6,251,0,16,0,5,0,248,7,251,0,27,0,5,0,74,8,251,0,38,0,5,0,74,8,251,0,49,0,5,0,74,8,251,0,27,0,5,0,96,8,251,0,16,0,5,0,232,8,251,0,49,0,5,0,250,8,251,0,16,0,5,0,68,10,251,0,38,0,5,0,68,10,251,0,16,0,5,0,70,10,251,0,49,0,5,0,182,10,251,0,49,0,5,0,60,59,251,0,27,0,5,0,40,11,251,0,27,0,5,0,72,11,251,0,27,0,5,0,70,24,251,0,16,0,5,0,4,26,251,0,16,0,5,0,188,27,251,0,27,0,5,0,74,28,251,0,27,0,5,0,80,28,251,0,16,0,5,0,104,29,251,0,5,0,112,0,104,29,251,0,49,0,5,0,162,29,251,0,16,0,5,0,74,30,251,0,27,0,5,0,88,30,251,0,16,0,5,0,62,31,251,0,16,0,5,0,196,33,251,0,5,0,112,0,196,33,251,0,16,0,5,0,200,34,251,0,16,0,5,0,132,35,251,0,5,0,112,0,132,35,251,0,16,0,5,0,136,35,251,0,49,0,5,0,90,36,251,0,49,0,5,0,172,37,251,0,49,0,5,0,126,39,251,0,16,0,5,0,8,42,251,0,27,0,5,0,114,42,251,0,16,0,5,0,244,44,251,0,16,0,5,0,234,45,251,0,16,0,5,0,82,46,251,0,16,0,5,0,118,47,251,0,27,0,5,0,134,47,251,0,27,0,5,0,180,47,251,0,16,0,5,0,42,2,251,0,16,0,5,0,186,47,251,0,27,0,5,0,52,48,251,0,16,0,5,0,44,49,251,0,5,0,112,0,44,49,251,0,16,0,5,0,240,49,251,0,5,0,112,0,240,49,251,0,27,0,5,0,26,50,251,0,16,0,5,0,178,50,251,0,5,0,112,0,178,50,251,0,16,0,5,0,120,53,251,0,16,0,5,0,122,54,251,0,49,0,5,0,132,54,251,0,16,0,5,0,112,56,251,0,27,0,5,0,150,56,251,0,27,0,5,0,158,56,251,0,49,0,5,0,158,56,251,0,49,0,5,0,246,56,251,0,27,0,5,0,2,57,251,0,49,0,5,0,200,57,251,0,27,0,5,0,180,64,251,0,49,0,5,0,142,67,251,0,16,0,5,0,76,83,251,0,27,0,5,0,90,83,251,0,38,0,5,0,90,83,251,0,27,0,5,0,186,85,251,0,38,0,5,0,12,86,251,0,16,0,5,0,220,99,251,0,49,0,5,0,234,99,251,0,16,0,5,0,178,100,251,0,16,0,5,0,232,100,251,0,16,0,5,0,136,101,251,0,49,0,5,0,154,101,251,0,27,0,5,0,182,101,251,0,16,0,5,0,204,102,251,0,49,0,5,0,204,102,251,0,49,0,5,0,196,9,252,0,38,0,5,0,208,102,251,0,49,0,5,0,208,102,251,0,16,0,5,0,100,106,251,0,27,0,5,0,100,106,251,0,16,0,5,0,108,119,251,0,49,0,5,0,146,119,251,0,27,0,5,0,232,119,251,0,16,0,5,0,174,121,251,0,27,0,5,0,86,122,251,0,16,0,5,0,22,128,251,0,16,0,5,0,34,129,251,0,5,0,112,0,34,129,251,0,5,0,120,0,34,129,251,0,16,0,5,0,144,130,251,0,5,0,112,0,144,130,251,0,16,0,5,0,146,130,251,0,5,0,112,0,146,130,251,0,16,0,5,0,192,131,251,0,16,0,5,0,8,135,251,0,16,0,5,0,128,135,251,0,16,0,5,0,66,147,251,0,16,0,5,0,210,147,251,0,27,0,5,0,228,147,251,0,49,0,5,0,228,147,251,0,16,0,5,0,132,148,251,0,16,0,5,0,136,148,251,0,16,0,5,0,20,149,251,0,16,0,5,0,170,153,251,0,49,0,5,0,172,153,251,0,49,0,5,0,100,188,251,0,16,0,5,0,92,154,251,0,27,0,5,0,106,154,251,0,16,0,5,0,218,154,251,0,16,0,5,0,254,159,251,0,16,0,5,0,102,160,251,0,16,0,5,0,108,161,251,0,16,0,5,0,216,161,251,0,16,0,5,0,210,164,251,0,5,0,112,0,210,164,251,0,16,0,5,0,212,164,251,0,16,0,5,0,122,165,251,0,16,0,5,0,88,166,251,0,49,0,5,0,8,167,251,0,27,0,5,0,156,167,251,0,16,0,5,0,252,169,251,0,5,0,112,0,252,169,251,0,16,0,5,0,254,169,251,0,16,0,5,0,76,188,251,0,16,0,5,0,162,190,251,0,16,0,5,0,156,191,251,0,49,0,5,0,156,191,251,0,16,0,5,0,158,191,251,0,49,0,5,0,182,191,251,0,49,0,5,0,156,192,251,0,49,0,5,0,254,194,251,0,49,0,5,0,210,196,251,0,16,0,5,0,60,212,251,0,16,0,5,0,230,212,251,0,16,0,5,0,232,212,251,0,16,0,5,0,254,217,251,0,27,0,5,0,254,217,251,0,16,0,5,0,178,218,251,0,49,0,5,0,206,218,251,0,16,0,5,0,74,219,251,0,49,0,5,0,188,219,251,0,16,0,5,0,68,220,251,0,16,0,5,0,42,222,251,0,16,0,5,0,44,222,251,0,27,0,5,0,86,222,251,0,5,0,112,0,86,222,251,0,49,0,5,0,22,223,251,0,49,0,5,0,232,23,252,0,49,0,5,0,180,223,251,0,49,0,5,0,206,223,251,0,49,0,5,0,60,59,251,0,16,0,5,0,90,232,251,0,27,0,5,0,86,233,251,0,49,0,5,0,86,233,251,0,5,0,112,0,86,233,251,0,27,0,5,0,90,233,251,0,49,0,5,0,90,233,251,0,27,0,5,0,114,235,251,0,27,0,5,0,60,239,251,0,49,0,5,0,60,239,251,0,49,0,5,0,130,161,251,0,49,0,5,0,90,11,251,0,49,0,5,0,240,134,252,0,16,0,5,0,188,6,252,0,16,0,5,0,190,9,252,0,27,0,5,0,196,9,252,0,16,0,5,0,192,11,252,0,5,0,112,0,198,11,252,0,16,0,5,0,174,14,252,0,16,0,5,0,104,16,252,0,16,0,5,0,110,16,252,0,16,0,5,0,180,16,252,0,16,0,5,0,22,17,252,0,16,0,5,0,236,20,252,0,16,0,5,0,240,20,252,0,16,0,5,0,54,21,252,0,27,0,5,0,230,21,252,0,16,0,5,0,232,21,252,0,16,0,5,0,234,21,252,0,27,0,5,0,66,24,252,0,49,0,5,0,68,32,252,0,49,0,5,0,182,36,252,0,27,0,5,0,142,48,252,0,16,0,5,0,144,48,252,0,49,0,5,0,124,53,252,0,16,0,5,0,48,64,252,0,16,0,5,0,50,64,252,0,5,0,112,0,50,64,252,0,16,0,5,0,150,65,252,0,16,0,5,0,218,65,252,0,16,0,5,0,16,66,252,0,16,0,5,0,252,66,252,0,16,0,5,0,28,68,252,0,16,0,5,0,94,68,252,0,5,0,112,0,94,68,252,0,27,0,5,0,116,69,252,0,16,0,5,0,46,72,252,0,16,0,5,0,48,72,252,0,16,0,5,0,112,79,252,0,16,0,5,0,132,79,252,0,5,0,112,0,134,79,252,0,16,0,5,0,158,89,252,0,16,0,5,0,104,90,252,0,16,0,5,0,188,92,252,0,16,0,5,0,36,93,252,0,49,0,5,0,36,93,252,0,16,0,5,0,208,93,252,0,16,0,5,0,32,94,252,0,38,0,5,0,36,94,252,0,49,0,5,0,38,94,252,0,27,0,5,0,56,94,252,0,16,0,5,0,100,98,252,0,5,0,112,0,100,98,252,0,16,0,5,0,176,98,252,0,16,0,5,0,156,106,252,0,16,0,5,0,250,106,252,0,16,0,5,0,26,109,252,0,16,0,5,0,184,110,252,0,27,0,5,0,8,112,252,0,16,0,5,0,128,113,252,0,5,0,112,0,128,113,252,0,16,0,5,0,54,123,252,0,16,0,5,0,16,124,252,0,16,0,5,0,134,125,252,0,16,0,5,0,210,134,252,0,5,0,112,0,210,134,252,0,16,0,5,0,212,134,252,0,27,0,5,0,240,134,252,0,27,0,5,0,158,135,252,0,49,0,5,0,80,137,252,0,16,0,5,0,88,140,252,0,16,0,5,0,156,140,252,0,27,0,5,0,134,141,252,0,16,0,5,0,22,148,252,0,49,0,5,0,50,148,252,0,16,0,5,0,118,152,252,0,16,0,5,0,154,154,252,0,5,0,112,0,154,154,252,0,27,0,5,0,76,158,252,0,16,0,5,0,76,168,252,0,16,0,5,0,70,174,252,0,16,0,5,0,72,174,252,0,49,0,5,0,168,175,252,0,16,0,5,0,220,185,252,0,16,0,5,0,198,188,252,0,16,0,5,0,238,189,252,0,16,0,5,0,240,189,252,0,5,0,112,0,240,189,252,0,16,0,5,0,242,189,252,0,5,0,112,0,242,189,252,0,5,0,120,0,242,189,252,0,16,0,5,0,14,193,252,0,5,0,112,0,14,193,252,0,5,0,120,0,14,193,252,0,16,0,5,0,22,193,252,0,16,0,5,0,136,195,252,0,16,0,5,0,84,198,252,0,16,0,5,0,86,198,252,0,16,0,5,0,214,198,252,0,16,0,5,0,40,199,252,0,16,0,5,0,74,200,252,0,16,0,5,0,128,203,252,0,5,0,112,0,128,203,252,0,16,0,5,0,130,203,252,0,16,0,5,0,226,203,252,0,5,0,112,0,226,203,252,0,16,0,5,0,90,215,252,0,16,0,5,0,10,217,252,0,5,0,112,0,10,217,252,0,16,0,5,0,106,218,252,0,16,0,5,0,90,219,252,0,16,0,5,0,128,219,252,0,16,0,5,0,106,222,252,0,16,0,5,0,140,222,252,0,16,0,5,0,6,223,252,0,16,0,5,0,8,223,252,0,5,0,112,0,8,223,252,0,5,0,120,0,8,223,252,0,16,0,5,0,174,252,252,0,16,0,5,0,178,252,252,0,16,0,5,0,150,254,252,0,16,0,5,0,202,14,253,0,16,0,5,0,118,15,253,0,16,0,5,0,52,16,253,0,16,0,5,0,54,16,253,0,16,0,5,0,136,24,253,0,16,0,5,0,138,24,253,0,16,0,5,0,140,24,253,0,16,0,5,0,42,25,253,0,16,0,5,0,148,27,253,0,16,0,5,0,240,27,253,0,5,0,112,0,240,27,253,0,49,0,5,0,152,28,253,0,16,0,5,0,38,30,253,0,16,0,5,0,192,40,253,0,16,0,5,0,160,43,253,0,16,0,5,0,90,44,253,0,16,0,5,0,112,45,253,0,16,0,5,0,36,47,253,0,16,0,5,0,190,48,253,0,27,0,5,0,218,48,253,0,49,0,5,0,14,49,253,0,27,0,5,0,8,50,253,0,16,0,5,0,202,53,253,0,16,0,5,0,190,54,253,0,16,0,5,0,84,55,253,0,49,0,5,0,84,55,253,0,16,0,5,0,84,59,253,0,5,0,112,0,84,59,253,0,16,0,5,0,230,68,253,0,16,0,5,0,218,70,253,0,16,0,5,0,100,76,253,0,16,0,5,0,186,77,253,0,16,0,5,0,128,78,253,0,16,0,5,0,176,78,253,0,16,0,5,0,178,78,253,0,5,0,112,0,178,78,253,0,5,0,120,0,178,78,253,0,49,0,5,0,144,82,253,0,27,0,5,0,26,84,253,0,16,0,5,0,98,87,253,0,5,0,112,0,98,87,253,0,16,0,5,0,148,93,253,0,49,0,5,0,166,93,253,0,16,0,5,0,30,98,253,0,16,0,5,0,98,98,253,0,27,0,5,0,242,98,253,0,16,0,5,0,86,114,253,0,16,0,5,0,200,118,253,0,16,0,5,0,202,118,253,0,16,0,5,0,2,120,253,0,16,0,5,0,6,120,253,0,16,0,5,0,84,124,253,0,16,0,5,0,154,125,253,0,5,0,112,0,154,125,253,0,16,0,5,0,156,125,253,0,16,0,5,0,186,131,253,0,16,0,5,0,228,131,253,0,16,0,5,0,178,134,253,0,5,0,112,0,178,134,253,0,16,0,5,0,216,139,253,0,16,0,5,0,218,139,253,0,16,0,5,0,44,140,253,0,16,0,5,0,152,140,253,0,16,0,5,0,160,141,253,0,16,0,5,0,196,145,253,0,16,0,5,0,30,147,253,0,16,0,5,0,108,147,253,0,16,0,5,0,184,147,253,0,16,0,5,0,142,148,253,0,27,0,5,0,162,148,253,0,16,0,5,0,70,153,253,0,16,0,5,0,82,154,253,0,16,0,5,0,242,156,253,0,16,0,5,0,122,157,253,0,16,0,5,0,164,157,253,0,16,0,5,0,170,157,253,0,16,0,5,0,172,157,253,0,5,0,112,0,172,157,253,0,16,0,5,0,20,163,253,0,16,0,5,0,110,164,253,0,5,0,112,0,110,164,253,0,16,0,5,0,252,164,253,0,16,0,5,0,208,165,253,0,16,0,5,0,244,171,253,0,16,0,5,0,168,173,253,0,5,0,112,0,168,173,253,0,16,0,5,0,232,175,253,0,16,0,5,0,186,176,253,0,16,0,5,0,58,180,253,0,16,0,5,0,136,180,253,0,16,0,5,0,172,180,253,0,16,0,5,0,166,181,253,0,5,0,112,0,166,181,253,0,16,0,5,0,2,184,253,0,16,0,5,0,64,193,253,0,16,0,5,0,218,195,253,0,16,0,5,0,72,206,253,0,16,0,5,0,240,208,253,0,5,0,112,0,240,208,253,0,16,0,5,0,178,209,253,0,16,0,5,0,56,211,253,0,16,0,5,0,196,212,253,0,16,0,5,0,94,213,253,0,16,0,5,0,210,213,253,0,16,0,5,0,212,213,253,0,16,0,5,0,124,214,253,0,16,0,5,0,252,214,253,0,16,0,5,0,36,217,253,0,16,0,5,0,62,217,253,0,16,0,5,0,222,217,253,0,16,0,5,0,6,218,253,0,16,0,5,0,62,218,253,0,16,0,5,0,220,218,253,0,16,0,5,0,240,219,253,0,16,0,5,0,176,220,253,0,5,0,112,0,176,220,253,0,16,0,5,0,236,220,253,0,16,0,5,0,248,220,253,0,5,0,112,0,248,220,253,0,16,0,5,0,110,223,253,0,16,0,5,0,12,224,253,0,5,0,112,0,12,224,253,0,16,0,5,0,96,224,253,0,16,0,5,0,118,224,253,0,5,0,112,0,118,224,253,0,5,0,120,0,118,224,253,0,16,0,5,0,218,224,253,0,16,0,5,0,236,224,253,135,218,7,0,0,2,140,103,135,48,17,0,0,2,92,121,135,118,17,0,0,2,145,121,135,207,17,0,0,2,247,121,135,2,20,0,0,16,234,118,135,150,21,0,0,99,245,118,135,167,21,0,0,225,245,118,135,176,24,0,0,150,251,118,135,80,25,0,0,9,4,118,135,60,26,0,0,2,26,118,135,90,28,0,0,9,56,118,7,156,33,0,0,44,107,12,7,175,33,0,0,170,107,12,7,138,34,0,0,224,158,12,7,238,34,0,0,85,161,12,7,12,35,0,0,13,162,12,7,43,35,0,0,216,162,12,7,3,37,0,0,2,174,12,7,161,37,0,0,2,182,12,7,204,37,0,0,2,187,12,7,0,38,0,0,2,194,12,7,56,38,0,0,84,195,12,7,112,38,0,0,201,196,12,7,144,38,0,0,129,197,12,7,33,39,0,0,70,202,12,7,148,39,0,0,59,204,12,7,199,39,0,0,148,205,12,7,0,40,0,0,55,227,12,7,0,41,0,0,223,206,12,7,153,41,0,0,124,210,12,7,220,41,0,0,57,212,12,7,13,42,0,0,125,213,12,7,119,42,0,0,84,216,12,7,221,42,0,0,29,219,12,7,118,43,0,0,70,223,12,7,151,43,0,0,40,224,12,135,60,45,0,0,100,141,103,135,84,45,0,0,21,142,103,7,192,49,0,0,184,73,13,7,192,77,0,0,167,234,12,135,0,160,0,0,9,118,123,7,144,164,0,0,208,238,12,135,208,164,0,0,51,151,123,135,52,165,0,0,2,16,120,135,111,165,0,0,2,44,120,135,136,165,0,0,2,52,120,135,181,165,0,0,2,57,120,135,217,165,0,0,2,69,120,135,160,166,0,0,9,76,120,135,12,168,0,0,93,162,113,135,130,168,0,0,9,164,113,135,10,169,0,0,9,78,117,135,48,169,0,0,9,76,117,135,132,169,0,0,9,42,118,135,0,170,0,0,9,38,118,135,128,170,0,0,9,132,115,135,176,215,0,0,44,177,121,135,203,215,0,0,91,248,121,135,13,0,1,0,93,99,124,135,128,0,1,0,117,101,124,7,121,1,1,0,148,240,12,7,208,1,1,0,132,241,12,135,160,2,1,0,9,248,123,135,48,3,1,0,9,252,123,135,161,3,1,0,16,205,124,135,80,4,1,0,9,86,124,135,216,4,1,0,9,232,118,135,0,5,1,0,9,93,124,135,48,5,1,0,9,95,124,135,0,6,1,0,9,105,124,135,10,8,1,0,58,115,124,7,210,9,1,0,51,118,18,135,201,10,1,0,2,167,124,135,0,11,1,0,9,119,124,135,176,15,1,0,9,203,124,135,5,16,1,0,9,244,113,135,52,16,1,0,98,245,113,7,91,16,1,0,91,147,17,135,208,16,1,0,9,97,124,135,3,17,1,0,9,96,117,135,80,17,1,0,9,168,113,135,131,17,1,0,23,170,113,135,19,18,1,0,135,172,113,135,176,18,1,0,9,174,113,135,19,19,1,0,100,178,113,135,0,20,1,0,23,180,113,135,128,20,1,0,16,183,113,135,133,21,1,0,2,193,113,135,0,22,1,0,9,201,113,135,140,22,1,0,121,203,113,135,0,24,1,0,9,209,113,135,24,25,1,0,142,205,113,135,170,25,1,0,65,207,113,135,13,26,1,0,30,198,116,135,10,28,1,0,72,248,113,142,114,28,1,0,9,4,117,142,146,28,1,0,16,4,117,135,11,29,1,0,72,224,113,135,106,29,1,0,72,229,113,135,0,32,1,0,9,207,124,135,99,34,1,0,236,223,124,135,214,34,1,0,11,227,124,7,90,36,1,0,147,119,18,135,128,36,1,0,113,232,124,135,0,48,1,0,9,4,125,135,0,68,1,0,9,83,125,135,0,104,1,0,61,78,120,135,208,106,1,0,9,94,120,135,0,107,1,0,9,240,123,130,0,112,1,0,4,100,125,130,0,136,1,0,84,148,125,135,0,139,1,0,9,166,125,135,15,176,1,0,100,104,122,135,112,177,1,0,9,155,125,135,0,188,1,0,9,88,124,7,0,208,1,0,249,242,12,7,0,209,1,0,193,249,12,7,58,209,1,0,98,251,12,7,140,209,1,0,131,252,12,7,0,211,1,0,107,236,12,7,0,216,1,0,130,58,13,7,118,218,1,0,242,72,13,135,0,225,1,0,9,243,123,135,192,226,1,0,9,245,123,135,0,232,1,0,9,95,120,7,0,240,1,0,186,2,13,7,48,240,1,0,240,3,13,7,209,240,1,0,239,7,13,7,0,243,1,0,252,11,13,7,0,246,1,0,185,41,13,7,0,247,1,0,101,48,13,7,128,247,1,0,151,51,13,7,16,248,1,0,180,54,13,7,96,248,1,0,134,56,13,7,144,248,1,0,160,57,13,7,0,249,1,0,40,33,13,7,122,249,1,0,125,36,13,7,205,249,1,0,191,38,13,7,0,250,1,0,244,8,13,7,144,250,1,0,145,40,13,7,0,251,1,0,112,188,12,7,148,251,1,0,125,192,12,0,0,0,0,5,150,0,0,5,136,0,0,194,32,9,230,194,46,29,232,194,32,108,230,194,46,29,232,194,32,207,230,194,32,29,232,194,46,207,230,194,46,29,232,194,32,85,231,194,32,29,232,194,46,85,231,194,46,29,232,194,32,184,231,194,32,29,232,194,46,184,231,194,46,29,232,194,46,29,232,194,44,59,235,27,5,54,7,27,5,54,7,24,5,131,12,24,5,90,7,24,5,90,7,24,5,90,7,27,5,98,7,27,5,98,7,24,5,90,7,24,5,0,8,24,5,0,8,40,5,0,8,40,5,0,8,24,5,0,8,24,5,0,8,24,5,0,8,40,5,0,8,40,5,0,8,40,5,0,8,23,5,142,9,21,5,0,21,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,19,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,21,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,23,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,25,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,27,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,29,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,31,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,33,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,35,23,5,144,9,23,5,142,9,21,5,0,21,22,5,0,37,23,5,144,9,23,5,142,9,21,5,0,23,23,5,144,9,23,5,142,9,21,5,0,23,21,5,0,19,23,5,144,9,23,5,142,9,21,5,0,25,23,5,144,9,23,5,142,9,21,5,0,27,23,5,144,9,23,5,142,9,21,5,0,29,23,5,144,9,23,5,142,9,21,5,0,31,23,5,144,9,23,5,142,9,21,5,0,33,23,5,144,9,23,5,142,9,21,5,0,35,23,5,144,9,23,5,142,9,22,5,0,37,23,5,144,9,23,5,142,9,19,5,0,42,23,5,144,9,23,5,142,9,162,5,0,42,23,5,144,9,23,5,142,9,19,5,0,44,23,5,144,9,23,5,142,9,162,5,0,44,23,5,144,9,23,5,142,9,19,5,0,46,23,5,144,9,23,5,142,9,162,5,0,46,23,5,144,9,23,5,142,9,19,5,0,48,23,5,144,9,23,5,142,9,162,5,0,48,23,5,144,9,23,5,142,9,19,5,0,50,23,5,144,9,23,5,142,9,162,5,0,50,23,5,144,9,23,5,142,9,19,5,0,52,23,5,144,9,23,5,142,9,162,5,0,52,23,5,144,9,23,5,142,9,19,5,0,54,23,5,144,9,23,5,142,9,162,5,0,54,23,5,144,9,23,5,142,9,19,5,0,56,23,5,144,9,23,5,142,9,162,5,0,56,23,5,144,9,23,5,142,9,19,5,0,58,23,5,144,9,23,5,142,9,162,5,0,58,23,5,144,9,23,5,142,9,19,5,0,60,23,5,144,9,23,5,142,9,162,5,0,60,23,5,144,9,23,5,142,9,19,5,0,62,23,5,144,9,23,5,142,9,162,5,0,62,23,5,144,9,23,5,142,9,19,5,0,64,23,5,144,9,23,5,142,9,162,5,0,64,23,5,144,9,23,5,142,9,19,5,0,66,23,5,144,9,23,5,142,9,162,5,0,66,23,5,144,9,23,5,142,9,19,5,0,68,23,5,144,9,23,5,142,9,162,5,0,68,23,5,144,9,23,5,142,9,19,5,0,70,23,5,144,9,23,5,142,9,162,5,0,70,23,5,144,9,23,5,142,9,19,5,0,72,23,5,144,9,23,5,142,9,162,5,0,72,23,5,144,9,23,5,142,9,20,5,0,74,23,5,144,9,23,5,142,9,168,5,0,74,23,5,144,9,23,5,142,9,19,5,0,76,23,5,144,9,23,5,142,9,162,5,0,76,23,5,144,9,23,5,142,9,19,5,0,78,23,5,144,9,23,5,142,9,162,5,0,78,23,5,144,9,23,5,142,9,19,5,0,80,23,5,144,9,23,5,142,9,162,5,0,80,23,5,144,9,23,5,142,9,19,5,0,82,23,5,144,9,23,5,142,9,162,5,0,82,23,5,144,9,23,5,142,9,19,5,0,84,23,5,144,9,23,5,142,9,162,5,0,84,23,5,144,9,23,5,142,9,20,5,0,86,23,5,144,9,23,5,142,9,168,5,0,86,23,5,144,9,23,5,142,9,19,5,0,88,23,5,144,9,23,5,142,9,162,5,0,88,23,5,144,9,23,5,142,9,19,5,0,90,23,5,144,9,23,5,142,9,162,5,0,90,23,5,144,9,23,5,142,9,19,5,0,92,23,5,144,9,23,5,142,9,162,5,0,92,23,5,144,9,23,5,142,9,16,5,6,121,23,5,144,9,23,5,142,9,16,5,6,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,10,121,23,5,144,9,23,5,142,9,16,5,10,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,12,121,23,5,144,9,23,5,142,9,16,5,12,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,16,121,23,5,144,9,23,5,142,9,16,5,16,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,18,121,23,5,144,9,23,5,142,9,16,5,18,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,20,121,23,5,144,9,23,5,142,9,16,5,20,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,24,121,23,5,144,9,23,5,142,9,16,5,24,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,28,121,23,5,144,9,23,5,142,9,16,5,28,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,28,121,16,5,119,121,16,5,30,121,32,5,111,121,32,5,185,121,23,5,144,9,23,5,142,9,16,5,28,121,16,5,119,121,16,5,42,121,16,5,129,121,23,5,144,9,23,5,142,9,16,5,30,121,23,5,144,9,23,5,142,9,16,5,30,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,30,121,16,5,129,121,23,5,144,9,23,5,142,9,16,5,34,121,23,5,144,9,23,5,142,9,16,5,34,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,36,121,23,5,144,9,23,5,142,9,16,5,36,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,38,121,23,5,144,9,23,5,142,9,16,5,38,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,40,121,23,5,144,9,23,5,142,9,16,5,40,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,42,121,23,5,144,9,23,5,142,9,16,5,42,121,16,5,103,121,23,5,144,9,16,5,82,10,162,5,0,78,16,5,84,10,32,5,188,10,32,5,188,10,32,5,188,10,32,5,188,10,32,5,188,10,32,5,190,10,32,5,190,10,32,5,190,10,32,5,190,10,32,5,190,10,5,5,16,12,5,136,0,0,5,5,16,12,5,138,0,0,5,5,16,12,5,148,0,0,193,9,22,12,5,136,0,0,193,9,22,12,5,138,0,0,193,9,22,12,5,148,0,0,193,16,22,12,5,136,0,0,193,16,22,12,5,138,0,0,193,16,22,12,5,148,0,0,32,5,83,12,162,5,0,46,32,5,83,12,162,5,0,52,5,5,99,12,5,158,0,0,5,5,101,12,5,158,0,0,193,2,107,12,5,158,0,0,193,126,108,12,5,158,0,0,193,140,108,12,5,158,0,0,193,154,108,12,5,158,0,0,193,2,113,12,5,158,0,0,193,2,117,12,5,158,0,0,193,16,117,12,5,158,0,0,5,5,129,12,5,158,0,0,5,5,131,12,5,158,0,0,24,5,131,12,24,5,131,12,24,5,131,12,24,5,131,12,24,5,131,12,5,5,133,12,5,158,0,0,193,107,151,12,5,158,0,0,193,114,151,12,5,158,0,0,32,5,153,12,32,5,153,12,32,5,153,12,32,5,153,12,32,5,153,12,32,5,155,12,32,5,155,12,32,5,155,12,32,5,155,12,32,5,155,12,193,79,157,12,5,158,0,0,193,121,157,12,5,158,0,0,193,128,157,12,5,158,0,0,193,142,157,12,5,158,0,0,193,170,157,12,5,158,0,0,193,49,158,12,5,158,0,0,193,63,158,12,5,158,0,0,193,70,158,12,5,158,0,0,193,126,158,12,5,158,0,0,193,133,158,12,5,158,0,0,193,140,158,12,5,158,0,0,193,147,158,12,5,158,0,0,193,154,158,12,5,158,0,0,193,161,158,12,5,158,0,0,193,168,158,12,5,158,0,0,193,175,158,12,5,158,0,0,193,196,158,12,5,158,0,0,193,203,158,12,5,158,0,0,193,210,158,12,5,158,0,0,193,217,158,12,5,158,0,0,193,19,159,12,5,158,0,0,193,26,159,12,5,158,0,0,193,138,159,12,5,158,0,0,193,180,159,12,5,158,0,0,193,187,159,12,5,158,0,0,193,201,159,12,5,158,0,0,193,222,159,12,5,158,0,0,193,229,159,12,5,158,0,0,193,236,159,12,5,158,0,0,193,243,159,12,5,158,0,0,193,29,219,12,5,158,0,0,5,5,110,13,5,174,0,0,5,5,112,13,5,174,0,0,5,5,116,13,5,174,0,0,5,5,120,13,5,174,0,0,21,5,0,19,27,5,0,6,21,5,0,19,24,5,0,8,51,5,0,19,32,5,149,12,51,5,0,25,21,5,0,21,27,5,0,6,21,5,0,21,24,5,0,8,51,5,0,21,32,5,149,12,51,5,0,21,32,5,149,12,51,5,0,21,51,5,0,19,51,5,0,21,32,5,149,12,51,5,0,23,51,5,0,21,32,5,149,12,51,5,0,25,51,5,0,21,32,5,149,12,51,5,0,27,51,5,0,21,32,5,149,12,51,5,0,29,51,5,0,21,32,5,149,12,51,5,0,31,51,5,0,21,32,5,149,12,51,5,0,33,51,5,0,21,32,5,149,12,51,5,0,35,51,5,0,21,32,5,149,12,52,5,0,37,31,5,0,21,31,5,0,19,21,5,0,21,21,5,0,19,24,5,0,8,31,5,0,21,31,5,0,21,21,5,0,21,21,5,0,21,24,5,0,8,31,5,0,21,31,5,0,23,21,5,0,21,21,5,0,23,24,5,0,8,46,5,0,21,46,5,0,23,46,5,0,19,180,5,0,72,31,5,0,21,31,5,0,25,21,5,0,21,21,5,0,25,24,5,0,8,31,5,0,21,31,5,0,27,21,5,0,21,21,5,0,27,24,5,0,8,31,5,0,21,31,5,0,29,21,5,0,21,21,5,0,29,24,5,0,8,31,5,0,21,31,5,0,31,21,5,0,21,21,5,0,31,24,5,0,8,31,5,0,21,31,5,0,33,21,5,0,21,21,5,0,33,24,5,0,8,31,5,0,21,31,5,0,35,21,5,0,21,21,5,0,35,24,5,0,8,31,5,0,21,34,5,0,37,21,5,0,21,22,5,0,37,24,5,0,8,21,5,0,23,27,5,0,6,51,5,0,23,32,5,149,12,51,5,0,25,51,5,0,23,32,5,149,12,51,5,0,29,31,5,0,23,31,5,0,19,21,5,0,23,21,5,0,19,24,5,0,8,31,5,0,23,31,5,0,21,31,5,0,23,31,5,0,23,46,5,0,23,46,5,0,23,48,5,0,8,46,5,0,23,31,5,0,23,31,5,0,25,31,5,0,23,31,5,0,27,31,5,0,23,31,5,0,29,31,5,0,23,31,5,0,31,31,5,0,23,31,5,0,33,31,5,0,23,31,5,0,35,31,5,0,23,34,5,0,37,46,5,0,23,180,5,0,62,46,5,0,23,49,5,0,68,46,5,0,48,48,5,0,4,180,5,0,78,46,5,0,46,49,5,0,76,21,5,0,25,27,5,0,6,51,5,0,25,32,5,149,12,51,5,0,27,51,5,0,25,32,5,149,12,51,5,0,29,51,5,0,25,32,5,149,12,51,5,0,35,31,5,0,25,31,5,0,19,31,5,0,25,31,5,0,21,31,5,0,25,31,5,0,25,31,5,0,25,31,5,0,27,31,5,0,25,31,5,0,29,31,5,0,25,31,5,0,31,31,5,0,25,31,5,0,33,31,5,0,25,31,5,0,35,31,5,0,25,34,5,0,37,46,5,0,25,177,5,0,48,21,5,0,27,27,5,0,6,51,5,0,27,32,5,149,12,51,5,0,29,31,5,0,27,31,5,0,19,31,5,0,27,31,5,0,21,31,5,0,27,31,5,0,27,31,5,0,27,31,5,0,29,31,5,0,27,31,5,0,31,31,5,0,27,31,5,0,33,31,5,0,27,31,5,0,35,31,5,0,27,34,5,0,37,46,5,0,27,180,5,0,62,21,5,0,29,27,5,0,6,46,5,0,29,48,5,0,8,46,5,0,21,51,5,0,29,32,5,149,12,51,5,0,31,51,5,0,29,32,5,149,12,51,5,0,35,31,5,0,29,31,5,0,19,21,5,0,31,27,5,0,6,31,5,0,31,31,5,0,19,46,5,0,31,46,5,0,19,180,5,0,72,21,5,0,33,27,5,0,6,46,5,0,33,48,5,0,8,46,5,0,21,51,5,0,33,32,5,149,12,51,5,0,35,31,5,0,33,31,5,0,19,21,5,0,35,27,5,0,6,31,5,0,35,31,5,0,19,46,5,0,35,180,5,0,62,22,5,0,37,27,5,0,6,5,5,0,42,5,140,0,0,5,136,0,0,156,5,0,42,5,140,0,0,5,136,0,0,5,5,0,42,5,140,0,0,5,138,0,0,156,5,0,42,5,140,0,0,5,138,0,0,5,5,0,42,5,140,0,0,5,154,0,0,156,5,0,42,5,140,0,0,5,154,0,0,5,5,0,42,5,140,0,0,5,182,0,0,156,5,0,42,5,140,0,0,5,182,0,0,5,5,0,42,5,142,0,0,5,136,0,0,156,5,0,42,5,142,0,0,5,136,0,0,5,5,0,42,5,142,0,0,5,138,0,0,156,5,0,42,5,142,0,0,5,138,0,0,5,5,0,42,5,142,0,0,5,154,0,0,156,5,0,42,5,142,0,0,5,154,0,0,5,5,0,42,5,142,0,0,5,182,0,0,156,5,0,42,5,142,0,0,5,182,0,0,5,5,0,42,5,146,0,0,5,136,0,0,156,5,0,42,5,146,0,0,5,136,0,0,19,5,0,42,32,150,0,0,162,5,0,42,32,150,0,0,5,5,0,42,5,150,0,0,5,164,0,0,156,5,0,42,5,150,0,0,5,164,0,0,5,5,0,42,5,156,0,0,5,164,0,0,156,5,0,42,5,156,0,0,5,164,0,0,5,5,0,42,5,196,0,0,5,140,0,0,156,5,0,42,5,196,0,0,5,140,0,0,5,5,0,42,5,196,0,0,5,142,0,0,156,5,0,42,5,196,0,0,5,142,0,0,49,5,0,42,48,5,0,8,49,5,0,66,48,5,0,8,19,5,0,42,46,5,138,10,19,5,0,46,19,5,0,42,46,5,138,10,19,5,0,78,162,5,0,42,46,5,138,10,162,5,0,78,180,5,0,42,32,5,147,12,49,5,0,66,19,5,0,42,19,5,0,42,162,5,0,42,162,5,0,42,180,5,0,42,177,5,0,44,5,112,0,42,19,5,0,50,160,112,0,42,162,5,0,50,46,112,0,42,43,5,0,50,5,112,0,42,19,5,0,50,5,136,0,0,160,112,0,42,162,5,0,50,5,136,0,0,5,112,0,42,19,5,0,50,5,164,0,0,160,112,0,42,162,5,0,50,5,164,0,0,19,5,0,42,19,5,0,70,162,5,0,42,162,5,0,70,19,5,0,42,19,5,0,82,162,5,0,42,162,5,0,82,180,5,0,42,177,5,0,82,19,5,0,42,19,5,0,84,162,5,0,42,162,5,0,84,5,112,0,42,19,5,0,84,160,112,0,42,162,5,0,84,19,5,0,42,19,5,0,90,162,5,0,42,162,5,0,90,19,5,0,42,32,5,86,93,46,5,0,44,49,5,0,42,49,5,0,76,177,5,0,44,52,5,0,74,19,5,0,46,32,160,0,0,5,5,0,46,5,160,0,0,5,136,0,0,156,5,0,46,5,160,0,0,5,136,0,0,19,5,0,46,46,5,138,10,19,5,0,70,19,5,0,46,46,5,138,10,19,5,0,82,177,5,0,46,32,5,147,12,49,5,0,62,46,5,0,54,46,5,0,46,49,5,0,42,49,5,0,64,46,5,0,46,46,5,0,46,168,5,0,46,168,5,0,48,46,5,0,46,46,5,0,48,177,5,0,46,180,5,0,64,46,5,0,46,49,5,0,66,46,5,0,46,49,5,0,66,46,5,0,23,46,5,0,46,49,5,0,66,46,5,0,25,177,5,0,46,49,5,0,70,48,5,0,8,177,5,0,46,180,5,0,70,180,5,0,70,180,5,0,64,46,5,0,48,49,5,0,42,19,5,0,48,19,5,0,44,46,5,0,48,177,5,0,44,177,5,0,48,177,5,0,60,46,5,0,48,49,5,0,64,46,5,0,48,49,5,0,66,46,5,0,48,49,5,0,66,46,5,0,23,46,5,0,48,49,5,0,66,46,5,0,25,19,5,0,48,19,5,0,92,162,5,0,48,19,5,0,92,162,5,0,48,162,5,0,92,19,5,0,48,19,5,0,92,32,144,0,0,162,5,0,48,19,5,0,92,32,144,0,0,162,5,0,48,162,5,0,92,32,144,0,0,19,5,0,48,32,5,16,93,19,5,0,48,32,5,18,93,19,5,0,48,16,5,26,93,5,5,0,50,5,142,0,0,5,136,0,0,156,5,0,50,5,142,0,0,5,136,0,0,5,5,0,50,5,142,0,0,5,138,0,0,156,5,0,50,5,142,0,0,5,138,0,0,5,5,0,50,5,142,0,0,5,154,0,0,156,5,0,50,5,142,0,0,5,154,0,0,5,5,0,50,5,142,0,0,5,182,0,0,156,5,0,50,5,142,0,0,5,182,0,0,5,5,0,50,5,160,0,0,5,140,0,0,156,5,0,50,5,160,0,0,5,140,0,0,5,5,0,50,5,164,0,0,5,136,0,0,156,5,0,50,5,164,0,0,5,136,0,0,5,5,0,50,5,164,0,0,5,138,0,0,156,5,0,50,5,164,0,0,5,138,0,0,5,5,0,50,5,196,0,0,5,142,0,0,156,5,0,50,5,196,0,0,5,142,0,0,49,5,0,50,49,5,0,76,46,5,0,54,49,5,0,50,180,5,0,84,162,5,0,52,162,5,0,42,162,5,0,88,19,5,0,52,19,5,0,52,19,5,0,52,19,5,0,52,19,5,0,58,19,5,0,52,19,5,0,52,19,5,0,64,46,5,0,52,49,5,0,66,19,5,0,52,16,5,30,69,177,5,0,52,180,5,0,76,180,5,0,50,180,5,0,50,19,5,0,54,32,170,0,0,162,5,0,54,32,170,0,0,46,5,0,54,49,5,0,42,49,5,0,64,177,5,0,54,177,5,0,44,177,5,0,54,180,5,0,56,46,5,0,92,177,5,0,54,180,5,0,72,49,5,0,42,177,5,0,54,46,5,0,90,43,5,0,56,32,178,0,0,49,5,0,56,49,5,0,42,180,5,0,56,46,5,0,46,180,5,0,56,46,5,0,48,180,5,0,76,180,5,0,56,46,5,0,54,180,5,0,56,49,5,0,58,48,5,0,4,180,5,0,76,49,5,0,50,49,5,0,78,180,5,0,56,180,5,0,72,49,5,0,56,180,5,0,72,49,5,0,42,180,5,0,56,180,5,0,84,5,5,0,58,5,150,0,0,5,136,0,0,156,5,0,58,5,150,0,0,5,136,0,0,180,5,0,58,177,5,0,46,180,5,0,58,177,5,0,48,19,5,0,58,19,5,0,58,162,5,0,58,162,5,0,58,19,5,0,58,19,5,0,58,19,5,0,58,162,5,0,58,162,5,0,58,162,5,0,58,19,5,0,58,19,5,0,60,162,5,0,58,162,5,0,60,49,5,0,58,49,5,0,68,180,5,0,58,177,5,0,82,19,5,0,58,19,5,0,84,162,5,0,58,162,5,0,84,19,5,0,58,19,5,0,88,162,5,0,58,162,5,0,88,19,5,0,62,32,170,0,0,162,5,0,62,32,170,0,0,49,5,0,62,180,5,0,42,180,5,0,62,177,5,0,44,49,5,0,62,46,5,0,46,49,5,0,42,49,5,0,64,49,5,0,62,180,5,0,56,46,5,0,92,180,5,0,62,180,5,0,62,49,5,0,62,49,5,0,64,49,5,0,62,49,5,0,66,180,5,0,62,180,5,0,66,49,5,0,62,49,5,0,66,46,5,0,23,49,5,0,62,49,5,0,66,46,5,0,25,49,5,0,62,180,5,0,72,49,5,0,42,49,5,0,62,49,5,0,80,49,5,0,62,180,5,0,84,49,5,0,62,184,5,0,86,49,5,0,62,177,5,86,96,5,5,0,64,5,196,0,0,5,164,0,0,156,5,0,64,5,196,0,0,5,164,0,0,5,5,0,64,194,5,219,251,156,5,0,64,194,5,219,251,19,5,0,64,19,5,0,60,162,5,0,64,19,5,0,60,162,5,0,64,162,5,0,60,19,5,0,64,19,5,0,64,162,5,0,64,162,5,0,64,49,5,0,64,49,5,0,66,49,5,0,64,49,5,0,68,49,5,0,64,49,5,0,70,46,5,0,54,180,5,0,64,49,5,0,70,49,5,0,78,49,5,0,78,49,5,0,64,49,5,0,50,49,5,0,78,49,5,0,78,19,5,0,64,19,5,0,78,180,5,0,64,180,5,0,80,177,5,0,48,49,5,0,64,49,5,0,88,19,5,0,64,19,5,0,92,49,5,0,66,32,5,147,12,49,5,0,78,49,5,0,66,32,5,147,12,49,5,0,78,46,5,0,23,49,5,0,66,180,5,0,42,49,5,0,66,46,5,0,44,180,5,0,66,177,5,0,44,43,5,0,66,43,5,0,46,43,5,0,66,43,5,0,48,49,5,0,66,46,5,0,54,180,5,0,66,180,5,0,56,46,5,0,92,49,5,0,66,49,5,0,58,49,5,0,64,49,5,0,66,49,5,0,66,49,5,0,66,49,5,0,66,46,5,0,23,49,5,0,66,49,5,0,66,46,5,0,25,49,5,0,66,49,5,0,70,49,5,0,64,180,5,0,66,180,5,0,72,49,5,0,42,43,5,0,66,43,5,0,76,49,5,0,66,49,5,0,78,49,5,0,66,180,5,0,84,180,5,0,66,180,5,0,84,49,5,0,66,184,5,0,86,180,5,0,66,184,5,0,86,180,5,0,66,177,5,86,96,19,5,0,68,32,170,0,0,162,5,0,68,32,170,0,0,49,5,0,68,180,5,0,42,180,5,0,68,180,5,0,50,184,5,0,86,49,5,0,68,177,5,0,52,180,5,0,68,177,5,0,54,19,5,0,68,19,5,0,60,162,5,0,68,19,5,0,60,162,5,0,68,162,5,0,60,49,5,0,68,49,5,0,66,162,5,0,68,19,5,0,70,49,5,0,68,49,5,0,78,49,5,0,68,180,5,0,84,49,5,0,68,184,5,0,86,5,5,0,70,5,142,0,0,5,136,0,0,156,5,0,70,5,142,0,0,5,136,0,0,5,5,0,70,5,142,0,0,5,138,0,0,156,5,0,70,5,142,0,0,5,138,0,0,5,5,0,70,5,142,0,0,5,154,0,0,156,5,0,70,5,142,0,0,5,154,0,0,5,5,0,70,5,142,0,0,5,182,0,0,156,5,0,70,5,142,0,0,5,182,0,0,19,5,0,70,32,150,0,0,162,5,0,70,32,150,0,0,5,5,0,70,5,150,0,0,5,164,0,0,156,5,0,70,5,150,0,0,5,164,0,0,5,5,0,70,5,154,0,0,5,136,0,0,156,5,0,70,5,154,0,0,5,136,0,0,5,5,0,70,5,154,0,0,5,150,0,0,156,5,0,70,5,154,0,0,5,150,0,0,5,5,0,70,5,154,0,0,5,164,0,0,156,5,0,70,5,154,0,0,5,164,0,0,5,5,0,70,5,156,0,0,5,164,0,0,156,5,0,70,5,156,0,0,5,164,0,0,5,5,0,70,5,158,0,0,5,136,0,0,156,5,0,70,5,158,0,0,5,136,0,0,5,5,0,70,5,162,0,0,5,164,0,0,156,5,0,70,5,162,0,0,5,164,0,0,5,5,0,70,5,164,0,0,5,136,0,0,156,5,0,70,5,164,0,0,5,136,0,0,5,5,0,70,5,164,0,0,5,138,0,0,156,5,0,70,5,164,0,0,5,138,0,0,19,5,0,70,32,168,0,0,5,5,0,70,5,190,0,0,5,136,0,0,156,5,0,70,5,190,0,0,5,136,0,0,5,5,0,70,5,190,0,0,5,138,0,0,156,5,0,70,5,190,0,0,5,138,0,0,5,5,0,70,5,190,0,0,5,154,0,0,156,5,0,70,5,190,0,0,5,154,0,0,5,5,0,70,5,190,0,0,5,182,0,0,156,5,0,70,5,190,0,0,5,182,0,0,5,5,0,70,5,190,0,0,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,196,0,0,5,142,0,0,156,5,0,70,5,196,0,0,5,142,0,0,5,112,0,70,19,5,0,50,160,112,0,70,162,5,0,50,46,112,0,70,43,5,0,50,180,5,0,70,180,5,0,62,19,5,0,70,19,5,0,70,162,5,0,70,162,5,0,70,49,5,0,70,180,5,0,84,49,5,0,72,48,5,0,8,49,5,0,66,48,5,0,8,49,5,0,72,180,5,0,42,180,5,0,72,180,5,0,42,49,5,0,72,46,5,0,46,49,5,0,72,177,5,0,52,180,5,0,72,180,5,0,56,180,5,0,72,180,5,0,72,180,5,0,66,180,5,0,72,180,5,0,72,180,5,0,84,180,5,0,72,180,5,0,76,49,5,0,72,49,5,0,78,180,5,0,72,180,5,0,80,180,5,0,50,49,5,0,72,180,5,0,84,49,5,0,72,184,5,0,86,20,5,0,74,19,5,0,72,19,5,0,76,32,170,0,0,162,5,0,76,32,170,0,0,5,5,0,76,5,196,0,0,5,164,0,0,156,5,0,76,5,196,0,0,5,164,0,0,49,5,0,76,49,5,0,42,46,5,0,48,49,5,0,76,49,5,0,42,46,5,0,48,32,5,147,12,49,5,0,78,49,5,0,76,49,5,0,42,46,5,0,48,32,5,147,12,49,5,0,78,46,5,0,23,5,5,0,78,5,136,0,0,5,156,0,0,156,5,0,78,5,136,0,0,5,156,0,0,5,5,0,78,5,144,0,0,5,156,0,0,156,5,0,78,5,144,0,0,5,156,0,0,19,5,0,78,32,170,0,0,162,5,0,78,32,170,0,0,5,5,0,78,5,196,0,0,5,156,0,0,156,5,0,78,5,196,0,0,5,156,0,0,5,120,0,78,5,156,0,0,180,5,0,78,180,5,0,42,180,5,0,78,177,5,0,48,180,5,0,78,180,5,0,56,180,5,0,84,43,5,0,78,43,5,0,66,180,5,0,78,180,5,0,70,180,5,0,78,180,5,0,78,180,5,0,78,5,112,0,78,19,5,0,78,160,112,0,78,162,5,0,78,19,5,0,78,19,5,0,80,5,120,0,78,19,5,0,80,180,5,0,78,49,5,0,84,19,5,0,80,32,5,16,47,162,5,0,80,162,5,0,50,162,5,0,64,5,112,0,80,19,5,0,56,180,5,0,80,180,5,0,56,46,5,0,92,43,5,0,80,43,5,0,66,19,5,0,80,19,5,0,78,19,5,0,80,16,5,14,79,19,5,0,80,16,5,22,79,19,5,0,80,19,5,0,92,162,5,0,80,19,5,0,92,19,5,0,82,32,150,0,0,162,5,0,82,32,150,0,0,5,5,0,82,5,150,0,0,5,136,0,0,156,5,0,82,5,150,0,0,5,136,0,0,5,5,0,82,5,150,0,0,5,138,0,0,156,5,0,82,5,150,0,0,5,138,0,0,5,5,0,82,5,150,0,0,5,144,0,0,156,5,0,82,5,150,0,0,5,144,0,0,5,5,0,82,5,150,0,0,5,164,0,0,156,5,0,82,5,150,0,0,5,164,0,0,5,5,0,82,5,154,0,0,5,136,0,0,156,5,0,82,5,154,0,0,5,136,0,0,5,5,0,82,5,164,0,0,5,150,0,0,156,5,0,82,5,164,0,0,5,150,0,0,19,5,0,82,32,168,0,0,5,5,0,82,5,190,0,0,5,136,0,0,156,5,0,82,5,190,0,0,5,136,0,0,5,5,0,82,5,190,0,0,5,138,0,0,156,5,0,82,5,190,0,0,5,138,0,0,5,5,0,82,5,190,0,0,5,154,0,0,156,5,0,82,5,190,0,0,5,154,0,0,5,5,0,82,5,190,0,0,5,182,0,0,156,5,0,82,5,190,0,0,5,182,0,0,5,5,0,82,5,190,0,0,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,177,5,0,82,180,5,0,56,177,5,0,48,177,5,0,82,180,5,0,72,48,5,90,7,180,5,0,84,32,5,147,12,49,5,0,66,19,5,0,84,19,5,0,58,162,5,0,84,162,5,0,58,19,5,0,84,19,5,0,58,19,5,0,58,162,5,0,84,162,5,0,58,162,5,0,58,19,5,0,84,19,5,0,58,19,5,0,58,19,5,0,58,162,5,0,84,162,5,0,58,162,5,0,58,162,5,0,58,180,5,0,84,180,5,0,70,177,5,0,48,180,5,0,84,180,5,0,78,19,5,0,84,19,5,0,90,162,5,0,84,162,5,0,90,184,5,0,86,46,5,0,44,184,5,0,86,177,5,0,46,176,5,0,86,168,5,0,92,19,5,0,88,19,5,0,58,162,5,0,88,162,5,0,58,19,5,0,88,19,5,0,58,19,5,0,58,162,5,0,88,162,5,0,58,162,5,0,58,19,5,0,92,20,5,0,86,5,5,26,93,5,144,0,0,158,5,26,93,5,144,0,0,32,5,82,93,19,5,0,68,5,5,6,96,5,132,0,0,166,5,6,96,5,132,0,0,5,5,6,96,5,132,0,0,5,136,0,0,166,5,6,96,5,132,0,0,5,136,0,0,5,5,6,96,5,132,0,0,5,136,0,0,5,216,0,0,166,5,6,96,5,132,0,0,5,136,0,0,5,216,0,0,5,5,6,96,5,132,0,0,5,138,0,0,166,5,6,96,5,132,0,0,5,138,0,0,5,5,6,96,5,132,0,0,5,138,0,0,5,216,0,0,166,5,6,96,5,132,0,0,5,138,0,0,5,216,0,0,5,5,6,96,5,132,0,0,5,148,0,0,166,5,6,96,5,132,0,0,5,148,0,0,5,5,6,96,5,132,0,0,5,148,0,0,5,216,0,0,166,5,6,96,5,132,0,0,5,148,0,0,5,216,0,0,5,5,6,96,5,132,0,0,5,216,0,0,166,5,6,96,5,132,0,0,5,216,0,0,5,5,6,96,5,134,0,0,166,5,6,96,5,134,0,0,5,5,6,96,5,134,0,0,5,136,0,0,166,5,6,96,5,134,0,0,5,136,0,0,5,5,6,96,5,134,0,0,5,136,0,0,5,216,0,0,166,5,6,96,5,134,0,0,5,136,0,0,5,216,0,0,5,5,6,96,5,134,0,0,5,138,0,0,166,5,6,96,5,134,0,0,5,138,0,0,5,5,6,96,5,134,0,0,5,138,0,0,5,216,0,0,166,5,6,96,5,134,0,0,5,138,0,0,5,216,0,0,5,5,6,96,5,134,0,0,5,148,0,0,166,5,6,96,5,134,0,0,5,148,0,0,5,5,6,96,5,134,0,0,5,148,0,0,5,216,0,0,166,5,6,96,5,134,0,0,5,148,0,0,5,216,0,0,5,5,6,96,5,134,0,0,5,216,0,0,166,5,6,96,5,134,0,0,5,216,0,0,5,5,6,96,5,136,0,0,166,5,6,96,5,136,0,0,5,5,6,96,5,136,0,0,5,216,0,0,5,5,6,96,5,138,0,0,166,5,6,96,5,138,0,0,5,5,6,96,5,138,0,0,5,216,0,0,5,5,6,96,5,140,0,0,166,5,6,96,5,140,0,0,5,5,6,96,5,148,0,0,5,5,6,96,5,148,0,0,5,216,0,0,5,5,6,96,5,164,0,0,166,5,6,96,5,164,0,0,5,5,6,96,5,216,0,0,166,5,6,96,5,216,0,0,5,5,16,96,5,132,0,0,166,5,16,96,5,132,0,0,5,5,16,96,5,132,0,0,5,136,0,0,166,5,16,96,5,132,0,0,5,136,0,0,5,5,16,96,5,132,0,0,5,138,0,0,166,5,16,96,5,132,0,0,5,138,0,0,5,5,16,96,5,134,0,0,166,5,16,96,5,134,0,0,5,5,16,96,5,134,0,0,5,136,0,0,166,5,16,96,5,134,0,0,5,136,0,0,5,5,16,96,5,134,0,0,5,138,0,0,166,5,16,96,5,134,0,0,5,138,0,0,5,5,16,96,5,136,0,0,166,5,16,96,5,136,0,0,5,5,16,96,5,138,0,0,166,5,16,96,5,138,0,0,5,5,28,96,5,132,0,0,158,5,28,96,5,132,0,0,5,5,28,96,5,132,0,0,5,136,0,0,158,5,28,96,5,132,0,0,5,136,0,0,5,5,28,96,5,132,0,0,5,136,0,0,5,216,0,0,158,5,28,96,5,132,0,0,5,136,0,0,5,216,0,0,5,5,28,96,5,132,0,0,5,138,0,0,158,5,28,96,5,132,0,0,5,138,0,0,5,5,28,96,5,132,0,0,5,138,0,0,5,216,0,0,158,5,28,96,5,132,0,0,5,138,0,0,5,216,0,0,5,5,28,96,5,132,0,0,5,148,0,0,158,5,28,96,5,132,0,0,5,148,0,0,5,5,28,96,5,132,0,0,5,148,0,0,5,216,0,0,158,5,28,96,5,132,0,0,5,148,0,0,5,216,0,0,5,5,28,96,5,132,0,0,5,216,0,0,158,5,28,96,5,132,0,0,5,216,0,0,5,5,28,96,5,134,0,0,158,5,28,96,5,134,0,0,5,5,28,96,5,134,0,0,5,136,0,0,158,5,28,96,5,134,0,0,5,136,0,0,5,5,28,96,5,134,0,0,5,136,0,0,5,216,0,0,158,5,28,96,5,134,0,0,5,136,0,0,5,216,0,0,5,5,28,96,5,134,0,0,5,138,0,0,158,5,28,96,5,134,0,0,5,138,0,0,5,5,28,96,5,134,0,0,5,138,0,0,5,216,0,0,158,5,28,96,5,134,0,0,5,138,0,0,5,216,0,0,5,5,28,96,5,134,0,0,5,148,0,0,158,5,28,96,5,134,0,0,5,148,0,0,5,5,28,96,5,134,0,0,5,148,0,0,5,216,0,0,158,5,28,96,5,134,0,0,5,148,0,0,5,216,0,0,5,5,28,96,5,134,0,0,5,216,0,0,158,5,28,96,5,134,0,0,5,216,0,0,5,5,28,96,5,136,0,0,158,5,28,96,5,136,0,0,5,5,28,96,5,136,0,0,5,216,0,0,5,5,28,96,5,138,0,0,158,5,28,96,5,138,0,0,5,5,28,96,5,138,0,0,5,216,0,0,5,5,28,96,5,148,0,0,5,5,28,96,5,148,0,0,5,216,0,0,5,5,28,96,5,216,0,0,158,5,28,96,5,216,0,0,5,5,32,96,5,132,0,0,166,5,32,96,5,132,0,0,5,5,32,96,5,132,0,0,5,136,0,0,166,5,32,96,5,132,0,0,5,136,0,0,5,5,32,96,5,132,0,0,5,138,0,0,166,5,32,96,5,132,0,0,5,138,0,0,5,5,32,96,5,132,0,0,5,148,0,0,166,5,32,96,5,132,0,0,5,148,0,0,5,5,32,96,5,134,0,0,166,5,32,96,5,134,0,0,5,5,32,96,5,134,0,0,5,136,0,0,166,5,32,96,5,134,0,0,5,136,0,0,5,5,32,96,5,134,0,0,5,138,0,0,166,5,32,96,5,134,0,0,5,138,0,0,5,5,32,96,5,134,0,0,5,148,0,0,166,5,32,96,5,134,0,0,5,148,0,0,5,5,32,96,5,136,0,0,166,5,32,96,5,136,0,0,5,5,32,96,5,138,0,0,166,5,32,96,5,138,0,0,5,5,32,96,5,140,0,0,166,5,32,96,5,140,0,0,5,5,32,96,5,148,0,0,5,5,32,96,5,150,0,0,166,5,32,96,5,150,0,0,5,5,32,96,5,150,0,0,5,136,0,0,5,5,32,96,5,150,0,0,5,138,0,0,5,5,32,96,5,150,0,0,5,148,0,0,5,5,32,96,5,164,0,0,166,5,32,96,5,164,0,0,16,5,36,96,16,5,6,96,16,5,32,96,168,5,36,96,16,5,6,96,16,5,32,96,48,5,42,96,180,5,0,42,48,5,42,96,177,5,0,52,48,5,42,96,46,5,0,54,48,5,42,96,49,5,0,64,48,5,42,96,49,5,0,66,48,5,42,96,49,5,0,78,48,5,42,96,180,5,0,84,48,5,42,96,184,5,0,86,5,5,48,96,5,132,0,0,158,5,48,96,5,132,0,0,5,5,48,96,5,132,0,0,5,136,0,0,158,5,48,96,5,132,0,0,5,136,0,0,5,5,48,96,5,132,0,0,5,138,0,0,158,5,48,96,5,132,0,0,5,138,0,0,5,5,48,96,5,134,0,0,158,5,48,96,5,134,0,0,5,5,48,96,5,134,0,0,5,136,0,0,158,5,48,96,5,134,0,0,5,136,0,0,5,5,48,96,5,134,0,0,5,138,0,0,158,5,48,96,5,134,0,0,5,138,0,0,5,5,48,96,5,136,0,0,158,5,48,96,5,136,0,0,5,5,48,96,5,138,0,0,158,5,48,96,5,138,0,0,5,5,60,96,5,132,0,0,5,5,60,96,5,134,0,0,160,5,60,96,5,134,0,0,5,5,76,96,5,132,0,0,5,5,76,96,5,132,0,0,5,136,0,0,5,5,76,96,5,132,0,0,5,138,0,0,5,5,76,96,5,132,0,0,5,148,0,0,5,5,76,96,5,134,0,0,155,5,76,96,5,134,0,0,5,5,76,96,5,134,0,0,5,136,0,0,155,5,76,96,5,134,0,0,5,136,0,0,5,5,76,96,5,134,0,0,5,138,0,0,155,5,76,96,5,134,0,0,5,138,0,0,5,5,76,96,5,134,0,0,5,148,0,0,155,5,76,96,5,134,0,0,5,148,0,0,5,5,76,96,5,136,0,0,155,5,76,96,5,136,0,0,166,5,76,96,5,136,0,0,5,5,76,96,5,138,0,0,155,5,76,96,5,138,0,0,5,5,76,96,5,140,0,0,155,5,76,96,5,140,0,0,5,5,76,96,5,148,0,0,5,5,76,96,5,150,0,0,155,5,76,96,5,150,0,0,166,5,76,96,5,150,0,0,5,5,76,96,5,150,0,0,5,136,0,0,5,5,76,96,5,150,0,0,5,138,0,0,5,5,76,96,5,150,0,0,5,148,0,0,5,5,76,96,5,164,0,0,155,5,76,96,5,164,0,0,5,5,86,96,5,132,0,0,155,5,86,96,5,132,0,0,5,5,86,96,5,132,0,0,5,136,0,0,155,5,86,96,5,132,0,0,5,136,0,0,5,5,86,96,5,132,0,0,5,136,0,0,5,216,0,0,155,5,86,96,5,132,0,0,5,136,0,0,5,216,0,0,5,5,86,96,5,132,0,0,5,138,0,0,155,5,86,96,5,132,0,0,5,138,0,0,5,5,86,96,5,132,0,0,5,138,0,0,5,216,0,0,155,5,86,96,5,132,0,0,5,138,0,0,5,216,0,0,5,5,86,96,5,132,0,0,5,148,0,0,155,5,86,96,5,132,0,0,5,148,0,0,5,5,86,96,5,132,0,0,5,148,0,0,5,216,0,0,155,5,86,96,5,132,0,0,5,148,0,0,5,216,0,0,5,5,86,96,5,132,0,0,5,216,0,0,155,5,86,96,5,132,0,0,5,216,0,0,5,5,86,96,5,134,0,0,155,5,86,96,5,134,0,0,5,5,86,96,5,134,0,0,5,136,0,0,155,5,86,96,5,134,0,0,5,136,0,0,5,5,86,96,5,134,0,0,5,136,0,0,5,216,0,0,155,5,86,96,5,134,0,0,5,136,0,0,5,216,0,0,5,5,86,96,5,134,0,0,5,138,0,0,155,5,86,96,5,134,0,0,5,138,0,0,5,5,86,96,5,134,0,0,5,138,0,0,5,216,0,0,155,5,86,96,5,134,0,0,5,138,0,0,5,216,0,0,5,5,86,96,5,134,0,0,5,148,0,0,155,5,86,96,5,134,0,0,5,148,0,0,5,5,86,96,5,134,0,0,5,148,0,0,5,216,0,0,155,5,86,96,5,134,0,0,5,148,0,0,5,216,0,0,5,5,86,96,5,134,0,0,5,216,0,0,155,5,86,96,5,134,0,0,5,216,0,0,5,5,86,96,5,136,0,0,155,5,86,96,5,136,0,0,5,5,86,96,5,136,0,0,5,216,0,0,5,5,86,96,5,138,0,0,155,5,86,96,5,138,0,0,5,5,86,96,5,138,0,0,5,216,0,0,5,5,86,96,5,148,0,0,5,5,86,96,5,148,0,0,5,216,0,0,5,5,86,96,5,216,0,0,155,5,86,96,5,216,0,0,32,5,120,96,32,5,98,96,32,5,118,96,5,5,6,97,5,140,0,0,174,5,6,97,5,140,0,0,5,5,6,97,5,150,0,0,174,5,6,97,5,150,0,0,5,5,8,97,5,150,0,0,160,5,8,97,5,150,0,0,5,5,16,97,5,136,0,0,174,5,16,97,5,136,0,0,5,5,40,97,5,138,0,0,174,5,40,97,5,138,0,0,5,5,40,97,5,140,0,0,174,5,40,97,5,140,0,0,5,5,40,97,5,150,0,0,174,5,40,97,5,150,0,0,5,5,44,97,5,140,0,0,174,5,44,97,5,140,0,0,5,5,44,97,5,150,0,0,174,5,44,97,5,150,0,0,5,5,50,97,5,150,0,0,174,5,50,97,5,150,0,0,5,5,70,97,5,138,0,0,174,5,70,97,5,138,0,0,5,5,70,97,5,150,0,0,174,5,70,97,5,150,0,0,5,5,70,97,5,164,0,0,174,5,70,97,5,164,0,0,5,5,74,97,5,150,0,0,32,5,74,97,32,150,0,0,174,5,74,97,5,150,0,0,5,5,84,97,5,136,0,0,174,5,84,97,5,136,0,0,5,5,138,97,5,150,0,0,158,5,138,97,5,150,0,0,5,5,140,97,5,150,0,0,160,5,140,97,5,150,0,0,32,5,156,97,32,5,162,97,5,5,172,97,5,140,0,0,174,5,172,97,5,140,0,0,5,5,172,97,5,150,0,0,174,5,172,97,5,150,0,0,5,5,172,97,5,152,0,0,174,5,172,97,5,152,0,0,5,5,172,97,5,164,0,0,174,5,172,97,5,164,0,0,5,5,200,97,5,150,0,0,174,5,200,97,5,150,0,0,5,5,230,97,5,150,0,0,174,5,230,97,5,150,0,0,5,5,238,97,5,150,0,0,160,5,238,97,5,150,0,0,193,86,246,97,5,184,0,0,32,5,16,100,32,5,76,100,32,5,46,100,32,5,16,100,32,5,46,100,32,5,28,100,32,5,46,100,32,5,32,100,32,5,46,100,32,5,52,100,32,5,68,100,32,5,52,100,5,5,6,101,194,5,12,227,5,5,6,101,194,5,45,227,5,5,6,101,194,5,210,227,32,5,6,101,32,5,28,101,5,5,8,101,194,5,210,227,5,5,8,101,194,5,243,227,5,5,10,101,194,5,210,227,5,5,12,101,194,5,210,227,5,5,14,101,194,5,210,227,5,5,16,101,194,5,78,227,5,5,16,101,194,5,210,227,32,5,16,101,32,5,16,101,32,5,16,101,32,5,24,101,5,5,18,101,194,5,210,227,5,5,22,101,194,5,210,227,5,5,24,101,194,5,167,226,5,5,24,101,194,5,210,227,32,5,24,101,32,5,14,101,32,5,16,101,32,5,14,101,32,5,24,101,32,5,24,101,32,5,24,101,32,5,24,101,194,5,12,227,5,5,26,101,194,5,210,227,46,5,26,101,194,5,210,227,5,5,26,101,194,5,243,227,5,5,28,101,194,5,210,227,5,5,30,101,194,5,210,227,5,5,32,101,194,5,210,227,5,5,34,101,194,5,210,227,5,5,38,101,194,5,210,227,32,5,38,101,194,5,210,227,5,5,38,101,194,5,243,227,5,5,40,101,194,5,210,227,5,5,42,101,194,5,210,227,5,5,44,101,194,5,210,227,5,5,46,101,194,5,144,227,5,5,46,101,194,5,177,227,5,5,46,101,194,5,210,227,5,5,46,101,194,5,210,227,194,5,144,227,5,5,46,101,194,5,210,227,194,5,177,227,5,5,48,101,194,5,210,227,38,5,22,102,38,5,26,102,49,5,22,102,49,5,26,102,16,5,22,102,24,5,58,102,49,5,22,102,48,5,58,102,16,5,22,102,24,5,72,102,49,5,22,102,48,5,72,102,16,5,22,102,24,5,74,102,38,5,22,102,30,5,110,102,38,5,22,102,30,5,112,102,16,5,22,102,24,5,200,102,27,5,22,102,32,5,200,102,38,5,22,102,40,5,200,102,49,5,22,102,48,5,200,102,38,5,22,102,40,5,204,102,16,5,22,102,24,5,214,102,27,5,22,102,32,5,214,102,38,5,22,102,38,5,222,102,49,5,22,102,49,5,222,102,38,5,22,102,30,5,228,102,49,5,22,102,44,5,228,102,38,5,22,102,32,5,230,102,49,5,22,102,46,5,230,102,16,5,22,102,16,5,236,102,38,5,22,102,38,5,236,102,49,5,22,102,49,5,236,102,38,5,22,102,44,5,238,102,49,5,22,102,51,5,238,102,16,5,22,102,16,5,246,102,38,5,22,102,38,5,246,102,49,5,22,102,49,5,246,102,38,5,26,102,194,30,164,229,49,5,26,102,194,44,164,229,16,5,26,102,32,5,6,102,49,5,26,102,48,5,182,102,48,5,30,102,44,5,110,102,49,5,26,102,48,5,196,102,48,5,196,102,48,5,214,102,24,5,30,102,24,5,58,102,48,5,30,102,48,5,58,102,24,5,30,102,24,5,72,102,48,5,30,102,48,5,72,102,40,5,30,102,40,5,72,102,44,5,238,102,24,5,30,102,24,5,74,102,48,5,30,102,48,5,74,102,40,5,30,102,40,5,74,102,44,5,238,102,40,5,30,102,30,5,110,102,40,5,30,102,30,5,112,102,24,5,30,102,24,5,200,102,32,5,30,102,32,5,200,102,40,5,30,102,40,5,200,102,48,5,30,102,48,5,200,102,40,5,30,102,40,5,204,102,24,5,30,102,24,5,214,102,32,5,30,102,32,5,214,102,40,5,30,102,38,5,236,102,48,5,30,102,49,5,236,102,40,5,30,102,44,5,238,102,48,5,30,102,51,5,238,102,24,5,42,102,24,5,58,102,48,5,42,102,48,5,58,102,24,5,42,102,24,5,58,102,24,5,200,102,40,5,42,102,40,5,58,102,38,5,236,102,40,5,42,102,40,5,58,102,44,5,238,102,24,5,42,102,24,5,72,102,48,5,42,102,48,5,72,102,24,5,42,102,24,5,72,102,24,5,58,102,40,5,42,102,40,5,72,102,40,5,58,102,24,5,42,102,24,5,72,102,24,5,200,102,24,5,42,102,24,5,74,102,48,5,42,102,48,5,74,102,24,5,42,102,24,5,74,102,24,5,200,102,40,5,42,102,40,5,74,102,38,5,236,102,40,5,42,102,40,5,74,102,44,5,238,102,40,5,42,102,30,5,110,102,40,5,42,102,30,5,112,102,24,5,42,102,24,5,200,102,32,5,42,102,32,5,200,102,40,5,42,102,40,5,200,102,48,5,42,102,48,5,200,102,24,5,42,102,24,5,200,102,24,5,58,102,24,5,42,102,24,5,200,102,24,5,72,102,24,5,42,102,24,5,200,102,24,5,74,102,40,5,42,102,40,5,200,102,38,5,236,102,40,5,42,102,40,5,200,102,44,5,238,102,40,5,42,102,40,5,204,102,24,5,42,102,24,5,214,102,32,5,42,102,32,5,214,102,40,5,42,102,38,5,236,102,48,5,42,102,49,5,236,102,40,5,42,102,44,5,238,102,48,5,42,102,51,5,238,102,48,5,44,102,48,5,58,102,40,5,44,102,30,5,110,102,40,5,44,102,30,5,112,102,24,5,44,102,24,5,200,102,32,5,44,102,32,5,200,102,40,5,44,102,40,5,200,102,48,5,44,102,48,5,200,102,40,5,44,102,40,5,204,102,32,5,44,102,32,5,214,102,40,5,44,102,38,5,236,102,48,5,44,102,49,5,236,102,40,5,44,102,44,5,238,102,48,5,44,102,51,5,238,102,24,5,58,102,24,5,72,102,48,5,58,102,48,5,72,102,40,5,58,102,40,5,72,102,38,5,236,102,40,5,58,102,40,5,72,102,44,5,238,102,48,5,58,102,48,5,196,102,32,5,0,4,48,5,58,102,48,5,196,102,49,5,26,102,48,5,196,102,48,5,214,102,48,5,58,102,48,5,200,102,24,5,58,102,24,5,200,102,24,5,72,102,40,5,58,102,40,5,200,102,40,5,72,102,40,5,58,102,40,5,200,102,38,5,236,102,40,5,58,102,40,5,200,102,44,5,238,102,48,5,58,102,49,5,236,102,48,5,58,102,51,5,238,102,48,5,72,102,48,5,58,102,40,5,72,102,40,5,58,102,44,5,238,102,48,5,72,102,48,5,200,102,40,5,72,102,40,5,200,102,38,5,236,102,40,5,72,102,40,5,200,102,44,5,238,102,48,5,72,102,49,5,236,102,48,5,72,102,51,5,238,102,24,5,74,102,24,5,58,102,48,5,74,102,48,5,58,102,48,5,74,102,48,5,72,102,48,5,74,102,48,5,200,102,48,5,74,102,49,5,236,102,48,5,74,102,51,5,238,102,44,5,86,102,194,44,59,235,44,5,110,102,194,44,59,235,44,5,110,102,48,5,134,102,49,5,222,102,48,5,196,102,24,5,134,102,24,5,58,102,32,5,134,102,32,5,58,102,48,5,134,102,48,5,58,102,24,5,134,102,24,5,58,102,24,5,72,102,40,5,134,102,40,5,58,102,38,5,236,102,24,5,134,102,24,5,72,102,32,5,134,102,32,5,72,102,48,5,134,102,48,5,72,102,24,5,134,102,24,5,72,102,24,5,58,102,24,5,134,102,24,5,74,102,32,5,134,102,32,5,74,102,48,5,134,102,48,5,74,102,40,5,134,102,40,5,74,102,38,5,236,102,40,5,134,102,40,5,74,102,44,5,238,102,40,5,134,102,30,5,110,102,48,5,134,102,44,5,110,102,24,5,134,102,24,5,200,102,32,5,134,102,32,5,200,102,48,5,134,102,48,5,200,102,24,5,134,102,24,5,200,102,24,5,58,102,24,5,134,102,24,5,200,102,24,5,72,102,40,5,134,102,40,5,200,102,40,5,72,102,24,5,134,102,24,5,200,102,24,5,200,102,40,5,134,102,40,5,200,102,40,5,200,102,24,5,134,102,24,5,214,102,32,5,134,102,32,5,214,102,40,5,134,102,38,5,236,102,48,5,134,102,49,5,236,102,40,5,134,102,44,5,238,102,48,5,134,102,51,5,238,102,24,5,136,102,24,5,58,102,32,5,136,102,32,5,58,102,40,5,136,102,40,5,58,102,48,5,136,102,48,5,58,102,40,5,136,102,40,5,58,102,44,5,238,102,24,5,136,102,24,5,72,102,32,5,136,102,32,5,72,102,40,5,136,102,40,5,72,102,48,5,136,102,48,5,72,102,24,5,136,102,24,5,72,102,24,5,200,102,40,5,136,102,40,5,72,102,40,5,200,102,40,5,136,102,40,5,72,102,44,5,238,102,24,5,136,102,24,5,74,102,32,5,136,102,32,5,74,102,40,5,136,102,40,5,74,102,48,5,136,102,48,5,74,102,40,5,136,102,30,5,110,102,48,5,136,102,44,5,110,102,24,5,136,102,24,5,200,102,32,5,136,102,32,5,200,102,40,5,136,102,40,5,200,102,48,5,136,102,48,5,200,102,24,5,136,102,24,5,200,102,24,5,74,102,40,5,136,102,40,5,200,102,40,5,74,102,24,5,136,102,24,5,200,102,24,5,200,102,40,5,136,102,40,5,200,102,40,5,200,102,24,5,136,102,24,5,214,102,32,5,136,102,32,5,214,102,40,5,136,102,38,5,236,102,48,5,136,102,49,5,236,102,40,5,136,102,44,5,238,102,48,5,136,102,51,5,238,102,24,5,146,102,24,5,72,102,48,5,146,102,48,5,72,102,24,5,146,102,24,5,72,102,24,5,72,102,40,5,146,102,40,5,72,102,40,5,72,102,40,5,146,102,40,5,72,102,44,5,238,102,24,5,146,102,24,5,74,102,40,5,146,102,30,5,110,102,48,5,146,102,44,5,110,102,48,5,146,102,48,5,196,102,48,5,166,102,48,5,200,102,48,5,146,102,48,5,196,102,49,5,236,102,48,5,146,102,48,5,196,102,49,5,236,102,32,5,0,4,49,5,26,102,48,5,196,102,48,5,196,102,48,5,214,102,32,5,0,4,48,5,166,102,48,5,196,102,51,5,238,102,48,5,214,102,32,5,0,4,49,5,222,102,48,5,134,102,48,5,196,102,48,5,200,102,48,5,146,102,48,5,196,102,46,5,250,102,24,5,146,102,24,5,200,102,48,5,146,102,48,5,200,102,24,5,146,102,24,5,200,102,24,5,200,102,40,5,146,102,40,5,200,102,40,5,200,102,40,5,146,102,38,5,236,102,48,5,146,102,49,5,236,102,40,5,146,102,44,5,238,102,48,5,146,102,51,5,238,102,24,5,148,102,24,5,58,102,48,5,148,102,48,5,58,102,24,5,148,102,24,5,72,102,48,5,148,102,48,5,72,102,40,5,148,102,40,5,72,102,38,5,236,102,40,5,148,102,40,5,72,102,44,5,238,102,24,5,148,102,24,5,74,102,48,5,148,102,48,5,74,102,24,5,148,102,24,5,74,102,24,5,200,102,40,5,148,102,40,5,74,102,40,5,200,102,40,5,148,102,30,5,110,102,48,5,148,102,44,5,110,102,24,5,148,102,24,5,200,102,48,5,148,102,48,5,200,102,40,5,148,102,38,5,236,102,48,5,148,102,49,5,236,102,40,5,148,102,44,5,238,102,48,5,148,102,51,5,238,102,24,5,158,102,24,5,72,102,48,5,158,102,48,5,72,102,24,5,158,102,24,5,200,102,32,5,158,102,32,5,200,102,48,5,158,102,48,5,200,102,24,5,158,102,24,5,200,102,24,5,72,102,40,5,158,102,40,5,200,102,40,5,72,102,24,5,158,102,24,5,200,102,24,5,200,102,40,5,158,102,40,5,200,102,44,5,238,102,40,5,158,102,38,5,236,102,48,5,158,102,49,5,236,102,40,5,158,102,44,5,238,102,48,5,158,102,51,5,238,102,24,5,160,102,24,5,200,102,32,5,160,102,32,5,200,102,48,5,160,102,48,5,200,102,24,5,166,102,24,5,58,102,48,5,166,102,48,5,58,102,24,5,166,102,24,5,58,102,24,5,200,102,40,5,166,102,40,5,58,102,40,5,200,102,24,5,166,102,24,5,200,102,24,5,166,102,24,5,200,102,24,5,200,102,40,5,166,102,40,5,200,102,40,5,200,102,40,5,166,102,40,5,200,102,38,5,236,102,40,5,166,102,40,5,200,102,44,5,238,102,40,5,166,102,38,5,236,102,48,5,166,102,49,5,236,102,40,5,166,102,44,5,238,102,48,5,166,102,51,5,238,102,24,5,168,102,24,5,58,102,48,5,168,102,48,5,58,102,24,5,168,102,24,5,200,102,48,5,168,102,48,5,200,102,40,5,168,102,40,5,200,102,40,5,200,102,40,5,168,102,40,5,200,102,38,5,236,102,40,5,168,102,40,5,200,102,44,5,238,102,40,5,168,102,38,5,236,102,48,5,168,102,49,5,236,102,40,5,168,102,44,5,238,102,48,5,168,102,51,5,238,102,24,5,174,102,24,5,58,102,48,5,174,102,48,5,58,102,24,5,174,102,24,5,72,102,48,5,174,102,48,5,72,102,24,5,174,102,24,5,74,102,48,5,174,102,48,5,74,102,24,5,174,102,24,5,74,102,24,5,200,102,40,5,174,102,40,5,74,102,40,5,200,102,24,5,174,102,24,5,200,102,48,5,174,102,48,5,200,102,40,5,174,102,40,5,200,102,44,5,238,102,40,5,174,102,38,5,236,102,48,5,174,102,49,5,236,102,40,5,174,102,44,5,238,102,48,5,174,102,51,5,238,102,24,5,178,102,24,5,72,102,48,5,178,102,48,5,72,102,48,5,178,102,48,5,196,102,46,5,250,102,24,5,178,102,24,5,200,102,48,5,178,102,48,5,200,102,24,5,178,102,24,5,200,102,24,5,72,102,40,5,178,102,40,5,200,102,40,5,72,102,40,5,178,102,40,5,200,102,40,5,200,102,40,5,178,102,40,5,200,102,44,5,238,102,40,5,178,102,38,5,236,102,48,5,178,102,49,5,236,102,40,5,178,102,44,5,238,102,48,5,178,102,51,5,238,102,40,5,182,102,38,5,26,102,48,5,182,102,49,5,26,102,24,5,182,102,24,5,58,102,48,5,182,102,48,5,58,102,24,5,182,102,24,5,72,102,48,5,182,102,48,5,72,102,24,5,182,102,24,5,74,102,48,5,182,102,48,5,74,102,24,5,182,102,24,5,196,102,32,5,182,102,32,5,196,102,40,5,182,102,40,5,196,102,48,5,182,102,48,5,196,102,24,5,182,102,24,5,200,102,32,5,182,102,32,5,200,102,40,5,182,102,40,5,200,102,48,5,182,102,48,5,200,102,24,5,182,102,24,5,200,102,24,5,200,102,40,5,182,102,40,5,200,102,40,5,200,102,40,5,182,102,40,5,200,102,44,5,238,102,40,5,182,102,38,5,236,102,48,5,182,102,49,5,236,102,40,5,182,102,44,5,238,102,48,5,182,102,51,5,238,102,40,5,196,102,32,5,8,102,48,5,196,102,46,5,8,102,40,5,196,102,32,5,10,102,48,5,196,102,46,5,10,102,40,5,196,102,32,5,18,102,48,5,196,102,46,5,18,102,40,5,196,102,38,5,26,102,24,5,196,102,24,5,58,102,48,5,196,102,48,5,58,102,24,5,196,102,24,5,58,102,24,5,58,102,40,5,196,102,40,5,58,102,40,5,58,102,24,5,196,102,24,5,58,102,24,5,200,102,40,5,196,102,40,5,58,102,40,5,200,102,40,5,196,102,40,5,58,102,44,5,238,102,24,5,196,102,24,5,72,102,48,5,196,102,48,5,72,102,24,5,196,102,24,5,72,102,24,5,200,102,40,5,196,102,40,5,72,102,40,5,200,102,40,5,196,102,40,5,72,102,38,5,236,102,40,5,196,102,40,5,72,102,44,5,238,102,24,5,196,102,24,5,74,102,48,5,196,102,48,5,74,102,24,5,196,102,24,5,74,102,24,5,200,102,40,5,196,102,40,5,74,102,40,5,200,102,24,5,196,102,24,5,200,102,32,5,196,102,32,5,200,102,40,5,196,102,40,5,200,102,24,5,196,102,24,5,200,102,24,5,72,102,40,5,196,102,40,5,200,102,40,5,72,102,40,5,196,102,40,5,200,102,44,5,238,102,24,5,196,102,24,5,214,102,40,5,196,102,38,5,236,102,40,5,196,102,44,5,238,102,40,5,200,102,38,5,26,102,48,5,200,102,48,5,58,102,24,5,200,102,24,5,58,102,24,5,72,102,24,5,200,102,24,5,58,102,24,5,74,102,24,5,200,102,24,5,58,102,24,5,200,102,40,5,200,102,40,5,58,102,44,5,238,102,48,5,200,102,48,5,72,102,24,5,200,102,24,5,72,102,24,5,58,102,24,5,200,102,24,5,72,102,24,5,200,102,48,5,200,102,48,5,72,102,48,5,200,102,44,5,84,102,40,5,200,102,40,5,72,102,44,5,238,102,24,5,200,102,24,5,74,102,24,5,58,102,24,5,200,102,24,5,74,102,24,5,200,102,40,5,200,102,40,5,74,102,44,5,238,102,48,5,200,102,48,5,200,102,40,5,200,102,40,5,200,102,44,5,238,102,48,5,200,102,49,5,236,102,48,5,200,102,51,5,238,102,24,5,204,102,24,5,58,102,48,5,204,102,48,5,58,102,24,5,204,102,24,5,58,102,24,5,72,102,40,5,204,102,40,5,58,102,40,5,72,102,24,5,204,102,24,5,58,102,24,5,200,102,40,5,204,102,40,5,58,102,40,5,200,102,40,5,204,102,40,5,58,102,38,5,236,102,40,5,204,102,40,5,58,102,44,5,238,102,24,5,204,102,24,5,72,102,48,5,204,102,48,5,72,102,24,5,204,102,24,5,72,102,24,5,200,102,40,5,204,102,40,5,72,102,38,5,236,102,40,5,204,102,40,5,72,102,44,5,238,102,24,5,204,102,24,5,74,102,48,5,204,102,48,5,74,102,40,5,204,102,30,5,110,102,40,5,204,102,30,5,112,102,24,5,204,102,24,5,200,102,32,5,204,102,32,5,200,102,40,5,204,102,40,5,200,102,48,5,204,102,48,5,200,102,40,5,204,102,40,5,200,102,38,5,236,102,40,5,204,102,40,5,200,102,44,5,238,102,40,5,204,102,40,5,204,102,24,5,204,102,24,5,214,102,32,5,204,102,32,5,214,102,40,5,204,102,38,5,236,102,48,5,204,102,49,5,236,102,40,5,204,102,44,5,238,102,48,5,204,102,51,5,238,102,24,5,214,102,194,16,59,235,24,5,214,102,24,5,58,102,24,5,214,102,24,5,200,102,48,5,214,102,48,5,200,102,24,5,214,102,24,5,200,102,24,5,58,102,24,5,214,102,24,5,200,102,24,5,200,102,48,5,214,102,49,5,236,102,48,5,214,102,51,5,238,102,5,5,218,102,194,5,128,232,193,16,220,102,194,5,128,232,16,5,222,102,32,5,6,102,16,5,228,102,32,5,6,102,44,5,228,102,46,5,6,102,38,5,236,102,194,30,59,235,49,5,236,102,194,44,59,235,16,5,238,102,32,5,6,102,30,5,238,102,24,5,58,102,51,5,238,102,48,5,58,102,44,5,238,102,40,5,58,102,44,5,238,102,30,5,238,102,24,5,72,102,44,5,238,102,40,5,72,102,44,5,238,102,30,5,238,102,24,5,74,102,51,5,238,102,48,5,74,102,44,5,238,102,30,5,110,102,44,5,238,102,30,5,112,102,30,5,238,102,24,5,200,102,37,5,238,102,32,5,200,102,51,5,238,102,48,5,200,102,30,5,238,102,24,5,200,102,24,5,200,102,44,5,238,102,40,5,200,102,40,5,200,102,44,5,238,102,40,5,200,102,44,5,238,102,30,5,238,102,24,5,214,102,37,5,238,102,32,5,214,102,44,5,238,102,38,5,236,102,51,5,238,102,49,5,236,102,44,5,238,102,44,5,238,102,51,5,238,102,51,5,238,102,5,5,250,102,194,5,128,232,32,5,250,102,194,32,128,232,46,5,250,102,194,46,128,232,5,5,62,104,194,5,175,240,5,5,64,104,194,5,175,240,5,5,66,104,194,5,175,240,5,5,78,104,194,5,175,240,5,5,94,104,194,5,175,240,5,5,98,104,194,5,175,240,5,5,110,104,194,5,175,240,5,5,114,104,194,5,175,240,5,5,124,104,194,5,175,240,5,5,128,104,194,5,175,240,5,5,132,104,194,5,175,240,5,5,60,105,194,5,175,240,5,5,62,105,194,5,175,240,32,5,66,105,32,5,132,105,5,5,86,105,194,5,175,240,5,5,32,106,194,5,175,240,5,5,40,106,194,5,175,240,5,5,42,106,194,5,175,240,5,5,52,106,194,5,175,240,5,5,80,106,194,5,175,240,5,5,94,106,194,5,175,240,5,5,58,108,194,5,175,240,5,5,60,108,194,5,175,240,32,5,40,112,32,5,152,112,32,5,68,112,32,5,152,112,32,5,78,112,32,5,152,112,32,5,90,112,32,5,152,112,32,5,92,112,32,5,152,112,32,5,94,112,32,5,152,112,32,5,96,112,32,5,152,112,32,5,108,112,32,5,152,112,32,5,110,112,32,5,152,112,193,163,166,113,194,5,175,240,193,170,166,113,194,5,175,240,193,233,166,113,194,5,175,240,5,5,6,114,5,5,122,114,5,5,6,114,5,5,124,114,5,5,6,114,5,5,126,114,5,5,6,114,5,5,128,114,5,5,6,114,5,5,130,114,5,5,8,114,5,5,122,114,5,5,8,114,5,5,124,114,5,5,8,114,5,5,126,114,5,5,8,114,5,5,128,114,5,5,8,114,5,5,130,114,5,5,10,114,5,5,122,114,5,5,10,114,5,5,124,114,5,5,10,114,5,5,126,114,5,5,10,114,5,5,128,114,5,5,10,114,5,5,130,114,5,5,12,114,5,5,122,114,5,5,12,114,5,5,124,114,5,5,12,114,5,5,126,114,5,5,12,114,5,5,128,114,5,5,12,114,5,5,130,114,5,5,14,114,5,5,122,114,5,5,14,114,5,5,124,114,5,5,14,114,5,5,126,114,5,5,14,114,5,5,128,114,5,5,14,114,5,5,130,114,5,5,16,114,5,5,122,114,5,5,16,114,5,5,124,114,5,5,16,114,5,5,126,114,5,5,16,114,5,5,128,114,5,5,16,114,5,5,130,114,5,5,18,114,5,5,122,114,5,5,18,114,5,5,124,114,5,5,18,114,5,5,126,114,5,5,18,114,5,5,128,114,5,5,18,114,5,5,130,114,5,5,20,114,5,5,122,114,5,5,20,114,5,5,124,114,5,5,20,114,5,5,126,114,5,5,20,114,5,5,128,114,5,5,20,114,5,5,130,114,5,5,22,114,5,5,122,114,5,5,22,114,5,5,124,114,5,5,22,114,5,5,126,114,5,5,22,114,5,5,128,114,5,5,22,114,5,5,130,114,5,5,24,114,5,5,122,114,5,5,24,114,5,5,124,114,5,5,24,114,5,5,126,114,5,5,24,114,5,5,128,114,5,5,24,114,5,5,130,114,5,5,26,114,5,5,122,114,5,5,26,114,5,5,124,114,5,5,26,114,5,5,126,114,5,5,26,114,5,5,128,114,5,5,26,114,5,5,130,114,5,5,28,114,5,5,122,114,5,5,28,114,5,5,124,114,5,5,28,114,5,5,126,114,5,5,28,114,5,5,128,114,5,5,28,114,5,5,130,114,5,5,30,114,5,5,122,114,5,5,30,114,5,5,124,114,5,5,30,114,5,5,126,114,5,5,30,114,5,5,128,114,5,5,30,114,5,5,130,114,5,5,32,114,5,5,122,114,5,5,32,114,5,5,124,114,5,5,32,114,5,5,126,114,5,5,32,114,5,5,128,114,5,5,32,114,5,5,130,114,5,5,34,114,5,5,122,114,5,5,34,114,5,5,124,114,5,5,34,114,5,5,126,114,5,5,34,114,5,5,128,114,5,5,34,114,5,5,130,114,5,5,36,114,5,5,122,114,5,5,36,114,5,5,124,114,5,5,36,114,5,5,126,114,5,5,36,114,5,5,128,114,5,5,36,114,5,5,130,114,5,5,38,114,5,5,122,114,5,5,38,114,5,5,124,114,5,5,38,114,5,5,126,114,5,5,38,114,5,5,128,114,5,5,38,114,5,5,130,114,5,5,40,114,5,5,122,114,5,5,40,114,5,5,124,114,5,5,40,114,5,5,126,114,5,5,40,114,5,5,128,114,5,5,40,114,5,5,130,114,5,5,42,114,5,5,122,114,5,5,42,114,5,5,124,114,5,5,42,114,5,5,126,114,5,5,42,114,5,5,128,114,5,5,42,114,5,5,130,114,5,5,44,114,5,5,122,114,5,5,44,114,5,5,124,114,5,5,44,114,5,5,126,114,5,5,44,114,5,5,128,114,5,5,44,114,5,5,130,114,5,5,46,114,5,5,122,114,5,5,46,114,5,5,124,114,5,5,46,114,5,5,126,114,5,5,46,114,5,5,128,114,5,5,46,114,5,5,130,114,5,5,48,114,5,5,122,114,5,5,48,114,5,5,124,114,5,5,48,114,5,5,126,114,5,5,48,114,5,5,128,114,5,5,48,114,5,5,130,114,5,5,50,114,5,5,122,114,5,5,50,114,5,5,124,114,5,5,50,114,5,5,126,114,5,5,50,114,5,5,128,114,5,5,50,114,5,5,130,114,5,5,52,114,5,5,122,114,5,5,52,114,5,5,124,114,5,5,52,114,5,5,126,114,5,5,52,114,5,5,128,114,5,5,52,114,5,5,130,114,5,5,54,114,5,5,122,114,5,5,54,114,5,5,124,114,5,5,54,114,5,5,126,114,5,5,54,114,5,5,128,114,5,5,54,114,5,5,130,114,5,5,56,114,5,5,122,114,5,5,56,114,5,5,124,114,5,5,56,114,5,5,126,114,5,5,56,114,5,5,128,114,5,5,56,114,5,5,130,114,5,5,58,114,5,5,122,114,5,5,58,114,5,5,124,114,5,5,58,114,5,5,126,114,5,5,58,114,5,5,128,114,5,5,58,114,5,5,130,114,5,5,60,114,5,5,122,114,5,5,60,114,5,5,124,114,5,5,60,114,5,5,126,114,5,5,60,114,5,5,128,114,5,5,60,114,5,5,130,114,5,5,62,114,5,5,122,114,5,5,62,114,5,5,124,114,5,5,62,114,5,5,126,114,5,5,62,114,5,5,128,114,5,5,62,114,5,5,130,114,5,5,64,114,5,5,122,114,5,5,64,114,5,5,124,114,5,5,64,114,5,5,126,114,5,5,64,114,5,5,128,114,5,5,64,114,5,5,130,114,5,5,66,114,5,5,122,114,5,5,66,114,5,5,124,114,5,5,66,114,5,5,126,114,5,5,66,114,5,5,128,114,5,5,66,114,5,5,130,114,5,5,68,114,5,5,122,114,5,5,68,114,5,5,124,114,5,5,68,114,5,5,126,114,5,5,68,114,5,5,128,114,5,5,68,114,5,5,130,114,5,5,70,114,5,5,122,114,5,5,70,114,5,5,124,114,5,5,70,114,5,5,126,114,5,5,70,114,5,5,128,114,5,5,70,114,5,5,130,114,5,5,72,114,5,5,122,114,5,5,72,114,5,5,124,114,5,5,72,114,5,5,126,114,5,5,72,114,5,5,128,114,5,5,72,114,5,5,130,114,5,5,74,114,5,5,122,114,5,5,74,114,5,5,124,114,5,5,74,114,5,5,126,114,5,5,74,114,5,5,128,114,5,5,74,114,5,5,130,114,5,5,76,114,5,5,122,114,5,5,76,114,5,5,124,114,5,5,76,114,5,5,126,114,5,5,76,114,5,5,128,114,5,5,76,114,5,5,130,114,5,5,78,114,5,5,122,114,5,5,78,114,5,5,124,114,5,5,78,114,5,5,126,114,5,5,78,114,5,5,128,114,5,5,78,114,5,5,130,114,5,5,80,114,5,5,122,114,5,5,80,114,5,5,124,114,5,5,80,114,5,5,126,114,5,5,80,114,5,5,128,114,5,5,80,114,5,5,130,114,5,5,82,114,5,5,122,114,5,5,82,114,5,5,124,114,5,5,82,114,5,5,126,114,5,5,82,114,5,5,128,114,5,5,82,114,5,5,130,114,5,5,84,114,5,5,122,114,5,5,84,114,5,5,124,114,5,5,84,114,5,5,126,114,5,5,84,114,5,5,128,114,5,5,84,114,5,5,130,114,5,5,86,114,5,5,122,114,5,5,86,114,5,5,124,114,5,5,86,114,5,5,126,114,5,5,86,114,5,5,128,114,5,5,86,114,5,5,130,114,5,5,88,114,5,5,122,114,5,5,88,114,5,5,124,114,5,5,88,114,5,5,126,114,5,5,88,114,5,5,128,114,5,5,88,114,5,5,130,114,5,5,90,114,5,5,122,114,5,5,90,114,5,5,124,114,5,5,90,114,5,5,126,114,5,5,90,114,5,5,128,114,5,5,90,114,5,5,130,114,5,5,92,114,5,5,122,114,5,5,92,114,5,5,124,114,5,5,92,114,5,5,126,114,5,5,92,114,5,5,128,114,5,5,92,114,5,5,130,114,5,5,94,114,5,5,122,114,5,5,94,114,5,5,124,114,5,5,94,114,5,5,126,114,5,5,94,114,5,5,128,114,5,5,94,114,5,5,130,114,5,5,96,114,5,5,122,114,5,5,96,114,5,5,124,114,5,5,96,114,5,5,126,114,5,5,96,114,5,5,128,114,5,5,96,114,5,5,130,114,5,5,6,115,5,5,122,115,5,5,6,115,5,5,124,115,5,5,6,115,5,5,126,115,5,5,6,115,5,5,128,115,5,5,6,115,5,5,130,115,5,5,8,115,5,5,122,115,5,5,8,115,5,5,124,115,5,5,8,115,5,5,126,115,5,5,8,115,5,5,128,115,5,5,8,115,5,5,130,115,5,5,10,115,5,5,122,115,5,5,10,115,5,5,124,115,5,5,10,115,5,5,126,115,5,5,10,115,5,5,128,115,5,5,10,115,5,5,130,115,5,5,12,115,5,5,122,115,5,5,12,115,5,5,124,115,5,5,12,115,5,5,126,115,5,5,12,115,5,5,128,115,5,5,12,115,5,5,130,115,5,5,14,115,5,5,122,115,5,5,14,115,5,5,124,115,5,5,14,115,5,5,126,115,5,5,14,115,5,5,128,115,5,5,14,115,5,5,130,115,5,5,16,115,5,5,122,115,5,5,16,115,5,5,124,115,5,5,16,115,5,5,126,115,5,5,16,115,5,5,128,115,5,5,16,115,5,5,130,115,5,5,18,115,5,5,122,115,5,5,18,115,5,5,124,115,5,5,18,115,5,5,126,115,5,5,18,115,5,5,128,115,5,5,18,115,5,5,130,115,5,5,20,115,5,5,122,115,5,5,20,115,5,5,124,115,5,5,20,115,5,5,126,115,5,5,20,115,5,5,128,115,5,5,20,115,5,5,130,115,5,5,22,115,5,5,122,115,5,5,22,115,5,5,124,115,5,5,22,115,5,5,126,115,5,5,22,115,5,5,128,115,5,5,22,115,5,5,130,115,5,5,24,115,5,5,122,115,5,5,24,115,5,5,124,115,5,5,24,115,5,5,126,115,5,5,24,115,5,5,128,115,5,5,24,115,5,5,130,115,5,5,26,115,5,5,122,115,5,5,26,115,5,5,124,115,5,5,26,115,5,5,126,115,5,5,26,115,5,5,128,115,5,5,26,115,5,5,130,115,5,5,28,115,5,5,122,115,5,5,28,115,5,5,124,115,5,5,28,115,5,5,126,115,5,5,28,115,5,5,128,115,5,5,28,115,5,5,130,115,5,5,30,115,5,5,122,115,5,5,30,115,5,5,124,115,5,5,30,115,5,5,126,115,5,5,30,115,5,5,128,115,5,5,30,115,5,5,130,115,5,5,32,115,5,5,122,115,5,5,32,115,5,5,124,115,5,5,32,115,5,5,126,115,5,5,32,115,5,5,128,115,5,5,32,115,5,5,130,115,5,5,34,115,5,5,122,115,5,5,34,115,5,5,124,115,5,5,34,115,5,5,126,115,5,5,34,115,5,5,128,115,5,5,34,115,5,5,130,115,5,5,36,115,5,5,122,115,5,5,36,115,5,5,124,115,5,5,36,115,5,5,126,115,5,5,36,115,5,5,128,115,5,5,36,115,5,5,130,115,5,5,38,115,5,5,122,115,5,5,38,115,5,5,124,115,5,5,38,115,5,5,126,115,5,5,38,115,5,5,128,115,5,5,38,115,5,5,130,115,5,5,40,115,5,5,122,115,5,5,40,115,5,5,124,115,5,5,40,115,5,5,126,115,5,5,40,115,5,5,128,115,5,5,40,115,5,5,130,115,5,5,42,115,5,5,122,115,5,5,42,115,5,5,124,115,5,5,42,115,5,5,126,115,5,5,42,115,5,5,128,115,5,5,42,115,5,5,130,115,5,5,44,115,5,5,122,115,5,5,44,115,5,5,124,115,5,5,44,115,5,5,126,115,5,5,44,115,5,5,128,115,5,5,44,115,5,5,130,115,5,5,46,115,5,5,122,115,5,5,46,115,5,5,124,115,5,5,46,115,5,5,126,115,5,5,46,115,5,5,128,115,5,5,46,115,5,5,130,115,5,5,48,115,5,5,122,115,5,5,48,115,5,5,124,115,5,5,48,115,5,5,126,115,5,5,48,115,5,5,128,115,5,5,48,115,5,5,130,115,5,5,50,115,5,5,122,115,5,5,50,115,5,5,124,115,5,5,50,115,5,5,126,115,5,5,50,115,5,5,128,115,5,5,50,115,5,5,130,115,5,5,52,115,5,5,122,115,5,5,52,115,5,5,124,115,5,5,52,115,5,5,126,115,5,5,52,115,5,5,128,115,5,5,52,115,5,5,130,115,5,5,54,115,5,5,122,115,5,5,54,115,5,5,124,115,5,5,54,115,5,5,126,115,5,5,54,115,5,5,128,115,5,5,54,115,5,5,130,115,5,5,56,115,5,5,122,115,5,5,56,115,5,5,124,115,5,5,56,115,5,5,126,115,5,5,56,115,5,5,128,115,5,5,56,115,5,5,130,115,5,5,58,115,5,5,122,115,5,5,58,115,5,5,124,115,5,5,58,115,5,5,126,115,5,5,58,115,5,5,128,115,5,5,58,115,5,5,130,115,5,5,60,115,5,5,122,115,5,5,60,115,5,5,124,115,5,5,60,115,5,5,126,115,5,5,60,115,5,5,128,115,5,5,60,115,5,5,130,115,5,5,62,115,5,5,122,115,5,5,62,115,5,5,124,115,5,5,62,115,5,5,126,115,5,5,62,115,5,5,128,115,5,5,62,115,5,5,130,115,5,5,64,115,5,5,122,115,5,5,64,115,5,5,124,115,5,5,64,115,5,5,126,115,5,5,64,115,5,5,128,115,5,5,64,115,5,5,130,115,5,5,66,115,5,5,122,115,5,5,66,115,5,5,124,115,5,5,66,115,5,5,126,115,5,5,66,115,5,5,128,115,5,5,66,115,5,5,130,115,5,5,68,115,5,5,122,115,5,5,68,115,5,5,124,115,5,5,68,115,5,5,126,115,5,5,68,115,5,5,128,115,5,5,68,115,5,5,130,115,5,5,70,115,5,5,122,115,5,5,70,115,5,5,124,115,5,5,70,115,5,5,126,115,5,5,70,115,5,5,128,115,5,5,70,115,5,5,130,115,5,5,72,115,5,5,122,115,5,5,72,115,5,5,124,115,5,5,72,115,5,5,126,115,5,5,72,115,5,5,128,115,5,5,72,115,5,5,130,115,5,5,74,115,5,5,122,115,5,5,74,115,5,5,124,115,5,5,74,115,5,5,126,115,5,5,74,115,5,5,128,115,5,5,74,115,5,5,130,115,5,5,76,115,5,5,122,115,5,5,76,115,5,5,124,115,5,5,76,115,5,5,126,115,5,5,76,115,5,5,128,115,5,5,76,115,5,5,130,115,5,5,78,115,5,5,122,115,5,5,78,115,5,5,124,115,5,5,78,115,5,5,126,115,5,5,78,115,5,5,128,115,5,5,78,115,5,5,130,115,5,5,80,115,5,5,122,115,5,5,80,115,5,5,124,115,5,5,80,115,5,5,126,115,5,5,80,115,5,5,128,115,5,5,80,115,5,5,130,115,5,5,82,115,5,5,122,115,5,5,82,115,5,5,124,115,5,5,82,115,5,5,126,115,5,5,82,115,5,5,128,115,5,5,82,115,5,5,130,115,32,5,84,115,32,5,54,115,32,5,84,115,32,5,54,115,5,5,122,115,32,5,84,115,32,5,54,115,5,5,124,115,32,5,84,115,32,5,54,115,5,5,126,115,32,5,84,115,32,5,54,115,5,5,128,115,32,5,84,115,32,5,54,115,5,5,130,115,32,5,84,115,32,5,70,115,32,5,84,115,32,5,70,115,5,5,122,115,32,5,84,115,32,5,70,115,5,5,124,115,32,5,84,115,32,5,70,115,5,5,126,115,32,5,84,115,32,5,70,115,5,5,128,115,32,5,84,115,32,5,70,115,5,5,130,115,5,5,84,115,5,5,122,115,5,5,84,115,5,5,124,115,5,5,84,115,5,5,126,115,5,5,84,115,5,5,128,115,5,5,84,115,5,5,130,115,5,5,86,115,5,5,122,115,5,5,86,115,5,5,124,115,5,5,86,115,5,5,126,115,5,5,86,115,5,5,128,115,5,5,86,115,5,5,130,115,5,5,88,115,5,5,122,115,5,5,88,115,5,5,124,115,5,5,88,115,5,5,126,115,5,5,88,115,5,5,128,115,5,5,88,115,5,5,130,115,5,5,90,115,5,5,122,115,5,5,90,115,5,5,124,115,5,5,90,115,5,5,126,115,5,5,90,115,5,5,128,115,5,5,90,115,5,5,130,115,193,9,132,115,193,126,133,115,193,9,132,115,193,133,133,115,193,9,132,115,193,154,133,115,193,9,132,115,193,168,133,115,193,9,132,115,193,175,133,115,193,16,132,115,193,126,133,115,193,16,132,115,193,133,133,115,193,16,132,115,193,154,133,115,193,16,132,115,193,168,133,115,193,16,132,115,193,175,133,115,193,23,132,115,193,126,133,115,193,23,132,115,193,133,133,115,193,23,132,115,193,154,133,115,193,23,132,115,193,168,133,115,193,23,132,115,193,175,133,115,193,30,132,115,193,126,133,115,193,30,132,115,193,133,133,115,193,30,132,115,193,154,133,115,193,30,132,115,193,168,133,115,193,30,132,115,193,175,133,115,193,37,132,115,193,126,133,115,193,37,132,115,193,133,133,115,193,37,132,115,193,154,133,115,193,37,132,115,193,168,133,115,193,37,132,115,193,175,133,115,193,44,132,115,193,126,133,115,193,44,132,115,193,133,133,115,193,44,132,115,193,154,133,115,193,44,132,115,193,168,133,115,193,44,132,115,193,175,133,115,193,51,132,115,193,126,133,115,193,51,132,115,193,133,133,115,193,51,132,115,193,154,133,115,193,51,132,115,193,168,133,115,193,51,132,115,193,175,133,115,193,58,132,115,193,126,133,115,193,58,132,115,193,133,133,115,193,58,132,115,193,154,133,115,193,58,132,115,193,168,133,115,193,58,132,115,193,175,133,115,193,65,132,115,193,126,133,115,193,65,132,115,193,133,133,115,193,65,132,115,193,154,133,115,193,65,132,115,193,168,133,115,193,65,132,115,193,175,133,115,193,72,132,115,193,126,133,115,193,72,132,115,193,133,133,115,193,72,132,115,193,154,133,115,193,72,132,115,193,168,133,115,193,72,132,115,193,175,133,115,193,79,132,115,193,126,133,115,193,79,132,115,193,133,133,115,193,79,132,115,193,154,133,115,193,79,132,115,193,168,133,115,193,79,132,115,193,175,133,115,193,86,132,115,193,126,133,115,193,86,132,115,193,133,133,115,193,86,132,115,193,154,133,115,193,86,132,115,193,168,133,115,193,86,132,115,193,175,133,115,193,93,132,115,193,126,133,115,193,93,132,115,193,133,133,115,193,93,132,115,193,154,133,115,193,93,132,115,193,168,133,115,193,93,132,115,193,175,133,115,193,100,132,115,193,126,133,115,193,100,132,115,193,133,133,115,193,100,132,115,193,154,133,115,193,100,132,115,193,168,133,115,193,100,132,115,193,175,133,115,193,107,132,115,193,126,133,115,193,107,132,115,193,133,133,115,193,107,132,115,193,154,133,115,193,107,132,115,193,168,133,115,193,107,132,115,193,175,133,115,193,114,132,115,193,126,133,115,193,114,132,115,193,133,133,115,193,114,132,115,193,154,133,115,193,114,132,115,193,168,133,115,193,114,132,115,193,175,133,115,193,121,132,115,193,126,133,115,193,121,132,115,193,133,133,115,193,121,132,115,193,154,133,115,193,121,132,115,193,168,133,115,193,121,132,115,193,175,133,115,193,128,132,115,193,126,133,115,193,128,132,115,193,133,133,115,193,128,132,115,193,154,133,115,193,128,132,115,193,168,133,115,193,128,132,115,193,175,133,115,193,135,132,115,193,126,133,115,193,135,132,115,193,133,133,115,193,135,132,115,193,154,133,115,193,135,132,115,193,168,133,115,193,135,132,115,193,175,133,115,193,142,132,115,193,126,133,115,193,142,132,115,193,133,133,115,193,142,132,115,193,154,133,115,193,142,132,115,193,168,133,115,193,142,132,115,193,175,133,115,193,149,132,115,193,126,133,115,193,149,132,115,193,133,133,115,193,149,132,115,193,154,133,115,193,149,132,115,193,168,133,115,193,149,132,115,193,175,133,115,193,156,132,115,193,126,133,115,193,156,132,115,193,133,133,115,193,156,132,115,193,154,133,115,193,156,132,115,193,168,133,115,193,156,132,115,193,175,133,115,193,163,132,115,193,126,133,115,193,163,132,115,193,133,133,115,193,163,132,115,193,154,133,115,193,163,132,115,193,168,133,115,193,163,132,115,193,175,133,115,193,170,132,115,193,126,133,115,193,170,132,115,193,133,133,115,193,170,132,115,193,154,133,115,193,170,132,115,193,168,133,115,193,170,132,115,193,175,133,115,193,177,132,115,193,126,133,115,193,177,132,115,193,133,133,115,193,177,132,115,193,154,133,115,193,177,132,115,193,168,133,115,193,177,132,115,193,175,133,115,193,184,132,115,193,126,133,115,193,184,132,115,193,133,133,115,193,184,132,115,193,154,133,115,193,184,132,115,193,168,133,115,193,184,132,115,193,175,133,115,193,191,132,115,193,126,133,115,193,191,132,115,193,133,133,115,193,191,132,115,193,154,133,115,193,191,132,115,193,168,133,115,193,191,132,115,193,175,133,115,193,198,132,115,193,126,133,115,193,198,132,115,193,133,133,115,193,198,132,115,193,154,133,115,193,198,132,115,193,168,133,115,193,198,132,115,193,175,133,115,193,205,132,115,193,126,133,115,193,205,132,115,193,133,133,115,193,205,132,115,193,154,133,115,193,205,132,115,193,168,133,115,193,205,132,115,193,175,133,115,193,212,132,115,193,126,133,115,193,212,132,115,193,133,133,115,193,212,132,115,193,154,133,115,193,212,132,115,193,168,133,115,193,212,132,115,193,175,133,115,193,219,132,115,193,126,133,115,193,219,132,115,193,133,133,115,193,219,132,115,193,154,133,115,193,219,132,115,193,168,133,115,193,219,132,115,193,175,133,115,193,226,132,115,193,126,133,115,193,226,132,115,193,133,133,115,193,226,132,115,193,154,133,115,193,226,132,115,193,168,133,115,193,226,132,115,193,175,133,115,193,233,132,115,193,126,133,115,193,233,132,115,193,133,133,115,193,233,132,115,193,154,133,115,193,233,132,115,193,168,133,115,193,233,132,115,193,175,133,115,193,240,132,115,193,126,133,115,193,240,132,115,193,133,133,115,193,240,132,115,193,154,133,115,193,240,132,115,193,168,133,115,193,240,132,115,193,175,133,115,193,247,132,115,193,126,133,115,193,247,132,115,193,133,133,115,193,247,132,115,193,154,133,115,193,247,132,115,193,168,133,115,193,247,132,115,193,175,133,115,193,254,132,115,193,126,133,115,193,254,132,115,193,133,133,115,193,254,132,115,193,154,133,115,193,254,132,115,193,168,133,115,193,254,132,115,193,175,133,115,193,7,133,115,193,126,133,115,193,7,133,115,193,133,133,115,193,7,133,115,193,154,133,115,193,7,133,115,193,168,133,115,193,7,133,115,193,175,133,115,193,14,133,115,193,126,133,115,193,14,133,115,193,133,133,115,193,14,133,115,193,154,133,115,193,14,133,115,193,168,133,115,193,14,133,115,193,175,133,115,193,21,133,115,193,126,133,115,193,21,133,115,193,133,133,115,193,21,133,115,193,154,133,115,193,21,133,115,193,168,133,115,193,21,133,115,193,175,133,115,193,28,133,115,193,126,133,115,193,28,133,115,193,133,133,115,193,28,133,115,193,154,133,115,193,28,133,115,193,168,133,115,193,28,133,115,193,175,133,115,193,35,133,115,193,126,133,115,193,35,133,115,193,133,133,115,193,35,133,115,193,154,133,115,193,35,133,115,193,168,133,115,193,35,133,115,193,175,133,115,193,42,133,115,193,126,133,115,193,42,133,115,193,133,133,115,193,42,133,115,193,154,133,115,193,42,133,115,193,168,133,115,193,42,133,115,193,175,133,115,193,49,133,115,193,126,133,115,193,49,133,115,193,133,133,115,193,49,133,115,193,154,133,115,193,49,133,115,193,168,133,115,193,49,133,115,193,175,133,115,193,56,133,115,193,126,133,115,193,56,133,115,193,133,133,115,193,56,133,115,193,154,133,115,193,56,133,115,193,168,133,115,193,56,133,115,193,175,133,115,193,63,133,115,193,126,133,115,193,63,133,115,193,133,133,115,193,63,133,115,193,154,133,115,193,63,133,115,193,168,133,115,193,63,133,115,193,175,133,115,193,70,133,115,193,126,133,115,193,70,133,115,193,133,133,115,193,70,133,115,193,154,133,115,193,70,133,115,193,168,133,115,193,70,133,115,193,175,133,115,193,77,133,115,193,126,133,115,193,77,133,115,193,133,133,115,193,77,133,115,193,154,133,115,193,77,133,115,193,168,133,115,193,77,133,115,193,175,133,115,193,84,133,115,193,126,133,115,193,84,133,115,193,133,133,115,193,84,133,115,193,154,133,115,193,84,133,115,193,168,133,115,193,84,133,115,193,175,133,115,5,5,6,116,5,5,136,116,5,5,8,116,5,5,136,116,5,5,16,116,5,5,144,116,5,5,18,116,5,5,144,116,5,5,48,116,5,5,144,116,5,5,50,116,5,5,144,116,5,5,64,116,5,5,144,116,5,5,66,116,5,5,144,116,5,5,80,116,5,5,144,116,5,5,82,116,5,5,144,116,5,5,96,116,5,5,144,116,5,5,98,116,5,5,144,116,5,5,122,116,5,5,166,116,5,5,122,116,5,5,170,116,5,5,122,116,5,5,178,116,5,5,128,116,5,5,166,116,5,5,128,116,5,5,170,116,5,5,128,116,5,5,178,116,32,5,146,116,32,5,192,116,194,32,241,240,32,5,12,117,32,5,20,117,32,5,16,117,32,5,22,117,32,5,83,117,32,5,91,117,32,5,83,117,193,9,5,118,193,142,9,118,193,9,5,118,5,5,11,118,193,9,5,118,193,2,13,118,193,9,5,118,193,23,13,118,193,16,5,118,193,142,9,118,193,16,5,118,5,5,11,118,193,16,5,118,193,2,13,118,193,16,5,118,193,23,13,118,193,23,5,118,193,142,9,118,193,23,5,118,5,5,11,118,193,23,5,118,193,2,13,118,193,23,5,118,193,23,13,118,193,30,5,118,193,142,9,118,193,30,5,118,5,5,11,118,193,30,5,118,193,2,13,118,193,30,5,118,193,23,13,118,193,37,5,118,193,142,9,118,193,37,5,118,5,5,11,118,193,37,5,118,193,2,13,118,193,37,5,118,193,23,13,118,193,44,5,118,193,142,9,118,193,44,5,118,5,5,11,118,193,44,5,118,193,2,13,118,193,44,5,118,193,23,13,118,193,51,5,118,193,142,9,118,193,51,5,118,5,5,11,118,193,51,5,118,193,2,13,118,193,51,5,118,193,23,13,118,193,58,5,118,193,142,9,118,193,58,5,118,5,5,11,118,193,58,5,118,193,2,13,118,193,58,5,118,193,23,13,118,193,65,5,118,193,142,9,118,193,65,5,118,5,5,11,118,193,65,5,118,193,2,13,118,193,65,5,118,193,23,13,118,193,72,5,118,193,142,9,118,193,72,5,118,5,5,11,118,193,72,5,118,193,2,13,118,193,72,5,118,193,23,13,118,193,79,5,118,193,142,9,118,193,79,5,118,5,5,11,118,193,79,5,118,193,2,13,118,193,79,5,118,193,23,13,118,193,86,5,118,193,142,9,118,193,86,5,118,5,5,11,118,193,86,5,118,193,2,13,118,193,86,5,118,193,23,13,118,193,93,5,118,193,142,9,118,193,93,5,118,5,5,11,118,193,93,5,118,193,2,13,118,193,93,5,118,193,23,13,118,193,100,5,118,193,142,9,118,193,100,5,118,5,5,11,118,193,100,5,118,193,2,13,118,193,100,5,118,193,23,13,118,193,107,5,118,193,142,9,118,193,107,5,118,5,5,11,118,193,107,5,118,193,2,13,118,193,107,5,118,193,23,13,118,193,114,5,118,193,142,9,118,193,114,5,118,5,5,11,118,193,114,5,118,193,2,13,118,193,114,5,118,193,23,13,118,193,121,5,118,193,142,9,118,193,121,5,118,5,5,11,118,193,121,5,118,193,2,13,118,193,121,5,118,193,23,13,118,193,128,5,118,193,142,9,118,193,128,5,118,5,5,11,118,193,128,5,118,193,2,13,118,193,128,5,118,193,23,13,118,193,135,5,118,193,142,9,118,193,135,5,118,5,5,11,118,193,135,5,118,193,2,13,118,193,135,5,118,193,23,13,118,193,142,5,118,193,142,9,118,193,142,5,118,5,5,11,118,193,142,5,118,193,2,13,118,193,142,5,118,193,23,13,118,193,149,5,118,193,142,9,118,193,149,5,118,5,5,11,118,193,149,5,118,193,2,13,118,193,149,5,118,193,23,13,118,193,156,5,118,193,142,9,118,193,156,5,118,5,5,11,118,193,156,5,118,193,2,13,118,193,156,5,118,193,23,13,118,193,163,5,118,193,142,9,118,193,163,5,118,5,5,11,118,193,163,5,118,193,2,13,118,193,163,5,118,193,23,13,118,193,170,5,118,193,142,9,118,193,170,5,118,5,5,11,118,193,170,5,118,193,2,13,118,193,170,5,118,193,23,13,118,193,177,5,118,193,142,9,118,193,177,5,118,5,5,11,118,193,177,5,118,193,2,13,118,193,177,5,118,193,23,13,118,193,184,5,118,193,142,9,118,193,184,5,118,5,5,11,118,193,184,5,118,193,2,13,118,193,184,5,118,193,23,13,118,193,191,5,118,193,142,9,118,193,191,5,118,5,5,11,118,193,191,5,118,193,2,13,118,193,191,5,118,193,23,13,118,193,198,5,118,193,142,9,118,193,198,5,118,5,5,11,118,193,198,5,118,193,2,13,118,193,198,5,118,193,23,13,118,5,5,7,118,193,142,9,118,5,5,7,118,5,5,11,118,32,5,7,118,32,5,11,118,32,5,7,118,32,5,11,118,32,5,15,118,5,5,7,118,193,2,13,118,5,5,7,118,193,23,13,118,193,2,9,118,193,142,9,118,193,2,9,118,5,5,11,118,193,2,9,118,193,2,13,118,193,2,9,118,193,23,13,118,193,9,9,118,193,142,9,118,193,9,9,118,5,5,11,118,193,9,9,118,193,2,13,118,193,9,9,118,193,23,13,118,193,16,9,118,193,142,9,118,193,16,9,118,5,5,11,118,193,16,9,118,193,2,13,118,193,16,9,118,193,23,13,118,193,23,9,118,193,142,9,118,193,23,9,118,5,5,11,118,193,23,9,118,193,2,13,118,193,23,9,118,193,23,13,118,193,30,9,118,193,142,9,118,193,30,9,118,5,5,11,118,193,30,9,118,193,2,13,118,193,30,9,118,193,23,13,118,193,37,9,118,193,142,9,118,193,37,9,118,5,5,11,118,193,37,9,118,193,2,13,118,193,37,9,118,193,23,13,118,193,44,9,118,193,142,9,118,193,44,9,118,5,5,11,118,193,44,9,118,193,2,13,118,193,44,9,118,193,23,13,118,193,51,9,118,193,142,9,118,193,51,9,118,5,5,11,118,193,51,9,118,193,2,13,118,193,51,9,118,193,23,13,118,193,58,9,118,193,142,9,118,193,58,9,118,5,5,11,118,193,58,9,118,193,2,13,118,193,58,9,118,193,23,13,118,193,65,9,118,193,142,9,118,193,65,9,118,5,5,11,118,193,65,9,118,193,2,13,118,193,65,9,118,193,23,13,118,193,72,9,118,193,142,9,118,193,72,9,118,5,5,11,118,193,72,9,118,193,2,13,118,193,72,9,118,193,23,13,118,193,79,9,118,193,142,9,118,193,79,9,118,5,5,11,118,193,79,9,118,193,2,13,118,193,79,9,118,193,23,13,118,193,86,9,118,193,142,9,118,193,86,9,118,5,5,11,118,193,86,9,118,193,2,13,118,193,86,9,118,193,23,13,118,193,93,9,118,193,142,9,118,193,93,9,118,5,5,11,118,193,93,9,118,193,2,13,118,193,93,9,118,193,23,13,118,193,100,9,118,193,142,9,118,193,100,9,118,5,5,11,118,193,100,9,118,193,2,13,118,193,100,9,118,193,23,13,118,32,5,28,118,32,5,36,118,32,5,28,118,32,5,10,119,32,5,10,119,32,5,32,119,32,5,52,119,5,112,50,119,5,112,50,119,32,5,6,120,32,5,72,120,32,5,10,120,32,5,72,120,32,5,14,120,32,5,72,120,32,5,18,120,32,5,74,120,32,5,22,120,32,5,72,120,32,5,26,120,32,5,74,120,32,5,30,120,32,5,74,120,32,5,34,120,32,5,72,120,32,5,46,120,32,5,72,120,32,5,55,120,32,5,72,120,32,5,59,120,32,5,72,120,32,5,63,120,32,5,74,120,32,5,67,120,32,5,72,120,30,5,6,121,30,5,103,121,30,5,10,121,30,5,103,121,30,5,12,121,30,5,103,121,30,5,16,121,30,5,103,121,30,5,18,121,30,5,103,121,30,5,20,121,30,5,103,121,30,5,24,121,30,5,103,121,30,5,28,121,30,5,103,121,30,5,28,121,30,5,129,121,30,5,30,121,30,5,103,121,30,5,30,121,30,5,129,121,30,5,28,121,30,5,141,121,30,5,34,121,30,5,103,121,30,5,34,121,30,5,103,121,32,5,209,121,30,5,6,121,30,5,119,121,30,5,36,121,30,5,103,121,30,5,38,121,30,5,103,121,30,5,40,121,30,5,103,121,30,5,42,121,30,5,103,121,51,5,6,122,46,5,118,13,48,5,88,122,51,5,6,122,48,5,58,122,46,176,0,0,46,5,118,13,51,5,46,122,51,5,6,122,48,5,88,122,48,5,62,122,51,5,6,122,51,5,6,122,49,5,102,122,48,5,64,122,46,176,0,0,51,5,6,122,51,5,8,122,49,5,50,122,49,5,102,122,48,5,22,122,46,174,0,0,51,5,8,122,49,5,102,122,49,5,40,122,133,5,10,122,5,174,0,0,158,5,10,122,5,174,0,0,51,5,10,122,51,5,16,122,49,5,102,122,51,5,14,122,46,5,118,13,48,5,18,122,46,5,118,13,51,5,14,122,48,5,32,122,48,5,22,122,46,5,118,13,51,5,46,122,46,174,0,0,51,5,16,122,46,5,118,13,48,5,72,122,51,5,16,122,49,5,102,122,48,5,32,122,133,5,18,122,5,174,0,0,152,5,18,122,5,174,0,0,48,5,18,122,51,5,8,122,51,5,86,122,48,5,18,122,48,5,84,122,51,5,42,122,51,5,46,122,48,5,18,122,48,5,92,122,51,5,86,122,46,5,118,13,48,5,18,122,46,174,0,0,48,5,92,122,49,5,102,122,48,5,18,122,46,174,0,0,49,5,102,122,49,5,68,122,133,5,20,122,5,174,0,0,144,5,20,122,5,174,0,0,49,5,20,122,46,174,0,0,48,5,18,122,46,174,0,0,49,5,20,122,46,174,0,0,49,5,50,122,46,5,118,13,49,5,20,122,51,5,80,122,51,5,86,122,46,5,118,13,49,5,20,122,46,174,0,0,48,5,88,122,49,5,38,122,46,174,0,0,46,5,118,13,49,5,20,122,48,5,92,122,49,5,20,122,48,5,92,122,48,5,22,122,46,174,0,0,48,5,84,122,48,5,72,122,49,5,20,122,48,5,92,122,49,5,74,122,46,5,118,13,51,5,46,122,48,5,88,122,49,5,20,122,48,5,92,122,48,5,94,122,51,5,42,122,51,5,46,122,133,5,22,122,5,174,0,0,152,5,22,122,5,174,0,0,48,5,22,122,46,174,0,0,48,5,84,122,48,5,72,122,51,5,46,122,49,5,102,122,48,5,22,122,48,5,88,122,49,5,34,122,46,174,0,0,51,5,8,122,48,5,92,122,48,5,22,122,48,5,92,122,46,5,118,13,49,5,54,122,133,5,24,122,5,174,0,0,152,5,24,122,5,174,0,0,48,5,24,122,46,5,118,13,48,5,32,122,133,5,26,122,5,174,0,0,144,5,26,122,5,174,0,0,48,5,26,122,46,5,118,13,48,5,66,122,46,176,0,0,48,5,26,122,48,5,26,122,40,5,26,122,44,5,46,122,48,5,26,122,48,5,88,122,49,5,48,122,133,5,28,122,5,174,0,0,144,5,28,122,5,174,0,0,49,5,28,122,51,5,8,122,48,5,22,122,48,5,88,122,49,5,28,122,49,5,102,122,49,5,40,122,46,5,118,13,48,5,72,122,133,5,30,122,5,174,0,0,152,5,30,122,5,174,0,0,3,5,30,122,3,5,74,122,48,5,30,122,51,5,86,122,49,5,102,122,48,5,22,122,46,174,0,0,133,5,32,122,5,174,0,0,152,5,32,122,5,174,0,0,133,5,34,122,5,174,0,0,144,5,34,122,5,174,0,0,49,5,34,122,49,5,102,122,49,5,40,122,49,5,34,122,49,5,102,122,51,5,46,122,133,5,36,122,5,174,0,0,144,5,36,122,5,174,0,0,133,5,38,122,5,174,0,0,144,5,38,122,5,174,0,0,49,5,38,122,46,174,0,0,46,5,118,13,48,5,32,122,133,5,40,122,5,174,0,0,144,5,40,122,5,174,0,0,133,5,42,122,5,174,0,0,158,5,42,122,5,174,0,0,133,5,44,122,5,174,0,0,144,5,44,122,5,174,0,0,49,5,44,122,46,174,0,0,49,5,44,122,46,174,0,0,48,5,30,122,133,5,46,122,5,174,0,0,151,5,46,122,5,174,0,0,51,5,46,122,46,174,0,0,48,5,88,122,49,5,48,122,49,5,56,122,49,5,56,122,51,5,42,122,51,5,46,122,133,5,58,122,5,174,0,0,152,5,58,122,5,174,0,0,133,5,58,122,5,176,0,0,152,5,58,122,5,176,0,0,48,5,58,122,46,176,0,0,46,5,118,13,49,5,34,122,49,5,102,122,51,5,46,122,48,5,58,122,46,176,0,0,46,5,118,13,51,5,42,122,48,5,58,122,46,174,0,0,46,5,118,13,48,5,90,122,48,5,88,122,48,5,58,122,51,5,8,122,51,5,42,122,133,5,60,122,5,174,0,0,152,5,60,122,5,174,0,0,133,5,60,122,5,176,0,0,152,5,60,122,5,176,0,0,48,5,60,122,46,176,0,0,51,5,6,122,48,5,32,122,51,5,46,122,48,5,88,122,48,5,60,122,46,176,0,0,48,5,22,122,48,5,88,122,48,5,60,122,46,176,0,0,48,5,26,122,48,5,60,122,46,174,0,0,48,5,88,122,133,5,62,122,5,174,0,0,152,5,62,122,5,174,0,0,133,5,62,122,5,176,0,0,152,5,62,122,5,176,0,0,48,5,62,122,51,5,6,122,48,5,84,122,51,5,42,122,51,5,46,122,46,174,0,0,48,5,62,122,51,5,8,122,46,5,118,13,51,5,46,122,48,5,62,122,46,174,0,0,51,5,42,122,48,5,30,122,51,5,14,122,48,5,88,122,48,5,62,122,48,5,84,122,49,5,102,122,133,5,64,122,5,174,0,0,152,5,64,122,5,174,0,0,133,5,64,122,5,176,0,0,152,5,64,122,5,176,0,0,48,5,64,122,46,176,0,0,46,5,118,13,48,5,30,122,46,174,0,0,48,5,64,122,46,174,0,0,46,5,118,13,49,5,38,122,48,5,64,122,48,5,22,122,49,5,38,122,46,5,118,13,48,5,88,122,48,5,64,122,46,176,0,0,49,5,36,122,48,5,64,122,46,176,0,0,49,5,50,122,48,5,60,122,48,5,64,122,48,5,88,122,51,5,42,122,48,5,64,122,46,176,0,0,49,5,102,122,48,5,32,122,133,5,66,122,5,174,0,0,152,5,66,122,5,174,0,0,133,5,66,122,5,176,0,0,152,5,66,122,5,176,0,0,48,5,66,122,46,5,118,13,48,5,88,122,48,5,66,122,46,5,118,13,49,5,102,122,48,5,66,122,46,176,0,0,51,5,8,122,49,5,102,122,51,5,46,122,48,5,66,122,48,5,18,122,48,5,66,122,46,174,0,0,48,5,88,122,51,5,46,122,48,5,66,122,49,5,102,122,48,5,66,122,46,176,0,0,49,5,102,122,51,5,46,122,46,174,0,0,49,5,68,122,51,5,8,122,48,5,22,122,48,5,92,122,49,5,68,122,51,5,8,122,48,5,88,122,3,5,68,122,3,5,32,122,49,5,68,122,51,5,42,122,48,5,58,122,49,5,68,122,48,5,88,122,48,5,22,122,49,5,68,122,49,5,102,122,48,5,30,122,52,5,82,122,49,5,102,122,49,5,70,122,48,5,22,122,48,5,92,122,49,5,102,122,49,5,70,122,51,5,86,122,49,5,70,122,51,5,86,122,48,5,58,122,46,174,0,0,46,5,118,13,48,5,88,122,49,5,74,122,48,5,18,122,46,174,0,0,49,5,74,122,48,5,18,122,46,174,0,0,51,5,46,122,49,5,102,122,51,5,78,122,46,5,118,13,51,5,46,122,46,174,0,0,51,5,78,122,46,5,118,13,48,5,88,122,51,5,80,122,51,5,6,122,49,5,102,122,46,5,82,122,44,5,86,122,51,5,86,122,51,5,42,122,51,5,46,122,48,5,88,122,51,5,86,122,48,5,84,122,48,5,88,122,46,5,118,13,48,5,62,122,46,174,0,0,48,5,88,122,48,5,88,122,48,5,60,122,46,176,0,0,46,5,118,13,48,5,90,122,48,5,72,122,48,5,90,122,49,5,102,122,51,5,46,122,48,5,24,122,46,174,0,0,49,5,102,122,152,5,94,122,5,174,0,0,158,5,96,122,5,174,0,0,158,5,98,122,5,174,0,0,155,5,100,122,5,174,0,0,32,5,184,124,32,5,190,124,5,5,6,121,5,5,8,121,5,5,10,121,5,5,12,121,5,5,14,121,5,5,16,121,5,5,18,121,5,5,20,121,5,5,22,121,5,5,24,121,5,5,26,121,5,5,28,121,5,5,30,121,5,5,32,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,5,5,105,121,5,5,107,121,5,5,109,121,5,5,111,121,5,5,113,121,5,5,115,121,5,5,117,121,5,5,119,121,5,5,121,121,5,5,123,121,5,5,125,121,5,5,127,121,5,5,129,121,5,5,131,121,5,5,133,121,5,5,135,121,5,5,137,121,5,5,139,121,5,5,141,121,5,5,143,121,5,5,179,121,5,5,181,121,5,5,183,121,5,5,185,121,5,5,187,121,5,5,189,121,5,5,191,121,5,5,193,121,5,5,195,121,5,5,197,121,5,5,199,121,5,5,201,121,5,5,203,121,5,5,205,121,5,5,207,121,5,5,209,121,5,5,211,121,5,5,213,121,5,5,215,121,5,5,217,121,5,5,219,121,5,5,221,121,5,5,223,121,5,5,225,121,5,5,227,121,5,5,229,121,5,5,231,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,16,5,0,19,16,5,0,21,16,5,0,23,16,5,0,25,16,5,0,27,16,5,0,29,16,5,0,31,16,5,0,33,16,5,0,35,16,5,0,37,26,5,0,19,26,5,0,21,26,5,0,23,26,5,0,25,26,5,0,27,26,5,0,29,26,5,0,31,26,5,0,33,26,5,0,35,28,5,0,37,5,0,0,0,6,0,0,0,29,1,0,0,0,5,0,5,60,0,128,69,130,61,0,0,128,5,0,130,128,5,0,132,128,5,0,134,128,5,0,136,128,5,0,138,128,5,0,140,128,5,0,142,128,5,0,144,128,32,0,144,128,5,0,146,128,5,0,148,128,5,0,150,128,32,0,150,128,5,0,152,128,5,0,154,128,5,0,156,128,5,0,158,128,5,0,160,128,32,0,160,128,5,0,162,128,5,0,164,128,5,0,166,128,5,0,168,128,32,0,168,128,5,0,170,128,32,0,170,128,5,0,172,128,5,0,174,128,32,0,174,128,46,0,174,128,5,0,176,128,32,0,176,128,46,0,176,128,5,0,178,128,32,0,178,128,5,0,180,128,5,0,182,128,5,0,184,128,5,0,186,128,5,0,188,128,5,0,190,128,5,0,192,128,5,0,194,128,5,0,196,128,5,0,198,128,5,0,200,128,5,0,202,128,5,0,204,128,5,0,206,128,5,0,208,128,5,0,210,128,5,0,212,128,5,0,214,128,5,0,216,128,5,0,218,128,5,0,220,128,5,0,222,128,5,0,224,128,5,2,226,128,5,35,226,128,5,68,226,128,5,101,226,128,5,134,226,128,5,167,226,128,5,200,226,128,5,233,226,128,5,12,227,128,5,45,227,128,5,78,227,128,5,111,227,128,5,144,227,128,5,177,227,128,5,210,227,128,5,243,227,128,5,22,228,128,5,55,228,128,5,88,228,128,5,121,228,128,5,154,228,128,5,187,228,128,5,220,228,128,5,253,228,128,5,32,229,128,5,65,229,128,5,98,229,128,5,131,229,128,5,164,229,128,16,164,229,128,30,164,229,128,44,164,229,128,5,197,229,128,5,230,229,128,5,9,230,128,32,9,230,128,5,42,230,128,5,75,230,128,5,108,230,128,32,108,230,128,5,141,230,128,5,174,230,128,5,207,230,128,32,207,230,128,46,207,230,128,5,240,230,128,5,19,231,128,5,52,231,128,5,85,231,128,32,85,231,128,46,85,231,128,5,118,231,128,5,151,231,128,5,184,231,128,32,184,231,128,46,184,231,128,5,217,231,128,5,250,231,128,5,29,232,128,32,29,232,128,46,29,232,128,5,62,232,128,32,62,232,128,46,62,232,128,5,95,232,128,5,128,232,128,32,128,232,128,46,128,232,128,5,161,232,128,5,194,232,128,5,227,232,128,5,6,233,128,5,39,233,128,5,72,233,128,5,105,233,128,5,138,233,128,5,171,233,128,5,204,233,128,5,237,233,128,5,16,234,128,5,49,234,128,5,82,234,128,5,115,234,128,5,148,234,128,5,181,234,128,5,214,234,128,5,247,234,128,5,26,235,128,5,59,235,128,16,59,235,128,30,59,235,128,44,59,235,128,5,92,235,128,5,125,235,128,5,158,235,128,5,191,235,128,5,224,235,128,5,3,236,128,5,36,236,128,5,69,236,128,5,102,236,128,5,135,236,128,5,168,236,128,5,201,236,128,5,234,236,128,5,13,237,128,5,46,237,128,5,79,237,128,5,112,237,128,5,145,237,128,5,178,237,128,5,211,237,128,5,244,237,128,5,23,238,128,5,56,238,128,5,89,238,128,5,122,238,128,5,155,238,128,5,188,238,128,5,221,238,128,5,254,238,128,5,33,239,128,5,66,239,128,5,99,239,128,5,132,239,128,5,165,239,128,5,198,239,128,5,231,239,128,5,10,240,128,5,43,240,128,5,76,240,128,5,109,240,128,5,142,240,128,5,175,240,128,5,208,240,128,5,241,240,128,32,241,240,128,5,20,241,128,5,53,241,128,5,86,241,128,5,119,241,128,5,152,241,128,5,185,241,128,5,218,241,128,5,251,241,128,5,30,242,128,5,63,242,128,5,96,242,128,5,129,242,128,5,162,242,128,5,195,242,128,5,228,242,128,5,7,243,128,5,40,243,128,5,73,243,128,5,106,243,128,5,139,243,128,5,172,243,128,5,205,243,128,5,238,243,128,5,17,244,128,5,50,244,128,5,83,244,128,5,116,244,128,5,149,244,128,5,182,244,128,5,215,244,128,5,248,244,128,5,27,245,128,5,60,245,128,5,93,245,128,5,126,245,128,5,159,245,128,5,192,245,128,5,225,245,128,5,4,246,128,5,37,246,128,5,70,246,128,5,103,246,128,5,136,246,128,5,169,246,128,5,202,246,128,5,235,246,128,5,14,247,128,5,47,247,128,5,80,247,128,5,113,247,128,5,146,247,128,5,179,247,128,5,212,247,128,5,245,247,128,5,24,248,128,5,57,248,128,5,90,248,128,5,123,248,128,5,156,248,128,5,189,248,128,5,222,248,128,5,255,248,128,5,34,249,128,5,67,249,128,5,100,249,128,5,133,249,128,5,166,249,128,5,199,249,128,5,232,249,128,5,11,250,128,5,44,250,128,5,77,250,128,5,110,250,128,5,143,250,128,5,176,250,128,5,209,250,128,5,242,250,128,5,21,251,128,5,54,251,128,5,87,251,128,5,120,251,128,5,153,251,128,5,186,251,128,5,219,251,0,2,2,3,0,0,4,3,2,0,18,3,0,0,0,4,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,2,6,5,0,0,8,5,128,32,0,5,0,0,10,5,128,16,0,5,128,30,0,5,128,44,0,5,0,0,12,5,0,0,14,5,128,32,0,5,128,46,0,5,0,0,16,5,0,2,18,5,7,23,18,5,0,0,20,5,128,32,0,5,0,0,22,5,0,0,24,5,128,32,0,5,0,0,26,5,128,32,0,5,128,46,0,5,0,0,28,5,2,0,48,5,128,32,0,5,0,0,50,5,0,0,0,6,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,6,7,0,0,8,7,2,0,30,7,0,2,32,7,7,30,32,7,0,0,34,7,128,16,0,5,128,30,0,5,128,44,0,5,0,0,36,7,2,0,42,7,128,16,0,5,128,30,0,5,128,44,0,5,0,0,44,7,2,0,54,7,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,56,7,0,0,58,7,0,2,60,7,7,142,60,7,0,0,62,7,0,0,64,7,2,0,78,7,0,2,80,7,0,9,80,7,0,0,82,7,2,0,90,7,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,92,7,0,0,94,7,0,2,96,7,7,16,96,7,0,0,98,7,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,100,7,2,0,110,7,0,2,112,7,7,51,112,7,0,0,114,7,0,0,116,7,0,0,0,8,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,6,9,0,0,8,9,0,2,10,9,0,9,10,9,0,0,12,9,0,0,14,9,0,2,16,9,7,30,16,9,0,0,18,9,0,0,20,9,0,2,22,9,7,37,22,9,0,0,24,9,128,32,0,5,128,46,0,5,0,0,26,9,2,0,34,9,0,2,36,9,7,37,36,9,0,0,38,9,2,0,50,9,0,2,52,9,7,35,53,9,0,0,55,9,2,0,59,9,0,2,61,9,7,14,62,9,0,0,64,9,2,0,90,9,0,2,92,9,0,9,92,9,0,0,94,9,2,0,102,9,0,2,104,9,7,51,104,9,0,0,106,9,128,32,0,5,0,0,108,9,2,0,120,9,128,32,0,5,0,0,122,9,2,0,142,9,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,144,9,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,146,9,128,32,0,5,128,46,0,5,0,0,148,9,128,32,0,5,128,46,0,5,0,0,150,9,128,16,0,5,128,30,0,5,128,44,0,5,0,0,152,9,128,16,0,5,128,30,0,5,128,44,0,5,0,0,154,9,2,0,160,9,0,2,162,9,0,9,162,9,0,0,164,9,2,0,184,9,128,32,0,5,0,0,186,9,128,32,0,5,0,0,188,9,2,0,62,10,128,32,0,5,0,0,64,10,128,32,0,5,0,0,66,10,128,32,0,5,0,0,68,10,128,32,0,5,0,0,70,10,128,32,0,5,128,46,0,5,0,0,72,10,128,32,0,5,128,46,0,5,0,0,74,10,128,32,0,5,0,0,76,10,128,32,0,5,0,0,78,10,128,32,0,5,0,0,80,10,128,32,0,5,0,0,82,10,128,16,0,5,128,30,0,5,128,44,0,5,0,0,84,10,128,16,0,5,128,30,0,5,128,44,0,5,0,0,86,10,128,32,0,5,0,0,88,10,128,32,0,5,0,0,90,10,2,0,126,10,128,32,0,5,128,46,0,5,0,0,128,10,128,32,0,5,128,46,0,5,0,0,130,10,2,0,138,10,128,32,0,5,128,46,0,5,0,0,140,10,128,32,0,5,128,46,0,5,0,0,142,10,0,0,144,10,128,32,0,5,128,46,0,5,0,0,146,10,2,0,150,10,128,32,0,5,128,46,0,5,0,0,152,10,128,32,0,5,128,46,0,5,0,0,154,10,2,0,188,10,128,32,0,5,0,0,190,10,128,32,0,5,0,0,192,10,2,0,24,11,0,2,26,11,7,128,26,11,0,0,28,11,2,0,54,11,0,2,56,11,0,9,56,11,0,0,58,11,2,0,76,11,128,32,0,5,0,0,78,11,2,0,100,11,0,2,102,11,7,142,102,11,0,0,104,11,2,0,116,11,0,2,118,11,7,163,118,11,0,0,120,11,0,2,122,11,7,12,124,11,0,0,126,11,0,2,128,11,7,93,128,11,0,2,2,12,0,0,4,12,128,32,0,5,0,0,6,12,0,0,8,12,0,0,10,12,128,32,0,5,0,0,12,12,128,32,0,5,0,2,14,12,0,9,14,12,0,0,16,12,0,2,18,12,0,9,18,12,0,0,20,12,0,2,22,12,7,37,22,12,0,0,24,12,2,0,28,12,0,2,30,12,7,23,30,12,0,0,32,12,2,0,50,12,0,2,52,12,7,114,52,12,0,0,54,12,0,2,56,12,7,98,57,12,0,0,59,12,2,0,75,12,0,2,77,12,0,9,77,12,0,0,79,12,0,2,81,12,7,16,81,12,0,0,83,12,128,32,0,5,0,2,85,12,7,148,89,12,0,0,91,12,2,0,95,12,0,2,97,12,7,156,97,12,0,0,99,12,128,32,0,5,0,0,101,12,128,32,0,5,0,0,103,12,128,32,0,5,0,0,105,12,128,32,0,5,0,2,107,12,7,215,109,12,0,0,111,12,128,32,0,5,0,2,113,12,7,16,113,12,0,0,115,12,128,32,0,5,0,2,117,12,7,51,117,12,0,0,119,12,128,32,0,5,0,0,121,12,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,123,12,2,0,129,12,128,32,0,5,128,46,0,5,0,0,131,12,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,133,12,128,32,0,5,128,46,0,5,0,0,135,12,128,32,0,5,0,0,137,12,128,32,0,5,0,0,139,12,128,32,0,5,0,0,141,12,128,32,0,5,0,0,143,12,128,32,0,5,128,46,0,5,0,2,145,12,7,16,145,12,0,0,147,12,128,32,0,5,0,0,149,12,128,32,0,5,0,2,151,12,7,142,151,12,0,0,153,12,128,32,0,5,0,0,155,12,128,32,0,5,0,2,157,12,7,32,170,12,0,0,172,12,128,32,0,5,0,2,174,12,7,78,178,12,0,0,180,12,128,32,0,5,0,2,182,12,7,35,183,12,0,0,185,12,128,32,0,5,0,2,187,12,7,182,74,13,0,0,76,13,128,32,0,5,0,2,78,13,7,58,78,13,0,0,80,13,2,0,98,13,0,2,100,13,7,44,100,13,0,0,102,13,0,0,104,13,0,2,106,13,0,9,106,13,0,0,108,13,2,0,118,13,128,32,0,5,128,46,0,5,0,0,120,13,0,2,132,13,0,0,134,13,0,0,136,13,128,32,0,5,0,0,138,13,128,32,0,5,128,46,0,5,0,0,140,13,128,32,0,5,0,0,142,13,128,32,0,5,0,0,144,13,0,0,146,13,0,2,148,13,0,9,148,13,0,0,150,13,2,0,192,13,128,32,0,5,0,0,194,13,2,0,242,13,0,2,2,14,0,0,0,15,0,0,6,16,0,0,8,16,2,0,198,16,0,2,200,16,7,44,200,16,0,0,202,16,2,0,144,17,0,2,146,17,7,12,148,17,0,0,150,17,2,0,170,17,0,2,172,17,7,177,172,17,0,0,174,17,2,0,116,18,0,2,118,18,7,245,119,18,0,0,121,18,2,0,137,18,0,0,0,19,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,0,0,0,21,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,23,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,25,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,128,32,0,112,0,0,0,27,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,29,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,31,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,33,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,35,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,37,128,16,0,5,128,22,0,5,128,28,0,5,128,34,0,5,128,40,0,5,128,46,0,5,128,52,0,5,128,5,0,112,0,2,2,39,0,2,2,41,0,0,0,42,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,128,5,0,112,128,32,0,112,128,46,0,112,0,0,6,43,0,0,8,43,128,32,0,5,0,0,10,43,0,0,12,43,128,32,0,5,0,0,14,43,0,0,16,43,128,32,0,5,0,0,18,43,0,0,20,43,128,32,0,5,128,46,0,5,0,0,22,43,128,16,0,5,128,30,0,5,128,44,0,5,0,0,24,43,2,0,28,43,128,32,0,5,128,46,0,5,0,0,30,43,0,0,0,44,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,45,0,0,8,45,128,32,0,5,0,0,10,45,2,0,16,45,128,32,0,5,0,0,18,45,0,0,20,45,128,32,0,5,0,0,22,45,128,32,0,5,0,0,24,45,128,32,0,5,128,46,0,5,0,0,0,46,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,47,0,0,8,47,128,32,0,5,0,0,10,47,128,32,0,5,0,0,12,47,128,32,0,5,0,0,14,47,128,32,0,5,0,0,16,47,128,32,0,5,128,46,0,5,0,0,18,47,128,32,0,5,0,0,20,47,128,32,0,5,0,0,0,48,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,5,0,112,128,32,0,112,128,46,0,112,128,5,0,120,128,32,0,120,0,0,6,49,0,0,8,49,0,0,10,49,128,32,0,5,0,0,12,49,2,0,16,49,128,32,0,5,0,0,18,49,128,32,0,5,0,0,20,49,0,0,22,49,128,32,0,5,0,0,24,49,2,0,28,49,0,0,0,50,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,51,0,0,8,51,2,0,12,51,128,32,0,5,0,0,14,51,0,0,16,51,2,0,20,51,128,32,0,5,128,46,0,5,0,0,22,51,0,0,24,51,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,26,51,0,0,28,51,128,16,0,5,128,30,0,5,128,44,0,5,0,0,30,51,0,0,32,51,2,0,36,51,128,32,0,5,128,46,0,5,0,0,38,51,0,0,40,51,128,32,0,5,0,0,42,51,2,0,48,51,0,0,0,52,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,5,0,112,128,32,0,112,0,0,6,53,0,0,8,53,0,0,10,53,128,32,0,5,0,0,12,53,2,0,16,53,128,32,0,5,0,0,18,53,128,32,0,5,0,0,20,53,0,0,0,54,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,5,0,112,128,32,0,112,0,0,6,55,128,32,0,5,128,46,0,5,0,0,8,55,0,0,10,55,128,32,0,5,0,0,12,55,128,32,0,5,0,0,14,55,0,0,16,55,128,32,0,5,0,0,18,55,2,0,22,55,128,32,0,5,0,0,24,55,128,32,0,5,128,46,0,5,0,0,26,55,128,32,0,5,0,0,0,56,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,57,0,0,8,57,128,32,0,5,0,0,10,57,0,0,12,57,128,32,0,5,128,46,0,5,0,0,14,57,128,32,0,5,0,0,16,57,128,32,0,5,0,0,18,57,128,32,0,5,0,0,20,57,128,32,0,5,128,46,0,5,0,0,22,57,2,0,26,57,0,0,0,58,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,59,128,32,0,5,0,0,8,59,128,32,0,5,128,46,0,5,0,0,10,59,2,0,14,59,128,32,0,5,0,0,16,59,128,32,0,5,128,46,0,5,0,0,18,59,128,32,0,5,0,0,20,59,0,0,22,59,128,32,0,5,0,0,24,59,128,32,0,5,128,46,0,5,0,0,26,59,0,0,0,60,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,61,128,32,0,5,0,0,8,61,0,0,10,61,128,32,0,5,0,0,12,61,128,32,0,5,128,46,0,5,0,0,14,61,128,32,0,5,0,0,16,61,0,0,0,62,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,63,0,0,8,63,0,0,10,63,128,32,0,5,0,0,12,63,128,32,0,5,0,0,14,63,128,32,0,5,0,0,16,63,128,32,0,5,0,0,18,63,128,32,0,5,0,0,20,63,128,32,0,5,0,0,0,64,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,65,128,32,0,5,128,46,0,5,0,0,8,65,128,32,0,5,0,0,10,65,0,0,12,65,128,32,0,5,0,0,14,65,128,32,0,5,0,0,16,65,128,32,0,5,0,0,18,65,128,32,0,5,128,46,0,5,0,0,20,65,128,32,0,5,0,0,22,65,0,0,24,65,128,32,0,5,0,0,26,65,128,32,0,5,0,0,28,65,128,32,0,5,0,0,30,65,128,32,0,5,0,0,32,65,2,0,40,65,128,32,0,5,0,0,42,65,0,0,44,65,0,0,0,66,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,67,128,32,0,5,0,0,8,67,2,0,12,67,128,32,0,5,128,46,0,5,0,0,14,67,0,0,16,67,2,0,20,67,0,0,0,68,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,69,128,32,0,5,128,46,0,5,0,0,8,69,2,0,14,69,128,32,0,5,128,46,0,5,0,0,16,69,128,32,0,5,0,0,18,69,128,32,0,5,0,0,20,69,0,0,22,69,128,32,0,5,0,0,24,69,2,0,30,69,128,16,0,5,128,30,0,5,128,44,0,5,0,0,32,69,0,0,0,70,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,128,5,0,112,128,32,0,112,128,46,0,112,0,0,6,71,0,0,8,71,2,0,30,71,128,32,0,5,128,46,0,5,0,0,32,71,2,0,42,71,128,32,0,5,0,0,44,71,128,32,0,5,0,0,46,71,128,32,0,5,0,0,48,71,0,0,50,71,128,32,0,5,128,46,0,5,0,0,52,71,128,32,0,5,0,0,54,71,0,0,56,71,128,32,0,5,0,0,58,71,128,32,0,5,128,46,0,5,0,0,60,71,0,0,0,72,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,73,0,0,8,73,128,32,0,5,0,0,10,73,128,32,0,5,0,0,12,73,2,0,16,73,128,32,0,5,0,0,18,73,128,32,0,5,0,0,20,73,128,32,0,5,0,0,22,73,0,0,24,73,128,32,0,5,0,0,26,73,0,0,0,74,128,16,0,5,128,20,0,5,128,24,0,5,128,28,0,5,128,32,0,5,128,36,0,5,128,40,0,5,128,44,0,5,128,48,0,5,128,52,0,5,128,56,0,5,0,0,6,75,0,0,8,75,128,32,0,5,0,0,10,75,128,32,0,5,0,0,12,75,0,0,14,75,128,32,0,5,0,0,16,75,0,0,0,76,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,128,5,0,112,128,32,0,112,0,0,6,77,0,0,8,77,128,32,0,5,128,46,0,5,0,0,10,77,0,0,12,77,128,32,0,5,128,46,0,5,0,0,14,77,0,0,16,77,128,32,0,5,0,0,18,77,0,0,20,77,128,32,0,5,0,0,22,77,2,0,28,77,128,32,0,5,0,0,30,77,0,0,32,77,0,0,34,77,128,32,0,5,0,0,36,77,2,0,54,77,128,32,0,5,0,0,56,77,2,0,62,77,128,32,0,5,0,0,0,78,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,128,5,0,112,128,32,0,112,128,5,0,120,128,32,0,120,0,0,6,79,0,0,8,79,128,32,0,5,0,0,10,79,2,0,14,79,128,16,0,5,128,30,0,5,128,44,0,5,0,0,16,79,128,32,0,5,0,0,18,79,2,0,22,79,128,16,0,5,128,30,0,5,128,44,0,5,0,0,24,79,2,0,34,79,0,0,0,80,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,128,5,0,112,128,5,0,120,128,32,0,120,0,0,6,81,0,0,8,81,128,32,0,5,0,0,10,81,128,32,0,5,0,0,12,81,0,0,14,81,128,32,0,5,0,0,16,81,128,32,0,5,0,0,18,81,128,32,0,5,0,0,20,81,2,0,24,81,128,32,0,5,0,0,0,82,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,83,128,32,0,5,0,0,8,83,0,0,10,83,128,32,0,5,0,0,12,83,2,0,20,83,128,32,0,5,128,46,0,5,0,0,22,83,0,0,24,83,128,32,0,5,0,0,26,83,2,0,30,83,128,32,0,5,0,0,32,83,128,32,0,5,0,0,34,83,128,32,0,5,128,46,0,5,0,0,36,83,2,0,40,83,128,32,0,5,128,46,0,5,0,0,42,83,2,0,46,83,128,32,0,5,0,0,48,83,128,32,0,5,128,46,0,5,0,0,50,83,0,0,0,84,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,85,0,0,8,85,128,32,0,5,0,0,10,85,0,0,12,85,128,32,0,5,128,46,0,5,0,0,14,85,0,0,16,85,0,0,18,85,128,32,0,5,0,0,20,85,128,32,0,5,128,46,0,5,0,0,0,86,128,16,0,5,128,20,0,5,128,24,0,5,128,28,0,5,128,32,0,5,128,36,0,5,128,40,0,5,128,44,0,5,128,48,0,5,128,52,0,5,128,56,0,5,0,0,6,87,0,0,8,87,128,32,0,5,0,0,10,87,128,32,0,5,0,0,12,87,128,32,0,5,128,46,0,5,0,0,0,88,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,89,0,0,8,89,2,0,16,89,128,32,0,5,0,0,18,89,0,0,20,89,0,0,0,90,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,91,0,0,8,91,128,32,0,5,0,0,10,91,128,32,0,5,0,0,12,91,128,32,0,5,0,0,14,91,0,0,16,91,128,32,0,5,0,0,0,92,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,93,0,0,8,93,128,32,0,5,0,0,10,93,0,0,12,93,128,32,0,5,0,0,14,93,128,32,0,5,0,0,16,93,128,32,0,5,128,46,0,5,0,0,18,93,128,32,0,5,128,46,0,5,0,0,20,93,128,32,0,5,0,0,22,93,128,32,0,5,0,0,24,93,128,32,0,5,0,0,26,93,128,16,0,5,128,30,0,5,128,44,0,5,0,0,28,93,0,0,30,93,128,32,0,5,0,0,32,93,2,0,38,93,128,32,0,5,0,0,40,93,128,32,0,5,0,0,42,93,128,32,0,5,0,0,44,93,128,32,0,5,0,0,46,93,128,32,0,5,0,0,48,93,2,0,54,93,128,32,0,5,0,0,56,93,128,32,0,5,0,0,58,93,128,16,0,5,128,30,0,5,128,44,0,5,0,0,60,93,2,0,64,93,128,32,0,5,0,0,66,93,128,32,0,5,0,0,68,93,128,32,0,5,0,0,70,93,128,32,0,5,0,0,72,93,128,32,0,5,0,0,74,93,128,32,0,5,0,0,76,93,0,0,78,93,128,32,0,5,0,0,80,93,0,0,82,93,128,32,0,5,0,0,84,93,0,0,86,93,128,32,0,5,0,0,88,93,128,32,0,5,0,0,90,93,128,32,0,5,0,0,92,93,0,0,94,93,128,32,0,5,0,0,96,93,2,0,102,93,128,32,0,5,0,0,104,93,128,32,0,5,0,0,106,93,2,0,126,93,0,2,2,94,0,2,4,96,0,0,6,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,8,96,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,10,96,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,12,96,0,0,14,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,16,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,18,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,20,96,128,32,0,5,0,0,22,96,128,32,0,5,0,0,24,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,26,96,128,32,0,5,0,0,28,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,30,96,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,32,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,34,96,128,32,0,5,0,0,36,96,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,38,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,40,96,0,0,42,96,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,44,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,46,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,48,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,50,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,52,96,0,0,54,96,128,32,0,5,0,0,56,96,128,32,0,5,0,0,58,96,128,32,0,5,0,0,60,96,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,62,96,0,0,64,96,0,0,66,96,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,68,96,128,32,0,5,0,0,70,96,128,32,0,5,0,0,72,96,128,32,0,5,0,0,74,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,76,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,78,96,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,80,96,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,82,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,84,96,0,0,86,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,88,96,0,0,90,96,128,32,0,5,0,0,92,96,128,32,0,5,0,0,94,96,128,32,0,5,0,2,96,96,0,0,98,96,128,32,0,5,128,46,0,5,0,0,100,96,128,32,0,5,0,0,102,96,128,32,0,5,0,0,104,96,128,32,0,5,0,0,106,96,128,32,0,5,0,0,108,96,128,32,0,5,0,0,110,96,128,32,0,5,0,0,112,96,128,32,0,5,0,0,114,96,128,32,0,5,0,0,116,96,128,32,0,5,0,0,118,96,128,32,0,5,128,46,0,5,0,0,120,96,128,32,0,5,128,46,0,5,0,0,122,96,128,32,0,5,0,0,124,96,128,32,0,5,0,0,126,96,128,32,0,5,0,0,128,96,128,32,0,5,0,0,130,96,128,32,0,5,0,0,132,96,128,32,0,5,0,0,134,96,128,32,0,5,0,0,136,96,128,32,0,5,0,0,138,96,128,32,0,5,0,0,140,96,128,32,0,5,0,0,142,96,128,32,0,5,0,0,144,96,128,32,0,5,0,0,146,96,128,32,0,5,0,0,148,96,128,32,0,5,0,0,150,96,128,32,0,5,0,0,152,96,128,32,0,5,0,0,154,96,128,32,0,5,0,0,156,96,128,32,0,5,0,0,158,96,128,32,0,5,0,0,160,96,128,32,0,5,0,0,162,96,128,32,0,5,0,0,164,96,128,32,0,5,0,0,166,96,128,32,0,5,0,0,168,96,128,32,0,5,0,0,170,96,128,32,0,5,0,0,172,96,128,32,0,5,0,0,174,96,128,32,0,5,0,0,176,96,128,32,0,5,0,0,178,96,128,32,0,5,0,0,180,96,128,32,0,5,0,0,182,96,128,32,0,5,0,0,184,96,128,32,0,5,0,0,186,96,128,32,0,5,0,0,188,96,128,32,0,5,0,0,190,96,128,32,0,5,0,0,192,96,128,32,0,5,0,0,194,96,128,32,0,5,0,0,196,96,128,32,0,5,0,0,198,96,128,32,0,5,0,0,200,96,128,32,0,5,0,0,202,96,128,32,0,5,0,0,204,96,128,32,0,5,0,0,206,96,128,32,0,5,0,0,208,96,128,32,0,5,0,0,210,96,128,32,0,5,0,0,212,96,128,32,0,5,0,0,214,96,128,32,0,5,0,0,216,96,128,32,0,5,0,2,4,97,0,0,6,97,128,32,0,5,128,46,0,5,0,0,8,97,128,32,0,5,0,0,10,97,128,32,0,5,0,0,12,97,128,32,0,5,128,46,0,5,0,0,14,97,128,32,0,5,128,46,0,5,0,0,16,97,128,32,0,5,128,46,0,5,128,5,0,112,128,32,0,112,0,0,18,97,128,32,0,5,0,0,20,97,128,32,0,5,0,0,22,97,128,32,0,5,0,0,24,97,128,32,0,5,0,0,26,97,128,32,0,5,128,46,0,5,0,0,28,97,128,32,0,5,0,0,30,97,128,32,0,5,0,0,32,97,128,32,0,5,0,0,34,97,128,32,0,5,0,0,36,97,128,32,0,5,0,0,38,97,128,32,0,5,0,0,40,97,128,32,0,5,128,46,0,5,0,0,42,97,128,32,0,5,128,46,0,5,0,0,44,97,128,32,0,5,128,46,0,5,0,2,46,97,128,32,0,5,0,9,46,97,128,32,0,5,0,0,48,97,128,32,0,5,0,0,50,97,128,32,0,5,128,46,0,5,0,0,52,97,128,32,0,5,0,0,54,97,128,32,0,5,0,2,56,97,128,32,0,5,0,9,56,97,128,32,0,5,0,0,58,97,128,32,0,5,0,0,60,97,128,32,0,5,0,0,62,97,128,32,0,5,0,0,64,97,128,32,0,5,0,0,66,97,128,32,0,5,0,0,68,97,128,32,0,5,0,0,70,97,128,32,0,5,128,46,0,5,0,0,72,97,128,32,0,5,0,0,74,97,128,32,0,5,128,46,0,5,0,0,76,97,128,32,0,5,0,0,78,97,128,32,0,5,0,0,80,97,128,32,0,5,0,0,82,97,128,32,0,5,128,46,0,5,0,0,84,97,128,32,0,5,128,46,0,5,0,0,86,97,128,32,0,5,0,0,88,97,128,32,0,5,0,0,90,97,128,32,0,5,0,0,92,97,128,32,0,5,0,0,94,97,128,32,0,5,0,2,96,97,128,32,0,5,0,9,96,97,128,32,0,5,0,0,98,97,128,32,0,5,128,46,0,5,0,0,100,97,0,0,102,97,128,32,0,5,0,2,104,97,128,32,0,5,0,9,104,97,128,32,0,5,0,16,104,97,128,32,0,5,0,0,106,97,128,32,0,5,0,0,108,97,128,32,0,5,0,0,110,97,128,32,0,5,0,0,112,97,128,32,0,5,0,0,114,97,128,32,0,5,128,46,0,5,0,0,116,97,128,32,0,5,0,0,118,97,128,32,0,5,0,0,120,97,128,16,0,5,128,30,0,5,128,44,0,5,0,0,122,97,128,32,0,5,0,0,124,97,128,32,0,5,0,0,126,97,128,32,0,5,0,0,128,97,128,32,0,5,0,0,130,97,128,32,0,5,0,0,132,97,128,32,0,5,0,0,134,97,128,32,0,5,0,0,136,97,128,32,0,5,0,0,138,97,128,16,0,5,128,30,0,5,128,44,0,5,0,0,140,97,128,32,0,5,0,0,142,97,128,32,0,5,128,46,0,5,0,0,144,97,128,32,0,5,0,0,146,97,128,32,0,5,0,0,148,97,128,32,0,5,0,0,150,97,128,32,0,5,128,46,0,5,0,0,152,97,128,32,0,5,0,0,154,97,128,32,0,5,0,0,156,97,128,32,0,5,128,46,0,5,0,0,158,97,128,32,0,5,0,0,160,97,128,32,0,5,0,0,162,97,128,32,0,5,128,46,0,5,0,2,164,97,128,32,0,5,0,9,164,97,128,32,0,5,0,0,166,97,128,32,0,5,0,0,168,97,128,32,0,5,0,0,170,97,128,32,0,5,0,0,172,97,128,32,0,5,128,46,0,5,0,0,174,97,128,32,0,5,0,0,176,97,128,32,0,5,0,2,178,97,128,32,0,5,128,46,0,5,0,9,178,97,128,32,0,5,0,0,180,97,128,32,0,5,128,46,0,5,0,0,182,97,128,32,0,5,128,46,0,5,0,2,184,97,128,32,0,5,0,9,184,97,128,32,0,5,0,0,186,97,128,32,0,5,0,0,188,97,128,32,0,5,0,2,190,97,128,32,0,5,0,9,190,97,128,32,0,5,0,16,190,97,128,32,0,5,128,46,0,5,0,23,190,97,128,32,0,5,0,30,190,97,128,32,0,5,0,37,190,97,128,32,0,5,0,44,190,97,128,32,0,5,0,0,192,97,128,32,0,5,128,46,0,5,0,2,194,97,128,32,0,5,0,9,194,97,128,32,0,5,0,0,196,97,128,32,0,5,0,0,198,97,128,32,0,5,0,0,200,97,128,32,0,5,128,46,0,5,0,2,202,97,128,32,0,5,0,9,202,97,128,32,0,5,0,0,204,97,128,32,0,5,0,0,206,97,128,32,0,5,0,0,208,97,128,32,0,5,0,0,210,97,128,32,0,5,0,0,212,97,128,32,0,5,0,0,214,97,128,32,0,5,0,0,216,97,128,32,0,5,0,0,218,97,128,32,0,5,128,46,0,5,0,0,220,97,128,32,0,5,0,0,222,97,128,32,0,5,128,46,0,5,0,2,224,97,128,32,0,5,0,9,224,97,0,16,224,97,0,0,226,97,128,16,0,5,128,30,0,5,128,44,0,5,0,0,228,97,128,32,0,5,0,0,230,97,128,32,0,5,128,46,0,5,0,0,232,97,128,16,0,5,128,30,0,5,128,44,0,5,0,0,234,97,128,32,0,5,0,2,236,97,128,32,0,5,128,46,0,5,0,9,236,97,128,32,0,5,0,0,238,97,128,32,0,5,0,0,240,97,128,32,0,5,128,46,0,5,0,2,242,97,128,32,0,5,0,9,242,97,128,32,0,5,128,46,0,5,0,0,244,97,128,32,0,5,0,2,246,97,128,32,0,5,0,9,246,97,128,32,0,5,128,46,0,5,0,16,246,97,128,32,0,5,128,46,0,5,0,23,246,97,128,32,0,5,0,30,246,97,128,32,0,5,128,46,0,5,0,37,246,97,128,32,0,5,0,44,246,97,128,32,0,5,0,51,246,97,128,32,0,5,0,58,246,97,128,32,0,5,128,46,0,5,0,65,246,97,128,32,0,5,0,72,246,97,128,32,0,5,0,79,246,97,128,32,0,5,128,46,0,5,0,86,246,97,128,32,0,5,0,93,246,97,128,32,0,5,0,0,248,97,128,32,0,5,0,0,250,97,128,32,0,5,0,0,252,97,128,32,0,5,0,2,4,98,0,0,6,98,128,32,0,5,128,46,0,5,0,0,8,98,128,32,0,5,128,46,0,5,0,0,10,98,128,32,0,5,128,46,0,5,0,0,12,98,128,32,0,5,128,46,0,5,0,0,14,98,128,32,0,5,128,46,0,5,0,0,16,98,128,32,0,5,128,46,0,5,0,0,18,98,128,32,0,5,128,46,0,5,0,0,20,98,128,32,0,5,0,0,22,98,128,32,0,5,128,46,0,5,0,0,24,98,128,32,0,5,128,46,0,5,0,0,26,98,128,32,0,5,128,46,0,5,0,0,28,98,128,32,0,5,128,46,0,5,0,0,30,98,128,32,0,5,128,46,0,5,0,0,32,98,128,32,0,5,128,46,0,5,0,0,34,98,128,32,0,5,128,46,0,5,0,0,36,98,128,32,0,5,128,46,0,5,0,0,38,98,128,32,0,5,128,46,0,5,0,0,40,98,128,32,0,5,128,46,0,5,0,0,42,98,128,32,0,5,128,46,0,5,0,0,44,98,128,32,0,5,128,46,0,5,0,0,46,98,128,32,0,5,128,46,0,5,0,0,48,98,128,32,0,5,128,46,0,5,0,0,50,98,128,32,0,5,128,46,0,5,0,0,52,98,128,32,0,5,128,46,0,5,0,0,54,98,128,32,0,5,128,46,0,5,0,0,56,98,128,32,0,5,0,0,58,98,128,32,0,5,0,0,60,98,128,32,0,5,128,46,0,5,0,0,62,98,128,32,0,5,128,46,0,5,0,0,64,98,128,32,0,5,128,46,0,5,0,0,66,98,128,32,0,5,128,46,0,5,0,0,68,98,128,32,0,5,128,46,0,5,0,0,70,98,128,32,0,5,128,46,0,5,0,0,72,98,128,32,0,5,128,46,0,5,0,0,74,98,128,32,0,5,0,0,76,98,128,32,0,5,128,46,0,5,0,0,78,98,128,32,0,5,128,46,0,5,0,0,80,98,128,32,0,5,0,0,82,98,128,32,0,5,128,46,0,5,0,0,84,98,128,32,0,5,128,46,0,5,0,0,86,98,128,32,0,5,128,46,0,5,0,0,88,98,128,32,0,5,128,46,0,5,0,0,90,98,128,32,0,5,128,46,0,5,0,0,92,98,128,32,0,5,0,0,94,98,128,32,0,5,0,0,96,98,128,32,0,5,0,0,98,98,128,32,0,5,0,2,100,98,0,0,102,98,128,32,0,5,0,2,104,98,0,9,104,98,0,0,106,98,128,32,0,5,0,2,108,98,7,16,108,98,0,0,110,98,128,32,0,5,0,2,112,98,7,30,112,98,0,0,114,98,128,32,0,5,0,2,116,98,7,16,116,98,0,0,118,98,128,32,0,5,0,2,120,98,7,135,120,98,0,2,4,99,0,0,6,99,128,32,0,5,0,0,8,99,128,32,0,5,0,0,10,99,128,32,0,5,0,0,12,99,128,32,0,5,0,0,14,99,128,32,0,5,0,0,16,99,128,32,0,5,0,0,18,99,128,32,0,5,0,0,20,99,128,32,0,5,0,0,22,99,128,32,0,5,0,0,24,99,128,32,0,5,0,0,26,99,128,32,0,5,0,0,28,99,128,32,0,5,0,0,30,99,128,32,0,5,0,0,32,99,128,32,0,5,0,0,34,99,128,32,0,5,0,0,36,99,128,32,0,5,0,0,38,99,128,32,0,5,0,0,40,99,128,32,0,5,0,0,42,99,128,32,0,5,0,0,44,99,128,32,0,5,0,0,46,99,128,32,0,5,0,0,48,99,128,32,0,5,0,0,50,99,128,32,0,5,0,0,52,99,128,32,0,5,0,0,54,99,128,32,0,5,0,0,56,99,128,32,0,5,0,0,58,99,128,32,0,5,128,46,0,5,0,0,60,99,128,32,0,5,0,0,62,99,128,32,0,5,0,0,64,99,128,32,0,5,0,0,66,99,128,32,0,5,0,0,68,99,128,32,0,5,0,0,70,99,128,32,0,5,0,0,72,99,128,32,0,5,0,0,74,99,128,32,0,5,0,0,76,99,128,32,0,5,0,0,78,99,128,32,0,5,0,0,80,99,128,32,0,5,0,0,82,99,128,32,0,5,0,0,84,99,128,32,0,5,0,0,86,99,128,32,0,5,0,0,88,99,128,32,0,5,0,0,90,99,128,32,0,5,0,0,92,99,128,32,0,5,0,0,94,99,128,32,0,5,0,0,96,99,128,32,0,5,0,0,98,99,128,32,0,5,0,0,100,99,128,32,0,5,0,0,102,99,128,32,0,5,0,0,104,99,128,32,0,5,0,0,106,99,128,32,0,5,0,0,108,99,128,32,0,5,0,0,110,99,128,32,0,5,0,0,112,99,128,32,0,5,0,0,114,99,128,32,0,5,0,0,116,99,128,32,0,5,0,0,118,99,128,32,0,5,0,0,120,99,128,32,0,5,0,0,122,99,128,32,0,5,0,0,124,99,128,32,0,5,0,0,126,99,128,32,0,5,0,0,128,99,128,32,0,5,0,0,130,99,128,32,0,5,0,0,132,99,128,32,0,5,0,0,134,99,128,32,0,5,0,0,136,99,128,32,0,5,0,0,138,99,128,32,0,5,0,0,140,99,128,32,0,5,0,0,142,99,128,32,0,5,0,0,144,99,128,32,0,5,0,0,146,99,128,32,0,5,0,0,148,99,128,32,0,5,0,0,150,99,128,32,0,5,0,0,152,99,128,32,0,5,0,0,154,99,128,32,0,5,0,0,156,99,128,32,0,5,0,0,158,99,128,32,0,5,0,0,160,99,128,32,0,5,0,0,162,99,128,32,0,5,0,0,164,99,128,32,0,5,0,0,166,99,128,32,0,5,0,0,168,99,128,32,0,5,0,0,170,99,128,32,0,5,0,0,172,99,128,32,0,5,0,0,174,99,128,32,0,5,0,0,176,99,128,32,0,5,0,2,4,100,0,0,6,100,128,32,0,5,0,0,8,100,0,0,10,100,128,32,0,5,0,0,12,100,128,32,0,5,0,0,14,100,128,32,0,5,0,0,16,100,128,32,0,5,128,46,0,5,0,0,18,100,128,32,0,5,0,0,20,100,128,32,0,5,0,0,22,100,128,32,0,5,0,0,24,100,128,32,0,5,0,0,26,100,128,32,0,5,0,0,28,100,128,32,0,5,128,46,0,5,0,0,30,100,128,32,0,5,0,0,32,100,128,32,0,5,128,46,0,5,0,0,34,100,128,32,0,5,0,0,36,100,128,32,0,5,0,0,38,100,128,32,0,5,0,0,40,100,128,32,0,5,0,0,42,100,128,32,0,5,0,0,44,100,128,32,0,5,0,0,46,100,128,32,0,5,128,46,0,5,0,0,48,100,128,32,0,5,0,0,50,100,0,0,52,100,128,32,0,5,128,46,0,5,0,0,54,100,128,32,0,5,0,0,56,100,128,32,0,5,0,0,58,100,128,32,0,5,0,0,60,100,128,32,0,5,0,0,62,100,128,32,0,5,0,0,64,100,128,32,0,5,0,0,66,100,128,32,0,5,0,0,68,100,128,32,0,5,128,46,0,5,0,0,70,100,128,32,0,5,0,0,72,100,128,32,0,5,0,0,74,100,128,32,0,5,0,0,76,100,128,32,0,5,128,46,0,5,0,0,78,100,128,32,0,5,0,0,80,100,128,32,0,5,0,0,82,100,128,32,0,5,0,0,84,100,128,32,0,5,0,0,86,100,0,2,4,101,0,0,6,101,128,32,0,5,128,46,0,5,0,0,8,101,128,32,0,5,0,0,10,101,128,32,0,5,0,0,12,101,128,32,0,5,128,46,0,5,0,0,14,101,128,32,0,5,128,46,0,5,0,0,16,101,128,32,0,5,0,0,18,101,2,0,24,101,128,32,0,5,0,0,26,101,128,32,0,5,128,46,0,5,0,0,28,101,128,32,0,5,128,46,0,5,0,0,30,101,128,32,0,5,128,46,0,5,0,0,32,101,128,32,0,5,0,0,34,101,0,0,36,101,128,32,0,5,0,0,38,101,128,32,0,5,0,0,40,101,128,32,0,5,0,0,42,101,0,0,44,101,128,32,0,5,0,0,46,101,0,0,48,101,128,32,0,5,0,2,50,101,7,156,50,101,0,2,51,101,7,184,51,101,0,2,4,102,0,0,6,102,128,32,0,5,128,46,0,5,128,5,0,112,0,0,8,102,128,32,0,5,128,46,0,5,0,0,10,102,128,32,0,5,128,46,0,5,0,0,12,102,0,0,14,102,128,32,0,5,128,46,0,5,0,0,16,102,128,32,0,5,128,46,0,5,0,0,18,102,128,32,0,5,128,46,0,5,0,2,20,102,7,16,20,102,0,0,22,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,24,102,7,16,24,102,0,0,26,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,28,102,128,32,0,5,0,0,30,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,32,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,34,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,36,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,38,102,7,79,38,102,0,0,40,102,128,32,0,5,128,46,0,5,0,0,42,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,44,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,46,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,48,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,50,102,2,0,54,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,56,102,7,16,56,102,0,0,58,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,60,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,62,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,64,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,66,102,0,0,68,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,70,102,7,23,70,102,0,0,72,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,74,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,76,102,2,0,80,102,0,2,82,102,7,37,82,102,0,0,84,102,128,16,0,5,128,30,0,5,128,44,0,5,0,0,86,102,128,16,0,5,128,30,0,5,128,44,0,5,0,0,88,102,128,32,0,5,128,46,0,5,0,0,90,102,2,0,96,102,128,32,0,5,128,46,0,5,0,0,98,102,128,32,0,5,128,46,0,5,0,0,100,102,0,0,102,102,128,32,0,5,128,46,0,5,0,0,104,102,0,0,106,102,0,2,108,102,7,16,108,102,0,0,110,102,128,16,0,5,128,30,0,5,128,44,0,5,0,0,112,102,128,16,0,5,128,30,0,5,128,44,0,5,0,0,114,102,128,32,0,5,128,46,0,5,0,0,116,102,2,0,128,102,128,32,0,5,128,46,0,5,0,0,130,102,0,2,132,102,7,51,132,102,0,0,134,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,136,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,138,102,2,0,142,102,0,2,144,102,7,37,144,102,0,0,146,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,148,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,150,102,2,0,158,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,160,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,162,102,2,0,166,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,168,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,170,102,0,2,172,102,7,37,172,102,0,0,174,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,2,176,102,128,32,0,5,0,9,176,102,7,30,176,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,37,176,102,7,51,176,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,58,176,102,7,72,176,102,128,32,0,5,0,0,178,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,2,180,102,7,30,180,102,0,0,182,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,184,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,186,102,0,0,188,102,0,2,190,102,7,16,190,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,23,190,102,0,30,190,102,0,0,192,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,194,102,7,16,194,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,23,194,102,0,30,194,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,37,194,102,7,79,194,102,0,0,196,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,2,198,102,7,44,198,102,0,0,200,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,128,5,0,112,0,2,202,102,7,16,202,102,0,0,204,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,206,102,128,16,0,5,128,30,0,5,128,44,0,5,0,2,208,102,0,9,208,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,210,102,0,2,212,102,7,30,212,102,0,0,214,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,216,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,218,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,220,102,7,16,220,102,128,32,0,5,128,46,0,5,0,0,222,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,224,102,0,2,226,102,128,32,0,5,128,46,0,5,0,9,226,102,128,32,0,5,128,46,0,5,0,0,228,102,128,16,0,5,128,30,0,5,128,44,0,5,0,0,230,102,128,32,0,5,128,46,0,5,0,0,232,102,128,32,0,5,128,46,0,5,0,2,234,102,0,9,234,102,128,32,0,5,128,46,0,5,0,16,234,102,7,44,234,102,0,0,236,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,238,102,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,240,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,242,102,2,0,246,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,248,102,7,58,248,102,0,0,250,102,128,32,0,5,128,46,0,5,0,2,252,102,0,9,252,102,0,2,4,103,0,9,4,103,0,0,6,103,128,5,0,112,0,0,8,103,128,5,0,112,128,5,0,120,0,0,10,103,0,0,12,103,128,5,0,112,0,2,14,103,7,30,14,103,0,0,16,103,128,5,0,112,0,2,18,103,7,44,18,103,0,0,20,103,128,32,0,5,0,0,22,103,0,0,24,103,128,5,0,112,0,2,26,103,7,114,26,103,0,2,27,103,7,177,27,103,0,2,28,103,0,0,30,103,0,0,32,103,2,0,128,103,0,2,130,103,7,86,130,103,0,0,132,103,128,5,0,112,0,0,134,103,128,5,0,112,0,0,136,103,0,0,138,103,128,5,0,112,0,2,140,103,7,107,140,103,0,2,141,103,7,147,142,103,0,2,143,103,7,125,155,103,0,2,4,104,0,0,6,104,0,0,8,104,2,0,148,104,128,32,0,5,0,0,150,104,2,0,154,104,128,32,0,5,0,0,156,104,2,0,208,104,0,2,4,105,0,0,6,105,0,0,8,105,2,0,66,105,128,32,0,5,0,0,68,105,2,0,132,105,128,32,0,5,0,0,134,105,0,0,136,105,0,2,4,106,0,0,6,106,0,0,8,106,2,0,118,106,0,2,4,107,0,0,6,107,0,0,8,107,2,0,142,107,0,2,4,108,0,0,6,108,0,0,8,108,2,0,138,108,0,2,4,109,0,0,6,109,0,0,8,109,2,0,104,109,0,2,4,110,0,0,6,110,0,0,8,110,2,0,152,110,0,2,4,111,0,0,6,111,0,0,8,111,2,0,152,111,0,2,4,112,0,0,6,112,0,0,8,112,2,0,40,112,128,32,0,5,0,0,42,112,2,0,68,112,128,32,0,5,0,0,70,112,2,0,78,112,128,32,0,5,0,0,80,112,2,0,90,112,128,32,0,5,0,0,92,112,128,32,0,5,0,0,94,112,128,32,0,5,0,0,96,112,128,32,0,5,0,0,98,112,2,0,108,112,128,32,0,5,0,0,110,112,128,32,0,5,0,0,112,112,2,0,152,112,128,32,0,5,0,2,4,113,0,0,6,113,0,0,8,113,2,0,158,113,0,2,160,113,7,189,161,113,0,2,162,113,7,28,163,113,0,2,164,113,7,217,165,113,0,2,166,113,7,112,167,113,0,2,168,113,7,254,168,113,0,2,170,113,7,231,171,113,0,2,172,113,7,112,173,113,0,2,174,113,7,147,175,113,0,2,176,113,7,7,177,113,0,2,178,113,7,224,179,113,0,2,180,113,7,12,182,113,0,2,183,113,7,217,184,113,0,2,185,113,7,16,185,113,0,0,187,113,128,5,0,112,128,5,0,120,0,0,189,113,128,5,0,112,0,0,191,113,128,5,0,112,0,2,193,113,7,56,194,113,0,0,196,113,128,5,0,112,0,0,198,113,128,5,0,112,0,2,200,113,7,44,200,113,0,2,201,113,7,189,202,113,0,2,203,113,7,126,204,113,0,2,205,113,7,140,206,113,0,2,207,113,7,182,208,113,0,2,209,113,7,140,210,113,0,2,211,113,7,30,211,113,0,0,213,113,128,5,0,112,0,2,215,113,0,9,215,113,0,0,217,113,128,5,0,112,0,2,219,113,7,79,219,113,0,0,221,113,128,5,0,112,0,2,223,113,7,121,223,113,0,2,224,113,7,254,224,113,0,0,226,113,128,32,0,5,128,46,0,5,0,2,228,113,7,149,228,113,0,2,229,113,7,105,230,113,0,2,231,113,0,0,233,113,128,32,0,5,0,2,235,113,7,37,235,113,0,0,237,113,128,32,0,5,0,2,239,113,7,107,239,113,0,0,241,113,128,32,0,5,0,2,243,113,7,156,243,113,0,2,244,113,7,231,245,113,0,2,246,113,7,56,247,113,0,2,248,113,7,168,249,113,0,2,4,114,0,0,6,114,0,0,8,114,2,0,132,114,0,2,4,115,0,0,6,115,0,0,8,115,2,0,54,115,128,32,0,5,0,0,56,115,2,0,70,115,128,32,0,5,0,0,72,115,2,0,84,115,128,32,0,5,0,0,86,115,2,0,130,115,0,2,132,115,7,217,133,115,0,2,4,116,0,0,6,116,0,0,8,116,2,0,102,116,128,5,0,112,0,0,104,116,2,0,118,116,128,5,0,112,0,0,120,116,128,5,0,112,0,0,122,116,128,5,0,112,0,0,124,116,2,0,146,116,128,32,0,5,0,0,148,116,2,0,192,116,128,32,0,5,0,0,194,116,0,0,196,116,0,2,198,116,7,226,198,116,0,0,200,116,128,32,0,5,0,0,202,116,128,32,0,5,128,46,0,5,0,0,204,116,128,32,0,5,0,0,206,116,128,32,0,5,0,2,208,116,7,114,208,116,0,2,209,116,7,86,209,116,0,0,211,116,128,32,0,5,0,0,213,116,0,0,215,116,128,32,0,5,0,2,217,116,0,9,217,116,0,0,219,116,128,32,0,5,0,2,221,116,7,65,221,116,0,0,223,116,128,32,0,5,0,2,225,116,7,16,225,116,0,0,227,116,128,32,0,5,0,0,229,116,128,32,0,5,0,2,231,116,7,16,231,116,0,0,233,116,128,32,0,5,0,2,235,116,7,30,235,116,0,0,237,116,128,32,0,5,0,0,239,116,0,0,241,116,128,32,0,5,128,46,0,5,0,0,243,116,128,32,0,5,128,46,0,5,0,0,245,116,0,0,247,116,128,32,0,5,128,46,0,5,0,0,249,116,0,0,251,116,128,32,0,5,128,46,0,5,0,2,253,116,7,30,253,116,0,2,4,117,7,196,5,117,0,2,6,117,7,154,7,117,0,2,8,117,7,112,9,117,0,2,10,117,7,58,10,117,0,0,12,117,128,32,0,5,0,2,14,117,0,9,14,117,0,0,16,117,128,32,0,5,0,2,18,117,7,177,18,117,0,0,20,117,128,32,0,5,0,0,22,117,128,32,0,5,0,2,24,117,7,65,24,117,0,2,25,117,7,142,25,117,0,2,26,117,7,149,26,117,0,2,27,117,7,142,27,117,0,2,28,117,7,128,28,117,0,2,29,117,7,198,29,117,0,2,30,117,7,163,30,117,0,2,31,117,0,0,33,117,128,32,0,5,0,0,35,117,128,32,0,5,0,0,37,117,128,32,0,5,0,0,39,117,128,32,0,5,0,0,41,117,128,32,0,5,0,0,43,117,128,32,0,5,0,0,45,117,128,32,0,5,0,2,47,117,0,9,47,117,0,0,49,117,128,32,0,5,0,0,51,117,128,32,0,5,0,0,53,117,128,32,0,5,0,0,55,117,128,32,0,5,0,0,57,117,128,32,0,5,0,0,59,117,0,0,61,117,128,32,0,5,0,2,63,117,7,37,63,117,0,0,65,117,128,32,0,5,0,0,67,117,0,0,69,117,128,32,0,5,0,0,71,117,128,32,0,5,0,0,73,117,128,32,0,5,0,2,75,117,7,23,75,117,0,2,76,117,7,254,76,117,0,2,78,117,7,233,78,117,0,2,79,117,7,145,81,117,0,0,83,117,128,32,0,5,0,2,85,117,7,191,85,117,0,0,87,117,128,32,0,5,0,2,89,117,7,184,89,117,0,0,91,117,128,32,0,5,0,2,93,117,7,163,93,117,0,2,94,117,7,254,94,117,0,2,96,117,7,126,97,117,0,2,98,117,0,0,100,117,2,0,238,117,0,2,4,118,7,247,4,118,0,2,5,118,7,198,5,118,0,0,7,118,128,32,0,5,0,2,9,118,7,142,9,118,0,0,11,118,128,32,0,5,0,2,13,118,7,65,13,118,0,0,15,118,128,32,0,5,0,2,17,118,7,51,17,118,0,2,18,118,7,44,18,118,0,0,20,118,128,32,0,5,0,2,22,118,7,135,22,118,0,0,24,118,128,32,0,5,0,2,26,118,7,65,26,118,0,0,28,118,128,32,0,5,0,2,30,118,7,156,30,118,0,0,32,118,128,32,0,5,0,2,34,118,7,86,34,118,0,0,36,118,128,32,0,5,0,2,38,118,7,231,39,118,0,2,40,118,7,238,41,118,0,2,42,118,7,28,43,118,0,0,45,118,128,32,0,5,0,2,47,118,7,44,47,118,0,0,49,118,128,32,0,5,0,2,51,118,7,58,51,118,0,2,52,118,7,164,55,118,0,2,56,118,7,254,56,118,0,2,58,118,0,0,60,118,128,32,0,5,0,0,62,118,128,32,0,5,0,0,64,118,128,32,0,5,0,0,66,118,128,32,0,5,0,0,68,118,128,32,0,5,0,0,70,118,128,32,0,5,0,0,72,118,128,32,0,5,0,0,74,118,128,32,0,5,0,0,76,118,128,32,0,5,0,0,78,118,128,32,0,5,0,0,80,118,128,32,0,5,0,0,82,118,128,32,0,5,0,0,84,118,128,32,0,5,0,0,86,118,128,32,0,5,0,0,88,118,128,32,0,5,0,0,90,118,128,32,0,5,0,0,92,118,128,32,0,5,0,0,94,118,128,32,0,5,0,0,96,118,128,32,0,5,0,0,98,118,128,32,0,5,0,0,100,118,128,32,0,5,0,0,102,118,128,32,0,5,0,0,104,118,128,32,0,5,0,0,106,118,128,32,0,5,0,0,108,118,128,32,0,5,0,0,110,118,128,32,0,5,0,0,112,118,128,32,0,5,0,0,114,118,128,32,0,5,0,0,116,118,128,32,0,5,0,0,118,118,128,32,0,5,0,0,120,118,128,32,0,5,0,0,122,118,128,32,0,5,0,0,124,118,128,32,0,5,0,0,126,118,128,32,0,5,0,0,128,118,128,32,0,5,0,0,130,118,128,32,0,5,0,0,132,118,128,32,0,5,0,0,134,118,128,32,0,5,0,0,136,118,128,32,0,5,0,0,138,118,128,32,0,5,0,0,140,118,128,32,0,5,0,0,142,118,128,32,0,5,0,0,144,118,128,32,0,5,0,0,146,118,128,32,0,5,0,0,148,118,128,32,0,5,0,0,150,118,128,32,0,5,0,0,152,118,128,32,0,5,0,0,154,118,128,32,0,5,0,0,156,118,128,32,0,5,0,0,158,118,128,32,0,5,0,0,160,118,128,32,0,5,0,0,162,118,128,32,0,5,0,0,164,118,128,32,0,5,0,0,166,118,128,32,0,5,0,0,168,118,128,32,0,5,0,0,170,118,128,32,0,5,0,0,172,118,128,32,0,5,0,0,174,118,128,32,0,5,0,0,176,118,128,32,0,5,0,0,178,118,128,32,0,5,0,0,180,118,128,32,0,5,0,0,182,118,128,32,0,5,0,0,184,118,128,32,0,5,0,0,186,118,128,32,0,5,0,0,188,118,128,32,0,5,0,0,190,118,128,32,0,5,0,0,192,118,128,32,0,5,0,0,194,118,128,32,0,5,0,0,196,118,128,32,0,5,0,0,198,118,128,32,0,5,0,0,200,118,128,32,0,5,0,0,202,118,128,32,0,5,0,0,204,118,128,32,0,5,0,0,206,118,128,32,0,5,0,0,208,118,128,32,0,5,0,0,210,118,128,32,0,5,0,0,212,118,128,32,0,5,0,0,214,118,128,32,0,5,0,0,216,118,128,32,0,5,0,0,218,118,128,32,0,5,0,0,220,118,128,32,0,5,0,0,222,118,128,32,0,5,0,0,224,118,128,32,0,5,0,0,226,118,128,32,0,5,0,0,228,118,128,32,0,5,0,0,230,118,128,32,0,5,0,2,232,118,0,9,232,118,128,32,0,5,0,16,232,118,128,32,0,5,0,23,232,118,128,32,0,5,0,30,232,118,128,32,0,5,0,37,232,118,128,32,0,5,0,44,232,118,128,32,0,5,0,51,232,118,128,32,0,5,0,58,232,118,128,32,0,5,0,65,232,118,128,32,0,5,0,72,232,118,128,32,0,5,0,79,232,118,128,32,0,5,0,86,232,118,128,32,0,5,0,93,232,118,128,32,0,5,0,100,232,118,128,32,0,5,0,107,232,118,128,32,0,5,0,114,232,118,128,32,0,5,0,121,232,118,128,32,0,5,0,128,232,118,128,32,0,5,0,135,232,118,128,32,0,5,0,142,232,118,128,32,0,5,0,149,232,118,128,32,0,5,0,156,232,118,128,32,0,5,0,163,232,118,128,32,0,5,0,170,232,118,128,32,0,5,0,177,232,118,128,32,0,5,0,184,232,118,128,32,0,5,0,191,232,118,128,32,0,5,0,198,232,118,128,32,0,5,0,205,232,118,128,32,0,5,0,212,232,118,128,32,0,5,0,219,232,118,128,32,0,5,0,226,232,118,128,32,0,5,0,233,232,118,128,32,0,5,0,240,232,118,128,32,0,5,0,247,232,118,128,32,0,5,0,254,232,118,128,32,0,5,0,2,234,118,7,125,253,118,0,2,254,118,7,184,254,118,0,2,4,119,0,0,6,119,128,5,0,112,0,0,8,119,128,5,0,112,128,5,0,120,0,0,10,119,128,32,0,5,128,5,0,112,0,0,12,119,128,5,0,112,128,5,0,116,128,5,0,120,128,5,0,124,0,2,14,119,7,23,14,119,0,0,16,119,128,5,0,112,128,5,0,116,128,5,0,120,128,5,0,124,0,2,18,119,0,9,18,119,0,0,20,119,128,5,0,112,0,0,22,119,128,5,0,112,128,5,0,117,128,5,0,122,0,0,24,119,128,5,0,112,128,5,0,120,0,0,26,119,128,5,0,112,0,0,28,119,0,0,30,119,128,5,0,112,0,0,32,119,128,32,0,5,128,5,0,112,0,0,34,119,0,0,36,119,128,5,0,112,0,0,38,119,0,0,40,119,128,5,0,112,128,5,0,115,128,5,0,118,128,5,0,121,128,5,0,124,0,0,42,119,0,0,44,119,128,5,0,112,128,5,0,120,0,0,46,119,128,5,0,112,128,5,0,120,0,2,48,119,0,9,48,119,0,0,50,119,128,5,0,112,128,5,0,120,0,0,52,119,128,32,0,5,128,5,0,112,0,0,54,119,128,5,0,112,0,2,56,119,7,100,56,119,0,0,58,119,128,5,0,112,128,5,0,120,0,2,60,119,0,0,62,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,64,119,128,32,0,5,0,0,66,119,128,32,0,5,0,0,68,119,128,32,0,5,0,0,70,119,128,32,0,5,0,0,72,119,128,32,0,5,0,0,74,119,128,32,0,5,0,0,76,119,128,32,0,5,0,0,78,119,128,32,0,5,128,5,0,112,128,32,0,112,128,5,0,120,128,32,0,120,0,0,80,119,128,32,0,5,0,0,82,119,128,32,0,5,0,0,84,119,128,32,0,5,0,0,86,119,128,32,0,5,0,0,88,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,90,119,128,32,0,5,0,0,92,119,128,32,0,5,0,0,94,119,128,32,0,5,0,0,96,119,128,32,0,5,0,0,98,119,128,32,0,5,0,0,100,119,128,32,0,5,0,0,102,119,128,32,0,5,0,0,104,119,128,32,0,5,0,0,106,119,128,32,0,5,0,0,108,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,110,119,128,32,0,5,128,5,0,112,128,32,0,112,128,5,0,120,128,32,0,120,0,0,112,119,128,32,0,5,0,0,114,119,128,32,0,5,0,0,116,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,118,119,128,32,0,5,0,0,120,119,128,32,0,5,0,0,122,119,128,32,0,5,0,0,124,119,128,32,0,5,0,0,126,119,128,32,0,5,0,0,128,119,128,32,0,5,0,0,130,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,132,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,134,119,128,32,0,5,0,0,136,119,128,32,0,5,0,0,138,119,128,32,0,5,0,0,140,119,128,32,0,5,0,0,142,119,128,32,0,5,0,2,144,119,0,0,146,119,128,5,0,112,0,0,148,119,0,0,150,119,128,5,0,112,0,2,152,119,0,9,152,119,0,0,154,119,128,5,0,112,0,0,156,119,128,5,0,112,0,0,158,119,128,5,0,112,0,0,160,119,128,5,0,112,0,0,162,119,128,5,0,112,0,0,164,119,128,5,0,112,0,0,166,119,0,0,168,119,128,5,0,112,0,0,170,119,128,5,0,112,0,0,172,119,128,5,0,112,0,0,174,119,128,5,0,112,0,0,176,119,128,5,0,112,0,0,178,119,128,5,0,112,0,2,180,119,7,23,180,119,0,0,182,119,128,5,0,112,0,0,184,119,128,5,0,112,0,0,186,119,128,5,0,112,0,0,188,119,128,5,0,112,0,0,190,119,0,0,192,119,128,5,0,112,0,2,194,119,7,16,194,119,0,0,196,119,128,5,0,112,0,0,198,119,128,5,0,112,0,0,200,119,128,5,0,112,0,0,202,119,128,5,0,112,0,0,204,119,128,5,0,112,0,2,206,119,7,16,206,119,0,0,208,119,128,5,0,112,0,0,210,119,128,5,0,112,0,0,212,119,128,5,0,112,0,0,214,119,128,5,0,112,0,2,216,119,0,9,216,119,0,2,4,120,7,86,4,120,0,0,6,120,128,32,0,5,0,2,8,120,7,114,8,120,0,0,10,120,128,32,0,5,0,2,12,120,7,135,12,120,0,0,14,120,128,32,0,5,0,2,16,120,7,128,16,120,0,0,18,120,128,32,0,5,0,2,20,120,7,65,20,120,0,0,22,120,128,32,0,5,0,2,24,120,7,30,24,120,0,0,26,120,128,32,0,5,0,0,28,120,0,0,30,120,128,32,0,5,0,2,32,120,7,30,32,120,0,0,34,120,128,32,0,5,0,2,36,120,7,58,36,120,0,0,38,120,128,32,0,5,0,2,40,120,7,16,40,120,0,0,42,120,128,32,0,5,0,2,44,120,7,149,44,120,0,0,46,120,128,32,0,5,0,0,48,120,0,0,50,120,128,32,0,5,0,2,52,120,7,49,53,120,0,0,55,120,128,32,0,5,0,2,57,120,7,149,57,120,0,0,59,120,128,32,0,5,0,2,61,120,7,30,61,120,0,0,63,120,128,32,0,5,0,2,65,120,7,37,65,120,0,0,67,120,128,32,0,5,0,2,69,120,7,91,70,120,0,0,72,120,128,32,0,5,0,0,74,120,128,32,0,5,0,2,76,120,7,227,93,120,0,2,94,120,7,212,94,120,0,2,95,120,7,111,100,120,0,2,101,120,0,0,103,120,128,32,0,5,0,0,105,120,128,32,0,5,0,0,107,120,128,32,0,5,0,0,109,120,128,32,0,5,0,0,111,120,128,32,0,5,0,0,113,120,128,32,0,5,0,0,115,120,128,32,0,5,0,0,117,120,128,32,0,5,0,0,119,120,128,32,0,5,0,0,121,120,128,32,0,5,0,0,123,120,128,32,0,5,0,0,125,120,128,32,0,5,0,0,127,120,128,32,0,5,0,0,129,120,128,32,0,5,0,0,131,120,128,32,0,5,0,0,133,120,128,32,0,5,0,0,135,120,128,32,0,5,0,0,137,120,128,32,0,5,0,0,139,120,128,32,0,5,0,0,141,120,128,32,0,5,0,0,143,120,128,32,0,5,0,0,145,120,128,32,0,5,0,0,147,120,128,32,0,5,0,0,149,120,128,32,0,5,0,0,151,120,128,32,0,5,0,0,153,120,128,32,0,5,0,0,155,120,128,32,0,5,0,0,157,120,128,32,0,5,0,0,159,120,128,32,0,5,0,0,161,120,128,32,0,5,0,0,163,120,128,32,0,5,0,0,165,120,128,32,0,5,0,2,167,120,0,0,169,120,128,32,0,5,0,0,171,120,128,32,0,5,0,0,173,120,128,32,0,5,0,0,175,120,128,32,0,5,0,0,177,120,128,32,0,5,0,0,179,120,128,32,0,5,0,0,181,120,128,32,0,5,0,0,183,120,128,32,0,5,0,0,185,120,128,32,0,5,0,0,187,120,128,32,0,5,0,0,189,120,128,32,0,5,0,0,191,120,128,32,0,5,0,0,193,120,128,32,0,5,0,0,195,120,128,32,0,5,0,0,197,120,128,32,0,5,0,0,199,120,128,32,0,5,0,0,201,120,128,32,0,5,0,0,203,120,128,32,0,5,0,0,205,120,128,32,0,5,0,0,207,120,128,32,0,5,0,0,209,120,128,32,0,5,0,0,211,120,128,32,0,5,0,0,213,120,128,32,0,5,0,0,215,120,128,32,0,5,0,0,217,120,128,32,0,5,0,0,219,120,128,32,0,5,0,0,221,120,128,32,0,5,0,0,223,120,128,32,0,5,0,0,225,120,128,32,0,5,0,0,227,120,128,32,0,5,0,0,229,120,128,32,0,5,0,0,231,120,128,32,0,5,0,0,233,120,128,32,0,5,0,0,235,120,128,32,0,5,0,2,237,120,0,2,4,121,0,0,6,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,8,121,128,32,0,5,128,46,0,5,0,0,10,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,12,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,14,121,128,32,0,5,128,46,0,5,0,0,16,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,18,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,20,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,22,121,128,32,0,5,128,46,0,5,0,0,24,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,26,121,128,32,0,5,128,46,0,5,0,0,28,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,30,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,32,121,128,32,0,5,128,46,0,5,0,0,34,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,36,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,38,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,40,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,42,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,44,121,0,0,46,121,128,32,0,5,0,0,48,121,128,32,0,5,0,2,50,121,7,23,50,121,0,0,52,121,128,32,0,5,128,46,0,5,0,0,54,121,0,0,56,121,128,32,0,5,0,0,58,121,128,32,0,5,0,0,60,121,128,32,0,5,0,0,62,121,0,0,64,121,128,32,0,5,0,0,66,121,128,32,0,5,128,46,0,5,0,0,68,121,128,32,0,5,0,0,70,121,128,32,0,5,0,2,72,121,7,16,72,121,0,0,74,121,128,32,0,5,0,0,76,121,0,0,78,121,128,32,0,5,0,0,80,121,0,0,82,121,128,32,0,5,0,0,84,121,128,32,0,5,0,0,86,121,128,32,0,5,0,0,88,121,128,32,0,5,0,0,90,121,128,32,0,5,0,2,92,121,7,16,92,121,128,32,0,5,0,23,92,121,7,44,92,121,128,32,0,5,0,51,92,121,7,114,92,121,128,32,0,5,0,121,92,121,7,163,92,121,128,32,0,5,0,170,92,121,7,198,92,121,128,32,0,5,0,205,92,121,7,14,93,121,0,0,95,121,128,32,0,5,0,0,97,121,128,32,0,5,0,0,99,121,128,32,0,5,0,2,101,121,7,247,101,121,128,32,0,5,128,46,0,5,0,0,103,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,105,121,128,32,0,5,128,46,0,5,0,0,107,121,128,32,0,5,128,46,0,5,0,0,109,121,128,32,0,5,128,46,0,5,0,0,111,121,128,32,0,5,128,46,0,5,0,0,113,121,128,32,0,5,128,46,0,5,0,0,115,121,128,32,0,5,128,46,0,5,0,0,117,121,128,32,0,5,128,46,0,5,0,0,119,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,121,121,128,32,0,5,128,46,0,5,0,0,123,121,128,32,0,5,128,46,0,5,0,0,125,121,128,32,0,5,128,46,0,5,0,0,127,121,128,32,0,5,128,46,0,5,0,0,129,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,131,121,128,32,0,5,128,46,0,5,0,0,133,121,128,32,0,5,128,46,0,5,0,0,135,121,128,32,0,5,128,46,0,5,0,0,137,121,128,32,0,5,128,46,0,5,0,0,139,121,128,32,0,5,128,46,0,5,0,0,141,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,143,121,128,32,0,5,128,46,0,5,0,2,145,121,7,93,145,121,0,0,147,121,128,32,0,5,0,0,149,121,128,32,0,5,0,0,151,121,2,0,155,121,128,32,0,5,0,2,157,121,7,51,157,121,0,0,159,121,128,32,0,5,0,0,161,121,128,32,0,5,0,0,163,121,0,0,165,121,128,32,0,5,0,2,167,121,7,58,167,121,0,0,169,121,128,32,0,5,0,0,171,121,2,0,175,121,128,32,0,5,0,2,177,121,7,198,177,121,0,0,179,121,2,0,183,121,128,32,0,5,128,46,0,5,0,0,185,121,128,32,0,5,0,0,187,121,128,32,0,5,128,46,0,5,0,0,189,121,128,32,0,5,128,46,0,5,0,0,191,121,2,0,195,121,128,32,0,5,128,46,0,5,0,0,197,121,128,32,0,5,128,46,0,5,0,0,199,121,128,32,0,5,128,46,0,5,0,0,201,121,128,32,0,5,128,46,0,5,0,0,203,121,128,32,0,5,128,46,0,5,0,0,205,121,128,32,0,5,128,46,0,5,0,0,207,121,0,0,209,121,128,32,0,5,0,0,211,121,2,0,231,121,0,2,233,121,7,23,233,121,0,0,235,121,128,32,0,5,0,0,237,121,128,32,0,5,0,2,239,121,7,16,239,121,0,0,241,121,128,32,0,5,0,0,243,121,0,0,245,121,128,32,0,5,0,2,247,121,7,30,247,121,128,32,0,5,0,37,247,121,7,58,247,121,128,32,0,5,0,65,247,121,0,72,247,121,128,32,0,5,0,79,247,121,7,100,247,121,128,32,0,5,0,107,247,121,0,114,247,121,128,32,0,5,0,121,247,121,7,240,247,121,128,32,0,5,0,247,247,121,128,32,0,5,0,254,247,121,7,173,249,121,0,2,4,122,0,0,6,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,8,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,10,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,12,122,0,0,14,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,16,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,18,122,128,3,0,5,128,5,0,5,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,20,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,22,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,24,122,128,3,0,5,128,5,0,5,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,26,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,28,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,30,122,128,3,0,5,128,5,0,5,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,32,122,128,3,0,5,128,5,0,5,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,34,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,36,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,38,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,40,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,42,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,44,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,46,122,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,48,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,50,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,52,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,54,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,56,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,58,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,60,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,62,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,64,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,66,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,68,122,128,3,0,5,128,5,0,5,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,70,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,72,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,74,122,128,3,0,5,128,5,0,5,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,76,122,128,16,0,5,128,30,0,5,128,44,0,5,0,0,78,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,80,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,82,122,128,3,0,5,128,5,0,5,128,16,0,5,128,22,0,5,128,28,0,5,128,34,0,5,128,40,0,5,128,46,0,5,128,52,0,5,0,0,84,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,86,122,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,88,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,90,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,92,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,94,122,128,3,0,5,128,5,0,5,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,96,122,128,3,0,5,128,5,0,5,128,16,0,5,128,30,0,5,128,44,0,5,0,0,98,122,128,3,0,5,128,5,0,5,128,16,0,5,128,30,0,5,128,44,0,5,0,0,100,122,128,3,0,5,128,5,0,5,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,102,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,104,122,7,219,111,122,0,2,4,123,0,0,6,123,128,5,0,112,0,0,8,123,128,32,0,5,0,0,10,123,2,0,20,123,128,32,0,5,0,0,22,123,2,0,28,123,128,32,0,5,128,5,0,112,0,0,30,123,128,32,0,5,0,0,32,123,2,0,36,123,128,32,0,5,0,0,38,123,128,5,0,112,0,0,40,123,2,0,58,123,128,5,0,112,0,0,60,123,2,0,70,123,128,5,0,112,0,0,72,123,128,5,0,112,0,0,74,123,0,0,76,123,128,32,0,5,0,0,78,123,0,0,80,123,128,5,0,112,0,0,82,123,128,5,0,112,0,0,84,123,0,0,86,123,128,5,0,112,0,0,88,123,2,0,106,123,128,5,0,112,128,32,0,112,0,0,108,123,128,5,0,112,128,5,0,120,0,0,110,123,2,0,116,123,0,2,118,123,7,29,150,123,0,2,151,123,7,77,152,123,0,2,153,123,7,37,153,123,0,0,155,123,128,32,0,5,0,2,157,123,7,79,157,123,0,0,159,123,128,32,0,5,0,2,161,123,7,114,161,123,0,0,163,123,128,32,0,5,0,2,165,123,7,184,165,123,0,0,167,123,128,32,0,5,0,2,169,123,7,47,171,123,0,2,172,123,0,9,172,123,0,0,174,123,128,32,0,5,0,0,176,123,128,32,0,5,0,0,178,123,128,32,0,5,0,0,180,123,128,32,0,5,0,0,182,123,128,32,0,5,0,0,184,123,128,32,0,5,0,0,186,123,128,32,0,5,0,0,188,123,128,32,0,5,0,0,190,123,128,32,0,5,0,0,192,123,128,32,0,5,0,0,194,123,128,32,0,5,0,0,196,123,128,32,0,5,0,0,198,123,128,32,0,5,0,0,200,123,128,32,0,5,0,0,202,123,128,32,0,5,0,0,204,123,128,32,0,5,0,0,206,123,128,32,0,5,0,0,208,123,128,32,0,5,0,0,210,123,128,32,0,5,0,0,212,123,128,32,0,5,0,0,214,123,128,32,0,5,0,0,216,123,128,32,0,5,0,0,218,123,128,32,0,5,0,0,220,123,128,32,0,5,0,0,222,123,128,32,0,5,0,0,224,123,128,32,0,5,0,0,226,123,128,32,0,5,0,0,228,123,128,32,0,5,0,0,230,123,128,32,0,5,0,0,232,123,128,32,0,5,0,0,234,123,128,32,0,5,0,0,236,123,128,32,0,5,0,2,238,123,7,147,239,123,0,2,240,123,7,124,242,123,0,2,243,123,7,105,244,123,0,2,245,123,7,56,246,123,0,2,247,123,7,205,247,123,0,2,248,123,7,91,249,123,0,2,250,123,7,184,250,123,0,2,251,123,7,247,251,123,0,2,252,123,7,191,252,123,0,2,4,124,0,0,6,124,128,32,0,5,0,0,8,124,128,32,0,5,0,0,10,124,128,32,0,5,0,0,12,124,128,32,0,5,0,0,14,124,128,32,0,5,0,0,16,124,128,32,0,5,0,0,18,124,128,32,0,5,0,0,20,124,128,32,0,5,0,0,22,124,128,32,0,5,0,0,24,124,128,32,0,5,0,0,26,124,128,32,0,5,0,0,28,124,128,32,0,5,0,0,30,124,128,32,0,5,0,0,32,124,128,32,0,5,0,0,34,124,128,32,0,5,0,0,36,124,128,32,0,5,0,0,38,124,128,32,0,5,0,0,40,124,128,32,0,5,0,0,42,124,128,32,0,5,0,0,44,124,128,32,0,5,0,0,46,124,128,32,0,5,0,0,48,124,128,32,0,5,0,0,50,124,128,32,0,5,0,0,52,124,128,32,0,5,0,0,54,124,128,32,0,5,0,0,56,124,128,32,0,5,0,0,58,124,128,32,0,5,0,0,60,124,128,32,0,5,0,0,62,124,128,32,0,5,0,0,64,124,128,32,0,5,0,0,66,124,128,32,0,5,0,0,68,124,128,32,0,5,0,0,70,124,128,32,0,5,0,0,72,124,128,32,0,5,0,0,74,124,128,32,0,5,0,0,76,124,128,32,0,5,0,0,78,124,128,32,0,5,0,0,80,124,128,32,0,5,0,0,82,124,128,32,0,5,0,0,84,124,128,32,0,5,0,2,86,124,7,84,87,124,0,2,88,124,7,213,91,124,0,2,92,124,7,212,92,124,0,2,93,124,7,28,94,124,0,2,95,124,7,112,96,124,0,2,97,124,7,177,97,124,0,2,98,124,7,219,98,124,0,2,99,124,7,209,104,124,0,2,105,124,7,103,114,124,0,2,115,124,7,133,116,124,0,2,117,124,7,205,117,124,0,2,118,124,7,205,118,124,0,2,119,124,7,63,120,124,0,0,122,124,128,5,0,112,0,2,124,124,7,44,124,124,0,2,125,124,7,93,125,124,0,0,127,124,128,32,0,5,0,2,129,124,7,51,129,124,0,2,130,124,0,0,132,124,128,32,0,5,0,0,134,124,128,32,0,5,0,2,136,124,0,9,136,124,0,0,138,124,128,32,0,5,0,2,140,124,7,23,140,124,0,0,142,124,128,32,0,5,0,0,144,124,128,32,0,5,0,0,146,124,128,32,0,5,0,0,148,124,128,32,0,5,0,0,150,124,128,32,0,5,0,2,152,124,7,37,152,124,0,0,154,124,128,32,0,5,0,2,156,124,0,2,157,124,7,149,157,124,0,2,158,124,7,156,158,124,0,2,159,124,7,156,159,124,0,2,160,124,7,135,160,124,0,2,161,124,7,128,161,124,0,2,162,124,7,51,162,124,128,32,0,5,0,58,162,124,7,72,162,124,128,32,0,5,0,79,162,124,7,156,162,124,0,2,163,124,7,51,163,124,0,0,165,124,128,5,0,112,0,2,167,124,7,191,167,124,0,2,168,124,0,0,170,124,128,32,0,5,0,0,172,124,128,32,0,5,0,0,174,124,0,0,176,124,128,32,0,5,0,2,178,124,7,44,178,124,0,0,180,124,128,32,0,5,128,5,0,112,0,0,182,124,0,0,184,124,128,32,0,5,128,5,0,112,0,0,186,124,0,0,188,124,128,32,0,5,128,5,0,112,0,0,190,124,128,32,0,5,0,0,192,124,0,0,194,124,128,32,0,5,128,5,0,112,0,2,196,124,7,121,196,124,0,0,198,124,128,5,0,112,0,2,200,124,7,16,200,124,0,2,201,124,7,56,202,124,0,2,203,124,7,149,203,124,0,2,204,124,7,212,204,124,0,2,205,124,7,56,206,124,0,2,207,124,7,208,237,124,0,2,4,125,7,133,33,125,0,2,34,125,0,0,36,125,128,5,0,112,0,0,38,125,128,5,0,112,0,0,40,125,128,5,0,112,0,0,42,125,128,5,0,112,0,0,44,125,128,5,0,112,0,0,46,125,128,5,0,112,0,0,48,125,128,5,0,112,128,5,0,120,0,0,50,125,128,5,0,112,0,0,52,125,128,5,0,112,0,0,54,125,128,5,0,112,128,5,0,120,0,0,56,125,128,5,0,112,128,5,0,120,0,0,58,125,128,5,0,112,128,5,0,120,0,0,60,125,128,5,0,112,0,0,62,125,128,5,0,112,0,0,64,125,128,5,0,112,0,0,66,125,128,5,0,112,128,5,0,117,128,5,0,122,0,0,68,125,128,5,0,112,0,0,70,125,128,5,0,112,0,0,72,125,128,5,0,112,0,0,74,125,128,5,0,112,128,5,0,120,0,0,76,125,128,5,0,112,128,5,0,120,0,0,78,125,128,5,0,112,0,0,80,125,128,5,0,112,0,2,82,125,7,23,82,125,0,2,83,125,7,19,99,125,0,2,100,125,2,112,154,125,0,2,155,125,7,234,165,125,0,2,166,125,7,244,178,125,0,2,2,126,0,2,2,251,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,4,2,251,2,6,2,251,128,38,0,5,0,8,2,251,2,10,2,251,128,16,0,5,128,27,0,5,0,12,2,251,2,32,2,251,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,34,2,251,128,27,0,5,128,38,0,5,0,36,2,251,128,27,0,5,128,38,0,5,0,38,2,251,2,42,2,251,128,16,0,5,0,44,2,251,2,132,2,251,128,38,0,5,0,134,2,251,2,60,4,251,128,16,0,5,0,62,4,251,2,82,4,251,128,27,0,5,128,38,0,5,128,49,0,5,0,84,4,251,2,200,4,251,128,16,0,5,128,5,0,112,0,202,4,251,2,252,4,251,128,16,0,5,0,254,4,251,2,26,6,251,128,16,0,5,128,38,0,5,128,5,0,112,0,28,6,251,128,16,0,5,0,30,6,251,128,16,0,5,0,32,6,251,2,48,6,251,128,16,0,5,128,27,0,5,0,50,6,251,2,248,7,251,128,16,0,5,0,250,7,251,2,74,8,251,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,76,8,251,2,96,8,251,128,16,0,5,128,27,0,5,0,98,8,251,2,232,8,251,128,16,0,5,0,234,8,251,2,250,8,251,128,49,0,5,0,252,8,251,2,68,10,251,128,16,0,5,128,38,0,5,0,70,10,251,128,16,0,5,0,72,10,251,2,180,10,251,128,16,0,5,0,182,10,251,128,49,0,5,0,184,10,251,2,40,11,251,128,16,0,5,128,27,0,5,0,42,11,251,2,72,11,251,128,16,0,5,128,27,0,5,0,74,11,251,2,90,11,251,128,49,0,5,0,92,11,251,2,70,24,251,128,27,0,5,0,72,24,251,2,4,26,251,128,16,0,5,0,6,26,251,2,188,27,251,128,16,0,5,0,190,27,251,2,74,28,251,128,16,0,5,128,27,0,5,0,76,28,251,2,80,28,251,128,16,0,5,128,27,0,5,0,82,28,251,2,104,29,251,128,16,0,5,128,5,0,112,0,106,29,251,2,162,29,251,128,49,0,5,0,164,29,251,2,74,30,251,128,16,0,5,0,76,30,251,2,88,30,251,128,27,0,5,0,90,30,251,2,62,31,251,128,16,0,5,0,64,31,251,2,196,33,251,128,16,0,5,128,5,0,112,0,198,33,251,2,200,34,251,128,16,0,5,0,202,34,251,2,132,35,251,128,16,0,5,128,5,0,112,0,134,35,251,2,136,35,251,128,16,0,5,0,138,35,251,2,90,36,251,128,49,0,5,0,92,36,251,2,172,37,251,128,49,0,5,0,174,37,251,2,126,39,251,128,49,0,5,0,128,39,251,2,8,42,251,128,16,0,5,0,10,42,251,2,114,42,251,128,16,0,5,128,27,0,5,0,116,42,251,2,206,43,251,128,16,0,5,0,208,43,251,2,244,44,251,128,16,0,5,0,246,44,251,2,234,45,251,128,16,0,5,0,236,45,251,2,82,46,251,128,16,0,5,0,84,46,251,2,118,47,251,128,16,0,5,0,120,47,251,2,134,47,251,128,27,0,5,0,136,47,251,2,180,47,251,128,16,0,5,128,27,0,5,0,182,47,251,2,186,47,251,128,16,0,5,0,188,47,251,2,52,48,251,128,16,0,5,128,27,0,5,0,54,48,251,2,44,49,251,128,16,0,5,128,5,0,112,0,46,49,251,2,240,49,251,128,16,0,5,128,5,0,112,0,242,49,251,2,26,50,251,128,27,0,5,0,28,50,251,2,178,50,251,128,16,0,5,128,5,0,112,0,180,50,251,2,120,53,251,128,16,0,5,0,122,53,251,2,122,54,251,128,16,0,5,0,124,54,251,2,132,54,251,128,49,0,5,0,134,54,251,2,112,56,251,128,16,0,5,0,114,56,251,2,150,56,251,128,27,0,5,0,152,56,251,2,158,56,251,128,27,0,5,128,49,0,5,0,160,56,251,2,246,56,251,128,49,0,5,0,248,56,251,2,2,57,251,128,16,0,5,128,27,0,5,0,4,57,251,2,200,57,251,128,49,0,5,0,202,57,251,2,28,59,251,128,16,0,5,0,30,59,251,2,60,59,251,128,49,0,5,0,62,59,251,2,180,64,251,128,27,0,5,0,182,64,251,2,142,67,251,128,49,0,5,0,144,67,251,2,76,83,251,128,16,0,5,0,78,83,251,2,90,83,251,128,16,0,5,128,27,0,5,128,38,0,5,0,92,83,251,2,186,85,251,128,16,0,5,128,27,0,5,0,188,85,251,2,12,86,251,128,38,0,5,0,14,86,251,2,220,99,251,128,16,0,5,0,222,99,251,2,234,99,251,128,49,0,5,0,236,99,251,2,178,100,251,128,16,0,5,0,180,100,251,2,232,100,251,128,16,0,5,0,234,100,251,2,136,101,251,128,16,0,5,0,138,101,251,2,154,101,251,128,49,0,5,0,156,101,251,2,182,101,251,128,27,0,5,0,184,101,251,2,204,102,251,128,16,0,5,128,49,0,5,0,206,102,251,2,208,102,251,128,38,0,5,128,49,0,5,0,210,102,251,2,100,106,251,128,16,0,5,128,27,0,5,0,102,106,251,2,108,119,251,128,16,0,5,0,110,119,251,2,146,119,251,128,49,0,5,0,148,119,251,2,232,119,251,128,16,0,5,128,27,0,5,0,234,119,251,2,174,121,251,128,16,0,5,0,176,121,251,2,208,121,251,128,16,0,5,0,210,121,251,2,86,122,251,128,27,0,5,0,88,122,251,2,22,128,251,128,16,0,5,0,24,128,251,2,34,129,251,128,16,0,5,128,5,0,112,128,5,0,120,0,36,129,251,2,144,130,251,128,16,0,5,128,5,0,112,0,146,130,251,128,16,0,5,128,5,0,112,0,148,130,251,2,192,131,251,128,16,0,5,0,194,131,251,2,8,135,251,128,16,0,5,0,10,135,251,2,128,135,251,128,16,0,5,0,130,135,251,2,66,147,251,128,16,0,5,0,68,147,251,2,210,147,251,128,16,0,5,0,212,147,251,2,228,147,251,128,27,0,5,128,49,0,5,0,230,147,251,2,132,148,251,128,16,0,5,0,134,148,251,2,136,148,251,128,16,0,5,0,138,148,251,2,20,149,251,128,16,0,5,0,22,149,251,2,170,153,251,128,16,0,5,0,172,153,251,128,49,0,5,0,174,153,251,2,92,154,251,128,16,0,5,0,94,154,251,2,106,154,251,128,27,0,5,0,108,154,251,2,218,154,251,128,16,0,5,0,220,154,251,2,254,159,251,128,16,0,5,0,2,160,251,2,102,160,251,128,16,0,5,0,104,160,251,2,108,161,251,128,16,0,5,0,110,161,251,2,130,161,251,128,49,0,5,0,132,161,251,2,216,161,251,128,16,0,5,0,218,161,251,2,210,164,251,128,16,0,5,128,5,0,112,0,212,164,251,128,16,0,5,0,214,164,251,2,122,165,251,128,16,0,5,0,124,165,251,2,88,166,251,128,16,0,5,0,90,166,251,2,8,167,251,128,49,0,5,0,10,167,251,2,156,167,251,128,27,0,5,0,158,167,251,2,252,169,251,128,16,0,5,128,5,0,112,0,254,169,251,128,16,0,5,0,2,170,251,2,76,188,251,128,16,0,5,0,78,188,251,2,100,188,251,128,49,0,5,0,102,188,251,2,162,190,251,128,16,0,5,0,164,190,251,2,156,191,251,128,16,0,5,128,49,0,5,0,158,191,251,128,16,0,5,0,160,191,251,2,182,191,251,128,16,0,5,128,49,0,5,0,184,191,251,2,156,192,251,128,49,0,5,0,158,192,251,2,254,194,251,128,49,0,5,0,2,195,251,2,210,196,251,128,49,0,5,0,212,196,251,2,60,212,251,128,16,0,5,0,62,212,251,2,230,212,251,128,16,0,5,0,232,212,251,128,16,0,5,0,234,212,251,2,52,214,251,128,16,0,5,0,54,214,251,2,254,217,251,128,16,0,5,128,27,0,5,0,2,218,251,2,178,218,251,128,16,0,5,0,180,218,251,2,206,218,251,128,49,0,5,0,208,218,251,2,74,219,251,128,16,0,5,0,76,219,251,2,188,219,251,128,49,0,5,0,190,219,251,2,68,220,251,128,16,0,5,0,70,220,251,2,42,222,251,128,16,0,5,0,44,222,251,128,16,0,5,0,46,222,251,2,86,222,251,128,16,0,5,128,27,0,5,128,5,0,112,0,88,222,251,2,22,223,251,128,49,0,5,0,24,223,251,2,180,223,251,128,49,0,5,0,182,223,251,2,206,223,251,128,49,0,5,0,208,223,251,2,90,232,251,128,16,0,5,0,92,232,251,2,86,233,251,128,16,0,5,128,27,0,5,128,49,0,5,128,5,0,112,0,88,233,251,2,90,233,251,128,16,0,5,128,27,0,5,128,49,0,5,0,92,233,251,2,114,235,251,128,16,0,5,128,27,0,5,0,116,235,251,2,128,235,251,128,16,0,5,0,130,235,251,2,60,239,251,128,16,0,5,128,27,0,5,128,49,0,5,0,62,239,251,2,188,6,252,128,16,0,5,0,190,6,252,2,190,9,252,128,16,0,5,0,192,9,252,2,196,9,252,128,27,0,5,128,49,0,5,0,198,9,252,2,192,11,252,128,16,0,5,0,194,11,252,2,198,11,252,128,5,0,112,0,200,11,252,2,174,14,252,128,16,0,5,0,176,14,252,2,104,16,252,128,16,0,5,0,106,16,252,2,110,16,252,128,16,0,5,0,112,16,252,2,180,16,252,128,16,0,5,0,182,16,252,2,22,17,252,128,16,0,5,0,24,17,252,2,236,20,252,128,16,0,5,0,238,20,252,2,240,20,252,128,16,0,5,0,242,20,252,2,54,21,252,128,16,0,5,0,56,21,252,2,230,21,252,128,16,0,5,128,27,0,5,0,232,21,252,128,16,0,5,0,234,21,252,128,16,0,5,0,236,21,252,2,232,23,252,128,49,0,5,0,234,23,252,2,66,24,252,128,27,0,5,0,68,24,252,2,68,32,252,128,49,0,5,0,70,32,252,2,182,36,252,128,49,0,5,0,184,36,252,2,142,48,252,128,16,0,5,128,27,0,5,0,144,48,252,128,16,0,5,0,146,48,252,2,34,50,252,128,16,0,5,0,36,50,252,2,124,53,252,128,49,0,5,0,126,53,252,2,48,64,252,128,16,0,5,0,50,64,252,128,16,0,5,128,5,0,112,0,52,64,252,2,150,65,252,128,16,0,5,0,152,65,252,2,218,65,252,128,16,0,5,0,220,65,252,2,14,66,252,128,16,0,5,0,16,66,252,128,16,0,5,0,18,66,252,2,252,66,252,128,16,0,5,0,254,66,252,2,28,68,252,128,16,0,5,0,30,68,252,2,94,68,252,128,16,0,5,128,5,0,112,0,96,68,252,2,116,69,252,128,16,0,5,128,27,0,5,0,118,69,252,2,46,72,252,128,16,0,5,0,48,72,252,128,16,0,5,0,50,72,252,2,112,79,252,128,16,0,5,0,114,79,252,2,132,79,252,128,16,0,5,0,134,79,252,128,5,0,112,0,136,79,252,2,158,89,252,128,16,0,5,0,160,89,252,2,104,90,252,128,16,0,5,0,106,90,252,2,188,92,252,128,16,0,5,0,190,92,252,2,36,93,252,128,16,0,5,128,49,0,5,0,38,93,252,2,208,93,252,128,16,0,5,0,210,93,252,2,32,94,252,128,16,0,5,0,34,94,252,2,36,94,252,128,38,0,5,0,38,94,252,128,49,0,5,0,40,94,252,2,56,94,252,128,27,0,5,0,58,94,252,2,100,98,252,128,16,0,5,128,5,0,112,0,102,98,252,2,176,98,252,128,16,0,5,0,178,98,252,2,156,106,252,128,16,0,5,0,158,106,252,2,250,106,252,128,16,0,5,0,252,106,252,2,26,109,252,128,16,0,5,0,28,109,252,2,184,110,252,128,16,0,5,0,186,110,252,2,100,111,252,128,16,0,5,0,102,111,252,2,8,112,252,128,16,0,5,128,27,0,5,0,10,112,252,2,128,113,252,128,16,0,5,128,5,0,112,0,130,113,252,2,54,123,252,128,16,0,5,0,56,123,252,2,16,124,252,128,16,0,5,0,18,124,252,2,134,125,252,128,16,0,5,0,136,125,252,2,210,134,252,128,16,0,5,128,5,0,112,0,212,134,252,128,16,0,5,0,214,134,252,2,240,134,252,128,16,0,5,128,27,0,5,128,49,0,5,0,242,134,252,2,158,135,252,128,16,0,5,128,27,0,5,0,160,135,252,2,50,136,252,128,16,0,5,0,52,136,252,2,80,137,252,128,49,0,5,0,82,137,252,2,88,140,252,128,16,0,5,0,90,140,252,2,156,140,252,128,16,0,5,0,158,140,252,2,134,141,252,128,27,0,5,0,136,141,252,2,22,148,252,128,16,0,5,0,24,148,252,2,50,148,252,128,49,0,5,0,52,148,252,2,118,152,252,128,16,0,5,0,120,152,252,2,154,154,252,128,16,0,5,128,5,0,112,0,156,154,252,2,76,158,252,128,27,0,5,0,78,158,252,2,76,168,252,128,16,0,5,0,78,168,252,2,70,174,252,128,16,0,5,0,72,174,252,128,16,0,5,0,74,174,252,2,168,175,252,128,49,0,5,0,170,175,252,2,220,185,252,128,16,0,5,0,222,185,252,2,198,188,252,128,16,0,5,0,200,188,252,2,238,189,252,128,16,0,5,0,240,189,252,128,16,0,5,128,5,0,112,0,242,189,252,128,16,0,5,128,5,0,112,128,5,0,120,0,244,189,252,2,14,193,252,128,16,0,5,128,5,0,112,128,5,0,120,0,16,193,252,2,22,193,252,128,16,0,5,0,24,193,252,2,136,195,252,128,16,0,5,0,138,195,252,2,84,198,252,128,16,0,5,0,86,198,252,128,16,0,5,0,88,198,252,2,214,198,252,128,16,0,5,0,216,198,252,2,40,199,252,128,16,0,5,0,42,199,252,2,74,200,252,128,16,0,5,0,76,200,252,2,128,203,252,128,16,0,5,128,5,0,112,0,130,203,252,128,16,0,5,0,132,203,252,2,226,203,252,128,16,0,5,128,5,0,112,0,228,203,252,2,90,215,252,128,16,0,5,0,92,215,252,2,222,215,252,128,16,0,5,0,224,215,252,2,152,216,252,128,16,0,5,0,154,216,252,2,10,217,252,128,16,0,5,128,5,0,112,0,12,217,252,2,106,218,252,128,16,0,5,0,108,218,252,2,90,219,252,128,16,0,5,0,92,219,252,2,128,219,252,128,16,0,5,0,130,219,252,2,106,222,252,128,16,0,5,0,108,222,252,2,140,222,252,128,16,0,5,0,142,222,252,2,6,223,252,128,16,0,5,0,8,223,252,128,16,0,5,128,5,0,112,128,5,0,120,0,10,223,252,2,174,252,252,128,16,0,5,0,176,252,252,2,178,252,252,128,16,0,5,0,180,252,252,2,150,254,252,128,16,0,5,0,152,254,252,2,202,14,253,128,16,0,5,0,204,14,253,2,118,15,253,128,16,0,5,0,120,15,253,2,52,16,253,128,16,0,5,0,54,16,253,128,16,0,5,0,56,16,253,2,136,24,253,128,16,0,5,0,138,24,253,128,16,0,5,0,140,24,253,128,16,0,5,0,142,24,253,2,42,25,253,128,16,0,5,0,44,25,253,2,148,27,253,128,16,0,5,0,150,27,253,2,240,27,253,128,16,0,5,128,5,0,112,0,242,27,253,2,152,28,253,128,49,0,5,0,154,28,253,2,38,30,253,128,16,0,5,0,40,30,253,2,192,40,253,128,16,0,5,0,194,40,253,2,160,43,253,128,16,0,5,0,162,43,253,2,90,44,253,128,16,0,5,0,92,44,253,2,112,45,253,128,16,0,5,0,114,45,253,2,36,47,253,128,16,0,5,0,38,47,253,2,190,48,253,128,16,0,5,0,192,48,253,2,218,48,253,128,16,0,5,128,27,0,5,0,220,48,253,2,14,49,253,128,49,0,5,0,16,49,253,2,8,50,253,128,16,0,5,128,27,0,5,0,10,50,253,2,202,53,253,128,16,0,5,0,204,53,253,2,190,54,253,128,16,0,5,0,192,54,253,2,84,55,253,128,16,0,5,128,49,0,5,0,86,55,253,2,84,59,253,128,16,0,5,128,5,0,112,0,86,59,253,2,230,68,253,128,16,0,5,0,232,68,253,2,218,70,253,128,16,0,5,0,220,70,253,2,100,76,253,128,16,0,5,0,102,76,253,2,186,77,253,128,16,0,5,0,188,77,253,2,128,78,253,128,16,0,5,0,130,78,253,2,176,78,253,128,16,0,5,0,178,78,253,128,16,0,5,128,5,0,112,128,5,0,120,0,180,78,253,2,144,82,253,128,49,0,5,0,146,82,253,2,26,84,253,128,27,0,5,0,28,84,253,2,98,87,253,128,16,0,5,128,5,0,112,0,100,87,253,2,148,93,253,128,16,0,5,0,150,93,253,2,166,93,253,128,49,0,5,0,168,93,253,2,30,98,253,128,16,0,5,0,32,98,253,2,98,98,253,128,16,0,5,0,100,98,253,2,242,98,253,128,16,0,5,128,27,0,5,0,244,98,253,2,86,114,253,128,16,0,5,0,88,114,253,2,200,118,253,128,16,0,5,0,202,118,253,128,16,0,5,0,204,118,253,2,2,120,253,128,16,0,5,0,4,120,253,2,6,120,253,128,16,0,5,0,8,120,253,2,84,124,253,128,16,0,5,0,86,124,253,2,154,125,253,128,16,0,5,128,5,0,112,0,156,125,253,128,16,0,5,0,158,125,253,2,186,131,253,128,16,0,5,0,188,131,253,2,228,131,253,128,16,0,5,0,230,131,253,2,178,134,253,128,16,0,5,128,5,0,112,0,180,134,253,2,216,139,253,128,16,0,5,0,218,139,253,128,16,0,5,0,220,139,253,2,44,140,253,128,16,0,5,0,46,140,253,2,152,140,253,128,16,0,5,0,154,140,253,2,160,141,253,128,16,0,5,0,162,141,253,2,196,145,253,128,16,0,5,0,198,145,253,2,30,147,253,128,16,0,5,0,32,147,253,2,108,147,253,128,16,0,5,0,110,147,253,2,184,147,253,128,16,0,5,0,186,147,253,2,142,148,253,128,16,0,5,0,144,148,253,2,162,148,253,128,27,0,5,0,164,148,253,2,70,153,253,128,16,0,5,0,72,153,253,2,82,154,253,128,16,0,5,0,84,154,253,2,242,156,253,128,16,0,5,0,244,156,253,2,122,157,253,128,16,0,5,0,124,157,253,2,164,157,253,128,16,0,5,0,166,157,253,2,170,157,253,128,16,0,5,0,172,157,253,128,16,0,5,128,5,0,112,0,174,157,253,2,20,163,253,128,16,0,5,0,22,163,253,2,110,164,253,128,16,0,5,128,5,0,112,0,112,164,253,2,252,164,253,128,16,0,5,0,254,164,253,2,208,165,253,128,16,0,5,0,210,165,253,2,244,171,253,128,16,0,5,0,246,171,253,2,168,173,253,128,16,0,5,128,5,0,112,0,170,173,253,2,232,175,253,128,16,0,5,0,234,175,253,2,186,176,253,128,16,0,5,0,188,176,253,2,58,180,253,128,16,0,5,0,60,180,253,2,136,180,253,128,16,0,5,0,138,180,253,2,172,180,253,128,16,0,5,0,174,180,253,2,166,181,253,128,16,0,5,128,5,0,112,0,168,181,253,2,2,184,253,128,16,0,5,0,4,184,253,2,64,193,253,128,16,0,5,0,66,193,253,2,218,195,253,128,16,0,5,0,220,195,253,2,72,206,253,128,16,0,5,0,74,206,253,2,240,208,253,128,16,0,5,128,5,0,112,0,242,208,253,2,178,209,253,128,16,0,5,0,180,209,253,2,56,211,253,128,16,0,5,0,58,211,253,2,196,212,253,128,16,0,5,0,198,212,253,2,94,213,253,128,16,0,5,0,96,213,253,2,210,213,253,128,16,0,5,0,212,213,253,128,16,0,5,0,214,213,253,2,124,214,253,128,16,0,5,0,126,214,253,2,252,214,253,128,16,0,5,0,254,214,253,2,36,217,253,128,16,0,5,0,38,217,253,2,62,217,253,128,16,0,5,0,64,217,253,2,222,217,253,128,16,0,5,0,224,217,253,2,6,218,253,128,16,0,5,0,8,218,253,2,62,218,253,128,16,0,5,0,64,218,253,2,220,218,253,128,16,0,5,0,222,218,253,2,240,219,253,128,16,0,5,0,242,219,253,2,176,220,253,128,16,0,5,128,5,0,112,0,178,220,253,2,236,220,253,128,16,0,5,0,238,220,253,2,248,220,253,128,16,0,5,128,5,0,112,0,250,220,253,2,110,223,253,128,16,0,5,0,112,223,253,2,12,224,253,128,16,0,5,128,5,0,112,0,14,224,253,2,96,224,253,128,16,0,5,0,98,224,253,2,118,224,253,128,16,0,5,128,5,0,112,128,5,0,120,0,120,224,253,2,218,224,253,128,16,0,5,0,220,224,253,2,236,224,253,128,16,0,5,0,238,224,253,2,40,225,253,0,2,4,254,0,2,2,255,0,0,253,255,0,0,255,255,0,255,255,255,26,9,5,5,1,0,76,0,255,255,219,251,194,5,108,0,255,255,219,251,194,5,70,97,174,5,48,0,6,3,255,255,78,97,160,5,70,97,5,5,48,0,6,3,255,255,78,97,5,5,26,102,5,5,2,0,83,6,255,255,8,102,5,5,84,6,255,255,10,102,5,5,85,6,255,255,18,102,5,5,222,102,5,5,48,0,84,6,255,255,16,102,5,5,238,102,5,5,48,0,84,6,255,255,22,102,5,5,124,105,5,5,1,0,190,9,255,255,128,105,5,5,215,9,255,255,130,105,5,5,126,108,5,5,2,0,62,11,255,255,130,108,5,5,86,11,255,255,128,108,5,5,87,11,255,255,132,108,5,5,26,109,5,5,48,0,215,11,255,255,30,109,5,5,90,109,5,5,1,0,190,11,255,255,96,109,5,5,215,11,255,255,100,109,5,5,92,109,5,5,48,0,190,11,255,255,98,109,5,5,136,110,5,5,48,0,86,12,255,255,140,110,5,5,120,111,5,5,48,0,213,12,255,255,122,111,5,5,136,111,5,5,2,0,194,12,8,0,213,12,255,255,138,111,5,5,214,12,255,255,140,111,5,5,240,127,142,111,5,5,213,12,255,255,144,111,5,5,142,111,5,5,48,0,213,12,255,255,144,111,5,5,138,112,5,5,1,0,62,13,255,255,144,112,5,5,87,13,255,255,148,112,5,5,140,112,5,5,48,0,62,13,255,255,146,112,5,5,146,113,5,5,2,0,202,13,255,255,148,113,5,5,207,13,4,0,223,13,255,255,156,113,5,5,240,127,152,113,5,5,202,13,255,255,154,113,5,5,152,113,5,5,48,0,202,13,255,255,154,113,5,5,122,114,5,5,45,0,24,14,81,0,35,14,42,0,41,14,20,0,44,14,9,0,44,14,254,193,197,2,45,14,255,193,197,66,46,14,0,194,197,130,41,14,250,193,197,66,42,14,251,193,197,130,43,14,252,193,197,194,38,14,9,0,38,14,246,193,197,130,39,14,247,193,197,194,40,14,249,193,197,2,35,14,242,193,197,194,36,14,244,193,197,2,37,14,245,193,197,66,29,14,20,0,32,14,9,0,32,14,239,193,197,2,33,14,240,193,197,66,34,14,241,193,197,130,29,14,235,193,197,66,30,14,236,193,197,130,31,14,237,193,197,194,24,14,229,193,197,2,25,14,230,193,197,66,26,14,231,193,197,130,27,14,232,193,197,194,28,14,234,193,197,2,12,14,42,0,18,14,20,0,21,14,9,0,21,14,225,193,197,66,22,14,226,193,197,130,23,14,227,193,197,194,18,14,221,193,197,130,19,14,222,193,197,194,20,14,224,193,197,2,15,14,9,0,15,14,217,193,197,194,16,14,219,193,197,2,17,14,220,193,197,66,12,14,214,193,197,2,13,14,215,193,197,66,14,14,216,193,197,130,6,14,20,0,9,14,9,0,9,14,210,193,197,66,10,14,211,193,197,130,11,14,212,193,197,194,6,14,206,193,197,130,7,14,207,193,197,194,8,14,209,193,197,2,1,14,200,193,197,66,2,14,201,193,197,130,3,14,202,193,197,194,4,14,204,193,197,2,5,14,205,193,197,66,124,114,5,5,45,0,24,14,81,0,35,14,42,0,41,14,20,0,44,14,9,0,44,14,254,193,197,66,45,14,255,193,197,130,46,14,0,194,197,194,41,14,250,193,197,130,42,14,251,193,197,194,43,14,253,193,197,2,38,14,9,0,38,14,246,193,197,194,39,14,248,193,197,2,40,14,249,193,197,66,35,14,243,193,197,2,36,14,244,193,197,66,37,14,245,193,197,130,29,14,20,0,32,14,9,0,32,14,239,193,197,66,33,14,240,193,197,130,34,14,241,193,197,194,29,14,235,193,197,130,30,14,236,193,197,194,31,14,238,193,197,2,24,14,229,193,197,66,25,14,230,193,197,130,26,14,231,193,197,194,27,14,233,193,197,2,28,14,234,193,197,66,12,14,42,0,18,14,20,0,21,14,9,0,21,14,225,193,197,130,22,14,226,193,197,194,23,14,228,193,197,2,18,14,221,193,197,194,19,14,223,193,197,2,20,14,224,193,197,66,15,14,9,0,15,14,218,193,197,2,16,14,219,193,197,66,17,14,220,193,197,130,12,14,214,193,197,66,13,14,215,193,197,130,14,14,216,193,197,194,6,14,20,0,9,14,9,0,9,14,210,193,197,130,10,14,211,193,197,194,11,14,213,193,197,2,6,14,206,193,197,194,7,14,208,193,197,2,8,14,209,193,197,66,1,14,200,193,197,130,2,14,201,193,197,194,3,14,203,193,197,2,4,14,204,193,197,66,5,14,205,193,197,130,126,114,5,5,45,0,24,14,81,0,35,14,42,0,41,14,20,0,44,14,9,0,44,14,254,193,197,130,45,14,255,193,197,194,46,14,1,194,197,2,41,14,250,193,197,194,42,14,252,193,197,2,43,14,253,193,197,66,38,14,9,0,38,14,247,193,197,2,39,14,248,193,197,66,40,14,249,193,197,130,35,14,243,193,197,66,36,14,244,193,197,130,37,14,245,193,197,194,29,14,20,0,32,14,9,0,32,14,239,193,197,130,33,14,240,193,197,194,34,14,242,193,197,2,29,14,235,193,197,194,30,14,237,193,197,2,31,14,238,193,197,66,24,14,229,193,197,130,25,14,230,193,197,194,26,14,232,193,197,2,27,14,233,193,197,66,28,14,234,193,197,130,12,14,42,0,18,14,20,0,21,14,9,0,21,14,225,193,197,194,22,14,227,193,197,2,23,14,228,193,197,66,18,14,222,193,197,2,19,14,223,193,197,66,20,14,224,193,197,130,15,14,9,0,15,14,218,193,197,66,16,14,219,193,197,130,17,14,220,193,197,194,12,14,214,193,197,130,13,14,215,193,197,194,14,14,217,193,197,2,6,14,20,0,9,14,9,0,9,14,210,193,197,194,10,14,212,193,197,2,11,14,213,193,197,66,6,14,207,193,197,2,7,14,208,193,197,66,8,14,209,193,197,130,1,14,200,193,197,194,2,14,202,193,197,2,3,14,203,193,197,66,4,14,204,193,197,130,5,14,205,193,197,194,128,114,5,5,45,0,24,14,81,0,35,14,42,0,41,14,20,0,44,14,9,0,44,14,254,193,197,194,45,14,0,194,197,2,46,14,1,194,197,66,41,14,251,193,197,2,42,14,252,193,197,66,43,14,253,193,197,130,38,14,9,0,38,14,247,193,197,66,39,14,248,193,197,130,40,14,249,193,197,194,35,14,243,193,197,130,36,14,244,193,197,194,37,14,246,193,197,2,29,14,20,0,32,14,9,0,32,14,239,193,197,194,33,14,241,193,197,2,34,14,242,193,197,66,29,14,236,193,197,2,30,14,237,193,197,66,31,14,238,193,197,130,24,14,229,193,197,194,25,14,231,193,197,2,26,14,232,193,197,66,27,14,233,193,197,130,28,14,234,193,197,194,12,14,42,0,18,14,20,0,21,14,9,0,21,14,226,193,197,2,22,14,227,193,197,66,23,14,228,193,197,130,18,14,222,193,197,66,19,14,223,193,197,130,20,14,224,193,197,194,15,14,9,0,15,14,218,193,197,130,16,14,219,193,197,194,17,14,221,193,197,2,12,14,214,193,197,194,13,14,216,193,197,2,14,14,217,193,197,66,6,14,20,0,9,14,9,0,9,14,211,193,197,2,10,14,212,193,197,66,11,14,213,193,197,130,6,14,207,193,197,66,7,14,208,193,197,130,8,14,209,193,197,194,1,14,201,193,197,2,2,14,202,193,197,66,3,14,203,193,197,130,4,14,204,193,197,194,5,14,206,193,197,2,130,114,5,5,45,0,24,14,81,0,35,14,42,0,41,14,20,0,44,14,9,0,44,14,255,193,197,2,45,14,0,194,197,66,46,14,1,194,197,130,41,14,251,193,197,66,42,14,252,193,197,130,43,14,253,193,197,194,38,14,9,0,38,14,247,193,197,130,39,14,248,193,197,194,40,14,250,193,197,2,35,14,243,193,197,194,36,14,245,193,197,2,37,14,246,193,197,66,29,14,20,0,32,14,9,0,32,14,240,193,197,2,33,14,241,193,197,66,34,14,242,193,197,130,29,14,236,193,197,66,30,14,237,193,197,130,31,14,238,193,197,194,24,14,230,193,197,2,25,14,231,193,197,66,26,14,232,193,197,130,27,14,233,193,197,194,28,14,235,193,197,2,12,14,42,0,18,14,20,0,21,14,9,0,21,14,226,193,197,66,22,14,227,193,197,130,23,14,228,193,197,194,18,14,222,193,197,130,19,14,223,193,197,194,20,14,225,193,197,2,15,14,9,0,15,14,218,193,197,194,16,14,220,193,197,2,17,14,221,193,197,66,12,14,215,193,197,2,13,14,216,193,197,66,14,14,217,193,197,130,6,14,20,0,9,14,9,0,9,14,211,193,197,66,10,14,212,193,197,130,11,14,213,193,197,194,6,14,207,193,197,130,7,14,208,193,197,194,8,14,210,193,197,2,1,14,201,193,197,66,2,14,202,193,197,130,3,14,203,193,197,194,4,14,205,193,197,2,5,14,206,193,197,66,205,243,194,5,48,0,50,14,255,255,106,114,5,5,122,115,5,5,44,0,154,14,81,0,167,14,42,0,173,14,20,0,221,14,9,0,221,14,52,194,197,227,222,14,1,194,197,194,223,14,16,194,197,194,173,14,57,194,197,66,174,14,58,194,197,130,220,14,50,194,197,195,170,14,9,0,170,14,11,194,197,194,171,14,54,194,197,194,172,14,56,194,197,2,167,14,46,194,197,194,168,14,48,194,197,2,169,14,49,194,197,66,159,14,20,0,162,14,9,0,162,14,43,194,197,2,163,14,44,194,197,66,165,14,45,194,197,130,159,14,39,194,197,66,160,14,40,194,197,130,161,14,41,194,197,194,154,14,33,194,197,2,155,14,34,194,197,66,156,14,35,194,197,130,157,14,36,194,197,194,158,14,38,194,197,2,143,14,37,0,148,14,20,0,151,14,9,0,151,14,29,194,197,66,152,14,30,194,197,130,153,14,31,194,197,194,148,14,25,194,197,130,149,14,26,194,197,194,150,14,28,194,197,2,143,14,19,194,197,66,144,14,20,194,197,130,145,14,21,194,197,194,146,14,23,194,197,2,147,14,24,194,197,66,136,14,20,0,140,14,9,0,140,14,14,194,197,66,141,14,18,194,197,2,142,14,15,194,197,130,136,14,9,194,197,66,137,14,10,194,197,130,138,14,13,194,197,2,129,14,3,194,197,2,130,14,4,194,197,66,132,14,5,194,197,130,134,14,6,194,197,194,135,14,8,194,197,2,124,115,5,5,44,0,154,14,81,0,167,14,42,0,173,14,20,0,221,14,9,0,221,14,53,194,197,67,222,14,2,194,197,2,223,14,17,194,197,2,173,14,57,194,197,130,174,14,58,194,197,194,220,14,51,194,197,35,170,14,9,0,170,14,12,194,197,2,171,14,55,194,197,2,172,14,56,194,197,66,167,14,47,194,197,2,168,14,48,194,197,66,169,14,49,194,197,130,159,14,20,0,162,14,9,0,162,14,43,194,197,66,163,14,44,194,197,130,165,14,45,194,197,194,159,14,39,194,197,130,160,14,40,194,197,194,161,14,42,194,197,2,154,14,33,194,197,66,155,14,34,194,197,130,156,14,35,194,197,194,157,14,37,194,197,2,158,14,38,194,197,66,143,14,37,0,148,14,20,0,151,14,9,0,151,14,29,194,197,130,152,14,30,194,197,194,153,14,32,194,197,2,148,14,25,194,197,194,149,14,27,194,197,2,150,14,28,194,197,66,143,14,19,194,197,130,144,14,20,194,197,194,145,14,22,194,197,2,146,14,23,194,197,66,147,14,24,194,197,130,136,14,20,0,140,14,9,0,140,14,14,194,197,130,141,14,18,194,197,66,142,14,15,194,197,194,136,14,9,194,197,130,137,14,10,194,197,194,138,14,13,194,197,66,129,14,3,194,197,66,130,14,4,194,197,130,132,14,5,194,197,194,134,14,7,194,197,2,135,14,8,194,197,66,126,115,5,5,44,0,154,14,81,0,167,14,42,0,173,14,20,0,221,14,9,0,221,14,53,194,197,163,222,14,2,194,197,66,223,14,17,194,197,66,173,14,57,194,197,194,174,14,59,194,197,2,220,14,51,194,197,131,170,14,9,0,170,14,12,194,197,66,171,14,55,194,197,66,172,14,56,194,197,130,167,14,47,194,197,66,168,14,48,194,197,130,169,14,49,194,197,194,159,14,20,0,162,14,9,0,162,14,43,194,197,130,163,14,44,194,197,194,165,14,46,194,197,2,159,14,39,194,197,194,160,14,41,194,197,2,161,14,42,194,197,66,154,14,33,194,197,130,155,14,34,194,197,194,156,14,36,194,197,2,157,14,37,194,197,66,158,14,38,194,197,130,143,14,37,0,148,14,20,0,151,14,9,0,151,14,29,194,197,194,152,14,31,194,197,2,153,14,32,194,197,66,148,14,26,194,197,2,149,14,27,194,197,66,150,14,28,194,197,130,143,14,19,194,197,194,144,14,21,194,197,2,145,14,22,194,197,66,146,14,23,194,197,130,147,14,24,194,197,194,136,14,20,0,140,14,9,0,140,14,14,194,197,194,141,14,18,194,197,130,142,14,16,194,197,2,136,14,9,194,197,194,137,14,11,194,197,2,138,14,13,194,197,130,129,14,3,194,197,130,130,14,4,194,197,194,132,14,6,194,197,2,134,14,7,194,197,66,135,14,8,194,197,130,128,115,5,5,44,0,154,14,81,0,167,14,42,0,173,14,20,0,221,14,9,0,221,14,54,194,197,3,222,14,2,194,197,130,223,14,17,194,197,130,173,14,58,194,197,2,174,14,59,194,197,66,220,14,51,194,197,227,170,14,9,0,170,14,12,194,197,130,171,14,55,194,197,130,172,14,56,194,197,194,167,14,47,194,197,130,168,14,48,194,197,194,169,14,50,194,197,2,159,14,20,0,162,14,9,0,162,14,43,194,197,194,163,14,45,194,197,2,165,14,46,194,197,66,159,14,40,194,197,2,160,14,41,194,197,66,161,14,42,194,197,130,154,14,33,194,197,194,155,14,35,194,197,2,156,14,36,194,197,66,157,14,37,194,197,130,158,14,38,194,197,194,143,14,37,0,148,14,20,0,151,14,9,0,151,14,30,194,197,2,152,14,31,194,197,66,153,14,32,194,197,130,148,14,26,194,197,66,149,14,27,194,197,130,150,14,28,194,197,194,143,14,20,194,197,2,144,14,21,194,197,66,145,14,22,194,197,130,146,14,23,194,197,194,147,14,25,194,197,2,136,14,20,0,140,14,9,0,140,14,15,194,197,2,141,14,18,194,197,194,142,14,16,194,197,66,136,14,10,194,197,2,137,14,11,194,197,66,138,14,13,194,197,194,129,14,3,194,197,194,130,14,5,194,197,2,132,14,6,194,197,66,134,14,7,194,197,130,135,14,8,194,197,194,130,115,5,5,44,0,154,14,81,0,167,14,42,0,173,14,20,0,221,14,9,0,221,14,54,194,197,99,222,14,2,194,197,194,223,14,17,194,197,194,173,14,58,194,197,66,174,14,59,194,197,130,220,14,52,194,197,67,170,14,9,0,170,14,12,194,197,194,171,14,55,194,197,194,172,14,57,194,197,2,167,14,47,194,197,194,168,14,49,194,197,2,169,14,50,194,197,66,159,14,20,0,162,14,9,0,162,14,44,194,197,2,163,14,45,194,197,66,165,14,46,194,197,130,159,14,40,194,197,66,160,14,41,194,197,130,161,14,42,194,197,194,154,14,34,194,197,2,155,14,35,194,197,66,156,14,36,194,197,130,157,14,37,194,197,194,158,14,39,194,197,2,143,14,37,0,148,14,20,0,151,14,9,0,151,14,30,194,197,66,152,14,31,194,197,130,153,14,32,194,197,194,148,14,26,194,197,130,149,14,27,194,197,194,150,14,29,194,197,2,143,14,20,194,197,66,144,14,21,194,197,130,145,14,22,194,197,194,146,14,24,194,197,2,147,14,25,194,197,66,136,14,20,0,140,14,9,0,140,14,15,194,197,66,141,14,19,194,197,2,142,14,16,194,197,130,136,14,10,194,197,66,137,14,11,194,197,130,138,14,14,194,197,2,129,14,4,194,197,2,130,14,5,194,197,66,132,14,6,194,197,130,134,14,7,194,197,194,135,14,9,194,197,2,149,244,194,5,48,0,178,14,255,255,100,115,5,5,166,116,5,5,2,0,114,15,255,255,170,116,5,5,116,15,255,255,178,116,5,5,128,15,255,255,174,116,5,5,122,116,5,5,4,0,113,15,14,0,115,15,123,194,197,2,117,15,123,194,197,66,128,15,255,255,180,116,5,5,129,15,255,255,182,116,5,5,194,127,122,2,197,194,114,15,123,194,197,2,116,15,123,194,197,66,128,15,255,255,182,116,5,5,128,116,5,5,4,0,113,15,14,0,115,15,123,194,197,194,117,15,124,194,197,2,128,15,255,255,184,116,5,5,129,15,255,255,186,116,5,5,194,127,123,2,197,130,114,15,123,194,197,194,116,15,124,194,197,2,128,15,255,255,186,116,5,5,85,117,193,128,48,0,46,16,255,255,85,117,193,135,9,118,193,142,43,0,150,25,76,0,161,25,37,0,166,25,20,0,169,25,9,0,169,25,167,194,197,34,170,25,168,194,197,34,171,25,169,194,197,34,166,25,164,194,197,34,167,25,165,194,197,34,168,25,166,194,197,34,161,25,159,194,197,34,162,25,160,194,197,34,163,25,161,194,197,34,164,25,162,194,197,34,165,25,163,194,197,34,155,25,20,0,158,25,9,0,158,25,156,194,197,34,159,25,157,194,197,34,160,25,158,194,197,34,155,25,152,194,197,130,156,25,153,194,197,130,157,25,155,194,197,34,150,25,147,194,197,130,151,25,148,194,197,130,152,25,149,194,197,130,153,25,150,194,197,130,154,25,151,194,197,130,139,25,37,0,144,25,20,0,147,25,9,0,147,25,144,194,197,130,148,25,145,194,197,130,149,25,146,194,197,130,144,25,141,194,197,130,145,25,142,194,197,130,146,25,143,194,197,130,139,25,136,194,197,130,140,25,137,194,197,130,141,25,138,194,197,130,142,25,139,194,197,130,143,25,140,194,197,130,133,25,20,0,136,25,9,0,136,25,133,194,197,130,137,25,134,194,197,130,138,25,135,194,197,130,133,25,130,194,197,130,134,25,131,194,197,130,135,25,132,194,197,130,128,25,125,194,197,130,129,25,126,194,197,130,130,25,127,194,197,130,131,25,128,194,197,130,132,25,129,194,197,130,11,118,5,5,43,0,150,25,76,0,161,25,37,0,166,25,20,0,169,25,9,0,169,25,167,194,197,98,170,25,168,194,197,98,171,25,169,194,197,98,166,25,164,194,197,98,167,25,165,194,197,98,168,25,166,194,197,98,161,25,159,194,197,98,162,25,160,194,197,98,163,25,161,194,197,98,164,25,162,194,197,98,165,25,163,194,197,98,155,25,20,0,158,25,9,0,158,25,156,194,197,98,159,25,157,194,197,98,160,25,158,194,197,98,155,25,152,194,197,194,156,25,153,194,197,194,157,25,155,194,197,98,150,25,147,194,197,194,151,25,148,194,197,194,152,25,149,194,197,194,153,25,150,194,197,194,154,25,151,194,197,194,139,25,37,0,144,25,20,0,147,25,9,0,147,25,144,194,197,194,148,25,145,194,197,194,149,25,146,194,197,194,144,25,141,194,197,194,145,25,142,194,197,194,146,25,143,194,197,194,139,25,136,194,197,194,140,25,137,194,197,194,141,25,138,194,197,194,142,25,139,194,197,194,143,25,140,194,197,194,133,25,20,0,136,25,9,0,136,25,133,194,197,194,137,25,134,194,197,194,138,25,135,194,197,194,133,25,130,194,197,194,134,25,131,194,197,194,135,25,132,194,197,194,128,25,125,194,197,194,129,25,126,194,197,194,130,25,127,194,197,194,131,25,128,194,197,194,132,25,129,194,197,194,13,118,193,2,43,0,150,25,76,0,161,25,37,0,166,25,20,0,169,25,9,0,169,25,167,194,197,162,170,25,168,194,197,162,171,25,169,194,197,162,166,25,164,194,197,162,167,25,165,194,197,162,168,25,166,194,197,162,161,25,159,194,197,162,162,25,160,194,197,162,163,25,161,194,197,162,164,25,162,194,197,162,165,25,163,194,197,162,155,25,20,0,158,25,9,0,158,25,156,194,197,162,159,25,157,194,197,162,160,25,158,194,197,162,155,25,153,194,197,2,156,25,154,194,197,162,157,25,155,194,197,162,150,25,148,194,197,2,151,25,149,194,197,2,152,25,150,194,197,2,153,25,151,194,197,2,154,25,152,194,197,2,139,25,37,0,144,25,20,0,147,25,9,0,147,25,145,194,197,2,148,25,146,194,197,2,149,25,147,194,197,2,144,25,142,194,197,2,145,25,143,194,197,2,146,25,144,194,197,2,139,25,137,194,197,2,140,25,138,194,197,2,141,25,139,194,197,2,142,25,140,194,197,2,143,25,141,194,197,2,133,25,20,0,136,25,9,0,136,25,134,194,197,2,137,25,135,194,197,2,138,25,136,194,197,2,133,25,131,194,197,2,134,25,132,194,197,2,135,25,133,194,197,2,128,25,126,194,197,2,129,25,127,194,197,2,130,25,128,194,197,2,131,25,129,194,197,2,132,25,130,194,197,2,13,118,193,23,43,0,150,25,76,0,161,25,37,0,166,25,20,0,169,25,9,0,169,25,167,194,197,226,170,25,168,194,197,226,171,25,169,194,197,226,166,25,164,194,197,226,167,25,165,194,197,226,168,25,166,194,197,226,161,25,159,194,197,226,162,25,160,194,197,226,163,25,161,194,197,226,164,25,162,194,197,226,165,25,163,194,197,226,155,25,20,0,158,25,9,0,158,25,156,194,197,226,159,25,157,194,197,226,160,25,158,194,197,226,155,25,153,194,197,66,156,25,154,194,197,226,157,25,155,194,197,226,150,25,148,194,197,66,151,25,149,194,197,66,152,25,150,194,197,66,153,25,151,194,197,66,154,25,152,194,197,66,139,25,37,0,144,25,20,0,147,25,9,0,147,25,145,194,197,66,148,25,146,194,197,66,149,25,147,194,197,66,144,25,142,194,197,66,145,25,143,194,197,66,146,25,144,194,197,66,139,25,137,194,197,66,140,25,138,194,197,66,141,25,139,194,197,66,142,25,140,194,197,66,143,25,141,194,197,66,133,25,20,0,136,25,9,0,136,25,134,194,197,66,137,25,135,194,197,66,138,25,136,194,197,66,133,25,131,194,197,66,134,25,132,194,197,66,135,25,133,194,197,66,128,25,126,194,197,66,129,25,127,194,197,66,130,25,128,194,197,66,131,25,129,194,197,66,132,25,130,194,197,66,40,118,193,9,48,0,53,27,255,255,40,118,193,16,40,118,193,23,48,0,53,27,255,255,40,118,193,30,40,118,193,37,48,0,53,27,255,255,40,118,193,44,40,118,193,51,48,0,53,27,255,255,40,118,193,58,40,118,193,65,48,0,53,27,255,255,40,118,193,72,40,118,193,93,48,0,53,27,255,255,40,118,193,100,41,118,193,168,48,0,53,27,255,255,41,118,193,175,41,118,193,182,48,0,53,27,255,255,41,118,193,189,41,118,193,196,48,0,53,27,255,255,41,118,193,210,41,118,193,203,48,0,53,27,255,255,41,118,193,217,41,118,193,224,48,0,53,27,255,255,41,118,193,231,133,115,193,126,47,0,152,170,86,0,164,170,42,0,170,170,20,0,173,170,9,0,173,170,116,194,197,2,174,170,117,194,197,66,175,170,118,194,197,130,170,170,112,194,197,66,171,170,113,194,197,130,172,170,114,194,197,194,167,170,9,0,167,170,108,194,197,130,168,170,109,194,197,194,169,170,111,194,197,2,164,170,104,194,197,194,165,170,106,194,197,2,166,170,107,194,197,66,158,170,20,0,161,170,9,0,161,170,101,194,197,2,162,170,102,194,197,66,163,170,103,194,197,130,158,170,97,194,197,66,159,170,98,194,197,130,160,170,99,194,197,194,155,170,9,0,155,170,93,194,197,130,156,170,94,194,197,194,157,170,96,194,197,2,152,170,89,194,197,194,153,170,91,194,197,2,154,170,92,194,197,66,140,170,42,0,146,170,20,0,149,170,9,0,149,170,86,194,197,2,150,170,87,194,197,66,151,170,88,194,197,130,146,170,82,194,197,66,147,170,83,194,197,130,148,170,84,194,197,194,143,170,9,0,143,170,78,194,197,130,144,170,79,194,197,194,145,170,81,194,197,2,140,170,74,194,197,194,141,170,76,194,197,2,142,170,77,194,197,66,134,170,20,0,137,170,9,0,137,170,71,194,197,2,138,170,72,194,197,66,139,170,73,194,197,130,134,170,67,194,197,66,135,170,68,194,197,130,136,170,69,194,197,194,131,170,9,0,131,170,63,194,197,130,132,170,64,194,197,194,133,170,66,194,197,2,128,170,59,194,197,194,129,170,61,194,197,2,130,170,62,194,197,66,133,115,193,133,47,0,152,170,86,0,164,170,42,0,170,170,20,0,173,170,9,0,173,170,116,194,197,66,174,170,117,194,197,130,175,170,118,194,197,194,170,170,112,194,197,130,171,170,113,194,197,194,172,170,115,194,197,2,167,170,9,0,167,170,108,194,197,194,168,170,110,194,197,2,169,170,111,194,197,66,164,170,105,194,197,2,165,170,106,194,197,66,166,170,107,194,197,130,158,170,20,0,161,170,9,0,161,170,101,194,197,66,162,170,102,194,197,130,163,170,103,194,197,194,158,170,97,194,197,130,159,170,98,194,197,194,160,170,100,194,197,2,155,170,9,0,155,170,93,194,197,194,156,170,95,194,197,2,157,170,96,194,197,66,152,170,90,194,197,2,153,170,91,194,197,66,154,170,92,194,197,130,140,170,42,0,146,170,20,0,149,170,9,0,149,170,86,194,197,66,150,170,87,194,197,130,151,170,88,194,197,194,146,170,82,194,197,130,147,170,83,194,197,194,148,170,85,194,197,2,143,170,9,0,143,170,78,194,197,194,144,170,80,194,197,2,145,170,81,194,197,66,140,170,75,194,197,2,141,170,76,194,197,66,142,170,77,194,197,130,134,170,20,0,137,170,9,0,137,170,71,194,197,66,138,170,72,194,197,130,139,170,73,194,197,194,134,170,67,194,197,130,135,170,68,194,197,194,136,170,70,194,197,2,131,170,9,0,131,170,63,194,197,194,132,170,65,194,197,2,133,170,66,194,197,66,128,170,60,194,197,2,129,170,61,194,197,66,130,170,62,194,197,130,133,115,193,154,47,0,152,170,86,0,164,170,42,0,170,170,20,0,173,170,9,0,173,170,116,194,197,130,174,170,117,194,197,194,175,170,119,194,197,2,170,170,112,194,197,194,171,170,114,194,197,2,172,170,115,194,197,66,167,170,9,0,167,170,109,194,197,2,168,170,110,194,197,66,169,170,111,194,197,130,164,170,105,194,197,66,165,170,106,194,197,130,166,170,107,194,197,194,158,170,20,0,161,170,9,0,161,170,101,194,197,130,162,170,102,194,197,194,163,170,104,194,197,2,158,170,97,194,197,194,159,170,99,194,197,2,160,170,100,194,197,66,155,170,9,0,155,170,94,194,197,2,156,170,95,194,197,66,157,170,96,194,197,130,152,170,90,194,197,66,153,170,91,194,197,130,154,170,92,194,197,194,140,170,42,0,146,170,20,0,149,170,9,0,149,170,86,194,197,130,150,170,87,194,197,194,151,170,89,194,197,2,146,170,82,194,197,194,147,170,84,194,197,2,148,170,85,194,197,66,143,170,9,0,143,170,79,194,197,2,144,170,80,194,197,66,145,170,81,194,197,130,140,170,75,194,197,66,141,170,76,194,197,130,142,170,77,194,197,194,134,170,20,0,137,170,9,0,137,170,71,194,197,130,138,170,72,194,197,194,139,170,74,194,197,2,134,170,67,194,197,194,135,170,69,194,197,2,136,170,70,194,197,66,131,170,9,0,131,170,64,194,197,2,132,170,65,194,197,66,133,170,66,194,197,130,128,170,60,194,197,66,129,170,61,194,197,130,130,170,62,194,197,194,133,115,193,168,47,0,152,170,86,0,164,170,42,0,170,170,20,0,173,170,9,0,173,170,116,194,197,194,174,170,118,194,197,2,175,170,119,194,197,66,170,170,113,194,197,2,171,170,114,194,197,66,172,170,115,194,197,130,167,170,9,0,167,170,109,194,197,66,168,170,110,194,197,130,169,170,111,194,197,194,164,170,105,194,197,130,165,170,106,194,197,194,166,170,108,194,197,2,158,170,20,0,161,170,9,0,161,170,101,194,197,194,162,170,103,194,197,2,163,170,104,194,197,66,158,170,98,194,197,2,159,170,99,194,197,66,160,170,100,194,197,130,155,170,9,0,155,170,94,194,197,66,156,170,95,194,197,130,157,170,96,194,197,194,152,170,90,194,197,130,153,170,91,194,197,194,154,170,93,194,197,2,140,170,42,0,146,170,20,0,149,170,9,0,149,170,86,194,197,194,150,170,88,194,197,2,151,170,89,194,197,66,146,170,83,194,197,2,147,170,84,194,197,66,148,170,85,194,197,130,143,170,9,0,143,170,79,194,197,66,144,170,80,194,197,130,145,170,81,194,197,194,140,170,75,194,197,130,141,170,76,194,197,194,142,170,78,194,197,2,134,170,20,0,137,170,9,0,137,170,71,194,197,194,138,170,73,194,197,2,139,170,74,194,197,66,134,170,68,194,197,2,135,170,69,194,197,66,136,170,70,194,197,130,131,170,9,0,131,170,64,194,197,66,132,170,65,194,197,130,133,170,66,194,197,194,128,170,60,194,197,130,129,170,61,194,197,194,130,170,63,194,197,2,133,115,193,175,47,0,152,170,86,0,164,170,42,0,170,170,20,0,173,170,9,0,173,170,117,194,197,2,174,170,118,194,197,66,175,170,119,194,197,130,170,170,113,194,197,66,171,170,114,194,197,130,172,170,115,194,197,194,167,170,9,0,167,170,109,194,197,130,168,170,110,194,197,194,169,170,112,194,197,2,164,170,105,194,197,194,165,170,107,194,197,2,166,170,108,194,197,66,158,170,20,0,161,170,9,0,161,170,102,194,197,2,162,170,103,194,197,66,163,170,104,194,197,130,158,170,98,194,197,66,159,170,99,194,197,130,160,170,100,194,197,194,155,170,9,0,155,170,94,194,197,130,156,170,95,194,197,194,157,170,97,194,197,2,152,170,90,194,197,194,153,170,92,194,197,2,154,170,93,194,197,66,140,170,42,0,146,170,20,0,149,170,9,0,149,170,87,194,197,2,150,170,88,194,197,66,151,170,89,194,197,130,146,170,83,194,197,66,147,170,84,194,197,130,148,170,85,194,197,194,143,170,9,0,143,170,79,194,197,130,144,170,80,194,197,194,145,170,82,194,197,2,140,170,75,194,197,194,141,170,77,194,197,2,142,170,78,194,197,66,134,170,20,0,137,170,9,0,137,170,72,194,197,2,138,170,73,194,197,66,139,170,74,194,197,130,134,170,68,194,197,66,135,170,69,194,197,130,136,170,70,194,197,194,131,170,9,0,131,170,64,194,197,130,132,170,65,194,197,194,133,170,67,194,197,2,128,170,60,194,197,194,129,170,62,194,197,2,130,170,63,194,197,66,255,255,255,255,0,0,92,0,131,27,30,2,0,170,183,1,8,216,104,0,35,216,48,0,56,216,26,0,56,216,6,0,58,216,13,0,208,253,255,255,4,254,193,2,1,0,8,221,255,255,243,123,193,2,225,222,255,255,245,123,193,2,1,0,2,220,255,255,95,120,193,2,9,221,255,255,167,120,193,2,35,216,8,0,44,216,11,0,47,216,48,0,32,220,255,255,88,124,193,2,48,0,101,220,255,255,166,125,193,2,48,0,196,221,255,255,155,125,193,2,26,216,32,0,26,216,8,0,27,216,19,0,32,216,48,0,41,222,255,255,100,125,193,2,2,0,79,222,255,255,98,124,193,2,230,222,255,255,94,120,193,2,28,223,255,255,240,123,193,2,1,0,64,222,255,255,101,120,193,2,0,223,255,255,153,123,193,2,8,216,8,0,12,216,11,0,17,216,48,0,0,220,255,255,83,125,193,2,48,0,0,220,255,255,207,124,193,2,48,0,83,221,255,255,4,125,193,2,2,216,244,0,5,216,84,0,5,216,24,0,6,216,49,0,7,216,4,0,14,220,255,255,248,113,193,2,114,220,255,255,4,117,193,2,16,221,255,255,224,113,193,2,113,221,255,255,229,113,193,2,229,222,255,255,30,117,193,2,5,0,14,222,12,0,14,222,255,255,201,113,193,2,128,222,255,255,203,113,193,2,23,223,255,255,211,113,193,2,18,220,255,255,180,113,193,2,132,220,255,255,183,113,193,2,142,221,255,255,185,113,193,2,6,0,206,221,16,0,206,221,255,255,207,113,193,2,11,222,255,255,198,116,193,2,92,222,255,255,209,116,193,2,192,222,255,255,238,123,193,2,11,220,255,255,209,113,193,2,180,220,255,255,172,123,193,2,12,221,255,255,205,113,193,2,2,216,46,0,3,216,119,0,4,216,9,0,131,221,20,0,131,221,255,255,170,113,193,2,8,222,255,255,172,113,193,2,143,222,255,255,176,113,193,2,190,222,255,255,174,113,193,2,21,223,255,255,178,113,193,2,5,220,255,255,244,113,193,2,131,220,255,255,166,113,193,2,208,220,255,255,97,124,193,2,3,221,255,255,96,117,193,2,82,221,255,255,168,113,193,2,16,0,160,221,38,0,216,222,20,0,216,222,255,255,163,124,193,2,0,223,255,255,119,124,193,2,64,223,255,255,159,124,193,2,96,223,255,255,160,124,193,2,143,223,255,255,161,124,193,2,160,221,255,255,34,125,193,2,0,222,255,255,246,113,193,2,96,222,255,255,117,124,193,2,149,222,255,255,118,124,193,2,244,220,16,0,244,220,255,255,157,124,193,2,0,221,255,255,50,101,193,2,32,221,255,255,250,123,193,2,128,221,255,255,34,125,193,2,0,220,255,255,115,124,193,2,64,220,255,255,158,124,193,2,115,220,255,255,125,124,193,2,150,220,255,255,130,124,193,2,7,0,25,223,16,0,25,223,255,255,168,124,193,2,66,223,255,255,196,124,193,2,191,223,255,255,203,124,193,2,241,223,255,255,162,124,193,2,0,220,255,255,144,119,193,2,161,220,255,255,60,119,193,2,18,221,255,255,94,117,193,2,136,222,255,255,201,124,193,2,0,172,73,0,0,172,255,255,4,121,193,2,0,216,32,0,1,216,6,0,181,220,16,0,181,220,255,255,232,118,193,2,0,221,255,255,93,124,193,2,55,221,255,255,95,124,193,2,71,222,255,255,105,124,193,2,20,220,255,255,4,124,193,2,80,220,255,255,86,124,193,2,128,220,255,255,92,124,193,2,7,0,48,223,16,0,48,223,255,255,252,123,193,2,107,223,255,255,100,98,193,2,128,223,255,255,204,124,193,2,160,223,255,255,205,124,193,2,0,220,255,255,99,124,193,2,128,222,255,255,247,123,193,2,160,222,255,255,248,123,193,2,0,223,255,255,251,123,193,2,0,170,255,255,38,118,193,2,128,170,255,255,132,115,193,2,192,171,255,255,160,113,193,2,5,49,54,0,0,168,26,0,10,169,12,0,10,169,255,255,78,117,193,2,48,169,255,255,76,117,193,2,132,169,255,255,42,118,193,2,0,168,255,255,162,113,193,2,64,168,255,255,8,117,193,2,130,168,255,255,164,113,193,2,208,164,12,0,208,164,255,255,151,123,193,2,73,165,255,255,4,120,193,2,160,166,255,255,76,120,193,2,5,49,255,255,4,123,193,2,87,91,255,255,2,126,193,2,136,162,255,255,118,123,193,2,172,32,24,0,48,45,12,0,48,45,255,255,141,103,193,2,75,48,255,255,4,122,193,2,171,48,255,255,4,122,193,2,172,32,132,205,193,2,58,38,2,204,193,2,0,44,255,255,4,98,193,2,131,27,255,255,231,113,193,2,192,27,255,255,31,117,193,2,0,28,255,255,6,117,193,2,90,28,255,255,56,118,193,2,28,32,6,197,193,2,133,13,104,0,3,23,54,0,0,25,26,0,0,26,12,0,0,26,255,255,29,117,193,2,32,26,255,255,18,118,193,2,5,27,255,255,40,118,193,2,0,25,255,255,10,117,193,2,80,25,255,255,4,118,193,2,128,25,255,255,5,118,193,2,99,23,12,0,99,23,255,255,28,117,193,2,128,23,255,255,98,117,193,2,38,24,255,255,52,118,193,2,3,23,255,255,25,117,193,2,35,23,255,255,26,117,193,2,67,23,255,255,27,117,193,2,211,16,26,0,192,20,12,0,192,20,255,255,234,118,193,2,143,22,255,255,254,118,193,2,160,22,255,255,4,119,193,2,211,16,255,255,4,99,193,2,160,18,255,255,143,103,193,2,196,19,255,255,58,118,193,2,133,13,255,255,4,113,193,2,23,14,255,255,4,114,193,2,165,14,255,255,4,115,193,2,64,15,255,255,4,116,193,2,0,16,255,255,79,117,193,2,202,7,54,0,149,10,26,0,21,12,12,0,21,12,255,255,4,110,193,2,149,12,255,255,4,111,193,2,21,13,255,255,4,112,193,2,149,10,255,255,4,107,193,2,21,11,255,255,4,108,193,2,149,11,255,255,4,109,193,2,5,9,12,0,5,9,255,255,4,104,193,2,149,9,255,255,4,105,193,2,21,10,255,255,4,106,193,2,202,7,255,255,130,103,193,2,0,8,255,255,51,101,193,2,64,8,255,255,27,103,193,2,47,4,26,0,40,6,12,0,40,6,255,255,4,102,193,2,16,7,255,255,4,103,193,2,140,7,255,255,28,103,193,2,47,4,255,255,4,97,193,2,49,5,255,255,4,100,193,2,208,5,255,255,4,101,193,2,52,0,2,206,193,2,76,0,2,233,193,2,160,0,2,195,193,2,169,3,255,255,4,96,193,2,226,3,255,255,96,96,193,2,97,117,193,91,49,0,4,216,39,221,255,255,97,117,193,70,97,117,193,98,49,0,4,216,39,221,255,255,97,117,193,77,179,113,193,182,48,0,4,216,1,0,62,223,255,255,179,113,193,196,87,223,255,255,179,113,193,203,184,113,193,175,48,0,5,216,2,0,176,220,255,255,184,113,193,196,186,220,255,255,184,113,193,189,189,220,255,255,184,113,193,210,200,113,193,16,49,0,5,216,175,221,255,255,200,113,193,30,200,113,193,23,49,0,5,216,175,221,255,255,200,113,193,37,206,113,193,112,49,0,6,216,48,221,255,255,206,113,193,126,80,130,224,0,52,0,53,0,76,0,77,0,160,0,161,0,6,3,7,3,169,3,170,3,226,3,227,3,47,4,48,4,49,5,50,5,208,5,209,5,40,6,41,6,83,6,86,6,16,7,17,7,140,7,141,7,202,7,203,7,0,8,1,8,64,8,65,8,5,9,6,9,149,9,150,9,190,9,191,9,215,9,216,9,21,10,22,10,149,10,150,10,21,11,22,11,62,11,63,11,86,11,88,11,149,11,150,11,190,11,191,11,215,11,216,11,21,12,22,12,86,12,87,12,149,12,150,12,194,12,195,12,213,12,215,12,21,13,22,13,62,13,63,13,87,13,88,13,133,13,134,13,202,13,203,13,207,13,208,13,223,13,224,13,1,14,47,14,50,14,51,14,129,14,131,14,132,14,133,14,134,14,139,14,140,14,164,14,165,14,166,14,167,14,175,14,178,14,179,14,220,14,224,14,64,15,65,15,113,15,118,15,128,15,130,15,0,16,1,16,46,16,47,16,211,16,212,16,160,18,161,18,196,19,197,19,192,20,193,20,143,22,144,22,160,22,161,22,3,23,4,23,35,23,36,23,67,23,68,23,99,23,100,23,128,23,129,23,38,24,39,24,0,25,1,25,80,25,81,25,128,25,172,25,0,26,1,26,32,26,33,26,5,27,6,27,53,27,54,27,131,27,132,27,192,27,193,27,0,28,1,28,90,28,91,28,28,32,29,32,172,32,173,32,58,38,59,38,0,44,1,44,48,45,49,45,75,48,76,48,171,48,172,48,5,49,6,49,87,91,88,91,136,162,137,162,208,164,209,164,73,165,74,165,160,166,161,166,0,168,1,168,64,168,65,168,130,168,131,168,10,169,11,169,48,169,49,169,132,169,133,169,0,170,1,170,128,170,176,170,192,171,193,171,0,172,1,172,0,216,9,216,12,216,13,216,17,216,18,216,26,216,28,216,32,216,33,216,35,216,36,216,44,216,45,216,47,216,48,216,56,216,57,216,58,216,59,216,208,253,209,253,1,0,0,0,1,0,1,0,1,0,128,2,1,0,129,2,1,0,160,2,1,0,161,2,1,0,0,3,1,0,1,3,1,0,48,3,1,0,49,3,1,0,107,3,1,0,108,3,1,0,128,3,1,0,129,3,1,0,160,3,1,0,161,3,1,0,20,4,1,0,21,4,1,0,80,4,1,0,81,4,1,0,128,4,1,0,129,4,1,0,181,4,1,0,182,4,1,0,0,5,1,0,1,5,1,0,55,5,1,0,56,5,1,0,71,6,1,0,72,6,1,0,0,8,1,0,1,8,1,0,64,8,1,0,65,8,1,0,115,8,1,0,116,8,1,0,150,8,1,0,151,8,1,0,244,8,1,0,245,8,1,0,0,9,1,0,1,9,1,0,32,9,1,0,33,9,1,0,128,9,1,0,129,9,1,0,160,9,1,0,161,9,1,0,0,10,1,0,1,10,1,0,96,10,1,0,97,10,1,0,149,10,1,0,150,10,1,0,216,10,1,0,217,10,1,0,0,11,1,0,1,11,1,0,64,11,1,0,65,11,1,0,96,11,1,0,97,11,1,0,143,11,1,0,144,11,1,0,0,12,1,0,1,12,1,0,161,12,1,0,162,12,1,0,18,13,1,0,19,13,1,0,136,14,1,0,137,14,1,0,25,15,1,0,26,15,1,0,66,15,1,0,67,15,1,0,191,15,1,0,192,15,1,0,241,15,1,0,242,15,1,0,5,16,1,0,6,16,1,0,131,16,1,0,132,16,1,0,208,16,1,0,209,16,1,0,3,17,1,0,4,17,1,0,39,17,1,0,40,17,1,0,82,17,1,0,83,17,1,0,131,17,1,0,132,17,1,0,8,18,1,0,9,18,1,0,143,18,1,0,144,18,1,0,190,18,1,0,191,18,1,0,21,19,1,0,22,19,1,0,62,19,1,0,63,19,1,0,87,19,1,0,88,19,1,0,18,20,1,0,19,20,1,0,132,20,1,0,133,20,1,0,176,20,1,0,177,20,1,0,186,20,1,0,187,20,1,0,189,20,1,0,190,20,1,0,142,21,1,0,143,21,1,0,175,21,1,0,176,21,1,0,14,22,1,0,15,22,1,0,128,22,1,0,129,22,1,0,23,23,1,0,24,23,1,0,11,24,1,0,12,24,1,0,180,24,1,0,181,24,1,0,12,25,1,0,13,25,1,0,48,25,1,0,49,25,1,0,206,25,1,0,207,25,1,0,11,26,1,0,12,26,1,0,92,26,1,0,93,26,1,0,192,26,1,0,193,26,1,0,14,28,1,0,15,28,1,0,114,28,1,0,115,28,1,0,16,29,1,0,17,29,1,0,113,29,1,0,114,29,1,0,229,30,1,0,230,30,1,0,0,32,1,0,1,32,1,0,83,49,1,0,84,49,1,0,0,68,1,0,1,68,1,0,79,106,1,0,80,106,1,0,230,106,1,0,231,106,1,0,28,107,1,0,29,107,1,0,64,110,1,0,65,110,1,0,0,111,1,0,1,111,1,0,41,130,1,0,42,130,1,0,101,140,1,0,102,140,1,0,196,177,1,0,197,177,1,0,32,188,1,0,33,188,1,0,8,225,1,0,9,225,1,0,225,226,1,0,226,226,1,0,2,232,1,0,3,232,1,0,9,233,1,0,10,233,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,176,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,176,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,193,0,0,0,0,0,19,0,15,0,27,0,107,0,92,0,10,0,11,0,121,0,26,0,25,0,14,0,120,0,9,0,29,0,28,0,157,0,105,0,16,0,106,0,33,0,106,0,83,0,62,0,7,0,34,0,90,0,80,0,95,0,119,0,30,0,96,0,35,0,20,0,31,0,32,0,22,0,61,0,64,0,94,0,108,0,71,0,72,0,73,0,74,0,0,0,131,0,70,0,129,0,124,0,122,0,84,0,148,0,106,0,75,0,12,0,59,0,37,0,85,0,24,0,149,0,88,0,77,0,0,0,58,0,87,0,0,0,0,0,0,0,0,0,151,0,0,0,157,0,157,0,113,0,97,0,0,0,89,0,79,0,0,0,0,0,68,0,130,0,21,0,0,0,152,0,23,0,98,0,13,0,69,0,17,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,150,0,0,0,158,0,117,0,0,0,86,0,116,0,118,0,91,0,78,0,38,0,0,0,57,0,0,0,36,0,138,0,134,0,82,0,0,0,39,0,143,0,140,0,141,0,0,0,139,0,18,0,63,0,0,0,0,0,100,0,109,0,0,0,132,0,101,0,123,0,125,0,45,0,0,0,0,0,102,0,152,0,133,0,136,0,135,0,43,0,111,0,0,0,0,0,128,0,155,0,41,0,127,0,50,0,154,0,0,0,153,0,42,0,47,0,126,0,40,0,54,0,137,0,49,0,44,0,112,0,48,0,104,0,60,0,67,0,46,0,93,0,0,0,0,0,0,0,55,0,66,0,65,0,53,0,56,0,76,0,103,0,81,0,145,0,144,0,142,0,114,0,52,0,115,0,147,0,51,0,156,0,146,0,1,0,2,0,3,0,4,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,8,0,0,0,0,3,6,5,0,12,132,13,0,14,0,39,0,41,0,94,0,96,96,96,0,97,0,98,100,98,0,99,0,100,0,101,50,101,51,101,0,102,0,103,27,103,28,103,130,103,141,103,143,103,0,104,0,105,0,106,0,107,0,108,0,109,0,110,0,111,0,112,0,113,160,113,162,113,164,113,166,113,168,113,170,113,172,113,174,113,176,113,178,113,180,113,183,113,185,113,201,113,203,113,205,113,207,113,209,113,211,113,224,113,229,113,231,113,244,113,246,113,248,113,0,114,0,115,132,115,0,116,198,116,209,116,0,117,6,117,8,117,10,117,25,117,26,117,27,117,28,117,29,117,30,117,31,117,76,117,78,117,79,117,94,117,96,117,98,117,0,118,5,118,18,118,38,118,40,118,42,118,52,118,56,118,58,118,232,118,234,118,254,118,0,119,60,119,144,119,0,120,76,120,94,120,95,120,101,120,167,120,0,121,0,122,0,123,118,123,151,123,153,123,172,123,238,123,240,123,243,123,245,123,247,123,248,123,250,123,251,123,252,123,0,124,86,124,88,124,92,124,93,124,95,124,97,124,98,124,99,124,105,124,115,124,117,124,118,124,119,124,125,124,130,124,157,124,158,124,159,124,160,124,161,124,162,124,163,124,168,124,196,124,201,124,203,124,204,124,205,124,207,124,0,125,34,125,83,125,100,125,155,125,166,125,0,126,0,254,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,63,7,0,32,7,0,0,0,21,0,0,0,65,7,0,0,65,7,0,0,3,0,0,0,0,0,0,0,47,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,46,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,39,6,60,0,213,6,60,0,40,6,38,0,67,6,60,0,175,6,60,0,173,6,60,0,68,6,38,0,190,6,60,0,72,6,60,0,199,6,60,0,198,6,60,0,200,6,60,0,203,6,60,0,208,6,60,0,73,6,60,0,74,6,0,0,32,28,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,160,27,0,0,160,27,0,0,160,27,0,0,160,27,0,0,236,27,0,0,236,27,0,0,8,28,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,157,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,95,0,103,0,100,0,108,0,116,0,124,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,140,0,48,0,48,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,124,1,144,1,208,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,3,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,183,102,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,193,8,217,102,201,230,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,3,183,102,192,0,0,0,193,2,183,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,217,102,193,3,217,102,193,5,217,102,192,0,0,0,192,0,0,0,193,6,217,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,7,217,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,193,2,27,102,194,5,128,232,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,217,102,193,2,48,0,84,6,255,255,16,102,5,5,217,102,193,9,48,0,84,6,255,255,22,102,5,5,3,0,69,0,52,0,61,0,47,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,56,7,0,32,1,0,32,0,61,7,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,17,7,0,32,7,0,0,0,21,0,0,0,19,7,0,0,19,7,0,0,3,0,0,0,0,0,0,0,41,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,19,4,60,0,145,4,60,0,60,0,60,0,144,4,38,0,71,166,60,0,87,4,60,0,60,0,60,0,118,166,60,0,60,0,60,0,7,4,0,0,170,170,170,170,170,170,170,170,170,170,120,27,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,68,27,0,0,68,27,0,0,96,27,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,147,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,91,0,99,0,103,0,111,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,130,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,127,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,108,1,156,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,135,5,77,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,0,0,5,5,77,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,17,97,5,5,17,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,77,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,74,97,174,5,48,0,8,3,255,255,77,97,135,5,74,97,5,5,48,0,8,3,255,255,77,97,5,5,3,0,69,0,52,0,61,0,43,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,10,7,0,32,1,0,32,0,15,7,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,55,8,0,32,7,0,0,0,21,0,0,0,57,8,0,0,57,8,0,0,3,0,0,0,0,0,0,0,150,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,252,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,39,6,60,0,60,0,35,6,60,0,34,6,60,0,40,6,60,0,40,6,190,6,60,0,126,6,60,0,126,6,190,6,60,0,42,6,60,0,42,6,190,6,60,0,121,6,60,0,121,6,190,6,60,0,43,6,60,0,44,6,60,0,44,6,190,6,60,0,134,6,60,0,134,6,190,6,60,0,45,6,60,0,46,6,60,0,47,6,60,0,47,6,190,6,60,0,136,6,60,0,136,6,190,6,60,0,48,6,60,0,49,6,60,0,49,6,190,6,60,0,145,6,60,0,145,6,190,6,60,0,50,6,60,0,152,6,60,0,51,6,60,0,52,6,60,0,53,6,60,0,54,6,60,0,55,6,60,0,56,6,60,0,57,6,60,0,58,6,60,0,65,6,60,0,66,6,60,0,169,6,60,0,169,6,190,6,60,0,175,6,60,0,175,6,190,6,60,0,68,6,60,0,68,6,190,6,60,0,69,6,60,0,69,6,190,6,60,0,70,6,60,0,70,6,190,6,60,0,186,6,60,0,186,6,190,6,60,0,72,6,60,0,60,0,36,6,60,0,72,6,190,6,60,0,193,6,60,0,60,0,194,6,60,0,190,6,60,0,195,6,60,0,33,6,60,0,204,6,60,0,60,0,38,6,60,0,204,6,190,6,60,0,210,6,60,0,60,0,211,6,38,0,82,6,60,0,60,0,78,6,60,0,60,0,80,6,60,0,60,0,79,6,60,0,60,0,112,6,60,0,60,0,86,6,60,0,60,0,87,6,60,0,60,0,75,6,60,0,60,0,77,6,60,0,60,0,76,6,60,0,60,0,84,6,60,0,60,0,81,6,60,0,60,0,88,6,60,0,60,0,83,6,38,0,91,0,108,0,97,0,115,0,116,0,32,0,116,0,101,0,114,0,116,0,105,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,60,0,16,6,60,0,60,0,60,0,17,6,60,0,60,0,60,0,19,6,60,0,60,0,60,0,18,6,60,0,60,0,60,0,20,6,0,0,170,170,170,170,94,30,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,16,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,68,0,0,0,68,1,0,0,100,28,0,0,100,28,0,0,172,28,0,0,172,28,0,0,248,28,0,0,248,28,0,0,60,30,0,0,66,30,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,169,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,96,0,104,0,112,0,120,0,128,0,136,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,152,0,48,0,48,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,128,1,192,1,0,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,198,129,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,56,27,102,193,2,27,102,5,70,26,102,198,161,0,0,192,0,0,0,198,193,0,0,201,6,0,0,201,224,1,0,192,0,0,0,201,192,2,0,193,11,27,102,201,160,3,0,193,16,27,102,193,17,27,102,201,128,4,0,193,22,27,102,201,96,5,0,193,27,27,102,193,29,27,102,193,30,27,102,193,31,27,102,193,32,27,102,193,33,27,102,193,34,27,102,193,35,27,102,193,36,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,37,27,102,193,38,27,102,192,0,0,0,201,64,6,0,201,32,7,0,201,0,8,0,192,0,0,0,201,228,8,0,192,0,0,0,201,38,10,0,194,5,69,232,194,5,71,232,194,5,70,232,194,5,63,232,194,5,65,232,194,5,64,232,194,5,73,232,192,0,0,0,194,5,75,232,194,5,72,232,192,0,0,0,194,5,67,232,194,5,68,232,194,5,74,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,66,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,224,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,192,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,160,12,0,192,0,0,0,201,128,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,96,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,28,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,64,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,0,17,0,192,0,0,0,192,0,0,0,192,0,0,0,193,54,27,102,192,0,0,0,197,34,0,0,201,230,17,0,198,225,0,0,193,55,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,160,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,19,0,198,1,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,2,188,0,0,0,0,0,0,3,188,0,0,0,0,0,0,5,188,0,0,0,0,0,0,4,188,0,0,0,0,0,0,6,188,0,0,0,0,0,0,0,5,0,70,0,51,27,102,0,5,0,70,0,57,27,102,0,5,0,70,0,53,27,102,0,5,0,70,0,59,27,102,0,0,0,0,193,16,220,102,194,5,72,232,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,26,102,5,5,2,0,83,6,255,255,27,102,193,2,84,6,255,255,26,102,5,70,85,6,255,255,18,102,5,5,27,102,193,3,48,0,190,6,255,255,27,102,193,4,27,102,193,7,48,0,190,6,255,255,27,102,193,8,27,102,193,12,48,0,190,6,255,255,27,102,193,13,27,102,193,18,48,0,190,6,255,255,27,102,193,19,27,102,193,23,48,0,190,6,255,255,27,102,193,24,27,102,193,43,48,0,190,6,255,255,27,102,193,44,27,102,193,45,48,0,190,6,255,255,27,102,193,46,27,102,193,47,48,0,190,6,255,255,27,102,193,48,27,102,193,51,1,0,84,6,0,192,198,161,190,6,255,255,27,102,193,52,238,102,5,5,48,0,84,6,0,192,198,193,27,102,193,9,48,0,190,6,255,255,27,102,193,10,27,102,193,5,48,0,190,6,255,255,27,102,193,6,27,102,193,14,48,0,190,6,255,255,27,102,193,15,27,102,193,20,48,0,190,6,255,255,27,102,193,21,27,102,193,25,48,0,190,6,255,255,27,102,193,26,27,102,193,39,48,0,190,6,255,255,27,102,193,40,27,102,193,41,48,0,190,6,255,255,27,102,193,42,27,102,193,49,48,0,190,6,255,255,27,102,193,50,27,102,193,53,48,0,84,6,0,192,198,225,27,102,193,57,48,0,190,6,255,255,27,102,193,58,27,102,193,59,48,0,84,6,1,192,198,1,2,0,190,6,191,6,170,170,3,0,69,0,52,0,61,0,151,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,48,8,0,32,1,0,32,0,53,8,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,108,8,0,32,7,0,0,0,21,0,0,0,110,8,0,0,110,8,0,0,3,0,0,0,0,0,0,0,65,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,82,220,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,146,2,60,0,111,0,187,2,61,0,111,0,24,32,61,0,111,0,39,0,39,0,60,0,60,0,60,0,79,0,187,2,61,0,79,0,24,32,61,0,79,0,39,0,39,0,60,0,103,0,187,2,61,0,103,0,24,32,61,0,103,0,39,0,39,0,60,0,60,0,60,0,71,0,187,2,61,0,71,0,24,32,61,0,71,0,39,0,39,0,60,0,115,0,104,0,60,0,60,0,60,0,83,0,104,0,60,0,60,0,60,0,83,0,72,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,0,0,170,170,170,170,170,170,170,170,132,32,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,23,0,0,100,23,0,0,116,25,0,0,116,25,0,0,56,26,0,0,56,26,0,0,18,28,0,0,56,28,0,0,104,32,0,0,50,105,114,84,1,0,64,8,105,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,4,0,202,1,5,0,202,34,5,0,202,67,5,0,202,100,5,0,202,133,5,0,202,166,5,0,202,199,5,0,202,232,5,0,202,9,6,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,64,7,0,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,192,8,0,156,5,0,72,160,5,0,74,156,5,0,76,201,64,10,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,192,17,0,5,5,0,48,5,5,0,50,5,5,0,52,201,192,21,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,160,23,0,5,5,0,72,5,5,0,74,5,5,0,76,201,128,25,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,4,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,4,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,4,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,135,0,5,0,5,25,93,0,70,0,5,0,5,25,93,0,135,0,5,0,5,25,93,0,5,0,142,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,142,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,144,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,144,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,156,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,156,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,196,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,196,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,150,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,150,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,160,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,160,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,206,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,206,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,210,0,0,0,0,0,70,0,5,0,3,25,93,0,70,0,5,0,2,25,93,0,135,0,5,0,4,25,93,0,70,0,5,0,4,25,93,0,135,0,5,0,4,25,93,0,5,0,142,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,142,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,144,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,144,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,156,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,156,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,196,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,196,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,150,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,150,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,160,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,160,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,206,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,206,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,210,0,0,0,0,0,0,0,0,193,5,25,93,5,142,0,0,193,5,25,93,5,144,0,0,193,5,25,93,5,156,0,0,193,5,25,93,5,196,0,0,193,5,25,93,5,150,0,0,193,5,25,93,5,160,0,0,193,5,25,93,5,206,0,0,193,5,25,93,5,210,0,0,193,4,25,93,5,142,0,0,193,4,25,93,5,144,0,0,193,4,25,93,5,156,0,0,193,4,25,93,5,196,0,0,193,4,25,93,5,150,0,0,193,4,25,93,5,160,0,0,193,4,25,93,5,206,0,0,193,4,25,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,198,194,41,30,3,192,198,2,42,30,3,192,198,66,43,30,3,192,198,130,150,30,3,192,198,194,36,30,1,192,198,194,37,30,2,192,198,2,38,30,2,192,198,66,39,30,2,192,198,130,30,2,12,0,30,2,0,192,198,194,31,2,1,192,198,2,34,30,1,192,198,66,35,30,1,192,198,130,72,0,198,129,104,0,198,161,36,1,0,192,198,66,37,1,0,192,198,130,0,54,156,5,2,0,39,0,4,192,198,1,187,2,4,192,198,1,24,32,4,192,198,1,0,70,156,5,2,0,39,0,4,192,198,33,187,2,4,192,198,33,24,32,4,192,198,33,0,78,156,5,16,0,36,30,29,0,40,30,15,0,40,30,7,192,198,2,41,30,7,192,198,66,42,30,7,192,198,130,43,30,7,192,198,194,150,30,8,192,198,2,36,30,6,192,198,2,37,30,6,192,198,66,38,30,6,192,198,130,39,30,6,192,198,194,30,2,12,0,30,2,5,192,198,2,31,2,5,192,198,66,34,30,5,192,198,130,35,30,5,192,198,194,72,0,4,192,198,65,104,0,4,192,198,97,36,1,4,192,198,130,37,1,4,192,198,194,0,46,5,5,8,0,37,30,15,0,37,30,0,192,197,226,39,30,1,192,197,34,41,30,1,192,197,98,43,30,1,192,197,162,150,30,1,192,197,226,104,0,255,255,25,93,193,5,37,1,197,162,31,2,0,192,197,98,35,30,0,192,197,162,0,54,5,5,2,0,39,0,255,255,25,93,193,3,187,2,255,255,25,93,193,3,24,32,255,255,25,93,193,3,0,70,5,5,2,0,39,0,255,255,25,93,193,2,187,2,255,255,25,93,193,2,24,32,255,255,25,93,193,2,0,78,5,5,8,0,37,30,15,0,37,30,2,192,197,226,39,30,3,192,197,34,41,30,3,192,197,98,43,30,3,192,197,162,150,30,3,192,197,226,104,0,255,255,25,93,193,4,37,1,2,192,197,34,31,2,2,192,197,98,35,30,2,192,197,162,18,0,39,0,40,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,187,2,188,2,34,30,44,30,150,30,151,30,24,32,25,32,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,68,186,72,185,76,36,4,185,84,186,88,186,96,185,100,185,104,185,108,186,112,42,4,185,124,185,128,185,136,48,4,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,58,4,168,68,168,72,168,76,64,4,168,84,168,88,168,96,168,100,168,104,168,108,168,112,70,4,168,124,168,128,168,136,76,4,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,192,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,192,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,196,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,186,188,104,4,177,188,36,5,250,189,37,5,241,189,255,5,185,80,39,4,177,180,152,5,177,180,255,5,185,120,39,4,177,176,152,5,177,176,255,5,186,140,72,4,186,184,104,4,177,184,36,5,250,185,37,5,241,185,255,5,168,64,104,4,168,188,37,5,232,189,255,5,168,80,39,4,168,180,152,5,168,180,255,5,168,120,39,4,168,176,152,5,168,176,255,5,168,140,104,4,168,184,37,5,232,185,255,1,3,0,69,0,52,0,61,0,67,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,101,8,0,32,1,0,32,0,106,8,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,44,36,0,32,7,0,0,0,24,0,0,0,46,36,0,0,46,36,0,0,3,0,0,0,0,0,0,0,195,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,116,114,97,100,105,116,105,111,110,97,108,0,0,0,52,0,50,0,0,0,84,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,38,0,0,3,60,0,60,0,9,3,60,0,60,0,3,3,60,0,60,0,1,3,60,0,60,0,35,3,38,0,97,0,60,0,3,1,60,0,60,0,60,0,2,1,60,0,226,0,60,0,60,0,60,0,194,0,38,0,100,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,101,0,60,0,234,0,60,0,60,0,60,0,202,0,38,0,111,0,60,0,244,0,60,0,60,0,60,0,212,0,60,0,161,1,60,0,60,0,60,0,160,1,38,0,117,0,60,0,176,1,60,0,60,0,60,0,175,1,0,0,250,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,38,0,0,3,60,0,60,0,9,3,60,0,60,0,3,3,60,0,60,0,1,3,60,0,60,0,35,3,38,0,97,0,60,0,3,1,60,0,60,0,60,0,2,1,60,0,226,0,60,0,60,0,60,0,194,0,38,0,67,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,100,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,101,0,60,0,234,0,60,0,60,0,60,0,202,0,38,0,71,0,60,0,103,0,104,0,60,0,60,0,60,0,71,0,104,0,60,0,60,0,60,0,71,0,72,0,60,0,103,0,105,0,60,0,60,0,60,0,71,0,105,0,60,0,60,0,60,0,71,0,73,0,38,0,75,0,60,0,107,0,104,0,60,0,60,0,60,0,75,0,104,0,60,0,60,0,60,0,75,0,72,0,38,0,78,0,60,0,110,0,104,0,60,0,60,0,60,0,78,0,104,0,60,0,60,0,60,0,78,0,72,0,60,0,110,0,103,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,60,0,110,0,103,0,104,0,60,0,60,0,60,0,78,0,103,0,104,0,60,0,60,0,60,0,78,0,71,0,104,0,60,0,60,0,60,0,78,0,71,0,72,0,38,0,111,0,60,0,244,0,60,0,60,0,60,0,212,0,60,0,161,1,60,0,60,0,60,0,160,1,38,0,80,0,60,0,112,0,104,0,60,0,60,0,60,0,80,0,104,0,60,0,60,0,60,0,80,0,72,0,38,0,81,0,60,0,113,0,117,0,60,0,60,0,60,0,81,0,117,0,60,0,60,0,60,0,81,0,85,0,38,0,84,0,60,0,116,0,104,0,60,0,60,0,60,0,84,0,104,0,60,0,60,0,60,0,84,0,72,0,60,0,116,0,114,0,60,0,60,0,60,0,84,0,114,0,60,0,60,0,60,0,84,0,82,0,38,0,117,0,60,0,176,1,60,0,60,0,60,0,175,1,0,0,236,57,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,116,41,0,0,116,41,0,0,116,41,0,0,116,41,0,0,240,51,0,0,240,51,0,0,220,53,0,0,220,53,0,0,212,57,0,0,50,105,114,84,1,0,64,8,138,1,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,111,0,119,0,124,0,132,0,140,0,148,0,48,0,56,0,48,0,56,0,48,0,56,0,156,0,164,0,172,0,180,0,187,0,195,0,200,0,208,0,216,0,224,0,228,0,236,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,11,1,19,1,27,1,35,1,43,1,51,1,59,1,66,1,74,1,82,1,90,1,98,1,106,1,113,1,121,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,252,0,48,0,48,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,188,1,240,1,48,2,192,0,192,0,192,0,112,2,176,2,236,2,32,3,96,3,144,3,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,82,0,202,193,82,0,202,226,82,0,202,3,83,0,202,36,83,0,202,69,83,0,202,102,83,0,202,135,83,0,202,168,83,0,202,201,83,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,38,1,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,230,1,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,70,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,38,4,0,5,5,0,44,5,5,0,46,5,5,0,48,201,70,5,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,6,6,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,7,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,197,34,0,0,134,5,3,43,197,98,0,0,196,150,156,42,196,146,156,42,197,34,14,0,196,160,156,46,196,138,156,50,197,162,0,0,134,5,2,51,196,150,156,50,196,138,156,58,197,226,0,0,196,142,156,58,196,150,156,58,160,112,0,48,197,34,1,0,196,138,156,70,197,98,1,0,134,5,2,71,197,162,1,0,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,197,226,1,0,196,142,156,82,196,150,156,82,197,34,2,0,160,5,38,93,197,98,82,0,196,138,5,42,197,98,2,0,5,5,3,43,197,162,2,0,196,150,5,42,196,146,5,42,197,130,14,0,196,160,5,46,196,138,5,50,197,226,2,0,5,5,2,51,196,150,5,50,196,138,5,58,197,34,3,0,196,142,5,58,196,150,5,58,5,112,0,48,197,98,3,0,196,138,5,70,197,162,3,0,5,5,2,71,197,226,3,0,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,197,34,4,0,196,142,5,82,196,150,5,82,197,98,4,0,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,134,5,2,43,5,5,2,43,201,70,8,0,201,102,9,0,197,162,5,0,197,226,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,10,0,201,70,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,6,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,7,0,197,98,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,0,197,226,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,8,0,197,98,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,9,0,197,98,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,12,0,201,198,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,10,0,197,98,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,13,0,201,70,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,83,5,5,2,83,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,11,0,197,131,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,15,0,201,38,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,12,0,197,34,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,13,0,197,195,13,0,197,35,14,0,197,131,14,0,197,227,14,0,197,67,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,17,0,201,6,18,0,192,0,0,0,192,0,0,0,197,35,16,0,197,131,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,4,139,192,0,0,0,194,5,3,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,2,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,5,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,4,139,192,0,0,0,192,0,0,0,197,66,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,16,0,197,34,17,0,192,0,0,0,197,98,17,0,197,162,17,0,197,226,17,0,192,0,0,0,197,34,18,0,192,0,0,0,197,98,18,0,197,162,18,0,197,227,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,19,0,197,130,19,0,197,194,19,0,197,2,20,0,197,67,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,20,0,197,226,20,0,197,34,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,18,0,201,230,19,0,192,0,0,0,192,0,0,0,197,162,23,0,197,226,23,0,192,0,0,0,192,0,0,0,197,35,24,0,197,131,24,0,192,0,0,0,192,0,0,0,197,226,24,0,197,34,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,25,0,197,195,25,0,201,6,21,0,201,198,21,0,201,134,22,0,201,70,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,27,0,197,98,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,27,0,197,3,28,0,197,98,28,0,197,162,28,0,197,226,28,0,197,34,29,0,192,0,0,0,192,0,0,0,197,98,29,0,197,162,29,0,197,227,29,0,197,67,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,30,0,197,226,30,0,192,0,0,0,192,0,0,0,197,34,31,0,197,98,31,0,192,0,0,0,192,0,0,0,197,162,31,0,197,226,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,32,0,197,131,32,0,197,227,32,0,197,67,33,0,192,0,0,0,192,0,0,0,197,163,33,0,197,3,34,0,197,98,34,0,197,162,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,34,0,197,34,35,0,197,99,35,0,197,195,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,36,0,197,98,36,0,197,163,36,0,197,3,37,0,192,0,0,0,192,0,0,0,197,99,37,0,197,195,37,0,192,0,0,0,192,0,0,0,197,34,38,0,197,98,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,38,0,197,3,39,0,192,0,0,0,192,0,0,0,197,98,39,0,197,162,39,0,197,226,39,0,197,34,40,0,192,0,0,0,192,0,0,0,197,98,40,0,197,162,40,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,40,0,197,34,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,41,0,197,162,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,24,0,201,38,25,0,197,98,43,0,197,162,43,0,197,226,43,0,197,34,44,0,197,98,44,0,197,162,44,0,197,226,44,0,197,34,45,0,197,98,45,0,197,162,45,0,197,34,42,0,197,226,42,0,197,226,45,0,197,34,46,0,197,98,46,0,197,162,46,0,197,226,46,0,197,34,47,0,197,98,47,0,197,162,47,0,197,98,42,0,197,34,43,0,201,70,26,0,201,6,27,0,197,226,48,0,197,34,49,0,197,98,49,0,197,162,49,0,197,226,49,0,197,34,50,0,197,98,50,0,197,162,50,0,197,226,50,0,197,34,51,0,197,98,51,0,197,162,51,0,197,34,48,0,197,162,48,0,197,226,51,0,197,34,52,0,197,98,52,0,197,162,52,0,201,198,27,0,201,134,28,0,197,226,53,0,197,34,54,0,197,98,54,0,197,162,54,0,197,226,54,0,197,34,55,0,197,98,55,0,197,162,55,0,197,226,55,0,197,34,56,0,197,34,53,0,197,162,53,0,197,98,56,0,197,162,56,0,197,226,56,0,197,34,57,0,197,98,57,0,197,162,57,0,197,226,57,0,197,34,58,0,201,70,29,0,201,6,30,0,197,162,59,0,197,226,59,0,197,34,60,0,197,98,60,0,197,162,60,0,197,226,60,0,197,34,61,0,197,98,61,0,197,162,61,0,197,226,61,0,197,34,62,0,197,98,62,0,197,162,62,0,197,226,62,0,192,0,0,0,192,0,0,0,197,34,63,0,197,98,63,0,197,162,63,0,197,226,63,0,197,34,64,0,197,98,64,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,64,0,197,3,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,65,0,197,195,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,66,0,197,131,66,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,66,0,197,67,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,67,0,197,3,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,68,0,197,195,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,69,0,197,131,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,69,0,197,67,70,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,70,0,197,3,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,71,0,197,195,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,72,0,197,131,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,73,0,197,163,73,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,74,0,197,99,74,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,19,0,192,0,0,0,197,130,19,0,192,0,0,0,197,194,19,0,192,0,0,0,197,2,20,0,192,0,0,0,197,162,20,0,192,0,0,0,197,226,20,0,192,0,0,0,197,34,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,74,0,197,68,75,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,75,0,197,68,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,76,0,197,68,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,77,0,197,68,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,78,0,197,68,79,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,79,0,197,68,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,81,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,17,0,192,0,0,0,197,162,17,0,192,0,0,0,192,0,0,0,197,130,81,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,17,0,192,0,0,0,192,0,0,0,197,194,81,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,18,0,192,0,0,0,192,0,0,0,197,226,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,82,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,18,0,192,0,0,0,197,162,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,156,5,0,42,194,5,4,139,156,5,0,42,194,5,3,139,156,5,0,50,194,5,4,139,156,5,0,58,194,5,4,139,156,5,0,68,194,5,3,139,156,5,0,70,194,5,4,139,156,5,0,70,194,5,3,139,156,5,0,82,194,5,4,139,156,5,0,90,194,5,4,139,5,5,0,42,194,5,4,139,5,5,0,42,194,5,3,139,5,5,0,50,194,5,4,139,5,5,0,58,194,5,4,139,5,5,0,68,194,5,3,139,5,5,0,70,194,5,4,139,5,5,0,70,194,5,3,139,5,5,0,82,194,5,4,139,5,5,0,90,194,5,4,139,134,5,3,43,5,162,0,0,134,5,2,43,5,162,0,0,5,5,3,43,5,162,0,0,5,5,2,43,5,162,0,0,156,5,0,46,194,5,4,139,5,5,0,46,194,5,4,139,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,156,5,0,58,194,5,3,139,5,5,0,58,194,5,3,139,156,5,0,64,194,5,4,139,5,5,0,64,194,5,4,139,156,5,0,68,194,5,4,139,5,5,0,68,194,5,4,139,156,5,0,76,194,5,4,139,5,5,0,76,194,5,4,139,156,5,0,78,194,5,4,139,5,5,0,78,194,5,4,139,156,5,0,82,194,5,3,139,5,5,0,82,194,5,3,139,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,156,5,0,92,194,5,4,139,5,5,0,92,194,5,4,139,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,156,5,0,82,5,150,0,0,194,5,4,139,5,5,0,82,5,150,0,0,194,5,4,139,134,5,2,71,5,162,0,0,134,5,3,71,5,162,0,0,5,5,2,71,5,162,0,0,5,5,3,71,5,162,0,0,156,5,0,54,194,5,4,139,5,5,0,54,194,5,4,139,156,5,0,42,5,146,0,0,194,5,4,139,5,5,0,42,5,146,0,0,194,5,4,139,160,112,0,42,162,5,0,50,194,5,4,139,5,112,0,42,19,5,0,50,194,5,4,139,156,5,0,70,5,158,0,0,194,5,4,139,5,5,0,70,5,158,0,0,194,5,4,139,134,5,2,51,5,160,0,0,5,5,2,51,5,160,0,0,156,5,0,70,194,5,3,139,5,164,0,0,5,5,0,70,194,5,3,139,5,164,0,0,5,5,16,12,194,5,4,139,166,5,6,96,194,5,4,139,166,5,16,96,194,5,4,139,158,5,28,96,194,5,4,139,166,5,32,96,194,5,4,139,158,5,48,96,194,5,4,139,155,5,76,96,194,5,4,139,155,5,86,96,194,5,4,139,5,5,32,96,5,150,0,0,194,5,4,139,5,5,6,96,194,5,4,139,5,5,16,96,194,5,4,139,5,5,28,96,194,5,4,139,5,5,32,96,194,5,4,139,5,5,76,96,5,150,0,0,194,5,4,139,5,5,48,96,194,5,4,139,5,5,76,96,194,5,4,139,5,5,86,96,194,5,4,139,166,5,76,96,194,5,4,139,174,5,16,97,194,5,4,139,174,5,84,97,194,5,4,139,5,5,16,97,194,5,4,139,5,5,84,97,194,5,4,139,134,5,3,43,5,200,0,0,134,5,2,43,5,200,0,0,5,5,3,43,5,200,0,0,5,5,2,43,5,200,0,0,156,5,0,44,194,5,5,139,5,5,0,44,194,5,5,139,156,5,0,46,5,160,0,0,194,5,4,139,5,5,0,46,5,160,0,0,194,5,4,139,156,5,0,48,194,5,5,139,5,5,0,48,194,5,5,139,156,5,0,50,5,164,0,0,194,5,4,139,5,5,0,50,5,164,0,0,194,5,4,139,134,5,2,51,5,204,0,0,5,5,2,51,5,204,0,0,134,5,2,51,5,208,0,0,5,5,2,51,5,208,0,0,156,5,0,56,194,5,5,139,5,5,0,56,194,5,5,139,156,5,0,58,5,150,0,0,194,5,4,139,5,5,0,58,5,150,0,0,194,5,4,139,156,5,0,62,194,5,4,139,5,5,0,62,194,5,4,139,156,5,0,62,194,5,5,139,5,5,0,62,194,5,5,139,156,5,0,64,194,5,5,139,5,5,0,64,194,5,5,139,156,5,0,64,194,5,5,139,5,164,0,0,5,5,0,64,194,5,5,139,5,164,0,0,156,5,0,66,194,5,4,139,5,5,0,66,194,5,4,139,156,5,0,66,194,5,5,139,5,5,0,66,194,5,5,139,156,5,0,68,194,5,5,139,5,5,0,68,194,5,5,139,156,5,0,70,194,5,3,139,194,5,4,139,5,5,0,70,194,5,3,139,194,5,4,139,156,5,0,70,194,5,3,139,5,150,0,0,5,5,0,70,194,5,3,139,5,150,0,0,156,5,0,70,5,164,0,0,194,5,4,139,5,5,0,70,5,164,0,0,194,5,4,139,156,5,0,72,194,5,4,139,5,5,0,72,194,5,4,139,156,5,0,76,194,5,5,139,5,5,0,76,194,5,5,139,156,5,0,76,194,5,5,139,5,164,0,0,5,5,0,76,194,5,5,139,5,164,0,0,156,5,0,78,194,5,5,139,5,5,0,78,194,5,5,139,156,5,0,78,194,5,4,139,5,156,0,0,5,5,0,78,194,5,4,139,5,156,0,0,156,5,0,78,194,5,5,139,5,156,0,0,5,5,0,78,194,5,5,139,5,156,0,0,156,5,0,80,194,5,5,139,5,5,0,80,194,5,5,139,156,5,0,82,194,5,3,139,194,5,4,139,5,5,0,82,194,5,3,139,194,5,4,139,156,5,0,84,194,5,3,139,5,5,0,84,194,5,3,139,156,5,0,84,194,5,5,139,5,5,0,84,194,5,5,139,160,5,0,86,194,5,4,139,5,5,0,86,194,5,4,139,160,5,0,86,194,5,5,139,5,5,0,86,194,5,5,139,156,5,0,92,194,5,5,139,5,5,0,92,194,5,5,139,156,5,0,42,194,5,5,139,134,5,3,43,194,5,5,139,134,5,2,43,194,5,5,139,5,5,0,42,194,5,5,139,5,5,3,43,194,5,5,139,5,5,2,43,194,5,5,139,156,5,0,42,194,5,2,139,5,5,0,42,194,5,2,139,134,5,3,43,194,5,4,139,5,5,3,43,194,5,4,139,134,5,3,43,5,138,0,0,5,5,3,43,5,138,0,0,134,5,3,43,194,5,2,139,5,5,3,43,194,5,2,139,134,5,3,43,194,5,3,139,5,5,3,43,194,5,3,139,134,5,2,43,194,5,4,139,5,5,2,43,194,5,4,139,134,5,2,43,5,138,0,0,5,5,2,43,5,138,0,0,134,5,2,43,194,5,2,139,5,5,2,43,194,5,2,139,134,5,2,43,194,5,3,139,5,5,2,43,194,5,3,139,156,5,0,50,194,5,5,139,134,5,2,51,194,5,5,139,5,5,0,50,194,5,5,139,5,5,2,51,194,5,5,139,156,5,0,50,194,5,2,139,5,5,0,50,194,5,2,139,156,5,0,50,194,5,3,139,5,5,0,50,194,5,3,139,134,5,2,51,194,5,4,139,5,5,2,51,194,5,4,139,134,5,2,51,5,138,0,0,5,5,2,51,5,138,0,0,134,5,2,51,194,5,2,139,5,5,2,51,194,5,2,139,134,5,2,51,194,5,3,139,5,5,2,51,194,5,3,139,156,5,0,58,194,5,2,139,5,5,0,58,194,5,2,139,156,5,0,58,194,5,5,139,5,5,0,58,194,5,5,139,156,5,0,70,194,5,5,139,134,5,2,71,194,5,5,139,5,5,0,70,194,5,5,139,5,5,2,71,194,5,5,139,156,5,0,70,194,5,2,139,5,5,0,70,194,5,2,139,134,5,2,71,194,5,4,139,5,5,2,71,194,5,4,139,134,5,2,71,5,138,0,0,5,5,2,71,5,138,0,0,134,5,2,71,194,5,2,139,5,5,2,71,194,5,2,139,134,5,2,71,194,5,3,139,5,5,2,71,194,5,3,139,134,5,3,71,194,5,4,139,5,5,3,71,194,5,4,139,134,5,3,71,5,138,0,0,5,5,3,71,5,138,0,0,134,5,3,71,194,5,2,139,5,5,3,71,194,5,2,139,134,5,3,71,194,5,3,139,5,5,3,71,194,5,3,139,134,5,3,71,194,5,5,139,134,5,2,71,5,190,0,0,194,5,5,139,5,5,3,71,194,5,5,139,5,5,2,71,5,190,0,0,194,5,5,139,156,5,0,82,194,5,5,139,5,5,0,82,194,5,5,139,156,5,0,82,194,5,2,139,5,5,0,82,194,5,2,139,134,5,2,83,194,5,4,139,5,5,2,83,194,5,4,139,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,83,194,5,2,139,5,5,2,83,194,5,2,139,134,5,2,83,194,5,3,139,5,5,2,83,194,5,3,139,134,5,2,83,194,5,5,139,5,5,2,83,194,5,5,139,156,5,0,90,194,5,5,139,5,5,0,90,194,5,5,139,156,5,0,90,194,5,2,139,5,5,0,90,194,5,2,139,156,5,0,90,194,5,3,139,5,5,0,90,194,5,3,139,5,5,6,96,5,132,0,0,194,5,4,139,5,5,6,96,5,134,0,0,194,5,4,139,166,5,6,96,5,132,0,0,194,5,4,139,166,5,6,96,5,134,0,0,194,5,4,139,5,5,16,96,5,132,0,0,194,5,4,139,5,5,16,96,5,134,0,0,194,5,4,139,166,5,16,96,5,132,0,0,194,5,4,139,166,5,16,96,5,134,0,0,194,5,4,139,5,5,28,96,5,132,0,0,194,5,4,139,5,5,28,96,5,134,0,0,194,5,4,139,158,5,28,96,5,132,0,0,194,5,4,139,158,5,28,96,5,134,0,0,194,5,4,139,5,5,32,96,5,132,0,0,194,5,4,139,5,5,32,96,5,134,0,0,194,5,4,139,166,5,32,96,5,132,0,0,194,5,4,139,166,5,32,96,5,134,0,0,194,5,4,139,5,5,48,96,5,132,0,0,194,5,4,139,5,5,48,96,5,134,0,0,194,5,4,139,158,5,48,96,5,132,0,0,194,5,4,139,158,5,48,96,5,134,0,0,194,5,4,139,5,5,76,96,5,132,0,0,194,5,4,139,5,5,76,96,5,134,0,0,194,5,4,139,155,5,76,96,5,134,0,0,194,5,4,139,5,5,86,96,5,132,0,0,194,5,4,139,5,5,86,96,5,134,0,0,194,5,4,139,155,5,86,96,5,132,0,0,194,5,4,139,155,5,86,96,5,134,0,0,194,5,4,139,5,5,6,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,6,96,5,134,0,0,194,5,4,139,5,216,0,0,166,5,6,96,5,132,0,0,194,5,4,139,5,216,0,0,166,5,6,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,28,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,28,96,5,134,0,0,194,5,4,139,5,216,0,0,158,5,28,96,5,132,0,0,194,5,4,139,5,216,0,0,158,5,28,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,86,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,86,96,5,134,0,0,194,5,4,139,5,216,0,0,155,5,86,96,5,132,0,0,194,5,4,139,5,216,0,0,155,5,86,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,6,96,194,5,4,139,5,216,0,0,5,5,28,96,194,5,4,139,5,216,0,0,193,9,22,12,194,5,4,139,193,16,22,12,194,5,4,139,5,5,86,96,194,5,4,139,5,216,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,2,3,3,235,134,5,6,3,2,235,134,5,0,50,156,5,48,0,2,3,2,243,134,5,0,70,156,5,1,0,2,3,255,255,2,71,134,5,27,3,255,255,3,71,134,5,0,82,156,5,48,0,27,3,255,255,2,83,134,5,0,42,5,5,1,0,2,3,3,235,5,5,6,3,2,235,5,5,0,50,5,5,48,0,2,3,2,243,5,5,0,70,5,5,1,0,2,3,255,255,2,71,5,5,27,3,255,255,3,71,5,5,0,82,5,5,48,0,27,3,255,255,2,83,5,5,156,42,196,162,1,0,2,3,4,192,197,162,6,3,4,192,197,226,5,42,196,162,1,0,2,3,5,192,197,34,6,3,5,192,197,98,156,50,196,162,48,0,2,3,6,192,197,34,5,50,196,162,48,0,2,3,6,192,197,98,156,82,196,162,48,0,27,3,9,192,197,162,5,82,196,162,48,0,27,3,9,192,197,226,3,71,134,5,48,0,2,3,10,192,197,162,3,71,5,5,48,0,2,3,10,192,197,226,156,70,196,162,1,0,2,3,11,192,197,226,27,3,12,192,197,34,5,70,196,162,1,0,2,3,12,192,197,98,27,3,12,192,197,162,156,50,196,160,48,0,2,3,15,192,197,162,5,50,196,160,48,0,2,3,15,192,197,226,156,42,196,200,1,0,2,3,22,192,197,162,6,3,22,192,197,226,5,42,196,200,1,0,2,3,23,192,197,34,6,3,23,192,197,98,156,50,196,204,48,0,2,3,26,192,197,34,5,50,196,204,48,0,2,3,26,192,197,98,156,50,196,208,48,0,2,3,26,192,197,162,5,50,196,208,48,0,2,3,26,192,197,226,41,0,197,226,1,0,2,3,42,192,197,34,6,3,42,192,197,98,42,0,197,162,1,0,2,3,42,192,197,226,6,3,43,192,197,34,47,0,197,226,48,0,2,3,48,192,197,34,48,0,197,98,48,0,2,3,48,192,197,162,52,0,197,226,48,0,2,3,53,192,197,34,53,0,197,98,48,0,2,3,53,192,197,162,58,0,197,98,48,0,2,3,58,192,197,163,59,0,197,2,48,0,2,3,59,192,197,67,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,68,185,72,185,76,28,4,185,92,185,96,185,100,186,104,186,112,185,116,185,120,185,124,186,128,30,4,185,144,185,148,185,156,186,160,185,164,32,4,185,176,185,180,185,184,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,68,168,72,168,76,36,4,168,92,168,96,168,100,168,104,168,112,168,116,168,120,168,124,168,128,38,4,168,144,168,148,168,156,168,160,168,164,40,4,168,176,168,180,168,184,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,153,57,217,57,185,64,185,57,121,58,89,58,0,8,249,74,154,85,218,85,185,88,122,86,154,105,218,105,26,106,122,106,217,76,186,129,153,137,217,137,185,140,185,137,121,138,136,14,217,138,153,173,217,173,25,174,121,174,217,189,185,196,2,8,136,57,200,57,168,64,168,57,104,58,72,58,4,8,232,74,136,85,200,85,168,88,104,86,136,105,200,105,8,106,104,106,200,76,168,129,136,137,200,137,168,140,168,137,104,138,128,14,200,138,136,173,200,173,8,174,104,174,200,189,168,196,104,190,57,59,40,59,185,60,168,60,42,4,44,4,217,73,200,73,25,74,8,74,185,74,168,74,57,74,40,74,57,78,40,78,185,80,168,80,58,87,40,87,250,85,232,85,186,86,168,86,46,4,48,4,58,86,40,86,25,98,8,98,249,97,232,97,185,98,168,98,249,98,232,98,25,102,8,102,89,103,72,103,186,105,168,105,58,107,40,107,250,105,232,105,26,107,8,107,186,106,168,108,6,8,8,8,26,114,8,114,249,118,232,118,168,152,217,121,200,121,249,122,232,122,57,122,40,122,121,123,104,123,89,123,72,123,218,129,200,129,250,130,232,130,58,130,40,130,10,8,185,132,168,132,57,139,40,139,249,137,232,137,153,138,136,138,12,8,14,8,217,157,200,157,249,158,232,158,57,158,40,158,218,161,200,161,26,162,8,162,250,162,232,162,58,162,40,162,249,166,232,166,57,166,40,166,185,168,168,168,185,173,168,173,57,175,40,175,249,173,232,173,89,174,72,174,153,174,136,174,50,4,52,4,25,182,8,182,25,190,8,190,121,190,217,193,200,193,185,194,168,194,57,194,40,194,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,84,200,160,169,160,200,56,169,84,187,104,187,112,169,104,169,112,169,200,169,128,217,136,187,84,200,136,169,84,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,84,255,5,185,136,255,5,185,172,255,5,168,56,255,5,168,84,255,5,168,136,255,5,168,172,255,5,25,59,255,5,8,59,255,5,26,87,255,5,8,87,255,5,25,175,255,5,8,175,255,1,3,0,69,0,52,0,61,0,195,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,108,83,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,228,41,0,0,228,41,0,0,228,41,0,0,228,41,0,0,212,63,0,0,212,63,0,0,212,76,0,0,70,77,0,0,84,83,0,0,50,105,114,84,1,0,64,8,145,1,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,111,0,119,0,124,0,132,0,140,0,148,0,48,0,56,0,48,0,56,0,48,0,56,0,156,0,164,0,172,0,180,0,187,0,195,0,200,0,208,0,216,0,224,0,228,0,236,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,11,1,19,1,27,1,35,1,43,1,51,1,59,1,66,1,74,1,82,1,90,1,98,1,106,1,113,1,121,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,252,0,48,0,48,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,188,1,240,1,48,2,192,0,192,0,192,0,112,2,176,2,236,2,32,3,96,3,144,3,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,174,0,202,97,174,0,202,130,174,0,202,163,174,0,202,196,174,0,202,229,174,0,202,6,175,0,202,39,175,0,202,72,175,0,202,105,175,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,32,1,0,156,5,0,48,201,134,8,0,156,5,0,52,201,68,9,0,156,5,0,56,156,5,0,58,156,5,0,60,201,128,33,0,156,5,0,64,156,5,0,66,201,0,41,0,201,102,67,0,201,192,68,0,201,132,76,0,156,5,0,76,156,5,0,78,201,64,105,0,201,198,121,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,166,122,0,5,5,0,44,201,192,123,0,5,5,0,48,201,198,127,0,5,5,0,52,201,132,128,0,5,5,0,56,5,5,0,58,5,5,0,60,201,160,140,0,5,5,0,64,5,5,0,66,201,160,144,0,201,70,156,0,201,160,157,0,201,196,161,0,5,5,0,76,5,5,0,78,201,32,176,0,201,166,184,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,197,194,91,0,134,5,3,43,197,2,92,0,196,150,156,42,196,146,156,42,197,194,105,0,196,160,156,46,196,138,156,50,197,66,92,0,134,5,2,51,196,150,156,50,196,138,156,58,197,130,92,0,196,142,156,58,196,150,156,58,160,112,0,48,197,194,92,0,196,138,156,70,197,2,93,0,134,5,2,71,197,66,93,0,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,197,130,93,0,196,142,156,82,196,150,156,82,197,194,93,0,160,5,38,93,197,2,174,0,196,138,5,42,197,2,94,0,5,5,3,43,197,66,94,0,196,150,5,42,196,146,5,42,197,34,106,0,196,160,5,46,196,138,5,50,197,130,94,0,5,5,2,51,196,150,5,50,196,138,5,58,197,194,94,0,196,142,5,58,196,150,5,58,5,112,0,48,197,2,95,0,196,138,5,70,197,66,95,0,5,5,2,71,197,130,95,0,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,197,194,95,0,196,142,5,82,196,150,5,82,197,2,96,0,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,134,5,2,43,5,5,2,43,201,134,185,0,201,166,186,0,197,66,97,0,197,130,97,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,187,0,201,134,188,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,98,0,197,130,98,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,98,0,197,2,99,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,99,0,197,130,99,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,99,0,197,2,100,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,100,0,197,130,100,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,100,0,197,2,101,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,189,0,201,6,190,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,101,0,197,2,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,190,0,201,134,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,83,5,5,2,83,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,102,0,197,35,103,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,192,0,201,102,193,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,104,0,197,194,104,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,105,0,197,99,105,0,197,195,105,0,197,35,106,0,197,131,106,0,197,227,106,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,194,0,201,70,195,0,192,0,0,0,192,0,0,0,197,195,107,0,197,35,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,4,139,192,0,0,0,194,5,3,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,2,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,5,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,4,139,192,0,0,0,192,0,0,0,197,2,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,108,0,197,194,108,0,192,0,0,0,197,2,109,0,197,66,109,0,197,130,109,0,192,0,0,0,197,194,109,0,192,0,0,0,197,2,110,0,197,66,110,0,197,131,110,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,110,0,197,34,111,0,197,98,111,0,197,162,111,0,197,227,111,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,112,0,197,130,112,0,197,194,112,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,114,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,196,0,201,38,197,0,192,0,0,0,192,0,0,0,197,66,115,0,197,130,115,0,192,0,0,0,192,0,0,0,197,195,115,0,197,35,116,0,192,0,0,0,192,0,0,0,197,130,116,0,197,194,116,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,117,0,197,99,117,0,201,70,198,0,201,6,199,0,201,198,199,0,201,134,200,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,118,0,197,2,119,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,119,0,197,163,119,0,197,2,120,0,197,66,120,0,197,130,120,0,197,194,120,0,192,0,0,0,192,0,0,0,197,2,121,0,197,66,121,0,197,131,121,0,197,227,121,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,122,0,197,130,122,0,192,0,0,0,192,0,0,0,197,194,122,0,197,2,123,0,192,0,0,0,192,0,0,0,197,66,123,0,197,130,123,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,123,0,197,35,124,0,197,131,124,0,197,227,124,0,192,0,0,0,192,0,0,0,197,67,125,0,197,163,125,0,197,2,126,0,197,66,126,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,126,0,197,194,126,0,197,3,127,0,197,99,127,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,127,0,197,2,128,0,197,67,128,0,197,163,128,0,192,0,0,0,192,0,0,0,197,3,129,0,197,99,129,0,192,0,0,0,192,0,0,0,197,194,129,0,197,2,130,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,130,0,197,163,130,0,192,0,0,0,192,0,0,0,197,2,131,0,197,66,131,0,197,130,131,0,197,194,131,0,192,0,0,0,192,0,0,0,197,2,132,0,197,66,132,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,132,0,197,194,132,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,133,0,197,66,133,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,201,0,201,102,202,0,197,2,135,0,197,66,135,0,197,130,135,0,197,194,135,0,197,2,136,0,197,66,136,0,197,130,136,0,197,194,136,0,197,2,137,0,197,66,137,0,197,194,133,0,197,130,134,0,197,130,137,0,197,194,137,0,197,2,138,0,197,66,138,0,197,130,138,0,197,194,138,0,197,2,139,0,197,66,139,0,197,2,134,0,197,194,134,0,201,134,203,0,201,70,204,0,197,130,140,0,197,194,140,0,197,2,141,0,197,66,141,0,197,130,141,0,197,194,141,0,197,2,142,0,197,66,142,0,197,130,142,0,197,194,142,0,197,2,143,0,197,66,143,0,197,194,139,0,197,66,140,0,197,130,143,0,197,194,143,0,197,2,144,0,197,66,144,0,201,6,205,0,201,198,205,0,197,130,145,0,197,194,145,0,197,2,146,0,197,66,146,0,197,130,146,0,197,194,146,0,197,2,147,0,197,66,147,0,197,130,147,0,197,194,147,0,197,194,144,0,197,66,145,0,197,2,148,0,197,66,148,0,197,130,148,0,197,194,148,0,197,2,149,0,197,66,149,0,197,130,149,0,197,194,149,0,201,134,206,0,201,70,207,0,197,66,151,0,197,130,151,0,197,194,151,0,197,2,152,0,197,66,152,0,197,130,152,0,197,194,152,0,197,2,153,0,197,66,153,0,197,130,153,0,197,194,153,0,197,2,154,0,197,66,154,0,197,130,154,0,192,0,0,0,192,0,0,0,197,194,154,0,197,2,155,0,197,66,155,0,197,130,155,0,197,194,155,0,197,2,156,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,156,0,197,163,156,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,157,0,197,99,157,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,157,0,197,35,158,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,158,0,197,227,158,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,159,0,197,163,159,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,160,0,197,99,160,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,160,0,197,35,161,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,161,0,197,227,161,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,162,0,197,163,162,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,163,0,197,99,163,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,163,0,197,35,164,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,164,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,164,0,197,67,165,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,165,0,197,3,166,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,110,0,192,0,0,0,197,34,111,0,192,0,0,0,197,98,111,0,192,0,0,0,197,162,111,0,192,0,0,0,197,66,112,0,192,0,0,0,197,130,112,0,192,0,0,0,197,194,112,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,166,0,197,228,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,167,0,197,228,167,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,168,0,197,228,168,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,169,0,197,228,169,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,170,0,197,228,170,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,171,0,197,228,171,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,172,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,172,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,109,0,192,0,0,0,197,66,109,0,192,0,0,0,192,0,0,0,197,34,173,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,110,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,109,0,192,0,0,0,192,0,0,0,197,98,173,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,111,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,110,0,192,0,0,0,192,0,0,0,197,130,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,173,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,109,0,192,0,0,0,197,66,110,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,128,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,47,5,142,0,0,70,5,2,47,5,142,0,0,135,5,2,47,5,144,0,0,70,5,2,47,5,144,0,0,135,5,2,47,5,156,0,0,70,5,2,47,5,156,0,0,135,5,2,47,194,5,5,139,70,5,2,47,194,5,5,139,135,5,2,47,5,150,0,0,70,5,2,47,5,150,0,0,135,5,2,47,5,160,0,0,70,5,2,47,5,160,0,0,135,5,2,47,5,206,0,0,70,5,2,47,5,206,0,0,70,5,2,47,5,210,0,0,135,5,3,55,5,150,0,0,194,5,4,139,70,5,3,55,5,150,0,0,194,5,4,139,135,5,3,55,5,138,0,0,135,5,3,55,194,5,4,139,135,5,3,55,5,142,0,0,70,5,3,55,5,138,0,0,70,5,3,55,194,5,4,139,70,5,3,55,5,142,0,0,135,5,2,55,5,142,0,0,70,5,2,55,5,142,0,0,135,5,3,55,194,5,3,139,70,5,3,55,194,5,3,139,135,5,3,55,5,164,0,0,70,5,3,55,5,164,0,0,135,5,3,55,5,140,0,0,70,5,3,55,5,140,0,0,135,5,3,55,5,162,0,0,70,5,3,55,5,162,0,0,135,5,3,55,5,156,0,0,135,5,3,55,5,144,0,0,70,5,3,55,5,144,0,0,135,5,3,55,5,184,0,0,70,5,3,55,5,184,0,0,135,5,3,55,5,188,0,0,70,5,3,55,5,188,0,0,135,5,2,55,5,144,0,0,70,5,2,55,5,144,0,0,135,5,2,55,5,156,0,0,70,5,2,55,5,156,0,0,135,5,2,55,194,5,5,139,70,5,2,55,194,5,5,139,135,5,2,55,5,150,0,0,70,5,2,55,5,150,0,0,135,5,2,55,5,160,0,0,70,5,2,55,5,160,0,0,135,5,2,55,5,206,0,0,70,5,2,55,5,206,0,0,135,5,3,55,5,208,0,0,70,5,3,55,5,208,0,0,70,5,2,55,5,210,0,0,135,5,3,55,194,5,2,139,70,5,3,55,194,5,2,139,135,5,3,55,194,5,5,139,70,5,3,55,194,5,5,139,135,5,2,63,5,142,0,0,70,5,2,63,5,142,0,0,135,5,2,63,5,144,0,0,70,5,2,63,5,144,0,0,135,5,2,63,5,156,0,0,70,5,2,63,5,156,0,0,135,5,2,63,194,5,5,139,70,5,2,63,194,5,5,139,135,5,2,63,5,150,0,0,70,5,2,63,5,150,0,0,135,5,2,63,5,160,0,0,70,5,2,63,5,160,0,0,135,5,2,63,5,206,0,0,70,5,2,63,5,206,0,0,70,5,2,63,5,210,0,0,136,5,4,69,5,142,0,0,71,5,4,69,5,142,0,0,136,5,4,69,5,144,0,0,71,5,4,69,5,144,0,0,136,5,4,69,5,156,0,0,71,5,4,69,5,156,0,0,136,5,4,69,194,5,5,139,71,5,4,69,194,5,5,139,136,5,4,69,5,150,0,0,71,5,4,69,5,150,0,0,136,5,4,69,5,160,0,0,71,5,4,69,5,160,0,0,136,5,4,69,5,206,0,0,71,5,4,69,5,206,0,0,71,5,4,69,5,210,0,0,70,5,4,69,5,142,0,0,70,5,4,69,5,144,0,0,70,5,4,69,5,156,0,0,70,5,4,69,194,5,5,139,70,5,4,69,5,150,0,0,70,5,4,69,5,160,0,0,70,5,4,69,5,206,0,0,70,5,4,69,5,210,0,0,135,5,3,69,5,142,0,0,70,5,3,69,5,142,0,0,135,5,3,69,5,140,0,0,70,5,3,69,5,140,0,0,135,5,3,69,5,156,0,0,70,5,3,69,5,156,0,0,135,5,3,69,5,160,0,0,70,5,3,69,5,160,0,0,135,5,2,69,5,142,0,0,70,5,2,69,5,142,0,0,135,5,3,69,5,144,0,0,70,5,3,69,5,144,0,0,135,5,3,69,194,5,4,139,70,5,3,69,194,5,4,139,135,5,2,69,5,144,0,0,70,5,2,69,5,144,0,0,135,5,3,69,5,164,0,0,70,5,3,69,5,164,0,0,135,5,2,69,5,156,0,0,70,5,2,69,5,156,0,0,135,5,2,69,194,5,5,139,70,5,2,69,194,5,5,139,135,5,2,69,5,150,0,0,70,5,2,69,5,150,0,0,135,5,2,69,5,160,0,0,70,5,2,69,5,160,0,0,135,5,2,69,5,206,0,0,70,5,2,69,5,206,0,0,70,5,2,69,5,210,0,0,135,5,2,73,5,142,0,0,70,5,2,73,5,142,0,0,135,5,2,73,5,144,0,0,70,5,2,73,5,144,0,0,135,5,2,73,5,156,0,0,70,5,2,73,5,156,0,0,135,5,2,73,194,5,5,139,70,5,2,73,194,5,5,139,135,5,2,73,5,150,0,0,70,5,2,73,5,150,0,0,135,5,2,73,5,160,0,0,70,5,2,73,5,160,0,0,135,5,2,73,5,206,0,0,70,5,2,73,5,206,0,0,70,5,2,73,5,210,0,0,135,5,2,75,5,150,0,0,194,5,4,139,70,5,2,75,5,150,0,0,194,5,4,139,135,5,2,75,5,138,0,0,135,5,2,75,194,5,4,139,135,5,2,75,5,142,0,0,70,5,2,75,5,138,0,0,70,5,2,75,194,5,4,139,70,5,2,75,5,142,0,0,135,5,2,75,194,5,3,139,70,5,2,75,194,5,3,139,135,5,2,75,5,164,0,0,70,5,2,75,5,164,0,0,135,5,2,75,5,140,0,0,70,5,2,75,5,140,0,0,135,5,2,75,5,146,0,0,70,5,2,75,5,146,0,0,135,5,2,75,5,152,0,0,70,5,2,75,5,152,0,0,135,5,2,75,5,162,0,0,70,5,2,75,5,162,0,0,135,5,2,75,5,190,0,0,70,5,2,75,5,190,0,0,135,5,2,75,5,144,0,0,70,5,2,75,5,144,0,0,135,5,2,75,5,150,0,0,5,164,0,0,70,5,2,75,5,150,0,0,5,164,0,0,135,5,2,75,5,150,0,0,5,144,0,0,70,5,2,75,5,150,0,0,5,144,0,0,135,5,2,75,5,150,0,0,5,138,0,0,70,5,2,75,5,150,0,0,5,138,0,0,135,5,2,75,5,184,0,0,70,5,2,75,5,184,0,0,135,5,2,75,5,188,0,0,70,5,2,75,5,188,0,0,135,5,2,75,5,198,0,0,70,5,2,75,5,198,0,0,135,5,2,75,5,208,0,0,70,5,2,75,5,208,0,0,135,5,2,75,5,204,0,0,70,5,2,75,5,204,0,0,135,5,2,75,194,5,3,139,194,5,4,139,70,5,2,75,194,5,3,139,194,5,4,139,135,5,2,75,5,164,0,0,5,150,0,0,70,5,2,75,5,164,0,0,5,150,0,0,135,5,2,75,194,5,5,139,70,5,2,75,194,5,5,139,135,5,2,75,194,5,2,139,70,5,2,75,194,5,2,139,135,5,2,75,5,190,0,0,194,5,4,139,70,5,2,75,5,190,0,0,194,5,4,139,135,5,2,75,5,190,0,0,5,138,0,0,70,5,2,75,5,190,0,0,5,138,0,0,135,5,2,75,5,190,0,0,194,5,2,139,70,5,2,75,5,190,0,0,194,5,2,139,135,5,2,75,5,190,0,0,194,5,3,139,70,5,2,75,5,190,0,0,194,5,3,139,135,5,2,75,5,190,0,0,194,5,5,139,70,5,2,75,5,190,0,0,194,5,5,139,135,5,2,81,5,142,0,0,70,5,2,81,5,142,0,0,135,5,3,81,194,5,4,139,70,5,3,81,194,5,4,139,135,5,3,81,5,160,0,0,70,5,3,81,5,160,0,0,135,5,3,81,5,144,0,0,70,5,3,81,5,144,0,0,135,5,3,81,5,184,0,0,70,5,3,81,5,184,0,0,135,5,3,81,5,188,0,0,70,5,3,81,5,188,0,0,135,5,2,81,5,144,0,0,70,5,2,81,5,144,0,0,135,5,2,81,5,156,0,0,70,5,2,81,5,156,0,0,135,5,2,81,194,5,5,139,70,5,2,81,194,5,5,139,135,5,2,81,5,150,0,0,70,5,2,81,5,150,0,0,135,5,2,81,5,160,0,0,70,5,2,81,5,160,0,0,135,5,2,81,5,206,0,0,70,5,2,81,5,206,0,0,135,5,3,81,5,156,0,0,70,5,3,81,5,156,0,0,135,5,3,81,194,5,5,139,70,5,3,81,194,5,5,139,135,5,3,81,194,5,5,139,5,164,0,0,70,5,3,81,194,5,5,139,5,164,0,0,135,5,3,81,5,210,0,0,70,5,3,81,5,210,0,0,70,5,2,81,5,210,0,0,5,5,2,47,5,142,0,0,5,5,2,47,5,144,0,0,5,5,2,47,5,156,0,0,5,5,2,47,194,5,5,139,5,5,2,47,5,150,0,0,5,5,2,47,5,160,0,0,5,5,2,47,5,206,0,0,5,5,2,47,5,210,0,0,5,5,3,55,5,150,0,0,194,5,4,139,5,5,3,55,5,138,0,0,5,5,3,55,194,5,4,139,5,5,3,55,5,142,0,0,5,5,2,55,5,142,0,0,5,5,3,55,194,5,3,139,5,5,3,55,5,164,0,0,5,5,3,55,5,140,0,0,5,5,3,55,5,162,0,0,5,5,3,55,5,144,0,0,5,5,3,55,5,184,0,0,5,5,3,55,5,188,0,0,5,5,2,55,5,144,0,0,5,5,2,55,5,156,0,0,5,5,2,55,194,5,5,139,5,5,2,55,5,150,0,0,5,5,2,55,5,160,0,0,5,5,2,55,5,206,0,0,5,5,3,55,5,208,0,0,5,5,2,55,5,210,0,0,5,5,3,55,194,5,2,139,5,5,3,55,194,5,5,139,5,5,2,63,5,142,0,0,5,5,2,63,5,144,0,0,5,5,2,63,5,156,0,0,5,5,2,63,194,5,5,139,5,5,2,63,5,150,0,0,5,5,2,63,5,160,0,0,5,5,2,63,5,206,0,0,5,5,2,63,5,210,0,0,5,5,4,69,5,142,0,0,5,5,4,69,5,144,0,0,5,5,4,69,5,156,0,0,5,5,4,69,194,5,5,139,5,5,4,69,5,150,0,0,5,5,4,69,5,160,0,0,5,5,4,69,5,206,0,0,5,5,4,69,5,210,0,0,5,5,3,69,5,142,0,0,5,5,3,69,5,140,0,0,5,5,3,69,5,156,0,0,5,5,3,69,5,160,0,0,5,5,2,69,5,142,0,0,5,5,3,69,5,144,0,0,5,5,3,69,194,5,4,139,5,5,2,69,5,144,0,0,5,5,3,69,5,164,0,0,5,5,2,69,5,156,0,0,5,5,2,69,194,5,5,139,5,5,2,69,5,150,0,0,5,5,2,69,5,160,0,0,5,5,2,69,5,206,0,0,5,5,2,69,5,210,0,0,5,5,2,73,5,142,0,0,5,5,2,73,5,144,0,0,5,5,2,73,5,156,0,0,5,5,2,73,194,5,5,139,5,5,2,73,5,150,0,0,5,5,2,73,5,160,0,0,5,5,2,73,5,206,0,0,5,5,2,73,5,210,0,0,5,5,2,75,5,150,0,0,194,5,4,139,5,5,2,75,5,138,0,0,5,5,2,75,194,5,4,139,5,5,2,75,5,142,0,0,5,5,2,75,194,5,3,139,5,5,2,75,5,164,0,0,5,5,2,75,5,140,0,0,5,5,2,75,5,146,0,0,5,5,2,75,5,152,0,0,5,5,2,75,5,162,0,0,5,5,2,75,5,190,0,0,5,5,2,75,5,144,0,0,5,5,2,75,5,150,0,0,5,164,0,0,5,5,2,75,5,150,0,0,5,144,0,0,5,5,2,75,5,150,0,0,5,138,0,0,5,5,2,75,5,184,0,0,5,5,2,75,5,188,0,0,5,5,2,75,5,198,0,0,5,5,2,75,5,208,0,0,5,5,2,75,5,204,0,0,5,5,2,75,194,5,3,139,194,5,4,139,5,5,2,75,5,164,0,0,5,150,0,0,5,5,2,75,194,5,5,139,5,5,2,75,194,5,2,139,5,5,2,75,5,190,0,0,194,5,4,139,5,5,2,75,5,190,0,0,5,138,0,0,5,5,2,75,5,190,0,0,194,5,2,139,5,5,2,75,5,190,0,0,194,5,3,139,5,5,2,75,5,190,0,0,194,5,5,139,5,5,2,81,5,142,0,0,5,5,3,81,194,5,4,139,5,5,3,81,5,160,0,0,5,5,3,81,5,144,0,0,5,5,3,81,5,184,0,0,5,5,3,81,5,188,0,0,5,5,2,81,5,144,0,0,5,5,2,81,5,156,0,0,5,5,2,81,194,5,5,139,5,5,2,81,5,150,0,0,5,5,2,81,5,160,0,0,5,5,2,81,5,206,0,0,5,5,3,81,5,156,0,0,5,5,3,81,194,5,5,139,5,5,3,81,194,5,5,139,5,164,0,0,5,5,3,81,5,210,0,0,5,5,2,81,5,210,0,0,156,5,0,42,194,5,4,139,156,5,0,42,194,5,3,139,156,5,0,50,194,5,4,139,156,5,0,58,194,5,4,139,156,5,0,68,194,5,3,139,156,5,0,70,194,5,4,139,156,5,0,70,194,5,3,139,156,5,0,82,194,5,4,139,156,5,0,90,194,5,4,139,5,5,0,42,194,5,4,139,5,5,0,42,194,5,3,139,5,5,0,50,194,5,4,139,5,5,0,58,194,5,4,139,5,5,0,68,194,5,3,139,5,5,0,70,194,5,4,139,5,5,0,70,194,5,3,139,5,5,0,82,194,5,4,139,5,5,0,90,194,5,4,139,134,5,3,43,5,162,0,0,134,5,2,43,5,162,0,0,5,5,3,43,5,162,0,0,5,5,2,43,5,162,0,0,156,5,0,46,194,5,4,139,5,5,0,46,194,5,4,139,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,156,5,0,58,194,5,3,139,5,5,0,58,194,5,3,139,156,5,0,64,194,5,4,139,5,5,0,64,194,5,4,139,156,5,0,68,194,5,4,139,5,5,0,68,194,5,4,139,156,5,0,76,194,5,4,139,5,5,0,76,194,5,4,139,156,5,0,78,194,5,4,139,5,5,0,78,194,5,4,139,156,5,0,82,194,5,3,139,5,5,0,82,194,5,3,139,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,156,5,0,92,194,5,4,139,5,5,0,92,194,5,4,139,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,156,5,0,82,5,150,0,0,194,5,4,139,5,5,0,82,5,150,0,0,194,5,4,139,134,5,2,71,5,162,0,0,134,5,3,71,5,162,0,0,5,5,2,71,5,162,0,0,5,5,3,71,5,162,0,0,156,5,0,54,194,5,4,139,5,5,0,54,194,5,4,139,156,5,0,42,5,146,0,0,194,5,4,139,5,5,0,42,5,146,0,0,194,5,4,139,160,112,0,42,162,5,0,50,194,5,4,139,5,112,0,42,19,5,0,50,194,5,4,139,156,5,0,70,5,158,0,0,194,5,4,139,5,5,0,70,5,158,0,0,194,5,4,139,134,5,2,51,5,160,0,0,5,5,2,51,5,160,0,0,156,5,0,70,194,5,3,139,5,164,0,0,5,5,0,70,194,5,3,139,5,164,0,0,5,5,16,12,194,5,4,139,166,5,6,96,194,5,4,139,166,5,16,96,194,5,4,139,158,5,28,96,194,5,4,139,166,5,32,96,194,5,4,139,158,5,48,96,194,5,4,139,155,5,76,96,194,5,4,139,155,5,86,96,194,5,4,139,5,5,32,96,5,150,0,0,194,5,4,139,5,5,6,96,194,5,4,139,5,5,16,96,194,5,4,139,5,5,28,96,194,5,4,139,5,5,32,96,194,5,4,139,5,5,76,96,5,150,0,0,194,5,4,139,5,5,48,96,194,5,4,139,5,5,76,96,194,5,4,139,5,5,86,96,194,5,4,139,166,5,76,96,194,5,4,139,174,5,16,97,194,5,4,139,174,5,84,97,194,5,4,139,5,5,16,97,194,5,4,139,5,5,84,97,194,5,4,139,134,5,3,43,5,200,0,0,134,5,2,43,5,200,0,0,5,5,3,43,5,200,0,0,5,5,2,43,5,200,0,0,156,5,0,44,194,5,5,139,5,5,0,44,194,5,5,139,156,5,0,46,5,160,0,0,194,5,4,139,5,5,0,46,5,160,0,0,194,5,4,139,156,5,0,48,194,5,5,139,5,5,0,48,194,5,5,139,156,5,0,50,5,164,0,0,194,5,4,139,5,5,0,50,5,164,0,0,194,5,4,139,134,5,2,51,5,204,0,0,5,5,2,51,5,204,0,0,134,5,2,51,5,208,0,0,5,5,2,51,5,208,0,0,156,5,0,56,194,5,5,139,5,5,0,56,194,5,5,139,156,5,0,58,5,150,0,0,194,5,4,139,5,5,0,58,5,150,0,0,194,5,4,139,156,5,0,62,194,5,4,139,5,5,0,62,194,5,4,139,156,5,0,62,194,5,5,139,5,5,0,62,194,5,5,139,156,5,0,64,194,5,5,139,5,5,0,64,194,5,5,139,156,5,0,64,194,5,5,139,5,164,0,0,5,5,0,64,194,5,5,139,5,164,0,0,156,5,0,66,194,5,4,139,5,5,0,66,194,5,4,139,156,5,0,66,194,5,5,139,5,5,0,66,194,5,5,139,156,5,0,68,194,5,5,139,5,5,0,68,194,5,5,139,156,5,0,70,194,5,3,139,194,5,4,139,5,5,0,70,194,5,3,139,194,5,4,139,156,5,0,70,194,5,3,139,5,150,0,0,5,5,0,70,194,5,3,139,5,150,0,0,156,5,0,70,5,164,0,0,194,5,4,139,5,5,0,70,5,164,0,0,194,5,4,139,156,5,0,72,194,5,4,139,5,5,0,72,194,5,4,139,156,5,0,76,194,5,5,139,5,5,0,76,194,5,5,139,156,5,0,76,194,5,5,139,5,164,0,0,5,5,0,76,194,5,5,139,5,164,0,0,156,5,0,78,194,5,5,139,5,5,0,78,194,5,5,139,156,5,0,78,194,5,4,139,5,156,0,0,5,5,0,78,194,5,4,139,5,156,0,0,156,5,0,78,194,5,5,139,5,156,0,0,5,5,0,78,194,5,5,139,5,156,0,0,156,5,0,80,194,5,5,139,5,5,0,80,194,5,5,139,156,5,0,82,194,5,3,139,194,5,4,139,5,5,0,82,194,5,3,139,194,5,4,139,156,5,0,84,194,5,3,139,5,5,0,84,194,5,3,139,156,5,0,84,194,5,5,139,5,5,0,84,194,5,5,139,160,5,0,86,194,5,4,139,5,5,0,86,194,5,4,139,160,5,0,86,194,5,5,139,5,5,0,86,194,5,5,139,156,5,0,92,194,5,5,139,5,5,0,92,194,5,5,139,156,5,0,42,194,5,5,139,134,5,3,43,194,5,5,139,134,5,2,43,194,5,5,139,5,5,0,42,194,5,5,139,5,5,3,43,194,5,5,139,5,5,2,43,194,5,5,139,156,5,0,42,194,5,2,139,5,5,0,42,194,5,2,139,134,5,3,43,194,5,4,139,5,5,3,43,194,5,4,139,134,5,3,43,5,138,0,0,5,5,3,43,5,138,0,0,134,5,3,43,194,5,2,139,5,5,3,43,194,5,2,139,134,5,3,43,194,5,3,139,5,5,3,43,194,5,3,139,134,5,2,43,194,5,4,139,5,5,2,43,194,5,4,139,134,5,2,43,5,138,0,0,5,5,2,43,5,138,0,0,134,5,2,43,194,5,2,139,5,5,2,43,194,5,2,139,134,5,2,43,194,5,3,139,5,5,2,43,194,5,3,139,156,5,0,50,194,5,5,139,134,5,2,51,194,5,5,139,5,5,0,50,194,5,5,139,5,5,2,51,194,5,5,139,156,5,0,50,194,5,2,139,5,5,0,50,194,5,2,139,156,5,0,50,194,5,3,139,5,5,0,50,194,5,3,139,134,5,2,51,194,5,4,139,5,5,2,51,194,5,4,139,134,5,2,51,5,138,0,0,5,5,2,51,5,138,0,0,134,5,2,51,194,5,2,139,5,5,2,51,194,5,2,139,134,5,2,51,194,5,3,139,5,5,2,51,194,5,3,139,156,5,0,58,194,5,2,139,5,5,0,58,194,5,2,139,156,5,0,58,194,5,5,139,5,5,0,58,194,5,5,139,156,5,0,70,194,5,5,139,134,5,2,71,194,5,5,139,5,5,0,70,194,5,5,139,5,5,2,71,194,5,5,139,156,5,0,70,194,5,2,139,5,5,0,70,194,5,2,139,134,5,2,71,194,5,4,139,5,5,2,71,194,5,4,139,134,5,2,71,5,138,0,0,5,5,2,71,5,138,0,0,134,5,2,71,194,5,2,139,5,5,2,71,194,5,2,139,134,5,2,71,194,5,3,139,5,5,2,71,194,5,3,139,134,5,3,71,194,5,4,139,5,5,3,71,194,5,4,139,134,5,3,71,5,138,0,0,5,5,3,71,5,138,0,0,134,5,3,71,194,5,2,139,5,5,3,71,194,5,2,139,134,5,3,71,194,5,3,139,5,5,3,71,194,5,3,139,134,5,3,71,194,5,5,139,134,5,2,71,5,190,0,0,194,5,5,139,5,5,3,71,194,5,5,139,5,5,2,71,5,190,0,0,194,5,5,139,156,5,0,82,194,5,5,139,5,5,0,82,194,5,5,139,156,5,0,82,194,5,2,139,5,5,0,82,194,5,2,139,134,5,2,83,194,5,4,139,5,5,2,83,194,5,4,139,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,83,194,5,2,139,5,5,2,83,194,5,2,139,134,5,2,83,194,5,3,139,5,5,2,83,194,5,3,139,134,5,2,83,194,5,5,139,5,5,2,83,194,5,5,139,156,5,0,90,194,5,5,139,5,5,0,90,194,5,5,139,156,5,0,90,194,5,2,139,5,5,0,90,194,5,2,139,156,5,0,90,194,5,3,139,5,5,0,90,194,5,3,139,5,5,6,96,5,132,0,0,194,5,4,139,5,5,6,96,5,134,0,0,194,5,4,139,166,5,6,96,5,132,0,0,194,5,4,139,166,5,6,96,5,134,0,0,194,5,4,139,5,5,16,96,5,132,0,0,194,5,4,139,5,5,16,96,5,134,0,0,194,5,4,139,166,5,16,96,5,132,0,0,194,5,4,139,166,5,16,96,5,134,0,0,194,5,4,139,5,5,28,96,5,132,0,0,194,5,4,139,5,5,28,96,5,134,0,0,194,5,4,139,158,5,28,96,5,132,0,0,194,5,4,139,158,5,28,96,5,134,0,0,194,5,4,139,5,5,32,96,5,132,0,0,194,5,4,139,5,5,32,96,5,134,0,0,194,5,4,139,166,5,32,96,5,132,0,0,194,5,4,139,166,5,32,96,5,134,0,0,194,5,4,139,5,5,48,96,5,132,0,0,194,5,4,139,5,5,48,96,5,134,0,0,194,5,4,139,158,5,48,96,5,132,0,0,194,5,4,139,158,5,48,96,5,134,0,0,194,5,4,139,5,5,76,96,5,132,0,0,194,5,4,139,5,5,76,96,5,134,0,0,194,5,4,139,155,5,76,96,5,134,0,0,194,5,4,139,5,5,86,96,5,132,0,0,194,5,4,139,5,5,86,96,5,134,0,0,194,5,4,139,155,5,86,96,5,132,0,0,194,5,4,139,155,5,86,96,5,134,0,0,194,5,4,139,5,5,6,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,6,96,5,134,0,0,194,5,4,139,5,216,0,0,166,5,6,96,5,132,0,0,194,5,4,139,5,216,0,0,166,5,6,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,28,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,28,96,5,134,0,0,194,5,4,139,5,216,0,0,158,5,28,96,5,132,0,0,194,5,4,139,5,216,0,0,158,5,28,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,86,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,86,96,5,134,0,0,194,5,4,139,5,216,0,0,155,5,86,96,5,132,0,0,194,5,4,139,5,216,0,0,155,5,86,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,6,96,194,5,4,139,5,216,0,0,5,5,28,96,194,5,4,139,5,216,0,0,193,9,22,12,194,5,4,139,193,16,22,12,194,5,4,139,5,5,86,96,194,5,4,139,5,216,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,2,3,3,235,134,5,6,3,2,235,134,5,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,239,135,5,104,0,2,239,70,5,36,1,197,162,37,1,0,192,197,98,0,50,156,5,48,0,2,3,2,243,134,5,0,54,156,5,0,0,49,0,8,2,89,0,40,30,45,0,46,30,23,0,200,30,12,0,200,30,14,192,197,34,201,30,14,192,197,98,202,30,14,192,197,162,203,30,14,192,197,226,46,30,3,192,197,227,47,30,4,192,197,67,150,30,13,192,197,226,43,30,9,0,43,30,13,192,197,34,44,30,13,192,197,98,45,30,13,192,197,162,40,30,12,192,197,98,41,30,12,192,197,162,42,30,12,192,197,226,34,30,20,0,37,30,9,0,37,30,11,192,197,162,38,30,11,192,197,226,39,30,12,192,197,34,34,30,10,192,197,226,35,30,11,192,197,34,36,30,11,192,197,98,11,2,9,0,11,2,10,192,197,34,30,2,10,192,197,98,31,2,10,192,197,162,8,2,9,192,197,98,9,2,9,192,197,162,10,2,9,192,197,226,36,1,45,0,44,1,23,0,47,1,12,0,47,1,8,192,197,98,48,1,8,192,197,162,207,1,8,192,197,226,208,1,9,192,197,34,44,1,7,192,197,162,45,1,7,192,197,226,46,1,8,192,197,34,41,1,9,0,41,1,6,192,197,226,42,1,7,192,197,34,43,1,7,192,197,98,36,1,6,192,197,34,37,1,6,192,197,98,40,1,6,192,197,162,206,0,20,0,237,0,9,0,237,0,5,192,197,162,238,0,5,192,197,226,239,0,4,192,197,66,206,0,5,192,197,34,207,0,3,192,197,226,236,0,5,192,197,98,105,0,14,0,105,0,6,0,204,0,4,192,197,162,205,0,4,192,197,226,240,127,3,55,70,5,68,3,4,192,197,67,72,0,2,247,135,5,73,0,3,0,104,0,2,247,70,5,240,127,3,55,135,5,68,3,3,192,197,227,0,62,156,5,16,0,36,30,29,0,40,30,15,0,40,30,17,192,197,162,41,30,17,192,197,226,42,30,18,192,197,34,43,30,18,192,197,98,150,30,18,192,197,162,36,30,16,192,197,162,37,30,16,192,197,226,38,30,17,192,197,34,39,30,17,192,197,98,30,2,12,0,30,2,15,192,197,162,31,2,15,192,197,226,34,30,16,192,197,34,35,30,16,192,197,98,72,0,2,255,135,5,104,0,2,255,70,5,36,1,15,192,197,34,37,1,15,192,197,98,0,68,156,5,32,0,244,1,57,0,36,30,29,0,40,30,15,0,40,30,30,192,197,162,41,30,30,192,197,226,42,30,31,192,197,34,43,30,31,192,197,98,150,30,31,192,197,162,36,30,29,192,197,162,37,30,29,192,197,226,38,30,30,192,197,34,39,30,30,192,197,98,32,30,12,0,32,30,28,192,197,162,33,30,28,192,197,226,34,30,29,192,197,34,35,30,29,192,197,98,244,1,27,192,197,162,245,1,27,192,197,226,30,2,28,192,197,34,31,2,28,192,197,98,32,1,26,0,36,1,12,0,36,1,26,192,197,162,37,1,26,192,197,226,230,1,27,192,197,34,231,1,27,192,197,98,32,1,25,192,197,162,33,1,25,192,197,226,34,1,26,192,197,34,35,1,26,192,197,98,28,1,12,0,28,1,24,192,197,162,29,1,24,192,197,226,30,1,25,192,197,34,31,1,25,192,197,98,71,0,10,0,72,0,255,255,2,69,135,5,103,0,66,0,104,0,255,255,2,69,70,5,208,127,3,69,135,5,36,30,29,0,40,30,15,0,40,30,21,192,197,98,41,30,21,192,197,162,42,30,21,192,197,226,43,30,22,192,197,34,150,30,22,192,197,98,36,30,20,192,197,98,37,30,20,192,197,162,38,30,20,192,197,226,39,30,21,192,197,34,30,2,12,0,30,2,19,192,197,98,31,2,19,192,197,162,34,30,19,192,197,226,35,30,20,192,197,34,72,0,255,255,4,69,136,5,104,0,255,255,4,69,71,5,36,1,18,192,197,226,37,1,19,192,197,34,200,127,3,69,70,5,37,30,15,0,37,30,23,192,197,98,39,30,23,192,197,162,41,30,23,192,197,226,43,30,24,192,197,34,150,30,24,192,197,98,104,0,255,255,4,69,70,5,37,1,22,192,197,162,31,2,22,192,197,226,35,30,23,192,197,34,0,70,156,5,1,0,2,3,255,255,2,71,134,5,27,3,255,255,3,71,134,5,0,72,156,5,16,0,36,30,29,0,40,30,15,0,40,30,34,192,197,98,41,30,34,192,197,162,42,30,34,192,197,226,43,30,35,192,197,34,150,30,35,192,197,98,36,30,33,192,197,98,37,30,33,192,197,162,38,30,33,192,197,226,39,30,34,192,197,34,30,2,12,0,30,2,32,192,197,98,31,2,32,192,197,162,34,30,32,192,197,226,35,30,33,192,197,34,72,0,255,255,2,73,135,5,104,0,255,255,2,73,70,5,36,1,31,192,197,226,37,1,32,192,197,34,0,74,160,5,0,0,61,0,218,1,107,0,122,30,54,0,234,30,26,0,238,30,12,0,238,30,51,192,197,99,239,30,51,192,197,195,240,30,52,192,197,35,241,30,52,192,197,131,234,30,49,192,197,227,235,30,50,192,197,67,236,30,50,192,197,163,237,30,51,192,197,3,230,30,12,0,230,30,48,192,197,162,231,30,48,192,197,226,232,30,49,192,197,35,233,30,49,192,197,131,122,30,47,192,197,99,123,30,47,192,197,195,228,30,48,192,197,34,229,30,48,192,197,98,114,30,26,0,118,30,12,0,118,30,46,192,197,34,119,30,46,192,197,98,120,30,46,192,197,163,121,30,47,192,197,3,114,30,45,192,197,34,115,30,45,192,197,98,116,30,45,192,197,162,117,30,45,192,197,226,20,2,12,0,20,2,44,192,197,34,21,2,44,192,197,98,22,2,44,192,197,162,23,2,44,192,197,226,218,1,43,192,197,3,219,1,43,192,197,99,220,1,43,192,197,195,109,1,54,0,176,1,26,0,214,1,12,0,214,1,42,192,197,67,215,1,35,192,197,163,216,1,36,192,197,3,217,1,42,192,197,163,176,1,41,192,197,34,211,1,41,192,197,98,212,1,41,192,197,162,213,1,41,192,197,227,113,1,12,0,113,1,40,192,197,34,114,1,40,192,197,98,115,1,40,192,197,162,175,1,40,192,197,226,109,1,39,192,197,34,110,1,39,192,197,98,111,1,39,192,197,162,112,1,39,192,197,226,250,0,26,0,105,1,12,0,105,1,38,192,197,34,106,1,38,192,197,98,107,1,38,192,197,162,108,1,38,192,197,226,250,0,37,192,197,98,251,0,37,192,197,162,252,0,36,192,197,2,104,1,37,192,197,226,218,0,12,0,218,0,36,192,197,162,219,0,36,192,197,226,220,0,35,192,197,162,249,0,37,192,197,34,85,0,5,0,117,0,9,0,217,0,36,192,197,98,240,127,2,75,135,5,68,3,35,192,197,163,240,127,2,75,70,5,68,3,36,192,197,3,0,80,156,5,36,0,34,30,63,0,43,30,32,0,92,30,15,0,92,30,59,192,197,227,93,30,60,192,197,67,94,30,60,192,197,162,95,30,60,192,197,226,150,30,61,192,197,34,43,30,58,192,197,162,88,30,58,192,197,226,89,30,59,192,197,34,90,30,59,192,197,98,91,30,59,192,197,162,38,30,15,0,38,30,57,192,197,98,39,30,57,192,197,162,40,30,57,192,197,226,41,30,58,192,197,34,42,30,58,192,197,98,34,30,56,192,197,98,35,30,56,192,197,162,36,30,56,192,197,226,37,30,57,192,197,34,87,1,29,0,17,2,15,0,17,2,55,192,197,34,18,2,55,192,197,98,19,2,55,192,197,162,30,2,55,192,197,226,31,2,56,192,197,34,87,1,54,192,197,34,88,1,54,192,197,98,89,1,54,192,197,162,16,2,54,192,197,226,36,1,15,0,36,1,52,192,197,226,37,1,53,192,197,34,84,1,53,192,197,98,85,1,53,192,197,162,86,1,53,192,197,226,72,0,255,255,2,81,135,5,82,0,255,255,3,81,135,5,104,0,255,255,2,81,70,5,114,0,255,255,3,81,70,5,0,82,156,5,48,0,27,3,255,255,2,83,134,5,0,42,5,5,1,0,2,3,3,235,5,5,6,3,2,235,5,5,0,46,5,5,8,0,37,30,15,0,37,30,62,192,197,34,39,30,62,192,197,98,41,30,62,192,197,162,43,30,62,192,197,226,150,30,63,192,197,34,104,0,2,239,5,5,37,1,61,192,197,98,31,2,61,192,197,162,35,30,61,192,197,226,0,50,5,5,48,0,2,3,2,243,5,5,0,54,5,5,24,0,9,2,45,0,41,30,23,0,47,30,12,0,47,30,63,192,197,99,150,30,68,192,197,66,201,30,68,192,197,130,203,30,68,192,197,194,41,30,67,192,197,130,43,30,67,192,197,194,45,30,68,192,197,2,35,30,9,0,35,30,66,192,197,194,37,30,67,192,197,2,39,30,67,192,197,66,9,2,66,192,197,2,11,2,66,192,197,66,31,2,66,192,197,130,37,1,20,0,45,1,9,0,45,1,65,192,197,66,47,1,65,192,197,130,208,1,65,192,197,194,37,1,64,192,197,130,41,1,64,192,197,194,43,1,65,192,197,2,237,0,9,0,237,0,64,192,197,2,238,0,64,192,197,66,239,0,63,192,197,98,104,0,2,247,5,5,105,0,3,0,236,0,63,192,197,194,240,127,3,55,5,5,68,3,63,192,197,99,0,62,5,5,8,0,37,30,15,0,37,30,69,192,197,194,39,30,70,192,197,2,41,30,70,192,197,66,43,30,70,192,197,130,150,30,70,192,197,194,104,0,2,255,5,5,37,1,69,192,197,2,31,2,69,192,197,66,35,30,69,192,197,130,0,68,5,5,16,0,245,1,29,0,37,30,15,0,37,30,75,192,197,130,39,30,75,192,197,194,41,30,76,192,197,2,43,30,76,192,197,66,150,30,76,192,197,130,245,1,74,192,197,130,31,2,74,192,197,194,33,30,75,192,197,2,35,30,75,192,197,66,33,1,12,0,33,1,73,192,197,130,35,1,73,192,197,194,37,1,74,192,197,2,231,1,74,192,197,66,103,0,10,0,104,0,255,255,2,69,5,5,29,1,73,192,197,2,31,1,73,192,197,66,200,127,3,69,5,5,37,30,15,0,37,30,71,192,197,194,39,30,72,192,197,2,41,30,72,192,197,66,43,30,72,192,197,130,150,30,72,192,197,194,104,0,255,255,4,69,5,5,37,1,71,192,197,2,31,2,71,192,197,66,35,30,71,192,197,130,0,70,5,5,1,0,2,3,255,255,2,71,5,5,27,3,255,255,3,71,5,5,0,72,5,5,8,0,37,30,15,0,37,30,77,192,197,130,39,30,77,192,197,194,41,30,78,192,197,2,43,30,78,192,197,66,150,30,78,192,197,130,104,0,255,255,2,73,5,5,37,1,76,192,197,194,31,2,77,192,197,2,35,30,77,192,197,66,0,74,5,5,30,0,218,1,54,0,123,30,26,0,235,30,12,0,235,30,85,192,197,227,237,30,86,192,197,67,239,30,86,192,197,163,241,30,87,192,197,3,123,30,84,192,197,163,229,30,85,192,197,2,231,30,85,192,197,66,233,30,85,192,197,131,115,30,12,0,115,30,83,192,197,130,117,30,83,192,197,194,119,30,84,192,197,2,121,30,84,192,197,67,218,1,82,192,197,67,220,1,82,192,197,163,21,2,83,192,197,2,23,2,83,192,197,66,109,1,26,0,176,1,12,0,176,1,81,192,197,98,212,1,81,192,197,162,214,1,81,192,197,227,216,1,78,192,197,195,109,1,80,192,197,98,111,1,80,192,197,162,113,1,80,192,197,226,115,1,81,192,197,34,251,0,12,0,251,0,79,192,197,162,252,0,78,192,197,194,105,1,79,192,197,226,107,1,80,192,197,34,117,0,6,0,249,0,79,192,197,34,250,0,79,192,197,98,240,127,2,75,5,5,68,3,78,192,197,195,0,80,5,5,18,0,35,30,32,0,89,30,15,0,89,30,90,192,197,98,91,30,90,192,197,162,93,30,90,192,197,227,95,30,91,192,197,66,150,30,91,192,197,130,35,30,89,192,197,34,37,30,89,192,197,98,39,30,89,192,197,162,41,30,89,192,197,226,43,30,90,192,197,34,87,1,15,0,87,1,87,192,197,226,89,1,88,192,197,34,17,2,88,192,197,98,19,2,88,192,197,162,31,2,88,192,197,226,104,0,255,255,2,81,5,5,114,0,255,255,3,81,5,5,37,1,87,192,197,98,85,1,87,192,197,162,0,82,5,5,48,0,27,3,255,255,2,83,5,5,156,42,196,162,1,0,2,3,96,192,197,66,6,3,96,192,197,130,5,42,196,162,1,0,2,3,96,192,197,194,6,3,97,192,197,2,156,50,196,162,48,0,2,3,97,192,197,194,5,50,196,162,48,0,2,3,98,192,197,2,156,82,196,162,48,0,27,3,101,192,197,66,5,82,196,162,48,0,27,3,101,192,197,130,3,71,134,5,48,0,2,3,102,192,197,66,3,71,5,5,48,0,2,3,102,192,197,130,156,70,196,162,1,0,2,3,103,192,197,130,27,3,103,192,197,194,5,70,196,162,1,0,2,3,104,192,197,2,27,3,104,192,197,66,156,50,196,160,48,0,2,3,107,192,197,66,5,50,196,160,48,0,2,3,107,192,197,130,156,42,196,200,1,0,2,3,114,192,197,66,6,3,114,192,197,130,5,42,196,200,1,0,2,3,114,192,197,194,6,3,115,192,197,2,156,50,196,204,48,0,2,3,117,192,197,194,5,50,196,204,48,0,2,3,118,192,197,2,156,50,196,208,48,0,2,3,118,192,197,66,5,50,196,208,48,0,2,3,118,192,197,130,133,0,197,130,1,0,2,3,133,192,197,194,6,3,134,192,197,2,134,0,197,66,1,0,2,3,134,192,197,130,6,3,134,192,197,194,139,0,197,130,48,0,2,3,139,192,197,194,140,0,197,2,48,0,2,3,140,192,197,66,144,0,197,130,48,0,2,3,144,192,197,194,145,0,197,2,48,0,2,3,145,192,197,66,150,0,197,2,48,0,2,3,150,192,197,67,150,0,197,162,48,0,2,3,150,192,197,227,56,0,71,0,74,0,82,0,83,0,85,0,86,0,103,0,106,0,114,0,115,0,117,0,118,0,204,0,208,0,217,0,221,0,236,0,240,0,249,0,253,0,28,1,38,1,40,1,49,1,84,1,90,1,104,1,116,1,175,1,177,1,207,1,209,1,211,1,221,1,230,1,232,1,244,1,246,1,8,2,12,2,16,2,24,2,30,2,32,2,32,30,48,30,88,30,96,30,114,30,124,30,150,30,151,30,200,30,204,30,228,30,242,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,68,28,4,185,80,38,4,185,96,40,4,185,112,186,116,186,124,86,4,185,136,185,140,96,4,124,4,126,4,136,4,185,188,186,192,180,4,206,4,185,216,185,220,185,224,185,228,185,232,88,13,168,13,96,13,56,14,80,12,40,14,208,4,168,68,210,4,168,80,216,4,168,96,218,4,168,112,168,116,168,124,241,4,168,136,168,140,247,4,6,5,8,5,14,5,168,188,168,192,37,5,51,5,168,216,168,220,168,224,168,228,168,232,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,160,64,13,1,0,1,0,1,0,192,12,153,57,217,57,185,64,185,57,121,58,89,58,0,8,249,74,154,89,218,89,185,92,122,90,154,117,218,117,26,118,122,118,217,80,186,145,153,161,217,161,185,164,185,161,121,162,136,14,217,162,153,213,217,213,25,214,121,214,217,229,185,236,2,8,136,57,200,57,168,64,168,57,104,58,72,58,4,8,232,74,136,89,200,89,168,92,104,90,136,117,200,117,8,118,104,118,200,80,168,145,136,161,200,161,168,164,168,161,104,162,128,14,200,162,136,213,200,213,8,214,104,214,200,229,168,236,104,230,57,59,40,59,185,60,168,60,53,5,55,5,217,73,200,73,25,74,8,74,185,74,168,74,57,74,40,74,57,82,40,82,185,84,168,84,58,91,40,91,250,89,232,89,186,90,168,90,57,5,59,5,58,90,40,90,25,102,8,102,249,101,232,101,185,102,168,102,249,102,232,102,25,114,8,114,89,115,72,115,186,117,168,117,58,119,40,119,250,117,232,117,26,119,8,119,186,118,168,120,6,8,8,8,26,126,8,126,249,130,232,130,168,184,217,137,200,137,249,138,232,138,57,138,40,138,121,139,104,139,89,139,72,139,218,145,200,145,250,146,232,146,58,146,40,146,10,8,185,156,168,156,57,163,40,163,249,161,232,161,153,162,136,162,12,8,14,8,217,189,200,189,249,190,232,190,57,190,40,190,218,193,200,193,26,194,8,194,250,194,232,194,58,194,40,194,249,198,232,198,57,198,40,198,185,208,168,208,185,213,168,213,57,215,40,215,249,213,232,213,89,214,72,214,153,214,136,214,61,5,63,5,25,222,8,222,25,230,8,230,121,230,217,233,200,233,185,234,168,234,57,234,40,234,232,192,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,88,200,192,169,192,200,56,169,88,187,116,187,124,169,116,169,124,169,240,169,144,217,160,187,88,200,160,169,88,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,72,72,4,186,76,104,4,177,76,36,5,26,78,37,5,17,78,255,5,186,88,255,5,185,100,72,4,186,104,73,2,104,4,177,104,105,2,204,4,154,109,205,4,218,109,206,4,26,110,207,4,122,110,236,4,145,109,237,4,209,109,238,4,17,110,239,4,113,110,36,5,26,106,37,5,17,106,40,5,186,109,41,5,177,109,42,5,58,111,43,5,49,111,44,5,250,109,45,5,241,109,46,5,26,111,47,5,17,111,48,5,186,110,255,5,185,128,72,4,186,132,104,4,177,132,36,5,26,134,37,5,17,134,255,5,186,144,71,2,72,4,186,148,103,2,104,4,177,148,28,5,26,154,29,5,17,154,30,5,250,153,31,5,241,153,32,5,186,154,33,5,177,154,34,5,250,154,35,5,241,154,36,5,26,150,37,5,17,150,255,5,185,160,255,5,185,168,72,4,186,172,104,4,177,172,36,5,26,174,37,5,17,174,255,5,185,176,85,2,117,2,217,4,154,181,218,4,218,181,219,4,26,182,220,4,122,182,249,4,145,181,250,4,209,181,251,4,17,182,252,4,113,182,104,5,186,181,105,5,177,181,106,5,58,183,107,5,49,183,108,5,250,181,109,5,241,181,110,5,90,182,111,5,81,182,112,5,154,182,113,5,145,182,114,5,26,183,115,5,17,183,255,5,185,196,72,4,186,200,82,4,186,204,104,4,177,200,114,4,177,204,36,5,26,202,37,5,17,202,84,5,218,205,85,5,209,205,86,5,250,206,87,5,241,206,88,5,58,206,89,5,49,206,255,5,185,212,255,5,168,56,255,5,168,72,104,4,168,76,37,5,8,78,255,5,168,88,255,5,168,100,104,4,168,104,105,2,236,4,136,109,237,4,200,109,238,4,8,110,239,4,104,110,37,5,8,106,41,5,168,109,43,5,40,111,45,5,232,109,47,5,8,111,255,5,168,128,104,4,168,132,37,5,8,134,255,5,168,144,103,2,104,4,168,148,29,5,8,154,31,5,232,153,33,5,168,154,35,5,232,154,37,5,8,150,255,5,168,160,255,5,168,168,104,4,168,172,37,5,8,174,255,5,168,176,117,2,249,4,136,181,250,4,200,181,251,4,8,182,252,4,104,182,105,5,168,181,107,5,40,183,109,5,232,181,111,5,72,182,113,5,136,182,115,5,8,183,255,5,168,196,104,4,168,200,114,4,168,204,37,5,8,202,85,5,200,205,87,5,232,206,89,5,40,206,255,5,168,212,255,5,25,59,255,5,8,59,255,5,26,91,255,5,8,91,255,5,25,215,255,5,8,215,255,1,3,0,69,0,52,0,61,0,71,15,0,16,90,0,0,96,1,0,0,96,2,0,43,0,84,0,170,170,63,15,0,32,35,36,0,32,1,0,32,0,40,36,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,198,9,0,32,7,0,0,0,21,0,0,0,200,9,0,0,200,9,0,0,3,0,0,0,0,0,0,0,55,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,62,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,38,0,65,0,60,0,224,0,60,0,60,0,60,0,192,0,38,0,69,0,60,0,233,0,60,0,60,0,60,0,201,0,60,0,235,0,60,0,60,0,60,0,203,0,38,0,78,0,60,0,241,0,60,0,60,0,60,0,209,0,60,0,75,1,60,0,60,0,60,0,74,1,38,0,79,0,60,0,243,0,60,0,60,0,60,0,211,0,0,0,28,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,116,29,0,0,116,29,0,0,116,29,0,0,116,29,0,0,40,31,0,0,40,31,0,0,12,34,0,0,12,34,0,0,4,38,0,0,50,105,114,84,1,0,64,8,202,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,103,0,111,0,112,0,120,0,123,0,131,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,155,0,48,0,162,0,48,0,48,0,170,0,177,0,185,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,147,0,48,0,48,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,156,1,192,1,236,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,12,0,202,129,12,0,202,162,12,0,202,195,12,0,202,228,12,0,202,5,13,0,202,38,13,0,202,71,13,0,202,104,13,0,202,137,13,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,38,1,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,166,2,0,201,134,3,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,230,4,0,5,5,0,44,5,5,0,46,5,5,0,48,201,6,6,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,134,7,0,201,102,8,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,43,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,11,0,196,160,156,46,196,138,156,50,134,5,2,51,196,142,156,50,134,5,3,51,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,134,5,2,71,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,11,0,5,5,2,43,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,12,0,196,160,5,46,196,138,5,50,5,5,2,51,196,142,5,50,5,5,3,51,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,5,5,2,71,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,9,0,201,166,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,11,0,201,70,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,14,0,201,134,15,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,69,5,5,3,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,16,0,201,102,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,18,0,201,166,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,20,0,201,70,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,23,0,201,230,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,26,0,201,134,27,0,201,6,29,0,201,134,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,32,0,201,198,32,0,201,134,33,0,201,70,34,0,201,6,35,0,201,198,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,36,0,201,166,37,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,38,0,201,70,40,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,41,0,201,230,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,44,0,201,38,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,43,5,162,0,0,5,5,2,43,5,162,0,0,134,5,2,51,5,162,0,0,134,5,3,51,5,162,0,0,5,5,2,51,5,162,0,0,5,5,3,51,5,162,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,51,5,160,0,0,134,5,3,51,5,160,0,0,5,5,2,51,5,160,0,0,5,5,3,51,5,160,0,0,134,5,2,43,5,200,0,0,5,5,2,43,5,200,0,0,134,5,2,51,5,204,0,0,134,5,3,51,5,204,0,0,5,5,2,51,5,204,0,0,5,5,3,51,5,204,0,0,134,5,2,51,5,208,0,0,134,5,3,51,5,208,0,0,5,5,2,51,5,208,0,0,5,5,3,51,5,208,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,43,5,196,0,0,5,5,2,43,5,196,0,0,134,5,2,51,5,196,0,0,134,5,3,51,5,196,0,0,5,5,2,51,5,196,0,0,5,5,3,51,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,0,3,2,235,134,5,64,3,2,235,134,5,0,50,156,5,2,0,1,3,2,243,134,5,8,3,3,243,134,5,65,3,2,243,134,5,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,70,156,5,1,0,1,3,255,255,2,71,134,5,65,3,255,255,2,71,134,5,0,42,5,5,1,0,0,3,2,235,5,5,64,3,2,235,5,5,0,50,5,5,2,0,1,3,2,243,5,5,8,3,3,243,5,5,65,3,2,243,5,5,0,68,5,5,48,0,3,3,255,255,2,69,5,5,0,70,5,5,1,0,1,3,255,255,2,71,5,5,65,3,255,255,2,71,5,5,156,42,196,162,1,0,0,3,197,162,64,3,197,162,5,42,196,162,1,0,0,3,0,192,197,98,64,3,0,192,197,98,156,50,196,162,2,0,1,3,0,192,197,162,8,3,0,192,197,226,65,3,0,192,197,162,5,50,196,162,2,0,1,3,1,192,197,34,8,3,1,192,197,98,65,3,1,192,197,34,156,68,196,160,48,0,3,3,1,192,197,162,5,68,196,160,48,0,3,3,1,192,197,226,156,70,196,190,1,0,1,3,2,192,197,34,65,3,2,192,197,34,5,70,196,190,1,0,1,3,2,192,197,98,65,3,2,192,197,98,156,70,196,162,1,0,1,3,2,192,197,162,65,3,2,192,197,162,5,70,196,162,1,0,1,3,2,192,197,226,65,3,2,192,197,226,156,50,196,160,2,0,1,3,3,192,197,34,8,3,3,192,197,98,65,3,3,192,197,34,5,50,196,160,2,0,1,3,3,192,197,162,8,3,3,192,197,226,65,3,3,192,197,162,156,42,196,200,1,0,0,3,4,192,197,34,64,3,4,192,197,34,5,42,196,200,1,0,0,3,4,192,197,98,64,3,4,192,197,98,156,50,196,204,2,0,1,3,4,192,197,162,8,3,4,192,197,226,65,3,4,192,197,162,5,50,196,204,2,0,1,3,5,192,197,34,8,3,5,192,197,98,65,3,5,192,197,34,156,50,196,208,2,0,1,3,5,192,197,162,8,3,5,192,197,226,65,3,5,192,197,162,5,50,196,208,2,0,1,3,6,192,197,34,8,3,6,192,197,98,65,3,6,192,197,34,156,68,196,196,48,0,3,3,6,192,197,162,5,68,196,196,48,0,3,3,6,192,197,226,156,68,196,210,48,0,3,3,7,192,197,34,5,68,196,210,48,0,3,3,7,192,197,98,156,68,196,204,48,0,3,3,7,192,197,162,5,68,196,204,48,0,3,3,7,192,197,226,156,42,196,196,1,0,0,3,8,192,197,34,64,3,8,192,197,34,5,42,196,196,1,0,0,3,8,192,197,98,64,3,8,192,197,98,156,50,196,196,2,0,1,3,8,192,197,162,8,3,8,192,197,226,65,3,8,192,197,162,5,50,196,196,2,0,1,3,9,192,197,34,8,3,9,192,197,98,65,3,9,192,197,34,156,70,196,196,1,0,1,3,9,192,197,162,65,3,9,192,197,162,5,70,196,196,1,0,1,3,9,192,197,226,65,3,9,192,197,226,10,0,197,35,1,0,1,3,10,192,197,131,65,3,10,192,197,131,10,0,197,227,1,0,1,3,11,192,197,67,65,3,11,192,197,67,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,64,185,68,185,72,28,4,185,88,185,92,185,96,186,100,186,108,185,112,185,116,185,120,30,4,32,4,185,144,185,148,185,156,186,160,185,164,185,172,185,176,185,180,185,184,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,64,168,68,168,72,36,4,168,88,168,92,168,96,168,100,168,108,168,112,168,116,168,120,38,4,40,4,168,144,168,148,168,156,168,160,168,164,168,172,168,176,168,180,168,184,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,60,153,57,249,57,153,58,89,58,57,58,0,8,249,70,186,77,185,80,250,77,185,84,186,101,154,101,250,101,90,102,217,72,185,128,185,137,185,140,249,137,153,138,89,138,136,14,217,138,185,173,153,173,249,173,89,174,153,189,185,196,2,8,168,60,136,57,232,57,136,58,72,58,40,58,4,8,232,70,168,77,168,80,232,77,168,84,168,101,136,101,232,101,72,102,200,72,168,128,168,137,168,140,232,137,136,138,72,138,128,14,200,138,168,173,136,173,232,173,72,174,136,189,168,196,72,190,57,59,40,59,217,57,200,57,42,4,44,4,153,69,136,69,249,69,232,69,185,70,168,70,25,70,8,70,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,46,4,48,4,26,78,8,78,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,97,232,97,89,99,72,99,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,152,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,50,4,52,4,26,126,8,126,10,8,185,132,168,132,57,139,40,139,217,137,200,137,121,138,104,138,12,8,14,8,153,157,136,157,249,158,232,158,25,158,8,158,154,161,136,161,250,161,232,161,250,162,232,162,26,162,8,162,249,166,232,166,25,166,8,166,185,168,168,168,153,174,136,174,57,175,40,175,217,173,200,173,57,174,40,174,121,174,104,174,25,175,8,175,249,181,232,181,249,189,232,189,89,190,153,193,136,193,185,194,168,194,25,194,8,194,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,160,169,160,200,56,169,76,187,100,187,108,169,100,169,108,169,200,169,124,217,136,187,76,200,136,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,76,255,5,186,124,255,5,185,136,255,5,168,56,255,5,168,76,255,5,168,124,255,5,168,136,255,5,25,59,255,5,8,59,255,5,26,79,255,5,8,79,255,5,250,126,255,5,232,126,255,1,3,0,69,0,52,0,61,0,55,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,191,9,0,32,1,0,32,0,196,9,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,76,16,0,32,7,0,0,0,23,0,0,0,78,16,0,0,78,16,0,0,3,0,0,0,0,0,0,0,124,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,14,32,38,0,243,5,60,0,60,0,39,0,39,0,14,32,38,0,244,5,60,0,60,0,39,0,34,0,39,0,0,0,155,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,101,0,98,0,114,0,93,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,39,0,39,0,60,0,60,0,243,5,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,39,0,34,0,39,0,60,0,60,0,244,5,38,0,209,5,60,0,209,5,191,5,38,0,213,5,60,0,60,0,213,5,188,5,60,0,60,0,213,5,213,5,60,0,60,0,213,5,217,5,38,0,217,5,60,0,60,0,217,5,180,5,60,0,60,0,217,5,217,5,60,0,60,0,242,5,183,5,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,219,5,60,0,219,5,188,5,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,228,5,60,0,228,5,188,5,38,0,228,5,191,5,60,0,60,0,60,0,227,5,38,0,233,5,60,0,233,5,194,5,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,234,5,60,0,234,5,188,5,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,106,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,61,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,228,31,0,0,228,31,0,0,228,31,0,0,228,31,0,0,12,34,0,0,12,34,0,0,82,34,0,0,82,34,0,0,82,34,0,0,50,105,114,84,1,0,64,8,241,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,110,0,118,0,48,0,56,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,150,0,48,0,48,0,48,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,174,0,48,0,180,0,188,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,199,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,140,0,48,0,48,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,224,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,184,1,192,0,212,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,253,0,0,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,194,5,221,251,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,16,0,202,33,16,0,202,66,16,0,202,99,16,0,202,132,16,0,202,165,16,0,202,198,16,0,202,231,16,0,202,8,17,0,202,41,17,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,6,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,220,251,5,252,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,0,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,0,5,71,238,102,201,134,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,197,162,1,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,197,163,2,0,197,2,3,0,192,0,0,0,192,0,0,0,197,66,3,0,197,131,3,0,197,226,3,0,192,0,0,0,192,0,0,0,197,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,0,0,5,5,10,121,5,5,12,121,197,98,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,98,1,0,5,5,107,121,197,162,1,0,5,5,111,121,197,226,1,0,5,5,115,121,197,34,2,0,5,5,119,121,197,98,2,0,197,163,2,0,197,2,3,0,5,5,127,121,5,5,129,121,197,66,3,0,197,131,3,0,197,226,3,0,5,5,137,121,5,5,139,121,197,34,4,0,5,5,143,121,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,170,170,3,0,67,0,50,0,59,0,127,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,124,28,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,76,0,0,0,76,1,0,0,124,26,0,0,124,26,0,0,124,26,0,0,124,26,0,0,84,27,0,0,84,27,0,0,74,28,0,0,100,28,0,0,19,0,0,0,0,0,0,101,194,255,50,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,0,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,138,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,105,0,113,0,121,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,5,0,202,161,5,0,202,194,5,0,202,227,5,0,202,4,6,0,202,37,6,0,202,70,6,0,202,103,6,0,202,136,6,0,202,169,6,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,194,4,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,2,5,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,66,5,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,228,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,100,4,0,192,0,0,0,201,134,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,1,0,201,102,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,8,0,201,38,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,10,0,5,2,106,9,5,2,120,9,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,24,101,192,0,0,0,5,72,24,101,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,10,0,193,2,47,101,201,166,11,0,197,2,3,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,12,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,16,101,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,101,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,3,0,5,5,37,101,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,13,0,193,3,47,101,201,166,14,0,5,5,9,101,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,72,16,101,194,5,167,226,5,71,16,101,194,5,210,227,5,72,16,101,194,5,210,227,5,71,16,101,194,5,78,227,5,71,24,101,194,5,167,226,5,71,24,101,194,5,210,227,5,5,38,101,194,6,243,227,32,5,24,101,32,5,24,101,5,5,46,101,194,5,177,227,193,2,47,101,194,5,177,227,5,5,46,101,194,5,210,227,194,5,177,227,193,2,47,101,194,5,210,227,194,5,177,227,5,5,8,101,194,5,210,227,5,5,9,101,194,5,210,227,5,5,38,101,194,6,243,227,194,5,210,227,5,5,16,101,194,5,78,227,5,70,16,101,194,5,78,227,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,8,101,5,5,48,0,191,5,255,255,9,101,5,5,16,101,5,5,6,0,29,251,11,0,29,251,197,162,53,251,0,192,197,98,57,251,0,192,197,162,75,251,0,192,197,226,188,5,255,255,16,101,5,70,213,5,255,255,16,101,5,71,217,5,255,255,16,101,5,72,24,101,5,5,3,0,180,5,255,255,24,101,5,70,217,5,255,255,24,101,5,71,29,251,1,192,197,34,57,251,1,192,197,98,26,101,5,5,48,0,188,5,255,255,25,101,5,5,38,101,5,5,48,0,188,5,255,255,37,101,5,5,46,101,5,5,48,0,194,5,255,255,47,101,193,2,48,101,5,5,48,0,188,5,255,255,47,101,193,3,1,0,197,226,48,0,183,5,255,255,24,101,5,72,2,0,197,34,48,0,194,5,2,192,197,98,2,0,197,163,48,0,194,5,3,192,197,3,3,0,197,98,48,0,191,5,3,192,197,162,2,0,197,162,1,0,193,5,3,0,194,5,3,192,197,2,48,0,194,5,3,192,197,3,4,0,197,66,48,0,188,5,4,192,197,130,12,0,213,5,214,5,217,5,218,5,29,251,30,251,53,251,54,251,57,251,58,251,75,251,76,251,3,0,67,0,50,0,59,0,35,9,0,16,44,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,27,9,0,32,67,16,0,32,1,0,32,0,72,16,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,231,8,0,32,7,0,0,0,21,0,0,0,233,8,0,0,233,8,0,0,3,0,0,0,0,0,0,0,53,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,57,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,38,0,69,0,60,0,185,30,60,0,60,0,60,0,184,30,38,0,71,0,60,0,103,0,98,0,60,0,60,0,60,0,71,0,98,0,60,0,60,0,60,0,71,0,66,0,38,0,79,0,60,0,205,30,60,0,60,0,60,0,204,30,38,0,83,0,60,0,99,30,60,0,60,0,60,0,98,30,0,0,170,170,170,170,170,170,170,170,170,170,160,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,28,0,0,84,28,0,0,84,28,0,0,84,28,0,0,96,29,0,0,96,29,0,0,126,30,0,0,140,30,0,0,136,34,0,0,50,105,114,84,1,0,64,8,184,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,97,0,105,0,106,0,114,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,149,0,48,0,152,0,159,0,167,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,141,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,132,1,168,1,212,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,7,0,202,65,7,0,202,98,7,0,202,131,7,0,202,164,7,0,202,197,7,0,202,230,7,0,202,7,8,0,202,40,8,0,202,73,8,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,201,6,0,0,156,5,0,52,201,192,0,0,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,70,4,0,156,5,0,72,160,5,0,74,156,5,0,76,201,38,5,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,201,6,6,0,5,5,0,52,201,192,6,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,8,0,5,5,0,72,5,5,0,74,5,5,0,76,201,134,9,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,6,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,6,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,6,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,10,0,201,38,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,11,0,201,166,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,13,0,201,38,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,14,0,201,166,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,16,0,201,38,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,4,0,197,34,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,5,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,71,5,5,2,71,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,55,5,156,0,0,70,5,2,55,5,156,0,0,135,5,2,55,5,196,0,0,70,5,2,55,5,196,0,0,135,5,2,55,5,210,0,0,70,5,2,55,5,210,0,0,5,5,2,55,5,156,0,0,5,5,2,55,5,196,0,0,5,5,2,55,5,210,0,0,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,51,5,160,0,0,5,5,2,51,5,160,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,51,5,142,0,0,5,5,2,51,5,142,0,0,134,5,2,71,5,142,0,0,5,5,2,71,5,142,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,50,156,5,48,0,35,3,2,243,134,5,0,54,156,5,7,0,4,30,12,0,4,30,0,192,197,162,5,30,0,192,197,226,6,30,1,192,197,34,7,30,1,192,197,98,66,0,2,247,135,5,98,0,2,247,70,5,2,30,197,162,3,30,0,192,197,98,0,70,156,5,48,0,35,3,255,255,2,71,134,5,0,78,156,5,48,0,35,3,255,255,2,79,134,5,0,50,5,5,48,0,35,3,2,243,5,5,0,54,5,5,3,0,98,0,2,247,5,5,3,30,1,192,197,162,5,30,1,192,197,226,7,30,2,192,197,34,0,70,5,5,48,0,35,3,255,255,2,71,5,5,0,78,5,5,48,0,35,3,255,255,2,79,5,5,156,50,196,162,48,0,35,3,2,192,197,98,5,50,196,162,48,0,35,3,2,192,197,162,156,78,196,160,48,0,35,3,2,192,197,226,5,78,196,160,48,0,35,3,3,192,197,34,156,70,196,190,48,0,35,3,3,192,197,98,5,70,196,190,48,0,35,3,3,192,197,162,156,70,196,162,48,0,35,3,3,192,197,226,5,70,196,162,48,0,35,3,4,192,197,34,156,50,196,160,48,0,35,3,4,192,197,98,5,50,196,160,48,0,35,3,4,192,197,162,6,0,66,0,67,0,98,0,99,0,2,30,8,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,26,4,185,76,28,4,185,88,186,92,186,100,185,104,185,108,185,112,186,116,34,4,185,128,185,132,185,140,36,4,185,148,185,156,185,160,185,164,185,168,185,172,185,176,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,38,4,168,76,40,4,168,88,168,92,168,100,168,104,168,108,168,112,168,116,44,4,168,128,168,132,168,140,46,4,168,148,168,156,168,160,168,164,168,168,168,172,168,176,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,93,154,93,250,93,90,94,217,68,154,118,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,157,153,157,249,157,89,158,153,173,185,180,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,93,136,93,232,93,72,94,200,68,136,118,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,157,136,157,232,157,72,158,136,173,168,180,72,174,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,48,4,50,4,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,136,153,109,136,109,249,110,232,110,25,110,8,110,121,111,104,111,89,111,72,111,154,117,136,117,250,118,232,118,26,118,8,118,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,52,4,54,4,26,146,8,146,249,150,232,150,25,150,8,150,185,152,168,152,153,158,136,158,57,159,40,159,217,157,200,157,57,158,40,158,121,158,104,158,25,159,8,159,249,165,232,165,249,173,232,173,89,174,153,177,136,177,185,178,168,178,25,178,8,178,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,144,169,144,200,56,169,72,187,92,187,100,169,92,169,100,169,184,169,116,217,124,187,72,200,124,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,186,72,255,5,185,80,66,4,186,84,98,4,177,84,255,5,185,124,255,5,186,144,255,5,168,72,255,5,168,80,98,4,168,84,255,5,168,124,255,5,168,144,255,5,26,75,255,5,8,75,255,5,250,146,255,5,232,146,255,1,3,0,69,0,52,0,61,0,55,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,224,8,0,32,1,0,32,0,229,8,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,23,129,3,32,7,0,0,0,35,0,0,0,25,129,3,0,25,129,3,0,8,0,0,0,0,0,0,0,26,206,0,0,99,111,108,108,97,116,105,111,110,115,0,98,105,103,53,104,97,110,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,100,101,102,97,117,108,116,0,103,98,50,51,49,50,104,97,110,0,112,114,105,118,97,116,101,45,112,105,110,121,105,110,0,115,116,114,111,107,101,0,117,110,105,104,97,110,0,122,104,117,121,105,110,0,170,170,170,0,0,52,0,50,0,0,0,112,0,105,0,110,0,121,0,105,0,110,0,0,0,82,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,117,0,110,0,105,0,104,0,97,0,110,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,105,0,32,0,66,0,111,0,112,0,111,0,93,0,0,0,115,221,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,97,0,60,0,60,0,1,1,60,0,60,0,60,0,0,1,60,0,60,0,225,0,60,0,60,0,60,0,193,0,60,0,60,0,206,1,60,0,60,0,60,0,205,1,60,0,60,0,224,0,60,0,60,0,60,0,192,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,101,0,60,0,60,0,19,1,60,0,60,0,60,0,18,1,60,0,60,0,233,0,60,0,60,0,60,0,201,0,60,0,60,0,27,1,60,0,60,0,60,0,26,1,60,0,60,0,232,0,60,0,60,0,60,0,200,0,38,0,101,0,60,0,60,0,101,0,2,3,4,3,60,0,60,0,60,0,69,0,2,3,4,3,60,0,60,0,101,0,2,3,1,3,60,0,60,0,60,0,69,0,2,3,1,3,60,0,60,0,101,0,2,3,12,3,60,0,60,0,60,0,69,0,2,3,12,3,60,0,60,0,101,0,2,3,0,3,60,0,60,0,60,0,69,0,2,3,0,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,105,0,60,0,60,0,43,1,60,0,60,0,60,0,42,1,60,0,60,0,237,0,60,0,60,0,60,0,205,0,60,0,60,0,208,1,60,0,60,0,60,0,207,1,60,0,60,0,236,0,60,0,60,0,60,0,204,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,109,0,60,0,60,0,109,0,4,3,60,0,60,0,60,0,77,0,4,3,60,0,60,0,63,30,60,0,60,0,60,0,62,30,60,0,60,0,109,0,12,3,60,0,60,0,60,0,77,0,12,3,60,0,60,0,109,0,0,3,60,0,60,0,60,0,77,0,0,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,110,0,60,0,60,0,110,0,4,3,60,0,60,0,60,0,78,0,4,3,60,0,60,0,68,1,60,0,60,0,60,0,67,1,60,0,60,0,72,1,60,0,60,0,60,0,71,1,60,0,60,0,249,1,60,0,60,0,60,0,248,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,111,0,60,0,60,0,77,1,60,0,60,0,60,0,76,1,60,0,60,0,243,0,60,0,60,0,60,0,211,0,60,0,60,0,210,1,60,0,60,0,60,0,209,1,60,0,60,0,242,0,60,0,60,0,60,0,210,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,117,0,60,0,60,0,107,1,60,0,60,0,60,0,106,1,60,0,60,0,250,0,60,0,60,0,60,0,218,0,60,0,60,0,212,1,60,0,60,0,60,0,211,1,60,0,60,0,249,0,60,0,60,0,60,0,217,0,38,0,85,0,60,0,60,0,214,1,60,0,60,0,60,0,213,1,60,0,60,0,216,1,60,0,60,0,60,0,215,1,60,0,60,0,218,1,60,0,60,0,60,0,217,1,60,0,60,0,220,1,60,0,60,0,60,0,219,1,60,0,60,0,252,0,60,0,60,0,60,0,220,0,0,0,239,223,181,26,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,72,0,97,0,110,0,105,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,42,0,74,85,63,150,195,87,40,99,206,84,9,85,192,84,145,118,76,118,60,133,238,119,126,130,141,120,49,114,152,150,141,151,40,108,137,91,250,79,9,99,151,102,184,92,250,128,72,104,174,128,2,102,206,118,249,81,86,101,172,113,241,127,132,136,178,80,101,89,202,97,179,111,173,130,76,99,82,98,237,83,39,84,6,123,107,81,164,117,244,93,212,98,203,141,118,151,138,98,25,128,93,87,56,151,98,127,56,114,125,118,207,103,126,118,70,100,112,79,37,141,220,98,23,122,145,101,237,115,44,100,115,98,44,130,129,152,127,103,72,114,110,98,204,98,52,79,227,116,74,83,158,82,202,126,166,144,46,94,134,104,156,105,128,129,209,126,210,104,197,120,140,134,81,149,141,80,36,140,222,130,222,128,5,83,18,137,101,82,132,133,249,150,221,79,33,88,113,153,157,91,177,98,165,98,180,102,121,140,141,156,6,114,111,103,145,120,178,96,81,83,23,83,136,143,204,128,29,141,161,148,13,80,200,114,7,89,235,96,25,113,171,136,84,89,239,130,44,103,40,123,41,93,247,126,45,117,245,108,102,142,248,143,60,144,59,159,212,107,25,145,20,123,124,95,167,120,214,132,61,133,213,107,217,107,214,107,1,94,135,94,249,117,237,149,93,101,10,95,197,95,159,143,193,88,194,129,127,144,91,150,173,151,185,143,22,127,44,141,65,98,191,79,216,83,94,83,168,143,169,143,171,143,77,144,7,104,106,95,152,129,104,136,214,156,139,97,43,82,42,118,108,95,140,101,210,111,232,110,190,91,72,100,117,81,176,81,196,103,25,78,201,121,124,153,179,112,197,117,118,94,187,115,224,131,173,100,232,98,181,148,226,108,90,83,195,82,15,100,194,148,148,123,47,79,27,94,54,130,22,129,138,129,36,110,202,108,115,154,85,99,92,83,250,84,101,136,224,87,13,78,3,94,101,107,63,124,232,144,22,96,230,100,28,115,193,136,80,103,77,98,34,141,108,119,41,142,199,145,105,95,220,131,33,133,16,153,194,83,149,134,139,107,237,96,232,96,127,112,205,130,49,130,211,78,167,108,207,133,205,100,217,124,253,105,249,102,73,131,149,83,86,123,167,79,140,81,75,109,66,92,109,142,210,99,201,83,44,131,54,131,229,103,180,120,61,100,223,91,148,92,238,93,231,139,198,98,244,103,122,140,0,100,186,99,73,135,139,153,23,140,32,127,242,148,167,78,16,150,164,152,12,102,22,115,58,87,29,92,56,94,127,149,127,80,160,128,130,83,94,101,69,117,49,85,33,80,133,141,132,98,158,148,29,103,50,86,110,111,226,93,53,84,146,112,102,143,111,98,164,100,163,99,123,95,136,111,244,144,227,129,176,143,24,92,104,102,241,95,137,108,72,150,129,141,108,136,145,100,240,121,206,87,89,106,16,98,72,84,88,78,11,122,233,96,132,111,218,139,127,98,30,144,139,154,228,121,3,84,244,117,1,99,25,83,96,108,223,143,27,95,112,154,59,128,127,159,136,79,58,92,100,141,197,127,165,101,189,112,69,81,178,81,107,134,7,93,160,91,189,98,108,145,116,117,12,142,32,122,1,97,121,123,199,78,248,126,133,119,17,78,237,129,29,82,250,81,113,106,168,83,135,142,4,149,207,150,193,110,100,150,90,105,64,120,168,80,215,119,16,100,230,137,4,89,227,99,221,93,127,122,61,105,32,79,57,130,152,85,50,78,174,117,151,122,98,94,138,94,239,149,27,82,57,84,138,112,118,99,36,149,130,87,37,102,63,105,135,145,7,85,243,109,175,126,34,136,51,98,240,126,181,117,40,131,193,120,204,150,158,143,72,97,247,116,205,139,100,107,58,82,80,141,33,107,106,128,113,132,241,86,6,83,206,78,27,78,209,81,151,124,139,145,7,124,195,79,127,142,225,123,156,122,103,100,20,93,172,80,6,129,1,118,185,124,236,109,224,127,81,103,88,91,248,91,203,120,174,100,19,100,170,99,43,99,25,149,45,100,190,143,84,123,41,118,83,98,39,89,70,84,121,107,163,80,52,98,38,94,134,107,227,78,55,141,139,136,133,95,46,144,32,96,61,128,197,98,57,78,85,83,248,144,184,99,198,128,230,101,46,108,70,79,238,96,225,109,222,139,57,95,203,134,83,95,33,99,90,81,97,131,99,104,0,82,99,99,72,142,18,80,155,92,119,121,252,91,48,82,59,122,188,96,83,144,215,118,183,95,151,95,132,118,108,142,111,112,123,118,73,123,170,119,243,81,147,144,36,88,78,79,244,110,234,143,76,101,27,123,196,114,164,109,223,127,225,90,181,98,149,94,48,87,130,132,44,123,29,94,31,95,18,144,20,127,160,152,130,99,199,110,152,120,185,112,120,81,91,151,171,87,53,117,67,79,56,117,151,94,230,96,96,89,192,109,191,107,137,120,252,83,213,150,203,81,1,82,137,99,10,84,147,148,3,140,204,141,57,114,159,120,118,135,237,143,13,140,224,83,1,78,239,118,238,83,137,148,118,152,14,159,45,149,154,91,162,139,34,78,28,78,172,81,99,132,194,97,168,82,11,104,151,79,107,96,187,81,30,109,92,81,150,98,151,101,97,150,70,140,23,144,216,117,253,144,99,119,210,107,138,114,236,114,251,139,53,88,121,119,76,141,92,103,64,149,154,128,166,94,33,110,146,89,239,122,237,119,59,149,181,107,173,101,14,127,6,88,81,81,31,150,249,91,169,88,40,84,114,142,102,101,127,152,228,86,157,148,254,118,65,144,135,99,198,84,26,89,58,89,155,87,178,142,53,103,250,141,53,130,65,82,240,96,21,88,254,134,232,92,69,158,196,79,157,152,185,139,37,90,118,96,132,83,124,98,79,144,2,145,127,153,105,96,12,128,63,81,51,128,20,92,117,153,49,109,140,78,48,141,209,83,90,127,79,123,16,79,79,78,0,150,213,108,208,115,233,133,6,94,106,117,251,127,10,106,254,119,146,148,65,126,225,81,230,112,205,83,212,143,3,131,41,141,175,114,109,153,219,108,74,87,179,130,185,101,170,128,63,98,50,150,168,89,255,78,191,139,186,126,62,101,242,131,94,151,97,85,222,152,165,128,42,83,253,139,32,84,186,128,159,94,184,108,57,141,172,130,90,145,41,84,27,108,6,82,183,126,95,87,26,113,126,108,137,124,75,89,253,78,255,95,36,97,170,124,48,78,1,92,171,103,2,135,240,92,11,149,206,152,175,117,253,112,34,144,175,81,29,127,189,139,73,89,228,81,91,79,38,84,43,89,119,101,164,128,117,91,118,98,194,98,144,143,69,94,31,108,38,123,15,79,216,79,13,103,110,109,170,109,143,121,177,136,23,95,43,117,154,98,133,143,239,79,220,145,167,101,47,129,81,129,156,94,80,129,116,141,111,82,134,137,75,141,13,89,133,80,216,78,28,150,54,114,121,129,31,141,204,91,163,139,68,150,135,89,26,127,144,84,118,86,14,86,229,139,57,101,130,105,153,148,214,118,137,110,114,94,24,117,70,103,209,103,255,122,157,128,118,141,31,97,198,121,98,101,99,141,136,81,26,82,162,148,56,127,155,128,178,126,151,92,47,110,96,103,217,123,139,118,216,154,143,129,148,127,213,124,30,100,80,149,63,122,74,84,229,84,76,107,1,100,8,98,61,158,243,128,153,117,114,82,105,151,91,132,60,104,228,134,1,150,148,150,236,148,42,78,4,84,217,126,57,104,223,141,21,128,244,102,154,94,185,127,194,87,63,128,151,104,229,93,59,101,159,82,109,96,154,159,155,79,172,142,108,81,171,91,19,95,233,93,94,108,241,98,33,141,113,81,169,148,254,82,159,108,223,130,215,114,162,87,132,103,45,141,31,89,156,143,199,131,149,84,141,123,48,79,189,108,100,91,209,89,19,159,228,83,202,134,168,154,55,140,161,128,69,101,126,152,250,86,199,150,46,82,220,116,80,82,225,91,2,99,2,137,86,78,208,98,42,96,250,104,115,81,152,91,160,81,194,137,161,123,134,153,80,127,239,96,76,112,47,141,73,81,127,94,27,144,112,116,196,137,45,87,69,120,82,95,159,159,250,149,104,143,60,155,225,139,120,118,66,104,220,103,234,141,53,141,61,82,138,143,218,110,205,104,5,149,237,144,253,86,156,103,249,136,199,143,200,84,184,154,105,91,119,109,38,108,165,78,179,91,135,154,99,145,168,97,175,144,233,151,43,84,181,109,210,91,253,81,138,85,85,127,240,127,188,100,77,99,241,101,190,97,141,96,10,113,87,108,73,108,47,89,109,103,42,130,213,88,142,86,106,140,235,107,221,144,125,89,23,128,247,83,105,109,117,84,157,85,119,131,207,131,56,104,190,121,140,84,85,79,8,84,210,118,137,140,2,150,179,108,184,109,107,141,16,137,100,158,58,141,63,86,209,158,213,117,136,95,224,114,104,96,252,84,168,78,42,106,97,136,82,96,112,143,196,84,216,112,121,134,63,158,42,109,143,91,24,95,162,126,137,85,175,79,52,115,60,84,154,83,25,80,14,84,124,84,78,78,253,95,90,116,246,88,107,132,225,128,116,135,208,114,202,124,86,110,39,95,78,134,44,85,164,98,146,78,170,108,55,98,177,130,215,84,78,83,62,115,209,110,59,117,18,82,22,83,221,139,208,105,138,95,0,96,238,109,79,87,34,107,175,115,83,104,216,143,19,127,98,99,163,96,36,85,234,117,98,140,21,113,163,109,166,91,123,94,82,131,76,97,196,158,250,120,87,135,39,124,135,118,240,81,246,96,76,113,67,102,76,94,77,96,14,140,112,112,37,99,137,143,189,95,98,96,212,134,222,86,193,107,148,96,103,97,73,83,224,96,102,102,63,141,253,121,26,79,233,112,71,108,179,139,242,139,216,126,100,131,15,102,90,90,66,155,81,109,247,109,65,140,59,109,25,79,107,112,183,131,22,98,209,96,13,151,39,141,120,121,251,81,62,87,250,87,58,103,120,117,61,122,239,121,149,123,140,128,101,153,249,143,192,111,165,139,33,158,236,89,233,126,9,127,9,84,129,103,216,104,145,143,77,124,198,150,202,83,37,96,190,117,114,108,115,83,201,90,167,126,36,99,224,81,10,129,241,93,223,132,128,98,128,81,99,91,14,79,109,121,66,82,184,96,78,109,196,91,194,91,161,139,176,139,226,101,204,95,69,150,147,89,231,126,170,126,9,86,183,103,57,89,115,79,182,91,160,82,90,131,138,152,62,141,50,117,190,148,71,80,60,122,247,78,182,103,126,154,193,90,124,107,209,118,90,87,22,92,58,123,244,149,78,113,124,81,169,128,112,130,120,89,4,127,39,131,192,104,236,103,177,120,119,120,227,98,97,99,128,123,237,79,106,82,207,81,80,131,219,105,116,146,245,141,49,141,193,137,46,149,173,123,246,78,101,80,48,130,81,82,111,153,16,110,133,110,167,109,250,94,245,80,220,89,6,92,70,109,95,108,134,117,139,132,104,104,86,89,178,139,32,83,113,145,77,150,73,133,18,105,1,121,38,113,246,128,164,78,202,144,71,109,132,154,7,90,188,86,5,100,240,148,235,119,165,79,26,129,225,114,210,137,122,153,52,127,222,126,127,82,89,101,117,145,127,143,131,143,235,83,150,122,237,99,165,99,134,118,248,121,87,136,54,150,42,98,171,82,130,130,84,104,112,103,119,99,107,119,237,122,1,109,211,126,227,137,208,89,18,98,201,133,165,130,76,117,31,80,203,78,165,117,235,139,74,92,254,93,75,123,164,101,209,145,202,78,37,109,95,137,39,125,38,149,197,78,40,140,219,143,115,151,75,102,129,121,209,143,236,112,120,109,61,92,178,82,70,131,98,81,14,131,91,119,118,102,184,156,172,78,202,96,190,124,179,124,207,126,149,78,102,139,111,102,136,152,89,151,131,88,108,101,92,149,132,95,201,117,86,151,223,122,222,122,192,81,175,112,152,122,234,99,118,122,160,126,150,115,237,151,69,78,120,112,93,78,82,145,169,83,81,101,231,101,252,129,5,130,142,84,49,92,154,117,160,151,216,98,217,114,189,117,69,92,121,154,202,131,64,92,128,84,233,119,62,78,174,108,90,128,210,98,110,99,232,93,119,81,221,141,30,142,47,149,241,79,229,83,231,96,172,112,103,82,80,99,67,158,31,90,38,80,55,119,119,83,226,126,133,100,43,101,137,98,152,99,20,80,53,114,201,137,179,81,192,139,221,126,71,87,204,131,167,148,155,81,27,84,251,92,202,79,227,122,90,109,225,144,143,154,128,85,150,84,97,83,175,84,0,95,233,99,119,105,239,81,104,97,10,82,42,88,216,82,78,87,13,120,11,119,183,94,119,97,224,124,91,98,151,98,162,78,149,112,3,128,247,98,228,112,96,151,119,87,219,130,239,103,245,104,213,120,151,152,209,121,243,88,179,84,239,83,52,110,75,81,59,82,162,91,254,139,175,128,67,85,166,87,115,96,81,87,45,84,122,122,80,96,84,91,167,99,160,98,227,83,99,98,199,91,175,103,237,84,159,122,230,130,119,145,147,94,228,136,56,89,174,87,14,99,232,141,239,128,87,87,119,123,169,79,235,95,189,91,62,107,33,83,80,123,194,114,70,104,255,119,54,119,247,101,181,81,143,78,212,118,191,92,165,122,117,132,78,89,65,155,128,80,136,153,39,97,131,110,100,87,6,102,70,99,240,86,236,98,105,98,211,94,20,150,131,87,201,98,135,85,33,135,74,129,163,143,102,85,177,131,101,103,86,141,221,132,106,90,15,104,230,98,238,123,17,150,112,81,156,111,48,140,253,99,200,137,210,97,6,127,194,112,229,110,5,116,148,105,252,114,202,94,206,144,23,103,106,109,94,99,179,82,98,114,1,128,108,79,229,89,106,145,217,112,157,109,210,82,80,78,247,150,109,149,126,133,202,120,47,125,33,81,146,87,194,100,139,128,123,124,234,108,241,104,94,105,183,81,152,83,168,104,129,114,206,158,241,123,248,114,187,121,19,111,6,116,78,103,204,145,164,156,60,121,137,131,84,131,15,84,23,104,61,78,137,83,177,82,62,120,134,83,41,82,136,80,139,79,208,79,226,117,203,122,146,124,165,108,182,150,155,82,131,116,233,84,233,79,84,128,178,131,222,143,112,149,201,94,28,96,159,109,24,94,91,101,56,129,254,148,75,96,188,112,195,126,174,124,201,81,129,104,177,124,111,130,36,78,134,143,207,145,126,102,174,78,5,140,169,100,74,128,218,80,151,117,206,113,229,91,189,143,102,111,134,78,130,100,99,149,214,94,153,101,23,82,194,136,200,112,163,82,14,115,51,116,151,103,247,120,22,151,52,78,187,144,222,156,203,109,219,81,65,141,29,84,206,98,178,115,241,131,246,150,132,159,195,148,54,79,154,127,204,81,117,112,117,150,173,92,134,152,230,83,228,78,156,110,9,116,180,105,107,120,143,153,89,117,24,82,36,118,65,109,243,103,109,81,153,159,75,128,153,84,60,123,191,122,134,150,132,87,226,98,71,150,124,105,4,90,2,100,211,123,15,111,75,150,166,130,98,83,133,152,144,94,137,112,179,99,100,83,79,134,129,156,147,158,140,120,50,151,239,141,66,141,127,158,94,111,132,121,85,95,70,150,46,98,116,154,21,84,221,148,163,79,197,101,101,92,97,92,21,127,81,134,47,108,139,95,135,115,228,110,255,126,230,92,27,99,106,91,230,110,117,83,113,78,160,99,101,117,161,98,110,143,38,79,209,78,166,108,182,126,186,139,29,132,186,135,87,127,59,144,35,149,169,123,161,154,248,136,61,132,27,109,134,154,220,126,136,89,187,158,155,115,1,120,130,134,108,154,130,154,27,86,23,84,203,87,112,78,166,158,86,83,200,143,9,129,146,119,146,153,238,134,225,110,19,133,252,102,98,97,43,111,41,140,146,130,43,131,242,118,19,108,217,95,189,131,43,115,5,131,26,149,219,107,219,119,198,148,111,83,2,131,146,81,61,94,140,140,56,141,72,78,171,115,154,103,133,104,118,145,9,151,100,113,161,108,9,119,146,90,65,149,207,107,142,127,39,102,208,91,185,89,154,90,232,149,247,149,236,78,12,132,153,132,172,106,223,118,48,149,27,115,166,104,95,91,47,119,154,145,97,151,220,124,247,143,28,140,37,95,115,124,216,121,197,137,204,108,28,135,198,91,66,94,201,104,32,119,245,126,149,81,77,81,201,82,41,90,5,127,98,151,215,130,207,99,132,119,208,133,210,121,58,110,153,94,153,89,17,133,109,112,17,108,191,98,191,118,79,101,175,96,253,149,14,102,159,135,35,158,237,148,13,84,125,84,44,140,120,100,121,100,17,134,33,106,156,129,232,120,105,100,84,155,185,98,43,103,171,131,168,88,216,158,171,108,32,111,222,91,76,150,11,140,95,114,208,103,199,98,97,114,169,78,198,89,205,107,147,88,174,102,85,94,223,82,85,97,40,103,238,118,102,119,103,114,70,122,255,98,234,84,80,84,160,148,163,144,28,90,179,126,22,108,67,78,118,89,16,128,72,89,87,83,55,117,190,150,202,86,32,99,17,129,124,96,249,149,214,109,98,84,129,153,133,81,233,90,253,128,174,89,19,151,42,80,229,108,60,92,223,98,96,79,63,83,123,129,6,144,186,110,43,133,200,98,116,94,190,120,181,100,123,99,245,95,24,90,127,145,31,158,63,92,79,99,66,128,125,91,110,85,74,149,77,149,133,109,168,96,224,103,222,114,221,81,129,91,231,98,222,108,91,114,109,98,174,148,189,126,19,129,83,109,156,81,4,95,116,89,170,82,18,96,115,89,150,102,80,134,159,117,42,99,230,97,239,124,250,139,230,84,39,107,37,158,180,107,213,133,85,84,118,80,164,108,106,85,180,141,44,114,21,94,21,96,54,116,205,98,146,99,76,114,152,95,67,110,62,109,0,101,88,111,216,118,208,120,252,118,84,117,36,82,219,83,83,78,158,94,193,101,42,128,214,128,155,98,134,84,40,82,174,112,141,136,209,141,225,108,120,84,218,128,249,87,244,136,84,141,106,150,77,145,105,79,155,108,183,85,198,118,48,120,168,98,249,112,142,111,109,95,236,132,218,104,124,120,247,123,168,129,11,103,79,158,103,99,176,120,111,87,18,120,57,151,121,98,171,98,136,82,53,116,215,107,100,85,62,129,178,117,174,118,57,83,222,117,251,80,65,92,108,139,199,123,79,80,71,114,151,154,216,152,2,111,226,116,104,121,135,100,165,119,252,98,145,152,43,141,193,84,88,128,82,78,106,87,249,130,13,132,115,94,237,81,246,116,196,139,79,92,97,87,252,108,135,152,70,90,52,120,68,155,235,143,149,124,86,82,81,98,250,148,198,78,134,131,97,132,233,131,178,132,212,87,52,103,3,87,110,102,102,109,49,140,221,102,17,112,31,103,58,107,22,104,26,98,187,89,3,78,196,81,6,111,210,103,143,108,118,81,203,104,71,89,103,107,102,117,14,93,16,129,80,159,215,101,72,121,65,121,145,154,119,141,130,92,94,78,1,79,47,84,81,89,12,120,104,86,20,108,196,143,3,95,125,108,227,108,171,139,144,99,112,96,61,109,117,114,102,98,142,148,197,148,67,83,193,143,126,123,223,78,38,140,126,78,212,158,177,148,179,148,77,82,92,111,99,144,69,109,52,140,17,88,76,93,32,107,73,107,170,103,91,84,84,129,140,127,153,88,55,133,58,95,162,98,71,106,57,149,114,101,132,96,101,104,167,119,84,78,168,79,231,93,152,151,172,100,216,127,237,92,207,79,141,122,7,82,4,131,20,78,47,96,131,122,166,148,181,79,178,78,230,121,52,116,228,82,185,130,210,100,189,121,221,91,129,108,82,151,123,143,34,108,62,80,127,83,5,110,206,100,116,102,48,108,197,96,119,152,247,139,134,94,60,116,119,122,203,121,24,78,177,144,3,116,66,108,218,86,75,145,197,108,139,141,58,83,198,134,242,102,175,142,72,92,113,154,32,110,214,83,54,90,139,159,163,141,187,83,8,87,167,152,67,103,155,145,201,108,104,81,202,117,243,98,172,114,56,82,157,82,58,127,148,112,56,118,116,83,74,158,183,105,110,120,192,150,217,136,164,127,54,113,195,113,137,81,211,103,228,116,228,88,24,101,183,86,169,139,118,153,112,98,213,126,249,96,237,112,236,88,193,78,186,78,205,95,231,151,251,78,164,139,3,82,138,89,171,126,84,98,205,78,229,101,14,98,56,131,201,132,99,131,141,135,148,113,182,110,185,91,210,126,151,81,201,99,212,103,137,128,57,131,21,136,18,81,122,91,130,89,177,143,115,78,93,108,101,81,37,137,111,143,46,150,74,133,94,116,16,149,240,149,166,109,229,130,49,95,146,100,18,109,40,132,110,129,195,156,94,88,91,141,9,78,193,83,30,79,99,101,81,104,211,85,39,78,20,100,154,154,107,98,194,90,95,116,114,130,169,109,238,104,231,80,142,131,2,120,64,103,57,82,153,108,177,126,187,80,101,85,94,113,91,123,82,102,202,115,235,130,73,103,113,92,32,82,125,113,107,136,234,149,85,150,197,100,97,141,179,129,132,85,85,108,71,98,46,127,146,88,36,79,70,85,79,141,76,102,10,78,26,92,243,136,162,104,78,99,13,122,231,112,141,130,250,82,246,151,17,92,232,84,181,144,205,126,98,89,74,141,199,134,12,130,13,130,102,141,68,100,4,92,81,97,137,109,62,121,190,139,55,120,51,117,123,84,56,79,171,142,241,109,32,90,197,126,94,121,136,108,161,91,118,90,26,117,190,128,78,97,23,110,240,88,31,117,37,117,114,114,71,83,243,126,1,119,219,118,105,82,220,128,35,87,8,94,49,89,238,114,189,101,127,110,215,139,56,92,113,134,65,83,243,119,254,98,246,101,192,78,223,152,128,134,158,91,198,139,242,83,226,119,127,79,78,92,118,154,203,89,15,95,58,121,235,88,22,78,255,103,139,78,237,98,147,138,29,144,191,82,47,102,220,85,108,86,2,144,213,78,141,79,202,145,112,153,15,108,2,94,67,96,164,91,198,137,213,139,54,101,75,98,150,153,136,91,255,91,136,99,46,85,215,83,38,118,125,81,44,133,162,103,179,104,138,107,146,98,147,143,212,83,18,130,209,109,143,117,102,78,78,141,112,91,159,113,175,133,145,102,217,102,114,127,0,135,205,158,32,159,94,92,47,103,240,143,17,104,95,103,13,98,214,122,133,88,182,94,112,101,49,111,85,96,55,82,13,128,84,100,112,136,41,117,5,94,19,104,244,98,28,151,204,83,61,114,1,140,52,108,97,119,14,122,46,84,172,119,122,152,28,130,244,139,85,120,20,103,193,112,175,101,149,100,54,86,29,96,193,121,248,83,29,78,123,107,134,128,250,91,227,85,219,86,58,79,60,79,114,153,243,93,126,103,56,128,2,96,130,152,1,144,139,91,188,139,245,139,28,100,88,130,222,100,253,85,207,130,101,145,215,79,32,125,31,144,159,124,243,80,81,88,175,110,191,91,201,139,131,128,120,145,156,132,151,123,125,134,139,150,143,150,229,126,211,154,142,120,129,92,87,122,66,144,167,150,95,121,89,91,95,99,11,123,209,132,173,104,6,85,41,127,16,116,34,125,1,149,64,98,76,88,214,78,131,91,121,89,84,88,109,115,30,99,75,142,15,142,206,128,212,130,172,98,240,83,240,108,94,145,42,89,1,96,112,108,77,87,74,100,42,141,43,118,233,110,91,87,128,106,240,117,109,111,45,140,8,140,102,87,239,107,146,136,179,120,162,99,249,83,173,112,100,108,88,88,42,100,2,88,224,104,155,129,16,85,214,124,24,80,186,142,204,109,159,141,235,112,143,99,155,109,212,110,230,126,4,132,67,104,3,144,216,109,118,150,168,139,87,89,121,114,228,133,126,129,188,117,138,138,175,104,84,82,34,142,17,149,208,99,152,152,68,142,124,85,83,79,255,102,143,86,213,96,149,109,67,82,73,92,41,89,251,109,107,88,48,117,28,117,108,96,20,130,70,129,17,99,97,103,226,143,58,119,243,141,52,141,193,148,22,94,133,83,44,84,195,112,64,108,247,94,92,80,173,78,173,94,58,99,71,130,26,144,80,104,110,145,179,119,12,84,220,148,100,95,229,122,118,104,69,99,82,123,223,126,219,117,119,80,149,98,52,89,15,144,248,81,195,121,129,122,254,86,146,95,20,144,130,109,96,92,31,87,16,84,84,81,77,110,226,86,168,99,147,152,127,129,21,135,42,137,0,144,30,84,111,92,192,129,214,98,88,98,49,129,53,158,64,150,110,154,124,154,45,105,165,89,211,98,62,85,22,99,199,84,217,134,60,109,3,90,230,116,156,136,106,107,22,89,76,140,47,95,126,110,169,115,125,152,56,78,247,112,140,91,151,120,61,99,90,102,150,118,203,96,155,91,73,90,7,78,85,129,106,108,139,115,161,78,137,103,81,127,128,95,250,101,27,103,216,95,132,89,1,90,205,93,174,95,113,83,230,151,221,143,69,104,244,86,47,85,223,96,58,78,77,111,244,126,199,130,14,132,212,89,31,79,42,79,62,92,172,126,42,103,26,133,115,84,79,117,195,128,130,85,79,155,77,79,45,110,19,140,9,92,112,97,107,83,31,118,41,110,138,134,135,101,251,149,185,126,59,84,51,122,10,125,238,149,225,85,193,127,238,116,29,99,23,135,161,109,157,122,17,98,161,101,103,83,225,99,131,108,235,93,92,84,168,148,76,78,97,108,236,139,75,92,224,101,156,130,167,104,62,84,52,84,203,107,102,107,148,78,66,99,72,83,30,130,13,79,174,79,94,87,10,98,254,150,100,102,105,114,255,82,161,82,159,96,239,139,20,102,153,113,144,103,127,137,82,120,253,119,112,102,59,86,56,84,33,149,122,114,0,122,111,96,12,94,137,96,157,129,21,89,220,96,132,113,239,112,170,110,80,108,128,114,132,106,173,136,45,94,96,78,179,90,156,85,227,148,23,109,251,124,153,150,15,98,198,126,142,119,126,134,35,83,30,151,150,143,135,102,225,92,160,79,237,114,11,78,166,83,15,89,19,84,128,99,40,149,72,81,217,78,156,156,164,126,184,84,36,141,84,136,55,130,242,149,142,109,38,95,204,90,62,102,105,150,176,115,46,115,191,83,122,129,133,153,161,127,170,91,119,150,80,150,191,126,248,118,162,83,118,149,153,153,177,123,68,137,88,110,97,78,212,127,101,121,230,139,243,96,205,84,171,78,121,152,247,93,97,106,207,80,17,84,97,140,39,132,93,120,4,151,74,82,238,84,163,86,0,149,136,109,181,91,198,109,83,102,15,92,93,91,33,104,150,128,120,85,17,123,72,101,84,105,155,78,71,107,78,135,139,151,79,83,31,99,58,100,170,144,156,101,193,128,16,140,153,81,176,104,120,83,249,135,200,97,196,108,251,108,34,140,81,92,170,133,175,130,12,149,35,107,155,143,176,101,251,95,195,95,225,79,69,136,31,102,101,129,41,115,250,96,116,81,17,82,139,87,98,95,162,144,76,136,146,145,120,94,79,103,39,96,211,89,68,81,246,81,248,128,8,83,121,108,196,150,138,113,17,79,238,79,158,127,61,103,197,85,8,149,192,121,150,136,227,126,159,88,12,98,0,151,90,134,24,86,123,152,144,95,184,139,196,132,87,145,217,83,237,101,143,94,92,117,100,96,110,125,127,90,234,126,237,126,105,143,167,85,163,91,172,96,203,101,132,115,9,144,99,118,41,119,218,126,116,151,155,133,102,91,116,122,234,150,64,136,203,82,143,113,170,95,236,101,226,139,251,91,111,154,225,93,137,107,91,108,173,139,175,139,10,144,197,143,139,83,188,98,38,158,45,158,64,84,43,78,189,130,89,114,156,134,22,93,89,136,175,109,197,150,209,84,154,78,182,139,9,113,189,84,9,150,223,112,249,109,208,118,37,78,20,120,18,135,169,92,246,94,0,138,156,152,14,150,142,112,191,108,68,89,169,99,60,119,77,136,20,111,115,130,48,88,213,113,140,83,26,120,193,150,1,85,102,95,48,113,180,91,26,140,140,154,131,107,46,89,47,158,231,121,104,103,108,98,111,79,161,117,138,127,11,109,51,150,39,108,240,78,210,117,123,81,55,104,62,111,128,144,112,129,150,89,118,116,71,100,39,92,101,144,145,122,35,140,218,89,172,84,0,130,111,131,129,137,0,128,48,105,78,86,54,128,55,114,206,145,182,81,95,78,117,152,150,99,26,78,246,83,243,102,75,129,28,89,178,109,0,78,249,88,59,83,214,99,241,148,157,79,10,79,99,136,144,152,55,89,87,144,251,121,234,78,240,128,145,117,130,108,156,91,232,89,93,95,5,105,129,134,26,80,242,93,89,78,227,119,229,78,122,130,145,98,19,102,145,144,121,92,191,78,121,95,198,129,56,144,132,128,171,117,166,78,212,136,15,97,197,107,198,95,73,78,202,118,162,110,227,139,174,139,10,140,209,139,2,95,252,127,204,127,206,126,53,131,107,131,224,86,183,107,243,151,52,150,251,89,31,84,246,148,235,109,197,91,110,153,57,92,21,95,144,150,112,83,241,130,49,106,116,90,112,158,148,94,40,127,185,131,36,132,37,132,103,131,71,135,206,143,98,141,200,118,113,95,150,152,108,120,32,102,223,84,229,98,99,79,195,129,200,117,184,94,205,150,10,142,249,134,143,84,243,108,140,109,56,108,127,96,199,82,40,117,125,94,24,79,160,96,231,95,36,92,49,117,174,144,192,148,185,114,185,108,56,110,73,145,9,103,203,83,243,83,81,79,201,145,241,139,200,83,124,94,194,143,228,109,142,78,194,118,134,105,94,134,26,97,6,130,89,79,222,79,62,144,124,156,9,97,29,110,20,110,133,150,136,78,49,90,232,150,14,78,127,92,185,121,135,91,237,139,189,127,137,115,223,87,139,130,193,144,1,84,71,144,187,85,234,92,161,95,8,97,50,107,241,114,178,128,137,138,116,109,211,91,213,136,132,152,107,140,109,154,51,158,10,110,164,81,67,81,163,87,129,136,159,83,244,99,149,143,237,86,88,84,6,87,63,115,144,110,24,127,220,143,209,130,63,97,40,96,98,150,240,102,166,126,138,141,195,141,165,148,179,92,164,124,8,103,166,96,5,150,24,128,145,78,231,144,0,83,104,150,65,81,208,143,116,133,93,145,85,102,245,151,85,91,29,83,56,120,66,103,61,104,201,84,126,112,176,91,125,143,141,81,40,87,177,84,18,101,130,102,94,141,67,141,15,129,108,132,109,144,223,124,255,81,251,133,163,103,233,101,161,111,164,134,129,142,106,86,32,144,130,118,118,112,229,113,35,141,233,98,25,82,253,108,60,141,14,96,158,88,142,97,254,102,96,141,78,98,179,85,35,110,45,103,103,143,225,148,248,149,40,119,5,104,168,105,139,84,77,78,184,112,200,139,88,100,139,101,133,91,132,122,58,80,232,91,187,119,225,107,121,138,152,124,190,108,207,118,169,101,151,143,45,93,85,92,56,134,8,104,96,83,24,98,217,122,91,110,253,126,31,106,224,122,112,95,51,111,32,95,140,99,168,109,86,103,8,78,16,94,38,141,215,78,192,128,52,118,156,150,219,98,45,102,126,98,188,108,117,141,103,113,105,127,70,81,135,128,236,83,110,144,152,98,242,84,240,134,153,143,5,128,23,149,23,133,217,143,89,109,205,115,159,101,31,119,4,117,39,120,251,129,30,141,136,148,166,79,149,103,185,117,202,139,7,151,47,99,71,149,53,150,184,132,35,99,65,119,129,95,240,114,137,78,20,96,116,101,239,98,99,107,63,101,39,94,199,117,209,144,193,139,157,130,157,103,47,101,49,84,24,135,229,119,162,128,2,129,65,108,75,78,199,126,76,128,244,118,13,105,150,107,103,98,60,80,132,79,64,87,7,99,98,107,190,141,234,83,232,101,184,126,215,95,26,99,183,99,243,129,244,129,110,127,28,94,217,92,54,82,122,102,233,121,26,122,40,141,153,112,212,117,222,110,187,108,146,122,45,78,197,118,224,95,159,148,119,136,200,126,205,121,191,128,205,145,242,78,23,79,31,130,104,84,222,93,50,109,204,139,165,124,116,143,152,128,26,94,146,84,177,118,153,91,60,102,164,154,224,115,42,104,219,134,49,103,42,115,248,139,219,139,16,144,249,122,219,112,110,113,196,98,169,119,49,86,59,78,87,132,241,103,169,82,192,134,46,141,248,148,81,123,79,79,232,108,93,121,123,154,147,98,42,114,253,98,19,78,22,120,108,143,176,100,90,141,198,123,105,104,132,94,197,136,134,89,158,100,238,88,182,114,14,105,37,149,253,143,88,141,96,87,0,127,6,140,198,81,73,99,217,98,83,83,76,104,34,116,1,131,76,145,68,85,64,119,124,112,74,109,121,81,168,84,68,141,255,89,203,110,196,109,92,91,43,125,212,78,125,124,211,110,80,91,234,129,13,110,87,91,3,155,213,104,42,142,151,91,252,126,59,96,181,126,185,144,112,141,79,89,205,99,223,121,179,141,82,83,207,101,86,121,197,139,59,150,196,126,187,148,130,126,52,86,137,145,0,103,106,127,10,92,117,144,40,102,230,93,80,79,222,103,90,80,92,79,80,87,167,94,90,216,17,221,90,216,14,221,161,118,165,118,183,118,141,78,12,78,64,81,16,78,255,94,69,83,21,78,152,78,30,78,50,155,108,91,105,86,40,78,186,121,63,78,21,83,71,78,45,89,59,114,110,83,16,108,223,86,228,128,151,153,211,107,126,119,23,159,54,78,159,78,16,159,92,78,105,78,147,78,136,130,91,91,108,85,15,86,196,78,141,83,157,83,163,83,165,83,174,83,101,151,93,141,26,83,245,83,38,83,46,83,62,83,92,141,102,83,99,83,2,82,8,82,14,82,45,82,51,82,63,82,64,82,76,82,94,82,97,82,92,82,175,132,125,82,130,82,129,82,144,82,147,82,130,81,84,127,187,78,195,78,201,78,194,78,232,78,225,78,235,78,222,78,27,79,243,78,34,79,100,79,245,78,37,79,39,79,9,79,43,79,94,79,103,79,56,101,90,79,93,79,95,79,87,79,50,79,61,79,118,79,116,79,145,79,137,79,131,79,143,79,126,79,123,79,170,79,124,79,172,79,148,79,230,79,232,79,234,79,197,79,218,79,227,79,220,79,209,79,223,79,248,79,41,80,76,80,243,79,44,80,15,80,46,80,45,80,254,79,28,80,12,80,37,80,40,80,126,80,67,80,85,80,72,80,78,80,108,80,123,80,165,80,167,80,169,80,186,80,214,80,6,81,237,80,236,80,230,80,238,80,7,81,11,81,221,78,61,108,88,79,101,79,206,79,160,159,70,108,116,124,110,81,253,93,201,158,152,153,129,81,20,89,249,82,13,83,7,138,16,83,235,81,25,89,85,81,160,78,86,81,179,78,110,136,164,136,181,78,20,129,210,136,128,121,52,91,3,136,184,127,171,81,177,81,189,81,188,81,199,81,150,81,162,81,165,81,160,139,166,139,167,139,170,139,180,139,181,139,183,139,194,139,195,139,203,139,207,139,206,139,210,139,211,139,212,139,214,139,216,139,217,139,220,139,223,139,224,139,228,139,232,139,233,139,238,139,240,139,243,139,246,139,249,139,252,139,255,139,0,140,2,140,4,140,7,140,12,140,15,140,17,140,18,140,20,140,21,140,22,140,25,140,27,140,24,140,29,140,31,140,32,140,33,140,37,140,39,140,42,140,43,140,46,140,47,140,50,140,51,140,53,140,54,140,105,83,122,83,29,150,34,150,33,150,49,150,42,150,61,150,60,150,66,150,73,150,84,150,95,150,103,150,108,150,114,150,116,150,136,150,141,150,151,150,176,150,151,144,155,144,157,144,153,144,172,144,161,144,180,144,179,144,182,144,186,144,184,144,176,144,207,144,197,144,190,144,208,144,196,144,199,144,211,144,230,144,226,144,220,144,215,144,219,144,235,144,239,144,254,144,4,145,34,145,30,145,35,145,49,145,47,145,57,145,67,145,70,145,13,82,66,89,162,82,172,82,173,82,190,82,255,84,208,82,214,82,240,82,223,83,238,113,205,119,244,94,245,81,252,81,47,155,182,83,1,95,90,117,239,93,76,87,169,87,161,87,126,88,188,88,197,88,209,88,41,87,44,87,42,87,51,87,57,87,46,87,47,87,92,87,59,87,66,87,105,87,133,87,107,87,134,87,124,87,123,87,104,87,109,87,118,87,115,87,173,87,164,87,140,87,178,87,207,87,167,87,180,87,147,87,160,87,213,87,216,87,218,87,217,87,210,87,184,87,244,87,239,87,248,87,228,87,221,87,11,88,13,88,253,87,237,87,0,88,30,88,25,88,68,88,32,88,101,88,108,88,129,88,137,88,154,88,128,88,168,153,25,159,255,97,121,130,125,130,127,130,143,130,138,130,168,130,132,130,142,130,145,130,151,130,153,130,171,130,184,130,190,130,176,130,200,130,202,130,227,130,152,130,183,130,174,130,203,130,204,130,193,130,169,130,180,130,161,130,170,130,159,130,196,130,206,130,164,130,225,130,9,131,247,130,228,130,15,131,7,131,220,130,244,130,210,130,216,130,12,131,251,130,211,130,17,131,26,131,6,131,20,131,21,131,224,130,213,130,28,131,81,131,91,131,92,131,8,131,146,131,60,131,52,131,49,131,155,131,94,131,47,131,79,131,71,131,67,131,95,131,64,131,23,131,96,131,45,131,58,131,51,131,102,131,101,131,104,131,27,131,105,131,108,131,106,131,109,131,110,131,176,131,120,131,179,131,180,131,160,131,170,131,147,131,156,131,133,131,124,131,182,131,169,131,125,131,184,131,123,131,152,131,158,131,168,131,186,131,188,131,193,131,1,132,229,131,216,131,7,88,24,132,11,132,221,131,253,131,214,131,28,132,56,132,17,132,6,132,212,131,223,131,15,132,3,132,248,131,249,131,234,131,197,131,192,131,38,132,240,131,225,131,92,132,81,132,90,132,89,132,115,132,135,132,136,132,122,132,137,132,120,132,60,132,70,132,105,132,118,132,140,132,142,132,49,132,109,132,193,132,205,132,208,132,230,132,189,132,211,132,202,132,191,132,186,132,224,132,161,132,185,132,180,132,151,132,229,132,227,132,12,133,13,117,56,133,240,132,57,133,31,133,58,133,86,133,59,133,255,132,252,132,89,133,72,133,104,133,100,133,94,133,122,133,162,119,67,133,114,133,123,133,164,133,168,133,135,133,143,133,121,133,174,133,156,133,133,133,185,133,183,133,176,133,211,133,193,133,220,133,255,133,39,134,5,134,41,134,22,134,60,134,254,94,8,95,60,89,65,89,55,128,85,89,90,89,88,89,15,83,34,92,37,92,44,92,52,92,76,98,106,98,159,98,187,98,202,98,218,98,215,98,238,98,34,99,246,98,57,99,75,99,67,99,173,99,246,99,113,99,122,99,142,99,180,99,109,99,172,99,138,99,105,99,174,99,188,99,242,99,248,99,224,99,255,99,196,99,222,99,206,99,82,100,198,99,190,99,69,100,65,100,11,100,27,100,32,100,12,100,38,100,33,100,94,100,132,100,109,100,150,100,122,100,183,100,184,100,153,100,186,100,192,100,208,100,215,100,228,100,226,100,9,101,37,101,46,101,11,95,210,95,25,117,17,95,95,83,241,83,253,83,233,83,232,83,251,83,18,84,22,84,6,84,75,84,82,84,83,84,84,84,86,84,67,84,33,84,87,84,89,84,35,84,50,84,130,84,148,84,119,84,113,84,100,84,154,84,155,84,132,84,118,84,102,84,157,84,208,84,173,84,194,84,180,84,210,84,167,84,166,84,211,84,212,84,114,84,163,84,213,84,187,84,191,84,204,84,217,84,218,84,220,84,169,84,170,84,164,84,221,84,207,84,222,84,27,85,231,84,32,85,253,84,20,85,243,84,34,85,35,85,15,85,17,85,39,85,42,85,103,85,143,85,181,85,73,85,109,85,65,85,85,85,63,85,80,85,60,85,55,85,86,85,117,85,118,85,119,85,51,85,48,85,92,85,139,85,210,85,131,85,177,85,185,85,136,85,129,85,159,85,126,85,214,85,145,85,123,85,223,85,189,85,190,85,148,85,153,85,234,85,247,85,201,85,31,86,209,85,235,85,236,85,212,85,230,85,221,85,196,85,239,85,229,85,242,85,243,85,204,85,205,85,232,85,245,85,228,85,148,143,30,86,8,86,12,86,1,86,36,86,35,86,254,85,0,86,39,86,45,86,88,86,57,86,87,86,44,86,77,86,98,86,89,86,92,86,76,86,84,86,134,86,100,86,113,86,107,86,123,86,124,86,133,86,147,86,175,86,212,86,215,86,221,86,225,86,245,86,235,86,249,86,255,86,4,87,10,87,9,87,28,87,15,94,25,94,20,94,17,94,49,94,59,94,60,94,55,94,68,94,84,94,91,94,94,94,97,94,140,92,122,92,141,92,144,92,150,92,136,92,152,92,153,92,145,92,154,92,156,92,181,92,162,92,189,92,172,92,171,92,177,92,163,92,193,92,183,92,196,92,210,92,228,92,203,92,229,92,2,93,3,93,39,93,38,93,46,93,36,93,30,93,6,93,27,93,88,93,62,93,52,93,61,93,108,93,91,93,111,93,93,93,107,93,75,93,74,93,105,93,116,93,130,93,153,93,157,93,115,140,183,93,197,93,115,95,119,95,130,95,135,95,137,95,140,95,149,95,153,95,156,95,168,95,173,95,181,95,188,95,98,136,97,95,173,114,176,114,180,114,183,114,184,114,195,114,193,114,206,114,205,114,210,114,232,114,239,114,233,114,242,114,244,114,247,114,1,115,243,114,3,115,250,114,251,114,23,115,19,115,33,115,10,115,30,115,29,115,21,115,34,115,57,115,37,115,44,115,56,115,49,115,80,115,77,115,87,115,96,115,108,115,111,115,126,115,27,130,37,89,231,152,36,89,2,89,99,153,103,153,104,153,105,153,106,153,107,153,108,153,116,153,119,153,125,153,128,153,132,153,135,153,138,153,141,153,144,153,145,153,147,153,148,153,149,153,128,94,145,94,139,94,150,94,165,94,160,94,185,94,181,94,190,94,179,94,83,141,210,94,209,94,219,94,232,94,234,94,186,129,196,95,201,95,214,95,207,95,3,96,238,95,4,96,225,95,228,95,254,95,5,96,6,96,234,95,237,95,248,95,25,96,53,96,38,96,27,96,15,96,13,96,41,96,43,96,10,96,63,96,33,96,120,96,121,96,123,96,122,96,66,96,106,96,125,96,150,96,154,96,173,96,157,96,131,96,146,96,140,96,155,96,236,96,187,96,177,96,221,96,216,96,198,96,218,96,180,96,32,97,38,97,21,97,35,97,244,96,0,97,14,97,43,97,74,97,117,97,172,97,148,97,167,97,183,97,212,97,245,97,221,95,179,150,233,149,235,149,241,149,243,149,245,149,246,149,252,149,254,149,3,150,4,150,6,150,8,150,10,150,11,150,12,150,13,150,15,150,18,150,21,150,22,150,23,150,25,150,26,150,44,78,63,114,21,98,53,108,84,108,92,108,74,108,163,108,133,108,144,108,148,108,140,108,104,108,105,108,116,108,118,108,134,108,169,108,208,108,212,108,173,108,247,108,248,108,241,108,215,108,178,108,224,108,214,108,250,108,235,108,238,108,177,108,211,108,239,108,254,108,57,109,39,109,12,109,67,109,72,109,7,109,4,109,25,109,14,109,43,109,77,109,46,109,53,109,26,109,79,109,82,109,84,109,51,109,145,109,111,109,158,109,160,109,94,109,147,109,148,109,92,109,96,109,124,109,99,109,26,110,199,109,197,109,222,109,14,110,191,109,224,109,17,110,230,109,221,109,217,109,22,110,171,109,12,110,174,109,43,110,110,110,78,110,107,110,178,110,95,110,134,110,83,110,84,110,50,110,37,110,68,110,223,110,177,110,152,110,224,110,45,111,226,110,165,110,167,110,189,110,187,110,183,110,215,110,180,110,207,110,143,110,194,110,159,110,98,111,70,111,71,111,36,111,21,111,249,110,47,111,54,111,75,111,116,111,42,111,9,111,41,111,137,111,141,111,140,111,120,111,114,111,124,111,122,111,209,111,201,111,167,111,185,111,182,111,194,111,225,111,238,111,222,111,224,111,239,111,26,112,35,112,27,112,57,112,53,112,79,112,94,112,128,91,132,91,149,91,147,91,165,91,184,91,47,117,158,154,52,100,228,91,238,91,48,137,240,91,71,142,7,139,182,143,211,143,213,143,229,143,238,143,228,143,233,143,230,143,243,143,232,143,5,144,4,144,11,144,38,144,17,144,13,144,22,144,33,144,53,144,54,144,45,144,47,144,68,144,81,144,82,144,80,144,104,144,88,144,98,144,91,144,185,102,116,144,125,144,130,144,136,144,131,144,139,144,80,95,87,95,86,95,88,95,59,92,171,84,80,92,89,92,113,91,99,92,102,92,188,127,42,95,41,95,45,95,116,130,60,95,59,155,110,92,129,89,131,89,141,89,169,89,170,89,163,89,151,89,202,89,171,89,158,89,164,89,210,89,178,89,175,89,215,89,190,89,5,90,6,90,221,89,8,90,227,89,216,89,249,89,12,90,9,90,50,90,52,90,17,90,35,90,19,90,64,90,103,90,74,90,85,90,60,90,98,90,117,90,236,128,170,90,155,90,119,90,122,90,190,90,235,90,178,90,210,90,212,90,184,90,224,90,227,90,241,90,214,90,230,90,216,90,220,90,9,91,23,91,22,91,50,91,55,91,64,91,21,92,28,92,90,91,101,91,115,91,81,91,83,91,98,91,117,154,119,154,120,154,122,154,127,154,125,154,128,154,129,154,133,154,136,154,138,154,144,154,146,154,147,154,150,154,152,154,155,154,156,154,157,154,159,154,160,154,162,154,163,154,165,154,167,154,159,126,161,126,163,126,165,126,168,126,169,126,173,126,176,126,190,126,192,126,193,126,194,126,201,126,203,126,204,126,208,126,212,126,215,126,219,126,224,126,225,126,232,126,235,126,238,126,239,126,241,126,242,126,13,127,246,126,250,126,251,126,254,126,1,127,2,127,3,127,7,127,8,127,11,127,12,127,15,127,17,127,18,127,23,127,25,127,28,127,27,127,31,127,33,127,34,127,35,127,36,127,37,127,38,127,39,127,42,127,43,127,44,127,45,127,47,127,48,127,49,127,50,127,51,127,53,127,122,94,127,117,219,93,62,117,149,144,142,115,145,115,174,115,162,115,159,115,207,115,194,115,209,115,183,115,179,115,192,115,201,115,200,115,229,115,217,115,124,152,10,116,233,115,231,115,222,115,186,115,242,115,15,116,42,116,91,116,38,116,37,116,40,116,48,116,46,116,44,116,27,116,26,116,65,116,92,116,87,116,85,116,89,116,119,116,109,116,126,116,156,116,142,116,128,116,129,116,135,116,139,116,158,116,168,116,169,116,144,116,167,116,210,116,186,116,234,151,235,151,236,151,76,103,83,103,94,103,72,103,105,103,165,103,135,103,106,103,115,103,152,103,167,103,117,103,168,103,158,103,173,103,139,103,119,103,124,103,240,103,9,104,216,103,10,104,233,103,176,103,12,104,217,103,181,103,218,103,179,103,221,103,0,104,195,103,184,103,226,103,14,104,193,103,253,103,50,104,51,104,96,104,97,104,78,104,98,104,68,104,100,104,131,104,29,104,85,104,102,104,65,104,103,104,64,104,62,104,74,104,73,104,41,104,181,104,143,104,116,104,119,104,147,104,107,104,194,104,110,105,252,104,31,105,32,105,249,104,36,105,240,104,11,105,1,105,87,105,227,104,16,105,113,105,57,105,96,105,66,105,93,105,132,105,107,105,128,105,152,105,120,105,52,105,204,105,135,105,136,105,206,105,137,105,102,105,99,105,121,105,155,105,167,105,187,105,171,105,173,105,212,105,177,105,193,105,202,105,223,105,149,105,224,105,141,105,255,105,47,106,237,105,23,106,24,106,101,106,242,105,68,106,62,106,160,106,80,106,91,106,53,106,142,106,121,106,61,106,40,106,88,106,124,106,145,106,144,106,169,106,151,106,171,106,55,115,82,115,129,107,130,107,135,107,132,107,146,107,147,107,141,107,154,107,155,107,161,107,170,107,107,143,109,143,113,143,114,143,115,143,117,143,118,143,120,143,119,143,121,143,122,143,124,143,126,143,129,143,130,143,132,143,135,143,139,143,141,143,142,143,143,143,152,143,154,143,206,142,11,98,23,98,27,98,31,98,34,98,33,98,37,98,36,98,44,98,231,129,239,116,244,116,255,116,15,117,17,117,19,117,52,101,238,101,239,101,240,101,10,102,25,102,114,103,3,102,21,102,0,102,133,112,247,102,29,102,52,102,49,102,54,102,53,102,6,128,95,102,84,102,65,102,79,102,86,102,97,102,87,102,119,102,132,102,140,102,167,102,157,102,190,102,219,102,220,102,230,102,233,102,50,141,51,141,54,141,59,141,61,141,64,141,69,141,70,141,72,141,73,141,71,141,77,141,85,141,89,141,199,137,202,137,203,137,204,137,206,137,207,137,208,137,209,137,110,114,159,114,93,114,102,114,111,114,126,114,127,114,132,114,139,114,141,114,143,114,146,114,8,99,50,99,176,99,63,100,216,100,4,128,234,107,243,107,253,107,245,107,249,107,5,108,7,108,6,108,13,108,21,108,24,108,25,108,26,108,33,108,41,108,36,108,42,108,50,108,53,101,85,101,107,101,77,114,82,114,86,114,48,114,98,134,22,82,159,128,156,128,147,128,188,128,10,103,189,128,177,128,171,128,173,128,180,128,183,128,231,128,232,128,233,128,234,128,219,128,194,128,196,128,217,128,205,128,215,128,16,103,221,128,235,128,241,128,244,128,237,128,13,129,14,129,242,128,252,128,21,103,18,129,90,140,54,129,30,129,44,129,24,129,50,129,72,129,76,129,83,129,116,129,89,129,90,129,113,129,96,129,105,129,124,129,125,129,109,129,103,129,77,88,181,90,136,129,130,129,145,129,213,110,163,129,170,129,204,129,38,103,202,129,187,129,193,129,166,129,36,107,55,107,57,107,67,107,70,107,89,107,209,152,210,152,211,152,213,152,217,152,218,152,179,107,64,95,194,107,243,137,144,101,81,159,147,101,188,101,198,101,196,101,195,101,204,101,206,101,210,101,214,101,128,112,156,112,150,112,157,112,187,112,192,112,183,112,171,112,177,112,232,112,202,112,16,113,19,113,22,113,47,113,49,113,115,113,92,113,104,113,69,113,114,113,74,113,120,113,122,113,152,113,179,113,181,113,168,113,160,113,224,113,212,113,231,113,249,113,29,114,40,114,108,112,24,113,102,113,185,113,62,98,61,98,67,98,72,98,73,98,59,121,64,121,70,121,73,121,91,121,92,121,83,121,90,121,98,121,87,121,96,121,111,121,103,121,122,121,133,121,138,121,154,121,167,121,179,121,209,95,208,95,60,96,93,96,90,96,103,96,65,96,89,96,99,96,171,96,6,97,13,97,93,97,169,97,157,97,203,97,209,97,6,98,128,128,127,128,147,108,246,108,252,109,246,119,248,119,0,120,9,120,23,120,24,120,17,120,171,101,45,120,28,120,29,120,57,120,58,120,59,120,31,120,60,120,37,120,44,120,35,120,41,120,78,120,109,120,86,120,87,120,38,120,80,120,71,120,76,120,106,120,155,120,147,120,154,120,135,120,156,120,161,120,163,120,178,120,185,120,165,120,212,120,217,120,201,120,236,120,242,120,5,121,244,120,19,121,36,121,30,121,52,121,155,159,249,158,251,158,252,158,241,118,4,119,13,119,249,118,7,119,8,119,26,119,34,119,25,119,45,119,38,119,53,119,56,119,80,119,81,119,71,119,67,119,90,119,104,119,98,119,101,119,127,119,141,119,125,119,128,119,140,119,145,119,159,119,160,119,176,119,181,119,189,119,58,117,64,117,78,117,75,117,72,117,91,117,114,117,121,117,131,117,88,127,97,127,95,127,72,138,104,127,116,127,113,127,121,127,129,127,126,127,205,118,229,118,50,136,133,148,134,148,135,148,139,148,138,148,140,148,141,148,143,148,144,148,148,148,151,148,149,148,154,148,155,148,156,148,163,148,164,148,171,148,170,148,173,148,172,148,175,148,176,148,178,148,180,148,182,148,183,148,184,148,185,148,186,148,188,148,189,148,191,148,196,148,200,148,201,148,202,148,203,148,204,148,205,148,206,148,208,148,209,148,210,148,213,148,214,148,215,148,217,148,216,148,219,148,222,148,223,148,224,148,226,148,228,148,229,148,231,148,232,148,234,148,233,148,235,148,238,148,239,148,243,148,244,148,245,148,247,148,249,148,252,148,253,148,255,148,3,149,2,149,6,149,7,149,9,149,10,149,13,149,14,149,15,149,18,149,19,149,20,149,21,149,22,149,24,149,27,149,29,149,30,149,31,149,34,149,42,149,43,149,41,149,44,149,49,149,50,149,52,149,54,149,55,149,56,149,60,149,62,149,63,149,66,149,53,149,68,149,69,149,70,149,73,149,76,149,78,149,79,149,82,149,83,149,84,149,86,149,87,149,88,149,89,149,91,149,94,149,95,149,93,149,97,149,98,149,100,149,101,149,102,149,103,149,104,149,105,149,106,149,107,149,108,149,111,149,113,149,114,149,115,149,58,149,231,119,236,119,201,150,213,121,237,121,227,121,235,121,6,122,71,93,3,122,2,122,30,122,20,122,57,122,55,122,81,122,207,158,165,153,112,122,136,118,142,118,147,118,153,118,164,118,222,116,224,116,44,117,32,158,34,158,40,158,41,158,42,158,43,158,44,158,50,158,49,158,54,158,56,158,55,158,57,158,58,158,62,158,65,158,66,158,68,158,70,158,71,158,72,158,73,158,75,158,76,158,78,158,81,158,85,158,87,158,90,158,91,158,92,158,94,158,99,158,102,158,103,158,104,158,105,158,106,158,107,158,108,158,113,158,109,158,115,158,146,117,148,117,150,117,160,117,157,117,172,117,163,117,179,117,180,117,184,117,196,117,177,117,176,117,195,117,194,117,214,117,205,117,227,117,232,117,230,117,228,117,235,117,231,117,3,118,241,117,252,117,255,117,16,118,0,118,5,118,12,118,23,118,10,118,37,118,24,118,21,118,25,118,27,118,60,118,34,118,32,118,64,118,45,118,48,118,63,118,53,118,67,118,62,118,51,118,77,118,94,118,84,118,92,118,86,118,107,118,111,118,202,127,230,122,120,122,121,122,128,122,134,122,136,122,149,122,166,122,160,122,172,122,168,122,173,122,179,122,100,136,105,136,114,136,125,136,127,136,130,136,162,136,198,136,183,136,188,136,201,136,226,136,206,136,227,136,229,136,241,136,26,137,252,136,232,136,254,136,240,136,33,137,25,137,19,137,27,137,10,137,52,137,43,137,54,137,65,137,102,137,123,137,139,117,229,128,178,118,180,118,220,119,18,128,20,128,22,128,28,128,32,128,34,128,37,128,38,128,39,128,41,128,40,128,49,128,11,128,53,128,67,128,70,128,77,128,82,128,105,128,113,128,131,137,120,152,128,152,131,152,137,152,140,152,141,152,143,152,148,152,154,152,155,152,158,152,159,152,161,152,162,152,165,152,166,152,77,134,84,134,108,134,110,134,127,134,122,134,124,134,123,134,168,134,141,134,139,134,172,134,157,134,167,134,163,134,170,134,147,134,169,134,182,134,196,134,181,134,206,134,176,134,186,134,177,134,175,134,201,134,207,134,180,134,233,134,241,134,242,134,237,134,243,134,208,134,19,135,222,134,244,134,223,134,216,134,209,134,3,135,7,135,248,134,8,135,10,135,13,135,9,135,35,135,59,135,30,135,37,135,46,135,26,135,62,135,72,135,52,135,49,135,41,135,55,135,63,135,130,135,34,135,125,135,126,135,123,135,96,135,112,135,76,135,110,135,139,135,83,135,99,135,124,135,100,135,89,135,101,135,147,135,175,135,168,135,210,135,198,135,136,135,133,135,173,135,151,135,131,135,171,135,229,135,172,135,181,135,179,135,203,135,211,135,189,135,209,135,192,135,202,135,219,135,234,135,224,135,238,135,22,136,19,136,254,135,10,136,27,136,33,136,57,136,60,136,54,127,66,127,68,127,69,127,16,130,250,122,253,122,8,123,3,123,4,123,21,123,10,123,43,123,15,123,71,123,56,123,42,123,25,123,46,123,49,123,32,123,37,123,36,123,51,123,62,123,30,123,88,123,90,123,69,123,117,123,76,123,93,123,96,123,110,123,123,123,98,123,114,123,113,123,144,123,166,123,167,123,184,123,172,123,157,123,168,123,133,123,170,123,156,123,162,123,171,123,180,123,209,123,193,123,204,123,221,123,218,123,229,123,230,123,234,123,12,124,254,123,252,123,15,124,22,124,11,124,31,124,42,124,38,124,56,124,65,124,64,124,254,129,1,130,2,130,4,130,236,129,68,136,33,130,34,130,35,130,45,130,47,130,40,130,43,130,56,130,59,130,51,130,52,130,62,130,68,130,73,130,75,130,79,130,90,130,95,130,104,130,126,136,133,136,136,136,216,136,223,136,94,137,157,127,159,127,167,127,175,127,176,127,178,127,124,124,73,101,145,124,157,124,156,124,158,124,162,124,178,124,188,124,189,124,193,124,199,124,204,124,205,124,200,124,197,124,215,124,232,124,110,130,168,102,191,127,206,127,213,127,229,127,225,127,230,127,233,127,238,127,243,127,248,124,119,125,166,125,174,125,71,126,155,126,184,158,180,158,115,141,132,141,148,141,145,141,177,141,103,141,109,141,71,140,73,140,74,145,80,145,78,145,79,145,100,145,98,145,97,145,112,145,105,145,111,145,125,145,126,145,114,145,116,145,121,145,140,145,133,145,144,145,141,145,145,145,162,145,163,145,170,145,173,145,174,145,175,145,181,145,180,145,186,145,85,140,126,158,184,141,235,141,5,142,89,142,105,142,181,141,191,141,188,141,186,141,196,141,214,141,215,141,218,141,222,141,206,141,207,141,219,141,198,141,236,141,247,141,248,141,227,141,249,141,251,141,228,141,9,142,253,141,20,142,29,142,31,142,44,142,46,142,35,142,47,142,58,142,64,142,57,142,53,142,61,142,49,142,73,142,65,142,66,142,81,142,82,142,74,142,112,142,118,142,124,142,111,142,116,142,133,142,143,142,148,142,144,142,156,142,158,142,120,140,130,140,138,140,133,140,152,140,148,140,155,101,214,137,222,137,218,137,220,137,229,137,235,137,239,137,62,138,38,139,83,151,233,150,243,150,239,150,6,151,1,151,8,151,15,151,14,151,42,151,45,151,48,151,62,151,128,159,131,159,133,159,134,159,135,159,136,159,137,159,138,159,140,159,254,158,11,159,13,159,185,150,188,150,189,150,206,150,210,150,191,119,224,150,142,146,174,146,200,146,62,147,106,147,202,147,143,147,62,148,107,148,127,156,130,156,133,156,134,156,135,156,136,156,35,122,139,156,142,156,144,156,145,156,146,156,148,156,149,156,154,156,155,156,158,156,159,156,160,156,161,156,162,156,163,156,165,156,166,156,167,156,168,156,169,156,171,156,173,156,174,156,176,156,177,156,178,156,179,156,180,156,181,156,182,156,183,156,186,156,187,156,188,156,189,156,196,156,197,156,198,156,199,156,202,156,203,156,204,156,205,156,206,156,207,156,208,156,211,156,212,156,213,156,215,156,216,156,217,156,220,156,221,156,223,156,226,156,124,151,133,151,145,151,146,151,148,151,175,151,171,151,163,151,178,151,180,151,177,154,176,154,183,154,88,158,182,154,186,154,188,154,193,154,192,154,197,154,194,154,203,154,204,154,209,154,69,155,67,155,71,155,73,155,72,155,77,155,81,155,232,152,13,153,46,153,85,153,84,153,223,154,225,154,230,154,239,154,235,154,251,154,237,154,249,154,8,155,15,155,19,155,31,155,35,155,189,158,190,158,59,126,130,158,135,158,136,158,139,158,146,158,214,147,157,158,159,158,219,158,220,158,221,158,224,158,223,158,226,158,233,158,231,158,229,158,234,158,239,158,34,159,44,159,47,159,57,159,55,159,61,159,62,159,68,159,0,0,239,223,76,51,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,72,0,97,0,110,0,105,0,32,0,66,0,111,0,112,0,111,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,42,0,89,81,91,81,94,81,93,81,97,81,99,81,231,85,233,116,206,124,0,78,89,78,1,78,3,78,67,78,93,78,134,78,140,78,186,78,63,81,101,81,107,81,224,81,0,82,1,82,155,82,21,83,65,83,92,83,200,83,9,78,11,78,8,78,10,78,43,78,56,78,225,81,69,78,72,78,95,78,94,78,142,78,161,78,64,81,3,82,250,82,67,83,201,83,227,83,31,87,235,88,21,89,39,89,115,89,80,91,81,91,83,91,248,91,15,92,34,92,56,92,113,92,221,93,229,93,241,93,242,93,243,93,254,93,114,94,254,94,11,95,19,95,77,98,17,78,16,78,13,78,45,78,48,78,57,78,75,78,57,92,136,78,145,78,149,78,146,78,148,78,162,78,193,78,192,78,195,78,198,78,199,78,205,78,202,78,203,78,196,78,67,81,65,81,103,81,109,81,110,81,108,81,151,81,246,81,6,82,7,82,8,82,251,82,254,82,255,82,22,83,57,83,72,83,71,83,69,83,94,83,132,83,203,83,202,83,205,83,236,88,41,89,43,89,42,89,45,89,84,91,17,92,36,92,58,92,111,92,244,93,123,94,255,94,20,95,21,95,195,95,8,98,54,98,75,98,78,98,47,101,135,101,151,101,164,101,185,101,229,101,240,102,8,103,40,103,32,107,98,107,121,107,203,107,212,107,219,107,15,108,52,108,107,112,42,114,54,114,59,114,71,114,89,114,91,114,172,114,139,115,25,78,22,78,21,78,20,78,24,78,59,78,77,78,79,78,78,78,229,78,216,78,212,78,213,78,214,78,215,78,227,78,228,78,217,78,222,78,69,81,68,81,137,81,138,81,172,81,249,81,250,81,248,81,10,82,160,82,159,82,5,83,6,83,23,83,29,83,223,78,74,83,73,83,97,83,96,83,111,83,110,83,187,83,239,83,228,83,243,83,236,83,238,83,233,83,232,83,252,83,248,83,245,83,235,83,230,83,234,83,242,83,241,83,240,83,229,83,237,83,251,83,219,86,218,86,22,89,46,89,49,89,116,89,118,89,85,91,131,91,60,92,232,93,231,93,230,93,2,94,3,94,115,94,124,94,1,95,24,95,23,95,197,95,10,98,83,98,84,98,82,98,81,98,165,101,230,101,46,103,44,103,42,103,43,103,45,103,99,107,205,107,17,108,16,108,56,108,65,108,64,108,62,108,175,114,132,115,137,115,220,116,230,116,24,117,31,117,40,117,41,117,48,117,49,117,50,117,51,117,139,117,125,118,174,118,191,118,238,118,219,119,226,119,243,119,58,121,190,121,116,122,203,122,30,78,31,78,82,78,83,78,105,78,153,78,164,78,166,78,165,78,255,78,9,79,25,79,10,79,21,79,13,79,16,79,17,79,15,79,242,78,246,78,251,78,240,78,243,78,253,78,1,79,11,79,73,81,71,81,70,81,72,81,104,81,113,81,141,81,176,81,23,82,17,82,18,82,14,82,22,82,163,82,8,83,33,83,32,83,112,83,113,83,9,84,15,84,12,84,10,84,16,84,1,84,11,84,4,84,17,84,13,84,8,84,3,84,14,84,6,84,18,84,224,86,222,86,221,86,51,87,48,87,40,87,45,87,44,87,47,87,41,87,25,89,26,89,55,89,56,89,132,89,120,89,131,89,125,89,121,89,130,89,129,89,87,91,88,91,135,91,136,91,133,91,137,91,250,91,22,92,121,92,222,93,6,94,118,94,116,94,15,95,27,95,217,95,214,95,14,98,12,98,13,98,16,98,99,98,91,98,88,98,54,101,233,101,232,101,236,101,237,101,242,102,243,102,9,103,61,103,52,103,49,103,53,103,33,107,100,107,123,107,22,108,93,108,87,108,89,108,95,108,96,108,80,108,85,108,97,108,91,108,77,108,78,108,112,112,95,114,93,114,126,118,249,122,115,124,248,124,54,127,138,127,189,127,1,128,3,128,12,128,18,128,51,128,127,128,137,128,139,128,140,128,227,129,234,129,243,129,252,129,12,130,27,130,31,130,110,130,114,130,126,130,107,134,64,136,76,136,99,136,127,137,33,150,50,78,168,78,77,79,79,79,71,79,87,79,94,79,52,79,91,79,85,79,48,79,80,79,81,79,61,79,58,79,56,79,67,79,84,79,60,79,70,79,99,79,92,79,96,79,47,79,78,79,54,79,89,79,93,79,72,79,90,79,76,81,75,81,77,81,117,81,182,81,183,81,37,82,36,82,41,82,42,82,40,82,171,82,169,82,170,82,172,82,35,83,115,83,117,83,29,84,45,84,30,84,62,84,38,84,78,84,39,84,70,84,67,84,51,84,72,84,66,84,27,84,41,84,74,84,57,84,59,84,56,84,46,84,53,84,54,84,32,84,60,84,64,84,49,84,43,84,31,84,44,84,234,86,240,86,228,86,235,86,74,87,81,87,64,87,77,87,71,87,78,87,62,87,80,87,79,87,59,87,239,88,62,89,157,89,146,89,168,89,158,89,163,89,153,89,150,89,141,89,164,89,147,89,138,89,165,89,93,91,92,91,90,91,91,91,140,91,139,91,143,91,44,92,64,92,65,92,63,92,62,92,144,92,145,92,148,92,140,92,235,93,12,94,143,94,135,94,138,94,247,94,4,95,31,95,100,95,98,95,119,95,121,95,216,95,204,95,215,95,205,95,241,95,235,95,248,95,234,95,18,98,17,98,132,98,151,98,150,98,128,98,118,98,137,98,109,98,138,98,124,98,126,98,121,98,115,98,146,98,111,98,152,98,110,98,149,98,147,98,145,98,134,98,57,101,59,101,56,101,241,101,244,102,95,103,78,103,79,103,80,103,81,103,92,103,86,103,94,103,73,103,70,103,96,103,83,103,87,103,101,107,207,107,66,108,94,108,153,108,129,108,136,108,137,108,133,108,155,108,106,108,122,108,144,108,112,108,140,108,104,108,150,108,146,108,125,108,131,108,114,108,126,108,116,108,134,108,118,108,141,108,148,108,152,108,130,108,118,112,124,112,125,112,120,112,98,114,97,114,96,114,196,114,194,114,150,115,44,117,43,117,55,117,56,117,130,118,239,118,227,119,193,121,192,121,191,121,118,122,251,124,85,127,150,128,147,128,157,128,152,128,155,128,154,128,178,128,111,130,146,130,139,130,141,130,139,137,210,137,0,138,55,140,70,140,85,140,157,140,100,141,112,141,179,141,171,142,202,142,155,143,176,143,194,143,198,143,197,143,196,143,225,93,145,144,162,144,170,144,166,144,163,144,73,145,198,145,204,145,50,150,46,150,49,150,42,150,44,150,38,78,86,78,115,78,139,78,155,78,158,78,171,78,172,78,111,79,157,79,141,79,115,79,127,79,108,79,155,79,139,79,134,79,131,79,112,79,117,79,136,79,105,79,123,79,150,79,126,79,143,79,145,79,122,79,84,81,82,81,85,81,105,81,119,81,118,81,120,81,189,81,253,81,59,82,56,82,55,82,58,82,48,82,46,82,54,82,65,82,190,82,187,82,82,83,84,83,83,83,81,83,102,83,119,83,120,83,121,83,214,83,212,83,215,83,115,84,117,84,150,84,120,84,149,84,128,84,123,84,119,84,132,84,146,84,134,84,124,84,144,84,113,84,118,84,140,84,154,84,98,84,104,84,139,84,125,84,142,84,250,86,131,87,119,87,106,87,105,87,97,87,102,87,100,87,124,87,28,89,73,89,71,89,72,89,68,89,84,89,190,89,187,89,212,89,185,89,174,89,209,89,198,89,208,89,205,89,203,89,211,89,202,89,175,89,179,89,210,89,197,89,95,91,100,91,99,91,151,91,154,91,152,91,156,91,153,91,155,91,26,92,72,92,69,92,70,92,183,92,161,92,184,92,169,92,171,92,177,92,179,92,24,94,26,94,22,94,21,94,27,94,17,94,120,94,154,94,151,94,156,94,149,94,150,94,246,94,38,95,39,95,41,95,128,95,129,95,127,95,124,95,221,95,224,95,253,95,245,95,255,95,15,96,20,96,47,96,53,96,22,96,42,96,21,96,33,96,39,96,41,96,43,96,27,96,22,98,21,98,63,98,62,98,64,98,127,98,201,98,204,98,196,98,191,98,194,98,185,98,210,98,219,98,171,98,211,98,212,98,203,98,200,98,168,98,189,98,188,98,208,98,217,98,199,98,205,98,181,98,218,98,177,98,216,98,214,98,215,98,198,98,172,98,206,98,62,101,167,101,188,101,250,101,20,102,19,102,12,102,6,102,2,102,14,102,0,102,15,102,21,102,10,102,7,102,13,103,11,103,109,103,139,103,149,103,113,103,156,103,115,103,119,103,135,103,157,103,151,103,111,103,112,103,127,103,137,103,126,103,144,103,117,103,154,103,147,103,124,103,106,103,114,103,35,107,102,107,103,107,127,107,19,108,27,108,227,108,232,108,243,108,177,108,204,108,229,108,179,108,189,108,190,108,188,108,226,108,171,108,213,108,211,108,184,108,196,108,185,108,193,108,174,108,215,108,197,108,241,108,191,108,187,108,225,108,219,108,202,108,172,108,239,108,220,108,214,108,224,108,149,112,142,112,146,112,138,112,153,112,44,114,45,114,56,114,72,114,103,114,105,114,192,114,206,114,217,114,215,114,208,114,169,115,168,115,159,115,171,115,165,115,61,117,157,117,153,117,154,117,132,118,194,118,242,118,244,118,229,119,253,119,62,121,64,121,65,121,201,121,200,121,122,122,121,122,250,122,254,124,84,127,140,127,139,127,5,128,186,128,165,128,162,128,177,128,161,128,171,128,169,128,180,128,170,128,175,128,229,129,254,129,13,130,179,130,157,130,153,130,173,130,189,130,159,130,185,130,177,130,172,130,165,130,175,130,184,130,163,130,176,130,190,130,183,130,78,134,113,134,29,82,104,136,203,142,206,143,212,143,209,143,181,144,184,144,177,144,182,144,199,145,209,145,119,149,128,149,28,150,64,150,63,150,59,150,68,150,66,150,185,150,232,150,82,151,94,151,159,78,173,78,174,78,225,79,181,79,175,79,191,79,224,79,209,79,207,79,221,79,195,79,182,79,216,79,223,79,202,79,215,79,174,79,208,79,196,79,194,79,218,79,206,79,222,79,183,79,87,81,146,81,145,81,160,81,78,82,67,82,74,82,77,82,76,82,75,82,71,82,199,82,201,82,195,82,193,82,13,83,87,83,123,83,154,83,219,83,172,84,192,84,168,84,206,84,201,84,184,84,166,84,179,84,199,84,194,84,189,84,170,84,193,84,196,84,200,84,175,84,171,84,177,84,187,84,169,84,167,84,191,84,255,86,130,87,139,87,160,87,163,87,162,87,206,87,174,87,147,87,85,89,81,89,79,89,78,89,80,89,220,89,216,89,255,89,227,89,232,89,3,90,229,89,234,89,218,89,230,89,1,90,251,89,105,91,163,91,166,91,164,91,162,91,165,91,1,92,78,92,79,92,77,92,75,92,217,92,210,92,247,93,29,94,37,94,31,94,125,94,160,94,166,94,250,94,8,95,45,95,101,95,136,95,133,95,138,95,139,95,135,95,140,95,137,95,18,96,29,96,32,96,37,96,14,96,40,96,77,96,112,96,104,96,98,96,70,96,67,96,108,96,107,96,106,96,100,96,65,98,220,98,22,99,9,99,252,98,237,98,1,99,238,98,253,98,7,99,241,98,247,98,239,98,236,98,254,98,244,98,17,99,2,99,63,101,69,101,171,101,189,101,226,101,37,102,45,102,32,102,39,102,47,102,31,102,40,102,49,102,36,102,247,102,255,103,211,103,241,103,212,103,208,103,236,103,182,103,175,103,245,103,233,103,239,103,196,103,209,103,180,103,218,103,229,103,184,103,207,103,222,103,243,103,176,103,217,103,226,103,221,103,210,103,106,107,131,107,134,107,181,107,210,107,215,107,31,108,201,108,11,109,50,109,42,109,65,109,37,109,12,109,49,109,30,109,23,109,59,109,61,109,62,109,54,109,27,109,245,108,57,109,39,109,56,109,41,109,46,109,53,109,14,109,43,109,171,112,186,112,179,112,172,112,175,112,173,112,184,112,174,112,164,112,48,114,114,114,111,114,116,114,233,114,224,114,225,114,183,115,202,115,187,115,178,115,205,115,192,115,179,115,26,117,45,117,79,117,76,117,78,117,75,117,171,117,164,117,165,117,162,117,163,117,120,118,134,118,135,118,136,118,200,118,198,118,195,118,197,118,1,119,249,118,248,118,9,119,11,119,254,118,252,118,7,119,220,119,2,120,20,120,12,120,13,120,70,121,73,121,72,121,71,121,185,121,186,121,209,121,210,121,203,121,127,122,129,122,255,122,253,122,125,124,2,125,5,125,0,125,9,125,7,125,4,125,6,125,56,127,142,127,191,127,4,128,16,128,13,128,17,128,54,128,214,128,229,128,218,128,195,128,196,128,204,128,225,128,219,128,206,128,222,128,228,128,221,128,244,129,34,130,231,130,3,131,5,131,227,130,219,130,230,130,4,131,229,130,2,131,9,131,210,130,215,130,241,130,1,131,220,130,212,130,209,130,222,130,211,130,223,130,239,130,6,131,80,134,121,134,123,134,122,134,77,136,107,136,129,137,212,137,8,138,2,138,3,138,158,140,160,140,116,141,115,141,180,141,205,142,204,142,240,143,230,143,226,143,234,143,229,143,237,143,235,143,228,143,232,143,202,144,206,144,193,144,195,144,75,145,74,145,205,145,130,149,80,150,75,150,76,150,77,150,98,151,105,151,203,151,237,151,243,151,1,152,168,152,219,152,223,152,150,153,153,153,88,78,179,78,12,80,13,80,35,80,239,79,38,80,37,80,248,79,41,80,22,80,6,80,60,80,31,80,26,80,18,80,17,80,250,79,0,80,20,80,40,80,241,79,33,80,11,80,25,80,24,80,243,79,238,79,45,80,42,80,254,79,43,80,9,80,124,81,164,81,165,81,162,81,205,81,204,81,198,81,203,81,86,82,92,82,84,82,91,82,93,82,42,83,127,83,159,83,157,83,223,83,232,84,16,85,1,85,55,85,252,84,229,84,242,84,6,85,250,84,20,85,233,84,237,84,225,84,9,85,238,84,234,84,230,84,39,85,7,85,253,84,15,85,3,87,4,87,194,87,212,87,203,87,195,87,9,88,15,89,87,89,88,89,90,89,17,90,24,90,28,90,31,90,27,90,19,90,236,89,32,90,35,90,41,90,37,90,12,90,9,90,107,91,88,92,176,91,179,91,182,91,180,91,174,91,181,91,185,91,184,91,4,92,81,92,85,92,80,92,237,92,253,92,251,92,234,92,232,92,240,92,246,92,1,93,244,92,238,93,45,94,43,94,171,94,173,94,167,94,49,95,146,95,145,95,144,95,89,96,99,96,101,96,80,96,85,96,109,96,105,96,111,96,132,96,159,96,154,96,141,96,148,96,140,96,133,96,150,96,71,98,243,98,8,99,255,98,78,99,62,99,47,99,85,99,66,99,70,99,79,99,73,99,58,99,80,99,61,99,42,99,43,99,40,99,77,99,76,99,72,101,73,101,153,101,193,101,197,101,66,102,73,102,79,102,67,102,82,102,76,102,69,102,65,102,248,102,20,103,21,103,23,103,33,104,56,104,72,104,70,104,83,104,57,104,66,104,84,104,41,104,179,104,23,104,76,104,81,104,61,104,244,103,80,104,64,104,60,104,67,104,42,104,69,104,19,104,24,104,65,104,138,107,137,107,183,107,35,108,39,108,40,108,38,108,36,108,240,108,106,109,149,109,136,109,135,109,102,109,120,109,119,109,89,109,147,109,108,109,137,109,110,109,90,109,116,109,105,109,140,109,138,109,121,109,133,109,101,109,148,109,202,112,216,112,228,112,217,112,200,112,207,112,57,114,121,114,252,114,249,114,253,114,248,114,247,114,134,115,237,115,9,116,238,115,224,115,234,115,222,115,84,117,93,117,92,117,90,117,89,117,190,117,197,117,199,117,178,117,179,117,189,117,188,117,185,117,194,117,184,117,139,118,176,118,202,118,205,118,206,118,41,119,31,119,32,119,40,119,233,119,48,120,39,120,56,120,29,120,52,120,55,120,37,120,45,120,32,120,31,120,50,120,85,121,80,121,96,121,95,121,86,121,94,121,93,121,87,121,90,121,228,121,227,121,231,121,223,121,230,121,233,121,216,121,132,122,136,122,217,122,6,123,17,123,137,124,33,125,23,125,11,125,10,125,32,125,34,125,20,125,16,125,21,125,26,125,28,125,13,125,25,125,27,125,58,127,95,127,148,127,197,127,193,127,6,128,24,128,21,128,25,128,23,128,61,128,63,128,241,128,2,129,240,128,5,129,237,128,244,128,6,129,248,128,243,128,8,129,253,128,10,129,252,128,239,128,237,129,236,129,0,130,16,130,42,130,43,130,40,130,44,130,187,130,43,131,82,131,84,131,74,131,56,131,80,131,73,131,53,131,52,131,79,131,50,131,57,131,54,131,23,131,64,131,49,131,40,131,67,131,84,134,138,134,170,134,147,134,164,134,169,134,140,134,163,134,156,134,112,136,119,136,129,136,130,136,125,136,121,136,24,138,16,138,14,138,12,138,21,138,10,138,23,138,19,138,22,138,15,138,17,138,72,140,122,140,121,140,161,140,162,140,119,141,172,142,210,142,212,142,207,142,177,143,1,144,6,144,247,143,0,144,250,143,244,143,3,144,253,143,5,144,248,143,149,144,225,144,221,144,226,144,82,145,77,145,76,145,216,145,221,145,215,145,220,145,217,145,131,149,98,150,99,150,97,150,91,150,93,150,100,150,88,150,94,150,187,150,226,152,172,153,168,154,216,154,37,155,50,155,60,155,126,78,122,80,125,80,92,80,71,80,67,80,76,80,90,80,73,80,101,80,118,80,78,80,85,80,117,80,116,80,119,80,79,80,15,80,111,80,109,80,92,81,149,81,240,81,106,82,111,82,210,82,217,82,216,82,213,82,16,83,15,83,25,83,63,83,64,83,62,83,195,83,252,102,70,85,106,85,102,85,68,85,94,85,97,85,67,85,74,85,49,85,86,85,79,85,85,85,47,85,100,85,56,85,46,85,92,85,44,85,99,85,51,85,65,85,87,85,8,87,11,87,9,87,223,87,5,88,10,88,6,88,224,87,228,87,250,87,2,88,53,88,247,87,249,87,32,89,98,89,54,90,65,90,73,90,102,90,106,90,64,90,60,90,98,90,90,90,70,90,74,90,112,91,199,91,197,91,196,91,194,91,191,91,198,91,9,92,8,92,7,92,96,92,92,92,93,92,7,93,6,93,14,93,27,93,22,93,34,93,17,93,41,93,20,93,25,93,36,93,39,93,23,93,226,93,56,94,54,94,51,94,55,94,183,94,184,94,182,94,181,94,190,94,53,95,55,95,87,95,108,95,105,95,107,95,151,95,153,95,158,95,152,95,161,95,160,95,156,95,127,96,163,96,137,96,160,96,168,96,203,96,180,96,230,96,189,96,197,96,187,96,181,96,220,96,188,96,216,96,213,96,198,96,223,96,184,96,218,96,199,96,26,98,27,98,72,98,160,99,167,99,114,99,150,99,162,99,165,99,119,99,103,99,152,99,170,99,113,99,169,99,137,99,131,99,155,99,107,99,168,99,132,99,136,99,153,99,161,99,172,99,146,99,143,99,128,99,123,99,105,99,104,99,122,99,93,101,86,101,81,101,89,101,87,101,95,85,79,101,88,101,85,101,84,101,156,101,155,101,172,101,207,101,203,101,204,101,206,101,93,102,90,102,100,102,104,102,102,102,94,102,249,102,215,82,27,103,129,104,175,104,162,104,147,104,181,104,127,104,118,104,177,104,167,104,151,104,176,104,131,104,196,104,173,104,134,104,133,104,148,104,157,104,168,104,159,104,161,104,130,104,50,107,186,107,235,107,236,107,43,108,142,109,188,109,243,109,217,109,178,109,225,109,204,109,228,109,251,109,250,109,5,110,199,109,203,109,175,109,209,109,174,109,222,109,249,109,184,109,247,109,245,109,197,109,210,109,26,110,181,109,218,109,235,109,216,109,234,109,241,109,238,109,232,109,198,109,196,109,170,109,236,109,191,109,230,109,249,112,9,113,10,113,253,112,239,112,61,114,125,114,129,114,28,115,27,115,22,115,19,115,25,115,135,115,5,116,10,116,3,116,6,116,254,115,13,116,224,116,246,116,247,116,28,117,34,117,101,117,102,117,98,117,112,117,143,117,212,117,213,117,181,117,202,117,205,117,142,118,212,118,210,118,219,118,55,119,62,119,60,119,54,119,56,119,58,119,107,120,67,120,78,120,101,121,104,121,109,121,251,121,146,122,149,122,32,123,40,123,27,123,44,123,38,123,25,123,30,123,46,123,146,124,151,124,149,124,70,125,67,125,113,125,46,125,57,125,60,125,64,125,48,125,51,125,68,125,47,125,66,125,50,125,49,125,61,127,158,127,154,127,204,127,206,127,210,127,28,128,74,128,70,128,47,129,22,129,35,129,43,129,41,129,48,129,36,129,2,130,53,130,55,130,54,130,57,130,142,131,158,131,152,131,120,131,162,131,150,131,189,131,171,131,146,131,138,131,147,131,137,131,160,131,119,131,123,131,124,131,134,131,167,131,85,134,106,95,199,134,192,134,182,134,196,134,181,134,198,134,203,134,177,134,175,134,201,134,83,136,158,136,136,136,171,136,146,136,150,136,141,136,139,136,147,137,143,137,42,138,29,138,35,138,37,138,49,138,45,138,31,138,27,138,34,138,73,140,90,140,169,140,172,140,171,140,168,140,170,140,167,140,103,141,102,141,190,141,186,141,219,142,223,142,25,144,13,144,26,144,23,144,35,144,31,144,29,144,16,144,21,144,30,144,32,144,15,144,34,144,22,144,27,144,20,144,232,144,237,144,253,144,87,145,206,145,245,145,230,145,227,145,231,145,237,145,233,145,137,149,106,150,117,150,115,150,120,150,112,150,116,150,118,150,119,150,108,150,192,150,234,150,233,150,224,122,223,122,2,152,3,152,90,155,229,156,117,158,127,158,165,158,187,158,162,80,141,80,133,80,153,80,145,80,128,80,150,80,152,80,154,80,0,103,241,81,114,82,116,82,117,82,105,82,222,82,221,82,219,82,90,83,165,83,123,85,128,85,167,85,124,85,138,85,157,85,152,85,130,85,156,85,170,85,148,85,135,85,139,85,131,85,179,85,174,85,159,85,62,85,178,85,154,85,187,85,172,85,177,85,126,85,137,85,171,85,153,85,13,87,47,88,42,88,52,88,36,88,48,88,49,88,33,88,29,88,32,88,249,88,250,88,96,89,119,90,154,90,127,90,146,90,155,90,167,90,115,91,113,91,210,91,204,91,211,91,208,91,10,92,11,92,49,92,76,93,80,93,52,93,71,93,253,93,69,94,61,94,64,94,67,94,126,94,202,94,193,94,194,94,196,94,60,95,109,95,169,95,170,95,168,95,209,96,225,96,178,96,182,96,224,96,28,97,35,97,250,96,21,97,240,96,251,96,244,96,104,97,241,96,14,97,246,96,9,97,0,97,18,97,31,98,73,98,163,99,140,99,207,99,192,99,233,99,201,99,198,99,205,99,210,99,227,99,208,99,225,99,214,99,237,99,238,99,118,99,244,99,234,99,219,99,82,100,218,99,249,99,94,101,102,101,98,101,99,101,145,101,144,101,175,101,110,102,112,102,116,102,118,102,111,102,145,102,122,102,126,102,119,102,254,102,255,102,31,103,29,103,250,104,213,104,224,104,216,104,215,104,5,105,223,104,245,104,238,104,231,104,249,104,210,104,242,104,227,104,203,104,205,104,13,105,18,105,14,105,201,104,218,104,110,105,251,104,62,107,58,107,61,107,152,107,150,107,188,107,239,107,46,108,47,108,44,108,47,110,56,110,84,110,33,110,50,110,103,110,74,110,32,110,37,110,35,110,27,110,91,110,88,110,36,110,86,110,110,110,45,110,38,110,111,110,52,110,77,110,58,110,44,110,67,110,29,110,62,110,203,110,137,110,25,110,78,110,99,110,68,110,114,110,105,110,95,110,25,113,26,113,38,113,48,113,33,113,54,113,110,113,28,113,76,114,132,114,128,114,54,115,37,115,52,115,41,115,58,116,42,116,51,116,34,116,37,116,53,116,54,116,52,116,47,116,27,116,38,116,40,116,37,117,38,117,107,117,106,117,226,117,219,117,227,117,217,117,216,117,222,117,224,117,123,118,124,118,150,118,147,118,180,118,220,118,79,119,237,119,93,120,108,120,111,120,13,122,8,122,11,122,5,122,0,122,152,122,151,122,150,122,229,122,227,122,73,123,86,123,70,123,80,123,82,123,84,123,77,123,75,123,79,123,81,123,159,124,165,124,94,125,80,125,104,125,85,125,43,125,110,125,114,125,97,125,102,125,98,125,112,125,115,125,132,85,212,127,213,127,11,128,82,128,133,128,85,129,84,129,75,129,81,129,78,129,57,129,70,129,62,129,76,129,83,129,116,129,18,130,28,130,233,131,3,132,248,131,13,132,224,131,197,131,11,132,193,131,239,131,241,131,244,131,87,132,10,132,240,131,12,132,204,131,253,131,242,131,202,131,56,132,14,132,4,132,220,131,7,132,212,131,223,131,91,134,223,134,217,134,237,134,212,134,219,134,228,134,208,134,222,134,87,136,193,136,194,136,177,136,131,137,150,137,59,138,96,138,85,138,94,138,60,138,65,138,84,138,91,138,80,138,70,138,52,138,58,138,54,138,86,138,97,140,130,140,175,140,188,140,179,140,189,140,193,140,187,140,192,140,180,140,183,140,182,140,191,140,184,140,138,141,133,141,129,141,206,141,221,141,203,141,218,141,209,141,204,141,219,141,198,141,251,142,248,142,252,142,156,143,46,144,53,144,49,144,56,144,50,144,54,144,2,145,245,144,9,145,254,144,99,145,101,145,207,145,20,146,21,146,35,146,9,146,30,146,13,146,16,146,7,146,17,146,148,149,143,149,139,149,145,149,147,149,146,149,142,149,138,150,142,150,139,150,125,150,133,150,134,150,141,150,114,150,132,150,193,150,197,150,196,150,198,150,199,150,239,150,242,150,204,151,5,152,6,152,8,152,231,152,234,152,239,152,233,152,242,152,237,152,174,153,173,153,195,158,205,158,209,158,130,78,173,80,181,80,178,80,179,80,197,80,190,80,172,80,183,80,187,80,175,80,199,80,127,82,119,82,125,82,223,82,230,82,228,82,226,82,227,82,47,83,223,85,232,85,211,85,230,85,206,85,220,85,199,85,209,85,227,85,228,85,239,85,218,85,225,85,197,85,198,85,229,85,201,85,18,87,19,87,94,88,81,88,88,88,87,88,90,88,84,88,107,88,76,88,109,88,74,88,98,88,82,88,75,88,103,89,193,90,201,90,204,90,190,90,189,90,188,90,179,90,194,90,178,90,105,93,111,93,76,94,121,94,201,94,200,94,18,95,89,95,172,95,174,95,26,97,15,97,72,97,31,97,243,96,27,97,249,96,1,97,8,97,78,97,76,97,68,97,77,97,62,97,52,97,39,97,13,97,6,97,55,97,33,98,34,98,19,100,62,100,30,100,42,100,45,100,61,100,44,100,15,100,28,100,20,100,13,100,54,100,22,100,23,100,6,100,108,101,159,101,176,101,151,102,137,102,135,102,136,102,150,102,132,102,152,102,141,102,3,103,148,105,109,105,90,105,119,105,96,105,84,105,117,105,48,105,130,105,74,105,104,105,107,105,94,105,83,105,121,105,134,105,93,105,99,105,91,105,71,107,114,107,192,107,191,107,211,107,253,107,162,110,175,110,211,110,182,110,194,110,144,110,157,110,199,110,197,110,165,110,152,110,188,110,186,110,171,110,209,110,150,110,156,110,196,110,212,110,170,110,167,110,180,110,78,113,89,113,105,113,100,113,73,113,103,113,92,113,108,113,102,113,76,113,101,113,94,113,70,113,104,113,86,113,58,114,82,114,55,115,69,115,63,115,62,115,111,116,90,116,85,116,95,116,94,116,65,116,63,116,89,116,91,116,92,116,118,117,120,117,0,118,240,117,1,118,242,117,241,117,250,117,255,117,244,117,243,117,222,118,223,118,91,119,107,119,102,119,94,119,99,119,121,119,106,119,108,119,92,119,101,119,104,119,98,119,238,119,142,120,176,120,151,120,152,120,140,120,137,120,124,120,145,120,147,120,127,120,122,121,127,121,129,121,44,132,189,121,28,122,26,122,32,122,20,122,31,122,30,122,159,122,160,122,119,123,192,123,96,123,110,123,103,123,177,124,179,124,181,124,147,125,121,125,145,125,129,125,143,125,91,125,110,127,105,127,106,127,114,127,169,127,168,127,164,127,86,128,88,128,134,128,132,128,113,129,112,129,120,129,101,129,110,129,115,129,107,129,121,129,122,129,102,129,5,130,71,130,130,132,119,132,61,132,49,132,117,132,102,132,107,132,73,132,108,132,91,132,60,132,53,132,97,132,99,132,105,132,109,132,70,132,94,134,92,134,95,134,249,134,19,135,8,135,7,135,0,135,254,134,251,134,2,135,3,135,6,135,10,135,89,136,223,136,212,136,217,136,220,136,216,136,221,136,225,136,202,136,213,136,210,136,156,137,227,137,107,138,114,138,115,138,102,138,105,138,112,138,135,138,124,138,99,138,160,138,113,138,133,138,109,138,98,138,110,138,108,138,121,138,123,138,62,138,104,138,98,140,138,140,137,140,202,140,199,140,200,140,196,140,178,140,195,140,194,140,197,140,225,141,223,141,232,141,239,141,243,141,250,141,234,141,228,141,230,141,178,142,3,143,9,143,254,142,10,143,159,143,178,143,75,144,74,144,83,144,66,144,84,144,60,144,85,144,80,144,71,144,79,144,78,144,77,144,81,144,62,144,65,144,18,145,23,145,108,145,106,145,105,145,201,145,55,146,87,146,56,146,61,146,64,146,62,146,91,146,75,146,100,146,81,146,52,146,73,146,77,146,69,146,57,146,63,146,90,146,152,149,152,150,148,150,149,150,205,150,203,150,201,150,202,150,247,150,251,150,249,150,246,150,86,151,116,151,118,151,16,152,17,152,19,152,10,152,18,152,12,152,252,152,244,152,253,152,254,152,179,153,177,153,180,153,225,154,233,156,130,158,14,159,19,159,32,159,231,80,238,80,229,80,214,80,237,80,218,80,213,80,207,80,209,80,241,80,206,80,233,80,98,81,243,81,131,82,130,82,49,83,173,83,254,85,0,86,27,86,23,86,253,85,20,86,6,86,9,86,13,86,14,86,247,85,22,86,31,86,8,86,16,86,246,85,24,87,22,87,117,88,126,88,131,88,147,88,138,88,121,88,133,88,125,88,253,88,37,89,34,89,36,89,106,89,105,89,225,90,230,90,233,90,215,90,214,90,216,90,227,90,117,91,222,91,231,91,225,91,229,91,230,91,232,91,226,91,228,91,223,91,13,92,98,92,132,93,135,93,91,94,99,94,85,94,87,94,84,94,211,94,214,94,10,95,70,95,112,95,185,95,71,97,63,97,75,97,119,97,98,97,99,97,95,97,90,97,88,97,117,97,42,98,135,100,88,100,84,100,164,100,120,100,95,100,122,100,81,100,103,100,52,100,109,100,123,100,114,101,161,101,215,101,214,101,162,102,168,102,157,102,156,105,168,105,149,105,193,105,174,105,211,105,203,105,155,105,183,105,187,105,171,105,180,105,208,105,205,105,173,105,204,105,166,105,195,105,163,105,73,107,76,107,51,108,51,111,20,111,254,110,19,111,244,110,41,111,62,111,32,111,44,111,15,111,2,111,34,111,255,110,239,110,6,111,49,111,56,111,50,111,35,111,21,111,43,111,47,111,136,111,42,111,236,110,1,111,242,110,204,110,247,110,148,113,153,113,125,113,138,113,132,113,146,113,62,114,146,114,150,114,68,115,80,115,100,116,99,116,106,116,112,116,109,116,4,117,145,117,39,118,13,118,11,118,9,118,19,118,225,118,227,118,132,119,125,119,127,119,97,119,193,120,159,120,167,120,179,120,169,120,163,120,142,121,143,121,141,121,46,122,49,122,170,122,169,122,237,122,239,122,161,123,149,123,139,123,117,123,151,123,157,123,148,123,143,123,184,123,135,123,132,123,185,124,189,124,190,124,187,125,176,125,156,125,189,125,190,125,160,125,202,125,180,125,178,125,177,125,186,125,162,125,191,125,181,125,184,125,173,125,210,125,199,125,172,125,112,127,224,127,225,127,223,127,94,128,90,128,135,128,80,129,128,129,143,129,136,129,138,129,127,129,130,129,231,129,250,129,7,130,20,130,30,130,75,130,201,132,191,132,198,132,196,132,153,132,158,132,178,132,156,132,203,132,184,132,192,132,211,132,144,132,188,132,209,132,202,132,63,135,28,135,59,135,34,135,37,135,52,135,24,135,85,135,55,135,41,135,243,136,2,137,244,136,249,136,248,136,253,136,232,136,26,137,239,136,166,138,140,138,158,138,163,138,141,138,161,138,147,138,164,138,170,138,165,138,168,138,152,138,145,138,154,138,167,138,106,140,141,140,140,140,211,140,209,140,210,140,107,141,153,141,149,141,252,141,20,143,18,143,21,143,19,143,163,143,96,144,88,144,92,144,99,144,89,144,94,144,98,144,93,144,91,144,25,145,24,145,30,145,117,145,120,145,119,145,116,145,120,146,128,146,133,146,152,146,150,146,123,146,147,146,156,146,168,146,124,146,145,146,161,149,168,149,169,149,163,149,165,149,164,149,153,150,156,150,155,150,204,150,210,150,0,151,124,151,133,151,246,151,23,152,24,152,175,152,177,152,3,153,5,153,12,153,9,153,193,153,175,154,176,154,230,154,65,155,66,155,244,156,246,156,243,156,188,158,59,159,74,159,4,81,0,81,251,80,245,80,249,80,2,81,8,81,9,81,5,81,220,81,135,82,136,82,137,82,141,82,138,82,240,82,178,83,46,86,59,86,57,86,50,86,63,86,52,86,41,86,83,86,78,86,87,86,116,86,54,86,47,86,48,86,128,88,159,88,158,88,179,88,156,88,174,88,169,88,166,88,109,89,9,91,251,90,11,91,245,90,12,91,8,91,238,91,236,91,233,91,235,91,100,92,101,92,157,93,148,93,98,94,95,94,97,94,226,94,218,94,223,94,221,94,227,94,224,94,72,95,113,95,183,95,181,95,118,97,103,97,110,97,93,97,85,97,130,97,124,97,112,97,107,97,126,97,167,97,144,97,171,97,142,97,172,97,154,97,164,97,148,97,174,97,46,98,105,100,111,100,121,100,158,100,178,100,136,100,144,100,176,100,165,100,147,100,149,100,169,100,146,100,174,100,173,100,171,100,154,100,172,100,153,100,162,100,179,100,117,101,119,101,120,101,174,102,171,102,180,102,177,102,35,106,31,106,232,105,1,106,30,106,25,106,253,105,33,106,19,106,10,106,243,105,2,106,5,106,237,105,17,106,80,107,78,107,164,107,197,107,198,107,63,111,124,111,132,111,81,111,102,111,84,111,134,111,109,111,91,111,120,111,110,111,142,111,122,111,112,111,100,111,151,111,88,111,213,110,111,111,96,111,95,111,159,113,172,113,177,113,168,113,86,114,155,114,78,115,87,115,105,116,139,116,131,116,126,116,128,116,127,117,32,118,41,118,31,118,36,118,38,118,33,118,34,118,154,118,186,118,228,118,142,119,135,119,140,119,145,119,139,119,203,120,197,120,186,120,202,120,190,120,213,120,188,120,208,120,63,122,60,122,64,122,61,122,55,122,59,122,175,122,174,122,173,123,177,123,196,123,180,123,198,123,199,123,193,123,160,123,204,123,202,124,224,125,244,125,239,125,251,125,216,125,236,125,221,125,232,125,227,125,218,125,222,125,233,125,158,125,217,125,242,125,249,125,117,127,119,127,175,127,233,127,38,128,155,129,156,129,157,129,160,129,154,129,152,129,23,133,61,133,26,133,238,132,44,133,45,133,19,133,17,133,35,133,33,133,20,133,236,132,37,133,255,132,6,133,130,135,116,135,118,135,96,135,102,135,120,135,104,135,89,135,87,135,76,135,83,135,91,136,93,136,16,137,7,137,18,137,19,137,21,137,10,137,188,138,210,138,199,138,196,138,149,138,203,138,248,138,178,138,201,138,194,138,191,138,176,138,214,138,205,138,182,138,185,138,219,138,76,140,78,140,108,140,224,140,222,140,230,140,228,140,236,140,237,140,226,140,227,140,220,140,234,140,225,140,109,141,159,141,163,141,43,142,16,142,29,142,34,142,15,142,41,142,31,142,33,142,30,142,186,142,29,143,27,143,31,143,41,143,38,143,42,143,28,143,30,143,37,143,105,144,110,144,104,144,109,144,119,144,48,145,45,145,39,145,49,145,135,145,137,145,139,145,131,145,197,146,187,146,183,146,234,146,172,146,228,146,193,146,179,146,188,146,210,146,199,146,240,146,178,146,173,149,177,149,4,151,6,151,7,151,9,151,96,151,141,151,139,151,143,151,33,152,43,152,28,152,179,152,10,153,19,153,18,153,24,153,221,153,208,153,223,153,219,153,209,153,213,153,210,153,217,153,183,154,238,154,239,154,39,155,69,155,68,155,119,155,111,155,6,157,9,157,3,157,169,158,190,158,206,158,168,88,82,159,18,81,24,81,20,81,16,81,21,81,128,81,170,81,221,81,145,82,147,82,243,82,89,86,107,86,121,86,105,86,100,86,120,86,106,86,104,86,101,86,113,86,111,86,108,86,98,86,118,86,193,88,190,88,199,88,197,88,110,89,29,91,52,91,120,91,240,91,14,92,74,95,178,97,145,97,169,97,138,97,205,97,182,97,190,97,202,97,200,97,48,98,197,100,193,100,203,100,187,100,188,100,218,100,196,100,199,100,194,100,205,100,191,100,210,100,212,100,190,100,116,101,198,102,201,102,185,102,196,102,199,102,184,102,61,106,56,106,58,106,89,106,107,106,88,106,57,106,68,106,98,106,97,106,75,106,71,106,53,106,95,106,72,106,89,107,119,107,5,108,194,111,177,111,161,111,195,111,164,111,193,111,167,111,179,111,192,111,185,111,182,111,166,111,160,111,180,111,190,113,201,113,208,113,210,113,200,113,213,113,185,113,206,113,217,113,220,113,195,113,196,113,104,115,156,116,163,116,152,116,159,116,158,116,226,116,12,117,13,117,52,118,56,118,58,118,231,118,229,118,160,119,158,119,159,119,165,119,232,120,218,120,236,120,231,120,166,121,77,122,78,122,70,122,76,122,75,122,186,122,217,123,17,124,201,123,228,123,219,123,225,123,233,123,230,123,213,124,214,124,10,126,17,126,8,126,27,126,35,126,30,126,29,126,9,126,16,126,121,127,178,127,240,127,241,127,238,127,40,128,179,129,169,129,168,129,251,129,8,130,88,130,89,130,74,133,89,133,72,133,104,133,105,133,67,133,73,133,109,133,106,133,94,133,131,135,159,135,158,135,162,135,141,135,97,136,42,137,50,137,37,137,43,137,33,137,170,137,166,137,230,138,250,138,235,138,241,138,0,139,220,138,231,138,238,138,254,138,1,139,2,139,247,138,237,138,243,138,246,138,252,138,107,140,109,140,147,140,244,140,68,142,49,142,52,142,66,142,57,142,53,142,59,143,47,143,56,143,51,143,168,143,166,143,117,144,116,144,120,144,114,144,124,144,122,144,52,145,146,145,32,147,54,147,248,146,51,147,47,147,34,147,252,146,43,147,4,147,26,147,16,147,38,147,33,147,21,147,46,147,25,147,187,149,167,150,168,150,170,150,213,150,14,151,17,151,22,151,13,151,19,151,15,151,91,151,92,151,102,151,152,151,48,152,56,152,59,152,55,152,45,152,57,152,36,152,16,153,40,153,30,153,27,153,33,153,26,153,237,153,226,153,241,153,184,154,188,154,251,154,237,154,40,155,145,155,21,157,35,157,38,157,40,157,18,157,27,157,216,158,212,158,141,159,156,159,42,81,31,81,33,81,50,81,245,82,142,86,128,86,144,86,133,86,135,86,143,86,213,88,211,88,209,88,206,88,48,91,42,91,36,91,122,91,55,92,104,92,188,93,186,93,189,93,184,93,107,94,76,95,189,95,201,97,194,97,199,97,230,97,203,97,50,98,52,98,206,100,202,100,216,100,224,100,240,100,230,100,236,100,241,100,226,100,237,100,130,101,131,101,217,102,214,102,128,106,148,106,132,106,162,106,156,106,219,106,163,106,126,106,151,106,144,106,160,106,92,107,174,107,218,107,8,108,216,111,241,111,223,111,224,111,219,111,228,111,235,111,239,111,128,111,236,111,225,111,233,111,213,111,238,111,240,111,231,113,223,113,238,113,230,113,229,113,237,113,236,113,244,113,224,113,53,114,70,114,112,115,114,115,169,116,176,116,166,116,168,116,70,118,66,118,76,118,234,118,179,119,170,119,176,119,172,119,167,119,173,119,239,119,247,120,250,120,244,120,239,120,1,121,167,121,170,121,87,122,191,122,7,124,13,124,254,123,247,123,12,124,224,123,224,124,220,124,222,124,226,124,223,124,217,124,221,124,46,126,62,126,70,126,55,126,50,126,67,126,43,126,61,126,49,126,69,126,65,126,52,126,57,126,72,126,53,126,63,126,47,126,68,127,243,127,252,127,113,128,114,128,112,128,111,128,115,128,198,129,195,129,186,129,194,129,192,129,191,129,189,129,201,129,190,129,232,129,9,130,113,130,170,133,132,133,126,133,156,133,145,133,148,133,175,133,155,133,135,133,168,133,138,133,103,134,192,135,209,135,179,135,210,135,198,135,171,135,187,135,186,135,200,135,203,135,59,137,54,137,68,137,56,137,61,137,172,137,14,139,23,139,25,139,27,139,10,139,32,139,29,139,4,139,16,139,65,140,63,140,115,140,250,140,253,140,252,140,248,140,251,140,168,141,73,142,75,142,72,142,74,142,68,143,62,143,66,143,69,143,63,143,127,144,125,144,132,144,129,144,130,144,128,144,57,145,163,145,158,145,156,145,77,147,130,147,40,147,117,147,74,147,101,147,75,147,24,147,126,147,108,147,91,147,112,147,90,147,84,147,202,149,203,149,204,149,200,149,198,149,177,150,184,150,214,150,28,151,30,151,160,151,211,151,70,152,182,152,53,153,1,154,255,153,174,155,171,155,170,155,173,155,59,157,63,157,139,158,207,158,222,158,220,158,221,158,219,158,62,159,75,159,226,83,149,86,174,86,217,88,216,88,56,91,93,95,227,97,51,98,244,100,242,100,254,100,6,101,250,100,251,100,247,100,183,101,220,102,38,103,179,106,172,106,195,106,187,106,184,106,194,106,174,106,175,106,95,107,120,107,175,107,9,112,11,112,254,111,6,112,250,111,17,112,15,112,251,113,252,113,254,113,248,113,119,115,117,115,167,116,191,116,21,117,86,118,88,118,82,118,189,119,191,119,187,119,188,119,14,121,174,121,97,122,98,122,96,122,196,122,197,122,43,124,39,124,42,124,30,124,35,124,33,124,231,124,84,126,85,126,94,126,90,126,97,126,82,126,89,126,72,127,249,127,251,127,119,128,118,128,205,129,207,129,10,130,207,133,169,133,205,133,208,133,201,133,176,133,186,133,185,133,166,133,239,135,236,135,242,135,224,135,134,137,178,137,244,137,40,139,57,139,44,139,43,139,80,140,5,141,89,142,99,142,102,142,100,142,95,142,85,142,192,142,73,143,77,143,135,144,131,144,136,144,171,145,172,145,208,145,148,147,138,147,150,147,162,147,179,147,174,147,172,147,176,147,152,147,154,147,151,147,212,149,214,149,208,149,213,149,226,150,220,150,217,150,219,150,222,150,36,151,163,151,166,151,173,151,249,151,77,152,79,152,76,152,78,152,83,152,186,152,62,153,63,153,61,153,46,153,165,153,14,154,193,154,3,155,6,155,79,155,78,155,77,155,202,155,201,155,253,155,200,155,192,155,81,157,93,157,96,157,224,158,21,159,44,159,51,81,165,86,222,88,223,88,226,88,245,91,144,159,236,94,242,97,247,97,246,97,245,97,0,101,15,101,224,102,221,102,229,106,221,106,218,106,211,106,27,112,31,112,40,112,26,112,29,112,21,112,24,112,6,114,13,114,88,114,162,114,120,115,122,115,189,116,202,116,227,116,135,117,134,117,95,118,97,118,199,119,25,121,177,121,107,122,105,122,62,124,63,124,56,124,61,124,55,124,64,124,107,126,109,126,121,126,105,126,106,126,133,127,115,126,182,127,185,127,184,127,216,129,233,133,221,133,234,133,213,133,228,133,229,133,247,133,251,135,5,136,13,136,249,135,254,135,96,137,95,137,86,137,94,137,65,139,92,139,88,139,73,139,90,139,78,139,79,139,70,139,89,139,8,141,10,141,124,142,114,142,135,142,118,142,108,142,122,142,116,142,84,143,78,143,173,143,138,144,139,144,177,145,174,145,225,147,209,147,223,147,195,147,200,147,220,147,221,147,214,147,226,147,205,147,216,147,228,147,215,147,232,147,220,149,180,150,227,150,42,151,39,151,97,151,220,151,251,151,94,152,88,152,91,152,188,152,69,153,73,153,22,154,25,154,13,155,232,155,231,155,214,155,219,155,137,157,97,157,114,157,106,157,108,157,146,158,151,158,147,158,180,158,248,82,168,86,183,86,182,86,180,86,188,86,228,88,64,91,67,91,125,91,246,91,201,93,248,97,250,97,24,101,20,101,25,101,230,102,39,103,236,106,62,112,48,112,50,112,16,114,123,115,207,116,98,118,101,118,38,121,42,121,44,121,43,121,199,122,246,122,76,124,67,124,77,124,239,124,240,124,174,143,125,126,124,126,130,126,76,127,0,128,218,129,102,130,251,133,249,133,17,134,250,133,6,134,11,134,7,134,10,134,20,136,21,136,100,137,186,137,248,137,112,139,108,139,102,139,111,139,95,139,107,139,15,141,13,141,137,142,129,142,133,142,130,142,180,145,203,145,24,148,3,148,253,147,225,149,48,151,196,152,82,153,81,153,168,153,43,154,48,154,55,154,53,154,19,156,13,156,121,158,181,158,232,158,47,159,95,159,99,159,97,159,55,81,56,81,193,86,192,86,194,86,20,89,108,92,205,93,252,97,254,97,29,101,28,101,149,101,233,102,251,106,4,107,250,106,178,107,76,112,27,114,167,114,214,116,212,116,105,118,211,119,80,124,143,126,140,126,188,127,23,134,45,134,26,134,35,136,34,136,33,136,31,136,106,137,108,137,189,137,116,139,119,139,125,139,19,141,138,142,141,142,139,142,95,143,175,143,186,145,46,148,51,148,53,148,58,148,56,148,50,148,43,148,226,149,56,151,57,151,50,151,255,151,103,152,101,152,87,153,69,154,67,154,64,154,62,154,207,154,84,155,81,155,45,156,37,156,175,157,180,157,194,157,184,157,157,158,239,158,25,159,92,159,102,159,103,159,60,81,59,81,200,86,202,86,201,86,127,91,212,93,210,93,78,95,255,97,36,101,10,107,97,107,81,112,88,112,128,115,228,116,138,117,110,118,108,118,179,121,96,124,95,124,126,128,125,128,223,129,114,137,111,137,252,137,128,139,22,141,23,141,145,142,147,142,97,143,72,145,68,148,81,148,82,148,61,151,62,151,195,151,193,151,107,152,85,153,85,154,77,154,210,154,26,155,73,156,49,156,62,156,59,156,211,157,215,157,52,159,108,159,106,159,148,159,204,86,214,93,0,98,35,101,43,101,42,101,236,102,16,107,218,116,202,122,100,124,99,124,101,124,147,126,150,126,148,126,226,129,56,134,63,134,49,136,138,139,144,144,143,144,99,148,96,148,100,148,104,151,111,152,92,153,90,154,91,154,87,154,211,154,212,154,209,154,84,156,87,156,86,156,229,157,159,158,244,158,209,86,233,88,44,101,94,112,113,118,114,118,215,119,80,127,136,127,54,136,57,136,98,136,147,139,146,139,150,139,119,130,27,141,192,145,106,148,66,151,72,151,68,151,198,151,112,152,95,154,34,155,88,155,95,156,249,157,250,157,124,158,125,158,7,159,119,159,114,159,243,94,22,107,99,112,108,124,110,124,59,136,192,137,161,142,193,145,114,148,112,148,113,152,94,153,214,154,35,155,204,158,100,112,218,119,154,139,119,148,201,151,98,154,101,154,156,126,156,139,170,142,197,145,125,148,126,148,124,148,119,156,120,156,247,158,84,140,127,148,26,158,40,114,106,154,49,155,27,158,30,158,114,124,66,78,92,78,245,81,26,83,130,83,7,78,12,78,71,78,141,78,215,86,110,92,115,95,15,78,135,81,14,78,46,78,147,78,194,78,201,78,200,78,152,81,252,82,108,83,185,83,32,87,3,89,44,89,16,92,255,93,225,101,179,107,204,107,20,108,63,114,49,78,60,78,232,78,220,78,233,78,225,78,221,78,218,78,12,82,28,83,76,83,34,87,35,87,23,89,47,89,129,91,132,91,18,92,59,92,116,92,115,92,4,94,128,94,130,94,201,95,9,98,80,98,21,108,54,108,67,108,63,108,59,108,174,114,176,114,138,115,184,121,138,128,30,150,14,79,24,79,44,79,245,78,20,79,241,78,0,79,247,78,8,79,29,79,2,79,5,79,34,79,19,79,4,79,244,78,18,79,177,81,19,82,9,82,16,82,166,82,34,83,31,83,77,83,138,83,7,84,225,86,223,86,46,87,42,87,52,87,60,89,128,89,124,89,133,89,123,89,126,89,119,89,127,89,86,91,21,92,37,92,124,92,122,92,123,92,126,92,223,93,117,94,132,94,2,95,26,95,116,95,213,95,212,95,207,95,92,98,94,98,100,98,97,98,102,98,98,98,89,98,96,98,90,98,101,98,239,101,238,101,62,103,57,103,56,103,59,103,58,103,63,103,60,103,51,103,24,108,70,108,82,108,92,108,79,108,74,108,84,108,75,108,76,108,113,112,94,114,180,114,181,114,142,115,42,117,127,118,117,122,81,127,120,130,124,130,128,130,125,130,127,130,77,134,126,137,153,144,151,144,152,144,155,144,148,144,34,150,36,150,32,150,35,150,86,79,59,79,98,79,73,79,83,79,100,79,62,79,103,79,82,79,95,79,65,79,88,79,45,79,51,79,63,79,97,79,143,81,185,81,28,82,30,82,33,82,173,82,174,82,9,83,99,83,114,83,142,83,143,83,48,84,55,84,42,84,84,84,69,84,25,84,28,84,37,84,24,84,61,84,79,84,65,84,40,84,36,84,71,84,238,86,231,86,229,86,65,87,69,87,76,87,73,87,75,87,82,87,6,89,64,89,166,89,152,89,160,89,151,89,142,89,162,89,144,89,143,89,167,89,161,89,142,91,146,91,40,92,42,92,141,92,143,92,136,92,139,92,137,92,146,92,138,92,134,92,147,92,149,92,224,93,10,94,14,94,139,94,137,94,140,94,136,94,141,94,5,95,29,95,120,95,118,95,210,95,209,95,208,95,237,95,232,95,238,95,243,95,225,95,228,95,227,95,250,95,239,95,247,95,251,95,0,96,244,95,58,98,131,98,140,98,142,98,143,98,148,98,135,98,113,98,123,98,122,98,112,98,129,98,136,98,119,98,125,98,114,98,116,98,55,101,240,101,244,101,243,101,242,101,245,101,69,103,71,103,89,103,85,103,76,103,72,103,93,103,77,103,90,103,75,103,208,107,25,108,26,108,120,108,103,108,107,108,132,108,139,108,143,108,113,108,111,108,105,108,154,108,109,108,135,108,149,108,156,108,102,108,115,108,101,108,123,108,142,108,116,112,122,112,99,114,191,114,189,114,195,114,198,114,193,114,186,114,197,114,149,115,151,115,147,115,148,115,146,115,58,117,57,117,148,117,149,117,129,118,61,121,52,128,149,128,153,128,144,128,146,128,156,128,144,130,143,130,133,130,142,130,145,130,147,130,138,130,131,130,132,130,120,140,201,143,191,143,159,144,161,144,165,144,158,144,167,144,160,144,48,150,40,150,47,150,45,150,51,78,152,79,124,79,133,79,125,79,128,79,135,79,118,79,116,79,137,79,132,79,119,79,76,79,151,79,106,79,154,79,121,79,129,79,120,79,144,79,156,79,148,79,158,79,146,79,130,79,149,79,107,79,110,79,158,81,188,81,190,81,53,82,50,82,51,82,70,82,49,82,188,82,10,83,11,83,60,83,146,83,148,83,135,84,127,84,129,84,145,84,130,84,136,84,107,84,122,84,126,84,101,84,108,84,116,84,102,84,141,84,111,84,97,84,96,84,152,84,99,84,103,84,100,84,247,86,249,86,111,87,114,87,109,87,107,87,113,87,112,87,118,87,128,87,117,87,123,87,115,87,116,87,98,87,104,87,125,87,12,89,69,89,181,89,186,89,207,89,206,89,178,89,204,89,193,89,182,89,188,89,195,89,214,89,177,89,189,89,192,89,200,89,180,89,199,89,98,91,101,91,147,91,149,91,68,92,71,92,174,92,164,92,160,92,181,92,175,92,168,92,172,92,159,92,163,92,173,92,162,92,170,92,167,92,157,92,165,92,182,92,176,92,166,92,23,94,20,94,25,94,40,95,34,95,35,95,36,95,84,95,130,95,126,95,125,95,222,95,229,95,45,96,38,96,25,96,50,96,11,96,52,96,10,96,23,96,51,96,26,96,30,96,44,96,34,96,13,96,16,96,46,96,19,96,17,96,12,96,9,96,28,96,20,98,61,98,173,98,180,98,209,98,190,98,170,98,182,98,202,98,174,98,179,98,175,98,187,98,169,98,176,98,184,98,61,101,168,101,187,101,9,102,252,101,4,102,18,102,8,102,251,101,3,102,11,102,13,102,5,102,253,101,17,102,16,102,246,102,10,103,133,103,108,103,142,103,146,103,118,103,123,103,152,103,134,103,132,103,116,103,141,103,140,103,122,103,159,103,145,103,153,103,131,103,125,103,129,103,120,103,121,103,148,103,37,107,128,107,126,107,222,107,29,108,147,108,236,108,235,108,238,108,217,108,182,108,212,108,173,108,231,108,183,108,208,108,194,108,186,108,195,108,198,108,237,108,242,108,210,108,221,108,180,108,138,108,157,108,128,108,222,108,192,108,48,109,205,108,199,108,176,108,249,108,207,108,233,108,209,108,148,112,152,112,133,112,147,112,134,112,132,112,145,112,150,112,130,112,154,112,131,112,106,114,214,114,203,114,216,114,201,114,220,114,210,114,212,114,218,114,204,114,209,114,164,115,161,115,173,115,166,115,162,115,160,115,172,115,157,115,221,116,232,116,63,117,64,117,62,117,140,117,152,117,175,118,243,118,241,118,240,118,245,118,248,119,252,119,249,119,251,119,250,119,247,119,66,121,63,121,197,121,120,122,123,122,251,122,117,124,253,124,53,128,143,128,174,128,163,128,184,128,181,128,173,128,32,130,160,130,192,130,171,130,154,130,152,130,155,130,181,130,167,130,174,130,188,130,158,130,186,130,180,130,168,130,161,130,169,130,194,130,164,130,195,130,182,130,162,130,112,134,111,134,109,134,110,134,86,140,210,143,203,143,211,143,205,143,214,143,213,143,215,143,178,144,180,144,175,144,179,144,176,144,57,150,61,150,60,150,58,150,67,150,205,79,197,79,211,79,178,79,201,79,203,79,193,79,212,79,220,79,217,79,187,79,179,79,219,79,199,79,214,79,186,79,192,79,185,79,236,79,68,82,73,82,192,82,194,82,61,83,124,83,151,83,150,83,153,83,152,83,186,84,161,84,173,84,165,84,207,84,195,84,13,131,183,84,174,84,214,84,182,84,197,84,198,84,160,84,112,84,188,84,162,84,190,84,114,84,222,84,176,84,181,87,158,87,159,87,164,87,140,87,151,87,157,87,155,87,148,87,152,87,143,87,153,87,165,87,154,87,149,87,244,88,13,89,83,89,225,89,222,89,238,89,0,90,241,89,221,89,250,89,253,89,252,89,246,89,228,89,242,89,247,89,219,89,233,89,243,89,245,89,224,89,254,89,244,89,237,89,168,91,76,92,208,92,216,92,204,92,215,92,203,92,219,92,222,92,218,92,201,92,199,92,202,92,214,92,211,92,212,92,207,92,200,92,198,92,206,92,223,92,248,92,249,93,33,94,34,94,35,94,32,94,36,94,176,94,164,94,162,94,155,94,163,94,165,94,7,95,46,95,86,95,134,95,55,96,57,96,84,96,114,96,94,96,69,96,83,96,71,96,73,96,91,96,76,96,64,96,66,96,95,96,36,96,68,96,88,96,102,96,110,96,66,98,67,98,207,98,13,99,11,99,245,98,14,99,3,99,235,98,249,98,15,99,12,99,248,98,246,98,0,99,19,99,20,99,250,98,21,99,251,98,240,98,65,101,67,101,170,101,191,101,54,102,33,102,50,102,53,102,28,102,38,102,34,102,51,102,43,102,58,102,29,102,52,102,57,102,46,102,15,103,16,103,193,103,242,103,200,103,186,103,220,103,187,103,248,103,216,103,192,103,183,103,197,103,235,103,228,103,223,103,181,103,205,103,179,103,247,103,246,103,238,103,227,103,194,103,185,103,206,103,231,103,240,103,178,103,252,103,198,103,237,103,204,103,174,103,230,103,219,103,250,103,201,103,202,103,195,103,234,103,203,103,40,107,130,107,132,107,182,107,214,107,216,107,224,107,32,108,33,108,40,109,52,109,45,109,31,109,60,109,63,109,18,109,10,109,218,108,51,109,4,109,25,109,58,109,26,109,17,109,0,109,29,109,66,109,1,109,24,109,55,109,3,109,15,109,64,109,7,109,32,109,44,109,8,109,34,109,9,109,16,109,183,112,159,112,190,112,177,112,176,112,161,112,180,112,181,112,169,112,65,114,73,114,74,114,108,114,112,114,115,114,110,114,202,114,228,114,232,114,235,114,223,114,234,114,230,114,227,114,133,115,204,115,194,115,200,115,197,115,185,115,182,115,181,115,180,115,235,115,191,115,199,115,190,115,195,115,198,115,184,115,203,115,236,116,238,116,46,117,71,117,72,117,167,117,170,117,121,118,196,118,8,119,3,119,4,119,5,119,10,119,247,118,251,118,250,118,231,119,232,119,6,120,17,120,18,120,5,120,16,120,15,120,14,120,9,120,3,120,19,120,74,121,76,121,75,121,69,121,68,121,213,121,205,121,207,121,214,121,206,121,128,122,126,122,209,122,0,123,1,123,122,124,120,124,121,124,127,124,128,124,129,124,3,125,8,125,1,125,88,127,145,127,141,127,190,127,7,128,14,128,15,128,20,128,55,128,216,128,199,128,224,128,209,128,200,128,194,128,208,128,197,128,227,128,217,128,220,128,202,128,213,128,201,128,207,128,215,128,230,128,205,128,255,129,33,130,148,130,217,130,254,130,249,130,7,131,232,130,0,131,213,130,58,131,235,130,214,130,244,130,236,130,225,130,242,130,245,130,12,131,251,130,246,130,240,130,234,130,228,130,224,130,250,130,243,130,237,130,119,134,116,134,124,134,115,134,65,136,78,136,103,136,106,136,105,136,211,137,4,138,7,138,114,141,227,143,225,143,238,143,224,143,241,144,189,144,191,144,213,144,197,144,190,144,199,144,203,144,200,144,212,145,211,145,84,150,79,150,81,150,83,150,74,150,78,150,30,80,5,80,7,80,19,80,34,80,48,80,27,80,245,79,244,79,51,80,55,80,44,80,246,79,247,79,23,80,28,80,32,80,39,80,53,80,47,80,49,80,14,80,90,81,148,81,147,81,202,81,196,81,197,81,200,81,206,81,97,82,90,82,82,82,94,82,95,82,85,82,98,82,205,82,14,83,158,83,38,85,226,84,23,85,18,85,231,84,243,84,228,84,26,85,255,84,4,85,8,85,235,84,17,85,5,85,241,84,10,85,251,84,247,84,248,84,224,84,14,85,3,85,11,85,1,87,2,87,204,87,50,88,213,87,210,87,186,87,198,87,189,87,188,87,184,87,182,87,191,87,199,87,208,87,185,87,193,87,14,89,74,89,25,90,22,90,45,90,46,90,21,90,15,90,23,90,10,90,30,90,51,90,108,91,167,91,173,91,172,91,3,92,86,92,84,92,236,92,255,92,238,92,241,92,247,92,0,93,249,92,41,94,40,94,168,94,174,94,170,94,172,94,51,95,48,95,103,95,93,96,90,96,103,96,65,96,162,96,136,96,128,96,146,96,129,96,157,96,131,96,149,96,155,96,151,96,135,96,156,96,142,96,25,98,70,98,242,98,16,99,86,99,44,99,68,99,69,99,54,99,67,99,228,99,57,99,75,99,74,99,60,99,41,99,65,99,52,99,88,99,84,99,89,99,45,99,71,99,51,99,90,99,81,99,56,99,87,99,64,99,72,99,74,101,70,101,198,101,195,101,196,101,194,101,74,102,95,102,71,102,81,102,18,103,19,103,31,104,26,104,73,104,50,104,51,104,59,104,75,104,79,104,22,104,49,104,28,104,53,104,43,104,45,104,47,104,78,104,68,104,52,104,29,104,18,104,20,104,38,104,40,104,46,104,77,104,58,104,37,104,32,104,44,107,47,107,45,107,49,107,52,107,109,107,130,128,136,107,230,107,228,107,232,107,227,107,226,107,231,107,37,108,122,109,99,109,100,109,118,109,13,109,97,109,146,109,88,109,98,109,109,109,111,109,145,109,141,109,239,109,127,109,134,109,94,109,103,109,96,109,151,109,112,109,124,109,95,109,130,109,152,109,47,109,104,109,139,109,126,109,128,109,132,109,22,109,131,109,123,109,125,109,117,109,144,109,220,112,211,112,209,112,221,112,203,112,57,127,226,112,215,112,210,112,222,112,224,112,212,112,205,112,197,112,198,112,199,112,218,112,206,112,225,112,66,114,120,114,119,114,118,114,0,115,250,114,244,114,254,114,246,114,243,114,251,114,1,115,211,115,217,115,229,115,214,115,188,115,231,115,227,115,233,115,220,115,210,115,219,115,212,115,221,115,218,115,215,115,216,115,232,115,222,116,223,116,244,116,245,116,33,117,91,117,95,117,176,117,193,117,187,117,196,117,192,117,191,117,182,117,186,117,138,118,201,118,29,119,27,119,16,119,19,119,18,119,35,119,17,119,21,119,25,119,26,119,34,119,39,119,35,120,44,120,34,120,53,120,47,120,40,120,46,120,43,120,33,120,41,120,51,120,42,120,49,120,84,121,91,121,79,121,92,121,83,121,82,121,81,121,235,121,236,121,224,121,238,121,237,121,234,121,220,121,222,121,221,121,134,122,137,122,133,122,139,122,140,122,138,122,135,122,216,122,16,123,4,123,19,123,5,123,15,123,8,123,10,123,14,123,9,123,18,123,132,124,145,124,138,124,140,124,136,124,141,124,133,124,30,125,29,125,17,125,14,125,24,125,22,125,19,125,31,125,18,125,15,125,12,125,92,127,97,127,94,127,96,127,93,127,91,127,150,127,146,127,195,127,194,127,192,127,22,128,62,128,57,128,250,128,242,128,249,128,245,128,1,129,251,128,0,129,1,130,47,130,37,130,51,131,45,131,68,131,25,131,81,131,37,131,86,131,63,131,65,131,38,131,28,131,34,131,66,131,78,131,27,131,42,131,8,131,60,131,77,131,22,131,36,131,32,131,55,131,47,131,41,131,71,131,69,131,76,131,83,131,30,131,44,131,75,131,39,131,72,131,83,134,82,134,162,134,168,134,150,134,141,134,145,134,158,134,135,134,151,134,134,134,139,134,154,134,133,134,165,134,153,134,161,134,167,134,149,134,152,134,142,134,157,134,144,134,148,134,67,136,68,136,109,136,117,136,118,136,114,136,128,136,113,136,127,136,111,136,131,136,126,136,116,136,124,136,18,138,71,140,87,140,123,140,164,140,163,140,118,141,120,141,181,141,183,141,182,141,209,142,211,142,254,143,245,143,2,144,255,143,251,143,4,144,252,143,246,143,214,144,224,144,217,144,218,144,227,144,223,144,229,144,216,144,219,144,215,144,220,144,228,144,80,145,78,145,79,145,213,145,226,145,218,145,92,150,95,150,188,150,227,152,223,154,47,155,127,78,112,80,106,80,97,80,94,80,96,80,83,80,75,80,93,80,114,80,72,80,77,80,65,80,91,80,74,80,98,80,21,80,69,80,95,80,105,80,107,80,99,80,100,80,70,80,64,80,110,80,115,80,87,80,81,80,208,81,107,82,109,82,108,82,110,82,214,82,211,82,45,83,156,83,117,85,118,85,60,85,77,85,80,85,52,85,42,85,81,85,98,85,54,85,53,85,48,85,82,85,69,85,12,85,50,85,101,85,78,85,57,85,72,85,45,85,59,85,64,85,75,85,10,87,7,87,251,87,20,88,226,87,246,87,220,87,244,87,0,88,237,87,253,87,8,88,248,87,11,88,243,87,207,87,7,88,238,87,227,87,242,87,229,87,236,87,225,87,14,88,252,87,16,88,231,87,1,88,12,88,241,87,233,87,240,87,13,88,4,88,92,89,96,90,88,90,85,90,103,90,94,90,56,90,53,90,109,90,80,90,95,90,101,90,108,90,83,90,100,90,87,90,67,90,93,90,82,90,68,90,91,90,72,90,142,90,62,90,77,90,57,90,76,90,112,90,105,90,71,90,81,90,86,90,66,90,92,90,114,91,110,91,193,91,192,91,89,92,30,93,11,93,29,93,26,93,32,93,12,93,40,93,13,93,38,93,37,93,15,93,48,93,18,93,35,93,31,93,46,93,62,94,52,94,177,94,180,94,185,94,178,94,179,94,54,95,56,95,155,95,150,95,159,95,138,96,144,96,134,96,190,96,176,96,186,96,211,96,212,96,207,96,228,96,217,96,221,96,200,96,177,96,219,96,183,96,202,96,191,96,195,96,205,96,192,96,50,99,101,99,138,99,130,99,125,99,189,99,158,99,173,99,157,99,151,99,171,99,142,99,111,99,135,99,144,99,110,99,175,99,117,99,156,99,109,99,174,99,124,99,164,99,59,99,159,99,120,99,133,99,129,99,145,99,141,99,112,99,83,101,205,101,101,102,97,102,91,102,89,102,92,102,98,102,24,103,121,104,135,104,144,104,156,104,109,104,110,104,174,104,171,104,86,105,111,104,163,104,172,104,169,104,117,104,116,104,178,104,143,104,119,104,146,104,124,104,107,104,114,104,170,104,128,104,113,104,126,104,155,104,150,104,139,104,160,104,137,104,164,104,120,104,123,104,145,104,140,104,138,104,125,104,54,107,51,107,55,107,56,107,145,107,143,107,141,107,142,107,140,107,42,108,192,109,171,109,180,109,179,109,116,110,172,109,233,109,226,109,183,109,246,109,212,109,0,110,200,109,224,109,223,109,214,109,190,109,229,109,220,109,221,109,219,109,244,109,202,109,189,109,237,109,240,109,186,109,213,109,194,109,207,109,201,109,208,109,242,109,211,109,253,109,215,109,205,109,227,109,187,109,250,112,13,113,247,112,23,113,244,112,12,113,240,112,4,113,243,112,16,113,252,112,255,112,6,113,19,113,0,113,248,112,246,112,11,113,2,113,14,113,126,114,123,114,124,114,127,114,29,115,23,115,7,115,17,115,24,115,10,115,8,115,255,114,15,115,30,115,136,115,246,115,248,115,245,115,4,116,1,116,253,115,7,116,0,116,250,115,252,115,255,115,12,116,11,116,244,115,8,116,100,117,99,117,206,117,210,117,207,117,203,117,204,117,209,117,208,117,143,118,137,118,211,118,57,119,47,119,45,119,49,119,50,119,52,119,51,119,61,119,37,119,59,119,53,119,72,120,82,120,73,120,77,120,74,120,76,120,38,120,69,120,80,120,100,121,103,121,105,121,106,121,99,121,107,121,97,121,187,121,250,121,248,121,246,121,247,121,143,122,148,122,144,122,53,123,71,123,52,123,37,123,48,123,34,123,36,123,51,123,24,123,42,123,29,123,49,123,43,123,45,123,47,123,50,123,56,123,26,123,35,123,148,124,152,124,150,124,163,124,53,125,61,125,56,125,54,125,58,125,69,125,44,125,41,125,65,125,71,125,62,125,63,125,74,125,59,125,40,125,99,127,149,127,156,127,157,127,155,127,202,127,203,127,205,127,208,127,209,127,199,127,207,127,201,127,31,128,30,128,27,128,71,128,67,128,72,128,24,129,37,129,25,129,27,129,45,129,31,129,44,129,30,129,33,129,21,129,39,129,29,129,34,129,17,130,56,130,51,130,58,130,52,130,50,130,116,130,144,131,163,131,168,131,141,131,122,131,115,131,164,131,116,131,143,131,129,131,149,131,153,131,117,131,148,131,169,131,125,131,131,131,140,131,157,131,155,131,170,131,139,131,126,131,165,131,175,131,136,131,151,131,176,131,127,131,166,131,135,131,174,131,118,131,154,131,89,134,86,134,191,134,183,134,194,134,193,134,197,134,186,134,176,134,200,134,185,134,179,134,184,134,204,134,180,134,187,134,188,134,195,134,189,134,190,134,82,136,137,136,149,136,168,136,162,136,170,136,154,136,145,136,161,136,159,136,152,136,167,136,153,136,155,136,151,136,164,136,172,136,140,136,147,136,142,136,130,137,214,137,217,137,213,137,48,138,39,138,44,138,30,138,57,140,59,140,92,140,93,140,125,140,165,140,125,141,123,141,121,141,188,141,194,141,185,141,191,141,193,141,216,142,222,142,221,142,220,142,215,142,224,142,225,142,36,144,11,144,17,144,28,144,12,144,33,144,239,144,234,144,240,144,244,144,242,144,243,144,212,144,235,144,236,144,233,144,86,145,88,145,90,145,83,145,85,145,236,145,244,145,241,145,243,145,248,145,228,145,249,145,234,145,235,145,247,145,232,145,238,145,122,149,134,149,136,149,124,150,109,150,107,150,113,150,111,150,191,150,106,151,4,152,229,152,151,153,155,80,149,80,148,80,158,80,139,80,163,80,131,80,140,80,142,80,157,80,104,80,156,80,146,80,130,80,135,80,95,81,212,81,18,83,17,83,164,83,167,83,145,85,168,85,165,85,173,85,119,85,69,86,162,85,147,85,136,85,143,85,181,85,129,85,163,85,146,85,164,85,125,85,140,85,166,85,127,85,149,85,161,85,142,85,12,87,41,88,55,88,25,88,30,88,39,88,35,88,40,88,245,87,72,88,37,88,28,88,27,88,51,88,63,88,54,88,46,88,57,88,56,88,45,88,44,88,59,88,97,89,175,90,148,90,159,90,122,90,162,90,158,90,120,90,166,90,124,90,165,90,172,90,149,90,174,90,55,90,132,90,138,90,151,90,131,90,139,90,169,90,123,90,125,90,140,90,156,90,143,90,147,90,157,90,234,91,205,91,203,91,212,91,209,91,202,91,206,91,12,92,48,92,55,93,67,93,107,93,65,93,75,93,63,93,53,93,81,93,78,93,85,93,51,93,58,93,82,93,61,93,49,93,89,93,66,93,57,93,73,93,56,93,60,93,50,93,54,93,64,93,69,93,68,94,65,94,88,95,166,95,165,95,171,95,201,96,185,96,204,96,226,96,206,96,196,96,20,97,242,96,10,97,22,97,5,97,245,96,19,97,248,96,252,96,254,96,193,96,3,97,24,97,29,97,16,97,255,96,4,97,11,97,74,98,148,99,177,99,176,99,206,99,229,99,232,99,239,99,195,99,157,100,243,99,202,99,224,99,246,99,213,99,242,99,245,99,97,100,223,99,190,99,221,99,220,99,196,99,216,99,211,99,194,99,199,99,204,99,203,99,200,99,240,99,215,99,217,99,50,101,103,101,106,101,100,101,92,101,104,101,101,101,140,101,157,101,158,101,174,101,208,101,210,101,124,102,108,102,123,102,128,102,113,102,121,102,106,102,114,102,1,103,12,105,211,104,4,105,220,104,42,105,236,104,234,104,241,104,15,105,214,104,247,104,235,104,228,104,246,104,19,105,16,105,243,104,225,104,7,105,204,104,8,105,112,105,180,104,17,105,239,104,198,104,20,105,248,104,208,104,253,104,252,104,232,104,11,105,10,105,23,105,206,104,200,104,221,104,222,104,230,104,244,104,209,104,6,105,212,104,233,104,21,105,37,105,199,104,57,107,59,107,63,107,60,107,148,107,151,107,153,107,149,107,189,107,240,107,242,107,243,107,48,108,252,109,70,110,71,110,31,110,73,110,136,110,60,110,61,110,69,110,98,110,43,110,63,110,65,110,93,110,115,110,28,110,51,110,75,110,64,110,81,110,59,110,3,110,46,110,94,110,104,110,92,110,97,110,49,110,40,110,96,110,113,110,107,110,57,110,34,110,48,110,83,110,101,110,39,110,120,110,100,110,119,110,85,110,121,110,82,110,102,110,53,110,54,110,90,110,32,113,30,113,47,113,251,112,46,113,49,113,35,113,37,113,34,113,50,113,31,113,40,113,58,113,27,113,75,114,90,114,136,114,137,114,134,114,133,114,139,114,18,115,11,115,48,115,34,115,49,115,51,115,39,115,50,115,45,115,38,115,35,115,53,115,12,115,46,116,44,116,48,116,43,116,22,116,26,116,33,116,45,116,49,116,36,116,35,116,29,116,41,116,32,116,50,116,251,116,47,117,111,117,108,117,231,117,218,117,225,117,230,117,221,117,223,117,228,117,215,117,149,118,146,118,218,118,70,119,71,119,68,119,77,119,69,119,74,119,78,119,75,119,76,119,222,119,236,119,96,120,100,120,101,120,92,120,109,120,113,120,106,120,110,120,112,120,105,120,104,120,94,120,98,120,116,121,115,121,114,121,112,121,2,122,10,122,3,122,12,122,4,122,153,122,230,122,228,122,74,123,59,123,68,123,72,123,76,123,78,123,64,123,88,123,69,123,162,124,158,124,168,124,161,124,88,125,111,125,99,125,83,125,86,125,103,125,106,125,79,125,109,125,92,125,107,125,82,125,84,125,105,125,81,125,95,125,78,125,62,127,63,127,101,127,102,127,162,127,160,127,161,127,215,127,81,128,79,128,80,128,254,128,212,128,67,129,74,129,82,129,79,129,71,129,61,129,77,129,58,129,230,129,238,129,247,129,248,129,249,129,4,130,60,130,61,130,63,130,117,130,59,131,207,131,249,131,35,132,192,131,232,131,18,132,231,131,228,131,252,131,246,131,16,132,198,131,200,131,235,131,227,131,191,131,1,132,221,131,229,131,216,131,255,131,225,131,203,131,206,131,214,131,245,131,201,131,9,132,15,132,222,131,17,132,6,132,194,131,243,131,213,131,250,131,199,131,209,131,234,131,19,132,195,131,236,131,238,131,196,131,251,131,215,131,226,131,27,132,219,131,254,131,216,134,226,134,230,134,211,134,227,134,218,134,234,134,221,134,235,134,220,134,236,134,233,134,215,134,232,134,209,134,72,136,86,136,85,136,186,136,215,136,185,136,184,136,192,136,190,136,182,136,188,136,183,136,189,136,178,136,1,137,201,136,149,137,152,137,151,137,221,137,218,137,219,137,78,138,77,138,57,138,89,138,64,138,87,138,88,138,68,138,69,138,82,138,72,138,81,138,74,138,76,138,79,138,95,140,129,140,128,140,186,140,190,140,176,140,185,140,181,140,132,141,128,141,137,141,216,141,211,141,205,141,199,141,214,141,220,141,207,141,213,141,217,141,200,141,215,141,197,141,239,142,247,142,250,142,249,142,230,142,238,142,229,142,245,142,231,142,232,142,246,142,235,142,241,142,236,142,244,142,233,142,45,144,52,144,47,144,6,145,44,145,4,145,255,144,252,144,8,145,249,144,251,144,1,145,0,145,7,145,5,145,3,145,97,145,100,145,95,145,98,145,96,145,1,146,10,146,37,146,3,146,26,146,38,146,15,146,12,146,0,146,18,146,255,145,253,145,6,146,4,146,39,146,2,146,28,146,36,146,25,146,23,146,5,146,22,146,123,149,141,149,140,149,144,149,135,150,126,150,136,150,137,150,131,150,128,150,194,150,200,150,195,150,241,150,240,150,108,151,112,151,110,151,7,152,169,152,235,152,230,156,249,158,131,78,132,78,182,78,189,80,191,80,198,80,174,80,196,80,202,80,180,80,200,80,194,80,176,80,193,80,186,80,177,80,203,80,201,80,182,80,184,80,215,81,122,82,120,82,123,82,124,82,195,85,219,85,204,85,208,85,203,85,202,85,221,85,192,85,212,85,196,85,233,85,191,85,210,85,141,85,207,85,213,85,226,85,214,85,200,85,242,85,205,85,217,85,194,85,20,87,83,88,104,88,100,88,79,88,77,88,73,88,111,88,85,88,78,88,93,88,89,88,101,88,91,88,61,88,99,88,113,88,252,88,199,90,196,90,203,90,186,90,184,90,177,90,181,90,176,90,191,90,200,90,187,90,198,90,183,90,192,90,202,90,180,90,182,90,205,90,185,90,144,90,214,91,216,91,217,91,31,92,51,92,113,93,99,93,74,93,101,93,114,93,108,93,94,93,104,93,103,93,98,93,240,93,79,94,78,94,74,94,77,94,75,94,197,94,204,94,198,94,203,94,199,94,64,95,175,95,173,95,247,96,73,97,74,97,43,97,69,97,54,97,50,97,46,97,70,97,47,97,79,97,41,97,64,97,32,98,104,145,35,98,37,98,36,98,197,99,241,99,235,99,16,100,18,100,9,100,32,100,36,100,51,100,67,100,31,100,21,100,24,100,57,100,55,100,34,100,35,100,12,100,38,100,48,100,40,100,65,100,53,100,47,100,10,100,26,100,64,100,37,100,39,100,11,100,231,99,27,100,46,100,33,100,14,100,111,101,146,101,211,101,134,102,140,102,149,102,144,102,139,102,138,102,153,102,148,102,120,102,32,103,102,105,95,105,56,105,78,105,98,105,113,105,63,105,69,105,106,105,57,105,66,105,87,105,89,105,122,105,72,105,73,105,53,105,108,105,51,105,61,105,101,105,240,104,120,105,52,105,105,105,64,105,111,105,68,105,118,105,88,105,65,105,116,105,76,105,59,105,75,105,55,105,92,105,79,105,81,105,50,105,82,105,47,105,123,105,60,105,70,107,69,107,67,107,66,107,72,107,65,107,155,107,251,107,252,107,249,107,247,107,248,107,155,110,214,110,200,110,143,110,192,110,159,110,147,110,148,110,160,110,177,110,185,110,198,110,210,110,189,110,193,110,158,110,201,110,183,110,176,110,205,110,166,110,207,110,178,110,190,110,195,110,220,110,216,110,153,110,146,110,142,110,141,110,164,110,161,110,191,110,179,110,208,110,202,110,151,110,174,110,163,110,71,113,84,113,82,113,99,113,96,113,65,113,93,113,98,113,114,113,120,113,106,113,97,113,66,113,88,113,67,113,75,113,112,113,95,113,80,113,83,113,68,113,77,113,90,113,79,114,141,114,140,114,145,114,144,114,142,114,60,115,66,115,59,115,58,115,64,115,74,115,73,115,68,116,74,116,75,116,82,116,81,116,87,116,64,116,79,116,80,116,78,116,66,116,70,116,77,116,84,116,225,116,255,116,254,116,253,116,29,117,121,117,119,117,131,105,239,117,15,118,3,118,247,117,254,117,252,117,249,117,248,117,16,118,251,117,246,117,237,117,245,117,253,117,153,118,181,118,221,118,85,119,95,119,96,119,82,119,86,119,90,119,105,119,103,119,84,119,89,119,109,119,224,119,135,120,154,120,148,120,143,120,132,120,149,120,133,120,134,120,161,120,131,120,121,120,153,120,128,120,150,120,123,120,124,121,130,121,125,121,121,121,17,122,24,122,25,122,18,122,23,122,21,122,34,122,19,122,27,122,16,122,163,122,162,122,158,122,235,122,102,123,100,123,109,123,116,123,105,123,114,123,101,123,115,123,113,123,112,123,97,123,120,123,118,123,99,123,178,124,180,124,175,124,136,125,134,125,128,125,141,125,127,125,133,125,122,125,142,125,123,125,131,125,124,125,140,125,148,125,132,125,125,125,146,125,109,127,107,127,103,127,104,127,108,127,166,127,165,127,167,127,219,127,220,127,33,128,100,129,96,129,119,129,92,129,105,129,91,129,98,129,114,129,33,103,94,129,118,129,103,129,111,129,68,129,97,129,29,130,73,130,68,130,64,130,66,130,69,130,241,132,63,132,86,132,118,132,121,132,143,132,141,132,101,132,81,132,64,132,134,132,103,132,48,132,77,132,125,132,90,132,89,132,116,132,115,132,93,132,7,133,94,132,55,132,58,132,52,132,122,132,67,132,120,132,50,132,69,132,41,132,217,131,75,132,47,132,66,132,45,132,95,132,112,132,57,132,78,132,76,132,82,132,111,132,197,132,142,132,59,132,71,132,54,132,51,132,104,132,126,132,68,132,43,132,96,132,84,132,110,132,80,132,11,135,4,135,247,134,12,135,250,134,214,134,245,134,77,135,248,134,14,135,9,135,1,135,246,134,13,135,5,135,214,136,203,136,205,136,206,136,222,136,219,136,218,136,204,136,208,136,133,137,155,137,223,137,229,137,228,137,225,137,224,137,226,137,220,137,230,137,118,138,134,138,127,138,97,138,63,138,119,138,130,138,132,138,117,138,131,138,129,138,116,138,122,138,60,140,75,140,74,140,101,140,100,140,102,140,134,140,132,140,133,140,204,140,104,141,105,141,145,141,140,141,142,141,143,141,141,141,147,141,148,141,144,141,146,141,240,141,224,141,236,141,241,141,238,141,208,141,233,141,227,141,226,141,231,141,242,141,235,141,244,141,6,143,255,142,1,143,0,143,5,143,7,143,8,143,2,143,11,143,82,144,63,144,68,144,73,144,61,144,16,145,13,145,15,145,17,145,22,145,20,145,11,145,14,145,110,145,111,145,72,146,82,146,48,146,58,146,102,146,51,146,101,146,94,146,131,146,46,146,74,146,70,146,109,146,108,146,79,146,96,146,103,146,111,146,54,146,97,146,112,146,49,146,84,146,99,146,80,146,114,146,78,146,83,146,76,146,86,146,50,146,159,149,156,149,158,149,155,149,146,150,147,150,145,150,151,150,206,150,250,150,253,150,248,150,245,150,115,151,119,151,120,151,114,151,15,152,13,152,14,152,172,152,246,152,249,152,175,153,178,153,176,153,181,153,173,154,171,154,91,155,234,156,237,156,231,156,128,158,253,158,230,80,212,80,215,80,232,80,243,80,219,80,234,80,221,80,228,80,211,80,236,80,240,80,239,80,227,80,224,80,216,81,128,82,129,82,233,82,235,82,48,83,172,83,39,86,21,86,12,86,18,86,252,85,15,86,28,86,1,86,19,86,2,86,250,85,29,86,4,86,255,85,249,85,137,88,124,88,144,88,152,88,134,88,129,88,127,88,116,88,139,88,122,88,135,88,145,88,142,88,118,88,130,88,136,88,123,88,148,88,143,88,254,88,107,89,220,90,238,90,229,90,213,90,234,90,218,90,237,90,235,90,243,90,226,90,224,90,219,90,236,90,222,90,221,90,217,90,232,90,223,90,119,91,224,91,227,91,99,92,130,93,128,93,125,93,134,93,122,93,129,93,119,93,138,93,137,93,136,93,126,93,124,93,141,93,121,93,127,93,88,94,89,94,83,94,216,94,209,94,215,94,206,94,220,94,213,94,217,94,210,94,212,94,68,95,67,95,111,95,182,95,44,97,40,97,65,97,94,97,113,97,115,97,82,97,83,97,114,97,108,97,128,97,116,97,84,97,122,97,91,97,101,97,59,97,106,97,97,97,86,97,41,98,39,98,43,98,43,100,77,100,91,100,93,100,116,100,118,100,114,100,115,100,125,100,117,100,102,100,166,100,78,100,130,100,94,100,92,100,75,100,83,100,96,100,80,100,127,100,63,100,108,100,107,100,89,100,101,100,119,100,115,101,160,101,161,102,160,102,159,102,5,103,4,103,34,103,177,105,182,105,201,105,160,105,206,105,150,105,176,105,172,105,188,105,145,105,153,105,142,105,167,105,141,105,169,105,190,105,175,105,191,105,196,105,189,105,164,105,212,105,185,105,202,105,154,105,207,105,179,105,147,105,170,105,161,105,158,105,217,105,151,105,144,105,194,105,181,105,165,105,198,105,74,107,77,107,75,107,158,107,159,107,160,107,195,107,196,107,254,107,206,110,245,110,241,110,3,111,37,111,248,110,55,111,251,110,46,111,9,111,78,111,25,111,26,111,39,111,24,111,59,111,18,111,237,110,10,111,54,111,115,111,249,110,238,110,45,111,64,111,48,111,60,111,53,111,235,110,7,111,14,111,67,111,5,111,253,110,246,110,57,111,28,111,252,110,58,111,31,111,13,111,30,111,8,111,33,111,135,113,144,113,137,113,128,113,133,113,130,113,143,113,123,113,134,113,129,113,151,113,68,114,83,114,151,114,149,114,147,114,67,115,77,115,81,115,76,115,98,116,115,116,113,116,117,116,114,116,103,116,110,116,0,117,2,117,3,117,125,117,144,117,22,118,8,118,12,118,21,118,17,118,10,118,20,118,184,118,129,119,124,119,133,119,130,119,110,119,128,119,111,119,126,119,131,119,178,120,170,120,180,120,173,120,168,120,126,120,171,120,158,120,165,120,160,120,172,120,162,120,164,120,152,121,138,121,139,121,150,121,149,121,148,121,147,121,151,121,136,121,146,121,144,121,43,122,74,122,48,122,47,122,40,122,38,122,168,122,171,122,172,122,238,122,136,123,156,123,138,123,145,123,144,123,150,123,141,123,140,123,155,123,142,123,133,123,152,123,132,82,153,123,164,123,130,123,187,124,191,124,188,124,186,124,167,125,183,125,194,125,163,125,170,125,193,125,192,125,197,125,157,125,206,125,196,125,198,125,203,125,204,125,175,125,185,125,150,125,188,125,159,125,166,125,174,125,169,125,161,125,201,125,115,127,226,127,227,127,229,127,222,127,36,128,93,128,92,128,137,129,134,129,131,129,135,129,141,129,140,129,139,129,21,130,151,132,164,132,161,132,159,132,186,132,206,132,194,132,172,132,174,132,171,132,185,132,180,132,193,132,205,132,170,132,154,132,177,132,208,132,157,132,167,132,187,132,162,132,148,132,199,132,204,132,155,132,169,132,175,132,168,132,214,132,152,132,182,132,207,132,160,132,215,132,212,132,210,132,219,132,176,132,145,132,97,134,51,135,35,135,40,135,107,135,64,135,46,135,30,135,33,135,25,135,27,135,67,135,44,135,65,135,62,135,70,135,32,135,50,135,42,135,45,135,60,135,18,135,58,135,49,135,53,135,66,135,38,135,39,135,56,135,36,135,26,135,48,135,17,135,247,136,231,136,241,136,242,136,250,136,254,136,238,136,252,136,246,136,251,136,240,136,236,136,235,136,157,137,161,137,159,137,158,137,233,137,235,137,232,137,171,138,153,138,139,138,146,138,143,138,150,138,61,140,104,140,105,140,213,140,207,140,215,140,150,141,9,142,2,142,255,141,13,142,253,141,10,142,3,142,7,142,6,142,5,142,254,141,0,142,4,142,16,143,17,143,14,143,13,143,35,145,28,145,32,145,34,145,31,145,29,145,26,145,36,145,33,145,27,145,122,145,114,145,121,145,115,145,165,146,164,146,118,146,155,146,122,146,160,146,148,146,170,146,141,146,166,146,154,146,171,146,121,146,151,146,127,146,163,146,238,146,142,146,130,146,149,146,162,146,125,146,136,146,161,146,138,146,134,146,140,146,153,146,167,146,126,146,135,146,169,146,157,146,139,146,45,146,158,150,161,150,255,150,88,151,125,151,122,151,126,151,131,151,128,151,130,151,123,151,132,151,129,151,127,151,206,151,205,151,22,152,173,152,174,152,2,153,0,153,7,153,157,153,156,153,195,153,185,153,187,153,186,153,194,153,189,153,199,153,177,154,227,154,231,154,62,155,63,155,96,155,97,155,95,155,241,156,242,156,245,156,167,158,255,80,3,81,48,81,248,80,6,81,7,81,246,80,254,80,11,81,12,81,253,80,10,81,139,82,140,82,241,82,239,82,72,86,66,86,76,86,53,86,65,86,74,86,73,86,70,86,88,86,90,86,64,86,51,86,61,86,44,86,62,86,56,86,42,86,58,86,26,87,171,88,157,88,177,88,160,88,163,88,175,88,172,88,165,88,161,88,255,88,255,90,244,90,253,90,247,90,246,90,3,91,248,90,2,91,249,90,1,91,7,91,5,91,15,91,103,92,153,93,151,93,159,93,146,93,162,93,147,93,149,93,160,93,156,93,161,93,154,93,158,93,105,94,93,94,96,94,92,94,243,125,219,94,222,94,225,94,73,95,178,95,139,97,131,97,121,97,177,97,176,97,162,97,137,97,155,97,147,97,175,97,173,97,159,97,146,97,170,97,161,97,141,97,102,97,179,97,45,98,110,100,112,100,150,100,160,100,133,100,151,100,156,100,143,100,139,100,138,100,140,100,163,100,159,100,104,100,177,100,152,100,118,101,122,101,121,101,123,101,178,101,179,101,181,102,176,102,169,102,178,102,183,102,170,102,175,102,0,106,6,106,23,106,229,105,248,105,21,106,241,105,228,105,32,106,255,105,236,105,226,105,27,106,29,106,254,105,39,106,242,105,238,105,20,106,247,105,231,105,64,106,8,106,230,105,251,105,13,106,252,105,235,105,9,106,4,106,24,106,37,106,15,106,246,105,38,106,7,106,244,105,22,106,81,107,165,107,163,107,162,107,166,107,1,108,0,108,255,107,2,108,65,111,38,111,126,111,135,111,198,111,146,111,141,111,137,111,140,111,98,111,79,111,133,111,90,111,150,111,118,111,108,111,130,111,85,111,114,111,82,111,80,111,87,111,148,111,147,111,93,111,0,111,97,111,107,111,125,111,103,111,144,111,83,111,139,111,105,111,127,111,149,111,99,111,119,111,106,111,123,111,178,113,175,113,155,113,176,113,160,113,154,113,169,113,181,113,157,113,165,113,158,113,164,113,161,113,170,113,156,113,167,113,179,113,152,114,154,114,88,115,82,115,94,115,95,115,96,115,93,115,91,115,97,115,90,115,89,115,98,115,135,116,137,116,138,116,134,116,129,116,125,116,133,116,136,116,124,116,121,116,8,117,7,117,126,117,37,118,30,118,25,118,29,118,28,118,35,118,26,118,40,118,27,118,156,118,157,118,158,118,155,118,141,119,143,119,137,119,136,119,205,120,187,120,207,120,204,120,209,120,206,120,212,120,200,120,195,120,196,120,201,120,154,121,161,121,160,121,156,121,162,121,155,121,118,107,57,122,178,122,180,122,179,122,183,123,203,123,190,123,172,123,206,123,175,123,185,123,202,123,181,123,197,124,200,124,204,124,203,124,247,125,219,125,234,125,231,125,215,125,225,125,3,126,250,125,230,125,246,125,241,125,240,125,238,125,223,125,118,127,172,127,176,127,173,127,237,127,235,127,234,127,236,127,230,127,232,127,100,128,103,128,163,129,159,129,158,129,149,129,162,129,153,129,151,129,22,130,79,130,83,130,82,130,80,130,78,130,81,130,36,133,59,133,15,133,0,133,41,133,14,133,9,133,13,133,31,133,10,133,39,133,28,133,251,132,43,133,250,132,8,133,12,133,244,132,42,133,242,132,21,133,247,132,235,132,243,132,252,132,18,133,234,132,233,132,22,133,254,132,40,133,29,133,46,133,2,133,253,132,30,133,246,132,49,133,38,133,231,132,232,132,240,132,239,132,249,132,24,133,32,133,48,133,11,133,25,133,47,133,98,134,86,135,99,135,100,135,119,135,225,135,115,135,88,135,84,135,91,135,82,135,97,135,90,135,81,135,94,135,109,135,106,135,80,135,78,135,95,135,93,135,111,135,108,135,122,135,110,135,92,135,101,135,79,135,123,135,117,135,98,135,103,135,105,135,90,136,5,137,12,137,20,137,11,137,23,137,24,137,25,137,6,137,22,137,17,137,14,137,9,137,162,137,164,137,163,137,237,137,240,137,236,137,207,138,198,138,184,138,211,138,209,138,212,138,213,138,187,138,215,138,190,138,192,138,197,138,216,138,195,138,186,138,189,138,217,138,62,140,77,140,143,140,229,140,223,140,217,140,232,140,218,140,221,140,231,140,160,141,156,141,161,141,155,141,32,142,35,142,37,142,36,142,46,142,21,142,27,142,22,142,17,142,25,142,38,142,39,142,20,142,18,142,24,142,19,142,28,142,23,142,26,142,44,143,36,143,24,143,26,143,32,143,35,143,22,143,23,143,115,144,112,144,111,144,103,144,107,144,47,145,43,145,41,145,42,145,50,145,38,145,46,145,133,145,134,145,138,145,129,145,130,145,132,145,128,145,208,146,195,146,196,146,192,146,217,146,182,146,207,146,241,146,223,146,216,146,233,146,215,146,221,146,204,146,239,146,194,146,232,146,202,146,200,146,206,146,230,146,205,146,213,146,201,146,224,146,222,146,231,146,209,146,211,146,181,146,225,146,198,146,180,146,124,149,172,149,171,149,174,149,176,149,164,150,162,150,211,150,5,151,8,151,2,151,90,151,138,151,142,151,136,151,208,151,207,151,30,152,29,152,38,152,41,152,40,152,32,152,27,152,39,152,178,152,8,153,250,152,17,153,20,153,22,153,23,153,21,153,220,153,205,153,207,153,211,153,212,153,206,153,201,153,214,153,216,153,203,153,215,153,204,153,179,154,236,154,235,154,243,154,242,154,241,154,70,155,67,155,103,155,116,155,113,155,102,155,118,155,117,155,112,155,104,155,100,155,108,155,252,156,250,156,253,156,255,156,247,156,7,157,0,157,249,156,251,156,8,157,5,157,4,157,131,158,211,158,15,159,16,159,28,81,19,81,23,81,26,81,17,81,222,81,52,83,225,83,112,86,96,86,110,86,115,86,102,86,99,86,109,86,114,86,94,86,119,86,28,87,27,87,200,88,189,88,201,88,191,88,186,88,194,88,188,88,198,88,23,91,25,91,27,91,33,91,20,91,19,91,16,91,22,91,40,91,26,91,32,91,30,91,239,91,172,93,177,93,169,93,167,93,181,93,176,93,174,93,170,93,168,93,178,93,173,93,175,93,180,93,103,94,104,94,102,94,111,94,233,94,231,94,230,94,232,94,229,94,75,95,188,95,157,97,168,97,150,97,197,97,180,97,198,97,193,97,204,97,186,97,191,97,184,97,140,97,215,100,214,100,208,100,207,100,201,100,189,100,137,100,195,100,219,100,243,100,217,100,51,101,127,101,124,101,162,101,200,102,190,102,192,102,202,102,203,102,207,102,189,102,187,102,186,102,204,102,35,103,52,106,102,106,73,106,103,106,50,106,104,106,62,106,93,106,109,106,118,106,91,106,81,106,40,106,90,106,59,106,63,106,65,106,106,106,100,106,80,106,79,106,84,106,111,106,105,106,96,106,60,106,94,106,86,106,85,106,77,106,78,106,70,106,85,107,84,107,86,107,167,107,170,107,171,107,200,107,199,107,4,108,3,108,6,108,173,111,203,111,163,111,199,111,188,111,206,111,200,111,94,111,196,111,189,111,158,111,202,111,168,111,4,112,165,111,174,111,186,111,172,111,170,111,207,111,191,111,184,111,162,111,201,111,171,111,205,111,175,111,178,111,176,111,197,113,194,113,191,113,184,113,214,113,192,113,193,113,203,113,212,113,202,113,199,113,207,113,189,113,216,113,188,113,198,113,218,113,219,113,157,114,158,114,105,115,102,115,103,115,108,115,101,115,107,115,106,115,127,116,154,116,160,116,148,116,146,116,149,116,161,116,11,117,128,117,47,118,45,118,49,118,61,118,51,118,60,118,53,118,50,118,48,118,187,118,230,118,154,119,157,119,161,119,156,119,155,119,162,119,163,119,149,119,153,119,151,119,221,120,233,120,229,120,234,120,222,120,227,120,219,120,225,120,226,120,237,120,223,120,224,120,164,121,68,122,72,122,71,122,182,122,184,122,181,122,177,122,183,122,222,123,227,123,231,123,221,123,213,123,229,123,218,123,232,123,249,123,212,123,234,123,226,123,220,123,235,123,216,123,223,123,210,124,212,124,215,124,208,124,209,124,18,126,33,126,23,126,12,126,31,126,32,126,19,126,14,126,28,126,21,126,26,126,34,126,11,126,15,126,22,126,13,126,20,126,37,126,36,126,67,127,123,127,124,127,122,127,177,127,239,127,42,128,41,128,108,128,177,129,166,129,174,129,185,129,181,129,171,129,176,129,172,129,180,129,178,129,183,129,167,129,242,129,85,130,86,130,87,130,86,133,69,133,107,133,77,133,83,133,97,133,88,133,64,133,70,133,100,133,65,133,98,133,68,133,81,133,71,133,99,133,62,133,91,133,113,133,78,133,110,133,117,133,85,133,103,133,96,133,140,133,102,133,93,133,84,133,101,133,108,133,99,134,101,134,100,134,155,135,143,135,151,135,147,135,146,135,136,135,129,135,150,135,152,135,121,135,135,135,163,135,133,135,144,135,145,135,157,135,132,135,148,135,156,135,154,135,137,135,30,137,38,137,48,137,45,137,46,137,39,137,49,137,34,137,41,137,35,137,47,137,44,137,31,137,241,137,224,138,226,138,242,138,244,138,245,138,221,138,20,139,228,138,223,138,240,138,200,138,222,138,225,138,232,138,255,138,239,138,251,138,145,140,146,140,144,140,245,140,238,140,241,140,240,140,243,140,108,141,110,141,165,141,167,141,51,142,62,142,56,142,64,142,69,142,54,142,60,142,61,142,65,142,48,142,63,142,189,142,54,143,46,143,53,143,50,143,57,143,55,143,52,143,118,144,121,144,123,144,134,144,250,144,51,145,53,145,54,145,147,145,144,145,145,145,141,145,143,145,39,147,30,147,8,147,31,147,6,147,15,147,122,147,56,147,60,147,27,147,35,147,18,147,1,147,70,147,45,147,14,147,13,147,203,146,29,147,250,146,37,147,19,147,249,146,247,146,52,147,2,147,36,147,255,146,41,147,57,147,53,147,42,147,20,147,12,147,11,147,254,146,9,147,0,147,251,146,22,147,188,149,205,149,190,149,185,149,186,149,182,149,191,149,181,149,189,149,169,150,212,150,11,151,18,151,16,151,153,151,151,151,148,151,240,151,248,151,53,152,47,152,50,152,36,153,31,153,39,153,41,153,158,153,238,153,236,153,229,153,228,153,240,153,227,153,234,153,233,153,231,153,185,154,191,154,180,154,187,154,246,154,250,154,249,154,247,154,51,155,128,155,133,155,135,155,124,155,126,155,123,155,130,155,147,155,146,155,144,155,122,155,149,155,125,155,136,155,37,157,23,157,32,157,30,157,20,157,41,157,29,157,24,157,34,157,16,157,25,157,31,157,136,158,134,158,135,158,174,158,173,158,213,158,214,158,250,158,18,159,61,159,38,81,37,81,34,81,36,81,32,81,41,81,244,82,147,86,140,86,141,86,134,86,132,86,131,86,126,86,130,86,127,86,129,86,214,88,212,88,207,88,210,88,45,91,37,91,50,91,35,91,44,91,39,91,38,91,47,91,46,91,123,91,241,91,242,91,183,93,108,94,106,94,190,95,187,95,195,97,181,97,188,97,231,97,224,97,229,97,228,97,232,97,222,97,239,100,233,100,227,100,235,100,228,100,232,100,129,101,128,101,182,101,218,101,210,102,141,106,150,106,129,106,165,106,137,106,159,106,155,106,161,106,158,106,135,106,147,106,142,106,149,106,131,106,168,106,164,106,145,106,127,106,166,106,154,106,133,106,140,106,146,106,91,107,173,107,9,108,204,111,169,111,244,111,212,111,227,111,220,111,237,111,231,111,230,111,222,111,242,111,221,111,226,111,232,111,225,113,241,113,232,113,242,113,228,113,240,113,226,113,115,115,110,115,111,115,151,116,178,116,171,116,144,116,170,116,173,116,177,116,165,116,175,116,16,117,17,117,18,117,15,117,132,117,67,118,72,118,73,118,71,118,164,118,233,118,181,119,171,119,178,119,183,119,182,119,180,119,177,119,168,119,240,119,243,120,253,120,2,121,251,120,252,120,242,120,5,121,249,120,254,120,4,121,171,121,168,121,92,122,91,122,86,122,88,122,84,122,90,122,190,122,192,122,193,122,5,124,15,124,242,123,0,124,255,123,251,123,14,124,244,123,11,124,243,123,2,124,9,124,3,124,1,124,248,123,253,123,6,124,240,123,241,123,16,124,10,124,232,124,45,126,60,126,66,126,51,126,72,152,56,126,42,126,73,126,64,126,71,126,41,126,76,126,48,126,59,126,54,126,68,126,58,126,69,127,127,127,126,127,125,127,244,127,242,127,44,128,187,129,196,129,204,129,202,129,197,129,199,129,188,129,233,129,91,130,90,130,92,130,131,133,128,133,143,133,167,133,149,133,160,133,139,133,163,133,123,133,164,133,154,133,158,133,119,133,124,133,137,133,161,133,122,133,120,133,87,133,142,133,150,133,134,133,141,133,153,133,157,133,129,133,162,133,130,133,136,133,133,133,121,133,118,133,152,133,144,133,159,133,104,134,190,135,170,135,173,135,197,135,176,135,172,135,185,135,181,135,188,135,174,135,201,135,195,135,194,135,204,135,183,135,175,135,196,135,202,135,180,135,182,135,191,135,184,135,189,135,222,135,178,135,53,137,51,137,60,137,62,137,65,137,82,137,55,137,66,137,173,137,175,137,174,137,242,137,243,137,30,139,24,139,22,139,17,139,5,139,11,139,34,139,15,139,18,139,21,139,7,139,13,139,8,139,6,139,28,139,19,139,26,139,79,140,112,140,114,140,113,140,111,140,149,140,148,140,249,140,111,141,78,142,77,142,83,142,80,142,76,142,71,142,67,143,64,143,133,144,126,144,56,145,154,145,162,145,155,145,153,145,159,145,161,145,157,145,160,145,161,147,131,147,175,147,100,147,86,147,71,147,124,147,88,147,92,147,118,147,73,147,80,147,81,147,96,147,109,147,143,147,76,147,106,147,121,147,87,147,85,147,82,147,79,147,113,147,119,147,123,147,97,147,94,147,99,147,103,147,128,147,78,147,89,147,199,149,192,149,201,149,195,149,197,149,183,149,174,150,176,150,172,150,32,151,31,151,24,151,29,151,25,151,154,151,161,151,156,151,158,151,157,151,213,151,212,151,241,151,65,152,68,152,74,152,73,152,69,152,67,152,37,153,43,153,44,153,42,153,51,153,50,153,47,153,45,153,49,153,48,153,152,153,163,153,161,153,2,154,250,153,244,153,247,153,249,153,248,153,246,153,251,153,253,153,254,153,252,153,3,154,190,154,254,154,253,154,1,155,252,154,72,155,154,155,168,155,158,155,155,155,166,155,161,155,165,155,164,155,134,155,162,155,160,155,175,155,51,157,65,157,103,157,54,157,46,157,47,157,49,157,56,157,48,157,69,157,66,157,67,157,62,157,55,157,64,157,61,157,245,127,45,157,138,158,137,158,141,158,176,158,200,158,218,158,251,158,255,158,36,159,35,159,34,159,84,159,160,159,49,81,45,81,46,81,152,86,156,86,151,86,154,86,157,86,153,86,112,89,60,91,105,92,106,92,192,93,109,94,110,94,216,97,223,97,237,97,238,97,241,97,234,97,240,97,235,97,214,97,233,97,255,100,4,101,253,100,248,100,1,101,3,101,252,100,148,101,219,101,218,102,219,102,216,102,197,106,185,106,189,106,225,106,198,106,186,106,182,106,183,106,199,106,180,106,173,106,94,107,201,107,11,108,7,112,12,112,13,112,1,112,5,112,20,112,14,112,255,111,0,112,251,111,38,112,252,111,247,111,10,112,1,114,255,113,249,113,3,114,253,113,118,115,184,116,192,116,181,116,193,116,190,116,182,116,187,116,194,116,20,117,19,117,92,118,100,118,89,118,80,118,83,118,87,118,90,118,166,118,189,118,236,118,194,119,186,119,255,120,12,121,19,121,20,121,9,121,16,121,18,121,17,121,173,121,172,121,95,122,28,124,41,124,25,124,32,124,31,124,45,124,29,124,38,124,40,124,34,124,37,124,48,124,92,126,80,126,86,126,99,126,88,126,98,126,95,126,81,126,96,126,87,126,83,126,181,127,179,127,247,127,248,127,117,128,209,129,210,129,208,129,95,130,94,130,180,133,198,133,192,133,195,133,194,133,179,133,181,133,189,133,199,133,196,133,191,133,203,133,206,133,200,133,197,133,177,133,182,133,210,133,36,134,184,133,183,133,190,133,105,134,231,135,230,135,226,135,219,135,235,135,234,135,229,135,223,135,243,135,228,135,212,135,220,135,211,135,237,135,216,135,227,135,164,135,215,135,217,135,1,136,244,135,232,135,221,135,83,137,75,137,79,137,76,137,70,137,80,137,81,137,73,137,42,139,39,139,35,139,51,139,48,139,53,139,71,139,47,139,60,139,62,139,49,139,37,139,55,139,38,139,54,139,46,139,36,139,59,139,61,139,58,139,66,140,117,140,153,140,152,140,151,140,254,140,4,141,2,141,0,141,92,142,98,142,96,142,87,142,86,142,94,142,101,142,103,142,91,142,90,142,97,142,93,142,105,142,84,142,70,143,71,143,72,143,75,143,40,145,58,145,59,145,62,145,168,145,165,145,167,145,175,145,170,145,181,147,140,147,146,147,183,147,155,147,157,147,137,147,167,147,142,147,170,147,158,147,166,147,149,147,136,147,153,147,159,147,141,147,177,147,145,147,178,147,164,147,168,147,180,147,163,147,165,147,210,149,211,149,209,149,179,150,215,150,218,150,194,93,223,150,216,150,221,150,35,151,34,151,37,151,172,151,174,151,168,151,171,151,164,151,170,151,162,151,165,151,215,151,217,151,214,151,216,151,250,151,80,152,81,152,82,152,184,152,65,153,60,153,58,153,15,154,11,154,9,154,13,154,4,154,17,154,10,154,5,154,7,154,6,154,192,154,220,154,8,155,4,155,5,155,41,155,53,155,74,155,76,155,75,155,199,155,198,155,195,155,191,155,193,155,181,155,184,155,211,155,182,155,196,155,185,155,189,155,92,157,83,157,79,157,74,157,91,157,75,157,89,157,86,157,76,157,87,157,82,157,84,157,95,157,88,157,90,157,142,158,140,158,223,158,1,159,0,159,22,159,37,159,43,159,42,159,41,159,40,159,76,159,85,159,52,81,53,81,150,82,247,82,180,83,171,86,173,86,166,86,167,86,170,86,172,86,218,88,221,88,219,88,18,89,61,91,62,91,63,91,195,93,112,94,191,95,251,97,7,101,16,101,13,101,9,101,12,101,14,101,132,101,222,101,221,101,222,102,231,106,224,106,204,106,209,106,217,106,203,106,223,106,220,106,208,106,235,106,207,106,205,106,222,106,96,107,176,107,12,108,25,112,39,112,32,112,22,112,43,112,33,112,34,112,35,112,41,112,23,112,36,112,28,112,42,112,12,114,10,114,7,114,2,114,5,114,165,114,166,114,164,114,163,114,161,114,203,116,197,116,183,116,195,116,22,117,96,118,201,119,202,119,196,119,241,119,29,121,27,121,33,121,28,121,23,121,30,121,176,121,103,122,104,122,51,124,60,124,57,124,44,124,59,124,236,124,234,124,118,126,117,126,120,126,112,126,119,126,111,126,122,126,114,126,116,126,104,126,75,127,74,127,131,127,134,127,183,127,253,127,254,127,120,128,215,129,213,129,100,130,97,130,99,130,235,133,241,133,237,133,217,133,225,133,232,133,218,133,215,133,236,133,242,133,248,133,216,133,223,133,227,133,220,133,209,133,240,133,230,133,239,133,222,133,226,133,0,136,250,135,3,136,246,135,247,135,9,136,12,136,11,136,6,136,252,135,8,136,255,135,10,136,2,136,98,137,90,137,91,137,87,137,97,137,92,137,88,137,93,137,89,137,136,137,183,137,182,137,246,137,80,139,72,139,74,139,64,139,83,139,86,139,84,139,75,139,85,139,81,139,66,139,82,139,87,139,67,140,119,140,118,140,154,140,6,141,7,141,9,141,172,141,170,141,173,141,171,141,109,142,120,142,115,142,106,142,111,142,123,142,194,142,82,143,81,143,79,143,80,143,83,143,180,143,64,145,63,145,176,145,173,145,222,147,199,147,207,147,194,147,218,147,208,147,249,147,236,147,204,147,217,147,169,147,230,147,202,147,212,147,238,147,227,147,213,147,196,147,206,147,192,147,210,147,231,147,125,149,218,149,219,149,225,150,41,151,43,151,44,151,40,151,38,151,179,151,183,151,182,151,221,151,222,151,223,151,92,152,89,152,93,152,87,152,191,152,189,152,187,152,190,152,72,153,71,153,67,153,166,153,167,153,26,154,21,154,37,154,29,154,36,154,27,154,34,154,32,154,39,154,35,154,30,154,28,154,20,154,194,154,11,155,10,155,14,155,12,155,55,155,234,155,235,155,224,155,222,155,228,155,230,155,226,155,240,155,212,155,215,155,236,155,220,155,217,155,229,155,213,155,225,155,218,155,119,157,129,157,138,157,132,157,136,157,113,157,128,157,120,157,134,157,139,157,140,157,125,157,107,157,116,157,117,157,112,157,105,157,133,157,115,157,123,157,130,157,111,157,121,157,127,157,135,157,104,157,148,158,145,158,192,158,252,158,45,159,64,159,65,159,77,159,86,159,87,159,88,159,55,83,178,86,181,86,179,86,227,88,69,91,198,93,199,93,238,94,239,94,192,95,193,95,249,97,23,101,22,101,21,101,19,101,223,101,232,102,227,102,228,102,243,106,240,106,234,106,232,106,249,106,241,106,238,106,239,106,60,112,53,112,47,112,55,112,52,112,49,112,66,112,56,112,63,112,58,112,57,112,64,112,59,112,51,112,65,112,19,114,20,114,168,114,125,115,124,115,186,116,171,118,170,118,190,118,237,118,204,119,206,119,207,119,205,119,242,119,37,121,35,121,39,121,40,121,36,121,41,121,178,121,110,122,108,122,109,122,247,122,73,124,72,124,74,124,71,124,69,124,238,124,123,126,126,126,129,126,128,126,186,127,255,127,121,128,219,129,217,129,11,130,104,130,105,130,34,134,255,133,1,134,254,133,27,134,0,134,246,133,4,134,9,134,5,134,12,134,253,133,25,136,16,136,17,136,23,136,19,136,22,136,99,137,102,137,185,137,247,137,96,139,106,139,93,139,104,139,99,139,101,139,103,139,109,139,174,141,134,142,136,142,132,142,89,143,86,143,87,143,85,143,88,143,90,143,141,144,67,145,65,145,183,145,181,145,178,145,179,145,11,148,19,148,251,147,32,148,15,148,20,148,254,147,21,148,16,148,40,148,25,148,13,148,245,147,0,148,247,147,7,148,14,148,22,148,18,148,250,147,9,148,248,147,10,148,255,147,252,147,12,148,246,147,17,148,6,148,222,149,224,149,223,149,46,151,47,151,185,151,187,151,253,151,254,151,96,152,98,152,99,152,95,152,193,152,194,152,80,153,78,153,89,153,76,153,75,153,83,153,50,154,52,154,49,154,44,154,42,154,54,154,41,154,46,154,56,154,45,154,199,154,202,154,198,154,16,155,18,155,17,155,11,156,8,156,247,155,5,156,18,156,248,155,64,156,7,156,14,156,6,156,23,156,20,156,9,156,159,157,153,157,164,157,157,157,146,157,152,157,144,157,155,157,160,157,148,157,156,157,170,157,151,157,161,157,154,157,162,157,168,157,158,157,163,157,191,157,169,157,150,157,166,157,167,157,153,158,155,158,154,158,229,158,228,158,231,158,230,158,48,159,46,159,91,159,96,159,94,159,93,159,89,159,145,159,58,81,57,81,152,82,151,82,195,86,189,86,190,86,72,91,71,91,203,93,207,93,241,94,253,97,27,101,2,107,252,106,3,107,248,106,0,107,67,112,68,112,74,112,72,112,73,112,69,112,70,112,29,114,26,114,25,114,126,115,23,117,106,118,208,119,45,121,49,121,47,121,84,124,83,124,242,124,138,126,135,126,136,126,139,126,134,126,141,126,77,127,187,127,48,128,221,129,24,134,42,134,38,134,31,134,35,134,28,134,25,134,39,134,46,134,33,134,32,134,41,134,30,134,37,134,41,136,29,136,27,136,32,136,36,136,28,136,43,136,74,136,109,137,105,137,110,137,107,137,250,137,121,139,120,139,69,139,122,139,123,139,16,141,20,141,175,141,142,142,140,142,94,143,91,143,93,143,70,145,68,145,69,145,185,145,63,148,59,148,54,148,41,148,61,148,60,148,48,148,57,148,42,148,55,148,44,148,64,148,49,148,229,149,228,149,227,149,53,151,58,151,191,151,225,151,100,152,201,152,198,152,192,152,88,153,86,153,57,154,61,154,70,154,68,154,66,154,65,154,58,154,63,154,205,154,21,155,23,155,24,155,22,155,58,155,82,155,43,156,29,156,28,156,44,156,35,156,40,156,41,156,36,156,33,156,183,157,182,157,188,157,193,157,199,157,202,157,207,157,190,157,197,157,195,157,187,157,181,157,206,157,185,157,186,157,172,157,200,157,177,157,173,157,204,157,179,157,205,157,178,157,122,158,156,158,235,158,238,158,237,158,27,159,24,159,26,159,49,159,78,159,101,159,100,159,146,159,185,78,198,86,197,86,203,86,113,89,75,91,76,91,213,93,209,93,242,94,33,101,32,101,38,101,34,101,11,107,8,107,9,107,13,108,85,112,86,112,87,112,82,112,30,114,31,114,169,114,127,115,216,116,213,116,217,116,215,116,109,118,173,118,53,121,180,121,112,122,113,122,87,124,92,124,89,124,91,124,90,124,244,124,241,124,145,126,79,127,135,127,222,129,107,130,52,134,53,134,51,134,44,134,50,134,54,134,44,136,40,136,38,136,42,136,37,136,113,137,191,137,190,137,251,137,126,139,132,139,130,139,134,139,133,139,127,139,21,141,149,142,148,142,154,142,146,142,144,142,150,142,151,142,96,143,98,143,71,145,76,148,80,148,74,148,75,148,79,148,71,148,69,148,72,148,73,148,70,148,63,151,227,151,106,152,105,152,203,152,84,153,91,153,78,154,83,154,84,154,76,154,79,154,72,154,74,154,73,154,82,154,80,154,208,154,25,155,43,155,59,155,86,155,85,155,70,156,72,156,63,156,68,156,57,156,51,156,65,156,60,156,55,156,52,156,50,156,61,156,54,156,219,157,210,157,222,157,218,157,203,157,208,157,220,157,209,157,223,157,233,157,217,157,216,157,214,157,245,157,213,157,221,157,182,158,240,158,53,159,51,159,50,159,66,159,107,159,149,159,162,159,61,81,153,82,232,88,231,88,114,89,77,91,216,93,47,136,79,95,1,98,3,98,4,98,41,101,37,101,150,101,235,102,17,107,18,107,15,107,202,107,91,112,90,112,34,114,130,115,129,115,131,115,112,118,212,119,103,124,102,124,149,126,108,130,58,134,64,134,57,134,60,134,49,134,59,134,62,134,48,136,50,136,46,136,51,136,118,137,116,137,115,137,254,137,140,139,142,139,139,139,136,139,69,140,25,141,152,142,100,143,99,143,188,145,98,148,85,148,93,148,87,148,94,148,196,151,197,151,0,152,86,154,89,154,30,155,31,155,32,155,82,156,88,156,80,156,74,156,77,156,75,156,85,156,89,156,76,156,78,156,251,157,247,157,239,157,227,157,235,157,248,157,228,157,246,157,225,157,238,157,230,157,242,157,240,157,226,157,236,157,244,157,243,157,232,157,237,157,194,158,208,158,242,158,243,158,6,159,28,159,56,159,55,159,54,159,67,159,79,159,113,159,112,159,110,159,111,159,211,86,205,86,78,91,109,92,45,101,237,102,238,102,19,107,95,112,97,112,93,112,96,112,35,114,219,116,229,116,213,119,56,121,183,121,182,121,106,124,151,126,137,127,109,130,67,134,56,136,55,136,53,136,75,136,148,139,149,139,158,142,159,142,160,142,157,142,190,145,189,145,194,145,107,148,104,148,105,148,229,150,70,151,67,151,71,151,199,151,229,151,94,154,213,154,89,155,99,156,103,156,102,156,98,156,94,156,96,156,2,158,254,157,7,158,3,158,6,158,5,158,0,158,1,158,9,158,255,157,253,157,4,158,160,158,30,159,70,159,116,159,117,159,118,159,212,86,46,101,184,101,24,107,25,107,23,107,26,107,98,112,38,114,170,114,216,119,217,119,57,121,105,124,107,124,246,124,154,126,152,126,155,126,153,126,224,129,225,129,70,134,71,134,72,134,121,137,122,137,124,137,123,137,255,137,152,139,153,139,165,142,164,142,163,142,110,148,109,148,111,148,113,148,115,148,73,151,114,152,95,153,104,156,110,156,109,156,11,158,13,158,16,158,15,158,18,158,17,158,161,158,245,158,9,159,71,159,120,159,123,159,122,159,121,159,30,87,102,112,111,124,60,136,178,141,166,142,195,145,116,148,120,148,118,148,117,148,96,154,116,156,115,156,113,156,117,156,20,158,19,158,246,158,10,159,164,159,104,112,101,112,247,124,106,134,62,136,61,136,63,136,158,139,156,140,169,142,201,142,75,151,115,152,116,152,204,152,97,153,171,153,100,154,102,154,103,154,36,155,21,158,23,158,72,159,7,98,30,107,39,114,76,134,168,142,130,148,128,148,129,148,105,154,104,154,46,155,25,158,41,114,75,134,159,139,131,148,121,156,183,158,117,118,107,154,122,156,29,158,105,112,106,112,164,158,126,159,73,159,152,159,0,0,239,223,29,105,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,105,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,39,0,208,253,65,0,39,0,60,0,42,0,63,150,21,149,60,0,42,0,196,85,60,0,42,0,74,85,60,0,42,0,206,84,192,84,9,85,195,87,45,90,40,99,56,107,190,110,243,85,176,146,63,149,111,86,132,147,60,0,42,0,64,85,113,99,145,118,210,81,176,110,10,86,113,101,115,101,154,118,76,118,3,154,60,0,42,0,208,107,57,102,62,90,238,119,60,133,183,142,237,111,249,133,106,139,45,151,68,151,60,0,42,0,126,130,12,79,49,114,57,120,75,120,152,150,204,85,103,88,210,90,27,97,141,120,198,83,167,102,119,116,161,149,254,80,210,88,33,91,211,97,134,133,49,157,221,97,214,102,166,116,50,153,167,118,185,119,164,153,25,121,122,139,64,148,107,156,73,151,60,0,42,0,137,91,146,79,214,92,73,104,40,108,181,94,244,131,25,140,149,90,59,132,74,132,247,117,100,129,76,158,237,132,157,138,140,151,141,151,230,118,243,138,163,153,235,118,106,157,253,151,149,157,60,0,42,0,181,115,125,85,248,150,17,81,60,0,42,0,181,87,250,79,53,85,239,87,245,148,140,150,222,99,111,127,168,146,60,0,42,0,180,114,184,92,9,99,29,109,76,131,72,104,250,128,123,140,19,88,105,90,123,102,151,102,139,140,12,147,199,149,159,155,239,158,60,0,42,0,174,128,175,154,60,0,42,0,108,83,135,92,2,102,59,102,60,0,42,0,138,103,206,118,160,145,60,0,42,0,249,81,234,103,142,104,234,142,10,114,60,0,42,0,86,101,171,83,158,150,247,85,248,85,133,93,210,94,246,110,83,115,28,133,104,144,110,100,172,113,82,115,136,116,221,120,241,127,113,128,175,135,246,127,55,139,56,139,250,127,204,156,214,147,50,156,212,157,7,159,60,0,42,0,157,98,186,130,215,98,132,136,122,149,170,90,188,90,86,137,60,0,42,0,153,92,119,98,115,87,135,87,176,92,178,80,97,89,101,89,103,89,239,90,96,97,156,154,169,150,186,88,180,93,202,97,179,111,217,100,202,147,65,154,60,0,39,0,208,253,66,0,39,0,60,0,42,0,55,78,107,81,200,78,244,93,237,83,82,98,51,103,144,115,63,89,156,92,173,130,199,92,237,103,164,117,245,84,252,93,76,99,6,123,145,124,147,127,134,134,219,145,223,145,93,140,131,156,94,155,60,0,42,0,208,83,174,114,156,98,122,87,173,89,212,98,7,131,166,112,121,118,200,128,221,131,89,138,203,141,247,142,176,152,67,155,162,88,37,159,60,0,42,0,138,98,175,148,0,146,118,151,60,0,42,0,93,87,29,95,56,114,187,87,98,127,25,128,193,141,133,156,140,156,119,127,138,155,135,137,242,119,56,151,233,88,94,112,27,107,60,0,42,0,39,84,38,125,60,0,42,0,0,99,176,99,216,100,60,0,42,0,125,118,60,0,42,0,126,118,112,79,207,103,34,104,109,99,248,116,225,122,168,124,84,125,70,100,250,100,108,137,60,0,42,0,141,94,221,98,37,141,220,98,87,101,8,115,23,122,186,124,173,133,1,141,219,151,60,0,42,0,115,98,61,101,237,115,44,130,129,152,145,101,44,100,146,101,18,152,34,118,251,156,140,135,41,137,77,118,172,143,60,0,42,0,42,150,66,87,133,92,4,102,127,103,72,114,234,116,163,148,132,124,40,130,17,146,66,135,108,155,198,149,60,0,42,0,158,82,74,83,52,79,110,98,98,87,197,89,17,96,204,98,202,126,200,103,218,121,116,110,70,125,97,146,125,151,166,143,227,116,60,0,42,0,129,135,60,0,42,0,166,144,185,87,46,94,96,99,134,104,92,109,171,144,71,94,90,94,13,126,107,94,164,151,60,0,42,0,209,126,129,125,156,105,83,114,128,129,200,154,60,0,42,0,164,115,140,134,141,80,210,104,211,104,36,140,93,88,18,100,22,122,161,132,47,135,197,120,81,149,85,130,23,139,138,147,60,0,42,0,249,82,5,83,104,79,98,91,222,130,185,103,222,128,35,123,114,113,133,159,84,133,18,137,67,137,193,149,89,159,60,0,42,0,135,122,209,90,249,150,132,133,60,0,42,0,157,91,9,96,113,153,221,79,40,158,178,91,228,115,33,88,34,88,172,90,70,132,218,91,249,152,253,152,19,137,194,153,245,156,229,125,7,157,242,140,245,133,243,91,246,91,76,151,60,0,42,0,253,82,165,98,177,98,121,140,181,141,199,148,226,131,171,134,140,136,49,88,75,146,141,156,100,151,178,154,180,102,241,154,99,134,145,155,36,81,211,102,6,114,193,95,100,148,60,0,42,0,66,150,81,83,111,103,195,118,110,104,178,96,249,99,17,105,145,120,78,158,227,133,111,157,60,0,42,0,23,83,115,146,60,0,42,0,29,141,91,91,200,114,157,140,182,144,7,89,1,102,108,114,221,130,204,128,229,144,161,148,251,79,13,80,150,96,253,114,171,136,93,80,121,80,150,104,252,115,1,145,153,80,195,80,235,96,25,113,50,116,240,142,136,143,2,97,154,120,153,121,211,132,253,134,149,114,25,137,150,138,129,151,179,154,41,143,199,146,138,97,210,124,180,151,62,148,60,0,42,0,87,84,4,85,60,0,42,0,84,89,205,108,50,141,31,104,135,114,27,149,27,147,60,0,42,0,44,103,239,130,89,89,90,117,201,127,77,105,60,0,42,0,75,87,76,87,52,80,121,99,115,104,0,110,40,123,41,144,170,100,86,115,61,143,60,0,42,0,59,79,74,121,95,89,41,93,247,126,99,125,141,149,176,80,109,93,237,117,35,86,179,125,60,0,42,0,45,117,60,0,42,0,196,87,242,87,246,131,35,116,43,116,67,126,155,151,60,0,42,0,245,108,248,143,44,144,116,88,15,117,90,149,102,142,240,147,60,0,42,0,252,99,60,0,42,0,68,92,106,80,244,107,60,144,69,105,140,105,77,140,149,135,86,157,190,156,158,147,15,156,60,0,42,0,120,131,59,159,54,91,60,0,42,0,21,83,212,107,54,89,60,103,74,79,33,84,163,89,152,108,149,117,124,95,192,103,213,121,254,79,20,123,131,124,45,130,90,85,70,123,25,145,132,123,91,128,143,140,60,0,42,0,1,94,197,95,213,107,237,149,86,79,82,87,135,94,208,139,178,144,188,89,45,96,54,96,136,103,64,117,65,117,254,130,212,84,242,103,214,107,204,115,170,117,92,131,91,150,217,107,244,114,98,117,19,123,138,124,144,136,203,148,98,90,179,94,93,101,144,104,6,132,30,132,135,149,137,149,27,88,59,95,60,95,10,97,14,97,98,110,149,118,134,121,90,123,86,138,177,140,193,140,81,141,246,85,67,95,215,110,237,110,79,113,249,117,250,117,100,119,119,129,214,132,253,132,12,135,232,136,248,141,77,146,159,149,246,152,99,94,10,95,154,113,89,115,167,120,133,123,134,123,188,125,61,133,42,145,157,153,100,94,119,111,88,115,124,127,69,137,220,153,242,154,193,88,22,91,230,94,230,123,243,123,42,126,156,133,241,137,127,144,133,155,131,101,222,111,194,129,85,142,192,154,112,89,167,116,40,145,206,147,70,153,116,126,94,137,99,137,184,151,224,151,83,155,131,142,132,142,70,154,20,141,52,148,221,157,233,157,10,159,60,0,42,0,185,143,186,143,45,120,62,123,217,99,53,115,22,127,120,113,81,114,2,117,175,123,232,125,89,135,113,115,137,144,125,147,202,156,138,144,173,151,254,155,255,155,105,124,60,0,42,0,44,141,65,98,134,122,62,83,182,140,252,96,57,132,165,120,40,122,10,137,196,124,24,157,202,133,60,0,42,0,94,83,1,95,237,95,131,98,115,108,116,108,196,130,198,145,216,83,197,92,163,115,191,79,9,89,42,102,141,137,167,95,15,127,77,144,158,149,161,143,246,125,81,130,167,143,168,143,169,143,171,143,174,143,175,143,138,139,60,0,42,0,158,112,60,0,42,0,108,112,83,103,7,104,209,152,137,154,223,154,242,109,106,95,11,115,63,129,169,152,130,88,86,94,125,100,238,110,8,133,174,152,160,154,25,106,155,113,152,129,45,118,230,120,86,149,217,152,218,152,38,81,183,152,12,112,232,133,36,139,2,114,213,129,6,141,226,147,110,122,115,149,198,152,199,152,200,152,202,152,67,154,99,148,107,154,60,0,42,0,104,136,74,90,241,136,216,138,62,137,54,147,166,106,60,0,42,0,245,79,212,156,62,156,60,0,42,0,139,97,222,135,214,156,73,156,8,159,76,134,158,159,60,0,42,0,37,82,43,82,135,84,130,131,194,134,182,95,82,137,105,142,60,0,42,0,42,118,95,118,60,0,42,0,70,95,60,0,42,0,67,108,160,144,162,115,15,120,190,91,108,95,185,104,167,80,140,101,21,105,232,110,36,127,223,105,120,116,105,140,211,140,212,140,84,149,16,81,210,111,241,111,245,111,104,134,115,140,179,106,184,116,21,112,38,151,125,126,76,148,110,152,60,0,42,0,72,100,161,107,145,129,233,154,239,100,2,155,175,107,207,129,204,154,19,155,213,154,34,155,60,0,42,0,30,108,60,0,42,0,171,81,204,78,210,78,55,108,176,81,117,81,164,99,242,146,60,0,42,0,25,78,180,144,67,150,50,96,166,98,201,121,234,130,30,102,58,102,196,103,179,112,124,153,42,119,137,122,195,134,82,100,197,104,128,121,31,122,53,146,124,146,134,151,5,153,32,153,158,151,60,0,42,0,118,94,38,78,117,79,119,94,170,87,176,94,2,80,36,104,197,117,221,122,75,80,161,80,206,91,129,138,169,155,80,151,60,0,42,0,118,118,23,94,232,98,226,108,119,118,187,115,93,82,101,82,241,84,203,118,53,120,154,136,181,148,125,153,117,85,52,125,61,127,224,131,176,136,138,110,134,120,98,146,224,80,147,93,165,100,173,100,17,153,129,155,115,142,75,154,77,156,60,0,42,0,226,78,47,79,187,114,145,128,115,154,27,94,219,114,221,116,233,130,188,79,195,82,201,128,227,144,179,78,44,99,97,109,223,116,225,121,175,136,185,148,194,148,255,109,22,129,54,130,185,136,90,83,36,110,103,132,65,158,61,97,15,100,60,115,56,146,81,146,142,153,240,80,127,113,84,114,148,123,138,129,74,130,20,133,155,153,193,153,35,142,205,146,72,149,158,153,238,153,79,137,112,140,151,86,234,97,33,121,25,124,155,147,58,153,83,157,166,114,198,154,201,154,2,107,110,137,52,121,110,148,60,0,42,0,219,141,165,123,56,124,60,0,42,0,121,91,151,106,234,124,82,139,23,134,60,0,42,0,92,83,33,132,60,0,42,0,236,92,175,94,11,144,184,148,97,102,61,146,167,138,60,0,42,0,234,156,80,143,173,145,60,0,42,0,95,83,101,136,250,84,85,99,184,85,220,136,79,157,20,158,60,0,42,0,13,78,3,94,72,79,37,84,101,107,152,84,22,96,170,98,104,107,105,107,232,103,154,148,207,82,212,87,215,87,145,96,87,99,121,131,232,144,224,87,255,116,205,94,0,133,4,142,246,144,20,153,240,123,34,153,63,124,60,0,39,0,208,253,67,0,39,0,60,0,42,0,147,86,230,100,3,101,60,0,42,0,36,121,56,121,60,0,42,0,106,144,195,86,60,0,42,0,114,80,28,115,60,0,42,0,77,98,80,103,34,141,161,140,193,136,148,126,60,0,42,0,221,107,199,145,56,80,75,85,71,90,192,91,105,95,161,99,108,119,244,141,181,125,41,142,60,0,42,0,240,87,220,131,204,104,33,133,41,126,60,0,42,0,194,83,195,83,196,83,225,152,150,154,197,83,176,85,76,110,170,80,32,91,16,153,24,114,66,154,60,0,42,0,139,107,149,134,237,96,152,107,90,97,69,135,89,97,54,136,58,136,60,0,42,0,232,96,1,103,88,97,175,97,71,122,248,123,234,158,242,158,60,0,42,0,127,112,186,99,113,91,178,124,123,100,15,81,175,111,146,133,230,113,168,116,50,139,60,0,42,0,211,78,250,78,39,79,167,108,205,130,39,158,9,80,49,130,150,80,98,93,196,110,74,115,188,132,248,111,89,130,165,135,172,157,60,0,42,0,207,133,12,107,118,148,60,0,42,0,246,140,60,0,42,0,161,100,205,100,217,124,60,0,42,0,250,102,249,102,8,86,134,93,21,111,248,132,253,105,63,137,90,130,172,135,234,147,60,0,42,0,120,130,73,131,58,97,198,97,50,154,60,0,42,0,143,128,53,145,89,137,60,0,42,0,121,130,60,0,42,0,138,81,140,81,167,79,149,83,123,96,250,98,75,109,93,131,71,101,95,117,116,80,160,83,39,123,163,124,23,132,193,94,251,96,44,110,86,123,52,132,94,123,116,123,219,132,132,88,163,123,161,97,14,124,60,0,42,0,126,93,60,0,42,0,145,92,148,109,18,123,163,104,60,0,42,0,253,102,76,86,60,0,42,0,66,92,254,102,100,92,146,93,242,122,83,154,60,0,42,0,109,142,60,0,42,0,201,83,96,98,72,103,158,128,255,129,63,99,91,80,207,85,210,99,247,99,135,153,159,146,56,149,86,130,128,117,100,147,55,153,60,0,42,0,197,121,158,87,229,103,44,131,54,131,86,93,61,100,57,115,107,151,206,105,103,138,223,91,180,120,171,106,60,0,42,0,105,136,69,142,114,149,84,148,60,0,42,0,124,89,74,108,148,92,152,79,231,139,249,89,238,93,1,125,107,138,60,0,42,0,134,130,198,98,151,148,245,145,60,0,42,0,178,114,170,79,244,103,122,140,97,121,141,85,21,81,92,159,60,0,42,0,29,131,60,0,42,0,127,134,131,136,13,138,37,118,6,136,198,86,60,0,42,0,191,143,199,137,180,104,0,100,152,137,231,136,70,146,211,146,104,94,92,137,25,101,60,0,42,0,117,90,23,140,206,104,121,110,133,121,139,153,88,113,32,127,221,80,81,115,73,135,151,138,203,146,3,81,11,91,219,94,121,111,122,111,254,125,182,111,219,120,170,121,218,107,61,145,97,149,13,112,236,135,51,81,150,82,254,135,65,145,181,86,229,88,201,93,58,112,3,107,143,126,146,126,148,142,117,149,108,130,146,139,113,148,94,153,60,0,42,0,167,78,44,82,245,101,51,78,186,101,80,109,87,82,4,140,116,85,34,117,35,117,242,148,16,150,135,132,119,82,124,93,76,100,251,110,61,86,93,94,70,133,194,138,179,149,163,154,192,113,5,124,129,81,95,126,66,139,180,143,223,147,225,149,197,86,91,112,135,139,60,0,42,0,207,95,95,120,114,100,244,97,164,152,250,97,188,127,194,151,107,152,60,0,42,0,37,79,12,102,0,80,60,90,208,109,22,115,214,131,10,150,127,102,25,105,41,116,238,136,32,149,41,147,182,149,179,156,231,155,26,159,60,0,42,0,231,78,233,78,79,81,160,128,204,130,120,149,29,92,127,80,56,94,156,95,250,116,7,132,30,117,120,129,23,86,114,88,230,90,122,116,147,129,255,146,31,81,144,86,191,156,219,147,104,156,60,0,42,0,130,83,58,87,54,102,221,96,52,88,94,101,216,80,176,83,224,94,5,108,249,146,60,0,42,0,5,96,154,115,69,117,33,80,47,155,49,85,181,96,59,113,82,116,162,102,124,117,175,138,212,151,60,0,42,0,208,135,60,0,42,0,132,98,40,95,10,96,41,107,158,148,44,138,47,113,133,141,20,146,230,82,60,0,42,0,74,114,65,102,226,93,227,93,29,103,27,145,12,159,5,111,50,86,20,106,110,111,178,122,122,127,72,143,2,159,63,139,60,0,42,0,53,84,146,112,39,119,35,113,124,113,168,158,208,93,60,0,42,0,230,78,239,78,22,128,216,137,60,0,42,0,102,143,33,79,202,142,229,79,23,120,19,85,151,131,104,120,252,134,60,0,42,0,111,98,86,80,166,100,60,0,42,0,110,92,123,95,124,87,224,143,226,112,69,128,163,99,105,120,25,152,185,95,164,100,136,111,246,82,174,119,33,114,60,0,42,0,187,98,244,144,117,99,27,116,212,85,157,125,139,119,195,138,221,140,29,126,19,139,60,0,42,0,24,92,227,129,241,95,137,108,176,143,72,150,231,143,30,131,184,91,128,131,144,131,115,150,80,101,104,102,38,138,12,140,217,142,22,97,232,99,2,146,65,113,47,133,117,88,4,106,14,118,3,151,180,135,246,138,188,133,142,158,223,102,208,157,60,0,42,0,187,141,118,120,156,120,139,88,38,89,227,120,56,142,86,147,2,141,166,145,60,0,42,0,108,136,162,117,128,159,129,141,130,141,135,105,83,159,84,159,45,81,171,86,54,140,236,106,111,137,150,139,60,0,42,0,55,150,223,108,253,103,47,114,230,104,126,109,36,116,240,121,65,80,207,134,94,110,90,114,106,141,220,80,134,97,90,100,49,122,87,151,144,100,145,100,253,125,85,106,160,119,108,141,51,152,137,106,192,122,73,127,106,122,246,135,243,147,255,147,35,148,83,153,60,0,42,0,30,78,16,98,62,103,72,84,127,98,168,103,218,139,213,144,87,78,206,87,13,90,172,91,248,92,6,109,127,131,88,78,213,87,48,99,95,102,249,115,0,129,129,99,245,115,128,120,154,122,45,129,214,148,24,88,233,96,214,104,9,105,11,122,108,123,126,125,206,136,77,88,86,88,151,110,160,138,123,117,114,145,238,146,149,97,130,111,132,111,89,106,153,106,206,155,19,112,242,97,44,154,60,0,42,0,177,79,142,95,156,96,30,144,139,154,177,94,72,119,1,154,60,0,42,0,228,121,60,0,42,0,3,84,155,89,153,79,231,84,104,95,245,128,169,134,49,158,251,116,53,119,30,123,154,124,171,85,53,138,228,85,184,90,91,100,244,117,122,125,68,86,157,119,186,138,173,135,31,157,68,157,97,118,81,155,93,159,33,101,114,95,208,158,60,0,42,0,27,95,96,108,112,154,223,143,123,87,187,92,12,131,1,99,254,122,78,131,109,107,179,134,127,141,66,123,190,140,69,144,141,141,95,144,179,153,142,123,128,88,38,111,31,142,114,144,234,123,24,139,60,0,42,0,58,92,250,83,78,84,148,128,136,79,118,83,127,159,145,87,227,128,101,96,59,128,135,134,179,136,60,107,111,107,178,136,237,136,121,146,43,137,82,159,60,0,42,0,115,95,241,83,165,101,88,103,123,112,100,141,108,153,182,98,197,82,92,96,189,112,209,82,196,127,197,127,85,101,254,112,211,117,123,85,65,110,115,120,237,152,186,80,248,117,95,129,238,141,83,146,244,150,143,97,8,118,228,127,107,144,144,146,87,97,27,118,232,127,190,113,216,97,169,141,78,153,146,157,216,157,60,0,42,0,182,158,60,0,42,0,69,81,178,81,225,95,150,108,58,131,122,109,235,115,192,127,2,130,3,86,79,100,184,95,131,97,167,97,93,136,127,127,95,130,86,142,60,0,42,0,107,134,7,93,8,93,128,150,8,137,223,125,105,135,242,135,30,114,60,0,42,0,160,91,235,87,245,91,60,0,42,0,243,148,240,99,131,146,60,0,42,0,189,98,100,90,10,100,51,118,216,123,168,114,171,114,60,0,42,0,199,78,30,96,230,79,49,94,38,104,198,96,44,125,248,126,215,131,6,105,116,117,82,125,1,97,151,118,32,122,121,123,239,136,103,145,108,145,162,125,12,142,20,81,212,150,139,86,38,91,108,94,228,97,181,133,253,113,224,150,135,117,76,124,138,142,187,145,142,139,144,139,60,0,42,0,17,78,18,78,28,84,123,103,125,103,180,79,98,80,133,119,156,145,193,119,87,155,60,0,42,0,237,129,240,129,90,144,160,107,60,0,42,0,250,81,128,92,29,82,116,100,23,106,153,140,99,159,60,0,42,0,13,82,100,150,187,130,168,83,193,110,162,132,96,140,4,149,176,90,33,128,173,132,13,135,142,141,79,146,207,150,147,114,79,133,218,94,232,123,228,146,113,106,110,94,201,106,248,133,245,135,135,142,219,150,229,106,112,142,181,157,149,142,60,0,42,0,230,81,117,103,64,120,24,105,168,80,110,105,90,105,26,137,203,111,50,81,154,106,180,116,14,121,109,159,124,159,60,0,42,0,141,78,4,89,204,122,53,96,192,98,204,126,86,140,247,103,42,107,208,122,246,79,74,101,92,117,241,87,255,115,64,125,85,134,151,80,33,116,16,145,16,100,192,110,235,132,230,137,0,142,166,149,10,81,60,86,212,138,183,97,182,101,92,107,197,129,220,158,248,137,215,119,60,0,42,0,139,105,123,106,60,0,42,0,59,107,88,107,60,0,42,0,227,99,11,100,60,0,42,0,151,129,60,0,42,0,92,85,44,86,170,129,57,142,60,0,42,0,219,93,221,93,26,108,127,122,118,82,45,115,79,116,60,0,42,0,32,79,33,130,41,130,57,130,12,87,68,144,179,80,61,105,183,102,197,123,50,143,60,0,42,0,27,130,72,131,152,85,66,107,226,80,51,142,60,0,42,0,76,108,50,78,148,115,143,148,231,145,215,140,168,157,60,0,42,0,5,82,174,117,147,122,151,122,78,114,80,100,85,114,33,118,187,122,60,0,42,0,138,94,64,114,71,86,98,94,60,0,42,0,239,149,184,80,100,100,226,120,214,149,60,0,42,0,27,82,6,96,49,82,79,82,89,82,212,81,117,82,52,97,60,0,42,0,57,84,138,112,161,159,60,0,42,0,130,87,21,80,192,87,114,150,118,99,217,131,37,100,240,104,14,105,68,129,204,105,36,149,160,123,24,147,154,147,64,152,60,0,42,0,254,101,118,103,37,102,5,132,62,88,139,90,153,102,63,105,198,105,67,116,186,123,125,135,65,106,52,143,196,106,6,156,158,157,60,0,42,0,175,126,89,150,7,85,113,109,20,125,188,131,243,109,35,129,123,110,137,114,227,110,147,132,81,158,24,111,244,132,135,145,149,145,30,147,217,155,137,157,60,0,42,0,70,80,54,132,247,96,118,119,240,140,34,136,60,0,42,0,52,144,20,142,51,98,60,0,42,0,182,143,181,143,21,90,22,90,124,90,217,96,176,109,240,126,79,129,141,143,107,145,189,125,160,141,31,143,138,159,201,100,237,120,91,126,96,107,189,86,106,159,97,148,60,0,42,0,114,84,181,117,128,141,104,80,208,141,18,126,180,154,202,154,0,136,121,159,60,0,42,0,205,139,193,115,144,87,204,103,96,121,8,131,40,131,50,88,247,116,94,138,157,143,72,97,6,117,158,143,193,120,204,150,90,158,205,124,164,143,250,152,8,153,40,91,232,111,139,133,28,157,32,121,173,143,191,157,192,157,60,0,42,0,100,107,76,79,218,108,188,115,137,118,134,155,60,0,42,0,63,103,33,107,58,79,125,79,58,82,62,82,155,94,38,131,40,104,191,131,88,125,211,134,80,141,134,135,220,140,60,0,42,0,6,83,234,86,241,86,193,130,233,95,158,103,16,131,49,96,164,96,199,104,39,113,113,132,23,111,97,128,239,132,37,133,162,154,176,102,5,106,44,106,156,113,125,116,129,116,235,125,102,128,106,128,155,119,245,123,112,128,204,135,111,147,113,126,230,147,24,154,68,154,60,0,42,0,206,78,27,78,147,95,67,90,110,91,150,95,158,95,176,96,217,109,46,116,82,97,14,111,64,111,104,111,180,138,232,140,233,140,55,106,194,133,226,83,71,112,9,107,28,114,60,0,42,0,129,97,37,139,60,0,42,0,209,81,74,110,96,129,143,143,51,143,60,0,42,0,151,124,213,137,129,158,132,158,164,158,60,0,42,0,130,95,130,107,60,0,42,0,195,79,29,115,40,129,168,90,98,145,4,118,31,133,142,138,151,141,72,86,177,97,39,142,139,145,47,118,7,124,44,126,89,142,0,159,116,142,117,142,99,152,60,0,42,0,70,108,186,100,209,146,105,149,127,142,27,101,165,142,121,148,60,0,42,0,213,106,209,93,17,107,115,122,60,0,42,0,156,122,169,107,182,113,225,123,18,124,196,122,40,114,60,0,42,0,20,93,172,80,215,81,30,127,148,88,137,93,91,97,103,100,177,105,85,115,239,105,234,120,23,126,217,147,60,0,42,0,60,111,128,116,161,141,160,118,60,0,42,0,28,79,240,95,169,117,5,80,139,124,35,125,198,127,3,129,6,129,80,85,91,85,180,96,236,109,3,132,243,107,32,113,58,129,1,118,185,124,183,125,224,127,181,129,172,129,226,111,193,122,74,137,71,152,206,129,60,0,42,0,124,78,60,0,42,0,168,144,81,103,180,118,6,142,138,111,244,122,165,129,60,0,42,0,88,91,159,79,245,98,60,0,42,0,12,82,214,95,60,0,42,0,248,91,11,84,127,124,60,0,42,0,19,100,115,116,115,144,203,120,174,100,73,142,157,145,60,0,42,0,88,134,111,93,115,93,228,117,73,119,236,119,171,132,22,133,126,158,66,145,122,158,166,142,60,0,42,0,30,129,60,0,42,0,73,82,82,82,157,83,14,89,43,99,157,131,161,131,170,99,42,144,174,101,228,104,9,149,204,132,25,149,188,146,47,147,60,0,39,0,208,253,68,0,39,0,60,0,42,0,145,84,55,128,69,131,26,123,210,85,45,100,33,137,96,86,152,100,157,147,60,0,42,0,190,143,207,143,214,143,218,143,126,84,178,89,27,96,147,108,210,84,159,112,141,127,89,131,87,117,115,82,18,83,99,117,42,123,57,144,84,123,90,138,84,144,246,141,24,150,124,151,152,133,145,151,245,113,253,135,137,147,130,142,61,148,195,151,150,159,152,159,60,0,42,0,83,98,60,0,42,0,39,89,163,78,79,108,20,119,60,0,42,0,175,87,41,118,182,88,104,126,60,0,42,0,70,84,84,84,67,115,219,97,60,0,42,0,121,107,46,144,163,80,60,0,42,0,227,78,106,143,162,79,136,87,177,92,18,94,25,117,208,126,232,143,128,154,38,94,133,95,32,96,203,103,134,107,179,115,55,141,47,94,209,142,237,87,54,94,63,125,174,134,139,136,218,142,184,140,233,142,71,116,215,94,199,83,195,102,255,125,15,157,52,98,92,130,219,158,36,124,91,142,59,112,52,151,118,137,241,158,70,151,60,0,42,0,152,155,60,0,42,0,57,78,137,89,85,83,197,98,88,83,8,119,3,120,60,128,61,128,248,144,67,128,173,142,174,85,133,90,154,107,5,118,48,83,170,123,29,137,50,145,21,152,11,81,239,82,212,100,171,107,20,117,73,118,76,137,30,124,120,128,60,0,42,0,20,79,16,82,140,98,172,115,237,116,198,128,116,136,184,117,30,125,184,99,85,141,182,78,162,100,163,100,184,111,213,158,189,129,238,158,60,0,42,0,230,101,70,79,14,94,138,108,249,108,218,114,222,139,230,103,141,117,86,85,87,85,57,95,238,96,225,109,15,132,203,134,127,85,62,95,46,108,69,129,17,135,219,137,158,122,149,138,228,80,73,86,190,153,231,154,62,86,72,95,154,97,186,97,185,111,171,121,222,132,243,153,32,157,90,118,170,86,117,126,9,141,46,151,79,153,60,0,42,0,83,95,240,115,198,136,219,148,92,123,118,117,121,86,162,111,171,116,96,137,57,124,97,130,247,135,58,148,60,0,42,0,33,99,90,81,32,140,203,100,97,139,232,158,41,101,89,112,19,107,156,139,60,0,42,0,57,108,252,81,53,87,149,91,0,120,177,87,97,131,99,104,234,131,120,90,19,97,253,116,63,144,99,93,252,150,82,111,173,120,5,81,138,119,105,133,164,141,203,88,148,106,151,116,234,118,17,121,28,124,47,134,227,149,60,0,42,0,0,82,2,82,232,83,201,95,55,103,24,108,32,130,214,145,125,156,91,155,60,0,42,0,111,99,60,0,42,0,252,91,155,92,102,150,246,92,99,99,119,121,130,121,23,100,157,150,139,93,140,93,221,105,14,92,175,150,212,88,185,93,227,100,72,142,177,121,60,0,42,0,48,82,18,80,188,96,24,113,215,118,255,131,33,105,220,118,83,144,50,122,140,123,226,127,117,86,59,122,84,130,92,136,164,106,95,136,254,113,255,127,199,142,217,116,155,126,60,0,42,0,26,86,60,0,42,0,116,96,151,95,194,109,179,96,234,96,207,104,29,149,179,95,183,95,64,147,60,0,42,0,48,87,132,118,38,129,60,0,42,0,101,98,125,98,60,0,42,0,111,112,123,118,75,140,84,86,1,91,200,113,146,116,243,122,38,124,96,130,180,137,108,142,60,0,42,0,41,103,73,123,37,98,60,0,42,0,147,144,243,81,39,145,165,150,177,88,157,93,170,119,244,120,107,149,200,106,25,148,60,0,42,0,16,108,254,78,78,79,67,89,125,95,155,136,114,85,222,87,157,127,132,150,36,88,134,141,244,110,93,149,254,120,73,147,174,151,60,0,42,0,248,94,196,114,116,124,214,130,234,143,25,85,76,101,164,109,123,131,145,104,27,123,204,137,110,151,204,110,176,153,226,154,0,86,225,90,223,127,11,133,16,133,20,152,117,101,0,106,244,123,129,86,225,133,116,140,98,142,4,155,209,147,244,124,191,137,16,158,60,0,42,0,142,83,88,87,203,139,184,144,58,150,103,84,149,94,36,95,181,98,222,98,226,103,116,114,37,120,139,99,231,131,221,137,70,138,231,142,92,128,182,154,243,155,60,0,42,0,84,87,31,95,243,101,85,103,147,115,31,96,164,103,228,79,29,94,202,87,35,90,18,144,19,144,89,80,71,85,138,104,13,113,246,115,49,119,118,121,44,123,194,131,27,140,241,145,130,90,227,104,39,110,71,119,20,127,130,132,192,80,152,121,99,129,94,144,106,146,145,88,172,88,85,100,178,120,21,133,67,135,112,144,120,97,11,117,224,125,179,93,230,138,54,142,174,135,60,0,42,0,56,117,65,101,130,99,142,80,167,83,110,93,199,110,199,105,217,105,40,118,160,152,78,142,197,93,90,152,91,152,107,118,211,93,212,93,39,101,114,118,123,159,60,0,42,0,120,81,76,89,185,112,112,90,32,115,95,101,35,105,213,141,152,120,167,132,71,133,46,142,222,158,184,86,60,0,42,0,53,117,67,79,61,150,107,87,151,94,171,87,66,98,183,115,191,148,93,90,230,96,192,109,96,89,20,116,191,107,20,135,251,150,138,88,194,88,66,106,93,106,177,111,91,151,92,118,31,124,84,154,60,0,42,0,1,82,252,83,72,108,31,82,109,134,203,81,93,89,52,95,107,95,193,134,49,116,130,140,137,120,237,156,166,107,151,119,213,150,137,155,183,156,19,124,38,159,219,155,112,157,60,0,42,0,90,98,76,92,60,0,42,0,20,95,4,79,10,84,147,148,142,122,11,138,3,140,137,99,227,145,222,148,235,148,31,146,232,122,231,132,177,146,255,150,97,155,191,138,57,118,181,122,253,146,203,133,67,148,60,0,42,0,57,114,204,141,242,85,58,137,60,0,42,0,245,130,237,143,164,87,204,92,78,96,21,99,51,102,214,126,197,128,222,116,35,119,10,128,28,98,13,140,139,85,30,88,73,94,245,96,242,99,115,117,112,125,11,128,247,129,68,138,131,141,123,149,224,83,156,107,67,114,82,114,125,93,159,120,40,135,11,137,83,130,118,135,130,117,220,138,64,142,189,156,225,102,137,117,8,156,138,117,14,108,60,0,42,0,203,84,48,119,60,0,42,0,1,78,195,78,238,83,4,94,142,115,148,117,239,118,137,148,53,128,112,134,74,145,216,145,106,151,60,0,42,0,117,89,118,152,2,152,14,159,127,93,17,159,206,111,161,133,36,148,60,0,42,0,162,139,202,95,100,153,244,119,154,91,2,138,227,152,118,85,35,132,228,148,23,105,90,129,135,120,45,149,160,120,98,128,74,135,204,146,32,147,248,120,65,152,60,0,42,0,31,78,34,78,229,148,169,146,60,0,42,0,28,78,172,81,154,84,189,92,113,103,243,130,56,102,33,108,50,80,43,158,236,87,59,90,32,93,44,93,183,109,23,123,196,131,154,95,45,108,64,135,151,155,21,159,223,155,135,157,171,157,60,0,42,0,99,132,165,88,30,91,194,97,189,123,107,133,204,138,60,0,42,0,168,82,187,81,151,79,140,87,219,89,210,92,107,96,15,99,11,104,30,109,232,128,245,143,205,81,25,98,244,128,213,82,80,120,223,104,105,110,103,125,86,129,205,80,231,153,24,151,60,0,42,0,58,84,23,85,253,144,92,81,96,81,56,133,119,106,252,123,60,0,42,0,103,78,39,150,150,98,147,103,97,150,30,85,170,134,4,146,60,0,42,0,151,101,70,140,214,144,98,109,115,131,23,144,126,153,37,155,170,104,237,107,48,129,88,145,216,117,151,149,166,122,38,155,22,153,163,101,216,149,199,122,42,155,45,155,44,155,60,0,42,0,190,83,98,82,7,150,31,86,99,119,143,145,205,149,60,0,42,0,210,107,236,114,156,109,251,139,14,110,31,105,77,114,138,114,161,120,251,136,173,138,115,135,104,115,22,147,223,81,53,83,59,91,6,112,221,106,176,107,88,114,162,114,196,116,190,118,51,154,233,158,128,139,68,140,21,141,227,151,209,154,95,148,199,151,229,151,247,158,159,139,60,0,42,0,3,123,53,88,62,94,61,116,76,141,121,119,169,137,237,140,228,123,60,0,42,0,143,130,146,89,92,103,154,128,172,89,166,94,112,131,250,121,33,110,111,151,64,149,153,135,172,107,77,147,39,136,57,136,60,0,42,0,17,128,115,80,108,82,143,90,239,122,13,137,116,147,60,0,42,0,237,119,60,0,42,0,181,107,173,101,69,88,14,127,110,132,52,105,69,113,86,116,118,129,171,120,59,149,222,125,200,107,22,124,91,147,183,101,150,142,106,124,60,0,42,0,150,87,6,88,96,88,95,93,253,117,211,120,45,157,28,148,60,0,42,0,39,152,60,0,42,0,31,150,249,91,74,81,76,81,81,81,254,91,75,121,60,96,110,150,138,150,147,120,144,125,13,92,158,97,157,97,231,111,177,133,102,149,223,97,41,112,72,139,104,137,19,148,117,139,60,0,42,0,40,84,199,96,102,101,51,135,169,88,170,88,180,100,100,115,120,86,137,100,84,106,156,114,5,121,114,142,126,142,80,154,60,0,42,0,249,118,184,141,137,142,60,0,42,0,5,79,228,86,137,94,140,108,150,112,254,118,24,120,7,144,157,148,127,152,65,144,13,146,111,105,19,152,183,120,111,144,97,111,201,113,50,142,60,0,42,0,26,89,27,89,132,84,198,84,83,117,95,82,28,93,135,99,96,101,106,101,242,107,240,136,137,86,60,0,42,0,58,89,206,148,107,82,83,101,90,101,165,85,229,117,44,146,106,89,217,81,49,142,181,155,56,148,60,0,42,0,53,103,54,103,218,84,155,87,156,87,5,99,6,99,245,87,13,127,47,105,147,141,177,142,178,142,158,125,184,78,122,147,195,142,178,86,114,89,60,0,42,0,52,82,65,82,74,150,79,150,115,153,46,92,193,103,238,103,87,104,21,88,53,130,240,96,226,141,229,141,250,141,255,152,174,88,158,93,156,97,175,88,125,157,60,0,39,0,208,253,69,0,39,0,60,0,42,0,184,89,191,89,63,90,64,90,89,92,254,117,60,0,42,0,185,139,42,84,238,86,215,143,196,79,37,90,232,92,233,92,144,109,170,131,244,115,27,138,146,118,75,119,11,146,7,149,69,158,254,134,192,120,144,138,31,152,157,152,100,155,77,152,93,157,94,157,76,139,42,156,60,0,42,0,153,103,8,120,11,152,65,86,0,154,72,157,60,0,42,0,132,83,117,92,57,98,122,107,139,92,40,150,67,84,124,98,202,130,56,150,93,84,16,120,109,143,162,84,185,84,169,87,246,89,201,92,14,83,118,96,40,120,133,134,127,153,84,80,126,83,10,88,170,96,70,120,20,140,219,142,2,145,15,150,46,88,63,93,225,96,21,97,66,110,60,132,95,140,246,142,76,144,79,144,42,146,197,94,36,100,57,100,39,116,109,129,123,138,235,80,65,135,55,149,101,155,87,158,90,133,123,144,30,152,154,152,19,153,105,86,220,100,168,137,228,138,188,149,41,153,84,147,196,156,94,107,78,152,24,121,238,106,16,156,154,157,141,139,67,159,105,148,118,159,119,156,60,0,42,0,246,139,146,138,60,0,42,0,64,89,105,96,189,132,126,113,60,0,42,0,206,92,60,0,42,0,65,100,60,0,42,0,165,151,60,0,42,0,63,81,12,128,80,81,149,79,82,81,81,150,207,92,15,109,75,131,45,104,249,128,50,85,187,136,56,158,171,124,79,128,0,143,149,156,173,150,245,154,158,155,47,157,92,143,60,0,42,0,188,83,18,92,19,92,20,92,51,128,233,143,49,109,117,153,46,104,230,107,229,115,210,148,62,114,12,153,236,153,190,133,135,144,176,141,60,0,42,0,140,78,13,95,16,95,116,79,53,82,161,84,48,141,174,140,72,136,179,140,128,138,122,146,50,106,60,0,39,0,208,253,70,0,39,0,60,0,42,0,209,83,183,108,122,118,124,118,66,95,177,145,60,0,42,0,79,78,16,79,194,89,161,87,76,109,186,117,90,127,55,131,0,150,48,104,29,120,41,123,160,80,79,123,130,119,112,127,165,149,120,127,67,106,197,133,60,0,42,0,113,79,213,108,69,147,75,112,60,0,42,0,208,115,58,116,234,154,95,133,238,154,60,0,42,0,6,94,219,95,106,117,235,82,67,86,15,91,97,94,163,97,67,133,217,101,219,101,89,126,251,127,233,133,83,143,191,152,83,124,220,152,85,156,60,0,42,0,225,81,226,81,227,81,62,108,37,83,75,103,201,103,254,119,117,124,146,148,36,130,230,112,39,130,50,123,229,104,34,110,105,113,208,125,166,88,10,106,78,106,212,113,160,116,176,129,160,133,65,126,78,137,179,127,111,142,42,112,63,112,44,121,41,134,7,148,34,148,28,136,237,157,60,0,42,0,205,83,85,98,238,78,212,143,233,145,60,0,42,0,175,114,127,89,78,108,219,108,109,153,3,131,41,141,72,117,9,138,211,142,79,90,181,104,213,118,53,123,169,140,236,142,239,152,240,152,252,110,14,91,196,123,60,0,42,0,26,83,185,101,161,144,74,87,120,108,179,130,139,103,101,114,171,148,211,109,132,134,1,146,58,147,11,157,60,0,42,0,50,150,168,89,63,98,170,128,197,87,130,156,116,155,31,156,60,0,42,0,255,78,191,139,119,95,186,126,9,102,24,102,236,116,6,119,35,80,202,101,33,125,43,130,42,138,227,154,173,157,60,0,42,0,62,101,189,141,60,0,42,0,15,88,60,0,42,0,222,152,131,89,94,151,219,152,97,85,83,90,84,90,4,110,239,126,242,131,73,98,131,102,6,115,95,151,246,136,203,125,26,135,15,151,177,156,37,153,161,153,17,154,27,154,221,152,60,0,42,0,165,128,221,109,83,129,48,135,230,135,60,0,42,0,15,103,208,128,42,83,253,139,92,89,177,96,144,101,208,104,167,105,225,127,92,133,185,138,218,123,60,0,42,0,32,84,190,130,159,94,110,103,184,108,210,114,186,128,50,102,199,128,57,141,247,79,85,82,158,83,191,117,107,150,93,92,9,132,195,94,187,140,241,117,68,149,226,94,202,102,72,118,35,159,247,111,224,106,225,155,40,148,69,151,60,0,42,0,6,82,41,84,9,94,183,126,172,130,16,102,27,108,219,84,213,122,111,136,122,81,27,125,194,127,93,81,251,104,28,138,174,142,90,145,22,146,240,150,6,103,52,153,89,153,60,0,42,0,95,87,162,89,142,92,126,108,12,103,140,103,131,112,166,128,146,127,160,134,161,134,164,104,252,104,26,113,182,132,154,153,171,150,179,88,105,94,198,111,97,133,117,155,104,106,204,113,211,113,110,140,34,159,181,127,22,159,118,140,82,143,60,148,169,153,194,158,60,0,42,0,137,124,250,158,60,0,42,0,253,78,5,95,75,89,255,95,206,121,126,80,36,97,170,124,232,80,164,97,110,89,185,129,222,124,188,156,53,112,93,156,60,0,42,0,48,78,206,152,249,78,232,81,236,81,166,89,163,108,168,108,238,81,171,103,1,92,175,117,253,118,28,120,168,152,239,92,240,92,81,80,123,104,253,112,18,116,54,93,38,115,81,132,11,149,83,105,142,114,2,135,11,118,184,120,252,80,200,123,55,145,210,146,146,106,207,149,80,140,189,147,224,147,70,145,247,91,67,112,52,134,59,151,45,136,74,151,204,152,183,158,60,0,42,0,175,81,6,89,64,99,114,109,34,144,56,88,132,110,174,153,83,100,40,111,152,125,66,130,60,0,42,0,189,139,130,137,42,85,247,138,60,0,42,0,228,81,73,89,46,117,248,79,87,110,40,113,72,113,29,127,87,141,239,156,243,156,12,157,43,126,245,140,60,0,42,0,133,137,60,0,42,0,207,78,114,87,187,104,60,0,42,0,17,125,230,136,60,0,42,0,54,127,38,84,154,89,57,127,59,127,149,107,236,150,0,157,60,0,42,0,43,89,21,79,158,144,75,84,139,89,199,89,158,115,164,128,36,96,206,103,6,120,66,131,109,136,186,87,16,90,3,92,116,131,201,101,40,125,186,141,184,158,225,117,3,122,215,141,7,146,95,123,146,125,28,145,117,91,103,140,119,101,154,129,250,156,169,158,208,124,172,158,177,158,239,97,60,0,42,0,64,78,255,93,23,95,15,79,235,81,54,117,91,79,185,81,28,82,90,91,118,98,153,130,163,130,136,84,170,92,127,95,43,96,194,98,13,103,142,103,237,108,194,126,203,126,251,130,0,131,216,79,152,87,235,103,31,108,17,109,165,112,184,115,73,117,80,117,83,121,88,127,47,131,219,144,232,151,249,84,63,104,110,109,41,120,169,131,168,134,16,83,116,104,170,109,240,112,8,116,38,123,48,123,49,125,60,125,199,127,116,130,212,131,89,134,177,136,69,94,244,104,101,125,102,127,77,132,143,121,176,124,141,125,64,130,9,135,144,143,88,146,92,146,171,152,231,156,145,105,42,122,153,123,205,151,94,94,147,111,96,135,244,154,20,157,232,138,62,142,59,143,132,155,65,118,70,137,178,155,251,158,101,137,105,157,157,157,60,0,42,0,82,84,154,98,43,117,118,78,156,94,35,95,202,98,167,101,204,79,219,79,213,128,217,144,236,156,239,79,220,145,225,145,108,99,133,143,40,105,36,113,217,118,81,129,207,110,5,135,80,129,20,143,56,86,168,100,171,100,43,152,52,155,32,124,252,158,60,0,42,0,29,150,54,114,163,139,216,78,135,89,31,141,68,150,144,84,127,87,206,122,28,150,120,154,13,89,202,92,84,121,3,138,160,140,116,141,165,134,157,136,90,150,105,80,168,81,111,82,102,90,185,134,133,80,141,90,204,91,169,95,255,121,47,132,215,134,132,137,66,138,75,141,49,105,26,127,121,129,139,156,163,121,7,137,20,137,89,141,238,125,103,133,92,135,110,135,230,140,217,153,20,91,27,126,57,143,146,155,251,140,81,147,98,147,198,156,134,137,165,153,18,156,60,0,42,0,92,145,60,0,39,0,208,253,71,0,39,0,60,0,42,0,238,101,119,84,14,86,32,86,60,0,42,0,134,148,28,92,118,86,55,147,60,0,42,0,21,92,141,115,60,0,42,0,44,92,64,155,60,0,42,0,133,79,229,139,194,144,84,150,147,87,223,89,208,92,68,131,80,102,69,141,97,117,116,121,111,125,114,138,101,140,197,140,204,140,60,0,42,0,203,95,57,101,96,125,60,0,42,0,16,78,98,78,3,83,4,83,35,150,90,103,153,148,214,118,97,100,137,110,98,132,35,146,145,150,36,98,130,105,233,105,203,132,17,111,234,105,194,116,60,0,42,0,24,117,211,95,137,130,192,143,60,101,70,103,149,115,157,128,105,87,212,108,248,119,247,130,121,78,209,103,255,122,179,117,80,145,147,124,129,78,242,81,50,92,52,92,120,123,39,111,241,156,54,92,55,92,80,155,60,0,42,0,224,78,94,98,175,118,198,121,102,136,118,141,98,101,127,104,52,123,8,122,31,97,137,111,149,141,68,106,192,100,51,124,20,156,225,156,100,156,60,0,42,0,114,94,240,101,117,108,240,118,192,126,29,80,206,81,230,109,58,125,76,138,173,154,121,94,166,105,138,106,17,141,99,141,27,141,104,112,60,0,42,0,136,81,83,127,174,81,26,82,96,103,178,126,155,128,161,92,104,114,152,117,252,119,56,127,162,148,91,82,97,127,8,88,134,99,237,145,225,104,133,114,61,88,177,125,65,127,252,146,160,147,60,0,42,0,151,92,23,93,47,110,60,0,42,0,53,113,57,113,123,123,211,105,5,98,6,98,60,0,42,0,139,118,148,127,153,127,216,154,144,118,217,154,239,129,220,110,212,105,126,119,143,129,249,105,112,106,217,123,213,124,59,153,220,106,223,151,206,157,27,159,241,157,60,0,42,0,48,89,114,103,210,131,1,122,30,100,31,127,160,102,192,105,193,105,62,122,63,122,80,149,30,126,193,133,186,106,243,133,60,0,42,0,63,84,74,84,194,82,240,139,220,144,252,92,110,121,112,121,6,149,118,123,158,121,165,138,239,146,60,0,42,0,8,98,225,78,42,87,181,114,165,126,19,98,144,128,107,114,153,117,175,84,113,114,229,84,243,128,188,136,61,158,114,82,1,100,65,95,210,110,40,98,76,107,16,157,26,157,241,100,12,139,63,157,182,147,60,0,42,0,68,84,110,79,12,83,12,99,22,131,1,150,105,151,75,101,60,104,50,155,5,97,245,129,91,132,210,134,211,136,148,150,221,85,101,88,198,110,225,137,63,100,197,105,136,129,163,149,164,149,102,115,73,149,136,151,208,151,188,154,253,138,53,143,175,155,202,106,218,151,85,143,183,151,20,154,60,0,42,0,255,84,56,130,240,85,60,0,42,0,42,78,4,84,124,134,11,80,76,120,236,148,135,123,60,0,42,0,217,126,102,125,60,0,42,0,57,104,223,141,60,0,42,0,207,84,60,0,42,0,110,130,60,0,42,0,152,78,153,78,27,131,239,99,4,100,60,0,42,0,47,82,154,94,74,117,109,109,21,128,238,131,41,105,63,113,90,125,83,141,82,158,234,125,6,126,174,127,225,140,185,127,138,157,60,0,42,0,224,144,253,84,194,87,250,92,45,99,224,126,63,128,132,131,151,104,134,125,160,156,190,154,193,155,60,0,42,0,244,102,41,88,133,102,60,0,42,0,229,93,19,95,108,81,183,83,159,82,59,101,91,103,155,79,252,124,177,128,171,91,174,91,109,96,163,134,172,142,154,159,17,83,104,88,74,94,41,97,229,137,179,142,149,113,20,83,189,120,248,154,245,137,143,159,148,159,60,0,42,0,254,94,233,93,94,108,241,98,242,98,49,104,217,115,1,143,143,151,60,0,42,0,113,81,33,141,190,127,29,85,162,140,187,131,60,0,42,0,80,97,60,0,42,0,254,82,93,79,159,108,169,148,167,136,17,127,14,146,157,110,100,146,241,125,32,137,221,123,60,124,178,151,221,151,60,0,42,0,182,130,163,92,215,114,223,130,184,103,189,115,7,128,9,128,49,123,8,128,188,134,127,140,60,0,42,0,120,87,132,103,223,139,45,141,162,87,228,89,41,131,147,81,31,89,32,89,61,138,190,90,64,95,6,100,108,138,88,144,202,150,203,105,121,113,207,137,128,100,175,137,252,140,60,0,42,0,48,79,113,84,149,84,209,89,100,91,189,108,210,108,253,130,231,103,113,143,2,85,91,127,42,158,31,123,199,131,240,131,196,134,218,137,241,142,242,142,156,143,100,145,50,146,141,123,155,123,244,90,208,123,109,106,149,155,35,157,60,0,42,0,187,157,60,0,42,0,3,89,228,83,98,98,105,108,194,139,55,140,161,128,111,114,168,154,3,85,95,127,150,127,39,144,180,148,166,80,82,85,200,109,53,129,202,134,204,134,51,92,50,97,199,132,65,138,137,153,68,158,190,105,194,107,55,146,19,159,20,159,15,86,150,105,183,118,88,158,64,122,14,126,211,124,163,133,242,111,188,118,204,129,66,143,54,153,20,112,236,118,189,119,49,136,60,0,42,0,250,86,69,101,197,81,126,152,12,88,19,93,46,93,143,104,127,114,221,104,123,121,199,150,252,117,18,122,34,149,241,80,46,147,180,156,221,155,103,152,60,0,42,0,220,116,46,82,205,128,29,104,57,158,68,107,113,113,82,128,170,152,143,141,128,82,250,125,59,142,189,146,179,152,48,157,39,154,60,0,42,0,142,81,231,83,80,82,110,82,225,91,60,0,42,0,102,83,108,87,214,139,2,99,105,85,155,99,99,127,83,125,107,127,2,137,127,138,60,0,42,0,86,78,180,99,81,100,60,0,42,0,208,98,180,103,250,103,137,123,60,0,42,0,44,89,207,83,42,96,96,96,60,0,42,0,115,81,194,137,152,91,160,81,140,137,12,80,250,104,132,132,164,122,162,149,29,118,79,118,179,137,215,149,207,156,220,149,37,156,192,137,94,156,60,0,42,0,158,131,134,153,47,116,239,117,102,123,161,123,40,143,24,130,39,147,40,153,228,156,60,0,42,0,204,107,49,78,47,141,244,108,186,96,239,96,188,99,171,109,171,140,185,96,124,121,99,97,92,100,69,111,102,144,12,106,229,118,70,127,218,150,128,142,198,147,76,112,31,114,216,116,212,119,54,121,115,158,80,127,117,148,121,156,27,158,60,0,42,0,73,81,110,112,138,79,151,112,154,112,155,112,163,84,153,87,239,89,56,109,42,131,68,104,225,112,214,115,241,128,217,80,4,143,167,146,198,158,60,0,42,0,127,94,131,94,183,114,227,94,119,115,233,129,60,0,42,0,199,79,27,144,230,129,151,100,60,0,42,0,31,107,60,0,42,0,82,95,45,87,171,89,159,159,196,137,189,144,136,118,37,131,250,149,48,94,234,115,255,128,128,78,128,80,69,120,144,122,191,136,143,137,175,90,198,94,29,105,112,116,204,144,226,90,107,100,168,149,145,156,0,91,251,105,252,105,157,135,157,116,161,119,173,129,173,155,156,159,194,93,120,107,54,155,41,154,204,116,57,155,247,106,60,0,42,0,132,91,63,108,57,103,104,143,139,94,121,79,38,83,225,139,82,150,157,87,253,89,81,96,49,101,120,118,204,142,60,155,170,94,106,121,45,83,119,102,64,110,235,134,228,137,109,138,172,83,11,124,225,135,60,0,42,0,48,101,61,82,63,82,11,102,220,103,148,112,53,141,66,104,103,104,34,105,36,115,64,123,180,140,213,132,234,141,49,83,138,82,140,82,161,93,140,100,246,105,156,106,182,119,172,121,2,124,195,106,80,118,88,137,220,156,188,151,86,156,101,156,60,0,42,0,40,78,110,136,195,96,242,126,158,136,138,143,218,110,216,132,254,110,196,125,9,133,217,120,37,143,167,156,140,155,192,155,60,0,42,0,205,104,84,119,116,119,173,116,52,139,60,0,42,0,89,84,188,84,218,87,237,144,111,85,29,88,30,93,27,146,5,149,142,88,17,118,19,86,73,95,196,111,72,135,75,147,77,95,200,135,60,0,42,0,239,86,246,86,251,86,253,86,0,87,11,87,60,94,88,129,87,94,86,97,13,111,93,128,46,133,149,129,98,134,152,153,60,0,42,0,156,103,200,96,201,109,19,115,211,131,131,153,1,105,1,137,232,105,191,124,182,125,62,135,249,136,32,143,1,147,28,153,57,148,60,0,42,0,199,143,78,144,60,0,39,0,208,253,72,0,39,0,60,0,42,0,200,84,234,148,60,0,42,0,228,134,60,0,42,0,100,89,60,0,42,0,141,84,179,84,232,85,60,0,42,0,216,143,105,91,38,152,184,154,132,144,60,0,42,0,119,109,242,128,248,112,112,88,124,145,162,145,60,0,42,0,165,78,142,89,135,154,179,91,38,108,208,85,0,153,237,153,244,153,90,153,60,0,42,0,161,86,60,0,42,0,68,79,120,152,251,84,182,134,99,145,7,152,232,90,61,140,168,97,160,153,91,107,62,159,60,0,42,0,151,144,43,84,175,144,253,81,129,84,163,128,254,81,119,134,5,85,5,87,34,90,91,109,33,93,87,102,146,104,181,109,19,113,0,116,210,91,69,93,233,151,29,117,104,123,44,135,143,111,225,146,125,155,211,151,60,0,42,0,6,78,136,83,85,127,107,109,138,85,10,133,26,150,67,140,43,155,60,0,42,0,73,108,125,92,87,108,236,149,241,101,190,92,190,87,141,96,77,99,134,109,2,115,159,131,88,102,10,113,225,131,236,145,136,149,148,118,69,119,188,80,255,134,148,152,175,153,150,100,34,111,45,135,181,102,175,113,178,146,206,146,190,97,188,100,240,127,146,135,55,152,68,152,251,153,64,139,215,150,26,112,43,134,190,157,60,0,42,0,111,81,51,114,60,0,42,0,47,89,60,0,42,0,192,130,210,143,187,101,109,103,179,87,215,126,233,115,16,123,42,130,162,134,131,152,165,140,85,123,78,125,15,152,103,155,60,0,42,0,134,108,60,0,42,0,32,131,191,132,134,86,133,133,167,133,60,0,42,0,220,107,211,122,157,134,235,107,3,105,229,85,70,115,137,140,81,86,84,115,106,140,55,86,75,115,213,138,43,81,142,86,213,88,224,111,71,124,20,136,121,139,60,0,42,0,125,89,221,144,60,0,42,0,247,83,10,102,38,102,207,121,224,84,79,96,142,96,105,109,23,128,103,102,207,109,144,80,147,118,23,145,200,110,85,128,95,134,164,102,173,102,148,111,156,118,158,118,205,102,161,118,131,133,165,118,172,147,162,152,79,112,101,152,29,156,93,112,60,0,42,0,195,139,117,84,178,98,49,107,157,85,54,138,236,85,26,136,60,0,42,0,190,121,8,84,85,79,190,82,138,84,140,84,192,89,179,108,195,144,198,92,247,102,199,103,226,114,199,118,122,124,7,125,2,150,120,153,236,84,70,101,56,104,201,118,205,118,119,131,93,85,184,109,46,110,210,118,244,121,207,131,2,132,181,134,129,159,210,96,173,124,56,138,140,152,65,105,252,107,149,111,101,138,136,140,5,143,76,146,22,150,132,156,134,113,86,158,167,158,28,152,213,123,238,127,155,135,122,155,9,121,212,149,168,151,85,159,136,137,161,157,172,118,73,148,162,159,60,0,42,0,107,79,142,87,58,141,148,136,201,91,3,113,192,140,195,85,66,113,139,120,135,113,16,137,107,141,100,158,82,122,239,127,209,88,75,118,30,139,250,113,0,114,174,157,180,157,77,151,78,151,22,158,79,151,60,0,42,0,210,158,209,158,63,86,118,111,60,0,42,0,235,98,213,117,142,151,60,0,42,0,119,79,136,95,224,114,106,138,60,0,42,0,104,96,60,0,42,0,168,78,252,84,153,96,165,109,72,85,29,129,60,0,42,0,238,89,70,96,82,96,65,104,198,112,251,128,59,158,42,106,107,106,97,136,52,157,70,157,5,134,69,148,60,0,42,0,60,88,60,0,42,0,119,86,60,0,42,0,255,83,61,84,77,84,116,112,112,143,196,84,7,138,216,112,227,142,200,99,57,110,34,113,97,120,62,140,168,133,55,143,157,86,103,147,95,143,60,0,42,0,220,78,24,95,133,89,162,126,48,84,143,91,111,108,146,115,174,126,243,149,150,91,211,108,156,115,240,130,172,87,2,90,42,109,209,122,5,125,109,131,121,134,100,109,24,125,195,127,62,128,84,120,45,125,57,140,63,158,49,110,228,122,160,124,82,132,83,132,28,146,142,149,139,125,221,127,60,140,66,111,119,146,131,151,95,155,208,146,75,95,123,133,16,151,201,158,31,151,59,157,204,158,60,0,42,0,78,102,202,85,60,0,42,0,167,139,12,138,167,149,148,100,139,111,146,111,190,146,194,149,40,155,192,149,60,0,42,0,65,159,60,0,42,0,175,79,230,119,7,145,137,85,63,94,52,115,84,132,10,118,122,119,204,123,199,124,237,127,186,154,245,127,109,147,49,153,248,155,60,0,42,0,60,84,188,114,60,0,42,0,14,84,200,144,154,83,149,87,140,95,9,109,5,144,25,80,32,88,94,140,142,156,152,156,156,155,95,156,60,0,42,0,78,78,111,78,34,83,77,134,124,84,128,87,253,95,18,102,246,102,216,108,248,130,87,96,192,112,119,143,43,83,63,85,218,96,244,109,86,134,228,142,17,86,227,91,249,110,208,150,96,94,47,98,81,107,180,129,60,139,60,0,42,0,235,86,135,98,39,95,208,114,243,116,225,128,246,88,186,150,247,88,155,101,0,113,150,85,250,88,169,90,48,100,86,110,34,115,87,125,107,132,92,105,115,113,90,116,29,86,27,133,85,158,242,105,182,123,202,124,116,135,90,136,113,155,32,126,156,135,144,145,54,152,243,137,120,147,44,153,96,157,43,112,13,155,23,156,152,157,166,157,60,0,42,0,85,78,123,108,78,134,82,109,255,79,44,85,0,132,37,116,93,134,248,110,63,147,241,155,60,0,42,0,101,78,146,78,22,95,54,98,55,98,56,98,177,81,180,81,144,130,13,94,164,98,141,108,170,108,181,92,25,96,61,98,8,102,145,103,24,96,92,121,15,123,144,124,95,90,72,98,224,116,91,105,192,85,148,125,32,145,253,150,237,90,238,90,98,100,236,110,48,133,244,105,169,113,248,156,4,124,89,147,155,86,113,158,119,139,224,156,196,151,0,152,111,156,12,158,60,0,42,0,177,130,178,130,215,84,214,87,114,90,27,105,116,120,41,86,192,124,174,138,138,132,53,147,36,134,60,0,42,0,78,83,225,89,133,154,239,131,234,145,235,145,231,148,209,110,62,115,51,100,182,100,198,120,80,133,150,135,216,146,65,139,245,147,74,154,232,157,60,0,42,0,22,83,18,82,59,89,121,103,59,117,221,139,11,93,102,104,115,90,107,117,5,91,117,117,223,137,113,138,131,82,102,100,58,106,255,90,236,105,133,111,217,138,227,138,202,158,99,126,25,130,110,139,60,0,42,0,0,96,138,95,238,109,208,105,34,137,29,142,208,97,49,137,247,97,36,112,240,106,50,128,57,134,60,0,42,0,79,87,182,84,202,88,222,88,62,134,60,0,42,0,34,107,191,114,83,107,5,157,77,157,68,145,190,86,253,97,126,115,97,107,153,139,155,140,105,154,60,0,42,0,175,115,199,144,216,92,57,109,223,114,65,131,83,104,8,132,17,132,207,91,89,125,200,150,132,125,166,127,134,140,110,146,62,149,28,87,27,91,240,91,180,111,51,127,27,150,176,116,114,140,112,147,110,149,110,158,235,124,111,126,88,143,54,148,228,149,31,155,219,116,60,0,42,0,19,127,233,125,12,101,60,0,42,0,123,94,66,89,146,128,80,89,166,91,36,85,98,99,99,109,163,109,201,112,163,96,153,104,21,113,45,144,154,85,155,85,72,93,12,97,219,99,25,110,234,117,70,119,101,113,77,116,98,140,54,111,19,118,245,105,169,156,208,100,163,111,231,133,199,155,246,155,0,156,60,0,42,0,223,93,147,128,82,131,65,136,26,103,67,88,76,97,60,0,42,0,135,118,95,80,240,81,141,150,196,158,164,85,45,88,147,90,50,93,168,95,246,96,95,110,95,132,81,144,195,158,123,105,76,113,93,116,180,88,98,111,90,115,61,149,191,113,156,116,193,123,202,123,78,130,87,135,64,118,250,120,84,122,251,138,39,124,229,135,96,147,45,153,199,156,170,141,249,151,4,148,28,154,9,156,81,156,236,157,60,0,42,0,51,96,77,96,190,112,186,91,67,102,68,102,91,89,14,140,76,94,100,138,128,113,40,126,10,139,206,106,100,81,60,0,42,0,48,97,201,110,165,105,194,102,157,118,164,147,169,118,60,0,42,0,112,112,115,112,217,139,180,84,98,96,251,98,37,99,3,109,122,134,134,136,86,102,227,112,242,115,87,140,78,90,136,90,238,99,218,127,137,143,147,150,137,102,78,105,71,113,136,121,124,138,81,94,115,119,24,137,69,86,157,100,85,86,236,127,29,143,190,158,189,95,179,150,8,112,51,134,52,156,60,0,42,0,216,86,222,86,236,86,106,79,251,94,253,94,91,96,4,109,52,131,244,143,224,112,152,134,37,144,208,117,212,134,213,134,22,135,176,155,60,0,42,0,148,96,192,107,193,107,199,107,147,106,236,113,109,139,60,0,42,0,73,83,118,92,119,92,71,108,26,79,179,139,203,108,213,84,77,109,216,126,148,130,95,131,242,139,90,96,117,96,233,112,63,141,87,95,102,102,253,121,153,85,224,96,79,110,117,125,11,127,217,127,19,150,47,83,89,95,90,95,3,103,217,110,111,138,196,140,146,152,225,80,18,86,35,118,39,133,168,138,26,87,237,91,103,97,147,97,179,102,229,105,83,111,89,133,102,86,18,91,187,95,94,106,168,107,174,111,202,111,105,115,164,116,136,133,137,133,241,138,46,152,133,106,244,113,175,116,242,123,241,133,47,153,150,86,186,119,98,122,98,126,234,135,216,106,106,126,253,127,83,139,54,81,248,147,224,149,72,91,44,148,103,151,127,139,106,152,60,0,42,0,243,97,60,0,42,0,15,102,44,102,100,131,90,90,219,96,189,109,13,150,212,104,153,107,119,132,103,119,111,119,189,149,60,0,42,0,246,95,81,109,161,104,132,153,26,88,62,110,63,116,66,155,27,153,73,126,75,143,50,159,60,0,42,0,232,139,210,79,49,80,2,87,141,99,247,109,29,113,183,110,65,97,232,137,226,138,60,0,42,0,25,84,104,82,32,128,42,149,144,82,132,86,67,147,65,140,9,101,30,154,60,0,42,0,120,79,59,109,238,121,243,121,60,0,42,0,107,112,25,79,169,144,172,148,37,146,55,111,37,89,60,0,42,0,142,108,22,98,39,141,159,84,9,120,240,79,71,99,19,119,183,131,132,149,157,99,120,121,168,140,209,96,228,101,71,105,113,110,141,121,166,132,111,89,233,111,114,115,13,151,180,106,11,139,198,119,107,122,108,149,175,86,22,112,47,128,103,130,255,133,22,136,191,86,228,102,219,129,104,118,208,119,74,148,67,151,60,0,39,0,208,253,74,0,39,0,60,0,42,0,12,78,165,139,251,81,9,82,253,83,101,153,105,78,15,82,62,87,58,103,145,115,140,128,168,130,246,119,33,158,133,103,173,84,235,89,249,143,94,82,39,85,236,89,80,92,239,121,4,123,226,152,250,87,233,126,158,85,70,93,71,93,103,101,30,103,132,114,83,123,9,127,77,141,227,82,216,85,120,117,24,122,225,141,251,141,238,156,223,80,196,107,149,123,136,146,48,86,131,100,227,105,45,106,127,117,61,122,221,125,237,137,235,140,184,142,81,159,188,88,95,106,192,111,163,116,168,121,77,122,64,137,36,147,174,150,202,100,239,120,10,124,62,126,129,127,247,140,63,145,197,106,45,128,95,142,222,150,79,139,242,151,143,157,100,139,22,148,81,153,106,118,139,142,191,151,196,157,78,159,135,127,64,134,71,148,137,137,89,148,79,159,136,127,4,158,138,137,60,0,42,0,188,78,189,78,202,83,11,79,9,84,140,92,118,95,227,95,114,108,167,126,115,83,129,103,128,118,159,78,118,79,216,139,198,144,125,83,221,83,222,89,37,96,228,114,141,118,8,123,26,125,228,99,190,117,10,129,217,137,110,80,89,83,180,94,15,113,59,140,34,98,216,104,117,105,155,107,82,110,198,150,73,88,201,90,49,97,107,105,186,132,140,141,145,143,201,105,36,128,140,129,161,146,175,93,87,111,200,111,32,118,191,123,64,133,122,133,22,142,97,158,118,106,157,106,143,135,47,143,201,133,75,137,80,142,83,147,101,130,77,124,90,143,246,147,53,151,186,157,209,157,164,142,230,150,231,150,60,0,42,0,224,81,241,93,46,78,128,89,177,114,242,108,110,134,36,99,142,99,126,156,126,94,31,98,116,93,130,158,98,155,160,100,224,100,86,122,227,135,85,155,60,0,42,0,80,95,81,95,225,101,161,139,176,139,14,79,170,126,86,87,147,89,204,95,128,98,176,130,69,150,66,82,99,91,220,84,141,87,220,92,226,101,14,109,78,109,0,125,13,131,36,131,96,131,8,138,100,82,18,125,231,126,202,137,24,138,72,80,194,91,196,91,155,95,184,96,227,101,158,104,8,110,109,121,72,88,206,96,238,129,106,132,7,133,126,81,245,117,153,125,223,132,218,136,155,150,62,155,168,102,3,111,8,111,157,121,41,122,74,122,139,138,253,141,1,151,154,156,169,102,55,122,197,138,171,156,128,81,145,82,193,102,68,122,138,133,251,154,140,86,149,106,223,111,75,126,125,127,186,133,172,137,181,106,75,157,76,159,237,94,251,97,96,118,103,122,14,134,165,154,218,155,49,112,124,126,46,134,64,156,59,134,61,151,54,156,63,156,109,156,101,154,60,0,42,0,160,82,107,78,57,89,61,79,62,89,184,98,115,79,193,98,199,108,4,131,230,143,183,103,224,107,67,109,200,115,201,87,182,91,121,109,194,117,156,104,51,123,30,128,136,136,162,80,51,115,109,132,207,141,140,114,117,129,107,146,9,86,127,146,83,149,216,124,109,140,145,140,181,147,154,158,60,0,42,0,63,87,230,95,116,98,207,144,90,131,223,144,10,85,93,96,162,131,27,98,215,148,30,98,241,134,204,136,138,152,250,134,242,141,4,153,207,146,44,152,48,152,54,157,74,157,60,0,42,0,50,117,172,92,190,115,219,128,154,101,62,141,190,148,71,80,125,90,166,95,157,101,53,105,200,140,64,146,142,105,218,105,21,118,159,106,60,0,42,0,247,78,126,154,182,103,193,90,79,94,162,105,249,80,60,122,213,153,60,0,42,0,11,98,120,89,22,92,117,94,90,87,124,107,244,149,191,81,20,98,170,115,169,128,112,130,230,89,231,89,124,81,209,118,5,88,228,96,15,115,58,123,197,131,250,131,92,140,84,110,75,114,141,114,4,127,76,132,147,149,27,100,55,105,62,105,78,113,74,116,119,119,138,120,35,127,185,132,99,140,227,118,139,123,43,106,158,113,216,125,81,133,115,133,163,156,253,156,99,158,184,113,239,123,17,126,113,130,172,151,48,153,162,153,137,158,16,112,175,151,210,156,177,107,27,121,184,137,115,157,56,112,39,148,252,106,178,107,188,157,192,151,57,156,207,86,67,134,111,148,201,151,60,0,42,0,221,86,227,98,167,103,237,79,236,103,39,131,57,80,56,99,97,99,21,123,207,81,106,82,152,104,192,104,85,110,188,141,63,88,192,99,195,99,28,105,27,110,81,119,119,120,229,136,67,138,15,149,63,95,149,102,80,116,103,123,128,123,120,125,43,140,69,95,41,98,44,98,177,120,9,81,230,127,191,100,162,106,198,133,71,137,73,137,7,139,71,142,188,119,6,121,33,124,109,126,45,139,11,155,14,156,120,158,61,112,18,136,23,148,151,82,123,158,91,124,126,139,122,137,124,158,60,0,42,0,193,137,246,78,139,137,250,94,111,153,81,82,10,109,110,114,80,131,49,141,244,79,101,80,99,82,43,104,167,109,212,115,48,130,113,82,164,95,16,110,184,136,15,140,252,145,203,91,212,101,87,105,253,107,133,110,113,129,246,129,101,132,245,141,206,140,116,146,46,149,237,80,151,105,56,111,42,133,141,82,142,82,185,88,151,111,173,123,203,124,211,138,228,140,157,141,16,142,58,142,146,82,148,82,166,133,235,138,251,146,117,147,30,153,183,119,245,120,0,121,185,135,115,147,246,100,250,111,93,126,51,112,181,137,233,147,102,130,124,139,94,143,49,148,81,148,82,148,108,148,115,148,60,0,42,0,122,106,60,0,42,0,95,108,220,89,6,92,51,131,70,109,85,117,71,140,7,92,65,132,122,117,106,100,222,127,245,80,63,111,128,135,195,88,48,127,145,133,127,106,173,107,191,135,201,156,133,117,19,121,134,117,110,126,193,151,66,156,60,0,42,0,178,139,86,89,104,104,139,80,139,132,104,89,108,89,35,133,243,105,78,115,41,128,153,129,27,139,92,152,60,0,42,0,30,83,32,83,5,89,28,95,77,150,26,109,219,126,54,95,182,136,115,125,113,145,229,82,240,110,121,93,126,100,74,95,159,114,225,124,164,145,232,124,172,145,228,106,61,139,60,0,42,0,98,103,60,0,42,0,125,130,129,130,164,78,202,144,227,89,7,90,231,92,71,109,45,131,46,131,132,154,246,128,18,105,38,113,223,134,228,141,236,80,4,86,96,134,155,156,12,91,149,93,163,93,141,97,134,111,160,129,73,133,203,113,178,129,1,121,90,122,171,155,65,157,106,158,37,124,237,135,71,143,14,148,85,154,230,157,238,157,60,0,42,0,235,129,210,137,124,79,165,79,84,96,34,99,225,114,222,126,122,153,65,99,72,102,196,112,5,123,142,118,235,119,26,129,240,148,5,100,107,110,94,125,127,82,107,101,108,110,77,113,115,129,203,140,229,80,119,100,158,102,11,142,120,146,3,153,12,81,139,82,186,95,159,100,185,100,166,150,188,95,191,97,125,101,127,101,222,113,52,127,210,102,172,116,239,119,166,118,220,135,115,126,81,139,66,91,144,126,42,101,90,112,78,156,60,0,42,0,235,83,76,84,228,92,13,99,6,138,211,115,140,122,127,143,131,143,78,101,89,101,150,122,216,110,3,143,2,86,38,86,160,101,22,111,117,145,77,86,160,93,80,111,109,86,19,91,101,115,224,133,173,141,78,143,174,145,101,139,173,118,194,145,60,0,42,0,100,157,245,106,60,0,42,0,54,150,150,117,134,118,165,99,178,99,206,117,248,121,232,131,142,150,136,85,188,85,223,85,38,88,152,90,197,90,237,99,4,105,93,110,59,129,87,136,111,113,45,122,130,151,209,100,84,135,100,118,47,139,155,157,60,0,42,0,105,83,106,83,81,91,16,92,130,130,166,139,38,82,39,82,171,82,138,92,5,102,60,82,188,82,112,103,140,117,113,136,238,98,1,109,211,126,252,143,34,80,64,104,93,104,173,131,16,138,124,80,85,90,40,93,119,99,182,99,186,136,145,80,171,90,80,125,92,125,137,152,101,93,108,105,118,105,208,110,107,119,192,123,16,135,77,135,112,138,99,146,93,155,42,98,164,105,163,120,237,122,245,132,146,156,84,111,175,127,177,138,21,142,138,151,111,94,187,93,238,100,13,121,123,147,154,155,192,93,237,106,30,136,24,136,61,136,60,0,42,0,208,89,209,107,142,90,227,137,231,137,247,152,158,106,60,0,42,0,47,78,203,78,36,84,149,92,142,94,18,98,165,130,70,92,74,92,160,115,76,117,77,117,165,117,14,120,120,136,235,139,31,80,136,96,167,134,163,95,58,88,80,105,62,116,246,134,177,154,151,114,161,138,47,137,106,155,133,147,60,0,42,0,254,93,202,78,164,101,133,148,83,81,209,145,210,145,37,109,220,119,27,120,85,131,127,136,212,137,208,87,210,115,221,119,31,125,205,96,59,88,59,116,75,123,255,145,156,93,118,158,197,158,95,137,60,0,42,0,197,78,61,92,173,79,122,83,249,93,39,125,7,88,235,131,197,80,170,83,40,140,38,149,228,90,209,94,12,111,225,118,202,125,243,132,145,153,255,105,126,116,24,81,38,147,57,139,73,153,60,0,42,0,18,79,164,82,178,82,151,89,209,143,219,143,131,103,193,82,85,109,105,131,73,102,75,102,120,109,236,112,70,141,43,85,14,116,114,121,50,144,97,113,214,91,34,100,141,110,129,121,25,127,115,151,144,88,104,116,248,80,218,81,79,107,163,107,161,116,208,137,100,86,197,111,9,126,238,140,141,86,215,88,39,91,220,111,206,133,252,113,182,116,178,137,16,141,125,159,60,0,42,0,85,87,89,87,224,93,172,78,254,108,207,126,14,131,176,78,212,121,70,131,74,131,135,109,150,131,91,90,202,96,204,101,205,101,4,115,76,125,193,131,118,102,9,122,72,129,79,132,91,119,179,124,147,125,98,81,190,124,89,128,120,106,184,156,91,157,232,155,129,157,132,157,150,158,49,159,90,154,160,158,60,0,42,0,149,78,60,78,49,150,45,82,83,87,145,91,107,108,108,108,188,128,68,82,125,122,136,152,111,102,6,81,26,152,92,94,172,97,132,116,188,97,187,102,159,116,165,116,56,152,252,135,102,139,60,0,42,0,140,89,192,81,42,95,132,95,243,143,211,79,89,90,68,109,235,128,30,80,200,81,51,95,145,95,201,117,222,122,21,144,103,90,113,104,183,104,232,109,235,122,27,129,223,122,108,101,217,117,231,122,83,151,185,80,86,151,131,88,77,115,169,138,1,142,89,151,90,151,212,102,92,149,92,151,30,112,225,147,246,122,248,122,60,0,42,0,221,113,60,0,42,0,130,81,139,81,112,87,67,98,219,87,69,125,201,153,235,153,15,134,20,134,60,0,42,0,143,81,231,86,194,108,133,112,229,143,176,79,175,112,8,144,123,109,241,112,90,113,152,122,142,152,151,125,210,80,91,113,178,113,131,111,219,113,39,137,60,0,42,0,41,78,252,82,160,126,59,103,94,114,118,122,250,124,32,158,254,124,115,141,4,150,27,132,126,85,194,99,234,99,235,99,233,156,78,100,27,106,15,155,46,155,60,0,42,0,93,78,69,78,70,78,99,78,122,89,99,108,102,103,120,112,150,115,15,130,237,151,36,125,82,145,121,149,238,151,60,0,42,0,27,83,231,101,252,129,142,84,154,117,233,103,254,103,3,80,68,99,85,104,19,83,169,83,81,101,49,92,196,94,208,94,5,130,230,80,207,94,102,97,167,107,10,130,107,158,54,83,230,155,148,158,13,107,104,159,242,157,60,0,42,0,229,81,133,98,10,83,69,92,216,98,195,108,217,114,244,130,121,154,54,99,189,117,192,117,23,119,32,120,93,127,113,150,53,90,110,90,12,93,172,99,174,104,186,109,249,131,16,105,26,116,82,129,132,141,212,141,20,149,254,136,206,150,77,130,27,135,202,138,24,142,230,146,210,153,136,155,33,157,160,151,171,151,139,157,60,0,42,0,64,92,230,108,183,79,202,114,84,104,233,107,121,85,69,90,215,109,23,113,202,131,249,144,8,105,241,107,104,110,145,114,2,143,234,80,183,124,252,141,176,149,156,141,185,142,88,106,139,106,246,153,89,157,107,142,116,157,200,93,28,134,170,157,48,159,51,159,103,154,60,0,42,0,128,84,6,95,174,108,62,78,233,119,146,131,25,99,7,105,101,123,137,105,152,105,159,132,131,159,101,128,9,130,61,142,231,100,248,106,95,159,5,107,119,137,60,0,42,0,232,93,229,83,108,78,234,93,181,139,214,89,160,92,7,96,210,98,48,109,227,130,173,144,119,81,16,96,26,96,224,98,27,102,107,107,172,112,236,121,156,148,241,79,40,80,54,80,163,81,103,82,229,112,148,124,31,128,183,134,147,136,231,87,254,87,231,96,110,99,78,138,221,141,139,114,217,141,69,146,211,152,97,134,102,140,47,149,224,91,51,97,173,122,90,128,207,153,135,82,238,82,102,92,30,142,148,155,201,88,197,97,218,100,189,111,182,122,125,144,248,146,104,92,182,152,151,140,52,124,134,142,181,145,252,97,59,148,60,0,42,0,32,114,60,0,42,0,226,89,31,90,80,99,147,109,6,113,249,116,39,129,208,136,67,158,236,82,76,149,184,147,81,157,43,148,50,136,60,0,42,0,119,83,95,84,35,94,205,87,114,99,228,131,41,149,199,129,8,147,60,0,42,0,70,89,181,82,251,93,38,80,204,82,74,104,247,114,226,126,189,150,195,109,55,119,4,145,74,119,109,125,101,127,203,150,96,119,121,125,236,152,123,97,40,133,11,153,103,115,51,126,130,127,60,0,42,0,88,86,133,100,167,100,105,92,123,142,60,0,42,0,133,78,82,91,83,91,179,81,20,82,18,108,192,139,33,95,137,98,122,108,181,130,236,108,166,115,168,115,23,99,207,115,166,117,4,120,221,126,115,134,201,137,20,80,84,99,46,107,151,134,27,93,152,99,141,101,119,104,140,107,144,137,214,137,35,138,125,141,185,141,43,144,149,80,165,83,51,113,85,125,118,125,154,137,137,141,12,146,130,82,234,82,116,116,50,140,195,153,165,93,176,97,166,113,52,114,87,115,26,118,93,133,104,133,2,157,3,157,113,86,160,97,91,106,92,106,53,114,196,129,98,149,232,135,233,135,107,92,17,114,78,139,118,142,119,142,140,157,55,83,188,86,205,119,186,137,13,148,29,148,77,112,29,114,252,137,79,95,4,98,43,101,131,115,226,157,20,107,225,119,163,159,156,140,169,142,129,148,60,0,42,0,155,81,27,84,71,87,110,108,240,89,128,136,205,142,167,148,153,131,144,134,126,104,178,118,204,131,30,146,133,120,184,118,185,118,160,137,129,146,158,146,170,156,135,158,85,147,182,155,143,158,149,158,60,0,42,0,65,84,202,79,225,144,86,150,200,87,251,92,67,99,90,109,130,153,143,154,89,102,12,113,250,115,222,104,111,117,227,122,1,81,152,123,159,123,32,135,239,91,207,97,21,153,199,113,236,111,255,153,84,157,85,157,88,157,8,101,31,101,60,0,39,0,208,253,75,0,39,0,60,0,42,0,148,84,150,84,128,85,73,136,214,100,60,0,42,0,97,83,103,79,176,87,233,128,195,136,114,146,60,0,42,0,0,95,82,89,233,99,14,149,139,149,38,148,60,0,42,0,239,81,64,82,178,87,122,96,255,149,224,148,241,81,116,82,5,86,104,97,136,132,79,88,102,93,55,97,119,105,6,143,159,102,52,149,71,147,167,147,211,149,189,152,60,0,42,0,254,95,140,112,143,112,44,107,215,112,211,82,18,97,62,97,142,147,60,0,42,0,10,82,30,104,216,82,155,159,42,88,65,93,33,98,149,159,60,0,42,0,154,81,78,87,131,79,13,120,176,131,88,80,243,87,194,96,63,107,106,88,65,107,219,105,33,143,187,106,81,152,247,122,87,143,60,0,42,0,11,119,78,136,1,93,136,88,176,119,225,120,222,149,217,119,60,0,42,0,252,95,246,149,10,120,135,124,183,94,221,90,123,93,119,97,46,111,250,105,69,122,224,124,191,142,238,147,71,156,60,0,42,0,91,98,67,100,60,0,42,0,162,78,9,79,31,83,159,144,229,86,151,98,186,114,149,112,170,148,39,146,140,149,60,0,42,0,59,92,219,154,60,0,42,0,2,78,55,101,3,128,247,98,24,109,50,104,228,112,60,0,42,0,208,148,146,114,172,146,147,156,96,151,179,155,204,155,60,0,42,0,60,83,219,130,239,103,65,114,194,115,209,121,226,128,114,143,180,117,34,120,183,141,182,148,89,93,245,104,42,132,251,142,143,152,209,85,21,100,144,114,30,122,160,122,51,146,188,105,150,133,151,152,22,106,140,119,213,120,76,135,18,147,152,145,70,152,193,154,26,121,60,0,42,0,243,88,226,99,188,107,215,127,60,0,42,0,239,83,119,87,162,92,163,112,7,110,81,93,100,101,52,110,177,93,60,0,42,0,75,81,59,82,192,82,202,82,162,91,106,96,20,90,5,92,254,139,1,88,42,108,146,154,2,127,25,97,152,110,30,149,166,120,217,125,80,130,178,138,10,121,13,154,60,0,42,0,75,82,60,0,42,0,142,128,175,128,187,128,166,87,115,96,67,85,100,140,136,159,190,88,57,147,199,97,102,159,60,0,42,0,175,99,201,136,3,137,60,0,42,0,165,82,44,150,45,84,81,87,148,89,51,99,65,120,124,114,92,120,255,148,123,120,124,100,153,138,181,146,94,147,215,147,60,0,42,0,122,122,37,80,234,87,6,93,190,96,179,109,127,120,156,123,187,142,19,147,124,157,60,0,42,0,84,91,80,96,60,0,42,0,167,99,154,151,60,0,42,0,160,98,164,130,13,119,126,82,68,95,115,100,152,119,60,0,42,0,227,83,182,82,60,0,42,0,233,83,99,98,66,101,166,81,188,91,199,91,230,145,155,122,88,123,241,110,50,133,59,133,137,119,6,124,199,157,60,0,42,0,93,98,51,82,251,119,192,144,175,103,237,84,77,104,0,88,43,93,16,87,205,141,159,122,183,154,172,155,60,0,42,0,220,114,230,130,60,0,42,0,147,94,200,79,212,126,171,94,217,121,182,141,5,113,180,136,190,85,93,125,228,136,20,118,119,145,228,94,50,137,179,86,60,0,42,0,56,89,241,89,63,130,135,138,60,0,42,0,137,79,181,84,174,87,153,146,60,0,42,0,14,99,239,128,232,141,187,154,60,0,42,0,175,132,211,100,60,0,42,0,220,93,247,81,38,87,87,87,235,95,169,79,208,144,217,84,239,114,13,129,74,88,119,123,153,156,8,81,164,88,54,145,114,86,229,94,106,115,190,129,221,101,233,124,96,156,60,0,42,0,189,91,219,91,236,91,215,129,203,154,103,148,214,154,60,0,42,0,53,107,62,107,64,107,189,122,190,122,60,0,42,0,33,83,187,82,211,139,188,144,41,83,208,84,71,96,45,109,70,104,68,120,80,123,122,123,134,138,237,142,60,0,42,0,249,95,130,98,194,114,197,114,243,139,214,142,224,142,145,138,95,157,60,0,42,0,60,89,35,81,237,97,60,0,42,0,93,83,157,144,57,87,169,126,181,81,247,101,178,92,193,108,255,119,63,102,54,141,22,119,63,120,54,119,75,125,86,125,186,140,230,142,113,146,219,146,58,145,217,88,203,158,236,97,224,102,12,114,204,119,38,121,108,122,138,126,91,148,60,0,42,0,143,78,50,82,191,92,157,96,212,118,165,122,103,128,186,122,103,134,93,152,218,149,203,93,44,134,60,0,42,0,78,89,70,102,53,144,8,145,151,150,4,152,151,153,185,85,198,99,117,132,153,154,35,98,140,102,79,105,81,105,65,155,125,119,112,135,47,152,198,106,200,133,104,147,119,147,36,154,20,89,55,134,217,93,65,134,170,114,168,142,60,0,42,0,67,113,236,141,13,152,94,142,60,0,42,0,47,92,46,83,51,107,159,85,191,90,38,97,39,97,131,110,67,129,137,132,136,153,134,119,51,86,7,91,146,97,112,111,209,123,105,128,109,128,98,133,59,106,9,139,61,153,35,124,117,128,68,124,0,148,75,153,78,148,60,0,42,0,100,87,6,102,3,88,18,88,107,90,16,93,17,93,92,102,17,115,206,131,200,136,28,113,40,116,224,154,233,136,135,140,31,149,225,154,77,158,73,111,43,135,12,137,232,154,180,113,123,116,140,145,21,147,178,156,9,154,228,155,126,157,164,157,60,0,42,0,131,96,70,99,3,150,248,88,177,104,117,121,113,120,7,122,205,136,252,88,27,122,145,125,171,149,184,149,60,0,42,0,240,86,131,109,79,119,60,0,42,0,33,92,60,0,42,0,105,98,225,98,236,98,4,99,112,104,72,123,63,132,64,132,222,134,20,150,211,94,34,152,250,154,244,100,246,111,202,149,159,151,213,151,214,97,41,151,185,151,32,155,60,0,39,0,208,253,76,0,39,0,60,0,42,0,131,87,201,98,198,103,203,127,200,131,26,100,139,144,60,0,42,0,239,101,76,82,44,120,230,99,214,120,185,86,60,0,42,0,135,85,222,133,60,0,42,0,130,110,74,129,231,99,75,105,12,118,33,135,75,135,162,143,163,143,114,135,200,129,11,101,9,114,216,129,14,155,206,116,116,149,251,155,31,136,94,148,60,0,42,0,102,85,161,151,60,0,42,0,101,103,134,79,235,79,8,80,3,93,149,95,158,109,177,131,242,144,97,90,13,93,178,94,160,95,190,104,246,109,13,115,10,132,40,144,246,104,28,116,89,123,252,148,130,123,56,147,11,154,224,155,134,157,179,158,60,0,42,0,59,85,73,141,80,119,94,119,86,141,218,140,209,111,244,140,60,152,66,152,94,118,99,157,40,112,44,112,65,124,254,133,244,106,105,118,112,137,95,124,60,0,42,0,112,81,154,92,230,98,15,104,106,90,207,96,80,93,123,132,17,150,221,132,48,140,177,83,156,111,52,137,22,81,147,101,238,123,226,97,227,113,247,113,205,133,85,137,103,149,204,149,188,116,100,137,75,139,113,94,20,101,62,112,70,112,67,124,127,126,45,134,149,101,4,107,55,121,116,137,210,86,97,112,99,124,23,107,149,139,157,142,125,137,132,148,202,151,60,0,42,0,200,137,104,109,253,99,6,127,132,105,36,111,113,127,130,145,200,88,210,97,167,137,229,100,62,91,246,97,68,91,189,137,79,91,44,101,96,112,213,86,22,107,38,114,114,152,156,126,60,0,42,0,194,112,229,110,215,113,130,86,235,111,1,114,27,114,211,116,36,114,109,148,247,124,60,0,42,0,119,85,60,0,42,0,198,82,206,144,222,144,52,107,252,114,6,150,207,90,202,94,143,101,121,104,5,116,200,132,148,105,111,116,96,120,2,122,18,149,100,123,70,130,11,135,210,144,130,135,180,142,195,146,175,147,250,153,60,0,42,0,23,103,22,103,250,112,113,88,226,132,3,106,143,138,36,103,60,0,42,0,204,87,0,93,106,109,168,131,151,132,172,149,60,0,42,0,37,85,60,0,42,0,94,99,169,124,136,100,60,0,42,0,179,82,180,82,98,114,130,122,240,84,32,85,2,93,118,109,222,82,232,117,249,148,215,80,46,86,151,93,165,97,37,103,70,118,241,120,41,124,231,135,170,145,18,148,95,152,221,154,60,0,42,0,2,128,1,128,108,79,190,84,229,89,69,96,235,114,86,131,51,104,239,115,83,120,209,148,239,134,160,146,102,111,81,106,177,155,81,143,60,0,42,0,157,109,217,112,224,85,34,128,106,145,234,90,166,97,135,111,188,142,111,106,46,128,194,142,60,0,42,0,139,128,60,0,42,0,194,78,30,150,80,78,251,83,199,95,80,98,59,108,123,130,143,115,208,108,251,122,51,120,125,105,247,151,2,106,21,124,211,156,51,156,60,0,42,0,134,78,121,153,14,153,60,0,42,0,210,82,60,0,42,0,247,150,216,90,39,127,2,133,126,117,194,100,145,106,50,126,12,121,109,149,209,106,195,116,184,127,39,121,141,126,77,127,50,134,51,148,96,143,61,81,232,88,88,148,65,151,70,134,105,156,25,107,157,126,58,159,60,0,42,0,189,83,18,128,212,139,146,87,65,88,107,125,66,129,171,80,132,138,15,106,202,120,76,133,229,120,126,133,33,81,216,88,87,118,223,133,208,106,203,119,40,121,69,112,29,136,61,134,132,139,120,148,19,158,60,0,42,0,234,108,33,109,123,124,153,109,218,109,47,125,121,145,135,146,27,152,42,152,17,147,2,101,163,152,94,152,135,126,49,134,183,121,60,0,42,0,30,86,60,0,42,0,26,93,68,88,241,104,94,105,144,120,28,122,24,143,144,133,60,0,42,0,183,81,60,0,42,0,48,80,14,88,35,97,86,119,28,142,60,0,42,0,233,84,60,0,42,0,21,82,93,103,152,83,83,82,248,114,187,121,114,131,138,154,161,96,168,104,169,104,184,104,129,114,13,116,222,131,177,85,195,104,130,114,66,158,122,82,19,111,93,119,99,123,33,127,67,130,224,132,10,135,224,90,119,91,6,106,131,116,224,118,240,122,141,140,206,124,62,133,53,137,235,146,161,156,206,158,241,123,45,126,121,127,5,147,205,135,39,139,168,145,159,86,220,133,140,144,226,150,207,155,132,101,200,116,235,147,236,155,121,157,231,158,196,86,85,112,58,134,33,136,43,136,75,91,242,94,153,82,87,148,114,122,108,124,154,126,106,154,122,156,29,158,60,0,42,0,60,121,78,103,204,145,218,79,219,92,226,92,12,90,242,92,108,109,38,144,6,116,225,136,2,149,180,124,207,136,74,140,240,146,164,156,99,81,167,111,174,121,201,155,248,135,180,145,226,156,144,144,103,156,26,107,60,0,42,0,155,82,134,83,137,83,116,92,203,122,15,84,56,103,61,78,41,82,177,82,86,84,92,87,165,108,200,130,139,79,166,92,62,98,165,103,180,108,160,117,217,130,182,150,208,79,234,79,3,104,14,104,172,117,5,120,24,131,84,131,114,141,121,143,230,144,14,85,51,90,167,96,23,104,27,104,150,109,1,115,213,115,58,120,62,120,221,121,133,131,137,131,51,85,111,90,183,96,32,123,146,124,157,124,55,129,184,134,206,134,136,80,211,81,164,83,217,104,226,117,224,134,72,138,222,141,243,150,175,83,91,88,68,97,46,100,167,110,154,132,158,132,93,146,232,156,178,83,166,102,116,107,110,116,159,125,39,135,119,135,245,82,198,102,119,107,229,123,183,150,23,157,193,93,170,106,255,111,88,118,255,120,184,150,1,155,46,81,222,102,212,106,4,114,161,114,178,121,7,136,152,147,166,86,226,88,10,101,223,106,29,112,197,116,42,121,246,133,151,158,234,106,15,114,209,116,170,118,237,118,43,121,242,124,35,136,55,81,103,118,48,121,72,145,197,157,156,158,199,86,38,101,251,137,146,142,60,0,42,0,98,143,16,107,136,139,99,143,45,101,229,116,66,151,113,156,115,156,75,151,60,0,42,0,233,79,6,80,60,0,42,0,65,89,222,143,24,94,28,96,159,109,178,131,35,144,191,104,84,128,226,136,183,78,249,85,201,94,105,97,147,110,35,111,238,132,50,83,105,89,228,105,145,113,157,137,134,82,51,83,82,86,254,90,144,97,207,120,104,128,107,128,51,137,162,156,194,111,211,111,58,126,244,127,110,128,149,133,138,135,227,106,235,113,111,128,193,129,48,139,101,142,140,147,112,149,62,124,10,136,17,155,46,148,49,156,98,124,104,124,60,0,42,0,91,101,15,116,56,129,227,136,89,100,137,116,57,133,26,91,130,101,201,129,59,145,93,137,183,127,29,134,30,134,60,0,42,0,195,126,188,112,75,96,112,109,147,107,198,80,28,88,161,90,69,110,48,132,254,148,93,105,73,113,83,116,75,111,244,125,176,111,44,147,174,107,74,147,200,147,50,112,10,156,0,98,158,126,60,0,42,0,111,130,205,79,201,81,129,104,188,109,11,105,140,143,174,124,177,124,154,88,161,125,9,142,17,106,44,143,231,124,60,0,42,0,33,78,36,78,105,81,33,85,98,85,154,99,60,129,242,136,201,125,61,135,73,155,78,155,60,0,42,0,174,78,244,84,162,96,5,140,134,143,168,85,126,102,120,110,207,145,12,143,210,138,27,143,68,147,60,0,42,0,119,113,23,124,60,0,42,0,169,100,125,142,60,0,42,0,189,143,151,117,74,128,218,80,229,91,122,93,128,97,59,111,139,129,57,86,253,90,238,91,154,93,155,93,121,101,96,115,45,127,124,144,184,102,206,113,153,116,171,129,66,118,194,122,105,158,106,92,235,94,29,124,90,126,223,135,66,140,255,140,88,142,14,114,16,148,206,154,212,133,201,152,239,157,60,0,42,0,254,83,140,148,213,145,29,145,252,132,173,97,226,102,125,149,18,114,60,0,42,0,37,92,38,92,147,112,153,101,30,92,214,94,130,100,183,122,173,119,99,149,60,0,42,0,223,107,167,84,24,99,60,0,42,0,23,82,163,82,189,81,189,82,244,89,18,99,12,109,34,131,254,143,247,84,210,87,211,87,53,104,86,109,200,112,238,112,105,99,14,115,31,115,31,129,218,134,194,136,109,113,89,119,87,128,148,141,228,93,178,152,32,81,164,155,55,157,248,100,117,115,163,114,144,142,27,155,35,155,114,156,60,0,42,0,206,98,60,0,42,0,184,83,187,144,151,103,52,78,167,81,73,85,10,93,203,109,125,102,51,116,166,124,243,117,132,120,150,123,188,124,48,145,163,150,153,93,126,111,92,115,116,144,180,101,189,102,208,113,152,116,154,143,22,151,181,119,247,120,232,129,87,126,247,127,144,158,84,143,227,88,54,112,251,147,222,156,78,154,87,156,159,158,60,0,42,0,251,131,131,78,219,81,220,81,155,100,233,94,234,94,205,97,212,97,159,111,129,106,169,106,91,118,93,118,60,0,42,0,29,84,97,96,139,96,65,141,27,113,195,140,239,80,58,133,73,106,16,117,166,129,181,149,132,117,250,133,120,142,143,142,153,142,170,142,101,143,60,0,42,0,7,48,54,79,34,82,117,112,249,86,125,87,12,89,200,89,186,92,126,95,224,108,209,114,211,130,36,102,14,103,195,103,178,115,244,116,204,81,138,118,49,120,226,121,219,122,195,148,117,150,48,158,72,90,149,99,194,104,233,109,12,116,45,123,55,125,235,126,154,127,206,127,70,128,50,130,241,131,201,134,81,136,126,121,69,138,201,141,232,142,228,132,236,136,52,146,157,149,246,150,132,159,190,125,6,133,10,151,214,153,170,111,118,133,2,147,23,151,127,155,174,156,18,157,119,158,239,113,27,151,29,151,98,159,67,145,234,155,65,91,38,134,97,159,250,106,189,145,72,151,30,107,39,114,162,158,151,159,60,0,42,0,62,150,173,92,138,136,134,152,24,152,186,93,60,0,42,0,228,78,230,83,100,84,169,112,60,0,42,0,46,112,60,0,42,0,156,110,152,113,83,142,60,0,42,0,24,82,160,108,68,117,79,109,65,109,89,117,200,101,9,116,113,117,107,120,215,136,185,90,103,93,210,101,165,132,197,132,91,144,143,153,157,154,180,105,96,116,215,152,137,82,108,116,36,118,194,120,79,149,224,153,96,158,74,106,162,116,129,117,96,149,69,118,201,135,245,153,160,86,240,97,15,112,240,133,143,147,166,147,141,158,208,147,192,152,2,148,46,154,197,152,33,156,185,157,81,154,60,0,42,0,243,103,1,104,94,104,203,115,122,104,250,126,13,149,90,146,185,125,174,113,118,127,246,146,110,106,60,91,128,127,60,0,42,0,109,81,66,117,207,127,111,88,199,94,145,111,223,120,104,158,36,151,62,153,225,150,194,152,56,155,218,157,60,0,42,0,214,86,60,0,42,0,153,159,120,92,153,84,247,108,15,131,61,102,10,104,209,115,231,128,44,119,59,120,220,122,60,123,75,128,134,150,112,110,221,110,144,93,222,105,11,111,111,133,67,118,191,122,237,123,141,159,168,86,195,93,196,93,39,112,34,134,231,147,51,151,232,102,39,103,243,106,22,114,207,116,211,119,49,121,50,121,113,137,146,159,96,124,126,128,42,136,44,136,69,140,152,142,104,148,71,151,97,154,23,158,60,0,42,0,71,150,132,87,133,87,226,98,226,123,49,81,180,150,223,88,224,88,15,101,201,122,147,159,60,0,42,0,226,84,135,104,191,95,26,141,60,0,42,0,156,119,60,0,42,0,69,82,4,90,123,80,65,90,189,85,135,110,140,132,194,80,124,105,13,86,212,94,122,97,10,111,30,133,113,144,19,106,161,113,39,128,124,135,44,128,91,130,187,135,49,139,193,142,197,154,187,151,207,154,60,0,42,0,93,93,2,100,127,88,129,93,95,100,10,117,211,123,13,124,60,0,42,0,75,150,90,92,15,111,24,118,66,149,58,118,59,118,228,147,60,0,42,0,92,86,184,100,34,139,60,0,42,0,98,83,144,94,166,130,134,87,166,103,248,108,137,112,12,104,234,128,115,143,46,130,44,158,136,115,59,130,133,152,41,146,136,156,114,155,231,118,167,86,218,88,236,94,14,101,24,112,121,115,183,116,6,134,229,102,232,106,16,114,208,116,218,129,209,119,90,124,145,126,79,127,107,130,38,136,100,143,106,148,113,152,215,154,120,156,21,158,248,158,60,0,42,0,100,83,79,134,179,99,117,158,117,120,129,156,92,134,119,88,247,110,254,132,16,106,155,111,111,155,196,100,121,106,224,120,101,149,149,86,252,100,2,112,211,106,12,108,99,130,192,147,106,130,42,148,101,148,60,0,42,0,37,87,42,117,70,150,147,79,116,87,84,95,85,95,205,92,206,82,66,141,130,143,120,150,61,90,213,109,229,109,12,110,73,120,201,131,47,144,127,158,2,105,45,116,132,121,127,121,199,80,121,82,224,82,221,118,105,119,140,120,17,122,194,140,239,141,118,88,216,94,93,100,9,111,147,123,182,124,13,133,46,98,26,106,157,113,148,129,238,137,162,141,27,142,152,143,129,145,94,111,75,122,87,133,4,147,50,147,52,147,144,116,15,124,176,135,54,124,87,142,70,143,4,154,109,158,44,124,53,124,213,147,229,155,102,157,113,157,147,158,244,147,50,151,60,154,89,124,66,134,250,157,60,0,42,0,7,108,60,0,42,0,116,154,254,149,136,105,173,149,191,153,0,108,162,129,218,106,216,133,220,157,98,154,60,0,42,0,21,84,66,84,163,79,216,144,182,79,20,99,91,99,75,99,197,101,160,104,18,113,99,121,6,122,221,148,97,92,125,125,21,127,98,92,130,129,27,137,193,146,101,92,144,129,56,137,34,81,94,122,55,126,109,122,60,0,42,0,253,91,143,87,139,95,81,134,135,115,255,126,66,93,47,108,78,132,228,110,160,125,209,125,110,97,187,123,159,129,244,82,66,126,254,111,214,106,8,114,98,148,60,0,42,0,8,90,106,91,230,92,27,99,62,104,62,158,20,129,230,110,174,146,73,157,29,87,113,89,76,91,127,91,210,93,35,101,235,102,18,107,83,112,137,127,224,129,30,87,100,112,74,134,126,148,116,118,117,118,30,158,60,0,42,0,117,83,60,0,42,0,113,78,224,145,130,78,60,0,42,0,160,99,101,117,103,117,10,149,36,122,25,87,221,146,226,146,253,100,60,0,42,0,161,98,132,99,60,0,42,0,209,78,38,79,245,86,166,108,182,126,150,79,110,143,43,80,111,150,7,87,104,90,24,93,25,93,192,96,234,109,213,131,198,104,64,129,184,125,38,135,26,142,42,143,238,120,0,147,233,155,60,0,42,0,232,87,150,120,16,122,35,128,60,0,42,0,186,139,163,110,214,138,60,0,42,0,87,127,112,85,49,152,201,86,60,0,42,0,86,127,33,115,54,129,29,132,59,144,36,105,97,129,153,137,35,149,169,123,161,154,89,149,186,135,133,127,182,137,205,147,56,81,188,137,62,154,30,101,128,115,63,134,143,144,15,107,88,154,1,158,110,124,124,148,96,153,60,0,42,0,70,82,46,80,207,132,248,136,182,142,48,118,3,136,221,129,234,102,115,118,60,0,42,0,250,108,200,92,27,109,220,126,102,131,134,154,28,109,222,115,102,120,63,123,97,125,61,132,94,100,47,111,150,114,123,146,210,150,241,153,165,155,60,157,69,157,252,111,153,126,60,0,39,0,208,253,77,0,39,0,60,0,42,0,99,84,60,0,42,0,136,89,86,91,189,90,36,91,55,91,60,0,42,0,187,158,242,117,52,133,152,114,198,135,199,135,60,0,42,0,108,154,155,115,1,120,130,134,172,153,164,110,100,144,106,116,188,120,158,135,183,147,34,156,204,157,60,0,42,0,184,114,105,103,67,121,129,149,130,154,27,85,140,80,65,115,112,119,28,86,170,105,161,121,117,127,225,153,35,121,21,155,60,0,42,0,135,78,23,84,206,85,27,86,242,90,60,0,42,0,203,87,182,133,62,151,60,0,42,0,112,78,108,131,183,140,42,86,82,133,246,157,60,0,42,0,162,82,200,143,69,79,242,88,166,158,86,83,9,129,8,129,165,158,71,136,241,82,227,140,129,144,33,151,34,151,60,0,42,0,218,90,159,152,60,0,42,0,207,89,151,96,238,134,200,80,41,140,114,97,146,153,32,106,146,119,158,119,148,151,82,142,62,139,69,153,215,156,98,152,23,155,24,155,59,156,59,136,60,0,42,0,88,92,128,110,76,119,225,110,255,110,168,135,84,137,206,135,203,147,213,119,60,0,42,0,252,102,36,145,129,88,84,94,98,97,113,100,43,111,76,115,38,127,4,133,19,133,254,105,179,113,183,111,88,149,53,126,221,147,48,134,60,0,42,0,100,114,60,0,42,0,153,144,2,84,217,95,82,108,146,130,40,92,87,103,103,103,19,108,242,118,126,96,0,123,43,131,228,84,15,90,172,94,93,109,245,114,123,114,109,120,239,145,211,148,221,117,214,134,233,146,249,153,60,0,42,0,189,131,190,131,101,120,59,131,254,88,45,111,210,135,14,136,60,0,42,0,43,115,147,140,60,0,42,0,219,107,219,119,134,103,102,114,5,131,6,131,196,101,94,127,94,81,53,110,222,142,85,145,37,88,26,149,230,154,2,108,155,114,101,135,243,154,40,147,202,135,156,157,60,0,42,0,135,81,111,83,24,89,110,78,60,98,193,92,214,108,52,102,198,148,55,123,233,132,60,0,42,0,131,81,131,118,188,130,144,81,2,131,146,81,213,103,10,119,56,141,4,128,164,136,146,137,162,90,61,94,58,132,191,140,26,145,23,97,147,102,89,105,247,107,65,116,128,119,140,140,46,145,80,135,203,97,60,0,42,0,146,86,60,0,42,0,72,78,188,158,249,111,156,86,102,118,60,0,42,0,69,84,70,87,146,108,161,108,154,103,171,115,250,130,2,104,9,119,18,90,4,129,147,131,133,104,251,115,34,129,255,144,51,88,146,90,75,93,68,110,72,110,56,115,66,119,127,132,99,105,115,105,100,113,66,116,150,121,92,129,122,88,209,105,118,145,69,149,91,158,194,146,9,151,72,122,190,95,135,147,192,119,23,101,42,134,165,157,244,158,60,0,42,0,206,107,207,107,194,81,142,127,52,99,124,109,132,90,68,93,60,110,186,90,65,149,13,91,216,113,190,142,130,147,227,158,60,0,42,0,185,89,186,98,172,108,192,101,39,102,89,121,130,136,27,119,154,90,208,91,215,117,202,141,61,155,93,113,120,119,206,151,69,155,195,123,94,135,60,0,42,0,26,105,60,0,42,0,232,149,106,98,167,115,148,148,128,149,133,149,107,99,219,131,138,116,70,147,185,78,75,134,60,0,42,0,247,149,22,113,182,96,170,102,220,113,209,97,227,97,60,0,42,0,236,78,17,80,60,0,42,0,221,100,60,0,42,0,63,117,123,134,161,81,148,131,12,132,149,110,223,118,153,132,13,117,26,81,87,106,162,119,68,133,113,135,51,145,56,145,106,94,222,97,219,111,218,102,38,103,172,106,11,108,199,119,30,121,205,155,114,158,104,130,9,134,210,119,63,151,64,151,91,153,109,152,6,159,15,158,60,0,42,0,208,82,27,115,254,116,48,149,75,130,34,135,220,97,116,115,51,147,245,97,19,136,237,155,60,0,42,0,95,91,166,104,34,89,35,89,37,151,60,0,42,0,185,99,60,0,42,0,170,84,47,119,135,119,60,0,42,0,158,81,37,95,98,121,247,143,174,136,21,115,28,140,190,132,120,138,14,139,154,145,76,95,223,100,220,124,59,126,138,158,139,158,176,121,97,151,48,112,124,115,155,158,126,149,2,98,32,101,213,116,60,134,34,114,190,145,191,145,13,158,196,145,60,0,42,0,115,124,136,130,142,79,181,108,139,127,45,95,35,109,73,101,43,119,142,124,18,129,51,110,94,132,29,133,164,146,212,111,74,91,86,112,60,0,42,0,150,81,248,124,104,108,149,108,147,91,204,108,197,137,218,92,85,121,187,91,216,121,198,91,231,109,147,137,148,137,66,94,39,140,83,88,78,94,155,137,39,86,147,105,245,110,30,111,144,113,36,133,28,135,15,159,170,81,18,106,102,94,215,111,204,133,16,139,193,106,26,124,131,127,60,0,42,0,128,91,135,130,99,103,32,119,66,90,245,126,148,90,201,104,191,125,220,125,241,129,82,135,53,91,176,106,203,106,200,119,202,119,207,119,60,0,42,0,15,78,69,108,77,81,148,108,254,158,201,82,4,119,41,90,109,80,149,81,212,82,17,110,149,85,16,97,78,110,5,127,66,132,123,125,124,129,253,158,236,125,160,111,184,155,60,0,42,0,99,151,98,151,198,124,170,158,171,158,186,158,181,158,60,0,42,0,181,85,60,0,42,0,215,130,140,90,207,99,132,119,75,158,249,90,226,125,147,157,89,156,60,0,42,0,106,103,7,119,210,121,252,109,58,110,8,127,206,123,242,125,208,133,136,144,60,0,42,0,153,89,153,94,133,115,215,122,191,94,223,94,60,0,42,0,92,78,0,84,169,84,246,84,109,91,60,0,42,0,109,112,213,112,149,137,35,100,197,110,17,133,142,133,19,157,109,94,241,97,254,123,215,106,27,136,74,136,86,148,116,156,60,0,42,0,17,108,196,89,183,92,222,95,11,96,251,101,252,101,224,130,201,115,255,118,7,120,96,127,15,93,106,99,24,116,29,116,23,127,73,116,251,117,136,120,49,146,205,125,225,125,9,147,22,157,114,147,60,0,42,0,191,118,186,81,33,82,245,149,191,98,239,108,196,82,67,101,253,149,175,96,79,101,34,123,61,123,253,96,99,110,148,149,13,97,111,101,139,102,169,149,246,80,92,97,171,97,99,111,34,124,216,156,32,136,53,156,60,0,42,0,138,87,60,0,42,0,13,84,14,102,35,158,58,109,0,119,23,131,165,81,25,103,51,119,237,148,13,145,199,90,159,110,61,115,194,132,157,102,160,105,152,146,244,156,145,119,159,135,173,137,60,0,42,0,114,79,243,89,213,81,79,97,105,145,60,0,42,0,125,84,39,105,122,138,60,0,42,0,181,99,60,0,42,0,44,140,44,139,60,0,42,0,120,100,60,0,42,0,133,94,27,92,31,140,235,90,141,153,121,100,33,106,156,129,189,158,105,100,121,155,69,106,232,120,226,124,40,139,41,139,164,86,245,100,67,153,169,86,176,86,17,134,205,154,84,155,152,82,93,153,60,0,42,0,185,98,225,97,60,0,42,0,43,103,176,82,61,87,186,89,19,94,126,107,127,107,129,107,171,108,9,131,76,150,30,94,41,102,186,103,28,85,140,118,28,119,63,119,30,120,227,121,136,131,171,131,61,119,150,124,72,125,80,110,232,134,131,140,252,85,123,88,222,91,32,111,79,115,230,132,138,140,175,102,134,146,122,151,252,90,217,158,60,118,144,119,153,119,70,149,105,155,168,88,216,158,14,112,152,140,230,133,212,135,204,147,5,114,64,154,51,121,134,126,49,128,60,0,42,0,61,96,191,158,60,0,42,0,222,84,60,0,42,0,95,114,148,79,186,82,72,96,32,109,56,119,11,140,209,134,42,127,14,142,126,146,0,139,180,119,70,126,106,147,62,157,176,158,60,0,42,0,208,103,60,0,42,0,234,107,1,108,178,88,60,0,42,0,205,107,169,78,97,114,118,87,198,89,199,98,212,92,115,114,70,117,82,117,223,128,93,117,94,117,42,120,110,117,103,146,7,142,60,0,42,0,40,103,235,78,48,103,238,118,233,81,144,108,199,114,145,112,103,114,220,130,227,107,175,131,158,134,188,148,223,82,238,150,147,88,85,94,89,94,84,97,88,105,102,119,108,146,85,97,174,102,82,130,2,151,70,122,56,126,170,151,60,0,39,0,208,253,78,0,39,0,60,0,42,0,239,85,60,0,42,0,207,98,255,98,16,99,241,85,78,149,191,147,60,0,42,0,120,78,234,84,235,150,60,0,42,0,163,144,54,84,80,84,160,89,179,126,173,128,28,90,114,136,160,148,13,125,166,136,122,99,29,123,125,140,220,142,128,140,9,146,179,132,121,151,118,155,60,0,42,0,73,129,139,113,104,100,123,91,60,0,42,0,67,78,118,89,127,130,22,108,147,117,179,89,252,94,250,143,55,80,226,145,45,91,60,0,42,0,72,89,240,103,15,128,16,128,24,132,63,110,16,159,38,137,154,135,60,147,60,0,42,0,225,86,60,0,42,0,55,117,169,98,143,103,189,79,87,83,223,103,26,90,88,117,174,131,190,150,131,85,86,144,148,102,96,105,245,138,227,150,60,0,42,0,103,141,199,99,115,110,51,132,117,113,105,129,123,135,1,98,60,0,42,0,123,90,60,0,42,0,212,86,60,0,42,0,106,78,162,86,104,139,202,86,48,136,30,155,149,153,28,107,98,153,60,0,42,0,195,100,233,102,46,101,98,112,60,0,42,0,62,81,73,159,60,0,42,0,108,91,60,0,42,0,118,84,19,96,32,99,241,92,71,120,217,148,49,115,242,134,73,138,153,120,147,100,169,93,185,97,239,135,18,89,74,139,3,148,206,93,60,0,42,0,180,87,124,96,169,96,17,129,24,83,51,129,22,88,241,96,208,90,89,116,102,129,175,120,118,115,127,115,60,0,42,0,249,149,101,90,214,109,153,149,39,155,209,129,60,0,42,0,146,117,183,139,144,98,50,119,37,138,60,0,42,0,98,84,60,0,42,0,30,90,129,153,46,129,71,129,18,153,190,155,216,155,60,0,42,0,103,81,133,81,29,108,23,147,60,0,42,0,65,96,233,90,240,90,60,0,42,0,253,128,60,0,42,0,174,89,60,0,42,0,60,92,109,87,41,96,229,108,126,124,42,80,84,92,220,121,243,144,204,148,255,87,87,90,227,109,10,115,173,134,255,104,220,141,93,129,99,128,58,135,236,137,142,140,23,143,19,151,181,156,226,155,145,158,111,159,225,129,60,0,42,0,49,79,96,79,223,98,179,98,212,114,232,130,197,103,206,101,114,102,116,91,46,146,156,153,23,81,30,81,172,150,236,100,191,133,183,106,123,128,60,0,42,0,112,92,60,108,50,79,225,143,53,102,210,128,6,144,63,83,36,119,4,88,196,96,223,90,53,97,186,110,104,119,123,129,177,102,12,126,189,138,169,129,58,91,60,0,42,0,200,98,43,133,60,0,42,0,116,94,202,121,214,84,229,121,135,156,142,155,182,156,71,157,207,158,240,155,60,0,42,0,138,109,123,99,240,109,62,113,200,141,135,143,151,143,154,100,181,100,190,120,38,143,16,124,77,142,6,101,104,142,142,142,60,0,42,0,68,83,255,94,245,95,233,89,56,85,221,87,76,130,60,0,42,0,24,90,34,91,67,91,60,0,42,0,127,145,184,145,192,145,60,0,42,0,31,158,17,131,133,136,229,156,203,90,202,136,38,133,34,106,29,91,45,137,50,91,60,0,42,0,63,92,50,129,60,0,42,0,79,99,209,99,60,0,42,0,246,130,60,0,42,0,7,94,60,87,191,103,103,150,133,109,198,117,66,128,236,129,110,85,215,96,205,131,137,150,166,85,92,101,124,110,235,85,114,93,2,142,91,86,112,100,247,105,23,142,25,142,74,149,77,149,173,93,222,123,242,129,28,147,158,152,81,142,153,86,118,128,179,147,209,149,124,91,125,91,241,106,75,124,22,134,193,86,103,159,213,93,241,124,245,124,37,136,72,148,211,86,152,139,161,142,119,148,115,152,128,148,60,0,42,0,220,86,168,96,60,0,42,0,240,98,60,0,42,0,12,129,60,0,42,0,129,91,155,84,231,98,222,114,231,130,224,103,77,128,205,91,213,91,47,117,215,91,220,91,231,91,28,81,221,81,128,86,35,91,240,100,112,115,180,133,184,106,121,128,79,148,33,155,11,158,60,0,42,0,99,106,195,119,60,0,42,0,94,79,171,79,222,108,63,80,157,111,216,111,60,0,42,0,158,89,60,0,42,0,91,114,92,114,124,108,60,0,42,0,248,95,109,98,195,114,189,126,132,112,174,148,16,125,165,131,21,146,117,151,60,0,42,0,156,81,172,79,221,84,83,109,19,129,254,121,178,143,2,81,179,143,101,86,195,111,125,133,130,106,246,113,175,121,191,129,96,122,91,137,178,145,1,107,60,0,42,0,119,126,60,0,42,0,4,95,10,99,53,99,81,118,72,159,60,0,42,0,186,127,60,0,42,0,66,85,60,0,42,0,200,105,40,128,115,115,189,106,146,147,30,148,115,139,60,0,42,0,116,89,101,91,125,154,47,123,209,153,60,0,42,0,46,79,170,82,41,95,46,120,236,128,60,0,42,0,18,96,137,80,25,100,60,0,42,0,115,89,149,148,121,124,249,145,60,0,42,0,145,108,66,136,103,96,18,103,68,136,60,0,42,0,123,89,60,0,42,0,28,110,150,102,86,113,87,113,42,153,60,0,42,0,159,117,80,134,120,120,39,118,60,0,42,0,193,158,60,0,42,0,205,144,42,99,155,104,169,80,58,81,60,0,42,0,96,106,60,0,42,0,250,139,143,85,191,99,61,144,30,97,38,100,24,149,59,100,146,105,44,122,254,138,67,142,209,124,230,97,231,97,229,124,100,122,239,124,60,0,39,0,208,253,79,0,39,0,60,0,42,0,148,85,98,86,60,0,42,0,230,84,60,0,42,0,180,139,164,108,39,107,180,107,239,116,37,158,125,123,120,88,26,111,80,107,198,107,176,113,12,117,146,129,14,157,217,106,242,133,51,139,194,147,215,157,60,0,42,0,117,159,60,0,42,0,24,84,85,84,118,80,98,129,20,86,38,128,69,133,213,133,60,0,42,0,4,96,106,97,60,0,39,0,208,253,80,0,39,0,60,0,42,0,145,89,133,118,180,141,37,130,106,85,105,132,60,0,42,0,119,103,44,114,177,99,54,116,98,123,86,111,60,0,42,0,10,94,21,94,21,96,153,136,60,0,42,0,205,98,60,0,42,0,243,79,152,95,146,99,5,115,209,104,76,114,43,143,48,124,50,124,164,114,60,0,42,0,249,94,60,0,42,0,204,84,62,109,18,110,67,110,142,132,131,147,60,0,42,0,5,119,104,117,32,132,88,111,0,101,60,0,42,0,63,114,0,109,216,118,216,141,187,90,75,94,176,132,43,100,195,105,228,118,208,120,15,126,251,120,10,112,224,135,99,142,156,147,182,151,60,0,42,0,184,81,36,82,156,108,218,98,238,108,141,112,219,83,73,114,252,118,84,117,65,128,162,136,74,138,191,110,22,152,236,146,101,157,123,137,123,148,60,0,42,0,83,78,151,108,238,128,241,150,194,110,150,129,54,151,60,0,42,0,144,83,158,94,150,83,4,144,193,101,61,130,206,90,172,95,131,135,209,156,142,159,144,159,60,0,42,0,217,85,42,128,171,137,60,0,42,0,144,112,168,128,214,128,60,0,42,0,155,98,203,98,44,129,34,132,60,0,42,0,40,82,134,84,137,87,150,94,205,114,176,112,46,114,141,136,15,83,243,142,132,151,28,137,131,158,133,158,60,0,42,0,209,141,60,0,42,0,69,89,225,108,174,112,177,117,176,118,50,120,173,158,31,121,46,121,60,0,42,0,120,84,12,96,167,128,248,103,218,128,67,136,133,145,60,0,42,0,43,150,106,150,249,87,240,107,84,141,43,149,244,136,245,136,224,140,205,153,60,0,42,0,214,79,60,0,42,0,2,79,155,108,105,79,20,94,245,89,190,101,198,101,127,109,238,115,77,145,220,132,148,143,183,153,143,93,8,151,97,143,60,0,42,0,183,85,116,86,85,107,60,0,42,0,235,116,198,118,83,110,80,132,60,0,42,0,96,84,248,127,60,0,42,0,175,85,60,0,42,0,9,83,38,96,168,98,114,96,48,120,136,104,249,112,81,120,239,142,155,149,48,111,45,86,142,111,222,120,60,0,42,0,131,130,11,103,55,99,252,122,23,80,145,131,11,88,56,95,109,95,218,104,22,105,115,88,124,120,29,122,236,132,79,158,240,105,37,106,162,113,137,97,35,143,227,123,247,123,168,129,11,147,248,151,252,154,218,135,219,135,5,155,132,126,21,134,252,151,108,157,47,154,20,155,93,148,60,0,42,0,103,99,206,109,143,118,123,82,60,0,42,0,189,99,42,105,176,120,43,142,60,0,42,0,21,78,19,79,62,79,121,98,176,126,179,144,111,87,171,98,183,98,139,112,201,114,18,120,130,96,219,121,224,121,21,125,205,148,199,101,205,127,26,128,126,140,8,146,26,146,57,146,95,146,148,146,136,82,199,120,211,153,236,154,124,86,3,147,13,147,126,155,141,155,181,97,20,121,21,121,57,151,60,0,42,0,174,118,48,150,152,130,175,92,135,103,222,107,211,114,182,128,215,107,216,107,178,117,141,134,235,144,116,150,100,85,228,87,37,93,189,134,190,134,124,140,55,113,53,116,62,129,87,129,143,156,116,127,141,129,49,135,110,155,192,88,250,123,183,135,148,140,103,157,134,127,7,103,25,159,47,136,60,0,42,0,57,83,128,94,139,117,243,78,46,87,201,130,52,129,222,117,162,146,192,138,4,157,215,100,125,86,86,118,173,86,60,0,42,0,65,92,224,109,202,99,253,145,178,90,211,90,101,119,159,143,78,111,43,122,251,80,188,111,138,86,19,117,136,117,108,139,226,149,255,157,10,158,60,0,42,0,232,86,79,80,165,90,143,114,199,123,233,127,66,147,163,157,60,0,42,0,136,154,252,128,29,140,65,129,68,105,105,105,198,140,240,141,218,138,191,154,65,142,226,153,8,154,60,0,42,0,145,137,181,140,222,138,60,0,42,0,71,114,151,154,120,155,23,154,25,154,60,0,42,0,125,82,111,95,83,97,37,127,216,152,218,101,242,127,181,135,165,114,195,152,196,152,82,155,60,0,42,0,214,90,226,116,184,133,221,149,60,0,42,0,141,107,159,119,251,123,57,126,165,145,171,118,96,152,60,0,42,0,104,121,196,80,225,82,12,86,177,95,2,111,60,0,42,0,21,108,135,100,134,100,188,102,165,119,60,0,42,0,63,78,228,130,5,148,60,0,42,0,243,90,60,0,42,0,216,89,252,98,23,121,102,122,170,153,94,154,60,0,42,0,173,115,43,141,38,90,167,140,21,116,212,90,145,152,59,152,42,91,178,133,172,86,201,119,25,136,166,152,112,152,60,0,42,0,193,84,128,105,60,0,42,0,93,114,86,108,88,128,60,0,42,0,82,78,57,117,220,79,9,90,132,109,47,120,96,128,117,130,238,122,41,152,60,0,42,0,115,94,196,139,237,81,111,84,106,87,188,92,217,108,249,130,241,144,79,92,33,94,176,103,52,109,182,115,211,128,83,131,246,116,91,92,50,94,220,109,13,132,178,134,64,88,72,94,41,113,1,117,62,127,241,132,226,134,85,138,255,142,134,156,244,81,127,97,179,123,39,143,145,97,131,155,152,106,8,124,11,134,60,0,42,0,139,148,97,87,165,92,202,108,252,108,140,110,85,146,23,152,81,111,250,147,60,0,42,0,70,90,25,86,34,133,49,145,164,118,8,139,199,106,60,0,42,0,245,83,0,92,183,148,56,123,135,152,202,153,60,0,42,0,182,92,235,143,64,101,34,102,38,109,192,115,222,112,52,120,54,120,217,145,149,124,102,145,170,132,68,155,151,145,60,0,42,0,114,104,60,0,42,0,86,82,29,90,60,0,42,0,148,98,153,98,74,99,138,99,210,136,129,123,7,147,60,0,42,0,133,84,227,84,68,90,131,114,60,0,42,0,198,78,52,101,53,101,81,98,135,112,96,150,87,86,178,100,125,111,200,100,198,155,60,0,42,0,36,87,13,83,134,131,47,129,233,131,208,131,97,132,177,132,178,132,213,80,122,145,163,88,91,115,158,116,238,111,168,119,89,122,100,149,12,141,128,126,247,147,60,0,42,0,52,103,3,87,102,109,243,112,110,102,17,87,165,110,156,102,49,140,233,138,56,106,6,108,143,106,104,149,92,139,124,142,32,148,60,0,42,0,250,148,22,130,23,130,234,146,17,112,221,102,60,0,42,0,236,93,237,93,60,0,39,0,208,253,81,0,39,0,60,0,42,0,3,78,201,143,143,108,187,89,210,103,27,80,196,81,22,104,100,104,234,144,56,90,189,96,26,98,127,99,124,104,210,109,11,132,50,101,31,103,242,104,58,107,42,125,227,134,4,137,219,80,1,86,125,97,191,105,6,111,192,125,124,97,237,105,198,138,255,138,11,151,74,142,76,155,218,147,136,157,60,0,42,0,147,78,65,121,80,159,59,87,144,92,147,92,239,95,170,130,157,78,118,81,71,89,137,101,103,107,71,121,72,121,181,128,223,79,167,117,210,122,88,82,138,101,194,101,6,128,16,129,145,134,148,134,154,134,128,152,252,87,14,93,58,94,145,99,199,109,9,115,102,117,1,132,21,132,194,141,221,142,238,145,144,154,145,154,92,93,202,104,203,104,38,116,42,116,122,121,244,134,45,97,129,120,149,120,0,137,28,149,14,152,63,155,215,101,184,124,165,125,166,125,168,125,29,135,30,135,74,159,130,116,165,121,114,133,17,142,167,135,33,147,175,156,224,97,221,111,196,133,177,106,192,106,49,124,205,129,14,154,15,154,205,156,4,134,213,155,120,157,128,157,146,158,79,124,131,126,105,130,16,136,16,155,57,154,45,156,130,115,161,158,60,0,42,0,94,78,148,144,1,79,122,92,130,92,145,130,47,84,71,84,94,103,152,115,192,118,24,85,72,140,119,141,83,85,84,85,77,90,95,85,238,126,117,102,232,104,174,125,186,125,236,138,217,149,60,0,42,0,20,108,171,139,212,95,23,108,84,108,196,143,3,95,125,108,245,119,158,130,110,84,227,108,129,112,245,118,160,84,81,89,12,120,20,104,35,108,22,138,45,85,43,107,33,89,196,104,70,110,71,110,122,132,155,120,86,100,163,102,8,117,182,120,80,86,135,97,104,86,169,97,220,120,231,120,233,120,74,127,255,135,28,159,60,0,42,0,60,127,213,125,47,124,60,0,42,0,144,99,183,136,92,132,60,0,42,0,228,98,60,0,42,0,224,92,210,141,96,145,144,151,60,0,42,0,54,87,190,81,34,94,112,96,61,109,142,107,72,120,24,97,194,154,60,0,42,0,67,83,223,78,33,150,49,87,50,87,119,89,102,98,88,108,138,130,193,143,101,79,141,92,68,103,103,108,233,116,62,131,38,107,207,122,228,129,142,148,234,98,117,114,129,124,91,81,173,96,136,134,56,140,197,148,92,90,111,91,125,114,250,145,148,99,38,140,6,146,195,150,201,80,6,97,126,123,91,146,158,154,80,158,115,97,52,100,129,100,158,123,208,138,119,144,48,137,25,139,69,152,182,106,16,101,17,101,207,106,61,124,110,157,69,91,19,101,43,154,29,155,28,155,100,124,198,151,60,0,42,0,241,78,146,92,244,95,114,98,209,98,77,82,164,148,108,107,84,134,177,148,179,148,126,78,66,80,174,99,245,99,225,142,138,90,16,146,108,151,87,146,152,88,169,105,157,123,173,146,91,111,92,111,172,127,65,133,108,106,34,147,212,158,218,158,29,154,243,111,26,154,74,112,44,156,60,0,42,0,245,81,69,109,183,128,250,109,37,129,219,85,112,93,99,144,207,105,129,129,56,135,52,140,49,127,126,126,116,139,83,148,60,0,42,0,32,107,11,82,161,130,212,79,28,131,41,80,147,96,17,88,148,80,76,93,200,104,32,105,74,97,152,118,168,132,121,88,73,107,170,125,51,133,25,81,231,105,207,123,36,143,223,123,205,88,49,91,52,126,28,156,60,0,42,0,134,147,242,147,86,124,60,0,42,0,91,84,140,127,21,98,23,98,168,101,170,103,177,115,151,127,16,115,196,141,244,85,12,105,172,110,71,115,84,129,198,85,35,135,22,149,136,93,39,98,205,105,68,114,114,116,171,127,53,149,236,123,6,147,18,139,76,142,106,149,97,142,151,147,216,147,60,0,42,0,44,78,55,95,58,95,153,88,241,90,55,133,47,106,18,111,3,133,187,88,25,91,231,94,148,133,163,106,70,114,98,130,32,134,60,0,42,0,162,98,159,127,54,100,165,127,143,88,72,126,65,137,102,126,249,147,60,0,42,0,157,112,52,85,151,113,187,127,60,0,42,0,132,96,87,120,251,144,106,93,247,141,33,145,37,145,129,82,114,101,195,107,13,142,57,149,157,88,29,152,185,154,189,88,103,94,71,106,198,113,50,127,253,120,107,147,108,147,81,126,172,141,122,142,48,148,60,0,42,0,84,78,168,79,77,131,94,131,101,104,90,120,236,131,172,85,209,80,215,105,47,140,58,86,246,90,148,97,78,133,146,151,53,106,75,106,158,114,68,118,167,119,4,121,238,133,171,141,8,148,189,151,102,152,60,0,42,0,231,93,229,145,0,97,220,154,60,0,42,0,207,79,238,139,87,150,237,92,41,94,141,122,187,107,216,127,154,138,218,154,250,80,172,100,189,100,152,151,210,151,197,122,249,127,169,151,89,139,136,142,60,0,42,0,198,130,60,0,42,0,127,118,122,128,60,0,42,0,20,78,60,0,42,0,7,82,146,83,190,89,47,96,196,144,39,83,131,122,143,96,8,99,47,109,236,96,193,109,33,123,28,97,234,134,5,103,167,123,193,125,50,149,203,123,37,142,85,122,210,133,101,147,220,155,17,148,202,122,97,124,60,0,42,0,178,78,181,79,166,148,126,136,142,154,135,90,90,93,61,107,133,125,155,138,148,93,170,137,73,152,248,153,188,155,244,91,60,0,42,0,136,94,169,130,185,130,193,87,225,115,230,121,57,128,230,131,153,134,102,99,243,131,52,116,57,116,189,121,25,146,43,146,194,150,228,82,234,85,192,90,177,110,114,151,108,97,89,86,210,100,179,101,249,156,196,97,142,106,191,111,61,118,147,135,195,97,4,136,53,155,109,157,60,0,42,0,69,87,17,102,9,123,171,104,126,141,209,91,19,149,221,91,226,91,223,146,188,135,60,0,42,0,34,84,35,84,139,98,129,108,26,85,227,131,255,99,7,100,179,100,25,112,253,133,60,0,42,0,81,151,82,151,34,108,123,143,62,80,127,83,236,144,10,87,229,87,200,91,43,108,248,109,5,110,190,80,59,135,21,143,173,156,75,148,60,0,42,0,29,89,32,117,96,82,205,82,197,96,145,107,116,102,254,104,48,108,93,132,146,102,207,100,8,106,206,100,160,106,229,158,60,0,42,0,216,130,119,152,247,139,188,94,3,152,206,94,0,111,203,138,190,106,60,0,42,0,134,94,202,81,133,99,184,107,131,120,144,123,88,151,118,97,236,120,44,81,234,111,68,127,38,139,230,106,60,0,42,0,88,120,60,0,42,0,142,130,60,0,42,0,109,83,155,144,134,91,119,122,121,122,21,131,79,104,59,123,71,123,121,141,248,96,42,113,45,113,60,116,60,130,233,134,236,134,98,113,141,113,88,119,235,141,142,146,143,119,174,122,29,81,140,97,105,106,154,116,209,133,202,116,198,122,237,133,215,116,60,0,42,0,24,78,32,78,177,144,117,87,88,96,203,121,204,121,175,134,157,90,41,132,120,105,242,132,89,158,205,123,231,125,117,135,80,122,165,141,197,156,215,135,166,151,167,151,18,134,12,156,13,156,150,157,36,136,157,159,60,0,42,0,244,83,218,86,79,98,176,114,140,115,83,108,141,128,66,108,108,134,197,108,111,134,197,79,211,137,4,138,5,138,75,145,211,145,18,85,87,109,12,125,141,131,14,144,17,144,218,145,130,104,143,107,236,107,3,116,71,141,251,145,55,93,239,93,30,110,109,110,179,118,218,118,82,144,106,113,127,125,247,134,216,136,240,93,233,137,213,140,134,116,100,135,182,146,148,145,130,155,61,159,196,155,61,156,60,0,42,0,29,100,215,124,60,0,42,0,58,83,242,102,57,79,73,79,36,83,150,92,206,139,57,150,113,154,101,87,72,92,168,92,180,92,190,98,64,109,91,121,224,128,170,136,64,83,54,125,198,134,175,142,65,123,172,124,208,134,88,138,139,141,135,93,136,97,198,153,122,101,179,138,124,149,200,153,185,158,247,154,124,155,168,141,175,158,176,137,192,142,180,158,226,158,187,137,69,154,56,156,75,156,60,0,42,0,98,79,172,82,170,101,16,103,202,128,195,131,80,136,50,158,237,109,32,110,71,125,209,127,75,132,229,142,86,133,150,116,242,120,182,135,29,157,169,116,221,135,191,119,41,159,39,134,194,95,72,112,53,98,11,107,13,108,103,124,222,129,111,118,55,136,98,136,163,142,60,136,122,148,28,158,60,0,42,0,214,83,216,122,54,90,83,138,236,122,122,135,139,159,114,159,60,0,42,0,186,83,187,83,30,82,127,84,31,85,29,128,18,150,209,137,163,141,180,149,174,158,195,149,183,137,1,159,60,0,42,0,242,143,60,0,42,0,77,89,209,92,46,95,110,96,155,96,8,87,15,87,236,104,233,153,9,148,60,0,42,0,104,81,67,103,122,79,224,139,254,89,201,108,36,109,67,131,243,98,119,114,129,143,115,85,226,87,88,90,211,96,202,117,66,120,232,148,118,110,136,114,76,123,95,125,114,132,60,100,126,105,84,116,224,137,110,138,231,141,7,143,55,135,147,146,41,106,33,142,19,126,155,145,206,149,200,156,8,155,33,154,73,91,207,93,1,156,10,107,100,159,56,136,167,152,116,152,60,0,42,0,173,114,172,114,113,108,78,117,199,112,251,126,163,125,71,134,60,0,42,0,157,82,56,82,118,114,231,82,207,151,248,82,60,0,42,0,38,105,60,0,42,0,58,127,155,132,25,150,60,0,42,0,56,118,60,0,42,0,116,83,123,83,198,87,5,93,171,96,55,116,192,150,94,120,110,120,21,150,89,88,9,100,181,118,143,120,74,158,40,97,183,105,167,88,100,97,186,120,187,120,158,141,233,113,203,149,16,121,213,149,114,157,45,121,60,0,42,0,11,89,247,86,238,92,33,144,60,0,42,0,173,91,44,94,217,136,163,127,164,127,224,136,60,0,39,0,208,253,82,0,39,0,60,0,42,0,101,84,176,128,123,136,135,136,166,134,161,136,186,134,54,113,229,154,43,86,239,154,195,113,78,126,60,0,42,0,132,81,137,81,204,89,210,130,211,103,195,115,163,90,133,132,106,106,60,0,42,0,99,122,52,81,247,82,60,112,125,115,24,134,179,121,228,116,112,122,159,142,36,155,60,0,42,0,204,88,183,86,228,88,24,101,25,114,149,126,60,0,42,0,169,139,249,97,114,139,147,139,60,0,42,0,6,90,91,131,118,153,97,104,8,91,88,133,72,106,83,137,82,153,60,0,42,0,112,98,162,150,254,100,60,0,42,0,213,126,118,144,94,126,60,0,42,0,249,96,60,0,42,0,237,112,177,113,60,0,42,0,186,78,187,78,193,78,236,88,200,95,50,103,206,95,194,121,162,130,19,146,92,155,139,146,64,157,60,0,42,0,205,95,79,131,32,104,35,104,117,131,249,121,239,104,20,122,155,125,181,142,60,0,42,0,3,82,4,82,164,139,222,78,237,78,177,139,251,78,123,92,131,92,104,98,171,126,138,89,82,103,99,114,180,126,149,128,107,143,231,151,106,153,217,89,77,121,9,125,125,136,29,125,18,138,212,142,149,104,181,136,77,125,77,129,90,132,109,151,113,151,204,151,234,152,141,138,1,153,60,0,42,0,84,98,60,0,42,0,205,78,184,143,61,121,126,150,60,0,42,0,191,130,60,0,42,0,229,101,114,154,248,86,240,145,36,146,185,153,60,0,42,0,56,131,60,0,42,0,14,98,156,128,4,104,232,114,210,126,25,131,99,131,185,91,245,92,231,107,255,112,182,90,88,93,17,100,104,125,162,127,198,90,100,93,8,100,181,105,182,110,201,132,149,105,174,105,148,113,98,116,65,122,25,126,126,135,35,137,85,149,141,135,142,135,229,153,246,154,43,91,184,93,3,114,148,147,198,93,28,112,231,102,17,136,60,0,42,0,151,81,130,91,72,87,135,80,245,142,4,108,60,0,42,0,67,122,60,0,42,0,185,83,184,121,212,103,136,124,131,90,201,99,24,110,71,132,99,113,72,116,108,129,197,124,90,135,66,142,46,143,82,147,163,151,199,116,37,154,7,156,148,157,60,0,42,0,122,105,214,151,60,0,42,0,137,128,141,91,60,0,42,0,154,144,130,89,158,79,36,94,57,131,71,104,189,136,247,148,42,110,78,123,152,132,163,146,96,133,97,135,18,81,17,157,133,86,44,91,122,91,225,111,183,133,61,157,216,102,248,113,102,137,21,136,165,152,185,145,108,152,108,156,60,0,42,0,93,108,151,128,115,78,177,143,15,145,233,100,60,0,42,0,101,81,86,98,65,103,51,109,213,85,183,90,189,110,27,127,208,132,240,156,37,137,31,126,60,0,42,0,191,93,60,0,42,0,60,99,60,0,42,0,39,88,139,100,214,88,60,0,42,0,46,150,10,103,111,143,14,128,68,80,223,142,134,90,76,116,157,120,219,125,45,143,192,116,29,121,60,0,42,0,81,90,117,104,36,117,204,125,100,133,60,0,42,0,74,133,75,133,100,106,96,126,2,134,3,134,60,0,42,0,109,108,174,130,152,103,139,134,16,149,94,116,57,135,127,119,179,146,237,146,225,83,225,88,60,0,42,0,164,119,60,0,42,0,240,149,166,109,143,149,160,149,100,111,77,106,182,129,60,0,42,0,124,99,60,0,42,0,210,83,229,130,76,80,49,95,0,145,3,110,43,113,73,105,118,93,187,132,172,123,219,123,7,114,25,156,47,156,184,157,60,0,39,0,208,253,83,0,39,0,60,0,42,0,232,78,49,99,50,99,146,100,60,0,42,0,18,109,47,138,120,151,117,111,81,112,160,142,60,0,42,0,69,83,231,108,145,148,210,152,14,129,40,132,18,146,75,100,161,150,186,153,175,152,169,133,210,106,68,134,60,0,42,0,226,107,34,97,204,99,94,88,248,107,110,129,37,86,123,86,195,156,75,152,19,156,60,0,42,0,238,85,91,141,255,80,253,140,58,124,60,0,42,0,9,78,14,95,193,83,245,107,246,107,129,83,255,107,153,114,22,155,60,0,42,0,208,78,30,79,152,80,193,124,194,124,147,153,221,124,227,124,228,124,86,126,210,147,254,147,74,153,60,0,42,0,213,79,52,94,99,101,144,149,60,0,42,0,237,88,117,106,60,0,42,0,82,104,81,104,225,105,60,0,42,0,211,85,33,100,201,120,44,137,161,152,159,147,89,152,60,0,42,0,39,78,170,85,60,0,42,0,187,99,69,97,20,100,158,110,154,154,43,127,166,135,69,126,202,129,203,156,18,154,55,154,32,156,98,156,60,0,42,0,107,98,131,99,194,90,60,0,42,0,253,87,25,118,9,108,194,119,222,154,60,0,42,0,170,149,60,0,42,0,114,130,19,109,28,104,169,109,108,85,11,110,239,148,237,150,110,107,23,116,199,85,95,116,112,107,171,146,129,111,206,97,204,100,199,111,207,111,55,118,81,122,128,111,177,116,18,112,97,122,108,126,111,122,86,143,252,147,69,139,203,152,60,0,42,0,238,104,46,105,238,105,66,137,60,0,42,0,231,80,25,155,60,0,42,0,64,103,153,108,177,126,119,78,57,82,78,82,2,120,38,85,186,107,0,115,134,124,23,125,142,131,108,104,238,107,233,148,231,117,112,120,94,113,49,133,223,136,157,105,39,106,102,155,168,156,169,147,202,155,203,155,60,0,42,0,187,80,13,81,60,0,42,0,61,80,60,85,81,85,101,85,57,94,16,132,166,83,162,85,200,94,67,107,220,127,145,123,227,127,175,149,14,151,60,0,42,0,76,126,60,0,42,0,91,123,126,145,233,123,1,124,27,124,195,145,60,0,42,0,122,126,60,0,42,0,82,102,183,149,236,102,60,0,42,0,113,92,97,95,150,144,56,87,32,82,42,82,73,103,159,130,205,89,215,89,235,130,107,136,144,148,207,87,59,99,245,103,230,114,202,115,34,130,193,117,32,129,213,142,24,123,138,149,218,141,124,82,39,100,7,86,83,94,125,113,120,111,152,111,134,106,63,126,187,129,197,155,180,127,182,127,60,0,42,0,234,149,85,150,182,112,93,150,131,149,113,102,84,113,82,119,140,113,162,137,60,0,42,0,170,139,85,108,157,117,97,82,71,98,21,138,120,141,158,99,228,145,147,80,132,85,43,105,143,146,159,154,208,80,47,145,160,88,161,88,108,111,46,127,23,91,197,100,126,101,63,106,90,107,179,129,240,120,6,139,97,141,85,126,238,135,250,135,113,139,13,141,37,148,77,153,56,154,221,156,87,112,83,156,84,156,60,0,42,0,36,79,135,107,70,85,222,137,183,80,146,88,111,97,243,110,33,111,15,133,164,107,181,113,170,135,244,137,42,139,58,155,60,0,42,0,167,87,68,98,76,102,79,141,222,140,24,141,92,148,60,0,42,0,4,78,10,78,25,92,26,92,102,96,241,126,212,125,157,151,60,0,42,0,243,136,60,0,42,0,48,95,78,99,231,112,166,131,162,104,60,113,13,122,211,101,114,123,68,130,248,134,14,143,113,133,210,113,181,152,254,154,185,155,60,0,42,0,250,82,141,130,213,130,214,103,191,115,246,151,60,0,42,0,17,92,60,0,42,0,173,82,114,83,181,144,205,126,232,84,11,90,145,136,57,125,68,119,164,125,114,111,60,0,42,0,98,89,30,115,74,141,108,117,114,117,11,143,210,140,214,140,168,106,60,0,42,0,12,130,88,79,117,134,199,134,229,134,60,0,42,0,13,130,104,99,60,0,42,0,141,83,190,139,62,121,14,130,153,83,4,92,137,109,187,109,9,110,45,138,102,141,61,95,81,97,66,100,68,100,224,110,116,97,117,100,14,133,89,107,2,136,216,151,7,154,254,97,29,101,68,112,157,158,7,107,60,0,42,0,1,140,60,0,42,0,51,117,126,92,95,98,56,79,171,142,129,79,123,84,189,89,118,124,197,126,89,127,220,139,250,89,219,103,32,108,197,115,124,122,120,124,32,90,247,92,33,117,18,119,55,120,152,131,20,88,82,101,241,109,51,125,95,81,253,104,96,132,209,136,55,138,225,132,117,138,39,117,24,133,202,113,147,133,234,153,185,156,209,102,211,155,98,157,245,155,58,156,60,0,42,0,192,78,26,117,94,121,138,105,48,156,60,0,42,0,165,144,30,95,136,108,161,91,228,119,194,84,231,119,183,91,2,140,9,140,118,90,22,110,32,138,233,91,215,138,35,152,107,155,203,102,171,119,56,91,11,112,190,137,133,139,60,0,42,0,190,128,186,79,26,102,194,128,129,109,24,119,23,110,115,121,36,129,78,129,60,97,78,97,57,105,6,118,103,127,3,135,4,135,242,110,224,146,46,118,60,0,42,0,71,83,31,117,41,150,79,84,240,88,152,101,7,102,161,103,233,108,204,114,252,130,13,104,133,107,114,114,196,115,212,122,94,150,251,102,121,150,25,123,102,110,58,113,37,117,78,146,114,128,95,147,42,159,127,157,60,0,42,0,243,126,4,126,180,97,105,126,93,139,60,0,42,0,1,119,26,119,87,80,59,110,60,0,42,0,35,87,220,128,96,102,112,82,219,118,105,82,221,82,185,140,74,93,30,116,86,128,173,88,186,105,66,133,115,106,248,140,60,0,42,0,56,92,49,89,8,94,94,84,113,134,215,139,191,144,36,158,77,92,189,101,73,109,238,114,43,94,65,125,246,145,100,110,127,110,121,132,174,110,188,110,69,115,146,132,205,132,105,138,71,146,72,146,97,116,242,156,104,135,254,156,55,137,186,156,213,111,102,147,244,155,36,156,179,157,121,137,60,0,42,0,65,83,99,153,243,119,187,143,109,78,246,101,205,122,198,139,158,91,159,91,249,101,224,152,252,89,213,92,254,98,187,112,79,121,128,134,223,152,216,87,66,102,179,131,212,91,92,110,72,144,82,88,117,93,161,110,148,132,80,146,230,91,175,105,85,135,165,156,150,155,43,159,88,139,45,159,35,156,60,0,42,0,242,83,226,119,104,78,85,140,127,79,203,89,118,154,88,81,169,91,78,92,54,123,129,105,66,146,219,153,60,0,42,0,235,88,15,108,59,121,23,78,22,78,213,78,2,94,58,121,60,79,75,83,15,95,213,95,138,78,211,83,58,98,139,78,141,79,191,82,105,84,249,103,198,137,213,139,112,153,159,81,164,91,64,96,67,96,237,98,47,102,48,102,190,103,255,103,2,119,51,141,2,144,59,104,210,112,14,119,33,119,16,130,124,143,29,144,200,148,150,137,73,140,200,145,158,90,60,93,17,95,165,95,211,99,37,140,176,140,202,145,226,82,220,85,18,95,118,113,87,119,110,123,226,137,102,138,254,142,48,146,67,146,254,152,19,130,147,138,105,144,125,146,109,89,180,146,25,153,29,153,108,86,21,91,168,111,223,138,225,138,126,144,171,135,26,139,45,124,107,137,203,145,24,156,60,0,42,0,102,79,25,83,210,123,66,124,60,0,42,0,206,83,54,101,60,0,42,0,75,98,136,91,168,87,150,153,79,130,60,0,42,0,255,91,215,83,233,114,125,81,46,85,136,99,173,109,246,126,233,117,132,129,253,88,0,89,38,118,172,125,99,115,120,115,201,147,60,0,42,0,76,98,60,0,42,0,102,78,179,107,23,92,146,98,190,126,212,83,120,103,162,103,78,150,221,89,15,80,16,80,248,102,138,107,19,125,147,99,179,104,209,109,2,113,253,131,215,142,3,145,142,117,143,117,18,130,69,100,249,107,250,107,128,125,147,143,121,116,254,141,8,142,30,106,44,133,56,143,126,106,155,155,53,81,4,101,45,112,104,157,60,0,42,0,235,121,76,90,112,91,78,141,126,88,159,113,185,116,22,141,60,0,42,0,33,159,94,92,145,102,143,102,205,158,114,127,0,135,32,159,123,111,165,133,175,133,217,102,89,118,247,133,97,137,236,124,105,137,108,92,52,136,106,156,112,156,0,158,60,0,42,0,46,103,47,103,13,98,95,103,173,108,240,143,184,79,176,84,55,96,17,104,214,122,87,131,85,96,82,99,182,94,187,94,73,125,129,132,83,136,131,150,12,92,203,136,112,101,234,122,103,129,101,146,133,88,49,111,68,111,120,101,141,111,78,140,57,106,214,111,48,147,227,147,144,157,106,134,60,0,42,0,55,82,48,85,60,0,42,0,13,128,60,0,42,0,156,138,60,0,42,0,112,136,84,100,60,0,42,0,41,117,60,0,42,0,5,94,37,94,192,135,91,83,60,0,42,0,233,149,244,98,130,149,19,104,60,0,42,0,174,109,104,129,60,0,42,0,204,83,28,151,217,150,64,91,166,154,71,91,59,154,6,107,53,121,222,157,116,158,109,130,102,154,24,158,60,0,42,0,61,114,125,88,97,97,58,111,9,106,20,126,239,147,60,0,42,0,64,112,60,0,42,0,61,129,176,138,60,0,42,0,52,108,58,108,60,0,42,0,40,94,151,109,154,109,113,121,5,122,14,122,222,136,97,119,147,119,60,0,42,0,53,108,150,149,60,0,42,0,46,84,60,0,42,0,122,152,28,130,6,152,99,133,83,106,154,119,172,119,10,155,60,0,42,0,244,139,254,84,170,138,172,138,60,0,42,0,129,89,193,112,20,103,196,148,54,107,85,120,223,119,32,100,180,132,202,105,97,115,169,120,190,123,153,147,13,114,96,148,60,0,42,0,182,83,159,126,29,78,248,83,249,124,193,121,157,84,192,108,236,79,29,96,82,134,86,96,54,158,164,90,175,101,114,125,12,127,243,134,82,105,151,121,112,146,212,152,216,81,174,83,185,105,160,121,115,127,36,135,175,146,54,149,54,86,93,86,221,94,149,100,140,111,195,120,230,125,108,133,214,146,205,113,132,135,214,135,244,135,184,152,38,154,1,148,229,157,54,159,109,124,60,0,42,0,123,107,60,0,42,0,243,93,150,78,219,86,250,91,92,108,64,79,85,81,210,89,228,108,64,121,161,79,96,91,107,103,215,108,114,153,119,154,48,90,246,103,109,114,13,109,152,109,130,128,228,152,37,123,28,128,242,145,226,122,151,137,227,85,134,128,132,140,54,146,59,146,252,152,169,121,223,153,124,133,41,81,3,112,60,0,42,0,234,95,126,103,128,103,169,103,0,90,215,103,47,80,199,81,39,93,186,94,165,104,222,109,216,131,105,93,121,120,25,135,189,97,205,111,167,106,118,147,6,155,60,0,42,0,2,96,154,96,56,128,230,122,177,80,47,97,100,105,119,93,107,97,115,128,247,153,60,0,42,0,188,139,139,91,245,139,1,144,130,152,31,138,12,152,166,138,185,147,56,153,60,0,42,0,193,81,92,99,11,145,214,85,192,94,203,94,28,100,178,110,64,115,144,132,195,132,138,153,73,100,213,152,87,100,60,149,88,130,139,135,153,145,170,147,63,153,188,152,190,152,42,154,60,0,42,0,220,83,223,83,129,80,254,85,141,119,222,100,174,133,251,100,234,133,226,106,84,124,60,0,42,0,253,85,54,118,60,0,42,0,207,130,38,117,101,145,35,122,163,122,76,122,194,155,7,134,19,134,239,106,204,86,60,0,42,0,215,79,60,0,42,0,138,115,25,89,201,139,221,108,131,128,44,109,145,109,223,115,32,125,164,131,31,144,191,91,128,104,144,107,155,124,149,154,131,80,159,124,52,138,33,140,201,85,80,88,81,88,202,90,43,97,175,110,184,110,133,128,97,144,84,158,243,80,44,97,161,105,134,129,12,133,235,137,154,141,108,144,159,97,14,106,21,106,101,111,191,120,201,146,23,153,90,111,36,126,90,106,155,116,12,124,215,133,22,139,92,142,76,154,80,156,235,157,60,0,42,0,251,114,224,117,120,145,60,0,42,0,52,83,60,0,42,0,88,121,7,123,109,123,156,132,151,123,60,0,42,0,10,89,149,130,125,134,32,80,248,84,125,109,125,131,126,131,45,119,112,132,214,110,98,119,143,125,163,113,201,111,150,151,214,150,60,0,42,0,229,126,139,150,143,150,64,144,168,150,205,116,60,0,42,0,33,112,184,129,196,154,211,154,60,0,42,0,151,78,129,92,21,120,95,121,7,140,227,87,87,93,66,144,114,107,115,107,107,113,95,119,142,120,167,150,24,91,187,111,66,122,182,138,229,140,150,106,231,113,178,116,173,121,87,122,95,122,64,126,90,137,131,144,222,101,80,126,120,126,98,139,6,148,41,148,226,151,60,0,42,0,89,91,242,114,106,131,107,91,231,152,14,100,59,115,192,132,241,152,194,105,117,133,158,133,60,0,42,0,95,99,11,123,188,150,77,123,13,100,171,105,176,123,40,124,168,147,189,157,60,0,42,0,6,85,17,90,143,131,158,80,107,104,173,104,67,119,205,85,167,127,209,132,77,100,41,127,150,141,17,124,20,124,46,126,255,154,187,155,60,0,42,0,64,98,122,78,34,85,34,125,16,116,17,116,226,96,1,149,233,85,155,102,145,110,99,116,40,137,133,116,136,147,141,147,150,147,187,147,193,147,60,0,42,0,36,144,185,110,54,135,60,0,42,0,230,85,60,0,39,0,208,253,84,0,39,0,60,0,42,0,214,78,131,91,121,89,96,114,66,121,191,141,202,148,76,88,153,105,187,110,31,137,131,86,231,149,60,0,42,0,121,142,60,0,42,0,84,88,154,110,150,88,109,115,206,156,122,115,40,156,60,0,42,0,211,98,30,99,231,114,252,149,9,93,190,109,40,100,93,144,98,144,187,105,254,107,162,121,187,100,190,111,187,138,15,142,125,106,20,147,204,111,75,142,156,151,153,155,210,149,179,151,186,86,229,149,118,139,162,142,60,0,42,0,164,79,156,84,60,0,42,0,252,86,97,91,206,128,60,0,42,0,240,83,242,101,176,144,110,87,172,98,212,130,177,103,177,112,178,112,237,131,198,141,144,156,136,123,250,129,177,152,216,153,19,81,144,155,47,91,225,100,185,133,175,106,73,124,60,0,42,0,42,89,173,81,51,89,242,95,112,108,1,96,189,128,155,148,240,108,38,130,94,145,38,146,153,110,75,97,228,113,60,0,42,0,143,124,60,0,42,0,77,87,42,141,57,96,209,117,17,130,170,140,74,100,233,110,43,118,249,100,36,101,88,112,113,118,60,0,42,0,91,87,25,102,19,80,8,140,239,144,82,90,212,96,131,137,131,105,240,117,44,149,45,140,176,88,181,88,155,97,109,111,199,138,136,145,199,88,199,102,194,113,31,147,36,153,128,106,249,120,67,152,72,127,235,133,220,88,90,139,154,140,176,145,96,139,78,127,60,0,42,0,208,95,102,87,146,136,189,148,252,131,239,107,109,146,255,85,179,97,187,97,186,102,147,145,174,116,98,137,60,0,42,0,249,83,173,112,238,87,162,99,157,80,96,110,203,80,6,86,179,120,21,130,78,107,231,140,60,0,42,0,100,108,244,148,111,110,33,86,37,128,143,82,176,127,106,135,154,133,87,149,90,142,220,147,11,148,186,151,30,159,60,0,42,0,103,153,99,87,16,85,2,88,143,80,122,85,224,104,12,145,88,88,42,100,143,110,206,132,154,150,182,105,31,111,123,113,109,116,159,121,133,129,24,106,196,120,195,124,155,129,86,106,214,123,214,124,151,135,60,142,219,124,179,135,111,141,163,145,51,153,149,147,57,153,219,149,68,153,182,157,60,0,42,0,22,79,17,94,24,80,82,80,204,109,165,80,186,142,75,149,178,147,59,81,3,98,237,102,35,114,216,119,130,148,60,0,42,0,235,112,101,100,159,141,217,113,60,0,42,0,50,89,34,95,155,109,230,126,143,99,91,125,92,138,205,90,77,94,70,97,47,100,212,110,196,105,107,116,236,151,248,152,26,126,39,126,228,111,31,139,65,143,177,151,220,151,85,153,60,0,42,0,11,83,239,143,183,84,46,109,3,144,67,104,118,150,85,85,188,104,216,109,249,126,4,132,121,121,234,136,175,125,42,135,128,151,132,145,137,151,254,146,45,147,227,153,174,106,64,153,10,154,23,159,60,0,42,0,168,139,14,138,60,0,42,0,87,89,60,0,42,0,209,95,210,95,121,114,163,140,253,148,93,97,241,146,163,135,216,135,60,0,42,0,165,113,175,129,31,159,60,0,42,0,188,117,203,117,80,94,126,129,138,138,27,111,213,110,134,144,34,126,230,153,4,139,47,81,228,133,48,154,80,124,39,156,88,124,69,134,99,154,60,0,42,0,47,151,60,0,42,0,84,82,175,104,17,149,34,142,255,100,200,157,201,157,60,0,42,0,208,130,151,83,81,131,232,126,77,80,124,85,57,93,255,96,208,99,10,122,7,127,100,127,70,144,72,158,193,85,69,116,136,125,174,120,6,137,178,95,61,111,249,125,91,133,109,135,187,146,152,152,167,141,68,142,141,145,21,139,79,142,87,147,192,156,58,157,76,152,183,155,92,157,32,154,247,155,151,157,153,157,181,121,228,157,60,0,42,0,83,79,46,99,176,142,181,154,167,155,198,142,212,154,60,0,42,0,59,98,73,92,67,82,31,109,17,103,28,80,140,96,149,109,22,144,92,92,144,96,213,96,166,99,55,144,214,96,229,99,255,102,116,105,252,136,5,137,82,107,162,107,240,154,153,133,143,86,0,155,148,86,203,116,74,124,175,141,60,0,42,0,57,123,60,0,42,0,41,89,114,81,86,90,251,109,95,145,84,151,199,158,93,151,60,0,42,0,48,117,71,92,186,108,108,96,75,117,81,117,247,118,203,128,96,117,27,117,28,117,254,131,73,110,97,88,107,88,55,100,63,146,23,150,181,120,194,125,204,120,180,122,43,157,179,116,208,149,198,157,207,157,60,0,42,0,221,95,132,107,14,80,58,85,191,96,223,109,106,102,32,116,70,129,205,137,246,117,83,119,20,130,2,153,165,137,223,140,42,147,105,147,102,151,60,0,42,0,173,99,124,119,26,130,60,0,42,0,235,101,123,79,163,94,76,96,17,99,103,121,78,128,60,0,42,0,128,130,97,103,167,92,185,92,226,143,82,121,157,104,36,123,20,132,218,132,232,132,146,141,134,159,36,106,41,135,218,146,151,151,235,154,166,156,200,155,165,147,96,159,55,156,60,0,42,0,168,91,64,102,19,103,1,129,149,122,130,138,162,101,177,122,37,91,60,0,42,0,58,119,156,124,105,125,156,137,243,141,246,124,60,0,42,0,169,135,60,0,42,0,22,94,23,96,52,141,28,132,81,128,188,140,60,0,42,0,193,148,200,134,227,80,149,146,232,146,41,157,33,148,53,148,86,154,60,0,42,0,107,84,251,152,46,153,60,0,42,0,133,83,129,94,64,108,124,130,44,84,58,117,19,128,155,83,195,112,111,104,244,112,142,125,147,151,116,128,124,128,240,94,125,128,243,94,60,0,42,0,146,144,247,94,173,78,173,94,155,131,92,80,119,90,73,93,31,110,115,123,118,132,19,135,95,105,179,105,174,149,6,151,100,128,79,135,234,138,46,159,60,0,42,0,34,87,60,117,185,79,23,90,58,99,143,109,131,104,246,112,253,115,33,129,71,130,139,152,148,138,50,152,60,0,42,0,242,86,181,112,26,144,204,117,245,85,234,132,11,106,60,0,42,0,221,78,12,84,95,79,100,95,194,92,157,94,195,84,221,92,234,114,60,131,77,102,80,104,117,109,212,112,60,120,146,134,46,119,241,121,220,148,229,122,161,124,105,123,119,138,104,141,110,145,86,146,238,80,237,82,117,146,133,146,7,153,150,156,124,111,94,115,200,102,35,103,102,106,3,108,209,113,157,114,167,129,179,119,166,155,60,0,42,0,223,126,69,99,118,104,82,123,113,125,130,125,60,0,42,0,120,96,219,117,85,136,95,97,133,97,60,0,42,0,119,80,120,80,126,90,174,90,192,146,110,147,60,0,42,0,160,78,52,89,149,98,176,154,240,125,45,152,60,0,42,0,181,89,173,148,15,125,104,101,243,152,200,158,35,134,60,0,42,0,15,144,137,125,60,0,42,0,248,81,138,91,191,121,195,121,34,96,129,122,11,85,139,109,120,99,23,88,101,110,220,117,86,132,128,93,245,146,90,157,53,159,60,0,42,0,243,86,254,86,195,81,249,92,169,94,146,95,135,96,72,99,130,109,124,131,20,144,96,92,140,104,223,131,236,99,12,122,21,87,87,88,94,93,15,118,97,123,111,129,164,132,47,146,22,87,23,87,220,94,115,111,255,141,116,145,159,153,78,147,252,153,76,157,159,157,203,157,245,157,60,0,42,0,31,87,33,87,16,84,141,148,247,145,60,0,42,0,78,81,204,143,84,81,181,131,13,88,117,157,60,0,42,0,98,108,60,0,42,0,77,110,47,115,83,113,146,140,60,0,42,0,226,86,227,86,159,98,120,82,24,87,113,97,118,100,25,111,235,105,255,123,178,106,196,147,240,124,210,157,251,157,60,0,42,0,131,117,60,0,42,0,86,95,106,110,22,137,60,0,42,0,168,99,247,132,236,133,60,0,42,0,26,95,147,152,164,150,53,92,57,152,58,152,61,152,75,155,104,122,8,134,106,142,60,0,42,0,192,79,127,129,211,80,70,142,189,154,60,0,42,0,187,79,0,144,39,90,122,113,251,134,21,135,42,137,254,153,60,0,42,0,30,84,81,84,253,101,146,109,77,85,28,103,30,113,75,86,190,102,215,158,60,0,42,0,111,92,73,87,243,95,154,130,104,153,88,140,90,140,216,142,233,152,128,156,104,155,21,151,192,129,203,129,60,0,42,0,61,108,125,117,60,0,42,0,71,78,219,78,172,139,88,98,97,98,81,108,102,153,84,103,130,79,131,84,213,98,214,98,176,108,41,99,93,99,140,131,165,136,23,138,182,109,43,129,49,129,229,152,96,155,93,154,60,0,42,0,110,154,87,79,64,150,65,150,104,87,174,92,177,108,178,108,207,114,241,143,124,154,35,120,36,120,137,136,53,158,61,125,54,88,206,141,97,145,162,120,177,153,214,105,196,153,221,153,222,153,80,106,128,155,21,157,39,159,40,154,13,159,82,154,9,159,60,0,42,0,117,95,165,89,185,94,160,90,45,105,85,105,247,90,98,106,78,157,12,155,22,156,60,0,42,0,221,103,228,107,62,85,26,132,197,141,251,107,168,123,0,134,92,124,60,0,39,0,208,253,87,0,39,0,60,0,42,0,114,92,117,122,184,82,22,99,60,109,50,90,86,117,138,122,167,90,215,85,217,134,50,100,155,110,37,111,170,122,3,159,40,101,60,0,42,0,3,90,60,0,42,0,230,116,100,79,183,144,147,84,25,120,60,0,42,0,156,136,73,128,226,85,125,129,131,129,106,137,200,151,228,151,60,0,42,0,242,116,199,84,60,0,42,0,106,107,142,85,245,122,60,0,42,0,52,93,60,0,42,0,22,89,30,89,97,152,60,0,42,0,47,95,92,82,96,90,53,94,70,88,126,110,63,135,107,111,76,140,78,95,234,88,99,112,60,0,42,0,56,78,19,82,77,108,168,126,132,130,140,91,143,92,143,98,169,115,2,123,8,125,86,99,125,152,247,112,19,116,166,140,17,152,235,127,60,0,42,0,155,91,7,80,13,85,61,99,204,118,230,87,73,90,203,96,90,102,101,102,154,104,254,126,24,129,192,131,22,132,105,102,124,102,0,105,44,116,150,118,121,117,85,119,151,120,169,125,176,125,19,143,32,142,212,146,60,0,42,0,7,78,77,83,80,83,167,89,232,95,100,103,101,99,21,129,44,132,85,129,16,143,171,111,196,146,163,119,141,133,61,147,195,135,3,141,171,147,14,141,60,0,42,0,35,92,42,92,43,92,106,108,41,92,60,0,42,0,161,78,190,78,102,81,139,115,252,78,122,95,163,131,159,134,60,0,42,0,82,127,81,127,128,95,131,95,137,103,84,127,141,95,216,96,245,131,128,102,226,104,231,134,139,143,178,125,68,135,183,138,30,143,7,112,77,155,60,0,42,0,132,89,216,95,203,143,250,101,243,118,27,103,34,103,60,0,42,0,113,83,1,90,211,112,78,80,14,132,54,144,135,150,136,150,180,85,153,90,4,97,203,99,251,99,40,110,104,132,115,132,174,95,51,105,114,105,166,110,104,113,116,138,50,135,5,126,91,135,163,137,182,93,135,133,240,113,194,156,205,93,3,156,4,156,60,0,42,0,215,86,230,151,41,87,244,86,15,94,169,108,221,143,241,149,215,92,222,92,8,109,203,151,69,104,160,109,47,85,55,94,223,96,89,120,244,126,161,85,13,87,129,90,108,93,67,94,75,110,136,110,31,116,85,144,77,111,173,125,246,132,44,145,89,111,127,111,209,120,128,145,240,111,79,147,200,149,160,155,83,118,185,137,169,114,58,151,8,107,60,0,42,0,131,83,31,79,42,79,62,92,172,126,155,130,199,130,212,89,156,112,174,115,39,109,19,90,87,92,100,99,88,109,113,131,255,139,73,80,125,80,35,93,182,104,207,117,74,120,169,154,84,93,171,95,7,97,37,115,102,132,141,132,170,154,171,154,144,102,50,105,82,113,75,116,255,117,114,129,73,130,234,151,222,80,177,100,200,120,148,156,234,91,239,125,63,133,201,138,19,142,209,151,32,152,179,133,48,81,251,111,97,147,170,155,221,88,34,112,217,151,185,152,225,151,150,101,60,0,42,0,107,83,58,78,42,103,77,79,115,84,255,130,186,112,79,117,195,128,222,83,206,142,9,92,203,131,19,140,130,85,166,90,45,110,50,114,44,115,95,113,155,88,168,120,26,133,60,135,112,97,173,113,154,114,237,125,95,135,91,136,192,97,143,116,123,127,94,136,2,139,39,153,135,155,177,135,61,137,53,153,79,155,239,133,74,143,207,147,40,151,218,156,54,134,86,153,134,139,151,142,143,139,155,142,60,0,42,0,64,113,60,0,42,0,55,102,109,88,41,110,133,105,159,107,171,110,101,116,146,143,178,105,31,118,112,133,113,140,60,143,64,143,190,147,66,153,193,156,176,151,27,156,46,156,60,0,42,0,1,83,135,101,99,95,185,126,160,130,134,112,159,115,251,149,11,125,137,134,138,134,243,115,12,150,239,150,18,118,94,128,188,153,199,153,112,155,252,156,13,157,161,135,186,149,191,149,193,135,197,149,36,159,230,149,60,0,42,0,14,82,59,84,223,95,134,98,97,84,179,128,10,125,125,104,23,129,51,122,79,122,105,122,60,0,42,0,238,149,143,89,118,108,172,131,79,85,2,110,254,99,53,100,80,152,186,116,60,0,42,0,90,84,60,0,42,0,193,127,225,85,195,110,95,158,137,135,147,147,178,157,60,0,42,0,220,82,99,89,85,88,97,93,202,132,161,102,136,119,108,128,26,101,60,0,42,0,238,116,121,133,21,117,75,127,70,159,60,0,42,0,29,99,45,80,161,109,180,131,41,85,185,109,38,110,39,115,53,132,157,122,169,122,23,135,190,100,120,135,18,142,60,0,42,0,17,98,80,90,112,99,60,0,42,0,244,78,131,108,159,128,103,83,130,103,229,129,83,80,126,99,180,109,137,90,68,94,225,99,37,110,37,113,106,120,67,105,91,129,161,101,131,119,237,100,227,111,193,116,210,129,216,150,140,159,119,159,60,0,42,0,76,78,44,87,25,95,89,108,90,108,97,108,172,144,92,84,235,93,71,103,75,92,63,109,236,139,168,148,207,112,109,82,143,122,20,145,218,85,136,138,77,107,163,138,188,123,144,135,46,157,162,147,30,156,60,0,42,0,224,101,203,107,51,84,52,84,62,84,73,84,156,130,218,144,20,85,42,90,22,109,111,109,35,131,129,131,167,104,248,115,102,121,33,113,251,148,64,158,145,121,8,135,106,133,145,116,241,135,195,155,80,157,85,139,47,159,225,157,60,0,42,0,68,78,148,78,72,83,245,78,13,79,169,89,145,94,228,95,3,96,255,101,102,107,157,115,174,79,201,79,53,80,66,99,78,85,44,90,126,114,247,115,64,100,148,120,73,158,147,113,102,116,30,130,245,90,225,94,174,97,85,111,27,81,70,106,18,117,97,157,140,142,60,0,42,0,64,81,255,82,161,82,10,98,34,150,6,79,124,92,100,98,94,87,137,92,76,103,180,130,213,143,226,95,105,114,249,119,124,83,68,101,239,139,217,82,158,96,159,96,174,96,133,124,28,144,100,102,16,113,122,90,77,93,230,117,150,150,112,151,155,154,98,88,102,89,104,93,169,110,250,150,254,150,228,91,131,113,164,138,92,158,200,146,185,122,26,151,63,159,39,151,64,159,1,134,22,154,169,157,60,0,42,0,59,147,60,0,39,0,208,253,88,0,39,0,60,0,42,0,21,89,110,81,156,144,56,84,218,95,113,98,80,108,127,137,128,137,12,94,120,98,101,83,20,102,144,103,120,122,184,128,185,128,217,79,134,95,56,96,83,96,215,144,123,153,15,85,90,89,86,92,111,96,149,96,37,108,96,109,122,114,246,114,131,131,61,85,137,96,220,96,94,102,120,104,55,107,197,109,19,110,239,112,1,113,8,113,11,116,82,120,229,131,101,141,248,145,146,80,193,96,112,102,115,102,31,113,44,113,128,114,78,119,0,122,158,124,213,127,214,127,62,130,14,145,128,83,96,93,175,95,170,110,153,118,160,132,33,149,214,80,189,105,85,113,132,113,136,113,153,113,198,125,37,135,104,140,15,153,59,86,79,86,6,91,9,91,178,93,93,111,28,118,206,120,157,129,222,81,153,97,40,106,64,106,185,113,186,113,187,113,184,122,24,126,178,127,133,135,135,135,43,147,232,113,160,114,166,119,2,121,203,135,63,140,64,140,111,140,149,140,230,124,101,126,208,145,223,150,209,155,87,157,249,137,70,139,175,145,237,147,181,150,199,93,230,102,20,114,167,114,69,145,253,137,60,0,42,0,55,159,53,136,2,158,255,137,116,148,60,0,42,0,96,78,203,144,45,94,210,127,173,136,203,137,186,85,179,90,58,105,181,132,198,132,141,93,29,111,161,137,152,141,226,105,130,133,176,150,132,106,53,139,180,147,43,151,219,156,193,152,49,154,61,154,114,137,60,156,104,154,60,0,42,0,178,103,23,109,186,115,153,95,227,148,156,85,72,132,120,132,34,146,104,146,105,146,99,92,7,111,240,132,152,97,191,102,114,106,86,107,167,121,240,138,208,88,48,126,17,139,226,135,93,142,189,116,205,86,90,156,214,119,167,142,60,0,42,0,56,83,76,83,15,98,67,92,251,124,105,153,108,84,229,95,44,96,253,119,198,126,194,79,165,84,68,96,251,118,228,144,47,107,228,126,48,125,243,145,11,150,30,105,3,130,4,130,135,141,153,150,64,97,202,110,138,121,140,125,105,141,159,150,141,88,130,113,148,114,39,122,95,111,153,111,110,133,164,137,49,98,214,158,50,98,246,120,105,134,60,153,41,155,107,126,177,86,223,149,60,151,109,92,75,136,60,0,42,0,114,134,168,117,126,134,58,140,132,80,149,149,70,113,172,152,142,119,102,135,21,156,60,0,42,0,35,83,160,79,206,114,224,79,218,83,225,92,217,103,160,112,237,114,92,150,253,92,218,112,249,114,232,115,107,121,86,120,200,127,58,130,127,150,100,120,80,144,110,101,135,102,85,116,106,123,29,130,172,120,150,143,205,120,0,126,120,133,22,126,110,141,123,155,68,143,92,147,30,151,139,147,224,158,34,154,183,157,60,0,42,0,156,149,60,0,42,0,5,78,11,78,100,78,19,84,55,87,156,117,15,89,186,104,113,119,135,86,215,97,69,127,188,147,19,89,236,147,60,0,42,0,217,78,218,78,115,92,72,81,126,89,164,126,97,79,250,95,25,108,116,103,70,121,200,121,238,130,174,103,124,124,215,115,182,131,128,99,230,148,249,141,112,145,40,149,202,80,242,80,21,86,155,146,156,156,185,102,239,151,16,91,184,97,159,133,65,147,74,126,60,137,241,151,174,155,110,142,166,153,239,94,21,101,142,126,177,157,115,137,154,142,150,126,123,156,60,0,42,0,45,79,242,149,182,89,38,95,36,141,184,84,12,85,38,99,142,109,216,128,52,90,57,90,113,90,67,125,55,130,191,134,84,136,99,85,122,110,235,117,221,134,145,149,146,149,71,158,204,90,88,136,9,117,156,146,250,90,251,90,170,97,143,100,150,111,52,122,184,138,226,140,244,138,49,143,142,145,71,118,78,118,175,119,214,133,37,121,121,158,153,158,18,141,243,157,244,157,252,157,60,0,42,0,188,81,221,114,62,102,105,150,4,93,232,107,205,112,3,115,172,134,122,150,123,141,69,123,31,92,32,92,31,100,146,121,227,141,145,146,178,123,170,150,174,93,107,115,110,115,211,133,76,147,249,113,85,152,112,94,7,101,246,106,26,134,99,139,129,115,197,151,111,152,102,112,60,0,42,0,35,79,191,83,158,84,152,92,203,130,176,115,191,126,253,129,80,150,237,89,170,91,12,119,101,150,239,84,183,87,10,90,40,90,244,92,128,109,167,131,119,150,91,102,254,115,77,120,133,153,77,119,100,125,16,127,161,127,46,115,175,124,168,127,122,129,6,135,233,80,244,80,171,125,162,138,138,100,218,125,231,146,178,97,76,106,35,126,14,147,33,153,207,88,79,140,178,158,23,112,212,129,123,115,238,124,48,151,56,159,60,0,42,0,102,148,60,0,42,0,97,78,151,130,248,118,153,153,247,144,162,83,76,85,9,145,10,145,194,94,88,110,3,127,89,132,21,145,127,105,37,122,140,133,177,123,215,125,183,129,68,137,192,95,167,154,152,158,0,107,214,116,118,149,92,156,114,148,100,154,60,0,42,0,232,116,109,79,230,139,160,94,25,104,101,121,116,125,212,127,115,138,237,141,60,0,42,0,171,78,175,78,205,84,131,134,119,153,81,102,232,152,243,96,132,146,9,153,158,156,207,102,1,136,157,155,215,155,255,151,87,153,95,153,118,156,60,0,42,0,17,84,224,89,247,93,121,152,230,115,97,140,66,88,63,127,43,132,86,136,5,152,207,80,232,82,145,93,151,146,97,106,80,137,174,86,211,135,12,148,76,156,60,0,42,0,113,112,114,112,122,84,173,103,190,79,211,84,181,103,129,154,238,84,175,91,181,91,168,94,136,109,225,126,83,134,13,144,46,158,75,90,159,104,7,113,7,115,39,132,218,117,223,117,93,120,99,120,153,122,219,127,55,132,0,149,241,99,131,125,16,86,74,107,71,111,171,123,3,142,53,86,162,97,98,115,183,146,4,151,71,95,174,129,109,133,72,155,30,157,88,122,24,124,195,133,194,135,207,135,53,157,163,86,31,112,43,124,240,135,199,154,249,106,187,86,194,86,208,154,205,157,40,136,77,154,202,107,72,134,60,0,42,0,40,109,233,144,36,93,198,109,36,138,189,107,74,123,181,138,60,0,42,0,15,92,83,102,129,102,113,123,127,123,155,118,201,102,224,123,15,139,162,118,60,0,42,0,93,91,150,128,185,82,178,84,242,79,72,101,33,104,141,109,17,123,120,85,154,80,105,101,104,138,11,86,40,86,159,138,47,86,87,107,189,113,133,101,134,101,60,0,42,0,119,96,60,0,42,0,155,78,243,99,50,115,84,105,71,107,78,135,13,136,60,0,42,0,166,82,79,83,234,101,170,144,84,83,193,128,165,87,74,89,235,92,74,96,249,98,31,99,62,99,5,129,7,129,11,129,122,136,85,80,156,101,16,140,211,127,203,85,54,97,58,100,78,116,138,125,129,113,142,129,240,82,183,100,213,100,243,125,44,127,98,135,139,151,33,152,231,138,242,113,247,100,181,151,109,137,28,101,136,126,151,139,164,159,60,0,42,0,153,81,169,81,235,91,219,133,60,0,42,0,51,79,122,112,196,108,251,108,68,121,193,126,55,127,120,83,41,109,167,112,168,112,104,83,14,90,81,92,83,92,94,80,112,80,162,95,176,104,242,112,14,113,188,121,50,125,181,78,159,90,95,92,43,110,79,125,108,125,34,140,193,80,110,88,141,105,173,105,9,137,103,86,103,92,172,102,228,125,176,93,232,94,200,97,165,111,108,115,207,124,162,133,164,133,130,144,240,151,238,113,59,137,29,139,17,89,9,112,162,151,35,112,21,114,114,126,249,135,15,136,88,159,91,159,101,159,66,159,158,142,60,0,42,0,195,95,164,144,161,89,251,95,175,130,155,143,21,102,122,103,35,107,152,112,250,118,253,79,222,96,34,138,10,146,12,149,176,101,70,107,222,94,197,146,122,86,28,91,170,133,168,153,107,148,171,153,60,0,42,0,148,103,81,137,20,148,60,0,42,0,8,79,60,0,42,0,32,150,41,79,223,86,94,91,225,79,208,142,42,129,69,136,43,138,46,113,184,153,86,152,11,130,193,145,60,0,42,0,196,95,60,0,42,0,31,102,182,87,141,154,250,96,41,115,75,113,70,116,101,129,245,134,234,137,181,123,194,123,3,139,143,155,208,102,242,137,2,154,168,118,249,155,60,0,42,0,17,82,76,136,162,144,98,95,73,150,128,79,201,144,139,87,16,109,101,131,152,148,88,150,25,90,78,120,207,148,3,146,206,110,118,146,146,146,222,146,60,0,42,0,114,119,146,145,228,100,60,0,42,0,116,81,79,103,211,89,120,94,39,96,71,131,22,80,149,131,94,90,187,96,172,109,200,125,8,130,57,91,214,129,60,0,42,0,216,84,196,136,60,0,42,0,246,81,2,83,68,81,71,81,8,83,187,139,247,95,121,108,197,84,95,96,54,109,247,128,248,128,41,138,126,138,239,140,60,0,42,0,196,150,138,113,60,0,42,0,61,113,60,0,42,0,199,139,56,113,87,138,16,89,123,101,60,0,42,0,17,79,226,79,238,79,187,84,165,94,203,112,204,112,158,127,41,129,25,129,58,158,249,129,133,140,144,153,7,106,157,146,228,154,249,154,128,147,180,155,66,157,197,147,72,153,67,156,205,152,60,0,42,0,236,130,60,0,42,0,61,103,235,110,67,111,135,125,212,124,60,0,42,0,192,121,171,92,192,92,219,115,227,126,150,136,7,116,8,149,197,85,180,110,147,116,14,137,15,137,185,146,145,135,77,126,97,126,229,147,253,147,69,159,60,0,42,0,1,84,12,98,244,101,158,117,241,118,40,107,229,128,123,152,71,102,15,138,124,152,87,134,90,134,30,140,173,90,65,94,223,99,81,110,91,134,199,136,8,152,72,105,162,122,10,152,24,86,159,88,0,151,70,155,83,86,3,91,84,107,3,126,102,133,81,135,221,138,67,139,123,126,86,155,73,154,80,148,26,155,60,0,42,0,198,79,144,95,163,132,60,0,42,0,184,139,116,84,193,89,233,139,148,81,41,104,221,115,102,80,49,138,138,102,97,138,48,122,38,145,200,124,145,145,232,118,60,0,42,0,237,101,53,79,143,94,127,108,167,130,144,79,121,83,52,96,128,108,217,83,100,96,43,102,43,109,191,87,48,107,136,107,197,112,236,115,214,82,77,101,88,101,215,82,252,112,234,126,237,126,87,145,163,85,251,88,127,90,2,103,134,110,110,125,83,128,57,138,73,97,102,113,154,125,196,132,201,140,210,105,53,111,74,111,226,118,129,119,210,125,95,128,138,146,93,115,56,122,214,125,99,155,199,133,178,119,218,133,140,126,110,156,60,0,42,0,255,132,60,0,42,0,5,84,105,143,13,102,163,91,50,95,210,142,139,104,22,140,167,85,71,88,151,90,3,97,11,97,206,99,49,132,50,132,132,102,74,113,68,116,210,132,123,119,7,81,164,121,174,123,7,126,231,127,86,135,215,146,193,97,127,133,224,138,252,138,121,147,253,153,206,119,254,127,252,133,16,134,9,136,94,139,26,156,60,0,42,0,132,115,185,115,195,117,172,96,203,101,1,116,1,135,217,90,41,111,182,102,135,116,136,106,191,116,248,97,60,0,42,0,186,84,9,144,69,102,220,112,120,144,72,152,99,118,108,118,60,0,42,0,48,96,235,108,33,102,171,112,218,126,41,119,168,136,201,148,4,116,52,119,82,136,50,110,98,125,101,105,102,105,73,146,185,120,25,133,95,149,153,151,180,152,60,126,79,126,199,147,130,139,25,141,60,0,42,0,74,82,182,117,134,132,116,151,155,133,165,143,170,143,190,151,60,0,42,0,116,122,136,101,116,78,102,91,164,92,195,92,19,131,246,108,149,136,52,158,5,142,198,88,120,91,168,93,169,111,226,113,247,137,228,150,253,157,60,0,42,0,234,150,164,129,48,106,93,130,76,143,213,156,72,156,60,0,42,0,64,136,55,84,121,87,216,114,86,104,17,140,144,141,20,139,37,112,60,0,42,0,67,87,203,82,217,87,4,113,219,82,100,88,143,113,168,122,18,133,242,82,243,82,171,133,232,153,145,86,206,88,111,115,176,133,219,102,251,113,208,129,196,119,13,134,230,88,11,114,129,126,186,145,60,0,42,0,245,94,251,91,236,101,225,93,111,154,74,103,67,117,226,139,203,92,66,96,53,109,84,109,3,125,64,131,104,131,18,104,106,104,229,107,227,115,113,80,11,92,170,95,215,99,98,138,180,153,41,145,159,156,90,86,111,111,51,101,51,106,197,113,214,113,149,116,243,135,79,156,88,156,101,112,60,0,42,0,66,83,173,139,175,139,40,79,91,108,197,143,154,79,250,93,135,95,229,114,255,143,10,144,137,107,10,138,19,138,25,138,94,89,253,93,190,107,4,122,92,144,59,97,208,140,64,86,96,111,72,133,104,152,66,148,60,0,39,0,208,253,89,0,39,0,60,0,42,0,43,78,39,87,139,83,22,84,152,94,188,98,146,103,173,87,38,158,96,104,45,158,225,87,114,91,212,148,15,105,9,157,15,147,40,157,211,88,118,157,26,148,60,0,42,0,89,114,34,79,145,83,136,92,189,130,147,83,161,115,10,116,12,123,156,134,16,88,21,93,22,93,175,109,26,115,88,116,90,119,89,136,4,111,86,159,60,0,42,0,138,83,140,94,209,84,22,85,94,85,214,117,197,150,2,118,101,133,60,0,42,0,156,82,32,87,103,143,154,78,126,137,182,139,156,78,189,114,211,143,158,78,203,142,5,90,28,99,17,120,249,79,41,108,109,90,151,99,29,138,224,99,44,108,48,115,80,128,20,87,15,122,171,122,126,159,60,0,42,0,91,78,64,84,60,0,42,0,121,96,102,82,223,112,218,115,237,128,99,80,38,93,202,109,249,109,9,113,17,113,248,131,9,150,110,110,76,129,89,113,125,120,34,145,227,90,57,111,150,93,46,106,131,145,185,149,46,91,232,97,246,123,213,97,217,129,235,158,60,0,42,0,160,139,246,94,235,149,37,78,141,89,171,130,0,138,1,138,169,92,22,102,191,108,142,112,212,144,248,89,43,90,255,114,20,120,154,131,46,90,208,118,113,85,2,116,79,120,46,138,134,149,14,150,82,93,83,93,117,123,150,125,18,135,105,88,197,99,76,105,125,138,158,120,5,133,156,152,179,83,100,134,187,149,144,106,79,152,84,152,180,86,219,88,204,93,55,124,233,106,236,158,231,88,77,91,215,93,214,93,21,107,57,121,125,158,163,158,60,0,42,0,53,89,129,98,135,108,117,78,86,81,68,89,232,79,87,81,61,83,7,95,77,136,67,80,163,83,169,99,60,119,18,132,254,144,83,145,67,93,29,97,74,98,220,99,234,104,48,110,55,110,48,116,67,144,146,150,60,105,104,127,250,136,20,111,23,137,45,98,88,135,71,155,94,86,189,142,47,126,191,106,225,158,180,83,23,117,11,156,160,157,228,158,94,159,145,159,60,81,237,158,105,152,52,159,216,93,218,93,238,102,88,155,57,159,116,159,246,158,60,0,42,0,140,83,159,89,195,137,106,114,189,84,242,89,101,95,102,95,26,120,1,85,180,91,79,102,251,112,115,130,142,137,140,154,80,80,20,113,26,140,129,150,173,85,48,88,101,101,48,113,49,113,18,115,111,120,85,132,193,150,191,80,59,105,142,110,223,110,235,156,173,83,149,88,165,102,150,113,125,145,10,91,51,140,13,153,8,157,196,113,213,113,250,138,93,141,51,155,213,102,51,157,64,145,16,154,19,154,165,86,63,91,118,130,11,141,197,142,227,102,19,114,182,145,52,154,195,157,84,112,23,141,254,137,140,139,188,145,92,153,87,154,240,157,119,130,78,112,197,145,96,154,103,112,158,139,83,140,84,140,105,112,60,0,42,0,46,89,137,84,206,89,176,98,241,108,131,107,230,128,15,119,231,121,47,158,96,146,245,150,133,151,38,157,60,0,42,0,108,98,138,127,38,150,51,150,248,101,104,103,128,112,207,152,111,79,183,82,28,108,161,117,150,148,159,87,137,95,28,102,11,109,143,127,202,112,220,115,59,119,125,150,53,93,56,93,218,99,216,134,109,101,152,102,74,105,108,113,147,121,13,118,249,138,48,143,90,147,57,157,186,152,10,148,17,156,55,151,9,158,60,0,42,0,240,78,82,79,113,87,159,92,123,81,205,103,180,112,39,108,210,117,59,125,159,80,103,105,238,142,67,97,49,108,70,135,10,153,218,153,233,97,1,101,98,118,34,121,60,0,42,0,15,96,89,96,55,104,149,127,71,138,216,105,62,111,35,106,1,112,60,0,42,0,170,127,60,0,42,0,122,94,45,89,6,84,150,89,150,103,128,107,69,121,30,138,147,85,125,132,70,105,112,129,1,157,128,144,60,0,42,0,59,114,39,92,45,92,180,128,154,87,218,89,227,92,122,143,4,80,209,112,231,115,145,122,156,80,47,88,250,99,35,140,250,142,194,85,177,90,173,95,46,97,22,100,71,100,231,110,58,115,89,144,101,144,127,100,154,102,163,105,100,116,118,116,154,146,214,152,6,153,162,93,164,93,216,120,175,122,176,122,26,153,71,126,32,139,33,139,144,147,208,156,187,152,40,134,142,144,100,152,41,156,60,0,42,0,248,78,142,91,134,92,173,98,115,103,213,114,237,130,172,84,252,103,17,119,133,122,136,122,0,130,96,80,121,90,62,93,148,110,212,132,154,105,34,157,196,149,21,154,105,159,213,157,60,0,42,0,126,122,111,131,129,137,165,148,142,136,148,122,68,123,111,132,79,138,142,113,158,137,127,151,95,115,94,158,172,133,60,159,220,102,255,113,94,130,229,133,197,119,0,128,133,126,194,157,145,139,112,148,60,0,42,0,59,80,150,99,48,105,141,102,78,86,113,111,46,136,60,0,42,0,55,114,54,128,83,99,246,99,216,148,58,114,254,145,227,146,129,147,232,100,60,0,42,0,95,78,20,84,182,81,220,87,206,145,34,86,28,111,196,88,60,0,42,0,26,78,246,83,243,102,117,152,245,102,186,144,28,89,180,98,177,78,188,103,2,109,1,152,89,99,84,102,189,103,232,112,88,85,178,109,18,140,40,88,151,107,75,129,73,132,19,145,183,88,106,105,109,105,140,153,247,80,196,102,197,102,75,107,193,113,141,116,219,100,163,118,177,119,52,145,101,151,170,93,171,93,178,111,1,139,35,153,136,86,235,100,215,102,184,119,113,147,234,100,23,114,15,121,145,147,65,153,122,157,55,148,104,151,92,154,8,158,60,0,42,0,170,78,60,0,42,0,0,78,74,78,12,95,183,143,100,136,10,79,99,136,59,83,26,84,241,88,157,79,78,121,191,84,34,109,152,96,15,110,23,115,105,117,252,144,241,148,249,88,214,99,57,107,220,134,149,121,219,90,42,111,38,122,165,146,4,91,107,86,1,89,127,116,101,158,68,126,185,106,201,107,171,145,223,158,105,139,214,157,243,158,60,0,42,0,65,78,234,78,28,83,47,87,55,89,198,143,157,81,144,91,130,108,210,139,135,79,156,91,33,96,182,108,203,114,106,136,228,143,116,153,166,84,232,89,211,92,94,96,248,98,194,103,198,115,245,116,59,141,251,143,167,91,248,93,44,95,69,98,24,104,75,104,25,119,240,128,152,136,17,138,164,140,205,117,251,121,27,128,19,132,44,105,160,127,230,134,81,138,82,138,189,140,87,144,144,90,134,102,56,105,131,138,224,141,9,152,144,152,244,152,145,117,0,81,170,113,183,123,122,144,172,93,91,95,92,95,148,135,36,152,37,152,242,91,183,93,3,124,74,152,93,95,94,95,59,139,212,147,78,124,250,137,137,139,3,158,60,0,42,0,89,78,242,93,229,78,135,148,65,79,58,101,227,119,225,130,226,130,161,94,35,130,129,134,212,145,26,80,70,98,22,123,24,144,79,145,111,80,58,93,209,101,5,105,24,146,111,146,230,156,255,136,214,101,38,142,34,143,124,101,152,135,165,106,18,121,100,130,251,135,87,152,89,143,110,159,60,0,42,0,66,78,73,78,191,78,11,95,8,82,198,95,122,130,7,83,138,128,174,139,166,78,7,79,121,92,2,95,133,130,63,79,90,79,174,82,83,84,68,87,121,95,145,98,89,103,52,128,197,130,209,139,145,144,126,79,109,84,121,84,196,92,8,96,63,96,19,102,141,103,37,107,198,108,136,112,199,121,206,126,227,139,127,154,203,79,85,89,31,94,32,94,8,95,187,103,66,109,180,115,171,117,191,127,117,136,118,143,8,85,188,87,146,96,57,99,39,104,58,104,45,107,101,109,115,109,202,118,163,136,10,140,109,150,218,82,246,87,248,87,165,96,156,99,185,107,112,117,91,120,155,127,202,127,204,127,31,132,50,138,51,138,89,140,91,140,56,144,244,145,191,150,70,94,97,101,121,102,237,104,148,107,89,110,50,113,225,134,77,138,199,141,252,142,32,146,174,154,132,78,127,81,15,97,162,110,72,115,236,117,106,119,233,122,34,127,169,127,132,128,212,136,219,136,99,138,233,82,213,90,217,94,143,105,105,111,23,118,137,129,250,132,52,135,126,151,197,153,4,81,142,100,248,105,197,107,60,0,42,0,160,113,164,113,188,113,30,118,188,138,82,149,93,158,98,158,211,158,147,82,27,87,191,88,17,91,31,91,167,93,182,97,204,97,192,102,170,107,186,111,218,113,49,118,150,119,83,122,10,126,87,130,143,133,160,135,57,137,241,91,129,101,206,102,141,106,93,107,225,113,241,113,243,127,252,127,198,129,150,140,249,140,168,155,84,118,217,133,221,133,0,141,176,147,113,149,118,126,121,126,119,140,44,151,227,155,130,157,131,157,141,157,55,112,25,134,111,139,112,139,179,145,183,145,80,153,200,86,63,148,193,157,202,157,255,97,124,137,91,154,231,157,73,134,254,157,155,139,120,159,60,0,42,0,217,86,224,86,37,150,52,150,140,79,148,87,251,89,7,109,53,131,107,131,243,151,131,154,54,104,183,107,36,108,112,150,208,81,245,121,192,136,223,148,123,150,130,150,145,85,25,88,99,90,20,97,67,123,106,125,69,107,181,110,139,121,145,132,45,133,71,97,22,118,166,146,248,125,135,151,242,138,18,151,240,153,126,86,201,149,32,151,254,151,60,0,42,0,152,81,81,78,31,84,190,114,194,130,166,101,206,112,160,87,255,108,1,87,254,92,250,114,226,115,118,131,20,138,26,138,108,90,197,91,31,93,47,93,235,109,33,138,246,148,29,146,130,159,219,110,146,120,30,145,36,89,41,133,128,146,86,86,165,107,140,116,190,138,154,86,173,106,235,135,42,151,87,159,227,157,60,0,42,0,90,78,244,94,57,92,21,95,50,84,110,153,147,134,122,141,144,150,254,109,15,146,242,152,160,150,119,151,238,152,4,103,17,143,228,120,155,141,131,106,62,118,177,150,190,93,229,111,230,111,190,135,31,134,253,106,110,118,148,139,60,0,42,0,112,83,26,131,21,109,228,128,189,87,55,88,90,110,12,115,213,94,115,145,109,97,74,118,150,97,151,97,163,155,218,97,188,106,60,0,42,0,140,124,60,0,42,0,148,94,220,95,241,130,64,80,92,104,241,115,186,131,104,85,116,90,150,90,37,97,54,110,236,126,32,103,80,113,91,116,200,90,164,120,51,149,36,86,132,100,7,117,211,125,40,127,66,127,103,135,207,140,49,106,142,116,67,127,46,137,72,147,25,151,44,157,102,158,48,91,201,97,186,129,250,151,22,117,112,158,145,157,167,157,182,86,70,91,126,91,22,101,76,127,33,134,77,139,251,106,212,116,47,121,123,139,175,157,77,148,147,126,51,136,234,157,200,142,249,157,14,158,26,158,60,0,42,0,193,118,206,143,20,131,200,118,103,131,185,131,182,85,36,132,37,132,38,132,205,134,129,110,139,110,62,132,204,80,75,88,121,105,226,110,229,132,70,111,146,113,71,135,105,116,127,135,52,91,223,113,8,126,162,135,217,111,218,111,244,111,192,133,174,137,13,139,98,141,5,112,163,147,13,101,27,112,32,112,47,112,5,136,255,106,52,112,15,141,80,112,93,124,92,112,111,124,60,0,42,0,232,119,226,144,103,109,172,104,141,152,149,152,150,152,108,100,113,95,65,111,63,118,78,122,52,152,202,93,238,94,27,148,109,118,60,0,42,0,32,102,142,102,108,120,181,90,161,129,95,86,149,151,102,156,60,0,42,0,223,84,55,85,178,85,60,0,42,0,99,79,229,98,200,117,149,144,184,94,173,80,200,85,24,145,205,150,137,88,222,90,117,97,253,110,230,105,69,114,112,86,197,88,193,100,173,111,250,144,91,149,195,129,85,118,221,150,222,147,217,156,241,94,73,112,84,153,69,156,219,157,112,118,60,0,42,0,129,85,216,99,153,152,82,152,43,156,60,0,42,0,56,108,44,117,143,84,58,96,243,108,209,79,199,82,200,82,16,104,199,87,128,96,225,103,140,109,127,96,155,80,229,96,17,97,103,110,103,120,96,138,78,88,113,93,110,95,57,97,249,134,66,97,10,142,156,121,172,156,52,142,210,155,60,0,42,0,40,117,218,130,61,120,159,145,60,0,42,0,24,79,231,95,56,101,102,84,46,96,209,108,125,94,12,144,160,96,128,158,250,110,130,97,42,81,62,145,152,86,0,112,204,106,139,126,48,128,60,0,42,0,34,92,36,92,49,117,139,108,185,114,174,144,185,108,172,128,35,96,191,101,163,117,243,92,95,109,222,121,156,131,184,131,245,144,192,148,100,80,176,134,39,138,48,144,56,110,54,115,74,144,127,156,98,105,55,115,62,146,137,156,15,143,192,153,85,133,99,135,119,155,54,143,139,155,254,106,60,0,42,0,203,83,9,103,35,78,99,83,195,130,73,145,145,127,174,94,47,104,144,127,160,131,132,104,72,128,28,129,213,148,117,110,137,121,15,135,170,146,241,105,86,114,87,114,221,158,238,97,60,0,42,0,200,83,243,83,124,94,81,79,145,79,103,91,214,114,255,124,202,84,255,86,247,89,165,91,223,92,218,103,112,114,80,121,241,139,246,143,0,85,180,134,180,78,129,140,201,145,109,145,152,138,44,159,60,0,42,0,143,132,60,0,42,0,188,143,92,98,161,126,194,143,195,143,123,122,83,150,6,125,118,134,57,85,228,109,211,118,0,118,138,123,60,0,42,0,144,78,142,78,152,144,3,79,89,79,164,89,117,98,69,103,36,107,151,115,153,115,188,101,194,118,254,129,103,136,124,156,123,78,222,79,106,81,186,121,253,122,1,130,48,131,27,90,47,90,49,90,89,104,243,114,0,140,81,145,128,153,20,110,56,132,133,150,233,150,90,155,35,88,44,88,51,93,78,93,91,93,9,97,196,99,112,105,29,110,97,110,109,117,98,120,116,129,46,132,62,144,172,154,26,97,213,101,97,105,134,105,72,107,79,114,92,116,69,130,94,134,206,137,1,111,110,119,172,122,6,130,21,137,118,107,173,127,77,133,83,135,219,138,211,150,24,153,41,91,158,111,166,137,48,142,95,107,181,116,184,135,63,143,93,147,35,139,195,154,189,155,223,101,69,124,31,154,242,155,27,134,5,156,224,157,6,158,60,0,42,0,14,78,136,78,27,79,135,91,127,92,189,127,232,150,193,79,227,79,39,99,185,121,237,139,4,87,255,92,100,121,74,80,44,83,9,87,190,94,84,101,5,145,158,101,45,132,180,80,217,91,64,105,64,116,16,118,7,130,158,138,179,122,217,146,40,152,137,159,115,86,188,93,217,97,144,140,148,101,140,158,12,134,108,159,60,0,42,0,128,128,137,115,109,154,43,87,127,128,139,130,140,130,170,89,236,95,107,153,178,128,193,144,49,102,241,114,215,121,31,131,252,79,234,92,103,95,116,109,33,120,176,148,132,152,144,85,223,87,9,88,134,96,208,96,50,107,226,109,239,109,172,136,21,140,51,144,8,150,133,85,169,85,187,85,128,90,211,91,189,94,161,95,219,104,220,104,235,104,52,113,25,116,222,119,114,120,213,136,71,144,235,152,173,153,70,158,8,97,234,110,92,113,34,122,109,127,72,130,174,132,227,132,137,138,58,146,16,152,215,90,142,93,43,98,211,107,68,115,9,118,206,125,31,135,46,135,13,143,137,146,74,86,126,97,79,111,54,122,249,132,129,133,107,140,121,144,202,146,255,156,166,111,207,113,224,113,119,133,237,138,37,147,190,149,37,157,39,157,42,157,37,81,7,121,166,121,74,155,108,158,82,118,22,121,28,121,101,122,253,123,88,126,167,145,82,157,242,106,71,153,125,139,93,143,45,148,49,151,14,107,72,154,59,155,94,124,74,156,248,157,18,158,29,107,165,159,201,142,48,155,49,155,106,112,60,0,42,0,114,124,41,114,60,0,42,0,154,111,60,0,42,0,230,86,34,158,72,82,164,81,129,96,34,119,51,158,195,91,1,110,6,110,10,110,21,110,204,96,245,109,126,132,233,104,172,132,14,135,247,136,83,158,162,123,246,156,53,135,204,153,27,157,61,91,119,157,65,112,24,159,29,159,60,0,42,0,67,81,134,81,32,141,167,144,88,84,237,86,133,108,108,103,163,87,48,114,159,140,159,83,225,84,6,87,14,123,150,134,129,136,161,83,91,145,14,87,244,99,114,110,40,115,24,127,18,131,40,146,11,159,18,87,19,87,108,88,180,90,196,90,144,110,146,110,63,115,66,115,157,132,158,105,172,105,149,143,227,125,1,126,93,135,111,135,109,155,124,106,177,127,151,133,136,135,28,139,69,143,255,158,177,147,222,106,141,144,53,154,162,157,176,157,181,83,60,0,42,0,220,143,246,118,58,144,96,144,250,146,60,0,42,0,23,89,153,128,180,89,209,130,40,96,98,150,184,87,79,136,134,80,155,90,190,99,87,116,144,121,63,97,235,136,17,137,36,137,110,86,88,152,60,0,42,0,240,102,241,102,166,126,4,125,185,123,241,119,95,95,96,95,60,0,42,0,8,103,9,98,22,82,156,89,132,92,136,98,63,121,179,92,165,115,113,96,133,96,166,96,142,134,143,134,207,142,186,148,5,150,115,99,192,141,195,141,164,124,138,141,5,146,181,124,94,146,177,149,178,149,51,91,62,106,215,123,189,93,160,159,70,124,57,112,37,134,230,158,26,114,180,121,141,142,101,124,17,158,112,124,25,158,60,0,42,0,85,102,10,127,128,132,136,102,50,108,116,113,149,132,51,108,107,89,121,135,95,141,53,152,167,153,7,141,60,0,42,0,145,78,251,82,0,83,29,79,233,86,152,89,132,108,173,126,184,130,0,102,71,117,3,119,208,121,231,144,162,109,28,125,24,128,58,128,22,145,242,150,42,97,179,110,96,123,124,123,183,132,137,113,144,111,83,133,198,146,82,106,212,123,28,126,60,0,42,0,65,81,45,150,61,89,142,98,193,114,104,150,122,131,146,107,151,85,23,146,149,150,158,107,30,137,187,153,210,120,241,140,35,151,107,159,115,159,60,0,42,0,85,91,208,143,159,103,211,144,125,96,6,145,93,145,138,80,242,96,32,97,75,144,77,97,106,129,235,151,245,151,133,113,168,113,247,125,252,125,116,133,21,126,128,133,150,145,158,145,43,153,244,133,215,151,222,151,10,134,251,151,60,0,42,0,163,98,103,126,60,0,39,0,208,253,90,0,39,0,60,0,42,0,0,94,29,83,158,108,202,143,130,84,246,98,37,125,46,125,84,146,115,155,220,129,226,129,60,0,42,0,66,103,175,108,56,120,122,80,146,85,244,151,209,150,252,120,77,137,220,150,203,86,208,86,229,150,60,0,42,0,139,84,60,0,42,0,125,112,126,112,62,117,201,84,61,104,214,112,209,131,61,110,168,110,117,119,243,140,60,0,42,0,176,91,61,93,60,0,42,0,141,81,40,87,87,98,5,109,125,143,164,80,9,143,104,145,14,81,33,126,60,0,42,0,66,81,204,124,42,124,46,124,21,148,31,148,60,0,42,0,177,84,60,0,42,0,29,102,90,104,193,91,221,99,70,86,141,100,39,81,5,101,18,101,57,81,34,101,177,141,178,141,60,0,42,0,130,102,171,102,219,140,94,141,62,147,60,145,253,111,84,142,201,116,10,141,232,147,210,116,71,145,82,112,131,139,218,116,182,121,120,137,154,139,97,153,60,0,42,0,40,83,66,114,152,127,67,141,205,140,231,129,53,133,216,140,19,141,210,154,28,141,60,0,42,0,117,154,212,153,60,0,42,0,88,89,9,95,15,129,95,88,108,132,186,146,211,129,223,129,60,0,42,0,174,80,109,144,223,124,103,142,169,145,60,0,42,0,255,81,127,148,60,0,42,0,233,101,163,103,6,104,164,134,215,104,161,111,170,116,187,133,112,126,251,133,60,0,42,0,118,112,129,118,130,118,21,85,35,85,32,144,141,104,191,85,101,97,112,113,65,130,106,86,9,124,229,113,195,122,95,139,174,141,129,142,200,122,60,0,42,0,25,82,158,98,162,108,233,98,206,108,253,108,35,141,238,143,71,82,54,85,103,85,59,94,46,123,52,130,172,140,173,110,224,119,22,86,231,90,88,94,166,123,54,133,13,106,117,107,206,138,92,141,199,100,164,111,159,118,148,119,0,124,11,121,87,137,46,139,254,140,12,136,90,159,112,159,5,158,60,0,42,0,40,89,196,78,130,94,68,108,3,102,23,102,81,99,49,93,60,0,42,0,44,79,60,0,42,0,60,141,29,98,202,140,151,156,253,155,8,136,2,156,97,156,60,0,42,0,14,96,60,0,42,0,46,140,86,139,91,139,60,0,42,0,206,86,60,0,42,0,151,88,43,145,158,88,142,97,47,127,103,106,183,113,148,116,240,119,243,120,126,127,82,126,68,139,91,156,60,0,42,0,3,149,229,146,17,117,96,141,8,141,60,0,42,0,78,98,18,84,175,98,83,89,19,99,228,103,251,103,243,84,103,80,179,85,248,99,35,110,66,105,132,82,99,100,182,118,29,106,240,137,187,118,71,139,68,159,71,159,60,0,42,0,45,103,52,117,248,149,187,134,225,148,96,113,80,114,152,149,154,123,43,128,88,147,87,139,60,0,42,0,143,83,195,98,242,130,40,119,31,120,41,100,138,156,157,156,55,142,147,155,186,155,60,0,42,0,77,78,121,112,200,139,164,84,222,103,5,104,184,112,177,91,196,117,177,134,160,110,80,138,62,100,168,105,5,151,161,145,60,0,42,0,8,89,130,124,90,99,139,101,142,101,88,100,184,105,75,159,60,0,42,0,133,91,161,106,60,0,42,0,132,122,89,146,60,0,42,0,58,80,38,120,181,80,232,91,53,118,60,0,42,0,172,103,190,108,225,107,195,101,52,104,152,124,197,134,230,152,201,96,64,138,136,141,121,138,154,149,53,140,97,86,166,93,157,133,133,144,17,151,8,108,10,108,187,119,111,158,220,101,107,139,88,153,227,156,89,154,89,155,99,156,7,158,157,139,60,0,42,0,169,101,208,152,85,92,207,118,45,93,172,101,22,116,12,100,222,118,131,93,132,93,144,105,173,152,248,90,134,145,79,106,62,143,245,158,60,0,42,0,96,83,84,79,24,98,8,104,95,104,217,122,97,80,253,126,218,131,231,104,91,110,38,98,187,125,152,93,26,143,48,98,101,134,102,134,177,137,79,143,103,139,56,134,79,154,60,0,42,0,32,95,53,95,224,122,189,80,35,145,220,90,112,95,94,97,51,111,80,115,187,124,1,133,103,144,178,102,31,106,139,116,38,153,209,135,63,154,70,156,158,158,60,0,42,0,201,78,127,149,119,149,168,109,140,99,50,111,101,94,3,121,60,0,42,0,8,78,215,78,89,98,16,94,86,103,192,128,38,141,128,124,51,94,177,109,57,129,238,117,156,150,135,88,130,93,91,94,236,140,44,118,52,118,149,119,60,0,42,0,241,147,60,0,42,0,75,79,138,148,177,89,246,93,219,98,45,102,196,118,215,145,65,85,74,146,203,153,188,122,99,147,189,118,60,0,42,0,42,114,43,114,126,98,188,108,117,116,60,0,42,0,236,83,70,81,207,139,155,103,151,87,164,112,227,114,117,141,10,123,129,128,208,101,249,104,84,138,103,113,105,127,135,128,136,128,153,141,204,102,243,113,161,155,194,106,190,119,132,127,60,0,42,0,64,127,60,0,42,0,7,135,251,85,236,90,110,144,60,0,42,0,135,83,152,98,125,107,250,119,19,120,119,124,116,134,242,84,209,87,141,124,169,136,96,85,138,96,98,102,99,102,132,143,134,85,240,134,95,138,42,140,178,153,122,100,18,143,212,120,25,143,184,146,153,143,196,135,158,86,43,139,58,139,191,155,77,143,129,139,139,139,60,0,42,0,5,128,125,78,107,85,135,121,23,149,109,141,54,137,117,137,60,0,42,0,217,143,216,103,89,109,25,144,219,109,23,133,28,106,106,111,103,158,197,135,211,157,60,0,42,0,64,119,87,132,60,0,42,0,30,141,136,148,166,79,72,109,205,115,206,115,215,128,158,140,42,94,21,104,98,104,30,119,31,119,39,120,111,121,221,145,117,80,109,104,89,145,202,91,116,132,73,144,195,90,56,100,159,101,104,105,73,115,4,117,142,121,150,132,193,132,65,146,85,151,155,105,157,107,103,116,170,120,155,121,103,111,180,123,60,106,181,111,251,129,189,133,49,147,67,143,124,147,72,124,117,156,60,0,42,0,202,139,174,98,149,103,43,95,35,102,120,143,82,92,91,117,185,117,21,119,151,136,62,125,68,128,25,132,214,136,58,138,235,142,28,127,57,122,215,153,37,126,18,155,240,158,60,0,42,0,51,87,53,150,188,126,61,117,178,79,11,99,99,150,41,158,47,99,21,103,26,104,22,125,57,119,72,141,86,145,102,88,213,99,124,125,118,101,113,116,171,138,209,140,244,146,71,149,7,151,6,157,173,147,174,147,60,0,42,0,231,81,137,78,66,79,195,89,129,95,20,96,45,114,228,139,233,87,229,92,35,99,161,112,240,114,221,112,16,119,178,148,29,93,34,93,153,99,25,115,65,119,71,128,238,148,156,90,193,99,93,123,176,95,184,132,92,119,45,142,102,146,180,95,143,123,26,147,220,123,7,155,214,155,101,118,60,0,42,0,54,108,141,98,253,124,239,98,159,99,120,102,56,97,156,100,116,101,60,0,42,0,99,107,193,139,209,144,39,94,63,101,199,117,64,94,60,138,99,88,205,138,45,145,10,157,73,139,60,0,42,0,75,78,47,101,110,83,65,108,157,130,49,84,245,93,101,108,103,87,157,103,220,108,229,119,199,126,162,128,0,104,87,121,211,121,214,121,209,128,221,128,124,136,1,80,183,117,108,121,234,121,2,129,187,150,148,104,32,98,37,105,248,129,24,100,148,121,25,122,149,125,176,105,24,135,182,153,247,156,50,157,84,126,53,134,5,159,60,0,42,0,103,98,132,79,183,89,244,118,234,89,36,80,60,80,64,128,222,145,244,87,247,87,212,109,76,128,13,105,150,107,134,114,131,121,119,125,214,141,237,85,225,116,68,146,140,88,109,100,189,153,2,91,121,97,16,111,47,142,52,106,177,129,54,126,119,128,217,135,96,142,196,142,145,142,60,0,42,0,2,89,98,107,234,83,234,81,167,82,232,101,47,150,64,87,65,87,11,94,122,98,102,108,154,108,184,126,183,130,62,96,167,98,73,121,11,131,171,84,73,96,7,99,179,103,20,109,11,120,121,136,117,143,253,109,187,117,25,125,40,138,190,141,249,142,249,158,111,145,181,95,226,133,103,137,60,0,42,0,36,150,243,129,150,130,215,95,238,95,123,98,120,140,54,82,148,83,129,87,25,94,28,94,187,108,153,112,40,141,227,143,197,144,231,79,217,92,162,94,164,94,3,99,227,103,9,104,55,109,81,121,95,150,33,90,143,95,26,99,74,102,78,104,254,114,233,121,244,129,159,136,61,141,126,143,127,78,107,80,157,95,183,99,189,104,86,105,24,115,100,117,212,117,242,121,247,121,146,122,41,125,208,127,160,136,215,137,173,140,218,148,55,158,130,80,59,93,88,95,122,102,222,110,227,117,237,134,253,142,152,154,216,91,204,94,49,100,205,110,26,122,107,123,110,127,241,141,10,143,39,149,201,150,134,88,239,110,76,111,144,117,253,136,159,137,140,138,141,146,95,94,132,97,111,100,171,113,58,122,163,129,239,137,234,140,44,142,213,146,243,100,216,101,4,112,251,125,178,150,228,153,25,157,40,81,149,82,229,97,242,100,219,106,73,122,178,135,235,97,4,141,205,106,198,116,246,137,45,154,239,155,41,121,81,140,58,154,71,154,147,142,217,157,85,148,82,140,60,0,42,0,148,95,60,0,42,0,45,78,0,79,119,108,35,82,144,89,120,95,224,95,200,108,130,112,200,126,202,103,197,118,115,136,159,148,47,130,119,136,66,125,33,146,82,94,32,133,58,149,191,146,164,135,36,157,189,135,126,147,40,159,113,142,24,148,102,124,60,0,42,0,191,128,205,121,162,81,160,85,48,92,90,88,92,88,113,107,68,113,107,129,7,118,46,122,53,142,92,122,60,0,42,0,242,78,23,79,149,89,198,114,76,121,61,131,118,136,205,145,155,134,69,80,62,119,57,88,145,90,87,123,70,136,229,138,60,0,42,0,222,93,31,130,204,139,156,79,104,84,50,109,191,112,234,139,208,112,216,115,128,143,238,144,159,95,171,99,205,109,234,119,49,144,60,158,140,85,165,124,82,141,8,143,130,146,217,140,22,143,12,151,242,153,233,118,5,139,67,157,6,154,120,139,60,0,42,0,175,89,116,143,248,142,60,0,42,0,152,128,26,94,155,117,247,131,109,102,109,119,146,123,222,155,60,0,42,0,163,126,55,79,106,84,146,84,153,91,201,126,145,81,174,84,60,102,2,125,196,128,110,131,177,118,78,145,93,102,153,124,100,132,75,138,3,117,118,138,253,80,186,118,206,153,99,86,16,126,164,154,64,124,85,124,82,124,95,154,60,0,42,0,49,103,175,82,143,79,219,139,190,144,25,109,49,131,42,104,224,115,248,139,42,115,67,120,252,121,190,136,226,148,81,125,219,134,133,138,230,141,224,105,116,111,107,135,150,146,101,106,248,138,108,140,239,153,162,155,56,157,38,112,235,106,231,106,250,155,4,159,41,136,60,0,42,0,249,122,207,108,250,122,162,112,1,123,63,131,219,112,139,122,16,144,28,123,51,130,3,118,201,123,237,113,11,136,133,142,65,156,78,91,95,112,239,102,24,107,37,114,62,136,131,148,60,0,42,0,54,78,59,78,148,91,196,98,92,127,124,150,26,110,110,113,81,113,93,138,49,86,208,111,136,158,169,119,154,82,209,86,184,101,218,119,60,0,42,0,43,79,71,79,79,79,169,82,187,126,206,130,126,87,124,103,232,108,46,141,236,143,123,154,244,88,241,103,182,107,183,112,93,121,176,117,29,119,43,120,105,121,218,122,135,131,53,125,56,125,156,127,192,134,64,93,81,123,59,138,175,140,211,141,244,142,248,148,111,123,82,146,181,153,184,88,184,123,229,127,38,106,243,146,208,153,235,123,20,151,134,158,68,148,60,0,42,0,147,98,155,106,188,129,59,124,253,154,60,0,42,0,253,98,60,0,42,0,233,141,60,0,42,0,19,78,192,83,2,92,22,120,8,92,31,145,124,88,229,90,124,116,14,117,215,120,158,129,155,152,218,120,239,138,228,135,83,152,68,156,60,0,42,0,108,143,104,91,226,142,241,122,73,143,60,0,42,0,119,112,109,85,31,88,131,132,81,116,94,129,206,80,90,141,176,100,198,123,148,153,249,123,72,137,250,140,84,139,76,153,192,86,81,124,60,0,42,0,134,89,132,94,157,89,146,94,88,131,36,90,105,104,138,131,137,104,119,110,167,124,197,136,221,136,1,106,218,124,60,0,42,0,238,88,239,88,182,114,192,114,245,88,11,113,52,111,158,100,7,98,60,0,42,0,185,150,253,143,147,154,37,149,16,147,5,154,123,157,60,0,42,0,157,108,60,0,42,0,96,87,88,104,13,123,55,90,0,127,244,96,0,117,18,127,119,117,126,120,135,129,156,88,180,125,88,141,11,126,200,138,138,145,35,147,31,153,8,121,5,141,91,143,70,148,60,0,42,0,146,91,205,143,171,128,128,122,6,140,196,138,96,136,60,0,42,0,198,81,251,87,214,81,150,110,167,125,60,0,42,0,48,138,21,122,60,0,42,0,83,83,217,98,170,112,44,80,73,99,76,104,193,104,191,109,243,104,213,105,91,122,113,122,63,136,60,0,42,0,52,87,116,95,75,108,179,114,124,112,213,83,176,89,1,131,171,101,74,109,53,78,94,109,245,112,252,139,76,145,68,85,69,85,58,90,178,104,177,101,107,102,19,105,56,116,122,120,161,122,108,127,175,100,198,100,178,101,154,121,133,82,193,138,209,138,220,146,193,111,231,123,226,100,128,101,181,101,239,111,225,106,54,139,111,149,47,148,107,157,66,112,23,136,50,148,87,124,223,157,113,124,60,0,42,0,167,122,60,0,42,0,114,78,92,91,10,131,121,81,168,84,213,89,255,89,50,131,37,104,134,115,14,125,64,141,68,141,48,93,196,109,246,121,1,127,24,140,124,141,222,85,115,91,107,93,20,105,125,110,203,110,162,124,88,132,142,143,17,145,118,91,140,121,220,137,62,138,178,140,199,140,145,141,49,149,53,122,199,125,45,146,67,149,135,159,28,143,18,159,172,111,238,138,166,141,58,143,25,147,237,154,187,156,127,147,161,147,190,116,63,152,62,152,212,155,133,157,77,159,38,156,60,0,42,0,251,132,60,0,42,0,212,78,7,84,201,89,202,89,77,103,247,119,196,121,207,128,112,84,237,121,125,124,20,128,120,134,43,123,147,104,232,145,89,85,43,125,211,110,63,138,159,105,116,106,60,0,42,0,87,91,234,129,147,130,33,131,98,131,51,80,90,82,99,96,120,114,13,110,37,119,38,119,212,128,254,128,44,111,60,0,42,0,80,91,60,0,42,0,151,91,39,80,252,126,148,154,43,88,79,93,85,93,254,96,213,104,35,115,89,129,124,132,54,105,33,103,120,93,47,122,156,125,195,125,167,113,245,125,234,127,108,135,40,142,42,142,235,120,80,147,117,140,100,142,12,154,3,155,35,154,9,155,55,155,238,155,252,155,65,148,60,0,42,0,59,96,108,80,116,99,227,96,33,97,212,99,3,100,175,80,215,132,96,100,207,125,2,126,234,113,61,126,211,147,60,0,42,0,181,126,46,102,173,117,10,80,20,115,130,120,189,124,201,124,50,118,38,126,29,147,49,126,237,124,60,0,42,0,72,111,60,0,42,0,185,144,122,154,249,139,240,144,108,150,198,131,247,104,248,104,18,145,131,123,197,125,207,138,57,145,176,156,235,155,192,158,54,154,113,159,122,159,60,0,42,0,113,141,112,141,208,155,60,0,42,0,79,89,205,99,113,105,60,0,42,0,223,121,69,132,169,132,60,0,42,0,70,83,179,141,82,83,235,84,18,93,42,93,207,101,182,80,164,123,36,142,63,142,94,149,195,147,60,0,42,0,197,139,59,150,196,126,206,79,60,114,199,115,86,121,40,85,68,125,91,138,123,151,186,147,60,0,42,0,187,148,156,142,125,148,60,0,42,0,100,126,53,127,130,126,137,126,107,124,152,126,60,0,42,0,37,101,90,148,60,0,42,0,156,83,24,103,250,85,54,106,213,135,151,126,60,0,42,0,138,93,52,86,181,93,127,86,187,116,60,0,42,0,44,104,74,125,84,145,0,103,108,102,125,121,33,122,106,127,160,143,220,105,123,145,94,133,137,145,135,106,247,146,10,147,140,106,60,0,42,0,160,103,93,122,60,0,42,0,10,92,171,88,255,88,159,93,117,144,61,106,92,126,71,127,142,157,15,148,223,156,82,156,247,157,60,0,42,0,212,80,66,86,153,100,80,139,60,0,42,0,88,99,140,146,60,0,42,0,40,102,232,121,139,131,125,99,10,105,34,116,19,122,112,123,60,146,60,0,42,0,230,93,80,79,83,126,60,0,42,0,92,79,80,87,60,150,157,92,158,92,13,96,179,79,90,121,217,128,17,85,167,94,143,136,90,80,67,132,68,132,217,132,245,152,243,124,60,0,42,0,151,84,38,0,39,0,40,0,0,78,41,0,39,0,60,0,60,0,60,0,32,50,38,0,39,0,40,0,3,78,41,0,39,0,60,0,60,0,60,0,38,50,38,0,39,0,40,0,9,78,41,0,39,0,60,0,60,0,60,0,34,50,38,0,39,0,40,0,93,78,41,0,39,0,60,0,60,0,60,0,40,50,38,0,39,0,40,0,140,78,41,0,39,0,60,0,60,0,60,0,33,50,38,0,39,0,40,0,148,78,41,0,39,0,60,0,60,0,60,0,36,50,38,0,39,0,40,0,227,78,41,0,39,0,60,0,60,0,60,0,57,50,38,0,39,0,40,0,1,79,41,0,39,0,60,0,60,0,60,0,61,50,38,0,39,0,40,0,17,79,41,0,39,0,60,0,60,0,60,0,65,50,38,0,39,0,40,0,107,81,41,0,39,0,60,0,60,0,60,0,39,50,38,0,39,0,40,0,109,81,41,0,39,0,60,0,60,0,60,0,37,50,38,0,39,0,40,0,180,82,41,0,39,0,60,0,60,0,60,0,56,50,38,0,39,0,40,0,65,83,41,0,39,0,60,0,60,0,60,0,41,50,38,0,39,0,40,0,84,83,41,0,39,0,60,0,60,0,60,0,63,50,38,0,39,0,40,0,13,84,41,0,39,0,60,0,60,0,60,0,52,50,38,0,39,0,40,0,124,84,41,0,39,0,60,0,60,0,60,0,58,50,38,0,39,0,40,0,219,86,41,0,39,0,60,0,60,0,60,0,35,50,38,0,39,0,40,0,31,87,41,0,39,0,60,0,60,0,60,0,47,50,38,0,39,0,40,0,102,91,41,0,39,0,60,0,60,0,60,0,59,50,38,0,39,0,40,0,229,101,41,0,39,0,60,0,60,0,60,0,48,50,38,0,39,0,40,0,8,103,41,0,39,0,60,0,60,0,60,0,42,50,38,0,39,0,40,0,9,103,41,0,39,0,60,0,60,0,60,0,50,50,38,0,39,0,40,0,40,103,41,0,39,0,60,0,60,0,60,0,45,50,38,0,39,0,40,0,42,104,41,0,39,0,60,0,60,0,60,0,49,50,38,0,39,0,40,0,52,108,41,0,39,0,60,0,60,0,60,0,44,50,38,0,39,0,40,0,107,112,41,0,39,0,60,0,60,0,60,0,43,50,38,0,39,0,40,0,121,114,41,0,39,0,60,0,60,0,60,0,53,50,38,0,39,0,40,0,227,118,41,0,39,0,60,0,60,0,60,0,60,50,38,0,39,0,40,0,62,121,41,0,39,0,60,0,60,0,60,0,51,50,38,0,39,0,40,0,93,121,41,0,39,0,60,0,60,0,60,0,55,50,38,0,39,0,40,0,109,121,41,0,39,0,60,0,60,0,60,0,64,50,38,0,39,0,40,0,234,129,41,0,39,0,60,0,60,0,60,0,66,50,38,0,39,0,40,0,243,129,41,0,39,0,60,0,60,0,60,0,67,50,38,0,39,0,40,0,161,140,41,0,39,0,60,0,60,0,60,0,54,50,38,0,39,0,40,0,199,140,41,0,39,0,60,0,60,0,60,0,62,50,38,0,39,0,40,0,209,145,41,0,39,0,60,0,60,0,60,0,46,50,38,0,48,0,185,112,60,0,60,0,60,0,88,51,38,0,49,0,48,0,229,101,60,0,60,0,60,0,233,51,38,0,49,0,48,0,8,103,60,0,60,0,60,0,201,50,38,0,49,0,48,0,185,112,60,0,60,0,60,0,98,51,38,0,49,0,49,0,229,101,60,0,60,0,60,0,234,51,38,0,49,0,49,0,8,103,60,0,60,0,60,0,202,50,38,0,49,0,49,0,185,112,60,0,60,0,60,0,99,51,38,0,49,0,50,0,229,101,60,0,60,0,60,0,235,51,38,0,49,0,50,0,8,103,60,0,60,0,60,0,203,50,38,0,49,0,50,0,185,112,60,0,60,0,60,0,100,51,38,0,49,0,51,0,229,101,60,0,60,0,60,0,236,51,38,0,49,0,51,0,185,112,60,0,60,0,60,0,101,51,38,0,49,0,52,0,229,101,60,0,60,0,60,0,237,51,38,0,49,0,52,0,185,112,60,0,60,0,60,0,102,51,38,0,49,0,53,0,229,101,60,0,60,0,60,0,238,51,38,0,49,0,53,0,185,112,60,0,60,0,60,0,103,51,38,0,49,0,54,0,229,101,60,0,60,0,60,0,239,51,38,0,49,0,54,0,185,112,60,0,60,0,60,0,104,51,38,0,49,0,55,0,229,101,60,0,60,0,60,0,240,51,38,0,49,0,55,0,185,112,60,0,60,0,60,0,105,51,38,0,49,0,56,0,229,101,60,0,60,0,60,0,241,51,38,0,49,0,56,0,185,112,60,0,60,0,60,0,106,51,38,0,49,0,57,0,229,101,60,0,60,0,60,0,242,51,38,0,49,0,57,0,185,112,60,0,60,0,60,0,107,51,38,0,49,0,229,101,60,0,60,0,60,0,224,51,38,0,49,0,8,103,60,0,60,0,60,0,192,50,38,0,49,0,185,112,60,0,60,0,60,0,89,51,38,0,50,0,48,0,229,101,60,0,60,0,60,0,243,51,38,0,50,0,48,0,185,112,60,0,60,0,60,0,108,51,38,0,50,0,49,0,229,101,60,0,60,0,60,0,244,51,38,0,50,0,49,0,185,112,60,0,60,0,60,0,109,51,38,0,50,0,50,0,229,101,60,0,60,0,60,0,245,51,38,0,50,0,50,0,185,112,60,0,60,0,60,0,110,51,38,0,50,0,51,0,229,101,60,0,60,0,60,0,246,51,38,0,50,0,51,0,185,112,60,0,60,0,60,0,111,51,38,0,50,0,52,0,229,101,60,0,60,0,60,0,247,51,38,0,50,0,52,0,185,112,60,0,60,0,60,0,112,51,38,0,50,0,53,0,229,101,60,0,60,0,60,0,248,51,38,0,50,0,54,0,229,101,60,0,60,0,60,0,249,51,38,0,50,0,55,0,229,101,60,0,60,0,60,0,250,51,38,0,50,0,56,0,229,101,60,0,60,0,60,0,251,51,38,0,50,0,57,0,229,101,60,0,60,0,60,0,252,51,38,0,50,0,229,101,60,0,60,0,60,0,225,51,38,0,50,0,8,103,60,0,60,0,60,0,193,50,38,0,50,0,185,112,60,0,60,0,60,0,90,51,38,0,51,0,48,0,229,101,60,0,60,0,60,0,253,51,38,0,51,0,49,0,229,101,60,0,60,0,60,0,254,51,38,0,51,0,229,101,60,0,60,0,60,0,226,51,38,0,51,0,8,103,60,0,60,0,60,0,194,50,38,0,51,0,185,112,60,0,60,0,60,0,91,51,38,0,52,0,229,101,60,0,60,0,60,0,227,51,38,0,52,0,8,103,60,0,60,0,60,0,195,50,38,0,52,0,185,112,60,0,60,0,60,0,92,51,38,0,53,0,229,101,60,0,60,0,60,0,228,51,38,0,53,0,8,103,60,0,60,0,60,0,196,50,38,0,53,0,185,112,60,0,60,0,60,0,93,51,38,0,54,0,229,101,60,0,60,0,60,0,229,51,38,0,54,0,8,103,60,0,60,0,60,0,197,50,38,0,54,0,185,112,60,0,60,0,60,0,94,51,38,0,55,0,229,101,60,0,60,0,60,0,230,51,38,0,55,0,8,103,60,0,60,0,60,0,198,50,38,0,55,0,185,112,60,0,60,0,60,0,95,51,38,0,56,0,229,101,60,0,60,0,60,0,231,51,38,0,56,0,8,103,60,0,60,0,60,0,199,50,38,0,56,0,185,112,60,0,60,0,60,0,96,51,38,0,57,0,229,101,60,0,60,0,60,0,232,51,38,0,57,0,8,103,60,0,60,0,60,0,200,50,38,0,57,0,185,112,60,0,60,0,60,0,97,51,38,0,39,0,20,48,9,78,21,48,39,0,60,0,60,0,60,0,60,216,65,222,38,0,39,0,20,48,140,78,21,48,39,0,60,0,60,0,60,0,60,216,66,222,38,0,39,0,20,48,221,82,21,48,39,0,60,0,60,0,60,0,60,216,71,222,38,0,39,0,20,48,137,91,21,48,39,0,60,0,60,0,60,0,60,216,67,222,38,0,39,0,20,48,83,98,21,48,39,0,60,0,60,0,60,0,60,216,69,222,38,0,39,0,20,48,87,101,21,48,39,0,60,0,60,0,60,0,60,216,72,222,38,0,39,0,20,48,44,103,21,48,39,0,60,0,60,0,60,0,60,216,64,222,38,0,39,0,20,48,185,112,21,48,39,0,60,0,60,0,60,0,60,216,68,222,38,0,39,0,20,48,215,118,21,48,39,0,60,0,60,0,60,0,60,216,70,222,38,0,0,78,60,0,60,0,60,0,0,47,38,0,0,78,60,0,60,0,60,0,146,49,38,0,0,78,60,0,60,0,60,0,128,50,38,0,0,78,60,0,60,0,60,0,60,216,41,222,38,0,1,78,60,0,60,0,60,0,156,49,38,0,3,78,60,0,60,0,60,0,134,50,38,0,9,78,60,0,60,0,60,0,148,49,38,0,9,78,60,0,60,0,60,0,130,50,38,0,9,78,60,0,60,0,60,0,60,216,42,222,38,0,10,78,60,0,60,0,60,0,150,49,38,0,10,78,60,0,60,0,60,0,164,50,38,0,11,78,60,0,60,0,60,0,152,49,38,0,11,78,60,0,60,0,60,0,166,50,38,0,25,78,60,0,60,0,60,0,155,49,38,0,40,78,60,0,60,0,60,0,1,47,38,0,45,78,60,0,60,0,60,0,151,49,38,0,45,78,60,0,60,0,60,0,165,50,38,0,45,78,60,0,60,0,60,0,60,216,45,222,38,0,54,78,60,0,60,0,60,0,2,47,38,0,63,78,60,0,60,0,60,0,3,47,38,0,89,78,60,0,60,0,60,0,4,47,38,0,89,78,60,0,60,0,60,0,154,49,38,0,93,78,60,0,60,0,60,0,136,50,38,0,133,78,60,0,60,0,60,0,5,47,38,0,140,78,60,0,60,0,60,0,6,47,38,0,140,78,60,0,60,0,60,0,147,49,38,0,140,78,60,0,60,0,60,0,129,50,38,0,140,78,60,0,60,0,60,0,60,216,20,222,38,0,148,78,60,0,60,0,60,0,132,50,38,0,160,78,60,0,60,0,60,0,7,47,38,0,164,78,60,0,60,0,60,0,60,216,24,222,38,0,186,78,60,0,60,0,60,0,8,47,38,0,186,78,60,0,60,0,60,0,159,49,38,0,228,78,140,84,60,0,60,0,60,0,255,50,38,0,1,79,60,0,60,0,60,0,173,50,38,0,17,79,60,0,60,0,60,0,161,50,38,0,42,81,60,0,60,0,60,0,157,50,38,0,63,81,60,0,60,0,60,0,9,47,38,0,101,81,60,0,60,0,60,0,10,47,38,0,107,81,60,0,60,0,60,0,11,47,38,0,107,81,60,0,60,0,60,0,135,50,38,0,109,81,60,0,60,0,60,0,133,50,38,0,130,81,60,0,60,0,60,0,12,47,38,0,141,81,60,0,60,0,60,0,60,216,30,222,38,0,150,81,60,0,60,0,60,0,13,47,38,0,153,81,60,0,60,0,60,0,162,50,38,0,171,81,60,0,60,0,60,0,14,47,38,0,224,81,60,0,60,0,60,0,15,47,38,0,245,81,60,0,60,0,60,0,16,47,38,0,0,82,60,0,60,0,60,0,17,47,38,0,29,82,60,0,60,0,60,0,60,216,32,222,38,0,77,82,60,0,60,0,60,0,60,216,28,222,38,0,114,82,60,0,60,0,60,0,60,216,57,222,38,0,155,82,60,0,60,0,60,0,18,47,38,0,180,82,60,0,60,0,60,0,152,50,38,0,249,82,60,0,60,0,60,0,19,47,38,0,21,83,60,0,60,0,60,0,20,47,38,0,26,83,60,0,60,0,60,0,21,47,38,0,56,83,60,0,60,0,60,0,22,47,38,0,59,83,60,0,60,0,60,0,169,50,38,0,65,83,60,0,60,0,60,0,23,47,38,0,65,83,60,0,60,0,60,0,56,48,38,0,65,83,60,0,60,0,60,0,137,50,38,0,68,83,60,0,60,0,60,0,57,48,38,0,69,83,60,0,60,0,60,0,58,48,38,0,84,83,60,0,60,0,60,0,175,50,38,0,92,83,60,0,60,0,60,0,24,47,38,0,105,83,60,0,60,0,60,0,25,47,38,0,112,83,60,0,60,0,60,0,158,50,38,0,130,83,60,0,60,0,60,0,26,47,38,0,182,83,60,0,60,0,60,0,27,47,38,0,200,83,60,0,60,0,60,0,28,47,38,0,204,83,60,0,60,0,60,0,60,216,18,222,38,0,227,83,60,0,60,0,60,0,29,47,38,0,239,83,60,0,60,0,60,0,60,216,81,222,38,0,243,83,60,0,60,0,60,0,168,50,38,0,243,83,60,0,60,0,60,0,60,216,46,222,38,0,8,84,60,0,60,0,60,0,60,216,52,222,38,0,13,84,60,0,60,0,60,0,148,50,38,0,57,84,60,0,60,0,60,0,60,216,37,222,38,0,79,85,60,0,60,0,60,0,68,50,38,0,182,85,60,0,60,0,60,0,60,216,58,222,38,0,215,86,60,0,60,0,60,0,30,47,38,0,219,86,60,0,60,0,60,0,149,49,38,0,219,86,60,0,60,0,60,0,131,50,38,0,31,87,60,0,60,0,60,0,31,47,38,0,31,87,60,0,60,0,60,0,143,50,38,0,48,87,60,0,60,0,60,0,158,49,38,0,235,88,60,0,60,0,60,0,32,47,38,0,240,88,60,0,60,0,60,0,60,216,36,222,38,0,2,89,60,0,60,0,60,0,33,47,38,0,10,89,60,0,60,0,60,0,34,47,38,0,21,89,60,0,60,0,60,0,35,47,38,0,26,89,60,0,60,0,60,0,60,216,21,222,38,0,28,89,60,0,60,0,60,0,176,50,38,0,39,89,60,0,60,0,60,0,36,47,38,0,39,89,99,107,60,0,60,0,60,0,125,51,38,0,41,89,60,0,60,0,60,0,157,49,38,0,41,89,60,0,60,0,60,0,60,216,23,222,38,0,115,89,60,0,60,0,60,0,37,47,38,0,115,89,60,0,60,0,60,0,155,50,38,0,80,91,60,0,60,0,60,0,38,47,38,0,87,91,60,0,60,0,60,0,60,216,17,222,38,0,102,91,60,0,60,0,60,0,171,50,38,0,128,91,60,0,60,0,60,0,39,47,38,0,151,91,60,0,60,0,60,0,170,50,38,0,248,91,60,0,60,0,60,0,40,47,38,0,15,92,60,0,60,0,60,0,41,47,38,0,34,92,60,0,60,0,60,0,42,47,38,0,56,92,60,0,60,0,60,0,43,47,38,0,110,92,60,0,60,0,60,0,44,47,38,0,113,92,60,0,60,0,60,0,45,47,38,0,219,93,60,0,60,0,60,0,46,47,38,0,229,93,60,0,60,0,60,0,47,47,38,0,230,93,60,0,60,0,60,0,167,50,38,0,230,93,60,0,60,0,60,0,60,216,44,222,38,0,241,93,60,0,60,0,60,0,48,47,38,0,254,93,60,0,60,0,60,0,49,47,38,0,114,94,60,0,60,0,60,0,50,47,38,0,115,94,16,98,60,0,60,0,60,0,123,51,38,0,122,94,60,0,60,0,60,0,51,47,38,0,124,94,60,0,60,0,60,0,69,50,38,0,127,94,60,0,60,0,60,0,52,47,38,0,244,94,60,0,60,0,60,0,53,47,38,0,254,94,60,0,60,0,60,0,54,47,38,0,11,95,60,0,60,0,60,0,55,47,38,0,19,95,60,0,60,0,60,0,56,47,38,0,80,95,60,0,60,0,60,0,57,47,38,0,97,95,60,0,60,0,60,0,58,47,38,0,115,95,60,0,60,0,60,0,59,47,38,0,140,95,60,0,60,0,60,0,60,216,29,222,38,0,151,95,60,0,60,0,60,0,60,216,80,222,38,0,195,95,60,0,60,0,60,0,60,47,38,0,8,98,60,0,60,0,60,0,61,47,38,0,54,98,60,0,60,0,60,0,62,47,38,0,75,98,60,0,60,0,60,0,63,47,38,0,75,98,60,0,60,0,60,0,60,216,16,222,38,0,83,98,60,0,60,0,60,0,60,216,49,222,38,0,149,98,60,0,60,0,60,0,60,216,39,222,38,0,7,99,60,0,60,0,60,0,60,216,47,222,38,0,85,99,60,0,60,0,60,0,60,216,40,222,38,0,47,101,60,0,60,0,60,0,64,47,38,0,52,101,60,0,60,0,60,0,65,47,38,0,135,101,60,0,60,0,60,0,66,47,38,0,135,101,60,0,60,0,60,0,70,50,38,0,151,101,60,0,60,0,60,0,67,47,38,0,153,101,60,0,60,0,60,0,60,216,27,222,38,0,164,101,60,0,60,0,60,0,68,47,38,0,176,101,60,0,60,0,60,0,60,216,31,222,38,0,185,101,60,0,60,0,60,0,69,47,38,0,224,101,60,0,60,0,60,0,70,47,38,0,229,101,60,0,60,0,60,0,71,47,38,0,229,101,60,0,60,0,60,0,144,50,38,0,14,102,187,108,60,0,60,0,60,0,126,51,38,0,32,102,60,0,60,0,60,0,60,216,25,222,38,0,45,102,140,84,60,0,60,0,60,0,124,51,38,0,240,102,60,0,60,0,60,0,72,47,38,0,8,103,60,0,60,0,60,0,73,47,38,0,8,103,60,0,60,0,60,0,138,50,38,0,8,103,60,0,60,0,60,0,60,216,55,222,38,0,9,103,60,0,60,0,60,0,146,50,38,0,9,103,60,0,60,0,60,0,60,216,54,222,38,0,40,103,60,0,60,0,60,0,74,47,38,0,40,103,60,0,60,0,60,0,141,50,38,0,42,104,60,0,60,0,60,0,145,50,38,0,42,104,15,95,26,79,62,121,60,0,60,0,60,0,127,51,38,0,32,107,60,0,60,0,60,0,75,47,38,0,98,107,60,0,60,0,60,0,76,47,38,0,99,107,60,0,60,0,60,0,163,50,38,0,121,107,60,0,60,0,60,0,77,47,38,0,179,107,60,0,60,0,60,0,78,47,38,0,203,107,60,0,60,0,60,0,79,47,38,0,205,107,60,0,60,0,60,0,159,46,38,0,212,107,60,0,60,0,60,0,80,47,38,0,219,107,60,0,60,0,60,0,81,47,38,0,15,108,60,0,60,0,60,0,82,47,38,0,20,108,60,0,60,0,60,0,83,47,38,0,52,108,60,0,60,0,60,0,84,47,38,0,52,108,60,0,60,0,60,0,140,50,38,0,232,108,60,0,60,0,60,0,159,50,38,0,128,110,60,0,60,0,60,0,60,216,53,222,38,0,20,111,60,0,60,0,60,0,60,216,38,222,38,0,107,112,60,0,60,0,60,0,85,47,38,0,107,112,60,0,60,0,60,0,139,50,38,0,33,113,60,0,60,0,60,0,60,216,26,222,38,0,42,114,60,0,60,0,60,0,86,47,38,0,54,114,60,0,60,0,60,0,87,47,38,0,59,114,60,0,60,0,60,0,88,47,38,0,63,114,60,0,60,0,60,0,89,47,38,0,71,114,60,0,60,0,60,0,90,47,38,0,89,114,60,0,60,0,60,0,91,47,38,0,91,114,60,0,60,0,60,0,92,47,38,0,121,114,60,0,60,0,60,0,149,50,38,0,172,114,60,0,60,0,60,0,93,47,38,0,132,115,60,0,60,0,60,0,94,47,38,0,137,115,60,0,60,0,60,0,95,47,38,0,220,116,60,0,60,0,60,0,96,47,38,0,230,116,60,0,60,0,60,0,97,47,38,0,24,117,60,0,60,0,60,0,98,47,38,0,31,117,60,0,60,0,60,0,99,47,38,0,31,117,60,0,60,0,60,0,60,216,34,222,38,0,40,117,60,0,60,0,60,0,100,47,38,0,48,117,60,0,60,0,60,0,101,47,38,0,50,117,60,0,60,0,60,0,153,49,38,0,51,117,60,0,60,0,60,0,60,216,56,222,38,0,55,117,60,0,60,0,60,0,154,50,38,0,139,117,60,0,60,0,60,0,102,47,38,0,146,117,60,0,60,0,60,0,103,47,38,0,118,118,60,0,60,0,60,0,104,47,38,0,125,118,60,0,60,0,60,0,105,47,38,0,174,118,60,0,60,0,60,0,106,47,38,0,191,118,60,0,60,0,60,0,107,47,38,0,227,118,60,0,60,0,60,0,172,50,38,0,238,118,60,0,60,0,60,0,108,47,38,0,219,119,60,0,60,0,60,0,109,47,38,0,226,119,60,0,60,0,60,0,110,47,38,0,243,119,60,0,60,0,60,0,111,47,38,0,58,121,60,0,60,0,60,0,112,47,38,0,62,121,60,0,60,0,60,0,147,50,38,0,93,121,60,0,60,0,60,0,151,50,38,0,129,121,60,0,60,0,60,0,60,216,50,222,38,0,184,121,60,0,60,0,60,0,113,47,38,0,190,121,60,0,60,0,60,0,114,47,38,0,216,121,60,0,60,0,60,0,153,50,38,0,116,122,60,0,60,0,60,0,115,47,38,0,122,122,60,0,60,0,60,0,60,216,51,222,38,0,203,122,60,0,60,0,60,0,116,47,38,0,249,122,60,0,60,0,60,0,117,47,38,0,143,123,60,0,60,0,60,0,71,50,38,0,115,124,60,0,60,0,60,0,118,47,38,0,248,124,60,0,60,0,60,0,119,47,38,0,66,125,60,0,60,0,60,0,60,216,33,222,38,0,54,127,60,0,60,0,60,0,120,47,38,0,81,127,60,0,60,0,60,0,121,47,38,0,138,127,60,0,60,0,60,0,122,47,38,0,189,127,60,0,60,0,60,0,123,47,38,0,1,128,60,0,60,0,60,0,124,47,38,0,12,128,60,0,60,0,60,0,125,47,38,0,18,128,60,0,60,0,60,0,126,47,38,0,51,128,60,0,60,0,60,0,127,47,38,0,127,128,60,0,60,0,60,0,128,47,38,0,137,128,60,0,60,0,60,0,129,47,38,0,227,129,60,0,60,0,60,0,130,47,38,0,234,129,60,0,60,0,60,0,131,47,38,0,243,129,60,0,60,0,60,0,132,47,38,0,252,129,60,0,60,0,60,0,133,47,38,0,12,130,60,0,60,0,60,0,134,47,38,0,27,130,60,0,60,0,60,0,135,47,38,0,31,130,60,0,60,0,60,0,136,47,38,0,110,130,60,0,60,0,60,0,137,47,38,0,114,130,60,0,60,0,60,0,138,47,38,0,120,130,60,0,60,0,60,0,139,47,38,0,77,134,60,0,60,0,60,0,140,47,38,0,107,134,60,0,60,0,60,0,141,47,38,0,64,136,60,0,60,0,60,0,142,47,38,0,76,136,60,0,60,0,60,0,143,47,38,0,99,136,60,0,60,0,60,0,144,47,38,0,126,137,60,0,60,0,60,0,145,47,38,0,139,137,60,0,60,0,60,0,146,47,38,0,210,137,60,0,60,0,60,0,147,47,38,0,227,137,60,0,60,0,60,0,60,216,22,222,38,0,0,138,60,0,60,0,60,0,148,47,38,0,55,140,60,0,60,0,60,0,149,47,38,0,70,140,60,0,60,0,60,0,150,47,38,0,85,140,60,0,60,0,60,0,151,47,38,0,120,140,60,0,60,0,60,0,152,47,38,0,157,140,60,0,60,0,60,0,153,47,38,0,161,140,60,0,60,0,60,0,150,50,38,0,169,140,60,0,60,0,60,0,60,216,35,222,38,0,199,140,60,0,60,0,60,0,174,50,38,0,100,141,60,0,60,0,60,0,154,47,38,0,112,141,60,0,60,0,60,0,155,47,38,0,112,141,60,0,60,0,60,0,60,216,48,222,38,0,179,141,60,0,60,0,60,0,156,47,38,0,171,142,60,0,60,0,60,0,157,47,38,0,202,142,60,0,60,0,60,0,158,47,38,0,155,143,60,0,60,0,60,0,159,47,38,0,176,143,60,0,60,0,60,0,160,47,38,0,181,143,60,0,60,0,60,0,161,47,38,0,74,144,60,0,60,0,60,0,60,216,43,222,38,0,105,144,60,0,60,0,60,0,156,50,38,0,145,144,60,0,60,0,60,0,162,47,38,0,73,145,60,0,60,0,60,0,163,47,38,0,77,145,60,0,60,0,60,0,60,216,59,222,38,0,198,145,60,0,60,0,60,0,164,47,38,0,204,145,60,0,60,0,60,0,165,47,38,0,209,145,60,0,60,0,60,0,166,47,38,0,209,145,60,0,60,0,60,0,142,50,38,0,119,149,60,0,60,0,60,0,167,47,38,0,128,149,60,0,60,0,60,0,168,47,38,0,28,150,60,0,60,0,60,0,169,47,38,0,182,150,60,0,60,0,60,0,170,47,38,0,185,150,60,0,60,0,60,0,171,47,38,0,232,150,60,0,60,0,60,0,172,47,38,0,81,151,60,0,60,0,60,0,173,47,38,0,94,151,60,0,60,0,60,0,174,47,38,0,98,151,60,0,60,0,60,0,175,47,38,0,105,151,60,0,60,0,60,0,176,47,38,0,203,151,60,0,60,0,60,0,177,47,38,0,237,151,60,0,60,0,60,0,178,47,38,0,243,151,60,0,60,0,60,0,179,47,38,0,1,152,60,0,60,0,60,0,180,47,38,0,5,152,60,0,60,0,60,0,160,50,38,0,168,152,60,0,60,0,60,0,181,47,38,0,219,152,60,0,60,0,60,0,182,47,38,0,223,152,60,0,60,0,60,0,183,47,38,0,150,153,60,0,60,0,60,0,184,47,38,0,153,153,60,0,60,0,60,0,185,47,38,0,172,153,60,0,60,0,60,0,186,47,38,0,168,154,60,0,60,0,60,0,187,47,38,0,216,154,60,0,60,0,60,0,188,47,38,0,223,154,60,0,60,0,60,0,189,47,38,0,37,155,60,0,60,0,60,0,190,47,38,0,47,155,60,0,60,0,60,0,191,47,38,0,50,155,60,0,60,0,60,0,192,47,38,0,60,155,60,0,60,0,60,0,193,47,38,0,90,155,60,0,60,0,60,0,194,47,38,0,229,156,60,0,60,0,60,0,195,47,38,0,117,158,60,0,60,0,60,0,196,47,38,0,127,158,60,0,60,0,60,0,197,47,38,0,165,158,60,0,60,0,60,0,198,47,38,0,187,158,60,0,60,0,60,0,199,47,38,0,195,158,60,0,60,0,60,0,200,47,38,0,205,158,60,0,60,0,60,0,201,47,38,0,209,158,60,0,60,0,60,0,202,47,38,0,249,158,60,0,60,0,60,0,203,47,38,0,253,158,60,0,60,0,60,0,204,47,38,0,14,159,60,0,60,0,60,0,205,47,38,0,19,159,60,0,60,0,60,0,206,47,38,0,32,159,60,0,60,0,60,0,207,47,38,0,59,159,60,0,60,0,60,0,208,47,38,0,74,159,60,0,60,0,60,0,209,47,38,0,82,159,60,0,60,0,60,0,210,47,38,0,141,159,60,0,60,0,60,0,211,47,38,0,156,159,60,0,60,0,60,0,212,47,38,0,159,159,60,0,60,0,60,0,243,46,38,0,160,159,60,0,60,0,60,0,213,47,38,0,107,134,60,0,205,145,134,94,47,0,134,94,38,0,30,95,60,0,136,108,51,150,47,0,51,150,38,0,186,146,60,0,207,133,135,101,47,0,135,101,0,0,239,223,208,112,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,105,0,32,0,66,0,111,0,112,0,111,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,201,2,60,0,60,0,202,2,60,0,60,0,199,2,60,0,60,0,203,2,60,0,60,0,217,2,60,0,60,0,234,2,60,0,60,0,235,2,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,39,0,208,253,39,0,5,49,60,0,42,0,107,81,200,78,244,93,237,83,82,98,51,103,144,115,63,89,156,92,173,130,199,92,237,103,164,117,245,84,252,93,76,99,6,123,145,124,147,127,134,134,219,145,223,145,109,59,93,140,131,156,62,76,60,0,42,0,208,83,174,114,156,98,122,87,173,89,212,98,166,112,121,118,200,128,7,131,221,131,89,138,203,141,247,142,176,152,162,88,67,155,37,159,60,0,42,0,138,98,175,148,0,146,118,151,60,0,42,0,93,87,29,95,56,114,187,87,98,127,25,128,193,141,133,156,140,156,119,127,172,67,138,155,135,137,242,119,56,151,233,88,94,112,27,107,60,0,42,0,39,84,38,125,94,155,60,0,42,0,118,118,23,94,232,98,226,108,119,118,187,115,93,82,101,82,241,84,203,118,53,120,181,148,125,153,52,125,61,127,154,136,176,136,224,131,134,120,98,146,224,80,147,93,165,100,173,100,17,153,129,155,115,142,75,154,77,156,60,0,42,0,226,78,47,79,187,114,145,128,115,154,27,94,219,114,221,116,188,79,195,82,201,128,233,130,179,78,44,99,97,109,223,116,225,121,227,144,185,148,194,148,141,58,191,61,64,62,14,63,22,129,54,130,175,136,90,83,36,110,185,136,65,158,61,97,15,100,60,115,103,132,56,146,81,146,142,153,240,80,13,59,127,113,84,114,148,123,138,129,74,130,111,75,155,153,193,153,20,133,35,142,205,146,72,149,79,70,101,216,208,220,158,153,238,153,112,140,96,216,109,223,151,86,234,97,103,58,39,59,25,124,79,137,155,147,58,153,83,157,166,114,33,121,198,154,201,154,2,107,52,121,110,137,110,148,60,0,42,0,219,141,165,123,56,124,60,0,42,0,121,91,151,106,234,124,82,139,23,134,60,0,42,0,138,46,92,83,117,85,33,132,60,0,42,0,0,99,176,99,216,100,60,0,42,0,125,118,60,0,42,0,126,118,112,79,207,103,34,104,109,99,248,116,168,124,84,125,70,100,250,100,108,137,60,0,42,0,141,94,221,98,37,141,220,98,87,101,8,115,23,122,253,134,186,124,37,53,1,141,219,151,60,0,42,0,225,122,173,133,60,0,42,0,81,83,111,103,66,150,195,118,110,104,178,96,249,99,17,105,145,120,134,121,78,158,3,147,227,133,111,157,60,0,42,0,23,83,51,57,115,146,60,0,42,0,29,141,91,91,200,114,157,140,7,89,1,102,108,114,182,144,204,128,221,130,161,148,251,79,13,80,221,54,150,96,253,114,229,144,93,80,121,80,242,58,150,104,252,115,171,136,153,80,235,96,25,113,50,116,240,142,136,143,1,145,195,80,2,97,215,62,154,120,34,62,149,114,211,132,150,138,129,151,25,137,41,143,199,146,179,154,138,97,210,124,180,151,62,148,60,0,42,0,87,84,4,85,153,121,60,0,42,0,249,82,5,83,98,91,185,103,222,128,222,130,35,123,114,113,133,159,18,137,84,133,193,149,67,137,89,159,60,0,42,0,135,122,209,90,249,150,15,66,132,133,90,216,138,220,250,63,60,0,42,0,157,91,9,96,113,153,221,79,40,158,178,91,228,115,33,88,34,88,172,90,218,91,70,132,253,152,194,153,245,156,229,125,19,137,7,157,242,140,75,75,243,91,246,91,99,216,38,220,76,151,16,77,99,216,59,220,60,0,42,0,253,82,165,98,177,98,121,140,181,141,199,148,171,134,140,136,49,88,226,131,75,146,141,156,100,151,180,102,178,154,241,154,99,134,145,155,36,81,211,102,6,114,193,95,100,148,20,158,60,0,42,0,104,79,245,133,60,0,42,0,115,98,61,101,237,115,44,130,129,152,145,101,44,100,146,101,18,152,34,118,251,156,50,66,140,135,41,137,77,118,172,143,60,0,42,0,66,87,133,92,42,150,4,102,127,103,72,114,234,116,163,148,132,124,40,130,17,146,66,135,108,155,198,149,60,0,42,0,158,82,74,83,52,79,110,98,98,87,197,89,17,96,204,98,202,126,200,103,218,121,116,110,70,125,97,146,125,151,166,143,227,116,60,0,42,0,129,135,60,0,42,0,84,89,205,108,50,141,31,104,135,114,27,149,27,147,60,0,42,0,44,103,239,130,89,89,90,117,201,127,77,105,60,0,42,0,75,87,76,87,52,80,121,99,115,104,0,110,40,123,90,216,192,223,41,144,170,100,86,115,61,143,60,0,42,0,166,144,185,87,46,94,96,99,92,109,134,104,171,144,71,94,90,94,13,126,107,94,164,151,60,0,42,0,209,126,129,125,156,105,83,114,128,129,200,154,60,0,42,0,75,59,164,115,140,134,141,80,210,104,211,104,36,140,93,88,18,100,22,122,161,132,47,135,197,120,81,149,85,130,23,139,138,147,60,0,42,0,59,79,74,121,95,89,41,93,99,125,141,149,176,80,109,93,237,117,35,86,179,125,60,0,42,0,45,117,60,0,42,0,196,87,242,87,247,126,35,116,43,116,246,131,67,126,155,151,60,0,42,0,245,108,248,143,44,144,116,88,90,149,15,117,101,216,244,221,112,75,102,142,240,147,47,136,60,0,42,0,252,99,60,0,42,0,68,92,106,80,244,107,69,105,60,144,77,140,149,135,190,156,158,147,86,157,15,156,60,0,42,0,120,131,59,159,60,0,42,0,21,83,212,107,50,56,54,89,60,103,74,79,33,84,163,89,152,108,149,117,124,95,192,103,213,121,254,79,20,123,131,124,45,130,90,85,143,58,70,123,132,123,91,128,25,145,143,140,60,0,42,0,1,94,197,95,213,107,237,149,86,79,41,54,82,87,135,94,208,139,32,54,188,89,45,96,54,96,217,57,136,103,64,117,178,144,212,84,242,103,214,107,204,115,170,117,254,130,217,107,244,114,19,123,138,124,92,131,203,148,91,150,98,90,179,94,93,101,144,104,98,117,144,136,135,149,137,149,27,88,59,95,60,95,10,97,14,97,98,110,149,118,90,123,6,132,86,138,177,140,193,140,81,141,215,110,79,113,249,117,250,117,100,119,119,129,12,135,248,141,77,146,159,149,246,152,246,85,99,94,10,95,67,95,237,110,167,120,133,123,134,123,188,125,214,132,232,136,157,153,119,111,154,113,88,115,89,115,235,62,253,132,61,133,11,72,42,145,220,153,242,154,193,88,22,91,230,94,101,61,230,123,124,127,241,137,133,155,131,101,222,111,243,123,42,126,194,129,156,133,127,144,70,153,112,89,167,116,85,142,40,145,192,154,116,126,94,137,206,147,87,69,99,137,131,142,132,142,184,151,224,151,20,141,52,148,70,154,83,155,221,157,233,157,10,159,60,0,42,0,2,83,30,132,100,94,54,91,69,137,60,0,42,0,139,97,222,135,214,156,73,156,8,159,76,134,158,159,60,0,42,0,37,82,43,82,135,84,223,67,130,131,194,134,182,95,82,137,105,142,60,0,42,0,42,118,95,118,220,63,60,0,42,0,70,95,24,67,60,0,42,0,108,112,83,103,7,104,209,152,137,154,223,154,242,109,106,95,11,115,63,129,169,152,130,88,86,94,125,100,238,110,174,152,160,154,25,106,155,113,152,129,8,133,45,118,230,120,86,149,217,152,218,152,38,81,183,152,12,112,36,139,2,114,213,129,232,133,6,141,226,147,110,122,115,149,198,152,199,152,200,152,67,154,99,148,189,75,107,154,60,0,42,0,104,136,74,90,241,136,216,138,54,147,166,106,62,137,60,0,42,0,245,79,212,156,62,156,60,0,42,0,202,152,60,0,42,0,185,143,186,143,45,120,62,123,217,99,53,115,22,127,120,113,81,114,2,117,175,123,232,125,89,135,137,144,125,147,202,156,173,151,138,144,254,155,255,155,105,124,60,0,42,0,44,141,65,98,134,122,62,83,252,96,182,140,57,132,165,120,40,122,196,124,10,137,24,157,202,133,60,0,42,0,94,83,1,95,37,83,237,95,131,98,115,108,116,108,198,145,216,83,163,115,196,130,191,79,9,89,42,102,83,59,141,137,167,95,15,127,77,144,158,149,161,143,246,125,81,130,167,143,168,143,169,143,171,143,174,143,175,143,138,139,60,0,42,0,197,92,158,112,60,0,42,0,67,108,160,144,162,115,15,120,190,91,108,95,185,104,167,80,140,101,21,105,232,110,222,62,36,127,223,105,120,116,105,140,211,140,212,140,84,149,16,81,210,111,241,111,104,134,115,140,179,106,184,116,21,112,38,151,125,126,76,148,110,152,60,0,42,0,72,100,161,107,145,129,233,154,239,100,2,155,175,107,207,129,204,154,19,155,213,154,34,155,60,0,42,0,30,108,245,111,60,0,42,0,171,81,204,78,210,78,55,108,176,81,117,81,164,99,60,0,42,0,25,78,50,96,166,98,201,121,180,144,67,150,30,102,58,102,196,103,179,112,234,130,124,153,42,119,137,122,0,58,195,134,82,100,128,121,31,122,53,146,124,146,5,153,32,153,158,151,60,0,42,0,118,94,200,52,38,78,117,79,119,94,176,94,2,80,36,104,197,117,221,122,75,80,161,80,206,91,197,104,129,138,169,155,80,151,60,0,42,0,170,87,134,151,242,146,60,0,42,0,236,92,175,94,97,102,11,144,61,146,167,138,60,0,42,0,234,156,80,143,173,145,60,0,42,0,95,83,82,216,240,220,101,136,250,84,85,99,184,85,220,136,79,157,60,0,42,0,13,78,3,94,72,79,37,84,101,107,152,84,53,54,22,96,170,98,104,107,105,107,205,60,232,103,154,148,207,82,212,87,215,87,145,96,87,99,184,148,224,87,121,131,232,144,255,116,4,142,0,133,246,144,20,153,34,153,240,123,63,124,60,0,39,0,208,253,39,0,6,49,60,0,42,0,145,89,85,216,25,220,80,216,181,221,133,118,180,141,37,130,106,85,105,132,60,0,42,0,119,103,44,114,177,99,54,116,98,123,86,111,60,0,42,0,10,94,21,94,21,96,153,136,60,0,42,0,139,148,97,87,165,92,202,108,252,108,135,152,140,110,85,146,23,152,81,111,250,147,60,0,42,0,70,90,25,86,34,133,49,145,164,118,8,139,199,106,60,0,42,0,245,83,0,92,183,148,56,123,202,153,60,0,42,0,182,92,135,112,64,101,34,102,38,109,192,115,235,143,222,112,52,120,54,120,217,145,149,124,170,132,68,155,151,145,150,74,60,0,42,0,114,104,60,0,42,0,205,98,60,0,42,0,243,79,152,95,146,99,5,115,209,104,76,114,43,143,48,124,50,124,164,114,60,0,42,0,249,94,60,0,42,0,204,84,62,109,91,59,67,110,142,132,131,147,60,0,42,0,120,84,176,54,12,96,167,128,248,103,218,128,67,136,133,145,60,0,42,0,43,150,249,87,106,150,240,107,84,141,43,149,244,136,245,136,224,140,205,153,60,0,42,0,214,79,60,0,42,0,2,79,155,108,105,79,20,94,245,89,190,101,198,101,127,109,238,115,77,145,41,123,131,66,148,143,183,153,143,93,8,151,97,143,60,0,42,0,220,132,60,0,42,0,155,98,203,98,44,129,60,0,42,0,40,82,134,84,137,87,150,94,205,114,176,112,46,114,15,83,141,136,243,142,132,151,131,158,133,158,60,0,42,0,209,141,60,0,42,0,69,89,225,108,174,112,177,117,176,118,50,120,173,158,31,121,46,121,60,0,42,0,34,132,28,137,60,0,42,0,86,82,29,90,60,0,42,0,148,98,153,98,74,99,138,99,210,136,129,123,7,147,60,0,42,0,133,84,227,84,68,90,131,114,205,94,60,0,42,0,52,52,5,119,25,120,104,117,88,111,0,101,60,0,42,0,63,114,0,109,216,118,216,141,187,90,75,94,43,100,195,105,176,132,228,118,208,120,15,126,251,120,82,142,76,216,102,220,10,112,224,135,99,142,156,147,182,151,60,0,42,0,184,81,36,82,156,108,218,98,238,108,141,112,219,83,73,114,252,118,84,117,65,128,162,136,74,138,191,110,22,152,236,146,123,137,123,148,60,0,42,0,101,157,60,0,42,0,183,85,116,86,85,107,60,0,42,0,235,116,198,118,83,110,80,132,60,0,42,0,96,84,248,127,60,0,42,0,175,85,60,0,42,0,83,78,151,108,238,128,241,150,194,110,150,129,38,74,54,151,60,0,42,0,144,83,158,94,150,83,193,101,4,144,61,130,206,90,172,95,82,216,237,221,131,135,209,156,142,159,144,159,60,0,42,0,217,85,42,128,171,137,60,0,42,0,144,112,168,128,214,128,60,0,42,0,9,83,193,54,38,96,168,98,114,96,248,57,48,120,136,104,249,112,81,120,239,142,155,149,48,111,45,86,142,111,222,120,60,0,42,0,131,130,11,103,252,122,23,80,55,99,11,88,56,95,145,131,109,95,218,104,22,105,124,120,29,122,79,158,115,88,137,97,240,105,37,106,162,113,236,132,96,216,131,220,35,143,227,123,168,129,11,147,248,151,247,123,252,154,218,135,219,135,5,155,54,77,252,151,108,157,47,154,132,126,20,155,93,148,60,0,42,0,103,99,206,109,143,118,123,82,60,0,42,0,189,99,42,105,176,120,43,142,60,0,42,0,21,78,19,79,62,79,121,98,176,126,111,87,171,98,183,98,139,112,201,114,179,144,18,120,65,216,49,223,130,96,219,121,224,121,21,125,205,148,199,101,205,127,26,128,126,140,8,146,26,146,57,146,95,146,148,146,136,82,199,120,211,153,236,154,124,86,13,147,126,155,141,155,181,97,20,121,21,121,57,151,60,0,42,0,174,118,223,52,48,150,175,92,135,103,222,107,211,114,182,128,152,130,215,107,216,107,178,117,141,134,100,85,228,87,37,93,90,216,45,222,189,134,190,134,124,140,96,216,26,222,235,144,116,150,55,113,53,116,62,129,87,129,143,156,116,127,141,129,49,135,110,155,192,88,250,123,183,135,148,140,103,157,134,127,7,103,25,159,60,0,42,0,57,83,128,94,139,117,243,78,46,87,201,130,52,129,222,117,162,146,192,138,4,157,215,100,125,86,86,118,38,76,173,86,60,0,42,0,65,92,224,109,18,110,202,99,253,145,178,90,211,90,101,119,159,143,78,111,43,122,251,80,188,111,138,86,19,117,68,68,136,117,108,139,226,149,255,157,10,158,60,0,42,0,140,105,60,0,42,0,21,108,135,100,75,216,194,220,134,100,188,102,165,119,60,0,42,0,63,78,228,130,5,148,60,0,42,0,243,90,60,0,42,0,125,82,83,97,37,127,216,152,218,101,242,127,181,135,165,114,195,152,196,152,82,155,60,0,42,0,214,90,226,116,194,122,184,133,221,149,60,0,42,0,141,107,111,95,159,119,251,123,57,126,165,145,171,118,96,152,60,0,42,0,104,121,196,80,225,82,12,86,177,95,2,111,19,59,60,0,42,0,232,86,79,80,165,90,143,114,199,123,233,127,66,147,163,157,60,0,42,0,136,154,252,128,65,129,68,105,105,105,198,140,240,141,218,138,65,142,226,153,191,154,8,154,60,0,42,0,145,137,29,140,181,140,222,138,60,0,42,0,71,114,151,154,23,154,25,154,60,0,42,0,120,155,60,0,42,0,216,89,252,98,102,56,23,121,102,122,170,153,94,154,60,0,42,0,173,115,43,141,38,90,167,140,21,116,212,90,145,152,59,152,42,91,113,115,178,133,172,86,201,119,25,136,166,152,112,152,60,0,42,0,193,84,128,105,60,0,42,0,93,114,86,108,88,128,60,0,42,0,82,78,57,117,220,79,9,90,132,109,47,120,96,128,117,130,238,122,41,152,102,216,77,222,60,0,42,0,115,94,196,139,237,81,111,84,106,87,217,108,79,92,33,94,176,103,52,109,182,115,211,128,249,130,241,144,184,62,194,62,83,131,91,92,50,94,220,109,246,116,178,134,72,94,41,113,62,127,13,132,226,134,85,138,1,117,241,132,255,142,134,156,244,81,2,66,127,97,179,123,39,143,145,97,131,155,152,106,8,124,11,134,60,0,42,0,188,92,64,88,60,0,42,0,198,78,52,101,53,101,81,98,96,150,87,86,178,100,125,111,200,100,198,155,60,0,42,0,170,62,13,83,47,129,134,131,208,131,233,131,97,132,213,80,177,132,178,132,122,145,163,88,91,115,158,116,238,111,168,119,89,122,59,66,100,149,86,216,200,220,128,126,101,137,247,147,60,0,42,0,36,87,52,103,3,87,102,109,243,112,110,102,165,110,49,140,233,138,56,106,6,108,143,106,104,149,92,139,124,142,32,148,60,0,42,0,250,148,22,130,23,130,234,146,37,59,17,112,221,102,60,0,42,0,236,93,237,93,12,141,60,0,39,0,208,253,39,0,7,49,60,0,42,0,99,84,60,0,42,0,136,89,86,91,189,90,36,91,55,91,60,0,42,0,187,158,242,117,152,114,52,133,198,135,199,135,60,0,42,0,108,154,55,52,155,115,1,120,130,134,172,153,164,110,106,116,188,120,158,135,183,147,34,156,204,157,60,0,42,0,184,114,105,103,67,121,129,149,130,154,27,85,140,80,65,115,28,86,56,58,170,105,112,119,161,121,117,127,43,55,225,153,35,121,21,155,60,0,42,0,135,78,23,84,206,85,27,86,242,90,100,144,60,0,42,0,120,100,60,0,42,0,133,94,31,140,141,153,235,90,189,158,105,100,121,100,33,106,156,129,69,106,232,120,226,124,164,86,245,100,40,139,169,86,176,86,67,153,17,134,152,82,205,154,84,155,250,64,93,153,60,0,42,0,185,98,225,97,75,74,60,0,42,0,43,103,176,82,61,87,186,89,19,94,126,107,127,107,129,107,171,108,82,216,251,220,30,94,41,102,186,103,9,131,76,150,28,85,140,118,28,119,63,119,30,120,227,121,61,119,150,124,72,125,136,131,171,131,80,110,232,134,131,140,138,140,252,85,123,88,222,91,32,111,79,115,230,132,134,146,122,151,252,90,175,102,115,60,217,158,144,119,70,149,105,155,168,88,60,118,153,119,216,158,14,112,212,135,41,139,152,140,5,114,230,133,204,147,51,121,134,126,64,154,49,128,60,0,42,0,61,96,27,92,121,155,191,158,60,0,42,0,72,78,188,158,146,86,156,86,249,111,102,118,60,0,42,0,203,87,37,55,182,133,62,151,60,0,42,0,112,78,108,131,183,140,42,86,82,133,246,157,60,0,42,0,162,82,69,79,242,88,200,143,166,158,86,83,9,129,8,129,165,158,71,136,241,82,227,140,129,144,33,151,34,151,104,216,51,221,60,0,42,0,69,84,70,87,146,108,161,108,154,103,171,115,2,104,9,119,250,130,18,90,4,129,133,104,251,115,34,129,147,131,51,88,146,90,75,93,68,110,72,110,56,115,66,119,255,144,99,105,115,105,100,113,66,116,127,132,122,88,209,105,150,121,118,145,69,149,91,158,194,146,9,151,72,122,190,95,135,147,192,119,23,101,165,157,42,134,244,158,60,0,42,0,206,107,207,107,194,81,142,127,52,99,124,109,132,90,68,93,60,110,186,90,92,129,65,149,13,91,216,113,130,147,227,158,60,0,42,0,185,89,186,98,172,108,192,101,39,102,81,59,27,119,89,121,130,136,154,90,208,91,215,117,202,141,93,113,61,155,120,119,206,151,195,123,94,135,69,155,60,0,42,0,190,142,60,0,42,0,43,115,147,140,60,0,42,0,219,107,219,119,134,103,102,114,5,131,6,131,196,101,94,127,94,81,222,142,85,145,37,88,53,110,98,216,104,221,26,149,230,154,249,90,2,108,155,114,101,135,243,154,202,135,40,147,156,157,60,0,42,0,135,81,111,83,24,89,110,78,60,98,185,54,193,92,214,108,52,102,198,148,55,123,233,132,60,0,42,0,131,81,131,118,144,81,188,130,146,81,213,103,10,119,2,131,56,141,4,128,164,136,146,137,162,90,61,94,191,140,23,97,147,102,89,105,247,107,65,116,58,132,128,119,140,140,26,145,80,135,46,145,203,97,60,0,42,0,222,84,60,0,42,0,95,114,148,79,186,82,76,59,72,96,32,109,56,119,11,140,209,134,42,127,14,142,126,146,0,139,180,119,70,126,106,147,62,157,176,158,60,0,42,0,208,103,91,216,209,220,60,0,42,0,218,90,159,152,60,0,42,0,207,89,151,96,188,52,238,134,200,80,41,140,114,97,146,153,32,106,146,119,158,119,148,151,87,216,145,220,62,139,69,153,215,156,98,152,23,155,24,155,59,156,59,136,60,0,42,0,88,92,128,110,76,119,225,110,255,110,168,135,206,135,84,137,203,147,213,119,60,0,42,0,252,102,5,59,129,88,84,94,98,97,113,100,43,111,76,115,38,127,36,145,254,105,179,113,4,133,19,133,98,56,183,111,88,149,53,126,221,147,100,216,77,221,85,69,80,216,78,221,60,0,42,0,48,134,60,0,42,0,232,149,106,98,167,115,148,148,128,149,133,149,107,99,219,131,138,116,70,147,185,78,75,134,60,0,42,0,247,149,22,113,182,96,170,102,220,113,209,97,227,97,60,0,42,0,236,78,17,80,26,105,60,0,42,0,100,114,60,0,42,0,2,84,217,95,82,108,153,144,40,92,87,103,103,103,146,130,19,108,242,118,0,123,228,84,15,90,172,94,54,57,126,96,93,109,245,114,43,131,123,114,202,62,239,145,211,148,221,117,109,120,214,134,13,66,77,216,119,222,233,146,249,153,103,216,246,221,60,0,42,0,189,131,101,120,59,131,190,131,254,88,45,111,18,59,210,135,14,136,60,0,42,0,63,117,123,134,161,81,148,131,12,132,32,132,4,64,223,118,153,132,113,135,26,81,87,106,13,117,162,119,68,133,51,145,106,94,222,97,218,102,219,111,56,145,38,103,172,106,11,108,67,68,69,68,205,155,199,119,30,121,114,158,104,130,9,134,210,119,63,151,64,151,91,153,109,152,6,159,15,158,60,0,42,0,208,82,27,115,254,116,69,64,48,149,75,130,34,135,51,147,220,97,116,115,245,97,237,155,19,136,60,0,42,0,95,91,67,216,124,221,166,104,149,110,34,89,35,89,221,68,37,151,52,55,60,0,42,0,185,99,221,100,60,0,42,0,170,84,47,119,135,119,60,0,42,0,158,81,37,95,89,127,98,121,247,143,21,115,28,140,120,138,190,132,76,95,223,100,220,124,59,126,14,139,154,145,138,158,139,158,176,121,97,151,55,55,48,112,124,115,155,158,2,98,32,101,213,116,126,149,34,114,119,69,60,134,190,145,191,145,13,158,196,145,60,0,42,0,115,124,136,130,142,79,181,108,139,127,45,95,35,109,73,101,43,119,18,129,51,110,94,132,164,146,29,133,212,111,74,91,86,112,60,0,42,0,150,81,248,124,104,108,149,108,147,91,204,108,197,137,218,92,187,91,85,121,216,121,198,91,231,109,255,109,147,137,148,137,66,94,39,140,83,88,78,94,32,58,155,137,39,86,147,105,245,110,30,111,144,113,28,135,18,106,36,133,15,159,170,81,102,94,215,111,16,139,193,106,26,124,204,133,131,127,60,0,42,0,92,78,0,84,169,84,246,84,109,91,60,0,42,0,109,112,213,112,149,137,35,100,197,110,17,133,19,157,254,123,142,133,109,94,241,97,215,106,27,136,74,136,86,148,116,156,60,0,42,0,181,85,60,0,42,0,215,130,100,52,140,90,207,99,75,158,132,119,226,125,147,157,89,156,60,0,42,0,106,103,7,119,210,121,252,109,58,110,8,127,206,123,242,125,208,133,136,144,60,0,42,0,153,89,153,94,133,115,215,122,191,94,223,94,60,0,42,0,44,140,44,139,60,0,42,0,128,91,135,130,32,119,66,90,245,126,148,90,201,104,191,125,220,125,241,129,82,135,53,91,176,106,203,106,200,119,202,119,207,119,60,0,42,0,15,78,69,108,77,81,148,108,254,158,201,82,4,119,41,90,67,55,109,80,149,81,212,82,17,110,149,85,16,97,78,110,5,127,123,125,124,129,66,132,253,158,240,62,236,125,171,158,160,111,184,155,60,0,42,0,99,151,98,151,198,124,170,158,186,158,181,158,60,0,42,0,17,108,196,89,183,92,222,95,11,96,251,101,252,101,201,115,255,118,7,120,224,130,96,127,15,93,106,99,24,116,23,127,111,101,73,116,251,117,136,120,49,146,205,125,184,74,225,125,9,147,22,157,114,147,60,0,42,0,191,118,186,81,33,82,245,149,191,98,239,108,196,82,67,101,253,149,175,96,79,101,34,123,253,96,99,110,148,149,13,97,6,59,139,102,169,149,246,80,92,97,171,97,99,111,34,124,92,216,75,220,216,156,32,136,53,156,104,216,52,221,60,0,42,0,138,87,61,123,60,0,42,0,13,84,14,102,35,158,58,109,0,119,165,81,23,131,25,103,51,119,237,148,199,90,159,110,61,115,13,145,157,102,160,105,194,132,152,146,244,156,145,119,159,135,173,137,228,74,60,0,42,0,114,79,243,89,213,81,79,97,105,145,60,0,42,0,125,84,39,105,122,138,60,0,42,0,181,99,60,0,42,0,234,107,178,88,1,108,60,0,42,0,205,107,169,78,97,114,118,87,198,89,199,98,212,92,115,114,70,117,82,117,223,128,93,117,94,117,42,120,110,117,95,216,249,223,67,216,150,222,103,146,7,142,60,0,42,0,40,103,235,78,48,103,238,118,144,108,199,114,145,112,103,114,220,130,227,107,158,134,188,148,175,131,238,150,223,82,8,55,88,105,102,119,108,146,147,88,85,94,89,94,84,97,85,97,174,102,82,130,2,151,70,122,56,126,170,151,60,0,42,0,233,81,60,0,39,0,208,253,39,0,8,49,60,0,42,0,209,83,183,108,122,118,160,80,124,118,66,95,102,145,177,145,60,0,42,0,79,78,16,79,194,89,161,87,76,109,186,117,90,127,0,150,48,104,29,120,55,131,79,123,130,119,112,127,165,149,120,127,67,106,197,133,60,0,42,0,113,79,213,108,75,112,60,0,42,0,208,115,58,116,234,154,238,154,95,133,94,216,11,223,60,0,42,0,69,147,60,0,42,0,207,78,114,87,60,0,42,0,187,104,60,0,42,0,222,152,131,89,94,151,219,152,97,85,83,90,4,110,239,126,100,216,235,221,73,98,6,115,242,131,95,151,203,125,26,135,246,136,15,151,177,156,37,153,161,153,17,154,27,154,221,152,60,0,42,0,165,128,221,109,83,129,8,66,48,135,230,135,60,0,42,0,15,103,42,83,253,139,92,89,177,96,144,101,208,104,167,105,225,127,185,138,218,123,92,133,100,216,60,221,60,0,42,0,32,84,159,94,110,103,184,108,210,114,186,128,190,130,50,102,199,128,57,141,247,79,85,82,158,83,191,117,93,92,107,150,195,94,67,62,9,132,187,140,241,117,68,149,226,94,202,102,53,73,72,118,35,159,247,111,1,76,224,106,225,155,40,148,69,151,60,0,42,0,84,90,131,102,60,0,42,0,17,125,230,136,60,0,42,0,54,127,38,84,154,89,57,127,59,127,149,107,236,150,0,157,60,0,42,0,6,94,9,138,106,117,235,82,67,86,15,91,97,94,163,97,217,101,67,133,219,101,89,126,251,127,233,133,83,143,191,152,83,124,220,152,85,156,60,0,42,0,225,81,226,81,227,81,54,56,219,95,75,103,254,119,117,124,146,148,201,103,230,112,39,130,50,123,229,104,34,110,105,113,208,125,166,88,10,106,78,106,212,113,160,116,176,129,65,126,160,133,179,127,78,137,111,142,42,112,63,112,44,121,7,148,34,148,41,134,28,136,237,157,60,0,42,0,205,83,85,98,212,143,74,72,233,145,60,0,42,0,64,216,169,221,62,108,175,114,127,89,78,108,109,153,219,108,41,141,72,117,3,131,0,64,211,142,79,90,181,104,0,61,213,118,53,123,169,140,236,142,239,152,240,152,252,110,14,91,196,123,60,0,42,0,36,130,60,0,42,0,6,82,41,84,9,94,183,126,16,102,27,108,172,130,219,84,122,81,27,125,194,127,111,136,93,81,28,138,90,145,251,104,22,146,240,150,31,59,6,103,211,113,52,153,89,153,60,0,42,0,95,87,162,89,142,92,126,108,12,103,140,103,131,112,166,128,146,127,160,134,161,134,164,104,252,104,26,113,154,153,182,132,179,88,105,94,198,111,117,155,104,106,204,113,97,133,110,140,171,150,34,159,181,127,22,159,118,140,82,143,60,148,169,153,194,158,60,0,42,0,137,124,250,158,60,0,42,0,253,78,5,95,75,89,255,95,206,121,126,80,36,97,170,124,232,80,164,97,110,89,185,129,222,124,188,156,53,112,93,156,60,0,42,0,213,122,174,142,60,0,42,0,26,83,185,101,74,87,120,108,161,144,139,103,101,114,179,130,171,148,132,134,211,109,1,146,11,157,60,0,42,0,168,89,50,150,63,98,170,128,197,87,130,156,116,155,31,156,60,0,42,0,255,78,191,139,119,95,186,126,9,102,24,102,236,116,6,119,35,80,202,101,33,125,43,130,42,138,227,154,173,157,60,0,42,0,62,101,189,141,60,0,42,0,15,88,58,147,60,0,42,0,48,78,206,152,249,78,232,81,236,81,166,89,163,108,168,108,238,81,171,103,1,92,175,117,253,118,28,120,168,152,212,54,239,92,240,92,160,68,81,80,123,104,253,112,54,93,38,115,11,149,83,105,142,114,81,132,2,135,11,118,184,120,252,80,200,123,210,146,55,145,146,106,207,149,80,140,224,147,165,52,247,91,38,56,67,112,70,145,59,151,52,134,45,136,74,151,204,152,183,158,60,0,42,0,175,81,6,89,64,99,114,109,34,144,56,88,174,153,152,125,66,130,128,57,83,100,40,111,111,61,60,0,42,0,189,139,42,85,130,137,247,138,60,0,42,0,228,81,73,89,46,117,248,79,87,110,40,113,72,113,29,127,87,141,239,156,243,156,12,157,245,140,43,126,60,0,42,0,18,116,132,110,189,147,21,134,60,0,42,0,133,137,60,0,42,0,43,89,21,79,75,84,139,89,158,144,199,89,158,115,164,128,36,96,206,103,6,120,186,87,16,90,3,92,66,131,109,136,201,101,106,59,40,125,116,131,186,141,184,158,225,117,3,122,215,141,7,146,95,123,146,125,117,91,103,140,28,145,119,101,154,129,250,156,169,158,208,124,172,158,177,158,239,97,60,0,42,0,64,78,255,93,23,95,15,79,235,81,54,117,91,79,185,81,28,82,90,91,118,98,136,84,170,92,127,95,43,96,194,98,13,103,142,103,237,108,194,126,203,126,153,130,163,130,216,79,152,87,132,58,235,103,31,108,17,109,165,112,184,115,73,117,80,117,88,127,251,130,0,131,232,151,249,84,63,104,110,109,41,120,83,121,47,131,168,134,219,144,16,83,116,104,170,109,240,112,8,116,38,123,48,123,49,125,60,125,199,127,116,130,169,131,89,134,69,94,244,104,101,125,102,127,212,131,177,136,176,124,141,125,64,130,77,132,9,135,144,143,88,146,92,146,171,152,231,156,145,105,143,121,42,122,153,123,205,151,94,94,147,111,96,135,244,154,232,138,62,142,59,143,132,155,20,157,65,118,101,216,50,223,251,158,70,137,105,157,157,157,60,0,42,0,82,84,154,98,43,117,118,78,156,94,35,95,202,98,167,101,204,79,219,79,213,128,236,156,239,79,217,144,220,145,225,145,108,99,133,143,36,113,217,118,81,129,207,110,5,135,232,66,80,129,20,143,56,86,168,100,171,100,43,152,52,155,32,124,252,158,60,0,42,0,207,46,214,46,29,150,54,114,163,139,216,78,135,89,31,141,144,84,127,87,20,57,206,122,28,150,68,150,120,154,13,89,202,92,3,138,160,140,116,141,49,57,84,121,165,134,90,150,105,80,168,81,111,82,102,90,185,134,157,136,133,80,141,90,204,91,169,95,198,61,255,121,215,134,66,138,75,141,17,87,49,105,26,127,121,129,47,132,139,156,89,141,123,75,60,59,238,125,92,135,110,135,7,137,20,137,230,140,217,153,20,91,27,126,103,133,57,143,146,155,251,140,81,147,98,147,198,156,134,137,165,153,0,70,18,156,65,216,215,220,60,0,42,0,92,145,40,105,132,137,163,121,178,155,60,0,39,0,208,253,39,0,9,49,60,0,42,0,145,84,210,84,55,128,69,131,26,123,210,85,45,100,69,216,63,220,152,100,96,86,89,216,191,221,33,137,157,147,60,0,42,0,190,143,126,84,178,89,27,96,147,108,214,143,159,112,141,127,87,117,99,117,42,123,89,131,115,82,18,83,84,123,90,138,57,144,84,144,24,150,124,151,145,151,152,133,137,147,253,135,130,142,61,148,195,151,150,159,152,159,60,0,42,0,83,98,60,0,42,0,39,89,79,108,20,119,60,0,42,0,175,87,182,88,41,118,245,113,104,126,60,0,42,0,26,86,60,0,42,0,43,57,116,96,151,95,194,109,234,96,207,104,29,149,179,95,183,95,64,147,60,0,42,0,48,87,132,118,38,129,60,0,42,0,70,84,84,84,67,115,219,97,60,0,42,0,121,107,163,80,46,144,60,0,42,0,50,52,227,78,106,143,67,216,58,220,136,87,177,92,18,94,25,117,208,126,128,154,38,94,133,95,32,96,203,103,134,107,179,115,55,141,232,143,47,94,209,142,237,87,54,94,63,125,139,136,218,142,214,62,184,140,233,142,71,116,215,94,6,66,199,83,194,59,255,125,195,102,15,157,52,98,88,216,2,221,92,130,219,158,36,124,91,142,59,112,52,151,241,158,118,137,70,151,60,0,42,0,152,155,60,0,42,0,136,46,0,82,2,82,232,83,201,95,55,103,24,108,32,130,214,145,125,156,91,155,60,0,42,0,111,99,60,0,42,0,252,91,155,92,246,92,99,99,119,121,23,100,130,121,0,56,139,93,140,93,54,58,157,150,14,92,212,88,185,93,227,100,72,142,175,150,177,121,60,0,42,0,48,82,18,80,188,96,24,113,215,118,220,118,255,131,83,144,50,122,140,123,226,127,59,122,92,136,117,86,95,136,164,106,254,113,38,67,255,127,199,142,217,116,155,126,60,0,42,0,118,92,102,150,33,105,221,105,60,0,42,0,58,84,23,85,92,81,253,144,96,81,56,133,119,106,252,123,60,0,42,0,150,98,39,150,147,103,161,103,30,85,170,134,97,150,4,146,60,0,42,0,151,101,70,140,98,109,214,144,126,153,37,155,170,104,237,107,48,129,115,131,23,144,88,145,216,117,151,149,166,122,38,75,38,155,22,153,163,101,68,216,157,220,216,149,70,69,199,122,42,155,44,155,45,155,60,0,42,0,103,78,84,130,60,0,42,0,57,78,137,89,85,83,197,98,88,83,8,119,3,120,60,128,61,128,159,68,67,128,173,142,248,144,174,85,133,90,154,107,5,118,48,83,170,123,21,152,11,81,239,82,29,137,50,145,212,100,171,107,73,118,20,117,30,124,76,137,120,128,60,0,42,0,20,79,16,82,140,98,172,115,237,116,198,128,184,117,30,125,116,136,184,99,85,141,182,78,162,100,163,100,184,111,213,158,189,129,238,158,60,0,42,0,230,101,70,79,14,94,138,108,249,108,218,114,222,139,230,103,141,117,86,85,87,85,57,95,238,96,225,109,203,134,127,85,62,95,46,108,69,129,15,132,219,137,214,53,158,122,228,80,17,135,190,153,231,154,62,86,73,86,72,95,154,97,149,138,186,97,186,102,185,111,222,132,32,157,171,121,243,153,90,118,170,86,117,126,9,141,46,151,79,153,53,74,60,0,42,0,101,98,125,98,60,0,42,0,83,95,240,115,219,148,92,123,198,136,118,117,121,86,162,111,171,116,57,124,97,130,247,135,96,137,58,148,60,0,42,0,33,99,90,81,32,140,203,100,97,139,232,158,41,101,89,112,19,107,156,139,60,0,42,0,57,108,252,81,53,87,149,91,0,120,177,87,99,104,97,131,120,90,19,97,234,131,99,93,253,116,63,144,252,150,173,120,5,81,82,111,138,119,164,141,203,88,105,133,148,106,151,116,234,118,17,121,28,124,47,134,227,149,60,0,42,0,111,112,123,118,75,140,84,86,1,91,200,113,146,116,243,122,38,124,180,137,108,142,60,0,42,0,41,103,73,123,37,98,60,0,42,0,147,144,243,81,177,88,157,93,39,145,165,150,170,119,244,120,107,149,200,106,25,148,60,0,42,0,96,130,60,0,42,0,16,108,254,78,78,79,67,89,125,95,157,127,155,136,36,88,134,141,132,150,244,110,0,106,93,149,254,120,73,147,174,151,60,0,42,0,196,114,248,94,116,124,214,130,234,143,25,85,76,101,164,109,145,104,27,123,123,131,204,137,110,151,176,153,226,154,0,86,225,90,204,110,223,127,20,152,117,101,11,133,16,133,0,74,129,86,244,123,36,74,116,140,98,142,4,155,225,133,209,147,174,66,244,124,191,137,16,158,60,0,42,0,142,83,88,87,203,139,103,84,149,94,36,95,181,98,222,98,184,144,58,150,226,103,116,114,11,131,37,120,222,87,139,99,125,59,231,131,221,137,70,138,231,142,92,128,182,154,60,0,42,0,84,87,31,95,243,101,85,103,147,115,31,96,228,79,29,94,202,87,35,90,89,80,71,85,114,85,138,104,13,113,246,115,49,119,44,123,27,140,18,144,19,144,241,145,130,90,227,104,39,110,71,119,118,121,20,127,194,131,192,80,99,129,130,132,106,146,145,88,85,100,178,120,152,121,67,135,94,144,172,88,120,97,224,125,21,133,112,144,179,93,11,117,230,138,54,142,174,135,60,0,42,0,243,155,60,0,42,0,242,85,60,0,42,0,57,114,204,141,58,137,60,0,42,0,164,87,204,92,78,96,21,99,51,102,214,126,197,128,245,130,237,143,222,116,35,119,28,98,242,67,13,140,139,85,30,88,245,96,242,99,115,117,112,125,11,128,247,129,68,138,131,141,123,149,224,83,156,107,67,114,82,114,125,93,159,120,40,135,83,130,118,135,11,137,75,216,163,221,220,138,64,142,189,156,42,59,225,102,137,117,8,156,138,117,14,108,60,0,42,0,203,84,10,128,48,119,60,0,42,0,73,94,130,117,60,0,42,0,1,82,252,83,72,108,109,134,203,81,93,89,52,95,107,95,193,134,49,116,130,140,137,120,237,156,166,107,151,119,213,150,137,155,183,156,38,159,219,155,112,157,60,0,42,0,90,98,76,92,60,0,42,0,20,95,4,79,10,84,147,148,142,122,11,138,3,140,137,99,227,145,222,148,235,148,232,122,177,146,255,150,97,155,231,132,191,138,57,118,181,122,253,146,203,133,67,148,60,0,42,0,19,124,60,0,42,0,31,78,34,78,67,216,141,220,229,148,169,146,60,0,42,0,56,117,65,101,67,216,167,221,130,99,142,80,167,83,110,93,199,110,199,105,217,105,40,118,160,152,78,142,197,93,90,152,91,152,107,118,211,93,212,93,39,101,114,118,123,159,60,0,42,0,120,81,76,89,185,112,112,90,32,115,68,67,95,101,213,141,152,120,167,132,46,142,71,133,222,158,184,86,60,0,42,0,53,117,67,79,107,87,151,94,61,150,171,87,66,98,183,115,191,148,93,90,230,96,192,109,96,89,20,116,191,107,20,135,251,150,138,88,194,88,66,106,93,106,177,111,91,151,82,216,113,222,92,118,31,124,84,154,60,0,42,0,35,105,60,0,42,0,1,78,195,78,238,83,4,94,142,115,148,117,239,118,137,148,53,128,112,134,74,145,216,145,106,151,60,0,42,0,117,89,118,152,2,152,192,58,14,159,127,93,17,159,206,111,161,133,36,148,60,0,42,0,162,139,202,95,100,153,244,119,154,91,2,138,227,152,118,85,228,148,23,105,90,129,35,132,135,120,45,149,160,120,74,135,204,146,32,147,248,120,65,152,60,0,42,0,98,128,60,0,42,0,190,83,71,216,42,220,98,82,7,150,99,119,31,86,143,145,205,149,60,0,42,0,210,107,236,114,156,109,251,139,14,110,31,105,105,60,77,114,138,114,161,120,251,136,173,138,115,135,104,115,22,147,223,81,53,83,59,91,6,112,221,106,176,107,88,114,162,114,196,116,190,118,51,154,233,158,128,139,68,140,21,141,227,151,95,148,209,154,199,151,229,151,247,158,159,139,60,0,42,0,3,123,53,88,62,94,76,141,61,116,121,119,169,137,237,140,228,123,60,0,42,0,146,89,92,103,154,128,143,130,172,89,166,94,250,121,112,131,33,110,111,151,64,149,103,216,90,221,153,135,172,107,77,147,53,124,39,136,57,136,60,0,42,0,26,89,27,89,132,84,198,84,83,117,95,82,28,93,135,99,96,101,242,107,240,136,137,86,60,0,42,0,58,89,206,148,107,82,83,101,90,101,165,85,179,96,106,101,229,117,44,146,106,89,217,81,49,142,181,155,56,148,60,0,42,0,53,103,54,103,218,84,155,87,156,87,5,99,6,99,245,87,13,127,47,105,147,141,177,142,178,142,158,125,42,73,156,97,184,78,122,147,195,142,178,86,114,89,60,0,42,0,52,82,65,82,115,153,46,92,193,103,238,103,168,112,74,150,79,150,87,104,21,88,53,130,240,96,226,141,229,141,250,141,255,152,231,62,174,88,175,88,158,93,125,157,60,0,42,0,164,103,60,0,42,0,150,87,6,88,96,88,95,93,253,117,211,120,45,157,28,148,60,0,42,0,3,58,39,152,60,0,42,0,249,91,31,150,74,81,76,81,81,81,254,91,60,96,75,121,110,150,138,150,147,120,207,65,144,125,13,92,158,97,157,97,231,111,102,149,223,97,104,137,35,59,177,133,41,112,72,139,19,148,60,0,42,0,17,128,115,80,108,82,143,90,239,122,13,137,116,147,60,0,42,0,74,216,67,223,237,119,60,0,42,0,181,107,173,101,69,88,14,127,52,105,69,113,86,116,118,129,110,132,171,120,59,149,222,125,200,107,22,124,91,147,183,101,150,142,106,124,60,0,42,0,40,84,199,96,102,101,51,135,169,88,170,88,180,100,100,115,120,86,137,100,84,106,156,114,5,121,59,69,114,142,126,142,80,154,60,0,42,0,76,216,180,223,249,118,184,141,137,142,60,0,42,0,5,79,228,86,137,94,140,108,150,112,254,118,24,120,157,148,7,144,127,152,13,146,111,105,65,144,19,152,97,111,111,144,201,113,50,142,60,0,42,0,183,120,60,0,42,0,28,78,172,81,154,84,181,54,189,92,113,103,56,102,33,108,243,130,50,80,43,158,236,87,59,90,32,93,44,93,183,109,23,123,154,95,45,108,196,131,100,216,147,220,64,135,36,157,21,159,223,155,135,157,60,0,42,0,2,58,99,132,165,88,189,123,204,138,30,91,79,216,197,223,107,133,194,97,60,0,42,0,168,82,187,81,151,79,140,87,219,89,210,92,107,96,15,99,11,104,30,109,232,128,205,81,25,98,244,128,245,143,213,82,80,120,223,104,105,110,103,125,86,129,205,80,231,153,24,151,60,0,42,0,151,155,171,157,60,0,39,0,208,253,39,0,10,49,60,0,42,0,214,78,131,91,121,89,96,114,66,121,202,148,191,141,76,88,187,110,153,105,31,137,131,86,231,149,60,0,42,0,121,142,60,0,42,0,84,88,154,110,150,88,243,53,109,115,206,156,122,115,40,156,60,0,42,0,163,78,211,98,30,99,231,114,252,149,67,216,50,221,229,54,9,93,190,109,124,59,40,100,191,64,246,141,187,105,254,107,11,66,93,144,98,144,147,52,162,121,187,138,15,142,187,100,190,111,20,147,125,106,204,111,75,142,156,151,153,155,249,63,210,149,179,151,186,86,118,139,229,149,105,216,1,222,162,142,60,0,42,0,164,79,156,84,60,0,42,0,209,95,210,95,121,114,163,140,174,134,253,148,93,97,241,146,163,135,216,135,60,0,42,0,252,86,97,91,206,128,60,0,42,0,173,81,240,83,242,101,110,87,172,98,176,144,177,103,177,112,178,112,212,130,237,131,198,141,3,59,144,156,136,123,250,129,177,152,26,66,216,153,19,81,144,155,47,91,225,100,0,62,175,106,185,133,73,124,60,0,42,0,42,89,51,89,242,95,112,108,1,96,189,128,155,148,240,108,38,130,237,72,94,145,38,146,153,110,75,97,228,113,60,0,42,0,143,124,60,0,42,0,50,89,34,95,155,109,230,126,143,99,92,138,205,90,77,94,70,97,47,100,212,110,91,125,196,105,107,116,236,151,248,152,49,66,26,126,39,126,228,111,31,139,65,143,62,73,177,151,220,151,85,153,60,0,42,0,11,83,183,84,46,109,239,143,67,104,3,144,85,85,188,104,216,109,59,65,249,126,118,150,4,132,121,121,175,125,42,135,234,136,128,151,132,145,137,151,254,146,45,147,227,153,174,106,64,153,10,154,23,159,60,0,42,0,168,139,14,138,60,0,42,0,87,89,60,0,42,0,119,80,120,80,126,90,174,90,192,146,110,147,60,0,42,0,160,78,52,89,149,98,176,154,240,125,45,152,60,0,42,0,181,89,173,148,15,125,151,58,104,101,243,152,200,158,35,134,60,0,42,0,15,144,137,125,60,0,42,0,77,87,49,54,169,98,42,141,57,96,209,117,17,130,170,140,74,100,233,110,43,118,249,100,36,101,88,112,113,118,60,0,42,0,91,87,68,216,168,222,25,102,19,80,8,140,82,90,212,96,239,144,131,137,131,105,240,117,44,149,45,140,176,88,181,88,155,97,109,111,199,138,136,145,199,88,199,102,194,113,31,147,36,153,128,106,249,120,67,152,72,127,220,88,235,133,90,139,154,140,176,145,96,139,78,127,60,0,42,0,208,95,102,87,217,67,189,148,146,136,239,107,252,131,161,71,109,146,255,85,179,97,187,97,147,145,174,116,98,137,60,0,42,0,249,83,173,112,238,87,162,99,157,80,96,110,203,80,6,86,179,120,21,130,78,107,231,140,60,0,42,0,100,108,99,87,244,148,111,110,33,86,37,128,143,82,176,127,106,135,182,71,0,72,87,149,154,133,90,142,220,147,11,148,186,151,30,159,60,0,42,0,103,153,16,85,2,88,143,80,122,85,123,59,224,104,125,52,88,88,13,55,42,100,143,110,12,145,182,105,31,111,123,113,109,116,133,129,206,132,154,150,24,106,77,216,95,222,196,120,159,121,195,124,155,129,86,106,214,123,214,124,151,135,60,142,219,124,179,135,111,141,163,145,51,153,78,66,149,147,57,153,219,149,68,153,96,216,137,221,182,157,60,0,42,0,22,79,17,94,24,80,82,80,204,109,165,80,186,142,75,149,178,147,59,81,3,98,237,102,35,114,216,119,130,148,60,0,42,0,235,112,101,100,159,141,217,113,60,0,42,0,165,113,175,129,31,159,60,0,42,0,188,117,203,117,80,94,126,129,138,138,27,111,213,110,34,126,134,144,230,153,4,139,47,81,228,133,48,154,80,124,39,156,88,124,99,154,60,0,42,0,47,151,60,0,42,0,69,134,60,0,42,0,84,82,175,104,56,53,17,149,34,142,255,100,200,157,201,157,60,0,42,0,151,83,208,130,232,126,81,131,77,80,124,85,57,93,255,96,208,99,10,122,7,127,100,127,72,158,193,85,69,116,136,125,70,144,174,120,178,95,61,111,249,125,109,135,6,137,187,146,152,152,91,133,167,141,68,142,141,145,21,139,79,142,87,147,192,156,58,157,76,152,183,155,92,157,32,154,247,155,151,157,153,157,181,121,228,157,60,0,42,0,83,79,46,99,176,142,181,154,167,155,198,142,212,154,60,0,42,0,59,98,78,216,194,221,73,92,207,143,67,82,17,103,31,109,28,80,140,96,149,109,92,92,144,96,213,96,166,99,22,144,214,96,229,99,255,102,55,144,116,105,252,136,82,107,162,107,5,137,240,154,49,59,143,86,153,133,0,155,148,86,203,116,74,124,175,141,145,77,60,0,42,0,57,123,92,93,60,0,42,0,22,94,23,96,52,141,81,128,28,132,188,140,60,0,42,0,193,148,200,134,227,80,149,146,232,146,41,157,33,148,53,148,86,154,60,0,42,0,107,84,251,152,52,77,46,153,60,0,42,0,235,101,123,79,163,94,76,96,17,99,103,121,56,59,78,128,60,0,42,0,128,130,97,103,167,92,185,92,226,143,82,121,157,104,36,123,20,132,237,71,146,141,134,159,218,132,41,135,36,106,232,132,218,146,235,154,166,156,151,151,165,147,200,155,96,159,55,156,60,0,42,0,168,91,64,102,19,103,32,62,1,129,149,122,130,138,55,72,177,122,162,101,37,91,60,0,42,0,58,119,156,124,105,125,156,137,243,141,246,124,60,0,42,0,169,135,60,0,42,0,41,89,114,81,86,90,251,109,95,145,84,151,236,66,50,59,199,158,93,151,60,0,42,0,48,117,71,92,186,108,108,96,75,117,81,117,247,118,203,128,96,117,27,117,28,117,73,110,254,131,82,72,97,88,107,88,55,100,63,146,23,150,194,125,204,120,180,122,179,116,208,149,198,157,207,157,60,0,42,0,221,95,132,107,14,80,173,53,58,85,73,54,191,96,223,109,106,102,32,116,70,129,205,137,246,117,83,119,20,130,2,153,165,137,223,140,42,147,102,151,105,147,60,0,42,0,1,52,173,99,124,119,26,130,60,0,42,0,181,120,43,157,60,0,42,0,133,83,129,94,64,108,124,130,44,84,58,117,19,128,155,83,195,112,111,104,244,112,142,125,252,66,147,151,116,128,240,94,124,128,125,128,243,94,60,0,42,0,146,144,247,94,173,78,173,94,92,80,155,131,119,90,73,93,31,110,95,105,115,123,118,132,19,135,179,105,100,128,79,135,174,149,6,151,234,138,46,159,60,0,42,0,68,216,60,222,34,87,60,117,185,79,23,90,58,99,143,109,131,104,246,112,253,115,33,129,139,152,71,130,148,138,50,152,104,216,182,222,60,0,42,0,248,81,138,91,191,121,195,121,34,96,129,122,11,85,139,109,120,99,23,88,101,110,220,117,86,132,128,93,245,146,90,157,53,159,60,0,42,0,243,86,254,86,195,81,249,92,169,94,146,95,135,96,72,99,130,109,96,92,140,104,204,62,124,131,20,144,236,99,120,59,12,122,223,131,21,87,87,88,94,93,76,216,37,222,15,118,97,123,111,129,47,146,22,87,23,87,220,94,115,111,164,132,255,141,116,145,221,72,159,153,78,147,252,153,76,157,159,157,203,157,245,157,60,0,42,0,31,87,33,87,16,84,141,148,247,145,60,0,42,0,78,81,84,81,204,143,13,88,117,157,60,0,42,0,98,108,181,131,60,0,42,0,71,78,219,78,172,139,88,98,97,98,81,108,102,153,84,103,130,79,131,84,213,98,214,98,176,108,41,99,93,99,23,138,182,109,43,129,49,129,140,131,165,136,229,152,96,155,93,154,60,0,42,0,110,154,87,79,104,87,174,92,177,108,178,108,207,114,64,150,65,150,124,154,241,143,35,120,36,120,53,158,61,125,137,136,54,88,206,141,97,145,177,153,214,105,162,120,126,75,196,153,221,153,222,153,80,106,128,155,21,157,39,159,40,154,13,159,82,154,9,159,60,0,42,0,117,95,165,89,185,94,160,90,45,105,85,105,247,90,98,106,78,157,12,155,22,156,60,0,42,0,221,103,228,107,62,85,26,132,197,141,251,107,168,123,0,134,92,124,60,0,42,0,168,99,247,132,236,133,60,0,42,0,26,95,3,64,147,152,53,92,164,150,57,152,58,152,61,152,75,155,104,122,106,142,8,134,215,63,60,0,42,0,192,79,211,80,127,129,70,142,189,154,60,0,42,0,187,79,39,90,0,144,122,113,251,134,21,135,42,137,254,153,60,0,42,0,77,110,47,115,83,113,78,71,146,140,78,77,60,0,42,0,226,86,227,86,159,98,120,82,24,87,113,97,118,100,25,111,235,105,255,123,178,106,196,147,240,124,210,157,251,157,60,0,42,0,131,117,60,0,42,0,86,95,106,110,22,137,60,0,42,0,30,84,81,84,146,109,77,85,28,103,30,113,75,86,190,102,63,59,215,158,60,0,42,0,111,92,73,87,243,95,104,153,154,130,88,140,90,140,216,142,233,152,128,156,104,155,84,58,21,151,192,129,203,129,60,0,42,0,61,108,125,117,60,0,42,0,253,101,60,0,42,0,242,86,181,112,204,117,26,144,245,85,234,132,60,0,42,0,221,78,12,84,95,79,100,95,194,92,157,94,195,84,221,92,234,114,77,102,80,104,117,109,212,112,60,120,60,131,146,134,46,119,241,121,220,148,229,122,161,124,90,216,52,222,105,123,119,138,104,141,110,145,86,146,238,80,237,82,117,146,133,146,7,153,150,156,124,111,94,115,200,102,35,103,102,106,3,108,209,113,157,114,167,129,63,63,179,119,166,155,89,216,141,220,0,77,60,0,42,0,223,126,69,99,140,58,118,104,82,123,113,125,130,125,11,106,60,0,42,0,120,96,219,117,85,136,95,97,133,97,60,0,39,0,208,253,39,0,11,49,60,0,42,0,239,85,60,0,42,0,207,98,255,98,16,99,241,85,78,149,191,147,60,0,42,0,120,78,234,84,235,150,60,0,42,0,54,84,80,84,160,89,179,126,163,144,173,128,160,148,28,90,13,125,114,136,122,99,29,123,87,216,73,222,166,136,125,140,220,142,128,140,9,146,121,151,179,132,83,216,59,222,118,155,43,66,60,0,42,0,146,117,183,139,144,98,50,119,37,138,60,0,42,0,98,84,60,0,42,0,73,129,139,113,104,100,123,91,60,0,42,0,67,78,118,89,22,108,127,130,147,117,179,89,252,94,55,80,250,143,226,145,45,91,60,0,42,0,72,89,240,103,15,128,16,128,69,216,171,223,63,110,24,132,16,159,154,135,38,137,60,147,60,0,42,0,30,90,129,153,46,129,71,129,18,153,190,155,216,155,60,0,42,0,103,81,133,81,59,52,29,108,23,147,60,0,42,0,108,91,60,0,42,0,118,84,19,96,32,99,241,92,71,120,217,148,49,115,242,134,73,138,153,120,147,100,169,93,185,97,239,135,18,89,74,139,3,148,206,93,60,0,42,0,180,87,124,96,169,96,17,129,24,83,22,88,241,96,208,90,89,116,102,129,175,120,0,71,118,115,127,115,60,0,42,0,249,149,101,90,214,109,153,149,39,155,209,129,60,0,42,0,51,129,60,0,42,0,186,127,60,0,42,0,66,85,60,0,42,0,200,105,40,128,115,115,189,106,146,147,30,148,115,139,60,0,42,0,225,86,60,0,42,0,55,117,143,103,172,103,189,79,87,83,223,103,26,90,88,117,190,150,174,131,131,85,148,102,96,105,245,138,227,150,93,216,116,221,60,0,42,0,103,141,199,99,115,110,105,129,51,132,18,66,123,135,1,98,60,0,42,0,89,216,218,222,123,90,46,59,60,0,42,0,86,144,60,0,42,0,65,96,233,90,240,90,60,0,42,0,212,86,60,0,42,0,106,78,162,86,104,139,202,86,48,136,30,155,149,153,28,107,98,153,60,0,42,0,195,100,233,102,46,101,98,112,60,0,42,0,62,81,73,159,60,0,42,0,253,128,60,0,42,0,67,216,76,222,99,216,153,221,60,0,42,0,174,89,60,0,42,0,60,92,109,87,190,55,41,96,229,108,126,124,42,80,84,92,220,121,204,148,255,87,87,90,227,109,10,115,173,134,38,70,243,144,255,104,82,216,164,221,207,70,220,141,93,129,99,128,58,135,236,137,142,140,23,143,19,151,181,156,211,155,226,155,145,158,111,159,225,129,60,0,42,0,49,79,96,79,179,98,223,98,212,114,197,103,232,130,206,101,114,102,116,91,46,146,156,153,23,81,30,81,236,100,172,150,183,106,191,133,123,128,60,0,42,0,112,92,60,108,50,79,79,216,183,220,53,102,210,128,225,143,36,119,6,144,63,83,4,88,196,96,53,97,186,110,104,119,123,129,223,90,177,102,189,138,101,64,12,126,169,129,58,91,105,216,91,222,60,0,42,0,174,136,60,0,42,0,79,99,209,99,60,0,42,0,246,130,60,0,42,0,7,94,89,216,18,222,60,87,191,103,133,109,198,117,66,128,236,129,103,150,110,85,215,96,166,85,92,101,124,110,205,131,137,150,235,85,114,93,2,142,91,86,112,100,247,105,23,142,74,149,77,149,173,93,222,123,242,129,28,147,158,152,81,142,153,86,118,128,179,147,209,149,124,91,56,55,125,91,241,106,75,124,193,86,22,134,103,159,76,216,51,220,241,124,37,136,72,148,245,124,211,86,152,139,161,142,119,148,115,152,128,148,192,75,60,0,42,0,213,93,60,0,42,0,31,158,17,131,100,59,133,136,229,156,203,90,202,136,34,106,38,133,29,91,45,137,50,91,53,55,60,0,42,0,63,92,50,129,60,0,42,0,158,89,60,0,42,0,167,46,91,114,124,108,60,0,42,0,248,95,109,98,195,114,189,126,132,112,174,148,16,125,165,131,21,146,117,151,60,0,42,0,66,136,244,66,60,0,42,0,92,114,60,0,42,0,200,98,43,133,60,0,42,0,116,94,202,121,214,84,229,121,135,156,142,155,182,156,207,158,240,155,60,0,42,0,138,109,123,99,240,109,62,113,200,141,135,143,151,143,154,100,181,100,190,120,38,143,16,124,77,142,6,101,104,142,142,142,60,0,42,0,68,83,255,94,245,95,233,89,56,85,221,87,76,130,48,159,60,0,42,0,71,157,60,0,42,0,220,86,168,96,251,66,60,0,42,0,240,98,60,0,42,0,12,129,60,0,42,0,24,90,34,91,67,91,60,0,42,0,127,145,184,145,192,145,60,0,42,0,129,91,155,84,231,98,222,114,224,103,231,130,77,128,205,91,213,91,47,117,215,91,220,91,231,91,28,81,221,81,128,86,35,91,240,100,112,115,184,106,180,133,121,128,94,216,72,223,79,148,33,155,11,158,60,0,42,0,99,106,195,119,60,0,42,0,94,79,171,79,222,108,216,111,60,0,42,0,157,111,60,0,42,0,116,89,101,91,125,154,47,123,209,153,60,0,42,0,46,79,170,82,41,95,46,120,236,128,60,0,42,0,18,96,137,80,25,100,60,0,42,0,205,144,42,99,155,104,169,80,58,81,60,0,42,0,96,106,60,0,42,0,250,139,143,85,30,97,73,216,42,223,191,99,38,100,61,144,24,149,59,100,146,105,44,122,209,124,254,138,67,142,230,97,231,97,229,124,100,122,239,124,60,0,42,0,123,89,60,0,42,0,28,110,9,59,150,102,86,113,87,113,42,153,60,0,42,0,193,158,60,0,42,0,156,81,172,79,221,84,83,109,19,129,254,121,178,143,2,81,179,143,101,86,195,111,130,106,246,113,191,129,125,133,175,121,96,122,91,137,178,145,1,107,60,0,42,0,119,126,60,0,42,0,4,95,10,99,81,118,72,159,60,0,42,0,115,89,149,148,121,124,249,145,60,0,42,0,145,108,103,96,18,103,68,136,188,70,60,0,42,0,159,117,80,134,120,120,39,118,60,0,39,0,208,253,39,0,12,49,60,0,42,0,131,87,201,98,198,103,203,127,200,131,26,100,139,144,60,0,42,0,239,101,76,82,44,120,230,99,214,120,185,86,60,0,42,0,135,85,222,133,60,0,42,0,74,129,231,99,75,105,12,118,33,135,75,135,162,143,163,143,114,135,200,129,11,101,9,114,216,129,14,155,206,116,116,149,251,155,31,136,94,148,60,0,42,0,102,85,130,110,161,151,60,0,42,0,214,86,60,0,42,0,139,128,60,0,42,0,194,78,57,53,80,78,251,83,199,95,80,98,59,108,30,150,143,115,123,130,208,108,251,122,51,120,125,105,247,151,2,106,21,124,161,57,211,156,51,156,60,0,42,0,134,78,121,153,14,153,60,0,42,0,101,103,134,79,235,79,8,80,3,93,149,95,158,109,97,90,13,93,178,94,160,95,190,104,246,109,13,115,177,131,242,144,246,104,28,116,89,123,10,132,40,144,252,148,130,123,241,66,96,216,144,220,56,147,11,154,224,155,134,157,179,158,60,0,42,0,59,85,73,141,80,119,94,119,86,141,218,140,209,111,244,140,60,152,66,152,68,216,150,220,94,118,99,157,40,112,44,112,65,124,244,106,10,62,254,133,105,118,95,124,112,137,60,0,42,0,210,82,60,0,42,0,247,150,216,90,39,127,126,117,2,133,194,100,98,61,145,106,50,126,12,121,109,149,209,106,195,116,184,127,39,121,141,126,77,127,29,136,51,148,50,134,96,143,61,81,232,88,88,148,65,151,25,107,70,134,157,126,58,159,60,0,42,0,189,83,18,128,212,139,146,87,107,125,66,129,171,80,132,138,15,106,202,120,229,120,76,133,33,81,66,66,126,133,216,88,125,61,87,118,208,106,223,133,40,121,69,112,132,139,61,134,120,148,19,158,60,0,42,0,234,108,33,109,123,124,153,109,218,109,47,125,96,216,36,220,121,145,135,146,27,152,42,152,17,147,174,72,2,101,163,152,94,152,106,66,135,126,49,134,183,121,60,0,42,0,65,88,30,86,105,156,60,0,42,0,94,99,136,100,60,0,42,0,179,82,180,82,98,114,130,122,240,84,32,85,2,93,118,109,222,82,232,117,249,148,215,80,46,86,160,55,151,93,165,97,82,216,66,222,70,118,241,120,41,124,231,135,170,145,18,148,95,152,221,154,60,0,42,0,2,128,1,128,108,79,190,84,229,89,69,96,235,114,51,104,86,131,209,148,237,65,160,146,102,111,81,106,81,143,60,0,42,0,157,109,217,112,34,128,106,145,234,90,166,97,135,111,188,142,111,106,46,128,194,142,60,0,42,0,239,115,83,120,89,216,232,222,169,124,239,134,37,103,177,155,60,0,42,0,156,119,60,0,42,0,69,82,4,90,123,80,65,90,189,85,135,110,194,80,124,105,140,132,13,86,212,94,122,97,10,111,19,106,161,113,39,128,30,133,124,135,113,144,44,128,91,130,187,135,49,139,193,142,197,154,187,151,207,154,60,0,42,0,93,93,2,100,127,88,129,93,95,100,211,123,10,117,13,124,60,0,42,0,55,53,75,150,90,92,15,111,24,118,66,149,58,118,59,118,228,147,60,0,42,0,112,81,154,92,230,98,15,104,106,90,207,96,80,93,17,150,123,132,221,132,48,140,177,83,156,111,22,81,147,101,238,123,52,137,226,97,227,113,247,113,103,149,204,149,188,116,205,133,85,137,75,139,96,216,79,221,113,94,20,101,62,112,67,124,127,126,100,137,149,101,4,107,70,112,45,134,55,121,99,124,116,137,210,86,97,112,149,139,157,142,23,107,132,148,202,151,60,0,42,0,200,137,104,109,230,54,253,99,6,127,132,105,36,111,113,127,130,145,200,88,210,97,167,137,92,58,229,100,62,91,246,97,68,91,189,137,43,67,79,91,44,101,96,112,213,86,22,107,38,114,114,152,156,126,60,0,42,0,194,112,229,110,215,113,130,86,235,111,1,114,27,114,211,116,36,114,109,148,247,124,60,0,42,0,125,137,60,0,42,0,119,85,60,0,42,0,198,82,206,144,52,107,252,114,222,144,6,150,143,101,121,104,98,60,5,116,207,90,202,94,96,120,2,122,18,149,148,105,111,116,100,123,70,130,200,132,11,135,180,142,130,135,195,146,175,147,250,153,60,0,42,0,23,103,22,103,250,112,95,54,113,88,3,106,226,132,143,138,190,59,36,103,60,0,42,0,204,87,0,93,106,109,240,58,168,131,67,216,152,222,151,132,172,149,60,0,42,0,37,85,210,144,60,0,42,0,4,54,60,0,42,0,26,93,68,88,241,104,94,105,144,120,28,122,24,143,68,66,144,133,60,0,42,0,183,81,60,0,42,0,48,80,14,88,35,97,86,119,28,142,60,0,42,0,233,84,60,0,42,0,21,82,93,103,152,83,83,82,248,114,138,154,161,96,168,104,169,104,184,104,129,114,13,116,187,121,154,124,114,131,177,85,195,104,29,61,130,114,222,131,66,158,122,82,19,111,72,62,93,119,99,123,33,127,67,130,10,135,67,216,215,222,67,216,29,223,224,90,119,91,224,118,141,140,146,57,6,106,131,116,206,124,224,132,235,146,161,156,206,158,121,127,62,133,91,216,153,222,5,147,241,123,45,126,39,69,205,135,53,137,159,86,39,139,168,145,208,145,226,150,132,101,0,60,200,116,220,133,140,144,235,147,236,155,121,157,231,158,196,86,33,136,57,154,75,91,242,94,33,101,85,112,153,82,58,134,87,148,114,122,108,124,154,126,106,154,122,156,29,158,60,0,42,0,60,121,78,103,204,145,218,79,219,92,226,92,12,90,242,92,108,109,6,116,38,144,2,149,180,124,207,136,225,136,74,140,240,146,164,156,99,81,167,111,174,121,201,155,248,135,180,145,226,156,144,144,103,156,26,107,60,0,42,0,155,82,134,83,137,83,116,92,203,122,15,84,56,103,61,78,41,82,177,82,86,84,92,87,165,108,139,79,120,53,166,92,62,98,165,103,180,108,160,117,200,130,182,150,208,79,234,79,38,57,14,104,172,117,5,120,217,130,114,141,121,143,102,52,14,85,51,90,167,96,23,104,27,104,150,109,1,115,213,115,58,120,62,120,221,121,24,131,84,131,230,144,51,85,111,90,32,123,146,124,157,124,55,129,133,131,137,131,184,134,206,134,136,80,211,81,164,83,217,104,226,117,224,134,72,138,222,141,243,150,175,83,91,88,68,97,46,100,167,110,93,146,232,156,15,59,166,102,116,107,110,116,159,125,154,132,158,132,39,135,178,83,119,135,198,102,119,107,229,123,9,69,183,150,103,216,152,221,23,157,245,82,250,62,255,120,184,150,1,155,46,81,193,93,255,111,88,118,152,147,166,86,226,88,10,101,222,102,212,106,223,106,29,112,4,114,161,114,197,116,7,136,151,158,234,106,15,114,209,116,170,118,237,118,203,119,42,121,43,121,178,121,246,133,167,52,55,81,103,118,48,121,242,124,35,136,43,136,197,157,156,158,199,86,38,101,94,216,157,220,251,137,146,142,98,143,72,145,16,107,136,139,96,216,155,222,99,143,45,101,229,116,66,151,102,216,195,221,113,156,115,156,75,151,60,0,42,0,3,104,170,106,207,155,60,0,42,0,233,79,6,80,60,0,42,0,167,84,60,0,42,0,23,82,163,82,189,81,189,82,220,57,244,89,18,99,12,109,247,84,210,87,211,87,32,57,94,59,53,104,86,109,200,112,34,131,254,143,105,99,105,59,14,115,31,129,218,134,194,136,109,113,89,119,87,128,148,141,228,93,178,152,32,81,164,155,55,157,248,100,117,115,163,114,144,142,27,155,47,59,35,155,114,156,60,0,42,0,223,107,24,99,238,112,31,115,60,0,42,0,169,100,125,142,60,0,42,0,189,143,151,117,74,128,218,80,229,91,122,93,128,97,59,111,139,129,57,86,253,90,238,91,154,93,155,93,121,101,96,115,45,127,184,102,206,113,153,116,171,129,124,144,115,61,66,118,105,158,106,92,235,94,29,124,90,126,223,135,66,140,255,140,88,142,16,148,212,133,201,152,206,154,239,157,60,0,42,0,254,83,38,65,140,148,213,145,29,145,173,97,252,132,173,119,226,102,125,149,18,114,60,0,42,0,37,92,38,92,147,112,153,101,30,92,214,94,130,100,183,122,99,149,60,0,42,0,14,114,60,0,42,0,156,110,152,113,83,142,60,0,42,0,24,82,160,108,68,117,65,109,79,109,9,116,89,117,200,101,113,117,107,120,215,136,99,216,231,222,185,90,103,93,210,101,197,132,143,153,157,154,180,105,96,116,165,132,91,144,215,152,137,82,108,116,36,118,194,120,79,149,224,153,96,158,74,106,162,116,129,117,96,149,69,118,201,135,101,216,233,221,245,153,160,86,240,97,15,112,143,147,166,147,141,158,240,133,208,147,192,152,46,154,197,152,33,156,185,157,81,154,60,0,42,0,213,57,243,103,1,104,203,115,122,104,250,126,13,149,90,146,249,152,185,125,174,113,118,127,246,146,110,106,60,91,128,127,60,0,42,0,109,81,66,117,207,127,111,88,199,94,145,111,223,120,104,158,36,151,62,153,225,150,2,148,194,152,56,155,218,157,60,0,42,0,94,104,60,0,42,0,65,89,24,94,28,96,222,143,159,109,191,104,178,131,122,70,35,144,84,128,183,78,201,94,147,110,50,83,249,85,105,89,105,97,35,111,145,113,226,136,157,137,134,82,51,83,82,86,254,90,144,97,228,105,207,120,107,128,238,132,162,156,194,111,211,111,110,128,138,135,235,113,58,126,244,127,111,128,193,129,149,133,51,137,48,139,101,142,140,147,112,149,227,106,62,124,10,136,17,155,101,73,46,148,49,156,98,124,104,124,60,0,42,0,91,101,15,116,56,129,227,136,89,100,137,116,57,133,26,91,130,101,236,59,201,129,59,145,183,127,93,137,30,134,60,0,42,0,195,126,188,112,75,96,112,109,147,107,28,88,3,55,161,90,104,60,69,110,254,148,198,80,93,105,73,113,83,116,48,132,75,111,244,125,176,111,44,147,174,107,74,147,200,147,145,61,50,112,10,156,29,134,0,98,59,55,158,126,60,0,42,0,104,128,60,0,42,0,206,98,60,0,42,0,184,83,151,103,187,144,52,78,167,81,221,119,73,85,10,93,203,109,125,102,51,116,166,124,243,117,132,120,150,123,188,124,153,93,126,111,92,115,48,145,163,150,180,101,189,102,208,113,152,116,154,143,116,144,22,151,181,119,247,120,232,129,87,126,247,127,144,158,84,143,227,88,54,112,251,147,222,156,78,154,87,156,159,158,60,0,42,0,45,52,6,58,251,131,131,78,219,81,220,81,155,100,233,94,234,94,205,97,212,97,159,111,129,106,169,106,91,118,93,118,60,0,42,0,29,84,97,96,139,96,65,141,27,113,195,140,239,80,58,133,73,106,166,129,181,149,16,117,132,117,120,142,250,133,143,142,153,142,170,142,101,143,60,0,42,0,111,130,205,79,201,81,129,104,188,109,11,105,140,143,174,124,177,124,154,88,161,125,9,142,17,106,44,143,231,124,60,0,42,0,33,78,36,78,179,52,105,81,33,85,98,85,154,99,60,129,201,125,61,135,242,136,73,155,78,155,60,0,42,0,174,78,244,84,162,96,5,140,134,143,168,85,126,102,120,110,207,145,12,143,210,138,27,143,68,147,60,0,42,0,119,113,23,124,60,0,42,0,7,48,54,79,34,82,117,112,249,86,125,87,12,89,200,89,186,92,126,95,224,108,209,114,36,102,14,103,195,103,178,115,211,130,204,81,244,116,138,118,49,120,226,121,219,122,195,148,48,158,72,90,149,99,194,104,233,109,12,116,45,123,55,125,235,126,69,67,154,127,206,127,70,128,50,130,201,134,81,136,117,150,241,131,69,138,201,141,232,142,126,121,52,146,157,149,246,150,132,159,10,66,190,125,236,136,6,133,10,151,214,153,170,111,2,147,127,155,174,156,18,157,119,158,33,59,239,113,65,66,22,69,118,133,27,151,29,151,98,159,234,155,65,91,67,145,97,159,250,106,38,134,189,145,72,151,76,216,31,223,30,107,39,114,82,216,233,222,162,158,133,69,151,159,60,0,42,0,173,92,62,150,138,136,134,152,24,152,186,93,60,0,42,0,228,78,230,83,100,84,169,112,60,0,42,0,228,132,23,151,46,112,60,0,42,0,92,86,184,100,60,0,42,0,98,83,144,94,134,87,248,108,137,112,166,130,84,59,12,104,234,128,115,143,44,158,136,115,59,130,133,152,136,156,114,155,231,118,167,86,218,88,32,56,236,94,14,101,218,106,24,112,121,115,183,116,229,102,232,106,16,114,208,116,218,129,6,134,209,119,90,124,145,126,79,127,107,130,38,136,100,143,106,148,113,152,215,154,120,156,21,158,248,158,60,0,42,0,100,83,79,134,179,99,117,158,117,120,129,156,92,134,119,88,247,110,16,106,155,111,254,132,111,155,196,100,121,106,224,120,101,149,149,86,252,100,2,112,211,106,12,108,99,130,192,147,106,130,42,148,101,148,60,0,42,0,37,87,42,117,147,79,116,87,84,95,85,95,70,150,205,92,206,82,66,141,130,143,61,90,213,109,229,109,12,110,73,120,120,150,127,158,144,58,2,105,45,116,132,121,2,68,201,131,47,144,199,80,121,82,224,82,221,118,105,119,140,120,127,121,17,122,194,140,239,141,118,88,216,94,93,100,9,111,147,123,182,124,68,216,20,220,46,98,26,106,157,113,148,129,13,133,238,137,162,141,27,142,152,143,129,145,221,59,94,111,75,122,4,147,50,147,52,147,144,116,15,124,87,133,176,135,87,142,70,143,4,154,102,216,241,220,109,158,44,124,54,124,213,147,229,155,102,157,113,157,147,158,244,147,50,151,60,154,89,124,250,157,66,134,60,0,42,0,166,103,46,130,41,146,7,108,60,0,42,0,87,127,112,85,49,152,201,86,60,0,42,0,86,127,33,115,54,129,36,105,29,132,153,137,59,144,97,129,35,149,169,123,161,154,89,149,186,135,133,127,182,137,205,147,56,81,188,137,62,154,70,216,34,221,30,101,128,115,15,107,90,216,199,220,63,134,143,144,88,154,1,158,110,124,124,148,96,153,60,0,42,0,70,82,46,80,207,132,248,136,182,142,48,118,97,58,1,60,3,136,221,129,234,102,115,118,60,0,42,0,250,108,200,92,27,109,220,126,134,154,28,109,222,115,102,131,102,120,63,123,97,125,224,85,61,132,94,100,47,111,150,114,123,146,210,150,241,153,165,155,60,157,69,157,252,111,93,216,204,223,153,126,60,0,42,0,8,90,106,91,230,92,27,99,62,104,62,158,20,129,230,110,174,146,73,157,29,87,113,89,76,91,127,91,210,93,35,101,235,102,18,107,83,112,137,127,224,129,30,87,100,112,74,134,126,148,116,118,117,118,30,158,60,0,42,0,117,83,60,0,42,0,113,78,224,145,130,78,60,0,42,0,161,98,132,99,60,0,42,0,209,78,38,79,245,86,166,108,182,126,150,79,110,143,43,80,7,87,104,90,24,93,25,93,192,96,234,109,111,150,198,104,205,61,64,129,213,131,1,66,184,125,38,135,26,142,42,143,0,147,233,155,60,0,42,0,232,87,150,120,16,122,35,128,60,0,42,0,186,139,163,110,214,138,60,0,42,0,238,120,60,0,42,0,153,159,120,92,153,84,247,108,61,102,10,104,209,115,231,128,15,131,44,119,59,120,220,122,60,123,75,128,112,110,134,150,221,110,67,216,144,223,144,93,11,111,99,56,237,123,111,133,141,159,67,118,191,122,168,86,195,93,196,93,39,112,60,124,231,147,232,102,39,103,13,60,243,106,22,114,207,116,34,134,51,151,211,119,49,121,50,121,146,159,96,124,126,128,42,136,44,136,113,137,69,140,152,142,104,148,71,151,190,75,97,154,23,158,60,0,42,0,132,87,133,87,226,98,71,150,51,61,226,123,49,81,223,88,224,88,15,101,180,150,201,122,147,159,60,0,42,0,226,84,53,99,135,104,191,95,26,141,60,0,42,0,222,105,60,0,42,0,116,154,254,149,216,144,136,105,191,153,0,108,162,129,173,149,216,133,220,157,98,154,60,0,42,0,21,84,66,84,163,79,182,79,20,99,206,54,75,99,91,99,197,101,90,59,160,104,99,121,6,122,221,148,97,92,21,127,125,125,98,92,130,129,101,92,27,137,193,146,144,129,34,81,94,122,55,126,56,137,109,122,60,0,42,0,253,91,143,87,139,95,81,134,135,115,255,126,67,216,200,221,66,93,47,108,228,110,78,132,160,125,209,125,110,97,187,123,159,129,244,82,66,126,254,111,214,106,8,114,98,148,60,0,42,0,18,113,60,0,42,0,103,117,10,149,36,122,0,53,25,87,60,58,221,146,226,146,253,100,60,0,39,0,208,253,39,0,13,49,60,0,42,0,238,101,119,84,14,86,32,86,60,0,42,0,134,148,28,92,118,86,55,147,60,0,42,0,21,92,141,115,60,0,42,0,44,92,64,155,60,0,42,0,8,98,225,78,42,87,181,114,165,126,66,216,235,223,19,98,144,128,107,114,153,117,175,84,113,114,229,84,243,128,61,158,114,82,1,100,188,136,67,216,157,222,210,110,40,98,76,107,103,216,183,223,16,157,26,157,241,100,12,139,63,157,182,147,60,0,42,0,68,84,55,56,110,79,12,83,12,99,1,150,105,151,75,101,88,59,60,104,22,131,50,155,5,97,245,129,210,134,221,85,101,88,198,110,91,132,211,136,225,137,148,150,63,100,197,105,136,129,163,149,164,149,19,66,73,149,136,151,208,151,102,115,253,138,53,143,188,154,175,155,218,151,183,151,20,154,1,70,85,143,60,0,42,0,255,84,56,130,60,0,42,0,42,78,4,84,124,134,11,80,76,120,236,148,240,85,135,123,60,0,42,0,65,95,202,106,60,0,42,0,133,79,229,139,147,87,223,89,208,92,194,144,84,150,80,102,68,131,69,141,97,117,116,121,111,125,114,138,101,140,197,140,60,0,42,0,203,95,57,101,96,125,60,0,42,0,16,78,98,78,3,83,4,83,35,150,90,103,153,148,214,118,97,100,137,110,35,146,36,98,130,105,98,132,204,140,145,150,17,111,203,132,98,53,233,105,234,105,194,116,60,0,42,0,217,126,102,125,60,0,42,0,139,118,148,127,153,127,216,154,144,118,90,216,14,221,217,154,239,129,220,110,212,105,126,119,143,129,249,105,112,106,217,123,213,124,59,153,220,106,223,151,206,157,27,159,241,157,60,0,42,0,48,89,114,103,210,131,30,100,31,127,160,102,192,105,193,105,70,61,62,122,63,122,80,149,30,126,186,106,193,133,243,133,60,0,42,0,63,84,74,84,194,82,221,83,240,139,220,144,110,121,112,121,6,149,112,113,118,123,165,138,158,121,239,146,60,0,42,0,254,82,93,79,159,108,169,148,167,136,17,127,14,146,157,110,100,146,241,125,221,123,32,137,178,151,221,151,60,0,42,0,163,92,215,114,182,130,184,103,189,115,7,128,223,130,49,123,8,128,9,128,188,134,127,140,60,0,42,0,120,87,132,103,223,139,45,141,162,87,228,89,147,81,41,131,31,89,32,89,61,138,190,90,64,95,6,100,108,138,202,150,203,105,121,113,207,137,88,144,128,100,175,137,252,140,60,0,42,0,24,117,211,95,60,101,70,103,165,61,149,115,157,128,137,130,192,143,105,87,212,108,248,119,121,78,209,103,255,122,247,130,179,117,80,145,126,78,147,124,129,78,242,81,50,92,52,92,120,123,39,111,241,156,54,92,55,92,80,155,60,0,42,0,224,78,94,98,175,118,198,121,102,136,118,141,127,104,52,123,98,101,8,122,31,97,149,141,137,111,192,100,68,106,51,124,20,156,225,156,100,156,60,0,42,0,114,94,240,101,117,108,240,118,192,126,29,80,206,81,230,109,58,125,76,138,121,94,173,154,166,105,138,106,17,141,99,141,27,141,104,112,60,0,42,0,57,104,223,141,60,0,42,0,207,84,60,0,42,0,110,130,60,0,42,0,152,78,153,78,27,131,239,99,60,0,42,0,136,81,83,127,174,81,26,82,96,103,178,126,155,128,161,92,78,59,104,114,152,117,252,119,56,127,162,148,91,82,97,127,8,88,134,99,237,145,225,104,133,114,61,88,177,125,65,127,252,146,160,147,60,0,42,0,151,92,88,63,23,93,47,110,60,0,42,0,53,113,123,123,211,105,5,98,6,98,60,0,42,0,47,82,154,94,74,117,109,109,116,62,21,128,4,100,63,113,90,125,238,131,83,141,82,158,234,125,6,126,174,127,225,140,185,127,138,157,60,0,42,0,253,84,194,87,250,92,45,99,224,126,63,128,224,144,76,216,179,221,151,104,132,131,152,63,134,125,4,67,160,156,190,154,193,155,60,0,42,0,244,102,41,88,133,102,77,76,109,76,60,0,42,0,182,99,41,105,60,0,42,0,48,79,113,84,149,84,209,89,100,91,189,108,210,108,231,103,253,130,113,143,2,85,91,127,42,158,31,123,196,134,199,131,240,131,218,137,241,142,242,142,156,143,100,145,50,146,141,123,155,123,244,90,109,106,59,68,149,155,35,157,60,0,42,0,187,157,60,0,42,0,3,89,228,83,98,98,105,108,194,139,55,140,161,128,111,114,227,46,3,85,38,64,95,127,150,127,180,148,168,154,82,85,200,109,53,129,202,134,204,134,65,138,68,158,51,92,50,97,194,107,55,146,137,153,19,159,20,159,15,86,150,105,190,105,183,118,199,132,64,122,88,158,211,124,14,126,242,111,188,118,204,129,163,133,66,143,20,112,236,118,189,119,54,153,156,77,49,136,60,0,42,0,250,86,69,101,197,81,126,152,12,88,19,93,46,93,143,104,127,114,221,104,199,150,252,117,123,121,18,122,34,149,241,80,46,147,180,156,221,155,103,152,60,0,42,0,224,92,39,144,166,80,208,123,60,0,42,0,220,116,46,82,205,128,29,104,67,216,111,221,57,158,82,128,183,68,68,107,113,113,143,141,128,82,250,125,189,146,179,152,59,142,48,157,39,154,60,0,42,0,231,83,142,81,80,82,110,82,225,91,17,66,60,0,42,0,102,83,108,87,214,139,2,99,105,85,155,99,99,127,83,125,107,127,127,138,2,137,60,0,42,0,170,152,60,0,42,0,89,84,188,84,218,87,111,85,30,93,237,144,29,88,27,146,5,149,19,86,142,88,17,118,72,135,73,95,251,53,196,111,200,135,75,147,77,95,60,0,42,0,239,86,246,86,251,86,253,86,0,87,11,87,60,94,88,129,87,94,86,97,13,111,93,128,149,129,46,133,98,134,152,153,95,216,18,220,144,65,60,0,42,0,156,103,200,96,201,109,19,115,131,153,1,105,211,131,191,124,182,125,62,135,249,136,232,105,32,143,1,147,28,153,57,148,60,0,42,0,199,143,78,144,60,0,42,0,86,78,180,99,81,100,60,0,42,0,208,98,180,103,250,103,92,216,133,222,137,123,60,0,42,0,44,89,207,83,42,96,212,57,96,96,60,0,42,0,82,95,45,87,171,89,159,159,196,137,136,118,189,144,250,149,48,94,234,115,255,128,37,131,128,78,69,120,69,65,144,122,143,137,128,80,175,90,29,105,191,136,198,94,204,144,226,90,107,100,112,116,168,149,145,156,0,91,251,105,252,105,157,116,173,129,157,135,156,159,173,155,194,93,120,107,54,155,204,116,41,154,57,155,247,106,60,0,42,0,132,91,63,108,57,103,104,143,139,94,121,79,38,83,225,139,67,216,83,220,157,87,253,89,81,96,49,101,120,118,204,142,82,150,170,94,60,155,45,83,106,121,119,102,64,110,111,67,235,134,51,53,228,137,109,138,172,83,51,58,37,73,225,135,161,119,11,124,60,0,42,0,48,101,61,82,63,82,11,102,148,112,220,103,53,141,136,58,66,104,103,104,34,105,36,115,64,123,180,140,234,141,49,83,213,132,138,82,140,82,161,93,140,100,246,105,16,66,52,68,156,106,182,119,2,124,195,106,80,118,172,121,88,137,220,156,188,151,86,156,101,156,60,0,42,0,115,81,194,137,152,91,160,81,140,137,12,80,67,216,40,221,250,104,164,122,132,132,162,149,29,118,79,118,179,137,215,149,207,156,220,149,37,156,94,156,192,137,60,0,42,0,158,131,134,153,47,116,239,117,102,123,161,123,40,143,24,130,39,147,40,153,228,156,60,0,42,0,204,107,49,78,47,141,244,108,186,96,239,96,188,99,171,109,171,140,185,96,38,61,161,59,124,121,99,97,92,100,69,111,12,106,102,144,229,118,70,127,91,70,218,150,198,147,76,112,31,114,216,116,115,158,212,119,54,121,80,127,117,148,121,156,27,158,60,0,42,0,40,78,64,216,204,220,110,136,195,96,242,126,158,136,172,136,138,143,218,110,254,110,196,125,216,132,217,120,9,133,37,143,167,156,85,216,102,221,140,155,192,155,60,0,42,0,205,104,84,119,101,54,116,119,173,116,52,139,60,0,42,0,73,81,110,112,138,79,151,112,154,112,155,112,163,84,153,87,239,89,56,109,68,104,225,112,241,128,42,131,4,143,217,80,167,146,198,158,102,216,201,221,60,0,42,0,127,94,131,94,183,114,227,94,233,129,119,115,104,216,245,221,60,0,42,0,199,79,214,115,27,144,230,129,151,100,101,216,72,220,60,0,42,0,31,107,60,0,42,0,229,93,19,95,108,81,183,83,159,82,59,101,91,103,155,79,156,115,252,124,177,128,171,91,174,91,109,96,163,134,172,142,154,159,17,83,104,88,74,94,41,97,229,137,149,113,179,142,189,120,248,154,205,76,245,137,143,159,148,159,60,0,42,0,254,94,233,93,94,108,241,98,236,57,242,98,95,59,49,104,217,115,38,63,1,143,219,146,143,151,75,76,60,0,42,0,113,81,33,141,190,127,29,85,162,140,187,131,54,53,60,0,42,0,80,97,60,0,39,0,208,253,39,0,14,49,60,0,42,0,148,84,150,84,128,85,73,136,214,100,60,0,42,0,97,83,103,79,233,128,114,146,60,0,42,0,176,87,195,136,60,0,42,0,60,83,47,62,72,216,8,222,239,103,65,114,194,115,209,121,226,128,219,130,114,143,180,117,34,120,183,141,245,104,251,142,143,152,209,85,21,100,144,114,30,122,160,122,42,132,51,146,188,105,38,68,151,152,22,106,140,119,213,120,0,67,76,135,18,147,150,133,152,145,70,152,193,154,26,121,60,0,42,0,243,88,226,99,188,107,215,127,60,0,42,0,239,83,119,87,185,55,162,92,188,58,163,112,7,110,81,93,100,101,52,110,177,93,13,121,60,0,42,0,75,81,59,82,75,82,192,82,202,82,162,91,106,96,67,216,237,220,20,90,5,92,254,139,67,216,178,221,1,88,42,108,146,154,2,127,25,97,152,110,30,149,166,120,217,125,80,130,178,138,10,121,13,154,104,216,237,220,60,0,42,0,89,93,60,0,42,0,0,95,82,89,233,99,14,149,139,149,36,73,38,148,60,0,42,0,239,81,64,82,178,87,122,96,255,149,224,148,241,81,116,82,104,97,79,88,102,93,55,97,119,105,136,132,6,143,5,86,159,102,52,149,87,64,71,147,167,147,211,149,189,152,60,0,42,0,254,95,140,112,143,112,44,107,215,112,211,82,18,97,62,97,142,147,60,0,42,0,59,92,219,154,60,0,42,0,2,78,55,101,3,128,247,98,24,109,50,104,228,112,1,122,147,156,250,113,60,0,42,0,208,148,146,114,172,146,96,151,179,155,204,155,60,0,42,0,160,98,90,216,5,223,164,130,13,119,126,82,68,95,115,100,152,119,113,64,60,0,42,0,227,83,81,216,24,222,182,82,60,0,42,0,233,83,99,98,66,101,166,81,188,91,199,91,47,60,230,145,155,122,88,123,241,110,137,119,50,133,59,133,6,124,199,157,60,0,42,0,10,82,30,104,216,82,155,159,42,88,65,93,33,98,149,159,60,0,42,0,154,81,78,87,131,79,13,120,88,80,243,87,194,96,176,131,63,107,106,88,65,107,219,105,33,143,187,106,81,152,247,122,87,143,60,0,42,0,11,119,78,136,1,93,136,88,225,120,176,119,222,149,217,119,60,0,42,0,142,128,175,128,187,128,166,87,115,96,67,85,100,140,136,159,190,88,57,147,199,97,102,159,60,0,42,0,175,99,201,136,3,137,60,0,42,0,252,95,246,149,10,120,135,124,183,94,69,216,19,220,221,90,123,93,119,97,46,111,250,105,69,122,178,65,224,124,191,142,238,147,71,156,60,0,42,0,91,98,67,100,60,0,42,0,73,72,60,0,42,0,162,78,9,79,31,83,229,86,151,98,186,114,159,144,149,112,170,148,39,146,140,149,60,0,42,0,165,82,45,84,81,87,148,89,44,150,51,99,65,120,124,114,92,120,255,148,123,120,124,100,153,138,181,146,216,64,94,147,215,147,60,0,42,0,93,98,51,82,251,119,175,103,208,128,192,144,237,84,77,104,0,88,43,93,196,53,16,87,205,141,159,122,183,154,90,216,70,220,172,155,60,0,42,0,220,114,230,130,60,0,42,0,56,56,147,94,200,79,212,126,171,94,217,121,182,141,5,113,190,85,93,125,180,136,228,136,20,118,119,145,228,94,50,137,179,86,60,0,42,0,56,89,241,89,135,138,60,0,42,0,137,79,181,84,174,87,153,146,60,0,42,0,4,52,14,99,239,128,232,141,187,154,60,0,42,0,63,130,60,0,42,0,105,98,225,98,236,98,4,99,112,104,72,123,222,134,20,150,63,132,64,132,211,94,34,152,250,154,246,111,202,149,159,151,214,97,244,100,41,151,185,151,32,155,60,0,42,0,213,151,60,0,42,0,223,57,175,132,211,100,60,0,42,0,220,93,247,81,87,87,235,95,169,79,217,84,239,114,208,144,13,129,74,88,110,60,119,123,153,156,8,81,164,88,114,86,229,94,106,115,54,145,190,129,221,101,233,124,96,156,60,0,42,0,38,87,60,0,42,0,143,78,50,82,191,92,157,96,212,118,165,122,103,128,186,122,103,134,218,149,93,152,203,93,44,134,60,0,42,0,78,89,70,102,4,152,151,153,185,85,198,99,175,69,53,144,8,145,153,154,35,98,140,102,79,105,81,105,117,132,151,150,125,119,65,155,112,135,6,73,47,152,122,54,104,147,119,147,198,106,200,133,36,154,20,89,55,134,65,134,217,93,104,216,180,221,170,114,168,142,60,0,42,0,67,113,236,141,13,152,94,142,60,0,42,0,47,92,46,83,51,107,159,85,38,97,131,110,67,129,136,153,191,90,39,97,137,132,134,119,51,86,7,91,146,97,112,111,209,123,105,128,70,70,59,106,109,128,98,133,9,139,35,124,117,128,61,153,68,124,0,148,75,153,78,148,14,76,60,0,42,0,189,91,219,91,236,91,215,129,203,154,214,154,60,0,42,0,53,107,62,107,64,107,190,122,64,69,60,0,42,0,189,122,103,148,60,0,42,0,100,87,6,102,3,88,107,90,16,93,17,93,92,102,17,115,28,113,40,116,206,131,200,136,224,154,135,140,31,149,225,154,77,158,43,135,233,136,232,154,123,116,12,137,140,145,21,147,178,156,9,154,228,155,126,157,164,157,60,0,42,0,131,96,70,99,3,150,248,88,177,104,113,120,117,121,7,122,252,88,27,122,145,125,205,136,171,149,184,149,107,159,60,0,42,0,240,86,131,109,251,58,79,119,60,0,42,0,18,88,33,92,73,111,180,113,60,0,42,0,33,83,76,52,187,82,211,139,41,83,208,84,71,96,45,109,188,144,70,104,68,120,80,123,176,68,134,138,237,142,60,0,42,0,249,95,130,98,194,114,243,139,214,142,145,138,95,157,60,0,42,0,60,89,35,81,237,97,60,0,42,0,93,83,57,87,169,126,157,144,181,81,247,101,178,92,193,108,255,119,63,102,54,141,22,119,54,119,86,125,186,140,230,142,113,146,217,88,128,142,58,145,203,158,236,97,224,102,12,114,204,119,38,121,108,122,138,126,91,148,60,0,42,0,63,120,75,125,122,123,60,0,42,0,122,122,154,54,37,80,234,87,6,93,190,96,179,109,127,120,156,123,19,147,124,157,60,0,42,0,84,91,76,216,250,223,80,96,60,0,42,0,167,99,88,216,72,220,154,151,60,0,42,0,187,142,60,0,39,0,208,253,39,0,15,49,60,0,42,0,119,86,60,0,42,0,200,84,234,148,60,0,42,0,228,134,60,0,42,0,100,89,60,0,42,0,55,78,60,0,42,0,195,139,178,98,49,107,157,85,54,138,236,85,26,136,60,0,42,0,190,121,8,84,85,79,190,82,146,83,138,84,140,84,192,89,179,108,198,92,131,58,247,102,199,103,226,114,199,118,122,124,7,125,195,144,2,150,120,153,236,84,137,58,70,101,56,104,201,118,205,118,93,85,113,59,184,109,210,118,244,121,119,131,181,134,129,159,210,96,46,110,207,131,2,132,56,138,140,152,65,105,252,107,101,138,136,140,166,71,5,143,76,146,22,150,132,156,97,53,134,113,86,158,167,158,149,111,229,63,28,152,213,123,238,127,155,135,122,155,9,121,212,149,168,151,85,159,136,137,161,157,172,118,73,148,162,159,60,0,42,0,107,79,142,87,58,141,3,113,148,136,192,140,195,85,66,113,139,120,135,113,107,141,81,61,16,137,100,158,30,59,82,122,239,127,209,88,75,118,30,139,0,114,174,157,180,157,78,151,22,158,79,151,60,0,42,0,173,124,77,151,60,0,42,0,141,84,179,84,232,85,60,0,42,0,216,143,105,91,38,152,184,154,132,144,60,0,42,0,119,109,242,128,248,112,124,145,162,145,60,0,42,0,165,78,142,89,225,57,135,154,179,91,38,108,208,85,0,153,237,153,90,216,38,221,90,153,60,0,42,0,112,88,161,86,60,0,42,0,210,158,209,158,63,86,118,111,98,216,70,223,60,0,42,0,32,131,191,132,134,86,133,133,167,133,60,0,42,0,220,107,157,134,235,107,3,105,229,85,70,115,137,140,81,86,84,115,106,140,101,216,184,221,55,86,20,59,75,115,213,138,43,81,142,86,213,88,25,56,224,111,71,124,20,136,121,139,60,0,42,0,125,89,221,144,60,0,42,0,247,83,170,54,64,55,10,102,38,102,207,121,224,84,252,92,79,96,142,96,105,109,23,128,103,102,54,59,207,109,144,80,147,118,200,110,85,128,95,134,23,145,164,102,173,102,148,111,156,118,158,118,205,102,161,118,165,118,131,133,172,147,162,152,79,112,101,152,29,156,93,112,60,0,42,0,211,122,60,0,42,0,65,159,60,0,42,0,175,79,39,57,230,119,137,85,63,94,52,115,7,145,11,59,84,132,10,118,122,119,204,123,199,124,237,127,186,154,245,127,109,147,49,153,248,155,60,0,42,0,60,84,188,114,60,0,42,0,14,84,154,83,149,87,140,95,9,109,200,144,25,80,5,144,32,88,94,140,142,156,152,156,156,155,95,156,60,0,42,0,68,79,182,112,120,152,55,57,182,134,99,145,7,152,232,90,61,140,168,97,160,153,91,107,62,159,60,0,42,0,151,144,43,84,253,81,129,84,163,128,175,144,254,81,119,134,5,85,5,87,34,90,91,109,33,93,87,102,146,104,181,109,19,113,0,116,210,91,69,93,128,59,233,151,29,117,104,123,4,66,44,135,143,111,225,146,125,155,211,151,60,0,42,0,6,78,136,83,85,127,107,109,138,85,26,150,10,133,1,62,67,140,43,155,26,54,60,0,42,0,73,108,125,92,87,108,236,149,241,101,190,92,251,84,190,87,141,96,77,99,134,109,2,115,139,58,88,102,101,102,10,113,159,131,236,145,136,149,148,118,69,119,225,131,188,80,255,134,148,152,175,153,34,111,45,135,139,140,150,100,181,102,175,113,178,146,206,146,190,97,188,100,83,216,201,220,240,127,146,135,55,152,68,152,251,153,215,150,26,112,64,139,43,134,190,157,60,0,42,0,111,81,51,114,60,0,42,0,235,98,213,117,142,151,60,0,42,0,119,79,136,95,224,114,106,138,60,0,42,0,104,96,60,0,42,0,47,89,32,60,60,0,42,0,187,101,109,103,192,130,210,143,215,126,233,115,16,123,42,130,162,134,21,70,131,152,165,140,85,123,78,125,15,152,96,216,72,220,103,155,60,0,42,0,134,108,60,0,42,0,179,87,60,0,42,0,168,78,252,84,153,96,72,85,29,129,60,0,42,0,48,53,238,89,70,96,82,96,65,104,198,112,251,128,59,158,42,106,107,106,97,136,52,157,5,134,69,148,60,0,42,0,60,88,60,0,42,0,165,109,70,157,60,0,42,0,78,78,111,78,34,83,77,134,124,84,128,87,253,95,18,102,246,102,216,108,87,96,192,112,248,130,119,143,43,83,63,85,218,96,254,57,244,109,86,134,228,142,17,86,227,91,249,110,228,68,208,150,96,94,47,98,81,107,94,216,83,222,180,129,60,139,60,0,42,0,235,86,135,98,39,95,208,114,225,128,246,88,243,116,186,150,67,216,49,221,247,88,155,101,0,113,197,53,150,85,250,88,169,90,86,110,34,115,87,125,48,100,92,105,115,113,90,116,107,132,29,86,80,216,13,223,85,158,242,105,182,123,202,124,27,133,116,135,90,136,113,155,32,126,156,135,144,145,54,152,243,137,120,147,44,153,76,75,96,157,43,112,13,155,23,156,152,157,166,157,60,0,42,0,85,78,123,108,78,134,82,109,255,79,44,85,37,116,0,132,93,134,248,110,60,0,42,0,101,78,146,78,22,95,54,98,55,98,56,98,38,62,177,81,180,81,13,94,164,98,141,108,170,108,144,130,181,92,25,96,61,98,8,102,145,103,24,96,92,121,15,123,95,90,72,98,224,116,192,85,91,105,148,125,253,150,237,90,238,90,98,100,236,110,32,145,244,105,169,113,48,133,248,156,4,124,89,147,155,86,113,158,119,139,224,156,196,151,0,152,111,156,12,158,60,0,42,0,144,124,63,147,241,155,60,0,42,0,177,130,178,130,215,84,41,86,138,132,53,147,60,0,42,0,78,83,114,53,73,59,225,89,133,154,234,145,235,145,231,148,239,131,51,100,209,110,62,115,15,56,138,57,182,100,198,120,216,146,80,133,150,135,65,139,245,147,74,154,232,157,60,0,42,0,22,83,18,82,102,53,59,89,119,53,121,103,59,117,221,139,102,104,115,90,11,93,107,117,117,117,223,137,113,138,131,82,102,100,255,90,5,91,236,105,133,111,58,106,227,138,99,126,25,130,202,158,110,139,60,0,42,0,214,87,114,90,27,105,116,120,192,124,174,138,141,116,60,0,42,0,25,84,104,82,32,128,42,149,144,82,67,147,132,86,65,140,9,101,30,154,60,0,42,0,120,79,59,109,238,121,243,121,60,0,42,0,107,112,25,79,169,144,172,148,37,146,37,89,55,111,60,0,42,0,142,108,22,98,39,141,159,84,9,120,0,65,240,79,71,99,19,119,132,149,67,216,126,221,157,99,183,131,168,140,209,96,113,110,120,121,228,101,71,105,47,58,141,121,166,132,242,53,111,89,13,151,233,111,114,115,11,139,180,106,108,149,175,86,22,112,198,119,107,122,91,76,228,102,47,128,219,129,103,130,255,133,22,136,191,86,104,118,208,119,74,148,67,151,60,0,42,0,0,96,138,95,238,109,208,105,29,142,208,97,34,137,49,137,51,55,34,56,247,97,36,112,240,106,50,128,57,134,60,0,42,0,79,87,182,84,217,138,202,88,222,88,62,134,60,0,42,0,112,112,209,57,217,139,180,84,98,96,251,98,37,99,3,109,122,134,86,102,227,112,242,115,134,136,87,140,78,90,69,86,136,90,238,99,199,61,218,127,137,143,137,102,78,105,71,113,124,138,147,150,81,94,115,119,136,121,157,100,85,86,236,127,24,137,29,143,190,158,189,95,8,112,179,150,51,134,52,156,60,0,42,0,216,86,222,86,236,86,106,79,251,94,91,96,4,109,253,94,224,112,52,131,152,134,244,143,208,117,37,144,212,134,213,134,22,135,176,155,60,0,42,0,148,96,192,107,193,107,89,216,153,223,199,107,147,106,236,113,109,139,60,0,42,0,73,83,71,108,26,79,179,139,203,108,213,84,69,216,38,223,77,109,216,126,148,130,242,139,90,96,117,96,233,112,95,131,63,141,87,95,102,102,253,121,153,85,224,96,79,110,117,125,11,127,217,127,19,150,47,83,89,95,90,95,99,57,3,103,217,110,111,138,196,140,146,152,225,80,18,86,57,58,168,138,26,87,237,91,103,97,147,97,179,102,229,105,83,111,35,118,39,133,229,73,102,86,18,91,187,95,94,106,168,107,174,111,202,111,105,115,89,133,241,138,46,152,244,113,175,116,242,123,136,133,137,133,47,153,150,86,186,119,98,122,98,126,234,135,41,59,216,106,106,126,253,127,241,133,83,139,54,81,248,147,224,149,72,91,44,148,103,151,127,139,106,152,60,0,42,0,119,92,115,112,164,116,243,97,60,0,42,0,34,107,191,114,83,107,5,157,85,62,77,157,190,86,253,97,126,115,68,145,97,107,153,139,155,140,105,154,60,0,42,0,175,115,216,92,57,109,223,114,199,144,83,104,65,131,207,91,89,125,8,132,17,132,200,150,132,125,166,127,134,140,110,146,62,149,28,87,27,91,240,91,180,111,51,127,161,73,27,150,176,116,114,140,112,147,110,149,110,158,235,124,111,126,88,143,54,148,228,149,31,155,219,116,9,77,60,0,42,0,19,127,32,66,233,125,12,101,60,0,42,0,123,94,66,89,146,128,80,89,166,91,36,85,98,99,99,109,163,109,201,112,163,96,153,104,21,113,154,85,155,85,72,93,12,97,219,99,25,110,234,117,70,119,45,144,7,59,10,59,101,113,77,116,98,140,54,111,19,118,245,105,169,156,208,100,163,111,199,155,231,133,0,156,60,0,42,0,163,119,60,0,42,0,15,102,44,102,100,131,90,90,219,96,189,109,13,150,212,104,153,107,103,119,119,132,111,119,189,149,60,0,42,0,246,95,81,109,161,104,132,153,26,88,62,110,63,116,66,155,27,153,73,126,75,143,157,75,50,159,60,0,42,0,246,155,60,0,42,0,232,139,210,79,49,80,2,87,141,99,247,109,29,113,183,110,65,97,232,137,226,138,60,0,42,0,223,93,53,56,147,128,65,136,82,131,26,103,67,88,76,97,59,59,60,0,42,0,135,118,95,80,240,81,164,85,45,88,147,90,50,93,168,95,246,96,95,110,141,150,195,158,196,158,123,105,76,113,93,116,95,132,81,144,61,149,180,88,98,111,90,115,193,123,202,123,78,130,87,135,191,113,156,116,251,138,64,118,250,120,127,65,84,122,96,147,45,153,199,156,39,124,229,135,249,151,170,141,28,154,4,148,9,156,100,81,81,156,236,157,60,0,42,0,51,96,77,96,190,112,186,91,67,102,68,102,91,89,14,140,76,94,100,138,128,113,32,68,10,139,206,106,60,0,42,0,48,97,42,58,201,110,165,105,157,118,194,102,164,147,169,118,60,0,42,0,40,126,60,0,42,0,255,83,61,84,77,84,116,112,112,143,196,84,7,138,216,112,227,142,200,99,57,110,34,113,97,120,62,140,101,216,32,220,55,143,168,133,103,147,157,86,95,143,60,0,42,0,220,78,24,95,133,89,162,126,48,84,143,91,111,108,146,115,174,126,243,149,150,91,211,108,172,87,2,90,42,109,209,122,122,66,5,125,240,130,121,134,245,92,100,109,24,125,195,127,62,128,109,131,84,120,45,125,57,140,63,158,49,110,228,122,160,124,28,146,142,149,139,125,221,127,82,132,83,132,60,140,66,111,96,216,6,223,119,146,131,151,95,155,208,146,75,95,16,151,123,133,31,151,59,157,201,158,80,216,15,221,204,158,60,0,42,0,78,102,52,59,202,85,60,0,42,0,167,139,12,138,167,149,148,100,139,111,146,111,190,146,194,149,40,155,60,0,39,0,208,253,39,0,16,49,60,0,42,0,12,78,74,216,102,222,165,139,251,81,9,82,253,83,101,153,105,78,15,82,58,103,145,115,140,128,62,87,246,119,33,158,133,103,168,130,173,84,235,89,94,82,39,85,236,89,80,92,239,121,4,123,249,143,226,152,250,87,233,126,158,85,70,93,71,93,103,101,30,103,132,114,83,123,9,127,77,141,227,82,216,85,120,117,24,122,225,141,251,141,238,156,223,80,67,216,59,223,196,107,149,123,136,146,48,86,227,105,127,117,61,122,221,125,237,137,235,140,184,142,81,159,188,88,95,106,192,111,163,116,77,122,36,147,202,100,239,120,168,121,10,124,62,126,129,127,64,137,247,140,174,150,197,106,45,128,95,142,222,150,79,139,63,145,242,151,143,157,100,139,22,148,81,153,106,118,139,142,191,151,196,157,78,159,135,127,71,148,64,134,137,137,89,148,79,159,136,127,4,158,138,137,60,0,42,0,188,78,202,83,11,79,9,84,167,126,115,83,140,92,118,95,227,95,129,103,114,108,128,118,159,78,118,79,216,139,145,148,125,83,222,89,37,96,228,114,198,144,228,99,190,117,141,118,8,123,26,125,10,129,152,71,110,80,89,83,180,94,114,59,15,113,217,137,59,140,202,53,216,104,82,110,198,150,73,88,201,90,49,97,34,98,107,105,117,105,155,107,140,141,145,143,201,105,36,128,140,129,186,132,161,146,241,53,131,100,87,111,32,118,157,121,191,123,22,142,97,158,175,93,118,106,200,111,64,133,143,135,47,143,238,100,157,106,122,133,80,142,83,147,201,133,75,137,101,130,77,124,90,143,246,147,237,76,53,151,186,157,209,157,230,150,231,150,60,0,42,0,224,81,241,93,46,78,128,89,177,114,242,108,110,134,36,99,142,99,126,156,126,94,184,57,31,98,24,146,116,93,130,158,98,155,160,100,224,100,86,122,227,135,85,155,60,0,42,0,149,46,80,95,81,95,225,101,161,139,176,139,14,79,170,126,86,87,147,89,204,95,128,98,66,82,99,91,176,130,69,150,220,84,141,87,220,92,226,101,14,109,78,109,0,125,13,131,8,138,100,82,18,125,231,126,36,131,96,131,202,137,24,138,72,80,194,91,196,91,49,56,155,95,77,57,184,96,227,101,158,104,8,110,109,121,72,88,206,96,209,62,0,68,238,129,126,81,245,117,153,125,106,132,7,133,218,136,168,102,3,111,8,111,41,122,74,122,223,132,0,137,139,138,253,141,155,150,1,151,62,155,154,156,169,102,55,122,197,138,171,156,128,81,145,82,193,102,68,122,251,154,140,86,149,106,223,111,125,127,138,133,172,137,181,106,4,62,186,133,75,157,76,159,251,97,96,118,103,122,75,126,165,154,218,155,49,112,124,126,14,134,102,216,73,221,64,156,46,134,61,151,54,156,63,156,59,134,109,156,101,154,60,0,42,0,189,78,45,106,237,94,60,0,42,0,160,82,107,78,57,89,61,79,62,89,115,79,184,98,193,98,199,108,98,62,183,103,224,107,67,109,200,115,4,131,230,143,201,87,182,91,121,109,194,117,156,104,51,123,30,128,136,136,162,80,51,115,207,141,67,216,162,222,140,114,117,129,109,132,107,146,9,86,127,146,83,149,109,140,145,140,103,216,155,221,181,147,82,69,154,158,60,0,42,0,63,87,230,95,116,98,207,144,10,85,93,96,90,131,223,144,27,98,162,131,215,148,30,98,241,134,183,136,138,152,150,59,250,134,204,136,242,141,130,151,4,153,207,146,44,152,48,152,54,157,74,157,60,0,42,0,50,117,238,78,172,92,218,83,190,115,219,128,154,101,62,141,190,148,71,80,125,90,166,95,157,101,53,105,200,140,64,146,142,105,218,105,21,118,159,106,60,0,42,0,247,78,126,154,182,103,75,216,76,220,193,90,79,94,162,105,249,80,60,122,213,153,60,0,42,0,216,124,60,0,42,0,150,117,54,150,134,118,165,99,178,99,79,216,143,221,206,117,248,121,136,85,38,88,152,90,237,99,4,105,93,110,59,129,232,131,87,136,142,150,223,85,197,90,111,113,200,64,45,122,84,135,209,100,100,118,47,139,155,157,60,0,42,0,105,83,106,83,81,91,16,92,166,139,130,130,38,82,39,82,171,82,138,92,60,82,26,53,188,82,5,102,112,103,140,117,54,54,195,54,238,98,1,109,211,126,34,80,64,104,113,136,16,138,252,143,124,80,85,90,40,93,119,99,173,131,145,80,188,85,23,58,57,64,80,125,92,125,186,136,137,152,101,93,41,58,108,105,118,105,208,110,107,119,192,123,16,135,77,135,112,138,99,146,93,155,42,98,164,105,163,120,237,122,91,216,116,221,146,156,84,111,175,127,245,132,177,138,21,142,138,151,111,94,123,147,154,155,192,93,237,106,30,136,24,136,61,136,60,0,42,0,208,89,209,107,142,90,227,137,231,137,247,152,158,106,60,0,42,0,47,78,203,78,36,84,149,92,57,56,142,94,18,98,70,92,74,92,160,115,165,130,76,117,77,117,165,117,14,120,235,139,31,80,136,96,167,134,120,136,163,95,58,88,80,105,62,116,246,134,151,114,161,138,177,154,106,155,47,137,133,147,164,142,60,0,42,0,93,104,60,0,42,0,164,78,125,130,129,130,227,89,7,90,231,92,71,109,202,144,132,154,246,128,45,131,46,131,18,105,38,113,223,134,228,141,236,80,4,86,68,216,237,223,96,134,155,156,12,91,149,93,163,93,141,97,134,111,160,129,203,113,178,129,73,133,1,121,90,122,171,155,65,157,106,158,37,124,237,135,71,143,14,148,205,157,85,154,230,157,238,157,60,0,42,0,66,59,235,129,210,137,124,79,165,79,84,96,34,99,225,114,222,126,122,153,65,99,72,102,196,112,142,118,235,119,26,129,240,148,5,100,107,110,94,125,127,82,107,101,108,110,77,113,115,129,203,140,229,80,119,100,158,102,11,142,120,146,3,153,12,81,139,82,186,95,159,100,185,100,188,95,191,97,125,101,127,101,222,113,52,127,166,150,210,102,172,116,239,119,166,118,220,135,115,126,81,139,66,91,112,58,92,216,136,220,42,101,90,112,78,156,60,0,42,0,235,83,76,84,228,92,13,99,6,138,211,115,140,122,127,143,131,143,78,101,89,101,150,122,62,60,216,110,3,143,2,86,38,86,160,101,22,111,117,145,77,86,160,93,80,111,109,86,19,91,101,115,224,133,173,141,78,143,174,145,101,139,45,59,173,118,194,145,60,0,42,0,100,157,245,106,144,126,60,0,42,0,41,78,252,82,160,126,59,103,94,114,118,122,250,124,32,158,254,124,115,141,99,216,202,220,4,150,126,85,194,99,234,99,27,132,235,99,233,156,78,100,27,106,15,155,46,155,60,0,42,0,93,78,69,78,70,78,99,78,122,89,120,112,150,115,15,130,237,151,36,125,82,145,121,149,238,151,60,0,42,0,27,83,231,101,169,62,252,129,142,84,154,117,146,65,233,103,254,103,3,80,68,99,85,104,19,83,169,83,81,101,168,90,49,92,196,94,5,130,230,80,207,94,208,94,102,97,167,107,107,158,10,130,54,83,230,155,148,158,104,159,242,157,60,0,42,0,99,108,102,103,13,107,60,0,42,0,11,98,120,89,22,92,117,94,90,87,124,107,244,149,191,81,20,98,170,115,169,128,112,130,230,89,231,89,124,81,209,118,66,80,5,88,228,96,116,59,15,115,58,123,92,140,84,110,75,114,4,127,197,131,250,131,147,149,27,100,55,105,62,105,78,113,141,114,74,116,138,120,35,127,76,132,99,140,227,118,119,119,139,123,185,132,43,106,158,113,216,125,163,156,253,156,99,158,184,113,86,216,93,220,239,123,17,126,81,133,115,133,113,130,48,153,162,153,137,158,16,112,172,151,175,151,210,156,27,121,32,67,184,137,115,157,56,112,39,148,252,106,178,107,188,157,192,151,57,156,207,86,67,134,111,148,201,151,60,0,42,0,221,86,227,98,167,103,237,79,236,103,57,80,56,99,97,99,21,123,39,131,207,81,106,82,152,104,192,104,63,88,192,99,195,99,28,105,27,110,85,110,81,119,119,120,67,138,15,149,63,95,149,102,80,116,103,123,128,123,120,125,229,136,43,140,188,141,41,98,44,98,53,58,177,120,9,81,230,127,191,100,162,106,77,216,45,223,7,139,71,142,188,119,6,121,33,124,198,133,71,137,73,137,45,139,109,126,11,155,120,158,61,112,18,136,23,148,14,156,151,82,123,158,91,124,126,139,124,158,122,137,60,0,42,0,193,137,246,78,139,137,111,153,81,82,250,94,10,109,110,114,49,141,244,79,99,82,43,104,167,109,212,115,48,130,80,131,101,80,113,82,164,95,16,110,15,140,252,145,203,91,133,110,246,129,184,136,245,141,212,101,87,105,253,107,82,216,227,221,113,129,101,132,206,140,116,146,46,149,237,80,52,58,151,105,56,111,141,82,142,82,78,61,151,111,173,123,203,124,42,133,211,138,228,140,157,141,16,142,58,142,146,82,148,82,235,138,251,146,30,153,183,119,245,120,166,133,185,135,115,147,117,147,246,100,250,111,93,126,4,60,181,137,233,147,51,112,102,130,124,139,94,143,49,148,81,148,82,148,108,148,115,148,60,0,42,0,69,95,185,88,122,106,0,121,177,107,60,0,42,0,254,93,202,78,164,101,133,148,83,81,209,145,210,145,37,109,220,119,212,137,208,87,210,115,31,125,85,131,127,136,205,96,59,88,75,123,255,145,156,93,118,158,197,158,95,137,60,0,42,0,197,78,61,92,173,79,122,83,249,93,39,125,7,88,235,131,197,80,170,83,40,140,38,149,228,90,209,94,12,111,225,118,202,125,145,153,255,105,126,116,243,132,24,81,38,147,57,139,73,153,60,0,42,0,18,79,164,82,178,82,151,89,131,103,209,143,219,143,193,82,85,109,73,102,75,102,120,109,236,112,105,131,70,141,43,85,14,116,114,121,50,144,214,91,34,100,141,110,129,121,25,127,115,151,144,88,55,58,16,59,156,102,104,116,248,80,218,81,79,107,163,107,208,137,100,86,28,59,197,111,161,116,9,126,238,140,141,86,39,91,242,59,220,111,252,113,182,116,206,133,178,137,16,141,125,159,60,0,42,0,27,120,59,116,215,88,60,0,42,0,95,108,220,89,6,92,70,109,85,117,51,131,71,140,7,92,122,117,65,132,106,100,222,127,245,80,63,111,128,135,195,88,48,127,127,106,173,107,145,133,191,135,201,156,133,117,19,121,134,117,110,126,193,151,66,156,60,0,42,0,178,139,86,89,104,104,139,80,104,89,139,132,108,89,243,105,78,115,153,129,35,133,41,128,67,66,27,139,92,152,60,0,42,0,30,83,32,83,5,89,28,95,26,109,219,126,77,150,54,95,115,125,182,136,229,82,113,145,121,93,126,100,240,110,74,95,77,216,166,222,159,114,225,124,232,124,164,145,61,139,172,145,60,0,42,0,98,103,228,106,60,0,42,0,85,87,89,87,224,93,172,78,254,108,207,126,176,78,212,121,14,131,135,109,74,131,91,90,202,96,204,101,205,101,4,115,76,125,150,131,118,102,9,122,72,129,70,131,193,131,91,119,179,124,147,125,79,132,98,81,190,124,89,128,184,156,91,157,232,155,129,157,132,157,150,158,49,159,90,154,160,158,60,0,42,0,149,78,60,78,45,82,43,54,83,87,145,91,107,108,49,150,108,108,188,128,68,82,125,122,136,152,111,102,26,152,6,81,92,94,172,97,187,102,219,113,159,116,56,152,188,97,165,116,252,135,24,71,102,139,60,0,42,0,140,89,192,81,42,95,132,95,211,79,65,216,202,221,68,109,235,128,243,143,30,80,200,81,51,95,145,95,201,117,222,122,89,90,103,90,113,104,183,104,232,109,27,129,21,144,100,216,213,221,223,122,217,117,231,122,83,151,185,80,108,101,12,59,235,122,86,151,131,88,77,115,169,138,1,142,89,151,124,71,90,151,92,149,92,151,212,102,234,111,30,112,225,147,246,122,248,122,60,0,42,0,120,106,221,113,60,0,42,0,229,81,31,82,133,98,10,83,69,92,216,98,195,108,217,114,121,154,244,130,54,99,189,117,192,117,23,119,32,120,93,127,53,90,110,90,12,93,172,99,174,104,186,109,113,150,16,105,26,116,82,129,249,131,132,141,212,141,20,149,206,150,77,130,27,135,254,136,24,142,25,142,230,146,210,153,136,155,33,157,160,151,171,151,139,157,60,0,42,0,90,216,81,221,64,92,50,54,230,108,183,79,202,114,84,104,233,107,121,85,69,90,215,109,23,113,8,105,241,107,104,110,202,131,249,144,145,114,2,143,234,80,183,124,252,141,202,138,156,141,185,142,176,149,88,106,139,106,246,153,212,76,89,157,107,142,116,157,200,93,170,157,28,134,51,159,103,154,60,0,42,0,128,84,6,95,174,108,62,78,25,99,233,119,146,131,7,105,137,105,152,105,101,123,131,159,159,132,101,128,9,130,61,142,231,100,95,159,248,106,5,107,60,0,42,0,229,83,232,93,108,78,234,93,181,139,119,81,214,89,160,92,7,96,16,96,26,96,210,98,224,98,48,109,173,144,27,102,107,107,172,112,227,130,156,148,241,79,40,80,54,80,163,81,103,82,236,121,231,87,254,87,231,96,110,99,148,124,31,128,183,134,147,136,139,114,78,138,217,141,221,141,211,152,102,140,69,146,47,149,224,91,51,97,173,122,90,128,97,134,135,82,238,82,102,92,30,142,207,153,201,88,197,97,218,100,189,111,182,122,46,66,248,146,148,155,104,92,125,144,182,152,151,140,52,124,134,142,181,145,252,97,59,148,44,59,60,0,42,0,32,114,119,137,60,0,42,0,88,86,133,100,167,100,105,92,123,142,60,0,42,0,133,78,64,216,12,221,82,91,83,91,179,81,20,82,18,108,192,139,137,98,122,108,33,95,72,59,236,108,166,115,168,115,181,130,23,99,207,115,166,117,4,120,221,126,115,134,201,137,20,80,84,99,46,107,151,134,27,93,152,99,141,101,119,104,140,107,144,137,214,137,35,138,125,141,185,141,72,72,149,80,165,83,126,59,51,113,85,125,118,125,154,137,137,141,43,144,12,146,242,55,130,82,34,53,234,82,116,116,50,140,195,153,165,93,176,97,166,113,52,114,87,115,26,118,2,157,3,157,113,86,160,97,91,106,92,106,93,133,104,133,53,114,196,129,98,149,232,135,233,135,107,92,78,139,118,142,119,142,140,157,55,83,188,86,17,114,205,119,186,137,13,148,29,148,29,114,252,137,79,95,4,98,43,101,131,115,226,157,20,107,225,119,163,159,99,216,28,220,156,140,169,142,129,148,60,0,42,0,226,89,31,90,80,99,147,109,6,113,39,129,249,116,67,158,208,136,236,82,250,72,76,149,184,147,81,157,43,148,50,136,60,0,42,0,119,83,95,84,35,94,205,87,114,99,228,131,41,149,247,61,8,147,199,129,60,0,42,0,181,82,70,89,251,93,38,80,204,82,74,104,247,114,226,126,189,150,195,109,55,119,74,119,109,125,101,127,173,69,4,145,96,119,121,125,203,150,236,152,70,216,64,220,123,97,40,133,11,153,103,115,51,126,130,127,60,0,42,0,155,81,66,216,213,220,27,84,71,87,172,54,110,108,240,89,205,142,167,148,144,134,128,136,126,104,178,118,153,131,204,131,30,146,133,120,184,118,185,118,160,137,129,146,158,146,170,156,135,158,85,147,182,155,143,158,149,158,60,0,42,0,65,84,202,79,89,63,200,87,251,92,67,99,90,109,225,144,86,150,130,153,143,154,165,53,89,102,12,113,250,115,94,216,122,221,122,52,222,104,111,117,227,122,102,55,249,65,152,123,159,123,32,135,96,216,24,223,1,81,89,53,21,153,239,91,207,97,199,113,236,111,255,153,84,157,88,157,8,101,81,69,31,101,60,0,42,0,134,46,130,81,139,81,112,87,67,98,219,87,69,125,201,153,235,153,15,134,20,134,60,0,42,0,143,81,231,86,160,56,194,108,133,112,176,79,175,112,229,143,123,109,8,144,241,112,155,72,152,122,142,152,90,113,151,125,210,80,91,113,178,113,131,111,39,137,60,0,39,0,208,253,39,0,17,49,60,0,42,0,3,78,143,108,201,143,187,89,210,103,27,80,196,81,22,104,100,104,56,90,189,96,26,98,124,104,210,109,234,144,50,101,31,103,242,104,58,107,102,60,11,132,227,134,219,80,1,86,125,97,191,105,6,111,192,125,124,97,237,105,84,216,80,222,198,138,255,138,11,151,233,69,74,142,36,59,76,155,83,73,218,147,136,157,60,0,42,0,147,78,80,159,59,87,144,92,147,92,239,95,157,78,118,81,71,89,137,101,103,107,65,117,65,121,181,128,170,130,223,79,167,117,71,121,72,121,210,122,88,82,138,101,194,101,6,128,16,129,145,134,148,134,154,134,128,152,252,87,14,93,58,94,145,99,199,109,9,115,102,117,194,141,221,142,238,145,144,154,145,154,202,104,203,104,38,116,42,116,1,132,21,132,244,134,45,97,129,120,149,120,122,121,197,68,28,149,14,152,215,101,184,124,165,125,166,125,168,125,235,68,29,135,30,135,63,155,74,159,130,116,17,142,165,121,114,133,33,147,175,156,224,97,221,111,105,216,198,221,177,106,192,106,82,216,140,222,205,129,196,133,14,154,15,154,205,156,7,76,213,155,120,157,128,157,146,158,131,126,105,130,4,134,16,136,16,155,45,156,130,115,161,158,60,0,42,0,94,78,1,79,122,92,130,92,148,144,47,84,71,84,94,103,152,115,192,118,145,130,24,85,72,140,119,141,83,85,84,85,77,90,95,85,238,126,117,102,232,104,14,65,174,125,186,125,236,138,217,149,60,0,42,0,20,108,171,139,212,95,23,108,84,108,3,95,125,108,245,119,196,143,110,84,227,108,129,112,245,118,158,130,160,84,81,89,12,120,20,104,43,107,35,108,22,138,45,85,33,89,196,104,70,110,71,110,155,120,122,132,86,100,163,102,182,120,80,86,135,97,8,117,94,216,88,220,104,86,169,97,220,120,231,120,233,120,141,70,74,127,255,135,28,159,60,0,42,0,60,127,15,110,213,125,4,137,167,135,47,124,49,124,79,124,60,0,42,0,144,99,92,132,60,0,42,0,228,98,60,0,42,0,210,141,96,145,60,0,42,0,54,87,190,81,228,52,34,94,112,96,61,109,142,107,72,120,24,97,194,154,60,0,42,0,144,151,60,0,42,0,127,118,71,216,144,221,167,73,122,128,60,0,42,0,20,78,60,0,42,0,7,82,190,89,47,96,39,83,131,122,196,144,67,216,181,220,143,96,8,99,47,109,50,57,236,96,193,109,33,123,28,97,234,134,102,57,5,103,167,123,193,125,50,149,69,216,36,220,203,123,37,142,85,122,101,147,210,133,220,155,17,148,202,122,78,216,58,220,60,0,42,0,198,130,63,80,171,90,97,124,60,0,42,0,132,96,87,120,251,144,106,93,247,141,129,82,114,101,195,107,13,142,33,145,37,145,57,149,157,88,29,152,189,88,103,94,75,216,227,223,71,106,198,113,50,127,185,154,253,120,107,147,108,147,81,126,172,141,122,142,48,148,60,0,42,0,84,78,168,79,101,104,77,131,94,131,90,120,172,85,236,131,209,80,47,140,58,86,246,90,111,55,148,97,146,151,53,106,75,106,78,133,68,118,9,64,167,119,4,121,151,67,171,141,238,133,8,148,189,151,102,152,92,216,13,221,60,0,42,0,231,93,229,145,0,97,220,154,60,0,42,0,207,79,238,139,237,92,41,94,141,122,87,150,187,107,216,127,154,138,218,154,250,80,172,100,189,100,152,151,210,151,197,122,249,127,89,139,136,142,129,54,60,0,42,0,215,105,158,114,60,0,42,0,0,52,24,78,32,78,67,216,11,220,117,87,177,54,203,60,177,144,88,96,203,121,204,121,175,134,157,90,120,105,41,132,89,158,205,123,231,125,242,132,117,135,80,122,165,141,2,74,197,156,215,135,166,151,167,151,12,156,13,156,150,157,36,136,157,159,60,0,42,0,244,83,218,86,79,98,176,114,140,115,83,108,141,128,66,108,108,134,197,108,181,66,111,134,197,79,211,137,4,138,5,138,75,145,211,145,18,85,151,55,57,57,93,59,87,109,12,125,218,145,130,104,143,107,236,107,3,116,141,131,71,141,14,144,17,144,55,93,239,93,98,57,30,110,109,110,179,118,218,118,240,93,106,113,127,125,247,134,216,136,82,144,233,137,213,140,134,116,100,135,182,146,148,145,130,155,61,159,196,155,61,156,60,0,42,0,29,100,215,124,60,0,42,0,251,145,18,134,60,0,42,0,67,83,223,78,49,87,50,87,119,89,102,98,88,108,33,150,101,79,141,92,68,103,103,108,138,130,193,143,38,107,233,116,228,129,62,131,142,148,234,98,117,114,129,124,91,81,173,96,56,140,197,148,92,90,111,91,125,114,250,145,148,99,136,134,38,140,6,146,195,150,201,80,6,97,126,123,91,146,158,154,80,158,115,97,52,100,129,100,158,123,208,138,119,144,48,137,25,139,69,152,182,106,16,101,207,106,61,124,110,157,69,91,19,101,43,154,17,101,29,155,28,155,119,58,100,124,198,151,60,0,42,0,241,78,146,92,244,95,114,98,209,98,77,82,164,148,108,107,84,134,177,148,179,148,174,99,225,142,138,90,245,99,16,146,108,151,87,146,152,88,169,105,157,123,173,146,91,111,92,111,172,127,108,106,65,133,34,147,212,158,218,158,243,111,26,154,29,154,74,112,44,156,60,0,42,0,245,81,183,128,69,109,250,109,37,129,219,85,112,93,207,105,129,129,56,135,99,144,52,140,49,127,126,126,116,139,60,0,42,0,32,107,11,82,56,52,161,130,212,79,41,80,147,96,28,131,17,88,148,80,76,93,200,104,32,105,74,97,152,118,121,88,30,55,251,55,73,107,170,125,168,132,231,105,207,123,51,133,36,143,25,81,223,123,205,88,52,126,69,73,28,156,60,0,42,0,207,122,134,147,242,147,86,124,83,148,60,0,42,0,178,78,181,79,166,148,126,136,142,154,135,90,90,93,61,107,133,125,155,138,148,93,170,137,73,152,248,153,188,155,244,91,60,0,42,0,38,54,136,94,129,58,169,130,185,130,193,87,225,115,230,121,57,128,153,134,102,99,52,116,57,116,230,131,243,131,25,146,194,150,228,82,234,85,192,90,177,110,189,121,114,151,108,97,89,86,179,101,249,156,196,97,82,58,210,100,191,111,61,118,147,135,195,97,142,106,53,155,4,136,109,157,60,0,42,0,69,87,17,102,9,123,171,104,126,141,209,91,19,149,221,91,226,91,223,146,188,135,60,0,42,0,34,84,35,84,8,57,139,98,129,108,26,85,255,99,227,131,100,216,136,220,7,100,179,100,28,66,25,112,253,133,60,0,42,0,91,84,21,98,23,98,168,101,170,103,177,115,140,127,151,127,16,115,196,141,12,105,84,129,198,85,172,110,22,149,136,93,39,98,205,105,68,114,114,116,171,127,35,135,53,149,236,123,6,147,18,139,76,142,106,149,97,142,151,147,216,147,60,0,42,0,44,78,55,95,58,95,153,88,241,90,18,111,47,106,3,133,55,133,187,88,25,91,231,94,163,106,70,114,148,133,98,130,32,134,60,0,42,0,162,98,159,127,54,100,165,127,143,88,72,126,65,137,102,126,249,147,60,0,42,0,157,112,52,85,151,113,187,127,60,0,42,0,244,85,71,115,60,0,42,0,197,114,81,151,82,151,34,108,123,143,62,80,127,83,10,87,229,87,200,91,43,108,248,109,5,110,236,144,190,80,59,135,21,143,29,74,173,156,75,148,60,0,42,0,29,89,32,117,96,82,205,82,197,96,145,107,116,102,254,104,48,108,146,102,93,132,8,106,207,100,206,100,243,59,160,106,229,158,60,0,42,0,119,152,216,130,247,139,188,94,3,152,206,94,0,111,235,61,203,138,190,106,60,0,42,0,134,94,202,81,133,99,184,107,131,120,144,123,88,151,118,97,216,120,236,120,68,127,38,139,60,0,42,0,88,120,230,106,60,0,42,0,58,83,242,102,57,79,73,79,36,83,150,92,206,139,113,154,101,87,72,92,168,92,180,92,190,98,57,150,85,59,64,109,224,128,91,121,64,83,54,125,198,134,170,136,175,142,65,123,172,124,208,134,88,138,139,141,135,93,136,97,12,66,198,153,122,101,179,138,124,149,200,153,185,158,247,154,124,155,168,141,175,158,176,137,192,142,180,158,226,158,187,137,69,154,56,156,75,156,60,0,42,0,98,79,172,82,170,101,16,103,202,128,50,158,237,109,71,125,209,127,32,110,195,131,229,142,75,132,82,216,14,222,150,116,86,133,29,157,169,116,242,120,182,135,191,119,221,135,41,159,57,55,194,95,72,112,39,134,53,98,11,107,13,108,222,129,111,118,103,124,55,136,98,136,163,142,60,136,122,148,28,158,60,0,42,0,214,83,216,122,54,90,83,138,236,122,122,135,139,159,114,159,60,0,42,0,186,83,187,83,30,82,127,84,38,60,31,85,29,128,18,150,209,137,163,141,180,149,174,158,195,149,1,159,183,137,60,0,42,0,242,143,80,136,60,0,42,0,58,127,25,150,155,132,60,0,42,0,56,118,60,0,42,0,116,83,123,83,198,87,5,93,201,91,171,96,192,150,55,116,94,120,110,120,21,150,89,88,9,100,181,118,143,120,74,158,40,97,183,105,167,88,100,97,186,120,187,120,158,141,233,113,203,149,16,121,213,149,114,157,77,112,45,121,60,0,42,0,209,92,46,95,110,96,155,96,8,87,15,87,236,104,233,153,9,148,60,0,42,0,176,52,104,81,67,103,122,79,224,139,254,89,201,108,36,109,243,98,119,114,67,131,129,143,115,85,226,87,88,90,211,96,202,117,66,120,232,148,118,110,136,114,76,123,95,125,60,100,84,116,114,132,224,137,110,138,231,141,7,143,55,135,147,146,41,106,33,142,19,126,155,145,200,156,8,155,33,154,1,156,73,91,207,93,100,159,10,107,167,152,56,136,116,152,60,0,42,0,71,216,232,223,173,114,172,114,113,108,78,117,199,112,251,126,163,125,71,134,60,0,42,0,157,82,56,82,118,114,231,82,207,151,248,82,60,0,42,0,38,105,126,105,206,149,60,0,42,0,11,89,247,86,238,92,33,144,60,0,42,0,173,91,44,94,138,58,163,127,164,127,217,136,224,136,60,0,42,0,142,130,20,83,60,0,42,0,109,83,134,91,155,144,119,122,121,122,21,131,79,104,67,65,59,123,121,141,248,96,42,113,45,113,60,116,71,123,60,130,233,134,236,134,70,216,131,221,98,113,88,119,235,141,142,146,143,119,174,122,29,81,140,97,105,106,154,116,202,116,198,122,209,133,237,133,215,116,60,0,42,0,141,113,60,0,39,0,208,253,39,0,18,49,60,0,42,0,21,89,110,81,218,95,80,108,127,137,128,137,56,84,12,94,113,98,120,98,101,83,20,102,144,103,120,122,184,128,185,128,217,79,134,95,56,96,83,96,123,153,15,85,90,89,211,54,86,92,111,96,149,96,37,108,96,109,122,114,246,114,215,144,61,85,137,96,220,96,127,99,94,102,120,104,55,107,197,109,239,112,1,113,8,113,11,116,82,120,131,131,101,141,248,145,146,80,193,96,112,102,115,102,100,60,31,113,44,113,128,114,78,119,0,122,158,124,213,127,62,130,229,131,128,83,96,93,175,95,170,110,153,118,14,145,33,149,214,80,189,105,85,113,132,113,136,113,153,113,198,125,160,132,37,135,104,140,15,153,59,86,79,86,6,91,9,91,93,111,183,63,28,118,206,120,157,129,222,81,65,216,21,222,178,93,153,97,27,59,40,106,64,106,185,113,186,113,187,113,184,122,24,126,178,127,133,135,135,135,43,147,70,60,232,113,111,64,166,119,203,135,63,140,64,140,111,140,149,140,230,124,101,126,223,150,87,157,70,139,175,145,237,147,199,93,230,102,20,114,167,114,249,137,181,150,69,145,253,137,55,159,53,136,2,158,255,137,116,148,60,0,42,0,96,78,203,144,45,94,210,127,173,136,203,137,179,90,58,105,4,56,141,93,29,111,181,132,198,132,161,137,152,141,226,105,87,58,132,106,130,133,176,150,53,139,180,147,43,151,219,156,193,152,49,154,61,154,114,137,60,156,104,154,60,0,42,0,178,103,23,109,186,115,153,95,227,148,156,85,34,146,72,132,120,132,104,146,105,146,99,92,7,111,152,97,240,132,191,102,86,107,240,138,208,88,167,121,48,126,17,139,226,135,93,142,189,116,205,86,90,156,214,119,167,142,60,0,42,0,56,83,76,83,15,98,67,92,251,124,105,153,108,84,229,95,44,96,253,119,198,126,194,79,165,84,68,96,251,118,56,57,97,59,47,107,228,126,228,144,48,125,243,145,11,150,186,85,30,105,214,127,3,130,4,130,135,141,64,97,202,110,140,125,105,141,141,88,130,113,148,114,138,121,39,122,153,150,159,150,95,111,164,137,49,98,153,111,42,66,110,133,214,158,50,98,246,120,142,75,105,134,60,153,41,155,107,126,177,86,223,149,13,62,60,151,109,92,75,136,60,0,42,0,19,110,114,106,160,114,2,121,209,155,60,0,42,0,114,134,168,117,126,134,32,53,58,140,132,80,149,149,70,113,117,113,172,152,92,216,205,221,142,119,102,135,21,156,60,0,42,0,35,83,160,79,206,114,224,79,225,92,217,103,160,112,237,114,253,92,218,112,249,114,232,115,92,150,86,120,107,121,200,127,58,130,199,53,100,120,127,150,110,101,135,102,85,116,106,123,29,130,80,144,172,120,150,143,205,120,0,126,22,126,110,141,123,155,120,133,68,143,92,147,30,151,139,147,224,158,34,154,183,157,60,0,42,0,156,149,60,0,42,0,5,78,11,78,100,78,19,84,156,117,15,89,72,54,113,119,135,86,215,97,69,127,19,89,188,147,236,147,60,0,42,0,55,87,186,104,138,110,60,0,42,0,155,78,84,60,243,99,50,115,84,105,71,107,78,135,13,136,60,0,42,0,166,82,79,83,234,101,170,144,84,83,193,128,165,87,74,96,249,98,31,99,74,89,235,92,62,99,5,129,7,129,122,136,85,80,156,101,104,59,16,140,191,53,211,127,203,85,54,97,58,100,78,116,138,125,91,216,195,220,102,54,129,113,142,129,240,82,183,100,243,125,44,127,98,135,139,151,33,152,213,100,231,138,242,113,102,58,247,100,181,151,28,101,136,126,109,137,151,139,164,159,60,0,42,0,153,81,169,81,235,91,219,133,60,0,42,0,51,79,122,112,120,83,196,108,251,108,193,126,55,127,41,109,167,112,68,121,14,90,81,92,83,92,74,216,63,223,94,80,112,80,104,83,162,95,176,104,242,112,14,113,50,125,181,78,159,90,95,92,43,110,81,216,200,221,188,121,79,125,108,125,34,140,193,80,110,88,141,105,173,105,61,61,103,92,172,102,228,125,9,137,103,86,176,93,232,94,200,97,165,111,108,115,207,124,93,216,53,223,240,151,238,113,162,133,164,133,59,137,29,139,130,144,244,153,9,112,162,151,35,112,21,114,79,66,114,126,249,135,15,136,88,159,91,159,101,159,66,159,158,142,60,0,42,0,11,129,17,89,60,0,42,0,113,112,114,112,122,84,173,103,190,79,211,84,181,103,129,154,238,84,175,91,181,91,168,94,136,109,225,126,83,134,46,158,75,90,159,104,7,113,7,115,13,144,218,117,223,117,93,120,99,120,153,122,39,132,0,149,241,99,131,125,219,127,55,132,11,86,16,86,74,107,71,111,171,123,3,142,53,86,71,95,162,97,75,58,98,115,183,146,4,151,174,129,109,133,30,157,88,122,24,124,194,135,207,135,72,155,53,157,163,86,43,124,195,133,240,135,31,112,249,106,81,216,115,220,199,154,187,86,194,86,40,136,77,154,208,154,202,107,72,134,60,0,42,0,40,109,53,59,5,123,36,93,198,109,36,138,233,144,189,107,74,123,181,138,60,0,42,0,140,46,141,46,15,92,83,102,129,102,113,123,127,123,155,118,201,102,224,123,162,118,15,139,60,0,42,0,93,91,150,128,185,82,178,84,242,79,72,101,33,104,141,109,17,123,120,85,154,80,105,101,219,53,104,138,40,86,159,138,47,86,87,107,189,113,169,151,133,101,134,101,103,69,60,0,42,0,119,96,231,110,60,0,42,0,17,79,226,79,187,84,165,94,220,60,238,79,203,112,204,112,158,127,25,129,41,129,58,158,249,129,133,140,144,153,157,146,228,154,7,106,249,154,128,147,66,157,197,147,72,153,67,156,205,152,60,0,42,0,236,130,60,0,42,0,61,103,135,125,235,110,212,124,60,0,42,0,192,121,171,92,192,92,219,115,227,126,7,116,150,136,8,149,197,85,180,110,147,116,14,137,15,137,185,146,145,135,77,126,97,126,229,147,253,147,69,159,60,0,42,0,180,155,60,0,42,0,62,53,217,78,218,78,115,92,72,81,126,89,164,126,97,79,250,95,25,108,116,103,200,121,174,103,70,121,124,124,238,130,215,115,128,99,182,131,46,138,230,148,77,216,25,221,202,80,249,141,112,145,40,149,21,86,155,146,156,156,239,151,16,91,184,97,185,102,65,147,159,133,60,137,241,151,174,155,110,142,166,153,76,77,239,94,21,101,142,126,177,157,154,142,150,126,115,137,123,156,60,0,42,0,45,79,242,149,182,89,38,95,36,141,184,84,38,99,216,128,52,90,12,85,99,85,57,90,113,90,142,109,67,125,55,130,191,134,84,136,121,59,235,117,221,134,145,149,146,149,71,158,204,90,88,136,156,146,250,90,251,90,170,97,143,100,150,111,9,117,52,122,184,138,226,140,215,59,106,61,197,113,244,138,49,143,142,145,71,118,78,118,175,119,214,133,10,60,37,121,84,69,121,158,153,158,18,141,243,157,244,157,252,157,60,0,42,0,188,81,221,114,229,57,62,102,4,93,96,59,232,107,205,112,3,115,172,134,105,150,123,141,122,150,69,123,31,92,32,92,31,100,227,141,14,59,146,121,145,146,178,123,174,93,107,115,170,150,110,115,76,147,249,113,211,133,85,152,112,94,7,101,246,106,99,139,26,134,6,70,106,73,129,115,197,151,111,152,102,112,60,0,42,0,35,79,191,83,152,92,65,216,14,223,176,115,191,126,253,129,203,130,158,84,237,89,170,91,12,119,80,150,239,84,183,87,10,90,40,90,244,92,135,58,128,109,101,150,91,102,254,115,77,120,167,131,119,150,133,153,77,119,100,125,16,127,161,127,46,115,175,124,168,127,122,129,6,135,223,73,233,80,244,80,69,216,22,220,171,125,162,138,138,100,218,125,231,146,178,97,23,59,76,106,35,126,14,147,33,153,207,88,79,140,60,73,178,158,23,112,212,129,123,115,238,124,56,159,60,0,42,0,242,80,74,126,102,148,60,0,42,0,195,95,161,89,251,95,155,143,164,144,21,102,122,103,35,107,152,112,175,130,250,118,253,79,98,59,222,96,34,138,10,146,12,149,176,101,70,107,222,94,197,146,28,91,170,133,168,153,107,148,171,153,60,0,42,0,148,103,38,55,81,137,20,148,60,0,42,0,8,79,60,0,42,0,48,52,41,79,223,86,32,150,94,91,68,59,82,216,242,220,225,79,208,142,42,129,69,136,43,138,46,113,97,113,184,153,11,130,86,152,193,145,60,0,42,0,196,95,122,86,60,0,42,0,97,78,151,130,248,118,153,153,162,83,76,85,247,144,194,94,88,110,3,127,9,145,10,145,37,122,89,132,21,145,177,123,215,125,183,129,140,133,68,137,192,95,167,154,152,158,0,107,214,116,118,149,114,148,100,154,60,0,42,0,109,79,232,116,230,139,160,94,25,104,101,121,116,125,212,127,115,138,237,141,60,0,42,0,171,78,175,78,205,84,119,153,81,102,232,152,243,96,132,146,9,153,158,156,207,102,157,155,1,136,215,155,255,151,87,153,95,153,118,156,60,0,42,0,17,84,224,89,247,93,131,134,121,152,230,115,66,88,63,127,86,136,97,140,5,152,43,132,207,80,232,82,151,146,145,93,97,106,192,149,174,86,211,135,80,137,12,148,76,156,60,0,42,0,127,105,92,156,60,0,42,0,31,102,182,87,141,154,250,96,41,115,75,113,70,116,101,129,245,134,234,137,181,123,194,123,143,155,208,102,242,137,95,147,2,154,168,118,249,155,60,0,42,0,17,82,76,136,98,95,162,144,128,79,73,150,139,87,16,109,201,144,152,148,25,90,101,131,88,150,78,120,207,148,3,146,206,110,118,146,146,146,222,146,60,0,42,0,24,58,114,119,146,145,228,100,60,0,42,0,116,81,79,103,211,89,120,94,39,96,22,80,71,131,94,90,187,96,172,109,149,131,200,125,8,130,57,91,214,129,60,0,42,0,216,84,196,136,3,139,60,0,42,0,1,84,12,98,244,101,158,117,241,118,40,107,229,128,123,152,71,102,15,138,124,152,87,134,90,134,30,140,173,90,65,94,223,99,81,110,81,216,224,223,91,134,199,136,8,152,72,105,162,122,10,152,24,86,0,151,83,86,159,88,3,91,3,126,81,135,70,155,84,107,102,133,221,138,67,139,123,126,80,148,73,154,26,155,86,155,60,0,42,0,198,79,144,95,163,132,60,0,42,0,184,139,116,84,193,89,233,139,148,81,41,104,221,115,102,80,49,138,138,102,97,138,48,122,200,124,38,145,145,145,232,118,60,0,42,0,237,101,53,79,143,94,127,108,144,79,121,83,52,96,128,108,167,130,217,83,100,96,43,102,43,109,15,70,191,87,48,107,136,107,197,112,236,115,214,82,77,101,88,101,215,82,252,112,234,126,237,126,87,145,163,85,251,88,127,90,2,103,134,110,110,125,57,138,73,97,102,113,201,140,210,105,53,111,74,111,226,118,129,119,210,125,95,128,196,132,138,146,93,115,56,122,214,125,99,155,178,119,199,133,218,133,140,126,110,156,60,0,42,0,83,128,154,125,255,132,60,0,42,0,74,82,182,117,225,62,134,132,116,151,254,53,165,143,170,143,155,133,190,151,60,0,42,0,116,122,136,101,116,78,102,91,164,92,195,92,246,108,19,131,52,158,149,136,5,142,198,88,120,91,168,93,169,111,226,113,133,61,247,137,228,150,253,157,60,0,42,0,234,150,213,156,72,156,60,0,42,0,64,136,112,53,55,84,121,87,216,114,86,104,17,140,144,141,20,139,37,112,60,0,42,0,164,129,48,106,93,130,76,143,60,0,42,0,5,84,105,143,13,102,163,91,50,95,210,142,139,104,22,140,167,85,71,88,151,90,3,97,11,97,206,99,132,102,74,113,68,116,49,132,50,132,123,119,210,132,7,81,174,123,7,126,231,127,86,135,215,146,193,97,164,121,224,138,252,138,127,133,121,147,253,153,254,127,9,136,206,119,252,133,16,134,94,139,60,0,42,0,132,115,185,115,35,54,195,117,172,96,203,101,1,116,1,135,217,90,41,111,182,102,135,116,98,64,136,106,191,116,248,97,60,0,42,0,186,84,69,102,220,112,9,144,53,53,120,144,72,152,99,118,108,118,60,0,42,0,48,96,235,108,230,57,33,102,171,112,218,126,41,119,201,148,4,116,52,119,82,136,168,136,50,110,98,125,101,105,102,105,73,146,185,120,25,133,95,149,153,151,180,152,60,126,79,126,199,147,130,139,25,141,60,0,42,0,26,156,60,0,42,0,67,87,203,82,217,87,4,113,219,82,100,88,143,113,168,122,242,82,18,133,243,82,232,153,206,88,111,115,171,133,219,102,251,113,208,129,176,133,196,119,129,126,13,134,230,88,186,145,60,0,42,0,251,91,245,94,236,101,111,154,74,103,225,93,67,117,226,139,203,92,66,96,53,109,84,109,3,125,18,104,106,104,229,107,227,115,64,131,104,131,113,80,4,55,11,92,170,95,215,99,101,216,176,221,98,138,180,153,198,105,67,111,159,156,90,86,76,61,111,111,41,145,51,101,51,106,214,113,149,116,243,135,79,156,88,156,101,112,60,0,42,0,66,83,173,139,175,139,40,79,91,108,197,143,154,79,250,93,135,95,229,114,137,107,10,138,19,138,25,138,255,143,10,144,94,89,253,93,190,107,4,122,59,97,208,140,92,144,64,86,96,111,72,133,85,157,11,114,104,152,66,148,60,0,42,0,145,86,60,0,42,0,246,81,68,81,43,52,71,81,8,83,187,139,247,95,121,108,197,84,95,96,54,109,247,128,248,128,41,138,126,138,239,140,60,0,42,0,196,150,138,113,60,0,42,0,61,113,60,0,42,0,199,139,56,113,87,138,16,89,123,101,75,216,204,223,60,0,39,0,208,253,39,0,19,49,60,0,42,0,75,78,47,101,110,83,65,108,49,84,245,93,101,108,103,87,157,103,220,108,229,119,199,126,162,128,157,130,0,104,211,121,214,121,209,128,221,128,1,80,183,117,87,121,234,121,2,129,124,136,187,150,148,104,108,121,37,105,248,129,32,98,24,100,25,122,149,125,176,105,148,121,24,135,182,153,196,59,247,156,50,157,68,157,84,126,5,159,53,134,60,0,42,0,103,98,132,79,183,89,244,118,234,89,36,80,60,80,64,128,222,145,244,87,247,87,71,216,28,222,212,109,76,128,173,140,13,105,150,107,134,114,119,125,1,137,214,141,237,85,225,116,131,121,68,146,140,88,109,100,189,153,2,91,121,97,16,111,47,142,52,106,177,129,40,81,54,126,119,128,217,135,96,142,196,142,145,142,60,0,42,0,2,89,98,107,234,83,167,82,232,101,64,87,65,87,11,94,122,98,102,108,154,108,184,126,47,150,62,96,167,98,79,216,181,220,183,130,171,84,73,96,7,99,179,103,20,109,11,120,73,121,117,143,187,117,219,65,25,125,121,136,253,109,40,138,190,141,249,142,32,73,249,158,111,145,226,133,103,137,60,0,42,0,243,129,36,150,215,95,238,95,123,98,150,130,120,140,97,216,104,220,54,82,148,83,129,87,25,94,28,94,187,108,153,112,40,141,217,92,162,94,164,94,3,99,227,103,9,104,55,109,244,129,227,143,197,144,33,90,143,95,73,216,122,222,26,99,74,102,78,104,254,114,81,121,233,121,61,141,126,143,95,150,127,78,107,80,64,216,183,222,157,95,1,58,183,99,189,104,86,105,24,115,100,117,212,117,242,121,247,121,146,122,41,125,208,127,159,136,160,136,215,137,218,148,55,158,130,80,68,216,118,223,59,93,88,95,122,102,222,110,227,117,237,134,253,142,152,154,216,91,204,94,49,100,205,110,26,122,107,123,110,127,241,141,10,143,39,149,201,150,134,88,70,216,57,220,239,110,76,111,144,117,186,67,253,136,159,137,140,138,141,146,95,94,132,97,111,100,171,113,58,122,251,125,45,68,163,129,239,137,234,140,44,142,213,146,243,100,216,101,4,112,228,153,25,157,149,82,229,97,219,106,73,122,69,66,178,135,9,54,49,55,235,97,242,100,4,141,205,106,198,116,246,137,239,155,41,121,81,140,45,154,58,154,71,154,147,142,217,157,85,148,82,140,60,0,42,0,234,81,231,79,148,95,34,139,60,0,42,0,78,98,18,84,175,98,83,89,19,99,228,103,251,103,243,84,103,80,179,85,248,99,35,110,66,105,132,82,99,100,182,118,29,106,240,137,187,118,71,139,68,159,71,159,60,0,42,0,45,103,52,117,248,149,187,134,225,148,96,113,80,114,152,149,154,123,43,128,88,147,87,139,60,0,42,0,143,83,195,98,242,130,40,119,31,120,41,100,138,156,157,156,55,142,147,155,186,155,98,69,60,0,42,0,77,78,121,112,200,139,164,84,222,103,5,104,184,112,177,91,196,117,177,134,80,138,62,100,160,110,168,105,94,216,10,222,5,151,161,145,60,0,42,0,7,135,251,85,236,90,110,144,60,0,42,0,135,83,152,98,125,107,250,119,19,120,119,124,116,134,242,84,209,87,89,59,141,124,96,85,138,96,98,102,99,102,111,59,169,136,132,143,134,85,240,134,95,138,253,65,42,140,178,153,122,100,18,143,212,120,25,143,184,146,153,143,196,135,158,86,43,139,58,139,191,155,77,143,129,139,139,139,60,0,42,0,5,128,125,78,107,85,23,149,135,121,109,141,54,137,117,137,60,0,42,0,217,143,216,103,89,109,219,109,25,144,28,106,106,111,23,133,103,158,197,135,38,72,211,157,60,0,42,0,64,119,87,132,60,0,42,0,90,99,139,101,142,101,88,100,184,105,29,69,75,159,103,216,115,220,60,0,42,0,133,91,161,106,60,0,42,0,132,122,89,146,60,0,42,0,58,80,38,120,181,80,232,91,53,118,60,0,42,0,8,89,130,124,60,0,42,0,75,79,138,148,177,89,246,93,219,98,45,102,196,118,215,145,65,85,74,146,203,153,188,122,99,147,189,118,60,0,42,0,42,114,126,98,188,108,117,116,3,66,60,0,42,0,236,83,70,81,207,139,155,103,151,87,164,112,227,114,117,141,10,123,129,128,208,101,249,104,110,67,84,138,103,113,105,127,7,66,135,128,136,128,153,141,204,102,243,113,161,155,194,106,190,119,132,127,60,0,42,0,165,46,43,114,64,127,60,0,42,0,222,93,31,130,204,139,156,79,104,84,50,109,234,139,208,112,216,115,128,143,159,95,4,58,171,99,205,109,234,119,238,144,60,158,140,85,165,124,82,141,49,144,8,143,223,68,130,146,217,140,22,143,12,151,233,118,5,139,67,157,6,154,120,139,60,0,42,0,175,89,116,143,248,142,60,0,42,0,152,128,26,94,155,117,109,102,247,131,109,119,146,123,222,155,60,0,42,0,163,126,55,79,106,84,146,84,153,91,201,126,145,81,174,84,60,102,2,125,196,128,177,118,110,131,78,145,93,102,153,124,115,52,75,138,100,132,118,138,3,117,253,80,186,118,206,153,99,86,80,216,242,223,16,126,164,154,64,124,85,124,82,124,95,154,60,0,42,0,191,112,242,153,60,0,42,0,190,108,225,107,195,101,52,104,152,124,197,134,230,152,201,96,64,138,136,141,121,138,154,149,53,140,97,86,166,93,17,151,8,108,10,108,157,133,133,144,187,119,111,158,220,101,107,139,88,153,227,156,89,154,89,155,99,156,7,158,60,0,42,0,157,139,60,0,42,0,169,101,208,152,85,92,207,118,45,93,172,101,45,56,43,105,22,116,10,55,12,100,222,118,131,93,132,93,144,105,173,152,248,90,134,145,79,106,106,64,62,143,98,216,192,222,94,216,6,223,72,216,122,221,245,158,60,0,42,0,96,83,84,79,24,98,8,104,95,104,217,122,97,80,253,126,231,104,91,110,218,131,38,98,187,125,152,93,26,143,48,98,101,134,102,134,177,137,79,143,103,139,102,216,71,221,79,154,56,134,60,0,42,0,30,141,48,54,136,148,166,79,72,109,205,115,206,115,215,128,158,140,152,53,42,94,21,104,98,104,30,119,31,119,39,120,221,145,117,80,109,104,111,121,89,145,202,91,195,90,71,216,200,222,56,100,159,101,104,105,73,115,116,132,73,144,65,146,85,151,155,105,157,107,103,116,4,117,170,120,142,121,150,132,193,132,103,111,155,121,180,123,60,106,181,111,251,129,49,147,67,143,124,147,189,133,72,124,117,156,60,0,42,0,49,52,202,139,174,98,149,103,43,95,35,102,120,143,82,92,91,117,185,117,21,119,62,125,68,128,151,136,58,138,235,142,124,125,28,127,214,136,180,74,57,122,215,153,37,126,18,155,240,158,60,0,42,0,51,87,188,126,53,150,61,117,178,79,11,99,182,66,41,158,47,99,21,103,26,104,22,125,99,150,57,119,72,141,86,145,213,99,102,88,113,116,171,138,209,140,244,71,118,101,71,149,7,151,6,157,173,147,174,147,60,0,42,0,25,132,244,146,60,0,42,0,32,95,53,95,224,122,189,80,135,88,220,90,112,95,73,216,84,221,94,97,51,111,80,115,187,124,35,145,178,102,31,106,80,216,100,223,139,116,1,133,103,144,38,153,209,135,63,154,70,156,158,158,60,0,42,0,201,78,127,149,119,149,168,109,140,99,50,111,3,121,60,0,42,0,8,78,215,78,89,98,16,94,86,103,192,128,38,141,51,94,177,109,57,129,238,117,130,93,91,94,156,150,236,140,44,118,52,118,149,119,60,0,42,0,128,124,101,94,241,147,35,148,60,0,42,0,137,78,66,79,195,89,129,95,20,96,45,114,228,139,67,216,156,220,229,92,35,99,161,112,240,114,221,112,16,119,178,148,233,87,29,93,34,93,153,99,25,115,65,119,71,128,97,216,19,223,238,148,156,90,193,99,93,123,57,59,176,95,92,119,102,146,180,95,184,132,143,123,181,95,45,142,220,123,26,147,7,155,214,155,101,118,60,0,42,0,54,108,141,98,253,124,239,98,159,99,120,102,56,97,156,100,116,101,60,0,42,0,99,107,193,139,39,94,63,101,209,144,199,117,64,94,60,138,99,88,187,64,95,216,132,221,35,66,205,138,45,145,10,157,73,139,109,73,60,0,42,0,231,81,60,0,42,0,49,103,175,82,143,79,219,139,25,109,190,144,42,104,224,115,49,131,248,139,42,115,67,120,252,121,226,148,81,125,219,134,190,136,133,138,230,141,224,105,107,135,150,146,101,106,116,111,248,138,108,140,239,153,162,155,56,157,38,112,235,106,231,106,250,155,4,159,41,136,60,0,42,0,249,122,207,108,250,122,162,112,1,123,219,112,139,122,63,131,28,123,51,130,16,144,3,118,201,123,237,113,11,136,133,142,65,156,78,91,95,112,239,102,24,107,37,114,62,136,60,0,42,0,54,78,59,78,67,216,13,220,148,91,196,98,92,127,26,110,124,150,110,113,93,138,81,113,49,86,208,111,136,158,169,119,154,82,209,86,184,101,218,119,60,0,42,0,43,79,71,79,79,79,169,82,187,126,126,87,124,103,232,108,206,130,46,141,236,143,123,154,244,88,241,103,182,107,183,112,176,117,29,119,43,120,93,121,218,122,105,121,53,125,56,125,156,127,135,131,192,134,64,93,81,123,59,138,175,140,211,141,244,142,248,148,111,123,82,146,181,153,184,123,229,127,38,106,243,146,208,153,235,123,20,151,134,158,68,148,60,0,42,0,184,88,60,0,42,0,147,98,155,106,188,129,253,154,59,124,60,0,42,0,83,83,217,98,170,112,44,80,73,99,76,104,193,104,191,109,243,104,91,122,87,216,26,223,147,75,113,122,63,136,60,0,42,0,52,87,116,95,75,108,179,114,124,112,213,83,176,89,171,101,74,109,1,131,53,78,94,109,252,139,76,145,68,85,69,85,58,90,251,57,108,59,178,104,245,112,177,101,107,102,19,105,56,116,1,68,84,216,205,221,122,120,161,122,108,127,178,101,213,105,175,100,198,100,154,121,117,65,193,138,209,138,220,146,193,111,231,123,98,216,231,221,226,100,128,101,181,101,239,111,80,216,248,223,225,106,54,139,111,149,107,157,66,112,23,136,47,148,50,148,87,124,223,157,113,124,60,0,42,0,133,82,60,0,42,0,167,122,60,0,42,0,253,98,60,0,42,0,233,141,60,0,42,0,185,150,253,143,147,154,37,149,16,147,5,154,123,157,60,0,42,0,157,108,60,0,42,0,96,87,88,104,13,123,55,90,0,127,244,96,18,127,119,117,0,117,126,120,180,125,135,129,88,141,156,88,200,138,138,145,11,126,35,147,31,153,8,121,5,141,117,139,91,143,70,148,60,0,42,0,19,78,192,83,2,92,22,120,8,92,124,88,229,90,31,145,124,116,215,120,158,129,155,152,14,117,218,120,239,138,228,135,83,152,68,156,60,0,42,0,108,143,104,91,226,142,241,122,113,72,73,143,60,0,42,0,119,112,109,85,31,88,81,116,94,129,131,132,206,80,90,141,176,100,198,123,148,153,249,123,250,140,72,137,84,139,76,153,192,86,81,124,60,0,42,0,146,91,171,128,205,143,128,122,6,140,196,138,96,136,60,0,42,0,198,81,251,87,150,110,167,125,60,0,42,0,48,138,21,122,60,0,42,0,214,81,60,0,42,0,134,89,132,94,157,89,36,90,105,104,88,131,137,104,138,131,119,110,167,124,197,136,221,136,1,106,218,124,60,0,42,0,238,88,239,88,182,114,192,114,245,88,11,113,52,111,158,100,7,98,60,0,42,0,146,94,60,0,42,0,45,78,0,79,119,108,35,82,144,89,120,95,224,95,200,108,130,112,200,126,90,216,21,223,202,103,197,118,159,148,215,65,47,130,115,136,119,136,66,125,33,146,82,94,58,149,32,133,191,146,164,135,189,135,126,147,40,159,113,142,24,148,100,216,94,221,102,124,60,0,42,0,191,128,205,121,162,81,160,85,48,92,90,88,92,88,113,107,68,113,107,129,7,118,46,122,53,142,92,122,60,0,42,0,242,78,23,79,149,89,198,114,76,121,205,145,61,131,155,134,118,136,69,80,62,119,57,88,145,90,87,123,70,136,229,138,60,0,42,0,218,143,60,0,39,0,208,253,39,0,20,49,60,0,42,0,3,84,153,79,231,84,104,95,245,128,169,134,49,158,53,119,30,123,171,85,251,116,53,138,228,85,184,90,244,117,122,125,91,100,68,86,186,138,157,119,31,157,173,135,97,118,93,159,81,155,114,95,208,158,60,0,42,0,27,95,96,108,112,154,123,87,187,92,223,143,1,99,254,122,12,131,109,107,78,131,179,134,127,141,66,123,190,140,141,141,69,144,179,153,142,123,95,144,128,88,38,111,31,142,234,123,114,144,24,139,98,216,50,222,60,0,42,0,58,92,250,83,78,84,136,79,118,83,127,159,145,87,227,128,101,96,180,61,142,124,188,66,59,128,135,134,60,107,111,107,178,136,179,136,237,136,121,146,82,159,43,137,60,0,42,0,115,95,241,83,165,101,88,103,123,112,100,141,108,153,182,98,197,82,92,96,189,112,209,82,196,127,197,127,85,101,254,112,211,117,123,85,97,57,65,110,115,120,237,152,186,80,248,117,95,129,238,141,83,146,244,150,8,118,228,127,144,146,87,97,143,97,27,118,232,127,107,144,190,113,216,97,169,141,32,72,78,153,146,157,216,157,60,0,42,0,155,89,182,158,60,0,42,0,201,83,96,98,72,103,81,216,47,223,158,128,255,129,63,99,91,80,210,99,247,99,135,153,207,85,159,146,56,149,128,117,86,130,100,147,55,153,60,0,42,0,197,121,158,87,229,103,44,131,54,131,86,93,57,115,107,151,61,100,103,138,223,91,206,105,180,120,87,216,215,222,171,106,101,216,212,223,60,0,42,0,105,136,69,142,114,149,84,148,60,0,42,0,124,89,74,108,148,92,152,79,231,139,249,89,1,125,238,93,213,71,107,138,60,0,42,0,102,143,33,79,202,142,229,79,23,120,19,85,151,131,104,120,252,134,60,0,42,0,111,98,86,80,163,71,166,100,60,0,42,0,110,92,123,95,124,87,224,143,52,57,226,112,237,63,45,53,69,128,163,99,105,120,25,152,185,95,164,100,136,111,26,59,246,82,174,119,32,71,33,114,60,0,42,0,134,130,198,98,151,148,245,145,60,0,42,0,170,79,244,103,122,140,97,121,141,85,21,81,92,159,60,0,42,0,29,131,60,0,42,0,127,134,131,136,13,138,37,118,6,136,198,86,60,0,42,0,132,98,72,216,126,220,40,95,10,96,41,107,158,148,44,138,47,113,81,216,116,222,133,141,20,146,230,82,255,74,60,0,42,0,74,114,65,102,226,93,227,93,29,103,12,159,5,111,27,145,50,86,20,106,110,111,178,122,122,127,72,143,2,159,63,139,60,0,42,0,53,84,146,112,39,119,35,113,124,113,168,158,208,93,60,0,42,0,230,78,239,78,22,128,216,137,60,0,42,0,189,98,100,90,10,100,51,118,216,123,168,114,171,114,60,0,42,0,199,78,30,96,230,79,49,94,38,104,198,96,44,125,248,126,6,105,116,117,82,125,215,131,1,97,151,118,32,122,121,123,103,145,108,145,162,125,239,136,12,142,20,81,212,150,139,86,38,91,108,94,228,97,253,113,181,133,224,150,135,117,76,124,138,142,187,145,142,139,144,139,60,0,42,0,17,78,18,78,28,84,123,103,125,103,180,79,98,80,133,119,156,145,193,119,87,155,60,0,42,0,237,129,240,129,160,107,90,144,60,0,42,0,191,143,199,137,0,100,180,104,152,137,70,146,231,136,211,146,104,94,92,137,25,101,60,0,42,0,117,90,23,140,206,104,121,110,139,153,88,113,133,121,32,127,221,80,81,115,73,135,151,138,3,81,11,91,219,94,121,111,122,111,254,125,182,111,219,120,203,146,218,107,170,121,97,149,13,112,236,135,61,145,51,81,150,82,254,135,181,86,201,93,58,112,65,145,3,107,143,126,146,126,148,142,117,149,108,130,146,139,113,148,94,153,60,0,42,0,167,78,44,82,245,101,51,78,186,101,80,109,87,82,4,140,116,85,34,117,35,117,242,148,16,150,119,82,135,132,124,93,76,100,251,110,61,86,93,94,194,138,179,149,163,154,192,113,70,133,5,124,129,81,95,126,66,139,180,143,223,147,225,149,197,86,91,112,135,139,60,0,42,0,207,95,95,120,4,59,114,100,244,97,164,152,250,97,188,127,194,151,107,152,60,0,42,0,229,88,60,0,42,0,187,98,117,99,244,144,27,116,212,85,157,125,139,119,195,138,221,140,29,126,19,139,60,0,42,0,24,92,227,129,241,95,136,108,137,108,176,143,72,150,231,143,184,91,30,131,80,101,104,102,128,131,144,131,38,138,12,140,217,142,115,150,22,97,232,99,2,146,65,113,117,88,14,118,4,106,47,133,3,151,246,138,180,135,188,133,142,158,223,102,208,157,60,0,42,0,187,141,118,120,156,120,139,88,38,89,227,120,56,142,86,147,2,141,166,145,60,0,42,0,162,117,108,136,128,159,129,141,130,141,135,105,83,159,44,81,84,159,45,81,171,86,54,140,236,106,111,137,150,139,60,0,42,0,229,112,60,0,42,0,37,79,12,102,0,80,60,90,208,109,22,115,10,150,127,102,41,116,214,131,32,149,238,136,41,147,182,149,179,156,150,75,231,155,104,216,135,220,26,159,60,0,42,0,231,78,79,81,160,128,204,130,120,149,29,92,127,80,56,94,156,95,250,116,7,132,30,117,120,129,23,86,114,88,230,90,122,116,147,129,255,146,31,81,144,86,191,156,219,147,104,156,60,0,42,0,130,83,58,87,54,102,221,96,52,88,94,101,216,80,176,83,224,94,5,108,249,146,60,0,42,0,5,96,154,115,69,117,33,80,47,155,49,85,181,96,59,113,82,116,162,102,124,117,175,138,212,151,60,0,42,0,25,105,208,135,60,0,42,0,223,108,55,150,253,103,47,114,126,109,240,121,65,80,207,134,245,54,230,104,94,110,90,114,36,116,106,141,220,80,134,97,90,100,49,122,87,151,144,100,145,100,253,125,85,106,160,119,108,141,51,152,137,106,192,122,106,122,246,135,243,147,255,147,83,153,60,0,42,0,30,78,16,98,62,103,72,84,127,98,168,103,218,139,87,78,206,87,13,90,248,92,6,109,213,144,88,78,213,87,172,91,48,99,95,102,249,115,0,129,129,99,245,115,154,122,45,129,127,131,214,148,24,88,233,96,214,104,9,105,11,122,108,123,126,125,77,88,86,88,151,110,128,120,248,65,206,136,160,138,123,117,114,145,238,146,149,97,130,111,132,111,89,106,153,106,19,112,242,97,96,216,93,221,44,154,60,0,42,0,177,79,142,95,156,96,139,154,177,94,30,144,72,119,1,154,60,0,42,0,228,121,60,0,42,0,206,155,60,0,42,0,250,81,128,92,29,82,116,100,23,106,153,140,99,159,60,0,42,0,13,82,187,130,100,150,168,83,96,140,4,149,176,90,193,110,33,128,13,135,142,141,79,146,207,150,81,53,147,114,162,132,173,132,97,56,218,94,79,133,228,146,113,106,232,123,110,94,201,106,219,150,229,106,248,133,112,142,135,142,181,157,149,142,60,0,42,0,230,81,117,103,64,120,168,80,24,105,110,105,90,105,26,137,203,111,50,81,154,106,14,121,109,159,0,158,124,159,60,0,42,0,141,78,4,89,204,122,53,96,192,98,204,126,86,140,247,103,42,107,208,122,246,79,74,101,92,117,71,54,241,87,255,115,64,125,85,134,151,80,33,116,16,100,192,110,230,137,16,145,0,142,166,149,10,81,60,86,235,132,212,138,183,97,182,101,92,107,197,129,220,158,248,137,215,119,60,0,42,0,139,105,123,106,180,116,245,135,60,0,42,0,59,107,88,107,60,0,42,0,52,144,20,142,51,98,60,0,42,0,204,46,205,46,182,143,181,143,139,60,21,90,22,90,217,96,176,109,240,126,124,90,79,129,141,143,206,68,107,145,189,125,160,141,31,143,138,159,201,100,237,120,91,126,96,107,189,86,106,159,97,148,60,0,42,0,227,99,11,100,60,0,42,0,151,129,60,0,42,0,92,85,44,86,170,129,57,142,60,0,42,0,57,84,138,112,60,0,42,0,130,87,21,80,192,87,118,99,240,104,14,105,68,129,114,150,37,100,217,131,36,149,204,105,160,123,24,147,64,152,154,147,60,0,42,0,161,159,60,0,42,0,219,93,221,93,26,108,127,122,118,82,45,115,79,116,60,0,42,0,29,79,32,79,33,130,41,130,57,130,12,87,179,80,61,105,68,144,183,102,197,123,50,143,60,0,42,0,27,130,72,131,152,85,66,107,226,80,51,142,60,0,42,0,76,108,50,78,148,115,143,148,231,145,215,140,168,157,60,0,42,0,254,101,118,103,37,102,62,88,139,90,5,132,153,102,63,105,67,116,186,123,125,135,65,106,52,143,165,129,196,106,6,156,158,157,104,216,185,220,60,0,42,0,175,126,7,85,113,109,20,125,89,150,243,109,35,129,188,131,123,110,137,114,227,110,81,158,24,111,147,132,244,132,135,145,149,145,30,147,217,155,137,157,60,0,42,0,70,80,247,96,54,132,118,119,240,140,34,136,60,0,42,0,5,82,174,117,147,122,151,122,78,114,80,100,85,114,33,118,187,122,60,0,42,0,138,94,64,114,71,86,98,94,60,0,42,0,239,149,184,80,100,100,226,120,214,149,60,0,42,0,27,82,6,96,49,82,79,82,89,82,212,81,117,82,52,97,60,0,42,0,69,81,178,81,225,95,150,108,58,131,122,109,235,115,192,127,2,130,3,86,79,100,184,95,131,97,167,97,93,136,185,65,127,127,95,130,86,142,60,0,42,0,107,134,7,93,8,93,128,150,223,125,105,135,8,137,242,135,30,114,60,0,42,0,160,91,235,87,65,216,165,221,245,91,60,0,42,0,243,148,240,99,131,146,60,0,39,0,208,253,39,0,21,49,60,0,42,0,56,92,49,89,8,94,94,84,113,134,215,139,36,158,77,92,189,101,73,109,238,114,191,144,43,94,65,125,246,145,100,110,127,110,31,146,174,110,188,110,69,115,121,132,105,138,71,146,72,146,97,116,146,132,205,132,242,156,104,135,254,156,94,216,121,222,186,156,213,111,89,216,136,220,55,137,102,147,104,216,20,220,244,155,36,156,179,157,121,137,60,0,42,0,65,83,99,153,243,119,109,78,187,143,246,101,198,139,67,216,52,220,158,91,159,91,249,101,252,89,213,92,254,98,187,112,128,134,223,152,224,152,216,87,66,102,79,121,179,131,212,91,92,110,82,88,161,110,72,144,80,146,230,91,175,105,148,132,85,135,21,66,165,156,43,159,88,139,45,159,35,156,60,0,42,0,242,83,226,119,104,78,85,140,127,79,203,89,118,154,88,81,169,91,78,92,54,123,66,146,219,153,60,0,42,0,235,88,15,108,59,121,23,78,22,78,213,78,2,94,172,46,58,121,75,83,15,95,213,95,174,46,138,78,60,79,211,83,58,98,139,78,141,79,191,82,105,84,249,103,213,139,112,153,159,81,164,91,64,96,67,96,237,98,47,102,48,102,190,103,255,103,2,119,198,137,51,141,59,104,210,112,14,119,33,119,16,130,124,143,2,144,200,148,150,137,73,140,29,144,200,145,158,90,60,93,17,95,165,95,211,99,37,140,176,140,202,145,226,82,220,85,18,95,87,119,110,123,226,137,102,138,254,142,48,146,67,146,254,152,19,130,147,138,125,146,109,89,105,144,45,73,180,146,25,153,108,86,21,91,168,111,223,138,225,138,29,153,171,135,26,139,126,144,45,124,203,145,107,137,60,0,42,0,102,79,205,122,25,83,117,93,129,105,118,113,210,123,150,155,66,124,24,156,60,0,42,0,64,103,153,108,177,126,119,78,57,82,78,82,2,120,38,85,0,115,134,124,23,125,108,104,186,107,238,107,58,62,142,131,233,148,231,117,112,120,94,113,223,136,157,105,39,106,49,133,102,155,168,156,202,155,203,155,169,147,60,0,42,0,187,80,13,81,60,0,42,0,61,80,60,85,81,85,101,85,57,94,166,83,162,85,16,132,200,94,60,60,67,107,220,127,9,66,145,123,227,127,175,149,14,151,60,0,42,0,76,126,60,0,42,0,98,89,30,115,74,141,108,117,114,117,11,143,210,140,214,140,168,106,60,0,42,0,12,130,88,79,117,134,199,134,229,134,95,216,115,221,60,0,42,0,13,130,104,99,55,75,60,0,42,0,141,83,190,139,62,121,153,83,4,92,137,109,187,109,9,110,45,138,102,141,61,95,81,97,66,100,68,100,224,110,116,97,117,100,14,133,89,107,216,151,7,154,2,136,19,71,254,97,29,101,68,112,157,158,7,107,60,0,42,0,14,130,60,0,42,0,19,61,91,123,126,145,233,123,1,124,27,124,195,145,60,0,42,0,122,126,60,0,42,0,82,102,32,59,183,149,236,102,60,0,42,0,48,95,78,99,231,112,162,104,166,131,60,113,13,122,211,101,114,123,68,130,248,134,14,143,210,113,48,66,181,152,254,154,185,155,60,0,42,0,250,82,141,130,214,103,191,115,213,130,240,122,246,151,60,0,42,0,17,92,96,216,24,222,32,69,60,0,42,0,173,82,114,83,205,126,181,144,232,84,11,90,57,125,145,136,68,119,164,125,114,111,60,0,42,0,113,133,60,0,42,0,206,83,54,101,60,0,42,0,75,98,136,91,168,87,150,153,79,130,60,0,42,0,255,91,215,83,233,114,125,81,46,85,136,99,173,109,246,126,233,117,253,88,172,125,0,89,38,118,245,70,120,115,201,147,60,0,42,0,76,98,99,115,60,0,42,0,113,92,97,95,150,144,32,82,42,82,73,103,205,89,215,89,159,130,144,148,245,103,230,114,202,115,34,130,235,130,107,136,207,87,193,117,213,142,59,99,24,123,32,129,218,141,124,82,39,100,7,86,83,94,125,113,120,111,152,111,134,106,63,126,187,129,180,127,182,127,197,155,17,60,60,0,42,0,94,216,62,222,60,0,42,0,234,149,85,150,131,149,93,150,142,58,113,102,84,113,82,119,140,113,162,137,60,0,42,0,170,139,85,108,204,56,157,117,97,82,71,98,21,138,120,141,158,99,228,145,147,80,132,85,143,146,159,154,208,80,160,88,161,88,108,111,85,216,49,221,46,127,47,145,23,91,197,100,63,106,90,107,179,129,73,76,240,120,6,139,97,141,32,65,85,126,238,135,71,73,250,135,113,139,13,141,37,148,77,153,56,154,221,156,87,112,83,156,84,156,60,0,42,0,56,87,99,103,138,149,126,101,60,0,42,0,51,117,126,92,95,98,56,79,171,142,129,79,123,84,189,89,118,124,197,126,220,139,250,89,219,103,32,108,197,115,124,122,120,124,32,90,247,92,33,117,18,119,55,120,82,101,241,109,51,125,152,131,95,81,253,104,55,138,96,132,209,136,117,138,67,216,221,222,39,117,225,132,24,133,202,113,234,153,185,156,209,102,147,133,98,157,245,155,58,156,60,0,42,0,192,78,26,117,94,121,32,76,60,0,42,0,30,95,165,144,161,91,228,119,194,84,231,119,183,91,2,140,9,140,118,90,22,110,32,138,233,91,215,138,35,152,107,155,203,102,37,152,171,119,56,91,11,112,2,60,190,137,133,139,60,0,42,0,190,128,186,79,26,102,194,128,129,109,24,119,23,110,36,129,115,121,78,129,60,97,78,97,57,105,6,118,103,127,3,135,4,135,242,110,224,146,46,118,60,0,42,0,20,88,138,105,48,156,60,0,42,0,36,79,135,107,70,85,222,137,183,80,146,88,111,97,243,110,33,111,164,107,181,113,15,133,170,135,244,137,42,139,58,155,60,0,42,0,167,87,68,98,76,102,79,141,222,140,24,141,92,148,60,0,42,0,4,78,10,78,25,92,26,92,102,96,241,126,212,125,157,151,60,0,42,0,233,78,243,136,60,0,42,0,71,83,31,117,79,84,240,88,152,101,41,150,7,102,233,108,204,114,13,104,133,107,114,114,196,115,252,130,97,60,94,150,25,123,121,150,102,110,58,113,37,117,78,146,114,128,42,159,127,157,60,0,42,0,243,126,180,97,105,126,93,139,60,0,42,0,1,119,26,119,87,80,59,110,60,0,42,0,35,87,220,128,96,102,112,82,219,118,105,82,221,82,185,140,74,93,30,116,86,128,173,88,186,105,66,133,248,140,60,0,42,0,212,122,251,102,115,106,60,0,42,0,102,78,179,107,23,92,146,98,190,126,80,52,212,83,120,103,162,103,221,89,78,150,15,80,16,80,248,102,138,107,19,125,147,99,179,104,209,109,2,113,215,142,142,117,143,117,18,130,253,131,3,145,69,100,249,107,128,125,147,143,254,141,8,142,30,106,121,116,44,133,56,143,126,106,155,155,4,101,53,81,104,157,60,0,42,0,235,121,76,90,112,91,78,141,126,88,159,113,185,116,22,141,60,0,42,0,33,159,94,92,145,102,205,158,143,102,114,127,0,135,32,159,123,111,217,102,255,62,165,133,175,133,89,118,247,133,97,137,108,92,105,137,131,148,60,0,42,0,46,103,47,103,13,98,95,103,173,108,184,79,193,81,176,84,55,96,17,104,214,122,240,143,85,96,82,99,87,131,182,94,187,94,73,125,83,136,12,92,131,150,112,101,234,122,103,129,129,132,203,136,101,146,133,88,49,111,68,111,120,101,141,111,78,140,57,106,214,111,48,147,64,66,227,147,144,157,106,134,60,0,42,0,45,112,236,124,52,136,106,156,112,156,60,0,42,0,55,82,48,85,60,0,42,0,13,128,60,0,42,0,156,138,60,0,42,0,244,139,254,84,170,138,172,138,60,0,42,0,129,89,193,112,20,103,196,148,54,107,85,120,223,119,32,100,202,105,169,120,180,132,97,115,190,123,88,216,151,220,153,147,13,114,96,148,60,0,42,0,112,136,84,100,96,216,46,221,60,0,42,0,41,117,60,0,42,0,5,94,37,94,77,216,26,222,192,135,91,83,60,0,42,0,1,140,61,129,176,138,60,0,42,0,52,108,60,0,42,0,40,94,151,109,154,109,113,121,5,122,14,122,97,119,222,136,147,119,60,0,42,0,53,108,58,108,150,149,60,0,42,0,233,149,244,98,130,149,19,104,60,0,42,0,174,109,104,129,60,0,42,0,46,84,60,0,42,0,122,152,28,130,6,152,83,106,154,119,99,133,172,119,10,155,60,0,42,0,204,83,28,151,217,150,64,91,166,154,71,91,59,154,6,107,53,121,222,157,116,158,118,66,109,130,102,154,24,158,60,0,42,0,61,114,125,88,97,97,58,111,9,106,20,126,238,69,60,0,42,0,64,112,60,0,42,0,239,147,60,0,39,0,208,253,39,0,22,49,60,0,42,0,156,46,229,101,114,154,248,86,240,145,36,146,185,153,60,0,42,0,249,96,60,0,42,0,237,112,177,113,60,0,42,0,6,90,118,153,97,104,91,131,8,91,72,106,88,133,83,137,82,153,60,0,42,0,112,98,162,150,254,100,60,0,42,0,213,126,118,144,94,126,60,0,42,0,185,83,184,121,212,103,131,90,201,99,24,110,99,113,72,116,19,68,71,132,197,124,90,135,66,142,46,143,82,147,163,151,199,116,37,154,7,156,148,157,60,0,42,0,136,124,122,105,214,151,60,0,42,0,188,46,137,128,141,91,108,129,60,0,42,0,101,84,176,128,166,134,123,136,135,136,186,134,161,136,54,113,229,154,43,86,35,55,239,154,195,113,78,126,51,69,60,0,42,0,132,81,137,81,204,89,211,103,195,115,210,130,163,90,106,106,60,0,42,0,133,132,60,0,42,0,186,78,187,78,193,78,236,88,200,95,50,103,206,95,194,121,162,130,19,146,92,155,139,146,62,67,64,157,60,0,42,0,205,95,32,104,35,104,79,131,249,121,117,131,239,104,20,122,60,0,42,0,3,82,4,82,164,139,222,78,237,78,177,139,251,78,123,92,131,92,52,56,104,98,171,126,182,46,88,216,76,223,138,89,82,103,99,114,180,126,149,128,107,143,231,151,106,153,217,89,77,121,9,125,29,125,125,136,18,138,212,142,149,104,62,62,224,142,238,65,77,125,77,129,181,136,109,151,113,151,204,151,234,152,90,132,141,138,1,153,60,0,42,0,155,125,181,142,60,0,42,0,99,122,52,81,247,82,60,112,125,115,24,134,228,116,179,121,112,122,116,66,159,142,36,155,60,0,42,0,204,88,183,86,228,88,24,101,25,114,149,126,60,0,42,0,169,139,249,97,114,139,147,139,60,0,42,0,84,98,60,0,42,0,205,78,66,216,168,223,65,59,184,143,61,121,177,62,126,150,60,0,42,0,191,130,60,0,42,0,130,89,154,144,158,79,36,94,71,104,57,131,247,148,42,110,78,123,189,136,152,132,163,146,97,135,18,81,96,133,17,157,133,86,44,91,122,91,225,111,61,157,216,102,248,113,183,133,21,136,102,137,165,152,185,145,108,152,108,156,60,0,42,0,93,108,151,128,115,78,177,143,15,145,233,100,60,0,42,0,101,81,51,109,213,85,183,90,189,110,27,127,208,132,31,126,37,137,60,0,42,0,86,98,65,103,188,143,240,156,191,93,60,0,42,0,60,99,60,0,42,0,124,99,60,0,42,0,210,83,229,130,49,95,76,80,3,110,43,113,0,145,73,105,187,132,172,123,219,123,7,114,25,156,47,156,184,157,60,0,42,0,118,93,60,0,42,0,81,90,117,104,36,117,204,125,100,133,16,75,60,0,42,0,100,106,74,133,75,133,96,126,2,134,3,134,60,0,42,0,109,108,152,103,174,130,50,65,139,134,16,149,94,116,127,119,57,135,179,146,237,146,225,83,98,216,232,221,171,58,225,88,60,0,42,0,39,88,139,100,214,88,60,0,42,0,46,150,10,103,111,143,14,128,68,80,223,142,134,90,76,116,157,120,219,125,244,68,45,143,192,116,29,121,60,0,42,0,164,119,60,0,42,0,240,149,166,109,143,149,160,149,100,111,77,106,182,129,60,0,42,0,56,131,60,0,42,0,14,98,156,128,4,104,232,114,210,126,185,91,92,59,231,107,25,131,99,131,255,112,70,72,88,93,239,65,104,125,162,127,182,90,198,90,100,93,8,100,17,100,182,110,209,56,149,105,174,105,181,105,148,113,98,116,201,132,65,122,126,135,85,149,25,126,141,135,142,135,35,137,229,153,246,154,43,91,184,93,3,114,148,147,28,112,198,93,231,102,17,136,104,216,254,220,60,0,42,0,151,81,130,91,72,87,74,216,232,222,135,80,245,142,4,108,60,0,42,0,39,157,60,0,42,0,67,122,60,0,39,0,208,253,39,0,23,49,60,0,42,0,114,78,92,91,121,81,168,84,213,89,255,89,10,131,37,104,134,115,14,125,50,131,64,141,68,141,196,109,246,121,1,127,24,140,222,85,115,91,107,93,20,105,125,110,203,110,162,124,142,143,118,91,88,132,220,137,62,138,178,140,199,140,145,141,17,145,49,149,140,121,53,122,199,125,45,146,67,149,135,159,28,143,172,111,238,138,166,141,58,143,25,147,237,154,187,156,18,159,127,147,161,147,190,116,63,152,62,152,212,155,133,157,77,159,105,216,203,221,38,156,60,0,42,0,251,132,60,0,42,0,64,216,148,220,212,78,7,84,77,103,173,62,201,89,202,89,247,119,196,121,112,84,125,124,20,128,207,128,120,134,237,121,147,104,43,123,232,145,89,85,43,125,211,110,63,138,159,105,60,0,42,0,87,91,234,129,147,130,216,57,51,80,90,82,99,96,120,114,33,131,13,110,37,119,38,119,212,128,254,128,44,111,116,60,60,0,42,0,80,91,48,93,116,106,60,0,42,0,0,94,29,83,158,108,130,84,202,143,246,98,37,125,46,125,84,146,115,155,220,129,226,129,60,0,42,0,66,103,56,120,122,80,146,85,244,151,209,150,75,216,141,221,187,93,252,120,77,137,220,150,203,86,208,86,229,150,60,0,42,0,139,84,60,0,42,0,25,82,158,98,162,108,233,98,206,108,253,108,35,141,71,82,238,143,93,131,54,85,103,85,59,94,46,123,52,130,172,140,173,110,224,119,22,86,231,90,88,94,166,123,13,106,206,138,92,141,199,100,164,111,159,118,148,119,0,124,11,121,46,139,254,140,12,136,87,137,90,159,106,69,112,159,5,158,60,0,42,0,40,89,196,78,130,94,68,108,3,102,23,102,81,99,49,93,60,0,42,0,44,79,54,133,60,0,42,0,125,112,126,112,62,117,201,84,61,104,214,112,61,110,209,131,117,119,243,140,60,0,42,0,176,91,61,93,193,67,60,0,42,0,141,81,40,87,87,98,162,79,5,109,125,143,164,80,9,143,104,145,14,81,33,126,60,0,42,0,60,141,29,98,202,140,151,156,253,155,8,136,2,156,97,156,60,0,42,0,174,80,109,144,223,124,103,142,169,145,60,0,42,0,255,81,127,148,60,0,42,0,233,101,163,103,164,134,215,104,161,111,170,116,187,133,112,126,251,133,60,0,42,0,118,112,129,118,130,118,21,85,35,85,141,104,32,144,191,85,65,130,101,97,106,86,229,113,9,124,95,139,174,141,129,142,195,122,200,122,60,0,42,0,6,104,60,0,42,0,185,144,122,154,249,139,240,144,108,150,247,104,248,104,198,131,18,145,131,123,197,125,207,138,176,156,57,145,235,155,192,158,54,154,113,159,122,159,60,0,42,0,113,141,112,141,60,0,42,0,79,89,205,99,113,105,117,61,60,0,42,0,208,155,60,0,42,0,66,81,204,124,42,124,46,124,21,148,31,148,60,0,42,0,177,84,60,0,42,0,29,102,175,108,90,104,193,91,235,60,221,99,70,86,141,100,39,81,5,101,18,101,57,81,34,101,177,141,56,121,178,141,60,0,42,0,130,102,6,53,171,102,219,140,94,141,62,147,253,111,84,142,60,145,201,116,10,141,232,147,210,116,58,55,82,112,131,139,71,145,218,116,182,121,120,137,154,139,97,153,60,0,42,0,14,96,60,0,42,0,46,140,86,139,91,139,60,0,42,0,206,86,60,0,42,0,40,83,66,114,152,127,67,141,205,140,231,129,216,140,53,133,19,141,210,154,28,141,60,0,42,0,117,154,212,153,60,0,42,0,56,54,88,89,9,95,15,129,95,88,108,132,186,146,211,129,223,129,60,0,42,0,151,88,158,88,142,97,47,127,43,145,103,106,183,113,148,116,240,119,243,120,126,127,82,126,68,139,60,0,42,0,3,149,229,146,96,141,17,117,8,141,60,0,42,0,91,156,60,0,42,0,223,121,69,132,169,132,60,0,42,0,70,83,179,141,82,83,235,84,18,93,42,93,207,101,182,80,164,123,36,142,63,142,94,149,195,147,60,0,42,0,197,139,196,126,59,150,206,79,60,114,199,115,86,121,68,125,91,138,123,151,3,69,60,0,42,0,186,147,60,0,42,0,40,102,232,121,125,99,139,131,10,105,34,116,19,122,112,123,60,146,60,0,42,0,64,216,135,220,230,93,80,79,40,85,83,126,60,0,42,0,92,79,80,87,52,54,157,92,158,92,13,96,60,150,179,79,217,128,17,85,167,94,90,121,90,80,48,57,110,59,143,136,67,132,68,132,245,152,0,54,243,124,60,0,42,0,151,84,217,132,60,0,42,0,156,83,24,103,112,59,250,85,54,106,213,135,151,126,60,0,42,0,138,93,52,86,181,93,127,86,187,116,60,0,42,0,44,104,74,125,84,145,0,103,108,102,125,121,33,122,106,127,160,143,220,105,123,145,137,145,94,133,247,146,10,147,135,106,140,106,60,0,42,0,160,103,93,122,60,0,42,0,187,148,96,216,86,222,156,142,125,148,60,0,42,0,100,126,53,127,130,126,137,126,107,124,152,126,60,0,42,0,37,101,90,148,60,0,42,0,10,92,171,88,255,88,159,93,61,106,117,144,92,126,71,127,15,148,223,156,82,156,247,157,60,0,42,0,212,80,66,86,153,100,63,69,80,139,60,0,42,0,88,99,140,146,60,0,42,0,142,157,60,0,42,0,151,91,39,80,252,126,148,154,43,88,79,93,85,93,254,96,213,104,35,115,89,129,33,103,54,105,124,132,120,93,83,64,47,122,156,125,195,125,167,113,38,66,245,125,234,127,108,135,40,142,42,142,235,120,80,147,117,140,100,142,12,154,3,155,35,154,9,155,55,155,238,155,252,155,65,148,60,0,42,0,59,96,108,80,116,99,227,96,33,97,212,99,3,100,175,80,211,61,96,100,207,125,215,132,2,126,61,126,211,147,60,0,42,0,181,126,46,102,173,117,10,80,20,115,130,120,189,124,201,124,50,118,38,126,29,147,49,126,237,124,60,0,42,0,72,111,60,0,39,0,208,253,39,0,24,49,60,0,42,0,114,84,181,117,124,141,104,80,128,141,208,141,102,216,40,222,180,154,18,126,0,136,202,154,121,159,60,0,42,0,205,139,57,54,144,87,204,103,193,115,50,88,96,121,8,131,40,131,53,57,247,116,208,70,94,138,157,143,158,143,72,97,6,117,193,120,204,150,15,74,90,158,205,124,164,143,250,152,8,153,2,54,40,91,232,111,139,133,28,157,32,121,173,143,191,157,192,157,60,0,42,0,100,107,76,79,218,108,188,115,137,118,42,125,134,155,60,0,42,0,63,103,33,107,58,79,125,79,58,82,62,82,155,94,40,104,38,131,88,125,191,131,211,134,80,141,220,140,134,135,94,58,60,0,42,0,147,86,230,100,3,101,60,0,42,0,36,121,60,0,42,0,106,144,195,86,60,0,42,0,138,81,140,81,167,79,149,83,123,96,250,98,75,109,71,101,95,117,116,80,160,83,39,123,163,124,193,94,251,96,44,110,86,123,23,132,94,123,116,123,52,132,132,88,50,58,163,123,219,132,161,97,87,216,33,220,14,124,60,0,42,0,114,80,71,90,28,115,60,0,42,0,77,98,178,114,80,103,34,141,161,140,193,136,168,110,148,126,60,0,42,0,221,107,199,145,56,80,75,85,192,91,105,95,161,99,108,119,244,141,181,125,41,142,60,0,42,0,240,87,204,104,220,131,33,133,41,126,60,0,42,0,161,100,205,100,217,124,60,0,42,0,250,102,249,102,8,86,134,93,21,111,253,105,248,132,85,216,98,221,90,130,172,135,63,137,234,147,60,0,42,0,120,130,73,131,58,97,198,97,50,154,60,0,42,0,143,128,53,145,89,137,60,0,42,0,190,46,121,130,60,0,42,0,209,81,74,110,96,129,143,143,51,143,60,0,42,0,194,83,195,83,196,83,225,152,150,154,197,83,176,85,76,110,170,80,32,91,16,153,66,154,60,0,42,0,139,107,149,134,237,96,152,107,90,97,69,135,89,97,221,69,49,91,54,136,58,136,60,0,42,0,232,96,1,103,88,97,175,97,71,122,248,123,234,158,242,158,60,0,42,0,127,112,209,54,186,99,113,91,178,124,123,100,175,111,230,113,168,116,146,133,50,139,60,0,42,0,15,81,24,114,60,0,42,0,126,93,60,0,42,0,145,92,148,109,18,123,163,104,60,0,42,0,211,78,250,78,39,79,167,108,205,130,39,158,9,80,49,130,150,80,98,93,196,110,74,115,188,132,89,130,165,135,172,157,60,0,42,0,207,133,118,148,60,0,42,0,110,65,246,140,60,0,42,0,248,111,73,127,12,107,60,0,42,0,253,102,76,86,60,0,42,0,66,92,254,102,100,92,146,93,29,59,242,122,85,66,83,154,60,0,42,0,109,142,60,0,42,0,151,124,213,137,129,158,132,158,164,158,60,0,42,0,130,95,130,107,60,0,42,0,195,79,29,115,40,129,98,145,4,118,142,138,151,141,72,86,177,97,31,133,39,142,139,145,47,118,7,124,44,126,89,142,68,73,0,159,116,142,117,142,99,152,60,0,42,0,19,100,115,116,174,100,203,120,115,144,73,142,157,145,60,0,42,0,107,59,88,134,228,117,73,119,236,119,111,93,115,93,171,132,22,133,126,158,66,145,122,158,166,142,60,0,42,0,30,129,60,0,42,0,73,82,82,82,157,83,14,89,43,99,170,99,157,131,161,131,174,101,228,104,42,144,9,149,25,149,204,132,117,107,188,146,47,147,60,0,42,0,20,93,172,80,215,81,30,127,148,88,32,55,137,93,91,97,103,100,177,105,85,115,239,105,234,120,23,126,217,147,60,0,42,0,60,111,128,116,161,141,160,118,60,0,42,0,28,79,240,95,169,117,5,80,139,124,35,125,198,127,3,129,6,129,80,85,91,85,180,96,236,109,243,107,32,113,58,129,3,132,1,118,185,124,183,125,224,127,172,129,181,129,226,111,193,122,71,152,206,129,74,137,60,0,42,0,124,78,60,0,42,0,70,108,186,100,209,146,105,149,127,142,27,101,165,142,121,148,60,0,42,0,213,106,209,93,17,107,115,122,60,0,42,0,156,122,169,107,182,113,225,123,18,124,196,122,40,114,60,0,42,0,81,103,168,144,180,118,6,142,138,111,244,122,60,0,42,0,88,91,159,79,245,98,60,0,42,0,12,82,214,95,60,0,42,0,248,91,11,84,127,124,60,0,42,0,6,83,234,86,241,86,233,95,158,103,193,130,49,96,164,96,69,216,223,223,199,104,39,113,82,216,218,221,113,132,23,111,97,128,162,154,176,102,5,106,44,106,156,113,125,116,129,116,235,125,102,128,106,128,239,132,37,133,155,119,234,113,245,123,112,128,204,135,111,147,113,126,230,147,24,154,68,154,60,0,42,0,206,78,27,78,147,95,67,90,110,91,150,95,158,95,176,96,217,109,46,116,82,97,14,111,64,111,104,111,180,138,232,140,233,140,55,106,226,83,194,133,71,112,9,107,28,114,60,0,42,0,129,97,37,139,60,0,42,0,16,131,60,0,39,0,208,253,39,0,25,49,60,0,42,0,182,83,159,126,29,78,248,83,168,62,249,124,193,121,157,84,192,108,236,79,29,96,82,134,54,158,164,90,175,101,114,125,12,127,243,134,82,105,50,61,112,146,212,152,216,81,174,83,185,105,151,121,115,127,36,135,54,149,54,86,93,86,70,216,82,220,221,94,149,100,140,111,195,120,160,121,86,216,232,223,230,125,214,146,205,113,108,133,132,135,46,69,214,135,244,135,184,152,38,154,1,148,100,216,112,221,229,157,54,159,109,124,60,0,42,0,123,107,60,0,42,0,243,93,150,78,219,86,250,91,92,108,64,79,161,79,85,81,210,89,96,91,107,103,215,108,228,108,64,121,114,153,119,154,82,59,246,103,109,114,48,90,13,109,152,109,130,128,228,152,37,123,28,128,242,145,226,122,151,137,227,85,134,128,132,140,54,146,59,146,252,152,223,153,169,121,41,81,124,133,3,112,60,0,42,0,86,96,175,146,60,0,42,0,232,78,49,99,50,99,146,100,60,0,42,0,18,109,47,138,120,151,117,111,81,112,160,142,60,0,42,0,69,83,231,108,210,152,14,129,18,146,40,132,75,100,175,152,186,153,169,133,210,106,68,134,60,0,42,0,66,216,191,223,161,150,60,0,42,0,170,149,60,0,42,0,114,130,19,109,28,104,169,109,108,85,239,148,110,107,23,116,237,150,199,85,95,116,112,107,171,146,129,111,206,97,204,100,199,111,207,111,55,118,81,122,128,111,177,116,18,112,97,122,108,126,86,143,252,147,69,139,203,152,60,0,42,0,11,110,111,122,60,0,42,0,226,107,34,97,204,99,94,88,248,107,110,129,123,86,195,156,75,152,4,76,19,156,60,0,42,0,34,66,60,0,42,0,238,85,91,141,255,80,253,140,58,124,60,0,42,0,37,86,60,0,42,0,187,99,154,154,69,97,20,100,158,110,43,127,69,126,202,129,203,156,18,154,55,154,32,156,98,156,60,0,42,0,107,98,131,99,194,90,69,69,60,0,42,0,253,87,25,118,9,108,194,119,222,154,60,0,42,0,166,135,60,0,42,0,92,99,192,94,138,153,214,85,203,94,28,100,73,100,178,110,64,115,11,145,87,100,75,216,183,220,144,132,195,132,60,149,213,152,45,66,88,130,139,135,153,145,170,147,63,153,188,152,190,152,42,154,60,0,42,0,220,83,223,83,129,80,254,85,141,119,222,100,174,133,251,100,226,106,234,133,84,124,60,0,42,0,253,85,132,129,54,118,60,0,42,0,9,78,14,95,193,83,245,107,0,66,255,107,153,114,22,155,60,0,42,0,208,78,30,79,152,80,193,124,194,124,147,153,221,124,227,124,228,124,86,126,210,147,254,147,48,151,74,153,60,0,42,0,213,79,52,94,183,96,99,101,144,149,60,0,42,0,237,88,246,107,129,83,117,106,60,0,42,0,238,104,46,105,238,105,66,137,60,0,42,0,82,104,81,104,60,0,42,0,211,85,33,100,201,120,44,137,161,152,159,147,89,152,60,0,42,0,39,78,170,85,60,0,42,0,225,105,60,0,42,0,231,80,143,68,25,155,60,0,42,0,207,130,38,117,101,145,35,122,163,122,76,122,239,106,7,134,19,134,204,86,60,0,42,0,215,79,60,0,42,0,138,115,25,89,201,139,221,108,131,128,44,109,145,109,223,115,32,125,191,91,128,104,144,107,155,124,164,131,31,144,149,154,131,80,159,124,52,138,33,140,201,85,80,88,81,88,202,90,43,97,175,110,184,110,133,128,84,158,243,80,4,53,44,97,161,105,134,129,235,137,154,141,97,144,159,97,14,106,21,106,90,111,101,111,82,216,130,220,191,120,12,133,108,144,201,146,23,153,24,59,90,106,155,116,36,126,12,124,22,139,92,142,215,133,76,154,80,156,235,157,60,0,42,0,194,155,60,0,42,0,6,85,214,54,17,90,107,104,173,104,143,131,158,80,67,119,205,85,167,127,77,100,41,127,209,132,150,141,17,124,11,69,20,124,46,126,255,154,187,155,60,0,42,0,64,98,122,78,189,58,34,85,34,125,16,116,226,96,1,149,233,85,75,216,98,220,145,110,155,102,99,116,133,116,40,137,155,69,136,147,141,147,150,147,187,147,193,147,60,0,42,0,36,144,185,110,54,135,60,0,42,0,17,116,230,85,60,0,42,0,10,89,149,130,125,134,32,80,248,84,125,109,45,119,125,131,126,131,214,110,98,119,143,125,112,132,163,113,201,111,150,151,214,150,60,0,42,0,229,126,139,150,64,144,143,150,168,150,205,116,60,0,42,0,184,129,73,75,33,112,196,154,211,154,60,0,42,0,151,78,129,92,21,120,95,121,7,140,227,87,87,93,71,216,213,222,114,107,115,107,107,113,95,119,142,120,66,144,66,122,182,138,229,140,24,91,187,111,167,150,133,106,150,106,231,113,178,116,87,122,64,126,131,144,173,121,95,122,80,126,222,101,120,126,90,137,98,139,6,148,41,148,226,151,60,0,42,0,251,114,224,117,120,145,60,0,42,0,52,83,60,0,42,0,88,121,7,123,109,123,151,123,156,132,60,0,42,0,89,91,242,114,107,91,106,131,231,152,14,100,59,115,241,152,194,105,192,132,117,133,158,133,60,0,42,0,95,99,11,123,188,150,77,123,13,100,171,105,176,123,40,124,168,147,189,157,60,0,42,0,234,95,126,103,128,103,0,90,215,103,47,80,199,81,39,93,186,94,165,104,222,109,216,131,105,93,121,120,25,135,189,97,205,111,100,216,237,220,167,106,118,147,6,155,60,0,42,0,2,96,154,96,56,128,230,122,177,80,47,97,38,58,100,105,119,93,107,97,115,128,247,153,60,0,42,0,188,139,139,91,245,139,1,144,130,152,31,138,12,152,166,138,56,153,60,0,42,0,169,103,185,147,60,0,39,0,208,253,39,0,26,49,60,0,42,0,117,84,63,150,21,149,60,0,42,0,196,85,60,0,42,0,74,85,60,0,39,0,208,253,39,0,27,49,60,0,42,0,148,85,98,86,60,0,42,0,230,84,60,0,42,0,125,123,60,0,39,0,208,253,39,0,28,49,60,0,42,0,184,89,191,89,182,148,63,90,64,90,89,92,254,117,60,0,42,0,185,139,42,84,238,86,215,143,196,79,37,90,232,92,233,92,144,109,244,115,170,131,27,138,146,118,75,119,9,65,11,146,7,149,69,158,254,134,144,138,192,120,31,152,157,152,100,155,178,150,77,152,93,157,94,157,76,139,68,216,69,221,42,156,60,0,42,0,153,103,8,120,11,152,65,86,0,154,60,0,42,0,132,83,117,92,57,98,122,107,67,84,139,92,124,98,40,150,93,84,202,130,109,143,56,150,162,84,185,84,67,216,101,220,169,87,246,89,201,92,16,120,14,83,118,96,40,120,101,68,133,134,127,153,84,80,126,83,10,88,170,96,160,99,101,117,101,117,70,120,20,140,219,142,15,150,193,53,46,88,63,93,225,96,21,97,66,110,72,71,95,140,246,142,2,145,42,146,197,94,36,100,57,100,153,59,39,116,109,129,60,132,123,138,76,144,79,144,235,80,65,135,55,149,87,158,30,152,154,152,19,153,101,155,105,86,90,133,168,137,228,138,188,149,41,153,150,140,84,147,196,156,94,107,78,152,24,121,238,106,16,156,154,157,141,139,67,159,105,148,118,159,119,156,60,0,42,0,220,100,72,157,60,0,39,0,208,253,39,0,30,49,60,0,42,0,192,84,206,84,9,85,195,87,45,90,40,99,56,107,243,85,190,110,176,146,63,149,111,86,132,147,60,0,42,0,64,85,113,99,145,118,176,110,10,86,113,101,115,101,154,118,76,118,3,154,60,0,42,0,208,107,57,102,62,90,238,119,60,133,183,142,237,111,45,151,249,133,68,151,60,0,42,0,12,79,126,130,55,54,49,114,57,120,75,120,210,53,204,85,103,88,210,90,27,97,141,120,152,150,198,83,167,102,119,116,161,149,254,80,108,65,33,91,211,97,210,88,221,97,214,102,166,116,134,133,50,153,49,157,167,118,185,119,61,69,164,153,25,121,106,139,122,139,64,148,73,151,60,0,42,0,107,156,60,0,39,0,208,253,39,0,31,49,60,0,42,0,246,139,146,138,60,0,39,0,208,253,39,0,32,49,60,0,42,0,249,81,109,53,234,103,142,104,234,142,10,114,60,0,42,0,86,101,171,83,247,85,248,85,133,93,210,94,246,110,83,115,82,115,158,150,110,100,76,216,129,222,172,113,136,116,28,133,104,144,221,120,241,127,113,128,175,135,250,127,55,139,56,139,204,156,214,147,50,156,212,157,7,159,60,0,42,0,157,98,215,98,186,130,132,136,122,149,170,90,188,90,86,137,60,0,42,0,45,54,153,92,119,98,115,87,135,87,176,92,97,89,101,89,178,80,103,89,156,154,28,55,239,90,96,97,75,216,198,220,186,88,180,93,202,97,217,100,179,111,169,150,202,147,65,154,60,0,42,0,246,127,60,0,39,0,208,253,39,0,33,49,60,0,42,0,180,139,164,108,39,107,180,107,239,116,37,158,120,88,26,111,80,107,198,107,176,113,14,157,12,117,68,216,191,220,51,139,217,106,194,147,215,157,114,73,60,0,42,0,146,129,117,159,60,0,42,0,65,216,118,222,24,84,85,84,118,80,98,129,20,86,150,52,38,128,69,133,213,133,60,0,42,0,4,96,106,97,60,0,42,0,242,133,60,0,39,0,208,253,39,0,34,49,60,0,42,0,137,91,146,79,214,92,73,104,40,108,181,94,2,64,25,140,149,90,244,131,247,117,100,129,59,132,74,132,76,158,157,138,237,132,140,151,141,151,230,118,243,138,163,153,235,118,106,157,253,151,149,157,60,0,42,0,181,115,125,85,248,150,17,81,60,0,42,0,181,87,250,79,53,85,239,87,245,148,222,99,140,150,111,127,168,146,60,0,42,0,180,114,184,92,9,99,29,109,72,104,250,128,76,131,123,140,19,88,105,90,65,65,123,102,151,102,12,147,199,149,159,155,151,75,239,158,60,0,39,0,208,253,39,0,35,49,60,0,42,0,64,89,105,96,69,216,239,223,126,113,189,132,60,0,42,0,206,92,60,0,42,0,65,100,83,75,60,0,39,0,208,253,39,0,36,49,60,0,42,0,174,128,175,154,60,0,42,0,108,83,135,92,2,102,59,102,162,68,127,59,60,0,42,0,138,103,206,118,160,145,60,0,39,0,208,253,39,0,37,49,60,0,42,0,165,151,60,0,39,0,208,253,39,0,38,49,60,0,42,0,63,81,12,128,80,81,149,79,82,81,207,92,15,109,81,150,45,104,249,128,75,131,50,85,56,158,171,124,79,128,187,136,0,143,233,66,149,156,245,154,173,150,158,155,47,157,92,143,60,0,42,0,188,83,18,92,19,92,20,92,51,128,49,109,233,143,117,153,46,104,230,107,229,115,210,148,62,114,12,153,236,153,190,133,135,144,176,141,60,0,42,0,140,78,13,95,16,95,116,79,53,82,161,84,197,54,48,141,174,140,72,136,179,140,128,138,122,146,50,106,60,0,39,0,208,253,39,0,39,49,60,0,42,0,0,78,74,78,12,95,100,136,10,79,99,136,59,83,26,84,241,88,157,79,191,84,67,216,150,220,196,54,214,60,34,109,78,121,77,216,63,220,152,96,23,115,241,148,249,88,214,99,57,107,220,134,252,144,219,90,42,111,149,121,38,122,165,146,4,91,107,86,1,89,127,116,101,158,68,126,209,74,185,106,201,107,171,145,223,158,105,139,214,157,243,158,60,0,42,0,65,78,234,78,28,83,47,87,55,89,157,81,144,91,130,108,210,139,198,143,135,79,156,91,33,96,182,108,203,114,116,153,166,84,232,89,211,92,248,93,44,95,94,96,248,98,194,103,198,115,106,136,59,141,228,143,167,91,69,98,24,104,75,104,191,62,245,116,25,119,240,128,17,138,164,140,251,143,205,117,251,121,27,128,152,136,210,81,160,127,19,132,230,134,81,138,82,138,189,140,144,90,134,102,56,105,131,138,224,141,87,144,9,152,144,152,244,152,145,117,0,81,170,113,183,123,172,93,91,95,92,95,148,135,122,144,36,152,242,91,183,93,3,124,74,152,101,216,231,220,76,76,93,95,94,95,59,139,212,147,250,137,24,60,137,139,3,158,60,0,42,0,89,78,242,93,229,78,135,148,65,79,66,216,203,223,58,101,227,119,148,128,161,94,35,130,225,130,226,130,129,134,212,145,26,80,70,98,79,145,111,80,22,123,24,144,58,93,209,101,5,105,230,156,111,146,214,101,255,136,38,142,34,143,124,101,152,135,231,73,165,106,114,75,18,121,100,130,251,135,87,152,89,143,110,159,60,0,42,0,66,78,64,216,134,220,73,78,191,78,11,95,8,82,198,95,138,128,122,130,174,139,166,78,57,52,7,79,121,92,2,95,63,79,90,79,174,82,83,84,68,87,121,95,145,98,89,103,52,128,133,130,209,139,145,144,126,79,109,84,121,84,196,92,8,96,63,96,19,102,141,103,37,107,209,60,198,108,136,112,199,121,206,126,197,130,227,139,127,154,203,79,85,89,31,94,32,94,8,95,72,216,215,223,187,103,2,109,66,109,180,115,171,117,191,127,88,216,248,223,118,143,101,52,8,85,188,87,146,96,57,99,89,99,39,104,58,104,45,107,101,109,115,109,202,118,117,136,10,140,218,82,246,87,248,87,165,96,156,99,185,107,112,117,91,120,155,127,202,127,204,127,163,136,50,138,51,138,89,140,91,140,244,145,109,150,191,150,70,94,97,101,121,102,237,104,148,107,89,110,50,113,82,216,127,221,59,67,225,134,77,138,199,141,252,142,56,144,32,146,132,78,127,81,52,53,15,97,162,110,72,115,236,117,106,119,233,122,252,65,34,127,169,127,132,128,212,136,219,136,99,138,174,154,233,82,213,90,217,94,143,105,23,118,137,129,52,135,126,151,197,153,4,81,137,57,142,100,248,105,197,107,105,111,160,113,164,113,30,118,250,132,188,138,82,149,93,158,98,158,211,158,147,82,1,54,27,87,191,88,17,91,31,91,167,93,182,97,204,97,192,102,170,107,105,61,186,111,188,113,218,113,49,118,150,119,83,122,10,126,87,130,160,135,241,91,129,101,206,102,141,106,93,107,225,113,241,113,243,127,252,127,198,129,143,133,57,137,249,140,168,155,84,118,0,141,176,147,113,149,118,126,121,126,217,133,221,133,119,140,44,151,227,155,130,157,131,157,164,57,55,112,111,139,112,139,179,145,183,145,80,153,68,216,59,221,85,216,37,223,25,134,63,148,193,157,202,157,200,86,255,97,91,154,231,157,254,157,73,134,124,137,120,159,155,139,60,0,42,0,7,83,183,143,105,117,44,105,31,132,141,157,78,124,60,0,42,0,43,78,39,87,139,83,22,84,152,94,188,98,146,103,173,87,38,158,96,104,45,158,225,87,114,91,15,105,9,157,15,147,40,157,211,88,118,157,26,148,60,0,42,0,89,114,34,79,145,83,136,92,147,83,161,115,189,130,12,123,156,134,16,88,21,93,22,93,175,109,26,115,10,116,88,116,90,119,89,136,4,111,86,159,105,216,50,222,60,0,42,0,83,216,19,221,138,83,140,94,209,84,22,85,94,85,214,117,197,150,2,118,94,216,221,221,101,133,60,0,42,0,156,82,32,87,103,143,154,78,126,137,182,139,156,78,189,114,158,78,203,142,211,143,5,90,28,99,17,120,249,79,41,108,109,90,151,99,29,138,212,148,224,99,44,108,48,115,80,128,89,216,22,223,20,87,15,122,171,122,126,159,60,0,42,0,132,46,91,78,64,84,60,0,42,0,223,84,55,85,178,85,60,0,42,0,59,80,150,99,141,102,48,105,78,86,113,111,46,136,60,0,42,0,55,114,54,128,83,99,216,148,246,99,254,145,58,114,227,146,232,100,129,147,60,0,42,0,95,78,20,84,182,81,220,87,206,145,34,86,28,111,196,88,60,0,42,0,26,78,246,83,243,102,117,152,245,102,28,89,180,98,186,144,177,78,188,103,1,152,84,102,189,103,232,112,161,53,88,85,178,109,18,140,40,88,151,107,75,129,106,105,109,105,73,132,19,145,140,153,247,80,75,107,183,88,14,66,101,151,170,93,171,93,219,100,196,102,197,102,178,111,193,113,90,216,28,220,1,139,52,145,35,153,136,86,235,100,215,102,163,118,177,119,113,147,234,100,184,119,15,121,166,66,145,147,65,153,122,157,23,114,55,148,104,151,92,154,8,158,60,0,42,0,170,78,60,0,42,0,122,94,45,89,6,84,150,89,150,103,128,107,69,121,30,138,147,85,70,105,112,129,125,132,1,67,69,70,1,157,128,144,60,0,42,0,59,114,39,92,45,92,180,128,154,87,218,89,227,92,154,64,122,143,4,80,209,112,231,115,145,122,156,80,47,88,250,99,35,140,250,142,126,52,194,85,177,90,173,95,46,97,22,100,71,100,58,115,49,58,154,102,163,105,100,116,118,116,89,144,101,144,154,146,214,152,6,153,162,93,164,93,175,122,176,122,4,69,26,153,71,126,32,139,33,139,91,216,190,223,144,147,208,156,25,75,187,152,40,134,142,144,100,152,41,156,60,0,42,0,248,78,142,91,134,92,173,98,115,103,213,114,172,84,252,103,237,130,17,119,133,122,136,122,0,130,96,80,121,90,62,93,148,110,154,105,212,132,34,157,60,159,196,149,21,154,105,159,213,157,60,0,42,0,126,122,129,137,165,148,84,216,82,220,111,131,148,122,142,136,68,123,79,138,111,132,142,113,158,137,127,151,95,115,94,158,86,216,175,222,172,133,220,102,255,113,94,130,197,119,229,133,0,128,133,126,194,157,145,139,112,148,60,0,42,0,24,79,231,95,56,101,102,84,46,96,209,108,125,94,160,96,12,144,128,158,250,110,130,97,42,81,152,86,0,112,62,145,204,106,139,126,48,128,60,0,42,0,34,92,36,92,49,117,139,108,185,114,85,63,76,216,222,223,185,108,172,128,174,144,35,96,191,101,163,117,243,92,95,109,222,121,67,67,192,148,100,80,156,131,184,131,176,134,39,138,56,110,54,115,48,144,245,144,127,156,98,105,55,115,74,144,62,146,137,156,15,143,192,153,99,135,119,155,85,133,54,143,139,155,254,106,60,0,42,0,203,83,9,103,35,78,99,83,73,145,195,130,173,61,145,127,174,94,47,104,144,127,132,104,72,128,28,129,160,131,213,148,117,110,15,135,137,121,170,146,0,75,241,105,86,114,221,158,238,97,60,0,42,0,128,46,200,83,243,83,124,94,81,79,145,79,214,114,255,124,202,84,255,86,247,89,165,91,223,92,218,103,112,114,241,139,0,85,80,121,246,143,1,64,180,134,180,78,129,140,201,145,109,145,152,138,44,159,60,0,42,0,103,91,143,132,87,114,60,0,42,0,121,96,102,82,223,112,218,115,237,128,99,80,113,85,38,93,63,57,202,109,249,109,9,113,17,113,155,71,9,150,110,110,18,115,76,129,248,131,89,113,125,120,227,90,57,111,103,65,34,145,131,145,185,149,46,91,232,97,246,123,213,97,217,129,235,158,60,0,42,0,160,139,37,78,0,138,1,138,169,92,246,94,22,102,191,108,142,112,171,130,141,89,248,89,20,120,46,90,208,118,43,90,255,114,2,116,79,120,212,144,134,149,14,150,82,93,83,93,122,110,154,131,105,88,197,99,76,105,254,65,125,138,158,120,117,123,150,125,18,135,5,133,156,152,100,134,187,149,179,83,144,106,79,152,84,152,219,88,55,124,180,86,204,93,233,106,236,158,215,93,231,88,77,91,214,93,125,158,57,121,163,158,60,0,42,0,53,89,129,98,135,108,117,78,86,81,68,89,232,79,87,81,61,83,7,95,77,136,67,80,163,83,169,99,60,119,83,145,67,93,29,97,74,98,220,99,122,59,234,104,48,110,55,110,48,116,18,132,254,144,60,105,104,127,67,144,146,150,20,111,250,136,150,93,45,98,88,135,23,137,94,86,189,142,71,155,47,126,191,106,19,154,225,158,180,83,84,216,44,220,11,156,160,157,228,158,94,159,145,159,23,117,237,158,60,81,105,152,52,159,216,93,218,93,57,159,238,102,88,155,116,159,246,158,60,0,42,0,140,83,235,149,159,89,195,137,106,114,189,84,242,89,101,95,102,95,26,120,1,85,180,91,79,102,115,130,142,137,140,154,80,80,20,113,26,140,173,85,48,88,101,101,251,112,48,113,49,113,111,120,129,150,193,150,191,80,59,105,142,110,223,110,85,132,235,156,173,83,149,88,165,102,125,145,10,91,51,140,100,216,192,220,13,153,8,157,243,61,252,61,196,113,213,113,250,138,93,141,173,72,51,155,213,102,51,157,16,154,165,86,63,91,118,130,11,141,64,145,4,74,225,76,43,59,227,102,19,114,182,145,52,154,195,157,84,112,23,141,254,137,140,139,188,145,92,153,87,154,240,157,119,130,105,216,74,222,78,112,96,154,103,112,158,139,83,140,197,145,84,140,105,112,60,0,42,0,46,106,150,113,197,142,21,107,60,0,42,0,217,86,224,86,37,150,52,150,140,79,148,87,251,89,226,57,7,109,243,151,131,154,54,104,183,107,36,108,53,131,208,81,99,90,4,65,245,121,107,131,223,148,112,150,145,85,25,88,20,97,67,123,106,125,192,136,123,150,130,150,69,107,181,110,71,97,127,100,22,118,139,121,166,146,248,125,45,133,135,151,242,138,18,151,100,216,236,220,240,153,126,86,201,149,32,151,143,61,254,151,60,0,42,0,152,81,81,78,66,53,31,84,190,114,166,101,194,130,160,87,255,108,151,53,1,87,254,92,206,112,250,114,226,115,20,138,26,138,108,90,197,91,31,93,47,93,235,109,118,131,33,138,246,148,29,146,130,159,219,110,146,120,36,89,30,145,128,146,86,86,165,107,140,116,41,133,190,138,154,86,173,106,235,135,38,77,42,151,87,159,227,157,60,0,42,0,90,78,64,216,202,220,244,94,57,92,21,95,50,84,110,153,147,134,122,141,254,109,15,146,144,150,242,152,119,151,238,152,4,103,17,143,160,150,228,120,155,141,62,118,190,93,131,106,229,111,230,111,190,135,177,150,253,106,31,134,110,118,148,139,60,0,42,0,112,83,21,109,228,128,189,87,26,131,55,88,90,110,12,115,213,94,145,132,115,145,109,97,150,97,151,97,74,118,163,155,101,56,218,97,188,106,67,69,60,0,42,0,140,124,60,0,42,0,46,89,137,84,206,89,176,98,241,108,131,107,230,128,15,119,231,121,47,158,96,146,245,150,133,151,38,157,60,0,42,0,108,98,138,127,248,101,104,103,128,112,38,150,51,150,207,152,111,79,183,82,28,108,161,117,150,148,159,87,137,95,28,102,11,109,143,127,202,112,220,115,90,216,117,223,59,119,53,93,56,93,218,99,216,134,125,150,109,101,152,102,74,105,108,113,13,118,147,121,21,59,249,138,48,143,90,147,57,157,186,152,10,148,17,156,55,151,9,158,60,0,42,0,240,78,82,79,113,87,159,92,123,81,205,103,180,112,39,108,210,117,59,125,159,80,238,142,67,97,103,105,49,108,70,135,10,153,218,153,38,53,233,97,1,101,70,68,98,118,60,0,42,0,15,96,89,96,55,104,149,127,71,138,216,105,62,111,35,106,1,112,60,0,42,0,77,89,170,127,34,121,60,0,42,0,148,94,220,95,241,130,92,104,64,80,104,85,116,90,236,126,186,131,67,216,4,222,68,216,152,223,150,90,54,110,208,72,200,90,32,103,80,113,91,116,36,86,132,100,164,120,40,127,66,127,207,140,51,149,49,106,142,116,7,117,211,125,103,135,67,127,46,137,72,147,44,157,102,158,48,91,201,97,186,129,25,151,250,151,112,158,22,117,145,157,182,86,70,91,126,91,22,101,76,127,77,139,167,157,251,106,212,116,47,121,33,134,123,139,175,157,77,148,147,126,51,136,234,157,249,157,14,158,26,158,60,0,42,0,193,118,206,143,200,118,20,131,103,131,182,85,185,131,205,134,97,216,15,223,129,110,139,110,36,132,38,132,204,80,75,88,121,105,226,110,37,132,62,132,70,111,146,113,229,132,71,135,105,116,148,66,127,135,52,91,8,126,162,135,217,111,218,111,244,111,223,113,174,137,13,139,98,141,5,112,192,133,163,147,13,101,27,112,32,112,5,136,74,216,79,221,47,112,52,112,15,141,255,106,93,124,111,124,60,0,42,0,232,119,103,109,226,144,172,104,141,152,149,152,150,152,108,100,44,75,113,95,65,111,132,116,63,118,78,122,52,152,202,93,238,94,109,118,60,0,42,0,32,102,108,120,181,90,142,102,161,129,95,86,149,151,27,148,102,156,60,0,42,0,241,115,37,97,4,126,26,101,80,112,92,112,200,142,60,0,39,0,208,253,39,0,40,49,60,0,42,0,76,78,44,87,25,95,89,108,90,108,97,108,92,84,235,93,71,103,172,144,75,92,63,109,236,139,168,148,207,112,109,82,143,122,218,85,20,145,77,107,163,138,188,123,144,135,46,157,162,147,30,156,60,0,42,0,224,101,203,107,51,84,52,84,62,84,73,84,156,130,20,85,42,90,22,109,111,109,218,144,167,104,248,115,35,131,129,131,33,113,102,121,251,148,64,158,8,135,136,138,145,121,145,116,106,133,241,135,195,155,80,157,85,139,47,159,225,157,60,0,42,0,148,78,72,83,245,78,13,79,169,89,145,94,228,95,3,96,255,101,51,59,102,107,157,115,174,79,201,79,53,80,66,99,78,85,44,90,126,114,247,115,64,100,148,120,73,158,147,113,102,116,30,130,245,90,225,94,174,97,85,111,27,81,70,106,18,117,97,157,140,142,60,0,42,0,64,81,255,82,51,52,161,82,10,98,6,79,124,92,100,98,34,150,94,87,137,92,76,103,226,95,105,114,249,119,180,130,213,143,124,83,68,101,239,139,158,96,159,96,174,96,133,124,217,82,100,102,16,113,28,144,122,90,77,93,230,117,112,151,155,154,98,88,102,89,104,93,169,110,150,150,250,150,254,150,228,91,131,113,164,138,92,158,200,146,185,122,123,144,1,74,26,151,63,159,39,151,22,154,64,159,1,134,169,157,60,0,42,0,68,78,59,147,60,0,42,0,117,122,184,82,22,99,60,109,50,90,86,117,138,122,167,90,217,134,215,85,50,100,155,110,37,111,170,122,3,159,40,101,60,0,42,0,3,90,60,0,42,0,230,116,100,79,147,84,218,57,183,144,60,0,42,0,73,128,156,136,226,85,125,129,131,129,106,137,200,151,228,151,60,0,42,0,114,92,199,84,242,116,60,0,42,0,29,99,45,80,161,109,41,85,185,109,180,131,38,110,39,115,157,122,53,132,23,135,169,122,120,135,18,142,190,100,60,0,42,0,17,98,80,90,112,99,0,76,60,0,42,0,244,78,131,108,159,128,103,83,130,103,229,129,83,80,126,99,180,109,137,90,68,94,225,99,37,110,37,113,106,120,67,105,91,129,161,101,131,119,67,216,223,223,237,100,227,111,140,159,193,116,210,129,216,150,119,159,60,0,42,0,106,107,142,85,245,122,60,0,42,0,52,93,60,0,42,0,22,89,67,216,59,220,30,89,97,152,60,0,42,0,113,83,1,90,67,216,255,220,211,112,78,80,180,85,78,54,153,90,4,97,203,99,251,99,40,110,14,132,54,144,135,150,136,150,174,95,51,105,114,105,166,110,104,113,104,132,115,132,116,138,50,135,91,135,163,137,240,113,135,133,194,156,3,156,4,156,205,93,60,0,42,0,215,86,230,151,41,87,244,86,15,94,169,108,241,149,221,143,215,92,222,92,8,109,203,151,69,104,160,109,47,85,55,94,223,96,89,120,244,126,161,85,13,87,129,90,67,94,75,110,136,110,31,116,44,145,108,93,85,144,77,111,173,125,89,111,127,111,209,120,246,132,128,145,240,111,79,147,200,149,160,155,83,118,96,66,185,137,58,151,8,107,169,114,60,0,42,0,131,83,31,79,42,79,62,92,172,126,212,89,79,59,156,112,174,115,155,130,199,130,39,109,19,90,87,92,88,109,255,139,73,80,125,80,35,93,182,104,207,117,74,120,113,131,234,91,84,93,171,95,7,97,37,115,169,154,144,102,50,105,82,113,75,116,255,117,251,65,114,129,73,130,102,132,141,132,234,151,170,154,171,154,222,80,148,156,48,81,177,100,200,120,86,216,228,223,239,125,201,138,19,142,209,151,32,152,25,59,63,133,97,216,232,221,97,147,170,155,251,111,179,133,217,151,185,152,221,88,34,112,36,134,225,151,150,101,60,0,42,0,107,83,58,78,42,103,77,79,115,84,186,112,79,117,195,128,255,130,222,83,206,142,9,92,19,140,130,85,166,90,45,110,201,61,50,114,44,115,203,131,95,113,168,120,60,135,112,97,173,113,154,114,237,125,26,133,95,135,91,136,192,97,143,116,123,127,94,136,2,139,39,153,135,155,177,135,61,137,53,153,74,143,79,155,239,133,207,147,40,151,218,156,86,153,54,134,134,139,151,142,129,76,143,139,155,142,60,0,42,0,100,99,64,113,155,88,5,126,182,93,60,0,42,0,47,95,92,82,96,90,53,94,70,88,126,110,63,135,107,111,76,140,78,95,234,88,99,112,60,0,42,0,56,78,19,82,77,108,168,126,140,91,143,92,143,98,132,130,169,115,8,125,86,99,125,152,247,112,19,116,17,152,200,75,235,127,60,0,42,0,155,91,7,80,13,85,61,99,204,118,230,87,73,90,203,96,90,102,105,102,154,104,254,126,24,129,124,102,0,105,44,116,150,118,192,131,22,132,121,117,85,119,151,120,169,125,176,125,19,143,32,142,196,146,212,146,74,74,54,55,60,0,42,0,7,78,77,83,80,83,167,89,232,95,101,99,21,129,166,140,85,129,44,132,16,143,171,111,61,147,141,133,195,135,3,141,171,147,81,73,14,141,60,0,42,0,156,144,100,103,2,123,60,0,42,0,55,102,41,110,109,88,8,59,133,105,171,110,146,143,159,107,101,116,31,118,112,133,60,143,113,140,64,143,193,156,176,151,102,216,72,221,27,156,46,156,60,0,42,0,1,83,135,101,99,95,185,126,134,112,159,115,160,130,251,149,11,125,137,134,138,134,243,115,12,150,29,116,239,150,18,118,94,128,188,153,199,153,112,155,252,156,13,157,161,135,186,149,191,149,193,135,197,149,36,159,230,149,60,0,42,0,14,82,59,84,223,95,134,98,97,84,179,128,10,125,125,104,23,129,51,122,79,122,105,122,60,0,42,0,238,149,143,89,118,108,79,85,2,110,172,131,254,99,53,100,80,152,186,116,60,0,42,0,90,84,43,146,190,147,60,0,42,0,70,216,193,223,35,92,41,92,42,92,43,92,106,108,60,0,42,0,161,78,190,78,102,81,139,115,252,78,122,95,159,134,163,131,60,0,42,0,193,52,82,127,81,127,128,95,131,95,137,103,84,127,141,95,216,96,128,102,226,104,245,131,231,134,139,143,178,125,68,135,183,138,30,143,7,112,77,155,60,0,42,0,132,89,216,95,250,101,243,118,203,143,27,103,34,103,17,73,60,0,42,0,57,113,60,0,42,0,193,127,225,85,195,110,95,158,137,135,147,147,178,157,60,0,42,0,34,54,220,82,99,89,85,88,97,93,161,102,37,68,202,132,136,119,108,128,50,55,60,0,42,0,238,116,121,133,21,117,75,127,70,159,60,0,39,0,208,253,39,0,41,49,60,0,42,0,92,98,161,126,194,143,195,143,123,122,6,125,118,134,83,150,57,85,228,109,211,118,250,107,0,118,138,123,60,0,42,0,144,78,142,78,3,79,165,54,48,59,152,144,89,79,164,89,117,98,69,103,36,107,151,115,153,115,188,101,194,118,254,129,124,156,123,78,222,79,106,81,186,121,253,122,66,67,103,136,27,90,47,90,49,90,89,104,243,114,1,130,48,131,0,140,81,145,128,153,20,110,233,150,90,155,35,88,44,88,51,93,78,93,91,93,101,57,9,97,196,99,112,105,29,110,97,110,109,117,98,120,116,129,56,132,133,150,26,97,213,101,2,59,97,105,134,105,72,107,79,114,92,116,69,130,46,132,94,134,206,137,62,144,172,154,1,111,110,119,172,122,118,107,173,127,51,68,83,135,21,137,219,138,211,150,24,153,59,76,158,111,6,130,77,133,166,137,48,142,41,91,184,135,63,143,93,147,98,216,54,222,95,107,181,116,35,139,189,155,31,154,195,154,223,101,69,124,27,134,5,156,163,76,224,157,6,158,60,0,42,0,14,78,136,78,27,79,135,91,127,92,189,127,215,46,232,150,193,79,227,79,185,121,237,139,4,87,255,92,74,80,49,53,44,83,9,87,190,94,84,101,100,121,98,55,158,101,5,145,180,80,217,91,64,105,64,116,16,118,45,132,195,56,7,130,158,138,179,122,217,146,40,152,137,159,115,86,144,140,188,93,217,97,155,57,148,101,140,158,12,134,108,159,60,0,42,0,128,128,137,115,109,154,43,87,127,128,170,89,236,95,139,130,140,130,107,153,178,128,34,57,49,102,241,114,215,121,193,144,252,79,234,92,103,95,116,109,33,120,31,131,176,148,132,152,223,87,9,88,161,95,134,96,208,96,50,107,226,109,239,109,21,140,8,150,133,85,144,85,169,85,187,85,128,90,211,91,189,94,219,104,220,104,235,104,52,113,25,116,222,119,114,120,91,216,64,220,51,144,235,152,173,153,70,158,8,97,211,107,234,110,92,113,99,63,34,122,109,127,72,130,213,136,137,138,71,144,58,146,16,152,215,90,142,93,43,98,68,115,9,118,5,66,237,66,206,125,174,132,227,132,31,135,46,135,59,70,13,143,137,146,74,86,126,97,79,111,54,122,249,132,202,146,255,156,73,216,176,220,166,111,207,113,166,121,237,138,107,140,121,144,37,147,190,149,37,157,42,157,37,81,69,216,138,220,224,113,253,123,119,133,129,133,108,158,82,118,7,121,22,121,88,126,93,216,80,220,167,145,74,155,82,157,28,121,101,122,71,153,242,106,49,151,125,139,93,143,45,148,14,107,72,154,59,155,94,124,74,156,248,157,29,107,18,158,165,159,201,142,48,155,49,155,106,112,114,124,41,114,60,0,42,0,39,99,98,131,154,111,242,155,60,0,42,0,240,102,241,102,166,126,4,125,185,123,95,95,241,119,96,95,60,0,42,0,157,46,8,103,9,98,22,82,156,89,132,92,136,98,69,216,223,222,179,92,165,115,63,121,113,96,149,65,133,96,166,96,142,134,143,134,207,142,186,148,5,150,115,99,192,141,195,141,71,72,164,124,138,141,5,146,181,124,94,146,38,73,177,149,178,149,62,106,215,123,51,91,189,93,101,216,229,220,160,159,48,55,38,59,57,112,70,124,230,158,26,114,37,134,141,142,180,121,101,124,17,158,112,124,25,158,60,0,42,0,230,86,34,158,72,82,164,81,129,96,34,119,51,158,195,91,245,109,1,110,6,110,10,110,21,110,204,96,233,104,147,63,126,132,14,135,83,158,162,123,172,132,53,135,247,136,246,156,93,72,204,153,27,157,61,91,73,73,119,157,65,112,24,159,29,159,60,0,42,0,67,81,134,81,32,141,88,84,237,86,133,108,167,144,108,103,163,87,48,114,159,140,159,83,225,84,6,87,14,123,150,134,129,136,161,83,14,87,244,99,114,110,40,115,24,127,18,131,11,159,18,87,19,87,108,88,180,90,196,90,144,110,146,110,63,115,66,115,158,105,172,105,157,132,149,143,227,125,1,126,93,135,111,135,109,155,174,76,124,106,177,127,136,135,151,133,28,139,69,143,255,158,177,147,222,106,141,144,53,154,162,157,176,157,181,83,60,0,42,0,220,143,246,118,58,144,96,144,250,146,60,0,42,0,23,89,153,128,180,89,71,59,40,96,209,130,184,87,79,136,98,150,134,80,155,90,190,99,87,116,63,97,144,121,235,136,17,137,110,86,36,137,88,152,60,0,42,0,91,145,40,146,60,0,42,0,85,102,10,127,136,102,116,113,128,132,107,89,50,108,51,108,149,132,21,126,121,135,95,141,53,152,7,141,167,153,60,0,42,0,145,78,251,82,0,83,233,86,152,89,132,108,173,126,0,102,184,130,71,117,3,119,208,121,162,109,28,125,24,128,58,128,231,144,242,150,42,97,179,110,96,123,124,123,22,145,178,105,137,113,183,132,144,111,198,146,82,106,212,123,28,126,83,133,66,153,60,0,42,0,65,81,61,89,142,98,193,114,45,150,104,150,146,107,122,131,151,85,30,73,23,146,149,150,158,107,187,153,210,120,30,137,241,140,35,151,115,159,60,0,42,0,85,91,159,103,208,143,125,96,211,144,93,145,138,80,242,96,32,97,6,145,77,97,106,129,75,144,235,151,245,151,133,113,168,113,247,125,252,125,176,76,116,133,150,145,128,133,158,145,43,153,215,151,244,133,222,151,251,151,10,134,60,0,42,0,163,98,103,126,60,0,42,0,99,79,229,98,200,117,149,144,184,94,173,80,200,85,205,150,137,88,222,90,117,97,253,110,24,145,230,105,112,86,197,88,193,100,173,111,250,144,91,149,195,129,85,118,221,150,222,147,217,156,241,94,73,112,84,153,69,156,219,157,112,118,60,0,42,0,129,85,216,99,69,114,153,152,82,152,43,156,60,0,42,0,56,108,44,117,143,84,243,108,209,79,199,82,200,82,16,104,199,87,128,96,225,103,140,109,127,96,4,61,155,80,229,96,17,97,103,110,103,120,96,138,78,88,113,93,110,95,57,97,249,134,66,97,10,142,156,121,172,156,52,142,210,155,60,0,42,0,40,117,218,130,159,145,60,0,42,0,58,96,61,120,38,0,39,0,40,0,39,0,0,78,39,0,41,0,39,0,60,0,60,0,60,0,32,50,38,0,39,0,40,0,39,0,3,78,39,0,41,0,39,0,60,0,60,0,60,0,38,50,38,0,39,0,40,0,39,0,9,78,39,0,41,0,39,0,60,0,60,0,60,0,34,50,38,0,39,0,40,0,39,0,93,78,39,0,41,0,39,0,60,0,60,0,60,0,40,50,38,0,39,0,40,0,39,0,140,78,39,0,41,0,39,0,60,0,60,0,60,0,33,50,38,0,39,0,40,0,39,0,148,78,39,0,41,0,39,0,60,0,60,0,60,0,36,50,38,0,39,0,40,0,39,0,227,78,39,0,41,0,39,0,60,0,60,0,60,0,57,50,38,0,39,0,40,0,39,0,1,79,39,0,41,0,39,0,60,0,60,0,60,0,61,50,38,0,39,0,40,0,39,0,17,79,39,0,41,0,39,0,60,0,60,0,60,0,65,50,38,0,39,0,40,0,39,0,107,81,39,0,41,0,39,0,60,0,60,0,60,0,39,50,38,0,39,0,40,0,39,0,109,81,39,0,41,0,39,0,60,0,60,0,60,0,37,50,38,0,39,0,40,0,39,0,180,82,39,0,41,0,39,0,60,0,60,0,60,0,56,50,38,0,39,0,40,0,39,0,65,83,39,0,41,0,39,0,60,0,60,0,60,0,41,50,38,0,39,0,40,0,39,0,84,83,39,0,41,0,39,0,60,0,60,0,60,0,63,50,38,0,39,0,40,0,39,0,13,84,39,0,41,0,39,0,60,0,60,0,60,0,52,50,38,0,39,0,40,0,39,0,124,84,39,0,41,0,39,0,60,0,60,0,60,0,58,50,38,0,39,0,40,0,39,0,219,86,39,0,41,0,39,0,60,0,60,0,60,0,35,50,38,0,39,0,40,0,39,0,31,87,39,0,41,0,39,0,60,0,60,0,60,0,47,50,38,0,39,0,40,0,39,0,102,91,39,0,41,0,39,0,60,0,60,0,60,0,59,50,38,0,39,0,40,0,39,0,229,101,39,0,41,0,39,0,60,0,60,0,60,0,48,50,38,0,39,0,40,0,39,0,8,103,39,0,41,0,39,0,60,0,60,0,60,0,42,50,38,0,39,0,40,0,39,0,9,103,39,0,41,0,39,0,60,0,60,0,60,0,50,50,38,0,39,0,40,0,39,0,40,103,39,0,41,0,39,0,60,0,60,0,60,0,45,50,38,0,39,0,40,0,39,0,42,104,39,0,41,0,39,0,60,0,60,0,60,0,49,50,38,0,39,0,40,0,39,0,52,108,39,0,41,0,39,0,60,0,60,0,60,0,44,50,38,0,39,0,40,0,39,0,107,112,39,0,41,0,39,0,60,0,60,0,60,0,43,50,38,0,39,0,40,0,39,0,121,114,39,0,41,0,39,0,60,0,60,0,60,0,53,50,38,0,39,0,40,0,39,0,227,118,39,0,41,0,39,0,60,0,60,0,60,0,60,50,38,0,39,0,40,0,39,0,62,121,39,0,41,0,39,0,60,0,60,0,60,0,51,50,38,0,39,0,40,0,39,0,93,121,39,0,41,0,39,0,60,0,60,0,60,0,55,50,38,0,39,0,40,0,39,0,109,121,39,0,41,0,39,0,60,0,60,0,60,0,64,50,38,0,39,0,40,0,39,0,234,129,39,0,41,0,39,0,60,0,60,0,60,0,66,50,38,0,39,0,40,0,39,0,243,129,39,0,41,0,39,0,60,0,60,0,60,0,67,50,38,0,39,0,40,0,39,0,161,140,39,0,41,0,39,0,60,0,60,0,60,0,54,50,38,0,39,0,40,0,39,0,199,140,39,0,41,0,39,0,60,0,60,0,60,0,62,50,38,0,39,0,40,0,39,0,209,145,39,0,41,0,39,0,60,0,60,0,60,0,46,50,38,0,48,0,185,112,60,0,60,0,60,0,88,51,38,0,49,0,48,0,229,101,60,0,60,0,60,0,233,51,38,0,49,0,48,0,8,103,60,0,60,0,60,0,201,50,38,0,49,0,48,0,185,112,60,0,60,0,60,0,98,51,38,0,49,0,49,0,229,101,60,0,60,0,60,0,234,51,38,0,49,0,49,0,8,103,60,0,60,0,60,0,202,50,38,0,49,0,49,0,185,112,60,0,60,0,60,0,99,51,38,0,49,0,50,0,229,101,60,0,60,0,60,0,235,51,38,0,49,0,50,0,8,103,60,0,60,0,60,0,203,50,38,0,49,0,50,0,185,112,60,0,60,0,60,0,100,51,38,0,49,0,51,0,229,101,60,0,60,0,60,0,236,51,38,0,49,0,51,0,185,112,60,0,60,0,60,0,101,51,38,0,49,0,52,0,229,101,60,0,60,0,60,0,237,51,38,0,49,0,52,0,185,112,60,0,60,0,60,0,102,51,38,0,49,0,53,0,229,101,60,0,60,0,60,0,238,51,38,0,49,0,53,0,185,112,60,0,60,0,60,0,103,51,38,0,49,0,54,0,229,101,60,0,60,0,60,0,239,51,38,0,49,0,54,0,185,112,60,0,60,0,60,0,104,51,38,0,49,0,55,0,229,101,60,0,60,0,60,0,240,51,38,0,49,0,55,0,185,112,60,0,60,0,60,0,105,51,38,0,49,0,56,0,229,101,60,0,60,0,60,0,241,51,38,0,49,0,56,0,185,112,60,0,60,0,60,0,106,51,38,0,49,0,57,0,229,101,60,0,60,0,60,0,242,51,38,0,49,0,57,0,185,112,60,0,60,0,60,0,107,51,38,0,49,0,229,101,60,0,60,0,60,0,224,51,38,0,49,0,8,103,60,0,60,0,60,0,192,50,38,0,49,0,185,112,60,0,60,0,60,0,89,51,38,0,50,0,48,0,229,101,60,0,60,0,60,0,243,51,38,0,50,0,48,0,185,112,60,0,60,0,60,0,108,51,38,0,50,0,49,0,229,101,60,0,60,0,60,0,244,51,38,0,50,0,49,0,185,112,60,0,60,0,60,0,109,51,38,0,50,0,50,0,229,101,60,0,60,0,60,0,245,51,38,0,50,0,50,0,185,112,60,0,60,0,60,0,110,51,38,0,50,0,51,0,229,101,60,0,60,0,60,0,246,51,38,0,50,0,51,0,185,112,60,0,60,0,60,0,111,51,38,0,50,0,52,0,229,101,60,0,60,0,60,0,247,51,38,0,50,0,52,0,185,112,60,0,60,0,60,0,112,51,38,0,50,0,53,0,229,101,60,0,60,0,60,0,248,51,38,0,50,0,54,0,229,101,60,0,60,0,60,0,249,51,38,0,50,0,55,0,229,101,60,0,60,0,60,0,250,51,38,0,50,0,56,0,229,101,60,0,60,0,60,0,251,51,38,0,50,0,57,0,229,101,60,0,60,0,60,0,252,51,38,0,50,0,229,101,60,0,60,0,60,0,225,51,38,0,50,0,8,103,60,0,60,0,60,0,193,50,38,0,50,0,185,112,60,0,60,0,60,0,90,51,38,0,51,0,48,0,229,101,60,0,60,0,60,0,253,51,38,0,51,0,49,0,229,101,60,0,60,0,60,0,254,51,38,0,51,0,229,101,60,0,60,0,60,0,226,51,38,0,51,0,8,103,60,0,60,0,60,0,194,50,38,0,51,0,185,112,60,0,60,0,60,0,91,51,38,0,52,0,229,101,60,0,60,0,60,0,227,51,38,0,52,0,8,103,60,0,60,0,60,0,195,50,38,0,52,0,185,112,60,0,60,0,60,0,92,51,38,0,53,0,229,101,60,0,60,0,60,0,228,51,38,0,53,0,8,103,60,0,60,0,60,0,196,50,38,0,53,0,185,112,60,0,60,0,60,0,93,51,38,0,54,0,229,101,60,0,60,0,60,0,229,51,38,0,54,0,8,103,60,0,60,0,60,0,197,50,38,0,54,0,185,112,60,0,60,0,60,0,94,51,38,0,55,0,229,101,60,0,60,0,60,0,230,51,38,0,55,0,8,103,60,0,60,0,60,0,198,50,38,0,55,0,185,112,60,0,60,0,60,0,95,51,38,0,56,0,229,101,60,0,60,0,60,0,231,51,38,0,56,0,8,103,60,0,60,0,60,0,199,50,38,0,56,0,185,112,60,0,60,0,60,0,96,51,38,0,57,0,229,101,60,0,60,0,60,0,232,51,38,0,57,0,8,103,60,0,60,0,60,0,200,50,38,0,57,0,185,112,60,0,60,0,60,0,97,51,38,0,20,48,9,78,21,48,60,0,60,0,60,0,60,216,65,222,38,0,20,48,140,78,21,48,60,0,60,0,60,0,60,216,66,222,38,0,20,48,221,82,21,48,60,0,60,0,60,0,60,216,71,222,38,0,20,48,137,91,21,48,60,0,60,0,60,0,60,216,67,222,38,0,20,48,83,98,21,48,60,0,60,0,60,0,60,216,69,222,38,0,20,48,87,101,21,48,60,0,60,0,60,0,60,216,72,222,38,0,20,48,44,103,21,48,60,0,60,0,60,0,60,216,64,222,38,0,20,48,185,112,21,48,60,0,60,0,60,0,60,216,68,222,38,0,20,48,215,118,21,48,60,0,60,0,60,0,60,216,70,222,38,0,0,78,60,0,60,0,60,0,0,47,38,0,0,78,60,0,60,0,60,0,146,49,38,0,0,78,60,0,60,0,60,0,128,50,38,0,0,78,60,0,60,0,60,0,60,216,41,222,38,0,1,78,60,0,60,0,60,0,156,49,38,0,3,78,60,0,60,0,60,0,134,50,38,0,9,78,60,0,60,0,60,0,148,49,38,0,9,78,60,0,60,0,60,0,130,50,38,0,9,78,60,0,60,0,60,0,60,216,42,222,38,0,10,78,60,0,60,0,60,0,150,49,38,0,10,78,60,0,60,0,60,0,164,50,38,0,11,78,60,0,60,0,60,0,152,49,38,0,11,78,60,0,60,0,60,0,166,50,38,0,25,78,60,0,60,0,60,0,155,49,38,0,40,78,60,0,60,0,60,0,1,47,38,0,45,78,60,0,60,0,60,0,151,49,38,0,45,78,60,0,60,0,60,0,165,50,38,0,45,78,60,0,60,0,60,0,60,216,45,222,38,0,54,78,60,0,60,0,60,0,2,47,38,0,63,78,60,0,60,0,60,0,3,47,38,0,89,78,60,0,60,0,60,0,4,47,38,0,89,78,60,0,60,0,60,0,154,49,38,0,93,78,60,0,60,0,60,0,136,50,38,0,133,78,60,0,60,0,60,0,5,47,38,0,140,78,60,0,60,0,60,0,6,47,38,0,140,78,60,0,60,0,60,0,147,49,38,0,140,78,60,0,60,0,60,0,129,50,38,0,140,78,60,0,60,0,60,0,60,216,20,222,38,0,148,78,60,0,60,0,60,0,132,50,38,0,160,78,60,0,60,0,60,0,7,47,38,0,164,78,60,0,60,0,60,0,60,216,24,222,38,0,186,78,60,0,60,0,60,0,8,47,38,0,186,78,60,0,60,0,60,0,159,49,38,0,1,79,60,0,60,0,60,0,173,50,38,0,17,79,60,0,60,0,60,0,161,50,38,0,42,81,60,0,60,0,60,0,157,50,38,0,63,81,60,0,60,0,60,0,9,47,38,0,101,81,60,0,60,0,60,0,10,47,38,0,107,81,60,0,60,0,60,0,11,47,38,0,107,81,60,0,60,0,60,0,135,50,38,0,109,81,60,0,60,0,60,0,133,50,38,0,130,81,60,0,60,0,60,0,12,47,38,0,141,81,60,0,60,0,60,0,60,216,30,222,38,0,150,81,60,0,60,0,60,0,13,47,38,0,153,81,60,0,60,0,60,0,162,50,38,0,171,81,60,0,60,0,60,0,14,47,38,0,224,81,60,0,60,0,60,0,15,47,38,0,245,81,60,0,60,0,60,0,16,47,38,0,0,82,60,0,60,0,60,0,17,47,38,0,29,82,60,0,60,0,60,0,60,216,32,222,38,0,77,82,60,0,60,0,60,0,60,216,28,222,38,0,114,82,60,0,60,0,60,0,60,216,57,222,38,0,155,82,60,0,60,0,60,0,18,47,38,0,180,82,60,0,60,0,60,0,152,50,38,0,249,82,60,0,60,0,60,0,19,47,38,0,21,83,60,0,60,0,60,0,20,47,38,0,26,83,60,0,60,0,60,0,21,47,38,0,56,83,60,0,60,0,60,0,22,47,38,0,59,83,60,0,60,0,60,0,169,50,38,0,65,83,60,0,60,0,60,0,23,47,38,0,65,83,60,0,60,0,60,0,56,48,38,0,65,83,60,0,60,0,60,0,137,50,38,0,68,83,60,0,60,0,60,0,57,48,38,0,69,83,60,0,60,0,60,0,58,48,38,0,84,83,60,0,60,0,60,0,175,50,38,0,92,83,60,0,60,0,60,0,24,47,38,0,105,83,60,0,60,0,60,0,25,47,38,0,112,83,60,0,60,0,60,0,158,50,38,0,130,83,60,0,60,0,60,0,26,47,38,0,182,83,60,0,60,0,60,0,27,47,38,0,200,83,60,0,60,0,60,0,28,47,38,0,204,83,60,0,60,0,60,0,60,216,18,222,38,0,227,83,60,0,60,0,60,0,29,47,38,0,239,83,60,0,60,0,60,0,60,216,81,222,38,0,243,83,60,0,60,0,60,0,168,50,38,0,243,83,60,0,60,0,60,0,60,216,46,222,38,0,8,84,60,0,60,0,60,0,60,216,52,222,38,0,13,84,60,0,60,0,60,0,148,50,38,0,57,84,60,0,60,0,60,0,60,216,37,222,38,0,79,85,60,0,60,0,60,0,68,50,38,0,182,85,60,0,60,0,60,0,60,216,58,222,38,0,215,86,60,0,60,0,60,0,30,47,38,0,219,86,60,0,60,0,60,0,149,49,38,0,219,86,60,0,60,0,60,0,131,50,38,0,31,87,60,0,60,0,60,0,31,47,38,0,31,87,60,0,60,0,60,0,143,50,38,0,48,87,60,0,60,0,60,0,158,49,38,0,235,88,60,0,60,0,60,0,32,47,38,0,240,88,60,0,60,0,60,0,60,216,36,222,38,0,2,89,60,0,60,0,60,0,33,47,38,0,10,89,60,0,60,0,60,0,34,47,38,0,21,89,60,0,60,0,60,0,35,47,38,0,26,89,60,0,60,0,60,0,60,216,21,222,38,0,28,89,60,0,60,0,60,0,176,50,38,0,39,89,60,0,60,0,60,0,36,47,38,0,39,89,99,107,60,0,60,0,60,0,125,51,38,0,41,89,60,0,60,0,60,0,157,49,38,0,41,89,60,0,60,0,60,0,60,216,23,222,38,0,115,89,60,0,60,0,60,0,37,47,38,0,115,89,60,0,60,0,60,0,155,50,38,0,80,91,60,0,60,0,60,0,38,47,38,0,87,91,60,0,60,0,60,0,60,216,17,222,38,0,102,91,60,0,60,0,60,0,171,50,38,0,128,91,60,0,60,0,60,0,39,47,38,0,151,91,60,0,60,0,60,0,170,50,38,0,248,91,60,0,60,0,60,0,40,47,38,0,15,92,60,0,60,0,60,0,41,47,38,0,34,92,60,0,60,0,60,0,42,47,38,0,56,92,60,0,60,0,60,0,43,47,38,0,110,92,60,0,60,0,60,0,44,47,38,0,113,92,60,0,60,0,60,0,45,47,38,0,219,93,60,0,60,0,60,0,46,47,38,0,229,93,60,0,60,0,60,0,47,47,38,0,230,93,60,0,60,0,60,0,167,50,38,0,230,93,60,0,60,0,60,0,60,216,44,222,38,0,241,93,60,0,60,0,60,0,48,47,38,0,254,93,60,0,60,0,60,0,49,47,38,0,114,94,60,0,60,0,60,0,50,47,38,0,115,94,16,98,60,0,60,0,60,0,123,51,38,0,122,94,60,0,60,0,60,0,51,47,38,0,124,94,60,0,60,0,60,0,69,50,38,0,127,94,60,0,60,0,60,0,52,47,38,0,244,94,60,0,60,0,60,0,53,47,38,0,254,94,60,0,60,0,60,0,54,47,38,0,11,95,60,0,60,0,60,0,55,47,38,0,19,95,60,0,60,0,60,0,56,47,38,0,80,95,60,0,60,0,60,0,57,47,38,0,97,95,60,0,60,0,60,0,58,47,38,0,115,95,60,0,60,0,60,0,59,47,38,0,140,95,60,0,60,0,60,0,60,216,29,222,38,0,151,95,60,0,60,0,60,0,60,216,80,222,38,0,195,95,60,0,60,0,60,0,60,47,38,0,8,98,60,0,60,0,60,0,61,47,38,0,54,98,60,0,60,0,60,0,62,47,38,0,75,98,60,0,60,0,60,0,63,47,38,0,75,98,60,0,60,0,60,0,60,216,16,222,38,0,83,98,60,0,60,0,60,0,60,216,49,222,38,0,149,98,60,0,60,0,60,0,60,216,39,222,38,0,7,99,60,0,60,0,60,0,60,216,47,222,38,0,85,99,60,0,60,0,60,0,60,216,40,222,38,0,47,101,60,0,60,0,60,0,64,47,38,0,52,101,60,0,60,0,60,0,65,47,38,0,135,101,60,0,60,0,60,0,66,47,38,0,135,101,60,0,60,0,60,0,70,50,38,0,151,101,60,0,60,0,60,0,67,47,38,0,153,101,60,0,60,0,60,0,60,216,27,222,38,0,164,101,60,0,60,0,60,0,68,47,38,0,176,101,60,0,60,0,60,0,60,216,31,222,38,0,185,101,60,0,60,0,60,0,69,47,38,0,224,101,60,0,60,0,60,0,70,47,38,0,229,101,60,0,60,0,60,0,71,47,38,0,229,101,60,0,60,0,60,0,144,50,38,0,14,102,187,108,60,0,60,0,60,0,126,51,38,0,32,102,60,0,60,0,60,0,60,216,25,222,38,0,45,102,140,84,60,0,60,0,60,0,124,51,38,0,240,102,60,0,60,0,60,0,72,47,38,0,8,103,60,0,60,0,60,0,73,47,38,0,8,103,60,0,60,0,60,0,138,50,38,0,8,103,60,0,60,0,60,0,60,216,55,222,38,0,9,103,60,0,60,0,60,0,146,50,38,0,9,103,60,0,60,0,60,0,60,216,54,222,38,0,40,103,60,0,60,0,60,0,74,47,38,0,40,103,60,0,60,0,60,0,141,50,38,0,42,104,60,0,60,0,60,0,145,50,38,0,42,104,15,95,26,79,62,121,60,0,60,0,60,0,127,51,38,0,32,107,60,0,60,0,60,0,75,47,38,0,98,107,60,0,60,0,60,0,76,47,38,0,99,107,60,0,60,0,60,0,163,50,38,0,121,107,60,0,60,0,60,0,77,47,38,0,179,107,60,0,60,0,60,0,78,47,38,0,203,107,60,0,60,0,60,0,79,47,38,0,205,107,60,0,60,0,60,0,159,46,38,0,212,107,60,0,60,0,60,0,80,47,38,0,219,107,60,0,60,0,60,0,81,47,38,0,15,108,60,0,60,0,60,0,82,47,38,0,20,108,60,0,60,0,60,0,83,47,38,0,52,108,60,0,60,0,60,0,84,47,38,0,52,108,60,0,60,0,60,0,140,50,38,0,232,108,60,0,60,0,60,0,159,50,38,0,128,110,60,0,60,0,60,0,60,216,53,222,38,0,20,111,60,0,60,0,60,0,60,216,38,222,38,0,107,112,60,0,60,0,60,0,85,47,38,0,107,112,60,0,60,0,60,0,139,50,38,0,33,113,60,0,60,0,60,0,60,216,26,222,38,0,42,114,60,0,60,0,60,0,86,47,38,0,54,114,60,0,60,0,60,0,87,47,38,0,59,114,60,0,60,0,60,0,88,47,38,0,63,114,60,0,60,0,60,0,89,47,38,0,71,114,60,0,60,0,60,0,90,47,38,0,89,114,60,0,60,0,60,0,91,47,38,0,91,114,60,0,60,0,60,0,92,47,38,0,121,114,60,0,60,0,60,0,149,50,38,0,172,114,60,0,60,0,60,0,93,47,38,0,132,115,60,0,60,0,60,0,94,47,38,0,137,115,60,0,60,0,60,0,95,47,38,0,220,116,60,0,60,0,60,0,96,47,38,0,230,116,60,0,60,0,60,0,97,47,38,0,24,117,60,0,60,0,60,0,98,47,38,0,31,117,60,0,60,0,60,0,99,47,38,0,31,117,60,0,60,0,60,0,60,216,34,222,38,0,40,117,60,0,60,0,60,0,100,47,38,0,48,117,60,0,60,0,60,0,101,47,38,0,50,117,60,0,60,0,60,0,153,49,38,0,51,117,60,0,60,0,60,0,60,216,56,222,38,0,55,117,60,0,60,0,60,0,154,50,38,0,139,117,60,0,60,0,60,0,102,47,38,0,146,117,60,0,60,0,60,0,103,47,38,0,118,118,60,0,60,0,60,0,104,47,38,0,125,118,60,0,60,0,60,0,105,47,38,0,174,118,60,0,60,0,60,0,106,47,38,0,191,118,60,0,60,0,60,0,107,47,38,0,227,118,60,0,60,0,60,0,172,50,38,0,238,118,60,0,60,0,60,0,108,47,38,0,219,119,60,0,60,0,60,0,109,47,38,0,226,119,60,0,60,0,60,0,110,47,38,0,243,119,60,0,60,0,60,0,111,47,38,0,58,121,60,0,60,0,60,0,112,47,38,0,62,121,60,0,60,0,60,0,147,50,38,0,93,121,60,0,60,0,60,0,151,50,38,0,129,121,60,0,60,0,60,0,60,216,50,222,38,0,184,121,60,0,60,0,60,0,113,47,38,0,190,121,60,0,60,0,60,0,114,47,38,0,216,121,60,0,60,0,60,0,153,50,38,0,116,122,60,0,60,0,60,0,115,47,38,0,122,122,60,0,60,0,60,0,60,216,51,222,38,0,203,122,60,0,60,0,60,0,116,47,38,0,249,122,60,0,60,0,60,0,117,47,38,0,143,123,60,0,60,0,60,0,71,50,38,0,115,124,60,0,60,0,60,0,118,47,38,0,248,124,60,0,60,0,60,0,119,47,38,0,66,125,60,0,60,0,60,0,60,216,33,222,38,0,54,127,60,0,60,0,60,0,120,47,38,0,81,127,60,0,60,0,60,0,121,47,38,0,138,127,60,0,60,0,60,0,122,47,38,0,189,127,60,0,60,0,60,0,123,47,38,0,1,128,60,0,60,0,60,0,124,47,38,0,12,128,60,0,60,0,60,0,125,47,38,0,18,128,60,0,60,0,60,0,126,47,38,0,51,128,60,0,60,0,60,0,127,47,38,0,127,128,60,0,60,0,60,0,128,47,38,0,137,128,60,0,60,0,60,0,129,47,38,0,227,129,60,0,60,0,60,0,130,47,38,0,234,129,60,0,60,0,60,0,131,47,38,0,243,129,60,0,60,0,60,0,132,47,38,0,252,129,60,0,60,0,60,0,133,47,38,0,12,130,60,0,60,0,60,0,134,47,38,0,27,130,60,0,60,0,60,0,135,47,38,0,31,130,60,0,60,0,60,0,136,47,38,0,110,130,60,0,60,0,60,0,137,47,38,0,114,130,60,0,60,0,60,0,138,47,38,0,120,130,60,0,60,0,60,0,139,47,38,0,77,134,60,0,60,0,60,0,140,47,38,0,107,134,60,0,60,0,60,0,141,47,38,0,64,136,60,0,60,0,60,0,142,47,38,0,76,136,60,0,60,0,60,0,143,47,38,0,99,136,60,0,60,0,60,0,144,47,38,0,126,137,60,0,60,0,60,0,145,47,38,0,139,137,60,0,60,0,60,0,146,47,38,0,210,137,60,0,60,0,60,0,147,47,38,0,227,137,60,0,60,0,60,0,60,216,22,222,38,0,0,138,60,0,60,0,60,0,148,47,38,0,55,140,60,0,60,0,60,0,149,47,38,0,70,140,60,0,60,0,60,0,150,47,38,0,85,140,60,0,60,0,60,0,151,47,38,0,120,140,60,0,60,0,60,0,152,47,38,0,157,140,60,0,60,0,60,0,153,47,38,0,161,140,60,0,60,0,60,0,150,50,38,0,169,140,60,0,60,0,60,0,60,216,35,222,38,0,199,140,60,0,60,0,60,0,174,50,38,0,100,141,60,0,60,0,60,0,154,47,38,0,112,141,60,0,60,0,60,0,155,47,38,0,112,141,60,0,60,0,60,0,60,216,48,222,38,0,179,141,60,0,60,0,60,0,156,47,38,0,171,142,60,0,60,0,60,0,157,47,38,0,202,142,60,0,60,0,60,0,158,47,38,0,155,143,60,0,60,0,60,0,159,47,38,0,176,143,60,0,60,0,60,0,160,47,38,0,181,143,60,0,60,0,60,0,161,47,38,0,74,144,60,0,60,0,60,0,60,216,43,222,38,0,105,144,60,0,60,0,60,0,156,50,38,0,145,144,60,0,60,0,60,0,162,47,38,0,73,145,60,0,60,0,60,0,163,47,38,0,198,145,60,0,60,0,60,0,164,47,38,0,204,145,60,0,60,0,60,0,165,47,38,0,209,145,60,0,60,0,60,0,166,47,38,0,209,145,60,0,60,0,60,0,142,50,38,0,119,149,60,0,60,0,60,0,167,47,38,0,128,149,60,0,60,0,60,0,168,47,38,0,28,150,60,0,60,0,60,0,169,47,38,0,182,150,60,0,60,0,60,0,170,47,38,0,185,150,60,0,60,0,60,0,171,47,38,0,232,150,60,0,60,0,60,0,172,47,38,0,81,151,60,0,60,0,60,0,173,47,38,0,94,151,60,0,60,0,60,0,174,47,38,0,98,151,60,0,60,0,60,0,175,47,38,0,105,151,60,0,60,0,60,0,176,47,38,0,203,151,60,0,60,0,60,0,177,47,38,0,237,151,60,0,60,0,60,0,178,47,38,0,243,151,60,0,60,0,60,0,179,47,38,0,1,152,60,0,60,0,60,0,180,47,38,0,5,152,60,0,60,0,60,0,160,50,38,0,168,152,60,0,60,0,60,0,181,47,38,0,219,152,60,0,60,0,60,0,182,47,38,0,223,152,60,0,60,0,60,0,183,47,38,0,150,153,60,0,60,0,60,0,184,47,38,0,153,153,60,0,60,0,60,0,185,47,38,0,172,153,60,0,60,0,60,0,186,47,38,0,168,154,60,0,60,0,60,0,187,47,38,0,216,154,60,0,60,0,60,0,188,47,38,0,223,154,60,0,60,0,60,0,189,47,38,0,37,155,60,0,60,0,60,0,190,47,38,0,47,155,60,0,60,0,60,0,191,47,38,0,50,155,60,0,60,0,60,0,192,47,38,0,60,155,60,0,60,0,60,0,193,47,38,0,90,155,60,0,60,0,60,0,194,47,38,0,229,156,60,0,60,0,60,0,195,47,38,0,117,158,60,0,60,0,60,0,196,47,38,0,127,158,60,0,60,0,60,0,197,47,38,0,165,158,60,0,60,0,60,0,198,47,38,0,187,158,60,0,60,0,60,0,199,47,38,0,195,158,60,0,60,0,60,0,200,47,38,0,205,158,60,0,60,0,60,0,201,47,38,0,209,158,60,0,60,0,60,0,202,47,38,0,249,158,60,0,60,0,60,0,203,47,38,0,253,158,60,0,60,0,60,0,204,47,38,0,14,159,60,0,60,0,60,0,205,47,38,0,19,159,60,0,60,0,60,0,206,47,38,0,32,159,60,0,60,0,60,0,207,47,38,0,59,159,60,0,60,0,60,0,208,47,38,0,74,159,60,0,60,0,60,0,209,47,38,0,82,159,60,0,60,0,60,0,210,47,38,0,141,159,60,0,60,0,60,0,211,47,38,0,156,159,60,0,60,0,60,0,212,47,38,0,159,159,60,0,60,0,60,0,243,46,38,0,160,159,60,0,60,0,60,0,213,47,0,0,239,223,24,114,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,105,0,32,0,66,0,111,0,112,0,111,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,39,0,208,253,1,40,39,0,60,0,42,0,0,78,40,78,54,78,63,78,64,78,65,78,89,78,90,78,132,46,91,78,64,216,202,220,64,216,203,220,64,216,204,220,64,216,205,220,64,216,209,220,133,78,64,216,12,221,71,216,232,223,6,48,7,48,33,48,37,48,59,48,60,0,39,0,208,253,2,40,39,0,60,0,42,0,1,78,2,78,3,78,4,78,5,78,6,78,41,78,55,78,66,78,67,78,68,78,64,216,134,220,64,216,135,220,64,216,138,220,92,78,93,78,134,78,64,216,14,221,140,78,160,78,186,78,187,78,63,81,101,81,107,81,134,46,130,81,150,81,171,81,224,81,135,46,245,81,0,82,1,82,136,46,2,82,155,82,249,82,21,83,26,83,56,83,65,83,138,46,92,83,105,83,130,83,182,83,128,46,200,83,220,93,160,139,207,46,214,46,34,48,36,48,38,48,60,0,39,0,208,253,3,40,39,0,60,0,42,0,7,78,8,78,9,78,10,78,11,78,12,78,144,78,68,83,42,78,43,78,4,52,56,78,73,78,69,78,70,78,71,78,72,78,74,78,94,78,95,78,96,78,135,78,141,78,142,78,143,78,161,78,188,78,189,78,190,78,191,78,64,216,164,221,64,81,102,81,225,81,226,81,227,81,3,82,4,82,156,82,250,82,66,83,67,83,106,83,107,83,62,53,201,83,227,83,215,86,31,87,235,88,2,89,10,89,21,89,39,89,40,89,115,89,80,91,81,91,82,91,83,91,128,91,248,91,140,46,141,46,15,92,34,92,70,216,193,223,70,216,194,223,56,92,110,92,113,92,219,93,221,93,229,93,241,93,242,93,243,93,254,93,114,94,97,78,122,94,127,94,244,94,254,94,11,95,19,95,80,95,149,46,81,95,97,95,115,95,196,95,76,98,77,98,53,108,173,114,159,126,190,46,121,130,204,46,232,149,29,150,222,152,99,153,108,154,5,48,35,48,39,48,60,0,39,0,208,253,4,40,39,0,60,0,42,0,13,78,14,78,15,78,16,78,17,78,18,78,19,78,45,78,46,78,47,78,48,78,57,78,58,78,75,78,76,78,57,92,99,78,100,78,101,78,102,78,136,78,145,78,146,78,147,78,148,78,149,78,150,78,162,78,163,78,192,78,193,78,194,78,195,78,196,78,197,78,198,78,199,78,200,78,201,78,202,78,203,78,204,78,205,78,206,78,207,78,208,78,209,78,210,78,211,78,65,81,66,81,67,81,103,81,108,81,109,81,110,81,111,81,131,81,132,81,133,81,134,81,135,81,136,81,151,81,152,81,193,52,228,81,65,216,48,222,246,81,65,216,118,222,5,82,6,82,7,82,8,82,157,82,158,82,251,82,252,82,253,82,254,82,255,82,0,83,1,83,2,83,22,83,43,53,57,83,58,83,69,83,70,83,71,83,72,83,57,53,93,83,94,83,108,83,131,83,132,83,133,83,134,83,183,83,184,83,185,83,202,83,203,83,204,83,205,83,206,83,32,87,33,87,68,216,60,222,236,88,3,89,41,89,42,89,43,89,44,89,45,89,84,91,16,92,17,92,35,92,36,92,58,92,111,92,98,78,114,92,244,93,60,0,42,0,255,93,0,94,1,94,123,94,255,94,0,95,12,95,20,95,21,95,22,95,73,216,188,220,195,95,198,95,8,98,54,98,55,98,56,98,75,98,78,98,74,216,102,222,47,101,52,101,53,101,135,101,151,101,164,101,185,101,224,101,225,101,156,46,229,101,240,102,157,46,8,103,40,103,41,103,76,216,180,223,32,107,98,107,176,159,121,107,179,107,203,107,204,107,212,107,219,107,15,108,20,108,52,108,107,112,108,112,42,114,165,46,43,114,54,114,59,114,44,78,63,114,71,114,89,114,38,62,167,46,91,114,92,114,172,114,139,115,82,216,233,220,59,121,85,216,5,222,83,127,2,128,128,128,188,46,93,216,7,222,193,137,161,139,162,139,163,139,164,139,165,139,29,141,102,143,205,46,182,143,233,149,230,151,206,152,40,48,41,48,60,0,39,0,208,253,5,40,39,0,60,0,42,0,23,78,20,78,21,78,22,78,24,78,25,78,26,78,27,78,28,78,29,78,0,52,49,78,59,78,60,78,77,78,78,78,79,78,80,78,64,216,148,220,103,78,151,78,212,78,213,78,214,78,215,78,216,78,217,78,218,78,219,78,220,78,221,78,222,78,223,78,224,78,225,78,226,78,227,78,228,78,229,78,230,78,231,78,232,78,233,78,234,78,235,78,236,78,237,78,48,52,49,52,50,52,51,52,52,52,53,52,54,52,55,52,64,216,169,221,64,216,171,221,68,81,69,81,176,52,112,81,137,81,138,81,139,81,140,81,65,216,71,221,153,81,154,81,172,81,173,81,174,81,175,81,229,81,230,81,231,81,247,81,248,81,249,81,250,81,251,81,9,82,10,82,11,82,12,82,13,82,159,82,160,82,161,82,162,82,3,83,4,83,5,83,6,83,7,83,23,83,27,83,28,83,29,83,30,83,73,83,74,83,76,83,95,83,96,83,97,83,98,83,109,83,110,83,111,83,66,216,17,222,135,83,136,83,137,83,186,83,187,83,188,83,207,83,208,83,209,83,228,83,229,83,230,83,231,83,232,83,233,83,234,83,235,83,236,83,60,0,42,0,237,83,238,83,239,83,240,83,241,83,242,83,243,83,244,83,245,83,246,83,247,83,248,83,249,83,250,83,251,83,252,83,253,83,254,83,66,216,159,223,66,216,168,223,66,216,169,223,216,86,217,86,218,86,219,86,220,86,177,159,34,87,35,87,36,87,37,87,38,87,39,87,38,54,237,88,4,89,22,89,23,89,24,89,46,89,47,89,48,89,49,89,50,89,51,89,52,89,116,89,117,89,118,89,85,91,129,91,130,91,131,91,132,91,249,91,18,92,19,92,20,92,21,92,59,92,60,92,115,92,116,92,117,92,118,92,119,92,230,93,231,93,232,93,2,94,3,94,4,94,5,94,50,56,51,56,115,94,124,94,128,94,129,94,130,94,131,94,1,95,13,95,23,95,24,95,82,95,212,56,197,95,250,56,199,95,201,95,202,95,73,216,175,221,9,98,10,98,11,98,57,98,80,98,81,98,82,98,83,98,84,98,85,98,86,98,79,98,165,101,230,101,231,101,76,216,61,221,241,102,42,103,43,103,44,103,45,103,46,103,47,103,48,103,99,107,122,107,205,107,16,108,17,108,21,108,58,108,54,108,55,108,56,108,57,108,60,0,42,0,59,108,62,108,63,108,64,108,65,108,67,108,68,108,69,108,71,108,72,108,73,108,109,112,174,114,175,114,176,114,132,115,137,115,138,115,140,115,141,115,220,116,230,116,24,117,31,117,40,117,41,117,48,117,49,117,50,117,51,117,52,117,53,117,139,117,83,216,19,221,170,46,146,117,118,118,125,118,174,118,191,118,238,118,219,119,226,119,243,119,58,121,172,46,184,121,190,121,116,122,203,122,160,126,82,127,88,216,106,222,88,216,107,222,89,216,18,222,138,128,122,130,100,136,166,139,167,139,168,139,169,139,170,139,171,139,172,139,173,139,174,139,175,139,176,139,177,139,103,143,183,143,146,144,147,144,133,148,127,149,234,149,30,150,31,150,100,153,101,153,109,154,31,158,153,159,60,0,39,0,208,253,6,40,39,0,60,0,42,0,30,78,31,78,32,78,33,78,34,78,1,52,81,78,82,78,83,78,84,78,104,78,105,78,106,78,107,78,108,78,109,78,110,78,111,78,112,78,137,78,152,78,153,78,154,78,164,78,165,78,166,78,167,78,43,52,238,78,239,78,240,78,241,78,242,78,243,78,244,78,245,78,246,78,247,78,248,78,249,78,250,78,251,78,252,78,253,78,254,78,255,78,0,79,1,79,2,79,3,79,4,79,5,79,6,79,7,79,8,79,9,79,10,79,11,79,12,79,13,79,14,79,15,79,16,79,17,79,18,79,19,79,20,79,21,79,22,79,23,79,24,79,25,79,26,79,27,79,28,79,29,79,30,79,31,79,32,79,33,79,34,79,35,79,36,79,37,79,38,79,39,79,40,79,41,79,42,79,43,79,44,79,100,79,56,52,57,52,59,52,63,52,64,52,64,216,193,221,64,216,212,221,70,81,71,81,72,81,73,81,74,81,104,81,61,108,113,81,114,81,115,81,116,81,141,81,142,81,155,81,156,81,176,81,177,81,178,81,179,81,180,81,65,216,179,221,232,81,233,81,234,81,235,81,252,81,14,82,15,82,16,82,60,0,42,0,17,82,18,82,19,82,20,82,21,82,22,82,23,82,24,82,25,82,26,82,27,82,163,82,164,82,165,82,166,82,167,82,168,82,8,83,31,83,32,83,33,83,34,83,75,83,77,83,78,83,79,83,80,83,59,53,112,83,113,83,138,83,139,83,140,83,141,83,66,53,189,83,190,83,210,83,255,83,0,84,1,84,2,84,3,84,4,84,5,84,6,84,7,84,8,84,9,84,10,84,11,84,12,84,13,84,14,84,15,84,16,84,17,84,18,84,19,84,20,84,21,84,22,84,23,84,102,53,66,216,191,223,66,216,198,223,221,86,222,86,223,86,224,86,225,86,226,86,227,86,40,87,41,87,42,87,43,87,44,87,45,87,46,87,47,87,48,87,49,87,50,87,51,87,52,87,53,87,54,87,55,87,56,87,57,87,58,87,68,216,79,222,238,88,5,89,25,89,26,89,27,89,53,89,54,89,55,89,56,89,57,89,58,89,59,89,60,89,119,89,120,89,121,89,122,89,123,89,124,89,125,89,126,89,127,89,128,89,129,89,130,89,131,89,132,89,133,89,134,89,135,89,136,89,165,54,69,216,184,222,69,216,186,222,86,91,60,0,42,0,87,91,88,91,89,91,70,216,68,221,133,91,134,91,135,91,136,91,137,91,250,91,251,91,252,91,22,92,23,92,24,92,37,92,38,92,39,92,61,92,71,216,42,220,112,92,120,92,121,92,122,92,123,92,124,92,125,92,126,92,127,92,128,92,129,92,130,92,131,92,71,216,70,221,222,93,223,93,233,93,234,93,6,94,7,94,8,94,52,56,53,56,54,56,116,94,117,94,118,94,132,94,133,94,134,94,245,94,2,95,14,95,15,95,16,95,25,95,26,95,27,95,28,95,83,95,116,95,117,95,73,216,193,220,200,95,203,95,207,95,211,95,212,95,213,95,214,95,217,95,218,95,219,95,73,216,190,221,12,98,13,98,14,98,15,98,16,98,87,98,88,98,89,98,90,98,91,98,92,98,93,98,94,98,96,98,97,98,98,98,99,98,100,98,101,98,102,98,103,98,104,98,105,98,106,98,107,98,108,98,95,98,48,101,54,101,55,101,232,101,233,101,234,101,235,101,236,101,237,101,238,101,239,101,242,102,243,102,48,59,9,103,49,103,50,103,51,103,52,103,53,103,54,103,55,103,56,103,57,103,58,103,59,103,60,103,60,0,42,0,61,103,62,103,63,103,64,103,65,103,66,103,67,103,65,59,33,107,34,107,100,107,123,107,206,107,213,107,18,108,22,108,23,108,24,108,60,108,70,108,74,108,75,108,76,108,77,108,78,108,79,108,80,108,81,108,82,108,83,108,84,108,85,108,87,108,88,108,89,108,90,108,91,108,92,108,93,108,95,108,96,108,97,108,98,108,99,108,100,108,119,108,110,112,111,112,112,112,113,112,114,112,115,112,55,114,93,114,94,114,95,114,177,114,178,114,179,114,180,114,181,114,183,114,184,114,81,216,37,223,142,115,143,115,144,115,145,115,168,62,169,62,170,62,42,117,54,117,126,118,127,118,174,46,60,121,117,122,249,122,115,124,248,124,249,124,161,126,162,126,163,126,164,126,165,126,166,126,167,126,168,126,169,126,170,126,171,126,54,127,81,127,138,127,88,216,75,223,182,46,88,216,76,223,189,127,1,128,3,128,12,128,18,128,51,128,127,128,137,128,139,128,140,128,141,128,142,128,227,129,234,129,243,129,252,129,90,216,81,221,12,130,27,130,31,130,110,130,114,130,120,130,145,68,123,130,124,130,125,130,126,130,127,130,60,0,42,0,128,130,129,130,130,130,77,134,107,134,64,136,76,136,99,136,126,137,127,137,128,137,194,137,178,139,179,139,180,139,181,139,182,139,183,139,184,139,185,139,186,139,187,139,188,139,189,139,190,139,191,139,192,139,30,141,31,141,32,141,113,141,104,143,184,143,185,143,186,143,187,143,188,143,189,143,36,250,148,144,150,144,151,144,152,144,153,144,154,144,155,144,156,144,157,144,134,148,135,148,235,149,236,149,237,149,238,149,239,149,32,150,33,150,34,150,35,150,36,150,117,152,102,153,103,153,110,154,111,154,112,154,80,159,60,0,39,0,208,253,7,40,39,0,60,0,42,0,35,78,36,78,37,78,61,78,64,216,33,220,50,78,64,216,104,220,85,78,113,78,114,78,138,78,64,216,24,221,156,78,168,78,169,78,170,78,45,79,46,79,47,79,48,79,49,79,50,79,51,79,52,79,53,79,54,79,55,79,56,79,57,79,58,79,59,79,60,79,61,79,62,79,63,79,64,79,65,79,66,79,67,79,68,79,69,79,70,79,71,79,72,79,73,79,74,79,75,79,77,79,78,79,79,79,80,79,81,79,82,79,83,79,84,79,85,79,86,79,87,79,88,79,89,79,90,79,91,79,92,79,93,79,94,79,95,79,96,79,97,79,98,79,99,79,101,79,102,79,103,79,104,79,70,52,64,216,242,221,75,81,76,81,77,81,78,81,79,81,80,81,81,81,179,52,117,81,143,81,157,81,181,81,182,81,183,81,184,81,185,81,186,81,187,81,200,52,236,81,28,82,29,82,30,82,31,82,32,82,33,82,34,82,35,82,36,82,37,82,38,82,39,82,40,82,41,82,42,82,43,82,44,82,45,82,223,52,169,82,170,82,171,82,172,82,173,82,174,82,175,82,176,82,177,82,178,82,179,82,180,82,9,83,60,0,42,0,66,216,213,220,35,83,36,83,37,83,48,53,59,83,55,53,99,83,100,83,114,83,115,83,116,83,117,83,142,83,143,83,144,83,145,83,191,83,211,83,24,84,25,84,26,84,27,84,28,84,29,84,30,84,31,84,32,84,33,84,34,84,35,84,36,84,37,84,38,84,39,84,40,84,41,84,42,84,43,84,44,84,45,84,46,84,47,84,48,84,49,84,50,84,51,84,52,84,53,84,54,84,55,84,56,84,57,84,58,84,59,84,60,84,61,84,62,84,63,84,64,84,65,84,66,84,67,84,68,84,69,84,70,84,71,84,72,84,73,84,74,84,75,84,76,84,77,84,78,84,79,84,80,84,81,84,82,84,83,84,84,84,85,84,86,84,87,84,88,84,89,84,90,84,91,84,92,84,109,53,112,53,114,53,66,216,203,223,66,216,226,223,66,216,235,223,66,216,251,223,66,216,255,223,228,86,229,86,230,86,231,86,232,86,233,86,234,86,235,86,236,86,237,86,238,86,239,86,240,86,241,86,242,86,243,86,244,86,245,86,59,87,60,87,61,87,62,87,63,87,64,87,65,87,66,87,67,87,68,87,69,87,70,87,71,87,72,87,60,0,42,0,73,87,74,87,75,87,76,87,77,87,78,87,79,87,80,87,81,87,82,87,83,87,84,87,85,87,86,87,87,87,88,87,89,87,90,87,91,87,92,87,93,87,94,87,95,87,96,87,41,54,43,54,45,54,46,54,48,54,68,216,124,222,239,88,240,88,241,88,242,88,243,88,6,89,11,89,61,89,62,89,63,89,64,89,65,89,66,89,137,89,138,89,139,89,140,89,142,89,143,89,144,89,145,89,146,89,147,89,148,89,149,89,150,89,151,89,152,89,153,89,154,89,155,89,156,89,157,89,158,89,159,89,160,89,161,89,162,89,163,89,164,89,165,89,166,89,167,89,168,89,169,89,170,89,171,89,170,54,172,54,69,216,192,222,69,216,193,222,69,216,194,222,69,216,211,222,69,216,213,222,90,91,91,91,92,91,93,91,94,91,138,91,139,91,140,91,141,91,142,91,143,91,144,91,145,91,146,91,253,91,254,91,255,91,40,92,41,92,42,92,43,92,44,92,62,92,63,92,64,92,65,92,66,92,67,92,132,92,133,92,134,92,135,92,136,92,137,92,138,92,139,92,140,92,142,92,143,92,144,92,145,92,146,92,147,92,148,92,60,0,42,0,149,92,150,92,151,92,152,92,153,92,154,92,155,92,156,92,71,216,83,221,71,216,94,221,141,92,224,93,235,93,245,93,9,94,10,94,11,94,12,94,13,94,14,94,15,94,16,94,55,56,56,56,57,56,59,56,135,94,136,94,137,94,138,94,139,94,140,94,141,94,142,94,143,94,144,94,145,94,146,94,147,94,148,94,247,94,3,95,4,95,5,95,29,95,30,95,31,95,32,95,72,216,189,223,98,95,99,95,100,95,118,95,119,95,120,95,121,95,122,95,123,95,200,159,201,159,73,216,201,220,73,216,204,220,204,95,205,95,206,95,208,95,209,95,210,95,215,95,216,95,220,95,0,57,223,95,225,95,227,95,228,95,230,95,231,95,232,95,234,95,235,95,236,95,237,95,238,95,239,95,240,95,241,95,242,95,243,95,244,95,246,95,247,95,248,95,249,95,250,95,251,95,252,95,254,95,0,96,3,96,4,96,5,96,6,96,8,57,17,98,18,98,19,98,74,216,147,221,58,98,59,98,60,98,109,98,110,98,111,98,112,98,113,98,114,98,115,98,116,98,117,98,118,98,119,98,121,98,122,98,123,98,124,98,125,98,126,98,60,0,42,0,128,98,129,98,130,98,131,98,132,98,133,98,134,98,135,98,136,98,137,98,138,98,139,98,140,98,141,98,142,98,143,98,144,98,145,98,146,98,147,98,148,98,149,98,150,98,151,98,152,98,153,98,154,98,155,98,156,98,157,98,158,98,159,98,160,98,161,98,162,98,163,98,164,98,165,98,209,57,120,98,56,101,57,101,58,101,59,101,60,101,75,216,239,222,136,101,152,101,240,101,241,101,242,101,243,101,244,101,245,101,246,101,247,101,248,101,244,102,245,102,68,103,69,103,70,103,71,103,72,103,73,103,74,103,75,103,76,103,77,103,78,103,79,103,80,103,81,103,82,103,83,103,84,103,85,103,86,103,87,103,88,103,89,103,90,103,91,103,92,103,93,103,94,103,95,103,96,103,97,103,98,103,99,103,100,103,101,103,102,103,103,103,104,103,105,103,129,103,66,59,67,59,68,59,69,59,70,59,76,216,204,223,36,107,101,107,80,60,124,107,78,216,194,221,207,107,208,107,78,216,238,222,220,107,221,107,25,108,26,108,66,108,86,108,94,108,101,108,102,108,103,108,104,108,105,108,106,108,107,108,109,108,110,108,60,0,42,0,111,108,112,108,113,108,114,108,115,108,116,108,117,108,118,108,120,108,121,108,122,108,123,108,124,108,125,108,126,108,127,108,129,108,130,108,131,108,132,108,133,108,134,108,135,108,136,108,137,108,139,108,140,108,141,108,142,108,143,108,144,108,145,108,146,108,148,108,149,108,150,108,152,108,153,108,154,108,155,108,156,108,158,108,159,108,160,108,161,108,162,108,163,108,164,108,165,108,166,108,167,108,168,108,169,108,170,108,79,216,153,220,79,216,154,220,79,216,155,220,116,112,117,112,118,112,119,112,120,112,121,112,122,112,123,112,124,112,125,112,126,112,127,112,128,112,165,61,96,114,97,114,98,114,99,114,100,114,81,216,24,222,182,114,185,114,186,114,187,114,188,114,189,114,190,114,191,114,193,114,194,114,195,114,196,114,197,114,198,114,199,114,200,114,81,216,47,223,146,115,147,115,148,115,149,115,150,115,151,115,152,115,153,115,154,115,155,115,173,62,82,216,240,220,82,216,241,220,82,216,242,220,82,216,243,220,231,116,43,117,44,117,55,117,56,117,57,117,58,117,60,117,85,63,147,117,148,117,149,117,150,117,151,117,128,118,129,118,130,118,131,118,192,118,60,0,42,0,193,118,239,118,227,119,244,119,245,119,246,119,85,216,25,220,61,121,191,121,192,121,193,121,194,121,195,121,38,65,118,122,119,122,204,122,205,122,250,124,251,124,182,126,172,126,173,126,174,126,175,126,176,126,177,126,178,126,179,126,180,126,181,126,183,126,184,126,185,126,186,126,187,126,188,126,189,126,190,126,85,127,52,128,144,128,145,128,146,128,147,128,148,128,149,128,150,128,151,128,152,128,153,128,154,128,155,128,156,128,157,128,158,128,159,128,160,128,235,129,111,130,131,130,132,130,133,130,134,130,135,130,136,130,137,130,138,130,139,130,140,130,141,130,142,130,143,130,144,130,145,130,146,130,147,130,149,130,150,130,151,130,90,216,5,223,90,216,10,223,108,134,93,216,12,222,139,137,195,137,210,137,198,46,94,216,178,220,0,138,1,138,193,139,194,139,195,139,196,139,197,139,198,139,199,139,200,139,201,139,202,139,203,139,204,139,205,139,206,139,207,139,208,139,209,139,210,139,55,140,70,140,85,140,120,140,157,140,33,141,34,141,100,141,112,141,179,141,202,46,171,142,202,142,105,143,106,143,107,143,155,143,176,143,181,143,60,0,42,0,225,93,190,143,191,143,192,143,193,143,194,143,195,143,196,143,197,143,198,143,199,143,200,143,201,143,97,216,104,220,97,216,108,220,97,216,115,220,145,144,158,144,159,144,160,144,161,144,162,144,163,144,164,144,165,144,166,144,167,144,168,144,169,144,170,144,172,144,97,216,170,222,97,216,171,222,73,145,198,145,204,145,136,148,137,148,138,148,139,148,140,148,240,149,241,149,242,149,243,149,244,149,245,149,246,149,247,149,37,150,38,150,39,150,40,150,41,150,42,150,43,150,44,150,45,150,46,150,47,150,48,150,49,150,50,150,51,150,52,150,53,150,54,150,99,216,54,222,99,216,57,222,231,151,207,152,104,153,105,153,106,153,107,153,108,153,109,153,110,153,113,154,114,154,115,154,116,154,32,158,33,158,166,158,159,159,60,0,39,0,208,253,8,40,39,0,60,0,42,0,38,78,39,78,51,78,86,78,115,78,116,78,117,78,118,78,119,78,120,78,64,216,238,220,139,78,155,78,157,78,158,78,159,78,171,78,172,78,45,52,76,79,105,79,106,79,107,79,108,79,109,79,110,79,111,79,112,79,113,79,114,79,115,79,116,79,117,79,118,79,119,79,120,79,121,79,122,79,123,79,124,79,125,79,126,79,127,79,128,79,129,79,130,79,131,79,132,79,133,79,134,79,135,79,136,79,137,79,138,79,139,79,140,79,141,79,142,79,143,79,144,79,145,79,146,79,147,79,148,79,149,79,150,79,151,79,152,79,153,79,154,79,155,79,156,79,157,79,158,79,159,79,160,79,161,79,162,79,163,79,164,79,165,79,166,79,167,79,168,79,169,79,170,79,171,79,172,79,173,79,199,159,74,52,76,52,80,52,64,216,4,222,64,216,12,222,64,216,20,222,82,81,83,81,84,81,85,81,86,81,65,216,135,220,105,81,118,81,119,81,120,81,144,81,158,81,188,81,189,81,190,81,191,81,192,81,65,216,195,221,237,81,238,81,239,81,253,81,46,82,47,82,48,82,49,82,50,82,51,82,52,82,53,82,54,82,55,82,60,0,42,0,56,82,57,82,58,82,59,82,60,82,61,82,62,82,63,82,64,82,65,82,66,82,228,52,230,52,65,216,14,223,70,82,181,82,182,82,183,82,184,82,185,82,186,82,187,82,188,82,189,82,190,82,191,82,26,53,198,82,10,83,11,83,12,83,66,216,22,221,38,83,60,83,81,83,82,83,83,83,84,83,85,83,86,83,101,83,102,83,103,83,66,216,231,221,118,83,119,83,120,83,121,83,122,83,146,83,147,83,148,83,149,83,66,216,80,222,192,83,193,83,194,83,212,83,213,83,214,83,215,83,216,83,93,84,94,84,95,84,96,84,97,84,98,84,99,84,100,84,101,84,102,84,103,84,104,84,105,84,106,84,107,84,108,84,109,84,110,84,111,84,113,84,115,84,116,84,117,84,118,84,119,84,120,84,121,84,122,84,123,84,124,84,125,84,126,84,127,84,128,84,129,84,130,84,131,84,132,84,133,84,134,84,135,84,136,84,137,84,138,84,139,84,140,84,141,84,142,84,143,84,144,84,145,84,146,84,147,84,148,84,149,84,150,84,151,84,152,84,153,84,154,84,155,84,156,84,157,84,119,53,120,53,67,216,11,220,60,0,42,0,67,216,13,220,67,216,32,220,67,216,52,220,67,216,58,220,67,216,59,220,67,216,65,220,67,216,66,220,67,216,67,220,246,86,247,86,248,86,249,86,250,86,251,86,252,86,253,86,254,86,32,54,97,87,98,87,99,87,100,87,101,87,102,87,103,87,104,87,105,87,106,87,107,87,108,87,109,87,110,87,111,87,112,87,113,87,114,87,115,87,116,87,117,87,118,87,119,87,120,87,121,87,122,87,123,87,124,87,125,87,126,87,127,87,128,87,129,87,130,87,131,87,132,87,133,87,134,87,135,87,136,87,137,87,138,87,49,54,50,54,51,54,52,54,53,54,68,216,168,222,68,216,169,222,68,216,176,222,7,89,12,89,28,89,29,89,67,89,68,89,69,89,70,89,71,89,72,89,73,89,75,89,76,89,77,89,84,89,69,216,10,222,172,89,173,89,174,89,175,89,176,89,177,89,178,89,179,89,180,89,181,89,182,89,183,89,184,89,185,89,186,89,187,89,188,89,189,89,190,89,191,89,192,89,193,89,194,89,195,89,196,89,197,89,198,89,199,89,200,89,201,89,202,89,203,89,204,89,205,89,206,89,207,89,208,89,209,89,210,89,211,89,212,89,214,89,215,89,176,54,60,0,42,0,177,54,181,54,185,54,188,54,193,54,69,216,223,222,69,216,230,222,69,216,231,222,69,216,232,222,69,216,250,222,69,216,251,222,69,216,252,222,69,216,254,222,95,91,96,91,97,91,98,91,99,91,100,91,101,91,102,91,103,91,64,55,70,216,88,221,147,91,148,91,149,91,150,91,151,91,152,91,153,91,154,91,155,91,156,91,157,91,158,91,159,91,160,91,161,91,70,216,219,221,0,92,25,92,26,92,45,92,68,92,69,92,70,92,71,92,72,92,73,92,74,92,157,92,158,92,159,92,160,92,161,92,162,92,163,92,164,92,165,92,166,92,167,92,168,92,169,92,170,92,171,92,172,92,173,92,174,92,175,92,176,92,177,92,178,92,179,92,180,92,181,92,182,92,183,92,184,92,185,92,186,92,187,92,188,92,189,92,190,92,191,92,192,92,193,92,194,92,195,92,196,92,197,92,185,55,190,55,71,216,144,221,246,93,48,56,17,94,18,94,19,94,20,94,21,94,22,94,23,94,24,94,25,94,26,94,27,94,28,94,72,216,126,220,119,94,120,94,152,94,149,94,150,94,151,94,153,94,154,94,156,94,157,94,158,94,159,94,117,56,246,94,248,94,249,94,160,56,6,95,60,0,42,0,33,95,34,95,35,95,36,95,37,95,38,95,39,95,40,95,41,95,42,95,72,216,208,223,84,95,85,95,204,56,73,216,139,220,124,95,125,95,126,95,127,95,128,95,129,95,130,95,131,95,132,95,221,95,222,95,224,95,226,95,229,95,233,95,245,95,253,95,255,95,1,96,2,96,7,96,8,96,9,96,10,96,11,96,12,96,13,96,15,96,16,96,17,96,19,96,20,96,21,96,22,96,23,96,25,96,26,96,27,96,28,96,30,96,31,96,33,96,34,96,38,96,39,96,41,96,42,96,43,96,44,96,45,96,46,96,47,96,48,96,50,96,51,96,52,96,53,96,54,96,58,96,61,96,62,96,63,96,20,57,73,216,27,222,73,216,28,222,73,216,43,222,20,98,21,98,22,98,23,98,61,98,62,98,63,98,64,98,127,98,166,98,167,98,168,98,169,98,170,98,171,98,172,98,173,98,174,98,175,98,176,98,177,98,178,98,179,98,180,98,181,98,182,98,183,98,184,98,185,98,186,98,187,98,188,98,189,98,190,98,191,98,192,98,193,98,194,98,195,98,196,98,197,98,198,98,199,98,200,98,201,98,202,98,203,98,60,0,42,0,204,98,205,98,206,98,208,98,209,98,210,98,211,98,212,98,213,98,214,98,215,98,216,98,217,98,218,98,219,98,221,98,222,98,223,98,224,98,225,98,226,98,227,98,228,98,229,98,230,98,231,98,232,98,233,98,212,57,213,57,217,57,218,57,220,57,221,57,222,57,223,57,74,216,207,222,74,216,213,222,61,101,62,101,129,58,137,101,76,216,68,220,166,101,167,101,168,101,169,101,186,101,187,101,188,101,76,216,218,220,249,101,250,101,251,101,252,101,253,101,254,101,255,101,0,102,1,102,2,102,3,102,4,102,5,102,6,102,7,102,8,102,9,102,10,102,11,102,12,102,13,102,14,102,15,102,16,102,17,102,18,102,19,102,20,102,21,102,22,102,23,102,24,102,25,102,246,102,10,103,11,103,12,103,13,103,51,59,106,103,107,103,108,103,109,103,110,103,111,103,112,103,113,103,114,103,115,103,116,103,117,103,118,103,119,103,120,103,121,103,122,103,123,103,124,103,125,103,126,103,127,103,128,103,130,103,131,103,132,103,133,103,134,103,135,103,136,103,137,103,138,103,139,103,140,103,141,103,142,103,143,103,144,103,60,0,42,0,145,103,146,103,147,103,148,103,149,103,150,103,151,103,152,103,153,103,154,103,155,103,156,103,157,103,158,103,159,103,160,103,161,103,162,103,163,103,164,103,165,103,166,103,167,103,168,103,169,103,170,103,171,103,172,103,173,103,71,59,72,59,73,59,74,59,75,59,76,59,77,59,78,59,79,59,80,59,76,216,222,223,76,216,230,223,76,216,244,223,76,216,245,223,76,216,249,223,76,216,250,223,76,216,254,223,77,216,0,220,249,103,35,107,37,107,38,107,39,107,32,60,102,107,103,107,104,107,105,107,125,107,126,107,127,107,128,107,129,107,180,107,209,107,222,107,223,107,19,108,27,108,28,108,29,108,108,108,128,108,138,108,147,108,157,108,171,108,172,108,173,108,174,108,176,108,177,108,178,108,179,108,180,108,181,108,182,108,183,108,184,108,185,108,186,108,187,108,188,108,189,108,190,108,191,108,192,108,193,108,194,108,195,108,196,108,197,108,198,108,199,108,200,108,202,108,203,108,204,108,205,108,206,108,207,108,208,108,209,108,210,108,211,108,212,108,213,108,214,108,215,108,216,108,217,108,219,108,220,108,221,108,222,108,223,108,224,108,225,108,226,108,60,0,42,0,227,108,228,108,229,108,230,108,231,108,232,108,233,108,234,108,235,108,236,108,237,108,238,108,239,108,241,108,242,108,243,108,247,108,248,108,249,108,250,108,251,108,252,108,253,108,254,108,203,60,205,60,209,60,79,216,181,220,79,216,183,220,79,216,199,220,79,216,200,220,79,216,201,220,48,109,135,112,129,112,130,112,131,112,132,112,133,112,134,112,136,112,137,112,138,112,139,112,140,112,141,112,142,112,143,112,144,112,145,112,146,112,147,112,148,112,149,112,150,112,151,112,152,112,153,112,154,112,155,112,156,112,157,112,158,112,80,216,163,221,80,216,164,221,80,216,165,221,80,216,172,221,80,216,181,221,44,114,45,114,56,114,64,114,72,114,101,114,102,114,103,114,104,114,105,114,106,114,107,114,108,114,47,62,81,216,42,222,192,114,201,114,203,114,204,114,205,114,206,114,207,114,208,114,209,114,210,114,211,114,212,114,213,114,214,114,215,114,216,114,217,114,218,114,219,114,220,114,221,114,222,114,98,62,105,62,156,115,157,115,158,115,159,115,160,115,161,115,162,115,163,115,164,115,165,115,166,115,167,115,168,115,169,115,170,115,171,115,172,115,173,115,174,115,175,115,176,115,60,0,42,0,177,115,82,216,251,220,82,216,255,220,82,216,0,221,82,216,1,221,82,216,12,221,221,116,232,116,233,116,25,117,59,117,61,117,62,117,63,117,64,117,65,117,66,117,67,117,68,117,69,117,140,117,152,117,153,117,154,117,155,117,156,117,157,117,158,117,159,117,160,117,161,117,119,118,132,118,175,118,194,118,240,118,241,118,242,118,243,118,244,118,245,118,228,119,229,119,247,119,248,119,249,119,250,119,251,119,252,119,253,119,254,119,255,119,0,120,1,120,85,216,37,220,62,121,63,121,64,121,65,121,66,121,67,121,196,121,197,121,198,121,199,121,200,121,201,121,202,121,120,122,121,122,122,122,123,122,146,65,206,122,207,122,196,65,250,122,251,122,116,124,117,124,118,124,252,124,253,124,254,124,255,124,181,66,191,126,192,126,193,126,194,126,195,126,196,126,197,126,198,126,199,126,200,126,201,126,202,126,203,126,204,126,205,126,206,126,207,126,208,126,55,127,84,127,86,127,87,127,89,127,139,127,140,127,5,128,19,128,53,128,131,128,143,128,161,128,162,128,163,128,164,128,165,128,166,128,167,128,168,128,169,128,170,128,171,128,172,128,60,0,42,0,173,128,174,128,175,128,176,128,177,128,178,128,179,128,180,128,181,128,182,128,183,128,184,128,185,128,186,128,187,128,188,128,189,128,190,128,191,128,192,128,193,128,217,67,228,129,229,129,253,129,254,129,13,130,14,130,15,130,32,130,112,130,152,130,153,130,154,130,155,130,156,130,157,130,158,130,159,130,160,130,161,130,162,130,163,130,164,130,165,130,166,130,167,130,168,130,169,130,170,130,171,130,172,130,173,130,174,130,175,130,176,130,177,130,178,130,179,130,180,130,181,130,182,130,183,130,184,130,185,130,186,130,188,130,189,130,190,130,192,130,193,130,194,130,195,130,196,130,197,130,198,130,199,130,200,130,201,130,202,130,203,130,204,130,205,130,206,130,207,130,62,131,90,216,19,223,90,216,21,223,90,216,35,223,90,216,40,223,191,130,78,134,79,134,109,134,110,134,111,134,112,134,113,134,114,134,93,216,224,221,101,136,104,136,196,137,197,137,211,139,212,139,213,139,214,139,215,139,216,139,217,139,218,139,219,139,220,139,221,139,222,139,223,139,224,139,225,139,226,139,227,139,228,139,229,139,230,139,231,139,232,139,233,139,86,140,60,0,42,0,35,141,36,141,37,141,38,141,39,141,40,141,41,141,42,141,43,141,44,141,45,141,46,141,47,141,203,142,108,143,109,143,110,143,111,143,112,143,202,143,203,143,204,143,205,143,206,143,207,143,208,143,209,143,210,143,211,143,212,143,213,143,214,143,215,143,216,143,217,143,218,143,219,143,220,143,221,143,222,143,223,143,236,143,97,216,130,220,173,144,174,144,175,144,176,144,177,144,178,144,179,144,180,144,181,144,182,144,183,144,184,144,185,144,186,144,187,144,97,216,178,222,97,216,188,222,199,145,209,145,210,145,141,148,142,148,143,148,144,148,145,148,146,148,147,148,148,148,149,148,150,148,151,148,119,149,120,149,128,149,248,149,249,149,28,150,99,216,15,222,55,150,56,150,57,150,58,150,59,150,60,150,61,150,62,150,63,150,64,150,65,150,66,150,67,150,68,150,69,150,70,150,71,150,72,150,73,150,182,150,185,150,215,46,232,150,81,151,82,151,94,151,99,151,118,152,119,152,111,153,112,153,113,153,114,153,115,153,116,153,117,154,118,154,119,154,120,154,121,154,122,154,123,154,124,154,125,154,126,154,127,154,128,154,60,0,42,0,124,156,34,158,35,158,36,158,254,158,33,159,127,159,60,0,39,0,208,253,9,40,39,0,60,0,42,0,52,78,62,78,87,78,121,78,122,78,123,78,124,78,32,52,173,78,174,78,175,78,176,78,177,78,178,78,174,79,175,79,176,79,177,79,178,79,179,79,180,79,181,79,182,79,183,79,184,79,185,79,186,79,187,79,188,79,189,79,190,79,191,79,192,79,193,79,194,79,195,79,196,79,197,79,198,79,199,79,200,79,201,79,202,79,203,79,204,79,205,79,206,79,207,79,208,79,209,79,210,79,211,79,212,79,213,79,214,79,215,79,216,79,217,79,218,79,219,79,220,79,221,79,222,79,223,79,224,79,225,79,226,79,227,79,228,79,229,79,230,79,231,79,232,79,233,79,234,79,235,79,236,79,237,79,64,216,57,222,64,216,91,222,87,81,88,81,89,81,65,216,142,220,106,81,121,81,123,81,145,81,146,81,159,81,160,81,193,81,194,81,195,81,65,216,202,221,65,216,208,221,65,216,213,221,254,81,67,82,68,82,69,82,71,82,72,82,73,82,74,82,75,82,76,82,77,82,78,82,79,82,80,82,81,82,192,82,193,82,194,82,195,82,196,82,197,82,199,82,200,82,201,82,202,82,203,82,13,83,39,83,40,83,41,83,61,83,60,0,42,0,87,83,88,83,123,83,124,83,125,83,150,83,151,83,152,83,153,83,154,83,155,83,217,83,218,83,219,83,220,83,221,83,112,84,114,84,158,84,159,84,160,84,161,84,162,84,163,84,164,84,165,84,166,84,167,84,168,84,169,84,170,84,171,84,172,84,173,84,174,84,175,84,176,84,177,84,178,84,179,84,180,84,181,84,182,84,183,84,184,84,185,84,186,84,187,84,188,84,189,84,190,84,191,84,192,84,193,84,194,84,195,84,196,84,197,84,198,84,199,84,200,84,201,84,202,84,203,84,204,84,205,84,206,84,207,84,208,84,209,84,210,84,211,84,212,84,213,84,214,84,215,84,216,84,217,84,218,84,219,84,220,84,221,84,222,84,223,84,132,53,67,216,83,220,67,216,101,220,67,216,119,220,67,216,120,220,67,216,124,220,67,216,141,220,67,216,150,220,67,216,156,220,255,86,0,87,34,54,68,216,217,221,139,87,140,87,141,87,142,87,143,87,144,87,145,87,146,87,147,87,148,87,149,87,150,87,151,87,152,87,153,87,154,87,155,87,156,87,157,87,158,87,159,87,160,87,161,87,162,87,163,87,164,87,165,87,166,87,167,87,168,87,169,87,60,0,42,0,170,87,171,87,172,87,173,87,174,87,175,87,176,87,177,87,178,87,179,87,180,87,181,87,206,87,54,54,55,54,56,54,57,54,59,54,62,54,68,216,227,222,244,88,245,88,8,89,9,89,13,89,78,89,79,89,80,89,81,89,82,89,83,89,85,89,86,89,154,54,69,216,19,222,69,216,25,222,213,89,141,89,216,89,217,89,218,89,219,89,220,89,221,89,222,89,223,89,224,89,225,89,226,89,227,89,228,89,229,89,230,89,231,89,232,89,233,89,234,89,235,89,237,89,238,89,239,89,240,89,241,89,242,89,243,89,244,89,245,89,246,89,247,89,248,89,249,89,250,89,251,89,252,89,253,89,254,89,255,89,0,90,1,90,2,90,3,90,5,90,6,90,7,90,8,90,195,54,196,54,197,54,199,54,200,54,69,216,13,223,69,216,16,223,69,216,38,223,13,90,104,91,105,91,106,91,162,91,163,91,164,91,165,91,166,91,168,91,169,91,170,91,171,91,70,216,243,221,1,92,2,92,6,92,27,92,28,92,29,92,46,92,47,92,75,92,76,92,77,92,78,92,79,92,198,92,199,92,200,92,201,92,202,92,203,92,204,92,205,92,60,0,42,0,206,92,207,92,208,92,209,92,210,92,211,92,212,92,213,92,214,92,215,92,216,92,217,92,218,92,219,92,220,92,221,92,222,92,223,92,224,92,225,92,226,92,227,92,228,92,229,92,230,92,231,92,71,216,182,221,71,216,186,221,71,216,202,221,71,216,209,221,248,92,236,93,237,93,247,93,248,93,249,93,250,93,251,93,29,94,30,94,31,94,32,94,33,94,34,94,35,94,36,94,37,94,38,94,39,94,72,216,154,220,125,94,155,94,160,94,161,94,162,94,163,94,164,94,165,94,166,94,72,216,8,222,176,94,250,94,251,94,252,94,72,216,33,223,72,216,37,223,7,95,8,95,43,95,44,95,45,95,46,95,47,95,72,216,215,223,86,95,101,95,102,95,133,95,134,95,135,95,136,95,137,95,138,95,139,95,140,95,141,95,148,95,14,96,18,96,24,96,29,96,32,96,35,96,36,96,37,96,40,96,49,96,55,96,56,96,57,96,59,96,60,96,64,96,66,96,67,96,68,96,69,96,70,96,71,96,72,96,73,96,74,96,76,96,77,96,78,96,81,96,82,96,83,96,84,96,87,96,88,96,91,96,92,96,94,96,95,96,96,96,97,96,98,96,60,0,42,0,100,96,102,96,104,96,106,96,107,96,108,96,110,96,112,96,113,96,114,96,120,96,121,96,122,96,123,96,124,96,125,96,34,57,38,57,39,57,45,57,73,216,104,222,24,98,65,98,66,98,67,98,207,98,220,98,216,57,234,98,235,98,236,98,237,98,238,98,239,98,240,98,241,98,244,98,245,98,246,98,247,98,248,98,249,98,250,98,251,98,252,98,253,98,254,98,0,99,1,99,2,99,3,99,4,99,5,99,6,99,7,99,9,99,10,99,11,99,12,99,13,99,14,99,15,99,17,99,18,99,19,99,20,99,21,99,22,99,23,99,24,99,28,99,29,99,30,99,31,99,32,99,33,99,34,99,35,99,36,99,37,99,38,99,39,99,225,57,226,57,229,57,230,57,74,216,230,222,74,216,232,222,74,216,14,223,74,216,34,223,49,101,63,101,64,101,65,101,66,101,67,101,68,101,69,101,131,58,132,58,133,58,170,101,171,101,188,58,189,58,189,101,190,101,191,101,192,101,198,58,226,101,26,102,27,102,28,102,29,102,30,102,31,102,32,102,33,102,34,102,35,102,36,102,37,102,38,102,39,102,40,102,41,102,42,102,60,0,42,0,43,102,44,102,45,102,46,102,47,102,48,102,49,102,50,102,51,102,52,102,53,102,54,102,55,102,56,102,57,102,58,102,59,102,60,102,61,102,62,102,63,102,222,58,224,58,76,216,125,221,76,216,130,221,247,102,14,103,15,103,16,103,174,103,175,103,176,103,177,103,178,103,179,103,180,103,181,103,182,103,183,103,184,103,185,103,186,103,187,103,188,103,190,103,191,103,192,103,193,103,194,103,195,103,196,103,197,103,198,103,199,103,200,103,201,103,202,103,203,103,204,103,205,103,206,103,207,103,208,103,209,103,210,103,211,103,212,103,213,103,214,103,215,103,216,103,217,103,218,103,219,103,220,103,221,103,222,103,223,103,224,103,226,103,227,103,228,103,229,103,230,103,231,103,232,103,233,103,234,103,235,103,236,103,237,103,238,103,239,103,240,103,241,103,242,103,243,103,245,103,246,103,247,103,248,103,250,103,251,103,252,103,253,103,254,103,255,103,0,104,1,104,2,104,3,104,4,104,5,104,6,104,7,104,8,104,9,104,10,104,11,104,12,104,13,104,14,104,15,104,16,104,17,104,81,59,82,59,83,59,60,0,42,0,84,59,85,59,86,59,87,59,82,104,40,107,41,107,42,107,38,60,106,107,107,107,84,60,130,107,131,107,132,107,133,107,134,107,135,107,181,107,182,107,210,107,214,107,215,107,216,107,139,60,224,107,225,107,78,216,90,223,30,108,31,108,32,108,33,108,34,108,151,108,175,108,201,108,244,108,246,108,218,108,255,108,0,109,1,109,2,109,3,109,4,109,5,109,6,109,7,109,8,109,9,109,10,109,11,109,12,109,14,109,15,109,16,109,17,109,18,109,19,109,20,109,21,109,23,109,24,109,25,109,26,109,27,109,29,109,30,109,31,109,32,109,33,109,34,109,35,109,36,109,37,109,38,109,39,109,40,109,41,109,42,109,43,109,44,109,45,109,46,109,49,109,50,109,51,109,52,109,53,109,54,109,55,109,56,109,57,109,58,109,59,109,60,109,61,109,62,109,63,109,64,109,65,109,66,109,67,109,68,109,69,109,71,109,72,109,73,109,74,109,75,109,76,109,77,109,78,109,79,109,80,109,81,109,82,109,83,109,84,109,85,109,214,60,220,60,79,216,252,220,79,216,253,220,79,216,254,220,79,216,255,220,159,112,160,112,60,0,42,0,161,112,162,112,163,112,164,112,165,112,166,112,167,112,168,112,169,112,170,112,171,112,172,112,173,112,174,112,175,112,176,112,177,112,178,112,179,112,180,112,181,112,182,112,183,112,184,112,185,112,186,112,187,112,188,112,189,112,190,112,191,112,192,112,193,112,194,112,195,112,173,61,80,216,205,221,80,216,226,221,46,114,47,114,48,114,81,216,5,221,60,114,65,114,73,114,74,114,109,114,110,114,111,114,112,114,113,114,114,114,115,114,116,114,117,114,202,114,223,114,224,114,225,114,226,114,227,114,228,114,229,114,230,114,231,114,232,114,233,114,234,114,235,114,236,114,237,114,238,114,239,114,240,114,241,114,242,114,81,216,143,223,133,115,177,62,178,115,179,115,180,115,181,115,182,115,183,115,184,115,185,115,187,115,189,115,190,115,191,115,192,115,193,115,194,115,195,115,196,115,197,115,198,115,199,115,200,115,201,115,202,115,203,115,204,115,205,115,206,115,207,115,208,115,209,115,82,216,22,221,82,216,23,221,82,216,25,221,82,216,47,221,82,216,51,221,82,216,52,221,234,116,235,116,236,116,237,116,238,116,239,116,240,116,241,116,242,116,26,117,32,117,45,117,46,117,60,0,42,0,70,117,71,117,72,117,73,117,74,117,75,117,76,117,77,117,78,117,79,117,80,117,81,117,82,117,83,117,88,63,89,63,162,117,163,117,164,117,165,117,166,117,167,117,168,117,169,117,170,117,171,117,172,117,173,117,174,117,175,117,186,117,124,63,120,118,121,118,122,118,133,118,134,118,135,118,136,118,195,118,196,118,197,118,198,118,199,118,200,118,246,118,247,118,248,118,249,118,250,118,251,118,252,118,253,118,254,118,255,118,0,119,1,119,2,119,3,119,4,119,5,119,6,119,7,119,8,119,9,119,10,119,11,119,12,119,13,119,29,64,84,216,43,221,220,119,230,119,231,119,232,119,245,108,2,120,3,120,4,120,5,120,6,120,7,120,8,120,9,120,10,120,11,120,12,120,13,120,14,120,15,120,16,120,17,120,18,120,19,120,20,120,21,120,22,120,23,120,24,120,25,120,26,120,27,120,28,120,154,64,85,216,47,220,85,216,48,220,68,121,69,121,70,121,71,121,72,121,73,121,74,121,75,121,76,121,77,121,78,121,198,137,0,65,85,216,53,222,185,121,186,121,203,121,204,121,205,121,206,121,207,121,208,121,60,0,42,0,209,121,210,121,211,121,212,121,213,121,214,121,215,121,49,65,50,65,85,216,114,223,124,122,125,122,126,122,127,122,128,122,129,122,130,122,131,122,149,65,86,216,70,221,208,122,209,122,210,122,211,122,212,122,213,122,214,122,215,122,252,122,253,122,254,122,255,122,0,123,1,123,2,123,3,123,86,216,233,222,4,90,119,124,120,124,121,124,122,124,123,124,124,124,125,124,126,124,127,124,128,124,129,124,130,124,122,66,0,125,1,125,2,125,3,125,4,125,5,125,6,125,7,125,8,125,9,125,182,66,183,66,185,66,209,126,210,126,211,126,212,126,213,126,214,126,215,126,216,126,217,126,218,126,219,126,220,126,221,126,222,126,223,126,56,127,66,67,88,127,90,127,141,127,142,127,143,127,145,127,88,216,81,223,190,127,191,127,88,216,245,223,88,216,248,223,7,128,13,128,14,128,15,128,16,128,17,128,20,128,54,128,55,128,17,103,194,128,195,128,196,128,197,128,198,128,199,128,200,128,201,128,202,128,203,128,204,128,205,128,206,128,207,128,208,128,209,128,210,128,211,128,213,128,214,128,215,128,216,128,217,128,218,128,219,128,220,128,60,0,42,0,221,128,222,128,223,128,224,128,225,128,226,128,227,128,228,128,229,128,230,128,231,128,232,128,233,128,234,128,235,128,9,129,223,67,244,129,255,129,33,130,34,130,35,130,36,130,148,130,208,130,209,130,210,130,211,130,212,130,213,130,214,130,215,130,216,130,217,130,218,130,219,130,220,130,221,130,222,130,223,130,224,130,225,130,226,130,227,130,228,130,229,130,230,130,231,130,232,130,233,130,234,130,235,130,236,130,237,130,238,130,239,130,240,130,241,130,242,130,243,130,244,130,245,130,246,130,247,130,248,130,249,130,250,130,251,130,252,130,253,130,254,130,255,130,0,131,1,131,2,131,3,131,4,131,5,131,6,131,7,131,9,131,10,131,11,131,12,131,13,131,14,131,15,131,16,131,17,131,19,131,20,131,21,131,90,216,80,223,90,216,81,223,90,216,82,223,90,216,83,223,90,216,91,223,58,131,80,134,115,134,116,134,117,134,118,134,119,134,120,134,121,134,122,134,123,134,124,134,125,134,126,134,127,134,128,134,129,134,130,134,131,134,65,136,66,136,15,70,77,136,78,136,93,216,228,221,102,136,103,136,105,136,106,136,107,136,108,136,60,0,42,0,93,216,50,222,93,216,57,222,129,137,140,137,199,137,200,137,201,137,211,137,212,137,2,138,3,138,4,138,5,138,6,138,7,138,8,138,174,70,234,139,235,139,236,139,237,139,238,139,239,139,240,139,241,139,242,139,243,139,244,139,245,139,246,139,158,140,159,140,160,140,48,141,49,141,50,141,51,141,52,141,53,141,54,141,55,141,56,141,57,141,58,141,59,141,114,141,115,141,116,141,117,141,170,159,180,141,204,142,205,142,113,143,114,143,115,143,116,143,117,143,118,143,119,143,120,143,121,143,122,143,123,143,224,143,225,143,226,143,227,143,228,143,229,143,230,143,231,143,232,143,233,143,234,143,235,143,237,143,238,143,239,143,240,143,241,143,242,143,243,143,188,144,189,144,190,144,191,144,192,144,193,144,194,144,195,144,196,144,197,144,198,144,199,144,200,144,201,144,202,144,203,144,205,144,206,144,207,144,208,144,209,144,211,144,213,144,97,216,216,222,97,216,230,222,241,144,74,145,75,145,205,145,211,145,212,145,152,148,153,148,154,148,155,148,156,148,157,148,158,148,159,148,160,148,161,148,162,148,163,148,164,148,165,148,60,0,42,0,166,148,167,148,168,148,169,148,170,148,171,148,172,148,173,148,174,148,175,148,129,149,130,149,250,149,251,149,252,149,253,149,254,149,255,149,0,150,1,150,2,150,74,150,75,150,76,150,77,150,78,150,79,150,80,150,81,150,82,150,83,150,84,150,85,150,99,216,101,222,99,216,102,222,98,151,105,151,203,151,232,151,237,151,243,151,1,152,120,152,121,152,122,152,123,152,168,152,208,152,209,152,210,152,219,152,223,152,224,152,222,46,117,153,118,153,119,153,120,153,121,153,122,153,123,153,124,153,150,153,102,216,16,220,153,153,129,154,130,154,131,154,132,154,133,154,134,154,135,154,136,154,137,154,227,46,236,156,37,158,38,158,39,158,40,158,41,158,60,0,39,0,208,253,10,40,39,0,60,0,42,0,64,216,62,220,53,78,88,78,125,78,179,78,238,79,239,79,240,79,241,79,242,79,243,79,244,79,245,79,246,79,247,79,248,79,249,79,250,79,251,79,252,79,253,79,254,79,255,79,0,80,1,80,2,80,3,80,4,80,5,80,6,80,7,80,8,80,9,80,10,80,11,80,12,80,13,80,14,80,15,80,16,80,17,80,18,80,19,80,20,80,21,80,22,80,23,80,24,80,25,80,26,80,27,80,28,80,29,80,30,80,31,80,32,80,33,80,34,80,35,80,36,80,37,80,38,80,39,80,40,80,41,80,42,80,43,80,44,80,45,80,46,80,47,80,48,80,49,80,50,80,51,80,52,80,53,80,54,80,55,80,56,80,57,80,58,80,59,80,60,80,61,80,62,80,63,80,101,52,102,52,64,216,116,222,64,216,117,222,64,216,153,222,64,216,158,222,64,216,160,222,86,80,90,81,91,81,65,216,145,220,65,216,146,220,122,81,124,81,147,81,148,81,161,81,162,81,163,81,164,81,165,81,166,81,167,81,65,216,142,221,196,81,197,81,198,81,199,81,200,81,201,81,202,81,203,81,204,81,205,81,206,81,65,216,223,221,65,216,224,221,65,216,86,222,82,82,83,82,84,82,60,0,42,0,85,82,86,82,87,82,88,82,89,82,90,82,91,82,92,82,93,82,94,82,95,82,96,82,97,82,98,82,99,82,100,82,101,82,102,82,103,82,65,216,49,223,204,82,205,82,206,82,207,82,208,82,209,82,66,216,115,220,14,83,42,83,43,83,168,159,127,83,156,83,157,83,158,83,159,83,82,134,66,216,111,222,222,83,223,83,224,84,225,84,226,84,227,84,228,84,229,84,230,84,231,84,232,84,233,84,234,84,235,84,236,84,237,84,238,84,239,84,240,84,241,84,242,84,243,84,244,84,245,84,246,84,247,84,248,84,249,84,250,84,251,84,252,84,253,84,254,84,255,84,0,85,1,85,2,85,3,85,4,85,5,85,6,85,7,85,8,85,9,85,10,85,11,85,13,85,14,85,15,85,16,85,17,85,18,85,19,85,20,85,21,85,22,85,23,85,24,85,25,85,26,85,27,85,28,85,29,85,30,85,31,85,32,85,33,85,34,85,35,85,36,85,37,85,38,85,39,85,151,53,152,53,67,216,181,220,67,216,184,220,67,216,207,220,67,216,211,220,67,216,212,220,67,216,213,220,67,216,214,220,67,216,221,220,67,216,237,220,67,216,255,220,67,216,21,221,1,87,2,87,3,87,4,87,60,0,42,0,5,87,6,87,35,54,182,87,183,87,184,87,185,87,186,87,187,87,188,87,189,87,190,87,191,87,192,87,193,87,194,87,195,87,196,87,197,87,198,87,199,87,200,87,201,87,202,87,203,87,204,87,205,87,207,87,208,87,209,87,210,87,211,87,212,87,213,87,214,87,215,87,216,87,217,87,218,87,219,87,15,250,68,216,254,222,68,216,2,223,68,216,3,223,68,216,4,223,68,216,5,223,50,88,246,88,14,89,15,89,30,89,69,216,150,221,74,89,87,89,88,89,89,89,90,89,236,89,9,90,10,90,11,90,12,90,14,90,15,90,16,90,17,90,18,90,19,90,20,90,21,90,22,90,23,90,24,90,25,90,26,90,27,90,28,90,29,90,30,90,31,90,32,90,33,90,34,90,35,90,36,90,37,90,38,90,39,90,40,90,41,90,42,90,45,90,46,90,47,90,48,90,49,90,50,90,51,90,52,90,206,54,209,54,211,54,212,54,214,54,221,54,225,54,226,54,69,216,58,223,69,216,59,223,69,216,60,223,69,216,87,223,107,91,108,91,109,91,67,55,70,216,106,221,167,91,172,91,173,91,174,91,175,91,176,91,177,91,178,91,179,91,180,91,181,91,182,91,60,0,42,0,183,91,184,91,185,91,186,91,187,91,188,91,189,91,190,91,3,92,4,92,5,92,80,92,81,92,82,92,83,92,84,92,85,92,86,92,87,92,88,92,151,55,71,216,112,220,232,92,233,92,234,92,235,92,236,92,237,92,238,92,239,92,240,92,241,92,242,92,243,92,244,92,245,92,246,92,247,92,249,92,250,92,251,92,252,92,253,92,254,92,255,92,0,93,1,93,2,93,3,93,4,93,5,93,214,55,71,216,235,221,71,216,249,221,238,93,43,56,252,93,40,94,41,94,42,94,43,94,44,94,45,94,46,94,47,94,48,94,49,94,72,216,199,220,72,216,193,221,72,216,195,221,167,94,168,94,169,94,170,94,171,94,172,94,173,94,174,94,175,94,253,94,9,95,48,95,49,95,50,95,51,95,103,95,104,95,73,216,145,220,142,95,143,95,144,95,145,95,146,95,147,95,149,95,73,216,237,220,65,96,75,96,79,96,80,96,85,96,86,96,89,96,90,96,93,96,99,96,101,96,103,96,105,96,109,96,111,96,115,96,116,96,117,96,118,96,119,96,32,57,43,57,126,96,128,96,129,96,130,96,131,96,132,96,133,96,135,96,136,96,139,96,60,0,42,0,140,96,141,96,142,96,143,96,145,96,146,96,147,96,148,96,149,96,150,96,151,96,153,96,154,96,155,96,156,96,157,96,158,96,159,96,162,96,166,96,167,96,169,96,173,96,174,96,175,96,49,57,51,57,52,57,54,57,55,57,56,57,57,57,73,216,122,222,73,216,150,222,73,216,152,222,25,98,68,98,69,98,70,98,71,98,242,98,243,98,255,98,8,99,16,99,25,99,26,99,27,99,236,57,40,99,41,99,42,99,43,99,44,99,45,99,46,99,47,99,48,99,49,99,51,99,52,99,53,99,54,99,55,99,56,99,57,99,58,99,60,99,61,99,62,99,63,99,64,99,65,99,66,99,67,99,68,99,69,99,70,99,71,99,72,99,73,99,74,99,75,99,76,99,77,99,78,99,79,99,80,99,81,99,82,99,83,99,84,99,85,99,86,99,87,99,88,99,89,99,90,99,91,99,92,99,93,99,94,99,95,99,96,99,97,99,98,99,99,99,100,99,248,57,74,216,63,223,74,216,67,223,74,216,106,223,228,99,70,101,71,101,72,101,73,101,74,101,75,101,76,101,135,58,136,58,137,58,76,216,75,220,138,101,139,101,153,101,154,101,60,0,42,0,193,101,194,101,195,101,196,101,197,101,198,101,202,101,201,58,64,102,65,102,66,102,67,102,68,102,69,102,70,102,71,102,72,102,73,102,74,102,75,102,76,102,77,102,78,102,79,102,80,102,81,102,82,102,83,102,84,102,85,102,86,102,76,216,164,221,76,216,165,221,95,102,96,102,248,102,250,102,251,102,18,103,19,103,20,103,21,103,52,59,53,59,23,103,189,103,225,103,244,103,18,104,19,104,20,104,21,104,22,104,23,104,24,104,25,104,26,104,27,104,28,104,29,104,30,104,31,104,32,104,33,104,34,104,35,104,36,104,37,104,38,104,39,104,40,104,41,104,42,104,43,104,44,104,45,104,46,104,47,104,48,104,49,104,50,104,51,104,52,104,53,104,54,104,55,104,56,104,57,104,58,104,59,104,60,104,61,104,62,104,63,104,64,104,65,104,66,104,67,104,68,104,69,104,70,104,71,104,72,104,73,104,74,104,75,104,76,104,77,104,78,104,79,104,80,104,81,104,83,104,84,104,85,104,86,104,87,104,88,104,89,104,90,104,91,104,92,104,93,104,94,104,95,104,96,104,97,104,98,104,60,0,42,0,99,104,100,104,101,104,102,104,103,104,104,104,105,104,106,104,88,59,89,59,90,59,91,59,92,59,93,59,94,59,95,59,96,59,97,59,98,59,99,59,100,59,101,59,102,59,103,59,77,216,63,220,77,216,80,220,77,216,111,220,77,216,114,220,43,107,44,107,45,107,46,107,47,107,48,107,49,107,52,107,108,107,109,107,136,107,137,107,138,107,139,107,97,60,183,107,217,107,226,107,227,107,228,107,229,107,230,107,231,107,232,107,233,107,234,107,35,108,36,108,37,108,38,108,39,108,40,108,41,108,240,108,28,109,47,109,70,109,13,109,22,109,86,109,87,109,88,109,89,109,90,109,91,109,92,109,93,109,94,109,95,109,96,109,97,109,98,109,99,109,100,109,101,109,102,109,103,109,104,109,105,109,106,109,107,109,108,109,109,109,110,109,111,109,112,109,113,109,114,109,115,109,116,109,117,109,118,109,119,109,120,109,121,109,122,109,123,109,124,109,125,109,126,109,127,109,128,109,129,109,130,109,131,109,132,109,133,109,134,109,135,109,136,109,137,109,138,109,139,109,140,109,141,109,143,109,144,109,145,109,146,109,147,109,60,0,42,0,148,109,149,109,150,109,151,109,152,109,154,109,155,109,156,109,157,109,158,109,159,109,160,109,161,109,162,109,163,109,164,109,165,109,166,109,167,109,168,109,169,109,239,60,79,216,64,221,79,216,91,221,196,112,197,112,198,112,199,112,200,112,201,112,202,112,203,112,204,112,205,112,206,112,207,112,208,112,209,112,210,112,211,112,212,112,213,112,214,112,215,112,216,112,217,112,218,112,219,112,220,112,221,112,222,112,223,112,224,112,225,112,226,112,227,112,228,112,229,112,230,112,231,112,232,112,233,112,234,112,235,112,236,112,237,112,238,112,180,61,80,216,252,221,80,216,27,222,49,114,57,114,66,114,81,216,120,221,32,62,118,114,119,114,120,114,121,114,122,114,243,114,244,114,245,114,246,114,247,114,248,114,249,114,250,114,251,114,252,114,253,114,254,114,0,115,1,115,2,115,3,115,116,62,134,115,186,115,188,115,184,62,210,115,211,115,212,115,213,115,214,115,215,115,216,115,217,115,218,115,219,115,220,115,221,115,222,115,223,115,224,115,225,115,226,115,227,115,228,115,229,115,230,115,231,115,232,115,233,115,234,115,235,115,236,115,60,0,42,0,237,115,238,115,239,115,240,115,241,115,242,115,9,116,191,62,194,62,199,62,82,216,62,221,82,216,63,221,82,216,64,221,82,216,65,221,82,216,66,221,82,216,67,221,249,115,222,116,223,116,243,116,244,116,245,116,33,117,84,117,85,117,86,117,87,117,88,117,89,117,90,117,91,117,92,117,93,117,94,117,95,117,141,117,176,117,177,117,178,117,179,117,180,117,182,117,183,117,184,117,185,117,187,117,188,117,189,117,190,117,191,117,192,117,193,117,194,117,195,117,196,117,197,117,198,117,199,117,200,117,201,117,96,117,138,118,139,118,140,118,141,118,83,216,92,223,176,118,177,118,237,63,201,118,202,118,203,118,204,118,205,118,206,118,207,118,208,118,209,118,0,64,84,216,82,220,14,119,15,119,16,119,17,119,18,119,19,119,20,119,21,119,22,119,23,119,24,119,25,119,26,119,27,119,28,119,29,119,30,119,31,119,32,119,33,119,34,119,35,119,36,119,39,119,40,119,41,119,42,119,43,119,44,119,63,119,38,64,84,216,72,221,221,119,233,119,29,120,30,120,31,120,32,120,33,120,34,120,35,120,36,120,37,120,39,120,40,120,41,120,42,120,43,120,60,0,42,0,44,120,45,120,46,120,47,120,48,120,49,120,50,120,51,120,52,120,53,120,54,120,55,120,56,120,57,120,58,120,59,120,60,120,61,120,62,120,63,120,64,120,65,120,168,64,85,216,70,220,85,216,108,220,85,216,110,220,79,121,80,121,81,121,82,121,83,121,84,121,85,121,86,121,87,121,88,121,89,121,90,121,91,121,92,121,93,121,94,121,95,121,96,121,98,121,2,65,3,65,85,216,81,222,85,216,61,223,216,121,217,121,218,121,219,121,220,121,221,121,222,121,223,121,224,121,225,121,226,121,227,121,228,121,229,121,230,121,231,121,232,121,233,121,234,121,235,121,236,121,237,121,238,121,239,121,240,121,132,122,133,122,134,122,135,122,136,122,137,122,138,122,139,122,140,122,141,122,142,122,86,216,86,221,216,122,217,122,218,122,219,122,220,122,221,122,222,122,202,65,5,123,6,123,7,123,8,123,9,123,10,123,11,123,12,123,13,123,14,123,15,123,16,123,17,123,18,123,19,123,20,123,21,123,215,65,219,65,4,123,131,124,132,124,133,124,134,124,135,124,136,124,137,124,138,124,139,124,140,124,141,124,142,124,143,124,144,124,60,0,42,0,145,124,10,125,11,125,12,125,13,125,14,125,15,125,16,125,17,125,18,125,19,125,20,125,21,125,22,125,23,125,24,125,25,125,26,125,27,125,28,125,29,125,30,125,31,125,32,125,33,125,34,125,35,125,36,125,37,125,38,125,39,125,188,66,224,126,225,126,226,126,227,126,228,126,229,126,230,126,231,126,232,126,57,127,58,127,60,127,67,67,91,127,92,127,93,127,94,127,95,127,96,127,97,127,98,127,144,127,146,127,147,127,148,127,150,127,151,127,152,127,153,127,192,127,193,127,194,127,195,127,196,127,197,127,198,127,89,216,2,220,89,216,16,220,89,216,17,220,89,216,18,220,4,128,6,128,10,128,21,128,22,128,23,128,24,128,25,128,56,128,57,128,58,128,59,128,60,128,61,128,62,128,63,128,64,128,65,128,66,128,129,128,130,128,237,128,238,128,239,128,240,128,241,128,242,128,243,128,244,128,245,128,246,128,247,128,248,128,249,128,250,128,251,128,252,128,253,128,255,128,0,129,1,129,2,129,3,129,4,129,5,129,6,129,7,129,8,129,10,129,11,129,12,129,13,129,14,129,15,129,16,129,17,129,60,0,42,0,18,129,19,129,237,67,89,216,175,222,89,216,177,222,89,216,181,222,236,129,237,129,90,216,57,221,0,130,1,130,16,130,37,130,38,130,39,130,40,130,41,130,42,130,43,130,44,130,45,130,46,130,47,130,48,130,49,130,101,68,115,130,187,130,159,68,160,68,162,68,8,131,22,131,23,131,24,131,25,131,26,131,27,131,28,131,30,131,31,131,32,131,33,131,34,131,36,131,37,131,38,131,39,131,40,131,41,131,42,131,43,131,44,131,45,131,46,131,47,131,48,131,49,131,50,131,51,131,52,131,53,131,54,131,55,131,56,131,57,131,60,131,61,131,63,131,64,131,65,131,66,131,67,131,68,131,69,131,71,131,72,131,73,131,74,131,75,131,76,131,77,131,78,131,79,131,80,131,81,131,82,131,84,131,85,131,86,131,87,131,88,131,90,131,91,131,92,131,93,131,94,131,95,131,96,131,97,131,98,131,99,131,100,131,101,131,102,131,103,131,104,131,105,131,106,131,108,131,109,131,110,131,111,131,90,216,117,223,90,216,130,223,90,216,150,223,90,216,151,223,90,216,157,223,90,216,179,223,83,131,81,134,83,134,84,134,132,134,133,134,134,134,135,134,137,134,60,0,42,0,138,134,139,134,140,134,141,134,142,134,143,134,144,134,145,134,146,134,147,134,148,134,149,134,150,134,151,134,152,134,153,134,154,134,155,134,156,134,157,134,158,134,159,134,160,134,161,134,162,134,163,134,164,134,165,134,166,134,167,134,168,134,169,134,170,134,172,134,67,136,68,136,79,136,21,70,109,136,110,136,111,136,112,136,113,136,114,136,115,136,116,136,117,136,118,136,119,136,120,136,121,136,122,136,123,136,124,136,125,136,126,136,127,136,128,136,129,136,130,136,131,136,132,136,133,136,134,136,135,136,93,216,85,222,93,216,86,222,93,216,87,222,141,137,142,137,202,137,9,138,10,138,11,138,12,138,13,138,14,138,15,138,16,138,17,138,18,138,19,138,20,138,21,138,22,138,23,138,24,138,25,138,26,138,94,216,103,221,247,139,248,139,249,139,250,139,251,139,252,139,253,139,254,139,255,139,0,140,1,140,2,140,3,140,4,140,5,140,6,140,7,140,8,140,9,140,10,140,56,140,71,140,72,140,87,140,121,140,122,140,123,140,161,140,162,140,163,140,164,140,95,216,47,221,60,141,61,141,62,141,63,141,64,141,65,141,60,0,42,0,66,141,67,141,68,141,69,141,70,141,118,141,119,141,120,141,152,71,181,141,182,141,183,141,184,141,213,71,172,142,206,142,207,142,208,142,209,142,210,142,211,142,212,142,213,142,124,143,125,143,126,143,127,143,128,143,129,143,130,143,131,143,177,143,244,143,245,143,246,143,247,143,248,143,249,143,250,143,251,143,252,143,253,143,254,143,255,143,0,144,1,144,2,144,3,144,4,144,5,144,6,144,7,144,8,144,9,144,10,144,149,144,214,144,215,144,216,144,217,144,218,144,219,144,220,144,221,144,222,144,223,144,224,144,225,144,226,144,227,144,228,144,229,144,230,144,231,144,76,145,77,145,78,145,79,145,80,145,81,145,82,145,213,145,214,145,215,145,216,145,217,145,218,145,219,145,220,145,221,145,222,145,223,145,224,145,225,145,226,145,176,148,177,148,178,148,179,148,180,148,181,148,182,148,183,148,184,148,185,148,186,148,187,148,188,148,189,148,190,148,191,148,192,148,193,148,194,148,195,148,196,148,197,148,198,148,199,148,200,148,201,148,202,148,203,148,204,148,205,148,206,148,131,149,132,149,60,0,42,0,133,149,99,216,202,220,99,216,205,220,3,150,4,150,5,150,6,150,86,150,87,150,88,150,89,150,91,150,92,150,93,150,94,150,95,150,96,150,97,150,98,150,99,150,100,150,101,150,102,150,103,150,104,150,105,150,90,150,99,216,151,222,186,150,187,150,188,150,189,150,190,150,124,152,125,152,126,152,127,152,128,152,129,152,130,152,131,152,132,152,226,152,227,152,228,152,125,153,126,153,127,153,128,153,129,153,130,153,172,153,138,154,139,154,140,154,141,154,142,154,143,154,168,154,216,154,223,154,37,155,47,155,50,155,60,155,125,156,42,158,43,158,44,158,45,158,46,158,47,158,48,158,49,158,50,158,51,158,52,158,53,158,54,158,128,159,60,0,39,0,208,253,11,40,39,0,60,0,42,0,126,78,127,78,128,78,34,52,64,80,65,80,66,80,67,80,68,80,69,80,70,80,71,80,72,80,73,80,74,80,75,80,76,80,77,80,78,80,79,80,80,80,81,80,82,80,83,80,84,80,85,80,87,80,88,80,89,80,90,80,91,80,92,80,93,80,94,80,95,80,96,80,97,80,98,80,99,80,100,80,101,80,102,80,103,80,105,80,106,80,107,80,108,80,109,80,110,80,111,80,112,80,113,80,114,80,115,80,116,80,117,80,118,80,119,80,120,80,121,80,122,80,123,80,124,80,125,80,126,80,127,80,100,52,64,216,183,222,64,216,191,222,64,216,192,222,64,216,229,222,92,81,93,81,94,81,125,81,149,81,188,52,168,81,207,81,208,81,209,81,65,216,235,221,240,81,104,82,106,82,107,82,108,82,109,82,110,82,111,82,112,82,113,82,118,82,65,216,121,223,210,82,211,82,212,82,213,82,214,82,216,82,217,82,218,82,32,53,15,83,16,83,19,83,24,83,25,83,45,53,44,83,45,83,46,83,49,53,62,83,63,83,64,83,89,83,104,83,126,83,160,83,161,83,162,83,163,83,169,83,195,83,196,83,12,85,40,85,60,0,42,0,41,85,42,85,43,85,44,85,45,85,46,85,47,85,48,85,49,85,50,85,51,85,52,85,53,85,54,85,55,85,56,85,57,85,58,85,59,85,60,85,61,85,62,85,63,85,64,85,65,85,66,85,67,85,68,85,69,85,70,85,71,85,72,85,73,85,74,85,75,85,76,85,77,85,78,85,79,85,80,85,81,85,82,85,83,85,84,85,85,85,86,85,87,85,88,85,90,85,91,85,92,85,93,85,94,85,96,85,97,85,98,85,99,85,100,85,101,85,102,85,103,85,104,85,105,85,106,85,108,85,109,85,110,85,111,85,112,85,113,85,114,85,115,85,116,85,117,85,118,85,119,85,120,85,121,85,161,53,165,53,173,53,67,216,40,221,67,216,49,221,67,216,50,221,67,216,70,221,67,216,71,221,67,216,72,221,67,216,73,221,67,216,76,221,67,216,77,221,67,216,78,221,67,216,111,221,67,216,113,221,67,216,116,221,67,216,124,221,67,216,126,221,67,216,127,221,67,216,150,221,67,216,156,221,67,216,167,221,67,216,178,221,107,85,182,85,7,87,8,87,9,87,10,87,11,87,15,87,220,87,221,87,222,87,223,87,224,87,225,87,226,87,227,87,228,87,229,87,230,87,231,87,232,87,233,87,235,87,236,87,237,87,238,87,239,87,60,0,42,0,240,87,241,87,242,87,243,87,244,87,245,87,246,87,247,87,248,87,249,87,250,87,251,87,252,87,253,87,254,87,255,87,0,88,1,88,2,88,3,88,4,88,5,88,6,88,7,88,8,88,9,88,10,88,11,88,12,88,13,88,14,88,15,88,16,88,17,88,18,88,19,88,20,88,21,88,71,54,72,54,73,54,68,216,54,223,68,216,58,223,234,87,53,88,247,88,248,88,31,89,32,89,91,89,92,89,93,89,94,89,95,89,69,216,62,222,98,89,43,90,61,90,44,90,53,90,54,90,55,90,56,90,57,90,58,90,59,90,60,90,62,90,63,90,64,90,65,90,66,90,67,90,68,90,69,90,70,90,71,90,72,90,73,90,74,90,75,90,76,90,77,90,78,90,79,90,80,90,81,90,82,90,83,90,84,90,85,90,86,90,87,90,88,90,89,90,90,90,91,90,92,90,93,90,94,90,95,90,96,90,97,90,98,90,99,90,100,90,101,90,102,90,103,90,104,90,105,90,106,90,107,90,108,90,109,90,110,90,111,90,112,90,113,90,114,90,115,90,116,90,117,90,118,90,229,54,230,54,69,216,108,223,69,216,109,223,60,0,42,0,69,216,110,223,69,216,111,223,69,216,112,223,69,216,113,223,69,216,115,223,69,216,116,223,142,90,110,91,111,91,112,91,114,91,191,91,192,91,193,91,194,91,195,91,196,91,197,91,198,91,199,91,200,91,201,91,70,216,45,222,70,216,52,222,7,92,8,92,9,92,89,92,90,92,91,92,92,92,93,92,96,92,6,93,7,93,8,93,9,93,10,93,11,93,12,93,13,93,14,93,15,93,16,93,17,93,18,93,19,93,20,93,21,93,22,93,23,93,24,93,25,93,26,93,27,93,28,93,29,93,30,93,31,93,32,93,33,93,34,93,35,93,36,93,37,93,38,93,39,93,40,93,41,93,42,93,43,93,44,93,45,93,46,93,47,93,48,93,71,216,28,222,71,216,35,222,71,216,55,222,71,216,61,222,226,93,227,93,49,56,50,94,51,94,52,94,53,94,54,94,55,94,56,94,57,94,58,94,59,94,60,94,62,94,177,94,178,94,179,94,180,94,181,94,182,94,183,94,184,94,185,94,186,94,187,94,188,94,190,94,52,95,53,95,54,95,55,95,56,95,57,95,72,216,250,223,87,95,105,95,107,95,108,95,150,95,151,95,152,95,153,95,155,95,156,95,157,95,158,95,159,95,60,0,42,0,160,95,161,95,162,95,163,95,164,95,73,216,19,221,73,216,27,221,127,96,134,96,137,96,138,96,144,96,152,96,160,96,161,96,163,96,164,96,165,96,168,96,170,96,171,96,172,96,48,57,50,57,53,57,59,57,176,96,177,96,180,96,181,96,183,96,184,96,186,96,187,96,188,96,189,96,190,96,191,96,192,96,194,96,195,96,197,96,198,96,199,96,200,96,202,96,203,96,205,96,207,96,208,96,211,96,212,96,213,96,215,96,216,96,217,96,218,96,219,96,220,96,221,96,222,96,223,96,228,96,230,96,231,96,232,96,236,96,237,96,238,96,239,96,63,57,77,57,73,216,244,222,73,216,245,222,73,216,246,222,73,216,18,223,73,216,20,223,73,216,27,223,73,216,31,223,26,98,27,98,28,98,29,98,72,98,50,99,59,99,101,99,102,99,103,99,104,99,105,99,106,99,107,99,108,99,109,99,110,99,111,99,112,99,113,99,114,99,115,99,116,99,117,99,118,99,119,99,120,99,121,99,122,99,123,99,124,99,125,99,126,99,127,99,128,99,129,99,130,99,131,99,132,99,133,99,134,99,135,99,136,99,137,99,138,99,139,99,141,99,142,99,143,99,60,0,42,0,144,99,145,99,146,99,147,99,149,99,150,99,151,99,152,99,153,99,154,99,155,99,156,99,157,99,158,99,159,99,160,99,161,99,162,99,164,99,165,99,166,99,167,99,168,99,169,99,170,99,171,99,172,99,173,99,174,99,175,99,179,99,180,99,181,99,182,99,183,99,184,99,185,99,186,99,187,99,188,99,189,99,251,57,254,57,0,58,1,58,2,58,3,58,4,58,6,58,74,216,202,223,74,216,206,223,178,99,95,85,77,101,78,101,79,101,80,101,81,101,82,101,83,101,84,101,85,101,86,101,87,101,88,101,89,101,90,101,91,101,138,58,139,58,140,58,141,58,142,58,93,101,141,101,142,101,143,101,155,101,156,101,172,101,173,101,199,101,200,101,201,101,203,101,204,101,205,101,206,101,207,101,203,58,227,101,215,82,87,102,88,102,89,102,90,102,91,102,92,102,93,102,94,102,97,102,98,102,99,102,100,102,101,102,102,102,103,102,104,102,105,102,253,102,240,58,242,58,76,216,179,221,76,216,200,221,76,216,201,221,249,102,252,102,22,103,24,103,25,103,26,103,27,103,54,59,55,59,107,104,108,104,109,104,110,104,60,0,42,0,111,104,112,104,113,104,114,104,115,104,116,104,117,104,118,104,119,104,120,104,121,104,122,104,123,104,124,104,125,104,126,104,127,104,128,104,129,104,130,104,131,104,132,104,133,104,134,104,135,104,136,104,137,104,138,104,139,104,140,104,141,104,142,104,143,104,144,104,145,104,146,104,147,104,148,104,149,104,150,104,151,104,152,104,153,104,154,104,155,104,156,104,157,104,158,104,159,104,160,104,161,104,162,104,163,104,164,104,165,104,166,104,167,104,168,104,169,104,170,104,171,104,172,104,173,104,174,104,175,104,176,104,177,104,178,104,179,104,181,104,182,104,183,104,184,104,185,104,186,104,187,104,188,104,189,104,190,104,191,104,192,104,193,104,194,104,104,59,105,59,106,59,107,59,108,59,109,59,110,59,111,59,112,59,113,59,114,59,115,59,116,59,117,59,119,59,86,105,50,107,51,107,53,107,54,107,55,107,56,107,47,60,140,107,141,107,142,107,143,107,144,107,145,107,146,107,147,107,98,60,184,107,185,107,186,107,187,107,235,107,236,107,237,107,238,107,42,108,43,108,79,216,99,220,142,109,235,60,60,0,42,0,153,109,170,109,171,109,172,109,173,109,174,109,175,109,176,109,177,109,178,109,179,109,180,109,181,109,182,109,183,109,184,109,185,109,186,109,187,109,188,109,189,109,190,109,191,109,192,109,193,109,194,109,195,109,196,109,197,109,198,109,199,109,200,109,201,109,202,109,203,109,204,109,205,109,206,109,207,109,208,109,209,109,210,109,211,109,212,109,213,109,214,109,215,109,216,109,217,109,218,109,219,109,220,109,221,109,222,109,223,109,224,109,225,109,226,109,227,109,228,109,229,109,230,109,231,109,232,109,233,109,234,109,235,109,236,109,237,109,238,109,239,109,240,109,241,109,242,109,243,109,244,109,245,109,246,109,247,109,248,109,249,109,250,109,251,109,253,109,255,109,0,110,1,110,2,110,4,110,5,110,6,110,7,110,8,110,9,110,10,110,11,110,12,110,13,110,14,110,15,110,16,110,17,110,18,110,19,110,20,110,21,110,22,110,23,110,26,110,116,110,0,61,4,61,79,216,126,221,79,216,143,221,79,216,182,221,79,216,183,221,79,216,184,221,79,216,185,221,79,216,186,221,79,216,187,221,79,216,188,221,79,216,189,221,79,216,227,221,79,216,248,221,239,112,240,112,241,112,242,112,60,0,42,0,243,112,244,112,245,112,246,112,247,112,248,112,249,112,250,112,252,112,253,112,254,112,255,112,0,113,1,113,2,113,3,113,4,113,5,113,6,113,7,113,8,113,9,113,10,113,11,113,12,113,13,113,14,113,15,113,16,113,17,113,18,113,19,113,21,113,22,113,23,113,24,113,191,61,80,216,75,222,80,216,86,222,80,216,89,222,20,113,61,114,123,114,124,114,125,114,126,114,127,114,129,114,58,62,60,62,62,62,64,62,81,216,101,222,255,114,4,115,5,115,7,115,8,115,9,115,10,115,13,115,14,115,15,115,16,115,17,115,19,115,20,115,21,115,22,115,23,115,24,115,25,115,26,115,27,115,28,115,29,115,30,115,31,115,32,115,33,115,42,115,135,115,136,115,243,115,244,115,245,115,246,115,248,115,250,115,251,115,252,115,253,115,254,115,255,115,0,116,1,116,2,116,3,116,4,116,5,116,6,116,7,116,8,116,10,116,11,116,12,116,13,116,14,116,15,116,16,116,17,116,18,116,19,116,202,62,204,62,208,62,82,216,98,221,82,216,99,221,82,216,116,221,82,216,117,221,82,216,118,221,224,116,14,63,246,116,247,116,248,116,38,63,27,117,60,0,42,0,28,117,34,117,35,117,97,117,98,117,99,117,100,117,101,117,102,117,103,117,105,117,112,117,181,117,202,117,203,117,204,117,205,117,206,117,207,117,208,117,209,117,210,117,211,117,212,117,213,117,214,117,137,118,142,118,143,118,144,118,145,118,178,118,210,118,211,118,212,118,213,118,214,118,215,118,216,118,219,118,1,64,2,64,37,119,38,119,45,119,46,119,47,119,48,119,49,119,50,119,51,119,52,119,53,119,54,119,55,119,56,119,57,119,58,119,59,119,60,119,61,119,62,119,65,119,84,216,125,221,84,216,126,221,64,119,234,119,235,119,38,120,66,120,67,120,68,120,69,120,70,120,71,120,72,120,73,120,74,120,75,120,76,120,77,120,78,120,79,120,80,120,81,120,82,120,83,120,84,120,85,120,86,120,87,120,88,120,89,120,90,120,91,120,85,216,154,220,97,121,99,121,100,121,101,121,103,121,104,121,105,121,106,121,107,121,108,121,109,121,110,121,111,121,4,65,150,137,85,216,131,222,187,121,241,121,242,121,243,121,244,121,245,121,246,121,247,121,248,121,249,121,250,121,251,121,252,121,253,121,254,121,6,122,60,0,42,0,59,65,65,65,67,65,69,65,143,122,144,122,145,122,146,122,147,122,148,122,149,122,154,122,225,122,22,123,23,123,24,123,25,123,26,123,27,123,28,123,29,123,30,123,31,123,32,123,33,123,34,123,35,123,36,123,37,123,38,123,39,123,40,123,41,123,42,123,43,123,44,123,45,123,46,123,47,123,48,123,49,123,50,123,51,123,52,123,53,123,54,123,55,123,56,123,57,123,58,123,59,123,60,123,61,123,62,123,104,117,146,124,147,124,148,124,149,124,150,124,151,124,152,124,153,124,154,124,155,124,156,124,157,124,163,124,87,216,73,222,40,125,41,125,44,125,45,125,46,125,47,125,48,125,49,125,50,125,51,125,52,125,53,125,54,125,55,125,56,125,57,125,58,125,59,125,60,125,61,125,62,125,63,125,64,125,65,125,66,125,67,125,68,125,69,125,70,125,71,125,72,125,73,125,74,125,75,125,76,125,87,216,225,223,87,216,226,223,233,126,234,126,235,126,236,126,237,126,238,126,239,126,240,126,241,126,242,126,243,126,244,126,245,126,246,126,247,126,248,126,249,126,250,126,251,126,252,126,253,126,254,126,60,0,42,0,255,126,0,127,1,127,59,127,61,127,68,67,69,67,99,127,149,127,154,127,155,127,156,127,157,127,158,127,159,127,199,127,200,127,201,127,202,127,203,127,204,127,205,127,206,127,207,127,208,127,209,127,210,127,8,128,9,128,26,128,27,128,28,128,29,128,30,128,31,128,67,128,68,128,69,128,70,128,71,128,72,128,73,128,74,128,75,128,76,128,77,128,236,128,21,129,22,129,23,129,24,129,25,129,26,129,27,129,28,129,29,129,30,129,31,129,33,129,34,129,35,129,36,129,37,129,38,129,39,129,40,129,41,129,42,129,43,129,44,129,45,129,46,129,47,129,48,129,49,129,50,129,51,129,52,129,53,129,54,129,55,129,56,129,240,67,242,67,89,216,218,222,89,216,232,222,89,216,252,222,90,216,14,221,2,130,17,130,50,130,51,130,52,130,53,130,54,130,55,130,56,130,57,130,58,130,59,130,90,216,45,222,90,216,46,222,116,130,89,131,107,131,29,131,35,131,112,131,113,131,114,131,115,131,116,131,117,131,118,131,119,131,120,131,121,131,122,131,123,131,124,131,125,131,126,131,127,131,128,131,129,131,130,131,131,131,132,131,60,0,42,0,133,131,134,131,135,131,136,131,137,131,138,131,139,131,140,131,141,131,142,131,143,131,144,131,145,131,146,131,147,131,148,131,149,131,150,131,151,131,152,131,153,131,155,131,156,131,157,131,158,131,159,131,160,131,161,131,162,131,163,131,164,131,165,131,166,131,167,131,168,131,169,131,170,131,171,131,172,131,174,131,175,131,176,131,177,131,178,131,179,131,180,131,181,131,182,131,183,131,184,131,185,131,186,131,188,131,189,131,202,159,90,216,192,223,90,216,247,223,91,216,33,220,173,131,106,95,85,134,86,134,87,134,88,134,89,134,90,134,171,134,173,134,174,134,175,134,176,134,177,134,178,134,179,134,180,134,181,134,182,134,183,134,184,134,185,134,186,134,187,134,188,134,189,134,190,134,191,134,192,134,193,134,194,134,195,134,196,134,197,134,198,134,199,134,200,134,201,134,202,134,203,134,204,134,205,134,206,134,207,134,33,250,166,69,92,216,103,222,92,216,128,222,92,216,133,222,92,216,139,222,69,136,80,136,81,136,82,136,83,136,84,136,136,136,137,136,138,136,139,136,140,136,141,136,142,136,143,136,144,136,145,136,146,136,147,136,148,136,149,136,60,0,42,0,150,136,151,136,152,136,153,136,154,136,155,136,156,136,157,136,158,136,159,136,160,136,161,136,162,136,163,136,164,136,165,136,166,136,167,136,168,136,169,136,170,136,171,136,172,136,173,136,174,136,176,136,38,70,175,136,130,137,143,137,144,137,145,137,146,137,147,137,148,137,122,70,203,137,213,137,214,137,215,137,216,137,217,137,94,216,200,220,27,138,28,138,29,138,30,138,31,138,32,138,33,138,34,138,35,138,36,138,37,138,38,138,39,138,40,138,41,138,42,138,43,138,44,138,45,138,46,138,47,138,48,138,49,138,50,138,51,138,187,70,188,70,94,216,122,221,11,140,12,140,13,140,14,140,15,140,16,140,17,140,18,140,19,140,20,140,21,140,22,140,23,140,24,140,25,140,26,140,27,140,28,140,29,140,30,140,57,140,58,140,59,140,73,140,88,140,89,140,90,140,91,140,92,140,93,140,70,71,71,71,124,140,125,140,165,140,166,140,167,140,168,140,169,140,170,140,171,140,172,140,173,140,174,140,71,141,72,141,73,141,74,141,101,141,102,141,103,141,121,141,122,141,123,141,124,141,125,141,126,141,60,0,42,0,127,141,35,250,155,71,185,141,186,141,187,141,189,141,190,141,191,141,192,141,193,141,194,141,195,141,196,141,173,142,174,142,175,142,96,216,24,222,96,216,26,222,214,142,215,142,216,142,217,142,218,142,219,142,220,142,221,142,222,142,223,142,224,142,225,142,226,142,227,142,70,72,71,72,72,72,73,72,74,72,96,216,205,222,132,143,133,143,134,143,11,144,12,144,13,144,14,144,15,144,16,144,17,144,18,144,19,144,20,144,21,144,22,144,23,144,24,144,25,144,26,144,27,144,28,144,29,144,30,144,31,144,32,144,33,144,34,144,35,144,36,144,37,144,38,144,39,144,155,72,97,216,1,221,171,144,212,144,232,144,233,144,234,144,235,144,236,144,237,144,238,144,239,144,240,144,242,144,243,144,244,144,247,144,248,144,253,144,97,216,15,223,97,216,19,223,83,145,84,145,85,145,86,145,87,145,88,145,89,145,90,145,91,145,92,145,93,145,94,145,237,72,98,216,4,220,200,145,206,145,227,145,228,145,229,145,230,145,231,145,232,145,233,145,234,145,235,145,236,145,237,145,238,145,239,145,240,145,241,145,242,145,243,145,244,145,245,145,246,145,60,0,42,0,247,145,248,145,249,145,250,145,251,145,252,145,98,216,72,221,98,216,73,221,207,148,208,148,209,148,210,148,211,148,212,148,213,148,214,148,215,148,216,148,217,148,218,148,219,148,220,148,221,148,222,148,223,148,224,148,225,148,226,148,227,148,228,148,229,148,230,148,231,148,232,148,233,148,234,148,235,148,236,148,237,148,238,148,239,148,240,148,241,148,242,148,243,148,244,148,245,148,246,148,247,148,121,149,122,149,134,149,135,149,136,149,137,149,138,149,99,216,210,220,7,150,8,150,9,150,10,150,11,150,12,150,13,150,14,150,15,150,16,150,106,150,107,150,108,150,109,150,110,150,111,150,112,150,113,150,115,150,116,150,117,150,118,150,119,150,120,150,121,150,122,150,124,150,99,216,172,222,99,216,178,222,99,216,179,222,191,150,192,150,233,150,234,150,235,150,100,216,121,220,100,216,213,221,100,216,235,221,106,151,223,122,224,122,2,152,3,152,4,152,133,152,134,152,135,152,136,152,225,152,229,152,230,152,131,153,132,153,133,153,134,153,151,153,144,154,145,154,146,154,147,154,148,154,149,154,150,154,217,154,90,155,126,156,229,156,55,158,56,158,57,158,58,158,60,0,42,0,59,158,60,158,61,158,62,158,63,158,117,158,127,158,165,158,184,158,187,158,210,158,129,159,154,159,155,159,60,0,39,0,208,253,12,40,39,0,60,0,42,0,64,216,70,220,129,78,180,78,181,78,104,80,128,80,129,80,130,80,131,80,132,80,133,80,134,80,135,80,136,80,137,80,138,80,139,80,140,80,141,80,142,80,143,80,144,80,145,80,146,80,147,80,148,80,149,80,150,80,151,80,152,80,153,80,154,80,155,80,156,80,157,80,158,80,159,80,160,80,161,80,162,80,163,80,164,80,165,80,166,80,167,80,168,80,169,80,115,52,122,52,64,216,10,223,64,216,37,223,95,81,96,81,65,216,163,220,0,103,210,81,211,81,212,81,213,81,214,81,241,81,242,81,255,81,105,82,114,82,115,82,116,82,117,82,251,52,219,82,220,82,221,82,222,82,17,83,18,83,66,216,35,221,66,216,84,221,56,53,90,83,164,83,165,83,166,83,167,83,168,83,66,216,138,222,197,83,89,85,122,85,123,85,124,85,125,85,126,85,127,85,128,85,129,85,130,85,131,85,132,85,133,85,134,85,135,85,136,85,137,85,138,85,139,85,140,85,142,85,143,85,144,85,145,85,146,85,147,85,148,85,149,85,150,85,151,85,152,85,153,85,154,85,155,85,156,85,157,85,158,85,159,85,160,85,161,85,162,85,163,85,60,0,42,0,164,85,165,85,166,85,167,85,168,85,169,85,170,85,171,85,172,85,173,85,174,85,175,85,176,85,177,85,178,85,179,85,180,85,181,85,183,85,184,85,185,85,186,85,187,85,188,85,189,85,190,85,69,86,191,53,193,53,196,53,197,53,199,53,202,53,206,53,67,216,200,221,67,216,4,222,67,216,9,222,67,216,10,222,67,216,13,222,67,216,14,222,67,216,15,222,67,216,16,222,67,216,17,222,67,216,22,222,67,216,29,222,222,85,12,87,13,87,14,87,16,87,22,88,23,88,24,88,25,88,26,88,27,88,28,88,29,88,30,88,31,88,32,88,33,88,34,88,35,88,36,88,37,88,38,88,39,88,40,88,41,88,42,88,43,88,44,88,45,88,46,88,47,88,48,88,49,88,51,88,52,88,54,88,55,88,56,88,57,88,58,88,59,88,60,88,62,88,63,88,64,88,65,88,66,88,68,88,69,88,70,88,71,88,72,88,78,54,68,216,117,223,68,216,118,223,68,216,142,223,68,216,152,223,68,216,156,223,249,88,250,88,251,88,33,89,96,89,97,89,99,89,100,89,101,89,119,90,120,90,121,90,122,90,123,90,124,90,125,90,126,90,127,90,128,90,129,90,130,90,131,90,132,90,133,90,134,90,60,0,42,0,135,90,136,90,137,90,138,90,139,90,140,90,141,90,143,90,145,90,146,90,147,90,148,90,149,90,150,90,151,90,152,90,153,90,154,90,155,90,156,90,157,90,158,90,159,90,160,90,161,90,162,90,163,90,164,90,165,90,166,90,167,90,168,90,169,90,170,90,171,90,172,90,173,90,174,90,175,90,207,90,245,54,0,55,1,55,3,55,4,55,69,216,171,223,69,216,176,223,69,216,177,223,69,216,178,223,69,216,179,223,69,216,180,223,69,216,181,223,69,216,195,223,69,216,199,223,69,216,217,223,69,216,218,223,69,216,219,223,69,216,220,223,69,216,223,223,113,91,70,216,124,221,70,216,128,221,115,91,202,91,203,91,204,91,205,91,206,91,207,91,208,91,209,91,210,91,211,91,212,91,213,91,234,91,98,55,70,216,69,222,70,216,75,222,10,92,11,92,12,92,30,92,48,92,49,92,94,92,95,92,97,92,71,216,162,220,71,216,165,220,49,93,50,93,51,93,52,93,53,93,54,93,55,93,56,93,57,93,58,93,59,93,60,93,61,93,62,93,63,93,64,93,65,93,66,93,67,93,68,93,69,93,70,93,71,93,72,93,73,93,75,93,76,93,77,93,78,93,79,93,80,93,81,93,82,93,83,93,84,93,85,93,86,93,87,93,60,0,42,0,88,93,89,93,90,93,91,93,92,93,93,93,17,250,71,216,137,222,71,216,164,222,71,216,168,222,107,93,239,93,45,56,253,93,72,216,69,220,72,216,73,220,61,94,63,94,64,94,65,94,66,94,67,94,68,94,69,94,70,94,71,94,73,94,72,216,252,220,72,94,126,94,189,94,191,94,192,94,193,94,194,94,195,94,202,94,196,94,17,95,58,95,59,95,60,95,61,95,62,95,88,95,109,95,154,95,165,95,166,95,167,95,168,95,169,95,170,95,171,95,73,216,48,221,178,96,179,96,182,96,185,96,193,96,196,96,201,96,204,96,206,96,209,96,210,96,214,96,224,96,225,96,226,96,227,96,229,96,233,96,234,96,235,96,240,96,241,96,242,96,244,96,245,96,246,96,248,96,250,96,251,96,252,96,253,96,254,96,255,96,0,97,3,97,4,97,5,97,7,97,9,97,10,97,11,97,12,97,14,97,16,97,17,97,18,97,19,97,20,97,21,97,22,97,24,97,28,97,29,97,30,97,32,97,33,97,34,97,35,97,36,97,37,97,38,97,104,97,97,57,98,57,101,57,73,216,42,223,73,216,117,223,73,216,129,223,30,98,31,98,184,57,73,98,74,98,60,0,42,0,140,99,148,99,163,99,176,99,177,99,190,99,191,99,192,99,193,99,194,99,195,99,196,99,198,99,199,99,200,99,201,99,202,99,203,99,204,99,205,99,206,99,207,99,208,99,209,99,210,99,211,99,212,99,213,99,214,99,215,99,216,99,217,99,218,99,219,99,220,99,221,99,222,99,223,99,224,99,225,99,226,99,227,99,229,99,230,99,232,99,233,99,234,99,236,99,237,99,238,99,239,99,240,99,242,99,243,99,244,99,245,99,246,99,247,99,248,99,249,99,250,99,251,99,252,99,253,99,254,99,255,99,0,100,1,100,2,100,3,100,4,100,5,100,82,100,23,58,24,58,75,216,38,220,75,216,39,220,75,216,56,220,75,216,76,220,75,216,81,220,75,216,85,220,97,100,50,101,92,101,94,101,95,101,96,101,97,101,98,101,99,101,100,101,101,101,102,101,103,101,104,101,105,101,106,101,143,58,144,58,151,58,75,216,116,223,140,101,144,101,145,101,157,101,184,58,76,216,125,220,76,216,126,220,158,101,174,101,175,101,192,58,177,101,208,101,209,101,76,216,3,221,106,102,107,102,108,102,109,102,110,102,111,102,112,102,113,102,114,102,115,102,116,102,117,102,60,0,42,0,118,102,119,102,121,102,122,102,123,102,124,102,125,102,126,102,127,102,128,102,129,102,130,102,131,102,145,102,245,58,251,58,0,59,76,216,234,221,76,216,247,221,76,216,248,221,76,216,249,221,76,216,15,222,254,102,255,102,1,103,2,103,28,103,29,103,30,103,31,103,56,59,180,104,195,104,196,104,197,104,198,104,199,104,200,104,201,104,202,104,203,104,204,104,205,104,206,104,207,104,208,104,209,104,210,104,211,104,212,104,213,104,214,104,215,104,216,104,217,104,218,104,219,104,220,104,221,104,222,104,223,104,224,104,225,104,226,104,227,104,228,104,229,104,230,104,231,104,232,104,233,104,234,104,235,104,236,104,237,104,238,104,239,104,240,104,241,104,242,104,243,104,244,104,245,104,246,104,247,104,248,104,249,104,250,104,251,104,252,104,253,104,254,104,255,104,0,105,1,105,2,105,3,105,4,105,5,105,6,105,7,105,8,105,9,105,10,105,11,105,12,105,13,105,14,105,15,105,16,105,17,105,18,105,19,105,20,105,21,105,22,105,23,105,24,105,25,105,26,105,27,105,28,105,29,105,30,105,31,105,32,105,33,105,34,105,60,0,42,0,35,105,36,105,37,105,38,105,39,105,40,105,41,105,42,105,43,105,44,105,45,105,46,105,118,59,120,59,121,59,122,59,123,59,124,59,125,59,126,59,127,59,128,59,77,216,229,220,77,216,25,221,77,216,48,221,110,105,112,105,19,250,57,107,58,107,59,107,60,107,61,107,62,107,63,107,110,107,111,107,148,107,149,107,150,107,151,107,152,107,153,107,154,107,100,60,102,60,104,60,105,60,188,107,189,107,190,107,239,107,240,107,241,107,242,107,243,107,244,107,245,107,246,107,44,108,45,108,46,108,47,108,48,108,252,109,254,109,3,110,24,110,25,110,27,110,28,110,29,110,30,110,31,110,32,110,33,110,34,110,35,110,36,110,37,110,38,110,39,110,40,110,41,110,42,110,43,110,44,110,45,110,46,110,47,110,48,110,49,110,50,110,51,110,52,110,53,110,54,110,55,110,56,110,57,110,58,110,59,110,60,110,61,110,62,110,63,110,64,110,65,110,66,110,67,110,68,110,69,110,70,110,71,110,72,110,73,110,74,110,75,110,76,110,77,110,78,110,79,110,80,110,81,110,82,110,83,110,84,110,85,110,60,0,42,0,86,110,87,110,88,110,89,110,90,110,91,110,92,110,93,110,94,110,95,110,96,110,97,110,98,110,99,110,100,110,101,110,102,110,103,110,104,110,105,110,106,110,107,110,109,110,110,110,111,110,112,110,113,110,114,110,115,110,117,110,118,110,119,110,120,110,121,110,122,110,123,110,124,110,125,110,126,110,127,110,128,110,129,110,130,110,131,110,132,110,133,110,134,110,135,110,136,110,137,110,138,110,139,110,140,110,203,110,222,110,18,61,19,61,29,61,32,61,34,61,79,216,6,222,79,216,17,222,79,216,44,222,79,216,45,222,79,216,46,222,79,216,47,222,79,216,48,222,79,216,49,222,79,216,57,222,251,112,25,113,26,113,27,113,28,113,29,113,30,113,31,113,32,113,33,113,34,113,35,113,36,113,37,113,38,113,39,113,40,113,41,113,42,113,43,113,44,113,45,113,46,113,47,113,48,113,49,113,50,113,51,113,52,113,53,113,54,113,55,113,56,113,57,113,58,113,59,113,60,113,61,113,62,113,63,113,64,113,110,113,198,61,199,61,201,61,204,61,205,61,80,216,118,222,80,216,119,222,80,216,120,222,80,216,132,222,80,216,147,222,80,216,149,222,80,216,165,222,50,114,75,114,76,114,77,114,81,216,200,221,60,0,42,0,90,114,128,114,130,114,131,114,132,114,133,114,134,114,135,114,136,114,137,114,138,114,139,114,67,62,81,216,116,222,6,115,11,115,12,115,18,115,43,115,34,115,35,115,36,115,37,115,38,115,39,115,40,115,41,115,44,115,45,115,47,115,48,115,49,115,50,115,51,115,52,115,53,115,54,115,56,115,57,115,81,216,224,223,247,115,20,116,21,116,22,116,23,116,24,116,25,116,26,116,27,116,28,116,29,116,31,116,32,116,33,116,34,116,35,116,36,116,37,116,38,116,40,116,41,116,42,116,43,116,44,116,45,116,46,116,47,116,48,116,49,116,50,116,51,116,52,116,53,116,54,116,55,116,56,116,57,116,58,116,59,116,60,116,209,62,214,62,218,62,219,62,82,216,123,221,82,216,127,221,82,216,130,221,82,216,136,221,82,216,137,221,82,216,138,221,82,216,139,221,82,216,140,221,82,216,141,221,82,216,142,221,82,216,143,221,82,216,148,221,82,216,164,221,82,216,167,221,82,216,169,221,82,216,171,221,82,216,172,221,82,216,173,221,249,116,250,116,251,116,252,116,36,117,37,117,38,117,47,117,83,216,9,220,106,117,107,117,108,117,109,117,110,117,111,117,114,117,115,117,116,117,113,117,142,117,143,117,215,117,216,117,217,117,218,117,219,117,60,0,42,0,220,117,221,117,222,117,223,117,224,117,225,117,226,117,227,117,228,117,229,117,230,117,231,117,232,117,233,117,234,117,235,117,147,63,152,63,83,216,184,221,123,118,124,118,146,118,147,118,148,118,149,118,150,118,179,118,180,118,217,118,218,118,220,118,3,64,66,119,67,119,68,119,69,119,70,119,71,119,72,119,73,119,74,119,75,119,76,119,77,119,78,119,79,119,80,119,81,119,57,64,64,64,222,119,223,119,236,119,237,119,92,120,93,120,94,120,95,120,96,120,97,120,98,120,99,120,100,120,101,120,102,120,103,120,104,120,105,120,106,120,107,120,108,120,109,120,110,120,111,120,112,120,113,120,114,120,115,120,116,120,117,120,118,120,119,120,180,64,102,121,112,121,113,121,114,121,115,121,116,121,117,121,118,121,119,121,120,121,132,121,9,65,85,216,149,222,188,121,255,121,0,122,1,122,2,122,3,122,4,122,5,122,7,122,8,122,9,122,10,122,11,122,12,122,13,122,14,122,85,216,199,223,150,122,151,122,152,122,153,122,155,122,156,122,157,122,226,122,227,122,228,122,229,122,230,122,231,122,63,123,64,123,60,0,42,0,65,123,66,123,67,123,68,123,69,123,70,123,71,123,72,123,73,123,74,123,75,123,76,123,77,123,78,123,79,123,80,123,81,123,82,123,83,123,84,123,85,123,86,123,87,123,88,123,89,123,90,123,91,123,92,123,93,123,237,65,238,65,239,65,108,123,158,124,159,124,160,124,161,124,162,124,164,124,165,124,166,124,167,124,168,124,169,124,170,124,171,124,172,124,173,124,131,66,42,125,43,125,77,125,78,125,79,125,80,125,81,125,82,125,83,125,84,125,85,125,86,125,87,125,88,125,89,125,90,125,92,125,93,125,94,125,95,125,96,125,97,125,98,125,99,125,100,125,101,125,102,125,103,125,104,125,105,125,106,125,107,125,108,125,109,125,110,125,111,125,112,125,113,125,114,125,115,125,116,125,117,125,118,125,119,125,126,125,59,67,2,127,3,127,4,127,5,127,6,127,7,127,8,127,9,127,10,127,11,127,12,127,13,127,14,127,15,127,16,127,17,127,18,127,19,127,20,127,21,127,22,127,23,127,24,127,62,127,63,127,64,127,100,127,101,127,102,127,160,127,161,127,162,127,110,67,60,0,42,0,111,67,211,127,212,127,213,127,214,127,215,127,216,127,217,127,218,127,11,128,32,128,78,128,79,128,80,128,81,128,82,128,83,128,84,128,96,128,89,216,114,221,212,128,254,128,20,129,32,129,57,129,58,129,59,129,60,129,61,129,62,129,63,129,64,129,65,129,66,129,67,129,68,129,69,129,70,129,71,129,72,129,73,129,74,129,75,129,76,129,77,129,78,129,79,129,81,129,82,129,83,129,84,129,85,129,86,129,87,129,88,129,89,129,90,129,57,59,0,68,1,68,2,68,89,216,22,223,89,216,65,223,116,129,230,129,238,129,239,129,240,129,90,216,17,221,245,129,246,129,247,129,248,129,249,129,3,130,4,130,18,130,28,130,60,130,61,130,62,130,63,130,90,216,52,222,117,130,18,131,59,131,70,131,176,68,183,68,189,68,192,68,154,131,190,131,191,131,192,131,193,131,194,131,195,131,196,131,197,131,198,131,199,131,200,131,201,131,202,131,203,131,204,131,205,131,206,131,207,131,208,131,209,131,210,131,211,131,212,131,213,131,214,131,215,131,216,131,218,131,219,131,220,131,221,131,222,131,223,131,224,131,225,131,226,131,60,0,42,0,227,131,228,131,229,131,230,131,231,131,232,131,233,131,234,131,235,131,236,131,237,131,238,131,239,131,240,131,241,131,242,131,243,131,244,131,245,131,246,131,247,131,248,131,249,131,250,131,251,131,252,131,253,131,254,131,255,131,0,132,1,132,2,132,3,132,4,132,5,132,6,132,7,132,8,132,9,132,10,132,11,132,12,132,13,132,14,132,15,132,16,132,17,132,18,132,19,132,20,132,21,132,22,132,23,132,24,132,25,132,26,132,27,132,28,132,29,132,30,132,31,132,32,132,33,132,34,132,35,132,36,132,38,132,39,132,87,132,91,216,64,220,91,216,65,220,91,216,70,220,91,216,126,220,91,216,127,220,91,216,128,220,91,216,129,220,91,216,130,220,91,216,164,220,91,216,183,220,91,216,184,220,91,216,189,220,91,216,192,220,56,132,91,134,93,134,136,134,208,134,209,134,210,134,211,134,212,134,213,134,215,134,216,134,217,134,218,134,219,134,220,134,221,134,222,134,223,134,224,134,225,134,226,134,227,134,228,134,229,134,230,134,231,134,232,134,233,134,234,134,235,134,236,134,237,134,238,134,239,134,240,134,241,134,242,134,243,134,244,134,173,69,175,69,179,69,92,216,178,222,92,216,182,222,70,136,60,0,42,0,71,136,72,136,73,136,85,136,86,136,87,136,177,136,178,136,179,136,180,136,181,136,182,136,183,136,184,136,185,136,186,136,187,136,188,136,189,136,190,136,191,136,192,136,193,136,194,136,195,136,196,136,197,136,198,136,199,136,200,136,201,136,215,136,93,216,148,222,1,137,131,137,132,137,153,137,149,137,151,137,152,137,154,137,204,137,205,137,218,137,219,137,221,137,222,137,52,138,53,138,54,138,55,138,56,138,57,138,58,138,59,138,60,138,61,138,64,138,65,138,66,138,67,138,68,138,69,138,70,138,71,138,72,138,73,138,74,138,75,138,76,138,77,138,78,138,79,138,80,138,81,138,82,138,83,138,84,138,85,138,86,138,87,138,88,138,89,138,90,138,91,138,92,138,93,138,94,138,95,138,96,138,207,70,208,70,94,216,160,221,31,140,32,140,33,140,34,140,35,140,36,140,37,140,38,140,39,140,94,140,95,140,96,140,97,140,72,71,126,140,127,140,128,140,129,140,130,140,131,140,95,216,177,220,175,140,176,140,177,140,179,140,180,140,181,140,182,140,183,140,184,140,185,140,186,140,187,140,188,140,189,140,60,0,42,0,190,140,191,140,192,140,193,140,95,216,83,221,95,216,84,221,75,141,76,141,77,141,78,141,79,141,80,141,81,141,82,141,83,141,84,141,85,141,128,141,129,141,130,141,131,141,132,141,133,141,134,141,135,141,136,141,137,141,138,141,139,141,161,71,163,71,197,141,198,141,199,141,200,141,201,141,202,141,203,141,204,141,205,141,206,141,207,141,209,141,210,141,211,141,212,141,213,141,214,141,215,141,216,141,217,141,218,141,219,141,220,141,221,141,222,141,245,141,237,71,95,216,249,223,96,216,2,220,96,216,9,220,176,142,228,142,229,142,230,142,231,142,232,142,233,142,234,142,235,142,236,142,238,142,239,142,240,142,241,142,242,142,243,142,244,142,245,142,246,142,247,142,248,142,249,142,250,142,251,142,252,142,253,142,171,159,82,72,96,216,226,222,135,143,136,143,137,143,138,143,139,143,140,143,141,143,142,143,156,143,157,143,97,216,18,220,40,144,41,144,42,144,43,144,44,144,45,144,46,144,47,144,48,144,49,144,50,144,51,144,52,144,53,144,54,144,55,144,56,144,57,144,58,144,59,144,97,216,60,221,97,216,61,221,245,144,249,144,251,144,252,144,254,144,60,0,42,0,255,144,0,145,1,145,2,145,3,145,4,145,5,145,6,145,7,145,8,145,9,145,10,145,208,72,44,145,95,145,96,145,97,145,98,145,99,145,100,145,101,145,243,72,201,145,202,145,207,145,253,145,254,145,255,145,0,146,1,146,2,146,3,146,4,146,5,146,6,146,7,146,8,146,9,146,10,146,11,146,12,146,13,146,14,146,15,146,16,146,17,146,18,146,19,146,20,146,21,146,22,146,23,146,24,146,25,146,26,146,27,146,28,146,29,146,30,146,31,146,32,146,33,146,34,146,35,146,36,146,37,146,38,146,39,146,40,146,41,146,42,146,43,146,44,146,30,73,32,73,98,216,86,221,98,216,100,221,248,148,249,148,250,148,251,148,252,148,253,148,254,148,255,148,0,149,1,149,2,149,3,149,4,149,5,149,6,149,7,149,8,149,9,149,10,149,11,149,12,149,13,149,14,149,15,149,16,149,17,149,18,149,19,149,20,149,21,149,123,149,139,149,140,149,141,149,142,149,143,149,144,149,145,149,146,149,147,149,148,149,149,149,150,149,151,149,17,150,18,150,19,150,20,150,21,150,114,150,123,150,60,0,42,0,125,150,126,150,127,150,128,150,129,150,130,150,131,150,132,150,133,150,134,150,135,150,136,150,137,150,138,150,139,150,140,150,141,150,142,150,144,150,99,216,217,222,99,216,231,222,193,150,194,150,195,150,196,150,197,150,198,150,199,150,200,150,236,150,237,150,238,150,239,150,240,150,241,150,242,150,243,150,100,216,136,220,100,216,139,220,83,151,84,151,95,151,107,151,108,151,109,151,110,151,111,151,112,151,113,151,204,151,233,151,5,152,6,152,7,152,8,152,137,152,138,152,139,152,140,152,141,152,142,152,143,152,169,152,170,152,101,216,158,221,211,152,231,152,232,152,233,152,234,152,235,152,237,152,239,152,240,152,242,152,135,153,136,153,138,153,139,153,173,153,174,153,151,154,152,154,153,154,154,154,155,154,169,154,224,154,50,76,127,156,128,156,129,156,130,156,131,156,230,156,64,158,65,158,66,158,67,158,68,158,69,158,70,158,71,158,72,158,195,158,196,158,205,158,209,158,249,158,11,159,130,159,60,0,39,0,208,253,13,40,39,0,60,0,42,0,130,78,131,78,132,78,182,78,183,78,170,80,171,80,172,80,173,80,174,80,175,80,176,80,177,80,178,80,179,80,180,80,181,80,182,80,183,80,184,80,185,80,186,80,187,80,188,80,189,80,190,80,191,80,192,80,193,80,194,80,195,80,196,80,197,80,198,80,199,80,200,80,201,80,202,80,203,80,204,80,205,80,125,52,126,52,64,216,65,223,64,216,69,223,64,216,70,223,64,216,71,223,64,216,181,223,97,81,126,81,127,81,215,81,119,82,120,82,121,82,122,82,123,82,124,82,125,82,126,82,127,82,223,82,224,82,225,82,226,82,227,82,228,82,229,82,230,82,231,82,47,83,50,53,51,53,52,53,128,83,129,83,170,83,171,83,175,83,224,83,141,85,191,85,192,85,193,85,194,85,195,85,196,85,197,85,198,85,199,85,200,85,201,85,202,85,203,85,204,85,205,85,206,85,207,85,208,85,209,85,210,85,211,85,212,85,213,85,214,85,215,85,216,85,217,85,218,85,219,85,220,85,221,85,223,85,224,85,225,85,226,85,227,85,228,85,229,85,230,85,231,85,232,85,233,85,234,85,235,85,236,85,237,85,238,85,60,0,42,0,239,85,240,85,241,85,242,85,243,85,244,85,245,85,210,53,214,53,219,53,221,53,224,53,67,216,76,222,67,216,109,222,67,216,115,222,67,216,117,222,67,216,118,222,67,216,119,222,67,216,120,222,67,216,121,222,67,216,122,222,67,216,123,222,67,216,140,222,67,216,150,222,67,216,152,222,67,216,157,222,67,216,162,222,67,216,170,222,67,216,171,222,67,216,172,222,67,216,182,222,17,87,18,87,19,87,20,87,21,87,61,88,67,88,73,88,74,88,75,88,76,88,77,88,78,88,79,88,80,88,81,88,82,88,83,88,84,88,85,88,86,88,87,88,88,88,89,88,90,88,91,88,92,88,93,88,94,88,95,88,96,88,97,88,98,88,99,88,100,88,101,88,102,88,103,88,104,88,105,88,106,88,107,88,108,88,109,88,110,88,111,88,112,88,113,88,95,54,68,216,197,223,68,216,198,223,252,88,102,89,103,89,104,89,69,216,97,222,144,90,176,90,177,90,178,90,179,90,180,90,181,90,182,90,183,90,184,90,185,90,186,90,187,90,188,90,189,90,190,90,191,90,192,90,193,90,194,90,195,90,196,90,197,90,198,90,199,90,200,90,201,90,202,90,203,90,204,90,205,90,206,90,208,90,209,90,210,90,211,90,212,90,8,55,10,55,13,55,69,216,239,223,60,0,42,0,69,216,245,223,69,216,246,223,69,216,248,223,69,216,249,223,69,216,250,223,69,216,251,223,69,216,252,223,116,91,70,216,131,221,70,216,136,221,118,91,214,91,215,91,216,91,217,91,218,91,219,91,220,91,221,91,102,55,70,216,99,222,31,92,32,92,50,92,51,92,52,92,71,216,172,220,74,93,94,93,95,93,96,93,97,93,98,93,99,93,100,93,101,93,102,93,103,93,104,93,105,93,106,93,108,93,109,93,110,93,111,93,112,93,113,93,114,93,115,93,116,93,117,93,118,93,242,55,248,55,71,216,200,222,71,216,213,222,240,93,74,94,75,94,76,94,77,94,78,94,79,94,121,94,197,94,198,94,199,94,200,94,201,94,203,94,204,94,72,216,124,222,18,95,63,95,64,95,65,95,66,95,89,95,90,95,73,216,101,220,110,95,172,95,173,95,174,95,175,95,176,95,243,96,247,96,249,96,1,97,2,97,6,97,8,97,13,97,15,97,23,97,25,97,26,97,27,97,31,97,99,57,100,57,102,57,39,97,41,97,42,97,43,97,45,97,46,97,47,97,48,97,49,97,50,97,52,97,53,97,54,97,55,97,57,97,58,97,60,97,61,97,62,97,64,97,67,97,68,97,69,97,70,97,73,97,60,0,42,0,74,97,76,97,77,97,78,97,79,97,81,97,73,216,150,223,73,216,180,223,73,216,181,223,73,216,205,223,38,98,32,98,33,98,34,98,35,98,36,98,37,98,231,99,235,99,241,99,6,100,7,100,8,100,9,100,10,100,11,100,12,100,13,100,14,100,15,100,16,100,17,100,18,100,19,100,20,100,21,100,22,100,23,100,24,100,25,100,26,100,27,100,28,100,29,100,30,100,31,100,32,100,33,100,34,100,35,100,36,100,37,100,38,100,39,100,40,100,41,100,42,100,44,100,45,100,46,100,47,100,48,100,50,100,51,100,53,100,54,100,55,100,56,100,57,100,58,100,60,100,61,100,62,100,64,100,65,100,66,100,67,100,68,100,69,100,70,100,71,100,72,100,73,100,74,100,32,58,35,58,38,58,41,58,42,58,75,216,98,220,75,216,136,220,75,216,155,220,75,216,161,220,75,216,169,220,75,216,178,220,197,99,49,100,109,101,107,101,108,101,110,101,111,101,112,101,146,101,101,216,176,221,159,101,176,101,210,101,211,101,212,101,213,101,228,101,120,102,132,102,133,102,134,102,135,102,136,102,137,102,138,102,139,102,140,102,141,102,142,102,143,102,144,102,146,102,147,102,60,0,42,0,148,102,149,102,150,102,151,102,152,102,153,102,1,59,2,59,3,59,4,59,5,59,6,59,7,59,8,59,9,59,10,59,11,59,12,59,76,216,37,222,76,216,47,222,76,216,49,222,76,216,50,222,76,216,51,222,76,216,52,222,3,103,32,103,58,59,47,105,48,105,49,105,50,105,51,105,52,105,53,105,54,105,55,105,56,105,57,105,58,105,59,105,60,105,61,105,62,105,63,105,64,105,65,105,66,105,67,105,68,105,69,105,70,105,71,105,72,105,73,105,74,105,75,105,76,105,77,105,78,105,79,105,80,105,81,105,82,105,83,105,84,105,85,105,87,105,88,105,89,105,90,105,91,105,92,105,93,105,94,105,95,105,96,105,97,105,98,105,99,105,100,105,101,105,102,105,103,105,104,105,105,105,106,105,107,105,108,105,109,105,111,105,113,105,114,105,115,105,116,105,117,105,118,105,119,105,120,105,121,105,122,105,123,105,124,105,125,105,126,105,127,105,128,105,129,105,130,105,131,105,132,105,133,105,134,105,135,105,136,105,137,105,139,105,140,105,148,105,152,105,149,59,150,59,153,59,77,216,81,221,77,216,90,221,77,216,103,221,77,216,149,221,77,216,153,221,77,216,156,221,60,0,42,0,64,107,65,107,66,107,67,107,68,107,69,107,70,107,71,107,72,107,60,60,62,60,113,107,114,107,115,107,155,107,156,107,110,60,191,107,192,107,193,107,194,107,78,216,167,222,211,107,247,107,248,107,249,107,250,107,251,107,252,107,253,107,49,108,108,110,141,110,142,110,143,110,144,110,145,110,146,110,147,110,148,110,149,110,150,110,151,110,152,110,153,110,154,110,155,110,156,110,157,110,158,110,159,110,160,110,161,110,162,110,163,110,164,110,165,110,166,110,167,110,168,110,169,110,170,110,171,110,172,110,173,110,174,110,175,110,176,110,177,110,178,110,179,110,180,110,181,110,182,110,183,110,184,110,185,110,186,110,187,110,188,110,189,110,190,110,191,110,192,110,193,110,194,110,195,110,196,110,197,110,198,110,199,110,200,110,201,110,202,110,205,110,207,110,208,110,209,110,210,110,211,110,212,110,214,110,215,110,216,110,217,110,219,110,220,110,221,110,223,110,224,110,225,110,226,110,227,110,228,110,229,110,230,110,231,110,232,110,233,110,234,110,19,111,38,61,50,61,51,61,59,61,79,216,136,222,79,216,137,222,79,216,138,222,60,0,42,0,79,216,139,222,79,216,185,222,79,216,191,222,218,110,65,113,66,113,67,113,68,113,69,113,70,113,71,113,72,113,73,113,74,113,75,113,76,113,77,113,78,113,79,113,80,113,81,113,82,113,83,113,84,113,86,113,87,113,88,113,89,113,90,113,92,113,93,113,94,113,95,113,96,113,97,113,98,113,99,113,100,113,101,113,102,113,103,113,104,113,105,113,106,113,107,113,108,113,109,113,111,113,112,113,113,113,114,113,115,113,116,113,117,113,118,113,119,113,120,113,122,113,161,59,211,61,219,61,80,216,191,222,80,216,193,222,80,216,201,222,80,216,202,222,80,216,238,222,80,216,250,222,81,216,33,221,58,114,67,114,78,114,79,114,80,114,81,114,82,114,140,114,141,114,142,114,143,114,144,114,145,114,72,62,81,216,151,222,46,115,55,115,65,115,58,115,59,115,60,115,61,115,62,115,63,115,64,115,66,115,69,115,70,115,71,115,72,115,73,115,74,115,82,216,18,220,82,216,35,220,39,116,215,62,30,116,61,116,62,116,63,116,64,116,65,116,66,116,67,116,68,116,69,116,70,116,71,116,72,116,73,116,74,116,75,116,76,116,77,116,78,116,79,116,80,116,81,116,82,116,83,116,60,0,42,0,84,116,85,116,86,116,87,116,88,116,89,116,90,116,91,116,92,116,93,116,94,116,95,116,222,62,225,62,226,62,82,216,183,221,82,216,184,221,82,216,185,221,82,216,186,221,82,216,187,221,82,216,197,221,82,216,208,221,82,216,218,221,82,216,222,221,82,216,223,221,82,216,227,221,82,216,229,221,111,116,225,116,253,116,254,116,255,116,1,117,29,117,30,117,117,117,118,117,119,117,120,117,121,117,122,117,99,63,83,216,158,220,83,216,159,220,236,117,237,117,238,117,239,117,240,117,241,117,242,117,243,117,244,117,245,117,246,117,247,117,248,117,249,117,250,117,251,117,252,117,253,117,254,117,255,117,0,118,1,118,2,118,3,118,4,118,5,118,6,118,83,216,234,221,83,216,235,221,15,118,16,118,151,118,152,118,153,118,83,216,130,223,83,216,134,223,181,118,221,118,222,118,223,118,4,64,82,119,83,119,84,119,85,119,86,119,87,119,88,119,89,119,90,119,91,119,92,119,93,119,94,119,95,119,96,119,98,119,99,119,100,119,101,119,102,119,103,119,104,119,105,119,106,119,107,119,108,119,109,119,69,64,84,216,205,221,84,216,227,221,84,216,230,221,84,216,231,221,97,119,121,119,224,119,238,119,120,120,121,120,122,120,123,120,124,120,125,120,127,120,60,0,42,0,128,120,129,120,130,120,131,120,132,120,133,120,134,120,135,120,136,120,137,120,138,120,139,120,140,120,141,120,142,120,143,120,144,120,145,120,146,120,147,120,148,120,149,120,150,120,151,120,152,120,153,120,154,120,155,120,156,120,176,120,187,64,191,64,121,121,122,121,123,121,124,121,125,121,126,121,127,121,128,121,129,121,130,121,131,121,133,121,134,121,14,65,189,121,44,132,15,122,16,122,17,122,18,122,19,122,20,122,21,122,22,122,23,122,24,122,25,122,26,122,27,122,28,122,29,122,30,122,31,122,32,122,33,122,34,122,35,122,36,122,37,122,85,216,223,223,85,216,224,223,85,216,225,223,158,122,159,122,160,122,161,122,162,122,163,122,164,122,165,122,166,122,167,122,86,216,172,221,232,122,233,122,234,122,235,122,207,65,86,216,149,222,94,123,95,123,96,123,97,123,98,123,99,123,100,123,101,123,102,123,103,123,104,123,105,123,106,123,107,123,109,123,110,123,111,123,112,123,113,123,114,123,115,123,116,123,118,123,119,123,120,123,121,123,122,123,123,123,124,123,125,123,126,123,127,123,128,123,192,123,248,65,249,65,251,65,60,0,42,0,252,65,253,65,254,65,255,65,0,66,86,216,116,223,86,216,137,223,174,124,175,124,176,124,177,124,178,124,179,124,180,124,181,124,192,124,140,66,87,216,129,222,87,216,130,222,87,216,131,222,91,125,120,125,121,125,122,125,123,125,124,125,125,125,127,125,128,125,129,125,130,125,131,125,132,125,133,125,134,125,135,125,136,125,137,125,138,125,139,125,140,125,141,125,142,125,143,125,144,125,145,125,146,125,147,125,148,125,149,125,151,125,152,125,153,125,154,125,155,125,88,216,33,220,88,216,41,220,25,127,26,127,27,127,28,127,29,127,30,127,31,127,32,127,33,127,34,127,35,127,36,127,103,127,104,127,105,127,106,127,107,127,108,127,109,127,110,127,114,127,88,216,208,222,163,127,164,127,165,127,166,127,167,127,168,127,169,127,170,127,219,127,220,127,221,127,33,128,34,128,85,128,86,128,87,128,88,128,132,128,133,128,134,128,80,94,33,103,91,129,92,129,93,129,94,129,95,129,96,129,97,129,98,129,99,129,100,129,101,129,102,129,103,129,104,129,105,129,106,129,107,129,108,129,109,129,110,129,111,129,112,129,113,129,114,129,115,129,117,129,118,129,60,0,42,0,119,129,120,129,121,129,122,129,123,129,124,129,125,129,126,129,19,68,5,130,29,130,64,130,65,130,66,130,67,130,68,130,69,130,70,130,71,130,72,130,73,130,90,216,66,222,187,131,195,68,197,68,206,68,217,131,37,132,40,132,41,132,42,132,43,132,45,132,46,132,47,132,48,132,49,132,50,132,51,132,52,132,53,132,54,132,55,132,57,132,58,132,59,132,60,132,61,132,62,132,63,132,64,132,65,132,66,132,67,132,68,132,69,132,70,132,71,132,72,132,73,132,74,132,75,132,76,132,77,132,78,132,79,132,80,132,81,132,82,132,83,132,84,132,85,132,86,132,88,132,89,132,90,132,91,132,92,132,93,132,94,132,95,132,96,132,97,132,98,132,99,132,100,132,101,132,102,132,103,132,104,132,105,132,106,132,107,132,108,132,109,132,110,132,111,132,112,132,113,132,114,132,115,132,116,132,117,132,118,132,119,132,120,132,121,132,122,132,123,132,124,132,125,132,126,132,127,132,128,132,129,132,130,132,131,132,132,132,133,132,134,132,135,132,136,132,137,132,139,132,140,132,141,132,142,132,143,132,60,0,42,0,91,216,195,220,91,216,209,220,91,216,34,221,91,216,35,221,91,216,36,221,91,216,37,221,91,216,38,221,91,216,39,221,91,216,40,221,91,216,41,221,91,216,42,221,91,216,81,221,197,132,200,132,241,132,7,133,92,134,94,134,95,134,214,134,245,134,246,134,247,134,248,134,249,134,250,134,251,134,252,134,253,134,254,134,255,134,0,135,1,135,2,135,3,135,4,135,5,135,6,135,7,135,8,135,9,135,10,135,11,135,12,135,13,135,14,135,15,135,16,135,19,135,20,135,21,135,22,135,23,135,70,135,92,216,230,222,77,135,88,136,89,136,202,136,203,136,204,136,205,136,206,136,207,136,208,136,209,136,210,136,211,136,212,136,213,136,214,136,216,136,217,136,218,136,219,136,220,136,221,136,222,136,223,136,224,136,225,136,227,136,228,136,229,136,133,137,155,137,156,137,128,70,206,137,220,137,223,137,224,137,225,137,226,137,227,137,228,137,229,137,230,137,231,137,62,138,63,138,97,138,98,138,99,138,100,138,101,138,102,138,103,138,104,138,105,138,106,138,107,138,108,138,109,138,110,138,111,138,112,138,113,138,114,138,115,138,116,138,117,138,118,138,119,138,120,138,121,138,122,138,123,138,60,0,42,0,124,138,125,138,126,138,127,138,128,138,129,138,130,138,131,138,132,138,133,138,134,138,135,138,136,138,137,138,138,138,160,138,94,216,221,221,40,140,41,140,42,140,43,140,44,140,60,140,74,140,75,140,54,71,98,140,99,140,100,140,101,140,102,140,132,140,133,140,134,140,135,140,136,140,137,140,138,140,95,216,197,220,178,140,194,140,195,140,196,140,197,140,198,140,199,140,200,140,201,140,202,140,203,140,204,140,205,140,206,140,95,216,102,221,95,216,115,221,95,216,132,221,86,141,87,141,104,141,105,141,106,141,140,141,141,141,142,141,143,141,144,141,145,141,146,141,147,141,148,141,166,71,208,141,188,141,223,141,224,141,225,141,226,141,227,141,228,141,229,141,230,141,231,141,232,141,233,141,234,141,235,141,236,141,237,141,238,141,239,141,240,141,241,141,242,141,243,141,244,141,246,141,247,141,248,141,249,141,250,141,251,141,96,216,30,220,96,216,35,220,96,216,36,220,177,142,178,142,55,72,237,142,254,142,255,142,0,143,1,143,2,143,3,143,4,143,5,143,6,143,7,143,8,143,9,143,10,143,11,143,12,143,143,143,144,143,145,143,146,143,147,143,60,0,42,0,148,143,158,143,159,143,160,143,178,143,60,144,61,144,62,144,63,144,64,144,65,144,66,144,67,144,68,144,69,144,70,144,71,144,72,144,73,144,74,144,75,144,76,144,77,144,78,144,79,144,80,144,81,144,82,144,83,144,84,144,85,144,86,144,87,144,97,216,108,221,204,144,11,145,12,145,13,145,14,145,15,145,16,145,17,145,18,145,19,145,20,145,21,145,22,145,23,145,102,145,103,145,104,145,105,145,106,145,107,145,108,145,109,145,110,145,111,145,112,145,113,145,98,216,43,220,46,146,47,146,48,146,49,146,50,146,51,146,52,146,53,146,54,146,55,146,56,146,57,146,58,146,59,146,60,146,61,146,62,146,63,146,64,146,65,146,66,146,67,146,68,146,69,146,70,146,71,146,72,146,73,146,74,146,75,146,76,146,77,146,78,146,79,146,80,146,81,146,82,146,83,146,84,146,85,146,86,146,87,146,88,146,89,146,90,146,91,146,92,146,93,146,94,146,95,146,96,146,97,146,98,146,99,146,100,146,101,146,102,146,103,146,104,146,105,146,106,146,107,146,108,146,109,146,110,146,111,146,112,146,60,0,42,0,113,146,114,146,115,146,116,146,143,146,175,159,98,216,104,221,98,216,108,221,98,216,109,221,98,216,126,221,22,149,23,149,24,149,25,149,26,149,27,149,28,149,29,149,30,149,31,149,32,149,33,149,34,149,35,149,36,149,37,149,38,149,39,149,40,149,41,149,42,149,43,149,44,149,45,149,46,149,47,149,48,149,49,149,137,73,152,149,153,149,154,149,155,149,156,149,157,149,158,149,159,149,160,149,22,150,23,150,24,150,25,150,143,150,145,150,146,150,147,150,148,150,149,150,150,150,151,150,152,150,41,250,223,73,201,150,202,150,203,150,205,150,206,150,207,150,244,150,245,150,246,150,247,150,248,150,249,150,250,150,251,150,252,150,253,150,254,150,100,216,147,220,85,151,86,151,114,151,115,151,116,151,117,151,118,151,119,151,120,151,121,151,234,151,235,151,238,151,244,151,245,151,9,152,10,152,11,152,12,152,13,152,14,152,15,152,16,152,17,152,18,152,19,152,180,74,144,152,145,152,146,152,147,152,148,152,149,152,150,152,171,152,172,152,212,152,236,152,238,152,241,152,38,75,243,152,244,152,245,152,246,152,247,152,249,152,60,0,42,0,251,152,252,152,253,152,254,152,255,152,137,153,140,153,141,153,142,153,143,153,144,153,154,153,175,153,176,153,177,153,178,153,179,153,180,153,181,153,156,154,157,154,158,154,159,154,170,154,171,154,172,154,173,154,174,154,102,216,40,222,225,154,226,154,61,155,91,155,92,155,93,155,94,155,132,156,133,156,134,156,135,156,136,156,137,156,138,156,139,156,140,156,141,156,142,156,143,156,144,156,231,156,232,156,233,156,234,156,235,156,237,156,238,156,239,156,240,156,73,158,74,158,75,158,76,158,77,158,78,158,79,158,80,158,81,158,82,158,83,158,84,158,128,158,129,158,130,158,104,216,255,222,253,158,12,159,14,159,19,159,20,159,32,159,131,159,132,159,133,159,134,159,60,0,39,0,208,253,14,40,39,0,60,0,42,0,64,216,78,220,72,216,161,221,206,80,207,80,208,80,209,80,210,80,211,80,212,80,213,80,214,80,215,80,216,80,217,80,218,80,219,80,220,80,221,80,222,80,223,80,224,80,225,80,226,80,227,80,228,80,229,80,230,80,231,80,232,80,233,80,234,80,235,80,236,80,237,80,238,80,239,80,240,80,241,80,243,80,244,80,247,80,64,216,126,223,64,216,127,223,64,216,128,223,64,216,160,223,64,216,167,223,242,80,98,81,169,81,216,81,243,81,244,81,128,82,129,82,130,82,131,82,132,82,0,53,4,53,6,53,232,82,233,82,234,82,235,82,236,82,237,82,34,53,48,83,49,83,50,83,53,53,172,83,173,83,174,83,176,83,81,53,198,83,66,216,13,223,14,250,97,53,246,85,247,85,248,85,249,85,250,85,251,85,252,85,253,85,254,85,255,85,0,86,1,86,2,86,3,86,4,86,5,86,6,86,7,86,8,86,9,86,10,86,11,86,12,86,13,86,14,86,15,86,16,86,17,86,18,86,19,86,20,86,21,86,22,86,23,86,24,86,25,86,26,86,27,86,28,86,29,86,30,86,33,86,34,86,35,86,36,86,37,86,38,86,39,86,60,0,42,0,81,86,67,216,215,222,67,216,216,222,67,216,221,222,67,216,248,222,67,216,249,222,67,216,250,222,67,216,251,222,67,216,29,223,67,216,38,223,67,216,45,223,67,216,46,223,67,216,48,223,67,216,49,223,67,216,59,223,67,216,76,223,31,86,40,86,22,87,23,87,24,87,25,87,114,88,115,88,116,88,117,88,118,88,119,88,120,88,121,88,122,88,123,88,124,88,125,88,126,88,127,88,129,88,130,88,131,88,132,88,133,88,134,88,135,88,136,88,137,88,138,88,139,88,140,88,141,88,142,88,143,88,144,88,145,88,146,88,147,88,148,88,149,88,150,88,151,88,152,88,153,88,154,88,155,88,97,54,101,54,102,54,68,216,237,223,68,216,254,223,69,216,19,220,69,216,22,220,173,88,253,88,254,88,16,89,34,89,35,89,36,89,37,89,105,89,106,89,107,89,108,89,213,90,214,90,215,90,216,90,217,90,218,90,219,90,220,90,221,90,222,90,223,90,224,90,225,90,226,90,227,90,228,90,229,90,230,90,231,90,232,90,233,90,234,90,235,90,236,90,237,90,238,90,239,90,240,90,241,90,242,90,28,55,30,55,32,55,34,55,70,216,32,220,70,216,40,220,70,216,41,220,70,216,42,220,70,216,45,220,70,216,57,220,70,216,58,220,70,216,59,220,70,216,64,220,70,216,69,220,243,90,117,91,60,0,42,0,119,91,70,216,150,221,222,91,223,91,224,91,225,91,226,91,227,91,228,91,229,91,230,91,231,91,232,91,13,92,33,92,98,92,99,92,119,93,120,93,121,93,122,93,123,93,124,93,125,93,126,93,127,93,128,93,129,93,130,93,131,93,132,93,133,93,134,93,135,93,136,93,137,93,138,93,139,93,140,93,141,93,142,93,251,55,0,56,1,56,4,56,81,94,82,94,83,94,84,94,85,94,86,94,87,94,88,94,89,94,91,94,72,216,42,221,99,94,205,94,206,94,207,94,208,94,209,94,210,94,211,94,212,94,213,94,214,94,215,94,216,94,217,94,220,94,10,95,67,95,68,95,69,95,195,56,70,95,111,95,112,95,209,56,177,95,179,95,180,95,73,216,84,221,182,95,40,97,44,97,51,97,56,97,59,97,63,97,65,97,66,97,71,97,72,97,75,97,80,97,120,57,82,97,83,97,84,97,86,97,88,97,90,97,91,97,94,97,95,97,96,97,97,97,98,97,99,97,101,97,105,97,106,97,108,97,111,97,113,97,114,97,115,97,116,97,117,97,119,97,122,97,123,97,125,97,128,97,129,97,134,97,60,0,42,0,136,97,128,57,74,216,3,220,39,98,40,98,41,98,42,98,43,98,44,98,43,100,52,100,59,100,63,100,75,100,76,100,77,100,78,100,79,100,80,100,81,100,83,100,84,100,85,100,87,100,88,100,89,100,90,100,91,100,92,100,93,100,94,100,95,100,96,100,98,100,99,100,100,100,101,100,102,100,103,100,106,100,107,100,108,100,109,100,113,100,114,100,115,100,116,100,117,100,118,100,119,100,120,100,122,100,123,100,124,100,125,100,126,100,127,100,129,100,130,100,132,100,135,100,47,58,49,58,50,58,51,58,52,58,53,58,54,58,55,58,56,58,57,58,75,216,183,220,75,216,194,220,75,216,198,220,75,216,201,220,75,216,7,221,75,216,8,221,75,216,18,221,86,100,166,100,113,101,114,101,115,101,160,101,161,101,178,101,76,216,183,220,214,101,215,101,154,102,155,102,156,102,157,102,158,102,159,102,160,102,161,102,162,102,163,102,164,102,165,102,166,102,167,102,168,102,13,59,14,59,15,59,16,59,76,216,86,222,76,216,94,222,76,216,98,222,4,103,5,103,34,103,59,59,138,105,141,105,142,105,143,105,144,105,145,105,146,105,147,105,149,105,150,105,151,105,153,105,154,105,60,0,42,0,155,105,156,105,157,105,158,105,159,105,160,105,161,105,162,105,163,105,164,105,165,105,166,105,167,105,168,105,169,105,170,105,171,105,172,105,173,105,174,105,175,105,176,105,177,105,178,105,179,105,180,105,181,105,182,105,183,105,184,105,185,105,186,105,187,105,188,105,189,105,190,105,191,105,192,105,193,105,194,105,195,105,196,105,197,105,198,105,199,105,200,105,201,105,202,105,203,105,204,105,205,105,206,105,207,105,208,105,209,105,210,105,211,105,212,105,213,105,214,105,215,105,216,105,217,105,218,105,219,105,220,105,221,105,222,105,223,105,224,105,225,105,46,106,20,250,188,59,77,216,187,221,77,216,205,221,77,216,206,221,77,216,207,221,77,216,243,221,77,216,0,222,3,106,73,107,74,107,75,107,76,107,77,107,112,107,116,107,157,107,158,107,159,107,160,107,161,107,195,107,196,107,78,216,250,222,254,107,50,108,51,108,206,110,204,110,235,110,236,110,237,110,238,110,239,110,240,110,241,110,242,110,243,110,244,110,245,110,246,110,247,110,248,110,249,110,250,110,251,110,252,110,253,110,254,110,255,110,1,111,2,111,3,111,4,111,5,111,6,111,60,0,42,0,7,111,8,111,9,111,10,111,12,111,13,111,14,111,15,111,17,111,18,111,20,111,21,111,22,111,23,111,24,111,25,111,26,111,27,111,28,111,29,111,30,111,31,111,32,111,33,111,34,111,35,111,36,111,37,111,39,111,40,111,41,111,42,111,43,111,44,111,45,111,46,111,47,111,48,111,49,111,50,111,51,111,52,111,53,111,54,111,55,111,56,111,57,111,58,111,59,111,60,111,62,111,64,111,66,111,67,111,68,111,69,111,70,111,71,111,72,111,73,111,74,111,75,111,76,111,77,111,61,61,70,61,79,216,215,222,79,216,247,222,79,216,248,222,79,216,249,222,79,216,250,222,79,216,251,222,79,216,252,222,79,216,53,223,79,216,65,223,78,111,115,111,85,113,91,113,121,113,123,113,124,113,125,113,126,113,127,113,128,113,129,113,130,113,131,113,132,113,133,113,134,113,135,113,136,113,137,113,138,113,139,113,140,113,141,113,142,113,143,113,144,113,145,113,146,113,147,113,148,113,149,113,150,113,151,113,152,113,153,113,184,132,231,61,232,61,80,216,13,223,80,216,26,223,80,216,52,223,80,216,72,223,51,114,62,114,68,114,83,114,84,114,34,62,146,114,147,114,148,114,149,114,60,0,42,0,150,114,151,114,67,115,68,115,76,115,77,115,79,115,80,115,81,115,82,115,83,115,84,115,85,115,96,116,97,116,98,116,99,116,100,116,101,116,102,116,103,116,104,116,106,116,107,116,109,116,110,116,112,116,113,116,114,116,115,116,116,116,117,116,118,116,119,116,120,116,231,62,233,62,82,216,236,221,82,216,237,221,82,216,246,221,82,216,247,221,82,216,248,221,82,216,249,221,82,216,251,221,82,216,14,222,82,216,18,222,82,216,19,222,0,117,2,117,3,117,4,117,5,117,6,117,82,216,110,223,39,117,123,117,124,117,125,117,144,117,145,117,7,118,8,118,9,118,10,118,11,118,12,118,13,118,14,118,17,118,18,118,19,118,20,118,21,118,22,118,23,118,24,118,39,118,182,118,183,118,184,118,185,118,224,118,225,118,226,118,227,118,110,119,111,119,112,119,113,119,114,119,115,119,116,119,117,119,118,119,119,119,120,119,122,119,123,119,124,119,125,119,126,119,127,119,128,119,129,119,130,119,131,119,132,119,133,119,134,119,83,64,84,216,32,222,84,216,33,222,126,120,157,120,158,120,159,120,160,120,161,120,162,120,163,120,164,120,165,120,166,120,167,120,168,120,169,120,170,120,171,120,60,0,42,0,172,120,173,120,174,120,175,120,177,120,178,120,179,120,180,120,181,120,182,120,183,120,184,120,185,120,193,120,200,64,135,121,136,121,137,121,138,121,139,121,140,121,141,121,142,121,143,121,144,121,145,121,146,121,147,121,148,121,149,121,150,121,151,121,152,121,153,121,38,122,39,122,40,122,41,122,42,122,43,122,44,122,45,122,46,122,47,122,48,122,49,122,50,122,51,122,74,122,103,65,53,122,168,122,169,122,170,122,171,122,172,122,173,122,86,216,204,221,236,122,237,122,239,122,240,122,86,216,156,222,238,122,117,123,129,123,130,123,131,123,132,123,133,123,134,123,135,123,136,123,137,123,138,123,139,123,140,123,141,123,142,123,143,123,144,123,145,123,146,123,147,123,148,123,149,123,150,123,151,123,152,123,153,123,154,123,155,123,156,123,157,123,158,123,159,123,160,123,161,123,162,123,163,123,164,123,165,123,166,123,167,123,168,123,169,123,170,123,171,123,1,66,2,66,3,66,4,66,5,66,6,66,7,66,8,66,9,66,10,66,11,66,12,66,13,66,86,216,179,223,86,216,180,223,86,216,198,223,184,123,182,124,183,124,184,124,60,0,42,0,185,124,186,124,187,124,188,124,189,124,190,124,191,124,193,124,87,216,166,222,87,216,188,222,150,125,208,125,156,125,157,125,158,125,159,125,160,125,161,125,162,125,163,125,164,125,165,125,166,125,167,125,168,125,169,125,170,125,171,125,172,125,173,125,174,125,175,125,176,125,177,125,178,125,179,125,180,125,181,125,182,125,183,125,184,125,185,125,186,125,187,125,188,125,189,125,190,125,191,125,192,125,193,125,194,125,195,125,196,125,197,125,198,125,199,125,200,125,201,125,202,125,203,125,204,125,205,125,206,125,207,125,209,125,210,125,212,125,213,125,232,66,233,66,236,66,237,66,241,66,88,216,72,220,88,216,100,220,37,127,38,127,39,127,40,127,41,127,42,127,43,127,65,127,66,127,111,127,112,127,113,127,115,127,116,127,171,127,222,127,223,127,224,127,225,127,226,127,227,127,228,127,89,216,74,220,229,127,35,128,36,128,37,128,89,128,90,128,91,128,92,128,93,128,94,128,95,128,97,128,98,128,99,128,186,67,89,216,160,221,135,128,136,128,80,129,127,129,128,129,129,129,130,129,131,129,132,129,133,129,134,129,135,129,136,129,137,129,60,0,42,0,138,129,139,129,140,129,141,129,142,129,143,129,145,129,32,68,37,68,38,68,89,216,153,223,89,216,179,223,89,216,180,223,89,216,204,223,231,129,250,129,7,130,19,130,20,130,21,130,30,130,74,130,75,130,76,130,77,130,90,216,81,222,90,216,82,222,221,68,222,68,223,68,225,68,228,68,233,68,234,68,235,68,236,68,144,132,145,132,146,132,147,132,148,132,149,132,150,132,151,132,152,132,153,132,154,132,155,132,156,132,157,132,158,132,159,132,160,132,161,132,162,132,163,132,164,132,165,132,166,132,167,132,168,132,169,132,170,132,171,132,172,132,173,132,174,132,175,132,176,132,177,132,178,132,179,132,180,132,181,132,182,132,183,132,185,132,186,132,187,132,188,132,189,132,190,132,191,132,192,132,193,132,194,132,195,132,196,132,198,132,199,132,201,132,202,132,203,132,204,132,205,132,206,132,207,132,208,132,209,132,210,132,211,132,212,132,213,132,214,132,215,132,216,132,217,132,218,132,219,132,220,132,221,132,223,132,225,132,226,132,227,132,228,132,230,132,91,216,116,221,91,216,160,221,91,216,161,221,91,216,162,221,91,216,163,221,91,216,164,221,91,216,165,221,91,216,166,221,91,216,167,221,91,216,174,221,91,216,220,221,60,0,42,0,91,216,234,221,91,216,235,221,91,216,240,221,229,132,96,134,97,134,92,216,205,221,17,135,18,135,43,135,24,135,25,135,26,135,27,135,28,135,29,135,30,135,31,135,32,135,33,135,34,135,35,135,36,135,37,135,38,135,39,135,40,135,41,135,42,135,44,135,45,135,46,135,47,135,48,135,49,135,50,135,51,135,52,135,53,135,54,135,55,135,56,135,57,135,58,135,59,135,60,135,61,135,62,135,63,135,64,135,65,135,66,135,67,135,68,135,69,135,71,135,72,135,73,135,74,135,75,135,85,135,107,135,226,136,231,136,232,136,233,136,234,136,235,136,236,136,237,136,238,136,239,136,240,136,241,136,242,136,243,136,244,136,245,136,246,136,247,136,248,136,249,136,250,136,251,136,252,136,253,136,254,136,255,136,0,137,2,137,3,137,4,137,59,70,26,137,157,137,158,137,159,137,160,137,161,137,207,137,232,137,233,137,234,137,235,137,139,138,140,138,141,138,142,138,143,138,144,138,145,138,146,138,147,138,148,138,150,138,151,138,152,138,153,138,154,138,155,138,156,138,157,138,158,138,159,138,161,138,162,138,163,138,164,138,60,0,42,0,165,138,166,138,167,138,168,138,169,138,170,138,171,138,172,138,173,138,174,138,94,216,253,221,94,216,10,222,94,216,14,222,45,140,46,140,47,140,48,140,49,140,50,140,61,140,103,140,104,140,105,140,106,140,139,140,140,140,141,140,207,140,208,140,209,140,210,140,211,140,212,140,213,140,214,140,215,140,216,140,98,53,95,216,143,221,95,216,152,221,88,141,89,141,90,141,91,141,107,141,149,141,150,141,151,141,152,141,153,141,154,141,252,141,253,141,254,141,255,141,0,142,1,142,2,142,3,142,4,142,5,142,6,142,7,142,8,142,9,142,10,142,11,142,12,142,13,142,14,142,244,71,96,216,72,220,179,142,180,142,181,142,13,143,14,143,15,143,16,143,17,143,18,143,19,143,20,143,21,143,96,216,6,223,96,216,24,223,149,143,150,143,151,143,161,143,162,143,163,143,88,144,89,144,90,144,91,144,92,144,93,144,94,144,95,144,96,144,97,144,98,144,99,144,100,144,101,144,210,144,24,145,25,145,26,145,27,145,28,145,29,145,30,145,31,145,32,145,33,145,34,145,35,145,36,145,37,145,114,145,115,145,116,145,117,145,118,145,119,145,120,145,60,0,42,0,121,145,122,145,123,145,124,145,125,145,126,145,127,145,250,72,45,146,117,146,118,146,119,146,120,146,121,146,122,146,123,146,125,146,126,146,127,146,128,146,129,146,130,146,131,146,132,146,133,146,134,146,135,146,136,146,137,146,138,146,139,146,140,146,141,146,142,146,144,146,145,146,146,146,147,146,148,146,149,146,150,146,151,146,152,146,153,146,154,146,155,146,156,146,157,146,158,146,159,146,160,146,161,146,162,146,163,146,164,146,165,146,166,146,167,146,168,146,169,146,170,146,171,146,172,146,173,146,174,146,175,146,176,146,177,146,36,73,37,73,38,73,42,73,98,216,137,221,98,216,168,221,98,216,170,221,98,216,171,221,238,146,124,146,50,149,51,149,52,149,53,149,54,149,55,149,56,149,57,149,58,149,59,149,60,149,61,149,62,149,63,149,64,149,65,149,66,149,67,149,68,149,69,149,161,149,162,149,163,149,164,149,165,149,166,149,167,149,168,149,169,149,170,149,26,150,153,150,154,150,155,150,156,150,157,150,158,150,159,150,160,150,161,150,204,150,208,150,209,150,210,150,99,216,197,223,255,150,0,151,1,151,15,74,100,216,175,220,60,0,42,0,100,216,176,220,100,216,177,220,87,151,88,151,89,151,100,151,122,151,123,151,124,151,125,151,126,151,127,151,128,151,129,151,130,151,131,151,132,151,133,151,134,151,205,151,206,151,236,151,246,151,247,151,101,216,29,220,25,152,20,152,21,152,22,152,23,152,24,152,26,152,184,74,151,152,173,152,174,152,175,152,176,152,177,152,255,74,0,75,101,216,184,221,214,152,213,152,215,152,248,152,44,75,0,153,1,153,2,153,3,153,4,153,5,153,6,153,7,153,9,153,12,153,14,153,15,153,145,153,146,153,155,153,156,153,157,153,111,75,182,153,183,153,184,153,185,153,186,153,187,153,188,153,189,153,190,153,191,153,192,153,193,153,194,153,195,153,196,153,197,153,198,153,199,153,123,75,126,75,160,154,161,154,162,154,175,154,176,154,177,154,200,75,218,154,227,154,228,154,229,154,230,154,231,154,232,154,233,154,234,154,102,216,5,223,102,216,14,223,38,155,62,155,63,155,64,155,65,155,66,155,103,216,173,220,95,155,96,155,97,155,98,155,103,216,90,221,145,156,146,156,147,156,148,156,149,156,150,156,151,156,152,156,153,156,154,156,155,156,156,156,157,156,60,0,42,0,158,156,159,156,241,156,242,156,243,156,244,156,245,156,246,156,85,158,86,158,87,158,89,158,90,158,91,158,92,158,167,158,188,158,189,158,59,159,74,159,135,159,136,159,60,0,39,0,208,253,15,40,39,0,60,0,42,0,245,80,246,80,248,80,249,80,250,80,251,80,252,80,253,80,254,80,255,80,0,81,1,81,2,81,3,81,4,81,5,81,6,81,7,81,8,81,9,81,10,81,11,81,12,81,13,81,14,81,15,81,147,52,150,52,152,52,64,216,201,223,64,216,203,223,48,81,217,81,218,81,219,81,220,81,65,216,17,222,133,82,134,82,135,82,136,82,137,82,138,82,139,82,140,82,141,82,142,82,143,82,238,82,239,82,240,82,241,82,242,82,20,83,51,83,177,83,178,83,66,216,180,222,199,83,89,53,83,86,32,86,41,86,42,86,43,86,44,86,45,86,46,86,47,86,48,86,49,86,50,86,51,86,52,86,53,86,54,86,55,86,56,86,57,86,58,86,59,86,60,86,61,86,62,86,63,86,64,86,65,86,66,86,67,86,68,86,70,86,71,86,72,86,73,86,74,86,75,86,76,86,77,86,78,86,79,86,80,86,82,86,84,86,86,86,87,86,88,86,89,86,90,86,91,86,92,86,93,86,116,86,241,53,242,53,243,53,67,216,100,223,67,216,141,223,67,216,144,223,67,216,173,223,67,216,180,223,67,216,181,223,67,216,182,223,67,216,188,223,68,216,20,220,26,87,128,88,156,88,157,88,60,0,42,0,158,88,159,88,160,88,161,88,162,88,163,88,164,88,165,88,166,88,167,88,169,88,170,88,171,88,172,88,174,88,175,88,176,88,177,88,178,88,179,88,180,88,181,88,182,88,183,88,184,88,185,88,69,216,36,220,69,216,63,220,69,216,82,220,69,216,84,220,69,216,85,220,255,88,0,89,69,216,119,221,38,89,109,89,244,90,245,90,246,90,247,90,248,90,249,90,250,90,251,90,252,90,253,90,254,90,255,90,0,91,1,91,2,91,3,91,4,91,5,91,6,91,7,91,8,91,9,91,10,91,11,91,12,91,13,91,14,91,15,91,35,55,37,55,38,55,70,216,82,220,70,216,94,220,70,216,97,220,70,216,98,220,70,216,99,220,70,216,100,220,70,216,119,220,70,216,123,220,70,216,131,220,70,216,132,220,70,216,133,220,233,91,235,91,236,91,237,91,238,91,111,55,14,92,70,216,68,223,53,92,100,92,101,92,102,92,103,92,160,55,143,93,144,93,145,93,146,93,147,93,148,93,149,93,150,93,151,93,152,93,153,93,154,93,155,93,156,93,157,93,158,93,159,93,160,93,161,93,162,93,163,93,164,93,165,93,15,56,71,216,15,223,71,216,21,223,228,93,90,94,92,94,93,94,94,94,95,94,96,94,97,94,98,94,100,94,60,0,42,0,101,94,97,56,105,94,218,94,219,94,221,94,222,94,223,94,224,94,225,94,226,94,227,94,228,94,71,95,72,95,73,95,113,95,178,95,181,95,183,95,184,95,185,95,186,95,85,97,87,97,89,97,92,97,93,97,100,97,102,97,103,97,107,97,110,97,112,97,118,97,120,97,121,97,124,97,126,97,127,97,130,97,131,97,132,97,133,97,135,97,109,97,137,97,139,97,141,97,142,97,143,97,144,97,146,97,147,97,148,97,149,97,152,97,154,97,155,97,156,97,158,97,159,97,161,97,162,97,163,97,164,97,166,97,167,97,170,97,171,97,172,97,173,97,174,97,175,97,176,97,177,97,179,97,137,57,138,57,146,57,74,216,95,220,74,216,96,220,74,216,113,220,45,98,46,98,47,98,104,100,105,100,110,100,111,100,112,100,121,100,128,100,131,100,60,58,133,100,134,100,136,100,138,100,139,100,140,100,141,100,142,100,143,100,144,100,145,100,146,100,147,100,148,100,149,100,150,100,151,100,152,100,153,100,154,100,155,100,156,100,157,100,158,100,159,100,160,100,161,100,162,100,163,100,164,100,165,100,167,100,168,100,60,0,42,0,169,100,170,100,171,100,172,100,173,100,174,100,175,100,176,100,177,100,178,100,179,100,180,100,181,100,182,100,183,100,184,100,185,100,186,100,198,100,75,58,75,216,68,221,75,216,76,221,75,216,103,221,117,101,118,101,119,101,120,101,121,101,122,101,123,101,75,216,204,223,179,101,76,216,188,220,169,102,170,102,171,102,172,102,173,102,174,102,175,102,176,102,177,102,178,102,179,102,180,102,181,102,182,102,183,102,17,59,18,59,19,59,20,59,21,59,22,59,76,216,129,222,76,216,138,222,188,102,164,129,60,59,61,59,62,59,233,105,226,105,227,105,228,105,229,105,230,105,231,105,232,105,234,105,235,105,236,105,237,105,238,105,239,105,240,105,241,105,242,105,243,105,244,105,245,105,246,105,247,105,248,105,249,105,250,105,251,105,252,105,253,105,254,105,255,105,0,106,1,106,2,106,4,106,5,106,6,106,7,106,8,106,9,106,10,106,11,106,12,106,13,106,14,106,15,106,16,106,17,106,18,106,19,106,20,106,21,106,22,106,23,106,24,106,25,106,26,106,27,106,28,106,29,106,30,106,31,106,32,106,33,106,34,106,35,106,36,106,37,106,60,0,42,0,38,106,39,106,41,106,42,106,43,106,44,106,45,106,47,106,48,106,49,106,101,106,190,59,194,59,196,59,77,216,23,222,77,216,26,222,77,216,60,222,77,216,64,222,77,216,89,222,77,216,95,222,77,216,119,222,78,107,79,107,80,107,81,107,82,107,83,107,117,107,118,107,162,107,163,107,164,107,165,107,166,107,115,60,116,60,197,107,198,107,255,107,0,108,1,108,2,108,213,110,0,111,16,111,38,111,63,111,65,111,11,111,61,111,79,111,80,111,81,111,82,111,83,111,84,111,85,111,86,111,87,111,88,111,89,111,90,111,91,111,92,111,93,111,95,111,96,111,97,111,98,111,99,111,100,111,101,111,102,111,103,111,104,111,105,111,106,111,107,111,108,111,109,111,110,111,111,111,112,111,113,111,114,111,116,111,117,111,118,111,119,111,120,111,121,111,122,111,123,111,124,111,125,111,126,111,127,111,129,111,130,111,132,111,133,111,134,111,135,111,136,111,137,111,138,111,139,111,140,111,141,111,142,111,143,111,144,111,145,111,146,111,147,111,148,111,149,111,150,111,151,111,152,111,154,111,155,111,156,111,157,111,208,111,76,61,78,61,81,61,60,0,42,0,79,216,74,223,79,216,97,223,79,216,127,223,79,216,128,223,79,216,129,223,79,216,130,223,79,216,143,223,79,216,180,223,79,216,183,223,198,111,166,113,154,113,155,113,156,113,157,113,158,113,159,113,160,113,161,113,162,113,163,113,164,113,165,113,167,113,168,113,169,113,170,113,171,113,172,113,173,113,174,113,175,113,176,113,177,113,178,113,179,113,180,113,181,113,217,158,166,159,235,61,80,216,98,223,80,216,99,223,80,216,100,223,80,216,101,223,80,216,140,223,80,216,150,223,80,216,156,223,85,86,52,114,69,114,85,114,86,114,87,114,152,114,153,114,154,114,155,114,81,216,212,222,78,115,75,115,86,115,87,115,88,115,89,115,90,115,91,115,92,115,93,115,94,115,95,115,96,115,97,115,98,115,100,115,82,216,130,220,105,116,108,116,121,116,122,116,123,116,124,116,125,116,126,116,128,116,129,116,130,116,131,116,132,116,133,116,134,116,135,116,136,116,137,116,138,116,139,116,140,116,142,116,147,116,235,62,236,62,240,62,243,62,244,62,82,216,21,222,82,216,33,222,82,216,34,222,82,216,35,222,82,216,36,222,82,216,37,222,82,216,38,222,82,216,39,222,82,216,40,222,82,216,41,222,82,216,42,222,82,216,62,222,7,117,8,117,9,117,83,63,82,216,245,223,126,117,127,117,31,118,25,118,26,118,27,118,28,118,60,0,42,0,29,118,30,118,32,118,33,118,34,118,35,118,36,118,37,118,38,118,40,118,41,118,42,118,43,118,183,63,192,63,83,216,59,222,83,216,80,222,154,118,155,118,156,118,157,118,158,118,229,63,83,216,151,223,83,216,154,223,186,118,228,118,135,119,136,119,137,119,138,119,139,119,140,119,141,119,142,119,143,119,144,119,145,119,146,119,147,119,87,64,84,216,80,222,186,120,187,120,188,120,189,120,190,120,191,120,192,120,194,120,195,120,196,120,197,120,198,120,199,120,200,120,201,120,202,120,203,120,204,120,205,120,206,120,207,120,208,120,209,120,210,120,211,120,212,120,213,120,215,120,216,120,217,120,228,120,85,216,49,221,85,216,53,221,85,216,63,221,154,121,155,121,156,121,157,121,158,121,159,121,160,121,161,121,162,121,163,121,85,216,227,222,52,122,54,122,55,122,56,122,57,122,58,122,59,122,60,122,61,122,62,122,63,122,64,122,65,122,66,122,67,122,108,65,110,65,117,65,86,216,87,220,174,122,175,122,176,122,177,122,178,122,179,122,180,122,172,123,173,123,174,123,175,123,176,123,177,123,178,123,179,123,180,123,181,123,182,123,183,123,185,123,186,123,187,123,60,0,42,0,188,123,189,123,190,123,191,123,193,123,194,123,195,123,196,123,197,123,198,123,199,123,200,123,202,123,203,123,204,123,205,123,206,123,207,123,208,123,209,123,210,123,211,123,14,66,15,66,16,66,17,66,18,66,19,66,20,66,21,66,26,66,28,66,32,66,34,66,35,66,38,66,41,66,86,216,228,223,86,216,232,223,87,216,1,220,87,216,6,220,194,124,195,124,196,124,197,124,198,124,199,124,200,124,201,124,202,124,203,124,204,124,205,124,206,124,148,66,87,216,215,222,87,216,216,222,211,125,214,125,215,125,216,125,217,125,218,125,219,125,220,125,221,125,222,125,223,125,224,125,225,125,226,125,227,125,228,125,229,125,230,125,231,125,232,125,233,125,234,125,235,125,236,125,237,125,238,125,239,125,240,125,241,125,242,125,243,125,244,125,245,125,246,125,247,125,248,125,249,125,250,125,251,125,252,125,253,125,254,125,255,125,0,126,1,126,2,126,3,126,4,126,5,126,6,126,7,126,244,66,251,66,252,66,0,67,1,67,4,67,88,216,131,220,88,216,151,220,88,216,164,220,88,216,165,220,62,67,44,127,45,127,46,127,47,127,117,127,118,127,119,127,120,127,172,127,60,0,42,0,173,127,174,127,175,127,176,127,230,127,231,127,232,127,233,127,234,127,235,127,236,127,237,127,89,216,105,220,38,128,39,128,172,67,100,128,101,128,102,128,103,128,104,128,105,128,106,128,107,128,89,216,173,221,146,129,147,129,148,129,149,129,150,129,151,129,152,129,153,129,154,129,155,129,156,129,157,129,158,129,159,129,160,129,161,129,162,129,163,129,45,68,51,68,52,68,241,129,22,130,23,130,78,130,79,130,80,130,81,130,82,130,83,130,84,130,122,68,138,132,244,68,224,132,231,132,232,132,233,132,234,132,235,132,236,132,237,132,238,132,239,132,240,132,242,132,243,132,244,132,245,132,246,132,247,132,248,132,249,132,250,132,251,132,252,132,253,132,254,132,255,132,0,133,1,133,2,133,3,133,4,133,5,133,6,133,8,133,9,133,10,133,11,133,12,133,13,133,14,133,15,133,16,133,17,133,18,133,19,133,20,133,21,133,22,133,23,133,24,133,25,133,26,133,27,133,28,133,29,133,30,133,31,133,32,133,33,133,34,133,35,133,36,133,37,133,38,133,39,133,40,133,41,133,42,133,43,133,44,133,60,0,42,0,45,133,46,133,47,133,48,133,49,133,50,133,51,133,52,133,53,133,54,133,55,133,56,133,57,133,58,133,59,133,60,133,91,216,0,222,91,216,5,222,91,216,7,222,91,216,18,222,91,216,66,222,91,216,67,222,91,216,68,222,91,216,69,222,91,216,110,222,91,216,114,222,91,216,119,222,91,216,132,222,61,133,79,133,98,134,76,135,78,135,79,135,80,135,81,135,82,135,83,135,84,135,86,135,87,135,88,135,89,135,90,135,91,135,92,135,93,135,94,135,95,135,96,135,97,135,98,135,99,135,100,135,101,135,102,135,103,135,104,135,105,135,106,135,108,135,109,135,110,135,111,135,112,135,113,135,114,135,115,135,116,135,117,135,118,135,119,135,120,135,122,135,123,135,124,135,125,135,126,135,127,135,128,135,225,135,92,216,82,223,92,216,154,223,130,135,90,136,91,136,92,136,93,136,93,216,253,221,230,136,5,137,6,137,7,137,8,137,9,137,10,137,11,137,12,137,13,137,14,137,15,137,16,137,17,137,18,137,19,137,20,137,21,137,22,137,23,137,24,137,25,137,27,137,28,137,29,137,69,70,70,70,93,216,15,223,162,137,163,137,164,137,165,137,94,216,88,220,169,137,208,137,209,137,236,137,237,137,238,137,60,0,42,0,239,137,240,137,149,138,175,138,176,138,177,138,178,138,179,138,180,138,181,138,182,138,183,138,184,138,185,138,186,138,187,138,188,138,189,138,190,138,191,138,192,138,193,138,194,138,195,138,196,138,197,138,198,138,199,138,200,138,201,138,202,138,203,138,204,138,205,138,206,138,207,138,208,138,209,138,210,138,211,138,212,138,213,138,214,138,215,138,216,138,217,138,218,138,233,138,245,70,247,70,94,216,62,222,94,216,83,222,94,216,89,222,219,138,248,138,51,140,52,140,53,140,62,140,76,140,77,140,78,140,94,216,239,223,94,216,244,223,108,140,142,140,143,140,217,140,218,140,219,140,220,140,221,140,222,140,223,140,224,140,225,140,226,140,227,140,228,140,229,140,230,140,231,140,232,140,233,140,234,140,235,140,236,140,124,71,237,140,92,141,109,141,155,141,156,141,157,141,158,141,159,141,160,141,161,141,162,141,163,141,164,141,15,142,16,142,17,142,18,142,19,142,20,142,21,142,22,142,23,142,24,142,25,142,26,142,27,142,28,142,29,142,30,142,31,142,32,142,33,142,34,142,35,142,36,142,37,142,38,142,39,142,40,142,41,142,60,0,42,0,42,142,44,142,45,142,46,142,47,142,58,142,0,72,1,72,11,72,96,216,131,220,96,216,144,220,43,142,55,142,182,142,183,142,184,142,185,142,186,142,187,142,188,142,96,216,86,222,22,143,23,143,24,143,25,143,26,143,27,143,28,143,29,143,30,143,31,143,32,143,33,143,34,143,35,143,36,143,37,143,38,143,39,143,40,143,41,143,42,143,43,143,44,143,93,72,96,216,47,223,96,216,58,223,152,143,164,143,179,143,102,144,103,144,104,144,105,144,106,144,107,144,108,144,109,144,110,144,111,144,112,144,113,144,115,144,119,144,246,144,38,145,39,145,41,145,42,145,43,145,45,145,46,145,47,145,48,145,49,145,50,145,221,72,128,145,129,145,130,145,131,145,132,145,133,145,134,145,135,145,136,145,137,145,138,145,139,145,140,145,178,146,179,146,180,146,181,146,182,146,183,146,184,146,185,146,186,146,187,146,188,146,189,146,190,146,191,146,192,146,193,146,194,146,195,146,196,146,197,146,198,146,199,146,200,146,201,146,202,146,204,146,205,146,206,146,207,146,208,146,209,146,210,146,211,146,212,146,213,146,214,146,215,146,216,146,60,0,42,0,217,146,218,146,219,146,220,146,221,146,222,146,223,146,224,146,225,146,226,146,227,146,228,146,229,146,230,146,231,146,232,146,233,146,234,146,235,146,236,146,237,146,239,146,240,146,241,146,242,146,243,146,244,146,245,146,246,146,39,250,45,73,47,73,48,73,98,216,184,221,98,216,188,221,98,216,192,221,98,216,220,221,98,216,222,221,98,216,225,221,98,216,227,221,98,216,228,221,70,149,71,149,72,149,73,149,74,149,75,149,76,149,77,149,78,149,79,149,80,149,81,149,82,149,83,149,84,149,85,149,124,149,171,149,172,149,173,149,174,149,175,149,176,149,177,149,178,149,179,149,180,149,99,216,52,221,162,150,163,150,164,150,165,150,229,73,211,150,2,151,3,151,4,151,5,151,6,151,7,151,8,151,9,151,10,151,100,216,192,220,90,151,96,151,101,151,135,151,136,151,137,151,138,151,139,151,140,151,141,151,142,151,143,151,144,151,145,151,146,151,207,151,208,151,209,151,239,151,101,216,32,220,27,152,28,152,29,152,30,152,31,152,32,152,33,152,34,152,35,152,38,152,39,152,40,152,41,152,42,152,43,152,44,152,152,152,153,152,154,152,155,152,156,152,157,152,178,152,60,0,42,0,179,152,216,152,250,152,8,153,10,153,11,153,13,153,55,75,17,153,18,153,19,153,20,153,21,153,22,153,23,153,24,153,25,153,147,153,148,153,200,153,201,153,202,153,203,153,204,153,205,153,206,153,207,153,208,153,209,153,210,153,211,153,212,153,213,153,214,153,215,153,216,153,217,153,218,153,219,153,220,153,221,153,222,153,223,153,224,153,102,216,164,220,163,154,178,154,179,154,180,154,181,154,182,154,183,154,219,154,235,154,236,154,238,154,239,154,240,154,241,154,242,154,243,154,244,154,39,155,67,155,68,155,69,155,70,155,32,76,99,155,100,155,101,155,102,155,103,155,104,155,105,155,106,155,107,155,108,155,109,155,110,155,111,155,112,155,113,155,114,155,115,155,116,155,117,155,118,155,119,155,120,155,121,155,59,76,62,76,103,216,124,221,160,156,161,156,162,156,163,156,164,156,165,156,166,156,167,156,168,156,169,156,170,156,171,156,172,156,247,156,248,156,249,156,250,156,251,156,252,156,253,156,254,156,255,156,0,157,1,157,2,157,3,157,4,157,5,157,6,157,7,157,8,157,9,157,11,157,12,157,60,0,42,0,13,157,14,157,174,76,176,76,183,76,103,216,183,223,88,158,93,158,94,158,95,158,96,158,97,158,98,158,99,158,100,158,118,158,131,158,132,158,104,216,147,222,168,158,169,158,170,158,171,158,185,158,190,158,206,158,168,88,211,158,15,159,16,159,17,159,81,159,82,159,137,159,138,159,60,0,39,0,208,253,16,40,39,0,60,0,42,0,184,78,16,81,17,81,18,81,19,81,20,81,21,81,22,81,23,81,24,81,25,81,26,81,27,81,28,81,29,81,30,81,43,81,64,216,245,223,64,216,252,223,99,81,65,216,252,220,128,81,170,81,221,81,222,81,65,216,21,222,144,82,145,82,146,82,147,82,148,82,243,82,52,83,225,83,94,86,95,86,96,86,97,86,98,86,99,86,100,86,101,86,102,86,103,86,104,86,105,86,106,86,107,86,108,86,109,86,110,86,111,86,112,86,113,86,114,86,115,86,117,86,118,86,119,86,120,86,121,86,122,86,123,86,124,86,251,53,254,53,0,54,1,54,2,54,3,54,4,54,67,216,223,223,67,216,234,223,67,216,235,223,67,216,236,223,67,216,237,223,68,216,29,220,68,216,30,220,27,87,28,87,186,88,187,88,188,88,189,88,190,88,191,88,192,88,193,88,194,88,195,88,196,88,197,88,198,88,199,88,200,88,201,88,202,88,203,88,204,88,179,159,1,89,110,89,111,89,16,91,17,91,18,91,19,91,20,91,21,91,22,91,23,91,24,91,25,91,26,91,27,91,28,91,29,91,30,91,31,91,32,91,33,91,34,91,52,91,43,55,44,55,45,55,70,216,158,220,70,216,159,220,60,0,42,0,70,216,160,220,70,216,161,220,70,216,162,220,70,216,190,220,70,216,191,220,40,91,120,91,121,91,239,91,240,91,166,93,167,93,168,93,169,93,170,93,171,93,172,93,173,93,174,93,175,93,176,93,177,93,178,93,179,93,180,93,181,93,182,93,102,94,103,94,104,94,98,56,99,56,100,56,72,216,91,221,111,94,229,94,230,94,231,94,232,94,233,94,234,94,74,95,75,95,91,95,92,95,73,216,113,220,73,216,176,220,187,95,188,95,138,97,140,97,145,97,150,97,151,97,153,97,157,97,160,97,165,97,168,97,169,97,178,97,180,97,182,97,183,97,184,97,185,97,186,97,189,97,190,97,191,97,192,97,193,97,196,97,197,97,198,97,200,97,202,97,204,97,205,97,206,97,207,97,208,97,210,97,211,97,212,97,153,57,74,216,173,220,74,216,193,220,187,97,49,98,48,98,137,100,187,100,188,100,189,100,190,100,191,100,192,100,193,100,194,100,195,100,196,100,197,100,199,100,200,100,201,100,203,100,204,100,205,100,207,100,208,100,209,100,210,100,211,100,212,100,213,100,214,100,215,100,217,100,218,100,219,100,220,100,221,100,222,100,82,58,84,58,87,58,75,216,141,221,60,0,42,0,75,216,149,221,75,216,160,221,75,216,163,221,75,216,164,221,75,216,183,221,243,100,51,101,116,101,124,101,125,101,126,101,127,101,75,216,227,223,147,101,162,101,180,101,216,101,217,101,184,102,185,102,186,102,187,102,189,102,190,102,191,102,192,102,193,102,194,102,195,102,196,102,197,102,198,102,199,102,200,102,201,102,202,102,203,102,204,102,205,102,167,159,23,59,24,59,25,59,26,59,27,59,28,59,29,59,30,59,31,59,76,216,137,222,76,216,171,222,76,216,172,222,76,216,173,222,207,102,6,103,49,59,35,103,36,103,63,59,40,106,116,106,50,106,51,106,52,106,53,106,54,106,55,106,56,106,57,106,58,106,59,106,60,106,61,106,62,106,63,106,64,106,65,106,66,106,67,106,68,106,69,106,70,106,71,106,72,106,73,106,74,106,75,106,76,106,77,106,78,106,79,106,80,106,81,106,82,106,83,106,84,106,85,106,86,106,87,106,88,106,89,106,90,106,91,106,92,106,93,106,94,106,95,106,96,106,97,106,98,106,99,106,100,106,102,106,103,106,104,106,105,106,106,106,107,106,108,106,109,106,110,106,111,106,112,106,113,106,114,106,115,106,117,106,118,106,60,0,42,0,119,106,120,106,121,106,122,106,123,106,124,106,215,59,221,59,77,216,142,222,77,216,158,222,77,216,166,222,77,216,173,222,77,216,186,222,77,216,223,222,77,216,238,222,84,107,85,107,86,107,87,107,88,107,89,107,90,107,119,107,167,107,168,107,169,107,170,107,171,107,199,107,200,107,3,108,4,108,5,108,6,108,7,108,94,111,131,111,153,111,158,111,159,111,160,111,161,111,162,111,163,111,164,111,165,111,166,111,167,111,168,111,170,111,171,111,172,111,173,111,174,111,175,111,176,111,177,111,178,111,179,111,180,111,181,111,182,111,183,111,184,111,185,111,186,111,187,111,188,111,189,111,190,111,191,111,192,111,193,111,194,111,195,111,196,111,197,111,199,111,200,111,201,111,202,111,203,111,205,111,206,111,207,111,209,111,210,111,211,111,214,111,95,61,98,61,101,61,105,61,106,61,79,216,197,223,79,216,235,223,79,216,236,223,79,216,237,223,79,216,238,223,79,216,239,223,79,216,240,223,80,216,17,220,4,112,182,113,183,113,184,113,185,113,186,113,187,113,188,113,189,113,190,113,191,113,192,113,193,113,194,113,195,113,196,113,197,113,198,113,199,113,200,113,201,113,202,113,203,113,204,113,205,113,206,113,60,0,42,0,207,113,208,113,209,113,210,113,211,113,212,113,213,113,214,113,215,113,216,113,217,113,218,113,219,113,220,113,221,113,222,113,243,61,244,61,247,61,252,61,253,61,80,216,189,223,80,216,193,223,80,216,233,223,80,216,234,223,80,216,242,223,156,114,157,114,158,114,159,114,99,115,101,115,102,115,103,115,104,115,105,115,106,115,107,115,108,115,109,115,127,116,141,116,143,116,145,116,146,116,148,116,149,116,150,116,152,116,153,116,154,116,155,116,156,116,157,116,158,116,159,116,160,116,161,116,163,116,164,116,252,62,82,216,66,222,82,216,69,222,82,216,74,222,82,216,78,222,82,216,79,222,82,216,80,222,82,216,81,222,82,216,93,222,82,216,101,222,82,216,102,222,82,216,103,222,162,116,226,116,82,216,15,223,10,117,11,117,12,117,13,117,14,117,128,117,129,117,130,117,83,216,201,220,44,118,45,118,46,118,47,118,48,118,49,118,50,118,51,118,52,118,53,118,54,118,55,118,56,118,57,118,58,118,59,118,60,118,61,118,62,118,63,118,74,118,200,63,159,118,160,118,161,118,187,118,229,118,230,118,231,118,84,216,157,220,148,119,149,119,150,119,151,119,152,119,153,119,154,119,155,119,156,119,157,119,158,119,159,119,160,119,161,119,60,0,42,0,162,119,163,119,98,64,101,64,106,64,84,216,153,222,165,119,214,120,220,120,218,120,219,120,221,120,222,120,223,120,224,120,225,120,226,120,227,120,229,120,230,120,231,120,232,120,233,120,234,120,235,120,236,120,237,120,238,120,216,64,85,216,91,221,85,216,92,221,85,216,93,221,85,216,94,221,85,216,98,221,85,216,101,221,85,216,102,221,164,121,165,121,166,121,169,121,85,216,246,222,68,122,69,122,70,122,71,122,72,122,75,122,76,122,77,122,78,122,79,122,80,122,81,122,82,122,124,65,86,216,93,220,86,216,114,220,83,122,181,122,182,122,183,122,184,122,185,122,186,122,187,122,188,122,189,122,178,65,241,122,86,216,174,222,201,123,212,123,213,123,214,123,215,123,216,123,217,123,218,123,219,123,220,123,221,123,222,123,223,123,224,123,225,123,226,123,227,123,228,123,229,123,230,123,231,123,232,123,233,123,234,123,235,123,236,123,237,123,238,123,239,123,17,124,42,66,43,66,45,66,46,66,48,66,49,66,50,66,87,216,33,220,87,216,74,220,87,216,101,220,249,123,207,124,208,124,209,124,210,124,211,124,212,124,213,124,214,124,215,124,216,124,0,74,8,126,9,126,10,126,11,126,12,126,13,126,60,0,42,0,14,126,15,126,16,126,17,126,18,126,19,126,20,126,21,126,22,126,23,126,24,126,25,126,26,126,27,126,28,126,29,126,30,126,31,126,32,126,33,126,34,126,35,126,36,126,37,126,38,126,39,126,40,126,10,67,48,127,49,127,50,127,51,127,52,127,67,127,121,127,122,127,123,127,124,127,177,127,178,127,238,127,239,127,240,127,241,127,40,128,41,128,42,128,89,216,18,221,108,128,109,128,193,67,89,216,191,221,110,128,144,129,37,103,166,129,167,129,168,129,169,129,170,129,171,129,172,129,173,129,174,129,175,129,176,129,177,129,178,129,179,129,180,129,181,129,182,129,59,68,90,216,28,220,90,216,110,220,183,129,185,129,242,129,251,129,8,130,6,130,9,130,24,130,85,130,86,130,87,130,88,130,89,130,222,132,0,69,3,69,4,69,9,69,11,69,62,133,63,133,64,133,65,133,66,133,67,133,68,133,69,133,70,133,71,133,72,133,73,133,74,133,75,133,76,133,77,133,78,133,80,133,81,133,82,133,83,133,84,133,85,133,86,133,88,133,89,133,90,133,91,133,92,133,93,133,94,133,95,133,96,133,97,133,60,0,42,0,98,133,99,133,100,133,101,133,102,133,103,133,104,133,105,133,106,133,107,133,108,133,109,133,110,133,111,133,112,133,113,133,114,133,115,133,116,133,117,133,91,216,136,222,91,216,139,222,91,216,153,222,91,216,208,222,91,216,209,222,91,216,210,222,91,216,211,222,91,216,212,222,91,216,213,222,91,216,214,222,91,216,215,222,91,216,38,223,140,133,31,250,99,134,100,134,101,134,102,134,121,135,129,135,131,135,132,135,133,135,134,135,135,135,136,135,137,135,138,135,139,135,140,135,141,135,142,135,143,135,144,135,145,135,146,135,147,135,148,135,149,135,150,135,151,135,152,135,153,135,154,135,155,135,156,135,157,135,158,135,159,135,160,135,161,135,162,135,163,135,164,135,165,135,166,135,167,135,168,135,169,135,218,69,221,69,94,136,95,136,96,136,97,136,23,70,93,216,254,221,30,137,31,137,32,137,33,137,34,137,35,137,36,137,37,137,38,137,39,137,40,137,41,137,42,137,43,137,44,137,45,137,46,137,47,137,48,137,49,137,50,137,52,137,79,70,93,216,53,223,93,216,54,223,93,216,65,223,166,137,167,137,168,137,170,137,94,216,112,220,241,137,161,70,220,138,221,138,222,138,223,138,224,138,225,138,226,138,227,138,60,0,42,0,228,138,229,138,230,138,231,138,232,138,234,138,235,138,236,138,237,138,238,138,239,138,240,138,241,138,242,138,243,138,244,138,245,138,246,138,247,138,249,138,250,138,251,138,252,138,253,138,254,138,255,138,0,139,1,139,2,139,3,139,94,216,121,222,94,216,132,222,20,139,107,140,109,140,110,140,78,71,95,216,108,220,144,140,145,140,146,140,147,140,238,140,239,140,240,140,241,140,242,140,243,140,244,140,245,140,95,216,189,221,93,141,94,141,95,141,96,141,108,141,110,141,165,141,166,141,167,141,95,216,46,223,48,142,49,142,50,142,51,142,52,142,53,142,54,142,56,142,57,142,59,142,60,142,61,142,62,142,63,142,64,142,65,142,66,142,67,142,68,142,69,142,96,216,189,220,96,216,190,220,189,142,190,142,45,143,46,143,47,143,48,143,49,143,50,143,51,143,52,143,53,143,54,143,55,143,56,143,57,143,58,143,59,143,60,143,96,216,101,223,153,143,154,143,165,143,166,143,167,143,168,143,169,143,170,143,114,144,116,144,117,144,118,144,120,144,121,144,122,144,123,144,124,144,134,144,173,72,97,216,232,221,97,216,244,221,97,216,0,222,250,144,51,145,52,145,53,145,60,0,42,0,54,145,55,145,141,145,142,145,143,145,144,145,145,145,146,145,147,145,148,145,149,145,150,145,151,145,0,73,6,73,203,146,247,146,248,146,249,146,250,146,251,146,252,146,253,146,254,146,255,146,0,147,1,147,2,147,3,147,4,147,5,147,6,147,7,147,8,147,9,147,10,147,11,147,12,147,13,147,14,147,15,147,16,147,17,147,18,147,19,147,20,147,21,147,22,147,23,147,24,147,25,147,26,147,27,147,28,147,29,147,30,147,31,147,32,147,33,147,34,147,35,147,36,147,37,147,38,147,39,147,41,147,42,147,43,147,44,147,45,147,46,147,47,147,48,147,49,147,50,147,51,147,52,147,53,147,54,147,55,147,56,147,57,147,58,147,59,147,60,147,61,147,62,147,63,147,64,147,65,147,66,147,67,147,68,147,69,147,70,147,72,147,172,159,40,250,53,73,98,216,231,221,98,216,232,221,98,216,249,221,98,216,250,221,98,216,251,221,98,216,252,221,98,216,15,222,98,216,22,222,98,216,37,222,98,216,41,222,122,147,86,149,87,149,88,149,89,149,90,149,91,149,92,149,93,149,94,149,95,149,96,149,181,149,182,149,184,149,185,149,186,149,187,149,188,149,60,0,42,0,189,149,190,149,191,149,193,149,194,149,161,73,167,73,205,149,27,150,166,150,167,150,168,150,169,150,170,150,171,150,231,73,183,150,212,150,213,150,11,151,12,151,13,151,14,151,15,151,16,151,17,151,18,151,19,151,20,151,21,151,22,151,23,151,29,74,100,216,228,220,100,216,229,220,100,216,236,220,100,216,237,220,91,151,92,151,102,151,147,151,148,151,149,151,150,151,151,151,152,151,153,151,210,151,240,151,248,151,36,152,37,152,45,152,46,152,47,152,48,152,49,152,50,152,51,152,52,152,53,152,54,152,55,152,56,152,57,152,58,152,59,152,60,152,61,152,101,216,208,220,101,216,217,220,101,216,218,220,158,152,159,152,160,152,161,152,180,152,181,152,101,216,215,221,217,152,218,152,16,153,29,153,26,153,27,153,28,153,30,153,31,153,32,153,33,153,34,153,35,153,36,153,38,153,39,153,40,153,41,153,101,216,32,223,52,153,158,153,159,153,160,153,225,153,226,153,227,153,228,153,229,153,230,153,231,153,232,153,233,153,234,153,235,153,236,153,237,153,238,153,239,153,240,153,241,153,242,153,102,216,209,220,184,154,185,154,186,154,187,154,188,154,102,216,77,222,191,154,60,0,42,0,237,154,245,154,246,154,247,154,248,154,249,154,250,154,251,154,7,155,40,155,51,155,71,155,122,155,123,155,124,155,125,155,126,155,127,155,128,155,129,155,130,155,131,155,132,155,133,155,135,155,136,155,137,155,138,155,139,155,140,155,141,155,142,155,143,155,144,155,145,155,146,155,147,155,148,155,149,155,150,155,151,155,152,155,163,155,64,76,71,76,73,76,103,216,152,221,103,216,155,221,173,156,174,156,175,156,176,156,177,156,178,156,179,156,180,156,181,156,182,156,183,156,184,156,185,156,186,156,187,156,10,157,15,157,16,157,17,157,18,157,19,157,20,157,21,157,22,157,23,157,24,157,25,157,26,157,27,157,29,157,30,157,31,157,32,157,33,157,34,157,35,157,36,157,37,157,38,157,39,157,40,157,41,157,42,157,43,157,44,157,103,216,222,223,101,158,102,158,103,158,104,158,119,158,126,158,133,158,134,158,135,158,136,158,104,216,159,222,172,158,173,158,174,158,52,77,186,158,197,158,198,158,212,158,213,158,214,158,215,158,216,158,250,158,18,159,60,159,61,159,83,159,141,159,156,159,60,0,39,0,208,253,17,40,39,0,60,0,42,0,31,81,32,81,33,81,34,81,35,81,36,81,37,81,38,81,39,81,40,81,41,81,42,81,44,81,65,216,19,220,65,216,20,220,65,216,31,220,50,81,223,81,65,216,25,222,65,216,26,222,149,82,244,82,245,82,246,82,37,53,38,53,53,83,179,83,83,53,66,216,143,223,125,86,126,86,127,86,128,86,129,86,130,86,131,86,132,86,133,86,134,86,135,86,136,86,137,86,138,86,139,86,140,86,141,86,142,86,143,86,144,86,145,86,146,86,147,86,68,216,79,220,68,216,92,220,68,216,111,220,68,216,117,220,68,216,118,220,68,216,119,220,68,216,120,220,68,216,123,220,68,216,136,220,205,88,206,88,207,88,208,88,209,88,210,88,211,88,212,88,213,88,214,88,215,88,122,54,69,216,138,220,69,216,151,220,69,216,146,222,35,91,36,91,37,91,38,91,39,91,41,91,42,91,43,91,44,91,45,91,46,91,47,91,48,91,49,91,50,91,51,91,53,91,54,91,55,91,70,216,209,220,70,216,214,220,70,216,215,220,70,216,216,220,70,216,217,220,122,91,123,91,241,91,242,91,54,92,55,92,104,92,183,93,184,93,185,93,186,93,188,93,189,93,190,93,191,93,25,56,71,216,106,223,187,93,106,94,107,94,108,94,101,56,102,56,76,95,189,95,190,95,73,216,141,221,60,0,42,0,181,97,188,97,194,97,195,97,199,97,201,97,203,97,209,97,215,97,217,97,218,97,219,97,220,97,221,97,222,97,224,97,225,97,226,97,228,97,229,97,230,97,231,97,232,97,74,216,247,220,50,98,52,98,202,100,206,100,216,100,223,100,224,100,225,100,226,100,227,100,228,100,230,100,232,100,233,100,235,100,236,100,237,100,238,100,239,100,240,100,241,100,92,58,94,58,75,216,238,221,128,101,129,101,130,101,131,101,163,101,181,101,182,101,218,101,206,102,208,102,209,102,210,102,211,102,212,102,213,102,214,102,215,102,218,102,32,59,33,59,34,59,76,216,210,222,217,102,50,59,64,59,125,106,126,106,127,106,128,106,129,106,130,106,131,106,132,106,133,106,134,106,135,106,136,106,137,106,138,106,139,106,140,106,141,106,142,106,143,106,144,106,145,106,146,106,147,106,148,106,149,106,150,106,151,106,152,106,153,106,154,106,155,106,156,106,157,106,158,106,159,106,160,106,161,106,162,106,163,106,164,106,165,106,166,106,167,106,168,106,169,106,170,106,236,59,242,59,243,59,244,59,77,216,3,223,77,216,22,223,77,216,32,223,77,216,45,223,77,216,47,223,60,0,42,0,77,216,63,223,219,106,91,107,92,107,93,107,70,60,172,107,173,107,174,107,218,107,8,108,9,108,10,108,169,111,204,111,128,111,212,111,213,111,215,111,216,111,217,111,218,111,219,111,220,111,221,111,222,111,223,111,224,111,225,111,226,111,227,111,228,111,229,111,230,111,231,111,232,111,233,111,234,111,235,111,236,111,237,111,238,111,239,111,240,111,241,111,242,111,244,111,245,111,246,111,248,111,111,61,115,61,117,61,79,216,192,223,80,216,57,220,80,216,58,220,80,216,59,220,80,216,60,220,80,216,61,220,80,216,87,220,223,113,224,113,225,113,226,113,227,113,228,113,229,113,230,113,231,113,232,113,233,113,234,113,235,113,236,113,237,113,238,113,239,113,240,113,241,113,242,113,243,113,244,113,245,113,246,113,247,113,0,62,1,62,2,62,80,216,248,223,81,216,4,220,53,114,70,114,160,114,85,62,110,115,111,115,112,115,113,115,114,115,115,115,116,115,144,116,151,116,250,62,165,116,166,116,168,116,169,116,170,116,171,116,172,116,173,116,174,116,175,116,176,116,177,116,178,116,179,116,180,116,255,62,0,63,1,63,82,216,113,222,82,216,119,222,82,216,120,222,82,216,121,222,82,216,122,222,15,117,60,0,42,0,16,117,17,117,18,117,63,63,131,117,132,117,83,216,217,220,64,118,65,118,66,118,67,118,68,118,69,118,70,118,71,118,72,118,73,118,75,118,76,118,77,118,78,118,83,216,165,222,83,216,167,222,162,118,163,118,164,118,165,118,188,118,232,118,233,118,234,118,9,64,164,119,166,119,167,119,168,119,169,119,170,119,171,119,172,119,173,119,174,119,175,119,176,119,177,119,178,119,179,119,180,119,181,119,182,119,183,119,111,64,113,64,84,216,199,222,239,119,240,119,239,120,240,120,241,120,242,120,243,120,244,120,245,120,246,120,247,120,248,120,249,120,250,120,251,120,252,120,253,120,254,120,255,120,0,121,1,121,2,121,3,121,4,121,5,121,223,64,85,216,129,221,85,216,132,221,85,216,143,221,167,121,168,121,170,121,171,121,85,216,6,223,73,122,84,122,85,122,86,122,87,122,88,122,89,122,90,122,91,122,92,122,93,122,94,122,127,65,190,122,191,122,192,122,193,122,194,122,185,65,242,122,243,122,244,122,86,216,175,222,21,124,240,123,241,123,242,123,243,123,244,123,245,123,246,123,247,123,248,123,250,123,251,123,252,123,253,123,254,123,255,123,0,124,60,0,42,0,1,124,2,124,3,124,4,124,5,124,6,124,7,124,8,124,9,124,10,124,11,124,12,124,13,124,14,124,15,124,16,124,18,124,19,124,20,124,22,124,23,124,59,66,64,66,65,66,66,66,67,66,68,66,69,66,87,216,145,220,87,216,164,220,87,216,192,220,24,124,217,124,218,124,219,124,220,124,221,124,222,124,223,124,224,124,225,124,226,124,232,124,162,66,41,126,42,126,43,126,44,126,45,126,46,126,47,126,48,126,49,126,50,126,51,126,52,126,53,126,54,126,55,126,56,126,57,126,58,126,59,126,60,126,61,126,62,126,63,126,64,126,65,126,66,126,67,126,68,126,69,126,70,126,71,126,73,126,74,126,76,126,77,126,88,216,2,221,88,216,33,221,72,126,68,127,69,127,70,127,125,127,126,127,127,127,129,127,88,216,190,223,242,127,243,127,244,127,245,127,246,127,252,127,89,216,132,220,89,216,136,220,89,216,137,220,43,128,44,128,111,128,112,128,113,128,114,128,115,128,116,128,89,216,38,222,165,129,184,129,186,129,187,129,188,129,189,129,190,129,191,129,192,129,193,129,194,129,195,129,196,129,197,129,198,129,199,129,200,129,201,129,202,129,204,129,60,0,42,0,90,216,70,220,90,216,94,220,232,129,233,129,90,216,242,221,90,130,91,130,92,130,93,130,113,130,22,69,27,69,29,69,32,69,38,69,39,69,87,133,118,133,119,133,120,133,121,133,122,133,123,133,124,133,125,133,126,133,127,133,128,133,129,133,130,133,131,133,132,133,133,133,134,133,135,133,136,133,137,133,138,133,139,133,141,133,142,133,143,133,144,133,145,133,146,133,147,133,148,133,149,133,150,133,151,133,152,133,153,133,154,133,155,133,156,133,157,133,158,133,159,133,160,133,161,133,162,133,163,133,164,133,165,133,166,133,167,133,168,133,170,133,171,133,172,133,174,133,169,159,91,216,115,223,91,216,116,223,91,216,159,223,91,216,161,223,173,133,175,133,103,134,104,134,170,135,171,135,172,135,173,135,174,135,175,135,176,135,177,135,178,135,179,135,180,135,181,135,182,135,183,135,184,135,185,135,186,135,187,135,188,135,189,135,190,135,191,135,192,135,193,135,194,135,195,135,196,135,197,135,198,135,199,135,200,135,201,135,202,135,203,135,204,135,205,135,206,135,207,135,208,135,209,135,210,135,233,69,234,69,238,69,92,216,255,223,93,216,34,220,222,135,51,137,60,0,42,0,53,137,54,137,55,137,56,137,57,137,58,137,59,137,60,137,61,137,62,137,63,137,64,137,65,137,66,137,67,137,68,137,69,137,84,137,91,70,82,137,203,159,93,216,94,223,171,137,172,137,173,137,174,137,175,137,242,137,243,137,94,216,36,221,4,139,5,139,6,139,7,139,8,139,9,139,10,139,11,139,12,139,13,139,14,139,15,139,16,139,17,139,18,139,19,139,21,139,22,139,23,139,24,139,25,139,26,139,27,139,28,139,29,139,30,139,31,139,32,139,33,139,34,139,0,71,94,216,189,222,94,216,190,222,38,71,63,140,64,140,65,140,79,140,111,140,112,140,113,140,114,140,115,140,148,140,149,140,150,140,246,140,247,140,248,140,249,140,250,140,251,140,252,140,253,140,95,216,220,221,97,141,98,141,111,141,168,141,70,142,71,142,72,142,73,142,74,142,75,142,76,142,77,142,78,142,79,142,80,142,81,142,82,142,83,142,96,216,232,220,96,216,233,220,96,216,244,220,61,143,62,143,63,143,64,143,65,143,66,143,67,143,68,143,69,143,96,216,109,223,96,216,125,223,171,143,125,144,126,144,127,144,128,144,129,144,130,144,131,144,132,144,133,144,137,144,60,0,42,0,174,72,97,216,11,222,56,145,57,145,152,145,153,145,154,145,155,145,156,145,157,145,158,145,159,145,160,145,161,145,162,145,163,145,164,145,98,216,51,221,40,147,71,147,73,147,74,147,75,147,76,147,77,147,78,147,79,147,80,147,81,147,82,147,83,147,84,147,85,147,86,147,87,147,88,147,89,147,90,147,91,147,92,147,93,147,94,147,95,147,96,147,97,147,98,147,99,147,100,147,101,147,102,147,103,147,104,147,105,147,106,147,107,147,108,147,109,147,110,147,111,147,112,147,113,147,114,147,115,147,116,147,117,147,118,147,119,147,120,147,121,147,123,147,124,147,125,147,126,147,127,147,128,147,129,147,130,147,131,147,132,147,133,147,134,147,135,147,60,73,98,216,50,222,98,216,54,222,98,216,68,222,98,216,69,222,98,216,70,222,98,216,71,222,98,216,72,222,98,216,73,222,98,216,74,222,98,216,75,222,98,216,89,222,98,216,90,222,98,216,129,222,98,216,130,222,98,216,131,222,161,147,175,147,97,149,98,149,99,149,100,149,101,149,102,149,103,149,104,149,105,149,106,149,107,149,192,149,183,149,195,149,196,149,197,149,198,149,199,149,200,149,201,149,202,149,203,149,204,149,206,149,207,149,172,150,173,150,174,150,60,0,42,0,175,150,176,150,177,150,178,150,184,150,214,150,1,74,2,74,24,151,25,151,26,151,27,151,28,151,29,151,30,151,31,151,32,151,36,74,100,216,13,221,100,216,16,221,33,151,74,74,154,151,155,151,156,151,157,151,158,151,159,151,160,151,161,151,211,151,212,151,213,151,241,151,64,152,65,152,66,152,67,152,68,152,69,152,70,152,71,152,72,152,73,152,74,152,209,74,101,216,229,220,101,216,231,220,182,152,183,152,16,75,101,216,233,221,101,216,244,221,32,75,37,153,42,153,43,153,44,153,45,153,47,153,48,153,49,153,50,153,51,153,53,153,55,153,101,216,50,223,66,153,70,153,152,153,161,153,162,153,163,153,112,75,114,75,244,153,245,153,246,153,247,153,248,153,249,153,250,153,251,153,252,153,253,153,254,153,255,153,0,154,1,154,2,154,3,154,142,75,144,75,102,216,234,220,243,153,164,154,189,154,190,154,252,154,253,154,254,154,255,154,0,155,1,155,2,155,52,155,72,155,73,155,134,155,153,155,154,155,155,155,156,155,157,155,158,155,159,155,160,155,161,155,162,155,164,155,165,155,166,155,167,155,168,155,169,155,170,155,171,155,172,155,60,0,42,0,173,155,174,155,175,155,176,155,177,155,178,155,179,155,180,155,186,155,75,76,76,76,77,76,206,155,188,156,189,156,191,156,192,156,193,156,194,156,195,156,196,156,197,156,198,156,199,156,200,156,201,156,202,156,203,156,190,156,28,157,45,157,46,157,47,157,48,157,49,157,50,157,51,157,52,157,53,157,54,157,55,157,56,157,57,157,58,157,59,157,60,157,61,157,62,157,63,157,64,157,65,157,66,157,67,157,68,157,69,157,70,157,71,157,72,157,73,157,205,76,212,76,104,216,20,220,103,157,105,158,106,158,107,158,108,158,137,158,138,158,139,158,104,216,178,222,175,158,176,158,199,158,200,158,201,158,207,158,218,158,219,158,220,158,221,158,222,158,105,216,52,220,251,158,255,158,34,159,35,159,36,159,62,159,63,159,75,159,105,216,198,221,84,159,98,159,139,159,140,159,160,159,60,0,39,0,208,253,18,40,39,0,60,0,42,0,45,81,46,81,47,81,49,81,175,52,65,216,254,220,129,81,65,216,165,221,66,216,194,222,226,83,148,86,149,86,150,86,151,86,152,86,153,86,154,86,155,86,156,86,157,86,158,86,159,86,160,86,161,86,162,86,163,86,164,86,9,54,68,216,150,220,68,216,157,220,68,216,180,220,68,216,191,220,68,216,192,220,68,216,193,220,68,216,199,220,68,216,200,220,68,216,201,220,68,216,207,220,68,216,211,220,174,86,216,88,217,88,69,216,182,220,17,89,19,89,112,89,56,91,58,91,59,91,60,91,48,55,49,55,70,216,250,220,105,92,106,92,192,93,193,93,194,93,109,94,110,94,235,94,77,95,93,95,94,95,213,97,214,97,216,97,223,97,227,97,155,57,233,97,234,97,235,97,237,97,238,97,240,97,241,97,243,97,244,97,161,57,51,98,231,100,234,100,229,100,242,100,244,100,245,100,246,100,247,100,248,100,249,100,250,100,251,100,252,100,253,100,254,100,255,100,1,101,2,101,3,101,4,101,5,101,6,101,97,58,102,58,103,58,75,216,13,222,1,141,171,58,76,216,102,220,148,101,76,216,142,220,183,101,219,101,216,102,219,102,220,102,35,59,36,59,37,59,38,59,39,59,40,59,76,216,224,222,76,216,225,222,38,103,171,106,172,106,60,0,42,0,173,106,174,106,175,106,176,106,177,106,178,106,179,106,180,106,181,106,182,106,183,106,184,106,185,106,186,106,187,106,188,106,189,106,190,106,191,106,192,106,193,106,194,106,195,106,196,106,197,106,198,106,199,106,200,106,201,106,202,106,77,216,102,223,77,216,129,223,225,106,237,106,94,107,95,107,120,107,175,107,201,107,11,108,247,111,249,111,250,111,251,111,252,111,253,111,254,111,255,111,0,112,1,112,2,112,3,112,5,112,6,112,7,112,8,112,9,112,10,112,11,112,12,112,13,112,14,112,15,112,16,112,17,112,18,112,19,112,20,112,125,61,80,216,133,220,80,216,139,220,80,216,140,220,80,216,141,220,80,216,145,220,38,112,248,113,249,113,250,113,251,113,252,113,253,113,254,113,255,113,0,114,1,114,3,114,4,62,81,216,53,220,81,216,54,220,90,216,168,221,117,115,118,115,119,115,167,116,181,116,182,116,184,116,185,116,187,116,188,116,190,116,191,116,192,116,193,116,194,116,82,216,140,222,82,216,147,222,82,216,148,222,82,216,149,222,82,216,150,222,82,216,164,222,82,216,165,222,82,216,166,222,82,216,167,222,19,117,20,117,21,117,133,117,79,118,80,118,81,118,82,118,83,118,84,118,85,118,86,118,87,118,88,118,60,0,42,0,89,118,90,118,91,118,92,118,93,118,94,118,100,118,166,118,167,118,168,118,83,216,169,223,189,118,249,63,235,118,236,118,184,119,185,119,186,119,187,119,188,119,189,119,190,119,191,119,192,119,193,119,194,119,84,216,216,222,6,121,7,121,8,121,9,121,10,121,11,121,12,121,13,121,14,121,15,121,16,121,17,121,18,121,19,121,20,121,21,121,22,121,172,121,173,121,174,121,175,121,32,65,95,122,96,122,97,122,98,122,99,122,129,65,86,216,200,220,196,122,197,122,245,122,25,124,26,124,27,124,28,124,29,124,30,124,31,124,32,124,33,124,34,124,35,124,36,124,37,124,38,124,39,124,40,124,41,124,42,124,43,124,45,124,46,124,47,124,48,124,49,124,50,124,78,66,85,66,87,216,193,220,87,216,254,220,87,216,32,221,227,124,228,124,229,124,230,124,231,124,166,66,87,216,26,223,78,126,79,126,80,126,81,126,82,126,83,126,84,126,85,126,86,126,87,126,88,126,89,126,90,126,91,126,92,126,93,126,94,126,95,126,96,126,97,126,98,126,99,126,100,126,101,126,103,126,113,126,24,67,88,216,89,221,88,216,90,221,88,216,91,221,88,216,92,221,71,127,60,0,42,0,72,127,73,127,88,216,88,222,128,127,130,127,179,127,180,127,181,127,247,127,248,127,249,127,250,127,251,127,151,67,89,216,141,220,89,216,152,220,45,128,46,128,117,128,118,128,119,128,205,129,206,129,207,129,208,129,209,129,210,129,211,129,67,68,68,68,69,68,90,216,136,220,10,130,25,130,94,130,95,130,96,130,143,68,46,69,51,69,54,69,59,69,61,69,63,69,64,69,67,69,68,69,169,133,176,133,177,133,178,133,179,133,180,133,181,133,182,133,183,133,184,133,185,133,186,133,187,133,188,133,189,133,190,133,191,133,192,133,193,133,194,133,195,133,196,133,197,133,198,133,199,133,200,133,201,133,202,133,203,133,204,133,205,133,206,133,207,133,208,133,210,133,211,133,91,216,190,223,91,216,222,223,91,216,223,223,92,216,14,220,105,134,155,69,215,135,211,135,212,135,214,135,216,135,217,135,218,135,219,135,220,135,221,135,223,135,224,135,226,135,227,135,228,135,229,135,230,135,231,135,232,135,233,135,234,135,235,135,236,135,237,135,238,135,239,135,240,135,241,135,242,135,243,135,244,135,245,135,14,136,93,216,80,220,93,216,132,220,93,216,134,220,70,137,71,137,72,137,60,0,42,0,73,137,74,137,75,137,76,137,77,137,78,137,79,137,80,137,81,137,83,137,85,137,93,216,132,223,93,216,133,223,134,137,176,137,177,137,178,137,179,137,141,70,244,137,100,157,35,139,36,139,37,139,38,139,39,139,40,139,41,139,42,139,43,139,44,139,45,139,46,139,47,139,48,139,49,139,50,139,51,139,52,139,53,139,54,139,55,139,56,139,57,139,58,139,59,139,60,139,61,139,62,139,94,216,244,222,71,139,66,140,80,140,116,140,117,140,79,71,151,140,152,140,153,140,254,140,255,140,0,141,2,141,3,141,4,141,5,141,169,141,84,142,85,142,86,142,87,142,88,142,89,142,90,142,91,142,92,142,93,142,94,142,95,142,96,142,97,142,98,142,99,142,100,142,101,142,102,142,103,142,110,142,128,142,32,72,96,216,46,221,105,142,191,142,192,142,193,142,96,216,124,222,70,143,71,143,72,143,73,143,74,143,75,143,76,143,113,72,96,216,138,223,172,143,135,144,136,144,97,216,37,222,40,145,58,145,59,145,60,145,61,145,62,145,165,145,166,145,167,145,168,145,169,145,170,145,171,145,172,145,208,145,136,147,137,147,138,147,139,147,60,0,42,0,140,147,141,147,142,147,143,147,144,147,145,147,146,147,147,147,148,147,149,147,150,147,151,147,152,147,153,147,154,147,155,147,156,147,157,147,158,147,159,147,160,147,162,147,163,147,164,147,165,147,166,147,167,147,168,147,170,147,171,147,172,147,173,147,174,147,176,147,177,147,178,147,179,147,180,147,181,147,182,147,183,147,184,147,185,147,186,147,187,147,188,147,189,147,190,147,191,147,178,159,62,73,68,73,69,73,71,73,98,216,154,222,98,216,155,222,98,216,156,222,98,216,192,222,98,216,198,222,98,216,203,222,98,216,204,222,98,216,206,222,108,149,109,149,110,149,111,149,112,149,113,149,208,149,209,149,210,149,211,149,212,149,213,149,214,149,215,149,216,149,99,216,153,221,179,150,215,150,216,150,217,150,218,150,219,150,220,150,221,150,222,150,223,150,224,150,3,74,226,150,34,151,35,151,36,151,37,151,38,74,93,151,162,151,163,151,164,151,165,151,166,151,167,151,168,151,169,151,170,151,171,151,172,151,173,151,174,151,175,151,176,151,214,151,215,151,216,151,217,151,218,151,150,74,249,151,250,151,101,216,51,220,63,152,62,152,75,152,76,152,77,152,78,152,79,152,60,0,42,0,80,152,81,152,82,152,83,152,84,152,85,152,162,152,163,152,184,152,185,152,186,152,46,153,73,75,75,75,76,75,54,153,56,153,57,153,58,153,59,153,60,153,61,153,62,153,63,153,64,153,65,153,164,153,165,153,4,154,5,154,6,154,7,154,8,154,9,154,10,154,11,154,12,154,13,154,14,154,15,154,16,154,17,154,18,154,19,154,147,75,150,75,151,75,102,216,241,220,102,216,250,220,102,216,3,221,102,216,5,221,192,154,193,154,220,154,3,155,4,155,5,155,6,155,8,155,0,76,1,76,41,155,53,155,54,155,74,155,75,155,76,155,77,155,78,155,79,155,38,76,181,155,182,155,183,155,184,155,185,155,187,155,188,155,189,155,190,155,191,155,192,155,193,155,194,155,195,155,196,155,198,155,199,155,200,155,201,155,202,155,203,155,204,155,205,155,207,155,208,155,209,155,210,155,211,155,253,155,87,76,103,216,246,221,204,156,205,156,206,156,207,156,208,156,209,156,210,156,164,76,74,157,75,157,76,157,77,157,78,157,79,157,80,157,81,157,82,157,83,157,84,157,85,157,86,157,87,157,88,157,89,157,90,157,91,157,60,0,42,0,92,157,93,157,94,157,95,157,96,157,98,157,99,157,101,157,109,158,110,158,111,158,112,158,140,158,141,158,142,158,143,158,144,158,38,77,104,216,180,222,104,216,182,222,104,216,186,222,104,216,189,222,177,158,178,158,54,77,191,158,202,158,203,158,223,158,224,158,225,158,0,159,1,159,2,159,118,77,21,159,22,159,37,159,38,159,39,159,40,159,41,159,42,159,43,159,44,159,76,159,85,159,142,159,60,0,39,0,208,253,19,40,39,0,60,0,42,0,38,52,51,81,52,81,53,81,163,52,150,82,247,82,248,82,54,83,180,83,225,88,165,86,166,86,167,86,168,86,169,86,170,86,171,86,172,86,173,86,175,86,176,86,68,216,228,220,68,216,244,220,68,216,245,220,68,216,246,220,218,88,219,88,220,88,221,88,222,88,223,88,224,88,226,88,18,89,61,91,57,91,62,91,63,91,50,55,51,55,52,55,53,55,70,216,3,221,70,216,4,221,70,216,5,221,124,91,243,91,244,91,245,91,107,92,195,93,196,93,197,93,32,56,34,56,71,216,158,223,71,216,161,223,112,94,72,216,115,221,236,94,237,94,144,159,95,95,191,95,236,97,239,97,242,97,245,97,246,97,247,97,74,216,38,221,74,216,57,221,251,97,0,101,7,101,8,101,9,101,10,101,11,101,12,101,13,101,14,101,15,101,16,101,18,101,75,216,54,222,75,216,66,222,132,101,220,101,221,101,222,101,221,102,222,102,223,102,224,102,225,102,226,102,41,59,42,59,203,106,204,106,205,106,206,106,207,106,208,106,209,106,210,106,211,106,212,106,213,106,214,106,215,106,216,106,217,106,218,106,220,106,221,106,222,106,223,106,224,106,226,106,227,106,228,106,229,106,230,106,235,106,0,60,60,0,42,0,1,60,2,60,4,60,77,216,162,223,77,216,188,223,77,216,194,223,231,106,96,107,176,107,177,107,78,216,219,222,12,108,243,111,21,112,22,112,23,112,24,112,25,112,26,112,27,112,28,112,29,112,30,112,31,112,32,112,33,112,34,112,35,112,36,112,37,112,39,112,40,112,41,112,43,112,44,112,45,112,46,112,133,61,136,61,138,61,80,216,201,220,80,216,225,220,107,216,255,221,2,114,4,114,5,114,6,114,7,114,8,114,9,114,10,114,12,114,13,114,14,114,21,114,6,62,81,216,90,220,81,216,91,220,88,114,161,114,162,114,163,114,164,114,165,114,166,114,120,115,121,115,122,115,183,116,189,116,195,116,196,116,197,116,198,116,199,116,200,116,201,116,202,116,203,116,4,63,6,63,82,216,177,222,82,216,178,222,82,216,179,222,82,216,186,222,82,216,187,222,82,216,188,222,227,116,22,117,134,117,135,117,95,118,96,118,97,118,99,118,169,118,84,216,44,220,195,119,196,119,197,119,198,119,199,119,200,119,201,119,202,119,84,216,14,223,84,216,17,223,84,216,19,223,241,119,23,121,24,121,25,121,26,121,27,121,28,121,29,121,30,121,31,121,32,121,33,121,85,216,185,221,176,121,177,121,85,216,29,223,100,122,101,122,102,122,103,122,60,0,42,0,104,122,105,122,106,122,107,122,86,216,222,220,86,216,225,220,198,122,44,124,51,124,52,124,53,124,54,124,55,124,56,124,57,124,58,124,59,124,60,124,61,124,62,124,63,124,64,124,65,124,66,124,79,66,96,66,87,216,48,221,87,216,67,221,233,124,234,124,235,124,236,124,237,124,87,216,75,223,75,126,102,126,104,126,105,126,106,126,107,126,108,126,109,126,110,126,111,126,112,126,114,126,115,126,116,126,117,126,118,126,119,126,120,126,121,126,122,126,32,67,53,127,74,127,75,127,131,127,132,127,133,127,134,127,182,127,183,127,184,127,185,127,253,127,254,127,120,128,203,129,212,129,213,129,215,129,216,129,70,68,90,216,138,220,90,216,147,220,90,216,38,221,11,130,26,130,97,130,98,130,99,130,100,130,101,130,118,130,69,69,70,69,81,69,209,133,213,133,214,133,215,133,216,133,217,133,218,133,219,133,220,133,221,133,222,133,223,133,224,133,225,133,226,133,227,133,228,133,229,133,230,133,231,133,232,133,233,133,234,133,235,133,236,133,237,133,239,133,240,133,241,133,242,133,243,133,244,133,245,133,92,216,75,220,92,216,82,220,92,216,83,220,247,133,248,133,1,136,60,0,42,0,213,135,246,135,247,135,248,135,249,135,250,135,251,135,252,135,253,135,254,135,255,135,0,136,2,136,3,136,4,136,5,136,6,136,7,136,8,136,9,136,10,136,11,136,12,136,13,136,15,136,30,136,86,137,87,137,88,137,89,137,90,137,91,137,92,137,93,137,94,137,95,137,96,137,97,137,98,137,135,137,136,137,180,137,181,137,182,137,183,137,184,137,245,137,246,137,63,139,64,139,65,139,66,139,67,139,68,139,70,139,72,139,73,139,74,139,75,139,76,139,78,139,79,139,80,139,81,139,82,139,83,139,84,139,85,139,86,139,87,139,88,139,89,139,90,139,91,139,92,139,94,216,6,223,94,216,11,223,94,216,24,223,54,140,67,140,119,140,118,140,154,140,6,141,7,141,8,141,9,141,10,141,11,141,12,141,170,141,171,141,172,141,173,141,104,142,106,142,107,142,108,142,109,142,111,142,112,142,113,142,114,142,115,142,116,142,117,142,118,142,119,142,120,142,121,142,122,142,123,142,124,142,125,142,126,142,127,142,38,72,96,216,79,221,96,216,93,221,96,216,111,221,135,142,194,142,195,142,196,142,197,142,77,143,78,143,79,143,60,0,42,0,80,143,81,143,82,143,83,143,84,143,173,143,180,143,138,144,139,144,140,144,97,216,59,222,63,145,64,145,66,145,173,145,174,145,175,145,176,145,177,145,17,73,169,147,192,147,193,147,194,147,195,147,196,147,197,147,198,147,199,147,200,147,201,147,202,147,203,147,204,147,205,147,206,147,207,147,208,147,209,147,210,147,211,147,212,147,213,147,214,147,215,147,216,147,217,147,218,147,219,147,220,147,221,147,222,147,223,147,224,147,225,147,226,147,227,147,228,147,229,147,230,147,231,147,232,147,233,147,234,147,235,147,236,147,237,147,238,147,239,147,240,147,241,147,242,147,249,147,73,73,81,73,83,73,98,216,222,222,98,216,223,222,98,216,224,222,98,216,225,222,98,216,226,222,98,216,227,222,98,216,229,222,98,216,234,222,98,216,252,222,98,216,12,223,114,149,125,149,217,149,218,149,219,149,220,149,221,149,180,150,225,150,227,150,4,74,38,151,39,151,40,151,41,151,42,151,43,151,44,151,45,151,100,216,60,221,100,216,77,221,100,216,91,221,97,151,177,151,178,151,179,151,180,151,181,151,182,151,183,151,220,151,221,151,222,151,223,151,242,151,251,151,252,151,86,152,87,152,88,152,89,152,90,152,60,0,42,0,91,152,92,152,93,152,94,152,228,74,164,152,187,152,188,152,189,152,190,152,191,152,192,152,25,75,67,153,83,75,68,153,69,153,71,153,72,153,73,153,166,153,167,153,102,216,87,220,20,154,21,154,22,154,23,154,24,154,25,154,26,154,27,154,28,154,29,154,30,154,31,154,32,154,33,154,34,154,35,154,36,154,37,154,38,154,39,154,40,154,157,75,102,216,47,221,165,154,194,154,195,154,197,154,9,155,10,155,11,155,12,155,13,155,14,155,15,155,4,76,7,76,55,155,197,155,212,155,213,155,214,155,215,155,216,155,217,155,218,155,219,155,220,155,221,155,222,155,223,155,224,155,225,155,226,155,227,155,228,155,229,155,230,155,231,155,232,155,233,155,234,155,235,155,236,155,237,155,238,155,239,155,240,155,241,155,242,155,243,155,244,155,245,155,91,76,103,216,6,222,103,216,45,222,250,155,211,156,212,156,213,156,214,156,215,156,216,156,217,156,218,156,219,156,97,157,102,157,104,157,105,157,106,157,107,157,108,157,109,157,110,157,111,157,112,157,113,157,114,157,115,157,116,157,117,157,118,157,119,157,120,157,121,157,60,0,42,0,122,157,123,157,124,157,125,157,126,157,127,157,128,157,129,157,130,157,131,157,132,157,133,157,134,157,135,157,136,157,137,157,138,157,139,157,140,157,141,157,142,157,143,157,145,157,225,76,226,76,104,216,135,220,113,158,114,158,120,158,145,158,146,158,147,158,148,158,149,158,150,158,151,158,179,158,180,158,192,158,76,77,226,158,227,158,252,158,3,159,4,159,119,77,23,159,45,159,64,159,65,159,77,159,86,159,87,159,88,159,143,159,105,216,169,222,60,0,39,0,208,253,20,40,39,0,60,0,42,0,54,81,165,52,55,83,177,86,178,86,179,86,180,86,181,86,182,86,183,86,184,86,185,86,68,216,47,221,188,86,37,54,227,88,228,88,229,88,69,216,232,220,64,91,65,91,66,91,67,91,68,91,69,91,70,91,54,55,55,55,56,55,70,216,16,221,70,216,17,221,70,216,18,221,70,216,21,221,125,91,126,91,246,91,198,93,199,93,200,93,201,93,202,93,204,93,113,94,72,216,122,221,238,94,239,94,240,94,192,95,193,95,248,97,164,57,249,97,250,97,74,216,79,221,19,101,20,101,21,101,22,101,23,101,24,101,25,101,26,101,112,58,133,101,134,101,223,101,227,102,228,102,229,102,230,102,231,102,232,102,43,59,76,216,0,223,39,103,232,106,233,106,234,106,236,106,238,106,239,106,240,106,241,106,242,106,243,106,244,106,245,106,246,106,9,60,10,60,13,60,17,60,77,216,213,223,77,216,214,223,77,216,215,223,249,106,42,112,47,112,48,112,49,112,50,112,51,112,52,112,53,112,54,112,55,112,56,112,57,112,58,112,59,112,60,112,61,112,62,112,63,112,64,112,65,112,143,61,145,61,80,216,236,220,80,216,4,221,66,112,11,114,15,114,16,114,17,114,18,114,19,114,20,114,60,0,42,0,22,114,23,114,24,114,10,62,81,216,115,220,81,216,135,220,81,216,136,220,167,114,168,114,81,216,6,223,123,115,124,115,125,115,186,116,204,116,205,116,206,116,207,116,208,116,209,116,210,116,7,63,82,216,192,222,82,216,199,222,136,117,137,117,98,118,101,118,102,118,170,118,171,118,190,118,250,63,237,118,203,119,204,119,205,119,206,119,207,119,242,119,34,121,35,121,36,121,37,121,38,121,39,121,40,121,41,121,42,121,43,121,44,121,178,121,108,122,109,122,110,122,111,122,199,122,246,122,247,122,67,124,68,124,69,124,70,124,71,124,72,124,73,124,74,124,75,124,76,124,77,124,78,124,79,124,85,124,238,124,239,124,240,124,174,66,123,126,124,126,125,126,126,126,127,126,128,126,129,126,130,126,131,126,38,67,88,216,173,221,88,216,174,221,88,216,178,221,76,127,88,216,53,223,186,127,255,127,0,128,47,128,121,128,122,128,123,128,124,128,214,129,217,129,218,129,219,129,220,129,90,216,181,221,102,130,103,130,104,130,105,130,36,134,82,69,84,69,85,69,87,69,88,69,92,69,238,133,246,133,249,133,250,133,251,133,252,133,253,133,254,133,255,133,0,134,1,134,60,0,42,0,2,134,3,134,4,134,5,134,6,134,7,134,8,134,9,134,10,134,11,134,12,134,13,134,14,134,15,134,16,134,17,134,19,134,20,134,34,134,92,216,136,220,92,216,173,220,92,216,174,220,92,216,175,220,18,134,27,134,48,134,16,136,17,136,18,136,19,136,20,136,21,136,22,136,23,136,24,136,25,136,0,70,1,70,99,137,100,137,101,137,102,137,103,137,104,137,185,137,186,137,187,137,247,137,248,137,249,137,77,139,93,139,94,139,95,139,96,139,97,139,98,139,99,139,100,139,101,139,102,139,103,139,104,139,105,139,106,139,107,139,108,139,109,139,110,139,111,139,112,139,113,139,114,139,19,71,24,71,94,216,56,223,94,216,57,223,94,216,58,223,81,140,95,216,18,220,13,141,14,141,15,141,174,141,129,142,130,142,131,142,132,142,133,142,134,142,136,142,137,142,96,216,137,221,198,142,85,143,86,143,87,143,88,143,89,143,90,143,174,143,141,144,65,145,67,145,178,145,179,145,180,145,181,145,182,145,183,145,184,145,203,145,243,147,245,147,246,147,247,147,248,147,250,147,251,147,252,147,253,147,254,147,255,147,0,148,1,148,2,148,3,148,4,148,60,0,42,0,5,148,6,148,7,148,8,148,9,148,10,148,11,148,12,148,13,148,14,148,15,148,16,148,17,148,18,148,19,148,20,148,21,148,22,148,23,148,24,148,25,148,26,148,27,148,28,148,29,148,30,148,31,148,32,148,33,148,34,148,35,148,36,148,37,148,38,148,39,148,40,148,98,216,19,223,98,216,33,223,98,216,34,223,98,216,43,223,98,216,44,223,98,216,45,223,98,216,47,223,98,216,70,223,98,216,76,223,98,216,78,223,98,216,80,223,47,148,60,148,115,149,116,149,222,149,223,149,224,149,225,149,99,216,185,221,181,150,46,151,47,151,48,151,49,151,51,151,52,151,100,216,94,221,100,216,112,221,75,74,184,151,185,151,186,151,187,151,219,151,224,151,253,151,254,151,255,151,95,152,96,152,97,152,98,152,99,152,165,152,193,152,194,152,195,152,196,152,74,153,75,153,76,153,77,153,78,153,80,153,81,153,82,153,83,153,89,153,168,153,41,154,42,154,43,154,44,154,45,154,46,154,47,154,48,154,49,154,50,154,51,154,52,154,53,154,54,154,55,154,56,154,102,216,69,221,102,216,71,221,102,216,72,221,102,216,73,221,102,216,93,221,102,216,106,221,166,154,167,154,196,154,198,154,199,154,200,154,201,154,202,154,203,154,204,154,60,0,42,0,16,155,17,155,18,155,19,155,42,155,56,155,80,155,251,155,246,155,247,155,248,155,249,155,252,155,254,155,255,155,0,156,1,156,2,156,3,156,4,156,5,156,6,156,7,156,8,156,9,156,10,156,11,156,12,156,13,156,14,156,15,156,16,156,17,156,18,156,19,156,20,156,21,156,22,156,23,156,24,156,25,156,26,156,27,156,32,156,109,76,103,216,104,222,64,156,220,156,221,156,222,156,223,156,144,157,146,157,147,157,148,157,149,157,150,157,151,157,152,157,153,157,154,157,155,157,156,157,157,157,158,157,159,157,160,157,161,157,162,157,163,157,164,157,165,157,166,157,167,157,168,157,169,157,170,157,171,157,237,76,104,216,185,220,104,216,225,220,104,216,237,220,104,216,243,220,104,216,248,220,191,157,121,158,152,158,153,158,154,158,155,158,181,158,104,216,81,223,193,158,104,216,169,223,77,77,228,158,229,158,230,158,231,158,232,158,233,158,234,158,105,216,91,220,13,159,46,159,47,159,48,159,105,216,203,221,89,159,90,159,91,159,93,159,94,159,95,159,96,159,97,159,99,159,145,159,60,0,39,0,208,253,21,40,39,0,60,0,42,0,55,81,56,81,57,81,58,81,167,52,100,81,151,82,152,82,66,216,44,220,91,83,186,86,187,86,189,86,190,86,191,86,192,86,193,86,194,86,195,86,196,86,205,86,68,216,59,221,68,216,61,221,68,216,69,221,68,216,72,221,68,216,79,221,230,88,69,216,253,220,20,89,71,91,72,91,73,91,57,55,70,216,28,221,247,91,108,92,203,93,205,93,207,93,208,93,38,56,241,94,194,95,252,97,253,97,254,97,17,101,27,101,28,101,29,101,75,216,120,222,149,101,233,102,76,216,10,223,7,103,248,106,250,106,251,106,252,106,253,106,254,106,255,106,0,107,1,107,2,107,3,107,4,107,5,107,12,107,21,60,178,107,67,112,68,112,69,112,70,112,71,112,72,112,73,112,74,112,75,112,76,112,77,112,79,112,80,112,80,216,15,221,80,216,25,221,25,114,26,114,27,114,13,62,81,216,185,220,29,114,126,115,211,116,212,116,214,116,82,216,202,222,82,216,209,222,23,117,103,118,104,118,105,118,106,118,107,118,215,63,172,118,83,216,184,223,208,119,209,119,210,119,211,119,45,121,46,121,47,121,48,121,49,121,50,121,51,121,52,121,85,216,213,221,85,216,219,221,85,216,37,223,86,216,3,221,195,122,200,122,201,122,86,124,80,124,60,0,42,0,81,124,82,124,83,124,84,124,106,66,87,216,153,221,242,124,132,126,133,126,134,126,135,126,136,126,137,126,138,126,139,126,140,126,141,126,142,126,143,126,144,126,77,127,187,127,188,127,154,67,48,128,221,129,106,130,212,133,97,69,98,69,21,134,22,134,23,134,24,134,25,134,26,134,28,134,29,134,30,134,31,134,32,134,33,134,35,134,37,134,38,134,39,134,40,134,41,134,42,134,43,134,45,134,46,134,47,134,92,216,205,220,92,216,210,220,92,216,248,220,92,216,9,221,92,216,12,221,26,136,27,136,28,136,29,136,31,136,32,136,33,136,34,136,35,136,36,136,2,70,3,70,41,136,43,136,74,136,105,137,106,137,107,137,108,137,109,137,110,137,188,137,189,137,250,137,69,139,115,139,116,139,117,139,118,139,119,139,120,139,121,139,122,139,123,139,124,139,125,139,94,216,72,223,16,141,17,141,18,141,19,141,20,141,99,141,175,141,176,141,138,142,139,142,140,142,141,142,142,142,143,142,96,216,175,221,96,216,188,221,199,142,91,143,92,143,93,143,94,143,95,143,175,143,142,144,68,145,69,145,70,145,185,145,186,145,187,145,244,147,41,148,42,148,60,0,42,0,43,148,44,148,45,148,46,148,48,148,49,148,50,148,51,148,52,148,53,148,54,148,55,148,56,148,57,148,58,148,59,148,61,148,62,148,63,148,64,148,65,148,101,73,98,216,99,223,98,216,100,223,98,216,101,223,98,216,102,223,98,216,108,223,98,216,143,223,226,149,227,149,228,149,229,149,230,149,228,150,50,151,53,151,54,151,55,151,56,151,57,151,58,151,59,151,103,151,188,151,189,151,190,151,191,151,225,151,226,151,164,74,101,216,63,220,100,152,101,152,102,152,103,152,104,152,166,152,197,152,198,152,199,152,200,152,201,152,202,152,220,152,79,153,86,153,87,153,88,153,169,153,57,154,58,154,59,154,60,154,61,154,62,154,63,154,64,154,65,154,66,154,67,154,68,154,69,154,70,154,71,154,173,159,205,154,206,154,207,154,20,155,21,155,22,155,23,155,24,155,57,155,58,155,81,155,82,155,83,155,84,155,28,156,29,156,30,156,31,156,33,156,34,156,35,156,36,156,37,156,38,156,39,156,40,156,41,156,42,156,43,156,44,156,45,156,46,156,47,156,48,156,119,76,123,76,125,76,103,216,172,222,163,76,224,156,225,156,226,156,227,156,60,0,42,0,172,157,173,157,174,157,175,157,176,157,177,157,178,157,179,157,180,157,181,157,182,157,183,157,184,157,185,157,186,157,187,157,188,157,189,157,190,157,192,157,193,157,194,157,195,157,196,157,197,157,198,157,199,157,200,157,201,157,202,157,204,157,205,157,206,157,207,157,104,216,254,220,104,216,7,221,104,216,35,221,122,158,123,158,156,158,157,158,78,77,235,158,236,158,237,158,238,158,239,158,5,159,24,159,25,159,26,159,27,159,49,159,78,159,92,159,100,159,101,159,102,159,103,159,104,159,105,159,105,216,1,222,146,159,157,159,161,159,60,0,39,0,208,253,22,40,39,0,60,0,42,0,185,78,59,81,60,81,65,216,101,220,66,216,121,221,197,86,198,86,199,86,200,86,201,86,202,86,203,86,206,86,24,54,29,87,113,89,74,91,75,91,76,91,58,55,70,216,34,221,70,216,39,221,127,91,206,93,209,93,210,93,211,93,212,93,213,93,215,93,242,94,78,95,114,95,255,97,2,98,74,216,103,221,74,216,107,221,53,98,30,101,31,101,32,101,33,101,34,101,36,101,38,101,39,101,75,216,139,222,76,216,51,220,44,59,45,59,247,106,6,107,7,107,8,107,9,107,10,107,11,107,13,107,14,107,24,60,97,107,13,108,81,112,82,112,84,112,85,112,86,112,87,112,88,112,80,216,63,221,80,216,64,221,80,216,68,221,28,114,30,114,31,114,32,114,169,114,127,115,128,115,213,116,215,116,216,116,217,116,228,116,138,117,108,118,109,118,110,118,83,216,14,223,173,118,53,121,248,64,85,216,224,221,179,121,180,121,112,122,113,122,202,122,248,122,87,124,88,124,89,124,90,124,91,124,92,124,93,124,95,124,96,124,97,124,87,216,185,221,241,124,244,124,145,126,146,126,43,67,88,216,221,221,78,127,79,127,88,216,97,222,135,127,49,128,50,128,125,128,126,128,222,129,223,129,90,216,250,221,107,130,60,0,42,0,103,69,106,69,109,69,44,134,50,134,51,134,52,134,53,134,54,134,55,134,92,216,13,221,92,216,38,221,92,216,39,221,37,136,38,136,39,136,40,136,42,136,44,136,6,70,111,137,112,137,113,137,114,137,190,137,191,137,94,216,157,220,251,137,252,137,126,139,127,139,128,139,129,139,130,139,131,139,132,139,133,139,32,71,94,216,101,223,134,139,68,140,21,141,22,141,23,141,24,141,144,142,145,142,146,142,147,142,148,142,149,142,150,142,151,142,154,142,96,143,97,143,98,143,71,145,72,145,66,148,67,148,68,148,69,148,70,148,71,148,72,148,73,148,74,148,75,148,76,148,77,148,78,148,79,148,80,148,81,148,82,148,83,148,84,148,103,148,106,73,109,73,98,216,153,223,98,216,156,223,98,216,157,223,117,149,118,149,126,149,231,149,60,151,61,151,62,151,63,151,64,151,100,216,156,221,192,151,193,151,194,151,195,151,227,151,105,152,106,152,107,152,203,152,84,153,85,153,90,153,91,153,101,216,212,223,72,154,73,154,74,154,75,154,76,154,77,154,78,154,79,154,80,154,81,154,82,154,83,154,84,154,85,154,102,216,157,221,208,154,210,154,221,154,29,155,25,155,60,0,42,0,26,155,27,155,28,155,14,76,102,216,213,223,43,155,59,155,85,155,86,155,49,156,50,156,51,156,52,156,53,156,54,156,55,156,56,156,57,156,58,156,59,156,60,156,61,156,62,156,63,156,65,156,66,156,67,156,68,156,69,156,70,156,71,156,72,156,224,157,129,76,133,76,103,216,176,222,103,216,195,222,73,156,228,156,203,157,208,157,209,157,210,157,211,157,212,157,213,157,214,157,215,157,216,157,217,157,218,157,219,157,220,157,221,157,222,157,223,157,104,216,51,221,104,216,52,221,104,216,80,221,233,157,245,157,115,158,116,158,158,158,104,216,223,222,182,158,208,158,240,158,241,158,50,159,51,159,52,159,53,159,66,159,106,159,107,159,108,159,156,77,147,159,148,159,149,159,162,159,60,0,39,0,208,253,23,40,39,0,60,0,42,0,61,81,153,82,154,82,66,216,205,222,204,86,207,86,208,86,26,54,231,88,232,88,69,216,130,221,114,89,77,91,214,93,216,93,218,93,79,95,0,98,1,98,3,98,4,98,35,101,37,101,40,101,41,101,42,101,43,101,119,58,150,101,234,102,235,102,236,102,46,59,15,107,16,107,17,107,18,107,78,216,58,220,202,107,83,112,89,112,90,112,91,112,92,112,80,216,78,221,80,216,85,221,80,216,86,221,80,216,87,221,80,216,92,221,80,216,95,221,33,114,34,114,81,216,188,220,81,216,206,220,81,216,211,220,81,216,214,220,129,115,130,115,131,115,218,116,82,216,223,222,111,118,112,118,212,119,54,121,55,121,181,121,94,124,98,124,99,124,100,124,101,124,102,124,103,124,104,124,116,66,245,124,147,126,148,126,149,126,150,126,226,129,90,216,199,220,108,130,119,69,49,134,56,134,57,134,58,134,59,134,60,134,61,134,62,134,63,134,64,134,65,134,92,216,27,222,52,136,45,136,46,136,47,136,48,136,49,136,50,136,51,136,115,137,116,137,118,137,137,137,253,137,254,137,135,139,136,139,137,139,138,139,139,139,140,139,141,139,142,139,143,139,144,139,69,140,25,141,26,141,177,141,152,142,153,142,155,142,60,0,42,0,156,142,96,216,155,222,99,143,100,143,143,144,144,144,188,145,85,148,86,148,87,148,88,148,89,148,90,148,91,148,92,148,93,148,94,148,95,148,96,148,97,148,98,148,99,148,100,148,101,148,102,148,114,73,98,216,185,223,98,216,194,223,98,216,197,223,98,216,212,223,98,216,215,223,98,216,217,223,98,216,218,223,65,151,53,74,100,216,168,221,104,151,196,151,197,151,0,152,108,152,109,152,110,152,111,152,167,152,92,153,170,153,86,154,87,154,88,154,89,154,90,154,91,154,92,154,209,154,211,154,212,154,222,154,30,155,31,155,32,155,74,156,75,156,76,156,77,156,78,156,79,156,80,156,81,156,82,156,83,156,84,156,85,156,86,156,87,156,88,156,89,156,90,156,91,156,103,216,248,222,106,156,225,157,226,157,227,157,228,157,229,157,230,157,231,157,232,157,234,157,235,157,236,157,237,157,238,157,239,157,240,157,241,157,242,157,243,157,244,157,246,157,247,157,248,157,251,157,252,157,0,77,104,216,146,221,104,216,147,221,104,216,171,221,159,158,194,158,242,158,243,158,244,158,6,159,7,159,28,159,54,159,55,159,56,159,57,159,137,77,67,159,68,159,79,159,109,159,110,159,111,159,60,0,42,0,112,159,113,159,105,216,50,222,60,0,39,0,208,253,24,40,39,0,60,0,42,0,62,81,65,216,215,220,209,86,210,86,211,86,68,216,128,221,233,88,129,54,78,91,79,91,109,92,217,93,74,216,128,221,44,101,45,101,237,102,238,102,19,107,20,107,21,107,93,112,94,112,95,112,96,112,97,112,80,216,97,221,35,114,219,116,229,116,113,118,114,118,83,216,194,223,213,119,215,119,214,119,56,121,250,64,182,121,183,121,115,122,114,122,106,124,118,66,151,126,80,127,136,127,137,127,109,130,119,130,120,69,67,134,69,134,92,216,100,221,92,216,101,221,53,136,54,136,55,136,56,136,57,136,58,136,75,136,98,136,117,137,119,137,93,216,204,223,145,139,146,139,147,139,148,139,149,139,150,139,27,141,157,142,158,142,159,142,160,142,200,142,189,145,190,145,191,145,192,145,194,145,104,148,105,148,106,148,107,148,108,148,98,216,231,223,98,216,232,223,98,216,233,223,98,216,234,223,98,216,235,223,98,216,236,223,98,216,245,223,229,150,230,150,66,151,67,151,68,151,69,151,70,151,71,151,72,151,198,151,199,151,200,151,228,151,229,151,101,216,72,220,112,152,93,153,93,154,94,154,95,154,213,154,33,155,34,155,44,155,45,155,87,155,88,155,89,155,103,216,62,221,92,156,93,156,94,156,95,156,96,156,60,0,42,0,97,156,98,156,99,156,100,156,101,156,102,156,103,156,105,156,107,156,103,216,35,223,112,156,250,157,249,157,253,157,254,157,255,157,0,158,1,158,2,158,3,158,4,158,5,158,6,158,7,158,8,158,9,158,10,158,7,77,9,77,104,216,180,221,104,216,181,221,124,158,125,158,160,158,30,159,69,159,70,159,114,159,115,159,116,159,117,159,118,159,119,159,60,0,39,0,208,253,25,40,39,0,60,0,42,0,212,86,213,86,68,216,135,221,234,88,243,94,5,98,6,98,46,101,184,101,239,102,47,59,22,107,23,107,24,107,25,107,26,107,27,107,29,107,98,112,99,112,36,114,37,114,38,114,170,114,83,216,6,221,216,119,217,119,225,119,57,121,105,124,107,124,108,124,109,124,110,124,246,124,152,126,153,126,154,126,155,126,224,129,225,129,66,134,70,134,71,134,72,134,73,134,59,136,93,216,116,221,120,137,121,137,122,137,123,137,124,137,138,137,192,137,255,137,151,139,152,139,153,139,82,140,68,71,155,140,28,141,95,216,77,222,161,142,162,142,163,142,164,142,165,142,193,145,109,148,110,148,111,148,112,148,113,148,114,148,115,148,98,216,255,223,99,216,3,220,73,151,113,152,114,152,94,153,95,153,149,153,189,75,102,216,195,221,102,216,201,221,214,154,35,155,104,156,108,156,109,156,110,156,111,156,103,216,48,223,11,158,12,158,13,158,14,158,15,158,16,158,17,158,18,158,104,216,223,221,161,158,204,158,245,158,8,159,9,159,29,159,31,159,71,159,120,159,121,159,122,159,123,159,105,216,74,222,163,159,60,0,39,0,208,253,26,40,39,0,60,0,42,0,54,53,30,87,59,55,96,95,28,107,14,108,78,112,100,112,102,112,82,216,226,222,115,118,218,119,111,124,112,124,87,216,14,222,243,124,68,134,106,134,60,136,154,139,155,139,95,216,79,222,178,141,166,142,167,142,195,145,196,145,116,148,117,148,118,148,119,148,120,148,121,148,122,148,99,216,9,220,99,216,28,220,99,216,29,220,74,151,201,151,96,154,97,154,98,154,99,154,190,75,101,154,215,154,113,156,114,156,115,156,116,156,117,156,118,156,19,158,20,158,104,216,245,221,246,158,10,159,105,216,91,222,164,159,165,159,60,0,39,0,208,253,27,40,39,0,60,0,42,0,78,216,26,223,101,112,103,112,104,112,80,216,119,221,80,216,122,221,171,114,247,124,156,126,157,126,74,134,61,136,62,136,63,136,125,137,156,139,157,139,158,139,83,140,156,140,169,142,170,142,201,142,101,143,197,145,123,148,124,148,125,148,126,148,99,216,35,220,99,216,38,220,75,151,76,151,77,151,78,151,115,152,116,152,204,152,205,152,221,152,96,153,97,153,171,153,100,154,102,154,103,154,174,159,36,155,46,155,48,155,119,156,120,156,21,158,22,158,23,158,247,158,72,159,60,0,39,0,208,253,28,40,39,0,60,0,42,0,214,86,7,98,75,216,179,222,76,216,31,223,30,107,31,107,39,114,82,216,233,222,116,118,220,63,92,216,117,221,76,134,84,140,168,142,96,216,7,222,127,148,128,148,129,148,130,148,99,216,43,220,99,216,48,220,231,150,104,154,105,154,192,75,24,158,25,158,26,158,104,216,32,222,162,158,248,158,58,159,124,159,125,159,158,159,60,0,39,0,208,253,29,40,39,0,60,0,42,0,40,114,86,216,84,222,158,126,75,134,159,139,131,148,132,148,121,73,79,151,106,154,49,155,121,156,27,158,28,158,183,158,60,0,39,0,208,253,30,40,39,0,60,0,42,0,181,83,117,118,144,65,113,124,133,69,99,216,57,220,202,151,98,153,107,154,103,216,115,220,122,156,29,158,30,158,104,216,51,222,145,77,60,0,39,0,208,253,31,40,39,0,60,0,42,0,105,112,93,216,163,221,98,216,13,221,16,77,163,158,60,0,39,0,208,253,32,40,39,0,60,0,42,0,106,112,114,124,99,216,59,220,150,159,60,0,39,0,208,253,33,40,39,0,60,0,42,0,70,216,59,221,41,114,123,156,164,158,151,159,60,0,39,0,208,253,35,40,39,0,60,0,42,0,126,159,60,0,39,0,208,253,36,40,39,0,60,0,42,0,73,159,60,0,39,0,208,253,39,40,39,0,60,0,42,0,80,151,60,0,39,0,208,253,48,40,39,0,60,0,42,0,152,159,38,0,39,0,40,0,0,78,41,0,39,0,60,0,60,0,60,0,32,50,38,0,39,0,40,0,3,78,41,0,39,0,60,0,60,0,60,0,38,50,38,0,39,0,40,0,9,78,41,0,39,0,60,0,60,0,60,0,34,50,38,0,39,0,40,0,93,78,41,0,39,0,60,0,60,0,60,0,40,50,38,0,39,0,40,0,140,78,41,0,39,0,60,0,60,0,60,0,33,50,38,0,39,0,40,0,148,78,41,0,39,0,60,0,60,0,60,0,36,50,38,0,39,0,40,0,227,78,41,0,39,0,60,0,60,0,60,0,57,50,38,0,39,0,40,0,1,79,41,0,39,0,60,0,60,0,60,0,61,50,38,0,39,0,40,0,17,79,41,0,39,0,60,0,60,0,60,0,65,50,38,0,39,0,40,0,107,81,41,0,39,0,60,0,60,0,60,0,39,50,38,0,39,0,40,0,109,81,41,0,39,0,60,0,60,0,60,0,37,50,38,0,39,0,40,0,180,82,41,0,39,0,60,0,60,0,60,0,56,50,38,0,39,0,40,0,65,83,41,0,39,0,60,0,60,0,60,0,41,50,38,0,39,0,40,0,84,83,41,0,39,0,60,0,60,0,60,0,63,50,38,0,39,0,40,0,13,84,41,0,39,0,60,0,60,0,60,0,52,50,38,0,39,0,40,0,124,84,41,0,39,0,60,0,60,0,60,0,58,50,38,0,39,0,40,0,219,86,41,0,39,0,60,0,60,0,60,0,35,50,38,0,39,0,40,0,31,87,41,0,39,0,60,0,60,0,60,0,47,50,38,0,39,0,40,0,102,91,41,0,39,0,60,0,60,0,60,0,59,50,38,0,39,0,40,0,229,101,41,0,39,0,60,0,60,0,60,0,48,50,38,0,39,0,40,0,8,103,41,0,39,0,60,0,60,0,60,0,42,50,38,0,39,0,40,0,9,103,41,0,39,0,60,0,60,0,60,0,50,50,38,0,39,0,40,0,40,103,41,0,39,0,60,0,60,0,60,0,45,50,38,0,39,0,40,0,42,104,41,0,39,0,60,0,60,0,60,0,49,50,38,0,39,0,40,0,52,108,41,0,39,0,60,0,60,0,60,0,44,50,38,0,39,0,40,0,107,112,41,0,39,0,60,0,60,0,60,0,43,50,38,0,39,0,40,0,121,114,41,0,39,0,60,0,60,0,60,0,53,50,38,0,39,0,40,0,227,118,41,0,39,0,60,0,60,0,60,0,60,50,38,0,39,0,40,0,62,121,41,0,39,0,60,0,60,0,60,0,51,50,38,0,39,0,40,0,93,121,41,0,39,0,60,0,60,0,60,0,55,50,38,0,39,0,40,0,109,121,41,0,39,0,60,0,60,0,60,0,64,50,38,0,39,0,40,0,234,129,41,0,39,0,60,0,60,0,60,0,66,50,38,0,39,0,40,0,243,129,41,0,39,0,60,0,60,0,60,0,67,50,38,0,39,0,40,0,161,140,41,0,39,0,60,0,60,0,60,0,54,50,38,0,39,0,40,0,199,140,41,0,39,0,60,0,60,0,60,0,62,50,38,0,39,0,40,0,209,145,41,0,39,0,60,0,60,0,60,0,46,50,38,0,48,0,185,112,60,0,60,0,60,0,88,51,38,0,49,0,48,0,229,101,60,0,60,0,60,0,233,51,38,0,49,0,48,0,8,103,60,0,60,0,60,0,201,50,38,0,49,0,48,0,185,112,60,0,60,0,60,0,98,51,38,0,49,0,49,0,229,101,60,0,60,0,60,0,234,51,38,0,49,0,49,0,8,103,60,0,60,0,60,0,202,50,38,0,49,0,49,0,185,112,60,0,60,0,60,0,99,51,38,0,49,0,50,0,229,101,60,0,60,0,60,0,235,51,38,0,49,0,50,0,8,103,60,0,60,0,60,0,203,50,38,0,49,0,50,0,185,112,60,0,60,0,60,0,100,51,38,0,49,0,51,0,229,101,60,0,60,0,60,0,236,51,38,0,49,0,51,0,185,112,60,0,60,0,60,0,101,51,38,0,49,0,52,0,229,101,60,0,60,0,60,0,237,51,38,0,49,0,52,0,185,112,60,0,60,0,60,0,102,51,38,0,49,0,53,0,229,101,60,0,60,0,60,0,238,51,38,0,49,0,53,0,185,112,60,0,60,0,60,0,103,51,38,0,49,0,54,0,229,101,60,0,60,0,60,0,239,51,38,0,49,0,54,0,185,112,60,0,60,0,60,0,104,51,38,0,49,0,55,0,229,101,60,0,60,0,60,0,240,51,38,0,49,0,55,0,185,112,60,0,60,0,60,0,105,51,38,0,49,0,56,0,229,101,60,0,60,0,60,0,241,51,38,0,49,0,56,0,185,112,60,0,60,0,60,0,106,51,38,0,49,0,57,0,229,101,60,0,60,0,60,0,242,51,38,0,49,0,57,0,185,112,60,0,60,0,60,0,107,51,38,0,49,0,229,101,60,0,60,0,60,0,224,51,38,0,49,0,8,103,60,0,60,0,60,0,192,50,38,0,49,0,185,112,60,0,60,0,60,0,89,51,38,0,50,0,48,0,229,101,60,0,60,0,60,0,243,51,38,0,50,0,48,0,185,112,60,0,60,0,60,0,108,51,38,0,50,0,49,0,229,101,60,0,60,0,60,0,244,51,38,0,50,0,49,0,185,112,60,0,60,0,60,0,109,51,38,0,50,0,50,0,229,101,60,0,60,0,60,0,245,51,38,0,50,0,50,0,185,112,60,0,60,0,60,0,110,51,38,0,50,0,51,0,229,101,60,0,60,0,60,0,246,51,38,0,50,0,51,0,185,112,60,0,60,0,60,0,111,51,38,0,50,0,52,0,229,101,60,0,60,0,60,0,247,51,38,0,50,0,52,0,185,112,60,0,60,0,60,0,112,51,38,0,50,0,53,0,229,101,60,0,60,0,60,0,248,51,38,0,50,0,54,0,229,101,60,0,60,0,60,0,249,51,38,0,50,0,55,0,229,101,60,0,60,0,60,0,250,51,38,0,50,0,56,0,229,101,60,0,60,0,60,0,251,51,38,0,50,0,57,0,229,101,60,0,60,0,60,0,252,51,38,0,50,0,229,101,60,0,60,0,60,0,225,51,38,0,50,0,8,103,60,0,60,0,60,0,193,50,38,0,50,0,185,112,60,0,60,0,60,0,90,51,38,0,51,0,48,0,229,101,60,0,60,0,60,0,253,51,38,0,51,0,49,0,229,101,60,0,60,0,60,0,254,51,38,0,51,0,229,101,60,0,60,0,60,0,226,51,38,0,51,0,8,103,60,0,60,0,60,0,194,50,38,0,51,0,185,112,60,0,60,0,60,0,91,51,38,0,52,0,229,101,60,0,60,0,60,0,227,51,38,0,52,0,8,103,60,0,60,0,60,0,195,50,38,0,52,0,185,112,60,0,60,0,60,0,92,51,38,0,53,0,229,101,60,0,60,0,60,0,228,51,38,0,53,0,8,103,60,0,60,0,60,0,196,50,38,0,53,0,185,112,60,0,60,0,60,0,93,51,38,0,54,0,229,101,60,0,60,0,60,0,229,51,38,0,54,0,8,103,60,0,60,0,60,0,197,50,38,0,54,0,185,112,60,0,60,0,60,0,94,51,38,0,55,0,229,101,60,0,60,0,60,0,230,51,38,0,55,0,8,103,60,0,60,0,60,0,198,50,38,0,55,0,185,112,60,0,60,0,60,0,95,51,38,0,56,0,229,101,60,0,60,0,60,0,231,51,38,0,56,0,8,103,60,0,60,0,60,0,199,50,38,0,56,0,185,112,60,0,60,0,60,0,96,51,38,0,57,0,229,101,60,0,60,0,60,0,232,51,38,0,57,0,8,103,60,0,60,0,60,0,200,50,38,0,57,0,185,112,60,0,60,0,60,0,97,51,38,0,39,0,20,48,9,78,21,48,39,0,60,0,60,0,60,0,60,216,65,222,38,0,39,0,20,48,140,78,21,48,39,0,60,0,60,0,60,0,60,216,66,222,38,0,39,0,20,48,221,82,21,48,39,0,60,0,60,0,60,0,60,216,71,222,38,0,39,0,20,48,137,91,21,48,39,0,60,0,60,0,60,0,60,216,67,222,38,0,39,0,20,48,83,98,21,48,39,0,60,0,60,0,60,0,60,216,69,222,38,0,39,0,20,48,87,101,21,48,39,0,60,0,60,0,60,0,60,216,72,222,38,0,39,0,20,48,44,103,21,48,39,0,60,0,60,0,60,0,60,216,64,222,38,0,39,0,20,48,185,112,21,48,39,0,60,0,60,0,60,0,60,216,68,222,38,0,39,0,20,48,215,118,21,48,39,0,60,0,60,0,60,0,60,216,70,222,38,0,0,78,60,0,60,0,60,0,0,47,38,0,0,78,60,0,60,0,60,0,146,49,38,0,0,78,60,0,60,0,60,0,128,50,38,0,0,78,60,0,60,0,60,0,60,216,41,222,38,0,1,78,60,0,60,0,60,0,156,49,38,0,3,78,60,0,60,0,60,0,134,50,38,0,9,78,60,0,60,0,60,0,148,49,38,0,9,78,60,0,60,0,60,0,130,50,38,0,9,78,60,0,60,0,60,0,60,216,42,222,38,0,10,78,60,0,60,0,60,0,150,49,38,0,10,78,60,0,60,0,60,0,164,50,38,0,11,78,60,0,60,0,60,0,152,49,38,0,11,78,60,0,60,0,60,0,166,50,38,0,25,78,60,0,60,0,60,0,155,49,38,0,40,78,60,0,60,0,60,0,1,47,38,0,45,78,60,0,60,0,60,0,151,49,38,0,45,78,60,0,60,0,60,0,165,50,38,0,45,78,60,0,60,0,60,0,60,216,45,222,38,0,54,78,60,0,60,0,60,0,2,47,38,0,63,78,60,0,60,0,60,0,3,47,38,0,89,78,60,0,60,0,60,0,4,47,38,0,89,78,60,0,60,0,60,0,154,49,38,0,93,78,60,0,60,0,60,0,136,50,38,0,133,78,60,0,60,0,60,0,5,47,38,0,140,78,60,0,60,0,60,0,6,47,38,0,140,78,60,0,60,0,60,0,147,49,38,0,140,78,60,0,60,0,60,0,129,50,38,0,140,78,60,0,60,0,60,0,60,216,20,222,38,0,148,78,60,0,60,0,60,0,132,50,38,0,160,78,60,0,60,0,60,0,7,47,38,0,164,78,60,0,60,0,60,0,60,216,24,222,38,0,186,78,60,0,60,0,60,0,8,47,38,0,186,78,60,0,60,0,60,0,159,49,38,0,228,78,140,84,60,0,60,0,60,0,255,50,38,0,1,79,60,0,60,0,60,0,173,50,38,0,17,79,60,0,60,0,60,0,161,50,38,0,42,81,60,0,60,0,60,0,157,50,38,0,63,81,60,0,60,0,60,0,9,47,38,0,101,81,60,0,60,0,60,0,10,47,38,0,107,81,60,0,60,0,60,0,11,47,38,0,107,81,60,0,60,0,60,0,135,50,38,0,109,81,60,0,60,0,60,0,133,50,38,0,130,81,60,0,60,0,60,0,12,47,38,0,141,81,60,0,60,0,60,0,60,216,30,222,38,0,150,81,60,0,60,0,60,0,13,47,38,0,153,81,60,0,60,0,60,0,162,50,38,0,171,81,60,0,60,0,60,0,14,47,38,0,224,81,60,0,60,0,60,0,15,47,38,0,245,81,60,0,60,0,60,0,16,47,38,0,0,82,60,0,60,0,60,0,17,47,38,0,29,82,60,0,60,0,60,0,60,216,32,222,38,0,77,82,60,0,60,0,60,0,60,216,28,222,38,0,114,82,60,0,60,0,60,0,60,216,57,222,38,0,155,82,60,0,60,0,60,0,18,47,38,0,180,82,60,0,60,0,60,0,152,50,38,0,249,82,60,0,60,0,60,0,19,47,38,0,21,83,60,0,60,0,60,0,20,47,38,0,26,83,60,0,60,0,60,0,21,47,38,0,56,83,60,0,60,0,60,0,22,47,38,0,59,83,60,0,60,0,60,0,169,50,38,0,65,83,60,0,60,0,60,0,23,47,38,0,65,83,60,0,60,0,60,0,56,48,38,0,65,83,60,0,60,0,60,0,137,50,38,0,68,83,60,0,60,0,60,0,57,48,38,0,69,83,60,0,60,0,60,0,58,48,38,0,84,83,60,0,60,0,60,0,175,50,38,0,92,83,60,0,60,0,60,0,24,47,38,0,105,83,60,0,60,0,60,0,25,47,38,0,112,83,60,0,60,0,60,0,158,50,38,0,130,83,60,0,60,0,60,0,26,47,38,0,182,83,60,0,60,0,60,0,27,47,38,0,200,83,60,0,60,0,60,0,28,47,38,0,204,83,60,0,60,0,60,0,60,216,18,222,38,0,227,83,60,0,60,0,60,0,29,47,38,0,239,83,60,0,60,0,60,0,60,216,81,222,38,0,243,83,60,0,60,0,60,0,168,50,38,0,243,83,60,0,60,0,60,0,60,216,46,222,38,0,8,84,60,0,60,0,60,0,60,216,52,222,38,0,13,84,60,0,60,0,60,0,148,50,38,0,57,84,60,0,60,0,60,0,60,216,37,222,38,0,79,85,60,0,60,0,60,0,68,50,38,0,182,85,60,0,60,0,60,0,60,216,58,222,38,0,215,86,60,0,60,0,60,0,30,47,38,0,219,86,60,0,60,0,60,0,149,49,38,0,219,86,60,0,60,0,60,0,131,50,38,0,31,87,60,0,60,0,60,0,31,47,38,0,31,87,60,0,60,0,60,0,143,50,38,0,48,87,60,0,60,0,60,0,158,49,38,0,235,88,60,0,60,0,60,0,32,47,38,0,240,88,60,0,60,0,60,0,60,216,36,222,38,0,2,89,60,0,60,0,60,0,33,47,38,0,10,89,60,0,60,0,60,0,34,47,38,0,21,89,60,0,60,0,60,0,35,47,38,0,26,89,60,0,60,0,60,0,60,216,21,222,38,0,28,89,60,0,60,0,60,0,176,50,38,0,39,89,60,0,60,0,60,0,36,47,38,0,39,89,99,107,60,0,60,0,60,0,125,51,38,0,41,89,60,0,60,0,60,0,157,49,38,0,41,89,60,0,60,0,60,0,60,216,23,222,38,0,115,89,60,0,60,0,60,0,37,47,38,0,115,89,60,0,60,0,60,0,155,50,38,0,80,91,60,0,60,0,60,0,38,47,38,0,87,91,60,0,60,0,60,0,60,216,17,222,38,0,102,91,60,0,60,0,60,0,171,50,38,0,128,91,60,0,60,0,60,0,39,47,38,0,151,91,60,0,60,0,60,0,170,50,38,0,248,91,60,0,60,0,60,0,40,47,38,0,15,92,60,0,60,0,60,0,41,47,38,0,34,92,60,0,60,0,60,0,42,47,38,0,56,92,60,0,60,0,60,0,43,47,38,0,110,92,60,0,60,0,60,0,44,47,38,0,113,92,60,0,60,0,60,0,45,47,38,0,219,93,60,0,60,0,60,0,46,47,38,0,229,93,60,0,60,0,60,0,47,47,38,0,230,93,60,0,60,0,60,0,167,50,38,0,230,93,60,0,60,0,60,0,60,216,44,222,38,0,241,93,60,0,60,0,60,0,48,47,38,0,254,93,60,0,60,0,60,0,49,47,38,0,114,94,60,0,60,0,60,0,50,47,38,0,115,94,16,98,60,0,60,0,60,0,123,51,38,0,122,94,60,0,60,0,60,0,51,47,38,0,124,94,60,0,60,0,60,0,69,50,38,0,127,94,60,0,60,0,60,0,52,47,38,0,244,94,60,0,60,0,60,0,53,47,38,0,254,94,60,0,60,0,60,0,54,47,38,0,11,95,60,0,60,0,60,0,55,47,38,0,19,95,60,0,60,0,60,0,56,47,38,0,80,95,60,0,60,0,60,0,57,47,38,0,97,95,60,0,60,0,60,0,58,47,38,0,115,95,60,0,60,0,60,0,59,47,38,0,140,95,60,0,60,0,60,0,60,216,29,222,38,0,151,95,60,0,60,0,60,0,60,216,80,222,38,0,195,95,60,0,60,0,60,0,60,47,38,0,8,98,60,0,60,0,60,0,61,47,38,0,54,98,60,0,60,0,60,0,62,47,38,0,75,98,60,0,60,0,60,0,63,47,38,0,75,98,60,0,60,0,60,0,60,216,16,222,38,0,83,98,60,0,60,0,60,0,60,216,49,222,38,0,149,98,60,0,60,0,60,0,60,216,39,222,38,0,7,99,60,0,60,0,60,0,60,216,47,222,38,0,85,99,60,0,60,0,60,0,60,216,40,222,38,0,47,101,60,0,60,0,60,0,64,47,38,0,52,101,60,0,60,0,60,0,65,47,38,0,135,101,60,0,60,0,60,0,66,47,38,0,135,101,60,0,60,0,60,0,70,50,38,0,151,101,60,0,60,0,60,0,67,47,38,0,153,101,60,0,60,0,60,0,60,216,27,222,38,0,164,101,60,0,60,0,60,0,68,47,38,0,176,101,60,0,60,0,60,0,60,216,31,222,38,0,185,101,60,0,60,0,60,0,69,47,38,0,224,101,60,0,60,0,60,0,70,47,38,0,229,101,60,0,60,0,60,0,71,47,38,0,229,101,60,0,60,0,60,0,144,50,38,0,14,102,187,108,60,0,60,0,60,0,126,51,38,0,32,102,60,0,60,0,60,0,60,216,25,222,38,0,45,102,140,84,60,0,60,0,60,0,124,51,38,0,240,102,60,0,60,0,60,0,72,47,38,0,8,103,60,0,60,0,60,0,73,47,38,0,8,103,60,0,60,0,60,0,138,50,38,0,8,103,60,0,60,0,60,0,60,216,55,222,38,0,9,103,60,0,60,0,60,0,146,50,38,0,9,103,60,0,60,0,60,0,60,216,54,222,38,0,40,103,60,0,60,0,60,0,74,47,38,0,40,103,60,0,60,0,60,0,141,50,38,0,42,104,60,0,60,0,60,0,145,50,38,0,42,104,15,95,26,79,62,121,60,0,60,0,60,0,127,51,38,0,32,107,60,0,60,0,60,0,75,47,38,0,98,107,60,0,60,0,60,0,76,47,38,0,99,107,60,0,60,0,60,0,163,50,38,0,121,107,60,0,60,0,60,0,77,47,38,0,179,107,60,0,60,0,60,0,78,47,38,0,203,107,60,0,60,0,60,0,79,47,38,0,205,107,60,0,60,0,60,0,159,46,38,0,212,107,60,0,60,0,60,0,80,47,38,0,219,107,60,0,60,0,60,0,81,47,38,0,15,108,60,0,60,0,60,0,82,47,38,0,20,108,60,0,60,0,60,0,83,47,38,0,52,108,60,0,60,0,60,0,84,47,38,0,52,108,60,0,60,0,60,0,140,50,38,0,232,108,60,0,60,0,60,0,159,50,38,0,128,110,60,0,60,0,60,0,60,216,53,222,38,0,20,111,60,0,60,0,60,0,60,216,38,222,38,0,107,112,60,0,60,0,60,0,85,47,38,0,107,112,60,0,60,0,60,0,139,50,38,0,33,113,60,0,60,0,60,0,60,216,26,222,38,0,42,114,60,0,60,0,60,0,86,47,38,0,54,114,60,0,60,0,60,0,87,47,38,0,59,114,60,0,60,0,60,0,88,47,38,0,63,114,60,0,60,0,60,0,89,47,38,0,71,114,60,0,60,0,60,0,90,47,38,0,89,114,60,0,60,0,60,0,91,47,38,0,91,114,60,0,60,0,60,0,92,47,38,0,121,114,60,0,60,0,60,0,149,50,38,0,172,114,60,0,60,0,60,0,93,47,38,0,132,115,60,0,60,0,60,0,94,47,38,0,137,115,60,0,60,0,60,0,95,47,38,0,220,116,60,0,60,0,60,0,96,47,38,0,230,116,60,0,60,0,60,0,97,47,38,0,24,117,60,0,60,0,60,0,98,47,38,0,31,117,60,0,60,0,60,0,99,47,38,0,31,117,60,0,60,0,60,0,60,216,34,222,38,0,40,117,60,0,60,0,60,0,100,47,38,0,48,117,60,0,60,0,60,0,101,47,38,0,50,117,60,0,60,0,60,0,153,49,38,0,51,117,60,0,60,0,60,0,60,216,56,222,38,0,55,117,60,0,60,0,60,0,154,50,38,0,139,117,60,0,60,0,60,0,102,47,38,0,146,117,60,0,60,0,60,0,103,47,38,0,118,118,60,0,60,0,60,0,104,47,38,0,125,118,60,0,60,0,60,0,105,47,38,0,174,118,60,0,60,0,60,0,106,47,38,0,191,118,60,0,60,0,60,0,107,47,38,0,227,118,60,0,60,0,60,0,172,50,38,0,238,118,60,0,60,0,60,0,108,47,38,0,219,119,60,0,60,0,60,0,109,47,38,0,226,119,60,0,60,0,60,0,110,47,38,0,243,119,60,0,60,0,60,0,111,47,38,0,58,121,60,0,60,0,60,0,112,47,38,0,62,121,60,0,60,0,60,0,147,50,38,0,93,121,60,0,60,0,60,0,151,50,38,0,129,121,60,0,60,0,60,0,60,216,50,222,38,0,184,121,60,0,60,0,60,0,113,47,38,0,190,121,60,0,60,0,60,0,114,47,38,0,216,121,60,0,60,0,60,0,153,50,38,0,116,122,60,0,60,0,60,0,115,47,38,0,122,122,60,0,60,0,60,0,60,216,51,222,38,0,203,122,60,0,60,0,60,0,116,47,38,0,249,122,60,0,60,0,60,0,117,47,38,0,143,123,60,0,60,0,60,0,71,50,38,0,115,124,60,0,60,0,60,0,118,47,38,0,248,124,60,0,60,0,60,0,119,47,38,0,66,125,60,0,60,0,60,0,60,216,33,222,38,0,54,127,60,0,60,0,60,0,120,47,38,0,81,127,60,0,60,0,60,0,121,47,38,0,138,127,60,0,60,0,60,0,122,47,38,0,189,127,60,0,60,0,60,0,123,47,38,0,1,128,60,0,60,0,60,0,124,47,38,0,12,128,60,0,60,0,60,0,125,47,38,0,18,128,60,0,60,0,60,0,126,47,38,0,51,128,60,0,60,0,60,0,127,47,38,0,127,128,60,0,60,0,60,0,128,47,38,0,137,128,60,0,60,0,60,0,129,47,38,0,227,129,60,0,60,0,60,0,130,47,38,0,234,129,60,0,60,0,60,0,131,47,38,0,243,129,60,0,60,0,60,0,132,47,38,0,252,129,60,0,60,0,60,0,133,47,38,0,12,130,60,0,60,0,60,0,134,47,38,0,27,130,60,0,60,0,60,0,135,47,38,0,31,130,60,0,60,0,60,0,136,47,38,0,110,130,60,0,60,0,60,0,137,47,38,0,114,130,60,0,60,0,60,0,138,47,38,0,120,130,60,0,60,0,60,0,139,47,38,0,77,134,60,0,60,0,60,0,140,47,38,0,107,134,60,0,60,0,60,0,141,47,38,0,64,136,60,0,60,0,60,0,142,47,38,0,76,136,60,0,60,0,60,0,143,47,38,0,99,136,60,0,60,0,60,0,144,47,38,0,126,137,60,0,60,0,60,0,145,47,38,0,139,137,60,0,60,0,60,0,146,47,38,0,210,137,60,0,60,0,60,0,147,47,38,0,227,137,60,0,60,0,60,0,60,216,22,222,38,0,0,138,60,0,60,0,60,0,148,47,38,0,55,140,60,0,60,0,60,0,149,47,38,0,70,140,60,0,60,0,60,0,150,47,38,0,85,140,60,0,60,0,60,0,151,47,38,0,120,140,60,0,60,0,60,0,152,47,38,0,157,140,60,0,60,0,60,0,153,47,38,0,161,140,60,0,60,0,60,0,150,50,38,0,169,140,60,0,60,0,60,0,60,216,35,222,38,0,199,140,60,0,60,0,60,0,174,50,38,0,100,141,60,0,60,0,60,0,154,47,38,0,112,141,60,0,60,0,60,0,155,47,38,0,112,141,60,0,60,0,60,0,60,216,48,222,38,0,179,141,60,0,60,0,60,0,156,47,38,0,171,142,60,0,60,0,60,0,157,47,38,0,202,142,60,0,60,0,60,0,158,47,38,0,155,143,60,0,60,0,60,0,159,47,38,0,176,143,60,0,60,0,60,0,160,47,38,0,181,143,60,0,60,0,60,0,161,47,38,0,74,144,60,0,60,0,60,0,60,216,43,222,38,0,105,144,60,0,60,0,60,0,156,50,38,0,145,144,60,0,60,0,60,0,162,47,38,0,73,145,60,0,60,0,60,0,163,47,38,0,77,145,60,0,60,0,60,0,60,216,59,222,38,0,198,145,60,0,60,0,60,0,164,47,38,0,204,145,60,0,60,0,60,0,165,47,38,0,209,145,60,0,60,0,60,0,166,47,38,0,209,145,60,0,60,0,60,0,142,50,38,0,119,149,60,0,60,0,60,0,167,47,38,0,128,149,60,0,60,0,60,0,168,47,38,0,28,150,60,0,60,0,60,0,169,47,38,0,182,150,60,0,60,0,60,0,170,47,38,0,185,150,60,0,60,0,60,0,171,47,38,0,232,150,60,0,60,0,60,0,172,47,38,0,81,151,60,0,60,0,60,0,173,47,38,0,94,151,60,0,60,0,60,0,174,47,38,0,98,151,60,0,60,0,60,0,175,47,38,0,105,151,60,0,60,0,60,0,176,47,38,0,203,151,60,0,60,0,60,0,177,47,38,0,237,151,60,0,60,0,60,0,178,47,38,0,243,151,60,0,60,0,60,0,179,47,38,0,1,152,60,0,60,0,60,0,180,47,38,0,5,152,60,0,60,0,60,0,160,50,38,0,168,152,60,0,60,0,60,0,181,47,38,0,219,152,60,0,60,0,60,0,182,47,38,0,223,152,60,0,60,0,60,0,183,47,38,0,150,153,60,0,60,0,60,0,184,47,38,0,153,153,60,0,60,0,60,0,185,47,38,0,172,153,60,0,60,0,60,0,186,47,38,0,168,154,60,0,60,0,60,0,187,47,38,0,216,154,60,0,60,0,60,0,188,47,38,0,223,154,60,0,60,0,60,0,189,47,38,0,37,155,60,0,60,0,60,0,190,47,38,0,47,155,60,0,60,0,60,0,191,47,38,0,50,155,60,0,60,0,60,0,192,47,38,0,60,155,60,0,60,0,60,0,193,47,38,0,90,155,60,0,60,0,60,0,194,47,38,0,229,156,60,0,60,0,60,0,195,47,38,0,117,158,60,0,60,0,60,0,196,47,38,0,127,158,60,0,60,0,60,0,197,47,38,0,165,158,60,0,60,0,60,0,198,47,38,0,187,158,60,0,60,0,60,0,199,47,38,0,195,158,60,0,60,0,60,0,200,47,38,0,205,158,60,0,60,0,60,0,201,47,38,0,209,158,60,0,60,0,60,0,202,47,38,0,249,158,60,0,60,0,60,0,203,47,38,0,253,158,60,0,60,0,60,0,204,47,38,0,14,159,60,0,60,0,60,0,205,47,38,0,19,159,60,0,60,0,60,0,206,47,38,0,32,159,60,0,60,0,60,0,207,47,38,0,59,159,60,0,60,0,60,0,208,47,38,0,74,159,60,0,60,0,60,0,209,47,38,0,82,159,60,0,60,0,60,0,210,47,38,0,141,159,60,0,60,0,60,0,211,47,38,0,156,159,60,0,60,0,60,0,212,47,38,0,159,159,60,0,60,0,60,0,243,46,38,0,160,159,60,0,60,0,60,0,213,47,0,0,2,0,51,0,60,0,95,0,1,0,170,170,170,170,222,137,1,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,100,0,0,0,100,1,0,0,148,106,1,0,148,106,1,0,116,114,1,0,116,114,1,0,48,119,1,0,48,119,1,0,146,133,1,0,146,133,1,0,194,137,1,0,25,0,0,0,17,0,0,0,5,0,0,0,0,0,0,96,127,0,0,123,99,0,118,123,127,0,0,126,224,255,0,254,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,0,251,252,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,254,255,50,105,114,84,1,0,192,8,122,21,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,176,0,184,0,189,0,48,0,197,0,205,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,229,0,237,0,245,0,253,0,5,1,13,1,21,1,29,1,37,1,45,1,53,1,61,1,69,1,77,1,85,1,93,1,101,1,109,1,117,1,125,1,133,1,141,1,149,1,157,1,165,1,173,1,181,1,189,1,197,1,205,1,213,1,221,1,229,1,237,1,245,1,253,1,5,2,13,2,21,2,29,2,37,2,45,2,53,2,61,2,69,2,77,2,85,2,93,2,101,2,109,2,117,2,125,2,133,2,141,2,149,2,157,2,164,2,172,2,180,2,188,2,196,2,204,2,212,2,220,2,228,2,236,2,244,2,252,2,4,3,12,3,20,3,28,3,36,3,44,3,52,3,60,3,68,3,76,3,84,3,92,3,100,3,108,3,116,3,124,3,132,3,140,3,148,3,156,3,164,3,172,3,180,3,188,3,196,3,204,3,212,3,220,3,228,3,236,3,244,3,252,3,4,4,12,4,20,4,28,4,36,4,44,4,52,4,60,4,68,4,76,4,84,4,92,4,100,4,108,4,116,4,124,4,132,4,139,4,147,4,155,4,163,4,171,4,179,4,187,4,195,4,203,4,211,4,219,4,227,4,235,4,243,4,251,4,3,5,11,5,19,5,27,5,35,5,43,5,51,5,59,5,67,5,75,5,83,5,91,5,99,5,107,5,115,5,123,5,131,5,139,5,147,5,155,5,163,5,171,5,179,5,187,5,195,5,203,5,211,5,219,5,227,5,235,5,243,5,251,5,2,6,10,6,18,6,26,6,32,6,40,6,47,6,55,6,63,6,71,6,79,6,86,6,94,6,102,6,110,6,118,6,126,6,134,6,142,6,150,6,158,6,166,6,174,6,182,6,190,6,198,6,206,6,214,6,222,6,230,6,238,6,246,6,254,6,6,7,14,7,22,7,30,7,38,7,46,7,54,7,62,7,70,7,78,7,86,7,94,7,102,7,108,7,116,7,124,7,131,7,139,7,147,7,154,7,162,7,170,7,178,7,186,7,194,7,202,7,210,7,218,7,226,7,234,7,242,7,250,7,2,8,10,8,18,8,26,8,34,8,42,8,50,8,58,8,66,8,74,8,82,8,90,8,98,8,106,8,114,8,122,8,130,8,138,8,146,8,154,8,162,8,170,8,178,8,185,8,193,8,201,8,209,8,217,8,225,8,233,8,240,8,248,8,0,9,8,9,16,9,24,9,32,9,40,9,48,9,56,9,64,9,72,9,80,9,88,9,96,9,104,9,112,9,120,9,128,9,136,9,144,9,152,9,160,9,168,9,176,9,184,9,192,9,200,9,208,9,216,9,224,9,232,9,240,9,248,9,0,10,8,10,16,10,24,10,32,10,40,10,48,10,56,10,64,10,72,10,80,10,88,10,96,10,104,10,112,10,120,10,128,10,136,10,144,10,152,10,160,10,168,10,176,10,184,10,192,10,200,10,208,10,216,10,224,10,232,10,240,10,248,10,0,11,8,11,16,11,24,11,32,11,40,11,48,11,56,11,64,11,72,11,80,11,88,11,96,11,104,11,112,11,120,11,128,11,136,11,144,11,152,11,160,11,168,11,176,11,184,11,192,11,200,11,208,11,216,11,224,11,232,11,240,11,248,11,0,12,8,12,16,12,24,12,32,12,40,12,48,12,56,12,64,12,72,12,80,12,88,12,96,12,104,12,112,12,120,12,128,12,136,12,144,12,152,12,160,12,168,12,176,12,184,12,192,12,200,12,208,12,216,12,224,12,232,12,240,12,48,0,48,0,48,0,48,0,248,12,0,13,8,13,16,13,24,13,32,13,40,13,48,13,56,13,64,13,72,13,80,13,88,13,96,13,104,13,112,13,120,13,128,13,136,13,144,13,152,13,160,13,168,13,176,13,184,13,192,13,200,13,208,13,216,13,224,13,232,13,240,13,248,13,0,14,6,14,14,14,22,14,30,14,38,14,46,14,54,14,62,14,70,14,78,14,86,14,94,14,101,14,109,14,117,14,125,14,133,14,141,14,149,14,157,14,165,14,173,14,181,14,189,14,197,14,205,14,213,14,221,14,229,14,237,14,245,14,253,14,5,15,13,15,21,15,29,15,37,15,45,15,53,15,61,15,69,15,77,15,85,15,93,15,101,15,109,15,117,15,125,15,133,15,141,15,149,15,157,15,165,15,173,15,181,15,189,15,197,15,205,15,213,15,221,15,229,15,237,15,245,15,253,15,5,16,13,16,48,0,48,0,48,0,48,0,21,16,29,16,37,16,45,16,53,16,61,16,69,16,77,16,48,0,48,0,84,16,92,16,100,16,108,16,116,16,124,16,132,16,140,16,148,16,156,16,164,16,172,16,180,16,188,16,196,16,204,16,212,16,214,16,222,16,230,16,238,16,246,16,254,16,6,17,14,17,22,17,30,17,38,17,46,17,54,17,62,17,70,17,78,17,86,17,94,17,102,17,110,17,118,17,126,17,134,17,142,17,150,17,158,17,166,17,174,17,182,17,190,17,198,17,206,17,214,17,222,17,230,17,238,17,246,17,254,17,6,18,14,18,22,18,48,0,48,0,48,0,48,0,48,0,48,0,25,18,33,18,41,18,49,18,57,18,59,18,67,18,75,18,83,18,91,18,99,18,107,18,115,18,123,18,131,18,139,18,147,18,155,18,163,18,171,18,179,18,187,18,195,18,203,18,211,18,48,0,217,18,225,18,233,18,241,18,249,18,1,19,9,19,12,19,20,19,28,19,36,19,44,19,52,19,60,19,68,19,48,0,74,19,82,19,90,19,98,19,106,19,114,19,122,19,130,19,138,19,146,19,154,19,162,19,170,19,178,19,186,19,48,0,48,0,48,0,193,19,201,19,209,19,217,19,225,19,233,19,241,19,249,19,1,20,9,20,48,0,48,0,17,20,25,20,33,20,41,20,49,20,57,20,65,20,73,20,81,20,89,20,97,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,161,0,48,0,48,0,153,0,153,0,153,0,113,21,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,105,20,113,20,121,20,129,20,137,20,145,20,153,20,161,20,169,20,177,20,185,20,193,20,201,20,209,20,217,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,225,20,233,20,241,20,249,20,1,21,9,21,17,21,25,21,33,21,41,21,49,21,57,21,65,21,73,21,81,21,89,21,97,21,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,36,0,202,193,36,0,202,226,36,0,202,3,37,0,202,36,37,0,202,69,37,0,202,102,37,0,202,135,37,0,202,168,37,0,202,201,37,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,35,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,34,36,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,36,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,136,5,5,0,138,192,0,0,0,5,5,0,139,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,220,5,5,0,158,5,5,0,156,5,5,0,159,5,5,0,157,5,5,12,220,5,5,4,199,5,5,20,220,5,5,18,220,5,5,3,199,5,5,2,199,192,0,0,0,192,0,0,0,5,5,98,199,5,5,97,199,5,5,96,199,192,0,0,0,5,5,99,199,5,5,95,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,199,5,5,223,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,160,192,0,0,0,5,5,5,199,5,5,21,220,192,0,0,0,5,5,6,199,5,5,40,220,5,5,135,200,5,5,144,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,161,5,5,7,199,192,0,0,0,5,5,100,199,5,5,41,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,220,5,5,0,140,192,0,0,0,5,5,0,163,192,0,0,0,5,5,13,220,5,5,0,164,192,0,0,0,192,0,0,0,5,5,8,199,192,0,0,0,5,5,101,199,5,5,103,199,5,5,102,199,192,0,0,0,192,0,0,0,5,5,224,199,5,5,225,199,192,0,0,0,192,0,0,0,5,5,157,201,192,0,0,0,5,5,172,204,5,5,0,137,192,0,0,0,192,0,0,0,5,5,7,220,5,5,0,141,5,5,0,166,5,5,0,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,206,5,5,219,226,192,0,0,0,192,0,0,0,5,5,68,210,5,5,19,232,5,5,20,232,192,0,0,0,5,5,0,142,192,0,0,0,5,5,10,199,192,0,0,0,192,0,0,0,5,5,159,201,5,5,0,143,5,5,14,220,5,5,0,167,192,0,0,0,192,0,0,0,5,5,11,199,5,5,13,199,5,5,22,220,5,5,14,199,5,5,12,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,199,192,0,0,0,5,5,160,201,192,0,0,0,192,0,0,0,5,5,161,201,5,5,27,203,192,0,0,0,5,5,0,168,5,5,15,199,192,0,0,0,5,5,228,199,5,5,230,199,5,5,229,199,192,0,0,0,5,5,136,200,192,0,0,0,192,0,0,0,5,5,162,201,5,5,163,201,5,5,28,203,5,5,29,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,204,192,0,0,0,192,0,0,0,5,5,21,232,192,0,0,0,192,0,0,0,5,5,73,248,5,5,0,144,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,199,5,5,16,199,5,5,23,220,5,5,18,199,5,5,24,199,192,0,0,0,5,5,19,199,5,5,20,199,5,5,25,220,5,5,24,220,5,5,22,199,5,5,23,199,192,0,0,0,5,5,21,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,199,5,5,107,199,5,5,108,199,5,5,109,199,5,5,105,199,5,5,112,199,5,5,47,220,192,0,0,0,5,5,43,220,5,5,46,220,5,5,113,199,5,5,129,199,192,0,0,0,5,5,45,220,192,0,0,0,5,5,110,199,5,5,111,199,5,5,104,199,192,0,0,0,192,0,0,0,5,5,42,220,5,5,44,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,199,5,5,83,220,5,5,240,199,5,5,244,199,5,5,93,220,5,5,81,220,5,5,241,199,5,5,85,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,199,192,0,0,0,5,5,245,199,192,0,0,0,5,5,231,199,5,5,84,220,5,5,246,199,5,5,88,220,192,0,0,0,5,5,92,220,5,5,89,220,192,0,0,0,192,0,0,0,5,5,86,220,5,5,232,199,5,5,234,199,5,5,247,199,192,0,0,0,5,5,236,199,5,5,78,220,5,5,239,199,5,5,237,199,5,5,238,199,5,5,94,220,5,5,91,220,5,5,82,220,5,5,235,199,192,0,0,0,192,0,0,0,5,5,79,220,5,5,233,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,220,5,5,200,220,192,0,0,0,5,5,158,200,5,5,145,200,192,0,0,0,192,0,0,0,5,5,201,220,5,5,142,200,192,0,0,0,5,5,160,200,192,0,0,0,5,5,150,200,192,0,0,0,5,5,149,200,5,5,189,220,5,5,153,200,5,5,148,200,5,5,194,220,5,5,202,220,192,0,0,0,5,5,198,220,192,0,0,0,5,5,151,200,192,0,0,0,192,0,0,0,5,5,154,200,5,5,139,200,5,5,163,200,5,5,191,220,192,0,0,0,192,0,0,0,5,5,156,221,5,5,137,200,5,5,159,200,5,5,138,200,5,5,146,200,5,5,147,200,5,5,196,220,5,5,192,220,5,5,152,200,5,5,144,200,5,5,188,220,5,5,140,200,5,5,199,220,5,5,161,200,5,5,164,200,5,5,143,200,5,5,156,200,5,5,162,200,5,5,141,200,5,5,197,220,5,5,157,200,5,5,203,220,5,5,190,220,5,5,155,200,5,5,193,220,192,0,0,0,192,0,0,0,5,5,195,220,192,0,0,0,5,5,177,201,5,5,158,221,5,5,170,221,5,5,169,201,192,0,0,0,5,5,171,221,5,5,164,201,5,5,174,201,192,0,0,0,192,0,0,0,5,5,167,201,5,5,152,221,5,5,175,201,5,5,151,221,5,5,155,221,5,5,162,221,5,5,160,221,5,5,183,201,5,5,178,201,5,5,146,221,5,5,148,221,5,5,180,201,5,5,168,201,5,5,149,221,5,5,161,221,5,5,168,221,5,5,173,201,5,5,154,221,5,5,147,221,5,5,172,201,5,5,150,221,5,5,176,201,5,5,153,221,192,0,0,0,5,5,171,201,192,0,0,0,5,5,166,201,192,0,0,0,5,5,181,201,5,5,163,221,5,5,182,201,5,5,167,221,192,0,0,0,5,5,165,221,5,5,169,221,5,5,179,201,5,5,157,221,5,5,145,221,192,0,0,0,5,5,159,221,5,5,170,201,5,5,164,221,5,5,165,201,5,5,166,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,203,5,5,32,203,192,0,0,0,192,0,0,0,5,5,251,222,5,5,5,223,192,0,0,0,5,5,31,203,5,5,39,203,5,5,51,203,192,0,0,0,5,5,11,223,5,5,9,223,5,5,4,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,203,5,5,10,223,5,5,254,222,5,5,47,203,5,5,38,203,5,5,46,203,5,5,249,222,192,0,0,0,5,5,7,223,192,0,0,0,5,5,252,222,5,5,42,203,5,5,253,222,192,0,0,0,5,5,248,222,5,5,49,203,5,5,36,203,5,5,45,203,5,5,35,203,192,0,0,0,5,5,250,222,5,5,255,222,192,0,0,0,5,5,8,223,5,5,43,203,5,5,40,203,5,5,3,223,5,5,48,203,5,5,6,223,5,5,2,223,5,5,37,203,5,5,50,203,5,5,41,203,5,5,34,203,5,5,30,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,223,192,0,0,0,5,5,199,204,5,5,177,204,192,0,0,0,5,5,193,204,192,0,0,0,5,5,198,204,5,5,198,224,5,5,197,224,5,5,202,224,5,5,203,224,5,5,180,204,192,0,0,0,5,5,189,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,204,192,0,0,0,5,5,190,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,224,5,5,183,204,5,5,192,224,192,0,0,0,5,5,204,204,192,0,0,0,5,5,195,204,5,5,174,204,5,5,175,204,5,5,211,224,5,5,138,206,192,0,0,0,5,5,188,204,5,5,187,204,5,5,193,224,5,5,191,204,5,5,235,226,5,5,182,204,5,5,204,224,5,5,197,204,5,5,196,204,5,5,186,204,5,5,196,224,5,5,205,224,192,0,0,0,5,5,190,224,5,5,185,204,5,5,206,224,5,5,194,204,5,5,194,224,5,5,176,204,192,0,0,0,5,5,179,204,5,5,178,204,5,5,207,224,5,5,192,204,5,5,181,204,5,5,201,204,5,5,203,204,5,5,201,224,5,5,200,204,192,0,0,0,5,5,209,224,5,5,195,224,5,5,210,224,192,0,0,0,5,5,199,224,192,0,0,0,5,5,208,224,192,0,0,0,5,5,200,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,226,5,5,231,226,192,0,0,0,5,5,126,206,192,0,0,0,5,5,236,226,5,5,242,226,5,5,125,206,5,5,229,226,5,5,129,206,5,5,233,226,5,5,226,226,5,5,127,206,5,5,230,226,5,5,132,206,5,5,137,206,192,0,0,0,5,5,247,226,192,0,0,0,5,5,225,226,192,0,0,0,5,5,133,206,192,0,0,0,5,5,246,226,192,0,0,0,192,0,0,0,5,5,128,206,5,5,232,226,5,5,124,206,5,5,227,226,5,5,223,226,5,5,237,226,5,5,224,226,5,5,222,226,5,5,234,226,5,5,240,226,5,5,241,226,5,5,130,206,192,0,0,0,192,0,0,0,5,5,101,229,5,5,238,226,5,5,221,226,5,5,239,226,192,0,0,0,5,5,140,206,5,5,244,226,5,5,139,206,5,5,220,226,192,0,0,0,5,5,228,226,5,5,245,226,5,5,135,206,5,5,134,206,5,5,131,206,5,5,136,206,192,0,0,0,192,0,0,0,5,5,122,206,192,0,0,0,192,0,0,0,5,5,123,206,192,0,0,0,192,0,0,0,5,5,110,208,192,0,0,0,5,5,104,229,5,5,97,229,192,0,0,0,5,5,107,208,192,0,0,0,5,5,105,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,229,5,5,98,229,5,5,106,208,5,5,99,229,192,0,0,0,192,0,0,0,5,5,109,208,5,5,103,229,192,0,0,0,5,5,93,229,5,5,92,229,5,5,111,208,192,0,0,0,5,5,112,208,5,5,108,208,5,5,113,208,5,5,91,229,5,5,102,229,5,5,100,229,5,5,94,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,208,5,5,96,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,210,5,5,69,210,5,5,25,232,5,5,78,210,5,5,31,232,5,5,34,232,5,5,71,210,5,5,72,210,5,5,28,232,5,5,70,210,5,5,37,232,5,5,76,210,5,5,38,232,192,0,0,0,5,5,33,232,5,5,77,210,192,0,0,0,5,5,22,232,5,5,74,210,5,5,23,232,192,0,0,0,5,5,32,232,5,5,30,232,192,0,0,0,5,5,26,232,5,5,73,210,5,5,24,232,5,5,79,210,5,5,29,232,5,5,36,232,5,5,27,232,5,5,35,232,192,0,0,0,192,0,0,0,5,5,18,212,5,5,15,212,192,0,0,0,5,5,16,212,192,0,0,0,5,5,210,234,5,5,202,234,5,5,14,212,5,5,11,212,5,5,203,234,192,0,0,0,192,0,0,0,5,5,13,212,5,5,206,234,192,0,0,0,5,5,208,234,192,0,0,0,192,0,0,0,5,5,215,234,192,0,0,0,192,0,0,0,5,5,214,234,5,5,209,234,5,5,10,212,5,5,201,234,5,5,8,212,5,5,204,234,5,5,19,212,5,5,207,234,192,0,0,0,5,5,211,234,5,5,12,212,5,5,9,212,5,5,213,234,5,5,212,234,5,5,17,212,192,0,0,0,5,5,205,234,192,0,0,0,5,5,144,213,5,5,63,237,192,0,0,0,5,5,60,237,5,5,145,213,192,0,0,0,5,5,143,213,192,0,0,0,5,5,67,237,5,5,64,237,5,5,57,237,5,5,142,213,192,0,0,0,5,5,146,213,5,5,58,237,5,5,141,213,5,5,149,213,5,5,61,237,5,5,62,237,5,5,147,213,5,5,148,213,5,5,68,237,5,5,65,237,5,5,66,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,215,5,5,195,239,5,5,26,215,5,5,192,239,5,5,28,215,5,5,30,215,192,0,0,0,5,5,193,239,5,5,27,215,192,0,0,0,5,5,194,239,192,0,0,0,5,5,191,239,192,0,0,0,192,0,0,0,5,5,71,216,5,5,2,242,5,5,72,216,5,5,254,241,192,0,0,0,5,5,255,241,5,5,253,241,5,5,252,241,192,0,0,0,192,0,0,0,5,5,3,242,5,5,70,216,192,0,0,0,192,0,0,0,5,5,214,243,5,5,215,243,192,0,0,0,5,5,59,237,5,5,213,243,5,5,73,216,5,5,11,218,5,5,71,245,5,5,72,245,192,0,0,0,5,5,254,218,5,5,255,218,5,5,149,247,5,5,148,247,5,5,84,219,5,5,83,219,5,5,224,248,192,0,0,0,5,5,0,145,5,5,0,169,5,5,26,199,192,0,0,0,5,5,25,199,5,5,115,199,5,5,114,199,5,5,250,199,5,5,249,199,5,5,251,199,5,5,248,199,192,0,0,0,5,5,166,200,5,5,165,200,5,5,167,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,201,192,0,0,0,5,5,184,201,5,5,186,201,192,0,0,0,5,5,52,203,192,0,0,0,5,5,0,127,5,5,212,224,5,5,0,128,5,5,141,206,5,5,0,130,5,5,0,129,5,5,106,229,192,0,0,0,5,5,0,131,5,5,20,212,5,5,0,132,192,0,0,0,5,5,0,146,192,0,0,0,5,5,27,199,5,5,252,199,5,5,187,201,192,0,0,0,5,5,0,147,5,5,30,199,5,5,28,199,5,5,29,199,192,0,0,0,192,0,0,0,5,5,253,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,200,5,5,189,201,5,5,188,201,5,5,190,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,220,192,0,0,0,5,5,116,199,5,5,117,199,192,0,0,0,192,0,0,0,5,5,254,199,192,0,0,0,5,5,204,220,192,0,0,0,5,5,54,203,5,5,53,203,5,5,214,224,5,5,213,224,5,5,142,206,192,0,0,0,5,5,31,199,5,5,26,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,221,192,0,0,0,5,5,55,203,192,0,0,0,5,5,208,204,192,0,0,0,5,5,206,204,5,5,207,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,215,192,0,0,0,5,5,118,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,199,5,5,95,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,200,5,5,170,200,192,0,0,0,5,5,205,220,192,0,0,0,192,0,0,0,5,5,173,221,5,5,191,201,5,5,174,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,224,5,5,217,224,5,5,211,204,192,0,0,0,5,5,218,224,192,0,0,0,5,5,215,224,5,5,212,204,5,5,210,204,5,5,209,204,5,5,219,224,192,0,0,0,5,5,248,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,229,192,0,0,0,192,0,0,0,5,5,39,232,5,5,216,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,213,5,5,33,215,5,5,196,239,192,0,0,0,5,5,0,148,5,5,0,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,206,5,5,115,208,192,0,0,0,5,5,21,212,192,0,0,0,5,5,8,220,5,5,32,199,192,0,0,0,5,5,121,199,5,5,119,199,5,5,120,199,192,0,0,0,192,0,0,0,5,5,192,201,192,0,0,0,192,0,0,0,5,5,0,149,5,5,0,150,192,0,0,0,5,5,0,170,192,0,0,0,192,0,0,0,5,5,33,199,5,5,34,199,5,5,35,199,5,5,97,220,5,5,122,199,192,0,0,0,5,5,48,220,192,0,0,0,5,5,5,200,192,0,0,0,5,5,98,220,5,5,3,200,5,5,4,200,5,5,96,220,192,0,0,0,192,0,0,0,5,5,6,200,5,5,2,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,220,5,5,3,203,5,5,207,220,192,0,0,0,192,0,0,0,5,5,208,220,192,0,0,0,192,0,0,0,5,5,172,200,5,5,171,200,192,0,0,0,192,0,0,0,5,5,175,200,5,5,173,200,5,5,174,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,201,192,0,0,0,5,5,197,201,5,5,179,221,5,5,176,221,5,5,177,221,192,0,0,0,5,5,175,221,5,5,199,201,5,5,195,201,5,5,194,201,192,0,0,0,5,5,196,201,5,5,193,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,201,192,0,0,0,5,5,57,203,5,5,13,223,192,0,0,0,5,5,178,221,5,5,62,203,192,0,0,0,5,5,14,223,5,5,58,203,5,5,61,203,5,5,60,203,5,5,59,203,5,5,56,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,224,192,0,0,0,5,5,215,204,5,5,225,224,5,5,213,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,224,5,5,216,204,5,5,214,204,5,5,217,204,5,5,223,224,5,5,224,224,192,0,0,0,5,5,220,224,5,5,226,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,208,5,5,144,206,5,5,249,226,5,5,251,226,5,5,250,226,5,5,252,226,5,5,145,206,192,0,0,0,192,0,0,0,5,5,116,208,192,0,0,0,5,5,117,208,5,5,118,208,192,0,0,0,5,5,81,210,5,5,41,232,192,0,0,0,5,5,40,232,5,5,42,232,5,5,43,232,5,5,82,210,192,0,0,0,5,5,80,210,5,5,217,234,5,5,218,234,5,5,23,212,5,5,22,212,5,5,48,236,192,0,0,0,192,0,0,0,5,5,151,213,5,5,152,213,5,5,153,213,5,5,155,213,5,5,69,237,5,5,70,237,5,5,154,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,215,192,0,0,0,5,5,35,215,192,0,0,0,192,0,0,0,5,5,73,245,5,5,151,247,5,5,150,247,5,5,225,248,192,0,0,0,5,5,0,151,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,199,5,5,123,199,192,0,0,0,192,0,0,0,5,5,7,200,192,0,0,0,192,0,0,0,5,5,99,220,192,0,0,0,192,0,0,0,5,5,177,200,5,5,178,200,5,5,176,200,5,5,179,200,5,5,209,220,5,5,210,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,201,5,5,180,221,192,0,0,0,5,5,201,201,192,0,0,0,5,5,15,223,5,5,66,203,5,5,16,223,5,5,65,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,203,192,0,0,0,5,5,64,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,206,5,5,254,226,192,0,0,0,5,5,149,206,5,5,253,226,5,5,79,207,5,5,148,206,5,5,147,206,192,0,0,0,5,5,122,208,192,0,0,0,5,5,121,208,5,5,120,208,5,5,83,210,192,0,0,0,192,0,0,0,5,5,86,210,5,5,87,210,5,5,85,210,192,0,0,0,5,5,84,210,192,0,0,0,192,0,0,0,5,5,219,234,192,0,0,0,5,5,220,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,237,5,5,156,213,5,5,71,237,192,0,0,0,5,5,36,215,5,5,4,242,5,5,74,216,192,0,0,0,5,5,74,245,5,5,158,218,192,0,0,0,5,5,0,171,5,5,36,199,5,5,27,220,192,0,0,0,5,5,37,199,5,5,38,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,199,5,5,126,199,192,0,0,0,5,5,8,200,5,5,211,220,5,5,181,221,5,5,182,221,192,0,0,0,5,5,67,203,5,5,228,224,5,5,151,206,5,5,150,206,5,5,109,229,5,5,108,229,192,0,0,0,192,0,0,0,5,5,0,152,5,5,39,199,5,5,127,199,192,0,0,0,5,5,152,206,5,5,9,220,192,0,0,0,5,5,49,220,5,5,128,199,192,0,0,0,5,5,101,220,5,5,10,200,5,5,9,200,5,5,100,220,5,5,180,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,204,192,0,0,0,192,0,0,0,5,5,255,226,192,0,0,0,5,5,88,210,5,5,221,234,5,5,24,212,192,0,0,0,192,0,0,0,5,5,197,239,192,0,0,0,192,0,0,0,5,5,149,246,192,0,0,0,5,5,40,199,192,0,0,0,192,0,0,0,5,5,183,221,5,5,17,223,5,5,155,206,5,5,153,206,5,5,154,206,5,5,0,153,192,0,0,0,5,5,0,172,192,0,0,0,5,5,43,199,192,0,0,0,5,5,42,199,5,5,41,199,5,5,131,199,5,5,130,199,192,0,0,0,5,5,50,220,5,5,102,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,201,5,5,203,201,5,5,205,201,5,5,204,201,192,0,0,0,192,0,0,0,5,5,68,203,192,0,0,0,192,0,0,0,5,5,123,208,192,0,0,0,5,5,0,154,192,0,0,0,5,5,44,199,192,0,0,0,5,5,133,199,5,5,132,199,192,0,0,0,5,5,212,220,192,0,0,0,192,0,0,0,5,5,207,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,220,192,0,0,0,5,5,135,199,5,5,134,199,5,5,11,200,5,5,12,200,5,5,213,220,5,5,181,200,192,0,0,0,5,5,182,200,192,0,0,0,5,5,208,201,5,5,209,201,5,5,210,201,192,0,0,0,5,5,69,203,5,5,18,223,192,0,0,0,192,0,0,0,5,5,219,204,192,0,0,0,192,0,0,0,5,5,10,220,192,0,0,0,5,5,45,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,220,5,5,215,220,192,0,0,0,192,0,0,0,5,5,184,221,192,0,0,0,5,5,185,221,192,0,0,0,5,5,20,223,5,5,19,223,5,5,22,223,5,5,21,223,5,5,70,203,192,0,0,0,5,5,2,227,5,5,221,204,5,5,229,224,5,5,220,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,229,5,5,124,208,192,0,0,0,5,5,111,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,234,5,5,25,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,213,192,0,0,0,5,5,75,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,220,192,0,0,0,5,5,136,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,155,5,5,0,173,5,5,47,199,5,5,46,199,192,0,0,0,5,5,48,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,201,192,0,0,0,5,5,211,201,5,5,213,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,204,192,0,0,0,5,5,198,239,5,5,92,217,5,5,0,174,5,5,138,199,5,5,153,199,5,5,148,199,192,0,0,0,5,5,143,199,5,5,142,199,5,5,149,199,5,5,147,199,5,5,140,199,5,5,154,199,5,5,141,199,5,5,137,199,5,5,152,199,5,5,151,199,5,5,150,199,5,5,139,199,192,0,0,0,5,5,146,199,192,0,0,0,192,0,0,0,5,5,145,199,192,0,0,0,192,0,0,0,5,5,155,199,5,5,144,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,200,192,0,0,0,5,5,24,200,5,5,20,200,192,0,0,0,5,5,26,200,5,5,104,220,5,5,23,200,5,5,13,200,5,5,16,200,5,5,19,200,5,5,15,200,5,5,22,200,5,5,25,200,5,5,14,200,5,5,17,200,5,5,21,200,5,5,27,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,220,5,5,221,220,192,0,0,0,5,5,195,200,5,5,222,220,5,5,183,200,5,5,185,200,5,5,209,200,5,5,204,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,220,5,5,223,220,5,5,187,200,5,5,189,200,5,5,228,220,5,5,196,200,5,5,218,220,5,5,208,200,5,5,210,200,5,5,184,200,5,5,201,200,192,0,0,0,5,5,216,220,5,5,207,200,192,0,0,0,5,5,192,200,192,0,0,0,5,5,202,200,5,5,203,200,5,5,217,220,5,5,200,200,5,5,198,200,192,0,0,0,5,5,199,200,5,5,205,200,5,5,225,220,5,5,186,200,192,0,0,0,5,5,206,200,5,5,227,220,5,5,194,200,5,5,191,200,192,0,0,0,5,5,220,220,5,5,190,200,5,5,230,220,5,5,193,200,192,0,0,0,5,5,197,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,200,5,5,226,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,221,5,5,201,221,5,5,231,201,5,5,204,221,5,5,206,221,5,5,195,221,5,5,198,221,5,5,205,221,5,5,232,201,192,0,0,0,192,0,0,0,5,5,192,221,5,5,196,221,192,0,0,0,192,0,0,0,5,5,200,221,5,5,37,223,5,5,227,201,5,5,41,223,5,5,214,201,5,5,197,221,5,5,215,201,5,5,228,201,5,5,221,201,5,5,217,201,192,0,0,0,5,5,193,221,5,5,220,201,5,5,225,201,5,5,234,201,5,5,194,221,5,5,187,221,5,5,219,201,5,5,188,221,5,5,190,221,192,0,0,0,5,5,222,201,192,0,0,0,5,5,224,201,5,5,186,221,5,5,191,221,192,0,0,0,192,0,0,0,5,5,233,201,5,5,229,201,5,5,199,221,5,5,235,201,192,0,0,0,5,5,226,201,5,5,189,221,5,5,223,201,192,0,0,0,192,0,0,0,5,5,218,201,5,5,216,201,192,0,0,0,5,5,203,221,192,0,0,0,5,5,230,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,223,5,5,24,223,5,5,39,223,192,0,0,0,192,0,0,0,5,5,26,223,5,5,78,203,5,5,92,203,5,5,74,203,5,5,91,203,5,5,83,203,5,5,88,203,5,5,72,203,5,5,25,223,5,5,31,223,5,5,87,203,5,5,43,223,5,5,89,203,192,0,0,0,5,5,79,203,192,0,0,0,192,0,0,0,5,5,33,223,5,5,30,223,5,5,77,203,192,0,0,0,5,5,23,223,5,5,90,203,5,5,38,223,5,5,82,203,5,5,40,223,5,5,93,203,5,5,73,203,5,5,84,203,5,5,81,203,5,5,28,223,5,5,85,203,5,5,34,223,5,5,35,223,5,5,80,203,5,5,86,203,5,5,76,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,203,5,5,27,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,223,192,0,0,0,5,5,249,224,5,5,235,204,5,5,231,224,192,0,0,0,5,5,236,224,5,5,228,204,5,5,239,204,5,5,234,224,5,5,223,204,5,5,233,204,5,5,238,204,5,5,241,224,192,0,0,0,5,5,234,204,5,5,237,204,192,0,0,0,192,0,0,0,5,5,244,224,5,5,229,204,5,5,235,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,224,5,5,248,224,192,0,0,0,5,5,231,204,5,5,246,224,5,5,227,204,5,5,242,204,192,0,0,0,5,5,238,224,192,0,0,0,5,5,225,204,192,0,0,0,5,5,251,224,5,5,239,224,5,5,243,224,5,5,230,204,5,5,241,204,5,5,240,224,5,5,236,204,5,5,245,224,5,5,252,224,5,5,17,227,192,0,0,0,5,5,250,224,5,5,243,204,5,5,224,204,5,5,242,224,5,5,233,224,192,0,0,0,5,5,232,204,192,0,0,0,192,0,0,0,5,5,232,224,192,0,0,0,192,0,0,0,5,5,237,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,224,5,5,240,204,192,0,0,0,192,0,0,0,5,5,9,227,192,0,0,0,5,5,175,206,5,5,23,227,5,5,173,206,5,5,170,206,5,5,14,227,5,5,166,206,5,5,18,227,5,5,177,206,5,5,8,227,5,5,13,227,5,5,12,227,5,5,226,204,5,5,172,206,5,5,21,227,192,0,0,0,5,5,24,227,5,5,5,227,192,0,0,0,5,5,142,208,192,0,0,0,5,5,25,227,5,5,178,206,192,0,0,0,5,5,164,206,5,5,161,206,5,5,16,227,5,5,158,206,192,0,0,0,5,5,22,227,192,0,0,0,5,5,165,206,5,5,26,227,192,0,0,0,5,5,6,227,5,5,20,227,5,5,168,206,5,5,7,227,5,5,10,227,5,5,15,227,192,0,0,0,192,0,0,0,5,5,169,206,5,5,167,206,5,5,179,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,206,192,0,0,0,5,5,162,206,5,5,60,207,192,0,0,0,5,5,163,206,5,5,11,227,5,5,176,206,5,5,171,206,5,5,19,227,5,5,160,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,227,5,5,4,227,5,5,116,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,208,5,5,128,208,5,5,127,229,5,5,148,208,5,5,130,229,5,5,126,208,5,5,123,229,5,5,132,208,5,5,138,208,5,5,159,209,192,0,0,0,192,0,0,0,5,5,136,208,5,5,120,229,5,5,149,208,5,5,129,208,5,5,137,208,5,5,128,229,5,5,57,232,5,5,133,229,5,5,121,229,192,0,0,0,5,5,112,229,5,5,125,229,5,5,119,229,5,5,135,208,5,5,131,229,192,0,0,0,192,0,0,0,5,5,131,208,5,5,151,208,5,5,144,208,192,0,0,0,5,5,133,208,5,5,130,208,192,0,0,0,5,5,141,208,192,0,0,0,5,5,132,229,5,5,118,229,5,5,124,229,5,5,126,229,5,5,114,229,5,5,129,229,5,5,127,208,5,5,113,229,192,0,0,0,5,5,134,208,5,5,150,208,5,5,146,208,5,5,115,229,5,5,140,208,192,0,0,0,192,0,0,0,5,5,147,208,5,5,143,208,5,5,139,208,192,0,0,0,5,5,122,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,232,5,5,51,232,192,0,0,0,5,5,66,232,5,5,44,232,5,5,53,232,5,5,102,210,5,5,103,210,5,5,95,210,5,5,62,232,5,5,105,210,5,5,49,232,5,5,48,232,5,5,46,232,5,5,64,232,5,5,93,210,5,5,58,232,5,5,47,232,5,5,96,210,5,5,56,232,5,5,91,210,5,5,52,232,5,5,59,232,5,5,61,232,192,0,0,0,192,0,0,0,5,5,65,232,5,5,100,210,5,5,45,232,5,5,94,210,5,5,50,232,192,0,0,0,5,5,89,210,192,0,0,0,5,5,101,210,5,5,60,232,5,5,97,210,5,5,98,210,5,5,104,210,5,5,92,210,5,5,0,133,5,5,90,210,5,5,54,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,210,192,0,0,0,192,0,0,0,5,5,63,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,212,5,5,36,212,192,0,0,0,5,5,237,234,5,5,233,234,192,0,0,0,5,5,227,234,5,5,30,212,5,5,26,212,5,5,236,234,5,5,27,212,5,5,230,234,5,5,232,234,192,0,0,0,5,5,235,234,192,0,0,0,5,5,32,212,192,0,0,0,5,5,39,212,5,5,33,212,192,0,0,0,192,0,0,0,5,5,225,234,5,5,34,212,5,5,35,212,5,5,228,234,5,5,40,212,192,0,0,0,5,5,226,234,5,5,231,234,5,5,31,212,5,5,224,234,5,5,37,212,5,5,29,212,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,212,5,5,229,234,5,5,234,234,192,0,0,0,5,5,38,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,234,192,0,0,0,5,5,164,213,5,5,89,237,192,0,0,0,5,5,86,237,192,0,0,0,5,5,158,213,5,5,170,213,5,5,171,213,192,0,0,0,5,5,161,213,5,5,84,237,5,5,163,213,5,5,76,237,5,5,169,213,192,0,0,0,5,5,88,237,5,5,160,213,5,5,90,237,5,5,159,213,192,0,0,0,5,5,85,237,5,5,87,237,5,5,162,213,5,5,83,237,5,5,77,237,5,5,74,237,192,0,0,0,192,0,0,0,5,5,117,229,5,5,80,237,192,0,0,0,5,5,73,237,5,5,79,237,5,5,78,237,192,0,0,0,5,5,75,237,192,0,0,0,5,5,166,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,213,5,5,81,237,5,5,37,215,5,5,82,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,239,192,0,0,0,5,5,200,239,192,0,0,0,5,5,49,215,5,5,204,239,5,5,41,215,5,5,45,215,5,5,203,239,192,0,0,0,5,5,44,215,5,5,40,215,5,5,43,215,5,5,38,215,5,5,48,215,5,5,205,239,5,5,201,239,5,5,47,215,5,5,199,239,5,5,46,215,5,5,206,239,5,5,202,239,5,5,168,213,192,0,0,0,5,5,50,215,5,5,208,239,5,5,42,215,5,5,39,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,242,5,5,13,242,5,5,76,216,5,5,14,242,5,5,12,242,5,5,10,242,5,5,9,242,5,5,78,216,5,5,8,242,5,5,79,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,242,5,5,7,242,5,5,75,216,5,5,80,216,5,5,77,216,192,0,0,0,192,0,0,0,5,5,5,242,192,0,0,0,5,5,93,217,192,0,0,0,5,5,218,243,5,5,216,243,5,5,221,243,5,5,219,243,192,0,0,0,5,5,217,243,5,5,220,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,218,5,5,78,245,5,5,79,245,5,5,159,218,192,0,0,0,5,5,80,245,5,5,76,245,5,5,81,245,5,5,77,245,5,5,94,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,246,5,5,152,246,5,5,162,218,5,5,151,246,5,5,161,218,5,5,160,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,218,5,5,153,247,5,5,154,247,192,0,0,0,5,5,3,219,5,5,2,219,5,5,4,219,5,5,152,247,192,0,0,0,5,5,75,248,5,5,74,248,192,0,0,0,5,5,85,219,5,5,87,219,5,5,86,219,5,5,76,248,5,5,142,219,5,5,85,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,219,192,0,0,0,5,5,84,249,5,5,157,249,192,0,0,0,192,0,0,0,5,5,15,220,192,0,0,0,192,0,0,0,5,5,157,199,5,5,156,199,192,0,0,0,5,5,30,200,5,5,29,200,5,5,106,220,5,5,28,200,5,5,105,220,192,0,0,0,192,0,0,0,5,5,213,200,5,5,233,220,192,0,0,0,5,5,232,220,192,0,0,0,192,0,0,0,5,5,211,200,5,5,214,200,192,0,0,0,192,0,0,0,5,5,231,220,192,0,0,0,5,5,212,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,221,192,0,0,0,5,5,208,221,5,5,236,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,203,192,0,0,0,5,5,253,224,5,5,254,224,5,5,244,204,5,5,245,204,192,0,0,0,192,0,0,0,5,5,28,227,5,5,180,206,5,5,182,206,5,5,27,227,5,5,181,206,5,5,134,229,5,5,152,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,210,5,5,107,210,5,5,67,232,192,0,0,0,5,5,43,212,192,0,0,0,5,5,42,212,192,0,0,0,5,5,91,237,5,5,210,239,5,5,209,239,192,0,0,0,5,5,217,249,5,5,0,175,5,5,30,220,192,0,0,0,5,5,51,220,5,5,52,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,200,5,5,37,200,5,5,108,220,192,0,0,0,5,5,35,200,5,5,34,200,5,5,107,220,5,5,36,200,5,5,32,200,192,0,0,0,192,0,0,0,5,5,31,200,5,5,109,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,200,192,0,0,0,192,0,0,0,5,5,221,200,192,0,0,0,5,5,217,200,5,5,234,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,220,192,0,0,0,5,5,219,200,192,0,0,0,5,5,237,220,5,5,215,200,5,5,238,220,5,5,236,220,5,5,218,200,5,5,220,200,5,5,223,200,5,5,222,200,5,5,216,200,5,5,239,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,201,5,5,221,221,192,0,0,0,5,5,243,201,192,0,0,0,5,5,242,201,192,0,0,0,5,5,222,221,5,5,240,201,5,5,239,201,5,5,212,221,192,0,0,0,5,5,211,221,192,0,0,0,5,5,209,221,5,5,214,221,5,5,213,221,5,5,210,221,5,5,219,221,5,5,220,221,5,5,217,221,5,5,215,221,5,5,238,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,221,5,5,244,201,5,5,223,221,192,0,0,0,192,0,0,0,5,5,216,221,192,0,0,0,5,5,95,203,5,5,237,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,203,5,5,48,223,192,0,0,0,192,0,0,0,5,5,54,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,203,5,5,52,223,5,5,58,223,192,0,0,0,5,5,49,223,5,5,53,223,5,5,55,223,5,5,57,223,5,5,51,223,192,0,0,0,5,5,50,223,5,5,45,223,5,5,46,223,5,5,97,203,192,0,0,0,5,5,99,203,5,5,98,203,5,5,47,223,5,5,56,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,223,5,5,10,225,192,0,0,0,5,5,9,225,5,5,14,225,5,5,5,225,192,0,0,0,5,5,8,225,5,5,7,225,192,0,0,0,5,5,11,225,192,0,0,0,5,5,15,225,5,5,246,204,5,5,249,204,192,0,0,0,192,0,0,0,5,5,6,225,5,5,12,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,204,5,5,255,224,192,0,0,0,5,5,100,203,5,5,42,227,5,5,13,225,192,0,0,0,5,5,4,225,192,0,0,0,5,5,247,204,5,5,3,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,227,192,0,0,0,192,0,0,0,5,5,183,206,5,5,187,206,5,5,49,227,5,5,31,227,5,5,45,227,5,5,188,206,5,5,47,227,192,0,0,0,5,5,53,227,192,0,0,0,5,5,57,227,192,0,0,0,192,0,0,0,5,5,48,227,5,5,36,227,5,5,44,227,192,0,0,0,5,5,58,227,5,5,56,227,5,5,46,227,5,5,41,227,5,5,34,227,5,5,142,229,5,5,32,227,5,5,192,206,5,5,39,227,5,5,193,206,5,5,189,206,5,5,29,227,5,5,51,227,5,5,37,227,192,0,0,0,192,0,0,0,5,5,35,227,5,5,54,227,5,5,190,206,192,0,0,0,5,5,60,227,5,5,184,206,5,5,186,206,5,5,43,227,5,5,38,227,5,5,250,204,5,5,185,206,5,5,40,227,5,5,55,227,5,5,59,227,5,5,50,227,192,0,0,0,5,5,52,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,229,192,0,0,0,5,5,146,229,5,5,145,229,5,5,160,208,5,5,138,229,192,0,0,0,5,5,161,208,5,5,159,208,192,0,0,0,5,5,140,229,5,5,156,208,5,5,144,229,192,0,0,0,5,5,139,229,5,5,141,229,5,5,135,229,5,5,154,208,192,0,0,0,5,5,154,229,5,5,153,229,5,5,150,229,5,5,153,208,5,5,157,208,5,5,158,208,5,5,2,225,5,5,147,229,5,5,155,208,5,5,191,206,5,5,149,229,5,5,136,229,5,5,152,229,5,5,151,229,192,0,0,0,5,5,155,229,192,0,0,0,5,5,81,232,192,0,0,0,5,5,148,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,229,5,5,73,232,5,5,117,210,5,5,120,210,5,5,115,210,5,5,72,232,5,5,76,232,5,5,71,232,192,0,0,0,5,5,109,210,5,5,119,210,5,5,68,232,5,5,113,210,5,5,75,232,192,0,0,0,5,5,111,210,5,5,110,210,5,5,78,232,5,5,112,210,5,5,80,232,192,0,0,0,5,5,77,232,5,5,108,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,210,5,5,82,232,5,5,70,232,5,5,79,232,192,0,0,0,192,0,0,0,5,5,69,232,192,0,0,0,192,0,0,0,5,5,114,210,192,0,0,0,5,5,116,210,192,0,0,0,5,5,74,232,192,0,0,0,5,5,83,232,192,0,0,0,192,0,0,0,5,5,245,234,5,5,44,212,5,5,251,234,192,0,0,0,192,0,0,0,5,5,49,212,5,5,247,234,5,5,254,234,5,5,239,234,5,5,51,212,5,5,45,212,5,5,244,234,5,5,172,213,5,5,243,234,5,5,252,234,5,5,46,212,192,0,0,0,5,5,50,212,5,5,242,234,5,5,248,234,5,5,253,234,5,5,238,234,5,5,48,212,5,5,246,234,192,0,0,0,192,0,0,0,5,5,250,234,5,5,2,235,5,5,240,234,5,5,249,234,192,0,0,0,5,5,47,212,5,5,255,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,213,5,5,93,237,5,5,174,213,5,5,173,213,5,5,95,237,5,5,100,237,192,0,0,0,5,5,96,237,192,0,0,0,5,5,99,237,5,5,179,213,192,0,0,0,5,5,24,215,5,5,178,213,192,0,0,0,5,5,92,237,5,5,98,237,192,0,0,0,5,5,177,213,5,5,97,237,192,0,0,0,5,5,94,237,192,0,0,0,5,5,175,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,239,192,0,0,0,5,5,217,239,5,5,212,239,5,5,52,215,5,5,214,239,192,0,0,0,5,5,51,215,5,5,216,239,192,0,0,0,192,0,0,0,5,5,54,215,5,5,218,239,5,5,53,215,5,5,211,239,5,5,213,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,216,5,5,17,242,192,0,0,0,5,5,83,216,5,5,18,242,5,5,82,216,5,5,16,242,5,5,81,216,5,5,15,242,192,0,0,0,5,5,96,217,5,5,95,217,5,5,82,245,5,5,84,245,192,0,0,0,5,5,83,245,5,5,13,218,5,5,14,218,192,0,0,0,192,0,0,0,5,5,15,218,5,5,153,246,5,5,164,218,192,0,0,0,192,0,0,0,5,5,227,248,5,5,226,248,5,5,184,219,192,0,0,0,5,5,0,176,5,5,49,199,192,0,0,0,192,0,0,0,5,5,225,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,208,5,5,163,208,192,0,0,0,5,5,84,232,5,5,52,212,5,5,3,235,5,5,101,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,220,192,0,0,0,192,0,0,0,5,5,240,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,221,5,5,60,223,5,5,16,225,5,5,251,204,192,0,0,0,192,0,0,0,5,5,85,245,192,0,0,0,5,5,5,219,5,5,0,177,5,5,158,199,5,5,53,220,192,0,0,0,5,5,38,200,5,5,39,200,192,0,0,0,5,5,245,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,206,192,0,0,0,5,5,54,212,192,0,0,0,5,5,55,212,5,5,53,212,192,0,0,0,5,5,0,178,192,0,0,0,5,5,50,199,5,5,52,199,5,5,51,199,5,5,32,220,5,5,53,199,5,5,159,199,5,5,54,220,192,0,0,0,5,5,160,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,200,5,5,41,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,220,192,0,0,0,5,5,226,200,192,0,0,0,5,5,241,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,201,5,5,225,221,192,0,0,0,5,5,247,201,5,5,248,201,5,5,246,201,5,5,17,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,203,5,5,105,203,5,5,107,203,5,5,104,203,192,0,0,0,5,5,61,223,5,5,250,201,5,5,103,203,192,0,0,0,5,5,252,204,5,5,253,204,192,0,0,0,5,5,254,204,192,0,0,0,5,5,61,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,208,5,5,156,229,5,5,195,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,210,192,0,0,0,5,5,57,212,5,5,56,212,5,5,4,235,192,0,0,0,5,5,180,213,5,5,55,215,192,0,0,0,5,5,222,243,5,5,77,248,5,5,228,248,5,5,0,179,5,5,161,199,192,0,0,0,5,5,162,199,5,5,116,220,5,5,43,200,5,5,46,200,192,0,0,0,5,5,114,220,5,5,112,220,5,5,45,200,5,5,115,220,5,5,117,220,5,5,111,220,5,5,48,200,5,5,47,200,5,5,44,200,5,5,42,200,5,5,113,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,200,192,0,0,0,192,0,0,0,5,5,234,200,5,5,246,220,5,5,249,220,5,5,248,220,192,0,0,0,5,5,228,200,5,5,236,200,192,0,0,0,192,0,0,0,5,5,233,200,5,5,245,220,5,5,243,220,5,5,232,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,200,5,5,230,200,192,0,0,0,5,5,244,220,5,5,251,220,5,5,247,220,5,5,231,200,5,5,235,200,5,5,238,200,5,5,242,220,5,5,250,220,5,5,229,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,201,5,5,9,202,192,0,0,0,5,5,237,221,5,5,230,221,5,5,10,202,5,5,241,221,5,5,226,221,5,5,233,221,192,0,0,0,192,0,0,0,5,5,254,201,5,5,227,221,5,5,252,201,5,5,234,221,5,5,238,221,5,5,251,201,192,0,0,0,5,5,239,221,5,5,232,221,192,0,0,0,5,5,235,221,192,0,0,0,5,5,12,202,5,5,3,202,5,5,242,221,5,5,240,221,192,0,0,0,5,5,8,202,5,5,6,202,5,5,231,221,5,5,5,202,5,5,229,221,5,5,228,221,5,5,4,202,5,5,2,202,5,5,11,202,5,5,7,202,5,5,253,201,192,0,0,0,5,5,236,221,192,0,0,0,5,5,109,203,192,0,0,0,5,5,116,203,5,5,75,223,5,5,108,203,5,5,67,223,5,5,63,223,192,0,0,0,5,5,79,223,5,5,62,223,192,0,0,0,5,5,111,203,5,5,72,223,5,5,114,203,5,5,117,203,192,0,0,0,5,5,112,203,5,5,76,223,5,5,115,203,192,0,0,0,5,5,7,205,5,5,82,223,5,5,64,223,192,0,0,0,192,0,0,0,5,5,66,223,5,5,73,223,5,5,77,223,5,5,81,223,5,5,78,223,5,5,71,223,5,5,74,223,192,0,0,0,192,0,0,0,5,5,68,223,5,5,119,203,5,5,70,223,5,5,69,223,5,5,80,223,5,5,110,203,5,5,65,223,5,5,118,203,192,0,0,0,5,5,113,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,205,5,5,25,225,192,0,0,0,5,5,12,205,192,0,0,0,192,0,0,0,5,5,23,225,192,0,0,0,5,5,255,204,192,0,0,0,5,5,6,205,192,0,0,0,5,5,22,225,5,5,19,225,5,5,24,225,5,5,2,205,5,5,18,225,192,0,0,0,5,5,5,205,5,5,3,205,192,0,0,0,5,5,26,225,5,5,4,205,5,5,8,205,192,0,0,0,192,0,0,0,5,5,9,205,192,0,0,0,5,5,11,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,225,5,5,21,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,225,192,0,0,0,5,5,68,227,5,5,196,206,5,5,170,229,5,5,67,227,5,5,86,227,192,0,0,0,192,0,0,0,5,5,202,206,192,0,0,0,5,5,84,227,192,0,0,0,5,5,201,206,5,5,197,206,5,5,93,227,5,5,77,227,5,5,80,227,192,0,0,0,5,5,205,206,5,5,90,227,5,5,82,227,5,5,198,206,5,5,206,206,192,0,0,0,5,5,87,227,5,5,85,227,192,0,0,0,192,0,0,0,5,5,70,227,5,5,91,227,5,5,79,227,5,5,74,227,192,0,0,0,5,5,64,227,5,5,92,227,5,5,76,227,5,5,63,227,192,0,0,0,5,5,204,206,5,5,81,227,5,5,94,227,5,5,78,227,5,5,66,227,5,5,71,227,5,5,62,227,192,0,0,0,5,5,203,206,192,0,0,0,5,5,75,227,5,5,72,227,5,5,199,206,5,5,65,227,192,0,0,0,5,5,89,227,5,5,200,206,192,0,0,0,5,5,73,227,5,5,69,227,192,0,0,0,192,0,0,0,5,5,88,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,208,5,5,163,229,192,0,0,0,5,5,160,229,5,5,177,229,5,5,165,229,5,5,178,229,192,0,0,0,5,5,167,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,229,5,5,171,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,229,5,5,175,229,5,5,179,229,192,0,0,0,5,5,83,227,5,5,181,229,5,5,104,232,192,0,0,0,5,5,168,208,5,5,182,229,5,5,158,229,5,5,168,229,192,0,0,0,5,5,173,229,192,0,0,0,192,0,0,0,5,5,166,208,5,5,169,208,5,5,180,229,5,5,183,229,5,5,162,229,5,5,159,229,192,0,0,0,192,0,0,0,5,5,161,229,192,0,0,0,192,0,0,0,5,5,166,229,5,5,164,229,5,5,170,208,192,0,0,0,5,5,176,229,192,0,0,0,192,0,0,0,5,5,167,229,192,0,0,0,5,5,169,229,5,5,157,229,5,5,92,232,5,5,90,232,5,5,130,210,5,5,128,210,5,5,100,232,5,5,91,232,5,5,101,232,5,5,97,232,5,5,89,232,5,5,103,232,5,5,88,232,5,5,95,232,5,5,127,210,5,5,126,210,5,5,125,210,5,5,93,232,5,5,98,232,5,5,122,210,5,5,129,210,192,0,0,0,5,5,86,232,192,0,0,0,5,5,96,232,5,5,85,232,5,5,94,232,5,5,123,210,5,5,99,232,5,5,87,232,5,5,124,210,5,5,102,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,235,5,5,62,212,5,5,61,212,5,5,63,212,5,5,20,235,5,5,10,235,5,5,16,235,5,5,5,235,5,5,19,235,5,5,18,235,5,5,22,235,5,5,15,235,5,5,58,212,5,5,14,235,5,5,64,212,192,0,0,0,5,5,7,235,5,5,59,212,192,0,0,0,5,5,21,235,5,5,60,212,5,5,9,235,5,5,12,235,5,5,17,235,5,5,11,235,5,5,6,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,235,5,5,103,237,5,5,184,213,5,5,106,237,5,5,105,237,5,5,108,237,5,5,110,237,192,0,0,0,5,5,182,213,192,0,0,0,5,5,104,237,192,0,0,0,5,5,102,237,192,0,0,0,5,5,111,237,5,5,109,237,5,5,107,237,192,0,0,0,5,5,113,237,192,0,0,0,5,5,112,237,5,5,186,213,5,5,181,213,192,0,0,0,5,5,183,213,5,5,185,213,192,0,0,0,192,0,0,0,5,5,114,237,5,5,225,239,192,0,0,0,192,0,0,0,5,5,224,239,5,5,223,239,192,0,0,0,5,5,226,239,5,5,219,239,192,0,0,0,5,5,220,239,5,5,228,239,5,5,221,239,192,0,0,0,5,5,56,215,5,5,230,239,192,0,0,0,5,5,229,239,5,5,222,239,192,0,0,0,5,5,22,242,5,5,87,216,5,5,20,242,5,5,25,242,5,5,24,242,5,5,227,239,192,0,0,0,5,5,86,216,192,0,0,0,5,5,23,242,5,5,19,242,5,5,27,242,5,5,26,242,5,5,85,216,192,0,0,0,5,5,21,242,192,0,0,0,5,5,57,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,243,5,5,86,245,5,5,87,245,5,5,88,245,5,5,165,218,192,0,0,0,192,0,0,0,5,5,166,218,192,0,0,0,5,5,154,246,192,0,0,0,5,5,156,247,5,5,155,247,192,0,0,0,192,0,0,0,5,5,78,248,5,5,79,248,5,5,229,248,5,5,86,249,192,0,0,0,5,5,0,180,5,5,0,181,192,0,0,0,5,5,0,182,5,5,54,199,5,5,163,199,5,5,118,220,5,5,49,200,5,5,50,200,192,0,0,0,5,5,241,200,5,5,242,200,5,5,240,200,5,5,239,200,192,0,0,0,5,5,13,202,192,0,0,0,192,0,0,0,5,5,243,221,5,5,15,202,5,5,14,202,5,5,244,221,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,203,192,0,0,0,5,5,14,205,5,5,28,225,192,0,0,0,5,5,96,227,192,0,0,0,5,5,207,206,5,5,172,208,5,5,95,227,5,5,171,208,192,0,0,0,5,5,65,212,192,0,0,0,5,5,23,235,5,5,58,215,192,0,0,0,5,5,88,216,5,5,28,242,192,0,0,0,5,5,167,218,192,0,0,0,5,5,88,219,192,0,0,0,5,5,55,220,192,0,0,0,5,5,164,199,5,5,56,220,5,5,53,200,192,0,0,0,5,5,51,200,5,5,52,200,5,5,54,200,192,0,0,0,5,5,244,200,5,5,243,200,192,0,0,0,5,5,252,220,5,5,245,200,192,0,0,0,192,0,0,0,5,5,253,220,5,5,245,221,192,0,0,0,5,5,246,221,192,0,0,0,5,5,16,202,5,5,18,202,5,5,20,202,5,5,17,202,5,5,21,202,5,5,19,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,203,5,5,121,203,5,5,123,203,5,5,125,203,5,5,122,203,5,5,29,225,5,5,83,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,225,5,5,30,225,5,5,20,205,192,0,0,0,5,5,16,205,192,0,0,0,192,0,0,0,5,5,17,205,5,5,19,205,5,5,21,205,5,5,18,205,192,0,0,0,5,5,23,205,5,5,22,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,206,5,5,98,227,5,5,97,227,5,5,211,206,192,0,0,0,5,5,210,206,5,5,209,206,5,5,213,206,5,5,208,206,192,0,0,0,192,0,0,0,5,5,189,229,5,5,186,229,5,5,174,208,5,5,185,229,5,5,190,229,192,0,0,0,5,5,176,208,5,5,188,229,5,5,173,208,5,5,175,208,5,5,187,229,192,0,0,0,5,5,105,232,192,0,0,0,5,5,106,232,5,5,107,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,212,5,5,74,212,5,5,24,235,5,5,68,212,5,5,72,212,5,5,25,235,5,5,73,212,5,5,69,212,5,5,70,212,5,5,67,212,5,5,71,212,5,5,189,213,5,5,184,229,5,5,190,213,5,5,188,213,192,0,0,0,5,5,187,213,5,5,231,239,5,5,59,215,5,5,29,242,5,5,30,242,192,0,0,0,192,0,0,0,5,5,16,218,5,5,168,218,192,0,0,0,5,5,0,183,192,0,0,0,5,5,55,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,203,192,0,0,0,5,5,32,225,5,5,24,205,192,0,0,0,192,0,0,0,5,5,216,206,5,5,215,206,5,5,214,206,5,5,177,208,5,5,178,208,5,5,191,229,5,5,75,212,5,5,60,215,5,5,0,184,5,5,33,220,5,5,55,199,5,5,57,220,192,0,0,0,192,0,0,0,5,5,119,220,5,5,56,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,232,192,0,0,0,192,0,0,0,5,5,0,185,192,0,0,0,5,5,56,199,5,5,120,220,192,0,0,0,192,0,0,0,5,5,254,220,192,0,0,0,5,5,255,220,192,0,0,0,5,5,246,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,229,5,5,179,208,192,0,0,0,5,5,109,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,216,5,5,0,186,5,5,9,199,5,5,57,199,5,5,58,220,5,5,165,199,192,0,0,0,5,5,250,200,5,5,249,200,5,5,247,200,5,5,248,200,192,0,0,0,192,0,0,0,5,5,247,221,5,5,24,202,5,5,25,202,5,5,248,221,5,5,23,202,192,0,0,0,192,0,0,0,5,5,130,203,5,5,84,223,5,5,129,203,5,5,127,203,5,5,128,203,5,5,27,205,5,5,25,205,192,0,0,0,192,0,0,0,5,5,34,225,5,5,26,205,5,5,33,225,192,0,0,0,5,5,15,205,5,5,99,227,192,0,0,0,192,0,0,0,5,5,218,206,5,5,219,206,192,0,0,0,192,0,0,0,5,5,217,206,192,0,0,0,5,5,76,212,5,5,26,235,5,5,191,213,5,5,192,213,192,0,0,0,5,5,115,237,5,5,90,216,5,5,224,243,5,5,225,243,192,0,0,0,5,5,6,219,5,5,87,249,5,5,16,220,5,5,58,199,192,0,0,0,5,5,0,187,192,0,0,0,5,5,60,220,5,5,59,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,200,5,5,122,220,5,5,123,220,5,5,121,220,192,0,0,0,5,5,124,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,221,192,0,0,0,5,5,4,221,5,5,6,221,5,5,8,221,5,5,5,221,5,5,254,200,5,5,2,221,192,0,0,0,5,5,3,221,5,5,251,200,5,5,252,200,5,5,7,221,5,5,10,221,5,5,253,200,5,5,11,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,222,192,0,0,0,5,5,2,222,5,5,251,221,5,5,27,202,5,5,5,222,5,5,3,222,5,5,250,221,5,5,9,222,5,5,12,222,5,5,7,222,5,5,254,221,5,5,29,202,5,5,6,222,5,5,30,202,5,5,255,221,5,5,4,222,5,5,249,221,5,5,253,221,5,5,11,222,5,5,31,202,192,0,0,0,5,5,32,202,192,0,0,0,5,5,252,221,5,5,10,222,5,5,26,202,5,5,28,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,223,5,5,94,223,5,5,100,223,5,5,93,223,5,5,95,223,5,5,89,223,5,5,87,223,192,0,0,0,5,5,102,223,5,5,99,223,5,5,85,223,192,0,0,0,5,5,132,203,5,5,97,223,5,5,98,223,192,0,0,0,5,5,96,223,5,5,88,223,5,5,86,223,5,5,131,203,5,5,92,223,5,5,90,223,192,0,0,0,192,0,0,0,5,5,91,223,5,5,103,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,205,192,0,0,0,5,5,31,205,192,0,0,0,5,5,35,225,5,5,28,205,5,5,37,225,192,0,0,0,5,5,33,205,5,5,38,225,192,0,0,0,192,0,0,0,5,5,36,205,192,0,0,0,5,5,34,205,5,5,39,225,5,5,104,223,5,5,41,225,192,0,0,0,5,5,30,205,192,0,0,0,5,5,29,205,192,0,0,0,5,5,36,225,5,5,40,225,5,5,35,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,206,5,5,220,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,227,5,5,105,227,5,5,107,227,5,5,222,206,5,5,110,227,192,0,0,0,5,5,226,206,5,5,112,227,192,0,0,0,5,5,228,206,192,0,0,0,5,5,224,206,5,5,232,206,192,0,0,0,5,5,229,206,5,5,103,227,5,5,223,206,192,0,0,0,5,5,102,227,5,5,100,227,5,5,114,227,5,5,104,227,192,0,0,0,5,5,225,206,5,5,113,227,5,5,230,206,5,5,109,227,5,5,108,227,5,5,231,206,5,5,106,227,5,5,227,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,227,192,0,0,0,5,5,111,227,5,5,207,229,5,5,214,229,5,5,203,229,5,5,182,208,5,5,199,229,5,5,215,229,5,5,193,229,5,5,212,229,5,5,210,229,5,5,204,229,192,0,0,0,5,5,213,229,5,5,206,229,192,0,0,0,5,5,198,229,5,5,216,229,5,5,196,229,5,5,209,229,5,5,194,229,192,0,0,0,5,5,217,229,192,0,0,0,5,5,183,208,192,0,0,0,5,5,211,229,5,5,112,232,5,5,197,229,5,5,180,208,192,0,0,0,5,5,201,229,192,0,0,0,5,5,181,208,5,5,200,229,5,5,205,229,192,0,0,0,192,0,0,0,5,5,202,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,232,5,5,111,232,192,0,0,0,5,5,113,232,192,0,0,0,5,5,118,232,5,5,117,232,5,5,131,210,192,0,0,0,5,5,195,229,5,5,115,232,192,0,0,0,192,0,0,0,5,5,132,210,192,0,0,0,5,5,110,232,5,5,114,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,235,192,0,0,0,5,5,40,235,5,5,31,235,192,0,0,0,5,5,38,235,5,5,29,235,5,5,37,235,5,5,41,235,5,5,28,235,5,5,32,235,5,5,27,235,192,0,0,0,5,5,77,212,192,0,0,0,5,5,30,235,5,5,78,212,5,5,36,235,5,5,35,235,5,5,34,235,192,0,0,0,192,0,0,0,5,5,39,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,237,5,5,121,237,5,5,194,213,5,5,122,237,192,0,0,0,5,5,117,237,192,0,0,0,5,5,116,237,5,5,126,237,192,0,0,0,5,5,124,237,5,5,193,213,5,5,127,237,5,5,118,237,5,5,123,237,5,5,125,237,5,5,120,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,239,5,5,240,239,5,5,234,239,5,5,239,239,192,0,0,0,5,5,232,239,5,5,242,239,5,5,238,239,5,5,243,239,5,5,237,239,5,5,233,239,5,5,241,239,192,0,0,0,5,5,244,239,5,5,236,239,192,0,0,0,5,5,31,242,5,5,94,216,192,0,0,0,5,5,92,216,192,0,0,0,5,5,91,216,5,5,93,216,192,0,0,0,192,0,0,0,5,5,226,243,192,0,0,0,5,5,238,244,5,5,89,245,192,0,0,0,192,0,0,0,5,5,155,246,5,5,156,246,192,0,0,0,5,5,169,218,192,0,0,0,5,5,157,247,192,0,0,0,5,5,7,219,192,0,0,0,5,5,158,247,192,0,0,0,5,5,81,248,5,5,90,219,192,0,0,0,5,5,89,219,5,5,80,248,5,5,143,219,192,0,0,0,5,5,230,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,188,5,5,58,200,5,5,125,220,5,5,12,221,5,5,142,201,5,5,233,206,192,0,0,0,192,0,0,0,5,5,0,189,5,5,168,199,5,5,167,199,5,5,166,199,192,0,0,0,192,0,0,0,5,5,255,200,192,0,0,0,192,0,0,0,5,5,37,205,192,0,0,0,5,5,120,232,5,5,0,190,5,5,0,191,5,5,0,192,5,5,59,199,192,0,0,0,192,0,0,0,5,5,133,203,192,0,0,0,5,5,105,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,208,5,5,0,193,5,5,34,220,192,0,0,0,192,0,0,0,5,5,169,199,5,5,170,199,5,5,61,220,192,0,0,0,5,5,59,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,221,192,0,0,0,5,5,2,201,192,0,0,0,5,5,14,221,192,0,0,0,192,0,0,0,5,5,38,202,192,0,0,0,192,0,0,0,5,5,14,222,5,5,36,202,5,5,35,202,5,5,13,222,5,5,33,202,5,5,15,222,5,5,34,202,5,5,37,202,192,0,0,0,5,5,134,203,192,0,0,0,5,5,136,203,5,5,109,223,5,5,106,223,5,5,107,223,5,5,108,223,5,5,110,223,5,5,135,203,192,0,0,0,192,0,0,0,5,5,43,225,5,5,42,225,192,0,0,0,5,5,39,205,192,0,0,0,5,5,38,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,206,5,5,117,227,192,0,0,0,5,5,235,206,5,5,237,206,5,5,234,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,208,5,5,116,227,192,0,0,0,5,5,187,208,5,5,219,229,192,0,0,0,5,5,188,208,5,5,218,229,5,5,185,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,232,5,5,125,232,5,5,133,210,5,5,124,232,5,5,122,232,5,5,121,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,235,5,5,83,212,5,5,81,212,192,0,0,0,5,5,82,212,5,5,42,235,5,5,43,235,192,0,0,0,5,5,79,212,5,5,131,237,5,5,129,237,192,0,0,0,5,5,196,213,5,5,130,237,5,5,197,213,5,5,195,213,5,5,80,212,192,0,0,0,192,0,0,0,5,5,247,239,5,5,245,239,5,5,246,239,5,5,128,237,5,5,33,242,5,5,95,216,5,5,32,242,5,5,227,243,5,5,228,243,5,5,248,239,5,5,90,245,192,0,0,0,5,5,0,194,5,5,171,199,5,5,61,200,5,5,126,220,5,5,60,200,192,0,0,0,5,5,39,202,5,5,134,210,192,0,0,0,5,5,60,199,5,5,172,199,5,5,137,203,5,5,189,208,192,0,0,0,5,5,62,220,192,0,0,0,5,5,63,220,192,0,0,0,5,5,127,220,192,0,0,0,192,0,0,0,5,5,4,201,5,5,18,221,5,5,16,221,5,5,5,201,5,5,15,221,5,5,17,221,5,5,19,221,192,0,0,0,5,5,3,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,202,5,5,44,202,5,5,41,202,192,0,0,0,192,0,0,0,5,5,40,202,5,5,114,223,5,5,42,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,203,192,0,0,0,5,5,113,223,5,5,115,223,5,5,112,223,5,5,116,223,5,5,139,203,5,5,42,205,5,5,44,225,192,0,0,0,5,5,46,225,5,5,40,205,5,5,47,225,5,5,41,205,5,5,45,225,192,0,0,0,5,5,111,223,5,5,118,227,5,5,121,227,5,5,122,227,5,5,119,227,5,5,241,206,5,5,240,206,5,5,238,206,5,5,239,206,5,5,120,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,206,192,0,0,0,192,0,0,0,5,5,191,208,5,5,192,208,192,0,0,0,5,5,193,208,5,5,126,232,5,5,128,232,5,5,130,232,5,5,136,210,5,5,135,210,5,5,190,208,5,5,129,232,5,5,127,232,192,0,0,0,5,5,48,235,192,0,0,0,192,0,0,0,5,5,46,235,5,5,52,235,5,5,84,212,5,5,53,235,5,5,50,235,5,5,85,212,5,5,47,235,5,5,45,235,5,5,51,235,5,5,199,213,5,5,133,237,5,5,49,235,5,5,201,213,5,5,134,237,5,5,200,213,5,5,203,213,5,5,135,237,5,5,198,213,5,5,202,213,192,0,0,0,5,5,253,239,5,5,251,239,5,5,250,239,5,5,252,239,5,5,249,239,192,0,0,0,192,0,0,0,5,5,18,218,192,0,0,0,5,5,157,246,5,5,158,246,192,0,0,0,5,5,159,247,5,5,82,248,5,5,218,219,192,0,0,0,192,0,0,0,5,5,45,202,5,5,6,201,192,0,0,0,192,0,0,0,5,5,140,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,195,5,5,61,199,192,0,0,0,5,5,173,199,5,5,128,220,192,0,0,0,5,5,7,201,5,5,20,221,192,0,0,0,5,5,117,223,5,5,141,203,192,0,0,0,5,5,86,212,5,5,0,196,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,200,192,0,0,0,192,0,0,0,5,5,137,210,5,5,0,197,5,5,62,199,5,5,63,199,192,0,0,0,5,5,175,199,5,5,174,199,192,0,0,0,5,5,129,220,5,5,63,200,192,0,0,0,5,5,21,221,192,0,0,0,5,5,8,201,192,0,0,0,192,0,0,0,5,5,17,222,5,5,18,222,5,5,19,222,192,0,0,0,5,5,46,202,5,5,47,202,5,5,16,222,5,5,48,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,203,5,5,118,223,192,0,0,0,5,5,49,225,5,5,43,205,192,0,0,0,5,5,48,225,192,0,0,0,5,5,243,206,5,5,123,227,5,5,244,206,5,5,124,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,232,192,0,0,0,192,0,0,0,5,5,55,235,5,5,54,235,192,0,0,0,5,5,87,212,192,0,0,0,5,5,204,213,5,5,136,237,5,5,61,215,5,5,254,239,5,5,96,216,192,0,0,0,5,5,91,219,5,5,232,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,222,192,0,0,0,5,5,119,223,5,5,245,206,5,5,220,229,5,5,138,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,201,192,0,0,0,5,5,9,201,5,5,143,203,192,0,0,0,5,5,50,225,192,0,0,0,5,5,247,206,5,5,11,208,5,5,248,206,5,5,246,206,5,5,195,208,192,0,0,0,5,5,56,235,5,5,88,212,5,5,205,213,192,0,0,0,5,5,17,220,5,5,130,220,192,0,0,0,5,5,23,221,5,5,11,201,5,5,22,221,5,5,12,201,192,0,0,0,192,0,0,0,5,5,52,202,5,5,23,222,5,5,22,222,5,5,51,202,5,5,49,202,5,5,50,202,5,5,21,222,192,0,0,0,192,0,0,0,5,5,145,203,5,5,120,223,5,5,148,203,5,5,144,203,5,5,150,203,5,5,146,203,5,5,147,203,5,5,149,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,205,5,5,45,205,5,5,44,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,227,5,5,249,206,5,5,252,206,5,5,250,206,192,0,0,0,5,5,125,227,5,5,255,206,192,0,0,0,5,5,251,206,5,5,127,227,5,5,254,206,5,5,253,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,229,5,5,221,229,192,0,0,0,5,5,198,208,5,5,196,208,5,5,197,208,5,5,223,229,5,5,139,210,5,5,133,232,5,5,140,210,5,5,132,232,192,0,0,0,192,0,0,0,5,5,137,237,192,0,0,0,192,0,0,0,5,5,207,213,5,5,57,235,5,5,206,213,192,0,0,0,5,5,89,212,192,0,0,0,5,5,35,242,5,5,255,239,5,5,97,216,5,5,34,242,5,5,91,245,5,5,159,246,5,5,160,246,192,0,0,0,5,5,64,199,192,0,0,0,5,5,176,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,220,192,0,0,0,192,0,0,0,5,5,14,201,5,5,16,201,192,0,0,0,5,5,133,220,5,5,26,221,5,5,25,221,5,5,24,221,192,0,0,0,5,5,132,220,5,5,131,220,5,5,65,200,5,5,15,201,5,5,13,201,5,5,64,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,202,5,5,24,222,192,0,0,0,5,5,54,202,5,5,31,221,192,0,0,0,5,5,33,221,5,5,32,221,5,5,25,222,192,0,0,0,192,0,0,0,5,5,28,221,192,0,0,0,5,5,20,201,5,5,18,201,192,0,0,0,5,5,27,221,5,5,29,221,5,5,35,221,192,0,0,0,5,5,17,201,192,0,0,0,5,5,30,221,5,5,39,221,5,5,56,202,192,0,0,0,5,5,36,221,5,5,19,201,192,0,0,0,5,5,34,221,5,5,37,221,192,0,0,0,5,5,55,202,192,0,0,0,5,5,57,202,5,5,38,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,222,5,5,32,222,5,5,30,222,5,5,44,222,5,5,39,222,5,5,155,203,5,5,58,202,5,5,40,222,5,5,43,222,5,5,151,203,5,5,42,222,5,5,59,202,5,5,64,202,5,5,62,202,5,5,33,222,192,0,0,0,5,5,28,222,5,5,35,222,5,5,69,202,5,5,46,222,5,5,152,203,5,5,36,222,192,0,0,0,5,5,153,203,5,5,65,202,5,5,38,222,192,0,0,0,5,5,135,223,5,5,154,203,5,5,27,222,5,5,66,202,5,5,156,203,5,5,67,202,5,5,63,202,5,5,68,202,5,5,37,222,5,5,26,222,5,5,41,222,5,5,60,202,192,0,0,0,192,0,0,0,5,5,29,222,5,5,34,222,5,5,31,222,5,5,61,202,192,0,0,0,5,5,121,223,192,0,0,0,5,5,122,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,223,5,5,54,225,5,5,133,223,5,5,162,203,5,5,136,223,5,5,126,223,5,5,161,203,5,5,128,223,192,0,0,0,5,5,129,223,192,0,0,0,192,0,0,0,5,5,131,223,5,5,157,203,192,0,0,0,192,0,0,0,5,5,50,205,192,0,0,0,192,0,0,0,5,5,127,223,5,5,123,223,5,5,51,205,192,0,0,0,192,0,0,0,5,5,137,223,5,5,47,205,5,5,52,225,5,5,130,223,192,0,0,0,5,5,51,225,5,5,125,223,5,5,134,223,192,0,0,0,192,0,0,0,5,5,160,203,5,5,48,205,5,5,166,203,5,5,49,205,5,5,138,223,5,5,53,225,5,5,159,203,5,5,53,205,5,5,165,203,5,5,164,203,5,5,163,203,5,5,52,205,5,5,139,223,5,5,54,205,5,5,158,203,192,0,0,0,5,5,124,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,207,5,5,57,225,5,5,59,225,192,0,0,0,5,5,61,225,5,5,55,205,5,5,61,205,5,5,130,227,5,5,65,225,5,5,56,225,5,5,4,207,5,5,128,227,192,0,0,0,5,5,60,205,5,5,58,205,5,5,67,225,192,0,0,0,5,5,129,227,192,0,0,0,5,5,58,225,192,0,0,0,5,5,59,205,5,5,62,225,5,5,62,205,5,5,64,225,192,0,0,0,192,0,0,0,5,5,57,205,5,5,63,225,5,5,66,225,5,5,60,225,192,0,0,0,5,5,56,205,5,5,5,207,192,0,0,0,5,5,55,225,5,5,3,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,227,5,5,141,227,5,5,201,208,192,0,0,0,5,5,8,207,5,5,13,207,5,5,202,208,5,5,143,227,5,5,20,207,5,5,225,229,5,5,133,227,5,5,12,207,5,5,15,207,5,5,10,207,5,5,131,227,5,5,145,227,5,5,148,227,5,5,240,229,192,0,0,0,5,5,146,227,5,5,229,229,5,5,11,207,5,5,18,207,5,5,22,207,5,5,140,227,5,5,224,229,5,5,144,227,5,5,7,207,5,5,226,229,5,5,147,227,5,5,228,229,5,5,136,227,192,0,0,0,5,5,199,208,192,0,0,0,5,5,134,227,5,5,135,227,5,5,17,207,192,0,0,0,192,0,0,0,5,5,16,207,5,5,138,227,5,5,21,207,5,5,142,227,5,5,14,207,5,5,139,227,192,0,0,0,5,5,19,207,5,5,203,208,5,5,200,208,5,5,227,229,192,0,0,0,5,5,137,227,192,0,0,0,5,5,9,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,208,5,5,212,208,5,5,231,229,5,5,145,210,5,5,210,208,5,5,235,229,5,5,214,208,5,5,134,232,5,5,237,229,5,5,147,210,5,5,206,208,5,5,209,208,5,5,238,229,192,0,0,0,5,5,239,229,5,5,245,229,5,5,216,208,5,5,148,210,192,0,0,0,5,5,241,229,5,5,246,229,5,5,234,229,5,5,158,210,192,0,0,0,5,5,149,210,5,5,215,208,5,5,232,229,5,5,247,229,192,0,0,0,5,5,157,210,5,5,213,208,5,5,142,210,5,5,244,229,192,0,0,0,5,5,217,208,5,5,236,229,5,5,230,229,5,5,207,208,5,5,233,229,192,0,0,0,5,5,242,229,192,0,0,0,5,5,141,210,5,5,146,210,5,5,204,208,5,5,243,229,192,0,0,0,5,5,144,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,210,5,5,59,235,5,5,145,232,192,0,0,0,5,5,137,232,5,5,58,235,192,0,0,0,5,5,141,232,5,5,143,232,192,0,0,0,192,0,0,0,5,5,140,232,192,0,0,0,5,5,155,210,192,0,0,0,5,5,139,232,5,5,159,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,235,192,0,0,0,192,0,0,0,5,5,154,210,5,5,91,212,5,5,146,232,5,5,60,235,192,0,0,0,192,0,0,0,5,5,152,210,5,5,138,232,5,5,142,232,5,5,90,212,5,5,143,210,5,5,135,232,5,5,136,232,5,5,92,212,5,5,151,210,5,5,153,210,5,5,150,210,5,5,144,232,192,0,0,0,192,0,0,0,5,5,64,235,5,5,65,235,5,5,70,235,5,5,212,213,5,5,77,235,192,0,0,0,5,5,98,212,192,0,0,0,5,5,97,212,5,5,72,235,192,0,0,0,5,5,211,213,5,5,61,235,5,5,96,212,192,0,0,0,5,5,76,235,5,5,94,212,5,5,95,212,192,0,0,0,5,5,73,235,5,5,154,237,5,5,209,213,5,5,211,208,192,0,0,0,5,5,75,235,5,5,216,213,5,5,67,235,192,0,0,0,5,5,210,213,192,0,0,0,5,5,215,213,5,5,62,235,5,5,66,235,5,5,63,235,5,5,69,235,5,5,99,212,5,5,208,213,5,5,93,212,192,0,0,0,5,5,140,237,5,5,71,235,192,0,0,0,5,5,214,213,192,0,0,0,5,5,217,213,192,0,0,0,5,5,68,235,192,0,0,0,5,5,213,213,5,5,139,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,237,5,5,65,215,5,5,138,237,5,5,13,240,5,5,153,237,5,5,221,213,192,0,0,0,5,5,219,213,5,5,63,215,5,5,150,237,5,5,146,237,5,5,225,213,192,0,0,0,5,5,4,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,213,5,5,145,237,192,0,0,0,5,5,2,240,192,0,0,0,5,5,149,237,192,0,0,0,5,5,152,237,5,5,143,237,192,0,0,0,5,5,224,213,192,0,0,0,192,0,0,0,5,5,218,213,5,5,3,240,5,5,64,215,5,5,151,237,5,5,220,213,5,5,222,213,5,5,148,237,5,5,226,213,5,5,147,237,5,5,142,237,5,5,141,237,5,5,62,215,5,5,155,237,5,5,6,240,5,5,37,242,5,5,67,215,192,0,0,0,5,5,12,240,192,0,0,0,5,5,10,240,192,0,0,0,5,5,38,242,192,0,0,0,5,5,68,215,5,5,11,240,192,0,0,0,5,5,8,240,5,5,99,216,5,5,36,242,192,0,0,0,5,5,5,240,5,5,7,240,5,5,100,216,5,5,70,215,5,5,98,216,5,5,69,215,5,5,102,216,5,5,9,240,5,5,66,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,243,192,0,0,0,5,5,229,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,242,5,5,230,243,5,5,40,242,192,0,0,0,192,0,0,0,5,5,99,217,5,5,42,242,5,5,41,242,5,5,101,216,5,5,39,242,5,5,43,242,5,5,238,243,5,5,234,243,5,5,236,243,192,0,0,0,5,5,231,243,5,5,232,243,192,0,0,0,5,5,235,243,5,5,233,243,5,5,19,218,192,0,0,0,192,0,0,0,5,5,22,218,5,5,21,218,5,5,20,218,5,5,170,218,5,5,161,246,5,5,171,218,5,5,92,245,5,5,8,219,5,5,160,247,5,5,9,219,5,5,92,219,5,5,144,219,5,5,233,248,192,0,0,0,5,5,234,248,5,5,235,248,192,0,0,0,192,0,0,0,5,5,8,250,5,5,65,199,5,5,65,220,5,5,177,199,192,0,0,0,5,5,67,200,5,5,68,200,5,5,66,200,192,0,0,0,5,5,69,200,5,5,22,201,5,5,21,201,192,0,0,0,5,5,47,222,5,5,71,202,5,5,70,202,192,0,0,0,192,0,0,0,5,5,68,225,5,5,23,207,5,5,24,207,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,208,5,5,147,232,5,5,160,210,5,5,161,210,5,5,149,232,5,5,151,232,5,5,150,232,192,0,0,0,5,5,79,235,192,0,0,0,5,5,78,235,5,5,100,212,5,5,80,235,192,0,0,0,5,5,156,237,5,5,227,213,192,0,0,0,5,5,71,215,192,0,0,0,5,5,103,216,5,5,100,217,5,5,104,216,192,0,0,0,5,5,66,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,221,192,0,0,0,192,0,0,0,5,5,48,222,5,5,73,202,5,5,72,202,5,5,74,202,5,5,167,203,5,5,140,223,5,5,141,223,192,0,0,0,192,0,0,0,5,5,69,225,5,5,63,205,5,5,25,207,5,5,219,208,5,5,248,229,5,5,67,199,192,0,0,0,5,5,0,198,5,5,68,199,192,0,0,0,5,5,66,220,5,5,181,199,5,5,180,199,5,5,178,199,5,5,179,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,200,5,5,140,220,5,5,142,220,5,5,71,200,5,5,134,220,192,0,0,0,5,5,135,220,192,0,0,0,5,5,141,220,5,5,137,220,5,5,139,220,5,5,70,200,5,5,136,220,5,5,143,220,5,5,138,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,201,5,5,38,201,5,5,36,201,5,5,50,221,5,5,47,221,5,5,55,221,5,5,34,201,5,5,56,221,192,0,0,0,5,5,27,201,5,5,53,221,192,0,0,0,5,5,33,201,5,5,49,221,5,5,48,221,5,5,31,201,5,5,54,221,5,5,32,201,5,5,75,202,5,5,26,201,5,5,51,221,192,0,0,0,5,5,41,221,5,5,23,201,192,0,0,0,5,5,42,201,5,5,46,221,5,5,52,221,5,5,28,201,5,5,30,201,192,0,0,0,5,5,42,221,192,0,0,0,5,5,43,221,5,5,44,221,192,0,0,0,5,5,41,201,5,5,35,201,5,5,40,201,5,5,45,221,5,5,39,201,5,5,25,201,5,5,24,201,5,5,37,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,202,5,5,60,222,5,5,53,222,5,5,84,202,5,5,103,202,5,5,49,222,5,5,56,222,5,5,58,222,5,5,61,222,5,5,98,202,192,0,0,0,5,5,57,222,5,5,50,222,5,5,96,202,5,5,54,222,192,0,0,0,5,5,62,222,5,5,81,202,192,0,0,0,5,5,59,222,5,5,91,202,5,5,90,202,5,5,52,222,5,5,79,202,192,0,0,0,192,0,0,0,5,5,80,202,192,0,0,0,5,5,78,202,192,0,0,0,5,5,102,202,5,5,94,202,5,5,88,202,5,5,76,202,5,5,55,222,5,5,87,202,5,5,77,202,5,5,95,202,5,5,104,202,5,5,142,223,5,5,92,202,5,5,51,222,5,5,82,202,5,5,85,202,5,5,86,202,192,0,0,0,5,5,100,202,5,5,101,202,5,5,99,202,5,5,93,202,5,5,97,202,5,5,83,202,5,5,168,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,223,5,5,180,203,5,5,172,203,5,5,174,203,5,5,179,203,5,5,160,223,5,5,177,203,5,5,70,225,5,5,64,205,5,5,182,203,5,5,145,223,5,5,153,223,5,5,178,203,5,5,152,223,5,5,149,223,5,5,157,223,5,5,159,223,5,5,171,203,5,5,175,203,5,5,181,203,5,5,66,205,5,5,154,223,5,5,173,203,5,5,184,203,5,5,147,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,203,5,5,65,205,5,5,170,203,192,0,0,0,5,5,144,223,5,5,151,223,5,5,143,223,5,5,146,223,5,5,150,223,5,5,71,225,5,5,183,203,192,0,0,0,5,5,155,223,5,5,156,223,5,5,158,223,5,5,169,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,205,5,5,83,225,5,5,78,205,5,5,79,205,5,5,73,225,5,5,89,225,192,0,0,0,5,5,69,205,192,0,0,0,192,0,0,0,5,5,149,227,5,5,91,225,5,5,85,225,192,0,0,0,5,5,76,225,192,0,0,0,5,5,94,225,5,5,79,225,5,5,75,205,5,5,172,227,5,5,82,225,5,5,77,205,5,5,68,205,192,0,0,0,5,5,96,225,5,5,84,225,5,5,71,205,5,5,77,225,5,5,74,225,5,5,75,225,5,5,72,205,5,5,90,225,5,5,97,225,5,5,74,205,5,5,81,225,5,5,80,225,5,5,82,205,5,5,81,205,5,5,67,205,5,5,73,205,5,5,76,205,5,5,93,225,192,0,0,0,192,0,0,0,5,5,87,225,5,5,70,205,5,5,72,225,5,5,95,225,5,5,86,225,5,5,88,225,5,5,92,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,227,192,0,0,0,5,5,33,207,5,5,53,207,5,5,52,207,192,0,0,0,5,5,41,207,192,0,0,0,5,5,168,227,5,5,164,227,5,5,161,227,5,5,179,227,5,5,36,207,5,5,28,207,192,0,0,0,192,0,0,0,5,5,166,227,5,5,235,208,5,5,32,207,5,5,174,227,192,0,0,0,5,5,54,207,5,5,51,207,5,5,170,227,5,5,153,227,192,0,0,0,192,0,0,0,5,5,50,207,5,5,176,227,5,5,152,227,5,5,39,207,5,5,43,207,5,5,175,227,192,0,0,0,5,5,162,227,5,5,44,207,5,5,38,207,5,5,151,227,192,0,0,0,5,5,221,208,5,5,178,227,5,5,160,227,5,5,49,207,5,5,163,227,5,5,177,227,5,5,48,207,192,0,0,0,5,5,249,229,192,0,0,0,5,5,29,207,5,5,158,227,5,5,34,207,5,5,45,207,192,0,0,0,5,5,40,207,5,5,167,227,5,5,157,227,5,5,155,227,5,5,173,227,5,5,26,207,5,5,46,207,5,5,30,207,5,5,220,208,5,5,171,227,5,5,31,207,192,0,0,0,5,5,27,207,5,5,42,207,5,5,37,207,5,5,35,207,5,5,159,227,5,5,47,207,5,5,156,227,5,5,169,227,5,5,165,227,5,5,251,229,5,5,250,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,227,5,5,13,230,192,0,0,0,5,5,223,208,192,0,0,0,5,5,19,230,5,5,2,230,5,5,16,230,5,5,152,232,5,5,226,208,5,5,20,230,5,5,23,230,5,5,225,208,5,5,5,230,5,5,22,230,5,5,21,230,5,5,227,208,5,5,252,229,5,5,222,208,5,5,230,208,192,0,0,0,5,5,228,208,5,5,18,230,192,0,0,0,5,5,8,230,5,5,232,208,5,5,25,230,5,5,17,230,5,5,26,230,5,5,240,208,5,5,238,208,5,5,15,230,5,5,14,230,192,0,0,0,5,5,12,230,5,5,6,230,5,5,231,208,192,0,0,0,5,5,229,208,5,5,78,225,5,5,253,229,192,0,0,0,5,5,182,232,5,5,254,229,5,5,224,208,5,5,237,208,5,5,154,232,192,0,0,0,5,5,233,208,5,5,234,208,5,5,255,229,5,5,24,230,5,5,153,232,5,5,9,230,5,5,4,230,5,5,236,208,5,5,10,230,5,5,7,230,192,0,0,0,192,0,0,0,5,5,241,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,210,192,0,0,0,192,0,0,0,5,5,157,232,5,5,176,232,5,5,181,232,5,5,169,232,5,5,172,210,5,5,186,232,5,5,169,210,5,5,155,232,192,0,0,0,5,5,156,232,5,5,162,210,5,5,171,210,5,5,163,232,5,5,174,210,5,5,175,210,5,5,164,232,192,0,0,0,5,5,177,232,5,5,183,232,5,5,170,210,192,0,0,0,5,5,164,210,5,5,162,232,5,5,158,232,5,5,185,232,5,5,167,232,5,5,168,232,5,5,159,232,5,5,179,232,5,5,170,232,5,5,180,232,5,5,172,232,192,0,0,0,5,5,165,210,5,5,81,235,5,5,168,210,5,5,166,210,5,5,184,232,5,5,175,232,5,5,171,232,192,0,0,0,192,0,0,0,5,5,160,232,5,5,110,212,5,5,174,232,5,5,173,210,5,5,166,232,192,0,0,0,5,5,165,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,210,5,5,163,210,5,5,102,235,5,5,178,232,5,5,173,232,192,0,0,0,5,5,161,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,235,192,0,0,0,5,5,82,235,5,5,93,235,192,0,0,0,5,5,100,235,5,5,108,212,5,5,239,208,5,5,98,235,5,5,103,212,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,212,5,5,105,235,192,0,0,0,5,5,83,235,5,5,96,235,5,5,84,235,5,5,95,235,5,5,106,212,5,5,99,235,5,5,11,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,235,5,5,91,235,5,5,109,212,5,5,170,237,5,5,228,213,192,0,0,0,5,5,104,235,5,5,103,235,5,5,111,212,5,5,157,237,5,5,229,213,5,5,158,237,192,0,0,0,5,5,87,235,5,5,88,235,5,5,85,235,5,5,90,235,5,5,86,235,5,5,107,235,5,5,105,212,5,5,230,213,5,5,107,212,5,5,112,212,192,0,0,0,5,5,89,235,192,0,0,0,5,5,101,235,192,0,0,0,192,0,0,0,5,5,94,235,192,0,0,0,192,0,0,0,5,5,161,237,192,0,0,0,5,5,101,212,5,5,233,213,5,5,20,240,5,5,166,237,5,5,165,237,5,5,167,237,192,0,0,0,192,0,0,0,5,5,164,237,5,5,234,213,192,0,0,0,5,5,240,213,5,5,237,213,192,0,0,0,5,5,238,213,5,5,159,237,5,5,162,237,5,5,172,237,5,5,246,213,5,5,244,213,192,0,0,0,5,5,163,237,5,5,3,230,5,5,231,213,5,5,169,237,5,5,160,237,192,0,0,0,5,5,247,213,5,5,168,237,5,5,104,212,5,5,236,213,5,5,92,235,192,0,0,0,192,0,0,0,5,5,239,213,192,0,0,0,5,5,243,213,5,5,245,213,5,5,242,213,5,5,241,213,192,0,0,0,5,5,235,213,5,5,171,237,5,5,232,213,5,5,248,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,215,5,5,76,215,5,5,19,240,5,5,85,215,5,5,82,215,192,0,0,0,5,5,73,215,5,5,80,215,5,5,21,240,5,5,78,215,5,5,72,215,192,0,0,0,5,5,79,215,192,0,0,0,5,5,18,240,5,5,106,216,5,5,74,215,192,0,0,0,5,5,81,215,5,5,105,216,5,5,17,240,5,5,16,240,192,0,0,0,5,5,83,215,192,0,0,0,5,5,84,215,192,0,0,0,5,5,15,240,5,5,14,240,5,5,107,216,5,5,24,240,5,5,77,215,5,5,22,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,216,192,0,0,0,5,5,113,216,5,5,47,242,5,5,49,242,192,0,0,0,5,5,110,216,192,0,0,0,5,5,50,242,5,5,46,242,192,0,0,0,5,5,48,242,5,5,111,216,5,5,114,216,192,0,0,0,5,5,45,242,5,5,109,216,5,5,112,216,5,5,102,217,5,5,23,240,5,5,101,217,192,0,0,0,192,0,0,0,5,5,107,217,5,5,242,243,192,0,0,0,5,5,105,217,5,5,106,217,5,5,245,243,5,5,241,243,5,5,103,217,5,5,239,243,5,5,23,218,5,5,243,243,192,0,0,0,5,5,244,243,5,5,240,243,192,0,0,0,5,5,104,217,5,5,93,245,192,0,0,0,5,5,96,245,192,0,0,0,192,0,0,0,5,5,97,245,5,5,95,245,5,5,98,245,5,5,24,218,5,5,94,245,192,0,0,0,192,0,0,0,5,5,165,246,5,5,173,218,5,5,164,246,5,5,163,246,5,5,162,246,5,5,172,218,5,5,174,218,192,0,0,0,5,5,161,247,5,5,11,219,5,5,10,219,192,0,0,0,192,0,0,0,5,5,84,248,5,5,83,248,5,5,86,248,5,5,145,219,5,5,93,219,5,5,237,248,5,5,85,248,192,0,0,0,192,0,0,0,5,5,236,248,5,5,147,219,5,5,146,219,5,5,185,219,5,5,88,249,5,5,158,249,5,5,69,199,192,0,0,0,192,0,0,0,5,5,27,230,5,5,25,240,192,0,0,0,192,0,0,0,5,5,73,200,5,5,57,221,5,5,45,201,5,5,43,201,192,0,0,0,5,5,44,201,192,0,0,0,5,5,63,222,5,5,105,202,5,5,185,203,192,0,0,0,5,5,161,223,192,0,0,0,5,5,162,223,192,0,0,0,5,5,186,203,5,5,99,225,192,0,0,0,5,5,83,205,5,5,84,205,5,5,98,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,207,192,0,0,0,5,5,57,207,192,0,0,0,5,5,180,227,5,5,64,207,5,5,63,207,5,5,56,207,5,5,59,207,5,5,62,207,5,5,58,207,192,0,0,0,192,0,0,0,5,5,31,230,5,5,55,207,5,5,242,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,208,5,5,245,208,5,5,30,230,5,5,33,230,5,5,243,208,5,5,28,230,5,5,32,230,192,0,0,0,5,5,29,230,192,0,0,0,5,5,177,210,192,0,0,0,192,0,0,0,5,5,187,232,192,0,0,0,192,0,0,0,5,5,113,212,5,5,108,235,5,5,86,215,5,5,249,213,5,5,173,237,5,5,250,213,5,5,251,213,5,5,175,237,5,5,174,237,5,5,176,237,5,5,27,240,192,0,0,0,192,0,0,0,5,5,26,240,5,5,52,242,5,5,51,242,5,5,115,216,5,5,116,216,5,5,99,245,192,0,0,0,192,0,0,0,5,5,70,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,208,5,5,246,208,5,5,188,232,192,0,0,0,5,5,246,243,5,5,12,219,5,5,238,248,5,5,71,199,192,0,0,0,5,5,85,205,192,0,0,0,5,5,66,207,5,5,65,207,5,5,35,230,5,5,36,230,5,5,178,210,5,5,109,235,5,5,114,212,5,5,28,240,192,0,0,0,5,5,72,199,5,5,182,199,192,0,0,0,5,5,106,202,5,5,64,222,192,0,0,0,5,5,163,223,5,5,187,203,5,5,67,207,192,0,0,0,5,5,37,230,5,5,248,208,5,5,179,210,192,0,0,0,5,5,177,237,5,5,178,237,192,0,0,0,192,0,0,0,5,5,53,242,5,5,108,217,5,5,159,249,5,5,73,199,192,0,0,0,5,5,65,222,5,5,107,202,5,5,188,203,192,0,0,0,5,5,164,223,192,0,0,0,5,5,86,205,5,5,103,225,5,5,101,225,5,5,102,225,5,5,87,205,5,5,100,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,207,5,5,70,207,5,5,181,227,5,5,71,207,5,5,68,207,5,5,38,230,192,0,0,0,5,5,39,230,5,5,189,232,192,0,0,0,192,0,0,0,5,5,116,212,5,5,115,212,192,0,0,0,192,0,0,0,5,5,54,242,5,5,247,243,192,0,0,0,5,5,101,245,5,5,100,245,5,5,166,246,192,0,0,0,5,5,35,220,5,5,189,203,192,0,0,0,192,0,0,0,5,5,74,199,5,5,183,199,192,0,0,0,5,5,75,200,5,5,74,200,192,0,0,0,192,0,0,0,5,5,76,200,5,5,77,200,5,5,145,220,5,5,144,220,5,5,58,221,5,5,46,201,5,5,61,221,5,5,60,221,5,5,59,221,5,5,62,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,202,5,5,71,222,5,5,67,222,5,5,76,222,192,0,0,0,192,0,0,0,5,5,115,202,192,0,0,0,5,5,113,202,5,5,72,222,5,5,68,222,5,5,75,222,5,5,112,202,5,5,119,202,5,5,70,222,5,5,66,222,5,5,118,202,5,5,73,222,5,5,111,202,5,5,74,222,5,5,114,202,5,5,116,202,5,5,78,222,5,5,77,222,5,5,69,222,5,5,110,202,5,5,109,202,5,5,117,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,223,5,5,175,223,192,0,0,0,5,5,195,203,5,5,192,203,5,5,166,223,5,5,171,223,192,0,0,0,5,5,198,203,5,5,190,203,5,5,170,223,5,5,193,203,5,5,196,203,192,0,0,0,192,0,0,0,5,5,173,223,192,0,0,0,5,5,191,203,5,5,178,223,5,5,194,203,192,0,0,0,5,5,197,203,5,5,167,223,5,5,172,223,5,5,176,223,5,5,168,223,5,5,165,223,192,0,0,0,192,0,0,0,5,5,177,223,5,5,174,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,205,5,5,88,205,5,5,91,205,192,0,0,0,5,5,94,205,192,0,0,0,5,5,106,225,192,0,0,0,5,5,89,205,5,5,104,225,192,0,0,0,5,5,93,205,192,0,0,0,192,0,0,0,5,5,90,205,192,0,0,0,5,5,107,225,5,5,92,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,227,5,5,73,207,5,5,184,227,5,5,186,227,5,5,72,207,5,5,77,207,5,5,105,225,192,0,0,0,5,5,183,227,5,5,187,227,192,0,0,0,5,5,74,207,5,5,182,227,5,5,76,207,192,0,0,0,5,5,75,207,192,0,0,0,5,5,46,230,192,0,0,0,5,5,41,230,192,0,0,0,5,5,249,208,5,5,253,208,5,5,250,208,5,5,44,230,5,5,47,230,192,0,0,0,5,5,251,208,192,0,0,0,5,5,252,208,5,5,3,209,5,5,198,232,5,5,45,230,5,5,255,208,5,5,42,230,5,5,40,230,192,0,0,0,5,5,2,209,192,0,0,0,5,5,43,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,210,192,0,0,0,5,5,190,232,5,5,182,210,5,5,183,210,5,5,181,210,5,5,195,232,5,5,194,232,5,5,191,232,5,5,187,210,192,0,0,0,192,0,0,0,5,5,193,232,5,5,254,208,192,0,0,0,192,0,0,0,5,5,197,232,5,5,192,232,5,5,184,210,5,5,180,210,5,5,186,210,5,5,196,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,212,192,0,0,0,5,5,112,235,5,5,111,235,5,5,110,235,5,5,117,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,212,5,5,181,237,5,5,184,237,5,5,253,213,192,0,0,0,192,0,0,0,5,5,252,213,5,5,185,237,5,5,180,237,5,5,255,213,5,5,182,237,192,0,0,0,5,5,254,213,5,5,179,237,192,0,0,0,5,5,183,237,5,5,92,215,5,5,89,215,5,5,37,240,5,5,36,240,192,0,0,0,5,5,35,240,5,5,30,240,192,0,0,0,5,5,31,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,215,192,0,0,0,5,5,87,215,5,5,91,215,5,5,29,240,5,5,88,215,5,5,32,240,5,5,33,240,5,5,38,240,192,0,0,0,192,0,0,0,5,5,34,240,192,0,0,0,192,0,0,0,5,5,55,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,216,192,0,0,0,5,5,250,243,5,5,117,216,5,5,248,243,5,5,249,243,5,5,109,217,5,5,26,218,5,5,102,245,192,0,0,0,5,5,25,218,192,0,0,0,192,0,0,0,5,5,168,246,5,5,169,246,192,0,0,0,5,5,175,218,192,0,0,0,5,5,167,246,5,5,13,219,192,0,0,0,5,5,239,248,5,5,148,219,5,5,89,249,5,5,90,249,192,0,0,0,5,5,75,199,192,0,0,0,5,5,78,200,5,5,79,200,5,5,47,201,192,0,0,0,5,5,79,222,5,5,199,203,5,5,96,205,5,5,78,207,192,0,0,0,192,0,0,0,5,5,157,206,192,0,0,0,5,5,4,209,5,5,5,209,5,5,114,208,5,5,48,230,192,0,0,0,5,5,188,210,5,5,114,235,5,5,113,235,192,0,0,0,192,0,0,0,5,5,76,199,5,5,80,200,5,5,80,222,5,5,121,202,192,0,0,0,5,5,120,202,192,0,0,0,5,5,179,223,5,5,180,223,192,0,0,0,5,5,108,225,5,5,109,225,5,5,97,205,5,5,98,205,192,0,0,0,5,5,99,205,5,5,188,227,192,0,0,0,192,0,0,0,5,5,80,207,192,0,0,0,5,5,7,209,192,0,0,0,5,5,6,209,5,5,199,232,5,5,214,233,5,5,115,235,5,5,39,240,192,0,0,0,192,0,0,0,5,5,110,217,5,5,176,218,5,5,77,199,192,0,0,0,5,5,186,199,5,5,187,199,5,5,185,199,5,5,188,199,5,5,184,199,192,0,0,0,192,0,0,0,5,5,83,200,192,0,0,0,5,5,153,220,5,5,82,200,5,5,84,200,192,0,0,0,192,0,0,0,5,5,148,220,5,5,147,220,5,5,150,220,5,5,149,220,5,5,152,220,5,5,81,200,5,5,146,220,5,5,151,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,221,5,5,57,201,5,5,64,221,5,5,68,221,5,5,56,201,192,0,0,0,5,5,72,221,5,5,67,221,5,5,70,221,5,5,49,201,5,5,50,201,5,5,51,201,5,5,52,201,192,0,0,0,5,5,59,201,192,0,0,0,5,5,66,221,5,5,54,201,5,5,60,201,192,0,0,0,5,5,65,221,5,5,71,221,192,0,0,0,5,5,53,201,5,5,69,221,5,5,55,201,5,5,48,201,5,5,58,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,202,192,0,0,0,5,5,82,222,5,5,122,202,192,0,0,0,5,5,132,202,5,5,133,202,5,5,125,202,5,5,143,202,5,5,127,202,5,5,90,222,5,5,138,202,5,5,85,222,5,5,128,202,5,5,100,222,5,5,101,222,5,5,93,222,5,5,86,222,5,5,141,202,5,5,98,222,5,5,136,202,5,5,134,202,192,0,0,0,5,5,99,222,192,0,0,0,5,5,97,222,5,5,89,222,5,5,81,222,5,5,88,222,5,5,129,202,192,0,0,0,5,5,135,202,192,0,0,0,5,5,123,202,5,5,92,222,5,5,91,222,5,5,83,222,192,0,0,0,5,5,137,202,5,5,95,222,5,5,84,222,5,5,140,202,5,5,102,222,5,5,124,202,192,0,0,0,5,5,131,202,5,5,87,222,5,5,96,222,5,5,139,202,192,0,0,0,5,5,126,202,5,5,130,202,192,0,0,0,5,5,94,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,223,5,5,207,203,5,5,220,203,192,0,0,0,5,5,207,223,5,5,197,223,5,5,213,203,5,5,195,223,5,5,206,203,5,5,190,223,5,5,216,203,5,5,203,223,5,5,184,223,5,5,186,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,223,5,5,181,223,5,5,202,223,5,5,218,223,5,5,211,203,5,5,191,223,5,5,209,223,192,0,0,0,5,5,183,223,5,5,216,223,5,5,217,223,5,5,220,223,5,5,211,223,5,5,196,223,5,5,204,223,5,5,217,203,5,5,204,203,5,5,212,203,5,5,224,203,5,5,201,203,5,5,203,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,223,5,5,221,203,5,5,214,203,5,5,214,223,5,5,185,223,5,5,223,203,5,5,218,203,5,5,194,223,192,0,0,0,192,0,0,0,5,5,222,203,5,5,201,223,5,5,193,223,5,5,215,203,5,5,213,223,5,5,205,223,192,0,0,0,5,5,209,203,5,5,219,223,5,5,192,223,5,5,205,203,5,5,210,223,5,5,200,223,5,5,210,203,5,5,206,223,5,5,202,203,5,5,182,223,5,5,219,203,5,5,114,205,5,5,208,203,5,5,199,223,5,5,198,223,5,5,187,223,192,0,0,0,5,5,215,223,192,0,0,0,5,5,208,223,192,0,0,0,192,0,0,0,5,5,200,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,225,5,5,121,205,5,5,130,225,192,0,0,0,5,5,118,225,5,5,110,205,5,5,122,205,192,0,0,0,5,5,111,225,192,0,0,0,5,5,120,225,5,5,128,225,192,0,0,0,5,5,110,225,5,5,137,225,5,5,100,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,225,5,5,131,225,192,0,0,0,5,5,132,225,5,5,108,205,5,5,119,205,5,5,122,225,192,0,0,0,5,5,123,225,5,5,133,225,5,5,124,225,192,0,0,0,5,5,119,225,5,5,113,225,5,5,114,225,5,5,127,225,5,5,121,225,192,0,0,0,192,0,0,0,5,5,101,205,5,5,105,205,5,5,135,225,5,5,115,225,5,5,117,205,5,5,113,205,192,0,0,0,192,0,0,0,5,5,116,205,5,5,123,205,5,5,106,205,5,5,118,205,5,5,126,225,5,5,120,205,5,5,103,205,192,0,0,0,5,5,102,205,5,5,112,225,192,0,0,0,5,5,116,225,5,5,111,205,5,5,134,225,5,5,125,225,5,5,117,225,5,5,115,205,5,5,112,205,192,0,0,0,5,5,104,205,5,5,107,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,227,192,0,0,0,5,5,193,227,5,5,194,227,5,5,198,227,192,0,0,0,5,5,213,227,5,5,210,227,192,0,0,0,5,5,203,227,5,5,202,227,5,5,87,207,5,5,206,227,5,5,221,227,5,5,189,227,192,0,0,0,5,5,222,227,5,5,208,227,5,5,226,227,5,5,214,227,5,5,86,207,5,5,212,227,5,5,81,207,5,5,102,207,5,5,92,207,192,0,0,0,5,5,96,207,5,5,95,207,5,5,190,227,192,0,0,0,5,5,219,227,5,5,225,227,5,5,217,227,5,5,224,227,192,0,0,0,192,0,0,0,5,5,205,227,5,5,191,227,5,5,223,227,5,5,207,227,5,5,84,207,5,5,97,207,192,0,0,0,5,5,216,227,5,5,90,207,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,227,5,5,192,227,5,5,98,207,192,0,0,0,5,5,100,207,5,5,218,227,5,5,101,207,5,5,83,207,5,5,199,227,5,5,220,227,192,0,0,0,192,0,0,0,5,5,89,207,5,5,99,207,5,5,201,227,5,5,211,227,5,5,196,227,5,5,200,227,5,5,94,207,5,5,195,227,5,5,82,207,5,5,91,207,5,5,88,207,5,5,204,227,5,5,109,205,5,5,71,230,5,5,85,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,207,192,0,0,0,5,5,74,230,5,5,96,230,5,5,85,230,5,5,27,209,192,0,0,0,5,5,22,209,5,5,68,230,5,5,23,209,5,5,84,230,192,0,0,0,5,5,77,230,5,5,90,230,5,5,19,209,5,5,50,230,5,5,92,230,5,5,9,209,5,5,58,230,5,5,12,209,5,5,11,209,192,0,0,0,5,5,28,209,192,0,0,0,5,5,52,230,5,5,86,230,5,5,87,230,5,5,14,209,5,5,10,209,5,5,66,230,192,0,0,0,5,5,21,209,5,5,61,230,192,0,0,0,5,5,88,230,5,5,17,209,5,5,80,230,5,5,93,230,5,5,55,230,5,5,60,230,5,5,54,230,192,0,0,0,5,5,16,209,5,5,73,230,5,5,221,232,5,5,56,230,5,5,20,209,5,5,65,230,5,5,89,230,5,5,15,209,5,5,62,230,5,5,59,230,5,5,76,230,5,5,18,209,5,5,8,209,5,5,30,209,5,5,79,230,5,5,78,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,230,5,5,13,209,5,5,91,230,5,5,67,230,5,5,69,230,192,0,0,0,5,5,82,230,5,5,81,230,5,5,49,230,5,5,24,209,5,5,26,209,5,5,57,230,5,5,64,230,5,5,72,230,5,5,25,209,5,5,63,230,5,5,75,230,5,5,94,230,192,0,0,0,5,5,83,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,232,5,5,196,210,192,0,0,0,5,5,239,232,5,5,218,232,5,5,223,232,5,5,216,232,192,0,0,0,5,5,235,232,5,5,202,232,5,5,209,232,192,0,0,0,5,5,233,232,5,5,243,232,5,5,219,232,192,0,0,0,5,5,206,232,5,5,225,232,5,5,230,232,5,5,210,232,192,0,0,0,5,5,227,232,5,5,207,232,192,0,0,0,192,0,0,0,5,5,214,232,5,5,215,232,5,5,198,210,5,5,234,232,5,5,232,232,192,0,0,0,5,5,203,232,5,5,237,232,192,0,0,0,5,5,238,232,5,5,240,232,5,5,202,210,5,5,194,210,192,0,0,0,5,5,197,227,5,5,211,232,5,5,229,232,5,5,212,232,5,5,191,210,5,5,207,210,5,5,236,232,5,5,205,210,5,5,201,210,5,5,201,232,5,5,193,210,192,0,0,0,5,5,204,232,5,5,206,210,192,0,0,0,5,5,220,232,5,5,200,232,192,0,0,0,5,5,199,210,5,5,224,232,5,5,208,232,5,5,200,210,5,5,217,232,5,5,190,210,5,5,29,209,5,5,226,232,5,5,70,230,5,5,205,232,192,0,0,0,192,0,0,0,5,5,231,232,5,5,195,210,5,5,228,232,5,5,192,210,5,5,222,232,5,5,203,210,5,5,213,232,5,5,242,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,210,5,5,99,233,192,0,0,0,192,0,0,0,5,5,204,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,235,5,5,127,235,192,0,0,0,5,5,149,235,5,5,125,235,192,0,0,0,5,5,143,235,5,5,189,210,5,5,122,212,5,5,121,235,5,5,148,235,192,0,0,0,5,5,126,235,5,5,140,235,5,5,127,212,5,5,120,212,192,0,0,0,5,5,146,235,192,0,0,0,5,5,119,235,5,5,145,235,192,0,0,0,5,5,138,212,5,5,136,235,5,5,152,235,5,5,136,212,5,5,128,235,5,5,121,212,5,5,130,235,5,5,144,235,5,5,130,212,5,5,123,235,5,5,134,212,5,5,124,212,5,5,132,235,5,5,122,235,5,5,116,235,192,0,0,0,5,5,142,235,5,5,131,212,5,5,151,235,5,5,117,235,5,5,128,212,192,0,0,0,5,5,138,235,192,0,0,0,5,5,129,212,5,5,124,235,5,5,135,235,5,5,131,235,5,5,133,235,192,0,0,0,5,5,123,212,5,5,150,235,5,5,137,212,5,5,134,235,192,0,0,0,5,5,153,235,192,0,0,0,192,0,0,0,5,5,118,235,5,5,139,235,5,5,126,212,5,5,135,212,5,5,133,212,5,5,120,235,5,5,141,235,5,5,132,212,192,0,0,0,192,0,0,0,5,5,125,212,5,5,137,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,237,192,0,0,0,5,5,193,237,5,5,189,237,5,5,209,237,5,5,206,237,5,5,4,214,192,0,0,0,192,0,0,0,5,5,213,237,5,5,196,237,5,5,15,214,5,5,203,237,192,0,0,0,192,0,0,0,5,5,192,237,5,5,202,237,5,5,12,214,5,5,222,237,192,0,0,0,5,5,219,237,5,5,205,237,5,5,190,237,192,0,0,0,192,0,0,0,5,5,210,237,5,5,212,237,5,5,8,214,5,5,200,237,5,5,195,237,5,5,186,237,5,5,5,214,5,5,13,214,192,0,0,0,5,5,215,237,5,5,14,214,5,5,187,237,5,5,221,237,5,5,208,237,5,5,214,237,5,5,11,214,192,0,0,0,192,0,0,0,5,5,211,237,192,0,0,0,5,5,218,237,192,0,0,0,5,5,16,214,192,0,0,0,5,5,10,214,5,5,204,237,5,5,191,237,5,5,223,237,5,5,188,237,5,5,216,237,5,5,7,214,192,0,0,0,5,5,198,237,192,0,0,0,5,5,199,237,5,5,6,214,5,5,3,214,5,5,194,237,5,5,9,214,192,0,0,0,5,5,2,214,192,0,0,0,5,5,217,237,5,5,220,237,5,5,201,237,5,5,52,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,240,192,0,0,0,5,5,40,240,5,5,105,215,192,0,0,0,192,0,0,0,5,5,94,215,5,5,99,215,5,5,95,215,5,5,54,240,5,5,65,240,5,5,93,215,5,5,46,240,5,5,55,240,5,5,207,237,5,5,56,240,192,0,0,0,192,0,0,0,5,5,100,215,192,0,0,0,5,5,71,240,5,5,104,215,5,5,107,215,5,5,42,240,192,0,0,0,5,5,103,215,192,0,0,0,5,5,69,240,5,5,70,240,5,5,60,240,5,5,59,240,5,5,51,240,192,0,0,0,192,0,0,0,5,5,61,240,5,5,68,240,5,5,67,240,192,0,0,0,5,5,98,215,5,5,96,215,5,5,53,240,5,5,50,240,192,0,0,0,5,5,47,240,5,5,66,240,5,5,106,215,5,5,64,240,5,5,102,215,5,5,101,215,192,0,0,0,5,5,58,240,192,0,0,0,5,5,41,240,5,5,43,240,5,5,45,240,5,5,63,240,5,5,57,240,5,5,97,215,192,0,0,0,5,5,48,240,192,0,0,0,5,5,62,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,216,5,5,73,242,5,5,119,216,5,5,58,242,192,0,0,0,5,5,69,242,5,5,121,216,5,5,76,242,192,0,0,0,5,5,65,242,192,0,0,0,5,5,60,242,192,0,0,0,192,0,0,0,5,5,77,242,5,5,56,242,5,5,67,242,192,0,0,0,5,5,128,216,5,5,72,242,5,5,78,242,5,5,66,242,5,5,120,216,5,5,68,242,5,5,57,242,5,5,127,216,192,0,0,0,192,0,0,0,5,5,75,242,5,5,62,242,5,5,123,216,192,0,0,0,5,5,64,242,5,5,61,242,5,5,129,216,5,5,63,242,5,5,122,216,5,5,125,216,5,5,71,242,5,5,59,242,5,5,74,242,192,0,0,0,5,5,70,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,217,5,5,7,244,5,5,117,217,5,5,118,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,217,5,5,6,244,192,0,0,0,5,5,3,244,5,5,4,244,5,5,115,217,5,5,252,243,5,5,2,244,5,5,114,217,192,0,0,0,5,5,253,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,217,5,5,113,217,192,0,0,0,5,5,251,243,5,5,255,243,5,5,5,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,245,5,5,105,245,5,5,114,245,192,0,0,0,5,5,113,245,5,5,111,245,5,5,106,245,192,0,0,0,5,5,30,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,245,5,5,29,218,5,5,124,216,5,5,110,245,5,5,28,218,5,5,115,245,5,5,109,245,5,5,104,245,5,5,254,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,218,192,0,0,0,5,5,103,245,5,5,173,246,192,0,0,0,5,5,172,246,5,5,112,245,5,5,177,218,192,0,0,0,5,5,176,246,5,5,177,246,5,5,171,246,5,5,175,246,192,0,0,0,5,5,170,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,247,5,5,174,246,5,5,16,219,5,5,14,219,5,5,163,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,247,192,0,0,0,5,5,162,247,5,5,164,247,5,5,15,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,248,5,5,89,248,5,5,94,219,5,5,87,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,248,5,5,149,219,5,5,240,248,5,5,241,248,5,5,91,249,192,0,0,0,192,0,0,0,5,5,219,219,5,5,162,249,5,5,160,249,5,5,161,249,5,5,163,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,250,192,0,0,0,5,5,78,199,5,5,85,200,192,0,0,0,5,5,144,202,192,0,0,0,5,5,103,222,192,0,0,0,192,0,0,0,5,5,221,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,225,5,5,140,225,192,0,0,0,5,5,139,225,192,0,0,0,5,5,141,225,5,5,103,207,5,5,228,227,5,5,142,225,192,0,0,0,5,5,227,227,5,5,229,227,5,5,230,227,5,5,97,230,5,5,32,209,5,5,98,230,5,5,100,230,5,5,33,209,5,5,31,209,5,5,99,230,192,0,0,0,5,5,249,232,5,5,247,232,5,5,246,232,192,0,0,0,5,5,245,232,5,5,244,232,5,5,208,210,5,5,248,232,5,5,139,212,5,5,154,235,5,5,156,235,5,5,140,212,5,5,155,235,5,5,18,214,192,0,0,0,5,5,17,214,5,5,224,237,192,0,0,0,192,0,0,0,5,5,73,240,5,5,72,240,5,5,74,240,192,0,0,0,192,0,0,0,5,5,108,215,192,0,0,0,5,5,79,242,5,5,130,216,192,0,0,0,5,5,8,244,5,5,119,217,5,5,116,245,5,5,95,219,5,5,79,199,5,5,189,199,5,5,86,200,5,5,61,201,5,5,145,202,5,5,146,202,192,0,0,0,192,0,0,0,5,5,225,203,192,0,0,0,192,0,0,0,5,5,143,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,238,5,5,109,215,5,5,120,217,5,5,80,199,192,0,0,0,5,5,87,200,192,0,0,0,192,0,0,0,5,5,105,222,5,5,147,202,5,5,104,222,192,0,0,0,5,5,222,223,5,5,226,203,5,5,223,223,192,0,0,0,5,5,227,203,192,0,0,0,5,5,145,225,5,5,125,205,5,5,124,205,192,0,0,0,5,5,235,227,5,5,233,227,5,5,234,227,5,5,232,227,192,0,0,0,5,5,231,227,192,0,0,0,192,0,0,0,5,5,101,230,5,5,104,230,5,5,35,209,5,5,102,230,5,5,34,209,5,5,103,230,192,0,0,0,5,5,250,232,192,0,0,0,192,0,0,0,5,5,157,235,5,5,158,235,5,5,159,235,192,0,0,0,5,5,227,237,5,5,226,237,5,5,19,214,5,5,225,237,5,5,228,237,5,5,75,240,192,0,0,0,192,0,0,0,5,5,76,240,5,5,77,240,192,0,0,0,5,5,80,242,5,5,131,216,5,5,121,217,5,5,117,245,192,0,0,0,5,5,17,219,5,5,36,220,192,0,0,0,5,5,228,203,5,5,224,223,5,5,126,205,192,0,0,0,192,0,0,0,5,5,104,207,192,0,0,0,5,5,36,209,5,5,105,230,192,0,0,0,5,5,211,210,5,5,210,210,192,0,0,0,192,0,0,0,5,5,160,235,5,5,161,235,5,5,20,214,5,5,21,214,5,5,79,240,5,5,78,240,5,5,9,244,5,5,243,248,5,5,81,199,5,5,37,220,5,5,190,199,192,0,0,0,5,5,62,201,5,5,73,221,192,0,0,0,5,5,229,203,5,5,212,210,5,5,82,199,192,0,0,0,5,5,225,223,5,5,230,203,5,5,226,223,192,0,0,0,5,5,132,216,5,5,83,199,192,0,0,0,192,0,0,0,5,5,106,222,192,0,0,0,5,5,227,223,192,0,0,0,5,5,150,225,5,5,149,225,5,5,147,225,192,0,0,0,5,5,146,225,5,5,151,225,5,5,148,225,192,0,0,0,192,0,0,0,5,5,105,207,5,5,106,207,192,0,0,0,192,0,0,0,5,5,37,209,5,5,106,230,192,0,0,0,5,5,107,230,5,5,108,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,232,5,5,255,232,5,5,253,232,192,0,0,0,5,5,251,232,5,5,252,232,5,5,213,210,5,5,162,235,5,5,231,237,5,5,230,237,5,5,229,237,5,5,232,237,5,5,81,240,5,5,80,240,5,5,110,215,5,5,82,240,192,0,0,0,5,5,133,216,5,5,81,242,192,0,0,0,5,5,10,244,5,5,118,245,5,5,90,248,192,0,0,0,5,5,84,199,5,5,192,199,5,5,191,199,192,0,0,0,5,5,148,202,5,5,38,220,5,5,67,220,5,5,88,200,192,0,0,0,5,5,154,220,5,5,74,221,5,5,75,221,5,5,149,202,192,0,0,0,5,5,107,222,192,0,0,0,5,5,231,203,5,5,228,223,5,5,229,223,192,0,0,0,5,5,127,205,5,5,131,205,5,5,152,225,5,5,130,205,5,5,128,205,5,5,129,205,192,0,0,0,5,5,236,227,5,5,107,207,5,5,40,209,192,0,0,0,5,5,38,209,5,5,39,209,5,5,109,230,192,0,0,0,192,0,0,0,5,5,141,212,5,5,85,199,192,0,0,0,5,5,68,220,192,0,0,0,5,5,193,199,192,0,0,0,192,0,0,0,5,5,71,220,192,0,0,0,192,0,0,0,5,5,196,199,5,5,70,220,5,5,195,199,5,5,194,199,5,5,63,201,5,5,69,220,192,0,0,0,192,0,0,0,5,5,155,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,220,5,5,161,220,5,5,162,220,5,5,98,200,5,5,99,200,5,5,158,220,5,5,94,200,192,0,0,0,5,5,156,220,192,0,0,0,5,5,160,220,5,5,95,200,192,0,0,0,5,5,90,200,192,0,0,0,5,5,91,200,192,0,0,0,5,5,97,200,5,5,157,220,5,5,89,200,5,5,64,201,5,5,92,200,5,5,93,200,5,5,96,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,221,5,5,90,221,5,5,77,221,5,5,76,201,5,5,84,221,5,5,71,201,5,5,78,221,192,0,0,0,5,5,86,221,192,0,0,0,5,5,83,221,5,5,74,201,5,5,82,221,5,5,81,201,5,5,91,221,5,5,83,201,192,0,0,0,5,5,85,201,192,0,0,0,5,5,76,221,192,0,0,0,5,5,72,201,5,5,93,221,192,0,0,0,5,5,79,201,5,5,82,201,192,0,0,0,5,5,130,222,5,5,66,201,5,5,89,201,5,5,80,201,5,5,79,221,5,5,69,201,5,5,84,201,5,5,87,221,5,5,67,201,5,5,68,201,5,5,128,222,5,5,80,221,5,5,75,201,5,5,86,201,5,5,94,221,5,5,81,221,5,5,73,201,192,0,0,0,5,5,78,201,5,5,108,222,5,5,87,201,5,5,88,221,5,5,77,201,192,0,0,0,5,5,88,201,5,5,65,201,5,5,85,221,5,5,70,201,5,5,89,221,5,5,129,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,202,5,5,177,202,5,5,115,222,5,5,168,202,192,0,0,0,5,5,136,222,5,5,153,202,192,0,0,0,5,5,156,202,5,5,127,222,192,0,0,0,5,5,113,222,5,5,117,222,5,5,164,202,5,5,166,202,5,5,120,222,5,5,173,202,5,5,159,202,5,5,157,202,5,5,158,202,5,5,172,202,5,5,132,222,5,5,167,202,5,5,119,222,5,5,121,222,5,5,165,202,5,5,170,202,5,5,122,222,5,5,135,222,192,0,0,0,5,5,232,203,5,5,176,202,192,0,0,0,5,5,154,202,5,5,134,222,192,0,0,0,5,5,138,222,5,5,118,222,5,5,140,222,5,5,125,222,5,5,163,202,5,5,114,222,5,5,162,202,5,5,180,202,5,5,169,202,192,0,0,0,5,5,112,222,5,5,238,223,5,5,175,202,5,5,179,202,5,5,126,222,5,5,131,222,192,0,0,0,5,5,181,202,5,5,174,202,5,5,160,202,5,5,150,202,192,0,0,0,5,5,155,202,192,0,0,0,5,5,116,222,5,5,151,202,5,5,139,222,192,0,0,0,5,5,110,222,5,5,109,222,5,5,123,222,5,5,111,222,5,5,178,202,5,5,132,205,5,5,171,202,5,5,124,222,5,5,152,202,192,0,0,0,5,5,247,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,223,5,5,248,223,192,0,0,0,5,5,251,223,5,5,240,223,192,0,0,0,192,0,0,0,5,5,254,223,5,5,3,224,5,5,5,224,5,5,237,223,5,5,233,203,5,5,238,203,5,5,157,225,5,5,254,203,5,5,252,223,5,5,6,224,5,5,244,223,5,5,236,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,225,5,5,241,203,5,5,249,223,5,5,241,223,5,5,243,223,5,5,246,203,192,0,0,0,5,5,246,223,5,5,240,203,5,5,233,223,5,5,255,223,192,0,0,0,5,5,4,224,192,0,0,0,192,0,0,0,5,5,237,203,192,0,0,0,5,5,249,203,5,5,230,223,5,5,251,203,5,5,235,203,5,5,255,203,5,5,2,224,5,5,232,223,5,5,252,203,5,5,178,225,5,5,133,222,5,5,239,203,5,5,234,203,5,5,239,223,5,5,231,223,5,5,253,203,5,5,245,203,5,5,250,223,5,5,250,203,5,5,248,203,5,5,242,223,5,5,242,203,5,5,234,223,5,5,243,203,5,5,244,203,5,5,235,223,5,5,253,223,5,5,236,203,5,5,247,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,225,5,5,140,205,5,5,145,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,225,5,5,175,225,5,5,171,225,5,5,158,225,5,5,161,225,5,5,154,225,5,5,155,225,5,5,152,205,5,5,137,205,5,5,170,225,5,5,179,225,5,5,147,205,5,5,133,205,192,0,0,0,5,5,142,205,5,5,162,225,5,5,144,205,5,5,163,225,5,5,173,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,205,5,5,188,225,5,5,156,225,5,5,139,205,5,5,138,205,5,5,150,205,5,5,153,225,5,5,186,225,5,5,174,225,5,5,187,225,5,5,181,225,5,5,167,225,5,5,182,225,192,0,0,0,5,5,176,225,5,5,185,225,5,5,183,225,5,5,151,205,5,5,168,225,5,5,136,205,5,5,135,205,5,5,143,205,5,5,149,205,5,5,180,225,5,5,148,205,5,5,165,225,5,5,108,207,192,0,0,0,5,5,189,225,5,5,164,225,5,5,159,225,5,5,141,205,5,5,153,205,5,5,134,205,192,0,0,0,5,5,172,225,5,5,177,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,207,5,5,238,227,5,5,242,227,192,0,0,0,5,5,123,207,5,5,121,207,192,0,0,0,192,0,0,0,5,5,112,207,5,5,240,227,5,5,239,227,5,5,132,207,192,0,0,0,5,5,245,227,5,5,126,207,192,0,0,0,5,5,9,228,5,5,21,228,5,5,109,207,5,5,6,228,5,5,253,227,5,5,144,207,5,5,237,227,192,0,0,0,5,5,11,228,192,0,0,0,5,5,141,207,5,5,129,207,5,5,140,207,5,5,119,207,5,5,249,227,5,5,13,228,5,5,5,228,5,5,120,207,5,5,114,207,5,5,19,228,192,0,0,0,5,5,12,228,5,5,14,228,5,5,122,207,5,5,130,207,5,5,16,228,5,5,247,227,5,5,10,228,5,5,252,227,5,5,18,228,5,5,135,207,5,5,111,207,5,5,133,207,5,5,3,228,5,5,255,227,5,5,2,228,5,5,124,207,5,5,251,227,5,5,250,227,5,5,113,207,5,5,244,227,5,5,20,228,5,5,115,207,5,5,254,227,5,5,145,207,192,0,0,0,5,5,139,207,5,5,243,227,5,5,136,207,5,5,134,207,5,5,143,207,5,5,7,228,5,5,138,207,5,5,166,225,5,5,8,228,5,5,137,207,5,5,15,228,5,5,110,207,5,5,4,228,5,5,128,207,5,5,246,227,5,5,127,207,192,0,0,0,5,5,125,207,5,5,117,207,5,5,116,207,5,5,110,230,5,5,17,228,192,0,0,0,192,0,0,0,5,5,248,227,192,0,0,0,192,0,0,0,5,5,131,230,192,0,0,0,5,5,118,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,209,5,5,131,207,5,5,51,209,5,5,125,230,5,5,65,209,192,0,0,0,5,5,113,230,5,5,48,209,5,5,44,209,5,5,143,230,5,5,50,209,5,5,54,209,5,5,49,209,5,5,58,209,5,5,147,230,5,5,138,230,192,0,0,0,192,0,0,0,5,5,120,230,5,5,63,209,5,5,57,209,5,5,132,230,5,5,41,209,5,5,144,230,5,5,137,230,5,5,45,209,5,5,126,230,5,5,60,209,5,5,155,230,5,5,156,230,192,0,0,0,5,5,42,209,5,5,142,230,5,5,62,209,5,5,130,230,5,5,116,230,5,5,117,230,5,5,66,209,5,5,121,230,5,5,128,230,5,5,122,230,192,0,0,0,5,5,64,209,5,5,72,209,5,5,118,230,5,5,111,230,5,5,112,230,192,0,0,0,5,5,114,230,5,5,47,209,5,5,127,230,192,0,0,0,5,5,61,209,5,5,70,209,192,0,0,0,192,0,0,0,5,5,129,230,5,5,153,230,5,5,145,230,5,5,43,209,5,5,151,230,5,5,55,209,192,0,0,0,5,5,53,209,192,0,0,0,5,5,157,230,5,5,52,209,5,5,135,230,5,5,123,230,5,5,133,230,5,5,75,209,5,5,139,230,5,5,136,230,5,5,119,230,5,5,71,209,5,5,149,230,5,5,146,230,5,5,154,230,5,5,46,209,5,5,134,230,5,5,74,209,192,0,0,0,5,5,141,230,192,0,0,0,192,0,0,0,5,5,56,209,5,5,59,209,192,0,0,0,5,5,140,230,5,5,73,209,5,5,124,230,5,5,241,227,192,0,0,0,192,0,0,0,5,5,150,230,5,5,148,230,5,5,152,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,230,5,5,68,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,233,5,5,31,233,5,5,5,233,5,5,219,210,192,0,0,0,5,5,30,233,5,5,8,233,5,5,9,233,192,0,0,0,5,5,229,210,5,5,39,233,5,5,224,210,5,5,29,233,192,0,0,0,5,5,2,233,5,5,230,210,5,5,220,210,5,5,17,233,5,5,7,233,5,5,10,233,5,5,34,233,5,5,214,210,5,5,41,233,5,5,33,233,5,5,223,210,5,5,22,233,5,5,234,210,192,0,0,0,192,0,0,0,5,5,233,210,5,5,227,210,192,0,0,0,192,0,0,0,5,5,40,233,5,5,215,210,5,5,20,233,5,5,11,233,5,5,24,233,5,5,36,233,5,5,235,210,192,0,0,0,5,5,217,210,5,5,19,233,192,0,0,0,5,5,12,233,5,5,226,210,192,0,0,0,5,5,225,210,5,5,15,233,5,5,25,233,5,5,35,233,5,5,6,233,5,5,16,233,5,5,218,210,5,5,26,233,5,5,231,210,5,5,222,210,5,5,13,233,5,5,221,210,5,5,4,233,5,5,18,233,5,5,38,233,5,5,67,209,5,5,169,212,5,5,21,233,5,5,163,235,5,5,23,233,5,5,37,233,5,5,228,210,5,5,14,233,5,5,216,210,5,5,232,210,5,5,39,214,5,5,3,233,192,0,0,0,5,5,28,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,235,5,5,166,212,5,5,180,235,5,5,185,235,5,5,155,212,192,0,0,0,5,5,165,235,5,5,168,212,192,0,0,0,5,5,146,212,5,5,164,235,5,5,197,235,5,5,170,212,5,5,168,235,5,5,184,235,192,0,0,0,5,5,170,235,5,5,200,235,5,5,196,235,5,5,144,212,5,5,154,212,5,5,4,238,5,5,167,212,5,5,152,212,5,5,166,235,192,0,0,0,5,5,195,235,5,5,156,212,5,5,192,235,5,5,205,235,5,5,172,235,5,5,181,235,192,0,0,0,192,0,0,0,5,5,203,235,5,5,193,235,5,5,151,212,192,0,0,0,192,0,0,0,5,5,179,235,5,5,145,212,5,5,143,212,5,5,161,212,192,0,0,0,192,0,0,0,5,5,177,235,5,5,174,235,5,5,175,235,192,0,0,0,5,5,199,235,192,0,0,0,5,5,204,235,5,5,202,235,5,5,149,212,5,5,206,235,5,5,153,212,5,5,160,212,192,0,0,0,5,5,167,235,5,5,234,237,5,5,176,235,192,0,0,0,5,5,147,212,5,5,165,212,5,5,162,212,5,5,150,212,5,5,186,235,5,5,171,235,5,5,163,212,5,5,188,235,5,5,157,212,5,5,159,212,5,5,142,212,192,0,0,0,5,5,190,235,5,5,182,235,5,5,169,235,5,5,158,212,5,5,198,235,5,5,201,235,5,5,178,235,5,5,189,235,192,0,0,0,5,5,148,212,5,5,22,214,5,5,187,235,5,5,233,237,192,0,0,0,5,5,194,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,235,5,5,243,237,5,5,253,237,5,5,25,214,5,5,252,237,5,5,10,238,5,5,27,214,5,5,250,237,192,0,0,0,5,5,254,237,5,5,38,214,192,0,0,0,5,5,245,237,5,5,30,214,192,0,0,0,5,5,3,238,5,5,90,240,5,5,42,214,5,5,41,214,5,5,5,238,5,5,242,237,5,5,15,238,5,5,36,214,192,0,0,0,5,5,26,214,5,5,8,238,192,0,0,0,5,5,12,238,5,5,17,238,5,5,6,238,5,5,248,237,5,5,29,214,5,5,32,214,5,5,40,214,5,5,35,214,192,0,0,0,5,5,251,237,5,5,183,235,192,0,0,0,192,0,0,0,5,5,247,237,5,5,16,238,5,5,31,214,192,0,0,0,5,5,34,214,5,5,18,238,5,5,23,214,5,5,7,238,5,5,235,237,5,5,13,238,5,5,142,216,192,0,0,0,5,5,249,237,192,0,0,0,5,5,24,214,5,5,244,237,5,5,28,214,5,5,236,237,5,5,164,212,5,5,240,237,192,0,0,0,5,5,11,238,5,5,241,237,5,5,239,237,5,5,33,214,192,0,0,0,5,5,9,238,192,0,0,0,5,5,238,237,5,5,2,238,5,5,255,237,5,5,14,238,5,5,246,237,5,5,37,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,240,192,0,0,0,5,5,123,215,5,5,113,215,5,5,105,240,5,5,85,240,5,5,115,215,5,5,97,240,5,5,122,215,5,5,117,215,5,5,95,240,5,5,83,242,5,5,101,240,5,5,107,240,5,5,100,240,5,5,83,240,5,5,98,240,5,5,109,240,5,5,111,240,5,5,112,215,5,5,110,240,5,5,118,215,5,5,124,215,192,0,0,0,5,5,121,215,192,0,0,0,5,5,104,240,5,5,120,215,5,5,99,240,192,0,0,0,5,5,87,240,5,5,92,240,192,0,0,0,5,5,103,240,5,5,119,215,5,5,116,215,5,5,111,215,5,5,114,215,5,5,91,240,192,0,0,0,5,5,237,237,5,5,86,240,5,5,89,240,5,5,106,240,5,5,94,240,5,5,84,240,5,5,82,242,5,5,108,240,5,5,88,240,5,5,102,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,242,5,5,146,216,192,0,0,0,192,0,0,0,5,5,134,216,192,0,0,0,192,0,0,0,5,5,138,216,5,5,87,242,5,5,93,242,5,5,91,242,5,5,136,216,5,5,137,216,5,5,144,216,5,5,94,242,5,5,86,242,5,5,139,216,192,0,0,0,5,5,90,242,5,5,89,242,5,5,95,242,5,5,145,216,192,0,0,0,5,5,140,216,5,5,143,216,5,5,88,242,5,5,147,216,5,5,141,216,5,5,148,216,5,5,135,216,5,5,92,242,192,0,0,0,5,5,84,242,192,0,0,0,192,0,0,0,5,5,23,244,192,0,0,0,192,0,0,0,5,5,126,217,5,5,20,244,5,5,22,244,192,0,0,0,5,5,124,217,5,5,18,244,5,5,19,244,5,5,14,244,192,0,0,0,192,0,0,0,5,5,96,240,5,5,15,244,5,5,125,217,5,5,11,244,192,0,0,0,5,5,122,217,5,5,24,244,5,5,123,217,5,5,12,244,5,5,13,244,5,5,17,244,5,5,128,217,192,0,0,0,5,5,127,217,192,0,0,0,192,0,0,0,5,5,16,244,5,5,36,218,5,5,122,245,5,5,128,245,5,5,37,218,5,5,119,245,5,5,34,218,5,5,31,218,5,5,130,245,5,5,35,218,192,0,0,0,5,5,32,218,5,5,121,245,5,5,124,245,5,5,125,245,5,5,126,245,5,5,129,245,192,0,0,0,5,5,21,244,5,5,120,245,5,5,33,218,5,5,127,245,5,5,131,245,5,5,123,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,246,5,5,179,218,5,5,183,246,5,5,180,218,5,5,191,246,5,5,182,246,5,5,179,246,192,0,0,0,5,5,181,246,5,5,185,246,5,5,188,246,5,5,187,246,5,5,190,246,5,5,178,246,192,0,0,0,5,5,178,218,5,5,186,246,5,5,189,246,5,5,192,246,5,5,184,246,5,5,167,247,5,5,168,247,5,5,172,247,5,5,173,247,192,0,0,0,5,5,170,247,5,5,171,247,5,5,169,247,192,0,0,0,5,5,18,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,219,5,5,94,248,192,0,0,0,192,0,0,0,5,5,91,248,5,5,92,248,5,5,93,248,5,5,97,219,192,0,0,0,5,5,245,248,5,5,244,248,192,0,0,0,5,5,94,249,5,5,186,219,5,5,92,249,5,5,95,249,5,5,93,249,5,5,164,249,5,5,220,219,5,5,234,219,5,5,239,249,5,5,218,249,192,0,0,0,5,5,238,249,5,5,30,250,5,5,31,250,5,5,86,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,200,5,5,163,220,192,0,0,0,192,0,0,0,5,5,95,221,192,0,0,0,5,5,90,201,192,0,0,0,5,5,93,201,192,0,0,0,5,5,96,221,192,0,0,0,5,5,91,201,5,5,92,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,222,5,5,151,222,5,5,146,222,5,5,143,222,5,5,145,222,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,202,192,0,0,0,192,0,0,0,5,5,147,222,5,5,184,202,5,5,144,222,5,5,141,222,5,5,182,202,5,5,148,222,192,0,0,0,5,5,142,222,5,5,186,202,5,5,150,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,224,192,0,0,0,5,5,12,224,192,0,0,0,192,0,0,0,5,5,10,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,224,192,0,0,0,5,5,2,204,5,5,5,204,5,5,7,204,5,5,9,204,5,5,6,204,5,5,11,224,5,5,10,224,192,0,0,0,5,5,4,204,5,5,13,224,5,5,14,224,192,0,0,0,5,5,7,224,5,5,8,204,192,0,0,0,5,5,3,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,225,5,5,204,225,5,5,205,225,5,5,158,205,192,0,0,0,5,5,154,205,5,5,194,225,192,0,0,0,5,5,202,225,5,5,207,225,5,5,159,205,192,0,0,0,5,5,192,225,5,5,198,225,5,5,191,225,5,5,201,225,192,0,0,0,192,0,0,0,5,5,197,225,5,5,155,205,5,5,157,205,5,5,206,225,192,0,0,0,5,5,190,225,5,5,193,225,5,5,199,225,192,0,0,0,5,5,200,225,5,5,208,225,5,5,196,225,192,0,0,0,5,5,156,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,207,5,5,28,228,192,0,0,0,192,0,0,0,5,5,30,228,5,5,26,228,192,0,0,0,5,5,38,228,5,5,24,228,5,5,37,228,5,5,146,207,5,5,22,228,5,5,161,230,5,5,32,228,5,5,149,207,192,0,0,0,5,5,33,228,5,5,36,228,192,0,0,0,5,5,40,228,192,0,0,0,5,5,29,228,192,0,0,0,5,5,34,228,192,0,0,0,192,0,0,0,5,5,147,207,5,5,148,207,5,5,39,228,5,5,27,228,5,5,23,228,5,5,41,228,192,0,0,0,5,5,31,228,192,0,0,0,192,0,0,0,5,5,35,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,228,192,0,0,0,5,5,76,209,5,5,77,209,5,5,171,230,5,5,83,209,192,0,0,0,5,5,159,230,5,5,168,230,5,5,158,230,5,5,80,209,5,5,166,230,5,5,164,230,192,0,0,0,5,5,165,230,5,5,78,209,192,0,0,0,5,5,169,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,230,5,5,160,230,5,5,79,209,5,5,163,230,5,5,167,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,233,5,5,54,233,5,5,56,233,5,5,62,233,192,0,0,0,5,5,248,210,5,5,42,233,192,0,0,0,5,5,240,210,192,0,0,0,5,5,57,233,5,5,245,210,5,5,63,233,5,5,236,210,192,0,0,0,5,5,60,233,192,0,0,0,5,5,44,233,5,5,61,233,5,5,43,233,192,0,0,0,5,5,250,210,192,0,0,0,5,5,55,233,5,5,237,210,5,5,64,233,192,0,0,0,5,5,242,210,5,5,48,233,5,5,247,210,5,5,59,233,5,5,46,233,5,5,53,233,5,5,49,233,5,5,45,233,5,5,239,210,5,5,246,210,5,5,244,210,5,5,241,210,5,5,249,210,5,5,238,210,5,5,52,233,192,0,0,0,5,5,243,210,192,0,0,0,5,5,82,209,192,0,0,0,5,5,58,233,192,0,0,0,5,5,50,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,233,192,0,0,0,192,0,0,0,5,5,214,235,192,0,0,0,5,5,173,212,192,0,0,0,192,0,0,0,5,5,210,235,5,5,216,235,5,5,212,235,192,0,0,0,5,5,175,212,5,5,211,235,5,5,215,235,5,5,207,235,192,0,0,0,5,5,209,235,5,5,174,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,235,5,5,208,235,192,0,0,0,5,5,176,212,192,0,0,0,5,5,171,212,192,0,0,0,192,0,0,0,5,5,217,235,192,0,0,0,5,5,172,212,5,5,24,238,5,5,21,238,5,5,33,238,5,5,27,238,5,5,29,238,5,5,43,214,5,5,23,238,5,5,31,238,192,0,0,0,192,0,0,0,5,5,30,238,5,5,28,238,192,0,0,0,5,5,34,238,5,5,46,214,5,5,25,238,5,5,32,238,192,0,0,0,5,5,44,214,192,0,0,0,192,0,0,0,5,5,20,238,5,5,22,238,5,5,45,214,5,5,19,238,5,5,35,238,192,0,0,0,5,5,26,238,192,0,0,0,192,0,0,0,5,5,115,240,5,5,131,215,192,0,0,0,192,0,0,0,5,5,126,240,5,5,124,240,5,5,125,215,5,5,114,240,5,5,117,240,5,5,118,240,5,5,113,240,5,5,135,215,5,5,136,215,5,5,112,240,5,5,127,240,5,5,122,240,5,5,129,215,5,5,126,215,5,5,121,240,5,5,119,240,192,0,0,0,192,0,0,0,5,5,132,215,5,5,123,240,5,5,127,215,192,0,0,0,5,5,128,215,192,0,0,0,5,5,120,240,5,5,130,215,5,5,116,240,192,0,0,0,5,5,125,240,5,5,133,215,5,5,128,240,5,5,129,240,5,5,134,215,192,0,0,0,192,0,0,0,5,5,150,216,5,5,157,216,5,5,96,242,5,5,102,242,192,0,0,0,5,5,100,242,5,5,153,216,5,5,152,216,5,5,149,216,5,5,98,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,216,5,5,154,216,5,5,151,216,192,0,0,0,5,5,101,242,5,5,97,242,5,5,99,242,192,0,0,0,5,5,156,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,217,5,5,27,244,192,0,0,0,5,5,129,217,5,5,130,217,5,5,29,244,5,5,131,217,5,5,26,244,192,0,0,0,5,5,25,244,5,5,135,245,5,5,28,244,192,0,0,0,5,5,136,245,5,5,38,218,5,5,134,245,192,0,0,0,192,0,0,0,5,5,133,245,192,0,0,0,5,5,132,245,5,5,39,218,192,0,0,0,192,0,0,0,5,5,181,218,192,0,0,0,192,0,0,0,5,5,193,246,5,5,194,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,247,5,5,175,247,5,5,19,219,192,0,0,0,5,5,174,247,5,5,95,248,5,5,96,248,192,0,0,0,192,0,0,0,5,5,246,248,5,5,96,249,192,0,0,0,192,0,0,0,5,5,165,249,5,5,10,250,5,5,254,219,5,5,20,250,5,5,87,199,192,0,0,0,5,5,187,202,5,5,188,202,192,0,0,0,192,0,0,0,5,5,11,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,216,5,5,88,199,192,0,0,0,5,5,189,202,5,5,160,205,5,5,251,210,5,5,89,199,192,0,0,0,5,5,151,207,5,5,177,212,5,5,39,220,192,0,0,0,5,5,16,224,5,5,209,225,192,0,0,0,5,5,218,235,192,0,0,0,5,5,159,216,5,5,90,199,5,5,190,202,5,5,17,224,5,5,18,224,5,5,172,230,5,5,84,209,192,0,0,0,192,0,0,0,5,5,65,233,192,0,0,0,192,0,0,0,5,5,252,210,5,5,219,235,192,0,0,0,192,0,0,0,5,5,47,214,192,0,0,0,5,5,40,218,5,5,91,199,5,5,173,230,5,5,92,199,192,0,0,0,5,5,102,200,5,5,164,220,5,5,101,200,5,5,96,201,5,5,95,201,5,5,94,201,5,5,97,221,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,202,192,0,0,0,5,5,192,202,5,5,152,222,192,0,0,0,5,5,19,224,192,0,0,0,5,5,22,224,5,5,13,204,5,5,20,224,192,0,0,0,5,5,12,204,5,5,21,224,5,5,14,204,192,0,0,0,5,5,212,225,5,5,211,225,5,5,210,225,5,5,161,205,192,0,0,0,5,5,43,228,5,5,44,228,5,5,152,207,5,5,42,228,5,5,45,228,5,5,86,209,5,5,153,207,192,0,0,0,192,0,0,0,5,5,85,209,5,5,177,230,5,5,176,230,192,0,0,0,5,5,174,230,5,5,175,230,192,0,0,0,5,5,178,230,5,5,67,233,5,5,66,233,5,5,70,233,192,0,0,0,5,5,69,233,5,5,68,233,5,5,178,212,5,5,222,235,192,0,0,0,5,5,221,235,5,5,179,212,5,5,220,235,5,5,36,238,192,0,0,0,5,5,37,238,5,5,48,214,192,0,0,0,5,5,130,240,5,5,131,240,192,0,0,0,192,0,0,0,5,5,141,245,5,5,41,218,5,5,140,245,5,5,139,245,5,5,137,245,5,5,138,245,5,5,20,219,5,5,195,246,5,5,97,248,5,5,166,249,192,0,0,0,5,5,93,199,192,0,0,0,5,5,72,220,5,5,197,199,5,5,73,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,220,5,5,166,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,221,192,0,0,0,192,0,0,0,5,5,99,221,192,0,0,0,5,5,98,221,5,5,193,202,5,5,102,221,5,5,98,201,5,5,100,221,5,5,97,201,5,5,104,221,5,5,101,221,192,0,0,0,192,0,0,0,5,5,156,222,5,5,23,224,5,5,154,222,5,5,161,222,192,0,0,0,5,5,194,202,192,0,0,0,5,5,197,202,5,5,162,222,5,5,158,222,192,0,0,0,5,5,159,222,192,0,0,0,5,5,153,222,5,5,196,202,5,5,155,222,5,5,195,202,5,5,160,222,192,0,0,0,5,5,157,222,192,0,0,0,192,0,0,0,5,5,27,224,5,5,16,204,5,5,17,204,192,0,0,0,5,5,30,224,5,5,24,224,192,0,0,0,5,5,29,224,192,0,0,0,5,5,25,224,5,5,15,204,5,5,28,224,5,5,26,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,225,5,5,215,225,192,0,0,0,5,5,217,225,5,5,166,205,5,5,165,205,5,5,163,205,5,5,214,225,5,5,219,225,5,5,162,205,5,5,164,205,5,5,216,225,5,5,53,228,5,5,213,225,5,5,220,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,228,5,5,52,228,192,0,0,0,5,5,51,228,5,5,180,230,5,5,191,230,192,0,0,0,192,0,0,0,5,5,54,228,192,0,0,0,5,5,49,228,5,5,179,230,5,5,157,207,192,0,0,0,192,0,0,0,5,5,156,207,5,5,47,228,5,5,50,228,5,5,158,207,192,0,0,0,5,5,155,207,5,5,154,207,5,5,46,228,5,5,55,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,230,5,5,189,230,192,0,0,0,5,5,88,209,5,5,188,230,5,5,185,230,192,0,0,0,5,5,90,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,230,192,0,0,0,192,0,0,0,5,5,181,230,5,5,183,230,5,5,186,230,5,5,184,230,5,5,89,209,5,5,190,230,5,5,87,209,5,5,253,210,192,0,0,0,192,0,0,0,5,5,74,233,5,5,73,233,5,5,71,233,192,0,0,0,5,5,2,211,5,5,255,210,5,5,75,233,192,0,0,0,5,5,72,233,5,5,223,235,5,5,180,212,5,5,254,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,233,5,5,76,233,192,0,0,0,5,5,226,235,5,5,224,235,5,5,49,214,192,0,0,0,5,5,181,212,5,5,225,235,5,5,39,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,214,5,5,38,238,5,5,47,238,5,5,46,238,5,5,44,238,192,0,0,0,5,5,43,238,5,5,40,238,5,5,41,238,5,5,42,238,5,5,45,238,5,5,48,238,192,0,0,0,192,0,0,0,5,5,136,240,5,5,133,240,5,5,134,240,5,5,137,215,5,5,132,240,5,5,138,240,5,5,137,240,5,5,135,240,192,0,0,0,5,5,104,242,5,5,105,242,5,5,160,216,192,0,0,0,5,5,161,216,5,5,103,242,192,0,0,0,5,5,134,217,5,5,30,244,5,5,133,217,5,5,42,218,192,0,0,0,5,5,43,218,5,5,182,218,5,5,197,246,5,5,196,246,5,5,177,247,5,5,98,248,5,5,98,219,5,5,248,248,5,5,247,248,5,5,249,248,5,5,198,199,5,5,31,224,5,5,167,205,5,5,159,207,5,5,56,228,5,5,199,199,5,5,74,220,5,5,94,199,192,0,0,0,192,0,0,0,5,5,167,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,221,5,5,107,221,5,5,108,221,5,5,105,221,5,5,99,201,5,5,106,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,222,192,0,0,0,5,5,200,202,5,5,168,222,5,5,164,222,5,5,167,222,192,0,0,0,5,5,163,222,5,5,202,202,5,5,166,222,192,0,0,0,5,5,199,202,5,5,198,202,192,0,0,0,5,5,201,202,5,5,169,222,5,5,165,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,204,5,5,24,204,5,5,39,224,5,5,38,224,5,5,37,224,5,5,18,204,5,5,46,224,5,5,36,224,192,0,0,0,5,5,20,204,5,5,225,225,192,0,0,0,5,5,43,224,5,5,41,224,5,5,23,204,192,0,0,0,5,5,33,224,5,5,44,224,192,0,0,0,5,5,35,224,5,5,45,224,5,5,42,224,5,5,34,224,192,0,0,0,5,5,19,204,5,5,47,224,5,5,32,224,5,5,22,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,225,5,5,221,225,5,5,232,225,192,0,0,0,5,5,224,225,5,5,235,225,5,5,236,225,5,5,222,225,5,5,234,225,5,5,231,225,5,5,229,225,5,5,233,225,5,5,173,205,192,0,0,0,5,5,171,205,192,0,0,0,192,0,0,0,5,5,227,225,192,0,0,0,5,5,223,225,192,0,0,0,5,5,226,225,5,5,237,225,5,5,228,225,5,5,172,205,5,5,40,224,192,0,0,0,5,5,168,205,5,5,170,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,228,5,5,59,228,5,5,57,228,192,0,0,0,5,5,58,228,192,0,0,0,5,5,65,228,192,0,0,0,5,5,66,228,5,5,62,228,5,5,164,207,5,5,67,228,5,5,64,228,5,5,61,228,192,0,0,0,5,5,162,207,5,5,60,228,5,5,160,207,5,5,163,207,5,5,63,228,5,5,71,228,5,5,169,205,5,5,161,207,5,5,69,228,5,5,68,228,5,5,165,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,230,5,5,100,209,192,0,0,0,5,5,203,230,192,0,0,0,192,0,0,0,5,5,205,230,5,5,198,230,5,5,94,209,5,5,202,230,5,5,201,230,5,5,95,209,5,5,101,209,192,0,0,0,5,5,102,209,5,5,204,230,5,5,92,209,5,5,195,230,5,5,193,230,5,5,199,230,5,5,192,230,5,5,99,209,5,5,194,230,5,5,200,230,5,5,206,230,5,5,93,209,5,5,98,209,5,5,96,209,5,5,97,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,211,5,5,84,233,5,5,8,211,5,5,88,233,192,0,0,0,5,5,78,233,192,0,0,0,5,5,89,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,233,5,5,80,233,192,0,0,0,5,5,90,233,5,5,87,233,5,5,85,233,5,5,86,233,5,5,82,233,5,5,81,233,192,0,0,0,5,5,91,233,5,5,5,211,192,0,0,0,5,5,83,233,192,0,0,0,5,5,10,211,5,5,4,211,5,5,11,211,5,5,12,211,192,0,0,0,5,5,7,211,5,5,6,211,192,0,0,0,192,0,0,0,5,5,227,235,5,5,183,212,5,5,182,212,192,0,0,0,192,0,0,0,5,5,232,235,192,0,0,0,5,5,51,214,5,5,184,212,192,0,0,0,192,0,0,0,5,5,186,212,5,5,233,235,5,5,3,211,5,5,185,212,5,5,229,235,5,5,231,235,5,5,228,235,192,0,0,0,5,5,230,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,238,192,0,0,0,192,0,0,0,5,5,57,238,5,5,54,238,5,5,54,214,5,5,139,240,5,5,55,214,5,5,53,238,192,0,0,0,5,5,53,214,192,0,0,0,5,5,55,238,5,5,52,238,5,5,49,238,5,5,56,238,5,5,50,238,5,5,51,238,5,5,52,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,242,192,0,0,0,5,5,143,240,192,0,0,0,5,5,142,240,5,5,144,240,192,0,0,0,5,5,106,242,5,5,140,215,192,0,0,0,5,5,140,240,192,0,0,0,5,5,138,215,192,0,0,0,5,5,142,215,5,5,141,215,5,5,141,240,5,5,145,240,192,0,0,0,5,5,139,215,192,0,0,0,5,5,113,242,5,5,164,216,5,5,135,217,5,5,165,216,5,5,162,216,5,5,110,242,5,5,108,242,192,0,0,0,5,5,111,242,192,0,0,0,5,5,114,242,5,5,163,216,5,5,112,242,5,5,107,242,192,0,0,0,192,0,0,0,5,5,33,244,5,5,36,244,5,5,144,245,5,5,31,244,192,0,0,0,5,5,198,246,5,5,37,244,192,0,0,0,5,5,44,218,5,5,35,244,5,5,136,217,5,5,32,244,5,5,34,244,5,5,38,244,5,5,145,245,192,0,0,0,5,5,143,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,218,5,5,142,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,219,5,5,100,248,5,5,21,219,5,5,102,248,5,5,99,248,5,5,101,248,5,5,150,219,5,5,97,249,5,5,200,199,5,5,171,222,5,5,238,225,5,5,239,225,5,5,166,207,5,5,92,233,5,5,143,215,5,5,46,218,5,5,99,219,5,5,98,249,5,5,201,199,192,0,0,0,5,5,172,222,5,5,0,134,192,0,0,0,192,0,0,0,5,5,48,224,192,0,0,0,5,5,49,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,225,5,5,241,225,5,5,167,207,5,5,168,207,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,230,192,0,0,0,5,5,95,233,5,5,94,233,5,5,93,233,5,5,234,235,192,0,0,0,5,5,235,235,5,5,236,235,5,5,187,212,192,0,0,0,192,0,0,0,5,5,60,238,5,5,59,238,192,0,0,0,192,0,0,0,5,5,146,240,5,5,144,215,5,5,145,215,192,0,0,0,5,5,118,242,5,5,115,242,5,5,116,242,5,5,117,242,5,5,40,244,5,5,39,244,5,5,137,217,5,5,146,245,5,5,178,247,5,5,202,199,192,0,0,0,5,5,25,204,192,0,0,0,5,5,169,207,5,5,96,233,192,0,0,0,5,5,203,199,192,0,0,0,5,5,242,225,5,5,170,207,192,0,0,0,192,0,0,0,5,5,103,209,5,5,104,209,192,0,0,0,5,5,204,199,5,5,205,199,5,5,168,220,5,5,101,201,5,5,100,201,5,5,26,204,5,5,50,224,5,5,208,230,5,5,206,199,5,5,207,199,5,5,208,199,5,5,209,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,201,5,5,103,201,5,5,111,221,5,5,110,221,192,0,0,0,192,0,0,0,5,5,203,202,5,5,175,222,5,5,173,222,5,5,174,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,224,5,5,52,224,192,0,0,0,192,0,0,0,5,5,30,204,5,5,28,204,192,0,0,0,5,5,29,204,5,5,27,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,205,5,5,177,205,5,5,243,225,5,5,176,205,5,5,175,205,192,0,0,0,5,5,244,225,192,0,0,0,192,0,0,0,5,5,173,207,5,5,73,228,5,5,72,228,5,5,171,207,5,5,172,207,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,209,5,5,105,209,5,5,210,230,192,0,0,0,192,0,0,0,5,5,209,230,5,5,174,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,211,5,5,98,233,5,5,14,211,5,5,97,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,235,5,5,61,238,5,5,56,214,5,5,147,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,242,192,0,0,0,5,5,48,218,5,5,47,218,192,0,0,0,192,0,0,0,5,5,100,219,5,5,210,199,5,5,176,222,192,0,0,0,192,0,0,0,5,5,175,207,5,5,238,235,5,5,188,212,192,0,0,0,192,0,0,0,5,5,112,221,5,5,113,221,192,0,0,0,192,0,0,0,5,5,177,222,5,5,205,202,5,5,206,202,192,0,0,0,192,0,0,0,5,5,204,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,204,5,5,35,204,5,5,32,204,5,5,33,204,192,0,0,0,5,5,53,224,192,0,0,0,192,0,0,0,5,5,54,224,5,5,31,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,225,192,0,0,0,5,5,182,205,5,5,183,205,192,0,0,0,5,5,178,207,5,5,251,225,192,0,0,0,5,5,188,205,5,5,186,205,5,5,252,225,5,5,247,225,5,5,185,205,5,5,184,205,5,5,179,205,5,5,250,225,5,5,249,225,5,5,246,225,5,5,187,205,192,0,0,0,5,5,248,225,5,5,180,205,192,0,0,0,5,5,181,205,192,0,0,0,192,0,0,0,5,5,179,207,5,5,77,228,5,5,78,228,5,5,180,207,5,5,74,228,5,5,76,228,5,5,80,228,5,5,79,228,5,5,75,228,192,0,0,0,5,5,176,207,5,5,177,207,192,0,0,0,5,5,218,230,5,5,111,209,5,5,110,209,5,5,212,230,5,5,108,209,192,0,0,0,5,5,215,230,5,5,112,209,5,5,216,230,5,5,113,209,5,5,213,230,5,5,107,209,5,5,109,209,5,5,217,230,192,0,0,0,5,5,214,230,5,5,211,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,233,192,0,0,0,5,5,100,233,5,5,16,211,5,5,19,211,5,5,18,211,5,5,23,211,5,5,22,211,5,5,112,233,5,5,110,233,5,5,103,233,5,5,107,233,5,5,106,233,5,5,20,211,5,5,109,233,5,5,105,233,5,5,113,233,5,5,104,233,5,5,21,211,5,5,15,211,5,5,17,211,192,0,0,0,5,5,102,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,235,5,5,192,212,5,5,244,235,5,5,191,212,5,5,241,235,5,5,190,212,192,0,0,0,5,5,101,233,5,5,108,233,5,5,243,235,192,0,0,0,5,5,193,212,5,5,245,235,5,5,242,235,5,5,239,235,192,0,0,0,192,0,0,0,5,5,64,238,5,5,68,238,5,5,70,238,5,5,66,238,5,5,65,238,5,5,63,238,5,5,59,214,5,5,57,214,5,5,62,214,5,5,63,214,5,5,67,238,5,5,60,214,5,5,62,238,5,5,61,214,5,5,189,212,5,5,69,238,5,5,58,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,240,192,0,0,0,5,5,148,240,5,5,156,240,5,5,150,240,5,5,155,240,5,5,152,240,5,5,146,215,5,5,154,240,192,0,0,0,192,0,0,0,5,5,147,215,192,0,0,0,5,5,148,215,192,0,0,0,5,5,153,240,5,5,151,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,216,5,5,120,242,192,0,0,0,192,0,0,0,5,5,166,216,5,5,123,242,5,5,121,242,5,5,122,242,192,0,0,0,192,0,0,0,5,5,168,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,244,192,0,0,0,5,5,140,217,5,5,45,244,192,0,0,0,192,0,0,0,5,5,138,217,5,5,46,244,5,5,139,217,5,5,43,244,5,5,47,244,192,0,0,0,5,5,41,244,192,0,0,0,192,0,0,0,5,5,49,218,5,5,147,245,5,5,50,218,5,5,184,218,192,0,0,0,5,5,42,244,5,5,185,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,219,5,5,179,247,192,0,0,0,5,5,102,219,5,5,103,248,5,5,101,219,192,0,0,0,5,5,250,248,5,5,187,219,5,5,188,219,192,0,0,0,192,0,0,0,5,5,26,250,192,0,0,0,192,0,0,0,5,5,36,204,5,5,55,224,192,0,0,0,5,5,114,209,5,5,115,209,5,5,211,199,5,5,103,200,5,5,169,220,192,0,0,0,5,5,114,221,5,5,104,201,192,0,0,0,5,5,207,202,192,0,0,0,5,5,37,204,5,5,38,204,5,5,39,204,5,5,82,228,5,5,253,225,5,5,189,205,192,0,0,0,192,0,0,0,5,5,181,207,5,5,81,228,192,0,0,0,192,0,0,0,5,5,220,230,5,5,117,209,192,0,0,0,5,5,219,230,5,5,116,209,192,0,0,0,192,0,0,0,5,5,114,233,5,5,64,214,5,5,74,238,5,5,71,238,5,5,72,238,5,5,73,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,242,192,0,0,0,5,5,48,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,246,5,5,199,246,192,0,0,0,5,5,104,248,5,5,212,199,5,5,178,222,5,5,190,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,209,5,5,115,233,192,0,0,0,192,0,0,0,5,5,246,235,192,0,0,0,5,5,65,214,5,5,157,240,192,0,0,0,5,5,49,244,5,5,201,246,5,5,213,199,192,0,0,0,192,0,0,0,5,5,208,202,5,5,42,204,5,5,56,224,5,5,43,204,5,5,41,204,192,0,0,0,5,5,40,204,5,5,254,225,5,5,191,205,192,0,0,0,192,0,0,0,5,5,192,205,5,5,193,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,207,5,5,83,228,5,5,182,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,230,5,5,184,207,5,5,119,209,5,5,116,233,5,5,24,211,5,5,25,211,192,0,0,0,5,5,194,212,192,0,0,0,5,5,195,212,5,5,66,214,5,5,150,215,5,5,158,240,5,5,149,215,192,0,0,0,5,5,125,242,5,5,169,216,192,0,0,0,5,5,50,244,5,5,202,246,5,5,214,199,5,5,105,201,5,5,181,222,5,5,180,222,5,5,209,202,5,5,179,222,5,5,210,202,5,5,182,222,192,0,0,0,5,5,62,224,5,5,46,204,5,5,45,204,5,5,64,224,5,5,63,224,5,5,50,204,192,0,0,0,5,5,49,204,192,0,0,0,192,0,0,0,5,5,44,204,192,0,0,0,5,5,58,224,5,5,59,224,5,5,60,224,192,0,0,0,5,5,51,204,5,5,57,224,5,5,47,204,5,5,61,224,5,5,48,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,226,5,5,7,226,5,5,5,226,5,5,4,226,192,0,0,0,5,5,8,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,226,5,5,10,226,5,5,2,226,192,0,0,0,5,5,255,225,192,0,0,0,5,5,195,205,5,5,196,205,192,0,0,0,5,5,11,226,5,5,6,226,192,0,0,0,5,5,92,228,192,0,0,0,5,5,12,226,5,5,197,205,5,5,194,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,228,192,0,0,0,5,5,85,228,192,0,0,0,5,5,87,228,5,5,88,228,5,5,90,228,5,5,89,228,5,5,94,228,5,5,188,207,5,5,185,207,5,5,189,207,5,5,84,228,5,5,190,207,5,5,93,228,5,5,187,207,5,5,91,228,5,5,186,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,230,5,5,226,230,5,5,222,230,5,5,223,230,192,0,0,0,192,0,0,0,5,5,227,230,5,5,229,230,5,5,230,230,5,5,225,230,5,5,228,230,5,5,120,209,192,0,0,0,192,0,0,0,5,5,120,233,192,0,0,0,5,5,125,233,5,5,117,233,5,5,121,233,192,0,0,0,192,0,0,0,5,5,126,233,5,5,122,233,5,5,26,211,5,5,34,211,192,0,0,0,5,5,29,211,5,5,118,233,5,5,119,233,5,5,199,212,5,5,37,211,5,5,30,211,192,0,0,0,5,5,35,211,5,5,28,211,5,5,124,233,5,5,36,211,5,5,123,233,5,5,32,211,5,5,27,211,5,5,33,211,5,5,127,233,5,5,251,235,5,5,253,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,211,192,0,0,0,192,0,0,0,5,5,248,235,5,5,197,212,5,5,254,235,5,5,198,212,5,5,252,235,5,5,247,235,5,5,250,235,5,5,255,235,5,5,196,212,5,5,249,235,192,0,0,0,5,5,68,214,5,5,78,238,5,5,77,238,192,0,0,0,5,5,71,214,5,5,69,214,5,5,75,238,5,5,67,214,5,5,76,238,192,0,0,0,5,5,70,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,240,192,0,0,0,5,5,168,240,192,0,0,0,5,5,167,240,5,5,159,240,5,5,163,240,5,5,162,240,5,5,160,240,5,5,152,215,5,5,153,215,5,5,151,215,5,5,161,240,5,5,164,240,5,5,165,240,192,0,0,0,5,5,154,215,192,0,0,0,5,5,174,216,5,5,133,242,192,0,0,0,5,5,171,216,5,5,127,242,5,5,173,216,5,5,175,216,192,0,0,0,192,0,0,0,5,5,172,216,5,5,132,242,5,5,128,242,5,5,170,216,5,5,131,242,5,5,126,242,5,5,130,242,5,5,129,242,192,0,0,0,192,0,0,0,5,5,52,244,5,5,143,217,5,5,144,217,5,5,141,217,192,0,0,0,5,5,142,217,192,0,0,0,192,0,0,0,5,5,51,244,192,0,0,0,5,5,150,245,192,0,0,0,192,0,0,0,5,5,51,218,192,0,0,0,5,5,148,245,5,5,149,245,192,0,0,0,5,5,203,246,5,5,206,246,5,5,204,246,5,5,205,246,5,5,180,247,192,0,0,0,192,0,0,0,5,5,24,219,5,5,251,248,5,5,99,249,192,0,0,0,5,5,189,219,5,5,167,249,5,5,168,249,5,5,235,219,5,5,215,199,5,5,52,204,192,0,0,0,5,5,231,230,192,0,0,0,5,5,128,233,192,0,0,0,5,5,216,199,5,5,106,201,192,0,0,0,5,5,211,202,192,0,0,0,5,5,65,224,5,5,66,224,5,5,198,205,192,0,0,0,192,0,0,0,5,5,232,230,5,5,121,209,5,5,38,211,5,5,176,216,5,5,134,242,5,5,151,245,5,5,207,246,5,5,217,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,222,5,5,183,222,5,5,185,222,5,5,187,222,5,5,186,222,5,5,184,222,5,5,212,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,204,5,5,75,224,192,0,0,0,5,5,70,224,5,5,67,224,192,0,0,0,192,0,0,0,5,5,74,224,192,0,0,0,192,0,0,0,5,5,55,204,5,5,56,204,5,5,73,224,5,5,72,224,5,5,71,224,5,5,68,224,5,5,69,224,5,5,76,224,5,5,54,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,205,192,0,0,0,5,5,208,205,5,5,207,205,5,5,21,226,5,5,15,226,5,5,13,226,192,0,0,0,5,5,205,205,5,5,101,228,5,5,200,205,5,5,18,226,5,5,22,226,5,5,24,226,5,5,20,226,5,5,14,226,5,5,206,205,5,5,19,226,5,5,17,226,5,5,199,205,5,5,25,226,5,5,209,205,5,5,23,226,5,5,203,205,5,5,16,226,192,0,0,0,5,5,204,205,5,5,201,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,207,192,0,0,0,5,5,102,228,192,0,0,0,192,0,0,0,5,5,95,228,5,5,97,228,5,5,99,228,192,0,0,0,5,5,100,228,5,5,98,228,5,5,193,207,192,0,0,0,5,5,103,228,192,0,0,0,5,5,96,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,230,5,5,122,209,5,5,244,230,192,0,0,0,5,5,233,230,192,0,0,0,5,5,245,230,192,0,0,0,5,5,234,230,5,5,235,230,192,0,0,0,192,0,0,0,5,5,243,230,5,5,242,230,5,5,239,230,5,5,191,207,5,5,123,209,5,5,237,230,5,5,240,230,5,5,124,209,5,5,241,230,5,5,238,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,233,192,0,0,0,5,5,143,233,5,5,45,211,192,0,0,0,5,5,7,236,5,5,48,211,5,5,141,233,192,0,0,0,192,0,0,0,5,5,138,233,5,5,133,233,5,5,135,233,5,5,136,233,5,5,129,233,192,0,0,0,5,5,44,211,192,0,0,0,192,0,0,0,5,5,43,211,192,0,0,0,5,5,39,211,5,5,132,233,192,0,0,0,5,5,46,211,192,0,0,0,5,5,47,211,5,5,131,233,5,5,134,233,5,5,142,233,5,5,41,211,5,5,42,211,5,5,140,233,5,5,130,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,236,5,5,201,212,5,5,11,236,5,5,137,233,5,5,13,236,5,5,205,212,5,5,14,236,5,5,10,236,192,0,0,0,5,5,202,212,5,5,6,236,5,5,204,212,5,5,3,236,5,5,8,236,5,5,12,236,5,5,5,236,192,0,0,0,192,0,0,0,5,5,40,211,192,0,0,0,5,5,2,236,5,5,203,212,5,5,4,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,214,5,5,80,238,5,5,78,214,192,0,0,0,5,5,76,214,192,0,0,0,192,0,0,0,5,5,200,212,192,0,0,0,5,5,87,238,5,5,88,238,5,5,73,214,192,0,0,0,192,0,0,0,5,5,86,238,5,5,89,238,5,5,75,214,5,5,72,214,5,5,82,238,5,5,79,238,5,5,84,238,5,5,81,238,5,5,79,214,5,5,83,238,192,0,0,0,192,0,0,0,5,5,85,238,5,5,77,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,215,5,5,175,240,192,0,0,0,5,5,169,240,5,5,173,240,5,5,179,240,5,5,180,240,5,5,176,240,5,5,177,240,5,5,174,240,192,0,0,0,5,5,171,240,192,0,0,0,5,5,158,215,5,5,155,215,5,5,170,240,5,5,172,240,192,0,0,0,5,5,157,215,5,5,178,240,192,0,0,0,5,5,180,216,192,0,0,0,192,0,0,0,5,5,140,242,5,5,135,242,5,5,179,216,192,0,0,0,192,0,0,0,5,5,177,216,192,0,0,0,5,5,142,242,5,5,178,216,5,5,138,242,5,5,139,242,5,5,136,242,5,5,143,242,5,5,53,244,192,0,0,0,5,5,181,216,5,5,137,242,192,0,0,0,5,5,144,242,5,5,141,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,244,192,0,0,0,192,0,0,0,5,5,54,244,192,0,0,0,5,5,145,217,192,0,0,0,5,5,58,244,5,5,60,244,5,5,59,244,5,5,55,244,5,5,56,244,192,0,0,0,192,0,0,0,5,5,156,245,192,0,0,0,5,5,52,218,192,0,0,0,5,5,153,245,5,5,155,245,5,5,152,245,5,5,157,245,192,0,0,0,192,0,0,0,5,5,154,245,192,0,0,0,5,5,209,246,5,5,212,246,5,5,208,246,5,5,186,218,5,5,210,246,5,5,211,246,5,5,213,246,5,5,187,218,5,5,189,218,5,5,188,218,5,5,181,247,192,0,0,0,5,5,183,247,192,0,0,0,5,5,182,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,248,192,0,0,0,192,0,0,0,5,5,100,249,5,5,169,249,5,5,218,199,192,0,0,0,192,0,0,0,5,5,115,221,5,5,213,202,5,5,190,222,5,5,214,202,5,5,215,202,5,5,189,222,192,0,0,0,5,5,81,224,5,5,80,224,5,5,57,204,5,5,60,204,5,5,59,204,5,5,58,204,5,5,77,224,5,5,79,224,5,5,78,224,192,0,0,0,192,0,0,0,5,5,28,226,5,5,211,205,5,5,32,226,5,5,31,226,5,5,30,226,5,5,26,226,5,5,210,205,5,5,214,205,5,5,217,205,192,0,0,0,192,0,0,0,5,5,218,205,5,5,27,226,5,5,29,226,5,5,216,205,5,5,215,205,5,5,213,205,5,5,212,205,5,5,110,228,192,0,0,0,5,5,108,228,5,5,104,228,5,5,194,207,192,0,0,0,5,5,105,228,5,5,195,207,5,5,106,228,5,5,107,228,5,5,109,228,192,0,0,0,5,5,196,207,192,0,0,0,192,0,0,0,5,5,249,230,192,0,0,0,5,5,248,230,5,5,247,230,5,5,246,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,233,5,5,49,211,192,0,0,0,5,5,144,233,5,5,146,233,192,0,0,0,5,5,50,211,192,0,0,0,5,5,51,211,5,5,145,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,236,192,0,0,0,5,5,16,236,5,5,17,236,192,0,0,0,5,5,208,212,5,5,206,212,5,5,207,212,5,5,25,236,192,0,0,0,5,5,24,236,5,5,21,236,5,5,20,236,5,5,19,236,5,5,18,236,5,5,22,236,5,5,15,236,192,0,0,0,5,5,90,238,5,5,95,238,5,5,93,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,238,5,5,91,238,5,5,94,238,192,0,0,0,5,5,181,240,192,0,0,0,5,5,159,215,5,5,182,216,5,5,146,242,192,0,0,0,5,5,183,216,5,5,145,242,5,5,62,244,5,5,61,244,5,5,146,217,192,0,0,0,5,5,158,245,5,5,53,218,5,5,214,246,5,5,103,219,5,5,106,248,192,0,0,0,5,5,102,249,5,5,101,249,5,5,75,220,5,5,61,204,5,5,62,204,5,5,111,228,192,0,0,0,5,5,53,211,5,5,219,199,5,5,109,201,5,5,108,201,5,5,107,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,222,192,0,0,0,192,0,0,0,5,5,217,202,5,5,216,202,192,0,0,0,5,5,65,204,192,0,0,0,5,5,83,224,5,5,86,224,5,5,84,224,192,0,0,0,5,5,63,204,5,5,64,204,192,0,0,0,192,0,0,0,5,5,82,224,5,5,85,224,192,0,0,0,5,5,225,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,226,5,5,41,226,5,5,40,226,5,5,222,205,5,5,35,226,192,0,0,0,192,0,0,0,5,5,220,205,5,5,219,205,192,0,0,0,5,5,223,205,5,5,221,205,192,0,0,0,5,5,224,205,5,5,38,226,5,5,33,226,5,5,34,226,5,5,37,226,5,5,36,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,228,5,5,115,228,5,5,113,228,192,0,0,0,5,5,112,228,5,5,197,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,209,192,0,0,0,5,5,250,230,5,5,252,230,5,5,254,230,5,5,128,209,192,0,0,0,192,0,0,0,5,5,126,209,192,0,0,0,5,5,251,230,5,5,127,209,5,5,253,230,5,5,125,209,192,0,0,0,192,0,0,0,5,5,157,233,5,5,148,233,5,5,151,233,5,5,155,233,5,5,57,211,5,5,153,233,192,0,0,0,5,5,152,233,5,5,149,233,5,5,150,233,5,5,55,211,5,5,156,233,5,5,54,211,192,0,0,0,5,5,59,211,5,5,58,211,5,5,56,211,192,0,0,0,5,5,154,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,236,192,0,0,0,5,5,30,236,192,0,0,0,192,0,0,0,5,5,26,236,192,0,0,0,192,0,0,0,5,5,209,212,5,5,29,236,5,5,28,236,5,5,210,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,214,192,0,0,0,5,5,97,238,192,0,0,0,5,5,85,214,5,5,81,214,5,5,83,214,192,0,0,0,5,5,80,214,5,5,82,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,240,192,0,0,0,5,5,162,215,5,5,184,240,5,5,183,240,192,0,0,0,5,5,27,236,5,5,164,215,5,5,163,215,5,5,160,215,5,5,161,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,242,192,0,0,0,5,5,149,242,5,5,184,216,5,5,150,242,192,0,0,0,5,5,152,242,5,5,148,242,5,5,147,242,192,0,0,0,192,0,0,0,5,5,63,244,5,5,149,217,5,5,147,217,5,5,148,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,245,5,5,160,245,5,5,55,218,192,0,0,0,5,5,54,218,5,5,216,246,5,5,217,246,5,5,215,246,192,0,0,0,5,5,107,248,5,5,108,248,192,0,0,0,192,0,0,0,5,5,220,199,5,5,170,220,5,5,110,201,192,0,0,0,5,5,192,222,5,5,219,202,5,5,218,202,5,5,193,222,192,0,0,0,192,0,0,0,5,5,88,224,5,5,66,204,5,5,87,224,5,5,67,204,192,0,0,0,192,0,0,0,5,5,226,205,5,5,44,226,5,5,42,226,5,5,48,226,5,5,227,205,5,5,43,226,5,5,47,226,5,5,45,226,5,5,46,226,192,0,0,0,192,0,0,0,5,5,116,228,5,5,118,228,192,0,0,0,5,5,198,207,192,0,0,0,5,5,117,228,5,5,199,207,5,5,132,209,5,5,131,209,5,5,130,209,5,5,255,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,233,5,5,60,211,5,5,61,211,192,0,0,0,5,5,159,233,5,5,158,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,236,5,5,212,212,5,5,211,212,5,5,33,236,5,5,34,236,192,0,0,0,5,5,87,214,5,5,86,214,192,0,0,0,5,5,188,240,5,5,98,238,5,5,100,238,5,5,99,238,5,5,187,240,5,5,185,240,5,5,189,240,5,5,186,240,192,0,0,0,5,5,165,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,242,5,5,185,216,5,5,154,242,5,5,155,242,192,0,0,0,192,0,0,0,5,5,150,217,5,5,151,217,192,0,0,0,5,5,190,218,192,0,0,0,192,0,0,0,5,5,151,219,5,5,221,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,226,5,5,228,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,208,5,5,95,208,192,0,0,0,192,0,0,0,5,5,134,209,5,5,3,231,5,5,133,209,5,5,2,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,233,192,0,0,0,5,5,213,212,5,5,35,236,5,5,214,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,218,5,5,218,246,192,0,0,0,5,5,104,200,5,5,220,202,5,5,194,222,192,0,0,0,5,5,69,204,192,0,0,0,5,5,68,204,5,5,90,224,5,5,91,224,192,0,0,0,192,0,0,0,5,5,51,226,5,5,53,226,5,5,229,205,192,0,0,0,5,5,55,226,5,5,58,226,5,5,56,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,226,5,5,54,226,5,5,50,226,5,5,230,205,5,5,59,226,5,5,52,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,228,5,5,205,207,5,5,136,228,5,5,202,207,192,0,0,0,5,5,129,228,5,5,206,207,192,0,0,0,5,5,200,207,192,0,0,0,5,5,124,228,5,5,137,228,5,5,125,228,5,5,122,228,5,5,204,207,192,0,0,0,5,5,201,207,192,0,0,0,5,5,128,228,5,5,131,228,5,5,203,207,5,5,132,228,5,5,207,207,5,5,133,228,5,5,123,228,5,5,130,228,5,5,134,228,5,5,126,228,5,5,121,228,5,5,119,228,192,0,0,0,192,0,0,0,5,5,135,228,192,0,0,0,192,0,0,0,5,5,5,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,231,5,5,12,231,5,5,137,209,5,5,120,228,5,5,7,231,5,5,135,209,5,5,4,231,5,5,142,209,5,5,8,231,5,5,141,209,5,5,9,231,5,5,143,209,5,5,138,209,5,5,144,209,5,5,139,209,192,0,0,0,5,5,140,209,192,0,0,0,5,5,136,209,192,0,0,0,5,5,11,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,211,5,5,172,233,192,0,0,0,5,5,175,233,5,5,163,233,5,5,168,233,5,5,162,233,5,5,66,211,192,0,0,0,5,5,166,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,233,5,5,65,211,192,0,0,0,5,5,171,233,5,5,170,233,5,5,167,233,5,5,169,233,5,5,165,233,5,5,218,212,5,5,174,233,5,5,62,211,5,5,173,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,236,192,0,0,0,5,5,225,212,5,5,46,236,192,0,0,0,5,5,224,212,5,5,36,236,192,0,0,0,5,5,38,236,5,5,217,212,5,5,43,236,5,5,42,236,5,5,45,236,5,5,222,212,5,5,40,236,5,5,39,236,192,0,0,0,192,0,0,0,5,5,221,212,5,5,216,212,5,5,41,236,5,5,219,212,5,5,47,236,5,5,49,236,192,0,0,0,5,5,44,236,5,5,37,236,5,5,220,212,192,0,0,0,192,0,0,0,5,5,95,214,5,5,215,212,192,0,0,0,192,0,0,0,5,5,50,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,238,5,5,88,214,192,0,0,0,5,5,106,238,192,0,0,0,5,5,89,214,192,0,0,0,192,0,0,0,5,5,91,214,5,5,109,238,192,0,0,0,5,5,101,238,5,5,223,212,5,5,107,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,238,192,0,0,0,5,5,63,211,5,5,94,214,192,0,0,0,192,0,0,0,5,5,90,214,192,0,0,0,5,5,92,214,5,5,93,214,192,0,0,0,5,5,168,215,5,5,108,238,5,5,102,238,5,5,96,214,192,0,0,0,5,5,105,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,240,5,5,194,240,192,0,0,0,192,0,0,0,5,5,204,240,5,5,166,215,5,5,196,240,5,5,170,215,5,5,202,240,5,5,193,240,5,5,190,240,5,5,205,240,5,5,191,216,5,5,171,215,5,5,201,240,5,5,191,240,5,5,169,215,5,5,195,240,5,5,173,215,5,5,192,240,5,5,197,240,5,5,172,215,5,5,200,240,5,5,203,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,242,5,5,174,242,5,5,158,242,5,5,165,242,5,5,163,242,192,0,0,0,192,0,0,0,5,5,189,216,5,5,170,242,5,5,198,240,192,0,0,0,5,5,161,242,192,0,0,0,5,5,171,242,5,5,188,216,5,5,160,242,5,5,159,242,5,5,169,242,5,5,166,242,5,5,168,242,192,0,0,0,5,5,156,242,5,5,172,242,5,5,186,216,192,0,0,0,5,5,167,242,5,5,176,242,5,5,164,242,5,5,190,216,5,5,187,216,5,5,162,242,5,5,157,242,5,5,175,242,5,5,167,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,244,192,0,0,0,192,0,0,0,5,5,64,244,5,5,70,244,5,5,155,217,5,5,68,244,5,5,67,244,5,5,157,217,5,5,73,244,5,5,156,217,192,0,0,0,5,5,74,244,5,5,71,244,5,5,153,217,5,5,72,244,5,5,65,244,5,5,154,217,5,5,152,217,5,5,164,245,5,5,69,244,192,0,0,0,192,0,0,0,5,5,75,244,192,0,0,0,192,0,0,0,5,5,161,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,218,5,5,58,218,5,5,163,245,192,0,0,0,5,5,165,245,5,5,162,245,5,5,59,218,5,5,56,218,5,5,57,218,5,5,61,218,192,0,0,0,192,0,0,0,5,5,193,218,192,0,0,0,5,5,223,246,192,0,0,0,5,5,222,246,5,5,220,246,5,5,219,246,5,5,221,246,192,0,0,0,5,5,192,218,5,5,194,218,192,0,0,0,192,0,0,0,5,5,25,219,192,0,0,0,192,0,0,0,5,5,185,247,5,5,184,247,192,0,0,0,192,0,0,0,5,5,109,248,192,0,0,0,5,5,111,248,5,5,113,248,5,5,112,248,5,5,110,248,192,0,0,0,192,0,0,0,5,5,105,219,5,5,104,219,192,0,0,0,192,0,0,0,5,5,153,219,5,5,152,219,5,5,154,219,5,5,253,248,5,5,252,248,192,0,0,0,5,5,170,249,5,5,103,249,5,5,171,249,5,5,221,219,192,0,0,0,5,5,222,219,5,5,219,249,192,0,0,0,192,0,0,0,5,5,5,220,5,5,105,200,192,0,0,0,5,5,195,222,192,0,0,0,192,0,0,0,5,5,93,224,5,5,94,224,5,5,92,224,192,0,0,0,192,0,0,0,5,5,70,204,192,0,0,0,5,5,95,224,5,5,96,224,5,5,97,224,192,0,0,0,192,0,0,0,5,5,60,226,5,5,66,226,192,0,0,0,192,0,0,0,5,5,64,226,5,5,231,205,5,5,62,226,192,0,0,0,5,5,63,226,5,5,65,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,226,5,5,208,207,192,0,0,0,5,5,138,228,5,5,210,207,5,5,140,228,5,5,209,207,5,5,139,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,231,5,5,145,209,192,0,0,0,5,5,16,231,5,5,13,231,5,5,141,228,192,0,0,0,5,5,146,209,192,0,0,0,192,0,0,0,5,5,15,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,233,192,0,0,0,5,5,67,211,5,5,176,233,5,5,68,211,5,5,177,233,5,5,69,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,212,5,5,55,236,5,5,52,236,5,5,54,236,5,5,227,212,5,5,228,212,5,5,53,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,238,192,0,0,0,192,0,0,0,5,5,111,238,192,0,0,0,5,5,97,214,5,5,113,238,5,5,112,238,192,0,0,0,5,5,0,135,192,0,0,0,5,5,209,240,5,5,210,240,5,5,206,240,192,0,0,0,5,5,207,240,5,5,174,215,5,5,175,215,5,5,208,240,192,0,0,0,5,5,197,216,192,0,0,0,192,0,0,0,5,5,193,216,5,5,198,216,5,5,194,216,5,5,196,216,5,5,192,216,192,0,0,0,5,5,195,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,217,5,5,177,242,192,0,0,0,5,5,167,245,192,0,0,0,5,5,166,245,192,0,0,0,5,5,224,246,5,5,195,218,5,5,196,218,5,5,115,248,5,5,186,247,192,0,0,0,5,5,114,248,192,0,0,0,5,5,172,249,5,5,240,249,5,5,106,200,192,0,0,0,192,0,0,0,5,5,111,201,192,0,0,0,5,5,196,222,5,5,221,202,192,0,0,0,5,5,73,204,5,5,100,224,5,5,71,204,5,5,98,224,5,5,76,204,5,5,72,204,5,5,77,204,5,5,75,204,5,5,99,224,5,5,74,204,5,5,235,205,5,5,234,205,5,5,77,226,5,5,243,205,5,5,70,226,5,5,76,226,5,5,239,205,5,5,69,226,5,5,75,226,5,5,73,226,5,5,238,205,5,5,240,205,5,5,72,226,5,5,233,205,5,5,71,226,5,5,244,205,5,5,241,205,5,5,245,205,5,5,242,205,5,5,68,226,5,5,67,226,5,5,74,226,5,5,236,205,5,5,232,205,5,5,237,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,228,5,5,149,228,192,0,0,0,5,5,151,209,5,5,148,228,192,0,0,0,5,5,214,207,5,5,221,207,5,5,218,207,5,5,224,207,5,5,223,207,5,5,219,207,192,0,0,0,5,5,142,228,5,5,145,228,192,0,0,0,5,5,144,228,5,5,215,207,5,5,146,228,5,5,155,228,5,5,216,207,5,5,143,228,5,5,152,228,5,5,153,228,5,5,217,207,5,5,150,228,5,5,222,207,5,5,212,207,5,5,220,207,5,5,147,228,5,5,211,207,5,5,151,228,192,0,0,0,192,0,0,0,5,5,154,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,231,5,5,24,231,5,5,148,209,5,5,31,231,5,5,28,231,5,5,20,231,5,5,29,231,5,5,150,209,5,5,21,231,192,0,0,0,5,5,17,231,192,0,0,0,192,0,0,0,5,5,75,211,5,5,26,231,192,0,0,0,5,5,147,209,5,5,32,231,192,0,0,0,5,5,154,209,5,5,156,209,5,5,19,231,192,0,0,0,192,0,0,0,5,5,155,209,5,5,22,231,5,5,149,209,5,5,30,231,5,5,23,231,5,5,27,231,192,0,0,0,5,5,25,231,5,5,152,209,5,5,18,231,5,5,157,209,5,5,213,207,5,5,153,209,5,5,158,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,211,5,5,185,233,5,5,187,233,5,5,189,233,5,5,193,233,192,0,0,0,5,5,183,233,5,5,181,233,5,5,73,211,192,0,0,0,5,5,188,233,5,5,192,233,5,5,184,233,5,5,180,233,192,0,0,0,5,5,179,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,233,5,5,182,233,5,5,186,233,5,5,74,211,192,0,0,0,5,5,72,211,5,5,194,233,5,5,70,211,5,5,191,233,192,0,0,0,5,5,72,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,212,5,5,64,236,5,5,110,214,5,5,74,236,5,5,234,212,5,5,78,236,5,5,240,212,5,5,59,236,192,0,0,0,192,0,0,0,5,5,75,236,5,5,56,236,192,0,0,0,5,5,77,236,5,5,60,236,192,0,0,0,5,5,247,212,5,5,244,212,5,5,76,236,5,5,70,236,5,5,230,212,5,5,238,212,5,5,237,212,192,0,0,0,5,5,236,212,5,5,242,212,192,0,0,0,5,5,57,236,5,5,243,212,5,5,71,236,5,5,239,212,5,5,229,212,5,5,73,236,5,5,232,212,5,5,233,212,5,5,241,212,5,5,62,236,5,5,61,236,5,5,58,236,192,0,0,0,5,5,66,236,5,5,63,236,5,5,67,236,5,5,246,212,192,0,0,0,5,5,79,236,5,5,235,212,5,5,68,236,5,5,69,236,192,0,0,0,5,5,65,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,238,5,5,102,214,5,5,111,214,5,5,107,214,5,5,115,238,192,0,0,0,5,5,104,214,5,5,108,214,5,5,127,238,5,5,98,214,5,5,119,238,192,0,0,0,5,5,106,214,192,0,0,0,192,0,0,0,5,5,122,238,5,5,117,238,5,5,105,214,5,5,109,214,5,5,116,238,192,0,0,0,5,5,103,214,192,0,0,0,5,5,126,238,5,5,100,214,5,5,125,238,5,5,124,238,5,5,112,214,5,5,132,237,5,5,99,214,192,0,0,0,5,5,123,238,5,5,114,238,192,0,0,0,5,5,113,214,5,5,121,238,5,5,101,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,215,5,5,183,215,5,5,176,215,5,5,223,240,5,5,214,240,5,5,226,240,5,5,218,240,5,5,224,240,5,5,184,215,5,5,177,215,5,5,211,240,5,5,217,240,5,5,227,240,5,5,220,240,5,5,225,240,5,5,213,240,192,0,0,0,192,0,0,0,5,5,221,240,5,5,179,215,5,5,219,240,5,5,182,215,5,5,181,215,5,5,215,240,5,5,216,240,5,5,212,240,5,5,222,240,5,5,180,215,5,5,229,240,5,5,228,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,242,5,5,184,242,5,5,205,216,192,0,0,0,5,5,178,242,5,5,199,216,5,5,215,216,5,5,190,242,5,5,207,216,5,5,203,216,5,5,181,242,5,5,210,216,5,5,213,216,5,5,192,242,5,5,202,216,5,5,183,242,5,5,211,216,5,5,194,242,5,5,191,242,5,5,179,242,5,5,206,216,5,5,200,216,5,5,214,216,5,5,186,242,5,5,209,216,5,5,180,242,5,5,204,216,5,5,193,242,5,5,208,216,5,5,201,216,5,5,187,242,5,5,212,216,5,5,185,242,192,0,0,0,192,0,0,0,5,5,189,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,244,5,5,83,244,5,5,164,217,5,5,86,244,5,5,159,217,5,5,160,217,5,5,78,244,5,5,85,244,5,5,80,244,5,5,165,217,5,5,162,217,192,0,0,0,5,5,76,244,192,0,0,0,5,5,161,217,5,5,82,244,5,5,84,244,5,5,163,217,5,5,81,244,5,5,79,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,245,5,5,65,218,5,5,66,218,5,5,62,218,192,0,0,0,5,5,63,218,192,0,0,0,5,5,173,245,5,5,171,245,192,0,0,0,5,5,175,245,5,5,68,218,5,5,176,245,5,5,169,245,5,5,168,245,5,5,172,245,5,5,170,245,5,5,64,218,5,5,174,245,5,5,225,246,5,5,199,218,5,5,198,218,5,5,226,246,192,0,0,0,5,5,228,246,5,5,227,246,5,5,200,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,247,5,5,188,247,5,5,189,247,192,0,0,0,5,5,187,247,5,5,190,247,5,5,27,219,5,5,192,247,192,0,0,0,5,5,26,219,192,0,0,0,5,5,116,248,192,0,0,0,5,5,155,219,5,5,157,219,5,5,254,248,5,5,156,219,5,5,104,249,5,5,174,249,5,5,176,249,5,5,173,249,5,5,175,249,5,5,241,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,200,192,0,0,0,5,5,78,204,5,5,195,225,5,5,246,205,192,0,0,0,192,0,0,0,5,5,225,207,5,5,34,231,5,5,35,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,240,5,5,216,216,5,5,195,242,192,0,0,0,192,0,0,0,5,5,166,217,192,0,0,0,5,5,179,245,5,5,178,245,5,5,201,218,5,5,193,247,192,0,0,0,5,5,117,248,5,5,190,219,5,5,171,220,192,0,0,0,192,0,0,0,5,5,222,202,5,5,112,201,192,0,0,0,192,0,0,0,5,5,101,224,192,0,0,0,192,0,0,0,5,5,83,226,5,5,78,226,5,5,82,226,5,5,80,226,5,5,247,205,5,5,81,226,5,5,79,226,192,0,0,0,5,5,157,228,192,0,0,0,5,5,36,231,5,5,37,231,5,5,197,233,5,5,198,233,5,5,77,211,5,5,78,211,5,5,196,233,5,5,199,233,5,5,195,233,5,5,76,211,192,0,0,0,5,5,248,212,192,0,0,0,5,5,79,211,5,5,80,236,192,0,0,0,5,5,114,214,5,5,128,238,5,5,115,214,192,0,0,0,5,5,185,215,5,5,233,240,5,5,231,240,5,5,232,240,5,5,198,242,5,5,197,242,5,5,196,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,245,192,0,0,0,5,5,67,218,5,5,181,245,5,5,118,248,5,5,191,219,5,5,105,249,5,5,108,200,5,5,224,202,5,5,223,202,5,5,103,224,5,5,79,204,192,0,0,0,192,0,0,0,5,5,102,224,5,5,85,226,192,0,0,0,5,5,248,205,5,5,158,228,5,5,84,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,207,5,5,161,228,5,5,159,228,5,5,160,228,5,5,226,207,192,0,0,0,5,5,39,231,5,5,40,231,5,5,38,231,192,0,0,0,5,5,82,211,5,5,201,233,5,5,200,233,5,5,202,233,5,5,81,211,5,5,80,211,192,0,0,0,192,0,0,0,5,5,129,238,5,5,131,238,192,0,0,0,5,5,116,214,5,5,130,238,5,5,234,240,5,5,186,215,5,5,88,244,192,0,0,0,5,5,87,244,5,5,69,218,5,5,182,245,5,5,71,218,5,5,70,218,5,5,229,246,5,5,194,247,5,5,28,219,5,5,109,200,5,5,104,224,5,5,80,204,5,5,88,226,5,5,250,205,5,5,87,226,5,5,86,226,192,0,0,0,5,5,249,205,192,0,0,0,5,5,167,228,192,0,0,0,5,5,169,228,5,5,162,228,5,5,163,228,5,5,228,207,5,5,164,228,5,5,229,207,5,5,168,228,5,5,165,228,5,5,166,228,5,5,230,207,192,0,0,0,5,5,160,209,5,5,161,209,192,0,0,0,5,5,41,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,233,5,5,204,233,192,0,0,0,5,5,84,236,5,5,251,212,5,5,249,212,5,5,250,212,5,5,81,236,5,5,82,236,192,0,0,0,5,5,83,236,5,5,136,238,192,0,0,0,5,5,137,238,5,5,117,214,5,5,134,238,5,5,133,238,5,5,135,238,5,5,132,238,5,5,189,215,5,5,235,240,5,5,187,215,5,5,188,215,5,5,200,242,5,5,217,216,5,5,199,242,5,5,198,243,192,0,0,0,5,5,89,244,5,5,90,244,5,5,167,217,192,0,0,0,5,5,168,217,5,5,218,216,5,5,183,245,5,5,184,245,5,5,230,246,5,5,202,218,5,5,110,200,192,0,0,0,5,5,111,200,5,5,81,204,5,5,225,202,5,5,251,205,5,5,105,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,209,5,5,112,200,5,5,83,204,5,5,106,224,5,5,107,224,5,5,82,204,5,5,84,204,5,5,113,200,192,0,0,0,5,5,108,224,5,5,253,205,5,5,89,226,5,5,255,205,5,5,252,205,5,5,254,205,192,0,0,0,5,5,172,228,5,5,231,207,192,0,0,0,5,5,171,228,5,5,170,228,192,0,0,0,5,5,205,233,192,0,0,0,192,0,0,0,5,5,85,236,192,0,0,0,5,5,118,214,192,0,0,0,5,5,190,215,5,5,237,240,5,5,236,240,192,0,0,0,5,5,201,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,247,192,0,0,0,192,0,0,0,5,5,114,200,5,5,116,221,5,5,197,222,5,5,85,204,5,5,109,224,192,0,0,0,5,5,91,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,206,5,5,90,226,5,5,3,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,228,192,0,0,0,192,0,0,0,5,5,233,207,5,5,173,228,5,5,175,228,192,0,0,0,5,5,232,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,231,5,5,44,231,5,5,42,231,5,5,163,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,211,192,0,0,0,5,5,84,211,192,0,0,0,5,5,253,212,192,0,0,0,5,5,87,236,5,5,86,236,5,5,252,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,238,192,0,0,0,192,0,0,0,5,5,139,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,240,192,0,0,0,192,0,0,0,5,5,222,216,5,5,221,216,5,5,219,216,5,5,220,216,5,5,223,216,192,0,0,0,5,5,91,244,5,5,170,217,5,5,169,217,5,5,185,245,5,5,231,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,219,5,5,106,219,5,5,115,200,192,0,0,0,192,0,0,0,5,5,144,225,192,0,0,0,5,5,86,211,5,5,164,209,5,5,85,211,5,5,254,212,192,0,0,0,5,5,116,200,5,5,76,220,5,5,117,200,5,5,118,200,192,0,0,0,192,0,0,0,5,5,198,222,5,5,119,221,192,0,0,0,5,5,120,221,5,5,114,201,192,0,0,0,5,5,117,221,5,5,113,201,192,0,0,0,5,5,116,201,5,5,118,221,5,5,118,201,5,5,117,201,5,5,121,221,5,5,115,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,202,5,5,228,202,5,5,200,222,192,0,0,0,5,5,227,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,202,5,5,234,202,5,5,231,202,192,0,0,0,5,5,203,222,5,5,199,222,5,5,235,202,192,0,0,0,5,5,229,202,5,5,119,201,192,0,0,0,5,5,233,202,5,5,202,222,192,0,0,0,192,0,0,0,5,5,201,222,192,0,0,0,5,5,226,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,224,5,5,89,204,5,5,90,204,5,5,117,224,192,0,0,0,5,5,111,224,5,5,114,224,5,5,123,224,5,5,121,224,192,0,0,0,5,5,91,204,5,5,127,224,5,5,94,204,5,5,124,224,5,5,116,224,5,5,113,224,192,0,0,0,192,0,0,0,5,5,46,231,5,5,122,224,5,5,86,204,5,5,125,224,5,5,110,224,5,5,119,224,5,5,88,204,5,5,93,204,5,5,120,224,5,5,97,204,5,5,95,204,192,0,0,0,5,5,112,224,5,5,92,204,192,0,0,0,5,5,118,224,5,5,96,204,5,5,87,204,5,5,126,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,206,192,0,0,0,5,5,17,206,5,5,6,206,5,5,4,206,5,5,93,226,5,5,12,206,5,5,9,206,5,5,95,226,192,0,0,0,192,0,0,0,5,5,11,206,5,5,94,226,5,5,92,226,5,5,97,226,5,5,16,206,5,5,14,206,5,5,45,231,192,0,0,0,5,5,98,226,5,5,96,226,5,5,5,206,192,0,0,0,192,0,0,0,5,5,7,206,5,5,10,206,192,0,0,0,5,5,13,206,192,0,0,0,5,5,15,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,228,5,5,235,207,192,0,0,0,5,5,176,228,5,5,178,228,192,0,0,0,5,5,179,228,192,0,0,0,5,5,187,228,5,5,183,228,5,5,181,228,192,0,0,0,5,5,184,228,5,5,188,228,5,5,236,207,5,5,240,207,5,5,177,228,192,0,0,0,5,5,186,228,192,0,0,0,5,5,238,207,192,0,0,0,5,5,237,207,5,5,182,228,5,5,180,228,192,0,0,0,5,5,234,207,5,5,239,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,209,5,5,54,231,192,0,0,0,192,0,0,0,5,5,52,231,5,5,172,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,231,5,5,219,233,192,0,0,0,5,5,171,209,5,5,51,231,192,0,0,0,192,0,0,0,5,5,48,231,5,5,167,209,5,5,173,209,5,5,53,231,5,5,169,209,5,5,50,231,5,5,255,212,5,5,168,209,5,5,49,231,5,5,174,209,5,5,166,209,5,5,165,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,233,5,5,209,233,192,0,0,0,5,5,215,233,192,0,0,0,5,5,207,233,5,5,220,233,5,5,212,233,192,0,0,0,5,5,206,233,5,5,90,211,5,5,96,211,5,5,217,233,192,0,0,0,5,5,210,233,192,0,0,0,5,5,93,211,192,0,0,0,192,0,0,0,5,5,91,211,5,5,218,233,5,5,88,211,5,5,87,211,5,5,213,233,5,5,92,211,5,5,175,209,192,0,0,0,5,5,216,233,5,5,208,233,5,5,89,211,5,5,94,211,5,5,95,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,213,5,5,2,213,192,0,0,0,5,5,7,213,5,5,90,236,192,0,0,0,192,0,0,0,5,5,89,236,5,5,91,236,5,5,4,213,5,5,88,236,5,5,5,213,5,5,94,236,5,5,93,236,5,5,92,236,192,0,0,0,5,5,3,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,238,192,0,0,0,5,5,146,238,5,5,124,214,5,5,145,238,5,5,123,214,5,5,119,214,5,5,120,214,5,5,121,214,5,5,142,238,5,5,141,238,5,5,122,214,192,0,0,0,5,5,144,238,5,5,140,238,192,0,0,0,192,0,0,0,5,5,240,240,5,5,250,240,5,5,193,215,5,5,192,215,192,0,0,0,5,5,244,240,5,5,246,240,192,0,0,0,5,5,241,240,192,0,0,0,5,5,245,240,5,5,239,240,5,5,248,240,5,5,191,215,5,5,247,240,5,5,243,240,192,0,0,0,5,5,249,240,192,0,0,0,5,5,242,240,5,5,226,216,5,5,202,242,5,5,208,242,5,5,230,216,5,5,232,216,5,5,229,216,5,5,228,216,192,0,0,0,5,5,227,216,5,5,225,216,5,5,203,242,5,5,206,242,5,5,224,216,5,5,207,242,192,0,0,0,5,5,231,216,5,5,205,242,192,0,0,0,5,5,204,242,5,5,171,217,192,0,0,0,5,5,172,217,5,5,94,244,5,5,92,244,5,5,93,244,192,0,0,0,192,0,0,0,5,5,187,245,192,0,0,0,5,5,186,245,5,5,72,218,5,5,233,246,5,5,203,218,5,5,232,246,192,0,0,0,5,5,196,247,5,5,119,248,5,5,108,219,5,5,177,249,5,5,178,249,5,5,158,219,5,5,119,200,192,0,0,0,5,5,236,202,5,5,55,231,5,5,8,213,5,5,233,216,5,5,209,242,5,5,120,200,192,0,0,0,5,5,19,206,5,5,18,206,5,5,56,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,240,5,5,121,200,5,5,98,204,192,0,0,0,192,0,0,0,5,5,57,231,5,5,58,231,5,5,59,231,5,5,9,213,5,5,194,215,5,5,122,200,192,0,0,0,5,5,237,202,5,5,128,224,5,5,20,206,5,5,99,226,5,5,241,207,192,0,0,0,5,5,60,231,5,5,97,211,192,0,0,0,5,5,10,213,5,5,195,215,5,5,234,216,5,5,173,217,5,5,234,246,5,5,123,200,5,5,238,202,192,0,0,0,192,0,0,0,5,5,21,206,5,5,189,228,5,5,176,209,192,0,0,0,5,5,11,213,5,5,95,236,5,5,147,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,200,5,5,177,209,5,5,221,233,5,5,12,213,5,5,125,200,5,5,204,222,5,5,129,224,5,5,99,204,192,0,0,0,192,0,0,0,5,5,101,226,192,0,0,0,192,0,0,0,5,5,24,206,192,0,0,0,5,5,22,206,5,5,23,206,5,5,25,206,192,0,0,0,192,0,0,0,5,5,100,226,192,0,0,0,192,0,0,0,5,5,194,228,5,5,191,228,5,5,193,228,5,5,242,207,5,5,244,207,5,5,243,207,5,5,190,228,5,5,245,207,5,5,192,228,192,0,0,0,5,5,61,231,5,5,62,231,192,0,0,0,5,5,63,231,5,5,224,233,192,0,0,0,5,5,225,233,192,0,0,0,5,5,223,233,5,5,226,233,192,0,0,0,5,5,98,211,192,0,0,0,5,5,222,233,192,0,0,0,5,5,13,213,192,0,0,0,192,0,0,0,5,5,152,238,5,5,148,238,5,5,151,238,5,5,153,238,5,5,150,238,5,5,149,238,192,0,0,0,5,5,252,240,5,5,253,240,5,5,254,240,5,5,196,215,5,5,197,215,5,5,211,242,5,5,210,242,5,5,212,242,192,0,0,0,5,5,96,244,5,5,95,244,192,0,0,0,5,5,189,245,192,0,0,0,5,5,190,245,5,5,188,245,192,0,0,0,5,5,204,218,192,0,0,0,5,5,235,246,5,5,236,246,192,0,0,0,5,5,120,248,5,5,255,248,5,5,106,249,5,5,126,200,5,5,120,201,192,0,0,0,5,5,235,216,5,5,127,200,192,0,0,0,5,5,195,228,5,5,64,231,192,0,0,0,5,5,198,219,5,5,172,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,220,5,5,175,220,5,5,128,200,5,5,176,220,5,5,174,220,192,0,0,0,192,0,0,0,5,5,129,221,5,5,130,221,5,5,124,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,221,5,5,122,201,192,0,0,0,5,5,123,201,5,5,125,221,5,5,123,221,5,5,122,221,5,5,126,221,5,5,121,201,5,5,127,221,5,5,130,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,222,5,5,241,202,5,5,208,222,5,5,210,222,192,0,0,0,5,5,240,202,5,5,215,222,5,5,244,202,5,5,205,222,5,5,219,222,5,5,225,222,5,5,251,202,5,5,222,222,5,5,248,202,192,0,0,0,5,5,212,222,5,5,218,222,5,5,220,222,192,0,0,0,5,5,207,222,5,5,247,202,5,5,242,202,5,5,213,222,5,5,249,202,5,5,252,202,5,5,246,202,192,0,0,0,5,5,239,202,5,5,217,222,5,5,211,222,5,5,224,222,5,5,254,202,5,5,250,202,5,5,245,202,5,5,216,222,5,5,26,206,5,5,214,222,5,5,243,202,5,5,253,202,192,0,0,0,5,5,206,222,192,0,0,0,5,5,221,222,5,5,223,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,204,5,5,110,204,5,5,118,204,5,5,115,204,5,5,137,224,5,5,140,224,5,5,111,204,192,0,0,0,5,5,131,224,192,0,0,0,5,5,104,204,5,5,114,204,192,0,0,0,5,5,117,204,5,5,119,204,5,5,152,224,5,5,143,224,192,0,0,0,5,5,103,204,5,5,151,224,5,5,107,204,5,5,105,204,5,5,100,204,5,5,135,224,192,0,0,0,5,5,150,224,5,5,139,224,5,5,142,224,5,5,155,224,192,0,0,0,5,5,120,204,5,5,149,224,5,5,112,204,5,5,144,224,5,5,154,224,5,5,141,224,5,5,145,224,5,5,148,224,192,0,0,0,192,0,0,0,5,5,133,224,5,5,153,224,5,5,147,224,192,0,0,0,192,0,0,0,5,5,132,224,192,0,0,0,5,5,136,224,5,5,113,204,5,5,108,204,5,5,101,204,5,5,106,204,5,5,102,204,5,5,121,204,5,5,134,224,5,5,118,226,5,5,109,204,192,0,0,0,192,0,0,0,5,5,146,224,5,5,29,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,226,5,5,40,206,192,0,0,0,5,5,105,226,192,0,0,0,5,5,116,226,5,5,112,226,192,0,0,0,5,5,131,226,192,0,0,0,5,5,123,226,192,0,0,0,5,5,113,226,192,0,0,0,5,5,122,226,5,5,107,226,5,5,111,226,5,5,134,226,5,5,43,206,5,5,126,226,5,5,117,226,5,5,27,206,5,5,132,226,5,5,103,226,192,0,0,0,5,5,125,226,192,0,0,0,5,5,42,206,5,5,37,206,5,5,102,226,5,5,35,206,5,5,34,206,5,5,39,206,5,5,124,226,5,5,31,206,5,5,38,206,5,5,138,224,5,5,65,231,5,5,119,226,192,0,0,0,192,0,0,0,5,5,109,226,5,5,41,206,5,5,110,226,5,5,114,226,5,5,44,206,5,5,104,226,5,5,128,226,192,0,0,0,5,5,127,226,5,5,135,226,5,5,33,206,5,5,30,206,5,5,133,226,5,5,129,226,5,5,120,226,5,5,115,226,5,5,36,206,5,5,32,206,5,5,106,226,5,5,28,206,5,5,130,226,5,5,29,206,192,0,0,0,5,5,108,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,228,5,5,203,228,5,5,208,228,5,5,228,228,5,5,5,208,5,5,249,207,192,0,0,0,5,5,200,228,5,5,6,208,5,5,7,208,5,5,211,228,5,5,218,228,5,5,224,228,192,0,0,0,5,5,205,228,192,0,0,0,5,5,212,228,192,0,0,0,192,0,0,0,5,5,8,208,5,5,226,228,5,5,221,228,5,5,3,208,5,5,255,207,5,5,217,228,5,5,213,228,5,5,199,228,5,5,246,207,5,5,204,228,5,5,196,228,192,0,0,0,5,5,254,207,5,5,2,208,5,5,209,228,5,5,206,228,5,5,251,207,5,5,222,228,5,5,248,207,5,5,207,228,5,5,229,228,5,5,215,228,192,0,0,0,5,5,214,228,5,5,247,207,192,0,0,0,5,5,4,208,192,0,0,0,5,5,250,207,5,5,197,228,5,5,202,228,5,5,219,228,5,5,225,228,5,5,9,208,5,5,198,228,5,5,210,228,5,5,216,228,5,5,253,207,192,0,0,0,192,0,0,0,5,5,227,228,5,5,220,228,5,5,223,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,207,192,0,0,0,5,5,81,231,5,5,69,231,5,5,185,209,5,5,98,231,5,5,106,231,5,5,109,231,5,5,183,209,5,5,77,231,5,5,102,231,5,5,78,231,5,5,92,231,5,5,196,209,5,5,88,231,5,5,193,209,192,0,0,0,5,5,89,231,5,5,66,231,192,0,0,0,5,5,103,231,192,0,0,0,192,0,0,0,5,5,202,209,5,5,100,231,5,5,90,231,5,5,111,231,5,5,85,231,5,5,4,234,192,0,0,0,5,5,114,231,5,5,200,209,5,5,83,231,5,5,95,231,5,5,203,209,5,5,182,209,5,5,87,231,5,5,112,231,5,5,80,231,5,5,73,231,5,5,84,231,192,0,0,0,5,5,72,231,5,5,70,231,5,5,178,209,5,5,104,231,5,5,79,231,5,5,107,231,192,0,0,0,5,5,108,231,5,5,186,209,5,5,191,209,5,5,187,209,5,5,195,209,5,5,99,231,5,5,188,209,5,5,91,231,5,5,75,231,192,0,0,0,5,5,180,209,5,5,67,231,5,5,101,231,5,5,110,231,5,5,74,231,5,5,194,209,5,5,115,231,5,5,86,231,192,0,0,0,5,5,82,231,192,0,0,0,5,5,179,209,5,5,199,209,192,0,0,0,5,5,97,231,5,5,201,209,192,0,0,0,5,5,93,231,5,5,190,209,5,5,184,209,5,5,192,209,5,5,181,209,5,5,198,209,5,5,94,231,5,5,76,231,5,5,96,231,5,5,71,231,5,5,105,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,234,192,0,0,0,5,5,25,234,5,5,52,211,5,5,8,234,192,0,0,0,5,5,6,234,5,5,239,233,5,5,102,211,5,5,255,233,5,5,21,234,5,5,251,233,5,5,110,211,5,5,20,234,5,5,249,233,5,5,197,209,5,5,11,234,5,5,250,233,5,5,18,234,5,5,109,211,5,5,101,211,192,0,0,0,5,5,228,233,5,5,236,233,192,0,0,0,5,5,7,234,5,5,253,233,5,5,24,234,5,5,2,234,5,5,115,211,5,5,19,234,192,0,0,0,5,5,106,211,192,0,0,0,5,5,5,234,5,5,13,234,5,5,240,233,5,5,12,234,192,0,0,0,5,5,29,234,5,5,235,233,5,5,14,234,192,0,0,0,5,5,27,234,192,0,0,0,5,5,229,233,5,5,189,209,192,0,0,0,5,5,243,233,5,5,242,233,5,5,108,211,192,0,0,0,5,5,246,233,5,5,248,233,5,5,9,234,5,5,26,234,5,5,111,211,192,0,0,0,5,5,112,211,192,0,0,0,5,5,234,233,5,5,104,211,5,5,238,233,5,5,22,234,5,5,113,211,192,0,0,0,5,5,105,211,5,5,107,211,5,5,114,211,5,5,28,234,5,5,15,234,5,5,10,234,192,0,0,0,192,0,0,0,5,5,245,233,5,5,244,233,5,5,103,211,5,5,230,233,5,5,100,211,5,5,254,233,5,5,231,233,5,5,252,233,192,0,0,0,192,0,0,0,5,5,241,233,5,5,23,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,233,5,5,17,234,5,5,232,233,5,5,26,213,5,5,135,236,192,0,0,0,192,0,0,0,5,5,118,236,192,0,0,0,192,0,0,0,5,5,96,236,5,5,126,236,5,5,18,213,5,5,111,236,5,5,121,236,5,5,21,213,5,5,114,236,5,5,19,213,5,5,99,236,5,5,129,236,5,5,98,236,5,5,117,236,192,0,0,0,5,5,97,236,192,0,0,0,192,0,0,0,5,5,115,236,5,5,124,236,5,5,122,236,5,5,110,236,5,5,105,236,5,5,103,236,192,0,0,0,5,5,104,236,5,5,123,236,5,5,134,236,5,5,112,236,5,5,20,213,192,0,0,0,5,5,107,236,192,0,0,0,5,5,127,236,192,0,0,0,5,5,23,213,5,5,106,236,5,5,100,236,5,5,116,236,5,5,27,213,192,0,0,0,192,0,0,0,5,5,15,213,5,5,24,213,5,5,108,236,5,5,102,236,192,0,0,0,5,5,17,213,5,5,16,234,5,5,16,213,5,5,119,236,192,0,0,0,5,5,14,213,5,5,29,213,5,5,22,213,5,5,120,236,5,5,109,236,5,5,101,236,5,5,128,236,5,5,113,236,5,5,28,213,5,5,132,236,5,5,25,213,5,5,131,236,192,0,0,0,5,5,125,236,5,5,130,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,238,5,5,194,238,5,5,181,238,5,5,180,238,5,5,176,238,5,5,136,214,192,0,0,0,5,5,128,214,5,5,196,238,5,5,195,238,5,5,227,233,5,5,173,238,5,5,177,238,5,5,171,238,192,0,0,0,5,5,190,238,5,5,175,238,192,0,0,0,5,5,197,238,5,5,168,238,5,5,166,238,5,5,178,238,5,5,188,238,5,5,183,238,5,5,138,214,5,5,157,238,192,0,0,0,5,5,187,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,214,5,5,247,233,5,5,169,238,5,5,160,238,5,5,163,238,5,5,201,238,5,5,170,238,5,5,161,238,5,5,159,238,5,5,156,238,192,0,0,0,5,5,132,214,5,5,179,238,5,5,131,214,5,5,135,214,5,5,174,238,5,5,182,238,5,5,125,214,5,5,198,238,5,5,202,238,5,5,127,214,192,0,0,0,5,5,165,238,5,5,185,238,5,5,189,238,5,5,162,238,5,5,199,238,5,5,134,214,192,0,0,0,5,5,133,214,5,5,154,238,5,5,137,214,5,5,192,238,5,5,164,238,5,5,184,238,5,5,158,238,5,5,172,238,5,5,167,238,5,5,129,214,5,5,130,214,5,5,186,238,5,5,203,238,5,5,200,238,5,5,191,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,238,192,0,0,0,5,5,126,214,5,5,17,241,192,0,0,0,5,5,8,241,5,5,11,241,192,0,0,0,5,5,203,215,5,5,13,241,5,5,2,241,5,5,9,241,5,5,15,241,5,5,200,215,5,5,204,215,5,5,198,215,192,0,0,0,192,0,0,0,5,5,4,241,5,5,20,241,192,0,0,0,192,0,0,0,5,5,14,241,192,0,0,0,5,5,5,241,5,5,29,241,5,5,23,241,5,5,255,240,5,5,231,242,5,5,7,241,5,5,199,215,192,0,0,0,5,5,18,241,192,0,0,0,5,5,28,241,5,5,207,215,192,0,0,0,5,5,25,241,5,5,6,241,5,5,12,241,5,5,16,241,5,5,10,241,5,5,30,241,5,5,27,241,5,5,24,241,5,5,201,215,5,5,202,215,5,5,206,215,5,5,3,241,5,5,31,241,5,5,205,215,5,5,21,241,192,0,0,0,192,0,0,0,5,5,19,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,241,5,5,244,242,5,5,225,242,5,5,230,242,5,5,243,242,5,5,229,242,5,5,221,242,5,5,226,242,192,0,0,0,5,5,238,216,192,0,0,0,5,5,214,242,5,5,238,242,5,5,240,242,5,5,213,242,5,5,237,216,5,5,242,242,5,5,234,242,5,5,244,216,5,5,241,242,5,5,227,242,5,5,246,216,5,5,219,242,5,5,26,241,5,5,235,242,5,5,232,242,5,5,215,242,5,5,246,242,5,5,240,216,192,0,0,0,192,0,0,0,5,5,241,216,5,5,217,242,5,5,233,242,192,0,0,0,5,5,245,242,5,5,236,242,5,5,223,242,5,5,243,216,5,5,239,216,5,5,237,242,5,5,224,242,5,5,247,242,5,5,218,242,5,5,228,242,5,5,239,242,5,5,220,242,5,5,222,242,192,0,0,0,5,5,182,217,5,5,216,242,5,5,245,216,5,5,175,217,5,5,236,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,216,5,5,179,217,5,5,112,244,192,0,0,0,5,5,102,244,5,5,97,244,5,5,103,244,5,5,113,244,5,5,117,244,5,5,116,244,5,5,181,217,5,5,180,217,192,0,0,0,192,0,0,0,5,5,104,244,5,5,118,244,5,5,107,244,5,5,99,244,192,0,0,0,5,5,101,244,5,5,100,244,5,5,106,244,5,5,111,244,5,5,98,244,5,5,105,244,5,5,110,244,5,5,178,217,192,0,0,0,5,5,108,244,192,0,0,0,5,5,176,217,5,5,109,244,5,5,174,217,5,5,177,217,5,5,206,245,5,5,114,244,192,0,0,0,192,0,0,0,5,5,76,218,192,0,0,0,5,5,198,245,5,5,202,245,5,5,194,245,5,5,197,245,192,0,0,0,5,5,205,245,5,5,74,218,5,5,210,245,5,5,203,245,192,0,0,0,5,5,195,245,5,5,211,245,5,5,204,245,5,5,77,218,5,5,78,218,5,5,208,245,192,0,0,0,5,5,196,245,5,5,73,218,5,5,75,218,5,5,191,245,5,5,199,245,5,5,193,245,192,0,0,0,5,5,209,245,5,5,207,245,5,5,192,245,5,5,200,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,246,5,5,79,218,5,5,201,245,5,5,206,218,5,5,208,218,5,5,205,218,192,0,0,0,5,5,248,246,5,5,240,246,5,5,238,246,5,5,242,246,5,5,239,246,192,0,0,0,192,0,0,0,5,5,244,246,5,5,246,246,5,5,209,218,5,5,211,218,192,0,0,0,5,5,245,246,5,5,212,218,5,5,210,218,5,5,247,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,219,5,5,197,247,5,5,203,247,5,5,31,219,5,5,241,246,5,5,202,247,192,0,0,0,5,5,209,247,5,5,200,247,5,5,207,247,5,5,206,247,5,5,237,246,5,5,201,247,5,5,115,244,5,5,210,247,5,5,199,247,5,5,204,247,192,0,0,0,5,5,208,247,5,5,198,247,192,0,0,0,5,5,124,248,5,5,30,219,5,5,205,247,192,0,0,0,192,0,0,0,5,5,6,249,5,5,125,248,5,5,123,248,5,5,121,248,5,5,122,248,5,5,126,248,192,0,0,0,5,5,159,219,5,5,4,249,5,5,2,249,5,5,7,249,5,5,5,249,192,0,0,0,5,5,8,249,5,5,160,219,5,5,3,249,192,0,0,0,192,0,0,0,5,5,107,249,192,0,0,0,192,0,0,0,5,5,179,249,5,5,180,249,5,5,181,249,192,0,0,0,192,0,0,0,5,5,21,250,5,5,11,250,5,5,177,220,5,5,255,202,192,0,0,0,5,5,122,204,192,0,0,0,5,5,137,226,5,5,136,226,5,5,45,206,5,5,10,208,5,5,231,228,192,0,0,0,192,0,0,0,5,5,230,228,192,0,0,0,5,5,204,209,5,5,117,211,192,0,0,0,5,5,116,211,5,5,118,211,192,0,0,0,5,5,136,236,5,5,204,238,5,5,32,241,5,5,34,241,5,5,33,241,192,0,0,0,5,5,247,216,5,5,248,242,5,5,119,244,5,5,241,249,5,5,129,200,192,0,0,0,5,5,228,222,5,5,229,222,5,5,227,222,5,5,226,222,5,5,2,203,192,0,0,0,5,5,159,224,5,5,157,224,192,0,0,0,192,0,0,0,5,5,156,224,192,0,0,0,5,5,123,204,5,5,125,204,5,5,124,204,5,5,158,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,226,5,5,146,226,5,5,144,226,192,0,0,0,192,0,0,0,5,5,46,206,5,5,147,226,5,5,51,206,5,5,141,226,5,5,156,226,192,0,0,0,5,5,158,226,5,5,142,226,192,0,0,0,5,5,48,206,5,5,159,226,5,5,154,226,5,5,140,226,5,5,145,226,5,5,155,226,5,5,151,226,5,5,148,226,192,0,0,0,5,5,53,206,5,5,157,226,5,5,143,226,192,0,0,0,192,0,0,0,5,5,152,226,5,5,138,226,5,5,52,206,5,5,49,206,5,5,150,226,192,0,0,0,5,5,153,226,5,5,139,226,5,5,50,206,5,5,47,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,208,5,5,238,228,5,5,19,208,192,0,0,0,5,5,241,228,5,5,244,228,5,5,16,208,5,5,14,208,5,5,233,228,5,5,242,228,5,5,240,228,5,5,237,228,5,5,245,228,5,5,246,228,5,5,248,228,5,5,249,228,5,5,232,228,5,5,13,208,5,5,235,228,5,5,234,228,5,5,247,228,5,5,15,208,5,5,236,228,5,5,17,208,5,5,12,208,5,5,239,228,5,5,21,208,192,0,0,0,5,5,18,208,5,5,243,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,209,5,5,130,231,192,0,0,0,5,5,119,231,5,5,208,209,192,0,0,0,5,5,35,234,5,5,128,231,5,5,116,231,5,5,206,209,5,5,121,231,5,5,209,209,5,5,125,231,5,5,123,231,5,5,212,209,5,5,205,209,192,0,0,0,192,0,0,0,5,5,117,231,5,5,120,231,5,5,210,209,192,0,0,0,5,5,118,231,192,0,0,0,5,5,129,231,5,5,127,231,5,5,122,231,5,5,124,231,5,5,126,231,5,5,207,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,234,5,5,42,234,5,5,32,234,5,5,38,234,5,5,119,211,5,5,34,234,5,5,125,211,192,0,0,0,192,0,0,0,5,5,124,211,192,0,0,0,5,5,123,211,5,5,41,234,5,5,126,211,5,5,127,211,5,5,31,234,5,5,44,234,5,5,128,211,5,5,122,211,5,5,121,211,5,5,40,234,5,5,129,211,5,5,30,234,5,5,33,234,5,5,43,234,5,5,39,234,192,0,0,0,192,0,0,0,5,5,168,236,5,5,157,236,5,5,120,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,213,5,5,145,236,5,5,166,236,5,5,146,236,5,5,31,213,192,0,0,0,5,5,143,236,192,0,0,0,5,5,152,236,5,5,144,236,5,5,33,213,5,5,138,236,5,5,165,236,5,5,34,213,5,5,162,236,5,5,163,236,5,5,139,236,5,5,39,213,5,5,154,236,192,0,0,0,5,5,148,236,5,5,155,236,5,5,142,236,192,0,0,0,5,5,167,236,5,5,159,236,5,5,153,236,5,5,137,236,5,5,35,213,5,5,160,236,192,0,0,0,5,5,38,213,5,5,164,236,192,0,0,0,5,5,158,236,5,5,32,213,5,5,156,236,192,0,0,0,5,5,150,236,5,5,30,213,5,5,141,236,5,5,149,236,5,5,161,236,5,5,147,236,192,0,0,0,192,0,0,0,5,5,151,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,214,5,5,37,234,5,5,222,238,5,5,231,238,5,5,221,238,5,5,217,238,5,5,214,238,5,5,150,214,5,5,212,238,5,5,37,213,5,5,205,238,5,5,148,214,5,5,211,238,5,5,147,214,5,5,216,238,5,5,213,238,5,5,229,238,5,5,224,238,5,5,218,238,5,5,223,238,5,5,143,214,5,5,215,238,5,5,234,238,5,5,206,238,5,5,207,238,5,5,230,238,5,5,144,214,5,5,235,238,5,5,146,214,5,5,236,238,5,5,220,238,5,5,140,236,5,5,226,238,5,5,219,238,5,5,228,238,5,5,225,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,238,5,5,141,214,5,5,233,238,5,5,142,214,5,5,208,238,5,5,145,214,5,5,44,241,5,5,227,238,5,5,232,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,241,5,5,140,214,5,5,208,215,5,5,51,241,5,5,47,241,192,0,0,0,5,5,45,241,5,5,40,241,5,5,55,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,215,192,0,0,0,5,5,36,241,5,5,48,241,5,5,49,241,5,5,39,241,5,5,38,241,5,5,52,241,192,0,0,0,5,5,42,241,5,5,37,241,5,5,43,241,192,0,0,0,5,5,54,241,5,5,35,241,5,5,53,241,5,5,50,241,5,5,210,215,5,5,209,215,192,0,0,0,192,0,0,0,5,5,211,215,5,5,46,241,5,5,136,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,242,5,5,253,216,5,5,254,242,5,5,251,242,5,5,4,243,5,5,10,243,5,5,253,242,192,0,0,0,5,5,19,243,5,5,250,216,5,5,13,243,5,5,2,243,5,5,14,243,5,5,9,243,5,5,16,243,5,5,255,242,5,5,255,216,5,5,254,216,5,5,3,243,5,5,17,243,5,5,249,242,5,5,15,243,5,5,248,216,192,0,0,0,5,5,7,243,5,5,6,243,5,5,11,243,5,5,252,242,5,5,252,216,192,0,0,0,5,5,2,217,5,5,5,243,5,5,12,243,5,5,3,217,5,5,8,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,216,5,5,251,216,5,5,132,244,5,5,130,244,192,0,0,0,192,0,0,0,5,5,137,244,5,5,134,244,5,5,138,244,192,0,0,0,5,5,123,244,5,5,131,244,5,5,142,244,5,5,18,243,5,5,127,244,5,5,186,217,5,5,209,238,5,5,122,244,5,5,135,244,5,5,129,244,5,5,126,244,5,5,121,244,5,5,120,244,5,5,141,244,192,0,0,0,5,5,125,244,5,5,124,244,5,5,184,217,5,5,133,244,192,0,0,0,5,5,183,217,192,0,0,0,192,0,0,0,5,5,185,217,5,5,128,244,5,5,140,244,192,0,0,0,5,5,215,245,5,5,216,245,192,0,0,0,5,5,83,218,5,5,213,245,5,5,80,218,5,5,221,245,192,0,0,0,5,5,84,218,5,5,223,245,5,5,212,245,5,5,139,244,5,5,225,245,5,5,214,245,192,0,0,0,5,5,81,218,5,5,220,245,192,0,0,0,5,5,222,245,5,5,217,245,5,5,224,245,5,5,219,245,5,5,218,245,5,5,82,218,192,0,0,0,192,0,0,0,5,5,250,246,5,5,251,246,192,0,0,0,5,5,253,246,5,5,213,218,5,5,214,218,5,5,254,246,5,5,252,246,192,0,0,0,5,5,249,246,192,0,0,0,5,5,213,247,5,5,216,247,5,5,212,247,192,0,0,0,5,5,35,219,5,5,214,247,5,5,34,219,5,5,33,219,5,5,32,219,5,5,215,247,5,5,131,248,5,5,129,248,192,0,0,0,5,5,128,248,5,5,211,247,5,5,130,248,5,5,217,247,5,5,127,248,192,0,0,0,5,5,11,249,5,5,231,248,5,5,9,249,5,5,161,219,5,5,10,249,5,5,12,249,192,0,0,0,5,5,110,249,5,5,192,219,5,5,109,249,5,5,108,249,5,5,193,219,192,0,0,0,5,5,223,219,5,5,220,249,5,5,243,249,5,5,242,249,5,5,244,249,5,5,130,200,5,5,160,224,192,0,0,0,5,5,160,226,5,5,161,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,231,192,0,0,0,5,5,218,247,5,5,111,249,5,5,131,200,5,5,126,204,5,5,161,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,228,5,5,22,208,192,0,0,0,5,5,133,231,5,5,132,231,5,5,213,209,192,0,0,0,5,5,130,211,5,5,237,238,5,5,151,214,192,0,0,0,5,5,152,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,215,5,5,194,219,5,5,132,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,224,5,5,4,203,5,5,164,224,5,5,163,224,5,5,127,204,192,0,0,0,5,5,162,226,192,0,0,0,5,5,169,226,5,5,54,206,5,5,167,226,5,5,165,226,192,0,0,0,5,5,172,226,5,5,163,226,5,5,164,226,5,5,55,206,192,0,0,0,5,5,59,206,192,0,0,0,192,0,0,0,5,5,173,226,5,5,58,206,5,5,171,226,5,5,168,226,5,5,166,226,5,5,56,206,5,5,57,206,5,5,170,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,208,5,5,251,228,192,0,0,0,5,5,29,208,5,5,13,229,5,5,28,208,5,5,15,229,192,0,0,0,192,0,0,0,5,5,3,229,5,5,26,208,5,5,14,229,192,0,0,0,5,5,252,228,5,5,27,208,5,5,10,229,5,5,6,229,5,5,8,229,5,5,2,229,5,5,9,229,192,0,0,0,192,0,0,0,5,5,23,208,5,5,5,229,192,0,0,0,5,5,4,229,5,5,254,228,192,0,0,0,5,5,11,229,192,0,0,0,192,0,0,0,5,5,7,229,5,5,253,228,192,0,0,0,5,5,255,228,5,5,25,208,5,5,12,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,209,5,5,144,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,231,5,5,142,231,5,5,137,231,5,5,136,231,5,5,134,231,192,0,0,0,5,5,141,231,5,5,143,231,5,5,139,231,192,0,0,0,5,5,138,231,5,5,214,209,5,5,215,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,231,5,5,138,211,5,5,46,234,5,5,52,234,5,5,47,234,5,5,48,234,192,0,0,0,5,5,53,234,192,0,0,0,5,5,140,211,192,0,0,0,5,5,132,211,5,5,139,211,5,5,45,234,5,5,135,231,5,5,135,211,5,5,133,211,5,5,51,234,5,5,50,234,5,5,134,211,5,5,136,211,5,5,49,234,5,5,131,211,192,0,0,0,5,5,137,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,236,5,5,46,213,192,0,0,0,192,0,0,0,5,5,181,236,5,5,180,236,192,0,0,0,5,5,175,236,5,5,48,213,5,5,179,236,5,5,171,236,5,5,172,236,5,5,40,213,5,5,42,213,192,0,0,0,5,5,177,236,5,5,169,236,5,5,44,213,5,5,43,213,5,5,173,236,5,5,178,236,5,5,176,236,5,5,45,213,5,5,174,236,192,0,0,0,192,0,0,0,5,5,145,231,5,5,41,213,192,0,0,0,192,0,0,0,5,5,238,238,5,5,245,238,5,5,154,214,192,0,0,0,5,5,249,238,5,5,158,214,5,5,241,238,5,5,239,238,192,0,0,0,5,5,248,238,192,0,0,0,5,5,153,214,5,5,247,238,5,5,155,214,5,5,156,214,5,5,240,238,5,5,157,214,5,5,246,238,5,5,242,238,5,5,243,238,5,5,244,238,5,5,47,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,241,5,5,68,241,192,0,0,0,5,5,218,215,5,5,63,241,5,5,65,241,192,0,0,0,5,5,216,215,5,5,57,241,5,5,61,241,192,0,0,0,5,5,64,241,5,5,214,215,5,5,217,215,5,5,67,241,5,5,59,241,5,5,60,241,5,5,66,241,5,5,58,241,5,5,62,241,5,5,215,215,5,5,21,243,192,0,0,0,5,5,20,243,5,5,5,217,5,5,26,243,5,5,7,217,192,0,0,0,192,0,0,0,5,5,4,217,5,5,22,243,5,5,8,217,5,5,23,243,192,0,0,0,192,0,0,0,5,5,24,243,5,5,27,243,192,0,0,0,5,5,6,217,192,0,0,0,5,5,147,244,192,0,0,0,192,0,0,0,5,5,150,244,192,0,0,0,5,5,144,244,5,5,146,244,192,0,0,0,192,0,0,0,5,5,145,244,5,5,148,244,5,5,149,244,5,5,25,243,5,5,143,244,192,0,0,0,192,0,0,0,5,5,87,218,5,5,229,245,5,5,232,245,5,5,234,245,5,5,227,245,5,5,228,245,5,5,231,245,5,5,233,245,5,5,88,218,5,5,86,218,5,5,85,218,5,5,230,245,5,5,226,245,5,5,255,246,5,5,215,218,192,0,0,0,5,5,2,247,192,0,0,0,192,0,0,0,5,5,220,247,5,5,36,219,5,5,222,247,5,5,37,219,5,5,219,247,5,5,221,247,5,5,110,219,192,0,0,0,5,5,132,248,5,5,109,219,5,5,15,249,5,5,14,249,192,0,0,0,5,5,13,249,192,0,0,0,192,0,0,0,5,5,182,249,5,5,183,249,5,5,185,249,5,5,184,249,192,0,0,0,5,5,178,220,5,5,133,200,192,0,0,0,5,5,128,204,5,5,16,229,5,5,217,209,192,0,0,0,5,5,54,234,5,5,187,217,192,0,0,0,5,5,235,245,192,0,0,0,192,0,0,0,5,5,124,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,208,192,0,0,0,5,5,147,231,5,5,218,209,5,5,149,231,5,5,148,231,192,0,0,0,192,0,0,0,5,5,55,234,5,5,141,211,5,5,182,236,5,5,185,236,5,5,184,236,192,0,0,0,5,5,183,236,5,5,250,238,5,5,252,238,5,5,251,238,192,0,0,0,5,5,220,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,215,192,0,0,0,5,5,9,217,5,5,28,243,5,5,30,243,5,5,29,243,192,0,0,0,192,0,0,0,5,5,188,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,245,5,5,236,245,192,0,0,0,5,5,3,247,5,5,216,218,192,0,0,0,192,0,0,0,5,5,38,219,5,5,134,248,5,5,133,248,5,5,224,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,201,5,5,165,224,5,5,129,204,5,5,19,229,5,5,17,229,192,0,0,0,192,0,0,0,5,5,18,229,5,5,151,231,5,5,152,231,5,5,62,234,5,5,150,231,192,0,0,0,5,5,56,234,5,5,60,234,5,5,59,234,5,5,61,234,5,5,142,211,5,5,58,234,5,5,57,234,5,5,63,234,192,0,0,0,5,5,188,236,5,5,186,236,192,0,0,0,5,5,187,236,5,5,255,238,5,5,253,238,192,0,0,0,192,0,0,0,5,5,254,238,5,5,69,241,5,5,31,243,5,5,32,243,5,5,189,217,192,0,0,0,5,5,238,245,5,5,4,247,5,5,217,218,192,0,0,0,5,5,223,247,5,5,135,248,5,5,111,219,192,0,0,0,5,5,16,249,5,5,186,249,5,5,126,201,192,0,0,0,5,5,131,204,5,5,132,204,5,5,166,224,192,0,0,0,192,0,0,0,5,5,167,224,5,5,130,204,192,0,0,0,5,5,65,206,192,0,0,0,5,5,63,206,192,0,0,0,5,5,62,206,5,5,69,206,5,5,61,206,5,5,70,206,5,5,174,226,5,5,67,206,192,0,0,0,5,5,64,206,5,5,68,206,5,5,66,206,5,5,60,206,192,0,0,0,192,0,0,0,5,5,39,208,192,0,0,0,5,5,33,208,5,5,23,229,5,5,38,208,192,0,0,0,192,0,0,0,5,5,40,208,5,5,34,208,192,0,0,0,5,5,35,208,192,0,0,0,5,5,21,229,192,0,0,0,192,0,0,0,5,5,32,208,192,0,0,0,5,5,22,229,5,5,37,208,192,0,0,0,192,0,0,0,5,5,20,229,5,5,36,208,192,0,0,0,192,0,0,0,5,5,229,209,192,0,0,0,5,5,231,209,192,0,0,0,192,0,0,0,5,5,155,231,5,5,230,209,5,5,219,209,5,5,223,209,192,0,0,0,5,5,161,211,5,5,68,234,5,5,157,231,5,5,224,209,192,0,0,0,192,0,0,0,5,5,160,231,5,5,161,231,5,5,228,209,192,0,0,0,5,5,163,231,192,0,0,0,5,5,165,231,192,0,0,0,5,5,166,231,5,5,154,231,5,5,153,231,5,5,167,231,5,5,227,209,5,5,164,231,5,5,162,231,192,0,0,0,5,5,225,209,5,5,221,209,5,5,232,209,5,5,158,231,5,5,159,231,5,5,156,231,192,0,0,0,5,5,226,209,192,0,0,0,192,0,0,0,5,5,222,209,192,0,0,0,5,5,220,209,5,5,67,234,5,5,156,211,5,5,151,211,192,0,0,0,192,0,0,0,5,5,146,211,192,0,0,0,5,5,162,211,5,5,147,211,192,0,0,0,5,5,143,211,5,5,158,211,5,5,155,211,5,5,157,211,192,0,0,0,5,5,148,211,5,5,153,211,5,5,144,211,5,5,145,211,5,5,75,234,5,5,72,234,5,5,64,234,5,5,69,234,192,0,0,0,5,5,159,211,5,5,76,234,5,5,160,211,5,5,150,211,192,0,0,0,192,0,0,0,5,5,66,234,192,0,0,0,5,5,74,234,5,5,70,234,5,5,73,234,5,5,71,234,5,5,154,211,5,5,65,234,5,5,149,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,236,5,5,50,213,5,5,53,213,192,0,0,0,5,5,193,236,192,0,0,0,5,5,61,213,5,5,192,236,5,5,55,213,192,0,0,0,5,5,163,214,5,5,194,236,192,0,0,0,5,5,60,213,5,5,190,236,5,5,62,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,213,192,0,0,0,5,5,152,211,5,5,54,213,192,0,0,0,5,5,52,213,5,5,56,213,5,5,58,213,5,5,49,213,5,5,63,213,5,5,59,213,192,0,0,0,5,5,57,213,5,5,189,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,214,192,0,0,0,5,5,166,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,214,192,0,0,0,5,5,4,239,5,5,174,214,5,5,16,239,5,5,9,239,5,5,159,214,5,5,17,239,5,5,11,239,5,5,169,214,5,5,12,239,192,0,0,0,5,5,168,214,5,5,15,239,5,5,162,214,5,5,13,239,5,5,3,239,5,5,161,214,5,5,80,241,5,5,167,214,192,0,0,0,5,5,164,214,192,0,0,0,5,5,172,214,192,0,0,0,5,5,2,239,192,0,0,0,5,5,6,239,5,5,160,214,5,5,5,239,5,5,7,239,5,5,8,239,5,5,171,214,5,5,10,239,5,5,14,239,5,5,18,239,192,0,0,0,5,5,175,214,5,5,226,215,5,5,75,241,5,5,81,241,5,5,78,241,5,5,70,241,5,5,82,241,5,5,71,241,192,0,0,0,5,5,77,241,192,0,0,0,5,5,221,215,5,5,227,215,5,5,83,241,192,0,0,0,192,0,0,0,5,5,223,215,192,0,0,0,5,5,233,215,5,5,228,215,5,5,85,241,5,5,79,241,5,5,224,215,5,5,72,241,5,5,234,215,5,5,73,241,5,5,74,241,5,5,235,215,5,5,232,215,5,5,165,214,192,0,0,0,5,5,222,215,5,5,86,241,5,5,236,215,192,0,0,0,5,5,229,215,5,5,84,241,5,5,225,215,5,5,230,215,5,5,231,215,192,0,0,0,5,5,17,217,5,5,37,243,5,5,46,243,5,5,43,243,5,5,45,243,192,0,0,0,5,5,14,217,5,5,38,243,192,0,0,0,5,5,44,243,5,5,10,217,5,5,40,243,5,5,18,217,5,5,36,243,5,5,41,243,5,5,48,243,5,5,76,241,5,5,42,243,5,5,35,243,5,5,11,217,5,5,34,243,5,5,12,217,5,5,49,243,5,5,13,217,5,5,47,243,5,5,16,217,5,5,33,243,192,0,0,0,5,5,15,217,192,0,0,0,5,5,39,243,5,5,153,244,5,5,167,244,5,5,162,244,5,5,164,244,5,5,152,244,5,5,190,217,192,0,0,0,5,5,151,244,5,5,193,217,5,5,192,217,192,0,0,0,5,5,166,244,5,5,158,244,5,5,155,244,5,5,161,244,192,0,0,0,5,5,154,244,192,0,0,0,5,5,156,244,5,5,165,244,5,5,163,244,192,0,0,0,5,5,191,217,5,5,170,244,5,5,168,244,5,5,159,244,5,5,169,244,5,5,160,244,192,0,0,0,5,5,242,245,5,5,89,218,5,5,249,245,192,0,0,0,192,0,0,0,5,5,226,247,5,5,96,218,5,5,157,244,5,5,240,245,5,5,92,218,5,5,241,245,5,5,246,245,192,0,0,0,192,0,0,0,5,5,94,218,5,5,95,218,5,5,239,245,5,5,248,245,5,5,250,245,5,5,243,245,5,5,245,245,5,5,247,245,5,5,244,245,5,5,251,245,5,5,91,218,5,5,97,218,5,5,93,218,192,0,0,0,5,5,90,218,5,5,7,247,192,0,0,0,5,5,222,218,5,5,5,247,192,0,0,0,192,0,0,0,5,5,9,247,192,0,0,0,5,5,10,247,5,5,220,218,5,5,11,247,5,5,8,247,192,0,0,0,5,5,6,247,5,5,223,218,5,5,219,218,5,5,12,247,192,0,0,0,5,5,221,218,5,5,218,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,219,192,0,0,0,192,0,0,0,5,5,40,219,5,5,225,247,5,5,224,247,5,5,227,247,5,5,228,247,192,0,0,0,5,5,41,219,5,5,136,248,5,5,141,248,5,5,112,219,192,0,0,0,5,5,138,248,192,0,0,0,5,5,137,248,5,5,140,248,5,5,139,248,192,0,0,0,5,5,20,249,192,0,0,0,5,5,162,219,5,5,19,249,5,5,17,249,192,0,0,0,5,5,18,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,219,5,5,195,219,5,5,112,249,5,5,113,249,5,5,197,219,192,0,0,0,5,5,187,249,5,5,188,249,5,5,236,219,192,0,0,0,5,5,242,219,192,0,0,0,5,5,245,249,5,5,22,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,201,192,0,0,0,5,5,24,229,192,0,0,0,5,5,25,229,5,5,77,234,5,5,195,236,5,5,19,239,5,5,20,217,192,0,0,0,5,5,19,217,5,5,171,244,5,5,252,245,192,0,0,0,5,5,21,249,5,5,128,201,5,5,175,226,5,5,71,206,5,5,41,208,5,5,79,234,5,5,78,234,5,5,176,214,5,5,20,239,5,5,177,214,5,5,50,243,5,5,194,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,219,5,5,129,201,5,5,230,222,5,5,176,226,192,0,0,0,192,0,0,0,5,5,42,208,192,0,0,0,5,5,26,229,5,5,27,229,192,0,0,0,5,5,168,231,192,0,0,0,5,5,233,209,5,5,163,211,192,0,0,0,5,5,81,234,5,5,80,234,5,5,82,234,192,0,0,0,5,5,196,236,5,5,197,236,5,5,64,213,5,5,237,215,5,5,178,214,5,5,238,215,192,0,0,0,5,5,54,243,5,5,51,243,5,5,53,243,5,5,52,243,5,5,21,217,192,0,0,0,5,5,172,244,5,5,254,245,5,5,253,245,5,5,131,221,5,5,73,206,5,5,72,206,5,5,177,226,192,0,0,0,5,5,28,229,192,0,0,0,192,0,0,0,5,5,170,231,5,5,169,231,5,5,234,209,192,0,0,0,5,5,84,234,5,5,85,234,5,5,83,234,192,0,0,0,192,0,0,0,5,5,165,211,5,5,164,211,192,0,0,0,5,5,66,213,5,5,65,213,192,0,0,0,5,5,21,239,5,5,89,241,5,5,87,241,5,5,88,241,5,5,239,215,5,5,56,243,5,5,55,243,192,0,0,0,5,5,175,244,5,5,174,244,5,5,173,244,5,5,255,245,192,0,0,0,5,5,246,249,5,5,130,201,5,5,133,204,192,0,0,0,5,5,134,204,5,5,74,206,5,5,75,206,5,5,179,226,5,5,178,226,5,5,29,229,192,0,0,0,5,5,48,208,5,5,46,208,5,5,43,208,5,5,47,208,5,5,45,208,5,5,44,208,192,0,0,0,192,0,0,0,5,5,235,209,5,5,173,231,192,0,0,0,5,5,170,211,5,5,237,209,5,5,242,209,5,5,175,231,5,5,244,209,5,5,243,209,5,5,246,209,5,5,174,231,5,5,171,231,5,5,240,209,5,5,236,209,5,5,238,209,5,5,172,231,5,5,245,209,5,5,241,209,5,5,239,209,5,5,172,211,5,5,171,211,5,5,169,211,5,5,173,211,192,0,0,0,5,5,167,211,5,5,168,211,192,0,0,0,5,5,166,211,192,0,0,0,5,5,86,234,192,0,0,0,192,0,0,0,5,5,199,236,192,0,0,0,5,5,68,213,5,5,69,213,5,5,67,213,192,0,0,0,5,5,198,236,192,0,0,0,5,5,200,236,192,0,0,0,5,5,24,239,5,5,26,239,192,0,0,0,5,5,187,214,5,5,27,239,5,5,180,214,5,5,23,239,5,5,179,214,5,5,189,214,5,5,185,214,5,5,186,214,5,5,182,214,5,5,22,239,5,5,181,214,5,5,28,239,5,5,25,239,192,0,0,0,5,5,188,214,192,0,0,0,5,5,183,214,5,5,184,214,5,5,91,241,192,0,0,0,5,5,93,241,5,5,92,241,192,0,0,0,5,5,94,241,5,5,240,215,5,5,90,241,192,0,0,0,192,0,0,0,5,5,25,217,5,5,57,243,5,5,22,217,5,5,26,217,5,5,24,217,5,5,23,217,5,5,176,244,192,0,0,0,5,5,179,244,192,0,0,0,5,5,178,244,192,0,0,0,5,5,177,244,5,5,195,217,5,5,2,246,5,5,3,246,5,5,98,218,5,5,4,246,5,5,99,218,192,0,0,0,192,0,0,0,5,5,225,218,192,0,0,0,5,5,224,218,5,5,229,247,192,0,0,0,192,0,0,0,5,5,42,219,5,5,230,247,5,5,142,248,5,5,113,219,5,5,114,219,192,0,0,0,5,5,22,249,192,0,0,0,5,5,199,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,201,192,0,0,0,5,5,50,208,5,5,49,208,5,5,87,234,5,5,88,234,192,0,0,0,5,5,70,213,5,5,95,241,5,5,190,214,5,5,96,241,5,5,58,243,5,5,132,201,192,0,0,0,5,5,168,224,5,5,136,204,5,5,135,204,192,0,0,0,5,5,180,226,5,5,76,206,5,5,181,226,5,5,32,229,192,0,0,0,5,5,31,229,192,0,0,0,5,5,30,229,192,0,0,0,192,0,0,0,5,5,177,231,5,5,249,209,192,0,0,0,192,0,0,0,5,5,176,231,5,5,248,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,231,5,5,247,209,192,0,0,0,5,5,90,234,5,5,93,234,5,5,91,234,5,5,92,234,5,5,96,234,5,5,89,234,5,5,97,234,5,5,94,234,5,5,95,234,5,5,72,213,5,5,201,236,192,0,0,0,192,0,0,0,5,5,71,213,192,0,0,0,5,5,32,239,5,5,30,239,192,0,0,0,192,0,0,0,5,5,191,214,5,5,29,239,5,5,31,239,192,0,0,0,5,5,192,214,192,0,0,0,5,5,97,241,192,0,0,0,5,5,98,241,5,5,27,217,192,0,0,0,5,5,6,246,5,5,8,246,5,5,5,246,5,5,7,246,5,5,13,247,5,5,231,247,192,0,0,0,192,0,0,0,5,5,221,249,5,5,133,201,5,5,137,204,5,5,182,226,5,5,184,226,5,5,183,226,192,0,0,0,5,5,35,229,5,5,52,208,192,0,0,0,5,5,33,229,192,0,0,0,5,5,51,208,5,5,36,229,192,0,0,0,5,5,37,229,5,5,34,229,192,0,0,0,192,0,0,0,5,5,190,231,5,5,3,210,5,5,182,231,5,5,188,231,192,0,0,0,192,0,0,0,5,5,252,209,5,5,255,209,5,5,181,231,5,5,250,209,5,5,185,231,5,5,103,234,5,5,254,209,192,0,0,0,5,5,180,231,192,0,0,0,5,5,186,231,5,5,183,231,5,5,189,231,5,5,179,231,5,5,187,231,5,5,253,209,5,5,2,210,5,5,184,231,5,5,251,209,192,0,0,0,5,5,175,211,5,5,99,234,5,5,174,211,5,5,106,234,5,5,105,234,5,5,181,211,192,0,0,0,5,5,182,211,5,5,107,234,5,5,176,211,5,5,104,234,5,5,180,211,5,5,109,234,5,5,100,234,192,0,0,0,5,5,102,234,5,5,177,211,5,5,98,234,5,5,101,234,5,5,108,234,5,5,178,211,5,5,110,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,211,192,0,0,0,5,5,73,213,5,5,206,236,5,5,212,236,5,5,204,236,5,5,213,236,192,0,0,0,5,5,203,236,5,5,208,236,5,5,214,236,5,5,211,236,5,5,210,236,5,5,209,236,192,0,0,0,5,5,202,236,5,5,207,236,192,0,0,0,192,0,0,0,5,5,205,236,192,0,0,0,5,5,197,214,5,5,194,214,5,5,41,239,5,5,46,239,5,5,48,239,5,5,45,239,5,5,38,239,5,5,40,239,5,5,50,239,5,5,47,239,5,5,42,239,5,5,51,239,5,5,39,239,5,5,49,239,5,5,195,214,5,5,201,214,5,5,199,214,5,5,33,239,5,5,200,214,5,5,196,214,5,5,34,239,5,5,36,239,5,5,35,239,5,5,43,239,5,5,44,239,192,0,0,0,5,5,198,214,192,0,0,0,5,5,193,214,192,0,0,0,192,0,0,0,5,5,37,239,192,0,0,0,5,5,108,241,5,5,242,215,192,0,0,0,5,5,99,241,5,5,243,215,5,5,246,215,5,5,104,241,192,0,0,0,5,5,101,241,5,5,245,215,192,0,0,0,192,0,0,0,5,5,105,241,5,5,106,241,5,5,100,241,5,5,109,241,5,5,102,241,5,5,107,241,5,5,244,215,192,0,0,0,5,5,241,215,5,5,103,241,192,0,0,0,5,5,64,243,5,5,30,217,5,5,28,217,5,5,31,217,5,5,29,217,5,5,63,243,5,5,60,243,5,5,59,243,192,0,0,0,5,5,62,243,192,0,0,0,192,0,0,0,5,5,61,243,5,5,193,244,5,5,201,217,5,5,184,244,5,5,183,244,192,0,0,0,5,5,196,217,5,5,189,244,5,5,188,244,5,5,180,244,5,5,191,244,5,5,185,244,5,5,200,217,5,5,182,244,5,5,190,244,5,5,181,244,5,5,197,217,5,5,199,217,5,5,186,244,5,5,198,217,5,5,187,244,192,0,0,0,5,5,192,244,5,5,12,246,192,0,0,0,5,5,104,218,5,5,9,246,192,0,0,0,5,5,13,246,192,0,0,0,192,0,0,0,5,5,101,218,5,5,11,246,5,5,106,218,192,0,0,0,5,5,103,218,192,0,0,0,5,5,10,246,192,0,0,0,5,5,105,218,5,5,14,246,5,5,100,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,218,5,5,229,218,192,0,0,0,5,5,16,247,5,5,228,218,5,5,14,247,5,5,102,218,5,5,15,247,5,5,226,218,5,5,43,219,5,5,45,219,5,5,233,247,5,5,44,219,5,5,232,247,192,0,0,0,5,5,147,248,5,5,115,219,5,5,146,248,5,5,116,219,5,5,144,248,5,5,143,248,5,5,148,248,5,5,149,248,5,5,23,249,192,0,0,0,5,5,145,248,192,0,0,0,192,0,0,0,5,5,117,249,5,5,114,249,5,5,115,249,5,5,116,249,5,5,225,219,192,0,0,0,5,5,191,249,5,5,190,249,5,5,189,249,5,5,222,249,192,0,0,0,5,5,12,250,5,5,247,249,5,5,243,219,5,5,134,201,5,5,77,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,214,192,0,0,0,192,0,0,0,5,5,110,241,192,0,0,0,192,0,0,0,5,5,202,217,192,0,0,0,5,5,15,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,249,5,5,135,201,5,5,5,203,5,5,139,204,5,5,138,204,192,0,0,0,5,5,80,206,192,0,0,0,5,5,185,226,5,5,78,206,5,5,186,226,5,5,79,206,192,0,0,0,192,0,0,0,5,5,42,229,5,5,38,229,192,0,0,0,192,0,0,0,5,5,53,208,5,5,41,229,5,5,40,229,5,5,39,229,5,5,54,208,5,5,43,229,5,5,44,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,231,5,5,195,231,5,5,199,231,5,5,200,231,5,5,206,231,192,0,0,0,5,5,202,231,5,5,204,231,192,0,0,0,5,5,196,231,5,5,191,231,192,0,0,0,5,5,203,231,192,0,0,0,192,0,0,0,5,5,205,231,5,5,198,231,5,5,201,231,5,5,192,231,5,5,5,210,5,5,194,231,5,5,193,231,5,5,4,210,5,5,6,210,192,0,0,0,5,5,186,211,5,5,112,234,5,5,114,234,5,5,113,234,5,5,118,234,5,5,184,211,192,0,0,0,5,5,115,234,5,5,111,234,5,5,116,234,5,5,117,234,5,5,185,211,5,5,187,211,5,5,119,234,192,0,0,0,5,5,218,236,5,5,217,236,192,0,0,0,5,5,215,236,5,5,216,236,5,5,75,213,5,5,77,213,5,5,74,213,5,5,76,213,5,5,58,239,5,5,59,239,5,5,54,239,192,0,0,0,5,5,55,239,5,5,204,214,5,5,209,214,5,5,203,214,5,5,210,214,5,5,205,214,5,5,56,239,192,0,0,0,192,0,0,0,5,5,57,239,5,5,53,239,5,5,211,214,5,5,207,214,192,0,0,0,192,0,0,0,5,5,206,214,5,5,208,214,192,0,0,0,5,5,52,239,192,0,0,0,5,5,112,241,5,5,248,215,192,0,0,0,192,0,0,0,5,5,114,241,5,5,250,215,5,5,117,241,5,5,113,241,5,5,111,241,5,5,116,241,5,5,249,215,5,5,115,241,192,0,0,0,5,5,247,215,192,0,0,0,192,0,0,0,5,5,33,217,5,5,36,217,5,5,66,243,192,0,0,0,5,5,34,217,5,5,65,243,5,5,32,217,5,5,35,217,5,5,194,244,5,5,195,244,5,5,196,244,5,5,203,217,192,0,0,0,5,5,197,244,192,0,0,0,5,5,204,217,5,5,108,218,5,5,18,246,5,5,19,246,5,5,17,246,5,5,16,246,5,5,20,246,5,5,107,218,5,5,20,247,5,5,18,247,5,5,19,247,5,5,21,247,5,5,17,247,5,5,22,247,5,5,235,247,192,0,0,0,5,5,236,247,5,5,234,247,5,5,46,219,5,5,150,248,5,5,117,219,5,5,151,248,5,5,25,249,5,5,24,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,201,5,5,7,210,192,0,0,0,192,0,0,0,5,5,188,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,213,192,0,0,0,192,0,0,0,5,5,252,215,192,0,0,0,5,5,251,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,218,5,5,197,218,5,5,47,219,5,5,137,201,5,5,81,206,5,5,189,211,192,0,0,0,5,5,21,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,221,192,0,0,0,192,0,0,0,5,5,138,201,192,0,0,0,5,5,141,201,5,5,140,201,5,5,139,201,192,0,0,0,192,0,0,0,5,5,132,221,192,0,0,0,5,5,232,222,192,0,0,0,5,5,234,222,5,5,6,203,192,0,0,0,192,0,0,0,5,5,8,203,5,5,231,222,5,5,233,222,5,5,7,203,5,5,236,222,5,5,235,222,5,5,237,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,224,5,5,170,224,5,5,142,204,5,5,169,224,5,5,147,204,5,5,144,204,5,5,141,204,192,0,0,0,5,5,148,204,192,0,0,0,5,5,143,204,5,5,146,204,192,0,0,0,5,5,145,204,5,5,171,224,192,0,0,0,5,5,140,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,206,5,5,188,226,5,5,194,226,5,5,84,206,5,5,91,206,192,0,0,0,5,5,86,206,5,5,191,226,5,5,193,226,5,5,89,206,5,5,187,226,5,5,190,226,5,5,85,206,5,5,82,206,5,5,189,226,5,5,88,206,5,5,192,226,5,5,90,206,5,5,83,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,229,5,5,49,229,5,5,56,208,192,0,0,0,5,5,66,208,5,5,62,208,5,5,47,229,192,0,0,0,192,0,0,0,5,5,70,208,5,5,63,208,5,5,68,208,5,5,58,208,192,0,0,0,5,5,55,208,5,5,57,208,5,5,69,208,5,5,48,229,5,5,61,208,5,5,64,208,5,5,60,208,5,5,65,208,5,5,50,229,5,5,67,208,5,5,59,208,5,5,45,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,231,5,5,8,210,5,5,209,231,192,0,0,0,5,5,10,210,5,5,12,210,192,0,0,0,5,5,208,231,5,5,9,210,5,5,13,210,192,0,0,0,5,5,11,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,211,5,5,124,234,5,5,203,211,5,5,121,234,192,0,0,0,5,5,204,211,5,5,193,211,192,0,0,0,5,5,122,234,192,0,0,0,192,0,0,0,5,5,198,211,192,0,0,0,5,5,123,234,5,5,191,211,5,5,190,211,192,0,0,0,5,5,201,211,5,5,200,211,5,5,199,211,5,5,197,211,5,5,202,211,5,5,120,234,5,5,192,211,5,5,194,211,5,5,196,211,192,0,0,0,192,0,0,0,5,5,80,213,5,5,83,213,192,0,0,0,5,5,87,213,5,5,81,213,5,5,86,213,5,5,84,213,192,0,0,0,5,5,79,213,192,0,0,0,5,5,85,213,5,5,82,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,239,5,5,214,214,5,5,212,214,192,0,0,0,5,5,64,239,192,0,0,0,5,5,215,214,5,5,213,214,5,5,62,239,5,5,61,239,192,0,0,0,5,5,2,216,5,5,60,239,5,5,254,215,5,5,253,215,5,5,118,241,5,5,216,214,5,5,255,215,5,5,119,241,5,5,4,216,5,5,120,241,5,5,3,216,5,5,38,217,5,5,68,243,5,5,37,217,5,5,42,217,5,5,40,217,5,5,41,217,5,5,206,217,5,5,39,217,5,5,67,243,5,5,121,241,5,5,205,217,5,5,207,217,192,0,0,0,5,5,110,218,5,5,111,218,192,0,0,0,5,5,23,247,192,0,0,0,5,5,164,219,5,5,163,219,5,5,143,201,192,0,0,0,192,0,0,0,5,5,183,220,5,5,92,206,192,0,0,0,5,5,180,220,5,5,181,220,5,5,179,220,192,0,0,0,5,5,182,220,192,0,0,0,192,0,0,0,5,5,137,221,5,5,134,221,5,5,139,221,5,5,135,221,5,5,144,201,5,5,147,201,192,0,0,0,5,5,136,221,5,5,146,201,5,5,138,221,192,0,0,0,192,0,0,0,5,5,145,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,222,5,5,242,222,5,5,11,203,5,5,238,222,5,5,241,222,5,5,239,222,5,5,9,203,5,5,12,203,192,0,0,0,5,5,10,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,224,5,5,178,224,5,5,175,224,192,0,0,0,5,5,151,204,192,0,0,0,5,5,152,204,192,0,0,0,5,5,177,224,192,0,0,0,5,5,179,224,5,5,181,224,192,0,0,0,5,5,149,204,5,5,180,224,192,0,0,0,192,0,0,0,5,5,150,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,229,5,5,176,224,5,5,195,226,5,5,204,226,5,5,202,226,5,5,197,226,5,5,198,226,5,5,203,226,5,5,205,226,5,5,94,206,192,0,0,0,5,5,200,226,5,5,196,226,5,5,93,206,5,5,95,206,5,5,199,226,5,5,206,226,5,5,201,226,192,0,0,0,192,0,0,0,5,5,71,208,5,5,60,229,5,5,52,229,5,5,58,229,5,5,59,229,5,5,72,208,192,0,0,0,5,5,51,229,5,5,53,229,5,5,173,224,5,5,55,229,5,5,56,229,5,5,54,229,5,5,15,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,231,5,5,122,241,5,5,217,231,5,5,214,231,5,5,73,208,5,5,17,210,5,5,213,231,5,5,219,231,5,5,218,231,5,5,14,210,5,5,222,231,5,5,212,231,5,5,221,231,5,5,210,231,5,5,220,231,5,5,215,231,5,5,16,210,192,0,0,0,5,5,131,234,192,0,0,0,5,5,126,234,5,5,132,234,5,5,127,234,5,5,125,234,5,5,128,234,5,5,205,211,192,0,0,0,5,5,130,234,192,0,0,0,5,5,129,234,5,5,206,211,5,5,89,213,5,5,88,213,5,5,225,236,5,5,228,236,5,5,220,236,5,5,224,236,5,5,90,213,5,5,223,236,5,5,221,236,5,5,227,236,5,5,222,236,5,5,219,236,5,5,226,236,192,0,0,0,5,5,70,239,5,5,219,214,5,5,198,244,5,5,67,239,5,5,68,239,5,5,66,239,5,5,211,231,5,5,218,214,5,5,71,239,5,5,65,239,5,5,217,214,5,5,220,214,5,5,69,239,5,5,123,241,5,5,5,216,5,5,124,241,5,5,125,241,192,0,0,0,5,5,69,243,5,5,43,217,5,5,199,244,5,5,200,244,192,0,0,0,192,0,0,0,5,5,201,244,5,5,23,246,5,5,22,246,5,5,25,247,192,0,0,0,5,5,24,247,5,5,238,247,5,5,239,247,5,5,237,247,5,5,152,248,5,5,118,219,5,5,148,201,5,5,154,204,5,5,153,204,5,5,98,206,5,5,97,206,5,5,208,226,5,5,209,226,5,5,207,226,192,0,0,0,5,5,96,206,5,5,64,229,192,0,0,0,5,5,65,229,5,5,61,229,5,5,74,208,5,5,62,229,192,0,0,0,5,5,63,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,231,5,5,227,231,5,5,223,231,5,5,226,231,5,5,18,210,5,5,224,231,5,5,19,210,192,0,0,0,192,0,0,0,5,5,148,232,5,5,209,211,5,5,208,211,192,0,0,0,5,5,207,211,192,0,0,0,5,5,133,234,5,5,134,234,192,0,0,0,192,0,0,0,5,5,230,236,5,5,232,236,5,5,94,213,5,5,91,213,192,0,0,0,5,5,93,213,5,5,92,213,5,5,231,236,5,5,229,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,239,5,5,75,239,5,5,76,239,5,5,224,214,5,5,77,239,5,5,72,239,5,5,73,239,5,5,221,214,192,0,0,0,5,5,222,214,5,5,74,239,5,5,223,214,192,0,0,0,5,5,129,241,192,0,0,0,5,5,130,241,5,5,127,241,5,5,128,241,5,5,6,216,5,5,126,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,243,5,5,70,243,5,5,72,243,5,5,46,217,5,5,76,243,5,5,45,217,5,5,74,243,5,5,77,243,5,5,75,243,5,5,71,243,5,5,44,217,192,0,0,0,5,5,203,244,192,0,0,0,5,5,204,244,5,5,202,244,192,0,0,0,5,5,206,244,5,5,208,217,5,5,209,217,5,5,25,246,5,5,113,218,5,5,205,244,5,5,24,246,5,5,112,218,5,5,28,247,5,5,29,247,5,5,230,218,5,5,27,247,192,0,0,0,5,5,26,247,192,0,0,0,5,5,240,247,5,5,48,219,192,0,0,0,5,5,26,249,5,5,119,249,5,5,118,249,192,0,0,0,5,5,200,219,5,5,226,219,5,5,120,249,5,5,223,249,192,0,0,0,5,5,244,219,5,5,149,201,5,5,13,203,192,0,0,0,5,5,210,211,192,0,0,0,5,5,231,218,5,5,150,201,5,5,155,204,5,5,75,208,5,5,20,210,5,5,210,217,5,5,14,203,192,0,0,0,5,5,183,224,5,5,182,224,5,5,210,226,192,0,0,0,5,5,101,206,5,5,99,206,5,5,103,206,5,5,212,226,192,0,0,0,5,5,102,206,5,5,100,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,226,5,5,78,208,5,5,71,229,192,0,0,0,5,5,77,208,5,5,79,208,5,5,76,229,5,5,81,208,5,5,73,229,5,5,74,229,5,5,66,229,5,5,80,208,5,5,77,229,192,0,0,0,192,0,0,0,5,5,68,229,192,0,0,0,5,5,69,229,5,5,67,229,5,5,76,208,192,0,0,0,5,5,75,229,5,5,70,229,5,5,72,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,231,192,0,0,0,5,5,238,231,5,5,236,231,5,5,228,231,5,5,243,231,5,5,231,231,5,5,241,231,5,5,248,231,5,5,240,231,5,5,28,210,192,0,0,0,5,5,24,210,5,5,229,231,192,0,0,0,5,5,235,231,5,5,26,210,192,0,0,0,5,5,234,231,5,5,27,210,5,5,29,210,5,5,237,231,192,0,0,0,5,5,21,210,5,5,22,210,5,5,249,231,5,5,247,231,192,0,0,0,5,5,246,231,5,5,232,231,192,0,0,0,5,5,244,231,192,0,0,0,5,5,25,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,210,5,5,245,231,5,5,230,231,5,5,233,231,5,5,242,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,237,5,5,144,234,192,0,0,0,5,5,137,234,5,5,156,234,5,5,165,234,5,5,140,234,5,5,221,211,192,0,0,0,5,5,153,234,5,5,211,211,5,5,213,211,5,5,225,211,5,5,138,234,192,0,0,0,192,0,0,0,5,5,214,211,5,5,216,211,5,5,226,211,5,5,215,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,211,5,5,146,234,192,0,0,0,5,5,135,234,5,5,222,211,5,5,145,234,5,5,218,211,5,5,163,234,5,5,223,211,5,5,161,234,5,5,149,234,5,5,159,234,5,5,220,211,5,5,136,234,5,5,162,234,5,5,157,234,192,0,0,0,5,5,164,234,5,5,212,211,192,0,0,0,192,0,0,0,5,5,227,211,5,5,217,211,192,0,0,0,192,0,0,0,5,5,142,234,192,0,0,0,5,5,150,234,5,5,154,234,192,0,0,0,5,5,158,234,5,5,219,211,5,5,141,234,5,5,139,234,5,5,151,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,234,5,5,147,234,192,0,0,0,5,5,152,234,5,5,155,234,192,0,0,0,5,5,160,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,236,192,0,0,0,5,5,95,213,5,5,245,236,5,5,237,236,5,5,100,213,5,5,104,213,5,5,254,236,5,5,8,237,5,5,247,236,5,5,96,213,192,0,0,0,5,5,251,236,5,5,143,234,192,0,0,0,5,5,97,213,5,5,4,237,5,5,9,237,5,5,255,236,192,0,0,0,5,5,3,237,5,5,12,237,5,5,5,237,5,5,241,236,5,5,250,236,192,0,0,0,192,0,0,0,5,5,105,213,192,0,0,0,5,5,101,213,5,5,239,236,5,5,252,236,5,5,99,213,5,5,246,236,5,5,98,213,5,5,6,237,5,5,243,236,5,5,236,236,5,5,102,213,5,5,11,237,192,0,0,0,192,0,0,0,5,5,238,236,5,5,2,237,5,5,253,236,5,5,248,236,5,5,234,236,5,5,233,236,5,5,242,236,5,5,7,237,5,5,103,213,5,5,10,237,5,5,240,236,5,5,244,236,5,5,229,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,214,5,5,232,214,5,5,111,239,5,5,108,239,5,5,84,239,5,5,227,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,214,5,5,233,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,239,5,5,231,214,5,5,94,239,5,5,80,239,5,5,81,239,5,5,225,214,5,5,110,239,5,5,235,214,5,5,97,239,5,5,102,239,5,5,96,239,5,5,148,241,5,5,92,239,5,5,100,239,5,5,98,239,5,5,85,239,5,5,79,239,5,5,106,239,5,5,234,214,5,5,107,239,192,0,0,0,5,5,101,239,192,0,0,0,5,5,90,239,5,5,88,239,5,5,83,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,239,5,5,104,239,5,5,87,239,5,5,103,239,5,5,109,239,192,0,0,0,192,0,0,0,5,5,230,214,192,0,0,0,5,5,99,239,5,5,105,239,5,5,95,239,5,5,89,239,5,5,228,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,236,5,5,93,239,5,5,236,214,5,5,86,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,241,5,5,9,216,5,5,153,241,5,5,150,241,5,5,169,241,5,5,13,216,192,0,0,0,5,5,166,241,5,5,158,241,5,5,168,241,5,5,143,241,5,5,156,241,192,0,0,0,5,5,15,216,192,0,0,0,5,5,135,241,192,0,0,0,5,5,133,241,5,5,167,241,192,0,0,0,5,5,165,241,5,5,164,241,5,5,147,241,5,5,146,241,5,5,136,241,5,5,17,216,192,0,0,0,5,5,142,241,5,5,152,241,5,5,163,241,5,5,20,216,5,5,170,241,192,0,0,0,5,5,54,217,5,5,22,216,5,5,16,216,5,5,140,241,192,0,0,0,5,5,149,241,5,5,132,241,5,5,134,241,5,5,7,216,5,5,19,216,5,5,12,216,5,5,141,241,5,5,157,241,5,5,151,241,5,5,18,216,5,5,131,241,5,5,49,217,5,5,159,241,5,5,162,241,5,5,14,216,192,0,0,0,5,5,145,241,5,5,21,216,5,5,11,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,216,5,5,155,241,5,5,161,241,5,5,8,216,192,0,0,0,5,5,138,241,5,5,160,241,192,0,0,0,192,0,0,0,5,5,139,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,241,5,5,83,243,192,0,0,0,5,5,88,243,5,5,51,217,5,5,53,217,5,5,94,243,5,5,47,217,5,5,109,243,5,5,100,243,5,5,89,243,5,5,90,243,5,5,99,243,192,0,0,0,5,5,60,217,5,5,98,243,5,5,82,243,5,5,97,243,5,5,85,243,5,5,110,243,5,5,59,217,5,5,57,217,5,5,86,243,192,0,0,0,5,5,105,243,192,0,0,0,5,5,91,243,5,5,104,243,192,0,0,0,5,5,106,243,5,5,81,243,5,5,52,217,192,0,0,0,5,5,107,243,192,0,0,0,192,0,0,0,5,5,95,243,192,0,0,0,5,5,56,217,5,5,92,243,192,0,0,0,192,0,0,0,5,5,58,217,5,5,101,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,217,5,5,87,243,5,5,102,243,192,0,0,0,5,5,96,243,5,5,137,241,5,5,103,243,5,5,84,243,192,0,0,0,5,5,55,217,192,0,0,0,5,5,108,243,192,0,0,0,5,5,48,217,5,5,79,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,244,5,5,213,244,5,5,212,217,192,0,0,0,5,5,208,244,5,5,223,244,5,5,215,244,5,5,93,243,192,0,0,0,5,5,225,244,5,5,209,244,192,0,0,0,5,5,211,217,5,5,219,244,5,5,213,217,5,5,221,217,5,5,219,217,5,5,221,244,5,5,220,217,5,5,211,244,192,0,0,0,5,5,212,244,5,5,217,244,5,5,222,244,192,0,0,0,5,5,78,243,5,5,214,217,5,5,230,244,5,5,227,244,5,5,231,244,5,5,218,244,5,5,214,244,5,5,228,244,5,5,36,246,5,5,216,244,192,0,0,0,5,5,217,217,192,0,0,0,5,5,216,217,5,5,80,243,5,5,218,217,5,5,224,244,5,5,226,244,5,5,215,217,5,5,229,244,5,5,207,244,192,0,0,0,5,5,210,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,246,192,0,0,0,5,5,29,246,5,5,117,218,5,5,43,246,192,0,0,0,192,0,0,0,5,5,27,246,5,5,118,218,192,0,0,0,5,5,38,246,192,0,0,0,5,5,34,246,5,5,123,218,5,5,44,246,5,5,28,246,5,5,31,246,5,5,115,218,5,5,46,246,192,0,0,0,5,5,39,246,5,5,42,246,5,5,121,218,5,5,126,218,5,5,124,218,5,5,35,246,5,5,30,246,192,0,0,0,5,5,119,218,5,5,120,218,5,5,26,246,5,5,116,218,192,0,0,0,5,5,114,218,5,5,122,218,5,5,41,246,5,5,125,218,192,0,0,0,5,5,37,246,5,5,47,246,5,5,127,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,246,192,0,0,0,5,5,40,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,247,5,5,56,247,5,5,44,247,5,5,51,247,5,5,32,246,5,5,49,247,5,5,32,247,5,5,54,247,5,5,234,218,5,5,36,247,5,5,53,247,5,5,43,247,192,0,0,0,192,0,0,0,5,5,233,218,192,0,0,0,192,0,0,0,5,5,58,247,5,5,45,247,192,0,0,0,5,5,50,247,5,5,52,247,5,5,30,247,5,5,55,247,5,5,41,247,5,5,46,247,5,5,34,247,5,5,38,247,5,5,57,247,5,5,48,247,5,5,31,247,5,5,35,247,5,5,37,247,5,5,47,247,192,0,0,0,5,5,232,218,5,5,40,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,247,5,5,244,247,5,5,249,247,5,5,55,219,5,5,251,247,192,0,0,0,5,5,49,219,192,0,0,0,5,5,247,247,5,5,253,247,5,5,54,219,5,5,50,219,192,0,0,0,5,5,51,219,5,5,243,247,5,5,250,247,5,5,53,219,5,5,248,247,5,5,52,219,5,5,242,247,5,5,246,247,5,5,245,247,192,0,0,0,5,5,241,247,5,5,252,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,219,5,5,159,248,5,5,162,248,5,5,158,248,5,5,160,248,5,5,161,248,5,5,155,248,5,5,156,248,5,5,153,248,192,0,0,0,192,0,0,0,5,5,157,248,5,5,154,248,5,5,120,219,5,5,121,219,192,0,0,0,192,0,0,0,5,5,28,249,192,0,0,0,5,5,30,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,249,5,5,31,249,192,0,0,0,5,5,166,219,192,0,0,0,5,5,27,249,5,5,165,219,5,5,167,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,249,5,5,123,249,5,5,201,219,5,5,121,249,192,0,0,0,5,5,193,249,5,5,192,249,5,5,194,249,5,5,228,219,5,5,195,249,5,5,227,219,5,5,196,249,5,5,224,249,5,5,227,249,5,5,226,249,5,5,237,219,5,5,225,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,219,5,5,245,219,5,5,246,219,5,5,252,219,5,5,14,250,5,5,15,250,5,5,13,250,5,5,23,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,203,192,0,0,0,192,0,0,0,5,5,78,229,5,5,250,231,5,5,112,239,5,5,48,246,192,0,0,0,192,0,0,0,5,5,16,203,192,0,0,0,5,5,156,204,5,5,104,206,192,0,0,0,192,0,0,0,5,5,79,229,192,0,0,0,5,5,80,229,5,5,82,208,192,0,0,0,5,5,32,210,5,5,252,231,5,5,251,231,5,5,36,210,5,5,31,210,5,5,253,231,5,5,33,210,5,5,35,210,5,5,34,210,5,5,30,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,211,192,0,0,0,192,0,0,0,5,5,169,234,5,5,167,234,192,0,0,0,5,5,168,234,5,5,166,234,192,0,0,0,5,5,106,213,192,0,0,0,5,5,109,213,5,5,111,213,5,5,110,213,192,0,0,0,192,0,0,0,5,5,107,213,5,5,108,213,192,0,0,0,5,5,114,239,5,5,113,239,5,5,238,214,5,5,115,239,192,0,0,0,5,5,116,239,5,5,239,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,241,5,5,176,241,5,5,116,243,192,0,0,0,5,5,174,241,5,5,175,241,5,5,23,216,5,5,171,241,5,5,179,241,5,5,173,241,5,5,177,241,5,5,112,243,192,0,0,0,192,0,0,0,5,5,114,243,192,0,0,0,5,5,115,243,5,5,65,217,5,5,111,243,5,5,64,217,5,5,113,243,5,5,61,217,5,5,62,217,5,5,63,217,5,5,172,241,192,0,0,0,192,0,0,0,5,5,224,217,5,5,234,244,5,5,232,244,5,5,233,244,5,5,222,217,5,5,225,217,5,5,223,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,246,5,5,50,246,5,5,128,218,192,0,0,0,5,5,59,247,5,5,61,247,5,5,60,247,5,5,235,218,5,5,56,219,5,5,2,248,5,5,255,247,5,5,254,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,203,192,0,0,0,5,5,77,220,192,0,0,0,5,5,186,220,5,5,134,200,5,5,184,220,5,5,187,220,5,5,185,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,221,192,0,0,0,5,5,154,201,192,0,0,0,5,5,155,201,5,5,143,221,5,5,152,201,5,5,142,221,5,5,140,221,5,5,153,201,5,5,151,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,222,5,5,246,222,5,5,20,203,5,5,245,222,5,5,244,222,192,0,0,0,5,5,19,203,5,5,18,203,192,0,0,0,5,5,22,203,5,5,247,222,5,5,21,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,224,5,5,158,204,5,5,159,204,5,5,160,204,5,5,189,224,5,5,185,224,5,5,157,204,5,5,186,224,192,0,0,0,5,5,187,224,5,5,184,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,206,192,0,0,0,192,0,0,0,5,5,108,206,5,5,213,226,5,5,109,206,5,5,112,206,5,5,214,226,192,0,0,0,5,5,107,206,5,5,105,206,5,5,106,206,5,5,110,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,208,5,5,83,229,5,5,91,208,5,5,82,229,192,0,0,0,5,5,85,229,5,5,87,208,5,5,84,229,5,5,44,210,5,5,85,208,5,5,88,208,5,5,84,208,5,5,89,208,5,5,90,208,5,5,86,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,229,5,5,40,210,5,5,255,231,192,0,0,0,5,5,5,232,192,0,0,0,192,0,0,0,5,5,4,232,5,5,45,210,5,5,41,210,5,5,42,210,5,5,254,231,5,5,2,232,5,5,3,232,5,5,37,210,5,5,39,210,192,0,0,0,5,5,43,210,5,5,38,210,192,0,0,0,192,0,0,0,5,5,172,234,5,5,170,234,5,5,171,234,5,5,230,211,5,5,231,211,192,0,0,0,5,5,173,234,5,5,229,211,5,5,112,213,192,0,0,0,5,5,114,213,5,5,113,213,192,0,0,0,5,5,14,237,192,0,0,0,192,0,0,0,5,5,15,237,5,5,118,239,192,0,0,0,5,5,117,239,192,0,0,0,192,0,0,0,5,5,24,216,5,5,25,216,5,5,180,241,5,5,26,216,192,0,0,0,5,5,119,243,192,0,0,0,5,5,117,243,192,0,0,0,5,5,118,243,5,5,66,217,192,0,0,0,5,5,235,244,5,5,129,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,217,5,5,23,203,192,0,0,0,5,5,113,206,5,5,215,226,192,0,0,0,192,0,0,0,5,5,86,229,5,5,92,208,5,5,46,210,5,5,6,232,5,5,8,232,5,5,48,210,5,5,47,210,5,5,49,210,5,5,50,210,5,5,7,232,5,5,234,211,5,5,235,211,5,5,233,211,5,5,115,213,5,5,232,211,5,5,174,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,213,5,5,119,239,5,5,181,241,5,5,27,216,5,5,68,217,5,5,236,244,5,5,240,244,5,5,228,217,5,5,237,244,5,5,229,217,5,5,227,217,5,5,241,244,5,5,230,217,5,5,239,244,192,0,0,0,5,5,51,246,5,5,226,217,5,5,130,218,192,0,0,0,5,5,124,249,192,0,0,0,192,0,0,0,5,5,24,203,5,5,94,208,5,5,93,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,210,5,5,10,232,5,5,9,232,5,5,52,210,192,0,0,0,192,0,0,0,5,5,178,234,5,5,239,211,5,5,236,211,5,5,177,234,5,5,238,211,5,5,175,234,5,5,237,211,192,0,0,0,5,5,176,234,192,0,0,0,5,5,16,237,5,5,117,213,192,0,0,0,5,5,122,239,192,0,0,0,5,5,240,214,5,5,120,239,5,5,241,214,5,5,242,214,5,5,121,239,5,5,243,214,192,0,0,0,5,5,182,241,192,0,0,0,5,5,31,216,5,5,28,216,5,5,33,216,5,5,184,241,5,5,29,216,5,5,183,241,5,5,32,216,192,0,0,0,192,0,0,0,5,5,30,216,192,0,0,0,5,5,122,243,5,5,124,243,192,0,0,0,192,0,0,0,5,5,69,217,5,5,123,243,5,5,70,217,5,5,121,243,5,5,120,243,192,0,0,0,5,5,243,244,5,5,242,244,5,5,231,217,5,5,244,244,5,5,56,246,5,5,132,218,5,5,55,246,5,5,52,246,5,5,131,218,5,5,53,246,5,5,54,246,192,0,0,0,5,5,62,247,5,5,63,247,5,5,236,218,192,0,0,0,5,5,59,219,192,0,0,0,192,0,0,0,5,5,3,248,192,0,0,0,192,0,0,0,5,5,57,219,5,5,58,219,5,5,4,248,192,0,0,0,192,0,0,0,5,5,122,219,5,5,123,219,5,5,163,248,192,0,0,0,192,0,0,0,5,5,202,219,5,5,126,249,5,5,204,219,192,0,0,0,5,5,125,249,5,5,127,249,5,5,203,219,5,5,197,249,192,0,0,0,5,5,249,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,211,192,0,0,0,5,5,17,237,192,0,0,0,5,5,123,239,5,5,34,216,5,5,35,216,192,0,0,0,5,5,26,203,192,0,0,0,5,5,244,214,5,5,133,218,5,5,161,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,216,192,0,0,0,5,5,168,219,5,5,162,204,5,5,87,229,192,0,0,0,5,5,11,232,192,0,0,0,5,5,13,232,192,0,0,0,5,5,12,232,192,0,0,0,5,5,182,234,5,5,179,234,5,5,241,211,192,0,0,0,5,5,242,211,5,5,180,234,5,5,181,234,192,0,0,0,5,5,19,237,5,5,24,237,5,5,118,213,5,5,18,237,5,5,20,237,5,5,27,237,5,5,22,237,5,5,26,237,5,5,23,237,5,5,21,237,5,5,25,237,5,5,119,213,192,0,0,0,192,0,0,0,5,5,126,239,192,0,0,0,5,5,124,239,5,5,246,214,192,0,0,0,5,5,245,214,5,5,125,239,5,5,247,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,241,192,0,0,0,192,0,0,0,5,5,186,241,5,5,37,216,5,5,185,241,5,5,125,243,192,0,0,0,5,5,127,243,5,5,129,243,5,5,128,243,192,0,0,0,5,5,71,217,5,5,126,243,5,5,251,244,5,5,232,217,5,5,249,244,5,5,252,244,5,5,233,217,192,0,0,0,5,5,247,244,192,0,0,0,5,5,250,244,5,5,248,244,5,5,245,244,5,5,234,217,5,5,246,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,246,192,0,0,0,192,0,0,0,5,5,59,246,5,5,58,246,192,0,0,0,5,5,64,247,192,0,0,0,5,5,65,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,248,192,0,0,0,5,5,125,219,192,0,0,0,5,5,124,219,5,5,32,249,5,5,33,249,5,5,205,219,5,5,128,249,192,0,0,0,5,5,238,219,192,0,0,0,5,5,163,204,5,5,53,210,5,5,29,237,5,5,28,237,5,5,128,239,5,5,127,239,192,0,0,0,192,0,0,0,5,5,72,217,5,5,131,243,5,5,130,243,5,5,255,244,5,5,253,244,5,5,2,245,5,5,254,244,192,0,0,0,192,0,0,0,5,5,134,218,5,5,60,246,5,5,61,246,5,5,62,246,192,0,0,0,5,5,6,248,192,0,0,0,5,5,164,248,192,0,0,0,5,5,129,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,204,192,0,0,0,192,0,0,0,5,5,188,241,5,5,132,243,192,0,0,0,5,5,165,204,192,0,0,0,192,0,0,0,5,5,120,213,192,0,0,0,5,5,189,241,5,5,235,217,5,5,3,245,5,5,135,218,192,0,0,0,5,5,66,247,5,5,67,247,5,5,60,219,5,5,34,249,5,5,166,204,5,5,97,208,5,5,98,208,5,5,88,229,5,5,54,210,5,5,55,210,5,5,14,232,5,5,56,210,192,0,0,0,5,5,246,211,192,0,0,0,5,5,248,211,5,5,184,234,5,5,185,234,5,5,183,234,5,5,243,211,5,5,244,211,5,5,247,211,5,5,245,211,192,0,0,0,192,0,0,0,5,5,30,237,5,5,121,213,5,5,122,213,192,0,0,0,192,0,0,0,5,5,135,239,5,5,250,214,5,5,130,239,5,5,129,239,192,0,0,0,5,5,134,239,5,5,248,214,192,0,0,0,192,0,0,0,5,5,44,216,192,0,0,0,5,5,131,239,5,5,136,239,5,5,133,239,5,5,132,239,192,0,0,0,5,5,249,214,192,0,0,0,5,5,42,216,192,0,0,0,5,5,191,241,5,5,38,216,192,0,0,0,5,5,192,241,192,0,0,0,192,0,0,0,5,5,190,241,192,0,0,0,5,5,41,216,5,5,39,216,5,5,43,216,192,0,0,0,5,5,40,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,243,192,0,0,0,5,5,138,243,5,5,134,243,5,5,137,243,5,5,73,217,192,0,0,0,5,5,182,242,5,5,136,243,5,5,135,243,192,0,0,0,5,5,238,217,5,5,236,217,5,5,239,217,5,5,237,217,5,5,4,245,5,5,5,245,5,5,6,245,5,5,240,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,246,5,5,137,218,5,5,64,246,192,0,0,0,5,5,138,218,5,5,63,246,5,5,65,246,5,5,136,218,5,5,71,247,5,5,68,247,192,0,0,0,5,5,69,247,5,5,70,247,5,5,7,248,5,5,62,219,192,0,0,0,5,5,61,219,192,0,0,0,5,5,166,248,5,5,165,248,5,5,126,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,219,5,5,206,219,5,5,229,219,5,5,198,249,5,5,250,249,5,5,251,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,204,5,5,15,232,192,0,0,0,192,0,0,0,5,5,186,234,5,5,31,237,5,5,32,237,5,5,123,213,192,0,0,0,5,5,124,213,5,5,137,239,5,5,251,214,192,0,0,0,192,0,0,0,5,5,74,217,192,0,0,0,5,5,7,245,192,0,0,0,5,5,241,217,5,5,69,246,5,5,139,218,5,5,68,246,5,5,70,246,5,5,67,246,5,5,10,248,5,5,72,247,5,5,73,247,192,0,0,0,5,5,237,218,192,0,0,0,5,5,9,248,192,0,0,0,192,0,0,0,5,5,8,248,192,0,0,0,5,5,167,248,5,5,252,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,204,192,0,0,0,192,0,0,0,5,5,114,206,5,5,216,226,192,0,0,0,5,5,89,229,192,0,0,0,5,5,57,210,192,0,0,0,5,5,60,210,5,5,58,210,5,5,16,232,192,0,0,0,5,5,62,210,192,0,0,0,5,5,59,210,192,0,0,0,192,0,0,0,5,5,61,210,192,0,0,0,5,5,250,211,192,0,0,0,5,5,187,234,192,0,0,0,192,0,0,0,5,5,188,234,5,5,139,239,192,0,0,0,5,5,249,211,5,5,251,211,5,5,252,211,192,0,0,0,5,5,34,237,192,0,0,0,5,5,33,237,5,5,125,213,192,0,0,0,5,5,126,213,192,0,0,0,5,5,35,237,5,5,138,239,5,5,128,213,5,5,252,214,192,0,0,0,5,5,127,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,216,5,5,140,239,5,5,254,214,5,5,253,214,5,5,141,239,5,5,144,239,5,5,142,239,5,5,143,239,5,5,255,214,192,0,0,0,5,5,50,216,5,5,48,216,192,0,0,0,192,0,0,0,5,5,47,216,5,5,194,241,192,0,0,0,5,5,49,216,192,0,0,0,192,0,0,0,5,5,193,241,5,5,139,243,192,0,0,0,5,5,195,241,5,5,46,216,5,5,196,241,5,5,142,243,5,5,140,243,5,5,141,243,5,5,146,243,5,5,245,217,5,5,145,243,5,5,148,243,5,5,147,243,5,5,144,243,5,5,143,243,192,0,0,0,5,5,75,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,245,192,0,0,0,5,5,9,245,5,5,244,217,5,5,242,217,5,5,243,217,192,0,0,0,5,5,8,245,192,0,0,0,5,5,73,246,192,0,0,0,5,5,140,218,192,0,0,0,5,5,72,246,5,5,71,246,5,5,141,218,192,0,0,0,5,5,78,247,5,5,77,247,192,0,0,0,5,5,75,247,192,0,0,0,5,5,74,247,5,5,239,218,5,5,238,218,5,5,79,247,5,5,168,248,5,5,127,219,5,5,12,248,5,5,63,219,5,5,11,248,5,5,76,247,192,0,0,0,5,5,169,248,5,5,170,219,192,0,0,0,5,5,230,219,5,5,199,249,192,0,0,0,5,5,253,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,204,5,5,90,229,5,5,149,243,5,5,171,204,192,0,0,0,192,0,0,0,5,5,37,237,5,5,36,237,5,5,197,241,192,0,0,0,192,0,0,0,5,5,151,243,192,0,0,0,5,5,150,243,192,0,0,0,5,5,246,217,5,5,74,246,5,5,75,246,5,5,240,218,192,0,0,0,192,0,0,0,5,5,254,249,5,5,115,206,5,5,64,210,5,5,63,210,5,5,189,234,5,5,191,234,5,5,254,211,5,5,190,234,5,5,253,211,5,5,255,211,5,5,192,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,237,5,5,41,237,5,5,40,237,192,0,0,0,5,5,43,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,213,5,5,42,237,5,5,38,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,237,192,0,0,0,5,5,151,239,192,0,0,0,5,5,154,239,5,5,156,239,5,5,146,239,5,5,150,239,5,5,147,239,5,5,3,215,5,5,6,215,5,5,8,215,5,5,148,239,5,5,149,239,5,5,7,215,5,5,152,239,5,5,155,239,5,5,153,239,5,5,9,215,192,0,0,0,5,5,5,215,5,5,145,239,5,5,2,215,192,0,0,0,5,5,4,215,192,0,0,0,192,0,0,0,5,5,52,216,5,5,203,241,5,5,201,241,5,5,200,241,192,0,0,0,5,5,206,241,192,0,0,0,5,5,205,241,5,5,204,241,192,0,0,0,5,5,199,241,5,5,51,216,5,5,198,241,192,0,0,0,5,5,202,241,5,5,53,216,192,0,0,0,192,0,0,0,5,5,154,243,192,0,0,0,5,5,158,243,5,5,155,243,5,5,157,243,5,5,156,243,5,5,153,243,5,5,159,243,5,5,162,243,5,5,160,243,5,5,161,243,5,5,77,217,192,0,0,0,5,5,76,217,5,5,152,243,5,5,163,243,5,5,15,245,5,5,18,245,5,5,20,245,5,5,19,245,192,0,0,0,5,5,13,245,5,5,17,245,5,5,12,245,192,0,0,0,5,5,14,245,5,5,247,217,5,5,11,245,192,0,0,0,5,5,16,245,192,0,0,0,192,0,0,0,5,5,88,246,5,5,77,246,5,5,142,218,192,0,0,0,192,0,0,0,5,5,143,218,5,5,76,246,5,5,81,246,5,5,87,246,5,5,79,246,5,5,86,246,192,0,0,0,5,5,83,246,192,0,0,0,5,5,82,246,5,5,85,246,5,5,80,246,5,5,78,246,192,0,0,0,5,5,84,246,192,0,0,0,5,5,86,247,5,5,84,247,5,5,241,218,5,5,83,247,5,5,89,247,5,5,87,247,192,0,0,0,5,5,242,218,5,5,82,247,5,5,80,247,192,0,0,0,5,5,81,247,5,5,244,218,5,5,85,247,5,5,243,218,5,5,88,247,5,5,13,248,5,5,19,248,192,0,0,0,192,0,0,0,5,5,14,248,5,5,67,219,5,5,20,248,5,5,66,219,5,5,18,248,5,5,17,248,5,5,65,219,5,5,16,248,5,5,64,219,5,5,15,248,192,0,0,0,5,5,175,248,5,5,177,248,5,5,176,248,192,0,0,0,5,5,173,248,5,5,129,219,5,5,170,248,5,5,174,248,5,5,179,248,192,0,0,0,5,5,178,248,5,5,171,248,5,5,172,248,5,5,128,219,5,5,35,249,5,5,173,219,192,0,0,0,5,5,36,249,5,5,171,219,5,5,172,219,192,0,0,0,192,0,0,0,5,5,130,249,5,5,207,219,5,5,228,249,192,0,0,0,5,5,239,219,192,0,0,0,5,5,255,249,5,5,240,219,5,5,2,250,5,5,3,250,5,5,17,250,5,5,16,250,5,5,255,219,5,5,27,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,206,192,0,0,0,192,0,0,0,5,5,194,234,192,0,0,0,5,5,193,234,192,0,0,0,5,5,130,213,5,5,131,213,5,5,45,237,192,0,0,0,5,5,157,239,5,5,209,241,192,0,0,0,192,0,0,0,5,5,10,215,5,5,54,216,5,5,207,241,192,0,0,0,5,5,210,241,5,5,55,216,192,0,0,0,5,5,164,243,5,5,208,241,5,5,21,245,5,5,248,217,5,5,89,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,247,5,5,90,247,192,0,0,0,192,0,0,0,5,5,91,247,192,0,0,0,192,0,0,0,5,5,21,248,192,0,0,0,5,5,68,219,5,5,180,248,5,5,176,219,5,5,130,219,5,5,174,219,5,5,175,219,5,5,131,249,5,5,231,219,192,0,0,0,5,5,117,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,245,192,0,0,0,192,0,0,0,5,5,217,226,192,0,0,0,5,5,2,212,192,0,0,0,5,5,46,237,192,0,0,0,192,0,0,0,5,5,132,213,5,5,47,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,239,5,5,158,239,5,5,57,216,5,5,11,215,5,5,12,215,192,0,0,0,5,5,162,239,5,5,161,239,5,5,160,239,192,0,0,0,192,0,0,0,5,5,211,241,5,5,214,241,192,0,0,0,5,5,213,241,5,5,212,241,5,5,56,216,5,5,168,243,5,5,166,243,5,5,165,243,192,0,0,0,192,0,0,0,5,5,167,243,192,0,0,0,5,5,249,217,5,5,24,245,5,5,25,245,5,5,250,217,192,0,0,0,5,5,23,245,192,0,0,0,5,5,91,246,5,5,90,246,5,5,93,246,5,5,144,218,5,5,92,246,192,0,0,0,5,5,93,247,5,5,95,247,5,5,94,247,192,0,0,0,192,0,0,0,5,5,22,248,5,5,25,248,5,5,23,248,5,5,24,248,5,5,181,248,5,5,131,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,249,5,5,38,249,5,5,39,249,192,0,0,0,5,5,208,219,5,5,232,219,5,5,4,250,5,5,118,206,192,0,0,0,5,5,13,215,5,5,58,216,5,5,26,245,192,0,0,0,5,5,182,248,192,0,0,0,192,0,0,0,5,5,18,250,5,5,218,226,192,0,0,0,5,5,2,220,5,5,119,206,5,5,215,241,192,0,0,0,5,5,27,245,192,0,0,0,5,5,94,246,192,0,0,0,192,0,0,0,5,5,26,248,5,5,183,248,5,5,120,206,192,0,0,0,5,5,48,237,5,5,49,237,192,0,0,0,5,5,133,213,5,5,134,213,5,5,164,239,5,5,15,215,5,5,14,215,5,5,163,239,192,0,0,0,5,5,169,243,192,0,0,0,5,5,28,245,5,5,30,245,5,5,29,245,5,5,253,217,5,5,252,217,5,5,251,217,192,0,0,0,5,5,70,219,5,5,27,248,192,0,0,0,5,5,69,219,5,5,185,248,5,5,184,248,192,0,0,0,5,5,209,219,5,5,132,249,5,5,99,208,5,5,195,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,237,5,5,50,237,5,5,51,237,192,0,0,0,192,0,0,0,5,5,173,239,192,0,0,0,5,5,168,239,5,5,165,239,5,5,172,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,239,192,0,0,0,192,0,0,0,5,5,17,215,5,5,171,239,5,5,167,239,192,0,0,0,192,0,0,0,5,5,166,239,5,5,170,239,5,5,169,239,5,5,16,215,192,0,0,0,192,0,0,0,5,5,226,241,5,5,221,241,5,5,219,241,5,5,228,241,5,5,220,241,192,0,0,0,5,5,216,241,192,0,0,0,5,5,222,241,192,0,0,0,192,0,0,0,5,5,217,241,5,5,178,243,5,5,218,241,5,5,229,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,241,5,5,59,216,5,5,224,241,5,5,223,241,192,0,0,0,5,5,227,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,243,5,5,173,243,192,0,0,0,192,0,0,0,5,5,172,243,192,0,0,0,5,5,180,243,5,5,175,243,5,5,179,243,192,0,0,0,5,5,177,243,5,5,176,243,5,5,174,243,192,0,0,0,5,5,171,243,192,0,0,0,5,5,80,217,5,5,79,217,192,0,0,0,5,5,81,217,5,5,78,217,5,5,181,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,245,5,5,39,245,192,0,0,0,5,5,37,245,5,5,41,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,245,192,0,0,0,5,5,34,245,5,5,4,218,5,5,35,245,192,0,0,0,5,5,33,245,5,5,40,245,192,0,0,0,5,5,32,245,5,5,31,245,5,5,3,218,5,5,255,217,5,5,254,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,245,5,5,103,246,5,5,109,246,5,5,147,218,5,5,104,246,192,0,0,0,5,5,107,246,5,5,111,246,5,5,148,218,5,5,106,246,192,0,0,0,5,5,98,246,192,0,0,0,5,5,97,246,5,5,110,246,5,5,101,246,192,0,0,0,5,5,99,246,5,5,108,246,5,5,100,246,5,5,146,218,5,5,145,218,192,0,0,0,5,5,95,246,5,5,96,246,5,5,105,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,247,5,5,101,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,247,5,5,105,247,5,5,103,247,5,5,97,247,5,5,108,247,192,0,0,0,5,5,96,247,192,0,0,0,5,5,246,218,5,5,104,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,247,5,5,245,218,5,5,107,247,192,0,0,0,192,0,0,0,5,5,106,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,248,5,5,29,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,248,192,0,0,0,5,5,32,248,5,5,35,248,5,5,72,219,192,0,0,0,192,0,0,0,5,5,33,248,5,5,34,248,192,0,0,0,5,5,28,248,5,5,31,248,5,5,71,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,219,5,5,196,248,5,5,191,248,5,5,195,248,192,0,0,0,5,5,198,248,5,5,194,248,192,0,0,0,5,5,190,248,192,0,0,0,5,5,135,219,5,5,193,248,5,5,197,248,5,5,134,219,5,5,188,248,5,5,102,247,5,5,192,248,192,0,0,0,192,0,0,0,5,5,189,248,192,0,0,0,5,5,186,248,192,0,0,0,5,5,187,248,5,5,132,219,5,5,43,249,5,5,45,249,5,5,48,249,5,5,44,249,5,5,49,249,192,0,0,0,5,5,42,249,192,0,0,0,5,5,40,249,192,0,0,0,5,5,177,219,5,5,46,249,5,5,179,219,5,5,178,219,5,5,41,249,5,5,47,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,249,5,5,210,219,5,5,138,249,192,0,0,0,5,5,136,249,5,5,133,249,192,0,0,0,192,0,0,0,5,5,135,249,5,5,134,249,5,5,200,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,249,5,5,201,249,192,0,0,0,192,0,0,0,5,5,231,249,192,0,0,0,5,5,230,249,5,5,229,249,5,5,232,249,192,0,0,0,5,5,248,219,5,5,249,219,5,5,24,250,5,5,28,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,208,5,5,17,232,5,5,198,234,192,0,0,0,5,5,3,212,5,5,196,234,192,0,0,0,192,0,0,0,5,5,197,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,237,5,5,54,237,5,5,137,213,5,5,135,213,5,5,55,237,5,5,136,213,5,5,179,239,192,0,0,0,5,5,182,239,5,5,176,239,5,5,183,239,5,5,175,239,5,5,177,239,192,0,0,0,5,5,178,239,5,5,181,239,192,0,0,0,192,0,0,0,5,5,20,215,5,5,186,239,5,5,185,239,5,5,18,215,5,5,180,239,5,5,184,239,5,5,19,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,241,192,0,0,0,5,5,64,216,192,0,0,0,5,5,234,241,5,5,60,216,192,0,0,0,5,5,231,241,5,5,237,241,5,5,240,241,192,0,0,0,5,5,65,216,192,0,0,0,5,5,236,241,5,5,233,241,5,5,241,241,5,5,232,241,192,0,0,0,5,5,238,241,5,5,61,216,192,0,0,0,5,5,230,241,5,5,62,216,192,0,0,0,5,5,63,216,5,5,235,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,243,5,5,186,243,5,5,187,243,5,5,190,243,5,5,188,243,192,0,0,0,5,5,182,243,192,0,0,0,192,0,0,0,5,5,185,243,5,5,195,243,5,5,189,243,192,0,0,0,192,0,0,0,5,5,82,217,192,0,0,0,5,5,197,243,5,5,194,243,5,5,83,217,5,5,196,243,5,5,183,243,5,5,192,243,5,5,193,243,192,0,0,0,5,5,191,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,245,5,5,48,245,5,5,51,245,192,0,0,0,192,0,0,0,5,5,45,245,192,0,0,0,5,5,5,218,5,5,53,245,5,5,44,245,5,5,54,245,192,0,0,0,5,5,50,245,5,5,52,245,5,5,56,245,5,5,49,245,5,5,57,245,5,5,47,245,5,5,43,245,5,5,6,218,192,0,0,0,5,5,55,245,5,5,7,218,5,5,150,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,243,5,5,137,246,5,5,128,246,5,5,152,218,5,5,124,246,5,5,153,218,192,0,0,0,192,0,0,0,5,5,133,246,5,5,127,246,5,5,117,246,5,5,151,218,5,5,130,246,5,5,125,246,5,5,126,246,192,0,0,0,5,5,112,246,5,5,119,246,5,5,134,246,192,0,0,0,5,5,131,246,192,0,0,0,5,5,123,246,192,0,0,0,5,5,135,246,5,5,118,246,5,5,113,246,5,5,132,246,192,0,0,0,5,5,115,246,5,5,129,246,5,5,120,246,5,5,136,246,5,5,116,246,5,5,149,218,5,5,114,246,5,5,121,246,5,5,122,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,247,192,0,0,0,5,5,113,247,192,0,0,0,5,5,118,247,192,0,0,0,5,5,130,247,5,5,121,247,5,5,114,247,5,5,110,247,5,5,123,247,5,5,116,247,5,5,119,247,5,5,112,247,5,5,126,247,5,5,109,247,5,5,117,247,5,5,122,247,5,5,124,247,5,5,127,247,5,5,111,247,192,0,0,0,5,5,131,247,5,5,132,247,5,5,125,247,5,5,129,247,5,5,120,247,192,0,0,0,5,5,52,248,5,5,55,248,192,0,0,0,5,5,73,219,192,0,0,0,5,5,54,248,5,5,59,248,5,5,57,248,5,5,74,219,5,5,48,248,5,5,38,248,5,5,37,248,5,5,76,219,5,5,50,248,5,5,51,248,5,5,47,248,5,5,39,248,192,0,0,0,5,5,44,248,5,5,128,247,192,0,0,0,5,5,40,248,5,5,75,219,5,5,46,248,192,0,0,0,5,5,45,248,192,0,0,0,5,5,41,248,5,5,53,248,192,0,0,0,5,5,42,248,5,5,203,248,5,5,56,248,5,5,58,248,5,5,49,248,5,5,43,248,5,5,204,248,5,5,206,248,5,5,200,248,5,5,136,219,192,0,0,0,5,5,213,248,5,5,211,248,5,5,137,219,5,5,210,248,5,5,209,248,5,5,202,248,5,5,199,248,5,5,205,248,5,5,214,248,5,5,201,248,5,5,207,248,192,0,0,0,5,5,58,249,5,5,63,249,5,5,53,249,5,5,56,249,5,5,180,219,5,5,60,249,192,0,0,0,5,5,67,249,5,5,208,248,192,0,0,0,5,5,54,249,5,5,64,249,5,5,68,249,5,5,59,249,5,5,52,249,5,5,62,249,192,0,0,0,5,5,61,249,5,5,66,249,5,5,65,249,5,5,212,248,5,5,57,249,5,5,51,249,5,5,55,249,5,5,211,219,5,5,212,219,5,5,50,249,192,0,0,0,5,5,149,249,5,5,140,249,5,5,148,249,5,5,145,249,5,5,146,249,5,5,139,249,5,5,142,249,5,5,150,249,5,5,144,249,5,5,143,249,5,5,141,249,192,0,0,0,5,5,147,249,192,0,0,0,5,5,203,249,192,0,0,0,5,5,204,249,192,0,0,0,5,5,206,249,5,5,205,249,5,5,208,249,5,5,207,249,5,5,234,249,5,5,233,249,5,5,5,250,192,0,0,0,5,5,6,250,192,0,0,0,5,5,19,250,5,5,253,219,5,5,3,220,192,0,0,0,5,5,29,250,5,5,4,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,218,5,5,60,248,192,0,0,0,5,5,213,219,5,5,214,219,192,0,0,0,5,5,102,208,5,5,199,234,192,0,0,0,5,5,4,212,5,5,187,239,192,0,0,0,192,0,0,0,5,5,243,241,5,5,244,241,5,5,242,241,5,5,201,243,5,5,200,243,5,5,84,217,5,5,59,245,5,5,202,243,5,5,58,245,192,0,0,0,192,0,0,0,5,5,139,246,5,5,154,218,5,5,156,218,5,5,138,246,192,0,0,0,192,0,0,0,5,5,155,218,192,0,0,0,5,5,133,247,5,5,135,247,5,5,134,247,5,5,61,248,5,5,77,219,192,0,0,0,5,5,181,219,5,5,151,249,5,5,209,249,192,0,0,0,192,0,0,0,5,5,32,250,5,5,103,208,192,0,0,0,5,5,56,237,192,0,0,0,5,5,21,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,241,5,5,245,241,192,0,0,0,5,5,203,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,218,5,5,248,218,5,5,215,248,5,5,25,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,208,5,5,138,213,192,0,0,0,5,5,22,215,192,0,0,0,5,5,140,246,192,0,0,0,5,5,69,249,5,5,65,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,219,5,5,66,210,5,5,23,215,5,5,85,217,5,5,70,249,5,5,67,210,192,0,0,0,5,5,188,239,5,5,67,216,5,5,247,241,5,5,248,241,192,0,0,0,5,5,66,216,192,0,0,0,5,5,205,243,5,5,89,217,5,5,87,217,5,5,88,217,5,5,86,217,5,5,60,245,5,5,8,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,247,5,5,136,247,5,5,139,247,5,5,138,247,5,5,249,218,192,0,0,0,192,0,0,0,5,5,62,248,192,0,0,0,5,5,64,248,5,5,63,248,5,5,78,219,5,5,216,248,192,0,0,0,5,5,71,249,5,5,72,249,5,5,182,219,5,5,210,249,5,5,235,249,5,5,250,219,192,0,0,0,5,5,18,232,5,5,249,241,5,5,206,243,5,5,141,246,5,5,200,234,192,0,0,0,5,5,207,243,5,5,62,245,5,5,61,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,249,5,5,215,219,192,0,0,0,5,5,211,249,5,5,236,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,212,5,5,189,239,5,5,190,239,192,0,0,0,5,5,250,241,5,5,6,212,192,0,0,0,5,5,9,218,5,5,63,245,192,0,0,0,5,5,66,248,5,5,79,219,5,5,67,248,5,5,65,248,5,5,74,249,192,0,0,0,5,5,152,249,192,0,0,0,5,5,7,212,192,0,0,0,5,5,210,243,5,5,209,243,5,5,208,243,5,5,64,245,192,0,0,0,192,0,0,0,5,5,68,245,5,5,67,245,5,5,66,245,5,5,65,245,5,5,10,218,5,5,142,246,5,5,141,247,5,5,250,218,5,5,140,247,5,5,68,248,5,5,219,248,5,5,218,248,5,5,138,219,5,5,217,248,5,5,77,249,5,5,76,249,5,5,75,249,192,0,0,0,192,0,0,0,5,5,139,213,192,0,0,0,5,5,251,241,5,5,90,217,192,0,0,0,5,5,143,246,5,5,144,246,5,5,220,248,5,5,78,249,192,0,0,0,192,0,0,0,5,5,153,249,5,5,212,249,5,5,7,250,5,5,34,250,5,5,140,213,5,5,91,217,5,5,69,245,5,5,145,246,5,5,69,248,5,5,79,249,192,0,0,0,192,0,0,0,5,5,25,215,192,0,0,0,5,5,211,243,5,5,70,245,5,5,146,246,5,5,147,246,5,5,148,246,5,5,146,247,192,0,0,0,5,5,142,247,5,5,80,219,5,5,145,247,5,5,144,247,5,5,251,218,5,5,143,247,5,5,253,218,192,0,0,0,5,5,252,218,5,5,71,248,5,5,70,248,5,5,81,219,5,5,82,219,192,0,0,0,192,0,0,0,5,5,140,219,5,5,221,248,5,5,139,219,192,0,0,0,5,5,82,249,5,5,83,249,5,5,81,249,5,5,80,249,5,5,217,219,192,0,0,0,5,5,154,249,5,5,155,249,5,5,156,249,5,5,216,219,5,5,213,249,5,5,216,249,5,5,215,249,5,5,214,249,192,0,0,0,192,0,0,0,5,5,33,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,216,192,0,0,0,192,0,0,0,5,5,17,218,5,5,147,247,5,5,72,248,192,0,0,0,5,5,141,219,5,5,222,248,192,0,0,0,192,0,0,0,5,5,35,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,243,192,0,0,0,5,5,223,248,192,0,0,0,5,5,237,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,206,5,5,47,201,5,5,135,201,5,5,168,211,5,5,228,210,5,5,135,200,5,5,153,199,5,5,69,216,5,5,69,216,5,5,104,203,5,5,14,203,5,5,136,208,5,5,248,201,5,5,21,218,5,5,23,219,5,5,67,218,5,5,160,219,5,5,255,216,5,5,44,213,5,5,164,219,5,5,13,214,5,5,246,203,5,5,157,205,5,5,173,205,5,5,101,211,5,5,208,211,5,5,53,216,5,5,68,210,5,5,182,200,5,5,15,219,5,5,19,219,5,5,30,219,5,5,4,220,5,5,181,208,5,5,140,216,5,5,176,217,5,5,215,218,5,5,76,202,5,5,72,218,5,5,35,219,5,5,190,208,5,5,99,205,5,5,133,205,5,5,162,205,5,5,150,204,5,5,172,201,5,5,170,200,5,5,120,208,5,5,78,215,5,5,30,218,5,5,181,218,5,5,149,215,5,5,110,200,5,5,209,218,5,5,117,211,5,5,177,211,5,5,59,219,5,5,17,215,5,5,212,219,5,5,43,211,5,5,50,211,5,5,234,212,5,5,92,231,5,5,15,216,5,5,102,208,5,5,171,214,5,5,14,218,5,5,7,201,5,5,104,219,5,5,106,219,5,5,94,201,5,5,75,214,5,5,172,211,5,5,236,211,5,5,96,217,5,5,76,212,5,5,10,214,5,5,133,207,5,5,151,212,5,5,221,207,5,5,202,216,5,5,158,204,5,5,146,206,5,5,117,200,5,5,150,213,5,5,210,204,5,5,54,211,5,5,233,212,5,5,187,209,5,5,84,208,5,5,112,219,5,5,142,223,5,5,13,214,5,5,229,215,5,5,7,199,5,5,67,212,5,5,151,203,5,5,159,207,5,5,174,207,5,5,127,199,5,5,138,242,5,5,33,203,5,5,196,208,5,5,4,199,5,5,154,202,5,5,251,213,5,5,237,205,5,5,156,206,5,5,108,210,5,5,44,204,5,5,106,211,5,5,57,213,5,5,104,207,5,5,137,201,5,5,67,201,5,5,181,203,5,5,107,204,5,5,26,207,5,5,171,207,5,5,29,203,5,5,187,201,192,0,0,0,5,5,81,207,5,5,158,217,5,5,120,201,5,5,160,214,5,5,20,210,5,5,74,216,5,5,194,200,5,5,0,179,5,5,18,218,5,5,87,205,5,5,124,217,5,5,187,218,5,5,238,214,5,5,255,219,5,5,155,218,5,5,23,215,5,5,0,151,5,5,87,215,5,5,109,215,5,5,151,248,5,5,61,200,5,5,219,213,5,5,144,219,5,5,244,213,5,5,160,212,5,5,240,210,5,5,50,238,192,0,0,0,5,5,99,214,5,5,222,216,5,5,207,214,5,5,128,214,5,5,59,208,5,5,51,217,5,5,2,200,5,5,7,200,5,5,82,203,5,5,158,205,5,5,215,209,5,5,57,213,5,5,135,210,5,5,56,202,5,5,51,207,5,5,131,216,5,5,56,218,5,5,134,217,5,5,111,199,5,5,208,221,5,5,67,212,5,5,92,216,5,5,46,222,5,5,21,204,5,5,51,214,5,5,227,207,5,5,233,207,5,5,221,211,5,5,239,211,5,5,203,219,5,5,122,213,5,5,171,201,5,5,146,217,5,5,230,218,5,5,67,217,5,5,200,208,5,5,0,142,5,5,13,212,5,5,187,213,5,5,249,200,5,5,85,205,5,5,13,214,5,5,132,215,5,5,167,216,5,5,178,238,5,5,3,216,5,5,68,216,5,5,183,210,5,5,152,201,5,5,153,213,5,5,86,222,5,5,219,203,5,5,236,203,5,5,230,210,5,5,169,205,5,5,178,205,5,5,191,207,5,5,239,205,5,5,136,218,5,5,28,199,5,5,227,213,5,5,86,208,5,5,203,204,5,5,229,206,5,5,136,207,5,5,208,214,5,5,147,203,5,5,152,210,5,5,110,205,5,5,159,207,5,5,42,210,5,5,173,200,5,5,14,200,5,5,192,213,5,5,110,202,5,5,49,201,5,5,99,207,5,5,155,202,5,5,163,207,5,5,107,209,5,5,185,215,192,0,0,0,5,5,137,211,5,5,150,201,5,5,226,217,5,5,153,206,5,5,226,210,5,5,183,200,5,5,127,215,5,5,140,215,5,5,208,218,192,0,0,0,5,5,178,219,5,5,181,219,5,5,131,202,5,5,120,207,5,5,233,216,5,5,221,199,5,5,200,207,5,5,208,207,5,5,193,202,5,5,186,202,5,5,91,218,5,5,17,199,5,5,39,206,5,5,196,201,5,5,34,199,5,5,139,203,5,5,85,202,5,5,175,215,5,5,53,200,5,5,240,203,5,5,254,213,5,5,247,215,5,5,131,200,5,5,160,204,5,5,124,201,5,5,84,212,5,5,0,169,5,5,51,232,192,0,0,0,192,0,0,0,5,5,112,210,192,0,0,0,5,5,251,208,192,0,0,0,192,0,0,0,5,5,196,239,192,0,0,0,5,5,191,205,192,0,0,0,5,5,215,205,5,5,194,207,5,5,207,212,5,5,240,211,5,5,228,212,5,5,109,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,214,192,0,0,0,192,0,0,0,5,5,11,210,5,5,73,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,210,5,5,249,211,5,5,46,216,5,5,74,219,192,0,0,0,192,0,0,0,5,5,44,203,5,5,8,212,5,5,167,200,5,5,64,203,5,5,85,210,5,5,206,201,5,5,130,208,5,5,32,212,5,5,44,215,192,0,0,0,5,5,24,215,5,5,191,213,5,5,16,220,5,5,59,205,5,5,211,208,5,5,221,213,5,5,19,218,5,5,61,207,5,5,189,203,5,5,254,208,5,5,96,207,5,5,139,205,5,5,131,207,5,5,153,212,5,5,82,209,192,0,0,0,5,5,94,209,5,5,46,211,5,5,213,202,5,5,58,204,5,5,59,204,5,5,211,205,5,5,214,205,5,5,216,205,5,5,208,212,5,5,206,212,5,5,82,214,5,5,67,204,5,5,63,211,5,5,99,214,5,5,183,215,5,5,209,216,5,5,79,211,5,5,225,202,5,5,18,206,192,0,0,0,192,0,0,0,5,5,189,209,5,5,153,214,5,5,218,209,5,5,230,215,5,5,191,217,5,5,67,213,5,5,98,218,192,0,0,0,5,5,11,210,5,5,130,218,5,5,60,219,5,5,40,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,201,192,0,0,0,5,5,252,199,5,5,149,221,5,5,114,199,5,5,31,215,5,5,63,203,5,5,0,171,5,5,130,208,5,5,169,206,5,5,151,208,5,5,60,232,5,5,112,210,5,5,175,213,5,5,249,201,5,5,250,201,5,5,203,206,5,5,227,239,5,5,52,235,5,5,51,235,5,5,247,206,5,5,133,232,5,5,16,207,5,5,150,210,5,5,149,210,5,5,221,213,192,0,0,0,5,5,19,218,5,5,104,216,5,5,16,230,5,5,170,210,5,5,239,208,5,5,56,207,5,5,251,208,5,5,99,205,5,5,80,207,5,5,54,201,5,5,80,199,5,5,104,207,5,5,236,203,192,0,0,0,5,5,67,209,5,5,153,212,192,0,0,0,5,5,82,209,5,5,174,216,5,5,158,216,5,5,197,199,192,0,0,0,5,5,229,235,192,0,0,0,192,0,0,0,5,5,65,238,5,5,59,214,5,5,191,205,5,5,184,207,5,5,210,202,5,5,227,230,192,0,0,0,5,5,82,238,5,5,188,240,5,5,63,211,192,0,0,0,5,5,75,211,5,5,99,214,5,5,34,231,5,5,225,202,5,5,28,206,5,5,186,209,5,5,44,241,5,5,24,243,5,5,187,217,5,5,218,209,5,5,169,214,5,5,165,214,5,5,164,214,5,5,230,215,5,5,229,215,5,5,233,215,5,5,191,217,5,5,162,219,5,5,98,218,5,5,249,215,5,5,2,216,5,5,73,243,5,5,235,236,5,5,81,229,5,5,130,218,5,5,240,211,192,0,0,0,5,5,60,219,192,0,0,0,5,5,40,216,5,5,94,247,5,5,69,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,161,192,0,0,0,192,0,0,0,5,5,157,200,5,5,44,203,5,5,4,223,192,0,0,0,5,5,122,206,5,5,108,208,5,5,8,212,5,5,15,212,192,0,0,0,192,0,0,0,5,5,167,200,5,5,184,201,192,0,0,0,5,5,188,201,192,0,0,0,192,0,0,0,5,5,27,199,5,5,254,199,192,0,0,0,5,5,31,199,5,5,206,204,192,0,0,0,5,5,118,199,192,0,0,0,192,0,0,0,5,5,8,220,5,5,0,170,192,0,0,0,5,5,193,201,5,5,178,221,5,5,116,208,5,5,81,210,192,0,0,0,5,5,63,203,5,5,64,203,5,5,85,210,5,5,0,171,5,5,125,199,5,5,126,199,5,5,127,199,5,5,131,199,5,5,206,201,5,5,123,208,5,5,181,200,192,0,0,0,5,5,219,204,5,5,219,204,5,5,219,204,192,0,0,0,5,5,100,200,5,5,47,199,5,5,222,204,192,0,0,0,5,5,147,199,5,5,151,199,5,5,26,200,192,0,0,0,5,5,200,200,5,5,193,200,5,5,232,201,5,5,39,223,192,0,0,0,5,5,224,204,192,0,0,0,5,5,176,206,5,5,159,209,5,5,159,209,5,5,151,208,5,5,150,208,5,5,139,208,5,5,66,232,5,5,43,212,5,5,32,212,192,0,0,0,192,0,0,0,5,5,168,213,5,5,34,199,192,0,0,0,5,5,100,203,5,5,34,227,5,5,59,227,5,5,96,203,5,5,2,225,5,5,158,208,5,5,98,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,220,5,5,39,200,5,5,54,212,5,5,195,206,192,0,0,0,192,0,0,0,5,5,7,205,5,5,5,205,192,0,0,0,5,5,109,203,5,5,199,206,192,0,0,0,192,0,0,0,5,5,186,213,5,5,87,245,5,5,87,245,192,0,0,0,192,0,0,0,5,5,106,232,5,5,67,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,185,192,0,0,0,5,5,217,206,5,5,16,220,192,0,0,0,5,5,2,221,192,0,0,0,5,5,194,229,192,0,0,0,192,0,0,0,5,5,195,229,5,5,38,235,5,5,142,201,5,5,233,206,192,0,0,0,5,5,184,208,5,5,43,225,5,5,186,208,5,5,128,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,223,5,5,122,227,5,5,240,206,5,5,190,208,192,0,0,0,5,5,0,195,192,0,0,0,192,0,0,0,5,5,99,226,5,5,17,222,5,5,17,222,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,201,5,5,248,206,192,0,0,0,192,0,0,0,5,5,16,201,5,5,15,201,192,0,0,0,5,5,59,225,192,0,0,0,192,0,0,0,5,5,59,205,192,0,0,0,5,5,22,207,5,5,143,210,5,5,151,210,5,5,150,210,5,5,151,210,5,5,71,235,5,5,221,213,5,5,62,215,5,5,224,213,5,5,147,237,5,5,44,242,5,5,19,218,5,5,21,218,5,5,69,200,5,5,24,207,192,0,0,0,5,5,98,202,5,5,86,202,5,5,76,205,192,0,0,0,5,5,77,205,5,5,171,203,5,5,53,207,5,5,39,207,5,5,78,225,192,0,0,0,5,5,167,232,5,5,152,232,5,5,37,207,192,0,0,0,5,5,228,213,192,0,0,0,5,5,3,230,5,5,107,235,192,0,0,0,5,5,61,207,5,5,177,210,192,0,0,0,192,0,0,0,5,5,96,205,5,5,89,205,192,0,0,0,5,5,254,208,192,0,0,0,192,0,0,0,5,5,53,203,5,5,142,206,5,5,114,208,192,0,0,0,5,5,203,222,192,0,0,0,5,5,99,205,5,5,80,207,5,5,214,233,5,5,55,201,5,5,59,201,192,0,0,0,192,0,0,0,5,5,215,223,5,5,81,222,192,0,0,0,5,5,96,207,192,0,0,0,192,0,0,0,5,5,110,225,5,5,75,230,192,0,0,0,5,5,210,232,5,5,138,212,192,0,0,0,5,5,70,242,192,0,0,0,5,5,124,216,192,0,0,0,5,5,85,200,192,0,0,0,5,5,73,240,192,0,0,0,5,5,209,210,5,5,158,235,5,5,104,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,200,192,0,0,0,5,5,172,202,5,5,134,222,5,5,77,221,5,5,184,225,5,5,244,203,5,5,139,205,5,5,236,203,5,5,147,205,5,5,138,205,5,5,151,205,192,0,0,0,5,5,231,223,5,5,41,209,5,5,56,209,192,0,0,0,5,5,67,209,5,5,221,210,192,0,0,0,5,5,125,207,5,5,32,214,192,0,0,0,192,0,0,0,5,5,237,237,5,5,188,246,192,0,0,0,5,5,31,218,192,0,0,0,5,5,169,247,5,5,92,201,192,0,0,0,5,5,7,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,238,192,0,0,0,5,5,254,219,5,5,158,216,192,0,0,0,192,0,0,0,5,5,86,209,5,5,221,235,192,0,0,0,192,0,0,0,5,5,43,218,5,5,94,199,192,0,0,0,5,5,202,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,211,5,5,229,235,5,5,55,238,5,5,45,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,222,192,0,0,0,5,5,174,207,192,0,0,0,5,5,108,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,205,5,5,195,205,5,5,227,230,192,0,0,0,5,5,71,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,207,5,5,43,211,5,5,82,238,192,0,0,0,192,0,0,0,5,5,214,205,192,0,0,0,192,0,0,0,5,5,207,212,5,5,33,226,192,0,0,0,5,5,82,214,5,5,27,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,236,192,0,0,0,192,0,0,0,5,5,92,214,5,5,168,215,192,0,0,0,192,0,0,0,5,5,206,240,192,0,0,0,5,5,177,242,192,0,0,0,5,5,73,204,192,0,0,0,5,5,19,231,192,0,0,0,5,5,246,212,192,0,0,0,5,5,208,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,240,192,0,0,0,5,5,158,228,192,0,0,0,5,5,225,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,216,192,0,0,0,192,0,0,0,5,5,119,201,192,0,0,0,192,0,0,0,5,5,172,209,5,5,91,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,226,5,5,60,231,192,0,0,0,192,0,0,0,5,5,126,221,5,5,122,201,5,5,240,202,192,0,0,0,5,5,246,202,5,5,239,202,5,5,243,202,5,5,105,204,192,0,0,0,5,5,107,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,207,5,5,72,231,5,5,189,209,5,5,130,226,5,5,196,209,5,5,193,209,5,5,200,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,233,5,5,177,238,5,5,182,238,192,0,0,0,5,5,10,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,204,5,5,117,211,5,5,247,216,5,5,119,244,5,5,50,206,192,0,0,0,5,5,39,234,5,5,117,231,5,5,44,241,5,5,139,236,5,5,140,236,192,0,0,0,192,0,0,0,5,5,209,238,5,5,139,244,192,0,0,0,192,0,0,0,5,5,132,200,192,0,0,0,5,5,135,231,5,5,49,234,192,0,0,0,5,5,173,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,211,5,5,233,215,5,5,162,219,5,5,129,201,192,0,0,0,5,5,45,208,5,5,239,209,5,5,199,219,5,5,76,206,192,0,0,0,192,0,0,0,5,5,252,209,5,5,33,229,5,5,98,234,192,0,0,0,5,5,79,206,5,5,249,215,192,0,0,0,192,0,0,0,5,5,183,220,5,5,173,224,5,5,128,234,192,0,0,0,5,5,228,236,5,5,213,211,5,5,90,239,5,5,88,239,5,5,104,213,5,5,32,246,5,5,37,247,192,0,0,0,5,5,32,210,192,0,0,0,5,5,116,243,192,0,0,0,192,0,0,0,5,5,8,232,5,5,241,239,5,5,242,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,239,192,0,0,0,5,5,114,206,192,0,0,0,5,5,196,241,5,5,75,246,5,5,42,237,5,5,161,243,192,0,0,0,192,0,0,0,5,5,94,247,5,5,102,247,5,5,177,239,192,0,0,0,192,0,0,0,5,5,184,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,208,192,0,0,0,5,5,18,232,192,0,0,0,192,0,0,0,5,5,189,239,5,5,63,245,5,5,139,213,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,170,170,3,0,68,0,51,0,60,0,27,206,0,16,140,28,0,96,1,0,0,96,170,170,170,170,170,170,170,170,166,114,1,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,92,83,1,0,92,83,1,0,60,91,1,0,60,91,1,0,248,95,1,0,248,95,1,0,90,110,1,0,90,110,1,0,138,114,1,0,25,0,0,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,254,255,50,105,114,84,1,0,0,9,0,20,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,176,0,184,0,189,0,48,0,197,0,205,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,229,0,237,0,245,0,253,0,5,1,13,1,21,1,29,1,37,1,45,1,53,1,61,1,69,1,77,1,85,1,93,1,101,1,109,1,117,1,125,1,133,1,140,1,147,1,154,1,162,1,170,1,178,1,186,1,194,1,202,1,210,1,218,1,226,1,234,1,242,1,250,1,2,2,10,2,18,2,26,2,34,2,42,2,50,2,58,2,66,2,74,2,82,2,90,2,98,2,106,2,114,2,122,2,130,2,138,2,146,2,154,2,162,2,170,2,178,2,186,2,194,2,202,2,210,2,218,2,226,2,234,2,242,2,250,2,2,3,10,3,18,3,26,3,34,3,42,3,50,3,58,3,66,3,74,3,82,3,90,3,98,3,105,3,113,3,121,3,129,3,137,3,144,3,152,3,160,3,168,3,176,3,184,3,192,3,200,3,208,3,216,3,224,3,232,3,240,3,248,3,255,3,7,4,15,4,21,4,27,4,35,4,43,4,51,4,59,4,67,4,75,4,83,4,91,4,99,4,107,4,115,4,123,4,131,4,139,4,147,4,155,4,163,4,171,4,179,4,187,4,194,4,202,4,210,4,218,4,226,4,234,4,242,4,250,4,2,5,9,5,17,5,25,5,33,5,41,5,49,5,57,5,65,5,73,5,81,5,89,5,97,5,105,5,113,5,121,5,129,5,137,5,145,5,153,5,161,5,169,5,175,5,183,5,191,5,198,5,206,5,214,5,222,5,230,5,238,5,246,5,254,5,6,6,14,6,22,6,30,6,38,6,46,6,54,6,62,6,70,6,78,6,86,6,94,6,102,6,110,6,118,6,126,6,134,6,142,6,149,6,157,6,165,6,172,6,180,6,188,6,196,6,204,6,212,6,220,6,228,6,236,6,244,6,252,6,4,7,12,7,20,7,28,7,36,7,44,7,52,7,60,7,68,7,76,7,84,7,92,7,100,7,108,7,116,7,124,7,132,7,140,7,148,7,156,7,164,7,172,7,180,7,188,7,196,7,204,7,212,7,220,7,228,7,236,7,244,7,48,0,48,0,48,0,252,7,4,8,12,8,20,8,28,8,36,8,44,8,52,8,60,8,68,8,76,8,84,8,92,8,100,8,108,8,116,8,124,8,132,8,140,8,148,8,156,8,164,8,172,8,180,8,188,8,196,8,204,8,212,8,220,8,228,8,236,8,244,8,252,8,4,9,12,9,20,9,28,9,36,9,44,9,48,9,56,9,63,9,71,9,79,9,87,9,95,9,103,9,111,9,118,9,125,9,133,9,141,9,149,9,157,9,165,9,172,9,180,9,188,9,196,9,204,9,212,9,220,9,228,9,236,9,244,9,252,9,4,10,12,10,20,10,28,10,36,10,44,10,52,10,60,10,68,10,76,10,84,10,91,10,99,10,107,10,115,10,123,10,131,10,139,10,147,10,155,10,163,10,171,10,179,10,187,10,195,10,203,10,211,10,219,10,227,10,235,10,243,10,251,10,3,11,11,11,19,11,27,11,35,11,43,11,51,11,59,11,67,11,75,11,83,11,91,11,98,11,106,11,114,11,122,11,130,11,138,11,145,11,153,11,161,11,169,11,177,11,185,11,191,11,199,11,207,11,215,11,223,11,231,11,239,11,247,11,255,11,7,12,15,12,23,12,31,12,39,12,47,12,55,12,59,12,67,12,75,12,83,12,91,12,98,12,106,12,48,0,111,12,48,0,118,12,48,0,48,0,48,0,122,12,130,12,48,0,138,12,146,12,154,12,162,12,170,12,178,12,186,12,194,12,202,12,210,12,218,12,226,12,234,12,242,12,250,12,1,13,9,13,17,13,25,13,33,13,41,13,49,13,57,13,65,13,73,13,81,13,89,13,97,13,105,13,113,13,121,13,129,13,137,13,145,13,153,13,161,13,169,13,177,13,185,13,193,13,201,13,209,13,217,13,225,13,233,13,241,13,249,13,1,14,9,14,17,14,25,14,33,14,41,14,49,14,57,14,65,14,73,14,81,14,89,14,97,14,105,14,112,14,120,14,128,14,136,14,144,14,152,14,160,14,168,14,176,14,184,14,192,14,200,14,208,14,216,14,224,14,232,14,240,14,248,14,0,15,8,15,16,15,24,15,32,15,40,15,48,15,56,15,64,15,72,15,48,0,80,15,88,15,96,15,98,15,106,15,109,15,116,15,48,0,48,0,48,0,123,15,130,15,48,0,137,15,48,0,145,15,153,15,161,15,169,15,177,15,185,15,193,15,201,15,48,0,48,0,48,0,208,15,216,15,224,15,232,15,240,15,248,15,0,16,8,16,16,16,24,16,32,16,39,16,47,16,55,16,62,16,48,0,48,0,48,0,48,0,69,16,77,16,85,16,93,16,101,16,109,16,117,16,125,16,133,16,141,16,149,16,157,16,165,16,173,16,181,16,189,16,197,16,205,16,213,16,220,16,48,0,48,0,48,0,48,0,228,16,234,16,239,16,245,16,48,0,48,0,248,16,48,0,0,17,5,17,48,0,11,17,48,0,48,0,17,17,48,0,25,17,32,17,40,17,48,17,56,17,64,17,72,17,80,17,88,17,48,0,48,0,48,0,96,17,104,17,112,17,120,17,128,17,135,17,143,17,151,17,159,17,167,17,175,17,183,17,191,17,199,17,207,17,48,0,214,17,48,0,48,0,48,0,220,17,228,17,236,17,241,17,249,17,254,17,3,18,7,18,15,18,23,18,30,18,48,0,48,0,48,0,48,0,48,0,35,18,43,18,51,18,59,18,67,18,75,18,83,18,91,18,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,97,18,105,18,113,18,121,18,129,18,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,130,18,138,18,146,18,154,18,162,18,170,18,178,18,186,18,194,18,202,18,210,18,215,18,223,18,231,18,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,161,0,48,0,48,0,153,0,153,0,240,19,247,19,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,239,18,247,18,255,18,7,19,15,19,23,19,31,19,39,19,47,19,55,19,63,19,71,19,79,19,87,19,93,19,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,192,8,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,98,19,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,106,19,114,19,122,19,130,19,138,19,146,19,154,19,162,19,170,19,178,19,186,19,194,19,202,19,210,19,217,19,48,0,224,19,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,36,0,202,193,36,0,202,226,36,0,202,3,37,0,202,36,37,0,202,69,37,0,202,102,37,0,202,135,37,0,202,168,37,0,202,201,37,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,35,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,34,36,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,36,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,236,5,5,215,225,192,0,0,0,5,5,3,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,234,5,5,121,237,5,5,221,232,5,5,15,233,5,5,58,235,5,5,110,238,5,5,119,224,5,5,221,236,192,0,0,0,5,5,112,238,5,5,15,225,192,0,0,0,5,5,22,238,5,5,84,232,5,5,115,238,5,5,94,233,192,0,0,0,5,5,114,232,5,5,89,224,5,5,73,236,5,5,78,225,5,5,225,225,5,5,187,233,5,5,117,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,225,192,0,0,0,5,5,7,230,5,5,5,236,192,0,0,0,5,5,227,232,5,5,121,238,192,0,0,0,5,5,234,226,5,5,242,235,5,5,186,242,5,5,222,237,192,0,0,0,192,0,0,0,5,5,119,226,192,0,0,0,5,5,40,225,192,0,0,0,5,5,35,230,192,0,0,0,5,5,136,238,192,0,0,0,5,5,162,234,5,5,124,225,5,5,194,234,5,5,7,238,192,0,0,0,5,5,224,229,5,5,7,229,5,5,123,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,231,192,0,0,0,5,5,239,228,192,0,0,0,5,5,125,238,5,5,186,230,5,5,121,236,192,0,0,0,5,5,188,237,5,5,242,234,5,5,87,237,5,5,167,227,5,5,60,226,5,5,192,229,192,0,0,0,5,5,219,231,5,5,150,231,5,5,73,232,192,0,0,0,5,5,40,227,192,0,0,0,5,5,229,224,5,5,102,236,192,0,0,0,192,0,0,0,5,5,139,238,5,5,241,228,5,5,22,232,5,5,70,236,5,5,40,235,5,5,95,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,233,192,0,0,0,192,0,0,0,5,5,140,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,230,5,5,122,230,192,0,0,0,5,5,201,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,230,192,0,0,0,5,5,218,236,5,5,169,237,192,0,0,0,5,5,96,233,5,5,54,226,5,5,109,238,5,5,204,236,5,5,131,229,192,0,0,0,5,5,24,237,5,5,181,227,5,5,141,238,5,5,253,234,5,5,218,228,192,0,0,0,192,0,0,0,5,5,116,238,192,0,0,0,5,5,251,235,5,5,127,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,238,5,5,27,239,5,5,176,234,5,5,70,229,192,0,0,0,5,5,137,228,5,5,87,227,5,5,116,236,5,5,182,224,5,5,146,227,5,5,28,231,192,0,0,0,5,5,101,235,5,5,213,228,5,5,94,234,5,5,11,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,232,5,5,29,239,192,0,0,0,5,5,32,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,232,5,5,181,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,236,5,5,80,233,5,5,170,232,5,5,184,238,5,5,182,238,5,5,146,238,5,5,196,228,5,5,239,231,5,5,12,225,192,0,0,0,5,5,183,238,5,5,191,228,5,5,183,228,192,0,0,0,5,5,180,232,5,5,77,225,192,0,0,0,192,0,0,0,5,5,128,230,192,0,0,0,5,5,146,224,5,5,62,238,5,5,105,233,5,5,247,233,5,5,124,237,5,5,170,226,5,5,65,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,239,5,5,188,238,5,5,44,232,192,0,0,0,5,5,186,238,192,0,0,0,5,5,116,225,5,5,56,230,5,5,104,236,192,0,0,0,192,0,0,0,5,5,185,238,192,0,0,0,5,5,91,236,5,5,187,238,5,5,205,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,236,192,0,0,0,5,5,231,237,5,5,190,238,192,0,0,0,5,5,193,238,5,5,110,228,5,5,75,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,232,192,0,0,0,5,5,115,226,192,0,0,0,5,5,88,226,192,0,0,0,5,5,23,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,238,5,5,85,236,192,0,0,0,192,0,0,0,5,5,3,235,5,5,47,228,5,5,146,226,5,5,59,226,5,5,179,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,237,5,5,183,236,5,5,255,227,5,5,241,227,5,5,189,238,192,0,0,0,192,0,0,0,5,5,223,232,5,5,200,234,5,5,37,225,192,0,0,0,5,5,191,238,192,0,0,0,5,5,11,233,5,5,194,238,5,5,127,230,5,5,195,238,192,0,0,0,192,0,0,0,5,5,201,234,5,5,197,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,224,5,5,20,227,192,0,0,0,5,5,205,238,192,0,0,0,5,5,0,199,192,0,0,0,5,5,48,230,192,0,0,0,5,5,44,233,192,0,0,0,5,5,193,233,192,0,0,0,5,5,194,233,5,5,206,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,225,192,0,0,0,192,0,0,0,5,5,131,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,234,5,5,165,225,5,5,15,238,5,5,98,238,5,5,197,236,192,0,0,0,5,5,65,234,192,0,0,0,5,5,128,227,192,0,0,0,5,5,204,238,5,5,8,239,5,5,210,236,5,5,201,238,5,5,134,226,5,5,101,238,5,5,202,238,5,5,198,238,5,5,203,238,5,5,73,231,192,0,0,0,192,0,0,0,5,5,168,236,5,5,192,238,5,5,9,239,192,0,0,0,5,5,199,238,192,0,0,0,5,5,169,231,192,0,0,0,192,0,0,0,5,5,186,229,192,0,0,0,192,0,0,0,5,5,38,236,5,5,0,185,192,0,0,0,192,0,0,0,5,5,65,228,5,5,208,238,192,0,0,0,5,5,207,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,238,5,5,216,238,192,0,0,0,5,5,213,238,5,5,87,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,238,5,5,196,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,224,5,5,210,238,192,0,0,0,5,5,231,229,192,0,0,0,5,5,106,233,192,0,0,0,5,5,212,238,192,0,0,0,5,5,209,238,192,0,0,0,192,0,0,0,5,5,218,238,192,0,0,0,192,0,0,0,5,5,231,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,226,192,0,0,0,5,5,84,236,192,0,0,0,192,0,0,0,5,5,56,235,192,0,0,0,192,0,0,0,5,5,106,230,192,0,0,0,5,5,146,228,5,5,156,237,5,5,156,224,5,5,74,232,5,5,119,229,5,5,215,238,192,0,0,0,5,5,217,238,192,0,0,0,5,5,4,235,5,5,160,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,225,5,5,37,226,5,5,222,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,239,5,5,80,232,5,5,232,229,5,5,226,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,233,5,5,147,226,192,0,0,0,5,5,223,238,192,0,0,0,5,5,225,238,5,5,0,223,5,5,211,236,5,5,227,238,192,0,0,0,5,5,155,235,192,0,0,0,5,5,224,238,192,0,0,0,192,0,0,0,5,5,219,238,192,0,0,0,5,5,220,238,5,5,241,229,5,5,221,238,192,0,0,0,192,0,0,0,5,5,99,228,5,5,180,235,5,5,157,226,192,0,0,0,5,5,17,229,192,0,0,0,5,5,231,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,238,192,0,0,0,5,5,0,145,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,238,5,5,20,224,192,0,0,0,5,5,233,238,192,0,0,0,192,0,0,0,5,5,145,225,192,0,0,0,5,5,33,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,234,5,5,164,227,5,5,100,236,192,0,0,0,5,5,237,238,192,0,0,0,192,0,0,0,5,5,182,228,192,0,0,0,5,5,197,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,238,5,5,25,229,192,0,0,0,5,5,240,238,5,5,229,238,5,5,69,231,192,0,0,0,5,5,232,238,5,5,235,238,5,5,234,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,237,192,0,0,0,5,5,195,237,192,0,0,0,5,5,101,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,228,5,5,244,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,238,192,0,0,0,5,5,245,238,5,5,205,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,238,192,0,0,0,5,5,93,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,231,5,5,111,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,238,192,0,0,0,192,0,0,0,5,5,241,238,5,5,191,224,5,5,138,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,226,192,0,0,0,192,0,0,0,5,5,230,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,225,192,0,0,0,5,5,248,238,192,0,0,0,5,5,249,238,5,5,28,225,5,5,250,238,192,0,0,0,192,0,0,0,5,5,89,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,238,5,5,243,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,239,5,5,236,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,238,5,5,254,238,5,5,3,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,233,192,0,0,0,5,5,119,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,238,5,5,4,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,226,5,5,111,238,5,5,28,237,192,0,0,0,5,5,250,236,5,5,172,235,5,5,254,224,5,5,135,237,192,0,0,0,5,5,64,235,5,5,54,227,192,0,0,0,5,5,87,229,192,0,0,0,5,5,232,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,226,192,0,0,0,192,0,0,0,5,5,125,234,5,5,26,239,5,5,28,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,225,192,0,0,0,5,5,235,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,228,192,0,0,0,192,0,0,0,5,5,203,232,192,0,0,0,192,0,0,0,5,5,139,232,192,0,0,0,192,0,0,0,5,5,0,169,5,5,253,226,5,5,67,230,5,5,14,239,192,0,0,0,5,5,166,229,5,5,6,227,192,0,0,0,5,5,44,227,5,5,161,235,5,5,86,224,5,5,8,232,5,5,13,229,5,5,188,225,5,5,54,238,192,0,0,0,5,5,46,236,5,5,86,228,5,5,124,233,192,0,0,0,192,0,0,0,5,5,45,228,5,5,18,239,5,5,179,238,192,0,0,0,192,0,0,0,5,5,64,231,192,0,0,0,192,0,0,0,5,5,200,226,5,5,157,232,192,0,0,0,192,0,0,0,5,5,157,224,5,5,43,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,230,192,0,0,0,192,0,0,0,5,5,231,230,5,5,44,239,5,5,191,232,192,0,0,0,5,5,138,235,192,0,0,0,5,5,42,229,5,5,109,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,227,192,0,0,0,5,5,45,239,192,0,0,0,5,5,249,236,5,5,46,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,239,5,5,226,225,192,0,0,0,192,0,0,0,5,5,129,226,5,5,87,224,5,5,40,239,5,5,255,224,5,5,36,229,192,0,0,0,5,5,130,229,5,5,69,236,5,5,206,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,225,5,5,42,239,5,5,41,239,192,0,0,0,192,0,0,0,5,5,231,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,232,192,0,0,0,5,5,42,238,5,5,43,239,192,0,0,0,5,5,3,230,192,0,0,0,5,5,202,225,5,5,50,230,192,0,0,0,192,0,0,0,5,5,101,228,192,0,0,0,5,5,79,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,230,192,0,0,0,5,5,99,231,192,0,0,0,192,0,0,0,5,5,40,228,5,5,72,226,192,0,0,0,192,0,0,0,5,5,133,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,239,192,0,0,0,5,5,224,231,192,0,0,0,5,5,57,229,5,5,219,227,192,0,0,0,192,0,0,0,5,5,162,225,192,0,0,0,5,5,177,239,5,5,173,235,192,0,0,0,5,5,115,234,5,5,0,154,5,5,18,225,5,5,9,228,5,5,178,239,5,5,97,227,192,0,0,0,5,5,54,237,5,5,142,225,5,5,203,225,5,5,162,238,5,5,176,232,192,0,0,0,192,0,0,0,5,5,108,226,5,5,82,232,5,5,163,238,192,0,0,0,5,5,59,229,192,0,0,0,192,0,0,0,5,5,163,239,5,5,164,238,192,0,0,0,192,0,0,0,5,5,162,235,5,5,190,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,245,5,5,26,230,5,5,63,230,5,5,68,237,5,5,201,226,5,5,46,225,192,0,0,0,5,5,17,225,192,0,0,0,192,0,0,0,5,5,252,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,231,5,5,229,229,192,0,0,0,5,5,78,224,192,0,0,0,5,5,165,238,5,5,34,227,192,0,0,0,5,5,149,225,192,0,0,0,192,0,0,0,5,5,166,238,192,0,0,0,192,0,0,0,5,5,212,237,5,5,158,233,5,5,143,232,5,5,240,232,5,5,70,225,5,5,88,229,192,0,0,0,5,5,72,227,192,0,0,0,5,5,167,238,5,5,168,238,5,5,31,226,5,5,49,228,5,5,70,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,235,192,0,0,0,5,5,169,238,5,5,50,232,192,0,0,0,192,0,0,0,5,5,36,227,5,5,113,228,192,0,0,0,192,0,0,0,5,5,58,234,192,0,0,0,5,5,236,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,238,192,0,0,0,5,5,170,238,192,0,0,0,192,0,0,0,5,5,171,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,220,192,0,0,0,5,5,21,229,192,0,0,0,5,5,65,233,5,5,100,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,226,192,0,0,0,192,0,0,0,5,5,226,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,238,192,0,0,0,5,5,153,228,192,0,0,0,5,5,176,238,5,5,175,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,238,192,0,0,0,192,0,0,0,5,5,178,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,229,192,0,0,0,5,5,144,232,5,5,0,202,5,5,248,226,5,5,67,228,5,5,11,235,5,5,165,239,5,5,29,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,225,5,5,10,238,5,5,112,231,5,5,167,228,5,5,166,239,5,5,167,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,229,5,5,206,228,5,5,183,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,239,5,5,100,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,236,192,0,0,0,5,5,233,230,192,0,0,0,5,5,223,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,239,192,0,0,0,5,5,191,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,239,192,0,0,0,5,5,61,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,239,5,5,23,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,227,5,5,10,235,5,5,26,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,218,5,5,76,225,192,0,0,0,5,5,175,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,239,192,0,0,0,5,5,207,240,5,5,23,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,238,5,5,191,227,5,5,15,224,192,0,0,0,5,5,241,224,5,5,154,238,192,0,0,0,192,0,0,0,5,5,35,237,192,0,0,0,192,0,0,0,5,5,129,228,5,5,123,229,192,0,0,0,5,5,51,235,192,0,0,0,192,0,0,0,5,5,156,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,231,5,5,122,232,5,5,81,236,192,0,0,0,192,0,0,0,5,5,158,238,5,5,74,231,192,0,0,0,5,5,76,233,192,0,0,0,5,5,41,232,192,0,0,0,5,5,114,238,192,0,0,0,5,5,61,233,5,5,255,234,5,5,236,227,5,5,0,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,227,5,5,131,235,192,0,0,0,5,5,14,224,5,5,82,238,5,5,45,238,192,0,0,0,5,5,125,225,5,5,156,230,5,5,53,231,192,0,0,0,192,0,0,0,5,5,101,224,192,0,0,0,5,5,115,224,192,0,0,0,5,5,67,224,5,5,22,241,5,5,108,237,5,5,52,229,5,5,84,230,5,5,161,238,5,5,89,230,192,0,0,0,5,5,160,238,5,5,236,234,192,0,0,0,5,5,106,239,192,0,0,0,5,5,216,234,192,0,0,0,192,0,0,0,5,5,128,238,5,5,180,230,5,5,147,236,5,5,187,234,192,0,0,0,5,5,36,228,5,5,148,232,5,5,121,230,192,0,0,0,5,5,27,229,5,5,140,235,192,0,0,0,5,5,107,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,232,192,0,0,0,192,0,0,0,5,5,193,224,192,0,0,0,5,5,42,226,5,5,88,234,5,5,228,229,192,0,0,0,192,0,0,0,5,5,225,229,192,0,0,0,5,5,237,235,5,5,23,236,5,5,147,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,224,192,0,0,0,192,0,0,0,5,5,207,229,192,0,0,0,5,5,163,227,192,0,0,0,192,0,0,0,5,5,148,238,192,0,0,0,5,5,253,236,192,0,0,0,192,0,0,0,5,5,89,235,5,5,149,238,192,0,0,0,5,5,150,238,5,5,59,235,192,0,0,0,5,5,20,225,5,5,243,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,235,192,0,0,0,5,5,222,232,5,5,138,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,236,5,5,162,224,5,5,32,228,5,5,195,236,5,5,167,233,5,5,74,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,226,192,0,0,0,192,0,0,0,5,5,131,233,192,0,0,0,5,5,129,232,5,5,122,233,5,5,66,224,5,5,198,235,192,0,0,0,5,5,149,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,239,5,5,214,225,192,0,0,0,192,0,0,0,5,5,102,229,5,5,25,227,5,5,18,229,5,5,55,230,192,0,0,0,5,5,26,241,5,5,25,241,5,5,201,237,5,5,158,228,5,5,137,237,5,5,0,166,5,5,217,225,5,5,85,229,5,5,4,234,5,5,23,241,5,5,85,233,5,5,196,236,192,0,0,0,5,5,155,238,5,5,74,236,5,5,119,227,5,5,186,233,5,5,26,234,192,0,0,0,5,5,27,241,5,5,200,225,5,5,24,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,236,192,0,0,0,5,5,238,224,5,5,235,226,192,0,0,0,5,5,30,241,192,0,0,0,5,5,129,227,5,5,26,228,5,5,205,225,192,0,0,0,5,5,102,234,5,5,3,231,5,5,165,227,5,5,222,229,5,5,124,234,5,5,106,235,5,5,28,241,5,5,61,235,192,0,0,0,5,5,104,230,5,5,29,241,5,5,152,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,229,192,0,0,0,5,5,41,230,5,5,134,234,5,5,139,236,5,5,99,226,5,5,37,241,192,0,0,0,5,5,40,241,192,0,0,0,192,0,0,0,5,5,135,226,5,5,0,167,5,5,14,226,5,5,106,226,192,0,0,0,5,5,94,227,5,5,89,234,5,5,96,229,5,5,173,233,5,5,24,232,192,0,0,0,5,5,182,237,5,5,41,241,192,0,0,0,5,5,250,234,5,5,205,224,192,0,0,0,192,0,0,0,5,5,22,235,5,5,47,225,192,0,0,0,5,5,223,234,5,5,162,227,192,0,0,0,5,5,249,234,192,0,0,0,5,5,241,235,192,0,0,0,192,0,0,0,5,5,36,241,192,0,0,0,192,0,0,0,5,5,110,225,192,0,0,0,5,5,228,224,192,0,0,0,5,5,218,226,5,5,31,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,231,192,0,0,0,5,5,32,241,5,5,33,241,5,5,34,241,5,5,127,231,5,5,35,241,5,5,38,241,5,5,3,237,5,5,39,241,192,0,0,0,5,5,60,232,5,5,240,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,231,192,0,0,0,5,5,46,241,192,0,0,0,5,5,51,241,192,0,0,0,5,5,234,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,241,5,5,62,241,5,5,206,234,192,0,0,0,5,5,121,227,5,5,50,241,5,5,44,241,5,5,162,231,192,0,0,0,192,0,0,0,5,5,43,233,5,5,166,227,5,5,4,231,192,0,0,0,192,0,0,0,5,5,5,229,192,0,0,0,5,5,42,241,192,0,0,0,5,5,49,241,192,0,0,0,5,5,156,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,237,5,5,127,227,192,0,0,0,5,5,248,228,5,5,175,236,5,5,180,226,192,0,0,0,5,5,242,237,192,0,0,0,5,5,43,241,5,5,18,227,5,5,51,229,192,0,0,0,192,0,0,0,5,5,70,230,5,5,47,241,5,5,48,241,192,0,0,0,5,5,52,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,241,5,5,73,241,192,0,0,0,5,5,59,241,5,5,58,241,5,5,55,238,5,5,71,241,5,5,72,241,5,5,135,243,5,5,59,236,5,5,54,241,192,0,0,0,5,5,53,229,192,0,0,0,5,5,45,237,192,0,0,0,5,5,84,229,5,5,56,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,235,192,0,0,0,192,0,0,0,5,5,65,241,192,0,0,0,5,5,254,235,192,0,0,0,5,5,66,241,5,5,0,133,5,5,217,231,5,5,55,241,192,0,0,0,5,5,151,227,192,0,0,0,5,5,23,226,5,5,149,234,5,5,82,227,5,5,39,237,192,0,0,0,192,0,0,0,5,5,67,241,5,5,100,235,5,5,0,131,5,5,75,241,5,5,53,241,5,5,250,235,5,5,57,241,5,5,60,241,5,5,61,241,5,5,64,241,192,0,0,0,5,5,185,227,192,0,0,0,5,5,68,241,5,5,69,241,192,0,0,0,5,5,70,241,5,5,74,241,5,5,76,241,5,5,166,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,226,5,5,122,231,5,5,78,241,5,5,26,233,5,5,240,229,5,5,42,231,192,0,0,0,192,0,0,0,5,5,106,229,5,5,112,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,237,5,5,82,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,224,192,0,0,0,5,5,145,227,5,5,80,241,192,0,0,0,5,5,169,239,192,0,0,0,5,5,26,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,233,5,5,55,225,192,0,0,0,5,5,0,132,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,241,5,5,34,234,5,5,86,241,192,0,0,0,192,0,0,0,5,5,81,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,241,192,0,0,0,5,5,83,241,5,5,84,241,5,5,205,227,192,0,0,0,192,0,0,0,5,5,87,241,192,0,0,0,192,0,0,0,5,5,88,241,192,0,0,0,5,5,179,227,192,0,0,0,5,5,121,233,5,5,192,234,5,5,105,241,5,5,196,224,192,0,0,0,5,5,104,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,241,192,0,0,0,5,5,147,234,5,5,96,241,192,0,0,0,5,5,94,241,192,0,0,0,5,5,92,229,5,5,50,238,192,0,0,0,5,5,12,233,192,0,0,0,192,0,0,0,5,5,92,241,5,5,0,127,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,241,5,5,100,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,226,192,0,0,0,192,0,0,0,5,5,195,231,5,5,244,232,5,5,156,229,5,5,89,241,192,0,0,0,192,0,0,0,5,5,130,231,192,0,0,0,5,5,144,238,5,5,93,241,5,5,92,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,241,5,5,102,241,5,5,103,241,5,5,123,235,192,0,0,0,192,0,0,0,5,5,118,241,5,5,64,234,192,0,0,0,5,5,115,241,192,0,0,0,5,5,50,229,5,5,113,241,5,5,209,234,5,5,109,241,5,5,6,233,192,0,0,0,192,0,0,0,5,5,152,229,5,5,112,241,5,5,159,227,5,5,98,227,5,5,107,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,241,192,0,0,0,5,5,117,241,192,0,0,0,192,0,0,0,5,5,122,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,225,5,5,123,241,192,0,0,0,192,0,0,0,5,5,42,235,5,5,122,227,192,0,0,0,5,5,114,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,241,192,0,0,0,5,5,77,237,192,0,0,0,5,5,91,241,192,0,0,0,5,5,171,231,192,0,0,0,5,5,111,241,192,0,0,0,5,5,233,236,192,0,0,0,5,5,120,241,5,5,121,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,241,5,5,183,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,241,192,0,0,0,192,0,0,0,5,5,139,241,5,5,140,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,241,5,5,108,241,5,5,226,232,5,5,131,241,192,0,0,0,5,5,116,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,233,5,5,133,241,192,0,0,0,5,5,119,241,192,0,0,0,5,5,227,234,192,0,0,0,5,5,191,233,5,5,143,241,5,5,136,241,5,5,132,241,192,0,0,0,5,5,141,241,192,0,0,0,5,5,124,241,5,5,129,241,5,5,130,241,192,0,0,0,192,0,0,0,5,5,135,241,192,0,0,0,192,0,0,0,5,5,137,241,5,5,138,241,192,0,0,0,5,5,142,241,192,0,0,0,5,5,125,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,233,5,5,151,241,192,0,0,0,5,5,152,241,5,5,148,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,241,5,5,62,228,192,0,0,0,192,0,0,0,5,5,147,241,192,0,0,0,5,5,182,226,5,5,145,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,235,192,0,0,0,192,0,0,0,5,5,151,230,192,0,0,0,192,0,0,0,5,5,145,241,5,5,127,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,241,5,5,149,241,192,0,0,0,192,0,0,0,5,5,153,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,241,5,5,154,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,238,5,5,202,224,192,0,0,0,5,5,90,238,192,0,0,0,5,5,183,233,192,0,0,0,192,0,0,0,5,5,156,241,192,0,0,0,5,5,21,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,241,5,5,159,241,5,5,65,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,241,192,0,0,0,192,0,0,0,5,5,157,241,5,5,155,241,5,5,161,241,192,0,0,0,192,0,0,0,5,5,162,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,241,192,0,0,0,5,5,166,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,232,5,5,120,238,5,5,61,237,5,5,168,241,5,5,103,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,241,5,5,170,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,241,5,5,165,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,227,5,5,67,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,241,192,0,0,0,192,0,0,0,5,5,175,241,192,0,0,0,192,0,0,0,5,5,118,232,5,5,192,233,192,0,0,0,5,5,176,241,5,5,232,227,5,5,130,238,5,5,134,236,5,5,177,241,5,5,127,234,192,0,0,0,5,5,18,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,241,192,0,0,0,5,5,2,237,192,0,0,0,192,0,0,0,5,5,145,229,5,5,75,225,192,0,0,0,192,0,0,0,5,5,191,234,5,5,178,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,241,5,5,32,227,192,0,0,0,192,0,0,0,5,5,78,227,5,5,118,234,5,5,181,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,231,5,5,182,241,192,0,0,0,5,5,4,237,192,0,0,0,5,5,134,232,5,5,184,241,5,5,183,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,241,192,0,0,0,192,0,0,0,5,5,123,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,237,5,5,191,239,5,5,193,239,192,0,0,0,5,5,192,239,5,5,59,227,5,5,196,239,5,5,197,239,5,5,176,225,192,0,0,0,192,0,0,0,5,5,194,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,239,5,5,187,224,5,5,199,239,192,0,0,0,192,0,0,0,5,5,10,228,192,0,0,0,5,5,197,237,192,0,0,0,5,5,200,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,229,192,0,0,0,192,0,0,0,5,5,81,226,192,0,0,0,5,5,184,239,5,5,10,234,5,5,62,229,5,5,197,227,5,5,102,238,5,5,95,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,229,192,0,0,0,192,0,0,0,5,5,81,228,5,5,15,234,5,5,198,239,5,5,0,177,5,5,5,235,5,5,110,226,5,5,39,238,5,5,228,231,192,0,0,0,192,0,0,0,5,5,142,229,192,0,0,0,5,5,21,234,192,0,0,0,5,5,207,239,5,5,201,239,5,5,220,231,5,5,203,239,192,0,0,0,5,5,208,239,192,0,0,0,5,5,187,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,239,192,0,0,0,192,0,0,0,5,5,209,239,5,5,76,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,239,5,5,205,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,225,5,5,150,229,5,5,74,230,5,5,202,239,5,5,204,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,235,5,5,213,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,229,5,5,218,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,239,5,5,186,239,5,5,12,227,5,5,251,236,5,5,212,239,192,0,0,0,5,5,93,229,5,5,216,239,192,0,0,0,5,5,185,239,192,0,0,0,5,5,190,225,192,0,0,0,5,5,211,239,5,5,113,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,239,192,0,0,0,5,5,217,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,226,5,5,0,129,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,230,192,0,0,0,192,0,0,0,5,5,225,224,5,5,215,239,192,0,0,0,192,0,0,0,5,5,224,239,192,0,0,0,5,5,244,231,5,5,220,239,192,0,0,0,192,0,0,0,5,5,221,239,5,5,223,239,5,5,222,239,192,0,0,0,192,0,0,0,5,5,230,239,192,0,0,0,5,5,228,236,5,5,118,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,239,192,0,0,0,5,5,227,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,239,5,5,164,231,5,5,11,228,192,0,0,0,192,0,0,0,5,5,233,239,192,0,0,0,192,0,0,0,5,5,235,239,192,0,0,0,5,5,31,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,226,5,5,102,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,239,192,0,0,0,5,5,232,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,239,192,0,0,0,5,5,239,239,5,5,2,224,192,0,0,0,192,0,0,0,5,5,164,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,233,5,5,199,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,233,192,0,0,0,192,0,0,0,5,5,250,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,234,5,5,241,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,239,192,0,0,0,5,5,245,239,5,5,242,239,192,0,0,0,5,5,223,228,192,0,0,0,5,5,153,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,233,5,5,31,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,232,5,5,244,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,237,5,5,188,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,231,5,5,13,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,233,5,5,169,232,192,0,0,0,5,5,33,238,192,0,0,0,5,5,57,233,192,0,0,0,192,0,0,0,5,5,83,229,192,0,0,0,192,0,0,0,5,5,170,227,192,0,0,0,192,0,0,0,5,5,80,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,242,192,0,0,0,5,5,32,225,192,0,0,0,192,0,0,0,5,5,22,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,226,192,0,0,0,5,5,60,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,239,5,5,30,235,5,5,156,234,192,0,0,0,192,0,0,0,5,5,25,239,5,5,24,226,192,0,0,0,5,5,77,236,192,0,0,0,192,0,0,0,5,5,15,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,242,5,5,55,242,192,0,0,0,5,5,109,225,192,0,0,0,5,5,72,234,5,5,7,234,5,5,136,226,192,0,0,0,5,5,126,238,5,5,33,236,5,5,109,227,192,0,0,0,5,5,69,233,192,0,0,0,192,0,0,0,5,5,113,234,192,0,0,0,192,0,0,0,5,5,88,236,5,5,112,229,5,5,64,228,5,5,25,226,192,0,0,0,5,5,201,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,240,5,5,164,239,192,0,0,0,5,5,15,236,192,0,0,0,192,0,0,0,5,5,10,232,5,5,52,231,5,5,132,226,192,0,0,0,5,5,114,226,192,0,0,0,192,0,0,0,5,5,136,229,5,5,78,238,192,0,0,0,5,5,25,232,192,0,0,0,192,0,0,0,5,5,26,224,5,5,204,240,5,5,127,228,5,5,51,234,5,5,206,240,192,0,0,0,5,5,205,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,225,192,0,0,0,5,5,29,233,192,0,0,0,192,0,0,0,5,5,0,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,231,5,5,111,231,192,0,0,0,5,5,50,231,192,0,0,0,5,5,89,228,5,5,249,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,243,5,5,199,232,5,5,150,243,5,5,183,234,192,0,0,0,5,5,31,238,5,5,178,226,5,5,144,230,192,0,0,0,5,5,177,232,192,0,0,0,192,0,0,0,5,5,151,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,226,5,5,59,228,192,0,0,0,192,0,0,0,5,5,51,236,5,5,155,243,192,0,0,0,5,5,244,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,243,5,5,159,243,5,5,145,234,192,0,0,0,192,0,0,0,5,5,87,226,5,5,152,243,5,5,153,243,5,5,157,243,192,0,0,0,192,0,0,0,5,5,67,231,5,5,162,243,192,0,0,0,192,0,0,0,5,5,161,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,230,192,0,0,0,5,5,2,232,192,0,0,0,192,0,0,0,5,5,164,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,243,5,5,90,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,228,5,5,23,227,5,5,160,243,5,5,171,235,5,5,199,234,192,0,0,0,192,0,0,0,5,5,163,243,5,5,170,243,192,0,0,0,5,5,58,236,192,0,0,0,5,5,120,228,5,5,167,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,243,192,0,0,0,5,5,187,229,192,0,0,0,192,0,0,0,5,5,96,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,243,192,0,0,0,5,5,138,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,238,192,0,0,0,5,5,184,234,192,0,0,0,5,5,152,234,5,5,78,230,5,5,165,243,5,5,166,243,5,5,141,228,5,5,168,243,5,5,173,243,192,0,0,0,192,0,0,0,5,5,172,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,243,192,0,0,0,5,5,178,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,231,192,0,0,0,192,0,0,0,5,5,24,229,5,5,47,233,192,0,0,0,192,0,0,0,5,5,177,243,192,0,0,0,5,5,40,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,236,5,5,174,243,192,0,0,0,5,5,175,243,192,0,0,0,5,5,130,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,231,192,0,0,0,192,0,0,0,5,5,171,234,5,5,181,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,243,192,0,0,0,192,0,0,0,5,5,161,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,236,5,5,185,243,5,5,52,233,5,5,189,243,192,0,0,0,192,0,0,0,5,5,190,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,230,5,5,188,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,243,5,5,41,235,192,0,0,0,5,5,200,245,192,0,0,0,192,0,0,0,5,5,196,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,243,192,0,0,0,192,0,0,0,5,5,78,228,5,5,231,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,228,192,0,0,0,192,0,0,0,5,5,75,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,243,192,0,0,0,5,5,195,243,192,0,0,0,5,5,200,243,192,0,0,0,5,5,202,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,243,5,5,173,225,192,0,0,0,5,5,198,243,192,0,0,0,192,0,0,0,5,5,201,243,192,0,0,0,192,0,0,0,5,5,65,231,192,0,0,0,5,5,192,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,243,5,5,205,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,243,192,0,0,0,5,5,36,239,192,0,0,0,192,0,0,0,5,5,208,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,238,5,5,215,243,192,0,0,0,5,5,216,243,5,5,99,229,5,5,34,237,192,0,0,0,5,5,68,238,5,5,96,225,5,5,235,233,5,5,212,243,5,5,143,238,5,5,60,238,5,5,120,235,192,0,0,0,5,5,213,230,192,0,0,0,192,0,0,0,5,5,217,243,5,5,46,228,5,5,22,227,5,5,213,243,5,5,219,235,192,0,0,0,192,0,0,0,5,5,84,227,5,5,119,230,192,0,0,0,5,5,119,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,233,5,5,138,243,192,0,0,0,5,5,214,243,192,0,0,0,5,5,139,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,232,192,0,0,0,192,0,0,0,5,5,91,231,192,0,0,0,192,0,0,0,5,5,78,243,5,5,100,231,192,0,0,0,5,5,248,233,5,5,79,243,5,5,92,237,192,0,0,0,5,5,224,236,5,5,118,233,5,5,0,144,192,0,0,0,5,5,202,233,5,5,164,234,192,0,0,0,192,0,0,0,5,5,156,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,243,192,0,0,0,5,5,80,243,192,0,0,0,5,5,72,238,5,5,45,227,5,5,244,237,5,5,222,225,5,5,170,234,5,5,95,236,5,5,4,224,5,5,83,233,192,0,0,0,5,5,4,225,5,5,51,233,5,5,89,229,5,5,209,235,5,5,112,233,5,5,82,243,5,5,210,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,235,5,5,254,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,237,192,0,0,0,192,0,0,0,5,5,88,227,5,5,29,236,5,5,116,235,5,5,66,228,192,0,0,0,5,5,83,243,5,5,189,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,229,5,5,84,224,5,5,218,233,192,0,0,0,192,0,0,0,5,5,53,228,192,0,0,0,5,5,52,228,5,5,142,236,5,5,226,230,5,5,104,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,230,192,0,0,0,5,5,96,227,5,5,242,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,232,5,5,21,231,5,5,168,224,192,0,0,0,5,5,37,227,192,0,0,0,192,0,0,0,5,5,87,243,5,5,18,230,192,0,0,0,192,0,0,0,5,5,95,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,243,192,0,0,0,5,5,90,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,225,5,5,12,226,5,5,190,233,5,5,228,235,5,5,148,225,192,0,0,0,192,0,0,0,5,5,119,233,192,0,0,0,5,5,120,226,192,0,0,0,192,0,0,0,5,5,36,233,192,0,0,0,5,5,121,228,192,0,0,0,192,0,0,0,5,5,214,234,5,5,94,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,235,192,0,0,0,5,5,25,233,192,0,0,0,192,0,0,0,5,5,51,226,5,5,210,243,5,5,82,228,192,0,0,0,5,5,216,224,192,0,0,0,5,5,16,233,192,0,0,0,5,5,211,243,5,5,188,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,240,192,0,0,0,5,5,186,236,5,5,209,240,192,0,0,0,5,5,54,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,228,192,0,0,0,192,0,0,0,5,5,211,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,233,5,5,144,236,5,5,249,224,5,5,134,243,5,5,71,231,5,5,205,228,5,5,202,234,5,5,88,231,5,5,4,229,5,5,202,231,5,5,159,224,192,0,0,0,192,0,0,0,5,5,255,228,192,0,0,0,192,0,0,0,5,5,126,232,5,5,71,234,5,5,186,228,5,5,245,234,192,0,0,0,192,0,0,0,5,5,88,233,5,5,227,231,5,5,136,243,5,5,146,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,233,192,0,0,0,5,5,122,234,5,5,109,230,192,0,0,0,5,5,139,243,192,0,0,0,5,5,108,230,5,5,140,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,243,5,5,135,234,192,0,0,0,5,5,251,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,236,5,5,200,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,236,192,0,0,0,5,5,230,233,5,5,21,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,241,5,5,201,241,192,0,0,0,192,0,0,0,5,5,202,241,5,5,207,241,192,0,0,0,192,0,0,0,5,5,169,224,192,0,0,0,5,5,203,241,5,5,206,226,5,5,205,241,5,5,206,241,5,5,208,241,5,5,146,225,5,5,209,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,241,5,5,216,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,236,192,0,0,0,5,5,214,241,5,5,213,241,5,5,53,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,241,192,0,0,0,5,5,18,237,192,0,0,0,5,5,210,241,192,0,0,0,5,5,218,241,5,5,0,148,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,241,192,0,0,0,5,5,133,229,192,0,0,0,5,5,217,241,192,0,0,0,192,0,0,0,5,5,219,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,235,192,0,0,0,192,0,0,0,5,5,221,241,5,5,223,241,5,5,117,230,192,0,0,0,5,5,35,226,192,0,0,0,5,5,234,236,192,0,0,0,192,0,0,0,5,5,79,232,192,0,0,0,192,0,0,0,5,5,123,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,241,5,5,225,241,192,0,0,0,192,0,0,0,5,5,231,241,5,5,3,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,225,192,0,0,0,5,5,246,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,241,192,0,0,0,192,0,0,0,5,5,230,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,241,192,0,0,0,5,5,227,241,5,5,226,241,192,0,0,0,5,5,30,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,237,5,5,228,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,241,5,5,234,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,247,192,0,0,0,192,0,0,0,5,5,243,241,5,5,242,241,5,5,56,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,241,192,0,0,0,192,0,0,0,5,5,238,241,192,0,0,0,5,5,240,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,241,192,0,0,0,5,5,241,241,5,5,237,241,192,0,0,0,192,0,0,0,5,5,239,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,244,192,0,0,0,5,5,34,225,5,5,235,237,192,0,0,0,192,0,0,0,5,5,230,235,5,5,204,224,192,0,0,0,192,0,0,0,5,5,246,226,5,5,97,238,5,5,75,232,5,5,12,229,5,5,2,227,192,0,0,0,5,5,239,234,192,0,0,0,192,0,0,0,5,5,170,224,5,5,183,239,192,0,0,0,5,5,42,228,5,5,101,236,5,5,196,233,5,5,0,171,192,0,0,0,192,0,0,0,5,5,103,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,239,5,5,187,228,192,0,0,0,192,0,0,0,5,5,48,224,5,5,110,233,5,5,120,224,192,0,0,0,5,5,163,233,5,5,65,226,192,0,0,0,5,5,68,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,235,192,0,0,0,192,0,0,0,5,5,186,241,5,5,122,237,5,5,189,241,192,0,0,0,192,0,0,0,5,5,188,241,5,5,133,231,5,5,87,234,192,0,0,0,5,5,249,229,5,5,187,241,5,5,241,237,5,5,107,224,5,5,210,237,5,5,179,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,225,5,5,175,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,235,5,5,0,205,192,0,0,0,192,0,0,0,5,5,190,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,241,5,5,189,224,192,0,0,0,192,0,0,0,5,5,191,241,5,5,192,241,5,5,183,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,230,192,0,0,0,5,5,194,241,5,5,143,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,241,5,5,33,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,241,192,0,0,0,192,0,0,0,5,5,197,241,192,0,0,0,192,0,0,0,5,5,198,241,5,5,43,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,226,5,5,223,231,5,5,80,231,192,0,0,0,5,5,94,224,192,0,0,0,5,5,168,235,192,0,0,0,5,5,53,244,5,5,211,227,5,5,201,236,5,5,182,236,192,0,0,0,5,5,55,227,5,5,79,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,238,192,0,0,0,5,5,110,232,5,5,49,224,192,0,0,0,192,0,0,0,5,5,44,225,5,5,81,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,235,5,5,86,230,5,5,80,242,192,0,0,0,5,5,110,229,5,5,152,236,5,5,175,225,5,5,82,242,5,5,194,225,192,0,0,0,5,5,243,230,5,5,241,226,192,0,0,0,5,5,162,226,192,0,0,0,5,5,151,231,5,5,101,226,5,5,84,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,242,5,5,254,225,5,5,103,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,242,192,0,0,0,5,5,86,242,5,5,154,233,5,5,65,229,5,5,171,236,5,5,85,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,229,5,5,178,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,242,5,5,90,242,5,5,148,229,192,0,0,0,192,0,0,0,5,5,24,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,242,192,0,0,0,5,5,94,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,239,192,0,0,0,5,5,9,236,5,5,92,234,192,0,0,0,192,0,0,0,5,5,118,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,240,5,5,113,238,5,5,54,229,5,5,181,239,5,5,128,236,5,5,30,232,5,5,110,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,240,192,0,0,0,5,5,53,224,5,5,18,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,233,192,0,0,0,5,5,21,241,192,0,0,0,5,5,255,226,192,0,0,0,5,5,145,236,192,0,0,0,5,5,153,226,5,5,157,227,192,0,0,0,192,0,0,0,5,5,244,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,225,5,5,117,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,230,5,5,74,235,5,5,177,227,192,0,0,0,5,5,143,243,5,5,142,243,192,0,0,0,192,0,0,0,5,5,144,243,192,0,0,0,5,5,158,234,192,0,0,0,5,5,213,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,225,5,5,65,232,192,0,0,0,5,5,146,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,243,192,0,0,0,5,5,61,227,5,5,137,225,192,0,0,0,5,5,100,230,5,5,132,243,5,5,131,243,5,5,133,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,242,5,5,164,235,192,0,0,0,5,5,104,234,192,0,0,0,5,5,27,236,192,0,0,0,192,0,0,0,5,5,134,224,5,5,73,224,192,0,0,0,5,5,80,224,5,5,177,231,192,0,0,0,192,0,0,0,5,5,115,237,5,5,162,236,192,0,0,0,5,5,252,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,241,192,0,0,0,5,5,111,236,192,0,0,0,5,5,211,224,5,5,41,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,234,5,5,167,237,5,5,254,241,192,0,0,0,5,5,226,228,5,5,119,225,192,0,0,0,5,5,255,241,5,5,142,227,5,5,2,242,5,5,194,227,5,5,113,230,5,5,3,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,235,192,0,0,0,5,5,119,234,192,0,0,0,192,0,0,0,5,5,4,242,192,0,0,0,5,5,155,225,5,5,139,231,5,5,5,242,192,0,0,0,192,0,0,0,5,5,6,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,242,192,0,0,0,5,5,225,235,192,0,0,0,192,0,0,0,5,5,8,242,5,5,186,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,242,192,0,0,0,5,5,154,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,242,5,5,229,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,235,5,5,96,242,5,5,54,224,5,5,120,236,192,0,0,0,192,0,0,0,5,5,97,242,192,0,0,0,192,0,0,0,5,5,57,228,5,5,172,232,192,0,0,0,5,5,99,242,5,5,50,246,5,5,49,246,5,5,19,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,242,5,5,204,237,5,5,182,234,5,5,172,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,242,192,0,0,0,192,0,0,0,5,5,224,237,5,5,103,242,192,0,0,0,192,0,0,0,5,5,104,242,192,0,0,0,192,0,0,0,5,5,185,236,192,0,0,0,192,0,0,0,5,5,108,242,5,5,120,229,192,0,0,0,5,5,109,242,5,5,101,242,192,0,0,0,192,0,0,0,5,5,218,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,231,192,0,0,0,192,0,0,0,5,5,110,242,192,0,0,0,192,0,0,0,5,5,153,235,192,0,0,0,5,5,168,227,5,5,105,242,5,5,116,226,5,5,195,227,5,5,8,234,5,5,199,233,5,5,100,242,5,5,102,242,5,5,106,242,5,5,107,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,242,192,0,0,0,192,0,0,0,5,5,116,242,5,5,71,237,5,5,115,242,192,0,0,0,192,0,0,0,5,5,113,231,192,0,0,0,5,5,170,237,5,5,134,231,5,5,124,224,192,0,0,0,192,0,0,0,5,5,111,242,192,0,0,0,5,5,114,242,5,5,247,229,5,5,184,233,192,0,0,0,192,0,0,0,5,5,121,225,5,5,121,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,228,5,5,113,242,5,5,170,235,5,5,11,237,5,5,117,242,5,5,42,227,5,5,118,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,238,5,5,51,246,192,0,0,0,192,0,0,0,5,5,120,242,192,0,0,0,5,5,55,246,5,5,126,242,5,5,111,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,229,192,0,0,0,5,5,224,227,192,0,0,0,192,0,0,0,5,5,98,229,192,0,0,0,5,5,149,227,192,0,0,0,192,0,0,0,5,5,157,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,246,5,5,53,246,192,0,0,0,192,0,0,0,5,5,52,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,227,5,5,57,246,5,5,202,235,192,0,0,0,192,0,0,0,5,5,54,246,5,5,144,227,5,5,47,226,5,5,127,242,5,5,232,225,5,5,77,234,5,5,249,226,192,0,0,0,5,5,26,235,5,5,35,232,192,0,0,0,192,0,0,0,5,5,94,229,192,0,0,0,192,0,0,0,5,5,41,226,192,0,0,0,5,5,122,242,5,5,123,242,5,5,125,242,5,5,124,242,5,5,59,231,5,5,128,242,192,0,0,0,5,5,179,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,242,5,5,70,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,235,192,0,0,0,192,0,0,0,5,5,135,242,5,5,105,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,242,192,0,0,0,5,5,234,227,192,0,0,0,5,5,129,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,242,5,5,136,242,192,0,0,0,5,5,132,242,192,0,0,0,5,5,12,235,5,5,184,236,192,0,0,0,192,0,0,0,5,5,204,227,192,0,0,0,192,0,0,0,5,5,21,237,192,0,0,0,5,5,96,231,192,0,0,0,192,0,0,0,5,5,58,246,5,5,210,235,5,5,131,242,192,0,0,0,5,5,251,230,192,0,0,0,5,5,139,242,5,5,13,224,192,0,0,0,5,5,144,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,228,192,0,0,0,192,0,0,0,5,5,138,242,5,5,151,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,232,5,5,142,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,228,5,5,169,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,234,192,0,0,0,192,0,0,0,5,5,141,242,192,0,0,0,5,5,143,242,192,0,0,0,5,5,31,235,5,5,140,242,192,0,0,0,5,5,193,234,5,5,237,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,225,5,5,19,229,5,5,142,224,5,5,231,224,192,0,0,0,5,5,23,224,5,5,137,242,5,5,141,224,5,5,132,225,5,5,51,227,5,5,32,226,192,0,0,0,192,0,0,0,5,5,99,235,5,5,149,242,192,0,0,0,5,5,220,227,192,0,0,0,192,0,0,0,5,5,167,232,5,5,160,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,242,5,5,10,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,246,192,0,0,0,5,5,236,236,5,5,214,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,246,5,5,151,242,5,5,118,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,226,5,5,145,242,192,0,0,0,192,0,0,0,5,5,148,242,5,5,117,226,192,0,0,0,5,5,146,242,5,5,140,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,225,192,0,0,0,5,5,153,242,192,0,0,0,5,5,213,227,192,0,0,0,5,5,55,233,192,0,0,0,192,0,0,0,5,5,37,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,227,5,5,58,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,242,192,0,0,0,5,5,66,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,224,192,0,0,0,192,0,0,0,5,5,73,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,242,5,5,91,227,5,5,62,246,192,0,0,0,192,0,0,0,5,5,155,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,235,192,0,0,0,5,5,0,161,5,5,64,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,246,5,5,171,229,192,0,0,0,5,5,159,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,246,192,0,0,0,5,5,222,226,192,0,0,0,5,5,6,235,5,5,29,245,5,5,189,235,5,5,151,233,5,5,182,232,5,5,47,235,5,5,227,224,5,5,234,234,5,5,178,228,192,0,0,0,192,0,0,0,5,5,188,242,5,5,4,228,5,5,30,245,5,5,109,237,192,0,0,0,5,5,255,231,5,5,31,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,245,192,0,0,0,5,5,34,245,5,5,33,245,192,0,0,0,5,5,36,245,5,5,35,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,228,192,0,0,0,5,5,37,245,192,0,0,0,5,5,102,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,225,5,5,113,225,192,0,0,0,192,0,0,0,5,5,183,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,246,5,5,25,246,5,5,85,226,5,5,245,233,5,5,64,224,192,0,0,0,5,5,27,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,233,5,5,28,246,5,5,29,246,192,0,0,0,5,5,116,233,5,5,212,240,5,5,129,224,5,5,76,237,192,0,0,0,192,0,0,0,5,5,237,231,5,5,0,165,5,5,108,225,5,5,179,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,234,192,0,0,0,192,0,0,0,5,5,68,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,229,192,0,0,0,192,0,0,0,5,5,38,232,5,5,194,237,192,0,0,0,5,5,147,229,5,5,213,240,5,5,230,232,5,5,37,236,5,5,104,231,5,5,0,197,5,5,208,224,5,5,165,232,192,0,0,0,192,0,0,0,5,5,0,192,192,0,0,0,192,0,0,0,5,5,140,226,192,0,0,0,192,0,0,0,5,5,190,231,192,0,0,0,192,0,0,0,5,5,43,226,192,0,0,0,5,5,130,237,5,5,234,224,5,5,44,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,229,5,5,0,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,236,5,5,129,233,5,5,19,238,192,0,0,0,5,5,112,234,5,5,236,225,5,5,69,229,5,5,139,237,192,0,0,0,5,5,155,226,5,5,155,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,240,5,5,101,229,5,5,125,230,5,5,66,232,192,0,0,0,5,5,180,227,5,5,6,224,192,0,0,0,192,0,0,0,5,5,174,231,192,0,0,0,192,0,0,0,5,5,191,231,5,5,3,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,231,192,0,0,0,5,5,215,240,5,5,238,235,5,5,5,225,192,0,0,0,5,5,248,230,192,0,0,0,192,0,0,0,5,5,141,226,192,0,0,0,5,5,4,238,5,5,123,225,5,5,172,224,5,5,26,231,5,5,79,231,5,5,151,229,5,5,216,240,192,0,0,0,5,5,0,198,5,5,136,231,5,5,42,230,192,0,0,0,5,5,41,227,192,0,0,0,5,5,10,229,5,5,146,234,5,5,0,172,192,0,0,0,5,5,137,234,5,5,218,240,5,5,252,228,5,5,44,238,5,5,217,240,5,5,128,237,5,5,0,187,192,0,0,0,192,0,0,0,5,5,72,231,192,0,0,0,192,0,0,0,5,5,75,230,5,5,96,228,192,0,0,0,5,5,167,236,5,5,163,229,5,5,101,231,5,5,98,224,5,5,67,237,192,0,0,0,192,0,0,0,5,5,146,229,5,5,97,233,5,5,219,240,5,5,172,237,192,0,0,0,5,5,4,227,192,0,0,0,5,5,141,232,5,5,165,233,192,0,0,0,5,5,221,240,5,5,73,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,231,5,5,21,238,5,5,78,233,5,5,41,231,192,0,0,0,5,5,240,224,5,5,38,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,237,5,5,114,245,5,5,0,146,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,229,192,0,0,0,192,0,0,0,5,5,80,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,237,5,5,118,230,192,0,0,0,5,5,230,234,5,5,252,233,5,5,132,235,5,5,57,231,5,5,138,225,5,5,220,240,5,5,165,237,5,5,39,228,5,5,227,227,192,0,0,0,192,0,0,0,5,5,0,130,192,0,0,0,5,5,118,231,5,5,102,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,237,192,0,0,0,192,0,0,0,5,5,115,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,240,5,5,96,234,192,0,0,0,192,0,0,0,5,5,166,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,234,5,5,224,240,192,0,0,0,5,5,107,234,5,5,144,229,192,0,0,0,192,0,0,0,5,5,43,238,192,0,0,0,5,5,223,240,5,5,0,164,5,5,102,227,5,5,19,233,5,5,89,231,5,5,22,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,229,5,5,236,233,192,0,0,0,5,5,97,228,5,5,203,227,5,5,143,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,231,192,0,0,0,5,5,234,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,240,5,5,11,229,192,0,0,0,192,0,0,0,5,5,227,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,225,5,5,171,228,192,0,0,0,192,0,0,0,5,5,228,240,5,5,83,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,235,192,0,0,0,5,5,184,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,226,5,5,120,233,5,5,204,225,5,5,233,240,192,0,0,0,5,5,118,237,192,0,0,0,5,5,229,240,5,5,41,234,5,5,34,232,192,0,0,0,5,5,137,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,236,192,0,0,0,5,5,32,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,230,192,0,0,0,5,5,25,234,5,5,210,224,192,0,0,0,5,5,161,228,192,0,0,0,5,5,100,229,5,5,128,234,5,5,16,236,5,5,101,225,192,0,0,0,5,5,232,240,5,5,225,240,5,5,235,240,192,0,0,0,5,5,116,245,192,0,0,0,192,0,0,0,5,5,88,230,5,5,230,240,192,0,0,0,192,0,0,0,5,5,206,237,5,5,127,225,192,0,0,0,5,5,176,224,192,0,0,0,5,5,236,240,192,0,0,0,5,5,246,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,240,192,0,0,0,5,5,245,240,192,0,0,0,192,0,0,0,5,5,192,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,238,5,5,243,240,5,5,238,230,5,5,61,234,192,0,0,0,5,5,161,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,240,192,0,0,0,5,5,239,240,5,5,237,234,192,0,0,0,5,5,33,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,229,5,5,234,228,192,0,0,0,192,0,0,0,5,5,160,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,240,192,0,0,0,5,5,254,236,192,0,0,0,5,5,226,240,192,0,0,0,5,5,238,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,229,192,0,0,0,5,5,240,240,5,5,175,224,5,5,221,226,5,5,79,230,192,0,0,0,192,0,0,0,5,5,143,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,240,5,5,252,240,192,0,0,0,192,0,0,0,5,5,103,224,5,5,30,225,192,0,0,0,192,0,0,0,5,5,100,225,5,5,228,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,240,5,5,205,233,192,0,0,0,5,5,215,226,192,0,0,0,5,5,251,240,5,5,254,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,234,192,0,0,0,5,5,0,191,5,5,104,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,235,192,0,0,0,192,0,0,0,5,5,167,224,192,0,0,0,5,5,117,245,192,0,0,0,5,5,248,240,192,0,0,0,192,0,0,0,5,5,35,233,5,5,247,240,5,5,0,184,5,5,53,236,5,5,85,224,192,0,0,0,5,5,11,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,240,192,0,0,0,5,5,160,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,225,192,0,0,0,5,5,12,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,231,5,5,7,231,5,5,5,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,230,192,0,0,0,5,5,2,241,5,5,29,229,192,0,0,0,5,5,212,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,224,5,5,214,232,192,0,0,0,192,0,0,0,5,5,182,233,5,5,4,241,192,0,0,0,192,0,0,0,5,5,8,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,230,192,0,0,0,192,0,0,0,5,5,77,232,5,5,97,224,5,5,99,225,192,0,0,0,5,5,25,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,231,192,0,0,0,5,5,6,241,5,5,7,241,192,0,0,0,5,5,9,241,192,0,0,0,5,5,101,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,241,192,0,0,0,5,5,200,229,192,0,0,0,192,0,0,0,5,5,3,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,224,5,5,104,232,192,0,0,0,5,5,11,241,192,0,0,0,5,5,94,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,241,5,5,118,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,241,192,0,0,0,5,5,13,241,192,0,0,0,5,5,125,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,229,192,0,0,0,192,0,0,0,5,5,17,241,5,5,181,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,245,5,5,138,245,5,5,115,233,192,0,0,0,5,5,200,238,5,5,184,226,192,0,0,0,5,5,247,226,192,0,0,0,192,0,0,0,5,5,91,226,5,5,174,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,227,192,0,0,0,192,0,0,0,5,5,125,235,5,5,245,248,192,0,0,0,192,0,0,0,5,5,168,225,192,0,0,0,192,0,0,0,5,5,250,230,192,0,0,0,5,5,244,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,245,5,5,0,155,192,0,0,0,192,0,0,0,5,5,154,228,192,0,0,0,5,5,250,229,192,0,0,0,5,5,52,224,5,5,194,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,226,5,5,224,232,192,0,0,0,192,0,0,0,5,5,16,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,245,5,5,224,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,233,192,0,0,0,5,5,69,232,192,0,0,0,5,5,171,237,192,0,0,0,192,0,0,0,5,5,137,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,237,5,5,81,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,245,5,5,0,189,192,0,0,0,5,5,231,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,225,192,0,0,0,5,5,25,230,192,0,0,0,5,5,130,249,5,5,135,235,192,0,0,0,192,0,0,0,5,5,149,237,192,0,0,0,5,5,235,234,192,0,0,0,192,0,0,0,5,5,189,228,5,5,252,224,192,0,0,0,5,5,159,226,192,0,0,0,5,5,102,237,192,0,0,0,5,5,79,246,192,0,0,0,5,5,7,226,192,0,0,0,5,5,181,233,5,5,152,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,226,192,0,0,0,192,0,0,0,5,5,232,245,5,5,71,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,231,192,0,0,0,5,5,235,245,5,5,234,245,5,5,107,230,5,5,233,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,235,5,5,236,245,192,0,0,0,5,5,237,245,5,5,83,238,192,0,0,0,192,0,0,0,5,5,238,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,245,5,5,16,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,234,192,0,0,0,5,5,56,228,192,0,0,0,192,0,0,0,5,5,181,232,5,5,129,225,5,5,245,228,5,5,202,237,5,5,57,237,192,0,0,0,192,0,0,0,5,5,226,235,5,5,199,235,5,5,46,245,5,5,47,245,5,5,48,245,5,5,103,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,233,5,5,129,229,192,0,0,0,192,0,0,0,5,5,180,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,245,192,0,0,0,5,5,0,152,5,5,52,245,192,0,0,0,192,0,0,0,5,5,143,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,245,192,0,0,0,5,5,185,224,192,0,0,0,5,5,253,230,5,5,248,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,236,5,5,14,235,5,5,53,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,245,192,0,0,0,5,5,157,235,5,5,165,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,225,192,0,0,0,5,5,199,230,5,5,96,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,237,192,0,0,0,5,5,101,233,192,0,0,0,5,5,59,245,192,0,0,0,192,0,0,0,5,5,58,245,5,5,61,245,5,5,60,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,237,192,0,0,0,5,5,76,235,192,0,0,0,192,0,0,0,5,5,65,245,192,0,0,0,5,5,222,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,228,5,5,14,233,192,0,0,0,192,0,0,0,5,5,66,245,192,0,0,0,192,0,0,0,5,5,247,232,5,5,118,235,5,5,64,245,5,5,32,237,5,5,67,245,5,5,69,245,192,0,0,0,192,0,0,0,5,5,167,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,245,192,0,0,0,5,5,68,245,192,0,0,0,192,0,0,0,5,5,8,235,192,0,0,0,5,5,238,227,192,0,0,0,5,5,217,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,231,5,5,220,228,5,5,20,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,232,192,0,0,0,5,5,211,228,5,5,70,245,192,0,0,0,192,0,0,0,5,5,213,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,237,192,0,0,0,5,5,71,245,192,0,0,0,192,0,0,0,5,5,54,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,231,5,5,0,147,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,245,5,5,9,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,233,192,0,0,0,5,5,76,245,5,5,77,245,5,5,250,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,245,192,0,0,0,192,0,0,0,5,5,79,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,237,192,0,0,0,5,5,124,232,5,5,75,236,5,5,240,226,192,0,0,0,192,0,0,0,5,5,56,245,192,0,0,0,5,5,152,224,192,0,0,0,192,0,0,0,5,5,164,230,192,0,0,0,5,5,74,237,5,5,66,234,5,5,92,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,237,5,5,194,236,5,5,151,245,5,5,183,231,192,0,0,0,5,5,148,226,192,0,0,0,192,0,0,0,5,5,168,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,233,5,5,178,245,192,0,0,0,5,5,180,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,234,192,0,0,0,5,5,201,224,192,0,0,0,5,5,252,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,245,192,0,0,0,5,5,36,231,192,0,0,0,5,5,204,234,5,5,15,231,5,5,28,224,5,5,79,237,192,0,0,0,5,5,147,233,192,0,0,0,5,5,250,237,192,0,0,0,192,0,0,0,5,5,245,231,5,5,28,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,228,192,0,0,0,192,0,0,0,5,5,182,235,192,0,0,0,192,0,0,0,5,5,239,232,192,0,0,0,5,5,37,237,5,5,136,232,192,0,0,0,192,0,0,0,5,5,191,226,192,0,0,0,5,5,118,244,5,5,250,232,192,0,0,0,192,0,0,0,5,5,115,244,192,0,0,0,5,5,216,229,5,5,169,235,5,5,128,224,5,5,95,225,192,0,0,0,5,5,116,244,192,0,0,0,192,0,0,0,5,5,120,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,225,192,0,0,0,5,5,117,244,5,5,150,233,5,5,208,226,5,5,81,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,229,192,0,0,0,192,0,0,0,5,5,36,236,5,5,119,244,5,5,122,244,192,0,0,0,192,0,0,0,5,5,110,227,192,0,0,0,5,5,11,224,5,5,170,228,192,0,0,0,5,5,51,245,5,5,123,244,192,0,0,0,5,5,126,244,192,0,0,0,5,5,131,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,244,192,0,0,0,5,5,197,233,5,5,0,195,192,0,0,0,5,5,27,228,192,0,0,0,192,0,0,0,5,5,13,227,192,0,0,0,192,0,0,0,5,5,121,244,192,0,0,0,5,5,177,234,192,0,0,0,5,5,130,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,237,192,0,0,0,5,5,32,230,5,5,124,244,192,0,0,0,5,5,188,230,192,0,0,0,5,5,79,227,5,5,180,237,5,5,128,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,233,5,5,56,237,192,0,0,0,5,5,120,244,192,0,0,0,5,5,125,244,5,5,127,244,192,0,0,0,5,5,59,232,5,5,121,226,192,0,0,0,5,5,129,244,192,0,0,0,5,5,105,229,5,5,138,244,192,0,0,0,192,0,0,0,5,5,143,244,192,0,0,0,5,5,141,244,5,5,76,228,5,5,63,228,5,5,147,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,244,192,0,0,0,5,5,146,244,5,5,88,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,182,5,5,25,231,5,5,192,226,5,5,6,232,5,5,158,232,5,5,193,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,244,5,5,140,244,5,5,142,244,192,0,0,0,5,5,69,227,5,5,144,244,5,5,99,238,192,0,0,0,5,5,97,231,192,0,0,0,5,5,148,244,192,0,0,0,192,0,0,0,5,5,165,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,244,192,0,0,0,192,0,0,0,5,5,93,228,192,0,0,0,192,0,0,0,5,5,78,229,5,5,133,244,5,5,9,238,192,0,0,0,5,5,66,230,5,5,173,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,244,192,0,0,0,5,5,95,233,5,5,145,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,237,192,0,0,0,5,5,72,224,5,5,107,237,5,5,134,244,5,5,136,244,5,5,230,225,5,5,139,244,192,0,0,0,5,5,149,244,5,5,162,229,192,0,0,0,5,5,149,233,192,0,0,0,5,5,164,233,192,0,0,0,192,0,0,0,5,5,254,231,5,5,223,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,244,5,5,248,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,244,5,5,153,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,236,5,5,125,227,5,5,237,226,192,0,0,0,192,0,0,0,5,5,229,226,5,5,38,237,5,5,167,244,192,0,0,0,5,5,166,244,5,5,164,244,5,5,68,227,5,5,46,234,5,5,158,244,5,5,190,234,5,5,126,229,192,0,0,0,5,5,0,150,5,5,169,244,5,5,168,244,192,0,0,0,5,5,46,238,192,0,0,0,5,5,156,244,192,0,0,0,5,5,99,234,5,5,225,232,192,0,0,0,5,5,200,227,5,5,169,228,5,5,162,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,244,5,5,155,244,5,5,157,244,5,5,141,225,5,5,159,244,5,5,71,232,5,5,163,244,5,5,165,244,5,5,126,228,5,5,28,238,192,0,0,0,5,5,176,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,244,192,0,0,0,5,5,106,234,5,5,174,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,230,192,0,0,0,5,5,160,244,192,0,0,0,5,5,189,230,5,5,0,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,230,5,5,248,234,5,5,208,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,233,192,0,0,0,5,5,57,234,5,5,139,235,192,0,0,0,192,0,0,0,5,5,127,233,192,0,0,0,5,5,171,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,228,192,0,0,0,5,5,177,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,230,192,0,0,0,5,5,9,232,192,0,0,0,5,5,75,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,210,192,0,0,0,192,0,0,0,5,5,70,238,192,0,0,0,192,0,0,0,5,5,28,228,192,0,0,0,5,5,179,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,234,192,0,0,0,192,0,0,0,5,5,188,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,232,192,0,0,0,5,5,184,244,5,5,204,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,244,5,5,43,227,192,0,0,0,5,5,179,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,244,192,0,0,0,5,5,192,237,5,5,35,238,192,0,0,0,5,5,189,244,192,0,0,0,5,5,133,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,244,5,5,181,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,234,192,0,0,0,192,0,0,0,5,5,64,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,225,192,0,0,0,5,5,53,225,192,0,0,0,192,0,0,0,5,5,193,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,235,192,0,0,0,192,0,0,0,5,5,187,244,192,0,0,0,192,0,0,0,5,5,26,225,192,0,0,0,192,0,0,0,5,5,194,244,5,5,205,229,192,0,0,0,5,5,192,244,192,0,0,0,192,0,0,0,5,5,207,244,192,0,0,0,192,0,0,0,5,5,206,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,244,192,0,0,0,192,0,0,0,5,5,178,244,192,0,0,0,192,0,0,0,5,5,190,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,229,5,5,199,244,5,5,208,244,192,0,0,0,192,0,0,0,5,5,77,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,244,192,0,0,0,5,5,185,226,192,0,0,0,5,5,195,244,192,0,0,0,5,5,206,236,5,5,202,244,5,5,203,244,5,5,205,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,229,5,5,219,244,192,0,0,0,192,0,0,0,5,5,198,244,192,0,0,0,192,0,0,0,5,5,209,244,5,5,0,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,244,5,5,85,237,192,0,0,0,192,0,0,0,5,5,212,244,192,0,0,0,5,5,213,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,244,192,0,0,0,192,0,0,0,5,5,59,230,192,0,0,0,192,0,0,0,5,5,150,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,244,192,0,0,0,5,5,201,244,192,0,0,0,5,5,204,244,192,0,0,0,5,5,193,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,244,5,5,220,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,224,192,0,0,0,5,5,222,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,244,5,5,226,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,237,192,0,0,0,5,5,9,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,244,192,0,0,0,5,5,147,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,244,192,0,0,0,5,5,149,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,244,5,5,230,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,244,192,0,0,0,192,0,0,0,5,5,67,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,244,5,5,226,224,192,0,0,0,5,5,233,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,244,192,0,0,0,192,0,0,0,5,5,240,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,244,192,0,0,0,5,5,242,244,5,5,241,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,244,192,0,0,0,5,5,245,244,5,5,208,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,232,5,5,72,225,5,5,198,227,5,5,150,235,5,5,213,245,192,0,0,0,192,0,0,0,5,5,123,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,245,192,0,0,0,5,5,215,245,5,5,253,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,245,192,0,0,0,192,0,0,0,5,5,217,245,5,5,128,235,192,0,0,0,5,5,58,232,192,0,0,0,192,0,0,0,5,5,220,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,237,5,5,173,237,5,5,69,225,5,5,121,224,5,5,252,234,5,5,11,232,192,0,0,0,192,0,0,0,5,5,155,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,225,192,0,0,0,5,5,188,233,5,5,79,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,244,5,5,249,244,5,5,32,236,5,5,251,244,192,0,0,0,5,5,115,225,5,5,250,244,192,0,0,0,5,5,231,235,5,5,128,233,5,5,140,224,192,0,0,0,5,5,254,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,244,5,5,253,244,192,0,0,0,192,0,0,0,5,5,193,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,244,5,5,2,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,245,5,5,125,231,5,5,6,226,192,0,0,0,5,5,135,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,225,192,0,0,0,5,5,233,227,5,5,227,245,192,0,0,0,192,0,0,0,5,5,119,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,234,192,0,0,0,5,5,30,231,192,0,0,0,5,5,197,230,192,0,0,0,192,0,0,0,5,5,244,225,5,5,133,238,5,5,38,224,5,5,45,224,5,5,47,224,5,5,194,231,192,0,0,0,5,5,46,224,192,0,0,0,5,5,177,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,245,5,5,115,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,245,192,0,0,0,5,5,123,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,245,5,5,127,245,5,5,126,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,245,192,0,0,0,5,5,109,233,5,5,129,238,5,5,247,230,192,0,0,0,5,5,171,230,5,5,28,232,5,5,129,245,5,5,48,231,192,0,0,0,5,5,130,245,5,5,131,245,5,5,132,245,5,5,107,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,226,192,0,0,0,5,5,133,245,5,5,100,232,192,0,0,0,5,5,135,245,192,0,0,0,5,5,86,227,5,5,43,236,5,5,0,143,5,5,134,245,5,5,136,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,225,5,5,112,230,5,5,106,232,192,0,0,0,5,5,137,245,192,0,0,0,5,5,170,233,5,5,189,242,192,0,0,0,192,0,0,0,5,5,178,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,239,192,0,0,0,192,0,0,0,5,5,91,234,5,5,187,237,5,5,117,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,239,5,5,243,227,192,0,0,0,5,5,108,227,5,5,192,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,242,5,5,7,233,192,0,0,0,5,5,107,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,235,5,5,191,242,5,5,202,232,5,5,3,227,5,5,123,228,5,5,242,224,5,5,243,234,192,0,0,0,192,0,0,0,5,5,28,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,242,5,5,199,242,5,5,174,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,234,192,0,0,0,5,5,35,228,192,0,0,0,5,5,200,242,192,0,0,0,5,5,201,242,192,0,0,0,192,0,0,0,5,5,176,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,232,5,5,112,226,192,0,0,0,192,0,0,0,5,5,97,232,5,5,94,236,5,5,238,234,192,0,0,0,5,5,194,242,5,5,202,242,192,0,0,0,5,5,50,233,5,5,219,224,192,0,0,0,192,0,0,0,5,5,197,242,192,0,0,0,192,0,0,0,5,5,7,232,5,5,195,242,192,0,0,0,192,0,0,0,5,5,69,246,5,5,196,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,232,192,0,0,0,5,5,170,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,227,192,0,0,0,5,5,193,230,192,0,0,0,5,5,193,242,5,5,129,231,5,5,236,229,5,5,129,230,5,5,147,224,192,0,0,0,5,5,203,242,5,5,182,227,5,5,19,231,192,0,0,0,5,5,206,242,5,5,8,229,192,0,0,0,192,0,0,0,5,5,217,242,5,5,211,242,5,5,133,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,226,5,5,191,236,192,0,0,0,5,5,220,237,5,5,131,237,5,5,21,227,5,5,100,237,5,5,14,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,235,5,5,120,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,232,5,5,112,224,192,0,0,0,5,5,224,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,242,192,0,0,0,192,0,0,0,5,5,218,242,5,5,205,242,5,5,62,226,5,5,213,242,5,5,210,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,226,192,0,0,0,192,0,0,0,5,5,102,231,192,0,0,0,5,5,212,242,5,5,161,231,5,5,100,224,5,5,32,232,192,0,0,0,5,5,70,231,192,0,0,0,192,0,0,0,5,5,16,238,192,0,0,0,5,5,203,229,5,5,215,242,192,0,0,0,192,0,0,0,5,5,216,242,5,5,219,242,5,5,5,234,5,5,209,242,192,0,0,0,5,5,176,236,192,0,0,0,5,5,33,224,5,5,70,246,5,5,207,242,5,5,208,242,192,0,0,0,5,5,214,242,5,5,144,235,5,5,229,231,5,5,69,237,5,5,220,242,192,0,0,0,192,0,0,0,5,5,174,228,192,0,0,0,192,0,0,0,5,5,227,242,192,0,0,0,192,0,0,0,5,5,226,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,236,5,5,223,242,192,0,0,0,5,5,229,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,235,192,0,0,0,5,5,228,242,5,5,234,242,5,5,141,230,192,0,0,0,192,0,0,0,5,5,234,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,228,192,0,0,0,5,5,222,242,192,0,0,0,192,0,0,0,5,5,155,227,5,5,230,242,192,0,0,0,192,0,0,0,5,5,232,242,192,0,0,0,192,0,0,0,5,5,53,226,5,5,236,237,5,5,238,242,192,0,0,0,5,5,233,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,242,192,0,0,0,5,5,254,227,5,5,151,234,5,5,36,232,5,5,141,231,192,0,0,0,192,0,0,0,5,5,65,230,192,0,0,0,5,5,224,242,192,0,0,0,5,5,53,232,5,5,122,228,5,5,139,228,5,5,225,242,192,0,0,0,5,5,53,238,5,5,158,224,192,0,0,0,5,5,231,242,5,5,51,228,5,5,235,242,192,0,0,0,5,5,251,227,5,5,236,242,5,5,108,231,5,5,237,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,237,5,5,47,229,192,0,0,0,5,5,246,242,192,0,0,0,5,5,243,242,192,0,0,0,5,5,247,242,192,0,0,0,192,0,0,0,5,5,249,242,192,0,0,0,192,0,0,0,5,5,248,231,192,0,0,0,192,0,0,0,5,5,120,227,5,5,181,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,226,5,5,240,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,236,192,0,0,0,192,0,0,0,5,5,85,227,5,5,204,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,234,192,0,0,0,192,0,0,0,5,5,95,231,192,0,0,0,192,0,0,0,5,5,115,235,5,5,38,233,192,0,0,0,192,0,0,0,5,5,177,236,192,0,0,0,5,5,73,235,192,0,0,0,192,0,0,0,5,5,239,242,192,0,0,0,5,5,244,242,5,5,245,242,5,5,69,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,234,192,0,0,0,5,5,190,229,5,5,241,242,5,5,248,229,5,5,242,242,5,5,232,234,192,0,0,0,5,5,209,227,5,5,171,225,192,0,0,0,5,5,211,232,5,5,117,228,5,5,119,237,5,5,234,232,5,5,150,226,5,5,8,243,192,0,0,0,192,0,0,0,5,5,10,243,5,5,248,235,192,0,0,0,192,0,0,0,5,5,78,236,192,0,0,0,192,0,0,0,5,5,95,227,192,0,0,0,192,0,0,0,5,5,134,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,242,5,5,197,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,238,5,5,252,242,5,5,117,235,5,5,251,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,230,5,5,38,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,231,192,0,0,0,5,5,48,234,5,5,6,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,243,5,5,253,242,192,0,0,0,5,5,2,243,5,5,133,225,192,0,0,0,192,0,0,0,5,5,203,236,192,0,0,0,5,5,4,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,236,5,5,93,225,192,0,0,0,5,5,196,227,192,0,0,0,192,0,0,0,5,5,46,233,192,0,0,0,5,5,56,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,227,192,0,0,0,5,5,3,236,192,0,0,0,5,5,73,234,5,5,71,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,236,192,0,0,0,5,5,9,243,5,5,67,238,5,5,254,242,192,0,0,0,5,5,115,228,5,5,3,243,192,0,0,0,192,0,0,0,5,5,216,236,192,0,0,0,5,5,7,243,5,5,56,233,192,0,0,0,192,0,0,0,5,5,250,242,192,0,0,0,192,0,0,0,5,5,215,236,192,0,0,0,192,0,0,0,5,5,128,232,5,5,255,225,192,0,0,0,5,5,78,237,5,5,111,224,5,5,21,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,234,192,0,0,0,5,5,11,243,192,0,0,0,5,5,212,234,192,0,0,0,5,5,207,226,192,0,0,0,192,0,0,0,5,5,20,243,192,0,0,0,5,5,86,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,236,192,0,0,0,5,5,242,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,231,5,5,22,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,234,5,5,13,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,243,5,5,19,243,192,0,0,0,5,5,176,227,192,0,0,0,5,5,94,235,192,0,0,0,192,0,0,0,5,5,111,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,243,192,0,0,0,192,0,0,0,5,5,12,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,234,5,5,72,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,229,192,0,0,0,5,5,116,228,5,5,17,243,192,0,0,0,192,0,0,0,5,5,188,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,243,5,5,6,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,230,192,0,0,0,192,0,0,0,5,5,39,243,192,0,0,0,192,0,0,0,5,5,123,236,192,0,0,0,192,0,0,0,5,5,29,243,192,0,0,0,5,5,30,243,192,0,0,0,192,0,0,0,5,5,34,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,233,192,0,0,0,5,5,24,243,5,5,15,243,192,0,0,0,5,5,35,243,192,0,0,0,5,5,188,232,5,5,33,243,192,0,0,0,192,0,0,0,5,5,77,231,5,5,32,243,192,0,0,0,5,5,31,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,225,5,5,38,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,243,192,0,0,0,5,5,188,227,192,0,0,0,5,5,64,238,5,5,43,234,5,5,204,245,192,0,0,0,5,5,34,243,192,0,0,0,192,0,0,0,5,5,74,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,237,5,5,23,243,5,5,26,243,5,5,162,230,5,5,28,243,192,0,0,0,5,5,115,230,5,5,174,229,5,5,120,230,192,0,0,0,5,5,83,224,5,5,14,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,232,192,0,0,0,192,0,0,0,5,5,51,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,229,5,5,19,236,5,5,44,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,243,5,5,50,243,5,5,166,230,192,0,0,0,5,5,27,243,192,0,0,0,5,5,46,243,192,0,0,0,5,5,156,233,192,0,0,0,5,5,116,237,192,0,0,0,192,0,0,0,5,5,47,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,243,5,5,42,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,243,192,0,0,0,5,5,195,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,232,192,0,0,0,5,5,98,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,234,5,5,203,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,243,192,0,0,0,5,5,49,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,243,192,0,0,0,5,5,59,243,192,0,0,0,5,5,58,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,224,5,5,53,243,192,0,0,0,192,0,0,0,5,5,55,243,5,5,54,243,5,5,176,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,162,192,0,0,0,192,0,0,0,5,5,64,243,192,0,0,0,192,0,0,0,5,5,63,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,228,192,0,0,0,5,5,65,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,243,5,5,82,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,243,192,0,0,0,5,5,69,243,5,5,66,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,243,5,5,70,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,243,5,5,73,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,227,192,0,0,0,192,0,0,0,5,5,76,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,228,5,5,21,246,5,5,246,230,192,0,0,0,5,5,158,225,5,5,226,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,230,5,5,64,237,192,0,0,0,5,5,240,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,238,192,0,0,0,5,5,40,237,5,5,143,224,5,5,240,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,230,5,5,48,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,224,192,0,0,0,5,5,146,232,5,5,71,229,5,5,242,245,192,0,0,0,192,0,0,0,5,5,217,237,192,0,0,0,192,0,0,0,5,5,241,245,5,5,243,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,245,5,5,20,229,5,5,27,234,5,5,158,231,5,5,232,228,192,0,0,0,5,5,248,245,192,0,0,0,5,5,92,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,245,5,5,88,237,5,5,187,225,192,0,0,0,5,5,244,245,5,5,254,229,5,5,253,224,192,0,0,0,192,0,0,0,5,5,245,245,5,5,180,233,5,5,173,229,5,5,90,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,230,192,0,0,0,5,5,250,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,227,5,5,189,229,192,0,0,0,5,5,2,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,229,192,0,0,0,5,5,73,226,5,5,21,233,5,5,249,245,5,5,242,227,192,0,0,0,5,5,40,234,5,5,203,228,5,5,168,232,192,0,0,0,5,5,33,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,234,192,0,0,0,5,5,175,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,235,5,5,106,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,245,192,0,0,0,192,0,0,0,5,5,252,245,192,0,0,0,5,5,208,227,5,5,253,245,192,0,0,0,5,5,22,246,5,5,24,224,5,5,111,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,245,5,5,28,236,5,5,255,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,246,192,0,0,0,5,5,221,227,192,0,0,0,5,5,85,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,246,192,0,0,0,5,5,245,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,230,192,0,0,0,5,5,23,246,5,5,133,237,5,5,4,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,246,5,5,2,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,246,192,0,0,0,5,5,9,246,192,0,0,0,192,0,0,0,5,5,253,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,246,5,5,15,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,233,5,5,14,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,156,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,246,192,0,0,0,5,5,12,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,246,5,5,22,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,237,192,0,0,0,5,5,17,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,246,192,0,0,0,5,5,20,238,192,0,0,0,5,5,132,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,245,5,5,0,140,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,229,5,5,172,226,5,5,67,236,5,5,0,180,5,5,209,225,192,0,0,0,5,5,127,238,192,0,0,0,5,5,168,233,192,0,0,0,5,5,187,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,231,5,5,0,196,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,231,5,5,141,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,245,192,0,0,0,192,0,0,0,5,5,244,235,192,0,0,0,5,5,103,231,192,0,0,0,5,5,104,245,192,0,0,0,5,5,24,231,192,0,0,0,5,5,27,231,5,5,184,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,245,5,5,39,231,192,0,0,0,5,5,9,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,245,5,5,106,245,192,0,0,0,192,0,0,0,5,5,60,233,192,0,0,0,192,0,0,0,5,5,37,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,234,5,5,24,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,245,5,5,108,245,5,5,36,235,5,5,209,229,192,0,0,0,192,0,0,0,5,5,109,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,225,5,5,110,245,192,0,0,0,5,5,111,245,192,0,0,0,5,5,112,245,192,0,0,0,192,0,0,0,5,5,113,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,232,5,5,13,242,192,0,0,0,5,5,78,226,5,5,14,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,242,192,0,0,0,5,5,34,238,5,5,16,242,5,5,17,242,5,5,190,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,242,5,5,125,229,5,5,18,242,5,5,170,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,242,5,5,20,242,192,0,0,0,5,5,174,227,192,0,0,0,5,5,22,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,227,192,0,0,0,5,5,253,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,231,192,0,0,0,5,5,143,227,5,5,148,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,242,5,5,25,242,192,0,0,0,192,0,0,0,5,5,246,225,5,5,57,235,5,5,70,233,5,5,24,242,5,5,168,237,5,5,238,236,5,5,26,242,5,5,30,242,5,5,27,242,192,0,0,0,192,0,0,0,5,5,28,242,5,5,212,229,192,0,0,0,5,5,32,242,5,5,33,242,5,5,177,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,242,192,0,0,0,5,5,31,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,242,192,0,0,0,5,5,40,242,5,5,186,224,5,5,34,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,230,5,5,126,224,5,5,39,242,5,5,38,242,192,0,0,0,192,0,0,0,5,5,36,242,5,5,41,242,192,0,0,0,192,0,0,0,5,5,43,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,235,5,5,251,237,5,5,174,230,5,5,44,242,192,0,0,0,5,5,79,235,192,0,0,0,192,0,0,0,5,5,46,242,192,0,0,0,192,0,0,0,5,5,161,227,192,0,0,0,192,0,0,0,5,5,246,244,5,5,45,242,5,5,42,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,227,5,5,5,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,242,192,0,0,0,192,0,0,0,5,5,47,242,192,0,0,0,5,5,247,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,242,5,5,251,233,192,0,0,0,5,5,52,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,235,192,0,0,0,192,0,0,0,5,5,114,230,192,0,0,0,5,5,227,236,192,0,0,0,5,5,175,234,192,0,0,0,192,0,0,0,5,5,58,244,192,0,0,0,192,0,0,0,5,5,59,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,244,192,0,0,0,192,0,0,0,5,5,61,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,234,192,0,0,0,5,5,187,230,192,0,0,0,192,0,0,0,5,5,60,244,5,5,199,227,5,5,78,235,192,0,0,0,5,5,43,230,5,5,67,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,244,192,0,0,0,192,0,0,0,5,5,78,244,5,5,95,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,244,192,0,0,0,5,5,64,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,244,5,5,69,244,5,5,248,232,192,0,0,0,192,0,0,0,5,5,148,237,192,0,0,0,5,5,63,244,5,5,63,226,5,5,65,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,244,192,0,0,0,5,5,247,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,244,192,0,0,0,5,5,76,244,192,0,0,0,5,5,75,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,232,192,0,0,0,5,5,175,229,5,5,215,229,192,0,0,0,192,0,0,0,5,5,58,230,5,5,74,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,244,5,5,242,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,244,5,5,89,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,238,192,0,0,0,192,0,0,0,5,5,84,244,5,5,83,244,192,0,0,0,5,5,85,244,192,0,0,0,5,5,81,244,192,0,0,0,5,5,88,244,192,0,0,0,5,5,87,244,192,0,0,0,5,5,86,244,192,0,0,0,192,0,0,0,5,5,31,230,5,5,91,232,5,5,193,231,5,5,135,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,244,192,0,0,0,5,5,93,244,192,0,0,0,5,5,95,244,5,5,169,227,5,5,82,244,5,5,92,244,192,0,0,0,5,5,208,232,5,5,232,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,244,192,0,0,0,192,0,0,0,5,5,57,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,236,5,5,96,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,244,192,0,0,0,5,5,101,244,5,5,102,244,192,0,0,0,5,5,239,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,244,192,0,0,0,192,0,0,0,5,5,100,244,192,0,0,0,5,5,108,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,244,192,0,0,0,5,5,105,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,244,5,5,106,244,5,5,107,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,227,192,0,0,0,5,5,90,247,192,0,0,0,5,5,91,247,192,0,0,0,5,5,210,231,5,5,0,200,5,5,159,232,192,0,0,0,5,5,153,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,234,5,5,39,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,245,192,0,0,0,5,5,225,231,5,5,67,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,240,192,0,0,0,5,5,42,245,192,0,0,0,5,5,43,245,192,0,0,0,5,5,44,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,226,5,5,20,241,5,5,53,233,192,0,0,0,5,5,76,234,192,0,0,0,192,0,0,0,5,5,58,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,233,192,0,0,0,192,0,0,0,5,5,181,236,5,5,162,233,192,0,0,0,5,5,154,226,5,5,92,247,5,5,32,224,192,0,0,0,5,5,84,243,5,5,75,234,5,5,187,236,5,5,71,228,5,5,42,233,192,0,0,0,5,5,191,225,192,0,0,0,5,5,54,231,5,5,193,225,192,0,0,0,5,5,158,246,5,5,189,227,192,0,0,0,192,0,0,0,5,5,56,244,192,0,0,0,5,5,159,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,224,192,0,0,0,192,0,0,0,5,5,162,246,192,0,0,0,192,0,0,0,5,5,161,246,5,5,181,228,192,0,0,0,5,5,160,246,5,5,207,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,230,5,5,182,239,5,5,163,246,5,5,201,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,230,5,5,12,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,246,192,0,0,0,5,5,7,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,228,5,5,165,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,246,192,0,0,0,192,0,0,0,5,5,124,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,233,192,0,0,0,5,5,93,236,5,5,136,247,192,0,0,0,5,5,137,247,192,0,0,0,5,5,138,247,5,5,16,230,192,0,0,0,5,5,225,226,5,5,250,228,192,0,0,0,192,0,0,0,5,5,140,247,192,0,0,0,5,5,117,231,5,5,139,247,5,5,39,236,192,0,0,0,5,5,142,247,5,5,0,170,5,5,184,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,236,5,5,141,247,192,0,0,0,5,5,41,225,5,5,126,226,5,5,148,247,5,5,147,247,5,5,197,231,5,5,143,247,5,5,144,247,5,5,61,225,192,0,0,0,192,0,0,0,5,5,145,247,5,5,158,237,192,0,0,0,192,0,0,0,5,5,55,234,5,5,254,228,5,5,34,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,247,5,5,149,247,5,5,146,247,5,5,93,224,192,0,0,0,5,5,176,237,5,5,170,236,5,5,227,228,5,5,140,232,192,0,0,0,192,0,0,0,5,5,152,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,236,192,0,0,0,5,5,218,237,5,5,141,227,5,5,151,247,192,0,0,0,5,5,241,225,192,0,0,0,192,0,0,0,5,5,110,234,192,0,0,0,192,0,0,0,5,5,200,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,229,5,5,153,247,5,5,156,247,192,0,0,0,5,5,155,247,5,5,158,247,5,5,154,247,192,0,0,0,5,5,206,227,5,5,157,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,234,5,5,160,247,192,0,0,0,192,0,0,0,5,5,239,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,224,192,0,0,0,192,0,0,0,5,5,161,247,192,0,0,0,192,0,0,0,5,5,162,247,5,5,164,247,5,5,91,225,192,0,0,0,5,5,159,247,192,0,0,0,5,5,165,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,247,192,0,0,0,5,5,166,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,247,192,0,0,0,5,5,167,247,5,5,170,247,5,5,172,247,192,0,0,0,5,5,173,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,234,5,5,176,247,192,0,0,0,5,5,175,247,192,0,0,0,5,5,64,230,5,5,169,247,5,5,123,233,192,0,0,0,192,0,0,0,5,5,107,225,5,5,79,224,5,5,13,234,192,0,0,0,5,5,178,247,192,0,0,0,192,0,0,0,5,5,179,247,192,0,0,0,192,0,0,0,5,5,184,247,5,5,126,237,5,5,181,247,192,0,0,0,192,0,0,0,5,5,147,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,247,192,0,0,0,5,5,183,247,5,5,180,247,5,5,177,247,192,0,0,0,192,0,0,0,5,5,182,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,135,5,5,185,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,247,192,0,0,0,5,5,189,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,247,192,0,0,0,5,5,186,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,227,192,0,0,0,192,0,0,0,5,5,159,225,192,0,0,0,5,5,0,181,5,5,0,183,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,237,192,0,0,0,5,5,156,225,192,0,0,0,5,5,162,228,5,5,218,227,5,5,85,247,192,0,0,0,192,0,0,0,5,5,210,226,192,0,0,0,192,0,0,0,5,5,86,247,192,0,0,0,192,0,0,0,5,5,0,134,192,0,0,0,5,5,87,247,192,0,0,0,192,0,0,0,5,5,168,234,192,0,0,0,192,0,0,0,5,5,88,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,238,192,0,0,0,192,0,0,0,5,5,89,247,5,5,107,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,231,192,0,0,0,192,0,0,0,5,5,243,237,5,5,240,247,192,0,0,0,5,5,241,247,192,0,0,0,192,0,0,0,5,5,108,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,230,192,0,0,0,192,0,0,0,5,5,205,236,192,0,0,0,192,0,0,0,5,5,223,237,5,5,172,231,192,0,0,0,5,5,161,236,192,0,0,0,5,5,122,236,192,0,0,0,192,0,0,0,5,5,177,246,5,5,0,153,5,5,101,237,5,5,4,236,5,5,80,228,5,5,130,227,192,0,0,0,5,5,132,229,192,0,0,0,5,5,187,226,5,5,153,225,5,5,144,231,192,0,0,0,192,0,0,0,5,5,64,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,231,5,5,216,225,192,0,0,0,5,5,126,246,5,5,170,230,192,0,0,0,5,5,191,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,235,5,5,129,246,192,0,0,0,192,0,0,0,5,5,146,231,192,0,0,0,5,5,20,226,192,0,0,0,192,0,0,0,5,5,63,233,192,0,0,0,192,0,0,0,5,5,127,246,192,0,0,0,192,0,0,0,5,5,130,246,5,5,131,246,5,5,194,230,192,0,0,0,5,5,64,229,192,0,0,0,5,5,128,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,246,5,5,132,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,237,5,5,229,230,192,0,0,0,5,5,133,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,246,192,0,0,0,5,5,83,237,5,5,215,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,246,192,0,0,0,5,5,214,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,246,5,5,128,229,5,5,26,229,5,5,138,246,192,0,0,0,5,5,83,234,192,0,0,0,5,5,17,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,238,5,5,166,237,192,0,0,0,5,5,142,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,246,5,5,140,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,246,5,5,210,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,233,5,5,145,246,5,5,243,225,192,0,0,0,5,5,146,246,5,5,38,231,192,0,0,0,5,5,144,246,192,0,0,0,192,0,0,0,5,5,172,228,5,5,131,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,246,5,5,134,238,5,5,147,246,5,5,150,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,230,5,5,14,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,246,5,5,148,246,5,5,49,235,192,0,0,0,192,0,0,0,5,5,152,246,5,5,159,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,246,5,5,154,246,192,0,0,0,5,5,175,240,192,0,0,0,192,0,0,0,5,5,213,231,192,0,0,0,5,5,72,232,192,0,0,0,5,5,5,238,5,5,161,225,192,0,0,0,5,5,174,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,246,192,0,0,0,192,0,0,0,5,5,101,234,192,0,0,0,5,5,156,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,237,192,0,0,0,5,5,157,246,192,0,0,0,5,5,170,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,230,5,5,242,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,233,5,5,103,236,192,0,0,0,5,5,184,237,192,0,0,0,5,5,66,247,192,0,0,0,5,5,6,229,192,0,0,0,5,5,145,228,5,5,67,247,5,5,4,226,5,5,0,137,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,233,192,0,0,0,192,0,0,0,5,5,72,246,192,0,0,0,5,5,73,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,235,5,5,69,226,5,5,127,229,5,5,74,246,5,5,147,230,5,5,238,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,246,192,0,0,0,192,0,0,0,5,5,26,232,5,5,63,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,246,5,5,188,231,192,0,0,0,5,5,6,236,192,0,0,0,5,5,23,238,5,5,76,246,5,5,77,246,192,0,0,0,5,5,24,236,192,0,0,0,5,5,81,246,5,5,82,246,192,0,0,0,5,5,86,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,246,192,0,0,0,5,5,88,246,5,5,96,246,5,5,152,237,192,0,0,0,5,5,91,246,192,0,0,0,192,0,0,0,5,5,89,246,5,5,80,246,192,0,0,0,192,0,0,0,5,5,173,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,231,192,0,0,0,192,0,0,0,5,5,41,233,5,5,36,237,5,5,83,246,5,5,84,246,5,5,85,246,5,5,87,246,192,0,0,0,5,5,227,229,192,0,0,0,5,5,27,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,227,192,0,0,0,5,5,98,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,246,192,0,0,0,5,5,92,246,192,0,0,0,5,5,97,246,192,0,0,0,5,5,18,235,192,0,0,0,192,0,0,0,5,5,178,233,5,5,94,246,5,5,95,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,246,5,5,60,230,5,5,164,236,5,5,93,246,5,5,151,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,246,192,0,0,0,5,5,199,225,192,0,0,0,192,0,0,0,5,5,93,230,5,5,0,139,5,5,229,233,192,0,0,0,192,0,0,0,5,5,12,224,192,0,0,0,5,5,102,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,234,5,5,186,225,192,0,0,0,5,5,103,246,5,5,101,246,5,5,105,246,192,0,0,0,192,0,0,0,5,5,210,225,192,0,0,0,5,5,106,246,192,0,0,0,5,5,107,246,192,0,0,0,5,5,110,246,192,0,0,0,5,5,42,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,231,5,5,94,228,5,5,108,246,5,5,24,234,5,5,166,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,231,192,0,0,0,192,0,0,0,5,5,63,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,246,5,5,196,229,5,5,98,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,246,5,5,80,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,246,192,0,0,0,5,5,117,246,192,0,0,0,192,0,0,0,5,5,33,230,192,0,0,0,192,0,0,0,5,5,215,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,233,5,5,30,246,5,5,219,229,192,0,0,0,5,5,39,233,192,0,0,0,5,5,31,246,5,5,18,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,246,192,0,0,0,5,5,17,232,5,5,33,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,246,192,0,0,0,192,0,0,0,5,5,84,238,5,5,39,246,192,0,0,0,192,0,0,0,5,5,37,246,5,5,34,246,5,5,35,246,5,5,17,238,5,5,49,233,5,5,234,233,5,5,40,246,192,0,0,0,5,5,38,246,192,0,0,0,192,0,0,0,5,5,97,235,192,0,0,0,5,5,42,246,5,5,211,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,228,192,0,0,0,5,5,41,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,225,5,5,8,228,192,0,0,0,5,5,43,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,239,5,5,201,228,192,0,0,0,192,0,0,0,5,5,99,230,5,5,44,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,236,5,5,122,238,5,5,213,229,192,0,0,0,5,5,95,232,5,5,126,227,192,0,0,0,5,5,185,235,5,5,185,233,192,0,0,0,5,5,116,234,192,0,0,0,192,0,0,0,5,5,197,226,192,0,0,0,192,0,0,0,5,5,90,224,192,0,0,0,5,5,113,232,192,0,0,0,5,5,228,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,229,5,5,241,230,192,0,0,0,192,0,0,0,5,5,69,247,192,0,0,0,192,0,0,0,5,5,222,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,247,5,5,237,224,192,0,0,0,5,5,90,232,5,5,35,236,192,0,0,0,5,5,214,237,192,0,0,0,5,5,72,247,192,0,0,0,5,5,70,247,192,0,0,0,5,5,15,228,5,5,224,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,228,192,0,0,0,192,0,0,0,5,5,90,236,192,0,0,0,5,5,240,227,192,0,0,0,192,0,0,0,5,5,25,235,192,0,0,0,5,5,76,247,5,5,75,247,192,0,0,0,192,0,0,0,5,5,73,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,224,192,0,0,0,5,5,20,233,5,5,172,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,247,192,0,0,0,192,0,0,0,5,5,0,188,192,0,0,0,192,0,0,0,5,5,215,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,247,192,0,0,0,5,5,9,225,192,0,0,0,192,0,0,0,5,5,187,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,247,192,0,0,0,5,5,79,247,192,0,0,0,5,5,150,225,5,5,74,228,5,5,14,228,192,0,0,0,5,5,217,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,235,192,0,0,0,5,5,235,228,5,5,112,232,5,5,194,247,5,5,195,247,5,5,97,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,225,5,5,196,247,5,5,117,234,192,0,0,0,5,5,86,232,5,5,93,237,192,0,0,0,5,5,197,247,192,0,0,0,5,5,198,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,236,5,5,221,237,192,0,0,0,192,0,0,0,5,5,199,247,5,5,159,228,5,5,42,225,5,5,233,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,225,5,5,233,234,192,0,0,0,5,5,107,229,5,5,201,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,229,5,5,200,247,192,0,0,0,5,5,203,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,247,5,5,204,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,233,192,0,0,0,192,0,0,0,5,5,110,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,228,5,5,229,228,5,5,114,237,192,0,0,0,192,0,0,0,5,5,46,229,192,0,0,0,5,5,105,234,5,5,193,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,228,192,0,0,0,5,5,3,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,237,5,5,141,248,192,0,0,0,192,0,0,0,5,5,142,248,192,0,0,0,5,5,193,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,248,5,5,145,248,192,0,0,0,5,5,0,168,192,0,0,0,5,5,143,248,192,0,0,0,5,5,147,248,5,5,237,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,248,192,0,0,0,5,5,124,235,192,0,0,0,192,0,0,0,5,5,40,224,5,5,146,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,248,192,0,0,0,5,5,169,225,192,0,0,0,192,0,0,0,5,5,161,248,192,0,0,0,5,5,156,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,248,5,5,157,248,5,5,145,226,192,0,0,0,5,5,29,224,192,0,0,0,5,5,152,248,5,5,148,248,5,5,178,225,192,0,0,0,5,5,154,248,192,0,0,0,192,0,0,0,5,5,155,248,192,0,0,0,5,5,159,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,248,192,0,0,0,5,5,83,228,192,0,0,0,5,5,71,230,192,0,0,0,5,5,160,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,248,192,0,0,0,5,5,150,248,192,0,0,0,5,5,160,225,192,0,0,0,5,5,188,228,5,5,166,248,192,0,0,0,192,0,0,0,5,5,58,226,5,5,124,229,5,5,14,238,5,5,108,234,192,0,0,0,5,5,106,225,192,0,0,0,5,5,155,224,192,0,0,0,5,5,162,248,192,0,0,0,5,5,163,248,5,5,246,232,192,0,0,0,5,5,167,248,192,0,0,0,192,0,0,0,5,5,168,248,192,0,0,0,5,5,171,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,248,192,0,0,0,192,0,0,0,5,5,173,248,5,5,172,248,192,0,0,0,192,0,0,0,5,5,165,248,192,0,0,0,5,5,118,229,192,0,0,0,5,5,11,225,192,0,0,0,5,5,170,248,192,0,0,0,192,0,0,0,5,5,43,232,192,0,0,0,5,5,98,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,227,192,0,0,0,192,0,0,0,5,5,174,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,224,5,5,16,228,192,0,0,0,5,5,223,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,248,5,5,179,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,227,5,5,184,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,248,5,5,176,248,5,5,180,248,5,5,137,230,5,5,182,248,5,5,185,248,5,5,178,248,5,5,109,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,235,192,0,0,0,192,0,0,0,5,5,186,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,238,5,5,204,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,248,192,0,0,0,5,5,80,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,226,5,5,191,248,192,0,0,0,192,0,0,0,5,5,190,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,248,5,5,193,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,229,192,0,0,0,192,0,0,0,5,5,211,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,248,192,0,0,0,5,5,196,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,248,5,5,195,248,192,0,0,0,192,0,0,0,5,5,198,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,248,5,5,217,227,192,0,0,0,192,0,0,0,5,5,202,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,224,5,5,206,248,5,5,205,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,230,5,5,13,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,229,5,5,244,248,5,5,63,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,248,5,5,235,229,192,0,0,0,192,0,0,0,5,5,235,231,192,0,0,0,5,5,80,225,5,5,99,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,248,5,5,247,248,5,5,249,248,5,5,214,233,192,0,0,0,192,0,0,0,5,5,250,248,192,0,0,0,5,5,19,237,5,5,238,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,230,192,0,0,0,192,0,0,0,5,5,5,230,5,5,251,248,5,5,216,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,225,192,0,0,0,192,0,0,0,5,5,252,248,5,5,253,248,5,5,215,228,192,0,0,0,192,0,0,0,5,5,254,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,249,192,0,0,0,5,5,255,248,5,5,4,249,192,0,0,0,5,5,175,227,192,0,0,0,5,5,2,249,5,5,3,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,226,5,5,35,234,5,5,6,249,192,0,0,0,5,5,150,224,192,0,0,0,192,0,0,0,5,5,217,230,192,0,0,0,192,0,0,0,5,5,53,237,5,5,67,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,249,192,0,0,0,192,0,0,0,5,5,45,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,233,192,0,0,0,5,5,243,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,243,5,5,236,228,5,5,244,243,5,5,158,227,5,5,245,243,5,5,67,235,5,5,246,243,5,5,14,237,5,5,38,228,5,5,247,243,5,5,248,243,5,5,61,228,5,5,178,232,5,5,203,234,5,5,249,243,192,0,0,0,5,5,57,225,5,5,250,243,5,5,242,232,5,5,205,226,5,5,47,231,192,0,0,0,5,5,75,238,5,5,130,230,5,5,109,226,5,5,203,237,5,5,222,234,5,5,90,226,192,0,0,0,192,0,0,0,5,5,106,231,5,5,251,243,5,5,87,235,5,5,252,243,5,5,253,243,5,5,254,243,5,5,255,229,5,5,87,238,5,5,48,233,5,5,48,235,5,5,189,237,5,5,227,237,5,5,255,243,5,5,0,203,5,5,2,244,5,5,3,244,5,5,28,233,5,5,131,236,5,5,217,228,5,5,4,244,5,5,0,209,5,5,190,232,5,5,175,228,5,5,5,244,5,5,166,232,192,0,0,0,5,5,6,244,5,5,246,227,5,5,236,226,5,5,216,235,5,5,7,244,5,5,143,230,5,5,38,229,5,5,152,228,5,5,109,234,5,5,8,244,5,5,9,244,5,5,28,229,5,5,187,235,192,0,0,0,5,5,227,233,5,5,44,234,5,5,60,228,5,5,10,244,5,5,24,228,5,5,205,235,5,5,11,244,192,0,0,0,5,5,206,235,5,5,12,244,5,5,13,244,5,5,60,225,5,5,14,244,5,5,15,244,5,5,62,233,5,5,196,234,5,5,230,230,5,5,17,244,5,5,31,224,5,5,13,225,192,0,0,0,5,5,18,244,5,5,19,244,5,5,73,238,5,5,112,237,5,5,20,244,5,5,116,230,5,5,40,238,5,5,21,244,5,5,22,244,5,5,23,244,5,5,90,228,5,5,235,230,5,5,172,229,5,5,24,244,5,5,25,244,5,5,25,228,192,0,0,0,5,5,26,244,5,5,27,244,5,5,16,244,5,5,8,226,5,5,28,244,192,0,0,0,5,5,29,244,5,5,30,244,5,5,202,227,5,5,182,225,5,5,110,230,5,5,62,224,5,5,31,244,5,5,7,237,5,5,32,244,5,5,179,226,5,5,34,244,5,5,33,244,5,5,130,226,192,0,0,0,5,5,35,244,5,5,180,224,5,5,36,244,5,5,37,244,5,5,38,244,5,5,39,244,5,5,40,244,5,5,41,244,5,5,42,244,5,5,153,236,5,5,241,233,5,5,43,244,5,5,44,244,5,5,45,244,5,5,46,244,5,5,9,233,5,5,47,244,5,5,48,244,5,5,49,244,5,5,50,244,5,5,51,244,5,5,151,228,5,5,52,244,5,5,136,248,192,0,0,0,5,5,203,226,192,0,0,0,5,5,145,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,248,192,0,0,0,5,5,138,248,5,5,139,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,227,5,5,178,234,192,0,0,0,192,0,0,0,5,5,180,238,5,5,99,227,192,0,0,0,5,5,134,230,5,5,167,246,192,0,0,0,5,5,57,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,246,192,0,0,0,5,5,168,246,5,5,0,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,246,5,5,134,237,5,5,93,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,237,192,0,0,0,192,0,0,0,5,5,173,246,5,5,142,233,192,0,0,0,5,5,172,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,246,192,0,0,0,192,0,0,0,5,5,175,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,236,192,0,0,0,5,5,62,232,192,0,0,0,5,5,198,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,230,192,0,0,0,192,0,0,0,5,5,238,248,5,5,181,235,5,5,239,248,192,0,0,0,5,5,83,235,192,0,0,0,192,0,0,0,5,5,154,232,192,0,0,0,192,0,0,0,5,5,240,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,248,5,5,242,248,192,0,0,0,5,5,243,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,239,5,5,242,226,192,0,0,0,192,0,0,0,5,5,141,243,5,5,226,236,192,0,0,0,5,5,10,249,192,0,0,0,5,5,228,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,247,192,0,0,0,5,5,130,236,192,0,0,0,5,5,11,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,235,5,5,12,249,192,0,0,0,192,0,0,0,5,5,78,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,225,5,5,94,225,5,5,14,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,249,5,5,15,249,192,0,0,0,192,0,0,0,5,5,16,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,249,192,0,0,0,5,5,100,227,5,5,0,157,192,0,0,0,5,5,18,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,226,5,5,129,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,236,5,5,185,229,192,0,0,0,5,5,72,229,5,5,119,245,5,5,143,237,5,5,62,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,247,5,5,48,226,5,5,159,233,192,0,0,0,192,0,0,0,5,5,51,231,192,0,0,0,5,5,243,247,192,0,0,0,5,5,244,247,5,5,239,226,5,5,245,247,5,5,118,227,5,5,23,237,5,5,0,176,192,0,0,0,192,0,0,0,5,5,246,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,247,192,0,0,0,5,5,248,247,192,0,0,0,192,0,0,0,5,5,249,247,5,5,250,247,5,5,251,247,5,5,253,247,5,5,252,247,5,5,153,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,247,192,0,0,0,5,5,50,226,192,0,0,0,5,5,2,248,5,5,66,236,5,5,203,240,5,5,198,233,192,0,0,0,192,0,0,0,5,5,246,224,192,0,0,0,5,5,122,225,192,0,0,0,5,5,244,226,192,0,0,0,192,0,0,0,5,5,90,231,5,5,3,248,192,0,0,0,192,0,0,0,5,5,4,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,230,5,5,69,230,5,5,190,237,5,5,5,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,248,192,0,0,0,5,5,242,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,231,192,0,0,0,5,5,9,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,248,5,5,73,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,246,5,5,67,246,192,0,0,0,192,0,0,0,5,5,220,233,5,5,114,236,192,0,0,0,5,5,189,233,5,5,136,237,192,0,0,0,5,5,194,232,192,0,0,0,5,5,201,229,5,5,17,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,245,192,0,0,0,192,0,0,0,5,5,122,235,192,0,0,0,5,5,240,237,192,0,0,0,5,5,253,225,5,5,204,226,5,5,148,245,5,5,194,226,192,0,0,0,5,5,147,245,5,5,192,224,5,5,29,227,5,5,185,237,192,0,0,0,5,5,138,226,5,5,96,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,228,5,5,84,226,5,5,154,245,192,0,0,0,5,5,155,245,5,5,0,151,5,5,91,229,192,0,0,0,5,5,153,245,5,5,239,236,192,0,0,0,5,5,156,245,192,0,0,0,192,0,0,0,5,5,157,245,192,0,0,0,192,0,0,0,5,5,100,226,192,0,0,0,5,5,150,245,5,5,152,245,5,5,54,233,5,5,229,237,5,5,125,237,5,5,136,235,5,5,163,245,5,5,208,234,5,5,164,245,192,0,0,0,5,5,128,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,224,5,5,166,245,5,5,255,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,231,5,5,167,245,192,0,0,0,5,5,165,245,5,5,163,231,5,5,162,245,5,5,66,233,5,5,169,245,5,5,0,217,192,0,0,0,192,0,0,0,5,5,172,227,192,0,0,0,192,0,0,0,5,5,131,238,5,5,239,247,192,0,0,0,5,5,158,245,5,5,159,245,5,5,160,245,5,5,161,245,5,5,170,245,5,5,186,243,5,5,173,245,192,0,0,0,5,5,116,229,5,5,92,236,5,5,171,245,5,5,176,245,5,5,224,226,5,5,172,245,192,0,0,0,5,5,136,228,192,0,0,0,5,5,174,235,192,0,0,0,5,5,0,149,192,0,0,0,5,5,177,245,5,5,66,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,225,192,0,0,0,192,0,0,0,5,5,158,230,5,5,41,228,192,0,0,0,192,0,0,0,5,5,174,245,5,5,175,245,5,5,50,237,5,5,14,232,5,5,58,231,5,5,179,245,5,5,107,231,5,5,33,239,192,0,0,0,5,5,109,224,192,0,0,0,5,5,184,245,192,0,0,0,5,5,147,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,245,192,0,0,0,192,0,0,0,5,5,160,226,192,0,0,0,5,5,139,234,5,5,185,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,245,192,0,0,0,5,5,251,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,234,192,0,0,0,5,5,186,245,192,0,0,0,5,5,154,229,5,5,76,236,5,5,187,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,226,5,5,161,226,192,0,0,0,5,5,188,245,5,5,61,232,5,5,173,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,245,5,5,191,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,235,192,0,0,0,5,5,198,245,192,0,0,0,5,5,194,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,245,5,5,217,232,192,0,0,0,5,5,50,236,5,5,192,245,192,0,0,0,192,0,0,0,5,5,189,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,226,5,5,81,235,5,5,75,231,5,5,195,245,5,5,196,245,5,5,54,234,5,5,130,234,5,5,0,208,192,0,0,0,5,5,202,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,245,192,0,0,0,5,5,110,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,226,192,0,0,0,5,5,203,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,224,192,0,0,0,192,0,0,0,5,5,33,234,5,5,10,231,5,5,29,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,245,192,0,0,0,192,0,0,0,5,5,212,245,192,0,0,0,5,5,182,231,192,0,0,0,5,5,206,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,242,5,5,210,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,234,5,5,211,245,5,5,57,224,5,5,169,236,192,0,0,0,192,0,0,0,5,5,112,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,245,192,0,0,0,5,5,207,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,245,192,0,0,0,192,0,0,0,5,5,66,238,192,0,0,0,5,5,211,248,5,5,16,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,237,5,5,208,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,237,5,5,246,228,192,0,0,0,5,5,207,248,192,0,0,0,5,5,60,236,5,5,208,248,5,5,209,248,192,0,0,0,5,5,210,248,5,5,247,228,5,5,209,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,233,5,5,33,233,192,0,0,0,192,0,0,0,5,5,140,248,192,0,0,0,5,5,132,233,192,0,0,0,5,5,78,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,242,5,5,176,233,192,0,0,0,5,5,2,235,5,5,233,237,192,0,0,0,5,5,213,248,5,5,214,248,5,5,215,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,248,192,0,0,0,5,5,111,227,5,5,219,248,5,5,0,193,5,5,216,248,192,0,0,0,5,5,217,248,5,5,112,228,5,5,145,224,192,0,0,0,5,5,222,248,5,5,223,248,5,5,30,226,5,5,108,224,5,5,71,235,5,5,220,248,5,5,38,225,192,0,0,0,5,5,221,248,192,0,0,0,192,0,0,0,5,5,224,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,248,192,0,0,0,192,0,0,0,5,5,97,234,192,0,0,0,5,5,226,248,192,0,0,0,5,5,227,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,233,192,0,0,0,5,5,229,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,249,5,5,6,230,5,5,88,228,192,0,0,0,5,5,233,232,5,5,20,236,5,5,145,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,239,5,5,105,236,192,0,0,0,192,0,0,0,5,5,250,239,5,5,0,138,5,5,251,239,192,0,0,0,192,0,0,0,5,5,168,228,192,0,0,0,5,5,255,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,238,192,0,0,0,5,5,253,239,5,5,229,236,192,0,0,0,5,5,22,233,5,5,2,240,5,5,252,239,192,0,0,0,5,5,3,240,5,5,168,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,240,5,5,13,240,5,5,5,240,192,0,0,0,192,0,0,0,5,5,247,234,5,5,179,237,192,0,0,0,5,5,23,240,192,0,0,0,5,5,21,240,192,0,0,0,192,0,0,0,5,5,26,240,5,5,180,228,5,5,83,230,192,0,0,0,5,5,254,239,5,5,19,240,5,5,22,240,5,5,6,240,5,5,104,226,5,5,0,163,5,5,15,240,5,5,148,235,5,5,9,240,5,5,184,227,192,0,0,0,5,5,82,226,5,5,20,240,192,0,0,0,192,0,0,0,5,5,14,240,5,5,7,240,5,5,93,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,235,5,5,8,240,192,0,0,0,192,0,0,0,5,5,18,240,192,0,0,0,192,0,0,0,5,5,24,240,192,0,0,0,192,0,0,0,5,5,197,234,5,5,10,240,192,0,0,0,5,5,11,240,5,5,16,240,5,5,17,240,5,5,144,224,5,5,25,240,5,5,209,233,192,0,0,0,5,5,9,237,5,5,35,240,5,5,39,240,5,5,2,234,5,5,46,240,192,0,0,0,5,5,237,230,5,5,36,240,192,0,0,0,192,0,0,0,5,5,77,229,5,5,33,240,192,0,0,0,5,5,0,216,5,5,10,227,5,5,45,240,5,5,27,240,192,0,0,0,5,5,12,240,5,5,30,240,5,5,212,232,5,5,108,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,224,192,0,0,0,5,5,148,236,192,0,0,0,192,0,0,0,5,5,34,240,192,0,0,0,192,0,0,0,5,5,29,240,192,0,0,0,5,5,221,231,192,0,0,0,5,5,38,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,238,5,5,181,230,5,5,76,226,5,5,83,232,5,5,175,230,5,5,42,240,5,5,32,240,5,5,51,240,5,5,28,240,192,0,0,0,192,0,0,0,5,5,37,240,192,0,0,0,5,5,209,228,5,5,31,240,192,0,0,0,5,5,40,240,192,0,0,0,192,0,0,0,5,5,43,240,5,5,44,240,192,0,0,0,5,5,64,240,192,0,0,0,192,0,0,0,5,5,41,240,5,5,72,240,5,5,47,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,228,5,5,62,225,192,0,0,0,192,0,0,0,5,5,169,230,5,5,163,224,5,5,66,240,192,0,0,0,5,5,58,240,192,0,0,0,5,5,55,240,192,0,0,0,5,5,68,240,5,5,54,240,5,5,132,236,5,5,164,224,192,0,0,0,5,5,183,232,5,5,195,232,5,5,67,240,192,0,0,0,5,5,53,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,240,192,0,0,0,192,0,0,0,5,5,61,240,192,0,0,0,192,0,0,0,5,5,207,228,5,5,60,240,192,0,0,0,5,5,153,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,240,5,5,102,228,5,5,48,240,5,5,212,227,192,0,0,0,5,5,221,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,228,5,5,49,240,5,5,50,240,192,0,0,0,5,5,57,240,5,5,62,240,5,5,65,240,5,5,140,225,192,0,0,0,5,5,185,232,5,5,247,227,5,5,70,240,5,5,69,240,5,5,157,236,5,5,71,240,5,5,73,240,5,5,75,240,5,5,133,236,5,5,74,240,5,5,76,240,5,5,77,240,5,5,61,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,227,5,5,79,240,192,0,0,0,192,0,0,0,5,5,92,240,5,5,87,240,5,5,90,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,240,5,5,240,231,192,0,0,0,192,0,0,0,5,5,220,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,240,5,5,84,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,240,192,0,0,0,192,0,0,0,5,5,56,240,5,5,85,240,192,0,0,0,5,5,94,240,192,0,0,0,5,5,82,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,240,5,5,89,240,5,5,83,240,5,5,16,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,240,5,5,157,229,5,5,243,229,5,5,80,240,5,5,81,240,192,0,0,0,5,5,88,240,5,5,3,228,5,5,91,240,5,5,154,236,5,5,96,240,192,0,0,0,5,5,97,240,5,5,173,230,192,0,0,0,192,0,0,0,5,5,120,240,5,5,98,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,240,192,0,0,0,5,5,17,227,192,0,0,0,192,0,0,0,5,5,3,229,192,0,0,0,5,5,40,229,192,0,0,0,192,0,0,0,5,5,124,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,240,192,0,0,0,5,5,107,240,192,0,0,0,5,5,101,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,224,5,5,105,240,192,0,0,0,5,5,113,240,5,5,96,224,5,5,123,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,231,5,5,118,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,240,5,5,44,230,5,5,92,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,240,5,5,117,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,240,192,0,0,0,5,5,115,240,5,5,45,234,192,0,0,0,5,5,111,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,240,5,5,206,230,5,5,222,231,5,5,198,234,5,5,114,240,192,0,0,0,5,5,110,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,240,5,5,132,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,236,5,5,156,236,5,5,121,240,5,5,108,235,5,5,216,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,240,5,5,140,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,238,192,0,0,0,5,5,127,240,5,5,126,240,5,5,228,226,5,5,124,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,231,192,0,0,0,5,5,227,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,240,192,0,0,0,5,5,171,227,5,5,51,237,5,5,141,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,225,192,0,0,0,5,5,128,240,192,0,0,0,5,5,135,229,5,5,137,240,192,0,0,0,5,5,133,240,192,0,0,0,5,5,131,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,240,5,5,130,240,5,5,132,240,192,0,0,0,5,5,125,228,5,5,138,240,192,0,0,0,5,5,139,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,240,192,0,0,0,5,5,207,230,192,0,0,0,192,0,0,0,5,5,222,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,238,192,0,0,0,192,0,0,0,5,5,243,231,192,0,0,0,5,5,154,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,237,5,5,153,240,5,5,150,240,192,0,0,0,192,0,0,0,5,5,146,240,192,0,0,0,5,5,149,240,192,0,0,0,5,5,142,240,192,0,0,0,192,0,0,0,5,5,196,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,232,5,5,148,240,192,0,0,0,192,0,0,0,5,5,143,240,192,0,0,0,192,0,0,0,5,5,144,240,5,5,238,233,192,0,0,0,5,5,147,240,192,0,0,0,192,0,0,0,5,5,43,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,229,192,0,0,0,5,5,43,228,5,5,151,240,192,0,0,0,192,0,0,0,5,5,157,240,192,0,0,0,5,5,156,240,5,5,145,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,240,192,0,0,0,192,0,0,0,5,5,167,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,230,192,0,0,0,5,5,163,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,237,192,0,0,0,192,0,0,0,5,5,205,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,240,192,0,0,0,5,5,136,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,231,5,5,125,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,232,5,5,160,240,5,5,162,240,5,5,164,240,5,5,166,240,5,5,0,136,5,5,44,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,240,5,5,132,228,5,5,207,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,240,192,0,0,0,192,0,0,0,5,5,169,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,240,192,0,0,0,5,5,30,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,240,5,5,174,240,5,5,178,240,192,0,0,0,192,0,0,0,5,5,195,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,221,5,5,186,240,192,0,0,0,5,5,181,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,235,5,5,185,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,240,192,0,0,0,5,5,147,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,240,5,5,139,233,5,5,189,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,240,192,0,0,0,5,5,187,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,224,5,5,240,230,192,0,0,0,192,0,0,0,5,5,190,240,192,0,0,0,5,5,126,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,240,192,0,0,0,5,5,196,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,248,5,5,178,227,5,5,90,230,5,5,116,231,5,5,111,230,192,0,0,0,192,0,0,0,5,5,27,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,225,5,5,28,248,192,0,0,0,5,5,29,248,192,0,0,0,192,0,0,0,5,5,75,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,227,5,5,31,248,5,5,33,248,5,5,32,248,5,5,224,233,5,5,50,235,5,5,30,248,5,5,82,233,5,5,99,236,5,5,148,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,234,5,5,36,248,5,5,0,212,5,5,35,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,248,192,0,0,0,5,5,139,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,235,5,5,38,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,248,5,5,59,237,192,0,0,0,192,0,0,0,5,5,39,248,5,5,34,248,5,5,43,248,5,5,41,248,192,0,0,0,5,5,37,248,192,0,0,0,192,0,0,0,5,5,51,248,5,5,48,248,5,5,50,248,192,0,0,0,192,0,0,0,5,5,54,248,5,5,46,248,5,5,44,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,248,192,0,0,0,5,5,123,232,5,5,31,233,192,0,0,0,5,5,52,248,5,5,26,227,5,5,136,225,192,0,0,0,192,0,0,0,5,5,47,248,5,5,53,248,5,5,60,248,5,5,66,248,192,0,0,0,192,0,0,0,5,5,231,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,248,5,5,150,234,192,0,0,0,5,5,249,237,192,0,0,0,192,0,0,0,5,5,62,248,5,5,64,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,248,5,5,161,230,192,0,0,0,5,5,141,237,5,5,56,248,5,5,57,248,5,5,59,248,5,5,63,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,248,5,5,174,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,226,192,0,0,0,5,5,143,233,192,0,0,0,5,5,122,226,5,5,67,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,248,5,5,70,248,5,5,73,248,5,5,71,248,192,0,0,0,192,0,0,0,5,5,72,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,236,5,5,61,248,192,0,0,0,5,5,131,234,192,0,0,0,5,5,231,234,5,5,183,237,192,0,0,0,5,5,79,248,192,0,0,0,5,5,225,230,192,0,0,0,5,5,76,248,192,0,0,0,192,0,0,0,5,5,153,229,5,5,88,248,5,5,74,248,192,0,0,0,5,5,77,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,248,192,0,0,0,192,0,0,0,5,5,83,248,192,0,0,0,192,0,0,0,5,5,82,248,192,0,0,0,192,0,0,0,5,5,85,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,248,192,0,0,0,192,0,0,0,5,5,80,248,5,5,86,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,236,5,5,81,248,5,5,177,224,192,0,0,0,192,0,0,0,5,5,94,248,192,0,0,0,5,5,129,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,227,192,0,0,0,5,5,101,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,248,192,0,0,0,192,0,0,0,5,5,98,248,5,5,100,248,5,5,102,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,248,192,0,0,0,5,5,93,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,227,192,0,0,0,5,5,211,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,248,5,5,99,248,5,5,89,248,5,5,90,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,248,5,5,112,248,192,0,0,0,5,5,109,248,192,0,0,0,192,0,0,0,5,5,108,248,192,0,0,0,192,0,0,0,5,5,96,248,192,0,0,0,5,5,186,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,248,192,0,0,0,192,0,0,0,5,5,113,248,5,5,115,248,5,5,110,248,192,0,0,0,5,5,104,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,248,192,0,0,0,5,5,116,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,230,192,0,0,0,192,0,0,0,5,5,120,248,192,0,0,0,192,0,0,0,5,5,122,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,248,5,5,118,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,248,5,5,106,248,5,5,119,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,248,192,0,0,0,5,5,196,232,5,5,128,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,248,5,5,58,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,248,192,0,0,0,192,0,0,0,5,5,135,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,248,5,5,156,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,235,5,5,18,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,235,192,0,0,0,192,0,0,0,5,5,164,228,192,0,0,0,5,5,247,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,227,5,5,11,242,5,5,86,236,5,5,206,247,5,5,117,224,192,0,0,0,192,0,0,0,5,5,75,224,5,5,207,247,192,0,0,0,5,5,254,232,5,5,222,224,192,0,0,0,5,5,30,239,192,0,0,0,5,5,161,233,192,0,0,0,5,5,208,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,247,5,5,232,248,5,5,210,247,192,0,0,0,5,5,252,236,5,5,211,247,192,0,0,0,5,5,0,158,5,5,233,248,192,0,0,0,192,0,0,0,5,5,234,248,192,0,0,0,192,0,0,0,5,5,118,225,192,0,0,0,5,5,159,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,247,192,0,0,0,5,5,31,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,224,192,0,0,0,5,5,38,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,224,5,5,27,230,192,0,0,0,192,0,0,0,5,5,30,238,5,5,213,247,192,0,0,0,192,0,0,0,5,5,216,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,239,192,0,0,0,5,5,117,236,5,5,243,236,192,0,0,0,192,0,0,0,5,5,235,248,5,5,153,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,248,192,0,0,0,192,0,0,0,5,5,217,247,5,5,219,247,5,5,111,229,5,5,220,247,192,0,0,0,192,0,0,0,5,5,224,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,247,5,5,221,247,192,0,0,0,5,5,17,233,5,5,165,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,230,5,5,80,227,192,0,0,0,192,0,0,0,5,5,223,247,192,0,0,0,5,5,225,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,227,192,0,0,0,5,5,0,219,5,5,229,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,247,5,5,222,247,5,5,230,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,234,5,5,233,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,247,192,0,0,0,5,5,234,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,247,192,0,0,0,192,0,0,0,5,5,93,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,248,5,5,193,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,235,192,0,0,0,5,5,62,236,192,0,0,0,5,5,9,248,192,0,0,0,192,0,0,0,5,5,166,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,228,5,5,47,227,192,0,0,0,5,5,58,227,5,5,223,230,5,5,113,233,5,5,94,245,5,5,170,229,5,5,35,229,5,5,95,245,5,5,96,245,5,5,97,245,192,0,0,0,5,5,98,245,5,5,99,245,5,5,100,245,5,5,101,245,5,5,149,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,249,192,0,0,0,5,5,134,249,192,0,0,0,5,5,132,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,228,192,0,0,0,5,5,135,249,5,5,31,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,236,5,5,56,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,239,5,5,54,228,5,5,223,225,5,5,176,226,5,5,175,232,5,5,21,228,5,5,48,239,5,5,49,239,5,5,50,234,5,5,163,232,5,5,50,239,5,5,33,232,192,0,0,0,5,5,233,235,5,5,125,236,5,5,234,235,5,5,55,228,192,0,0,0,5,5,128,228,5,5,244,227,5,5,51,239,5,5,52,239,5,5,252,235,5,5,53,239,5,5,195,235,5,5,39,226,5,5,131,230,192,0,0,0,5,5,203,233,5,5,131,226,5,5,40,233,5,5,89,226,5,5,37,229,5,5,178,237,5,5,54,239,5,5,55,239,5,5,226,231,5,5,85,238,5,5,84,233,192,0,0,0,5,5,89,237,5,5,219,233,5,5,159,237,5,5,56,239,5,5,237,237,5,5,68,225,5,5,58,239,5,5,57,239,192,0,0,0,5,5,127,236,5,5,59,239,5,5,60,239,5,5,61,239,5,5,114,233,5,5,62,239,5,5,73,233,5,5,63,239,5,5,64,239,5,5,233,224,5,5,253,237,5,5,65,239,5,5,192,227,5,5,134,225,5,5,66,239,5,5,67,239,5,5,66,227,5,5,227,235,5,5,124,236,5,5,68,239,5,5,183,226,5,5,98,235,5,5,171,224,5,5,69,239,5,5,70,239,192,0,0,0,5,5,185,228,5,5,244,234,5,5,225,236,5,5,71,239,5,5,13,235,5,5,72,239,5,5,199,236,5,5,245,227,5,5,73,239,5,5,177,233,5,5,204,233,5,5,74,239,5,5,109,232,5,5,252,237,5,5,75,239,5,5,121,231,5,5,247,225,5,5,76,239,5,5,98,226,5,5,90,229,5,5,77,239,5,5,78,239,5,5,169,233,5,5,79,239,5,5,207,225,5,5,80,239,5,5,12,230,5,5,41,238,5,5,81,239,5,5,20,234,192,0,0,0,5,5,126,236,5,5,23,231,5,5,82,239,5,5,213,225,5,5,225,227,5,5,83,239,5,5,137,235,5,5,84,239,5,5,85,239,5,5,213,234,5,5,86,239,5,5,87,239,5,5,88,239,5,5,179,224,5,5,91,239,5,5,89,239,5,5,30,236,5,5,90,239,5,5,219,230,5,5,92,239,192,0,0,0,5,5,93,239,5,5,94,239,5,5,95,239,5,5,145,235,5,5,57,236,5,5,0,215,5,5,96,239,5,5,45,232,5,5,97,239,5,5,197,228,5,5,167,230,5,5,98,239,5,5,99,239,5,5,5,231,5,5,19,234,5,5,100,239,5,5,101,239,5,5,168,229,5,5,249,231,5,5,102,239,5,5,103,239,5,5,54,232,5,5,104,239,5,5,105,239,5,5,28,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,225,5,5,34,249,192,0,0,0,5,5,35,249,192,0,0,0,192,0,0,0,5,5,157,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,235,5,5,207,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,227,5,5,245,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,249,5,5,8,224,5,5,174,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,249,192,0,0,0,192,0,0,0,5,5,127,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,227,5,5,126,249,192,0,0,0,5,5,184,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,224,5,5,154,237,5,5,174,226,192,0,0,0,5,5,5,227,5,5,130,224,5,5,66,237,5,5,69,235,5,5,0,186,5,5,123,237,5,5,7,228,5,5,216,237,5,5,77,226,5,5,12,234,5,5,216,231,5,5,63,224,5,5,14,227,5,5,12,238,5,5,53,227,5,5,55,226,5,5,106,228,5,5,80,245,5,5,81,245,5,5,85,234,5,5,71,227,5,5,82,245,5,5,117,225,5,5,185,230,5,5,103,226,5,5,138,227,5,5,83,245,5,5,70,237,5,5,84,245,5,5,70,228,5,5,239,227,5,5,85,245,5,5,40,230,5,5,96,230,5,5,49,237,5,5,56,238,5,5,86,245,5,5,87,245,5,5,90,245,5,5,88,245,5,5,89,245,5,5,30,233,5,5,167,226,5,5,250,225,5,5,91,245,5,5,136,233,5,5,13,233,5,5,71,225,192,0,0,0,192,0,0,0,5,5,89,242,5,5,166,231,5,5,92,245,5,5,159,229,192,0,0,0,5,5,38,238,5,5,93,245,5,5,26,238,5,5,220,232,5,5,159,238,5,5,153,238,5,5,48,237,192,0,0,0,5,5,75,237,5,5,4,233,5,5,160,236,5,5,199,226,5,5,250,224,192,0,0,0,5,5,34,233,5,5,32,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,227,192,0,0,0,5,5,33,249,192,0,0,0,192,0,0,0,5,5,77,238,192,0,0,0,192,0,0,0,5,5,27,249,5,5,164,226,5,5,132,237,5,5,195,226,5,5,20,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,224,192,0,0,0,192,0,0,0,5,5,28,249,5,5,198,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,237,5,5,121,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,249,192,0,0,0,192,0,0,0,5,5,29,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,249,192,0,0,0,5,5,81,238,5,5,131,231,5,5,72,249,192,0,0,0,192,0,0,0,5,5,67,249,192,0,0,0,5,5,75,249,192,0,0,0,5,5,74,249,192,0,0,0,5,5,200,237,5,5,73,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,237,5,5,76,249,192,0,0,0,5,5,84,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,173,5,5,208,225,192,0,0,0,5,5,81,249,5,5,82,249,192,0,0,0,5,5,160,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,249,5,5,78,249,192,0,0,0,192,0,0,0,5,5,79,249,5,5,83,249,192,0,0,0,5,5,14,229,5,5,80,249,5,5,238,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,249,5,5,91,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,229,192,0,0,0,5,5,70,227,5,5,68,249,5,5,85,249,192,0,0,0,192,0,0,0,5,5,95,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,234,192,0,0,0,5,5,105,228,192,0,0,0,5,5,86,249,5,5,87,249,5,5,89,249,5,5,29,226,5,5,90,249,192,0,0,0,5,5,93,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,249,5,5,173,236,192,0,0,0,5,5,8,225,192,0,0,0,192,0,0,0,5,5,254,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,249,5,5,15,229,5,5,96,249,192,0,0,0,192,0,0,0,5,5,59,234,5,5,99,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,224,5,5,71,238,192,0,0,0,5,5,97,249,192,0,0,0,5,5,98,249,5,5,100,249,192,0,0,0,5,5,106,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,249,5,5,101,249,192,0,0,0,192,0,0,0,5,5,105,249,192,0,0,0,192,0,0,0,5,5,102,249,5,5,108,249,5,5,109,249,192,0,0,0,5,5,63,234,192,0,0,0,192,0,0,0,5,5,91,243,5,5,144,225,5,5,107,249,5,5,112,249,5,5,253,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,249,5,5,111,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,224,192,0,0,0,192,0,0,0,5,5,71,249,192,0,0,0,192,0,0,0,5,5,157,225,5,5,160,224,192,0,0,0,5,5,116,249,5,5,113,249,192,0,0,0,5,5,15,226,192,0,0,0,5,5,117,249,192,0,0,0,5,5,114,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,249,192,0,0,0,192,0,0,0,5,5,84,225,192,0,0,0,5,5,60,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,249,192,0,0,0,5,5,21,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,249,5,5,121,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,249,192,0,0,0,5,5,123,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,233,5,5,252,226,192,0,0,0,192,0,0,0,5,5,125,232,192,0,0,0,192,0,0,0,5,5,27,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,224,5,5,80,237,5,5,64,227,5,5,207,235,192,0,0,0,5,5,5,245,5,5,24,238,5,5,6,245,5,5,126,230,5,5,205,232,5,5,150,227,5,5,7,245,5,5,8,245,5,5,9,245,5,5,239,237,5,5,10,245,5,5,11,245,5,5,13,245,5,5,12,245,5,5,14,245,5,5,15,245,5,5,99,232,5,5,16,245,5,5,42,237,5,5,17,245,5,5,156,228,192,0,0,0,5,5,18,245,5,5,19,245,5,5,157,228,5,5,20,245,5,5,156,226,5,5,8,230,5,5,21,245,5,5,16,224,5,5,228,227,5,5,73,227,5,5,22,245,192,0,0,0,5,5,23,245,5,5,24,245,5,5,25,245,5,5,142,226,5,5,29,228,192,0,0,0,5,5,130,233,5,5,144,241,5,5,255,236,5,5,53,235,5,5,103,237,5,5,26,245,5,5,142,237,5,5,27,245,5,5,151,235,5,5,16,227,192,0,0,0,5,5,65,225,5,5,55,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,224,5,5,69,224,192,0,0,0,5,5,70,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,224,5,5,200,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,243,192,0,0,0,192,0,0,0,5,5,61,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,230,5,5,105,225,192,0,0,0,192,0,0,0,5,5,42,232,5,5,202,236,192,0,0,0,5,5,29,232,5,5,236,235,192,0,0,0,5,5,81,227,5,5,157,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,236,192,0,0,0,5,5,29,237,5,5,202,228,192,0,0,0,5,5,94,243,5,5,75,226,5,5,95,243,192,0,0,0,192,0,0,0,5,5,201,227,5,5,146,237,192,0,0,0,5,5,198,228,5,5,8,237,5,5,189,234,5,5,244,229,5,5,243,224,192,0,0,0,192,0,0,0,5,5,82,234,192,0,0,0,5,5,98,243,5,5,96,243,5,5,100,243,192,0,0,0,5,5,102,243,5,5,99,243,5,5,167,225,5,5,234,231,192,0,0,0,5,5,212,225,5,5,97,243,192,0,0,0,5,5,148,233,192,0,0,0,192,0,0,0,5,5,101,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,230,5,5,35,224,5,5,19,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,238,192,0,0,0,192,0,0,0,5,5,133,234,5,5,201,233,5,5,104,233,5,5,47,234,5,5,104,243,5,5,103,243,5,5,76,231,192,0,0,0,192,0,0,0,5,5,213,235,5,5,235,235,5,5,105,243,192,0,0,0,5,5,108,243,192,0,0,0,5,5,114,234,5,5,254,237,5,5,107,243,5,5,181,225,192,0,0,0,5,5,120,234,192,0,0,0,5,5,109,243,5,5,240,225,192,0,0,0,192,0,0,0,5,5,98,234,5,5,56,227,192,0,0,0,5,5,99,233,5,5,235,224,5,5,213,233,5,5,62,237,5,5,110,243,5,5,128,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,243,5,5,120,225,5,5,114,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,243,5,5,112,243,192,0,0,0,5,5,113,236,192,0,0,0,192,0,0,0,5,5,135,230,5,5,36,224,192,0,0,0,5,5,212,236,192,0,0,0,192,0,0,0,5,5,21,226,5,5,232,233,192,0,0,0,5,5,115,243,192,0,0,0,192,0,0,0,5,5,232,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,224,192,0,0,0,5,5,44,226,5,5,118,243,5,5,116,243,5,5,117,243,5,5,152,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,236,5,5,120,243,192,0,0,0,192,0,0,0,5,5,122,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,243,5,5,52,232,192,0,0,0,5,5,55,236,192,0,0,0,192,0,0,0,5,5,119,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,237,5,5,138,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,243,5,5,95,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,243,192,0,0,0,5,5,58,224,5,5,49,236,192,0,0,0,5,5,126,243,5,5,128,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,243,192,0,0,0,192,0,0,0,5,5,129,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,236,192,0,0,0,5,5,163,225,192,0,0,0,5,5,57,244,192,0,0,0,5,5,127,239,192,0,0,0,5,5,130,239,192,0,0,0,5,5,128,239,192,0,0,0,5,5,129,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,239,5,5,165,235,5,5,45,231,192,0,0,0,192,0,0,0,5,5,0,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,235,192,0,0,0,5,5,131,239,192,0,0,0,5,5,188,236,5,5,92,227,5,5,138,239,5,5,115,232,192,0,0,0,5,5,134,239,5,5,133,239,5,5,27,233,5,5,135,239,192,0,0,0,5,5,137,239,5,5,76,238,5,5,136,239,5,5,36,230,192,0,0,0,192,0,0,0,5,5,141,239,192,0,0,0,192,0,0,0,5,5,230,236,192,0,0,0,192,0,0,0,5,5,143,239,5,5,140,239,192,0,0,0,5,5,144,239,192,0,0,0,192,0,0,0,5,5,138,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,229,5,5,139,239,5,5,142,239,5,5,177,237,192,0,0,0,5,5,145,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,239,5,5,148,239,5,5,116,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,229,5,5,147,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,239,5,5,25,237,5,5,123,224,192,0,0,0,192,0,0,0,5,5,151,239,192,0,0,0,5,5,77,227,192,0,0,0,5,5,152,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,225,5,5,153,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,226,192,0,0,0,5,5,154,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,239,5,5,157,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,239,192,0,0,0,5,5,158,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,239,192,0,0,0,192,0,0,0,5,5,162,239,192,0,0,0,192,0,0,0,5,5,193,236,5,5,36,249,5,5,119,232,5,5,49,238,5,5,168,231,5,5,38,249,5,5,39,249,5,5,37,249,192,0,0,0,5,5,242,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,235,192,0,0,0,192,0,0,0,5,5,105,226,192,0,0,0,192,0,0,0,5,5,31,237,5,5,6,234,192,0,0,0,192,0,0,0,5,5,42,249,5,5,41,249,5,5,90,227,5,5,40,249,5,5,210,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,249,5,5,188,229,192,0,0,0,5,5,6,225,192,0,0,0,5,5,100,234,5,5,45,249,5,5,43,249,5,5,130,228,5,5,48,249,192,0,0,0,5,5,49,249,5,5,155,228,5,5,190,230,5,5,109,229,5,5,221,233,5,5,50,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,249,5,5,47,249,5,5,86,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,249,192,0,0,0,5,5,54,225,192,0,0,0,5,5,91,238,192,0,0,0,5,5,81,225,5,5,51,249,5,5,54,249,192,0,0,0,192,0,0,0,5,5,53,249,5,5,55,249,5,5,167,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,230,5,5,137,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,249,5,5,57,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,249,192,0,0,0,192,0,0,0,5,5,59,249,5,5,60,249,5,5,61,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,249,5,5,62,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,224,192,0,0,0,5,5,198,236,5,5,107,233,192,0,0,0,5,5,217,229,5,5,230,237,5,5,68,236,5,5,9,230,192,0,0,0,5,5,190,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,246,5,5,181,246,5,5,182,246,5,5,155,237,5,5,218,225,5,5,184,246,5,5,183,246,5,5,185,246,5,5,186,246,5,5,39,232,5,5,187,246,5,5,188,246,192,0,0,0,5,5,70,226,5,5,206,225,5,5,189,246,5,5,191,246,192,0,0,0,5,5,190,246,192,0,0,0,5,5,186,226,5,5,192,246,5,5,193,246,5,5,194,246,5,5,19,226,5,5,200,224,5,5,225,237,5,5,44,231,5,5,19,224,5,5,202,226,5,5,195,246,5,5,196,246,5,5,17,237,5,5,87,232,5,5,41,229,5,5,241,234,5,5,7,227,5,5,198,246,5,5,197,246,5,5,200,246,5,5,199,246,5,5,105,231,5,5,201,246,5,5,202,246,5,5,48,232,5,5,203,246,5,5,49,232,5,5,204,246,5,5,99,224,5,5,205,246,5,5,206,246,5,5,207,246,5,5,208,246,5,5,209,246,5,5,88,238,5,5,210,246,5,5,211,246,5,5,72,228,5,5,212,246,5,5,189,236,5,5,86,234,5,5,104,224,5,5,47,230,5,5,213,246,5,5,40,232,5,5,179,230,192,0,0,0,5,5,214,246,5,5,215,246,5,5,216,246,5,5,217,246,5,5,218,246,5,5,219,246,5,5,220,246,192,0,0,0,5,5,221,246,5,5,222,246,5,5,223,246,192,0,0,0,192,0,0,0,5,5,224,246,5,5,225,246,5,5,226,246,5,5,228,246,5,5,227,246,192,0,0,0,5,5,229,246,5,5,103,234,5,5,105,230,5,5,230,246,5,5,231,246,5,5,232,246,5,5,81,237,5,5,233,246,5,5,43,235,5,5,234,246,5,5,235,246,192,0,0,0,5,5,236,246,5,5,237,246,5,5,239,246,5,5,238,246,5,5,240,246,5,5,233,226,5,5,2,231,5,5,241,246,5,5,242,246,5,5,144,228,5,5,83,236,5,5,181,224,5,5,243,246,5,5,244,246,5,5,245,246,5,5,140,236,5,5,246,246,5,5,13,238,5,5,247,246,5,5,238,231,192,0,0,0,5,5,248,246,5,5,249,246,5,5,252,229,5,5,250,246,5,5,114,235,5,5,244,233,5,5,252,246,5,5,251,246,5,5,22,225,5,5,76,227,5,5,253,246,5,5,254,246,5,5,184,235,5,5,255,246,5,5,2,247,5,5,124,226,5,5,149,235,5,5,3,247,5,5,4,247,5,5,5,247,5,5,209,232,5,5,60,234,5,5,6,247,5,5,7,247,5,5,8,247,5,5,9,247,5,5,10,247,5,5,144,237,5,5,11,247,5,5,103,225,5,5,176,230,5,5,12,247,192,0,0,0,5,5,13,247,5,5,14,247,5,5,15,247,192,0,0,0,5,5,23,235,5,5,16,247,5,5,136,230,5,5,50,225,5,5,36,238,5,5,195,228,192,0,0,0,5,5,63,235,5,5,19,247,5,5,17,247,5,5,18,247,5,5,20,247,5,5,221,225,5,5,108,228,5,5,16,229,5,5,210,230,5,5,21,247,5,5,22,247,192,0,0,0,5,5,23,247,5,5,31,247,5,5,24,247,5,5,25,247,5,5,26,247,5,5,68,232,5,5,65,247,5,5,5,226,5,5,27,247,192,0,0,0,5,5,28,247,5,5,29,247,5,5,252,225,5,5,196,230,5,5,30,247,192,0,0,0,5,5,32,247,5,5,33,247,5,5,34,247,5,5,162,237,192,0,0,0,5,5,35,247,5,5,93,231,192,0,0,0,5,5,36,247,5,5,94,231,5,5,37,247,5,5,38,247,5,5,216,226,5,5,0,213,5,5,39,247,5,5,40,247,5,5,41,247,192,0,0,0,5,5,42,247,5,5,43,247,5,5,44,247,5,5,45,247,192,0,0,0,5,5,46,247,5,5,225,228,5,5,49,247,5,5,47,247,5,5,48,247,192,0,0,0,5,5,50,247,5,5,51,247,5,5,23,230,5,5,52,247,5,5,53,247,5,5,54,247,5,5,55,247,5,5,56,247,5,5,57,247,5,5,58,247,5,5,59,247,5,5,60,247,5,5,194,229,192,0,0,0,5,5,61,247,5,5,245,229,5,5,62,247,5,5,63,247,5,5,64,247,192,0,0,0,192,0,0,0,5,5,90,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,230,5,5,163,242,5,5,255,232,5,5,164,242,192,0,0,0,5,5,51,224,5,5,226,234,5,5,45,225,5,5,210,232,5,5,165,242,5,5,72,235,5,5,166,242,5,5,84,228,5,5,167,242,5,5,168,242,5,5,204,230,5,5,82,237,5,5,60,231,5,5,63,227,5,5,221,234,5,5,169,242,5,5,252,230,5,5,170,242,192,0,0,0,5,5,61,226,5,5,231,226,5,5,132,227,5,5,171,242,5,5,172,242,5,5,22,237,5,5,173,242,192,0,0,0,5,5,174,242,5,5,255,235,5,5,175,242,5,5,176,242,5,5,177,242,5,5,178,242,5,5,12,236,5,5,179,242,5,5,183,224,5,5,165,229,5,5,180,242,192,0,0,0,5,5,149,229,5,5,181,242,5,5,182,242,5,5,183,242,192,0,0,0,5,5,184,242,5,5,185,242,192,0,0,0,5,5,171,226,5,5,108,239,192,0,0,0,5,5,11,226,192,0,0,0,5,5,110,239,5,5,109,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,232,192,0,0,0,192,0,0,0,5,5,111,239,5,5,86,226,5,5,42,236,5,5,137,236,5,5,163,237,5,5,165,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,238,5,5,114,239,5,5,113,239,192,0,0,0,5,5,0,128,5,5,141,234,192,0,0,0,5,5,115,239,192,0,0,0,5,5,177,226,5,5,58,228,5,5,101,230,5,5,76,230,5,5,220,224,5,5,116,239,192,0,0,0,5,5,82,230,5,5,22,231,5,5,131,228,192,0,0,0,192,0,0,0,5,5,86,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,239,5,5,2,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,239,192,0,0,0,5,5,238,225,5,5,12,237,192,0,0,0,5,5,25,225,192,0,0,0,192,0,0,0,5,5,119,239,5,5,27,237,5,5,77,235,5,5,167,231,192,0,0,0,5,5,120,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,239,192,0,0,0,5,5,122,239,5,5,52,230,5,5,49,234,5,5,85,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,236,5,5,73,230,192,0,0,0,5,5,123,239,192,0,0,0,192,0,0,0,5,5,225,233,192,0,0,0,5,5,124,239,192,0,0,0,5,5,226,233,5,5,146,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,226,192,0,0,0,192,0,0,0,5,5,125,239,5,5,0,141,5,5,46,235,192,0,0,0,192,0,0,0,5,5,127,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,239,192,0,0,0,192,0,0,0,5,5,162,242,192,0,0,0,192,0,0,0,5,5,237,229,192,0,0,0,192,0,0,0,5,5,165,249,192,0,0,0,192,0,0,0,5,5,166,249,5,5,167,249,5,5,55,231,192,0,0,0,5,5,152,232,5,5,25,236,192,0,0,0,192,0,0,0,5,5,177,235,5,5,249,235,5,5,31,228,5,5,33,227,192,0,0,0,5,5,68,247,192,0,0,0,192,0,0,0,5,5,64,225,5,5,172,236,5,5,168,249,5,5,23,225,192,0,0,0,192,0,0,0,5,5,169,249,192,0,0,0,192,0,0,0,5,5,201,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,236,5,5,141,249,5,5,221,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,249,192,0,0,0,192,0,0,0,5,5,45,230,5,5,193,229,192,0,0,0,5,5,0,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,235,192,0,0,0,5,5,190,235,5,5,145,249,192,0,0,0,192,0,0,0,5,5,110,235,192,0,0,0,5,5,144,249,5,5,160,237,5,5,146,249,5,5,191,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,228,5,5,148,249,5,5,147,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,231,192,0,0,0,192,0,0,0,5,5,34,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,233,192,0,0,0,5,5,52,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,249,192,0,0,0,192,0,0,0,5,5,150,249,192,0,0,0,192,0,0,0,5,5,151,249,192,0,0,0,5,5,94,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,178,5,5,189,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,232,5,5,140,249,192,0,0,0,192,0,0,0,5,5,228,228,192,0,0,0,192,0,0,0,5,5,222,228,192,0,0,0,5,5,189,225,192,0,0,0,192,0,0,0,5,5,93,226,192,0,0,0,5,5,75,229,5,5,216,230,5,5,236,230,192,0,0,0,192,0,0,0,5,5,152,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,228,5,5,217,235,192,0,0,0,5,5,0,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,235,192,0,0,0,5,5,0,142,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,249,5,5,247,249,192,0,0,0,5,5,248,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,228,192,0,0,0,192,0,0,0,5,5,251,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,249,192,0,0,0,5,5,60,224,192,0,0,0,5,5,249,249,192,0,0,0,192,0,0,0,5,5,252,249,192,0,0,0,5,5,253,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,234,5,5,173,232,192,0,0,0,5,5,93,227,5,5,112,244,5,5,113,244,5,5,114,244,5,5,238,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,236,192,0,0,0,5,5,33,237,5,5,24,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,236,5,5,219,225,5,5,108,232,5,5,10,248,5,5,102,235,5,5,175,233,5,5,193,235,5,5,73,244,5,5,161,234,5,5,31,227,5,5,17,226,5,5,11,248,5,5,0,194,5,5,200,233,5,5,12,248,5,5,244,236,5,5,85,230,5,5,54,230,5,5,230,231,5,5,221,228,5,5,13,248,5,5,69,228,192,0,0,0,5,5,14,248,5,5,15,248,192,0,0,0,5,5,16,248,5,5,87,236,5,5,215,231,192,0,0,0,5,5,129,234,5,5,17,248,192,0,0,0,5,5,163,236,5,5,81,229,5,5,62,234,192,0,0,0,5,5,18,248,5,5,19,248,5,5,11,236,5,5,38,226,5,5,20,248,5,5,21,248,5,5,183,225,5,5,22,248,5,5,23,248,192,0,0,0,5,5,184,224,5,5,24,248,5,5,25,248,5,5,135,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,226,192,0,0,0,192,0,0,0,5,5,219,245,5,5,220,245,5,5,221,245,192,0,0,0,5,5,222,245,192,0,0,0,192,0,0,0,5,5,208,231,5,5,223,245,5,5,224,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,226,5,5,81,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,242,5,5,21,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,250,192,0,0,0,192,0,0,0,5,5,137,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,250,5,5,24,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,242,192,0,0,0,5,5,18,228,192,0,0,0,5,5,60,242,5,5,61,242,5,5,62,242,5,5,63,242,5,5,64,242,5,5,65,242,5,5,79,226,5,5,143,236,5,5,114,228,5,5,108,233,5,5,3,224,5,5,195,233,192,0,0,0,5,5,66,242,5,5,52,226,5,5,164,232,5,5,67,242,192,0,0,0,192,0,0,0,5,5,150,228,192,0,0,0,5,5,91,224,5,5,68,242,192,0,0,0,5,5,46,226,5,5,69,242,5,5,63,231,192,0,0,0,192,0,0,0,5,5,70,242,5,5,82,235,5,5,49,227,5,5,71,242,5,5,139,229,192,0,0,0,5,5,72,242,5,5,178,224,192,0,0,0,5,5,73,242,192,0,0,0,5,5,61,230,5,5,74,242,5,5,75,242,5,5,160,230,5,5,76,242,5,5,77,242,5,5,78,242,5,5,117,233,5,5,132,238,5,5,17,239,5,5,91,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,247,192,0,0,0,192,0,0,0,5,5,246,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,230,5,5,246,236,5,5,142,234,5,5,229,235,5,5,245,224,5,5,127,232,192,0,0,0,5,5,113,224,5,5,103,230,5,5,218,243,5,5,89,233,5,5,219,243,5,5,220,243,5,5,2,229,5,5,221,243,5,5,18,238,5,5,143,234,5,5,223,243,5,5,77,228,5,5,222,243,5,5,224,243,5,5,225,243,5,5,150,230,192,0,0,0,5,5,140,228,5,5,226,243,5,5,142,230,5,5,89,227,5,5,227,243,192,0,0,0,5,5,228,243,5,5,236,224,5,5,31,236,192,0,0,0,192,0,0,0,5,5,49,229,5,5,229,243,5,5,19,232,5,5,230,243,5,5,231,243,192,0,0,0,192,0,0,0,5,5,232,243,5,5,207,231,5,5,233,243,192,0,0,0,5,5,229,232,5,5,234,243,5,5,235,243,5,5,236,243,5,5,85,243,5,5,237,243,5,5,238,243,5,5,138,230,5,5,239,243,5,5,240,243,5,5,246,237,5,5,241,243,192,0,0,0,5,5,242,243,5,5,27,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,249,5,5,254,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,250,5,5,2,250,5,5,83,227,192,0,0,0,5,5,5,250,192,0,0,0,5,5,6,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,250,5,5,7,250,5,5,10,250,192,0,0,0,192,0,0,0,5,5,9,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,250,5,5,12,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,250,192,0,0,0,5,5,228,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,250,192,0,0,0,5,5,27,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,250,192,0,0,0,5,5,32,250,192,0,0,0,5,5,29,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,250,192,0,0,0,5,5,31,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,239,192,0,0,0,192,0,0,0,5,5,118,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,243,5,5,65,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,229,5,5,250,227,5,5,15,250,5,5,233,231,5,5,14,250,192,0,0,0,5,5,16,250,5,5,18,250,5,5,17,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,250,192,0,0,0,5,5,210,234,192,0,0,0,5,5,20,250,192,0,0,0,192,0,0,0,5,5,13,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,236,192,0,0,0,192,0,0,0,5,5,181,249,192,0,0,0,5,5,91,230,5,5,182,249,192,0,0,0,192,0,0,0,5,5,183,249,5,5,184,249,5,5,185,249,5,5,186,249,192,0,0,0,192,0,0,0,5,5,188,249,192,0,0,0,5,5,9,224,5,5,189,249,192,0,0,0,5,5,190,249,5,5,191,249,5,5,192,249,192,0,0,0,5,5,193,249,5,5,194,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,249,5,5,196,249,5,5,66,235,192,0,0,0,5,5,197,249,5,5,198,249,5,5,199,249,5,5,200,249,5,5,201,249,5,5,202,249,5,5,218,229,5,5,203,249,5,5,204,249,5,5,205,249,5,5,206,249,5,5,207,249,192,0,0,0,5,5,208,249,192,0,0,0,5,5,209,249,5,5,210,249,192,0,0,0,5,5,211,249,5,5,212,249,5,5,213,249,5,5,214,249,5,5,215,249,5,5,216,249,5,5,217,249,5,5,218,249,5,5,212,228,192,0,0,0,5,5,219,249,5,5,220,249,5,5,221,249,5,5,222,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,232,5,5,223,249,5,5,224,249,5,5,225,249,5,5,226,249,192,0,0,0,192,0,0,0,5,5,227,249,5,5,228,249,5,5,229,249,5,5,230,249,5,5,231,249,5,5,232,249,5,5,233,249,192,0,0,0,192,0,0,0,5,5,234,249,5,5,235,249,5,5,236,249,5,5,76,224,5,5,237,249,5,5,238,249,5,5,239,249,192,0,0,0,192,0,0,0,5,5,240,249,5,5,241,249,5,5,37,230,5,5,242,249,192,0,0,0,192,0,0,0,5,5,243,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,231,5,5,93,247,5,5,22,228,5,5,94,247,5,5,255,230,192,0,0,0,5,5,124,231,5,5,239,235,192,0,0,0,5,5,95,247,5,5,96,247,5,5,97,247,5,5,98,247,5,5,99,247,5,5,240,235,192,0,0,0,5,5,34,236,192,0,0,0,5,5,101,247,5,5,100,247,5,5,247,236,192,0,0,0,5,5,140,234,5,5,102,247,5,5,104,247,5,5,103,247,5,5,105,247,5,5,106,247,192,0,0,0,192,0,0,0,5,5,223,226,5,5,107,247,5,5,154,227,192,0,0,0,5,5,108,247,5,5,109,247,5,5,23,229,5,5,110,247,5,5,36,226,5,5,111,247,5,5,112,247,5,5,113,247,5,5,114,247,5,5,149,232,5,5,115,247,5,5,116,247,192,0,0,0,5,5,117,247,5,5,184,231,192,0,0,0,5,5,118,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,247,192,0,0,0,5,5,120,247,5,5,3,250,192,0,0,0,5,5,121,247,5,5,122,247,5,5,123,247,192,0,0,0,5,5,124,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,247,5,5,137,227,192,0,0,0,5,5,126,247,5,5,127,247,5,5,128,247,5,5,129,247,5,5,130,247,5,5,131,247,5,5,132,247,5,5,134,247,192,0,0,0,192,0,0,0,5,5,151,236,5,5,133,247,192,0,0,0,5,5,135,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,249,5,5,97,230,192,0,0,0,192,0,0,0,5,5,42,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,250,5,5,44,250,192,0,0,0,192,0,0,0,5,5,45,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,250,5,5,92,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,250,192,0,0,0,5,5,49,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,249,192,0,0,0,192,0,0,0,5,5,145,230,192,0,0,0,5,5,39,250,5,5,40,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,233,5,5,210,229,5,5,82,247,192,0,0,0,5,5,140,227,192,0,0,0,192,0,0,0,5,5,47,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,231,192,0,0,0,192,0,0,0,5,5,50,250,5,5,51,250,5,5,52,250,192,0,0,0,5,5,54,250,5,5,53,250,192,0,0,0,5,5,55,250,192,0,0,0,192,0,0,0,5,5,58,250,192,0,0,0,5,5,57,250,192,0,0,0,5,5,56,250,5,5,59,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,246,192,0,0,0,5,5,124,246,5,5,125,246,192,0,0,0,5,5,162,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,249,192,0,0,0,5,5,164,249,5,5,220,225,192,0,0,0,5,5,138,238,192,0,0,0,192,0,0,0,5,5,24,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,238,192,0,0,0,5,5,247,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,233,192,0,0,0,5,5,61,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,250,192,0,0,0,192,0,0,0,5,5,63,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,250,192,0,0,0,5,5,64,250,192,0,0,0,5,5,37,224,192,0,0,0,5,5,66,250,5,5,67,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,232,5,5,230,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,224,5,5,153,249,192,0,0,0,192,0,0,0,5,5,154,249,5,5,46,230,5,5,155,249,5,5,156,249,5,5,157,249,5,5,158,249,5,5,159,249,5,5,160,249,5,5,131,232,5,5,161,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,230,5,5,250,226,5,5,122,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,227,5,5,11,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,226,192,0,0,0,192,0,0,0,5,5,188,227,5,5,40,225,5,5,18,229,192,0,0,0,192,0,0,0,5,5,25,232,5,5,190,228,5,5,152,229,5,5,52,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,230,5,5,139,230,192,0,0,0,192,0,0,0,5,5,141,230,5,5,189,229,5,5,77,244,5,5,140,230,5,5,188,229,192,0,0,0,192,0,0,0,5,5,121,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,229,192,0,0,0,192,0,0,0,5,5,178,229,5,5,180,229,5,5,181,229,5,5,177,229,5,5,179,229,192,0,0,0,5,5,206,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,229,192,0,0,0,192,0,0,0,5,5,95,230,5,5,94,230,192,0,0,0,192,0,0,0,5,5,93,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,230,192,0,0,0,192,0,0,0,5,5,110,231,192,0,0,0,192,0,0,0,5,5,184,229,5,5,196,229,192,0,0,0,5,5,193,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,230,5,5,197,229,192,0,0,0,5,5,82,230,5,5,191,229,5,5,201,229,192,0,0,0,5,5,50,230,192,0,0,0,192,0,0,0,5,5,44,230,5,5,52,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,225,192,0,0,0,5,5,113,231,5,5,114,230,192,0,0,0,5,5,15,224,192,0,0,0,5,5,65,224,192,0,0,0,5,5,119,224,5,5,224,230,192,0,0,0,5,5,243,233,192,0,0,0,5,5,219,232,5,5,63,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,224,5,5,50,233,5,5,78,233,5,5,212,232,5,5,123,230,5,5,124,230,5,5,11,230,192,0,0,0,5,5,3,230,5,5,4,230,192,0,0,0,5,5,6,230,192,0,0,0,5,5,9,230,192,0,0,0,192,0,0,0,5,5,114,231,192,0,0,0,5,5,107,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,229,5,5,238,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,230,5,5,29,230,5,5,254,235,5,5,28,230,5,5,27,230,192,0,0,0,5,5,246,229,5,5,84,231,5,5,83,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,230,5,5,180,241,192,0,0,0,192,0,0,0,5,5,247,229,5,5,43,230,192,0,0,0,5,5,49,230,5,5,4,248,192,0,0,0,5,5,45,230,192,0,0,0,192,0,0,0,5,5,231,229,192,0,0,0,5,5,63,249,192,0,0,0,192,0,0,0,5,5,21,230,5,5,15,230,5,5,88,243,5,5,88,231,5,5,25,230,192,0,0,0,5,5,17,230,192,0,0,0,5,5,168,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,232,192,0,0,0,192,0,0,0,5,5,66,230,5,5,65,230,5,5,57,230,5,5,58,230,5,5,62,230,5,5,60,230,192,0,0,0,192,0,0,0,5,5,67,230,5,5,102,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,230,192,0,0,0,5,5,223,229,5,5,114,230,5,5,73,230,5,5,229,229,5,5,222,229,5,5,108,230,5,5,107,236,5,5,216,229,5,5,208,229,5,5,70,231,5,5,215,229,5,5,233,229,5,5,174,246,192,0,0,0,192,0,0,0,5,5,217,229,192,0,0,0,5,5,74,231,5,5,77,231,5,5,41,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,250,5,5,32,230,5,5,38,230,192,0,0,0,5,5,234,229,5,5,156,248,5,5,235,229,192,0,0,0,5,5,217,237,192,0,0,0,5,5,80,233,5,5,164,224,5,5,70,225,5,5,82,232,5,5,254,225,5,5,146,234,5,5,35,234,5,5,92,237,5,5,234,225,5,5,7,224,192,0,0,0,5,5,166,235,5,5,131,228,192,0,0,0,5,5,148,229,5,5,111,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,237,5,5,122,236,5,5,219,229,5,5,49,233,5,5,97,235,5,5,151,226,5,5,228,228,5,5,215,228,5,5,226,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,236,5,5,242,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,235,5,5,236,232,5,5,232,230,5,5,233,230,5,5,92,232,5,5,14,224,5,5,122,227,192,0,0,0,5,5,27,232,192,0,0,0,5,5,17,231,192,0,0,0,5,5,148,243,5,5,234,227,5,5,58,229,5,5,73,237,192,0,0,0,5,5,250,230,5,5,56,228,5,5,140,233,5,5,189,230,5,5,85,227,5,5,250,242,192,0,0,0,5,5,3,238,192,0,0,0,5,5,47,238,5,5,12,224,5,5,39,233,5,5,33,246,5,5,17,232,192,0,0,0,5,5,84,238,5,5,17,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,226,5,5,142,233,5,5,143,237,5,5,16,225,5,5,249,239,5,5,249,239,5,5,8,238,5,5,136,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,243,5,5,113,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,229,5,5,139,232,192,0,0,0,5,5,254,224,5,5,45,228,5,5,180,236,5,5,23,233,5,5,122,227,5,5,95,241,5,5,123,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,236,5,5,26,224,5,5,184,243,192,0,0,0,5,5,90,242,192,0,0,0,5,5,134,224,5,5,8,242,5,5,141,242,5,5,55,233,5,5,236,236,5,5,73,237,192,0,0,0,192,0,0,0,5,5,113,225,5,5,241,240,5,5,205,233,5,5,244,240,5,5,0,155,5,5,105,232,5,5,180,229,5,5,181,234,5,5,120,237,5,5,111,225,192,0,0,0,5,5,65,230,192,0,0,0,5,5,58,238,192,0,0,0,192,0,0,0,5,5,3,238,5,5,72,232,5,5,34,229,5,5,78,226,5,5,251,237,192,0,0,0,192,0,0,0,5,5,189,227,192,0,0,0,5,5,217,234,5,5,122,236,5,5,64,233,5,5,191,237,192,0,0,0,5,5,51,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,237,5,5,212,227,192,0,0,0,192,0,0,0,5,5,235,247,5,5,166,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,238,192,0,0,0,192,0,0,0,5,5,104,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,229,5,5,162,234,192,0,0,0,192,0,0,0,5,5,73,231,5,5,4,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,232,5,5,105,235,192,0,0,0,192,0,0,0,5,5,232,230,5,5,125,234,192,0,0,0,5,5,13,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,237,192,0,0,0,5,5,191,232,5,5,249,236,192,0,0,0,5,5,226,225,5,5,130,229,192,0,0,0,5,5,177,239,5,5,176,232,192,0,0,0,5,5,88,229,192,0,0,0,5,5,226,226,192,0,0,0,192,0,0,0,5,5,180,236,5,5,233,230,5,5,92,232,5,5,23,233,5,5,0,218,5,5,76,225,5,5,15,224,5,5,236,227,5,5,14,224,5,5,101,224,5,5,36,228,192,0,0,0,5,5,102,232,5,5,102,232,5,5,102,232,192,0,0,0,5,5,226,227,5,5,32,228,5,5,173,239,192,0,0,0,5,5,158,228,5,5,23,241,5,5,30,241,192,0,0,0,5,5,22,235,5,5,228,224,5,5,234,237,192,0,0,0,192,0,0,0,5,5,34,234,192,0,0,0,192,0,0,0,5,5,6,233,5,5,6,233,5,5,123,241,192,0,0,0,5,5,77,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,232,5,5,33,238,5,5,225,224,5,5,226,239,5,5,232,239,5,5,163,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,226,192,0,0,0,5,5,29,233,192,0,0,0,192,0,0,0,5,5,23,228,192,0,0,0,192,0,0,0,5,5,170,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,233,5,5,121,228,5,5,137,225,5,5,208,240,192,0,0,0,5,5,122,234,5,5,148,243,192,0,0,0,5,5,201,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,241,192,0,0,0,5,5,230,235,5,5,204,224,192,0,0,0,5,5,15,239,192,0,0,0,5,5,183,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,242,5,5,154,233,5,5,178,229,192,0,0,0,5,5,199,240,192,0,0,0,192,0,0,0,5,5,208,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,232,5,5,204,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,227,192,0,0,0,192,0,0,0,5,5,66,225,5,5,213,227,5,5,55,233,5,5,213,227,192,0,0,0,5,5,73,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,224,5,5,31,245,192,0,0,0,5,5,5,224,5,5,0,172,5,5,22,229,192,0,0,0,5,5,166,234,5,5,214,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,236,192,0,0,0,5,5,12,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,230,5,5,224,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,233,192,0,0,0,192,0,0,0,5,5,182,230,5,5,231,230,5,5,92,238,192,0,0,0,5,5,155,245,192,0,0,0,5,5,180,229,5,5,181,234,192,0,0,0,5,5,117,244,5,5,116,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,231,5,5,85,227,5,5,65,230,5,5,120,227,5,5,204,228,5,5,95,231,192,0,0,0,192,0,0,0,5,5,207,226,5,5,12,243,192,0,0,0,5,5,58,238,5,5,185,225,192,0,0,0,5,5,3,236,5,5,203,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,243,192,0,0,0,5,5,73,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,234,192,0,0,0,5,5,5,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,246,5,5,34,229,192,0,0,0,192,0,0,0,5,5,36,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,237,5,5,150,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,246,5,5,93,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,238,192,0,0,0,192,0,0,0,5,5,151,226,5,5,72,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,236,192,0,0,0,192,0,0,0,5,5,196,231,5,5,200,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,248,5,5,210,248,5,5,65,225,192,0,0,0,5,5,3,240,5,5,229,236,5,5,179,237,5,5,183,229,5,5,184,227,5,5,82,226,5,5,243,235,5,5,108,229,192,0,0,0,5,5,212,232,192,0,0,0,5,5,185,232,192,0,0,0,192,0,0,0,5,5,173,230,192,0,0,0,5,5,8,238,192,0,0,0,5,5,3,229,5,5,40,229,5,5,135,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,232,192,0,0,0,192,0,0,0,5,5,0,173,5,5,74,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,230,192,0,0,0,5,5,123,246,5,5,162,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,224,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,170,170,3,0,68,0,51,0,60,0,155,48,1,16,212,1,0,96,1,0,0,96,98,186,1,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,72,0,0,0,72,1,0,0,248,132,1,0,248,132,1,0,104,143,1,0,104,143,1,0,40,158,1,0,40,158,1,0,44,179,1,0,26,182,1,0,74,186,1,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,254,255,50,105,114,84,1,0,0,9,26,23,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,176,0,184,0,189,0,48,0,197,0,205,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,226,0,234,0,242,0,250,0,2,1,10,1,18,1,26,1,48,0,33,1,35,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,42,1,48,0,48,0,48,0,48,0,50,1,58,1,48,0,66,1,74,1,82,1,85,1,48,0,48,0,93,1,101,1,48,0,48,0,48,0,109,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,117,1,125,1,133,1,141,1,149,1,157,1,165,1,173,1,181,1,189,1,197,1,205,1,213,1,221,1,229,1,237,1,245,1,253,1,5,2,13,2,21,2,29,2,37,2,45,2,53,2,61,2,69,2,77,2,85,2,93,2,101,2,109,2,117,2,125,2,133,2,141,2,149,2,157,2,165,2,173,2,181,2,189,2,197,2,205,2,213,2,221,2,229,2,237,2,245,2,253,2,5,3,13,3,21,3,29,3,37,3,45,3,53,3,61,3,69,3,77,3,85,3,93,3,101,3,109,3,117,3,125,3,133,3,141,3,149,3,157,3,165,3,173,3,181,3,189,3,197,3,205,3,213,3,221,3,229,3,237,3,245,3,253,3,5,4,13,4,21,4,29,4,37,4,45,4,53,4,61,4,69,4,77,4,85,4,93,4,101,4,109,4,117,4,125,4,133,4,141,4,149,4,157,4,165,4,173,4,181,4,189,4,197,4,205,4,213,4,221,4,229,4,237,4,245,4,253,4,5,5,13,5,21,5,29,5,37,5,45,5,53,5,61,5,69,5,77,5,85,5,93,5,101,5,109,5,117,5,125,5,133,5,141,5,149,5,157,5,165,5,173,5,181,5,189,5,197,5,205,5,213,5,221,5,229,5,237,5,245,5,253,5,5,6,13,6,21,6,29,6,37,6,45,6,53,6,61,6,69,6,77,6,85,6,93,6,101,6,109,6,117,6,125,6,133,6,141,6,149,6,157,6,165,6,173,6,181,6,189,6,197,6,205,6,213,6,221,6,229,6,237,6,245,6,253,6,5,7,13,7,21,7,29,7,37,7,45,7,53,7,61,7,69,7,77,7,85,7,93,7,101,7,109,7,117,7,125,7,133,7,141,7,149,7,157,7,165,7,173,7,181,7,189,7,197,7,205,7,213,7,221,7,229,7,237,7,245,7,253,7,5,8,13,8,21,8,29,8,37,8,45,8,53,8,61,8,69,8,77,8,85,8,93,8,101,8,109,8,117,8,125,8,133,8,141,8,149,8,157,8,165,8,173,8,181,8,189,8,197,8,205,8,213,8,221,8,229,8,237,8,245,8,253,8,5,9,13,9,21,9,29,9,37,9,45,9,53,9,61,9,69,9,77,9,85,9,93,9,101,9,109,9,117,9,125,9,133,9,141,9,149,9,157,9,165,9,173,9,181,9,189,9,197,9,205,9,213,9,221,9,229,9,237,9,245,9,253,9,5,10,13,10,21,10,29,10,37,10,45,10,53,10,61,10,69,10,77,10,85,10,93,10,101,10,109,10,117,10,125,10,133,10,141,10,149,10,157,10,165,10,173,10,181,10,189,10,197,10,205,10,213,10,221,10,229,10,237,10,245,10,253,10,5,11,13,11,21,11,29,11,37,11,45,11,53,11,61,11,69,11,77,11,85,11,93,11,101,11,109,11,117,11,125,11,133,11,141,11,149,11,157,11,165,11,173,11,181,11,189,11,197,11,205,11,213,11,221,11,229,11,237,11,245,11,253,11,5,12,13,12,21,12,29,12,37,12,45,12,53,12,61,12,69,12,77,12,85,12,93,12,101,12,109,12,117,12,125,12,133,12,141,12,149,12,157,12,165,12,173,12,181,12,189,12,197,12,205,12,213,12,221,12,229,12,237,12,245,12,253,12,5,13,13,13,21,13,29,13,37,13,45,13,53,13,61,13,69,13,77,13,85,13,93,13,101,13,109,13,117,13,125,13,133,13,141,13,149,13,157,13,165,13,173,13,181,13,189,13,197,13,205,13,213,13,221,13,229,13,237,13,245,13,253,13,5,14,13,14,21,14,29,14,37,14,45,14,53,14,61,14,69,14,77,14,85,14,93,14,101,14,109,14,117,14,125,14,133,14,141,14,149,14,157,14,165,14,173,14,181,14,189,14,197,14,205,14,213,14,221,14,229,14,237,14,245,14,253,14,5,15,13,15,21,15,29,15,37,15,45,15,53,15,61,15,69,15,77,15,85,15,93,15,101,15,109,15,117,15,125,15,133,15,141,15,149,15,157,15,165,15,173,15,181,15,189,15,197,15,205,15,213,15,221,15,229,15,237,15,245,15,253,15,5,16,13,16,21,16,29,16,37,16,45,16,53,16,61,16,69,16,77,16,85,16,93,16,101,16,109,16,117,16,125,16,133,16,141,16,149,16,157,16,165,16,173,16,181,16,189,16,197,16,205,16,213,16,221,16,229,16,237,16,245,16,253,16,5,17,13,17,21,17,29,17,37,17,45,17,53,17,61,17,69,17,77,17,85,17,93,17,101,17,109,17,117,17,125,17,133,17,141,17,149,17,157,17,165,17,173,17,181,17,189,17,197,17,205,17,213,17,221,17,229,17,237,17,245,17,253,17,5,18,13,18,21,18,29,18,37,18,45,18,53,18,61,18,69,18,77,18,85,18,93,18,101,18,109,18,117,18,125,18,133,18,141,18,149,18,157,18,165,18,173,18,181,18,189,18,197,18,205,18,213,18,221,18,229,18,237,18,245,18,253,18,5,19,13,19,21,19,29,19,37,19,45,19,53,19,61,19,69,19,77,19,85,19,93,19,101,19,109,19,117,19,125,19,133,19,141,19,149,19,157,19,165,19,173,19,181,19,189,19,197,19,205,19,213,19,221,19,229,19,237,19,245,19,253,19,5,20,13,20,21,20,29,20,37,20,45,20,53,20,61,20,69,20,77,20,85,20,93,20,101,20,109,20,117,20,125,20,133,20,141,20,149,20,157,20,165,20,173,20,181,20,189,20,197,20,205,20,213,20,221,20,229,20,237,20,245,20,253,20,5,21,13,21,21,21,29,21,37,21,45,21,53,21,61,21,69,21,77,21,85,21,93,21,101,21,109,21,117,21,125,21,133,21,141,21,149,21,157,21,165,21,173,21,181,21,189,21,197,21,205,21,213,21,221,21,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,161,0,48,0,48,0,153,0,9,23,153,0,17,23,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,229,21,237,21,245,21,253,21,5,22,13,22,21,22,29,22,37,22,45,22,53,22,61,22,69,22,77,22,85,22,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,92,22,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,192,8,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,97,22,105,22,113,22,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,121,22,129,22,137,22,145,22,153,22,161,22,169,22,177,22,185,22,193,22,201,22,209,22,217,22,225,22,233,22,241,22,249,22,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,41,0,202,65,39,0,202,130,39,0,202,195,39,0,202,4,40,0,202,69,40,0,202,134,40,0,202,199,40,0,202,8,41,0,202,73,41,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,66,117,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,130,117,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,194,117,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,167,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,25,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,57,238,6,5,124,187,6,5,5,248,6,5,121,213,7,5,180,238,6,5,177,197,9,5,5,182,6,5,60,227,7,5,117,218,6,5,218,181,6,5,47,219,7,5,161,168,6,5,114,196,6,5,91,208,6,5,91,171,6,5,170,192,6,5,126,215,6,5,103,178,6,5,90,202,6,5,81,169,6,5,22,170,6,5,136,182,6,5,103,231,8,5,201,221,6,5,244,171,6,5,55,195,6,5,149,173,6,5,54,223,6,5,86,241,6,5,70,199,6,5,231,228,7,5,129,227,6,5,254,221,6,5,158,246,6,5,45,224,6,5,165,230,6,5,154,177,7,5,143,211,6,5,96,249,6,5,128,208,6,5,69,177,6,5,60,233,6,5,24,241,6,5,163,221,6,5,223,173,6,5,68,220,6,5,202,175,6,5,201,185,6,5,171,192,6,5,161,195,6,5,234,184,6,5,111,237,6,5,11,187,6,5,254,239,6,5,230,185,6,5,221,238,6,5,202,185,6,5,190,192,6,5,69,220,6,5,222,174,6,5,213,233,6,5,82,185,6,5,227,189,7,5,92,222,6,5,79,246,6,5,255,213,7,5,158,229,6,5,90,180,6,5,163,195,6,5,137,182,6,5,46,230,7,5,183,218,6,5,253,242,8,5,7,243,7,5,184,209,6,5,142,215,6,5,159,246,6,5,166,177,6,5,116,222,6,5,47,230,6,5,23,170,6,5,69,207,6,5,255,221,6,5,217,214,7,5,12,223,7,5,198,191,6,5,82,245,6,5,73,184,6,5,125,237,6,5,8,212,6,5,82,213,6,5,247,235,6,5,82,211,6,5,253,217,6,5,42,235,6,5,10,242,6,5,141,186,6,5,59,228,6,5,187,184,7,5,111,221,6,5,255,240,6,5,82,226,6,5,26,213,6,5,97,210,6,5,140,171,6,5,230,168,6,5,240,212,6,5,249,208,6,5,187,209,6,5,70,207,6,5,241,221,6,5,203,221,6,5,7,222,6,5,241,218,6,5,153,188,6,5,98,235,6,5,94,202,6,5,235,247,6,5,73,208,6,5,92,208,6,5,153,183,6,5,173,228,6,5,39,237,6,5,226,241,6,5,103,201,6,5,219,181,6,5,184,201,6,5,245,181,6,5,13,242,6,5,9,219,6,5,250,173,6,5,82,249,6,5,197,246,6,5,182,196,6,5,233,220,6,5,220,175,6,5,128,247,6,5,162,185,6,5,229,219,6,5,148,172,6,5,142,189,6,5,28,175,6,5,124,235,6,5,24,234,6,5,63,238,6,5,26,236,6,5,9,194,6,5,192,194,6,5,87,236,6,5,78,186,6,5,91,180,6,5,243,221,6,5,202,246,6,5,164,169,6,5,227,174,7,5,182,249,6,5,191,249,6,5,19,221,6,5,213,173,6,5,218,233,6,5,253,173,6,5,71,176,6,5,244,238,6,5,67,241,6,5,206,170,6,5,64,202,7,5,166,195,6,5,41,245,6,5,220,207,6,5,82,184,6,5,111,202,6,5,142,248,6,5,227,241,6,5,166,216,6,5,178,182,6,5,170,208,6,5,115,185,6,5,242,228,6,5,175,196,6,5,177,239,6,5,8,238,6,5,83,183,6,5,179,182,6,5,219,221,6,5,95,222,6,5,162,232,6,5,182,206,6,5,81,186,6,5,35,185,6,5,234,170,6,5,97,180,6,5,164,173,6,5,118,185,6,5,80,187,6,5,162,241,6,5,232,210,6,5,117,205,6,5,160,205,6,5,229,206,6,5,172,206,6,5,201,190,6,5,169,222,6,5,244,188,6,5,191,246,6,5,165,208,6,5,241,179,6,5,102,186,6,5,172,222,6,5,20,170,6,5,160,214,6,5,221,174,6,5,232,204,6,5,57,187,6,5,38,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,201,221,6,5,216,210,6,5,136,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,8,5,57,238,8,5,5,182,8,5,166,219,7,5,106,223,7,5,181,220,8,5,67,247,7,5,210,231,6,5,96,193,6,5,180,238,6,5,99,171,6,5,225,179,7,5,74,226,6,5,167,178,6,5,117,218,198,131,31,0,198,227,31,0,198,67,32,0,198,163,32,0,198,3,33,0,198,99,33,0,198,195,33,0,198,35,34,0,198,131,34,0,198,227,34,0,198,67,35,0,198,163,35,0,198,3,36,0,198,99,36,0,197,227,35,0,198,195,36,0,198,35,37,0,198,131,37,0,198,227,37,0,197,67,36,0,198,67,38,0,198,163,38,0,197,163,36,0,197,3,37,0,198,3,39,0,198,99,39,0,198,195,39,0,198,35,40,0,197,99,37,0,198,131,40,0,197,195,37,0,198,227,40,0,197,35,38,0,198,67,41,0,197,131,38,0,197,227,38,0,6,5,201,229,6,5,88,241,6,5,158,229,6,5,50,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,57,238,7,5,5,182,7,5,166,219,6,5,106,223,6,5,77,230,6,5,193,204,6,5,58,214,6,5,161,168,6,5,165,196,6,5,201,221,7,5,7,243,6,5,198,191,6,5,12,223,6,5,184,209,6,5,166,195,6,5,129,227,6,5,183,218,6,5,207,247,7,5,63,241,6,5,242,220,6,5,24,209,6,5,210,225,6,5,52,172,6,5,39,248,6,5,79,201,6,5,101,208,6,5,17,210,6,5,143,211,6,5,68,222,6,5,17,241,6,5,29,240,6,5,31,248,6,5,228,232,6,5,87,234,6,5,144,233,6,5,65,246,6,5,181,220,7,5,67,247,6,5,210,231,7,5,30,250,7,5,87,241,6,5,64,238,6,5,97,249,6,5,101,235,6,5,162,193,6,5,194,214,6,5,32,249,6,5,103,233,6,5,3,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,39,0,197,130,39,0,197,194,39,0,197,2,40,0,197,66,40,0,197,130,40,0,197,194,40,0,197,2,41,0,197,66,41,0,197,131,41,0,197,227,41,0,197,67,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,42,0,197,34,43,0,197,98,43,0,197,162,43,0,197,226,43,0,197,34,44,0,197,98,44,0,197,162,44,0,197,226,44,0,197,34,45,0,197,99,45,0,197,195,45,0,197,35,46,0,197,131,46,0,197,227,46,0,197,67,47,0,197,163,47,0,197,3,48,0,197,99,48,0,197,195,48,0,197,35,49,0,197,131,49,0,197,227,49,0,197,67,50,0,197,163,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,51,0,197,66,51,0,197,130,51,0,197,194,51,0,197,4,52,0,197,130,52,0,197,194,52,0,197,2,53,0,197,66,53,0,197,130,53,0,197,194,53,0,197,2,54,0,197,66,54,0,197,130,54,0,197,195,54,0,197,35,55,0,197,131,55,0,197,227,55,0,197,67,56,0,197,163,56,0,197,3,57,0,197,99,57,0,197,195,57,0,197,35,58,0,197,131,58,0,197,227,58,0,197,67,59,0,197,163,59,0,197,3,60,0,197,99,60,0,197,195,60,0,197,35,61,0,197,131,61,0,197,227,61,0,197,67,62,0,197,163,62,0,192,0,0,0,5,5,57,238,5,5,225,179,5,5,186,198,5,5,58,214,5,5,180,220,5,5,209,231,5,5,14,188,5,5,139,228,5,5,47,245,5,5,166,219,5,5,181,220,5,5,210,231,5,5,247,191,5,5,10,172,5,5,221,241,5,5,146,208,5,5,167,184,5,5,87,175,5,5,88,175,5,5,77,248,5,5,63,216,5,5,201,212,5,5,4,222,5,5,3,222,5,5,4,217,5,5,99,171,5,5,251,237,5,5,188,176,5,5,18,180,5,5,56,223,5,5,85,174,5,5,14,180,5,5,5,217,5,5,85,203,5,5,15,180,5,5,64,241,5,5,86,203,5,5,84,236,5,5,125,171,5,5,204,219,5,5,124,187,5,5,144,196,5,5,150,185,5,5,226,235,5,5,206,215,5,5,67,247,5,5,172,192,5,5,131,195,5,5,69,183,5,5,216,186,5,5,227,175,5,5,65,173,5,5,217,203,5,5,210,248,5,5,5,248,5,5,160,168,5,5,93,228,5,5,213,177,5,5,85,229,5,5,6,248,5,5,47,196,5,5,97,202,5,5,35,197,5,5,121,213,5,5,199,183,5,5,99,238,5,5,218,238,5,5,249,209,5,5,76,230,5,5,166,196,5,5,167,196,5,5,217,227,5,5,130,207,5,5,219,238,5,5,58,238,5,5,78,246,5,5,19,230,5,5,166,244,5,5,139,189,5,5,25,182,5,5,135,201,5,5,213,239,5,5,151,213,5,5,45,212,5,5,9,216,5,5,212,189,5,5,174,186,5,5,93,174,5,5,100,174,5,5,180,238,5,5,253,239,5,5,49,236,5,5,202,208,5,5,165,196,5,5,192,214,5,5,243,237,5,5,44,231,5,5,159,232,5,5,168,184,5,5,168,196,5,5,211,231,5,5,224,189,5,5,115,222,5,5,82,180,5,5,242,221,5,5,253,191,5,5,43,210,5,5,36,193,5,5,55,197,5,5,205,221,5,5,94,207,5,5,140,189,5,5,215,206,5,5,53,206,5,5,252,248,5,5,43,219,5,5,100,235,5,5,142,236,5,5,42,184,5,5,15,220,5,5,222,209,5,5,199,184,5,5,148,224,5,5,143,241,5,5,56,177,5,5,152,245,5,5,100,215,5,5,234,246,5,5,34,187,5,5,205,184,5,5,55,206,5,5,2,204,5,5,63,239,5,5,177,197,5,5,151,201,5,5,207,206,5,5,222,241,5,5,19,246,5,5,12,222,5,5,15,222,5,5,5,182,5,5,155,175,5,5,128,241,5,5,225,199,5,5,127,241,5,5,64,243,5,5,225,189,5,5,97,214,5,5,77,230,5,5,46,196,5,5,105,223,5,5,72,224,5,5,163,185,5,5,164,185,5,5,25,236,5,5,92,233,5,5,28,236,5,5,105,214,5,5,31,236,5,5,105,192,5,5,60,227,5,5,164,228,5,5,173,198,5,5,155,177,5,5,152,194,5,5,217,187,5,5,228,238,5,5,62,173,5,5,255,188,5,5,168,209,5,5,56,238,5,5,199,232,5,5,9,196,5,5,215,226,5,5,97,203,5,5,200,232,5,5,13,196,5,5,5,238,5,5,92,216,5,5,184,171,5,5,106,241,5,5,171,233,5,5,254,177,5,5,240,202,5,5,64,181,5,5,226,207,5,5,117,218,5,5,118,218,5,5,92,192,5,5,93,192,5,5,165,228,5,5,220,238,5,5,61,221,5,5,119,218,5,5,133,201,5,5,226,179,5,5,81,244,5,5,187,195,5,5,254,213,5,5,51,175,5,5,162,168,5,5,39,245,5,5,162,195,5,5,132,195,5,5,92,171,5,5,178,218,5,5,187,176,5,5,148,183,5,5,175,219,5,5,67,206,5,5,93,171,5,5,113,172,5,5,59,249,5,5,5,222,5,5,171,224,5,5,48,245,5,5,75,184,5,5,224,231,5,5,225,231,5,5,218,227,5,5,42,189,5,5,254,226,5,5,143,218,5,5,26,215,5,5,215,184,5,5,83,185,5,5,171,171,5,5,169,177,5,5,119,204,5,5,182,238,5,5,207,173,5,5,124,173,5,5,126,219,5,5,125,173,5,5,100,238,5,5,185,209,5,5,235,207,5,5,144,218,5,5,112,182,5,5,208,173,5,5,79,237,5,5,89,215,5,5,111,247,5,5,27,213,5,5,247,229,5,5,79,230,5,5,8,194,5,5,114,193,5,5,176,237,5,5,71,183,5,5,114,172,5,5,146,218,5,5,168,228,5,5,53,183,5,5,199,178,5,5,158,182,5,5,68,247,5,5,194,214,5,5,116,212,5,5,130,241,5,5,152,179,5,5,5,181,5,5,116,230,5,5,229,238,5,5,242,233,5,5,174,198,5,5,62,238,5,5,95,192,5,5,2,168,5,5,80,230,5,5,195,192,5,5,202,183,5,5,26,182,5,5,87,234,5,5,212,195,5,5,202,212,5,5,243,177,5,5,162,183,5,5,136,225,5,5,112,247,5,5,5,241,5,5,199,191,5,5,67,191,5,5,223,241,5,5,28,177,5,5,67,243,5,5,176,219,5,5,23,229,5,5,209,175,5,5,212,173,5,5,248,235,5,5,103,232,5,5,157,220,5,5,106,173,5,5,68,206,5,5,115,172,5,5,200,235,5,5,244,233,5,5,24,229,5,5,23,248,5,5,88,244,5,5,17,232,5,5,135,211,5,5,172,171,5,5,42,186,5,5,148,210,5,5,169,210,5,5,148,233,5,5,31,169,5,5,199,234,5,5,35,204,5,5,171,247,5,5,18,221,5,5,88,217,5,5,139,176,5,5,232,169,5,5,8,222,5,5,38,193,5,5,203,212,5,5,233,238,5,5,109,223,5,5,184,238,5,5,20,246,5,5,101,179,5,5,228,187,5,5,223,206,5,5,8,178,5,5,24,248,5,5,12,172,5,5,89,217,5,5,26,170,5,5,68,245,5,5,132,176,5,5,87,229,5,5,200,178,5,5,25,248,5,5,31,250,5,5,89,241,5,5,80,237,5,5,36,226,5,5,250,244,5,5,155,188,5,5,48,170,5,5,242,227,5,5,234,220,5,5,131,241,5,5,234,238,5,5,205,183,5,5,33,250,5,5,247,185,5,5,75,211,5,5,2,227,5,5,149,210,5,5,230,231,5,5,133,217,5,5,187,240,5,5,60,228,5,5,35,215,5,5,86,222,5,5,81,198,5,5,83,169,5,5,118,212,5,5,41,191,5,5,216,188,5,5,104,201,5,5,190,232,5,5,110,185,5,5,46,237,5,5,232,168,5,5,45,182,5,5,46,209,5,5,41,193,5,5,8,182,5,5,126,171,5,5,106,192,5,5,250,188,5,5,194,191,5,5,70,187,5,5,206,217,5,5,132,226,5,5,193,194,5,5,140,176,5,5,245,238,5,5,244,221,5,5,28,234,5,5,20,221,5,5,225,227,5,5,133,198,5,5,122,246,5,5,147,184,5,5,158,200,5,5,109,238,5,5,206,174,5,5,123,199,5,5,248,186,5,5,104,202,5,5,171,239,5,5,16,222,5,5,75,208,5,5,202,247,5,5,203,234,5,5,90,241,5,5,35,168,5,5,144,205,5,5,147,209,5,5,221,181,5,5,72,206,5,5,52,180,5,5,236,172,5,5,147,174,5,5,203,235,5,5,208,185,5,5,130,247,5,5,67,238,5,5,13,219,5,5,65,177,5,5,168,231,5,5,114,223,5,5,171,177,5,5,231,205,5,5,220,224,5,5,194,194,5,5,174,245,5,5,159,172,5,5,10,216,5,5,138,199,5,5,247,172,5,5,76,211,5,5,96,211,5,5,189,195,5,5,88,230,5,5,106,189,5,5,129,196,5,5,136,174,5,5,248,245,5,5,39,250,5,5,92,175,5,5,93,216,5,5,233,205,5,5,253,196,5,5,193,222,5,5,235,226,5,5,91,221,5,5,183,227,5,5,180,171,5,5,20,210,5,5,243,232,5,5,210,170,5,5,178,227,5,5,228,241,5,5,114,231,5,5,224,176,5,5,101,181,5,5,43,217,5,5,179,234,5,5,17,187,5,5,104,199,5,5,89,230,5,5,44,198,5,5,6,239,5,5,47,184,5,5,71,203,5,5,206,249,5,5,40,216,5,5,112,202,5,5,229,240,5,5,174,191,5,5,76,196,5,5,145,215,5,5,188,219,5,5,115,212,5,5,233,223,5,5,224,183,5,5,182,230,5,5,65,202,5,5,48,184,5,5,153,213,5,5,103,169,5,5,144,241,5,5,113,214,5,5,170,231,5,5,247,233,5,5,88,234,5,5,229,241,5,5,23,179,5,5,214,173,5,5,53,175,5,5,213,246,5,5,145,236,5,5,228,202,5,5,113,202,5,5,159,200,5,5,62,223,5,5,201,193,5,5,89,234,5,5,52,184,5,5,210,191,5,5,74,197,5,5,74,233,5,5,240,211,5,5,17,194,5,5,26,171,5,5,165,175,5,5,228,182,5,5,136,183,5,5,36,236,5,5,64,168,5,5,173,169,5,5,25,242,5,5,224,233,5,5,34,170,5,5,216,189,5,5,108,173,5,5,99,246,5,5,130,171,5,5,187,196,5,5,133,237,5,5,31,177,5,5,229,202,5,5,112,228,5,5,160,200,5,5,119,172,5,5,151,249,5,5,153,185,5,5,190,186,5,5,174,169,5,5,111,226,5,5,125,222,5,5,126,222,5,5,236,207,5,5,134,178,5,5,25,225,5,5,198,197,5,5,9,176,5,5,52,234,5,5,160,212,5,5,138,225,5,5,132,189,5,5,193,238,5,5,63,214,5,5,48,226,5,5,239,184,5,5,80,196,5,5,147,195,5,5,48,224,5,5,163,173,5,5,75,195,5,5,166,182,5,5,126,246,5,5,49,199,5,5,150,197,5,5,98,249,5,5,75,197,5,5,147,215,5,5,124,210,5,5,74,206,5,5,190,248,5,5,230,229,5,5,133,206,5,5,149,223,5,5,237,201,5,5,175,191,5,5,26,180,5,5,86,249,5,5,223,169,5,5,90,230,5,5,76,197,5,5,3,210,5,5,57,172,5,5,204,193,5,5,194,244,5,5,226,237,5,5,127,246,5,5,42,220,5,5,170,216,5,5,78,211,5,5,50,240,5,5,59,174,5,5,101,215,5,5,150,236,5,5,68,219,5,5,120,247,5,5,61,176,5,5,103,193,5,5,221,192,5,5,39,229,5,5,236,241,5,5,134,171,5,5,111,219,5,5,251,225,5,5,201,228,5,5,59,213,5,5,214,236,5,5,86,183,5,5,139,225,5,5,253,229,5,5,154,181,5,5,116,233,5,5,221,173,5,5,145,221,5,5,136,198,5,5,29,179,5,5,45,250,5,5,204,172,5,5,218,226,5,5,178,169,5,5,163,233,5,5,188,190,5,5,189,237,5,5,255,244,5,5,93,175,5,5,56,236,5,5,42,241,5,5,18,194,5,5,189,234,5,5,129,244,5,5,95,176,5,5,93,184,5,5,8,170,5,5,235,246,5,5,134,249,5,5,154,208,5,5,121,192,5,5,198,238,5,5,164,233,5,5,178,235,5,5,47,172,5,5,182,180,5,5,167,172,5,5,188,245,5,5,214,211,5,5,54,227,5,5,55,227,5,5,179,169,5,5,163,243,5,5,25,205,5,5,80,195,5,5,40,229,5,5,58,183,5,5,131,173,5,5,35,187,5,5,211,223,5,5,253,246,5,5,250,223,5,5,160,231,5,5,98,184,5,5,242,242,5,5,236,218,5,5,145,202,5,5,141,211,5,5,122,243,5,5,115,194,5,5,197,206,5,5,67,169,5,5,68,179,5,5,102,225,5,5,124,188,5,5,86,195,5,5,214,230,5,5,125,220,5,5,150,215,5,5,213,197,5,5,121,172,5,5,172,175,5,5,177,219,5,5,183,169,5,5,80,233,5,5,238,240,5,5,137,237,5,5,75,225,5,5,132,224,5,5,89,237,5,5,37,182,5,5,135,171,5,5,58,193,5,5,168,177,5,5,192,243,5,5,141,225,5,5,87,186,5,5,54,171,5,5,144,175,5,5,166,211,5,5,80,172,5,5,190,201,5,5,11,177,5,5,192,240,5,5,5,244,5,5,140,249,5,5,239,169,5,5,168,223,5,5,144,168,5,5,215,175,5,5,244,241,5,5,196,244,5,5,197,249,5,5,161,220,5,5,247,175,5,5,98,196,5,5,243,174,5,5,40,220,5,5,42,188,5,5,21,245,5,5,179,216,5,5,227,236,5,5,46,179,5,5,178,233,5,5,30,205,5,5,184,169,5,5,111,213,5,5,195,195,5,5,50,203,5,5,165,205,5,5,241,206,5,5,61,215,5,5,246,231,5,5,77,225,5,5,124,240,5,5,71,180,5,5,106,248,5,5,229,232,5,5,130,220,5,5,17,216,5,5,138,196,5,5,180,227,5,5,15,250,5,5,20,214,5,5,235,230,5,5,89,201,5,5,155,173,5,5,7,187,5,5,117,203,5,5,82,214,5,5,64,174,5,5,26,173,5,5,62,229,5,5,37,192,5,5,162,171,5,5,98,191,5,5,224,175,5,5,185,226,5,5,31,178,5,5,217,194,5,5,197,196,5,5,10,220,5,5,61,183,5,5,137,232,5,5,14,197,5,5,180,181,5,5,166,194,5,5,42,194,5,5,26,227,5,5,21,204,5,5,206,171,5,5,136,186,5,5,247,231,5,5,10,224,5,5,138,232,5,5,96,194,5,5,15,209,5,5,25,238,5,5,240,195,5,5,120,193,5,5,50,216,5,5,49,213,5,5,99,183,5,5,190,247,5,5,16,168,5,5,163,219,5,5,158,238,5,5,59,198,5,5,102,211,5,5,31,173,5,5,88,239,5,5,91,178,5,5,59,196,5,5,22,235,5,5,146,199,5,5,235,193,5,5,181,175,5,5,234,177,5,5,223,194,5,5,41,220,5,5,195,243,5,5,107,172,5,5,65,171,5,5,62,168,5,5,25,219,5,5,241,224,5,5,72,175,5,5,252,172,5,5,219,200,5,5,160,210,5,5,208,195,5,5,161,215,5,5,247,207,5,5,106,230,5,5,61,211,5,5,249,216,5,5,161,210,5,5,144,173,5,5,203,203,5,5,197,201,5,5,253,205,5,5,192,199,5,5,142,169,5,5,105,242,5,5,255,170,5,5,210,243,5,5,44,247,5,5,141,223,5,5,17,241,5,5,104,188,5,5,218,216,5,5,45,174,5,5,183,202,5,5,231,225,5,5,74,229,5,5,11,205,5,5,149,175,5,5,45,173,5,5,79,218,5,5,153,222,5,5,139,191,5,5,208,202,5,5,119,206,5,5,213,243,5,5,167,211,5,5,145,225,5,5,187,236,5,5,174,201,5,5,56,210,5,5,218,181,5,5,111,230,5,5,96,243,5,5,197,243,5,5,170,242,5,5,65,234,5,5,10,175,5,5,88,245,5,5,66,234,5,5,227,231,5,5,246,186,5,5,218,180,5,5,248,198,5,5,219,180,5,5,148,208,5,5,134,227,5,5,126,173,5,5,220,181,5,5,220,180,5,5,222,181,5,5,165,195,5,5,136,227,5,5,110,223,5,5,143,236,5,5,146,236,5,5,247,221,192,0,0,0,5,5,65,178,5,5,48,215,5,5,77,180,5,5,7,183,5,5,77,207,5,5,43,221,5,5,78,180,192,0,0,0,5,5,33,196,5,5,80,202,5,5,245,190,5,5,47,219,5,5,166,228,5,5,110,210,5,5,204,217,5,5,87,203,5,5,145,241,5,5,161,168,5,5,203,185,5,5,193,204,5,5,166,230,5,5,65,188,5,5,205,200,5,5,239,185,5,5,75,226,5,5,185,186,5,5,46,234,5,5,96,171,5,5,106,214,5,5,65,197,5,5,86,179,5,5,255,248,5,5,4,183,5,5,83,237,5,5,137,193,5,5,100,222,5,5,235,192,5,5,64,239,5,5,2,193,5,5,88,173,5,5,114,196,5,5,102,207,5,5,69,218,5,5,111,210,5,5,171,242,5,5,91,207,5,5,252,184,5,5,70,218,5,5,157,172,5,5,115,196,5,5,158,172,5,5,187,243,5,5,158,186,5,5,124,196,5,5,105,207,5,5,176,247,5,5,107,207,5,5,26,186,5,5,186,234,5,5,155,208,5,5,91,208,5,5,233,218,5,5,212,239,5,5,144,233,5,5,131,198,5,5,17,198,5,5,95,211,5,5,105,238,5,5,41,208,5,5,23,222,5,5,188,186,5,5,240,207,5,5,99,247,5,5,77,197,5,5,143,242,5,5,30,209,5,5,75,199,5,5,218,203,5,5,94,184,5,5,145,233,5,5,119,208,5,5,91,171,5,5,19,180,5,5,249,224,5,5,254,184,5,5,117,183,5,5,95,171,5,5,230,189,5,5,11,175,5,5,180,197,5,5,231,189,5,5,198,199,5,5,245,237,5,5,236,201,5,5,26,212,5,5,206,183,5,5,250,208,5,5,51,180,5,5,67,232,5,5,177,203,5,5,17,215,5,5,130,193,5,5,72,196,5,5,185,223,5,5,182,207,5,5,94,227,5,5,64,214,5,5,123,186,5,5,180,248,5,5,150,223,5,5,81,196,5,5,72,203,5,5,210,216,5,5,131,179,5,5,52,204,5,5,62,180,5,5,240,184,5,5,208,193,5,5,183,239,5,5,212,176,5,5,0,148,5,5,146,202,5,5,2,176,5,5,48,209,5,5,182,248,5,5,12,177,5,5,76,223,5,5,46,181,5,5,241,195,5,5,3,204,5,5,4,204,5,5,62,211,5,5,254,230,5,5,134,180,5,5,170,192,5,5,73,182,5,5,74,182,5,5,75,182,5,5,133,183,5,5,209,196,5,5,140,175,5,5,18,246,5,5,72,183,5,5,188,209,5,5,161,246,5,5,203,183,5,5,73,183,5,5,163,213,5,5,77,183,5,5,92,198,5,5,189,190,5,5,98,198,5,5,206,184,5,5,188,178,5,5,193,213,5,5,126,215,5,5,63,234,5,5,134,199,5,5,75,227,5,5,98,168,5,5,102,175,5,5,249,191,5,5,75,178,5,5,243,187,5,5,246,187,5,5,10,244,5,5,103,178,5,5,126,179,5,5,104,178,5,5,140,218,5,5,141,218,5,5,233,175,5,5,248,182,5,5,64,216,5,5,222,238,5,5,250,191,5,5,123,198,5,5,143,215,5,5,67,177,5,5,109,175,5,5,185,229,5,5,254,191,5,5,244,177,5,5,23,234,5,5,51,190,5,5,94,228,5,5,181,197,5,5,243,201,5,5,9,243,5,5,175,203,5,5,127,204,5,5,41,244,5,5,255,184,5,5,251,175,5,5,207,183,5,5,104,175,5,5,181,217,5,5,129,179,5,5,72,220,5,5,251,208,5,5,36,204,5,5,70,247,5,5,27,212,5,5,36,171,5,5,61,195,5,5,62,195,5,5,74,212,5,5,98,202,5,5,73,220,5,5,37,171,5,5,63,173,5,5,49,196,5,5,142,186,5,5,168,185,5,5,133,178,5,5,253,175,5,5,226,199,5,5,88,199,5,5,69,181,5,5,9,182,5,5,203,246,5,5,225,222,5,5,7,218,5,5,16,220,5,5,141,176,5,5,249,198,5,5,66,195,5,5,93,187,5,5,142,176,5,5,94,187,5,5,93,198,5,5,70,181,5,5,203,192,5,5,45,226,5,5,55,196,5,5,23,205,5,5,132,206,5,5,49,244,5,5,142,242,5,5,92,177,5,5,90,235,5,5,16,199,5,5,128,200,5,5,94,215,5,5,17,220,5,5,254,175,5,5,160,186,5,5,12,194,5,5,93,177,5,5,246,201,5,5,240,225,5,5,229,182,5,5,241,213,5,5,68,173,5,5,116,214,5,5,255,175,5,5,87,249,5,5,11,185,5,5,82,228,5,5,146,171,5,5,12,192,5,5,29,181,5,5,186,216,5,5,119,220,5,5,114,180,5,5,19,194,5,5,216,192,5,5,147,171,5,5,52,236,5,5,78,197,5,5,185,191,5,5,152,221,5,5,209,193,5,5,39,181,5,5,183,180,5,5,34,230,5,5,161,186,5,5,95,184,5,5,150,221,5,5,24,194,5,5,97,185,5,5,132,177,5,5,99,198,5,5,3,176,5,5,206,175,5,5,76,173,5,5,148,227,5,5,166,205,5,5,8,202,5,5,196,212,5,5,93,220,5,5,87,213,5,5,66,199,5,5,211,194,5,5,151,186,5,5,243,215,5,5,221,197,5,5,64,190,5,5,134,244,5,5,230,248,5,5,252,202,5,5,102,197,5,5,227,212,5,5,149,204,5,5,108,187,5,5,224,194,5,5,109,187,5,5,46,194,5,5,47,194,5,5,88,225,5,5,188,191,5,5,3,193,5,5,57,194,5,5,101,239,5,5,58,194,5,5,45,247,5,5,46,173,5,5,255,193,5,5,82,209,5,5,54,202,5,5,19,248,5,5,90,202,5,5,22,236,5,5,6,218,5,5,29,169,5,5,205,185,5,5,35,193,5,5,113,230,5,5,221,206,5,5,176,203,5,5,213,195,5,5,32,199,5,5,99,233,5,5,162,246,5,5,50,180,5,5,26,248,5,5,136,211,5,5,63,195,5,5,134,217,5,5,213,220,5,5,235,238,5,5,201,247,5,5,87,209,5,5,99,202,5,5,214,195,5,5,78,201,5,5,79,201,5,5,148,197,5,5,71,199,5,5,47,237,5,5,43,228,5,5,72,233,5,5,148,209,5,5,169,199,5,5,67,195,5,5,178,203,5,5,156,188,5,5,17,222,5,5,250,198,5,5,219,195,5,5,71,185,5,5,181,171,5,5,255,208,5,5,230,174,5,5,34,201,5,5,230,240,5,5,231,240,5,5,151,208,5,5,251,198,5,5,134,235,5,5,151,197,5,5,187,216,5,5,149,205,5,5,22,172,5,5,20,208,5,5,233,174,5,5,154,201,5,5,119,198,5,5,156,208,5,5,65,180,5,5,216,234,5,5,219,234,5,5,125,198,5,5,130,230,5,5,31,239,5,5,137,235,5,5,215,229,5,5,153,221,5,5,86,201,5,5,198,209,5,5,167,205,5,5,112,213,5,5,54,222,5,5,30,192,5,5,125,216,5,5,137,194,5,5,183,173,5,5,9,218,5,5,230,232,5,5,77,239,5,5,222,197,5,5,57,182,5,5,132,197,5,5,27,227,5,5,103,197,5,5,235,177,5,5,127,233,5,5,231,206,5,5,142,235,5,5,143,235,5,5,18,206,5,5,170,202,5,5,235,173,5,5,80,218,5,5,11,218,5,5,81,169,5,5,206,220,5,5,65,243,5,5,145,196,5,5,124,169,5,5,246,185,5,5,112,230,5,5,66,243,5,5,157,229,5,5,64,234,5,5,169,184,5,5,170,184,5,5,82,169,5,5,152,176,5,5,225,238,5,5,67,234,5,5,142,212,5,5,211,196,5,5,179,225,5,5,111,185,5,5,12,214,5,5,149,181,5,5,82,212,5,5,244,183,5,5,217,185,5,5,133,177,5,5,190,196,5,5,224,185,5,5,22,170,5,5,50,190,5,5,159,169,5,5,81,210,5,5,87,222,5,5,136,182,5,5,180,196,5,5,101,238,5,5,149,243,5,5,126,194,5,5,175,198,5,5,127,194,5,5,168,199,5,5,141,189,5,5,167,231,5,5,90,217,5,5,77,182,5,5,71,187,5,5,69,216,5,5,237,243,5,5,172,199,5,5,207,182,5,5,153,189,5,5,237,241,5,5,83,187,5,5,19,200,5,5,90,191,5,5,229,177,5,5,107,187,5,5,247,202,5,5,253,202,5,5,39,224,5,5,135,180,5,5,203,196,5,5,251,197,5,5,103,231,5,5,24,213,5,5,86,217,5,5,64,238,5,5,200,198,5,5,147,236,5,5,189,170,5,5,174,210,5,5,104,217,5,5,201,221,5,5,197,235,5,5,25,215,5,5,216,210,5,5,136,219,5,5,190,249,5,5,110,221,5,5,78,230,5,5,63,191,5,5,30,169,5,5,9,222,5,5,104,231,5,5,140,228,5,5,31,190,5,5,100,233,5,5,141,228,5,5,148,169,5,5,192,249,5,5,187,248,5,5,103,233,5,5,215,177,5,5,226,206,5,5,21,210,5,5,217,177,5,5,122,192,5,5,196,171,5,5,235,222,5,5,244,171,5,5,194,199,5,5,199,170,5,5,2,172,5,5,249,244,5,5,80,198,5,5,69,205,5,5,65,241,5,5,114,205,5,5,176,230,5,5,163,186,5,5,250,229,5,5,159,233,5,5,55,195,5,5,56,195,5,5,84,229,5,5,91,168,5,5,225,216,5,5,80,246,5,5,92,207,5,5,29,240,5,5,198,228,5,5,214,220,5,5,102,192,5,5,17,218,5,5,52,206,5,5,207,174,5,5,138,197,5,5,155,233,5,5,204,234,5,5,190,195,5,5,18,218,5,5,127,230,5,5,109,192,5,5,155,181,5,5,171,216,5,5,228,230,5,5,171,219,5,5,149,173,5,5,22,229,5,5,131,181,5,5,195,226,5,5,91,202,5,5,116,245,5,5,15,188,5,5,92,202,5,5,13,236,5,5,228,235,5,5,198,236,5,5,240,220,5,5,249,178,5,5,155,244,5,5,52,212,5,5,249,235,5,5,65,216,5,5,252,235,5,5,204,246,5,5,160,172,5,5,54,212,5,5,248,225,5,5,245,201,5,5,244,220,5,5,127,189,5,5,202,226,5,5,226,249,5,5,94,177,5,5,230,182,5,5,181,242,5,5,168,172,5,5,187,242,5,5,164,232,5,5,151,236,5,5,147,202,5,5,214,197,5,5,48,220,5,5,69,179,5,5,112,175,5,5,191,196,5,5,196,195,5,5,104,168,5,5,89,187,5,5,232,236,5,5,77,223,5,5,154,202,5,5,156,173,5,5,216,200,5,5,163,202,5,5,119,236,5,5,180,236,5,5,228,242,5,5,54,223,5,5,204,185,5,5,214,203,5,5,240,218,5,5,179,217,5,5,180,217,5,5,241,181,5,5,183,201,5,5,113,180,5,5,104,232,5,5,78,248,5,5,168,219,5,5,72,172,5,5,73,172,5,5,74,172,5,5,77,172,5,5,12,168,5,5,198,177,5,5,86,241,5,5,198,172,5,5,94,192,5,5,62,241,5,5,242,222,5,5,110,182,5,5,90,222,5,5,182,186,5,5,186,168,5,5,19,182,5,5,109,219,5,5,13,222,5,5,120,222,5,5,205,248,5,5,171,217,5,5,98,222,5,5,207,170,5,5,207,234,5,5,171,231,5,5,32,212,5,5,209,223,5,5,110,192,5,5,93,229,5,5,210,223,5,5,204,179,5,5,98,219,5,5,206,176,5,5,70,199,5,5,74,186,5,5,54,197,5,5,120,204,5,5,159,186,5,5,105,178,5,5,72,199,5,5,160,246,5,5,247,194,5,5,87,245,5,5,164,168,5,5,227,179,5,5,239,198,5,5,225,224,5,5,223,174,5,5,240,221,5,5,87,241,5,5,32,217,5,5,219,213,5,5,252,237,5,5,113,188,5,5,57,223,5,5,71,225,5,5,203,174,5,5,136,201,5,5,127,179,5,5,251,191,5,5,153,203,5,5,23,189,5,5,203,208,5,5,138,234,5,5,34,207,5,5,145,174,5,5,151,185,5,5,255,234,5,5,113,237,5,5,60,249,5,5,154,188,5,5,96,192,5,5,153,179,5,5,70,177,5,5,255,226,5,5,24,209,5,5,125,189,5,5,95,202,5,5,131,227,5,5,218,232,5,5,122,244,5,5,212,231,5,5,244,237,5,5,229,205,5,5,229,235,5,5,208,206,5,5,212,211,5,5,184,191,5,5,65,238,5,5,18,198,5,5,89,175,5,5,15,204,5,5,191,227,5,5,214,239,5,5,218,182,5,5,27,170,5,5,155,216,5,5,156,216,5,5,133,195,5,5,13,172,5,5,154,183,5,5,225,168,5,5,240,180,5,5,249,182,5,5,98,181,5,5,241,187,5,5,199,226,5,5,34,199,5,5,25,223,5,5,198,214,5,5,46,189,5,5,83,246,5,5,3,240,5,5,48,230,5,5,49,230,5,5,200,173,5,5,226,209,5,5,125,235,5,5,168,230,5,5,5,176,5,5,74,180,5,5,186,229,5,5,123,189,5,5,24,189,5,5,50,230,5,5,69,185,5,5,50,236,5,5,43,198,5,5,230,205,5,5,137,181,5,5,109,185,5,5,135,207,5,5,162,177,5,5,199,214,5,5,88,174,5,5,51,230,5,5,70,185,5,5,164,183,5,5,248,194,5,5,25,189,5,5,204,174,5,5,113,221,5,5,227,209,5,5,192,227,5,5,39,184,5,5,236,238,5,5,163,177,5,5,213,211,5,5,100,202,5,5,206,169,5,5,174,242,5,5,145,187,5,5,207,229,5,5,173,215,5,5,26,230,5,5,141,181,5,5,166,221,5,5,139,197,5,5,139,212,5,5,189,229,5,5,102,210,5,5,166,206,5,5,121,204,5,5,56,218,5,5,8,241,5,5,254,178,5,5,131,247,5,5,18,222,5,5,172,247,5,5,192,226,5,5,109,231,5,5,246,238,5,5,227,214,5,5,164,213,5,5,67,249,5,5,43,186,5,5,92,176,5,5,88,229,5,5,183,234,5,5,146,188,5,5,59,210,5,5,136,184,5,5,98,212,5,5,247,238,5,5,241,232,5,5,21,221,5,5,143,189,5,5,51,209,5,5,123,177,5,5,182,217,5,5,32,197,5,5,244,187,5,5,152,243,5,5,226,227,5,5,26,181,5,5,250,213,5,5,75,212,5,5,38,171,5,5,212,183,5,5,25,237,5,5,157,188,5,5,173,243,5,5,158,188,5,5,203,187,5,5,183,196,5,5,226,240,5,5,79,184,5,5,109,177,5,5,173,247,5,5,62,228,5,5,75,198,5,5,44,186,5,5,76,198,5,5,51,250,5,5,15,172,5,5,210,204,5,5,20,180,5,5,49,211,5,5,221,224,5,5,60,223,5,5,105,232,5,5,208,191,5,5,231,214,5,5,10,182,5,5,144,181,5,5,252,186,5,5,169,244,5,5,115,231,5,5,117,238,5,5,173,203,5,5,2,249,5,5,204,208,5,5,38,208,5,5,177,246,5,5,183,237,5,5,9,192,5,5,177,247,5,5,91,185,5,5,194,222,5,5,203,243,5,5,73,233,5,5,204,187,5,5,2,191,5,5,124,199,5,5,90,190,5,5,181,225,5,5,22,232,5,5,145,181,5,5,56,235,5,5,90,234,5,5,146,187,5,5,202,236,5,5,105,201,5,5,69,238,5,5,0,133,5,5,146,213,5,5,72,221,5,5,6,227,5,5,28,189,5,5,71,234,5,5,27,181,5,5,73,228,5,5,199,187,5,5,177,243,5,5,94,241,5,5,223,179,5,5,251,211,5,5,201,232,5,5,0,132,5,5,161,185,5,5,173,199,5,5,15,236,5,5,127,177,5,5,244,232,5,5,60,170,5,5,70,191,5,5,192,210,5,5,20,190,5,5,61,234,5,5,140,199,5,5,52,181,5,5,255,182,5,5,205,192,5,5,97,211,5,5,145,209,5,5,184,240,5,5,117,188,5,5,182,242,5,5,18,205,5,5,251,213,5,5,46,207,5,5,93,185,5,5,190,211,5,5,148,174,5,5,217,220,5,5,242,201,5,5,223,209,5,5,193,249,5,5,171,188,5,5,92,199,5,5,247,232,5,5,116,232,5,5,82,201,5,5,148,171,5,5,123,245,5,5,128,244,5,5,98,203,5,5,174,168,5,5,205,208,5,5,184,203,5,5,49,224,5,5,238,183,5,5,4,172,5,5,230,187,5,5,2,189,5,5,186,185,5,5,35,223,5,5,147,185,5,5,104,241,5,5,207,236,5,5,52,186,5,5,82,186,5,5,207,169,5,5,248,187,5,5,129,224,5,5,43,176,5,5,18,239,5,5,0,134,5,5,79,193,5,5,81,227,5,5,23,232,5,5,113,228,5,5,123,202,5,5,188,230,5,5,100,225,5,5,42,250,5,5,49,217,5,5,216,173,5,5,54,230,5,5,25,244,5,5,16,236,5,5,75,180,5,5,203,214,5,5,220,178,5,5,159,216,5,5,196,206,5,5,100,209,5,5,242,185,5,5,87,180,5,5,183,217,5,5,83,201,5,5,88,203,5,5,149,224,5,5,26,244,5,5,150,190,5,5,74,201,5,5,19,220,5,5,13,192,5,5,210,249,5,5,233,229,5,5,131,183,5,5,227,195,5,5,217,189,5,5,237,214,5,5,101,222,5,5,245,228,5,5,226,222,5,5,165,173,5,5,229,181,5,5,136,202,5,5,233,215,5,5,65,168,5,5,50,244,5,5,185,240,5,5,220,210,5,5,122,241,5,5,112,226,5,5,185,200,5,5,43,220,5,5,198,230,5,5,33,228,5,5,154,189,5,5,0,145,5,5,76,245,5,5,122,211,5,5,22,199,5,5,215,248,5,5,216,248,5,5,159,220,5,5,30,179,5,5,5,189,5,5,219,203,5,5,0,131,5,5,58,172,5,5,165,232,5,5,195,227,5,5,92,230,5,5,201,229,5,5,37,177,5,5,44,220,5,5,88,186,5,5,206,214,5,5,207,214,5,5,186,225,5,5,16,178,5,5,17,178,5,5,13,238,5,5,75,249,5,5,38,170,5,5,38,177,5,5,198,175,5,5,177,188,5,5,17,236,5,5,209,214,5,5,127,245,5,5,180,182,5,5,89,203,5,5,34,232,5,5,254,212,5,5,45,220,5,5,155,200,5,5,51,244,5,5,54,240,5,5,167,186,5,5,227,211,5,5,153,245,5,5,233,219,5,5,101,248,5,5,253,210,5,5,149,187,5,5,100,206,5,5,101,236,5,5,204,178,5,5,215,217,5,5,70,173,5,5,154,171,5,5,254,179,5,5,33,201,5,5,79,233,5,5,3,197,5,5,103,225,5,5,239,174,5,5,252,225,5,5,60,168,5,5,156,196,5,5,23,178,5,5,77,198,5,5,219,240,5,5,98,229,5,5,27,210,5,5,126,220,5,5,44,242,5,5,132,245,5,5,133,200,5,5,36,195,5,5,109,189,5,5,18,188,5,5,192,179,5,5,145,247,5,5,251,172,5,5,75,228,5,5,170,211,5,5,32,242,5,5,189,239,5,5,164,243,5,5,119,237,5,5,188,211,5,5,158,208,5,5,179,189,5,5,104,243,5,5,222,175,5,5,83,191,5,5,159,190,5,5,160,190,5,5,78,231,5,5,149,188,5,5,21,192,5,5,21,200,5,5,100,247,5,5,250,228,5,5,49,220,5,5,224,234,5,5,192,190,5,5,42,181,5,5,3,211,5,5,9,235,5,5,102,203,5,5,45,242,5,5,205,219,5,5,157,174,5,5,16,216,5,5,218,236,5,5,225,177,5,5,141,212,5,5,78,172,5,5,4,202,5,5,186,240,5,5,130,244,5,5,206,228,5,5,176,208,5,5,116,240,5,5,132,212,5,5,6,172,5,5,245,199,5,5,50,231,5,5,46,242,5,5,37,195,5,5,27,205,5,5,111,199,5,5,29,244,5,5,250,189,5,5,7,226,5,5,142,237,5,5,223,188,5,5,0,130,5,5,126,234,5,5,188,215,5,5,239,219,5,5,193,240,5,5,254,223,5,5,94,189,5,5,120,233,5,5,7,168,5,5,136,224,5,5,209,206,5,5,205,172,5,5,222,187,5,5,217,198,5,5,113,177,5,5,197,219,5,5,242,173,5,5,51,219,5,5,188,223,5,5,50,228,5,5,31,192,5,5,64,212,5,5,37,230,5,5,131,215,5,5,55,222,5,5,125,185,5,5,17,249,5,5,38,195,5,5,122,201,5,5,209,229,5,5,66,228,5,5,132,223,5,5,159,174,5,5,95,188,5,5,169,224,192,0,0,0,5,5,205,187,5,5,155,224,5,5,126,216,5,5,6,211,5,5,151,188,5,5,140,246,5,5,161,219,5,5,215,209,5,5,149,185,5,5,219,209,5,5,176,179,5,5,0,140,5,5,183,215,5,5,251,226,5,5,95,170,5,5,106,168,5,5,107,168,5,5,241,202,5,5,228,249,5,5,113,245,5,5,114,209,5,5,220,223,5,5,212,223,5,5,64,225,5,5,231,178,5,5,83,214,5,5,7,195,5,5,19,175,5,5,167,194,5,5,100,198,5,5,78,225,5,5,95,220,5,5,139,172,5,5,65,193,5,5,0,150,5,5,83,233,5,5,113,213,5,5,32,205,5,5,137,184,5,5,104,186,5,5,17,233,5,5,159,189,5,5,99,191,5,5,156,187,5,5,216,211,5,5,248,231,5,5,58,244,5,5,138,173,5,5,162,234,5,5,213,213,5,5,156,178,5,5,210,206,5,5,200,206,5,5,190,189,5,5,227,201,5,5,116,180,5,5,138,184,5,5,86,225,5,5,248,237,5,5,242,169,5,5,66,240,5,5,156,219,5,5,8,195,5,5,111,208,5,5,84,233,5,5,25,190,5,5,218,206,5,5,65,218,5,5,199,175,5,5,153,212,5,5,90,201,5,5,86,233,5,5,41,192,5,5,15,248,5,5,192,173,5,5,30,200,5,5,233,249,5,5,22,233,5,5,84,223,5,5,101,188,5,5,65,184,5,5,123,203,5,5,20,216,5,5,245,230,5,5,182,175,5,5,80,173,5,5,35,178,5,5,245,188,5,5,220,235,5,5,128,181,5,5,16,250,5,5,58,182,5,5,164,174,5,5,27,191,5,5,208,243,5,5,244,175,5,5,233,176,5,5,32,178,5,5,85,242,5,5,198,227,5,5,190,172,5,5,12,195,5,5,230,237,5,5,246,230,5,5,249,214,5,5,98,188,5,5,254,202,5,5,166,234,5,5,175,178,5,5,29,191,5,5,243,239,5,5,6,214,5,5,172,197,5,5,131,216,5,5,186,235,5,5,9,211,5,5,66,205,5,5,85,223,5,5,175,236,5,5,181,240,5,5,116,177,5,5,213,244,5,5,189,211,5,5,193,247,5,5,246,195,5,5,104,211,5,5,111,191,5,5,183,233,5,5,251,214,5,5,190,181,5,5,33,244,5,5,87,238,5,5,74,222,5,5,15,195,5,5,251,242,5,5,0,143,5,5,202,240,5,5,236,197,5,5,149,199,5,5,255,241,5,5,133,212,5,5,145,178,5,5,141,184,5,5,22,189,5,5,248,180,5,5,56,178,5,5,233,233,5,5,157,219,5,5,231,212,5,5,36,213,5,5,208,239,5,5,235,249,5,5,63,211,5,5,240,178,5,5,25,201,5,5,182,224,5,5,189,191,5,5,27,219,5,5,87,188,5,5,218,231,5,5,41,238,5,5,36,181,5,5,51,213,5,5,74,175,5,5,8,193,5,5,250,195,5,5,105,188,5,5,67,226,5,5,145,173,5,5,146,235,5,5,129,207,5,5,40,172,5,5,69,226,5,5,131,205,5,5,130,191,5,5,222,171,5,5,19,241,5,5,22,211,5,5,247,239,5,5,10,190,5,5,133,207,5,5,39,189,5,5,144,245,5,5,36,202,5,5,163,204,5,5,227,187,5,5,44,210,5,5,38,233,5,5,74,209,5,5,251,236,5,5,191,202,5,5,88,205,5,5,233,204,5,5,77,209,5,5,45,178,5,5,46,174,5,5,141,213,5,5,38,213,5,5,235,232,5,5,233,191,5,5,78,209,5,5,151,231,5,5,67,181,5,5,118,199,5,5,125,236,5,5,49,173,5,5,90,240,5,5,90,218,5,5,99,179,5,5,132,200,5,5,216,224,5,5,44,233,5,5,252,197,5,5,89,176,5,5,100,190,5,5,239,191,5,5,116,248,5,5,31,211,5,5,45,233,5,5,46,172,5,5,47,202,5,5,94,173,5,5,6,173,5,5,214,202,5,5,155,239,5,5,102,206,5,5,46,210,5,5,170,243,5,5,232,223,5,5,99,231,5,5,101,244,5,5,194,193,5,5,171,243,5,5,20,248,5,5,243,200,5,5,38,211,5,5,42,210,5,5,17,201,5,5,207,204,5,5,231,228,5,5,38,191,5,5,167,239,5,5,33,217,5,5,106,223,5,5,44,211,5,5,198,193,5,5,39,191,5,5,245,233,5,5,168,239,5,5,16,210,5,5,145,227,5,5,146,227,5,5,6,181,5,5,177,198,5,5,140,242,5,5,125,196,5,5,58,213,5,5,68,243,5,5,153,176,5,5,168,189,5,5,40,191,5,5,175,242,5,5,99,181,5,5,163,187,5,5,93,200,5,5,154,176,5,5,247,226,5,5,92,227,5,5,234,228,5,5,69,206,5,5,164,187,5,5,46,218,5,5,185,218,5,5,38,204,5,5,121,186,5,5,165,187,5,5,222,224,5,5,166,187,5,5,93,227,5,5,95,241,5,5,167,187,5,5,221,239,5,5,176,191,5,5,33,214,5,5,233,241,5,5,249,187,5,5,183,242,5,5,76,206,5,5,199,217,5,5,238,241,5,5,173,216,5,5,168,187,5,5,213,175,5,5,251,228,5,5,189,242,5,5,200,217,5,5,96,199,5,5,37,214,5,5,197,242,5,5,198,242,5,5,45,236,5,5,108,227,5,5,116,227,5,5,117,227,5,5,149,227,5,5,61,206,5,5,103,191,5,5,102,239,5,5,124,190,5,5,34,206,5,5,45,206,5,5,129,227,5,5,23,236,5,5,130,227,5,5,233,226,5,5,147,221,5,5,11,214,5,5,141,205,5,5,135,199,5,5,227,235,5,5,188,243,5,5,233,228,5,5,84,185,5,5,12,242,5,5,20,230,5,5,23,187,5,5,28,213,5,5,102,238,5,5,167,178,5,5,28,215,5,5,29,215,5,5,244,245,5,5,200,248,5,5,76,178,5,5,16,215,5,5,213,231,5,5,71,220,5,5,196,199,5,5,150,173,5,5,100,214,5,5,246,210,5,5,88,209,5,5,255,191,5,5,73,193,5,5,165,246,5,5,166,246,5,5,16,169,5,5,133,235,5,5,237,238,5,5,144,216,5,5,136,207,5,5,19,198,5,5,235,218,5,5,202,227,5,5,139,182,5,5,221,169,5,5,222,169,5,5,10,225,5,5,132,198,5,5,89,190,5,5,34,250,5,5,35,199,5,5,49,170,5,5,50,196,5,5,16,179,5,5,6,196,5,5,197,192,5,5,136,199,5,5,250,178,5,5,7,196,5,5,127,193,5,5,23,225,5,5,101,202,5,5,208,168,5,5,119,230,5,5,17,183,5,5,150,248,5,5,203,213,5,5,33,169,5,5,99,225,5,5,47,200,5,5,95,217,5,5,58,225,5,5,86,246,5,5,245,227,5,5,195,184,5,5,165,213,5,5,103,179,5,5,164,186,5,5,120,210,5,5,228,224,5,5,207,212,5,5,116,196,5,5,81,237,5,5,149,183,5,5,141,168,5,5,145,205,5,5,7,217,5,5,170,209,5,5,240,198,5,5,19,186,5,5,126,235,5,5,189,168,5,5,180,174,5,5,225,173,5,5,39,204,5,5,29,248,5,5,80,184,5,5,144,189,5,5,205,246,5,5,8,176,5,5,120,200,5,5,7,205,5,5,8,205,5,5,72,205,5,5,142,168,5,5,172,177,5,5,76,212,5,5,23,209,5,5,30,234,5,5,53,180,5,5,206,192,5,5,217,188,5,5,4,206,5,5,104,176,5,5,209,174,5,5,186,201,5,5,151,184,5,5,172,239,5,5,128,189,5,5,207,180,5,5,91,245,5,5,225,183,5,5,253,186,5,5,129,237,5,5,53,181,5,5,54,181,5,5,74,187,5,5,216,172,5,5,51,237,5,5,219,239,5,5,28,182,5,5,23,186,5,5,178,242,5,5,180,179,5,5,105,233,5,5,20,199,5,5,173,220,5,5,94,222,5,5,146,181,5,5,128,171,5,5,105,179,5,5,56,189,5,5,233,235,5,5,125,199,5,5,158,177,5,5,82,198,5,5,79,178,5,5,94,198,5,5,72,188,5,5,77,210,5,5,63,168,5,5,5,234,5,5,117,232,5,5,240,242,5,5,48,169,5,5,174,183,5,5,211,168,5,5,19,239,5,5,33,240,5,5,29,188,5,5,211,234,5,5,10,176,5,5,111,216,5,5,187,185,5,5,0,135,5,5,245,169,5,5,154,182,5,5,19,218,5,5,233,240,5,5,47,198,5,5,50,193,5,5,25,179,5,5,212,206,5,5,68,201,5,5,141,197,5,5,94,174,5,5,81,220,5,5,174,195,5,5,124,245,5,5,185,203,5,5,186,203,5,5,23,172,5,5,101,174,5,5,21,190,5,5,24,172,5,5,220,221,5,5,135,235,5,5,147,187,5,5,118,196,5,5,246,237,5,5,221,210,5,5,205,178,5,5,33,242,5,5,29,172,5,5,237,235,5,5,216,217,5,5,77,224,5,5,255,212,5,5,174,216,5,5,116,228,5,5,84,197,5,5,92,206,5,5,26,246,5,5,50,199,5,5,39,175,5,5,28,180,5,5,188,177,5,5,73,225,5,5,66,168,5,5,67,172,5,5,168,175,5,5,246,169,5,5,137,198,5,5,130,246,5,5,57,181,5,5,32,239,5,5,131,246,5,5,33,239,5,5,107,212,5,5,19,192,5,5,181,248,5,5,125,214,5,5,223,219,5,5,85,197,5,5,129,210,5,5,94,199,5,5,3,199,5,5,101,225,5,5,49,200,5,5,176,210,5,5,139,193,5,5,208,180,5,5,193,195,5,5,13,185,5,5,34,242,5,5,156,181,5,5,162,212,5,5,125,186,5,5,138,227,5,5,238,201,5,5,175,182,5,5,3,236,5,5,149,215,5,5,50,200,5,5,80,168,5,5,39,221,5,5,78,181,5,5,83,210,5,5,84,227,5,5,112,174,5,5,190,239,5,5,165,191,5,5,82,170,5,5,51,203,5,5,150,187,5,5,193,179,5,5,102,248,5,5,133,189,5,5,107,169,5,5,108,169,5,5,163,241,5,5,208,178,5,5,81,207,5,5,39,195,5,5,61,219,5,5,16,238,5,5,199,185,5,5,127,198,5,5,101,249,5,5,164,241,5,5,193,190,5,5,163,181,5,5,138,237,5,5,219,236,5,5,133,169,5,5,109,176,5,5,151,207,5,5,153,173,5,5,157,180,5,5,3,228,5,5,34,240,5,5,122,183,5,5,122,247,5,5,151,195,5,5,179,195,5,5,21,189,5,5,18,185,5,5,28,176,5,5,214,193,5,5,183,213,5,5,187,201,5,5,224,232,5,5,185,190,5,5,229,201,5,5,191,180,5,5,85,228,5,5,10,235,5,5,230,192,5,5,132,192,5,5,143,199,5,5,125,240,5,5,178,224,5,5,120,174,5,5,244,240,5,5,103,198,5,5,255,223,5,5,2,224,5,5,226,221,5,5,108,208,5,5,185,224,5,5,217,229,5,5,121,174,5,5,109,227,5,5,106,225,5,5,27,218,5,5,102,247,5,5,155,202,5,5,103,247,5,5,71,169,5,5,153,219,5,5,253,243,5,5,209,180,5,5,95,226,5,5,144,230,5,5,73,246,5,5,138,235,5,5,126,185,5,5,5,246,5,5,8,168,5,5,218,185,5,5,112,236,5,5,140,198,5,5,96,226,5,5,199,242,5,5,138,229,5,5,179,233,5,5,196,204,5,5,214,187,5,5,63,201,5,5,139,173,5,5,167,212,5,5,255,169,5,5,17,174,5,5,174,205,5,5,121,205,5,5,198,211,5,5,157,215,5,5,165,207,5,5,115,209,5,5,83,248,5,5,3,223,5,5,161,222,5,5,52,205,5,5,196,174,5,5,16,207,5,5,240,170,5,5,100,196,5,5,180,172,5,5,213,222,5,5,19,247,5,5,60,245,5,5,151,198,5,5,196,240,5,5,117,179,5,5,30,174,5,5,143,246,5,5,135,231,5,5,154,187,5,5,227,215,5,5,238,195,5,5,51,179,5,5,162,220,5,5,200,209,5,5,14,177,5,5,233,236,5,5,187,224,5,5,102,244,5,5,109,215,5,5,209,215,5,5,79,203,5,5,104,229,5,5,161,248,5,5,248,215,5,5,104,244,5,5,163,234,5,5,132,220,5,5,133,220,5,5,202,168,5,5,22,214,5,5,147,199,5,5,44,180,5,5,91,182,5,5,34,218,5,5,131,209,5,5,244,180,5,5,245,180,5,5,3,250,5,5,52,179,5,5,158,221,5,5,85,181,5,5,88,181,5,5,35,225,5,5,191,178,5,5,166,209,5,5,34,183,5,5,205,190,5,5,36,225,5,5,160,177,5,5,21,238,5,5,60,248,5,5,48,194,5,5,152,168,5,5,215,215,5,5,52,192,5,5,251,215,5,5,25,199,5,5,103,239,5,5,15,213,5,5,130,170,5,5,118,179,5,5,99,194,5,5,250,237,5,5,203,240,5,5,109,235,5,5,41,225,5,5,6,201,5,5,107,197,5,5,91,190,5,5,95,178,5,5,89,218,5,5,166,215,5,5,147,235,5,5,149,232,5,5,93,231,5,5,232,188,5,5,17,168,5,5,244,235,5,5,128,178,5,5,106,188,5,5,63,219,5,5,251,195,5,5,198,201,5,5,215,199,5,5,89,205,5,5,126,236,5,5,51,225,5,5,78,229,5,5,92,190,5,5,13,205,5,5,14,205,5,5,99,219,5,5,192,202,5,5,248,203,5,5,91,218,5,5,50,173,5,5,155,235,5,5,131,236,5,5,175,201,5,5,222,168,5,5,91,228,5,5,254,221,5,5,120,218,5,5,192,219,5,5,133,248,5,5,134,248,5,5,114,221,5,5,66,238,5,5,224,206,5,5,235,198,5,5,35,248,5,5,137,248,5,5,174,189,5,5,176,189,5,5,82,200,5,5,77,238,5,5,180,189,5,5,225,234,5,5,88,200,5,5,107,222,5,5,63,207,5,5,4,250,5,5,108,222,5,5,88,238,5,5,158,246,5,5,73,186,5,5,156,175,5,5,128,194,5,5,118,183,5,5,166,169,5,5,182,244,5,5,211,170,5,5,45,224,5,5,45,218,5,5,40,204,5,5,84,184,5,5,95,177,5,5,215,231,5,5,85,234,5,5,200,233,5,5,73,210,5,5,222,231,5,5,8,200,5,5,165,230,5,5,78,228,5,5,234,242,5,5,93,207,5,5,235,223,5,5,24,181,5,5,25,181,5,5,3,238,5,5,184,216,5,5,79,228,5,5,27,186,5,5,28,186,5,5,239,214,5,5,34,208,5,5,35,208,5,5,240,239,5,5,204,191,5,5,31,174,5,5,154,177,5,5,80,244,5,5,74,226,5,5,248,224,5,5,161,183,5,5,181,186,5,5,112,237,5,5,24,237,5,5,67,188,5,5,53,185,5,5,164,221,5,5,155,225,5,5,250,224,5,5,61,227,5,5,139,236,5,5,24,170,5,5,103,238,5,5,119,199,5,5,37,193,5,5,37,181,5,5,52,190,5,5,191,199,5,5,98,243,5,5,39,193,5,5,168,168,5,5,211,181,5,5,230,202,5,5,146,190,5,5,201,178,5,5,144,236,5,5,89,212,5,5,147,197,5,5,107,214,5,5,6,210,5,5,134,183,5,5,106,233,5,5,55,183,5,5,87,179,5,5,194,217,5,5,238,199,5,5,184,249,5,5,148,190,5,5,232,214,5,5,87,198,5,5,124,244,5,5,208,169,5,5,7,239,5,5,113,194,5,5,207,225,5,5,250,243,5,5,217,169,5,5,189,230,5,5,237,190,5,5,209,182,5,5,132,179,5,5,213,235,5,5,234,169,5,5,112,179,5,5,145,168,5,5,224,220,5,5,216,229,5,5,202,187,5,5,146,168,5,5,145,230,5,5,147,168,5,5,117,194,5,5,248,202,5,5,45,181,5,5,58,243,5,5,118,194,5,5,70,222,5,5,63,183,5,5,224,191,5,5,145,170,5,5,35,206,5,5,68,181,5,5,143,211,5,5,130,211,5,5,238,179,5,5,250,209,5,5,30,215,5,5,124,193,5,5,173,224,5,5,169,196,5,5,152,211,5,5,233,172,5,5,111,188,5,5,228,231,5,5,116,182,5,5,173,192,5,5,38,223,5,5,12,219,5,5,177,182,5,5,191,228,5,5,44,189,5,5,118,248,5,5,76,184,5,5,167,206,5,5,214,177,5,5,151,218,5,5,165,183,5,5,71,196,5,5,85,236,5,5,218,187,5,5,198,229,5,5,71,247,5,5,223,211,5,5,166,180,5,5,198,192,5,5,36,199,5,5,113,247,5,5,114,237,5,5,215,195,5,5,69,243,5,5,196,208,5,5,155,183,5,5,146,174,5,5,10,243,5,5,120,248,5,5,81,211,5,5,199,236,5,5,228,209,5,5,215,233,5,5,18,183,5,5,28,170,5,5,132,241,5,5,21,228,5,5,74,183,5,5,142,228,5,5,151,182,5,5,81,230,5,5,16,242,5,5,24,187,5,5,169,180,5,5,190,168,5,5,118,210,5,5,159,247,5,5,206,248,5,5,70,245,5,5,124,177,5,5,254,209,5,5,236,242,5,5,66,227,5,5,19,232,5,5,123,246,5,5,91,181,5,5,196,207,5,5,89,209,5,5,61,214,5,5,53,170,5,5,22,221,5,5,66,216,5,5,92,181,5,5,159,188,5,5,184,234,5,5,27,182,5,5,21,246,5,5,224,208,5,5,34,169,5,5,171,209,5,5,166,183,5,5,41,204,5,5,61,249,5,5,62,249,5,5,245,221,5,5,71,218,5,5,76,220,5,5,26,237,5,5,238,206,5,5,124,195,5,5,45,186,5,5,111,223,5,5,48,234,5,5,29,229,5,5,3,249,5,5,58,197,5,5,77,220,5,5,125,213,5,5,159,218,5,5,130,237,5,5,54,180,5,5,85,194,5,5,124,222,5,5,111,192,5,5,152,184,5,5,219,232,5,5,32,190,5,5,123,197,5,5,154,194,5,5,24,186,5,5,106,201,5,5,135,193,5,5,136,193,5,5,118,238,5,5,219,210,5,5,125,246,5,5,10,192,5,5,14,192,5,5,112,232,5,5,7,189,5,5,254,186,5,5,21,198,5,5,120,199,5,5,203,236,5,5,47,209,5,5,179,203,5,5,120,212,5,5,147,181,5,5,96,241,5,5,94,236,5,5,238,172,5,5,27,221,5,5,173,239,5,5,213,221,5,5,75,187,5,5,208,217,5,5,4,249,5,5,147,223,5,5,199,228,5,5,57,189,5,5,58,228,5,5,24,205,5,5,33,236,5,5,99,218,5,5,155,194,5,5,24,206,5,5,154,213,5,5,118,232,5,5,218,220,5,5,68,202,5,5,95,174,5,5,160,233,5,5,47,207,5,5,175,183,5,5,130,224,5,5,144,207,5,5,33,229,5,5,254,198,5,5,72,176,5,5,73,176,5,5,236,226,5,5,223,210,5,5,35,234,5,5,23,210,5,5,150,241,5,5,231,209,5,5,242,213,5,5,103,210,5,5,124,197,5,5,33,221,5,5,223,246,5,5,250,187,5,5,26,179,5,5,123,248,5,5,102,181,5,5,133,213,5,5,185,227,5,5,119,232,5,5,153,208,5,5,55,230,5,5,95,236,5,5,93,230,5,5,0,136,5,5,99,236,5,5,151,241,5,5,120,223,5,5,152,241,5,5,46,228,5,5,124,202,5,5,27,232,5,5,225,196,5,5,173,217,5,5,153,248,5,5,68,214,5,5,28,232,5,5,217,248,5,5,29,180,5,5,109,173,5,5,153,205,5,5,0,158,5,5,93,181,5,5,94,181,5,5,26,205,5,5,132,208,5,5,190,176,5,5,252,213,5,5,4,197,5,5,212,213,5,5,59,172,5,5,60,204,5,5,117,228,5,5,20,171,5,5,2,233,5,5,158,222,5,5,208,214,5,5,13,191,5,5,125,182,5,5,245,229,5,5,77,219,5,5,28,225,5,5,181,182,5,5,182,182,5,5,81,195,5,5,76,226,5,5,130,210,5,5,217,217,5,5,77,196,5,5,151,191,5,5,19,196,5,5,53,215,5,5,109,179,5,5,54,234,5,5,246,189,5,5,83,228,5,5,166,200,5,5,74,170,5,5,191,239,5,5,45,175,5,5,92,210,5,5,96,184,5,5,87,196,5,5,77,206,5,5,81,168,5,5,209,200,5,5,51,200,5,5,228,239,5,5,38,236,5,5,226,196,5,5,137,202,5,5,89,179,5,5,29,232,5,5,22,190,5,5,58,190,5,5,55,240,5,5,18,173,5,5,77,221,5,5,219,226,5,5,83,178,5,5,190,237,5,5,138,230,5,5,41,210,5,5,74,176,5,5,104,193,5,5,56,227,5,5,226,234,5,5,47,242,5,5,252,228,5,5,40,179,5,5,244,218,5,5,186,207,5,5,226,177,5,5,70,219,5,5,97,216,5,5,14,191,5,5,2,230,5,5,105,215,5,5,29,176,5,5,178,208,5,5,99,184,5,5,126,195,5,5,184,180,5,5,149,238,5,5,123,247,5,5,152,207,5,5,194,190,5,5,134,208,5,5,42,168,5,5,56,240,5,5,11,235,5,5,40,195,5,5,207,228,5,5,204,207,5,5,243,242,5,5,41,246,5,5,12,217,5,5,46,222,5,5,172,233,5,5,23,228,5,5,52,203,5,5,114,207,5,5,75,218,5,5,67,223,5,5,60,213,5,5,99,229,5,5,49,228,5,5,227,176,5,5,181,189,5,5,136,168,5,5,87,195,5,5,109,169,5,5,152,234,5,5,57,227,5,5,40,187,5,5,117,175,5,5,143,237,5,5,43,213,5,5,51,231,5,5,200,242,5,5,179,240,5,5,201,218,5,5,52,219,5,5,160,174,5,5,138,204,5,5,189,207,5,5,12,212,5,5,137,168,5,5,169,206,5,5,30,186,5,5,22,200,5,5,127,216,5,5,117,193,5,5,222,219,5,5,194,245,5,5,201,242,5,5,41,195,5,5,206,218,5,5,35,209,5,5,63,240,5,5,133,192,5,5,3,224,5,5,233,210,5,5,41,232,5,5,162,225,5,5,58,212,5,5,40,201,5,5,85,210,5,5,97,169,5,5,9,168,5,5,44,213,5,5,136,213,5,5,78,239,5,5,99,213,5,5,74,242,5,5,156,201,5,5,49,235,5,5,236,206,5,5,82,238,5,5,23,245,5,5,161,198,5,5,197,240,5,5,178,210,5,5,16,202,5,5,232,178,5,5,45,187,5,5,69,236,5,5,199,195,5,5,84,248,5,5,140,173,5,5,59,244,5,5,234,187,5,5,115,210,5,5,125,201,5,5,61,209,5,5,114,245,5,5,254,189,5,5,255,189,5,5,148,168,5,5,116,210,5,5,210,215,5,5,211,206,5,5,124,213,5,5,67,186,5,5,102,230,5,5,21,216,5,5,26,228,5,5,244,244,5,5,182,208,5,5,45,232,5,5,46,232,5,5,124,209,5,5,124,203,5,5,255,202,5,5,67,190,5,5,49,187,5,5,176,178,5,5,146,246,5,5,167,234,5,5,86,238,5,5,60,190,5,5,247,230,5,5,31,200,5,5,103,218,5,5,248,230,5,5,237,236,5,5,32,173,5,5,170,194,5,5,191,207,5,5,134,182,5,5,59,182,5,5,253,231,5,5,104,239,5,5,112,191,5,5,16,195,5,5,122,184,5,5,75,222,5,5,131,170,5,5,136,220,5,5,86,224,5,5,216,215,5,5,37,203,5,5,125,190,5,5,234,233,5,5,237,210,5,5,45,180,5,5,105,239,5,5,81,172,5,5,18,168,5,5,224,210,5,5,64,211,5,5,170,206,5,5,169,226,5,5,75,175,5,5,252,195,5,5,123,176,5,5,201,241,5,5,139,213,5,5,225,218,5,5,28,219,5,5,5,210,5,5,75,236,5,5,243,224,5,5,82,240,5,5,167,215,5,5,239,210,5,5,34,243,5,5,134,240,5,5,140,208,5,5,21,170,5,5,171,206,5,5,86,221,5,5,59,234,5,5,187,210,5,5,136,180,5,5,191,204,5,5,165,242,5,5,10,201,5,5,252,236,5,5,245,222,5,5,103,204,5,5,242,194,5,5,225,210,5,5,12,201,5,5,82,215,5,5,91,240,5,5,247,222,5,5,142,191,5,5,244,217,5,5,89,208,5,5,52,202,5,5,36,206,5,5,132,236,5,5,252,247,5,5,14,201,5,5,96,249,5,5,57,195,5,5,178,197,5,5,179,197,5,5,59,199,5,5,115,243,5,5,168,206,5,5,81,249,5,5,64,177,5,5,107,224,5,5,208,183,5,5,162,169,5,5,253,248,5,5,70,233,5,5,246,233,5,5,32,208,5,5,115,223,5,5,223,224,5,5,84,169,5,5,204,192,5,5,46,186,5,5,131,211,5,5,101,235,5,5,91,241,5,5,96,248,5,5,207,187,5,5,25,206,5,5,110,224,5,5,58,210,5,5,206,208,5,5,191,176,5,5,54,215,5,5,159,222,5,5,104,172,5,5,238,235,5,5,18,249,5,5,157,210,5,5,189,183,5,5,27,249,5,5,17,202,5,5,110,235,5,5,239,171,5,5,29,219,5,5,248,209,5,5,26,211,5,5,27,211,5,5,92,240,5,5,37,206,5,5,128,208,5,5,48,211,5,5,234,218,5,5,172,224,5,5,65,187,5,5,190,244,5,5,227,216,5,5,224,241,5,5,93,222,5,5,34,168,5,5,76,227,5,5,176,223,5,5,98,228,5,5,10,219,5,5,177,237,5,5,47,189,5,5,106,238,5,5,51,196,5,5,173,248,5,5,95,208,5,5,7,248,5,5,77,178,5,5,52,189,5,5,97,249,5,5,187,186,5,5,174,247,5,5,251,179,5,5,111,228,5,5,110,238,5,5,100,169,5,5,209,221,5,5,210,221,5,5,38,175,5,5,70,221,5,5,252,198,5,5,4,235,5,5,24,222,5,5,97,241,5,5,149,190,5,5,127,238,5,5,161,226,5,5,248,221,5,5,113,232,5,5,211,185,5,5,96,174,5,5,49,218,5,5,212,185,5,5,248,232,5,5,185,243,5,5,173,244,5,5,105,169,5,5,220,187,5,5,208,236,5,5,249,232,5,5,51,193,5,5,74,221,5,5,3,174,5,5,197,218,5,5,234,190,5,5,100,208,5,5,76,199,5,5,156,199,5,5,51,171,5,5,245,223,5,5,60,172,5,5,206,243,5,5,222,192,5,5,147,242,5,5,223,192,5,5,229,239,5,5,102,208,5,5,77,199,5,5,175,216,5,5,220,188,5,5,191,245,5,5,30,194,5,5,100,184,5,5,55,211,5,5,136,171,5,5,116,190,5,5,205,207,5,5,149,216,5,5,4,188,5,5,48,242,5,5,223,221,5,5,56,211,5,5,232,195,5,5,58,211,5,5,8,247,5,5,245,241,5,5,111,169,5,5,157,199,5,5,59,211,5,5,151,216,5,5,116,209,5,5,226,172,5,5,97,197,5,5,162,186,5,5,152,216,5,5,160,189,5,5,150,230,5,5,118,203,5,5,231,221,5,5,60,211,5,5,197,244,5,5,80,221,5,5,66,229,5,5,146,233,5,5,158,199,5,5,104,191,5,5,125,203,5,5,63,198,5,5,126,190,5,5,121,239,5,5,168,238,5,5,121,169,5,5,107,216,5,5,40,175,5,5,122,169,5,5,109,183,5,5,69,177,5,5,217,180,5,5,107,223,5,5,160,235,5,5,114,178,5,5,3,206,5,5,221,180,5,5,97,222,5,5,220,213,5,5,79,183,5,5,79,248,5,5,176,183,5,5,245,220,5,5,255,198,5,5,86,194,5,5,91,194,5,5,81,248,5,5,95,229,5,5,2,250,5,5,179,235,5,5,207,222,5,5,228,180,5,5,126,178,5,5,60,233,5,5,58,195,5,5,212,220,5,5,242,181,5,5,243,181,5,5,244,181,5,5,143,184,5,5,125,193,5,5,117,222,5,5,249,173,5,5,182,220,5,5,183,220,5,5,59,209,5,5,140,184,5,5,130,173,5,5,166,203,5,5,79,232,5,5,80,232,5,5,96,200,5,5,24,241,5,5,159,228,5,5,25,241,5,5,162,203,5,5,163,203,5,5,126,237,5,5,38,207,5,5,163,228,5,5,160,228,5,5,161,228,5,5,145,184,5,5,127,237,5,5,74,181,5,5,18,200,5,5,101,247,5,5,193,196,5,5,207,184,5,5,93,186,5,5,208,184,5,5,170,227,5,5,212,184,5,5,213,184,5,5,163,221,5,5,255,239,5,5,202,174,5,5,184,198,5,5,119,210,5,5,188,195,5,5,25,229,5,5,240,210,5,5,251,196,5,5,39,213,5,5,191,172,5,5,106,231,5,5,7,170,5,5,212,196,5,5,138,195,5,5,83,226,5,5,96,217,5,5,44,226,5,5,139,195,5,5,29,230,5,5,150,179,5,5,171,221,5,5,249,221,5,5,170,213,5,5,15,192,5,5,161,233,5,5,227,245,5,5,162,233,5,5,125,210,5,5,233,244,5,5,190,230,5,5,34,229,5,5,4,207,5,5,95,181,5,5,59,205,5,5,178,213,5,5,52,226,5,5,233,182,5,5,166,222,5,5,173,233,5,5,103,227,5,5,243,205,5,5,246,205,5,5,84,231,5,5,193,172,5,5,250,205,5,5,104,197,5,5,184,233,5,5,114,197,5,5,175,197,5,5,139,203,5,5,245,197,5,5,182,222,5,5,154,231,5,5,223,173,5,5,201,227,5,5,167,210,5,5,68,220,5,5,41,228,5,5,226,231,5,5,93,202,5,5,132,181,5,5,64,191,5,5,65,191,5,5,209,204,5,5,230,238,5,5,195,214,5,5,147,218,5,5,117,230,5,5,24,188,5,5,16,221,5,5,225,241,5,5,103,175,5,5,73,224,5,5,196,214,5,5,148,218,5,5,11,243,5,5,17,169,5,5,178,237,5,5,92,168,5,5,250,235,5,5,120,230,5,5,64,195,5,5,135,181,5,5,97,192,5,5,36,215,5,5,19,183,5,5,99,228,5,5,101,214,5,5,185,172,5,5,90,215,5,5,102,214,5,5,235,172,5,5,134,195,5,5,91,217,5,5,23,185,5,5,106,232,5,5,139,168,5,5,206,200,5,5,115,178,5,5,169,168,5,5,36,250,5,5,37,250,5,5,82,237,5,5,59,197,5,5,5,185,5,5,241,198,5,5,8,186,5,5,102,235,5,5,204,213,5,5,105,202,5,5,140,226,5,5,97,217,5,5,89,236,5,5,213,183,5,5,119,234,5,5,97,193,5,5,114,204,5,5,246,227,5,5,243,212,5,5,143,168,5,5,173,177,5,5,200,199,5,5,14,243,5,5,98,217,5,5,237,189,5,5,225,213,5,5,225,208,5,5,73,168,5,5,141,226,5,5,42,204,5,5,181,174,5,5,166,213,5,5,21,180,5,5,28,188,5,5,227,199,5,5,120,234,5,5,96,207,5,5,4,227,5,5,103,235,5,5,248,238,5,5,208,170,5,5,162,188,5,5,171,168,5,5,143,206,5,5,148,181,5,5,85,184,5,5,167,235,5,5,181,179,5,5,148,205,5,5,215,181,5,5,224,181,5,5,153,184,5,5,195,217,5,5,55,180,5,5,119,238,5,5,173,209,5,5,214,221,5,5,36,168,5,5,239,228,5,5,109,190,5,5,214,246,5,5,98,208,5,5,66,202,5,5,207,192,5,5,7,227,5,5,240,228,5,5,98,241,5,5,12,215,5,5,172,231,5,5,67,202,5,5,131,237,5,5,249,194,5,5,27,246,5,5,26,206,5,5,156,194,5,5,103,181,5,5,104,181,5,5,26,242,5,5,107,233,5,5,246,171,5,5,43,216,5,5,47,218,5,5,84,183,5,5,85,183,5,5,62,210,5,5,69,202,5,5,35,241,5,5,120,232,5,5,198,218,5,5,117,178,5,5,34,221,5,5,97,174,5,5,95,227,5,5,188,185,5,5,48,198,5,5,74,185,5,5,177,231,5,5,222,239,5,5,234,241,5,5,69,201,5,5,150,198,5,5,84,201,5,5,161,200,5,5,71,232,5,5,20,218,5,5,51,199,5,5,30,175,5,5,31,175,5,5,196,224,5,5,220,203,5,5,56,190,5,5,227,196,5,5,167,200,5,5,126,214,5,5,235,208,5,5,52,200,5,5,53,200,5,5,194,249,5,5,126,186,5,5,10,177,5,5,4,236,5,5,5,236,5,5,24,185,5,5,78,206,5,5,79,206,5,5,228,201,5,5,202,197,5,5,30,181,5,5,34,246,5,5,151,187,5,5,230,239,5,5,30,180,5,5,252,187,5,5,35,246,5,5,41,229,5,5,54,233,5,5,2,213,5,5,57,236,5,5,151,223,5,5,82,195,5,5,235,169,5,5,195,249,5,5,95,199,5,5,31,180,5,5,235,244,5,5,127,186,5,5,231,239,5,5,11,249,5,5,87,244,5,5,195,190,5,5,165,241,5,5,77,228,5,5,60,237,5,5,90,183,5,5,62,217,5,5,61,237,5,5,253,225,5,5,199,238,5,5,254,246,5,5,47,222,5,5,186,243,5,5,191,237,5,5,164,181,5,5,50,248,5,5,128,198,5,5,9,206,5,5,157,236,5,5,187,207,5,5,5,188,5,5,22,192,5,5,23,192,5,5,161,190,5,5,220,226,5,5,155,221,5,5,153,207,5,5,151,215,5,5,139,230,5,5,166,241,5,5,102,249,5,5,211,200,5,5,244,198,5,5,107,236,5,5,108,236,5,5,46,229,5,5,103,249,5,5,220,172,5,5,78,224,5,5,202,218,5,5,212,198,5,5,98,216,5,5,167,241,5,5,139,214,5,5,50,205,5,5,110,227,5,5,210,180,5,5,229,230,5,5,218,229,5,5,122,172,5,5,87,178,5,5,207,218,5,5,91,195,5,5,104,198,5,5,139,204,5,5,146,230,5,5,156,223,5,5,239,215,5,5,19,249,5,5,253,228,5,5,240,169,5,5,70,179,5,5,80,177,5,5,132,215,5,5,245,240,5,5,7,211,5,5,81,177,5,5,182,192,5,5,227,221,5,5,117,219,5,5,171,223,5,5,111,249,5,5,139,194,5,5,119,203,5,5,162,198,5,5,77,173,5,5,208,179,5,5,184,172,5,5,242,179,5,5,88,227,5,5,53,205,5,5,61,245,5,5,240,244,5,5,241,244,5,5,108,168,5,5,140,172,5,5,113,217,5,5,191,215,5,5,15,177,5,5,232,249,5,5,123,178,5,5,124,178,5,5,55,231,5,5,75,242,5,5,129,212,5,5,225,204,5,5,231,232,5,5,194,172,5,5,163,171,5,5,102,216,5,5,171,194,5,5,71,236,5,5,91,201,5,5,8,245,5,5,231,203,5,5,126,203,5,5,127,203,5,5,183,195,5,5,192,178,5,5,86,181,5,5,5,250,5,5,13,195,5,5,110,187,5,5,160,237,5,5,172,194,5,5,161,237,5,5,226,197,5,5,214,244,5,5,106,239,5,5,111,235,5,5,70,210,5,5,36,238,5,5,37,238,5,5,162,238,5,5,16,211,5,5,87,232,5,5,143,192,5,5,187,233,5,5,247,198,5,5,249,230,5,5,61,179,5,5,153,168,5,5,234,249,5,5,224,228,5,5,169,238,5,5,226,218,5,5,129,178,5,5,118,204,5,5,114,195,5,5,2,242,5,5,37,243,5,5,21,240,5,5,59,219,5,5,119,195,5,5,176,202,5,5,58,187,5,5,234,204,5,5,235,204,5,5,77,179,5,5,229,218,5,5,33,231,5,5,26,197,5,5,51,173,5,5,172,240,5,5,236,199,5,5,127,236,5,5,228,228,5,5,76,210,5,5,245,217,5,5,206,173,5,5,254,176,5,5,38,206,5,5,81,179,5,5,82,179,5,5,33,211,5,5,134,236,5,5,133,236,5,5,191,236,5,5,10,200,5,5,192,236,5,5,202,175,5,5,133,199,5,5,203,175,5,5,127,247,5,5,180,190,5,5,8,196,5,5,162,235,5,5,186,173,5,5,187,173,5,5,201,203,5,5,201,185,5,5,30,250,5,5,36,216,5,5,53,197,5,5,231,185,5,5,56,197,5,5,27,230,5,5,55,214,5,5,56,214,5,5,239,172,5,5,63,217,5,5,73,217,5,5,171,192,5,5,181,238,5,5,104,223,5,5,163,168,5,5,84,246,5,5,71,245,5,5,220,232,5,5,128,238,5,5,191,195,5,5,204,235,5,5,149,197,5,5,175,168,5,5,214,235,5,5,161,195,5,5,200,183,5,5,148,243,5,5,44,170,5,5,6,222,5,5,11,172,5,5,228,179,5,5,232,222,5,5,54,182,5,5,245,210,5,5,165,221,5,5,250,182,5,5,235,211,5,5,167,246,5,5,174,230,5,5,233,189,5,5,9,178,5,5,235,228,5,5,50,245,5,5,137,225,5,5,174,177,5,5,90,209,5,5,119,212,5,5,236,211,5,5,177,226,5,5,141,171,5,5,232,202,5,5,206,246,5,5,163,247,5,5,176,171,5,5,207,246,5,5,24,179,5,5,97,209,5,5,8,239,5,5,9,239,5,5,171,213,5,5,18,215,5,5,140,197,5,5,14,219,5,5,233,222,5,5,179,177,5,5,68,246,5,5,14,223,5,5,44,216,5,5,180,245,5,5,175,221,5,5,50,218,5,5,46,231,5,5,49,169,5,5,186,177,5,5,31,187,5,5,54,175,5,5,179,213,5,5,55,245,5,5,189,219,5,5,84,228,5,5,189,177,5,5,246,228,5,5,132,173,5,5,46,220,5,5,127,214,5,5,52,244,5,5,169,187,5,5,115,207,5,5,158,180,5,5,110,189,5,5,71,246,5,5,153,234,5,5,106,208,5,5,254,228,5,5,3,230,5,5,4,184,5,5,50,239,5,5,54,169,5,5,184,213,5,5,194,179,5,5,219,185,5,5,13,212,5,5,239,190,5,5,163,225,5,5,109,208,5,5,118,193,5,5,222,225,5,5,24,191,5,5,85,247,5,5,96,220,5,5,17,207,5,5,201,209,5,5,241,170,5,5,171,187,5,5,60,244,5,5,202,209,5,5,55,169,5,5,62,245,5,5,61,196,5,5,81,173,5,5,23,184,5,5,27,247,5,5,163,189,5,5,60,182,5,5,245,175,5,5,112,170,5,5,123,170,5,5,45,245,5,5,121,208,5,5,252,215,5,5,15,173,5,5,35,183,5,5,254,207,5,5,57,169,5,5,76,175,5,5,215,208,5,5,130,175,5,5,113,195,5,5,94,232,5,5,232,200,5,5,234,184,5,5,161,213,5,5,190,210,5,5,126,193,5,5,124,171,5,5,127,171,5,5,49,234,5,5,245,184,5,5,111,237,5,5,145,190,5,5,88,241,5,5,11,241,5,5,180,192,5,5,11,187,5,5,25,213,5,5,196,226,5,5,82,244,5,5,12,187,5,5,119,248,5,5,58,209,5,5,209,216,5,5,50,170,5,5,108,216,5,5,7,181,5,5,242,175,5,5,69,187,5,5,14,236,5,5,243,168,5,5,135,195,5,5,200,234,5,5,70,205,5,5,82,230,5,5,121,248,5,5,103,199,5,5,47,240,5,5,255,178,5,5,77,212,5,5,104,179,5,5,230,235,5,5,197,208,5,5,169,185,5,5,143,176,5,5,43,184,5,5,5,227,5,5,53,212,5,5,220,182,5,5,192,232,5,5,189,238,5,5,215,246,5,5,133,226,5,5,216,246,5,5,91,234,5,5,170,180,5,5,43,250,5,5,250,232,5,5,96,227,5,5,81,187,5,5,106,199,5,5,48,207,5,5,216,226,5,5,69,241,5,5,247,171,5,5,129,171,5,5,141,174,5,5,168,200,5,5,75,170,5,5,123,192,5,5,39,168,5,5,201,222,5,5,160,198,5,5,191,240,5,5,22,228,5,5,152,223,5,5,202,222,5,5,203,216,5,5,49,242,5,5,239,241,5,5,200,208,5,5,189,223,5,5,172,172,5,5,168,232,5,5,235,182,5,5,194,196,5,5,174,181,5,5,41,187,5,5,197,204,5,5,50,220,5,5,242,202,5,5,41,201,5,5,190,223,5,5,9,247,5,5,31,172,5,5,205,216,5,5,198,196,5,5,195,196,5,5,200,195,5,5,109,168,5,5,107,200,5,5,33,205,5,5,37,240,5,5,167,203,5,5,197,177,5,5,175,205,5,5,79,239,5,5,126,175,5,5,33,173,5,5,118,227,5,5,86,223,5,5,231,233,5,5,201,208,5,5,157,173,5,5,103,230,5,5,239,182,5,5,14,187,5,5,116,199,5,5,150,199,5,5,132,170,5,5,217,215,5,5,188,233,5,5,6,204,5,5,7,204,5,5,140,203,5,5,90,205,5,5,18,193,5,5,173,240,5,5,9,232,5,5,210,226,5,5,213,240,5,5,53,202,5,5,212,226,5,5,254,239,5,5,159,235,5,5,82,236,5,5,214,226,5,5,215,178,5,5,250,211,5,5,10,194,5,5,42,191,5,5,255,209,5,5,43,191,5,5,230,185,5,5,217,210,5,5,86,198,5,5,200,170,5,5,231,238,5,5,223,214,5,5,116,211,5,5,54,183,5,5,33,197,5,5,148,236,5,5,10,239,5,5,251,243,5,5,113,170,5,5,221,238,5,5,59,238,5,5,6,182,5,5,167,219,5,5,10,222,5,5,7,182,5,5,48,222,5,5,56,222,5,5,202,185,5,5,151,179,5,5,2,240,5,5,226,189,5,5,201,183,5,5,43,189,5,5,21,230,5,5,167,227,5,5,176,174,5,5,129,194,5,5,209,168,5,5,67,221,5,5,17,179,5,5,18,245,5,5,184,197,5,5,156,225,5,5,44,184,5,5,2,179,5,5,42,208,5,5,20,232,5,5,170,189,5,5,175,173,5,5,137,211,5,5,73,196,5,5,224,245,5,5,129,238,5,5,78,208,5,5,196,217,5,5,81,228,5,5,189,220,5,5,112,219,5,5,5,235,5,5,82,196,5,5,133,179,5,5,19,245,5,5,133,194,5,5,207,215,5,5,163,212,5,5,18,178,5,5,208,215,5,5,83,170,5,5,84,170,5,5,251,220,5,5,24,178,5,5,224,193,5,5,31,186,5,5,99,185,5,5,23,182,5,5,96,170,5,5,67,199,5,5,231,193,5,5,46,171,5,5,27,233,5,5,36,178,5,5,157,187,5,5,141,194,5,5,86,189,5,5,52,208,5,5,161,187,5,5,90,228,5,5,6,198,5,5,190,192,5,5,191,192,5,5,22,187,5,5,50,178,5,5,146,205,5,5,147,205,5,5,161,227,5,5,80,191,5,5,255,246,5,5,91,191,5,5,92,191,5,5,163,238,5,5,164,238,5,5,172,238,5,5,173,238,5,5,5,243,5,5,6,243,5,5,69,220,5,5,26,234,5,5,159,229,5,5,3,227,5,5,204,236,5,5,205,236,5,5,27,242,5,5,149,174,5,5,61,172,5,5,236,170,5,5,134,179,5,5,52,171,5,5,164,212,5,5,246,240,5,5,88,213,5,5,24,245,5,5,167,240,5,5,174,174,5,5,222,174,5,5,201,248,5,5,20,228,5,5,98,192,5,5,160,182,5,5,72,247,5,5,238,238,5,5,169,228,5,5,224,173,5,5,31,170,5,5,202,178,5,5,43,204,5,5,214,183,5,5,174,228,5,5,22,246,5,5,222,176,5,5,175,228,5,5,74,196,5,5,180,177,5,5,183,230,5,5,205,235,5,5,251,188,5,5,52,237,5,5,77,190,5,5,5,206,5,5,129,189,5,5,178,228,5,5,137,174,5,5,224,246,5,5,180,234,5,5,83,196,5,5,97,227,5,5,189,176,5,5,66,247,5,5,162,200,5,5,192,176,5,5,158,178,5,5,241,211,5,5,76,231,5,5,35,180,5,5,224,192,5,5,133,173,5,5,236,246,5,5,193,176,5,5,139,247,5,5,169,200,5,5,50,242,5,5,165,233,5,5,150,195,5,5,25,194,5,5,49,222,5,5,105,193,5,5,214,170,5,5,196,190,5,5,101,184,5,5,180,235,5,5,47,229,5,5,59,212,5,5,144,237,5,5,214,228,5,5,230,230,5,5,44,246,5,5,114,213,5,5,12,226,5,5,164,178,5,5,49,246,5,5,193,246,5,5,41,171,5,5,165,178,5,5,21,175,5,5,232,173,5,5,225,194,5,5,113,191,5,5,229,194,5,5,33,191,5,5,173,207,5,5,20,205,5,5,180,232,5,5,145,169,5,5,157,217,5,5,213,233,5,5,3,234,5,5,45,170,5,5,223,238,5,5,137,201,5,5,121,218,5,5,106,178,5,5,248,179,5,5,164,184,5,5,199,192,5,5,130,218,5,5,123,218,5,5,97,173,5,5,57,225,5,5,208,225,5,5,209,225,5,5,188,184,5,5,219,214,5,5,11,222,5,5,68,177,5,5,199,246,5,5,192,228,5,5,35,207,5,5,169,230,5,5,55,182,5,5,48,240,5,5,109,226,5,5,226,208,5,5,187,229,5,5,73,247,5,5,12,175,5,5,124,230,5,5,99,192,5,5,83,230,5,5,110,231,5,5,74,193,5,5,6,241,5,5,143,228,5,5,156,176,5,5,143,223,5,5,137,199,5,5,17,242,5,5,201,170,5,5,200,246,5,5,103,214,5,5,29,177,5,5,251,173,5,5,251,224,5,5,203,227,5,5,91,215,5,5,218,210,5,5,161,191,5,5,69,234,5,5,85,211,5,5,182,199,5,5,231,231,5,5,216,233,5,5,156,198,5,5,145,189,5,5,114,198,5,5,56,183,5,5,76,190,5,5,253,224,5,5,164,223,5,5,84,230,5,5,220,211,5,5,160,173,5,5,252,175,5,5,60,197,5,5,249,238,5,5,101,169,5,5,176,173,5,5,227,208,5,5,99,212,5,5,38,250,5,5,97,244,5,5,101,237,5,5,66,197,5,5,35,169,5,5,140,211,5,5,60,210,5,5,23,246,5,5,237,211,5,5,16,172,5,5,178,226,5,5,242,189,5,5,238,189,5,5,67,197,5,5,125,177,5,5,233,202,5,5,63,223,5,5,52,175,5,5,21,179,5,5,181,177,5,5,111,238,5,5,79,227,5,5,32,241,5,5,169,183,5,5,112,192,5,5,143,212,5,5,50,234,5,5,238,242,5,5,121,210,5,5,183,186,5,5,215,183,5,5,111,231,5,5,54,170,5,5,9,241,5,5,67,216,5,5,64,235,5,5,159,176,5,5,102,171,5,5,231,190,5,5,205,234,5,5,158,175,5,5,55,170,5,5,195,222,5,5,184,230,5,5,12,225,5,5,227,240,5,5,133,249,5,5,223,180,5,5,143,209,5,5,173,246,5,5,250,238,5,5,25,222,5,5,114,210,5,5,168,235,5,5,26,222,5,5,116,231,5,5,107,201,5,5,8,189,5,5,174,199,5,5,149,209,5,5,178,246,5,5,108,233,5,5,47,203,5,5,134,226,5,5,232,190,5,5,182,179,5,5,118,188,5,5,60,199,5,5,76,187,5,5,9,189,5,5,185,230,5,5,195,194,5,5,199,222,5,5,65,223,5,5,150,189,5,5,8,217,5,5,102,237,5,5,76,191,5,5,44,191,5,5,231,174,5,5,80,193,5,5,120,238,5,5,72,234,5,5,184,186,5,5,16,204,5,5,3,191,5,5,88,249,5,5,208,234,5,5,211,174,5,5,184,220,5,5,149,211,5,5,254,188,5,5,212,181,5,5,253,198,5,5,56,180,5,5,85,226,5,5,213,185,5,5,197,217,5,5,191,230,5,5,19,215,5,5,16,243,5,5,145,212,5,5,21,199,5,5,157,178,5,5,77,191,5,5,150,181,5,5,91,233,5,5,49,227,5,5,51,236,5,5,95,198,5,5,161,172,5,5,78,210,5,5,119,243,5,5,43,207,5,5,237,240,5,5,234,240,5,5,144,242,5,5,213,212,5,5,79,200,5,5,236,215,5,5,17,243,5,5,35,242,5,5,98,227,5,5,148,195,5,5,199,230,5,5,128,245,5,5,17,204,5,5,49,226,5,5,30,188,5,5,119,188,5,5,71,216,5,5,53,226,5,5,25,172,5,5,20,239,5,5,148,215,5,5,56,191,5,5,192,230,5,5,175,169,5,5,239,206,5,5,71,238,5,5,3,189,5,5,165,223,5,5,198,217,5,5,138,174,5,5,228,199,5,5,131,230,5,5,132,230,5,5,13,241,5,5,251,201,5,5,99,203,5,5,155,190,5,5,160,176,5,5,34,239,5,5,18,243,5,5,125,202,5,5,45,211,5,5,79,210,5,5,157,181,5,5,21,218,5,5,45,235,5,5,49,215,5,5,133,230,5,5,4,209,5,5,194,176,5,5,210,182,5,5,152,169,5,5,160,178,5,5,39,177,5,5,166,173,5,5,230,207,5,5,138,202,5,5,225,192,5,5,224,186,5,5,219,186,5,5,55,234,5,5,135,178,5,5,69,214,5,5,52,199,5,5,113,226,5,5,80,206,5,5,215,230,5,5,138,198,5,5,126,187,5,5,177,210,5,5,188,216,5,5,56,175,5,5,241,180,5,5,180,187,5,5,207,244,5,5,20,196,5,5,118,228,5,5,152,242,5,5,178,195,5,5,231,192,5,5,210,200,5,5,36,242,5,5,218,191,5,5,186,188,5,5,218,217,5,5,29,225,5,5,54,226,5,5,57,226,5,5,254,210,5,5,179,228,5,5,75,176,5,5,155,189,5,5,152,191,5,5,200,230,5,5,152,173,5,5,225,233,5,5,247,228,5,5,84,191,5,5,165,181,5,5,153,224,5,5,136,249,5,5,140,193,5,5,239,240,5,5,110,179,5,5,86,197,5,5,94,172,5,5,113,174,5,5,161,178,5,5,185,169,5,5,74,216,5,5,87,172,5,5,19,178,5,5,220,186,5,5,80,181,5,5,84,210,5,5,123,243,5,5,206,232,5,5,155,248,5,5,195,179,5,5,197,190,5,5,63,176,5,5,235,216,5,5,114,218,5,5,7,234,5,5,173,172,5,5,191,170,5,5,8,209,5,5,104,249,5,5,254,225,5,5,38,216,5,5,63,175,5,5,190,169,5,5,12,235,5,5,208,228,5,5,119,185,5,5,62,215,5,5,48,229,5,5,63,242,5,5,168,241,5,5,85,170,5,5,13,235,5,5,162,190,5,5,11,209,5,5,86,170,5,5,65,239,5,5,159,208,5,5,240,240,5,5,120,198,5,5,84,178,5,5,192,239,5,5,166,181,5,5,12,174,5,5,119,207,5,5,23,215,5,5,7,199,5,5,179,241,5,5,10,168,5,5,77,216,5,5,158,236,5,5,173,211,5,5,225,184,5,5,124,243,5,5,137,249,5,5,151,219,5,5,239,201,5,5,59,183,5,5,57,240,5,5,23,200,5,5,24,200,5,5,32,218,5,5,220,185,5,5,84,243,5,5,4,224,5,5,11,224,5,5,146,214,5,5,145,237,5,5,169,223,5,5,246,190,5,5,134,192,5,5,94,186,5,5,98,197,5,5,4,176,5,5,179,210,5,5,121,233,5,5,105,198,5,5,62,246,5,5,247,240,5,5,150,172,5,5,218,235,5,5,100,221,5,5,200,171,5,5,121,198,5,5,247,242,5,5,129,231,5,5,181,191,5,5,249,240,5,5,92,237,5,5,156,202,5,5,207,219,5,5,164,225,5,5,200,239,5,5,113,176,5,5,232,234,5,5,154,215,5,5,7,225,5,5,186,190,5,5,126,243,5,5,101,221,5,5,49,209,5,5,245,185,5,5,252,220,5,5,197,176,5,5,89,213,5,5,203,209,5,5,207,209,5,5,172,187,5,5,254,174,5,5,96,172,5,5,91,172,5,5,89,172,5,5,16,177,5,5,16,209,5,5,213,225,5,5,25,245,5,5,52,227,5,5,149,168,5,5,4,223,5,5,18,207,5,5,226,186,5,5,35,218,5,5,30,244,5,5,199,196,5,5,105,191,5,5,101,198,5,5,243,202,5,5,221,211,5,5,172,223,5,5,130,216,5,5,39,240,5,5,15,206,5,5,163,220,5,5,108,229,5,5,150,227,5,5,243,206,5,5,67,215,5,5,2,221,5,5,198,240,5,5,216,216,5,5,163,198,5,5,58,179,5,5,147,246,5,5,34,205,5,5,166,197,5,5,88,214,5,5,84,214,5,5,86,242,5,5,194,213,5,5,120,203,5,5,210,176,5,5,16,241,5,5,22,175,5,5,28,247,5,5,53,227,5,5,65,174,5,5,250,214,5,5,114,217,5,5,175,212,5,5,202,169,5,5,29,171,5,5,250,216,5,5,173,194,5,5,105,244,5,5,249,174,5,5,2,203,5,5,197,213,5,5,32,200,5,5,106,191,5,5,22,216,5,5,127,174,5,5,41,240,5,5,42,240,5,5,87,231,5,5,255,230,5,5,37,178,5,5,37,225,5,5,87,181,5,5,230,180,5,5,229,180,5,5,18,224,5,5,237,197,5,5,182,172,5,5,23,233,5,5,61,182,5,5,62,183,5,5,92,201,5,5,126,201,5,5,23,175,5,5,236,187,5,5,252,214,5,5,47,232,5,5,17,209,5,5,62,196,5,5,158,203,5,5,104,230,5,5,97,172,5,5,227,197,5,5,234,176,5,5,144,232,5,5,65,225,5,5,140,221,5,5,236,212,5,5,107,239,5,5,184,175,5,5,254,231,5,5,71,210,5,5,38,178,5,5,66,225,5,5,64,196,5,5,159,223,5,5,53,188,5,5,230,194,5,5,114,229,5,5,29,235,5,5,46,180,5,5,140,216,5,5,135,216,5,5,108,197,5,5,151,172,5,5,27,199,5,5,189,233,5,5,83,240,5,5,154,168,5,5,128,207,5,5,108,239,5,5,8,204,5,5,244,219,5,5,64,198,5,5,82,190,5,5,233,207,5,5,7,201,5,5,19,168,5,5,9,204,5,5,78,236,5,5,115,200,5,5,219,231,5,5,4,175,5,5,3,242,5,5,44,240,5,5,165,177,5,5,26,208,5,5,22,168,5,5,255,207,5,5,234,180,5,5,168,214,5,5,85,209,5,5,222,200,5,5,234,207,5,5,77,175,5,5,46,247,5,5,182,211,5,5,183,211,5,5,76,236,5,5,97,237,5,5,223,171,5,5,51,247,5,5,217,199,5,5,193,199,5,5,85,241,5,5,198,183,5,5,164,204,5,5,216,208,5,5,134,174,5,5,147,191,5,5,100,173,5,5,29,208,5,5,11,201,5,5,84,190,5,5,55,235,5,5,96,218,5,5,102,173,5,5,19,193,5,5,120,197,5,5,101,190,5,5,9,221,5,5,159,239,5,5,68,203,5,5,40,210,5,5,64,208,5,5,146,225,5,5,7,198,5,5,30,185,5,5,31,185,5,5,141,248,5,5,82,185,5,5,8,243,5,5,114,230,5,5,123,193,5,5,139,234,5,5,189,222,5,5,190,218,5,5,105,231,5,5,86,174,5,5,244,229,5,5,136,195,5,5,87,185,5,5,131,193,5,5,175,215,5,5,206,191,5,5,176,215,5,5,251,244,5,5,63,180,5,5,70,214,5,5,82,193,5,5,190,179,5,5,90,244,5,5,84,193,5,5,181,192,5,5,106,246,5,5,129,198,5,5,126,192,5,5,249,199,5,5,180,184,5,5,186,178,5,5,6,245,5,5,192,215,5,5,101,185,5,5,232,193,5,5,102,195,5,5,76,242,5,5,233,193,5,5,172,236,5,5,181,205,5,5,164,189,5,5,10,245,5,5,143,231,5,5,145,231,5,5,69,176,5,5,202,177,5,5,159,217,5,5,227,189,5,5,228,189,5,5,229,189,5,5,133,181,5,5,14,222,5,5,43,226,5,5,95,207,5,5,239,189,5,5,106,202,5,5,152,182,5,5,147,224,5,5,187,170,5,5,106,179,5,5,117,196,5,5,174,220,5,5,130,238,5,5,194,238,5,5,120,220,5,5,247,189,5,5,186,182,5,5,159,236,5,5,92,222,5,5,114,222,5,5,49,172,5,5,121,244,5,5,34,217,5,5,138,201,5,5,3,214,5,5,165,168,5,5,153,177,5,5,177,218,5,5,111,182,5,5,48,219,5,5,189,243,5,5,220,227,5,5,49,245,5,5,149,179,5,5,171,198,5,5,114,241,5,5,87,199,5,5,216,184,5,5,17,221,5,5,199,172,5,5,221,227,5,5,75,186,5,5,73,199,5,5,118,230,5,5,170,178,5,5,31,215,5,5,121,246,5,5,149,218,5,5,97,200,5,5,217,207,5,5,220,219,5,5,38,237,5,5,86,211,5,5,32,169,5,5,220,173,5,5,108,218,5,5,170,230,5,5,92,215,5,5,254,168,5,5,75,193,5,5,133,241,5,5,209,183,5,5,140,168,5,5,175,230,5,5,204,212,5,5,168,246,5,5,201,246,5,5,138,181,5,5,171,178,5,5,84,245,5,5,89,174,5,5,200,192,5,5,140,236,5,5,183,199,5,5,202,170,5,5,174,173,5,5,210,196,5,5,188,229,5,5,169,189,5,5,12,243,5,5,185,197,5,5,204,168,5,5,157,216,5,5,245,177,5,5,57,246,5,5,99,243,5,5,100,228,5,5,99,210,5,5,239,238,5,5,118,222,5,5,70,248,5,5,243,213,5,5,62,227,5,5,84,180,5,5,178,198,5,5,117,245,5,5,244,213,5,5,40,184,5,5,70,212,5,5,188,168,5,5,131,168,5,5,42,244,5,5,147,227,5,5,63,199,5,5,65,206,5,5,223,215,5,5,145,243,5,5,234,189,5,5,125,169,5,5,103,171,5,5,174,246,5,5,144,212,5,5,18,210,5,5,17,172,5,5,208,212,5,5,229,224,5,5,179,237,5,5,222,245,5,5,123,244,5,5,27,237,5,5,126,169,5,5,147,188,5,5,151,210,5,5,4,238,5,5,3,179,5,5,229,174,5,5,209,212,5,5,40,193,5,5,84,209,5,5,197,207,5,5,238,173,5,5,231,235,5,5,44,175,5,5,99,217,5,5,253,208,5,5,159,175,5,5,42,193,5,5,216,183,5,5,156,244,5,5,8,248,5,5,216,177,5,5,243,172,5,5,172,209,5,5,188,210,5,5,121,200,5,5,45,184,5,5,71,212,5,5,36,169,5,5,239,211,5,5,213,203,5,5,216,209,5,5,177,186,5,5,93,215,5,5,61,197,5,5,192,224,5,5,191,168,5,5,227,227,5,5,228,227,5,5,133,168,5,5,213,196,5,5,188,248,5,5,29,212,5,5,72,245,5,5,246,168,5,5,244,168,5,5,4,179,5,5,150,210,5,5,68,197,5,5,98,200,5,5,9,205,5,5,199,193,5,5,11,215,5,5,188,240,5,5,207,200,5,5,50,211,5,5,142,171,5,5,44,244,5,5,45,215,5,5,247,188,5,5,99,200,5,5,27,222,5,5,71,195,5,5,59,246,5,5,46,211,5,5,233,185,5,5,234,185,5,5,212,217,5,5,237,222,5,5,66,177,5,5,153,243,5,5,189,198,5,5,121,238,5,5,109,233,5,5,162,172,5,5,4,191,5,5,126,213,5,5,75,248,5,5,215,221,5,5,217,209,5,5,227,168,5,5,183,174,5,5,166,186,5,5,217,246,5,5,100,200,5,5,55,181,5,5,56,181,5,5,179,246,5,5,72,216,5,5,74,168,5,5,117,211,5,5,249,245,5,5,112,185,5,5,250,194,5,5,127,199,5,5,57,180,5,5,218,209,5,5,135,226,5,5,180,203,5,5,125,244,5,5,234,205,5,5,183,179,5,5,44,228,5,5,191,197,5,5,174,203,5,5,38,197,5,5,225,246,5,5,27,206,5,5,34,236,5,5,229,229,5,5,193,224,5,5,110,233,5,5,61,210,5,5,64,178,5,5,196,194,5,5,28,246,5,5,177,192,5,5,5,191,5,5,24,232,5,5,230,241,5,5,0,137,5,5,230,227,5,5,164,211,5,5,96,177,5,5,185,171,5,5,189,185,5,5,37,226,5,5,252,245,5,5,102,174,5,5,127,219,5,5,128,219,5,5,37,199,5,5,184,207,5,5,118,211,5,5,218,196,5,5,158,212,5,5,205,193,5,5,21,239,5,5,237,226,5,5,82,220,5,5,60,219,5,5,114,228,5,5,111,233,5,5,203,172,5,5,119,183,5,5,200,194,5,5,91,230,5,5,49,198,5,5,188,196,5,5,44,227,5,5,80,200,5,5,211,191,5,5,99,227,5,5,191,248,5,5,245,213,5,5,236,205,5,5,176,168,5,5,31,188,5,5,190,220,5,5,242,210,5,5,125,197,5,5,86,244,5,5,200,222,5,5,235,237,5,5,199,197,5,5,5,172,5,5,104,228,5,5,26,172,5,5,19,250,5,5,9,238,5,5,184,244,5,5,235,205,5,5,186,223,5,5,231,227,5,5,75,201,5,5,119,224,5,5,50,169,5,5,206,193,5,5,151,190,5,5,118,178,5,5,35,229,5,5,145,228,5,5,117,216,5,5,193,212,5,5,239,220,5,5,191,203,5,5,236,208,5,5,222,207,5,5,55,184,5,5,235,168,5,5,87,197,5,5,113,178,5,5,246,229,5,5,0,146,5,5,142,197,5,5,24,243,5,5,135,249,5,5,240,173,5,5,12,176,5,5,83,195,5,5,83,227,5,5,224,169,5,5,236,209,5,5,201,210,5,5,108,219,5,5,24,250,5,5,254,229,5,5,71,214,5,5,241,231,5,5,106,174,5,5,67,179,5,5,221,219,5,5,66,206,5,5,211,216,5,5,14,185,5,5,31,181,5,5,102,222,5,5,158,179,5,5,246,213,5,5,8,179,5,5,43,245,5,5,177,191,5,5,178,192,5,5,159,225,5,5,8,215,5,5,128,214,5,5,242,211,5,5,130,222,5,5,57,215,5,5,61,204,5,5,227,237,5,5,39,236,5,5,203,197,5,5,36,246,5,5,90,203,5,5,168,186,5,5,35,239,5,5,215,191,5,5,123,220,5,5,60,246,5,5,56,206,5,5,62,172,5,5,74,225,5,5,229,173,5,5,97,171,5,5,30,195,5,5,55,226,5,5,61,199,5,5,164,227,5,5,152,236,5,5,99,177,5,5,140,247,5,5,228,196,5,5,128,226,5,5,102,215,5,5,29,199,5,5,228,168,5,5,231,211,5,5,31,195,5,5,116,205,5,5,175,186,5,5,54,209,5,5,84,195,5,5,237,246,5,5,252,177,5,5,37,208,5,5,103,172,5,5,206,219,5,5,221,186,5,5,197,212,5,5,244,242,5,5,171,211,5,5,215,193,5,5,42,246,5,5,157,196,5,5,216,193,5,5,169,241,5,5,113,236,5,5,246,199,5,5,34,210,5,5,32,189,5,5,245,218,5,5,41,213,5,5,209,228,5,5,152,219,5,5,185,249,5,5,14,235,5,5,179,208,5,5,255,225,5,5,243,210,5,5,206,172,5,5,50,222,5,5,138,249,5,5,6,246,5,5,78,238,5,5,181,235,5,5,220,240,5,5,168,170,5,5,62,237,5,5,163,190,5,5,160,236,5,5,207,243,5,5,69,168,5,5,154,234,5,5,41,236,5,5,4,230,5,5,236,198,5,5,195,175,5,5,117,192,5,5,58,226,5,5,130,200,5,5,137,200,5,5,13,174,5,5,88,198,5,5,158,196,5,5,159,196,5,5,106,227,5,5,42,195,5,5,15,191,5,5,166,185,5,5,42,175,5,5,15,233,5,5,196,179,5,5,93,233,5,5,190,242,5,5,103,215,5,5,236,237,5,5,207,172,5,5,131,244,5,5,153,169,5,5,139,237,5,5,210,228,5,5,6,170,5,5,254,200,5,5,203,229,5,5,161,216,5,5,10,173,5,5,98,185,5,5,51,205,5,5,139,249,5,5,167,185,5,5,208,194,5,5,32,186,5,5,162,216,5,5,208,218,5,5,28,218,5,5,46,175,5,5,196,175,5,5,238,244,5,5,123,224,5,5,112,224,5,5,201,171,5,5,175,175,5,5,203,218,5,5,72,169,5,5,72,177,5,5,208,219,5,5,218,198,5,5,146,237,5,5,121,178,5,5,109,246,5,5,142,211,5,5,125,200,5,5,152,193,5,5,191,223,5,5,84,217,5,5,57,185,5,5,81,232,5,5,45,223,5,5,198,219,5,5,233,195,5,5,210,208,5,5,175,181,5,5,14,176,5,5,174,211,5,5,94,220,5,5,198,224,5,5,160,244,5,5,107,225,5,5,15,212,5,5,6,169,5,5,114,177,5,5,157,202,5,5,165,225,5,5,182,189,5,5,10,247,5,5,52,228,5,5,40,190,5,5,68,215,5,5,204,229,5,5,225,215,5,5,97,226,5,5,195,245,5,5,176,181,5,5,122,233,5,5,176,211,5,5,227,217,5,5,221,172,5,5,178,244,5,5,129,185,5,5,96,230,5,5,216,181,5,5,253,220,5,5,172,198,5,5,254,220,5,5,140,222,5,5,240,168,5,5,147,237,5,5,78,171,5,5,197,223,5,5,16,225,5,5,143,219,5,5,78,173,5,5,139,224,5,5,161,196,5,5,20,175,5,5,238,175,5,5,176,186,5,5,114,171,5,5,125,183,5,5,230,222,5,5,53,179,5,5,245,214,5,5,199,223,5,5,187,244,5,5,34,203,5,5,66,174,5,5,161,174,5,5,227,186,5,5,176,205,5,5,154,206,5,5,54,205,5,5,142,249,5,5,175,184,5,5,2,190,5,5,135,244,5,5,248,175,5,5,152,225,5,5,65,190,5,5,17,177,5,5,247,209,5,5,67,209,5,5,94,194,5,5,46,187,5,5,166,240,5,5,144,246,5,5,114,168,5,5,29,247,5,5,10,211,5,5,19,207,5,5,99,173,5,5,68,199,5,5,105,175,5,5,3,221,5,5,151,227,5,5,218,194,5,5,57,209,5,5,63,209,5,5,137,245,5,5,106,172,5,5,43,199,5,5,242,170,5,5,140,194,5,5,152,237,5,5,39,186,5,5,69,215,5,5,168,203,5,5,42,192,5,5,67,240,5,5,173,197,5,5,118,213,5,5,117,213,5,5,77,201,5,5,249,180,5,5,141,232,5,5,62,219,5,5,111,187,5,5,209,243,5,5,89,239,5,5,48,232,5,5,69,174,5,5,70,174,5,5,129,219,5,5,69,210,5,5,98,189,5,5,87,223,5,5,46,188,5,5,20,187,5,5,117,177,5,5,17,250,5,5,207,210,5,5,5,204,5,5,63,246,5,5,28,191,5,5,140,248,5,5,226,194,5,5,185,192,5,5,134,172,5,5,255,177,5,5,2,178,5,5,233,173,5,5,164,171,5,5,222,173,5,5,174,197,5,5,66,184,5,5,112,203,5,5,229,169,5,5,67,184,5,5,51,216,5,5,165,171,5,5,76,177,5,5,226,248,5,5,108,248,5,5,63,229,5,5,7,214,5,5,163,216,5,5,246,180,5,5,208,210,5,5,41,190,5,5,128,233,5,5,67,205,5,5,227,194,5,5,246,176,5,5,204,224,5,5,54,188,5,5,52,216,5,5,241,229,5,5,237,193,5,5,229,184,5,5,204,240,5,5,160,201,5,5,52,210,5,5,127,205,5,5,137,220,5,5,227,248,5,5,67,244,5,5,9,214,5,5,85,176,5,5,61,192,5,5,67,178,5,5,245,219,5,5,135,172,5,5,197,216,5,5,195,216,5,5,174,190,5,5,50,195,5,5,132,216,5,5,132,199,5,5,236,177,5,5,129,233,5,5,79,198,5,5,35,213,5,5,229,168,5,5,156,168,5,5,109,197,5,5,31,238,5,5,191,181,5,5,237,207,5,5,214,223,5,5,53,208,5,5,186,192,5,5,244,224,5,5,236,248,5,5,130,178,5,5,45,234,5,5,9,201,5,5,41,172,5,5,48,197,5,5,242,237,5,5,46,219,5,5,46,238,5,5,42,238,5,5,163,210,5,5,12,230,5,5,115,195,5,5,82,171,5,5,65,211,5,5,105,185,5,5,47,247,5,5,37,247,5,5,110,200,5,5,75,209,5,5,69,194,5,5,137,233,5,5,206,203,5,5,19,225,5,5,241,168,5,5,216,223,5,5,132,205,5,5,64,206,5,5,110,218,5,5,244,225,5,5,7,212,5,5,98,237,5,5,221,201,5,5,42,172,5,5,154,222,5,5,211,243,5,5,213,210,5,5,95,232,5,5,72,198,5,5,192,191,5,5,193,202,5,5,146,200,5,5,144,190,5,5,147,240,5,5,91,205,5,5,15,205,5,5,77,215,5,5,78,215,5,5,212,243,5,5,83,215,5,5,233,200,5,5,10,232,5,5,93,240,5,5,176,207,5,5,92,218,5,5,17,173,5,5,223,229,5,5,250,176,5,5,140,233,5,5,10,221,5,5,122,206,5,5,73,198,5,5,65,208,5,5,173,174,5,5,214,243,5,5,39,206,5,5,20,225,5,5,224,249,5,5,215,202,5,5,83,179,5,5,57,228,5,5,70,178,5,5,244,194,5,5,8,198,5,5,15,201,5,5,222,202,5,5,54,210,5,5,79,246,5,5,92,187,5,5,77,187,5,5,75,214,5,5,188,235,5,5,255,213,5,5,2,214,5,5,91,222,5,5,187,198,5,5,7,241,5,5,165,184,5,5,185,238,5,5,206,185,5,5,191,184,5,5,255,168,5,5,173,182,5,5,69,246,5,5,227,213,5,5,66,179,5,5,74,199,5,5,2,209,5,5,128,230,5,5,122,186,5,5,172,188,5,5,165,172,5,5,75,233,5,5,80,208,5,5,166,175,5,5,116,185,5,5,221,178,5,5,217,234,5,5,2,195,5,5,5,209,5,5,7,174,5,5,192,196,5,5,40,221,5,5,40,181,5,5,240,241,5,5,236,174,5,5,103,168,5,5,247,168,5,5,218,234,5,5,3,195,5,5,41,181,5,5,30,203,5,5,4,211,5,5,76,170,5,5,154,173,5,5,91,179,5,5,32,181,5,5,51,239,5,5,221,184,5,5,190,219,5,5,245,198,5,5,220,236,5,5,242,180,5,5,24,192,5,5,69,227,5,5,81,233,5,5,33,181,5,5,212,194,5,5,94,196,5,5,64,237,5,5,188,231,5,5,12,209,5,5,209,222,5,5,0,151,5,5,244,215,5,5,0,152,5,5,64,246,5,5,237,178,5,5,8,246,5,5,191,183,5,5,216,222,5,5,128,203,5,5,116,217,5,5,86,234,5,5,209,238,5,5,231,194,5,5,138,220,5,5,232,194,5,5,237,248,5,5,122,239,5,5,38,203,5,5,140,170,5,5,41,202,5,5,89,233,5,5,90,233,5,5,158,229,5,5,99,235,5,5,108,214,5,5,117,214,5,5,185,244,5,5,55,171,5,5,204,197,5,5,186,244,5,5,42,201,5,5,211,182,5,5,5,169,5,5,7,169,5,5,220,200,5,5,5,242,5,5,239,200,5,5,83,229,5,5,90,180,5,5,115,221,5,5,165,203,5,5,100,193,5,5,177,189,5,5,117,233,5,5,106,193,5,5,242,241,5,5,196,245,5,5,9,195,5,5,10,230,5,5,167,226,5,5,107,180,5,5,163,195,5,5,224,174,5,5,217,239,5,5,46,184,5,5,177,215,5,5,231,244,5,5,135,217,5,5,208,248,5,5,236,244,5,5,190,180,5,5,101,177,5,5,68,223,5,5,229,233,5,5,219,248,5,5,228,248,5,5,133,216,5,5,235,203,5,5,238,248,5,5,185,175,5,5,204,180,5,5,21,248,5,5,137,182,5,5,66,173,5,5,70,188,5,5,138,241,5,5,172,221,5,5,121,212,5,5,33,241,5,5,199,207,5,5,56,212,5,5,118,214,5,5,202,244,5,5,75,207,5,5,237,205,5,5,122,212,5,5,218,212,5,5,133,204,5,5,178,183,5,5,167,182,5,5,46,235,5,5,21,196,5,5,22,196,5,5,155,210,5,5,196,249,5,5,97,245,5,5,200,238,5,5,140,204,5,5,196,220,5,5,31,194,5,5,180,241,5,5,206,238,5,5,153,214,5,5,38,247,5,5,63,182,5,5,92,213,5,5,64,182,5,5,222,244,5,5,153,199,5,5,100,224,5,5,213,241,5,5,46,230,5,5,192,192,5,5,208,192,5,5,226,192,5,5,219,191,5,5,183,218,5,5,7,178,5,5,181,196,5,5,163,246,5,5,12,244,5,5,101,233,5,5,131,226,5,5,161,235,5,5,198,234,5,5,135,184,5,5,127,200,5,5,235,184,5,5,27,188,5,5,226,224,5,5,18,179,5,5,140,234,5,5,64,173,5,5,206,221,5,5,199,199,5,5,42,237,5,5,211,221,5,5,194,228,5,5,228,208,5,5,229,208,5,5,193,227,5,5,24,176,5,5,85,230,5,5,73,243,5,5,167,169,5,5,93,168,5,5,84,244,5,5,18,169,5,5,65,195,5,5,48,200,5,5,116,221,5,5,240,189,5,5,162,182,5,5,114,188,5,5,95,187,5,5,107,173,5,5,3,235,5,5,25,209,5,5,148,191,5,5,253,182,5,5,145,216,5,5,146,189,5,5,251,238,5,5,177,230,5,5,219,233,5,5,90,236,5,5,85,244,5,5,163,182,5,5,24,225,5,5,92,221,5,5,69,197,5,5,53,237,5,5,204,243,5,5,106,171,5,5,4,234,5,5,176,240,5,5,66,235,5,5,228,213,5,5,225,245,5,5,47,204,5,5,26,176,5,5,115,188,5,5,200,207,5,5,21,250,5,5,98,209,5,5,212,170,5,5,209,234,5,5,149,191,5,5,73,245,5,5,149,249,5,5,28,222,5,5,29,222,5,5,21,242,5,5,225,182,5,5,184,179,5,5,98,207,5,5,171,210,5,5,151,173,5,5,137,229,5,5,24,180,5,5,0,157,5,5,107,171,5,5,94,168,5,5,178,247,5,5,213,204,5,5,69,232,5,5,203,199,5,5,162,226,5,5,185,173,5,5,221,221,5,5,235,190,5,5,236,190,5,5,58,235,5,5,239,199,5,5,146,234,5,5,201,194,5,5,222,195,5,5,226,246,5,5,223,195,5,5,175,220,5,5,10,227,5,5,93,189,5,5,209,236,5,5,155,184,5,5,204,232,5,5,65,220,5,5,61,233,5,5,10,238,5,5,50,243,5,5,9,191,5,5,253,187,5,5,35,188,5,5,53,198,5,5,119,228,5,5,124,232,5,5,54,200,5,5,184,247,5,5,201,230,5,5,103,174,5,5,149,221,5,5,250,171,5,5,129,245,5,5,130,245,5,5,136,230,5,5,120,228,5,5,81,191,5,5,122,188,5,5,8,174,5,5,126,228,5,5,115,226,5,5,220,248,5,5,241,249,5,5,166,247,5,5,36,214,5,5,58,196,5,5,216,230,5,5,111,220,5,5,156,210,5,5,217,230,5,5,190,216,5,5,211,214,5,5,26,196,5,5,84,187,5,5,61,246,5,5,52,239,5,5,2,247,5,5,82,168,5,5,127,228,5,5,222,203,5,5,103,203,5,5,114,173,5,5,181,228,5,5,62,233,5,5,217,243,5,5,187,182,5,5,17,235,5,5,200,185,5,5,150,238,5,5,189,231,5,5,53,243,5,5,19,191,5,5,191,234,5,5,13,209,5,5,250,199,5,5,229,237,5,5,177,240,5,5,168,222,5,5,54,229,5,5,167,222,5,5,194,216,5,5,120,207,5,5,29,210,5,5,225,193,5,5,154,211,5,5,83,168,5,5,65,237,5,5,30,176,5,5,153,237,5,5,156,224,5,5,39,214,5,5,39,209,5,5,219,194,5,5,108,198,5,5,59,185,5,5,220,229,5,5,169,173,5,5,246,214,5,5,130,188,5,5,234,236,5,5,164,202,5,5,13,168,5,5,242,192,5,5,252,192,5,5,231,207,5,5,218,243,5,5,185,233,5,5,131,188,5,5,208,209,5,5,121,209,5,5,169,176,5,5,183,210,5,5,31,245,5,5,107,191,5,5,138,169,5,5,49,188,5,5,51,235,5,5,217,175,5,5,132,203,5,5,251,231,5,5,67,225,5,5,65,196,5,5,119,213,5,5,236,203,5,5,199,227,5,5,88,231,5,5,109,239,5,5,4,193,5,5,249,190,5,5,199,177,5,5,26,238,5,5,27,238,5,5,171,202,5,5,42,225,5,5,34,227,5,5,66,233,5,5,240,182,5,5,84,221,5,5,105,245,5,5,135,188,5,5,123,239,5,5,210,232,5,5,18,234,5,5,56,221,5,5,235,194,5,5,143,169,5,5,106,196,5,5,246,236,5,5,23,168,5,5,43,238,5,5,33,219,5,5,176,222,5,5,3,208,5,5,150,235,5,5,216,237,5,5,54,214,5,5,184,202,5,5,25,174,5,5,218,199,5,5,218,179,5,5,159,203,5,5,2,237,5,5,240,191,5,5,96,205,5,5,34,231,5,5,231,218,5,5,240,204,5,5,53,210,5,5,140,206,5,5,40,206,5,5,67,220,5,5,147,225,5,5,193,236,5,5,254,247,5,5,253,242,5,5,254,242,5,5,87,217,5,5,253,237,5,5,198,185,5,5,255,237,5,5,147,189,5,5,163,188,5,5,127,222,5,5,138,172,5,5,137,172,5,5,127,221,5,5,14,207,5,5,189,172,5,5,192,172,5,5,59,226,5,5,240,249,5,5,95,172,5,5,227,234,5,5,93,191,5,5,14,240,5,5,79,216,5,5,14,183,5,5,21,213,5,5,7,243,5,5,63,241,5,5,65,219,5,5,157,212,5,5,21,183,5,5,217,183,5,5,48,204,5,5,205,182,5,5,136,217,5,5,47,226,5,5,150,211,5,5,163,226,5,5,40,223,5,5,253,245,5,5,61,201,5,5,60,201,5,5,227,249,5,5,31,209,5,5,184,190,5,5,196,228,5,5,196,227,5,5,188,173,5,5,25,192,5,5,76,214,5,5,60,240,5,5,110,249,5,5,197,228,5,5,35,227,5,5,67,201,5,5,93,201,5,5,4,208,5,5,241,204,5,5,184,209,5,5,184,178,5,5,86,229,5,5,86,209,5,5,215,169,5,5,143,244,5,5,187,222,5,5,188,222,5,5,186,209,5,5,200,247,5,5,122,218,5,5,166,168,5,5,32,214,5,5,50,181,5,5,51,181,5,5,107,178,5,5,96,202,5,5,67,187,5,5,2,192,5,5,147,196,5,5,25,170,5,5,113,234,5,5,87,174,5,5,137,176,5,5,12,220,5,5,49,219,5,5,160,243,5,5,205,217,5,5,37,215,5,5,134,241,5,5,192,184,5,5,28,230,5,5,200,172,5,5,74,220,5,5,164,235,5,5,78,182,5,5,121,230,5,5,63,249,5,5,63,202,5,5,47,234,5,5,50,172,5,5,58,177,5,5,152,218,5,5,230,170,5,5,224,227,5,5,19,179,5,5,51,245,5,5,39,207,5,5,225,174,5,5,240,238,5,5,172,184,5,5,207,185,5,5,167,180,5,5,244,201,5,5,200,214,5,5,190,222,5,5,2,185,5,5,139,226,5,5,149,194,5,5,130,208,5,5,144,228,5,5,157,200,5,5,171,196,5,5,40,207,5,5,43,237,5,5,192,206,5,5,186,208,5,5,116,223,5,5,177,242,5,5,71,188,5,5,221,182,5,5,149,169,5,5,68,195,5,5,22,180,5,5,54,185,5,5,180,237,5,5,233,231,5,5,141,175,5,5,25,176,5,5,229,211,5,5,121,222,5,5,53,190,5,5,220,233,5,5,90,175,5,5,30,248,5,5,91,175,5,5,144,223,5,5,19,169,5,5,145,223,5,5,103,192,5,5,251,229,5,5,218,195,5,5,20,186,5,5,8,192,5,5,71,207,5,5,244,212,5,5,56,170,5,5,176,228,5,5,95,168,5,5,142,182,5,5,22,183,5,5,252,238,5,5,218,183,5,5,19,210,5,5,178,230,5,5,241,189,5,5,232,235,5,5,85,180,5,5,239,233,5,5,223,245,5,5,115,237,5,5,216,203,5,5,90,219,5,5,125,181,5,5,139,207,5,5,90,245,5,5,179,187,5,5,87,246,5,5,157,176,5,5,117,243,5,5,254,249,5,5,117,221,5,5,122,222,5,5,13,244,5,5,22,179,5,5,107,202,5,5,73,205,5,5,200,193,5,5,90,174,5,5,146,223,5,5,178,215,5,5,78,183,5,5,199,244,5,5,242,232,5,5,237,231,5,5,91,199,5,5,172,213,5,5,231,224,5,5,73,231,5,5,180,246,5,5,178,186,5,5,245,232,5,5,116,193,5,5,46,193,5,5,11,186,5,5,86,169,5,5,99,209,5,5,11,239,5,5,6,238,5,5,11,238,5,5,30,222,5,5,247,210,5,5,32,170,5,5,75,181,5,5,122,238,5,5,49,204,5,5,108,171,5,5,154,210,5,5,122,200,5,5,164,188,5,5,38,169,5,5,79,182,5,5,77,247,5,5,182,177,5,5,105,176,5,5,84,237,5,5,170,183,5,5,233,168,5,5,163,209,5,5,200,184,5,5,62,214,5,5,73,218,5,5,242,218,5,5,108,207,5,5,209,220,5,5,148,223,5,5,160,245,5,5,173,231,5,5,99,241,5,5,28,221,5,5,96,187,5,5,31,228,5,5,170,244,5,5,22,210,5,5,53,211,5,5,235,240,5,5,5,179,5,5,218,246,5,5,126,244,5,5,217,172,5,5,14,178,5,5,50,186,5,5,20,172,5,5,185,196,5,5,99,168,5,5,226,183,5,5,202,193,5,5,172,168,5,5,76,181,5,5,202,198,5,5,7,210,5,5,36,248,5,5,61,170,5,5,178,204,5,5,248,172,5,5,83,220,5,5,121,223,5,5,162,175,5,5,101,212,5,5,19,222,5,5,179,186,5,5,127,244,5,5,184,237,5,5,53,174,5,5,186,196,5,5,31,222,5,5,92,246,5,5,179,204,5,5,142,207,5,5,114,202,5,5,192,218,5,5,171,244,5,5,14,244,5,5,231,170,5,5,252,244,5,5,219,246,5,5,214,204,5,5,58,180,5,5,76,205,5,5,121,221,5,5,115,202,5,5,208,200,5,5,232,240,5,5,196,222,5,5,174,235,5,5,239,222,5,5,234,214,5,5,181,245,5,5,65,214,5,5,126,202,5,5,131,238,5,5,193,232,5,5,254,245,5,5,127,202,5,5,231,219,5,5,144,186,5,5,124,198,5,5,211,169,5,5,132,218,5,5,76,233,5,5,234,168,5,5,133,218,5,5,131,171,5,5,6,249,5,5,55,175,5,5,22,239,5,5,145,176,5,5,187,234,5,5,207,247,5,5,20,194,5,5,237,249,5,5,227,181,5,5,249,181,5,5,70,241,5,5,34,182,5,5,235,185,5,5,191,198,5,5,110,201,5,5,203,244,5,5,187,203,5,5,179,239,5,5,103,237,5,5,173,188,5,5,159,185,5,5,23,239,5,5,35,222,5,5,117,185,5,5,178,243,5,5,28,206,5,5,239,183,5,5,76,195,5,5,10,189,5,5,99,187,5,5,184,225,5,5,3,187,5,5,243,228,5,5,176,199,5,5,16,219,5,5,77,168,5,5,37,168,5,5,152,197,5,5,132,238,5,5,192,248,5,5,93,199,5,5,227,246,5,5,231,216,5,5,11,227,5,5,195,219,5,5,194,219,5,5,113,190,5,5,255,196,5,5,189,196,5,5,128,235,5,5,77,181,5,5,151,248,5,5,153,241,5,5,205,243,192,0,0,0,5,5,51,240,5,5,77,195,5,5,180,204,5,5,253,244,5,5,235,235,5,5,102,218,5,5,182,245,5,5,81,178,5,5,66,214,5,5,13,216,5,5,57,190,5,5,100,187,5,5,114,194,5,5,124,248,5,5,175,235,5,5,133,224,5,5,25,220,5,5,189,245,5,5,151,169,5,5,204,226,5,5,101,200,5,5,88,196,5,5,240,213,5,5,225,169,5,5,245,183,5,5,78,219,5,5,45,227,5,5,205,197,5,5,202,230,5,5,43,201,5,5,182,204,5,5,87,183,5,5,72,214,5,5,192,229,5,5,27,198,5,5,222,184,5,5,246,223,5,5,73,203,5,5,56,217,5,5,239,226,5,5,73,241,5,5,147,207,5,5,51,169,5,5,19,205,5,5,147,212,5,5,126,248,5,5,31,179,5,5,7,235,5,5,104,227,5,5,28,244,5,5,100,168,5,5,128,186,5,5,77,170,5,5,224,178,5,5,254,187,5,5,73,249,5,5,105,246,5,5,166,218,5,5,180,169,5,5,193,185,5,5,210,193,5,5,156,190,5,5,121,228,5,5,165,211,5,5,54,193,5,5,144,226,5,5,227,192,5,5,3,233,5,5,238,205,5,5,163,191,5,5,193,220,5,5,188,172,5,5,28,183,5,5,153,223,5,5,33,208,5,5,60,230,5,5,252,201,5,5,253,201,5,5,98,180,5,5,147,216,5,5,162,240,5,5,134,224,5,5,229,196,5,5,241,225,5,5,166,233,5,5,83,200,5,5,218,248,5,5,131,222,5,5,9,173,5,5,126,182,5,5,42,229,5,5,89,196,5,5,254,201,5,5,53,171,5,5,216,231,5,5,150,183,5,5,187,225,5,5,238,246,5,5,170,200,5,5,237,202,5,5,211,193,5,5,193,248,5,5,62,204,5,5,5,202,5,5,240,214,5,5,115,171,5,5,83,206,5,5,161,176,5,5,152,215,5,5,135,208,5,5,140,214,5,5,141,214,5,5,69,172,5,5,140,187,5,5,20,173,5,5,162,178,5,5,212,182,5,5,244,211,5,5,68,169,5,5,69,169,5,5,155,191,5,5,105,249,5,5,114,174,5,5,16,244,5,5,127,192,5,5,148,202,5,5,165,212,5,5,51,242,5,5,52,242,5,5,130,186,5,5,56,198,5,5,67,180,5,5,104,225,5,5,16,185,5,5,182,228,5,5,41,179,5,5,102,177,5,5,87,182,5,5,55,174,5,5,4,245,5,5,212,214,5,5,155,242,5,5,161,236,5,5,53,242,5,5,201,217,5,5,53,239,5,5,6,220,5,5,136,218,5,5,15,176,5,5,230,201,5,5,77,214,5,5,195,248,5,5,5,184,5,5,213,198,5,5,175,200,5,5,168,249,5,5,169,249,5,5,98,245,5,5,191,186,5,5,8,183,5,5,29,183,5,5,44,221,5,5,191,216,5,5,134,210,5,5,128,228,5,5,185,187,5,5,161,205,5,5,94,188,5,5,43,195,5,5,201,238,5,5,60,175,5,5,39,197,5,5,9,197,5,5,115,174,5,5,25,250,5,5,75,203,5,5,184,215,5,5,134,246,5,5,16,176,5,5,240,235,5,5,232,196,5,5,154,169,5,5,162,194,5,5,221,248,5,5,20,249,5,5,56,171,5,5,166,212,5,5,3,180,5,5,143,175,5,5,115,173,5,5,215,207,5,5,23,190,5,5,217,193,5,5,42,187,5,5,124,231,5,5,125,180,5,5,153,215,5,5,139,178,5,5,101,187,5,5,92,179,5,5,108,206,5,5,107,246,5,5,12,218,5,5,52,209,5,5,57,184,5,5,174,185,5,5,198,212,5,5,127,220,5,5,142,238,5,5,24,228,5,5,7,220,5,5,59,181,5,5,228,237,5,5,108,184,5,5,55,229,5,5,215,228,5,5,194,180,5,5,107,193,5,5,109,249,5,5,153,193,5,5,151,238,5,5,102,221,5,5,52,231,5,5,228,236,5,5,167,236,5,5,216,175,5,5,154,193,5,5,31,176,5,5,246,241,5,5,190,188,5,5,133,244,5,5,8,230,5,5,70,213,5,5,11,170,5,5,121,237,5,5,220,191,5,5,159,234,5,5,116,219,5,5,66,237,5,5,138,200,5,5,114,236,5,5,220,169,5,5,20,191,5,5,251,199,5,5,152,195,5,5,252,199,5,5,72,223,5,5,94,183,5,5,95,233,5,5,25,228,5,5,239,246,5,5,32,194,5,5,204,209,5,5,121,207,5,5,146,175,5,5,249,189,5,5,187,189,5,5,56,203,5,5,231,201,5,5,225,226,5,5,30,210,5,5,181,241,5,5,50,241,5,5,159,207,5,5,170,223,5,5,77,235,5,5,78,235,5,5,90,237,5,5,197,245,5,5,71,213,5,5,22,238,5,5,135,192,5,5,92,195,5,5,23,238,5,5,145,175,5,5,17,181,5,5,170,241,5,5,186,249,5,5,216,228,5,5,160,207,5,5,60,226,5,5,128,192,5,5,93,195,5,5,106,198,5,5,14,217,5,5,126,240,5,5,7,219,5,5,202,190,5,5,31,205,5,5,145,201,5,5,228,217,5,5,173,232,5,5,147,213,5,5,251,221,5,5,181,184,5,5,31,225,5,5,2,201,5,5,140,229,5,5,182,241,5,5,42,174,5,5,220,205,5,5,41,197,5,5,64,221,5,5,191,175,5,5,12,170,5,5,180,233,5,5,110,193,5,5,80,239,5,5,242,244,5,5,19,184,5,5,177,211,5,5,112,208,5,5,46,201,5,5,212,218,5,5,105,186,5,5,43,194,5,5,42,197,5,5,179,224,5,5,194,237,5,5,205,245,5,5,61,169,5,5,33,220,5,5,207,242,5,5,79,249,5,5,40,209,5,5,12,224,5,5,119,193,5,5,154,237,5,5,103,195,5,5,248,190,5,5,246,184,5,5,213,182,5,5,179,244,5,5,110,215,5,5,201,206,5,5,124,224,5,5,208,242,5,5,181,233,5,5,213,218,5,5,232,221,5,5,113,246,5,5,18,177,5,5,145,229,5,5,226,226,5,5,146,204,5,5,209,218,5,5,111,225,5,5,33,218,5,5,188,244,5,5,78,223,5,5,159,221,5,5,201,224,5,5,223,198,5,5,236,230,5,5,99,186,5,5,85,214,5,5,60,185,5,5,61,185,5,5,116,224,5,5,16,212,5,5,167,225,5,5,130,185,5,5,32,176,5,5,72,179,5,5,123,211,5,5,139,192,5,5,47,223,5,5,36,186,5,5,18,176,5,5,193,215,5,5,224,172,5,5,134,215,5,5,79,190,5,5,166,207,5,5,237,234,5,5,29,185,5,5,40,185,5,5,196,248,5,5,8,228,5,5,18,216,5,5,106,237,5,5,73,179,5,5,111,193,5,5,142,198,5,5,246,249,5,5,125,178,5,5,226,204,5,5,59,171,5,5,219,247,5,5,196,219,5,5,59,231,5,5,43,192,5,5,249,202,5,5,108,191,5,5,200,240,5,5,162,215,5,5,187,187,5,5,182,184,5,5,185,184,5,5,153,227,5,5,68,190,5,5,89,214,5,5,8,220,5,5,20,177,5,5,172,212,5,5,81,241,5,5,193,189,5,5,120,194,5,5,5,190,5,5,172,190,5,5,112,187,5,5,11,211,5,5,90,239,5,5,43,185,5,5,165,198,5,5,50,187,5,5,51,187,5,5,143,172,5,5,25,207,5,5,206,195,5,5,238,178,5,5,131,248,5,5,147,201,5,5,65,201,5,5,18,174,5,5,170,176,5,5,18,202,5,5,101,234,5,5,196,216,5,5,6,223,5,5,92,182,5,5,253,226,5,5,230,186,5,5,63,244,5,5,19,224,5,5,192,201,5,5,124,205,5,5,82,203,5,5,120,208,5,5,38,205,5,5,193,173,5,5,20,224,5,5,226,198,5,5,106,175,5,5,117,225,5,5,247,170,5,5,182,205,5,5,162,196,5,5,165,245,5,5,137,244,5,5,148,222,5,5,32,245,5,5,245,206,5,5,64,209,5,5,236,210,5,5,108,237,5,5,151,226,5,5,173,212,5,5,63,248,5,5,34,220,5,5,2,231,5,5,236,217,5,5,14,189,5,5,164,193,5,5,171,176,5,5,44,192,5,5,72,236,5,5,212,215,5,5,119,235,5,5,74,240,5,5,17,182,5,5,189,235,5,5,150,246,5,5,25,216,5,5,229,249,5,5,204,176,5,5,42,214,5,5,219,222,5,5,66,190,5,5,38,200,5,5,212,245,5,5,7,250,5,5,35,243,5,5,139,220,5,5,3,231,5,5,36,176,5,5,119,179,5,5,43,182,5,5,228,184,5,5,69,209,5,5,107,230,5,5,253,215,5,5,105,218,5,5,23,204,5,5,156,204,5,5,26,216,5,5,145,232,5,5,106,219,5,5,93,182,5,5,246,244,5,5,12,228,5,5,117,201,5,5,93,243,5,5,30,223,5,5,250,180,5,5,72,174,5,5,121,225,5,5,248,207,5,5,20,197,5,5,130,174,5,5,27,224,5,5,238,197,5,5,239,197,5,5,120,179,5,5,114,191,5,5,53,192,5,5,168,211,5,5,233,232,5,5,27,228,5,5,73,211,5,5,84,219,5,5,223,247,5,5,36,227,5,5,107,244,5,5,39,183,5,5,251,216,5,5,77,218,5,5,15,189,5,5,117,215,5,5,69,186,5,5,190,204,5,5,129,201,5,5,44,185,5,5,129,175,5,5,89,231,5,5,161,221,5,5,80,249,5,5,193,219,5,5,152,192,5,5,80,180,5,5,36,196,5,5,128,205,5,5,83,194,5,5,192,175,5,5,215,242,5,5,208,224,5,5,151,222,5,5,102,194,5,5,46,225,5,5,11,204,5,5,107,211,5,5,18,240,5,5,62,231,5,5,124,191,5,5,100,220,5,5,250,249,5,5,53,235,5,5,76,174,5,5,247,184,5,5,21,197,5,5,253,249,5,5,124,239,5,5,136,216,5,5,44,214,5,5,122,236,5,5,161,201,5,5,103,183,5,5,60,191,5,5,96,178,5,5,9,193,5,5,91,224,5,5,240,171,5,5,199,213,5,5,131,174,5,5,150,175,5,5,71,248,5,5,113,187,5,5,153,192,5,5,130,195,5,5,113,193,5,5,198,216,5,5,191,244,5,5,238,193,5,5,219,215,5,5,149,178,5,5,211,238,5,5,25,171,5,5,161,223,5,5,232,220,5,5,12,204,5,5,177,202,5,5,228,172,5,5,5,208,5,5,248,239,5,5,201,225,5,5,246,224,5,5,141,208,5,5,171,214,5,5,155,227,5,5,71,171,5,5,228,191,5,5,15,193,5,5,76,215,5,5,165,210,5,5,68,211,5,5,92,238,5,5,67,185,5,5,144,198,5,5,45,240,5,5,126,211,5,5,208,216,5,5,178,236,5,5,172,214,5,5,125,208,5,5,108,245,5,5,117,187,5,5,38,176,5,5,68,192,5,5,3,200,5,5,218,213,5,5,196,178,5,5,131,175,5,5,142,185,5,5,142,208,5,5,21,241,5,5,53,247,5,5,244,190,5,5,79,215,5,5,201,201,5,5,165,201,5,5,148,219,5,5,134,205,5,5,185,202,5,5,253,176,5,5,21,206,5,5,218,208,5,5,135,191,5,5,206,211,5,5,225,205,5,5,48,247,5,5,48,185,5,5,138,180,5,5,223,242,5,5,194,202,5,5,244,182,5,5,240,248,5,5,218,223,5,5,15,203,5,5,147,194,5,5,136,175,5,5,222,216,5,5,231,247,5,5,97,205,5,5,129,236,5,5,200,202,5,5,230,247,5,5,48,174,5,5,120,195,5,5,201,181,5,5,231,223,5,5,86,190,5,5,28,211,5,5,118,242,5,5,242,204,5,5,201,200,5,5,26,195,5,5,96,232,5,5,64,187,5,5,49,197,5,5,43,233,5,5,106,204,5,5,97,240,5,5,189,193,5,5,26,240,5,5,61,241,5,5,152,240,5,5,183,232,5,5,114,211,5,5,232,171,5,5,53,173,5,5,240,200,5,5,51,197,5,5,249,222,5,5,13,221,5,5,21,229,5,5,208,176,5,5,247,217,5,5,160,217,5,5,131,172,5,5,206,196,5,5,124,242,5,5,126,206,5,5,219,202,5,5,255,176,5,5,41,206,5,5,72,178,5,5,11,198,5,5,135,236,5,5,18,201,5,5,246,200,5,5,255,247,5,5,180,201,5,5,89,202,5,5,224,168,5,5,50,210,5,5,131,242,5,5,109,204,5,5,21,187,5,5,142,215,5,5,138,176,5,5,94,190,5,5,221,233,5,5,135,241,5,5,253,238,5,5,41,215,5,5,193,211,5,5,143,234,5,5,177,173,5,5,163,175,5,5,238,214,5,5,117,198,5,5,24,239,5,5,200,197,5,5,119,231,5,5,212,234,5,5,148,188,5,5,37,242,5,5,20,200,5,5,37,201,5,5,163,199,5,5,42,223,5,5,203,230,5,5,0,138,5,5,79,238,5,5,78,214,5,5,193,175,5,5,215,174,5,5,99,216,5,5,164,199,5,5,139,198,5,5,165,199,5,5,141,198,5,5,223,175,5,5,51,220,5,5,146,186,5,5,195,239,5,5,230,233,5,5,96,233,5,5,183,241,5,5,158,215,5,5,18,233,5,5,28,238,5,5,102,185,5,5,39,230,5,5,81,225,5,5,242,195,5,5,200,211,5,5,165,189,5,5,63,226,5,5,96,190,5,5,168,234,5,5,134,212,5,5,90,231,5,5,87,233,5,5,194,175,5,5,5,221,5,5,140,220,5,5,238,187,5,5,186,175,5,5,125,239,5,5,198,181,5,5,205,241,5,5,88,176,5,5,103,190,5,5,159,246,5,5,65,246,5,5,131,176,5,5,14,172,5,5,86,230,5,5,109,214,5,5,18,172,5,5,19,172,5,5,74,228,5,5,70,197,5,5,96,215,5,5,186,174,5,5,237,219,5,5,216,174,5,5,241,219,5,5,104,247,5,5,80,224,5,5,81,224,5,5,165,202,5,5,64,244,5,5,194,241,5,5,172,202,5,5,59,187,5,5,166,177,5,5,134,181,5,5,103,223,5,5,128,193,5,5,118,245,5,5,91,209,5,5,92,209,5,5,116,237,5,5,93,209,5,5,223,176,5,5,29,237,5,5,110,226,5,5,122,221,5,5,183,177,5,5,158,220,5,5,213,234,5,5,209,235,5,5,128,222,5,5,85,172,5,5,206,197,5,5,103,213,5,5,21,215,5,5,57,217,5,5,247,223,5,5,189,216,5,5,103,243,5,5,49,203,5,5,54,239,5,5,158,183,5,5,135,246,5,5,17,238,5,5,88,172,5,5,156,191,5,5,227,177,5,5,129,192,5,5,205,179,5,5,206,245,5,5,107,243,5,5,141,229,5,5,101,175,5,5,79,171,5,5,64,226,5,5,243,195,5,5,167,220,5,5,244,239,5,5,140,179,5,5,200,196,5,5,115,191,5,5,4,177,5,5,110,239,5,5,237,177,5,5,177,180,5,5,103,194,5,5,63,203,5,5,84,171,5,5,139,180,5,5,183,193,5,5,190,193,5,5,116,222,5,5,194,211,5,5,189,180,5,5,37,248,5,5,180,239,5,5,212,216,5,5,36,239,5,5,20,220,5,5,46,216,5,5,237,198,5,5,57,233,5,5,215,235,5,5,114,179,5,5,57,191,5,5,58,191,5,5,100,186,5,5,245,215,5,5,38,192,5,5,91,239,5,5,201,211,5,5,59,191,5,5,201,180,5,5,93,238,5,5,50,233,5,5,47,230,5,5,215,186,5,5,167,209,5,5,180,207,5,5,181,207,5,5,0,156,5,5,125,195,5,5,120,180,5,5,77,242,5,5,23,170,5,5,46,170,5,5,62,170,5,5,248,212,5,5,249,212,5,5,67,170,5,5,40,173,5,5,69,207,5,5,90,188,5,5,55,172,5,5,245,212,5,5,172,203,5,5,47,193,5,5,201,244,5,5,150,219,5,5,194,209,5,5,32,228,5,5,176,235,5,5,250,181,5,5,199,218,5,5,72,232,5,5,2,197,5,5,164,209,5,5,93,188,5,5,58,217,5,5,99,180,5,5,26,220,5,5,62,225,5,5,108,212,5,5,10,197,5,5,34,181,5,5,42,177,5,5,9,170,5,5,169,219,5,5,170,219,5,5,122,207,5,5,154,219,5,5,141,222,5,5,142,222,5,5,36,228,5,5,191,188,5,5,33,194,5,5,202,224,5,5,172,219,5,5,223,205,5,5,165,209,5,5,84,207,5,5,37,227,5,5,238,218,5,5,158,173,5,5,43,214,5,5,217,205,5,5,218,244,5,5,225,219,5,5,219,244,5,5,6,208,5,5,135,205,5,5,161,217,5,5,222,179,5,5,255,221,5,5,198,178,5,5,223,208,5,5,182,197,5,5,41,207,5,5,217,214,5,5,116,213,5,5,252,209,5,5,220,214,5,5,108,178,5,5,232,231,5,5,204,175,5,5,254,182,5,5,48,237,5,5,112,210,5,5,90,171,5,5,227,183,5,5,29,221,5,5,25,180,5,5,168,216,5,5,235,214,5,5,181,239,5,5,193,230,5,5,221,187,5,5,86,237,5,5,38,168,5,5,37,236,5,5,4,199,5,5,176,216,5,5,42,236,5,5,36,180,5,5,25,178,5,5,10,206,5,5,192,216,5,5,93,237,5,5,54,243,5,5,57,243,5,5,12,223,5,5,23,223,5,5,56,246,5,5,94,171,5,5,224,240,5,5,74,178,5,5,13,223,5,5,139,201,5,5,168,210,5,5,215,227,5,5,76,182,5,5,66,187,5,5,197,226,5,5,81,246,5,5,39,217,5,5,47,171,5,5,83,244,5,5,147,208,5,5,245,176,5,5,66,191,5,5,128,179,5,5,23,188,5,5,234,172,5,5,202,248,5,5,226,175,5,5,95,228,5,5,117,182,5,5,156,177,5,5,171,230,5,5,222,227,5,5,36,207,5,5,37,217,5,5,221,214,5,5,117,220,5,5,149,213,5,5,25,188,5,5,32,215,5,5,22,230,5,5,23,230,5,5,201,235,5,5,108,223,5,5,41,219,5,5,232,185,5,5,84,194,5,5,177,174,5,5,24,230,5,5,140,227,5,5,170,196,5,5,83,225,5,5,85,246,5,5,169,246,5,5,38,215,5,5,93,208,5,5,76,186,5,5,162,228,5,5,52,196,5,5,53,196,5,5,88,219,5,5,20,198,5,5,48,189,5,5,252,224,5,5,254,217,5,5,100,192,5,5,203,170,5,5,204,170,5,5,236,184,5,5,199,229,5,5,69,247,5,5,140,182,5,5,70,234,5,5,186,197,5,5,213,189,5,5,84,211,5,5,224,214,5,5,20,183,5,5,201,234,5,5,206,234,5,5,158,216,5,5,107,238,5,5,248,229,5,5,70,243,5,5,176,242,5,5,84,188,5,5,141,236,201,32,230,0,5,5,252,173,5,5,10,178,5,5,27,241,5,5,8,181,5,5,235,189,5,5,205,191,5,5,60,214,5,5,189,209,5,5,147,211,5,5,137,207,5,5,126,177,5,5,149,208,5,5,94,208,5,5,13,175,5,5,46,212,5,5,29,170,5,5,13,220,5,5,170,246,5,5,117,212,5,5,28,212,5,5,149,248,5,5,150,243,5,5,248,185,5,5,128,204,5,5,138,207,5,5,43,244,5,5,75,183,5,5,192,211,5,5,102,202,5,5,70,206,5,5,116,172,5,5,76,183,5,5,236,228,5,5,236,189,5,5,94,209,5,5,198,207,5,5,191,222,5,5,34,197,5,5,161,243,5,5,229,227,5,5,247,227,5,5,248,227,5,5,160,188,5,5,108,202,5,5,76,208,5,5,112,238,5,5,20,182,5,5,222,182,5,5,30,241,5,5,84,226,5,5,208,246,5,5,85,245,5,5,47,186,5,5,200,244,5,5,91,236,5,5,61,223,5,5,201,199,5,5,126,196,5,5,214,196,5,5,150,233,5,5,41,217,5,5,254,238,5,5,43,193,5,5,74,247,5,5,209,217,5,5,205,213,5,5,69,191,5,5,96,208,5,5,209,169,5,5,45,244,5,5,236,247,5,5,142,201,5,5,10,241,5,5,48,186,5,5,53,189,5,5,196,184,5,5,46,182,5,5,97,207,5,5,117,223,5,5,148,189,5,5,167,213,5,5,133,176,5,5,118,182,5,5,88,246,5,5,237,223,5,5,77,211,5,5,52,174,5,5,44,204,5,5,90,212,5,5,143,171,5,5,228,214,5,5,112,223,5,5,122,210,5,5,252,196,5,5,137,219,5,5,31,248,5,5,118,221,5,5,210,201,5,5,65,235,5,5,188,197,5,5,219,183,5,5,30,212,5,5,254,208,5,5,2,225,5,5,28,237,5,5,175,192,5,5,228,240,5,5,218,186,5,5,252,169,5,5,105,235,5,5,211,204,5,5,74,205,5,5,11,178,5,5,142,206,5,5,151,233,5,5,206,213,5,5,46,244,5,5,10,196,5,5,220,239,5,5,9,212,5,5,72,195,5,5,7,238,5,5,6,191,5,5,45,191,5,5,190,243,5,5,98,174,5,5,174,239,5,5,241,228,5,5,130,189,5,5,13,194,5,5,54,237,5,5,181,203,5,5,123,223,5,5,209,192,5,5,225,181,5,5,31,234,5,5,228,183,5,5,130,219,5,5,230,219,5,5,181,246,5,5,31,240,5,5,56,230,5,5,74,231,5,5,190,198,5,5,205,247,5,5,131,194,5,5,144,206,5,5,148,206,5,5,75,168,5,5,59,180,5,5,46,226,5,5,150,209,5,5,211,201,5,5,70,238,5,5,79,208,5,5,210,217,5,5,168,195,5,5,229,213,5,5,32,229,5,5,52,233,5,5,156,233,5,5,58,189,5,5,210,234,5,5,239,223,5,5,175,199,5,5,182,225,5,5,73,216,5,5,62,197,5,5,247,181,5,5,132,247,5,5,50,219,5,5,173,213,5,5,169,235,5,5,73,234,5,5,220,246,5,5,255,186,5,5,110,190,5,5,27,209,5,5,195,191,5,5,45,228,5,5,20,215,5,5,252,211,5,5,30,230,5,5,100,217,5,5,131,204,5,5,12,239,5,5,48,193,5,5,78,196,5,5,127,215,5,5,88,194,5,5,157,194,5,5,175,245,5,5,173,221,5,5,209,248,5,5,163,172,5,5,29,182,5,5,71,191,5,5,210,192,5,5,130,204,5,5,67,173,5,5,162,191,5,5,215,189,5,5,98,211,5,5,170,235,5,5,220,195,5,5,188,203,5,5,50,217,5,5,36,229,5,5,161,245,5,5,50,198,5,5,251,187,5,5,52,169,5,5,49,207,5,5,211,248,5,5,36,241,5,5,194,230,5,5,186,171,5,5,93,180,5,5,152,190,5,5,63,189,5,5,25,239,5,5,34,214,5,5,161,240,5,5,253,200,5,5,120,188,5,5,70,201,5,5,17,188,5,5,70,202,5,5,171,185,5,5,240,183,5,5,57,230,5,5,48,203,5,5,44,176,5,5,120,183,5,5,26,239,5,5,28,242,5,5,12,227,5,5,85,201,5,5,211,187,5,5,224,195,5,5,52,193,5,5,15,175,5,5,132,196,5,5,185,207,5,5,50,224,5,5,56,174,5,5,123,212,5,5,121,232,5,5,94,221,5,5,100,227,5,5,94,200,5,5,155,213,5,5,249,210,5,5,32,188,5,5,17,196,5,5,251,232,5,5,246,220,5,5,200,210,5,5,82,227,5,5,236,240,5,5,77,233,5,5,25,232,5,5,238,226,5,5,105,181,5,5,240,223,5,5,194,227,5,5,126,197,5,5,186,172,5,5,50,226,5,5,128,202,5,5,15,223,5,5,124,223,5,5,213,201,5,5,16,223,5,5,157,225,5,5,122,180,5,5,120,201,5,5,163,200,5,5,234,202,5,5,244,228,5,5,231,229,5,5,78,243,5,5,153,190,5,5,222,178,5,5,4,189,5,5,102,219,5,5,21,194,5,5,42,245,5,5,232,219,5,5,246,183,5,5,222,186,5,5,56,234,5,5,103,222,5,5,240,222,5,5,6,236,5,5,76,176,5,5,56,245,5,5,14,238,5,5,53,199,5,5,255,229,5,5,255,187,5,5,235,227,5,5,32,180,5,5,178,188,5,5,234,229,5,5,230,196,5,5,247,220,5,5,74,203,5,5,153,191,5,5,197,224,5,5,194,248,5,5,111,179,5,5,75,216,5,5,159,178,5,5,156,197,5,5,12,249,5,5,204,230,5,5,55,233,5,5,129,214,5,5,89,186,5,5,181,187,5,5,58,236,5,5,221,203,5,5,140,225,5,5,141,247,5,5,194,212,5,5,123,188,5,5,110,173,5,5,132,222,5,5,73,214,5,5,145,182,5,5,132,246,5,5,154,205,5,5,93,210,5,5,5,197,5,5,188,225,5,5,195,176,5,5,214,201,5,5,163,245,5,5,180,213,5,5,201,182,5,5,154,223,5,5,114,226,5,5,40,213,5,5,20,178,5,5,38,242,5,5,131,210,5,5,123,241,5,5,155,205,5,5,241,184,5,5,103,208,5,5,90,196,5,5,63,204,5,5,81,206,5,5,232,239,5,5,40,177,5,5,141,217,5,5,78,190,5,5,39,242,5,5,202,210,5,5,41,221,5,5,235,170,5,5,47,176,5,5,156,189,5,5,153,242,5,5,171,200,5,5,178,191,5,5,177,216,5,5,59,236,5,5,129,215,5,5,77,226,5,5,189,208,5,5,185,246,5,5,8,240,5,5,192,171,5,5,226,169,5,5,148,242,5,5,202,229,5,5,114,219,5,5,183,182,5,5,178,216,5,5,149,242,5,5,243,198,5,5,228,192,5,5,248,220,5,5,150,242,5,5,234,219,5,5,156,205,5,5,90,249,5,5,124,180,5,5,72,238,5,5,26,194,5,5,157,208,5,5,253,211,5,5,205,230,5,5,158,241,5,5,151,242,5,5,78,221,5,5,96,221,5,5,246,218,5,5,164,190,5,5,11,248,5,5,218,193,5,5,153,211,5,5,171,241,5,5,64,217,5,5,221,226,5,5,142,217,5,5,173,180,5,5,88,182,5,5,132,244,5,5,197,171,5,5,5,230,5,5,235,229,5,5,42,179,5,5,211,228,5,5,139,229,5,5,19,219,5,5,174,233,5,5,174,172,5,5,100,229,5,5,179,188,5,5,25,185,5,5,162,236,5,5,71,189,5,5,75,235,5,5,84,208,5,5,246,198,5,5,78,207,5,5,58,240,5,5,163,236,5,5,46,241,5,5,33,189,5,5,190,208,5,5,146,221,5,5,188,207,5,5,181,243,5,5,166,191,5,5,11,210,5,5,85,187,5,5,240,174,5,5,167,181,5,5,254,211,5,5,154,207,5,5,53,203,5,5,241,214,5,5,242,214,5,5,155,207,5,5,94,226,5,5,213,176,5,5,255,228,5,5,79,172,5,5,141,227,5,5,160,208,5,5,85,191,5,5,111,209,5,5,155,234,5,5,130,192,5,5,137,212,5,5,146,193,5,5,212,193,5,5,183,189,5,5,137,183,5,5,169,232,5,5,55,239,5,5,35,240,5,5,5,245,5,5,224,221,5,5,44,195,5,5,61,174,5,5,198,190,5,5,76,225,5,5,172,241,5,5,87,170,5,5,9,209,5,5,178,221,5,5,85,227,5,5,130,221,5,5,241,240,5,5,11,197,5,5,68,180,5,5,162,227,5,5,209,194,5,5,213,194,5,5,65,217,5,5,64,236,5,5,85,225,5,5,223,204,5,5,221,191,5,5,191,242,5,5,35,210,5,5,40,169,5,5,77,241,5,5,222,217,5,5,127,248,5,5,104,203,5,5,21,173,5,5,35,232,5,5,49,176,5,5,5,211,5,5,21,249,5,5,86,228,5,5,179,221,5,5,5,207,5,5,121,240,5,5,135,200,5,5,25,200,5,5,123,183,5,5,34,194,5,5,228,234,5,5,28,205,5,5,2,229,5,5,176,184,5,5,159,171,5,5,122,240,5,5,207,213,5,5,234,195,5,5,229,236,5,5,108,225,5,5,202,242,5,5,157,224,5,5,203,242,5,5,244,202,5,5,192,237,5,5,243,207,5,5,183,248,5,5,122,174,5,5,8,199,5,5,6,225,5,5,186,224,5,5,53,228,5,5,124,204,5,5,253,185,5,5,209,219,5,5,36,209,5,5,176,244,5,5,228,221,5,5,66,239,5,5,97,206,5,5,183,206,5,5,38,214,5,5,217,228,5,5,158,202,5,5,182,243,5,5,147,230,5,5,231,230,5,5,142,229,5,5,185,215,5,5,56,244,5,5,181,221,5,5,5,224,5,5,0,149,5,5,128,216,5,5,192,223,5,5,85,243,5,5,127,234,5,5,196,239,5,5,210,218,5,5,180,191,5,5,6,224,5,5,167,224,5,5,180,210,5,5,180,224,5,5,182,221,5,5,53,219,5,5,0,139,5,5,39,212,5,5,176,175,5,5,113,175,5,5,49,212,5,5,210,229,5,5,123,172,5,5,211,208,5,5,127,185,5,5,71,179,5,5,127,188,5,5,247,190,5,5,130,231,5,5,22,249,5,5,228,178,5,5,11,247,5,5,39,234,5,5,61,184,5,5,94,195,5,5,38,190,5,5,100,185,5,5,77,249,5,5,166,225,5,5,226,225,5,5,55,224,5,5,97,170,5,5,5,195,5,5,94,191,5,5,130,187,5,5,237,239,5,5,39,185,5,5,224,204,5,5,3,247,5,5,230,236,5,5,255,220,5,5,7,207,5,5,127,240,5,5,51,176,5,5,12,206,5,5,23,201,5,5,31,206,5,5,148,237,5,5,57,171,5,5,17,225,5,5,64,242,5,5,114,234,5,5,3,190,5,5,98,170,5,5,243,170,5,5,20,247,5,5,138,194,5,5,81,199,5,5,107,221,5,5,164,220,5,5,210,178,5,5,113,208,5,5,110,168,5,5,122,205,5,5,221,189,5,5,161,189,5,5,15,241,5,5,79,173,5,5,133,182,5,5,199,240,5,5,132,187,5,5,8,207,5,5,206,216,5,5,189,241,5,5,115,213,5,5,243,192,5,5,11,236,5,5,191,173,5,5,86,214,5,5,85,231,5,5,244,192,5,5,177,205,5,5,35,205,5,5,227,204,5,5,201,195,5,5,173,187,5,5,198,176,5,5,60,205,5,5,148,246,5,5,184,184,5,5,213,215,5,5,9,202,5,5,170,236,5,5,141,172,5,5,10,195,5,5,164,176,5,5,54,176,5,5,152,227,5,5,199,211,5,5,225,225,5,5,249,237,5,5,56,231,5,5,114,208,5,5,112,225,5,5,117,209,5,5,165,220,5,5,47,188,5,5,245,202,5,5,3,201,5,5,54,228,5,5,197,174,5,5,210,184,5,5,126,183,5,5,50,235,5,5,83,238,5,5,20,207,5,5,95,249,5,5,64,207,5,5,164,198,5,5,155,206,5,5,152,212,5,5,214,222,5,5,44,245,5,5,26,245,5,5,139,248,5,5,238,234,5,5,170,190,5,5,203,191,5,5,44,194,5,5,70,236,5,5,5,223,5,5,121,203,5,5,24,177,5,5,13,226,5,5,107,237,5,5,97,194,5,5,199,176,5,5,168,240,5,5,81,189,5,5,115,234,5,5,215,222,5,5,228,186,5,5,129,240,5,5,19,233,5,5,161,249,5,5,66,200,5,5,239,234,5,5,59,203,5,5,21,247,5,5,5,229,5,5,47,213,5,5,87,242,5,5,14,195,5,5,210,213,5,5,89,178,5,5,109,191,5,5,108,195,5,5,105,230,5,5,234,211,5,5,144,192,5,5,6,212,5,5,9,229,5,5,25,224,5,5,113,215,5,5,114,215,5,5,250,230,5,5,190,205,5,5,139,231,5,5,221,235,5,5,21,181,5,5,206,190,5,5,18,209,5,5,105,219,5,5,21,224,5,5,116,201,5,5,210,245,5,5,200,176,5,5,81,239,5,5,166,245,5,5,88,228,5,5,134,220,5,5,38,225,5,5,194,173,5,5,187,235,5,5,33,200,5,5,231,237,5,5,223,220,5,5,119,227,5,5,220,247,5,5,133,219,5,5,246,188,5,5,124,170,5,5,98,220,5,5,34,173,5,5,35,173,5,5,173,222,5,5,32,227,5,5,8,214,5,5,232,203,5,5,10,229,5,5,250,219,5,5,243,219,5,5,128,174,5,5,141,196,5,5,129,174,5,5,69,190,5,5,174,194,5,5,127,201,5,5,234,173,5,5,226,184,5,5,61,177,5,5,99,189,5,5,88,223,5,5,217,222,5,5,154,212,5,5,10,188,5,5,90,243,5,5,198,204,5,5,100,189,5,5,24,184,5,5,132,188,5,5,192,188,5,5,49,232,5,5,49,194,5,5,99,220,5,5,140,231,5,5,139,242,5,5,125,205,5,5,217,200,5,5,79,211,5,5,202,241,5,5,10,204,5,5,167,208,5,5,17,244,5,5,57,178,5,5,175,190,5,5,68,244,5,5,190,233,5,5,95,242,5,5,81,202,5,5,76,222,5,5,112,235,5,5,89,204,5,5,150,228,5,5,42,249,5,5,205,240,5,5,116,191,5,5,108,172,5,5,61,203,5,5,121,179,5,5,38,238,5,5,155,168,5,5,127,190,5,5,213,245,5,5,37,173,5,5,27,207,5,5,3,178,5,5,39,178,5,5,111,239,5,5,87,224,5,5,50,213,5,5,110,197,5,5,205,224,5,5,137,216,5,5,54,192,5,5,234,248,5,5,8,203,5,5,105,211,5,5,158,187,5,5,247,195,5,5,36,183,5,5,246,219,5,5,145,192,5,5,59,224,5,5,117,191,5,5,148,175,5,5,210,224,5,5,160,223,5,5,244,179,5,5,247,219,5,5,16,248,5,5,191,200,5,5,66,171,5,5,9,203,5,5,88,208,5,5,195,221,5,5,220,222,5,5,122,208,5,5,80,211,5,5,138,240,5,5,139,240,5,5,2,208,5,5,253,195,5,5,169,214,5,5,141,170,5,5,10,193,5,5,107,188,5,5,30,219,5,5,51,177,5,5,13,230,5,5,173,225,5,5,22,240,5,5,23,240,5,5,231,180,5,5,124,176,5,5,225,191,5,5,219,216,5,5,26,201,5,5,67,198,5,5,0,162,5,5,25,214,5,5,239,248,5,5,13,229,5,5,67,171,5,5,112,186,5,5,122,215,5,5,140,240,5,5,68,171,5,5,111,200,5,5,243,182,5,5,126,172,5,5,132,207,5,5,70,194,5,5,75,229,5,5,163,206,5,5,223,243,5,5,20,206,5,5,178,202,5,5,20,241,5,5,109,237,5,5,133,205,5,5,142,223,5,5,39,247,5,5,145,240,5,5,137,180,5,5,189,228,5,5,35,191,5,5,201,233,5,5,21,212,5,5,87,221,5,5,3,171,5,5,43,173,5,5,133,209,5,5,165,204,5,5,180,193,5,5,53,214,5,5,252,219,5,5,133,174,5,5,117,186,5,5,73,171,5,5,234,191,5,5,152,232,5,5,92,205,5,5,164,216,5,5,62,188,5,5,148,240,5,5,230,218,5,5,195,202,5,5,109,196,5,5,39,233,5,5,149,240,5,5,68,224,5,5,79,229,5,5,203,233,5,5,85,190,5,5,132,235,5,5,229,247,5,5,236,204,5,5,197,200,5,5,235,180,5,5,102,182,5,5,207,189,5,5,198,200,5,5,155,222,5,5,123,204,5,5,150,240,5,5,60,208,5,5,25,193,5,5,66,203,5,5,72,194,5,5,153,240,5,5,67,183,5,5,249,203,5,5,148,239,5,5,187,193,5,5,40,243,5,5,52,173,5,5,207,177,5,5,81,218,5,5,252,193,5,5,234,200,5,5,103,182,5,5,9,223,5,5,167,242,5,5,245,248,5,5,110,183,5,5,11,221,5,5,204,201,5,5,235,200,5,5,207,176,5,5,158,217,5,5,214,240,5,5,124,215,5,5,48,182,5,5,236,186,5,5,3,198,5,5,16,237,5,5,141,188,5,5,155,240,5,5,134,219,5,5,230,243,5,5,42,206,5,5,7,237,5,5,48,202,5,5,90,208,5,5,154,220,5,5,21,225,5,5,71,178,5,5,245,194,5,5,95,173,5,5,157,240,5,5,144,188,5,5,223,168,5,5,253,247,5,5,16,201,5,5,244,200,5,5,55,210,5,5,92,228,5,5,46,206,5,5,196,235,5,5,102,232,5,5,19,237,5,5,251,184,5,5,23,237,5,5,136,242,5,5,198,191,5,5,229,170,5,5,207,208,5,5,247,186,5,5,172,178,5,5,253,190,5,5,239,232,5,5,240,232,5,5,254,190,5,5,26,189,5,5,37,204,5,5,22,244,5,5,100,248,5,5,172,196,5,5,167,244,5,5,149,233,5,5,226,174,5,5,204,248,5,5,174,243,5,5,175,243,5,5,102,172,5,5,44,237,5,5,229,214,5,5,75,247,5,5,23,183,5,5,89,211,5,5,127,196,5,5,162,229,5,5,4,214,5,5,255,238,5,5,75,205,5,5,6,176,5,5,210,212,5,5,115,198,5,5,31,212,5,5,92,236,5,5,116,198,5,5,67,212,5,5,191,209,5,5,201,173,5,5,164,203,5,5,97,187,5,5,180,198,5,5,9,181,5,5,249,186,5,5,222,233,5,5,209,246,5,5,250,186,5,5,251,186,5,5,30,229,5,5,232,215,5,5,228,170,5,5,128,177,5,5,174,231,5,5,29,246,5,5,238,247,5,5,242,198,5,5,92,245,5,5,229,183,5,5,193,168,5,5,157,233,5,5,158,233,5,5,122,204,5,5,189,248,5,5,67,235,5,5,71,197,5,5,72,225,5,5,91,212,5,5,130,196,5,5,79,212,5,5,232,224,5,5,233,224,5,5,109,171,5,5,85,237,5,5,248,226,5,5,108,220,5,5,38,248,5,5,172,244,5,5,88,179,5,5,90,229,5,5,216,221,5,5,46,203,5,5,232,174,5,5,233,190,5,5,133,247,5,5,151,189,5,5,39,223,5,5,22,201,5,5,203,226,5,5,202,194,5,5,214,234,5,5,11,189,5,5,2,218,5,5,189,203,5,5,154,190,5,5,56,237,5,5,92,234,5,5,93,234,5,5,73,232,5,5,218,239,5,5,33,230,5,5,135,247,5,5,134,237,5,5,36,222,5,5,200,228,5,5,13,227,5,5,208,208,5,5,179,243,5,5,118,198,5,5,30,189,5,5,121,201,5,5,178,231,5,5,241,247,5,5,59,235,5,5,31,246,5,5,231,213,5,5,53,236,5,5,48,191,5,5,4,187,5,5,227,173,5,5,10,191,5,5,192,198,5,5,79,197,5,5,84,182,5,5,191,220,5,5,12,238,5,5,78,191,192,0,0,0,5,5,151,225,5,5,225,195,5,5,115,218,5,5,190,203,5,5,206,230,5,5,247,183,5,5,133,196,5,5,167,233,5,5,35,214,5,5,205,226,5,5,212,248,5,5,240,226,5,5,106,228,5,5,213,187,5,5,148,212,5,5,62,201,5,5,210,236,5,5,220,234,5,5,88,183,5,5,237,174,5,5,200,218,5,5,178,189,5,5,207,230,5,5,133,222,5,5,221,188,5,5,136,235,5,5,109,199,5,5,127,197,5,5,4,233,5,5,208,230,5,5,60,236,5,5,36,188,5,5,138,248,5,5,54,198,5,5,32,179,5,5,168,233,5,5,124,192,5,5,137,230,5,5,61,236,5,5,239,205,5,5,2,188,5,5,215,236,5,5,157,190,5,5,229,207,5,5,6,197,5,5,136,178,5,5,186,169,5,5,30,183,5,5,19,204,5,5,58,200,5,5,179,191,5,5,197,227,5,5,218,230,5,5,43,177,5,5,63,230,5,5,34,189,5,5,203,173,5,5,58,184,5,5,6,230,5,5,163,194,5,5,162,176,5,5,138,183,5,5,185,213,5,5,236,216,5,5,115,219,5,5,219,230,5,5,237,216,5,5,252,233,5,5,180,173,5,5,221,236,5,5,222,236,5,5,56,239,5,5,215,197,5,5,54,242,5,5,26,185,5,5,63,218,5,5,6,213,5,5,83,234,5,5,27,185,5,5,131,221,5,5,167,173,5,5,194,220,5,5,81,234,5,5,203,210,5,5,175,185,5,5,136,229,5,5,15,174,5,5,224,188,5,5,14,200,5,5,105,247,5,5,195,180,5,5,162,231,5,5,21,191,5,5,139,183,5,5,57,203,5,5,18,235,5,5,9,234,5,5,203,190,5,5,214,194,5,5,155,193,5,5,99,170,5,5,61,240,5,5,13,248,5,5,56,229,5,5,143,227,5,5,112,220,5,5,237,230,5,5,155,211,5,5,156,211,5,5,24,173,5,5,66,236,5,5,134,196,5,5,139,196,5,5,65,242,5,5,209,207,5,5,30,220,5,5,103,229,5,5,148,244,5,5,231,195,5,5,242,216,5,5,248,218,5,5,161,207,5,5,167,190,5,5,233,234,5,5,100,245,5,5,218,228,5,5,89,182,5,5,69,217,5,5,82,224,5,5,67,237,5,5,197,203,5,5,12,248,5,5,47,195,5,5,31,244,5,5,147,186,5,5,89,169,5,5,188,189,5,5,55,243,5,5,37,210,5,5,57,222,5,5,110,203,5,5,171,170,5,5,37,186,5,5,186,227,5,5,113,225,5,5,204,173,5,5,97,220,5,5,214,181,5,5,207,171,5,5,241,190,5,5,125,233,5,5,136,231,5,5,151,230,5,5,238,230,5,5,130,243,5,5,199,188,5,5,226,188,5,5,239,230,5,5,89,243,5,5,80,234,5,5,246,209,5,5,114,220,5,5,243,216,5,5,209,237,5,5,139,235,5,5,115,208,5,5,250,202,5,5,130,240,5,5,99,230,5,5,214,218,5,5,223,185,5,5,235,236,5,5,234,215,5,5,125,204,5,5,240,230,5,5,114,170,5,5,248,170,5,5,172,176,5,5,183,205,5,5,165,193,5,5,162,222,5,5,92,239,5,5,39,205,5,5,174,212,5,5,58,224,5,5,93,239,5,5,217,225,5,5,228,197,5,5,115,249,5,5,131,243,5,5,6,190,5,5,159,238,5,5,30,247,5,5,115,168,5,5,109,229,5,5,187,204,5,5,50,188,5,5,202,211,5,5,116,218,5,5,140,196,5,5,26,207,5,5,70,200,5,5,168,220,5,5,5,177,5,5,108,244,5,5,172,193,5,5,4,231,5,5,5,231,5,5,6,231,5,5,94,239,5,5,88,233,5,5,3,175,5,5,209,190,5,5,86,173,5,5,29,238,5,5,43,225,5,5,67,218,5,5,241,236,5,5,190,235,5,5,254,215,5,5,66,198,5,5,177,178,5,5,22,181,5,5,52,221,5,5,177,194,5,5,40,183,5,5,93,223,5,5,133,203,5,5,96,242,5,5,237,203,5,5,38,227,5,5,202,220,5,5,41,183,5,5,94,182,5,5,242,236,5,5,191,235,5,5,24,201,5,5,192,207,5,5,154,225,5,5,112,239,5,5,142,196,5,5,232,207,5,5,113,196,5,5,233,194,5,5,135,240,5,5,97,242,5,5,126,239,5,5,113,235,5,5,223,200,5,5,8,225,5,5,35,244,5,5,110,172,5,5,92,224,5,5,13,231,5,5,39,218,5,5,145,249,5,5,16,203,5,5,61,191,5,5,248,247,5,5,197,233,5,5,97,204,5,5,226,228,5,5,127,239,5,5,136,233,5,5,106,245,5,5,125,191,5,5,145,177,5,5,108,211,5,5,224,200,5,5,34,219,5,5,92,232,5,5,235,188,5,5,151,235,5,5,255,195,5,5,79,175,5,5,151,178,5,5,217,237,5,5,236,188,5,5,27,201,5,5,6,171,5,5,227,218,5,5,186,202,5,5,138,209,5,5,144,169,5,5,121,219,5,5,22,206,5,5,147,200,5,5,102,168,5,5,156,235,5,5,219,199,5,5,52,223,5,5,147,203,5,5,201,202,5,5,98,205,5,5,246,197,5,5,161,203,5,5,3,237,5,5,35,231,5,5,204,233,5,5,243,204,5,5,47,238,5,5,83,172,5,5,93,218,5,5,43,243,5,5,28,201,5,5,209,176,5,5,4,198,5,5,37,175,5,5,237,186,5,5,122,197,5,5,237,173,5,5,68,208,5,5,148,225,5,5,30,201,5,5,2,248,5,5,19,201,5,5,110,204,5,5,9,177,5,5,138,242,5,5,82,245,5,5,83,245,5,5,230,211,5,5,24,246,5,5,80,212,5,5,54,174,5,5,179,242,5,5,3,168,5,5,101,229,5,5,66,188,5,5,229,197,5,5,240,197,5,5,73,184,5,5,233,237,5,5,210,168,5,5,174,179,5,5,238,237,5,5,125,237,5,5,207,249,5,5,2,223,5,5,253,181,5,5,8,212,5,5,243,175,5,5,203,198,5,5,238,243,5,5,206,179,5,5,194,215,5,5,201,240,5,5,220,215,5,5,82,213,5,5,20,169,5,5,33,212,5,5,184,173,5,5,147,193,5,5,245,211,5,5,126,180,5,5,237,175,5,5,184,241,5,5,149,244,5,5,172,170,5,5,207,179,5,5,62,169,5,5,208,171,5,5,239,175,5,5,82,241,5,5,83,241,5,5,140,180,5,5,247,235,5,5,62,174,5,5,82,211,5,5,83,211,5,5,148,213,5,5,148,196,5,5,146,209,5,5,174,224,5,5,169,209,5,5,80,201,5,5,153,218,5,5,32,207,5,5,143,182,5,5,72,207,5,5,192,209,5,5,6,185,5,5,125,230,5,5,201,236,5,5,89,185,5,5,168,169,5,5,122,223,5,5,14,194,5,5,80,186,5,5,100,241,5,5,92,185,5,5,123,221,5,5,174,209,5,5,6,179,5,5,46,215,5,5,8,218,5,5,213,217,5,5,89,249,5,5,210,225,5,5,195,230,5,5,51,207,5,5,39,199,5,5,55,215,5,5,94,230,5,5,129,186,5,5,220,230,5,5,255,201,5,5,6,202,5,5,253,213,5,5,26,192,5,5,17,185,5,5,136,246,5,5,212,169,5,5,223,217,5,5,50,176,5,5,127,180,5,5,90,197,5,5,62,193,5,5,148,193,5,5,95,183,5,5,61,213,5,5,219,198,5,5,12,197,5,5,194,198,5,5,124,175,5,5,137,231,5,5,195,169,5,5,156,206,5,5,156,195,5,5,175,206,5,5,173,219,5,5,110,229,5,5,85,207,5,5,251,180,5,5,39,227,5,5,27,216,5,5,142,194,5,5,14,231,5,5,187,202,5,5,141,180,5,5,208,203,5,5,249,211,5,5,95,213,5,5,229,171,5,5,36,231,5,5,49,175,5,5,19,229,5,5,12,200,5,5,50,175,5,5,253,217,5,5,252,217,5,5,187,168,5,5,115,182,5,5,35,217,5,5,174,192,5,5,246,172,5,5,203,248,5,5,72,168,5,5,85,185,5,5,135,248,5,5,13,187,5,5,191,206,5,5,28,241,5,5,179,198,5,5,173,171,5,5,124,189,5,5,29,236,5,5,215,239,5,5,95,190,5,5,136,248,5,5,100,243,5,5,184,199,5,5,87,211,5,5,216,178,5,5,185,199,5,5,114,247,5,5,190,209,5,5,163,169,5,5,211,212,5,5,254,196,5,5,113,238,5,5,119,221,5,5,78,212,5,5,169,231,5,5,249,227,5,5,171,189,5,5,45,204,5,5,223,182,5,5,246,212,5,5,152,210,5,5,181,237,5,5,92,241,5,5,9,186,5,5,127,235,5,5,215,196,5,5,12,178,5,5,177,171,5,5,101,199,5,5,68,232,5,5,51,211,5,5,111,190,5,5,252,188,5,5,197,194,5,5,165,188,5,5,93,245,5,5,113,192,5,5,206,235,5,5,84,220,5,5,194,224,5,5,193,218,5,5,99,222,5,5,8,227,5,5,108,201,5,5,121,180,5,5,175,231,5,5,174,221,5,5,141,199,5,5,30,246,5,5,22,242,5,5,108,224,5,5,154,241,5,5,68,170,5,5,50,207,5,5,196,230,5,5,153,197,5,5,247,201,5,5,179,231,5,5,223,239,5,5,36,224,5,5,38,201,5,5,176,169,5,5,228,246,5,5,96,236,5,5,21,220,5,5,129,202,5,5,33,188,5,5,74,232,5,5,23,196,5,5,243,211,5,5,188,182,5,5,5,233,5,5,248,168,5,5,130,214,5,5,132,210,5,5,237,170,5,5,36,240,5,5,172,200,5,5,192,203,5,5,141,193,5,5,181,215,5,5,55,200,5,5,223,236,5,5,182,187,5,5,152,249,5,5,46,208,5,5,111,173,5,5,73,238,5,5,240,246,5,5,37,246,5,5,7,236,5,5,21,208,5,5,48,172,5,5,225,176,5,5,225,220,5,5,193,203,5,5,90,179,5,5,104,206,5,5,184,189,5,5,106,249,5,5,102,187,5,5,49,229,5,5,91,183,5,5,236,229,5,5,192,242,5,5,8,234,5,5,210,247,5,5,67,207,5,5,102,229,5,5,207,175,5,5,132,232,5,5,142,227,5,5,43,236,5,5,65,210,5,5,94,233,5,5,59,193,5,5,111,189,5,5,169,170,5,5,47,241,5,5,51,241,5,5,156,207,5,5,222,172,5,5,149,237,5,5,113,224,5,5,202,171,5,5,37,209,5,5,39,190,5,5,204,242,5,5,193,223,5,5,198,206,5,5,205,242,5,5,164,177,5,5,78,242,5,5,183,221,5,5,96,188,5,5,186,215,5,5,67,239,5,5,198,245,5,5,124,172,5,5,102,188,5,5,21,207,5,5,101,196,5,5,121,194,5,5,118,209,5,5,27,245,5,5,27,173,5,5,116,168,5,5,111,168,5,5,99,188,5,5,19,177,5,5,230,169,5,5,230,197,5,5,125,170,5,5,115,170,5,5,207,190,5,5,23,214,5,5,233,203,5,5,245,234,5,5,33,227,5,5,212,237,5,5,129,203,5,5,48,223,5,5,24,233,5,5,111,222,5,5,247,180,5,5,17,195,5,5,134,185,5,5,169,197,5,5,132,180,5,5,118,191,5,5,151,199,5,5,88,232,5,5,191,233,5,5,188,224,5,5,89,232,5,5,148,235,5,5,66,211,5,5,177,170,5,5,226,191,5,5,125,211,5,5,27,208,5,5,207,203,5,5,89,210,5,5,15,187,5,5,112,222,5,5,93,205,5,5,190,224,5,5,154,232,5,5,61,208,5,5,82,218,5,5,102,190,5,5,90,210,5,5,123,206,5,5,99,232,5,5,190,214,5,5,9,198,5,5,42,235,5,5,198,208,5,5,7,249,5,5,7,206,5,5,81,205,5,5,10,242,5,5,234,223,5,5,167,228,5,5,36,217,5,5,144,184,5,5,229,179,5,5,141,201,5,5,167,168,5,5,3,192,5,5,49,189,5,5,20,179,5,5,228,175,5,5,193,184,5,5,173,196,5,5,136,241,5,5,201,214,5,5,137,241,5,5,161,173,5,5,179,206,5,5,54,189,5,5,87,230,5,5,167,183,5,5,163,229,5,5,140,195,5,5,253,235,5,5,49,171,5,5,209,170,5,5,65,169,5,5,15,243,5,5,189,197,5,5,218,207,5,5,190,197,5,5,101,228,5,5,132,193,5,5,140,207,5,5,246,177,5,5,131,213,5,5,31,229,5,5,107,190,5,5,108,232,5,5,179,215,5,5,50,204,5,5,184,177,5,5,13,239,5,5,59,168,5,5,174,213,5,5,107,179,5,5,230,183,5,5,43,235,5,5,75,231,5,5,145,171,5,5,134,176,5,5,12,186,5,5,98,193,5,5,210,220,5,5,230,213,5,5,103,176,5,5,204,198,5,5,74,218,5,5,124,221,5,5,30,221,5,5,123,238,5,5,208,249,5,5,49,193,5,5,231,208,5,5,85,220,5,5,181,204,5,5,63,170,5,5,176,245,5,5,177,245,5,5,192,197,5,5,49,182,5,5,215,204,5,5,175,195,5,5,252,194,5,5,22,194,5,5,130,202,5,5,5,187,5,5,239,231,5,5,136,247,5,5,236,185,5,5,54,236,5,5,121,234,5,5,57,237,5,5,188,234,5,5,149,206,5,5,241,223,5,5,208,247,5,5,112,216,5,5,224,239,5,5,177,235,5,5,106,169,5,5,251,181,5,5,222,232,5,5,135,237,5,5,180,231,5,5,74,188,5,5,32,187,5,5,16,175,5,5,215,234,5,5,2,169,5,5,124,212,5,5,111,201,5,5,51,178,5,5,52,240,5,5,11,191,5,5,168,229,5,5,107,181,5,5,107,174,5,5,33,179,5,5,95,230,5,5,61,230,5,5,104,174,5,5,55,198,5,5,148,207,5,5,181,169,5,5,241,226,5,5,125,232,5,5,169,175,5,5,3,188,5,5,47,235,5,5,102,236,5,5,59,217,5,5,72,235,5,5,44,201,5,5,72,202,5,5,124,234,5,5,248,183,5,5,134,204,5,5,254,235,5,5,209,230,5,5,64,204,5,5,2,202,5,5,228,195,5,5,31,203,5,5,151,224,5,5,152,224,5,5,89,183,5,5,107,228,5,5,113,179,5,5,135,213,5,5,237,244,5,5,238,219,5,5,237,208,5,5,55,242,5,5,233,196,5,5,241,173,5,5,176,200,5,5,238,208,5,5,156,221,5,5,3,229,5,5,116,226,5,5,173,175,5,5,26,250,5,5,248,169,5,5,57,174,5,5,219,189,5,5,142,214,5,5,177,181,5,5,59,200,5,5,116,173,5,5,143,214,5,5,249,169,5,5,129,228,5,5,162,205,5,5,196,176,5,5,206,186,5,5,164,236,5,5,136,179,5,5,187,169,5,5,223,203,5,5,119,216,5,5,7,213,5,5,232,211,5,5,22,218,5,5,222,248,5,5,120,216,5,5,50,182,5,5,180,195,5,5,238,216,5,5,159,180,5,5,153,195,5,5,167,191,5,5,247,241,5,5,123,207,5,5,162,207,5,5,33,176,5,5,19,235,5,5,8,226,5,5,10,234,5,5,196,177,5,5,249,218,5,5,240,208,5,5,156,193,5,5,57,229,5,5,71,219,5,5,168,190,5,5,123,233,5,5,208,175,5,5,226,193,5,5,104,248,5,5,168,173,5,5,58,203,5,5,229,217,5,5,190,231,5,5,196,180,5,5,245,242,5,5,8,236,5,5,86,210,5,5,189,189,5,5,62,240,5,5,185,241,5,5,204,190,5,5,93,219,5,5,240,219,5,5,147,204,5,5,189,221,5,5,215,218,5,5,158,224,5,5,155,237,5,5,143,229,5,5,100,230,5,5,207,245,5,5,239,195,5,5,132,240,5,5,185,206,5,5,168,225,5,5,150,204,5,5,114,225,5,5,166,202,5,5,47,201,5,5,43,187,5,5,9,246,5,5,195,215,5,5,73,177,5,5,223,197,5,5,86,245,5,5,156,237,5,5,14,168,5,5,60,171,5,5,145,222,5,5,141,173,5,5,71,200,5,5,85,248,5,5,173,176,5,5,207,195,5,5,89,238,5,5,25,177,5,5,174,176,5,5,161,214,5,5,19,202,5,5,63,196,5,5,160,224,5,5,76,217,5,5,52,235,5,5,117,168,5,5,35,203,5,5,224,207,5,5,33,245,5,5,245,239,5,5,30,238,5,5,75,240,5,5,115,229,5,5,196,205,5,5,69,230,5,5,178,178,5,5,128,234,5,5,109,244,5,5,192,235,5,5,148,217,5,5,97,178,5,5,238,203,5,5,134,203,5,5,252,216,5,5,28,224,5,5,210,190,5,5,53,187,5,5,24,214,5,5,66,196,5,5,95,182,5,5,244,195,5,5,157,204,5,5,55,192,5,5,119,191,5,5,67,196,5,5,24,168,5,5,146,170,5,5,111,172,5,5,152,217,5,5,18,244,5,5,58,178,5,5,236,194,5,5,143,187,5,5,69,225,5,5,126,191,5,5,130,190,5,5,251,219,5,5,93,224,5,5,105,226,5,5,151,175,5,5,206,241,5,5,2,196,5,5,94,205,5,5,72,171,5,5,163,222,5,5,206,229,5,5,236,249,5,5,229,200,5,5,98,231,5,5,51,249,5,5,54,235,5,5,75,219,5,5,14,230,5,5,186,184,5,5,166,201,5,5,142,180,5,5,196,202,5,5,54,247,5,5,3,219,5,5,42,202,5,5,225,243,5,5,254,216,5,5,70,226,5,5,62,187,5,5,67,224,5,5,150,200,5,5,244,204,5,5,99,205,5,5,202,202,5,5,228,243,5,5,29,201,5,5,98,240,5,5,66,208,5,5,184,232,5,5,3,217,5,5,238,186,5,5,154,178,5,5,232,243,5,5,141,190,5,5,141,186,5,5,178,171,5,5,187,179,5,5,187,171,5,5,248,189,5,5,141,246,5,5,100,213,5,5,45,169,5,5,85,218,5,5,223,202,5,5,59,228,192,0,0,0,5,5,189,232,5,5,39,215,5,5,21,169,5,5,135,212,5,5,164,182,5,5,247,177,5,5,224,229,5,5,195,211,192,0,0,0,192,0,0,0,5,5,72,228,5,5,172,189,5,5,51,204,5,5,124,238,5,5,177,213,5,5,110,176,5,5,236,168,5,5,128,197,5,5,134,173,5,5,153,174,192,0,0,0,5,5,85,178,5,5,22,208,5,5,30,172,5,5,156,248,5,5,186,213,5,5,173,170,5,5,188,247,5,5,199,245,192,0,0,0,5,5,114,176,5,5,68,240,5,5,247,214,5,5,43,232,5,5,55,205,5,5,59,179,5,5,203,211,5,5,246,207,5,5,86,248,5,5,2,170,5,5,24,204,5,5,118,244,5,5,108,230,5,5,52,213,5,5,238,177,5,5,226,229,5,5,86,240,5,5,181,236,5,5,187,184,5,5,175,177,5,5,62,221,5,5,91,226,5,5,92,226,5,5,7,188,5,5,136,173,5,5,111,221,5,5,185,216,5,5,35,221,5,5,71,173,5,5,72,173,5,5,79,219,5,5,132,221,5,5,223,223,5,5,50,221,5,5,255,240,5,5,231,222,5,5,142,205,5,5,41,184,5,5,225,240,5,5,244,169,5,5,135,183,5,5,57,211,5,5,82,226,5,5,26,241,5,5,96,193,5,5,15,221,5,5,144,244,5,5,100,179,5,5,204,183,5,5,17,210,5,5,65,179,5,5,152,213,5,5,200,226,5,5,54,190,5,5,234,226,5,5,247,245,5,5,176,243,5,5,238,207,5,5,57,170,5,5,58,170,5,5,194,204,5,5,165,235,5,5,129,204,5,5,162,173,5,5,175,209,5,5,74,243,5,5,122,182,5,5,231,183,5,5,170,185,5,5,86,226,5,5,141,195,5,5,142,195,5,5,255,217,5,5,91,229,5,5,232,183,5,5,87,226,5,5,176,209,5,5,28,181,5,5,35,212,5,5,89,194,5,5,47,228,5,5,131,177,5,5,24,210,5,5,132,204,5,5,218,169,5,5,228,245,5,5,167,175,5,5,178,209,5,5,179,209,5,5,166,172,5,5,90,226,5,5,157,184,5,5,69,170,5,5,134,177,5,5,241,246,5,5,57,206,5,5,131,214,5,5,58,206,5,5,4,212,5,5,74,238,5,5,56,182,5,5,59,190,5,5,227,220,5,5,173,241,5,5,181,209,5,5,57,198,5,5,37,239,5,5,135,204,5,5,228,220,5,5,197,179,5,5,61,175,5,5,61,190,5,5,55,178,5,5,158,248,5,5,32,192,5,5,131,228,5,5,93,194,5,5,124,174,5,5,170,173,5,5,216,227,5,5,159,201,5,5,45,192,5,5,212,172,5,5,158,204,5,5,214,179,5,5,160,227,5,5,27,204,5,5,106,194,5,5,108,194,5,5,81,175,5,5,53,213,5,5,219,179,5,5,221,179,5,5,26,213,5,5,69,195,5,5,15,178,5,5,137,222,5,5,138,222,5,5,22,247,5,5,157,238,5,5,97,210,5,5,253,209,5,5,230,179,5,5,30,170,5,5,28,195,5,5,115,203,5,5,7,185,5,5,90,185,5,5,184,196,5,5,164,247,5,5,214,231,5,5,118,220,5,5,141,234,5,5,158,211,5,5,109,202,5,5,49,237,5,5,38,174,5,5,34,241,5,5,173,168,5,5,143,195,5,5,193,197,5,5,114,214,5,5,157,231,5,5,30,177,5,5,64,170,5,5,14,239,5,5,116,202,5,5,150,249,5,5,234,175,5,5,80,183,5,5,40,248,5,5,92,212,5,5,250,212,5,5,202,184,5,5,208,198,5,5,93,176,5,5,91,235,5,5,100,246,5,5,250,177,5,5,229,245,5,5,30,182,5,5,186,246,5,5,220,225,5,5,219,196,5,5,118,192,5,5,231,182,5,5,220,196,5,5,87,220,5,5,53,193,5,5,44,235,5,5,174,244,5,5,132,171,5,5,250,210,5,5,70,246,5,5,189,240,5,5,84,196,5,5,219,217,5,5,221,225,5,5,250,226,5,5,138,238,5,5,32,195,5,5,43,229,5,5,51,191,5,5,13,225,5,5,87,237,5,5,238,174,5,5,242,246,5,5,248,188,5,5,18,236,5,5,206,207,5,5,102,180,5,5,95,196,5,5,7,233,5,5,50,227,5,5,86,227,5,5,55,207,5,5,31,213,5,5,8,233,5,5,37,224,5,5,182,183,5,5,149,202,5,5,4,247,5,5,82,177,5,5,43,181,5,5,140,230,5,5,28,220,5,5,87,201,5,5,105,222,5,5,165,190,5,5,36,232,5,5,68,239,5,5,241,169,5,5,58,245,5,5,207,186,5,5,32,225,5,5,237,182,5,5,173,206,5,5,225,203,5,5,162,174,5,5,236,192,5,5,119,226,5,5,45,168,5,5,244,174,5,5,100,170,5,5,101,170,5,5,241,208,5,5,133,186,5,5,211,180,5,5,96,181,5,5,58,229,5,5,125,241,5,5,45,177,5,5,20,236,5,5,246,247,5,5,229,176,5,5,228,177,5,5,103,221,5,5,107,247,5,5,250,174,5,5,79,242,5,5,113,189,5,5,97,183,5,5,139,200,5,5,69,237,5,5,19,174,5,5,111,227,5,5,248,241,5,5,155,187,5,5,171,229,5,5,171,190,5,5,114,199,5,5,112,193,5,5,201,239,5,5,82,239,5,5,61,205,5,5,224,219,5,5,231,197,5,5,255,174,5,5,251,230,5,5,195,186,5,5,95,239,5,5,146,229,5,5,146,192,5,5,240,175,5,5,9,169,5,5,100,191,5,5,151,204,5,5,4,173,5,5,109,222,5,5,161,211,5,5,74,179,5,5,159,177,5,5,44,171,5,5,18,225,5,5,64,245,5,5,250,170,5,5,109,221,5,5,237,176,5,5,137,206,5,5,113,239,5,5,156,249,5,5,47,175,5,5,65,245,5,5,198,244,5,5,221,223,5,5,248,219,5,5,16,218,5,5,169,179,5,5,63,205,5,5,64,205,5,5,126,209,5,5,138,216,5,5,19,240,5,5,169,240,5,5,215,190,5,5,32,184,5,5,136,203,5,5,229,204,5,5,28,216,5,5,160,204,5,5,94,201,5,5,56,232,5,5,241,182,5,5,239,177,5,5,40,240,5,5,233,188,5,5,0,154,5,5,13,169,5,5,57,232,5,5,196,186,5,5,118,187,5,5,119,211,5,5,110,242,5,5,17,229,5,5,134,239,5,5,209,240,5,5,37,213,5,5,199,201,5,5,179,202,5,5,177,222,5,5,44,178,5,5,13,204,5,5,123,179,5,5,14,204,5,5,195,200,5,5,45,171,5,5,20,193,5,5,170,174,5,5,99,237,5,5,62,235,5,5,52,195,5,5,55,246,5,5,134,207,5,5,209,202,5,5,242,191,5,5,202,200,5,5,78,192,5,5,80,179,5,5,63,235,5,5,175,240,5,5,27,240,5,5,164,217,5,5,218,240,5,5,22,225,5,5,84,179,5,5,141,206,5,5,49,206,5,5,50,206,5,5,140,171,5,5,144,171,5,5,78,187,5,5,194,168,5,5,21,182,5,5,173,178,5,5,22,182,5,5,230,168,5,5,231,168,5,5,61,216,5,5,104,192,5,5,23,244,5,5,24,244,5,5,103,207,5,5,168,178,5,5,224,211,5,5,29,195,5,5,187,190,5,5,28,187,5,5,135,176,5,5,53,204,5,5,32,185,5,5,101,209,5,5,114,192,5,5,204,194,5,5,195,212,5,5,36,185,5,5,0,147,5,5,109,181,5,5,125,188,5,5,40,188,5,5,88,170,5,5,130,228,5,5,64,175,5,5,155,215,5,5,232,230,5,5,0,153,5,5,65,233,5,5,133,188,5,5,250,190,5,5,134,188,5,5,69,244,5,5,27,177,5,5,136,188,5,5,69,233,5,5,32,238,5,5,216,213,5,5,138,188,5,5,238,194,5,5,26,168,5,5,21,234,5,5,252,190,5,5,203,202,5,5,108,213,5,5,213,188,5,5,23,195,5,5,240,212,5,5,217,184,5,5,93,212,5,5,182,247,5,5,28,198,5,5,66,217,5,5,59,177,5,5,29,218,5,5,136,244,5,5,106,186,5,5,32,198,5,5,33,198,5,5,191,247,5,5,139,244,5,5,113,186,5,5,81,245,5,5,143,180,5,5,249,208,5,5,202,214,5,5,110,240,5,5,139,241,5,5,150,169,5,5,74,245,5,5,78,247,5,5,136,212,5,5,166,188,5,5,113,240,5,5,174,188,5,5,27,239,5,5,149,171,5,5,115,228,5,5,175,188,5,5,96,168,5,5,234,244,5,5,100,236,5,5,138,193,5,5,180,188,5,5,124,241,5,5,229,199,5,5,127,182,5,5,174,184,5,5,137,178,5,5,10,212,5,5,59,184,5,5,67,217,5,5,151,221,5,5,140,178,5,5,168,205,5,5,239,244,5,5,244,207,5,5,20,202,5,5,202,195,5,5,240,234,5,5,162,193,5,5,17,212,5,5,231,186,5,5,52,168,5,5,87,205,5,5,197,234,5,5,154,247,5,5,98,178,5,5,55,168,5,5,118,186,5,5,204,202,5,5,187,209,5,5,231,179,5,5,237,184,5,5,142,234,5,5,42,207,5,5,195,228,5,5,124,246,5,5,230,214,5,5,230,242,5,5,88,226,5,5,161,232,5,5,2,181,5,5,223,233,5,5,117,231,5,5,34,212,5,5,81,183,5,5,10,181,5,5,232,208,5,5,28,209,5,5,143,221,5,5,32,222,5,5,75,243,5,5,152,208,5,5,3,212,5,5,165,182,5,5,187,208,5,5,218,177,5,5,143,207,5,5,109,207,5,5,148,198,5,5,114,232,5,5,65,199,5,5,37,222,5,5,31,237,5,5,32,246,5,5,185,237,5,5,36,221,5,5,212,191,5,5,157,177,5,5,230,245,5,5,205,199,5,5,221,196,5,5,95,221,5,5,133,238,5,5,144,221,5,5,203,207,5,5,102,209,5,5,41,248,5,5,183,245,5,5,184,245,5,5,131,208,5,5,38,222,5,5,145,242,5,5,188,179,5,5,175,210,5,5,91,249,5,5,92,249,5,5,202,173,5,5,158,244,5,5,69,235,5,5,111,171,5,5,81,208,5,5,217,204,5,5,53,224,5,5,16,227,5,5,39,208,5,5,224,179,5,5,34,179,5,5,100,210,5,5,32,209,5,5,73,235,5,5,154,174,5,5,207,199,5,5,157,197,5,5,151,209,5,5,2,246,5,5,170,226,5,5,58,237,5,5,153,236,5,5,108,209,5,5,121,247,5,5,103,209,5,5,170,245,5,5,38,246,5,5,157,207,5,5,135,224,5,5,221,220,5,5,41,188,5,5,166,190,5,5,43,179,5,5,142,174,5,5,83,177,5,5,159,197,5,5,110,181,5,5,6,207,5,5,128,232,5,5,221,230,5,5,95,200,5,5,187,200,5,5,219,193,5,5,113,220,5,5,120,226,5,5,141,187,5,5,132,228,5,5,240,201,5,5,58,222,5,5,244,216,5,5,198,203,5,5,9,236,5,5,30,196,5,5,46,246,5,5,10,202,5,5,188,200,5,5,83,224,5,5,163,197,5,5,21,223,5,5,56,224,5,5,117,180,5,5,102,170,5,5,45,213,5,5,205,209,5,5,158,191,5,5,181,210,5,5,169,205,5,5,69,239,5,5,95,195,5,5,63,172,5,5,167,247,5,5,190,241,5,5,159,191,5,5,199,206,5,5,217,231,5,5,43,234,5,5,25,191,5,5,142,187,5,5,183,243,5,5,64,176,5,5,157,193,5,5,210,207,5,5,161,180,5,5,114,189,5,5,21,235,5,5,129,226,5,5,254,199,5,5,41,185,5,5,95,219,5,5,124,207,5,5,241,234,5,5,39,182,5,5,11,230,5,5,180,208,5,5,94,175,5,5,29,200,5,5,40,208,5,5,221,229,5,5,84,199,5,5,92,178,5,5,244,173,5,5,227,198,5,5,213,223,5,5,164,231,5,5,247,216,5,5,127,209,5,5,43,209,5,5,246,206,5,5,22,223,5,5,70,244,5,5,66,245,5,5,114,239,5,5,141,179,5,5,69,199,5,5,128,209,5,5,31,223,5,5,178,176,5,5,22,205,5,5,165,174,5,5,247,206,5,5,104,213,5,5,73,174,5,5,54,187,5,5,249,207,5,5,152,228,5,5,100,219,5,5,120,213,5,5,15,231,5,5,29,216,5,5,26,214,5,5,18,248,5,5,193,178,5,5,85,221,5,5,32,223,5,5,170,203,5,5,236,173,5,5,58,232,5,5,152,198,5,5,33,238,5,5,250,234,5,5,41,227,5,5,158,209,5,5,241,203,5,5,114,187,5,5,64,194,5,5,44,238,5,5,27,168,5,5,131,191,5,5,220,244,5,5,244,193,5,5,119,186,5,5,109,245,5,5,154,217,5,5,175,207,5,5,96,175,5,5,226,219,5,5,74,211,5,5,153,235,5,5,220,237,5,5,230,191,5,5,7,208,5,5,143,208,5,5,142,213,5,5,144,208,5,5,202,201,5,5,220,199,5,5,253,197,5,5,35,235,5,5,145,208,5,5,243,191,5,5,101,205,5,5,13,208,5,5,245,204,5,5,239,186,5,5,13,207,5,5,101,231,5,5,190,175,5,5,149,225,5,5,155,198,5,5,22,248,5,5,70,207,5,5,169,195,5,5,176,195,5,5,56,242,5,5,44,223,5,5,57,244,5,5,12,198,5,5,241,221,5,5,186,238,5,5,71,221,5,5,89,246,5,5,107,189,5,5,73,221,5,5,159,240,5,5,36,197,5,5,142,247,5,5,205,194,5,5,84,177,5,5,188,180,5,5,0,159,5,5,237,194,5,5,110,244,5,5,4,243,5,5,220,168,5,5,203,221,5,5,250,179,5,5,225,214,5,5,6,192,5,5,64,249,5,5,197,184,5,5,126,230,5,5,119,245,5,5,89,199,5,5,8,185,5,5,112,231,5,5,80,182,5,5,202,199,5,5,78,178,5,5,180,206,5,5,18,220,5,5,219,177,5,5,194,197,5,5,117,202,5,5,171,183,5,5,233,208,5,5,126,181,5,5,209,191,5,5,158,198,5,5,182,246,5,5,233,214,5,5,134,198,5,5,144,195,5,5,50,171,5,5,142,181,5,5,35,236,5,5,212,212,5,5,120,245,5,5,97,236,5,5,74,224,5,5,80,248,5,5,215,173,5,5,11,181,5,5,63,228,5,5,206,236,5,5,170,195,5,5,82,183,5,5,35,182,5,5,104,209,5,5,159,244,5,5,222,196,5,5,29,242,5,5,209,198,5,5,252,227,5,5,253,227,5,5,7,179,5,5,195,244,5,5,185,245,5,5,151,181,5,5,241,183,5,5,180,209,5,5,42,248,5,5,129,200,5,5,166,170,5,5,138,211,5,5,156,213,5,5,146,212,5,5,54,204,5,5,94,212,5,5,144,201,5,5,232,213,5,5,150,171,5,5,233,213,5,5,37,221,5,5,162,243,5,5,4,168,5,5,131,202,5,5,218,204,5,5,14,227,5,5,3,241,5,5,132,202,5,5,206,199,5,5,142,175,5,5,38,199,5,5,220,217,5,5,211,247,5,5,177,199,5,5,36,187,5,5,158,181,5,5,63,210,5,5,22,215,5,5,157,205,5,5,44,229,5,5,5,168,5,5,154,185,5,5,126,232,5,5,36,234,5,5,103,236,5,5,66,180,5,5,149,212,5,5,210,230,5,5,112,201,5,5,67,189,5,5,43,223,5,5,182,231,5,5,237,215,5,5,223,216,5,5,248,228,5,5,14,216,5,5,38,239,5,5,40,199,5,5,9,233,5,5,24,218,5,5,98,173,5,5,48,201,5,5,35,189,5,5,174,241,5,5,10,233,5,5,186,231,5,5,61,207,5,5,150,206,5,5,242,240,5,5,218,173,5,5,230,173,5,5,7,230,5,5,136,204,5,5,178,240,5,5,52,207,5,5,25,218,5,5,224,236,5,5,29,220,5,5,85,200,5,5,57,242,5,5,241,174,5,5,24,190,5,5,118,205,5,5,28,174,5,5,220,193,5,5,160,211,5,5,157,223,5,5,223,248,5,5,42,199,5,5,168,212,5,5,67,236,5,5,159,248,5,5,54,199,5,5,108,174,5,5,147,214,5,5,153,249,5,5,213,216,5,5,226,203,5,5,31,198,5,5,160,171,5,5,5,180,5,5,242,208,5,5,138,179,5,5,158,193,5,5,225,188,5,5,170,205,5,5,11,168,5,5,84,224,5,5,30,218,5,5,232,201,5,5,155,169,5,5,238,239,5,5,226,180,5,5,97,230,5,5,148,214,5,5,93,206,5,5,133,228,5,5,94,179,5,5,68,210,5,5,191,169,5,5,244,214,5,5,29,174,5,5,72,219,5,5,116,236,5,5,209,179,5,5,7,180,5,5,128,180,5,5,6,228,5,5,104,195,5,5,64,240,5,5,193,170,5,5,10,199,5,5,116,170,5,5,105,229,5,5,49,223,5,5,208,245,5,5,198,180,5,5,193,231,5,5,90,178,5,5,10,226,5,5,88,210,5,5,199,212,5,5,234,193,5,5,54,179,5,5,79,225,5,5,227,172,5,5,100,226,5,5,248,214,5,5,19,181,5,5,98,183,5,5,80,235,5,5,36,218,5,5,37,218,5,5,186,206,5,5,225,185,5,5,209,210,5,5,22,224,5,5,115,181,5,5,116,176,5,5,152,204,5,5,89,223,5,5,118,225,5,5,76,169,5,5,42,190,5,5,228,212,5,5,64,229,5,5,199,219,5,5,193,201,5,5,75,177,5,5,102,226,5,5,195,231,5,5,252,230,5,5,3,203,5,5,18,212,5,5,11,229,5,5,110,243,5,5,212,180,5,5,139,245,5,5,228,198,5,5,131,200,5,5,87,248,5,5,162,237,5,5,135,187,5,5,90,248,5,5,38,173,5,5,253,214,5,5,118,168,5,5,155,212,5,5,199,204,5,5,129,205,5,5,153,198,5,5,249,175,5,5,32,174,5,5,16,240,5,5,195,201,5,5,251,170,5,5,254,214,5,5,70,209,5,5,255,214,5,5,21,177,5,5,121,249,5,5,217,216,5,5,86,176,5,5,89,206,5,5,62,192,5,5,142,220,5,5,95,201,5,5,149,217,5,5,111,244,5,5,194,178,5,5,65,194,5,5,146,231,5,5,242,203,5,5,12,180,5,5,47,225,5,5,216,190,5,5,20,212,5,5,167,243,5,5,2,216,5,5,212,178,5,5,180,202,5,5,66,194,5,5,179,194,5,5,16,231,5,5,46,245,5,5,30,216,5,5,252,180,5,5,245,193,5,5,106,242,5,5,169,248,5,5,207,188,5,5,14,199,5,5,72,244,5,5,163,201,5,5,116,195,5,5,152,175,5,5,48,238,5,5,41,218,5,5,99,178,5,5,212,238,5,5,107,194,5,5,237,212,5,5,238,212,5,5,111,242,5,5,127,213,5,5,200,181,5,5,29,168,5,5,234,198,5,5,184,193,5,5,112,242,5,5,76,219,5,5,8,208,5,5,96,212,5,5,127,176,5,5,224,171,5,5,100,237,5,5,205,206,5,5,43,172,5,5,60,232,5,5,221,199,5,5,168,201,5,5,203,201,5,5,58,247,5,5,197,202,5,5,205,202,5,5,104,182,5,5,44,218,5,5,97,212,5,5,99,240,5,5,210,202,5,5,246,204,5,5,247,204,5,5,140,209,5,5,234,171,5,5,250,222,5,5,240,186,5,5,241,200,5,5,44,172,5,5,136,236,5,5,7,222,5,5,2,222,5,5,62,202,5,5,180,218,5,5,242,220,5,5,13,243,5,5,113,223,5,5,98,214,5,5,175,224,5,5,193,206,5,5,152,233,5,5,117,237,5,5,234,231,5,5,110,214,5,5,111,214,5,5,175,246,5,5,233,169,5,5,222,180,5,5,115,247,5,5,160,218,5,5,68,238,5,5,217,221,5,5,101,241,5,5,221,246,5,5,143,226,5,5,233,183,5,5,86,184,5,5,99,208,5,5,209,249,5,5,93,246,5,5,40,224,5,5,201,207,5,5,40,250,5,5,101,217,5,5,243,189,5,5,39,248,5,5,63,221,5,5,75,224,5,5,106,176,5,5,250,172,5,5,43,208,5,5,240,205,5,5,235,241,5,5,194,232,5,5,62,230,5,5,136,226,5,5,110,213,5,5,43,248,5,5,82,187,5,5,181,231,5,5,101,246,5,5,229,192,5,5,75,185,5,5,186,245,5,5,76,185,5,5,17,223,5,5,229,195,5,5,97,221,5,5,158,184,5,5,84,200,5,5,35,179,5,5,119,178,5,5,216,191,5,5,191,225,5,5,144,214,5,5,131,186,5,5,225,186,5,5,242,249,5,5,75,204,5,5,164,205,5,5,116,171,5,5,235,195,5,5,120,178,5,5,137,246,5,5,163,205,5,5,22,173,5,5,89,170,5,5,154,245,5,5,22,191,5,5,78,241,5,5,131,231,5,5,197,239,5,5,28,249,5,5,222,191,5,5,200,245,5,5,9,184,5,5,246,242,5,5,66,230,5,5,82,232,5,5,68,237,5,5,110,246,5,5,81,238,5,5,163,207,5,5,73,223,5,5,47,179,5,5,192,169,5,5,229,248,5,5,209,245,5,5,251,240,5,5,245,192,5,5,79,185,5,5,115,225,5,5,79,223,5,5,202,206,5,5,203,224,5,5,112,184,5,5,23,235,5,5,162,214,5,5,107,242,5,5,91,231,5,5,56,192,5,5,138,223,5,5,39,173,5,5,40,178,5,5,115,187,5,5,94,224,5,5,82,202,5,5,109,211,5,5,58,208,5,5,132,178,5,5,188,202,5,5,84,218,5,5,44,243,5,5,34,226,5,5,233,243,5,5,226,201,5,5,241,218,5,5,231,241,5,5,146,241,5,5,248,201,5,5,169,233,5,5,121,216,5,5,153,188,5,5,77,227,5,5,118,234,5,5,59,223,5,5,124,218,5,5,78,227,5,5,65,249,5,5,215,172,5,5,218,184,5,5,2,239,5,5,235,231,5,5,104,171,5,5,191,210,5,5,9,217,5,5,10,217,5,5,98,247,5,5,57,183,5,5,116,188,5,5,76,243,5,5,205,198,5,5,188,208,5,5,94,246,5,5,14,196,5,5,33,170,5,5,95,246,5,5,23,242,5,5,101,208,5,5,107,199,5,5,39,169,5,5,214,212,5,5,126,210,5,5,133,202,5,5,37,241,5,5,187,249,5,5,215,212,5,5,188,171,5,5,55,204,5,5,105,209,5,5,144,174,5,5,193,210,5,5,113,216,5,5,32,237,5,5,22,250,5,5,229,246,5,5,102,246,5,5,157,222,5,5,72,197,5,5,68,249,5,5,196,191,5,5,16,192,5,5,58,174,5,5,17,227,5,5,243,246,5,5,197,191,5,5,181,188,5,5,184,239,5,5,13,249,5,5,244,246,5,5,33,195,5,5,135,218,5,5,172,180,5,5,139,238,5,5,212,247,5,5,82,191,5,5,100,211,5,5,102,184,5,5,222,230,5,5,56,185,5,5,49,201,5,5,183,183,5,5,216,235,5,5,18,223,5,5,241,205,5,5,86,200,5,5,224,184,5,5,27,196,5,5,2,226,5,5,116,174,5,5,107,227,5,5,195,220,5,5,19,223,5,5,46,236,5,5,94,206,5,5,171,205,5,5,134,186,5,5,27,250,5,5,137,218,5,5,186,248,5,5,73,169,5,5,249,168,5,5,33,192,5,5,111,246,5,5,12,247,5,5,89,200,5,5,233,201,5,5,169,212,5,5,220,198,5,5,117,171,5,5,65,175,5,5,243,249,5,5,66,242,5,5,225,223,5,5,60,206,5,5,174,232,5,5,84,238,5,5,138,231,5,5,194,170,5,5,246,192,5,5,20,184,5,5,48,213,5,5,178,211,5,5,48,195,5,5,108,247,5,5,112,249,5,5,193,234,5,5,67,174,5,5,142,178,5,5,194,229,5,5,50,232,5,5,35,249,5,5,88,242,5,5,253,192,5,5,246,234,5,5,239,245,5,5,31,247,5,5,146,178,5,5,121,193,5,5,46,192,5,5,62,185,5,5,63,185,5,5,108,186,5,5,216,218,5,5,88,224,5,5,239,218,5,5,5,193,5,5,166,198,5,5,211,209,5,5,98,172,5,5,172,207,5,5,49,247,5,5,247,192,5,5,191,205,5,5,227,223,5,5,57,192,5,5,170,240,5,5,195,229,5,5,20,217,5,5,249,219,5,5,230,188,5,5,115,239,5,5,217,190,5,5,85,216,5,5,187,192,5,5,95,224,5,5,32,233,5,5,27,214,5,5,180,194,5,5,197,248,5,5,110,247,5,5,255,249,5,5,254,205,5,5,96,224,5,5,111,211,5,5,253,219,5,5,132,191,5,5,78,218,5,5,185,211,5,5,113,242,5,5,128,213,5,5,21,193,5,5,175,227,5,5,196,229,5,5,79,174,5,5,231,191,5,5,222,199,5,5,2,206,5,5,10,171,5,5,255,219,5,5,86,218,5,5,198,248,5,5,56,202,5,5,2,177,5,5,98,235,5,5,42,228,5,5,149,196,5,5,228,216,5,5,179,230,5,5,229,216,5,5,48,199,5,5,118,241,5,5,31,221,5,5,56,196,5,5,200,237,5,5,205,175,5,5,176,248,5,5,80,227,5,5,81,201,5,5,70,216,5,5,192,244,5,5,186,237,5,5,188,170,5,5,96,169,5,5,187,237,5,5,112,171,5,5,48,228,5,5,242,247,5,5,253,194,5,5,45,216,5,5,155,179,5,5,35,230,5,5,37,187,5,5,136,237,5,5,245,246,5,5,235,175,5,5,205,237,5,5,165,226,5,5,4,195,5,5,236,175,5,5,135,196,5,5,11,233,5,5,109,174,5,5,79,199,5,5,3,177,5,5,238,229,5,5,29,178,5,5,98,199,5,5,221,198,5,5,224,248,5,5,160,234,5,5,226,223,5,5,193,186,5,5,230,199,5,5,104,180,5,5,251,248,5,5,140,235,5,5,239,229,5,5,55,228,5,5,47,236,5,5,191,241,5,5,99,197,5,5,248,216,5,5,163,237,5,5,164,237,5,5,168,226,5,5,195,173,5,5,251,241,5,5,103,226,5,5,170,179,5,5,111,197,5,5,169,203,5,5,7,231,5,5,155,230,5,5,232,199,5,5,241,175,5,5,79,245,5,5,166,199,5,5,167,199,5,5,230,204,5,5,77,174,5,5,52,177,5,5,137,203,5,5,36,244,5,5,8,177,5,5,55,216,5,5,255,216,5,5,109,180,5,5,40,244,5,5,16,205,5,5,90,216,5,5,94,202,5,5,157,175,5,5,207,221,5,5,81,184,5,5,42,215,5,5,164,175,5,5,59,189,5,5,115,214,5,5,91,188,5,5,125,221,5,5,2,183,5,5,197,222,5,5,199,208,5,5,172,217,5,5,254,244,5,5,44,248,5,5,56,204,5,5,219,204,5,5,133,171,5,5,85,196,5,5,93,196,5,5,20,245,5,5,237,168,5,5,130,223,5,5,58,198,5,5,72,189,5,5,19,227,5,5,167,223,5,5,96,196,5,5,163,179,5,5,70,239,5,5,210,222,5,5,91,196,5,5,175,217,5,5,105,195,5,5,159,213,5,5,185,180,5,5,21,202,5,5,98,248,5,5,195,172,5,5,179,178,5,5,62,177,5,5,76,228,5,5,111,196,5,5,146,198,5,5,112,196,5,5,235,247,5,5,237,247,5,5,143,201,5,5,159,212,5,5,147,241,5,5,184,174,5,5,201,184,5,5,44,207,5,5,239,247,5,5,102,228,5,5,156,180,5,5,17,192,5,5,203,194,5,5,177,168,5,5,41,224,5,5,115,192,5,5,146,216,5,5,95,245,5,5,120,224,5,5,255,235,5,5,152,248,5,5,184,242,5,5,244,189,5,5,75,188,5,5,78,233,5,5,187,172,5,5,70,170,5,5,35,170,5,5,207,193,5,5,195,238,5,5,33,180,5,5,90,220,5,5,129,221,5,5,112,177,5,5,225,178,5,5,244,247,5,5,237,209,5,5,155,174,5,5,55,186,5,5,139,202,5,5,76,216,5,5,6,209,5,5,88,169,5,5,145,226,5,5,127,223,5,5,249,183,5,5,169,172,5,5,227,169,5,5,36,182,5,5,135,177,5,5,72,249,5,5,36,179,5,5,65,204,5,5,53,244,5,5,133,211,5,5,250,183,5,5,15,186,5,5,86,182,5,5,55,193,5,5,223,184,5,5,128,182,5,5,250,221,5,5,100,207,5,5,222,213,5,5,73,226,5,5,142,193,5,5,232,216,5,5,220,204,5,5,7,209,5,5,167,170,5,5,151,206,5,5,103,187,5,5,108,217,5,5,189,174,5,5,193,239,5,5,206,237,5,5,78,232,5,5,39,170,5,5,233,216,5,5,102,200,5,5,185,178,5,5,58,233,5,5,181,195,5,5,224,217,5,5,122,224,5,5,20,219,5,5,38,182,5,5,178,199,5,5,51,248,5,5,46,227,5,5,27,192,5,5,137,177,5,5,80,188,5,5,175,172,5,5,124,247,5,5,80,199,5,5,177,200,5,5,90,170,5,5,58,220,5,5,54,178,5,5,43,246,5,5,177,172,5,5,186,183,5,5,86,243,5,5,112,227,5,5,233,211,5,5,11,202,5,5,51,201,5,5,40,197,5,5,208,186,5,5,227,193,5,5,8,188,5,5,21,227,5,5,191,231,5,5,13,247,5,5,117,174,5,5,42,224,5,5,59,222,5,5,57,248,5,5,28,250,5,5,63,233,5,5,197,220,5,5,222,226,5,5,178,172,5,5,109,236,5,5,78,185,5,5,144,199,5,5,209,184,5,5,66,175,5,5,179,199,5,5,28,185,5,5,87,243,5,5,197,211,5,5,63,215,5,5,64,233,5,5,228,193,5,5,248,213,5,5,179,200,5,5,171,249,5,5,41,170,5,5,117,170,5,5,118,170,5,5,156,185,5,5,237,224,5,5,180,186,5,5,126,241,5,5,163,193,5,5,143,178,5,5,65,186,5,5,195,174,5,5,50,246,5,5,214,216,5,5,53,220,5,5,168,247,5,5,178,205,5,5,209,171,5,5,39,192,5,5,227,203,5,5,44,224,5,5,60,198,5,5,21,184,5,5,151,244,5,5,66,186,5,5,55,199,5,5,111,215,5,5,70,215,5,5,61,198,5,5,20,176,5,5,209,186,5,5,160,242,5,5,181,172,5,5,198,249,5,5,237,171,5,5,61,244,5,5,80,216,5,5,37,228,5,5,112,206,5,5,230,177,5,5,20,233,5,5,119,219,5,5,50,194,5,5,24,235,5,5,174,170,5,5,125,224,5,5,176,232,5,5,85,232,5,5,195,213,5,5,211,245,5,5,14,234,5,5,194,189,5,5,160,238,5,5,61,248,5,5,3,243,5,5,34,176,5,5,16,206,5,5,41,230,5,5,47,180,5,5,50,223,5,5,147,192,5,5,96,195,5,5,211,190,5,5,15,234,5,5,213,207,5,5,135,182,5,5,218,175,5,5,109,248,5,5,62,213,5,5,100,183,5,5,247,247,5,5,212,190,5,5,83,216,5,5,115,189,5,5,17,217,5,5,192,208,5,5,163,215,5,5,68,186,5,5,34,200,5,5,88,222,5,5,56,205,5,5,94,243,5,5,203,188,5,5,122,225,5,5,36,243,5,5,48,175,5,5,45,185,5,5,217,182,5,5,120,219,5,5,52,246,5,5,3,186,5,5,17,211,5,5,165,215,5,5,67,233,5,5,6,177,5,5,10,205,5,5,177,212,5,5,164,180,5,5,173,202,5,5,133,170,5,5,235,248,5,5,127,175,5,5,60,220,5,5,200,174,5,5,66,248,5,5,198,215,5,5,231,204,5,5,221,200,5,5,173,193,5,5,36,172,5,5,29,202,5,5,127,191,5,5,134,170,5,5,239,178,5,5,179,176,5,5,77,236,5,5,178,212,5,5,99,172,5,5,111,248,5,5,16,213,5,5,105,213,5,5,81,180,5,5,114,242,5,5,217,208,5,5,154,227,5,5,71,244,5,5,61,220,5,5,116,187,5,5,170,238,5,5,8,190,5,5,87,173,5,5,85,199,5,5,238,176,5,5,200,213,5,5,34,244,5,5,63,192,5,5,90,187,5,5,29,224,5,5,57,205,5,5,183,172,5,5,197,205,5,5,211,210,5,5,142,224,5,5,7,177,5,5,145,179,5,5,143,224,5,5,148,201,5,5,202,180,5,5,111,203,5,5,33,233,5,5,225,171,5,5,126,208,5,5,62,220,5,5,100,178,5,5,141,203,5,5,241,177,5,5,124,179,5,5,70,184,5,5,246,193,5,5,19,209,5,5,41,200,5,5,205,177,5,5,184,194,5,5,180,178,5,5,219,190,5,5,126,224,5,5,96,201,5,5,199,243,5,5,40,233,5,5,204,205,5,5,82,222,5,5,200,243,5,5,7,215,5,5,247,211,5,5,173,214,5,5,248,211,5,5,230,184,5,5,117,197,5,5,205,205,5,5,199,205,5,5,128,236,5,5,238,171,5,5,60,178,5,5,165,219,5,5,73,248,5,5,4,186,5,5,80,215,5,5,23,203,5,5,38,172,5,5,196,247,5,5,199,200,5,5,89,222,5,5,236,200,5,5,43,200,5,5,214,241,5,5,39,243,5,5,108,188,5,5,219,245,5,5,247,224,5,5,71,226,5,5,29,211,5,5,82,175,5,5,161,192,5,5,176,238,5,5,183,214,5,5,234,225,5,5,117,248,5,5,198,247,5,5,70,182,5,5,219,223,5,5,197,247,5,5,172,215,5,5,248,248,5,5,236,225,5,5,214,205,5,5,102,205,5,5,3,194,5,5,39,228,5,5,156,240,5,5,127,242,5,5,204,200,5,5,250,204,5,5,91,216,5,5,28,203,5,5,245,200,5,5,87,215,5,5,46,243,5,5,96,247,5,5,162,217,5,5,29,203,5,5,185,170,5,5,206,180,5,5,222,249,5,5,57,202,5,5,102,223,5,5,129,206,5,5,158,240,5,5,48,243,5,5,250,248,5,5,137,242,5,5,73,208,5,5,217,178,5,5,81,182,5,5,23,221,5,5,121,245,5,5,32,221,5,5,145,211,5,5,167,188,5,5,212,201,5,5,238,231,5,5,69,249,5,5,123,210,5,5,71,177,5,5,54,245,5,5,47,215,5,5,183,244,5,5,36,170,5,5,23,169,5,5,134,230,5,5,22,220,5,5,159,198,5,5,243,218,5,5,51,183,5,5,71,170,5,5,32,177,5,5,46,240,5,5,125,245,5,5,82,208,5,5,9,225,5,5,245,189,5,5,178,168,5,5,140,202,5,5,204,184,5,5,80,197,5,5,235,213,5,5,109,209,5,5,217,176,5,5,204,244,5,5,185,247,5,5,156,174,5,5,248,223,5,5,171,226,5,5,141,202,5,5,223,230,5,5,251,223,5,5,73,189,5,5,20,227,5,5,23,249,5,5,170,172,5,5,27,243,5,5,146,247,5,5,224,203,5,5,128,248,5,5,238,168,5,5,76,201,5,5,60,183,5,5,232,181,5,5,109,217,5,5,187,188,5,5,77,203,5,5,133,232,5,5,10,184,5,5,78,203,5,5,105,172,5,5,31,196,5,5,75,202,5,5,30,243,5,5,179,205,5,5,15,197,5,5,154,214,5,5,46,177,5,5,250,168,5,5,28,245,5,5,228,203,5,5,154,249,5,5,34,196,5,5,188,187,5,5,26,190,5,5,178,219,5,5,179,219,5,5,119,225,5,5,196,170,5,5,251,218,5,5,171,208,5,5,116,189,5,5,195,234,5,5,155,249,5,5,195,189,5,5,51,194,5,5,198,243,5,5,119,176,5,5,23,202,5,5,192,233,5,5,195,183,5,5,181,211,5,5,203,169,5,5,110,186,5,5,117,234,5,5,46,185,5,5,123,225,5,5,85,217,5,5,68,193,5,5,136,172,5,5,132,248,5,5,126,225,5,5,54,208,5,5,181,219,5,5,65,183,5,5,7,244,5,5,167,198,5,5,143,194,5,5,71,209,5,5,182,219,5,5,183,219,5,5,184,211,5,5,22,231,5,5,84,203,5,5,145,194,5,5,154,199,5,5,241,171,5,5,135,190,5,5,180,222,5,5,160,249,5,5,155,232,5,5,186,211,5,5,157,227,5,5,34,211,5,5,206,202,5,5,50,250,5,5,246,178,5,5,35,211,5,5,175,226,5,5,32,201,5,5,92,208,5,5,58,223,5,5,150,196,5,5,107,231,5,5,209,185,5,5,58,246,5,5,152,196,5,5,93,241,5,5,211,192,5,5,240,172,5,5,179,247,5,5,171,235,5,5,2,243,5,5,60,189,5,5,120,241,5,5,168,188,5,5,103,228,5,5,161,218,5,5,191,229,5,5,165,229,5,5,51,217,5,5,234,209,5,5,8,249,5,5,68,227,5,5,91,211,5,5,151,183,5,5,217,192,5,5,129,222,5,5,45,176,5,5,216,212,5,5,255,245,5,5,23,220,5,5,64,189,5,5,187,246,5,5,116,192,5,5,5,183,5,5,79,243,5,5,163,218,5,5,251,177,5,5,177,195,5,5,242,223,5,5,168,182,5,5,150,224,5,5,33,177,5,5,176,196,5,5,154,243,5,5,226,168,5,5,192,195,5,5,179,183,5,5,246,246,5,5,79,214,5,5,76,249,5,5,57,175,5,5,68,189,5,5,155,243,5,5,215,201,5,5,121,231,5,5,251,183,5,5,170,233,5,5,42,221,5,5,155,171,5,5,46,248,5,5,105,217,5,5,66,204,5,5,47,248,5,5,220,220,5,5,242,184,5,5,88,237,5,5,252,183,5,5,2,228,5,5,232,245,5,5,190,177,5,5,170,175,5,5,176,221,5,5,83,247,5,5,30,232,5,5,211,249,5,5,119,196,5,5,41,169,5,5,143,217,5,5,110,209,5,5,203,222,5,5,238,249,5,5,208,199,5,5,24,196,5,5,168,218,5,5,81,188,5,5,175,233,5,5,88,195,5,5,215,247,5,5,62,175,5,5,170,186,5,5,239,168,5,5,216,197,5,5,209,199,5,5,185,189,5,5,147,176,5,5,117,190,5,5,176,185,5,5,160,225,5,5,89,195,5,5,112,199,5,5,210,194,5,5,225,217,5,5,166,184,5,5,152,206,5,5,76,235,5,5,237,169,5,5,129,232,5,5,6,184,5,5,158,185,5,5,69,180,5,5,204,218,5,5,172,226,5,5,194,239,5,5,188,201,5,5,176,233,5,5,160,197,5,5,229,234,5,5,159,184,5,5,198,179,5,5,47,227,5,5,69,223,5,5,135,194,5,5,195,232,5,5,86,191,5,5,217,197,5,5,138,246,5,5,229,193,5,5,164,197,5,5,163,174,5,5,163,208,5,5,7,246,5,5,244,205,5,5,118,174,5,5,70,217,5,5,143,222,5,5,60,169,5,5,48,227,5,5,16,233,5,5,119,190,5,5,100,216,5,5,194,185,5,5,116,234,5,5,9,226,5,5,74,227,5,5,124,233,5,5,78,189,5,5,132,231,5,5,11,184,5,5,206,226,5,5,57,224,5,5,227,180,5,5,90,200,5,5,187,183,5,5,32,196,5,5,251,189,5,5,112,246,5,5,110,236,5,5,137,196,5,5,127,183,5,5,237,192,5,5,234,234,5,5,138,218,5,5,113,249,5,5,243,173,5,5,63,181,5,5,167,202,5,5,13,206,5,5,80,203,5,5,70,175,5,5,4,218,5,5,222,220,5,5,155,214,5,5,156,214,5,5,184,248,5,5,157,214,5,5,134,228,5,5,159,215,5,5,139,232,5,5,110,222,5,5,6,229,5,5,213,214,5,5,193,225,5,5,135,228,5,5,19,185,5,5,185,228,5,5,243,169,5,5,162,248,5,5,65,172,5,5,189,187,5,5,47,177,5,5,85,206,5,5,186,204,5,5,214,214,5,5,7,245,5,5,119,170,5,5,81,176,5,5,85,204,5,5,136,208,5,5,87,214,5,5,81,216,5,5,101,226,5,5,114,249,5,5,133,187,5,5,172,249,5,5,241,230,5,5,36,249,5,5,57,234,5,5,93,203,5,5,203,195,5,5,191,182,5,5,80,219,5,5,244,208,5,5,80,242,5,5,143,249,5,5,90,182,5,5,14,206,5,5,242,234,5,5,69,240,5,5,186,220,5,5,6,215,5,5,247,234,5,5,177,232,5,5,166,193,5,5,11,199,5,5,142,232,5,5,73,219,5,5,137,208,5,5,47,192,5,5,200,180,5,5,34,175,5,5,60,179,5,5,245,208,5,5,183,208,5,5,210,242,5,5,186,233,5,5,117,169,5,5,90,223,5,5,18,217,5,5,175,170,5,5,143,190,5,5,179,185,5,5,175,176,5,5,166,208,5,5,111,229,5,5,116,184,5,5,67,229,5,5,64,227,5,5,255,185,5,5,193,208,5,5,130,233,5,5,60,203,5,5,116,249,5,5,219,170,5,5,132,243,5,5,203,239,5,5,14,226,5,5,152,186,5,5,40,247,5,5,133,243,5,5,71,174,5,5,36,173,5,5,200,177,5,5,196,231,5,5,211,242,5,5,144,249,5,5,169,234,5,5,139,221,5,5,221,228,5,5,180,185,5,5,25,235,5,5,136,240,5,5,248,195,5,5,116,239,5,5,164,248,5,5,184,210,5,5,56,169,5,5,109,186,5,5,19,212,5,5,194,247,5,5,174,193,5,5,97,176,5,5,238,217,5,5,7,223,5,5,135,243,5,5,198,231,5,5,22,177,5,5,8,231,5,5,217,218,5,5,171,225,5,5,123,184,5,5,95,243,5,5,247,173,5,5,65,185,5,5,58,219,5,5,199,189,5,5,196,243,5,5,228,225,5,5,146,232,5,5,26,224,5,5,241,245,5,5,157,249,5,5,172,225,5,5,242,190,5,5,71,172,5,5,135,170,5,5,145,183,5,5,239,176,5,5,30,202,5,5,144,224,5,5,177,236,5,5,94,231,5,5,159,249,5,5,162,201,5,5,170,197,5,5,168,215,5,5,29,207,5,5,152,246,5,5,255,205,5,5,212,209,5,5,106,213,5,5,10,203,5,5,55,208,5,5,85,235,5,5,146,249,5,5,64,192,5,5,101,220,5,5,97,224,5,5,98,182,5,5,19,206,5,5,250,169,5,5,91,238,5,5,213,219,5,5,159,209,5,5,166,237,5,5,228,215,5,5,170,191,5,5,3,232,5,5,11,193,5,5,57,220,5,5,133,234,5,5,68,218,5,5,86,235,5,5,101,224,5,5,5,216,5,5,113,244,5,5,32,250,5,5,118,246,5,5,145,220,5,5,184,219,5,5,244,203,5,5,115,242,5,5,65,182,5,5,142,203,5,5,87,176,5,5,8,250,5,5,71,194,5,5,113,218,5,5,89,173,5,5,85,219,5,5,134,234,5,5,133,191,5,5,73,190,5,5,218,249,5,5,23,231,5,5,230,215,5,5,146,243,5,5,161,177,5,5,141,221,5,5,136,191,5,5,150,231,5,5,254,219,5,5,247,193,5,5,109,194,5,5,136,190,5,5,20,244,5,5,183,176,5,5,205,233,5,5,240,194,5,5,150,170,5,5,46,178,5,5,140,239,5,5,115,211,5,5,102,224,5,5,141,239,5,5,64,220,5,5,174,234,5,5,26,193,5,5,75,171,5,5,139,215,5,5,237,200,5,5,30,214,5,5,157,235,5,5,220,249,5,5,184,214,5,5,186,212,5,5,222,237,5,5,141,209,5,5,224,201,5,5,141,233,5,5,221,249,5,5,223,199,5,5,22,241,5,5,252,234,5,5,169,201,5,5,11,232,5,5,54,173,5,5,243,194,5,5,103,205,5,5,55,173,5,5,103,240,5,5,54,172,5,5,94,218,5,5,15,232,5,5,231,249,5,5,223,249,5,5,164,206,5,5,58,202,5,5,155,178,5,5,21,201,5,5,181,201,5,5,69,203,5,5,55,223,5,5,146,196,5,5,115,241,5,5,45,189,5,5,170,247,5,5,229,231,5,5,86,185,5,5,255,242,5,5,101,192,5,5,96,228,5,5,197,199,5,5,196,192,5,5,150,218,5,5,26,229,5,5,71,243,5,5,50,189,5,5,41,176,5,5,205,212,5,5,14,220,5,5,3,185,5,5,229,209,5,5,154,218,5,5,148,249,5,5,71,206,5,5,251,182,5,5,171,246,5,5,160,229,5,5,161,182,5,5,27,248,5,5,246,245,5,5,88,211,5,5,119,222,5,5,109,232,5,5,238,184,5,5,153,233,5,5,220,183,5,5,45,203,5,5,205,249,5,5,24,221,5,5,113,231,5,5,90,246,5,5,76,247,5,5,175,247,5,5,37,169,5,5,221,183,5,5,160,175,5,5,216,220,5,5,3,239,5,5,11,196,5,5,176,177,5,5,59,169,5,5,194,218,5,5,73,195,5,5,105,199,5,5,111,218,5,5,185,179,5,5,73,188,5,5,72,191,5,5,157,185,5,5,68,235,5,5,132,194,5,5,145,206,5,5,195,197,5,5,198,194,5,5,43,227,5,5,190,185,5,5,252,232,5,5,154,197,5,5,122,234,5,5,120,231,5,5,62,224,5,5,158,225,5,5,218,192,5,5,250,225,5,5,20,192,5,5,221,234,5,5,67,204,5,5,59,240,5,5,222,234,5,5,210,214,5,5,184,182,5,5,77,176,5,5,185,220,5,5,127,187,5,5,138,221,5,5,249,228,5,5,133,208,5,5,104,222,5,5,236,169,5,5,58,175,5,5,189,225,5,5,183,204,5,5,3,218,5,5,99,249,5,5,2,245,5,5,122,228,5,5,8,206,5,5,154,248,5,5,14,249,5,5,6,199,5,5,170,232,5,5,149,193,5,5,161,208,5,5,255,200,5,5,3,226,5,5,191,208,5,5,28,192,5,5,51,243,5,5,87,191,5,5,70,223,5,5,58,181,5,5,192,180,5,5,215,170,5,5,130,232,5,5,251,185,5,5,157,248,5,5,142,190,5,5,44,179,5,5,245,205,5,5,170,170,5,5,239,208,5,5,193,242,5,5,236,195,5,5,109,184,5,5,54,219,5,5,238,245,5,5,140,183,5,5,13,177,5,5,58,185,5,5,25,173,5,5,12,202,5,5,71,239,5,5,159,193,5,5,58,171,5,5,90,213,5,5,22,207,5,5,157,201,5,5,70,240,5,5,140,224,5,5,154,209,5,5,211,219,5,5,131,233,5,5,130,203,5,5,135,220,5,5,106,244,5,5,100,194,5,5,138,215,5,5,255,215,5,5,128,190,5,5,234,194,5,5,219,249,5,5,153,183,5,5,154,233,5,5,9,185,5,5,156,183,5,5,13,218,5,5,157,183,5,5,5,215,5,5,156,171,5,5,187,213,5,5,225,232,5,5,111,245,5,5,20,185,5,5,71,240,5,5,76,240,5,5,220,216,5,5,220,231,5,5,232,186,5,5,9,250,5,5,49,225,5,5,78,174,5,5,2,215,5,5,227,229,5,5,94,240,5,5,170,201,5,5,56,225,5,5,104,205,5,5,242,186,5,5,173,228,5,5,172,228,5,5,253,184,5,5,177,228,5,5,16,188,5,5,103,206,5,5,99,206,5,5,234,183,5,5,25,221,5,5,31,182,5,5,53,186,5,5,9,248,5,5,223,196,5,5,76,207,5,5,83,186,5,5,234,208,5,5,12,185,5,5,212,168,5,5,169,186,5,5,4,226,5,5,161,197,5,5,7,184,5,5,104,221,5,5,168,236,5,5,101,245,5,5,244,249,5,5,171,186,5,5,225,248,5,5,67,242,5,5,14,247,5,5,70,168,5,5,40,182,5,5,4,201,5,5,170,222,5,5,80,223,5,5,11,213,5,5,203,206,5,5,188,204,5,5,217,168,5,5,42,182,5,5,31,202,5,5,196,173,5,5,116,229,5,5,126,170,5,5,12,193,5,5,112,244,5,5,25,175,5,5,192,204,5,5,65,192,5,5,171,197,5,5,127,208,5,5,110,245,5,5,116,206,5,5,20,213,5,5,83,192,5,5,89,192,5,5,43,206,5,5,39,237,5,5,77,208,5,5,174,215,5,5,129,177,5,5,183,207,5,5,55,237,5,5,71,241,5,5,68,241,5,5,25,183,5,5,179,168,5,5,33,185,5,5,104,237,5,5,84,186,5,5,180,215,5,5,239,243,5,5,34,185,5,5,68,204,5,5,39,239,5,5,48,248,5,5,206,178,5,5,94,234,5,5,224,215,5,5,143,238,5,5,131,232,5,5,205,218,5,5,52,218,5,5,53,218,5,5,226,215,5,5,120,190,5,5,137,224,5,5,134,232,5,5,72,239,5,5,110,237,5,5,196,215,5,5,115,215,5,5,195,241,5,5,181,185,5,5,109,195,5,5,89,225,5,5,216,242,5,5,9,231,5,5,100,182,5,5,104,220,5,5,44,183,5,5,105,220,5,5,42,203,5,5,167,201,5,5,183,185,5,5,121,211,5,5,235,215,5,5,103,173,5,5,226,241,5,5,241,185,5,5,15,239,5,5,17,175,5,5,208,229,5,5,6,183,5,5,65,189,5,5,234,174,5,5,235,174,5,5,34,177,5,5,253,183,5,5,183,231,5,5,219,169,5,5,40,239,5,5,123,200,5,5,41,239,5,5,219,212,5,5,69,204,5,5,195,204,5,5,247,246,5,5,144,217,5,5,47,231,5,5,119,233,5,5,196,232,5,5,224,230,5,5,225,230,5,5,238,198,5,5,47,216,5,5,88,191,5,5,16,191,5,5,12,233,5,5,52,220,5,5,79,189,5,5,95,194,5,5,233,178,5,5,48,177,5,5,214,182,5,5,144,178,5,5,54,220,5,5,251,174,5,5,62,248,5,5,236,193,5,5,26,235,5,5,2,175,5,5,63,213,5,5,117,249,5,5,110,228,5,5,30,191,5,5,117,189,5,5,204,188,5,5,231,188,5,5,55,188,5,5,119,168,5,5,93,213,5,5,128,239,5,5,11,203,5,5,119,189,5,5,122,168,5,5,245,203,5,5,140,212,5,5,56,216,5,5,125,168,5,5,66,182,5,5,129,239,5,5,137,191,5,5,36,235,5,5,152,178,5,5,221,237,5,5,103,201,5,5,102,201,5,5,188,198,5,5,111,207,5,5,151,245,5,5,119,214,5,5,13,186,5,5,16,186,5,5,14,186,5,5,189,179,5,5,199,179,5,5,219,181,5,5,227,222,5,5,67,219,5,5,8,210,5,5,9,210,5,5,181,180,5,5,184,201,5,5,201,226,5,5,70,249,5,5,172,185,5,5,209,173,5,5,121,188,5,5,80,243,5,5,213,168,5,5,220,212,5,5,140,238,5,5,128,223,5,5,184,217,5,5,56,193,5,5,81,197,5,5,186,191,5,5,118,175,5,5,123,201,5,5,95,206,5,5,140,192,5,5,87,225,5,5,217,211,5,5,40,205,5,5,124,211,5,5,122,194,5,5,65,212,5,5,152,244,5,5,42,205,5,5,69,192,5,5,130,201,5,5,235,191,5,5,23,241,5,5,142,209,5,5,87,190,5,5,245,181,5,5,241,238,5,5,233,179,5,5,234,237,5,5,110,177,5,5,166,223,5,5,114,216,5,5,81,243,5,5,212,174,5,5,220,177,5,5,221,177,5,5,66,189,5,5,191,185,5,5,128,246,5,5,36,212,5,5,251,210,5,5,223,177,5,5,233,245,5,5,228,173,5,5,70,204,5,5,39,246,5,5,74,241,5,5,65,228,5,5,116,203,5,5,221,204,5,5,133,246,5,5,54,211,5,5,137,226,5,5,233,181,5,5,44,236,5,5,181,226,5,5,148,186,5,5,230,234,5,5,238,202,5,5,128,188,5,5,157,221,5,5,199,203,5,5,150,213,5,5,35,196,5,5,100,197,5,5,42,170,5,5,13,179,5,5,174,187,5,5,172,229,5,5,243,234,5,5,157,213,5,5,165,176,5,5,8,180,5,5,137,210,5,5,229,226,5,5,45,197,5,5,176,176,5,5,231,199,5,5,4,203,5,5,35,200,5,5,177,176,5,5,5,203,5,5,222,229,5,5,36,200,5,5,12,203,5,5,17,203,5,5,180,176,5,5,120,168,5,5,134,221,5,5,173,223,5,5,208,226,5,5,42,200,5,5,23,211,5,5,153,246,5,5,242,177,5,5,69,211,5,5,62,216,5,5,166,210,5,5,209,226,5,5,211,226,5,5,251,204,5,5,13,242,5,5,9,242,5,5,96,245,5,5,125,223,5,5,238,223,5,5,73,239,5,5,7,224,5,5,133,223,5,5,102,245,5,5,103,245,5,5,9,219,5,5,226,238,5,5,132,201,5,5,4,192,5,5,38,217,5,5,17,199,5,5,153,172,5,5,88,185,5,5,174,171,5,5,147,190,5,5,181,190,5,5,205,174,5,5,155,218,5,5,71,233,5,5,42,219,5,5,162,247,5,5,235,242,5,5,168,180,5,5,4,185,5,5,191,218,5,5,194,184,5,5,201,172,5,5,249,229,5,5,127,173,5,5,79,186,5,5,91,246,5,5,245,187,5,5,168,183,5,5,200,182,5,5,24,183,5,5,100,212,5,5,68,212,5,5,133,193,5,5,153,182,5,5,175,248,5,5,31,241,5,5,230,209,5,5,89,168,5,5,18,199,5,5,57,218,5,5,210,185,5,5,19,242,5,5,190,229,5,5,128,237,5,5,112,214,5,5,247,212,5,5,128,215,5,5,180,230,5,5,181,230,5,5,224,182,5,5,19,199,5,5,54,196,5,5,254,224,5,5,90,221,5,5,97,247,5,5,52,245,5,5,104,233,5,5,93,221,5,5,92,229,5,5,180,247,5,5,186,179,5,5,248,177,5,5,226,182,5,5,195,168,5,5,182,171,5,5,137,217,5,5,89,226,5,5,170,169,5,5,143,186,5,5,224,224,5,5,66,249,5,5,206,182,5,5,96,246,5,5,172,210,5,5,175,213,5,5,93,249,5,5,49,184,5,5,69,212,5,5,178,245,5,5,26,232,5,5,41,250,5,5,102,212,5,5,99,193,5,5,148,221,5,5,97,246,5,5,87,169,5,5,177,209,5,5,102,217,5,5,173,189,5,5,206,198,5,5,210,174,5,5,32,240,5,5,144,234,5,5,30,237,5,5,216,204,5,5,60,180,5,5,83,198,5,5,77,205,5,5,79,196,5,5,139,211,5,5,55,236,5,5,47,212,5,5,128,199,5,5,134,238,5,5,6,187,5,5,212,187,5,5,94,185,5,5,64,180,5,5,150,174,5,5,161,194,5,5,74,234,5,5,75,234,5,5,228,181,5,5,78,168,5,5,12,189,5,5,67,213,5,5,117,210,5,5,94,249,5,5,33,187,5,5,105,174,5,5,164,226,5,5,103,246,5,5,35,177,5,5,145,207,5,5,112,233,5,5,36,177,5,5,113,233,5,5,228,206,5,5,227,206,5,5,119,192,5,5,114,233,5,5,47,211,5,5,142,199,5,5,140,219,5,5,252,243,5,5,120,214,5,5,80,210,5,5,83,208,5,5,99,211,5,5,30,206,5,5,146,228,5,5,193,171,5,5,193,229,5,5,123,228,5,5,96,234,5,5,206,194,5,5,92,196,5,5,75,241,5,5,6,189,5,5,91,177,5,5,194,203,5,5,88,220,5,5,242,226,5,5,149,207,5,5,48,176,5,5,98,221,5,5,130,215,5,5,169,178,5,5,129,197,5,5,226,176,5,5,95,234,5,5,249,233,5,5,236,227,5,5,72,212,5,5,110,174,5,5,105,210,5,5,14,214,5,5,100,180,5,5,237,227,5,5,241,210,5,5,82,210,5,5,30,213,5,5,90,186,5,5,105,206,5,5,142,202,5,5,32,203,5,5,57,245,5,5,44,177,5,5,45,195,5,5,91,203,5,5,10,223,5,5,8,213,5,5,238,170,5,5,84,206,5,5,69,213,5,5,189,201,5,5,26,200,5,5,17,176,5,5,26,178,5,5,117,226,5,5,106,210,5,5,28,196,5,5,245,209,5,5,136,200,5,5,18,238,5,5,65,236,5,5,169,218,5,5,99,221,5,5,78,176,5,5,63,184,5,5,60,184,5,5,234,196,5,5,202,182,5,5,187,215,5,5,148,228,5,5,70,180,5,5,9,213,5,5,170,187,5,5,107,249,5,5,4,180,5,5,9,230,5,5,164,207,5,5,136,210,5,5,105,248,5,5,245,174,5,5,214,176,5,5,109,206,5,5,215,211,5,5,48,179,5,5,46,168,5,5,11,234,5,5,87,210,5,5,211,222,5,5,241,222,5,5,38,210,5,5,127,243,5,5,106,247,5,5,250,218,5,5,178,181,5,5,155,219,5,5,113,227,5,5,122,237,5,5,35,194,5,5,59,229,5,5,215,194,5,5,175,241,5,5,63,193,5,5,197,180,5,5,103,170,5,5,137,173,5,5,110,184,5,5,135,232,5,5,182,210,5,5,164,208,5,5,67,228,5,5,223,225,5,5,179,227,5,5,63,169,5,5,135,215,5,5,247,205,5,5,68,228,5,5,106,222,5,5,116,225,5,5,13,224,5,5,160,248,5,5,131,185,5,5,83,239,5,5,210,171,5,5,122,203,5,5,141,192,5,5,12,213,5,5,126,233,5,5,42,185,5,5,251,205,5,5,80,171,5,5,204,211,5,5,142,173,5,5,184,205,5,5,176,187,5,5,50,212,5,5,197,175,5,5,249,170,5,5,123,194,5,5,192,183,5,5,120,225,5,5,65,209,5,5,253,230,5,5,88,248,5,5,17,206,5,5,175,194,5,5,180,240,5,5,224,205,5,5,32,247,5,5,118,235,5,5,63,177,5,5,25,204,5,5,40,227,5,5,179,212,5,5,186,210,5,5,200,175,5,5,135,203,5,5,50,177,5,5,55,187,5,5,28,233,5,5,218,225,5,5,96,182,5,5,151,246,5,5,178,194,5,5,141,220,5,5,166,189,5,5,49,177,5,5,107,219,5,5,178,232,5,5,69,224,5,5,64,183,5,5,84,240,5,5,102,220,5,5,72,248,5,5,5,178,5,5,152,199,5,5,110,211,5,5,213,227,5,5,18,203,5,5,142,170,5,5,208,240,5,5,241,197,5,5,187,175,5,5,130,239,5,5,145,197,5,5,145,200,5,5,39,203,5,5,214,219,5,5,214,227,5,5,114,186,5,5,174,214,5,5,55,177,5,5,85,171,5,5,152,235,5,5,96,210,5,5,15,230,5,5,3,244,5,5,153,232,5,5,7,171,5,5,60,234,5,5,159,199,5,5,148,200,5,5,79,236,5,5,100,205,5,5,241,191,5,5,158,243,5,5,139,206,5,5,163,217,5,5,4,244,5,5,44,206,5,5,147,210,5,5,159,243,5,5,250,173,5,5,43,215,5,5,252,229,5,5,19,187,5,5,242,243,5,5,243,203,5,5,16,187,5,5,82,249,5,5,191,194,5,5,252,210,5,5,98,175,5,5,232,192,5,5,38,185,5,5,99,175,5,5,138,208,5,5,18,211,5,5,197,246,5,5,230,246,5,5,120,185,5,5,36,194,5,5,200,179,5,5,108,246,5,5,98,234,5,5,238,224,5,5,214,245,5,5,182,196,5,5,110,232,5,5,140,241,5,5,202,172,5,5,188,237,5,5,148,241,5,5,18,175,5,5,125,231,5,5,126,231,5,5,196,196,5,5,192,241,5,5,249,241,5,5,58,234,5,5,46,197,5,5,201,196,5,5,255,233,5,5,233,220,5,5,238,220,5,5,243,220,5,5,174,196,5,5,39,222,5,5,14,225,5,5,139,222,5,5,66,222,5,5,121,226,5,5,80,225,5,5,50,214,5,5,51,214,5,5,211,186,5,5,74,190,5,5,130,226,5,5,220,175,5,5,27,223,5,5,192,231,5,5,101,230,5,5,128,247,5,5,109,178,5,5,210,175,5,5,86,220,5,5,190,238,5,5,83,182,5,5,226,211,5,5,3,225,5,5,85,182,5,5,24,169,5,5,211,175,5,5,76,188,5,5,169,182,5,5,3,169,5,5,37,170,5,5,79,205,5,5,81,247,5,5,23,194,5,5,120,172,5,5,71,204,5,5,245,247,5,5,54,244,5,5,79,181,5,5,194,171,5,5,31,232,5,5,148,185,5,5,212,175,5,5,184,231,5,5,82,205,5,5,239,216,5,5,57,212,5,5,226,230,5,5,121,199,5,5,12,184,5,5,32,244,5,5,128,183,5,5,13,202,5,5,198,220,5,5,186,241,5,5,52,201,5,5,243,226,5,5,68,242,5,5,60,229,5,5,211,171,5,5,24,208,5,5,222,210,5,5,240,196,5,5,213,190,5,5,96,222,5,5,12,199,5,5,220,170,5,5,209,209,5,5,212,179,5,5,147,178,5,5,78,169,5,5,211,172,5,5,117,239,5,5,201,223,5,5,127,172,5,5,145,172,5,5,43,205,5,5,203,177,5,5,120,235,5,5,218,237,5,5,26,175,5,5,181,178,5,5,61,178,5,5,221,215,5,5,136,205,5,5,213,238,5,5,160,192,5,5,75,194,5,5,236,191,5,5,11,208,5,5,185,214,5,5,138,205,5,5,105,205,5,5,58,173,5,5,253,222,5,5,162,185,5,5,70,203,5,5,134,193,5,5,175,193,5,5,229,219,5,5,211,236,5,5,254,183,5,5,158,213,5,5,253,236,5,5,15,237,5,5,148,172,5,5,156,172,5,5,224,238,5,5,140,201,5,5,198,226,5,5,150,194,5,5,0,167,5,5,251,209,5,5,138,226,5,5,151,194,5,5,59,195,5,5,156,212,5,5,97,228,5,5,232,238,5,5,242,172,5,5,129,208,5,5,74,208,5,5,189,184,5,5,33,215,5,5,14,242,5,5,15,242,5,5,207,220,5,5,224,216,5,5,165,180,5,5,232,189,5,5,197,214,5,5,37,207,5,5,83,249,5,5,73,191,5,5,46,224,5,5,198,246,5,5,160,232,5,5,242,212,5,5,210,183,5,5,204,227,5,5,27,229,5,5,52,230,5,5,82,246,5,5,226,214,5,5,75,220,5,5,161,229,5,5,144,215,5,5,125,218,5,5,211,183,5,5,64,199,5,5,137,195,5,5,71,205,5,5,202,234,5,5,5,192,5,5,109,216,5,5,104,214,5,5,86,236,5,5,252,182,5,5,170,168,5,5,89,219,5,5,217,233,5,5,201,192,5,5,18,190,5,5,19,190,5,5,141,182,5,5,122,230,5,5,187,197,5,5,7,186,5,5,172,246,5,5,72,243,5,5,110,216,5,5,132,168,5,5,111,175,5,5,104,207,5,5,251,235,5,5,219,182,5,5,182,218,5,5,68,188,5,5,155,176,5,5,216,239,5,5,66,241,5,5,205,170,5,5,242,238,5,5,60,216,5,5,28,229,5,5,103,202,5,5,29,213,5,5,139,181,5,5,107,232,5,5,128,173,5,5,117,172,5,5,28,248,5,5,222,223,5,5,247,225,5,5,237,242,5,5,72,218,5,5,46,204,5,5,230,224,5,5,208,220,5,5,218,178,5,5,177,208,5,5,200,216,5,5,110,202,5,5,2,241,5,5,201,198,5,5,193,209,5,5,169,169,5,5,85,169,5,5,10,186,5,5,230,208,5,5,187,238,5,5,188,238,5,5,63,197,5,5,122,213,5,5,110,219,5,5,102,199,5,5,52,211,5,5,153,210,5,5,179,171,5,5,105,171,5,5,78,220,5,5,112,234,5,5,182,237,5,5,236,231,5,5,216,169,5,5,55,189,5,5,49,240,5,5,157,244,5,5,23,180,5,5,216,196,5,5,178,179,5,5,244,210,5,5,198,184,5,5,149,189,5,5,168,213,5,5,141,207,5,5,222,183,5,5,120,221,5,5,49,186,5,5,59,170,5,5,89,229,5,5,223,183,5,5,207,248,5,5,106,207,5,5,120,182,5,5,44,193,5,5,73,207,5,5,74,207,5,5,192,168,5,5,107,176,5,5,95,209,5,5,254,248,5,5,176,246,5,5,182,174,5,5,212,192,5,5,12,196,5,5,212,204,5,5,158,176,5,5,230,210,5,5,194,242,5,5,104,235,5,5,112,240,5,5,230,216,5,5,113,185,5,5,29,209,5,5,118,202,5,5,195,218,5,5,30,240,5,5,165,185,5,5,146,215,5,5,254,172,5,5,2,174,5,5,24,242,5,5,85,188,5,5,84,249,5,5,182,203,5,5,58,230,5,5,213,192,5,5,29,187,5,5,144,176,5,5,203,193,5,5,108,176,5,5,25,186,5,5,2,187,5,5,45,207,5,5,218,172,5,5,158,194,5,5,159,194,5,5,235,183,5,5,149,241,5,5,206,247,5,5,5,249,5,5,87,194,5,5,46,191,5,5,175,239,5,5,219,172,5,5,32,182,5,5,189,218,5,5,15,219,5,5,14,175,5,5,62,207,5,5,9,227,5,5,116,247,5,5,40,215,5,5,240,247,5,5,172,235,5,5,112,190,5,5,172,183,5,5,211,217,5,5,154,184,5,5,111,177,5,5,15,196,5,5,51,234,5,5,221,175,5,5,149,172,5,5,16,196,5,5,226,181,5,5,76,168,5,5,11,216,5,5,185,174,5,5,131,218,5,5,15,194,5,5,249,225,5,5,182,190,5,5,176,213,5,5,119,202,5,5,171,195,5,5,109,201,5,5,198,222,5,5,122,248,5,5,130,177,5,5,77,193,5,5,100,218,5,5,65,170,5,5,164,172,5,5,12,216,5,5,74,191,5,5,214,192,5,5,80,178,5,5,85,249,5,5,196,218,5,5,150,191,5,5,32,234,5,5,146,206,5,5,114,240,5,5,173,235,5,5,221,195,5,5,109,224,5,5,176,239,5,5,216,206,5,5,61,189,5,5,181,247,5,5,201,237,5,5,171,180,5,5,37,229,5,5,249,201,5,5,94,180,5,5,177,183,5,5,134,218,5,5,225,239,5,5,176,188,5,5,19,170,5,5,27,172,5,5,102,243,5,5,223,178,5,5,101,227,5,5,51,224,5,5,52,224,5,5,99,174,5,5,4,174,5,5,59,230,5,5,39,171,5,5,197,230,5,5,192,185,5,5,134,202,5,5,13,214,5,5,45,248,5,5,106,209,5,5,135,202,5,5,125,248,5,5,23,250,5,5,232,227,5,5,52,217,5,5,24,220,5,5,131,224,5,5,5,174,5,5,161,212,5,5,37,197,5,5,146,207,5,5,241,207,5,5,53,234,5,5,18,196,5,5,217,173,5,5,38,221,5,5,25,198,5,5,98,236,5,5,217,226,5,5,38,241,5,5,97,177,5,5,204,186,5,5,34,188,5,5,72,241,5,5,98,177,5,5,81,193,5,5,170,228,5,5,243,223,5,5,92,211,5,5,192,220,5,5,122,232,5,5,71,201,5,5,242,183,5,5,106,181,5,5,107,209,5,5,200,229,5,5,78,195,5,5,25,210,5,5,195,209,5,5,135,198,5,5,164,200,5,5,235,202,5,5,222,221,5,5,232,229,5,5,137,227,5,5,240,231,5,5,213,191,5,5,39,241,5,5,115,240,5,5,53,240,5,5,244,185,5,5,46,176,5,5,59,207,5,5,60,207,5,5,146,176,5,5,124,228,5,5,25,196,5,5,37,179,5,5,138,217,5,5,34,180,5,5,143,193,5,5,167,249,5,5,56,186,5,5,124,200,5,5,158,205,5,5,7,197,5,5,96,229,5,5,29,198,5,5,255,210,5,5,56,200,5,5,182,188,5,5,16,214,5,5,180,243,5,5,55,185,5,5,183,187,5,5,255,183,5,5,82,206,5,5,112,173,5,5,59,175,5,5,155,223,5,5,13,176,5,5,3,245,5,5,223,207,5,5,68,172,5,5,196,168,5,5,3,202,5,5,105,227,5,5,157,171,5,5,37,188,5,5,130,169,5,5,160,216,5,5,143,197,5,5,211,230,5,5,115,216,5,5,9,179,5,5,34,195,5,5,15,214,5,5,82,178,5,5,194,195,5,5,15,216,5,5,234,224,5,5,173,185,5,5,34,190,5,5,57,186,5,5,72,204,5,5,185,182,5,5,118,216,5,5,40,168,5,5,180,228,5,5,247,169,5,5,165,247,5,5,62,236,5,5,231,196,5,5,144,193,5,5,255,203,5,5,61,225,5,5,134,222,5,5,93,226,5,5,138,178,5,5,218,189,5,5,132,214,5,5,183,188,5,5,41,177,5,5,190,225,5,5,27,176,5,5,78,170,5,5,135,173,5,5,114,190,5,5,234,182,5,5,173,200,5,5,74,214,5,5,242,207,5,5,181,213,5,5,202,228,5,5,21,178,5,5,47,220,5,5,115,190,5,5,154,236,5,5,141,238,5,5,146,226,5,5,133,214,5,5,125,228,5,5,171,172,5,5,10,210,5,5,234,245,5,5,34,228,5,5,155,196,5,5,180,226,5,5,106,206,5,5,79,170,5,5,42,239,5,5,5,212,5,5,245,171,5,5,73,212,5,5,255,179,5,5,117,240,5,5,118,240,5,5,119,240,5,5,6,233,5,5,141,219,5,5,13,217,5,5,214,198,5,5,226,232,5,5,147,228,5,5,243,241,5,5,176,241,5,5,103,184,5,5,54,203,5,5,15,235,5,5,16,235,5,5,36,210,5,5,176,172,5,5,237,229,5,5,62,176,5,5,13,233,5,5,159,241,5,5,192,170,5,5,116,207,5,5,43,168,5,5,168,181,5,5,153,206,5,5,123,240,5,5,103,200,5,5,104,200,5,5,92,194,5,5,162,208,5,5,46,250,5,5,47,250,5,5,188,249,5,5,110,169,5,5,247,218,5,5,79,231,5,5,19,238,5,5,44,168,5,5,145,217,5,5,150,193,5,5,8,184,5,5,11,206,5,5,29,196,5,5,138,212,5,5,92,183,5,5,74,189,5,5,75,189,5,5,112,189,5,5,225,236,5,5,87,227,5,5,171,245,5,5,24,249,5,5,171,232,5,5,170,218,5,5,121,185,5,5,10,215,5,5,193,216,5,5,85,208,5,5,199,190,5,5,45,221,5,5,17,214,5,5,177,184,5,5,43,180,5,5,186,247,5,5,37,194,5,5,50,229,5,5,198,171,5,5,212,228,5,5,228,211,5,5,233,192,5,5,186,189,5,5,254,243,5,5,60,193,5,5,193,180,5,5,207,237,5,5,54,224,5,5,163,176,5,5,226,217,5,5,213,228,5,5,192,245,5,5,247,199,5,5,223,226,5,5,157,191,5,5,80,231,5,5,180,221,5,5,243,214,5,5,212,200,5,5,108,249,5,5,120,237,5,5,154,242,5,5,158,207,5,5,52,243,5,5,204,222,5,5,45,179,5,5,103,248,5,5,192,186,5,5,76,218,5,5,92,235,5,5,75,173,5,5,102,198,5,5,27,200,5,5,28,190,5,5,116,194,5,5,29,205,5,5,51,229,5,5,255,211,5,5,112,241,5,5,194,223,5,5,198,239,5,5,184,221,5,5,52,176,5,5,229,221,5,5,56,243,5,5,201,245,5,5,72,201,5,5,21,219,5,5,245,207,5,5,159,202,5,5,14,218,5,5,43,224,5,5,206,242,5,5,160,202,5,5,43,197,5,5,233,230,5,5,74,169,5,5,114,175,5,5,181,234,5,5,114,227,5,5,141,204,5,5,223,191,5,5,95,179,5,5,156,215,5,5,189,249,5,5,237,213,5,5,85,177,5,5,156,242,5,5,119,175,5,5,69,242,5,5,131,199,5,5,14,212,5,5,18,214,5,5,19,214,5,5,242,209,5,5,46,223,5,5,53,231,5,5,31,183,5,5,88,243,5,5,45,246,5,5,160,193,5,5,136,192,5,5,118,219,5,5,125,172,5,5,213,181,5,5,48,208,5,5,86,188,5,5,114,224,5,5,202,245,5,5,38,209,5,5,195,223,5,5,235,234,5,5,142,204,5,5,54,231,5,5,95,186,5,5,45,201,5,5,211,218,5,5,219,229,5,5,183,184,5,5,104,177,5,5,185,221,5,5,109,225,5,5,134,206,5,5,55,219,5,5,138,224,5,5,20,235,5,5,193,169,5,5,193,237,5,5,105,187,5,5,104,170,5,5,141,249,5,5,131,187,5,5,48,250,5,5,147,226,5,5,179,172,5,5,126,212,5,5,214,200,5,5,41,178,5,5,238,192,5,5,14,202,5,5,48,221,5,5,64,201,5,5,70,242,5,5,79,204,5,5,128,240,5,5,119,209,5,5,164,179,5,5,148,226,5,5,101,207,5,5,252,226,5,5,177,175,5,5,170,212,5,5,48,168,5,5,246,202,5,5,166,176,5,5,86,231,5,5,188,213,5,5,15,217,5,5,204,195,5,5,55,176,5,5,106,195,5,5,7,229,5,5,165,227,5,5,142,172,5,5,89,242,5,5,84,239,5,5,58,249,5,5,157,203,5,5,105,170,5,5,123,205,5,5,254,234,5,5,32,172,5,5,29,245,5,5,158,201,5,5,214,215,5,5,23,207,5,5,117,236,5,5,86,204,5,5,234,192,5,5,244,170,5,5,134,187,5,5,19,188,5,5,234,178,5,5,14,224,5,5,180,205,5,5,4,221,5,5,166,220,5,5,235,178,5,5,212,208,5,5,141,235,5,5,24,207,5,5,212,171,5,5,55,179,5,5,86,177,5,5,164,245,5,5,51,221,5,5,81,235,5,5,106,229,5,5,191,189,5,5,112,168,5,5,86,208,5,5,36,205,5,5,230,176,5,5,86,247,5,5,70,172,5,5,214,213,5,5,119,194,5,5,116,208,5,5,167,176,5,5,235,210,5,5,101,191,5,5,167,197,5,5,241,239,5,5,45,194,5,5,189,210,5,5,149,222,5,5,199,239,5,5,175,187,5,5,16,174,5,5,4,190,5,5,31,220,5,5,82,199,5,5,160,215,5,5,174,206,5,5,243,243,5,5,62,244,5,5,211,215,5,5,79,180,5,5,36,203,5,5,22,204,5,5,83,199,5,5,0,160,5,5,120,170,5,5,24,202,5,5,68,229,5,5,148,192,5,5,116,215,5,5,160,221,5,5,62,182,5,5,250,207,5,5,218,211,5,5,82,173,5,5,96,179,5,5,222,235,5,5,176,194,5,5,82,219,5,5,83,219,5,5,194,201,5,5,196,241,5,5,23,216,5,5,125,175,5,5,43,190,5,5,167,193,5,5,219,206,5,5,91,243,5,5,91,169,5,5,56,241,5,5,147,217,5,5,192,205,5,5,104,218,5,5,110,191,5,5,185,181,5,5,15,226,5,5,215,182,5,5,232,197,5,5,248,249,5,5,52,182,5,5,23,219,5,5,37,183,5,5,37,200,5,5,29,223,5,5,81,219,5,5,21,236,5,5,170,234,5,5,117,184,5,5,233,197,5,5,93,178,5,5,68,230,5,5,48,180,5,5,91,223,5,5,29,233,5,5,141,231,5,5,228,204,5,5,147,229,5,5,201,220,5,5,163,214,5,5,168,193,5,5,134,243,5,5,117,224,5,5,90,204,5,5,98,242,5,5,197,231,5,5,225,229,5,5,149,192,5,5,87,189,5,5,140,223,5,5,106,211,5,5,196,201,5,5,30,235,5,5,136,243,5,5,90,242,5,5,60,231,5,5,137,188,5,5,99,169,5,5,88,188,5,5,20,168,5,5,225,228,5,5,120,191,5,5,121,191,5,5,6,193,5,5,125,176,5,5,175,232,5,5,153,228,5,5,213,208,5,5,118,239,5,5,235,201,5,5,101,194,5,5,109,172,5,5,53,221,5,5,218,215,5,5,13,203,5,5,224,198,5,5,217,242,5,5,143,177,5,5,66,226,5,5,91,225,5,5,94,235,5,5,136,170,5,5,215,244,5,5,118,224,5,5,255,231,5,5,97,182,5,5,245,179,5,5,193,233,5,5,111,186,5,5,194,233,5,5,174,222,5,5,59,194,5,5,89,188,5,5,37,189,5,5,147,219,5,5,235,233,5,5,144,235,5,5,214,237,5,5,251,168,5,5,215,223,5,5,175,222,5,5,149,235,5,5,232,180,5,5,140,213,5,5,73,229,5,5,67,211,5,5,78,175,5,5,213,206,5,5,31,219,5,5,101,213,5,5,245,224,5,5,13,193,5,5,19,244,5,5,23,174,5,5,215,245,5,5,2,182,5,5,164,210,5,5,141,240,5,5,66,185,5,5,205,176,5,5,34,233,5,5,170,214,5,5,44,182,5,5,239,193,5,5,249,234,5,5,4,200,5,5,156,192,5,5,198,170,5,5,172,179,5,5,123,208,5,5,225,200,5,5,254,195,201,224,230,0,5,5,194,208,5,5,253,216,5,5,86,216,5,5,90,232,5,5,150,203,5,5,219,211,5,5,59,232,5,5,30,224,5,5,226,205,5,5,135,239,5,5,251,234,5,5,147,233,5,5,37,202,5,5,136,239,5,5,134,200,5,5,200,201,5,5,18,195,5,5,241,178,5,5,194,246,5,5,157,169,5,5,232,225,5,5,219,237,5,5,135,209,5,5,176,190,5,5,4,171,5,5,67,182,5,5,217,223,5,5,50,225,5,5,166,227,5,5,2,217,5,5,31,216,5,5,125,229,5,5,166,204,5,5,128,191,5,5,207,211,5,5,68,185,5,5,140,243,5,5,120,169,5,5,198,202,5,5,178,222,5,5,132,175,5,5,0,163,5,5,28,204,5,5,21,244,5,5,37,235,5,5,165,216,5,5,200,200,5,5,237,191,5,5,38,228,5,5,160,230,5,5,86,219,5,5,87,219,5,5,178,214,5,5,19,189,5,5,95,205,5,5,229,223,5,5,176,227,5,5,12,208,5,5,143,243,5,5,201,213,5,5,7,242,5,5,154,235,5,5,22,193,5,5,122,196,5,5,38,235,5,5,79,209,5,5,26,217,5,5,230,223,5,5,123,196,5,5,187,212,5,5,30,211,5,5,243,171,5,5,83,218,5,5,149,239,5,5,97,232,5,5,217,241,5,5,27,197,5,5,43,203,5,5,44,203,5,5,25,240,5,5,222,215,5,5,95,240,5,5,237,204,5,5,72,227,5,5,30,190,5,5,41,243,5,5,104,204,5,5,156,217,5,5,172,237,5,5,105,182,5,5,177,207,5,5,63,188,5,5,237,199,5,5,238,200,5,5,27,193,5,5,101,178,5,5,31,207,5,5,225,201,5,5,171,201,5,5,36,191,5,5,111,183,5,5,119,246,5,5,130,229,5,5,9,200,5,5,16,245,5,5,88,190,5,5,49,202,5,5,29,193,5,5,67,208,5,5,206,201,5,5,93,190,5,5,124,206,5,5,84,192,5,5,11,200,5,5,215,205,5,5,195,193,5,5,149,219,5,5,237,225,5,5,178,201,5,5,5,218,5,5,51,233,5,5,163,239,5,5,47,206,5,5,227,207,5,5,34,171,5,5,142,189,5,5,214,189,5,5,115,205,5,5,159,211,5,5,6,206,5,5,64,223,5,5,253,232,5,5,97,215,5,5,171,175,5,5,157,189,5,5,149,234,5,5,79,177,5,5,2,184,5,5,150,234,5,5,156,234,5,5,120,205,5,5,220,189,5,5,187,241,5,5,129,188,5,5,168,194,5,5,94,197,5,5,177,187,5,5,140,169,5,5,120,236,5,5,11,245,5,5,12,245,5,5,233,199,5,5,69,171,5,5,147,231,5,5,224,222,5,5,28,175,5,5,40,217,5,5,130,179,5,5,176,192,5,5,42,217,5,5,234,179,5,5,167,221,5,5,156,231,5,5,196,197,5,5,122,245,5,5,235,220,5,5,121,241,5,5,247,187,5,5,71,249,5,5,62,189,5,5,7,191,5,5,239,207,5,5,152,185,5,5,47,224,5,5,158,231,5,5,255,172,5,5,218,221,5,5,191,238,5,5,181,206,5,5,202,232,5,5,146,182,5,5,152,181,5,5,180,168,5,5,213,174,5,5,50,215,5,5,166,229,5,5,167,229,5,5,91,219,5,5,66,169,5,5,251,212,5,5,19,243,5,5,20,243,5,5,26,198,5,5,121,214,5,5,15,227,5,5,5,240,5,5,122,214,5,5,86,172,5,5,185,242,5,5,201,197,5,5,49,191,5,5,116,216,5,5,123,214,5,5,119,247,5,5,2,236,5,5,92,188,5,5,196,209,5,5,171,228,5,5,26,183,5,5,27,183,5,5,77,188,5,5,214,185,5,5,15,244,5,5,90,184,5,5,60,218,5,5,149,195,5,5,243,183,5,5,151,174,5,5,88,180,5,5,131,169,5,5,75,232,5,5,133,210,5,5,191,177,5,5,11,217,5,5,43,241,5,5,175,244,5,5,182,213,5,5,187,174,5,5,105,241,5,5,184,188,5,5,231,187,5,5,82,197,5,5,143,202,5,5,97,184,5,5,62,218,5,5,146,244,5,5,17,186,5,5,3,213,5,5,4,213,5,5,32,232,5,5,49,248,5,5,135,179,5,5,40,171,5,5,113,171,5,5,58,186,5,5,205,244,5,5,106,217,5,5,236,220,5,5,184,226,5,5,73,204,5,5,91,186,5,5,22,178,5,5,92,186,5,5,120,240,5,5,144,202,5,5,60,174,5,5,110,217,5,5,153,209,5,5,122,185,5,5,148,176,5,5,52,191,5,5,53,191,5,5,56,207,5,5,104,184,5,5,63,237,5,5,51,228,5,5,195,203,5,5,216,247,5,5,80,238,5,5,37,232,5,5,105,200,5,5,164,194,5,5,150,202,5,5,57,239,5,5,189,213,5,5,80,214,5,5,201,187,5,5,237,220,5,5,144,238,5,5,183,228,5,5,112,209,5,5,240,216,5,5,78,216,5,5,86,187,5,5,241,216,5,5,5,247,5,5,240,206,5,5,114,201,5,5,133,245,5,5,85,193,5,5,66,210,5,5,71,223,5,5,145,214,5,5,12,234,5,5,154,195,5,5,71,217,5,5,199,220,5,5,248,240,5,5,88,193,5,5,187,227,5,5,219,173,5,5,194,169,5,5,114,181,5,5,43,188,5,5,171,222,5,5,48,235,5,5,96,183,5,5,105,221,5,5,106,221,5,5,62,184,5,5,136,232,5,5,112,245,5,5,67,230,5,5,13,184,5,5,15,202,5,5,53,201,5,5,106,170,5,5,120,175,5,5,157,242,5,5,79,241,5,5,97,195,5,5,27,178,5,5,111,236,5,5,224,226,5,5,115,179,5,5,188,227,5,5,54,191,5,5,240,229,5,5,114,246,5,5,158,223,5,5,192,182,5,5,241,196,5,5,117,208,5,5,158,214,5,5,159,214,5,5,81,242,5,5,62,198,5,5,140,200,5,5,25,208,5,5,189,215,5,5,81,223,5,5,242,230,5,5,86,206,5,5,168,202,5,5,210,179,5,5,152,226,5,5,194,225,5,5,67,200,5,5,9,188,5,5,48,188,5,5,82,242,5,5,75,169,5,5,203,182,5,5,13,213,5,5,220,228,5,5,243,180,5,5,85,239,5,5,162,242,5,5,168,224,5,5,234,217,5,5,136,215,5,5,94,219,5,5,138,210,5,5,180,216,5,5,107,229,5,5,94,203,5,5,190,187,5,5,87,228,5,5,37,180,5,5,181,181,5,5,26,169,5,5,56,179,5,5,186,228,5,5,90,172,5,5,94,237,5,5,131,240,5,5,159,187,5,5,28,173,5,5,9,180,5,5,141,200,5,5,229,198,5,5,98,195,5,5,97,233,5,5,230,226,5,5,127,207,5,5,171,234,5,5,139,208,5,5,197,241,5,5,51,195,5,5,233,221,5,5,27,235,5,5,214,190,5,5,173,236,5,5,176,170,5,5,252,218,5,5,222,228,5,5,118,184,5,5,212,242,5,5,214,207,5,5,112,229,5,5,25,184,5,5,24,219,5,5,132,233,5,5,57,241,5,5,77,217,5,5,86,207,5,5,165,231,5,5,72,240,5,5,191,221,5,5,35,175,5,5,90,225,5,5,221,247,5,5,118,249,5,5,16,226,5,5,119,184,5,5,213,242,5,5,255,199,5,5,251,207,5,5,144,200,5,5,131,180,5,5,196,189,5,5,19,217,5,5,213,179,5,5,169,202,5,5,242,229,5,5,59,243,5,5,176,217,5,5,39,210,5,5,41,205,5,5,35,176,5,5,218,218,5,5,133,240,5,5,98,194,5,5,46,169,5,5,55,201,5,5,60,212,5,5,94,223,5,5,10,231,5,5,150,176,5,5,11,231,5,5,218,242,5,5,212,229,5,5,14,203,5,5,202,223,5,5,11,169,5,5,221,218,5,5,222,218,5,5,154,192,5,5,42,230,5,5,132,234,5,5,56,188,5,5,139,216,5,5,165,238,5,5,14,170,5,5,44,190,5,5,124,225,5,5,210,238,5,5,176,180,5,5,14,210,5,5,205,188,5,5,200,189,5,5,52,187,5,5,187,206,5,5,44,209,5,5,119,239,5,5,178,229,5,5,137,240,5,5,215,225,5,5,89,247,5,5,128,172,5,5,212,219,5,5,165,214,5,5,9,207,5,5,176,226,5,5,169,220,5,5,80,222,5,5,146,172,5,5,167,174,5,5,64,179,5,5,121,168,5,5,198,205,5,5,121,229,5,5,50,247,5,5,127,225,5,5,21,174,5,5,94,213,5,5,150,217,5,5,17,213,5,5,207,241,5,5,67,194,5,5,115,206,5,5,44,205,5,5,154,216,5,5,91,247,5,5,24,240,5,5,104,194,5,5,234,222,5,5,181,229,5,5,35,233,5,5,155,228,5,5,143,245,5,5,168,245,5,5,176,206,5,5,177,206,5,5,162,187,5,5,161,204,5,5,89,207,5,5,17,231,5,5,181,176,5,5,33,202,5,5,11,207,5,5,36,233,5,5,173,173,5,5,35,245,5,5,65,207,5,5,236,232,5,5,136,209,5,5,230,249,5,5,95,223,5,5,23,217,5,5,216,225,5,5,154,246,5,5,183,212,5,5,184,212,5,5,239,194,5,5,153,217,5,5,30,171,5,5,143,203,5,5,22,212,5,5,91,187,5,5,96,231,5,5,188,192,5,5,92,248,5,5,220,190,5,5,204,182,5,5,97,201,5,5,243,197,5,5,244,197,5,5,134,191,5,5,249,239,5,5,44,173,5,5,185,194,5,5,146,220,5,5,72,210,5,5,41,233,5,5,70,230,5,5,36,175,5,5,193,235,5,5,96,223,5,5,133,175,5,5,80,174,5,5,62,178,5,5,84,202,5,5,206,233,5,5,147,220,5,5,214,238,5,5,69,196,5,5,146,177,5,5,47,173,5,5,3,215,5,5,100,176,5,5,211,232,5,5,6,221,5,5,138,206,5,5,141,216,5,5,151,240,5,5,5,173,5,5,189,202,5,5,94,244,5,5,39,235,5,5,24,203,5,5,249,247,5,5,76,244,5,5,98,233,5,5,66,207,5,5,207,233,5,5,186,214,5,5,232,218,5,5,253,193,5,5,30,208,5,5,109,188,5,5,36,219,5,5,238,191,5,5,246,248,5,5,122,195,5,5,143,213,5,5,152,188,5,5,219,208,5,5,108,182,5,5,205,201,5,5,121,195,5,5,153,200,5,5,21,209,5,5,50,202,5,5,66,176,5,5,207,202,5,5,30,217,5,5,36,211,5,5,106,205,5,5,179,180,5,5,48,233,5,5,234,247,5,5,252,204,5,5,51,202,5,5,253,204,5,5,113,183,5,5,232,237,5,5,23,213,5,5,47,210,5,5,120,186,5,5,137,197,5,5,104,240,5,5,183,222,5,5,40,231,5,5,92,172,5,5,165,217,5,5,249,217,5,5,180,180,5,5,93,172,5,5,3,207,5,5,168,217,5,5,123,195,5,5,3,248,5,5,199,248,5,5,124,235,5,5,183,190,5,5,148,211,5,5,103,212,5,5,151,211,5,5,250,233,5,5,125,247,5,5,230,206,5,5,13,182,5,5,78,198,5,5,220,208,5,5,155,231,5,5,24,234,5,5,149,236,5,5,149,198,5,5,241,242,5,5,139,217,5,5,74,204,5,5,74,235,5,5,205,222,5,5,33,232,5,5,51,227,5,5,227,232,5,5,46,195,5,5,42,232,5,5,10,236,5,5,197,189,5,5,113,229,5,5,148,178,5,5,24,175,5,5,117,229,5,5,150,178,5,5,179,248,5,5,16,189,5,5,166,217,5,5,63,238,5,5,61,238,5,5,3,172,5,5,219,184,5,5,141,241,5,5,19,171,5,5,229,172,5,5,114,238,5,5,79,220,5,5,37,174,5,5,173,183,5,5,125,187,5,5,3,183,5,5,229,222,5,5,70,195,5,5,232,209,5,5,79,247,5,5,249,177,5,5,16,239,5,5,117,247,5,5,82,247,5,5,145,195,5,5,183,246,5,5,115,233,5,5,58,218,5,5,98,246,5,5,162,218,5,5,95,216,5,5,172,195,5,5,22,198,5,5,186,242,5,5,202,207,5,5,2,173,5,5,134,168,5,5,231,210,5,5,8,191,5,5,59,218,5,5,57,193,5,5,254,227,5,5,115,204,5,5,192,177,5,5,132,169,5,5,81,212,5,5,204,237,5,5,44,250,5,5,72,170,5,5,219,220,5,5,59,225,5,5,83,197,5,5,219,188,5,5,106,235,5,5,123,234,5,5,231,245,5,5,135,238,5,5,238,211,5,5,151,171,5,5,203,178,5,5,64,228,5,5,91,184,5,5,128,187,5,5,231,246,5,5,248,246,5,5,61,218,5,5,37,212,5,5,28,239,5,5,112,207,5,5,233,227,5,5,235,209,5,5,250,185,5,5,70,235,5,5,126,245,5,5,103,217,5,5,177,169,5,5,40,242,5,5,48,231,5,5,45,208,5,5,189,171,5,5,158,171,5,5,3,184,5,5,217,174,5,5,214,174,5,5,110,199,5,5,167,218,5,5,134,194,5,5,9,215,5,5,27,194,5,5,195,171,5,5,85,195,5,5,230,181,5,5,95,185,5,5,17,219,5,5,213,247,5,5,38,187,5,5,185,239,5,5,53,172,5,5,196,203,5,5,84,198,5,5,62,234,5,5,129,248,5,5,52,178,5,5,157,234,5,5,57,200,5,5,30,199,5,5,234,210,5,5,208,222,5,5,86,193,5,5,87,200,5,5,119,174,5,5,76,202,5,5,130,197,5,5,46,221,5,5,247,213,5,5,123,185,5,5,74,239,5,5,58,242,5,5,235,245,5,5,137,204,5,5,72,217,5,5,51,218,5,5,239,192,5,5,75,239,5,5,7,172,5,5,130,248,5,5,20,223,5,5,32,220,5,5,54,218,5,5,73,202,5,5,239,202,5,5,33,203,5,5,113,199,5,5,221,193,5,5,152,183,5,5,12,173,5,5,107,170,5,5,61,200,5,5,192,225,5,5,248,242,5,5,80,204,5,5,218,174,5,5,117,173,5,5,67,175,5,5,35,181,5,5,21,171,5,5,92,203,5,5,188,220,5,5,111,212,5,5,112,212,5,5,190,182,5,5,158,242,5,5,135,206,5,5,191,187,5,5,169,236,5,5,129,180,5,5,61,226,5,5,23,247,5,5,238,196,5,5,205,238,5,5,149,214,5,5,186,187,5,5,172,186,5,5,31,199,5,5,81,214,5,5,62,226,5,5,11,226,5,5,113,184,5,5,33,175,5,5,182,233,5,5,195,170,5,5,211,179,5,5,68,200,5,5,186,180,5,5,129,234,5,5,130,234,5,5,227,188,5,5,249,242,5,5,92,169,5,5,114,169,5,5,114,184,5,5,193,241,5,5,163,227,5,5,171,236,5,5,26,191,5,5,196,169,5,5,147,175,5,5,248,205,5,5,85,212,5,5,231,177,5,5,108,243,5,5,181,224,5,5,2,186,5,5,115,177,5,5,80,190,5,5,219,218,5,5,250,242,5,5,57,219,5,5,13,210,5,5,143,196,5,5,159,224,5,5,12,169,5,5,189,227,5,5,220,174,5,5,200,219,5,5,238,210,5,5,77,240,5,5,158,195,5,5,73,215,5,5,83,190,5,5,117,199,5,5,6,203,5,5,218,200,5,5,25,202,5,5,157,245,5,5,193,221,5,5,252,205,5,5,120,239,5,5,177,179,5,5,198,233,5,5,4,232,5,5,122,229,5,5,23,171,5,5,144,172,5,5,58,192,5,5,229,215,5,5,9,220,5,5,93,169,5,5,179,232,5,5,127,170,5,5,33,184,5,5,240,193,5,5,112,248,5,5,241,193,5,5,53,177,5,5,157,192,5,5,240,177,5,5,168,243,5,5,99,182,5,5,220,171,5,5,234,232,5,5,240,233,5,5,42,171,5,5,106,218,5,5,10,207,5,5,226,200,5,5,138,168,5,5,73,244,5,5,119,187,5,5,155,172,5,5,98,224,5,5,112,211,5,5,16,173,5,5,41,203,5,5,151,170,5,5,186,195,5,5,59,178,5,5,179,222,5,5,70,225,5,5,152,170,5,5,230,200,5,5,36,184,5,5,35,219,5,5,195,246,5,5,237,180,5,5,181,222,5,5,69,228,5,5,83,222,5,5,242,168,5,5,139,233,5,5,233,171,5,5,49,174,5,5,203,200,5,5,248,204,5,5,70,231,5,5,13,232,5,5,242,200,5,5,158,245,5,5,209,177,5,5,52,197,5,5,234,243,5,5,200,221,5,5,5,194,5,5,43,212,5,5,160,239,5,5,249,200,5,5,26,236,5,5,172,230,5,5,173,230,5,5,202,237,5,5,130,183,5,5,30,225,5,5,105,184,5,5,147,183,5,5,130,184,5,5,219,168,5,5,211,188,5,5,86,192,5,5,91,192,5,5,9,194,5,5,189,186,5,5,213,170,5,5,212,236,5,5,39,187,5,5,207,197,5,5,79,213,5,5,113,207,5,5,104,208,5,5,105,208,5,5,209,208,5,5,43,222,5,5,131,223,5,5,11,173,5,5,110,206,5,5,218,197,5,5,110,208,5,5,173,226,5,5,251,202,5,5,210,237,5,5,24,247,5,5,34,198,5,5,57,231,5,5,115,220,5,5,223,228,5,5,142,231,5,5,123,226,5,5,203,241,5,5,8,201,5,5,192,181,5,5,162,180,5,5,103,216,5,5,66,212,5,5,14,193,5,5,45,209,5,5,142,240,5,5,40,186,5,5,125,217,5,5,13,245,5,5,3,196,5,5,197,186,5,5,182,178,5,5,73,194,5,5,117,206,5,5,191,217,5,5,185,193,5,5,18,229,5,5,254,197,5,5,129,217,5,5,120,206,5,5,13,201,5,5,88,221,5,5,247,178,5,5,202,186,5,5,7,194,5,5,186,186,5,5,200,236,5,5,26,187,5,5,97,208,5,5,20,222,5,5,8,173,5,5,252,200,5,5,197,197,5,5,219,192,5,5,49,231,5,5,226,178,5,5,118,226,5,5,188,241,5,5,38,186,5,5,245,195,5,5,186,217,5,5,192,194,5,5,44,217,5,5,173,195,5,5,218,176,5,5,208,197,5,5,249,246,5,5,210,173,5,5,120,192,5,5,59,186,5,5,28,178,5,5,29,249,5,5,10,179,5,5,160,220,5,5,62,190,5,5,230,217,5,5,128,185,5,5,60,222,5,5,127,195,5,5,87,187,5,5,221,185,5,5,178,175,5,5,128,195,5,5,182,191,5,5,74,217,5,5,13,234,5,5,15,224,5,5,139,210,5,5,48,192,5,5,185,205,5,5,33,247,5,5,138,244,5,5,137,170,5,5,19,234,5,5,203,189,5,5,170,220,5,5,227,185,5,5,55,247,5,5,114,235,5,5,189,175,5,5,28,231,5,5,177,238,5,5,216,202,5,5,5,198,5,5,38,231,5,5,9,237,5,5,42,231,5,5,87,236,5,5,88,236,5,5,252,179,5,5,87,184,5,5,45,217,5,5,46,217,5,5,251,194,5,5,29,189,5,5,215,192,5,5,123,182,5,5,210,235,5,5,156,179,5,5,96,189,5,5,3,173,5,5,206,225,5,5,147,234,5,5,79,195,5,5,136,238,5,5,164,218,5,5,211,235,5,5,226,239,5,5,121,220,5,5,236,214,5,5,234,227,5,5,220,192,5,5,212,235,5,5,227,239,5,5,108,181,5,5,9,183,5,5,40,236,5,5,118,237,5,5,180,223,5,5,79,221,5,5,233,239,5,5,226,233,5,5,209,197,5,5,56,233,5,5,101,210,5,5,9,174,5,5,44,241,5,5,188,246,5,5,76,234,5,5,170,182,5,5,251,233,5,5,179,173,5,5,249,220,5,5,104,236,5,5,131,219,5,5,185,248,5,5,190,234,5,5,43,239,5,5,44,239,5,5,252,223,5,5,158,174,5,5,150,188,5,5,47,221,5,5,188,188,5,5,231,234,5,5,236,245,5,5,52,248,5,5,72,246,5,5,29,186,5,5,30,249,5,5,78,249,5,5,208,244,5,5,96,186,5,5,106,184,5,5,222,193,5,5,201,179,5,5,76,204,5,5,11,179,5,5,105,237,5,5,151,202,5,5,67,210,5,5,38,212,5,5,187,247,5,5,243,184,5,5,58,239,5,5,88,197,5,5,208,237,5,5,177,244,5,5,145,238,5,5,146,238,5,5,174,217,5,5,99,245,5,5,190,213,5,5,91,170,5,5,84,234,5,5,111,217,5,5,197,168,5,5,138,177,5,5,212,249,5,5,161,225,5,5,14,248,5,5,111,176,5,5,134,245,5,5,243,240,5,5,192,234,5,5,182,235,5,5,76,239,5,5,240,190,5,5,193,188,5,5,61,222,5,5,225,172,5,5,82,233,5,5,186,221,5,5,253,188,5,5,241,172,5,5,33,186,5,5,88,187,5,5,231,217,5,5,95,191,5,5,99,195,5,5,63,190,5,5,160,184,5,5,197,232,5,5,219,228,5,5,49,221,5,5,189,247,5,5,22,227,5,5,49,208,5,5,210,244,5,5,53,209,5,5,179,181,5,5,23,191,5,5,115,236,5,5,77,234,5,5,173,186,5,5,15,182,5,5,137,171,5,5,166,226,5,5,152,238,5,5,191,201,5,5,217,247,5,5,180,199,5,5,122,199,5,5,38,230,5,5,71,242,5,5,224,225,5,5,248,192,5,5,25,247,5,5,175,218,5,5,231,176,5,5,66,201,5,5,116,181,5,5,189,199,5,5,210,181,5,5,67,222,5,5,245,226,5,5,30,178,5,5,197,169,5,5,29,173,5,5,110,241,5,5,44,199,5,5,48,216,5,5,101,216,5,5,228,222,5,5,49,168,5,5,250,241,5,5,85,233,5,5,123,174,5,5,157,195,5,5,140,232,5,5,40,230,5,5,152,230,5,5,80,185,5,5,182,223,5,5,252,171,5,5,102,191,5,5,102,196,5,5,36,223,5,5,10,246,5,5,37,223,5,5,130,180,5,5,27,190,5,5,171,173,5,5,11,223,5,5,110,195,5,5,13,199,5,5,117,217,5,5,201,176,5,5,59,233,5,5,89,224,5,5,187,228,5,5,51,232,5,5,216,182,5,5,166,174,5,5,206,224,5,5,96,239,5,5,185,210,5,5,246,239,5,5,168,179,5,5,33,213,5,5,231,248,5,5,83,173,5,5,245,173,5,5,178,248,5,5,254,192,5,5,90,214,5,5,39,225,5,5,165,248,5,5,69,229,5,5,242,196,5,5,207,216,5,5,49,180,5,5,74,246,5,5,65,244,5,5,173,249,5,5,71,215,5,5,232,248,5,5,107,203,5,5,52,194,5,5,183,175,5,5,103,188,5,5,98,206,5,5,81,221,5,5,22,171,5,5,70,190,5,5,74,213,5,5,198,241,5,5,215,179,5,5,172,234,5,5,81,213,5,5,77,222,5,5,31,235,5,5,78,222,5,5,183,191,5,5,71,190,5,5,193,181,5,5,126,247,5,5,62,179,5,5,135,233,5,5,28,184,5,5,41,214,5,5,231,226,5,5,60,194,5,5,215,214,5,5,99,242,5,5,43,249,5,5,91,248,5,5,92,231,5,5,122,191,5,5,205,239,5,5,53,168,5,5,53,232,5,5,31,210,5,5,22,174,5,5,132,183,5,5,224,247,5,5,70,237,5,5,243,236,5,5,218,190,5,5,32,235,5,5,139,185,5,5,179,211,5,5,91,214,5,5,157,209,5,5,39,238,5,5,118,229,5,5,16,234,5,5,230,225,5,5,155,247,5,5,143,220,5,5,242,193,5,5,217,213,5,5,39,200,5,5,243,190,5,5,229,191,5,5,106,185,5,5,143,240,5,5,50,208,5,5,68,233,5,5,124,208,5,5,95,231,5,5,200,215,5,5,248,173,5,5,131,235,5,5,22,226,5,5,31,224,5,5,79,169,5,5,201,174,5,5,74,215,5,5,81,222,5,5,124,194,5,5,219,242,5,5,199,233,5,5,234,188,5,5,174,225,5,5,167,237,5,5,168,237,5,5,68,205,5,5,210,241,5,5,5,171,5,5,211,176,5,5,221,216,5,5,34,202,5,5,72,209,5,5,73,209,5,5,171,220,5,5,145,245,5,5,56,209,5,5,248,193,5,5,74,244,5,5,53,195,5,5,19,203,5,5,45,205,5,5,112,172,5,5,208,211,5,5,144,187,5,5,63,231,5,5,241,248,5,5,123,168,5,5,124,168,5,5,210,195,5,5,146,245,5,5,174,238,5,5,167,189,5,5,148,194,5,5,250,206,5,5,199,173,5,5,60,188,5,5,46,190,5,5,90,173,5,5,173,234,5,5,114,244,5,5,4,220,5,5,29,231,5,5,140,244,5,5,236,180,5,5,77,246,5,5,74,210,5,5,231,200,5,5,123,181,5,5,96,240,5,5,247,197,5,5,72,192,5,5,18,250,5,5,241,194,5,5,242,171,5,5,138,191,5,5,114,248,5,5,73,230,5,5,99,244,5,5,154,244,5,5,237,221,5,5,58,216,5,5,52,225,5,5,100,244,5,5,46,214,5,5,142,221,5,5,40,235,5,5,37,244,5,5,55,225,5,5,68,178,5,5,103,224,5,5,98,232,5,5,75,192,5,5,22,195,5,5,70,196,5,5,15,245,5,5,45,210,5,5,96,238,5,5,0,164,5,5,223,244,5,5,54,213,5,5,62,191,5,5,75,190,5,5,150,239,5,5,151,239,5,5,148,220,5,5,97,218,5,5,129,211,5,5,140,215,5,5,239,180,5,5,218,224,5,5,12,190,5,5,158,247,5,5,110,188,5,5,30,168,5,5,100,240,5,5,76,194,5,5,120,242,5,5,4,194,5,5,145,191,5,5,146,180,5,5,149,245,5,5,88,235,5,5,231,243,5,5,207,201,5,5,89,221,5,5,132,229,5,5,96,173,5,5,220,202,5,5,178,238,5,5,227,170,5,5,150,245,5,5,10,237,5,5,204,181,5,5,85,175,5,5,134,229,5,5,86,175,5,5,224,237,5,5,59,173,5,5,98,218,5,5,28,240,5,5,247,200,5,5,50,174,5,5,142,233,5,5,39,211,5,5,104,190,5,5,235,243,5,5,165,239,5,5,73,178,5,5,230,244,5,5,20,237,5,5,155,180,5,5,81,236,5,5,193,192,5,5,247,179,5,5,74,184,5,5,142,218,5,5,248,191,5,5,60,195,5,5,95,189,5,5,205,225,5,5,95,218,5,5,116,220,5,5,218,214,5,5,219,227,5,5,198,235,5,5,227,238,5,5,199,235,5,5,194,192,5,5,145,218,5,5,112,194,5,5,68,191,5,5,191,211,5,5,57,197,5,5,27,236,5,5,98,210,5,5,182,234,5,5,97,181,5,5,96,206,5,5,68,234,5,5,175,223,5,5,129,183,5,5,241,220,5,5,159,182,5,5,183,197,5,5,66,246,5,5,77,186,5,5,145,188,5,5,162,213,5,5,203,249,5,5,208,221,5,5,82,234,5,5,168,244,5,5,236,223,5,5,221,245,5,5,251,178,5,5,129,247,5,5,102,176,5,5,92,217,5,5,89,245,5,5,51,170,5,5,243,238,5,5,108,238,5,5,170,199,5,5,185,201,5,5,21,222,5,5,165,186,5,5,168,221,5,5,107,192,5,5,255,190,5,5,91,174,5,5,203,247,5,5,26,221,5,5,55,190,5,5,13,178,5,5,21,186,5,5,207,217,5,5,72,187,5,5,166,235,5,5,4,239,5,5,25,246,5,5,148,184,5,5,191,232,5,5,237,172,5,5,173,191,5,5,185,234,5,5,134,247,5,5,146,195,5,5,31,230,5,5,232,241,5,5,41,216,5,5,129,230,5,5,72,185,5,5,102,241,5,5,75,191,5,5,186,199,5,5,34,223,5,5,177,223,5,5,209,181,5,5,202,216,5,5,209,247,5,5,164,249,5,5,169,211,5,5,123,180,5,5,213,248,5,5,208,182,5,5,2,199,5,5,38,229,5,5,155,241,5,5,14,221,5,5,75,221,5,5,157,179,5,5,69,173,5,5,100,203,5,5,177,248,5,5,76,224,5,5,26,225,5,5,76,221,5,5,29,239,5,5,152,209,5,5,10,174,5,5,191,179,5,5,238,190,5,5,28,194,5,5,118,233,5,5,129,235,5,5,15,238,5,5,97,229,5,5,159,181,5,5,41,242,5,5,8,235,5,5,19,173,5,5,15,249,5,5,41,168,5,5,216,236,5,5,38,179,5,5,47,208,5,5,68,213,5,5,151,234,5,5,60,209,5,5,66,178,5,5,253,223,5,5,177,233,5,5,140,237,5,5,70,169,5,5,51,222,5,5,58,215,5,5,107,208,5,5,197,195,5,5,242,206,5,5,135,245,5,5,230,193,5,5,55,209,5,5,34,225,5,5,98,244,5,5,19,216,5,5,215,200,5,5,40,214,5,5,224,197,5,5,238,236,5,5,137,215,5,5,212,244,5,5,47,174,5,5,78,186,5,5,51,215,5,5,69,189,5,5,159,231,5,5,125,192,5,5,80,189,5,5,235,187,5,5,36,189,5,5,18,231,5,5,19,231,5,5,191,191,5,5,144,203,5,5,21,188,5,5,147,180,5,5,254,204,5,5,91,180,5,5,90,194,5,5,204,214,5,5,44,222,5,5,77,202,5,5,174,178,5,5,89,228,5,5,13,170,5,5,218,222,5,5,150,232,5,5,105,183,5,5,59,247,5,5,65,247,5,5,21,237,5,5,22,237,5,5,243,221,5,5,161,175,5,5,12,191,5,5,206,227,5,5,45,239,5,5,207,227,5,5,46,239,5,5,145,193,5,5,183,168,5,5,134,189,5,5,169,181,5,5,115,175,5,5,223,232,5,5,169,190,5,5,161,193,5,5,23,199,5,5,161,184,5,5,95,197,5,5,190,183,5,5,243,230,5,5,61,171,5,5,100,188,5,5,91,242,5,5,225,247,5,5,69,193,5,5,42,183,5,5,20,231,5,5,221,171,5,5,148,229,5,5,131,190,5,5,70,171,5,5,242,178,5,5,123,249,5,5,46,183,5,5,142,239,5,5,202,246,5,5,127,169,5,5,249,172,5,5,79,168,5,5,5,213,5,5,238,209,5,5,221,212,5,5,18,186,5,5,240,209,5,5,107,241,5,5,137,179,5,5,113,209,5,5,134,223,5,5,99,234,5,5,121,190,5,5,62,200,5,5,194,188,5,5,97,188,5,5,120,209,5,5,84,168,5,5,125,207,5,5,22,202,5,5,140,210,5,5,43,170,5,5,4,242,5,5,70,193,5,5,144,227,5,5,68,207,5,5,18,213,5,5,21,231,5,5,131,239,5,5,116,197,5,5,134,209,5,5,107,175,5,5,53,225,5,5,105,190,5,5,14,198,5,5,164,169,5,5,179,245,5,5,180,242,5,5,88,184,5,5,52,172,5,5,243,185,5,5,211,225,5,5,137,238,5,5,79,188,5,5,108,228,5,5,134,213,5,5,217,191,5,5,129,182,5,5,15,225,5,5,223,186,5,5,55,244,5,5,250,246,5,5,12,182,5,5,53,248,5,5,52,222,5,5,92,170,5,5,31,249,5,5,14,182,5,5,104,187,5,5,80,213,5,5,190,170,5,5,217,206,5,5,194,177,5,5,154,221,5,5,210,199,5,5,236,182,5,5,182,226,5,5,147,238,5,5,190,174,5,5,117,207,5,5,222,188,5,5,93,170,5,5,172,205,5,5,20,204,5,5,96,191,5,5,162,184,5,5,72,213,5,5,32,249,5,5,108,193,5,5,236,234,5,5,91,244,5,5,216,194,5,5,163,184,5,5,241,243,5,5,39,194,5,5,73,240,5,5,219,235,5,5,11,246,5,5,230,220,5,5,62,171,5,5,63,171,5,5,75,217,5,5,231,220,5,5,231,175,5,5,244,243,5,5,150,247,5,5,190,200,5,5,219,243,5,5,151,176,5,5,246,173,5,5,177,220,5,5,124,226,5,5,113,212,5,5,182,185,5,5,52,232,5,5,232,206,5,5,53,194,5,5,90,224,5,5,120,184,5,5,82,225,5,5,202,176,5,5,203,176,5,5,34,247,5,5,49,192,5,5,63,245,5,5,163,180,5,5,249,195,5,5,78,234,5,5,65,176,5,5,111,243,5,5,119,169,5,5,184,243,5,5,192,200,5,5,146,183,5,5,133,172,5,5,66,192,5,5,162,221,5,5,132,239,5,5,113,248,5,5,126,184,5,5,41,186,5,5,164,219,5,5,75,244,5,5,145,203,5,5,137,239,5,5,252,168,5,5,35,174,5,5,156,228,5,5,52,247,5,5,170,248,5,5,8,171,5,5,63,243,5,5,120,244,5,5,47,178,5,5,226,243,5,5,254,236,5,5,29,214,5,5,149,220,5,5,158,228,5,5,154,240,5,5,4,196,5,5,248,184,5,5,63,232,5,5,245,243,5,5,159,170,5,5,148,180,5,5,164,222,5,5,8,237,5,5,178,220,5,5,89,235,5,5,21,205,5,5,250,184,5,5,247,243,5,5,161,169,5,5,172,245,5,5,77,184,5,5,172,242,5,5,240,185,5,5,51,172,5,5,47,244,5,5,21,232,5,5,245,168,5,5,53,245,5,5,207,191,5,5,210,246,5,5,121,182,5,5,11,225,5,5,132,213,5,5,186,170,5,5,22,186,5,5,32,248,5,5,217,186,5,5,11,182,5,5,16,194,5,5,210,169,5,5,33,222,5,5,179,226,5,5,98,187,5,5,204,199,5,5,185,177,5,5,110,207,5,5,227,182,5,5,218,188,5,5,125,238,5,5,89,244,5,5,232,246,5,5,101,193,5,5,79,191,5,5,9,249,5,5,18,204,5,5,150,205,5,5,240,243,5,5,10,249,5,5,156,184,5,5,226,195,5,5,60,217,5,5,3,246,5,5,186,200,5,5,226,220,5,5,107,184,5,5,160,180,5,5,29,192,5,5,160,222,5,5,176,220,5,5,149,176,5,5,94,170,5,5,147,247,5,5,177,185,5,5,109,212,5,5,253,177,5,5,189,200,5,5,141,183,5,5,163,248,5,5,115,184,5,5,107,248,5,5,162,219,5,5,66,244,5,5,244,236,5,5,220,243,5,5,60,243,5,5,119,244,5,5,144,220,5,5,144,240,5,5,249,184,5,5,227,174,5,5,212,230,5,5,250,220,5,5,33,210,5,5,23,227,5,5,133,231,5,5,63,174,5,5,228,188,5,5,74,174,5,5,156,245,5,5,199,231,5,5,128,225,5,5,182,249,5,5,181,249,5,5,120,202,5,5,153,196,5,5,89,184,5,5,94,245,5,5,220,184,5,5,205,214,5,5,122,220,5,5,234,216,5,5,6,240,5,5,77,232,5,5,16,249,5,5,210,197,5,5,148,216,5,5,188,174,5,5,94,176,5,5,40,174,5,5,41,174,5,5,202,179,5,5,235,196,5,5,181,173,5,5,209,178,5,5,127,231,5,5,209,244,5,5,219,197,5,5,28,243,5,5,112,217,5,5,137,192,5,5,192,174,5,5,121,175,5,5,150,186,5,5,130,235,5,5,33,249,5,5,149,226,5,5,60,181,5,5,200,203,5,5,227,184,5,5,141,224,5,5,232,176,5,5,58,231,5,5,104,245,5,5,16,224,5,5,17,240,5,5,18,197,5,5,54,194,5,5,38,218,5,5,153,225,5,5,82,176,5,5,26,177,5,5,186,205,5,5,187,217,5,5,94,178,5,5,21,217,5,5,44,249,5,5,19,226,5,5,123,217,5,5,5,175,5,5,224,190,5,5,32,216,5,5,6,216,5,5,19,195,5,5,38,244,5,5,72,226,5,5,4,182,5,5,215,243,5,5,216,243,5,5,191,249,5,5,225,211,5,5,128,169,5,5,108,199,5,5,210,198,5,5,3,181,5,5,211,197,5,5,180,183,5,5,27,174,5,5,213,193,5,5,174,182,5,5,189,246,5,5,176,224,5,5,25,243,5,5,214,168,5,5,134,214,5,5,26,243,5,5,182,215,5,5,35,228,5,5,235,224,5,5,59,239,5,5,204,210,5,5,77,204,5,5,207,207,5,5,198,168,5,5,175,179,5,5,97,199,5,5,4,228,5,5,61,193,5,5,96,176,5,5,88,212,5,5,13,215,5,5,54,248,5,5,236,196,5,5,93,179,5,5,139,246,5,5,184,183,5,5,11,212,5,5,91,197,5,5,92,220,5,5,236,171,5,5,135,210,5,5,89,197,5,5,152,202,5,5,160,185,5,5,153,238,5,5,34,192,5,5,81,181,5,5,83,232,5,5,165,194,5,5,82,181,5,5,218,247,5,5,232,217,5,5,129,199,5,5,76,248,5,5,106,187,5,5,245,216,5,5,15,200,5,5,198,232,5,5,246,174,5,5,173,205,5,5,73,213,5,5,15,247,5,5,89,193,5,5,174,226,5,5,64,172,5,5,38,194,5,5,140,177,5,5,240,215,5,5,108,170,5,5,243,231,5,5,83,181,5,5,35,192,5,5,16,197,5,5,249,192,5,5,146,222,5,5,120,227,5,5,179,175,5,5,103,196,5,5,8,211,5,5,21,233,5,5,33,172,5,5,108,235,5,5,60,177,5,5,183,209,5,5,147,222,5,5,81,203,5,5,250,240,5,5,220,194,5,5,71,175,5,5,246,215,5,5,155,209,5,5,207,224,5,5,55,194,5,5,164,214,5,5,243,229,5,5,70,229,5,5,68,176,5,5,111,195,5,5,150,192,5,5,12,211,5,5,243,196,5,5,13,211,5,5,87,206,5,5,187,205,5,5,241,201,5,5,81,190,5,5,105,197,5,5,198,174,5,5,137,228,5,5,237,217,5,5,243,225,5,5,215,171,5,5,199,249,5,5,84,216,5,5,207,238,5,5,235,176,5,5,119,249,5,5,66,172,5,5,120,249,5,5,200,212,5,5,35,247,5,5,47,246,5,5,97,179,5,5,149,246,5,5,204,241,5,5,47,181,5,5,23,181,5,5,225,175,5,5,253,240,5,5,109,247,5,5,63,179,5,5,163,244,5,5,33,174,5,5,201,175,5,5,56,194,5,5,153,186,5,5,125,225,5,5,47,197,5,5,29,184,5,5,200,249,5,5,216,179,5,5,76,213,5,5,253,218,5,5,180,211,5,5,20,226,5,5,230,172,5,5,181,227,5,5,243,193,5,5,131,178,5,5,77,177,5,5,93,214,5,5,211,224,5,5,201,215,5,5,212,210,5,5,76,179,5,5,23,226,5,5,158,192,5,5,21,211,5,5,249,206,5,5,126,204,5,5,224,243,5,5,143,170,5,5,27,175,5,5,200,205,5,5,146,203,5,5,240,176,5,5,93,225,5,5,206,177,5,5,32,224,5,5,97,231,5,5,17,200,5,5,70,192,5,5,155,246,5,5,203,215,5,5,243,178,5,5,23,212,5,5,124,249,5,5,20,203,5,5,4,170,5,5,8,244,5,5,214,210,5,5,43,171,5,5,177,227,5,5,24,197,5,5,183,178,5,5,197,172,5,5,7,232,5,5,101,182,5,5,137,175,5,5,94,247,5,5,253,180,5,5,168,171,5,5,242,176,5,5,243,176,5,5,248,197,5,5,249,197,5,5,29,204,5,5,184,224,5,5,7,216,5,5,176,197,5,5,47,214,5,5,113,203,5,5,254,180,5,5,249,176,5,5,234,186,5,5,39,244,5,5,148,177,5,5,156,170,5,5,157,170,5,5,250,247,5,5,118,197,5,5,134,175,5,5,59,216,5,5,4,181,5,5,83,175,5,5,79,192,5,5,110,230,5,5,45,243,5,5,215,210,5,5,30,204,5,5,209,203,5,5,157,246,5,5,217,202,5,5,62,247,5,5,56,173,5,5,139,175,5,5,205,180,5,5,133,229,5,5,255,204,5,5,31,204,5,5,14,232,5,5,135,229,5,5,216,249,5,5,248,200,5,5,212,233,5,5,87,218,5,5,135,219,5,5,40,211,5,5,219,224,5,5,167,217,5,5,167,192,5,5,251,176,5,5,90,177,5,5,102,231,5,5,13,200,5,5,15,198,5,5,32,204,5,5,19,221,5,5,215,185,5,5,224,177,5,5,10,183,5,5,107,217,5,5,38,226,5,5,61,181,5,5,62,181,5,5,222,185,5,5,56,201,5,5,139,218,5,5,136,206,5,5,0,161,5,5,50,192,5,5,19,197,5,5,142,225,5,5,56,199,5,5,128,201,5,5,176,236,5,5,193,207,5,5,168,198,5,5,126,217,5,5,46,205,5,5,131,201,5,5,66,181,5,5,156,246,5,5,255,236,5,5,41,226,5,5,153,178,5,5,106,240,5,5,133,242,5,5,213,173,5,5,32,236,5,5,79,187,5,5,23,198,5,5,94,229,5,5,21,243,5,5,248,233,5,5,187,177,5,5,6,235,5,5,124,182,5,5,165,218,5,5,89,220,5,5,187,199,5,5,135,222,5,5,208,227,5,5,11,174,5,5,193,177,5,5,160,181,5,5,239,209,5,5,135,214,5,5,79,207,5,5,69,219,5,5,188,199,5,5,104,215,5,5,97,248,5,5,31,189,5,5,158,189,5,5,146,217,5,5,211,199,5,5,12,179,5,5,78,204,5,5,195,177,5,5,101,168,5,5,237,245,5,5,130,182,5,5,181,199,5,5,91,237,5,5,150,212,5,5,188,169,5,5,60,186,5,5,61,186,5,5,83,212,5,5,55,248,5,5,237,218,5,5,170,181,5,5,199,168,5,5,161,247,5,5,190,246,5,5,141,237,5,5,215,198,5,5,60,239,5,5,6,247,5,5,62,222,5,5,191,213,5,5,234,181,5,5,237,185,5,5,13,197,5,5,6,195,5,5,8,187,5,5,195,188,5,5,107,198,5,5,233,217,5,5,148,247,5,5,193,243,5,5,16,247,5,5,229,220,5,5,106,203,5,5,83,242,5,5,200,220,5,5,54,241,5,5,149,228,5,5,15,240,5,5,138,245,5,5,136,228,5,5,64,184,5,5,181,216,5,5,151,247,5,5,141,210,5,5,234,201,5,5,140,245,5,5,9,245,5,5,108,203,5,5,40,249,5,5,31,191,5,5,188,228,5,5,83,176,5,5,192,187,5,5,143,198,5,5,208,238,5,5,176,212,5,5,164,215,5,5,136,187,5,5,210,210,5,5,196,213,5,5,210,186,5,5,200,169,5,5,88,206,5,5,246,211,5,5,83,203,5,5,74,219,5,5,254,218,5,5,155,192,5,5,71,237,5,5,54,232,5,5,219,175,5,5,216,176,5,5,37,176,5,5,140,185,5,5,59,241,5,5,38,189,5,5,150,222,5,5,124,184,5,5,45,249,5,5,30,184,5,5,149,229,5,5,231,169,5,5,247,244,5,5,208,241,5,5,150,229,5,5,175,225,5,5,115,186,5,5,217,245,5,5,201,231,5,5,220,242,5,5,201,205,5,5,186,194,5,5,197,173,5,5,99,248,5,5,126,229,5,5,171,191,5,5,121,235,5,5,148,245,5,5,20,195,5,5,14,245,5,5,254,171,5,5,119,201,5,5,47,183,5,5,68,182,5,5,247,203,5,5,144,185,5,5,2,220,5,5,147,198,5,5,137,190,5,5,216,238,5,5,162,192,5,5,171,248,5,5,240,181,5,5,121,242,5,5,77,194,5,5,41,189,5,5,173,201,5,5,131,212,5,5,218,202,5,5,221,202,5,5,107,205,5,5,33,204,5,5,211,173,5,5,24,236,5,5,68,187,5,5,2,235,5,5,170,177,5,5,156,218,5,5,95,248,5,5,143,181,5,5,73,206,5,5,66,219,5,5,27,189,5,5,51,186,5,5,207,198,5,5,78,205,5,5,160,247,5,5,184,246,5,5,17,239,5,5,152,189,5,5,226,245,5,5,121,202,5,5,132,237,5,5,169,216,5,5,40,222,5,5,191,243,5,5,233,246,5,5,254,194,5,5,137,247,5,5,214,217,5,5,151,205,5,5,255,194,5,5,131,245,5,5,56,184,5,5,101,203,5,5,205,210,5,5,189,169,5,5,17,191,5,5,129,187,5,5,184,228,5,5,76,203,5,5,79,176,5,5,25,249,5,5,215,176,5,5,14,184,5,5,138,192,5,5,144,229,5,5,144,222,5,5,127,212,5,5,209,242,5,5,194,231,5,5,206,210,5,5,188,205,5,5,142,245,5,5,239,203,5,5,218,233,5,5,62,186,5,5,112,176,5,5,115,176,5,5,46,213,5,5,245,249,5,5,218,170,5,5,142,200,5,5,143,200,5,5,120,176,5,5,95,235,5,5,44,169,5,5,221,170,5,5,222,170,5,5,223,170,5,5,96,235,5,5,224,170,5,5,14,169,5,5,128,176,5,5,225,170,5,5,226,170,5,5,253,173,5,5,44,219,5,5,101,211,5,5,103,211,5,5,91,173,5,5,71,176,5,5,70,176,5,5,60,238,5,5,179,218,5,5,164,170,5,5,165,170,5,5,204,221,5,5,113,241,5,5,114,203,5,5,119,177,5,5,7,173,5,5,190,184,5,5,34,215,5,5,116,241,5,5,117,241,5,5,222,214,5,5,202,235,5,5,104,238,5,5,196,187,5,5,222,206,5,5,59,214,5,5,151,243,5,5,193,228,5,5,135,227,5,5,174,248,5,5,111,240,5,5,120,177,5,5,116,243,5,5,216,195,5,5,69,188,5,5,30,236,5,5,113,182,5,5,123,230,5,5,121,177,5,5,100,181,5,5,206,187,5,5,159,245,5,5,122,177,5,5,217,195,5,5,229,242,5,5,237,228,5,5,231,202,5,5,179,174,5,5,226,173,5,5,170,210,5,5,142,226,5,5,211,246,5,5,115,238,5,5,128,196,5,5,45,193,5,5,255,173,5,5,177,177,5,5,246,181,5,5,219,178,5,5,226,213,5,5,33,248,5,5,179,179,5,5,48,244,5,5,180,225,5,5,192,222,5,5,250,227,5,5,193,217,5,5,75,196,5,5,47,191,5,5,61,180,5,5,103,241,5,5,44,208,5,5,253,169,5,5,11,192,5,5,2,210,5,5,126,238,5,5,74,195,5,5,143,248,5,5,183,203,5,5,207,235,5,5,184,227,5,5,178,223,5,5,34,222,5,5,183,225,5,5,55,212,5,5,131,189,5,5,173,210,5,5,12,181,5,5,131,196,5,5,57,235,5,5,208,235,5,5,248,171,5,5,12,241,5,5,254,232,5,5,53,217,5,5,73,227,5,5,243,247,5,5,54,217,5,5,27,179,5,5,28,179,5,5,102,227,5,5,86,196,5,5,51,226,5,5,95,180,5,5,196,238,5,5,162,245,5,5,249,226,5,5,18,187,5,5,135,230,5,5,41,222,5,5,139,174,5,5,244,223,5,5,27,244,5,5,48,218,5,5,121,183,5,5,236,202,5,5,166,224,5,5,50,191,5,5,71,202,5,5,85,186,5,5,174,200,5,5,228,169,5,5,100,177,5,5,212,197,5,5,254,169,5,5,158,190,5,5,167,177,5,5,159,205,5,5,45,241,5,5,143,247,5,5,230,195,5,5,42,242,5,5,67,176,5,5,240,199,5,5,203,228,5,5,56,226,5,5,47,239,5,5,136,177,5,5,231,242,5,5,107,206,5,5,10,170,5,5,172,211,5,5,177,241,5,5,86,178,5,5,65,224,5,5,15,181,5,5,79,224,5,5,165,236,5,5,214,175,5,5,191,174,5,5,5,226,5,5,59,242,5,5,225,221,5,5,193,245,5,5,48,241,5,5,125,243,5,5,171,181,5,5,216,170,5,5,197,187,5,5,172,181,5,5,187,231,5,5,200,190,5,5,68,217,5,5,141,178,5,5,139,177,5,5,4,229,5,5,28,210,5,5,148,238,5,5,34,186,5,5,150,237,5,5,100,175,5,5,143,204,5,5,217,235,5,5,199,224,5,5,49,179,5,5,193,174,5,5,232,242,5,5,8,224,5,5,200,224,5,5,133,215,5,5,184,206,5,5,151,237,5,5,229,186,5,5,30,245,5,5,113,168,5,5,68,222,5,5,45,172,5,5,252,174,5,5,17,224,5,5,6,244,5,5,115,245,5,5,20,181,5,5,57,179,5,5,37,205,5,5,199,174,5,5,74,177,5,5,234,203,5,5,6,250,5,5,112,218,5,5,72,215,5,5,60,235,5,5,92,242,5,5,161,238,5,5,186,181,5,5,131,203,5,5,112,197,5,5,79,222,5,5,138,170,5,5,124,237,5,5,233,206,5,5,195,233,5,5,99,224,5,5,210,187,5,5,216,244,5,5,227,225,5,5,3,182,5,5,195,208,5,5,178,170,5,5,181,170,5,5,126,200,5,5,38,202,5,5,224,242,5,5,173,237,5,5,125,206,5,5,87,202,5,5,244,238,5,5,213,226,5,5,187,178,5,5,193,214,5,5,190,240,5,5,70,220,5,5,240,187,5,5,129,241,5,5,33,207,5,5,11,219,5,5,226,216,5,5,167,230,5,5,195,199,5,5,163,183,5,5,176,198,5,5,48,171,5,5,138,182,5,5,25,234,5,5,225,209,5,5,214,233,5,5,66,221,5,5,47,169,5,5,173,242,5,5,57,177,5,5,200,191,5,5,102,233,5,5,53,169,5,5,25,230,5,5,64,197,5,5,29,241,5,5,242,187,5,5,227,224,5,5,6,217,5,5,52,170,5,5,206,212,5,5,100,171,5,5,215,220,5,5,165,169,5,5,61,228,5,5,252,178,5,5,162,249,5,5,2,238,5,5,215,203,5,5,171,199,5,5,27,187,5,5,204,247,5,5,169,221,5,5,90,199,5,5,20,242,5,5,149,184,5,5,161,188,5,5,68,216,5,5,212,246,5,5,108,192,5,5,108,190,5,5,126,189,5,5,29,234,5,5,153,194,5,5,45,231,5,5,44,187,5,5,163,211,5,5,35,201,5,5,76,193,5,5,139,199,5,5,67,246,5,5,54,201,5,5,118,243,5,5,93,236,5,5,92,174,5,5,92,180,5,5,186,230,5,5,232,205,5,5,50,184,5,5,53,230,5,5,236,183,5,5,73,185,5,5,112,188,5,5,36,201,5,5,78,193,5,5,185,185,5,5,45,198,5,5,160,240,5,5,183,171,5,5,118,231,5,5,171,169,5,5,122,202,5,5,77,243,5,5,28,172,5,5,53,233,5,5,67,214,5,5,252,212,5,5,172,216,5,5,148,187,5,5,138,247,5,5,27,225,5,5,165,249,5,5,169,213,5,5,165,200,5,5,127,210,5,5,239,173,5,5,40,241,5,5,34,172,5,5,163,232,5,5,222,177,5,5,8,197,5,5,206,240,5,5,238,215,5,5,75,238,5,5,76,180,5,5,155,236,5,5,150,207,5,5,113,219,5,5,182,169,5,5,161,181,5,5,136,222,5,5,158,197,5,5,241,241,5,5,120,243,5,5,108,189,5,5,241,199,5,5,166,232,5,5,167,232,5,5,187,223,5,5,105,225,5,5,34,209,5,5,227,230,5,5,45,219,5,5,174,175,5,5,26,249,5,5,170,249,5,5,20,238,5,5,36,230,5,5,172,232,5,5,82,243,5,5,126,188,5,5,194,240,5,5,40,170,5,5,118,207,5,5,189,173,5,5,188,183,5,5,156,203,5,5,239,239,5,5,82,248,5,5,252,189,5,5,241,215,5,5,68,236,5,5,22,245,5,5,15,207,5,5,242,215,5,5,194,234,5,5,189,178,5,5,147,170,5,5,184,235,5,5,121,170,5,5,103,244,5,5,8,229,5,5,75,246,5,5,126,207,5,5,131,220,5,5,229,203,5,5,215,213,5,5,232,177,5,5,252,207,5,5,34,238,5,5,154,172,5,5,148,199,5,5,101,183,5,5,253,207,5,5,174,249,5,5,214,199,5,5,40,203,5,5,222,243,5,5,41,173,5,5,18,241,5,5,67,192,5,5,248,236,5,5,48,173,5,5,88,177,5,5,101,204,5,5,99,190,5,5,37,231,5,5,108,183,5,5,229,243,5,5,211,202,5,5,67,241,5,5,235,179,5,5,47,217,5,5,214,248,5,5,125,212,5,5,183,247,5,5,197,238,5,5,203,184,5,5,156,241,5,5,177,196,5,5,156,236,5,5,239,249,5,5,80,207,5,5,4,246,5,5,223,234,5,5,101,180,5,5,190,245,5,5,11,183,5,5,188,242,5,5,133,184,5,5,121,243,5,5,4,225,5,5,78,226,5,5,14,215,5,5,5,228,5,5,228,176,5,5,232,187,5,5,63,186,5,5,224,223,5,5,236,213,5,5,68,175,5,5,194,243,5,5,50,209,5,5,124,201,5,5,80,176,5,5,69,175,5,5,109,241,5,5,24,227,5,5,192,246,5,5,244,231,5,5,136,194,5,5,125,174,5,5,38,240,5,5,121,227,5,5,11,195,5,5,167,207,5,5,115,199,5,5,38,224,5,5,216,201,5,5,21,214,5,5,247,249,5,5,215,187,5,5,236,236,5,5,59,220,5,5,226,210,5,5,12,229,5,5,189,205,5,5,5,201,5,5,73,236,5,5,196,225,5,5,104,212,5,5,245,244,5,5,56,176,5,5,40,225,5,5,249,249,5,5,166,248,5,5,236,176,5,5,72,200,5,5,21,226,5,5,55,232,5,5,118,180,5,5,201,189,5,5,196,234,5,5,44,234,5,5,68,225,5,5,79,217,5,5,57,176,5,5,137,243,5,5,239,213,5,5,231,198,5,5,203,223,5,5,51,208,5,5,239,217,5,5,95,175,5,5,78,177,5,5,138,243,5,5,4,241,5,5,97,168,5,5,181,244,5,5,216,187,5,5,129,225,5,5,144,194,5,5,107,213,5,5,36,174,5,5,116,242,5,5,35,202,5,5,9,244,5,5,98,201,5,5,94,238,5,5,146,194,5,5,255,171,5,5,21,195,5,5,30,231,5,5,54,225,5,5,24,182,5,5,113,211,5,5,152,239,5,5,85,202,5,5,119,197,5,5,4,237,5,5,153,239,5,5,227,210,5,5,38,219,5,5,158,235,5,5,84,175,5,5,11,237,5,5,107,204,5,5,69,208,5,5,70,208,5,5,228,210,5,5,2,234,5,5,24,195,5,5,63,220,5,5,72,208,5,5,17,237,5,5,206,170,5,5,56,172,5,5,45,222,5,5,108,241,5,5,53,222,5,5,84,222,5,5,64,202,201,160,231,0,5,5,247,237,5,5,105,203,5,5,24,231,5,5,166,195,5,5,167,195,5,5,48,217,5,5,192,238,5,5,155,203,5,5,110,178,5,5,75,245,5,5,236,179,5,5,234,213,5,5,55,217,5,5,181,168,5,5,53,184,5,5,187,245,5,5,129,246,5,5,182,168,5,5,54,206,5,5,54,184,5,5,4,210,5,5,159,179,5,5,124,220,5,5,37,216,5,5,78,199,5,5,230,175,5,5,74,249,5,5,114,182,5,5,35,190,5,5,36,190,5,5,38,188,5,5,15,185,5,5,136,214,5,5,53,207,5,5,186,218,5,5,39,179,5,5,129,223,5,5,122,231,5,5,48,239,5,5,245,172,5,5,177,221,5,5,133,227,5,5,213,230,5,5,146,211,5,5,56,215,5,5,61,217,5,5,29,194,5,5,42,213,5,5,239,237,5,5,182,195,5,5,206,168,5,5,147,182,5,5,14,174,5,5,38,234,5,5,89,180,5,5,29,243,5,5,59,215,5,5,185,183,5,5,222,212,5,5,241,209,5,5,227,233,5,5,111,181,5,5,220,197,5,5,16,181,5,5,252,185,5,5,9,240,5,5,106,215,5,5,25,169,5,5,142,219,5,5,126,218,5,5,182,173,5,5,93,211,5,5,12,183,5,5,105,243,5,5,202,238,5,5,122,216,5,5,223,212,5,5,152,187,5,5,76,189,5,5,235,239,5,5,30,198,5,5,162,179,5,5,61,239,5,5,84,247,5,5,81,231,5,5,178,184,5,5,187,218,5,5,202,191,5,5,5,225,5,5,182,198,5,5,195,242,5,5,84,205,5,5,173,181,5,5,123,216,5,5,44,181,5,5,37,249,5,5,158,210,5,5,115,227,5,5,63,222,5,5,243,208,5,5,64,186,5,5,222,198,5,5,81,204,5,5,118,171,5,5,135,223,5,5,101,186,5,5,203,171,5,5,224,212,5,5,72,242,5,5,136,223,5,5,29,250,5,5,251,171,5,5,52,241,5,5,98,226,5,5,109,193,5,5,203,245,5,5,252,221,5,5,64,222,5,5,142,246,5,5,92,197,5,5,13,173,5,5,187,221,5,5,188,221,5,5,79,235,5,5,77,245,5,5,134,169,5,5,196,188,5,5,109,170,5,5,133,221,5,5,122,175,5,5,230,221,5,5,204,171,5,5,58,248,5,5,247,174,5,5,156,243,5,5,208,213,5,5,25,227,5,5,108,215,5,5,15,184,5,5,193,244,5,5,185,204,5,5,64,215,5,5,16,184,5,5,161,202,5,5,31,243,5,5,225,212,5,5,34,237,5,5,42,169,5,5,161,171,5,5,100,195,5,5,254,185,5,5,212,222,5,5,48,246,5,5,182,209,5,5,82,231,5,5,83,231,5,5,50,179,5,5,64,193,5,5,206,209,5,5,63,225,5,5,122,190,5,5,203,238,5,5,74,223,5,5,212,199,5,5,85,198,5,5,160,169,5,5,40,194,5,5,28,227,5,5,40,234,5,5,82,189,5,5,221,194,5,5,219,174,5,5,16,182,5,5,157,206,5,5,119,171,5,5,69,222,5,5,156,209,5,5,66,193,5,5,242,239,5,5,35,198,5,5,149,247,5,5,43,175,5,5,207,232,5,5,29,227,5,5,122,209,5,5,217,201,5,5,40,192,5,5,84,242,5,5,244,234,5,5,128,218,5,5,20,250,5,5,26,247,5,5,246,216,5,5,128,220,5,5,253,174,5,5,84,232,5,5,41,234,5,5,235,217,5,5,226,212,5,5,186,226,5,5,222,247,5,5,232,232,5,5,41,209,5,5,126,199,5,5,157,237,5,5,249,231,5,5,44,232,5,5,102,234,5,5,36,198,5,5,209,172,5,5,115,201,5,5,142,192,5,5,32,213,5,5,22,219,5,5,87,208,5,5,85,238,5,5,202,239,5,5,9,187,5,5,71,168,5,5,17,180,5,5,80,241,5,5,242,219,5,5,195,198,5,5,112,215,5,5,32,206,5,5,82,223,5,5,0,141,5,5,165,179,5,5,51,188,5,5,96,219,5,5,71,222,5,5,45,199,5,5,78,217,5,5,25,233,5,5,141,245,5,5,131,234,5,5,255,243,5,5,17,226,5,5,106,177,5,5,154,186,5,5,101,189,5,5,88,247,5,5,58,227,5,5,249,205,5,5,170,207,5,5,57,201,5,5,151,228,5,5,232,233,5,5,92,243,5,5,201,169,5,5,154,230,5,5,23,224,5,5,93,242,5,5,30,173,5,5,10,180,5,5,216,171,5,5,52,188,5,5,91,193,5,5,85,189,5,5,247,176,5,5,102,183,5,5,14,173,5,5,138,228,5,5,36,247,5,5,92,223,5,5,28,235,5,5,45,190,5,5,252,241,5,5,153,226,5,5,213,199,5,5,233,248,5,5,62,206,5,5,42,234,5,5,153,216,5,5,108,221,5,5,11,188,5,5,63,206,5,5,240,237,5,5,128,175,5,5,117,244,5,5,244,196,5,5,143,232,5,5,187,226,5,5,57,207,5,5,52,214,5,5,26,202,5,5,41,212,5,5,97,219,5,5,126,174,5,5,81,185,5,5,78,202,5,5,214,225,5,5,98,171,5,5,64,248,5,5,12,246,5,5,89,227,5,5,189,204,5,5,251,249,5,5,113,197,5,5,159,173,5,5,233,242,5,5,61,194,5,5,21,185,5,5,171,179,5,5,198,225,5,5,143,173,5,5,90,206,5,5,193,187,5,5,91,204,5,5,232,212,5,5,193,205,5,5,32,202,5,5,199,215,5,5,249,213,5,5,146,197,5,5,246,208,5,5,252,249,5,5,180,212,5,5,85,168,5,5,233,212,5,5,147,232,5,5,242,235,5,5,146,248,5,5,220,201,5,5,230,198,5,5,57,199,5,5,209,224,5,5,73,200,5,5,133,180,5,5,113,210,5,5,21,176,5,5,46,249,5,5,51,246,5,5,214,169,5,5,19,211,5,5,158,249,5,5,58,176,5,5,44,225,5,5,11,180,5,5,166,214,5,5,118,215,5,5,167,248,5,5,59,192,5,5,100,242,5,5,209,195,5,5,212,186,5,5,88,207,5,5,119,173,5,5,125,226,5,5,12,231,5,5,62,203,5,5,199,225,5,5,137,186,5,5,107,177,5,5,221,222,5,5,216,245,5,5,194,205,5,5,28,208,5,5,195,205,5,5,29,190,5,5,24,171,5,5,142,184,5,5,180,200,5,5,26,199,5,5,148,182,5,5,163,230,5,5,15,210,5,5,154,228,5,5,221,243,5,5,222,189,5,5,166,178,5,5,2,232,5,5,64,213,5,5,190,191,5,5,109,203,5,5,47,182,5,5,225,207,5,5,110,198,5,5,78,240,5,5,213,178,5,5,64,203,5,5,160,187,5,5,91,232,5,5,178,180,5,5,123,227,5,5,14,229,5,5,122,249,5,5,127,184,5,5,255,218,5,5,159,192,5,5,196,181,5,5,39,198,5,5,34,174,5,5,24,226,5,5,153,244,5,5,9,190,5,5,72,237,5,5,203,180,5,5,202,231,5,5,209,241,5,5,46,199,5,5,135,221,5,5,221,190,5,5,76,229,5,5,128,184,5,5,80,245,5,5,213,172,5,5,87,216,5,5,196,221,5,5,40,189,5,5,5,200,5,5,126,226,5,5,160,209,5,5,3,216,5,5,4,216,5,5,120,189,5,5,59,227,5,5,182,176,5,5,132,190,5,5,45,238,5,5,248,208,5,5,68,194,5,5,187,180,5,5,62,194,5,5,162,223,5,5,6,200,5,5,204,189,5,5,33,235,5,5,65,181,5,5,117,195,5,5,218,245,5,5,179,170,5,5,92,247,5,5,49,249,5,5,105,234,5,5,241,237,5,5,194,207,5,5,2,212,5,5,0,144,5,5,160,195,5,5,170,215,5,5,174,207,5,5,161,224,5,5,147,177,5,5,80,169,5,5,204,231,5,5,21,203,5,5,162,224,5,5,122,198,5,5,167,204,5,5,169,237,5,5,49,238,5,5,127,211,5,5,213,229,5,5,228,218,5,5,131,225,5,5,163,224,5,5,204,215,5,5,190,202,5,5,51,223,5,5,22,176,5,5,226,171,5,5,24,212,5,5,118,177,5,5,17,170,5,5,202,219,5,5,22,185,5,5,50,249,5,5,44,230,5,5,146,240,5,5,251,190,5,5,158,226,5,5,168,204,5,5,111,198,5,5,127,224,5,5,37,220,5,5,204,223,5,5,157,228,5,5,139,188,5,5,16,246,5,5,17,246,5,5,58,201,5,5,138,239,5,5,222,242,5,5,144,225,5,5,24,211,5,5,64,231,5,5,71,193,5,5,108,185,5,5,188,206,5,5,134,197,5,5,183,223,5,5,214,249,5,5,164,224,5,5,221,231,5,5,106,183,5,5,151,229,5,5,221,209,5,5,137,205,5,5,165,224,5,5,209,211,5,5,202,249,5,5,156,227,5,5,108,234,5,5,235,186,5,5,87,235,5,5,65,203,5,5,113,222,5,5,157,168,5,5,12,207,5,5,137,209,5,5,118,206,5,5,148,170,5,5,127,229,5,5,170,204,5,5,245,178,5,5,185,219,5,5,147,249,5,5,175,238,5,5,206,205,5,5,127,168,5,5,47,199,5,5,205,215,5,5,23,177,5,5,95,214,5,5,147,173,5,5,94,225,5,5,30,207,5,5,211,240,5,5,92,173,5,5,107,183,5,5,110,196,5,5,9,171,5,5,222,222,5,5,65,205,5,5,135,234,5,5,184,176,5,5,238,204,5,5,227,243,5,5,74,194,5,5,147,172,5,5,43,202,5,5,223,231,5,5,31,231,5,5,169,198,5,5,8,223,5,5,5,170,5,5,67,245,5,5,171,215,5,5,81,174,5,5,211,205,5,5,47,190,5,5,163,192,5,5,31,214,5,5,140,191,5,5,231,215,5,5,211,213,5,5,250,203,5,5,3,220,5,5,136,234,5,5,186,219,5,5,82,174,5,5,44,200,5,5,99,223,5,5,172,204,5,5,75,210,5,5,226,190,5,5,123,213,5,5,104,224,5,5,106,182,5,5,33,216,5,5,203,217,5,5,75,237,5,5,95,225,5,5,237,232,5,5,255,197,5,5,187,194,5,5,11,250,5,5,148,203,5,5,89,216,5,5,99,201,5,5,238,180,5,5,241,233,5,5,201,243,5,5,76,192,5,5,254,193,5,5,95,247,5,5,197,178,5,5,246,235,5,5,174,240,5,5,214,180,5,5,2,198,5,5,128,211,5,5,202,243,5,5,48,214,5,5,189,226,5,5,107,182,5,5,83,174,5,5,246,179,5,5,150,220,5,5,91,198,5,5,188,193,5,5,246,182,5,5,105,224,5,5,139,205,5,5,136,197,5,5,143,191,5,5,122,242,5,5,26,203,5,5,243,248,5,5,8,216,5,5,78,194,5,5,247,248,5,5,172,201,5,5,160,170,5,5,190,226,5,5,138,190,5,5,52,238,5,5,49,181,5,5,195,187,5,5,63,178,5,5,121,197,5,5,48,183,5,5,149,177,5,5,205,169,5,5,156,239,5,5,31,168,5,5,132,249,5,5,224,235,5,5,173,179,5,5,69,248,5,5,20,189,5,5,172,248,5,5,85,192,5,5,37,211,5,5,214,188,5,5,244,191,5,5,183,216,5,5,76,171,5,5,102,240,5,5,46,200,5,5,70,211,5,5,177,234,5,5,79,194,5,5,80,194,5,5,141,215,5,5,232,172,5,5,64,247,5,5,221,208,5,5,55,202,5,5,176,201,5,5,87,192,5,5,225,249,5,5,224,199,5,5,179,220,5,5,192,212,5,5,154,200,5,5,151,180,5,5,53,223,5,5,91,176,5,5,23,206,5,5,17,171,5,5,146,169,5,5,140,205,5,5,158,232,5,5,161,199,5,5,2,205,5,5,206,181,5,5,108,205,5,5,237,233,5,5,81,194,5,5,31,201,5,5,235,171,5,5,196,193,5,5,225,237,5,5,60,173,5,5,187,232,5,5,82,194,5,5,43,231,5,5,243,186,5,5,132,172,5,5,41,211,5,5,208,201,5,5,252,176,5,5,169,217,5,5,44,212,5,5,130,206,5,5,217,249,5,5,48,206,5,5,11,244,5,5,43,211,5,5,16,198,5,5,150,225,5,5,4,248,5,5,250,200,5,5,164,195,5,5,139,184,5,5,183,238,5,5,173,245,5,5,232,179,5,5,69,245,5,5,202,213,5,5,154,203,5,5,132,227,5,5,44,215,5,5,229,175,5,5,80,220,5,5,138,219,5,5,82,182,5,5,154,179,5,5,219,207,5,5,144,211,5,5,50,237,5,5,244,172,5,5,33,234,5,5,173,184,5,5,21,172,5,5,255,224,5,5,73,197,5,5,13,181,5,5,178,173,5,5,80,247,5,5,233,209,5,5,172,169,5,5,10,185,5,5,22,169,5,5,95,215,5,5,203,237,5,5,94,216,5,5,24,198,5,5,32,230,5,5,249,185,5,5,181,198,5,5,144,182,5,5,201,191,5,5,67,227,5,5,90,211,5,5,205,168,5,5,30,242,5,5,98,215,5,5,33,246,5,5,99,215,5,5,86,186,5,5,152,171,5,5,211,198,5,5,221,213,5,5,249,171,5,5,190,171,5,5,22,243,5,5,215,249,5,5,197,209,5,5,60,225,5,5,102,193,5,5,108,179,5,5,41,241,5,5,183,226,5,5,191,171,5,5,57,204,5,5,41,223,5,5,52,215,5,5,99,207,5,5,129,169,5,5,42,222,5,5,71,235,5,5,177,224,5,5,73,170,5,5,128,210,5,5,217,212,5,5,38,181,5,5,37,234,5,5,193,198,5,5,113,201,5,5,252,181,5,5,54,207,5,5,239,235,5,5,76,241,5,5,111,174,5,5,83,193,5,5,237,237,5,5,64,210,5,5,251,246,5,5,53,178,5,5,18,227,5,5,242,205,5,5,160,179,5,5,186,239,5,5,97,198,5,5,147,244,5,5,214,247,5,5,77,231,5,5,2,180,5,5,16,180,5,5,242,231,5,5,37,190,5,5,221,217,5,5,27,220,5,5,200,187,5,5,161,179,5,5,155,185,5,5,33,209,5,5,40,246,5,5,235,219,5,5,207,194,5,5,76,238,5,5,73,173,5,5,41,175,5,5,84,225,5,5,67,168,5,5,234,239,5,5,18,219,5,5,56,248,5,5,88,201,5,5,49,214,5,5,64,230,5,5,178,200,5,5,212,225,5,5,55,203,5,5,41,199,5,5,14,233,5,5,154,224,5,5,74,202,5,5,116,244,5,5,116,175,5,5,153,187,5,5,77,185,5,5,112,181,5,5,125,234,5,5,103,177,5,5,59,206,5,5,93,183,5,5,228,233,5,5,184,204,5,5,89,198,5,5,223,193,5,5,92,219,5,5,242,225,5,5,50,201,5,5,150,216,5,5,237,196,5,5,0,129,5,5,190,215,5,5,155,245,5,5,175,211,5,5,105,177,5,5,82,207,5,5,213,169,5,5,150,214,5,5,163,178,5,5,9,199,5,5,63,200,5,5,118,173,5,5,234,230,5,5,135,186,5,5,111,206,5,5,19,176,5,5,145,248,5,5,198,195,5,5,17,247,5,5,245,231,5,5,144,197,5,5,187,191,5,5,110,212,5,5,33,225,5,5,6,180,5,5,41,194,5,5,96,197,5,5,23,208,5,5,34,249,5,5,82,216,5,5,65,240,5,5,109,198,5,5,197,215,5,5,83,223,5,5,182,181,5,5,210,172,5,5,247,215,5,5,87,247,5,5,199,180,5,5,200,223,5,5,208,190,5,5,123,190,5,5,0,142,5,5,175,180,5,5,190,207,5,5,62,205,5,5,38,249,5,5,238,182,5,5,168,207,5,5,129,209,5,5,13,246,5,5,217,171,5,5,135,185,5,5,14,211,5,5,143,225,5,5,133,197,5,5,15,211,5,5,220,209,5,5,153,204,5,5,64,185,5,5,77,169,5,5,97,239,5,5,67,193,5,5,64,171,5,5,220,218,5,5,252,170,5,5,92,225,5,5,28,207,5,5,114,206,5,5,3,170,5,5,207,240,5,5,107,196,5,5,211,178,5,5,201,249,5,5,82,235,5,5,159,204,5,5,42,173,5,5,242,197,5,5,171,203,5,5,28,214,5,5,130,205,5,5,233,180,5,5,227,200,5,5,45,214,5,5,248,176,5,5,202,215,5,5,195,178,5,5,232,191,5,5,164,201,5,5,133,190,5,5,242,248,5,5,22,203,5,5,139,239,5,5,231,172,5,5,11,171,5,5,151,200,5,5,57,173,5,5,185,232,5,5,41,245,5,5,129,173,5,5,178,196,5,5,135,168,5,5,203,179,5,5,118,217,5,5,160,203,5,5,63,208,5,5,40,245,5,5,220,207,5,5,194,206,5,5,238,222,5,5,110,220,5,5,214,191,5,5,221,207,5,5,105,236,5,5,80,170,5,5,39,188,5,5,81,170,5,5,91,220,5,5,90,198,5,5,183,198,5,5,238,169,5,5,77,189,5,5,103,219,5,5,191,219,5,5,38,232,5,5,39,232,5,5,151,193,5,5,10,209,5,5,161,231,5,5,24,223,5,5,103,180,5,5,150,244,5,5,94,210,5,5,211,244,5,5,151,212,5,5,208,231,5,5,82,204,5,5,217,170,5,5,110,170,5,5,104,219,5,5,15,168,5,5,194,186,5,5,132,185,5,5,133,185,5,5,41,182,5,5,180,175,5,5,97,189,5,5,47,187,5,5,14,209,5,5,228,219,5,5,91,200,5,5,73,201,5,5,221,205,5,5,227,226,5,5,55,220,5,5,17,197,5,5,32,243,5,5,33,243,5,5,84,173,5,5,188,217,5,5,26,204,5,5,120,173,5,5,66,220,5,5,92,200,5,5,74,236,5,5,179,229,5,5,121,236,5,5,194,181,5,5,160,191,5,5,101,242,5,5,180,229,5,5,104,189,5,5,94,169,5,5,102,189,5,5,190,217,5,5,196,237,5,5,182,229,5,5,28,169,5,5,86,168,5,5,15,229,5,5,209,239,5,5,112,200,5,5,40,218,5,5,228,200,5,5,119,180,5,5,240,217,5,5,104,183,5,5,106,226,5,5,25,211,5,5,214,224,5,5,112,198,5,5,208,188,5,5,42,218,5,5,250,175,5,5,198,186,5,5,108,180,5,5,216,214,5,5,235,199,5,5,133,225,5,5,200,186,5,5,102,213,5,5,154,198,5,5,152,231,5,5,141,191,5,5,93,173,5,5,55,213,5,5,102,178,5,5,139,190,5,5,217,224,5,5,184,229,5,5,183,224,5,5,216,207,5,5,236,222,5,5,106,220,5,5,83,236,5,5,26,188,5,5,47,170,5,5,197,229,5,5,246,175,5,5,101,219,5,5,238,228,5,5,18,232,5,5,51,189,5,5,129,193,5,5,252,208,5,5,157,198,5,5,228,207,5,5,145,244,5,5,91,210,5,5,30,187,5,5,164,229,5,5,195,224,5,5,3,209,5,5,219,205,5,5,96,198,5,5,33,182,5,5,114,185,5,5,169,188,5,5,81,200,5,5,154,196,5,5,23,243,5,5,39,201,5,5,115,180,5,5,43,242,5,5,63,236,5,5,113,173,5,5,123,231,5,5,169,229,5,5,154,191,5,5,106,236,5,5,162,181,5,5,74,173,5,5,213,200,5,5,185,217,5,5,89,191,5,5,106,200,5,5,26,218,5,5,197,188,5,5,99,226,5,5,141,177,5,5,15,218,5,5,20,188,5,5,129,190,5,5,82,184,5,5,72,184,5,5,134,201,5,5,216,180,5,5,243,233,5,5,27,215,5,5,115,230,5,5,171,184,5,5,196,246,5,5,169,239,5,5,40,237,5,5,83,180,5,5,136,181,5,5,112,221,5,5,15,169,5,5,105,212,5,5,33,199,5,5,97,243,5,5,64,219,5,5,164,246,5,5,241,212,5,5,48,196,5,5,150,182,5,5,41,237,5,5,170,239,5,5,245,245,5,5,27,195,5,5,51,174,5,5,140,181,5,5,93,217,5,5,253,178,5,5,204,249,5,5,35,250,5,5,102,179,5,5,113,204,5,5,0,128,5,5,243,227,5,5,244,227,5,5,147,169,5,5,101,171,5,5,78,184,5,5,202,192,5,5,143,205,5,5,6,205,5,5,254,173,5,5,27,234,5,5,71,181,5,5,58,205,5,5,96,209,5,5,130,194,5,5,123,222,5,5,72,181,5,5,111,232,5,5,223,181,5,5,73,187,5,5,119,241,5,5,150,184,5,5,107,220,5,5,46,198,5,5,42,216,5,5,34,234,5,5,42,176,5,5,92,184,5,5,66,170,5,5,176,231,5,5,109,220,5,5,126,221,5,5,222,246,5,5,5,214,5,5,86,180,5,5,239,242,5,5,250,245,5,5,110,175,5,5,115,232,5,5,116,178,5,5,248,210,5,5,101,243,5,5,70,232,5,5,106,212,5,5,232,182,5,5,166,249,5,5,30,239,5,5,224,180,5,5,75,206,5,5,182,239,5,5,224,196,5,5,11,176,5,5,6,174,5,5,253,212,5,5,58,204,5,5,185,225,5,5,123,232,5,5,152,205,5,5,128,221,5,5,76,232,5,5,187,239,5,5,10,248,5,5,59,237,5,5,181,218,5,5,185,231,5,5,32,175,5,5,217,236,5,5,188,239,5,5,206,222,5,5,207,178,5,5,160,241,5,5,222,204,5,5,204,228,5,5,205,228,5,5,2,211,5,5,225,180,5,5,63,224,5,5,68,168,5,5,190,190,5,5,35,195,5,5,64,224,5,5,7,240,5,5,179,184,5,5,166,236,5,5,18,191,5,5,124,185,5,5,106,243,5,5,141,230,5,5,242,199,5,5,6,168,5,5,128,231,5,5,110,225,5,5,240,192,5,5,59,245,5,5,122,178,5,5,105,168,5,5,134,231,5,5,11,240,5,5,144,219,5,5,109,218,5,5,230,203,5,5,169,227,5,5,190,178,5,5,228,194,5,5,85,224,5,5,66,224,5,5,151,168,5,5,86,232,5,5,33,183,5,5,162,210,5,5,236,181,5,5,60,192,5,5,127,178,5,5,61,231,5,5,20,240,5,5,41,247,5,5,34,191,5,5,12,205,5,5,32,231,5,5,111,202,5,5,174,202,5,5,181,202,5,5,142,248,5,5,175,189,5,5,104,246,5,5,121,224,5,5,155,197,5,5,26,210,5,5,49,239,5,5,23,218,5,5,226,236,5,5,124,216,5,5,60,215,5,5,79,234,5,5,19,236,5,5,131,192,5,5,132,186,5,5,118,190,5,5,18,247,5,5,35,186,5,5,162,197,5,5,117,176,5,5,195,240,5,5,239,196,5,5,123,175,5,5,162,189,5,5,166,243,5,5,158,206,5,5,199,241,5,5,73,175,5,5,142,179,5,5,61,224,5,5,61,188,5,5,16,230,5,5,244,222,5,5,233,186,5,5,135,175,5,5,169,243,5,5,210,240,5,5,71,192,5,5,25,231,5,5,80,175,5,5,203,204,5,5,39,202,5,5,32,210,5,5,115,235,5,5,172,243,5,5,168,192,5,5,169,192,5,5,227,241,5,5,161,241,5,5,117,235,5,5,224,209,5,5,159,183,5,5,236,219,5,5,199,209,5,5,170,229,5,5,13,183,5,5,48,212,5,5,83,243,5,5,153,202,5,5,248,174,5,5,35,237,5,5,83,204,5,5,155,201,5,5,61,168,5,5,98,169,5,5,148,230,5,5,116,179,5,5,88,178,5,5,253,189,5,5,149,230,5,5,166,179,5,5,164,234,5,5,250,192,5,5,210,209,5,5,20,174,5,5,26,233,5,5,180,244,5,5,228,226,5,5,14,246,5,5,130,212,5,5,171,207,5,5,87,204,5,5,92,214,5,5,152,247,5,5,227,191,5,5,56,220,5,5,193,182,5,5,88,189,5,5,217,244,5,5,206,239,5,5,142,210,5,5,67,248,5,5,212,227,5,5,240,203,5,5,92,204,5,5,73,180,5,5,79,240,5,5,156,230,5,5,98,204,5,5,243,222,5,5,99,204,5,5,203,231,5,5,90,189,5,5,210,239,5,5,234,206,5,5,235,206,5,5,112,243,5,5,201,204,5,5,36,208,5,5,74,171,5,5,158,230,5,5,128,229,5,5,116,200,5,5,250,239,5,5,65,231,5,5,143,239,5,5,0,165,5,5,48,178,5,5,239,225,5,5,156,232,5,5,123,242,5,5,212,205,5,5,239,204,5,5,208,177,5,5,164,192,5,5,51,212,5,5,77,237,5,5,221,168,5,5,239,212,5,5,20,229,5,5,112,183,5,5,153,231,5,5,30,193,5,5,214,206,5,5,14,208,5,5,15,208,5,5,177,201,5,5,224,202,5,5,245,191,5,5,0,166,5,5,247,182,5,5,211,177,5,5,3,205,5,5,108,204,5,5,33,168,5,5,114,183,5,5,227,202,5,5,123,169,5,5,239,188,5,5,240,188,5,5,242,188,5,5,139,171,5,5,166,216,5,5,167,216,5,5,97,196,5,5,79,226,5,5,204,245,5,5,99,196,5,5,68,174,5,5,215,216,5,5,104,196,5,5,105,196,5,5,122,179,5,5,108,196,5,5,81,226,5,5,178,182,5,5,189,182,5,5,197,198,5,5,59,208,5,5,170,208,5,5,169,208,5,5,136,169,5,5,35,238,5,5,127,226,5,5,144,191,5,5,53,238,5,5,115,185,5,5,237,179,5,5,223,172,5,5,107,215,5,5,171,218,5,5,227,178,5,5,174,180,5,5,142,230,5,5,172,218,5,5,129,216,5,5,237,195,5,5,93,235,5,5,94,211,5,5,207,168,5,5,12,240,5,5,132,219,5,5,243,209,5,5,123,209,5,5,213,249,5,5,142,177,5,5,43,169,5,5,86,239,5,5,211,237,5,5,195,225,5,5,198,169,5,5,49,195,5,5,83,189,5,5,84,212,5,5,36,237,5,5,120,171,5,5,204,239,5,5,136,185,5,5,197,225,5,5,112,195,5,5,133,233,5,5,50,168,5,5,51,168,5,5,249,188,5,5,238,185,5,5,15,215,5,5,144,177,5,5,24,216,5,5,207,226,5,5,248,206,5,5,182,240,5,5,60,224,5,5,154,226,5,5,53,216,5,5,83,235,5,5,62,199,5,5,251,169,5,5,212,224,5,5,187,220,5,5,123,171,5,5,113,200,5,5,248,196,5,5,156,200,5,5,202,233,5,5,2,219,5,5,58,169,5,5,217,181,5,5,24,217,5,5,25,217,5,5,209,188,5,5,57,216,5,5,213,209,5,5,249,196,5,5,176,193,5,5,182,170,5,5,214,178,5,5,181,193,5,5,154,229,5,5,176,225,5,5,5,186,5,5,215,224,5,5,204,169,5,5,138,233,5,5,25,212,5,5,145,185,5,5,153,170,5,5,117,200,5,5,96,225,5,5,48,205,5,5,121,187,5,5,34,216,5,5,97,235,5,5,80,192,5,5,192,193,5,5,110,194,5,5,104,173,5,5,150,177,5,5,14,190,5,5,100,232,5,5,88,215,5,5,152,180,5,5,70,228,5,5,197,193,5,5,251,200,5,5,242,228,5,5,173,218,5,5,22,184,5,5,211,207,5,5,10,218,5,5,137,185,5,5,71,229,5,5,54,216,5,5,13,188,5,5,172,173,5,5,114,200,5,5,8,219,5,5,141,243,5,5,7,221,5,5,80,229,5,5,143,185,5,5,253,168,5,5,177,225,5,5,6,186,5,5,142,243,5,5,49,185,5,5,154,170,5,5,82,229,5,5,106,224,5,5,149,180,5,5,71,228,5,5,153,180,5,5,232,228,5,5,157,218,5,5,237,183,5,5,6,188,5,5,61,229,5,5,128,243,5,5,169,225,5,5,175,196,5,5,179,196,5,5,252,231,5,5,196,233,5,5,5,232,5,5,73,192,5,5,177,239,5,5,165,243,5,5,129,243,5,5,211,220,5,5,146,201,5,5,181,212,5,5,225,190,5,5,85,240,5,5,144,243,5,5,188,212,5,5,57,168,5,5,211,239,5,5,214,232,5,5,15,190,5,5,8,238,5,5,240,179,5,5,204,216,5,5,243,199,5,5,228,232,5,5,28,223,5,5,233,187,5,5,158,234,5,5,154,238,5,5,161,234,5,5,127,181,5,5,181,223,5,5,16,200,5,5,151,214,5,5,82,188,5,5,73,242,5,5,109,228,5,5,8,169,5,5,18,181,5,5,236,178,5,5,233,177,5,5,40,212,5,5,209,213,5,5,117,204,5,5,231,173,5,5,60,196,5,5,218,201,5,5,202,188,5,5,249,215,5,5,187,181,5,5,117,181,5,5,72,229,5,5,134,233,5,5,108,200,5,5,82,221,5,5,166,238,5,5,167,238,5,5,208,187,5,5,215,180,5,5,253,241,5,5,160,213,5,5,219,201,5,5,68,184,5,5,92,193,5,5,65,227,5,5,123,191,5,5,2,200,5,5,93,193,5,5,101,206,5,5,246,226,5,5,75,174,5,5,171,240,5,5,61,243,5,5,202,189,5,5,57,188,5,5,68,196,5,5,171,227,5,5,172,227,5,5,138,213,5,5,193,200,5,5,173,227,5,5,53,249,5,5,52,249,5,5,23,176,5,5,13,180,5,5,194,200,5,5,48,225,5,5,58,188,5,5,75,215,5,5,232,198,5,5,54,177,5,5,61,235,5,5,104,216,5,5,171,238,5,5,159,219,5,5,27,226,5,5,120,181,5,5,199,181,5,5,123,236,5,5,205,229,5,5,145,198,5,5,222,240,5,5,93,248,5,5,124,236,5,5,93,232,5,5,254,233,5,5,215,238,5,5,252,242,5,5,203,219,5,5,78,179,5,5,79,179,5,5,125,194,5,5,234,199,5,5,223,201,5,5,100,201,5,5,109,213,5,5,80,228,5,5,253,206,5,5,244,176,5,5,174,237,5,5,142,188,5,5,35,216,5,5,140,186,5,5,223,235,5,5,189,236,5,5,146,191,5,5,105,173,5,5,39,219,5,5,17,208,5,5,77,171,5,5,101,232,5,5,145,213,5,5,109,205,5,5,20,201,5,5,42,211,5,5,251,217,5,5,254,237,5,5,239,179,5,5,201,216,5,5,229,187,5,5,221,232,5,5,26,223,5,5,145,234,5,5,148,234,5,5,105,228,5,5,124,186,5,5,14,181,5,5,124,214,5,5,4,169,5,5,179,223,5,5,78,188,5,5,31,242,5,5,83,205,5,5,116,204,5,5,223,213,5,5,57,196,5,5,90,195,5,5,87,193,5,5,244,226,5,5,189,188,5,5,163,240,5,5,136,196,5,5,216,198,5,5,155,238,5,5,137,213,5,5,97,191,5,5,168,227,5,5,44,188,5,5,164,240,5,5,165,240,5,5,225,198,5,5,18,226,5,5,221,240,5,5,188,181,5,5,89,248,5,5,118,236,5,5,118,181,5,5,20,211,5,5,237,206,5,5,75,179,5,5,201,219,5,5,140,188,5,5,222,201,5,5,101,173,5,5,37,219,5,5,144,213,5,5,250,217,5,5,83,183,5,5,239,170,5,5,149,186,5,5,17,184,5,5,163,231,5,5,243,244,5,5,245,170,5,5,146,219,5,5,200,168,5,5,239,224,5,5,202,203,5,5,155,186,5,5,84,235,5,5,203,220,5,5,115,197,5,5,2,171,5,5,97,223,5,5,81,229,5,5,74,237,5,5,171,237,5,5,206,223,5,5,113,198,5,5,207,223,5,5,69,182,5,5,171,204,5,5,67,231,5,5,204,204,5,5,96,213,5,5,97,213,5,5,174,204,5,5,12,171,5,5,13,171,5,5,14,171,5,5,151,203,5,5,15,171,5,5,5,220,5,5,115,183,5,5,111,234,5,5,70,183,5,5,45,237,5,5,232,244,5,5,232,170,5,5,139,219,5,5,93,197,5,5,75,223,5,5,198,223,5,5,158,237,5,5,148,204,5,5,91,213,5,5,253,170,5,5,254,170,5,5,179,182,5,5,71,182,5,5,199,182,5,5,176,182,5,5,219,221,5,5,212,221,5,5,75,172,5,5,18,192,5,5,253,179,5,5,126,223,5,5,238,227,5,5,206,244,5,5,111,224,5,5,205,232,5,5,209,227,5,5,174,218,5,5,60,242,5,5,165,197,5,5,242,174,5,5,13,240,5,5,131,182,5,5,132,182,5,5,115,224,5,5,10,240,5,5,70,227,5,5,156,238,5,5,49,250,5,5,111,170,5,5,129,195,5,5,170,225,5,5,112,169,5,5,121,176,5,5,193,226,5,5,137,223,5,5,113,169,5,5,65,222,5,5,84,181,5,5,223,187,5,5,176,218,5,5,122,226,5,5,222,194,5,5,90,193,5,5,121,171,5,5,159,237,5,5,30,227,5,5,122,176,5,5,208,232,5,5,95,237,5,5,168,197,5,5,254,181,5,5,239,236,5,5,153,201,5,5,244,230,5,5,82,172,5,5,166,171,5,5,107,210,5,5,189,181,5,5,35,172,5,5,65,198,5,5,106,180,5,5,24,224,5,5,200,241,5,5,72,222,5,5,165,237,5,5,169,191,5,5,194,187,5,5,73,222,5,5,63,194,5,5,168,248,5,5,122,171,5,5,148,232,5,5,37,172,5,5,40,238,5,5,45,225,5,5,195,182,5,5,34,245,5,5,119,229,5,5,213,186,5,5,195,181,5,5,157,211,5,5,139,243,5,5,205,189,5,5,222,190,5,5,194,226,5,5,129,191,5,5,177,193,5,5,121,189,5,5,25,168,5,5,130,225,5,5,15,183,5,5,123,229,5,5,116,186,5,5,214,172,5,5,184,223,5,5,132,225,5,5,227,171,5,5,47,185,5,5,148,231,5,5,40,200,5,5,202,204,5,5,205,223,5,5,202,225,5,5,50,238,5,5,152,229,5,5,76,209,5,5,134,225,5,5,251,206,5,5,149,170,5,5,119,242,5,5,109,234,5,5,211,195,5,5,187,219,5,5,45,200,5,5,115,248,5,5,151,220,5,5,6,175,5,5,49,178,5,5,154,239,5,5,77,192,5,5,107,218,5,5,84,174,5,5,215,240,5,5,178,225,5,5,131,229,5,5,215,232,5,5,224,244,5,5,16,183,5,5,226,187,5,5,16,208,5,5,12,237,5,5,83,209,5,5,61,173,5,5,216,232,5,5,131,206,5,5,236,243,5,5,51,210,5,5,202,221,5,5,249,179,5,5,252,191,5,5,223,227,5,5,98,225,5,5,205,227,5,5,108,231,5,5,158,218,5,5,18,242,5,5,228,174,5,5,119,182,5,5,4,240,5,5,11,194,5,5,22,222,5,5,102,169,5,5,118,223,5,5,73,181,5,5,116,238,5,5,248,181,5,5,101,218,5,5,203,232,5,5,170,188,5,5,152,201,5,5,199,194,5,5,187,230,5,5,110,171,5,5,153,171,5,5,96,180,5,5,153,181,5,5,157,241,5,5,104,210,5,5,51,198,5,5,184,187,5,5,164,191,5,5,127,232,5,5,205,186,5,5,208,172,5,5,28,200,5,5,97,186,5,5,196,223,5,5,23,173,5,5,24,238,5,5,62,209,5,5,205,171,5,5,144,204,5,5,100,234,5,5,205,195,5,5,244,206,5,5,180,219,5,5,110,248,5,5,49,210,5,5,95,222,5,5,244,199,5,5,178,187,5,5,162,232,5,5,32,183,5,5,213,171,5,5,159,210,5,5,122,170,5,5,218,171,5,5,122,227,5,5,237,187,5,5,196,182,5,5,178,193,5,5,54,168,5,5,28,168,5,5,131,184,5,5,8,232,5,5,62,243,5,5,236,233,5,5,49,183,5,5,129,213,5,5,238,233,5,5,182,206,5,5,61,242,5,5,124,183,5,5,45,188,5,5,229,178,5,5,7,228,5,5,136,245,5,5,194,174,5,5,183,235,5,5,59,248,5,5,115,246,5,5,128,212,5,5,253,233,5,5,188,218,5,5,145,219,5,5,109,243,5,5,173,229,5,5,145,246,5,5,33,178,5,5,222,205,5,5,55,241,5,5,214,171,5,5,115,169,5,5,225,197,5,5,9,228,5,5,87,239,5,5,115,217,5,5,174,229,5,5,119,217,5,5,120,196,5,5,224,213,5,5,78,245,5,5,163,242,5,5,114,212,5,5,192,247,5,5,101,197,5,5,65,248,5,5,134,211,5,5,245,196,5,5,229,212,5,5,249,243,5,5,122,193,5,5,88,204,5,5,240,245,5,5,240,224,5,5,121,184,5,5,96,237,5,5,253,221,5,5,128,170,5,5,10,228,5,5,11,228,5,5,139,223,5,5,154,204,5,5,204,206,5,5,77,213,5,5,200,225,5,5,42,247,5,5,223,218,5,5,229,225,5,5,72,180,5,5,145,235,5,5,202,217,5,5,54,221,5,5,121,196,5,5,255,181,5,5,224,187,5,5,219,171,5,5,226,247,5,5,207,239,5,5,159,206,5,5,153,247,5,5,42,178,5,5,225,187,5,5,162,204,5,5,22,197,5,5,174,223,5,5,105,216,5,5,58,207,5,5,59,201,5,5,59,188,5,5,124,227,5,5,34,235,5,5,190,227,5,5,68,198,5,5,129,181,5,5,143,174,5,5,20,234,5,5,0,155,5,5,202,205,5,5,147,248,5,5,157,247,5,5,8,221,5,5,78,213,5,5,75,200,5,5,203,225,5,5,181,200,5,5,125,249,5,5,15,199,5,5,175,214,5,5,176,214,5,5,249,236,5,5,197,182,5,5,216,219,5,5,250,236,5,5,146,185,5,5,197,237,5,5,161,230,5,5,85,213,5,5,185,176,5,5,86,213,5,5,123,215,5,5,198,182,5,5,227,190,5,5,121,215,5,5,193,191,5,5,215,241,5,5,30,226,5,5,243,217,5,5,206,231,5,5,127,249,5,5,7,200,5,5,4,219,5,5,98,223,5,5,157,186,5,5,16,228,5,5,61,187,5,5,208,223,5,5,84,215,5,5,135,174,5,5,56,247,5,5,173,204,5,5,190,212,5,5,233,225,5,5,68,231,5,5,152,172,5,5,144,180,5,5,5,237,5,5,225,242,5,5,178,249,5,5,217,219,5,5,152,220,5,5,188,214,5,5,60,247,5,5,248,222,5,5,213,205,5,5,69,231,5,5,121,206,5,5,36,245,5,5,139,209,5,5,158,168,5,5,84,172,5,5,16,171,5,5,186,176,5,5,130,217,5,5,158,170,5,5,61,247,5,5,125,242,5,5,176,234,5,5,48,190,5,5,169,171,5,5,33,224,5,5,49,233,5,5,252,203,5,5,17,245,5,5,255,180,5,5,177,204,5,5,18,228,5,5,196,172,5,5,125,179,5,5,188,194,5,5,191,226,5,5,13,237,5,5,127,206,5,5,226,244,5,5,44,196,5,5,161,239,5,5,54,238,5,5,240,227,5,5,130,213,5,5,199,247,5,5,18,237,5,5,4,205,5,5,228,205,5,5,238,225,5,5,188,232,5,5,34,193,5,5,254,222,5,5,31,197,5,5,72,231,5,5,106,190,5,5,59,202,5,5,18,171,5,5,178,206,5,5,11,242,5,5,241,227,5,5,163,235,5,5,178,174,5,5,94,217,5,5,184,218,5,5,175,171,5,5,218,205,5,5,248,243,5,5,246,221,5,5,119,223,5,5,83,184,5,5,217,196,5,5,163,249,5,5,34,248,5,5,251,227,5,5,132,211,5,5,115,193,5,5,5,239,5,5,178,177,5,5,246,232,5,5,195,206,5,5,178,239,5,5,160,194,5,5,33,190,5,5,147,206,5,5,219,187,5,5,66,213,5,5,233,170,5,5,250,201,5,5,140,174,5,5,213,236,5,5,6,234,5,5,96,216,5,5,52,198,5,5,137,214,5,5,138,214,5,5,5,199,5,5,144,248,5,5,100,249,5,5,249,223,5,5,76,172,5,5,83,213,5,5,7,247,5,5,248,199,5,5,210,219,5,5,143,230,5,5,150,168,5,5,145,204,5,5,65,215,5,5,129,220,5,5,246,170,5,5,113,206,5,5,168,176,5,5,85,173,5,5,195,247,5,5,23,193,5,5,246,222,5,5,181,232,5,5,81,186,5,5,45,229,5,5,52,229,5,5,53,229,5,5,178,241,5,5,244,184,5,5,62,239,5,5,90,168,5,5,63,227,5,5,155,195,5,5,137,169,5,5,199,169,5,5,98,176,5,5,39,226,5,5,14,179,5,5,99,199,5,5,209,187,5,5,250,215,5,5,118,189,5,5,130,199,5,5,138,185,5,5,182,227,5,5,196,185,5,5,75,213,5,5,144,170,5,5,233,198,5,5,24,215,5,5,211,241,5,5,70,224,5,5,47,205,5,5,230,171,5,5,42,233,5,5,64,169,5,5,231,171,5,5,99,176,5,5,160,199,5,5,86,171,5,5,80,209,5,5,149,203,5,5,49,205,5,5,46,233,5,5,150,180,5,5,246,243,5,5,71,224,5,5,42,226,5,5,88,171,5,5,162,199,5,5,110,205,5,5,35,185,5,5,37,185,5,5,49,216,5,5,185,198,5,5,39,216,5,5,101,201,5,5,227,219,5,5,234,170,5,5,60,200,5,5,64,200,5,5,230,178,5,5,171,182,5,5,103,234,5,5,64,218,5,5,83,207,5,5,34,178,5,5,69,200,5,5,81,171,5,5,51,182,5,5,155,226,5,5,230,212,5,5,47,249,5,5,53,182,5,5,66,218,5,5,65,226,5,5,139,169,5,5,129,170,5,5,87,207,5,5,26,184,5,5,237,181,5,5,224,218,5,5,121,217,5,5,226,185,5,5,104,234,5,5,109,200,5,5,7,193,5,5,182,212,5,5,74,248,5,5,204,220,5,5,145,224,5,5,68,226,5,5,182,202,5,5,83,171,5,5,126,249,5,5,244,178,5,5,185,212,5,5,163,223,5,5,53,246,5,5,242,217,5,5,128,249,5,5,33,223,5,5,249,193,5,5,29,228,5,5,208,189,5,5,149,200,5,5,163,196,5,5,187,214,5,5,25,203,5,5,242,245,5,5,87,171,5,5,191,212,5,5,206,206,5,5,174,219,5,5,254,206,5,5,255,206,5,5,11,220,5,5,178,234,5,5,210,203,5,5,86,215,5,5,85,215,5,5,48,210,5,5,140,190,5,5,118,200,5,5,71,211,5,5,89,171,5,5,211,203,5,5,88,218,5,5,97,180,5,5,105,180,5,5,95,210,5,5,103,189,5,5,149,231,5,5,110,180,5,5,22,188,5,5,112,180,5,5,111,180,5,5,164,196,5,5,164,173,5,5,134,242,5,5,135,242,5,5,118,185,5,5,245,236,5,5,69,184,5,5,142,216,5,5,60,187,5,5,129,249,5,5,205,204,5,5,63,187,5,5,172,220,5,5,126,242,5,5,80,187,5,5,208,207,5,5,241,192,5,5,152,214,5,5,146,184,5,5,253,199,5,5,168,191,5,5,201,168,5,5,238,213,5,5,212,207,5,5,165,234,5,5,174,236,5,5,30,233,5,5,95,203,5,5,108,242,5,5,174,227,5,5,94,214,5,5,190,228,5,5,96,203,5,5,124,229,5,5,214,184,5,5,171,174,5,5,98,213,5,5,155,170,5,5,81,209,5,5,189,192,5,5,175,234,5,5,97,175,5,5,194,236,5,5,227,244,5,5,162,241,5,5,112,178,5,5,127,218,5,5,101,195,5,5,185,168,5,5,84,189,5,5,239,227,5,5,167,179,5,5,184,192,5,5,248,234,5,5,119,181,5,5,183,181,5,5,35,220,5,5,83,188,5,5,211,227,5,5,130,209,5,5,159,195,5,5,83,221,5,5,27,169,5,5,214,242,5,5,14,213,5,5,126,205,5,5,175,229,5,5,198,189,5,5,86,205,5,5,157,243,5,5,156,182,5,5,38,183,5,5,244,209,5,5,58,241,5,5,84,213,5,5,68,209,5,5,206,188,5,5,200,231,5,5,122,217,5,5,12,188,5,5,234,212,5,5,93,204,5,5,13,228,5,5,167,171,5,5,80,217,5,5,198,213,5,5,31,184,5,5,139,170,5,5,136,176,5,5,120,229,5,5,246,196,5,5,143,179,5,5,218,168,5,5,60,241,5,5,138,187,5,5,235,212,5,5,195,210,5,5,17,234,5,5,242,224,5,5,141,169,5,5,125,184,5,5,164,244,5,5,106,197,5,5,70,186,5,5,235,221,5,5,38,180,5,5,212,177,5,5,213,224,5,5,118,195,5,5,152,222,5,5,137,189,5,5,212,232,5,5,238,181,5,5,87,168,5,5,16,229,5,5,107,245,5,5,227,247,5,5,43,240,5,5,204,203,5,5,160,206,5,5,42,227,5,5,40,226,5,5,133,239,5,5,138,171,5,5,77,229,5,5,181,194,5,5,100,199,5,5,56,187,5,5,6,232,5,5,141,185,5,5,55,191,5,5,118,201,5,5,34,184,5,5,198,198,5,5,106,234,5,5,48,181,5,5,40,198,5,5,28,226,5,5,168,208,5,5,205,220,5,5,165,244,5,5,146,224,5,5,106,216,5,5,212,241,5,5,108,210,5,5,147,245,5,5,139,187,5,5,197,185,5,5,228,223,5,5,71,230,5,5,82,217,5,5,103,220,5,5,10,214,5,5,177,190,5,5,157,226,5,5,83,202,5,5,38,220,5,5,39,220,5,5,199,198,5,5,9,208,5,5,132,174,5,5,40,202,5,5,183,249,5,5,26,231,5,5,254,240,5,5,57,221,5,5,54,249,5,5,179,214,5,5,54,246,5,5,213,232,5,5,109,210,5,5,59,176,5,5,24,193,5,5,147,179,5,5,88,216,5,5,139,186,5,5,169,247,5,5,40,180,5,5,182,200,5,5,245,182,5,5,144,210,5,5,144,239,5,5,76,200,5,5,207,205,5,5,204,196,5,5,122,173,5,5,39,196,5,5,91,206,5,5,102,204,5,5,176,249,5,5,44,202,5,5,31,208,5,5,130,249,5,5,57,247,5,5,199,210,5,5,223,189,5,5,216,241,5,5,15,179,5,5,197,221,5,5,59,221,5,5,178,190,5,5,31,226,5,5,122,189,5,5,22,234,5,5,232,247,5,5,152,200,5,5,131,249,5,5,93,244,5,5,183,170,5,5,184,170,5,5,179,190,5,5,246,217,5,5,95,244,5,5,229,228,5,5,230,228,5,5,218,241,5,5,39,176,5,5,5,219,5,5,220,179,5,5,228,190,5,5,67,203,5,5,182,236,5,5,27,217,5,5,28,217,5,5,250,193,5,5,18,170,5,5,202,181,5,5,76,237,5,5,132,184,5,5,160,219,5,5,231,184,5,5,166,231,5,5,30,228,5,5,209,189,5,5,85,222,5,5,122,219,5,5,41,235,5,5,155,229,5,5,169,215,5,5,143,188,5,5,45,230,5,5,157,182,5,5,218,219,5,5,175,204,5,5,189,206,5,5,239,221,5,5,198,221,5,5,201,186,5,5,57,249,5,5,235,225,5,5,191,224,5,5,175,237,5,5,124,181,5,5,223,240,5,5,125,215,5,5,189,214,5,5,156,229,5,5,123,219,5,5,65,221,5,5,27,203,5,5,128,168,5,5,150,201,5,5,37,191,5,5,22,209,5,5,31,193,5,5,160,226,5,5,131,217,5,5,193,193,5,5,60,221,5,5,2,207,5,5,71,231,5,5,83,217,5,5,28,171,5,5,32,193,5,5,28,193,5,5,251,247,5,5,111,194,5,5,110,234,5,5,94,248,5,5,216,240,5,5,37,245,5,5,170,198,5,5,123,235,5,5,32,171,5,5,128,242,5,5,132,217,5,5,238,232,5,5,170,171,5,5,246,194,5,5,194,235,5,5,34,224,5,5,229,190,5,5,13,250,5,5,155,220,5,5,156,220,5,5,72,182,5,5,122,187,5,5,253,203,5,5,195,235,5,5,185,208,5,5,100,231,5,5,115,244,5,5,186,232,5,5,68,183,5,5,203,186,5,5,138,189,5,5,155,199,5,5,96,244,5,5,219,219,5,5,228,244,5,5,233,184,5,5,123,187,5,5,183,240,5,5,88,202,5,5,148,173,5,5,179,201,5,5,184,222,5,5,32,168,5,5,40,219,5,5,33,193,5,5,253,234,5,5,16,190,5,5,185,222,5,5,225,202,5,5,212,203,5,5,226,202,5,5,222,208,5,5,220,245,5,5,217,232,5,5,208,181,5,5,111,205,5,5,244,186,5,5,60,202,5,5,16,232,5,5,142,241,5,5,111,178,5,5,179,192,5,5,49,241,5,5,210,227,5,5,119,205,5,5,155,182,5,5,184,168,5,5,198,188,5,5,215,168,5,5,192,213,5,5,194,210,5,5,85,205,5,5,53,241,5,5,161,244,5,5,111,184,5,5,216,168,5,5,135,169,5,5,135,189,5,5,10,213,5,5,236,224,5,5,48,187,5,5,107,195,5,5,196,198,5,5,65,229,5,5,235,181,5,5,31,227,5,5,92,244,5,5,136,189,5,5,145,199,5,5,251,192,5,5,169,194,5,5,250,231,5,5,162,244,5,5,209,232,5,5,185,235,5,5,195,185,5,5,27,202,5,5,7,203,5,5,169,193,5,5,79,202,5,5,234,221,5,5,156,226,5,5,137,187,5,5,36,220,5,5,173,190,5,5,37,198,5,5,255,192,5,5,252,240,5,5,182,216,5,5,94,204,5,5,167,214,5,5,175,249,5,5,194,182,5,5,74,200,5,5,121,173,5,5,138,186,5,5,143,210,5,5,196,210,5,5,144,179,5,5,37,196,5,5,55,221,5,5,194,221,5,5,48,249,5,5,66,183,5,5,217,179,5,5,16,170,5,5,146,173,5,5,25,226,5,5,153,229,5,5,227,228,5,5,158,219,5,5,197,181,5,5,22,217,5,5,129,184,5,5,223,190,5,5,241,217,5,5,105,194,5,5,180,170,5,5,215,219,5,5,126,168,5,5,177,214,5,5,189,224,5,5,199,186,5,5,170,237,5,5,61,212,5,5,182,193,5,5,149,201,5,5,27,171,5,5,122,235,5,5,31,171,5,5,252,206,5,5,20,209,5,5,212,240,5,5,129,229,5,5,66,231,5,5,120,187,5,5,153,220,5,5,251,203,5,5,12,250,5,5,13,190,5,5,232,184,5,5,86,202,5,5,225,244,5,5,214,186,5,5,232,210,5,5,204,238,5,5,18,184,5,5,162,202,5,5,160,196,5,5,253,171,5,5,231,236,5,5,51,184,5,5,139,179,5,5,36,192,5,5,142,183,5,5,56,219,5,5,211,184,5,5,190,221,5,5,143,183,5,5,42,209,5,5,116,169,5,5,161,242,5,5,116,246,5,5,7,190,5,5,134,216,5,5,193,183,5,5,10,169,5,5,176,229,5,5,170,193,5,5,192,221,5,5,94,242,5,5,160,183,5,5,123,237,5,5,234,197,5,5,235,197,5,5,34,213,5,5,97,190,5,5,15,246,5,5,118,169,5,5,240,236,5,5,241,235,5,5,76,246,5,5,149,182,5,5,144,183,5,5,177,229,5,5,205,211,5,5,201,177,5,5,103,185,5,5,26,219,5,5,95,204,5,5,214,208,5,5,27,184,5,5,14,228,5,5,247,208,5,5,175,202,5,5,197,170,5,5,43,247,5,5,104,185,5,5,164,242,5,5,126,176,5,5,151,217,5,5,31,233,5,5,168,174,5,5,43,178,5,5,247,196,5,5,195,237,5,5,71,186,5,5,90,247,5,5,102,242,5,5,37,237,5,5,103,242,5,5,243,235,5,5,188,226,5,5,104,242,5,5,104,226,5,5,80,240,5,5,213,180,5,5,43,230,5,5,239,181,5,5,156,186,5,5,21,168,5,5,117,246,5,5,247,236,5,5,17,189,5,5,37,233,5,5,94,193,5,5,205,203,5,5,228,247,5,5,73,237,5,5,26,226,5,5,91,189,5,5,161,206,5,5,32,219,5,5,161,209,5,5,107,185,5,5,129,218,5,5,182,194,5,5,107,234,5,5,156,247,5,5,169,174,5,5,162,206,5,5,18,189,5,5,197,210,5,5,130,181,5,5,33,206,5,5,95,193,5,5,16,193,5,5,125,227,5,5,98,190,5,5,28,228,5,5,8,172,5,5,72,230,5,5,135,197,5,5,117,242,5,5,228,171,5,5,69,198,5,5,70,198,5,5,15,170,5,5,27,231,5,5,71,198,5,5,23,197,5,5,90,227,5,5,38,196,5,5,29,226,5,5,121,181,5,5,122,181,5,5,190,199,5,5,206,189,5,5,109,230,5,5,58,221,5,5,196,200,5,5,25,195,5,5,42,212,5,5,208,205,5,5,19,213,5,5,156,222,5,5,37,184,5,5,56,168,5,5,244,248,5,5,189,212,5,5,143,216,5,5,81,215,5,5,158,169,5,5,148,179,5,5,209,205,5,5,43,218,5,5,186,193,5,5,25,197,5,5,139,227,5,5,245,235,5,5,166,242,5,5,180,214,5,5,45,202,5,5,51,238,5,5,148,248,5,5,58,199,5,5,89,181,5,5,77,200,5,5,137,221,5,5,181,214,5,5,40,196,5,5,145,239,5,5,146,239,5,5,41,196,5,5,55,249,5,5,183,200,5,5,41,180,5,5,96,214,5,5,60,176,5,5,184,185,5,5,250,196,5,5,250,197,5,5,147,239,5,5,10,250,5,5,74,192,5,5,223,222,5,5,88,240,5,5,7,175,5,5,184,208,5,5,6,219,5,5,58,168,5,5,29,217,5,5,32,226,5,5,210,189,5,5,33,226,5,5,203,181,5,5,54,195,5,5,90,207,5,5,38,184,5,5,40,176,5,5,126,227,5,5,183,236,5,5,212,188,5,5,226,242,5,5,65,213,5,5,78,200,5,5,178,207,5,5,211,189,5,5,89,240,5,5,232,175,5,5,162,230,5,5,28,197,5,5,42,180,5,5,129,172,5,5,172,182,5,5,237,188,5,5,101,240,5,5,227,242,5,5,12,232,5,5,214,229,5,5,199,221,5,5,238,188,5,5,138,175,5,5,135,225,5,5,207,231,5,5,124,219,5,5,176,204,5,5,165,192,5,5,72,186,5,5,191,193,5,5,128,224,5,5,64,188,5,5,129,176,5,5,130,176,5,5,157,239,5,5,223,237,5,5,6,237,5,5,81,192,5,5,212,202,5,5,107,226,5,5,86,199,5,5,245,225,5,5,246,225,5,5,158,239,5,5,127,227,5,5,190,206,5,5,47,233,5,5,50,185,5,5,108,226,5,5,26,174,5,5,166,192,5,5,158,227,5,5,169,245,5,5,129,168,5,5,199,237,5,5,97,238,5,5,210,211,5,5,8,175,5,5,63,247,5,5,206,204,5,5,217,240,5,5,227,205,5,5,161,170,5,5,251,222,5,5,249,248,5,5,219,241,5,5,75,230,5,5,10,198,5,5,252,239,5,5,35,226,5,5,100,223,5,5,189,194,5,5,162,239,5,5,49,190,5,5,162,170,5,5,105,240,5,5,35,224,5,5,230,190,5,5,109,182,5,5,190,194,5,5,152,203,5,5,14,237,5,5,52,185,5,5,208,196,5,5,64,232,5,5,65,232,5,5,128,227,5,5,220,206,5,5,14,250,5,5,129,242,5,5,107,240,5,5,216,205,5,5,159,227,5,5,66,232,5,5,116,235,5,5,164,239,5,5,56,213,5,5,186,222,5,5,128,206,5,5,41,231,5,5,179,238,5,5,90,192,5,5,79,244,5,5,220,241,5,5,229,244,5,5,55,238,5,5,78,237,5,5,57,213,5,5,72,211,5,5,17,190,5,5,71,208,5,5,108,240,5,5,19,208,5,5,248,178,5,5,47,243,5,5,130,242,5,5,209,201,5,5,9,172,5,5,112,205,5,5,241,188,5,5,5,205,5,5,255,222,5,5,49,243,5,5,109,240,5,5,245,186,5,5,170,217,5,5,61,202,5,5,51,206,5,5,229,210,5,5,151,196,5,5,7,192,5,5,141,242,5,5,26,209,5,5,170,221,5,5,196,211,5,5,234,235,5,5,118,172,5,5,104,169,5,5,251,245,5,5,54,186,5,5,27,180,5,5,80,205,5,5,236,235,5,5,255,232,5,5,33,237,5,5,59,204,5,5,152,174,5,5,140,217,5,5,146,242,5,5,107,235,5,5,255,227,5,5,66,223,5,5,252,246,5,5,231,181,5,5,145,186,5,5,97,234,5,5,13,189,5,5,144,247,5,5,96,185,5,5,29,206,5,5,70,189,5,5,65,230,5,5,199,171,5,5,7,202,5,5,131,197,5,5,98,186,5,5,113,181,5,5,62,242,5,5,40,232,5,5,6,226,5,5,98,230,5,5,31,218,5,5,181,208,5,5,47,168,5,5,65,200,5,5,156,169,5,5,171,212,5,5,66,215,5,5,53,176,5,5,178,185,5,5,159,242,5,5,9,224,5,5,192,189,5,5,200,188,5,5,184,181,5,5,107,186,5,5,16,217,5,5,118,176,5,5,169,207,5,5,153,230,5,5,98,239,5,5,213,237,5,5,211,229,5,5,155,204,5,5,151,192,5,5,99,239,5,5,171,193,5,5,229,188,5,5,90,238,5,5,81,240,5,5,167,245,5,5,200,204,5,5,138,203,5,5,183,194,5,5,202,196,5,5,109,242,5,5,203,205,5,5,134,190,5,5,221,244,5,5,87,240,5,5,11,190,5,5,10,208,5,5,241,186,5,5,252,222,5,5,117,205,5,5,184,195,5,5,96,204,5,5,251,193,5,5,61,232,5,5,89,177,5,5,2,194,5,5,6,194,5,5,137,236,5,5,87,177,5,5,160,205,5,5,14,241,5,5,219,176,5,5,183,192,5,5,86,212,5,5,220,176,5,5,87,212,5,5,68,248,5,5,38,198,5,5,17,248,5,5,179,193,5,5,56,208,5,5,57,208,5,5,6,242,5,5,169,204,5,5,24,174,5,5,41,198,5,5,246,203,5,5,145,210,5,5,182,214,5,5,210,205,5,5,205,196,5,5,42,198,5,5,42,196,5,5,199,202,5,5,182,232,5,5,62,232,5,5,72,193,5,5,62,208,5,5,213,202,5,5,12,221,5,5,38,245,5,5,254,203,5,5,45,196,5,5,191,214,5,5,111,204,5,5,138,236,5,5,221,176,5,5,229,206,5,5,225,206,5,5,201,188,5,5,205,173,5,5,194,183,5,5,172,208,5,5,173,208,5,5,196,183,5,5,95,212,5,5,189,217,5,5,124,217,5,5,162,209,5,5,197,183,5,5,151,232,5,5,184,200,5,5,127,217,5,5,175,208,5,5,9,175,5,5,116,183,5,5,181,183,5,5,120,217,5,5,174,208,5,5,172,206,5,5,131,207,5,5,66,209,5,5,32,191,5,5,144,209,5,5,177,249,5,5,162,211,5,5,50,183,5,5,201,190,5,5,191,190,5,5,185,195,5,5,10,187,5,5,80,226,5,5,71,227,5,5,89,189,5,5,72,190,5,5,216,199,5,5,92,189,5,5,169,222,5,5,28,202,5,5,198,210,5,5,175,174,5,5,244,188,5,5,243,188,5,5,100,239,5,5,119,215,5,5,4,178,5,5,144,231,5,5,200,227,5,5,132,209,5,5,125,209,5,5,120,215,5,5,204,177,5,5,188,175,5,5,84,241,5,5,98,179,5,5,95,238,5,5,205,231,5,5,179,236,5,5,128,217,5,5,195,207,5,5,184,236,5,5,199,216,5,5,42,243,5,5,46,202,5,5,69,178,5,5,145,180,5,5,100,172,5,5,80,236,5,5,130,236,5,5,188,236,5,5,6,178,5,5,88,168,5,5,243,245,5,5,210,177,5,5,101,172,5,5,98,238,5,5,179,207,5,5,248,244,5,5,197,236,5,5,154,180,5,5,113,205,5,5,191,246,5,5,52,183,5,5,35,184,5,5,71,184,5,5,165,208,5,5,150,208,5,5,221,242,5,5,241,176,5,5,192,217,5,5,198,173,5,5,56,228,5,5,233,247,5,5,120,246,5,5,18,208,5,5,130,168,5,5,33,171,5,5,19,228,5,5,163,170,5,5,196,242,5,5,190,173,5,5,17,228,5,5,241,179,5,5,118,208,5,5,12,210,5,5,243,179,5,5,41,249,5,5,102,186,5,5,103,186,5,5,39,180,5,5,45,183,5,5,204,225,5,5,168,242,5,5,22,213,5,5,123,173,5,5,51,185,5,5,4,215,5,5,169,242,5,5,97,225,5,5,219,225,5,5,172,222,5,5,165,222,5,5,43,183,5,5,242,182,5,5,183,229,5,5,203,168,5,5,146,179,5,5,15,228,5,5,93,247,5,5,155,217,5,5,136,221,5,5,236,221,5,5,111,241,5,5,238,221,5,5,232,226,5,5,74,230,5,5,29,197,5,5,43,196,5,5,172,191,5,5,30,197,5,5,190,236,5,5,91,227,5,5,101,223,5,5,39,231,5,5,157,232,5,5,195,236,5,5,182,201,5,5,20,170,5,5,215,237,5,5,81,217,5,5,239,187,5,5,157,230,5,5,159,230,5,5,105,189,5,5,211,233,5,5,205,181,5,5,141,244,5,5,137,234,5,5,228,229,5,5,142,244,5,5,120,211,5,5,57,210,5,5,160,214,5,5,189,244,5,5,17,193,5,5,56,249,5,5,82,192,5,5,88,192,5,5,99,214,5,5,51,192,5,5,221,174,5,5,43,174,5,5,44,174,5,5,210,188,5,5,12,236,5,5,251,239,5,5,208,233,5,5,95,169,5,5,77,244,5,5,209,233,5,5,253,172,5,5,172,174,5,5,185,236,5,5,50,197,5,5,159,226,5,5,105,204,5,5,100,204,5,5,108,175,5,5,248,217,5,5,210,233,5,5,28,199,5,5,32,211,5,5,207,196,5,5,198,237,5,5,90,176,5,5,113,243,5,5,8,242,5,5,153,175,5,5,217,238,5,5,146,210,5,5,78,244,5,5,179,249,5,5,178,217,5,5,114,243,5,5,196,236,5,5,211,211,5,5,207,181,5,5,18,230,5,5,166,239,5,5,101,176,5,5,180,249,5,5,85,179,5,5,154,175,5,5,5,196,5,5,48,236,5,5,208,174,5,5,39,174,5,5,185,188,5,5,236,239,5,5,44,197,5,5,84,204,5,5,90,169,5,5,150,226,5,5,39,249,5,5,24,199,5,5,254,241,5,5,84,176,5,5,177,217,5,5,17,230,5,5,232,204,5,5,62,212,5,5,228,185,5,5,63,212,5,5,186,236,5,5,249,204,5,5,17,205,5,5,229,185,5,5,130,198,5,5,151,177,5,5,112,204,5,5,152,177,5,5,208,204,5,5,216,185,5,5,126,198,5,5,57,187,5,5,31,217,5,5,35,171,5,5,25,187,5,5,38,243,5,5,7,176,5,5,215,188,5,5,13,198,5,5,143,233,5,5,132,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,214,5,5,198,185,5,5,213,173,5,5,108,193,5,5,38,190,5,5,227,175,5,5,54,197,5,5,57,187,5,5,57,187,5,5,232,214,5,5,166,195,5,5,133,200,5,5,6,210,5,5,11,201,5,5,202,200,5,5,116,206,5,5,124,206,5,5,115,206,5,5,135,206,5,5,125,206,5,5,147,201,5,5,144,206,5,5,121,201,5,5,149,206,5,5,153,206,5,5,124,201,5,5,159,206,5,5,55,206,5,5,52,206,5,5,240,200,5,5,28,201,5,5,238,200,5,5,51,206,5,5,211,200,5,5,26,201,5,5,225,200,5,5,230,200,5,5,121,200,5,5,148,200,5,5,153,200,5,5,41,201,5,5,60,201,5,5,70,201,5,5,38,201,5,5,35,201,5,5,158,200,5,5,236,201,5,5,86,201,5,5,127,205,5,5,134,205,5,5,98,205,5,5,87,205,5,5,103,201,5,5,95,205,5,5,120,205,5,5,173,205,5,5,212,205,5,5,126,205,5,5,216,205,5,5,170,205,5,5,164,205,5,5,13,206,5,5,158,205,5,5,193,205,5,5,160,205,5,5,98,206,5,5,13,205,5,5,116,211,5,5,250,204,5,5,251,204,5,5,80,201,5,5,193,201,5,5,172,205,5,5,155,201,5,5,198,201,5,5,246,205,5,5,38,205,5,5,214,201,5,5,60,205,5,5,215,201,5,5,255,205,5,5,58,205,5,5,154,201,5,5,132,201,5,5,4,204,5,5,52,204,5,5,233,201,5,5,85,204,5,5,72,204,5,5,58,204,5,5,146,180,5,5,216,209,5,5,147,201,5,5,179,211,5,5,213,177,5,5,60,211,5,5,140,211,5,5,7,206,5,5,37,239,5,5,159,169,5,5,20,212,5,5,210,170,5,5,101,184,5,5,10,172,5,5,96,208,5,5,216,222,5,5,150,224,5,5,73,172,5,5,153,219,5,5,143,221,5,5,19,238,5,5,36,223,5,5,20,220,5,5,253,173,201,32,230,0,5,5,215,221,5,5,110,219,5,5,56,206,5,5,57,206,5,5,97,203,5,5,87,203,5,5,72,203,5,5,73,203,5,5,84,203,5,5,70,203,5,5,107,203,5,5,105,203,5,5,170,202,5,5,230,205,5,5,143,211,5,5,90,205,5,5,237,205,5,5,20,206,5,5,197,202,5,5,221,205,5,5,59,202,5,5,199,202,5,5,28,202,5,5,90,202,5,5,171,202,5,5,172,202,5,5,218,202,5,5,190,210,5,5,2,203,5,5,68,203,5,5,207,210,5,5,245,202,5,5,57,203,5,5,35,203,5,5,191,210,5,5,60,203,5,5,17,203,5,5,210,210,5,5,246,202,5,5,236,202,5,5,64,203,5,5,175,203,5,5,176,203,5,5,202,236,5,5,189,203,5,5,196,203,5,5,36,223,5,5,242,202,5,5,218,210,5,5,201,210,5,5,63,203,5,5,23,203,5,5,207,203,5,5,119,204,5,5,38,204,5,5,60,211,5,5,118,204,5,5,233,202,5,5,50,204,5,5,132,240,5,5,68,204,5,5,70,204,5,5,81,204,5,5,83,204,5,5,108,204,5,5,117,204,5,5,104,202,5,5,82,202,5,5,85,202,5,5,181,202,5,5,165,181,5,5,151,201,5,5,117,203,5,5,125,203,5,5,240,210,5,5,165,203,5,5,147,201,5,5,133,203,5,5,136,203,5,5,157,203,5,5,131,203,5,5,232,204,5,5,53,243,5,5,64,219,5,5,149,204,5,5,90,175,5,5,178,204,5,5,131,204,5,5,124,204,5,5,134,204,5,5,132,204,5,5,136,204,5,5,91,211,5,5,223,201,5,5,193,204,5,5,181,205,5,5,152,205,5,5,74,206,5,5,79,206,5,5,81,206,5,5,88,206,5,5,5,206,5,5,156,202,5,5,126,202,5,5,7,206,5,5,222,204,5,5,98,202,5,5,95,202,5,5,250,205,5,5,251,238,5,5,63,202,5,5,252,201,5,5,122,210,5,5,72,202,5,5,149,202,5,5,31,202,5,5,76,202,5,5,73,202,5,5,64,202,5,5,39,202,5,5,174,210,5,5,180,210,5,5,15,204,5,5,237,203,5,5,238,203,5,5,28,204,5,5,230,203,5,5,253,203,5,5,254,203,5,5,216,203,5,5,221,203,5,5,243,203,5,5,94,202,5,5,139,202,5,5,140,202,5,5,136,248,5,5,209,246,5,5,237,221,5,5,61,221,5,5,219,172,5,5,141,176,5,5,64,216,5,5,170,180,5,5,192,224,5,5,123,225,5,5,190,244,5,5,59,180,5,5,138,169,5,5,30,184,5,5,24,234,5,5,130,194,5,5,9,194,5,5,107,200,5,5,111,230,5,5,250,189,192,0,0,0,192,0,0,0,5,5,102,247,192,0,0,0,5,5,190,216,192,0,0,0,192,0,0,0,5,5,254,230,5,5,210,247,5,5,27,239,5,5,62,202,5,5,63,221,5,5,194,232,5,5,9,184,5,5,99,196,5,5,34,196,5,5,226,241,192,0,0,0,5,5,26,217,192,0,0,0,5,5,224,247,192,0,0,0,192,0,0,0,5,5,47,239,5,5,76,180,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,182,5,5,137,223,5,5,213,186,5,5,238,188,5,5,36,201,5,5,174,202,5,5,88,230,5,5,10,220,5,5,148,208,5,5,151,208,5,5,125,216,5,5,148,169,5,5,149,188,5,5,78,225,5,5,251,214,5,5,183,213,5,5,131,209,5,5,193,172,5,5,223,173,5,5,56,191,5,5,101,198,5,5,105,244,5,5,134,174,5,5,5,209,5,5,208,192,5,5,167,222,5,5,147,207,5,5,211,187,5,5,11,248,5,5,47,188,5,5,12,248,5,5,83,245,5,5,26,250,5,5,155,169,5,5,242,220,5,5,175,246,5,5,111,214,5,5,101,241,5,5,209,249,5,5,39,248,5,5,222,191,5,5,200,245,5,5,108,186,5,5,80,227,5,5,96,195,5,5,60,203,5,5,248,195,5,5,98,182,5,5,170,222,5,5,151,245,5,5,98,175,5,5,156,172,5,5,156,172,5,5,171,245,5,5,227,188,5,5,43,222,5,5,39,238,5,5,210,195,5,5,62,171,5,5,120,244,5,5,70,176,5,5,47,239,5,5,32,210,5,5,214,232,5,5,138,213,5,5,77,191,192,0,0,0,5,5,211,186,192,0,0,0,192,0,0,0,5,5,125,171,5,5,198,199,5,5,204,217,5,5,28,234,5,5,10,175,5,5,2,193,5,5,230,240,5,5,206,220,5,5,149,188,5,5,186,225,5,5,83,191,5,5,66,228,5,5,102,247,5,5,34,183,5,5,144,236,5,5,208,169,5,5,74,170,5,5,123,176,5,5,109,168,5,5,79,239,5,5,61,172,5,5,144,237,5,5,179,228,5,5,101,221,5,5,63,242,5,5,105,244,5,5,149,168,5,5,134,174,5,5,202,177,5,5,169,241,5,5,191,223,5,5,114,171,5,5,103,168,5,5,190,216,5,5,60,201,5,5,196,228,5,5,51,245,5,5,166,177,5,5,20,220,5,5,131,204,5,5,237,239,5,5,22,249,5,5,47,188,5,5,109,196,5,5,12,248,5,5,29,216,5,5,240,197,5,5,115,182,5,5,210,247,5,5,9,246,5,5,114,176,5,5,54,190,5,5,195,186,5,5,146,229,5,5,27,239,5,5,151,221,5,5,124,246,5,5,159,197,5,5,170,245,5,5,102,226,5,5,168,226,5,5,96,195,5,5,212,201,5,5,160,225,5,5,60,203,5,5,187,213,5,5,151,245,5,5,182,190,5,5,34,190,5,5,59,243,5,5,229,215,5,5,130,184,5,5,43,222,5,5,168,179,5,5,224,247,5,5,207,216,5,5,39,238,5,5,179,211,5,5,99,242,5,5,210,195,5,5,227,170,5,5,120,244,5,5,150,222,5,5,199,174,5,5,203,223,5,5,40,234,5,5,10,248,5,5,32,210,5,5,99,196,5,5,253,168,5,5,214,232,5,5,127,181,5,5,138,213,5,5,242,245,5,5,57,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,181,5,5,62,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,100,232,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,92,222,6,5,81,249,6,5,242,222,192,0,0,0,6,5,5,182,6,5,24,181,6,5,127,195,6,5,74,226,6,5,152,194,6,5,176,240,6,5,63,230,6,5,165,203,6,5,94,215,6,5,129,189,6,5,187,243,6,5,229,233,6,5,104,175,6,5,83,247,6,5,111,221,6,5,129,182,6,5,114,221,6,5,5,176,6,5,170,236,6,5,62,227,6,5,5,172,6,5,57,238,6,5,166,219,6,5,48,241,6,5,30,250,6,5,67,247,6,5,87,241,6,5,179,246,6,5,182,249,6,5,153,177,6,5,235,195,6,5,48,199,6,5,154,188,6,5,5,207,6,5,63,241,6,5,7,243,6,5,15,221,6,5,97,185,6,5,116,240,6,5,125,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,113,0,197,67,114,0,197,163,114,0,197,3,115,0,197,99,115,0,197,195,115,0,197,35,116,0,197,131,116,0,197,227,116,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,158,178,6,5,239,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,202,5,5,93,228,5,5,99,238,192,0,0,0,5,5,149,210,5,5,88,230,5,5,183,227,5,5,130,171,5,5,163,243,5,5,183,169,5,5,10,220,5,5,229,232,192,0,0,0,192,0,0,0,5,5,148,208,5,5,136,227,5,5,245,190,5,5,65,197,192,0,0,0,192,0,0,0,5,5,110,210,5,5,187,243,192,0,0,0,5,5,233,218,5,5,143,242,5,5,92,171,5,5,19,180,5,5,198,199,192,0,0,0,5,5,126,215,5,5,140,218,192,0,0,0,5,5,249,198,5,5,132,206,5,5,97,185,5,5,76,173,192,0,0,0,5,5,230,240,5,5,151,208,5,5,125,216,5,5,206,220,5,5,82,169,5,5,152,176,5,5,159,169,5,5,63,191,5,5,148,169,5,5,196,171,5,5,102,192,5,5,109,192,5,5,171,216,5,5,171,216,5,5,171,216,192,0,0,0,5,5,253,190,5,5,94,192,5,5,210,223,192,0,0,0,5,5,247,194,5,5,223,174,5,5,113,237,5,5,105,232,5,5,168,230,5,5,88,174,5,5,131,247,5,5,144,181,5,5,205,208,5,5,100,225,5,5,206,214,5,5,34,232,5,5,126,220,5,5,126,220,5,5,83,191,5,5,157,174,5,5,130,244,5,5,142,237,5,5,116,227,5,5,78,225,5,5,117,227,5,5,98,188,5,5,133,212,5,5,64,216,5,5,133,248,5,5,94,174,5,5,130,246,5,5,138,227,5,5,30,234,5,5,109,176,5,5,133,169,5,5,52,179,192,0,0,0,5,5,224,206,5,5,176,189,5,5,118,183,5,5,24,181,5,5,34,208,5,5,224,220,192,0,0,0,192,0,0,0,5,5,14,192,5,5,150,241,5,5,185,227,5,5,125,213,5,5,96,184,192,0,0,0,192,0,0,0,5,5,103,218,5,5,10,201,5,5,10,201,192,0,0,0,5,5,147,242,5,5,8,247,5,5,60,211,5,5,121,169,192,0,0,0,5,5,97,222,5,5,86,194,5,5,50,178,5,5,24,241,192,0,0,0,5,5,103,227,5,5,223,173,5,5,120,234,5,5,36,215,192,0,0,0,5,5,157,236,192,0,0,0,5,5,70,179,5,5,19,249,5,5,77,173,5,5,162,235,5,5,186,173,192,0,0,0,5,5,214,235,5,5,14,223,5,5,115,207,5,5,35,183,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,171,5,5,75,170,5,5,201,222,5,5,41,201,192,0,0,0,5,5,230,185,192,0,0,0,192,0,0,0,5,5,148,241,5,5,156,225,5,5,156,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,234,5,5,134,179,192,0,0,0,5,5,35,180,5,5,130,218,5,5,199,246,5,5,182,199,5,5,144,242,192,0,0,0,192,0,0,0,5,5,56,191,192,0,0,0,5,5,241,180,5,5,113,176,5,5,186,190,5,5,101,221,5,5,186,190,5,5,34,205,5,5,105,244,5,5,144,232,5,5,62,183,5,5,97,172,5,5,255,207,5,5,134,174,5,5,11,201,5,5,86,174,5,5,82,193,5,5,87,199,5,5,126,169,5,5,191,168,5,5,125,197,192,0,0,0,5,5,114,228,5,5,126,213,5,5,239,220,5,5,221,219,5,5,117,192,192,0,0,0,5,5,233,195,5,5,113,236,5,5,152,236,192,0,0,0,5,5,67,209,5,5,140,194,5,5,28,191,5,5,218,194,192,0,0,0,5,5,5,209,5,5,94,196,192,0,0,0,5,5,226,192,5,5,127,222,5,5,222,195,192,0,0,0,5,5,167,222,192,0,0,0,192,0,0,0,5,5,107,207,5,5,155,208,5,5,240,249,5,5,39,214,5,5,230,209,192,0,0,0,5,5,60,201,5,5,196,228,5,5,110,249,5,5,200,214,5,5,230,170,192,0,0,0,192,0,0,0,5,5,179,186,5,5,8,192,5,5,194,219,5,5,147,207,192,0,0,0,5,5,100,168,5,5,211,169,5,5,20,249,192,0,0,0,5,5,133,244,5,5,154,237,5,5,185,184,5,5,232,220,192,0,0,0,5,5,48,247,192,0,0,0,5,5,138,176,192,0,0,0,5,5,168,234,192,0,0,0,5,5,80,224,5,5,141,229,5,5,20,220,5,5,46,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,182,192,0,0,0,5,5,91,236,5,5,209,169,5,5,38,215,5,5,56,230,5,5,252,211,5,5,211,187,5,5,131,204,5,5,120,188,5,5,224,195,5,5,249,210,192,0,0,0,5,5,173,213,5,5,25,185,5,5,64,236,192,0,0,0,5,5,22,249,5,5,71,179,192,0,0,0,5,5,59,236,5,5,194,173,192,0,0,0,192,0,0,0,5,5,36,183,5,5,40,243,5,5,109,196,5,5,148,240,192,0,0,0,5,5,124,215,5,5,174,243,5,5,100,248,5,5,72,225,192,0,0,0,5,5,195,180,192,0,0,0,5,5,172,176,192,0,0,0,5,5,9,177,5,5,240,197,5,5,149,244,192,0,0,0,5,5,220,230,5,5,195,169,192,0,0,0,192,0,0,0,5,5,190,224,5,5,167,228,192,0,0,0,5,5,15,243,192,0,0,0,192,0,0,0,5,5,196,177,5,5,185,241,5,5,9,246,5,5,160,224,5,5,254,216,192,0,0,0,5,5,79,219,192,0,0,0,5,5,176,243,192,0,0,0,5,5,37,239,192,0,0,0,5,5,248,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,245,5,5,184,245,5,5,184,245,5,5,159,197,192,0,0,0,5,5,244,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,234,5,5,170,205,5,5,102,226,192,0,0,0,192,0,0,0,5,5,209,249,192,0,0,0,192,0,0,0,5,5,9,184,5,5,157,222,192,0,0,0,5,5,108,186,5,5,247,192,5,5,195,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,213,192,0,0,0,192,0,0,0,5,5,109,248,5,5,247,247,192,0,0,0,192,0,0,0,5,5,203,169,192,0,0,0,5,5,145,194,5,5,182,219,5,5,211,192,192,0,0,0,5,5,237,169,192,0,0,0,5,5,36,249,5,5,144,249,5,5,213,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,173,192,0,0,0,5,5,104,237,5,5,125,168,5,5,151,245,192,0,0,0,192,0,0,0,5,5,157,213,192,0,0,0,5,5,180,176,192,0,0,0,192,0,0,0,5,5,19,242,5,5,35,177,192,0,0,0,5,5,8,213,5,5,179,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,241,5,5,126,231,5,5,115,176,192,0,0,0,5,5,197,214,5,5,14,242,5,5,82,246,5,5,78,201,5,5,18,190,5,5,141,182,5,5,251,235,5,5,102,199,192,0,0,0,5,5,110,219,5,5,254,172,5,5,196,218,5,5,78,195,5,5,58,230,5,5,59,207,5,5,9,179,5,5,171,245,5,5,176,213,5,5,7,197,5,5,29,198,5,5,68,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,213,5,5,204,195,5,5,86,177,192,0,0,0,5,5,81,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,211,5,5,120,205,5,5,233,199,5,5,147,231,5,5,151,174,5,5,50,215,5,5,157,242,5,5,189,213,5,5,59,243,5,5,210,179,5,5,221,247,5,5,150,176,192,0,0,0,5,5,91,187,5,5,211,232,192,0,0,0,5,5,179,248,5,5,63,238,192,0,0,0,5,5,137,204,5,5,20,223,192,0,0,0,5,5,169,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,174,5,5,99,242,5,5,227,170,5,5,243,221,192,0,0,0,5,5,223,186,5,5,93,170,5,5,250,184,5,5,205,214,192,0,0,0,192,0,0,0,5,5,198,168,5,5,213,193,5,5,73,213,192,0,0,0,5,5,165,218,5,5,150,222,192,0,0,0,192,0,0,0,5,5,193,214,5,5,169,213,5,5,26,249,192,0,0,0,5,5,189,173,5,5,203,171,5,5,28,235,5,5,45,190,5,5,119,171,5,5,231,215,5,5,201,243,192,0,0,0,5,5,90,198,192,0,0,0,5,5,66,220,192,0,0,0,192,0,0,0,5,5,60,215,5,5,249,230,5,5,112,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,170,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,181,5,5,127,181,5,5,160,213,192,0,0,0,5,5,18,192,192,0,0,0,5,5,195,181,5,5,62,243,5,5,115,169,5,5,190,227,192,0,0,0,192,0,0,0,5,5,242,245,5,5,28,193,5,5,170,193,192,0,0,0,192,0,0,0,5,5,19,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,206,192,0,0,0,5,5,191,246,5,5,150,208,5,5,120,246,5,5,118,208,5,5,45,183,5,5,20,170,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,5,0,0,142,9,0,5,0,5,0,0,57,238,28,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,5,182,24,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,166,219,26,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,106,223,12,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,77,230,23,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,193,204,18,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,58,214,27,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,161,168,19,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,165,196,25,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,201,221,16,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,7,243,8,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,198,191,3,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,12,223,4,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,184,209,6,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,129,227,11,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,183,218,9,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,207,247,5,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,63,241,7,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,24,209,14,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,210,225,2,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,79,201,17,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,169,177,22,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,143,189,13,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,101,235,10,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,194,214,21,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,103,233,15,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,87,234,20,15,0,5,0,0,144,9,0,5,0,5,212,55,18,254,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,5,5,142,9,5,5,166,195,6,5,144,9,5,5,142,9,5,5,242,220,13,5,144,9,5,5,142,9,5,5,52,172,8,5,144,9,5,5,142,9,5,5,39,248,12,5,144,9,5,5,142,9,5,5,162,193,14,5,144,9,5,5,142,9,5,5,32,249,7,5,144,9,5,5,142,9,5,5,229,192,11,5,144,9,5,5,142,9,5,5,82,249,10,5,144,9,5,5,142,9,5,5,197,246,9,5,144,9,5,5,0,21,17,5,7,243,5,5,0,23,16,5,7,243,5,5,0,25,15,5,7,243,5,5,0,27,14,5,7,243,5,5,0,29,13,5,7,243,5,5,0,31,12,5,7,243,5,5,0,33,11,5,7,243,5,5,0,35,10,5,7,243,5,5,0,37,9,5,7,243,5,5,0,21,5,5,0,19,20,5,7,243,5,5,0,21,5,5,0,21,19,5,7,243,5,5,0,21,5,5,0,23,18,5,7,243,5,5,119,204,7,5,158,188,5,5,0,19,30,5,88,179,5,5,0,21,19,5,88,179,5,5,0,23,13,5,88,179,5,5,0,25,12,5,88,179,5,5,0,27,11,5,88,179,5,5,0,29,10,5,88,179,5,5,0,31,9,5,88,179,5,5,0,33,8,5,88,179,5,5,0,35,7,5,88,179,5,5,0,37,6,5,88,179,5,5,0,21,5,5,0,19,29,5,88,179,5,5,0,21,5,5,0,21,28,5,88,179,5,5,0,21,5,5,0,23,27,5,88,179,5,5,0,21,5,5,0,25,26,5,88,179,5,5,0,21,5,5,0,27,25,5,88,179,5,5,0,21,5,5,0,29,24,5,88,179,5,5,0,21,5,5,0,31,23,5,88,179,5,5,0,21,5,5,0,33,22,5,88,179,5,5,0,21,5,5,0,35,21,5,88,179,5,5,0,21,5,5,0,37,20,5,88,179,5,5,0,23,5,5,0,19,18,5,88,179,5,5,0,23,5,5,0,21,17,5,88,179,5,5,0,23,5,5,0,23,16,5,88,179,5,5,0,23,5,5,0,25,15,5,88,179,5,5,0,23,5,5,0,27,14,5,88,179,5,5,161,213,6,5,86,174,5,5,73,245,6,5,158,188,5,5,154,177,7,5,65,246,5,5,25,209,6,5,208,246,5,5,207,247,5,5,10,222,5,5,67,191,7,5,242,220,5,5,0,21,28,5,183,218,5,5,0,23,17,5,183,218,5,5,0,25,14,5,183,218,5,5,0,27,13,5,183,218,5,5,0,29,12,5,183,218,5,5,0,31,11,5,183,218,5,5,0,33,10,5,183,218,5,5,0,35,9,5,183,218,5,5,0,37,8,5,183,218,5,5,0,21,5,5,0,19,38,5,183,218,5,5,0,21,5,5,0,21,37,5,183,218,5,5,0,21,5,5,0,23,36,5,183,218,5,5,0,21,5,5,0,25,35,5,183,218,5,5,0,21,5,5,0,27,34,5,183,218,5,5,0,21,5,5,0,29,33,5,183,218,5,5,0,21,5,5,0,31,32,5,183,218,5,5,0,21,5,5,0,33,31,5,183,218,5,5,0,21,5,5,0,35,30,5,183,218,5,5,0,21,5,5,0,37,29,5,183,218,5,5,0,23,5,5,0,19,27,5,183,218,5,5,0,23,5,5,0,21,26,5,183,218,5,5,0,23,5,5,0,23,25,5,183,218,5,5,0,23,5,5,0,25,24,5,183,218,5,5,0,23,5,5,0,27,23,5,183,218,5,5,0,23,5,5,0,29,22,5,183,218,5,5,0,23,5,5,0,31,21,5,183,218,5,5,0,23,5,5,0,33,20,5,183,218,5,5,0,23,5,5,0,35,19,5,183,218,5,5,0,23,5,5,0,37,18,5,183,218,5,5,0,25,5,5,0,19,16,5,183,218,5,5,0,25,5,5,0,21,15,5,183,218,5,5,68,221,5,5,41,237,5,5,2,244,5,5,158,229,5,5,29,175,5,5,209,216,69,5,39,172,5,160,0,0,69,5,90,181,5,138,0,0,69,5,90,181,5,136,0,0,69,5,90,181,5,142,0,0,69,5,90,181,5,150,0,0,69,5,214,209,5,154,0,0,69,5,187,211,5,138,0,0,69,5,187,211,5,136,0,0,69,5,187,211,5,142,0,0,69,5,187,211,5,154,0,0,69,5,187,211,5,150,0,0,69,5,225,235,5,136,0,0,69,5,39,172,5,136,0,0,69,5,39,172,5,142,0,0,69,5,39,172,5,156,0,0,69,5,39,172,5,144,0,0,69,5,108,177,5,144,0,0,69,5,90,181,5,164,0,0,69,5,90,181,5,140,0,0,69,5,90,181,5,156,0,0,69,5,90,181,5,162,0,0,69,5,90,181,5,144,0,0,69,5,134,184,5,142,0,0,69,5,134,184,5,140,0,0,69,5,134,184,5,156,0,0,69,5,134,184,5,160,0,0,69,5,198,187,5,142,0,0,69,5,246,191,5,142,0,0,69,5,74,198,5,160,0,0,69,5,119,200,5,136,0,0,69,5,119,200,5,160,0,0,69,5,119,200,5,144,0,0,69,5,214,209,5,136,0,0,69,5,214,209,5,160,0,0,69,5,214,209,5,144,0,0,69,5,187,211,5,164,0,0,69,5,187,211,5,140,0,0,69,5,187,211,5,152,0,0,69,5,55,218,5,136,0,0,69,5,55,218,5,160,0,0,69,5,55,218,5,144,0,0,69,5,125,219,5,136,0,0,69,5,125,219,5,142,0,0,69,5,125,219,5,160,0,0,69,5,125,219,5,144,0,0,69,5,170,224,5,160,0,0,69,5,170,224,5,144,0,0,69,5,40,228,5,142,0,0,69,5,225,235,5,142,0,0,69,5,225,235,5,150,0,0,69,5,147,243,5,136,0,0,69,5,147,243,5,156,0,0,69,5,147,243,5,144,0,0,69,5,187,211,5,190,0,0,69,5,187,211,5,144,0,0,69,5,0,127,5,150,0,0,5,164,0,0,69,5,0,127,5,156,0,0,5,164,0,0,69,5,134,184,5,144,0,0,69,5,74,198,5,144,0,0,69,5,187,211,5,162,0,0,69,5,187,211,5,162,0,0,5,164,0,0,69,5,134,184,5,136,0,0,69,5,214,209,5,138,0,0,69,5,0,127,5,146,0,0,5,136,0,0,69,5,90,181,5,184,0,0,69,5,90,181,5,188,0,0,69,5,187,211,5,184,0,0,69,5,187,211,5,188,0,0,69,5,55,218,5,184,0,0,69,5,55,218,5,188,0,0,69,5,125,219,5,202,0,0,69,5,170,224,5,202,0,0,69,5,198,187,5,144,0,0,69,5,90,181,5,160,0,0,69,5,187,211,5,150,0,0,5,164,0,0,69,5,187,211,5,154,0,0,5,164,0,0,69,5,187,211,5,156,0,0,69,5,187,211,5,156,0,0,5,164,0,0,69,5,225,235,5,164,0,0,69,5,159,168,5,156,0,0,69,5,159,168,5,196,0,0,69,5,159,168,5,210,0,0,69,5,39,172,5,160,0,0,5,136,0,0,69,5,108,177,5,156,0,0,69,5,108,177,5,196,0,0,69,5,108,177,5,210,0,0,69,5,108,177,5,160,0,0,69,5,108,177,5,204,0,0,69,5,90,181,5,164,0,0,5,138,0,0,69,5,90,181,5,164,0,0,5,136,0,0,69,5,90,181,5,204,0,0,69,5,90,181,5,208,0,0,69,5,90,181,5,160,0,0,5,140,0,0,69,5,18,182,5,156,0,0,69,5,134,184,5,164,0,0,69,5,198,187,5,156,0,0,69,5,198,187,5,196,0,0,69,5,198,187,5,150,0,0,69,5,198,187,5,160,0,0,69,5,198,187,5,206,0,0,69,5,74,198,5,136,0,0,69,5,74,198,5,196,0,0,69,5,74,198,5,210,0,0,69,5,119,200,5,196,0,0,69,5,119,200,5,196,0,0,5,164,0,0,69,5,119,200,5,210,0,0,69,5,119,200,5,204,0,0,69,5,165,206,5,136,0,0,69,5,165,206,5,156,0,0,69,5,165,206,5,196,0,0,69,5,214,209,5,156,0,0,69,5,214,209,5,196,0,0,69,5,214,209,5,210,0,0,69,5,214,209,5,204,0,0,69,5,187,211,5,154,0,0,5,136,0,0,69,5,187,211,5,154,0,0,5,150,0,0,69,5,187,211,5,164,0,0,5,138,0,0,69,5,187,211,5,164,0,0,5,136,0,0,69,5,222,211,5,136,0,0,69,5,222,211,5,156,0,0,69,5,55,218,5,156,0,0,69,5,55,218,5,196,0,0,69,5,55,218,5,196,0,0,5,164,0,0,69,5,55,218,5,210,0,0,69,5,125,219,5,156,0,0,69,5,125,219,5,196,0,0,69,5,125,219,5,136,0,0,5,156,0,0,69,5,125,219,5,144,0,0,5,156,0,0,69,5,125,219,5,196,0,0,5,156,0,0,69,5,170,224,5,156,0,0,69,5,170,224,5,196,0,0,69,5,170,224,5,210,0,0,69,5,170,224,5,204,0,0,69,5,40,228,5,138,0,0,69,5,40,228,5,136,0,0,69,5,40,228,5,150,0,0,69,5,40,228,5,156,0,0,69,5,40,228,5,196,0,0,69,5,164,230,5,156,0,0,69,5,164,230,5,150,0,0,69,5,225,235,5,156,0,0,69,5,147,243,5,142,0,0,69,5,147,243,5,196,0,0,69,5,147,243,5,210,0,0,69,5,0,127,5,142,0,0,5,136,0,0,69,5,0,127,5,142,0,0,5,138,0,0,69,5,0,127,5,142,0,0,5,182,0,0,69,5,0,127,5,142,0,0,5,154,0,0,69,5,0,127,5,196,0,0,5,142,0,0,69,5,0,127,5,140,0,0,5,136,0,0,69,5,0,127,5,140,0,0,5,138,0,0,69,5,0,127,5,140,0,0,5,182,0,0,69,5,0,127,5,140,0,0,5,154,0,0,69,5,0,127,5,196,0,0,5,140,0,0,69,5,90,181,5,196,0,0,69,5,90,181,5,182,0,0,69,5,90,181,5,154,0,0,69,5,90,181,5,142,0,0,5,136,0,0,69,5,90,181,5,142,0,0,5,138,0,0,69,5,90,181,5,142,0,0,5,182,0,0,69,5,90,181,5,142,0,0,5,154,0,0,69,5,90,181,5,196,0,0,5,142,0,0,69,5,187,211,5,196,0,0,69,5,187,211,5,182,0,0,69,5,187,211,5,142,0,0,5,136,0,0,69,5,187,211,5,142,0,0,5,138,0,0,69,5,187,211,5,142,0,0,5,182,0,0,69,5,187,211,5,142,0,0,5,154,0,0,69,5,187,211,5,196,0,0,5,142,0,0,69,5,187,211,5,190,0,0,5,136,0,0,69,5,187,211,5,190,0,0,5,138,0,0,69,5,187,211,5,190,0,0,5,182,0,0,69,5,187,211,5,190,0,0,5,154,0,0,69,5,187,211,5,190,0,0,5,196,0,0,69,5,225,235,5,138,0,0,69,5,225,235,5,196,0,0,69,5,225,235,5,182,0,0,69,5,225,235,5,154,0,0,5,5,82,10,5,5,215,169,8,5,84,10,5,5,82,10,5,5,166,219,14,5,84,10,5,5,82,10,5,5,5,182,13,5,84,10,5,5,82,10,5,5,34,168,11,5,84,10,5,5,82,10,5,5,88,179,7,5,84,10,5,5,82,10,5,5,153,177,10,5,84,10,5,5,82,10,5,5,137,178,6,5,84,10,5,5,82,10,5,5,153,221,12,5,84,10,5,5,82,10,5,5,247,168,9,5,84,10,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,69,221,5,5,48,0,51,150,63,192,197,2,130,172,5,5,48,0,135,101,63,192,197,66,118,247,5,5,48,0,134,94,63,192,197,130,41,0,198,161,0,0,218,0,40,2,141,1,102,30,199,0,180,30,100,0,212,30,50,0,226,30,25,0,246,30,14,0,246,30,113,192,197,98,248,30,113,192,197,162,42,33,255,255,74,198,69,5,43,33,255,255,69,127,196,146,226,30,112,192,197,131,242,30,112,192,197,226,244,30,113,192,197,34,218,30,12,0,218,30,111,192,197,3,220,30,111,192,197,99,222,30,111,192,197,195,224,30,112,192,197,35,212,30,109,192,197,227,214,30,110,192,197,67,216,30,110,192,197,163,194,30,23,0,204,30,12,0,204,30,108,192,197,162,206,30,108,192,197,226,208,30,109,192,197,35,210,30,109,192,197,131,194,30,107,192,197,131,196,30,107,192,197,227,198,30,108,192,197,67,186,30,12,0,186,30,106,192,197,66,188,30,106,192,197,130,190,30,106,192,197,195,192,30,107,192,197,35,180,30,105,192,197,67,182,30,105,192,197,163,184,30,106,192,197,2,142,30,50,0,166,30,23,0,172,30,12,0,172,30,103,192,197,195,174,30,104,192,197,35,176,30,104,192,197,131,178,30,104,192,197,227,166,30,102,192,197,163,168,30,103,192,197,3,170,30,103,192,197,99,148,30,14,0,148,30,102,192,197,2,160,30,255,255,69,127,196,196,162,30,255,255,69,127,196,182,164,30,102,192,197,67,142,30,101,192,197,66,144,30,101,192,197,130,146,30,101,192,197,194,128,30,23,0,134,30,12,0,134,30,100,192,197,66,136,30,100,192,197,130,138,30,100,192,197,194,140,30,101,192,197,2,128,30,99,192,197,130,130,30,99,192,197,194,132,30,100,192,197,2,108,30,9,0,108,30,98,192,197,194,110,30,99,192,197,2,112,30,99,192,197,66,102,30,97,192,197,195,104,30,98,192,197,35,106,30,98,192,197,130,42,30,98,0,74,30,48,0,88,30,23,0,94,30,12,0,94,30,96,192,197,162,96,30,96,192,197,226,98,30,97,192,197,34,100,30,97,192,197,99,88,30,95,192,197,194,90,30,96,192,197,2,92,30,96,192,197,67,80,30,12,0,80,30,94,192,197,131,82,30,94,192,197,227,84,30,95,192,197,66,86,30,95,192,197,130,74,30,93,192,197,130,76,30,93,192,197,195,78,30,94,192,197,35,60,30,23,0,66,30,12,0,66,30,92,192,197,130,68,30,92,192,197,194,70,30,93,192,197,2,72,30,93,192,197,66,60,30,91,192,197,194,62,30,92,192,197,2,64,30,92,192,197,66,52,30,12,0,52,30,90,192,197,162,54,30,90,192,197,226,56,30,91,192,197,35,58,30,91,192,197,130,42,30,89,192,197,226,48,30,90,192,197,34,50,30,90,192,197,98,14,30,48,0,28,30,23,0,34,30,12,0,34,30,88,192,197,226,36,30,89,192,197,34,38,30,89,192,197,98,40,30,89,192,197,162,28,30,88,192,197,3,30,30,88,192,197,98,32,30,88,192,197,162,20,30,12,0,20,30,86,192,197,195,22,30,87,192,197,35,24,30,87,192,197,130,26,30,87,192,197,194,14,30,86,192,197,2,16,30,86,192,197,66,18,30,86,192,197,130,0,30,24,0,6,30,12,0,6,30,84,192,197,226,8,30,85,192,197,35,10,30,85,192,197,130,12,30,85,192,197,194,0,30,255,255,69,127,196,200,2,30,84,192,197,98,4,30,84,192,197,162,46,2,9,0,46,2,83,192,197,130,48,2,83,192,197,195,50,2,84,192,197,34,40,2,82,192,197,130,42,2,82,192,197,195,44,2,83,192,197,35,28,1,202,0,120,1,105,0,248,1,54,0,14,2,27,0,24,2,16,0,24,2,81,192,197,194,26,2,82,192,197,2,30,2,82,192,197,66,38,2,240,127,69,127,196,156,4,3,77,192,197,227,14,2,81,192,197,2,16,2,81,192,197,66,18,2,81,192,197,130,2,2,13,0,2,2,255,255,69,127,196,188,4,2,80,192,197,66,6,2,80,192,197,130,12,2,80,192,197,194,248,1,79,192,197,162,250,1,79,192,197,227,0,2,255,255,69,127,196,184,222,1,23,0,232,1,12,0,232,1,78,192,197,130,234,1,78,192,197,194,236,1,79,192,197,3,244,1,79,192,197,98,222,1,77,192,197,131,224,1,77,192,197,227,230,1,78,192,197,66,125,1,13,0,125,1,76,192,197,194,160,1,77,192,197,2,205,1,255,255,69,127,196,144,209,1,77,192,197,66,120,1,76,192,197,2,121,1,76,192,197,66,123,1,76,192,197,130,76,1,48,0,92,1,23,0,98,1,12,0,98,1,75,192,197,2,100,1,75,192,197,66,116,1,75,192,197,130,118,1,75,192,197,194,92,1,74,192,197,66,94,1,74,192,197,130,96,1,74,192,197,194,84,1,12,0,84,1,73,192,197,66,86,1,73,192,197,130,88,1,73,192,197,194,90,1,74,192,197,2,76,1,72,192,197,130,78,1,72,192,197,194,80,1,73,192,197,2,54,1,23,0,61,1,12,0,61,1,71,192,197,130,67,1,71,192,197,194,69,1,72,192,197,2,71,1,72,192,197,66,54,1,70,192,197,194,57,1,71,192,197,2,59,1,71,192,197,66,34,1,9,0,34,1,70,192,197,2,36,1,70,192,197,66,52,1,70,192,197,130,28,1,69,192,197,66,30,1,69,192,197,130,32,1,69,192,197,194,196,0,100,0,221,0,51,0,12,1,23,0,20,1,12,0,20,1,68,192,197,66,22,1,68,192,197,130,24,1,68,192,197,194,26,1,69,192,197,2,12,1,67,192,197,130,14,1,67,192,197,194,18,1,68,192,197,2,4,1,13,0,4,1,255,255,69,127,196,162,6,1,66,192,197,194,8,1,67,192,197,2,10,1,67,192,197,66,221,0,66,192,197,130,0,1,255,255,69,127,196,164,2,1,255,255,69,127,196,140,203,0,23,0,211,0,12,0,211,0,65,192,197,130,212,0,65,192,197,194,213,0,66,192,197,2,214,0,66,192,197,66,203,0,64,192,197,194,209,0,65,192,197,2,210,0,65,192,197,66,200,0,9,0,200,0,64,192,197,2,201,0,64,192,197,66,202,0,64,192,197,130,196,0,255,255,69,127,196,150,197,0,255,255,69,127,196,146,199,0,63,192,197,194,79,0,62,0,88,0,30,0,192,0,16,0,192,0,255,255,69,127,196,138,193,0,255,255,69,127,196,136,194,0,255,255,69,127,196,142,195,0,255,255,69,127,196,154,88,0,255,255,164,230,69,5,89,0,255,255,225,235,69,5,90,0,255,255,147,243,69,5,82,0,16,0,82,0,255,255,55,218,69,5,83,0,255,255,125,219,69,5,84,0,255,255,170,224,69,5,87,0,255,255,40,228,69,5,79,0,255,255,187,211,69,5,80,0,255,255,222,211,69,5,81,0,255,255,57,214,69,5,71,0,30,0,75,0,16,0,75,0,255,255,74,198,69,5,76,0,255,255,119,200,69,5,77,0,255,255,165,206,69,5,78,0,255,255,214,209,69,5,71,0,255,255,134,184,69,5,72,0,255,255,198,187,69,5,74,0,255,255,246,191,69,5,68,0,12,0,68,0,255,255,108,177,69,5,69,0,255,255,90,181,69,5,70,0,255,255,18,182,69,5,65,0,255,255,0,127,69,5,66,0,255,255,159,168,69,5,67,0,255,255,39,172,69,5,118,1,65,0,73,0,74,0,76,0,77,0,85,0,87,0,91,0,192,0,198,0,199,0,204,0,209,0,215,0,221,0,222,0,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12,1,13,1,14,1,15,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,26,1,27,1,28,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,52,1,53,1,54,1,55,1,57,1,58,1,59,1,60,1,61,1,62,1,67,1,68,1,69,1,70,1,71,1,72,1,76,1,77,1,78,1,79,1,80,1,81,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,94,1,95,1,96,1,97,1,98,1,99,1,100,1,101,1,116,1,117,1,118,1,119,1,120,1,122,1,123,1,124,1,125,1,126,1,160,1,161,1,205,1,206,1,209,1,210,1,222,1,223,1,224,1,225,1,230,1,231,1,232,1,233,1,234,1,235,1,236,1,237,1,244,1,245,1,248,1,249,1,250,1,251,1,0,2,1,2,2,2,3,2,4,2,5,2,6,2,7,2,12,2,13,2,14,2,15,2,16,2,17,2,18,2,19,2,24,2,25,2,26,2,27,2,30,2,31,2,38,2,39,2,40,2,41,2,42,2,43,2,44,2,45,2,46,2,47,2,48,2,49,2,50,2,51,2,0,30,1,30,2,30,3,30,4,30,5,30,6,30,7,30,8,30,9,30,10,30,11,30,12,30,13,30,14,30,15,30,16,30,17,30,18,30,19,30,20,30,21,30,22,30,23,30,24,30,25,30,26,30,27,30,28,30,29,30,30,30,31,30,32,30,33,30,34,30,35,30,36,30,37,30,38,30,39,30,40,30,41,30,42,30,43,30,48,30,49,30,50,30,51,30,52,30,53,30,54,30,55,30,56,30,57,30,58,30,59,30,60,30,61,30,62,30,63,30,64,30,65,30,66,30,67,30,68,30,69,30,70,30,71,30,72,30,73,30,74,30,75,30,76,30,77,30,78,30,79,30,80,30,81,30,82,30,83,30,84,30,85,30,86,30,87,30,88,30,89,30,90,30,91,30,92,30,93,30,94,30,95,30,96,30,97,30,98,30,99,30,100,30,101,30,102,30,103,30,104,30,105,30,106,30,107,30,108,30,109,30,110,30,111,30,112,30,113,30,128,30,129,30,130,30,131,30,132,30,133,30,134,30,135,30,136,30,137,30,138,30,139,30,140,30,141,30,142,30,143,30,144,30,145,30,146,30,147,30,148,30,149,30,160,30,161,30,162,30,163,30,164,30,165,30,166,30,167,30,168,30,169,30,170,30,171,30,172,30,173,30,174,30,175,30,176,30,177,30,178,30,179,30,180,30,181,30,182,30,183,30,184,30,185,30,186,30,187,30,188,30,189,30,190,30,191,30,192,30,193,30,194,30,195,30,196,30,197,30,198,30,199,30,204,30,205,30,206,30,207,30,208,30,209,30,210,30,211,30,212,30,213,30,214,30,215,30,216,30,217,30,218,30,219,30,220,30,221,30,222,30,223,30,224,30,225,30,226,30,227,30,242,30,243,30,244,30,245,30,246,30,247,30,248,30,249,30,42,33,44,33,134,94,135,94,135,101,136,101,51,150,52,150,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,170,170,3,0,68,0,51,0,60,0,75,141,1,16,219,79,0,96,1,0,0,96,170,170,170,170,34,84,3,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,100,0,0,0,100,1,0,0,68,45,3,0,68,45,3,0,180,55,3,0,180,55,3,0,24,64,3,0,24,64,3,0,196,79,3,0,214,79,3,0,6,84,3,0,17,0,0,0,5,0,0,0,0,0,0,41,127,0,0,96,125,0,0,123,44,0,118,123,125,0,0,126,169,255,0,254,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,0,249,250,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,254,255,50,105,114,84,1,0,112,14,239,48,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,176,0,184,0,189,0,48,0,197,0,205,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,229,0,237,0,245,0,253,0,5,1,13,1,21,1,29,1,37,1,45,1,48,0,52,1,60,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,67,1,48,0,48,0,48,0,48,0,75,1,83,1,48,0,91,1,99,1,107,1,110,1,48,0,48,0,118,1,126,1,48,0,48,0,48,0,134,1,142,1,150,1,158,1,165,1,173,1,181,1,189,1,197,1,205,1,213,1,221,1,229,1,236,1,244,1,252,1,4,2,12,2,20,2,28,2,36,2,44,2,51,2,59,2,67,2,75,2,83,2,91,2,99,2,103,2,111,2,119,2,125,2,133,2,141,2,48,0,149,2,48,0,157,2,165,2,171,2,179,2,187,2,195,2,203,2,211,2,219,2,226,2,234,2,242,2,250,2,2,3,10,3,18,3,24,3,32,3,40,3,48,3,56,3,64,3,72,3,80,3,88,3,96,3,104,3,112,3,120,3,128,3,136,3,142,3,48,0,148,3,156,3,164,3,172,3,180,3,188,3,196,3,203,3,211,3,218,3,226,3,234,3,242,3,250,3,48,0,0,4,8,4,16,4,24,4,31,4,39,4,47,4,55,4,62,4,70,4,78,4,86,4,94,4,102,4,110,4,115,4,122,4,130,4,138,4,146,4,154,4,162,4,169,4,177,4,183,4,190,4,197,4,205,4,213,4,221,4,229,4,237,4,245,4,48,0,253,4,5,5,13,5,21,5,26,5,30,5,37,5,45,5,53,5,61,5,69,5,77,5,84,5,91,5,99,5,107,5,115,5,123,5,131,5,139,5,147,5,154,5,161,5,166,5,174,5,182,5,189,5,196,5,203,5,211,5,219,5,227,5,232,5,240,5,248,5,255,5,3,6,11,6,19,6,22,6,28,6,36,6,44,6,51,6,59,6,64,6,71,6,75,6,83,6,91,6,99,6,107,6,114,6,121,6,129,6,131,6,139,6,147,6,155,6,161,6,48,0,164,6,171,6,178,6,185,6,193,6,201,6,207,6,212,6,220,6,228,6,236,6,48,0,244,6,252,6,4,7,11,7,19,7,27,7,33,7,41,7,49,7,56,7,62,7,66,7,72,7,48,0,48,0,48,0,80,7,88,7,96,7,104,7,112,7,120,7,128,7,136,7,144,7,152,7,160,7,168,7,176,7,184,7,192,7,200,7,208,7,216,7,224,7,232,7,240,7,248,7,0,8,8,8,16,8,24,8,32,8,40,8,48,8,56,8,64,8,72,8,80,8,88,8,96,8,104,8,112,8,120,8,128,8,136,8,144,8,152,8,160,8,168,8,176,8,184,8,192,8,200,8,208,8,216,8,224,8,232,8,240,8,248,8,0,9,8,9,16,9,24,9,32,9,40,9,48,9,56,9,64,9,72,9,80,9,88,9,96,9,104,9,112,9,120,9,128,9,136,9,144,9,152,9,160,9,168,9,176,9,184,9,192,9,200,9,208,9,216,9,224,9,232,9,240,9,248,9,0,10,8,10,16,10,24,10,32,10,40,10,48,10,56,10,64,10,72,10,80,10,88,10,96,10,104,10,112,10,120,10,128,10,136,10,144,10,152,10,160,10,168,10,176,10,184,10,192,10,200,10,208,10,216,10,224,10,232,10,240,10,248,10,0,11,8,11,16,11,24,11,32,11,40,11,48,11,56,11,64,11,72,11,80,11,88,11,96,11,104,11,112,11,120,11,128,11,136,11,144,11,152,11,160,11,168,11,176,11,184,11,192,11,200,11,208,11,216,11,224,11,232,11,240,11,248,11,0,12,8,12,16,12,24,12,32,12,40,12,48,12,56,12,64,12,72,12,80,12,88,12,96,12,104,12,112,12,120,12,128,12,136,12,144,12,152,12,160,12,168,12,176,12,184,12,192,12,200,12,208,12,216,12,224,12,232,12,240,12,248,12,0,13,8,13,16,13,24,13,32,13,40,13,48,13,56,13,64,13,72,13,80,13,88,13,96,13,104,13,112,13,120,13,128,13,136,13,144,13,152,13,160,13,168,13,176,13,184,13,192,13,200,13,208,13,216,13,224,13,232,13,240,13,248,13,0,14,8,14,16,14,24,14,32,14,40,14,48,14,56,14,64,14,72,14,80,14,88,14,96,14,104,14,112,14,120,14,128,14,136,14,144,14,152,14,160,14,168,14,176,14,184,14,192,14,200,14,208,14,216,14,224,14,232,14,240,14,248,14,0,15,8,15,16,15,24,15,32,15,40,15,48,15,56,15,64,15,72,15,80,15,88,15,96,15,104,15,112,15,120,15,128,15,136,15,144,15,152,15,160,15,168,15,176,15,184,15,192,15,200,15,208,15,216,15,224,15,232,15,240,15,248,15,0,16,8,16,16,16,24,16,32,16,40,16,48,16,56,16,64,16,72,16,80,16,88,16,96,16,104,16,112,16,120,16,128,16,136,16,144,16,152,16,160,16,168,16,176,16,184,16,192,16,200,16,208,16,216,16,224,16,232,16,240,16,248,16,0,17,8,17,16,17,24,17,32,17,40,17,48,17,56,17,64,17,72,17,80,17,88,17,96,17,104,17,112,17,120,17,128,17,136,17,144,17,152,17,160,17,168,17,176,17,184,17,192,17,200,17,208,17,216,17,224,17,232,17,240,17,248,17,0,18,8,18,16,18,24,18,32,18,40,18,48,18,56,18,64,18,72,18,80,18,88,18,96,18,104,18,112,18,120,18,128,18,136,18,144,18,152,18,160,18,168,18,176,18,184,18,192,18,200,18,208,18,216,18,224,18,232,18,240,18,248,18,0,19,8,19,16,19,24,19,32,19,40,19,48,19,56,19,64,19,72,19,80,19,88,19,96,19,104,19,112,19,120,19,128,19,136,19,144,19,152,19,160,19,168,19,176,19,184,19,192,19,200,19,208,19,216,19,224,19,232,19,240,19,248,19,0,20,8,20,16,20,24,20,32,20,40,20,48,20,56,20,64,20,72,20,80,20,88,20,96,20,104,20,112,20,120,20,128,20,136,20,144,20,152,20,160,20,168,20,176,20,184,20,192,20,200,20,208,20,216,20,224,20,232,20,240,20,248,20,0,21,8,21,16,21,24,21,32,21,40,21,48,21,56,21,64,21,72,21,80,21,88,21,96,21,104,21,112,21,120,21,128,21,136,21,144,21,152,21,160,21,168,21,176,21,184,21,192,21,200,21,208,21,216,21,224,21,232,21,240,21,248,21,0,22,8,22,16,22,24,22,32,22,40,22,48,22,56,22,64,22,72,22,80,22,88,22,96,22,104,22,112,22,120,22,128,22,136,22,144,22,152,22,160,22,168,22,176,22,184,22,192,22,200,22,208,22,216,22,224,22,232,22,240,22,248,22,0,23,8,23,16,23,24,23,32,23,40,23,48,23,56,23,64,23,72,23,80,23,88,23,96,23,104,23,112,23,120,23,128,23,136,23,144,23,152,23,160,23,168,23,176,23,184,23,192,23,200,23,208,23,216,23,224,23,232,23,240,23,248,23,0,24,8,24,16,24,24,24,32,24,40,24,48,24,56,24,64,24,72,24,80,24,88,24,96,24,104,24,112,24,120,24,128,24,136,24,144,24,152,24,160,24,168,24,176,24,184,24,192,24,200,24,208,24,216,24,224,24,232,24,240,24,248,24,0,25,8,25,16,25,24,25,32,25,40,25,48,25,56,25,64,25,72,25,80,25,88,25,96,25,104,25,112,25,120,25,128,25,136,25,144,25,152,25,160,25,168,25,176,25,184,25,192,25,200,25,208,25,216,25,224,25,232,25,240,25,248,25,0,26,8,26,16,26,24,26,32,26,40,26,48,26,56,26,64,26,72,26,80,26,88,26,96,26,104,26,112,26,120,26,128,26,136,26,144,26,152,26,160,26,168,26,176,26,184,26,192,26,200,26,208,26,216,26,224,26,232,26,240,26,248,26,0,27,8,27,16,27,24,27,32,27,40,27,48,27,56,27,64,27,72,27,80,27,88,27,96,27,104,27,112,27,120,27,128,27,136,27,144,27,152,27,160,27,168,27,176,27,184,27,191,27,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,161,0,48,0,48,0,153,0,216,48,224,48,230,48,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,199,27,207,27,215,27,223,27,231,27,239,27,247,27,255,27,7,28,15,28,23,28,31,28,39,28,47,28,55,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,62,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,64,0,191,8,254,8,62,9,126,9,190,9,254,9,62,10,125,10,189,10,253,10,60,11,124,11,188,11,252,11,60,12,123,12,187,12,251,12,58,13,122,13,186,13,240,13,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,48,14,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,67,28,75,28,83,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,91,28,99,28,105,28,112,28,48,0,118,28,123,28,128,28,48,0,48,0,48,0,48,0,135,28,143,28,149,28,156,28,162,28,169,28,176,28,182,28,190,28,198,28,205,28,211,28,218,28,226,28,228,28,236,28,244,28,250,28,253,28,5,29,48,0,48,0,13,29,20,29,28,29,31,29,37,29,48,0,48,0,45,29,48,0,50,29,57,29,65,29,73,29,77,29,84,29,89,29,95,29,48,0,48,0,48,0,48,0,101,29,105,29,48,0,110,29,48,0,48,0,48,0,48,0,117,29,48,0,121,29,48,0,48,0,126,29,48,0,132,29,140,29,143,29,149,29,48,0,48,0,48,0,156,29,160,29,48,0,165,29,170,29,176,29,179,29,187,29,48,0,192,29,48,0,48,0,48,0,197,29,205,29,213,29,221,29,229,29,237,29,245,29,252,29,4,30,12,30,19,30,27,30,35,30,41,30,48,30,53,30,61,30,69,30,75,30,48,0,82,30,48,0,90,30,95,30,102,30,110,30,116,30,124,30,131,30,139,30,146,30,153,30,158,30,163,30,171,30,179,30,183,30,48,0,191,30,199,30,206,30,214,30,222,30,229,30,48,0,235,30,243,30,48,0,251,30,48,0,253,30,48,0,48,0,4,31,12,31,16,31,48,0,24,31,48,0,32,31,40,31,43,31,48,0,50,31,56,31,48,0,64,31,69,31,77,31,84,31,92,31,48,0,98,31,104,31,48,0,110,31,48,0,48,0,48,0,118,31,126,31,48,0,48,0,48,0,132,31,139,31,48,0,147,31,151,31,156,31,164,31,172,31,180,31,187,31,195,31,201,31,48,0,207,31,215,31,223,31,48,0,231,31,239,31,247,31,255,31,7,32,15,32,22,32,30,32,38,32,45,32,52,32,60,32,48,0,66,32,73,32,48,0,78,32,85,32,93,32,48,0,48,0,48,0,48,0,48,0,48,0,100,32,48,0,48,0,48,0,108,32,48,0,48,0,114,32,48,0,118,32,48,0,126,32,48,0,48,0,48,0,48,0,133,32,48,0,141,32,146,32,153,32,159,32,166,32,174,32,48,0,48,0,182,32,189,32,195,32,48,0,201,32,48,0,48,0,207,32,210,32,218,32,48,0,224,32,48,0,48,0,231,32,234,32,242,32,48,0,249,32,251,32,48,0,3,33,6,33,13,33,48,0,21,33,29,33,48,0,35,33,48,0,48,0,38,33,48,0,48,0,48,0,48,0,48,0,46,33,48,0,48,0,48,0,48,33,56,33,62,33,48,0,48,0,48,0,69,33,75,33,80,33,88,33,93,33,97,33,104,33,109,33,48,0,115,33,120,33,48,0,48,0,128,33,136,33,48,0,142,33,149,33,48,0,48,0,156,33,162,33,170,33,48,0,173,33,181,33,187,33,193,33,48,0,201,33,48,0,202,33,210,33,48,0,215,33,223,33,226,33,48,0,233,33,240,33,247,33,255,33,48,0,48,0,48,0,48,0,48,0,48,0,6,34,48,0,48,0,11,34,18,34,23,34,31,34,39,34,45,34,48,0,48,0,51,34,48,0,48,0,58,34,65,34,73,34,79,34,87,34,95,34,48,0,102,34,48,0,109,34,116,34,121,34,129,34,48,0,135,34,140,34,144,34,152,34,154,34,161,34,165,34,48,0,170,34,48,0,48,0,48,0,174,34,48,0,48,0,180,34,188,34,48,0,192,34,199,34,206,34,214,34,218,34,226,34,48,0,234,34,235,34,48,0,243,34,251,34,2,35,8,35,14,35,21,35,28,35,34,35,42,35,50,35,56,35,60,35,68,35,76,35,48,0,48,0,48,0,48,0,84,35,90,35,98,35,106,35,107,35,115,35,120,35,48,0,48,0,48,0,127,35,129,35,136,35,141,35,148,35,151,35,159,35,166,35,170,35,178,35,185,35,193,35,201,35,207,35,215,35,222,35,230,35,238,35,246,35,48,0,254,35,6,36,14,36,22,36,48,0,28,36,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,36,36,48,0,48,0,48,0,48,0,48,0,48,0,43,36,45,36,52,36,59,36,48,0,66,36,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,74,36,76,36,83,36,90,36,93,36,48,0,48,0,101,36,108,36,116,36,120,36,48,0,128,36,135,36,140,36,48,0,48,0,147,36,150,36,158,36,164,36,48,0,172,36,180,36,188,36,196,36,200,36,208,36,214,36,219,36,224,36,232,36,48,0,239,36,48,0,245,36,253,36,4,37,11,37,19,37,27,37,48,0,35,37,41,37,49,37,57,37,48,0,64,37,71,37,78,37,85,37,93,37,98,37,105,37,112,37,118,37,126,37,131,37,139,37,147,37,153,37,160,37,163,37,169,37,176,37,183,37,186,37,194,37,48,0,201,37,209,37,48,0,211,37,48,0,48,0,218,37,48,0,221,37,228,37,48,0,235,37,241,37,48,0,247,37,48,0,254,37,5,38,48,0,48,0,10,38,48,0,48,0,18,38,22,38,30,38,48,0,48,0,38,38,48,0,48,0,44,38,52,38,59,38,67,38,75,38,83,38,90,38,97,38,105,38,112,38,120,38,128,38,136,38,143,38,150,38,158,38,166,38,171,38,48,0,48,0,176,38,48,0,48,0,48,0,180,38,186,38,48,0,48,0,48,0,189,38,48,0,197,38,48,0,204,38,48,0,48,0,48,0,48,0,209,38,48,0,216,38,48,0,219,38,226,38,48,0,48,0,233,38,48,0,48,0,238,38,48,0,242,38,48,0,250,38,1,39,9,39,48,0,14,39,18,39,48,0,23,39,48,0,48,0,48,0,48,0,31,39,37,39,40,39,48,0,48,0,48,39,56,39,48,0,64,39,68,39,48,0,73,39,48,0,80,39,48,0,87,39,48,0,48,0,48,0,48,0,48,0,48,0,48,0,92,39,99,39,106,39,111,39,115,39,48,0,48,0,48,0,48,0,122,39,130,39,138,39,146,39,150,39,157,39,165,39,172,39,175,39,181,39,48,0,189,39,48,0,48,0,197,39,204,39,212,39,48,0,220,39,48,0,48,0,227,39,235,39,48,0,48,0,238,39,246,39,48,0,48,0,252,39,4,40,12,40,48,0,19,40,48,0,48,0,25,40,30,40,48,0,48,0,48,0,34,40,48,0,40,40,48,40,48,0,54,40,48,0,48,0,48,0,57,40,63,40,67,40,74,40,81,40,89,40,97,40,103,40,110,40,114,40,121,40,129,40,130,40,48,0,138,40,146,40,48,0,148,40,155,40,48,0,48,0,162,40,48,0,168,40,48,0,176,40,183,40,191,40,48,0,198,40,48,0,205,40,48,0,48,0,48,0,48,0,213,40,48,0,221,40,227,40,234,40,242,40,249,40,48,0,48,0,1,41,9,41,11,41,48,0,48,0,19,41,24,41,48,0,48,0,48,0,32,41,40,41,48,0,48,0,44,41,48,0,48,0,49,41,55,41,48,0,48,0,60,41,48,0,68,41,76,41,48,0,82,41,88,41,95,41,48,0,48,0,48,0,102,41,48,0,48,0,107,41,48,0,115,41,48,0,48,0,123,41,130,41,48,0,48,0,48,0,135,41,141,41,148,41,156,41,48,0,164,41,48,0,166,41,173,41,179,41,48,0,183,41,48,0,191,41,199,41,205,41,48,0,212,41,48,0,217,41,224,41,231,41,48,0,48,0,237,41,48,0,243,41,48,0,250,41,2,42,48,0,48,0,48,0,48,0,48,0,9,42,17,42,21,42,28,42,36,42,44,42,52,42,55,42,48,0,63,42,71,42,73,42,81,42,88,42,96,42,48,0,48,0,104,42,108,42,113,42,48,0,121,42,125,42,133,42,141,42,48,0,149,42,154,42,161,42,48,0,168,42,48,0,48,0,175,42,48,0,179,42,185,42,193,42,201,42,48,0,209,42,48,0,215,42,48,0,221,42,226,42,231,42,236,42,243,42,250,42,48,0,1,43,48,0,48,0,7,43,48,0,11,43,48,0,48,0,18,43,26,43,30,43,48,0,37,43,48,0,48,0,41,43,48,0,46,43,48,0,48,0,53,43,48,0,61,43,65,43,48,0,72,43,48,0,48,0,48,0,48,0,48,0,48,0,75,43,48,0,83,43,48,0,91,43,99,43,103,43,110,43,48,0,116,43,48,0,48,0,48,0,122,43,126,43,134,43,48,0,142,43,48,0,147,43,48,0,48,0,151,43,158,43,163,43,171,43,177,43,48,0,48,0,184,43,48,0,191,43,48,0,199,43,200,43,208,43,216,43,220,43,228,43,235,43,242,43,244,43,48,0,252,43,3,44,10,44,17,44,24,44,48,0,48,0,48,0,29,44,35,44,48,0,48,0,40,44,48,0,44,44,51,44,48,0,48,0,56,44,60,44,67,44,74,44,81,44,89,44,48,0,48,0,48,0,97,44,48,0,48,0,48,0,48,0,48,0,48,0,102,44,48,0,48,0,48,0,48,0,48,0,106,44,114,44,122,44,128,44,48,0,136,44,141,44,48,0,149,44,48,0,155,44,160,44,168,44,174,44,179,44,48,0,48,0,187,44,48,0,194,44,200,44,208,44,48,0,215,44,223,44,230,44,237,44,48,0,244,44,252,44,48,0,48,0,48,0,0,45,48,0,48,0,6,45,14,45,48,0,48,0,48,0,22,45,23,45,48,0,31,45,48,0,48,0,48,0,37,45,45,45,52,45,48,0,48,0,48,0,59,45,67,45,74,45,79,45,48,0,48,0,48,0,48,0,48,0,48,0,48,0,86,45,92,45,48,0,48,0,48,0,48,0,48,0,48,0,97,45,101,45,107,45,114,45,122,45,128,45,136,45,144,45,152,45,159,45,166,45,48,0,174,45,48,0,182,45,190,45,198,45,206,45,213,45,221,45,226,45,234,45,242,45,249,45,1,46,9,46,48,0,48,0,48,0,48,0,16,46,48,0,48,0,21,46,48,0,48,0,27,46,34,46,48,0,48,0,41,46,45,46,48,0,52,46,55,46,61,46,66,46,73,46,48,0,48,0,48,0,48,0,48,0,48,0,80,46,48,0,48,0,48,0,82,46,89,46,94,46,102,46,109,46,114,46,119,46,127,46,135,46,140,46,148,46,151,46,157,46,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,160,46,168,46,176,46,48,0,48,0,48,0,180,46,187,46,48,0,48,0,48,0,48,0,189,46,197,46,204,46,210,46,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,46,48,0,48,0,48,0,48,0,223,46,48,0,229,46,48,0,234,46,48,0,48,0,241,46,245,46,251,46,3,47,8,47,15,47,23,47,26,47,48,0,34,47,48,0,48,0,40,47,45,47,48,0,48,0,48,0,48,0,48,0,52,47,48,0,48,0,48,0,48,0,48,0,56,47,48,0,48,0,48,0,48,0,62,47,48,0,67,47,48,0,48,0,48,0,71,47,79,47,86,47,94,47,48,0,48,0,101,47,108,47,113,47,48,0,119,47,48,0,124,47,132,47,134,47,48,0,142,47,48,0,48,0,48,0,147,47,153,47,48,0,161,47,48,0,48,0,48,0,168,47,170,47,48,0,178,47,186,47,194,47,200,47,48,0,205,47,211,47,217,47,225,47,48,0,233,47,48,0,48,0,238,47,246,47,254,47,6,48,48,0,48,0,14,48,48,0,48,0,20,48,48,0,48,0,48,0,23,48,29,48,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,36,48,48,0,44,48,48,48,54,48,48,0,48,0,61,48,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,64,48,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,72,48,80,48,88,48,96,48,104,48,112,48,120,48,128,48,136,48,144,48,152,48,160,48,168,48,176,48,184,48,192,48,200,48,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,41,0,202,65,39,0,202,130,39,0,202,195,39,0,202,4,40,0,202,69,40,0,202,134,40,0,202,199,40,0,202,8,41,0,202,73,41,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,66,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,162,66,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,66,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,157,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,136,192,0,0,0,5,5,22,157,5,5,27,157,5,5,31,157,192,0,0,0,5,5,39,157,192,0,0,0,5,5,116,157,5,5,117,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,158,5,5,69,158,192,0,0,0,6,5,120,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,158,192,0,0,0,5,5,98,158,192,0,0,0,192,0,0,0,5,5,163,159,192,0,0,0,5,5,174,159,192,0,0,0,5,5,165,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,158,192,0,0,0,5,5,151,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,165,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,165,192,0,0,0,5,5,153,157,5,5,119,158,192,0,0,0,5,5,48,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,157,5,5,111,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,251,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,0,128,6,5,0,129,6,5,0,130,6,5,0,131,7,5,0,134,6,5,0,143,9,5,15,157,6,5,16,157,7,5,17,157,6,5,19,157,6,5,20,157,7,5,21,157,6,5,23,157,6,5,24,157,6,5,25,157,6,5,26,157,6,5,28,157,6,5,29,157,6,5,33,157,6,5,34,157,6,5,35,157,6,5,36,157,6,5,37,157,8,5,38,157,6,5,40,157,6,5,41,157,6,5,42,157,6,5,43,157,6,5,45,157,6,5,100,157,6,5,101,157,7,5,102,157,6,5,103,157,6,5,104,157,6,5,105,157,6,5,106,157,6,5,107,157,7,5,109,157,6,5,110,157,6,5,114,157,6,5,115,157,6,5,118,157,6,5,119,157,6,5,122,157,6,5,123,157,6,5,124,157,6,5,125,157,6,5,127,157,6,5,128,157,6,5,131,157,6,5,132,157,6,5,134,157,6,5,135,157,6,5,136,157,6,5,137,157,6,5,138,157,6,5,139,157,6,5,140,157,6,5,143,157,6,5,144,157,6,5,48,158,6,5,50,158,6,5,51,158,7,5,54,158,6,5,57,158,6,5,58,158,7,5,60,158,6,5,61,158,6,5,62,158,6,5,63,158,6,5,64,158,7,5,67,158,6,5,68,158,8,5,70,158,7,5,71,158,6,5,74,158,6,5,75,158,6,5,77,158,6,5,78,158,6,5,79,158,6,5,81,158,6,5,82,158,6,5,83,158,6,5,84,158,7,5,85,158,7,5,86,158,6,5,88,158,6,5,91,158,6,5,92,158,6,5,94,158,6,5,95,158,6,5,96,158,6,5,99,158,6,5,101,158,6,5,144,159,6,5,145,159,6,5,149,159,6,5,150,159,6,5,151,159,7,5,152,159,6,5,153,159,6,5,155,159,6,5,161,159,6,5,164,159,6,5,165,159,6,5,166,159,6,5,167,159,6,5,168,159,6,5,169,159,6,5,170,159,6,5,171,159,6,5,172,159,6,5,173,159,6,5,175,159,6,5,176,159,6,5,177,159,6,5,178,159,6,5,168,161,6,5,169,161,6,5,170,161,6,5,183,161,6,5,184,161,6,5,185,161,6,5,189,161,6,5,190,161,6,5,192,161,6,5,193,161,6,5,194,161,6,5,195,161,6,5,196,161,6,5,201,161,6,5,202,161,6,5,203,161,6,5,204,161,6,5,206,161,6,5,207,161,6,5,208,161,6,5,209,161,6,5,210,161,6,5,211,161,6,5,221,161,6,5,222,161,6,5,223,161,6,5,224,161,6,5,225,161,6,5,226,161,6,5,122,165,6,5,124,165,6,5,127,165,6,5,147,165,6,5,148,165,6,5,149,165,6,5,150,165,6,5,151,165,6,5,154,165,7,5,155,165,6,5,156,165,6,5,158,165,6,5,159,165,6,5,163,165,6,5,164,165,6,5,165,165,6,5,182,165,6,5,199,165,6,5,200,165,6,5,201,165,7,5,70,171,6,5,83,171,6,5,85,171,6,5,88,171,6,5,109,171,6,5,110,171,6,5,112,171,6,5,113,171,6,5,115,171,6,5,192,177,6,5,193,177,6,5,194,177,6,5,196,177,6,5,197,177,6,5,198,177,6,5,203,177,6,5,207,177,6,5,208,177,6,5,219,177,6,5,221,177,6,5,50,185,6,5,57,185,6,5,58,185,6,5,59,185,6,5,60,185,6,5,61,185,6,5,62,185,6,5,63,185,6,5,89,193,6,5,91,193,6,5,101,193,6,5,102,193,6,5,103,193,6,5,105,193,6,5,231,201,6,5,233,201,6,5,234,201,6,5,235,201,6,5,201,209,6,5,203,209,6,5,204,209,6,5,206,209,6,5,244,216,6,5,245,216,6,5,41,224,6,5,51,230,6,5,52,230,6,5,32,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,157,5,5,0,146,5,5,0,147,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,148,5,5,50,157,5,5,160,157,5,5,51,157,5,5,0,149,5,5,52,157,5,5,161,157,5,5,124,158,5,5,125,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,38,157,6,5,61,157,6,5,251,157,5,5,0,150,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,8,5,0,128,8,5,15,157,8,5,56,157,7,5,25,159,7,5,57,157,8,5,170,157,7,5,58,157,6,5,157,159,6,5,0,134,6,5,132,158,6,5,0,152,7,5,22,158,6,5,169,160,6,5,17,157,198,131,31,0,198,227,31,0,198,67,32,0,198,163,32,0,198,3,33,0,198,99,33,0,198,195,33,0,198,35,34,0,198,131,34,0,198,227,34,0,198,67,35,0,198,163,35,0,198,3,36,0,198,99,36,0,197,227,35,0,198,195,36,0,198,35,37,0,198,131,37,0,198,227,37,0,197,67,36,0,198,67,38,0,198,163,38,0,197,163,36,0,197,3,37,0,198,3,39,0,198,99,39,0,198,195,39,0,198,35,40,0,197,99,37,0,198,131,40,0,197,195,37,0,198,227,40,0,197,35,38,0,198,67,41,0,197,131,38,0,197,227,38,0,6,5,246,185,6,5,77,159,6,5,60,158,6,5,171,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,0,128,7,5,15,157,7,5,56,157,6,5,25,159,6,5,187,157,6,5,217,157,6,5,0,154,6,5,21,157,6,5,12,157,6,5,38,157,7,5,70,158,6,5,86,158,6,5,85,158,6,5,71,158,6,5,70,171,6,5,102,157,6,5,67,158,6,5,189,180,7,5,77,161,6,5,62,170,6,5,140,160,6,5,197,181,6,5,114,184,6,5,161,182,6,5,158,162,6,5,170,182,6,5,22,165,6,5,109,157,6,5,186,222,6,5,65,230,6,5,116,160,6,5,138,169,6,5,178,201,6,5,23,160,6,5,193,158,6,5,118,159,6,5,57,157,7,5,170,157,6,5,58,157,7,5,67,159,7,5,7,159,6,5,165,162,6,5,157,167,6,5,149,167,6,5,48,213,6,5,7,160,6,5,42,208,6,5,164,166,6,5,71,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,39,0,197,130,39,0,197,194,39,0,197,2,40,0,197,66,40,0,197,130,40,0,197,194,40,0,197,2,41,0,197,66,41,0,197,131,41,0,197,227,41,0,197,67,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,42,0,197,34,43,0,197,98,43,0,197,162,43,0,197,226,43,0,197,34,44,0,197,98,44,0,197,162,44,0,197,226,44,0,197,34,45,0,197,99,45,0,197,195,45,0,197,35,46,0,197,131,46,0,197,227,46,0,197,67,47,0,197,163,47,0,197,3,48,0,197,99,48,0,197,195,48,0,197,35,49,0,197,131,49,0,197,227,49,0,197,67,50,0,197,163,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,51,0,197,66,51,0,197,130,51,0,197,194,51,0,197,4,52,0,197,130,52,0,197,194,52,0,197,2,53,0,197,66,53,0,197,130,53,0,197,194,53,0,197,2,54,0,197,66,54,0,197,130,54,0,197,195,54,0,197,35,55,0,197,131,55,0,197,227,55,0,197,67,56,0,197,163,56,0,197,3,57,0,197,99,57,0,197,195,57,0,197,35,58,0,197,131,58,0,197,227,58,0,197,67,59,0,197,163,59,0,197,3,60,0,197,99,60,0,197,195,60,0,197,35,61,0,197,131,61,0,197,227,61,0,197,67,62,0,197,163,62,0,192,0,0,0,5,5,137,158,5,5,219,159,192,0,0,0,192,0,0,0,5,5,64,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,171,192,0,0,0,5,5,83,185,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,159,192,0,0,0,5,5,17,166,192,0,0,0,192,0,0,0,5,5,174,158,5,5,175,158,5,5,176,158,5,5,177,158,5,5,178,158,5,5,179,158,5,5,180,158,5,5,181,158,5,5,52,160,5,5,53,160,192,0,0,0,5,5,54,160,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,160,5,5,56,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,162,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,166,192,0,0,0,5,5,90,166,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,185,5,5,72,178,5,5,73,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,193,192,0,0,0,192,0,0,0,5,5,26,202,5,5,27,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,217,192,0,0,0,192,0,0,0,5,5,22,217,192,0,0,0,5,5,23,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,238,192,0,0,0,5,5,27,242,192,0,0,0,5,5,153,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,235,5,5,186,158,192,0,0,0,192,0,0,0,5,5,115,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,166,192,0,0,0,5,5,139,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,210,192,0,0,0,5,5,17,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,185,192,0,0,0,5,5,24,210,192,0,0,0,192,0,0,0,5,5,78,230,5,5,79,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,157,192,0,0,0,5,5,188,185,192,0,0,0,192,0,0,0,5,5,164,162,5,5,192,185,5,5,56,202,5,5,57,202,5,5,58,202,5,5,28,210,5,5,220,249,5,5,166,162,5,5,188,193,5,5,255,157,192,0,0,0,5,5,115,160,192,0,0,0,192,0,0,0,5,5,98,157,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,210,192,0,0,0,5,5,82,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,210,5,5,133,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,162,192,0,0,0,192,0,0,0,5,5,249,162,192,0,0,0,5,5,250,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,166,5,5,253,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,178,5,5,225,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,186,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,194,192,0,0,0,5,5,13,194,192,0,0,0,192,0,0,0,5,5,14,194,5,5,15,194,192,0,0,0,5,5,16,194,192,0,0,0,192,0,0,0,5,5,17,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,202,192,0,0,0,5,5,123,202,192,0,0,0,192,0,0,0,5,5,124,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,217,5,5,108,217,5,5,109,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,224,192,0,0,0,192,0,0,0,5,5,110,224,192,0,0,0,5,5,111,224,5,5,112,224,5,5,113,224,5,5,114,224,5,5,115,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,246,192,0,0,0,5,5,183,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,167,192,0,0,0,5,5,114,172,5,5,243,178,192,0,0,0,5,5,40,242,5,5,34,159,192,0,0,0,192,0,0,0,5,5,58,163,192,0,0,0,5,5,59,163,192,0,0,0,5,5,60,163,5,5,61,163,192,0,0,0,5,5,62,163,5,5,61,167,5,5,62,167,5,5,63,167,5,5,64,167,5,5,65,167,5,5,160,172,5,5,161,172,5,5,162,172,5,5,163,172,192,0,0,0,5,5,164,172,192,0,0,0,192,0,0,0,5,5,165,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,186,5,5,121,186,5,5,122,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,202,192,0,0,0,5,5,149,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,210,5,5,151,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,163,192,0,0,0,5,5,112,163,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,167,5,5,129,167,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,167,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,167,192,0,0,0,192,0,0,0,5,5,132,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,167,192,0,0,0,5,5,232,172,5,5,233,172,5,5,234,172,192,0,0,0,5,5,235,172,5,5,236,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,179,192,0,0,0,192,0,0,0,5,5,87,179,192,0,0,0,5,5,88,179,5,5,89,179,192,0,0,0,5,5,90,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,179,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,179,5,5,93,179,192,0,0,0,192,0,0,0,5,5,206,186,5,5,207,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,194,5,5,155,194,192,0,0,0,5,5,156,194,5,5,157,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,202,192,0,0,0,5,5,238,202,192,0,0,0,192,0,0,0,5,5,239,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,210,192,0,0,0,5,5,199,210,192,0,0,0,5,5,200,210,192,0,0,0,5,5,201,210,5,5,187,217,192,0,0,0,5,5,188,217,5,5,189,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,224,5,5,169,224,5,5,170,224,192,0,0,0,192,0,0,0,5,5,84,235,5,5,85,235,5,5,2,239,5,5,3,239,5,5,4,239,5,5,5,239,5,5,52,242,5,5,53,242,5,5,54,242,5,5,181,244,5,5,110,246,5,5,222,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,167,192,0,0,0,192,0,0,0,5,5,101,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,203,192,0,0,0,192,0,0,0,5,5,255,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,211,5,5,3,211,192,0,0,0,192,0,0,0,5,5,4,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,239,192,0,0,0,5,5,18,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,179,192,0,0,0,5,5,253,194,192,0,0,0,192,0,0,0,5,5,225,167,5,5,38,187,5,5,74,159,5,5,75,159,5,5,3,161,5,5,4,161,5,5,5,161,5,5,184,163,5,5,185,163,5,5,186,163,192,0,0,0,5,5,187,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,217,5,5,203,224,5,5,204,224,5,5,205,224,5,5,176,230,5,5,177,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,211,192,0,0,0,192,0,0,0,5,5,87,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,179,192,0,0,0,5,5,165,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,173,5,5,167,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,179,192,0,0,0,5,5,168,173,192,0,0,0,192,0,0,0,5,5,106,187,5,5,14,180,5,5,107,187,5,5,15,180,5,5,16,180,5,5,108,187,5,5,17,180,5,5,18,180,5,5,19,180,5,5,20,180,192,0,0,0,5,5,109,187,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,195,5,5,105,195,5,5,87,203,5,5,88,203,5,5,106,195,5,5,89,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,218,5,5,75,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,225,192,0,0,0,5,5,103,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,235,192,0,0,0,192,0,0,0,5,5,76,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,164,192,0,0,0,192,0,0,0,5,5,159,168,5,5,160,168,192,0,0,0,192,0,0,0,5,5,176,173,5,5,161,168,5,5,162,168,192,0,0,0,5,5,163,168,5,5,164,168,5,5,165,168,5,5,166,168,192,0,0,0,5,5,231,173,5,5,232,173,192,0,0,0,192,0,0,0,5,5,233,173,5,5,234,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,180,192,0,0,0,192,0,0,0,5,5,253,187,192,0,0,0,192,0,0,0,5,5,254,187,192,0,0,0,5,5,255,187,5,5,2,188,5,5,3,188,5,5,4,188,5,5,5,188,192,0,0,0,5,5,6,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,195,5,5,189,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,203,192,0,0,0,192,0,0,0,5,5,200,203,192,0,0,0,192,0,0,0,5,5,201,203,192,0,0,0,192,0,0,0,5,5,202,203,5,5,203,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,211,192,0,0,0,5,5,150,211,5,5,151,211,5,5,152,211,5,5,153,211,5,5,154,211,5,5,155,211,5,5,156,211,5,5,157,211,5,5,158,211,192,0,0,0,192,0,0,0,5,5,91,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,225,192,0,0,0,5,5,44,225,192,0,0,0,192,0,0,0,5,5,45,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,230,192,0,0,0,5,5,228,230,192,0,0,0,192,0,0,0,5,5,137,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,235,5,5,139,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,168,192,0,0,0,5,5,247,173,5,5,248,173,5,5,249,173,192,0,0,0,5,5,109,180,5,5,110,180,5,5,111,180,5,5,26,188,5,5,27,188,5,5,28,188,5,5,29,188,5,5,30,188,5,5,212,195,5,5,213,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,195,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,173,5,5,253,173,192,0,0,0,192,0,0,0,5,5,226,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,174,192,0,0,0,192,0,0,0,5,5,124,180,192,0,0,0,5,5,47,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,174,192,0,0,0,5,5,45,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,188,192,0,0,0,5,5,69,188,192,0,0,0,192,0,0,0,5,5,3,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,196,5,5,249,203,5,5,250,203,5,5,251,203,5,5,252,203,5,5,253,203,5,5,254,203,5,5,255,203,5,5,2,204,5,5,3,204,5,5,4,204,5,5,5,204,5,5,6,204,5,5,192,211,5,5,193,211,5,5,194,211,5,5,195,211,5,5,173,218,5,5,174,218,5,5,175,218,5,5,176,218,5,5,177,218,5,5,178,218,5,5,87,225,5,5,88,225,5,5,89,225,5,5,90,225,5,5,91,225,5,5,92,225,5,5,93,225,5,5,94,225,5,5,95,225,5,5,248,230,5,5,249,230,5,5,250,230,5,5,151,235,5,5,152,235,5,5,153,235,5,5,154,235,5,5,155,235,5,5,156,235,5,5,61,239,5,5,62,239,5,5,98,242,5,5,139,246,5,5,140,246,5,5,208,247,5,5,110,249,5,5,76,161,5,5,102,225,5,5,253,230,5,5,220,168,5,5,159,180,5,5,160,180,5,5,80,188,5,5,81,188,5,5,19,196,5,5,52,199,5,5,15,204,5,5,202,211,5,5,183,218,5,5,184,218,5,5,185,218,5,5,105,225,5,5,254,230,5,5,97,161,5,5,134,164,5,5,135,164,5,5,136,164,5,5,137,164,5,5,138,164,5,5,34,169,5,5,35,169,5,5,36,169,5,5,37,169,5,5,38,169,5,5,39,169,5,5,40,169,5,5,41,169,5,5,42,169,5,5,43,169,5,5,148,174,5,5,149,174,5,5,150,174,5,5,151,174,5,5,152,174,5,5,153,174,5,5,154,174,5,5,253,180,5,5,254,180,5,5,255,180,5,5,2,181,5,5,3,181,5,5,4,181,5,5,5,181,5,5,6,181,5,5,7,181,5,5,8,181,5,5,9,181,5,5,10,181,5,5,11,181,5,5,12,181,5,5,13,181,5,5,14,181,5,5,169,188,5,5,170,188,5,5,171,188,5,5,172,188,5,5,173,188,5,5,174,188,5,5,175,188,5,5,176,188,5,5,177,188,5,5,178,188,5,5,179,188,5,5,180,188,5,5,181,188,5,5,182,188,5,5,129,196,5,5,183,188,5,5,130,196,5,5,131,196,5,5,132,196,5,5,133,196,5,5,134,196,5,5,135,196,5,5,136,196,5,5,137,196,5,5,138,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,204,5,5,109,204,192,0,0,0,192,0,0,0,5,5,110,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,212,192,0,0,0,5,5,10,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,219,192,0,0,0,5,5,12,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,231,5,5,49,231,5,5,50,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,239,5,5,91,239,5,5,92,239,192,0,0,0,5,5,93,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,242,5,5,115,242,192,0,0,0,192,0,0,0,5,5,116,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,244,192,0,0,0,192,0,0,0,5,5,150,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,204,192,0,0,0,5,5,127,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,164,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,181,5,5,200,188,192,0,0,0,5,5,161,196,192,0,0,0,5,5,162,196,192,0,0,0,5,5,163,196,5,5,164,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,219,5,5,34,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,169,192,0,0,0,5,5,158,169,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,188,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,189,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,197,5,5,47,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,197,192,0,0,0,192,0,0,0,5,5,49,197,192,0,0,0,5,5,50,197,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,204,5,5,240,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,204,192,0,0,0,5,5,154,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,219,192,0,0,0,5,5,125,219,192,0,0,0,192,0,0,0,5,5,126,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,226,192,0,0,0,192,0,0,0,5,5,11,226,192,0,0,0,192,0,0,0,5,5,12,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,226,5,5,14,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,231,192,0,0,0,5,5,108,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,239,192,0,0,0,192,0,0,0,5,5,129,239,192,0,0,0,5,5,130,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,242,192,0,0,0,5,5,143,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,197,5,5,103,197,192,0,0,0,5,5,104,197,192,0,0,0,192,0,0,0,5,5,105,197,5,5,106,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,212,5,5,203,212,192,0,0,0,192,0,0,0,5,5,167,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,226,5,5,66,226,192,0,0,0,192,0,0,0,5,5,67,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,226,5,5,69,226,192,0,0,0,192,0,0,0,5,5,141,231,5,5,142,231,5,5,143,231,192,0,0,0,5,5,248,235,192,0,0,0,5,5,146,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,242,192,0,0,0,192,0,0,0,5,5,238,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,181,192,0,0,0,5,5,213,212,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,189,192,0,0,0,5,5,137,189,192,0,0,0,5,5,138,189,192,0,0,0,5,5,139,189,192,0,0,0,192,0,0,0,5,5,131,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,161,5,5,159,161,5,5,160,161,192,0,0,0,192,0,0,0,5,5,14,165,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,181,192,0,0,0,192,0,0,0,5,5,255,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,182,192,0,0,0,192,0,0,0,5,5,201,189,192,0,0,0,5,5,202,189,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,189,5,5,199,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,197,5,5,94,205,192,0,0,0,192,0,0,0,5,5,201,197,5,5,202,197,192,0,0,0,192,0,0,0,5,5,131,205,192,0,0,0,192,0,0,0,5,5,132,205,5,5,133,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,212,192,0,0,0,5,5,254,212,192,0,0,0,5,5,226,219,5,5,227,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,219,192,0,0,0,192,0,0,0,5,5,229,219,5,5,230,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,231,192,0,0,0,5,5,109,226,192,0,0,0,192,0,0,0,5,5,175,231,5,5,176,231,5,5,177,231,192,0,0,0,192,0,0,0,5,5,170,239,192,0,0,0,5,5,171,239,5,5,175,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,219,192,0,0,0,5,5,27,165,192,0,0,0,192,0,0,0,5,5,167,175,5,5,168,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,236,5,5,186,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,182,5,5,2,190,5,5,3,190,5,5,24,198,5,5,203,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,226,192,0,0,0,192,0,0,0,5,5,180,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,231,192,0,0,0,5,5,236,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,246,192,0,0,0,5,5,218,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,176,192,0,0,0,5,5,166,182,5,5,167,182,5,5,71,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,176,5,5,35,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,190,192,0,0,0,5,5,92,190,192,0,0,0,5,5,93,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,220,192,0,0,0,5,5,104,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,226,192,0,0,0,192,0,0,0,5,5,30,232,192,0,0,0,5,5,90,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,250,192,0,0,0,5,5,79,170,192,0,0,0,192,0,0,0,5,5,45,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,182,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,198,5,5,151,198,5,5,152,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,206,5,5,119,206,192,0,0,0,5,5,120,206,5,5,121,206,5,5,122,206,5,5,123,206,5,5,124,206,5,5,125,206,5,5,200,213,5,5,201,213,5,5,202,213,5,5,203,213,5,5,204,213,5,5,205,213,5,5,206,213,5,5,207,213,5,5,208,213,5,5,209,213,5,5,210,213,5,5,211,213,5,5,212,213,5,5,151,220,5,5,152,220,5,5,153,220,5,5,154,220,5,5,155,220,5,5,156,220,5,5,157,220,5,5,158,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,220,192,0,0,0,5,5,160,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,220,192,0,0,0,5,5,162,220,5,5,163,220,192,0,0,0,192,0,0,0,5,5,164,220,192,0,0,0,192,0,0,0,5,5,165,220,5,5,23,227,5,5,24,227,192,0,0,0,5,5,25,227,5,5,26,227,192,0,0,0,5,5,27,227,5,5,28,227,5,5,29,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,232,5,5,81,232,5,5,82,232,5,5,83,232,5,5,84,232,5,5,85,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,236,5,5,243,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,247,192,0,0,0,5,5,224,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,170,5,5,88,176,5,5,89,176,192,0,0,0,5,5,90,176,192,0,0,0,192,0,0,0,5,5,26,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,214,5,5,35,214,192,0,0,0,192,0,0,0,5,5,36,214,5,5,37,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,214,192,0,0,0,192,0,0,0,5,5,237,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,220,5,5,239,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,220,5,5,241,220,192,0,0,0,192,0,0,0,5,5,242,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,198,192,0,0,0,192,0,0,0,5,5,247,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,176,5,5,39,183,5,5,223,190,5,5,224,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,198,5,5,249,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,236,192,0,0,0,192,0,0,0,5,5,46,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,183,192,0,0,0,192,0,0,0,5,5,46,191,192,0,0,0,5,5,47,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,199,5,5,54,199,5,5,55,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,214,5,5,103,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,221,5,5,48,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,236,5,5,193,236,5,5,194,236,5,5,39,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,236,192,0,0,0,5,5,212,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,183,5,5,152,183,192,0,0,0,5,5,153,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,199,192,0,0,0,192,0,0,0,5,5,85,199,192,0,0,0,192,0,0,0,5,5,18,207,192,0,0,0,5,5,19,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,214,5,5,122,214,5,5,123,214,192,0,0,0,5,5,124,214,192,0,0,0,192,0,0,0,5,5,125,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,214,5,5,127,214,5,5,128,214,5,5,129,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,227,192,0,0,0,192,0,0,0,5,5,141,227,5,5,142,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,227,192,0,0,0,5,5,144,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,232,192,0,0,0,5,5,198,232,192,0,0,0,192,0,0,0,5,5,199,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,232,5,5,201,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,236,192,0,0,0,192,0,0,0,5,5,204,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,236,192,0,0,0,5,5,206,236,192,0,0,0,5,5,207,236,5,5,208,236,192,0,0,0,192,0,0,0,5,5,209,236,5,5,210,236,5,5,51,240,5,5,52,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,240,5,5,11,243,192,0,0,0,5,5,12,243,5,5,13,243,192,0,0,0,5,5,14,243,5,5,15,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,245,5,5,52,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,246,192,0,0,0,192,0,0,0,5,5,220,246,192,0,0,0,192,0,0,0,5,5,221,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,248,5,5,231,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,199,192,0,0,0,5,5,246,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,228,192,0,0,0,192,0,0,0,5,5,5,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,233,5,5,54,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,243,5,5,65,243,5,5,91,245,5,5,92,245,192,0,0,0,192,0,0,0,5,5,238,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,184,192,0,0,0,5,5,10,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,221,5,5,246,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,192,5,5,35,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,200,5,5,88,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,222,192,0,0,0,5,5,54,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,249,192,0,0,0,5,5,67,192,5,5,68,192,5,5,103,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,228,5,5,93,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,184,192,0,0,0,192,0,0,0,5,5,96,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,200,192,0,0,0,5,5,155,200,192,0,0,0,192,0,0,0,5,5,67,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,222,5,5,140,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,192,5,5,128,192,5,5,129,192,5,5,130,192,5,5,131,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,228,5,5,188,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,201,192,0,0,0,5,5,73,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,216,5,5,39,216,5,5,40,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,216,192,0,0,0,192,0,0,0,5,5,37,223,192,0,0,0,5,5,38,223,5,5,39,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,234,192,0,0,0,5,5,216,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,237,5,5,218,237,192,0,0,0,5,5,219,237,192,0,0,0,5,5,40,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,241,192,0,0,0,5,5,42,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,247,192,0,0,0,192,0,0,0,5,5,45,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,223,192,0,0,0,5,5,70,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,227,5,5,68,234,5,5,69,234,5,5,255,237,5,5,63,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,234,192,0,0,0,5,5,7,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,234,5,5,221,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,216,5,5,138,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,238,192,0,0,0,5,5,53,238,5,5,54,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,216,5,5,135,234,192,0,0,0,5,5,136,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,216,192,0,0,0,192,0,0,0,5,5,182,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,234,192,0,0,0,5,5,154,234,192,0,0,0,192,0,0,0,5,5,84,238,192,0,0,0,192,0,0,0,5,5,85,238,5,5,86,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,249,5,5,9,250,192,0,0,0,5,5,109,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,238,5,5,100,238,192,0,0,0,192,0,0,0,5,5,152,241,192,0,0,0,192,0,0,0,5,5,153,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,223,192,0,0,0,192,0,0,0,5,5,227,223,192,0,0,0,5,5,226,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,229,192,0,0,0,5,5,228,229,192,0,0,0,5,5,199,234,5,5,200,234,5,5,201,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,246,192,0,0,0,5,5,18,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,246,5,5,149,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,224,192,0,0,0,5,5,12,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,241,5,5,247,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,249,192,0,0,0,5,5,84,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,230,192,0,0,0,5,5,192,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,242,5,5,124,244,5,5,66,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,238,5,5,14,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,128,5,5,0,152,5,5,0,153,5,5,0,154,5,5,0,155,5,5,0,156,5,5,2,157,5,5,54,157,5,5,55,157,5,5,56,157,5,5,57,157,5,5,58,157,5,5,59,157,5,5,163,157,5,5,164,157,5,5,165,157,5,5,166,157,5,5,167,157,5,5,168,157,5,5,169,157,5,5,128,158,5,5,129,158,5,5,130,158,5,5,127,158,5,5,131,158,5,5,132,158,5,5,133,158,5,5,134,158,5,5,135,158,5,5,136,158,5,5,214,159,5,5,215,159,5,5,216,159,5,5,217,159,5,5,218,159,5,5,32,162,5,5,33,162,5,5,34,162,5,5,253,165,5,5,254,165,5,5,0,129,5,5,3,157,5,5,62,157,5,5,63,157,5,5,93,158,5,5,170,157,5,5,171,157,5,5,172,157,5,5,173,157,5,5,138,158,5,5,37,162,5,5,255,165,5,5,145,171,5,5,240,177,5,5,0,130,5,5,4,157,5,5,65,157,5,5,174,157,5,5,175,157,5,5,139,158,5,5,140,158,5,5,35,162,5,5,146,171,5,5,0,131,5,5,0,132,5,5,0,133,5,5,5,157,5,5,6,157,5,5,7,157,5,5,67,157,5,5,68,157,5,5,69,157,5,5,70,157,5,5,66,157,5,5,71,157,5,5,176,157,5,5,177,157,5,5,141,158,5,5,142,158,5,5,143,158,5,5,144,158,5,5,220,159,5,5,221,159,5,5,222,159,5,5,223,159,5,5,39,162,5,5,2,166,5,5,147,171,5,5,241,177,5,5,0,134,5,5,0,135,5,5,0,137,5,5,11,157,5,5,12,157,5,5,72,157,5,5,73,157,5,5,74,157,5,5,133,157,5,5,34,158,5,5,179,157,5,5,180,157,5,5,181,157,5,5,182,157,5,5,146,158,5,5,224,159,5,5,225,159,5,5,226,159,5,5,227,159,5,5,228,159,5,5,229,159,5,5,230,159,5,5,231,159,5,5,232,159,5,5,40,162,5,5,41,162,5,5,3,166,5,5,4,166,5,5,5,166,5,5,6,166,5,5,7,166,5,5,8,166,5,5,148,171,5,5,149,171,5,5,150,171,5,5,151,171,5,5,242,177,5,5,80,185,5,5,81,185,5,5,82,185,5,5,112,193,5,5,239,201,5,5,240,201,5,5,241,201,5,5,0,143,5,5,13,157,5,5,75,157,5,5,183,157,5,5,233,159,5,5,42,162,5,5,10,166,5,5,15,157,5,5,76,157,5,5,77,157,5,5,78,157,5,5,60,157,5,5,184,157,5,5,185,157,5,5,186,157,5,5,187,157,5,5,188,157,5,5,189,157,5,5,147,158,5,5,234,159,5,5,235,159,5,5,236,159,5,5,11,166,5,5,44,162,5,5,12,166,5,5,13,166,5,5,14,166,5,5,16,157,5,5,79,157,5,5,190,157,5,5,191,157,5,5,237,159,5,5,238,159,5,5,239,159,5,5,240,159,5,5,45,162,5,5,46,162,5,5,47,162,5,5,15,166,5,5,16,166,5,5,153,171,5,5,154,171,5,5,155,171,5,5,156,171,5,5,157,171,5,5,158,171,5,5,243,177,5,5,113,193,5,5,114,193,5,5,242,201,5,5,243,201,5,5,45,224,5,5,91,246,5,5,17,157,5,5,18,157,5,5,80,157,5,5,81,157,5,5,82,157,5,5,83,157,5,5,192,157,5,5,193,157,5,5,194,157,5,5,195,157,5,5,196,157,5,5,197,157,5,5,198,157,5,5,199,157,5,5,200,157,5,5,201,157,5,5,202,157,5,5,203,157,5,5,204,157,5,5,205,157,5,5,206,157,5,5,207,157,5,5,208,157,5,5,209,157,5,5,210,157,5,5,211,157,5,5,148,158,5,5,149,158,5,5,150,158,5,5,151,158,5,5,152,158,5,5,153,158,5,5,154,158,5,5,155,158,5,5,156,158,5,5,157,158,5,5,158,158,5,5,159,158,5,5,160,158,5,5,161,158,5,5,162,158,5,5,163,158,5,5,164,158,5,5,165,158,5,5,166,158,5,5,167,158,5,5,168,158,5,5,169,158,5,5,170,158,5,5,171,158,5,5,172,158,5,5,173,158,5,5,242,159,5,5,243,159,5,5,244,159,5,5,245,159,5,5,246,159,5,5,247,159,5,5,248,159,5,5,249,159,5,5,250,159,5,5,251,159,5,5,252,159,5,5,253,159,5,5,254,159,5,5,255,159,5,5,2,160,5,5,3,160,5,5,4,160,5,5,5,160,5,5,6,160,5,5,7,160,5,5,8,160,5,5,9,160,5,5,10,160,5,5,11,160,5,5,12,160,5,5,13,160,5,5,14,160,5,5,15,160,5,5,16,160,5,5,17,160,5,5,18,160,5,5,19,160,5,5,20,160,5,5,21,160,5,5,22,160,5,5,23,160,5,5,24,160,5,5,25,160,5,5,26,160,5,5,27,160,5,5,28,160,5,5,29,160,5,5,30,160,5,5,31,160,5,5,32,160,5,5,33,160,5,5,34,160,5,5,35,160,5,5,36,160,5,5,37,160,5,5,38,160,5,5,39,160,5,5,40,160,5,5,41,160,5,5,42,160,5,5,43,160,5,5,44,160,5,5,45,160,5,5,46,160,5,5,47,160,5,5,48,160,5,5,49,160,5,5,50,160,5,5,48,162,5,5,49,162,5,5,50,162,5,5,51,162,5,5,52,162,5,5,53,162,5,5,54,162,5,5,55,162,5,5,56,162,5,5,57,162,5,5,58,162,5,5,59,162,5,5,60,162,5,5,61,162,5,5,62,162,5,5,63,162,5,5,64,162,5,5,65,162,5,5,66,162,5,5,67,162,5,5,68,162,5,5,69,162,5,5,70,162,5,5,71,162,5,5,72,162,5,5,73,162,5,5,74,162,5,5,75,162,5,5,76,162,5,5,77,162,5,5,78,162,5,5,18,166,5,5,79,162,5,5,80,162,5,5,81,162,5,5,82,162,5,5,83,162,5,5,84,162,5,5,85,162,5,5,86,162,5,5,87,162,5,5,88,162,5,5,89,162,5,5,90,162,5,5,91,162,5,5,92,162,5,5,93,162,5,5,94,162,5,5,95,162,5,5,96,162,5,5,97,162,5,5,98,162,5,5,99,162,5,5,100,162,5,5,101,162,5,5,51,160,5,5,102,162,5,5,103,162,5,5,104,162,5,5,105,162,5,5,19,166,5,5,20,166,5,5,21,166,5,5,22,166,5,5,23,166,5,5,24,166,5,5,25,166,5,5,26,166,5,5,27,166,5,5,28,166,5,5,29,166,5,5,30,166,5,5,31,166,5,5,32,166,5,5,33,166,5,5,34,166,5,5,35,166,5,5,36,166,5,5,37,166,5,5,38,166,5,5,39,166,5,5,40,166,5,5,41,166,5,5,42,166,5,5,43,166,5,5,44,166,5,5,45,166,5,5,46,166,5,5,47,166,5,5,48,166,5,5,49,166,5,5,50,166,5,5,51,166,5,5,52,166,5,5,53,166,5,5,54,166,5,5,55,166,5,5,56,166,5,5,57,166,5,5,58,166,5,5,59,166,5,5,60,166,5,5,61,166,5,5,62,166,5,5,63,166,5,5,64,166,5,5,65,166,5,5,66,166,5,5,67,166,5,5,68,166,5,5,69,166,5,5,70,166,5,5,71,166,5,5,72,166,5,5,73,166,5,5,74,166,5,5,75,166,5,5,76,166,5,5,77,166,5,5,78,166,5,5,79,166,5,5,80,166,5,5,81,166,5,5,82,166,5,5,83,166,5,5,84,166,5,5,85,166,5,5,86,166,5,5,87,166,5,5,159,171,5,5,160,171,5,5,161,171,5,5,162,171,5,5,163,171,5,5,164,171,5,5,165,171,5,5,166,171,5,5,167,171,5,5,168,171,5,5,169,171,5,5,170,171,5,5,171,171,5,5,172,171,5,5,173,171,5,5,174,171,5,5,175,171,5,5,176,171,5,5,177,171,5,5,178,171,5,5,179,171,5,5,180,171,5,5,181,171,5,5,182,171,5,5,183,171,5,5,184,171,5,5,185,171,5,5,186,171,5,5,187,171,5,5,188,171,5,5,189,171,5,5,190,171,5,5,191,171,5,5,192,171,5,5,193,171,5,5,194,171,5,5,195,171,5,5,196,171,5,5,197,171,5,5,198,171,5,5,199,171,5,5,200,171,5,5,201,171,5,5,202,171,5,5,203,171,5,5,204,171,5,5,205,171,5,5,206,171,5,5,207,171,5,5,208,171,5,5,209,171,5,5,210,171,5,5,211,171,5,5,212,171,5,5,213,171,5,5,214,171,5,5,215,171,5,5,216,171,5,5,217,171,5,5,218,171,5,5,219,171,5,5,220,171,5,5,221,171,5,5,222,171,5,5,244,177,5,5,245,177,5,5,246,177,5,5,247,177,5,5,248,177,5,5,249,177,5,5,250,177,5,5,251,177,5,5,252,177,5,5,253,177,5,5,254,177,5,5,255,177,5,5,2,178,5,5,3,178,5,5,4,178,5,5,5,178,5,5,6,178,5,5,7,178,5,5,8,178,5,5,9,178,5,5,10,178,5,5,11,178,5,5,12,178,5,5,13,178,5,5,14,178,5,5,15,178,5,5,16,178,5,5,17,178,5,5,18,178,5,5,19,178,5,5,20,178,5,5,21,178,5,5,22,178,5,5,23,178,5,5,24,178,5,5,25,178,5,5,26,178,5,5,27,178,5,5,28,178,5,5,29,178,5,5,30,178,5,5,31,178,5,5,32,178,5,5,33,178,5,5,34,178,5,5,35,178,5,5,36,178,5,5,37,178,5,5,38,178,5,5,39,178,5,5,40,178,5,5,41,178,5,5,42,178,5,5,43,178,5,5,44,178,5,5,45,178,5,5,46,178,5,5,47,178,5,5,48,178,5,5,49,178,5,5,50,178,5,5,51,178,5,5,52,178,5,5,53,178,5,5,54,178,5,5,55,178,5,5,56,178,5,5,57,178,5,5,58,178,5,5,59,178,5,5,60,178,5,5,61,178,5,5,62,178,5,5,63,178,5,5,64,178,5,5,65,178,5,5,66,178,5,5,67,178,5,5,68,178,5,5,69,178,5,5,70,178,5,5,71,178,5,5,84,185,5,5,85,185,5,5,86,185,5,5,87,185,5,5,88,185,5,5,89,185,5,5,90,185,5,5,91,185,5,5,92,185,5,5,93,185,5,5,94,185,5,5,95,185,5,5,96,185,5,5,97,185,5,5,98,185,5,5,99,185,5,5,100,185,5,5,101,185,5,5,102,185,5,5,103,185,5,5,104,185,5,5,105,185,5,5,79,178,5,5,106,185,5,5,107,185,5,5,108,185,5,5,109,185,5,5,110,185,5,5,111,185,5,5,112,185,5,5,113,185,5,5,114,185,5,5,115,185,5,5,116,185,5,5,117,185,5,5,118,185,5,5,119,185,5,5,120,185,5,5,121,185,5,5,122,185,5,5,115,193,5,5,123,185,5,5,124,185,5,5,125,185,5,5,126,185,5,5,127,185,5,5,128,185,5,5,129,185,5,5,130,185,5,5,131,185,5,5,132,185,5,5,133,185,5,5,134,185,5,5,135,185,5,5,136,185,5,5,137,185,5,5,138,185,5,5,139,185,5,5,140,185,5,5,141,185,5,5,142,185,5,5,143,185,5,5,144,185,5,5,145,185,5,5,116,193,5,5,117,193,5,5,118,193,5,5,119,193,5,5,120,193,5,5,121,193,5,5,122,193,5,5,123,193,5,5,124,193,5,5,125,193,5,5,126,193,5,5,127,193,5,5,128,193,5,5,129,193,5,5,130,193,5,5,131,193,5,5,132,193,5,5,133,193,5,5,134,193,5,5,135,193,5,5,136,193,5,5,137,193,5,5,138,193,5,5,139,193,5,5,140,193,5,5,141,193,5,5,142,193,5,5,143,193,5,5,144,193,5,5,145,193,5,5,146,193,5,5,147,193,5,5,148,193,5,5,149,193,5,5,150,193,5,5,151,193,5,5,152,193,5,5,153,193,5,5,154,193,5,5,155,193,5,5,156,193,5,5,157,193,5,5,244,201,5,5,245,201,5,5,246,201,5,5,247,201,5,5,248,201,5,5,249,201,5,5,250,201,5,5,251,201,5,5,252,201,5,5,253,201,5,5,254,201,5,5,255,201,5,5,2,202,5,5,3,202,5,5,4,202,5,5,5,202,5,5,6,202,5,5,7,202,5,5,8,202,5,5,9,202,5,5,10,202,5,5,11,202,5,5,12,202,5,5,13,202,5,5,14,202,5,5,15,202,5,5,16,202,5,5,17,202,5,5,18,202,5,5,19,202,5,5,20,202,5,5,21,202,5,5,22,202,5,5,23,202,5,5,24,202,5,5,25,202,5,5,214,209,5,5,215,209,5,5,216,209,5,5,217,209,5,5,218,209,5,5,219,209,5,5,220,209,5,5,221,209,5,5,222,209,5,5,223,209,5,5,224,209,5,5,225,209,5,5,226,209,5,5,227,209,5,5,228,209,5,5,229,209,5,5,230,209,5,5,231,209,5,5,232,209,5,5,233,209,5,5,234,209,5,5,235,209,5,5,236,209,5,5,237,209,5,5,238,209,5,5,239,209,5,5,240,209,5,5,241,209,5,5,242,209,5,5,243,209,5,5,244,209,5,5,245,209,5,5,246,209,5,5,247,209,5,5,248,209,5,5,249,209,5,5,4,210,5,5,250,209,5,5,251,209,5,5,249,216,5,5,250,216,5,5,252,209,5,5,251,216,5,5,252,216,5,5,253,216,5,5,254,216,5,5,255,216,5,5,2,217,5,5,3,217,5,5,4,217,5,5,5,217,5,5,6,217,5,5,7,217,5,5,8,217,5,5,9,217,5,5,10,217,5,5,11,217,5,5,12,217,5,5,13,217,5,5,14,217,5,5,15,217,5,5,16,217,5,5,17,217,5,5,18,217,5,5,19,217,5,5,20,217,5,5,46,224,5,5,47,224,5,5,48,224,5,5,49,224,5,5,50,224,5,5,51,224,5,5,52,224,5,5,53,224,5,5,54,224,5,5,55,224,5,5,56,224,5,5,57,224,5,5,58,224,5,5,59,224,5,5,60,224,5,5,54,230,5,5,55,230,5,5,56,230,5,5,57,230,5,5,58,230,5,5,59,230,5,5,60,230,5,5,61,230,5,5,62,230,5,5,63,230,5,5,64,230,5,5,65,230,5,5,61,224,5,5,66,230,5,5,34,235,5,5,35,235,5,5,36,235,5,5,26,217,5,5,37,235,5,5,70,230,5,5,218,238,5,5,219,238,5,5,220,238,5,5,26,242,5,5,149,244,5,5,150,244,5,5,151,244,5,5,152,244,5,5,92,246,5,5,93,246,5,5,176,247,5,5,182,248,5,5,19,157,5,5,85,157,5,5,212,157,5,5,213,157,5,5,214,157,5,5,184,158,5,5,185,158,5,5,59,160,5,5,60,160,5,5,61,160,5,5,62,160,5,5,63,160,5,5,108,162,5,5,109,162,5,5,110,162,5,5,111,162,5,5,112,162,5,5,113,162,5,5,114,162,5,5,95,166,5,5,96,166,5,5,97,166,5,5,98,166,5,5,99,166,5,5,225,171,5,5,226,171,5,5,227,171,5,5,80,178,5,5,81,178,5,5,151,185,5,5,152,185,5,5,153,185,5,5,162,193,5,5,163,193,5,5,33,202,5,5,5,210,5,5,64,224,5,5,154,244,5,5,20,157,5,5,86,157,5,5,215,157,5,5,64,160,5,5,101,166,5,5,229,171,5,5,21,157,5,5,216,157,5,5,217,157,5,5,218,157,5,5,219,157,5,5,187,158,5,5,66,160,5,5,67,160,5,5,68,160,5,5,69,160,5,5,116,162,5,5,102,166,5,5,103,166,5,5,104,166,5,5,230,171,5,5,84,178,5,5,231,171,5,5,85,178,5,5,154,185,5,5,34,202,5,5,35,202,5,5,66,224,5,5,40,235,5,5,23,157,5,5,220,157,5,5,221,157,5,5,222,157,5,5,223,157,5,5,224,157,5,5,225,157,5,5,188,158,5,5,189,158,5,5,190,158,5,5,191,158,5,5,70,160,5,5,71,160,5,5,117,162,5,5,105,166,5,5,232,171,5,5,233,171,5,5,86,178,5,5,87,178,5,5,155,185,5,5,24,157,5,5,226,157,5,5,227,157,5,5,193,158,5,5,194,158,5,5,72,160,5,5,73,160,5,5,118,162,5,5,106,166,5,5,234,171,5,5,235,171,5,5,88,178,5,5,89,178,5,5,90,178,5,5,91,178,5,5,92,178,5,5,93,178,5,5,94,178,5,5,157,185,5,5,6,210,5,5,67,224,5,5,25,157,5,5,195,158,5,5,196,158,5,5,197,158,5,5,198,158,5,5,74,160,5,5,75,160,5,5,76,160,5,5,77,160,5,5,78,160,5,5,119,162,5,5,120,162,5,5,121,162,5,5,122,162,5,5,123,162,5,5,124,162,5,5,125,162,5,5,107,166,5,5,108,166,5,5,109,166,5,5,110,166,5,5,111,166,5,5,236,171,5,5,237,171,5,5,238,171,5,5,96,178,5,5,97,178,5,5,98,178,5,5,99,178,5,5,100,178,5,5,101,178,5,5,102,178,5,5,103,178,5,5,104,178,5,5,105,178,5,5,106,178,5,5,158,185,5,5,159,185,5,5,160,185,5,5,166,193,5,5,167,193,5,5,168,193,5,5,169,193,5,5,170,193,5,5,36,202,5,5,7,210,5,5,27,217,5,5,28,217,5,5,29,217,5,5,30,217,5,5,68,224,5,5,69,224,5,5,71,230,5,5,26,157,5,5,87,157,5,5,88,157,5,5,89,157,5,5,229,157,5,5,199,158,5,5,200,158,5,5,201,158,5,5,80,160,5,5,81,160,5,5,82,160,5,5,83,160,5,5,127,162,5,5,113,166,5,5,114,166,5,5,115,166,5,5,162,185,5,5,171,193,5,5,172,193,5,5,8,210,5,5,9,210,5,5,28,157,5,5,231,157,5,5,202,158,5,5,203,158,5,5,204,158,5,5,205,158,5,5,206,158,5,5,84,160,5,5,116,166,5,5,242,171,5,5,173,193,5,5,29,157,5,5,30,157,5,5,32,157,5,5,90,157,5,5,91,157,5,5,233,157,5,5,234,157,5,5,235,157,5,5,236,157,5,5,207,158,5,5,208,158,5,5,209,158,5,5,210,158,5,5,211,158,5,5,85,160,5,5,86,160,5,5,87,160,5,5,88,160,5,5,89,160,5,5,90,160,5,5,91,160,5,5,92,160,5,5,93,160,5,5,94,160,5,5,95,160,5,5,96,160,5,5,97,160,5,5,98,160,5,5,128,162,5,5,129,162,5,5,130,162,5,5,131,162,5,5,132,162,5,5,133,162,5,5,134,162,5,5,135,162,5,5,136,162,5,5,137,162,5,5,138,162,5,5,139,162,5,5,140,162,5,5,141,162,5,5,142,162,5,5,143,162,5,5,144,162,5,5,145,162,5,5,117,166,5,5,118,166,5,5,119,166,5,5,120,166,5,5,121,166,5,5,122,166,5,5,123,166,5,5,124,166,5,5,125,166,5,5,126,166,5,5,127,166,5,5,128,166,5,5,129,166,5,5,130,166,5,5,131,166,5,5,132,166,5,5,133,166,5,5,134,166,5,5,135,166,5,5,136,166,5,5,137,166,5,5,243,171,5,5,244,171,5,5,245,171,5,5,141,166,5,5,246,171,5,5,247,171,5,5,248,171,5,5,249,171,5,5,250,171,5,5,251,171,5,5,252,171,5,5,253,171,5,5,254,171,5,5,255,171,5,5,2,172,5,5,110,178,5,5,111,178,5,5,112,178,5,5,113,178,5,5,114,178,5,5,115,178,5,5,116,178,5,5,117,178,5,5,118,178,5,5,119,178,5,5,120,178,5,5,121,178,5,5,122,178,5,5,123,178,5,5,124,178,5,5,125,178,5,5,126,178,5,5,127,178,5,5,128,178,5,5,129,178,5,5,130,178,5,5,131,178,5,5,163,185,5,5,174,193,5,5,164,185,5,5,165,185,5,5,166,185,5,5,167,185,5,5,168,185,5,5,169,185,5,5,170,185,5,5,171,185,5,5,175,193,5,5,176,193,5,5,177,193,5,5,178,193,5,5,172,185,5,5,37,202,5,5,38,202,5,5,39,202,5,5,40,202,5,5,41,202,5,5,42,202,5,5,43,202,5,5,44,202,5,5,45,202,5,5,10,210,5,5,11,210,5,5,12,210,5,5,13,210,5,5,14,210,5,5,32,217,5,5,33,217,5,5,34,217,5,5,35,217,5,5,36,217,5,5,37,217,5,5,38,217,5,5,39,217,5,5,40,217,5,5,41,217,5,5,42,217,5,5,71,224,5,5,72,224,5,5,73,224,5,5,74,224,5,5,75,224,5,5,74,230,5,5,222,238,5,5,155,244,5,5,156,244,5,5,177,247,5,5,178,247,5,5,33,157,5,5,92,157,5,5,237,157,5,5,238,157,5,5,212,158,5,5,213,158,5,5,214,158,5,5,215,158,5,5,99,160,5,5,100,160,5,5,101,160,5,5,102,160,5,5,103,160,5,5,104,160,5,5,147,162,5,5,148,162,5,5,149,162,5,5,150,162,5,5,151,162,5,5,152,162,5,5,153,162,5,5,154,162,5,5,155,162,5,5,156,162,5,5,157,162,5,5,158,162,5,5,142,166,5,5,143,166,5,5,144,166,5,5,145,166,5,5,146,166,5,5,147,166,5,5,148,166,5,5,149,166,5,5,150,166,5,5,151,166,5,5,152,166,5,5,3,172,5,5,4,172,5,5,5,172,5,5,6,172,5,5,7,172,5,5,8,172,5,5,154,166,5,5,9,172,5,5,10,172,5,5,11,172,5,5,12,172,5,5,13,172,5,5,133,178,5,5,134,178,5,5,135,178,5,5,136,178,5,5,137,178,5,5,138,178,5,5,174,185,5,5,175,185,5,5,176,185,5,5,177,185,5,5,178,185,5,5,49,188,5,5,179,185,5,5,180,185,5,5,181,185,5,5,180,193,5,5,181,193,5,5,182,193,5,5,183,193,5,5,46,202,5,5,47,202,5,5,48,202,5,5,49,202,5,5,50,202,5,5,51,202,5,5,52,202,5,5,53,202,5,5,54,202,5,5,18,210,5,5,19,210,5,5,20,210,5,5,21,210,5,5,22,210,5,5,23,210,5,5,43,217,5,5,44,217,5,5,45,217,5,5,46,217,5,5,47,217,5,5,76,224,5,5,75,230,5,5,76,230,5,5,77,230,5,5,223,238,5,5,224,238,5,5,34,157,5,5,93,157,5,5,239,157,5,5,240,157,5,5,241,157,5,5,242,157,5,5,243,157,5,5,244,157,5,5,245,157,5,5,246,157,5,5,216,158,5,5,217,158,5,5,218,158,5,5,219,158,5,5,220,158,5,5,105,160,5,5,159,162,5,5,155,166,5,5,156,166,5,5,157,166,5,5,14,172,5,5,140,178,5,5,183,185,5,5,184,185,5,5,184,193,5,5,185,193,5,5,185,185,5,5,48,217,5,5,35,157,5,5,247,157,5,5,221,158,5,5,186,185,5,5,187,185,5,5,36,157,5,5,222,158,5,5,223,158,5,5,224,158,5,5,225,158,5,5,106,160,5,5,107,160,5,5,108,160,5,5,109,160,5,5,161,162,5,5,162,162,5,5,163,162,5,5,159,166,5,5,15,172,5,5,16,172,5,5,17,172,5,5,141,178,5,5,142,178,5,5,189,185,5,5,190,185,5,5,191,185,5,5,55,202,5,5,25,210,5,5,26,210,5,5,27,210,5,5,49,217,5,5,77,224,5,5,80,230,5,5,225,238,5,5,28,242,5,5,37,157,5,5,249,157,5,5,250,157,5,5,165,162,5,5,160,166,5,5,18,172,5,5,193,185,5,5,194,185,5,5,195,185,5,5,38,157,5,5,94,157,5,5,95,157,5,5,61,157,5,5,251,157,5,5,252,157,5,5,253,157,5,5,254,157,5,5,226,158,5,5,227,158,5,5,110,160,5,5,228,158,5,5,111,160,5,5,112,160,5,5,113,160,5,5,114,160,5,5,161,166,5,5,162,166,5,5,163,166,5,5,164,166,5,5,165,166,5,5,166,166,5,5,19,172,5,5,20,172,5,5,196,185,5,5,189,193,5,5,158,244,5,5,40,157,5,5,2,158,5,5,3,158,5,5,229,158,5,5,230,158,5,5,231,158,5,5,232,158,5,5,167,162,5,5,168,162,5,5,167,166,5,5,168,166,5,5,169,166,5,5,197,185,5,5,41,157,5,5,96,157,5,5,97,157,5,5,4,158,5,5,233,158,5,5,234,158,5,5,235,158,5,5,116,160,5,5,117,160,5,5,169,162,5,5,170,162,5,5,171,162,5,5,172,162,5,5,171,166,5,5,172,166,5,5,173,166,5,5,174,166,5,5,175,166,5,5,21,172,5,5,22,172,5,5,23,172,5,5,198,185,5,5,144,178,5,5,59,202,5,5,60,202,5,5,42,157,5,5,5,158,5,5,6,158,5,5,7,158,5,5,8,158,5,5,237,158,5,5,238,158,5,5,239,158,5,5,118,160,5,5,119,160,5,5,120,160,5,5,121,160,5,5,173,162,5,5,174,162,5,5,175,162,5,5,176,162,5,5,176,166,5,5,177,166,5,5,178,166,5,5,179,166,5,5,24,172,5,5,25,172,5,5,26,172,5,5,27,172,5,5,28,172,5,5,29,172,5,5,145,178,5,5,146,178,5,5,147,178,5,5,148,178,5,5,199,185,5,5,200,185,5,5,201,185,5,5,202,185,5,5,190,193,5,5,191,193,5,5,192,193,5,5,193,193,5,5,194,193,5,5,203,185,5,5,61,202,5,5,62,202,5,5,29,210,5,5,30,210,5,5,31,210,5,5,63,202,5,5,32,210,5,5,50,217,5,5,51,217,5,5,81,230,5,5,226,238,5,5,137,250,5,5,43,157,5,5,9,158,5,5,10,158,5,5,11,158,5,5,240,158,5,5,241,158,5,5,242,158,5,5,123,160,5,5,124,160,5,5,177,162,5,5,181,166,5,5,182,166,5,5,183,166,5,5,204,185,5,5,205,185,5,5,196,193,5,5,34,210,5,5,53,217,5,5,45,157,5,5,99,157,5,5,12,158,5,5,13,158,5,5,14,158,5,5,15,158,5,5,16,158,5,5,243,158,5,5,244,158,5,5,245,158,5,5,125,160,5,5,178,162,5,5,184,166,5,5,185,166,5,5,186,166,5,5,187,166,5,5,188,166,5,5,30,172,5,5,31,172,5,5,32,172,5,5,33,172,5,5,34,172,5,5,151,178,5,5,152,178,5,5,64,202,5,5,78,224,5,5,43,235,5,5,100,157,5,5,246,158,5,5,247,158,5,5,248,158,5,5,249,158,5,5,250,158,5,5,251,158,5,5,252,158,5,5,253,158,5,5,254,158,5,5,255,158,5,5,2,159,5,5,3,159,5,5,4,159,5,5,5,159,5,5,6,159,5,5,7,159,5,5,8,159,5,5,9,159,5,5,10,159,5,5,11,159,5,5,12,159,5,5,13,159,5,5,14,159,5,5,15,159,5,5,16,159,5,5,17,159,5,5,18,159,5,5,126,160,5,5,127,160,5,5,128,160,5,5,129,160,5,5,130,160,5,5,131,160,5,5,132,160,5,5,133,160,5,5,134,160,5,5,135,160,5,5,136,160,5,5,137,160,5,5,138,160,5,5,139,160,5,5,140,160,5,5,141,160,5,5,142,160,5,5,143,160,5,5,144,160,5,5,145,160,5,5,146,160,5,5,147,160,5,5,148,160,5,5,149,160,5,5,150,160,5,5,179,162,5,5,180,162,5,5,181,162,5,5,182,162,5,5,183,162,5,5,184,162,5,5,185,162,5,5,186,162,5,5,187,162,5,5,188,162,5,5,189,162,5,5,190,162,5,5,191,162,5,5,192,162,5,5,193,162,5,5,194,162,5,5,195,162,5,5,196,162,5,5,197,162,5,5,198,162,5,5,199,162,5,5,200,162,5,5,201,162,5,5,202,162,5,5,203,162,5,5,204,162,5,5,205,162,5,5,206,162,5,5,207,162,5,5,208,162,5,5,209,162,5,5,210,162,5,5,211,162,5,5,212,162,5,5,213,162,5,5,214,162,5,5,215,162,5,5,216,162,5,5,217,162,5,5,218,162,5,5,219,162,5,5,220,162,5,5,221,162,5,5,222,162,5,5,223,162,5,5,224,162,5,5,225,162,5,5,226,162,5,5,227,162,5,5,228,162,5,5,229,162,5,5,230,162,5,5,231,162,5,5,232,162,5,5,233,162,5,5,234,162,5,5,235,162,5,5,236,162,5,5,237,162,5,5,238,162,5,5,239,162,5,5,240,162,5,5,241,162,5,5,242,162,5,5,243,162,5,5,244,162,5,5,245,162,5,5,246,162,5,5,247,162,5,5,189,166,5,5,190,166,5,5,191,166,5,5,192,166,5,5,193,166,5,5,194,166,5,5,195,166,5,5,196,166,5,5,197,166,5,5,198,166,5,5,199,166,5,5,200,166,5,5,201,166,5,5,202,166,5,5,203,166,5,5,204,166,5,5,205,166,5,5,206,166,5,5,207,166,5,5,35,172,5,5,208,166,5,5,36,172,5,5,209,166,5,5,210,166,5,5,211,166,5,5,212,166,5,5,213,166,5,5,214,166,5,5,215,166,5,5,216,166,5,5,217,166,5,5,218,166,5,5,219,166,5,5,220,166,5,5,221,166,5,5,222,166,5,5,223,166,5,5,224,166,5,5,225,166,5,5,226,166,5,5,227,166,5,5,228,166,5,5,229,166,5,5,230,166,5,5,231,166,5,5,232,166,5,5,233,166,5,5,234,166,5,5,235,166,5,5,236,166,5,5,237,166,5,5,238,166,5,5,239,166,5,5,240,166,5,5,241,166,5,5,242,166,5,5,243,166,5,5,244,166,5,5,245,166,5,5,246,166,5,5,247,166,5,5,248,166,5,5,249,166,5,5,250,166,5,5,251,166,5,5,37,172,5,5,38,172,5,5,39,172,5,5,40,172,5,5,41,172,5,5,42,172,5,5,43,172,5,5,44,172,5,5,45,172,5,5,46,172,5,5,47,172,5,5,48,172,5,5,49,172,5,5,50,172,5,5,51,172,5,5,52,172,5,5,53,172,5,5,54,172,5,5,55,172,5,5,56,172,5,5,57,172,5,5,58,172,5,5,59,172,5,5,60,172,5,5,61,172,5,5,62,172,5,5,63,172,5,5,64,172,5,5,65,172,5,5,66,172,5,5,67,172,5,5,68,172,5,5,69,172,5,5,70,172,5,5,71,172,5,5,72,172,5,5,73,172,5,5,74,172,5,5,75,172,5,5,76,172,5,5,77,172,5,5,78,172,5,5,79,172,5,5,80,172,5,5,81,172,5,5,82,172,5,5,83,172,5,5,84,172,5,5,85,172,5,5,86,172,5,5,87,172,5,5,88,172,5,5,89,172,5,5,90,172,5,5,91,172,5,5,92,172,5,5,93,172,5,5,94,172,5,5,95,172,5,5,96,172,5,5,97,172,5,5,98,172,5,5,99,172,5,5,100,172,5,5,101,172,5,5,102,172,5,5,153,178,5,5,154,178,5,5,155,178,5,5,156,178,5,5,157,178,5,5,158,178,5,5,159,178,5,5,160,178,5,5,161,178,5,5,162,178,5,5,163,178,5,5,164,178,5,5,165,178,5,5,166,178,5,5,167,178,5,5,168,178,5,5,169,178,5,5,170,178,5,5,171,178,5,5,172,178,5,5,173,178,5,5,174,178,5,5,175,178,5,5,176,178,5,5,177,178,5,5,178,178,5,5,179,178,5,5,180,178,5,5,181,178,5,5,182,178,5,5,183,178,5,5,184,178,5,5,185,178,5,5,186,178,5,5,187,178,5,5,188,178,5,5,189,178,5,5,190,178,5,5,191,178,5,5,192,178,5,5,193,178,5,5,194,178,5,5,195,178,5,5,196,178,5,5,206,185,5,5,197,178,5,5,198,178,5,5,199,178,5,5,200,178,5,5,201,178,5,5,202,178,5,5,203,178,5,5,204,178,5,5,205,178,5,5,206,178,5,5,207,178,5,5,208,178,5,5,209,178,5,5,210,178,5,5,211,178,5,5,212,178,5,5,213,178,5,5,214,178,5,5,215,178,5,5,216,178,5,5,217,178,5,5,218,178,5,5,219,178,5,5,220,178,5,5,221,178,5,5,222,178,5,5,223,178,5,5,207,185,5,5,208,185,5,5,209,185,5,5,210,185,5,5,211,185,5,5,212,185,5,5,213,185,5,5,214,185,5,5,215,185,5,5,216,185,5,5,217,185,5,5,218,185,5,5,219,185,5,5,220,185,5,5,221,185,5,5,222,185,5,5,223,185,5,5,224,185,5,5,225,185,5,5,226,185,5,5,227,185,5,5,228,185,5,5,229,185,5,5,230,185,5,5,231,185,5,5,232,185,5,5,233,185,5,5,234,185,5,5,235,185,5,5,236,185,5,5,237,185,5,5,238,185,5,5,239,185,5,5,240,185,5,5,241,185,5,5,242,185,5,5,243,185,5,5,244,185,5,5,245,185,5,5,246,185,5,5,247,185,5,5,248,185,5,5,249,185,5,5,250,185,5,5,251,185,5,5,252,185,5,5,253,185,5,5,254,185,5,5,255,185,5,5,197,193,5,5,2,186,5,5,3,186,5,5,4,186,5,5,5,186,5,5,6,186,5,5,10,188,5,5,7,186,5,5,8,186,5,5,9,186,5,5,10,186,5,5,11,186,5,5,12,186,5,5,13,186,5,5,14,186,5,5,15,186,5,5,16,186,5,5,17,186,5,5,55,186,5,5,18,186,5,5,19,186,5,5,20,186,5,5,21,186,5,5,22,186,5,5,23,186,5,5,24,186,5,5,25,186,5,5,26,186,5,5,27,186,5,5,28,186,5,5,29,186,5,5,30,186,5,5,31,186,5,5,198,193,5,5,199,193,5,5,200,193,5,5,201,193,5,5,202,193,5,5,203,193,5,5,204,193,5,5,205,193,5,5,206,193,5,5,207,193,5,5,208,193,5,5,209,193,5,5,210,193,5,5,211,193,5,5,212,193,5,5,213,193,5,5,214,193,5,5,215,193,5,5,216,193,5,5,65,202,5,5,217,193,5,5,218,193,5,5,219,193,5,5,220,193,5,5,221,193,5,5,222,193,5,5,223,193,5,5,224,193,5,5,225,193,5,5,226,193,5,5,227,193,5,5,228,193,5,5,229,193,5,5,230,193,5,5,231,193,5,5,232,193,5,5,233,193,5,5,234,193,5,5,235,193,5,5,236,193,5,5,237,193,5,5,238,193,5,5,239,193,5,5,240,193,5,5,241,193,5,5,242,193,5,5,243,193,5,5,244,193,5,5,245,193,5,5,246,193,5,5,247,193,5,5,248,193,5,5,249,193,5,5,250,193,5,5,251,193,5,5,252,193,5,5,253,193,5,5,254,193,5,5,255,193,5,5,2,194,5,5,56,186,5,5,3,194,5,5,4,194,5,5,5,194,5,5,6,194,5,5,7,194,5,5,8,194,5,5,9,194,5,5,10,194,5,5,66,202,5,5,67,202,5,5,68,202,5,5,69,202,5,5,70,202,5,5,71,202,5,5,72,202,5,5,73,202,5,5,74,202,5,5,75,202,5,5,76,202,5,5,77,202,5,5,78,202,5,5,79,202,5,5,80,202,5,5,81,202,5,5,82,202,5,5,83,202,5,5,84,202,5,5,85,202,5,5,86,202,5,5,87,202,5,5,88,202,5,5,89,202,5,5,90,202,5,5,91,202,5,5,92,202,5,5,93,202,5,5,94,202,5,5,95,202,5,5,96,202,5,5,30,194,5,5,97,202,5,5,98,202,5,5,99,202,5,5,100,202,5,5,101,202,5,5,102,202,5,5,103,202,5,5,104,202,5,5,105,202,5,5,106,202,5,5,107,202,5,5,108,202,5,5,109,202,5,5,110,202,5,5,111,202,5,5,112,202,5,5,113,202,5,5,114,202,5,5,115,202,5,5,116,202,5,5,117,202,5,5,118,202,5,5,119,202,5,5,38,210,5,5,39,210,5,5,40,210,5,5,41,210,5,5,42,210,5,5,43,210,5,5,44,210,5,5,45,210,5,5,46,210,5,5,47,210,5,5,48,210,5,5,49,210,5,5,50,210,5,5,51,210,5,5,52,210,5,5,53,210,5,5,54,210,5,5,55,210,5,5,56,210,5,5,57,210,5,5,58,210,5,5,59,210,5,5,60,210,5,5,61,210,5,5,62,210,5,5,63,210,5,5,64,210,5,5,65,210,5,5,66,210,5,5,67,210,5,5,68,210,5,5,69,210,5,5,70,210,5,5,71,210,5,5,72,210,5,5,73,210,5,5,74,210,5,5,75,210,5,5,76,210,5,5,77,210,5,5,78,210,5,5,102,210,5,5,56,217,5,5,79,210,5,5,80,210,5,5,81,210,5,5,82,210,5,5,83,210,5,5,84,210,5,5,85,210,5,5,103,210,5,5,57,217,5,5,58,217,5,5,59,217,5,5,60,217,5,5,61,217,5,5,62,217,5,5,63,217,5,5,64,217,5,5,65,217,5,5,66,217,5,5,67,217,5,5,68,217,5,5,69,217,5,5,70,217,5,5,71,217,5,5,72,217,5,5,73,217,5,5,74,217,5,5,75,217,5,5,76,217,5,5,77,217,5,5,78,217,5,5,79,217,5,5,80,217,5,5,81,217,5,5,82,217,5,5,83,217,5,5,84,217,5,5,11,194,5,5,85,217,5,5,86,217,5,5,87,217,5,5,88,217,5,5,89,217,5,5,90,217,5,5,91,217,5,5,92,217,5,5,93,217,5,5,94,217,5,5,95,217,5,5,86,210,5,5,96,217,5,5,55,217,5,5,97,217,5,5,175,219,5,5,98,217,5,5,99,217,5,5,100,217,5,5,101,217,5,5,102,217,5,5,103,217,5,5,104,217,5,5,105,217,5,5,79,224,5,5,80,224,5,5,81,224,5,5,82,224,5,5,83,224,5,5,84,224,5,5,85,224,5,5,86,224,5,5,87,224,5,5,88,224,5,5,89,224,5,5,90,224,5,5,91,224,5,5,92,224,5,5,93,224,5,5,94,224,5,5,95,224,5,5,96,224,5,5,97,224,5,5,98,224,5,5,99,224,5,5,100,224,5,5,106,217,5,5,101,224,5,5,102,224,5,5,103,224,5,5,104,224,5,5,105,224,5,5,106,224,5,5,107,224,5,5,108,224,5,5,84,230,5,5,85,230,5,5,86,230,5,5,87,230,5,5,88,230,5,5,89,230,5,5,90,230,5,5,91,230,5,5,92,230,5,5,93,230,5,5,94,230,5,5,95,230,5,5,96,230,5,5,97,230,5,5,98,230,5,5,99,230,5,5,100,230,5,5,101,230,5,5,102,230,5,5,103,230,5,5,104,230,5,5,105,230,5,5,106,230,5,5,44,235,5,5,45,235,5,5,46,235,5,5,47,235,5,5,48,235,5,5,49,235,5,5,50,235,5,5,51,235,5,5,52,235,5,5,53,235,5,5,54,235,5,5,55,235,5,5,56,235,5,5,57,235,5,5,58,235,5,5,59,235,5,5,60,235,5,5,228,238,5,5,229,238,5,5,230,238,5,5,231,238,5,5,232,238,5,5,233,238,5,5,234,238,5,5,235,238,5,5,236,238,5,5,73,235,5,5,237,238,5,5,238,238,5,5,29,242,5,5,30,242,5,5,31,242,5,5,32,242,5,5,33,242,5,5,34,242,5,5,35,242,5,5,36,242,5,5,37,242,5,5,159,244,5,5,160,244,5,5,39,242,5,5,161,244,5,5,162,244,5,5,163,244,5,5,164,244,5,5,165,244,5,5,166,244,5,5,167,244,5,5,168,244,5,5,96,246,5,5,97,246,5,5,98,246,5,5,99,246,5,5,100,246,5,5,101,246,5,5,102,246,5,5,180,247,5,5,169,244,5,5,103,246,5,5,181,247,5,5,182,247,5,5,184,248,5,5,185,248,5,5,186,248,5,5,100,249,5,5,101,249,5,5,85,250,5,5,101,157,5,5,22,159,5,5,23,159,5,5,24,159,5,5,25,159,5,5,26,159,5,5,154,160,5,5,155,160,5,5,156,160,5,5,157,160,5,5,158,160,5,5,159,160,5,5,160,160,5,5,2,163,5,5,3,163,5,5,4,163,5,5,5,163,5,5,6,163,5,5,7,163,5,5,8,163,5,5,9,163,5,5,10,163,5,5,11,163,5,5,12,163,5,5,13,163,5,5,14,163,5,5,15,163,5,5,16,163,5,5,17,163,5,5,18,163,5,5,19,163,5,5,9,167,5,5,10,167,5,5,11,167,5,5,12,167,5,5,13,167,5,5,14,167,5,5,15,167,5,5,16,167,5,5,17,167,5,5,112,172,5,5,113,172,5,5,237,178,5,5,238,178,5,5,239,178,5,5,240,178,5,5,241,178,5,5,242,178,5,5,57,186,5,5,58,186,5,5,59,186,5,5,60,186,5,5,61,186,5,5,31,194,5,5,32,194,5,5,33,194,5,5,62,186,5,5,34,194,5,5,144,202,5,5,145,202,5,5,146,202,5,5,147,202,5,5,148,202,5,5,104,210,5,5,105,210,5,5,106,210,5,5,107,210,5,5,119,217,5,5,123,224,5,5,124,224,5,5,105,246,5,5,221,249,5,5,102,157,5,5,17,158,5,5,18,158,5,5,28,159,5,5,29,159,5,5,30,159,5,5,31,159,5,5,32,159,5,5,33,159,5,5,161,160,5,5,162,160,5,5,163,160,5,5,164,160,5,5,165,160,5,5,166,160,5,5,167,160,5,5,168,160,5,5,169,160,5,5,170,160,5,5,171,160,5,5,172,160,5,5,173,160,5,5,174,160,5,5,175,160,5,5,176,160,5,5,177,160,5,5,178,160,5,5,179,160,5,5,20,163,5,5,21,163,5,5,22,163,5,5,23,163,5,5,24,163,5,5,25,163,5,5,26,163,5,5,27,163,5,5,28,163,5,5,29,163,5,5,30,163,5,5,31,163,5,5,32,163,5,5,33,163,5,5,34,163,5,5,35,163,5,5,36,163,5,5,37,163,5,5,38,163,5,5,39,163,5,5,40,163,5,5,41,163,5,5,42,163,5,5,43,163,5,5,44,163,5,5,45,163,5,5,46,163,5,5,47,163,5,5,48,163,5,5,49,163,5,5,50,163,5,5,51,163,5,5,52,163,5,5,53,163,5,5,54,163,5,5,55,163,5,5,56,163,5,5,57,163,5,5,19,167,5,5,20,167,5,5,21,167,5,5,22,167,5,5,23,167,5,5,24,167,5,5,25,167,5,5,26,167,5,5,27,167,5,5,28,167,5,5,29,167,5,5,30,167,5,5,31,167,5,5,32,167,5,5,33,167,5,5,34,167,5,5,35,167,5,5,36,167,5,5,37,167,5,5,38,167,5,5,39,167,5,5,40,167,5,5,41,167,5,5,42,167,5,5,43,167,5,5,44,167,5,5,45,167,5,5,46,167,5,5,47,167,5,5,48,167,5,5,49,167,5,5,50,167,5,5,51,167,5,5,52,167,5,5,53,167,5,5,54,167,5,5,55,167,5,5,56,167,5,5,57,167,5,5,58,167,5,5,59,167,5,5,60,167,5,5,116,172,5,5,117,172,5,5,118,172,5,5,119,172,5,5,120,172,5,5,121,172,5,5,122,172,5,5,123,172,5,5,124,172,5,5,125,172,5,5,126,172,5,5,127,172,5,5,128,172,5,5,129,172,5,5,130,172,5,5,131,172,5,5,132,172,5,5,133,172,5,5,134,172,5,5,135,172,5,5,136,172,5,5,137,172,5,5,138,172,5,5,139,172,5,5,140,172,5,5,141,172,5,5,142,172,5,5,143,172,5,5,144,172,5,5,145,172,5,5,146,172,5,5,147,172,5,5,148,172,5,5,149,172,5,5,150,172,5,5,151,172,5,5,152,172,5,5,153,172,5,5,154,172,5,5,155,172,5,5,156,172,5,5,157,172,5,5,158,172,5,5,244,178,5,5,245,178,5,5,246,178,5,5,247,178,5,5,248,178,5,5,249,178,5,5,250,178,5,5,251,178,5,5,252,178,5,5,253,178,5,5,254,178,5,5,255,178,5,5,2,179,5,5,3,179,5,5,4,179,5,5,5,179,5,5,6,179,5,5,7,179,5,5,8,179,5,5,9,179,5,5,10,179,5,5,11,179,5,5,12,179,5,5,13,179,5,5,159,172,5,5,14,179,5,5,15,179,5,5,16,179,5,5,17,179,5,5,18,179,5,5,19,179,5,5,20,179,5,5,21,179,5,5,22,179,5,5,23,179,5,5,24,179,5,5,25,179,5,5,26,179,5,5,63,186,5,5,64,186,5,5,65,186,5,5,66,186,5,5,67,186,5,5,68,186,5,5,69,186,5,5,70,186,5,5,71,186,5,5,72,186,5,5,73,186,5,5,74,186,5,5,75,186,5,5,76,186,5,5,125,186,5,5,77,186,5,5,78,186,5,5,79,186,5,5,80,186,5,5,81,186,5,5,82,186,5,5,83,186,5,5,84,186,5,5,85,186,5,5,86,186,5,5,87,186,5,5,88,186,5,5,89,186,5,5,90,186,5,5,91,186,5,5,92,186,5,5,93,186,5,5,94,186,5,5,95,186,5,5,96,186,5,5,97,186,5,5,98,186,5,5,99,186,5,5,100,186,5,5,101,186,5,5,102,186,5,5,103,186,5,5,104,186,5,5,105,186,5,5,106,186,5,5,107,186,5,5,108,186,5,5,109,186,5,5,110,186,5,5,111,186,5,5,112,186,5,5,113,186,5,5,114,186,5,5,115,186,5,5,116,186,5,5,117,186,5,5,118,186,5,5,119,186,5,5,35,194,5,5,36,194,5,5,37,194,5,5,38,194,5,5,39,194,5,5,40,194,5,5,41,194,5,5,42,194,5,5,43,194,5,5,44,194,5,5,45,194,5,5,46,194,5,5,47,194,5,5,48,194,5,5,49,194,5,5,50,194,5,5,51,194,5,5,52,194,5,5,53,194,5,5,54,194,5,5,55,194,5,5,56,194,5,5,57,194,5,5,58,194,5,5,59,194,5,5,60,194,5,5,61,194,5,5,62,194,5,5,33,179,5,5,63,194,5,5,64,194,5,5,126,186,5,5,65,194,5,5,66,194,5,5,67,194,5,5,68,194,5,5,69,194,5,5,70,194,5,5,71,194,5,5,149,202,5,5,72,194,5,5,73,194,5,5,74,194,5,5,75,194,5,5,76,194,5,5,150,202,5,5,77,194,5,5,78,194,5,5,79,194,5,5,80,194,5,5,81,194,5,5,151,202,5,5,152,202,5,5,153,202,5,5,154,202,5,5,155,202,5,5,156,202,5,5,157,202,5,5,158,202,5,5,159,202,5,5,160,202,5,5,161,202,5,5,162,202,5,5,163,202,5,5,164,202,5,5,165,202,5,5,166,202,5,5,167,202,5,5,168,202,5,5,169,202,5,5,170,202,5,5,171,202,5,5,172,202,5,5,173,202,5,5,174,202,5,5,175,202,5,5,176,202,5,5,177,202,5,5,178,202,5,5,179,202,5,5,180,202,5,5,181,202,5,5,182,202,5,5,183,202,5,5,184,202,5,5,185,202,5,5,186,202,5,5,187,202,5,5,188,202,5,5,189,202,5,5,190,202,5,5,191,202,5,5,108,210,5,5,109,210,5,5,110,210,5,5,111,210,5,5,112,210,5,5,113,210,5,5,114,210,5,5,115,210,5,5,116,210,5,5,117,210,5,5,118,210,5,5,119,210,5,5,120,210,5,5,121,210,5,5,120,217,5,5,122,210,5,5,123,210,5,5,124,210,5,5,125,210,5,5,126,210,5,5,127,210,5,5,128,210,5,5,129,210,5,5,130,210,5,5,131,210,5,5,132,210,5,5,133,210,5,5,134,210,5,5,135,210,5,5,136,210,5,5,137,210,5,5,138,210,5,5,139,210,5,5,140,210,5,5,141,210,5,5,142,210,5,5,143,210,5,5,144,210,5,5,145,210,5,5,146,210,5,5,147,210,5,5,148,210,5,5,121,217,5,5,122,217,5,5,123,217,5,5,124,217,5,5,125,217,5,5,126,217,5,5,127,217,5,5,128,217,5,5,129,217,5,5,130,217,5,5,131,217,5,5,132,217,5,5,35,224,5,5,133,217,5,5,134,217,5,5,135,217,5,5,136,217,5,5,156,210,5,5,137,217,5,5,138,217,5,5,139,217,5,5,140,217,5,5,141,217,5,5,142,217,5,5,143,217,5,5,144,217,5,5,145,217,5,5,146,217,5,5,147,217,5,5,148,217,5,5,125,224,5,5,126,224,5,5,127,224,5,5,128,224,5,5,129,224,5,5,130,224,5,5,131,224,5,5,132,224,5,5,133,224,5,5,134,224,5,5,135,224,5,5,136,224,5,5,137,224,5,5,138,224,5,5,139,224,5,5,140,224,5,5,141,224,5,5,142,224,5,5,143,224,5,5,116,230,5,5,117,230,5,5,118,230,5,5,119,230,5,5,120,230,5,5,121,230,5,5,122,230,5,5,123,230,5,5,124,230,5,5,125,230,5,5,126,230,5,5,74,235,5,5,75,235,5,5,243,238,5,5,244,238,5,5,245,238,5,5,246,238,5,5,247,238,5,5,248,238,5,5,249,238,5,5,227,238,5,5,250,238,5,5,41,242,5,5,42,242,5,5,43,242,5,5,175,244,5,5,184,247,5,5,185,247,5,5,188,248,5,5,103,249,5,5,103,157,5,5,20,158,5,5,35,159,5,5,181,160,5,5,64,163,5,5,65,163,5,5,66,163,5,5,67,163,5,5,68,163,5,5,167,172,5,5,168,172,5,5,34,179,5,5,127,186,5,5,128,186,5,5,88,194,5,5,89,194,5,5,90,194,5,5,195,202,5,5,157,210,5,5,158,210,5,5,154,217,5,5,155,217,5,5,145,224,5,5,104,157,5,5,21,158,5,5,36,159,5,5,182,160,5,5,69,163,5,5,69,167,5,5,169,172,5,5,170,172,5,5,105,157,5,5,70,163,5,5,70,167,5,5,171,172,5,5,35,179,5,5,36,179,5,5,159,210,5,5,77,235,5,5,251,238,5,5,78,235,5,5,177,244,5,5,106,157,5,5,37,159,5,5,38,159,5,5,39,159,5,5,183,160,5,5,184,160,5,5,185,160,5,5,71,167,5,5,72,167,5,5,37,179,5,5,129,186,5,5,130,186,5,5,91,194,5,5,160,210,5,5,161,210,5,5,162,210,5,5,163,210,5,5,157,217,5,5,107,157,5,5,108,157,5,5,22,158,5,5,23,158,5,5,24,158,5,5,25,158,5,5,26,158,5,5,40,159,5,5,41,159,5,5,42,159,5,5,43,159,5,5,44,159,5,5,45,159,5,5,46,159,5,5,186,160,5,5,187,160,5,5,188,160,5,5,189,160,5,5,190,160,5,5,191,160,5,5,192,160,5,5,193,160,5,5,71,163,5,5,72,163,5,5,73,163,5,5,74,163,5,5,75,163,5,5,76,163,5,5,73,167,5,5,74,167,5,5,75,167,5,5,76,167,5,5,77,167,5,5,78,167,5,5,79,167,5,5,39,179,5,5,80,167,5,5,81,167,5,5,82,167,5,5,172,172,5,5,173,172,5,5,174,172,5,5,175,172,5,5,176,172,5,5,177,172,5,5,83,167,5,5,178,172,5,5,179,172,5,5,40,179,5,5,41,179,5,5,42,179,5,5,43,179,5,5,131,186,5,5,132,186,5,5,133,186,5,5,134,186,5,5,135,186,5,5,92,194,5,5,93,194,5,5,137,186,5,5,94,194,5,5,95,194,5,5,96,194,5,5,196,202,5,5,197,202,5,5,198,202,5,5,164,210,5,5,165,210,5,5,166,210,5,5,167,210,5,5,158,217,5,5,146,224,5,5,147,224,5,5,79,235,5,5,106,246,5,5,187,247,5,5,109,157,5,5,47,159,5,5,48,159,5,5,49,159,5,5,194,160,5,5,195,160,5,5,196,160,5,5,197,160,5,5,198,160,5,5,199,160,5,5,200,160,5,5,201,160,5,5,202,160,5,5,203,160,5,5,204,160,5,5,205,160,5,5,206,160,5,5,207,160,5,5,208,160,5,5,209,160,5,5,210,160,5,5,211,160,5,5,77,163,5,5,78,163,5,5,79,163,5,5,80,163,5,5,184,172,5,5,81,163,5,5,82,163,5,5,83,163,5,5,84,163,5,5,85,163,5,5,86,163,5,5,87,163,5,5,88,163,5,5,89,163,5,5,90,163,5,5,91,163,5,5,92,163,5,5,93,163,5,5,94,163,5,5,95,163,5,5,96,163,5,5,97,163,5,5,98,163,5,5,99,163,5,5,100,163,5,5,101,163,5,5,102,163,5,5,103,163,5,5,104,163,5,5,105,163,5,5,106,163,5,5,107,163,5,5,108,163,5,5,109,163,5,5,110,163,5,5,85,167,5,5,86,167,5,5,87,167,5,5,88,167,5,5,89,167,5,5,90,167,5,5,91,167,5,5,92,167,5,5,93,167,5,5,94,167,5,5,95,167,5,5,96,167,5,5,97,167,5,5,98,167,5,5,99,167,5,5,100,167,5,5,101,167,5,5,102,167,5,5,103,167,5,5,104,167,5,5,105,167,5,5,106,167,5,5,107,167,5,5,108,167,5,5,109,167,5,5,110,167,5,5,111,167,5,5,112,167,5,5,113,167,5,5,114,167,5,5,115,167,5,5,116,167,5,5,117,167,5,5,118,167,5,5,119,167,5,5,120,167,5,5,121,167,5,5,122,167,5,5,123,167,5,5,124,167,5,5,125,167,5,5,183,172,5,5,126,167,5,5,127,167,5,5,185,172,5,5,186,172,5,5,187,172,5,5,188,172,5,5,189,172,5,5,190,172,5,5,191,172,5,5,192,172,5,5,193,172,5,5,194,172,5,5,195,172,5,5,196,172,5,5,197,172,5,5,198,172,5,5,199,172,5,5,200,172,5,5,201,172,5,5,202,172,5,5,203,172,5,5,204,172,5,5,44,179,5,5,205,172,5,5,206,172,5,5,207,172,5,5,208,172,5,5,209,172,5,5,210,172,5,5,211,172,5,5,212,172,5,5,213,172,5,5,214,172,5,5,215,172,5,5,216,172,5,5,217,172,5,5,218,172,5,5,219,172,5,5,220,172,5,5,221,172,5,5,222,172,5,5,223,172,5,5,224,172,5,5,225,172,5,5,226,172,5,5,227,172,5,5,64,176,5,5,228,172,5,5,229,172,5,5,230,172,5,5,231,172,5,5,45,179,5,5,46,179,5,5,47,179,5,5,48,179,5,5,240,172,5,5,49,179,5,5,50,179,5,5,51,179,5,5,52,179,5,5,53,179,5,5,54,179,5,5,55,179,5,5,56,179,5,5,57,179,5,5,58,179,5,5,59,179,5,5,60,179,5,5,61,179,5,5,62,179,5,5,63,179,5,5,64,179,5,5,65,179,5,5,66,179,5,5,67,179,5,5,68,179,5,5,69,179,5,5,70,179,5,5,71,179,5,5,72,179,5,5,73,179,5,5,74,179,5,5,75,179,5,5,76,179,5,5,77,179,5,5,138,186,5,5,140,186,5,5,78,179,5,5,79,179,5,5,80,179,5,5,81,179,5,5,82,179,5,5,83,179,5,5,84,179,5,5,85,179,5,5,141,186,5,5,142,186,5,5,143,186,5,5,144,186,5,5,145,186,5,5,146,186,5,5,147,186,5,5,148,186,5,5,139,186,5,5,149,186,5,5,150,186,5,5,151,186,5,5,152,186,5,5,153,186,5,5,154,186,5,5,155,186,5,5,156,186,5,5,157,186,5,5,158,186,5,5,159,186,5,5,160,186,5,5,161,186,5,5,162,186,5,5,163,186,5,5,164,186,5,5,165,186,5,5,166,186,5,5,167,186,5,5,168,186,5,5,169,186,5,5,170,186,5,5,171,186,5,5,172,186,5,5,173,186,5,5,174,186,5,5,175,186,5,5,176,186,5,5,177,186,5,5,178,186,5,5,179,186,5,5,180,186,5,5,181,186,5,5,182,186,5,5,183,186,5,5,184,186,5,5,185,186,5,5,186,186,5,5,187,186,5,5,188,186,5,5,189,186,5,5,190,186,5,5,191,186,5,5,192,186,5,5,193,186,5,5,194,186,5,5,195,186,5,5,196,186,5,5,197,186,5,5,198,186,5,5,199,186,5,5,200,186,5,5,201,186,5,5,202,186,5,5,203,186,5,5,204,186,5,5,205,186,5,5,97,194,5,5,98,194,5,5,99,194,5,5,100,194,5,5,101,194,5,5,102,194,5,5,103,194,5,5,104,194,5,5,105,194,5,5,106,194,5,5,107,194,5,5,108,194,5,5,109,194,5,5,110,194,5,5,111,194,5,5,112,194,5,5,113,194,5,5,114,194,5,5,115,194,5,5,116,194,5,5,117,194,5,5,118,194,5,5,119,194,5,5,216,186,5,5,120,194,5,5,200,202,5,5,121,194,5,5,122,194,5,5,123,194,5,5,124,194,5,5,125,194,5,5,126,194,5,5,127,194,5,5,128,194,5,5,129,194,5,5,130,194,5,5,131,194,5,5,132,194,5,5,133,194,5,5,134,194,5,5,135,194,5,5,136,194,5,5,137,194,5,5,138,194,5,5,139,194,5,5,140,194,5,5,141,194,5,5,142,194,5,5,143,194,5,5,144,194,5,5,145,194,5,5,146,194,5,5,147,194,5,5,148,194,5,5,149,194,5,5,150,194,5,5,151,194,5,5,201,202,5,5,202,202,5,5,203,202,5,5,204,202,5,5,205,202,5,5,206,202,5,5,207,202,5,5,208,202,5,5,209,202,5,5,210,202,5,5,211,202,5,5,212,202,5,5,213,202,5,5,214,202,5,5,215,202,5,5,216,202,5,5,217,202,5,5,218,202,5,5,219,202,5,5,220,202,5,5,221,202,5,5,222,202,5,5,223,202,5,5,224,202,5,5,225,202,5,5,226,202,5,5,227,202,5,5,228,202,5,5,229,202,5,5,230,202,5,5,231,202,5,5,152,194,5,5,232,202,5,5,233,202,5,5,234,202,5,5,235,202,5,5,236,202,5,5,168,210,5,5,169,210,5,5,170,210,5,5,171,210,5,5,172,210,5,5,173,210,5,5,174,210,5,5,175,210,5,5,176,210,5,5,177,210,5,5,178,210,5,5,179,210,5,5,180,210,5,5,181,210,5,5,182,210,5,5,183,210,5,5,184,210,5,5,185,210,5,5,186,210,5,5,187,210,5,5,188,210,5,5,189,210,5,5,190,210,5,5,191,210,5,5,192,210,5,5,193,210,5,5,194,210,5,5,195,210,5,5,196,210,5,5,197,210,5,5,212,210,5,5,159,217,5,5,160,217,5,5,161,217,5,5,162,217,5,5,163,217,5,5,164,217,5,5,165,217,5,5,166,217,5,5,167,217,5,5,168,217,5,5,169,217,5,5,170,217,5,5,171,217,5,5,172,217,5,5,173,217,5,5,174,217,5,5,175,217,5,5,176,217,5,5,177,217,5,5,178,217,5,5,179,217,5,5,180,217,5,5,181,217,5,5,182,217,5,5,183,217,5,5,184,217,5,5,185,217,5,5,186,217,5,5,148,224,5,5,149,224,5,5,150,224,5,5,151,224,5,5,152,224,5,5,153,224,5,5,154,224,5,5,155,224,5,5,156,224,5,5,157,224,5,5,158,224,5,5,159,224,5,5,160,224,5,5,161,224,5,5,162,224,5,5,163,224,5,5,164,224,5,5,165,224,5,5,166,224,5,5,131,230,5,5,132,230,5,5,133,230,5,5,134,230,5,5,135,230,5,5,178,224,5,5,136,230,5,5,137,230,5,5,138,230,5,5,139,230,5,5,140,230,5,5,141,230,5,5,142,230,5,5,143,230,5,5,144,230,5,5,145,230,5,5,146,230,5,5,167,224,5,5,147,230,5,5,148,230,5,5,149,230,5,5,80,235,5,5,253,238,5,5,81,235,5,5,82,235,5,5,83,235,5,5,252,238,5,5,254,238,5,5,255,238,5,5,45,242,5,5,46,242,5,5,47,242,5,5,48,242,5,5,49,242,5,5,50,242,5,5,51,242,5,5,178,244,5,5,179,244,5,5,180,244,5,5,107,246,5,5,108,246,5,5,109,246,5,5,188,247,5,5,190,248,5,5,191,248,5,5,110,157,5,5,111,157,5,5,112,157,5,5,113,157,5,5,27,158,5,5,50,159,5,5,215,160,5,5,216,160,5,5,217,160,5,5,218,160,5,5,118,163,5,5,119,163,5,5,120,163,5,5,121,163,5,5,122,163,5,5,142,167,5,5,143,167,5,5,144,167,5,5,145,167,5,5,146,167,5,5,147,167,5,5,148,167,5,5,149,167,5,5,150,167,5,5,241,172,5,5,242,172,5,5,243,172,5,5,98,179,5,5,99,179,5,5,100,179,5,5,217,186,5,5,218,186,5,5,219,186,5,5,172,194,5,5,220,186,5,5,175,194,5,5,248,202,5,5,213,210,5,5,251,202,5,5,214,210,5,5,179,224,5,5,180,224,5,5,155,230,5,5,156,230,5,5,9,239,5,5,59,242,5,5,60,242,5,5,113,246,5,5,114,157,5,5,51,159,5,5,52,159,5,5,53,159,5,5,54,159,5,5,220,160,5,5,221,160,5,5,222,160,5,5,223,160,5,5,224,160,5,5,123,163,5,5,124,163,5,5,125,163,5,5,126,163,5,5,127,163,5,5,128,163,5,5,129,163,5,5,130,163,5,5,131,163,5,5,153,167,5,5,154,167,5,5,155,167,5,5,156,167,5,5,157,167,5,5,158,167,5,5,159,167,5,5,160,167,5,5,161,167,5,5,162,167,5,5,163,167,5,5,164,167,5,5,165,167,5,5,166,167,5,5,167,167,5,5,244,172,5,5,245,172,5,5,246,172,5,5,247,172,5,5,248,172,5,5,103,179,5,5,249,172,5,5,250,172,5,5,251,172,5,5,252,172,5,5,104,179,5,5,105,179,5,5,106,179,5,5,107,179,5,5,108,179,5,5,109,179,5,5,110,179,5,5,111,179,5,5,112,179,5,5,113,179,5,5,114,179,5,5,115,179,5,5,116,179,5,5,117,179,5,5,118,179,5,5,119,179,5,5,120,179,5,5,121,179,5,5,122,179,5,5,221,186,5,5,222,186,5,5,223,186,5,5,224,186,5,5,225,186,5,5,226,186,5,5,227,186,5,5,228,186,5,5,229,186,5,5,230,186,5,5,231,186,5,5,176,194,5,5,177,194,5,5,178,194,5,5,179,194,5,5,180,194,5,5,181,194,5,5,182,194,5,5,183,194,5,5,184,194,5,5,185,194,5,5,186,194,5,5,187,194,5,5,252,202,5,5,253,202,5,5,254,202,5,5,255,202,5,5,2,203,5,5,3,203,5,5,4,203,5,5,5,203,5,5,216,210,5,5,217,210,5,5,218,210,5,5,219,210,5,5,220,210,5,5,221,210,5,5,222,210,5,5,223,210,5,5,224,210,5,5,225,210,5,5,226,210,5,5,201,217,5,5,188,194,5,5,202,217,5,5,203,217,5,5,204,217,5,5,205,217,5,5,181,224,5,5,182,224,5,5,157,230,5,5,158,230,5,5,10,239,5,5,11,239,5,5,12,239,5,5,61,242,5,5,183,244,5,5,115,157,5,5,55,159,5,5,225,160,5,5,226,160,5,5,227,160,5,5,132,163,5,5,133,163,5,5,134,163,5,5,169,167,5,5,254,172,5,5,255,172,5,5,123,179,5,5,124,179,5,5,125,179,5,5,2,173,5,5,234,186,5,5,235,186,5,5,236,186,5,5,192,194,5,5,193,194,5,5,194,194,5,5,227,210,5,5,207,217,5,5,118,157,5,5,28,158,5,5,29,158,5,5,56,159,5,5,57,159,5,5,58,159,5,5,59,159,5,5,228,160,5,5,229,160,5,5,230,160,5,5,170,167,5,5,171,167,5,5,3,173,5,5,4,173,5,5,5,173,5,5,195,194,5,5,8,203,5,5,9,203,5,5,228,210,5,5,119,157,5,5,30,158,5,5,31,158,5,5,231,160,5,5,232,160,5,5,233,160,5,5,135,163,5,5,136,163,5,5,137,163,5,5,138,163,5,5,139,163,5,5,172,167,5,5,6,173,5,5,7,173,5,5,196,194,5,5,197,194,5,5,10,203,5,5,11,203,5,5,12,203,5,5,209,217,5,5,159,230,5,5,160,230,5,5,122,157,5,5,178,157,5,5,32,158,5,5,60,159,5,5,61,159,5,5,234,160,5,5,140,163,5,5,141,163,5,5,142,163,5,5,143,163,5,5,144,163,5,5,145,163,5,5,173,167,5,5,174,167,5,5,175,167,5,5,176,167,5,5,177,167,5,5,178,167,5,5,179,167,5,5,8,173,5,5,9,173,5,5,10,173,5,5,11,173,5,5,12,173,5,5,126,179,5,5,127,179,5,5,128,179,5,5,129,179,5,5,130,179,5,5,131,179,5,5,132,179,5,5,133,179,5,5,134,179,5,5,237,186,5,5,238,186,5,5,239,186,5,5,240,186,5,5,241,186,5,5,198,194,5,5,199,194,5,5,242,186,5,5,200,194,5,5,229,210,5,5,230,210,5,5,210,217,5,5,211,217,5,5,212,217,5,5,213,217,5,5,161,230,5,5,87,235,5,5,88,235,5,5,13,239,5,5,184,244,5,5,192,248,5,5,123,157,5,5,33,158,5,5,236,160,5,5,124,157,5,5,35,158,5,5,62,159,5,5,63,159,5,5,64,159,5,5,65,159,5,5,66,159,5,5,237,160,5,5,238,160,5,5,239,160,5,5,240,160,5,5,241,160,5,5,242,160,5,5,243,160,5,5,244,160,5,5,245,160,5,5,246,160,5,5,247,160,5,5,248,160,5,5,146,163,5,5,147,163,5,5,148,163,5,5,149,163,5,5,150,163,5,5,151,163,5,5,152,163,5,5,153,163,5,5,154,163,5,5,172,163,5,5,155,163,5,5,156,163,5,5,157,163,5,5,158,163,5,5,159,163,5,5,160,163,5,5,161,163,5,5,162,163,5,5,163,163,5,5,164,163,5,5,165,163,5,5,166,163,5,5,167,163,5,5,168,163,5,5,169,163,5,5,180,167,5,5,181,167,5,5,182,167,5,5,183,167,5,5,184,167,5,5,185,167,5,5,186,167,5,5,187,167,5,5,188,167,5,5,189,167,5,5,190,167,5,5,191,167,5,5,192,167,5,5,193,167,5,5,194,167,5,5,195,167,5,5,196,167,5,5,197,167,5,5,198,167,5,5,199,167,5,5,200,167,5,5,201,167,5,5,202,167,5,5,203,167,5,5,204,167,5,5,205,167,5,5,206,167,5,5,207,167,5,5,208,167,5,5,209,167,5,5,210,167,5,5,211,167,5,5,212,167,5,5,213,167,5,5,214,167,5,5,215,167,5,5,216,167,5,5,217,167,5,5,218,167,5,5,219,167,5,5,220,167,5,5,13,173,5,5,14,173,5,5,15,173,5,5,16,173,5,5,17,173,5,5,18,173,5,5,19,173,5,5,20,173,5,5,21,173,5,5,22,173,5,5,23,173,5,5,24,173,5,5,25,173,5,5,26,173,5,5,27,173,5,5,28,173,5,5,29,173,5,5,30,173,5,5,31,173,5,5,32,173,5,5,33,173,5,5,34,173,5,5,35,173,5,5,36,173,5,5,37,173,5,5,38,173,5,5,39,173,5,5,40,173,5,5,41,173,5,5,42,173,5,5,43,173,5,5,44,173,5,5,45,173,5,5,46,173,5,5,137,179,5,5,138,179,5,5,139,179,5,5,140,179,5,5,141,179,5,5,142,179,5,5,143,179,5,5,144,179,5,5,145,179,5,5,146,179,5,5,147,179,5,5,148,179,5,5,149,179,5,5,150,179,5,5,151,179,5,5,152,179,5,5,51,173,5,5,153,179,5,5,154,179,5,5,155,179,5,5,156,179,5,5,157,179,5,5,158,179,5,5,159,179,5,5,160,179,5,5,161,179,5,5,162,179,5,5,163,179,5,5,164,179,5,5,165,179,5,5,243,186,5,5,244,186,5,5,245,186,5,5,246,186,5,5,247,186,5,5,248,186,5,5,249,186,5,5,250,186,5,5,251,186,5,5,252,186,5,5,253,186,5,5,254,186,5,5,255,186,5,5,2,187,5,5,3,187,5,5,4,187,5,5,5,187,5,5,6,187,5,5,7,187,5,5,8,187,5,5,9,187,5,5,10,187,5,5,11,187,5,5,12,187,5,5,13,187,5,5,14,187,5,5,15,187,5,5,16,187,5,5,17,187,5,5,18,187,5,5,19,187,5,5,20,187,5,5,21,187,5,5,22,187,5,5,23,187,5,5,24,187,5,5,25,187,5,5,26,187,5,5,27,187,5,5,28,187,5,5,29,187,5,5,30,187,5,5,31,187,5,5,203,194,5,5,204,194,5,5,205,194,5,5,206,194,5,5,207,194,5,5,208,194,5,5,209,194,5,5,210,194,5,5,211,194,5,5,212,194,5,5,213,194,5,5,214,194,5,5,215,194,5,5,216,194,5,5,217,194,5,5,218,194,5,5,219,194,5,5,220,194,5,5,221,194,5,5,222,194,5,5,223,194,5,5,224,194,5,5,225,194,5,5,226,194,5,5,227,194,5,5,14,203,5,5,228,194,5,5,229,194,5,5,230,194,5,5,231,194,5,5,232,194,5,5,233,194,5,5,234,194,5,5,235,194,5,5,236,194,5,5,237,194,5,5,238,194,5,5,239,194,5,5,240,194,5,5,241,194,5,5,242,194,5,5,243,194,5,5,244,194,5,5,245,194,5,5,246,194,5,5,15,203,5,5,16,203,5,5,17,203,5,5,18,203,5,5,19,203,5,5,20,203,5,5,21,203,5,5,22,203,5,5,23,203,5,5,24,203,5,5,25,203,5,5,26,203,5,5,27,203,5,5,251,194,5,5,28,203,5,5,29,203,5,5,30,203,5,5,31,203,5,5,32,203,5,5,33,203,5,5,34,203,5,5,35,203,5,5,36,203,5,5,37,203,5,5,38,203,5,5,231,210,5,5,232,210,5,5,233,210,5,5,234,210,5,5,235,210,5,5,236,210,5,5,237,210,5,5,238,210,5,5,239,210,5,5,240,210,5,5,241,210,5,5,242,210,5,5,243,210,5,5,244,210,5,5,245,210,5,5,246,210,5,5,247,210,5,5,248,210,5,5,249,210,5,5,250,210,5,5,251,210,5,5,252,210,5,5,253,210,5,5,254,210,5,5,215,217,5,5,216,217,5,5,217,217,5,5,218,217,5,5,219,217,5,5,220,217,5,5,221,217,5,5,222,217,5,5,223,217,5,5,224,217,5,5,225,217,5,5,226,217,5,5,227,217,5,5,228,217,5,5,229,217,5,5,230,217,5,5,231,217,5,5,232,217,5,5,233,217,5,5,234,217,5,5,235,217,5,5,236,217,5,5,237,217,5,5,183,224,5,5,184,224,5,5,185,224,5,5,186,224,5,5,187,224,5,5,188,224,5,5,189,224,5,5,190,224,5,5,191,224,5,5,192,224,5,5,193,224,5,5,194,224,5,5,195,224,5,5,196,224,5,5,197,224,5,5,198,224,5,5,199,224,5,5,162,230,5,5,163,230,5,5,164,230,5,5,165,230,5,5,172,230,5,5,166,230,5,5,167,230,5,5,168,230,5,5,169,230,5,5,89,235,5,5,90,235,5,5,91,235,5,5,14,239,5,5,15,239,5,5,16,239,5,5,62,242,5,5,63,242,5,5,64,242,5,5,65,242,5,5,66,242,5,5,185,244,5,5,67,242,5,5,186,244,5,5,114,246,5,5,187,244,5,5,188,244,5,5,115,246,5,5,116,246,5,5,117,246,5,5,118,246,5,5,119,246,5,5,189,247,5,5,120,246,5,5,190,247,5,5,193,248,5,5,191,247,5,5,125,157,5,5,46,157,5,5,126,157,5,5,250,160,5,5,251,160,5,5,173,163,5,5,166,165,5,5,36,187,5,5,37,187,5,5,241,217,5,5,127,157,5,5,67,159,5,5,68,159,5,5,69,159,5,5,252,160,5,5,253,160,5,5,174,163,5,5,52,173,5,5,53,173,5,5,169,179,5,5,252,194,5,5,43,203,5,5,128,157,5,5,129,157,5,5,130,157,5,5,36,158,5,5,175,163,5,5,224,167,5,5,54,173,5,5,55,173,5,5,56,173,5,5,57,173,5,5,58,173,5,5,171,179,5,5,254,194,5,5,131,157,5,5,37,158,5,5,38,158,5,5,39,158,5,5,70,159,5,5,71,159,5,5,72,159,5,5,73,159,5,5,254,160,5,5,255,160,5,5,2,161,5,5,176,163,5,5,177,163,5,5,178,163,5,5,179,163,5,5,180,163,5,5,181,163,5,5,182,163,5,5,183,163,5,5,226,167,5,5,227,167,5,5,228,167,5,5,229,167,5,5,230,167,5,5,231,167,5,5,232,167,5,5,233,167,5,5,234,167,5,5,235,167,5,5,236,167,5,5,237,167,5,5,59,173,5,5,60,173,5,5,61,173,5,5,62,173,5,5,63,173,5,5,64,173,5,5,65,173,5,5,66,173,5,5,67,173,5,5,68,173,5,5,69,173,5,5,172,179,5,5,173,179,5,5,174,179,5,5,175,179,5,5,176,179,5,5,177,179,5,5,178,179,5,5,179,179,5,5,180,179,5,5,181,179,5,5,39,187,5,5,40,187,5,5,41,187,5,5,42,187,5,5,43,187,5,5,44,187,5,5,45,187,5,5,46,187,5,5,47,187,5,5,48,187,5,5,49,187,5,5,3,195,5,5,50,187,5,5,4,195,5,5,5,195,5,5,6,195,5,5,7,195,5,5,8,195,5,5,9,195,5,5,10,195,5,5,11,195,5,5,12,195,5,5,15,195,5,5,13,195,5,5,44,203,5,5,45,203,5,5,46,203,5,5,47,203,5,5,48,203,5,5,49,203,5,5,220,206,5,5,5,211,5,5,6,211,5,5,7,211,5,5,8,211,5,5,9,211,5,5,10,211,5,5,11,211,5,5,12,211,5,5,13,211,5,5,242,217,5,5,14,211,5,5,243,217,5,5,244,217,5,5,245,217,5,5,246,217,5,5,247,217,5,5,248,217,5,5,249,217,5,5,16,211,5,5,250,217,5,5,251,217,5,5,200,224,5,5,201,224,5,5,202,224,5,5,253,217,5,5,173,230,5,5,174,230,5,5,175,230,5,5,92,235,5,5,93,235,5,5,207,224,5,5,21,239,5,5,68,242,5,5,132,157,5,5,76,159,5,5,6,161,5,5,7,161,5,5,8,161,5,5,239,167,5,5,240,167,5,5,50,203,5,5,134,157,5,5,40,158,5,5,77,159,5,5,71,173,5,5,16,195,5,5,135,157,5,5,78,159,5,5,79,159,5,5,80,159,5,5,81,159,5,5,9,161,5,5,10,161,5,5,11,161,5,5,188,163,5,5,189,163,5,5,190,163,5,5,191,163,5,5,192,163,5,5,193,163,5,5,194,163,5,5,195,163,5,5,196,163,5,5,197,163,5,5,198,163,5,5,199,163,5,5,200,163,5,5,201,163,5,5,242,167,5,5,243,167,5,5,244,167,5,5,241,167,5,5,245,167,5,5,246,167,5,5,72,173,5,5,247,167,5,5,248,167,5,5,249,167,5,5,250,167,5,5,73,173,5,5,74,173,5,5,75,173,5,5,76,173,5,5,77,173,5,5,78,173,5,5,79,173,5,5,185,179,5,5,186,179,5,5,187,179,5,5,188,179,5,5,189,179,5,5,190,179,5,5,191,179,5,5,192,179,5,5,193,179,5,5,81,173,5,5,51,187,5,5,52,187,5,5,53,187,5,5,54,187,5,5,55,187,5,5,56,187,5,5,57,187,5,5,58,187,5,5,59,187,5,5,60,187,5,5,61,187,5,5,62,187,5,5,17,195,5,5,63,187,5,5,18,195,5,5,19,195,5,5,20,195,5,5,21,195,5,5,22,195,5,5,24,195,5,5,51,203,5,5,52,203,5,5,53,203,5,5,54,203,5,5,55,203,5,5,23,195,5,5,56,203,5,5,57,203,5,5,17,211,5,5,18,211,5,5,19,211,5,5,20,211,5,5,21,211,5,5,22,211,5,5,23,211,5,5,24,211,5,5,25,211,5,5,26,211,5,5,27,211,5,5,28,211,5,5,29,211,5,5,254,217,5,5,255,217,5,5,30,211,5,5,2,218,5,5,3,218,5,5,4,218,5,5,5,218,5,5,6,218,5,5,7,218,5,5,8,218,5,5,9,218,5,5,208,224,5,5,209,224,5,5,210,224,5,5,211,224,5,5,212,224,5,5,213,224,5,5,94,235,5,5,23,239,5,5,24,239,5,5,70,242,5,5,71,242,5,5,72,242,5,5,190,244,5,5,121,246,5,5,104,249,5,5,136,157,5,5,12,161,5,5,252,167,5,5,202,163,5,5,253,167,5,5,254,167,5,5,82,173,5,5,83,173,5,5,84,173,5,5,194,179,5,5,137,157,5,5,41,158,5,5,42,158,5,5,82,159,5,5,13,161,5,5,203,163,5,5,204,163,5,5,205,163,5,5,2,168,5,5,87,173,5,5,88,173,5,5,195,179,5,5,31,211,5,5,138,157,5,5,43,158,5,5,83,159,5,5,14,161,5,5,15,161,5,5,16,161,5,5,25,195,5,5,59,203,5,5,139,157,5,5,44,158,5,5,45,158,5,5,46,158,5,5,84,159,5,5,85,159,5,5,17,161,5,5,18,161,5,5,19,161,5,5,20,161,5,5,206,163,5,5,207,163,5,5,208,163,5,5,209,163,5,5,3,168,5,5,4,168,5,5,5,168,5,5,6,168,5,5,7,168,5,5,8,168,5,5,9,168,5,5,10,168,5,5,11,168,5,5,12,168,5,5,89,173,5,5,90,173,5,5,91,173,5,5,92,173,5,5,93,173,5,5,196,179,5,5,197,179,5,5,198,179,5,5,199,179,5,5,64,187,5,5,65,187,5,5,66,187,5,5,67,187,5,5,68,187,5,5,69,187,5,5,26,195,5,5,27,195,5,5,28,195,5,5,29,195,5,5,30,195,5,5,60,203,5,5,61,203,5,5,62,203,5,5,63,203,5,5,32,211,5,5,33,211,5,5,34,211,5,5,36,211,5,5,10,218,5,5,11,218,5,5,12,218,5,5,214,224,5,5,215,224,5,5,178,230,5,5,95,235,5,5,122,246,5,5,192,247,5,5,140,157,5,5,142,157,5,5,86,159,5,5,21,161,5,5,14,168,5,5,15,168,5,5,95,173,5,5,71,187,5,5,31,195,5,5,64,203,5,5,65,203,5,5,216,224,5,5,217,224,5,5,96,235,5,5,97,235,5,5,26,239,5,5,223,249,5,5,143,157,5,5,211,163,5,5,212,163,5,5,213,163,5,5,96,173,5,5,97,173,5,5,200,179,5,5,201,179,5,5,72,187,5,5,151,191,5,5,73,187,5,5,74,187,5,5,32,195,5,5,67,203,5,5,37,211,5,5,38,211,5,5,13,218,5,5,123,246,5,5,144,157,5,5,22,161,5,5,23,161,5,5,214,163,5,5,215,163,5,5,216,163,5,5,217,163,5,5,218,163,5,5,219,163,5,5,18,168,5,5,19,168,5,5,20,168,5,5,21,168,5,5,22,168,5,5,23,168,5,5,24,168,5,5,25,168,5,5,26,168,5,5,98,173,5,5,99,173,5,5,100,173,5,5,101,173,5,5,102,173,5,5,103,173,5,5,104,173,5,5,105,173,5,5,106,173,5,5,203,179,5,5,204,179,5,5,205,179,5,5,206,179,5,5,207,179,5,5,208,179,5,5,107,173,5,5,209,179,5,5,75,187,5,5,76,187,5,5,77,187,5,5,78,187,5,5,33,195,5,5,79,187,5,5,80,187,5,5,81,187,5,5,82,187,5,5,83,187,5,5,84,187,5,5,85,187,5,5,86,187,5,5,87,187,5,5,88,187,5,5,34,195,5,5,35,195,5,5,36,195,5,5,37,195,5,5,38,195,5,5,39,195,5,5,40,195,5,5,68,203,5,5,69,203,5,5,70,203,5,5,71,203,5,5,72,203,5,5,40,211,5,5,14,218,5,5,41,211,5,5,42,211,5,5,15,218,5,5,44,211,5,5,16,218,5,5,17,218,5,5,18,218,5,5,19,218,5,5,220,224,5,5,221,224,5,5,179,230,5,5,180,230,5,5,27,239,5,5,73,242,5,5,74,242,5,5,191,244,5,5,48,158,5,5,145,157,5,5,88,159,5,5,49,158,5,5,90,159,5,5,25,161,5,5,91,159,5,5,92,159,5,5,26,161,5,5,224,163,5,5,225,163,5,5,226,163,5,5,27,161,5,5,227,163,5,5,228,163,5,5,229,163,5,5,28,161,5,5,29,161,5,5,30,161,5,5,31,161,5,5,230,163,5,5,231,163,5,5,32,161,5,5,33,161,5,5,34,161,5,5,232,163,5,5,27,168,5,5,28,168,5,5,234,163,5,5,29,168,5,5,235,163,5,5,30,168,5,5,236,163,5,5,237,163,5,5,31,168,5,5,238,163,5,5,239,163,5,5,240,163,5,5,32,168,5,5,241,163,5,5,242,163,5,5,243,163,5,5,244,163,5,5,245,163,5,5,246,163,5,5,247,163,5,5,248,163,5,5,249,163,5,5,250,163,5,5,251,163,5,5,33,168,5,5,252,163,5,5,253,163,5,5,254,163,5,5,255,163,5,5,2,164,5,5,3,164,5,5,4,164,5,5,34,168,5,5,5,164,5,5,35,168,5,5,6,164,5,5,36,168,5,5,37,168,5,5,7,164,5,5,8,164,5,5,9,164,5,5,10,164,5,5,38,168,5,5,39,168,5,5,40,168,5,5,41,168,5,5,42,168,5,5,43,168,5,5,44,168,5,5,108,173,5,5,45,168,5,5,46,168,5,5,47,168,5,5,109,173,5,5,48,168,5,5,49,168,5,5,50,168,5,5,51,168,5,5,52,168,5,5,110,173,5,5,53,168,5,5,54,168,5,5,55,168,5,5,56,168,5,5,111,173,5,5,57,168,5,5,58,168,5,5,112,173,5,5,59,168,5,5,60,168,5,5,113,173,5,5,114,173,5,5,115,173,5,5,61,168,5,5,62,168,5,5,116,173,5,5,63,168,5,5,64,168,5,5,65,168,5,5,66,168,5,5,67,168,5,5,68,168,5,5,69,168,5,5,70,168,5,5,117,173,5,5,71,168,5,5,72,168,5,5,73,168,5,5,74,168,5,5,75,168,5,5,118,173,5,5,119,173,5,5,120,173,5,5,76,168,5,5,121,173,5,5,122,173,5,5,77,168,5,5,78,168,5,5,79,168,5,5,123,173,5,5,211,179,5,5,124,173,5,5,125,173,5,5,126,173,5,5,127,173,5,5,128,173,5,5,129,173,5,5,130,173,5,5,131,173,5,5,132,173,5,5,212,179,5,5,133,173,5,5,134,173,5,5,135,173,5,5,213,179,5,5,214,179,5,5,136,173,5,5,137,173,5,5,138,173,5,5,139,173,5,5,215,179,5,5,216,179,5,5,140,173,5,5,141,173,5,5,217,179,5,5,218,179,5,5,142,173,5,5,143,173,5,5,219,179,5,5,144,173,5,5,145,173,5,5,146,173,5,5,147,173,5,5,148,173,5,5,220,179,5,5,149,173,5,5,221,179,5,5,150,173,5,5,222,179,5,5,151,173,5,5,223,179,5,5,152,173,5,5,153,173,5,5,154,173,5,5,224,179,5,5,155,173,5,5,225,179,5,5,156,173,5,5,157,173,5,5,158,173,5,5,226,179,5,5,227,179,5,5,228,179,5,5,229,179,5,5,230,179,5,5,159,173,5,5,160,173,5,5,161,173,5,5,162,173,5,5,163,173,5,5,164,173,5,5,233,179,5,5,91,187,5,5,234,179,5,5,235,179,5,5,236,179,5,5,237,179,5,5,238,179,5,5,239,179,5,5,92,187,5,5,240,179,5,5,241,179,5,5,93,187,5,5,94,187,5,5,242,179,5,5,243,179,5,5,244,179,5,5,245,179,5,5,246,179,5,5,95,187,5,5,247,179,5,5,248,179,5,5,249,179,5,5,250,179,5,5,251,179,5,5,252,179,5,5,253,179,5,5,96,187,5,5,254,179,5,5,255,179,5,5,2,180,5,5,3,180,5,5,4,180,5,5,5,180,5,5,6,180,5,5,97,187,5,5,98,187,5,5,7,180,5,5,99,187,5,5,100,187,5,5,101,187,5,5,8,180,5,5,9,180,5,5,102,187,5,5,10,180,5,5,103,187,5,5,104,187,5,5,105,187,5,5,11,180,5,5,12,180,5,5,13,180,5,5,110,187,5,5,111,187,5,5,42,195,5,5,43,195,5,5,112,187,5,5,113,187,5,5,44,195,5,5,114,187,5,5,115,187,5,5,45,195,5,5,116,187,5,5,117,187,5,5,118,187,5,5,119,187,5,5,120,187,5,5,121,187,5,5,122,187,5,5,46,195,5,5,123,187,5,5,124,187,5,5,47,195,5,5,125,187,5,5,126,187,5,5,127,187,5,5,128,187,5,5,48,195,5,5,129,187,5,5,130,187,5,5,49,195,5,5,131,187,5,5,50,195,5,5,132,187,5,5,133,187,5,5,51,195,5,5,52,195,5,5,134,187,5,5,135,187,5,5,136,187,5,5,53,195,5,5,137,187,5,5,138,187,5,5,139,187,5,5,140,187,5,5,141,187,5,5,142,187,5,5,143,187,5,5,144,187,5,5,145,187,5,5,54,195,5,5,55,195,5,5,56,195,5,5,57,195,5,5,146,187,5,5,58,195,5,5,147,187,5,5,148,187,5,5,149,187,5,5,59,195,5,5,60,195,5,5,61,195,5,5,150,187,5,5,151,187,5,5,152,187,5,5,153,187,5,5,62,195,5,5,63,195,5,5,64,195,5,5,73,203,5,5,65,195,5,5,66,195,5,5,67,195,5,5,74,203,5,5,68,195,5,5,75,203,5,5,69,195,5,5,70,195,5,5,71,195,5,5,72,195,5,5,73,195,5,5,74,195,5,5,75,195,5,5,76,203,5,5,77,203,5,5,76,195,5,5,77,195,5,5,78,195,5,5,78,203,5,5,79,195,5,5,79,203,5,5,80,195,5,5,81,195,5,5,82,195,5,5,83,195,5,5,80,203,5,5,84,195,5,5,81,203,5,5,85,195,5,5,86,195,5,5,87,195,5,5,88,195,5,5,89,195,5,5,90,195,5,5,91,195,5,5,82,203,5,5,92,195,5,5,83,203,5,5,84,203,5,5,85,203,5,5,93,195,5,5,94,195,5,5,95,195,5,5,86,203,5,5,96,195,5,5,97,195,5,5,98,195,5,5,99,195,5,5,100,195,5,5,101,195,5,5,102,195,5,5,90,203,5,5,45,211,5,5,91,203,5,5,92,203,5,5,93,203,5,5,46,211,5,5,94,203,5,5,95,203,5,5,96,203,5,5,97,203,5,5,98,203,5,5,99,203,5,5,47,211,5,5,100,203,5,5,101,203,5,5,102,203,5,5,103,203,5,5,48,211,5,5,104,203,5,5,105,203,5,5,49,211,5,5,106,203,5,5,107,203,5,5,108,203,5,5,50,211,5,5,109,203,5,5,51,211,5,5,52,211,5,5,110,203,5,5,111,203,5,5,112,203,5,5,113,203,5,5,53,211,5,5,54,211,5,5,114,203,5,5,115,203,5,5,55,211,5,5,116,203,5,5,117,203,5,5,118,203,5,5,119,203,5,5,56,211,5,5,120,203,5,5,58,211,5,5,59,211,5,5,60,211,5,5,20,218,5,5,61,211,5,5,21,218,5,5,62,211,5,5,22,218,5,5,63,211,5,5,64,211,5,5,23,218,5,5,24,218,5,5,65,211,5,5,66,211,5,5,67,211,5,5,68,211,5,5,69,211,5,5,70,211,5,5,25,218,5,5,71,211,5,5,26,218,5,5,27,218,5,5,103,195,5,5,72,211,5,5,73,211,5,5,28,218,5,5,74,211,5,5,42,218,5,5,29,218,5,5,75,211,5,5,30,218,5,5,76,211,5,5,77,211,5,5,78,211,5,5,79,211,5,5,80,211,5,5,31,218,5,5,81,211,5,5,32,218,5,5,33,218,5,5,82,211,5,5,83,211,5,5,34,218,5,5,84,211,5,5,35,218,5,5,36,218,5,5,85,211,5,5,86,211,5,5,37,218,5,5,38,218,5,5,39,218,5,5,40,218,5,5,87,211,5,5,41,218,5,5,88,211,5,5,43,218,5,5,222,224,5,5,44,218,5,5,223,224,5,5,45,218,5,5,46,218,5,5,47,218,5,5,48,218,5,5,224,224,5,5,49,218,5,5,50,218,5,5,51,218,5,5,52,218,5,5,225,224,5,5,226,224,5,5,53,218,5,5,227,224,5,5,54,218,5,5,55,218,5,5,56,218,5,5,228,224,5,5,57,218,5,5,58,218,5,5,229,224,5,5,59,218,5,5,60,218,5,5,61,218,5,5,62,218,5,5,230,224,5,5,63,218,5,5,64,218,5,5,231,224,5,5,232,224,5,5,65,218,5,5,66,218,5,5,67,218,5,5,68,218,5,5,69,218,5,5,70,218,5,5,71,218,5,5,72,218,5,5,233,224,5,5,73,218,5,5,234,224,5,5,182,230,5,5,235,224,5,5,236,224,5,5,237,224,5,5,238,224,5,5,239,224,5,5,7,225,5,5,183,230,5,5,240,224,5,5,241,224,5,5,242,224,5,5,243,224,5,5,244,224,5,5,184,230,5,5,185,230,5,5,245,224,5,5,246,224,5,5,247,224,5,5,186,230,5,5,248,224,5,5,187,230,5,5,249,224,5,5,188,230,5,5,250,224,5,5,251,224,5,5,252,224,5,5,253,224,5,5,254,224,5,5,189,230,5,5,255,224,5,5,2,225,5,5,3,225,5,5,98,235,5,5,99,235,5,5,190,230,5,5,100,235,5,5,191,230,5,5,192,230,5,5,193,230,5,5,194,230,5,5,195,230,5,5,196,230,5,5,101,235,5,5,197,230,5,5,198,230,5,5,199,230,5,5,102,235,5,5,200,230,5,5,201,230,5,5,202,230,5,5,203,230,5,5,204,230,5,5,104,235,5,5,105,235,5,5,106,235,5,5,28,239,5,5,107,235,5,5,108,235,5,5,29,239,5,5,109,235,5,5,110,235,5,5,30,239,5,5,111,235,5,5,112,235,5,5,31,239,5,5,32,239,5,5,33,239,5,5,75,242,5,5,77,242,5,5,78,242,5,5,36,239,5,5,192,244,5,5,193,244,5,5,194,244,5,5,124,246,5,5,193,247,5,5,194,247,5,5,125,246,5,5,195,247,5,5,196,247,5,5,105,249,5,5,106,249,5,5,86,250,5,5,50,158,5,5,94,159,5,5,95,159,5,5,96,159,5,5,36,161,5,5,37,161,5,5,38,161,5,5,39,161,5,5,40,161,5,5,12,164,5,5,13,164,5,5,14,164,5,5,84,168,5,5,85,168,5,5,86,168,5,5,87,168,5,5,170,173,5,5,24,180,5,5,163,187,5,5,164,187,5,5,165,187,5,5,166,187,5,5,110,195,5,5,111,195,5,5,126,203,5,5,127,203,5,5,128,203,5,5,129,203,5,5,130,203,5,5,131,203,5,5,125,203,5,5,91,211,5,5,92,211,5,5,93,211,5,5,94,211,5,5,95,211,5,5,96,211,5,5,80,218,5,5,81,218,5,5,82,218,5,5,9,225,5,5,8,225,5,5,206,230,5,5,114,235,5,5,207,230,5,5,128,246,5,5,51,158,5,5,52,158,5,5,53,158,5,5,97,159,5,5,16,164,5,5,17,164,5,5,18,164,5,5,88,168,5,5,89,168,5,5,90,168,5,5,91,168,5,5,171,173,5,5,172,173,5,5,173,173,5,5,25,180,5,5,26,180,5,5,27,180,5,5,28,180,5,5,167,187,5,5,113,195,5,5,114,195,5,5,54,158,5,5,146,157,5,5,147,157,5,5,55,158,5,5,105,159,5,5,98,159,5,5,99,159,5,5,100,159,5,5,101,159,5,5,102,159,5,5,103,159,5,5,104,159,5,5,41,161,5,5,42,161,5,5,43,161,5,5,44,161,5,5,45,161,5,5,46,161,5,5,47,161,5,5,48,161,5,5,62,161,5,5,49,161,5,5,50,161,5,5,51,161,5,5,52,161,5,5,53,161,5,5,54,161,5,5,55,161,5,5,56,161,5,5,57,161,5,5,58,161,5,5,59,161,5,5,60,161,5,5,61,161,5,5,19,164,5,5,20,164,5,5,21,164,5,5,22,164,5,5,23,164,5,5,24,164,5,5,25,164,5,5,26,164,5,5,27,164,5,5,28,164,5,5,29,164,5,5,75,164,5,5,30,164,5,5,31,164,5,5,32,164,5,5,33,164,5,5,34,164,5,5,35,164,5,5,92,168,5,5,36,164,5,5,37,164,5,5,38,164,5,5,39,164,5,5,40,164,5,5,41,164,5,5,42,164,5,5,43,164,5,5,44,164,5,5,45,164,5,5,46,164,5,5,47,164,5,5,48,164,5,5,49,164,5,5,50,164,5,5,51,164,5,5,52,164,5,5,53,164,5,5,54,164,5,5,55,164,5,5,56,164,5,5,57,164,5,5,58,164,5,5,59,164,5,5,60,164,5,5,61,164,5,5,62,164,5,5,63,164,5,5,64,164,5,5,65,164,5,5,66,164,5,5,67,164,5,5,68,164,5,5,69,164,5,5,70,164,5,5,71,164,5,5,72,164,5,5,73,164,5,5,93,168,5,5,94,168,5,5,95,168,5,5,96,168,5,5,97,168,5,5,98,168,5,5,99,168,5,5,100,168,5,5,101,168,5,5,102,168,5,5,103,168,5,5,104,168,5,5,105,168,5,5,106,168,5,5,107,168,5,5,108,168,5,5,109,168,5,5,110,168,5,5,111,168,5,5,112,168,5,5,113,168,5,5,114,168,5,5,115,168,5,5,116,168,5,5,117,168,5,5,118,168,5,5,119,168,5,5,120,168,5,5,121,168,5,5,122,168,5,5,123,168,5,5,124,168,5,5,125,168,5,5,126,168,5,5,127,168,5,5,128,168,5,5,129,168,5,5,130,168,5,5,131,168,5,5,132,168,5,5,133,168,5,5,174,173,5,5,134,168,5,5,135,168,5,5,136,168,5,5,137,168,5,5,138,168,5,5,139,168,5,5,140,168,5,5,141,168,5,5,142,168,5,5,143,168,5,5,144,168,5,5,145,168,5,5,175,173,5,5,146,168,5,5,147,168,5,5,148,168,5,5,149,168,5,5,150,168,5,5,151,168,5,5,152,168,5,5,153,168,5,5,154,168,5,5,155,168,5,5,156,168,5,5,157,168,5,5,158,168,5,5,177,173,5,5,178,173,5,5,179,173,5,5,180,173,5,5,181,173,5,5,182,173,5,5,183,173,5,5,184,173,5,5,29,180,5,5,30,180,5,5,185,173,5,5,186,173,5,5,187,173,5,5,188,173,5,5,189,173,5,5,190,173,5,5,191,173,5,5,192,173,5,5,193,173,5,5,194,173,5,5,195,173,5,5,31,180,5,5,196,173,5,5,197,173,5,5,198,173,5,5,199,173,5,5,200,173,5,5,201,173,5,5,202,173,5,5,203,173,5,5,32,180,5,5,204,173,5,5,205,173,5,5,206,173,5,5,207,173,5,5,208,173,5,5,209,173,5,5,210,173,5,5,33,180,5,5,211,173,5,5,212,173,5,5,213,173,5,5,214,173,5,5,215,173,5,5,216,173,5,5,217,173,5,5,218,173,5,5,34,180,5,5,35,180,5,5,36,180,5,5,219,173,5,5,220,173,5,5,221,173,5,5,222,173,5,5,223,173,5,5,224,173,5,5,225,173,5,5,226,173,5,5,227,173,5,5,228,173,5,5,229,173,5,5,230,173,5,5,38,180,5,5,39,180,5,5,40,180,5,5,41,180,5,5,42,180,5,5,43,180,5,5,44,180,5,5,45,180,5,5,46,180,5,5,47,180,5,5,168,187,5,5,48,180,5,5,49,180,5,5,50,180,5,5,51,180,5,5,52,180,5,5,53,180,5,5,54,180,5,5,55,180,5,5,169,187,5,5,56,180,5,5,57,180,5,5,58,180,5,5,59,180,5,5,60,180,5,5,61,180,5,5,62,180,5,5,63,180,5,5,64,180,5,5,65,180,5,5,66,180,5,5,67,180,5,5,68,180,5,5,69,180,5,5,70,180,5,5,71,180,5,5,72,180,5,5,73,180,5,5,74,180,5,5,75,180,5,5,76,180,5,5,77,180,5,5,78,180,5,5,79,180,5,5,80,180,5,5,81,180,5,5,82,180,5,5,83,180,5,5,84,180,5,5,85,180,5,5,86,180,5,5,87,180,5,5,88,180,5,5,89,180,5,5,90,180,5,5,91,180,5,5,92,180,5,5,93,180,5,5,94,180,5,5,95,180,5,5,96,180,5,5,170,187,5,5,171,187,5,5,172,187,5,5,173,187,5,5,174,187,5,5,175,187,5,5,176,187,5,5,177,187,5,5,178,187,5,5,179,187,5,5,180,187,5,5,181,187,5,5,182,187,5,5,183,187,5,5,184,187,5,5,185,187,5,5,186,187,5,5,187,187,5,5,188,187,5,5,189,187,5,5,190,187,5,5,191,187,5,5,192,187,5,5,193,187,5,5,194,187,5,5,195,187,5,5,196,187,5,5,197,187,5,5,198,187,5,5,199,187,5,5,200,187,5,5,201,187,5,5,202,187,5,5,203,187,5,5,204,187,5,5,205,187,5,5,206,187,5,5,207,187,5,5,208,187,5,5,115,195,5,5,209,187,5,5,210,187,5,5,211,187,5,5,212,187,5,5,213,187,5,5,214,187,5,5,215,187,5,5,116,195,5,5,216,187,5,5,217,187,5,5,218,187,5,5,219,187,5,5,220,187,5,5,221,187,5,5,222,187,5,5,223,187,5,5,224,187,5,5,225,187,5,5,226,187,5,5,227,187,5,5,228,187,5,5,229,187,5,5,117,195,5,5,230,187,5,5,231,187,5,5,232,187,5,5,233,187,5,5,234,187,5,5,235,187,5,5,236,187,5,5,237,187,5,5,238,187,5,5,239,187,5,5,240,187,5,5,241,187,5,5,118,195,5,5,119,195,5,5,9,188,5,5,242,187,5,5,243,187,5,5,244,187,5,5,245,187,5,5,246,187,5,5,247,187,5,5,248,187,5,5,249,187,5,5,250,187,5,5,251,187,5,5,252,187,5,5,120,195,5,5,121,195,5,5,122,195,5,5,123,195,5,5,124,195,5,5,125,195,5,5,126,195,5,5,210,203,5,5,127,195,5,5,128,195,5,5,129,195,5,5,130,195,5,5,131,195,5,5,132,195,5,5,133,195,5,5,134,195,5,5,135,195,5,5,136,195,5,5,137,195,5,5,138,195,5,5,139,195,5,5,140,195,5,5,141,195,5,5,142,195,5,5,143,195,5,5,144,195,5,5,145,195,5,5,146,195,5,5,147,195,5,5,148,195,5,5,149,195,5,5,150,195,5,5,151,195,5,5,152,195,5,5,153,195,5,5,154,195,5,5,155,195,5,5,156,195,5,5,101,180,5,5,157,195,5,5,158,195,5,5,132,203,5,5,159,195,5,5,160,195,5,5,161,195,5,5,133,203,5,5,162,195,5,5,163,195,5,5,164,195,5,5,165,195,5,5,166,195,5,5,134,203,5,5,167,195,5,5,168,195,5,5,169,195,5,5,170,195,5,5,171,195,5,5,172,195,5,5,173,195,5,5,174,195,5,5,175,195,5,5,176,195,5,5,177,195,5,5,178,195,5,5,179,195,5,5,180,195,5,5,181,195,5,5,182,195,5,5,183,195,5,5,184,195,5,5,185,195,5,5,186,195,5,5,135,203,5,5,136,203,5,5,137,203,5,5,138,203,5,5,139,203,5,5,140,203,5,5,141,203,5,5,142,203,5,5,143,203,5,5,144,203,5,5,145,203,5,5,146,203,5,5,147,203,5,5,148,203,5,5,149,203,5,5,150,203,5,5,151,203,5,5,152,203,5,5,153,203,5,5,154,203,5,5,155,203,5,5,156,203,5,5,157,203,5,5,158,203,5,5,159,203,5,5,160,203,5,5,161,203,5,5,162,203,5,5,163,203,5,5,164,203,5,5,165,203,5,5,166,203,5,5,167,203,5,5,168,203,5,5,169,203,5,5,170,203,5,5,171,203,5,5,97,211,5,5,172,203,5,5,173,203,5,5,174,203,5,5,175,203,5,5,176,203,5,5,211,203,5,5,177,203,5,5,178,203,5,5,98,211,5,5,179,203,5,5,180,203,5,5,181,203,5,5,182,203,5,5,183,203,5,5,184,203,5,5,99,211,5,5,185,203,5,5,186,203,5,5,187,203,5,5,100,211,5,5,188,203,5,5,189,203,5,5,190,203,5,5,191,203,5,5,192,203,5,5,193,203,5,5,194,203,5,5,195,203,5,5,196,203,5,5,197,203,5,5,198,203,5,5,101,211,5,5,102,211,5,5,103,211,5,5,104,211,5,5,105,211,5,5,106,211,5,5,107,211,5,5,187,195,5,5,108,211,5,5,109,211,5,5,110,211,5,5,166,211,5,5,111,211,5,5,112,211,5,5,113,211,5,5,114,211,5,5,115,211,5,5,116,211,5,5,117,211,5,5,118,211,5,5,119,211,5,5,120,211,5,5,196,195,5,5,121,211,5,5,122,211,5,5,123,211,5,5,124,211,5,5,125,211,5,5,126,211,5,5,83,218,5,5,84,218,5,5,127,211,5,5,128,211,5,5,129,211,5,5,130,211,5,5,85,218,5,5,86,218,5,5,87,218,5,5,131,211,5,5,132,211,5,5,133,211,5,5,134,211,5,5,135,211,5,5,136,211,5,5,137,211,5,5,138,211,5,5,88,218,5,5,139,211,5,5,140,211,5,5,141,211,5,5,142,211,5,5,143,211,5,5,144,211,5,5,89,218,5,5,145,211,5,5,146,211,5,5,90,218,5,5,147,211,5,5,92,218,5,5,93,218,5,5,148,211,5,5,94,218,5,5,10,225,5,5,95,218,5,5,96,218,5,5,97,218,5,5,98,218,5,5,99,218,5,5,100,218,5,5,101,218,5,5,102,218,5,5,103,218,5,5,104,218,5,5,105,218,5,5,106,218,5,5,107,218,5,5,108,218,5,5,109,218,5,5,110,218,5,5,111,218,5,5,112,218,5,5,113,218,5,5,114,218,5,5,115,218,5,5,116,218,5,5,117,218,5,5,118,218,5,5,119,218,5,5,120,218,5,5,121,218,5,5,122,218,5,5,167,211,5,5,123,218,5,5,124,218,5,5,125,218,5,5,126,218,5,5,127,218,5,5,128,218,5,5,129,218,5,5,130,218,5,5,131,218,5,5,132,218,5,5,133,218,5,5,134,218,5,5,135,218,5,5,136,218,5,5,137,218,5,5,138,218,5,5,139,218,5,5,140,218,5,5,141,218,5,5,142,218,5,5,11,225,5,5,12,225,5,5,13,225,5,5,14,225,5,5,15,225,5,5,16,225,5,5,17,225,5,5,18,225,5,5,19,225,5,5,20,225,5,5,21,225,5,5,143,218,5,5,22,225,5,5,23,225,5,5,24,225,5,5,208,230,5,5,25,225,5,5,26,225,5,5,27,225,5,5,209,230,5,5,28,225,5,5,29,225,5,5,30,225,5,5,31,225,5,5,32,225,5,5,33,225,5,5,34,225,5,5,35,225,5,5,36,225,5,5,210,230,5,5,37,225,5,5,38,225,5,5,39,225,5,5,40,225,5,5,41,225,5,5,42,225,5,5,211,230,5,5,212,230,5,5,213,230,5,5,214,230,5,5,215,230,5,5,216,230,5,5,117,235,5,5,217,230,5,5,115,235,5,5,218,230,5,5,219,230,5,5,116,235,5,5,220,230,5,5,221,230,5,5,222,230,5,5,223,230,5,5,224,230,5,5,225,230,5,5,226,230,5,5,118,235,5,5,52,225,5,5,119,235,5,5,120,235,5,5,121,235,5,5,122,235,5,5,123,235,5,5,124,235,5,5,125,235,5,5,126,235,5,5,127,235,5,5,128,235,5,5,129,235,5,5,130,235,5,5,37,239,5,5,131,235,5,5,132,235,5,5,133,235,5,5,134,235,5,5,135,235,5,5,136,235,5,5,38,239,5,5,39,239,5,5,40,239,5,5,41,239,5,5,42,239,5,5,43,239,5,5,44,239,5,5,45,239,5,5,46,239,5,5,47,239,5,5,195,244,5,5,48,239,5,5,80,242,5,5,81,242,5,5,82,242,5,5,83,242,5,5,84,242,5,5,85,242,5,5,86,242,5,5,87,242,5,5,196,244,5,5,197,244,5,5,198,244,5,5,129,246,5,5,130,246,5,5,131,246,5,5,132,246,5,5,133,246,5,5,197,247,5,5,134,246,5,5,198,247,5,5,135,246,5,5,136,246,5,5,199,247,5,5,200,247,5,5,201,247,5,5,202,247,5,5,195,248,5,5,196,248,5,5,107,249,5,5,57,158,5,5,63,161,5,5,239,173,5,5,197,195,5,5,53,225,5,5,58,158,5,5,59,158,5,5,64,161,5,5,65,161,5,5,76,164,5,5,77,164,5,5,78,164,5,5,79,164,5,5,80,164,5,5,169,168,5,5,170,168,5,5,240,173,5,5,241,173,5,5,242,173,5,5,243,173,5,5,244,173,5,5,245,173,5,5,246,173,5,5,102,180,5,5,103,180,5,5,104,180,5,5,105,180,5,5,106,180,5,5,107,180,5,5,108,180,5,5,11,188,5,5,12,188,5,5,13,188,5,5,14,188,5,5,15,188,5,5,16,188,5,5,17,188,5,5,18,188,5,5,19,188,5,5,20,188,5,5,21,188,5,5,22,188,5,5,23,188,5,5,24,188,5,5,25,188,5,5,198,195,5,5,31,188,5,5,199,195,5,5,200,195,5,5,201,195,5,5,202,195,5,5,203,195,5,5,204,195,5,5,205,195,5,5,206,195,5,5,207,195,5,5,208,195,5,5,209,195,5,5,210,195,5,5,211,195,5,5,213,203,5,5,214,203,5,5,212,203,5,5,215,203,5,5,216,203,5,5,217,203,5,5,168,211,5,5,169,211,5,5,170,211,5,5,54,225,5,5,148,218,5,5,149,218,5,5,150,218,5,5,151,218,5,5,152,218,5,5,153,218,5,5,154,218,5,5,55,225,5,5,56,225,5,5,57,225,5,5,58,225,5,5,230,230,5,5,231,230,5,5,232,230,5,5,233,230,5,5,51,239,5,5,89,242,5,5,90,242,5,5,60,158,5,5,82,164,5,5,172,168,5,5,113,180,5,5,114,180,5,5,216,195,5,5,32,188,5,5,33,188,5,5,34,188,5,5,217,195,5,5,218,195,5,5,218,203,5,5,60,225,5,5,144,235,5,5,200,244,5,5,204,247,5,5,61,158,5,5,83,164,5,5,115,180,5,5,116,180,5,5,35,188,5,5,36,188,5,5,219,195,5,5,223,195,5,5,220,203,5,5,171,211,5,5,172,211,5,5,61,225,5,5,234,230,5,5,62,158,5,5,106,159,5,5,174,168,5,5,175,168,5,5,176,168,5,5,177,168,5,5,250,173,5,5,251,173,5,5,37,188,5,5,38,188,5,5,224,195,5,5,225,195,5,5,221,203,5,5,227,195,5,5,173,211,5,5,156,218,5,5,62,225,5,5,235,230,5,5,236,230,5,5,146,235,5,5,108,249,5,5,63,158,5,5,178,168,5,5,179,168,5,5,180,168,5,5,254,173,5,5,255,173,5,5,2,174,5,5,3,174,5,5,117,180,5,5,118,180,5,5,119,180,5,5,120,180,5,5,121,180,5,5,122,180,5,5,39,188,5,5,40,188,5,5,41,188,5,5,123,180,5,5,42,188,5,5,43,188,5,5,44,188,5,5,45,188,5,5,46,188,5,5,228,195,5,5,229,195,5,5,222,203,5,5,223,203,5,5,224,203,5,5,225,203,5,5,175,211,5,5,176,211,5,5,63,225,5,5,64,225,5,5,237,230,5,5,147,235,5,5,52,239,5,5,53,239,5,5,54,239,5,5,91,242,5,5,64,158,5,5,65,158,5,5,5,174,5,5,48,188,5,5,226,203,5,5,67,158,5,5,107,159,5,5,108,159,5,5,66,161,5,5,67,161,5,5,68,161,5,5,69,161,5,5,70,161,5,5,71,161,5,5,72,161,5,5,73,161,5,5,84,164,5,5,85,164,5,5,86,164,5,5,87,164,5,5,88,164,5,5,89,164,5,5,90,164,5,5,91,164,5,5,92,164,5,5,182,168,5,5,183,168,5,5,184,168,5,5,185,168,5,5,186,168,5,5,187,168,5,5,188,168,5,5,189,168,5,5,190,168,5,5,191,168,5,5,192,168,5,5,193,168,5,5,194,168,5,5,195,168,5,5,196,168,5,5,197,168,5,5,198,168,5,5,199,168,5,5,200,168,5,5,201,168,5,5,202,168,5,5,203,168,5,5,204,168,5,5,205,168,5,5,206,168,5,5,207,168,5,5,208,168,5,5,209,168,5,5,210,168,5,5,211,168,5,5,212,168,5,5,213,168,5,5,214,168,5,5,6,174,5,5,7,174,5,5,8,174,5,5,9,174,5,5,10,174,5,5,11,174,5,5,12,174,5,5,13,174,5,5,14,174,5,5,15,174,5,5,16,174,5,5,17,174,5,5,18,174,5,5,19,174,5,5,20,174,5,5,21,174,5,5,22,174,5,5,23,174,5,5,24,174,5,5,25,174,5,5,26,174,5,5,27,174,5,5,28,174,5,5,29,174,5,5,30,174,5,5,31,174,5,5,32,174,5,5,33,174,5,5,34,174,5,5,35,174,5,5,36,174,5,5,37,174,5,5,38,174,5,5,39,174,5,5,40,174,5,5,41,174,5,5,42,174,5,5,43,174,5,5,125,180,5,5,126,180,5,5,127,180,5,5,128,180,5,5,129,180,5,5,130,180,5,5,131,180,5,5,132,180,5,5,133,180,5,5,134,180,5,5,135,180,5,5,136,180,5,5,137,180,5,5,138,180,5,5,139,180,5,5,140,180,5,5,141,180,5,5,142,180,5,5,143,180,5,5,144,180,5,5,145,180,5,5,146,180,5,5,147,180,5,5,50,188,5,5,51,188,5,5,52,188,5,5,53,188,5,5,54,188,5,5,55,188,5,5,56,188,5,5,57,188,5,5,150,180,5,5,151,180,5,5,58,188,5,5,59,188,5,5,60,188,5,5,61,188,5,5,62,188,5,5,63,188,5,5,64,188,5,5,65,188,5,5,66,188,5,5,231,195,5,5,232,195,5,5,233,195,5,5,234,195,5,5,235,195,5,5,236,195,5,5,237,195,5,5,238,195,5,5,239,195,5,5,240,195,5,5,241,195,5,5,242,195,5,5,243,195,5,5,244,195,5,5,227,203,5,5,245,195,5,5,246,195,5,5,247,195,5,5,248,195,5,5,249,195,5,5,250,195,5,5,251,195,5,5,252,195,5,5,253,195,5,5,254,195,5,5,255,195,5,5,228,203,5,5,229,203,5,5,230,203,5,5,231,203,5,5,232,203,5,5,233,203,5,5,234,203,5,5,235,203,5,5,236,203,5,5,237,203,5,5,238,203,5,5,239,203,5,5,240,203,5,5,2,196,5,5,241,203,5,5,242,203,5,5,243,203,5,5,244,203,5,5,245,203,5,5,246,203,5,5,247,203,5,5,248,203,5,5,177,211,5,5,178,211,5,5,179,211,5,5,180,211,5,5,181,211,5,5,182,211,5,5,183,211,5,5,184,211,5,5,185,211,5,5,186,211,5,5,187,211,5,5,188,211,5,5,189,211,5,5,190,211,5,5,191,211,5,5,158,218,5,5,159,218,5,5,160,218,5,5,161,218,5,5,162,218,5,5,163,218,5,5,164,218,5,5,165,218,5,5,166,218,5,5,167,218,5,5,168,218,5,5,169,218,5,5,170,218,5,5,171,218,5,5,172,218,5,5,65,225,5,5,66,225,5,5,67,225,5,5,68,225,5,5,181,218,5,5,69,225,5,5,70,225,5,5,71,225,5,5,72,225,5,5,73,225,5,5,74,225,5,5,75,225,5,5,76,225,5,5,77,225,5,5,78,225,5,5,79,225,5,5,80,225,5,5,81,225,5,5,82,225,5,5,83,225,5,5,84,225,5,5,85,225,5,5,238,230,5,5,100,225,5,5,239,230,5,5,240,230,5,5,241,230,5,5,242,230,5,5,243,230,5,5,244,230,5,5,245,230,5,5,246,230,5,5,148,235,5,5,252,230,5,5,247,230,5,5,149,235,5,5,150,235,5,5,55,239,5,5,56,239,5,5,57,239,5,5,58,239,5,5,59,239,5,5,60,239,5,5,92,242,5,5,93,242,5,5,94,242,5,5,95,242,5,5,96,242,5,5,97,242,5,5,201,244,5,5,205,247,5,5,206,247,5,5,207,247,5,5,197,248,5,5,198,248,5,5,109,249,5,5,68,158,5,5,110,159,5,5,74,161,5,5,75,161,5,5,93,164,5,5,94,164,5,5,215,168,5,5,48,174,5,5,152,180,5,5,73,188,5,5,153,180,5,5,154,180,5,5,74,188,5,5,67,188,5,5,11,196,5,5,12,196,5,5,165,193,5,5,13,196,5,5,14,196,5,5,13,204,5,5,199,211,5,5,200,211,5,5,101,225,5,5,203,244,5,5,70,158,5,5,77,161,5,5,216,168,5,5,217,168,5,5,218,168,5,5,219,168,5,5,49,174,5,5,50,174,5,5,51,174,5,5,128,176,5,5,155,180,5,5,156,180,5,5,157,180,5,5,158,180,5,5,75,188,5,5,161,180,5,5,76,188,5,5,77,188,5,5,78,188,5,5,79,188,5,5,15,196,5,5,16,196,5,5,17,196,5,5,18,196,5,5,14,204,5,5,221,206,5,5,201,211,5,5,103,225,5,5,104,225,5,5,105,227,5,5,159,235,5,5,100,242,5,5,71,158,5,5,72,158,5,5,111,159,5,5,112,159,5,5,113,159,5,5,114,159,5,5,115,159,5,5,116,159,5,5,117,159,5,5,78,161,5,5,79,161,5,5,80,161,5,5,81,161,5,5,82,161,5,5,83,161,5,5,84,161,5,5,85,161,5,5,86,161,5,5,87,161,5,5,88,161,5,5,89,161,5,5,90,161,5,5,91,161,5,5,92,161,5,5,93,161,5,5,94,161,5,5,95,161,5,5,96,161,5,5,95,164,5,5,96,164,5,5,97,164,5,5,98,164,5,5,99,164,5,5,100,164,5,5,101,164,5,5,102,164,5,5,103,164,5,5,104,164,5,5,105,164,5,5,106,164,5,5,107,164,5,5,108,164,5,5,109,164,5,5,110,164,5,5,111,164,5,5,112,164,5,5,113,164,5,5,114,164,5,5,115,164,5,5,116,164,5,5,117,164,5,5,118,164,5,5,119,164,5,5,120,164,5,5,121,164,5,5,122,164,5,5,123,164,5,5,124,164,5,5,125,164,5,5,126,164,5,5,127,164,5,5,128,164,5,5,129,164,5,5,130,164,5,5,131,164,5,5,132,164,5,5,221,168,5,5,222,168,5,5,223,168,5,5,224,168,5,5,225,168,5,5,226,168,5,5,227,168,5,5,228,168,5,5,229,168,5,5,230,168,5,5,231,168,5,5,232,168,5,5,233,168,5,5,234,168,5,5,235,168,5,5,236,168,5,5,237,168,5,5,238,168,5,5,239,168,5,5,240,168,5,5,241,168,5,5,242,168,5,5,243,168,5,5,133,164,5,5,244,168,5,5,245,168,5,5,246,168,5,5,247,168,5,5,248,168,5,5,249,168,5,5,250,168,5,5,251,168,5,5,252,168,5,5,253,168,5,5,254,168,5,5,255,168,5,5,2,169,5,5,3,169,5,5,4,169,5,5,5,169,5,5,6,169,5,5,7,169,5,5,8,169,5,5,9,169,5,5,10,169,5,5,11,169,5,5,12,169,5,5,13,169,5,5,14,169,5,5,15,169,5,5,16,169,5,5,17,169,5,5,18,169,5,5,19,169,5,5,20,169,5,5,21,169,5,5,22,169,5,5,23,169,5,5,24,169,5,5,25,169,5,5,26,169,5,5,27,169,5,5,28,169,5,5,29,169,5,5,30,169,5,5,31,169,5,5,32,169,5,5,33,169,5,5,52,174,5,5,53,174,5,5,54,174,5,5,55,174,5,5,56,174,5,5,57,174,5,5,58,174,5,5,59,174,5,5,60,174,5,5,61,174,5,5,62,174,5,5,63,174,5,5,64,174,5,5,65,174,5,5,66,174,5,5,162,180,5,5,67,174,5,5,68,174,5,5,69,174,5,5,70,174,5,5,71,174,5,5,72,174,5,5,73,174,5,5,74,174,5,5,75,174,5,5,76,174,5,5,77,174,5,5,78,174,5,5,79,174,5,5,80,174,5,5,81,174,5,5,82,174,5,5,83,174,5,5,84,174,5,5,85,174,5,5,86,174,5,5,87,174,5,5,88,174,5,5,89,174,5,5,90,174,5,5,91,174,5,5,92,174,5,5,93,174,5,5,94,174,5,5,95,174,5,5,96,174,5,5,97,174,5,5,98,174,5,5,99,174,5,5,100,174,5,5,101,174,5,5,163,180,5,5,102,174,5,5,103,174,5,5,104,174,5,5,105,174,5,5,106,174,5,5,107,174,5,5,108,174,5,5,109,174,5,5,110,174,5,5,111,174,5,5,112,174,5,5,113,174,5,5,114,174,5,5,115,174,5,5,116,174,5,5,117,174,5,5,118,174,5,5,119,174,5,5,164,180,5,5,120,174,5,5,121,174,5,5,122,174,5,5,123,174,5,5,52,169,5,5,124,174,5,5,125,174,5,5,126,174,5,5,127,174,5,5,128,174,5,5,129,174,5,5,130,174,5,5,131,174,5,5,132,174,5,5,133,174,5,5,134,174,5,5,135,174,5,5,136,174,5,5,137,174,5,5,138,174,5,5,139,174,5,5,140,174,5,5,141,174,5,5,142,174,5,5,143,174,5,5,144,174,5,5,145,174,5,5,146,174,5,5,147,174,5,5,165,180,5,5,166,180,5,5,167,180,5,5,168,180,5,5,169,180,5,5,170,180,5,5,171,180,5,5,172,180,5,5,173,180,5,5,174,180,5,5,175,180,5,5,176,180,5,5,177,180,5,5,178,180,5,5,179,180,5,5,180,180,5,5,181,180,5,5,182,180,5,5,183,180,5,5,184,180,5,5,185,180,5,5,186,180,5,5,187,180,5,5,188,180,5,5,189,180,5,5,190,180,5,5,191,180,5,5,192,180,5,5,193,180,5,5,194,180,5,5,195,180,5,5,196,180,5,5,197,180,5,5,198,180,5,5,199,180,5,5,200,180,5,5,201,180,5,5,202,180,5,5,203,180,5,5,204,180,5,5,205,180,5,5,206,180,5,5,207,180,5,5,208,180,5,5,209,180,5,5,210,180,5,5,211,180,5,5,212,180,5,5,213,180,5,5,214,180,5,5,215,180,5,5,216,180,5,5,217,180,5,5,218,180,5,5,219,180,5,5,220,180,5,5,221,180,5,5,222,180,5,5,223,180,5,5,224,180,5,5,225,180,5,5,226,180,5,5,227,180,5,5,228,180,5,5,155,174,5,5,229,180,5,5,230,180,5,5,231,180,5,5,232,180,5,5,233,180,5,5,234,180,5,5,235,180,5,5,236,180,5,5,237,180,5,5,238,180,5,5,239,180,5,5,240,180,5,5,241,180,5,5,242,180,5,5,243,180,5,5,244,180,5,5,245,180,5,5,246,180,5,5,247,180,5,5,248,180,5,5,249,180,5,5,250,180,5,5,251,180,5,5,252,180,5,5,82,188,5,5,83,188,5,5,84,188,5,5,85,188,5,5,86,188,5,5,87,188,5,5,88,188,5,5,89,188,5,5,90,188,5,5,91,188,5,5,92,188,5,5,93,188,5,5,94,188,5,5,95,188,5,5,96,188,5,5,97,188,5,5,98,188,5,5,99,188,5,5,100,188,5,5,101,188,5,5,102,188,5,5,103,188,5,5,104,188,5,5,105,188,5,5,106,188,5,5,107,188,5,5,108,188,5,5,109,188,5,5,110,188,5,5,111,188,5,5,112,188,5,5,113,188,5,5,114,188,5,5,115,188,5,5,116,188,5,5,117,188,5,5,118,188,5,5,119,188,5,5,120,188,5,5,121,188,5,5,122,188,5,5,123,188,5,5,124,188,5,5,125,188,5,5,126,188,5,5,127,188,5,5,128,188,5,5,129,188,5,5,130,188,5,5,131,188,5,5,132,188,5,5,133,188,5,5,134,188,5,5,135,188,5,5,136,188,5,5,137,188,5,5,138,188,5,5,139,188,5,5,140,188,5,5,141,188,5,5,142,188,5,5,143,188,5,5,144,188,5,5,145,188,5,5,146,188,5,5,147,188,5,5,148,188,5,5,149,188,5,5,150,188,5,5,151,188,5,5,152,188,5,5,153,188,5,5,154,188,5,5,20,196,5,5,155,188,5,5,156,188,5,5,157,188,5,5,158,188,5,5,159,188,5,5,160,188,5,5,161,188,5,5,162,188,5,5,163,188,5,5,164,188,5,5,165,188,5,5,166,188,5,5,167,188,5,5,168,188,5,5,21,196,5,5,22,196,5,5,23,196,5,5,24,196,5,5,25,196,5,5,26,196,5,5,27,196,5,5,28,196,5,5,29,196,5,5,30,196,5,5,31,196,5,5,32,196,5,5,33,196,5,5,34,196,5,5,35,196,5,5,36,196,5,5,37,196,5,5,38,196,5,5,39,196,5,5,40,196,5,5,41,196,5,5,42,196,5,5,43,196,5,5,44,196,5,5,45,196,5,5,46,196,5,5,47,196,5,5,48,196,5,5,49,196,5,5,50,196,5,5,51,196,5,5,52,196,5,5,53,196,5,5,54,196,5,5,55,196,5,5,56,196,5,5,57,196,5,5,58,196,5,5,59,196,5,5,60,196,5,5,61,196,5,5,62,196,5,5,63,196,5,5,64,196,5,5,65,196,5,5,66,196,5,5,67,196,5,5,68,196,5,5,69,196,5,5,70,196,5,5,71,196,5,5,72,196,5,5,73,196,5,5,74,196,5,5,75,196,5,5,76,196,5,5,77,196,5,5,78,196,5,5,79,196,5,5,80,196,5,5,81,196,5,5,82,196,5,5,83,196,5,5,84,196,5,5,85,196,5,5,86,196,5,5,87,196,5,5,88,196,5,5,89,196,5,5,90,196,5,5,91,196,5,5,92,196,5,5,93,196,5,5,94,196,5,5,95,196,5,5,96,196,5,5,97,196,5,5,98,196,5,5,99,196,5,5,100,196,5,5,101,196,5,5,102,196,5,5,103,196,5,5,104,196,5,5,105,196,5,5,106,196,5,5,107,196,5,5,108,196,5,5,109,196,5,5,110,196,5,5,111,196,5,5,112,196,5,5,113,196,5,5,114,196,5,5,115,196,5,5,116,196,5,5,117,196,5,5,118,196,5,5,119,196,5,5,120,196,5,5,121,196,5,5,122,196,5,5,123,196,5,5,124,196,5,5,125,196,5,5,126,196,5,5,127,196,5,5,128,196,5,5,16,204,5,5,17,204,5,5,18,204,5,5,19,204,5,5,20,204,5,5,21,204,5,5,22,204,5,5,23,204,5,5,24,204,5,5,25,204,5,5,26,204,5,5,27,204,5,5,28,204,5,5,29,204,5,5,30,204,5,5,31,204,5,5,32,204,5,5,33,204,5,5,34,204,5,5,35,204,5,5,36,204,5,5,37,204,5,5,38,204,5,5,39,204,5,5,40,204,5,5,41,204,5,5,42,204,5,5,43,204,5,5,44,204,5,5,45,204,5,5,46,204,5,5,47,204,5,5,48,204,5,5,49,204,5,5,50,204,5,5,51,204,5,5,52,204,5,5,53,204,5,5,54,204,5,5,184,188,5,5,55,204,5,5,56,204,5,5,57,204,5,5,58,204,5,5,59,204,5,5,60,204,5,5,61,204,5,5,62,204,5,5,63,204,5,5,64,204,5,5,65,204,5,5,66,204,5,5,67,204,5,5,68,204,5,5,69,204,5,5,70,204,5,5,71,204,5,5,72,204,5,5,73,204,5,5,74,204,5,5,75,204,5,5,76,204,5,5,77,204,5,5,142,196,5,5,78,204,5,5,143,196,5,5,79,204,5,5,80,204,5,5,81,204,5,5,82,204,5,5,83,204,5,5,84,204,5,5,85,204,5,5,86,204,5,5,87,204,5,5,88,204,5,5,89,204,5,5,90,204,5,5,91,204,5,5,92,204,5,5,93,204,5,5,94,204,5,5,95,204,5,5,96,204,5,5,97,204,5,5,98,204,5,5,99,204,5,5,100,204,5,5,101,204,5,5,102,204,5,5,103,204,5,5,203,211,5,5,104,204,5,5,105,204,5,5,204,211,5,5,205,211,5,5,206,211,5,5,207,211,5,5,208,211,5,5,209,211,5,5,210,211,5,5,106,204,5,5,211,211,5,5,212,211,5,5,213,211,5,5,107,204,5,5,214,211,5,5,215,211,5,5,216,211,5,5,217,211,5,5,218,211,5,5,219,211,5,5,220,211,5,5,221,211,5,5,222,211,5,5,223,211,5,5,224,211,5,5,225,211,5,5,226,211,5,5,227,211,5,5,228,211,5,5,229,211,5,5,230,211,5,5,231,211,5,5,232,211,5,5,233,211,5,5,234,211,5,5,235,211,5,5,236,211,5,5,237,211,5,5,238,211,5,5,239,211,5,5,240,211,5,5,241,211,5,5,242,211,5,5,243,211,5,5,244,211,5,5,245,211,5,5,246,211,5,5,247,211,5,5,248,211,5,5,249,211,5,5,250,211,5,5,251,211,5,5,252,211,5,5,253,211,5,5,254,211,5,5,255,211,5,5,2,212,5,5,3,212,5,5,4,212,5,5,5,212,5,5,6,212,5,5,7,212,5,5,8,212,5,5,9,212,5,5,10,212,5,5,11,212,5,5,12,212,5,5,13,212,5,5,14,212,5,5,15,212,5,5,16,212,5,5,17,212,5,5,18,212,5,5,19,212,5,5,20,212,5,5,21,212,5,5,22,212,5,5,23,212,5,5,24,212,5,5,25,212,5,5,26,212,5,5,27,212,5,5,28,212,5,5,29,212,5,5,30,212,5,5,31,212,5,5,32,212,5,5,187,218,5,5,188,218,5,5,189,218,5,5,190,218,5,5,191,218,5,5,192,218,5,5,193,218,5,5,186,218,5,5,194,218,5,5,195,218,5,5,196,218,5,5,197,218,5,5,198,218,5,5,199,218,5,5,200,218,5,5,201,218,5,5,202,218,5,5,203,218,5,5,204,218,5,5,205,218,5,5,206,218,5,5,207,218,5,5,208,218,5,5,209,218,5,5,210,218,5,5,211,218,5,5,212,218,5,5,213,218,5,5,214,218,5,5,215,218,5,5,216,218,5,5,217,218,5,5,218,218,5,5,42,212,5,5,219,218,5,5,220,218,5,5,221,218,5,5,222,218,5,5,223,218,5,5,224,218,5,5,225,218,5,5,226,218,5,5,227,218,5,5,228,218,5,5,229,218,5,5,230,218,5,5,231,218,5,5,232,218,5,5,233,218,5,5,234,218,5,5,235,218,5,5,236,218,5,5,237,218,5,5,238,218,5,5,239,218,5,5,240,218,5,5,241,218,5,5,242,218,5,5,243,218,5,5,244,218,5,5,245,218,5,5,246,218,5,5,247,218,5,5,248,218,5,5,249,218,5,5,250,218,5,5,251,218,5,5,252,218,5,5,253,218,5,5,254,218,5,5,106,225,5,5,255,218,5,5,2,219,5,5,3,219,5,5,4,219,5,5,5,219,5,5,33,212,5,5,6,219,5,5,7,219,5,5,8,219,5,5,108,225,5,5,109,225,5,5,110,225,5,5,111,225,5,5,112,225,5,5,113,225,5,5,114,225,5,5,115,225,5,5,116,225,5,5,117,225,5,5,118,225,5,5,119,225,5,5,120,225,5,5,121,225,5,5,122,225,5,5,123,225,5,5,124,225,5,5,125,225,5,5,126,225,5,5,127,225,5,5,128,225,5,5,129,225,5,5,130,225,5,5,131,225,5,5,132,225,5,5,133,225,5,5,134,225,5,5,135,225,5,5,136,225,5,5,137,225,5,5,138,225,5,5,139,225,5,5,140,225,5,5,141,225,5,5,142,225,5,5,143,225,5,5,144,225,5,5,145,225,5,5,146,225,5,5,147,225,5,5,148,225,5,5,149,225,5,5,150,225,5,5,151,225,5,5,152,225,5,5,153,225,5,5,154,225,5,5,155,225,5,5,156,225,5,5,157,225,5,5,158,225,5,5,9,219,5,5,159,225,5,5,160,225,5,5,161,225,5,5,162,225,5,5,163,225,5,5,164,225,5,5,165,225,5,5,166,225,5,5,167,225,5,5,168,225,5,5,169,225,5,5,170,225,5,5,171,225,5,5,172,225,5,5,107,225,5,5,173,225,5,5,174,225,5,5,175,225,5,5,176,225,5,5,177,225,5,5,178,225,5,5,179,225,5,5,180,225,5,5,255,230,5,5,2,231,5,5,3,231,5,5,4,231,5,5,5,231,5,5,6,231,5,5,7,231,5,5,8,231,5,5,9,231,5,5,10,231,5,5,11,231,5,5,12,231,5,5,13,231,5,5,14,231,5,5,15,231,5,5,16,231,5,5,17,231,5,5,18,231,5,5,19,231,5,5,20,231,5,5,21,231,5,5,22,231,5,5,23,231,5,5,24,231,5,5,25,231,5,5,26,231,5,5,27,231,5,5,28,231,5,5,29,231,5,5,30,231,5,5,31,231,5,5,32,231,5,5,33,231,5,5,34,231,5,5,35,231,5,5,36,231,5,5,37,231,5,5,38,231,5,5,39,231,5,5,40,231,5,5,41,231,5,5,42,231,5,5,43,231,5,5,44,231,5,5,45,231,5,5,46,231,5,5,160,235,5,5,161,235,5,5,162,235,5,5,163,235,5,5,164,235,5,5,165,235,5,5,166,235,5,5,167,235,5,5,168,235,5,5,169,235,5,5,170,235,5,5,171,235,5,5,172,235,5,5,173,235,5,5,174,235,5,5,175,235,5,5,176,235,5,5,177,235,5,5,178,235,5,5,179,235,5,5,180,235,5,5,181,235,5,5,182,235,5,5,183,235,5,5,184,235,5,5,185,235,5,5,186,235,5,5,187,235,5,5,188,235,5,5,189,235,5,5,190,235,5,5,191,235,5,5,63,239,5,5,64,239,5,5,65,239,5,5,66,239,5,5,67,239,5,5,68,239,5,5,69,239,5,5,70,239,5,5,71,239,5,5,72,239,5,5,73,239,5,5,74,239,5,5,75,239,5,5,76,239,5,5,77,239,5,5,78,239,5,5,57,231,5,5,79,239,5,5,80,239,5,5,81,239,5,5,82,239,5,5,83,239,5,5,194,235,5,5,84,239,5,5,85,239,5,5,86,239,5,5,87,239,5,5,88,239,5,5,97,239,5,5,101,242,5,5,102,242,5,5,103,242,5,5,89,239,5,5,104,242,5,5,195,235,5,5,105,242,5,5,106,242,5,5,107,242,5,5,108,242,5,5,109,242,5,5,110,242,5,5,111,242,5,5,112,242,5,5,113,242,5,5,141,246,5,5,204,244,5,5,121,242,5,5,205,244,5,5,206,244,5,5,207,244,5,5,208,244,5,5,209,244,5,5,210,244,5,5,211,244,5,5,212,244,5,5,213,244,5,5,214,244,5,5,215,244,5,5,216,244,5,5,142,246,5,5,143,246,5,5,144,246,5,5,145,246,5,5,146,246,5,5,147,246,5,5,217,244,5,5,148,246,5,5,149,246,5,5,209,247,5,5,210,247,5,5,211,247,5,5,212,247,5,5,199,248,5,5,200,248,5,5,201,248,5,5,111,249,5,5,112,249,5,5,113,249,5,5,114,249,5,5,115,249,5,5,116,249,5,5,224,249,5,5,117,249,5,5,89,250,5,5,90,250,5,5,74,158,5,5,98,161,5,5,99,161,5,5,53,169,5,5,140,164,5,5,54,169,5,5,55,169,5,5,56,169,5,5,156,174,5,5,157,174,5,5,158,174,5,5,19,181,5,5,20,181,5,5,21,181,5,5,22,181,5,5,23,181,5,5,24,181,5,5,25,181,5,5,185,188,5,5,186,188,5,5,26,181,5,5,187,188,5,5,188,188,5,5,189,188,5,5,190,188,5,5,145,196,5,5,146,196,5,5,147,196,5,5,148,196,5,5,149,196,5,5,150,196,5,5,151,196,5,5,117,204,5,5,118,204,5,5,119,204,5,5,120,204,5,5,121,204,5,5,122,204,5,5,123,204,5,5,124,204,5,5,125,204,5,5,43,212,5,5,44,212,5,5,45,212,5,5,46,212,5,5,47,212,5,5,20,219,5,5,21,219,5,5,22,219,5,5,23,219,5,5,24,219,5,5,25,219,5,5,190,225,5,5,191,225,5,5,192,225,5,5,193,225,5,5,194,225,5,5,195,225,5,5,196,225,5,5,58,231,5,5,59,231,5,5,60,231,5,5,196,235,5,5,197,235,5,5,98,239,5,5,151,246,5,5,75,158,5,5,118,159,5,5,100,161,5,5,141,164,5,5,58,169,5,5,59,169,5,5,60,169,5,5,61,169,5,5,160,174,5,5,161,174,5,5,27,181,5,5,28,181,5,5,152,196,5,5,153,196,5,5,48,212,5,5,128,204,5,5,129,204,5,5,130,204,5,5,49,212,5,5,26,219,5,5,27,219,5,5,197,225,5,5,198,235,5,5,77,158,5,5,119,159,5,5,101,161,5,5,143,164,5,5,62,169,5,5,63,169,5,5,64,169,5,5,65,169,5,5,66,169,5,5,163,174,5,5,164,174,5,5,165,174,5,5,166,174,5,5,167,174,5,5,168,174,5,5,29,181,5,5,30,181,5,5,31,181,5,5,32,181,5,5,192,188,5,5,193,188,5,5,194,188,5,5,195,188,5,5,196,188,5,5,197,188,5,5,198,188,5,5,199,188,5,5,154,196,5,5,155,196,5,5,156,196,5,5,157,196,5,5,158,196,5,5,159,196,5,5,160,196,5,5,131,204,5,5,132,204,5,5,50,212,5,5,51,212,5,5,52,212,5,5,53,212,5,5,54,212,5,5,28,219,5,5,29,219,5,5,30,219,5,5,31,219,5,5,32,219,5,5,198,225,5,5,199,225,5,5,200,225,5,5,201,225,5,5,202,225,5,5,62,231,5,5,63,231,5,5,64,231,5,5,199,235,5,5,99,239,5,5,100,239,5,5,219,244,5,5,78,158,5,5,67,169,5,5,169,174,5,5,170,174,5,5,34,181,5,5,201,188,5,5,202,188,5,5,203,188,5,5,204,188,5,5,165,196,5,5,166,196,5,5,167,196,5,5,134,204,5,5,135,204,5,5,136,204,5,5,137,204,5,5,55,212,5,5,56,212,5,5,35,219,5,5,36,219,5,5,203,225,5,5,204,225,5,5,200,235,5,5,214,247,5,5,79,158,5,5,80,158,5,5,120,159,5,5,102,161,5,5,145,164,5,5,146,164,5,5,68,169,5,5,171,174,5,5,139,204,5,5,81,158,5,5,103,161,5,5,172,174,5,5,173,174,5,5,174,174,5,5,35,181,5,5,65,231,5,5,82,158,5,5,148,164,5,5,149,164,5,5,69,169,5,5,70,169,5,5,176,174,5,5,177,174,5,5,36,181,5,5,37,181,5,5,38,181,5,5,39,181,5,5,40,181,5,5,41,181,5,5,42,181,5,5,43,181,5,5,44,181,5,5,205,188,5,5,206,188,5,5,207,188,5,5,208,188,5,5,168,196,5,5,169,196,5,5,170,196,5,5,171,196,5,5,172,196,5,5,173,196,5,5,174,196,5,5,175,196,5,5,140,204,5,5,141,204,5,5,142,204,5,5,143,204,5,5,144,204,5,5,145,204,5,5,146,204,5,5,58,212,5,5,37,219,5,5,38,219,5,5,39,219,5,5,40,219,5,5,205,225,5,5,206,225,5,5,207,225,5,5,208,225,5,5,209,225,5,5,66,231,5,5,67,231,5,5,68,231,5,5,201,235,5,5,102,239,5,5,152,246,5,5,225,249,5,5,83,158,5,5,121,159,5,5,122,159,5,5,104,161,5,5,71,169,5,5,84,158,5,5,123,159,5,5,105,161,5,5,106,161,5,5,107,161,5,5,150,164,5,5,151,164,5,5,72,169,5,5,73,169,5,5,74,169,5,5,179,174,5,5,180,174,5,5,181,174,5,5,182,174,5,5,183,174,5,5,45,181,5,5,46,181,5,5,47,181,5,5,48,181,5,5,49,181,5,5,50,181,5,5,51,181,5,5,209,188,5,5,210,188,5,5,176,196,5,5,177,196,5,5,178,196,5,5,179,196,5,5,180,196,5,5,147,204,5,5,59,212,5,5,60,212,5,5,85,158,5,5,148,157,5,5,125,159,5,5,126,159,5,5,127,159,5,5,128,159,5,5,124,159,5,5,129,159,5,5,108,161,5,5,65,160,5,5,130,159,5,5,131,159,5,5,132,159,5,5,133,159,5,5,152,164,5,5,134,159,5,5,135,159,5,5,136,159,5,5,109,161,5,5,137,159,5,5,138,159,5,5,139,159,5,5,110,161,5,5,111,161,5,5,112,161,5,5,113,161,5,5,114,161,5,5,115,161,5,5,116,161,5,5,117,161,5,5,118,161,5,5,119,161,5,5,120,161,5,5,121,161,5,5,153,164,5,5,122,161,5,5,123,161,5,5,124,161,5,5,125,161,5,5,126,161,5,5,127,161,5,5,128,161,5,5,154,164,5,5,129,161,5,5,130,161,5,5,131,161,5,5,132,161,5,5,133,161,5,5,134,161,5,5,155,164,5,5,156,164,5,5,157,164,5,5,158,164,5,5,159,164,5,5,160,164,5,5,161,164,5,5,75,169,5,5,162,164,5,5,163,164,5,5,164,164,5,5,165,164,5,5,166,164,5,5,167,164,5,5,168,164,5,5,169,164,5,5,170,164,5,5,171,164,5,5,135,161,5,5,172,164,5,5,173,164,5,5,174,164,5,5,175,164,5,5,176,164,5,5,177,164,5,5,178,164,5,5,179,164,5,5,76,169,5,5,180,164,5,5,181,164,5,5,182,164,5,5,183,164,5,5,184,164,5,5,185,164,5,5,186,164,5,5,187,164,5,5,188,164,5,5,77,169,5,5,189,164,5,5,190,164,5,5,191,164,5,5,192,164,5,5,193,164,5,5,194,164,5,5,195,164,5,5,196,164,5,5,78,169,5,5,197,164,5,5,198,164,5,5,199,164,5,5,184,174,5,5,200,164,5,5,201,164,5,5,202,164,5,5,203,164,5,5,204,164,5,5,79,169,5,5,205,164,5,5,206,164,5,5,207,164,5,5,208,164,5,5,209,164,5,5,210,164,5,5,211,164,5,5,212,164,5,5,213,164,5,5,214,164,5,5,215,164,5,5,216,164,5,5,217,164,5,5,80,169,5,5,81,169,5,5,82,169,5,5,83,169,5,5,185,174,5,5,84,169,5,5,85,169,5,5,86,169,5,5,87,169,5,5,88,169,5,5,89,169,5,5,90,169,5,5,91,169,5,5,92,169,5,5,93,169,5,5,94,169,5,5,95,169,5,5,96,169,5,5,97,169,5,5,98,169,5,5,99,169,5,5,100,169,5,5,101,169,5,5,102,169,5,5,103,169,5,5,104,169,5,5,105,169,5,5,106,169,5,5,107,169,5,5,108,169,5,5,186,174,5,5,109,169,5,5,110,169,5,5,111,169,5,5,112,169,5,5,113,169,5,5,114,169,5,5,115,169,5,5,116,169,5,5,117,169,5,5,118,169,5,5,119,169,5,5,120,169,5,5,121,169,5,5,122,169,5,5,123,169,5,5,124,169,5,5,189,174,5,5,125,169,5,5,126,169,5,5,127,169,5,5,128,169,5,5,129,169,5,5,130,169,5,5,131,169,5,5,132,169,5,5,133,169,5,5,134,169,5,5,135,169,5,5,136,169,5,5,137,169,5,5,138,169,5,5,139,169,5,5,140,169,5,5,141,169,5,5,142,169,5,5,143,169,5,5,144,169,5,5,145,169,5,5,52,181,5,5,146,169,5,5,147,169,5,5,148,169,5,5,187,174,5,5,228,175,5,5,188,174,5,5,149,169,5,5,150,169,5,5,151,169,5,5,152,169,5,5,153,169,5,5,154,169,5,5,155,169,5,5,156,169,5,5,190,174,5,5,191,174,5,5,192,174,5,5,193,174,5,5,194,174,5,5,195,174,5,5,196,174,5,5,197,174,5,5,198,174,5,5,199,174,5,5,200,174,5,5,201,174,5,5,202,174,5,5,203,174,5,5,56,181,5,5,204,174,5,5,205,174,5,5,206,174,5,5,207,174,5,5,208,174,5,5,209,174,5,5,210,174,5,5,211,174,5,5,57,181,5,5,212,174,5,5,213,174,5,5,214,174,5,5,215,174,5,5,216,174,5,5,53,181,5,5,217,174,5,5,218,174,5,5,219,174,5,5,220,174,5,5,221,174,5,5,222,174,5,5,223,174,5,5,224,174,5,5,225,174,5,5,226,174,5,5,227,174,5,5,228,174,5,5,229,174,5,5,230,174,5,5,231,174,5,5,232,174,5,5,233,174,5,5,234,174,5,5,54,181,5,5,165,169,5,5,235,174,5,5,236,174,5,5,237,174,5,5,238,174,5,5,239,174,5,5,240,174,5,5,241,174,5,5,242,174,5,5,243,174,5,5,244,174,5,5,245,174,5,5,246,174,5,5,247,174,5,5,248,174,5,5,249,174,5,5,250,174,5,5,251,174,5,5,252,174,5,5,253,174,5,5,254,174,5,5,255,174,5,5,55,181,5,5,2,175,5,5,3,175,5,5,4,175,5,5,5,175,5,5,6,175,5,5,7,175,5,5,8,175,5,5,9,175,5,5,10,175,5,5,11,175,5,5,12,175,5,5,13,175,5,5,14,175,5,5,15,175,5,5,16,175,5,5,58,181,5,5,59,181,5,5,60,181,5,5,61,181,5,5,62,181,5,5,63,181,5,5,64,181,5,5,65,181,5,5,66,181,5,5,67,181,5,5,68,181,5,5,69,181,5,5,70,181,5,5,71,181,5,5,72,181,5,5,73,181,5,5,74,181,5,5,75,181,5,5,76,181,5,5,77,181,5,5,78,181,5,5,79,181,5,5,80,181,5,5,81,181,5,5,82,181,5,5,83,181,5,5,84,181,5,5,85,181,5,5,86,181,5,5,87,181,5,5,88,181,5,5,89,181,5,5,90,181,5,5,91,181,5,5,92,181,5,5,93,181,5,5,94,181,5,5,95,181,5,5,96,181,5,5,97,181,5,5,98,181,5,5,99,181,5,5,100,181,5,5,101,181,5,5,102,181,5,5,103,181,5,5,104,181,5,5,105,181,5,5,106,181,5,5,107,181,5,5,108,181,5,5,109,181,5,5,110,181,5,5,111,181,5,5,112,181,5,5,113,181,5,5,212,188,5,5,114,181,5,5,115,181,5,5,116,181,5,5,117,181,5,5,118,181,5,5,119,181,5,5,120,181,5,5,121,181,5,5,122,181,5,5,123,181,5,5,214,188,5,5,124,181,5,5,125,181,5,5,126,181,5,5,127,181,5,5,128,181,5,5,129,181,5,5,130,181,5,5,131,181,5,5,132,181,5,5,133,181,5,5,134,181,5,5,135,181,5,5,136,181,5,5,137,181,5,5,138,181,5,5,139,181,5,5,215,188,5,5,216,188,5,5,217,188,5,5,218,188,5,5,219,188,5,5,220,188,5,5,221,188,5,5,222,188,5,5,223,188,5,5,224,188,5,5,225,188,5,5,226,188,5,5,227,188,5,5,228,188,5,5,229,188,5,5,230,188,5,5,231,188,5,5,232,188,5,5,233,188,5,5,234,188,5,5,235,188,5,5,236,188,5,5,237,188,5,5,238,188,5,5,239,188,5,5,240,188,5,5,241,188,5,5,242,188,5,5,243,188,5,5,244,188,5,5,245,188,5,5,246,188,5,5,247,188,5,5,248,188,5,5,249,188,5,5,250,188,5,5,251,188,5,5,252,188,5,5,253,188,5,5,254,188,5,5,255,188,5,5,2,189,5,5,3,189,5,5,4,189,5,5,5,189,5,5,6,189,5,5,7,189,5,5,8,189,5,5,9,189,5,5,10,189,5,5,11,189,5,5,12,189,5,5,13,189,5,5,14,189,5,5,15,189,5,5,16,189,5,5,17,189,5,5,18,189,5,5,19,189,5,5,20,189,5,5,21,189,5,5,22,189,5,5,23,189,5,5,24,189,5,5,25,189,5,5,26,189,5,5,27,189,5,5,28,189,5,5,29,189,5,5,30,189,5,5,31,189,5,5,32,189,5,5,33,189,5,5,34,189,5,5,35,189,5,5,36,189,5,5,37,189,5,5,38,189,5,5,39,189,5,5,40,189,5,5,41,189,5,5,42,189,5,5,181,196,5,5,43,189,5,5,182,196,5,5,44,189,5,5,45,189,5,5,46,189,5,5,47,189,5,5,183,196,5,5,48,189,5,5,49,189,5,5,50,189,5,5,51,189,5,5,52,189,5,5,53,189,5,5,54,189,5,5,55,189,5,5,56,189,5,5,57,189,5,5,58,189,5,5,59,189,5,5,60,189,5,5,61,189,5,5,62,189,5,5,63,189,5,5,64,189,5,5,65,189,5,5,66,189,5,5,67,189,5,5,184,196,5,5,185,196,5,5,68,189,5,5,186,196,5,5,187,196,5,5,188,196,5,5,189,196,5,5,190,196,5,5,191,196,5,5,192,196,5,5,193,196,5,5,194,196,5,5,195,196,5,5,196,196,5,5,197,196,5,5,198,196,5,5,199,196,5,5,200,196,5,5,201,196,5,5,202,196,5,5,203,196,5,5,204,196,5,5,205,196,5,5,206,196,5,5,207,196,5,5,208,196,5,5,209,196,5,5,210,196,5,5,211,196,5,5,212,196,5,5,213,196,5,5,214,196,5,5,215,196,5,5,216,196,5,5,217,196,5,5,218,196,5,5,219,196,5,5,220,196,5,5,221,196,5,5,222,196,5,5,223,196,5,5,224,196,5,5,225,196,5,5,226,196,5,5,227,196,5,5,228,196,5,5,229,196,5,5,230,196,5,5,231,196,5,5,232,196,5,5,233,196,5,5,234,196,5,5,235,196,5,5,236,196,5,5,237,196,5,5,238,196,5,5,239,196,5,5,240,196,5,5,241,196,5,5,242,196,5,5,243,196,5,5,244,196,5,5,245,196,5,5,246,196,5,5,247,196,5,5,248,196,5,5,249,196,5,5,250,196,5,5,251,196,5,5,252,196,5,5,253,196,5,5,254,196,5,5,255,196,5,5,2,197,5,5,3,197,5,5,4,197,5,5,5,197,5,5,6,197,5,5,7,197,5,5,8,197,5,5,9,197,5,5,10,197,5,5,11,197,5,5,12,197,5,5,148,204,5,5,13,197,5,5,14,197,5,5,15,197,5,5,16,197,5,5,17,197,5,5,18,197,5,5,19,197,5,5,69,189,5,5,20,197,5,5,21,197,5,5,22,197,5,5,23,197,5,5,24,197,5,5,25,197,5,5,26,197,5,5,27,197,5,5,28,197,5,5,29,197,5,5,30,197,5,5,31,197,5,5,32,197,5,5,33,197,5,5,34,197,5,5,35,197,5,5,36,197,5,5,37,197,5,5,38,197,5,5,39,197,5,5,40,197,5,5,41,197,5,5,42,197,5,5,43,197,5,5,149,204,5,5,150,204,5,5,151,204,5,5,152,204,5,5,153,204,5,5,154,204,5,5,155,204,5,5,156,204,5,5,157,204,5,5,158,204,5,5,159,204,5,5,160,204,5,5,161,204,5,5,162,204,5,5,163,204,5,5,164,204,5,5,165,204,5,5,166,204,5,5,167,204,5,5,168,204,5,5,169,204,5,5,170,204,5,5,171,204,5,5,172,204,5,5,173,204,5,5,174,204,5,5,175,204,5,5,176,204,5,5,177,204,5,5,178,204,5,5,179,204,5,5,180,204,5,5,181,204,5,5,182,204,5,5,183,204,5,5,184,204,5,5,185,204,5,5,186,204,5,5,187,204,5,5,188,204,5,5,189,204,5,5,190,204,5,5,191,204,5,5,192,204,5,5,193,204,5,5,194,204,5,5,195,204,5,5,196,204,5,5,197,204,5,5,198,204,5,5,199,204,5,5,200,204,5,5,201,204,5,5,202,204,5,5,203,204,5,5,204,204,5,5,205,204,5,5,206,204,5,5,207,204,5,5,208,204,5,5,209,204,5,5,210,204,5,5,44,197,5,5,62,212,5,5,211,204,5,5,61,212,5,5,212,204,5,5,213,204,5,5,214,204,5,5,215,204,5,5,216,204,5,5,217,204,5,5,41,219,5,5,218,204,5,5,219,204,5,5,220,204,5,5,221,204,5,5,248,204,5,5,222,204,5,5,223,204,5,5,224,204,5,5,45,197,5,5,225,204,5,5,226,204,5,5,227,204,5,5,228,204,5,5,229,204,5,5,230,204,5,5,231,204,5,5,232,204,5,5,233,204,5,5,234,204,5,5,235,204,5,5,236,204,5,5,63,212,5,5,64,212,5,5,65,212,5,5,66,212,5,5,67,212,5,5,68,212,5,5,69,212,5,5,70,212,5,5,71,212,5,5,72,212,5,5,73,212,5,5,74,212,5,5,75,212,5,5,76,212,5,5,77,212,5,5,78,212,5,5,79,212,5,5,80,212,5,5,81,212,5,5,82,212,5,5,83,212,5,5,42,219,5,5,84,212,5,5,85,212,5,5,86,212,5,5,87,212,5,5,88,212,5,5,89,212,5,5,90,212,5,5,91,212,5,5,92,212,5,5,93,212,5,5,47,219,5,5,94,212,5,5,95,212,5,5,96,212,5,5,97,212,5,5,43,219,5,5,98,212,5,5,99,212,5,5,237,204,5,5,100,212,5,5,101,212,5,5,102,212,5,5,103,212,5,5,104,212,5,5,105,212,5,5,106,212,5,5,107,212,5,5,108,212,5,5,109,212,5,5,110,212,5,5,111,212,5,5,112,212,5,5,113,212,5,5,114,212,5,5,115,212,5,5,116,212,5,5,117,212,5,5,44,219,5,5,118,212,5,5,119,212,5,5,120,212,5,5,121,212,5,5,122,212,5,5,123,212,5,5,124,212,5,5,125,212,5,5,126,212,5,5,127,212,5,5,128,212,5,5,129,212,5,5,130,212,5,5,131,212,5,5,132,212,5,5,133,212,5,5,134,212,5,5,135,212,5,5,136,212,5,5,137,212,5,5,138,212,5,5,139,212,5,5,48,219,5,5,140,212,5,5,45,219,5,5,141,212,5,5,46,219,5,5,142,212,5,5,143,212,5,5,144,212,5,5,145,212,5,5,146,212,5,5,147,212,5,5,148,212,5,5,149,212,5,5,150,212,5,5,151,212,5,5,152,212,5,5,153,212,5,5,165,212,5,5,49,219,5,5,50,219,5,5,51,219,5,5,52,219,5,5,53,219,5,5,54,219,5,5,55,219,5,5,56,219,5,5,57,219,5,5,58,219,5,5,59,219,5,5,60,219,5,5,61,219,5,5,62,219,5,5,63,219,5,5,210,225,5,5,64,219,5,5,65,219,5,5,66,219,5,5,67,219,5,5,68,219,5,5,69,219,5,5,70,219,5,5,71,219,5,5,72,219,5,5,73,219,5,5,74,219,5,5,75,219,5,5,76,219,5,5,77,219,5,5,78,219,5,5,79,219,5,5,80,219,5,5,81,219,5,5,82,219,5,5,83,219,5,5,166,212,5,5,84,219,5,5,85,219,5,5,86,219,5,5,87,219,5,5,88,219,5,5,89,219,5,5,90,219,5,5,91,219,5,5,92,219,5,5,93,219,5,5,94,219,5,5,95,219,5,5,71,231,5,5,96,219,5,5,97,219,5,5,211,225,5,5,98,219,5,5,99,219,5,5,100,219,5,5,101,219,5,5,102,219,5,5,103,219,5,5,104,219,5,5,105,219,5,5,106,219,5,5,107,219,5,5,108,219,5,5,109,219,5,5,110,219,5,5,111,219,5,5,112,219,5,5,113,219,5,5,114,219,5,5,115,219,5,5,116,219,5,5,117,219,5,5,118,219,5,5,212,225,5,5,119,219,5,5,120,219,5,5,121,219,5,5,122,219,5,5,213,225,5,5,214,225,5,5,215,225,5,5,216,225,5,5,217,225,5,5,218,225,5,5,219,225,5,5,220,225,5,5,221,225,5,5,222,225,5,5,223,225,5,5,69,231,5,5,224,225,5,5,225,225,5,5,226,225,5,5,227,225,5,5,228,225,5,5,229,225,5,5,230,225,5,5,231,225,5,5,232,225,5,5,233,225,5,5,234,225,5,5,235,225,5,5,236,225,5,5,237,225,5,5,238,225,5,5,239,225,5,5,240,225,5,5,241,225,5,5,242,225,5,5,243,225,5,5,244,225,5,5,245,225,5,5,246,225,5,5,247,225,5,5,248,225,5,5,249,225,5,5,250,225,5,5,251,225,5,5,136,219,5,5,252,225,5,5,253,225,5,5,254,225,5,5,255,225,5,5,2,226,5,5,70,231,5,5,3,226,5,5,4,226,5,5,5,226,5,5,123,219,5,5,6,226,5,5,7,226,5,5,8,226,5,5,72,231,5,5,73,231,5,5,9,226,5,5,74,231,5,5,75,231,5,5,76,231,5,5,77,231,5,5,78,231,5,5,79,231,5,5,80,231,5,5,81,231,5,5,82,231,5,5,83,231,5,5,84,231,5,5,85,231,5,5,86,231,5,5,87,231,5,5,88,231,5,5,89,231,5,5,90,231,5,5,91,231,5,5,92,231,5,5,93,231,5,5,94,231,5,5,95,231,5,5,96,231,5,5,97,231,5,5,98,231,5,5,99,231,5,5,100,231,5,5,101,231,5,5,103,239,5,5,102,231,5,5,103,231,5,5,104,231,5,5,202,235,5,5,105,231,5,5,203,235,5,5,204,235,5,5,205,235,5,5,206,235,5,5,207,235,5,5,208,235,5,5,209,235,5,5,210,235,5,5,211,235,5,5,212,235,5,5,213,235,5,5,23,226,5,5,214,235,5,5,215,235,5,5,216,235,5,5,217,235,5,5,218,235,5,5,219,235,5,5,220,235,5,5,221,235,5,5,222,235,5,5,223,235,5,5,224,235,5,5,225,235,5,5,226,235,5,5,227,235,5,5,228,235,5,5,229,235,5,5,104,239,5,5,105,239,5,5,106,239,5,5,107,239,5,5,108,239,5,5,109,239,5,5,110,239,5,5,111,239,5,5,112,239,5,5,113,239,5,5,114,239,5,5,115,239,5,5,116,239,5,5,117,239,5,5,118,239,5,5,119,239,5,5,120,239,5,5,236,235,5,5,121,239,5,5,122,239,5,5,123,239,5,5,122,242,5,5,124,239,5,5,125,239,5,5,126,239,5,5,127,239,5,5,123,242,5,5,124,242,5,5,125,242,5,5,126,242,5,5,127,242,5,5,128,242,5,5,129,242,5,5,130,242,5,5,131,242,5,5,132,242,5,5,133,242,5,5,134,242,5,5,135,242,5,5,136,242,5,5,137,242,5,5,138,242,5,5,139,242,5,5,140,242,5,5,141,242,5,5,146,242,5,5,220,244,5,5,221,244,5,5,222,244,5,5,223,244,5,5,224,244,5,5,225,244,5,5,226,244,5,5,227,244,5,5,228,244,5,5,229,244,5,5,230,244,5,5,226,249,5,5,231,244,5,5,232,244,5,5,153,246,5,5,154,246,5,5,215,247,5,5,155,246,5,5,156,246,5,5,157,246,5,5,158,246,5,5,159,246,5,5,216,247,5,5,217,247,5,5,218,247,5,5,219,247,5,5,202,248,5,5,203,248,5,5,204,248,5,5,205,248,5,5,206,248,5,5,118,249,5,5,119,249,5,5,227,249,5,5,28,250,5,5,228,249,5,5,29,250,5,5,30,250,5,5,153,250,5,5,159,250,5,5,86,158,5,5,87,158,5,5,140,159,5,5,136,161,5,5,137,161,5,5,138,161,5,5,139,161,5,5,140,161,5,5,141,161,5,5,221,164,5,5,222,164,5,5,223,164,5,5,224,164,5,5,225,164,5,5,226,164,5,5,227,164,5,5,228,164,5,5,229,164,5,5,230,164,5,5,231,164,5,5,232,164,5,5,233,164,5,5,167,169,5,5,168,169,5,5,169,169,5,5,170,169,5,5,171,169,5,5,172,169,5,5,166,169,5,5,173,169,5,5,174,169,5,5,175,169,5,5,176,169,5,5,177,169,5,5,178,169,5,5,179,169,5,5,180,169,5,5,181,169,5,5,182,169,5,5,183,169,5,5,184,169,5,5,185,169,5,5,186,169,5,5,187,169,5,5,188,169,5,5,189,169,5,5,190,169,5,5,191,169,5,5,192,169,5,5,193,169,5,5,194,169,5,5,195,169,5,5,23,175,5,5,24,175,5,5,25,175,5,5,26,175,5,5,27,175,5,5,28,175,5,5,29,175,5,5,30,175,5,5,31,175,5,5,32,175,5,5,33,175,5,5,34,175,5,5,35,175,5,5,36,175,5,5,37,175,5,5,38,175,5,5,39,175,5,5,40,175,5,5,41,175,5,5,42,175,5,5,43,175,5,5,44,175,5,5,45,175,5,5,46,175,5,5,47,175,5,5,48,175,5,5,49,175,5,5,50,175,5,5,51,175,5,5,52,175,5,5,53,175,5,5,54,175,5,5,55,175,5,5,56,175,5,5,57,175,5,5,58,175,5,5,59,175,5,5,143,181,5,5,144,181,5,5,145,181,5,5,146,181,5,5,147,181,5,5,148,181,5,5,149,181,5,5,150,181,5,5,151,181,5,5,152,181,5,5,153,181,5,5,154,181,5,5,155,181,5,5,156,181,5,5,157,181,5,5,158,181,5,5,159,181,5,5,160,181,5,5,161,181,5,5,162,181,5,5,163,181,5,5,164,181,5,5,165,181,5,5,166,181,5,5,167,181,5,5,168,181,5,5,169,181,5,5,170,181,5,5,171,181,5,5,172,181,5,5,173,181,5,5,174,181,5,5,175,181,5,5,176,181,5,5,177,181,5,5,178,181,5,5,179,181,5,5,180,181,5,5,181,181,5,5,182,181,5,5,183,181,5,5,184,181,5,5,185,181,5,5,84,189,5,5,85,189,5,5,86,189,5,5,87,189,5,5,88,189,5,5,89,189,5,5,90,189,5,5,91,189,5,5,92,189,5,5,93,189,5,5,94,189,5,5,95,189,5,5,60,197,5,5,96,189,5,5,97,189,5,5,98,189,5,5,99,189,5,5,100,189,5,5,101,189,5,5,102,189,5,5,103,189,5,5,104,189,5,5,105,189,5,5,106,189,5,5,107,189,5,5,108,189,5,5,109,189,5,5,110,189,5,5,111,189,5,5,112,189,5,5,113,189,5,5,114,189,5,5,115,189,5,5,116,189,5,5,117,189,5,5,118,189,5,5,119,189,5,5,128,189,5,5,120,189,5,5,121,189,5,5,122,189,5,5,123,189,5,5,61,197,5,5,62,197,5,5,63,197,5,5,64,197,5,5,65,197,5,5,66,197,5,5,67,197,5,5,68,197,5,5,69,197,5,5,70,197,5,5,71,197,5,5,72,197,5,5,73,197,5,5,74,197,5,5,75,197,5,5,76,197,5,5,77,197,5,5,78,197,5,5,79,197,5,5,80,197,5,5,81,197,5,5,82,197,5,5,83,197,5,5,84,197,5,5,85,197,5,5,86,197,5,5,87,197,5,5,88,197,5,5,89,197,5,5,90,197,5,5,91,197,5,5,92,197,5,5,93,197,5,5,94,197,5,5,95,197,5,5,96,197,5,5,97,197,5,5,98,197,5,5,99,197,5,5,100,197,5,5,249,204,5,5,250,204,5,5,251,204,5,5,252,204,5,5,253,204,5,5,254,204,5,5,255,204,5,5,2,205,5,5,3,205,5,5,4,205,5,5,5,205,5,5,6,205,5,5,7,205,5,5,8,205,5,5,9,205,5,5,10,205,5,5,11,205,5,5,12,205,5,5,13,205,5,5,14,205,5,5,167,212,5,5,15,205,5,5,16,205,5,5,17,205,5,5,18,205,5,5,19,205,5,5,168,212,5,5,20,205,5,5,21,205,5,5,22,205,5,5,23,205,5,5,24,205,5,5,25,205,5,5,26,205,5,5,27,205,5,5,28,205,5,5,29,205,5,5,30,205,5,5,31,205,5,5,32,205,5,5,33,205,5,5,34,205,5,5,35,205,5,5,36,205,5,5,37,205,5,5,101,197,5,5,38,205,5,5,39,205,5,5,40,205,5,5,41,205,5,5,42,205,5,5,43,205,5,5,44,205,5,5,45,205,5,5,46,205,5,5,47,205,5,5,169,212,5,5,48,205,5,5,170,212,5,5,171,212,5,5,172,212,5,5,173,212,5,5,174,212,5,5,175,212,5,5,176,212,5,5,177,212,5,5,178,212,5,5,179,212,5,5,180,212,5,5,181,212,5,5,182,212,5,5,183,212,5,5,184,212,5,5,185,212,5,5,186,212,5,5,187,212,5,5,188,212,5,5,189,212,5,5,190,212,5,5,191,212,5,5,192,212,5,5,193,212,5,5,194,212,5,5,195,212,5,5,196,212,5,5,197,212,5,5,198,212,5,5,199,212,5,5,200,212,5,5,138,219,5,5,139,219,5,5,140,219,5,5,141,219,5,5,142,219,5,5,143,219,5,5,144,219,5,5,145,219,5,5,146,219,5,5,147,219,5,5,148,219,5,5,149,219,5,5,137,219,5,5,150,219,5,5,151,219,5,5,152,219,5,5,153,219,5,5,154,219,5,5,155,219,5,5,156,219,5,5,157,219,5,5,158,219,5,5,159,219,5,5,160,219,5,5,161,219,5,5,162,219,5,5,163,219,5,5,164,219,5,5,24,226,5,5,25,226,5,5,26,226,5,5,27,226,5,5,28,226,5,5,29,226,5,5,30,226,5,5,31,226,5,5,32,226,5,5,33,226,5,5,34,226,5,5,35,226,5,5,36,226,5,5,37,226,5,5,38,226,5,5,39,226,5,5,40,226,5,5,41,226,5,5,42,226,5,5,43,226,5,5,44,226,5,5,45,226,5,5,46,226,5,5,47,226,5,5,48,226,5,5,49,226,5,5,50,226,5,5,51,226,5,5,52,226,5,5,53,226,5,5,54,226,5,5,55,226,5,5,56,226,5,5,57,226,5,5,58,226,5,5,59,226,5,5,60,226,5,5,61,226,5,5,62,226,5,5,63,226,5,5,64,226,5,5,116,231,5,5,117,231,5,5,118,231,5,5,119,231,5,5,120,231,5,5,121,231,5,5,122,231,5,5,123,231,5,5,124,231,5,5,125,231,5,5,126,231,5,5,127,231,5,5,128,231,5,5,129,231,5,5,130,231,5,5,131,231,5,5,132,231,5,5,133,231,5,5,134,231,5,5,135,231,5,5,136,231,5,5,137,231,5,5,138,231,5,5,139,231,5,5,140,231,5,5,237,235,5,5,238,235,5,5,239,235,5,5,240,235,5,5,241,235,5,5,242,235,5,5,243,235,5,5,244,235,5,5,245,235,5,5,246,235,5,5,134,239,5,5,247,235,5,5,135,239,5,5,136,239,5,5,137,239,5,5,138,239,5,5,139,239,5,5,140,239,5,5,141,239,5,5,147,242,5,5,142,239,5,5,143,239,5,5,144,239,5,5,148,242,5,5,149,242,5,5,150,242,5,5,151,242,5,5,152,242,5,5,153,242,5,5,145,239,5,5,154,242,5,5,155,242,5,5,156,242,5,5,235,244,5,5,236,244,5,5,237,244,5,5,163,246,5,5,240,244,5,5,164,246,5,5,165,246,5,5,166,246,5,5,226,247,5,5,227,247,5,5,208,248,5,5,120,249,5,5,121,249,5,5,122,249,5,5,91,250,5,5,121,250,5,5,165,250,5,5,88,158,5,5,90,158,5,5,201,169,5,5,202,169,5,5,63,175,5,5,64,175,5,5,65,175,5,5,189,181,5,5,114,197,5,5,208,212,5,5,176,219,5,5,146,231,5,5,91,158,5,5,142,161,5,5,203,169,5,5,190,181,5,5,59,205,5,5,92,158,5,5,67,175,5,5,129,189,5,5,209,212,5,5,94,158,5,5,204,169,5,5,68,175,5,5,191,181,5,5,60,205,5,5,210,212,5,5,177,219,5,5,147,231,5,5,95,158,5,5,205,169,5,5,69,175,5,5,70,175,5,5,115,197,5,5,116,197,5,5,117,197,5,5,61,205,5,5,62,205,5,5,63,205,5,5,64,205,5,5,65,205,5,5,211,212,5,5,212,212,5,5,178,219,5,5,179,219,5,5,180,219,5,5,149,239,5,5,96,158,5,5,119,197,5,5,99,158,5,5,100,158,5,5,143,161,5,5,144,161,5,5,145,161,5,5,235,164,5,5,236,164,5,5,237,164,5,5,238,164,5,5,239,164,5,5,206,169,5,5,207,169,5,5,208,169,5,5,209,169,5,5,210,169,5,5,211,169,5,5,212,169,5,5,213,169,5,5,71,175,5,5,72,175,5,5,73,175,5,5,74,175,5,5,75,175,5,5,76,175,5,5,77,175,5,5,78,175,5,5,79,175,5,5,194,181,5,5,195,181,5,5,196,181,5,5,197,181,5,5,198,181,5,5,130,189,5,5,131,189,5,5,132,189,5,5,133,189,5,5,134,189,5,5,120,197,5,5,135,189,5,5,121,197,5,5,122,197,5,5,123,197,5,5,124,197,5,5,125,197,5,5,126,197,5,5,127,197,5,5,128,197,5,5,129,197,5,5,130,197,5,5,66,205,5,5,67,205,5,5,68,205,5,5,69,205,5,5,70,205,5,5,71,205,5,5,214,212,5,5,215,212,5,5,216,212,5,5,217,212,5,5,218,212,5,5,219,212,5,5,181,219,5,5,182,219,5,5,183,219,5,5,184,219,5,5,75,226,5,5,76,226,5,5,77,226,5,5,78,226,5,5,148,231,5,5,150,239,5,5,151,239,5,5,152,239,5,5,153,239,5,5,154,239,5,5,155,239,5,5,161,242,5,5,162,242,5,5,167,246,5,5,123,249,5,5,33,250,5,5,101,158,5,5,149,157,5,5,141,159,5,5,142,159,5,5,143,159,5,5,146,161,5,5,147,161,5,5,148,161,5,5,149,161,5,5,150,161,5,5,241,164,5,5,151,161,5,5,152,161,5,5,242,164,5,5,243,164,5,5,244,164,5,5,245,164,5,5,246,164,5,5,247,164,5,5,248,164,5,5,216,169,5,5,249,164,5,5,250,164,5,5,251,164,5,5,252,164,5,5,253,164,5,5,254,164,5,5,255,164,5,5,2,165,5,5,217,169,5,5,80,175,5,5,218,169,5,5,219,169,5,5,220,169,5,5,221,169,5,5,222,169,5,5,223,169,5,5,224,169,5,5,225,169,5,5,226,169,5,5,227,169,5,5,228,169,5,5,229,169,5,5,230,169,5,5,231,169,5,5,232,169,5,5,233,169,5,5,234,169,5,5,235,169,5,5,236,169,5,5,237,169,5,5,81,175,5,5,82,175,5,5,83,175,5,5,84,175,5,5,85,175,5,5,86,175,5,5,87,175,5,5,88,175,5,5,89,175,5,5,90,175,5,5,91,175,5,5,92,175,5,5,93,175,5,5,94,175,5,5,95,175,5,5,96,175,5,5,97,175,5,5,98,175,5,5,99,175,5,5,100,175,5,5,199,181,5,5,200,181,5,5,201,181,5,5,202,181,5,5,203,181,5,5,204,181,5,5,205,181,5,5,206,181,5,5,207,181,5,5,208,181,5,5,209,181,5,5,210,181,5,5,141,189,5,5,211,181,5,5,212,181,5,5,213,181,5,5,214,181,5,5,142,189,5,5,143,189,5,5,133,197,5,5,144,189,5,5,145,189,5,5,146,189,5,5,147,189,5,5,134,197,5,5,135,197,5,5,148,189,5,5,149,189,5,5,150,189,5,5,151,189,5,5,152,189,5,5,136,197,5,5,153,189,5,5,154,189,5,5,155,189,5,5,156,189,5,5,157,189,5,5,158,189,5,5,159,189,5,5,160,189,5,5,161,189,5,5,162,189,5,5,163,189,5,5,164,189,5,5,165,189,5,5,166,189,5,5,167,189,5,5,138,197,5,5,139,197,5,5,140,197,5,5,141,197,5,5,142,197,5,5,143,197,5,5,144,197,5,5,145,197,5,5,168,189,5,5,137,197,5,5,146,197,5,5,147,197,5,5,74,205,5,5,148,197,5,5,149,197,5,5,150,197,5,5,151,197,5,5,152,197,5,5,153,197,5,5,154,197,5,5,155,197,5,5,75,205,5,5,156,197,5,5,157,197,5,5,77,205,5,5,78,205,5,5,79,205,5,5,80,205,5,5,81,205,5,5,82,205,5,5,83,205,5,5,76,205,5,5,84,205,5,5,220,212,5,5,221,212,5,5,85,205,5,5,86,205,5,5,87,205,5,5,88,205,5,5,89,205,5,5,90,205,5,5,187,219,5,5,222,212,5,5,223,212,5,5,186,219,5,5,224,212,5,5,225,212,5,5,226,212,5,5,227,212,5,5,228,212,5,5,229,212,5,5,230,212,5,5,188,219,5,5,189,219,5,5,190,219,5,5,191,219,5,5,192,219,5,5,193,219,5,5,194,219,5,5,195,219,5,5,196,219,5,5,197,219,5,5,198,219,5,5,199,219,5,5,200,219,5,5,79,226,5,5,201,219,5,5,80,226,5,5,81,226,5,5,82,226,5,5,83,226,5,5,84,226,5,5,85,226,5,5,86,226,5,5,87,226,5,5,88,226,5,5,150,231,5,5,151,231,5,5,152,231,5,5,153,231,5,5,154,231,5,5,155,231,5,5,156,231,5,5,252,235,5,5,253,235,5,5,254,235,5,5,156,239,5,5,157,239,5,5,158,239,5,5,164,242,5,5,165,242,5,5,166,242,5,5,241,244,5,5,168,246,5,5,169,246,5,5,232,247,5,5,233,247,5,5,234,247,5,5,144,159,5,5,102,175,5,5,216,181,5,5,169,189,5,5,170,189,5,5,145,159,5,5,146,159,5,5,102,158,5,5,147,159,5,5,148,159,5,5,154,161,5,5,155,161,5,5,156,161,5,5,157,161,5,5,4,165,5,5,5,165,5,5,6,165,5,5,7,165,5,5,8,165,5,5,9,165,5,5,10,165,5,5,11,165,5,5,12,165,5,5,13,165,5,5,240,169,5,5,241,169,5,5,242,169,5,5,243,169,5,5,244,169,5,5,245,169,5,5,246,169,5,5,247,169,5,5,248,169,5,5,249,169,5,5,250,169,5,5,251,169,5,5,252,169,5,5,253,169,5,5,254,169,5,5,255,169,5,5,2,170,5,5,3,170,5,5,4,170,5,5,5,170,5,5,6,170,5,5,7,170,5,5,104,175,5,5,105,175,5,5,106,175,5,5,107,175,5,5,108,175,5,5,109,175,5,5,110,175,5,5,111,175,5,5,217,181,5,5,112,175,5,5,218,181,5,5,113,175,5,5,114,175,5,5,115,175,5,5,116,175,5,5,117,175,5,5,118,175,5,5,119,175,5,5,120,175,5,5,121,175,5,5,122,175,5,5,123,175,5,5,124,175,5,5,125,175,5,5,126,175,5,5,127,175,5,5,128,175,5,5,129,175,5,5,130,175,5,5,131,175,5,5,132,175,5,5,133,175,5,5,220,181,5,5,221,181,5,5,222,181,5,5,223,181,5,5,224,181,5,5,225,181,5,5,226,181,5,5,227,181,5,5,228,181,5,5,229,181,5,5,230,181,5,5,231,181,5,5,232,181,5,5,233,181,5,5,234,181,5,5,235,181,5,5,236,181,5,5,237,181,5,5,238,181,5,5,239,181,5,5,240,181,5,5,241,181,5,5,242,181,5,5,243,181,5,5,244,181,5,5,245,181,5,5,246,181,5,5,247,181,5,5,248,181,5,5,249,181,5,5,250,181,5,5,251,181,5,5,252,181,5,5,171,189,5,5,172,189,5,5,173,189,5,5,174,189,5,5,159,197,5,5,175,189,5,5,9,182,5,5,176,189,5,5,177,189,5,5,178,189,5,5,179,189,5,5,180,189,5,5,181,189,5,5,182,189,5,5,183,189,5,5,184,189,5,5,185,189,5,5,186,189,5,5,187,189,5,5,188,189,5,5,189,189,5,5,190,189,5,5,253,181,5,5,191,189,5,5,192,189,5,5,193,189,5,5,194,189,5,5,195,189,5,5,196,189,5,5,197,189,5,5,198,189,5,5,199,189,5,5,200,189,5,5,160,197,5,5,161,197,5,5,162,197,5,5,163,197,5,5,164,197,5,5,165,197,5,5,166,197,5,5,167,197,5,5,168,197,5,5,169,197,5,5,95,205,5,5,170,197,5,5,171,197,5,5,172,197,5,5,173,197,5,5,174,197,5,5,175,197,5,5,176,197,5,5,177,197,5,5,93,205,5,5,178,197,5,5,179,197,5,5,180,197,5,5,181,197,5,5,182,197,5,5,183,197,5,5,184,197,5,5,185,197,5,5,186,197,5,5,187,197,5,5,188,197,5,5,189,197,5,5,190,197,5,5,191,197,5,5,192,197,5,5,193,197,5,5,194,197,5,5,195,197,5,5,196,197,5,5,197,197,5,5,198,197,5,5,96,205,5,5,97,205,5,5,98,205,5,5,99,205,5,5,100,205,5,5,101,205,5,5,102,205,5,5,103,205,5,5,104,205,5,5,105,205,5,5,106,205,5,5,107,205,5,5,108,205,5,5,109,205,5,5,110,205,5,5,111,205,5,5,112,205,5,5,113,205,5,5,114,205,5,5,115,205,5,5,116,205,5,5,117,205,5,5,118,205,5,5,119,205,5,5,120,205,5,5,121,205,5,5,122,205,5,5,123,205,5,5,124,205,5,5,125,205,5,5,126,205,5,5,127,205,5,5,128,205,5,5,129,205,5,5,130,205,5,5,231,212,5,5,232,212,5,5,233,212,5,5,234,212,5,5,235,212,5,5,236,212,5,5,237,212,5,5,238,212,5,5,239,212,5,5,203,219,5,5,240,212,5,5,241,212,5,5,204,219,5,5,242,212,5,5,243,212,5,5,146,205,5,5,244,212,5,5,245,212,5,5,246,212,5,5,247,212,5,5,248,212,5,5,249,212,5,5,250,212,5,5,251,212,5,5,252,212,5,5,205,219,5,5,206,219,5,5,207,219,5,5,208,219,5,5,209,219,5,5,210,219,5,5,89,226,5,5,211,219,5,5,212,219,5,5,213,219,5,5,214,219,5,5,215,219,5,5,216,219,5,5,217,219,5,5,218,219,5,5,219,219,5,5,220,219,5,5,221,219,5,5,222,219,5,5,223,219,5,5,90,226,5,5,224,219,5,5,91,226,5,5,157,231,5,5,92,226,5,5,93,226,5,5,225,219,5,5,94,226,5,5,95,226,5,5,96,226,5,5,158,231,5,5,97,226,5,5,98,226,5,5,99,226,5,5,100,226,5,5,101,226,5,5,102,226,5,5,103,226,5,5,104,226,5,5,105,226,5,5,106,226,5,5,121,226,5,5,107,226,5,5,108,226,5,5,160,231,5,5,161,231,5,5,255,235,5,5,162,231,5,5,163,231,5,5,164,231,5,5,165,231,5,5,166,231,5,5,167,231,5,5,168,231,5,5,169,231,5,5,170,231,5,5,171,231,5,5,172,231,5,5,173,231,5,5,174,231,5,5,2,236,5,5,3,236,5,5,159,239,5,5,4,236,5,5,5,236,5,5,167,242,5,5,6,236,5,5,7,236,5,5,160,239,5,5,8,236,5,5,9,236,5,5,10,236,5,5,11,236,5,5,12,236,5,5,161,239,5,5,162,239,5,5,163,239,5,5,164,239,5,5,165,239,5,5,166,239,5,5,167,239,5,5,168,239,5,5,169,239,5,5,168,242,5,5,169,242,5,5,170,242,5,5,171,242,5,5,172,242,5,5,173,242,5,5,174,242,5,5,242,244,5,5,243,244,5,5,170,246,5,5,244,244,5,5,171,246,5,5,172,246,5,5,173,246,5,5,235,247,5,5,209,248,5,5,149,159,5,5,13,170,5,5,10,182,5,5,11,182,5,5,209,189,5,5,147,205,5,5,122,226,5,5,178,239,5,5,174,246,5,5,210,248,5,5,150,159,5,5,19,165,5,5,14,170,5,5,15,170,5,5,140,175,5,5,141,175,5,5,142,175,5,5,143,175,5,5,144,175,5,5,145,175,5,5,146,175,5,5,147,175,5,5,148,175,5,5,12,182,5,5,13,182,5,5,14,182,5,5,211,189,5,5,212,189,5,5,213,189,5,5,221,197,5,5,222,197,5,5,223,197,5,5,224,197,5,5,148,205,5,5,149,205,5,5,150,205,5,5,11,213,5,5,151,205,5,5,12,213,5,5,13,213,5,5,14,213,5,5,15,213,5,5,16,213,5,5,243,219,5,5,244,219,5,5,245,219,5,5,124,226,5,5,125,226,5,5,126,226,5,5,127,226,5,5,128,226,5,5,183,231,5,5,184,231,5,5,185,231,5,5,186,231,5,5,22,236,5,5,23,236,5,5,24,236,5,5,179,239,5,5,247,244,5,5,151,159,5,5,16,170,5,5,149,175,5,5,215,189,5,5,216,189,5,5,152,205,5,5,153,205,5,5,152,159,5,5,150,175,5,5,15,182,5,5,217,189,5,5,218,189,5,5,225,197,5,5,226,197,5,5,227,197,5,5,18,213,5,5,153,159,5,5,154,159,5,5,161,161,5,5,20,165,5,5,21,165,5,5,151,175,5,5,152,175,5,5,228,197,5,5,155,159,5,5,156,159,5,5,157,159,5,5,158,159,5,5,159,159,5,5,160,159,5,5,162,161,5,5,22,165,5,5,23,165,5,5,24,165,5,5,25,165,5,5,17,170,5,5,26,165,5,5,18,170,5,5,19,170,5,5,20,170,5,5,21,170,5,5,22,170,5,5,23,170,5,5,24,170,5,5,25,170,5,5,26,170,5,5,153,175,5,5,154,175,5,5,155,175,5,5,156,175,5,5,157,175,5,5,158,175,5,5,159,175,5,5,160,175,5,5,161,175,5,5,162,175,5,5,163,175,5,5,164,175,5,5,165,175,5,5,166,175,5,5,16,182,5,5,17,182,5,5,18,182,5,5,19,182,5,5,20,182,5,5,21,182,5,5,22,182,5,5,23,182,5,5,24,182,5,5,25,182,5,5,26,182,5,5,27,182,5,5,53,182,5,5,219,189,5,5,220,189,5,5,221,189,5,5,222,189,5,5,223,189,5,5,224,189,5,5,225,189,5,5,144,190,5,5,226,189,5,5,230,197,5,5,231,197,5,5,232,197,5,5,233,197,5,5,234,197,5,5,235,197,5,5,227,189,5,5,239,197,5,5,236,197,5,5,237,197,5,5,238,197,5,5,154,205,5,5,155,205,5,5,156,205,5,5,157,205,5,5,158,205,5,5,159,205,5,5,19,213,5,5,20,213,5,5,21,213,5,5,248,219,5,5,249,219,5,5,129,226,5,5,130,226,5,5,131,226,5,5,188,231,5,5,189,231,5,5,25,236,5,5,180,239,5,5,181,239,5,5,178,242,5,5,179,242,5,5,175,246,5,5,161,159,5,5,27,170,5,5,28,182,5,5,240,197,5,5,241,197,5,5,22,213,5,5,23,213,5,5,164,159,5,5,28,165,5,5,29,165,5,5,30,165,5,5,31,165,5,5,32,165,5,5,28,170,5,5,29,170,5,5,30,170,5,5,31,170,5,5,32,170,5,5,33,170,5,5,34,170,5,5,35,170,5,5,36,170,5,5,37,170,5,5,169,175,5,5,170,175,5,5,171,175,5,5,172,175,5,5,173,175,5,5,174,175,5,5,175,175,5,5,176,175,5,5,177,175,5,5,178,175,5,5,179,175,5,5,180,175,5,5,181,175,5,5,182,175,5,5,29,182,5,5,30,182,5,5,31,182,5,5,32,182,5,5,33,182,5,5,228,189,5,5,34,182,5,5,35,182,5,5,36,182,5,5,37,182,5,5,183,175,5,5,38,182,5,5,39,182,5,5,40,182,5,5,41,182,5,5,42,182,5,5,43,182,5,5,44,182,5,5,45,182,5,5,46,182,5,5,47,182,5,5,48,182,5,5,49,182,5,5,50,182,5,5,51,182,5,5,52,182,5,5,229,189,5,5,230,189,5,5,231,189,5,5,232,189,5,5,233,189,5,5,234,189,5,5,235,189,5,5,236,189,5,5,237,189,5,5,238,189,5,5,239,189,5,5,240,189,5,5,241,189,5,5,242,197,5,5,243,197,5,5,244,197,5,5,245,197,5,5,246,197,5,5,247,197,5,5,248,197,5,5,249,197,5,5,250,197,5,5,251,197,5,5,252,197,5,5,253,197,5,5,254,197,5,5,255,197,5,5,2,198,5,5,3,198,5,5,4,198,5,5,5,198,5,5,6,198,5,5,7,198,5,5,8,198,5,5,163,205,5,5,164,205,5,5,165,205,5,5,166,205,5,5,167,205,5,5,168,205,5,5,169,205,5,5,170,205,5,5,171,205,5,5,172,205,5,5,173,205,5,5,174,205,5,5,175,205,5,5,176,205,5,5,177,205,5,5,178,205,5,5,179,205,5,5,180,205,5,5,181,205,5,5,182,205,5,5,183,205,5,5,184,205,5,5,185,205,5,5,186,205,5,5,187,205,5,5,188,205,5,5,189,205,5,5,24,213,5,5,25,213,5,5,26,213,5,5,27,213,5,5,28,213,5,5,29,213,5,5,30,213,5,5,31,213,5,5,192,205,5,5,193,205,5,5,32,213,5,5,33,213,5,5,34,213,5,5,35,213,5,5,36,213,5,5,37,213,5,5,38,213,5,5,39,213,5,5,251,219,5,5,252,219,5,5,253,219,5,5,254,219,5,5,255,219,5,5,2,220,5,5,250,219,5,5,3,220,5,5,4,220,5,5,5,220,5,5,6,220,5,5,7,220,5,5,8,220,5,5,9,220,5,5,40,213,5,5,10,220,5,5,11,220,5,5,12,220,5,5,13,220,5,5,133,226,5,5,134,226,5,5,135,226,5,5,136,226,5,5,137,226,5,5,138,226,5,5,139,226,5,5,140,226,5,5,141,226,5,5,142,226,5,5,143,226,5,5,144,226,5,5,145,226,5,5,146,226,5,5,147,226,5,5,148,226,5,5,149,226,5,5,150,226,5,5,151,226,5,5,152,226,5,5,191,231,5,5,192,231,5,5,193,231,5,5,194,231,5,5,195,231,5,5,196,231,5,5,197,231,5,5,198,231,5,5,199,231,5,5,200,231,5,5,153,226,5,5,201,231,5,5,202,231,5,5,203,231,5,5,204,231,5,5,26,236,5,5,27,236,5,5,28,236,5,5,29,236,5,5,30,236,5,5,31,236,5,5,32,236,5,5,33,236,5,5,34,236,5,5,35,236,5,5,36,236,5,5,37,236,5,5,38,236,5,5,39,236,5,5,40,236,5,5,41,236,5,5,182,239,5,5,183,239,5,5,184,239,5,5,180,242,5,5,185,239,5,5,42,236,5,5,181,242,5,5,182,242,5,5,248,244,5,5,249,244,5,5,250,244,5,5,251,244,5,5,252,244,5,5,176,246,5,5,177,246,5,5,178,246,5,5,237,247,5,5,238,247,5,5,211,248,5,5,212,248,5,5,230,249,5,5,93,250,5,5,138,250,5,5,165,159,5,5,38,170,5,5,185,175,5,5,186,175,5,5,187,175,5,5,12,198,5,5,13,198,5,5,166,159,5,5,163,161,5,5,164,161,5,5,33,165,5,5,34,165,5,5,35,165,5,5,36,165,5,5,39,170,5,5,188,175,5,5,189,175,5,5,190,175,5,5,191,175,5,5,242,189,5,5,54,182,5,5,55,182,5,5,56,182,5,5,57,182,5,5,243,189,5,5,244,189,5,5,245,189,5,5,246,189,5,5,14,198,5,5,15,198,5,5,16,198,5,5,17,198,5,5,18,198,5,5,194,205,5,5,195,205,5,5,196,205,5,5,18,220,5,5,19,220,5,5,20,220,5,5,21,220,5,5,22,220,5,5,155,226,5,5,156,226,5,5,157,226,5,5,207,231,5,5,208,231,5,5,209,231,5,5,210,231,5,5,43,236,5,5,44,236,5,5,45,236,5,5,186,239,5,5,183,242,5,5,184,242,5,5,254,244,5,5,180,246,5,5,167,159,5,5,40,170,5,5,59,182,5,5,60,182,5,5,247,189,5,5,19,198,5,5,20,198,5,5,199,205,5,5,41,213,5,5,42,213,5,5,43,213,5,5,44,213,5,5,26,220,5,5,158,226,5,5,211,231,5,5,47,236,5,5,185,242,5,5,168,159,5,5,37,165,5,5,38,165,5,5,41,170,5,5,192,175,5,5,193,175,5,5,194,175,5,5,195,175,5,5,196,175,5,5,197,175,5,5,62,182,5,5,63,182,5,5,64,182,5,5,65,182,5,5,66,182,5,5,67,182,5,5,68,182,5,5,69,182,5,5,70,182,5,5,248,189,5,5,249,189,5,5,250,189,5,5,251,189,5,5,252,189,5,5,253,189,5,5,254,189,5,5,21,198,5,5,22,198,5,5,255,189,5,5,23,198,5,5,200,205,5,5,201,205,5,5,202,205,5,5,45,213,5,5,46,213,5,5,47,213,5,5,48,213,5,5,27,220,5,5,159,226,5,5,160,226,5,5,161,226,5,5,212,231,5,5,213,231,5,5,214,231,5,5,49,236,5,5,50,236,5,5,187,242,5,5,169,159,5,5,39,165,5,5,42,170,5,5,43,170,5,5,44,170,5,5,45,170,5,5,46,170,5,5,47,170,5,5,198,175,5,5,199,175,5,5,200,175,5,5,201,175,5,5,202,175,5,5,203,175,5,5,204,175,5,5,205,175,5,5,206,175,5,5,207,175,5,5,208,175,5,5,209,175,5,5,210,175,5,5,211,175,5,5,212,175,5,5,213,175,5,5,214,175,5,5,215,175,5,5,216,175,5,5,217,175,5,5,218,175,5,5,219,175,5,5,220,175,5,5,221,175,5,5,73,182,5,5,74,182,5,5,75,182,5,5,76,182,5,5,77,182,5,5,78,182,5,5,79,182,5,5,80,182,5,5,81,182,5,5,82,182,5,5,83,182,5,5,84,182,5,5,85,182,5,5,86,182,5,5,87,182,5,5,88,182,5,5,89,182,5,5,90,182,5,5,91,182,5,5,92,182,5,5,93,182,5,5,94,182,5,5,95,182,5,5,4,190,5,5,5,190,5,5,96,182,5,5,97,182,5,5,98,182,5,5,99,182,5,5,100,182,5,5,101,182,5,5,6,190,5,5,7,190,5,5,8,190,5,5,9,190,5,5,10,190,5,5,11,190,5,5,12,190,5,5,13,190,5,5,14,190,5,5,15,190,5,5,16,190,5,5,17,190,5,5,18,190,5,5,19,190,5,5,20,190,5,5,21,190,5,5,22,190,5,5,23,190,5,5,102,182,5,5,27,190,5,5,24,190,5,5,25,198,5,5,26,198,5,5,27,198,5,5,28,198,5,5,29,198,5,5,30,198,5,5,31,198,5,5,32,198,5,5,33,198,5,5,34,198,5,5,35,198,5,5,36,198,5,5,37,198,5,5,38,198,5,5,39,198,5,5,40,198,5,5,204,205,5,5,205,205,5,5,206,205,5,5,207,205,5,5,208,205,5,5,209,205,5,5,210,205,5,5,211,205,5,5,212,205,5,5,213,205,5,5,214,205,5,5,215,205,5,5,216,205,5,5,217,205,5,5,218,205,5,5,236,205,5,5,219,205,5,5,220,205,5,5,221,205,5,5,222,205,5,5,223,205,5,5,224,205,5,5,225,205,5,5,226,205,5,5,227,205,5,5,228,205,5,5,229,205,5,5,230,205,5,5,49,213,5,5,50,213,5,5,51,213,5,5,52,213,5,5,53,213,5,5,54,213,5,5,55,213,5,5,56,213,5,5,57,213,5,5,58,213,5,5,59,213,5,5,237,205,5,5,60,213,5,5,61,213,5,5,62,213,5,5,63,213,5,5,64,213,5,5,65,213,5,5,66,213,5,5,67,213,5,5,68,213,5,5,69,213,5,5,70,213,5,5,71,213,5,5,72,213,5,5,28,220,5,5,29,220,5,5,30,220,5,5,31,220,5,5,32,220,5,5,33,220,5,5,34,220,5,5,35,220,5,5,36,220,5,5,37,220,5,5,38,220,5,5,39,220,5,5,40,220,5,5,163,226,5,5,164,226,5,5,165,226,5,5,166,226,5,5,167,226,5,5,168,226,5,5,169,226,5,5,170,226,5,5,171,226,5,5,172,226,5,5,173,226,5,5,174,226,5,5,175,226,5,5,176,226,5,5,177,226,5,5,178,226,5,5,216,231,5,5,183,226,5,5,217,231,5,5,218,231,5,5,219,231,5,5,220,231,5,5,221,231,5,5,222,231,5,5,223,231,5,5,224,231,5,5,225,231,5,5,226,231,5,5,227,231,5,5,228,231,5,5,229,231,5,5,230,231,5,5,231,231,5,5,232,231,5,5,233,231,5,5,234,231,5,5,51,236,5,5,52,236,5,5,53,236,5,5,54,236,5,5,55,236,5,5,56,236,5,5,57,236,5,5,58,236,5,5,59,236,5,5,60,236,5,5,61,236,5,5,188,239,5,5,189,239,5,5,190,239,5,5,191,239,5,5,192,239,5,5,193,239,5,5,194,239,5,5,195,239,5,5,188,242,5,5,189,242,5,5,190,242,5,5,191,242,5,5,192,242,5,5,2,245,5,5,3,245,5,5,4,245,5,5,5,245,5,5,239,247,5,5,214,248,5,5,216,248,5,5,215,248,5,5,125,249,5,5,126,249,5,5,231,249,5,5,170,159,5,5,224,175,5,5,105,182,5,5,43,198,5,5,44,198,5,5,238,205,5,5,127,249,5,5,171,159,5,5,40,165,5,5,48,170,5,5,49,170,5,5,225,175,5,5,226,175,5,5,227,175,5,5,106,182,5,5,28,190,5,5,29,190,5,5,45,198,5,5,46,198,5,5,239,205,5,5,238,231,5,5,239,231,5,5,199,239,5,5,193,242,5,5,172,159,5,5,41,165,5,5,42,165,5,5,43,165,5,5,50,170,5,5,51,170,5,5,52,170,5,5,53,170,5,5,54,170,5,5,55,170,5,5,56,170,5,5,57,170,5,5,58,170,5,5,59,170,5,5,60,170,5,5,229,175,5,5,230,175,5,5,231,175,5,5,232,175,5,5,233,175,5,5,234,175,5,5,235,175,5,5,236,175,5,5,237,175,5,5,238,175,5,5,239,175,5,5,240,175,5,5,241,175,5,5,242,175,5,5,243,175,5,5,244,175,5,5,245,175,5,5,246,175,5,5,247,175,5,5,248,175,5,5,249,175,5,5,250,175,5,5,251,175,5,5,252,175,5,5,253,175,5,5,254,175,5,5,255,175,5,5,107,182,5,5,108,182,5,5,109,182,5,5,110,182,5,5,111,182,5,5,112,182,5,5,113,182,5,5,114,182,5,5,115,182,5,5,30,190,5,5,116,182,5,5,117,182,5,5,118,182,5,5,119,182,5,5,120,182,5,5,121,182,5,5,122,182,5,5,123,182,5,5,124,182,5,5,125,182,5,5,126,182,5,5,127,182,5,5,128,182,5,5,129,182,5,5,130,182,5,5,131,182,5,5,132,182,5,5,133,182,5,5,134,182,5,5,135,182,5,5,136,182,5,5,137,182,5,5,138,182,5,5,139,182,5,5,140,182,5,5,141,182,5,5,142,182,5,5,31,190,5,5,32,190,5,5,33,190,5,5,34,190,5,5,35,190,5,5,36,190,5,5,37,190,5,5,38,190,5,5,39,190,5,5,40,190,5,5,41,190,5,5,42,190,5,5,43,190,5,5,44,190,5,5,45,190,5,5,46,190,5,5,47,190,5,5,48,190,5,5,49,190,5,5,50,190,5,5,51,190,5,5,52,190,5,5,53,190,5,5,54,190,5,5,55,190,5,5,56,190,5,5,47,198,5,5,48,198,5,5,49,198,5,5,50,198,5,5,51,198,5,5,52,198,5,5,53,198,5,5,54,198,5,5,55,198,5,5,56,198,5,5,57,198,5,5,58,198,5,5,59,198,5,5,60,198,5,5,61,198,5,5,62,198,5,5,63,198,5,5,64,198,5,5,65,198,5,5,66,198,5,5,67,198,5,5,68,198,5,5,69,198,5,5,70,198,5,5,71,198,5,5,72,198,5,5,73,198,5,5,74,198,5,5,240,205,5,5,241,205,5,5,242,205,5,5,243,205,5,5,244,205,5,5,245,205,5,5,76,213,5,5,246,205,5,5,247,205,5,5,248,205,5,5,249,205,5,5,250,205,5,5,251,205,5,5,252,205,5,5,253,205,5,5,254,205,5,5,255,205,5,5,2,206,5,5,3,206,5,5,4,206,5,5,5,206,5,5,6,206,5,5,7,206,5,5,8,206,5,5,9,206,5,5,10,206,5,5,11,206,5,5,12,206,5,5,13,206,5,5,14,206,5,5,15,206,5,5,16,206,5,5,17,206,5,5,18,206,5,5,19,206,5,5,20,206,5,5,21,206,5,5,77,213,5,5,78,213,5,5,79,213,5,5,80,213,5,5,81,213,5,5,82,213,5,5,83,213,5,5,84,213,5,5,85,213,5,5,86,213,5,5,87,213,5,5,88,213,5,5,89,213,5,5,90,213,5,5,91,213,5,5,92,213,5,5,93,213,5,5,94,213,5,5,95,213,5,5,22,206,5,5,96,213,5,5,97,213,5,5,98,213,5,5,99,213,5,5,100,213,5,5,101,213,5,5,102,213,5,5,103,213,5,5,104,213,5,5,43,220,5,5,44,220,5,5,45,220,5,5,46,220,5,5,47,220,5,5,48,220,5,5,49,220,5,5,105,213,5,5,50,220,5,5,51,220,5,5,52,220,5,5,53,220,5,5,54,220,5,5,55,220,5,5,56,220,5,5,57,220,5,5,58,220,5,5,59,220,5,5,60,220,5,5,61,220,5,5,62,220,5,5,63,220,5,5,64,220,5,5,65,220,5,5,66,220,5,5,67,220,5,5,68,220,5,5,69,220,5,5,184,226,5,5,70,220,5,5,71,220,5,5,72,220,5,5,186,226,5,5,187,226,5,5,185,226,5,5,188,226,5,5,189,226,5,5,190,226,5,5,191,226,5,5,192,226,5,5,193,226,5,5,194,226,5,5,73,220,5,5,195,226,5,5,196,226,5,5,197,226,5,5,198,226,5,5,199,226,5,5,200,226,5,5,201,226,5,5,202,226,5,5,203,226,5,5,204,226,5,5,240,231,5,5,241,231,5,5,242,231,5,5,243,231,5,5,244,231,5,5,245,231,5,5,246,231,5,5,247,231,5,5,248,231,5,5,249,231,5,5,250,231,5,5,251,231,5,5,252,231,5,5,253,231,5,5,254,231,5,5,255,231,5,5,2,232,5,5,3,232,5,5,4,232,5,5,5,232,5,5,6,232,5,5,7,232,5,5,8,232,5,5,63,236,5,5,64,236,5,5,65,236,5,5,66,236,5,5,67,236,5,5,68,236,5,5,69,236,5,5,70,236,5,5,71,236,5,5,72,236,5,5,73,236,5,5,74,236,5,5,75,236,5,5,76,236,5,5,77,236,5,5,78,236,5,5,79,236,5,5,200,239,5,5,201,239,5,5,202,239,5,5,203,239,5,5,204,239,5,5,205,239,5,5,206,239,5,5,207,239,5,5,208,239,5,5,209,239,5,5,210,239,5,5,194,242,5,5,195,242,5,5,196,242,5,5,197,242,5,5,198,242,5,5,199,242,5,5,200,242,5,5,201,242,5,5,202,242,5,5,203,242,5,5,204,242,5,5,6,245,5,5,7,245,5,5,8,245,5,5,9,245,5,5,10,245,5,5,11,245,5,5,12,245,5,5,13,245,5,5,181,246,5,5,240,247,5,5,241,247,5,5,217,248,5,5,128,249,5,5,173,159,5,5,104,158,5,5,166,161,5,5,45,165,5,5,62,170,5,5,63,170,5,5,64,170,5,5,65,170,5,5,66,170,5,5,67,170,5,5,5,176,5,5,6,176,5,5,7,176,5,5,8,176,5,5,9,176,5,5,10,176,5,5,11,176,5,5,12,176,5,5,13,176,5,5,14,176,5,5,15,176,5,5,147,182,5,5,148,182,5,5,149,182,5,5,150,182,5,5,151,182,5,5,152,182,5,5,153,182,5,5,154,182,5,5,155,182,5,5,156,182,5,5,157,182,5,5,158,182,5,5,159,182,5,5,160,182,5,5,161,182,5,5,162,182,5,5,163,182,5,5,164,182,5,5,58,190,5,5,165,182,5,5,59,190,5,5,60,190,5,5,61,190,5,5,76,198,5,5,62,190,5,5,63,190,5,5,64,190,5,5,65,190,5,5,66,190,5,5,67,190,5,5,68,190,5,5,69,190,5,5,70,190,5,5,77,198,5,5,78,198,5,5,79,198,5,5,80,198,5,5,81,198,5,5,82,198,5,5,83,198,5,5,84,198,5,5,85,198,5,5,25,206,5,5,26,206,5,5,27,206,5,5,28,206,5,5,29,206,5,5,30,206,5,5,31,206,5,5,32,206,5,5,33,206,5,5,34,206,5,5,35,206,5,5,86,198,5,5,36,206,5,5,37,206,5,5,107,213,5,5,108,213,5,5,109,213,5,5,110,213,5,5,111,213,5,5,112,213,5,5,113,213,5,5,114,213,5,5,115,213,5,5,116,213,5,5,117,213,5,5,118,213,5,5,119,213,5,5,120,213,5,5,121,213,5,5,122,213,5,5,123,213,5,5,124,213,5,5,125,213,5,5,77,220,5,5,78,220,5,5,79,220,5,5,80,220,5,5,81,220,5,5,82,220,5,5,83,220,5,5,84,220,5,5,85,220,5,5,86,220,5,5,213,226,5,5,214,226,5,5,215,226,5,5,13,232,5,5,14,232,5,5,216,226,5,5,15,232,5,5,16,232,5,5,80,236,5,5,81,236,5,5,82,236,5,5,83,236,5,5,212,239,5,5,213,239,5,5,205,242,5,5,184,246,5,5,185,246,5,5,242,247,5,5,219,248,5,5,220,248,5,5,175,159,5,5,19,176,5,5,20,176,5,5,74,190,5,5,89,198,5,5,39,206,5,5,176,159,5,5,46,165,5,5,47,165,5,5,48,165,5,5,49,165,5,5,50,165,5,5,68,170,5,5,69,170,5,5,70,170,5,5,71,170,5,5,72,170,5,5,73,170,5,5,74,170,5,5,21,176,5,5,22,176,5,5,23,176,5,5,24,176,5,5,25,176,5,5,26,176,5,5,27,176,5,5,28,176,5,5,29,176,5,5,30,176,5,5,31,176,5,5,32,176,5,5,33,176,5,5,170,182,5,5,171,182,5,5,172,182,5,5,173,182,5,5,174,182,5,5,175,182,5,5,176,182,5,5,177,182,5,5,178,182,5,5,179,182,5,5,180,182,5,5,181,182,5,5,182,182,5,5,183,182,5,5,184,182,5,5,185,182,5,5,186,182,5,5,187,182,5,5,188,182,5,5,189,182,5,5,190,182,5,5,191,182,5,5,192,182,5,5,193,182,5,5,194,182,5,5,75,190,5,5,76,190,5,5,77,190,5,5,78,190,5,5,79,190,5,5,80,190,5,5,81,190,5,5,82,190,5,5,83,190,5,5,84,190,5,5,85,190,5,5,86,190,5,5,87,190,5,5,88,190,5,5,90,198,5,5,91,198,5,5,92,198,5,5,93,198,5,5,94,198,5,5,95,198,5,5,96,198,5,5,89,190,5,5,97,198,5,5,98,198,5,5,99,198,5,5,100,198,5,5,101,198,5,5,102,198,5,5,103,198,5,5,104,198,5,5,41,206,5,5,42,206,5,5,43,206,5,5,44,206,5,5,45,206,5,5,46,206,5,5,47,206,5,5,48,206,5,5,49,206,5,5,50,206,5,5,51,206,5,5,52,206,5,5,53,206,5,5,54,206,5,5,55,206,5,5,56,206,5,5,57,206,5,5,58,206,5,5,59,206,5,5,60,206,5,5,61,206,5,5,62,206,5,5,63,206,5,5,126,213,5,5,127,213,5,5,128,213,5,5,129,213,5,5,130,213,5,5,131,213,5,5,132,213,5,5,133,213,5,5,134,213,5,5,135,213,5,5,136,213,5,5,137,213,5,5,138,213,5,5,139,213,5,5,88,220,5,5,142,213,5,5,89,220,5,5,90,220,5,5,91,220,5,5,92,220,5,5,93,220,5,5,94,220,5,5,95,220,5,5,96,220,5,5,97,220,5,5,98,220,5,5,99,220,5,5,100,220,5,5,101,220,5,5,102,220,5,5,218,226,5,5,219,226,5,5,220,226,5,5,221,226,5,5,222,226,5,5,18,232,5,5,140,213,5,5,223,226,5,5,224,226,5,5,225,226,5,5,226,226,5,5,227,226,5,5,228,226,5,5,229,226,5,5,230,226,5,5,234,226,5,5,19,232,5,5,20,232,5,5,21,232,5,5,22,232,5,5,23,232,5,5,24,232,5,5,25,232,5,5,26,232,5,5,27,232,5,5,28,232,5,5,29,232,5,5,85,236,5,5,86,236,5,5,87,236,5,5,88,236,5,5,89,236,5,5,215,239,5,5,216,239,5,5,217,239,5,5,218,239,5,5,219,239,5,5,220,239,5,5,221,239,5,5,222,239,5,5,206,242,5,5,207,242,5,5,208,242,5,5,209,242,5,5,186,246,5,5,187,246,5,5,222,248,5,5,221,248,5,5,177,159,5,5,167,161,5,5,52,165,5,5,53,165,5,5,75,170,5,5,76,170,5,5,77,170,5,5,78,170,5,5,37,176,5,5,38,176,5,5,39,176,5,5,40,176,5,5,41,176,5,5,42,176,5,5,43,176,5,5,44,176,5,5,195,182,5,5,196,182,5,5,197,182,5,5,198,182,5,5,199,182,5,5,200,182,5,5,201,182,5,5,202,182,5,5,203,182,5,5,204,182,5,5,205,182,5,5,94,190,5,5,95,190,5,5,96,190,5,5,97,190,5,5,98,190,5,5,99,190,5,5,100,190,5,5,106,198,5,5,107,198,5,5,108,198,5,5,109,198,5,5,101,190,5,5,110,198,5,5,111,198,5,5,112,198,5,5,67,206,5,5,68,206,5,5,69,206,5,5,70,206,5,5,71,206,5,5,72,206,5,5,73,206,5,5,74,206,5,5,75,206,5,5,76,206,5,5,143,213,5,5,144,213,5,5,145,213,5,5,146,213,5,5,147,213,5,5,148,213,5,5,107,220,5,5,108,220,5,5,109,220,5,5,110,220,5,5,111,220,5,5,112,220,5,5,113,220,5,5,235,226,5,5,236,226,5,5,237,226,5,5,238,226,5,5,239,226,5,5,240,226,5,5,241,226,5,5,242,226,5,5,243,226,5,5,31,232,5,5,32,232,5,5,33,232,5,5,34,232,5,5,35,232,5,5,18,245,5,5,92,236,5,5,93,236,5,5,225,239,5,5,210,242,5,5,19,245,5,5,20,245,5,5,188,246,5,5,178,159,5,5,54,165,5,5,55,165,5,5,80,170,5,5,81,170,5,5,47,176,5,5,48,176,5,5,49,176,5,5,50,176,5,5,51,176,5,5,52,176,5,5,53,176,5,5,54,176,5,5,207,182,5,5,208,182,5,5,209,182,5,5,210,182,5,5,211,182,5,5,212,182,5,5,213,182,5,5,64,193,5,5,65,193,5,5,102,190,5,5,113,198,5,5,114,198,5,5,115,198,5,5,116,198,5,5,117,198,5,5,118,198,5,5,78,206,5,5,79,206,5,5,80,206,5,5,81,206,5,5,150,213,5,5,151,213,5,5,155,213,5,5,152,213,5,5,153,213,5,5,245,226,5,5,37,232,5,5,38,232,5,5,39,232,5,5,94,236,5,5,211,242,5,5,212,242,5,5,189,246,5,5,168,161,5,5,83,170,5,5,84,170,5,5,55,176,5,5,56,176,5,5,57,176,5,5,58,176,5,5,59,176,5,5,60,176,5,5,61,176,5,5,62,176,5,5,234,182,5,5,215,182,5,5,216,182,5,5,217,182,5,5,218,182,5,5,219,182,5,5,220,182,5,5,221,182,5,5,222,182,5,5,223,182,5,5,224,182,5,5,225,182,5,5,226,182,5,5,227,182,5,5,228,182,5,5,229,182,5,5,230,182,5,5,231,182,5,5,103,190,5,5,104,190,5,5,105,190,5,5,106,190,5,5,107,190,5,5,108,190,5,5,109,190,5,5,110,190,5,5,111,190,5,5,112,190,5,5,113,190,5,5,114,190,5,5,115,190,5,5,116,190,5,5,117,190,5,5,118,190,5,5,119,190,5,5,120,190,5,5,121,190,5,5,122,190,5,5,123,190,5,5,124,190,5,5,125,190,5,5,126,190,5,5,127,190,5,5,128,190,5,5,129,190,5,5,130,190,5,5,131,190,5,5,132,190,5,5,133,190,5,5,134,190,5,5,135,190,5,5,136,190,5,5,137,190,5,5,138,190,5,5,139,190,5,5,140,190,5,5,141,190,5,5,142,190,5,5,143,190,5,5,119,198,5,5,120,198,5,5,121,198,5,5,122,198,5,5,123,198,5,5,124,198,5,5,125,198,5,5,126,198,5,5,127,198,5,5,128,198,5,5,129,198,5,5,130,198,5,5,131,198,5,5,132,198,5,5,133,198,5,5,134,198,5,5,135,198,5,5,136,198,5,5,137,198,5,5,138,198,5,5,139,198,5,5,140,198,5,5,141,198,5,5,142,198,5,5,143,198,5,5,144,198,5,5,145,198,5,5,146,198,5,5,147,198,5,5,148,198,5,5,149,198,5,5,84,206,5,5,85,206,5,5,86,206,5,5,87,206,5,5,88,206,5,5,89,206,5,5,90,206,5,5,91,206,5,5,92,206,5,5,93,206,5,5,94,206,5,5,95,206,5,5,96,206,5,5,97,206,5,5,153,198,5,5,98,206,5,5,99,206,5,5,100,206,5,5,101,206,5,5,102,206,5,5,103,206,5,5,104,206,5,5,105,206,5,5,156,213,5,5,106,206,5,5,107,206,5,5,108,206,5,5,109,206,5,5,110,206,5,5,111,206,5,5,112,206,5,5,113,206,5,5,114,206,5,5,115,206,5,5,116,206,5,5,157,213,5,5,158,213,5,5,159,213,5,5,160,213,5,5,161,213,5,5,162,213,5,5,163,213,5,5,164,213,5,5,165,213,5,5,166,213,5,5,167,213,5,5,168,213,5,5,169,213,5,5,170,213,5,5,171,213,5,5,172,213,5,5,173,213,5,5,174,213,5,5,175,213,5,5,176,213,5,5,177,213,5,5,178,213,5,5,179,213,5,5,180,213,5,5,181,213,5,5,182,213,5,5,183,213,5,5,184,213,5,5,185,213,5,5,186,213,5,5,187,213,5,5,188,213,5,5,189,213,5,5,190,213,5,5,191,213,5,5,192,213,5,5,193,213,5,5,194,213,5,5,195,213,5,5,196,213,5,5,197,213,5,5,198,213,5,5,199,213,5,5,114,220,5,5,115,220,5,5,116,220,5,5,117,220,5,5,118,220,5,5,119,220,5,5,120,220,5,5,121,220,5,5,122,220,5,5,123,220,5,5,124,220,5,5,125,220,5,5,216,213,5,5,126,220,5,5,127,220,5,5,128,220,5,5,129,220,5,5,130,220,5,5,131,220,5,5,132,220,5,5,117,206,5,5,133,220,5,5,134,220,5,5,135,220,5,5,136,220,5,5,137,220,5,5,138,220,5,5,139,220,5,5,140,220,5,5,247,226,5,5,141,220,5,5,142,220,5,5,143,220,5,5,144,220,5,5,145,220,5,5,146,220,5,5,147,220,5,5,148,220,5,5,149,220,5,5,150,220,5,5,248,226,5,5,249,226,5,5,250,226,5,5,251,226,5,5,252,226,5,5,253,226,5,5,254,226,5,5,255,226,5,5,2,227,5,5,3,227,5,5,4,227,5,5,5,227,5,5,6,227,5,5,7,227,5,5,8,227,5,5,9,227,5,5,10,227,5,5,11,227,5,5,12,227,5,5,13,227,5,5,14,227,5,5,15,227,5,5,16,227,5,5,17,227,5,5,18,227,5,5,19,227,5,5,20,227,5,5,21,227,5,5,42,232,5,5,43,232,5,5,44,232,5,5,45,232,5,5,46,232,5,5,47,232,5,5,48,232,5,5,49,232,5,5,50,232,5,5,33,227,5,5,51,232,5,5,52,232,5,5,53,232,5,5,54,232,5,5,55,232,5,5,56,232,5,5,57,232,5,5,58,232,5,5,59,232,5,5,60,232,5,5,61,232,5,5,62,232,5,5,63,232,5,5,64,232,5,5,65,232,5,5,66,232,5,5,67,232,5,5,68,232,5,5,69,232,5,5,70,232,5,5,71,232,5,5,72,232,5,5,73,232,5,5,22,227,5,5,74,232,5,5,75,232,5,5,76,232,5,5,41,232,5,5,77,232,5,5,78,232,5,5,89,232,5,5,95,236,5,5,96,236,5,5,97,236,5,5,98,236,5,5,99,236,5,5,100,236,5,5,101,236,5,5,102,236,5,5,103,236,5,5,104,236,5,5,105,236,5,5,106,236,5,5,107,236,5,5,108,236,5,5,109,236,5,5,110,236,5,5,111,236,5,5,112,236,5,5,113,236,5,5,226,239,5,5,114,236,5,5,115,236,5,5,116,236,5,5,117,236,5,5,118,236,5,5,119,236,5,5,227,239,5,5,228,239,5,5,229,239,5,5,230,239,5,5,231,239,5,5,232,239,5,5,233,239,5,5,234,239,5,5,235,239,5,5,236,239,5,5,237,239,5,5,238,239,5,5,239,239,5,5,240,239,5,5,241,239,5,5,242,239,5,5,213,242,5,5,214,242,5,5,215,242,5,5,216,242,5,5,217,242,5,5,218,242,5,5,219,242,5,5,220,242,5,5,221,242,5,5,222,242,5,5,223,242,5,5,224,242,5,5,225,242,5,5,22,245,5,5,23,245,5,5,24,245,5,5,25,245,5,5,26,245,5,5,226,242,5,5,21,245,5,5,190,246,5,5,191,246,5,5,192,246,5,5,193,246,5,5,194,246,5,5,195,246,5,5,196,246,5,5,243,247,5,5,197,246,5,5,198,246,5,5,199,246,5,5,244,247,5,5,245,247,5,5,246,247,5,5,247,247,5,5,248,247,5,5,249,247,5,5,250,247,5,5,129,249,5,5,223,248,5,5,130,249,5,5,131,249,5,5,132,249,5,5,133,249,5,5,232,249,5,5,233,249,5,5,140,250,5,5,160,250,5,5,169,161,5,5,85,170,5,5,86,170,5,5,87,170,5,5,65,176,5,5,66,176,5,5,67,176,5,5,68,176,5,5,69,176,5,5,70,176,5,5,71,176,5,5,72,176,5,5,73,176,5,5,74,176,5,5,75,176,5,5,76,176,5,5,235,182,5,5,236,182,5,5,237,182,5,5,238,182,5,5,239,182,5,5,240,182,5,5,241,182,5,5,242,182,5,5,243,182,5,5,244,182,5,5,245,182,5,5,246,182,5,5,247,182,5,5,248,182,5,5,249,182,5,5,145,190,5,5,146,190,5,5,147,190,5,5,148,190,5,5,149,190,5,5,150,190,5,5,151,190,5,5,152,190,5,5,153,190,5,5,154,190,5,5,155,190,5,5,156,190,5,5,154,198,5,5,155,198,5,5,156,198,5,5,157,198,5,5,158,198,5,5,157,190,5,5,159,198,5,5,160,198,5,5,161,198,5,5,162,198,5,5,163,198,5,5,164,198,5,5,165,198,5,5,166,198,5,5,167,198,5,5,168,198,5,5,128,206,5,5,129,206,5,5,130,206,5,5,131,206,5,5,132,206,5,5,133,206,5,5,134,206,5,5,135,206,5,5,217,213,5,5,218,213,5,5,219,213,5,5,220,213,5,5,221,213,5,5,222,213,5,5,223,213,5,5,224,213,5,5,225,213,5,5,226,213,5,5,136,206,5,5,227,213,5,5,170,220,5,5,171,220,5,5,172,220,5,5,173,220,5,5,174,220,5,5,175,220,5,5,176,220,5,5,177,220,5,5,178,220,5,5,179,220,5,5,180,220,5,5,181,220,5,5,182,220,5,5,34,227,5,5,35,227,5,5,36,227,5,5,37,227,5,5,38,227,5,5,39,227,5,5,40,227,5,5,41,227,5,5,42,227,5,5,43,227,5,5,90,232,5,5,91,232,5,5,92,232,5,5,93,232,5,5,94,232,5,5,95,232,5,5,96,232,5,5,97,232,5,5,98,232,5,5,99,232,5,5,125,236,5,5,126,236,5,5,127,236,5,5,128,236,5,5,129,236,5,5,100,232,5,5,247,239,5,5,248,239,5,5,249,239,5,5,250,239,5,5,251,239,5,5,227,242,5,5,228,242,5,5,229,242,5,5,201,246,5,5,29,245,5,5,235,249,5,5,202,246,5,5,252,247,5,5,134,249,5,5,34,250,5,5,170,161,5,5,171,161,5,5,56,165,5,5,57,165,5,5,88,170,5,5,89,170,5,5,90,170,5,5,91,170,5,5,78,176,5,5,79,176,5,5,80,176,5,5,81,176,5,5,82,176,5,5,83,176,5,5,84,176,5,5,85,176,5,5,86,176,5,5,87,176,5,5,250,182,5,5,251,182,5,5,252,182,5,5,253,182,5,5,254,182,5,5,255,182,5,5,2,183,5,5,3,183,5,5,4,183,5,5,5,183,5,5,6,183,5,5,7,183,5,5,8,183,5,5,9,183,5,5,10,183,5,5,11,183,5,5,12,183,5,5,13,183,5,5,14,183,5,5,15,183,5,5,16,183,5,5,17,183,5,5,18,183,5,5,19,183,5,5,20,183,5,5,21,183,5,5,22,183,5,5,23,183,5,5,24,183,5,5,25,183,5,5,159,190,5,5,160,190,5,5,170,198,5,5,171,198,5,5,161,190,5,5,162,190,5,5,163,190,5,5,164,190,5,5,165,190,5,5,166,190,5,5,167,190,5,5,168,190,5,5,169,190,5,5,170,190,5,5,171,190,5,5,172,190,5,5,173,190,5,5,174,190,5,5,175,190,5,5,176,190,5,5,177,190,5,5,178,190,5,5,179,190,5,5,180,190,5,5,181,190,5,5,182,190,5,5,183,190,5,5,184,190,5,5,185,190,5,5,186,190,5,5,187,190,5,5,188,190,5,5,189,190,5,5,190,190,5,5,191,190,5,5,192,190,5,5,193,190,5,5,172,198,5,5,173,198,5,5,174,198,5,5,175,198,5,5,176,198,5,5,177,198,5,5,178,198,5,5,179,198,5,5,180,198,5,5,181,198,5,5,182,198,5,5,183,198,5,5,184,198,5,5,185,198,5,5,141,206,5,5,186,198,5,5,187,198,5,5,188,198,5,5,189,198,5,5,190,198,5,5,191,198,5,5,192,198,5,5,193,198,5,5,194,198,5,5,195,198,5,5,196,198,5,5,197,198,5,5,198,198,5,5,199,198,5,5,200,198,5,5,201,198,5,5,202,198,5,5,203,198,5,5,204,198,5,5,205,198,5,5,206,198,5,5,207,198,5,5,208,198,5,5,209,198,5,5,210,198,5,5,211,198,5,5,212,198,5,5,213,198,5,5,142,206,5,5,143,206,5,5,144,206,5,5,145,206,5,5,146,206,5,5,147,206,5,5,214,198,5,5,148,206,5,5,149,206,5,5,150,206,5,5,151,206,5,5,152,206,5,5,153,206,5,5,154,206,5,5,155,206,5,5,156,206,5,5,157,206,5,5,158,206,5,5,159,206,5,5,160,206,5,5,161,206,5,5,162,206,5,5,163,206,5,5,164,206,5,5,165,206,5,5,166,206,5,5,167,206,5,5,168,206,5,5,169,206,5,5,170,206,5,5,230,213,5,5,171,206,5,5,172,206,5,5,173,206,5,5,174,206,5,5,175,206,5,5,232,213,5,5,233,213,5,5,234,213,5,5,235,213,5,5,236,213,5,5,237,213,5,5,238,213,5,5,239,213,5,5,240,213,5,5,241,213,5,5,242,213,5,5,243,213,5,5,244,213,5,5,245,213,5,5,246,213,5,5,247,213,5,5,248,213,5,5,249,213,5,5,250,213,5,5,251,213,5,5,252,213,5,5,253,213,5,5,254,213,5,5,255,213,5,5,2,214,5,5,3,214,5,5,4,214,5,5,5,214,5,5,6,214,5,5,7,214,5,5,8,214,5,5,9,214,5,5,10,214,5,5,11,214,5,5,12,214,5,5,13,214,5,5,14,214,5,5,15,214,5,5,16,214,5,5,17,214,5,5,18,214,5,5,19,214,5,5,20,214,5,5,21,214,5,5,22,214,5,5,23,214,5,5,24,214,5,5,25,214,5,5,26,214,5,5,27,214,5,5,28,214,5,5,29,214,5,5,231,213,5,5,30,214,5,5,31,214,5,5,186,220,5,5,32,214,5,5,33,214,5,5,187,220,5,5,188,220,5,5,189,220,5,5,190,220,5,5,191,220,5,5,192,220,5,5,193,220,5,5,194,220,5,5,195,220,5,5,196,220,5,5,197,220,5,5,198,220,5,5,199,220,5,5,200,220,5,5,201,220,5,5,202,220,5,5,203,220,5,5,204,220,5,5,205,220,5,5,206,220,5,5,207,220,5,5,208,220,5,5,209,220,5,5,210,220,5,5,211,220,5,5,212,220,5,5,213,220,5,5,214,220,5,5,215,220,5,5,216,220,5,5,217,220,5,5,218,220,5,5,219,220,5,5,220,220,5,5,221,220,5,5,222,220,5,5,223,220,5,5,224,220,5,5,225,220,5,5,226,220,5,5,227,220,5,5,228,220,5,5,229,220,5,5,230,220,5,5,231,220,5,5,232,220,5,5,233,220,5,5,234,220,5,5,235,220,5,5,236,220,5,5,45,227,5,5,46,227,5,5,47,227,5,5,48,227,5,5,49,227,5,5,50,227,5,5,51,227,5,5,52,227,5,5,53,227,5,5,54,227,5,5,55,227,5,5,56,227,5,5,57,227,5,5,58,227,5,5,59,227,5,5,60,227,5,5,61,227,5,5,62,227,5,5,63,227,5,5,64,227,5,5,65,227,5,5,66,227,5,5,67,227,5,5,68,227,5,5,69,227,5,5,70,227,5,5,71,227,5,5,72,227,5,5,73,227,5,5,74,227,5,5,75,227,5,5,76,227,5,5,77,227,5,5,102,232,5,5,103,232,5,5,104,232,5,5,105,232,5,5,106,232,5,5,107,232,5,5,108,232,5,5,109,232,5,5,110,232,5,5,111,232,5,5,112,232,5,5,113,232,5,5,114,232,5,5,115,232,5,5,116,232,5,5,117,232,5,5,118,232,5,5,119,232,5,5,120,232,5,5,121,232,5,5,122,232,5,5,123,232,5,5,124,232,5,5,125,232,5,5,126,232,5,5,127,232,5,5,128,232,5,5,129,232,5,5,130,232,5,5,131,232,5,5,132,232,5,5,139,232,5,5,133,232,5,5,134,232,5,5,253,239,5,5,135,232,5,5,136,232,5,5,132,236,5,5,133,236,5,5,134,236,5,5,135,236,5,5,136,236,5,5,137,236,5,5,138,236,5,5,139,236,5,5,140,236,5,5,141,236,5,5,142,236,5,5,143,236,5,5,144,236,5,5,145,236,5,5,146,236,5,5,147,236,5,5,148,236,5,5,149,236,5,5,150,236,5,5,151,236,5,5,152,236,5,5,153,236,5,5,154,236,5,5,155,236,5,5,254,239,5,5,156,236,5,5,255,239,5,5,2,240,5,5,3,240,5,5,4,240,5,5,5,240,5,5,6,240,5,5,7,240,5,5,8,240,5,5,9,240,5,5,157,236,5,5,10,240,5,5,11,240,5,5,12,240,5,5,13,240,5,5,14,240,5,5,15,240,5,5,16,240,5,5,17,240,5,5,18,240,5,5,231,242,5,5,232,242,5,5,233,242,5,5,234,242,5,5,235,242,5,5,236,242,5,5,237,242,5,5,238,242,5,5,239,242,5,5,30,245,5,5,31,245,5,5,32,245,5,5,33,245,5,5,34,245,5,5,35,245,5,5,36,245,5,5,37,245,5,5,38,245,5,5,39,245,5,5,40,245,5,5,41,245,5,5,42,245,5,5,203,246,5,5,204,246,5,5,253,247,5,5,254,247,5,5,255,247,5,5,2,248,5,5,225,248,5,5,135,249,5,5,136,249,5,5,137,249,5,5,138,249,5,5,35,250,5,5,36,250,5,5,123,250,5,5,150,157,5,5,179,159,5,5,172,161,5,5,173,161,5,5,174,161,5,5,175,161,5,5,176,161,5,5,177,161,5,5,178,161,5,5,179,161,5,5,180,161,5,5,181,161,5,5,182,161,5,5,59,165,5,5,60,165,5,5,61,165,5,5,62,165,5,5,63,165,5,5,64,165,5,5,65,165,5,5,66,165,5,5,67,165,5,5,68,165,5,5,58,165,5,5,69,165,5,5,70,165,5,5,71,165,5,5,72,165,5,5,73,165,5,5,74,165,5,5,75,165,5,5,76,165,5,5,93,170,5,5,94,170,5,5,95,170,5,5,96,170,5,5,97,170,5,5,98,170,5,5,99,170,5,5,100,170,5,5,101,170,5,5,102,170,5,5,103,170,5,5,104,170,5,5,105,170,5,5,106,170,5,5,107,170,5,5,108,170,5,5,109,170,5,5,110,170,5,5,91,176,5,5,92,176,5,5,93,176,5,5,94,176,5,5,95,176,5,5,96,176,5,5,97,176,5,5,98,176,5,5,99,176,5,5,100,176,5,5,101,176,5,5,102,176,5,5,103,176,5,5,104,176,5,5,105,176,5,5,27,183,5,5,28,183,5,5,29,183,5,5,30,183,5,5,31,183,5,5,32,183,5,5,33,183,5,5,34,183,5,5,35,183,5,5,196,190,5,5,197,190,5,5,198,190,5,5,199,190,5,5,200,190,5,5,201,190,5,5,202,190,5,5,203,190,5,5,204,190,5,5,205,190,5,5,206,190,5,5,207,190,5,5,208,190,5,5,209,190,5,5,210,190,5,5,211,190,5,5,212,190,5,5,213,190,5,5,214,190,5,5,215,190,5,5,216,190,5,5,217,190,5,5,218,190,5,5,219,190,5,5,220,190,5,5,216,198,5,5,217,198,5,5,218,198,5,5,219,198,5,5,220,198,5,5,221,198,5,5,222,198,5,5,223,198,5,5,224,198,5,5,225,198,5,5,226,198,5,5,227,198,5,5,228,198,5,5,229,198,5,5,230,198,5,5,231,198,5,5,232,198,5,5,233,198,5,5,234,198,5,5,235,198,5,5,236,198,5,5,237,198,5,5,238,198,5,5,178,206,5,5,179,206,5,5,180,206,5,5,181,206,5,5,182,206,5,5,183,206,5,5,184,206,5,5,185,206,5,5,186,206,5,5,187,206,5,5,188,206,5,5,189,206,5,5,41,214,5,5,42,214,5,5,43,214,5,5,44,214,5,5,45,214,5,5,46,214,5,5,47,214,5,5,248,220,5,5,249,220,5,5,250,220,5,5,251,220,5,5,79,227,5,5,80,227,5,5,81,227,5,5,82,227,5,5,83,227,5,5,20,240,5,5,183,161,5,5,111,170,5,5,106,176,5,5,36,183,5,5,37,183,5,5,221,190,5,5,38,183,5,5,222,190,5,5,239,198,5,5,240,198,5,5,241,198,5,5,48,214,5,5,49,214,5,5,84,227,5,5,140,232,5,5,141,232,5,5,142,232,5,5,163,236,5,5,164,236,5,5,165,236,5,5,21,240,5,5,22,240,5,5,244,242,5,5,43,245,5,5,207,246,5,5,208,246,5,5,226,248,5,5,184,161,5,5,180,159,5,5,106,158,5,5,112,170,5,5,77,165,5,5,113,170,5,5,114,170,5,5,108,176,5,5,115,170,5,5,109,176,5,5,40,183,5,5,41,183,5,5,42,183,5,5,43,183,5,5,44,183,5,5,45,183,5,5,46,183,5,5,47,183,5,5,225,190,5,5,242,198,5,5,243,198,5,5,244,198,5,5,190,206,5,5,191,206,5,5,192,206,5,5,193,206,5,5,194,206,5,5,195,206,5,5,196,206,5,5,197,206,5,5,50,214,5,5,51,214,5,5,52,214,5,5,198,206,5,5,53,214,5,5,54,214,5,5,252,220,5,5,253,220,5,5,254,220,5,5,255,220,5,5,85,227,5,5,86,227,5,5,87,227,5,5,88,227,5,5,143,232,5,5,144,232,5,5,145,232,5,5,167,236,5,5,146,232,5,5,168,236,5,5,23,240,5,5,24,240,5,5,25,240,5,5,26,240,5,5,210,246,5,5,227,248,5,5,228,248,5,5,185,161,5,5,116,170,5,5,117,170,5,5,110,176,5,5,111,176,5,5,112,176,5,5,48,183,5,5,113,176,5,5,49,183,5,5,50,183,5,5,51,183,5,5,226,190,5,5,52,183,5,5,53,183,5,5,54,183,5,5,55,183,5,5,227,190,5,5,228,190,5,5,229,190,5,5,230,190,5,5,231,190,5,5,232,190,5,5,245,198,5,5,246,198,5,5,247,198,5,5,200,206,5,5,201,206,5,5,202,206,5,5,203,206,5,5,204,206,5,5,205,206,5,5,206,206,5,5,207,206,5,5,55,214,5,5,2,221,5,5,3,221,5,5,4,221,5,5,5,221,5,5,6,221,5,5,89,227,5,5,90,227,5,5,169,236,5,5,170,236,5,5,171,236,5,5,27,240,5,5,28,240,5,5,29,240,5,5,30,240,5,5,246,242,5,5,44,245,5,5,45,245,5,5,189,161,5,5,115,176,5,5,116,176,5,5,56,183,5,5,57,183,5,5,58,183,5,5,59,183,5,5,60,183,5,5,61,183,5,5,62,183,5,5,233,190,5,5,234,190,5,5,235,190,5,5,236,190,5,5,237,190,5,5,238,190,5,5,239,190,5,5,240,190,5,5,241,190,5,5,242,190,5,5,243,190,5,5,244,190,5,5,250,198,5,5,251,198,5,5,252,198,5,5,253,198,5,5,254,198,5,5,255,198,5,5,2,199,5,5,3,199,5,5,208,206,5,5,209,206,5,5,210,206,5,5,56,214,5,5,57,214,5,5,58,214,5,5,59,214,5,5,60,214,5,5,61,214,5,5,62,214,5,5,64,214,5,5,7,221,5,5,8,221,5,5,9,221,5,5,10,221,5,5,11,221,5,5,12,221,5,5,13,221,5,5,14,221,5,5,91,227,5,5,92,227,5,5,93,227,5,5,94,227,5,5,148,232,5,5,149,232,5,5,150,232,5,5,151,232,5,5,152,232,5,5,172,236,5,5,173,236,5,5,174,236,5,5,175,236,5,5,176,236,5,5,153,232,5,5,31,240,5,5,32,240,5,5,247,242,5,5,248,242,5,5,190,161,5,5,107,158,5,5,191,161,5,5,67,183,5,5,118,170,5,5,68,183,5,5,119,176,5,5,245,190,5,5,246,190,5,5,69,183,5,5,4,199,5,5,192,161,5,5,120,176,5,5,121,176,5,5,122,176,5,5,123,176,5,5,124,176,5,5,193,161,5,5,119,170,5,5,125,176,5,5,70,183,5,5,71,183,5,5,72,183,5,5,73,183,5,5,74,183,5,5,247,190,5,5,248,190,5,5,249,190,5,5,250,190,5,5,251,190,5,5,252,190,5,5,5,199,5,5,211,206,5,5,212,206,5,5,65,214,5,5,66,214,5,5,67,214,5,5,16,221,5,5,17,221,5,5,95,227,5,5,96,227,5,5,97,227,5,5,157,232,5,5,158,232,5,5,180,236,5,5,181,236,5,5,249,242,5,5,47,245,5,5,211,246,5,5,212,246,5,5,194,161,5,5,78,165,5,5,120,170,5,5,126,176,5,5,127,176,5,5,75,183,5,5,76,183,5,5,77,183,5,5,78,183,5,5,79,183,5,5,80,183,5,5,81,183,5,5,82,183,5,5,83,183,5,5,84,183,5,5,85,183,5,5,253,190,5,5,254,190,5,5,255,190,5,5,2,191,5,5,3,191,5,5,4,191,5,5,5,191,5,5,6,191,5,5,7,191,5,5,8,191,5,5,9,191,5,5,6,199,5,5,7,199,5,5,8,199,5,5,9,199,5,5,10,199,5,5,11,199,5,5,12,199,5,5,213,206,5,5,214,206,5,5,215,206,5,5,216,206,5,5,68,214,5,5,69,214,5,5,70,214,5,5,71,214,5,5,72,214,5,5,73,214,5,5,74,214,5,5,13,199,5,5,75,214,5,5,76,214,5,5,77,214,5,5,19,221,5,5,20,221,5,5,21,221,5,5,22,221,5,5,23,221,5,5,24,221,5,5,25,221,5,5,26,221,5,5,99,227,5,5,100,227,5,5,103,227,5,5,159,232,5,5,160,232,5,5,161,232,5,5,162,232,5,5,163,232,5,5,164,232,5,5,182,236,5,5,183,236,5,5,184,236,5,5,33,240,5,5,250,242,5,5,251,242,5,5,252,242,5,5,253,242,5,5,213,246,5,5,214,246,5,5,195,161,5,5,108,158,5,5,86,183,5,5,87,183,5,5,121,170,5,5,217,206,5,5,218,206,5,5,219,206,5,5,80,214,5,5,81,214,5,5,196,161,5,5,184,159,5,5,197,161,5,5,198,161,5,5,199,161,5,5,200,161,5,5,122,170,5,5,79,165,5,5,80,165,5,5,81,165,5,5,82,165,5,5,83,165,5,5,84,165,5,5,85,165,5,5,86,165,5,5,87,165,5,5,88,165,5,5,89,165,5,5,90,165,5,5,91,165,5,5,92,165,5,5,93,165,5,5,94,165,5,5,95,165,5,5,123,170,5,5,124,170,5,5,125,170,5,5,126,170,5,5,127,170,5,5,128,170,5,5,129,170,5,5,130,170,5,5,131,170,5,5,132,170,5,5,133,170,5,5,134,170,5,5,135,170,5,5,136,170,5,5,137,170,5,5,138,170,5,5,139,170,5,5,140,170,5,5,141,170,5,5,142,170,5,5,143,170,5,5,144,170,5,5,145,170,5,5,146,170,5,5,147,170,5,5,148,170,5,5,149,170,5,5,150,170,5,5,151,170,5,5,152,170,5,5,153,170,5,5,154,170,5,5,155,170,5,5,129,176,5,5,130,176,5,5,131,176,5,5,132,176,5,5,133,176,5,5,134,176,5,5,135,176,5,5,136,176,5,5,137,176,5,5,138,176,5,5,139,176,5,5,140,176,5,5,141,176,5,5,142,176,5,5,143,176,5,5,144,176,5,5,145,176,5,5,146,176,5,5,15,199,5,5,147,176,5,5,148,176,5,5,149,176,5,5,150,176,5,5,151,176,5,5,152,176,5,5,153,176,5,5,154,176,5,5,155,176,5,5,156,176,5,5,157,176,5,5,158,176,5,5,159,176,5,5,160,176,5,5,161,176,5,5,162,176,5,5,163,176,5,5,164,176,5,5,165,176,5,5,166,176,5,5,167,176,5,5,168,176,5,5,169,176,5,5,10,191,5,5,88,183,5,5,89,183,5,5,90,183,5,5,91,183,5,5,92,183,5,5,93,183,5,5,94,183,5,5,95,183,5,5,96,183,5,5,97,183,5,5,98,183,5,5,99,183,5,5,100,183,5,5,101,183,5,5,102,183,5,5,103,183,5,5,104,183,5,5,16,199,5,5,105,183,5,5,106,183,5,5,107,183,5,5,108,183,5,5,109,183,5,5,110,183,5,5,111,183,5,5,112,183,5,5,113,183,5,5,114,183,5,5,170,176,5,5,115,183,5,5,116,183,5,5,117,183,5,5,118,183,5,5,119,183,5,5,120,183,5,5,121,183,5,5,122,183,5,5,123,183,5,5,124,183,5,5,17,199,5,5,11,191,5,5,12,191,5,5,13,191,5,5,14,191,5,5,15,191,5,5,16,191,5,5,17,191,5,5,18,191,5,5,19,191,5,5,20,191,5,5,21,191,5,5,18,199,5,5,22,191,5,5,23,191,5,5,24,191,5,5,25,191,5,5,26,191,5,5,27,191,5,5,28,191,5,5,29,191,5,5,30,191,5,5,31,191,5,5,32,191,5,5,33,191,5,5,34,191,5,5,35,191,5,5,36,191,5,5,37,191,5,5,38,191,5,5,39,191,5,5,40,191,5,5,41,191,5,5,42,191,5,5,43,191,5,5,44,191,5,5,45,191,5,5,19,199,5,5,20,199,5,5,21,199,5,5,22,199,5,5,23,199,5,5,24,199,5,5,25,199,5,5,26,199,5,5,27,199,5,5,28,199,5,5,29,199,5,5,30,199,5,5,31,199,5,5,32,199,5,5,33,199,5,5,34,199,5,5,35,199,5,5,36,199,5,5,37,199,5,5,38,199,5,5,39,199,5,5,40,199,5,5,41,199,5,5,82,214,5,5,42,199,5,5,43,199,5,5,44,199,5,5,45,199,5,5,46,199,5,5,47,199,5,5,48,199,5,5,49,199,5,5,50,199,5,5,51,199,5,5,222,206,5,5,223,206,5,5,224,206,5,5,225,206,5,5,226,206,5,5,227,206,5,5,228,206,5,5,229,206,5,5,230,206,5,5,231,206,5,5,232,206,5,5,233,206,5,5,234,206,5,5,235,206,5,5,236,206,5,5,237,206,5,5,238,206,5,5,239,206,5,5,240,206,5,5,241,206,5,5,242,206,5,5,243,206,5,5,244,206,5,5,245,206,5,5,246,206,5,5,58,199,5,5,247,206,5,5,248,206,5,5,249,206,5,5,250,206,5,5,251,206,5,5,252,206,5,5,253,206,5,5,254,206,5,5,255,206,5,5,2,207,5,5,83,214,5,5,84,214,5,5,85,214,5,5,86,214,5,5,87,214,5,5,88,214,5,5,89,214,5,5,90,214,5,5,91,214,5,5,92,214,5,5,93,214,5,5,94,214,5,5,95,214,5,5,96,214,5,5,97,214,5,5,98,214,5,5,99,214,5,5,104,227,5,5,100,214,5,5,28,221,5,5,29,221,5,5,30,221,5,5,31,221,5,5,32,221,5,5,33,221,5,5,34,221,5,5,35,221,5,5,36,221,5,5,37,221,5,5,38,221,5,5,39,221,5,5,40,221,5,5,41,221,5,5,42,221,5,5,43,221,5,5,44,221,5,5,45,221,5,5,182,218,5,5,166,232,5,5,106,227,5,5,107,227,5,5,108,227,5,5,109,227,5,5,110,227,5,5,111,227,5,5,112,227,5,5,113,227,5,5,114,227,5,5,115,227,5,5,116,227,5,5,117,227,5,5,118,227,5,5,119,227,5,5,120,227,5,5,121,227,5,5,122,227,5,5,126,227,5,5,167,232,5,5,127,227,5,5,168,232,5,5,169,232,5,5,170,232,5,5,171,232,5,5,172,232,5,5,173,232,5,5,174,232,5,5,175,232,5,5,176,232,5,5,177,232,5,5,178,232,5,5,179,232,5,5,180,232,5,5,181,232,5,5,182,232,5,5,183,232,5,5,184,232,5,5,34,240,5,5,185,232,5,5,185,236,5,5,186,236,5,5,187,236,5,5,188,236,5,5,189,236,5,5,190,236,5,5,191,236,5,5,35,240,5,5,36,240,5,5,254,242,5,5,37,240,5,5,38,240,5,5,255,242,5,5,2,243,5,5,3,243,5,5,4,243,5,5,48,245,5,5,215,246,5,5,216,246,5,5,139,249,5,5,140,249,5,5,3,248,5,5,201,161,5,5,157,170,5,5,158,170,5,5,59,199,5,5,108,214,5,5,188,232,5,5,189,232,5,5,202,161,5,5,96,165,5,5,129,183,5,5,130,183,5,5,60,199,5,5,61,199,5,5,62,199,5,5,49,221,5,5,128,227,5,5,203,161,5,5,172,176,5,5,64,199,5,5,65,199,5,5,66,199,5,5,67,199,5,5,68,199,5,5,109,214,5,5,129,227,5,5,204,161,5,5,159,170,5,5,160,170,5,5,173,176,5,5,132,183,5,5,133,183,5,5,52,191,5,5,69,199,5,5,70,199,5,5,4,207,5,5,131,227,5,5,110,214,5,5,130,227,5,5,132,227,5,5,196,236,5,5,43,240,5,5,206,161,5,5,161,170,5,5,162,170,5,5,163,170,5,5,134,183,5,5,53,191,5,5,71,199,5,5,111,214,5,5,112,214,5,5,113,214,5,5,50,221,5,5,51,221,5,5,133,227,5,5,197,236,5,5,44,240,5,5,207,161,5,5,72,199,5,5,5,207,5,5,114,214,5,5,208,161,5,5,164,170,5,5,174,176,5,5,175,176,5,5,176,176,5,5,177,176,5,5,135,183,5,5,136,183,5,5,137,183,5,5,138,183,5,5,139,183,5,5,140,183,5,5,141,183,5,5,142,183,5,5,143,183,5,5,144,183,5,5,145,183,5,5,146,183,5,5,147,183,5,5,54,191,5,5,55,191,5,5,56,191,5,5,57,191,5,5,58,191,5,5,59,191,5,5,60,191,5,5,61,191,5,5,62,191,5,5,63,191,5,5,73,199,5,5,74,199,5,5,75,199,5,5,76,199,5,5,6,207,5,5,7,207,5,5,8,207,5,5,9,207,5,5,10,207,5,5,11,207,5,5,12,207,5,5,13,207,5,5,14,207,5,5,15,207,5,5,115,214,5,5,116,214,5,5,117,214,5,5,118,214,5,5,52,221,5,5,53,221,5,5,54,221,5,5,55,221,5,5,56,221,5,5,57,221,5,5,58,221,5,5,134,227,5,5,135,227,5,5,136,227,5,5,137,227,5,5,138,227,5,5,191,232,5,5,192,232,5,5,193,232,5,5,194,232,5,5,198,236,5,5,199,236,5,5,200,236,5,5,45,240,5,5,46,240,5,5,47,240,5,5,48,240,5,5,49,240,5,5,6,243,5,5,7,243,5,5,8,243,5,5,9,243,5,5,49,245,5,5,218,246,5,5,5,248,5,5,229,248,5,5,209,161,5,5,97,165,5,5,165,170,5,5,195,232,5,5,210,161,5,5,149,183,5,5,66,191,5,5,78,199,5,5,50,240,5,5,230,248,5,5,211,161,5,5,152,157,5,5,185,159,5,5,213,161,5,5,214,161,5,5,215,161,5,5,216,161,5,5,217,161,5,5,218,161,5,5,219,161,5,5,220,161,5,5,98,165,5,5,99,165,5,5,100,165,5,5,101,165,5,5,102,165,5,5,103,165,5,5,104,165,5,5,105,165,5,5,106,165,5,5,107,165,5,5,108,165,5,5,109,165,5,5,110,165,5,5,111,165,5,5,112,165,5,5,113,165,5,5,114,165,5,5,178,176,5,5,115,165,5,5,116,165,5,5,117,165,5,5,166,170,5,5,167,170,5,5,168,170,5,5,169,170,5,5,170,170,5,5,171,170,5,5,172,170,5,5,173,170,5,5,174,170,5,5,175,170,5,5,176,170,5,5,177,170,5,5,178,170,5,5,179,170,5,5,180,170,5,5,181,170,5,5,182,170,5,5,183,170,5,5,184,170,5,5,185,170,5,5,186,170,5,5,187,170,5,5,188,170,5,5,189,170,5,5,190,170,5,5,191,170,5,5,192,170,5,5,193,170,5,5,194,170,5,5,195,170,5,5,196,170,5,5,197,170,5,5,198,170,5,5,199,170,5,5,200,170,5,5,150,183,5,5,201,170,5,5,202,170,5,5,203,170,5,5,225,170,5,5,204,170,5,5,205,170,5,5,206,170,5,5,207,170,5,5,208,170,5,5,209,170,5,5,210,170,5,5,211,170,5,5,212,170,5,5,213,170,5,5,214,170,5,5,215,170,5,5,216,170,5,5,217,170,5,5,218,170,5,5,219,170,5,5,179,176,5,5,180,176,5,5,181,176,5,5,182,176,5,5,183,176,5,5,184,176,5,5,185,176,5,5,186,176,5,5,187,176,5,5,188,176,5,5,189,176,5,5,190,176,5,5,191,176,5,5,192,176,5,5,193,176,5,5,194,176,5,5,195,176,5,5,196,176,5,5,197,176,5,5,198,176,5,5,199,176,5,5,200,176,5,5,201,176,5,5,202,176,5,5,203,176,5,5,204,176,5,5,205,176,5,5,206,176,5,5,207,176,5,5,208,176,5,5,209,176,5,5,210,176,5,5,211,176,5,5,212,176,5,5,213,176,5,5,214,176,5,5,215,176,5,5,216,176,5,5,217,176,5,5,218,176,5,5,219,176,5,5,220,176,5,5,221,176,5,5,222,176,5,5,223,176,5,5,224,176,5,5,225,176,5,5,226,176,5,5,227,176,5,5,228,176,5,5,229,176,5,5,230,176,5,5,231,176,5,5,232,176,5,5,233,176,5,5,234,176,5,5,154,183,5,5,235,176,5,5,236,176,5,5,237,176,5,5,238,176,5,5,239,176,5,5,240,176,5,5,241,176,5,5,242,176,5,5,243,176,5,5,79,199,5,5,244,176,5,5,245,176,5,5,246,176,5,5,155,183,5,5,156,183,5,5,157,183,5,5,158,183,5,5,159,183,5,5,160,183,5,5,161,183,5,5,69,191,5,5,162,183,5,5,163,183,5,5,164,183,5,5,165,183,5,5,166,183,5,5,70,191,5,5,167,183,5,5,168,183,5,5,169,183,5,5,170,183,5,5,171,183,5,5,172,183,5,5,173,183,5,5,174,183,5,5,175,183,5,5,176,183,5,5,177,183,5,5,178,183,5,5,179,183,5,5,180,183,5,5,181,183,5,5,182,183,5,5,183,183,5,5,184,183,5,5,185,183,5,5,186,183,5,5,187,183,5,5,188,183,5,5,252,176,5,5,80,199,5,5,189,183,5,5,190,183,5,5,220,170,5,5,191,183,5,5,192,183,5,5,193,183,5,5,194,183,5,5,195,183,5,5,196,183,5,5,197,183,5,5,81,199,5,5,198,183,5,5,199,183,5,5,200,183,5,5,201,183,5,5,202,183,5,5,203,183,5,5,204,183,5,5,205,183,5,5,206,183,5,5,207,183,5,5,208,183,5,5,209,183,5,5,242,183,5,5,210,183,5,5,211,183,5,5,212,183,5,5,213,183,5,5,214,183,5,5,67,191,5,5,215,183,5,5,216,183,5,5,217,183,5,5,218,183,5,5,219,183,5,5,220,183,5,5,221,183,5,5,222,183,5,5,223,183,5,5,224,183,5,5,225,183,5,5,226,183,5,5,227,183,5,5,228,183,5,5,229,183,5,5,230,183,5,5,231,183,5,5,68,191,5,5,232,183,5,5,233,183,5,5,234,183,5,5,235,183,5,5,71,191,5,5,72,191,5,5,73,191,5,5,74,191,5,5,75,191,5,5,76,191,5,5,77,191,5,5,78,191,5,5,79,191,5,5,80,191,5,5,81,191,5,5,82,191,5,5,83,191,5,5,84,191,5,5,85,191,5,5,86,191,5,5,87,191,5,5,88,191,5,5,89,191,5,5,90,191,5,5,91,191,5,5,92,191,5,5,93,191,5,5,94,191,5,5,95,191,5,5,96,191,5,5,97,191,5,5,98,191,5,5,99,191,5,5,100,191,5,5,101,191,5,5,102,191,5,5,103,191,5,5,104,191,5,5,105,191,5,5,106,191,5,5,107,191,5,5,108,191,5,5,109,191,5,5,110,191,5,5,111,191,5,5,112,191,5,5,86,199,5,5,113,191,5,5,114,191,5,5,115,191,5,5,116,191,5,5,117,191,5,5,118,191,5,5,119,191,5,5,120,191,5,5,121,191,5,5,122,191,5,5,123,191,5,5,124,191,5,5,125,191,5,5,126,191,5,5,127,191,5,5,128,191,5,5,129,191,5,5,130,191,5,5,150,191,5,5,131,191,5,5,132,191,5,5,133,191,5,5,134,191,5,5,135,191,5,5,136,191,5,5,137,191,5,5,138,191,5,5,139,191,5,5,140,191,5,5,141,191,5,5,142,191,5,5,143,191,5,5,17,207,5,5,144,191,5,5,145,191,5,5,87,199,5,5,88,199,5,5,89,199,5,5,90,199,5,5,91,199,5,5,92,199,5,5,93,199,5,5,94,199,5,5,95,199,5,5,96,199,5,5,97,199,5,5,98,199,5,5,99,199,5,5,100,199,5,5,101,199,5,5,102,199,5,5,103,199,5,5,104,199,5,5,105,199,5,5,106,199,5,5,107,199,5,5,108,199,5,5,109,199,5,5,110,199,5,5,111,199,5,5,112,199,5,5,113,199,5,5,21,207,5,5,114,199,5,5,115,199,5,5,116,199,5,5,117,199,5,5,118,199,5,5,119,199,5,5,120,199,5,5,121,199,5,5,122,199,5,5,123,199,5,5,124,199,5,5,125,199,5,5,126,199,5,5,127,199,5,5,128,199,5,5,129,199,5,5,130,199,5,5,131,199,5,5,132,199,5,5,133,199,5,5,134,199,5,5,135,199,5,5,136,199,5,5,137,199,5,5,138,199,5,5,139,199,5,5,140,199,5,5,141,199,5,5,142,199,5,5,143,199,5,5,144,199,5,5,145,199,5,5,146,199,5,5,147,199,5,5,148,199,5,5,149,199,5,5,150,199,5,5,151,199,5,5,152,199,5,5,153,199,5,5,154,199,5,5,155,199,5,5,156,199,5,5,157,199,5,5,158,199,5,5,159,199,5,5,160,199,5,5,161,199,5,5,162,199,5,5,163,199,5,5,164,199,5,5,165,199,5,5,166,199,5,5,167,199,5,5,168,199,5,5,169,199,5,5,170,199,5,5,171,199,5,5,172,199,5,5,173,199,5,5,174,199,5,5,175,199,5,5,176,199,5,5,177,199,5,5,178,199,5,5,179,199,5,5,180,199,5,5,181,199,5,5,182,199,5,5,183,199,5,5,184,199,5,5,185,199,5,5,186,199,5,5,187,199,5,5,188,199,5,5,22,207,5,5,189,199,5,5,190,199,5,5,23,207,5,5,24,207,5,5,25,207,5,5,26,207,5,5,40,206,5,5,27,207,5,5,28,207,5,5,29,207,5,5,30,207,5,5,31,207,5,5,32,207,5,5,33,207,5,5,34,207,5,5,35,207,5,5,36,207,5,5,37,207,5,5,205,199,5,5,38,207,5,5,39,207,5,5,40,207,5,5,41,207,5,5,42,207,5,5,43,207,5,5,44,207,5,5,45,207,5,5,46,207,5,5,47,207,5,5,48,207,5,5,49,207,5,5,50,207,5,5,51,207,5,5,52,207,5,5,53,207,5,5,54,207,5,5,55,207,5,5,56,207,5,5,57,207,5,5,58,207,5,5,59,207,5,5,60,207,5,5,61,207,5,5,62,207,5,5,63,207,5,5,64,207,5,5,65,207,5,5,66,207,5,5,67,207,5,5,191,199,5,5,68,207,5,5,69,207,5,5,70,207,5,5,71,207,5,5,72,207,5,5,73,207,5,5,74,207,5,5,75,207,5,5,76,207,5,5,77,207,5,5,78,207,5,5,79,207,5,5,80,207,5,5,81,207,5,5,82,207,5,5,83,207,5,5,84,207,5,5,85,207,5,5,86,207,5,5,87,207,5,5,88,207,5,5,89,207,5,5,90,207,5,5,91,207,5,5,92,207,5,5,93,207,5,5,94,207,5,5,95,207,5,5,96,207,5,5,97,207,5,5,98,207,5,5,99,207,5,5,100,207,5,5,101,207,5,5,102,207,5,5,103,207,5,5,104,207,5,5,105,207,5,5,106,207,5,5,107,207,5,5,108,207,5,5,109,207,5,5,110,207,5,5,111,207,5,5,112,207,5,5,113,207,5,5,114,207,5,5,115,207,5,5,116,207,5,5,117,207,5,5,60,221,5,5,118,207,5,5,119,207,5,5,120,207,5,5,121,207,5,5,122,207,5,5,130,214,5,5,131,214,5,5,132,214,5,5,133,214,5,5,134,214,5,5,135,214,5,5,136,214,5,5,137,214,5,5,138,214,5,5,139,214,5,5,140,214,5,5,141,214,5,5,142,214,5,5,143,214,5,5,144,214,5,5,145,214,5,5,146,214,5,5,147,214,5,5,148,214,5,5,149,214,5,5,150,214,5,5,151,214,5,5,152,214,5,5,153,214,5,5,154,214,5,5,155,214,5,5,156,214,5,5,157,214,5,5,158,214,5,5,159,214,5,5,160,214,5,5,161,214,5,5,162,214,5,5,163,214,5,5,164,214,5,5,165,214,5,5,166,214,5,5,167,214,5,5,168,214,5,5,169,214,5,5,201,212,5,5,170,214,5,5,171,214,5,5,172,214,5,5,173,214,5,5,174,214,5,5,175,214,5,5,176,214,5,5,177,214,5,5,178,214,5,5,179,214,5,5,180,214,5,5,181,214,5,5,135,207,5,5,182,214,5,5,183,214,5,5,136,207,5,5,184,214,5,5,185,214,5,5,186,214,5,5,187,214,5,5,188,214,5,5,189,214,5,5,190,214,5,5,191,214,5,5,192,214,5,5,193,214,5,5,194,214,5,5,195,214,5,5,196,214,5,5,197,214,5,5,198,214,5,5,199,214,5,5,200,214,5,5,201,214,5,5,202,214,5,5,203,214,5,5,204,214,5,5,139,227,5,5,205,214,5,5,62,221,5,5,206,214,5,5,207,214,5,5,208,214,5,5,209,214,5,5,225,214,5,5,210,214,5,5,63,221,5,5,64,221,5,5,65,221,5,5,66,221,5,5,67,221,5,5,68,221,5,5,69,221,5,5,70,221,5,5,71,221,5,5,72,221,5,5,137,207,5,5,73,221,5,5,74,221,5,5,75,221,5,5,76,221,5,5,77,221,5,5,78,221,5,5,79,221,5,5,80,221,5,5,81,221,5,5,82,221,5,5,83,221,5,5,84,221,5,5,85,221,5,5,86,221,5,5,87,221,5,5,88,221,5,5,89,221,5,5,90,221,5,5,91,221,5,5,92,221,5,5,93,221,5,5,138,207,5,5,94,221,5,5,95,221,5,5,96,221,5,5,97,221,5,5,98,221,5,5,99,221,5,5,100,221,5,5,101,221,5,5,102,221,5,5,103,221,5,5,104,221,5,5,105,221,5,5,106,221,5,5,107,221,5,5,108,221,5,5,109,221,5,5,110,221,5,5,111,221,5,5,112,221,5,5,113,221,5,5,114,221,5,5,115,221,5,5,116,221,5,5,117,221,5,5,118,221,5,5,119,221,5,5,120,221,5,5,121,221,5,5,122,221,5,5,123,221,5,5,124,221,5,5,125,221,5,5,126,221,5,5,127,221,5,5,128,221,5,5,129,221,5,5,130,221,5,5,131,221,5,5,132,221,5,5,133,221,5,5,134,221,5,5,135,221,5,5,136,221,5,5,137,221,5,5,138,221,5,5,139,221,5,5,140,221,5,5,141,221,5,5,142,221,5,5,143,221,5,5,144,221,5,5,145,221,5,5,146,221,5,5,159,221,5,5,145,227,5,5,146,227,5,5,147,227,5,5,148,227,5,5,149,227,5,5,150,227,5,5,151,227,5,5,152,227,5,5,153,227,5,5,154,227,5,5,155,227,5,5,156,227,5,5,157,227,5,5,158,227,5,5,159,227,5,5,160,227,5,5,161,227,5,5,160,221,5,5,162,227,5,5,163,227,5,5,164,227,5,5,165,227,5,5,166,227,5,5,167,227,5,5,168,227,5,5,202,232,5,5,169,227,5,5,170,227,5,5,171,227,5,5,172,227,5,5,173,227,5,5,174,227,5,5,175,227,5,5,176,227,5,5,177,227,5,5,178,227,5,5,179,227,5,5,180,227,5,5,181,227,5,5,182,227,5,5,183,227,5,5,184,227,5,5,185,227,5,5,186,227,5,5,187,227,5,5,188,227,5,5,189,227,5,5,190,227,5,5,191,227,5,5,192,227,5,5,193,227,5,5,194,227,5,5,195,227,5,5,196,227,5,5,197,227,5,5,198,227,5,5,203,232,5,5,204,232,5,5,205,232,5,5,206,232,5,5,207,232,5,5,208,232,5,5,209,232,5,5,210,232,5,5,211,232,5,5,212,232,5,5,213,232,5,5,214,232,5,5,215,232,5,5,216,232,5,5,217,232,5,5,218,232,5,5,219,232,5,5,220,232,5,5,221,232,5,5,222,232,5,5,223,232,5,5,224,232,5,5,211,227,5,5,225,232,5,5,226,232,5,5,227,232,5,5,228,232,5,5,229,232,5,5,230,232,5,5,231,232,5,5,232,232,5,5,233,232,5,5,234,232,5,5,235,232,5,5,236,232,5,5,237,232,5,5,238,232,5,5,239,232,5,5,240,232,5,5,241,232,5,5,242,232,5,5,243,232,5,5,244,232,5,5,245,232,5,5,246,232,5,5,247,232,5,5,248,232,5,5,249,232,5,5,250,232,5,5,251,232,5,5,252,232,5,5,211,236,5,5,253,232,5,5,254,232,5,5,255,232,5,5,8,233,5,5,2,233,5,5,9,233,5,5,212,236,5,5,213,236,5,5,214,236,5,5,215,236,5,5,216,236,5,5,217,236,5,5,218,236,5,5,219,236,5,5,220,236,5,5,221,236,5,5,222,236,5,5,223,236,5,5,224,236,5,5,225,236,5,5,226,236,5,5,227,236,5,5,228,236,5,5,229,236,5,5,230,236,5,5,231,236,5,5,232,236,5,5,233,236,5,5,234,236,5,5,235,236,5,5,236,236,5,5,237,236,5,5,238,236,5,5,239,236,5,5,240,236,5,5,241,236,5,5,242,236,5,5,243,236,5,5,244,236,5,5,54,240,5,5,245,236,5,5,246,236,5,5,50,245,5,5,55,240,5,5,56,240,5,5,57,240,5,5,58,240,5,5,59,240,5,5,60,240,5,5,61,240,5,5,62,240,5,5,63,240,5,5,64,240,5,5,65,240,5,5,66,240,5,5,67,240,5,5,68,240,5,5,69,240,5,5,70,240,5,5,71,240,5,5,72,240,5,5,73,240,5,5,74,240,5,5,75,240,5,5,76,240,5,5,77,240,5,5,78,240,5,5,79,240,5,5,17,243,5,5,80,240,5,5,81,240,5,5,82,240,5,5,83,240,5,5,84,240,5,5,85,240,5,5,86,240,5,5,18,243,5,5,90,240,5,5,91,240,5,5,19,243,5,5,20,243,5,5,21,243,5,5,22,243,5,5,23,243,5,5,24,243,5,5,25,243,5,5,26,243,5,5,27,243,5,5,28,243,5,5,29,243,5,5,30,243,5,5,31,243,5,5,32,243,5,5,33,243,5,5,34,243,5,5,35,243,5,5,36,243,5,5,37,243,5,5,38,243,5,5,39,243,5,5,40,243,5,5,41,243,5,5,42,243,5,5,43,243,5,5,51,243,5,5,44,243,5,5,45,243,5,5,53,245,5,5,54,245,5,5,55,245,5,5,56,245,5,5,57,245,5,5,58,245,5,5,52,243,5,5,59,245,5,5,60,245,5,5,61,245,5,5,62,245,5,5,63,245,5,5,64,245,5,5,46,243,5,5,65,245,5,5,10,243,5,5,66,245,5,5,67,245,5,5,68,245,5,5,69,245,5,5,70,245,5,5,71,245,5,5,72,245,5,5,222,246,5,5,73,245,5,5,74,245,5,5,75,245,5,5,53,243,5,5,7,248,5,5,223,246,5,5,224,246,5,5,225,246,5,5,226,246,5,5,227,246,5,5,228,246,5,5,8,248,5,5,9,248,5,5,10,248,5,5,11,248,5,5,12,248,5,5,13,248,5,5,14,248,5,5,15,248,5,5,16,248,5,5,17,248,5,5,141,249,5,5,232,248,5,5,236,249,5,5,233,248,5,5,142,249,5,5,143,249,5,5,144,249,5,5,145,249,5,5,37,250,5,5,124,250,5,5,96,250,5,5,221,161,5,5,226,170,5,5,227,170,5,5,253,176,5,5,243,183,5,5,149,178,5,5,244,183,5,5,245,183,5,5,152,191,5,5,153,191,5,5,154,191,5,5,155,191,5,5,156,191,5,5,157,191,5,5,206,199,5,5,139,207,5,5,207,199,5,5,140,207,5,5,141,207,5,5,226,214,5,5,227,214,5,5,161,221,5,5,213,227,5,5,214,227,5,5,215,227,5,5,216,227,5,5,10,233,5,5,11,233,5,5,251,236,5,5,237,249,5,5,222,161,5,5,120,165,5,5,228,170,5,5,229,170,5,5,230,170,5,5,231,170,5,5,232,170,5,5,233,170,5,5,254,176,5,5,255,176,5,5,2,177,5,5,3,177,5,5,4,177,5,5,5,177,5,5,6,177,5,5,7,177,5,5,8,177,5,5,9,177,5,5,10,177,5,5,11,177,5,5,12,177,5,5,13,177,5,5,14,177,5,5,15,177,5,5,16,177,5,5,246,183,5,5,247,183,5,5,248,183,5,5,249,183,5,5,208,199,5,5,250,183,5,5,251,183,5,5,252,183,5,5,253,183,5,5,254,183,5,5,255,183,5,5,2,184,5,5,3,184,5,5,4,184,5,5,5,184,5,5,6,184,5,5,7,184,5,5,8,184,5,5,9,184,5,5,10,184,5,5,11,184,5,5,12,184,5,5,13,184,5,5,14,184,5,5,15,184,5,5,16,184,5,5,17,184,5,5,18,184,5,5,19,184,5,5,20,184,5,5,21,184,5,5,22,184,5,5,23,184,5,5,24,184,5,5,25,184,5,5,26,184,5,5,27,184,5,5,28,184,5,5,29,184,5,5,158,191,5,5,30,184,5,5,159,191,5,5,160,191,5,5,161,191,5,5,162,191,5,5,163,191,5,5,164,191,5,5,165,191,5,5,166,191,5,5,167,191,5,5,168,191,5,5,169,191,5,5,170,191,5,5,171,191,5,5,172,191,5,5,173,191,5,5,174,191,5,5,175,191,5,5,176,191,5,5,177,191,5,5,178,191,5,5,179,191,5,5,180,191,5,5,181,191,5,5,182,191,5,5,183,191,5,5,184,191,5,5,185,191,5,5,186,191,5,5,187,191,5,5,188,191,5,5,189,191,5,5,190,191,5,5,191,191,5,5,192,191,5,5,193,191,5,5,209,199,5,5,210,199,5,5,211,199,5,5,212,199,5,5,213,199,5,5,214,199,5,5,142,207,5,5,215,199,5,5,216,199,5,5,217,199,5,5,218,199,5,5,219,199,5,5,220,199,5,5,221,199,5,5,222,199,5,5,223,199,5,5,224,199,5,5,225,199,5,5,226,199,5,5,227,199,5,5,228,199,5,5,229,199,5,5,230,199,5,5,231,199,5,5,232,199,5,5,233,199,5,5,234,199,5,5,235,199,5,5,236,199,5,5,237,199,5,5,238,199,5,5,239,199,5,5,240,199,5,5,241,199,5,5,242,199,5,5,243,199,5,5,244,199,5,5,143,207,5,5,144,207,5,5,145,207,5,5,146,207,5,5,147,207,5,5,148,207,5,5,149,207,5,5,150,207,5,5,151,207,5,5,152,207,5,5,153,207,5,5,154,207,5,5,155,207,5,5,156,207,5,5,157,207,5,5,158,207,5,5,159,207,5,5,160,207,5,5,161,207,5,5,162,207,5,5,163,207,5,5,164,207,5,5,165,207,5,5,166,207,5,5,167,207,5,5,168,207,5,5,169,207,5,5,170,207,5,5,229,214,5,5,230,214,5,5,171,207,5,5,172,207,5,5,173,207,5,5,174,207,5,5,175,207,5,5,232,214,5,5,233,214,5,5,234,214,5,5,235,214,5,5,236,214,5,5,237,214,5,5,238,214,5,5,239,214,5,5,240,214,5,5,241,214,5,5,242,214,5,5,243,214,5,5,244,214,5,5,245,214,5,5,246,214,5,5,247,214,5,5,248,214,5,5,249,214,5,5,250,214,5,5,231,214,5,5,251,214,5,5,252,214,5,5,253,214,5,5,254,214,5,5,255,214,5,5,2,215,5,5,3,215,5,5,4,215,5,5,5,215,5,5,6,215,5,5,7,215,5,5,8,215,5,5,9,215,5,5,10,215,5,5,11,215,5,5,12,215,5,5,13,215,5,5,14,215,5,5,15,215,5,5,16,215,5,5,17,215,5,5,18,215,5,5,19,215,5,5,20,215,5,5,21,215,5,5,22,215,5,5,176,207,5,5,23,215,5,5,24,215,5,5,25,215,5,5,26,215,5,5,27,215,5,5,162,221,5,5,178,207,5,5,163,221,5,5,164,221,5,5,165,221,5,5,166,221,5,5,167,221,5,5,168,221,5,5,169,221,5,5,28,215,5,5,170,221,5,5,171,221,5,5,172,221,5,5,173,221,5,5,174,221,5,5,175,221,5,5,176,221,5,5,177,221,5,5,178,221,5,5,179,221,5,5,180,221,5,5,181,221,5,5,182,221,5,5,183,221,5,5,184,221,5,5,185,221,5,5,186,221,5,5,187,221,5,5,188,221,5,5,189,221,5,5,190,221,5,5,29,215,5,5,191,221,5,5,192,221,5,5,193,221,5,5,194,221,5,5,195,221,5,5,196,221,5,5,197,221,5,5,198,221,5,5,199,221,5,5,200,221,5,5,201,221,5,5,202,221,5,5,203,221,5,5,217,227,5,5,204,221,5,5,205,221,5,5,206,221,5,5,207,221,5,5,208,221,5,5,209,221,5,5,210,221,5,5,218,227,5,5,214,221,5,5,219,227,5,5,220,227,5,5,221,227,5,5,222,227,5,5,223,227,5,5,224,227,5,5,225,227,5,5,226,227,5,5,227,227,5,5,228,227,5,5,229,227,5,5,230,227,5,5,231,227,5,5,232,227,5,5,233,227,5,5,234,227,5,5,235,227,5,5,236,227,5,5,237,227,5,5,238,227,5,5,239,227,5,5,240,227,5,5,241,227,5,5,242,227,5,5,243,227,5,5,244,227,5,5,245,227,5,5,246,227,5,5,247,227,5,5,248,227,5,5,249,227,5,5,250,227,5,5,251,227,5,5,252,227,5,5,253,227,5,5,254,227,5,5,255,227,5,5,2,228,5,5,3,228,5,5,12,233,5,5,13,233,5,5,14,233,5,5,15,233,5,5,16,233,5,5,17,233,5,5,18,233,5,5,19,233,5,5,20,233,5,5,21,233,5,5,22,233,5,5,23,233,5,5,24,233,5,5,25,233,5,5,26,233,5,5,27,233,5,5,28,233,5,5,29,233,5,5,30,233,5,5,31,233,5,5,32,233,5,5,33,233,5,5,34,233,5,5,35,233,5,5,36,233,5,5,37,233,5,5,38,233,5,5,39,233,5,5,40,233,5,5,41,233,5,5,42,233,5,5,43,233,5,5,44,233,5,5,45,233,5,5,46,233,5,5,47,233,5,5,48,233,5,5,49,233,5,5,50,233,5,5,51,233,5,5,52,233,5,5,254,236,5,5,255,236,5,5,93,240,5,5,2,237,5,5,253,236,5,5,3,237,5,5,4,237,5,5,5,237,5,5,6,237,5,5,7,237,5,5,8,237,5,5,58,233,5,5,9,237,5,5,10,237,5,5,211,221,5,5,11,237,5,5,12,237,5,5,13,237,5,5,14,237,5,5,15,237,5,5,16,237,5,5,17,237,5,5,18,237,5,5,19,237,5,5,20,237,5,5,21,237,5,5,22,237,5,5,23,237,5,5,24,237,5,5,25,237,5,5,26,237,5,5,27,237,5,5,28,237,5,5,29,237,5,5,30,237,5,5,94,240,5,5,95,240,5,5,96,240,5,5,97,240,5,5,98,240,5,5,99,240,5,5,100,240,5,5,101,240,5,5,102,240,5,5,103,240,5,5,104,240,5,5,92,240,5,5,105,240,5,5,106,240,5,5,107,240,5,5,108,240,5,5,109,240,5,5,110,240,5,5,111,240,5,5,112,240,5,5,113,240,5,5,114,240,5,5,115,240,5,5,116,240,5,5,31,237,5,5,117,240,5,5,54,243,5,5,55,243,5,5,56,243,5,5,57,243,5,5,58,243,5,5,59,243,5,5,60,243,5,5,61,243,5,5,62,243,5,5,63,243,5,5,81,245,5,5,82,245,5,5,83,245,5,5,84,245,5,5,118,240,5,5,85,245,5,5,86,245,5,5,87,245,5,5,88,245,5,5,89,245,5,5,90,245,5,5,232,246,5,5,233,246,5,5,234,246,5,5,235,246,5,5,93,245,5,5,236,246,5,5,94,245,5,5,237,246,5,5,20,248,5,5,21,248,5,5,22,248,5,5,23,248,5,5,24,248,5,5,25,248,5,5,26,248,5,5,19,248,5,5,236,248,5,5,237,248,5,5,238,248,5,5,239,248,5,5,240,248,5,5,241,248,5,5,146,249,5,5,238,249,5,5,38,250,5,5,39,250,5,5,40,250,5,5,223,161,5,5,17,177,5,5,18,177,5,5,31,184,5,5,32,184,5,5,200,191,5,5,250,199,5,5,251,199,5,5,252,199,5,5,253,199,5,5,95,245,5,5,242,248,5,5,224,161,5,5,20,177,5,5,21,177,5,5,33,184,5,5,201,191,5,5,202,191,5,5,203,191,5,5,204,191,5,5,205,191,5,5,254,199,5,5,255,199,5,5,2,200,5,5,179,207,5,5,180,207,5,5,215,221,5,5,216,221,5,5,217,221,5,5,218,221,5,5,6,228,5,5,7,228,5,5,8,228,5,5,9,228,5,5,243,248,5,5,225,161,5,5,186,159,5,5,235,170,5,5,23,177,5,5,24,177,5,5,236,170,5,5,25,177,5,5,26,177,5,5,27,177,5,5,28,177,5,5,35,184,5,5,36,184,5,5,37,184,5,5,38,184,5,5,39,184,5,5,40,184,5,5,41,184,5,5,42,184,5,5,43,184,5,5,44,184,5,5,45,184,5,5,46,184,5,5,47,184,5,5,48,184,5,5,49,184,5,5,50,184,5,5,51,184,5,5,52,184,5,5,53,184,5,5,54,184,5,5,55,184,5,5,56,184,5,5,57,184,5,5,58,184,5,5,59,184,5,5,60,184,5,5,61,184,5,5,206,191,5,5,207,191,5,5,208,191,5,5,209,191,5,5,210,191,5,5,211,191,5,5,212,191,5,5,213,191,5,5,214,191,5,5,215,191,5,5,216,191,5,5,217,191,5,5,218,191,5,5,219,191,5,5,220,191,5,5,221,191,5,5,222,191,5,5,223,191,5,5,224,191,5,5,225,191,5,5,226,191,5,5,227,191,5,5,228,191,5,5,229,191,5,5,230,191,5,5,231,191,5,5,232,191,5,5,233,191,5,5,234,191,5,5,235,191,5,5,236,191,5,5,237,191,5,5,238,191,5,5,239,191,5,5,240,191,5,5,241,191,5,5,242,191,5,5,243,191,5,5,244,191,5,5,247,191,5,5,245,191,5,5,3,200,5,5,4,200,5,5,5,200,5,5,6,200,5,5,7,200,5,5,8,200,5,5,9,200,5,5,10,200,5,5,11,200,5,5,12,200,5,5,13,200,5,5,14,200,5,5,15,200,5,5,16,200,5,5,17,200,5,5,18,200,5,5,19,200,5,5,20,200,5,5,21,200,5,5,22,200,5,5,23,200,5,5,24,200,5,5,25,200,5,5,26,200,5,5,27,200,5,5,181,207,5,5,182,207,5,5,183,207,5,5,184,207,5,5,185,207,5,5,186,207,5,5,187,207,5,5,188,207,5,5,189,207,5,5,190,207,5,5,191,207,5,5,192,207,5,5,193,207,5,5,28,200,5,5,194,207,5,5,195,207,5,5,196,207,5,5,197,207,5,5,198,207,5,5,199,207,5,5,200,207,5,5,201,207,5,5,202,207,5,5,203,207,5,5,30,215,5,5,204,207,5,5,205,207,5,5,206,207,5,5,220,221,5,5,31,215,5,5,32,215,5,5,33,215,5,5,34,215,5,5,35,215,5,5,36,215,5,5,37,215,5,5,38,215,5,5,39,215,5,5,40,215,5,5,41,215,5,5,42,215,5,5,43,215,5,5,44,215,5,5,45,215,5,5,46,215,5,5,47,215,5,5,48,215,5,5,49,215,5,5,50,215,5,5,51,215,5,5,52,215,5,5,53,215,5,5,54,215,5,5,55,215,5,5,56,215,5,5,30,200,5,5,57,215,5,5,58,215,5,5,59,215,5,5,221,221,5,5,222,221,5,5,223,221,5,5,224,221,5,5,225,221,5,5,226,221,5,5,227,221,5,5,228,221,5,5,229,221,5,5,230,221,5,5,231,221,5,5,232,221,5,5,233,221,5,5,234,221,5,5,235,221,5,5,236,221,5,5,237,221,5,5,238,221,5,5,239,221,5,5,240,221,5,5,241,221,5,5,61,215,5,5,242,221,5,5,243,221,5,5,244,221,5,5,12,228,5,5,13,228,5,5,14,228,5,5,15,228,5,5,16,228,5,5,17,228,5,5,18,228,5,5,19,228,5,5,20,228,5,5,21,228,5,5,22,228,5,5,23,228,5,5,24,228,5,5,25,228,5,5,26,228,5,5,27,228,5,5,28,228,5,5,29,228,5,5,30,228,5,5,31,228,5,5,32,228,5,5,59,233,5,5,33,228,5,5,60,233,5,5,61,233,5,5,62,233,5,5,63,233,5,5,64,233,5,5,65,233,5,5,66,233,5,5,67,233,5,5,68,233,5,5,69,233,5,5,70,233,5,5,71,233,5,5,72,233,5,5,73,233,5,5,74,233,5,5,75,233,5,5,76,233,5,5,35,237,5,5,36,237,5,5,37,237,5,5,38,237,5,5,39,237,5,5,40,237,5,5,41,237,5,5,42,237,5,5,43,237,5,5,44,237,5,5,45,237,5,5,46,237,5,5,79,233,5,5,47,237,5,5,77,233,5,5,48,237,5,5,119,240,5,5,120,240,5,5,121,240,5,5,122,240,5,5,123,240,5,5,124,240,5,5,125,240,5,5,126,240,5,5,127,240,5,5,128,240,5,5,129,240,5,5,130,240,5,5,131,240,5,5,66,243,5,5,67,243,5,5,68,243,5,5,69,243,5,5,70,243,5,5,71,243,5,5,96,245,5,5,97,245,5,5,98,245,5,5,99,245,5,5,100,245,5,5,101,245,5,5,239,246,5,5,240,246,5,5,241,246,5,5,242,246,5,5,27,248,5,5,28,248,5,5,244,248,5,5,29,248,5,5,245,248,5,5,148,249,5,5,149,249,5,5,150,249,5,5,151,249,5,5,152,249,5,5,41,250,5,5,226,161,5,5,227,161,5,5,228,161,5,5,31,177,5,5,248,191,5,5,31,200,5,5,32,200,5,5,207,207,5,5,51,237,5,5,132,240,5,5,133,240,5,5,30,248,5,5,153,249,5,5,122,165,5,5,32,177,5,5,65,184,5,5,66,184,5,5,249,191,5,5,250,191,5,5,251,191,5,5,252,191,5,5,253,191,5,5,254,191,5,5,34,200,5,5,72,190,5,5,35,200,5,5,36,200,5,5,33,200,5,5,37,200,5,5,208,207,5,5,209,207,5,5,62,215,5,5,63,215,5,5,64,215,5,5,65,215,5,5,66,215,5,5,248,221,5,5,249,221,5,5,250,221,5,5,251,221,5,5,38,228,5,5,39,228,5,5,40,228,5,5,253,221,5,5,41,228,5,5,82,233,5,5,83,233,5,5,84,233,5,5,85,233,5,5,86,233,5,5,52,237,5,5,53,237,5,5,54,237,5,5,55,237,5,5,134,240,5,5,135,240,5,5,136,240,5,5,137,240,5,5,138,240,5,5,72,243,5,5,73,243,5,5,74,243,5,5,102,245,5,5,103,245,5,5,243,246,5,5,244,246,5,5,154,249,5,5,111,158,5,5,229,161,5,5,123,165,5,5,237,170,5,5,238,170,5,5,16,176,5,5,33,177,5,5,34,177,5,5,35,177,5,5,67,184,5,5,2,192,5,5,38,200,5,5,39,200,5,5,211,207,5,5,67,215,5,5,254,221,5,5,255,221,5,5,124,165,5,5,36,177,5,5,37,177,5,5,3,192,5,5,4,192,5,5,5,192,5,5,6,192,5,5,7,192,5,5,40,200,5,5,41,200,5,5,212,207,5,5,42,200,5,5,43,200,5,5,213,207,5,5,214,207,5,5,215,207,5,5,216,207,5,5,217,207,5,5,218,207,5,5,219,207,5,5,220,207,5,5,221,207,5,5,68,215,5,5,69,215,5,5,70,215,5,5,71,215,5,5,2,222,5,5,3,222,5,5,4,222,5,5,5,222,5,5,6,222,5,5,43,228,5,5,87,233,5,5,88,233,5,5,57,237,5,5,139,240,5,5,140,240,5,5,75,243,5,5,76,243,5,5,77,243,5,5,104,245,5,5,246,246,5,5,247,246,5,5,31,248,5,5,32,248,5,5,155,249,5,5,127,165,5,5,128,165,5,5,38,177,5,5,39,177,5,5,40,177,5,5,41,177,5,5,42,177,5,5,43,177,5,5,44,177,5,5,68,184,5,5,69,184,5,5,70,184,5,5,71,184,5,5,72,184,5,5,73,184,5,5,74,184,5,5,75,184,5,5,76,184,5,5,77,184,5,5,78,184,5,5,79,184,5,5,80,184,5,5,81,184,5,5,82,184,5,5,83,184,5,5,84,184,5,5,85,184,5,5,9,192,5,5,10,192,5,5,11,192,5,5,12,192,5,5,13,192,5,5,14,192,5,5,15,192,5,5,16,192,5,5,17,192,5,5,18,192,5,5,19,192,5,5,20,192,5,5,21,192,5,5,22,192,5,5,23,192,5,5,24,192,5,5,25,192,5,5,26,192,5,5,27,192,5,5,28,192,5,5,29,192,5,5,30,192,5,5,31,192,5,5,32,192,5,5,33,192,5,5,44,200,5,5,45,200,5,5,46,200,5,5,47,200,5,5,48,200,5,5,49,200,5,5,50,200,5,5,51,200,5,5,52,200,5,5,53,200,5,5,222,207,5,5,223,207,5,5,54,200,5,5,55,200,5,5,56,200,5,5,57,200,5,5,58,200,5,5,59,200,5,5,60,200,5,5,61,200,5,5,62,200,5,5,63,200,5,5,64,200,5,5,65,200,5,5,66,200,5,5,67,200,5,5,68,200,5,5,69,200,5,5,70,200,5,5,71,200,5,5,72,200,5,5,73,200,5,5,74,200,5,5,75,200,5,5,76,200,5,5,77,200,5,5,78,200,5,5,79,200,5,5,80,200,5,5,81,200,5,5,82,200,5,5,83,200,5,5,84,200,5,5,85,200,5,5,86,200,5,5,224,207,5,5,225,207,5,5,226,207,5,5,227,207,5,5,228,207,5,5,229,207,5,5,230,207,5,5,231,207,5,5,232,207,5,5,233,207,5,5,234,207,5,5,235,207,5,5,236,207,5,5,237,207,5,5,238,207,5,5,239,207,5,5,240,207,5,5,241,207,5,5,242,207,5,5,243,207,5,5,244,207,5,5,245,207,5,5,246,207,5,5,247,207,5,5,248,207,5,5,249,207,5,5,250,207,5,5,251,207,5,5,252,207,5,5,253,207,5,5,254,207,5,5,255,207,5,5,2,208,5,5,3,208,5,5,4,208,5,5,5,208,5,5,6,208,5,5,7,208,5,5,8,208,5,5,9,208,5,5,10,208,5,5,11,208,5,5,72,215,5,5,73,215,5,5,74,215,5,5,75,215,5,5,76,215,5,5,77,215,5,5,78,215,5,5,79,215,5,5,80,215,5,5,81,215,5,5,7,222,5,5,82,215,5,5,83,215,5,5,84,215,5,5,85,215,5,5,86,215,5,5,87,215,5,5,88,215,5,5,89,215,5,5,90,215,5,5,91,215,5,5,12,208,5,5,92,215,5,5,93,215,5,5,94,215,5,5,95,215,5,5,96,215,5,5,97,215,5,5,98,215,5,5,99,215,5,5,100,215,5,5,101,215,5,5,102,215,5,5,103,215,5,5,104,215,5,5,105,215,5,5,8,222,5,5,9,222,5,5,10,222,5,5,11,222,5,5,12,222,5,5,13,222,5,5,14,222,5,5,15,222,5,5,16,222,5,5,17,222,5,5,18,222,5,5,19,222,5,5,20,222,5,5,21,222,5,5,22,222,5,5,23,222,5,5,24,222,5,5,25,222,5,5,26,222,5,5,27,222,5,5,28,222,5,5,29,222,5,5,30,222,5,5,31,222,5,5,32,222,5,5,33,222,5,5,34,222,5,5,35,222,5,5,36,222,5,5,37,222,5,5,38,222,5,5,39,222,5,5,40,222,5,5,41,222,5,5,42,222,5,5,43,222,5,5,44,222,5,5,45,222,5,5,46,222,5,5,47,222,5,5,48,222,5,5,49,222,5,5,50,222,5,5,51,222,5,5,58,222,5,5,45,228,5,5,46,228,5,5,47,228,5,5,48,228,5,5,49,228,5,5,50,228,5,5,51,228,5,5,52,228,5,5,53,228,5,5,54,228,5,5,55,228,5,5,56,228,5,5,57,228,5,5,52,222,5,5,58,228,5,5,59,228,5,5,60,228,5,5,61,228,5,5,62,228,5,5,63,228,5,5,64,228,5,5,65,228,5,5,66,228,5,5,67,228,5,5,68,228,5,5,69,228,5,5,70,228,5,5,71,228,5,5,59,222,5,5,72,228,5,5,73,228,5,5,74,228,5,5,75,228,5,5,76,228,5,5,77,228,5,5,78,228,5,5,79,228,5,5,80,228,5,5,81,228,5,5,82,228,5,5,90,233,5,5,91,233,5,5,92,233,5,5,93,233,5,5,94,233,5,5,95,233,5,5,96,233,5,5,97,233,5,5,98,233,5,5,99,233,5,5,100,233,5,5,101,233,5,5,102,233,5,5,103,233,5,5,104,233,5,5,105,233,5,5,85,228,5,5,106,233,5,5,107,233,5,5,108,233,5,5,109,233,5,5,110,233,5,5,111,233,5,5,112,233,5,5,113,233,5,5,114,233,5,5,115,233,5,5,116,233,5,5,117,233,5,5,118,233,5,5,119,233,5,5,59,237,5,5,60,237,5,5,61,237,5,5,62,237,5,5,63,237,5,5,64,237,5,5,65,237,5,5,66,237,5,5,67,237,5,5,68,237,5,5,69,237,5,5,70,237,5,5,71,237,5,5,72,237,5,5,73,237,5,5,74,237,5,5,75,237,5,5,76,237,5,5,77,237,5,5,78,237,5,5,79,237,5,5,80,237,5,5,81,237,5,5,82,237,5,5,83,237,5,5,84,237,5,5,85,237,5,5,86,237,5,5,141,240,5,5,142,240,5,5,143,240,5,5,144,240,5,5,145,240,5,5,146,240,5,5,105,245,5,5,147,240,5,5,88,237,5,5,148,240,5,5,149,240,5,5,150,240,5,5,151,240,5,5,152,240,5,5,78,243,5,5,153,240,5,5,154,240,5,5,155,240,5,5,156,240,5,5,157,240,5,5,158,240,5,5,159,240,5,5,160,240,5,5,161,240,5,5,162,240,5,5,163,240,5,5,164,240,5,5,165,240,5,5,166,240,5,5,167,240,5,5,79,243,5,5,80,243,5,5,81,243,5,5,82,243,5,5,83,243,5,5,84,243,5,5,85,243,5,5,86,243,5,5,87,243,5,5,88,243,5,5,89,243,5,5,90,243,5,5,91,243,5,5,92,243,5,5,93,243,5,5,94,243,5,5,95,243,5,5,96,243,5,5,97,243,5,5,98,243,5,5,99,243,5,5,100,243,5,5,106,245,5,5,107,245,5,5,108,245,5,5,109,245,5,5,110,245,5,5,111,245,5,5,112,245,5,5,113,245,5,5,114,245,5,5,115,245,5,5,116,245,5,5,248,246,5,5,249,246,5,5,250,246,5,5,251,246,5,5,252,246,5,5,253,246,5,5,254,246,5,5,255,246,5,5,4,247,5,5,33,248,5,5,34,248,5,5,35,248,5,5,36,248,5,5,37,248,5,5,38,248,5,5,39,248,5,5,40,248,5,5,41,248,5,5,42,248,5,5,247,248,5,5,248,248,5,5,249,248,5,5,250,248,5,5,251,248,5,5,252,248,5,5,156,249,5,5,157,249,5,5,158,249,5,5,239,249,5,5,240,249,5,5,42,250,5,5,43,250,5,5,44,250,5,5,125,250,5,5,47,157,5,5,112,158,5,5,113,158,5,5,114,158,5,5,115,158,5,5,116,158,5,5,187,159,5,5,188,159,5,5,189,159,5,5,190,159,5,5,191,159,5,5,192,159,5,5,193,159,5,5,194,159,5,5,195,159,5,5,196,159,5,5,197,159,5,5,198,159,5,5,230,161,5,5,231,161,5,5,232,161,5,5,233,161,5,5,234,161,5,5,235,161,5,5,236,161,5,5,237,161,5,5,238,161,5,5,239,161,5,5,240,161,5,5,241,161,5,5,242,161,5,5,243,161,5,5,244,161,5,5,129,165,5,5,130,165,5,5,131,165,5,5,132,165,5,5,133,165,5,5,134,165,5,5,135,165,5,5,136,165,5,5,137,165,5,5,138,165,5,5,139,165,5,5,140,165,5,5,141,165,5,5,142,165,5,5,143,165,5,5,144,165,5,5,145,165,5,5,146,165,5,5,239,170,5,5,240,170,5,5,241,170,5,5,242,170,5,5,243,170,5,5,244,170,5,5,245,170,5,5,246,170,5,5,247,170,5,5,248,170,5,5,249,170,5,5,250,170,5,5,251,170,5,5,252,170,5,5,253,170,5,5,254,170,5,5,255,170,5,5,2,171,5,5,3,171,5,5,4,171,5,5,5,171,5,5,6,171,5,5,7,171,5,5,46,177,5,5,47,177,5,5,48,177,5,5,49,177,5,5,50,177,5,5,51,177,5,5,52,177,5,5,53,177,5,5,54,177,5,5,55,177,5,5,56,177,5,5,57,177,5,5,58,177,5,5,87,184,5,5,88,184,5,5,89,184,5,5,90,184,5,5,91,184,5,5,92,184,5,5,93,184,5,5,94,184,5,5,95,184,5,5,96,184,5,5,97,184,5,5,98,184,5,5,99,184,5,5,100,184,5,5,101,184,5,5,102,184,5,5,103,184,5,5,104,184,5,5,105,184,5,5,106,184,5,5,37,192,5,5,38,192,5,5,39,192,5,5,40,192,5,5,41,192,5,5,42,192,5,5,43,192,5,5,44,192,5,5,45,192,5,5,46,192,5,5,47,192,5,5,48,192,5,5,49,192,5,5,50,192,5,5,51,192,5,5,52,192,5,5,53,192,5,5,54,192,5,5,55,192,5,5,56,192,5,5,90,200,5,5,91,200,5,5,92,200,5,5,93,200,5,5,94,200,5,5,95,200,5,5,96,200,5,5,97,200,5,5,98,200,5,5,14,208,5,5,15,208,5,5,16,208,5,5,17,208,5,5,18,208,5,5,109,215,5,5,110,215,5,5,111,215,5,5,112,215,5,5,113,215,5,5,114,215,5,5,60,222,5,5,61,222,5,5,62,222,5,5,171,240,5,5,147,165,5,5,107,184,5,5,57,192,5,5,58,192,5,5,59,192,5,5,19,208,5,5,115,215,5,5,63,222,5,5,124,233,5,5,125,233,5,5,126,233,5,5,89,237,5,5,172,240,5,5,5,247,5,5,43,248,5,5,148,165,5,5,108,184,5,5,109,184,5,5,60,192,5,5,20,208,5,5,21,208,5,5,64,222,5,5,65,222,5,5,66,222,5,5,127,233,5,5,90,237,5,5,106,243,5,5,159,249,5,5,45,250,5,5,97,250,5,5,149,165,5,5,8,171,5,5,110,184,5,5,61,192,5,5,62,192,5,5,63,192,5,5,64,192,5,5,65,192,5,5,66,192,5,5,99,200,5,5,100,200,5,5,101,200,5,5,102,200,5,5,23,208,5,5,24,208,5,5,25,208,5,5,26,208,5,5,27,208,5,5,116,215,5,5,117,215,5,5,118,215,5,5,119,215,5,5,86,228,5,5,69,222,5,5,87,228,5,5,88,228,5,5,128,233,5,5,129,233,5,5,130,233,5,5,131,233,5,5,132,233,5,5,91,237,5,5,92,237,5,5,174,240,5,5,173,240,5,5,150,165,5,5,111,184,5,5,112,184,5,5,113,184,5,5,69,192,5,5,70,192,5,5,104,200,5,5,105,200,5,5,106,200,5,5,107,200,5,5,108,200,5,5,109,200,5,5,28,208,5,5,29,208,5,5,30,208,5,5,31,208,5,5,32,208,5,5,33,208,5,5,34,208,5,5,120,215,5,5,121,215,5,5,122,215,5,5,70,222,5,5,71,222,5,5,91,228,5,5,92,228,5,5,93,228,5,5,94,228,5,5,133,233,5,5,134,233,5,5,135,233,5,5,94,237,5,5,95,237,5,5,96,237,5,5,175,240,5,5,161,249,5,5,46,250,5,5,151,165,5,5,59,177,5,5,60,177,5,5,61,177,5,5,114,184,5,5,115,184,5,5,116,184,5,5,117,184,5,5,71,192,5,5,72,192,5,5,73,192,5,5,74,192,5,5,75,192,5,5,76,192,5,5,77,192,5,5,78,192,5,5,79,192,5,5,80,192,5,5,111,200,5,5,112,200,5,5,113,200,5,5,36,208,5,5,114,200,5,5,115,200,5,5,116,200,5,5,117,200,5,5,118,200,5,5,119,200,5,5,120,200,5,5,121,200,5,5,122,200,5,5,123,200,5,5,124,200,5,5,125,200,5,5,126,200,5,5,127,200,5,5,128,200,5,5,37,208,5,5,38,208,5,5,39,208,5,5,40,208,5,5,41,208,5,5,42,208,5,5,43,208,5,5,44,208,5,5,45,208,5,5,46,208,5,5,47,208,5,5,48,208,5,5,49,208,5,5,123,215,5,5,124,215,5,5,125,215,5,5,126,215,5,5,127,215,5,5,128,215,5,5,129,215,5,5,130,215,5,5,131,215,5,5,132,215,5,5,72,222,5,5,73,222,5,5,74,222,5,5,75,222,5,5,76,222,5,5,77,222,5,5,78,222,5,5,79,222,5,5,80,222,5,5,81,222,5,5,82,222,5,5,83,222,5,5,84,222,5,5,85,222,5,5,86,222,5,5,87,222,5,5,88,222,5,5,89,222,5,5,90,222,5,5,91,222,5,5,93,222,5,5,95,228,5,5,96,228,5,5,97,228,5,5,98,228,5,5,99,228,5,5,100,228,5,5,101,228,5,5,102,228,5,5,136,233,5,5,137,233,5,5,138,233,5,5,139,233,5,5,140,233,5,5,141,233,5,5,142,233,5,5,143,233,5,5,97,237,5,5,98,237,5,5,99,237,5,5,141,235,5,5,100,237,5,5,101,237,5,5,102,237,5,5,103,237,5,5,176,240,5,5,177,240,5,5,178,240,5,5,179,240,5,5,180,240,5,5,181,240,5,5,182,240,5,5,108,243,5,5,109,243,5,5,110,243,5,5,118,245,5,5,119,245,5,5,120,245,5,5,121,245,5,5,122,245,5,5,6,247,5,5,7,247,5,5,8,247,5,5,9,247,5,5,44,248,5,5,45,248,5,5,253,248,5,5,162,249,5,5,117,158,5,5,245,161,5,5,246,161,5,5,247,161,5,5,152,165,5,5,153,165,5,5,9,171,5,5,10,171,5,5,11,171,5,5,12,171,5,5,13,171,5,5,14,171,5,5,15,171,5,5,16,171,5,5,17,171,5,5,18,171,5,5,19,171,5,5,20,171,5,5,21,171,5,5,62,177,5,5,63,177,5,5,64,177,5,5,65,177,5,5,66,177,5,5,67,177,5,5,68,177,5,5,69,177,5,5,70,177,5,5,71,177,5,5,72,177,5,5,73,177,5,5,119,184,5,5,120,184,5,5,121,184,5,5,122,184,5,5,123,184,5,5,124,184,5,5,125,184,5,5,126,184,5,5,127,184,5,5,128,184,5,5,129,184,5,5,81,192,5,5,82,192,5,5,83,192,5,5,84,192,5,5,131,200,5,5,132,200,5,5,133,200,5,5,134,200,5,5,135,200,5,5,136,200,5,5,137,200,5,5,138,200,5,5,139,200,5,5,140,200,5,5,141,200,5,5,53,208,5,5,54,208,5,5,136,215,5,5,137,215,5,5,138,215,5,5,139,215,5,5,94,222,5,5,104,228,5,5,105,228,5,5,106,228,5,5,107,228,5,5,145,233,5,5,146,233,5,5,123,245,5,5,154,165,5,5,85,192,5,5,86,192,5,5,87,192,5,5,55,208,5,5,56,208,5,5,57,208,5,5,140,215,5,5,108,228,5,5,95,222,5,5,109,228,5,5,147,233,5,5,155,165,5,5,248,161,5,5,74,177,5,5,75,177,5,5,76,177,5,5,77,177,5,5,130,184,5,5,131,184,5,5,132,184,5,5,88,192,5,5,89,192,5,5,90,192,5,5,91,192,5,5,92,192,5,5,93,192,5,5,94,192,5,5,142,200,5,5,143,200,5,5,144,200,5,5,145,200,5,5,146,200,5,5,147,200,5,5,148,200,5,5,149,200,5,5,150,200,5,5,151,200,5,5,152,200,5,5,153,200,5,5,58,208,5,5,59,208,5,5,60,208,5,5,61,208,5,5,62,208,5,5,63,208,5,5,64,208,5,5,65,208,5,5,66,208,5,5,141,215,5,5,142,215,5,5,143,215,5,5,144,215,5,5,145,215,5,5,146,215,5,5,96,222,5,5,97,222,5,5,98,222,5,5,99,222,5,5,100,222,5,5,101,222,5,5,102,222,5,5,103,222,5,5,104,222,5,5,105,222,5,5,110,228,5,5,111,228,5,5,112,228,5,5,148,233,5,5,104,237,5,5,183,240,5,5,184,240,5,5,185,240,5,5,186,240,5,5,111,243,5,5,124,245,5,5,125,245,5,5,46,248,5,5,242,249,5,5,156,165,5,5,79,177,5,5,134,184,5,5,135,184,5,5,136,184,5,5,137,184,5,5,97,192,5,5,98,192,5,5,99,192,5,5,69,208,5,5,100,192,5,5,101,192,5,5,102,192,5,5,103,192,5,5,104,192,5,5,105,192,5,5,106,192,5,5,107,192,5,5,156,200,5,5,157,200,5,5,158,200,5,5,159,200,5,5,160,200,5,5,161,200,5,5,162,200,5,5,163,200,5,5,164,200,5,5,165,200,5,5,166,200,5,5,68,208,5,5,167,200,5,5,168,200,5,5,169,200,5,5,170,200,5,5,171,200,5,5,172,200,5,5,173,200,5,5,174,200,5,5,175,200,5,5,176,200,5,5,177,200,5,5,178,200,5,5,179,200,5,5,180,200,5,5,70,208,5,5,71,208,5,5,72,208,5,5,73,208,5,5,74,208,5,5,75,208,5,5,76,208,5,5,77,208,5,5,78,208,5,5,79,208,5,5,80,208,5,5,81,208,5,5,82,208,5,5,83,208,5,5,84,208,5,5,85,208,5,5,86,208,5,5,87,208,5,5,88,208,5,5,89,208,5,5,90,208,5,5,91,208,5,5,181,200,5,5,92,208,5,5,93,208,5,5,94,208,5,5,95,208,5,5,96,208,5,5,97,208,5,5,147,215,5,5,148,215,5,5,149,215,5,5,150,215,5,5,151,215,5,5,152,215,5,5,153,215,5,5,154,215,5,5,155,215,5,5,156,215,5,5,157,215,5,5,158,215,5,5,159,215,5,5,160,215,5,5,161,215,5,5,162,215,5,5,163,215,5,5,164,215,5,5,165,215,5,5,106,222,5,5,107,222,5,5,108,222,5,5,109,222,5,5,110,222,5,5,111,222,5,5,112,222,5,5,113,222,5,5,114,222,5,5,115,222,5,5,116,222,5,5,117,222,5,5,118,222,5,5,119,222,5,5,120,222,5,5,121,222,5,5,122,222,5,5,123,222,5,5,124,222,5,5,125,222,5,5,126,222,5,5,127,222,5,5,128,222,5,5,129,222,5,5,130,222,5,5,131,222,5,5,132,222,5,5,133,222,5,5,144,222,5,5,134,222,5,5,135,222,5,5,136,222,5,5,137,222,5,5,114,228,5,5,115,228,5,5,116,228,5,5,117,228,5,5,118,228,5,5,119,228,5,5,120,228,5,5,145,222,5,5,121,228,5,5,122,228,5,5,138,222,5,5,123,228,5,5,124,228,5,5,125,228,5,5,126,228,5,5,127,228,5,5,128,228,5,5,129,228,5,5,130,228,5,5,131,228,5,5,132,228,5,5,133,228,5,5,149,233,5,5,150,233,5,5,151,233,5,5,152,233,5,5,153,233,5,5,154,233,5,5,155,233,5,5,156,233,5,5,157,233,5,5,158,233,5,5,159,233,5,5,160,233,5,5,161,233,5,5,162,233,5,5,105,237,5,5,106,237,5,5,107,237,5,5,108,237,5,5,109,237,5,5,110,237,5,5,111,237,5,5,112,237,5,5,113,237,5,5,114,237,5,5,115,237,5,5,116,237,5,5,117,237,5,5,118,237,5,5,119,237,5,5,120,237,5,5,121,237,5,5,122,237,5,5,123,237,5,5,124,237,5,5,187,240,5,5,129,237,5,5,188,240,5,5,189,240,5,5,190,240,5,5,191,240,5,5,125,237,5,5,192,240,5,5,193,240,5,5,194,240,5,5,195,240,5,5,196,240,5,5,197,240,5,5,198,240,5,5,199,240,5,5,200,240,5,5,201,240,5,5,202,240,5,5,203,240,5,5,204,240,5,5,205,240,5,5,206,240,5,5,207,240,5,5,208,240,5,5,126,237,5,5,112,243,5,5,113,243,5,5,114,243,5,5,115,243,5,5,116,243,5,5,117,243,5,5,213,240,5,5,118,243,5,5,119,243,5,5,126,245,5,5,127,245,5,5,128,245,5,5,129,245,5,5,130,245,5,5,131,245,5,5,10,247,5,5,11,247,5,5,12,247,5,5,13,247,5,5,14,247,5,5,15,247,5,5,16,247,5,5,17,247,5,5,47,248,5,5,48,248,5,5,18,247,5,5,49,248,5,5,50,248,5,5,254,248,5,5,255,248,5,5,2,249,5,5,3,249,5,5,164,249,5,5,165,249,5,5,166,249,5,5,167,249,5,5,168,249,5,5,243,249,5,5,244,249,5,5,98,250,5,5,47,250,5,5,48,250,5,5,158,165,5,5,139,184,5,5,108,192,5,5,109,192,5,5,110,192,5,5,186,200,5,5,101,208,5,5,102,208,5,5,168,215,5,5,169,215,5,5,170,215,5,5,146,222,5,5,147,222,5,5,148,222,5,5,149,222,5,5,150,222,5,5,151,222,5,5,152,222,5,5,136,228,5,5,137,228,5,5,130,237,5,5,131,237,5,5,132,237,5,5,214,240,5,5,215,240,5,5,216,240,5,5,217,240,5,5,121,243,5,5,134,245,5,5,4,249,5,5,49,250,5,5,159,165,5,5,22,171,5,5,80,177,5,5,81,177,5,5,140,184,5,5,141,184,5,5,142,184,5,5,143,184,5,5,144,184,5,5,145,184,5,5,146,184,5,5,147,184,5,5,113,192,5,5,114,192,5,5,115,192,5,5,116,192,5,5,117,192,5,5,118,192,5,5,119,192,5,5,120,192,5,5,121,192,5,5,122,192,5,5,123,192,5,5,124,192,5,5,125,192,5,5,126,192,5,5,187,200,5,5,188,200,5,5,189,200,5,5,190,200,5,5,191,200,5,5,192,200,5,5,193,200,5,5,194,200,5,5,195,200,5,5,104,208,5,5,196,200,5,5,197,200,5,5,198,200,5,5,199,200,5,5,200,200,5,5,201,200,5,5,202,200,5,5,203,200,5,5,204,200,5,5,205,200,5,5,206,200,5,5,207,200,5,5,208,200,5,5,209,200,5,5,210,200,5,5,211,200,5,5,105,208,5,5,106,208,5,5,107,208,5,5,108,208,5,5,109,208,5,5,110,208,5,5,111,208,5,5,112,208,5,5,113,208,5,5,114,208,5,5,115,208,5,5,116,208,5,5,117,208,5,5,118,208,5,5,119,208,5,5,171,215,5,5,172,215,5,5,173,215,5,5,174,215,5,5,175,215,5,5,176,215,5,5,177,215,5,5,178,215,5,5,179,215,5,5,154,222,5,5,155,222,5,5,156,222,5,5,157,222,5,5,158,222,5,5,159,222,5,5,160,222,5,5,161,222,5,5,162,222,5,5,163,222,5,5,164,222,5,5,165,222,5,5,166,222,5,5,167,222,5,5,168,222,5,5,169,222,5,5,170,222,5,5,171,222,5,5,172,222,5,5,173,222,5,5,174,222,5,5,175,222,5,5,176,222,5,5,138,228,5,5,139,228,5,5,140,228,5,5,141,228,5,5,142,228,5,5,143,228,5,5,144,228,5,5,145,228,5,5,146,228,5,5,147,228,5,5,148,228,5,5,149,228,5,5,150,228,5,5,151,228,5,5,152,228,5,5,153,228,5,5,166,233,5,5,167,233,5,5,168,233,5,5,169,233,5,5,170,233,5,5,171,233,5,5,172,233,5,5,173,233,5,5,174,233,5,5,134,237,5,5,135,237,5,5,136,237,5,5,137,237,5,5,138,237,5,5,139,237,5,5,140,237,5,5,218,240,5,5,219,240,5,5,220,240,5,5,221,240,5,5,222,240,5,5,223,240,5,5,224,240,5,5,225,240,5,5,122,243,5,5,123,243,5,5,124,243,5,5,125,243,5,5,126,243,5,5,127,243,5,5,135,245,5,5,136,245,5,5,137,245,5,5,138,245,5,5,139,245,5,5,19,247,5,5,20,247,5,5,21,247,5,5,52,248,5,5,53,248,5,5,50,250,5,5,118,158,5,5,199,159,5,5,249,161,5,5,160,165,5,5,161,165,5,5,162,165,5,5,23,171,5,5,24,171,5,5,25,171,5,5,26,171,5,5,27,171,5,5,82,177,5,5,83,177,5,5,84,177,5,5,85,177,5,5,86,177,5,5,87,177,5,5,88,177,5,5,89,177,5,5,90,177,5,5,91,177,5,5,92,177,5,5,148,184,5,5,149,184,5,5,150,184,5,5,151,184,5,5,152,184,5,5,153,184,5,5,154,184,5,5,155,184,5,5,133,192,5,5,134,192,5,5,135,192,5,5,215,200,5,5,216,200,5,5,217,200,5,5,218,200,5,5,219,200,5,5,220,200,5,5,221,200,5,5,222,200,5,5,120,208,5,5,121,208,5,5,122,208,5,5,123,208,5,5,124,208,5,5,125,208,5,5,182,215,5,5,183,215,5,5,184,215,5,5,180,222,5,5,155,228,5,5,156,228,5,5,163,165,5,5,223,200,5,5,224,200,5,5,126,208,5,5,127,208,5,5,128,208,5,5,185,215,5,5,186,215,5,5,187,215,5,5,181,222,5,5,157,228,5,5,158,228,5,5,159,228,5,5,160,228,5,5,161,228,5,5,162,228,5,5,177,233,5,5,143,237,5,5,226,240,5,5,128,243,5,5,140,245,5,5,164,165,5,5,156,184,5,5,129,208,5,5,182,222,5,5,227,240,5,5,165,165,5,5,120,158,5,5,200,159,5,5,250,161,5,5,251,161,5,5,252,161,5,5,253,161,5,5,254,161,5,5,255,161,5,5,167,165,5,5,168,165,5,5,169,165,5,5,170,165,5,5,171,165,5,5,172,165,5,5,173,165,5,5,174,165,5,5,175,165,5,5,176,165,5,5,177,165,5,5,178,165,5,5,28,171,5,5,29,171,5,5,30,171,5,5,31,171,5,5,32,171,5,5,33,171,5,5,34,171,5,5,35,171,5,5,36,171,5,5,37,171,5,5,38,171,5,5,39,171,5,5,40,171,5,5,41,171,5,5,42,171,5,5,43,171,5,5,44,171,5,5,45,171,5,5,46,171,5,5,47,171,5,5,48,171,5,5,49,171,5,5,93,177,5,5,94,177,5,5,95,177,5,5,96,177,5,5,97,177,5,5,98,177,5,5,99,177,5,5,100,177,5,5,101,177,5,5,102,177,5,5,103,177,5,5,104,177,5,5,50,171,5,5,105,177,5,5,106,177,5,5,107,177,5,5,108,177,5,5,109,177,5,5,110,177,5,5,111,177,5,5,157,184,5,5,158,184,5,5,159,184,5,5,160,184,5,5,161,184,5,5,162,184,5,5,163,184,5,5,164,184,5,5,165,184,5,5,166,184,5,5,167,184,5,5,168,184,5,5,169,184,5,5,170,184,5,5,171,184,5,5,172,184,5,5,173,184,5,5,174,184,5,5,175,184,5,5,176,184,5,5,177,184,5,5,178,184,5,5,179,184,5,5,136,192,5,5,137,192,5,5,138,192,5,5,139,192,5,5,140,192,5,5,141,192,5,5,142,192,5,5,143,192,5,5,144,192,5,5,145,192,5,5,146,192,5,5,147,192,5,5,148,192,5,5,149,192,5,5,150,192,5,5,151,192,5,5,152,192,5,5,153,192,5,5,154,192,5,5,155,192,5,5,156,192,5,5,157,192,5,5,158,192,5,5,159,192,5,5,160,192,5,5,161,192,5,5,162,192,5,5,163,192,5,5,164,192,5,5,226,200,5,5,227,200,5,5,228,200,5,5,229,200,5,5,230,200,5,5,231,200,5,5,232,200,5,5,233,200,5,5,234,200,5,5,235,200,5,5,236,200,5,5,237,200,5,5,238,200,5,5,239,200,5,5,240,200,5,5,241,200,5,5,242,200,5,5,243,200,5,5,244,200,5,5,245,200,5,5,130,208,5,5,131,208,5,5,132,208,5,5,133,208,5,5,134,208,5,5,135,208,5,5,136,208,5,5,137,208,5,5,138,208,5,5,139,208,5,5,140,208,5,5,141,208,5,5,142,208,5,5,143,208,5,5,144,208,5,5,145,208,5,5,146,208,5,5,147,208,5,5,148,208,5,5,149,208,5,5,150,208,5,5,151,208,5,5,152,208,5,5,153,208,5,5,154,208,5,5,155,208,5,5,156,208,5,5,157,208,5,5,188,215,5,5,189,215,5,5,190,215,5,5,191,215,5,5,192,215,5,5,193,215,5,5,194,215,5,5,195,215,5,5,196,215,5,5,197,215,5,5,198,215,5,5,199,215,5,5,200,215,5,5,201,215,5,5,183,222,5,5,184,222,5,5,185,222,5,5,186,222,5,5,187,222,5,5,188,222,5,5,189,222,5,5,190,222,5,5,191,222,5,5,192,222,5,5,193,222,5,5,194,222,5,5,163,228,5,5,195,222,5,5,164,228,5,5,165,228,5,5,166,228,5,5,196,222,5,5,167,228,5,5,168,228,5,5,169,228,5,5,170,228,5,5,171,228,5,5,178,233,5,5,179,233,5,5,180,233,5,5,181,233,5,5,182,233,5,5,183,233,5,5,184,233,5,5,185,233,5,5,186,233,5,5,172,228,5,5,144,237,5,5,145,237,5,5,187,233,5,5,228,240,5,5,229,240,5,5,230,240,5,5,129,243,5,5,141,245,5,5,54,248,5,5,55,248,5,5,182,165,5,5,201,159,5,5,202,159,5,5,3,162,5,5,180,184,5,5,4,162,5,5,5,162,5,5,6,162,5,5,7,162,5,5,8,162,5,5,9,162,5,5,10,162,5,5,11,162,5,5,183,165,5,5,184,165,5,5,185,165,5,5,186,165,5,5,187,165,5,5,188,165,5,5,189,165,5,5,190,165,5,5,191,165,5,5,192,165,5,5,193,165,5,5,194,165,5,5,195,165,5,5,167,192,5,5,196,165,5,5,52,171,5,5,53,171,5,5,54,171,5,5,55,171,5,5,56,171,5,5,57,171,5,5,58,171,5,5,59,171,5,5,60,171,5,5,61,171,5,5,62,171,5,5,63,171,5,5,64,171,5,5,65,171,5,5,66,171,5,5,112,177,5,5,113,177,5,5,114,177,5,5,115,177,5,5,116,177,5,5,117,177,5,5,118,177,5,5,119,177,5,5,120,177,5,5,121,177,5,5,122,177,5,5,123,177,5,5,124,177,5,5,125,177,5,5,126,177,5,5,127,177,5,5,159,208,5,5,128,177,5,5,129,177,5,5,130,177,5,5,131,177,5,5,132,177,5,5,202,215,5,5,133,177,5,5,168,192,5,5,134,177,5,5,181,184,5,5,182,184,5,5,183,184,5,5,184,184,5,5,185,184,5,5,186,184,5,5,187,184,5,5,188,184,5,5,189,184,5,5,190,184,5,5,191,184,5,5,192,184,5,5,193,184,5,5,194,184,5,5,195,184,5,5,196,184,5,5,197,184,5,5,198,184,5,5,169,192,5,5,170,192,5,5,171,192,5,5,172,192,5,5,173,192,5,5,174,192,5,5,175,192,5,5,176,192,5,5,177,192,5,5,137,177,5,5,178,192,5,5,179,192,5,5,180,192,5,5,248,200,5,5,197,222,5,5,181,192,5,5,182,192,5,5,249,200,5,5,177,228,5,5,250,200,5,5,251,200,5,5,183,192,5,5,252,200,5,5,253,200,5,5,254,200,5,5,255,200,5,5,2,201,5,5,3,201,5,5,4,201,5,5,5,201,5,5,6,201,5,5,7,201,5,5,8,201,5,5,9,201,5,5,10,201,5,5,160,208,5,5,161,208,5,5,162,208,5,5,163,208,5,5,164,208,5,5,165,208,5,5,166,208,5,5,167,208,5,5,168,208,5,5,169,208,5,5,170,208,5,5,171,208,5,5,172,208,5,5,203,215,5,5,204,215,5,5,205,215,5,5,206,215,5,5,207,215,5,5,208,215,5,5,209,215,5,5,210,215,5,5,211,215,5,5,212,215,5,5,213,215,5,5,214,215,5,5,215,215,5,5,216,215,5,5,198,222,5,5,199,222,5,5,147,237,5,5,200,222,5,5,201,222,5,5,202,222,5,5,12,201,5,5,203,222,5,5,204,222,5,5,205,222,5,5,206,222,5,5,207,222,5,5,208,222,5,5,178,228,5,5,179,228,5,5,180,228,5,5,181,228,5,5,182,228,5,5,190,233,5,5,191,233,5,5,148,237,5,5,149,237,5,5,150,237,5,5,151,237,5,5,152,237,5,5,232,240,5,5,233,240,5,5,130,243,5,5,234,240,5,5,131,243,5,5,142,245,5,5,143,245,5,5,144,245,5,5,22,247,5,5,23,247,5,5,199,165,5,5,138,177,5,5,139,177,5,5,199,184,5,5,200,184,5,5,201,184,5,5,202,184,5,5,203,184,5,5,204,184,5,5,205,184,5,5,186,192,5,5,187,192,5,5,188,192,5,5,189,192,5,5,190,192,5,5,191,192,5,5,192,192,5,5,193,192,5,5,194,192,5,5,195,192,5,5,196,192,5,5,197,192,5,5,13,201,5,5,14,201,5,5,15,201,5,5,16,201,5,5,17,201,5,5,18,201,5,5,19,201,5,5,173,208,5,5,174,208,5,5,175,208,5,5,176,208,5,5,177,208,5,5,178,208,5,5,179,208,5,5,180,208,5,5,181,208,5,5,182,208,5,5,183,208,5,5,184,208,5,5,217,215,5,5,218,215,5,5,219,215,5,5,220,215,5,5,221,215,5,5,222,215,5,5,223,215,5,5,224,215,5,5,225,215,5,5,226,215,5,5,227,215,5,5,228,215,5,5,229,215,5,5,230,215,5,5,210,222,5,5,211,222,5,5,212,222,5,5,213,222,5,5,214,222,5,5,215,222,5,5,216,222,5,5,217,222,5,5,218,222,5,5,219,222,5,5,220,222,5,5,221,222,5,5,222,222,5,5,183,228,5,5,184,228,5,5,185,228,5,5,186,228,5,5,187,228,5,5,188,228,5,5,189,228,5,5,190,228,5,5,191,228,5,5,192,228,5,5,193,228,5,5,192,233,5,5,193,233,5,5,194,233,5,5,195,233,5,5,196,233,5,5,197,233,5,5,198,233,5,5,199,233,5,5,200,233,5,5,201,233,5,5,202,233,5,5,203,233,5,5,204,233,5,5,153,237,5,5,154,237,5,5,155,237,5,5,156,237,5,5,157,237,5,5,158,237,5,5,159,237,5,5,160,237,5,5,235,240,5,5,236,240,5,5,237,240,5,5,238,240,5,5,239,240,5,5,132,243,5,5,133,243,5,5,134,243,5,5,135,243,5,5,136,243,5,5,137,243,5,5,138,243,5,5,145,245,5,5,146,245,5,5,147,245,5,5,56,248,5,5,5,249,5,5,6,249,5,5,7,249,5,5,8,249,5,5,169,249,5,5,9,249,5,5,245,249,5,5,246,249,5,5,51,250,5,5,200,165,5,5,69,171,5,5,200,192,5,5,21,201,5,5,22,201,5,5,139,243,5,5,201,165,5,5,140,177,5,5,201,192,5,5,23,201,5,5,161,237,5,5,70,171,5,5,71,171,5,5,141,177,5,5,142,177,5,5,206,184,5,5,207,184,5,5,208,184,5,5,209,184,5,5,210,184,5,5,211,184,5,5,212,184,5,5,213,184,5,5,214,184,5,5,215,184,5,5,216,184,5,5,217,184,5,5,218,184,5,5,219,184,5,5,202,192,5,5,203,192,5,5,204,192,5,5,205,192,5,5,206,192,5,5,207,192,5,5,208,192,5,5,209,192,5,5,210,192,5,5,211,192,5,5,212,192,5,5,213,192,5,5,214,192,5,5,215,192,5,5,216,192,5,5,217,192,5,5,218,192,5,5,219,192,5,5,220,192,5,5,221,192,5,5,222,192,5,5,223,192,5,5,224,192,5,5,225,192,5,5,226,192,5,5,227,192,5,5,24,201,5,5,25,201,5,5,26,201,5,5,27,201,5,5,28,201,5,5,29,201,5,5,30,201,5,5,31,201,5,5,32,201,5,5,33,201,5,5,34,201,5,5,35,201,5,5,36,201,5,5,37,201,5,5,38,201,5,5,39,201,5,5,40,201,5,5,41,201,5,5,42,201,5,5,43,201,5,5,44,201,5,5,45,201,5,5,46,201,5,5,47,201,5,5,48,201,5,5,49,201,5,5,50,201,5,5,51,201,5,5,52,201,5,5,53,201,5,5,54,201,5,5,55,201,5,5,56,201,5,5,57,201,5,5,58,201,5,5,59,201,5,5,60,201,5,5,61,201,5,5,62,201,5,5,63,201,5,5,64,201,5,5,65,201,5,5,66,201,5,5,67,201,5,5,68,201,5,5,69,201,5,5,70,201,5,5,71,201,5,5,232,215,5,5,186,208,5,5,187,208,5,5,188,208,5,5,189,208,5,5,190,208,5,5,191,208,5,5,192,208,5,5,193,208,5,5,194,208,5,5,195,208,5,5,196,208,5,5,197,208,5,5,198,208,5,5,199,208,5,5,200,208,5,5,201,208,5,5,202,208,5,5,203,208,5,5,204,208,5,5,205,208,5,5,206,208,5,5,207,208,5,5,208,208,5,5,209,208,5,5,210,208,5,5,211,208,5,5,212,208,5,5,213,208,5,5,214,208,5,5,215,208,5,5,216,208,5,5,217,208,5,5,218,208,5,5,219,208,5,5,220,208,5,5,221,208,5,5,222,208,5,5,223,208,5,5,224,208,5,5,225,208,5,5,226,208,5,5,227,208,5,5,228,208,5,5,229,208,5,5,230,208,5,5,231,208,5,5,232,208,5,5,233,208,5,5,234,208,5,5,235,208,5,5,236,208,5,5,237,208,5,5,238,208,5,5,239,208,5,5,240,208,5,5,241,208,5,5,242,208,5,5,243,208,5,5,244,208,5,5,245,208,5,5,246,208,5,5,247,208,5,5,248,208,5,5,249,208,5,5,250,208,5,5,251,208,5,5,252,208,5,5,253,208,5,5,254,208,5,5,255,208,5,5,2,209,5,5,233,215,5,5,234,215,5,5,235,215,5,5,236,215,5,5,237,215,5,5,238,215,5,5,239,215,5,5,47,216,5,5,240,215,5,5,241,215,5,5,242,215,5,5,243,215,5,5,244,215,5,5,245,215,5,5,246,215,5,5,247,215,5,5,248,215,5,5,249,215,5,5,250,215,5,5,251,215,5,5,252,215,5,5,253,215,5,5,254,215,5,5,255,215,5,5,2,216,5,5,3,216,5,5,3,209,5,5,4,216,5,5,5,216,5,5,6,216,5,5,7,216,5,5,8,216,5,5,9,216,5,5,10,216,5,5,11,216,5,5,12,216,5,5,13,216,5,5,14,216,5,5,15,216,5,5,16,216,5,5,17,216,5,5,18,216,5,5,19,216,5,5,20,216,5,5,21,216,5,5,22,216,5,5,23,216,5,5,24,216,5,5,25,216,5,5,26,216,5,5,27,216,5,5,28,216,5,5,29,216,5,5,30,216,5,5,31,216,5,5,32,216,5,5,33,216,5,5,34,216,5,5,35,216,5,5,36,216,5,5,37,216,5,5,223,222,5,5,224,222,5,5,225,222,5,5,226,222,5,5,227,222,5,5,228,222,5,5,229,222,5,5,230,222,5,5,231,222,5,5,232,222,5,5,233,222,5,5,234,222,5,5,235,222,5,5,236,222,5,5,237,222,5,5,238,222,5,5,239,222,5,5,240,222,5,5,241,222,5,5,242,222,5,5,243,222,5,5,244,222,5,5,245,222,5,5,246,222,5,5,247,222,5,5,196,228,5,5,248,222,5,5,249,222,5,5,250,222,5,5,251,222,5,5,252,222,5,5,253,222,5,5,254,222,5,5,255,222,5,5,2,223,5,5,3,223,5,5,4,223,5,5,5,223,5,5,6,223,5,5,7,223,5,5,8,223,5,5,9,223,5,5,10,223,5,5,11,223,5,5,12,223,5,5,13,223,5,5,14,223,5,5,15,223,5,5,16,223,5,5,17,223,5,5,18,223,5,5,19,223,5,5,20,223,5,5,21,223,5,5,22,223,5,5,23,223,5,5,24,223,5,5,25,223,5,5,26,223,5,5,27,223,5,5,46,216,5,5,28,223,5,5,29,223,5,5,30,223,5,5,31,223,5,5,32,223,5,5,33,223,5,5,34,223,5,5,35,223,5,5,197,228,5,5,198,228,5,5,199,228,5,5,200,228,5,5,201,228,5,5,202,228,5,5,203,228,5,5,204,228,5,5,205,228,5,5,206,228,5,5,207,228,5,5,208,228,5,5,209,228,5,5,210,228,5,5,211,228,5,5,212,228,5,5,213,228,5,5,214,228,5,5,215,228,5,5,216,228,5,5,217,228,5,5,218,228,5,5,219,228,5,5,220,228,5,5,221,228,5,5,222,228,5,5,223,228,5,5,224,228,5,5,225,228,5,5,226,228,5,5,227,228,5,5,228,228,5,5,229,228,5,5,230,228,5,5,231,228,5,5,232,228,5,5,233,228,5,5,234,228,5,5,235,228,5,5,236,228,5,5,237,228,5,5,238,228,5,5,239,228,5,5,240,228,5,5,241,228,5,5,242,228,5,5,243,228,5,5,244,228,5,5,245,228,5,5,206,233,5,5,246,228,5,5,247,228,5,5,248,228,5,5,249,228,5,5,250,228,5,5,251,228,5,5,252,228,5,5,253,228,5,5,254,228,5,5,255,228,5,5,2,229,5,5,3,229,5,5,4,229,5,5,5,229,5,5,6,229,5,5,7,229,5,5,8,229,5,5,9,229,5,5,10,229,5,5,11,229,5,5,12,229,5,5,13,229,5,5,14,229,5,5,15,229,5,5,16,229,5,5,17,229,5,5,18,229,5,5,19,229,5,5,20,229,5,5,21,229,5,5,207,233,5,5,22,229,5,5,208,233,5,5,209,233,5,5,210,233,5,5,211,233,5,5,212,233,5,5,213,233,5,5,214,233,5,5,215,233,5,5,216,233,5,5,217,233,5,5,218,233,5,5,219,233,5,5,220,233,5,5,221,233,5,5,222,233,5,5,223,233,5,5,224,233,5,5,225,233,5,5,226,233,5,5,227,233,5,5,228,233,5,5,229,233,5,5,230,233,5,5,231,233,5,5,232,233,5,5,233,233,5,5,234,233,5,5,235,233,5,5,236,233,5,5,237,233,5,5,238,233,5,5,239,233,5,5,240,233,5,5,241,233,5,5,242,233,5,5,243,233,5,5,244,233,5,5,245,233,5,5,246,233,5,5,247,233,5,5,248,233,5,5,249,233,5,5,250,233,5,5,251,233,5,5,252,233,5,5,253,233,5,5,254,233,5,5,255,233,5,5,2,234,5,5,36,229,5,5,3,234,5,5,4,234,5,5,5,234,5,5,6,234,5,5,7,234,5,5,8,234,5,5,9,234,5,5,10,234,5,5,11,234,5,5,12,234,5,5,13,234,5,5,14,234,5,5,15,234,5,5,162,237,5,5,163,237,5,5,164,237,5,5,165,237,5,5,166,237,5,5,167,237,5,5,168,237,5,5,169,237,5,5,170,237,5,5,171,237,5,5,172,237,5,5,173,237,5,5,174,237,5,5,175,237,5,5,176,237,5,5,177,237,5,5,178,237,5,5,179,237,5,5,180,237,5,5,181,237,5,5,182,237,5,5,183,237,5,5,184,237,5,5,185,237,5,5,186,237,5,5,32,234,5,5,187,237,5,5,188,237,5,5,189,237,5,5,190,237,5,5,191,237,5,5,192,237,5,5,193,237,5,5,241,240,5,5,194,237,5,5,195,237,5,5,196,237,5,5,197,237,5,5,198,237,5,5,33,234,5,5,199,237,5,5,200,237,5,5,201,237,5,5,202,237,5,5,203,237,5,5,204,237,5,5,205,237,5,5,206,237,5,5,207,237,5,5,208,237,5,5,209,237,5,5,210,237,5,5,211,237,5,5,212,237,5,5,213,237,5,5,214,237,5,5,242,240,5,5,243,240,5,5,244,240,5,5,245,240,5,5,246,240,5,5,247,240,5,5,248,240,5,5,249,240,5,5,250,240,5,5,251,240,5,5,252,240,5,5,253,240,5,5,254,240,5,5,255,240,5,5,2,241,5,5,3,241,5,5,4,241,5,5,5,241,5,5,6,241,5,5,7,241,5,5,8,241,5,5,9,241,5,5,10,241,5,5,11,241,5,5,12,241,5,5,13,241,5,5,14,241,5,5,15,241,5,5,16,241,5,5,17,241,5,5,18,241,5,5,19,241,5,5,20,241,5,5,21,241,5,5,22,241,5,5,23,241,5,5,24,241,5,5,25,241,5,5,26,241,5,5,27,241,5,5,28,241,5,5,29,241,5,5,30,241,5,5,31,241,5,5,32,241,5,5,33,241,5,5,34,241,5,5,35,241,5,5,36,241,5,5,37,241,5,5,38,241,5,5,140,243,5,5,148,245,5,5,141,243,5,5,142,243,5,5,143,243,5,5,144,243,5,5,39,241,5,5,145,243,5,5,146,243,5,5,147,243,5,5,148,243,5,5,149,243,5,5,150,243,5,5,151,243,5,5,152,243,5,5,153,243,5,5,154,243,5,5,155,243,5,5,156,243,5,5,157,243,5,5,158,243,5,5,159,243,5,5,160,243,5,5,161,243,5,5,162,243,5,5,163,243,5,5,164,243,5,5,165,243,5,5,166,243,5,5,167,243,5,5,168,243,5,5,169,243,5,5,170,243,5,5,171,243,5,5,172,243,5,5,173,243,5,5,174,243,5,5,175,243,5,5,176,243,5,5,177,243,5,5,178,243,5,5,179,243,5,5,180,243,5,5,181,243,5,5,182,243,5,5,183,243,5,5,184,243,5,5,185,243,5,5,186,243,5,5,187,243,5,5,188,243,5,5,189,243,5,5,190,243,5,5,191,243,5,5,149,245,5,5,150,245,5,5,151,245,5,5,152,245,5,5,153,245,5,5,154,245,5,5,203,243,5,5,155,245,5,5,156,245,5,5,157,245,5,5,158,245,5,5,159,245,5,5,160,245,5,5,161,245,5,5,162,245,5,5,163,245,5,5,164,245,5,5,165,245,5,5,166,245,5,5,204,243,5,5,167,245,5,5,168,245,5,5,169,245,5,5,170,245,5,5,171,245,5,5,24,247,5,5,25,247,5,5,26,247,5,5,27,247,5,5,28,247,5,5,29,247,5,5,30,247,5,5,31,247,5,5,32,247,5,5,33,247,5,5,34,247,5,5,35,247,5,5,36,247,5,5,37,247,5,5,38,247,5,5,39,247,5,5,40,247,5,5,41,247,5,5,42,247,5,5,57,248,5,5,58,248,5,5,59,248,5,5,60,248,5,5,61,248,5,5,62,248,5,5,63,248,5,5,64,248,5,5,65,248,5,5,66,248,5,5,67,248,5,5,68,248,5,5,69,248,5,5,70,248,5,5,71,248,5,5,72,248,5,5,73,248,5,5,74,248,5,5,43,247,5,5,10,249,5,5,11,249,5,5,12,249,5,5,13,249,5,5,14,249,5,5,170,249,5,5,171,249,5,5,172,249,5,5,173,249,5,5,174,249,5,5,175,249,5,5,176,249,5,5,247,249,5,5,248,249,5,5,249,249,5,5,250,249,5,5,251,249,5,5,252,249,5,5,253,249,5,5,52,250,5,5,53,250,5,5,54,250,5,5,55,250,5,5,100,250,5,5,101,250,5,5,102,250,5,5,103,250,5,5,126,250,5,5,127,250,5,5,203,159,5,5,12,162,5,5,13,162,5,5,202,165,5,5,203,165,5,5,204,165,5,5,205,165,5,5,206,165,5,5,72,171,5,5,73,171,5,5,74,171,5,5,75,171,5,5,76,171,5,5,77,171,5,5,78,171,5,5,79,171,5,5,80,171,5,5,81,171,5,5,82,171,5,5,143,177,5,5,144,177,5,5,145,177,5,5,146,177,5,5,147,177,5,5,148,177,5,5,149,177,5,5,150,177,5,5,151,177,5,5,152,177,5,5,153,177,5,5,154,177,5,5,155,177,5,5,156,177,5,5,157,177,5,5,158,177,5,5,159,177,5,5,160,177,5,5,161,177,5,5,162,177,5,5,163,177,5,5,164,177,5,5,165,177,5,5,166,177,5,5,220,184,5,5,221,184,5,5,222,184,5,5,223,184,5,5,224,184,5,5,225,184,5,5,226,184,5,5,227,184,5,5,228,184,5,5,229,184,5,5,230,184,5,5,231,184,5,5,232,184,5,5,233,184,5,5,234,184,5,5,235,184,5,5,236,184,5,5,237,184,5,5,238,184,5,5,239,184,5,5,240,184,5,5,241,184,5,5,242,184,5,5,243,184,5,5,244,184,5,5,245,184,5,5,246,184,5,5,247,184,5,5,248,184,5,5,249,184,5,5,250,184,5,5,230,192,5,5,231,192,5,5,232,192,5,5,233,192,5,5,234,192,5,5,235,192,5,5,236,192,5,5,237,192,5,5,238,192,5,5,239,192,5,5,240,192,5,5,241,192,5,5,242,192,5,5,243,192,5,5,244,192,5,5,245,192,5,5,246,192,5,5,247,192,5,5,248,192,5,5,249,192,5,5,250,192,5,5,251,192,5,5,252,192,5,5,253,192,5,5,254,192,5,5,255,192,5,5,2,193,5,5,3,193,5,5,4,193,5,5,5,193,5,5,6,193,5,5,7,193,5,5,8,193,5,5,9,193,5,5,10,193,5,5,11,193,5,5,12,193,5,5,13,193,5,5,14,193,5,5,15,193,5,5,16,193,5,5,76,201,5,5,77,201,5,5,78,201,5,5,79,201,5,5,80,201,5,5,81,201,5,5,82,201,5,5,83,201,5,5,84,201,5,5,85,201,5,5,86,201,5,5,87,201,5,5,88,201,5,5,89,201,5,5,90,201,5,5,91,201,5,5,92,201,5,5,93,201,5,5,94,201,5,5,95,201,5,5,96,201,5,5,97,201,5,5,98,201,5,5,99,201,5,5,100,201,5,5,101,201,5,5,102,201,5,5,103,201,5,5,104,201,5,5,105,201,5,5,9,209,5,5,10,209,5,5,11,209,5,5,12,209,5,5,13,209,5,5,14,209,5,5,15,209,5,5,16,209,5,5,17,209,5,5,18,209,5,5,19,209,5,5,20,209,5,5,21,209,5,5,22,209,5,5,23,209,5,5,24,209,5,5,25,209,5,5,26,209,5,5,27,209,5,5,28,209,5,5,29,209,5,5,30,209,5,5,31,209,5,5,32,209,5,5,33,209,5,5,34,209,5,5,35,209,5,5,36,209,5,5,48,216,5,5,49,216,5,5,50,216,5,5,51,216,5,5,52,216,5,5,53,216,5,5,54,216,5,5,55,216,5,5,56,216,5,5,57,216,5,5,58,216,5,5,59,216,5,5,60,216,5,5,61,216,5,5,62,216,5,5,63,216,5,5,64,216,5,5,65,216,5,5,66,216,5,5,67,216,5,5,48,223,5,5,49,223,5,5,50,223,5,5,51,223,5,5,52,223,5,5,53,223,5,5,54,223,5,5,55,223,5,5,56,223,5,5,57,223,5,5,58,223,5,5,59,223,5,5,60,223,5,5,61,223,5,5,62,223,5,5,63,223,5,5,37,229,5,5,38,229,5,5,39,229,5,5,40,229,5,5,41,229,5,5,42,229,5,5,43,229,5,5,44,229,5,5,45,229,5,5,46,229,5,5,47,229,5,5,34,234,5,5,35,234,5,5,36,234,5,5,37,234,5,5,38,234,5,5,39,234,5,5,40,234,5,5,41,234,5,5,42,234,5,5,43,234,5,5,44,234,5,5,228,237,5,5,229,237,5,5,230,237,5,5,231,237,5,5,232,237,5,5,233,237,5,5,53,241,5,5,205,243,5,5,206,243,5,5,49,247,5,5,50,247,5,5,83,171,5,5,84,171,5,5,17,193,5,5,18,193,5,5,106,201,5,5,64,223,5,5,54,241,5,5,51,247,5,5,204,159,5,5,85,171,5,5,167,177,5,5,168,177,5,5,251,184,5,5,252,184,5,5,253,184,5,5,19,193,5,5,20,193,5,5,21,193,5,5,22,193,5,5,23,193,5,5,107,201,5,5,108,201,5,5,109,201,5,5,110,201,5,5,111,201,5,5,112,201,5,5,113,201,5,5,114,201,5,5,115,201,5,5,116,201,5,5,117,201,5,5,118,201,5,5,119,201,5,5,38,209,5,5,39,209,5,5,40,209,5,5,41,209,5,5,42,209,5,5,43,209,5,5,44,209,5,5,45,209,5,5,46,209,5,5,68,216,5,5,69,216,5,5,70,216,5,5,71,216,5,5,72,216,5,5,73,216,5,5,74,216,5,5,75,216,5,5,76,216,5,5,77,216,5,5,65,223,5,5,66,223,5,5,67,223,5,5,68,223,5,5,69,223,5,5,70,223,5,5,71,223,5,5,72,223,5,5,73,223,5,5,74,223,5,5,48,229,5,5,49,229,5,5,46,234,5,5,50,229,5,5,51,229,5,5,52,229,5,5,53,229,5,5,54,229,5,5,55,229,5,5,56,229,5,5,57,229,5,5,45,234,5,5,58,229,5,5,59,229,5,5,47,234,5,5,48,234,5,5,49,234,5,5,50,234,5,5,51,234,5,5,52,234,5,5,53,234,5,5,54,234,5,5,55,234,5,5,56,234,5,5,62,229,5,5,57,234,5,5,58,234,5,5,234,237,5,5,235,237,5,5,236,237,5,5,237,237,5,5,238,237,5,5,239,237,5,5,240,237,5,5,241,237,5,5,242,237,5,5,55,241,5,5,56,241,5,5,57,241,5,5,58,241,5,5,59,241,5,5,207,243,5,5,208,243,5,5,209,243,5,5,210,243,5,5,179,245,5,5,180,245,5,5,181,245,5,5,182,245,5,5,183,245,5,5,52,247,5,5,154,157,5,5,121,158,5,5,205,159,5,5,14,162,5,5,15,162,5,5,16,162,5,5,17,162,5,5,18,162,5,5,207,165,5,5,208,165,5,5,209,165,5,5,210,165,5,5,211,165,5,5,212,165,5,5,213,165,5,5,214,165,5,5,86,171,5,5,87,171,5,5,169,177,5,5,170,177,5,5,171,177,5,5,172,177,5,5,173,177,5,5,174,177,5,5,175,177,5,5,176,177,5,5,177,177,5,5,2,185,5,5,3,185,5,5,4,185,5,5,5,185,5,5,25,193,5,5,26,193,5,5,27,193,5,5,28,193,5,5,29,193,5,5,30,193,5,5,31,193,5,5,32,193,5,5,33,193,5,5,34,193,5,5,120,201,5,5,121,201,5,5,122,201,5,5,123,201,5,5,124,201,5,5,47,209,5,5,48,209,5,5,49,209,5,5,50,209,5,5,78,216,5,5,63,229,5,5,88,171,5,5,155,157,5,5,206,159,5,5,207,159,5,5,19,162,5,5,20,162,5,5,21,162,5,5,22,162,5,5,23,162,5,5,215,165,5,5,216,165,5,5,217,165,5,5,218,165,5,5,219,165,5,5,220,165,5,5,221,165,5,5,222,165,5,5,223,165,5,5,224,165,5,5,225,165,5,5,226,165,5,5,227,165,5,5,228,165,5,5,229,165,5,5,230,165,5,5,231,165,5,5,232,165,5,5,90,171,5,5,91,171,5,5,92,171,5,5,93,171,5,5,94,171,5,5,95,171,5,5,96,171,5,5,97,171,5,5,98,171,5,5,99,171,5,5,100,171,5,5,101,171,5,5,102,171,5,5,103,171,5,5,104,171,5,5,105,171,5,5,106,171,5,5,107,171,5,5,108,171,5,5,178,177,5,5,179,177,5,5,180,177,5,5,181,177,5,5,182,177,5,5,183,177,5,5,184,177,5,5,185,177,5,5,186,177,5,5,187,177,5,5,188,177,5,5,189,177,5,5,6,185,5,5,7,185,5,5,8,185,5,5,9,185,5,5,25,185,5,5,10,185,5,5,11,185,5,5,12,185,5,5,13,185,5,5,14,185,5,5,15,185,5,5,16,185,5,5,17,185,5,5,18,185,5,5,19,185,5,5,20,185,5,5,21,185,5,5,22,185,5,5,23,185,5,5,24,185,5,5,35,193,5,5,36,193,5,5,37,193,5,5,38,193,5,5,39,193,5,5,40,193,5,5,41,193,5,5,42,193,5,5,125,201,5,5,43,193,5,5,44,193,5,5,45,193,5,5,46,193,5,5,47,193,5,5,48,193,5,5,49,193,5,5,50,193,5,5,126,201,5,5,51,193,5,5,127,201,5,5,128,201,5,5,129,201,5,5,130,201,5,5,131,201,5,5,132,201,5,5,133,201,5,5,134,201,5,5,135,201,5,5,136,201,5,5,137,201,5,5,138,201,5,5,139,201,5,5,140,201,5,5,141,201,5,5,142,201,5,5,143,201,5,5,144,201,5,5,51,209,5,5,145,201,5,5,52,209,5,5,53,209,5,5,54,209,5,5,55,209,5,5,56,209,5,5,57,209,5,5,58,209,5,5,59,209,5,5,79,216,5,5,80,216,5,5,81,216,5,5,82,216,5,5,83,216,5,5,84,216,5,5,85,216,5,5,86,216,5,5,87,216,5,5,76,223,5,5,77,223,5,5,78,223,5,5,79,223,5,5,64,229,5,5,65,229,5,5,66,229,5,5,67,229,5,5,68,229,5,5,69,229,5,5,59,234,5,5,60,234,5,5,61,234,5,5,62,234,5,5,63,234,5,5,64,234,5,5,65,234,5,5,244,237,5,5,60,241,5,5,212,243,5,5,109,171,5,5,71,229,5,5,66,234,5,5,110,171,5,5,27,185,5,5,28,185,5,5,29,185,5,5,30,185,5,5,31,185,5,5,55,193,5,5,56,193,5,5,148,201,5,5,149,201,5,5,150,201,5,5,151,201,5,5,152,201,5,5,153,201,5,5,154,201,5,5,155,201,5,5,62,209,5,5,63,209,5,5,64,209,5,5,88,216,5,5,65,209,5,5,66,209,5,5,67,209,5,5,89,216,5,5,90,216,5,5,91,216,5,5,81,223,5,5,72,229,5,5,73,229,5,5,67,234,5,5,245,237,5,5,246,237,5,5,247,237,5,5,248,237,5,5,249,237,5,5,250,237,5,5,251,237,5,5,252,237,5,5,253,237,5,5,254,237,5,5,61,241,5,5,2,238,5,5,62,241,5,5,184,245,5,5,22,249,5,5,23,249,5,5,106,250,5,5,112,171,5,5,57,193,5,5,58,193,5,5,59,193,5,5,156,201,5,5,157,201,5,5,158,201,5,5,159,201,5,5,160,201,5,5,161,201,5,5,162,201,5,5,163,201,5,5,68,209,5,5,69,209,5,5,70,209,5,5,71,209,5,5,72,209,5,5,73,209,5,5,74,209,5,5,75,209,5,5,76,209,5,5,77,209,5,5,78,209,5,5,93,216,5,5,94,216,5,5,95,216,5,5,82,223,5,5,83,223,5,5,84,223,5,5,85,223,5,5,86,223,5,5,87,223,5,5,88,223,5,5,89,223,5,5,90,223,5,5,74,229,5,5,75,229,5,5,76,229,5,5,77,229,5,5,78,229,5,5,79,229,5,5,80,229,5,5,81,229,5,5,82,229,5,5,83,229,5,5,84,229,5,5,85,229,5,5,86,229,5,5,70,234,5,5,71,234,5,5,72,234,5,5,73,234,5,5,74,234,5,5,75,234,5,5,76,234,5,5,77,234,5,5,78,234,5,5,82,234,5,5,3,238,5,5,4,238,5,5,5,238,5,5,6,238,5,5,64,241,5,5,65,241,5,5,66,241,5,5,67,241,5,5,68,241,5,5,69,241,5,5,70,241,5,5,71,241,5,5,213,243,5,5,214,243,5,5,215,243,5,5,216,243,5,5,185,245,5,5,217,243,5,5,218,243,5,5,186,245,5,5,187,245,5,5,188,245,5,5,189,245,5,5,190,245,5,5,191,245,5,5,192,245,5,5,53,247,5,5,54,247,5,5,55,247,5,5,56,247,5,5,57,247,5,5,83,248,5,5,24,249,5,5,25,249,5,5,26,249,5,5,27,249,5,5,28,249,5,5,29,249,5,5,30,249,5,5,179,249,5,5,3,250,5,5,58,250,5,5,59,250,5,5,60,250,5,5,61,250,5,5,129,250,5,5,174,250,5,5,113,171,5,5,114,171,5,5,166,201,5,5,167,201,5,5,80,209,5,5,81,209,5,5,100,216,5,5,101,216,5,5,102,216,5,5,92,223,5,5,92,229,5,5,93,229,5,5,8,238,5,5,115,171,5,5,168,201,5,5,93,223,5,5,75,241,5,5,192,177,5,5,116,171,5,5,103,216,5,5,94,223,5,5,94,229,5,5,193,245,5,5,86,248,5,5,193,177,5,5,63,193,5,5,169,201,5,5,170,201,5,5,171,201,5,5,172,201,5,5,173,201,5,5,174,201,5,5,175,201,5,5,82,209,5,5,83,209,5,5,84,209,5,5,85,209,5,5,86,209,5,5,87,209,5,5,88,209,5,5,89,209,5,5,104,216,5,5,105,216,5,5,106,216,5,5,107,216,5,5,108,216,5,5,109,216,5,5,110,216,5,5,111,216,5,5,112,216,5,5,113,216,5,5,114,216,5,5,115,216,5,5,116,216,5,5,95,223,5,5,96,223,5,5,97,223,5,5,98,223,5,5,99,223,5,5,100,223,5,5,101,223,5,5,102,223,5,5,103,223,5,5,104,223,5,5,105,223,5,5,106,223,5,5,95,229,5,5,96,229,5,5,97,229,5,5,98,229,5,5,99,229,5,5,100,229,5,5,101,229,5,5,84,234,5,5,85,234,5,5,86,234,5,5,87,234,5,5,88,234,5,5,89,234,5,5,90,234,5,5,91,234,5,5,9,238,5,5,10,238,5,5,11,238,5,5,12,238,5,5,13,238,5,5,14,238,5,5,15,238,5,5,16,238,5,5,17,238,5,5,18,238,5,5,19,238,5,5,20,238,5,5,21,238,5,5,22,238,5,5,23,238,5,5,76,241,5,5,77,241,5,5,78,241,5,5,79,241,5,5,80,241,5,5,81,241,5,5,82,241,5,5,222,243,5,5,223,243,5,5,224,243,5,5,225,243,5,5,194,245,5,5,195,245,5,5,196,245,5,5,197,245,5,5,59,247,5,5,60,247,5,5,61,247,5,5,62,247,5,5,87,248,5,5,88,248,5,5,31,249,5,5,32,249,5,5,33,249,5,5,4,250,5,5,143,250,5,5,194,177,5,5,176,201,5,5,117,216,5,5,118,216,5,5,107,223,5,5,108,223,5,5,109,223,5,5,102,229,5,5,92,234,5,5,93,234,5,5,94,234,5,5,24,238,5,5,25,238,5,5,26,238,5,5,27,238,5,5,28,238,5,5,226,243,5,5,83,241,5,5,84,241,5,5,85,241,5,5,86,241,5,5,227,243,5,5,198,245,5,5,199,245,5,5,63,247,5,5,34,249,5,5,35,249,5,5,122,158,5,5,235,165,5,5,195,177,5,5,177,201,5,5,90,209,5,5,91,209,5,5,119,216,5,5,196,177,5,5,92,209,5,5,110,223,5,5,103,229,5,5,95,234,5,5,87,241,5,5,197,177,5,5,93,209,5,5,94,209,5,5,120,216,5,5,121,216,5,5,104,229,5,5,30,238,5,5,31,238,5,5,88,241,5,5,89,241,5,5,228,243,5,5,229,243,5,5,230,243,5,5,89,248,5,5,198,177,5,5,66,193,5,5,67,193,5,5,68,193,5,5,178,201,5,5,179,201,5,5,180,201,5,5,181,201,5,5,95,209,5,5,96,209,5,5,97,209,5,5,98,209,5,5,99,209,5,5,100,209,5,5,101,209,5,5,102,209,5,5,103,209,5,5,104,209,5,5,105,209,5,5,124,216,5,5,125,216,5,5,126,216,5,5,127,216,5,5,128,216,5,5,123,216,5,5,129,216,5,5,112,223,5,5,113,223,5,5,114,223,5,5,115,223,5,5,116,223,5,5,117,223,5,5,118,223,5,5,119,223,5,5,120,223,5,5,105,229,5,5,106,229,5,5,121,223,5,5,122,223,5,5,123,223,5,5,124,223,5,5,125,223,5,5,126,223,5,5,127,223,5,5,107,229,5,5,108,229,5,5,109,229,5,5,110,229,5,5,111,229,5,5,112,229,5,5,113,229,5,5,114,229,5,5,115,229,5,5,116,229,5,5,117,229,5,5,118,229,5,5,119,229,5,5,120,229,5,5,121,229,5,5,122,229,5,5,123,229,5,5,34,238,5,5,33,238,5,5,96,234,5,5,97,234,5,5,98,234,5,5,99,234,5,5,100,234,5,5,101,234,5,5,102,234,5,5,103,234,5,5,104,234,5,5,105,234,5,5,106,234,5,5,35,238,5,5,36,238,5,5,37,238,5,5,38,238,5,5,39,238,5,5,40,238,5,5,41,238,5,5,42,238,5,5,43,238,5,5,44,238,5,5,45,238,5,5,90,241,5,5,91,241,5,5,92,241,5,5,93,241,5,5,94,241,5,5,95,241,5,5,96,241,5,5,97,241,5,5,98,241,5,5,231,243,5,5,232,243,5,5,233,243,5,5,234,243,5,5,235,243,5,5,202,245,5,5,203,245,5,5,204,245,5,5,205,245,5,5,206,245,5,5,64,247,5,5,65,247,5,5,66,247,5,5,90,248,5,5,91,248,5,5,92,248,5,5,93,248,5,5,37,249,5,5,180,249,5,5,181,249,5,5,62,250,5,5,63,250,5,5,24,162,5,5,117,171,5,5,118,171,5,5,199,177,5,5,200,177,5,5,201,177,5,5,202,177,5,5,32,185,5,5,33,185,5,5,34,185,5,5,35,185,5,5,36,185,5,5,37,185,5,5,38,185,5,5,39,185,5,5,40,185,5,5,69,193,5,5,70,193,5,5,71,193,5,5,72,193,5,5,182,201,5,5,183,201,5,5,184,201,5,5,185,201,5,5,186,201,5,5,187,201,5,5,188,201,5,5,107,209,5,5,108,209,5,5,109,209,5,5,110,209,5,5,111,209,5,5,112,209,5,5,113,209,5,5,131,216,5,5,128,223,5,5,129,223,5,5,130,223,5,5,131,223,5,5,132,223,5,5,133,223,5,5,127,229,5,5,128,229,5,5,129,229,5,5,130,229,5,5,46,238,5,5,47,238,5,5,100,241,5,5,236,243,5,5,207,245,5,5,94,248,5,5,203,177,5,5,189,201,5,5,190,201,5,5,114,209,5,5,115,209,5,5,132,216,5,5,133,216,5,5,134,216,5,5,135,216,5,5,136,216,5,5,134,223,5,5,135,223,5,5,131,229,5,5,132,229,5,5,110,234,5,5,111,234,5,5,48,238,5,5,49,238,5,5,50,238,5,5,101,241,5,5,102,241,5,5,103,241,5,5,104,241,5,5,105,241,5,5,106,241,5,5,237,243,5,5,238,243,5,5,239,243,5,5,240,243,5,5,208,245,5,5,209,245,5,5,210,245,5,5,211,245,5,5,212,245,5,5,213,245,5,5,67,247,5,5,64,250,5,5,65,250,5,5,123,158,5,5,236,165,5,5,204,177,5,5,205,177,5,5,206,177,5,5,192,201,5,5,116,209,5,5,141,216,5,5,140,216,5,5,142,216,5,5,136,223,5,5,134,229,5,5,135,229,5,5,207,177,5,5,214,245,5,5,66,250,5,5,156,157,5,5,208,177,5,5,209,177,5,5,73,193,5,5,41,185,5,5,42,185,5,5,43,185,5,5,74,193,5,5,75,193,5,5,193,201,5,5,194,201,5,5,195,201,5,5,196,201,5,5,197,201,5,5,117,209,5,5,198,201,5,5,118,209,5,5,199,201,5,5,200,201,5,5,119,209,5,5,201,201,5,5,121,209,5,5,122,209,5,5,123,209,5,5,124,209,5,5,125,209,5,5,143,216,5,5,126,209,5,5,137,223,5,5,127,209,5,5,128,209,5,5,129,209,5,5,130,209,5,5,131,209,5,5,145,216,5,5,146,216,5,5,147,216,5,5,148,216,5,5,149,216,5,5,150,216,5,5,151,216,5,5,152,216,5,5,138,223,5,5,153,216,5,5,139,223,5,5,140,223,5,5,154,216,5,5,141,223,5,5,155,216,5,5,156,216,5,5,136,229,5,5,143,223,5,5,144,223,5,5,145,223,5,5,146,223,5,5,147,223,5,5,148,223,5,5,149,223,5,5,150,223,5,5,151,223,5,5,138,229,5,5,139,229,5,5,140,229,5,5,137,229,5,5,141,229,5,5,142,229,5,5,143,229,5,5,144,229,5,5,145,229,5,5,146,229,5,5,147,229,5,5,116,234,5,5,148,229,5,5,149,229,5,5,150,229,5,5,151,229,5,5,117,234,5,5,118,234,5,5,119,234,5,5,120,234,5,5,51,238,5,5,121,234,5,5,122,234,5,5,123,234,5,5,124,234,5,5,125,234,5,5,153,229,5,5,126,234,5,5,55,238,5,5,127,234,5,5,56,238,5,5,57,238,5,5,58,238,5,5,59,238,5,5,60,238,5,5,61,238,5,5,62,238,5,5,63,238,5,5,64,238,5,5,65,238,5,5,129,234,5,5,108,241,5,5,110,241,5,5,111,241,5,5,130,234,5,5,112,241,5,5,113,241,5,5,114,241,5,5,241,243,5,5,242,243,5,5,243,243,5,5,244,243,5,5,245,243,5,5,215,245,5,5,246,243,5,5,247,243,5,5,248,243,5,5,249,243,5,5,68,247,5,5,69,247,5,5,216,245,5,5,217,245,5,5,218,245,5,5,250,243,5,5,70,247,5,5,71,247,5,5,95,248,5,5,38,249,5,5,182,249,5,5,183,249,5,5,67,250,5,5,68,250,5,5,144,250,5,5,157,157,5,5,208,159,5,5,209,159,5,5,25,162,5,5,26,162,5,5,237,165,5,5,238,165,5,5,239,165,5,5,240,165,5,5,241,165,5,5,242,165,5,5,243,165,5,5,119,171,5,5,120,171,5,5,121,171,5,5,122,171,5,5,123,171,5,5,124,171,5,5,211,177,5,5,212,177,5,5,213,177,5,5,214,177,5,5,215,177,5,5,216,177,5,5,217,177,5,5,218,177,5,5,44,185,5,5,45,185,5,5,46,185,5,5,47,185,5,5,48,185,5,5,49,185,5,5,76,193,5,5,77,193,5,5,78,193,5,5,79,193,5,5,202,201,5,5,203,201,5,5,132,209,5,5,204,201,5,5,205,201,5,5,133,209,5,5,134,209,5,5,135,209,5,5,136,209,5,5,137,209,5,5,157,216,5,5,158,216,5,5,152,223,5,5,153,223,5,5,184,249,5,5,219,177,5,5,80,193,5,5,131,234,5,5,221,177,5,5,138,209,5,5,159,216,5,5,160,216,5,5,161,216,5,5,154,229,5,5,155,229,5,5,156,229,5,5,132,234,5,5,133,234,5,5,134,234,5,5,66,238,5,5,67,238,5,5,115,241,5,5,116,241,5,5,251,243,5,5,219,245,5,5,96,248,5,5,69,250,5,5,50,185,5,5,206,201,5,5,207,201,5,5,139,209,5,5,140,209,5,5,141,209,5,5,142,209,5,5,143,209,5,5,144,209,5,5,145,209,5,5,163,216,5,5,164,216,5,5,165,216,5,5,166,216,5,5,167,216,5,5,168,216,5,5,169,216,5,5,170,216,5,5,171,216,5,5,172,216,5,5,173,216,5,5,174,216,5,5,175,216,5,5,176,216,5,5,177,216,5,5,178,216,5,5,179,216,5,5,180,216,5,5,154,223,5,5,155,223,5,5,156,223,5,5,157,223,5,5,158,223,5,5,159,223,5,5,160,223,5,5,161,223,5,5,162,223,5,5,163,223,5,5,164,223,5,5,165,223,5,5,166,223,5,5,167,223,5,5,168,223,5,5,169,223,5,5,170,223,5,5,171,223,5,5,172,223,5,5,173,223,5,5,174,223,5,5,175,223,5,5,176,223,5,5,177,223,5,5,178,223,5,5,157,229,5,5,158,229,5,5,159,229,5,5,160,229,5,5,161,229,5,5,162,229,5,5,163,229,5,5,164,229,5,5,165,229,5,5,166,229,5,5,167,229,5,5,168,229,5,5,169,229,5,5,170,229,5,5,171,229,5,5,172,229,5,5,173,229,5,5,174,229,5,5,156,234,5,5,137,234,5,5,138,234,5,5,139,234,5,5,140,234,5,5,141,234,5,5,142,234,5,5,143,234,5,5,144,234,5,5,145,234,5,5,146,234,5,5,147,234,5,5,148,234,5,5,149,234,5,5,150,234,5,5,151,234,5,5,152,234,5,5,68,238,5,5,69,238,5,5,70,238,5,5,71,238,5,5,72,238,5,5,73,238,5,5,74,238,5,5,75,238,5,5,76,238,5,5,77,238,5,5,78,238,5,5,79,238,5,5,80,238,5,5,81,238,5,5,82,238,5,5,83,238,5,5,118,241,5,5,119,241,5,5,120,241,5,5,121,241,5,5,122,241,5,5,123,241,5,5,124,241,5,5,125,241,5,5,126,241,5,5,127,241,5,5,128,241,5,5,129,241,5,5,130,241,5,5,131,241,5,5,132,241,5,5,133,241,5,5,134,241,5,5,135,241,5,5,136,241,5,5,137,241,5,5,138,241,5,5,252,243,5,5,253,243,5,5,254,243,5,5,255,243,5,5,2,244,5,5,3,244,5,5,4,244,5,5,5,244,5,5,6,244,5,5,7,244,5,5,8,244,5,5,9,244,5,5,10,244,5,5,11,244,5,5,12,244,5,5,13,244,5,5,220,245,5,5,221,245,5,5,222,245,5,5,223,245,5,5,224,245,5,5,225,245,5,5,226,245,5,5,227,245,5,5,228,245,5,5,229,245,5,5,230,245,5,5,231,245,5,5,232,245,5,5,233,245,5,5,234,245,5,5,73,247,5,5,74,247,5,5,75,247,5,5,76,247,5,5,77,247,5,5,78,247,5,5,79,247,5,5,80,247,5,5,81,247,5,5,82,247,5,5,83,247,5,5,84,247,5,5,85,247,5,5,86,247,5,5,97,248,5,5,98,248,5,5,99,248,5,5,100,248,5,5,101,248,5,5,102,248,5,5,103,248,5,5,39,249,5,5,40,249,5,5,41,249,5,5,5,250,5,5,6,250,5,5,7,250,5,5,8,250,5,5,70,250,5,5,10,250,5,5,71,250,5,5,72,250,5,5,107,250,5,5,108,250,5,5,130,250,5,5,145,250,5,5,158,157,5,5,210,159,5,5,27,162,5,5,28,162,5,5,29,162,5,5,244,165,5,5,245,165,5,5,246,165,5,5,247,165,5,5,125,171,5,5,126,171,5,5,127,171,5,5,128,171,5,5,129,171,5,5,130,171,5,5,131,171,5,5,132,171,5,5,133,171,5,5,134,171,5,5,135,171,5,5,136,171,5,5,222,177,5,5,223,177,5,5,224,177,5,5,225,177,5,5,226,177,5,5,227,177,5,5,228,177,5,5,229,177,5,5,230,177,5,5,51,185,5,5,52,185,5,5,53,185,5,5,54,185,5,5,55,185,5,5,56,185,5,5,81,193,5,5,82,193,5,5,83,193,5,5,84,193,5,5,85,193,5,5,86,193,5,5,87,193,5,5,208,201,5,5,209,201,5,5,210,201,5,5,211,201,5,5,212,201,5,5,146,209,5,5,147,209,5,5,148,209,5,5,149,209,5,5,183,216,5,5,184,216,5,5,185,216,5,5,180,223,5,5,157,234,5,5,141,241,5,5,20,244,5,5,21,244,5,5,57,185,5,5,213,201,5,5,150,209,5,5,151,209,5,5,152,209,5,5,153,209,5,5,154,209,5,5,186,216,5,5,187,216,5,5,188,216,5,5,181,223,5,5,182,223,5,5,183,223,5,5,184,223,5,5,185,223,5,5,186,223,5,5,176,229,5,5,177,229,5,5,178,229,5,5,179,229,5,5,180,229,5,5,158,234,5,5,159,234,5,5,182,229,5,5,91,238,5,5,92,238,5,5,142,241,5,5,143,241,5,5,22,244,5,5,144,241,5,5,23,244,5,5,24,244,5,5,25,244,5,5,26,244,5,5,27,244,5,5,28,244,5,5,29,244,5,5,236,245,5,5,237,245,5,5,238,245,5,5,88,247,5,5,104,248,5,5,89,247,5,5,105,248,5,5,106,248,5,5,42,249,5,5,188,249,5,5,11,250,5,5,58,185,5,5,88,193,5,5,190,216,5,5,187,223,5,5,93,238,5,5,90,247,5,5,107,248,5,5,59,185,5,5,214,201,5,5,156,209,5,5,157,209,5,5,191,216,5,5,192,216,5,5,193,216,5,5,194,216,5,5,195,216,5,5,196,216,5,5,197,216,5,5,198,216,5,5,188,223,5,5,189,223,5,5,183,229,5,5,190,223,5,5,191,223,5,5,192,223,5,5,193,223,5,5,194,223,5,5,195,223,5,5,196,223,5,5,184,229,5,5,185,229,5,5,186,229,5,5,187,229,5,5,188,229,5,5,189,229,5,5,190,229,5,5,160,234,5,5,161,234,5,5,162,234,5,5,163,234,5,5,164,234,5,5,165,234,5,5,166,234,5,5,94,238,5,5,95,238,5,5,96,238,5,5,97,238,5,5,191,229,5,5,98,238,5,5,145,241,5,5,146,241,5,5,147,241,5,5,148,241,5,5,149,241,5,5,150,241,5,5,151,241,5,5,30,244,5,5,31,244,5,5,32,244,5,5,33,244,5,5,239,245,5,5,240,245,5,5,241,245,5,5,242,245,5,5,243,245,5,5,92,247,5,5,93,247,5,5,94,247,5,5,95,247,5,5,91,247,5,5,108,248,5,5,109,248,5,5,110,248,5,5,43,249,5,5,44,249,5,5,189,249,5,5,74,250,5,5,60,185,5,5,201,216,5,5,197,223,5,5,192,229,5,5,101,238,5,5,34,244,5,5,98,247,5,5,45,249,5,5,46,249,5,5,75,250,5,5,61,185,5,5,76,250,5,5,131,250,5,5,62,185,5,5,193,229,5,5,167,234,5,5,102,238,5,5,103,238,5,5,154,241,5,5,35,244,5,5,244,245,5,5,245,245,5,5,99,247,5,5,63,185,5,5,158,209,5,5,202,216,5,5,203,216,5,5,204,216,5,5,205,216,5,5,206,216,5,5,198,223,5,5,199,223,5,5,200,223,5,5,201,223,5,5,194,229,5,5,168,234,5,5,169,234,5,5,104,238,5,5,105,238,5,5,106,238,5,5,107,238,5,5,108,238,5,5,109,238,5,5,36,244,5,5,246,245,5,5,247,245,5,5,248,245,5,5,249,245,5,5,100,247,5,5,101,247,5,5,47,249,5,5,48,249,5,5,49,249,5,5,89,193,5,5,159,209,5,5,160,209,5,5,161,209,5,5,162,209,5,5,208,216,5,5,209,216,5,5,210,216,5,5,211,216,5,5,203,223,5,5,204,223,5,5,205,223,5,5,206,223,5,5,207,223,5,5,208,223,5,5,209,223,5,5,210,223,5,5,211,223,5,5,212,223,5,5,213,223,5,5,214,223,5,5,215,223,5,5,216,223,5,5,217,223,5,5,218,223,5,5,219,223,5,5,220,223,5,5,221,223,5,5,222,223,5,5,223,223,5,5,224,223,5,5,225,223,5,5,195,229,5,5,196,229,5,5,197,229,5,5,198,229,5,5,199,229,5,5,200,229,5,5,201,229,5,5,202,229,5,5,203,229,5,5,204,229,5,5,205,229,5,5,206,229,5,5,170,234,5,5,207,229,5,5,208,229,5,5,209,229,5,5,210,229,5,5,211,229,5,5,212,229,5,5,213,229,5,5,214,229,5,5,215,229,5,5,216,229,5,5,217,229,5,5,218,229,5,5,219,229,5,5,220,229,5,5,221,229,5,5,222,229,5,5,223,229,5,5,224,229,5,5,171,234,5,5,172,234,5,5,173,234,5,5,174,234,5,5,175,234,5,5,176,234,5,5,177,234,5,5,178,234,5,5,179,234,5,5,180,234,5,5,225,229,5,5,181,234,5,5,182,234,5,5,183,234,5,5,184,234,5,5,185,234,5,5,186,234,5,5,187,234,5,5,188,234,5,5,189,234,5,5,190,234,5,5,191,234,5,5,192,234,5,5,193,234,5,5,194,234,5,5,195,234,5,5,196,234,5,5,197,234,5,5,111,238,5,5,112,238,5,5,113,238,5,5,114,238,5,5,115,238,5,5,198,234,5,5,116,238,5,5,117,238,5,5,118,238,5,5,119,238,5,5,120,238,5,5,121,238,5,5,122,238,5,5,123,238,5,5,124,238,5,5,125,238,5,5,155,241,5,5,126,238,5,5,127,238,5,5,128,238,5,5,129,238,5,5,130,238,5,5,131,238,5,5,132,238,5,5,133,238,5,5,202,234,5,5,134,238,5,5,135,238,5,5,136,238,5,5,137,238,5,5,138,238,5,5,156,241,5,5,157,241,5,5,158,241,5,5,159,241,5,5,160,241,5,5,161,241,5,5,162,241,5,5,163,241,5,5,164,241,5,5,165,241,5,5,166,241,5,5,167,241,5,5,168,241,5,5,169,241,5,5,170,241,5,5,171,241,5,5,172,241,5,5,173,241,5,5,174,241,5,5,175,241,5,5,176,241,5,5,177,241,5,5,178,241,5,5,179,241,5,5,180,241,5,5,181,241,5,5,182,241,5,5,183,241,5,5,184,241,5,5,185,241,5,5,186,241,5,5,187,241,5,5,188,241,5,5,189,241,5,5,38,244,5,5,39,244,5,5,40,244,5,5,41,244,5,5,193,241,5,5,37,244,5,5,42,244,5,5,139,238,5,5,43,244,5,5,44,244,5,5,45,244,5,5,46,244,5,5,47,244,5,5,48,244,5,5,49,244,5,5,50,244,5,5,51,244,5,5,52,244,5,5,53,244,5,5,54,244,5,5,55,244,5,5,56,244,5,5,57,244,5,5,58,244,5,5,59,244,5,5,60,244,5,5,61,244,5,5,62,244,5,5,63,244,5,5,64,244,5,5,65,244,5,5,66,244,5,5,67,244,5,5,68,244,5,5,69,244,5,5,70,244,5,5,71,244,5,5,72,244,5,5,250,245,5,5,251,245,5,5,252,245,5,5,253,245,5,5,73,244,5,5,254,245,5,5,255,245,5,5,2,246,5,5,3,246,5,5,4,246,5,5,5,246,5,5,6,246,5,5,7,246,5,5,8,246,5,5,9,246,5,5,10,246,5,5,11,246,5,5,12,246,5,5,13,246,5,5,14,246,5,5,15,246,5,5,102,247,5,5,103,247,5,5,104,247,5,5,105,247,5,5,106,247,5,5,107,247,5,5,108,247,5,5,109,247,5,5,110,247,5,5,111,247,5,5,112,247,5,5,113,247,5,5,114,247,5,5,115,247,5,5,116,247,5,5,76,244,5,5,117,247,5,5,118,247,5,5,119,247,5,5,120,247,5,5,121,247,5,5,122,247,5,5,123,247,5,5,124,247,5,5,130,247,5,5,111,248,5,5,112,248,5,5,113,248,5,5,114,248,5,5,115,248,5,5,116,248,5,5,117,248,5,5,118,248,5,5,119,248,5,5,120,248,5,5,121,248,5,5,122,248,5,5,123,248,5,5,124,248,5,5,125,248,5,5,126,248,5,5,127,248,5,5,128,248,5,5,51,249,5,5,52,249,5,5,53,249,5,5,54,249,5,5,55,249,5,5,56,249,5,5,57,249,5,5,58,249,5,5,59,249,5,5,60,249,5,5,61,249,5,5,62,249,5,5,190,249,5,5,63,249,5,5,130,248,5,5,64,249,5,5,191,249,5,5,192,249,5,5,193,249,5,5,194,249,5,5,66,249,5,5,12,250,5,5,13,250,5,5,14,250,5,5,15,250,5,5,16,250,5,5,17,250,5,5,77,250,5,5,78,250,5,5,132,250,5,5,147,250,5,5,166,250,5,5,137,171,5,5,64,185,5,5,90,193,5,5,216,201,5,5,217,201,5,5,218,201,5,5,219,201,5,5,220,201,5,5,163,209,5,5,164,209,5,5,165,209,5,5,166,209,5,5,167,209,5,5,168,209,5,5,169,209,5,5,170,209,5,5,171,209,5,5,172,209,5,5,173,209,5,5,174,209,5,5,175,209,5,5,213,216,5,5,214,216,5,5,215,216,5,5,216,216,5,5,217,216,5,5,218,216,5,5,219,216,5,5,220,216,5,5,221,216,5,5,222,216,5,5,223,216,5,5,224,216,5,5,225,216,5,5,226,216,5,5,227,216,5,5,229,223,5,5,230,223,5,5,231,223,5,5,232,223,5,5,233,223,5,5,234,223,5,5,235,223,5,5,236,223,5,5,237,223,5,5,238,223,5,5,239,223,5,5,240,223,5,5,241,223,5,5,231,229,5,5,232,229,5,5,233,229,5,5,234,229,5,5,235,229,5,5,236,229,5,5,237,229,5,5,238,229,5,5,239,229,5,5,240,229,5,5,241,229,5,5,242,229,5,5,243,229,5,5,244,229,5,5,245,229,5,5,203,234,5,5,204,234,5,5,218,234,5,5,205,234,5,5,206,234,5,5,207,234,5,5,208,234,5,5,209,234,5,5,210,234,5,5,211,234,5,5,212,234,5,5,213,234,5,5,214,234,5,5,215,234,5,5,216,234,5,5,217,234,5,5,142,238,5,5,143,238,5,5,144,238,5,5,145,238,5,5,146,238,5,5,147,238,5,5,148,238,5,5,194,241,5,5,195,241,5,5,196,241,5,5,197,241,5,5,198,241,5,5,199,241,5,5,200,241,5,5,201,241,5,5,202,241,5,5,77,244,5,5,78,244,5,5,79,244,5,5,80,244,5,5,21,246,5,5,22,246,5,5,23,246,5,5,24,246,5,5,131,247,5,5,91,193,5,5,221,201,5,5,176,209,5,5,177,209,5,5,178,209,5,5,179,209,5,5,180,209,5,5,232,177,5,5,181,209,5,5,182,209,5,5,183,209,5,5,184,209,5,5,228,216,5,5,229,216,5,5,230,216,5,5,231,216,5,5,232,216,5,5,233,216,5,5,242,223,5,5,243,223,5,5,244,223,5,5,245,223,5,5,246,223,5,5,247,223,5,5,248,223,5,5,249,223,5,5,250,223,5,5,251,223,5,5,252,223,5,5,253,223,5,5,254,223,5,5,255,223,5,5,2,224,5,5,3,224,5,5,4,224,5,5,5,224,5,5,6,224,5,5,246,229,5,5,7,224,5,5,8,224,5,5,9,224,5,5,10,224,5,5,247,229,5,5,248,229,5,5,249,229,5,5,250,229,5,5,251,229,5,5,252,229,5,5,253,229,5,5,254,229,5,5,255,229,5,5,2,230,5,5,3,230,5,5,4,230,5,5,5,230,5,5,219,234,5,5,6,230,5,5,7,230,5,5,8,230,5,5,9,230,5,5,10,230,5,5,11,230,5,5,12,230,5,5,13,230,5,5,14,230,5,5,15,230,5,5,16,230,5,5,17,230,5,5,18,230,5,5,19,230,5,5,20,230,5,5,21,230,5,5,220,234,5,5,221,234,5,5,222,234,5,5,223,234,5,5,224,234,5,5,225,234,5,5,226,234,5,5,227,234,5,5,228,234,5,5,229,234,5,5,230,234,5,5,231,234,5,5,232,234,5,5,233,234,5,5,234,234,5,5,235,234,5,5,236,234,5,5,237,234,5,5,238,234,5,5,239,234,5,5,240,234,5,5,241,234,5,5,242,234,5,5,243,234,5,5,244,234,5,5,245,234,5,5,246,234,5,5,247,234,5,5,248,234,5,5,150,238,5,5,151,238,5,5,152,238,5,5,153,238,5,5,154,238,5,5,155,238,5,5,156,238,5,5,157,238,5,5,158,238,5,5,159,238,5,5,160,238,5,5,161,238,5,5,162,238,5,5,163,238,5,5,164,238,5,5,165,238,5,5,166,238,5,5,167,238,5,5,168,238,5,5,169,238,5,5,170,238,5,5,171,238,5,5,172,238,5,5,203,241,5,5,173,238,5,5,174,238,5,5,58,237,5,5,175,238,5,5,204,241,5,5,252,234,5,5,205,241,5,5,206,241,5,5,207,241,5,5,208,241,5,5,209,241,5,5,210,241,5,5,211,241,5,5,212,241,5,5,213,241,5,5,214,241,5,5,215,241,5,5,216,241,5,5,217,241,5,5,218,241,5,5,219,241,5,5,220,241,5,5,221,241,5,5,222,241,5,5,223,241,5,5,224,241,5,5,225,241,5,5,226,241,5,5,227,241,5,5,228,241,5,5,229,241,5,5,230,241,5,5,231,241,5,5,232,241,5,5,233,241,5,5,234,241,5,5,235,241,5,5,236,241,5,5,237,241,5,5,238,241,5,5,239,241,5,5,240,241,5,5,241,241,5,5,242,241,5,5,243,241,5,5,244,241,5,5,81,244,5,5,245,241,5,5,82,244,5,5,83,244,5,5,84,244,5,5,85,244,5,5,86,244,5,5,87,244,5,5,88,244,5,5,89,244,5,5,90,244,5,5,91,244,5,5,92,244,5,5,93,244,5,5,94,244,5,5,95,244,5,5,96,244,5,5,97,244,5,5,98,244,5,5,99,244,5,5,100,244,5,5,101,244,5,5,102,244,5,5,103,244,5,5,104,244,5,5,105,244,5,5,106,244,5,5,107,244,5,5,25,246,5,5,26,246,5,5,27,246,5,5,28,246,5,5,29,246,5,5,30,246,5,5,31,246,5,5,32,246,5,5,33,246,5,5,34,246,5,5,35,246,5,5,36,246,5,5,37,246,5,5,38,246,5,5,39,246,5,5,40,246,5,5,41,246,5,5,42,246,5,5,43,246,5,5,114,244,5,5,44,246,5,5,45,246,5,5,46,246,5,5,47,246,5,5,48,246,5,5,49,246,5,5,50,246,5,5,51,246,5,5,52,246,5,5,53,246,5,5,54,246,5,5,132,247,5,5,55,246,5,5,56,246,5,5,57,246,5,5,58,246,5,5,133,247,5,5,134,247,5,5,135,247,5,5,136,247,5,5,137,247,5,5,138,247,5,5,139,247,5,5,140,247,5,5,141,247,5,5,142,247,5,5,143,247,5,5,144,247,5,5,145,247,5,5,146,247,5,5,147,247,5,5,148,247,5,5,125,247,5,5,131,248,5,5,132,248,5,5,133,248,5,5,134,248,5,5,135,248,5,5,136,248,5,5,137,248,5,5,138,248,5,5,152,247,5,5,139,248,5,5,140,248,5,5,141,248,5,5,142,248,5,5,143,248,5,5,144,248,5,5,145,248,5,5,146,248,5,5,147,248,5,5,148,248,5,5,149,248,5,5,153,247,5,5,150,248,5,5,151,248,5,5,152,248,5,5,68,249,5,5,67,249,5,5,153,248,5,5,154,248,5,5,69,249,5,5,70,249,5,5,71,249,5,5,72,249,5,5,73,249,5,5,74,249,5,5,75,249,5,5,76,249,5,5,77,249,5,5,78,249,5,5,79,249,5,5,80,249,5,5,81,249,5,5,82,249,5,5,196,249,5,5,197,249,5,5,198,249,5,5,199,249,5,5,200,249,5,5,201,249,5,5,202,249,5,5,203,249,5,5,18,250,5,5,19,250,5,5,79,250,5,5,80,250,5,5,81,250,5,5,110,250,5,5,111,250,5,5,112,250,5,5,133,250,5,5,134,250,5,5,148,250,5,5,149,250,5,5,211,159,5,5,248,165,5,5,249,165,5,5,138,171,5,5,139,171,5,5,140,171,5,5,233,177,5,5,234,177,5,5,235,177,5,5,236,177,5,5,237,177,5,5,65,185,5,5,66,185,5,5,67,185,5,5,68,185,5,5,69,185,5,5,70,185,5,5,71,185,5,5,72,185,5,5,73,185,5,5,74,185,5,5,75,185,5,5,76,185,5,5,77,185,5,5,92,193,5,5,93,193,5,5,94,193,5,5,95,193,5,5,96,193,5,5,97,193,5,5,98,193,5,5,99,193,5,5,100,193,5,5,222,201,5,5,223,201,5,5,224,201,5,5,225,201,5,5,226,201,5,5,227,201,5,5,228,201,5,5,229,201,5,5,230,201,5,5,185,209,5,5,186,209,5,5,187,209,5,5,188,209,5,5,189,209,5,5,190,209,5,5,191,209,5,5,192,209,5,5,193,209,5,5,194,209,5,5,195,209,5,5,196,209,5,5,234,216,5,5,235,216,5,5,236,216,5,5,15,224,5,5,237,216,5,5,238,216,5,5,239,216,5,5,240,216,5,5,16,224,5,5,17,224,5,5,18,224,5,5,19,224,5,5,20,224,5,5,21,224,5,5,22,224,5,5,23,224,5,5,23,230,5,5,24,230,5,5,25,230,5,5,26,230,5,5,253,234,5,5,254,234,5,5,255,234,5,5,2,235,5,5,176,238,5,5,177,238,5,5,178,238,5,5,179,238,5,5,249,241,5,5,250,241,5,5,154,247,5,5,155,247,5,5,101,193,5,5,24,224,5,5,27,230,5,5,251,241,5,5,115,244,5,5,62,246,5,5,63,246,5,5,87,249,5,5,88,249,5,5,28,230,5,5,102,193,5,5,197,209,5,5,198,209,5,5,199,209,5,5,25,224,5,5,26,224,5,5,29,230,5,5,30,230,5,5,31,230,5,5,32,230,5,5,3,235,5,5,4,235,5,5,5,235,5,5,180,238,5,5,181,238,5,5,182,238,5,5,183,238,5,5,184,238,5,5,252,241,5,5,253,241,5,5,254,241,5,5,255,241,5,5,2,242,5,5,3,242,5,5,4,242,5,5,116,244,5,5,117,244,5,5,118,244,5,5,119,244,5,5,64,246,5,5,65,246,5,5,156,247,5,5,159,248,5,5,89,249,5,5,205,249,5,5,114,250,5,5,157,250,5,5,167,250,5,5,103,193,5,5,250,165,5,5,241,216,5,5,28,224,5,5,29,224,5,5,30,224,5,5,31,224,5,5,34,230,5,5,35,230,5,5,36,230,5,5,7,235,5,5,8,235,5,5,190,238,5,5,191,238,5,5,5,242,5,5,6,242,5,5,120,244,5,5,158,247,5,5,135,250,5,5,104,193,5,5,32,224,5,5,38,230,5,5,105,193,5,5,242,216,5,5,243,216,5,5,33,224,5,5,193,238,5,5,7,242,5,5,122,244,5,5,160,248,5,5,231,201,5,5,232,201,5,5,39,230,5,5,40,230,5,5,9,235,5,5,10,235,5,5,11,235,5,5,194,238,5,5,195,238,5,5,206,249,5,5,233,201,5,5,34,224,5,5,12,235,5,5,159,247,5,5,234,201,5,5,106,193,5,5,36,224,5,5,41,230,5,5,42,230,5,5,43,230,5,5,44,230,5,5,45,230,5,5,165,219,5,5,13,235,5,5,14,235,5,5,15,235,5,5,16,235,5,5,17,235,5,5,196,238,5,5,197,238,5,5,198,238,5,5,9,242,5,5,10,242,5,5,125,244,5,5,126,244,5,5,127,244,5,5,128,244,5,5,129,244,5,5,130,244,5,5,131,244,5,5,67,246,5,5,68,246,5,5,69,246,5,5,70,246,5,5,71,246,5,5,160,247,5,5,161,247,5,5,161,248,5,5,162,248,5,5,163,248,5,5,207,249,5,5,21,250,5,5,82,250,5,5,115,250,5,5,235,201,5,5,46,230,5,5,19,235,5,5,11,242,5,5,201,209,5,5,141,171,5,5,20,235,5,5,199,238,5,5,200,238,5,5,201,238,5,5,12,242,5,5,13,242,5,5,72,246,5,5,164,248,5,5,165,248,5,5,208,249,5,5,209,249,5,5,22,250,5,5,236,201,5,5,202,209,5,5,133,244,5,5,203,209,5,5,37,224,5,5,38,224,5,5,39,224,5,5,47,230,5,5,204,209,5,5,205,209,5,5,203,238,5,5,204,238,5,5,15,242,5,5,73,246,5,5,74,246,5,5,75,246,5,5,76,246,5,5,166,248,5,5,210,249,5,5,90,249,5,5,211,249,5,5,206,209,5,5,142,171,5,5,21,235,5,5,22,235,5,5,23,235,5,5,205,238,5,5,206,238,5,5,207,238,5,5,208,238,5,5,209,238,5,5,210,238,5,5,211,238,5,5,212,238,5,5,16,242,5,5,134,244,5,5,135,244,5,5,136,244,5,5,77,246,5,5,162,247,5,5,163,247,5,5,164,247,5,5,165,247,5,5,167,248,5,5,168,248,5,5,169,248,5,5,170,248,5,5,116,250,5,5,244,216,5,5,48,230,5,5,49,230,5,5,24,235,5,5,25,235,5,5,17,242,5,5,18,242,5,5,166,247,5,5,172,248,5,5,173,248,5,5,91,249,5,5,92,249,5,5,212,249,5,5,83,250,5,5,172,250,5,5,245,216,5,5,26,235,5,5,213,238,5,5,19,242,5,5,78,246,5,5,174,248,5,5,30,162,5,5,40,224,5,5,41,224,5,5,50,230,5,5,28,235,5,5,214,238,5,5,20,242,5,5,21,242,5,5,22,242,5,5,138,244,5,5,139,244,5,5,140,244,5,5,79,246,5,5,141,244,5,5,142,244,5,5,143,244,5,5,144,244,5,5,145,244,5,5,29,235,5,5,146,244,5,5,80,246,5,5,81,246,5,5,82,246,5,5,83,246,5,5,84,246,5,5,85,246,5,5,167,247,5,5,168,247,5,5,169,247,5,5,175,248,5,5,176,248,5,5,177,248,5,5,178,248,5,5,179,248,5,5,93,249,5,5,94,249,5,5,95,249,5,5,96,249,5,5,97,249,5,5,98,249,5,5,213,249,5,5,214,249,5,5,215,249,5,5,216,249,5,5,117,250,5,5,118,250,5,5,170,250,5,5,143,171,5,5,78,185,5,5,107,193,5,5,237,201,5,5,207,209,5,5,208,209,5,5,209,209,5,5,210,209,5,5,246,216,5,5,247,216,5,5,42,224,5,5,43,224,5,5,30,235,5,5,31,235,5,5,51,230,5,5,215,238,5,5,23,242,5,5,25,239,5,5,147,244,5,5,87,246,5,5,171,247,5,5,172,247,5,5,173,247,5,5,162,250,5,5,168,250,5,5,176,250,5,5,212,159,5,5,108,193,5,5,109,193,5,5,52,230,5,5,88,246,5,5,119,250,5,5,251,165,5,5,32,235,5,5,89,246,5,5,174,247,5,5,218,249,5,5,24,250,5,5,25,250,5,5,166,219,5,5,86,225,5,5,143,178,5,5,3,233,5,5,78,177,5,5,212,200,5,5,23,229,5,5,235,245,5,5,73,250,5,5,4,209,5,5,76,158,5,5,27,159,5,5,215,237,5,5,144,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,166,5,5,220,163,5,5,221,163,5,5,146,191,5,5,80,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,184,5,5,93,164,5,5,159,165,5,5,43,208,5,5,214,204,5,5,37,162,5,5,247,158,5,5,52,230,5,5,52,230,5,5,175,172,5,5,70,171,5,5,211,193,5,5,78,167,5,5,32,239,5,5,250,244,5,5,25,240,5,5,15,248,5,5,28,233,5,5,48,215,5,5,54,248,5,5,218,218,5,5,216,174,5,5,164,181,5,5,232,181,5,5,42,207,5,5,177,208,5,5,173,229,5,5,239,201,5,5,172,162,5,5,215,244,5,5,237,244,5,5,73,245,5,5,149,250,5,5,233,194,5,5,94,231,5,5,241,236,5,5,67,243,5,5,128,168,5,5,38,240,5,5,85,245,5,5,23,195,5,5,161,180,5,5,78,181,5,5,208,181,5,5,129,177,5,5,48,166,5,5,121,162,5,5,183,193,5,5,20,225,5,5,71,239,5,5,149,242,5,5,161,226,5,5,190,161,5,5,32,243,5,5,139,207,5,5,86,208,5,5,185,245,5,5,215,223,5,5,67,249,5,5,5,206,5,5,31,206,5,5,236,213,5,5,98,199,5,5,210,228,5,5,102,193,5,5,47,222,5,5,248,238,5,5,204,163,5,5,198,246,5,5,214,246,5,5,237,164,5,5,58,220,5,5,37,208,5,5,71,209,5,5,74,235,5,5,229,210,5,5,234,218,5,5,9,189,5,5,97,212,5,5,164,190,5,5,116,232,5,5,179,177,5,5,174,185,5,5,197,161,5,5,30,217,5,5,104,178,5,5,54,206,5,5,12,214,5,5,137,199,5,5,45,193,5,5,250,246,5,5,174,173,5,5,218,218,5,5,77,228,5,5,174,157,5,5,225,210,5,5,109,173,5,5,169,189,5,5,227,189,5,5,221,158,5,5,252,231,5,5,176,171,5,5,38,195,5,5,163,157,5,5,111,169,5,5,151,218,5,5,20,183,5,5,204,185,5,5,172,202,5,5,209,175,5,5,54,207,5,5,101,215,5,5,203,188,5,5,164,165,5,5,187,164,5,5,195,173,5,5,200,176,5,5,227,187,5,5,223,189,5,5,154,171,5,5,101,166,5,5,101,178,5,5,104,188,5,5,129,236,5,5,97,165,5,5,43,222,5,5,23,201,5,5,76,230,5,5,221,162,5,5,109,157,5,5,23,239,5,5,121,180,5,5,208,235,5,5,202,242,5,5,67,223,5,5,130,250,5,5,4,242,5,5,34,224,5,5,33,157,5,5,78,225,5,5,197,225,5,5,21,247,5,5,6,161,5,5,48,218,5,5,193,247,5,5,111,218,5,5,115,212,5,5,3,205,5,5,220,219,5,5,74,170,5,5,217,220,5,5,159,232,5,5,170,222,5,5,70,221,5,5,160,192,5,5,209,233,5,5,94,160,5,5,99,160,5,5,68,172,5,5,147,181,5,5,20,200,5,5,101,215,5,5,55,203,5,5,33,168,5,5,192,187,5,5,64,231,5,5,238,239,5,5,252,235,5,5,164,158,5,5,12,167,5,5,225,210,5,5,165,230,5,5,56,168,5,5,104,175,5,5,203,219,5,5,227,190,5,5,2,191,5,5,192,208,5,5,70,209,5,5,30,249,5,5,128,216,5,5,53,166,5,5,82,236,5,5,134,243,5,5,66,234,5,5,55,195,5,5,13,157,5,5,226,209,5,5,205,217,5,5,141,163,5,5,115,180,5,5,218,218,5,5,48,226,5,5,193,231,5,5,83,221,5,5,171,228,5,5,51,230,5,5,232,203,5,5,224,165,5,5,36,217,5,5,238,168,5,5,119,174,5,5,251,174,5,5,164,204,5,5,253,181,5,5,21,182,5,5,62,198,5,5,2,183,5,5,98,241,5,5,217,157,5,5,81,218,5,5,48,193,5,5,51,178,5,5,8,187,5,5,25,189,5,5,174,222,5,5,104,173,5,5,111,203,5,5,170,180,5,5,169,189,5,5,136,201,5,5,141,162,5,5,142,160,5,5,211,217,5,5,208,168,5,5,105,164,5,5,143,188,5,5,135,169,5,5,188,189,5,5,253,197,5,5,85,227,5,5,186,207,5,5,203,207,5,5,201,165,5,5,2,238,5,5,194,185,5,5,194,204,5,5,184,162,5,5,50,226,5,5,97,226,5,5,20,243,5,5,77,223,5,5,124,248,5,5,159,248,5,5,11,169,5,5,248,188,5,5,188,232,5,5,178,159,5,5,113,190,5,5,145,190,5,5,216,169,5,5,190,169,5,5,163,240,5,5,192,157,5,5,185,183,5,5,129,166,5,5,235,157,5,5,79,173,5,5,137,168,5,5,41,227,5,5,220,160,5,5,218,174,5,5,169,218,5,5,152,228,5,5,224,161,5,5,181,177,5,5,122,165,5,5,23,211,5,5,85,157,5,5,67,202,5,5,36,210,5,5,27,179,5,5,168,202,5,5,247,194,5,5,241,195,5,5,144,196,5,5,34,212,5,5,69,224,5,5,168,189,5,5,63,182,5,5,166,161,5,5,162,182,5,5,61,190,5,5,115,213,5,5,81,209,5,5,225,213,5,5,189,161,5,5,212,227,5,5,51,243,5,5,194,191,5,5,59,222,5,5,95,192,5,5,2,162,5,5,242,200,5,5,183,192,5,5,36,223,5,5,24,229,5,5,60,209,5,5,199,201,5,5,128,209,5,5,150,229,5,5,33,246,5,5,189,184,5,5,71,229,5,5,159,171,5,5,239,209,5,5,110,162,5,5,11,172,5,5,51,202,5,5,161,166,5,5,232,193,5,5,54,210,5,5,89,224,5,5,74,194,5,5,35,224,5,5,210,217,5,5,123,157,5,5,250,179,5,5,103,195,5,5,46,218,5,5,30,239,5,5,13,188,5,5,5,174,5,5,2,196,5,5,108,188,5,5,91,181,5,5,68,189,5,5,114,212,5,5,101,197,5,5,90,158,5,5,173,197,5,5,10,206,5,5,62,170,5,5,10,176,5,5,9,176,5,5,148,182,5,5,154,182,5,5,161,182,5,5,113,213,5,5,114,213,5,5,99,220,5,5,42,176,5,5,117,206,5,5,217,220,5,5,46,227,5,5,126,232,5,5,198,206,5,5,118,170,5,5,130,183,5,5,152,157,5,5,152,157,5,5,191,199,5,5,232,221,5,5,72,190,5,5,80,228,5,5,81,237,5,5,127,215,5,5,178,240,5,5,120,158,5,5,242,200,5,5,62,241,5,5,230,243,5,5,121,229,5,5,228,179,5,5,56,205,5,5,133,227,192,0,0,0,192,0,0,0,5,5,253,165,5,5,119,162,5,5,64,160,5,5,42,166,5,5,185,158,5,5,66,224,5,5,9,172,5,5,93,157,5,5,232,193,5,5,252,185,5,5,228,193,5,5,100,202,5,5,168,202,5,5,142,217,5,5,74,167,5,5,83,167,5,5,185,186,5,5,178,224,5,5,22,211,5,5,29,211,5,5,72,187,5,5,69,203,5,5,138,187,5,5,118,203,5,5,79,203,5,5,46,218,5,5,67,211,5,5,30,239,5,5,207,230,5,5,126,195,5,5,157,203,5,5,187,195,5,5,20,188,5,5,241,195,5,5,161,180,5,5,79,188,5,5,113,164,5,5,77,158,5,5,203,188,5,5,251,174,5,5,222,204,5,5,44,197,5,5,114,212,5,5,113,239,5,5,101,197,5,5,218,231,5,5,146,231,5,5,142,159,5,5,168,189,5,5,245,212,5,5,16,213,5,5,17,170,5,5,255,219,5,5,250,219,5,5,63,182,5,5,255,189,5,5,46,170,5,5,33,198,5,5,27,190,5,5,60,220,5,5,110,220,5,5,117,206,5,5,69,176,5,5,141,206,5,5,217,220,5,5,239,198,5,5,118,170,5,5,209,183,5,5,135,199,5,5,217,227,5,5,72,233,5,5,51,237,5,5,72,190,5,5,24,222,5,5,59,222,5,5,36,222,5,5,80,228,5,5,77,228,5,5,61,228,5,5,81,237,5,5,36,248,5,5,178,240,5,5,149,228,5,5,163,228,5,5,193,233,5,5,234,215,5,5,51,193,5,5,62,241,5,5,81,209,5,5,226,243,5,5,230,243,5,5,97,209,5,5,121,229,5,5,32,244,5,5,52,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,198,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,248,5,5,215,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,230,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,54,158,6,5,216,160,6,5,14,158,192,0,0,0,6,5,15,157,6,5,184,160,6,5,217,207,6,5,22,158,6,5,237,159,6,5,12,174,6,5,69,197,6,5,115,180,6,5,252,171,6,5,105,173,6,5,70,160,6,5,221,203,6,5,129,162,6,5,183,190,6,5,152,159,6,5,75,192,6,5,65,163,6,5,212,162,6,5,100,212,6,5,57,164,6,5,81,180,6,5,0,128,6,5,56,157,6,5,144,208,6,5,67,159,6,5,170,157,6,5,7,159,6,5,203,173,6,5,155,165,6,5,101,159,6,5,33,206,6,5,77,170,6,5,135,160,6,5,31,197,6,5,77,161,6,5,70,158,6,5,158,159,6,5,175,193,6,5,56,186,6,5,200,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,63,0,197,99,63,0,197,195,63,0,197,35,64,0,197,131,64,0,197,227,64,0,197,67,65,0,197,163,65,0,197,3,66,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,76,187,6,5,3,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,157,5,5,9,157,192,0,0,0,192,0,0,0,5,5,10,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,138,5,5,0,139,5,5,0,140,5,5,0,141,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,142,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,144,192,0,0,0,5,5,14,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,158,192,0,0,0,5,5,183,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,178,5,5,75,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,178,192,0,0,0,5,5,78,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,185,5,5,149,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,202,5,5,30,202,5,5,31,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,209,5,5,254,209,5,5,255,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,217,192,0,0,0,5,5,25,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,230,5,5,68,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,171,192,0,0,0,192,0,0,0,5,5,82,178,5,5,83,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,224,192,0,0,0,5,5,39,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,178,5,5,108,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,230,5,5,73,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,159,5,5,21,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,162,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,166,192,0,0,0,5,5,255,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,167,5,5,5,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,167,5,5,7,167,5,5,8,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,172,5,5,107,172,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,178,192,0,0,0,192,0,0,0,5,5,227,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,178,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,178,5,5,230,178,5,5,231,178,5,5,232,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,186,5,5,37,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,186,5,5,39,186,5,5,40,186,5,5,41,186,192,0,0,0,192,0,0,0,5,5,42,186,5,5,43,186,5,5,44,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,186,192,0,0,0,5,5,46,186,192,0,0,0,192,0,0,0,5,5,47,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,186,192,0,0,0,5,5,49,186,5,5,50,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,194,5,5,22,194,192,0,0,0,192,0,0,0,5,5,23,194,5,5,24,194,5,5,25,194,5,5,26,194,5,5,27,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,202,192,0,0,0,5,5,128,202,5,5,129,202,5,5,130,202,5,5,131,202,5,5,132,202,5,5,133,202,5,5,134,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,202,192,0,0,0,5,5,137,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,202,5,5,141,202,5,5,142,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,210,5,5,88,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,210,5,5,91,210,5,5,92,210,5,5,93,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,210,5,5,97,210,192,0,0,0,5,5,98,210,5,5,99,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,217,192,0,0,0,192,0,0,0,5,5,112,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,217,5,5,115,217,5,5,116,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,224,5,5,118,224,5,5,119,224,5,5,120,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,224,5,5,122,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,230,5,5,111,230,5,5,112,230,5,5,113,230,192,0,0,0,192,0,0,0,5,5,114,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,235,5,5,66,235,5,5,67,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,235,5,5,69,235,5,5,70,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,238,5,5,241,238,5,5,242,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,244,192,0,0,0,5,5,171,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,244,192,0,0,0,192,0,0,0,5,5,173,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,167,5,5,67,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,179,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,179,5,5,30,179,5,5,31,179,5,5,32,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,186,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,194,5,5,84,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,202,5,5,194,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,210,192,0,0,0,192,0,0,0,5,5,155,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,217,192,0,0,0,5,5,152,217,5,5,153,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,186,192,0,0,0,192,0,0,0,5,5,199,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,160,192,0,0,0,5,5,214,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,163,5,5,114,163,5,5,115,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,163,192,0,0,0,5,5,117,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,167,5,5,136,167,5,5,137,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,167,5,5,139,167,5,5,140,167,192,0,0,0,5,5,141,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,172,192,0,0,0,192,0,0,0,5,5,238,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,179,5,5,95,179,5,5,96,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,186,5,5,209,186,5,5,210,186,5,5,211,186,5,5,212,186,5,5,213,186,192,0,0,0,5,5,214,186,5,5,215,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,194,5,5,160,194,5,5,161,194,5,5,162,194,5,5,163,194,5,5,164,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,194,5,5,168,194,5,5,169,194,5,5,170,194,192,0,0,0,192,0,0,0,5,5,171,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,202,5,5,242,202,192,0,0,0,5,5,243,202,5,5,244,202,5,5,245,202,5,5,246,202,5,5,247,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,210,5,5,204,210,5,5,205,210,192,0,0,0,192,0,0,0,5,5,206,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,210,5,5,208,210,5,5,209,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,217,192,0,0,0,192,0,0,0,5,5,192,217,5,5,193,217,5,5,194,217,5,5,195,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,217,5,5,199,217,5,5,200,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,224,5,5,172,224,5,5,173,224,5,5,174,224,5,5,175,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,224,5,5,177,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,230,5,5,152,230,5,5,153,230,5,5,154,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,239,5,5,7,239,5,5,8,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,242,5,5,56,242,5,5,57,242,192,0,0,0,192,0,0,0,5,5,58,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,194,192,0,0,0,192,0,0,0,5,5,249,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,157,5,5,121,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,194,192,0,0,0,192,0,0,0,5,5,202,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,239,192,0,0,0,192,0,0,0,5,5,20,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,145,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,179,192,0,0,0,5,5,184,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,163,192,0,0,0,192,0,0,0,5,5,223,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,168,5,5,82,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,180,192,0,0,0,5,5,23,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,187,5,5,157,187,5,5,158,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,187,192,0,0,0,5,5,160,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,187,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,203,5,5,123,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,218,5,5,78,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,173,192,0,0,0,5,5,236,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,180,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,188,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,195,5,5,191,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,195,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,211,192,0,0,0,192,0,0,0,5,5,162,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,211,5,5,164,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,225,192,0,0,0,192,0,0,0,5,5,49,225,5,5,50,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,195,5,5,222,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,180,5,5,149,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,188,5,5,72,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,196,5,5,8,196,5,5,9,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,204,192,0,0,0,5,5,9,204,5,5,10,204,5,5,11,204,5,5,12,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,225,5,5,180,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,225,5,5,98,225,5,5,99,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,235,5,5,158,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,169,5,5,47,169,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,169,5,5,49,169,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,169,192,0,0,0,5,5,51,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,181,192,0,0,0,192,0,0,0,5,5,18,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,204,192,0,0,0,192,0,0,0,5,5,116,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,212,5,5,38,212,5,5,39,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,219,192,0,0,0,192,0,0,0,5,5,14,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,231,192,0,0,0,5,5,55,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,242,5,5,119,242,5,5,120,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,164,5,5,219,164,5,5,220,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,169,192,0,0,0,5,5,161,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,169,5,5,163,169,5,5,164,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,175,5,5,20,175,5,5,21,175,5,5,22,175,5,5,141,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,189,5,5,75,189,5,5,76,189,5,5,77,189,5,5,78,189,5,5,79,189,5,5,80,189,5,5,81,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,197,5,5,54,197,5,5,55,197,5,5,56,197,5,5,57,197,5,5,58,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,204,5,5,243,204,5,5,244,204,5,5,245,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,212,5,5,158,212,5,5,159,212,5,5,160,212,5,5,161,212,5,5,162,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,219,5,5,130,219,5,5,131,219,5,5,132,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,219,192,0,0,0,192,0,0,0,5,5,135,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,226,5,5,17,226,5,5,18,226,5,5,19,226,5,5,20,226,5,5,21,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,231,5,5,111,231,5,5,112,231,5,5,113,231,5,5,114,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,235,5,5,233,235,5,5,234,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,246,5,5,161,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,247,5,5,222,247,5,5,223,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,247,192,0,0,0,192,0,0,0,5,5,225,247,192,0,0,0,5,5,207,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,250,192,0,0,0,192,0,0,0,5,5,32,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,169,5,5,197,169,5,5,198,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,189,192,0,0,0,192,0,0,0,5,5,127,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,197,5,5,108,197,5,5,109,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,197,192,0,0,0,5,5,112,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,205,192,0,0,0,5,5,53,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,205,5,5,55,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,219,5,5,169,219,5,5,170,219,5,5,171,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,226,5,5,73,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,235,5,5,250,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,239,5,5,148,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,242,5,5,160,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,244,192,0,0,0,192,0,0,0,5,5,228,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,247,192,0,0,0,192,0,0,0,5,5,231,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,165,5,5,16,165,5,5,17,165,5,5,18,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,170,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,170,5,5,10,170,5,5,11,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,175,5,5,135,175,192,0,0,0,5,5,136,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,175,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,175,5,5,139,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,182,5,5,4,182,5,5,5,182,5,5,6,182,5,5,7,182,5,5,8,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,189,5,5,205,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,189,5,5,207,189,5,5,208,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,197,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,197,192,0,0,0,192,0,0,0,5,5,205,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,197,5,5,207,197,5,5,208,197,5,5,209,197,5,5,210,197,5,5,211,197,5,5,212,197,5,5,213,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,197,192,0,0,0,192,0,0,0,5,5,216,197,192,0,0,0,5,5,217,197,192,0,0,0,5,5,218,197,5,5,219,197,5,5,220,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,205,5,5,135,205,5,5,136,205,5,5,137,205,5,5,138,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,205,5,5,143,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,205,192,0,0,0,5,5,145,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,212,5,5,2,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,213,5,5,4,213,5,5,5,213,5,5,6,213,192,0,0,0,5,5,7,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,213,5,5,10,213,192,0,0,0,5,5,231,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,219,5,5,233,219,5,5,234,219,5,5,235,219,5,5,236,219,5,5,237,219,5,5,238,219,5,5,239,219,5,5,240,219,5,5,241,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,226,192,0,0,0,192,0,0,0,5,5,111,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,226,5,5,114,226,5,5,115,226,5,5,116,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,226,5,5,119,226,5,5,120,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,231,5,5,180,231,5,5,181,231,5,5,182,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,236,5,5,15,236,5,5,16,236,5,5,17,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,236,5,5,19,236,5,5,20,236,5,5,21,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,239,5,5,173,239,5,5,174,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,239,5,5,176,239,5,5,177,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,242,192,0,0,0,192,0,0,0,5,5,245,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,247,192,0,0,0,192,0,0,0,5,5,229,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,205,5,5,162,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,205,5,5,191,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,231,192,0,0,0,5,5,206,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,220,192,0,0,0,192,0,0,0,5,5,25,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,190,5,5,26,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,205,192,0,0,0,192,0,0,0,5,5,234,205,5,5,235,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,213,5,5,75,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,239,192,0,0,0,192,0,0,0,5,5,197,239,192,0,0,0,5,5,198,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,176,5,5,4,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,182,192,0,0,0,5,5,146,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,226,5,5,207,226,5,5,208,226,5,5,209,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,226,192,0,0,0,192,0,0,0,5,5,211,226,5,5,212,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,232,192,0,0,0,192,0,0,0,5,5,11,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,206,5,5,65,206,5,5,66,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,239,192,0,0,0,192,0,0,0,5,5,224,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,226,5,5,40,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,213,5,5,214,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,232,5,5,122,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,236,192,0,0,0,5,5,124,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,206,5,5,139,206,5,5,140,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,220,5,5,185,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,190,5,5,195,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,220,5,5,246,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,236,5,5,160,236,5,5,161,236,5,5,162,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,242,5,5,242,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,159,5,5,182,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,161,5,5,188,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,176,192,0,0,0,192,0,0,0,5,5,118,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,183,5,5,65,183,5,5,66,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,232,5,5,156,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,183,192,0,0,0,5,5,127,183,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,214,5,5,106,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,236,192,0,0,0,5,5,40,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,191,192,0,0,0,192,0,0,0,5,5,63,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,191,5,5,65,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,214,5,5,120,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,170,192,0,0,0,5,5,222,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,176,5,5,248,176,5,5,249,176,5,5,250,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,183,5,5,239,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,199,5,5,193,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,199,5,5,196,199,5,5,197,199,5,5,198,199,5,5,199,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,199,5,5,202,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,199,192,0,0,0,192,0,0,0,5,5,204,199,192,0,0,0,192,0,0,0,5,5,123,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,207,5,5,126,207,5,5,127,207,5,5,128,207,5,5,129,207,5,5,130,207,5,5,131,207,5,5,132,207,5,5,133,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,214,5,5,213,214,5,5,214,214,5,5,215,214,5,5,216,214,5,5,217,214,5,5,218,214,5,5,219,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,214,5,5,223,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,221,192,0,0,0,5,5,149,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,221,5,5,152,221,5,5,153,221,5,5,154,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,221,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,221,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,227,192,0,0,0,192,0,0,0,5,5,200,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,227,5,5,203,227,5,5,204,227,5,5,205,227,5,5,206,227,5,5,207,227,5,5,208,227,5,5,209,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,233,5,5,5,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,233,192,0,0,0,5,5,7,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,236,5,5,249,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,240,5,5,89,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,243,5,5,49,243,5,5,50,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,245,192,0,0,0,192,0,0,0,5,5,80,245,5,5,229,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,246,5,5,231,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,248,5,5,235,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,233,192,0,0,0,192,0,0,0,5,5,57,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,237,192,0,0,0,5,5,34,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,170,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,221,5,5,11,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,184,5,5,63,184,5,5,64,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,228,5,5,36,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,237,5,5,50,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,233,5,5,122,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,243,5,5,104,243,5,5,105,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,200,5,5,130,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,249,192,0,0,0,5,5,241,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,208,5,5,100,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,228,5,5,135,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,233,5,5,164,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,192,192,0,0,0,5,5,112,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,165,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,200,5,5,247,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,165,5,5,198,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,192,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,192,5,5,229,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,209,5,5,7,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,216,192,0,0,0,5,5,44,216,5,5,45,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,223,192,0,0,0,5,5,44,223,192,0,0,0,192,0,0,0,5,5,45,223,192,0,0,0,5,5,46,223,5,5,47,223,192,0,0,0,192,0,0,0,5,5,26,229,5,5,27,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,229,5,5,29,229,5,5,30,229,5,5,31,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,234,5,5,20,234,5,5,21,234,5,5,22,234,5,5,23,234,5,5,24,234,5,5,25,234,5,5,26,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,234,5,5,28,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,234,5,5,30,234,5,5,31,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,237,5,5,221,237,5,5,222,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,237,5,5,226,237,192,0,0,0,5,5,227,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,241,5,5,44,241,5,5,45,241,5,5,46,241,5,5,47,241,5,5,48,241,192,0,0,0,5,5,49,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,243,5,5,194,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,243,5,5,196,243,5,5,197,243,192,0,0,0,5,5,198,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,243,192,0,0,0,5,5,201,243,192,0,0,0,5,5,202,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,245,5,5,174,245,5,5,175,245,5,5,176,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,247,192,0,0,0,192,0,0,0,5,5,47,247,5,5,48,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,248,192,0,0,0,192,0,0,0,5,5,78,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,248,192,0,0,0,192,0,0,0,5,5,80,248,192,0,0,0,5,5,81,248,5,5,82,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,249,5,5,16,249,5,5,17,249,5,5,18,249,5,5,19,249,5,5,20,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,249,5,5,2,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,250,192,0,0,0,192,0,0,0,5,5,57,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,250,192,0,0,0,5,5,161,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,184,192,0,0,0,192,0,0,0,5,5,255,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,165,192,0,0,0,192,0,0,0,5,5,234,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,177,5,5,191,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,193,5,5,54,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,201,192,0,0,0,192,0,0,0,5,5,165,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,216,5,5,98,216,5,5,99,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,229,5,5,89,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,229,5,5,91,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,234,192,0,0,0,192,0,0,0,5,5,81,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,241,192,0,0,0,192,0,0,0,5,5,219,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,216,192,0,0,0,192,0,0,0,5,5,111,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,229,5,5,126,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,234,192,0,0,0,5,5,109,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,238,192,0,0,0,5,5,90,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,244,192,0,0,0,5,5,15,244,5,5,16,244,5,5,17,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,229,192,0,0,0,192,0,0,0,5,5,230,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,247,5,5,150,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,248,5,5,157,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,249,5,5,86,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,235,192,0,0,0,5,5,186,238,192,0,0,0,5,5,187,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,238,192,0,0,0,192,0,0,0,5,5,189,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,239,5,5,35,162,5,5,65,157,5,5,0,133,192,0,0,0,5,5,98,162,5,5,159,171,5,5,172,171,5,5,10,178,5,5,140,185,5,5,141,193,5,5,239,209,5,5,215,209,192,0,0,0,192,0,0,0,5,5,110,162,5,5,97,166,5,5,154,244,5,5,103,166,192,0,0,0,192,0,0,0,5,5,215,157,5,5,70,160,192,0,0,0,5,5,226,157,5,5,91,178,5,5,204,157,5,5,195,158,5,5,119,162,192,0,0,0,5,5,28,157,5,5,90,157,5,5,146,162,5,5,130,166,5,5,141,166,5,5,175,193,5,5,37,202,192,0,0,0,5,5,9,172,5,5,11,172,5,5,51,202,5,5,93,157,5,5,218,158,5,5,219,158,5,5,221,158,5,5,226,158,5,5,161,166,5,5,189,193,5,5,170,162,5,5,23,172,5,5,144,178,5,5,144,178,5,5,144,178,192,0,0,0,5,5,138,161,5,5,12,158,5,5,152,178,192,0,0,0,5,5,253,158,5,5,5,159,5,5,133,160,5,5,37,172,5,5,211,162,5,5,227,162,5,5,200,166,5,5,41,172,5,5,175,178,5,5,200,178,5,5,250,185,5,5,10,186,5,5,208,193,5,5,208,193,5,5,228,193,5,5,246,193,5,5,254,193,5,5,69,202,5,5,104,210,5,5,54,210,5,5,105,210,5,5,86,210,5,5,106,217,5,5,235,157,5,5,181,160,5,5,159,172,5,5,86,186,5,5,111,186,5,5,116,172,5,5,33,179,5,5,62,194,5,5,136,217,192,0,0,0,5,5,67,163,5,5,127,186,5,5,69,163,5,5,184,160,5,5,160,210,5,5,137,186,192,0,0,0,192,0,0,0,5,5,44,179,5,5,62,179,5,5,74,179,5,5,185,172,5,5,189,186,192,0,0,0,192,0,0,0,5,5,179,217,5,5,254,238,5,5,254,238,192,0,0,0,5,5,225,186,5,5,254,202,5,5,225,210,5,5,10,239,192,0,0,0,5,5,134,163,5,5,2,173,5,5,21,161,5,5,119,157,192,0,0,0,5,5,242,186,5,5,123,157,5,5,215,167,5,5,172,163,192,0,0,0,5,5,221,194,192,0,0,0,5,5,30,203,5,5,251,194,5,5,236,210,5,5,166,165,5,5,36,187,192,0,0,0,5,5,254,194,5,5,172,179,5,5,3,195,5,5,253,217,5,5,203,224,192,0,0,0,192,0,0,0,5,5,81,173,5,5,53,187,5,5,56,187,5,5,23,195,192,0,0,0,5,5,137,157,192,0,0,0,192,0,0,0,5,5,133,183,5,5,4,168,5,5,4,168,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,163,5,5,73,187,192,0,0,0,5,5,33,195,5,5,225,163,5,5,230,163,5,5,255,163,5,5,235,179,192,0,0,0,192,0,0,0,5,5,250,179,192,0,0,0,5,5,127,187,5,5,54,211,5,5,116,203,5,5,118,203,5,5,116,203,5,5,82,211,5,5,46,218,5,5,233,224,5,5,62,218,5,5,70,218,5,5,196,230,5,5,30,239,5,5,32,239,5,5,40,161,5,5,164,187,5,5,47,161,5,5,104,168,5,5,138,168,5,5,76,180,192,0,0,0,5,5,57,180,5,5,193,173,5,5,173,187,5,5,200,187,5,5,101,180,192,0,0,0,5,5,163,203,5,5,210,203,5,5,235,187,192,0,0,0,5,5,84,218,5,5,143,211,5,5,114,218,5,5,137,211,192,0,0,0,5,5,13,188,5,5,214,203,192,0,0,0,5,5,48,188,5,5,152,180,5,5,134,180,5,5,89,225,5,5,2,196,5,5,2,204,192,0,0,0,5,5,233,171,5,5,155,185,5,5,165,193,5,5,179,211,5,5,135,170,5,5,156,170,5,5,161,180,5,5,79,188,5,5,221,206,5,5,121,164,5,5,110,164,192,0,0,0,5,5,36,169,5,5,124,174,5,5,247,168,5,5,155,174,5,5,108,188,192,0,0,0,5,5,117,188,5,5,178,180,5,5,102,196,192,0,0,0,5,5,35,204,5,5,224,211,5,5,194,218,5,5,44,231,192,0,0,0,5,5,57,231,5,5,150,246,5,5,98,161,192,0,0,0,5,5,190,225,192,0,0,0,5,5,129,204,5,5,52,212,5,5,203,188,5,5,204,188,192,0,0,0,192,0,0,0,5,5,57,212,5,5,114,161,192,0,0,0,5,5,99,169,5,5,112,169,5,5,157,164,5,5,57,181,5,5,248,174,5,5,91,181,5,5,251,174,5,5,77,181,5,5,92,181,5,5,105,181,192,0,0,0,5,5,238,174,5,5,206,196,5,5,14,197,5,5,240,204,5,5,44,197,5,5,207,204,192,0,0,0,5,5,40,189,5,5,79,219,192,0,0,0,192,0,0,0,5,5,136,219,5,5,133,242,5,5,113,239,5,5,110,239,192,0,0,0,5,5,227,244,5,5,230,164,5,5,224,164,5,5,37,175,192,0,0,0,5,5,253,204,192,0,0,0,5,5,140,219,192,0,0,0,5,5,121,250,5,5,146,231,5,5,63,205,192,0,0,0,5,5,120,197,5,5,217,212,192,0,0,0,192,0,0,0,5,5,158,239,5,5,102,158,192,0,0,0,5,5,249,169,5,5,219,181,5,5,219,181,5,5,106,205,5,5,127,205,5,5,245,212,5,5,216,219,5,5,168,239,192,0,0,0,5,5,225,197,192,0,0,0,5,5,19,170,192,0,0,0,5,5,227,189,192,0,0,0,5,5,193,205,192,0,0,0,5,5,255,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,182,5,5,90,182,5,5,90,182,5,5,33,198,5,5,41,198,5,5,32,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,190,5,5,5,206,5,5,60,220,192,0,0,0,192,0,0,0,5,5,154,182,192,0,0,0,192,0,0,0,5,5,115,213,5,5,189,182,192,0,0,0,5,5,99,220,5,5,140,213,5,5,227,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,213,5,5,201,213,192,0,0,0,5,5,138,220,5,5,247,226,192,0,0,0,192,0,0,0,5,5,37,227,192,0,0,0,5,5,100,232,5,5,125,236,5,5,78,176,192,0,0,0,5,5,193,198,5,5,241,220,5,5,21,214,5,5,231,220,5,5,130,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,227,192,0,0,0,5,5,226,190,5,5,175,236,5,5,118,170,192,0,0,0,192,0,0,0,5,5,13,199,192,0,0,0,5,5,160,232,192,0,0,0,192,0,0,0,5,5,140,170,5,5,109,183,192,0,0,0,5,5,24,199,5,5,206,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,183,5,5,70,199,5,5,126,208,192,0,0,0,5,5,112,165,5,5,106,165,5,5,171,170,5,5,157,162,5,5,191,170,5,5,193,170,5,5,202,170,5,5,201,176,192,0,0,0,5,5,200,176,5,5,69,191,5,5,224,183,5,5,150,191,5,5,70,191,5,5,145,191,5,5,127,199,5,5,191,199,5,5,242,183,5,5,99,199,5,5,101,199,5,5,116,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,207,5,5,74,221,5,5,108,221,192,0,0,0,5,5,181,227,192,0,0,0,192,0,0,0,5,5,51,245,192,0,0,0,5,5,77,245,192,0,0,0,5,5,253,176,5,5,139,207,5,5,10,233,5,5,251,236,5,5,28,184,5,5,208,199,5,5,168,207,5,5,226,199,5,5,217,227,5,5,248,214,5,5,29,215,5,5,222,227,192,0,0,0,5,5,211,221,5,5,92,240,192,0,0,0,5,5,8,228,5,5,225,161,192,0,0,0,5,5,28,200,5,5,200,207,192,0,0,0,5,5,50,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,208,5,5,61,228,5,5,36,248,5,5,149,165,192,0,0,0,5,5,77,192,5,5,128,200,5,5,253,248,5,5,131,184,192,0,0,0,192,0,0,0,5,5,162,200,5,5,69,208,5,5,87,208,192,0,0,0,5,5,146,184,5,5,149,228,192,0,0,0,192,0,0,0,5,5,3,162,5,5,137,177,5,5,166,208,192,0,0,0,5,5,206,215,5,5,196,208,5,5,5,223,5,5,6,223,5,5,47,216,5,5,39,241,5,5,172,243,192,0,0,0,5,5,107,201,192,0,0,0,5,5,46,234,192,0,0,0,192,0,0,0,5,5,150,201,5,5,195,224,5,5,4,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,209,5,5,97,209,5,5,124,223,192,0,0,0,5,5,41,185,192,0,0,0,5,5,151,229,5,5,116,241,5,5,175,216,5,5,147,234,192,0,0,0,192,0,0,0,5,5,32,244,5,5,76,244,5,5,248,223,192,0,0,0,5,5,108,244,5,5,252,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,193,192,0,0,0,5,5,235,201,5,5,141,171,5,5,72,246,5,5,37,224,5,5,204,238,5,5,244,216,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,5,0,0,142,9,0,5,0,5,0,0,0,128,28,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,15,157,24,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,56,157,26,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,25,159,12,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,187,157,23,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,217,157,18,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,0,154,27,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,21,157,19,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,12,157,25,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,38,157,16,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,70,158,8,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,86,158,3,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,85,158,4,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,71,158,6,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,102,157,11,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,67,158,9,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,189,180,5,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,77,161,7,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,140,160,14,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,197,181,2,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,158,162,17,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,163,158,22,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,218,166,13,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,149,167,10,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,7,160,21,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,164,166,15,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,23,160,20,15,0,5,0,0,144,9,0,5,0,5,212,55,18,254,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,5,5,142,9,5,5,70,171,6,5,144,9,5,5,142,9,5,5,62,170,13,5,144,9,5,5,142,9,5,5,114,184,8,5,144,9,5,5,142,9,5,5,161,182,12,5,144,9,5,5,142,9,5,5,48,213,14,5,144,9,5,5,142,9,5,5,42,208,7,5,144,9,5,5,142,9,5,5,68,190,11,5,144,9,5,5,142,9,5,5,202,161,10,5,144,9,5,5,142,9,5,5,203,161,9,5,144,9,5,5,0,21,17,5,70,158,5,5,0,23,16,5,70,158,5,5,0,25,15,5,70,158,5,5,0,27,14,5,70,158,5,5,0,29,13,5,70,158,5,5,0,31,12,5,70,158,5,5,0,33,11,5,70,158,5,5,0,35,10,5,70,158,5,5,0,37,9,5,70,158,5,5,0,21,5,5,0,19,20,5,70,158,5,5,0,21,5,5,0,21,19,5,70,158,5,5,0,21,5,5,0,23,18,5,70,158,5,5,164,158,7,5,234,166,5,5,0,19,30,5,49,175,5,5,0,21,19,5,49,175,5,5,0,23,13,5,49,175,5,5,0,25,12,5,49,175,5,5,0,27,11,5,49,175,5,5,0,29,10,5,49,175,5,5,0,31,9,5,49,175,5,5,0,33,8,5,49,175,5,5,0,35,7,5,49,175,5,5,0,37,6,5,49,175,5,5,0,21,5,5,0,19,29,5,49,175,5,5,0,21,5,5,0,21,28,5,49,175,5,5,0,21,5,5,0,23,27,5,49,175,5,5,0,21,5,5,0,25,26,5,49,175,5,5,0,21,5,5,0,27,25,5,49,175,5,5,0,21,5,5,0,29,24,5,49,175,5,5,0,21,5,5,0,31,23,5,49,175,5,5,0,21,5,5,0,33,22,5,49,175,5,5,0,21,5,5,0,35,21,5,49,175,5,5,0,21,5,5,0,37,20,5,49,175,5,5,0,23,5,5,0,19,18,5,49,175,5,5,0,23,5,5,0,21,17,5,49,175,5,5,0,23,5,5,0,23,16,5,49,175,5,5,0,23,5,5,0,25,15,5,49,175,5,5,0,23,5,5,0,27,14,5,49,175,5,5,76,159,6,5,40,161,5,5,25,174,6,5,234,166,5,5,107,157,7,5,118,159,5,5,203,168,6,5,95,169,5,5,189,180,5,5,15,161,5,5,32,160,7,5,62,170,5,5,0,21,28,5,67,158,5,5,0,23,17,5,67,158,5,5,0,25,14,5,67,158,5,5,0,27,13,5,67,158,5,5,0,29,12,5,67,158,5,5,0,31,11,5,67,158,5,5,0,33,10,5,67,158,5,5,0,35,9,5,67,158,5,5,0,37,8,5,67,158,5,5,0,21,5,5,0,19,38,5,67,158,5,5,0,21,5,5,0,21,37,5,67,158,5,5,0,21,5,5,0,23,36,5,67,158,5,5,0,21,5,5,0,25,35,5,67,158,5,5,0,21,5,5,0,27,34,5,67,158,5,5,0,21,5,5,0,29,33,5,67,158,5,5,0,21,5,5,0,31,32,5,67,158,5,5,0,21,5,5,0,33,31,5,67,158,5,5,0,21,5,5,0,35,30,5,67,158,5,5,0,21,5,5,0,37,29,5,67,158,5,5,0,23,5,5,0,19,27,5,67,158,5,5,0,23,5,5,0,21,26,5,67,158,5,5,0,23,5,5,0,23,25,5,67,158,5,5,0,23,5,5,0,25,24,5,67,158,5,5,0,23,5,5,0,27,23,5,67,158,5,5,0,23,5,5,0,29,22,5,67,158,5,5,0,23,5,5,0,31,21,5,67,158,5,5,0,23,5,5,0,33,20,5,67,158,5,5,0,23,5,5,0,35,19,5,67,158,5,5,0,23,5,5,0,37,18,5,67,158,5,5,0,25,5,5,0,19,16,5,67,158,5,5,0,25,5,5,0,21,15,5,67,158,5,5,82,10,5,5,113,159,8,5,84,10,5,5,82,10,5,5,56,157,14,5,84,10,5,5,82,10,5,5,15,157,13,5,84,10,5,5,82,10,5,5,224,160,11,5,84,10,5,5,82,10,5,5,49,175,7,5,84,10,5,5,82,10,5,5,101,159,10,5,84,10,5,5,82,10,5,5,253,189,6,5,84,10,5,5,82,10,5,5,182,193,12,5,84,10,5,5,82,10,5,5,21,188,9,5,84,10,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,41,0,198,161,36,0,19,40,82,0,28,40,42,0,33,40,20,0,33,40,255,255,163,250,5,5,35,40,255,255,169,250,5,5,36,40,255,255,171,250,5,5,39,40,255,255,173,250,5,5,48,40,255,255,175,250,5,5,28,40,255,255,84,250,5,5,29,40,255,255,120,250,5,5,30,40,255,255,136,250,5,5,31,40,255,255,152,250,5,5,32,40,255,255,158,250,5,5,23,40,20,0,23,40,255,255,175,247,5,5,24,40,255,255,181,248,5,5,25,40,255,255,99,249,5,5,26,40,255,255,219,249,5,5,27,40,255,255,26,250,5,5,19,40,255,255,216,238,5,5,20,40,255,255,25,242,5,5,21,40,255,255,148,244,5,5,22,40,255,255,90,246,5,5,10,40,38,0,14,40,20,0,14,40,255,255,211,209,5,5,15,40,255,255,248,216,5,5,16,40,255,255,44,224,5,5,17,40,255,255,53,230,5,5,18,40,255,255,33,235,5,5,10,40,255,255,238,177,5,5,11,40,255,255,79,185,5,5,12,40,255,255,110,193,5,5,13,40,255,255,238,201,5,5,5,40,20,0,5,40,255,255,126,158,5,5,6,40,255,255,213,159,5,5,7,40,255,255,31,162,5,5,8,40,255,255,252,165,5,5,9,40,255,255,144,171,5,5,1,40,255,255,0,127,5,5,2,40,255,255,0,151,5,5,3,40,255,255,53,157,5,5,4,40,255,255,162,157,5,5,8,0,1,40,34,40,35,40,37,40,39,40,40,40,48,40,49,40,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,170,170,3,0,68,0,51,0,60,0,235,251,1,16,206,41,1,96,1,0,0,96,170,170,170,170,140,77,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,100,0,0,0,100,1,0,0,164,32,0,0,164,32,0,0,140,40,0,0,140,40,0,0,72,45,0,0,72,45,0,0,8,69,0,0,64,73,0,0,112,77,0,0,17,0,0,0,5,0,0,0,0,0,0,41,127,0,0,96,125,0,0,123,44,0,118,123,125,0,0,126,169,255,0,254,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,0,249,250,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,254,255,50,105,114,84,1,0,64,8,235,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,176,0,184,0,189,0,48,0,197,0,205,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,161,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,36,0,202,193,36,0,202,226,36,0,202,3,37,0,202,36,37,0,202,69,37,0,202,102,37,0,202,135,37,0,202,168,37,0,202,201,37,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,35,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,34,36,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,36,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,230,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,5,212,55,18,254,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,31,0,198,129,0,0,0,1,12,128,107,2,117,152,75,1,254,158,187,0,7,249,74,0,196,249,38,0,10,250,20,0,10,250,255,255,25,253,193,42,30,250,255,255,195,252,193,136,60,250,255,255,135,251,193,8,149,250,255,255,11,252,193,192,206,250,255,255,224,253,193,118,196,249,255,255,224,253,193,12,233,249,255,255,98,253,193,98,247,249,255,255,152,252,193,118,8,250,255,255,15,253,193,118,64,249,16,0,64,249,255,255,209,253,193,178,113,249,255,255,78,253,193,128,129,249,255,255,106,251,193,100,138,249,255,255,42,251,193,8,7,249,255,255,224,253,193,118,8,249,255,255,224,253,193,118,10,249,255,255,98,253,193,242,52,249,255,255,198,252,193,84,127,159,75,0,159,159,57,0,159,159,255,255,224,253,193,218,160,159,255,255,224,253,193,236,126,216,4,0,2,249,255,255,70,253,193,218,9,0,210,221,20,0,210,221,255,255,45,253,193,112,21,222,255,255,213,253,193,94,23,222,255,255,217,253,193,36,24,222,255,255,217,253,193,222,28,222,255,255,219,253,193,240,29,220,255,255,34,251,193,200,117,220,255,255,130,251,193,144,120,220,255,255,135,251,193,8,144,220,255,255,160,251,193,102,196,221,255,255,16,253,193,52,127,159,255,255,223,253,193,110,141,159,255,255,224,253,193,12,153,159,255,255,224,253,193,96,156,159,255,255,224,253,193,118,59,159,16,0,59,159,255,255,219,253,193,240,74,159,255,255,220,253,193,176,80,159,255,255,220,253,193,236,82,159,255,255,220,253,193,248,254,158,255,255,217,253,193,222,14,159,255,255,218,253,193,6,19,159,255,255,218,253,193,62,32,159,255,255,218,253,193,220,50,155,70,0,165,158,34,0,205,158,16,0,205,158,255,255,214,253,193,124,209,158,255,255,214,253,193,252,249,158,255,255,217,253,193,36,253,158,255,255,217,253,193,62,165,158,255,255,211,253,193,56,166,158,255,255,212,253,193,196,187,158,255,255,213,253,193,94,195,158,255,255,213,253,193,210,229,156,16,0,229,156,255,255,195,253,193,218,31,158,255,255,206,253,193,72,117,158,255,255,208,253,193,240,127,158,255,255,209,253,193,178,50,155,255,255,180,253,193,172,60,155,255,255,181,253,193,166,90,155,255,255,184,253,193,2,124,156,255,255,193,253,193,64,153,153,34,0,216,154,16,0,216,154,255,255,175,253,193,232,223,154,255,255,176,253,193,186,37,155,255,255,180,253,193,58,47,155,255,255,180,253,193,136,153,153,255,255,164,253,193,252,172,153,255,255,165,253,193,208,108,154,255,255,171,253,193,244,168,154,255,255,173,253,193,168,222,152,16,0,222,152,255,255,157,253,193,164,223,152,255,255,157,253,193,170,99,153,255,255,163,253,193,20,150,153,255,255,164,253,193,110,117,152,255,255,153,253,193,70,168,152,255,255,154,253,193,82,206,152,255,255,156,253,193,242,219,152,255,255,157,253,193,122,100,141,142,0,127,149,70,0,94,151,34,0,230,151,16,0,230,151,255,255,147,253,193,30,237,151,255,255,147,253,193,108,243,151,255,255,147,253,193,184,1,152,255,255,148,253,193,142,94,151,255,255,140,253,193,44,98,151,255,255,140,253,193,152,105,151,255,255,141,253,193,160,203,151,255,255,145,253,193,196,182,150,16,0,182,150,255,255,131,253,193,186,185,150,255,255,131,253,193,228,232,150,255,255,134,253,193,178,81,151,255,255,139,253,193,216,127,149,255,255,120,253,193,2,128,149,255,255,120,253,193,6,232,149,255,255,124,253,193,84,28,150,255,255,125,253,193,154,181,143,34,0,204,145,16,0,204,145,255,255,98,253,193,98,209,145,255,255,98,253,193,242,133,148,255,255,114,253,193,86,119,149,255,255,118,253,193,200,181,143,255,255,78,253,193,176,145,144,255,255,87,253,193,98,73,145,255,255,93,253,193,148,198,145,255,255,98,253,193,30,202,142,16,0,202,142,255,255,70,253,193,218,102,143,255,255,76,253,193,100,155,143,255,255,77,253,193,186,176,143,255,255,78,253,193,128,100,141,255,255,54,253,193,190,112,141,255,255,55,253,193,84,179,141,255,255,59,253,193,84,171,142,255,255,68,253,193,230,107,134,70,0,0,138,34,0,85,140,16,0,85,140,255,255,45,253,193,112,120,140,255,255,47,253,193,36,157,140,255,255,48,253,193,190,29,141,255,255,53,253,193,202,0,138,255,255,30,253,193,38,160,139,255,255,40,253,193,192,55,140,255,255,43,253,193,160,70,140,255,255,44,253,193,90,126,137,16,0,126,137,255,255,24,253,193,136,139,137,255,255,25,253,193,42,193,137,255,255,27,253,193,148,210,137,255,255,27,253,193,240,107,134,255,255,254,252,193,150,64,136,255,255,14,253,193,202,76,136,255,255,15,253,193,118,99,136,255,255,16,253,193,52,252,129,34,0,110,130,16,0,110,130,255,255,222,252,193,106,114,130,255,255,222,252,193,140,120,130,255,255,223,252,193,6,77,134,255,255,252,252,193,174,252,129,255,255,217,252,193,10,12,130,255,255,218,252,193,106,27,130,255,255,219,252,193,90,31,130,255,255,219,252,193,128,137,128,16,0,137,128,255,255,203,252,193,226,227,129,255,255,215,252,193,90,234,129,255,255,215,252,193,222,243,129,255,255,216,252,193,152,12,128,255,255,198,252,193,214,18,128,255,255,199,252,193,40,51,128,255,255,200,252,193,74,127,128,255,255,203,252,193,128,54,98,30,1,132,115,142,0,226,119,70,0,115,124,34,0,81,127,16,0,81,127,255,255,189,252,193,238,138,127,255,255,193,252,193,14,189,127,255,255,195,252,193,136,1,128,255,255,198,252,193,84,115,124,255,255,168,252,193,76,248,124,255,255,174,252,193,70,159,126,255,255,185,252,193,220,54,127,255,255,188,252,193,198,190,121,16,0,190,121,255,255,140,252,193,156,116,122,255,255,148,252,193,22,203,122,255,255,152,252,193,118,249,122,255,255,154,252,193,154,226,119,255,255,124,252,193,16,243,119,255,255,125,252,193,134,58,121,255,255,134,252,193,210,184,121,255,255,140,252,193,88,139,117,34,0,174,118,16,0,174,118,255,255,109,252,193,26,191,118,255,255,110,252,193,184,238,118,255,255,113,252,193,128,219,119,255,255,123,252,193,54,139,117,255,255,98,252,193,100,146,117,255,255,98,252,193,176,118,118,255,255,106,252,193,156,125,118,255,255,106,252,193,250,24,117,16,0,24,117,255,255,92,252,193,188,31,117,255,255,93,252,193,36,40,117,255,255,93,252,193,208,48,117,255,255,94,252,193,32,132,115,255,255,79,252,193,112,137,115,255,255,79,252,193,132,220,116,255,255,89,252,193,158,230,116,255,255,90,252,193,104,179,107,70,0,42,114,34,0,71,114,16,0,71,114,255,255,66,252,193,252,89,114,255,255,68,252,193,28,91,114,255,255,68,252,193,94,172,114,255,255,72,252,193,46,42,114,255,255,64,252,193,48,54,114,255,255,65,252,193,150,59,114,255,255,65,252,193,218,63,114,255,255,66,252,193,14,15,108,16,0,15,108,255,255,20,252,193,236,20,108,255,255,21,252,193,54,52,108,255,255,21,252,193,230,107,112,255,255,48,252,193,142,179,107,255,255,14,252,193,174,203,107,255,255,16,252,193,104,212,107,255,255,16,252,193,180,219,107,255,255,17,252,193,22,224,101,34,0,40,103,16,0,40,103,255,255,235,251,193,114,32,107,255,255,6,252,193,188,98,107,255,255,9,252,193,190,121,107,255,255,11,252,193,192,224,101,255,255,222,251,193,42,229,101,255,255,222,251,193,86,240,102,255,255,232,251,193,90,8,103,255,255,233,251,193,86,135,101,16,0,135,101,255,255,217,251,193,254,151,101,255,255,218,251,193,178,164,101,255,255,219,251,193,74,185,101,255,255,220,251,193,68,54,98,255,255,190,251,193,162,75,98,255,255,191,251,193,156,47,101,255,255,212,251,193,60,52,101,255,255,212,251,193,230,215,86,142,0,219,93,70,0,254,94,34,0,97,95,16,0,97,95,255,255,165,251,193,122,115,95,255,255,166,251,193,88,195,95,255,255,169,251,193,252,8,98,255,255,188,251,193,76,254,94,255,255,160,251,193,102,11,95,255,255,161,251,193,108,19,95,255,255,161,251,193,216,80,95,255,255,164,251,193,210,114,94,16,0,114,94,255,255,153,251,193,170,122,94,255,255,154,251,193,90,127,94,255,255,154,251,193,218,244,94,255,255,159,251,193,254,219,93,255,255,147,251,193,66,229,93,255,255,147,251,193,210,241,93,255,255,148,251,193,132,254,93,255,255,149,251,193,20,80,91,34,0,34,92,16,0,34,92,255,255,130,251,193,144,56,92,255,255,131,251,193,192,110,92,255,255,135,251,193,8,113,92,255,255,135,251,193,128,80,91,255,255,119,251,193,108,128,91,255,255,121,251,193,174,248,91,255,255,128,251,193,22,15,92,255,255,129,251,193,34,10,89,16,0,10,89,255,255,100,251,193,232,21,89,255,255,101,251,193,136,39,89,255,255,102,251,193,204,115,89,255,255,106,251,193,100,215,86,255,255,83,251,193,76,31,87,255,255,85,251,193,186,235,88,255,255,99,251,193,220,2,89,255,255,100,251,193,178,224,81,70,0,65,83,34,0,130,83,16,0,130,83,255,255,50,251,193,178,182,83,255,255,53,251,193,120,200,83,255,255,54,251,193,122,227,83,255,255,56,251,193,112,65,83,255,255,47,251,193,180,92,83,255,255,49,251,193,44,100,83,255,255,209,253,193,152,105,83,255,255,49,251,193,240,249,82,16,0,249,82,255,255,44,251,193,244,21,83,255,255,45,251,193,234,26,83,255,255,46,251,193,82,56,83,255,255,47,251,193,118,224,81,255,255,33,251,193,196,245,81,255,255,34,251,193,200,0,82,255,255,35,251,193,132,155,82,255,255,42,251,193,8,160,78,34,0,107,81,16,0,107,81,255,255,28,251,193,74,130,81,255,255,29,251,193,104,150,81,255,255,30,251,193,74,171,81,255,255,31,251,193,62,160,78,255,255,8,251,193,232,186,78,255,255,10,251,193,68,63,81,255,255,26,251,193,4,101,81,255,255,27,251,193,188,63,78,16,0,63,78,255,255,4,251,193,252,89,78,255,255,6,251,193,26,133,78,255,255,7,251,193,248,140,78,255,255,8,251,193,74,0,78,255,255,2,251,193,2,40,78,255,255,4,251,193,60,44,78,255,255,66,252,193,246,54,78,255,255,4,251,193,200,26,130,246,1,0,78,1,78,40,78,41,78,44,78,45,78,54,78,55,78,63,78,64,78,89,78,90,78,133,78,134,78,140,78,141,78,160,78,161,78,186,78,187,78,63,81,64,81,101,81,102,81,107,81,108,81,130,81,131,81,150,81,151,81,171,81,172,81,224,81,225,81,245,81,246,81,0,82,1,82,155,82,156,82,249,82,250,82,21,83,22,83,26,83,27,83,56,83,57,83,65,83,66,83,92,83,93,83,100,83,101,83,105,83,106,83,130,83,131,83,182,83,183,83,200,83,201,83,227,83,228,83,215,86,216,86,31,87,32,87,235,88,236,88,2,89,3,89,10,89,11,89,21,89,22,89,39,89,40,89,115,89,116,89,80,91,81,91,128,91,129,91,248,91,249,91,15,92,16,92,34,92,35,92,56,92,57,92,110,92,111,92,113,92,114,92,219,93,220,93,229,93,230,93,241,93,242,93,254,93,255,93,114,94,115,94,122,94,123,94,127,94,128,94,244,94,245,94,254,94,255,94,11,95,12,95,19,95,20,95,80,95,81,95,97,95,98,95,115,95,116,95,195,95,196,95,8,98,9,98,54,98,55,98,75,98,76,98,47,101,48,101,52,101,53,101,135,101,136,101,151,101,152,101,164,101,165,101,185,101,186,101,224,101,225,101,229,101,230,101,240,102,241,102,8,103,9,103,40,103,41,103,32,107,33,107,98,107,99,107,121,107,122,107,179,107,180,107,203,107,204,107,212,107,213,107,219,107,220,107,15,108,16,108,20,108,21,108,52,108,53,108,107,112,108,112,42,114,43,114,54,114,55,114,59,114,60,114,63,114,64,114,71,114,72,114,89,114,90,114,91,114,92,114,172,114,173,114,132,115,133,115,137,115,138,115,220,116,221,116,230,116,231,116,24,117,25,117,31,117,32,117,40,117,41,117,48,117,49,117,139,117,140,117,146,117,147,117,118,118,119,118,125,118,126,118,174,118,175,118,191,118,192,118,238,118,239,118,219,119,220,119,226,119,227,119,243,119,244,119,58,121,59,121,184,121,185,121,190,121,191,121,116,122,117,122,203,122,204,122,249,122,250,122,115,124,116,124,248,124,249,124,159,126,160,126,54,127,55,127,81,127,82,127,138,127,139,127,189,127,190,127,1,128,2,128,12,128,13,128,18,128,19,128,51,128,52,128,127,128,128,128,137,128,138,128,227,129,228,129,234,129,235,129,243,129,244,129,252,129,253,129,12,130,13,130,27,130,28,130,31,130,32,130,110,130,111,130,114,130,115,130,120,130,121,130,77,134,78,134,107,134,108,134,64,136,65,136,76,136,77,136,99,136,100,136,126,137,127,137,139,137,140,137,193,137,194,137,210,137,211,137,0,138,1,138,160,139,161,139,55,140,56,140,70,140,71,140,85,140,86,140,120,140,121,140,157,140,158,140,29,141,30,141,100,141,101,141,112,141,113,141,179,141,180,141,171,142,172,142,202,142,203,142,102,143,103,143,155,143,156,143,176,143,177,143,181,143,182,143,145,144,146,144,73,145,74,145,198,145,199,145,204,145,205,145,209,145,210,145,133,148,134,148,119,149,120,149,127,149,129,149,232,149,233,149,28,150,29,150,182,150,183,150,185,150,186,150,232,150,233,150,81,151,82,151,94,151,95,151,98,151,99,151,105,151,106,151,203,151,204,151,230,151,231,151,237,151,238,151,243,151,244,151,1,152,2,152,117,152,118,152,168,152,169,152,206,152,207,152,219,152,220,152,222,152,224,152,99,153,100,153,150,153,151,153,153,153,154,153,172,153,173,153,108,154,109,154,168,154,169,154,216,154,217,154,223,154,224,154,37,155,38,155,47,155,48,155,50,155,51,155,60,155,61,155,90,155,91,155,124,156,125,156,229,156,230,156,31,158,32,158,117,158,118,158,127,158,128,158,165,158,167,158,187,158,188,158,195,158,196,158,205,158,206,158,209,158,210,158,249,158,250,158,253,158,255,158,14,159,15,159,19,159,20,159,32,159,33,159,59,159,60,159,74,159,75,159,80,159,81,159,82,159,83,159,127,159,128,159,141,159,142,159,153,159,154,159,156,159,157,159,159,159,161,159,126,216,127,216,2,249,3,249,7,249,9,249,10,249,11,249,52,249,53,249,64,249,65,249,113,249,114,249,129,249,130,249,138,249,139,249,196,249,197,249,233,249,234,249,247,249,248,249,8,250,9,250,10,250,11,250,30,250,31,250,60,250,61,250,149,250,150,250,206,250,207,250,2,0,29,248,2,0,30,248,2,0,117,248,2,0,118,248,2,0,120,248,2,0,121,248,2,0,144,248,2,0,145,248,2,0,196,249,2,0,197,249,2,0,210,249,2,0,211,249,2,0,21,250,2,0,22,250,2,0,23,250,2,0,25,250,2,0,28,250,2,0,29,250,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,3,0,68,0,51,0,60,0,251,208,2,16,11,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,114,114,2,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,100,0,0,0,100,1,0,0,172,75,2,0,172,75,2,0,28,86,2,0,28,86,2,0,120,94,2,0,120,94,2,0,28,110,2,0,38,110,2,0,86,114,2,0,17,0,0,0,5,0,0,0,0,0,0,41,127,0,0,96,125,0,0,123,44,0,118,123,125,0,0,126,169,255,0,254,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,0,249,250,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,254,255,50,105,114,84,1,0,28,14,224,34,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,152,0,160,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,184,0,191,0,199,0,204,0,48,0,212,0,220,0,228,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,236,0,244,0,252,0,4,1,12,1,20,1,28,1,36,1,44,1,52,1,60,1,48,0,67,1,69,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,76,1,48,0,48,0,48,0,48,0,84,1,92,1,48,0,100,1,108,1,116,1,48,0,48,0,48,0,119,1,127,1,48,0,48,0,48,0,135,1,143,1,149,1,156,1,163,1,171,1,178,1,186,1,194,1,202,1,210,1,218,1,226,1,233,1,241,1,249,1,0,2,8,2,16,2,23,2,31,2,39,2,46,2,54,2,62,2,70,2,78,2,86,2,94,2,98,2,106,2,48,0,114,2,122,2,130,2,48,0,138,2,48,0,146,2,154,2,48,0,160,2,168,2,176,2,184,2,192,2,200,2,207,2,215,2,223,2,231,2,239,2,247,2,255,2,5,3,13,3,17,3,25,3,33,3,41,3,49,3,57,3,65,3,73,3,81,3,89,3,97,3,105,3,113,3,119,3,48,0,125,3,133,3,141,3,149,3,157,3,165,3,173,3,180,3,188,3,194,3,202,3,210,3,218,3,226,3,48,0,232,3,240,3,248,3,0,4,7,4,15,4,23,4,27,4,34,4,40,4,48,4,56,4,63,4,70,4,78,4,83,4,90,4,98,4,105,4,113,4,121,4,129,4,136,4,144,4,150,4,157,4,164,4,172,4,180,4,188,4,196,4,204,4,211,4,48,0,219,4,227,4,235,4,243,4,248,4,252,4,2,5,10,5,18,5,26,5,34,5,42,5,49,5,54,5,62,5,69,5,77,5,85,5,93,5,101,5,109,5,116,5,123,5,127,5,135,5,143,5,150,5,157,5,164,5,171,5,175,5,183,5,188,5,196,5,204,5,210,5,214,5,222,5,230,5,236,5,242,5,250,5,2,6,9,6,17,6,22,6,29,6,33,6,41,6,48,6,56,6,64,6,71,6,48,0,79,6,81,6,89,6,97,6,105,6,111,6,48,0,114,6,120,6,127,6,134,6,142,6,149,6,155,6,160,6,168,6,176,6,184,6,48,0,192,6,200,6,208,6,215,6,223,6,231,6,236,6,244,6,252,6,3,7,9,7,48,0,13,7,48,0,48,0,48,0,21,7,29,7,37,7,45,7,53,7,61,7,69,7,77,7,85,7,93,7,101,7,109,7,117,7,125,7,133,7,141,7,149,7,157,7,165,7,173,7,181,7,189,7,197,7,205,7,213,7,221,7,229,7,237,7,245,7,253,7,5,8,13,8,21,8,29,8,37,8,45,8,53,8,61,8,69,8,77,8,85,8,93,8,101,8,109,8,117,8,125,8,133,8,141,8,149,8,157,8,165,8,173,8,181,8,189,8,197,8,205,8,213,8,221,8,229,8,237,8,245,8,253,8,5,9,13,9,21,9,29,9,37,9,45,9,53,9,61,9,69,9,77,9,85,9,93,9,101,9,109,9,117,9,125,9,133,9,141,9,149,9,157,9,165,9,173,9,181,9,189,9,197,9,205,9,213,9,221,9,229,9,237,9,245,9,253,9,5,10,13,10,21,10,29,10,37,10,45,10,53,10,61,10,69,10,77,10,85,10,93,10,101,10,109,10,117,10,125,10,133,10,141,10,149,10,157,10,165,10,173,10,181,10,189,10,197,10,205,10,213,10,221,10,229,10,237,10,245,10,253,10,5,11,13,11,21,11,29,11,37,11,45,11,53,11,61,11,69,11,77,11,85,11,93,11,101,11,109,11,117,11,125,11,133,11,141,11,149,11,157,11,165,11,173,11,181,11,189,11,197,11,205,11,213,11,221,11,229,11,237,11,245,11,253,11,5,12,13,12,21,12,29,12,37,12,45,12,53,12,61,12,69,12,77,12,85,12,93,12,101,12,109,12,117,12,125,12,133,12,141,12,149,12,157,12,165,12,173,12,181,12,189,12,197,12,205,12,213,12,221,12,229,12,237,12,245,12,253,12,5,13,13,13,21,13,29,13,37,13,45,13,53,13,61,13,69,13,77,13,85,13,93,13,101,13,109,13,117,13,125,13,133,13,141,13,149,13,157,13,165,13,173,13,181,13,189,13,197,13,205,13,213,13,221,13,229,13,237,13,245,13,253,13,5,14,13,14,21,14,29,14,37,14,45,14,53,14,61,14,69,14,77,14,85,14,93,14,101,14,109,14,117,14,125,14,133,14,141,14,149,14,157,14,165,14,173,14,181,14,189,14,197,14,205,14,213,14,221,14,229,14,237,14,245,14,253,14,5,15,13,15,21,15,29,15,37,15,45,15,53,15,61,15,69,15,77,15,85,15,93,15,101,15,109,15,117,15,125,15,133,15,141,15,149,15,157,15,165,15,173,15,181,15,189,15,197,15,205,15,213,15,221,15,229,15,237,15,245,15,253,15,5,16,13,16,21,16,29,16,37,16,45,16,53,16,61,16,69,16,77,16,85,16,93,16,101,16,109,16,117,16,125,16,133,16,141,16,149,16,157,16,165,16,173,16,181,16,189,16,197,16,205,16,213,16,221,16,229,16,237,16,245,16,253,16,5,17,13,17,21,17,29,17,37,17,45,17,53,17,61,17,69,17,77,17,85,17,93,17,101,17,109,17,117,17,125,17,133,17,141,17,149,17,157,17,165,17,173,17,181,17,189,17,197,17,205,17,213,17,221,17,229,17,237,17,245,17,253,17,5,18,13,18,21,18,29,18,37,18,45,18,53,18,61,18,69,18,77,18,85,18,93,18,101,18,109,18,117,18,125,18,133,18,141,18,149,18,157,18,165,18,173,18,181,18,189,18,197,18,205,18,213,18,221,18,229,18,237,18,245,18,253,18,5,19,13,19,21,19,29,19,37,19,45,19,53,19,61,19,69,19,77,19,85,19,93,19,101,19,109,19,117,19,125,19,133,19,141,19,149,19,157,19,165,19,173,19,181,19,189,19,197,19,205,19,213,19,221,19,229,19,237,19,245,19,253,19,5,20,13,20,21,20,29,20,37,20,45,20,53,20,61,20,69,20,77,20,85,20,93,20,101,20,109,20,117,20,125,20,133,20,141,20,149,20,157,20,165,20,173,20,181,20,189,20,197,20,205,20,213,20,221,20,229,20,237,20,245,20,253,20,5,21,13,21,21,21,29,21,37,21,45,21,53,21,61,21,69,21,77,21,85,21,93,21,101,21,109,21,117,21,125,21,133,21,141,21,149,21,157,21,165,21,173,21,181,21,189,21,197,21,205,21,213,21,221,21,229,21,237,21,245,21,253,21,5,22,13,22,21,22,29,22,37,22,45,22,53,22,61,22,69,22,77,22,85,22,93,22,101,22,109,22,117,22,125,22,133,22,141,22,149,22,157,22,165,22,173,22,181,22,189,22,197,22,205,22,213,22,221,22,229,22,237,22,245,22,253,22,5,23,13,23,21,23,29,23,37,23,45,23,53,23,61,23,69,23,77,23,85,23,93,23,101,23,109,23,117,23,125,23,133,23,141,23,149,23,157,23,165,23,173,23,181,23,189,23,197,23,205,23,213,23,221,23,229,23,237,23,245,23,253,23,5,24,13,24,21,24,29,24,37,24,45,24,53,24,61,24,69,24,77,24,85,24,93,24,101,24,109,24,117,24,125,24,133,24,141,24,149,24,157,24,165,24,173,24,181,24,189,24,197,24,205,24,213,24,221,24,229,24,237,24,245,24,253,24,5,25,13,25,21,25,29,25,37,25,45,25,53,25,61,25,69,25,77,25,85,25,93,25,101,25,109,25,117,25,125,25,133,25,141,25,149,25,157,25,165,25,173,25,181,25,189,25,197,25,205,25,213,25,221,25,229,25,237,25,245,25,253,25,5,26,13,26,21,26,29,26,37,26,45,26,53,26,61,26,69,26,77,26,85,26,93,26,101,26,109,26,117,26,125,26,133,26,141,26,149,26,157,26,165,26,173,26,181,26,189,26,197,26,205,26,213,26,221,26,229,26,237,26,245,26,253,26,5,27,13,27,21,27,29,27,37,27,45,27,53,27,61,27,69,27,77,27,85,27,93,27,101,27,109,27,117,27,125,27,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,176,0,48,0,48,0,168,0,201,34,209,34,215,34,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,27,141,27,149,27,157,27,165,27,173,27,181,27,189,27,197,27,205,27,213,27,221,27,229,27,237,27,245,27,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,27,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,96,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,64,0,188,8,246,8,54,9,118,9,182,9,240,9,48,10,111,10,174,10,238,10,45,11,107,11,169,11,233,11,39,12,102,12,166,12,223,12,27,13,90,13,154,13,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,218,13,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,1,28,9,28,17,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,24,28,48,0,30,28,48,0,35,28,48,0,48,0,48,0,48,0,41,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,44,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,28,48,0,48,0,48,0,48,0,48,0,48,0,57,28,63,28,48,0,66,28,48,0,48,0,72,28,48,0,48,0,48,0,48,0,78,28,82,28,48,0,48,0,48,0,48,0,48,0,48,0,87,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,93,28,101,28,107,28,113,28,117,28,124,28,131,28,136,28,144,28,48,0,150,28,48,0,158,28,48,0,163,28,48,0,171,28,177,28,48,0,184,28,48,0,189,28,48,0,193,28,201,28,204,28,48,0,212,28,220,28,48,0,48,0,227,28,48,0,232,28,48,0,240,28,48,0,48,0,48,0,246,28,254,28,48,0,48,0,48,0,6,29,13,29,48,0,48,0,48,0,48,0,48,0,48,0,15,29,48,0,48,0,48,0,23,29,48,0,48,0,48,0,48,0,48,0,26,29,32,29,48,0,48,0,39,29,43,29,50,29,48,0,48,0,58,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,61,29,48,0,48,0,69,29,48,0,48,0,48,0,75,29,78,29,86,29,48,0,90,29,98,29,48,0,48,0,48,0,48,0,48,0,48,0,106,29,48,0,48,0,114,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,122,29,48,0,48,0,128,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,132,29,48,0,48,0,48,0,137,29,48,0,48,0,48,0,48,0,48,0,145,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,151,29,48,0,48,0,48,0,154,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,162,29,48,0,48,0,48,0,48,0,169,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,172,29,48,0,48,0,48,0,48,0,48,0,48,0,178,29,48,0,48,0,48,0,48,0,183,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,189,29,48,0,48,0,48,0,48,0,48,0,196,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,201,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,29,48,0,48,0,48,0,214,29,48,0,217,29,225,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,230,29,238,29,48,0,241,29,249,29,48,0,48,0,48,0,48,0,48,0,254,29,6,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,11,30,19,30,48,0,23,30,48,0,30,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,34,30,48,0,48,0,48,0,41,30,48,0,48,0,49,30,48,0,48,0,48,0,50,30,48,0,48,0,48,0,48,0,58,30,64,30,72,30,48,0,79,30,48,0,48,0,48,0,48,0,48,0,48,0,87,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,94,30,48,0,101,30,109,30,48,0,116,30,48,0,48,0,48,0,121,30,48,0,48,0,48,0,48,0,48,0,48,0,125,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,136,30,48,0,48,0,48,0,48,0,48,0,48,0,142,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,149,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,154,30,48,0,159,30,48,0,48,0,163,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,30,48,0,48,0,176,30,48,0,48,0,48,0,180,30,48,0,48,0,48,0,187,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,193,30,48,0,196,30,48,0,48,0,203,30,48,0,48,0,48,0,48,0,48,0,209,30,48,0,48,0,48,0,48,0,48,0,217,30,48,0,48,0,48,0,48,0,225,30,48,0,48,0,229,30,48,0,48,0,48,0,236,30,48,0,244,30,246,30,254,30,3,31,48,0,11,31,15,31,20,31,48,0,48,0,26,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,32,31,48,0,36,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,41,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,31,52,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,57,31,48,0,48,0,48,0,61,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,66,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,73,31,48,0,81,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,88,31,48,0,48,0,48,0,48,0,48,0,48,0,90,31,48,0,48,0,48,0,98,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,103,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,110,31,48,0,118,31,48,0,48,0,122,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,31,48,0,48,0,48,0,131,31,48,0,137,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,144,31,48,0,147,31,48,0,48,0,48,0,155,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,160,31,48,0,48,0,48,0,48,0,164,31,48,0,48,0,48,0,48,0,171,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,31,48,0,48,0,183,31,48,0,48,0,48,0,48,0,48,0,188,31,195,31,198,31,48,0,48,0,48,0,204,31,48,0,48,0,48,0,211,31,48,0,219,31,48,0,225,31,48,0,232,31,48,0,237,31,244,31,248,31,48,0,48,0,48,0,48,0,48,0,48,0,253,31,48,0,48,0,48,0,48,0,48,0,48,0,4,32,48,0,48,0,10,32,48,0,48,0,18,32,48,0,48,0,48,0,26,32,48,0,48,0,48,0,34,32,48,0,48,0,48,0,48,0,39,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,45,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,52,32,48,0,48,0,60,32,48,0,66,32,48,0,48,0,48,0,71,32,48,0,48,0,48,0,48,0,48,0,76,32,48,0,48,0,48,0,48,0,48,0,83,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,87,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,92,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,98,32,48,0,48,0,48,0,48,0,104,32,48,0,48,0,108,32,48,0,115,32,48,0,48,0,48,0,48,0,48,0,48,0,123,32,48,0,48,0,130,32,48,0,138,32,141,32,149,32,154,32,48,0,48,0,48,0,48,0,161,32,48,0,167,32,48,0,48,0,48,0,48,0,48,0,171,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,176,32,183,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,185,32,48,0,192,32,198,32,48,0,206,32,48,0,48,0,48,0,48,0,211,32,216,32,48,0,224,32,48,0,48,0,48,0,227,32,48,0,234,32,48,0,240,32,48,0,48,0,48,0,247,32,48,0,48,0,254,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,10,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,15,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,21,33,48,0,48,0,48,0,28,33,48,0,32,33,48,0,48,0,48,0,48,0,40,33,48,0,48,0,48,0,47,33,48,0,48,0,48,0,48,0,48,0,49,33,57,33,48,0,48,0,48,0,48,0,64,33,48,0,48,0,48,0,48,0,48,0,67,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,74,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,80,33,48,0,88,33,93,33,48,0,97,33,105,33,113,33,48,0,48,0,118,33,124,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,132,33,138,33,48,0,48,0,48,0,142,33,149,33,48,0,48,0,48,0,48,0,48,0,153,33,48,0,160,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,33,48,0,48,0,48,0,48,0,171,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,177,33,48,0,48,0,184,33,48,0,48,0,48,0,192,33,48,0,48,0,198,33,203,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,33,48,0,48,0,48,0,48,0,48,0,48,0,212,33,48,0,219,33,48,0,48,0,226,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,232,33,48,0,48,0,238,33,48,0,48,0,48,0,245,33,247,33,48,0,254,33,48,0,6,34,48,0,48,0,48,0,12,34,48,0,18,34,48,0,48,0,48,0,48,0,48,0,24,34,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,31,34,48,0,39,34,43,34,49,34,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,57,34,65,34,73,34,81,34,89,34,97,34,105,34,113,34,121,34,129,34,137,34,145,34,153,34,161,34,169,34,177,34,185,34,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,255,255,255,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,41,0,202,65,39,0,202,130,39,0,202,195,39,0,202,4,40,0,202,69,40,0,202,134,40,0,202,199,40,0,202,8,41,0,202,73,41,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,66,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,98,66,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,66,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,222,251,192,0,0,0,194,5,220,251,194,5,221,251,5,252,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,241,192,0,0,0,5,5,80,208,192,0,0,0,5,5,124,175,192,0,0,0,5,5,148,163,192,0,0,0,5,5,199,214,5,5,200,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,230,5,5,196,248,192,0,0,0,6,5,61,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,219,192,0,0,0,5,5,45,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,227,192,0,0,0,5,5,34,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,230,192,0,0,0,5,5,54,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,225,5,5,248,225,192,0,0,0,5,5,183,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,174,5,5,7,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,210,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,82,239,6,5,128,194,6,5,188,221,6,5,64,168,7,5,209,239,6,5,114,207,9,5,67,239,6,5,210,179,7,5,83,230,6,5,25,239,6,5,217,230,7,5,0,128,6,5,81,208,6,5,85,171,6,5,50,166,6,5,123,202,6,5,149,210,6,5,125,175,6,5,22,187,6,5,248,163,6,5,220,164,6,5,145,173,6,5,104,213,8,5,225,226,6,5,149,163,6,5,125,203,6,5,26,225,6,5,101,235,6,5,93,242,6,5,142,195,6,5,255,245,7,5,237,181,6,5,22,227,6,5,140,218,6,5,246,236,6,5,165,212,6,5,47,175,7,5,212,184,6,5,204,231,6,5,173,171,6,5,34,235,6,5,201,214,6,5,26,242,6,5,183,226,6,5,185,223,6,5,37,228,6,5,45,226,6,5,186,194,6,5,124,202,6,5,159,205,6,5,151,192,6,5,139,241,6,5,172,194,6,5,204,243,6,5,216,194,6,5,254,239,6,5,187,194,6,5,146,202,6,5,38,228,6,5,79,223,6,5,241,215,6,5,130,191,6,5,53,199,7,5,14,228,6,5,55,218,6,5,212,168,7,5,19,247,6,5,197,175,6,5,161,205,6,5,146,173,6,5,12,245,7,5,8,230,6,5,188,248,8,5,197,248,7,5,80,172,6,5,164,210,6,5,141,218,6,5,73,175,6,5,59,229,6,5,13,245,6,5,221,164,6,5,19,170,6,5,23,227,6,5,21,209,7,5,208,229,7,5,178,199,6,5,219,219,6,5,186,174,6,5,155,241,6,5,57,167,6,5,123,168,6,5,240,240,6,5,46,184,6,5,100,212,6,5,132,217,6,5,48,248,6,5,103,193,6,5,152,245,6,5,102,192,7,5,8,229,6,5,24,250,6,5,71,181,6,5,22,168,6,5,255,182,6,5,36,163,6,5,155,163,6,5,234,167,6,5,249,171,6,5,83,172,6,5,20,170,6,5,10,227,6,5,227,226,6,5,30,227,6,5,33,230,6,5,83,197,6,5,55,217,6,5,26,187,6,5,165,221,6,5,68,171,6,5,86,171,6,5,230,172,6,5,88,247,6,5,15,244,6,5,6,248,6,5,193,185,6,5,26,239,6,5,117,185,6,5,53,239,6,5,51,248,6,5,56,230,6,5,179,224,6,5,189,231,6,5,178,218,6,5,157,204,6,5,177,227,6,5,64,226,6,5,254,219,6,5,172,192,6,5,222,235,6,5,46,234,6,5,217,198,6,5,166,226,6,5,78,217,6,5,139,216,6,5,87,239,6,5,22,241,6,5,78,205,6,5,27,204,6,5,157,242,6,5,35,193,6,5,198,175,6,5,12,227,6,5,184,218,6,5,201,163,6,5,84,223,7,5,116,232,6,5,217,232,6,5,137,228,6,5,174,223,6,5,244,215,6,5,183,224,6,5,250,225,6,5,22,240,6,5,71,242,6,5,234,165,6,5,250,186,7,5,164,205,6,5,35,221,6,5,163,170,6,5,195,174,6,5,43,187,6,5,81,222,6,5,8,248,6,5,89,211,6,5,153,172,6,5,217,171,6,5,165,191,6,5,12,246,6,5,149,204,6,5,118,243,6,5,88,241,6,5,199,173,6,5,154,172,6,5,241,226,6,5,17,228,6,5,41,216,6,5,34,169,6,5,44,193,6,5,4,192,6,5,143,165,6,5,202,175,6,5,41,225,6,5,170,191,6,5,13,194,6,5,189,247,6,5,33,184,6,5,231,189,6,5,18,190,6,5,182,169,6,5,23,169,6,5,49,201,6,5,110,229,6,5,207,197,6,5,174,218,6,5,210,171,6,5,204,177,6,5,57,193,6,5,114,229,6,5,219,164,6,5,218,208,6,5,77,223,6,5,248,190,6,5,241,193,6,5,233,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,225,226,6,5,88,184,6,5,207,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,8,5,82,239,8,5,67,239,8,5,79,236,7,5,157,235,7,5,252,228,8,5,193,222,7,5,226,213,6,5,66,203,6,5,209,239,6,5,57,166,6,5,187,177,7,5,61,181,6,5,66,175,6,5,83,230,198,131,31,0,198,227,31,0,198,67,32,0,198,163,32,0,198,3,33,0,198,99,33,0,198,195,33,0,198,35,34,0,198,131,34,0,198,227,34,0,198,67,35,0,198,163,35,0,198,3,36,0,198,99,36,0,197,227,35,0,198,195,36,0,198,35,37,0,198,131,37,0,198,227,37,0,197,67,36,0,198,67,38,0,198,163,38,0,197,163,36,0,197,3,37,0,198,3,39,0,198,99,39,0,198,195,39,0,198,35,40,0,197,99,37,0,198,131,40,0,197,195,37,0,198,227,40,0,197,35,38,0,198,67,41,0,197,131,38,0,197,227,38,0,6,5,62,247,6,5,95,242,6,5,19,247,6,5,95,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,82,239,7,5,67,239,7,5,79,236,6,5,157,235,6,5,43,245,6,5,99,188,6,5,113,208,6,5,0,128,6,5,141,204,6,5,225,226,7,5,197,248,6,5,178,199,6,5,208,229,6,5,80,172,6,5,164,205,6,5,237,181,6,5,8,230,6,5,136,221,7,5,68,242,6,5,188,227,6,5,26,172,6,5,94,179,6,5,11,234,6,5,226,221,6,5,168,185,6,5,95,171,6,5,95,183,6,5,212,184,6,5,93,227,6,5,19,242,6,5,233,243,6,5,214,221,6,5,104,216,6,5,236,214,6,5,45,214,6,5,112,221,6,5,252,228,7,5,193,222,6,5,226,213,7,5,251,232,7,5,94,242,6,5,88,239,6,5,87,233,6,5,58,217,6,5,227,204,6,5,250,208,6,5,135,231,6,5,254,213,6,5,83,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,39,0,197,130,39,0,197,194,39,0,197,2,40,0,197,66,40,0,197,130,40,0,197,194,40,0,197,2,41,0,197,66,41,0,197,131,41,0,197,227,41,0,197,67,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,42,0,197,226,42,0,197,34,43,0,197,98,43,0,197,162,43,0,197,226,43,0,197,34,44,0,197,98,44,0,197,162,44,0,197,226,44,0,197,35,45,0,197,131,45,0,197,227,45,0,197,67,46,0,197,163,46,0,197,3,47,0,197,99,47,0,197,195,47,0,197,35,48,0,197,131,48,0,197,227,48,0,197,67,49,0,197,163,49,0,197,3,50,0,197,99,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,50,0,197,2,51,0,197,66,51,0,197,130,51,0,197,196,51,0,197,66,52,0,197,130,52,0,197,194,52,0,197,2,53,0,197,66,53,0,197,130,53,0,197,194,53,0,197,2,54,0,197,66,54,0,197,131,54,0,197,227,54,0,197,67,55,0,197,163,55,0,197,3,56,0,197,99,56,0,197,195,56,0,197,35,57,0,197,131,57,0,197,227,57,0,197,67,58,0,197,163,58,0,197,3,59,0,197,99,59,0,197,195,59,0,197,35,60,0,197,131,60,0,197,227,60,0,197,67,61,0,197,163,61,0,197,3,62,0,197,99,62,0,192,0,0,0,5,5,212,209,5,5,118,181,192,0,0,0,192,0,0,0,5,5,46,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,218,192,0,0,0,5,5,5,189,192,0,0,0,192,0,0,0,5,5,18,216,5,5,208,220,5,5,76,175,5,5,80,245,5,5,51,167,192,0,0,0,192,0,0,0,5,5,30,169,5,5,166,210,5,5,7,240,192,0,0,0,5,5,42,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,196,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,171,5,5,54,240,5,5,53,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,208,192,0,0,0,192,0,0,0,5,5,74,180,5,5,173,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,179,192,0,0,0,192,0,0,0,5,5,190,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,173,192,0,0,0,5,5,143,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,212,192,0,0,0,192,0,0,0,5,5,57,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,191,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,236,192,0,0,0,5,5,146,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,213,192,0,0,0,5,5,164,207,192,0,0,0,192,0,0,0,5,5,176,163,5,5,75,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,223,192,0,0,0,192,0,0,0,5,5,197,198,5,5,16,248,192,0,0,0,5,5,20,194,5,5,104,240,5,5,152,217,5,5,236,194,5,5,7,186,5,5,154,180,5,5,12,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,197,5,5,249,191,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,238,192,0,0,0,192,0,0,0,5,5,79,217,192,0,0,0,5,5,108,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,199,5,5,36,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,243,5,5,165,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,214,192,0,0,0,5,5,223,237,192,0,0,0,192,0,0,0,5,5,13,196,5,5,4,199,192,0,0,0,5,5,200,213,192,0,0,0,192,0,0,0,5,5,74,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,202,5,5,207,199,5,5,47,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,193,192,0,0,0,192,0,0,0,5,5,50,217,192,0,0,0,5,5,20,233,5,5,144,240,5,5,192,233,192,0,0,0,5,5,149,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,164,192,0,0,0,5,5,122,247,5,5,134,217,192,0,0,0,192,0,0,0,5,5,216,210,192,0,0,0,192,0,0,0,5,5,249,164,192,0,0,0,5,5,117,206,192,0,0,0,5,5,138,238,192,0,0,0,192,0,0,0,5,5,157,220,5,5,227,179,5,5,235,206,192,0,0,0,5,5,3,233,5,5,124,166,5,5,141,203,5,5,56,238,5,5,185,232,5,5,168,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,225,5,5,231,213,5,5,102,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,194,5,5,24,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,197,192,0,0,0,5,5,17,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,166,5,5,217,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,178,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,167,192,0,0,0,5,5,142,203,5,5,94,239,5,5,73,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,191,192,0,0,0,192,0,0,0,5,5,93,234,192,0,0,0,5,5,188,212,5,5,200,173,192,0,0,0,5,5,201,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,179,5,5,65,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,188,5,5,229,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,172,192,0,0,0,5,5,116,220,192,0,0,0,192,0,0,0,5,5,76,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,238,192,0,0,0,5,5,180,210,192,0,0,0,5,5,215,234,192,0,0,0,192,0,0,0,5,5,69,230,192,0,0,0,5,5,165,169,5,5,14,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,248,5,5,38,219,5,5,132,247,5,5,239,199,5,5,28,171,5,5,41,184,5,5,230,246,5,5,53,171,5,5,9,184,5,5,221,211,5,5,158,232,5,5,213,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,197,192,0,0,0,192,0,0,0,5,5,198,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,175,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,189,192,0,0,0,5,5,240,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,202,5,5,222,164,192,0,0,0,5,5,114,230,5,5,30,201,5,5,6,173,5,5,160,191,5,5,22,196,5,5,207,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,225,5,5,150,170,5,5,245,190,192,0,0,0,5,5,249,243,5,5,130,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,187,192,0,0,0,5,5,58,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,187,5,5,26,198,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,233,5,5,203,174,5,5,104,209,5,5,196,163,5,5,189,223,5,5,176,233,5,5,196,170,5,5,63,198,5,5,119,213,5,5,10,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,223,5,5,25,210,5,5,93,200,192,0,0,0,5,5,195,247,5,5,110,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,240,5,5,120,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,185,192,0,0,0,192,0,0,0,5,5,191,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,199,192,0,0,0,192,0,0,0,5,5,205,193,5,5,83,188,192,0,0,0,192,0,0,0,5,5,191,231,5,5,3,165,5,5,155,245,192,0,0,0,5,5,180,187,192,0,0,0,192,0,0,0,5,5,74,196,192,0,0,0,5,5,195,197,5,5,116,243,192,0,0,0,192,0,0,0,5,5,139,215,5,5,159,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,167,192,0,0,0,192,0,0,0,5,5,36,222,192,0,0,0,192,0,0,0,5,5,231,198,192,0,0,0,5,5,71,166,5,5,220,218,5,5,248,178,5,5,128,178,5,5,10,220,192,0,0,0,5,5,6,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,203,5,5,158,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,237,192,0,0,0,192,0,0,0,5,5,165,203,5,5,99,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,199,192,0,0,0,5,5,181,241,5,5,252,233,5,5,24,194,5,5,113,205,5,5,47,205,5,5,146,175,5,5,233,205,5,5,51,169,5,5,101,200,192,0,0,0,192,0,0,0,5,5,113,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,210,192,0,0,0,5,5,148,182,192,0,0,0,192,0,0,0,5,5,61,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,186,192,0,0,0,5,5,223,233,192,0,0,0,192,0,0,0,5,5,126,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,214,5,5,125,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,210,192,0,0,0,5,5,93,197,5,5,81,174,192,0,0,0,192,0,0,0,5,5,196,215,5,5,36,194,5,5,104,197,5,5,122,212,5,5,126,198,5,5,210,182,5,5,85,163,5,5,79,228,5,5,238,164,5,5,19,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,195,5,5,222,236,192,0,0,0,192,0,0,0,5,5,203,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,186,192,0,0,0,5,5,217,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,247,5,5,117,179,5,5,158,224,5,5,137,170,5,5,11,172,5,5,230,200,5,5,2,247,5,5,181,184,5,5,231,200,5,5,32,198,5,5,170,206,5,5,104,163,5,5,155,215,5,5,94,187,5,5,234,205,192,0,0,0,5,5,219,170,5,5,98,168,5,5,228,197,5,5,47,244,192,0,0,0,5,5,224,215,5,5,188,236,5,5,100,246,5,5,200,223,5,5,4,213,5,5,243,205,5,5,139,234,5,5,166,197,5,5,87,173,5,5,224,227,5,5,145,189,192,0,0,0,5,5,150,178,5,5,149,208,5,5,10,169,5,5,235,248,5,5,126,163,192,0,0,0,5,5,135,200,5,5,61,177,5,5,81,243,5,5,106,207,5,5,113,204,5,5,121,183,5,5,214,187,5,5,157,247,5,5,235,180,5,5,68,181,5,5,52,245,5,5,182,201,5,5,190,214,5,5,254,197,192,0,0,0,5,5,17,181,5,5,89,221,192,0,0,0,5,5,37,201,5,5,230,174,192,0,0,0,192,0,0,0,5,5,135,182,192,0,0,0,5,5,175,230,5,5,25,204,192,0,0,0,5,5,23,216,192,0,0,0,192,0,0,0,5,5,92,249,5,5,125,207,5,5,109,199,192,0,0,0,5,5,158,164,5,5,86,170,192,0,0,0,5,5,185,192,5,5,53,246,192,0,0,0,5,5,255,169,5,5,171,235,5,5,241,165,5,5,189,189,5,5,163,211,192,0,0,0,192,0,0,0,5,5,167,191,5,5,135,219,5,5,66,191,5,5,222,166,5,5,54,231,5,5,11,210,5,5,188,187,5,5,222,194,5,5,142,215,5,5,120,213,5,5,253,215,192,0,0,0,5,5,31,184,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,214,5,5,195,187,5,5,34,174,5,5,179,234,5,5,37,222,5,5,0,150,5,5,15,233,5,5,141,219,5,5,26,233,5,5,110,197,5,5,70,202,192,0,0,0,5,5,207,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,181,5,5,100,215,5,5,231,242,5,5,72,180,5,5,61,179,5,5,215,176,5,5,154,207,5,5,18,239,5,5,93,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,203,192,0,0,0,192,0,0,0,5,5,237,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,186,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,175,192,0,0,0,5,5,92,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,205,5,5,122,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,186,5,5,127,190,5,5,202,228,192,0,0,0,5,5,142,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,215,192,0,0,0,192,0,0,0,5,5,5,191,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,227,192,0,0,0,5,5,94,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,229,5,5,111,186,192,0,0,0,5,5,217,212,192,0,0,0,5,5,132,208,192,0,0,0,5,5,193,188,5,5,245,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,169,5,5,203,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,209,192,0,0,0,5,5,129,166,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,235,5,5,31,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,217,192,0,0,0,5,5,118,205,192,0,0,0,192,0,0,0,5,5,163,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,185,192,0,0,0,192,0,0,0,5,5,78,165,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,240,5,5,119,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,187,192,0,0,0,5,5,120,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,243,192,0,0,0,5,5,208,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,174,5,5,16,200,192,0,0,0,5,5,130,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,179,5,5,110,198,192,0,0,0,192,0,0,0,5,5,228,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,185,192,0,0,0,192,0,0,0,5,5,160,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,181,192,0,0,0,5,5,232,163,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,230,192,0,0,0,5,5,87,163,192,0,0,0,192,0,0,0,5,5,210,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,235,5,5,156,204,5,5,221,168,192,0,0,0,192,0,0,0,5,5,169,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,239,192,0,0,0,192,0,0,0,5,5,182,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,170,192,0,0,0,5,5,207,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,175,5,5,230,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,166,192,0,0,0,192,0,0,0,5,5,47,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,178,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,242,192,0,0,0,192,0,0,0,5,5,204,192,5,5,43,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,179,5,5,14,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,173,5,5,111,242,5,5,204,238,5,5,77,182,5,5,228,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,217,192,0,0,0,192,0,0,0,5,5,218,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,213,192,0,0,0,5,5,141,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,221,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,238,192,0,0,0,5,5,136,212,192,0,0,0,5,5,221,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,238,192,0,0,0,5,5,128,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,193,192,0,0,0,5,5,160,204,192,0,0,0,192,0,0,0,5,5,208,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,222,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,185,5,5,137,230,5,5,61,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,225,5,5,62,208,192,0,0,0,5,5,81,246,5,5,111,240,5,5,147,219,5,5,184,242,192,0,0,0,5,5,83,236,5,5,210,190,5,5,200,168,5,5,223,219,5,5,97,198,5,5,118,248,5,5,106,175,5,5,240,219,5,5,177,172,5,5,162,227,5,5,133,189,5,5,67,179,5,5,179,211,5,5,208,170,5,5,107,241,5,5,11,164,5,5,51,194,5,5,126,193,5,5,116,183,5,5,186,191,192,0,0,0,5,5,3,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,179,192,0,0,0,5,5,22,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,200,192,0,0,0,5,5,10,236,5,5,123,221,192,0,0,0,192,0,0,0,5,5,107,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,213,5,5,254,182,192,0,0,0,5,5,56,236,5,5,94,207,192,0,0,0,5,5,240,227,5,5,164,179,5,5,78,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,229,5,5,147,189,5,5,129,185,5,5,47,206,5,5,157,186,5,5,35,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,180,5,5,109,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,230,192,0,0,0,5,5,247,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,209,5,5,239,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,174,5,5,42,239,192,0,0,0,192,0,0,0,5,5,67,181,5,5,119,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,185,192,0,0,0,192,0,0,0,5,5,59,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,184,5,5,136,181,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,195,5,5,151,241,192,0,0,0,192,0,0,0,5,5,242,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,240,192,0,0,0,192,0,0,0,5,5,95,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,247,5,5,42,242,5,5,150,177,5,5,116,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,219,5,5,18,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,202,5,5,44,222,5,5,23,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,247,5,5,20,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,247,5,5,52,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,170,5,5,51,168,5,5,247,170,5,5,78,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,175,5,5,203,173,192,0,0,0,5,5,17,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,171,192,0,0,0,5,5,21,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,232,5,5,195,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,187,192,0,0,0,5,5,215,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,219,192,0,0,0,192,0,0,0,5,5,253,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,178,192,0,0,0,5,5,84,238,192,0,0,0,5,5,82,233,5,5,193,196,192,0,0,0,192,0,0,0,5,5,252,243,192,0,0,0,5,5,33,236,5,5,218,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,208,5,5,38,203,192,0,0,0,5,5,130,215,5,5,156,170,192,0,0,0,5,5,99,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,214,192,0,0,0,192,0,0,0,5,5,16,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,207,192,0,0,0,5,5,120,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,174,5,5,198,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,241,5,5,170,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,183,5,5,178,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,202,192,0,0,0,192,0,0,0,5,5,135,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,180,192,0,0,0,5,5,183,223,192,0,0,0,192,0,0,0,5,5,127,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,231,5,5,219,248,5,5,151,207,5,5,228,195,5,5,42,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,243,5,5,154,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,249,192,0,0,0,5,5,173,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,195,5,5,25,194,5,5,225,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,178,192,0,0,0,192,0,0,0,5,5,94,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,215,192,0,0,0,5,5,170,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,234,5,5,193,210,192,0,0,0,5,5,118,228,192,0,0,0,5,5,21,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,246,192,0,0,0,5,5,151,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,215,192,0,0,0,192,0,0,0,5,5,128,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,200,192,0,0,0,5,5,241,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,176,5,5,125,245,5,5,234,209,192,0,0,0,5,5,79,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,176,192,0,0,0,5,5,112,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,246,5,5,93,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,223,5,5,87,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,237,192,0,0,0,5,5,34,164,5,5,33,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,163,5,5,202,164,192,0,0,0,5,5,243,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,174,192,0,0,0,192,0,0,0,5,5,41,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,222,192,0,0,0,192,0,0,0,5,5,252,224,5,5,253,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,165,5,5,24,191,192,0,0,0,5,5,27,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,245,5,5,221,172,192,0,0,0,192,0,0,0,5,5,8,236,192,0,0,0,192,0,0,0,5,5,236,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,247,192,0,0,0,192,0,0,0,5,5,0,153,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,228,192,0,0,0,5,5,229,194,5,5,200,239,5,5,249,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,249,192,0,0,0,5,5,197,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,181,192,0,0,0,5,5,180,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,215,192,0,0,0,5,5,107,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,193,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,239,5,5,187,177,5,5,117,195,5,5,113,208,5,5,251,228,5,5,225,213,5,5,103,198,5,5,231,246,5,5,40,221,5,5,79,236,5,5,252,228,5,5,226,213,5,5,194,201,5,5,118,166,5,5,255,247,5,5,190,171,5,5,231,191,5,5,52,224,5,5,53,224,5,5,113,222,5,5,93,209,5,5,195,167,5,5,26,227,5,5,25,227,5,5,213,209,5,5,57,166,5,5,78,241,5,5,75,235,5,5,222,178,5,5,103,235,5,5,85,225,5,5,118,177,5,5,214,209,5,5,55,189,5,5,119,177,5,5,69,242,5,5,56,189,5,5,156,242,5,5,83,166,5,5,123,236,5,5,128,194,5,5,119,204,5,5,202,191,5,5,220,240,5,5,56,211,5,5,193,222,5,5,125,202,5,5,203,203,5,5,185,173,5,5,96,194,5,5,71,226,5,5,124,224,5,5,220,188,5,5,29,222,5,5,188,221,5,5,75,197,5,5,184,246,5,5,225,175,5,5,115,246,5,5,189,221,5,5,115,206,5,5,29,187,5,5,20,207,5,5,64,168,5,5,56,174,5,5,126,239,5,5,250,239,5,5,11,183,5,5,133,245,5,5,142,204,5,5,143,204,5,5,249,181,5,5,158,169,5,5,252,239,5,5,83,239,5,5,54,218,5,5,240,244,5,5,105,219,5,5,214,198,5,5,120,172,5,5,13,185,5,5,159,243,5,5,156,168,5,5,106,167,5,5,157,209,5,5,40,199,5,5,194,193,5,5,92,225,5,5,98,225,5,5,209,239,5,5,202,243,5,5,48,241,5,5,124,171,5,5,141,204,5,5,249,208,5,5,70,241,5,5,45,213,5,5,38,216,5,5,232,191,5,5,144,204,5,5,227,213,5,5,50,199,5,5,58,229,5,5,223,175,5,5,11,227,5,5,201,201,5,5,127,183,5,5,254,202,5,5,39,207,5,5,228,226,5,5,46,170,5,5,215,198,5,5,168,169,5,5,186,190,5,5,105,231,5,5,213,230,5,5,57,217,5,5,214,242,5,5,153,174,5,5,122,227,5,5,229,182,5,5,114,192,5,5,221,236,5,5,170,247,5,5,3,235,5,5,165,219,5,5,120,192,5,5,216,218,5,5,219,193,5,5,122,192,5,5,188,190,5,5,8,189,5,5,102,240,5,5,114,207,5,5,31,185,5,5,60,169,5,5,2,248,5,5,62,221,5,5,35,227,5,5,39,227,5,5,67,239,5,5,201,225,5,5,154,247,5,5,101,196,5,5,153,247,5,5,126,249,5,5,51,199,5,5,154,208,5,5,43,245,5,5,114,206,5,5,156,235,5,5,20,237,5,5,173,192,5,5,174,192,5,5,21,241,5,5,242,213,5,5,24,241,5,5,160,208,5,5,26,241,5,5,51,202,5,5,210,179,5,5,78,247,5,5,229,195,5,5,52,179,5,5,236,203,5,5,193,197,5,5,6,240,5,5,121,224,5,5,192,198,5,5,62,172,5,5,138,241,5,5,76,216,5,5,78,206,5,5,145,181,5,5,68,189,5,5,77,216,5,5,81,206,5,5,86,241,5,5,200,210,5,5,77,163,5,5,113,242,5,5,71,214,5,5,13,176,5,5,125,188,5,5,92,178,5,5,169,170,5,5,83,230,5,5,84,230,5,5,39,202,5,5,250,202,5,5,79,247,5,5,253,239,5,5,177,228,5,5,85,230,5,5,11,185,5,5,188,177,5,5,20,232,5,5,182,205,5,5,211,168,5,5,16,224,5,5,0,129,5,5,33,221,5,5,160,205,5,5,204,203,5,5,51,166,5,5,173,230,5,5,74,235,5,5,148,172,5,5,87,236,5,5,191,190,5,5,52,166,5,5,110,234,5,5,166,231,5,5,27,227,5,5,30,179,5,5,41,221,5,5,188,174,5,5,34,215,5,5,35,215,5,5,250,181,5,5,127,201,5,5,161,182,5,5,108,230,5,5,51,210,5,5,132,192,5,5,131,191,5,5,65,163,5,5,77,175,5,5,174,189,5,5,211,239,5,5,5,224,5,5,2,225,5,5,197,235,5,5,5,229,5,5,127,239,5,5,81,172,5,5,178,170,5,5,109,230,5,5,67,203,5,5,6,224,5,5,57,244,5,5,114,210,5,5,239,222,5,5,23,168,5,5,187,245,5,5,45,245,5,5,77,205,5,5,86,203,5,5,209,241,5,5,187,173,5,5,111,234,5,5,111,230,5,5,82,247,5,5,127,173,5,5,148,176,5,5,166,173,5,5,194,222,5,5,250,208,5,5,245,166,5,5,155,247,5,5,96,177,5,5,203,178,5,5,83,245,5,5,8,240,5,5,17,216,5,5,230,195,5,5,86,239,5,5,41,202,5,5,54,238,5,5,46,245,5,5,151,202,5,5,59,174,5,5,121,172,5,5,236,214,5,5,207,205,5,5,196,167,5,5,2,176,5,5,18,174,5,5,110,180,5,5,240,222,5,5,7,242,5,5,179,199,5,5,66,200,5,5,3,248,5,5,229,234,5,5,52,226,5,5,88,236,5,5,48,246,5,5,53,226,5,5,173,223,5,5,241,240,5,5,178,215,5,5,228,228,5,5,237,224,5,5,192,190,5,5,112,234,5,5,254,217,5,5,19,216,5,5,49,246,5,5,207,221,5,5,27,232,5,5,82,215,5,5,146,184,5,5,66,163,5,5,253,192,5,5,180,183,5,5,201,183,5,5,49,214,5,5,99,164,5,5,242,216,5,5,84,189,5,5,43,220,5,5,136,228,5,5,151,211,5,5,210,233,5,5,175,164,5,5,36,227,5,5,2,203,5,5,197,167,5,5,11,240,5,5,160,235,5,5,213,239,5,5,63,221,5,5,160,177,5,5,60,198,5,5,175,169,5,5,21,176,5,5,208,221,5,5,120,166,5,5,152,211,5,5,225,164,5,5,205,219,5,5,202,233,5,5,117,246,5,5,149,176,5,5,209,221,5,5,252,232,5,5,96,242,5,5,58,244,5,5,203,180,5,5,133,220,5,5,85,197,5,5,248,164,5,5,20,182,5,5,178,227,5,5,159,247,5,5,12,240,5,5,62,174,5,5,255,232,5,5,54,192,5,5,136,184,5,5,163,182,5,5,181,183,5,5,40,215,5,5,198,211,5,5,210,249,5,5,153,245,5,5,58,210,5,5,109,227,5,5,245,194,5,5,65,164,5,5,247,166,5,5,41,200,5,5,152,197,5,5,194,185,5,5,66,216,5,5,161,191,5,5,22,244,5,5,157,163,5,5,138,172,5,5,49,172,5,5,4,203,5,5,70,239,5,5,84,166,5,5,52,202,5,5,166,198,5,5,174,199,5,5,255,193,5,5,54,212,5,5,12,181,5,5,28,204,5,5,211,233,5,5,23,240,5,5,13,227,5,5,142,216,5,5,138,228,5,5,3,182,5,5,171,195,5,5,100,218,5,5,212,191,5,5,35,185,5,5,136,239,5,5,60,223,5,5,42,196,5,5,155,194,5,5,35,187,5,5,113,243,5,5,40,227,5,5,70,171,5,5,132,221,5,5,245,216,5,5,97,242,5,5,199,238,5,5,3,190,5,5,84,170,5,5,28,239,5,5,196,190,5,5,5,179,5,5,165,223,5,5,4,223,5,5,3,218,5,5,193,194,5,5,2,220,5,5,91,239,5,5,183,230,5,5,30,235,5,5,184,213,5,5,161,235,5,5,45,232,5,5,59,191,5,5,90,179,5,5,29,204,5,5,159,220,5,5,232,233,5,5,158,209,5,5,81,196,5,5,209,223,5,5,137,184,5,5,188,184,5,5,184,205,5,5,55,245,5,5,25,198,5,5,96,208,5,5,137,225,5,5,237,220,5,5,8,233,5,5,57,224,5,5,201,210,5,5,60,191,5,5,237,206,5,5,131,229,5,5,166,181,5,5,206,228,5,5,94,182,5,5,73,163,5,5,98,183,5,5,124,214,5,5,238,165,5,5,89,182,5,5,9,248,5,5,115,213,5,5,151,234,5,5,155,237,5,5,2,210,5,5,222,216,5,5,179,194,5,5,24,196,5,5,56,245,5,5,42,208,5,5,40,240,5,5,158,174,5,5,41,189,5,5,232,232,5,5,190,209,5,5,44,187,5,5,251,249,5,5,19,201,5,5,145,206,5,5,168,210,5,5,101,236,5,5,244,166,5,5,139,236,5,5,79,174,5,5,181,212,5,5,251,186,5,5,159,174,5,5,158,168,5,5,18,164,5,5,171,247,5,5,169,208,5,5,186,213,5,5,25,216,5,5,237,214,5,5,10,248,5,5,228,176,5,5,175,223,5,5,18,224,5,5,56,219,5,5,217,242,5,5,173,187,5,5,45,187,5,5,36,185,5,5,110,235,5,5,15,205,5,5,241,214,5,5,162,174,5,5,191,199,5,5,57,207,5,5,215,214,5,5,209,166,5,5,85,205,5,5,189,165,5,5,211,225,5,5,203,172,5,5,255,173,5,5,32,241,5,5,229,238,5,5,209,163,5,5,63,248,5,5,252,215,5,5,233,164,5,5,44,199,5,5,239,224,5,5,73,218,5,5,87,166,5,5,163,204,5,5,164,241,5,5,232,234,5,5,174,187,5,5,202,246,5,5,37,185,5,5,116,234,5,5,143,233,5,5,205,191,5,5,69,194,5,5,210,163,5,5,99,181,5,5,69,229,5,5,70,229,5,5,179,170,5,5,156,175,5,5,244,179,5,5,137,207,5,5,29,226,5,5,167,216,5,5,152,167,5,5,112,180,5,5,52,198,5,5,224,239,5,5,118,208,5,5,217,180,5,5,156,192,5,5,150,206,5,5,219,203,5,5,249,236,5,5,40,225,5,5,146,203,5,5,174,173,5,5,104,218,5,5,53,197,5,5,243,207,5,5,88,233,5,5,58,207,5,5,169,210,5,5,152,183,5,5,198,190,5,5,8,222,5,5,169,245,5,5,121,190,5,5,93,237,5,5,160,186,5,5,20,201,5,5,231,178,5,5,192,231,5,5,130,164,5,5,57,245,5,5,59,207,5,5,18,183,5,5,17,234,5,5,17,205,5,5,198,219,5,5,53,241,5,5,105,218,5,5,150,227,5,5,93,211,5,5,126,209,5,5,96,244,5,5,58,225,5,5,204,204,5,5,222,242,5,5,29,231,5,5,248,222,5,5,115,226,5,5,75,203,5,5,177,202,5,5,63,246,5,5,15,248,5,5,91,166,5,5,236,230,5,5,164,180,5,5,226,245,5,5,100,168,5,5,36,243,5,5,204,173,5,5,113,180,5,5,193,245,5,5,212,237,5,5,12,214,5,5,182,223,5,5,38,229,5,5,173,195,5,5,232,176,5,5,13,233,5,5,131,223,5,5,147,181,5,5,215,163,5,5,63,214,5,5,39,201,5,5,222,241,5,5,138,220,5,5,58,224,5,5,127,242,5,5,44,242,5,5,92,205,5,5,232,216,5,5,67,219,5,5,158,233,5,5,207,174,5,5,208,164,5,5,217,218,5,5,126,233,5,5,199,171,5,5,67,202,5,5,227,239,5,5,64,214,5,5,228,217,5,5,4,234,5,5,156,178,5,5,239,233,5,5,173,220,5,5,187,238,5,5,204,179,5,5,205,179,5,5,216,163,5,5,221,231,5,5,228,185,5,5,151,203,5,5,64,246,5,5,132,173,5,5,8,225,5,5,224,193,5,5,67,236,5,5,237,218,5,5,156,236,5,5,174,213,5,5,213,174,5,5,98,249,5,5,99,231,5,5,78,187,5,5,152,184,5,5,184,249,5,5,38,206,5,5,48,169,5,5,161,164,5,5,127,177,5,5,70,180,5,5,2,198,5,5,156,203,5,5,213,212,5,5,95,228,5,5,173,210,5,5,152,207,5,5,118,234,5,5,219,225,5,5,89,236,5,5,221,163,5,5,221,214,5,5,7,250,5,5,168,241,5,5,41,180,5,5,206,236,5,5,67,244,5,5,115,172,5,5,92,166,5,5,23,203,5,5,74,175,5,5,48,232,5,5,115,180,5,5,101,193,5,5,12,166,5,5,189,225,5,5,157,184,5,5,69,234,5,5,122,185,5,5,211,234,5,5,215,249,5,5,61,232,5,5,132,233,5,5,181,164,5,5,113,237,5,5,146,238,5,5,58,226,5,5,25,248,5,5,200,219,5,5,223,232,5,5,232,228,5,5,135,226,5,5,168,206,5,5,101,223,5,5,148,227,5,5,136,198,5,5,12,221,5,5,102,211,5,5,48,243,5,5,251,176,5,5,80,214,5,5,232,185,5,5,228,163,5,5,93,168,5,5,190,205,5,5,196,188,5,5,26,190,5,5,109,170,5,5,85,210,5,5,55,215,5,5,43,180,5,5,168,244,5,5,24,179,5,5,143,222,5,5,106,216,5,5,99,228,5,5,165,209,5,5,107,208,5,5,90,182,5,5,79,233,5,5,228,168,5,5,234,212,5,5,178,185,5,5,32,225,5,5,168,194,5,5,226,187,5,5,135,208,5,5,66,225,5,5,86,224,5,5,89,246,5,5,239,201,5,5,56,163,5,5,99,200,5,5,68,226,5,5,254,180,5,5,43,176,5,5,51,204,5,5,173,204,5,5,126,236,5,5,135,173,5,5,215,215,5,5,252,206,5,5,244,237,5,5,252,203,5,5,112,205,5,5,188,182,5,5,27,189,5,5,103,163,5,5,94,193,5,5,238,215,5,5,169,236,5,5,216,215,5,5,19,206,5,5,14,172,5,5,104,241,5,5,237,205,5,5,93,203,5,5,200,209,5,5,47,168,5,5,216,173,5,5,63,220,5,5,71,238,5,5,13,236,5,5,186,239,5,5,67,208,5,5,194,184,5,5,90,224,5,5,128,240,5,5,108,176,5,5,129,206,5,5,113,217,5,5,90,196,5,5,49,205,5,5,227,225,5,5,245,175,5,5,57,204,5,5,149,227,5,5,51,232,5,5,103,234,5,5,24,166,5,5,227,238,5,5,194,230,5,5,124,179,5,5,37,224,5,5,214,223,5,5,29,186,5,5,192,183,5,5,203,205,5,5,189,210,5,5,232,170,5,5,73,245,5,5,121,184,5,5,154,212,5,5,193,183,5,5,21,225,5,5,206,187,5,5,128,185,5,5,80,191,5,5,17,197,5,5,59,164,5,5,146,248,5,5,164,165,5,5,137,232,5,5,133,218,5,5,192,235,5,5,19,242,5,5,231,197,5,5,228,224,5,5,230,224,5,5,116,187,5,5,143,180,5,5,91,246,5,5,33,191,5,5,195,225,5,5,105,224,5,5,151,230,5,5,97,229,5,5,141,200,5,5,144,187,5,5,105,190,5,5,140,232,5,5,158,184,5,5,119,180,5,5,10,243,5,5,108,185,5,5,140,183,5,5,25,239,5,5,78,245,5,5,159,249,5,5,122,232,5,5,26,249,5,5,29,218,5,5,147,226,5,5,225,219,5,5,31,218,5,5,37,215,5,5,153,194,5,5,132,178,5,5,49,195,5,5,133,178,5,5,192,171,5,5,242,181,5,5,3,225,5,5,27,239,5,5,134,178,5,5,29,239,5,5,163,205,5,5,243,181,5,5,162,235,5,5,215,242,5,5,218,242,5,5,16,227,192,0,0,0,5,5,83,176,5,5,72,210,5,5,183,175,5,5,81,173,5,5,27,170,5,5,159,228,5,5,185,175,192,0,0,0,5,5,102,206,5,5,12,187,5,5,81,201,5,5,217,230,5,5,80,247,5,5,40,183,5,5,52,212,5,5,58,189,5,5,172,247,5,5,0,128,5,5,188,194,5,5,99,188,5,5,166,212,5,5,161,198,5,5,16,186,5,5,230,194,5,5,62,181,5,5,64,194,5,5,162,216,5,5,55,166,5,5,161,208,5,5,42,207,5,5,145,177,5,5,107,231,5,5,77,173,5,5,61,244,5,5,202,204,5,5,22,228,5,5,193,202,5,5,103,240,5,5,216,202,5,5,147,224,5,5,81,208,5,5,55,170,5,5,74,230,5,5,41,183,5,5,27,249,5,5,43,170,5,5,177,192,5,5,75,230,5,5,230,233,5,5,82,208,5,5,231,233,5,5,42,232,5,5,122,193,5,5,91,208,5,5,57,170,5,5,48,220,5,5,59,170,5,5,85,192,5,5,229,216,5,5,200,171,5,5,85,171,5,5,95,231,5,5,158,243,5,5,45,214,5,5,169,195,5,5,13,208,5,5,187,184,5,5,131,239,5,5,34,171,5,5,46,227,5,5,67,194,5,5,224,170,5,5,227,222,5,5,60,207,5,5,250,248,5,5,31,172,5,5,148,195,5,5,221,188,5,5,208,174,5,5,46,214,5,5,116,171,5,5,50,166,5,5,223,178,5,5,105,179,5,5,179,192,5,5,235,173,5,5,54,166,5,5,57,199,5,5,148,226,5,5,118,207,5,5,58,199,5,5,23,197,5,5,72,241,5,5,159,186,5,5,77,167,5,5,63,174,5,5,250,171,5,5,4,179,5,5,137,215,5,5,178,187,5,5,79,209,5,5,195,204,5,5,142,206,5,5,132,229,5,5,236,169,5,5,198,181,5,5,119,208,5,5,81,193,5,5,162,222,5,5,94,237,5,5,151,206,5,5,42,189,5,5,136,211,5,5,76,177,5,5,100,189,5,5,14,179,5,5,157,192,5,5,22,205,5,5,124,243,5,5,56,234,5,5,169,239,5,5,79,187,5,5,144,226,5,5,51,172,5,5,168,222,5,5,212,234,5,5,123,235,5,5,72,178,5,5,238,205,5,5,9,189,5,5,10,189,5,5,122,184,5,5,254,212,5,5,254,177,5,5,123,202,5,5,3,173,5,5,4,173,5,5,5,173,5,5,252,173,5,5,190,206,5,5,186,225,5,5,129,221,5,5,188,173,5,5,110,172,5,5,55,219,5,5,60,174,5,5,189,173,5,5,169,168,5,5,193,173,5,5,83,195,5,5,40,201,5,5,89,195,5,5,123,192,5,5,136,176,5,5,199,168,5,5,149,210,5,5,28,218,5,5,78,196,5,5,179,181,5,5,96,238,5,5,147,225,5,5,197,201,5,5,93,176,5,5,75,198,5,5,79,198,5,5,66,232,5,5,125,175,5,5,72,177,5,5,126,175,5,5,105,230,5,5,106,230,5,5,121,226,5,5,69,173,5,5,94,209,5,5,255,239,5,5,198,201,5,5,161,195,5,5,165,210,5,5,32,235,5,5,154,225,5,5,47,247,5,5,202,201,5,5,3,176,5,5,138,216,5,5,131,199,5,5,185,246,5,5,119,207,5,5,166,186,5,5,199,248,5,5,176,187,5,5,31,188,5,5,234,231,5,5,180,192,5,5,139,226,5,5,64,174,5,5,149,225,5,5,247,211,5,5,191,206,5,5,40,228,5,5,251,171,5,5,85,189,5,5,196,222,5,5,78,167,5,5,124,165,5,5,131,203,5,5,132,203,5,5,12,167,5,5,30,187,5,5,41,228,5,5,125,165,5,5,122,224,5,5,116,206,5,5,104,193,5,5,212,192,5,5,155,175,5,5,141,226,5,5,102,196,5,5,4,196,5,5,97,178,5,5,71,239,5,5,186,218,5,5,171,229,5,5,108,212,5,5,123,227,5,5,212,233,5,5,50,195,5,5,135,203,5,5,30,194,5,5,213,233,5,5,31,194,5,5,84,195,5,5,98,178,5,5,157,202,5,5,214,180,5,5,124,206,5,5,226,185,5,5,120,190,5,5,241,231,5,5,249,248,5,5,193,234,5,5,45,217,5,5,51,195,5,5,234,184,5,5,119,210,5,5,124,227,5,5,142,226,5,5,123,193,5,5,80,205,5,5,194,234,5,5,169,186,5,5,152,180,5,5,204,172,5,5,37,167,5,5,127,224,5,5,174,208,5,5,143,226,5,5,193,231,5,5,191,192,5,5,173,246,5,5,42,163,5,5,213,201,5,5,54,178,5,5,110,211,5,5,89,228,5,5,233,177,5,5,86,205,5,5,170,202,5,5,43,163,5,5,123,242,5,5,61,207,5,5,165,199,5,5,45,229,5,5,23,205,5,5,63,178,5,5,157,178,5,5,255,244,5,5,124,193,5,5,209,174,5,5,43,229,5,5,93,205,5,5,145,191,5,5,29,175,5,5,90,195,5,5,145,226,5,5,49,226,5,5,134,224,5,5,111,182,5,5,27,190,5,5,187,186,5,5,190,167,5,5,60,228,5,5,68,168,5,5,137,195,5,5,45,204,5,5,114,193,5,5,134,209,5,5,163,207,5,5,145,199,5,5,72,219,5,5,77,222,5,5,136,188,5,5,84,207,5,5,222,167,5,5,54,188,5,5,46,194,5,5,58,204,5,5,47,194,5,5,116,205,5,5,117,205,5,5,55,180,5,5,168,199,5,5,217,202,5,5,128,205,5,5,143,240,5,5,129,205,5,5,31,219,5,5,106,224,5,5,70,205,5,5,86,169,5,5,239,186,5,5,203,221,5,5,22,187,5,5,18,241,5,5,107,212,5,5,97,164,5,5,190,194,5,5,253,202,5,5,81,245,5,5,174,169,5,5,177,187,5,5,208,205,5,5,240,195,5,5,250,213,5,5,143,218,5,5,3,179,5,5,210,221,5,5,147,184,5,5,133,203,5,5,199,211,5,5,254,227,5,5,13,240,5,5,131,221,5,5,95,169,5,5,31,187,5,5,209,205,5,5,167,185,5,5,168,185,5,5,240,207,5,5,144,195,5,5,23,244,5,5,136,245,5,5,213,214,5,5,85,170,5,5,250,196,5,5,137,203,5,5,179,187,5,5,86,197,5,5,41,227,5,5,52,195,5,5,214,205,5,5,41,192,5,5,74,163,5,5,255,171,5,5,87,223,5,5,103,186,5,5,252,249,5,5,253,249,5,5,195,171,5,5,53,195,5,5,186,217,5,5,244,207,5,5,111,211,5,5,9,190,5,5,132,166,5,5,7,171,5,5,90,223,5,5,86,185,5,5,111,195,5,5,201,171,5,5,18,179,5,5,6,217,5,5,9,217,5,5,163,195,5,5,102,245,5,5,68,240,5,5,189,217,5,5,123,247,5,5,46,229,5,5,175,185,5,5,94,172,5,5,28,190,5,5,94,168,5,5,78,227,5,5,232,201,5,5,233,210,5,5,60,206,5,5,234,223,5,5,110,212,5,5,107,216,5,5,119,240,5,5,165,207,5,5,241,172,5,5,223,207,5,5,189,182,5,5,85,207,5,5,246,175,5,5,27,214,5,5,184,169,5,5,193,217,5,5,195,217,5,5,101,191,5,5,111,187,5,5,201,223,5,5,152,230,5,5,112,212,5,5,248,163,5,5,244,227,5,5,127,249,5,5,120,204,5,5,41,164,5,5,53,192,5,5,79,245,5,5,128,249,5,5,18,247,5,5,112,165,5,5,233,191,5,5,234,191,5,5,249,163,5,5,37,235,5,5,213,240,5,5,32,218,5,5,133,167,5,5,193,206,5,5,174,179,5,5,162,191,5,5,222,168,5,5,206,237,5,5,19,167,5,5,101,174,5,5,203,194,5,5,30,175,5,5,166,204,5,5,128,212,5,5,220,164,5,5,130,199,5,5,195,163,5,5,68,183,5,5,111,227,5,5,145,173,5,5,154,204,5,5,128,239,5,5,208,231,5,5,50,206,5,5,231,195,5,5,51,206,5,5,248,196,5,5,216,198,5,5,183,213,5,5,153,211,5,5,229,165,5,5,2,194,5,5,97,209,5,5,172,232,5,5,252,196,5,5,181,172,5,5,228,198,5,5,17,248,5,5,14,194,5,5,153,196,5,5,90,200,5,5,242,175,5,5,44,194,5,5,128,188,5,5,137,188,5,5,60,237,5,5,255,177,5,5,180,204,5,5,193,207,5,5,104,213,5,5,20,168,5,5,149,211,5,5,88,239,5,5,250,194,5,5,219,242,5,5,217,165,5,5,208,183,5,5,167,211,5,5,225,226,5,5,251,217,5,5,50,210,5,5,88,184,5,5,207,235,5,5,216,232,5,5,7,229,5,5,44,245,5,5,64,200,5,5,98,164,5,5,31,227,5,5,105,213,5,5,232,246,5,5,107,199,5,5,251,213,5,5,233,246,5,5,181,163,5,5,218,232,5,5,5,222,5,5,254,213,5,5,227,175,5,5,179,169,5,5,99,183,5,5,229,175,5,5,68,202,5,5,92,163,5,5,204,229,5,5,149,163,5,5,19,197,5,5,227,165,5,5,110,166,5,5,132,220,5,5,244,194,5,5,183,189,5,5,70,242,5,5,228,189,5,5,175,212,5,5,127,193,5,5,190,245,5,5,65,214,5,5,125,203,5,5,126,203,5,5,114,246,5,5,13,239,5,5,129,212,5,5,56,218,5,5,44,170,5,5,233,243,5,5,222,245,5,5,255,227,5,5,44,202,5,5,12,212,5,5,185,190,5,5,61,223,5,5,230,207,5,5,51,214,5,5,246,216,5,5,185,205,5,5,13,212,5,5,95,245,5,5,55,202,5,5,213,237,5,5,94,211,5,5,227,212,5,5,108,236,5,5,26,225,5,5,47,246,5,5,187,237,5,5,124,181,5,5,23,187,5,5,126,219,5,5,104,198,5,5,24,187,5,5,8,241,5,5,222,240,5,5,20,243,5,5,186,227,5,5,199,176,5,5,93,219,5,5,114,167,5,5,242,240,5,5,87,197,5,5,244,240,5,5,187,218,5,5,233,233,5,5,116,167,5,5,160,180,5,5,168,186,5,5,189,227,5,5,47,198,5,5,131,181,5,5,24,233,5,5,195,234,5,5,205,172,5,5,37,249,5,5,240,233,5,5,43,249,5,5,42,216,5,5,223,242,5,5,80,187,5,5,153,207,5,5,155,227,5,5,128,177,5,5,157,225,5,5,167,204,5,5,191,205,5,5,103,238,5,5,23,194,5,5,54,243,5,5,124,235,5,5,87,187,5,5,33,225,5,5,27,186,5,5,102,187,5,5,194,242,5,5,255,242,5,5,83,249,5,5,101,235,5,5,189,194,5,5,217,188,5,5,32,230,5,5,245,211,5,5,246,211,5,5,49,239,5,5,116,185,5,5,231,177,5,5,179,215,5,5,114,222,5,5,81,236,5,5,61,234,5,5,62,234,5,5,63,234,5,5,66,234,5,5,67,238,5,5,107,175,5,5,93,242,5,5,124,223,5,5,40,202,5,5,67,242,5,5,236,229,5,5,39,173,5,5,12,228,5,5,203,193,5,5,0,154,5,5,112,172,5,5,233,230,5,5,37,227,5,5,64,229,5,5,24,222,5,5,237,211,5,5,20,228,5,5,235,165,5,5,250,216,5,5,69,203,5,5,83,167,5,5,65,236,5,5,42,192,5,5,123,246,5,5,66,236,5,5,47,177,5,5,18,231,5,5,92,235,5,5,142,195,5,5,31,193,5,5,37,207,5,5,175,189,5,5,121,193,5,5,127,175,5,5,145,195,5,5,142,218,5,5,82,204,5,5,224,219,5,5,0,131,5,5,189,177,5,5,37,195,5,5,106,179,5,5,80,223,5,5,9,227,5,5,94,242,5,5,244,209,5,5,186,166,5,5,79,241,5,5,241,197,5,5,104,235,5,5,37,180,5,5,58,223,5,5,14,185,5,5,73,177,5,5,199,201,5,5,7,188,5,5,107,201,5,5,125,171,5,5,180,216,5,5,182,170,5,5,3,223,5,5,203,191,5,5,92,217,5,5,141,241,5,5,167,231,5,5,84,197,5,5,42,202,5,5,97,177,5,5,35,235,5,5,162,182,5,5,26,172,5,5,46,198,5,5,27,187,5,5,239,181,5,5,94,216,5,5,60,219,5,5,228,213,5,5,71,241,5,5,57,191,5,5,223,240,5,5,61,169,5,5,185,238,5,5,164,199,5,5,89,239,5,5,15,208,5,5,54,224,5,5,21,189,5,5,127,182,5,5,161,243,5,5,193,172,5,5,226,164,5,5,11,211,5,5,12,211,5,5,205,203,5,5,121,166,5,5,231,172,5,5,33,163,5,5,182,178,5,5,70,173,5,5,152,237,5,5,74,198,5,5,128,181,5,5,241,195,5,5,227,229,5,5,254,208,5,5,131,201,5,5,58,218,5,5,207,243,5,5,14,245,5,5,15,245,5,5,252,223,5,5,232,182,5,5,80,217,5,5,171,212,5,5,26,226,5,5,181,175,5,5,48,247,5,5,44,198,5,5,108,201,5,5,16,245,5,5,39,192,5,5,49,241,5,5,41,208,5,5,58,191,5,5,191,237,5,5,159,191,5,5,190,169,5,5,69,175,5,5,255,208,5,5,88,225,5,5,17,245,5,5,40,192,5,5,19,174,5,5,83,204,5,5,109,201,5,5,59,223,5,5,9,229,5,5,233,182,5,5,128,182,5,5,150,174,5,5,14,240,5,5,70,175,5,5,186,238,5,5,32,187,5,5,245,163,5,5,29,249,5,5,139,193,5,5,69,247,5,5,25,211,5,5,246,244,5,5,195,237,5,5,186,226,5,5,231,207,5,5,103,167,5,5,51,247,5,5,6,183,5,5,17,169,5,5,176,189,5,5,59,230,5,5,10,242,5,5,202,176,5,5,3,220,5,5,42,227,5,5,44,220,5,5,7,181,5,5,110,213,5,5,24,240,5,5,30,209,5,5,170,168,5,5,174,231,5,5,254,192,5,5,155,233,5,5,118,246,5,5,226,216,5,5,133,237,5,5,46,183,5,5,119,191,5,5,226,166,5,5,25,240,5,5,122,214,5,5,139,228,5,5,218,198,5,5,54,172,5,5,18,175,5,5,248,211,5,5,17,207,5,5,76,198,5,5,210,231,5,5,4,182,5,5,51,178,5,5,46,167,5,5,13,167,5,5,126,165,5,5,67,174,5,5,255,243,5,5,88,197,5,5,233,231,5,5,89,197,5,5,180,197,5,5,158,204,5,5,249,249,5,5,191,174,5,5,4,175,5,5,45,220,5,5,154,245,5,5,239,194,5,5,255,192,5,5,240,194,5,5,22,233,5,5,123,166,5,5,227,190,5,5,224,178,5,5,109,184,5,5,91,179,5,5,108,235,5,5,186,215,5,5,188,199,5,5,35,209,5,5,72,239,5,5,199,237,5,5,159,194,5,5,108,219,5,5,116,213,5,5,142,239,5,5,175,187,5,5,108,231,5,5,126,171,5,5,31,171,5,5,157,218,5,5,215,241,5,5,211,201,5,5,49,220,5,5,140,191,5,5,133,229,5,5,128,232,5,5,214,214,5,5,181,197,5,5,255,199,5,5,43,196,5,5,247,199,5,5,175,179,5,5,87,215,5,5,200,237,5,5,148,217,5,5,238,214,5,5,140,193,5,5,25,243,5,5,195,185,5,5,92,239,5,5,21,238,5,5,151,168,5,5,185,228,5,5,167,182,5,5,112,201,5,5,36,218,5,5,52,178,5,5,166,245,5,5,71,197,5,5,32,232,5,5,100,242,5,5,67,177,5,5,220,166,5,5,78,216,5,5,22,238,5,5,171,192,5,5,253,196,5,5,10,241,5,5,5,175,5,5,125,214,5,5,7,165,5,5,69,200,5,5,65,184,5,5,103,199,5,5,177,216,5,5,82,196,5,5,78,178,5,5,76,173,5,5,161,202,5,5,189,184,5,5,82,170,5,5,50,241,5,5,247,197,5,5,38,249,5,5,40,191,5,5,47,167,5,5,193,170,5,5,142,191,5,5,141,237,5,5,5,223,5,5,4,228,5,5,165,186,5,5,230,182,5,5,219,232,5,5,103,197,5,5,9,196,5,5,128,214,5,5,191,215,5,5,171,185,5,5,44,163,5,5,133,219,5,5,66,219,5,5,69,189,5,5,0,141,5,5,127,171,5,5,184,187,5,5,250,236,5,5,93,174,5,5,113,166,5,5,120,198,5,5,193,198,5,5,230,192,5,5,176,229,5,5,200,191,5,5,108,242,5,5,30,243,5,5,9,193,5,5,39,193,5,5,246,163,5,5,81,198,5,5,200,236,5,5,96,226,5,5,55,240,5,5,23,238,5,5,44,203,5,5,185,181,5,5,91,215,5,5,203,246,5,5,54,187,5,5,186,212,5,5,68,180,5,5,10,233,5,5,8,210,5,5,177,223,5,5,19,245,5,5,80,232,5,5,11,241,5,5,182,175,5,5,6,209,5,5,168,176,5,5,16,211,5,5,47,169,5,5,109,169,5,5,233,194,5,5,193,175,5,5,250,211,5,5,172,185,5,5,59,189,5,5,223,236,5,5,81,232,5,5,213,200,5,5,147,186,5,5,126,227,5,5,214,201,5,5,253,232,5,5,171,245,5,5,249,173,5,5,222,205,5,5,45,199,5,5,42,209,5,5,23,228,5,5,15,246,5,5,172,229,5,5,42,225,5,5,36,239,5,5,68,187,5,5,83,211,5,5,230,238,5,5,244,231,5,5,51,241,5,5,92,184,5,5,147,247,5,5,101,181,5,5,64,185,5,5,151,227,5,5,197,212,5,5,66,182,5,5,229,198,5,5,34,238,5,5,213,219,5,5,86,183,5,5,199,195,5,5,33,222,5,5,34,222,5,5,230,228,5,5,233,176,5,5,195,198,5,5,223,188,5,5,137,237,5,5,18,234,5,5,43,216,5,5,130,182,5,5,59,245,5,5,62,247,5,5,238,234,5,5,152,227,5,5,45,193,5,5,9,209,5,5,10,209,5,5,180,179,5,5,29,176,5,5,30,176,5,5,93,241,5,5,183,231,5,5,237,164,5,5,239,234,5,5,22,226,5,5,109,197,5,5,12,241,5,5,12,209,5,5,137,219,5,5,155,172,5,5,60,189,5,5,92,215,5,5,247,167,5,5,153,227,5,5,6,185,5,5,245,231,5,5,97,244,5,5,131,193,5,5,156,166,5,5,166,219,5,5,226,235,5,5,138,222,5,5,236,183,5,5,142,193,5,5,86,190,5,5,128,242,5,5,234,176,5,5,63,212,5,5,129,224,5,5,150,163,5,5,217,177,5,5,102,186,5,5,220,214,5,5,241,206,5,5,71,180,5,5,96,223,5,5,165,180,5,5,225,238,5,5,131,204,5,5,35,176,5,5,241,194,5,5,241,249,5,5,127,246,5,5,105,183,5,5,96,228,5,5,81,248,5,5,144,219,5,5,239,184,5,5,105,203,5,5,28,198,5,5,107,198,5,5,36,177,5,5,16,220,5,5,213,223,5,5,215,245,5,5,161,184,5,5,82,248,5,5,131,243,5,5,222,231,5,5,147,241,5,5,139,237,5,5,203,171,5,5,5,199,5,5,167,249,5,5,66,226,5,5,83,200,5,5,221,200,5,5,222,200,5,5,80,213,5,5,79,197,5,5,223,201,5,5,155,196,5,5,228,222,5,5,20,246,5,5,156,227,5,5,14,217,5,5,41,201,5,5,66,178,5,5,238,183,5,5,100,217,5,5,73,189,5,5,83,248,5,5,124,236,5,5,12,223,5,5,163,209,5,5,39,243,5,5,238,175,5,5,105,167,5,5,67,234,5,5,181,186,5,5,52,241,5,5,68,219,5,5,227,245,5,5,145,171,5,5,160,244,5,5,96,167,5,5,115,166,5,5,118,196,5,5,127,213,5,5,84,248,5,5,157,203,5,5,230,185,5,5,30,196,5,5,84,232,5,5,75,199,5,5,173,180,5,5,174,241,5,5,158,197,5,5,136,237,5,5,20,215,5,5,37,211,5,5,231,235,5,5,216,249,5,5,160,236,5,5,183,201,5,5,18,214,5,5,61,238,5,5,208,236,5,5,62,169,5,5,135,223,5,5,199,197,5,5,12,195,5,5,9,175,5,5,116,236,5,5,171,224,5,5,219,230,5,5,43,236,5,5,144,245,5,5,233,201,5,5,127,167,5,5,3,245,5,5,154,210,5,5,79,227,5,5,174,191,5,5,122,231,5,5,115,203,5,5,143,190,5,5,116,247,5,5,159,245,5,5,184,235,5,5,15,223,5,5,220,197,5,5,245,236,192,0,0,0,5,5,182,197,5,5,228,236,5,5,234,210,5,5,243,183,5,5,81,197,5,5,120,218,5,5,11,236,5,5,222,182,5,5,208,191,5,5,226,182,5,5,18,177,5,5,28,238,5,5,86,211,5,5,159,182,5,5,52,165,5,5,104,238,5,5,105,238,5,5,129,188,5,5,27,233,5,5,123,219,5,5,124,169,5,5,76,236,5,5,68,236,5,5,31,180,5,5,178,176,5,5,136,208,5,5,97,204,5,5,156,226,5,5,253,203,5,5,98,195,5,5,44,180,5,5,62,228,5,5,36,234,5,5,31,203,5,5,38,238,5,5,152,214,5,5,95,168,5,5,235,185,5,5,120,191,5,5,59,193,5,5,153,214,5,5,235,198,5,5,100,200,5,5,148,193,5,5,189,238,5,5,59,215,5,5,252,231,5,5,15,225,5,5,205,216,5,5,180,166,5,5,55,175,5,5,63,169,5,5,50,169,5,5,16,199,5,5,163,185,5,5,236,177,5,5,121,191,5,5,53,180,5,5,75,241,5,5,184,164,5,5,110,244,5,5,16,236,5,5,98,204,5,5,107,171,5,5,225,214,5,5,104,199,5,5,171,169,5,5,68,230,5,5,23,226,5,5,146,167,5,5,179,185,5,5,227,214,5,5,244,201,5,5,199,221,5,5,244,223,5,5,164,196,5,5,32,233,5,5,158,214,5,5,130,235,5,5,227,197,5,5,176,174,5,5,232,187,5,5,167,209,5,5,245,212,5,5,228,225,5,5,139,224,5,5,47,176,5,5,208,197,5,5,20,218,5,5,185,237,5,5,80,233,5,5,242,172,5,5,20,223,5,5,13,200,5,5,135,232,5,5,132,226,5,5,158,234,5,5,48,176,5,5,128,248,5,5,133,182,5,5,134,234,5,5,102,204,5,5,57,241,5,5,246,212,5,5,52,209,5,5,223,197,5,5,138,188,5,5,207,216,5,5,124,176,5,5,28,200,5,5,190,243,5,5,216,168,5,5,109,207,5,5,240,210,5,5,239,217,5,5,246,183,5,5,181,189,5,5,131,235,5,5,248,242,5,5,228,244,5,5,13,175,5,5,89,220,5,5,140,237,5,5,66,220,5,5,242,205,5,5,196,184,5,5,113,200,5,5,89,214,5,5,56,209,5,5,252,237,5,5,87,232,5,5,113,239,5,5,97,227,5,5,105,204,5,5,106,249,5,5,32,238,5,5,224,249,5,5,177,207,5,5,92,196,5,5,38,248,5,5,97,167,5,5,168,175,5,5,124,191,5,5,70,197,5,5,190,178,5,5,74,176,5,5,37,216,5,5,5,236,5,5,226,167,5,5,32,168,5,5,153,243,5,5,34,233,5,5,123,184,5,5,187,176,5,5,93,186,5,5,41,179,5,5,170,199,5,5,197,230,5,5,213,197,5,5,233,213,5,5,120,241,5,5,60,178,5,5,49,168,5,5,39,224,5,5,221,202,5,5,248,205,5,5,232,197,5,5,236,180,5,5,22,225,5,5,27,218,5,5,160,169,5,5,224,233,5,5,239,180,5,5,245,189,5,5,130,200,5,5,123,163,5,5,20,242,5,5,4,184,5,5,195,243,5,5,90,199,5,5,161,169,5,5,125,201,5,5,157,219,5,5,218,186,5,5,69,188,5,5,205,197,5,5,128,183,5,5,174,214,5,5,79,169,5,5,74,243,5,5,121,187,5,5,200,189,5,5,251,190,5,5,82,169,5,5,60,176,5,5,231,224,5,5,146,168,5,5,35,168,5,5,112,216,5,5,215,199,5,5,83,169,5,5,158,213,5,5,95,178,5,5,38,196,5,5,200,242,5,5,108,224,5,5,135,244,5,5,163,230,5,5,158,177,5,5,238,184,5,5,85,179,5,5,182,214,5,5,194,207,5,5,16,226,5,5,159,200,5,5,226,199,5,5,153,222,5,5,13,184,5,5,183,214,5,5,229,233,5,5,232,186,5,5,153,224,5,5,222,223,5,5,152,187,5,5,204,240,5,5,88,190,5,5,130,183,5,5,230,231,5,5,138,236,5,5,100,213,5,5,171,232,5,5,8,205,5,5,231,231,5,5,204,221,5,5,56,186,5,5,21,184,5,5,126,183,5,5,85,186,5,5,9,185,5,5,255,245,5,5,38,200,5,5,109,243,5,5,245,209,5,5,157,235,5,5,97,184,5,5,12,205,5,5,39,200,5,5,20,216,5,5,110,243,5,5,94,183,5,5,108,182,5,5,109,182,5,5,204,178,5,5,232,195,5,5,247,248,5,5,92,208,5,5,99,168,5,5,129,249,5,5,38,235,5,5,246,198,5,5,40,200,5,5,30,249,5,5,153,237,5,5,158,193,5,5,240,196,5,5,39,235,5,5,155,182,5,5,196,181,5,5,4,246,5,5,193,190,5,5,159,193,5,5,117,212,5,5,10,230,5,5,87,189,5,5,79,193,5,5,160,193,5,5,102,179,5,5,161,193,5,5,197,181,5,5,101,242,5,5,162,193,5,5,168,243,5,5,21,201,5,5,246,168,5,5,13,248,5,5,82,198,5,5,39,249,5,5,199,190,5,5,46,212,5,5,18,248,5,5,95,211,5,5,163,193,5,5,57,226,5,5,21,246,5,5,44,249,5,5,47,212,5,5,14,196,5,5,222,174,5,5,51,249,5,5,52,249,5,5,43,241,5,5,214,181,5,5,222,181,5,5,223,181,5,5,112,182,5,5,112,191,5,5,103,200,5,5,145,240,5,5,184,200,5,5,167,190,5,5,178,190,5,5,237,181,5,5,19,241,5,5,238,181,5,5,164,181,5,5,40,229,5,5,244,168,5,5,255,189,5,5,100,196,5,5,221,240,5,5,43,232,5,5,3,246,5,5,132,191,5,5,50,248,5,5,241,244,5,5,208,193,5,5,24,168,5,5,129,239,5,5,66,175,5,5,52,210,5,5,53,210,5,5,233,220,5,5,19,222,5,5,94,176,5,5,78,209,5,5,239,213,5,5,129,228,5,5,20,197,5,5,27,225,5,5,156,208,5,5,229,183,5,5,96,169,5,5,206,201,5,5,40,203,5,5,145,218,5,5,146,218,5,5,83,164,5,5,185,217,5,5,15,240,5,5,254,210,5,5,191,169,5,5,16,208,5,5,97,231,5,5,138,182,5,5,147,173,5,5,128,164,5,5,129,164,5,5,226,179,5,5,170,195,5,5,246,199,5,5,2,233,5,5,242,195,5,5,250,164,5,5,118,206,5,5,222,176,5,5,75,206,5,5,153,202,5,5,79,196,5,5,200,176,5,5,76,206,5,5,192,204,5,5,241,179,5,5,33,187,5,5,15,163,5,5,87,245,5,5,92,173,5,5,89,222,5,5,169,166,5,5,101,164,5,5,50,180,5,5,196,196,5,5,157,211,5,5,23,180,5,5,61,218,5,5,21,182,5,5,111,192,5,5,171,168,5,5,161,177,5,5,128,193,5,5,147,183,5,5,108,179,5,5,200,167,5,5,83,208,5,5,59,244,5,5,149,172,5,5,141,238,5,5,4,190,5,5,216,209,5,5,64,172,5,5,38,195,5,5,79,192,5,5,81,217,5,5,0,157,5,5,33,223,5,5,187,223,5,5,88,189,5,5,212,221,5,5,192,174,5,5,219,198,5,5,188,218,5,5,28,226,5,5,226,184,5,5,27,191,5,5,28,191,5,5,185,189,5,5,142,238,5,5,80,175,5,5,14,167,5,5,24,172,5,5,144,216,5,5,6,179,5,5,162,202,5,5,153,197,5,5,86,191,5,5,169,233,5,5,63,223,5,5,119,185,5,5,214,191,5,5,114,243,5,5,48,198,5,5,120,178,5,5,228,219,5,5,80,174,5,5,160,194,5,5,159,241,5,5,79,178,5,5,80,178,5,5,5,194,5,5,143,223,5,5,27,244,5,5,165,243,5,5,123,172,5,5,83,192,5,5,34,249,5,5,22,177,5,5,2,214,5,5,197,195,5,5,244,228,5,5,16,228,5,5,202,237,5,5,98,166,5,5,164,177,5,5,139,201,5,5,227,240,5,5,44,196,5,5,50,175,5,5,248,194,5,5,97,176,5,5,85,195,5,5,191,198,5,5,64,183,5,5,228,238,5,5,120,216,5,5,192,215,5,5,95,249,5,5,141,164,5,5,28,174,5,5,18,163,5,5,56,240,5,5,236,243,5,5,121,198,5,5,255,216,5,5,30,226,5,5,221,210,5,5,231,192,5,5,24,238,5,5,187,164,5,5,162,173,5,5,14,212,5,5,255,249,5,5,44,208,5,5,15,203,5,5,230,176,5,5,164,169,5,5,139,186,5,5,233,207,5,5,93,225,5,5,53,228,5,5,169,205,5,5,134,219,5,5,185,187,5,5,186,187,5,5,133,166,5,5,99,225,5,5,157,199,5,5,134,166,5,5,243,226,5,5,187,217,5,5,141,193,5,5,85,208,5,5,73,241,5,5,93,184,5,5,213,176,5,5,71,248,5,5,138,166,5,5,231,240,5,5,64,212,5,5,25,237,5,5,248,167,5,5,96,211,5,5,206,246,5,5,63,207,5,5,217,190,5,5,77,221,5,5,54,197,5,5,176,226,5,5,233,178,5,5,96,175,5,5,39,180,5,5,231,238,5,5,26,234,5,5,215,225,5,5,188,164,5,5,174,195,5,5,108,218,5,5,83,178,5,5,69,240,5,5,109,218,5,5,70,240,5,5,235,166,5,5,221,201,5,5,163,222,5,5,183,208,5,5,34,236,5,5,64,207,5,5,156,183,5,5,11,196,5,5,61,195,5,5,69,180,5,5,198,196,5,5,209,183,5,5,205,204,5,5,121,178,5,5,188,205,5,5,193,192,5,5,72,248,5,5,214,237,5,5,154,167,5,5,83,193,5,5,245,181,5,5,161,186,5,5,183,173,5,5,249,240,5,5,172,210,5,5,244,196,5,5,245,238,5,5,225,228,5,5,107,178,5,5,69,183,5,5,188,181,5,5,111,225,5,5,132,243,5,5,8,201,5,5,28,165,5,5,190,188,5,5,145,193,5,5,37,177,5,5,139,222,5,5,54,198,5,5,22,164,5,5,23,164,5,5,190,247,5,5,154,176,5,5,30,170,5,5,106,203,5,5,22,231,5,5,96,241,5,5,247,192,5,5,165,195,5,5,91,233,5,5,191,247,5,5,42,201,5,5,224,237,5,5,169,241,5,5,40,243,5,5,49,164,5,5,172,233,5,5,205,169,5,5,30,225,5,5,23,178,5,5,35,182,5,5,238,243,5,5,240,173,5,5,250,222,5,5,224,203,5,5,175,205,5,5,211,198,5,5,198,192,5,5,80,226,5,5,26,205,5,5,210,168,5,5,162,185,5,5,100,216,5,5,35,201,5,5,151,186,5,5,166,178,5,5,176,246,5,5,101,217,5,5,188,202,5,5,78,202,5,5,86,196,5,5,169,244,5,5,37,179,5,5,118,225,5,5,13,250,5,5,92,195,5,5,161,236,5,5,162,236,5,5,249,226,5,5,103,171,5,5,44,179,5,5,125,247,5,5,119,225,5,5,215,181,5,5,75,180,5,5,23,212,5,5,230,222,5,5,88,187,5,5,231,222,5,5,165,164,5,5,2,236,5,5,189,232,5,5,122,178,5,5,85,181,5,5,111,245,5,5,120,221,5,5,190,217,5,5,175,191,5,5,250,220,5,5,62,238,5,5,204,194,5,5,181,242,5,5,178,195,5,5,86,181,5,5,53,249,5,5,255,246,5,5,81,214,5,5,102,188,5,5,204,197,5,5,133,186,5,5,16,225,5,5,163,167,5,5,198,164,5,5,200,224,5,5,36,190,5,5,235,189,5,5,169,238,5,5,179,210,5,5,218,169,5,5,125,169,5,5,118,222,5,5,252,229,5,5,103,229,5,5,255,185,5,5,50,223,5,5,138,170,5,5,149,165,5,5,173,206,5,5,251,233,5,5,153,229,5,5,4,219,5,5,13,221,5,5,189,195,5,5,218,249,5,5,176,177,5,5,214,224,5,5,124,218,5,5,137,213,5,5,149,193,5,5,77,211,5,5,232,205,5,5,255,176,5,5,233,228,5,5,99,172,5,5,214,234,5,5,55,243,5,5,46,179,5,5,194,232,5,5,132,210,5,5,59,211,5,5,49,189,5,5,169,246,5,5,102,222,5,5,141,209,5,5,195,232,5,5,208,216,5,5,100,228,5,5,101,228,5,5,8,163,5,5,232,168,5,5,91,196,5,5,250,178,5,5,20,173,5,5,30,212,5,5,139,169,5,5,186,178,5,5,187,178,5,5,68,233,5,5,7,177,5,5,51,229,5,5,115,178,5,5,116,178,5,5,254,179,5,5,137,176,5,5,59,172,5,5,108,173,5,5,57,201,5,5,255,179,5,5,51,175,5,5,106,241,5,5,253,221,5,5,155,205,5,5,153,238,5,5,65,211,5,5,253,201,5,5,143,209,5,5,202,195,5,5,146,240,5,5,12,168,5,5,75,165,5,5,177,177,5,5,22,206,5,5,77,241,5,5,225,249,5,5,66,217,5,5,6,180,5,5,72,186,5,5,89,207,5,5,249,199,5,5,112,176,5,5,162,230,5,5,191,210,5,5,197,217,5,5,229,215,5,5,93,213,5,5,169,197,5,5,75,238,5,5,237,240,5,5,149,175,5,5,233,197,5,5,24,231,5,5,6,206,5,5,131,185,5,5,36,197,5,5,201,189,5,5,198,242,5,5,15,180,5,5,109,246,5,5,250,199,5,5,34,191,5,5,35,191,5,5,21,231,5,5,122,187,5,5,252,188,5,5,164,230,5,5,166,224,5,5,207,217,5,5,205,242,5,5,109,185,5,5,30,163,5,5,182,246,5,5,22,227,5,5,86,230,5,5,106,236,5,5,183,222,5,5,184,222,5,5,10,229,5,5,90,239,5,5,176,169,5,5,33,195,5,5,219,221,5,5,187,222,5,5,251,198,5,5,255,198,5,5,228,196,5,5,102,239,5,5,6,199,5,5,15,217,5,5,233,196,5,5,28,228,5,5,217,170,5,5,69,233,5,5,30,228,5,5,114,239,5,5,140,218,5,5,30,193,5,5,202,225,5,5,52,206,5,5,236,173,5,5,202,163,5,5,203,219,5,5,239,165,5,5,246,236,5,5,116,212,5,5,89,189,5,5,198,174,5,5,196,234,5,5,230,213,5,5,50,218,5,5,119,214,5,5,60,183,5,5,236,213,5,5,141,196,5,5,165,212,5,5,218,245,5,5,89,249,5,5,45,170,5,5,141,236,5,5,49,178,5,5,50,178,5,5,83,241,5,5,108,211,5,5,220,245,5,5,87,192,5,5,88,192,5,5,43,209,5,5,24,171,5,5,25,171,5,5,187,243,5,5,183,199,5,5,215,224,5,5,47,175,5,5,19,232,5,5,61,181,5,5,132,179,5,5,17,174,5,5,202,193,5,5,140,241,5,5,254,243,5,5,171,198,5,5,23,192,5,5,184,226,5,5,148,179,5,5,133,179,5,5,211,179,5,5,211,242,5,5,223,164,5,5,130,239,5,5,39,196,5,5,255,202,5,5,61,178,5,5,133,199,5,5,16,197,5,5,160,249,5,5,3,203,5,5,0,135,5,5,2,239,5,5,115,188,5,5,209,200,5,5,150,176,5,5,216,242,5,5,26,167,5,5,241,207,5,5,162,208,5,5,22,183,5,5,253,173,5,5,6,214,5,5,129,173,5,5,146,177,5,5,89,244,5,5,114,196,5,5,117,232,5,5,211,200,5,5,36,209,5,5,77,195,5,5,62,219,5,5,115,164,5,5,41,240,5,5,36,206,5,5,203,179,5,5,186,232,5,5,124,164,5,5,187,212,5,5,90,201,5,5,183,172,5,5,77,177,5,5,13,218,5,5,177,164,5,5,171,177,5,5,144,238,5,5,168,227,5,5,124,247,5,5,74,197,5,5,145,238,5,5,112,245,5,5,147,238,5,5,39,206,5,5,130,188,5,5,71,178,5,5,116,249,5,5,41,206,5,5,92,227,5,5,137,173,5,5,208,199,5,5,91,165,5,5,168,190,5,5,96,178,5,5,212,184,5,5,141,184,5,5,200,177,5,5,12,183,5,5,54,210,5,5,189,204,5,5,32,179,5,5,145,204,5,5,179,184,5,5,162,223,5,5,239,197,5,5,38,215,5,5,47,173,5,5,126,202,5,5,179,229,5,5,181,230,5,5,152,172,5,5,106,247,5,5,129,201,5,5,169,222,5,5,189,174,5,5,18,169,5,5,226,175,5,5,119,230,5,5,20,174,5,5,141,206,5,5,165,242,5,5,194,197,5,5,60,247,5,5,197,222,5,5,150,166,5,5,31,178,5,5,154,202,5,5,243,195,5,5,241,222,5,5,142,241,5,5,210,205,5,5,130,249,5,5,165,171,5,5,232,172,5,5,122,223,5,5,200,248,5,5,171,222,5,5,44,184,5,5,22,243,5,5,234,182,5,5,242,215,5,5,93,173,5,5,227,164,5,5,160,247,5,5,54,182,5,5,190,173,5,5,234,246,5,5,158,173,5,5,47,245,5,5,52,248,5,5,209,193,5,5,35,178,5,5,0,158,5,5,145,183,5,5,31,220,5,5,25,222,5,5,207,219,5,5,19,175,5,5,16,183,5,5,91,249,5,5,216,179,5,5,84,215,5,5,101,218,5,5,144,237,5,5,250,169,5,5,97,169,5,5,116,208,5,5,254,164,5,5,140,228,5,5,95,209,5,5,145,237,5,5,90,197,5,5,227,216,5,5,122,172,5,5,64,221,5,5,223,171,5,5,102,164,5,5,65,172,5,5,22,174,5,5,90,189,5,5,170,231,5,5,171,231,5,5,14,227,5,5,76,230,5,5,43,228,5,5,2,244,5,5,105,170,5,5,196,203,5,5,2,193,5,5,163,235,5,5,164,216,5,5,52,246,5,5,109,231,5,5,43,207,5,5,44,228,5,5,128,168,5,5,127,230,5,5,160,241,5,5,7,179,5,5,8,206,5,5,67,229,5,5,56,202,5,5,215,191,5,5,95,216,5,5,110,199,5,5,214,207,5,5,239,203,5,5,84,192,5,5,196,185,5,5,200,204,5,5,201,204,5,5,143,239,5,5,91,184,5,5,103,218,5,5,212,201,5,5,215,201,5,5,187,215,5,5,198,198,5,5,161,194,5,5,19,208,5,5,40,196,5,5,26,243,5,5,50,172,5,5,181,187,5,5,249,166,5,5,203,237,5,5,102,242,5,5,166,242,5,5,167,223,5,5,144,228,5,5,115,243,5,5,236,226,5,5,6,194,5,5,56,212,5,5,110,231,5,5,91,237,5,5,223,245,5,5,140,201,5,5,151,245,5,5,227,185,5,5,29,241,5,5,17,230,5,5,240,203,5,5,157,190,5,5,159,168,5,5,193,215,5,5,5,228,5,5,254,186,5,5,94,225,5,5,59,214,5,5,194,170,5,5,29,174,5,5,202,236,5,5,199,169,5,5,59,246,5,5,57,195,5,5,252,225,5,5,253,225,5,5,167,181,5,5,102,184,5,5,148,216,5,5,101,183,5,5,177,247,5,5,239,182,5,5,38,167,5,5,33,183,5,5,215,207,5,5,150,228,5,5,204,218,5,5,83,198,5,5,231,176,5,5,172,222,5,5,156,237,5,5,137,168,5,5,95,182,5,5,194,215,5,5,197,171,5,5,20,245,5,5,170,242,5,5,60,245,5,5,25,238,5,5,168,242,5,5,178,247,5,5,174,235,5,5,179,247,5,5,139,245,5,5,55,187,5,5,90,215,5,5,206,206,5,5,239,211,5,5,92,222,5,5,122,208,5,5,93,215,5,5,35,222,5,5,234,178,5,5,240,224,5,5,12,190,5,5,46,238,5,5,147,237,5,5,148,237,5,5,229,185,5,5,176,171,5,5,77,235,5,5,48,167,5,5,242,206,5,5,179,166,5,5,5,234,5,5,108,189,5,5,207,246,5,5,183,165,5,5,136,214,5,5,100,229,5,5,11,209,5,5,12,200,5,5,56,173,5,5,184,245,5,5,249,230,5,5,246,179,5,5,156,172,5,5,226,172,5,5,152,203,5,5,63,181,5,5,157,183,5,5,65,212,5,5,156,206,5,5,248,200,5,5,86,206,5,5,76,210,5,5,168,177,5,5,169,216,5,5,72,199,5,5,174,246,5,5,41,185,5,5,20,165,5,5,125,243,5,5,10,224,5,5,79,183,5,5,210,174,5,5,157,206,5,5,200,190,5,5,246,238,5,5,20,186,5,5,199,196,5,5,175,243,5,5,34,241,5,5,207,206,5,5,69,187,5,5,148,177,5,5,94,215,5,5,158,199,5,5,139,199,5,5,98,244,5,5,78,224,5,5,190,228,5,5,149,181,5,5,100,176,5,5,223,241,5,5,106,245,5,5,120,183,5,5,3,226,5,5,76,203,5,5,206,179,5,5,16,217,5,5,85,248,5,5,22,246,5,5,244,176,5,5,35,230,5,5,240,169,5,5,239,175,5,5,31,231,5,5,205,210,5,5,14,200,5,5,196,245,5,5,127,210,5,5,81,226,5,5,148,171,5,5,214,174,5,5,198,203,5,5,158,178,5,5,176,239,5,5,251,222,5,5,206,169,5,5,43,201,5,5,178,171,5,5,206,238,5,5,103,244,5,5,102,217,5,5,107,203,5,5,229,245,5,5,5,170,5,5,99,249,5,5,86,221,5,5,224,209,5,5,70,227,5,5,72,214,5,5,56,182,5,5,192,188,5,5,67,170,5,5,80,230,5,5,114,235,5,5,101,168,5,5,128,246,5,5,142,245,5,5,169,204,5,5,7,199,5,5,135,238,5,5,127,209,5,5,24,164,5,5,194,216,5,5,207,179,5,5,225,193,5,5,160,225,5,5,175,241,5,5,41,168,5,5,51,213,5,5,54,249,5,5,225,244,5,5,64,231,5,5,220,230,5,5,16,223,5,5,43,188,5,5,243,169,5,5,61,167,5,5,136,238,5,5,20,169,5,5,90,192,5,5,160,196,5,5,235,210,5,5,90,203,5,5,32,236,5,5,178,220,5,5,55,249,5,5,116,203,5,5,65,231,5,5,36,172,5,5,106,244,5,5,79,202,5,5,163,236,5,5,34,184,5,5,106,215,5,5,154,179,5,5,120,167,5,5,113,186,5,5,71,183,5,5,9,164,5,5,63,238,5,5,42,168,5,5,140,168,5,5,120,240,5,5,79,168,5,5,113,248,5,5,88,185,5,5,140,217,5,5,103,170,5,5,107,239,5,5,14,221,5,5,215,195,5,5,219,249,5,5,215,183,5,5,197,186,5,5,179,176,5,5,230,193,5,5,143,242,5,5,194,205,5,5,119,222,5,5,17,225,5,5,253,231,5,5,67,198,5,5,124,183,5,5,211,185,5,5,70,169,5,5,124,219,5,5,79,199,5,5,80,199,5,5,150,238,5,5,125,183,5,5,60,211,5,5,64,169,5,5,67,168,5,5,24,193,5,5,69,245,5,5,168,209,5,5,59,182,5,5,123,220,5,5,35,170,5,5,109,215,5,5,110,215,5,5,132,169,5,5,233,187,5,5,139,188,5,5,147,199,5,5,235,193,5,5,125,176,5,5,127,218,5,5,209,216,5,5,112,239,5,5,148,199,5,5,247,212,5,5,165,196,5,5,21,230,5,5,248,212,5,5,58,243,5,5,91,224,5,5,3,204,5,5,246,169,5,5,66,173,5,5,243,172,5,5,63,215,5,5,147,240,5,5,114,200,5,5,106,204,5,5,238,174,5,5,98,227,5,5,76,165,5,5,106,228,5,5,37,237,5,5,66,211,5,5,177,188,5,5,185,200,5,5,8,216,5,5,38,184,5,5,253,178,5,5,148,240,5,5,70,234,5,5,73,238,5,5,103,184,5,5,124,184,5,5,21,169,5,5,53,181,5,5,40,224,5,5,249,205,5,5,193,233,5,5,237,247,5,5,143,168,5,5,86,231,5,5,198,230,5,5,21,183,5,5,149,242,5,5,126,179,5,5,127,244,5,5,81,234,5,5,40,184,5,5,230,248,5,5,181,244,5,5,184,171,5,5,115,165,5,5,22,169,5,5,200,228,5,5,175,216,5,5,221,183,5,5,2,178,5,5,97,188,5,5,20,249,5,5,77,186,5,5,75,243,5,5,239,229,5,5,154,189,5,5,76,204,5,5,104,184,5,5,79,186,5,5,105,210,5,5,136,244,5,5,241,229,5,5,144,200,5,5,91,212,5,5,83,171,5,5,235,186,5,5,169,190,5,5,206,242,5,5,182,221,5,5,82,186,5,5,204,231,5,5,127,203,5,5,116,207,5,5,117,207,5,5,62,197,5,5,178,249,5,5,19,169,5,5,188,231,5,5,29,235,5,5,66,237,5,5,65,174,5,5,199,163,5,5,106,231,5,5,211,214,5,5,22,216,5,5,20,171,5,5,164,235,5,5,103,179,5,5,250,163,5,5,158,202,5,5,3,193,5,5,142,184,5,5,58,217,5,5,119,242,5,5,132,222,5,5,184,197,5,5,158,190,5,5,68,237,5,5,45,183,5,5,128,171,5,5,78,235,5,5,77,210,5,5,101,229,5,5,95,234,5,5,232,240,5,5,123,231,5,5,189,183,5,5,45,174,5,5,130,231,5,5,198,186,5,5,67,217,5,5,143,163,5,5,199,230,5,5,10,183,5,5,8,184,5,5,10,184,5,5,137,244,5,5,170,190,5,5,173,171,5,5,108,184,5,5,96,231,5,5,31,179,5,5,250,193,5,5,194,219,5,5,130,212,5,5,4,248,5,5,15,228,5,5,198,238,5,5,180,181,5,5,122,237,5,5,188,246,5,5,57,230,5,5,210,241,5,5,132,201,5,5,132,239,5,5,119,206,5,5,155,222,5,5,89,171,5,5,191,221,5,5,95,176,5,5,137,201,5,5,87,233,5,5,66,194,5,5,46,220,5,5,214,177,5,5,201,246,5,5,137,239,5,5,15,164,5,5,233,226,5,5,234,226,5,5,175,226,5,5,183,228,5,5,54,195,5,5,95,217,5,5,47,227,5,5,103,242,5,5,212,200,5,5,154,239,5,5,43,181,5,5,17,227,5,5,188,215,5,5,197,194,5,5,100,225,5,5,120,212,5,5,198,194,5,5,129,214,5,5,39,232,5,5,112,219,5,5,20,164,5,5,197,197,5,5,31,243,5,5,130,214,5,5,16,203,5,5,187,228,5,5,186,224,5,5,53,231,5,5,87,201,5,5,93,171,5,5,149,195,5,5,183,196,5,5,9,166,5,5,149,236,5,5,19,234,5,5,132,232,5,5,178,202,5,5,254,248,5,5,179,202,5,5,176,243,5,5,96,171,5,5,150,195,5,5,97,211,5,5,16,212,5,5,177,220,5,5,98,205,5,5,215,174,5,5,115,184,5,5,93,166,5,5,174,200,5,5,6,170,5,5,5,211,5,5,91,198,5,5,86,248,5,5,247,226,5,5,116,184,5,5,226,205,5,5,118,184,5,5,247,218,5,5,26,248,5,5,25,164,5,5,184,196,5,5,119,184,5,5,7,211,5,5,126,169,5,5,152,223,5,5,79,207,5,5,125,193,5,5,8,211,5,5,236,198,5,5,118,245,5,5,227,187,5,5,253,226,5,5,120,184,5,5,201,219,5,5,193,228,5,5,70,246,5,5,47,214,5,5,185,196,5,5,104,200,5,5,234,187,5,5,70,208,5,5,186,200,5,5,164,240,5,5,195,239,5,5,35,164,5,5,215,210,5,5,178,226,5,5,36,164,5,5,225,173,5,5,34,235,5,5,130,178,5,5,158,235,5,5,209,217,5,5,136,175,5,5,85,191,5,5,135,178,5,5,19,228,5,5,187,166,5,5,195,173,5,5,115,222,5,5,30,174,5,5,190,227,5,5,58,195,5,5,9,206,5,5,14,206,5,5,117,222,5,5,125,246,5,5,67,233,5,5,230,217,5,5,145,229,5,5,143,178,5,5,148,175,5,5,201,214,5,5,128,203,5,5,251,227,5,5,50,239,5,5,51,239,5,5,52,239,5,5,126,191,5,5,190,204,5,5,60,229,5,5,178,224,5,5,253,228,5,5,254,228,5,5,155,169,5,5,123,191,5,5,7,225,5,5,22,188,5,5,151,215,5,5,152,215,5,5,245,196,5,5,26,242,5,5,73,247,5,5,27,242,5,5,18,188,5,5,19,188,5,5,156,241,5,5,186,170,5,5,74,247,5,5,75,247,5,5,76,247,5,5,128,191,5,5,157,241,5,5,100,178,5,5,152,196,5,5,229,222,5,5,170,204,5,5,124,192,5,5,52,193,5,5,125,192,5,5,79,182,5,5,129,192,5,5,130,192,5,5,183,226,5,5,205,243,5,5,57,223,5,5,115,195,5,5,146,183,5,5,183,205,5,5,50,246,5,5,42,184,5,5,234,206,5,5,36,168,5,5,135,234,5,5,107,213,5,5,207,164,5,5,194,206,5,5,210,203,5,5,72,181,5,5,158,211,5,5,212,180,5,5,211,203,5,5,250,244,5,5,94,177,5,5,190,226,5,5,18,227,5,5,173,168,5,5,216,201,5,5,60,214,5,5,215,220,5,5,61,214,5,5,153,183,5,5,109,220,5,5,189,212,5,5,60,246,5,5,126,170,5,5,149,237,5,5,9,186,5,5,184,168,5,5,220,180,5,5,207,172,5,5,108,229,5,5,73,214,5,5,205,181,5,5,71,191,5,5,74,191,5,5,86,213,5,5,137,234,5,5,76,191,5,5,86,207,5,5,85,214,5,5,97,207,5,5,112,207,5,5,248,187,5,5,188,207,5,5,123,229,5,5,162,213,5,5,185,223,5,5,137,182,5,5,199,183,5,5,37,228,5,5,165,245,5,5,36,215,5,5,25,187,5,5,188,237,5,5,177,175,5,5,149,200,5,5,226,190,5,5,9,240,5,5,251,208,5,5,112,230,5,5,84,245,5,5,115,198,5,5,134,228,5,5,5,248,5,5,148,225,5,5,21,237,5,5,252,208,5,5,113,230,5,5,201,248,5,5,84,164,5,5,211,241,5,5,14,239,5,5,243,240,5,5,88,245,5,5,134,203,5,5,192,237,5,5,45,202,5,5,59,210,5,5,94,173,5,5,189,246,5,5,157,208,5,5,106,234,5,5,115,210,5,5,158,208,5,5,164,223,5,5,206,203,5,5,154,211,5,5,203,192,5,5,180,215,5,5,139,238,5,5,17,186,5,5,137,175,5,5,0,136,5,5,4,233,5,5,5,233,5,5,60,244,5,5,44,207,5,5,184,192,5,5,40,195,5,5,67,192,5,5,59,217,5,5,170,166,5,5,37,187,5,5,21,181,5,5,159,211,5,5,159,242,5,5,68,174,5,5,13,215,5,5,68,203,5,5,168,189,5,5,22,182,5,5,237,167,5,5,143,238,5,5,81,175,5,5,25,197,5,5,204,248,5,5,160,211,5,5,64,199,5,5,191,166,5,5,224,171,5,5,238,238,5,5,22,181,5,5,91,189,5,5,34,223,5,5,209,168,5,5,226,178,5,5,119,198,5,5,103,196,5,5,14,215,5,5,49,170,5,5,165,182,5,5,60,217,5,5,26,240,5,5,3,166,5,5,92,197,5,5,0,138,5,5,133,190,5,5,204,237,5,5,199,174,5,5,217,217,5,5,23,177,5,5,8,190,5,5,7,239,5,5,30,239,5,5,216,191,5,5,42,212,5,5,8,179,5,5,144,239,5,5,67,172,5,5,237,226,5,5,200,238,5,5,9,246,5,5,168,200,5,5,194,218,5,5,92,171,5,5,252,186,5,5,163,202,5,5,168,182,5,5,10,246,5,5,104,242,5,5,99,193,5,5,187,213,5,5,253,186,5,5,161,241,5,5,84,204,5,5,70,221,5,5,159,190,5,5,241,203,5,5,157,237,5,5,158,237,5,5,64,248,5,5,7,214,5,5,101,166,5,5,192,209,5,5,118,212,5,5,201,173,5,5,202,173,5,5,49,183,5,5,255,186,5,5,39,242,5,5,195,215,5,5,147,201,5,5,138,175,5,5,151,228,5,5,95,225,5,5,199,181,5,5,232,192,5,5,45,208,5,5,248,197,5,5,191,213,5,5,169,243,5,5,14,248,5,5,140,186,5,5,188,195,5,5,173,185,5,5,38,185,5,5,141,215,5,5,15,212,5,5,55,197,5,5,167,226,5,5,168,226,5,5,59,179,5,5,224,188,5,5,140,199,5,5,208,206,5,5,42,185,5,5,184,208,5,5,234,171,5,5,200,196,5,5,201,196,5,5,220,232,5,5,84,193,5,5,210,234,5,5,250,240,5,5,251,240,5,5,205,192,5,5,201,190,5,5,202,190,5,5,150,186,5,5,141,207,5,5,55,178,5,5,78,221,5,5,143,193,5,5,177,243,5,5,235,178,5,5,85,198,5,5,79,221,5,5,65,246,5,5,192,214,5,5,249,167,5,5,129,242,5,5,95,237,5,5,153,203,5,5,178,164,5,5,221,232,5,5,12,196,5,5,236,178,5,5,111,220,5,5,85,193,5,5,178,243,5,5,205,231,5,5,26,232,5,5,44,201,5,5,192,247,5,5,217,245,5,5,36,244,5,5,207,173,5,5,23,210,5,5,37,244,5,5,166,180,5,5,230,239,5,5,239,218,5,5,71,227,5,5,40,232,5,5,224,241,5,5,225,237,5,5,234,221,5,5,166,195,5,5,92,191,5,5,227,242,5,5,241,169,5,5,92,198,5,5,224,201,5,5,225,201,5,5,223,200,5,5,150,181,5,5,48,229,5,5,207,169,5,5,174,210,5,5,107,245,5,5,193,247,5,5,92,233,5,5,22,186,5,5,44,195,5,5,177,242,5,5,178,242,5,5,71,246,5,5,93,233,5,5,147,223,5,5,26,237,5,5,60,231,5,5,75,195,5,5,206,210,5,5,194,247,5,5,245,180,5,5,253,185,5,5,216,181,5,5,123,178,5,5,228,212,5,5,126,247,5,5,119,234,5,5,103,176,5,5,66,231,5,5,164,203,5,5,93,195,5,5,44,188,5,5,113,245,5,5,100,237,5,5,132,209,5,5,124,231,5,5,28,246,5,5,182,164,5,5,129,177,5,5,184,234,5,5,155,210,5,5,14,250,5,5,244,183,5,5,185,234,5,5,137,202,5,5,112,227,5,5,248,230,5,5,117,237,5,5,101,233,5,5,62,206,5,5,228,187,5,5,216,195,5,5,136,224,5,5,51,177,5,5,105,234,5,5,205,177,5,5,192,181,5,5,2,186,5,5,51,221,5,5,119,220,5,5,120,220,5,5,106,238,5,5,37,234,5,5,177,211,5,5,40,211,5,5,216,234,5,5,31,233,5,5,144,175,5,5,145,175,5,5,54,213,5,5,114,248,5,5,5,167,5,5,243,190,5,5,109,216,5,5,138,234,5,5,57,163,5,5,210,210,5,5,4,204,5,5,244,242,5,5,181,185,5,5,145,220,5,5,233,188,5,5,235,187,5,5,236,187,5,5,178,205,5,5,138,176,5,5,117,178,5,5,70,233,5,5,103,204,5,5,48,194,5,5,191,241,5,5,5,204,5,5,192,241,5,5,169,207,5,5,90,220,5,5,149,240,5,5,68,217,5,5,57,183,5,5,109,241,5,5,110,241,5,5,189,239,5,5,252,183,5,5,159,215,5,5,100,202,5,5,90,214,5,5,47,195,5,5,2,213,5,5,12,177,5,5,154,238,5,5,33,233,5,5,171,246,5,5,196,239,5,5,87,231,5,5,150,175,5,5,173,189,5,5,226,231,5,5,40,248,5,5,231,248,5,5,223,243,5,5,230,230,5,5,191,203,5,5,117,187,5,5,243,193,5,5,252,190,5,5,253,190,5,5,136,177,5,5,91,231,5,5,32,213,5,5,12,207,5,5,109,224,5,5,220,244,5,5,112,196,5,5,201,242,5,5,254,245,5,5,63,183,5,5,92,212,5,5,4,224,5,5,13,235,5,5,171,190,5,5,140,177,5,5,141,177,5,5,28,184,5,5,207,242,5,5,204,242,5,5,13,243,5,5,144,196,5,5,14,243,5,5,45,226,5,5,77,196,5,5,46,226,5,5,253,219,5,5,29,201,5,5,77,206,5,5,214,217,5,5,238,223,5,5,239,223,5,5,204,187,5,5,186,194,5,5,251,232,5,5,186,209,5,5,38,207,5,5,217,194,5,5,40,207,5,5,247,244,5,5,13,169,5,5,14,169,5,5,169,223,5,5,24,210,5,5,30,210,5,5,124,202,5,5,210,239,5,5,155,235,5,5,0,130,5,5,59,218,5,5,208,219,5,5,96,216,5,5,145,239,5,5,186,205,5,5,4,218,5,5,242,207,5,5,0,142,5,5,14,218,5,5,159,205,5,5,57,174,5,5,207,231,5,5,244,164,5,5,28,227,5,5,119,166,5,5,190,177,5,5,200,229,5,5,238,172,5,5,227,183,5,5,185,226,5,5,71,173,5,5,164,166,5,5,147,218,5,5,172,212,5,5,59,199,5,5,22,176,5,5,5,246,5,5,43,221,5,5,111,180,5,5,82,175,5,5,98,169,5,5,248,166,5,5,165,166,5,5,246,180,5,5,37,163,5,5,116,188,5,5,189,218,5,5,35,220,5,5,70,163,5,5,190,218,5,5,229,176,5,5,104,169,5,5,42,240,5,5,43,240,5,5,174,168,5,5,81,209,5,5,232,207,5,5,184,230,5,5,201,229,5,5,86,175,5,5,114,221,5,5,209,229,5,5,193,209,5,5,166,220,5,5,195,226,5,5,121,212,5,5,47,213,5,5,142,164,5,5,94,175,5,5,215,193,5,5,19,224,5,5,185,168,5,5,47,221,5,5,102,236,5,5,175,246,5,5,97,175,5,5,16,246,5,5,9,225,5,5,154,227,5,5,185,208,5,5,246,231,5,5,164,193,5,5,68,170,5,5,24,178,5,5,29,198,5,5,118,221,5,5,195,216,5,5,101,171,5,5,23,246,5,5,197,245,5,5,114,174,5,5,87,240,5,5,147,164,5,5,189,168,5,5,70,177,5,5,205,194,5,5,62,167,5,5,92,201,5,5,155,179,5,5,104,171,5,5,91,203,5,5,134,180,5,5,24,200,5,5,213,222,5,5,63,228,5,5,139,170,5,5,100,172,5,5,150,165,5,5,166,193,5,5,254,231,5,5,101,172,5,5,148,164,5,5,52,221,5,5,130,206,5,5,140,224,5,5,135,174,5,5,14,219,5,5,240,198,5,5,244,172,5,5,133,226,5,5,53,165,5,5,114,165,5,5,59,221,5,5,117,171,5,5,144,209,5,5,75,224,5,5,109,173,5,5,238,170,5,5,150,164,5,5,41,224,5,5,138,171,5,5,177,225,5,5,188,203,5,5,167,215,5,5,43,186,5,5,151,192,5,5,167,168,5,5,63,184,5,5,191,204,5,5,81,166,5,5,85,166,5,5,165,216,5,5,161,192,5,5,139,241,5,5,208,200,5,5,95,242,5,5,13,242,5,5,133,202,5,5,172,194,5,5,21,168,5,5,125,181,5,5,21,232,5,5,173,194,5,5,170,222,5,5,67,169,5,5,135,211,5,5,251,164,5,5,217,210,5,5,205,178,5,5,130,226,5,5,254,193,5,5,9,241,5,5,167,163,5,5,208,203,5,5,243,216,5,5,184,189,5,5,48,245,5,5,192,222,5,5,23,196,5,5,92,244,5,5,203,176,5,5,15,167,5,5,162,177,5,5,224,240,5,5,166,171,5,5,213,192,5,5,214,233,5,5,154,174,5,5,166,182,5,5,115,167,5,5,194,172,5,5,69,216,5,5,218,239,5,5,195,218,5,5,13,181,5,5,196,218,5,5,239,214,5,5,36,178,5,5,11,233,5,5,131,214,5,5,200,181,5,5,12,194,5,5,26,196,5,5,195,170,5,5,146,181,5,5,75,242,5,5,102,166,5,5,86,166,5,5,141,225,5,5,43,185,5,5,21,165,5,5,69,202,5,5,203,238,5,5,141,229,5,5,213,195,5,5,214,249,5,5,55,182,5,5,96,237,5,5,142,229,5,5,128,211,5,5,87,248,5,5,19,248,5,5,169,171,5,5,41,236,5,5,243,233,5,5,45,216,5,5,209,172,5,5,171,204,5,5,234,237,5,5,228,193,5,5,103,188,5,5,158,227,5,5,126,188,5,5,114,186,5,5,44,236,5,5,248,218,5,5,50,167,5,5,130,211,5,5,174,204,5,5,175,204,5,5,195,205,5,5,107,238,5,5,62,196,5,5,236,185,5,5,241,243,5,5,23,188,5,5,105,175,5,5,37,190,5,5,121,240,5,5,172,225,5,5,92,224,5,5,224,181,5,5,133,235,5,5,6,216,5,5,170,171,5,5,34,225,5,5,70,245,5,5,215,172,5,5,175,194,5,5,36,196,5,5,93,196,5,5,77,165,5,5,67,211,5,5,91,214,5,5,12,189,5,5,13,189,5,5,249,187,5,5,203,189,5,5,252,202,5,5,221,244,5,5,74,215,5,5,139,181,5,5,235,249,5,5,236,186,5,5,142,181,5,5,204,243,5,5,210,217,5,5,160,242,5,5,144,181,5,5,164,176,5,5,219,166,5,5,81,205,5,5,42,200,5,5,17,183,5,5,45,200,5,5,216,194,5,5,89,184,5,5,76,195,5,5,228,165,5,5,10,240,5,5,26,209,5,5,208,184,5,5,128,173,5,5,18,207,5,5,220,242,5,5,44,240,5,5,187,232,5,5,54,165,5,5,254,239,5,5,84,239,5,5,68,239,5,5,80,236,5,5,32,227,5,5,69,239,5,5,72,227,5,5,80,227,5,5,187,194,5,5,95,177,5,5,206,243,5,5,52,199,5,5,58,174,5,5,128,201,5,5,242,244,5,5,76,182,5,5,30,223,5,5,53,206,5,5,16,163,5,5,181,228,5,5,223,176,5,5,9,221,5,5,124,207,5,5,149,179,5,5,155,174,5,5,204,176,5,5,35,171,5,5,85,215,5,5,248,198,5,5,225,223,5,5,148,184,5,5,143,206,5,5,212,220,5,5,146,239,5,5,73,171,5,5,43,212,5,5,172,246,5,5,227,227,5,5,235,230,5,5,96,217,5,5,152,206,5,5,78,177,5,5,10,221,5,5,57,206,5,5,57,211,5,5,155,167,5,5,31,176,5,5,58,211,5,5,29,165,5,5,30,165,5,5,196,227,5,5,36,176,5,5,36,205,5,5,91,192,5,5,210,191,5,5,117,172,5,5,55,165,5,5,138,195,5,5,154,205,5,5,136,165,5,5,159,214,5,5,49,176,5,5,152,193,5,5,65,206,5,5,173,201,5,5,43,171,5,5,157,193,5,5,181,246,5,5,202,207,5,5,146,202,5,5,147,202,5,5,207,193,5,5,68,176,5,5,5,190,5,5,6,190,5,5,124,182,5,5,80,200,5,5,240,218,5,5,91,200,5,5,92,200,5,5,190,239,5,5,191,239,5,5,201,239,5,5,202,239,5,5,193,248,5,5,195,248,5,5,38,228,5,5,140,216,5,5,20,247,5,5,164,182,5,5,27,243,5,5,28,243,5,5,65,248,5,5,6,223,5,5,20,234,5,5,145,165,5,5,79,177,5,5,10,166,5,5,157,167,5,5,15,250,5,5,85,168,5,5,15,221,5,5,214,244,5,5,28,223,5,5,79,223,5,5,20,222,5,5,53,182,5,5,46,202,5,5,168,173,5,5,198,222,5,5,16,240,5,5,83,247,5,5,186,223,5,5,230,164,5,5,151,176,5,5,92,189,5,5,69,174,5,5,89,247,5,5,65,221,5,5,149,234,5,5,90,247,5,5,144,206,5,5,87,175,5,5,182,212,5,5,5,218,5,5,167,198,5,5,28,244,5,5,232,199,5,5,87,191,5,5,49,198,5,5,93,247,5,5,138,225,5,5,205,218,5,5,223,216,5,5,153,206,5,5,201,181,5,5,76,235,5,5,57,219,5,5,39,185,5,5,79,235,5,5,58,175,5,5,210,166,5,5,78,213,5,5,239,178,5,5,181,202,5,5,10,225,5,5,219,218,5,5,80,235,5,5,9,220,5,5,44,185,5,5,73,248,5,5,66,214,5,5,223,203,5,5,94,205,5,5,73,227,5,5,77,203,5,5,243,165,5,5,45,201,5,5,216,174,5,5,231,217,5,5,72,246,5,5,121,167,5,5,176,241,5,5,238,245,5,5,229,212,5,5,90,221,5,5,96,168,5,5,178,180,5,5,63,175,5,5,93,221,5,5,96,221,5,5,130,165,5,5,64,175,5,5,158,226,5,5,197,223,5,5,59,204,5,5,115,200,5,5,62,204,5,5,33,200,5,5,227,169,5,5,43,191,5,5,58,216,5,5,62,164,5,5,222,211,5,5,241,215,5,5,36,216,5,5,245,164,5,5,2,240,5,5,15,185,5,5,87,230,5,5,128,175,5,5,211,177,5,5,228,191,5,5,155,202,5,5,97,230,5,5,89,230,5,5,156,224,5,5,22,180,5,5,92,179,5,5,93,179,5,5,103,192,5,5,23,209,5,5,33,227,5,5,33,235,5,5,180,218,5,5,107,247,5,5,183,170,5,5,167,212,5,5,7,173,5,5,93,244,5,5,97,181,5,5,225,171,5,5,49,247,5,5,199,222,5,5,149,226,5,5,90,245,5,5,47,202,5,5,49,245,5,5,111,213,5,5,41,203,5,5,8,242,5,5,235,246,5,5,40,235,5,5,88,237,5,5,80,196,5,5,53,248,5,5,230,165,5,5,181,218,5,5,159,208,5,5,230,234,5,5,180,224,5,5,134,179,5,5,139,182,5,5,116,210,5,5,90,184,5,5,4,201,5,5,34,218,5,5,48,184,5,5,9,197,5,5,41,215,5,5,243,215,5,5,209,195,5,5,220,198,5,5,106,195,5,5,130,173,5,5,231,199,5,5,136,179,5,5,109,237,5,5,50,245,5,5,194,238,5,5,37,225,5,5,140,226,5,5,45,207,5,5,27,240,5,5,16,164,5,5,226,223,5,5,226,171,5,5,228,166,5,5,6,233,5,5,167,232,5,5,80,244,5,5,46,207,5,5,103,164,5,5,151,184,5,5,47,183,5,5,66,221,5,5,166,166,5,5,125,166,5,5,247,180,5,5,69,199,5,5,65,199,5,5,47,207,5,5,20,175,5,5,117,188,5,5,111,235,5,5,17,224,5,5,227,176,5,5,88,175,5,5,138,239,5,5,183,181,5,5,36,242,5,5,25,174,5,5,57,202,5,5,135,167,5,5,166,216,5,5,93,249,5,5,149,183,5,5,204,193,5,5,70,174,5,5,112,213,5,5,255,164,5,5,11,242,5,5,96,209,5,5,157,217,5,5,43,235,5,5,58,166,5,5,84,201,5,5,247,216,5,5,204,225,5,5,2,165,5,5,134,229,5,5,183,212,5,5,230,179,5,5,27,250,5,5,125,233,5,5,136,178,5,5,154,169,5,5,153,218,5,5,28,240,5,5,48,227,5,5,123,183,5,5,218,217,5,5,49,227,5,5,117,213,5,5,197,185,5,5,199,198,5,5,254,196,5,5,87,170,5,5,158,218,5,5,3,214,5,5,187,188,5,5,14,181,5,5,85,201,5,5,24,177,5,5,249,197,5,5,64,197,5,5,7,194,5,5,200,198,5,5,184,212,5,5,30,204,5,5,138,229,5,5,195,235,5,5,224,198,5,5,220,209,5,5,81,244,5,5,75,200,5,5,43,200,5,5,88,223,5,5,45,203,5,5,147,239,5,5,37,218,5,5,206,193,5,5,22,189,5,5,2,200,5,5,194,231,5,5,251,216,5,5,65,223,5,5,255,228,5,5,217,184,5,5,170,198,5,5,3,239,5,5,55,195,5,5,9,179,5,5,74,181,5,5,199,194,5,5,44,212,5,5,190,212,5,5,82,209,5,5,207,248,5,5,137,167,5,5,198,195,5,5,57,175,5,5,76,200,5,5,207,237,5,5,234,214,5,5,216,182,5,5,122,242,5,5,86,195,5,5,234,233,5,5,65,183,5,5,181,249,5,5,197,170,5,5,5,250,5,5,2,250,5,5,251,248,5,5,208,167,5,5,225,196,5,5,129,209,5,5,209,248,5,5,74,248,5,5,202,181,5,5,220,203,5,5,198,212,5,5,138,219,5,5,23,189,5,5,218,180,5,5,122,198,5,5,250,197,5,5,101,209,5,5,221,180,5,5,135,166,5,5,57,240,5,5,170,210,5,5,56,200,5,5,191,212,5,5,212,163,5,5,106,170,5,5,99,239,5,5,194,198,5,5,110,237,5,5,45,212,5,5,139,225,5,5,104,196,5,5,98,245,5,5,99,245,5,5,14,242,5,5,172,186,5,5,70,189,5,5,218,200,5,5,44,235,5,5,71,240,5,5,210,248,5,5,56,187,5,5,98,184,5,5,66,183,5,5,215,237,5,5,17,212,5,5,136,217,5,5,73,210,5,5,100,245,5,5,4,172,5,5,81,235,5,5,184,172,5,5,186,163,5,5,67,178,5,5,240,234,5,5,43,225,5,5,173,170,5,5,103,236,5,5,183,202,5,5,104,194,5,5,99,194,5,5,170,216,5,5,157,175,5,5,123,208,5,5,56,197,5,5,103,181,5,5,203,190,5,5,214,212,5,5,175,195,5,5,131,194,5,5,210,183,5,5,112,211,5,5,21,224,5,5,183,178,5,5,177,193,5,5,83,220,5,5,87,206,5,5,208,246,5,5,6,249,5,5,174,205,5,5,189,202,5,5,21,186,5,5,75,248,5,5,199,199,5,5,117,197,5,5,66,212,5,5,247,179,5,5,222,180,5,5,225,180,5,5,237,183,5,5,94,247,5,5,254,225,5,5,230,198,5,5,249,200,5,5,199,212,5,5,29,225,5,5,254,215,5,5,17,246,5,5,84,200,5,5,226,237,5,5,226,236,5,5,128,233,5,5,206,204,5,5,8,250,5,5,169,177,5,5,65,207,5,5,84,234,5,5,112,225,5,5,60,175,5,5,222,163,5,5,105,209,5,5,75,234,5,5,32,176,5,5,100,194,5,5,109,178,5,5,70,183,5,5,185,249,5,5,82,216,5,5,94,222,5,5,38,177,5,5,46,201,5,5,116,226,5,5,139,212,5,5,14,230,5,5,122,216,5,5,244,233,5,5,218,165,5,5,7,172,5,5,94,233,5,5,167,180,5,5,188,209,5,5,28,224,5,5,229,163,5,5,103,217,5,5,230,245,5,5,171,191,5,5,86,210,5,5,73,246,5,5,100,248,5,5,196,247,5,5,31,165,5,5,104,217,5,5,224,200,5,5,10,172,5,5,32,165,5,5,105,240,5,5,204,171,5,5,9,250,5,5,112,195,5,5,101,176,5,5,133,243,5,5,227,237,5,5,196,224,5,5,70,170,5,5,86,209,5,5,65,195,5,5,206,247,5,5,64,238,5,5,108,209,5,5,228,242,5,5,162,184,5,5,142,192,5,5,186,249,5,5,129,233,5,5,254,235,5,5,162,186,5,5,133,173,5,5,233,244,5,5,156,196,5,5,161,196,5,5,28,212,5,5,206,194,5,5,144,249,5,5,164,236,5,5,171,236,5,5,202,208,5,5,177,241,5,5,114,237,5,5,98,201,5,5,80,202,5,5,53,193,5,5,80,207,5,5,146,226,5,5,211,183,5,5,19,214,5,5,94,195,5,5,109,221,5,5,16,250,5,5,48,234,5,5,17,218,5,5,215,228,5,5,96,163,5,5,113,195,5,5,102,249,5,5,133,213,5,5,26,201,5,5,18,250,5,5,69,244,5,5,89,187,5,5,19,236,5,5,156,179,5,5,141,243,5,5,182,233,5,5,21,217,5,5,177,210,5,5,145,179,5,5,36,201,5,5,188,249,5,5,216,228,5,5,52,172,5,5,237,194,5,5,197,227,5,5,84,235,5,5,69,168,5,5,102,172,5,5,103,172,5,5,167,193,5,5,110,223,5,5,86,234,5,5,79,234,5,5,77,234,5,5,217,234,5,5,15,172,5,5,98,179,5,5,17,221,5,5,219,182,5,5,151,238,5,5,253,229,5,5,140,170,5,5,108,194,5,5,31,212,5,5,86,232,5,5,176,204,5,5,105,200,5,5,91,195,5,5,131,188,5,5,195,238,5,5,118,237,5,5,239,210,5,5,244,243,5,5,98,191,5,5,234,228,5,5,137,246,5,5,113,182,5,5,111,170,5,5,91,210,5,5,201,227,5,5,220,249,5,5,142,211,5,5,217,195,5,5,8,177,5,5,128,218,5,5,237,185,5,5,7,208,5,5,141,208,5,5,137,208,5,5,129,248,5,5,201,168,5,5,229,187,5,5,97,235,5,5,18,242,5,5,159,226,5,5,15,219,5,5,220,182,5,5,67,225,5,5,53,209,5,5,178,211,5,5,164,167,5,5,241,163,5,5,117,165,5,5,155,212,5,5,6,204,5,5,196,232,5,5,111,223,5,5,140,188,5,5,204,168,5,5,166,196,5,5,106,200,5,5,170,209,5,5,128,225,5,5,245,243,5,5,246,243,5,5,88,213,5,5,3,213,5,5,50,176,5,5,2,180,5,5,91,178,5,5,145,178,5,5,144,178,5,5,177,236,5,5,178,207,5,5,255,233,5,5,160,214,5,5,245,172,5,5,136,173,5,5,182,185,5,5,212,185,5,5,160,226,5,5,69,198,5,5,57,209,5,5,111,215,5,5,16,172,5,5,131,206,5,5,12,188,5,5,71,245,5,5,87,234,5,5,170,207,5,5,159,234,5,5,223,215,5,5,32,180,5,5,33,229,5,5,230,167,5,5,150,240,5,5,231,225,5,5,64,215,5,5,58,183,5,5,52,176,5,5,33,180,5,5,136,206,5,5,103,237,5,5,148,198,5,5,63,204,5,5,144,246,5,5,119,217,5,5,2,179,5,5,249,210,5,5,243,210,5,5,90,207,5,5,49,234,5,5,204,195,5,5,92,214,5,5,128,244,5,5,155,238,5,5,81,170,5,5,151,240,5,5,14,189,5,5,236,235,5,5,71,208,5,5,236,199,5,5,176,170,5,5,73,186,5,5,74,238,5,5,15,189,5,5,152,242,5,5,68,196,5,5,234,213,5,5,116,223,5,5,41,248,5,5,250,243,5,5,72,175,5,5,15,171,5,5,76,238,5,5,239,170,5,5,148,178,5,5,225,208,5,5,92,169,5,5,33,186,5,5,177,170,5,5,42,224,5,5,32,219,5,5,174,184,5,5,175,184,5,5,150,242,5,5,76,244,5,5,124,163,5,5,39,219,5,5,40,197,5,5,18,197,5,5,91,242,5,5,55,174,5,5,70,188,5,5,139,171,5,5,134,225,5,5,152,200,5,5,160,224,5,5,17,171,5,5,78,186,5,5,241,199,5,5,147,217,5,5,169,230,5,5,162,224,5,5,232,202,5,5,104,207,5,5,160,200,5,5,209,227,5,5,205,240,5,5,212,188,5,5,118,183,5,5,57,171,5,5,120,180,5,5,203,207,5,5,210,192,5,5,211,192,5,5,191,222,5,5,130,191,5,5,198,248,5,5,82,245,5,5,188,204,5,5,181,216,5,5,128,229,5,5,48,231,5,5,106,213,5,5,86,225,5,5,183,245,5,5,209,203,5,5,136,191,5,5,196,204,5,5,26,211,5,5,186,199,5,5,27,211,5,5,134,220,5,5,15,179,5,5,124,208,5,5,48,203,5,5,33,177,5,5,54,232,5,5,51,203,5,5,135,202,5,5,84,218,5,5,167,195,5,5,81,202,5,5,124,196,5,5,242,191,5,5,134,176,5,5,143,220,5,5,41,211,5,5,150,191,5,5,45,205,5,5,176,203,5,5,115,248,5,5,46,205,5,5,245,242,5,5,43,190,5,5,241,198,5,5,147,220,5,5,146,213,5,5,151,213,5,5,246,225,5,5,112,175,5,5,225,211,5,5,53,199,5,5,54,199,5,5,55,199,5,5,189,237,5,5,38,227,5,5,210,180,5,5,47,170,5,5,66,199,5,5,38,187,5,5,160,173,5,5,220,236,5,5,215,165,5,5,165,177,5,5,84,208,5,5,245,228,5,5,155,239,5,5,225,239,5,5,90,228,5,5,73,199,5,5,160,172,5,5,229,242,5,5,14,228,5,5,35,228,5,5,7,234,5,5,59,219,5,5,246,209,5,5,16,185,5,5,214,168,5,5,0,132,5,5,46,175,5,5,172,230,5,5,40,173,5,5,226,230,5,5,44,232,5,5,252,181,5,5,42,221,5,5,93,177,5,5,226,195,5,5,139,247,5,5,3,196,5,5,133,192,5,5,135,228,5,5,125,223,5,5,253,181,5,5,32,193,5,5,146,195,5,5,85,245,5,5,66,176,5,5,55,210,5,5,99,218,5,5,115,230,5,5,52,196,5,5,160,170,5,5,30,236,5,5,14,244,5,5,49,184,5,5,100,164,5,5,181,223,5,5,26,230,5,5,173,212,5,5,117,210,5,5,67,164,5,5,42,203,5,5,161,247,5,5,66,174,5,5,140,238,5,5,174,212,5,5,198,167,5,5,148,218,5,5,182,218,5,5,193,237,5,5,67,176,5,5,220,219,5,5,89,225,5,5,156,202,5,5,212,242,5,5,10,197,5,5,231,165,5,5,223,223,5,5,192,206,5,5,50,247,5,5,247,198,5,5,202,248,5,5,122,207,5,5,11,163,5,5,14,211,5,5,4,176,5,5,104,221,5,5,161,249,5,5,190,246,5,5,3,183,5,5,17,240,5,5,61,229,5,5,254,221,5,5,39,167,5,5,212,179,5,5,189,175,5,5,233,195,5,5,127,219,5,5,40,167,5,5,151,174,5,5,9,167,5,5,0,156,5,5,130,238,5,5,235,231,5,5,110,182,5,5,133,195,5,5,189,190,5,5,73,211,5,5,208,249,5,5,60,199,5,5,42,164,5,5,59,166,5,5,154,218,5,5,136,167,5,5,228,179,5,5,126,166,5,5,201,167,5,5,109,179,5,5,212,241,5,5,210,220,5,5,61,219,5,5,3,244,5,5,43,164,5,5,77,197,5,5,182,183,5,5,84,241,5,5,205,176,5,5,86,223,5,5,202,167,5,5,5,203,5,5,91,169,5,5,251,169,5,5,167,224,5,5,225,240,5,5,9,224,5,5,161,211,5,5,253,171,5,5,205,225,5,5,6,203,5,5,71,174,5,5,94,219,5,5,192,221,5,5,228,175,5,5,206,223,5,5,66,172,5,5,61,184,5,5,227,184,5,5,156,174,5,5,10,167,5,5,104,164,5,5,208,166,5,5,216,188,5,5,223,182,5,5,197,193,5,5,118,210,5,5,48,207,5,5,53,179,5,5,0,159,5,5,5,182,5,5,6,182,5,5,131,238,5,5,195,206,5,5,6,222,5,5,80,167,5,5,209,219,5,5,170,163,5,5,168,163,5,5,206,176,5,5,183,183,5,5,49,207,5,5,53,196,5,5,29,191,5,5,13,205,5,5,75,209,5,5,211,249,5,5,18,186,5,5,110,184,5,5,38,163,5,5,237,231,5,5,69,210,5,5,163,198,5,5,54,196,5,5,50,227,5,5,143,203,5,5,106,221,5,5,100,184,5,5,219,194,5,5,221,194,5,5,59,212,5,5,222,229,5,5,31,235,5,5,212,231,5,5,120,195,5,5,148,239,5,5,4,214,5,5,235,233,5,5,3,200,5,5,129,168,5,5,79,222,5,5,238,226,5,5,224,182,5,5,152,163,5,5,36,223,5,5,130,193,5,5,197,218,5,5,55,196,5,5,81,178,5,5,82,178,5,5,159,218,5,5,102,209,5,5,239,238,5,5,209,184,5,5,238,220,5,5,163,191,5,5,85,204,5,5,47,196,5,5,10,179,5,5,225,182,5,5,15,181,5,5,182,187,5,5,63,219,5,5,61,191,5,5,25,177,5,5,137,245,5,5,130,207,5,5,218,187,5,5,21,207,5,5,207,218,5,5,160,190,5,5,30,241,5,5,168,245,5,5,54,179,5,5,5,214,5,5,48,183,5,5,82,176,5,5,31,204,5,5,71,221,5,5,130,202,5,5,4,200,5,5,88,215,5,5,184,248,5,5,26,238,5,5,8,182,5,5,155,184,5,5,197,234,5,5,78,163,5,5,233,192,5,5,204,180,5,5,241,220,5,5,101,225,5,5,198,235,5,5,199,235,5,5,245,195,5,5,238,169,5,5,41,191,5,5,200,206,5,5,153,167,5,5,18,205,5,5,58,240,5,5,168,181,5,5,56,228,5,5,231,230,5,5,204,246,5,5,8,214,5,5,130,223,5,5,237,173,5,5,35,204,5,5,58,245,5,5,46,208,5,5,164,204,5,5,209,182,5,5,226,196,5,5,192,199,5,5,203,181,5,5,9,222,5,5,41,167,5,5,63,191,5,5,0,143,5,5,123,198,5,5,228,227,5,5,224,183,5,5,216,207,5,5,25,232,5,5,139,229,5,5,62,241,5,5,138,207,5,5,114,166,5,5,194,246,5,5,136,166,5,5,84,233,5,5,59,240,5,5,186,219,5,5,64,191,5,5,40,236,5,5,9,182,5,5,165,185,5,5,78,237,5,5,143,164,5,5,19,205,5,5,214,200,5,5,139,175,5,5,167,246,5,5,236,246,5,5,226,210,5,5,187,167,5,5,184,227,5,5,194,187,5,5,235,171,5,5,165,170,5,5,166,174,5,5,160,163,5,5,66,207,5,5,135,175,5,5,185,245,5,5,35,238,5,5,234,207,5,5,216,248,5,5,127,233,5,5,168,224,5,5,31,226,5,5,154,203,5,5,187,181,5,5,131,164,5,5,242,182,5,5,73,184,5,5,232,230,5,5,243,232,5,5,194,245,5,5,200,212,5,5,50,215,5,5,105,225,5,5,126,177,5,5,31,236,5,5,190,190,5,5,137,211,5,5,194,192,5,5,56,178,5,5,24,228,5,5,102,177,5,5,42,167,5,5,214,176,5,5,37,221,5,5,22,201,5,5,131,202,5,5,152,179,5,5,73,209,5,5,186,208,5,5,211,166,5,5,74,229,5,5,80,210,5,5,109,189,5,5,54,241,5,5,35,241,5,5,142,207,5,5,80,221,5,5,61,189,5,5,132,193,5,5,72,240,5,5,196,199,5,5,93,228,5,5,107,221,5,5,216,237,5,5,21,234,5,5,40,180,5,5,194,223,5,5,56,166,5,5,100,203,5,5,223,180,5,5,65,197,5,5,73,182,5,5,224,242,5,5,198,234,5,5,11,220,5,5,209,206,5,5,119,181,5,5,125,210,5,5,206,195,5,5,153,163,5,5,160,166,5,5,101,203,5,5,230,189,5,5,195,193,5,5,57,172,5,5,251,192,5,5,221,218,5,5,11,176,5,5,29,171,5,5,94,234,5,5,17,236,5,5,101,194,5,5,191,167,5,5,100,249,5,5,164,184,5,5,27,205,5,5,87,221,5,5,132,204,5,5,28,205,5,5,197,247,5,5,182,242,5,5,119,196,5,5,112,183,5,5,116,201,5,5,36,230,5,5,39,168,5,5,231,245,5,5,255,235,5,5,118,232,5,5,105,217,5,5,149,171,5,5,168,180,5,5,225,183,5,5,132,223,5,5,74,227,5,5,130,233,5,5,249,220,5,5,103,239,5,5,232,217,5,5,242,249,5,5,197,165,5,5,38,244,5,5,225,200,5,5,230,242,5,5,134,232,5,5,233,238,5,5,196,216,5,5,38,241,5,5,198,245,5,5,34,195,5,5,19,226,5,5,60,202,5,5,226,180,5,5,236,184,5,5,242,184,5,5,197,224,5,5,78,195,5,5,133,204,5,5,135,204,5,5,210,181,5,5,108,203,5,5,15,200,5,5,176,192,5,5,180,226,5,5,148,214,5,5,39,177,5,5,244,213,5,5,45,249,5,5,128,210,5,5,64,241,5,5,133,223,5,5,69,219,5,5,187,163,5,5,170,241,5,5,232,245,5,5,206,164,5,5,66,186,5,5,65,247,5,5,17,211,5,5,69,224,5,5,146,191,5,5,254,185,5,5,131,233,5,5,218,192,5,5,42,204,5,5,92,192,5,5,20,211,5,5,67,231,5,5,24,212,5,5,11,224,5,5,20,226,5,5,117,220,5,5,82,237,5,5,71,237,5,5,97,163,5,5,221,225,5,5,68,231,5,5,166,164,5,5,172,234,5,5,20,236,5,5,13,195,5,5,178,241,5,5,141,175,5,5,85,218,5,5,153,184,5,5,231,184,5,5,217,204,5,5,45,236,5,5,46,210,5,5,26,192,5,5,153,215,5,5,186,229,5,5,117,236,5,5,227,205,5,5,132,171,5,5,235,237,5,5,36,226,5,5,165,184,5,5,61,228,5,5,62,179,5,5,98,219,5,5,77,180,5,5,63,167,5,5,73,164,5,5,10,175,5,5,90,187,5,5,157,179,5,5,11,199,5,5,249,218,5,5,145,245,5,5,116,199,5,5,92,210,5,5,66,247,5,5,75,211,5,5,87,181,5,5,180,220,5,5,236,237,5,5,20,214,5,5,168,184,5,5,74,212,5,5,150,223,5,5,116,219,5,5,181,191,5,5,63,245,5,5,8,239,5,5,198,227,5,5,227,195,5,5,199,227,5,5,84,229,5,5,164,163,5,5,179,241,5,5,36,166,5,5,46,236,5,5,234,179,5,5,213,235,5,5,137,224,5,5,210,236,5,5,137,204,5,5,157,226,5,5,126,226,5,5,196,193,5,5,73,166,5,5,245,173,5,5,197,229,5,5,2,177,5,5,49,209,5,5,50,236,5,5,189,219,5,5,174,188,5,5,68,225,5,5,19,223,5,5,109,194,5,5,38,190,5,5,145,190,5,5,3,186,5,5,134,233,5,5,239,191,5,5,81,199,5,5,73,219,5,5,136,226,5,5,126,180,5,5,146,199,5,5,218,234,5,5,9,183,5,5,72,169,5,5,17,206,5,5,231,193,5,5,212,244,5,5,125,218,5,5,112,238,5,5,16,219,5,5,247,183,5,5,141,170,5,5,159,224,5,5,139,195,5,5,150,225,5,5,202,227,5,5,114,182,5,5,52,204,5,5,66,169,5,5,73,169,5,5,150,219,5,5,97,234,5,5,251,195,5,5,151,165,5,5,63,206,5,5,142,243,5,5,99,192,5,5,93,210,5,5,24,188,5,5,93,202,5,5,111,244,5,5,110,207,5,5,61,168,5,5,59,168,5,5,166,185,5,5,191,178,5,5,220,215,5,5,23,231,5,5,49,194,5,5,136,232,5,5,130,240,5,5,112,215,5,5,71,225,5,5,72,225,5,5,200,235,5,5,56,183,5,5,187,201,5,5,134,235,5,5,143,198,5,5,183,194,5,5,12,175,5,5,81,233,5,5,79,184,5,5,11,189,5,5,110,221,5,5,27,200,5,5,190,222,5,5,60,204,5,5,140,202,5,5,31,234,5,5,14,176,5,5,15,176,5,5,198,223,5,5,58,163,5,5,184,223,5,5,111,207,5,5,177,174,5,5,221,187,5,5,137,164,5,5,178,174,5,5,201,209,5,5,59,163,5,5,174,234,5,5,51,222,5,5,145,222,5,5,92,246,5,5,217,168,5,5,21,211,5,5,188,178,5,5,80,184,5,5,121,199,5,5,28,214,5,5,182,189,5,5,61,204,5,5,5,235,5,5,74,179,5,5,149,198,5,5,202,209,5,5,182,245,5,5,51,205,5,5,145,192,5,5,226,249,5,5,92,185,5,5,136,183,5,5,241,189,5,5,107,228,5,5,52,222,5,5,5,232,5,5,219,168,5,5,12,226,5,5,5,202,5,5,85,176,5,5,237,235,5,5,32,234,5,5,121,211,5,5,120,211,5,5,239,200,5,5,121,203,5,5,245,210,5,5,76,196,5,5,249,175,5,5,34,214,5,5,243,194,5,5,31,168,5,5,154,163,5,5,156,238,5,5,91,207,5,5,111,241,5,5,18,238,5,5,30,171,5,5,70,236,5,5,44,171,5,5,141,202,5,5,127,179,5,5,61,222,5,5,151,175,5,5,161,216,5,5,76,186,5,5,225,233,5,5,33,207,5,5,68,241,5,5,216,230,5,5,126,241,5,5,121,241,5,5,194,183,5,5,207,245,5,5,106,202,5,5,40,166,5,5,125,184,5,5,155,191,5,5,40,219,5,5,26,219,5,5,69,196,5,5,80,169,5,5,139,205,5,5,38,214,5,5,209,187,5,5,237,179,5,5,165,163,5,5,72,236,5,5,246,189,5,5,116,191,5,5,28,230,5,5,157,180,5,5,56,167,5,5,77,244,5,5,155,185,5,5,226,233,5,5,96,229,5,5,138,232,5,5,85,184,5,5,168,215,5,5,77,208,5,5,172,199,5,5,123,187,5,5,251,184,5,5,207,200,5,5,194,244,5,5,204,189,5,5,36,191,5,5,101,210,5,5,108,210,5,5,139,232,5,5,106,210,5,5,44,186,5,5,75,215,5,5,138,244,5,5,230,169,5,5,165,230,5,5,77,224,5,5,235,244,5,5,9,235,5,5,40,214,5,5,210,227,5,5,109,190,5,5,79,208,5,5,58,171,5,5,237,186,5,5,141,232,5,5,172,190,5,5,238,179,5,5,65,233,5,5,153,187,5,5,142,177,5,5,150,245,5,5,88,176,5,5,79,204,5,5,204,207,5,5,83,186,5,5,163,187,5,5,138,183,5,5,55,218,5,5,29,194,5,5,8,194,5,5,128,208,5,5,243,217,5,5,212,168,5,5,213,168,5,5,13,228,5,5,118,195,5,5,9,242,5,5,229,191,5,5,215,239,5,5,191,194,5,5,104,192,5,5,68,164,5,5,181,173,5,5,115,221,5,5,193,166,5,5,124,177,5,5,147,195,5,5,2,172,5,5,96,245,5,5,80,193,5,5,105,197,5,5,237,233,5,5,216,214,5,5,75,171,5,5,212,225,5,5,166,191,5,5,169,176,5,5,7,217,5,5,91,204,5,5,5,172,5,5,188,224,5,5,168,204,5,5,155,228,5,5,64,178,5,5,20,248,5,5,93,223,5,5,102,238,5,5,171,163,5,5,8,217,5,5,92,204,5,5,65,178,5,5,170,188,5,5,239,183,5,5,22,165,5,5,31,225,5,5,151,177,5,5,57,178,5,5,88,240,5,5,140,192,5,5,104,236,5,5,45,195,5,5,41,243,5,5,184,178,5,5,226,201,5,5,220,179,5,5,222,214,5,5,68,178,5,5,46,204,5,5,169,206,5,5,41,244,5,5,203,213,5,5,238,171,5,5,147,229,5,5,39,238,5,5,135,209,5,5,40,238,5,5,111,221,5,5,183,176,5,5,255,220,5,5,48,174,5,5,156,229,5,5,237,187,5,5,181,211,5,5,51,218,5,5,239,239,5,5,64,204,5,5,132,228,5,5,65,204,5,5,62,222,5,5,165,240,5,5,178,188,5,5,83,165,5,5,223,186,5,5,231,214,5,5,232,214,5,5,19,247,5,5,56,217,5,5,163,208,5,5,175,208,5,5,187,219,5,5,13,166,5,5,143,207,5,5,188,219,5,5,109,186,5,5,185,172,5,5,72,164,5,5,74,164,5,5,30,186,5,5,43,248,5,5,49,186,5,5,113,246,5,5,197,175,5,5,11,229,5,5,21,188,5,5,72,203,5,5,2,199,5,5,13,214,5,5,78,203,5,5,23,248,5,5,181,220,5,5,99,204,5,5,204,245,5,5,52,181,5,5,215,175,5,5,161,205,5,5,81,223,5,5,163,243,5,5,157,174,5,5,28,211,5,5,107,220,5,5,200,211,5,5,26,222,5,5,112,220,5,5,165,178,5,5,201,234,5,5,115,235,5,5,4,216,5,5,40,222,5,5,49,222,5,5,241,210,5,5,238,188,5,5,63,222,5,5,232,225,5,5,179,178,5,5,205,221,5,5,146,173,5,5,125,224,5,5,173,198,5,5,166,247,5,5,191,226,5,5,250,166,5,5,37,242,5,5,253,169,5,5,117,167,5,5,176,208,5,5,78,220,5,5,25,170,5,5,65,191,5,5,251,166,5,5,213,167,5,5,38,188,5,5,33,174,5,5,175,173,5,5,137,217,5,5,88,206,5,5,89,206,5,5,187,183,5,5,222,232,5,5,234,219,5,5,231,239,5,5,45,188,5,5,234,227,5,5,103,205,5,5,207,247,5,5,235,239,5,5,209,208,5,5,27,219,5,5,246,172,5,5,72,168,5,5,248,172,5,5,98,220,5,5,97,196,5,5,50,237,5,5,248,247,5,5,12,245,5,5,148,202,5,5,164,202,5,5,184,202,5,5,202,199,5,5,8,230,5,5,20,176,5,5,155,204,5,5,144,218,5,5,68,232,5,5,252,213,5,5,11,181,5,5,211,217,5,5,241,216,5,5,118,191,5,5,233,184,5,5,152,192,5,5,118,198,5,5,107,179,5,5,224,176,5,5,182,216,5,5,123,224,5,5,230,226,5,5,24,197,5,5,16,244,5,5,235,226,5,5,108,247,5,5,227,171,5,5,228,171,5,5,154,182,5,5,77,226,5,5,51,245,5,5,133,249,5,5,203,163,5,5,15,239,5,5,23,232,5,5,86,164,5,5,138,203,5,5,197,196,5,5,13,229,5,5,67,199,5,5,170,173,5,5,244,197,5,5,32,194,5,5,238,224,5,5,94,217,5,5,27,172,5,5,245,200,5,5,73,173,5,5,255,210,5,5,221,198,5,5,29,240,5,5,176,212,5,5,246,215,5,5,161,242,5,5,24,232,5,5,171,173,5,5,243,179,5,5,207,228,5,5,52,207,5,5,29,244,5,5,129,232,5,5,63,166,5,5,119,216,5,5,223,244,5,5,160,217,5,5,194,166,5,5,213,220,5,5,95,189,5,5,79,226,5,5,245,197,5,5,254,169,5,5,241,232,5,5,105,169,5,5,240,165,5,5,252,216,5,5,246,200,5,5,210,219,5,5,141,233,5,5,51,227,5,5,52,227,5,5,59,248,5,5,200,172,5,5,26,177,5,5,51,170,5,5,203,183,5,5,28,225,5,5,253,246,5,5,228,178,5,5,45,238,5,5,64,166,5,5,16,239,5,5,50,220,5,5,229,190,5,5,140,215,5,5,28,197,5,5,44,181,5,5,237,223,5,5,244,226,5,5,88,201,5,5,89,201,5,5,149,217,5,5,115,196,5,5,188,216,5,5,36,204,5,5,216,205,5,5,208,218,5,5,217,205,5,5,246,228,5,5,170,182,5,5,181,201,5,5,32,243,5,5,219,191,5,5,80,216,5,5,223,227,5,5,202,214,5,5,89,241,5,5,111,249,5,5,7,200,5,5,86,198,5,5,127,198,5,5,53,208,5,5,209,246,5,5,199,215,5,5,202,196,5,5,56,220,5,5,201,212,5,5,102,225,5,5,42,229,5,5,103,166,5,5,139,219,5,5,140,219,5,5,103,245,5,5,128,198,5,5,81,200,5,5,253,197,5,5,189,224,5,5,210,246,5,5,105,181,5,5,41,222,5,5,40,233,5,5,37,220,5,5,249,168,5,5,127,206,5,5,215,212,5,5,80,228,5,5,188,183,5,5,216,212,5,5,114,211,5,5,14,209,5,5,93,206,5,5,16,194,5,5,108,221,5,5,89,240,5,5,241,218,5,5,248,238,5,5,214,246,5,5,226,188,5,5,74,189,5,5,244,224,5,5,95,247,5,5,203,214,5,5,145,232,5,5,227,172,5,5,106,217,5,5,248,192,5,5,177,239,5,5,204,213,5,5,113,249,5,5,19,200,5,5,234,216,5,5,12,172,5,5,125,196,5,5,55,241,5,5,226,244,5,5,111,229,5,5,76,246,5,5,109,229,5,5,117,211,5,5,71,170,5,5,106,183,5,5,37,205,5,5,182,184,5,5,249,238,5,5,42,244,5,5,83,226,5,5,182,241,5,5,231,236,5,5,235,205,5,5,40,172,5,5,53,204,5,5,99,195,5,5,28,192,5,5,127,247,5,5,46,225,5,5,50,209,5,5,8,198,5,5,56,243,5,5,95,187,5,5,68,238,5,5,199,202,5,5,212,202,5,5,174,170,5,5,147,232,5,5,86,214,5,5,9,198,5,5,104,172,5,5,133,169,5,5,53,235,5,5,216,183,5,5,22,221,5,5,107,200,5,5,54,164,5,5,144,198,5,5,142,217,5,5,61,226,5,5,240,187,5,5,65,215,5,5,53,176,5,5,132,206,5,5,62,168,5,5,239,188,5,5,134,182,5,5,90,213,5,5,152,240,5,5,218,202,5,5,103,201,5,5,110,175,5,5,112,241,5,5,113,241,5,5,104,187,5,5,7,180,5,5,196,182,5,5,207,214,5,5,216,172,5,5,197,228,5,5,244,219,5,5,13,198,5,5,166,240,5,5,86,216,5,5,132,216,5,5,172,228,5,5,69,204,5,5,60,164,5,5,182,206,5,5,71,243,5,5,77,238,5,5,122,241,5,5,202,230,5,5,116,229,5,5,240,170,5,5,200,217,5,5,251,241,5,5,12,169,5,5,124,187,5,5,209,224,5,5,41,197,5,5,62,177,5,5,15,188,5,5,82,243,5,5,220,199,5,5,209,189,5,5,33,213,5,5,92,231,5,5,3,191,5,5,137,183,5,5,130,190,5,5,173,190,5,5,226,227,5,5,121,180,5,5,16,243,5,5,184,221,5,5,188,248,5,5,189,248,5,5,150,211,5,5,80,241,5,5,246,192,5,5,82,241,5,5,222,198,5,5,94,197,5,5,71,229,5,5,35,234,5,5,34,234,5,5,56,229,5,5,136,170,5,5,133,234,5,5,136,234,5,5,227,180,5,5,39,233,5,5,85,234,5,5,17,217,5,5,94,200,5,5,217,243,5,5,111,209,5,5,88,173,5,5,18,168,5,5,197,248,5,5,68,242,5,5,26,231,5,5,150,167,5,5,96,173,5,5,72,174,5,5,96,189,5,5,180,172,5,5,201,211,5,5,215,180,5,5,218,184,5,5,45,181,5,5,181,229,5,5,242,220,5,5,130,186,5,5,129,186,5,5,25,233,5,5,33,172,5,5,34,201,5,5,111,247,5,5,131,182,5,5,240,223,5,5,227,201,5,5,129,208,5,5,107,244,5,5,98,233,5,5,112,247,5,5,197,182,5,5,138,186,5,5,223,185,5,5,243,170,5,5,4,191,5,5,80,172,5,5,132,176,5,5,116,246,5,5,94,169,5,5,122,164,5,5,81,219,5,5,126,229,5,5,127,229,5,5,82,172,5,5,130,221,5,5,88,230,5,5,0,133,5,5,245,168,5,5,76,178,5,5,77,178,5,5,129,175,5,5,28,187,5,5,252,193,5,5,203,201,5,5,122,204,5,5,224,164,5,5,8,215,5,5,87,225,5,5,208,233,5,5,119,227,5,5,227,230,5,5,219,231,5,5,53,212,5,5,60,210,5,5,162,247,5,5,105,192,5,5,248,244,5,5,126,223,5,5,42,228,5,5,213,217,5,5,8,173,5,5,89,245,5,5,168,231,5,5,249,186,5,5,163,216,5,5,9,234,5,5,23,235,5,5,120,230,5,5,139,165,5,5,2,182,5,5,225,176,5,5,44,221,5,5,187,170,5,5,82,223,5,5,18,240,5,5,236,191,5,5,192,194,5,5,32,178,5,5,167,186,5,5,2,209,5,5,129,229,5,5,181,192,5,5,20,181,5,5,73,206,5,5,130,228,5,5,251,246,5,5,34,185,5,5,186,204,5,5,188,170,5,5,17,244,5,5,43,169,5,5,155,171,5,5,165,235,5,5,33,249,5,5,174,198,5,5,195,172,5,5,182,163,5,5,139,203,5,5,227,178,5,5,24,192,5,5,213,241,5,5,43,215,5,5,187,225,5,5,78,226,5,5,158,166,5,5,65,229,5,5,135,199,5,5,247,215,5,5,55,224,5,5,213,221,5,5,56,224,5,5,89,237,5,5,87,164,5,5,90,237,5,5,48,202,5,5,191,245,5,5,211,205,5,5,80,192,5,5,209,201,5,5,21,170,5,5,238,167,5,5,4,165,5,5,91,247,5,5,19,239,5,5,150,173,5,5,97,173,5,5,30,240,5,5,73,174,5,5,96,183,5,5,177,212,5,5,68,199,5,5,226,240,5,5,191,175,5,5,13,216,5,5,211,220,5,5,143,241,5,5,218,188,5,5,8,231,5,5,182,237,5,5,194,169,5,5,227,219,5,5,176,193,5,5,62,218,5,5,41,235,5,5,179,249,5,5,53,233,5,5,192,175,5,5,66,229,5,5,69,232,5,5,119,178,5,5,39,187,5,5,81,190,5,5,14,205,5,5,90,225,5,5,130,237,5,5,29,211,5,5,194,173,5,5,97,183,5,5,123,214,5,5,45,215,5,5,6,196,5,5,175,168,5,5,111,179,5,5,75,213,5,5,160,218,5,5,198,193,5,5,126,214,5,5,88,203,5,5,9,203,5,5,70,192,5,5,251,163,5,5,106,169,5,5,46,240,5,5,87,241,5,5,90,241,5,5,53,227,5,5,230,183,5,5,231,164,5,5,101,178,5,5,149,239,5,5,97,189,5,5,65,166,5,5,185,183,5,5,228,184,5,5,95,197,5,5,106,164,5,5,12,173,5,5,204,222,5,5,89,175,5,5,170,233,5,5,62,244,5,5,26,174,5,5,158,163,5,5,101,170,5,5,115,192,5,5,117,208,5,5,77,230,5,5,34,230,5,5,60,170,5,5,246,227,5,5,92,237,5,5,173,219,5,5,188,213,5,5,105,242,5,5,145,228,5,5,34,194,5,5,64,182,5,5,109,219,5,5,100,183,5,5,112,184,5,5,3,250,5,5,209,176,5,5,198,218,5,5,64,219,5,5,144,223,5,5,27,176,5,5,6,193,5,5,130,166,5,5,161,204,5,5,98,238,5,5,82,174,5,5,16,205,5,5,0,139,5,5,102,178,5,5,253,194,5,5,23,183,5,5,220,221,5,5,8,165,5,5,84,188,5,5,210,223,5,5,47,228,5,5,172,235,5,5,208,225,5,5,230,166,5,5,43,227,5,5,199,193,5,5,65,219,5,5,216,241,5,5,54,225,5,5,162,204,5,5,54,227,5,5,68,218,5,5,85,188,5,5,196,169,5,5,170,187,5,5,50,231,5,5,110,219,5,5,95,232,5,5,140,165,5,5,135,220,5,5,199,218,5,5,230,190,5,5,11,179,5,5,190,189,5,5,16,229,5,5,47,187,5,5,19,186,5,5,254,249,5,5,135,229,5,5,222,217,5,5,224,229,5,5,38,209,5,5,167,220,5,5,120,208,5,5,57,187,5,5,156,239,5,5,70,216,5,5,243,220,5,5,58,187,5,5,224,235,5,5,106,193,5,5,162,195,5,5,118,164,5,5,98,230,5,5,217,214,5,5,159,163,5,5,99,230,5,5,88,166,5,5,112,231,5,5,20,224,5,5,60,240,5,5,215,233,5,5,230,216,5,5,136,221,5,5,87,205,5,5,36,233,5,5,33,239,5,5,57,239,5,5,76,242,5,5,128,172,5,5,223,194,5,5,122,195,5,5,199,185,5,5,79,220,5,5,189,187,5,5,120,243,5,5,82,244,5,5,106,197,5,5,169,192,5,5,61,240,5,5,58,227,5,5,168,191,5,5,33,232,5,5,161,190,5,5,94,174,5,5,147,203,5,5,201,198,5,5,37,194,5,5,178,179,5,5,163,194,5,5,13,246,5,5,3,197,5,5,185,230,5,5,241,238,5,5,201,238,5,5,245,207,5,5,157,239,5,5,10,222,5,5,10,196,5,5,209,218,5,5,135,212,5,5,171,182,5,5,115,236,5,5,114,236,5,5,172,200,5,5,239,206,5,5,165,204,5,5,83,217,5,5,106,178,5,5,90,222,5,5,180,247,5,5,131,232,192,0,0,0,5,5,95,244,5,5,235,203,5,5,114,188,5,5,136,220,5,5,229,240,5,5,19,230,5,5,168,220,5,5,98,176,5,5,121,208,5,5,159,209,5,5,138,199,5,5,38,194,5,5,37,206,5,5,173,222,5,5,223,217,5,5,203,236,5,5,130,227,5,5,174,220,5,5,185,163,5,5,133,181,5,5,56,196,5,5,158,206,5,5,207,166,5,5,132,164,5,5,102,174,5,5,250,230,5,5,211,182,5,5,144,207,5,5,202,212,5,5,110,186,5,5,87,188,5,5,205,173,5,5,125,208,5,5,54,247,5,5,24,208,5,5,138,192,5,5,150,236,5,5,43,189,5,5,15,210,5,5,170,181,5,5,78,242,5,5,201,169,5,5,145,164,5,5,42,191,5,5,140,167,5,5,175,222,5,5,235,176,5,5,98,217,5,5,206,181,5,5,82,232,5,5,99,238,5,5,86,193,5,5,23,165,5,5,171,176,5,5,87,198,5,5,180,231,5,5,80,218,5,5,134,230,5,5,218,163,5,5,238,192,5,5,24,205,5,5,219,200,5,5,211,246,5,5,156,184,5,5,19,203,5,5,25,181,5,5,185,202,5,5,137,214,5,5,67,191,5,5,6,201,5,5,230,227,5,5,109,234,5,5,103,173,5,5,97,237,5,5,22,171,5,5,24,245,5,5,173,186,5,5,174,186,5,5,203,175,5,5,3,211,5,5,208,244,5,5,204,236,5,5,210,206,5,5,153,180,5,5,67,214,5,5,229,196,5,5,38,222,5,5,75,229,5,5,70,224,5,5,57,173,5,5,66,246,5,5,159,206,5,5,175,186,5,5,11,166,5,5,240,213,5,5,150,172,5,5,181,179,5,5,222,218,5,5,45,185,5,5,120,188,5,5,25,205,5,5,11,222,5,5,110,189,5,5,182,186,5,5,44,209,5,5,94,166,5,5,206,190,5,5,46,235,5,5,175,210,5,5,179,171,5,5,195,208,5,5,196,208,5,5,27,234,5,5,147,194,5,5,80,224,5,5,61,175,5,5,186,172,5,5,213,166,5,5,162,164,5,5,163,164,5,5,252,200,5,5,95,233,5,5,113,225,5,5,71,232,5,5,75,202,5,5,81,187,5,5,158,167,5,5,88,248,5,5,89,248,5,5,88,193,5,5,58,208,5,5,20,179,5,5,73,180,5,5,196,192,5,5,96,247,5,5,245,176,5,5,202,234,5,5,16,173,5,5,61,225,5,5,140,220,5,5,15,209,5,5,7,249,5,5,232,242,5,5,90,248,5,5,48,212,5,5,90,240,5,5,110,236,5,5,103,230,5,5,32,226,5,5,152,186,5,5,130,208,5,5,13,222,5,5,115,174,5,5,9,195,5,5,50,185,5,5,101,232,5,5,102,232,5,5,235,219,5,5,71,194,5,5,84,173,5,5,104,173,5,5,160,228,5,5,115,211,5,5,163,183,5,5,215,246,5,5,181,193,5,5,20,190,5,5,219,197,5,5,109,203,5,5,232,239,5,5,24,224,5,5,24,207,5,5,245,206,5,5,114,225,5,5,245,232,5,5,45,189,5,5,35,211,5,5,114,218,5,5,33,226,5,5,233,240,5,5,213,206,5,5,188,163,5,5,248,203,5,5,42,222,5,5,125,231,5,5,14,166,5,5,159,167,5,5,219,177,5,5,190,225,5,5,50,225,5,5,180,170,5,5,159,199,5,5,29,205,5,5,226,193,5,5,128,213,5,5,244,177,5,5,176,210,5,5,179,175,5,5,39,194,5,5,186,177,5,5,92,190,5,5,82,218,5,5,113,212,5,5,55,172,5,5,253,174,5,5,252,192,5,5,192,167,5,5,114,220,5,5,216,240,5,5,57,182,5,5,111,236,5,5,85,178,5,5,56,241,5,5,223,174,5,5,77,246,5,5,239,245,5,5,168,178,5,5,79,203,5,5,99,233,5,5,218,204,5,5,178,239,5,5,217,228,5,5,52,213,5,5,49,243,5,5,238,242,5,5,59,226,5,5,219,204,5,5,84,226,5,5,27,248,5,5,123,197,5,5,71,219,5,5,202,245,5,5,110,168,5,5,210,164,5,5,148,241,5,5,203,199,5,5,202,216,5,5,240,230,5,5,43,244,5,5,243,184,5,5,183,242,5,5,127,164,5,5,20,200,5,5,126,196,5,5,225,203,5,5,127,196,5,5,119,235,5,5,210,173,5,5,246,213,5,5,58,182,5,5,223,218,5,5,104,205,5,5,96,172,5,5,72,170,5,5,192,225,5,5,76,199,5,5,12,199,5,5,197,188,5,5,153,186,5,5,152,181,5,5,107,183,5,5,209,247,5,5,54,242,5,5,213,169,5,5,116,237,5,5,171,217,5,5,172,217,5,5,70,244,5,5,182,220,5,5,111,168,5,5,99,241,5,5,82,202,5,5,166,203,5,5,100,241,5,5,191,225,5,5,214,178,5,5,198,247,5,5,119,232,5,5,240,245,5,5,214,169,5,5,229,180,5,5,83,202,5,5,167,203,5,5,95,195,5,5,225,209,5,5,170,244,5,5,53,230,5,5,51,201,5,5,233,185,5,5,24,185,5,5,114,212,5,5,117,216,5,5,152,168,5,5,113,227,5,5,243,191,5,5,250,179,5,5,68,186,5,5,3,247,5,5,210,247,5,5,226,224,5,5,49,191,5,5,25,207,5,5,226,228,5,5,238,225,5,5,57,168,5,5,82,214,5,5,82,203,5,5,122,240,5,5,121,220,5,5,130,174,5,5,169,184,5,5,108,171,5,5,118,186,5,5,71,231,5,5,60,193,5,5,114,205,5,5,26,207,5,5,39,179,5,5,226,241,5,5,188,220,5,5,154,164,5,5,140,227,5,5,60,249,5,5,187,231,5,5,41,172,5,5,172,236,5,5,92,203,5,5,183,241,5,5,177,203,5,5,101,201,5,5,163,192,5,5,187,172,5,5,118,219,5,5,133,210,5,5,52,169,5,5,83,237,5,5,61,249,5,5,83,214,5,5,72,231,5,5,254,226,5,5,88,218,5,5,219,234,5,5,149,249,5,5,156,181,5,5,49,188,5,5,73,231,5,5,80,180,5,5,29,212,5,5,190,219,5,5,125,235,5,5,52,229,5,5,65,179,5,5,19,195,5,5,235,212,5,5,61,193,5,5,138,208,5,5,29,192,5,5,30,192,5,5,74,237,5,5,64,167,5,5,160,179,5,5,182,191,5,5,236,217,5,5,131,177,5,5,87,183,5,5,87,202,5,5,187,229,5,5,95,192,5,5,39,226,5,5,42,211,5,5,153,223,5,5,156,210,5,5,234,199,5,5,219,169,5,5,24,217,5,5,209,192,5,5,10,192,5,5,50,222,5,5,39,182,5,5,210,209,5,5,85,244,5,5,132,177,5,5,83,203,5,5,180,195,5,5,45,233,5,5,180,175,5,5,45,191,5,5,18,166,5,5,149,221,5,5,125,236,5,5,60,213,5,5,245,201,5,5,141,188,5,5,108,200,5,5,223,249,5,5,185,210,5,5,187,193,5,5,250,191,5,5,251,191,5,5,116,182,5,5,149,199,5,5,142,208,5,5,112,236,5,5,221,234,5,5,165,167,5,5,88,242,5,5,19,199,5,5,42,206,5,5,84,199,5,5,237,200,5,5,50,194,5,5,248,183,5,5,131,240,5,5,13,192,5,5,219,195,5,5,236,193,5,5,237,193,5,5,39,234,5,5,146,170,5,5,200,205,5,5,158,176,5,5,181,222,5,5,26,185,5,5,134,186,5,5,202,224,5,5,54,235,5,5,202,186,5,5,253,214,5,5,119,211,5,5,255,229,5,5,21,173,5,5,215,182,5,5,111,194,5,5,2,232,5,5,178,236,5,5,124,185,5,5,237,189,5,5,52,189,5,5,113,171,5,5,239,185,5,5,245,223,5,5,179,236,5,5,22,195,5,5,151,225,5,5,87,180,5,5,155,165,5,5,44,190,5,5,138,204,5,5,177,219,5,5,75,219,5,5,90,229,5,5,23,221,5,5,113,170,5,5,74,169,5,5,36,184,5,5,87,244,5,5,33,181,5,5,166,167,5,5,246,221,5,5,141,227,5,5,5,213,5,5,83,212,5,5,205,198,5,5,231,204,5,5,55,235,5,5,251,202,5,5,105,243,5,5,62,211,5,5,89,217,5,5,117,244,5,5,80,239,5,5,244,217,5,5,131,218,5,5,172,209,5,5,28,233,5,5,91,235,5,5,253,168,5,5,159,229,5,5,151,199,5,5,171,196,5,5,199,220,5,5,71,233,5,5,228,248,5,5,108,228,5,5,6,213,5,5,88,226,5,5,178,177,5,5,136,172,5,5,146,192,5,5,76,169,5,5,74,245,5,5,146,209,5,5,22,230,5,5,29,189,5,5,61,188,5,5,173,209,5,5,225,215,5,5,45,231,5,5,22,173,5,5,125,220,5,5,45,182,5,5,205,185,5,5,154,249,5,5,231,229,5,5,192,178,5,5,74,225,5,5,93,180,5,5,233,170,5,5,5,207,5,5,131,225,5,5,189,236,5,5,179,207,5,5,180,207,5,5,179,177,5,5,116,200,5,5,254,201,5,5,159,184,5,5,110,216,5,5,60,182,5,5,134,184,5,5,255,230,5,5,152,221,5,5,198,182,5,5,199,232,5,5,112,173,5,5,156,212,5,5,81,230,5,5,206,198,5,5,139,210,5,5,25,193,5,5,96,188,5,5,215,185,5,5,14,192,5,5,175,225,5,5,165,213,5,5,57,229,5,5,206,231,5,5,109,236,5,5,101,202,5,5,187,175,5,5,188,206,5,5,242,189,5,5,156,205,5,5,239,225,5,5,70,249,5,5,77,179,5,5,94,229,5,5,24,206,5,5,11,180,5,5,17,189,5,5,198,184,5,5,224,243,5,5,62,213,5,5,40,237,5,5,67,228,5,5,51,233,5,5,145,217,5,5,78,225,5,5,164,192,5,5,6,207,5,5,52,233,5,5,167,240,5,5,250,210,5,5,255,168,5,5,195,242,5,5,94,185,5,5,220,173,5,5,61,200,5,5,114,176,5,5,222,202,5,5,41,237,5,5,144,163,5,5,206,168,5,5,132,225,5,5,196,225,5,5,255,221,5,5,53,194,5,5,107,202,5,5,202,203,5,5,85,203,5,5,123,211,5,5,195,219,5,5,52,205,5,5,68,211,5,5,170,175,5,5,242,239,5,5,187,165,5,5,106,237,5,5,176,227,5,5,18,189,5,5,171,187,5,5,156,223,5,5,244,170,5,5,196,243,5,5,197,179,5,5,129,179,5,5,185,171,5,5,228,208,5,5,118,182,5,5,29,166,5,5,213,199,5,5,227,202,5,5,100,210,5,5,196,183,5,5,127,184,5,5,119,239,5,5,36,192,5,5,182,195,5,5,251,243,5,5,90,183,5,5,134,211,5,5,252,242,5,5,229,208,5,5,120,171,5,5,247,219,5,5,56,194,5,5,91,226,5,5,14,202,5,5,138,196,5,5,185,166,5,5,144,176,5,5,178,225,5,5,211,191,5,5,186,171,5,5,23,242,5,5,42,219,5,5,97,201,5,5,102,210,5,5,134,185,5,5,98,185,5,5,217,235,5,5,248,189,5,5,125,187,5,5,12,235,5,5,104,191,5,5,140,171,5,5,136,200,5,5,178,238,5,5,205,189,5,5,33,219,5,5,18,192,5,5,4,178,5,5,78,249,5,5,126,187,5,5,222,172,5,5,66,222,5,5,73,236,5,5,161,188,5,5,74,206,5,5,180,225,5,5,148,211,5,5,161,221,5,5,210,189,5,5,202,242,5,5,133,187,5,5,160,221,5,5,233,224,5,5,192,203,5,5,10,238,5,5,135,236,5,5,243,199,5,5,11,184,5,5,164,248,5,5,6,191,5,5,80,185,5,5,117,204,5,5,169,215,5,5,249,193,5,5,35,207,5,5,179,214,5,5,157,189,5,5,142,244,5,5,3,205,5,5,229,243,5,5,66,242,5,5,202,244,5,5,61,216,5,5,206,184,5,5,136,163,5,5,112,224,5,5,50,186,5,5,36,207,5,5,243,229,5,5,213,227,5,5,45,246,5,5,95,235,5,5,94,212,5,5,226,211,5,5,132,234,5,5,187,204,5,5,169,248,5,5,111,190,5,5,159,187,5,5,14,235,5,5,174,190,5,5,90,176,5,5,207,207,5,5,108,243,5,5,86,186,5,5,60,186,5,5,185,221,5,5,112,185,5,5,21,187,5,5,32,163,5,5,134,183,5,5,175,248,5,5,162,189,5,5,185,194,5,5,164,210,5,5,209,233,5,5,153,200,5,5,248,215,5,5,163,247,5,5,31,240,5,5,64,210,5,5,165,238,5,5,185,216,5,5,227,223,5,5,209,225,5,5,39,209,5,5,109,195,5,5,62,240,5,5,139,207,5,5,121,213,5,5,2,217,5,5,78,197,5,5,76,248,5,5,154,196,5,5,105,186,5,5,189,196,5,5,183,229,5,5,203,212,5,5,27,238,5,5,104,239,5,5,131,208,5,5,242,225,5,5,71,223,5,5,207,210,5,5,190,196,5,5,177,195,5,5,191,196,5,5,179,195,5,5,67,226,5,5,160,227,5,5,111,193,5,5,139,243,5,5,5,216,5,5,247,213,5,5,211,247,5,5,182,210,5,5,154,214,5,5,105,241,5,5,151,191,5,5,5,245,5,5,47,180,5,5,239,205,5,5,171,238,5,5,242,198,5,5,231,180,5,5,155,200,5,5,213,216,5,5,98,167,5,5,91,213,5,5,228,214,5,5,243,225,5,5,204,227,5,5,109,228,5,5,71,198,5,5,233,225,5,5,168,240,5,5,7,238,5,5,242,247,5,5,15,226,5,5,163,200,5,5,141,218,5,5,112,221,5,5,201,233,5,5,122,166,5,5,53,245,5,5,164,208,5,5,127,166,5,5,128,166,5,5,214,245,5,5,53,207,5,5,121,210,5,5,39,223,5,5,228,235,5,5,72,223,5,5,233,235,5,5,232,222,5,5,28,237,5,5,29,237,5,5,96,187,5,5,207,234,5,5,223,247,5,5,105,187,5,5,244,193,5,5,73,175,5,5,190,237,5,5,154,235,5,5,193,204,5,5,128,219,5,5,99,169,5,5,100,169,5,5,144,241,5,5,101,169,5,5,150,234,5,5,5,244,5,5,98,181,5,5,17,229,5,5,90,175,5,5,229,228,5,5,3,217,5,5,7,218,5,5,72,229,5,5,73,234,5,5,145,207,5,5,84,168,5,5,84,209,5,5,16,210,5,5,151,236,5,5,113,211,5,5,165,249,5,5,189,188,5,5,91,240,5,5,235,172,5,5,115,218,5,5,97,241,5,5,76,234,5,5,253,200,5,5,240,175,5,5,84,202,5,5,48,177,5,5,189,220,5,5,171,249,5,5,6,247,5,5,65,224,5,5,37,166,5,5,232,180,5,5,240,205,5,5,237,228,5,5,191,243,5,5,85,177,5,5,177,204,5,5,117,200,5,5,17,235,5,5,153,240,5,5,250,175,5,5,44,178,5,5,25,206,5,5,205,188,5,5,42,166,5,5,5,178,5,5,158,205,5,5,4,205,5,5,59,229,5,5,166,238,5,5,164,178,5,5,221,221,5,5,121,243,5,5,138,211,5,5,73,240,5,5,131,227,5,5,196,209,5,5,35,195,5,5,196,214,5,5,15,218,5,5,173,177,5,5,57,200,5,5,58,200,5,5,54,193,5,5,136,209,5,5,241,201,5,5,132,240,5,5,172,238,5,5,60,200,5,5,176,178,5,5,120,239,5,5,187,214,5,5,13,245,5,5,95,194,5,5,61,172,5,5,234,169,5,5,235,169,5,5,44,238,5,5,197,203,5,5,239,177,5,5,101,248,5,5,221,164,5,5,246,164,5,5,9,165,5,5,243,167,5,5,244,167,5,5,13,165,5,5,99,224,5,5,19,170,5,5,216,197,5,5,15,234,5,5,239,167,5,5,217,187,5,5,10,203,5,5,77,220,5,5,253,235,5,5,89,172,5,5,65,182,5,5,224,217,5,5,58,239,5,5,55,231,5,5,143,215,5,5,240,206,5,5,58,172,5,5,218,197,5,5,17,210,5,5,204,175,5,5,132,227,5,5,27,180,5,5,237,166,5,5,246,206,5,5,58,178,5,5,242,234,5,5,209,164,5,5,82,236,5,5,107,236,5,5,73,170,5,5,3,236,5,5,85,229,5,5,150,247,5,5,69,182,5,5,124,197,5,5,105,205,5,5,66,179,5,5,84,236,5,5,51,191,5,5,60,172,5,5,36,170,5,5,199,182,5,5,101,231,5,5,35,225,5,5,254,168,5,5,84,190,5,5,92,220,5,5,36,236,5,5,93,220,5,5,245,170,5,5,249,189,5,5,227,211,5,5,66,177,5,5,23,227,5,5,147,176,5,5,222,171,5,5,120,207,5,5,190,170,5,5,21,209,5,5,58,168,5,5,13,183,5,5,24,209,5,5,130,175,5,5,42,215,5,5,47,226,5,5,74,173,5,5,24,244,5,5,43,183,5,5,48,166,5,5,83,174,5,5,146,228,5,5,229,178,5,5,91,211,5,5,40,209,5,5,122,243,5,5,192,212,5,5,198,197,5,5,64,244,5,5,202,238,5,5,33,241,5,5,62,195,5,5,98,211,5,5,39,241,5,5,240,178,5,5,37,176,5,5,93,191,5,5,116,211,5,5,71,244,5,5,117,249,5,5,118,249,5,5,208,229,5,5,218,229,5,5,103,221,5,5,53,166,5,5,247,249,5,5,92,176,5,5,219,229,5,5,17,185,5,5,200,183,5,5,152,182,5,5,45,173,5,5,251,193,5,5,126,181,5,5,57,218,5,5,251,209,5,5,5,166,5,5,22,232,5,5,191,171,5,5,4,235,5,5,65,200,5,5,74,177,5,5,114,198,5,5,163,223,5,5,21,222,5,5,70,226,5,5,186,246,5,5,48,173,5,5,48,175,5,5,168,212,5,5,254,181,5,5,184,170,5,5,249,209,5,5,25,209,5,5,86,228,5,5,154,168,5,5,116,198,5,5,56,210,5,5,243,244,5,5,244,244,5,5,255,217,5,5,159,235,5,5,211,230,5,5,218,194,5,5,7,206,5,5,31,223,5,5,245,244,5,5,247,181,5,5,185,204,5,5,49,180,5,5,60,218,5,5,149,218,5,5,61,210,5,5,87,171,5,5,33,193,5,5,77,247,5,5,120,206,5,5,122,206,5,5,7,231,5,5,18,208,5,5,133,201,5,5,135,179,5,5,101,212,5,5,49,202,5,5,232,165,5,5,233,165,5,5,153,192,5,5,61,247,5,5,195,222,5,5,148,173,5,5,35,218,5,5,123,207,5,5,41,199,5,5,47,184,5,5,27,209,5,5,95,173,5,5,244,216,5,5,248,216,5,5,15,211,5,5,133,239,5,5,188,245,5,5,131,249,5,5,31,249,5,5,190,198,5,5,213,242,5,5,181,224,5,5,182,224,5,5,23,176,5,5,29,242,5,5,206,178,5,5,61,199,5,5,185,199,5,5,114,208,5,5,84,172,5,5,216,184,5,5,192,169,5,5,21,175,5,5,193,171,5,5,88,171,5,5,150,226,5,5,107,167,5,5,228,164,5,5,120,227,5,5,150,218,5,5,246,166,5,5,79,167,5,5,88,222,5,5,209,231,5,5,55,192,5,5,32,188,5,5,193,169,5,5,236,231,5,5,191,173,5,5,164,238,5,5,34,187,5,5,194,190,5,5,113,234,5,5,192,173,5,5,6,246,5,5,62,199,5,5,102,169,5,5,252,169,5,5,130,229,5,5,19,207,5,5,130,232,5,5,7,182,5,5,23,182,5,5,24,182,5,5,91,197,5,5,40,187,5,5,71,171,5,5,139,239,5,5,113,172,5,5,196,172,5,5,33,242,5,5,73,181,5,5,191,218,5,5,221,219,5,5,4,193,5,5,76,220,5,5,162,242,5,5,109,235,5,5,26,197,5,5,94,208,5,5,196,206,5,5,52,214,5,5,253,209,5,5,33,240,5,5,7,203,5,5,200,222,5,5,57,212,5,5,171,166,5,5,68,200,5,5,90,171,5,5,116,164,5,5,238,231,5,5,166,221,5,5,21,185,5,5,12,242,5,5,5,193,5,5,138,201,5,5,112,192,5,5,139,172,5,5,50,170,5,5,166,235,5,5,223,198,5,5,172,168,5,5,203,233,5,5,50,173,5,5,63,218,5,5,143,236,5,5,138,184,5,5,52,225,5,5,93,189,5,5,27,167,5,5,39,163,5,5,31,209,5,5,167,235,5,5,150,183,5,5,236,206,5,5,208,235,5,5,214,221,5,5,14,229,5,5,142,185,5,5,158,217,5,5,126,207,5,5,74,174,5,5,81,167,5,5,254,171,5,5,139,179,5,5,4,244,5,5,128,202,5,5,250,249,5,5,98,194,5,5,195,164,5,5,61,217,5,5,228,190,5,5,186,189,5,5,24,176,5,5,132,190,5,5,53,214,5,5,172,166,5,5,239,231,5,5,79,206,5,5,166,243,5,5,58,167,5,5,144,203,5,5,47,240,5,5,5,200,5,5,44,200,5,5,46,232,5,5,96,225,5,5,117,243,5,5,11,246,5,5,50,198,5,5,82,205,5,5,30,244,5,5,183,187,5,5,175,235,5,5,165,202,5,5,31,239,5,5,145,216,5,5,84,174,5,5,201,235,5,5,223,235,5,5,161,218,5,5,234,243,5,5,21,245,5,5,76,213,5,5,121,195,5,5,134,221,5,5,54,206,5,5,134,190,5,5,137,190,5,5,240,238,5,5,12,179,5,5,216,180,5,5,88,170,5,5,143,185,5,5,96,239,5,5,74,171,5,5,58,212,5,5,166,205,5,5,195,166,5,5,58,246,5,5,189,214,5,5,56,214,5,5,141,201,5,5,253,216,5,5,145,236,5,5,255,196,5,5,176,179,5,5,103,209,5,5,50,207,5,5,54,239,5,5,4,220,5,5,218,230,5,5,176,168,5,5,219,217,5,5,38,218,5,5,200,218,5,5,162,194,5,5,169,200,5,5,29,172,5,5,175,199,5,5,138,245,5,5,83,209,5,5,221,166,5,5,251,244,5,5,164,211,5,5,34,188,5,5,48,240,5,5,11,203,5,5,147,206,5,5,151,210,5,5,10,206,5,5,242,203,5,5,160,220,5,5,192,226,5,5,27,222,5,5,236,233,5,5,124,172,5,5,71,200,5,5,166,202,5,5,35,188,5,5,126,224,5,5,5,201,5,5,43,199,5,5,190,184,5,5,220,217,5,5,215,205,5,5,190,187,5,5,12,210,5,5,61,246,5,5,174,219,5,5,47,208,5,5,84,198,5,5,144,164,5,5,198,170,5,5,30,222,5,5,40,242,5,5,193,212,5,5,79,163,5,5,199,175,5,5,215,200,5,5,148,201,5,5,63,240,5,5,247,168,5,5,206,244,5,5,64,186,5,5,251,197,5,5,141,186,5,5,106,198,5,5,2,187,5,5,215,192,5,5,95,174,5,5,22,245,5,5,188,188,5,5,97,226,5,5,238,173,5,5,64,240,5,5,66,248,5,5,172,182,5,5,174,185,5,5,188,197,5,5,218,205,5,5,17,203,5,5,152,226,5,5,99,208,5,5,239,169,5,5,251,236,5,5,56,225,5,5,252,166,5,5,197,215,5,5,209,228,5,5,204,181,5,5,241,196,5,5,160,168,5,5,231,183,5,5,124,198,5,5,84,206,5,5,132,214,5,5,191,227,5,5,72,184,5,5,186,181,5,5,4,250,5,5,218,214,5,5,95,215,5,5,169,181,5,5,159,237,5,5,146,236,5,5,129,182,5,5,217,207,5,5,107,234,5,5,219,180,5,5,59,187,5,5,210,229,5,5,176,235,5,5,145,185,5,5,211,229,5,5,150,179,5,5,241,177,5,5,207,185,5,5,40,185,5,5,119,188,5,5,14,246,5,5,170,245,5,5,138,249,5,5,216,200,5,5,170,176,5,5,212,198,5,5,41,231,5,5,88,205,5,5,36,221,5,5,225,235,5,5,103,174,5,5,102,194,5,5,171,216,5,5,25,228,5,5,225,229,5,5,252,240,5,5,255,225,5,5,48,221,5,5,94,241,5,5,57,197,5,5,195,245,5,5,88,198,5,5,11,182,5,5,237,178,5,5,111,197,5,5,172,245,5,5,211,206,5,5,192,227,5,5,44,189,5,5,250,200,5,5,60,179,5,5,12,222,5,5,170,177,5,5,106,209,5,5,59,175,5,5,249,207,5,5,118,231,5,5,204,212,5,5,193,214,5,5,187,208,5,5,46,193,5,5,178,193,5,5,131,242,5,5,225,188,5,5,114,180,5,5,12,220,5,5,188,167,5,5,255,197,5,5,241,224,5,5,76,229,5,5,126,208,5,5,155,173,5,5,111,218,5,5,13,190,5,5,80,183,5,5,243,206,5,5,182,179,5,5,82,235,5,5,146,185,5,5,175,219,5,5,186,168,5,5,175,172,5,5,98,237,5,5,104,181,5,5,37,168,5,5,33,176,5,5,77,248,5,5,158,183,5,5,148,247,5,5,14,190,5,5,158,192,5,5,97,171,5,5,160,206,5,5,111,189,5,5,204,190,5,5,179,243,5,5,241,234,5,5,204,211,5,5,233,199,5,5,78,248,5,5,74,184,5,5,156,228,5,5,144,165,5,5,100,226,5,5,232,198,5,5,255,248,5,5,46,185,5,5,23,201,5,5,99,211,5,5,132,242,5,5,152,210,5,5,64,181,5,5,158,171,5,5,169,218,5,5,211,243,5,5,98,171,5,5,133,164,5,5,2,249,5,5,63,247,5,5,237,230,5,5,157,172,5,5,100,211,5,5,3,249,5,5,43,195,5,5,186,202,5,5,193,227,5,5,4,249,5,5,251,235,5,5,15,190,5,5,197,231,5,5,243,177,5,5,66,209,5,5,95,205,5,5,202,171,5,5,38,168,5,5,164,213,5,5,187,247,5,5,5,249,5,5,191,228,5,5,211,228,5,5,37,230,5,5,226,200,5,5,194,221,5,5,30,205,5,5,180,184,5,5,199,247,5,5,26,210,5,5,151,181,5,5,207,211,5,5,39,178,5,5,17,173,5,5,70,219,5,5,93,163,5,5,199,245,5,5,174,245,5,5,246,176,5,5,233,245,5,5,254,246,5,5,188,230,5,5,74,214,5,5,245,233,5,5,129,246,5,5,118,197,5,5,206,192,5,5,233,242,5,5,157,201,5,5,169,217,5,5,78,171,5,5,46,195,5,5,31,170,5,5,104,244,5,5,234,242,5,5,49,242,5,5,117,201,5,5,159,171,5,5,39,229,5,5,242,169,5,5,35,232,5,5,9,201,5,5,27,183,5,5,17,194,5,5,98,223,5,5,228,237,5,5,223,166,5,5,208,169,5,5,194,188,5,5,45,209,5,5,46,209,5,5,209,169,5,5,82,181,5,5,57,234,5,5,24,246,5,5,68,234,5,5,102,182,5,5,205,171,5,5,85,200,5,5,120,169,5,5,197,216,5,5,76,202,5,5,101,167,5,5,211,204,5,5,31,205,5,5,8,199,5,5,2,174,5,5,46,216,5,5,92,240,5,5,239,243,5,5,141,220,5,5,248,226,5,5,110,203,5,5,62,225,5,5,47,201,5,5,42,180,5,5,200,247,5,5,33,165,5,5,8,172,5,5,198,226,5,5,189,181,5,5,25,229,5,5,10,250,5,5,247,206,5,5,21,179,5,5,125,182,5,5,43,204,5,5,47,204,5,5,27,210,5,5,137,242,5,5,52,180,5,5,239,190,5,5,200,199,5,5,46,249,5,5,113,183,5,5,108,164,5,5,83,242,5,5,70,212,5,5,177,222,5,5,75,189,5,5,81,224,5,5,179,242,5,5,103,226,5,5,240,183,5,5,126,231,5,5,177,246,5,5,199,226,5,5,127,170,5,5,164,244,5,5,7,185,5,5,157,196,5,5,13,174,5,5,99,205,5,5,18,217,5,5,231,185,5,5,25,246,5,5,240,191,5,5,241,213,5,5,165,244,5,5,174,166,5,5,228,205,5,5,50,243,5,5,78,180,5,5,56,249,5,5,230,236,5,5,57,249,5,5,127,188,5,5,225,241,5,5,23,171,5,5,164,222,5,5,120,225,5,5,66,195,5,5,144,179,5,5,45,179,5,5,146,245,5,5,28,188,5,5,60,192,5,5,21,236,5,5,37,172,5,5,117,219,5,5,250,226,5,5,106,240,5,5,222,190,5,5,35,169,5,5,250,168,5,5,241,245,5,5,91,187,5,5,13,234,5,5,114,245,5,5,230,212,5,5,4,247,5,5,38,211,5,5,250,231,5,5,201,226,5,5,165,236,5,5,37,238,5,5,236,210,5,5,47,236,5,5,145,249,5,5,21,215,5,5,140,243,5,5,69,231,5,5,25,201,5,5,166,236,5,5,242,236,5,5,212,183,5,5,38,179,5,5,202,226,5,5,221,230,5,5,29,238,5,5,90,167,5,5,222,225,5,5,161,225,5,5,110,167,5,5,117,247,5,5,120,234,5,5,133,171,5,5,176,191,5,5,130,177,5,5,4,198,5,5,100,201,5,5,134,213,5,5,127,231,5,5,180,176,5,5,250,218,5,5,154,216,5,5,171,174,5,5,168,203,5,5,117,199,5,5,149,191,5,5,185,231,5,5,158,179,5,5,138,180,5,5,255,236,5,5,41,165,5,5,95,204,5,5,95,200,5,5,136,194,5,5,185,243,5,5,9,192,5,5,241,190,5,5,242,218,5,5,51,243,5,5,200,227,5,5,129,170,5,5,171,244,5,5,105,226,5,5,94,191,5,5,91,186,5,5,164,190,5,5,235,214,5,5,15,166,5,5,235,179,5,5,102,248,5,5,10,215,5,5,82,199,5,5,56,165,5,5,152,165,5,5,6,219,5,5,64,206,5,5,155,195,5,5,222,228,5,5,235,228,5,5,157,176,5,5,109,171,5,5,108,238,5,5,236,189,5,5,49,199,5,5,237,198,5,5,17,242,5,5,138,224,5,5,65,173,5,5,221,249,5,5,137,194,5,5,130,170,5,5,131,211,5,5,220,247,5,5,97,168,5,5,200,202,5,5,4,241,5,5,242,223,5,5,139,208,5,5,87,213,5,5,201,202,5,5,39,190,5,5,238,185,5,5,244,190,5,5,196,205,5,5,168,193,5,5,85,235,5,5,10,186,5,5,129,218,5,5,247,191,5,5,61,211,5,5,188,186,5,5,242,242,5,5,38,234,5,5,100,204,5,5,50,235,5,5,107,226,5,5,115,182,5,5,170,238,5,5,137,180,5,5,76,241,5,5,55,213,5,5,110,171,5,5,81,180,5,5,127,169,5,5,236,228,5,5,140,198,5,5,132,188,5,5,69,186,5,5,147,245,5,5,51,223,5,5,127,192,5,5,246,173,5,5,141,217,5,5,108,239,5,5,142,170,5,5,202,231,5,5,218,170,5,5,218,195,5,5,146,190,5,5,145,167,5,5,154,229,5,5,38,221,5,5,18,221,5,5,189,222,5,5,25,217,5,5,235,200,5,5,184,199,5,5,115,205,5,5,144,242,5,5,254,229,5,5,230,187,5,5,225,234,5,5,179,180,5,5,86,244,5,5,20,206,5,5,86,235,5,5,215,244,5,5,167,201,5,5,237,217,5,5,155,229,5,5,110,194,5,5,174,244,5,5,155,214,5,5,153,233,5,5,246,196,5,5,26,217,5,5,201,188,5,5,7,219,5,5,30,246,5,5,45,168,5,5,130,248,5,5,104,204,5,5,177,166,5,5,109,176,5,5,109,200,5,5,182,203,5,5,72,245,5,5,163,166,5,5,94,202,5,5,55,167,5,5,32,246,5,5,180,236,5,5,136,210,5,5,137,210,5,5,249,212,5,5,54,190,5,5,144,213,5,5,21,218,5,5,217,178,5,5,58,201,5,5,17,172,5,5,44,231,5,5,181,236,5,5,204,185,5,5,196,220,5,5,87,235,5,5,133,240,5,5,178,219,5,5,179,246,5,5,102,228,5,5,3,180,5,5,246,223,5,5,241,217,5,5,167,196,5,5,58,241,5,5,10,228,5,5,225,181,5,5,153,221,5,5,204,235,5,5,209,197,5,5,64,165,5,5,65,228,5,5,93,224,5,5,94,224,5,5,115,229,5,5,194,182,5,5,218,168,5,5,234,188,5,5,33,246,5,5,242,235,5,5,235,235,5,5,129,225,5,5,110,208,5,5,130,225,5,5,150,199,5,5,7,204,5,5,213,185,5,5,199,223,5,5,144,192,5,5,27,235,5,5,188,201,5,5,135,235,5,5,157,229,5,5,147,167,5,5,99,198,5,5,152,249,5,5,104,188,5,5,189,201,5,5,136,174,5,5,10,198,5,5,136,197,5,5,113,215,5,5,119,205,5,5,66,228,5,5,147,213,5,5,186,248,5,5,238,189,5,5,28,186,5,5,140,184,5,5,232,247,5,5,16,189,5,5,214,171,5,5,72,232,5,5,75,176,5,5,240,200,5,5,6,232,5,5,93,214,5,5,136,248,5,5,13,187,5,5,99,227,5,5,69,217,5,5,139,189,5,5,242,246,5,5,146,231,5,5,227,249,5,5,118,200,5,5,98,234,5,5,203,188,5,5,180,177,5,5,114,241,5,5,157,238,5,5,187,200,5,5,200,220,5,5,96,224,5,5,151,170,5,5,16,176,5,5,54,176,5,5,155,240,5,5,38,237,5,5,48,168,5,5,92,207,5,5,75,179,5,5,246,210,5,5,255,201,5,5,58,222,5,5,146,188,5,5,197,184,5,5,154,193,5,5,244,205,5,5,110,173,5,5,238,235,5,5,102,202,5,5,6,237,5,5,119,200,5,5,194,225,5,5,78,179,5,5,104,237,5,5,207,177,5,5,239,235,5,5,200,221,5,5,70,185,5,5,25,166,5,5,147,188,5,5,82,171,5,5,216,226,5,5,160,229,5,5,118,171,5,5,139,184,5,5,184,244,5,5,185,244,5,5,241,170,5,5,251,205,5,5,226,208,5,5,84,165,5,5,223,202,5,5,235,197,5,5,200,230,5,5,252,234,5,5,208,245,5,5,167,179,5,5,225,243,5,5,226,243,5,5,146,178,5,5,194,233,5,5,210,199,5,5,183,206,5,5,94,186,5,5,73,208,5,5,50,238,5,5,235,168,5,5,64,222,5,5,37,246,5,5,26,166,5,5,68,193,5,5,144,210,5,5,186,244,5,5,49,166,5,5,65,196,5,5,220,172,5,5,130,234,5,5,162,169,5,5,140,205,5,5,105,246,5,5,154,190,5,5,151,232,5,5,103,191,5,5,118,187,5,5,21,242,5,5,88,244,5,5,247,189,5,5,194,235,5,5,28,219,5,5,191,244,5,5,3,178,5,5,104,247,5,5,34,200,5,5,105,214,5,5,72,167,5,5,201,228,5,5,166,165,5,5,102,224,5,5,143,169,5,5,71,188,5,5,247,204,5,5,11,169,5,5,244,235,5,5,133,225,5,5,73,193,5,5,31,166,5,5,216,199,5,5,233,215,5,5,206,189,5,5,23,211,5,5,157,198,5,5,195,244,5,5,90,231,5,5,127,187,5,5,184,206,5,5,178,214,5,5,196,244,5,5,17,237,5,5,110,246,5,5,107,214,5,5,242,199,5,5,87,217,5,5,159,221,5,5,254,190,5,5,77,185,5,5,152,178,5,5,31,173,5,5,35,199,5,5,78,185,5,5,166,229,5,5,180,189,5,5,199,244,5,5,54,171,5,5,238,202,5,5,209,188,5,5,145,205,5,5,200,244,5,5,141,173,5,5,253,188,5,5,192,240,5,5,255,204,5,5,236,248,5,5,110,224,5,5,118,175,5,5,153,230,5,5,66,205,5,5,45,186,5,5,32,173,5,5,4,230,5,5,23,249,5,5,70,222,5,5,227,173,5,5,211,227,5,5,137,185,5,5,51,186,5,5,94,235,5,5,223,211,5,5,236,249,5,5,147,210,5,5,140,172,5,5,118,194,5,5,40,212,5,5,97,243,5,5,19,198,5,5,236,244,5,5,205,235,5,5,159,232,5,5,175,190,5,5,87,243,5,5,238,186,5,5,84,171,5,5,126,228,5,5,239,179,5,5,89,176,5,5,80,204,5,5,154,224,5,5,237,244,5,5,22,198,5,5,31,163,5,5,183,221,5,5,84,186,5,5,57,186,5,5,139,183,5,5,183,246,5,5,179,190,5,5,250,217,5,5,177,215,5,5,99,243,5,5,168,192,5,5,104,243,5,5,181,248,5,5,178,199,5,5,138,165,5,5,129,171,5,5,154,194,5,5,121,176,5,5,252,199,5,5,120,214,5,5,121,214,5,5,150,200,5,5,110,201,5,5,86,189,5,5,77,232,5,5,137,222,5,5,146,204,5,5,106,219,5,5,50,214,5,5,83,223,5,5,23,222,5,5,29,232,5,5,30,232,5,5,92,234,5,5,18,244,5,5,32,209,5,5,201,222,5,5,98,173,5,5,52,184,5,5,95,208,5,5,22,247,5,5,192,166,5,5,34,240,5,5,187,189,5,5,27,226,5,5,203,167,5,5,107,195,5,5,82,167,5,5,163,242,5,5,108,195,5,5,130,167,5,5,86,172,5,5,253,223,5,5,20,188,5,5,33,194,5,5,236,195,5,5,207,178,5,5,156,194,5,5,249,215,5,5,192,218,5,5,157,194,5,5,158,194,5,5,54,246,5,5,82,211,5,5,4,166,5,5,23,175,5,5,189,213,5,5,72,221,5,5,168,221,5,5,42,195,5,5,229,219,5,5,85,174,5,5,0,160,5,5,57,214,5,5,103,178,5,5,177,189,5,5,7,222,5,5,161,217,5,5,54,207,5,5,38,180,5,5,28,167,5,5,97,208,5,5,17,167,5,5,112,179,5,5,113,179,5,5,66,166,5,5,63,244,5,5,156,182,5,5,61,198,5,5,222,221,5,5,111,219,5,5,147,177,5,5,119,246,5,5,239,226,5,5,186,188,5,5,89,223,5,5,86,201,5,5,74,220,5,5,225,198,5,5,180,229,5,5,90,186,5,5,132,181,5,5,37,204,5,5,4,217,5,5,202,198,5,5,103,212,5,5,191,187,5,5,217,200,5,5,32,244,5,5,242,214,5,5,243,214,5,5,144,215,5,5,170,243,5,5,254,244,5,5,6,220,5,5,165,241,5,5,59,227,5,5,225,245,5,5,173,182,5,5,130,171,5,5,34,232,5,5,110,195,5,5,114,201,5,5,208,185,5,5,192,213,5,5,170,221,5,5,150,217,5,5,74,221,5,5,198,166,5,5,124,242,5,5,46,200,5,5,164,194,5,5,190,223,5,5,8,200,5,5,123,195,5,5,236,224,5,5,13,173,5,5,229,227,5,5,91,241,5,5,77,200,192,0,0,0,5,5,125,180,5,5,219,205,5,5,15,230,5,5,219,187,5,5,205,212,5,5,104,174,5,5,101,208,5,5,68,214,5,5,248,168,5,5,134,181,5,5,39,222,5,5,171,181,5,5,196,246,5,5,190,197,5,5,141,167,5,5,131,186,5,5,42,243,5,5,10,217,5,5,206,173,5,5,94,223,5,5,58,231,5,5,3,199,5,5,206,212,5,5,77,229,5,5,155,197,5,5,188,217,5,5,29,196,5,5,218,207,5,5,138,214,5,5,207,212,5,5,133,242,5,5,129,198,5,5,188,222,5,5,54,208,5,5,236,176,5,5,69,214,5,5,71,202,5,5,104,245,5,5,134,242,5,5,107,191,5,5,89,198,5,5,37,243,5,5,220,200,5,5,172,170,5,5,244,206,5,5,158,175,5,5,223,163,5,5,105,173,5,5,25,189,5,5,204,196,5,5,24,201,5,5,132,182,5,5,218,212,5,5,243,234,5,5,28,245,5,5,118,201,5,5,255,223,5,5,168,174,5,5,200,245,5,5,249,203,5,5,47,235,5,5,3,174,5,5,190,168,5,5,140,212,5,5,238,230,5,5,219,212,5,5,141,212,5,5,30,216,5,5,230,223,5,5,43,243,5,5,44,243,5,5,93,240,5,5,155,207,5,5,91,248,5,5,207,192,5,5,66,230,5,5,3,168,5,5,48,218,5,5,114,247,5,5,26,229,5,5,44,225,5,5,232,227,5,5,46,218,5,5,75,184,5,5,219,192,5,5,168,246,5,5,199,224,5,5,159,197,5,5,148,196,5,5,233,222,5,5,169,178,5,5,176,213,5,5,21,200,5,5,4,174,5,5,198,188,5,5,107,217,5,5,124,216,5,5,52,201,5,5,48,204,5,5,220,204,5,5,42,165,5,5,108,244,5,5,198,221,5,5,78,246,5,5,104,182,5,5,81,228,5,5,236,212,5,5,183,184,5,5,184,184,5,5,83,224,5,5,141,242,5,5,105,208,5,5,108,208,5,5,103,248,5,5,9,170,5,5,138,227,5,5,134,246,5,5,86,219,5,5,31,216,5,5,148,212,5,5,38,230,5,5,215,169,5,5,232,200,5,5,22,217,5,5,238,219,5,5,242,245,5,5,18,173,5,5,31,210,5,5,30,237,5,5,44,244,5,5,200,187,5,5,196,221,5,5,117,203,5,5,48,192,5,5,112,193,5,5,255,163,5,5,13,199,5,5,114,249,5,5,177,213,5,5,114,227,5,5,81,189,5,5,200,165,5,5,96,192,5,5,97,182,5,5,82,180,5,5,2,224,5,5,64,228,5,5,5,239,5,5,105,163,5,5,94,201,5,5,25,214,5,5,138,213,5,5,119,245,5,5,237,212,5,5,193,249,5,5,133,197,5,5,161,197,5,5,238,212,5,5,150,249,5,5,45,218,5,5,8,183,5,5,83,228,5,5,163,212,5,5,244,241,5,5,191,217,5,5,111,171,5,5,133,188,5,5,175,244,5,5,66,245,5,5,74,231,5,5,208,194,5,5,106,243,5,5,84,211,5,5,29,188,5,5,239,212,5,5,65,165,5,5,156,165,5,5,56,235,5,5,45,190,5,5,232,204,5,5,104,229,5,5,134,240,5,5,240,185,5,5,167,167,5,5,5,237,5,5,135,240,5,5,129,180,5,5,171,207,5,5,106,233,5,5,194,249,5,5,85,199,5,5,187,239,5,5,17,219,5,5,114,238,5,5,138,246,5,5,93,188,5,5,145,198,5,5,173,238,5,5,16,230,5,5,109,208,5,5,147,170,5,5,247,196,5,5,238,228,5,5,18,235,5,5,200,232,5,5,237,204,5,5,7,213,5,5,8,213,5,5,9,213,5,5,156,240,5,5,229,214,5,5,115,223,5,5,64,201,5,5,144,224,5,5,115,241,5,5,8,180,5,5,71,230,5,5,65,243,5,5,120,215,5,5,147,209,5,5,72,208,5,5,126,176,5,5,219,178,5,5,169,228,5,5,9,204,5,5,113,173,5,5,141,235,5,5,241,187,5,5,137,248,5,5,240,188,5,5,200,182,5,5,239,227,5,5,89,173,5,5,23,173,5,5,66,243,5,5,245,217,5,5,92,186,5,5,247,169,5,5,128,180,5,5,157,240,5,5,133,206,5,5,175,170,5,5,189,206,5,5,66,204,5,5,187,244,5,5,148,248,5,5,169,240,5,5,70,217,5,5,34,186,5,5,146,179,5,5,88,232,5,5,99,234,5,5,42,237,5,5,17,213,5,5,35,212,5,5,65,235,5,5,150,188,5,5,62,200,5,5,178,221,5,5,98,214,5,5,146,189,5,5,249,245,5,5,170,240,5,5,36,214,5,5,245,219,5,5,124,200,5,5,53,175,5,5,199,184,5,5,35,186,5,5,203,230,5,5,164,215,5,5,126,195,5,5,201,217,5,5,252,205,5,5,43,224,5,5,171,175,5,5,252,241,5,5,172,197,5,5,95,186,5,5,168,165,5,5,88,231,5,5,128,187,5,5,147,169,5,5,61,164,5,5,244,230,5,5,105,191,5,5,252,184,5,5,101,238,5,5,24,218,5,5,42,197,5,5,194,229,5,5,27,188,5,5,134,187,5,5,211,189,5,5,195,207,5,5,17,188,5,5,83,243,5,5,34,213,5,5,108,214,5,5,7,191,5,5,133,241,5,5,104,234,5,5,166,230,5,5,239,248,5,5,96,186,5,5,96,235,5,5,200,207,5,5,174,226,5,5,119,194,5,5,107,207,5,5,204,223,5,5,61,171,5,5,122,180,5,5,98,186,5,5,186,221,5,5,87,186,5,5,163,189,5,5,22,235,5,5,183,248,5,5,219,219,5,5,251,219,5,5,159,166,5,5,67,221,5,5,18,167,5,5,55,225,5,5,35,249,5,5,57,238,5,5,131,246,5,5,162,198,5,5,172,207,5,5,183,207,5,5,186,174,5,5,60,241,5,5,17,163,5,5,19,177,5,5,66,241,5,5,155,241,5,5,233,232,5,5,251,229,5,5,61,239,5,5,57,167,5,5,131,226,5,5,254,194,5,5,173,232,5,5,49,177,5,5,43,211,5,5,243,249,5,5,69,211,5,5,123,168,5,5,88,164,5,5,84,167,5,5,236,223,5,5,212,204,5,5,214,166,5,5,246,177,5,5,125,226,5,5,212,247,5,5,87,219,5,5,201,165,5,5,50,177,5,5,155,164,5,5,106,163,5,5,127,226,5,5,89,242,5,5,121,242,5,5,6,178,5,5,240,240,5,5,63,225,5,5,46,184,5,5,60,184,5,5,153,168,5,5,123,204,5,5,83,170,5,5,33,179,5,5,63,172,5,5,169,185,5,5,121,230,5,5,181,170,5,5,151,173,5,5,22,170,5,5,87,172,5,5,186,192,5,5,91,245,5,5,24,243,5,5,138,191,5,5,204,163,5,5,173,235,5,5,83,205,5,5,37,193,5,5,106,242,5,5,141,191,5,5,18,229,5,5,68,172,5,5,210,176,5,5,70,210,5,5,109,212,5,5,60,212,5,5,195,231,5,5,94,179,5,5,194,212,5,5,201,170,5,5,247,195,5,5,78,210,5,5,61,245,5,5,87,193,5,5,220,212,5,5,176,186,5,5,184,186,5,5,49,167,5,5,228,201,5,5,197,192,5,5,116,218,5,5,119,164,5,5,71,212,5,5,104,226,5,5,247,177,5,5,71,207,5,5,27,203,5,5,221,204,5,5,211,173,5,5,102,168,5,5,14,195,5,5,250,206,5,5,128,195,5,5,168,225,5,5,139,213,5,5,233,163,5,5,147,190,5,5,228,203,5,5,25,169,5,5,85,236,5,5,139,246,5,5,37,170,5,5,193,178,5,5,201,182,5,5,211,209,5,5,67,206,5,5,166,213,5,5,129,187,5,5,7,178,5,5,211,187,5,5,218,166,5,5,75,168,5,5,132,163,5,5,35,213,5,5,14,224,5,5,46,246,5,5,146,196,5,5,15,224,5,5,100,212,5,5,99,212,5,5,0,155,5,5,46,173,5,5,247,209,5,5,127,202,5,5,8,234,5,5,22,222,5,5,237,238,5,5,133,191,5,5,185,222,5,5,174,194,5,5,42,169,5,5,30,242,5,5,234,195,5,5,67,163,5,5,45,198,5,5,25,241,5,5,162,243,5,5,154,200,5,5,186,222,5,5,162,249,5,5,11,197,5,5,50,184,5,5,163,176,5,5,88,211,5,5,242,222,5,5,85,172,5,5,200,163,5,5,204,167,5,5,238,206,5,5,140,239,5,5,15,229,5,5,16,167,5,5,185,213,5,5,25,182,5,5,249,198,5,5,94,189,5,5,197,172,5,5,240,167,5,5,184,183,5,5,214,241,5,5,98,242,5,5,68,192,5,5,82,217,5,5,197,206,5,5,25,176,5,5,71,163,5,5,20,196,5,5,138,215,5,5,111,184,5,5,170,200,5,5,168,198,5,5,32,204,5,5,96,197,5,5,230,219,5,5,58,202,5,5,6,218,5,5,48,228,5,5,55,179,5,5,51,231,5,5,21,228,5,5,169,182,5,5,198,185,5,5,240,177,5,5,190,213,5,5,193,226,5,5,83,196,5,5,73,221,5,5,60,248,5,5,67,237,5,5,181,247,5,5,14,165,5,5,199,170,5,5,195,212,5,5,246,207,5,5,170,186,5,5,193,213,5,5,171,243,5,5,57,237,5,5,106,186,5,5,213,163,5,5,210,218,5,5,171,242,5,5,127,227,5,5,60,187,5,5,125,198,5,5,145,215,5,5,90,206,5,5,212,166,5,5,161,172,5,5,139,214,5,5,172,163,5,5,188,208,5,5,159,183,5,5,146,165,5,5,240,243,5,5,47,185,5,5,196,187,5,5,208,204,5,5,33,211,5,5,203,196,5,5,138,242,5,5,179,193,5,5,144,233,5,5,39,171,5,5,242,224,5,5,100,239,5,5,224,218,5,5,81,221,5,5,253,240,5,5,8,171,5,5,6,234,5,5,152,234,5,5,169,227,5,5,220,187,5,5,149,177,5,5,90,190,5,5,9,199,5,5,96,233,5,5,40,194,5,5,74,246,5,5,208,173,5,5,175,245,5,5,47,249,5,5,123,216,5,5,140,221,5,5,17,170,5,5,132,246,5,5,50,226,5,5,209,215,5,5,103,182,5,5,40,241,5,5,52,183,5,5,245,213,5,5,24,203,5,5,30,198,5,5,198,165,5,5,50,242,5,5,55,242,5,5,210,169,5,5,148,223,5,5,180,241,5,5,72,237,5,5,98,163,5,5,38,172,5,5,118,199,5,5,58,249,5,5,48,236,5,5,49,169,5,5,59,249,5,5,71,175,5,5,116,248,5,5,203,226,5,5,221,197,5,5,87,211,5,5,107,240,5,5,183,220,5,5,121,234,5,5,229,197,5,5,143,170,5,5,174,206,5,5,43,206,5,5,128,169,5,5,19,221,5,5,87,224,5,5,110,238,5,5,109,238,5,5,224,197,5,5,220,234,5,5,138,164,5,5,173,207,5,5,66,165,5,5,67,165,5,5,59,201,5,5,233,168,5,5,235,188,5,5,33,217,5,5,195,182,5,5,247,241,5,5,238,187,5,5,190,229,5,5,162,214,5,5,36,228,5,5,189,178,5,5,107,204,5,5,190,191,5,5,10,208,5,5,252,177,5,5,120,200,5,5,94,196,5,5,160,215,5,5,94,214,5,5,48,179,5,5,162,215,5,5,198,217,5,5,126,184,5,5,144,168,5,5,211,199,5,5,89,183,5,5,16,171,5,5,210,187,5,5,76,183,5,5,177,194,5,5,33,228,5,5,207,189,5,5,50,179,5,5,235,215,5,5,55,171,5,5,154,230,5,5,161,200,5,5,77,183,5,5,110,190,5,5,174,215,5,5,247,208,5,5,205,207,5,5,132,217,5,5,167,171,5,5,113,231,5,5,89,191,5,5,194,189,5,5,48,248,5,5,140,236,5,5,81,247,5,5,248,209,5,5,127,191,5,5,191,177,5,5,19,185,5,5,0,134,5,5,204,201,5,5,134,201,5,5,226,176,5,5,72,226,5,5,107,192,5,5,147,204,5,5,164,247,5,5,3,209,5,5,165,247,5,5,38,225,5,5,31,169,5,5,194,194,5,5,54,245,5,5,23,174,5,5,23,247,5,5,212,203,5,5,245,240,5,5,7,166,5,5,236,165,5,5,159,164,5,5,205,248,5,5,127,207,5,5,161,170,5,5,128,207,5,5,192,246,5,5,197,204,5,5,195,169,5,5,5,176,5,5,135,168,5,5,55,246,5,5,167,200,5,5,182,215,5,5,30,211,5,5,98,189,5,5,91,175,5,5,49,240,5,5,224,238,5,5,177,168,5,5,166,177,5,5,86,174,5,5,133,217,5,5,77,213,5,5,41,163,5,5,204,233,5,5,71,192,5,5,70,203,5,5,247,227,5,5,196,166,5,5,171,233,5,5,255,194,5,5,78,230,5,5,19,229,5,5,147,228,5,5,150,239,5,5,234,232,5,5,12,203,5,5,229,171,5,5,49,228,5,5,86,188,5,5,10,165,5,5,161,220,5,5,162,220,5,5,131,207,5,5,141,172,5,5,231,190,5,5,170,205,5,5,87,204,5,5,89,205,5,5,61,187,5,5,180,194,5,5,49,215,5,5,7,220,5,5,224,194,5,5,125,242,5,5,15,215,5,5,33,244,5,5,231,216,5,5,138,190,5,5,147,236,5,5,137,221,5,5,222,210,5,5,172,243,5,5,225,217,5,5,21,164,5,5,59,239,5,5,99,216,5,5,166,241,5,5,194,213,5,5,178,198,5,5,216,193,5,5,153,226,5,5,5,217,5,5,69,164,5,5,253,166,5,5,218,185,5,5,69,176,5,5,232,244,5,5,9,200,5,5,29,247,5,5,160,237,5,5,106,225,5,5,237,176,5,5,62,245,5,5,25,245,5,5,103,225,5,5,55,208,5,5,202,169,5,5,219,163,5,5,172,181,5,5,200,215,5,5,216,225,5,5,90,198,5,5,138,217,5,5,172,242,5,5,18,210,5,5,165,217,5,5,112,186,5,5,3,187,5,5,17,215,5,5,105,174,5,5,36,188,5,5,254,240,5,5,208,212,5,5,112,189,5,5,177,186,5,5,223,205,5,5,171,188,5,5,225,236,5,5,244,236,5,5,12,174,5,5,197,246,5,5,172,177,5,5,139,168,5,5,115,220,5,5,229,235,5,5,236,171,5,5,92,248,5,5,214,206,5,5,170,224,5,5,51,185,5,5,31,247,5,5,49,229,5,5,26,246,5,5,106,181,5,5,220,225,5,5,246,232,5,5,190,164,5,5,64,225,5,5,46,199,5,5,197,208,5,5,238,237,5,5,205,196,5,5,245,224,5,5,198,208,5,5,191,164,5,5,216,246,5,5,21,190,5,5,83,235,5,5,86,194,5,5,235,242,5,5,81,177,5,5,224,163,5,5,227,188,5,5,227,210,5,5,4,168,5,5,161,166,5,5,19,212,5,5,43,222,5,5,228,210,5,5,142,172,5,5,5,206,5,5,142,212,5,5,26,178,5,5,226,203,5,5,10,201,5,5,28,248,5,5,74,170,5,5,216,169,5,5,85,226,5,5,108,217,5,5,174,180,5,5,125,216,5,5,104,175,5,5,39,230,5,5,239,171,5,5,222,204,5,5,79,246,5,5,32,231,5,5,233,200,5,5,21,214,5,5,51,226,5,5,38,205,5,5,140,222,5,5,45,225,5,5,199,188,5,5,75,212,5,5,205,213,5,5,170,178,5,5,101,249,5,5,255,240,5,5,72,183,5,5,14,199,5,5,109,244,5,5,213,247,5,5,53,201,5,5,13,231,5,5,232,235,5,5,50,188,5,5,208,226,5,5,75,231,5,5,232,236,5,5,184,241,5,5,7,247,5,5,67,245,5,5,190,220,5,5,236,205,5,5,178,244,5,5,36,169,5,5,161,179,5,5,55,188,5,5,83,180,5,5,97,187,5,5,119,186,5,5,232,193,5,5,251,220,5,5,44,211,5,5,173,234,5,5,166,207,5,5,222,219,5,5,185,241,5,5,69,238,5,5,19,166,5,5,91,229,5,5,18,225,5,5,216,196,5,5,121,222,5,5,57,235,5,5,201,205,5,5,115,239,5,5,226,234,5,5,58,235,5,5,219,208,5,5,203,186,5,5,216,244,5,5,233,236,5,5,38,210,5,5,143,217,5,5,115,238,5,5,175,188,5,5,167,170,5,5,25,221,5,5,192,243,5,5,163,199,5,5,118,244,5,5,145,246,5,5,59,190,5,5,35,245,5,5,127,176,5,5,22,215,5,5,201,232,5,5,246,217,5,5,212,211,5,5,115,176,5,5,241,188,5,5,242,187,5,5,157,212,5,5,190,236,5,5,65,201,5,5,238,193,5,5,234,168,5,5,134,206,5,5,24,173,5,5,245,205,5,5,62,188,5,5,2,202,5,5,151,200,5,5,137,206,5,5,78,238,5,5,92,165,5,5,100,234,5,5,215,211,5,5,73,232,5,5,76,176,5,5,70,204,5,5,151,194,5,5,35,180,5,5,125,200,5,5,191,200,5,5,243,235,5,5,43,237,5,5,93,181,5,5,240,225,5,5,243,247,5,5,253,205,5,5,208,189,5,5,30,166,5,5,105,229,5,5,68,247,5,5,35,233,5,5,38,186,5,5,99,213,5,5,156,231,5,5,146,217,5,5,37,231,5,5,210,245,5,5,252,191,5,5,99,185,5,5,8,178,5,5,130,187,5,5,43,219,5,5,48,230,5,5,225,186,5,5,154,232,5,5,158,212,5,5,240,180,5,5,246,193,5,5,14,237,5,5,255,184,5,5,8,191,5,5,212,189,5,5,135,187,5,5,157,232,5,5,97,186,5,5,143,244,5,5,59,171,5,5,62,216,5,5,162,212,5,5,120,194,5,5,175,175,5,5,162,232,5,5,202,200,5,5,103,193,5,5,72,163,5,5,31,177,5,5,80,163,5,5,74,199,5,5,121,218,5,5,80,168,5,5,113,164,5,5,156,230,5,5,164,187,5,5,152,245,192,0,0,0,5,5,67,216,5,5,65,210,5,5,89,164,5,5,99,167,5,5,172,173,5,5,6,176,5,5,133,247,5,5,167,238,192,0,0,0,192,0,0,0,5,5,167,245,5,5,252,198,5,5,101,189,5,5,159,239,5,5,187,168,5,5,177,233,5,5,161,163,5,5,220,207,5,5,11,225,5,5,13,223,192,0,0,0,5,5,104,176,5,5,9,171,5,5,141,166,5,5,97,222,5,5,195,168,5,5,202,165,5,5,62,220,5,5,191,220,192,0,0,0,5,5,183,233,5,5,119,244,5,5,54,209,5,5,114,215,5,5,5,186,5,5,13,177,5,5,175,238,5,5,234,170,5,5,125,222,5,5,200,164,5,5,32,189,5,5,210,232,5,5,75,245,5,5,50,168,5,5,252,175,5,5,135,247,5,5,133,244,5,5,8,243,5,5,102,192,5,5,83,175,5,5,178,228,5,5,80,181,5,5,81,181,5,5,95,198,5,5,13,225,5,5,8,229,5,5,109,211,5,5,152,228,5,5,130,224,5,5,131,224,5,5,251,230,5,5,27,229,5,5,130,236,5,5,166,228,5,5,24,250,5,5,199,229,5,5,2,190,5,5,152,174,5,5,248,249,5,5,186,164,5,5,254,173,5,5,117,184,5,5,71,181,5,5,28,242,5,5,66,203,5,5,133,228,5,5,82,219,5,5,159,177,5,5,61,174,5,5,95,183,5,5,123,177,5,5,157,168,5,5,129,181,5,5,136,199,5,5,165,181,5,5,236,220,5,5,31,232,5,5,222,170,5,5,5,165,5,5,165,208,5,5,100,188,5,5,215,217,5,5,33,188,5,5,39,225,5,5,69,172,5,5,135,249,5,5,52,173,5,5,87,174,5,5,214,192,5,5,75,181,5,5,214,203,5,5,215,203,5,5,102,212,5,5,120,246,5,5,88,174,5,5,76,181,5,5,70,172,5,5,53,178,5,5,86,167,5,5,11,206,5,5,140,245,5,5,25,175,5,5,102,183,5,5,37,188,5,5,125,164,5,5,216,220,5,5,213,225,5,5,72,172,5,5,73,172,5,5,238,233,5,5,79,181,5,5,222,191,5,5,24,165,5,5,26,175,5,5,225,218,5,5,218,237,5,5,189,208,5,5,108,191,5,5,54,167,5,5,215,240,5,5,240,172,5,5,141,199,5,5,171,227,5,5,201,247,5,5,75,172,5,5,59,208,5,5,74,240,5,5,39,188,5,5,172,227,5,5,40,177,5,5,25,224,5,5,142,199,5,5,73,176,5,5,96,222,5,5,234,201,5,5,220,246,5,5,15,206,5,5,125,225,5,5,47,225,5,5,153,182,5,5,90,185,5,5,246,201,5,5,138,223,5,5,63,188,5,5,71,177,5,5,123,182,5,5,33,189,5,5,29,206,5,5,31,206,5,5,46,224,5,5,52,168,5,5,63,177,5,5,65,177,5,5,22,168,5,5,140,203,5,5,28,176,5,5,79,229,5,5,80,229,5,5,8,219,5,5,185,239,5,5,255,182,5,5,15,183,5,5,192,177,5,5,229,164,5,5,97,203,5,5,224,187,5,5,187,192,5,5,139,191,5,5,159,204,5,5,36,220,5,5,229,213,5,5,88,228,5,5,183,216,5,5,221,184,5,5,41,187,5,5,25,244,5,5,221,224,5,5,38,242,5,5,0,140,5,5,216,203,5,5,132,207,5,5,170,208,5,5,170,213,5,5,231,234,5,5,11,165,5,5,50,240,5,5,48,187,5,5,142,233,5,5,122,226,5,5,196,173,5,5,223,221,5,5,29,167,5,5,245,167,5,5,118,192,5,5,6,195,5,5,156,233,5,5,46,217,5,5,74,218,5,5,8,176,5,5,217,220,5,5,125,172,5,5,165,218,5,5,132,180,5,5,201,206,5,5,61,202,5,5,206,172,5,5,202,206,5,5,54,228,5,5,18,203,5,5,135,217,5,5,113,219,5,5,89,166,5,5,232,183,5,5,117,221,5,5,212,249,5,5,154,206,5,5,67,212,5,5,133,180,5,5,157,182,5,5,165,239,5,5,103,203,5,5,67,246,5,5,50,200,5,5,231,179,5,5,65,244,5,5,95,223,5,5,226,218,5,5,164,198,5,5,13,241,5,5,7,170,5,5,209,175,5,5,165,206,5,5,141,214,5,5,217,182,5,5,190,181,5,5,205,170,5,5,27,168,5,5,142,214,5,5,58,237,5,5,39,174,5,5,82,187,5,5,243,218,5,5,181,234,5,5,69,178,5,5,108,245,5,5,136,227,5,5,176,185,5,5,27,228,5,5,227,200,5,5,101,215,5,5,108,240,5,5,183,164,5,5,50,221,5,5,87,194,5,5,251,179,5,5,213,172,5,5,24,169,5,5,229,188,5,5,17,223,5,5,194,202,5,5,109,181,5,5,208,238,5,5,102,223,5,5,43,165,5,5,44,165,5,5,240,171,5,5,90,193,5,5,124,178,5,5,150,237,5,5,80,246,5,5,151,247,5,5,246,234,5,5,15,241,5,5,176,221,5,5,155,234,5,5,241,175,5,5,218,228,5,5,235,222,5,5,107,223,5,5,117,248,5,5,34,198,5,5,214,173,5,5,244,184,5,5,45,244,5,5,201,224,5,5,218,181,5,5,29,248,5,5,150,193,5,5,33,247,5,5,236,200,5,5,34,196,5,5,84,203,5,5,143,243,5,5,123,240,5,5,11,186,5,5,35,236,5,5,174,207,5,5,112,223,5,5,251,212,5,5,75,194,5,5,136,240,5,5,8,247,5,5,95,202,5,5,128,226,5,5,76,164,5,5,110,200,5,5,56,188,5,5,220,223,5,5,31,228,5,5,224,184,5,5,133,177,5,5,52,175,5,5,133,165,5,5,236,179,5,5,55,221,5,5,159,165,5,5,224,228,5,5,163,234,5,5,125,190,5,5,158,240,5,5,148,233,5,5,12,224,5,5,56,221,5,5,202,219,5,5,78,236,5,5,240,235,5,5,11,212,5,5,112,177,5,5,13,186,5,5,14,186,5,5,140,169,5,5,247,210,5,5,222,243,5,5,217,244,5,5,67,201,5,5,144,174,5,5,246,187,5,5,249,190,5,5,175,209,5,5,65,188,5,5,184,185,5,5,124,215,5,5,218,172,5,5,251,175,5,5,247,243,5,5,170,197,5,5,42,238,5,5,81,164,5,5,125,215,5,5,76,194,5,5,57,194,5,5,210,184,5,5,153,248,5,5,41,246,5,5,178,240,5,5,231,249,5,5,33,168,5,5,133,185,5,5,119,187,5,5,120,229,5,5,59,176,5,5,19,189,5,5,183,177,5,5,20,189,5,5,75,185,5,5,134,165,5,5,233,202,5,5,25,223,5,5,79,244,5,5,155,217,5,5,122,203,5,5,102,221,5,5,163,169,5,5,145,187,5,5,227,199,5,5,83,185,5,5,25,202,5,5,139,177,5,5,156,217,5,5,222,244,5,5,231,243,5,5,229,211,5,5,240,249,5,5,240,179,5,5,143,177,5,5,131,190,5,5,182,190,5,5,183,190,5,5,36,163,5,5,40,163,5,5,9,194,5,5,0,161,5,5,114,172,5,5,122,176,5,5,116,172,5,5,155,163,5,5,156,163,5,5,89,209,5,5,50,202,5,5,78,232,5,5,79,232,5,5,56,170,5,5,67,175,5,5,153,166,5,5,99,203,5,5,38,201,5,5,212,193,5,5,205,233,5,5,102,189,5,5,255,191,5,5,110,169,5,5,62,202,5,5,38,204,5,5,189,167,5,5,5,192,5,5,36,238,5,5,163,237,5,5,3,198,5,5,133,198,5,5,34,165,5,5,217,246,5,5,29,224,5,5,178,210,5,5,231,212,5,5,41,238,5,5,206,214,5,5,11,198,5,5,102,201,5,5,12,198,5,5,7,232,5,5,228,234,5,5,14,198,5,5,209,214,5,5,123,241,5,5,183,166,5,5,15,198,5,5,72,204,5,5,82,238,5,5,136,216,5,5,105,201,5,5,136,187,5,5,90,168,5,5,149,197,5,5,114,204,5,5,234,167,5,5,134,192,5,5,30,167,5,5,53,220,5,5,25,208,5,5,28,210,5,5,25,235,5,5,25,212,5,5,74,219,5,5,62,193,5,5,30,208,5,5,31,208,5,5,64,220,5,5,77,219,5,5,69,193,5,5,218,219,5,5,9,178,5,5,249,171,5,5,4,209,5,5,155,244,5,5,167,247,5,5,184,163,5,5,211,219,5,5,205,222,5,5,100,167,5,5,97,197,5,5,157,244,5,5,107,197,5,5,65,240,5,5,45,163,5,5,205,246,5,5,108,197,5,5,20,239,5,5,110,220,5,5,169,242,5,5,203,204,5,5,112,197,5,5,149,247,5,5,105,196,5,5,59,173,5,5,238,191,5,5,159,175,5,5,59,167,5,5,169,174,5,5,29,210,5,5,44,229,5,5,160,175,5,5,29,190,5,5,118,220,5,5,229,170,5,5,199,186,5,5,197,205,5,5,27,217,5,5,227,204,5,5,66,167,5,5,113,194,5,5,217,238,5,5,199,189,5,5,240,216,5,5,26,220,5,5,116,176,5,5,220,238,5,5,74,193,5,5,137,187,5,5,83,172,5,5,193,177,5,5,154,192,5,5,184,216,5,5,191,170,5,5,109,247,5,5,102,218,5,5,33,209,5,5,85,249,5,5,77,181,5,5,40,216,5,5,200,178,5,5,251,215,5,5,118,213,5,5,85,167,5,5,197,173,5,5,208,178,5,5,230,171,5,5,30,172,5,5,36,229,5,5,55,227,5,5,136,249,5,5,196,171,5,5,52,167,5,5,173,173,5,5,156,171,5,5,230,175,5,5,197,169,5,5,61,170,5,5,186,195,5,5,189,215,5,5,136,195,5,5,60,227,5,5,7,244,5,5,75,221,5,5,218,241,5,5,153,228,5,5,193,199,5,5,49,175,5,5,218,220,5,5,30,197,5,5,203,206,5,5,210,228,5,5,160,239,5,5,37,229,5,5,2,170,5,5,111,169,5,5,224,221,5,5,169,220,5,5,170,220,5,5,175,171,5,5,61,227,5,5,252,248,5,5,32,177,5,5,206,183,5,5,198,231,5,5,199,231,5,5,254,223,5,5,96,219,5,5,163,217,5,5,69,166,5,5,76,171,5,5,234,190,5,5,252,236,5,5,177,182,5,5,32,171,5,5,69,177,5,5,238,176,5,5,4,183,5,5,34,172,5,5,166,217,5,5,10,223,5,5,31,197,5,5,250,207,5,5,89,170,5,5,246,220,5,5,54,181,5,5,35,244,5,5,225,242,5,5,115,169,5,5,249,222,5,5,112,169,5,5,184,219,5,5,82,221,5,5,211,169,5,5,207,236,5,5,8,228,5,5,134,198,5,5,228,200,5,5,247,176,5,5,143,225,5,5,182,234,5,5,251,207,5,5,164,237,5,5,128,170,5,5,205,215,5,5,221,212,5,5,243,196,5,5,66,185,5,5,32,205,5,5,82,228,5,5,110,181,5,5,148,194,5,5,221,246,5,5,163,186,5,5,81,227,5,5,149,212,5,5,201,187,5,5,2,241,5,5,98,206,5,5,91,221,5,5,190,186,5,5,67,185,5,5,31,237,5,5,2,208,5,5,215,229,5,5,2,237,5,5,235,177,5,5,45,165,5,5,43,168,5,5,97,172,5,5,254,200,5,5,213,183,5,5,30,190,5,5,109,240,5,5,169,203,5,5,22,234,5,5,39,220,5,5,221,247,5,5,2,201,5,5,53,169,5,5,232,213,5,5,159,216,5,5,25,200,5,5,150,194,5,5,37,232,5,5,118,226,5,5,228,204,5,5,11,170,5,5,27,178,5,5,35,198,5,5,111,217,5,5,120,181,5,5,130,196,5,5,11,192,5,5,14,231,5,5,76,170,5,5,28,217,5,5,132,172,5,5,205,245,5,5,151,171,5,5,59,224,5,5,163,196,5,5,33,171,5,5,130,247,5,5,156,195,5,5,110,176,5,5,173,224,5,5,23,195,5,5,69,236,5,5,180,213,5,5,152,212,5,5,136,169,5,5,45,172,5,5,114,170,5,5,217,229,5,5,8,232,5,5,57,221,5,5,159,240,5,5,86,177,5,5,140,195,5,5,141,169,5,5,232,229,5,5,64,235,5,5,225,185,5,5,22,223,5,5,115,170,5,5,86,168,5,5,75,225,5,5,27,194,5,5,235,170,5,5,244,200,5,5,39,231,5,5,63,168,5,5,19,213,5,5,177,209,5,5,236,168,5,5,202,221,5,5,141,176,5,5,199,228,5,5,234,229,5,5,14,188,5,5,202,223,5,5,126,215,5,5,191,195,5,5,124,241,5,5,37,217,5,5,204,182,5,5,96,170,5,5,245,188,5,5,54,194,5,5,133,205,5,5,127,241,5,5,83,238,5,5,131,200,5,5,96,220,5,5,56,205,5,5,75,193,5,5,248,219,5,5,218,211,5,5,229,169,5,5,61,224,5,5,37,236,5,5,135,184,5,5,204,217,5,5,254,241,5,5,217,199,5,5,249,170,5,5,187,171,5,5,147,168,5,5,188,171,5,5,138,187,5,5,43,197,5,5,196,207,5,5,128,217,5,5,189,171,5,5,228,199,5,5,215,189,5,5,254,170,5,5,11,191,5,5,122,194,5,5,135,170,5,5,102,213,5,5,237,225,5,5,123,180,5,5,193,195,5,5,206,221,5,5,20,170,5,5,167,205,5,5,222,188,5,5,93,248,5,5,185,229,5,5,251,231,5,5,208,207,5,5,10,227,5,5,216,239,5,5,184,228,5,5,64,218,5,5,27,198,5,5,186,228,5,5,205,244,5,5,22,207,5,5,13,220,5,5,39,204,5,5,183,234,5,5,163,178,5,5,47,238,5,5,71,204,5,5,202,232,5,5,194,248,5,5,28,163,5,5,227,226,5,5,213,177,5,5,28,209,5,5,207,201,5,5,172,231,5,5,113,192,5,5,92,245,5,5,129,219,5,5,5,196,5,5,188,192,5,5,113,213,5,5,9,173,5,5,27,197,5,5,96,176,5,5,32,169,5,5,125,227,5,5,231,175,5,5,133,207,5,5,49,187,5,5,27,174,5,5,231,171,5,5,183,237,5,5,189,199,5,5,211,195,5,5,162,218,5,5,37,209,5,5,172,195,5,5,217,203,5,5,8,166,5,5,205,237,5,5,31,241,5,5,206,167,5,5,130,219,5,5,167,242,5,5,22,237,5,5,116,222,5,5,176,223,5,5,209,178,5,5,53,167,5,5,29,243,5,5,4,206,5,5,198,173,5,5,129,172,5,5,113,169,5,5,97,219,5,5,204,206,5,5,67,248,5,5,7,195,5,5,30,182,5,5,31,182,5,5,212,176,5,5,199,219,5,5,171,220,5,5,208,237,5,5,96,174,5,5,74,172,5,5,225,221,5,5,235,184,5,5,195,165,5,5,149,184,5,5,161,168,5,5,139,167,5,5,103,189,5,5,31,167,5,5,23,185,5,5,199,166,5,5,46,163,5,5,200,166,5,5,154,228,5,5,220,231,5,5,58,238,5,5,62,187,5,5,235,190,5,5,174,182,5,5,28,250,5,5,63,187,5,5,48,197,5,5,188,225,5,5,246,195,5,5,68,212,5,5,141,221,5,5,4,197,5,5,220,193,5,5,219,237,5,5,50,183,5,5,85,209,5,5,16,190,5,5,68,246,5,5,59,238,5,5,206,191,5,5,201,215,5,5,151,216,5,5,173,242,5,5,19,179,5,5,142,167,5,5,209,212,5,5,219,185,5,5,153,201,5,5,184,229,5,5,196,213,5,5,130,209,5,5,147,211,5,5,18,246,5,5,162,209,5,5,75,240,5,5,248,195,5,5,143,214,5,5,20,212,5,5,157,224,5,5,115,186,5,5,119,201,5,5,202,247,5,5,144,214,5,5,201,213,5,5,214,170,5,5,140,190,5,5,11,250,5,5,179,223,5,5,195,223,5,5,201,245,5,5,40,188,5,5,224,244,5,5,206,170,5,5,21,212,5,5,45,243,5,5,137,227,5,5,230,196,5,5,94,248,5,5,99,223,5,5,160,199,5,5,232,189,5,5,212,224,5,5,33,205,5,5,223,184,5,5,101,237,5,5,46,222,5,5,250,195,5,5,160,167,5,5,142,242,5,5,98,222,5,5,58,197,5,5,121,225,5,5,203,208,5,5,145,233,5,5,139,211,5,5,230,188,5,5,29,208,5,5,54,163,5,5,222,177,5,5,241,171,5,5,83,177,5,5,223,204,5,5,160,197,5,5,31,190,5,5,65,238,5,5,32,237,5,5,26,212,5,5,154,186,5,5,189,163,5,5,186,243,5,5,140,178,5,5,64,245,5,5,204,208,5,5,218,190,5,5,222,246,5,5,153,177,5,5,55,183,5,5,231,163,5,5,47,209,5,5,213,224,5,5,33,231,5,5,186,242,5,5,52,177,5,5,224,177,5,5,248,177,5,5,40,182,5,5,178,203,5,5,112,244,5,5,221,165,5,5,68,195,5,5,57,165,5,5,135,246,5,5,188,229,5,5,192,220,5,5,173,178,5,5,209,213,5,5,107,176,5,5,177,180,5,5,74,183,5,5,193,167,5,5,48,205,5,5,3,177,5,5,45,180,5,5,154,223,5,5,122,181,5,5,51,209,5,5,221,178,5,5,215,173,5,5,174,217,5,5,32,212,5,5,33,212,5,5,37,169,5,5,210,194,5,5,81,184,5,5,183,236,5,5,171,237,5,5,184,233,5,5,57,188,5,5,136,235,5,5,89,180,5,5,170,164,5,5,122,199,5,5,223,167,5,5,93,246,5,5,118,236,5,5,125,185,5,5,175,234,5,5,91,181,5,5,211,213,5,5,252,212,5,5,142,188,5,5,67,167,5,5,34,246,5,5,173,249,5,5,125,178,5,5,152,219,5,5,24,195,5,5,237,184,5,5,122,222,5,5,143,211,5,5,140,194,5,5,126,222,5,5,97,224,5,5,58,209,5,5,118,238,5,5,148,167,5,5,105,188,5,5,243,189,5,5,190,195,5,5,137,226,5,5,216,224,5,5,220,243,5,5,126,185,5,5,160,165,5,5,59,209,5,5,77,169,5,5,60,209,5,5,222,234,5,5,113,233,5,5,144,211,5,5,13,226,5,5,224,190,5,5,6,202,5,5,112,228,5,5,185,185,5,5,216,211,5,5,203,232,5,5,142,176,5,5,134,205,5,5,152,213,5,5,246,188,5,5,228,177,5,5,12,180,5,5,68,201,5,5,69,167,5,5,227,231,5,5,150,209,5,5,160,176,5,5,113,187,5,5,157,205,5,5,12,204,5,5,167,213,5,5,39,221,5,5,178,209,5,5,194,178,5,5,57,205,5,5,154,248,5,5,108,222,5,5,143,197,5,5,72,195,5,5,10,232,5,5,96,185,5,5,48,195,5,5,197,225,5,5,128,241,5,5,37,212,5,5,117,176,5,5,244,239,5,5,30,206,5,5,231,167,5,5,232,167,5,5,155,248,5,5,131,168,5,5,9,238,5,5,86,238,5,5,32,195,5,5,251,204,5,5,161,248,5,5,38,231,5,5,250,170,5,5,33,167,5,5,197,233,5,5,133,163,5,5,91,244,5,5,58,169,5,5,227,233,5,5,129,215,5,5,44,197,5,5,101,185,5,5,136,185,5,5,46,219,5,5,139,187,5,5,140,187,5,5,33,173,5,5,41,212,5,5,34,167,5,5,144,244,5,5,146,187,5,5,12,191,5,5,13,191,5,5,150,169,5,5,137,163,5,5,244,229,5,5,123,194,5,5,53,186,5,5,143,232,5,5,209,242,5,5,30,227,5,5,24,227,5,5,248,186,5,5,177,230,5,5,188,227,5,5,206,248,5,5,168,235,5,5,166,208,5,5,34,179,5,5,44,169,5,5,58,214,5,5,145,241,5,5,46,215,5,5,171,208,5,5,172,208,5,5,163,218,5,5,176,164,5,5,137,178,5,5,243,222,5,5,128,230,5,5,97,239,5,5,245,226,5,5,109,242,5,5,211,218,5,5,24,181,5,5,97,174,5,5,204,174,5,5,94,171,5,5,235,232,5,5,75,218,5,5,61,237,5,5,3,170,5,5,12,233,5,5,166,211,5,5,70,199,5,5,226,221,5,5,179,228,5,5,23,237,5,5,173,233,5,5,212,223,5,5,37,171,5,5,68,191,5,5,21,248,5,5,71,216,5,5,29,245,5,5,16,181,5,5,92,168,5,5,228,221,5,5,15,194,5,5,197,213,5,5,81,218,5,5,187,202,5,5,45,192,5,5,175,220,5,5,46,192,5,5,212,229,5,5,224,205,5,5,213,228,5,5,223,191,5,5,231,196,5,5,248,176,5,5,140,175,5,5,201,199,5,5,187,179,5,5,205,208,5,5,91,193,5,5,107,194,5,5,41,233,5,5,128,189,5,5,32,190,5,5,74,166,5,5,229,205,5,5,142,175,5,5,122,218,5,5,22,190,5,5,84,224,5,5,190,163,5,5,168,219,5,5,26,200,5,5,85,242,5,5,140,213,5,5,144,243,5,5,139,231,5,5,205,199,5,5,193,220,5,5,131,174,5,5,103,249,5,5,34,245,5,5,156,215,5,5,46,244,5,5,89,218,5,5,109,239,5,5,220,169,5,5,126,235,5,5,4,177,5,5,247,163,5,5,53,222,5,5,197,220,5,5,20,250,5,5,96,202,5,5,51,192,5,5,90,180,5,5,137,235,5,5,54,169,5,5,71,179,5,5,255,174,5,5,120,217,5,5,221,208,5,5,138,248,5,5,94,213,5,5,7,202,5,5,191,235,5,5,100,224,5,5,57,176,5,5,58,194,5,5,47,237,5,5,14,187,5,5,202,184,5,5,51,171,5,5,154,175,5,5,141,187,5,5,157,230,5,5,242,248,5,5,201,180,5,5,163,232,5,5,161,185,5,5,33,230,5,5,11,248,5,5,173,247,5,5,178,186,5,5,76,214,5,5,237,210,5,5,83,197,5,5,181,181,5,5,12,215,5,5,107,235,5,5,90,230,5,5,182,181,5,5,173,231,5,5,142,223,5,5,135,192,5,5,35,240,5,5,44,215,5,5,60,166,5,5,64,184,5,5,221,209,5,5,222,209,5,5,226,222,5,5,131,173,5,5,246,197,5,5,137,249,5,5,2,195,5,5,157,171,5,5,69,218,5,5,82,206,5,5,232,164,5,5,70,218,5,5,61,248,5,5,95,171,5,5,27,196,5,5,107,164,5,5,209,167,5,5,154,183,5,5,64,187,5,5,41,242,5,5,213,232,5,5,210,167,5,5,81,163,5,5,104,189,5,5,114,169,5,5,145,225,5,5,66,184,5,5,223,210,5,5,8,244,5,5,242,232,5,5,212,218,5,5,76,218,5,5,99,229,5,5,62,207,5,5,179,231,5,5,176,199,5,5,217,201,5,5,57,225,5,5,178,182,5,5,227,218,5,5,177,199,5,5,113,197,5,5,127,243,5,5,119,231,5,5,228,218,5,5,104,203,5,5,101,230,5,5,37,178,5,5,166,239,5,5,142,221,5,5,82,200,5,5,192,184,5,5,218,174,5,5,222,212,5,5,124,195,5,5,116,186,5,5,40,174,5,5,16,218,5,5,213,229,5,5,69,191,5,5,232,196,5,5,141,192,5,5,94,206,5,5,169,180,5,5,115,225,5,5,212,181,5,5,233,227,5,5,214,229,5,5,44,241,5,5,219,190,5,5,33,190,5,5,92,193,5,5,247,232,5,5,104,230,5,5,167,222,5,5,167,164,5,5,173,163,5,5,235,201,5,5,86,218,5,5,251,218,5,5,234,196,5,5,155,186,5,5,161,167,5,5,15,195,5,5,75,166,5,5,30,224,5,5,42,233,5,5,105,248,5,5,132,236,5,5,110,191,5,5,50,216,5,5,110,239,5,5,141,213,5,5,222,165,5,5,202,202,5,5,132,174,5,5,46,168,5,5,170,184,5,5,119,203,5,5,236,222,5,5,103,233,5,5,236,216,5,5,69,225,5,5,163,175,5,5,56,247,5,5,115,215,5,5,140,231,5,5,131,248,5,5,213,202,5,5,34,217,5,5,228,220,5,5,18,219,5,5,166,175,5,5,94,203,5,5,247,201,5,5,32,192,5,5,33,192,5,5,64,193,5,5,77,231,5,5,34,237,5,5,103,231,5,5,219,202,5,5,220,195,5,5,107,172,5,5,88,234,5,5,226,169,5,5,34,219,5,5,203,202,5,5,55,190,5,5,134,236,5,5,3,202,5,5,218,244,5,5,57,247,5,5,232,209,5,5,241,235,5,5,167,197,5,5,160,240,5,5,70,201,5,5,118,209,5,5,142,202,5,5,44,237,5,5,168,214,5,5,237,168,5,5,13,204,5,5,14,222,5,5,238,222,5,5,54,233,5,5,81,191,5,5,48,237,5,5,203,184,5,5,245,235,5,5,132,200,5,5,150,230,5,5,177,184,5,5,162,248,5,5,132,168,5,5,234,202,5,5,85,182,5,5,58,247,5,5,80,225,5,5,218,199,5,5,45,197,5,5,84,191,5,5,173,165,5,5,252,235,5,5,158,230,5,5,17,222,5,5,242,186,5,5,15,235,5,5,55,217,5,5,135,245,5,5,124,204,5,5,132,212,5,5,178,212,5,5,133,212,5,5,51,197,5,5,143,247,5,5,148,228,5,5,125,206,5,5,234,241,5,5,48,226,5,5,158,222,5,5,184,181,5,5,170,185,5,5,98,209,5,5,196,219,5,5,219,241,5,5,216,165,5,5,8,164,5,5,220,241,5,5,70,166,5,5,141,245,5,5,171,221,5,5,88,204,5,5,194,209,5,5,99,177,5,5,2,245,5,5,222,193,5,5,167,241,5,5,229,218,5,5,123,226,5,5,239,241,5,5,48,181,5,5,93,204,5,5,124,226,5,5,103,208,5,5,145,214,5,5,107,225,5,5,153,195,5,5,16,235,5,5,176,245,5,5,42,176,5,5,16,196,5,5,16,195,5,5,47,222,5,5,203,216,5,5,133,236,5,5,72,194,5,5,106,196,5,5,211,175,5,5,78,222,5,5,192,217,5,5,179,245,5,5,148,245,5,5,45,241,5,5,222,247,5,5,81,207,5,5,153,212,5,5,193,241,5,5,194,241,5,5,51,181,5,5,247,223,5,5,34,248,5,5,92,181,5,5,113,177,5,5,93,207,5,5,25,188,5,5,10,213,5,5,123,245,5,5,108,196,5,5,129,226,5,5,216,219,5,5,194,196,5,5,192,196,5,5,250,190,5,5,79,225,5,5,253,234,5,5,81,168,5,5,93,232,5,5,21,235,5,5,205,209,5,5,159,212,5,5,219,175,5,5,94,232,5,5,38,191,5,5,123,209,5,5,26,187,5,5,203,225,5,5,110,227,5,5,194,174,5,5,195,210,5,5,210,225,5,5,142,201,5,5,173,208,5,5,23,198,5,5,55,229,5,5,143,173,5,5,136,229,5,5,168,171,5,5,238,211,5,5,137,220,5,5,227,221,5,5,105,189,5,5,236,190,5,5,90,166,5,5,155,206,5,5,164,206,5,5,11,221,5,5,179,163,5,5,182,235,5,5,60,208,5,5,158,201,5,5,180,182,5,5,112,237,5,5,166,206,5,5,106,177,5,5,110,240,5,5,148,229,5,5,171,206,5,5,241,211,5,5,179,203,5,5,164,168,5,5,159,178,5,5,249,227,5,5,134,222,5,5,140,234,5,5,128,176,5,5,28,235,5,5,216,245,5,5,186,206,5,5,184,195,5,5,187,206,5,5,165,221,5,5,167,221,5,5,22,185,5,5,151,167,5,5,174,247,5,5,37,223,5,5,116,192,5,5,192,170,5,5,169,221,5,5,252,246,5,5,22,178,5,5,218,201,5,5,191,214,5,5,0,144,5,5,62,237,5,5,63,202,5,5,2,211,5,5,232,219,5,5,79,237,5,5,247,240,5,5,91,222,5,5,40,249,5,5,71,199,5,5,179,198,5,5,219,214,5,5,108,234,5,5,15,165,5,5,234,164,5,5,20,205,5,5,228,239,5,5,238,178,5,5,57,228,5,5,23,229,5,5,8,175,5,5,172,176,5,5,173,221,5,5,243,182,5,5,11,223,5,5,12,193,5,5,70,187,5,5,107,209,5,5,6,172,5,5,254,163,5,5,26,181,5,5,179,235,5,5,106,174,5,5,241,233,5,5,134,164,5,5,255,166,5,5,27,175,5,5,181,231,5,5,239,176,5,5,113,189,5,5,247,231,5,5,144,184,5,5,107,174,5,5,74,192,5,5,15,173,5,5,20,203,5,5,139,192,5,5,60,173,5,5,19,227,5,5,53,170,5,5,189,166,5,5,244,180,5,5,209,204,5,5,137,212,5,5,237,190,5,5,25,172,5,5,196,165,5,5,141,190,5,5,41,194,5,5,172,211,5,5,43,223,5,5,134,243,5,5,241,241,5,5,150,215,5,5,239,164,5,5,143,212,5,5,57,196,5,5,133,176,5,5,197,214,5,5,176,205,5,5,72,212,5,5,81,237,5,5,189,230,5,5,131,172,5,5,5,197,5,5,235,221,5,5,212,182,5,5,229,201,5,5,31,175,5,5,185,198,5,5,246,233,5,5,252,222,5,5,154,195,5,5,52,185,5,5,35,165,5,5,216,227,5,5,71,176,5,5,88,221,5,5,248,233,5,5,43,174,5,5,146,249,5,5,219,181,5,5,162,166,5,5,191,186,5,5,120,186,5,5,27,207,5,5,88,194,5,5,39,205,5,5,96,198,5,5,183,182,5,5,206,213,5,5,252,218,5,5,116,225,5,5,63,237,5,5,82,227,5,5,241,221,5,5,248,232,5,5,204,214,5,5,235,227,5,5,153,181,5,5,249,233,5,5,187,242,5,5,49,192,5,5,88,196,5,5,126,192,5,5,31,224,5,5,50,197,5,5,208,192,5,5,147,249,5,5,142,237,5,5,87,210,5,5,205,214,5,5,40,205,5,5,44,167,5,5,56,185,5,5,105,232,5,5,240,164,5,5,58,165,5,5,59,165,5,5,209,191,5,5,119,179,5,5,201,193,5,5,152,247,5,5,229,204,5,5,164,175,5,5,22,193,5,5,48,223,5,5,95,221,5,5,140,211,5,5,163,227,5,5,40,220,5,5,40,190,5,5,107,163,5,5,242,201,5,5,231,188,5,5,64,237,5,5,63,208,5,5,133,174,5,5,89,219,5,5,23,193,5,5,59,197,5,5,134,210,5,5,94,210,5,5,64,208,5,5,40,226,5,5,89,194,5,5,12,249,5,5,253,233,5,5,224,232,5,5,141,163,5,5,255,231,5,5,112,209,5,5,70,182,5,5,98,190,5,5,243,175,5,5,156,214,5,5,242,230,5,5,120,205,5,5,114,217,5,5,203,165,5,5,84,237,5,5,53,216,5,5,158,215,5,5,202,168,5,5,198,220,5,5,129,216,5,5,20,199,5,5,188,239,5,5,244,221,5,5,192,248,5,5,86,226,5,5,99,191,5,5,7,245,5,5,251,178,5,5,191,229,5,5,97,202,5,5,170,203,5,5,60,201,5,5,130,216,5,5,13,170,5,5,67,173,5,5,62,226,5,5,146,222,5,5,103,168,5,5,217,173,5,5,177,221,5,5,61,201,5,5,116,209,5,5,36,198,5,5,228,209,5,5,161,171,5,5,186,210,5,5,102,193,5,5,168,196,5,5,115,227,5,5,4,186,5,5,155,249,5,5,139,197,5,5,94,180,5,5,229,248,5,5,13,224,5,5,15,192,5,5,190,172,5,5,243,230,5,5,98,221,5,5,63,192,5,5,253,183,5,5,190,210,5,5,208,214,5,5,19,235,5,5,32,191,5,5,171,167,5,5,30,178,5,5,106,187,5,5,79,165,5,5,59,222,5,5,176,225,5,5,218,227,5,5,53,223,5,5,249,221,5,5,48,211,5,5,246,190,5,5,31,186,5,5,239,204,5,5,147,166,5,5,213,186,5,5,126,200,5,5,85,165,5,5,188,176,5,5,66,235,5,5,151,242,5,5,175,167,5,5,89,234,5,5,148,222,5,5,13,168,5,5,87,168,5,5,188,175,5,5,149,248,5,5,136,171,5,5,117,182,5,5,9,232,5,5,219,227,5,5,55,194,5,5,197,239,5,5,88,199,5,5,146,224,5,5,159,195,5,5,164,234,5,5,207,168,5,5,89,232,5,5,8,202,5,5,28,194,5,5,192,236,5,5,6,186,5,5,3,234,5,5,60,190,5,5,83,184,5,5,214,236,5,5,20,235,5,5,117,177,5,5,216,236,5,5,27,185,5,5,177,178,5,5,82,189,5,5,169,214,5,5,127,163,5,5,121,171,5,5,220,227,5,5,118,176,5,5,250,187,5,5,253,175,5,5,184,177,5,5,181,174,5,5,58,205,5,5,18,172,5,5,175,196,5,5,116,175,5,5,17,204,5,5,129,176,5,5,74,201,5,5,85,237,5,5,186,185,5,5,124,232,5,5,175,214,5,5,68,190,5,5,106,227,5,5,125,232,5,5,70,209,5,5,216,166,5,5,71,209,5,5,217,166,5,5,147,192,5,5,101,207,5,5,46,178,5,5,69,190,5,5,199,242,5,5,142,163,5,5,77,176,5,5,15,236,5,5,4,222,5,5,255,190,5,5,103,210,5,5,162,188,5,5,148,166,5,5,70,220,5,5,79,185,5,5,117,227,5,5,46,186,5,5,178,196,5,5,249,247,5,5,237,248,5,5,236,197,5,5,206,220,5,5,131,179,5,5,241,180,5,5,12,184,5,5,47,224,5,5,114,202,5,5,219,240,5,5,72,209,5,5,146,180,5,5,154,222,5,5,72,220,5,5,254,172,5,5,75,236,5,5,71,220,5,5,198,210,5,5,74,222,5,5,148,180,5,5,78,190,5,5,216,189,5,5,72,205,5,5,72,182,5,5,203,244,5,5,172,248,5,5,84,185,5,5,15,191,5,5,128,209,5,5,168,188,5,5,54,186,5,5,112,210,5,5,243,248,5,5,224,222,5,5,230,211,5,5,169,188,5,5,213,165,5,5,181,178,5,5,63,233,5,5,243,186,5,5,153,235,5,5,117,190,5,5,204,244,5,5,245,248,5,5,76,222,5,5,182,248,5,5,68,171,5,5,165,176,5,5,10,173,5,5,141,228,5,5,131,219,5,5,149,228,5,5,214,184,5,5,98,197,5,5,144,185,5,5,47,215,5,5,175,231,5,5,151,183,5,5,36,235,5,5,58,221,5,5,71,210,5,5,204,219,5,5,235,164,5,5,91,164,5,5,101,245,5,5,128,227,5,5,212,195,5,5,52,230,5,5,125,173,5,5,16,165,5,5,233,234,5,5,253,243,5,5,136,219,5,5,67,223,5,5,147,179,5,5,98,199,5,5,0,145,5,5,71,187,5,5,121,192,5,5,67,207,5,5,202,166,5,5,116,169,5,5,144,234,5,5,80,220,5,5,57,220,5,5,179,186,5,5,152,236,5,5,55,181,5,5,72,187,5,5,223,212,5,5,157,236,5,5,159,201,5,5,181,182,5,5,128,231,5,5,242,233,5,5,220,248,5,5,17,220,5,5,228,188,5,5,178,222,5,5,162,163,5,5,221,185,5,5,134,173,5,5,38,239,5,5,173,211,5,5,178,197,5,5,47,189,5,5,210,215,5,5,120,174,5,5,48,189,5,5,96,234,5,5,99,206,5,5,6,187,5,5,223,248,5,5,41,190,5,5,253,206,5,5,210,208,5,5,247,234,5,5,175,163,5,5,20,221,5,5,232,188,5,5,146,233,5,5,103,206,5,5,183,193,5,5,161,199,5,5,90,236,5,5,91,236,5,5,91,180,5,5,223,165,5,5,42,230,5,5,218,171,5,5,37,198,5,5,237,216,5,5,147,233,5,5,21,199,5,5,121,205,5,5,123,232,5,5,188,233,5,5,204,186,5,5,95,214,5,5,52,174,5,5,171,184,5,5,242,163,5,5,66,193,5,5,11,215,5,5,16,192,5,5,95,180,5,5,47,210,5,5,96,203,5,5,33,234,5,5,182,222,5,5,98,180,5,5,45,171,5,5,93,236,5,5,139,173,5,5,63,232,5,5,222,195,5,5,68,206,5,5,78,169,5,5,94,236,5,5,95,236,5,5,176,184,5,5,25,213,5,5,54,189,5,5,69,206,5,5,98,196,5,5,145,163,5,5,196,200,5,5,167,229,5,5,152,233,5,5,236,215,5,5,178,184,5,5,120,182,5,5,17,184,5,5,147,187,5,5,21,233,5,5,196,176,5,5,20,184,5,5,59,181,5,5,100,186,5,5,86,171,5,5,106,235,5,5,125,204,5,5,108,213,5,5,195,194,5,5,105,221,5,5,127,204,5,5,99,242,5,5,167,202,5,5,168,223,5,5,51,220,5,5,221,217,5,5,191,248,5,5,144,201,5,5,144,247,5,5,99,197,5,5,193,246,5,5,129,230,5,5,53,247,5,5,26,247,5,5,13,210,5,5,240,182,5,5,114,231,5,5,218,179,5,5,54,184,5,5,228,172,5,5,171,202,5,5,73,229,5,5,98,226,5,5,211,167,5,5,244,220,5,5,129,227,5,5,149,201,5,5,167,218,5,5,64,202,5,5,78,173,5,5,139,249,5,5,130,230,5,5,9,176,5,5,171,205,5,5,148,236,5,5,176,173,5,5,224,236,5,5,234,234,5,5,150,204,5,5,213,231,5,5,34,163,5,5,187,205,5,5,35,174,5,5,230,218,5,5,206,233,5,5,184,231,5,5,22,224,5,5,154,201,5,5,214,231,5,5,147,185,5,5,124,213,5,5,108,174,5,5,70,214,5,5,157,228,5,5,49,163,5,5,229,221,5,5,168,211,5,5,114,189,5,5,230,221,5,5,6,228,5,5,159,192,5,5,66,244,5,5,109,174,5,5,33,182,5,5,219,220,5,5,98,175,5,5,217,225,5,5,196,226,5,5,211,222,5,5,96,215,5,5,236,232,5,5,86,208,5,5,109,164,5,5,205,211,5,5,117,169,5,5,143,229,5,5,37,233,5,5,49,197,5,5,91,206,5,5,138,230,5,5,186,198,5,5,77,214,5,5,160,203,5,5,144,221,5,5,26,224,5,5,134,193,5,5,163,163,5,5,156,207,5,5,32,197,5,5,10,199,5,5,217,233,5,5,175,200,5,5,220,192,5,5,159,179,5,5,161,203,5,5,31,196,5,5,44,204,5,5,73,212,5,5,230,191,5,5,142,190,5,5,170,217,5,5,179,164,5,5,206,215,5,5,116,174,5,5,254,191,5,5,22,179,5,5,62,231,5,5,56,181,5,5,135,243,5,5,120,185,5,5,78,214,5,5,252,207,5,5,19,217,5,5,224,191,5,5,41,177,5,5,213,182,5,5,116,235,5,5,58,206,5,5,72,216,5,5,86,200,5,5,157,207,5,5,117,218,5,5,41,205,5,5,3,208,5,5,18,223,5,5,207,171,5,5,224,220,5,5,73,191,5,5,117,225,5,5,32,210,5,5,86,229,5,5,153,164,5,5,214,182,5,5,149,214,5,5,179,200,5,5,208,210,5,5,241,192,5,5,9,215,5,5,175,180,5,5,225,179,5,5,22,214,5,5,162,201,5,5,135,213,5,5,121,174,5,5,135,181,5,5,3,237,5,5,142,178,5,5,235,196,5,5,44,174,5,5,100,206,5,5,77,199,5,5,87,218,5,5,188,242,5,5,106,208,5,5,242,173,5,5,195,202,5,5,43,217,5,5,148,230,5,5,104,233,5,5,172,224,5,5,89,178,5,5,98,187,5,5,96,191,5,5,50,189,5,5,34,224,5,5,105,212,5,5,9,228,5,5,211,208,5,5,212,208,5,5,165,222,5,5,213,208,5,5,223,246,5,5,183,210,5,5,218,215,5,5,29,228,5,5,31,246,5,5,17,209,5,5,188,179,5,5,224,246,5,5,199,192,5,5,100,247,5,5,185,164,5,5,99,222,5,5,24,234,5,5,184,193,5,5,248,234,5,5,211,190,5,5,92,188,5,5,18,209,5,5,144,220,5,5,60,165,5,5,8,226,5,5,134,189,5,5,180,171,5,5,140,208,5,5,113,209,5,5,90,181,5,5,105,233,5,5,138,194,5,5,106,232,5,5,240,212,5,5,141,231,5,5,173,216,5,5,63,189,5,5,198,205,5,5,164,172,5,5,252,230,5,5,243,171,5,5,120,248,5,5,135,233,5,5,19,173,5,5,97,191,5,5,29,217,5,5,120,244,5,5,3,229,5,5,67,209,5,5,35,217,5,5,54,216,5,5,233,204,5,5,69,195,5,5,221,215,5,5,34,231,5,5,181,171,5,5,248,201,5,5,175,178,5,5,170,226,5,5,9,177,5,5,245,171,5,5,152,171,5,5,64,249,5,5,87,214,5,5,30,164,5,5,139,235,5,5,229,209,5,5,204,165,5,5,206,200,5,5,224,192,5,5,59,235,5,5,212,171,5,5,140,246,5,5,231,174,5,5,95,246,5,5,214,179,5,5,62,192,5,5,162,171,5,5,29,214,5,5,202,188,5,5,108,233,5,5,248,165,5,5,195,249,5,5,146,243,5,5,180,180,5,5,115,193,5,5,19,219,5,5,196,249,5,5,73,225,5,5,95,224,5,5,109,175,5,5,212,213,5,5,65,249,5,5,137,233,5,5,210,216,5,5,234,244,5,5,170,246,5,5,225,192,5,5,115,217,5,5,182,244,5,5,246,205,5,5,161,240,5,5,105,222,5,5,219,183,5,5,149,164,5,5,67,193,5,5,68,167,5,5,68,220,5,5,240,204,5,5,163,233,5,5,85,212,5,5,2,230,5,5,120,249,5,5,213,213,5,5,223,234,5,5,11,213,5,5,80,231,5,5,165,179,5,5,239,174,5,5,156,249,5,5,176,224,5,5,35,192,5,5,224,230,5,5,26,199,5,5,52,232,5,5,139,180,5,5,226,215,5,5,191,236,5,5,230,220,5,5,149,233,5,5,166,179,5,5,106,201,5,5,30,234,5,5,86,165,5,5,11,174,5,5,165,234,5,5,214,186,5,5,217,236,5,5,251,242,5,5,95,213,5,5,151,233,5,5,95,185,5,5,11,208,5,5,192,210,5,5,153,170,5,5,134,218,5,5,82,191,5,5,108,172,5,5,88,168,5,5,151,188,5,5,46,171,5,5,179,217,5,5,138,233,5,5,9,202,5,5,68,228,5,5,45,237,5,5,26,173,5,5,102,191,5,5,193,164,5,5,117,239,5,5,23,236,5,5,97,170,5,5,197,241,5,5,78,211,5,5,13,201,5,5,239,215,5,5,235,202,5,5,167,227,5,5,27,215,5,5,72,230,5,5,180,217,5,5,49,237,5,5,153,209,5,5,205,232,5,5,254,232,5,5,96,218,5,5,116,228,5,5,96,236,5,5,248,188,5,5,156,248,5,5,249,172,5,5,251,187,5,5,14,226,5,5,73,233,5,5,141,205,5,5,31,230,5,5,148,224,5,5,4,231,5,5,28,215,5,5,133,200,5,5,153,199,5,5,59,233,5,5,26,213,5,5,80,211,5,5,209,249,5,5,54,175,5,5,34,229,5,5,137,200,5,5,157,213,5,5,246,235,5,5,63,205,5,5,32,206,5,5,197,200,5,5,75,232,5,5,70,235,5,5,110,214,5,5,74,204,5,5,96,165,5,5,61,176,5,5,182,240,5,5,207,184,5,5,51,237,5,5,183,240,5,5,222,227,5,5,217,216,5,5,239,202,5,5,33,166,5,5,162,210,5,5,47,186,5,5,241,168,5,5,205,217,5,5,61,233,5,5,241,208,5,5,184,167,5,5,3,242,5,5,151,169,5,5,159,185,5,5,41,214,5,5,62,233,5,5,46,197,5,5,24,242,5,5,40,217,5,5,102,185,5,5,76,215,5,5,113,224,5,5,118,204,5,5,217,189,5,5,114,224,5,5,149,244,5,5,14,234,5,5,167,230,5,5,79,215,5,5,30,233,5,5,64,233,5,5,156,190,5,5,244,186,5,5,176,175,5,5,89,186,5,5,114,185,5,5,214,188,5,5,102,235,5,5,121,204,5,5,140,247,5,5,130,201,5,5,42,220,5,5,39,215,5,5,134,191,5,5,190,248,5,5,43,202,5,5,187,246,5,5,21,197,5,5,152,202,5,5,116,230,5,5,51,246,5,5,132,249,5,5,135,201,5,5,95,226,5,5,199,167,5,5,121,227,5,5,182,192,5,5,235,182,5,5,122,230,5,5,140,233,5,5,195,190,5,5,72,173,5,5,151,218,5,5,21,247,5,5,169,173,5,5,211,221,5,5,234,220,5,5,51,184,5,5,62,229,5,5,183,215,5,5,155,192,5,5,54,214,5,5,75,174,5,5,185,188,5,5,230,232,5,5,142,228,5,5,114,213,5,5,65,218,5,5,202,222,5,5,47,220,5,5,105,164,5,5,76,174,5,5,206,225,5,5,2,228,5,5,36,240,5,5,80,206,5,5,84,175,5,5,152,164,5,5,52,231,5,5,145,203,5,5,25,196,5,5,29,230,5,5,27,177,5,5,177,198,5,5,72,200,5,5,253,191,5,5,162,217,5,5,55,206,5,5,135,190,5,5,134,207,5,5,33,204,5,5,208,182,5,5,234,192,5,5,133,214,5,5,247,207,5,5,16,215,5,5,122,213,5,5,9,237,5,5,151,179,5,5,172,202,5,5,162,180,5,5,222,201,5,5,11,217,5,5,115,189,5,5,99,244,5,5,12,217,5,5,13,209,5,5,158,172,5,5,2,226,5,5,2,229,5,5,132,194,5,5,32,229,5,5,19,246,5,5,177,171,5,5,26,228,5,5,189,164,5,5,23,224,5,5,184,179,5,5,88,188,5,5,104,212,5,5,89,233,5,5,139,220,5,5,212,246,5,5,90,191,5,5,93,222,5,5,120,231,5,5,64,195,5,5,47,216,5,5,213,204,5,5,206,171,5,5,67,186,5,5,170,180,5,5,160,171,5,5,230,201,5,5,112,249,5,5,87,200,5,5,117,235,5,5,84,178,5,5,167,178,5,5,244,165,5,5,207,215,5,5,58,192,5,5,95,222,5,5,204,200,5,5,249,176,5,5,72,191,5,5,199,165,5,5,237,171,5,5,48,249,5,5,230,205,5,5,224,174,5,5,222,230,5,5,225,220,5,5,5,174,5,5,213,234,5,5,27,192,5,5,85,224,5,5,192,186,5,5,112,240,5,5,224,204,5,5,17,166,5,5,70,168,5,5,144,170,5,5,89,185,5,5,113,244,5,5,211,236,5,5,92,170,5,5,22,236,5,5,30,214,5,5,239,187,5,5,104,228,5,5,197,232,5,5,23,206,5,5,161,210,5,5,148,209,5,5,188,200,5,5,67,204,5,5,60,233,5,5,230,172,5,5,55,214,5,5,189,192,5,5,233,172,5,5,8,212,5,5,234,172,5,5,65,209,5,5,50,163,5,5,191,168,5,5,101,216,5,5,252,219,5,5,200,192,5,5,114,244,5,5,122,244,5,5,145,211,5,5,235,213,5,5,114,194,5,5,74,233,5,5,14,180,5,5,131,234,5,5,62,209,5,5,136,247,5,5,139,244,5,5,103,185,5,5,21,180,5,5,218,189,5,5,124,194,5,5,88,247,5,5,87,247,5,5,178,192,5,5,92,247,5,5,105,198,5,5,89,190,5,5,85,190,5,5,89,174,5,5,36,171,5,5,126,172,5,5,10,193,5,5,193,221,5,5,205,206,5,5,26,170,5,5,41,193,5,5,233,171,5,5,192,192,5,5,19,163,5,5,133,193,5,5,171,180,5,5,253,207,5,5,117,174,5,5,219,228,5,5,239,242,5,5,239,219,5,5,43,233,5,5,135,193,5,5,48,222,5,5,106,248,5,5,253,218,5,5,235,238,5,5,133,172,5,5,70,186,5,5,112,229,5,5,127,235,5,5,8,168,5,5,55,169,5,5,94,188,5,5,24,163,5,5,135,172,5,5,209,186,5,5,248,223,5,5,146,246,5,5,80,165,5,5,224,202,5,5,204,232,5,5,163,226,5,5,98,188,5,5,10,202,5,5,12,208,5,5,123,171,5,5,249,219,5,5,102,190,5,5,17,168,5,5,30,202,5,5,36,202,5,5,176,190,5,5,15,244,5,5,72,171,5,5,31,211,5,5,24,175,5,5,237,169,5,5,31,244,5,5,77,242,5,5,74,242,5,5,100,173,5,5,0,146,5,5,2,192,5,5,83,244,5,5,42,193,5,5,32,211,5,5,174,232,5,5,3,192,5,5,117,189,5,5,76,240,5,5,231,221,5,5,152,176,5,5,244,214,5,5,74,211,5,5,170,239,5,5,208,215,5,5,63,231,5,5,123,212,5,5,124,212,5,5,76,211,5,5,180,200,5,5,209,236,5,5,211,215,5,5,113,240,5,5,90,244,5,5,45,211,5,5,138,210,5,5,224,247,5,5,226,192,5,5,183,203,5,5,56,180,5,5,71,249,5,5,12,213,5,5,28,173,5,5,70,228,5,5,118,173,5,5,71,228,5,5,182,188,5,5,100,185,5,5,228,192,5,5,85,183,5,5,85,211,5,5,163,224,5,5,6,248,5,5,232,194,5,5,51,240,5,5,154,226,5,5,115,247,5,5,79,173,5,5,150,201,5,5,91,223,5,5,92,223,5,5,235,234,5,5,110,174,5,5,198,213,5,5,126,164,5,5,77,240,5,5,229,184,5,5,78,240,5,5,214,167,5,5,118,189,5,5,101,188,5,5,231,218,5,5,206,211,5,5,48,213,5,5,17,214,5,5,73,216,5,5,224,212,5,5,129,213,5,5,36,195,5,5,197,209,5,5,88,200,5,5,17,200,5,5,150,214,5,5,161,227,5,5,163,201,5,5,18,206,5,5,181,176,5,5,249,234,5,5,188,172,5,5,165,175,5,5,164,227,5,5,108,223,5,5,245,221,5,5,50,205,5,5,116,217,5,5,113,223,5,5,104,168,5,5,109,233,5,5,200,246,5,5,29,200,5,5,38,198,5,5,140,197,5,5,168,197,5,5,151,198,5,5,119,238,5,5,73,168,5,5,171,240,5,5,152,188,5,5,40,198,5,5,161,238,5,5,249,188,5,5,104,167,5,5,206,209,5,5,122,238,5,5,250,172,5,5,172,240,5,5,138,200,5,5,126,217,5,5,173,175,5,5,2,242,5,5,193,185,5,5,192,185,5,5,119,195,5,5,64,170,5,5,164,219,5,5,177,208,5,5,72,192,5,5,75,192,5,5,76,192,5,5,68,177,5,5,42,177,5,5,26,239,5,5,173,229,5,5,28,231,5,5,24,183,5,5,25,183,5,5,155,178,5,5,117,185,5,5,130,181,5,5,176,231,5,5,217,192,5,5,7,224,5,5,252,197,5,5,140,249,5,5,20,163,5,5,215,167,5,5,167,239,5,5,180,235,5,5,251,211,5,5,21,203,5,5,68,207,5,5,166,199,5,5,162,225,5,5,209,185,5,5,220,190,5,5,88,202,5,5,54,180,5,5,191,238,5,5,241,185,5,5,88,183,5,5,46,206,5,5,128,167,5,5,90,219,5,5,245,185,5,5,15,202,5,5,216,185,5,5,221,199,5,5,25,242,5,5,153,169,5,5,244,199,5,5,53,239,5,5,19,240,5,5,195,177,5,5,61,241,5,5,6,175,5,5,111,237,5,5,224,210,5,5,141,249,5,5,69,223,5,5,232,175,5,5,233,175,5,5,151,201,5,5,235,192,5,5,106,218,5,5,87,167,5,5,233,183,5,5,235,175,5,5,220,220,5,5,193,223,5,5,119,189,5,5,83,221,5,5,79,242,5,5,157,245,5,5,225,187,5,5,238,190,5,5,112,218,5,5,114,184,5,5,18,181,5,5,39,239,5,5,41,241,5,5,249,180,5,5,109,193,5,5,42,217,5,5,124,188,5,5,5,198,5,5,50,229,5,5,202,187,5,5,155,168,5,5,104,206,5,5,82,207,5,5,241,164,5,5,220,176,5,5,169,193,5,5,34,247,5,5,30,217,5,5,162,168,5,5,51,235,5,5,230,177,5,5,168,183,5,5,157,181,5,5,30,207,5,5,60,235,5,5,107,196,5,5,215,188,5,5,169,196,5,5,61,235,5,5,143,188,5,5,131,247,5,5,172,196,5,5,148,188,5,5,153,188,5,5,67,235,5,5,120,238,5,5,29,229,5,5,119,237,5,5,138,181,5,5,176,196,5,5,5,184,5,5,135,218,5,5,255,175,5,5,129,184,5,5,92,209,5,5,198,183,5,5,140,181,5,5,141,181,5,5,16,191,5,5,51,248,5,5,47,248,5,5,233,219,5,5,177,235,5,5,144,236,5,5,114,240,5,5,167,236,5,5,185,235,5,5,241,219,5,5,242,219,5,5,56,230,5,5,3,240,5,5,10,185,5,5,205,201,5,5,250,209,5,5,194,195,5,5,51,234,5,5,137,191,5,5,68,163,5,5,210,200,5,5,31,201,5,5,217,239,5,5,123,230,5,5,212,214,5,5,212,230,5,5,34,220,5,5,90,249,5,5,33,178,5,5,183,192,5,5,49,231,5,5,108,192,5,5,128,223,5,5,189,245,5,5,4,225,5,5,36,193,5,5,66,218,5,5,77,198,5,5,24,174,5,5,174,172,5,5,99,173,5,5,229,166,5,5,131,167,5,5,198,204,5,5,161,173,5,5,156,222,5,5,34,242,5,5,237,182,5,5,11,239,5,5,195,195,5,5,60,230,5,5,196,194,5,5,57,248,5,5,52,247,5,5,158,241,5,5,167,208,5,5,241,167,5,5,150,210,5,5,179,212,5,5,180,212,5,5,198,172,5,5,196,195,5,5,123,206,5,5,137,179,5,5,205,228,5,5,225,222,5,5,45,221,5,5,255,213,5,5,208,228,5,5,121,246,5,5,52,220,5,5,28,177,5,5,7,176,5,5,201,172,5,5,0,162,5,5,75,163,5,5,202,211,5,5,78,181,5,5,206,163,5,5,105,193,5,5,104,179,5,5,177,231,5,5,7,196,5,5,71,218,5,5,204,183,5,5,178,168,5,5,200,231,5,5,160,174,5,5,132,167,5,5,163,220,5,5,89,215,5,5,9,233,5,5,231,166,5,5,71,203,5,5,41,229,5,5,72,218,5,5,252,163,5,5,71,172,5,5,165,211,5,5,250,198,5,5,3,195,5,5,64,223,5,5,235,243,5,5,186,216,5,5,6,244,5,5,232,190,5,5,13,179,5,5,246,194,5,5,191,189,5,5,148,206,5,5,150,184,5,5,126,242,5,5,108,167,5,5,48,196,5,5,161,239,5,5,165,194,5,5,189,197,5,5,143,191,5,5,16,179,5,5,7,223,5,5,245,203,5,5,39,218,5,5,40,218,5,5,34,239,5,5,242,238,5,5,203,198,5,5,108,168,5,5,142,183,5,5,201,231,5,5,217,193,5,5,104,225,5,5,47,181,5,5,77,218,5,5,236,234,5,5,200,169,5,5,9,214,5,5,237,234,5,5,10,214,5,5,181,169,5,5,180,169,5,5,65,202,5,5,118,214,5,5,101,184,5,5,85,196,5,5,210,235,5,5,188,232,5,5,178,208,5,5,67,183,5,5,77,171,5,5,191,184,5,5,163,190,5,5,237,246,5,5,89,163,5,5,55,247,5,5,213,246,5,5,245,214,5,5,40,204,5,5,161,206,5,5,80,242,5,5,196,198,5,5,192,234,5,5,197,187,5,5,58,228,5,5,173,181,5,5,203,169,5,5,101,226,5,5,212,228,5,5,153,210,5,5,68,175,5,5,219,207,5,5,153,234,5,5,246,214,5,5,27,216,5,5,12,182,5,5,11,167,5,5,108,225,5,5,35,183,5,5,223,168,5,5,205,175,5,5,13,182,5,5,43,184,5,5,84,183,5,5,26,168,5,5,47,193,5,5,91,190,5,5,73,187,5,5,172,188,5,5,49,221,5,5,244,234,5,5,111,203,5,5,62,189,5,5,206,229,5,5,5,168,5,5,147,165,5,5,208,190,5,5,109,168,5,5,121,185,5,5,158,196,5,5,34,226,5,5,38,176,5,5,107,181,5,5,36,183,5,5,95,206,5,5,7,183,5,5,241,184,5,5,98,241,5,5,139,242,5,5,139,230,5,5,214,228,5,5,4,226,5,5,174,174,5,5,170,174,5,5,215,206,5,5,176,172,5,5,36,211,5,5,239,246,5,5,23,179,5,5,6,168,5,5,165,193,5,5,97,233,5,5,220,177,5,5,203,245,5,5,244,169,5,5,167,183,5,5,141,222,5,5,103,223,5,5,58,234,5,5,96,190,5,5,188,238,5,5,252,176,5,5,209,238,5,5,126,216,5,5,73,183,5,5,149,229,5,5,226,229,5,5,114,183,5,5,189,249,5,5,234,222,5,5,58,230,5,5,239,237,5,5,4,236,5,5,220,181,5,5,149,241,5,5,107,205,5,5,82,246,5,5,49,204,5,5,203,247,5,5,28,203,5,5,171,178,5,5,46,165,5,5,14,225,5,5,225,174,5,5,212,215,5,5,214,183,5,5,208,171,5,5,160,245,5,5,135,180,5,5,91,182,5,5,156,164,5,5,157,210,5,5,75,191,5,5,161,245,5,5,77,236,5,5,84,180,5,5,173,236,5,5,100,222,5,5,183,191,5,5,124,240,5,5,108,163,5,5,231,187,5,5,89,202,5,5,9,168,5,5,26,214,5,5,12,192,5,5,79,191,5,5,38,166,5,5,182,238,5,5,19,225,5,5,46,190,5,5,170,193,5,5,111,167,5,5,21,226,5,5,157,165,5,5,44,206,5,5,49,174,5,5,92,180,5,5,75,169,5,5,253,212,5,5,123,222,5,5,100,191,5,5,8,204,5,5,227,244,5,5,52,191,5,5,21,219,5,5,88,217,5,5,90,226,5,5,30,189,5,5,202,182,5,5,172,167,5,5,220,183,5,5,24,226,5,5,243,187,5,5,250,234,5,5,239,193,5,5,165,214,5,5,130,180,5,5,25,173,5,5,132,218,5,5,10,204,5,5,110,228,5,5,244,198,5,5,251,234,5,5,46,231,5,5,55,216,5,5,15,237,5,5,138,173,5,5,129,244,5,5,69,228,5,5,2,222,5,5,18,176,5,5,96,196,5,5,200,184,5,5,150,182,5,5,154,188,5,5,87,165,5,5,230,249,5,5,184,207,5,5,234,225,5,5,173,240,5,5,239,207,5,5,250,184,5,5,180,188,5,5,24,236,5,5,151,182,5,5,70,193,5,5,231,208,5,5,255,234,5,5,43,166,5,5,202,217,5,5,83,183,5,5,211,245,5,5,192,232,5,5,234,215,5,5,169,165,5,5,176,216,5,5,186,196,5,5,253,184,5,5,153,242,5,5,213,189,5,5,222,199,5,5,217,231,5,5,129,190,5,5,228,211,5,5,193,232,5,5,177,190,5,5,179,183,5,5,218,231,5,5,179,224,5,5,66,210,5,5,192,245,5,5,182,194,5,5,177,232,5,5,247,188,5,5,176,194,5,5,189,231,5,5,26,204,5,5,234,183,5,5,63,224,5,5,192,202,5,5,8,192,5,5,64,224,5,5,182,171,5,5,254,183,5,5,178,218,5,5,201,218,5,5,172,191,5,5,100,205,5,5,43,177,5,5,83,218,5,5,248,214,5,5,120,179,5,5,201,220,5,5,157,204,5,5,184,215,5,5,168,247,5,5,129,223,5,5,221,241,5,5,182,247,5,5,155,226,5,5,130,213,5,5,131,213,5,5,172,204,5,5,233,247,5,5,32,248,5,5,174,216,5,5,31,207,5,5,179,204,5,5,33,216,5,5,177,227,5,5,183,227,5,5,214,227,5,5,148,204,5,5,62,227,5,5,232,179,5,5,81,229,5,5,89,227,5,5,111,181,5,5,46,180,5,5,7,169,5,5,8,169,5,5,91,194,5,5,154,199,5,5,121,181,5,5,64,226,5,5,229,229,5,5,207,213,5,5,68,245,5,5,254,219,5,5,131,175,5,5,54,226,5,5,50,228,5,5,219,239,5,5,68,173,5,5,155,166,5,5,140,179,5,5,14,173,5,5,92,164,5,5,55,226,5,5,180,198,5,5,177,173,5,5,70,164,5,5,236,164,5,5,82,190,5,5,208,222,5,5,90,205,5,5,117,234,5,5,120,189,5,5,174,221,5,5,248,231,5,5,108,178,5,5,90,163,5,5,97,215,5,5,201,191,5,5,56,226,5,5,199,213,5,5,195,189,5,5,144,212,5,5,119,167,5,5,225,212,5,5,51,196,5,5,122,174,5,5,85,232,5,5,243,173,5,5,193,186,5,5,236,227,5,5,214,247,5,5,121,186,5,5,175,181,5,5,107,248,5,5,83,246,5,5,109,163,5,5,12,171,5,5,94,184,5,5,221,206,5,5,62,201,5,5,18,228,5,5,70,195,5,5,249,165,5,5,105,172,5,5,54,177,5,5,224,175,5,5,172,164,5,5,139,223,5,5,162,240,5,5,57,236,5,5,123,234,5,5,42,234,5,5,246,185,5,5,114,175,5,5,90,217,5,5,253,241,5,5,164,226,5,5,146,176,5,5,78,176,5,5,71,211,5,5,250,189,5,5,245,239,5,5,113,202,5,5,146,205,5,5,223,199,5,5,252,170,5,5,242,208,5,5,252,189,5,5,219,189,5,5,117,224,5,5,248,229,5,5,172,192,5,5,40,189,5,5,199,204,5,5,243,204,5,5,222,235,5,5,33,243,5,5,111,174,5,5,163,168,5,5,76,243,5,5,95,243,5,5,46,234,5,5,55,234,5,5,4,240,5,5,20,185,5,5,127,181,5,5,237,203,5,5,55,238,5,5,14,183,5,5,19,181,5,5,238,203,5,5,130,203,5,5,149,167,5,5,191,246,5,5,20,240,5,5,205,223,5,5,174,171,5,5,69,171,5,5,109,192,5,5,62,210,5,5,54,248,5,5,55,248,5,5,245,227,5,5,127,212,5,5,34,178,5,5,63,199,5,5,5,209,5,5,189,170,5,5,190,231,5,5,73,200,5,5,247,236,5,5,183,218,5,5,39,216,5,5,242,167,5,5,77,174,5,5,141,182,5,5,56,246,5,5,18,245,5,5,67,218,5,5,34,209,5,5,45,228,5,5,24,247,5,5,167,210,5,5,91,230,5,5,78,174,5,5,135,195,5,5,213,203,5,5,188,189,5,5,249,216,5,5,210,201,5,5,219,210,5,5,168,208,5,5,164,242,5,5,75,173,5,5,0,137,5,5,9,231,5,5,250,215,5,5,159,202,5,5,101,199,5,5,102,199,5,5,152,173,5,5,93,245,5,5,129,207,5,5,69,192,5,5,156,218,5,5,134,249,5,5,220,210,5,5,132,238,5,5,155,225,5,5,58,170,5,5,246,240,5,5,199,172,5,5,180,230,5,5,175,198,5,5,42,235,5,5,164,243,5,5,72,242,5,5,237,165,5,5,37,240,5,5,125,209,5,5,57,246,5,5,42,187,5,5,25,168,5,5,196,237,5,5,185,215,5,5,5,225,5,5,114,234,5,5,215,221,5,5,129,236,5,5,161,180,5,5,94,249,5,5,79,230,5,5,99,189,5,5,114,179,5,5,248,227,5,5,166,176,5,5,146,171,5,5,126,211,5,5,50,187,5,5,25,250,5,5,4,195,5,5,88,172,5,5,207,163,5,5,253,163,5,5,73,192,5,5,232,171,5,5,220,239,5,5,221,239,5,5,55,207,5,5,65,168,5,5,234,230,5,5,21,196,5,5,113,184,5,5,186,183,5,5,76,163,5,5,67,166,5,5,51,228,5,5,7,215,5,5,217,241,5,5,48,215,5,5,123,164,5,5,145,201,5,5,94,244,5,5,95,219,5,5,230,178,5,5,199,206,5,5,29,177,5,5,226,183,5,5,117,192,5,5,226,198,5,5,179,168,5,5,198,169,5,5,90,174,5,5,20,229,5,5,7,193,5,5,12,165,5,5,122,246,5,5,91,174,5,5,28,222,5,5,62,170,5,5,53,173,5,5,13,203,5,5,23,170,5,5,24,170,5,5,2,163,5,5,174,233,5,5,107,169,5,5,111,231,5,5,211,176,5,5,38,223,5,5,168,202,5,5,83,206,5,5,233,190,5,5,99,235,5,5,30,184,5,5,49,249,5,5,62,217,5,5,158,244,5,5,134,212,5,5,169,191,5,5,32,172,5,5,65,187,5,5,56,231,5,5,237,243,5,5,175,192,5,5,171,210,5,5,216,223,5,5,187,224,5,5,68,248,5,5,211,197,5,5,196,231,5,5,192,187,5,5,26,245,5,5,173,202,5,5,218,193,5,5,216,233,5,5,21,205,5,5,175,233,5,5,86,192,5,5,166,194,5,5,200,170,5,5,145,223,5,5,246,203,5,5,247,203,5,5,98,174,5,5,183,247,5,5,138,221,5,5,115,231,5,5,12,206,5,5,47,200,5,5,123,243,5,5,146,223,5,5,130,172,5,5,47,231,5,5,186,230,5,5,151,226,5,5,215,170,5,5,175,182,5,5,245,222,5,5,67,210,5,5,172,221,5,5,226,217,5,5,173,200,5,5,31,174,5,5,61,212,5,5,220,191,5,5,7,175,5,5,96,206,5,5,168,216,5,5,65,226,5,5,47,234,5,5,85,206,5,5,35,239,5,5,243,238,5,5,160,209,5,5,40,223,5,5,100,230,5,5,91,205,5,5,163,180,5,5,33,201,5,5,183,168,5,5,66,187,5,5,172,205,5,5,200,185,5,5,140,229,5,5,174,222,5,5,28,175,5,5,46,203,5,5,20,230,5,5,17,165,5,5,243,231,5,5,161,209,5,5,78,200,5,5,174,202,5,5,99,176,5,5,185,248,5,5,57,231,5,5,247,200,5,5,149,216,5,5,139,190,5,5,159,244,5,5,227,217,5,5,220,205,5,5,69,237,5,5,128,243,5,5,169,169,5,5,152,201,5,5,54,220,5,5,238,241,5,5,38,178,5,5,69,246,5,5,180,186,5,5,206,175,5,5,36,174,5,5,102,230,5,5,180,243,5,5,114,197,5,5,218,164,5,5,139,166,5,5,166,249,5,5,173,176,5,5,208,181,5,5,253,236,5,5,254,236,5,5,109,225,5,5,190,224,5,5,27,245,5,5,128,165,5,5,210,212,5,5,239,192,5,5,74,187,5,5,224,168,5,5,232,221,5,5,118,169,5,5,75,187,5,5,176,222,5,5,244,232,5,5,14,182,5,5,19,210,5,5,134,227,5,5,205,236,5,5,191,224,5,5,156,167,5,5,23,207,5,5,204,169,5,5,225,170,5,5,172,216,5,5,92,206,5,5,178,223,5,5,158,228,5,5,26,208,5,5,180,242,5,5,148,181,5,5,45,242,5,5,199,234,5,5,84,194,5,5,130,198,5,5,81,242,5,5,200,234,5,5,49,203,5,5,85,247,5,5,153,236,5,5,55,184,5,5,231,227,5,5,202,215,5,5,143,186,5,5,112,174,5,5,161,237,5,5,119,169,5,5,64,247,5,5,155,203,5,5,104,183,5,5,92,172,5,5,176,195,5,5,48,185,5,5,121,188,5,5,246,226,5,5,173,245,5,5,248,181,5,5,51,215,5,5,197,199,5,5,46,242,5,5,161,244,5,5,100,244,5,5,235,194,5,5,102,226,5,5,213,170,5,5,216,170,5,5,218,233,5,5,218,246,5,5,97,206,5,5,250,176,5,5,208,211,5,5,241,178,5,5,214,204,5,5,103,232,5,5,14,193,5,5,230,184,5,5,24,190,5,5,248,206,5,5,133,246,5,5,27,208,5,5,241,183,5,5,206,196,5,5,119,197,5,5,225,168,5,5,36,232,5,5,25,192,5,5,182,193,5,5,118,174,5,5,209,190,5,5,246,224,5,5,27,224,5,5,99,237,5,5,37,226,5,5,142,220,5,5,166,170,5,5,28,234,5,5,3,163,5,5,185,186,5,5,213,181,5,5,53,163,5,5,135,198,5,5,50,164,5,5,18,211,5,5,235,207,5,5,226,212,5,5,229,210,5,5,216,176,5,5,112,203,5,5,226,168,5,5,102,176,5,5,189,205,5,5,164,209,5,5,115,179,5,5,221,192,5,5,115,199,5,5,15,193,5,5,124,189,5,5,162,172,5,5,230,210,5,5,207,238,5,5,97,247,5,5,192,164,5,5,38,220,5,5,140,242,5,5,216,206,5,5,215,204,5,5,7,189,5,5,28,180,5,5,82,229,5,5,83,181,5,5,161,175,5,5,47,199,5,5,199,208,5,5,120,197,5,5,245,234,5,5,186,179,5,5,82,226,5,5,36,165,5,5,12,225,5,5,176,200,5,5,211,172,5,5,53,185,5,5,133,208,5,5,226,170,5,5,192,168,5,5,234,245,5,5,39,176,5,5,157,227,5,5,177,200,5,5,236,242,5,5,171,239,5,5,27,181,5,5,200,208,5,5,219,246,5,5,247,233,5,5,28,183,5,5,7,221,5,5,67,182,5,5,134,204,5,5,250,180,5,5,93,190,5,5,113,165,5,5,217,240,5,5,227,170,5,5,151,163,5,5,35,167,5,5,221,177,5,5,166,244,5,5,172,244,5,5,167,244,5,5,146,214,5,5,212,235,5,5,226,209,5,5,17,195,5,5,105,216,5,5,240,246,5,5,30,248,5,5,215,247,5,5,226,174,5,5,200,188,5,5,109,217,5,5,110,217,5,5,115,183,5,5,250,233,5,5,177,245,5,5,117,226,5,5,151,214,5,5,204,247,5,5,220,165,5,5,75,170,5,5,210,238,5,5,240,237,5,5,144,190,5,5,173,244,5,5,60,196,5,5,61,196,5,5,16,206,5,5,209,171,5,5,17,233,5,5,18,233,5,5,214,232,5,5,26,164,5,5,41,230,5,5,82,213,5,5,101,241,5,5,211,238,5,5,210,211,5,5,225,204,5,5,123,174,5,5,95,191,5,5,101,206,5,5,102,167,5,5,212,173,5,5,164,201,5,5,165,201,5,5,33,198,5,5,52,243,5,5,191,181,5,5,185,219,5,5,131,231,5,5,51,216,5,5,145,230,5,5,177,191,5,5,74,209,5,5,118,211,5,5,79,171,5,5,54,201,5,5,162,228,5,5,227,168,5,5,244,191,5,5,249,178,5,5,60,220,5,5,108,205,5,5,84,246,5,5,99,163,5,5,243,245,5,5,157,166,5,5,196,202,5,5,15,199,5,5,190,232,5,5,29,203,5,5,172,178,5,5,243,241,5,5,4,237,5,5,49,235,5,5,76,212,5,5,244,245,5,5,184,220,5,5,128,196,5,5,154,181,5,5,255,200,5,5,83,213,5,5,204,226,5,5,48,209,5,5,24,186,5,5,100,233,5,5,150,241,5,5,9,249,5,5,217,169,5,5,115,249,5,5,150,229,5,5,253,176,5,5,142,222,5,5,73,194,5,5,82,230,5,5,48,217,5,5,135,224,5,5,96,195,5,5,162,196,5,5,105,199,5,5,40,206,5,5,234,185,5,5,85,246,5,5,224,166,5,5,120,242,5,5,52,236,5,5,242,243,5,5,209,226,5,5,108,226,5,5,255,226,5,5,119,249,5,5,194,220,5,5,145,186,5,5,191,230,5,5,230,170,5,5,99,187,5,5,10,212,5,5,65,237,5,5,62,249,5,5,100,187,5,5,29,207,5,5,241,212,5,5,168,164,5,5,169,225,5,5,224,216,5,5,226,181,5,5,51,188,5,5,206,199,5,5,154,177,5,5,184,210,5,5,215,232,5,5,203,166,5,5,186,234,5,5,13,249,5,5,170,225,5,5,121,248,5,5,75,196,5,5,65,167,5,5,229,168,5,5,230,168,5,5,251,182,5,5,189,229,5,5,56,213,5,5,107,173,5,5,151,249,5,5,94,221,5,5,230,204,5,5,90,202,5,5,241,230,5,5,122,234,5,5,6,239,5,5,42,171,5,5,212,197,5,5,75,237,5,5,195,220,5,5,42,172,5,5,53,236,5,5,31,217,5,5,46,188,5,5,57,213,5,5,63,193,5,5,122,186,5,5,76,231,5,5,129,247,5,5,248,191,5,5,206,234,5,5,210,226,5,5,85,180,5,5,122,190,5,5,223,230,5,5,212,236,5,5,112,217,5,5,234,163,5,5,227,241,5,5,45,194,5,5,61,165,5,5,136,233,5,5,139,194,5,5,23,233,5,5,31,181,5,5,254,233,5,5,8,167,5,5,25,186,5,5,55,176,5,5,204,202,5,5,205,186,5,5,167,228,5,5,135,186,5,5,122,248,5,5,178,189,5,5,176,244,5,5,129,169,5,5,110,177,5,5,34,181,5,5,54,170,5,5,160,182,5,5,229,225,5,5,168,167,5,5,214,238,5,5,144,188,5,5,62,235,5,5,89,213,5,5,196,168,5,5,230,209,5,5,202,205,5,5,109,226,5,5,184,203,5,5,35,246,5,5,74,182,5,5,40,234,5,5,132,248,5,5,137,240,5,5,164,231,5,5,13,188,5,5,69,165,5,5,239,189,5,5,44,217,5,5,143,166,5,5,26,221,5,5,91,185,5,5,63,211,5,5,148,170,5,5,190,242,5,5,136,189,5,5,197,202,5,5,158,165,5,5,141,194,5,5,109,198,5,5,184,176,5,5,184,236,5,5,47,190,5,5,203,227,5,5,239,228,5,5,185,176,5,5,134,171,5,5,194,217,5,5,149,170,5,5,113,163,5,5,10,177,5,5,187,234,5,5,179,219,5,5,168,228,5,5,175,217,5,5,141,246,5,5,22,199,5,5,116,238,5,5,81,171,5,5,242,185,5,5,160,234,5,5,215,222,5,5,29,234,5,5,181,166,5,5,45,206,5,5,114,171,5,5,63,235,5,5,37,184,5,5,111,200,5,5,8,208,5,5,193,243,5,5,122,205,5,5,62,184,5,5,92,229,5,5,147,243,5,5,171,193,5,5,203,224,5,5,86,199,5,5,142,227,5,5,157,195,5,5,187,210,5,5,26,169,5,5,179,232,5,5,28,232,5,5,64,211,5,5,186,175,5,5,176,188,5,5,28,189,5,5,158,195,5,5,48,238,5,5,70,165,5,5,210,186,5,5,101,246,5,5,103,202,5,5,140,210,5,5,53,229,5,5,247,172,5,5,236,170,5,5,192,238,5,5,145,224,5,5,156,177,5,5,22,218,5,5,11,204,5,5,2,231,5,5,3,231,5,5,127,185,5,5,234,247,5,5,174,209,5,5,173,225,5,5,124,199,5,5,241,204,5,5,172,169,5,5,157,249,5,5,4,164,5,5,63,242,5,5,213,211,5,5,61,190,5,5,23,230,5,5,121,200,5,5,253,237,5,5,185,180,5,5,191,172,5,5,181,207,5,5,48,233,5,5,145,172,5,5,195,230,5,5,114,173,5,5,173,196,5,5,233,229,5,5,253,230,5,5,17,241,5,5,214,216,5,5,240,174,5,5,182,207,5,5,113,176,5,5,36,245,5,5,255,178,5,5,142,235,5,5,166,214,5,5,149,213,5,5,247,190,5,5,9,247,5,5,11,228,5,5,222,208,5,5,242,204,5,5,198,249,5,5,76,237,5,5,149,189,5,5,150,248,5,5,216,213,5,5,134,247,5,5,108,202,5,5,175,201,5,5,193,235,5,5,201,184,5,5,130,185,5,5,123,217,5,5,200,249,5,5,151,248,5,5,63,213,5,5,16,198,5,5,12,164,5,5,214,197,5,5,79,238,5,5,250,245,5,5,127,200,5,5,128,200,5,5,225,202,5,5,195,233,5,5,56,216,5,5,244,246,5,5,137,171,5,5,174,240,5,5,158,186,5,5,26,206,5,5,101,234,5,5,173,228,5,5,70,211,5,5,155,188,5,5,28,195,5,5,73,249,5,5,38,175,5,5,237,180,5,5,61,180,5,5,53,217,5,5,88,165,5,5,94,220,5,5,77,237,5,5,67,215,5,5,27,173,5,5,208,177,5,5,99,214,5,5,71,193,5,5,100,214,5,5,118,229,5,5,135,205,5,5,215,197,5,5,123,201,5,5,216,235,5,5,9,216,5,5,199,217,5,5,250,241,5,5,180,163,5,5,71,236,5,5,119,229,5,5,203,217,5,5,151,178,5,5,145,168,5,5,106,246,5,5,128,184,5,5,44,224,5,5,166,169,5,5,204,230,5,5,82,168,5,5,130,179,5,5,229,202,5,5,74,232,5,5,207,224,5,5,205,220,5,5,64,239,5,5,197,183,5,5,192,244,5,5,37,192,5,5,93,235,5,5,176,214,5,5,232,208,5,5,137,172,5,5,59,205,5,5,38,217,5,5,139,196,5,5,111,202,5,5,226,165,5,5,115,177,5,5,122,171,5,5,39,186,5,5,254,205,5,5,126,234,5,5,163,171,5,5,160,212,5,5,120,209,5,5,165,215,5,5,3,188,5,5,193,238,5,5,127,215,5,5,195,236,5,5,54,191,5,5,184,240,5,5,39,217,5,5,48,214,5,5,226,186,5,5,185,240,5,5,240,184,5,5,135,185,5,5,108,204,5,5,193,176,5,5,176,218,5,5,193,163,5,5,144,180,5,5,255,241,5,5,148,169,5,5,242,200,5,5,170,165,5,5,251,172,5,5,74,236,5,5,16,180,5,5,75,182,5,5,161,212,5,5,181,209,5,5,156,246,5,5,75,188,5,5,139,200,5,5,196,238,5,5,38,192,5,5,204,249,5,5,66,164,5,5,142,187,5,5,121,229,5,5,181,225,5,5,52,238,5,5,35,189,5,5,76,232,5,5,129,217,5,5,24,211,5,5,82,185,5,5,224,199,5,5,71,182,5,5,131,245,5,5,5,231,5,5,6,231,5,5,243,208,5,5,209,198,5,5,214,189,5,5,136,236,5,5,87,182,5,5,253,170,5,5,207,249,5,5,208,168,5,5,45,248,5,5,206,217,5,5,240,202,5,5,89,208,5,5,130,217,5,5,85,169,5,5,49,210,5,5,137,236,5,5,90,208,5,5,15,174,5,5,14,184,5,5,147,163,5,5,155,230,5,5,200,240,5,5,171,215,5,5,250,247,5,5,14,207,5,5,211,188,5,5,184,188,5,5,230,243,5,5,72,211,5,5,145,244,5,5,9,191,5,5,223,179,5,5,111,246,5,5,240,248,5,5,158,189,5,5,224,211,5,5,205,241,5,5,36,173,5,5,232,169,5,5,159,198,5,5,113,196,5,5,52,186,5,5,243,202,5,5,119,176,5,5,158,170,5,5,160,185,5,5,106,185,5,5,36,200,5,5,230,173,5,5,98,218,5,5,161,246,5,5,142,196,5,5,155,220,5,5,245,199,5,5,240,186,5,5,247,202,5,5,63,171,5,5,139,185,5,5,251,199,5,5,113,190,5,5,32,202,5,5,143,196,5,5,80,190,5,5,9,205,5,5,218,235,5,5,151,180,5,5,113,185,5,5,106,212,5,5,188,214,5,5,209,240,5,5,180,190,5,5,170,170,5,5,122,165,5,5,217,198,5,5,42,199,5,5,229,189,5,5,222,184,5,5,88,191,5,5,112,235,5,5,134,214,5,5,122,210,5,5,218,225,5,5,233,198,5,5,191,216,5,5,180,234,5,5,113,174,5,5,192,216,5,5,199,216,5,5,234,189,5,5,48,199,5,5,216,247,5,5,6,198,5,5,255,203,5,5,83,207,5,5,172,193,5,5,57,164,5,5,192,242,5,5,148,220,5,5,149,220,5,5,109,196,5,5,27,166,5,5,154,213,5,5,165,229,5,5,166,226,5,5,252,209,5,5,75,177,5,5,129,202,5,5,255,209,5,5,196,177,5,5,187,226,5,5,169,213,5,5,135,207,5,5,132,219,5,5,179,227,5,5,145,247,5,5,80,198,5,5,178,231,5,5,146,201,5,5,6,200,5,5,223,170,5,5,204,191,5,5,248,236,5,5,171,213,5,5,217,223,5,5,240,226,5,5,222,239,5,5,33,169,5,5,97,216,5,5,154,173,5,5,210,237,5,5,0,147,5,5,70,223,5,5,81,210,5,5,27,247,5,5,28,247,5,5,11,231,5,5,160,164,5,5,246,167,5,5,211,248,5,5,212,248,5,5,22,208,5,5,179,208,5,5,176,182,5,5,209,243,5,5,180,208,5,5,74,234,5,5,41,249,5,5,140,207,5,5,48,200,5,5,225,210,5,5,181,208,5,5,246,222,5,5,248,240,5,5,217,197,5,5,90,172,5,5,84,247,5,5,101,173,5,5,102,173,5,5,181,198,5,5,200,194,5,5,70,232,5,5,205,174,5,5,61,230,5,5,221,203,5,5,99,174,5,5,8,223,5,5,194,175,5,5,47,164,5,5,146,215,5,5,160,183,5,5,96,179,5,5,223,209,5,5,47,242,5,5,114,219,5,5,188,168,5,5,41,223,5,5,112,242,5,5,115,197,5,5,64,198,5,5,69,207,5,5,76,187,5,5,211,174,5,5,64,230,5,5,84,219,5,5,77,192,5,5,251,167,5,5,252,167,5,5,98,215,5,5,233,221,5,5,80,177,5,5,129,165,5,5,72,166,5,5,13,193,5,5,81,220,5,5,169,211,5,5,180,227,5,5,253,180,5,5,121,189,5,5,48,193,5,5,34,176,5,5,49,193,5,5,162,244,5,5,77,187,5,5,59,225,5,5,174,211,5,5,91,170,5,5,173,191,5,5,219,233,5,5,52,200,5,5,53,200,5,5,207,170,5,5,219,174,5,5,39,244,5,5,143,245,5,5,198,187,5,5,145,221,5,5,105,239,5,5,102,215,5,5,58,196,5,5,250,203,5,5,83,187,5,5,96,240,5,5,193,168,5,5,134,208,5,5,73,197,5,5,181,227,5,5,172,239,5,5,98,247,5,5,121,169,5,5,145,212,5,5,109,209,5,5,19,194,5,5,146,212,5,5,244,218,5,5,108,170,5,5,222,185,5,5,145,219,5,5,52,203,5,5,53,183,5,5,118,235,5,5,201,208,5,5,127,216,5,5,227,203,5,5,33,210,5,5,237,227,5,5,17,250,5,5,56,203,5,5,98,182,5,5,180,223,5,5,174,163,5,5,169,237,5,5,137,198,5,5,113,229,5,5,139,217,5,5,213,173,5,5,220,228,5,5,221,228,5,5,172,174,5,5,213,215,5,5,122,219,5,5,32,245,5,5,124,174,5,5,194,186,5,5,123,186,5,5,47,165,5,5,163,225,5,5,10,249,5,5,84,242,5,5,171,203,5,5,44,176,5,5,189,242,5,5,155,181,5,5,174,177,5,5,99,182,5,5,54,200,5,5,178,245,5,5,90,218,5,5,102,237,5,5,165,172,5,5,222,206,5,5,112,171,5,5,215,208,5,5,216,208,5,5,123,248,5,5,65,208,5,5,245,184,5,5,13,171,5,5,46,211,5,5,128,235,5,5,242,212,5,5,212,190,5,5,101,187,5,5,53,177,5,5,32,181,5,5,189,179,5,5,213,196,5,5,98,198,5,5,141,198,5,5,124,248,5,5,169,164,5,5,178,172,5,5,10,168,5,5,246,245,5,5,185,178,5,5,125,240,5,5,14,249,5,5,243,236,5,5,81,212,5,5,158,210,5,5,15,231,5,5,169,183,5,5,103,211,5,5,136,246,5,5,64,189,5,5,185,193,5,5,178,246,5,5,243,178,5,5,245,237,5,5,94,164,5,5,5,177,5,5,101,247,5,5,78,234,5,5,72,244,5,5,177,244,5,5,151,193,5,5,88,224,5,5,225,177,5,5,246,184,5,5,26,195,5,5,172,203,5,5,248,213,5,5,158,181,5,5,79,170,5,5,211,216,5,5,183,171,5,5,226,247,5,5,120,203,5,5,2,227,5,5,117,217,5,5,63,201,5,5,246,242,5,5,205,165,5,5,43,230,5,5,247,245,5,5,232,174,5,5,66,249,5,5,14,170,5,5,142,246,5,5,137,174,5,5,193,230,5,5,31,214,5,5,61,242,5,5,39,210,5,5,38,170,5,5,181,213,5,5,121,244,5,5,212,226,5,5,171,226,5,5,57,180,5,5,150,221,5,5,110,233,5,5,181,180,5,5,233,174,5,5,67,249,5,5,132,196,5,5,231,170,5,5,249,184,5,5,251,177,5,5,23,199,5,5,231,209,5,5,55,177,5,5,103,187,5,5,180,245,5,5,121,249,5,5,242,211,5,5,117,183,5,5,243,185,5,5,87,226,5,5,78,231,5,5,180,244,5,5,21,206,5,5,114,164,5,5,125,186,5,5,123,167,5,5,143,235,5,5,13,213,5,5,222,233,5,5,14,213,5,5,72,249,5,5,119,247,5,5,149,188,5,5,58,236,5,5,79,164,5,5,81,231,5,5,82,231,5,5,104,202,5,5,8,245,5,5,26,215,5,5,152,198,5,5,248,210,5,5,192,239,5,5,213,164,5,5,125,199,5,5,96,180,5,5,240,239,5,5,43,178,5,5,30,183,5,5,141,197,5,5,27,199,5,5,240,193,5,5,38,169,5,5,46,172,5,5,163,240,5,5,40,247,5,5,183,244,5,5,100,179,5,5,217,222,5,5,124,234,5,5,39,236,5,5,69,209,5,5,131,170,5,5,60,181,5,5,240,228,5,5,103,227,5,5,43,234,5,5,24,223,5,5,16,177,5,5,121,238,5,5,62,190,5,5,151,246,5,5,36,219,5,5,99,180,5,5,206,224,5,5,74,168,5,5,217,211,5,5,14,168,5,5,238,247,5,5,136,205,5,5,101,190,5,5,247,185,5,5,10,211,5,5,218,222,5,5,227,243,5,5,27,206,5,5,203,229,5,5,43,247,5,5,170,214,5,5,245,246,5,5,156,219,5,5,181,219,5,5,27,169,5,5,28,169,5,5,155,193,5,5,66,188,5,5,40,170,5,5,20,213,5,5,68,235,5,5,216,186,5,5,132,170,5,5,171,214,5,5,51,225,5,5,29,221,5,5,220,170,5,5,113,216,5,5,144,169,5,5,29,233,5,5,145,235,5,5,236,209,5,5,101,179,5,5,136,218,5,5,177,167,5,5,178,167,5,5,73,204,5,5,219,211,5,5,118,165,5,5,252,187,5,5,73,167,5,5,26,194,5,5,97,213,5,5,143,202,5,5,128,222,5,5,75,201,5,5,179,172,5,5,187,185,5,5,186,207,5,5,187,207,5,5,134,200,5,5,197,243,5,5,103,224,5,5,18,204,5,5,117,228,5,5,59,183,5,5,177,214,5,5,37,245,5,5,173,226,5,5,247,217,5,5,146,235,5,5,241,225,5,5,81,225,5,5,79,176,5,5,16,187,5,5,111,214,5,5,119,228,5,5,246,239,5,5,138,206,5,5,40,175,5,5,107,224,5,5,63,209,5,5,164,233,5,5,88,216,5,5,207,227,5,5,128,190,5,5,252,210,5,5,197,244,5,5,221,223,5,5,131,187,5,5,58,232,5,5,127,217,5,5,163,188,5,5,179,221,5,5,13,232,5,5,249,213,5,5,221,170,5,5,112,214,5,5,244,208,5,5,93,231,5,5,67,205,5,5,19,171,5,5,237,197,5,5,205,230,5,5,225,199,5,5,71,222,5,5,194,203,5,5,148,168,5,5,82,197,5,5,141,171,5,5,37,173,5,5,104,185,5,5,193,203,5,5,4,185,5,5,21,172,5,5,233,186,5,5,120,226,5,5,148,187,5,5,242,209,5,5,18,184,5,5,220,189,5,5,47,178,5,5,184,214,5,5,164,221,5,5,17,191,5,5,149,187,5,5,18,191,5,5,231,173,5,5,59,241,5,5,205,164,5,5,131,183,5,5,78,193,5,5,229,207,5,5,150,244,5,5,168,229,5,5,41,213,5,5,82,234,5,5,231,211,5,5,96,212,5,5,48,178,5,5,83,234,5,5,125,170,5,5,234,211,5,5,195,203,5,5,187,221,5,5,18,222,5,5,78,217,5,5,32,201,5,5,58,184,5,5,232,166,5,5,219,184,5,5,28,216,5,5,253,222,5,5,183,169,5,5,76,239,5,5,242,194,5,5,142,171,5,5,163,213,5,5,139,216,5,5,221,242,5,5,187,195,5,5,96,249,5,5,7,212,5,5,122,189,5,5,167,217,5,5,144,229,5,5,99,215,5,5,218,182,5,5,102,216,5,5,113,203,5,5,107,215,5,5,3,241,5,5,24,199,5,5,143,246,5,5,167,175,5,5,161,226,5,5,147,246,5,5,169,175,5,5,161,222,5,5,207,198,5,5,232,211,5,5,87,239,5,5,85,239,5,5,112,166,5,5,136,192,5,5,176,247,5,5,182,165,5,5,158,223,5,5,151,239,5,5,52,228,5,5,222,224,5,5,32,174,5,5,130,194,5,5,80,173,5,5,196,229,5,5,148,203,5,5,241,182,5,5,209,222,5,5,10,176,5,5,66,240,5,5,247,222,5,5,210,222,5,5,222,203,5,5,168,218,5,5,11,214,5,5,62,230,5,5,78,218,5,5,131,230,5,5,203,210,5,5,173,205,5,5,23,208,5,5,42,249,5,5,4,170,5,5,218,223,5,5,133,238,5,5,32,184,5,5,10,200,5,5,63,230,5,5,22,203,5,5,34,182,5,5,170,189,5,5,99,175,5,5,48,164,5,5,20,167,5,5,240,241,5,5,16,233,5,5,25,165,5,5,7,228,5,5,26,180,5,5,70,207,5,5,156,197,5,5,64,217,5,5,18,215,5,5,221,220,5,5,168,239,5,5,167,166,5,5,51,163,5,5,153,176,5,5,158,245,5,5,212,174,5,5,133,194,5,5,232,218,5,5,233,218,5,5,65,230,5,5,88,167,5,5,79,240,5,5,65,170,5,5,15,182,5,5,245,182,5,5,57,192,5,5,168,217,5,5,142,219,5,5,170,211,5,5,220,163,5,5,134,194,5,5,49,213,5,5,223,183,5,5,91,163,5,5,52,163,5,5,119,174,5,5,73,223,5,5,74,223,5,5,32,196,5,5,140,230,5,5,59,206,5,5,53,203,5,5,101,205,5,5,94,163,5,5,162,203,5,5,40,239,5,5,147,191,5,5,190,230,5,5,146,221,5,5,227,193,5,5,136,243,5,5,12,234,5,5,199,187,5,5,249,194,5,5,178,216,5,5,179,222,5,5,72,176,5,5,200,216,5,5,207,196,5,5,207,195,5,5,35,184,5,5,151,229,5,5,57,203,5,5,236,196,5,5,123,225,5,5,7,187,5,5,222,207,5,5,163,228,5,5,43,167,5,5,178,191,5,5,115,240,5,5,108,248,5,5,226,220,5,5,41,188,5,5,34,210,5,5,125,212,5,5,198,202,5,5,116,240,5,5,116,166,5,5,180,222,5,5,216,229,5,5,139,227,5,5,126,212,5,5,8,187,5,5,134,188,5,5,173,188,5,5,33,196,5,5,42,205,5,5,229,172,5,5,73,224,5,5,62,165,5,5,214,196,5,5,190,179,5,5,104,249,5,5,135,189,5,5,75,223,5,5,248,224,5,5,35,224,5,5,59,178,5,5,184,165,5,5,65,189,5,5,6,229,5,5,240,166,5,5,241,166,5,5,166,172,5,5,15,249,5,5,123,190,5,5,186,193,5,5,243,242,5,5,249,177,5,5,230,180,5,5,10,219,5,5,223,206,5,5,236,239,5,5,205,202,5,5,118,218,5,5,137,193,5,5,208,195,5,5,68,209,5,5,233,180,5,5,182,180,5,5,234,174,5,5,172,226,5,5,88,214,5,5,224,165,5,5,56,177,5,5,217,196,5,5,160,178,5,5,23,215,5,5,24,215,5,5,164,197,5,5,105,249,5,5,3,164,5,5,31,164,5,5,235,174,5,5,227,247,5,5,126,182,5,5,247,242,5,5,30,200,5,5,237,163,5,5,193,225,5,5,77,191,5,5,36,167,5,5,247,175,5,5,174,249,5,5,40,179,5,5,64,192,5,5,15,175,5,5,237,199,5,5,83,231,5,5,107,249,5,5,225,230,5,5,31,183,5,5,111,208,5,5,234,236,5,5,80,164,5,5,100,182,5,5,78,223,5,5,119,236,5,5,39,184,5,5,123,244,5,5,232,203,5,5,97,210,5,5,238,199,5,5,37,196,5,5,156,188,5,5,32,186,5,5,217,186,5,5,170,219,5,5,218,226,5,5,83,191,5,5,175,240,5,5,21,177,5,5,101,214,5,5,68,215,5,5,152,246,5,5,188,165,5,5,44,234,5,5,11,202,5,5,79,211,5,5,113,236,5,5,6,164,5,5,57,216,5,5,116,165,5,5,147,174,5,5,60,205,5,5,150,222,5,5,61,205,5,5,2,235,5,5,112,202,5,5,254,175,5,5,228,231,5,5,29,173,5,5,128,163,5,5,114,216,5,5,15,216,5,5,131,165,5,5,24,230,5,5,133,170,5,5,40,186,5,5,137,238,5,5,14,232,5,5,59,194,5,5,53,234,5,5,52,237,5,5,204,184,5,5,76,224,5,5,183,188,5,5,97,165,5,5,181,205,5,5,80,176,5,5,122,229,5,5,36,180,5,5,100,165,5,5,48,186,5,5,242,168,5,5,206,230,5,5,177,218,5,5,149,178,5,5,124,229,5,5,162,245,5,5,108,227,5,5,166,163,5,5,42,214,5,5,138,163,5,5,234,224,5,5,85,185,5,5,19,191,5,5,72,213,5,5,80,215,5,5,55,186,5,5,171,219,5,5,121,175,5,5,108,207,5,5,164,232,5,5,224,226,5,5,75,205,5,5,93,167,5,5,210,240,5,5,101,186,5,5,22,241,5,5,169,212,5,5,170,212,5,5,235,241,5,5,250,173,5,5,249,179,5,5,254,174,5,5,16,174,5,5,247,174,5,5,27,163,5,5,147,197,5,5,33,202,5,5,38,202,5,5,78,205,5,5,68,194,5,5,242,165,5,5,34,243,5,5,223,193,5,5,146,207,5,5,119,168,5,5,66,170,5,5,99,171,5,5,100,171,5,5,131,171,5,5,66,227,5,5,183,235,5,5,71,224,5,5,94,190,5,5,158,207,5,5,106,171,5,5,57,181,5,5,135,188,5,5,245,241,5,5,11,219,5,5,32,208,5,5,58,213,5,5,84,228,5,5,248,245,5,5,145,213,5,5,113,181,5,5,235,247,5,5,74,186,5,5,254,237,5,5,28,178,5,5,211,210,5,5,129,167,5,5,226,202,5,5,47,172,5,5,188,244,5,5,100,192,5,5,190,211,5,5,150,220,5,5,255,205,5,5,77,194,5,5,130,176,5,5,143,205,5,5,103,190,5,5,5,212,5,5,253,204,5,5,43,246,5,5,197,207,5,5,194,211,5,5,106,190,5,5,80,186,5,5,203,228,5,5,197,176,5,5,83,194,5,5,76,205,5,5,65,194,5,5,23,243,5,5,211,193,5,5,91,171,5,5,56,227,5,5,68,224,5,5,63,186,5,5,136,207,5,5,175,202,5,5,50,213,5,5,174,176,5,5,108,181,5,5,217,247,5,5,97,192,5,5,241,205,5,5,253,211,5,5,27,204,5,5,3,210,5,5,168,205,5,5,145,234,5,5,147,207,5,5,234,218,5,5,8,224,5,5,72,202,5,5,16,193,5,5,40,176,5,5,132,231,5,5,217,176,5,5,231,228,5,5,143,199,5,5,77,212,5,5,179,191,5,5,83,227,5,5,199,203,5,5,21,194,5,5,207,194,5,5,223,225,5,5,200,203,5,5,27,201,5,5,36,210,5,5,128,216,5,5,174,236,5,5,170,183,5,5,249,201,5,5,48,190,5,5,22,219,5,5,76,219,5,5,81,165,5,5,133,216,5,5,30,199,5,5,241,228,5,5,213,194,5,5,44,219,5,5,72,217,5,5,236,225,5,5,36,213,5,5,205,239,5,5,155,187,5,5,201,207,5,5,39,213,5,5,89,243,5,5,43,213,5,5,157,242,5,5,158,242,5,5,215,177,5,5,200,174,5,5,4,210,5,5,5,210,5,5,86,204,5,5,113,201,5,5,169,202,5,5,239,172,5,5,8,218,5,5,100,177,5,5,185,201,5,5,219,223,5,5,202,179,5,5,189,216,5,5,149,203,5,5,162,239,5,5,132,230,5,5,9,218,5,5,173,243,5,5,91,228,5,5,41,209,5,5,10,182,5,5,176,202,5,5,10,218,5,5,174,243,5,5,162,237,5,5,82,173,5,5,36,241,5,5,146,241,5,5,126,237,5,5,192,228,5,5,181,243,5,5,255,215,5,5,148,207,5,5,194,214,5,5,5,183,5,5,192,224,5,5,48,242,5,5,170,218,5,5,41,218,5,5,178,173,5,5,29,216,5,5,229,223,5,5,194,227,5,5,52,215,5,5,202,235,5,5,166,222,5,5,233,216,5,5,80,240,5,5,81,240,5,5,158,236,5,5,14,223,5,5,80,197,5,5,161,228,5,5,121,197,5,5,20,217,5,5,222,220,5,5,236,221,5,5,119,221,5,5,89,192,5,5,133,231,5,5,186,231,5,5,84,220,5,5,50,193,5,5,220,174,5,5,34,205,5,5,44,177,5,5,125,189,5,5,218,176,5,5,84,244,5,5,84,187,5,5,54,183,5,5,89,167,5,5,59,220,5,5,160,192,5,5,97,240,5,5,72,207,5,5,242,241,5,5,115,219,5,5,173,239,5,5,174,239,5,5,240,211,5,5,237,219,5,5,194,168,5,5,37,165,5,5,49,218,5,5,175,211,5,5,4,163,5,5,32,175,5,5,237,232,5,5,153,179,5,5,197,221,5,5,179,233,5,5,146,219,5,5,12,250,5,5,235,216,5,5,234,217,5,5,117,240,5,5,93,201,5,5,125,197,5,5,84,227,5,5,151,223,5,5,224,214,5,5,205,226,5,5,169,198,5,5,171,223,5,5,93,192,5,5,22,194,5,5,78,212,5,5,96,200,5,5,173,203,5,5,144,199,5,5,225,191,5,5,74,216,5,5,245,245,5,5,164,228,5,5,61,220,5,5,184,182,5,5,41,171,5,5,86,220,5,5,56,172,5,5,241,237,5,5,22,200,5,5,185,242,5,5,42,218,5,5,136,193,5,5,78,239,5,5,95,166,5,5,49,181,5,5,179,239,5,5,123,185,5,5,147,221,5,5,7,197,5,5,41,196,5,5,33,245,5,5,109,248,5,5,136,180,5,5,206,202,5,5,12,219,5,5,146,230,5,5,156,234,5,5,136,186,5,5,170,237,5,5,14,197,5,5,94,238,5,5,90,227,5,5,176,181,5,5,51,176,5,5,235,163,5,5,89,224,5,5,117,242,5,5,252,195,5,5,198,209,5,5,209,210,5,5,174,229,5,5,213,238,5,5,33,248,5,5,226,214,5,5,124,225,5,5,229,203,5,5,219,215,5,5,6,245,5,5,120,245,5,5,50,192,5,5,128,237,5,5,106,166,5,5,102,200,5,5,175,206,5,5,177,229,5,5,252,220,5,5,178,229,5,5,250,177,5,5,162,199,5,5,48,225,5,5,207,229,5,5,185,203,5,5,71,195,5,5,182,211,5,5,88,235,5,5,198,214,5,5,35,237,5,5,102,247,5,5,116,215,5,5,189,172,5,5,21,223,5,5,72,179,5,5,138,240,5,5,217,183,5,5,194,243,5,5,111,177,5,5,29,168,5,5,55,222,5,5,141,224,5,5,174,224,5,5,160,222,5,5,214,202,5,5,144,208,5,5,4,180,5,5,103,222,5,5,96,246,5,5,255,206,5,5,133,211,5,5,252,178,5,5,124,221,5,5,3,232,5,5,107,232,5,5,95,210,5,5,56,222,5,5,78,189,5,5,123,205,5,5,230,225,5,5,230,197,5,5,223,190,5,5,194,228,5,5,185,165,5,5,248,199,5,5,114,168,5,5,228,247,5,5,58,177,5,5,215,216,5,5,122,168,5,5,100,227,5,5,121,217,5,5,101,227,5,5,28,201,5,5,152,199,5,5,255,237,5,5,254,222,5,5,14,177,5,5,35,214,5,5,139,174,5,5,252,168,5,5,161,181,5,5,130,205,5,5,19,209,5,5,139,248,5,5,147,231,5,5,127,222,5,5,92,213,5,5,122,200,5,5,149,243,5,5,218,238,5,5,121,215,5,5,108,183,5,5,205,224,5,5,251,173,5,5,154,221,5,5,48,244,5,5,67,243,5,5,66,201,5,5,122,217,5,5,191,191,5,5,172,184,5,5,145,208,5,5,95,170,5,5,117,241,5,5,148,246,5,5,179,216,5,5,142,180,5,5,27,220,5,5,113,228,5,5,54,205,5,5,184,166,5,5,174,196,5,5,96,201,5,5,212,199,5,5,156,191,5,5,189,244,5,5,47,171,5,5,210,214,5,5,119,171,5,5,96,213,5,5,50,211,5,5,177,224,5,5,86,217,5,5,189,180,5,5,193,236,5,5,173,164,5,5,55,223,5,5,98,210,5,5,104,227,5,5,48,206,5,5,74,249,5,5,102,214,5,5,171,197,5,5,168,179,5,5,198,241,5,5,199,241,5,5,58,219,5,5,244,247,5,5,167,165,5,5,98,235,5,5,146,211,5,5,219,186,5,5,81,169,5,5,145,169,5,5,242,228,5,5,158,219,5,5,172,171,5,5,62,205,5,5,11,232,5,5,123,203,5,5,157,188,5,5,248,185,5,5,102,234,5,5,177,238,5,5,152,194,5,5,65,213,5,5,67,222,5,5,123,238,5,5,124,238,5,5,205,205,5,5,159,219,5,5,203,239,5,5,245,198,5,5,71,206,5,5,118,170,5,5,251,223,5,5,158,198,5,5,126,199,5,5,149,224,5,5,216,216,5,5,206,232,5,5,249,235,5,5,29,213,5,5,78,219,5,5,153,178,5,5,127,221,5,5,61,183,5,5,41,186,5,5,179,237,5,5,140,244,5,5,189,207,5,5,18,202,5,5,83,233,5,5,75,204,5,5,146,163,5,5,140,200,5,5,151,222,5,5,40,245,5,5,169,232,5,5,92,219,5,5,6,227,5,5,207,209,5,5,17,180,5,5,170,232,5,5,3,169,5,5,35,229,5,5,131,217,5,5,90,232,5,5,20,180,5,5,86,176,5,5,53,237,5,5,170,215,5,5,22,202,5,5,112,204,5,5,140,206,5,5,152,220,5,5,129,183,5,5,123,239,5,5,87,238,5,5,99,220,5,5,53,168,5,5,63,200,5,5,156,199,5,5,193,240,5,5,194,240,5,5,120,228,5,5,170,230,5,5,93,183,5,5,163,210,5,5,110,222,5,5,86,179,5,5,92,199,5,5,30,220,5,5,238,197,5,5,88,238,5,5,146,244,5,5,147,205,5,5,166,248,5,5,73,205,5,5,147,200,5,5,12,178,5,5,162,219,5,5,182,217,5,5,160,232,5,5,138,185,5,5,204,228,5,5,162,246,5,5,155,224,5,5,160,187,5,5,207,239,5,5,2,166,5,5,163,219,5,5,90,243,5,5,13,238,5,5,50,224,5,5,165,246,5,5,51,224,5,5,5,242,5,5,118,224,5,5,171,230,5,5,232,243,5,5,58,186,5,5,235,224,5,5,43,214,5,5,22,184,5,5,164,200,5,5,165,232,5,5,212,240,5,5,91,176,5,5,106,220,5,5,100,243,5,5,21,178,5,5,155,242,5,5,149,202,5,5,210,177,5,5,187,174,5,5,107,230,5,5,196,201,5,5,129,203,5,5,184,201,5,5,201,179,5,5,168,230,5,5,85,228,5,5,22,209,5,5,251,181,5,5,252,217,5,5,5,240,5,5,253,217,5,5,150,202,5,5,110,230,5,5,35,206,5,5,67,200,5,5,163,238,5,5,41,207,5,5,23,241,5,5,2,183,5,5,225,216,5,5,151,237,5,5,221,190,5,5,33,218,5,5,121,237,5,5,248,173,5,5,187,227,5,5,167,173,5,5,121,207,5,5,113,221,5,5,34,193,5,5,76,197,5,5,168,168,5,5,229,232,5,5,231,226,5,5,47,218,5,5,107,219,5,5,142,236,5,5,209,220,5,5,201,176,5,5,255,219,5,5,167,233,5,5,155,211,5,5,226,219,5,5,252,164,5,5,21,240,5,5,134,239,5,5,251,196,5,5,118,185,5,5,44,227,5,5,129,193,5,5,188,226,5,5,53,202,5,5,254,199,5,5,91,225,5,5,133,221,5,5,143,228,5,5,137,199,5,5,26,176,5,5,81,192,5,5,55,212,5,5,3,194,5,5,216,217,5,5,38,240,5,5,68,221,5,5,213,191,5,5,68,216,5,5,166,223,5,5,18,201,5,5,228,216,5,5,5,220,5,5,218,203,5,5,252,244,5,5,12,248,5,5,191,209,5,5,97,245,5,5,43,192,5,5,107,242,5,5,74,200,5,5,12,197,5,5,175,229,5,5,123,237,5,5,93,238,5,5,127,211,5,5,139,221,5,5,98,232,5,5,160,184,5,5,242,177,5,5,31,222,5,5,182,172,5,5,59,195,5,5,62,246,5,5,184,247,5,5,205,229,5,5,188,228,5,5,101,177,5,5,128,224,5,5,71,189,5,5,159,222,5,5,24,237,5,5,245,179,5,5,189,228,5,5,67,240,5,5,90,170,5,5,193,224,5,5,35,177,5,5,91,201,5,5,96,205,5,5,15,214,5,5,84,217,5,5,95,241,5,5,126,246,5,5,220,237,5,5,79,248,5,5,99,217,5,5,79,224,5,5,121,231,5,5,205,238,5,5,38,243,5,5,240,176,5,5,40,171,5,5,120,168,5,5,193,216,5,5,68,169,5,5,84,176,5,5,159,236,5,5,79,214,5,5,171,241,5,5,164,164,5,5,75,227,5,5,82,210,5,5,102,171,5,5,192,205,5,5,110,170,5,5,148,219,5,5,43,205,5,5,171,171,5,5,253,179,5,5,168,232,5,5,166,209,5,5,26,186,5,5,251,168,5,5,167,207,5,5,59,243,5,5,160,210,5,5,88,220,5,5,232,224,5,5,35,193,5,5,74,210,5,5,155,201,5,5,173,213,5,5,73,202,5,5,166,201,5,5,68,198,5,5,120,201,5,5,21,213,5,5,22,213,5,5,171,199,5,5,253,187,5,5,111,198,5,5,13,178,5,5,20,191,5,5,198,175,5,5,13,206,5,5,7,209,5,5,67,227,5,5,9,187,5,5,123,176,5,5,180,246,5,5,212,164,5,5,158,229,5,5,230,215,5,5,222,173,5,5,47,219,5,5,54,219,5,5,101,243,5,5,103,243,5,5,12,227,5,5,207,225,5,5,11,200,5,5,142,182,5,5,82,240,5,5,143,182,5,5,83,240,5,5,210,204,5,5,0,151,5,5,55,198,5,5,230,237,5,5,158,225,5,5,103,216,5,5,234,200,5,5,226,204,5,5,200,195,5,5,226,191,5,5,76,207,5,5,46,174,5,5,243,212,5,5,20,166,5,5,225,197,5,5,140,248,5,5,155,221,5,5,34,203,5,5,115,173,5,5,23,213,5,5,121,163,5,5,11,247,5,5,192,200,5,5,28,166,5,5,190,176,5,5,115,233,5,5,120,173,5,5,186,240,5,5,184,218,5,5,44,164,5,5,211,223,5,5,244,238,5,5,253,167,5,5,246,182,5,5,216,167,5,5,78,192,5,5,248,182,5,5,114,242,5,5,82,177,5,5,122,169,5,5,186,235,5,5,249,214,5,5,181,200,5,5,209,196,5,5,126,197,5,5,222,197,5,5,123,169,5,5,142,198,5,5,77,170,5,5,200,186,5,5,171,183,5,5,243,164,5,5,39,248,5,5,35,203,5,5,106,182,5,5,18,170,5,5,15,168,5,5,24,213,5,5,4,238,5,5,100,207,5,5,146,169,5,5,152,225,5,5,18,180,5,5,165,200,5,5,211,207,5,5,201,163,5,5,164,220,5,5,36,249,5,5,201,174,5,5,11,234,5,5,234,194,5,5,95,179,5,5,163,239,5,5,184,198,5,5,238,246,5,5,138,168,5,5,198,199,5,5,61,173,5,5,233,179,5,5,103,194,5,5,249,231,5,5,113,218,5,5,75,239,5,5,237,221,5,5,76,227,5,5,38,165,5,5,134,231,5,5,77,239,5,5,42,194,5,5,121,168,5,5,219,165,5,5,170,169,5,5,102,175,5,5,47,229,5,5,33,197,5,5,212,172,5,5,251,180,5,5,175,239,5,5,44,223,5,5,69,170,5,5,157,197,5,5,39,165,5,5,34,190,5,5,26,189,5,5,97,200,5,5,227,191,5,5,112,168,5,5,135,231,5,5,80,203,5,5,23,217,5,5,55,232,5,5,50,204,5,5,245,191,5,5,176,232,5,5,109,205,5,5,115,244,5,5,18,218,5,5,253,220,5,5,174,227,5,5,21,166,5,5,22,166,5,5,37,210,5,5,175,227,5,5,75,226,5,5,178,232,5,5,23,220,5,5,69,185,5,5,148,232,5,5,221,233,5,5,175,224,5,5,248,228,5,5,114,181,5,5,242,166,5,5,227,192,5,5,117,215,5,5,185,169,5,5,124,205,5,5,36,237,5,5,236,174,5,5,48,180,5,5,89,235,5,5,90,235,5,5,23,219,5,5,250,201,5,5,54,221,5,5,29,178,5,5,247,205,5,5,43,218,5,5,119,226,5,5,175,249,5,5,33,164,5,5,38,232,5,5,71,185,5,5,10,174,5,5,129,234,5,5,12,202,5,5,54,229,5,5,176,240,5,5,149,222,5,5,243,174,5,5,101,192,5,5,14,236,5,5,12,232,5,5,254,187,5,5,179,240,5,5,177,163,5,5,219,224,5,5,246,246,5,5,41,219,5,5,109,222,5,5,171,165,5,5,124,249,5,5,211,232,5,5,62,176,5,5,155,232,5,5,77,243,5,5,15,169,5,5,121,228,5,5,249,246,5,5,201,244,5,5,2,206,5,5,165,192,5,5,133,215,5,5,180,232,5,5,105,165,5,5,14,178,5,5,106,229,5,5,88,243,5,5,249,228,5,5,183,217,5,5,44,191,5,5,167,192,5,5,182,232,5,5,198,163,5,5,156,220,5,5,190,174,5,5,28,249,5,5,231,194,5,5,10,234,5,5,240,231,5,5,86,215,5,5,169,163,5,5,46,221,5,5,187,199,5,5,193,218,5,5,51,173,5,5,229,179,5,5,136,168,5,5,214,165,5,5,82,192,5,5,216,221,5,5,97,194,5,5,74,239,5,5,84,205,5,5,117,164,5,5,57,227,5,5,248,180,5,5,35,194,5,5,29,197,5,5,92,175,5,5,63,170,5,5,202,172,5,5,154,197,5,5,152,239,5,5,53,232,5,5,213,218,5,5,73,203,5,5,79,200,5,5,116,231,5,5,24,189,5,5,10,190,5,5,175,232,5,5,117,231,5,5,221,191,5,5,221,205,5,5,20,210,5,5,247,220,5,5,65,185,5,5,170,227,5,5,221,174,5,5,25,178,5,5,231,201,5,5,102,229,5,5,247,228,5,5,220,233,5,5,40,165,5,5,18,220,5,5,222,192,5,5,238,166,5,5,12,176,5,5,68,185,5,5,6,174,5,5,101,222,5,5,228,174,5,5,144,222,5,5,12,236,5,5,4,232,5,5,68,243,5,5,149,232,5,5,122,249,5,5,209,232,5,5,114,228,5,5,190,244,5,5,166,192,5,5,84,223,5,5,211,212,5,5,195,227,5,5,111,183,5,5,185,182,5,5,136,213,5,5,65,225,5,5,162,197,5,5,76,225,5,5,169,219,5,5,214,213,5,5,100,180,5,5,116,232,5,5,115,232,5,5,51,187,5,5,128,204,5,5,202,174,5,5,231,219,5,5,137,192,5,5,8,209,5,5,92,228,5,5,138,212,5,5,210,243,5,5,148,215,5,5,157,233,5,5,149,207,5,5,4,211,5,5,42,223,5,5,159,233,5,5,224,224,5,5,225,224,5,5,45,177,5,5,217,206,5,5,232,223,5,5,155,176,5,5,132,213,5,5,85,220,5,5,159,207,5,5,221,248,5,5,176,211,5,5,85,202,5,5,45,223,5,5,164,225,5,5,113,193,5,5,85,217,5,5,136,231,5,5,29,181,5,5,86,178,5,5,203,187,5,5,143,192,5,5,213,236,5,5,157,234,5,5,59,213,5,5,243,219,5,5,175,236,5,5,221,243,5,5,2,207,5,5,125,205,5,5,34,212,5,5,127,180,5,5,9,226,5,5,227,234,5,5,49,190,5,5,254,211,5,5,111,176,5,5,233,209,5,5,148,231,5,5,186,180,5,5,188,211,5,5,117,223,5,5,77,201,5,5,180,209,5,5,154,209,5,5,109,204,5,5,91,232,5,5,242,180,5,5,66,239,5,5,142,232,5,5,144,232,5,5,217,232,5,5,154,166,5,5,45,164,5,5,28,196,5,5,8,195,5,5,201,178,5,5,150,207,5,5,37,174,5,5,211,224,5,5,44,205,5,5,182,173,5,5,171,218,5,5,36,179,5,5,217,248,5,5,21,163,5,5,190,208,5,5,218,248,5,5,34,211,5,5,68,182,5,5,116,179,5,5,98,240,5,5,76,184,5,5,126,189,5,5,8,170,5,5,5,163,5,5,20,177,5,5,15,196,5,5,36,182,5,5,25,203,5,5,160,233,5,5,25,167,5,5,76,209,5,5,238,221,5,5,218,206,5,5,152,177,5,5,119,218,5,5,41,174,5,5,60,167,5,5,73,207,5,5,59,228,5,5,140,163,5,5,166,183,5,5,74,207,5,5,85,187,5,5,170,192,5,5,180,239,5,5,236,201,5,5,110,178,5,5,154,215,5,5,251,203,5,5,111,178,5,5,148,221,5,5,79,212,5,5,49,196,5,5,80,222,5,5,43,194,5,5,150,212,5,5,149,196,5,5,75,216,5,5,104,223,5,5,35,190,5,5,113,168,5,5,254,218,5,5,58,203,5,5,58,181,5,5,23,234,5,5,102,205,5,5,64,179,5,5,133,209,5,5,48,165,5,5,56,215,5,5,112,178,5,5,237,201,5,5,254,206,5,5,207,202,5,5,88,229,5,5,227,181,5,5,225,225,5,5,176,206,5,5,245,183,5,5,157,214,5,5,142,166,5,5,65,217,5,5,26,235,5,5,79,172,5,5,89,229,5,5,51,189,5,5,19,250,5,5,54,204,5,5,36,224,5,5,137,209,5,5,93,170,5,5,73,179,5,5,126,205,5,5,220,208,5,5,181,245,5,5,97,246,5,5,245,225,5,5,186,203,5,5,98,202,5,5,249,183,5,5,224,206,5,5,225,206,5,5,213,190,5,5,50,190,5,5,164,186,5,5,235,199,5,5,87,207,5,5,52,223,5,5,226,246,5,5,84,212,5,5,156,180,5,5,114,163,5,5,225,232,5,5,117,209,5,5,237,239,5,5,161,234,5,5,111,233,5,5,25,234,5,5,112,233,5,5,194,167,5,5,24,219,5,5,97,221,5,5,155,177,5,5,130,218,5,5,236,247,5,5,73,178,5,5,220,178,5,5,69,226,5,5,22,250,5,5,237,222,5,5,15,177,5,5,101,219,5,5,217,224,5,5,25,226,5,5,127,205,5,5,118,193,5,5,97,180,5,5,32,207,5,5,140,174,5,5,226,232,5,5,59,177,5,5,115,168,5,5,44,230,5,5,173,184,5,5,187,180,5,5,159,223,5,5,92,182,5,5,55,205,5,5,152,175,5,5,177,234,5,5,148,208,5,5,79,179,5,5,51,211,5,5,84,184,5,5,135,177,5,5,190,180,5,5,109,202,5,5,3,184,5,5,70,167,5,5,30,188,5,5,152,232,5,5,93,165,5,5,165,226,5,5,63,190,5,5,255,187,5,5,166,234,5,5,62,180,5,5,117,175,5,5,194,236,5,5,98,213,5,5,151,196,5,5,16,202,5,5,137,218,5,5,53,211,5,5,191,176,5,5,74,167,5,5,116,233,5,5,158,188,5,5,203,164,5,5,64,232,5,5,86,184,5,5,132,165,5,5,86,182,5,5,10,207,5,5,131,176,5,5,143,234,5,5,71,215,5,5,30,173,5,5,182,225,5,5,221,222,5,5,196,178,5,5,62,163,5,5,169,234,5,5,170,234,5,5,190,207,5,5,191,207,5,5,34,189,5,5,43,179,5,5,155,209,5,5,113,207,5,5,4,169,5,5,222,187,5,5,197,178,5,5,8,235,5,5,37,197,5,5,92,232,5,5,41,175,5,5,101,165,5,5,102,165,5,5,180,221,5,5,102,207,5,5,183,225,5,5,208,209,5,5,202,178,5,5,48,224,5,5,26,202,5,5,77,245,5,5,241,248,5,5,87,184,5,5,36,189,5,5,212,187,5,5,139,218,5,5,156,187,5,5,51,219,5,5,115,224,5,5,185,225,5,5,180,178,5,5,163,246,5,5,21,191,5,5,37,189,5,5,78,215,5,5,166,246,5,5,57,233,5,5,59,186,5,5,117,214,5,5,160,230,5,5,206,235,5,5,23,184,5,5,89,179,5,5,233,211,5,5,234,203,5,5,10,235,5,5,191,234,5,5,103,213,5,5,147,196,5,5,212,207,5,5,38,189,5,5,137,228,5,5,201,194,5,5,236,175,5,5,144,173,5,5,171,211,5,5,205,180,5,5,87,178,5,5,88,178,5,5,209,194,5,5,124,186,5,5,149,230,5,5,124,190,5,5,49,238,5,5,251,201,5,5,3,207,5,5,116,180,5,5,68,197,5,5,214,185,5,5,249,242,5,5,16,170,5,5,223,195,5,5,191,211,5,5,249,185,5,5,217,185,5,5,94,178,5,5,138,218,5,5,107,243,5,5,208,180,5,5,174,175,5,5,238,244,5,5,178,248,5,5,174,223,5,5,27,241,5,5,10,194,5,5,20,208,5,5,124,246,5,5,213,248,5,5,26,216,5,5,95,175,5,5,97,217,5,5,55,173,5,5,133,230,5,5,55,228,5,5,13,197,5,5,78,229,5,5,144,182,5,5,194,224,5,5,100,175,5,5,221,237,5,5,247,182,5,5,191,208,5,5,28,170,5,5,30,231,5,5,136,230,5,5,126,210,5,5,133,222,5,5,115,201,5,5,234,198,5,5,209,211,5,5,34,197,5,5,219,176,5,5,127,189,5,5,103,175,5,5,100,238,5,5,223,220,5,5,62,173,5,5,8,197,5,5,68,244,5,5,143,167,5,5,225,163,5,5,17,193,5,5,18,193,5,5,21,167,5,5,239,221,5,5,100,231,5,5,231,237,5,5,6,163,5,5,33,220,5,5,172,218,5,5,172,241,5,5,10,195,5,5,99,240,5,5,245,218,5,5,85,227,5,5,197,168,5,5,41,239,5,5,226,194,5,5,251,206,5,5,96,204,5,5,167,194,5,5,128,197,5,5,97,195,5,5,80,212,5,5,20,220,5,5,49,232,5,5,255,218,5,5,173,227,5,5,77,189,5,5,126,248,5,5,238,227,5,5,59,242,5,5,241,246,5,5,218,243,5,5,151,219,5,5,225,246,5,5,175,174,5,5,104,211,5,5,24,220,5,5,172,183,5,5,156,186,5,5,153,219,5,5,146,220,5,5,79,189,5,5,145,231,5,5,31,200,5,5,103,247,5,5,10,226,5,5,188,193,5,5,181,195,5,5,238,239,5,5,170,167,5,5,188,210,5,5,142,194,5,5,82,184,5,5,203,168,5,5,90,194,5,5,238,163,5,5,214,190,5,5,215,166,5,5,53,189,5,5,36,231,5,5,45,230,5,5,105,202,5,5,49,244,5,5,122,215,5,5,63,226,5,5,60,234,5,5,89,226,5,5,192,191,5,5,64,242,5,5,122,201,5,5,93,229,5,5,241,174,5,5,149,231,5,5,141,174,5,5,10,247,5,5,139,164,5,5,127,220,5,5,239,247,5,5,12,247,5,5,169,179,5,5,72,193,5,5,203,220,5,5,217,213,5,5,75,249,5,5,64,190,5,5,19,204,5,5,249,223,5,5,136,222,5,5,154,246,5,5,14,201,5,5,91,217,5,5,161,219,5,5,110,204,5,5,151,220,5,5,108,166,5,5,206,185,5,5,121,173,5,5,252,172,5,5,251,188,5,5,199,191,5,5,247,235,5,5,185,195,5,5,198,200,5,5,248,239,5,5,115,202,5,5,111,222,5,5,48,239,5,5,167,248,5,5,148,205,5,5,126,201,5,5,107,185,5,5,7,167,5,5,157,187,5,5,162,187,5,5,221,189,5,5,39,189,5,5,172,223,5,5,20,241,5,5,253,193,5,5,93,217,5,5,78,175,5,5,124,230,5,5,131,222,5,5,197,237,5,5,197,190,5,5,27,231,5,5,111,201,5,5,8,193,5,5,5,195,5,5,192,189,5,5,32,220,5,5,164,218,5,5,53,240,5,5,227,198,5,5,214,220,5,5,52,187,5,5,163,241,5,5,92,211,5,5,63,227,5,5,47,232,5,5,214,218,5,5,89,204,5,5,8,220,5,5,62,212,5,5,11,190,5,5,90,204,5,5,143,219,5,5,167,174,5,5,72,189,5,5,77,184,5,5,226,163,5,5,18,200,5,5,135,194,5,5,99,247,5,5,46,189,5,5,5,226,5,5,129,231,5,5,59,234,5,5,125,174,5,5,86,202,5,5,5,247,5,5,87,229,5,5,3,167,5,5,63,249,5,5,210,213,5,5,78,184,5,5,51,190,5,5,155,219,5,5,242,188,5,5,244,215,5,5,19,193,5,5,180,233,5,5,181,233,5,5,44,168,5,5,44,233,5,5,247,165,5,5,247,184,5,5,248,184,5,5,189,233,5,5,51,217,5,5,112,164,5,5,250,165,5,5,251,165,5,5,252,165,5,5,52,217,5,5,253,165,5,5,82,164,5,5,198,233,5,5,254,165,5,5,255,165,5,5,183,224,5,5,214,230,5,5,193,184,5,5,195,184,5,5,150,224,5,5,250,225,5,5,249,225,5,5,214,240,5,5,176,230,5,5,193,165,5,5,194,165,5,5,229,226,5,5,228,230,5,5,223,187,5,5,17,175,5,5,67,224,5,5,110,192,5,5,63,210,5,5,141,247,5,5,142,247,5,5,29,209,5,5,2,218,5,5,135,239,5,5,192,193,5,5,177,169,5,5,115,208,5,5,211,231,5,5,110,247,5,5,244,181,5,5,157,222,5,5,156,244,5,5,213,180,5,5,180,249,5,5,212,205,5,5,176,198,5,5,28,241,5,5,41,173,5,5,94,245,5,5,22,175,5,5,154,237,5,5,183,197,5,5,172,219,5,5,255,222,5,5,213,205,5,5,84,249,5,5,8,246,5,5,118,188,5,5,35,223,5,5,188,223,5,5,205,183,5,5,23,181,5,5,202,218,5,5,153,239,5,5,98,208,5,5,14,203,5,5,185,224,5,5,93,175,5,5,55,239,5,5,167,176,5,5,197,166,5,5,217,221,5,5,30,177,5,5,242,231,5,5,177,179,5,5,137,229,5,5,29,182,5,5,6,212,5,5,149,206,5,5,49,200,5,5,17,179,5,5,110,242,5,5,38,171,5,5,196,164,5,5,219,201,5,5,19,183,5,5,164,239,5,5,150,203,5,5,82,222,5,5,193,187,5,5,11,218,5,5,96,182,5,5,124,237,5,5,64,227,5,5,179,179,5,5,118,167,5,5,53,198,5,5,207,183,5,5,211,178,5,5,100,208,5,5,151,217,5,5,12,218,5,5,104,166,5,5,15,242,5,5,140,214,5,5,21,210,5,5,224,179,5,5,175,221,5,5,22,210,5,5,241,176,5,5,242,176,5,5,209,181,5,5,162,206,5,5,224,180,5,5,207,175,5,5,229,239,5,5,176,219,5,5,158,182,5,5,181,194,5,5,105,245,5,5,68,227,5,5,142,225,5,5,154,236,5,5,83,232,5,5,119,212,5,5,239,173,5,5,123,188,5,5,241,236,5,5,51,200,5,5,4,187,5,5,100,193,5,5,54,185,5,5,136,164,5,5,203,234,5,5,160,207,5,5,197,164,5,5,229,200,5,5,75,175,5,5,25,190,5,5,51,242,5,5,19,220,5,5,225,205,5,5,96,248,5,5,244,225,5,5,121,196,5,5,235,245,5,5,228,180,5,5,100,240,5,5,33,175,5,5,86,249,5,5,95,190,5,5,211,164,5,5,166,184,5,5,218,247,5,5,105,176,5,5,11,237,5,5,215,178,5,5,33,237,5,5,240,242,5,5,60,226,5,5,46,223,5,5,176,180,5,5,110,248,5,5,251,226,5,5,185,220,5,5,56,242,5,5,190,249,5,5,242,237,5,5,245,165,5,5,193,193,5,5,243,237,5,5,208,213,5,5,55,201,5,5,35,210,5,5,162,175,5,5,34,175,5,5,29,246,5,5,122,183,5,5,181,239,5,5,98,192,5,5,186,241,5,5,66,224,5,5,52,188,5,5,19,218,5,5,68,179,5,5,6,177,5,5,49,223,5,5,87,249,5,5,176,236,5,5,69,179,5,5,159,210,5,5,65,169,5,5,187,241,5,5,112,194,5,5,27,221,5,5,117,238,5,5,93,227,5,5,228,233,5,5,114,223,5,5,185,236,5,5,62,232,5,5,125,219,5,5,218,178,5,5,11,177,5,5,244,185,5,5,54,223,5,5,176,234,5,5,243,188,5,5,72,233,5,5,30,230,5,5,96,210,5,5,153,217,5,5,141,248,5,5,193,239,5,5,124,245,5,5,244,187,5,5,98,207,5,5,105,227,5,5,89,165,5,5,154,241,5,5,186,169,5,5,103,214,5,5,46,237,5,5,187,197,5,5,95,220,5,5,140,180,5,5,65,239,5,5,164,171,5,5,206,165,5,5,210,165,5,5,232,184,5,5,227,186,5,5,79,249,5,5,206,241,5,5,114,190,5,5,19,187,5,5,22,240,5,5,143,181,5,5,135,176,5,5,253,208,5,5,213,249,5,5,39,228,5,5,73,198,5,5,158,247,5,5,185,170,5,5,182,230,5,5,131,212,5,5,250,246,5,5,22,197,5,5,21,174,5,5,235,195,5,5,6,166,5,5,149,173,5,5,141,216,5,5,236,182,5,5,245,215,5,5,182,228,5,5,140,164,5,5,32,249,5,5,24,235,5,5,180,199,5,5,253,213,5,5,146,164,5,5,249,244,5,5,51,207,5,5,35,242,5,5,78,198,5,5,110,179,5,5,219,209,5,5,6,165,5,5,205,167,5,5,61,166,5,5,3,228,5,5,205,163,5,5,156,245,5,5,207,176,5,5,96,232,5,5,85,241,5,5,219,188,5,5,2,197,5,5,213,193,5,5,135,221,5,5,194,226,5,5,8,196,5,5,62,248,5,5,217,191,5,5,100,197,5,5,99,209,5,5,203,218,5,5,59,202,5,5,171,200,5,5,51,198,5,5,146,216,5,5,243,203,5,5,46,213,5,5,229,193,5,5,154,184,5,5,104,186,5,5,43,203,5,5,84,196,5,5,116,221,5,5,148,186,5,5,182,249,5,5,174,242,5,5,97,225,5,5,200,175,5,5,196,212,5,5,48,191,5,5,163,174,5,5,23,245,5,5,100,174,5,5,44,192,5,5,240,197,5,5,107,186,5,5,47,203,5,5,236,192,5,5,48,208,5,5,207,244,5,5,82,163,5,5,123,213,5,5,214,163,5,5,67,187,5,5,142,249,5,5,140,166,5,5,195,214,5,5,127,208,5,5,255,167,5,5,101,211,5,5,144,193,5,5,14,220,5,5,248,179,5,5,99,232,5,5,180,168,5,5,49,185,5,5,162,183,5,5,169,224,5,5,52,242,5,5,144,166,5,5,44,216,5,5,237,175,5,5,249,206,5,5,228,249,5,5,131,209,5,5,106,239,5,5,184,175,5,5,237,242,5,5,212,169,5,5,239,230,5,5,227,163,5,5,232,237,5,5,83,229,5,5,255,207,5,5,24,248,5,5,187,249,5,5,31,198,5,5,122,196,5,5,48,216,5,5,49,216,5,5,49,236,5,5,79,180,5,5,39,172,5,5,232,212,5,5,215,230,5,5,224,225,5,5,137,231,5,5,104,232,5,5,102,241,5,5,4,245,5,5,52,216,5,5,148,249,5,5,7,198,5,5,222,249,5,5,242,164,5,5,78,170,5,5,243,223,5,5,47,174,5,5,11,188,5,5,188,243,5,5,120,222,5,5,83,199,5,5,138,209,5,5,146,242,5,5,21,221,5,5,145,170,5,5,139,209,5,5,238,216,5,5,139,176,5,5,94,165,5,5,242,217,5,5,72,165,5,5,198,232,5,5,27,246,5,5,125,221,5,5,80,170,5,5,105,228,5,5,236,188,5,5,182,166,5,5,248,175,5,5,237,170,5,5,118,241,5,5,52,234,5,5,95,196,5,5,219,173,5,5,242,170,5,5,109,232,5,5,38,197,5,5,181,188,5,5,153,232,5,5,104,224,5,5,22,242,5,5,19,202,5,5,78,243,5,5,111,224,5,5,189,234,5,5,155,189,5,5,162,200,5,5,38,213,5,5,228,173,5,5,161,232,5,5,158,187,5,5,71,242,5,5,197,177,5,5,6,210,5,5,32,222,5,5,254,166,5,5,55,220,5,5,226,239,5,5,119,192,5,5,185,247,5,5,151,204,5,5,226,242,5,5,38,233,5,5,29,170,5,5,248,220,5,5,13,217,5,5,208,175,5,5,176,220,5,5,83,173,5,5,109,249,5,5,252,174,5,5,183,249,5,5,142,179,5,5,65,181,5,5,77,209,5,5,37,182,5,5,154,234,5,5,65,198,5,5,20,193,5,5,131,236,5,5,118,172,5,5,32,224,5,5,50,232,5,5,53,172,5,5,210,185,5,5,7,226,5,5,33,224,5,5,116,242,5,5,186,182,5,5,175,218,5,5,57,215,5,5,61,206,5,5,126,225,5,5,243,243,5,5,228,181,5,5,101,204,5,5,221,169,5,5,35,196,5,5,59,237,5,5,149,185,5,5,231,168,5,5,46,233,5,5,191,197,5,5,57,243,5,5,217,227,5,5,105,184,5,5,36,246,5,5,52,190,5,5,71,186,5,5,147,242,5,5,192,179,5,5,233,166,5,5,124,220,5,5,110,226,5,5,5,180,5,5,47,233,5,5,104,222,5,5,162,234,5,5,218,196,5,5,188,180,5,5,123,215,5,5,237,177,5,5,28,199,5,5,239,216,5,5,160,216,5,5,34,180,5,5,41,210,5,5,111,226,5,5,199,249,5,5,205,166,5,5,29,195,5,5,59,236,5,5,48,171,5,5,86,212,5,5,60,224,5,5,178,234,5,5,201,249,5,5,26,250,5,5,21,239,5,5,121,219,5,5,192,197,5,5,101,180,5,5,70,206,5,5,89,168,5,5,220,224,5,5,158,248,5,5,220,186,5,5,65,232,5,5,188,185,5,5,121,239,5,5,72,206,5,5,109,166,5,5,111,204,5,5,30,213,5,5,19,180,5,5,119,172,5,5,205,184,5,5,195,240,5,5,17,187,5,5,103,207,5,5,84,243,5,5,196,240,5,5,106,184,5,5,208,230,5,5,208,217,5,5,49,224,5,5,91,243,5,5,159,189,5,5,64,171,5,5,65,171,5,5,107,184,5,5,35,216,5,5,115,204,5,5,221,227,5,5,67,171,5,5,102,243,5,5,234,165,5,5,16,234,5,5,69,227,5,5,115,242,5,5,77,227,5,5,107,227,5,5,250,186,5,5,244,222,5,5,74,241,5,5,76,189,5,5,221,186,5,5,164,205,5,5,165,205,5,5,7,210,5,5,223,239,5,5,10,188,5,5,132,175,5,5,212,219,5,5,198,177,5,5,201,166,5,5,14,210,5,5,0,148,5,5,164,174,5,5,172,220,5,5,107,218,5,5,0,149,5,5,187,190,5,5,165,174,5,5,20,183,5,5,103,177,5,5,94,228,5,5,187,209,5,5,152,195,5,5,74,226,5,5,182,231,5,5,43,173,5,5,112,199,5,5,113,199,5,5,131,198,5,5,195,192,5,5,192,208,5,5,203,170,5,5,11,230,5,5,243,176,5,5,181,235,5,5,125,213,5,5,84,240,5,5,208,223,5,5,197,226,5,5,241,181,5,5,212,212,5,5,215,184,5,5,79,210,5,5,48,210,5,5,97,205,5,5,40,168,5,5,65,241,5,5,177,205,5,5,13,163,5,5,156,173,5,5,198,224,5,5,153,216,5,5,196,175,5,5,222,248,5,5,83,210,5,5,42,174,5,5,217,167,5,5,249,182,5,5,2,216,5,5,166,237,5,5,161,207,5,5,213,178,5,5,59,192,5,5,212,243,5,5,129,210,5,5,93,164,5,5,211,235,5,5,92,230,5,5,233,223,5,5,56,184,5,5,85,173,5,5,169,249,5,5,136,202,5,5,231,210,5,5,218,167,5,5,146,193,5,5,160,201,5,5,183,243,5,5,28,208,5,5,200,226,5,5,101,240,5,5,212,222,5,5,81,213,5,5,241,191,5,5,12,230,5,5,182,199,5,5,143,179,5,5,238,195,5,5,110,249,5,5,83,190,5,5,233,237,5,5,70,247,5,5,70,178,5,5,142,231,5,5,190,183,5,5,221,181,5,5,86,227,5,5,242,171,5,5,21,193,5,5,18,195,5,5,129,189,5,5,76,166,5,5,187,235,5,5,55,193,5,5,100,163,5,5,219,167,5,5,111,248,5,5,188,235,5,5,249,232,5,5,105,166,5,5,57,242,5,5,88,181,5,5,81,203,5,5,186,220,5,5,20,227,5,5,87,227,5,5,123,218,5,5,77,207,5,5,72,224,5,5,206,226,5,5,207,226,5,5,173,217,5,5,214,219,5,5,51,164,5,5,129,197,5,5,49,165,5,5,28,229,5,5,165,225,5,5,252,226,5,5,101,163,5,5,242,221,5,5,105,223,5,5,215,231,5,5,175,166,5,5,187,182,5,5,131,210,5,5,126,174,5,5,197,219,5,5,90,188,5,5,88,210,5,5,127,174,5,5,92,187,5,5,224,248,5,5,220,167,5,5,10,244,5,5,110,164,5,5,55,163,5,5,174,203,5,5,61,192,5,5,152,229,5,5,92,221,5,5,78,172,5,5,84,213,5,5,85,213,5,5,254,176,5,5,30,203,5,5,98,172,5,5,30,180,5,5,182,200,5,5,234,239,5,5,121,235,5,5,35,197,5,5,247,194,5,5,197,163,5,5,110,205,5,5,190,182,5,5,155,216,5,5,169,201,5,5,55,204,5,5,76,223,5,5,79,239,5,5,148,190,5,5,77,166,5,5,91,227,5,5,94,170,5,5,32,203,5,5,189,243,5,5,33,208,5,5,22,220,5,5,181,226,5,5,83,216,5,5,191,182,5,5,130,169,5,5,150,185,5,5,243,201,5,5,127,248,5,5,32,217,5,5,94,230,5,5,85,233,5,5,13,219,5,5,151,212,5,5,97,228,5,5,109,223,5,5,157,215,5,5,156,216,5,5,82,212,5,5,221,167,5,5,255,180,5,5,151,221,5,5,108,216,5,5,43,172,5,5,45,196,5,5,188,241,5,5,60,215,5,5,108,215,5,5,251,214,5,5,34,208,5,5,136,223,5,5,203,185,5,5,91,202,5,5,28,168,5,5,192,230,5,5,80,171,5,5,111,239,5,5,145,243,5,5,169,194,5,5,236,238,5,5,122,177,5,5,86,242,5,5,234,235,5,5,129,195,5,5,135,210,5,5,165,190,5,5,196,235,5,5,30,238,5,5,107,177,5,5,146,198,5,5,16,231,5,5,95,227,5,5,253,195,5,5,40,210,5,5,163,214,5,5,154,219,5,5,25,215,5,5,191,232,5,5,183,180,5,5,208,234,5,5,116,193,5,5,190,201,5,5,216,222,5,5,208,179,5,5,78,191,5,5,224,169,5,5,126,186,5,5,227,246,5,5,7,216,5,5,153,249,5,5,239,163,5,5,122,245,5,5,186,236,5,5,133,248,5,5,98,224,5,5,226,177,5,5,115,163,5,5,147,198,5,5,61,203,5,5,172,201,5,5,6,235,5,5,218,173,5,5,74,224,5,5,228,246,5,5,25,219,5,5,140,235,5,5,118,217,5,5,123,199,5,5,35,248,5,5,35,181,5,5,227,194,5,5,57,222,5,5,114,191,5,5,157,216,5,5,9,211,5,5,223,228,5,5,100,198,5,5,115,191,5,5,67,241,5,5,174,225,5,5,208,232,5,5,226,206,5,5,222,215,5,5,2,181,5,5,210,170,5,5,9,169,5,5,206,186,5,5,92,167,5,5,17,231,5,5,127,225,5,5,52,192,5,5,10,187,5,5,99,179,5,5,100,166,5,5,247,221,5,5,8,221,5,5,193,181,5,5,95,188,5,5,49,233,5,5,95,207,5,5,36,225,5,5,88,249,5,5,131,205,5,5,201,192,5,5,114,177,5,5,194,179,5,5,20,225,5,5,215,190,5,5,189,193,5,5,140,189,5,5,192,163,5,5,56,190,5,5,212,186,5,5,49,211,5,5,45,167,5,5,238,207,5,5,246,171,5,5,50,233,5,5,173,167,5,5,250,238,5,5,227,167,5,5,227,215,5,5,235,240,5,5,85,222,5,5,153,185,5,5,27,195,5,5,60,197,5,5,76,179,5,5,219,196,5,5,253,177,5,5,44,183,5,5,41,226,5,5,150,231,5,5,99,221,5,5,121,164,5,5,255,183,5,5,150,233,5,5,112,226,5,5,9,180,5,5,227,177,5,5,223,208,5,5,141,210,5,5,106,222,5,5,4,202,5,5,142,248,5,5,204,205,5,5,92,194,5,5,41,170,5,5,249,224,5,5,115,181,5,5,15,213,5,5,204,188,5,5,195,179,5,5,95,193,5,5,209,234,5,5,161,229,5,5,202,220,5,5,57,190,5,5,14,171,5,5,58,190,5,5,106,199,5,5,186,165,5,5,125,191,5,5,59,185,5,5,203,195,5,5,184,173,5,5,134,245,5,5,32,183,5,5,243,246,5,5,150,232,5,5,99,199,5,5,65,175,5,5,66,215,5,5,105,168,5,5,169,199,5,5,80,189,5,5,147,172,5,5,168,170,5,5,102,195,5,5,124,244,5,5,161,176,5,5,206,188,5,5,156,193,5,5,163,215,5,5,45,178,5,5,231,181,5,5,38,246,5,5,114,233,5,5,244,174,5,5,46,230,5,5,110,202,5,5,5,238,5,5,37,208,5,5,218,224,5,5,191,180,5,5,91,219,5,5,89,199,5,5,50,244,5,5,178,178,5,5,218,213,5,5,240,247,5,5,255,195,5,5,134,216,5,5,71,201,5,5,103,246,5,5,245,174,5,5,217,219,5,5,140,223,5,5,119,209,5,5,219,226,5,5,124,201,5,5,136,196,5,5,117,181,5,5,98,170,5,5,151,209,5,5,152,209,5,5,41,198,5,5,209,179,5,5,69,235,5,5,193,200,5,5,125,241,5,5,248,171,5,5,137,205,5,5,161,178,5,5,138,205,5,5,107,237,5,5,137,196,5,5,31,199,5,5,124,217,5,5,93,178,5,5,189,203,5,5,204,220,5,5,207,165,5,5,219,222,5,5,154,231,5,5,255,214,5,5,69,241,5,5,248,169,5,5,225,166,5,5,33,238,5,5,233,203,5,5,196,210,5,5,228,169,5,5,236,236,5,5,39,175,5,5,174,164,5,5,220,213,5,5,159,188,5,5,237,236,5,5,114,195,5,5,72,188,5,5,201,241,5,5,130,241,5,5,91,183,5,5,120,247,5,5,89,231,5,5,104,180,5,5,238,236,5,5,54,211,5,5,120,187,5,5,193,229,5,5,43,226,5,5,129,163,5,5,75,167,5,5,16,175,5,5,215,164,5,5,121,236,5,5,202,192,5,5,155,231,5,5,10,245,5,5,193,244,5,5,104,201,5,5,39,181,5,5,73,188,5,5,103,195,5,5,86,237,5,5,147,227,5,5,60,236,5,5,247,246,5,5,17,198,5,5,5,221,5,5,6,221,5,5,127,186,5,5,180,240,5,5,77,249,5,5,118,180,5,5,6,184,5,5,66,213,5,5,37,203,5,5,158,191,5,5,39,169,5,5,226,207,5,5,131,237,5,5,240,232,5,5,239,236,5,5,237,213,5,5,14,174,5,5,71,247,5,5,228,182,5,5,251,189,5,5,240,236,5,5,179,238,5,5,228,232,5,5,119,182,5,5,3,215,5,5,117,194,5,5,181,217,5,5,207,188,5,5,34,228,5,5,159,238,5,5,134,170,5,5,149,169,5,5,104,190,5,5,98,165,5,5,157,246,5,5,76,188,5,5,194,176,5,5,97,236,5,5,139,233,5,5,204,239,5,5,70,190,5,5,126,238,5,5,2,196,5,5,55,211,5,5,224,234,5,5,152,208,5,5,24,225,5,5,63,180,5,5,154,170,5,5,233,249,5,5,151,224,5,5,223,173,5,5,185,206,5,5,172,165,5,5,163,229,5,5,15,186,5,5,29,215,5,5,71,235,5,5,2,191,5,5,156,232,5,5,144,205,5,5,45,234,5,5,228,186,5,5,238,213,5,5,31,213,5,5,224,195,5,5,5,230,5,5,204,164,5,5,60,221,5,5,197,210,5,5,82,225,5,5,75,190,5,5,127,199,5,5,116,202,5,5,243,168,5,5,142,200,5,5,81,211,5,5,178,166,5,5,254,188,5,5,248,235,5,5,30,215,5,5,98,236,5,5,83,225,5,5,179,196,5,5,149,235,5,5,110,188,5,5,62,183,5,5,79,201,5,5,66,168,5,5,54,237,5,5,34,173,5,5,182,209,5,5,50,212,5,5,53,244,5,5,64,180,5,5,115,216,5,5,198,207,5,5,20,204,5,5,75,233,5,5,2,188,5,5,122,209,5,5,189,185,5,5,154,178,5,5,16,216,5,5,126,232,5,5,23,202,5,5,68,205,5,5,222,222,5,5,145,176,5,5,239,240,5,5,230,244,5,5,127,178,5,5,199,207,5,5,92,183,5,5,127,232,5,5,5,169,5,5,4,181,5,5,35,173,5,5,61,221,5,5,209,177,5,5,122,228,5,5,82,195,5,5,2,205,5,5,224,172,5,5,55,237,5,5,253,189,5,5,228,207,5,5,145,200,5,5,168,248,5,5,166,188,5,5,72,222,5,5,156,209,5,5,149,205,5,5,73,222,5,5,105,185,5,5,106,165,5,5,5,181,5,5,199,200,5,5,134,241,5,5,75,178,5,5,191,193,5,5,81,176,5,5,105,207,5,5,122,173,5,5,42,175,5,5,244,163,5,5,201,240,5,5,89,238,5,5,124,233,5,5,26,218,5,5,116,177,5,5,252,221,5,5,210,198,5,5,112,222,5,5,31,202,5,5,19,184,5,5,150,197,5,5,229,199,5,5,107,211,5,5,34,166,5,5,148,244,5,5,181,196,5,5,131,184,5,5,218,216,5,5,150,205,5,5,151,205,5,5,199,210,5,5,161,223,5,5,53,219,5,5,143,171,5,5,241,186,5,5,110,185,5,5,34,202,5,5,66,233,5,5,47,197,5,5,250,228,5,5,186,167,5,5,5,185,5,5,16,178,5,5,195,229,5,5,18,226,5,5,106,191,5,5,179,165,5,5,63,164,5,5,254,189,5,5,240,215,5,5,195,196,5,5,22,191,5,5,15,238,5,5,222,189,5,5,11,216,5,5,152,205,5,5,99,186,5,5,139,163,5,5,10,205,5,5,6,242,5,5,119,224,5,5,64,216,5,5,153,205,5,5,44,213,5,5,125,194,5,5,127,234,5,5,24,184,5,5,140,185,5,5,11,235,5,5,235,211,5,5,94,167,5,5,118,190,5,5,58,233,5,5,181,190,5,5,67,232,5,5,26,184,5,5,213,207,5,5,124,180,5,5,125,229,5,5,61,186,5,5,162,205,5,5,122,191,5,5,212,239,5,5,158,220,5,5,194,177,5,5,206,219,5,5,168,166,5,5,9,188,5,5,240,181,5,5,68,210,5,5,73,226,5,5,46,228,5,5,54,202,5,5,11,173,5,5,98,177,5,5,162,170,5,5,213,184,5,5,26,244,5,5,207,223,5,5,147,216,5,5,237,191,5,5,131,166,5,5,138,179,5,5,56,207,5,5,210,178,5,5,228,223,5,5,206,222,5,5,238,182,5,5,208,163,5,5,190,192,5,5,90,164,5,5,120,210,5,5,236,241,5,5,202,210,5,5,21,208,5,5,253,244,5,5,56,192,5,5,237,195,5,5,153,173,5,5,181,199,5,5,217,179,5,5,53,184,5,5,12,163,5,5,69,248,5,5,123,210,5,5,76,221,5,5,124,210,5,5,43,193,5,5,47,163,5,5,146,237,5,5,188,166,5,5,137,166,5,5,83,163,5,5,214,248,5,5,55,233,5,5,91,172,5,5,25,180,5,5,74,203,5,5,167,177,5,5,43,242,5,5,252,180,5,5,84,163,5,5,106,189,5,5,182,229,5,5,75,210,5,5,52,170,5,5,46,164,5,5,65,227,5,5,164,217,5,5,35,179,5,5,18,165,5,5,155,183,5,5,212,167,5,5,62,178,5,5,152,216,5,5,127,195,5,5,201,185,5,5,60,239,5,5,204,170,5,5,37,241,5,5,82,242,5,5,110,225,5,5,50,203,5,5,63,241,5,5,51,183,5,5,235,218,5,5,70,176,5,5,179,182,5,5,70,191,5,5,104,177,5,5,129,243,5,5,88,195,5,5,85,219,5,5,143,221,5,5,79,213,5,5,218,177,5,5,121,177,5,5,53,215,5,5,114,199,5,5,69,212,5,5,135,227,5,5,72,197,5,5,105,177,5,5,207,191,5,5,35,172,5,5,85,221,5,5,227,235,5,5,41,204,5,5,101,239,5,5,132,224,5,5,179,226,5,5,51,180,5,5,232,238,5,5,182,243,5,5,187,230,5,5,240,221,5,5,177,185,5,5,6,169,5,5,30,245,5,5,55,185,5,5,97,179,5,5,195,188,5,5,249,195,5,5,147,214,5,5,227,236,5,5,5,187,5,5,207,232,5,5,159,225,5,5,147,193,5,5,47,192,5,5,167,237,5,5,19,215,5,5,204,234,5,5,109,191,5,5,209,173,5,5,3,216,5,5,89,188,5,5,79,195,5,5,35,205,5,5,12,231,5,5,155,180,5,5,117,186,5,5,6,211,5,5,219,206,5,5,135,237,5,5,39,211,5,5,167,219,5,5,167,184,5,5,205,234,5,5,33,170,5,5,120,164,5,5,207,208,5,5,62,175,5,5,67,195,5,5,210,196,5,5,247,224,5,5,233,212,5,5,93,193,5,5,97,190,5,5,38,226,5,5,84,222,5,5,193,205,5,5,2,219,5,5,58,215,5,5,236,207,5,5,167,199,5,5,239,166,5,5,252,179,5,5,223,177,5,5,111,205,5,5,78,207,5,5,11,171,5,5,138,231,5,5,114,209,5,5,116,244,5,5,100,195,5,5,47,211,5,5,129,235,5,5,246,237,5,5,137,223,5,5,140,209,5,5,214,222,5,5,174,178,5,5,54,236,5,5,56,201,5,5,183,200,5,5,31,238,5,5,41,178,5,5,245,169,5,5,12,186,5,5,143,231,5,5,214,172,5,5,222,169,5,5,137,169,5,5,2,221,5,5,116,163,5,5,187,191,5,5,250,183,5,5,117,180,5,5,225,207,5,5,251,183,5,5,227,182,5,5,58,188,5,5,34,192,5,5,171,164,5,5,139,240,5,5,33,203,5,5,23,166,5,5,79,231,5,5,161,165,5,5,60,180,5,5,152,170,5,5,100,190,5,5,199,164,5,5,229,249,5,5,180,206,5,5,159,176,5,5,227,232,5,5,176,217,5,5,64,188,5,5,101,224,5,5,185,207,5,5,26,188,5,5,239,168,5,5,244,189,5,5,147,178,5,5,36,186,5,5,2,169,5,5,7,235,5,5,52,211,5,5,143,176,5,5,214,199,5,5,97,185,5,5,194,200,5,5,68,222,5,5,160,188,5,5,181,240,5,5,160,223,5,5,174,165,5,5,2,185,5,5,116,224,5,5,63,216,5,5,35,221,5,5,6,225,5,5,152,204,5,5,134,238,5,5,46,177,5,5,183,211,5,5,16,188,5,5,60,171,5,5,34,221,5,5,163,170,5,5,45,169,5,5,223,229,5,5,77,228,5,5,194,199,5,5,164,170,5,5,175,242,5,5,26,165,5,5,132,198,5,5,27,165,5,5,131,228,5,5,80,195,5,5,239,195,5,5,180,164,5,5,161,201,5,5,42,231,5,5,105,236,5,5,103,215,5,5,104,215,5,5,216,204,5,5,9,172,5,5,175,213,5,5,220,229,5,5,210,175,5,5,88,219,5,5,81,183,5,5,87,220,5,5,144,167,5,5,224,213,5,5,130,189,5,5,246,165,5,5,50,165,5,5,43,231,5,5,70,238,5,5,74,194,5,5,184,191,5,5,185,191,5,5,134,172,5,5,226,225,5,5,186,201,5,5,233,193,5,5,13,172,5,5,221,235,5,5,237,196,5,5,146,186,5,5,53,191,5,5,159,181,5,5,165,227,5,5,4,207,5,5,226,248,5,5,227,248,5,5,142,224,5,5,255,211,5,5,31,189,5,5,250,224,5,5,225,227,5,5,238,196,5,5,148,242,5,5,41,247,5,5,193,242,5,5,2,238,5,5,3,201,5,5,143,248,5,5,42,247,5,5,111,216,5,5,5,164,5,5,191,201,5,5,3,212,5,5,230,241,5,5,44,247,5,5,96,164,5,5,251,238,5,5,39,246,5,5,154,243,5,5,66,196,5,5,36,212,5,5,37,186,5,5,238,177,5,5,115,212,5,5,221,173,5,5,94,181,5,5,7,184,5,5,83,179,5,5,104,195,5,5,144,197,5,5,38,212,5,5,138,226,5,5,78,194,5,5,217,175,5,5,20,209,5,5,110,196,5,5,106,180,5,5,80,194,5,5,83,168,5,5,192,195,5,5,159,213,5,5,143,200,5,5,152,224,5,5,54,168,5,5,120,176,5,5,200,200,5,5,87,179,5,5,46,247,5,5,42,179,5,5,159,170,5,5,221,229,5,5,75,228,5,5,21,243,5,5,117,198,5,5,247,164,5,5,59,247,5,5,134,226,5,5,40,231,5,5,7,246,5,5,83,215,5,5,136,201,5,5,194,204,5,5,252,171,5,5,210,195,5,5,171,170,5,5,83,219,5,5,78,183,5,5,214,193,5,5,25,247,5,5,56,179,5,5,3,172,5,5,47,191,5,5,87,195,5,5,127,172,5,5,164,191,5,5,101,197,5,5,227,196,5,5,130,204,5,5,215,248,5,5,108,186,5,5,234,177,5,5,80,248,5,5,136,242,5,5,243,224,5,5,126,213,5,5,30,247,5,5,251,200,5,5,176,242,5,5,222,237,5,5,133,224,5,5,23,186,5,5,252,211,5,5,89,200,5,5,59,196,5,5,22,212,5,5,130,197,5,5,89,181,5,5,35,175,5,5,9,212,5,5,108,198,5,5,190,200,5,5,195,174,5,5,185,174,5,5,18,185,5,5,131,178,5,5,21,216,5,5,57,210,5,5,86,245,5,5,235,191,5,5,179,218,5,5,111,243,5,5,19,244,5,5,190,175,5,5,194,237,5,5,12,229,5,5,85,164,5,5,234,166,5,5,244,195,5,5,163,249,5,5,25,231,5,5,152,218,5,5,236,167,5,5,121,206,5,5,159,173,5,5,20,244,5,5,112,243,5,5,235,220,5,5,98,203,5,5,53,225,5,5,198,237,5,5,162,211,5,5,208,176,5,5,231,232,5,5,7,233,5,5,163,177,5,5,169,189,5,5,134,237,5,5,26,182,5,5,27,182,5,5,183,163,5,5,62,166,5,5,196,174,5,5,160,202,5,5,7,190,5,5,30,191,5,5,184,224,5,5,143,216,5,5,104,178,5,5,8,186,5,5,108,169,5,5,56,206,5,5,68,229,5,5,105,178,5,5,190,215,5,5,32,239,5,5,11,194,5,5,146,247,5,5,218,191,5,5,76,228,5,5,49,208,5,5,195,209,5,5,150,216,5,5,99,226,5,5,206,174,5,5,19,165,5,5,195,213,5,5,78,228,5,5,22,229,5,5,215,218,5,5,215,168,5,5,195,175,5,5,97,249,5,5,245,220,5,5,156,225,5,5,198,215,5,5,178,175,5,5,235,183,5,5,164,249,5,5,147,215,5,5,236,166,5,5,208,172,5,5,100,232,5,5,85,240,5,5,138,178,5,5,205,190,5,5,130,243,5,5,212,206,5,5,35,226,5,5,195,224,5,5,2,168,5,5,123,189,5,5,185,179,5,5,203,215,5,5,17,190,5,5,24,229,5,5,149,215,5,5,137,243,5,5,195,221,5,5,40,244,5,5,179,230,5,5,202,213,5,5,169,226,5,5,46,243,5,5,138,243,5,5,146,229,5,5,156,176,5,5,205,247,5,5,240,190,5,5,236,245,5,5,237,245,5,5,242,183,5,5,139,178,5,5,10,237,5,5,234,238,5,5,48,201,5,5,114,203,5,5,12,237,5,5,213,243,5,5,246,191,5,5,241,242,5,5,23,200,5,5,180,191,5,5,170,249,5,5,115,245,5,5,129,196,5,5,66,238,5,5,142,213,5,5,86,180,5,5,208,202,5,5,53,221,5,5,147,175,5,5,111,238,5,5,143,213,5,5,219,243,5,5,220,235,5,5,27,230,5,5,237,188,5,5,80,182,5,5,140,176,5,5,68,204,5,5,39,237,5,5,13,237,5,5,158,238,5,5,161,215,5,5,116,173,5,5,195,183,5,5,45,239,5,5,13,202,5,5,153,175,5,5,64,213,5,5,228,243,5,5,175,237,5,5,35,200,5,5,37,191,5,5,37,213,5,5,43,187,5,5,108,187,5,5,114,187,5,5,81,222,5,5,253,198,5,5,79,218,5,5,80,237,5,5,248,207,5,5,103,183,5,5,86,240,5,5,18,212,5,5,47,243,5,5,232,210,5,5,84,210,5,5,44,218,5,5,14,241,5,5,77,202,5,5,89,193,5,5,178,200,5,5,3,219,5,5,94,192,5,5,4,208,5,5,185,233,5,5,217,249,5,5,220,206,5,5,166,225,5,5,239,198,5,5,224,231,5,5,149,190,5,5,229,247,5,5,38,224,5,5,87,177,5,5,8,237,5,5,156,198,5,5,212,245,5,5,238,229,5,5,116,194,5,5,179,225,5,5,229,231,5,5,232,249,5,5,17,202,5,5,27,213,5,5,45,224,5,5,109,188,5,5,222,186,5,5,109,183,5,5,73,217,5,5,232,231,5,5,121,202,5,5,122,202,5,5,8,248,5,5,188,247,5,5,75,217,5,5,231,182,5,5,236,172,5,5,230,235,5,5,93,172,5,5,32,247,5,5,86,173,5,5,109,167,5,5,143,249,5,5,86,187,5,5,106,223,5,5,11,244,5,5,131,189,5,5,87,185,5,5,226,238,5,5,10,164,5,5,116,245,5,5,175,177,5,5,106,176,5,5,78,199,5,5,117,245,5,5,108,177,5,5,206,216,5,5,209,202,5,5,106,172,5,5,204,224,5,5,164,214,5,5,120,219,5,5,160,181,5,5,3,221,5,5,6,167,5,5,225,169,5,5,137,189,5,5,146,208,5,5,25,220,5,5,209,199,5,5,166,227,5,5,167,172,5,5,174,201,5,5,91,220,5,5,150,243,5,5,173,183,5,5,250,221,5,5,149,182,5,5,244,188,5,5,179,189,5,5,26,179,5,5,130,244,5,5,126,245,5,5,150,189,5,5,237,229,5,5,151,189,5,5,219,213,5,5,176,201,5,5,155,243,5,5,187,169,5,5,188,169,5,5,176,249,5,5,107,188,5,5,27,171,5,5,32,166,5,5,128,245,5,5,158,246,5,5,70,196,5,5,199,243,5,5,67,213,5,5,187,240,5,5,51,238,5,5,63,176,5,5,150,180,5,5,99,236,5,5,165,248,5,5,76,190,5,5,10,191,5,5,119,175,5,5,118,202,5,5,113,167,5,5,55,244,5,5,29,163,5,5,233,167,5,5,44,246,5,5,229,173,5,5,161,213,5,5,244,202,5,5,167,169,5,5,255,170,5,5,2,171,5,5,111,185,5,5,165,187,5,5,230,199,5,5,53,238,5,5,225,172,5,5,122,175,5,5,23,191,5,5,160,189,5,5,90,238,5,5,232,173,5,5,169,187,5,5,38,164,5,5,179,197,5,5,175,197,5,5,177,197,5,5,97,166,5,5,89,211,5,5,90,211,5,5,167,206,5,5,66,181,5,5,187,220,5,5,172,206,5,5,70,225,5,5,141,211,5,5,177,206,5,5,179,206,5,5,181,177,5,5,181,206,5,5,70,181,5,5,153,172,5,5,163,172,5,5,130,195,5,5,52,171,5,5,217,171,5,5,216,171,5,5,53,164,5,5,108,241,5,5,116,181,5,5,146,200,5,5,135,241,5,5,165,191,5,5,199,177,5,5,149,223,5,5,130,210,5,5,141,230,5,5,175,176,5,5,40,178,5,5,109,245,5,5,142,230,5,5,238,210,5,5,231,205,5,5,49,217,5,5,57,184,5,5,14,163,5,5,215,243,5,5,203,235,5,5,250,182,5,5,131,169,5,5,238,232,5,5,36,175,5,5,111,164,5,5,126,240,5,5,246,241,5,5,191,179,5,5,236,163,5,5,59,203,5,5,170,201,5,5,22,167,5,5,12,244,5,5,99,166,5,5,148,243,5,5,188,191,5,5,193,179,5,5,187,203,5,5,32,214,5,5,215,238,5,5,216,238,5,5,165,198,5,5,228,194,5,5,88,209,5,5,37,175,5,5,171,209,5,5,137,181,5,5,116,170,5,5,229,244,5,5,7,237,5,5,38,181,5,5,203,209,5,5,177,217,5,5,67,197,5,5,194,164,5,5,80,179,5,5,4,229,5,5,80,166,5,5,67,196,5,5,230,206,5,5,8,185,5,5,106,214,5,5,47,230,5,5,151,164,5,5,23,239,5,5,237,209,5,5,238,209,5,5,145,197,5,5,230,214,5,5,109,172,5,5,231,206,5,5,248,204,5,5,209,165,5,5,162,176,5,5,249,204,5,5,14,247,5,5,171,179,5,5,65,192,5,5,84,179,5,5,243,163,5,5,39,214,5,5,76,167,5,5,196,191,5,5,103,165,5,5,71,196,5,5,65,180,5,5,251,185,5,5,61,194,5,5,183,209,5,5,54,217,5,5,27,202,5,5,6,205,5,5,33,206,5,5,164,224,5,5,43,175,5,5,94,199,5,5,175,215,5,5,113,210,5,5,18,178,5,5,163,245,5,5,11,205,5,5,62,186,5,5,12,246,5,5,143,230,5,5,134,174,5,5,12,170,5,5,111,212,5,5,189,191,5,5,98,246,5,5,204,209,5,5,102,198,5,5,49,225,5,5,73,196,5,5,54,230,5,5,203,249,5,5,205,227,5,5,107,246,5,5,195,191,5,5,178,163,5,5,172,179,5,5,66,192,5,5,205,249,5,5,19,192,5,5,104,165,5,5,112,246,5,5,56,237,5,5,15,178,5,5,164,245,5,5,19,178,5,5,2,246,5,5,125,230,5,5,92,174,5,5,94,198,5,5,86,246,5,5,191,249,5,5,162,179,5,5,149,204,5,5,153,204,5,5,62,215,5,5,97,214,5,5,69,215,5,5,20,202,5,5,118,243,5,5,223,231,5,5,192,249,5,5,250,227,5,5,25,185,5,5,174,167,5,5,76,201,5,5,131,244,5,5,206,249,5,5,181,167,5,5,222,238,5,5,157,243,5,5,90,216,5,5,95,199,5,5,88,241,5,5,202,177,5,5,129,211,5,5,116,196,5,5,104,216,5,5,230,229,5,5,66,198,5,5,201,216,5,5,182,239,5,5,204,216,5,5,184,237,5,5,127,237,5,5,150,196,5,5,208,208,5,5,187,198,5,5,112,248,5,5,198,246,5,5,75,164,5,5,216,178,5,5,182,176,5,5,244,175,5,5,91,167,5,5,176,166,5,5,172,189,5,5,196,223,5,5,128,206,5,5,151,185,5,5,138,197,5,5,142,209,5,5,248,237,5,5,172,237,5,5,99,246,5,5,33,214,5,5,63,196,5,5,195,228,5,5,194,239,5,5,198,228,5,5,185,197,5,5,129,178,5,5,36,248,5,5,165,168,5,5,152,185,5,5,179,174,5,5,62,203,5,5,215,179,5,5,123,200,5,5,134,196,5,5,63,203,5,5,87,190,5,5,177,181,5,5,77,225,5,5,219,244,5,5,123,249,5,5,29,199,5,5,153,198,5,5,135,206,5,5,81,182,5,5,82,182,5,5,142,168,5,5,72,185,5,5,83,182,5,5,158,231,5,5,157,231,5,5,42,226,5,5,229,177,5,5,73,185,5,5,13,180,5,5,154,198,5,5,99,210,5,5,30,195,5,5,254,234,5,5,154,217,5,5,212,210,5,5,198,239,5,5,7,236,5,5,194,180,5,5,176,237,5,5,8,238,5,5,196,242,5,5,67,247,5,5,183,195,5,5,245,249,5,5,129,222,5,5,197,242,5,5,166,215,5,5,34,216,5,5,247,239,5,5,108,249,5,5,122,236,5,5,137,177,5,5,138,177,5,5,49,206,5,5,111,196,5,5,157,185,5,5,190,185,5,5,91,168,5,5,221,245,5,5,121,170,5,5,171,234,5,5,207,241,5,5,20,198,5,5,184,209,5,5,98,193,5,5,25,218,5,5,11,243,5,5,148,200,5,5,165,224,5,5,209,230,5,5,4,171,5,5,35,166,5,5,176,215,5,5,150,168,5,5,223,189,5,5,88,186,5,5,25,184,5,5,97,212,5,5,81,241,5,5,201,177,5,5,125,211,5,5,62,198,5,5,98,216,5,5,228,229,5,5,187,216,5,5,190,216,5,5,195,246,5,5,82,193,5,5,212,178,5,5,182,208,5,5,71,164,5,5,125,237,5,5,183,198,5,5,70,248,5,5,196,189,5,5,171,189,5,5,173,166,5,5,126,206,5,5,163,203,5,5,54,203,5,5,174,181,5,5,122,197,5,5,209,244,5,5,104,208,5,5,11,195,5,5,183,239,5,5,141,168,5,5,98,200,5,5,78,182,5,5,138,198,5,5,210,244,5,5,211,244,5,5,21,195,5,5,184,180,5,5,244,249,5,5,249,237,5,5,124,222,5,5,191,242,5,5,173,237,5,5,2,184,5,5,104,170,5,5,134,177,5,5,120,236,5,5,18,198,5,5,156,185,5,5,161,224,5,5,207,230,5,5,149,168,5,5,95,212,5,5,199,173,5,5,148,165,5,5,138,193,5,5,128,174,5,5,178,213,5,5,122,220,5,5,153,165,5,5,214,235,5,5,7,163,5,5,121,179,5,5,205,187,5,5,117,193,5,5,178,217,5,5,241,227,5,5,99,207,5,5,165,165,5,5,147,235,5,5,108,246,5,5,52,244,5,5,204,241,5,5,62,236,5,5,105,195,5,5,63,236,5,5,253,172,5,5,77,188,5,5,69,213,5,5,111,188,5,5,76,168,5,5,77,168,5,5,79,188,5,5,175,165,5,5,176,165,5,5,177,165,5,5,4,188,5,5,192,165,5,5,250,235,5,5,233,173,5,5,6,215,5,5,186,173,5,5,21,244,5,5,108,220,5,5,141,165,5,5,209,235,5,5,75,207,5,5,122,235,5,5,55,236,5,5,189,241,5,5,53,188,5,5,71,168,5,5,162,165,5,5,163,165,5,5,154,172,5,5,255,172,5,5,173,172,5,5,151,172,5,5,241,226,5,5,242,226,5,5,64,234,5,5,220,201,5,5,216,177,5,5,178,235,5,5,16,182,5,5,82,220,5,5,70,237,5,5,81,216,5,5,145,182,5,5,144,230,5,5,97,248,5,5,5,208,5,5,100,223,5,5,216,243,5,5,63,173,5,5,64,173,5,5,73,237,5,5,214,243,5,5,221,179,5,5,184,239,5,5,19,233,5,5,51,165,5,5,201,203,5,5,163,179,5,5,91,188,5,5,190,233,5,5,8,181,5,5,189,235,5,5,27,164,5,5,88,227,5,5,113,178,5,5,200,197,5,5,147,230,5,5,112,181,5,5,56,204,5,5,60,203,5,5,78,166,5,5,190,241,5,5,192,182,5,5,191,233,5,5,84,216,5,5,73,244,5,5,9,208,5,5,62,239,5,5,61,243,5,5,33,185,5,5,244,212,5,5,71,234,5,5,60,163,5,5,37,183,5,5,250,237,5,5,145,166,5,5,69,208,5,5,214,175,5,5,187,236,5,5,230,247,5,5,96,227,5,5,196,241,5,5,12,201,5,5,190,193,5,5,102,227,5,5,132,205,5,5,107,222,5,5,79,166,5,5,228,215,5,5,146,166,5,5,119,241,5,5,10,180,5,5,169,172,5,5,28,221,5,5,149,246,5,5,93,194,5,5,3,238,5,5,185,184,5,5,202,249,5,5,32,199,5,5,72,201,5,5,10,181,5,5,129,200,5,5,244,204,5,5,42,198,5,5,80,238,5,5,102,180,5,5,90,173,5,5,153,246,5,5,76,193,5,5,141,223,5,5,129,237,5,5,105,180,5,5,130,163,5,5,17,192,5,5,155,213,5,5,177,196,5,5,108,188,5,5,61,236,5,5,198,179,5,5,131,241,5,5,158,249,5,5,84,169,5,5,107,180,5,5,119,170,5,5,90,165,5,5,163,248,5,5,4,215,5,5,206,205,5,5,100,236,5,5,180,196,5,5,152,222,5,5,123,228,5,5,119,223,5,5,64,176,5,5,197,240,5,5,24,202,5,5,25,230,5,5,84,225,5,5,237,249,5,5,173,179,5,5,160,246,5,5,91,216,5,5,100,220,5,5,91,173,5,5,203,197,5,5,3,171,5,5,92,243,5,5,90,169,5,5,120,224,5,5,92,216,5,5,119,190,5,5,166,232,5,5,135,183,5,5,226,226,5,5,212,177,5,5,200,201,5,5,255,181,5,5,67,180,5,5,140,182,5,5,109,213,5,5,126,230,5,5,56,248,5,5,85,223,5,5,49,173,5,5,208,243,5,5,79,205,5,5,45,227,5,5,17,164,5,5,169,235,5,5,99,178,5,5,141,239,5,5,56,239,5,5,18,230,5,5,79,216,5,5,102,197,5,5,32,185,5,5,34,204,5,5,185,212,5,5,68,166,5,5,48,163,5,5,201,175,5,5,211,237,5,5,186,247,5,5,34,183,5,5,50,208,5,5,180,193,5,5,7,201,5,5,204,215,5,5,85,194,5,5,134,223,5,5,159,196,5,5,56,193,5,5,42,236,5,5,82,224,5,5,103,241,5,5,69,169,5,5,102,163,5,5,47,188,5,5,250,214,5,5,199,205,5,5,112,170,5,5,92,236,5,5,147,222,5,5,133,183,5,5,17,228,5,5,117,196,5,5,173,193,5,5,41,216,5,5,106,173,5,5,111,163,5,5,191,183,5,5,63,165,5,5,119,163,5,5,230,181,5,5,70,198,5,5,170,172,5,5,245,204,5,5,219,238,5,5,85,238,5,5,248,174,5,5,72,215,5,5,125,249,5,5,10,216,5,5,123,173,5,5,133,168,5,5,12,216,5,5,34,169,5,5,98,248,5,5,241,173,5,5,139,198,5,5,176,176,5,5,38,182,5,5,149,219,5,5,47,223,5,5,235,217,5,5,243,221,5,5,91,218,5,5,4,167,5,5,32,216,5,5,13,230,5,5,215,235,5,5,172,249,5,5,35,247,5,5,126,218,5,5,45,176,5,5,50,191,5,5,60,242,5,5,112,163,5,5,28,164,5,5,168,207,5,5,42,182,5,5,127,240,5,5,180,211,5,5,36,247,5,5,184,211,5,5,87,208,5,5,190,166,5,5,215,219,5,5,18,249,5,5,243,166,5,5,65,220,5,5,88,207,5,5,248,221,5,5,145,184,5,5,227,206,5,5,224,167,5,5,184,232,5,5,95,203,5,5,138,189,5,5,229,220,5,5,123,179,5,5,237,174,5,5,74,244,5,5,21,227,5,5,73,165,5,5,43,182,5,5,44,182,5,5,190,235,5,5,59,188,5,5,57,169,5,5,116,168,5,5,196,179,5,5,29,219,5,5,84,231,5,5,141,180,5,5,25,179,5,5,196,217,5,5,49,212,5,5,170,228,5,5,88,208,5,5,63,239,5,5,201,197,5,5,120,163,5,5,156,221,5,5,152,243,5,5,150,190,5,5,75,220,5,5,58,176,5,5,104,214,5,5,68,188,5,5,7,207,5,5,120,237,5,5,213,210,5,5,211,170,5,5,128,186,5,5,155,198,5,5,232,181,5,5,125,217,5,5,101,182,5,5,74,208,5,5,186,237,5,5,144,225,5,5,135,216,5,5,43,238,5,5,65,190,5,5,86,222,5,5,29,220,5,5,206,227,5,5,118,168,5,5,221,196,5,5,199,179,5,5,60,185,5,5,117,233,5,5,73,195,5,5,233,208,5,5,234,208,5,5,73,243,5,5,171,172,5,5,26,236,5,5,253,242,5,5,197,191,5,5,231,241,5,5,129,245,5,5,125,168,5,5,72,235,5,5,126,168,5,5,145,210,5,5,172,172,5,5,78,201,5,5,146,210,5,5,173,199,5,5,246,247,5,5,197,180,5,5,89,212,5,5,222,213,5,5,119,233,5,5,140,196,5,5,49,230,5,5,148,235,5,5,120,193,5,5,49,182,5,5,247,193,5,5,64,236,5,5,107,210,5,5,136,225,5,5,48,219,5,5,78,188,5,5,183,167,5,5,145,180,5,5,70,213,5,5,50,234,5,5,10,178,5,5,85,243,5,5,80,249,5,5,112,232,5,5,27,236,5,5,124,228,5,5,234,186,5,5,49,219,5,5,242,229,5,5,77,190,5,5,71,213,5,5,107,190,5,5,30,221,5,5,152,169,5,5,160,238,5,5,72,234,5,5,178,165,5,5,73,235,5,5,195,211,5,5,107,165,5,5,50,219,5,5,170,248,5,5,219,216,5,5,128,199,5,5,63,163,5,5,196,236,5,5,185,214,5,5,2,189,5,5,154,220,5,5,198,178,5,5,82,188,5,5,51,182,5,5,142,234,5,5,185,177,5,5,22,204,5,5,6,181,5,5,93,243,5,5,115,190,5,5,102,220,5,5,112,206,5,5,206,240,5,5,136,241,5,5,18,182,5,5,134,168,5,5,73,220,5,5,98,243,5,5,25,191,5,5,56,191,5,5,149,180,5,5,65,216,5,5,249,202,5,5,249,229,5,5,16,207,5,5,74,213,5,5,166,200,5,5,245,186,5,5,181,165,5,5,29,169,5,5,49,248,5,5,19,182,5,5,212,217,5,5,32,223,5,5,156,211,5,5,9,230,5,5,69,163,5,5,46,191,5,5,183,232,5,5,15,227,5,5,170,235,5,5,197,174,5,5,198,206,5,5,97,232,5,5,218,221,5,5,28,182,5,5,143,184,5,5,87,203,5,5,39,240,5,5,85,175,5,5,127,214,5,5,46,169,5,5,119,243,5,5,244,203,5,5,111,199,5,5,136,190,5,5,196,197,5,5,107,168,5,5,142,165,5,5,171,186,5,5,140,225,5,5,35,243,5,5,121,216,5,5,204,210,5,5,51,208,5,5,193,208,5,5,194,208,5,5,63,195,5,5,83,222,5,5,90,233,5,5,155,236,5,5,65,234,5,5,124,168,5,5,246,218,5,5,123,196,5,5,18,236,5,5,110,245,5,5,148,238,5,5,48,188,5,5,89,210,5,5,98,228,5,5,154,165,5,5,99,190,5,5,52,235,5,5,143,224,5,5,69,220,5,5,236,202,5,5,240,229,5,5,59,216,5,5,44,193,5,5,75,246,5,5,87,246,5,5,88,246,5,5,219,247,5,5,162,192,5,5,118,240,5,5,12,239,5,5,213,179,5,5,230,203,5,5,55,164,5,5,240,163,5,5,162,233,5,5,206,180,5,5,221,176,5,5,17,196,5,5,186,197,5,5,149,209,5,5,39,198,5,5,50,196,5,5,193,191,5,5,93,182,5,5,244,192,5,5,117,168,5,5,95,165,5,5,31,195,5,5,87,209,5,5,247,247,5,5,18,237,5,5,250,185,5,5,134,163,5,5,181,214,5,5,157,164,5,5,135,163,5,5,165,233,5,5,187,196,5,5,44,166,5,5,87,169,5,5,5,188,5,5,252,185,5,5,186,214,5,5,17,178,5,5,181,232,5,5,19,237,5,5,209,180,5,5,46,166,5,5,188,196,5,5,224,189,5,5,4,192,5,5,7,192,5,5,199,209,5,5,116,195,5,5,189,209,5,5,191,185,5,5,38,236,5,5,143,165,5,5,208,196,5,5,211,196,5,5,177,176,5,5,179,173,5,5,252,214,5,5,67,230,5,5,34,170,5,5,46,176,5,5,215,196,5,5,39,166,5,5,143,172,5,5,36,181,5,5,225,167,5,5,151,231,5,5,144,172,5,5,70,230,5,5,234,180,5,5,56,164,5,5,74,165,5,5,39,170,5,5,138,174,5,5,44,239,5,5,85,231,5,5,186,211,5,5,211,194,5,5,254,214,5,5,64,196,5,5,220,202,5,5,176,167,5,5,3,222,5,5,242,227,5,5,218,236,5,5,238,180,5,5,115,187,5,5,41,166,5,5,118,233,5,5,192,176,5,5,179,167,5,5,108,237,5,5,100,221,5,5,88,212,5,5,120,233,5,5,235,229,5,5,64,205,5,5,62,182,5,5,36,199,5,5,254,184,5,5,139,204,5,5,245,208,5,5,164,188,5,5,231,220,5,5,45,166,5,5,185,167,5,5,59,169,5,5,86,236,5,5,122,170,5,5,123,170,5,5,128,236,5,5,220,216,5,5,213,187,5,5,110,210,5,5,109,210,5,5,132,183,5,5,201,200,5,5,72,196,5,5,132,184,5,5,47,166,5,5,215,187,5,5,161,230,5,5,202,175,5,5,213,175,5,5,82,183,5,5,192,201,5,5,156,213,5,5,220,175,5,5,112,198,5,5,221,175,5,5,222,175,5,5,140,204,5,5,41,225,5,5,179,248,5,5,180,248,5,5,170,191,5,5,70,243,5,5,180,174,5,5,251,210,5,5,245,193,5,5,121,233,5,5,112,188,5,5,248,193,5,5,243,228,5,5,171,248,5,5,13,194,5,5,10,170,5,5,210,202,5,5,217,208,5,5,129,191,5,5,131,196,5,5,11,201,5,5,9,163,5,5,204,166,5,5,15,170,5,5,212,216,5,5,250,242,5,5,172,214,5,5,66,189,5,5,159,248,5,5,84,182,5,5,150,208,5,5,105,247,5,5,67,189,5,5,155,246,5,5,131,192,5,5,27,223,5,5,78,168,5,5,108,165,5,5,88,169,5,5,144,202,5,5,221,216,5,5,62,224,5,5,17,243,5,5,103,220,5,5,189,247,5,5,134,175,5,5,93,230,5,5,175,203,5,5,35,163,5,5,171,201,5,5,17,182,5,5,109,177,5,5,139,202,5,5,36,217,5,5,174,237,5,5,251,237,5,5,143,227,5,5,189,198,5,5,147,182,5,5,138,169,5,5,231,203,5,5,196,228,5,5,95,164,5,5,68,249,5,5,11,168,5,5,240,189,5,5,37,247,5,5,25,199,5,5,198,189,5,5,216,231,5,5,164,173,5,5,111,173,5,5,253,182,5,5,62,242,5,5,127,168,5,5,156,169,5,5,142,197,5,5,215,213,5,5,187,211,5,5,101,198,5,5,228,167,5,5,141,189,5,5,46,182,5,5,61,163,5,5,42,210,5,5,205,168,5,5,142,174,5,5,82,165,5,5,207,233,5,5,150,246,5,5,228,206,5,5,88,177,5,5,26,163,5,5,65,242,5,5,145,194,5,5,229,167,5,5,68,184,5,5,131,216,5,5,125,179,5,5,58,164,5,5,242,174,5,5,102,219,5,5,96,207,5,5,27,193,5,5,116,227,5,5,27,179,5,5,123,175,5,5,81,179,5,5,190,203,5,5,95,229,5,5,58,198,5,5,87,216,5,5,46,239,5,5,252,238,5,5,40,246,5,5,246,219,5,5,157,221,5,5,248,243,5,5,207,187,5,5,151,190,5,5,205,182,5,5,207,180,5,5,177,240,5,5,96,166,5,5,104,246,5,5,14,204,5,5,19,196,5,5,242,193,5,5,70,215,5,5,194,191,5,5,55,200,5,5,224,185,5,5,2,175,5,5,131,195,5,5,32,215,5,5,74,178,5,5,38,208,5,5,195,180,5,5,215,171,5,5,243,227,5,5,103,219,5,5,219,236,5,5,214,210,5,5,245,247,5,5,38,183,5,5,160,219,5,5,146,194,5,5,245,192,5,5,199,236,5,5,38,245,5,5,44,210,5,5,72,228,5,5,220,168,5,5,241,200,5,5,40,181,5,5,15,187,5,5,145,227,5,5,146,227,5,5,132,195,5,5,248,170,5,5,146,225,5,5,172,187,5,5,121,232,5,5,168,213,5,5,23,250,5,5,175,183,5,5,159,231,5,5,237,208,5,5,101,221,5,5,89,216,5,5,39,183,5,5,113,226,5,5,237,202,5,5,91,177,5,5,121,209,5,5,97,193,5,5,41,220,5,5,246,178,5,5,61,185,5,5,223,172,5,5,176,183,5,5,188,240,5,5,222,196,5,5,71,190,5,5,181,204,5,5,253,224,5,5,107,206,5,5,216,190,5,5,153,189,5,5,110,232,5,5,229,186,5,5,18,171,5,5,122,233,5,5,45,219,5,5,71,184,5,5,100,199,5,5,187,248,5,5,17,177,5,5,221,226,5,5,175,228,5,5,17,201,5,5,198,180,5,5,43,198,5,5,137,216,5,5,162,221,5,5,3,185,5,5,123,233,5,5,57,232,5,5,211,165,5,5,212,165,5,5,243,200,5,5,90,212,5,5,59,232,5,5,252,245,5,5,253,245,5,5,251,247,5,5,92,226,5,5,50,230,5,5,64,177,5,5,80,201,5,5,210,188,5,5,3,243,5,5,239,209,5,5,240,209,5,5,69,205,5,5,217,164,5,5,11,238,5,5,54,244,5,5,250,174,5,5,9,236,5,5,148,192,5,5,182,213,5,5,63,182,5,5,37,199,5,5,118,227,5,5,245,230,5,5,184,217,5,5,16,247,5,5,194,210,5,5,21,198,5,5,11,245,5,5,165,173,5,5,28,236,5,5,80,188,5,5,40,169,5,5,8,227,5,5,222,226,5,5,81,194,5,5,163,231,5,5,147,180,5,5,51,179,5,5,208,241,5,5,181,237,5,5,246,249,5,5,148,210,5,5,246,208,5,5,17,247,5,5,246,230,5,5,227,228,5,5,167,188,5,5,127,238,5,5,30,185,5,5,37,200,5,5,22,172,5,5,245,202,5,5,42,181,5,5,196,211,5,5,7,205,5,5,176,228,5,5,124,170,5,5,73,213,5,5,45,210,5,5,191,165,5,5,246,202,5,5,242,202,5,5,181,221,5,5,34,206,5,5,5,215,5,5,130,222,5,5,238,249,5,5,31,221,5,5,225,195,5,5,77,217,5,5,120,165,5,5,173,248,5,5,197,211,5,5,116,216,5,5,64,163,5,5,81,204,5,5,248,217,5,5,197,236,5,5,82,201,5,5,77,233,5,5,127,228,5,5,128,228,5,5,2,173,5,5,62,194,5,5,3,189,5,5,249,217,5,5,154,171,5,5,101,213,5,5,212,232,5,5,118,216,5,5,142,173,5,5,82,194,5,5,59,198,5,5,99,196,5,5,60,232,5,5,29,236,5,5,104,220,5,5,150,192,5,5,63,194,5,5,231,244,5,5,20,187,5,5,25,225,5,5,164,185,5,5,169,229,5,5,91,238,5,5,210,230,5,5,248,202,5,5,41,217,5,5,96,199,5,5,170,229,5,5,167,187,5,5,216,187,5,5,168,187,5,5,144,171,5,5,207,220,5,5,93,216,5,5,17,238,5,5,225,189,5,5,126,194,5,5,246,186,5,5,81,215,5,5,169,247,5,5,133,175,5,5,132,202,5,5,53,242,5,5,146,182,5,5,233,189,5,5,163,173,5,5,0,152,5,5,131,197,5,5,22,163,5,5,198,168,5,5,67,184,5,5,197,189,5,5,58,242,5,5,99,219,5,5,227,174,5,5,23,163,5,5,52,164,5,5,56,198,5,5,7,168,5,5,118,179,5,5,234,193,5,5,181,203,5,5,125,195,5,5,90,246,5,5,43,239,5,5,193,182,5,5,56,232,5,5,57,198,5,5,89,196,5,5,211,202,5,5,2,204,5,5,61,215,5,5,100,219,5,5,85,216,5,5,238,217,5,5,243,192,5,5,207,186,5,5,145,188,5,5,234,204,5,5,11,187,5,5,4,227,5,5,37,181,5,5,143,194,5,5,144,227,5,5,238,200,5,5,35,208,5,5,215,202,5,5,21,250,5,5,106,211,5,5,142,189,5,5,224,208,5,5,108,232,5,5,168,172,5,5,220,196,5,5,251,224,5,5,96,193,5,5,174,183,5,5,69,184,5,5,89,177,5,5,105,206,5,5,171,228,5,5,215,226,5,5,152,231,5,5,140,173,5,5,60,177,5,5,214,164,5,5,23,225,5,5,192,180,5,5,13,247,5,5,251,245,5,5,6,236,5,5,6,238,5,5,235,209,5,5,246,174,5,5,73,201,5,5,87,212,5,5,28,206,5,5,208,165,5,5,25,236,5,5,125,238,5,5,235,208,5,5,49,179,5,5,79,194,5,5,202,241,5,5,124,167,5,5,250,204,5,5,29,185,5,5,190,165,5,5,76,217,5,5,119,165,5,5,120,170,5,5,20,172,5,5,234,249,5,5,159,246,5,5,68,213,5,5,60,194,5,5,125,228,5,5,255,188,5,5,76,233,5,5,93,199,5,5,149,192,5,5,18,187,5,5,101,220,5,5,94,194,5,5,33,184,5,5,233,239,5,5,129,174,5,5,93,187,5,5,136,204,5,5,107,166,5,5,53,243,5,5,161,174,5,5,84,177,5,5,238,201,5,5,7,174,5,5,229,230,5,5,128,192,5,5,211,226,5,5,8,174,5,5,44,172,5,5,29,164,5,5,16,249,5,5,93,218,5,5,87,199,5,5,242,210,5,5,50,174,5,5,77,164,5,5,38,247,5,5,235,204,5,5,213,226,5,5,134,248,5,5,237,172,5,5,153,241,5,5,175,207,5,5,176,207,5,5,30,168,5,5,156,200,5,5,4,221,5,5,32,164,5,5,62,243,5,5,234,240,5,5,126,221,5,5,157,173,5,5,9,174,5,5,39,247,5,5,174,238,5,5,111,175,5,5,153,191,5,5,196,230,5,5,143,189,5,5,135,171,5,5,143,174,5,5,47,182,5,5,247,171,5,5,110,187,5,5,225,165,5,5,30,219,5,5,154,191,5,5,19,249,5,5,196,233,5,5,214,211,5,5,167,214,5,5,23,223,5,5,56,176,5,5,229,206,5,5,228,241,5,5,28,193,5,5,244,178,5,5,144,248,5,5,13,244,5,5,102,231,5,5,236,240,5,5,3,181,5,5,145,248,5,5,123,181,5,5,125,244,5,5,126,178,5,5,9,245,5,5,47,239,5,5,119,193,5,5,81,238,5,5,94,218,5,5,72,243,5,5,208,198,5,5,173,214,5,5,64,203,5,5,208,187,5,5,158,221,5,5,51,244,5,5,193,180,5,5,177,201,5,5,152,190,5,5,201,230,5,5,99,170,5,5,157,191,5,5,96,230,5,5,15,204,5,5,2,215,5,5,28,220,5,5,95,218,5,5,153,190,5,5,213,198,5,5,96,184,5,5,19,238,5,5,166,190,5,5,65,203,5,5,230,202,5,5,233,181,5,5,158,200,5,5,61,182,5,5,117,166,5,5,39,245,5,5,227,207,5,5,160,248,5,5,131,163,5,5,75,208,5,5,23,218,5,5,216,164,5,5,28,213,5,5,76,208,5,5,9,207,5,5,194,181,5,5,106,206,5,5,196,180,5,5,177,237,5,5,178,237,5,5,15,197,5,5,34,199,5,5,76,245,5,5,174,228,5,5,76,185,5,5,116,204,5,5,95,167,5,5,72,190,5,5,16,168,5,5,98,229,5,5,148,174,5,5,221,238,5,5,69,222,5,5,182,167,5,5,253,210,5,5,104,210,5,5,194,163,5,5,92,177,5,5,73,190,5,5,39,212,5,5,254,204,5,5,11,207,5,5,246,181,5,5,238,240,5,5,22,249,5,5,238,208,5,5,230,186,5,5,132,241,5,5,87,222,5,5,61,197,5,5,118,178,5,5,223,196,5,5,31,229,5,5,239,208,5,5,108,206,5,5,189,240,5,5,190,240,5,5,109,206,5,5,160,231,5,5,62,185,5,5,247,178,5,5,153,208,5,5,114,226,5,5,229,192,5,5,232,206,5,5,192,207,5,5,218,240,5,5,86,233,5,5,21,202,5,5,164,229,5,5,134,244,5,5,120,223,5,5,153,171,5,5,51,230,5,5,223,238,5,5,241,209,5,5,199,180,5,5,38,199,5,5,200,180,5,5,12,238,5,5,124,203,5,5,42,170,5,5,149,174,5,5,93,226,5,5,234,181,5,5,4,243,5,5,148,197,5,5,81,249,5,5,106,168,5,5,224,196,5,5,231,169,5,5,39,199,5,5,141,244,5,5,76,226,5,5,132,245,5,5,13,207,5,5,28,179,5,5,125,234,5,5,180,173,5,5,173,197,5,5,147,244,5,5,82,249,5,5,77,215,5,5,121,247,5,5,223,226,5,5,174,197,5,5,184,225,5,5,109,180,5,5,223,213,5,5,247,230,5,5,81,188,5,5,119,202,5,5,29,193,5,5,5,205,5,5,87,237,5,5,160,198,5,5,199,233,5,5,200,233,5,5,202,240,5,5,4,242,5,5,86,243,5,5,28,202,5,5,150,187,5,5,95,181,5,5,160,195,5,5,158,180,5,5,159,180,5,5,203,240,5,5,235,181,5,5,41,169,5,5,21,204,5,5,20,192,5,5,96,181,5,5,210,224,5,5,120,202,5,5,121,182,5,5,183,219,5,5,128,238,5,5,233,241,5,5,124,239,5,5,180,238,5,5,121,223,5,5,52,219,5,5,113,188,5,5,239,249,5,5,55,191,5,5,109,165,5,5,245,229,5,5,75,222,5,5,253,247,5,5,42,245,5,5,206,207,5,5,201,243,5,5,202,180,5,5,151,235,5,5,23,204,5,5,207,240,5,5,129,199,5,5,110,165,5,5,151,244,5,5,198,236,5,5,83,201,5,5,38,173,5,5,24,204,5,5,6,188,5,5,94,243,5,5,22,192,5,5,184,204,5,5,134,215,5,5,135,215,5,5,236,181,5,5,173,169,5,5,78,233,5,5,174,248,5,5,152,244,5,5,79,190,5,5,122,182,5,5,136,215,5,5,74,217,5,5,208,240,5,5,55,168,5,5,199,225,5,5,116,190,5,5,42,213,5,5,208,239,5,5,37,202,5,5,18,232,5,5,254,247,5,5,105,220,5,5,137,241,5,5,56,244,5,5,56,168,5,5,133,184,5,5,97,199,5,5,66,171,5,5,153,244,5,5,6,171,5,5,198,176,5,5,244,248,5,5,176,248,5,5,141,185,5,5,64,164,5,5,226,189,5,5,176,197,5,5,26,191,5,5,250,229,5,5,246,248,5,5,154,244,5,5,127,194,5,5,236,211,5,5,247,186,5,5,184,190,5,5,29,184,5,5,126,204,5,5,208,201,5,5,248,248,5,5,28,172,5,5,189,226,5,5,168,238,5,5,228,240,5,5,115,234,5,5,19,164,5,5,240,220,5,5,11,193,5,5,232,178,5,5,193,189,5,5,230,240,5,5,135,214,5,5,9,244,5,5,107,189,5,5,9,223,5,5,203,211,5,5,253,248,5,5,63,217,5,5,32,182,5,5,113,235,5,5,236,218,5,5,37,239,5,5,108,193,5,5,247,214,5,5,204,198,5,5,15,220,5,5,144,191,5,5,162,190,5,5,156,201,5,5,31,245,5,5,95,163,5,5,186,186,5,5,221,207,5,5,51,193,5,5,168,237,5,5,99,248,5,5,105,215,5,5,172,180,5,5,65,245,5,5,27,212,5,5,150,171,5,5,212,238,5,5,212,196,5,5,191,163,5,5,162,167,5,5,90,210,5,5,106,226,5,5,223,192,5,5,11,249,5,5,168,236,5,5,18,199,5,5,134,197,5,5,247,237,5,5,65,193,5,5,227,209,5,5,187,233,5,5,223,169,5,5,121,245,5,5,140,240,5,5,248,241,5,5,118,247,5,5,60,188,5,5,99,202,5,5,141,240,5,5,236,204,5,5,165,197,5,5,116,239,5,5,126,244,5,5,180,219,5,5,106,188,5,5,247,187,5,5,16,204,5,5,178,204,5,5,152,248,5,5,67,190,5,5,195,200,5,5,97,220,5,5,132,244,5,5,91,199,5,5,251,170,5,5,121,194,5,5,246,229,5,5,231,189,5,5,179,205,5,5,144,189,5,5,65,205,5,5,131,215,5,5,190,234,5,5,71,205,5,5,74,205,5,5,208,242,5,5,188,234,5,5,18,190,5,5,16,242,5,5,146,234,5,5,138,202,5,5,23,167,5,5,147,234,5,5,24,167,5,5,251,221,5,5,36,208,5,5,201,221,5,5,246,204,5,5,49,171,5,5,50,171,5,5,44,248,5,5,74,188,5,5,208,224,5,5,39,208,5,5,250,188,5,5,177,183,5,5,240,208,5,5,74,190,5,5,182,204,5,5,40,208,5,5,110,206,5,5,132,187,5,5,60,216,5,5,132,215,5,5,39,203,5,5,56,171,5,5,151,187,5,5,212,227,5,5,32,221,5,5,4,189,5,5,113,206,5,5,248,208,5,5,165,189,5,5,210,242,5,5,148,234,5,5,182,169,5,5,178,169,5,5,135,197,5,5,3,224,5,5,51,174,5,5,219,171,5,5,213,171,5,5,53,174,5,5,32,167,5,5,2,212,5,5,189,211,5,5,100,170,5,5,54,174,5,5,232,215,5,5,63,185,5,5,192,211,5,5,221,171,5,5,123,223,5,5,234,173,5,5,38,174,5,5,185,211,5,5,220,171,5,5,23,169,5,5,159,169,5,5,71,169,5,5,32,200,5,5,157,169,5,5,111,232,5,5,186,184,5,5,124,173,5,5,49,201,5,5,50,201,5,5,180,205,5,5,170,194,5,5,69,181,5,5,222,179,5,5,178,201,5,5,155,199,5,5,39,197,5,5,180,201,5,5,110,229,5,5,208,186,5,5,70,184,5,5,29,223,5,5,207,197,5,5,206,197,5,5,142,240,5,5,142,210,5,5,17,176,5,5,150,213,5,5,136,182,5,5,142,169,5,5,135,169,5,5,143,210,5,5,115,175,5,5,235,225,5,5,90,242,5,5,157,177,5,5,122,239,5,5,221,213,5,5,254,242,5,5,193,211,5,5,249,169,5,5,5,243,5,5,124,211,5,5,238,248,5,5,231,186,5,5,87,176,5,5,11,178,5,5,90,234,5,5,154,242,5,5,203,242,5,5,9,243,5,5,19,176,5,5,254,238,5,5,232,220,5,5,120,175,5,5,91,234,5,5,125,239,5,5,233,169,5,5,131,220,5,5,19,243,5,5,20,178,5,5,227,189,5,5,174,218,5,5,126,173,5,5,146,174,5,5,182,174,5,5,210,171,5,5,194,171,5,5,76,249,5,5,168,234,5,5,4,212,5,5,250,223,5,5,149,245,5,5,163,221,5,5,97,218,5,5,5,171,5,5,129,238,5,5,121,165,5,5,52,182,5,5,111,165,5,5,50,249,5,5,241,223,5,5,50,182,5,5,204,177,5,5,115,171,5,5,29,183,5,5,206,177,5,5,153,231,5,5,57,193,5,5,58,193,5,5,245,178,5,5,119,173,5,5,200,179,5,5,24,249,5,5,19,168,5,5,255,224,5,5,21,192,5,5,64,209,5,5,25,249,5,5,66,180,5,5,131,180,5,5,114,229,5,5,107,229,5,5,117,173,5,5,219,172,5,5,45,247,5,5,10,163,5,5,90,177,5,5,48,182,5,5,220,222,5,5,220,211,5,5,30,229,5,5,5,227,5,5,118,242,5,5,7,227,5,5,162,181,5,5,41,245,5,5,95,184,5,5,111,206,5,5,16,201,5,5,15,207,5,5,12,243,5,5,195,181,5,5,152,235,5,5,40,213,5,5,237,215,5,5,15,243,5,5,115,185,5,5,219,164,5,5,229,241,5,5,43,210,5,5,72,198,5,5,127,245,5,5,130,245,5,5,24,198,5,5,116,214,5,5,14,238,5,5,79,219,5,5,31,215,5,5,137,247,5,5,80,219,5,5,211,184,5,5,141,183,5,5,218,208,5,5,192,219,5,5,231,202,5,5,161,231,5,5,29,202,5,5,35,202,5,5,155,208,5,5,252,201,5,5,77,223,5,5,227,224,5,5,229,224,5,5,146,197,5,5,5,241,5,5,200,243,5,5,113,214,5,5,7,164,5,5,15,232,5,5,114,214,5,5,215,223,5,5,26,223,5,5,6,243,5,5,34,207,5,5,41,181,5,5,156,189,5,5,152,189,5,5,153,225,5,5,93,212,5,5,115,214,5,5,205,195,5,5,15,184,5,5,183,204,5,5,232,241,5,5,17,226,5,5,239,196,5,5,46,248,5,5,198,225,5,5,249,239,5,5,178,183,5,5,17,232,5,5,113,232,5,5,244,211,5,5,177,249,5,5,18,243,5,5,183,238,5,5,16,238,5,5,213,245,5,5,211,240,5,5,166,233,5,5,114,232,5,5,144,177,5,5,200,225,5,5,3,206,5,5,46,241,5,5,62,223,5,5,223,224,5,5,116,197,5,5,184,243,5,5,28,207,5,5,132,189,5,5,2,164,5,5,30,181,5,5,144,231,5,5,201,195,5,5,37,248,5,5,11,226,5,5,243,211,5,5,209,245,5,5,248,190,5,5,125,167,5,5,214,194,5,5,126,167,5,5,7,243,5,5,14,191,5,5,39,191,5,5,215,194,5,5,168,195,5,5,44,175,5,5,167,189,5,5,45,175,5,5,225,190,5,5,202,194,5,5,164,195,5,5,241,193,5,5,243,209,5,5,123,165,5,5,210,193,5,5,233,248,5,5,44,226,5,5,151,197,5,5,209,207,5,5,44,214,5,5,177,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,209,5,5,246,192,5,5,174,223,5,5,80,203,5,5,117,199,5,5,71,226,5,5,37,207,5,5,241,193,5,5,241,193,5,5,36,209,5,5,164,205,5,5,239,184,5,5,22,183,5,5,78,186,5,5,83,185,5,5,102,190,5,5,113,190,5,5,101,190,5,5,123,190,5,5,114,190,5,5,26,185,5,5,134,190,5,5,208,185,5,5,138,190,5,5,144,190,5,5,210,185,5,5,150,190,5,5,188,190,5,5,185,190,5,5,50,186,5,5,96,186,5,5,52,186,5,5,184,190,5,5,22,186,5,5,94,186,5,5,39,186,5,5,48,186,5,5,227,184,5,5,253,184,5,5,4,185,5,5,114,186,5,5,129,186,5,5,141,186,5,5,106,186,5,5,104,186,5,5,35,185,5,5,159,186,5,5,175,185,5,5,241,189,5,5,248,189,5,5,211,189,5,5,199,189,5,5,193,185,5,5,214,189,5,5,234,189,5,5,35,190,5,5,76,190,5,5,240,189,5,5,79,190,5,5,31,190,5,5,32,190,5,5,96,191,5,5,24,190,5,5,56,190,5,5,18,190,5,5,223,190,5,5,34,191,5,5,208,184,5,5,15,191,5,5,16,191,5,5,169,185,5,5,125,185,5,5,34,190,5,5,87,185,5,5,131,185,5,5,74,191,5,5,239,185,5,5,146,185,5,5,10,186,5,5,147,185,5,5,82,191,5,5,8,186,5,5,86,185,5,5,10,185,5,5,10,189,5,5,100,189,5,5,155,186,5,5,134,189,5,5,124,189,5,5,123,189,5,5,12,178,5,5,223,182,5,5,26,185,5,5,172,184,5,5,225,175,5,5,120,184,5,5,151,184,5,5,89,191,5,5,74,240,5,5,195,163,5,5,69,167,5,5,238,165,5,5,216,174,5,5,118,166,5,5,90,171,5,5,156,229,5,5,224,236,5,5,62,234,5,5,2,236,5,5,36,229,5,5,101,241,5,5,177,229,5,5,131,227,5,5,183,224,5,5,181,224,5,5,238,226,5,5,234,230,5,5,216,237,5,5,218,237,5,5,68,189,5,5,58,189,5,5,42,189,5,5,43,189,5,5,54,189,5,5,40,189,5,5,78,189,5,5,76,189,5,5,111,187,5,5,58,191,5,5,212,184,5,5,203,189,5,5,65,191,5,5,103,191,5,5,139,187,5,5,53,191,5,5,245,186,5,5,132,187,5,5,208,186,5,5,22,187,5,5,104,187,5,5,105,187,5,5,157,187,5,5,63,184,5,5,140,188,5,5,212,188,5,5,79,184,5,5,132,188,5,5,198,188,5,5,175,188,5,5,64,184,5,5,202,188,5,5,153,188,5,5,82,184,5,5,144,188,5,5,123,188,5,5,206,188,5,5,176,187,5,5,177,187,5,5,25,243,5,5,191,187,5,5,199,187,5,5,177,229,5,5,126,188,5,5,90,184,5,5,73,184,5,5,205,188,5,5,162,188,5,5,210,187,5,5,174,189,5,5,87,189,5,5,120,184,5,5,173,189,5,5,117,188,5,5,98,189,5,5,178,244,5,5,117,189,5,5,119,189,5,5,129,189,5,5,131,189,5,5,160,189,5,5,172,189,5,5,35,187,5,5,14,187,5,5,17,187,5,5,114,187,5,5,226,237,5,5,31,185,5,5,226,187,5,5,234,187,5,5,42,184,5,5,21,188,5,5,26,185,5,5,241,187,5,5,246,187,5,5,13,188,5,5,244,187,5,5,248,190,5,5,113,249,5,5,25,231,5,5,54,188,5,5,55,224,5,5,84,188,5,5,34,188,5,5,28,188,5,5,36,188,5,5,37,188,5,5,40,188,5,5,54,184,5,5,157,185,5,5,99,188,5,5,43,190,5,5,17,190,5,5,198,190,5,5,202,190,5,5,204,190,5,5,214,190,5,5,87,191,5,5,89,187,5,5,57,187,5,5,89,191,5,5,240,190,5,5,30,187,5,5,27,187,5,5,76,191,5,5,29,240,5,5,249,186,5,5,173,186,5,5,150,183,5,5,3,187,5,5,82,187,5,5,209,186,5,5,7,187,5,5,8,187,5,5,250,186,5,5,222,186,5,5,208,183,5,5,212,183,5,5,21,189,5,5,240,188,5,5,241,188,5,5,35,189,5,5,237,188,5,5,3,189,5,5,4,189,5,5,218,188,5,5,225,188,5,5,247,188,5,5,26,187,5,5,70,187,5,5,71,187,5,5,186,222,5,5,192,218,5,5,6,227,5,5,177,228,5,5,146,223,5,5,212,233,5,5,94,209,5,5,36,178,5,5,53,179,5,5,95,180,5,5,194,219,5,5,12,179,5,5,54,164,5,5,141,174,5,5,139,216,5,5,56,206,5,5,78,205,5,5,62,196,5,5,78,245,5,5,75,199,192,0,0,0,192,0,0,0,5,5,230,222,192,0,0,0,5,5,114,211,192,0,0,0,192,0,0,0,5,5,254,212,5,5,140,221,5,5,65,240,5,5,248,186,5,5,179,228,5,5,71,216,5,5,131,174,5,5,172,206,5,5,103,206,5,5,6,248,192,0,0,0,5,5,49,210,192,0,0,0,5,5,154,221,192,0,0,0,192,0,0,0,5,5,100,240,5,5,184,175,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,173,5,5,189,235,5,5,93,194,5,5,174,197,5,5,107,186,5,5,108,187,5,5,55,245,5,5,126,236,5,5,192,171,5,5,195,171,5,5,233,210,5,5,181,163,5,5,79,197,5,5,44,180,5,5,56,209,5,5,210,168,5,5,139,169,5,5,137,234,5,5,185,223,5,5,56,200,5,5,91,195,5,5,196,232,5,5,134,225,5,5,5,172,5,5,164,202,5,5,109,229,5,5,201,169,5,5,188,197,5,5,194,221,5,5,140,198,5,5,196,221,5,5,251,219,5,5,246,232,5,5,189,163,5,5,188,227,5,5,163,218,5,5,172,208,5,5,109,242,5,5,235,232,5,5,226,221,5,5,205,199,5,5,193,220,5,5,64,193,5,5,184,181,5,5,170,203,5,5,202,188,5,5,246,205,5,5,26,173,5,5,112,229,5,5,164,219,5,5,63,224,5,5,55,234,5,5,55,234,5,5,185,219,5,5,164,197,5,5,66,227,5,5,117,241,5,5,205,205,5,5,21,166,5,5,211,232,5,5,249,225,5,5,100,240,5,5,109,183,5,5,90,216,5,5,142,168,5,5,76,200,192,0,0,0,5,5,91,194,192,0,0,0,192,0,0,0,5,5,83,166,5,5,23,197,5,5,52,212,5,5,142,216,5,5,147,226,5,5,216,202,5,5,252,249,5,5,244,227,5,5,79,197,5,5,180,179,5,5,83,200,5,5,159,245,5,5,230,222,5,5,108,173,5,5,216,242,5,5,115,164,5,5,20,165,5,5,193,233,5,5,107,238,5,5,121,240,5,5,20,234,5,5,176,241,5,5,94,247,5,5,216,228,5,5,100,248,5,5,196,232,5,5,151,238,5,5,134,225,5,5,112,175,5,5,197,247,5,5,45,236,5,5,73,166,5,5,102,238,5,5,114,211,5,5,129,186,5,5,111,247,5,5,44,221,5,5,73,175,5,5,131,227,5,5,34,188,5,5,185,243,5,5,127,231,5,5,140,198,5,5,184,206,5,5,196,221,5,5,177,209,5,5,183,207,5,5,46,173,5,5,140,221,5,5,251,220,5,5,183,233,5,5,136,199,5,5,75,194,5,5,8,247,5,5,65,240,5,5,44,229,5,5,102,218,5,5,251,207,5,5,184,219,5,5,91,181,5,5,51,181,5,5,170,203,5,5,144,185,5,5,159,179,5,5,202,188,5,5,191,168,5,5,164,219,5,5,33,201,5,5,115,199,5,5,121,249,5,5,79,211,5,5,247,174,5,5,66,227,5,5,111,177,5,5,154,221,5,5,133,211,5,5,117,241,5,5,172,184,5,5,139,248,5,5,205,205,5,5,2,166,5,5,211,232,5,5,93,229,5,5,54,223,5,5,59,236,5,5,155,216,5,5,195,221,5,5,109,183,5,5,172,206,5,5,178,163,5,5,90,216,5,5,184,237,5,5,142,168,5,5,231,220,5,5,241,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,238,5,5,125,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,230,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,14,228,6,5,188,231,6,5,236,229,192,0,0,0,6,5,67,239,6,5,49,178,6,5,199,203,6,5,61,181,6,5,236,203,6,5,223,244,6,5,28,245,6,5,21,188,6,5,119,210,6,5,49,198,6,5,42,232,6,5,4,216,6,5,149,225,6,5,211,222,6,5,8,229,6,5,61,173,6,5,10,229,6,5,26,226,6,5,242,242,6,5,212,179,6,5,114,166,6,5,82,239,6,5,79,236,6,5,56,242,6,5,251,232,6,5,193,222,6,5,94,242,6,5,159,218,6,5,116,232,6,5,46,175,6,5,229,205,6,5,51,197,6,5,84,197,6,5,127,170,6,5,68,242,6,5,197,248,6,5,133,228,6,5,145,191,6,5,160,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,62,0,197,35,63,0,197,131,63,0,197,227,63,0,197,67,64,0,197,163,64,0,197,3,65,0,197,99,65,0,197,195,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,58,175,6,5,37,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,239,5,5,250,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,243,192,0,0,0,5,5,129,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,209,192,0,0,0,5,5,190,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,175,5,5,219,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,198,5,5,57,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,171,192,0,0,0,5,5,195,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,172,192,0,0,0,5,5,144,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,195,192,0,0,0,192,0,0,0,5,5,217,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,168,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,218,192,0,0,0,5,5,202,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,166,192,0,0,0,5,5,24,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,227,192,0,0,0,5,5,254,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,222,5,5,19,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,243,5,5,105,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,248,192,0,0,0,5,5,199,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,220,5,5,15,247,5,5,241,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,187,192,0,0,0,192,0,0,0,5,5,36,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,169,5,5,23,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,187,5,5,184,246,5,5,126,239,192,0,0,0,5,5,181,183,5,5,55,245,5,5,94,182,5,5,87,166,5,5,221,231,5,5,221,163,5,5,126,236,5,5,106,216,192,0,0,0,192,0,0,0,5,5,192,171,5,5,243,181,5,5,81,201,5,5,42,207,192,0,0,0,192,0,0,0,5,5,40,183,5,5,42,232,192,0,0,0,5,5,95,231,5,5,250,248,5,5,51,166,5,5,223,178,5,5,23,197,192,0,0,0,5,5,149,210,5,5,105,230,5,5,235,167,5,5,50,195,5,5,120,190,5,5,145,191,5,5,134,224,192,0,0,0,5,5,252,249,5,5,195,171,5,5,233,210,5,5,244,227,5,5,249,163,5,5,37,235,5,5,195,163,5,5,64,200,5,5,181,163,5,5,92,163,5,5,44,202,5,5,55,202,5,5,94,211,5,5,94,211,5,5,94,211,192,0,0,0,5,5,252,199,5,5,40,202,5,5,66,236,192,0,0,0,5,5,82,204,5,5,80,223,5,5,141,241,5,5,186,215,5,5,171,212,5,5,88,225,5,5,3,220,5,5,199,237,5,5,127,171,5,5,68,180,5,5,9,209,5,5,92,215,5,5,96,228,5,5,96,228,5,5,83,200,5,5,12,223,5,5,68,219,5,5,174,241,5,5,222,181,5,5,44,180,5,5,223,181,5,5,223,197,5,5,97,167,5,5,94,209,5,5,183,222,5,5,93,225,5,5,108,218,5,5,245,181,5,5,144,216,5,5,172,233,5,5,49,164,5,5,7,177,192,0,0,0,5,5,176,169,5,5,255,198,5,5,236,173,5,5,49,178,5,5,24,171,5,5,168,227,192,0,0,0,192,0,0,0,5,5,215,201,5,5,177,247,5,5,95,182,5,5,128,168,5,5,210,174,192,0,0,0,192,0,0,0,5,5,21,230,5,5,77,186,5,5,77,186,192,0,0,0,5,5,254,248,5,5,247,218,5,5,120,184,5,5,35,164,192,0,0,0,5,5,19,228,5,5,9,206,5,5,68,176,5,5,26,242,192,0,0,0,5,5,205,181,5,5,185,223,5,5,14,215,5,5,59,210,192,0,0,0,5,5,227,242,192,0,0,0,5,5,129,177,5,5,124,231,5,5,136,224,5,5,214,217,5,5,238,223,192,0,0,0,5,5,14,218,5,5,209,229,5,5,68,170,5,5,109,173,5,5,150,170,192,0,0,0,192,0,0,0,5,5,86,166,5,5,21,165,5,5,141,229,5,5,114,186,192,0,0,0,5,5,216,194,192,0,0,0,192,0,0,0,5,5,182,247,5,5,149,179,5,5,149,179,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,216,5,5,79,177,192,0,0,0,5,5,239,178,5,5,97,230,5,5,180,218,5,5,9,197,5,5,251,248,192,0,0,0,192,0,0,0,5,5,56,200,192,0,0,0,5,5,183,178,5,5,182,233,5,5,36,201,5,5,216,228,5,5,36,201,5,5,237,185,5,5,196,232,5,5,223,215,5,5,136,173,5,5,87,234,5,5,239,170,5,5,134,225,5,5,78,186,5,5,86,225,5,5,48,203,5,5,3,196,5,5,43,164,5,5,0,159,5,5,216,207,192,0,0,0,5,5,204,246,5,5,129,168,5,5,184,227,5,5,31,236,5,5,60,202,192,0,0,0,5,5,227,205,5,5,182,242,5,5,224,242,192,0,0,0,5,5,72,169,5,5,63,206,5,5,27,200,5,5,52,204,192,0,0,0,5,5,5,172,5,5,169,206,192,0,0,0,5,5,184,202,5,5,71,229,5,5,216,205,5,5,100,246,5,5,109,229,5,5,2,247,192,0,0,0,5,5,59,170,5,5,200,171,5,5,39,233,5,5,235,205,5,5,237,182,5,5,24,180,5,5,129,186,5,5,111,247,5,5,98,233,5,5,2,209,5,5,139,165,192,0,0,0,5,5,109,199,5,5,199,193,5,5,209,201,5,5,114,236,5,5,201,169,192,0,0,0,5,5,99,238,5,5,118,164,5,5,125,231,192,0,0,0,5,5,71,219,5,5,183,241,5,5,251,191,5,5,176,227,192,0,0,0,5,5,33,219,5,5,206,239,5,5,209,233,192,0,0,0,5,5,213,216,192,0,0,0,5,5,28,237,5,5,6,247,5,5,131,227,5,5,196,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,173,192,0,0,0,5,5,162,242,5,5,116,164,5,5,61,210,5,5,21,245,5,5,221,166,5,5,188,197,5,5,34,188,5,5,251,197,5,5,218,205,5,5,231,183,192,0,0,0,5,5,176,168,5,5,206,192,5,5,137,242,5,5,31,191,5,5,127,231,5,5,130,177,192,0,0,0,5,5,132,242,5,5,246,223,192,0,0,0,192,0,0,0,5,5,110,173,5,5,236,248,5,5,184,206,5,5,195,244,192,0,0,0,5,5,147,210,5,5,29,232,5,5,137,222,5,5,38,180,192,0,0,0,5,5,169,178,192,0,0,0,5,5,56,235,192,0,0,0,5,5,22,235,5,5,183,207,5,5,87,219,192,0,0,0,5,5,220,212,5,5,233,163,192,0,0,0,192,0,0,0,5,5,50,179,5,5,81,247,192,0,0,0,5,5,205,248,5,5,181,168,5,5,181,168,5,5,104,175,5,5,213,247,5,5,251,220,5,5,233,236,5,5,158,212,192,0,0,0,5,5,251,230,192,0,0,0,5,5,31,232,192,0,0,0,5,5,74,240,192,0,0,0,5,5,29,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,220,5,5,170,220,5,5,170,220,5,5,251,207,5,5,159,203,5,5,173,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,216,5,5,31,190,5,5,91,181,192,0,0,0,192,0,0,0,5,5,235,232,192,0,0,0,192,0,0,0,5,5,131,174,5,5,99,229,192,0,0,0,5,5,64,193,5,5,203,202,5,5,57,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,168,5,5,200,168,192,0,0,0,5,5,146,222,5,5,177,221,192,0,0,0,192,0,0,0,5,5,242,163,192,0,0,0,5,5,69,206,5,5,94,236,5,5,167,202,192,0,0,0,5,5,179,164,5,5,151,241,5,5,141,231,5,5,137,233,5,5,23,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,223,192,0,0,0,5,5,83,244,5,5,122,238,5,5,164,219,192,0,0,0,192,0,0,0,5,5,162,168,192,0,0,0,5,5,67,235,192,0,0,0,192,0,0,0,5,5,57,248,5,5,236,234,192,0,0,0,5,5,5,168,5,5,225,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,247,5,5,131,213,5,5,181,233,192,0,0,0,5,5,5,209,5,5,54,248,5,5,67,218,5,5,167,185,5,5,101,199,5,5,152,173,5,5,246,240,5,5,21,196,192,0,0,0,5,5,234,230,5,5,216,223,5,5,57,231,5,5,155,203,5,5,26,245,5,5,213,170,5,5,216,176,5,5,185,219,5,5,183,168,5,5,248,206,5,5,27,208,5,5,28,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,168,5,5,202,205,5,5,187,234,192,0,0,0,5,5,253,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,184,5,5,234,189,5,5,109,196,5,5,154,213,5,5,8,223,5,5,81,210,5,5,10,249,5,5,193,168,5,5,121,249,5,5,53,177,5,5,150,221,5,5,222,233,192,0,0,0,5,5,26,194,5,5,88,216,192,0,0,0,5,5,161,222,5,5,87,239,192,0,0,0,5,5,41,188,5,5,216,229,192,0,0,0,5,5,243,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,225,5,5,139,248,5,5,2,166,5,5,12,227,192,0,0,0,5,5,103,194,5,5,39,165,5,5,167,192,5,5,8,209,192,0,0,0,192,0,0,0,5,5,5,163,5,5,44,205,5,5,113,168,192,0,0,0,5,5,133,230,5,5,93,229,192,0,0,0,192,0,0,0,5,5,253,208,5,5,180,168,5,5,137,231,192,0,0,0,5,5,243,223,5,5,100,163,5,5,118,217,5,5,123,199,5,5,77,166,5,5,81,211,5,5,126,232,192,0,0,0,5,5,80,195,192,0,0,0,5,5,225,227,192,0,0,0,192,0,0,0,5,5,84,210,5,5,2,213,5,5,176,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,165,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,237,5,5,184,237,5,5,165,168,192,0,0,0,5,5,220,201,192,0,0,0,5,5,3,238,5,5,125,249,5,5,28,164,5,5,101,182,192,0,0,0,192,0,0,0,5,5,231,220,5,5,242,202,5,5,235,204,192,0,0,0,5,5,117,202,5,5,16,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,169,192,0,0,0,5,5,174,218,5,5,194,171,5,5,97,218,5,5,115,171,5,5,119,173,5,5,219,164,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,5,0,0,142,9,0,5,0,5,0,0,82,239,28,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,67,239,24,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,79,236,26,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,157,235,12,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,43,245,23,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,99,188,18,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,113,208,27,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,0,128,19,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,141,204,25,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,225,226,16,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,197,248,8,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,178,199,3,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,208,229,4,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,80,172,6,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,237,181,11,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,8,230,9,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,136,221,5,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,68,242,7,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,26,172,14,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,94,179,2,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,168,185,17,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,77,175,22,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,218,198,13,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,58,217,10,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,250,208,21,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,254,213,15,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,236,214,20,15,0,5,0,0,144,9,0,5,0,5,212,55,18,254,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,5,5,142,9,5,5,164,205,6,5,144,9,5,5,142,9,5,5,188,227,13,5,144,9,5,5,142,9,5,5,11,234,8,5,144,9,5,5,142,9,5,5,226,221,12,5,144,9,5,5,142,9,5,5,227,204,14,5,144,9,5,5,142,9,5,5,135,231,7,5,144,9,5,5,142,9,5,5,187,202,11,5,144,9,5,5,142,9,5,5,189,231,10,5,144,9,5,5,142,9,5,5,178,218,9,5,144,9,5,5,0,21,17,5,197,248,5,5,0,23,16,5,197,248,5,5,0,25,15,5,197,248,5,5,0,27,14,5,197,248,5,5,0,29,13,5,197,248,5,5,0,31,12,5,197,248,5,5,0,33,11,5,197,248,5,5,0,35,10,5,197,248,5,5,0,37,9,5,197,248,5,5,0,21,5,5,0,19,20,5,197,248,5,5,0,21,5,5,0,21,19,5,197,248,5,5,0,21,5,5,0,23,18,5,197,248,5,5,0,19,30,5,147,177,5,5,0,21,19,5,147,177,5,5,0,23,13,5,147,177,5,5,0,25,12,5,147,177,5,5,0,27,11,5,147,177,5,5,0,29,10,5,147,177,5,5,0,31,9,5,147,177,5,5,0,33,8,5,147,177,5,5,0,35,7,5,147,177,5,5,0,37,6,5,147,177,5,5,0,21,5,5,0,19,29,5,147,177,5,5,0,21,5,5,0,21,28,5,147,177,5,5,0,21,5,5,0,23,27,5,147,177,5,5,0,21,5,5,0,25,26,5,147,177,5,5,0,21,5,5,0,27,25,5,147,177,5,5,0,21,5,5,0,29,24,5,147,177,5,5,0,21,5,5,0,31,23,5,147,177,5,5,0,21,5,5,0,33,22,5,147,177,5,5,0,21,5,5,0,35,21,5,147,177,5,5,0,21,5,5,0,37,20,5,147,177,5,5,0,23,5,5,0,19,18,5,147,177,5,5,0,23,5,5,0,21,17,5,147,177,5,5,0,23,5,5,0,23,16,5,147,177,5,5,0,23,5,5,0,25,15,5,147,177,5,5,0,23,5,5,0,27,14,5,147,177,5,5,167,168,6,5,86,225,5,5,210,219,6,5,89,197,5,5,47,175,7,5,112,221,5,5,27,172,6,5,191,218,5,5,136,221,5,5,32,227,5,5,66,200,7,5,188,227,5,5,0,21,28,5,8,230,5,5,0,23,17,5,8,230,5,5,0,25,14,5,8,230,5,5,0,27,13,5,8,230,5,5,0,29,12,5,8,230,5,5,0,31,11,5,8,230,5,5,0,33,10,5,8,230,5,5,0,35,9,5,8,230,5,5,0,37,8,5,8,230,5,5,0,21,5,5,0,19,38,5,8,230,5,5,0,21,5,5,0,21,37,5,8,230,5,5,0,21,5,5,0,23,36,5,8,230,5,5,0,21,5,5,0,25,35,5,8,230,5,5,0,21,5,5,0,27,34,5,8,230,5,5,0,21,5,5,0,29,33,5,8,230,5,5,0,21,5,5,0,31,32,5,8,230,5,5,0,21,5,5,0,33,31,5,8,230,5,5,0,21,5,5,0,35,30,5,8,230,5,5,0,21,5,5,0,37,29,5,8,230,5,5,0,23,5,5,0,19,27,5,8,230,5,5,0,23,5,5,0,21,26,5,8,230,5,5,0,23,5,5,0,23,25,5,8,230,5,5,0,23,5,5,0,25,24,5,8,230,5,5,0,23,5,5,0,27,23,5,8,230,5,5,0,23,5,5,0,29,22,5,8,230,5,5,0,23,5,5,0,31,21,5,8,230,5,5,0,23,5,5,0,33,20,5,8,230,5,5,0,23,5,5,0,35,19,5,8,230,5,5,0,23,5,5,0,37,18,5,8,230,5,5,0,25,5,5,0,19,16,5,8,230,5,5,0,25,5,5,0,21,15,5,8,230,5,5,82,10,5,5,122,164,8,5,84,10,5,5,82,10,5,5,79,236,14,5,84,10,5,5,82,10,5,5,67,239,13,5,84,10,5,5,82,10,5,5,198,238,11,5,84,10,5,5,82,10,5,5,147,177,7,5,84,10,5,5,82,10,5,5,46,175,10,5,84,10,5,5,82,10,5,5,159,175,6,5,84,10,5,5,82,10,5,5,46,229,12,5,84,10,5,5,82,10,5,5,171,163,9,5,84,10,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,41,0,198,161,35,0,23,49,78,0,33,49,38,0,37,49,20,0,37,49,255,255,22,239,5,5,38,49,255,255,24,239,5,5,39,49,255,255,81,239,5,5,40,49,255,255,239,244,5,5,41,49,255,255,138,247,5,5,33,49,255,255,162,238,5,5,34,49,255,255,197,238,5,5,35,49,255,255,255,238,5,5,36,49,255,255,10,239,5,5,27,49,20,0,27,49,255,255,138,237,5,5,28,49,255,255,143,237,5,5,30,49,255,255,20,238,5,5,31,49,255,255,92,238,5,5,32,49,255,255,95,238,5,5,23,49,255,255,104,231,5,5,24,49,255,255,154,233,5,5,25,49,255,255,100,235,5,5,26,49,255,255,132,237,5,5,14,49,38,0,18,49,20,0,18,49,255,255,164,212,5,5,19,49,255,255,53,218,5,5,20,49,255,255,2,223,5,5,21,49,255,255,182,226,5,5,22,49,255,255,6,230,5,5,14,49,255,255,238,194,5,5,15,49,255,255,69,197,5,5,16,49,255,255,193,201,5,5,17,49,255,255,112,208,5,5,9,49,20,0,9,49,255,255,3,175,5,5,10,49,255,255,29,179,5,5,11,49,255,255,221,182,5,5,12,49,255,255,225,184,5,5,13,49,255,255,117,191,5,5,5,49,255,255,0,127,5,5,6,49,255,255,149,166,5,5,7,49,255,255,16,169,5,5,8,49,255,255,111,172,5,5,4,0,6,49,29,49,30,49,42,49,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,170,170,3,0,68,0,51,0,60,0,103,228,2,16,251,184,0,96,1,0,0,96,8,0,43,0,83,0,91,0,109,0,101,0,116,0,123,0,130,0,170,170,148,48,1,32,4,0,0,96,70,141,1,32,229,251,1,32,233,155,1,80,245,208,2,32,95,228,2,32,5,129,3,32,1,0,32,0,10,129,3,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,72,0,75,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,19,0,0,32,7,0,0,0,13,0,0,0,21,0,0,0,21,0,0,0,1,0,0,0,0,0,0,0,19,0,0,0,99,111,108,108,97,116,105,111,110,115,0,100,101,102,97,117,108,116,0,170,0,0,115,0,116,0,114,0,111,0,107,0,101,0,0,0,1,0,43,0,1,0,170,170,1,0,32,0,8,0,0,80,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,77,0,79,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,95,0,83,0,71,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,84,0,87,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,252,2,0,32,7,0,0,0,55,1,0,0,254,2,0,0,254,2,0,0,45,1,0,0,1,0,0,0,56,1,0,0,99,111,100,101,77,97,112,0,65,68,80,0,65,69,68,0,65,70,65,0,65,70,78,0,65,76,75,0,65,76,76,0,65,77,68,0,65,78,71,0,65,79,65,0,65,79,75,0,65,79,78,0,65,79,82,0,65,82,65,0,65,82,80,0,65,82,83,0,65,82,89,0,65,84,83,0,65,85,68,0,65,87,71,0,65,89,77,0,65,90,77,0,65,90,78,0,66,65,68,0,66,65,77,0,66,66,68,0,66,68,84,0,66,69,67,0,66,69,70,0,66,69,76,0,66,71,74,0,66,71,75,0,66,71,76,0,66,71,78,0,66,72,68,0,66,73,70,0,66,77,68,0,66,78,68,0,66,79,66,0,66,79,80,0,66,79,86,0,66,82,66,0,66,82,67,0,66,82,69,0,66,82,76,0,66,82,78,0,66,82,82,0,66,83,68,0,66,84,78,0,66,85,75,0,66,87,80,0,66,89,66,0,66,89,78,0,66,89,82,0,66,90,68,0,67,65,68,0,67,68,70,0,67,72,67,0,67,72,69,0,67,72,70,0,67,72,87,0,67,76,70,0,67,76,80,0,67,78,89,0,67,79,80,0,67,79,85,0,67,82,67,0,67,83,68,0,67,83,74,0,67,83,75,0,67,85,67,0,67,85,80,0,67,86,69,0,67,89,80,0,67,90,75,0,68,68,77,0,68,69,77,0,68,74,70,0,68,75,75,0,68,79,80,0,68,90,68,0,69,67,83,0,69,67,86,0,69,69,75,0,69,71,80,0,69,82,78,0,69,83,65,0,69,83,66,0,69,83,80,0,69,84,66,0,69,85,82,0,70,73,77,0,70,74,68,0,70,75,80,0,70,82,70,0,71,66,80,0,71,69,75,0,71,69,76,0,71,72,67,0,71,72,80,0,71,72,83,0,71,73,80,0,71,77,68,0,71,78,69,0,71,78,70,0,71,78,83,0,71,81,69,0,71,82,68,0,71,84,81,0,71,87,69,0,71,87,80,0,71,89,68,0,72,75,68,0,72,78,76,0,72,82,68,0,72,82,75,0,72,84,71,0,72,85,70,0,73,68,82,0,73,69,80,0,73,76,80,0,73,76,82,0,73,76,83,0,73,78,82,0,73,81,68,0,73,82,82,0,73,83,74,0,73,83,75,0,73,84,76,0,74,77,68,0,74,79,68,0,74,80,89,0,75,69,83,0,75,71,83,0,75,72,82,0,75,77,70,0,75,80,87,0,75,82,87,0,75,87,68,0,75,89,68,0,75,90,84,0,76,65,74,0,76,65,75,0,76,66,80,0,76,75,82,0,76,82,68,0,76,83,76,0,76,83,77,0,76,84,76,0,76,84,84,0,76,85,67,0,76,85,70,0,76,85,76,0,76,86,76,0,76,86,82,0,76,89,68,0,77,65,68,0,77,68,76,0,77,71,65,0,77,71,70,0,77,75,68,0,77,76,70,0,77,77,75,0,77,78,84,0,77,79,80,0,77,82,79,0,77,82,85,0,77,84,76,0,77,84,80,0,77,85,82,0,77,86,81,0,77,86,82,0,77,87,75,0,77,88,78,0,77,88,80,0,77,88,86,0,77,89,82,0,77,90,69,0,77,90,77,0,77,90,78,0,78,65,68,0,78,71,78,0,78,73,67,0,78,73,79,0,78,76,71,0,78,79,75,0,78,80,82,0,78,90,68,0,79,77,82,0,80,65,66,0,80,69,72,0,80,69,73,0,80,69,78,0,80,69,83,0,80,71,75,0,80,72,80,0,80,75,82,0,80,76,78,0,80,76,90,0,80,84,69,0,80,89,71,0,81,65,82,0,82,72,68,0,82,79,75,0,82,79,76,0,82,79,78,0,82,83,68,0,82,85,66,0,82,85,82,0,82,87,70,0,83,65,82,0,83,66,68,0,83,67,82,0,83,68,68,0,83,68,71,0,83,68,80,0,83,69,75,0,83,71,68,0,83,72,80,0,83,73,84,0,83,75,75,0,83,76,69,0,83,76,76,0,83,79,83,0,83,82,68,0,83,82,71,0,83,83,80,0,83,84,68,0,83,84,78,0,83,85,82,0,83,86,67,0,83,89,80,0,83,90,76,0,84,72,66,0,84,74,82,0,84,74,83,0,84,77,77,0,84,77,84,0,84,78,68,0,84,79,80,0,84,80,69,0,84,82,76,0,84,82,89,0,84,84,68,0,84,87,68,0,84,90,83,0,85,65,72,0,85,65,75,0,85,71,83,0,85,71,87,0,85,71,88,0,85,83,68,0,85,83,78,0,85,83,83,0,85,89,73,0,85,89,78,0,85,89,80,0,85,89,85,0,85,89,87,0,85,90,83,0,86,69,66,0,86,69,68,0,86,69,70,0,86,69,83,0,86,78,67,0,86,78,68,0,86,85,86,0,87,83,84,0,88,65,70,0,88,65,71,0,88,65,85,0,88,66,65,0,88,66,66,0,88,66,67,0,88,66,68,0,88,67,68,0,88,68,82,0,88,69,85,0,88,79,70,0,88,80,68,0,88,80,70,0,88,80,84,0,88,83,85,0,88,84,83,0,88,85,65,0,88,88,88,0,89,68,68,0,89,69,82,0,89,85,68,0,89,85,77,0,89,85,78,0,90,65,76,0,90,65,82,0,90,77,75,0,90,77,87,0,90,82,78,0,90,82,90,0,90,87,67,0,90,87,68,0,90,87,76,0,90,87,78,0,90,87,82,0,0,0,170,170,45,1,40,0,44,0,48,0,52,0,56,0,60,0,64,0,68,0,72,0,76,0,80,0,84,0,88,0,92,0,96,0,100,0,104,0,108,0,112,0,116,0,120,0,124,0,128,0,132,0,136,0,140,0,144,0,148,0,152,0,156,0,160,0,164,0,168,0,172,0,176,0,180,0,184,0,188,0,192,0,196,0,200,0,204,0,208,0,212,0,216,0,220,0,224,0,228,0,232,0,236,0,240,0,244,0,248,0,252,0,0,1,4,1,8,1,12,1,16,1,20,1,24,1,28,1,32,1,36,1,40,1,44,1,48,1,52,1,56,1,60,1,64,1,68,1,72,1,76,1,80,1,84,1,88,1,92,1,96,1,100,1,104,1,108,1,112,1,116,1,120,1,124,1,128,1,132,1,136,1,140,1,144,1,148,1,152,1,156,1,160,1,164,1,168,1,172,1,176,1,180,1,184,1,188,1,192,1,196,1,200,1,204,1,208,1,212,1,216,1,220,1,224,1,228,1,232,1,236,1,240,1,244,1,248,1,252,1,0,2,4,2,8,2,12,2,16,2,20,2,24,2,28,2,32,2,36,2,40,2,44,2,48,2,52,2,56,2,60,2,64,2,68,2,72,2,76,2,80,2,84,2,88,2,92,2,96,2,100,2,104,2,108,2,112,2,116,2,120,2,124,2,128,2,132,2,136,2,140,2,144,2,148,2,152,2,156,2,160,2,164,2,168,2,172,2,176,2,180,2,184,2,188,2,192,2,196,2,200,2,204,2,208,2,212,2,216,2,220,2,224,2,228,2,232,2,236,2,240,2,244,2,248,2,252,2,0,3,4,3,8,3,12,3,16,3,20,3,24,3,28,3,32,3,36,3,40,3,44,3,48,3,52,3,56,3,60,3,64,3,68,3,72,3,76,3,80,3,84,3,88,3,92,3,96,3,100,3,104,3,108,3,112,3,116,3,120,3,124,3,128,3,132,3,136,3,140,3,144,3,148,3,152,3,156,3,160,3,164,3,168,3,172,3,176,3,180,3,184,3,188,3,192,3,196,3,200,3,204,3,208,3,212,3,216,3,220,3,224,3,228,3,232,3,236,3,240,3,244,3,248,3,252,3,0,4,4,4,8,4,12,4,16,4,20,4,24,4,28,4,32,4,36,4,40,4,44,4,48,4,52,4,56,4,60,4,64,4,68,4,72,4,76,4,80,4,84,4,88,4,92,4,96,4,100,4,104,4,108,4,112,4,116,4,120,4,124,4,128,4,132,4,136,4,140,4,144,4,148,4,152,4,156,4,160,4,164,4,168,4,172,4,176,4,180,4,184,4,188,4,192,4,196,4,200,4,204,4,208,4,212,4,216,4,20,0,0,112,16,3,0,112,4,0,0,112,203,3,0,112,8,0,0,112,8,0,0,112,51,0,0,112,20,2,0,112,205,3,0,112,24,0,0,112,24,0,0,112,214,3,0,112,32,0,0,112,32,0,0,112,32,0,0,112,32,0,0,112,40,0,0,112,36,0,0,112,21,2,0,112,177,3,0,112,31,0,0,112,176,3,0,112,70,0,0,112,209,3,0,112,52,0,0,112,50,0,0,112,225,3,0,112,56,0,0,112,224,3,0,112,100,0,0,112,100,0,0,112,100,0,0,112,207,3,0,112,48,0,0,112,108,0,0,112,60,0,0,112,96,0,0,112,68,0,0,112,68,0,0,112,216,3,0,112,76,0,0,112,76,0,0,112,76,0,0,112,218,3,0,112,76,0,0,112,219,3,0,112,44,0,0,112,64,0,0,112,104,0,0,112,72,0,0,112,112,0,0,112,165,3,0,112,206,3,0,112,84,0,0,112,124,0,0,112,208,3,0,112,180,3,0,112,179,3,0,112,244,2,0,112,180,3,0,112,222,3,0,112,152,0,0,112,156,0,0,112,170,0,0,112,202,3,0,112,188,0,0,112,123,3,0,112,203,0,0,112,200,0,0,112,163,3,0,112,192,0,0,112,132,0,0,112,196,0,0,112,203,0,0,112,22,1,0,112,20,1,0,112,6,1,0,112,208,0,0,112,214,0,0,112,12,0,0,112,218,0,0,112,215,3,0,112,233,0,0,112,50,3,0,112,232,0,0,112,228,3,0,112,227,3,0,112,212,2,0,112,230,0,0,112,210,3,0,112,246,0,0,112,242,0,0,112,238,0,0,112,250,0,0,112,58,3,0,112,12,1,0,112,213,3,0,112,32,1,0,112,171,3,0,112,168,3,0,112,36,1,0,112,14,1,0,112,68,1,0,112,68,1,0,112,68,1,0,112,226,0,0,112,44,1,0,112,64,1,0,112,112,2,0,112,112,2,0,112,72,1,0,112,88,1,0,112,84,1,0,112,191,0,0,112,191,0,0,112,76,1,0,112,92,1,0,112,104,1,0,112,116,1,0,112,120,1,0,112,120,1,0,112,120,1,0,112,100,1,0,112,112,1,0,112,108,1,0,112,96,1,0,112,96,1,0,112,124,1,0,112,132,1,0,112,144,1,0,112,136,1,0,112,148,1,0,112,161,1,0,112,116,0,0,112,174,0,0,112,152,1,0,112,154,1,0,112,158,1,0,112,136,0,0,112,142,1,0,112,162,1,0,112,162,1,0,112,166,1,0,112,144,0,0,112,174,1,0,112,170,1,0,112,170,1,0,112,184,1,0,112,184,1,0,112,221,3,0,112,186,1,0,112,220,3,0,112,172,1,0,112,172,1,0,112,178,1,0,112,248,1,0,112,242,1,0,112,201,3,0,112,194,1,0,112,39,3,0,112,210,1,0,112,104,0,0,112,240,1,0,112,190,1,0,112,222,1,0,112,161,3,0,112,214,1,0,112,214,1,0,112,224,1,0,112,206,1,0,112,206,1,0,112,198,1,0,112,228,1,0,112,228,1,0,112,211,3,0,112,202,1,0,112,252,1,0,112,252,1,0,112,175,3,0,112,4,2,0,112,54,2,0,112,46,2,0,112,46,2,0,112,16,2,0,112,66,2,0,112,12,2,0,112,42,2,0,112,0,2,0,112,78,2,0,112,92,2,0,112,92,2,0,112,92,2,0,112,92,2,0,112,86,2,0,112,96,2,0,112,74,2,0,112,217,3,0,112,104,2,0,112,108,2,0,112,88,2,0,112,122,2,0,112,204,2,0,112,130,2,0,112,130,2,0,112,178,3,0,112,173,3,0,112,131,2,0,112,42,3,0,112,134,2,0,112,170,2,0,112,90,0,0,112,178,2,0,112,224,2,0,112,170,3,0,112,224,2,0,112,240,2,0,112,190,2,0,112,142,2,0,112,193,2,0,112,191,2,0,112,157,3,0,112,182,2,0,112,194,2,0,112,200,3,0,112,228,2,0,112,216,2,0,112,166,2,0,112,162,3,0,112,42,3,0,112,222,0,0,112,248,2,0,112,236,2,0,112,252,2,0,112,250,2,0,112,204,3,0,112,27,3,0,112,166,3,0,112,20,3,0,112,8,3,0,112,114,2,0,112,24,3,0,112,181,3,0,112,12,3,0,112,133,3,0,112,66,3,0,112,212,3,0,112,36,3,0,112,32,3,0,112,32,3,0,112,32,3,0,112,72,3,0,112,229,3,0,112,230,3,0,112,172,3,0,112,90,3,0,112,90,3,0,112,90,3,0,112,159,3,0,112,92,3,0,112,94,3,0,112,158,3,0,112,169,3,0,112,160,3,0,112,192,2,0,112,192,2,0,112,36,2,0,112,114,3,0,112,182,3,0,112,193,3,0,112,191,3,0,112,187,3,0,112,188,3,0,112,189,3,0,112,190,3,0,112,183,3,0,112,192,3,0,112,186,3,0,112,184,3,0,112,196,3,0,112,185,3,0,112,194,3,0,112,226,3,0,112,195,3,0,112,197,3,0,112,231,3,0,112,208,2,0,112,118,3,0,112,122,3,0,112,123,3,0,112,122,3,0,112,223,3,0,112,198,2,0,112,126,3,0,112,199,3,0,112,180,0,0,112,180,0,0,112,204,2,0,112,204,2,0,112,164,3,0,112,174,3,0,112,167,3,0,112,1,0,32,0,56,1,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,50,19,0,32,7,0,0,0,111,1,0,0,55,19,0,0,55,19,0,0,163,0,0,0,1,0,0,0,138,12,0,0,108,111,99,97,108,101,115,0,97,102,0,97,109,0,97,114,0,97,122,0,98,103,0,98,110,0,98,115,0,99,97,0,99,99,112,0,99,104,114,0,99,115,0,99,121,0,100,97,0,100,101,0,101,101,0,101,108,0,101,110,0,101,115,95,67,79,0,101,116,0,101,117,0,102,97,0,102,105,0,102,105,108,0,102,114,0,103,108,0,103,115,119,0,103,117,0,104,101,0,104,105,0,104,105,95,76,97,116,110,0,104,117,0,104,121,0,105,100,0,105,115,0,105,116,0,106,97,0,107,97,0,107,103,112,0,107,107,0,107,109,0,107,110,0,107,111,0,107,121,0,108,105,106,0,108,111,0,108,116,0,108,118,0,109,107,0,109,108,0,109,110,0,109,114,0,109,115,0,109,121,0,110,98,0,110,101,0,110,108,0,110,110,0,110,111,0,112,97,0,112,108,0,112,116,0,114,111,0,114,111,111,116,0,114,117,0,115,105,0,115,107,0,115,108,0,115,113,0,115,114,0,115,118,0,116,97,0,116,101,0,116,104,0,116,114,0,117,107,0,117,114,0,117,122,0,118,105,0,121,114,108,0,121,117,101,0,122,104,0,122,117,0,108,111,99,97,108,101,115,95,115,101,108,101,99,116,105,111,110,0,114,117,108,101,115,0,115,101,116,49,0,98,101,102,111,114,101,0,102,114,111,109,0,112,109,0,115,101,116,49,48,0,97,102,116,101,114,110,111,111,110,49,0,101,118,101,110,105,110,103,49,0,109,105,100,110,105,103,104,116,0,97,116,0,109,111,114,110,105,110,103,49,0,110,105,103,104,116,49,0,110,111,111,110,0,115,101,116,49,48,48,0,115,101,116,49,48,49,0,115,101,116,49,48,50,0,115,101,116,49,48,51,0,115,101,116,49,48,52,0,115,101,116,49,48,53,0,109,111,114,110,105,110,103,50,0,115,101,116,49,48,54,0,115,101,116,49,48,55,0,115,101,116,49,48,56,0,115,101,116,49,48,57,0,115,101,116,49,49,0,115,101,116,49,49,48,0,115,101,116,49,49,49,0,115,101,116,49,49,50,0,115,101,116,49,49,51,0,115,101,116,49,49,52,0,115,101,116,49,49,53,0,115,101,116,49,49,54,0,97,102,116,101,114,110,111,111,110,50,0,110,105,103,104,116,50,0,115,101,116,49,49,55,0,115,101,116,49,49,56,0,115,101,116,49,49,57,0,115,101,116,49,50,0,115,101,116,49,50,48,0,115,101,116,49,50,49,0,115,101,116,49,50,50,0,115,101,116,49,50,51,0,115,101,116,49,50,52,0,115,101,116,49,50,53,0,115,101,116,49,50,54,0,115,101,116,49,50,55,0,115,101,116,49,50,56,0,101,118,101,110,105,110,103,50,0,115,101,116,49,50,57,0,115,101,116,49,51,0,115,101,116,49,51,48,0,115,101,116,49,51,49,0,115,101,116,49,51,50,0,115,101,116,49,51,51,0,115,101,116,49,51,52,0,115,101,116,49,51,53,0,115,101,116,49,51,54,0,115,101,116,49,51,55,0,115,101,116,49,51,56,0,115,101,116,49,51,57,0,115,101,116,49,52,0,115,101,116,49,52,48,0,115,101,116,49,52,49,0,115,101,116,49,52,50,0,115,101,116,49,52,51,0,115,101,116,49,52,52,0,115,101,116,49,52,53,0,115,101,116,49,52,54,0,115,101,116,49,52,55,0,115,101,116,49,52,56,0,115,101,116,49,52,57,0,115,101,116,49,53,0,115,101,116,49,53,48,0,115,101,116,49,53,49,0,115,101,116,49,53,50,0,115,101,116,49,53,51,0,115,101,116,49,53,52,0,115,101,116,49,53,53,0,115,101,116,49,53,54,0,115,101,116,49,53,55,0,115,101,116,49,53,56,0,115,101,116,49,53,57,0,115,101,116,49,54,0,115,101,116,49,54,48,0,115,101,116,49,54,49,0,115,101,116,49,54,50,0,115,101,116,49,54,51,0,115,101,116,49,55,0,115,101,116,49,56,0,115,101,116,49,57,0,115,101,116,50,0,115,101,116,50,48,0,115,101,116,50,49,0,115,101,116,50,50,0,115,101,116,50,51,0,115,101,116,50,52,0,115,101,116,50,53,0,115,101,116,50,54,0,115,101,116,50,55,0,115,101,116,50,56,0,115,101,116,50,57,0,115,101,116,51,0,115,101,116,51,48,0,115,101,116,51,49,0,115,101,116,51,50,0,115,101,116,51,51,0,115,101,116,51,52,0,115,101,116,51,53,0,115,101,116,51,54,0,115,101,116,51,55,0,115,101,116,51,56,0,115,101,116,51,57,0,115,101,116,52,0,115,101,116,52,48,0,115,101,116,52,49,0,115,101,116,52,50,0,115,101,116,52,51,0,115,101,116,52,52,0,115,101,116,52,53,0,115,101,116,52,54,0,115,101,116,52,55,0,115,101,116,52,56,0,115,101,116,52,57,0,115,101,116,53,0,115,101,116,53,48,0,115,101,116,53,49,0,115,101,116,53,50,0,115,101,116,53,51,0,115,101,116,53,52,0,115,101,116,53,53,0,115,101,116,53,54,0,115,101,116,53,55,0,115,101,116,53,56,0,115,101,116,53,57,0,115,101,116,54,0,115,101,116,54,48,0,115,101,116,54,49,0,115,101,116,54,50,0,115,101,116,54,51,0,115,101,116,54,52,0,115,101,116,54,53,0,115,101,116,54,54,0,115,101,116,54,55,0,115,101,116,54,56,0,115,101,116,54,57,0,115,101,116,55,0,115,101,116,55,48,0,115,101,116,55,49,0,115,101,116,55,50,0,115,101,116,55,51,0,115,101,116,55,52,0,115,101,116,55,53,0,115,101,116,55,54,0,115,101,116,55,55,0,115,101,116,55,56,0,115,101,116,55,57,0,115,101,116,56,0,115,101,116,56,48,0,115,101,116,56,49,0,115,101,116,56,50,0,115,101,116,56,51,0,115,101,116,56,52,0,115,101,116,56,53,0,115,101,116,56,54,0,115,101,116,56,55,0,115,101,116,56,56,0,115,101,116,56,57,0,115,101,116,57,0,115,101,116,57,48,0,115,101,116,57,49,0,115,101,116,57,50,0,115,101,116,57,51,0,115,101,116,57,52,0,115,101,116,57,53,0,115,101,116,57,54,0,115,101,116,57,55,0,115,101,116,57,56,0,115,101,116,57,57,0,170,170,170,0,0,115,0,101,0,116,0,56,0,0,0,115,0,101,0,116,0,49,0,0,0,115,0,101,0,116,0,50,0,0,0,115,0,101,0,116,0,51,0,0,0,115,0,101,0,116,0,52,0,0,0,115,0,101,0,116,0,53,0,0,0,115,0,101,0,116,0,54,0,0,0,115,0,101,0,116,0,55,0,0,0,115,0,101,0,116,0,57,0,0,0,49,0,50,0,58,0,48,0,48,0,0,0,49,0,56,0,58,0,48,0,48,0,0,0,48,0,54,0,58,0,48,0,48,0,0,0,48,0,48,0,58,0,48,0,48,0,0,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,58,0,48,0,48,0,0,0,49,0,54,0,58,0,48,0,48,0,0,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,52,0,58,0,48,0,48,0,0,0,48,0,51,0,58,0,48,0,48,0,0,0,48,0,49,0,58,0,48,0,48,0,0,0,48,0,57,0,58,0,48,0,48,0,0,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,49,0,58,0,48,0,48,0,0,0,48,0,56,0,58,0,48,0,48,0,0,0,49,0,53,0,58,0,48,0,48,0,0,0,49,0,55,0,58,0,48,0,48,0,0,0,48,0,55,0,58,0,48,0,48,0,0,0,115,0,101,0,116,0,57,0,48,0,0,0,115,0,101,0,116,0,51,0,54,0,0,0,115,0,101,0,116,0,49,0,48,0,0,0,115,0,101,0,116,0,49,0,49,0,0,0,115,0,101,0,116,0,49,0,50,0,0,0,115,0,101,0,116,0,49,0,51,0,0,0,115,0,101,0,116,0,49,0,52,0,0,0,115,0,101,0,116,0,49,0,53,0,0,0,115,0,101,0,116,0,49,0,54,0,0,0,115,0,101,0,116,0,49,0,55,0,0,0,115,0,101,0,116,0,49,0,56,0,0,0,115,0,101,0,116,0,49,0,57,0,0,0,115,0,101,0,116,0,50,0,48,0,0,0,115,0,101,0,116,0,50,0,49,0,0,0,115,0,101,0,116,0,50,0,50,0,0,0,115,0,101,0,116,0,50,0,51,0,0,0,115,0,101,0,116,0,50,0,52,0,0,0,115,0,101,0,116,0,50,0,53,0,0,0,115,0,101,0,116,0,50,0,54,0,0,0,115,0,101,0,116,0,50,0,55,0,0,0,115,0,101,0,116,0,50,0,56,0,0,0,115,0,101,0,116,0,50,0,57,0,0,0,115,0,101,0,116,0,51,0,48,0,0,0,115,0,101,0,116,0,51,0,49,0,0,0,115,0,101,0,116,0,51,0,50,0,0,0,115,0,101,0,116,0,51,0,51,0,0,0,115,0,101,0,116,0,51,0,52,0,0,0,115,0,101,0,116,0,51,0,53,0,0,0,115,0,101,0,116,0,51,0,55,0,0,0,115,0,101,0,116,0,51,0,56,0,0,0,115,0,101,0,116,0,51,0,57,0,0,0,115,0,101,0,116,0,52,0,48,0,0,0,115,0,101,0,116,0,52,0,49,0,0,0,115,0,101,0,116,0,52,0,50,0,0,0,115,0,101,0,116,0,52,0,51,0,0,0,115,0,101,0,116,0,52,0,52,0,0,0,115,0,101,0,116,0,52,0,53,0,0,0,115,0,101,0,116,0,52,0,54,0,0,0,115,0,101,0,116,0,52,0,55,0,0,0,115,0,101,0,116,0,52,0,56,0,0,0,115,0,101,0,116,0,52,0,57,0,0,0,115,0,101,0,116,0,53,0,48,0,0,0,115,0,101,0,116,0,53,0,49,0,0,0,115,0,101,0,116,0,53,0,50,0,0,0,115,0,101,0,116,0,53,0,51,0,0,0,115,0,101,0,116,0,53,0,52,0,0,0,115,0,101,0,116,0,53,0,53,0,0,0,115,0,101,0,116,0,53,0,54,0,0,0,115,0,101,0,116,0,53,0,55,0,0,0,115,0,101,0,116,0,53,0,56,0,0,0,115,0,101,0,116,0,53,0,57,0,0,0,115,0,101,0,116,0,54,0,48,0,0,0,115,0,101,0,116,0,54,0,49,0,0,0,115,0,101,0,116,0,54,0,50,0,0,0,115,0,101,0,116,0,54,0,51,0,0,0,115,0,101,0,116,0,54,0,52,0,0,0,115,0,101,0,116,0,54,0,53,0,0,0,115,0,101,0,116,0,54,0,54,0,0,0,115,0,101,0,116,0,54,0,55,0,0,0,115,0,101,0,116,0,54,0,56,0,0,0,115,0,101,0,116,0,54,0,57,0,0,0,115,0,101,0,116,0,55,0,48,0,0,0,115,0,101,0,116,0,55,0,49,0,0,0,115,0,101,0,116,0,55,0,50,0,0,0,115,0,101,0,116,0,55,0,51,0,0,0,115,0,101,0,116,0,55,0,52,0,0,0,115,0,101,0,116,0,55,0,53,0,0,0,115,0,101,0,116,0,55,0,54,0,0,0,115,0,101,0,116,0,55,0,55,0,0,0,115,0,101,0,116,0,55,0,56,0,0,0,115,0,101,0,116,0,55,0,57,0,0,0,115,0,101,0,116,0,56,0,48,0,0,0,115,0,101,0,116,0,56,0,49,0,0,0,115,0,101,0,116,0,56,0,50,0,0,0,115,0,101,0,116,0,56,0,51,0,0,0,115,0,101,0,116,0,56,0,52,0,0,0,115,0,101,0,116,0,56,0,53,0,0,0,115,0,101,0,116,0,56,0,54,0,0,0,115,0,101,0,116,0,56,0,55,0,0,0,115,0,101,0,116,0,56,0,56,0,0,0,115,0,101,0,116,0,56,0,57,0,0,0,115,0,101,0,116,0,57,0,49,0,0,0,115,0,101,0,116,0,57,0,50,0,0,0,115,0,101,0,116,0,57,0,51,0,0,0,115,0,101,0,116,0,57,0,52,0,0,0,115,0,101,0,116,0,57,0,53,0,0,0,115,0,101,0,116,0,57,0,54,0,0,0,115,0,101,0,116,0,57,0,55,0,0,0,115,0,101,0,116,0,57,0,56,0,0,0,115,0,101,0,116,0,57,0,57,0,0,0,115,0,101,0,116,0,49,0,50,0,50,0,0,0,115,0,101,0,116,0,49,0,48,0,48,0,0,0,115,0,101,0,116,0,49,0,48,0,49,0,0,0,115,0,101,0,116,0,49,0,48,0,50,0,0,0,115,0,101,0,116,0,49,0,48,0,51,0,0,0,115,0,101,0,116,0,49,0,48,0,52,0,0,0,115,0,101,0,116,0,49,0,48,0,53,0,0,0,115,0,101,0,116,0,49,0,48,0,54,0,0,0,115,0,101,0,116,0,49,0,48,0,55,0,0,0,115,0,101,0,116,0,49,0,48,0,56,0,0,0,115,0,101,0,116,0,49,0,48,0,57,0,0,0,115,0,101,0,116,0,49,0,49,0,48,0,0,0,115,0,101,0,116,0,49,0,49,0,49,0,0,0,115,0,101,0,116,0,49,0,49,0,50,0,0,0,115,0,101,0,116,0,49,0,49,0,51,0,0,0,115,0,101,0,116,0,49,0,49,0,52,0,0,0,115,0,101,0,116,0,49,0,49,0,53,0,0,0,115,0,101,0,116,0,49,0,49,0,54,0,0,0,115,0,101,0,116,0,49,0,49,0,55,0,0,0,115,0,101,0,116,0,49,0,49,0,56,0,0,0,115,0,101,0,116,0,49,0,49,0,57,0,0,0,115,0,101,0,116,0,49,0,50,0,48,0,0,0,115,0,101,0,116,0,49,0,50,0,49,0,0,0,115,0,101,0,116,0,49,0,50,0,51,0,0,0,115,0,101,0,116,0,49,0,50,0,52,0,0,0,115,0,101,0,116,0,49,0,50,0,53,0,0,0,115,0,101,0,116,0,49,0,50,0,54,0,0,0,115,0,101,0,116,0,49,0,50,0,55,0,0,0,115,0,101,0,116,0,49,0,50,0,56,0,0,0,115,0,101,0,116,0,49,0,50,0,57,0,0,0,115,0,101,0,116,0,49,0,51,0,48,0,0,0,115,0,101,0,116,0,49,0,51,0,49,0,0,0,115,0,101,0,116,0,49,0,51,0,50,0,0,0,115,0,101,0,116,0,49,0,51,0,51,0,0,0,115,0,101,0,116,0,49,0,51,0,52,0,0,0,115,0,101,0,116,0,49,0,51,0,53,0,0,0,115,0,101,0,116,0,49,0,51,0,54,0,0,0,115,0,101,0,116,0,49,0,51,0,55,0,0,0,115,0,101,0,116,0,49,0,51,0,56,0,0,0,115,0,101,0,116,0,49,0,51,0,57,0,0,0,115,0,101,0,116,0,49,0,52,0,48,0,0,0,115,0,101,0,116,0,49,0,52,0,49,0,0,0,115,0,101,0,116,0,49,0,52,0,50,0,0,0,115,0,101,0,116,0,49,0,52,0,51,0,0,0,115,0,101,0,116,0,49,0,52,0,52,0,0,0,115,0,101,0,116,0,49,0,52,0,53,0,0,0,115,0,101,0,116,0,49,0,52,0,54,0,0,0,115,0,101,0,116,0,49,0,52,0,55,0,0,0,115,0,101,0,116,0,49,0,52,0,56,0,0,0,115,0,101,0,116,0,49,0,52,0,57,0,0,0,115,0,101,0,116,0,49,0,53,0,48,0,0,0,115,0,101,0,116,0,49,0,53,0,49,0,0,0,115,0,101,0,116,0,49,0,53,0,50,0,0,0,115,0,101,0,116,0,49,0,53,0,51,0,0,0,115,0,101,0,116,0,49,0,53,0,52,0,0,0,115,0,101,0,116,0,49,0,53,0,53,0,0,0,115,0,101,0,116,0,49,0,53,0,54,0,0,0,115,0,101,0,116,0,49,0,53,0,55,0,0,0,115,0,101,0,116,0,49,0,53,0,56,0,0,0,115,0,101,0,116,0,49,0,53,0,57,0,0,0,115,0,101,0,116,0,49,0,54,0,48,0,0,0,115,0,101,0,116,0,49,0,54,0,49,0,0,0,115,0,101,0,116,0,49,0,54,0,50,0,0,0,115,0,101,0,116,0,49,0,54,0,51,0,0,0,85,0,40,0,43,0,46,0,49,0,52,0,55,0,58,0,61,0,64,0,68,0,72,0,75,0,78,0,81,0,84,0,87,0,90,0,69,1,93,0,99,0,102,0,105,0,108,0,111,0,115,0,118,0,121,0,125,0,128,0,131,0,134,0,69,0,142,0,145,0,148,0,151,0,154,0,157,0,160,0,163,0,167,0,170,0,173,0,176,0,179,0,182,0,186,0,189,0,192,0,195,0,198,0,201,0,204,0,207,0,210,0,213,0,216,0,219,0,222,0,225,0,228,0,231,0,234,0,237,0,240,0,245,0,248,0,251,0,254,0,1,1,4,1,7,1,122,0,10,1,13,1,16,1,19,1,22,1,25,1,28,1,31,1,34,1,38,1,42,1,45,1,16,0,44,2,32,2,8,2,18,1,196,0,42,1,232,0,196,0,92,2,54,1,104,2,36,0,31,0,98,2,132,1,11,0,220,0,226,0,186,1,80,2,150,1,180,1,252,1,0,1,214,0,26,0,102,1,38,2,90,1,96,1,36,1,192,1,144,1,240,1,202,0,238,0,210,1,74,2,110,2,14,2,56,2,174,1,216,1,20,2,244,0,234,1,72,1,78,1,24,1,168,1,86,2,108,1,246,1,222,1,1,0,114,1,21,0,1,0,1,0,120,1,66,1,208,0,250,0,6,0,6,1,126,1,60,1,48,1,138,1,30,1,41,0,62,2,156,1,162,1,228,1,2,2,12,1,84,1,26,2,50,2,116,2,204,1,198,1,68,2,84,0,40,0,43,0,46,0,49,0,52,0,55,0,58,0,61,0,64,0,68,0,72,0,75,0,78,0,81,0,84,0,87,0,90,0,69,1,93,0,99,0,102,0,105,0,108,0,111,0,115,0,118,0,121,0,125,0,128,0,131,0,69,0,142,0,145,0,148,0,151,0,154,0,157,0,160,0,163,0,167,0,170,0,173,0,176,0,179,0,182,0,186,0,189,0,192,0,195,0,198,0,201,0,204,0,207,0,210,0,213,0,216,0,219,0,222,0,225,0,228,0,231,0,234,0,237,0,240,0,245,0,248,0,251,0,254,0,1,1,4,1,7,1,122,0,10,1,13,1,16,1,19,1,22,1,25,1,28,1,31,1,34,1,38,1,42,1,45,1,134,2,91,4,28,4,221,3,32,3,218,2,246,2,200,2,218,2,119,4,11,3,133,4,158,2,152,2,126,4,74,3,128,2,188,2,194,2,249,3,98,4,81,3,0,4,56,4,232,2,182,2,146,2,123,3,35,4,116,3,239,2,7,4,88,3,42,4,170,2,206,2,200,3,95,3,140,4,228,3,70,4,179,3,207,3,235,3,212,2,21,4,60,3,67,3,39,3,172,3,105,4,130,3,49,4,112,4,190,0,137,3,140,2,190,0,190,0,144,3,25,3,176,2,225,2,122,2,46,3,151,3,18,3,4,3,102,3,253,2,164,2,77,4,158,3,165,3,14,4,214,3,53,3,109,3,242,3,63,4,147,4,193,3,186,3,84,4,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,160,0,70,0,2,0,77,1,84,1,130,0,160,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,106,0,70,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,70,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,154,0,2,0,77,1,84,1,178,0,46,0,2,0,77,1,84,1,124,0,178,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,70,0,142,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,64,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,76,0,118,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,124,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,124,0,52,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,76,0,94,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,2,0,77,1,84,1,112,0,88,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,76,0,94,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,58,0,142,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,94,0,130,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,100,0,136,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,136,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,124,0,46,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,124,0,1,0,127,1,46,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,172,0,130,0,2,0,77,1,84,1,52,0,172,0,2,0,77,1,84,1,88,0,52,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,88,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,166,0,100,0,2,0,77,1,84,1,46,0,166,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,166,0,100,0,2,0,77,1,84,1,46,0,166,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,154,0,88,0,2,0,77,1,84,1,70,0,154,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,88,0,52,0,2,0,77,1,84,1,76,0,88,0,2,0,77,1,84,1,160,0,58,0,2,0,77,1,84,1,46,0,160,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,178,0,46,0,2,0,77,1,84,1,88,0,178,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,70,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,124,0,46,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,124,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,160,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,160,0,58,0,2,0,77,1,84,1,58,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,154,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,154,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,148,0,58,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,94,0,118,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,124,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,52,0,118,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,136,0,142,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,112,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,172,0,106,0,2,0,77,1,84,1,52,0,172,0,2,0,77,1,84,1,106,0,64,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,88,0,130,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,46,0,142,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,76,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,2,0,77,1,84,1,184,0,70,0,2,0,77,1,84,1,46,0,184,0,2,0,77,1,84,1,70,0,88,0,2,0,77,1,84,1,118,0,106,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,88,0,130,0,2,0,77,1,84,1,76,0,88,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,82,0,46,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,100,0,70,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,160,0,70,0,2,0,77,1,84,1,130,0,160,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,70,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,70,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,154,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,124,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,124,0,52,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,76,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,70,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,2,0,77,1,84,1,112,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,76,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,142,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,142,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,178,0,46,0,2,0,77,1,84,1,124,0,178,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,70,0,142,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,94,0,130,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,100,0,136,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,136,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,172,0,130,0,2,0,77,1,84,1,52,0,172,0,2,0,77,1,84,1,88,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,88,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,154,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,154,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,148,0,58,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,58,0,70,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,166,0,100,0,2,0,77,1,84,1,46,0,166,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,166,0,100,0,2,0,77,1,84,1,46,0,166,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,154,0,88,0,2,0,77,1,84,1,70,0,154,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,94,0,118,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,124,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,52,0,118,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,172,0,106,0,2,0,77,1,84,1,52,0,172,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,64,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,46,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,88,0,130,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,46,0,142,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,88,0,52,0,2,0,77,1,84,1,76,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,160,0,58,0,2,0,77,1,84,1,46,0,160,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,178,0,46,0,2,0,77,1,84,1,88,0,178,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,70,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,160,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,160,0,58,0,2,0,77,1,84,1,58,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,52,0,118,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,136,0,142,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,112,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,184,0,70,0,2,0,77,1,84,1,46,0,184,0,2,0,77,1,84,1,70,0,88,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,106,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,88,0,130,0,2,0,77,1,84,1,76,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,82,0,46,0,2,0,77,1,84,1,46,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,100,0,70,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,52,0,118,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,76,0,118,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,124,0,46,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,124,0,2,0,77,1,84,1,124,0,46,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,124,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,76,0,88,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,112,0,2,0,43,0,89,1,170,170,238,5,0,80,243,5,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,248,5,0,80,253,5,0,80,2,6,0,80,5,6,0,80,10,6,0,80,15,6,0,80,4,0,98,1,109,1,130,1,139,1,170,170,18,6,0,80,23,6,0,80,28,6,0,80,33,6,0,80,4,0,98,1,109,1,130,1,139,1,170,170,38,6,0,80,43,6,0,80,48,6,0,80,53,6,0,80,4,0,98,1,109,1,130,1,139,1,170,170,58,6,0,80,63,6,0,80,68,6,0,80,73,6,0,80,4,0,98,1,109,1,130,1,139,1,170,170,78,6,0,80,83,6,0,80,88,6,0,80,93,6,0,80,4,0,98,1,109,1,130,1,139,1,170,170,98,6,0,80,103,6,0,80,108,6,0,80,113,6,0,80,5,0,98,1,109,1,130,1,193,1,139,1,118,6,0,80,123,6,0,80,128,6,0,80,133,6,0,80,138,6,0,80,5,0,98,1,109,1,130,1,193,1,139,1,143,6,0,80,148,6,0,80,153,6,0,80,158,6,0,80,163,6,0,80,5,0,98,1,109,1,130,1,193,1,139,1,168,6,0,80,173,6,0,80,178,6,0,80,183,6,0,80,188,6,0,80,5,0,98,1,109,1,130,1,193,1,139,1,193,6,0,80,198,6,0,80,203,6,0,80,208,6,0,80,213,6,0,80,5,0,98,1,109,1,130,1,193,1,139,1,218,6,0,80,223,6,0,80,228,6,0,80,233,6,0,80,238,6,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,243,6,0,80,248,6,0,80,253,6,0,80,0,7,0,80,5,7,0,80,10,7,0,80,5,0,98,1,109,1,130,1,193,1,139,1,13,7,0,80,18,7,0,80,23,7,0,80,28,7,0,80,33,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,38,7,0,80,43,7,0,80,48,7,0,80,53,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,58,7,0,80,63,7,0,80,68,7,0,80,73,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,78,7,0,80,83,7,0,80,88,7,0,80,93,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,98,7,0,80,103,7,0,80,108,7,0,80,113,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,118,7,0,80,123,7,0,80,128,7,0,80,133,7,0,80,6,0,98,1,29,2,130,1,193,1,139,1,40,2,170,170,138,7,0,80,143,7,0,80,148,7,0,80,153,7,0,80,158,7,0,80,163,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,168,7,0,80,173,7,0,80,178,7,0,80,183,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,188,7,0,80,193,7,0,80,198,7,0,80,203,7,0,80,5,0,98,1,109,1,130,1,193,1,139,1,208,7,0,80,213,7,0,80,218,7,0,80,223,7,0,80,228,7,0,80,6,0,98,1,109,1,118,1,130,1,193,1,139,1,170,170,233,7,0,80,238,7,0,80,243,7,0,80,246,7,0,80,251,7,0,80,0,8,0,80,5,0,98,1,29,2,109,1,130,1,139,1,5,8,0,80,10,8,0,80,15,8,0,80,20,8,0,80,25,8,0,80,4,0,98,1,109,1,130,1,139,1,170,170,30,8,0,80,35,8,0,80,40,8,0,80,45,8,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,50,8,0,80,55,8,0,80,60,8,0,80,65,8,0,80,70,8,0,80,75,8,0,80,4,0,98,1,109,1,130,1,139,1,170,170,80,8,0,80,85,8,0,80,90,8,0,80,95,8,0,80,5,0,98,1,109,1,130,1,193,1,139,1,100,8,0,80,105,8,0,80,110,8,0,80,115,8,0,80,120,8,0,80,5,0,98,1,29,2,109,1,130,1,139,1,125,8,0,80,130,8,0,80,135,8,0,80,140,8,0,80,145,8,0,80,4,0,98,1,109,1,130,1,139,1,170,170,150,8,0,80,155,8,0,80,160,8,0,80,165,8,0,80,6,0,98,1,109,1,130,1,193,1,139,1,40,2,170,170,170,8,0,80,175,8,0,80,180,8,0,80,185,8,0,80,190,8,0,80,195,8,0,80,7,0,98,1,29,2,109,1,137,2,130,1,193,1,139,1,200,8,0,80,205,8,0,80,210,8,0,80,215,8,0,80,220,8,0,80,225,8,0,80,230,8,0,80,4,0,98,1,109,1,130,1,139,1,170,170,235,8,0,80,240,8,0,80,245,8,0,80,250,8,0,80,5,0,109,1,130,1,193,1,139,1,146,1,255,8,0,80,4,9,0,80,9,9,0,80,14,9,0,80,19,9,0,80,7,0,98,1,29,2,109,1,137,2,130,1,193,1,139,1,22,9,0,80,27,9,0,80,32,9,0,80,37,9,0,80,42,9,0,80,47,9,0,80,52,9,0,80,4,0,98,1,109,1,130,1,139,1,170,170,57,9,0,80,62,9,0,80,67,9,0,80,72,9,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,77,9,0,80,82,9,0,80,87,9,0,80,92,9,0,80,97,9,0,80,102,9,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,107,9,0,80,112,9,0,80,117,9,0,80,122,9,0,80,127,9,0,80,132,9,0,80,5,0,98,1,109,1,130,1,139,1,40,2,137,9,0,80,142,9,0,80,147,9,0,80,152,9,0,80,157,9,0,80,5,0,98,1,109,1,130,1,193,1,139,1,162,9,0,80,167,9,0,80,172,9,0,80,177,9,0,80,182,9,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,187,9,0,80,192,9,0,80,197,9,0,80,202,9,0,80,207,9,0,80,212,9,0,80,6,0,98,1,109,1,130,1,193,1,139,1,40,2,170,170,217,9,0,80,222,9,0,80,227,9,0,80,232,9,0,80,237,9,0,80,242,9,0,80,4,0,98,1,109,1,130,1,139,1,170,170,247,9,0,80,252,9,0,80,1,10,0,80,6,10,0,80,4,0,98,1,109,1,130,1,139,1,170,170,11,10,0,80,16,10,0,80,21,10,0,80,26,10,0,80,4,0,109,1,193,1,139,1,146,1,170,170,31,10,0,80,36,10,0,80,41,10,0,80,46,10,0,80,4,0,98,1,109,1,130,1,139,1,170,170,49,10,0,80,54,10,0,80,59,10,0,80,64,10,0,80,4,0,98,1,109,1,130,1,139,1,170,170,69,10,0,80,74,10,0,80,79,10,0,80,84,10,0,80,5,0,98,1,109,1,130,1,193,1,139,1,89,10,0,80,94,10,0,80,99,10,0,80,104,10,0,80,109,10,0,80,6,0,98,1,109,1,130,1,193,1,139,1,40,2,170,170,114,10,0,80,119,10,0,80,124,10,0,80,129,10,0,80,134,10,0,80,139,10,0,80,6,0,98,1,29,2,109,1,137,2,130,1,139,1,170,170,144,10,0,80,149,10,0,80,154,10,0,80,159,10,0,80,164,10,0,80,169,10,0,80,4,0,98,1,109,1,130,1,139,1,170,170,174,10,0,80,179,10,0,80,184,10,0,80,189,10,0,80,7,0,98,1,29,2,109,1,130,1,193,1,139,1,40,2,194,10,0,80,199,10,0,80,204,10,0,80,209,10,0,80,214,10,0,80,219,10,0,80,224,10,0,80,6,0,98,1,29,2,109,1,130,1,139,1,40,2,170,170,229,10,0,80,234,10,0,80,239,10,0,80,244,10,0,80,249,10,0,80,254,10,0,80,4,0,98,1,109,1,130,1,139,1,170,170,3,11,0,80,8,11,0,80,13,11,0,80,18,11,0,80,5,0,98,1,109,1,130,1,193,1,139,1,23,11,0,80,28,11,0,80,33,11,0,80,38,11,0,80,43,11,0,80,7,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,48,11,0,80,53,11,0,80,58,11,0,80,63,11,0,80,66,11,0,80,71,11,0,80,76,11,0,80,5,0,98,1,109,1,130,1,193,1,139,1,81,11,0,80,86,11,0,80,91,11,0,80,96,11,0,80,101,11,0,80,4,0,98,1,109,1,130,1,139,1,170,170,106,11,0,80,111,11,0,80,116,11,0,80,121,11,0,80,4,0,98,1,109,1,130,1,139,1,170,170,126,11,0,80,131,11,0,80,136,11,0,80,141,11,0,80,5,0,98,1,109,1,130,1,193,1,139,1,146,11,0,80,151,11,0,80,156,11,0,80,161,11,0,80,166,11,0,80,5,0,98,1,109,1,130,1,193,1,139,1,171,11,0,80,176,11,0,80,181,11,0,80,186,11,0,80,191,11,0,80,4,0,98,1,109,1,130,1,139,1,170,170,196,11,0,80,201,11,0,80,206,11,0,80,211,11,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,216,11,0,80,221,11,0,80,226,11,0,80,231,11,0,80,236,11,0,80,241,11,0,80,4,0,98,1,109,1,130,1,139,1,170,170,246,11,0,80,251,11,0,80,0,12,0,80,5,12,0,80,4,0,98,1,109,1,130,1,139,1,170,170,10,12,0,80,15,12,0,80,20,12,0,80,25,12,0,80,2,0,98,1,130,1,170,170,30,12,0,80,35,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,40,12,0,80,45,12,0,80,50,12,0,80,53,12,0,80,58,12,0,80,63,12,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,66,12,0,80,71,12,0,80,76,12,0,80,81,12,0,80,86,12,0,80,91,12,0,80,3,0,98,1,109,1,130,1,96,12,0,80,101,12,0,80,106,12,0,80,4,0,98,1,109,1,130,1,139,1,170,170,111,12,0,80,116,12,0,80,121,12,0,80,126,12,0,80,4,0,98,1,109,1,130,1,139,1,170,170,131,12,0,80,136,12,0,80,141,12,0,80,146,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,151,12,0,80,156,12,0,80,161,12,0,80,164,12,0,80,169,12,0,80,174,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,177,12,0,80,182,12,0,80,187,12,0,80,190,12,0,80,195,12,0,80,200,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,203,12,0,80,208,12,0,80,213,12,0,80,216,12,0,80,221,12,0,80,226,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,229,12,0,80,234,12,0,80,239,12,0,80,242,12,0,80,247,12,0,80,252,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,255,12,0,80,4,13,0,80,9,13,0,80,12,13,0,80,17,13,0,80,22,13,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,25,13,0,80,30,13,0,80,35,13,0,80,38,13,0,80,43,13,0,80,48,13,0,80,6,0,98,1,109,1,118,1,130,1,193,1,139,1,170,170,51,13,0,80,56,13,0,80,61,13,0,80,64,13,0,80,69,13,0,80,74,13,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,79,13,0,80,84,13,0,80,89,13,0,80,92,13,0,80,97,13,0,80,102,13,0,80,107,13,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,110,13,0,80,115,13,0,80,120,13,0,80,123,13,0,80,128,13,0,80,133,13,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,136,13,0,80,141,13,0,80,146,13,0,80,149,13,0,80,154,13,0,80,159,13,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,162,13,0,80,167,13,0,80,172,13,0,80,175,13,0,80,180,13,0,80,185,13,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,188,13,0,80,193,13,0,80,198,13,0,80,201,13,0,80,206,13,0,80,211,13,0,80,216,13,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,219,13,0,80,224,13,0,80,229,13,0,80,232,13,0,80,237,13,0,80,242,13,0,80,247,13,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,250,13,0,80,255,13,0,80,4,14,0,80,7,14,0,80,12,14,0,80,17,14,0,80,22,14,0,80,5,0,98,1,109,1,118,1,130,1,139,1,25,14,0,80,30,14,0,80,35,14,0,80,38,14,0,80,43,14,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,48,14,0,80,53,14,0,80,58,14,0,80,61,14,0,80,66,14,0,80,71,14,0,80,76,14,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,79,14,0,80,84,14,0,80,89,14,0,80,92,14,0,80,97,14,0,80,102,14,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,105,14,0,80,110,14,0,80,115,14,0,80,118,14,0,80,123,14,0,80,128,14,0,80,6,0,98,1,29,2,109,1,118,1,130,1,139,1,170,170,131,14,0,80,136,14,0,80,141,14,0,80,146,14,0,80,149,14,0,80,154,14,0,80,5,0,98,1,109,1,118,1,130,1,139,1,159,14,0,80,164,14,0,80,169,14,0,80,172,14,0,80,177,14,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,182,14,0,80,187,14,0,80,192,14,0,80,195,14,0,80,200,14,0,80,205,14,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,208,14,0,80,213,14,0,80,218,14,0,80,223,14,0,80,228,14,0,80,233,14,0,80,5,0,98,1,109,1,118,1,130,1,139,1,238,14,0,80,243,14,0,80,248,14,0,80,251,14,0,80,0,15,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,5,15,0,80,10,15,0,80,15,15,0,80,18,15,0,80,23,15,0,80,28,15,0,80,33,15,0,80,7,0,98,1,29,2,109,1,118,1,130,1,139,1,146,1,36,15,0,80,41,15,0,80,46,15,0,80,51,15,0,80,54,15,0,80,59,15,0,80,64,15,0,80,5,0,98,1,109,1,118,1,130,1,139,1,67,15,0,80,72,15,0,80,77,15,0,80,80,15,0,80,85,15,0,80,5,0,98,1,109,1,118,1,130,1,139,1,90,15,0,80,95,15,0,80,100,15,0,80,103,15,0,80,108,15,0,80,8,0,98,1,109,1,118,1,130,1,193,1,139,1,40,2,146,1,170,170,113,15,0,80,118,15,0,80,123,15,0,80,126,15,0,80,131,15,0,80,136,15,0,80,141,15,0,80,146,15,0,80,4,0,98,1,109,1,130,1,139,1,170,170,149,15,0,80,154,15,0,80,159,15,0,80,164,15,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,169,15,0,80,174,15,0,80,179,15,0,80,182,15,0,80,187,15,0,80,192,15,0,80,197,15,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,200,15,0,80,205,15,0,80,210,15,0,80,213,15,0,80,218,15,0,80,223,15,0,80,6,0,98,1,29,2,130,1,193,1,139,1,40,2,170,170,226,15,0,80,231,15,0,80,236,15,0,80,241,15,0,80,246,15,0,80,251,15,0,80,9,0,98,1,29,2,109,1,137,2,118,1,130,1,193,1,139,1,146,1,0,16,0,80,5,16,0,80,10,16,0,80,15,16,0,80,20,16,0,80,23,16,0,80,28,16,0,80,33,16,0,80,38,16,0,80,5,0,98,1,109,1,118,1,130,1,139,1,41,16,0,80,46,16,0,80,51,16,0,80,54,16,0,80,59,16,0,80,9,0,98,1,29,2,109,1,137,2,118,1,130,1,193,1,139,1,146,1,64,16,0,80,69,16,0,80,74,16,0,80,79,16,0,80,84,16,0,80,87,16,0,80,92,16,0,80,97,16,0,80,102,16,0,80,5,0,98,1,109,1,118,1,130,1,139,1,105,16,0,80,110,16,0,80,115,16,0,80,118,16,0,80,123,16,0,80,6,0,98,1,29,2,109,1,118,1,130,1,139,1,170,170,128,16,0,80,133,16,0,80,138,16,0,80,143,16,0,80,146,16,0,80,151,16,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,156,16,0,80,161,16,0,80,166,16,0,80,169,16,0,80,174,16,0,80,179,16,0,80,184,16,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,187,16,0,80,192,16,0,80,197,16,0,80,200,16,0,80,205,16,0,80,210,16,0,80,8,0,98,1,109,1,118,1,130,1,193,1,139,1,40,2,146,1,170,170,213,16,0,80,218,16,0,80,223,16,0,80,226,16,0,80,231,16,0,80,236,16,0,80,241,16,0,80,246,16,0,80,7,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,249,16,0,80,254,16,0,80,3,17,0,80,8,17,0,80,11,17,0,80,16,17,0,80,21,17,0,80,7,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,26,17,0,80,31,17,0,80,36,17,0,80,41,17,0,80,44,17,0,80,49,17,0,80,54,17,0,80,7,0,98,1,109,1,118,1,130,1,139,1,40,2,146,1,59,17,0,80,64,17,0,80,69,17,0,80,72,17,0,80,77,17,0,80,82,17,0,80,87,17,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,90,17,0,80,95,17,0,80,100,17,0,80,103,17,0,80,108,17,0,80,113,17,0,80,118,17,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,121,17,0,80,126,17,0,80,131,17,0,80,134,17,0,80,139,17,0,80,144,17,0,80,8,0,98,1,29,2,109,1,137,2,118,1,130,1,139,1,146,1,170,170,147,17,0,80,152,17,0,80,157,17,0,80,162,17,0,80,167,17,0,80,170,17,0,80,175,17,0,80,180,17,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,183,17,0,80,188,17,0,80,193,17,0,80,196,17,0,80,201,17,0,80,206,17,0,80,7,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,209,17,0,80,214,17,0,80,219,17,0,80,224,17,0,80,227,17,0,80,232,17,0,80,237,17,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,242,17,0,80,247,17,0,80,252,17,0,80,255,17,0,80,4,18,0,80,9,18,0,80,5,0,98,1,109,1,130,1,193,1,139,1,12,18,0,80,17,18,0,80,22,18,0,80,27,18,0,80,32,18,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,37,18,0,80,42,18,0,80,47,18,0,80,50,18,0,80,55,18,0,80,60,18,0,80,65,18,0,80,8,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,146,1,170,170,68,18,0,80,73,18,0,80,78,18,0,80,83,18,0,80,86,18,0,80,91,18,0,80,96,18,0,80,101,18,0,80,8,0,98,1,109,1,118,1,130,1,193,1,139,1,40,2,146,1,170,170,104,18,0,80,109,18,0,80,114,18,0,80,117,18,0,80,122,18,0,80,127,18,0,80,132,18,0,80,137,18,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,140,18,0,80,145,18,0,80,150,18,0,80,153,18,0,80,158,18,0,80,163,18,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,166,18,0,80,171,18,0,80,176,18,0,80,179,18,0,80,184,18,0,80,189,18,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,192,18,0,80,197,18,0,80,202,18,0,80,205,18,0,80,210,18,0,80,215,18,0,80,7,0,98,1,29,2,109,1,130,1,193,1,139,1,40,2,218,18,0,80,223,18,0,80,228,18,0,80,233,18,0,80,238,18,0,80,243,18,0,80,248,18,0,80,7,0,98,1,29,2,109,1,118,1,130,1,139,1,40,2,253,18,0,80,2,19,0,80,7,19,0,80,12,19,0,80,15,19,0,80,20,19,0,80,25,19,0,80,6,0,98,1,109,1,118,1,130,1,193,1,139,1,170,170,30,19,0,80,35,19,0,80,40,19,0,80,43,19,0,80,48,19,0,80,53,19,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,58,19,0,80,63,19,0,80,68,19,0,80,71,19,0,80,76,19,0,80,81,19,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,84,19,0,80,89,19,0,80,94,19,0,80,97,19,0,80,102,19,0,80,107,19,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,110,19,0,80,115,19,0,80,120,19,0,80,123,19,0,80,128,19,0,80,133,19,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,136,19,0,80,141,19,0,80,146,19,0,80,149,19,0,80,154,19,0,80,159,19,0,80,164,19,0,80,5,0,98,1,109,1,130,1,193,1,139,1,167,19,0,80,172,19,0,80,177,19,0,80,182,19,0,80,187,19,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,192,19,0,80,197,19,0,80,202,19,0,80,205,19,0,80,210,19,0,80,215,19,0,80,7,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,218,19,0,80,223,19,0,80,228,19,0,80,233,19,0,80,236,19,0,80,241,19,0,80,246,19,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,251,19,0,80,0,20,0,80,5,20,0,80,8,20,0,80,13,20,0,80,18,20,0,80,3,0,98,1,130,1,146,1,21,20,0,80,26,20,0,80,31,20,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,34,20,0,80,39,20,0,80,44,20,0,80,49,20,0,80,54,20,0,80,59,20,0,80,6,0,98,1,109,1,118,1,130,1,193,1,139,1,170,170,64,20,0,80,69,20,0,80,74,20,0,80,77,20,0,80,82,20,0,80,87,20,0,80,5,0,98,1,109,1,118,1,130,1,146,1,92,20,0,80,97,20,0,80,102,20,0,80,105,20,0,80,110,20,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,113,20,0,80,118,20,0,80,123,20,0,80,126,20,0,80,131,20,0,80,136,20,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,139,20,0,80,144,20,0,80,149,20,0,80,152,20,0,80,157,20,0,80,162,20,0,80,2,0,43,0,89,1,170,170,165,20,0,80,170,20,0,80,4,0,98,1,109,1,130,1,139,1,170,170,175,20,0,80,180,20,0,80,185,20,0,80,190,20,0,80,4,0,98,1,109,1,130,1,139,1,170,170,195,20,0,80,200,20,0,80,205,20,0,80,210,20,0,80,4,0,98,1,109,1,130,1,139,1,170,170,215,20,0,80,220,20,0,80,225,20,0,80,230,20,0,80,6,0,98,1,29,2,109,1,118,1,130,1,139,1,170,170,235,20,0,80,240,20,0,80,245,20,0,80,250,20,0,80,253,20,0,80,2,21,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,7,21,0,80,12,21,0,80,17,21,0,80,22,21,0,80,27,21,0,80,32,21,0,80,5,0,98,1,109,1,130,1,193,1,139,1,37,21,0,80,42,21,0,80,47,21,0,80,52,21,0,80,57,21,0,80,6,0,98,1,109,1,118,1,130,1,193,1,139,1,170,170,62,21,0,80,67,21,0,80,72,21,0,80,75,21,0,80,80,21,0,80,85,21,0,80,5,0,98,1,109,1,130,1,193,1,139,1,90,21,0,80,95,21,0,80,100,21,0,80,105,21,0,80,110,21,0,80,5,0,98,1,109,1,130,1,193,1,139,1,115,21,0,80,120,21,0,80,125,21,0,80,130,21,0,80,135,21,0,80,4,0,98,1,109,1,130,1,139,1,170,170,140,21,0,80,145,21,0,80,150,21,0,80,155,21,0,80,4,0,98,1,109,1,130,1,139,1,170,170,160,21,0,80,165,21,0,80,170,21,0,80,175,21,0,80,5,0,98,1,109,1,130,1,193,1,139,1,180,21,0,80,185,21,0,80,190,21,0,80,195,21,0,80,200,21,0,80,4,0,109,1,130,1,193,1,139,1,170,170,205,21,0,80,210,21,0,80,215,21,0,80,220,21,0,80,3,0,109,1,193,1,139,1,225,21,0,80,230,21,0,80,235,21,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,240,21,0,80,245,21,0,80,250,21,0,80,255,21,0,80,4,22,0,80,9,22,0,80,4,0,98,1,109,1,130,1,139,1,170,170,14,22,0,80,19,22,0,80,24,22,0,80,29,22,0,80,4,0,98,1,109,1,130,1,139,1,170,170,34,22,0,80,39,22,0,80,44,22,0,80,49,22,0,80,163,0,72,1,92,1,151,1,158,1,165,1,172,1,179,1,186,1,202,1,209,1,216,1,223,1,230,1,236,1,243,1,250,1,1,2,8,2,15,2,22,2,47,2,54,2,61,2,68,2,74,2,81,2,88,2,95,2,102,2,109,2,116,2,123,2,130,2,146,2,153,2,159,2,166,2,173,2,180,2,187,2,194,2,201,2,208,2,215,2,222,2,229,2,235,2,242,2,249,2,0,3,7,3,14,3,21,3,28,3,35,3,42,3,49,3,55,3,62,3,69,3,76,3,83,3,90,3,97,3,104,3,111,3,118,3,125,3,131,3,138,3,145,3,152,3,159,3,165,3,171,3,177,3,182,3,188,3,194,3,200,3,206,3,212,3,218,3,224,3,230,3,236,3,242,3,247,3,253,3,3,4,9,4,15,4,21,4,27,4,33,4,39,4,45,4,51,4,56,4,62,4,68,4,74,4,80,4,86,4,92,4,98,4,104,4,110,4,116,4,121,4,127,4,133,4,139,4,145,4,151,4,157,4,163,4,169,4,175,4,181,4,186,4,192,4,198,4,204,4,210,4,216,4,222,4,228,4,234,4,240,4,246,4,251,4,1,5,7,5,13,5,19,5,25,5,31,5,37,5,43,5,49,5,55,5,60,5,66,5,72,5,78,5,84,5,90,5,96,5,102,5,108,5,114,5,120,5,125,5,131,5,137,5,143,5,149,5,155,5,161,5,167,5,173,5,179,5,138,12,0,32,142,12,0,32,152,12,0,32,159,12,0,32,166,12,0,32,173,12,0,32,180,12,0,32,187,12,0,32,195,12,0,32,203,12,0,32,211,12,0,32,219,12,0,32,227,12,0,32,237,12,0,32,245,12,0,32,252,12,0,32,3,13,0,32,10,13,0,32,17,13,0,32,24,13,0,32,34,13,0,32,41,13,0,32,48,13,0,32,56,13,0,32,66,13,0,32,74,13,0,32,81,13,0,32,91,13,0,32,98,13,0,32,106,13,0,32,114,13,0,32,121,13,0,32,131,13,0,32,142,13,0,32,149,13,0,32,157,13,0,32,168,13,0,32,175,13,0,32,185,13,0,32,195,13,0,32,203,13,0,32,211,13,0,32,221,13,0,32,231,13,0,32,238,13,0,32,245,13,0,32,252,13,0,32,3,14,0,32,10,14,0,32,18,14,0,32,28,14,0,32,38,14,0,32,45,14,0,32,56,14,0,32,66,14,0,32,73,14,0,32,81,14,0,32,92,14,0,32,100,14,0,32,107,14,0,32,114,14,0,32,122,14,0,32,130,14,0,32,137,14,0,32,147,14,0,32,154,14,0,32,161,14,0,32,165,14,0,32,175,14,0,32,185,14,0,32,190,14,0,32,197,14,0,32,204,14,0,32,214,14,0,32,224,14,0,32,234,14,0,32,244,14,0,32,254,14,0,32,8,15,0,32,18,15,0,32,29,15,0,32,39,15,0,32,49,15,0,32,59,15,0,32,70,15,0,32,81,15,0,32,92,15,0,32,100,15,0,32,111,15,0,32,121,15,0,32,131,15,0,32,141,15,0,32,149,15,0,32,159,15,0,32,169,15,0,32,177,15,0,32,188,15,0,32,199,15,0,32,207,15,0,32,215,15,0,32,228,15,0,32,235,15,0,32,246,15,0,32,0,16,0,32,10,16,0,32,24,16,0,32,32,16,0,32,46,16,0,32,54,16,0,32,64,16,0,32,75,16,0,32,85,16,0,32,98,16,0,32,109,16,0,32,120,16,0,32,131,16,0,32,142,16,0,32,152,16,0,32,165,16,0,32,175,16,0,32,186,16,0,32,196,16,0,32,204,16,0,32,215,16,0,32,228,16,0,32,241,16,0,32,251,16,0,32,5,17,0,32,15,17,0,32,26,17,0,32,37,17,0,32,47,17,0,32,57,17,0,32,67,17,0,32,77,17,0,32,88,17,0,32,96,17,0,32,106,17,0,32,117,17,0,32,127,17,0,32,132,17,0,32,142,17,0,32,152,17,0,32,160,17,0,32,170,17,0,32,180,17,0,32,184,17,0,32,191,17,0,32,198,17,0,32,205,17,0,32,215,17,0,32,225,17,0,32,233,17,0,32,243,17,0,32,251,17,0,32,3,18,0,32,10,18,0,32,17,18,0,32,25,18,0,32,32,18,0,32,37,18,0,32,47,18,0,32,54,18,0,32,3,0,32,0,48,1,66,1,154,4,0,80,69,5,0,80,61,18,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,126,0,0,32,7,0,0,0,54,0,0,0,128,0,0,0,128,0,0,0,55,0,0,0,1,0,0,0,126,0,0,0,103,101,110,100,101,114,76,105,115,116,0,97,102,0,97,114,0,98,103,0,98,110,0,99,97,0,99,115,0,100,97,0,100,101,0,101,108,0,101,110,0,101,115,0,101,116,0,101,117,0,102,97,0,102,105,0,102,105,108,0,102,114,0,103,117,0,104,101,0,104,105,0,104,114,0,104,117,0,105,100,0,105,115,0,105,116,0,106,97,0,107,110,0,107,111,0,108,105,106,0,108,116,0,108,118,0,109,108,0,109,114,0,109,115,0,110,108,0,110,111,0,112,108,0,112,116,0,114,111,0,114,117,0,115,107,0,115,108,0,115,114,0,115,118,0,115,119,0,116,97,0,116,101,0,116,104,0,116,114,0,117,107,0,117,114,0,118,105,0,122,104,0,122,104,95,72,97,110,116,0,122,117,0,170,0,0,110,0,101,0,117,0,116,0,114,0,97,0,108,0,0,0,109,0,97,0,108,0,101,0,84,0,97,0,105,0,110,0,116,0,115,0,0,0,109,0,105,0,120,0,101,0,100,0,78,0,101,0,117,0,116,0,114,0,97,0,108,0,0,0,55,0,43,0,46,0,49,0,52,0,55,0,58,0,61,0,64,0,67,0,70,0,73,0,76,0,79,0,82,0,85,0,88,0,92,0,95,0,98,0,101,0,104,0,107,0,110,0,113,0,116,0,119,0,122,0,125,0,128,0,132,0,135,0,138,0,141,0,144,0,147,0,150,0,153,0,156,0,159,0,162,0,165,0,168,0,171,0,174,0,177,0,180,0,183,0,186,0,189,0,192,0,195,0,198,0,201,0,204,0,212,0,1,0,9,0,1,0,1,0,9,0,9,0,1,0,1,0,20,0,1,0,9,0,1,0,1,0,1,0,1,0,1,0,9,0,1,0,9,0,9,0,9,0,1,0,1,0,20,0,9,0,1,0,1,0,1,0,9,0,9,0,9,0,1,0,9,0,1,0,9,0,1,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,1,0,1,0,1,0,1,0,1,0,1,0,9,0,9,0,1,0,9,0,9,0,1,0,1,0,32,0,33,0,0,80,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,215,4,0,32,7,0,0,0,77,0,0,0,217,4,0,0,217,4,0,0,49,0,0,0,1,0,0,0,66,2,0,0,103,114,97,109,109,97,116,105,99,97,108,68,97,116,97,0,100,101,114,105,118,97,116,105,111,110,115,0,100,101,0,99,111,109,112,111,110,101,110,116,0,99,97,115,101,0,112,101,114,0,112,111,119,101,114,0,112,114,101,102,105,120,0,116,105,109,101,115,0,112,108,117,114,97,108,0,99,111,109,112,111,117,110,100,0,103,101,110,100,101,114,0,102,114,0,114,111,111,116,0,102,101,97,116,117,114,101,115,0,97,109,0,110,111,109,105,110,97,108,0,95,0,100,101,102,105,110,105,116,101,110,101,115,115,0,97,114,0,117,110,105,116,115,0,97,122,0,98,110,0,99,97,0,99,115,0,100,97,0,101,108,0,102,97,0,102,105,0,103,117,0,104,101,0,104,105,0,104,114,0,104,117,0,104,121,0,105,100,0,105,115,0,105,116,0,107,107,0,107,110,0,107,121,0,108,116,0,108,118,0,109,108,0,109,114,0,110,98,0,110,108,0,110,110,0,110,111,0,112,97,0,112,108,0,112,116,0,114,111,0,114,117,0,115,105,0,115,107,0,115,108,0,115,114,0,115,118,0,116,101,0,116,114,0,117,107,0,117,114,0,117,122,0,170,170,170,0,0,48,0,0,0,49,0,0,0,111,0,110,0,101,0,0,0,100,0,97,0,116,0,105,0,118,0,101,0,0,0,110,0,101,0,117,0,116,0,101,0,114,0,0,0,99,0,111,0,109,0,109,0,111,0,110,0,0,0,99,0,97,0,117,0,115,0,97,0,108,0,0,0,111,0,98,0,108,0,105,0,113,0,117,0,101,0,0,0,103,0,101,0,110,0,105,0,116,0,105,0,118,0,101,0,0,0,102,0,101,0,109,0,105,0,110,0,105,0,110,0,101,0,0,0,108,0,111,0,99,0,97,0,116,0,105,0,118,0,101,0,0,0,99,0,111,0,109,0,112,0,111,0,117,0,110,0,100,0,0,0,118,0,111,0,99,0,97,0,116,0,105,0,118,0,101,0,0,0,97,0,98,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,100,0,101,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,105,0,108,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,97,0,100,0,101,0,115,0,115,0,105,0,118,0,101,0,0,0,97,0,108,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,105,0,110,0,101,0,115,0,115,0,105,0,118,0,101,0,0,0,97,0,98,0,101,0,115,0,115,0,105,0,118,0,101,0,0,0,101,0,114,0,103,0,97,0,116,0,105,0,118,0,101,0,0,0,112,0,101,0,114,0,115,0,111,0,110,0,97,0,108,0,0,0,109,0,97,0,115,0,99,0,117,0,108,0,105,0,110,0,101,0,0,0,105,0,110,0,97,0,110,0,105,0,109,0,97,0,116,0,101,0,0,0,99,0,111,0,110,0,115,0,116,0,114,0,117,0,99,0,116,0,0,0,112,0,97,0,114,0,116,0,105,0,116,0,105,0,118,0,101,0,0,0,115,0,111,0,99,0,105,0,97,0,116,0,105,0,118,0,101,0,0,0,115,0,117,0,98,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,110,0,111,0,109,0,105,0,110,0,97,0,116,0,105,0,118,0,101,0,0,0,97,0,99,0,99,0,117,0,115,0,97,0,116,0,105,0,118,0,101,0,0,0,105,0,110,0,100,0,101,0,102,0,105,0,110,0,105,0,116,0,101,0,0,0,99,0,111,0,109,0,105,0,116,0,97,0,116,0,105,0,118,0,101,0,0,0,116,0,114,0,97,0,110,0,115,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,115,0,117,0,112,0,101,0,114,0,101,0,115,0,115,0,105,0,118,0,101,0,0,0,116,0,101,0,114,0,109,0,105,0,110,0,97,0,116,0,105,0,118,0,101,0,0,0,117,0,110,0,115,0,112,0,101,0,99,0,105,0,102,0,105,0,101,0,100,0,0,0,105,0,110,0,115,0,116,0,114,0,117,0,109,0,101,0,110,0,116,0,97,0,108,0,0,0,112,0,114,0,101,0,112,0,111,0,115,0,105,0,116,0,105,0,111,0,110,0,97,0,108,0,0,0,108,0,111,0,99,0,97,0,116,0,105,0,118,0,101,0,99,0,111,0,112,0,117,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,2,0,72,0,242,0,2,0,231,0,72,0,2,0,231,0,72,0,2,0,231,0,72,0,2,0,72,0,5,0,2,0,5,0,72,0,2,0,5,0,72,0,2,0,5,0,72,0,4,0,78,0,82,0,88,0,95,0,1,0,1,0,1,0,3,0,2,0,72,0,5,0,2,0,72,0,72,0,2,0,5,0,72,0,2,0,72,0,72,0,4,0,78,0,82,0,88,0,95,0,1,0,1,0,1,0,1,0,2,0,72,0,231,0,2,0,231,0,72,0,2,0,231,0,72,0,2,0,231,0,72,0,2,0,72,0,5,0,2,0,5,0,72,0,2,0,5,0,72,0,2,0,5,0,72,0,4,0,78,0,82,0,88,0,95,0,1,0,1,0,1,0,3,0,2,0,231,0,242,0,2,0,255,0,253,0,3,0,231,0,45,0,242,0,3,0,255,0,253,0,191,0,2,0,171,0,54,0,6,0,231,0,45,0,9,0,242,0,90,0,63,0,4,0,231,0,242,0,45,0,63,0,2,0,255,0,253,0,2,0,171,0,54,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,6,0,231,0,45,0,9,0,242,0,67,1,63,0,4,0,183,0,181,0,54,0,16,0,3,0,181,0,54,0,16,0,2,0,231,0,45,0,3,0,255,0,253,0,55,1,2,0,23,0,16,0,4,0,231,0,45,0,9,0,242,0,3,0,171,0,54,0,16,0,4,0,231,0,45,0,242,0,81,0,3,0,231,0,45,0,242,0,3,0,171,0,54,0,16,0,2,0,171,0,54,0,3,0,255,0,253,0,191,0,14,0,231,0,144,0,90,0,117,0,126,0,8,1,100,0,36,1,45,0,108,0,135,0,67,1,201,0,19,1,5,0,231,0,100,0,108,0,201,0,45,0,2,0,171,0,54,0,7,0,231,0,45,0,242,0,9,0,63,0,67,1,81,0,3,0,171,0,54,0,16,0,3,0,255,0,253,0,191,0,2,0,171,0,54,0,2,0,231,0,37,0,2,0,171,0,54,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,4,0,231,0,45,0,242,0,67,1,4,0,183,0,181,0,54,0,16,0,3,0,181,0,54,0,16,0,17,0,231,0,90,0,242,0,117,0,126,0,30,0,9,0,99,0,100,0,36,1,108,0,135,0,67,1,221,0,31,1,43,1,19,1,5,0,231,0,242,0,67,1,43,1,19,1,5,0,231,0,90,0,9,0,63,0,67,1,2,0,255,0,253,0,4,0,231,0,45,0,9,0,242,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,2,0,171,0,54,0,7,0,231,0,45,0,9,0,242,0,67,1,90,0,63,0,7,0,231,0,45,0,242,0,9,0,63,0,67,1,81,0,5,0,231,0,45,0,242,0,9,0,63,0,3,0,171,0,54,0,16,0,6,0,231,0,45,0,9,0,242,0,90,0,63,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,6,0,231,0,45,0,9,0,242,0,67,1,63,0,2,0,171,0,54,0,6,0,231,0,45,0,9,0,242,0,81,0,63,0,5,0,231,0,45,0,9,0,242,0,63,0,2,0,171,0,54,0,9,0,231,0,45,0,9,0,242,0,67,1,63,0,8,1,94,1,211,0,4,0,183,0,181,0,54,0,16,0,7,0,231,0,242,0,9,0,153,0,63,0,90,0,45,0,3,0,171,0,54,0,16,0,2,0,231,0,45,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,2,0,23,0,16,0,2,0,231,0,45,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,2,0,231,0,45,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,2,0,231,0,37,0,2,0,171,0,54,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,3,0,242,0,45,0,231,0,5,0,183,0,181,0,162,0,54,0,16,0,3,0,181,0,54,0,16,0,2,0,171,0,54,0,2,0,231,0,45,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,8,0,231,0,45,0,9,0,242,0,67,1,80,1,81,0,63,0,6,0,231,0,242,0,9,0,45,0,80,1,67,1,3,0,171,0,54,0,16,0,5,0,231,0,45,0,90,0,242,0,9,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,6,0,231,0,45,0,9,0,242,0,67,1,63,0,4,0,183,0,181,0,54,0,16,0,3,0,181,0,54,0,16,0,6,0,231,0,45,0,242,0,9,0,67,1,63,0,3,0,171,0,54,0,16,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,4,0,231,0,45,0,242,0,67,1,4,0,183,0,181,0,54,0,16,0,3,0,181,0,54,0,16,0,2,0,231,0,45,0,2,0,255,0,253,0,2,0,23,0,16,0,8,0,231,0,45,0,242,0,9,0,63,0,67,1,90,0,81,0,4,0,231,0,242,0,9,0,90,0,6,0,231,0,37,0,242,0,9,0,63,0,67,1,7,0,231,0,45,0,9,0,242,0,67,1,90,0,63,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,6,0,231,0,45,0,242,0,9,0,63,0,67,1,3,0,171,0,54,0,16,0,2,0,231,0,37,0,2,0,171,0,54,0,6,0,231,0,45,0,9,0,242,0,90,0,63,0,170,170,4,0,78,0,82,0,88,0,95,0,170,170,113,1,0,144,116,1,0,144,119,1,0,144,122,1,0,144,4,0,78,0,82,0,88,0,95,0,170,170,125,1,0,144,128,1,0,144,131,1,0,144,134,1,0,144,2,0,73,0,101,0,170,170,66,2,0,32,73,2,0,32,1,0,117,0,137,1,0,80,2,0,63,0,108,0,170,170,80,2,0,32,84,2,0,32,4,0,78,0,82,0,88,0,95,0,170,170,146,1,0,144,149,1,0,144,152,1,0,144,155,1,0,144,1,0,101,0,90,2,0,32,1,0,117,0,158,1,0,80,2,0,63,0,108,0,170,170,97,2,0,32,99,2,0,32,4,0,78,0,82,0,88,0,95,0,170,170,167,1,0,144,170,1,0,144,173,1,0,144,176,1,0,144,4,0,78,0,82,0,88,0,95,0,170,170,179,1,0,144,182,1,0,144,185,1,0,144,188,1,0,144,2,0,73,0,101,0,170,170,105,2,0,32,112,2,0,32,1,0,117,0,191,1,0,80,2,0,63,0,108,0,170,170,119,2,0,32,123,2,0,32,3,0,60,0,124,0,127,0,86,2,0,32,101,2,0,32,125,2,0,32,1,0,152,0,200,1,0,144,1,0,152,0,203,1,0,144,2,0,73,0,154,0,170,170,134,2,0,32,136,2,0,32,1,0,144,0,138,2,0,32,2,0,152,0,170,0,170,170,206,1,0,144,0,0,0,0,1,0,152,0,210,1,0,144,1,0,152,0,214,1,0,144,3,0,73,0,154,0,117,0,144,2,0,32,148,2,0,32,150,2,0,32,1,0,144,0,152,2,0,32,2,0,152,0,170,0,170,170,217,1,0,144,0,0,0,0,1,0,73,0,159,2,0,32,1,0,144,0,163,2,0,32,2,0,152,0,170,0,170,170,224,1,0,144,0,0,0,0,1,0,152,0,229,1,0,144,2,0,73,0,154,0,170,170,167,2,0,32,171,2,0,32,1,0,144,0,173,2,0,32,1,0,152,0,232,1,0,144,1,0,117,0,179,2,0,32,1,0,144,0,181,2,0,32,2,0,152,0,170,0,170,170,235,1,0,144,243,1,0,144,2,0,152,0,170,0,170,170,250,1,0,144,255,1,0,144,2,0,73,0,117,0,170,170,185,2,0,32,189,2,0,32,1,0,144,0,193,2,0,32,1,0,152,0,3,2,0,144,1,0,152,0,6,2,0,144,1,0,152,0,10,2,0,144,3,0,73,0,154,0,117,0,199,2,0,32,201,2,0,32,203,2,0,32,1,0,144,0,205,2,0,32,1,0,152,0,13,2,0,144,1,0,152,0,18,2,0,144,2,0,73,0,117,0,170,170,212,2,0,32,214,2,0,32,1,0,144,0,216,2,0,32,2,0,152,0,170,0,170,170,22,2,0,144,27,2,0,144,1,0,152,0,31,2,0,144,2,0,73,0,117,0,170,170,222,2,0,32,226,2,0,32,1,0,144,0,228,2,0,32,1,0,152,0,35,2,0,144,1,0,117,0,234,2,0,32,1,0,144,0,236,2,0,32,1,0,152,0,38,2,0,144,1,0,154,0,240,2,0,32,1,0,144,0,242,2,0,32,2,0,152,0,170,0,170,170,42,2,0,144,57,2,0,144,1,0,73,0,246,2,0,32,1,0,144,0,250,2,0,32,1,0,152,0,63,2,0,144,1,0,117,0,254,2,0,32,1,0,144,0,0,3,0,32,2,0,152,0,170,0,170,170,66,2,0,144,0,0,0,0,2,0,152,0,170,0,170,170,74,2,0,144,0,0,0,0,2,0,73,0,117,0,170,170,4,3,0,32,8,3,0,32,1,0,144,0,12,3,0,32,1,0,152,0,78,2,0,144,1,0,152,0,82,2,0,144,2,0,154,0,117,0,170,170,18,3,0,32,20,3,0,32,1,0,144,0,22,3,0,32,1,0,152,0,85,2,0,144,1,0,152,0,88,2,0,144,2,0,73,0,117,0,170,170,28,3,0,32,30,3,0,32,1,0,144,0,32,3,0,32,2,0,152,0,170,0,170,170,91,2,0,144,99,2,0,144,2,0,152,0,170,0,170,170,104,2,0,144,109,2,0,144,2,0,73,0,117,0,170,170,38,3,0,32,42,3,0,32,1,0,144,0,46,3,0,32,2,0,152,0,170,0,170,170,113,2,0,144,131,2,0,144,1,0,73,0,52,3,0,32,1,0,144,0,56,3,0,32,1,0,152,0,137,2,0,144,1,0,73,0,60,3,0,32,1,0,144,0,62,3,0,32,1,0,152,0,143,2,0,144,1,0,154,0,66,3,0,32,1,0,144,0,68,3,0,32,1,0,152,0,146,2,0,144,1,0,152,0,151,2,0,144,1,0,152,0,154,2,0,144,3,0,73,0,154,0,117,0,72,3,0,32,74,3,0,32,76,3,0,32,1,0,144,0,78,3,0,32,1,0,152,0,158,2,0,144,1,0,117,0,85,3,0,32,1,0,144,0,87,3,0,32,2,0,152,0,170,0,170,170,161,2,0,144,0,0,0,0,1,0,73,0,91,3,0,32,1,0,144,0,95,3,0,32,2,0,152,0,170,0,170,170,169,2,0,144,177,2,0,144,2,0,152,0,170,0,170,170,183,2,0,144,16,0,0,96,2,0,73,0,117,0,170,170,99,3,0,32,103,3,0,32,1,0,144,0,107,3,0,32,2,0,152,0,170,0,170,170,187,2,0,144,0,0,0,0,1,0,73,0,113,3,0,32,1,0,144,0,117,3,0,32,2,0,152,0,170,0,170,170,194,2,0,144,202,2,0,144,1,0,152,0,209,2,0,144,2,0,73,0,117,0,170,170,121,3,0,32,125,3,0,32,1,0,144,0,127,3,0,32,2,0,152,0,170,0,170,170,212,2,0,144,219,2,0,144,1,0,152,0,225,2,0,144,2,0,73,0,117,0,170,170,133,3,0,32,137,3,0,32,1,0,144,0,139,3,0,32,2,0,152,0,170,0,170,170,228,2,0,144,0,0,0,0,2,0,152,0,170,0,170,170,238,2,0,144,0,0,0,0,2,0,73,0,117,0,170,170,145,3,0,32,149,3,0,32,1,0,144,0,153,3,0,32,1,0,152,0,243,2,0,144,1,0,152,0,251,2,0,144,2,0,73,0,117,0,170,170,159,3,0,32,161,3,0,32,1,0,144,0,163,3,0,32,1,0,152,0,255,2,0,144,1,0,152,0,2,3,0,144,1,0,152,0,5,3,0,144,3,0,73,0,154,0,117,0,169,3,0,32,171,3,0,32,173,3,0,32,1,0,144,0,175,3,0,32,1,0,152,0,9,3,0,144,1,0,117,0,182,3,0,32,1,0,144,0,184,3,0,32,1,0,152,0,12,3,0,144,1,0,152,0,15,3,0,144,1,0,152,0,18,3,0,144,3,0,73,0,154,0,117,0,188,3,0,32,190,3,0,32,192,3,0,32,1,0,144,0,194,3,0,32,1,0,152,0,22,3,0,144,1,0,152,0,25,3,0,144,1,0,152,0,28,3,0,144,3,0,73,0,154,0,117,0,201,3,0,32,203,3,0,32,205,3,0,32,1,0,144,0,207,3,0,32,1,0,152,0,32,3,0,144,1,0,152,0,35,3,0,144,2,0,73,0,117,0,170,170,214,3,0,32,216,3,0,32,1,0,144,0,218,3,0,32,2,0,152,0,170,0,170,170,38,3,0,144,46,3,0,144,2,0,152,0,170,0,170,170,50,3,0,144,56,3,0,144,2,0,73,0,117,0,170,170,224,3,0,32,228,3,0,32,1,0,144,0,232,3,0,32,1,0,152,0,60,3,0,144,1,0,117,0,238,3,0,32,1,0,144,0,240,3,0,32,1,0,152,0,63,3,0,144,1,0,152,0,66,3,0,144,1,0,152,0,69,3,0,144,3,0,73,0,154,0,117,0,244,3,0,32,246,3,0,32,248,3,0,32,1,0,144,0,250,3,0,32,2,0,152,0,170,0,170,170,73,3,0,144,82,3,0,144,1,0,152,0,89,3,0,144,2,0,73,0,117,0,170,170,1,4,0,32,5,4,0,32,1,0,144,0,7,4,0,32,2,0,152,0,170,0,170,170,93,3,0,144,0,0,0,0,1,0,152,0,99,3,0,144,2,0,152,0,170,0,170,170,102,3,0,144,0,0,0,0,3,0,73,0,154,0,117,0,13,4,0,32,17,4,0,32,19,4,0,32,1,0,144,0,23,4,0,32,2,0,152,0,170,0,170,170,106,3,0,144,114,3,0,144,2,0,152,0,170,0,170,170,121,3,0,144,126,3,0,144,2,0,73,0,117,0,170,170,30,4,0,32,34,4,0,32,1,0,144,0,38,4,0,32,1,0,152,0,130,3,0,144,1,0,152,0,137,3,0,144,2,0,73,0,117,0,170,170,44,4,0,32,46,4,0,32,1,0,144,0,48,4,0,32,2,0,152,0,170,0,170,170,141,3,0,144,149,3,0,144,2,0,152,0,170,0,170,170,154,3,0,144,159,3,0,144,2,0,73,0,117,0,170,170,54,4,0,32,58,4,0,32,1,0,144,0,62,4,0,32,1,0,152,0,163,3,0,144,1,0,152,0,166,3,0,144,1,0,152,0,169,3,0,144,3,0,73,0,154,0,117,0,68,4,0,32,70,4,0,32,72,4,0,32,1,0,144,0,74,4,0,32,2,0,152,0,170,0,170,170,172,3,0,144,181,3,0,144,1,0,73,0,81,4,0,32,1,0,144,0,85,4,0,32,2,0,152,0,170,0,170,170,186,3,0,144,0,0,0,0,1,0,73,0,89,4,0,32,1,0,144,0,93,4,0,32,2,0,152,0,170,0,170,170,193,3,0,144,0,0,0,0,1,0,73,0,97,4,0,32,1,0,144,0,101,4,0,32,2,0,152,0,170,0,170,170,201,3,0,144,209,3,0,144,1,0,152,0,216,3,0,144,2,0,73,0,117,0,170,170,105,4,0,32,109,4,0,32,1,0,144,0,111,4,0,32,2,0,152,0,170,0,170,170,220,3,0,144,0,0,0,0,1,0,152,0,223,3,0,144,2,0,73,0,117,0,170,170,117,4,0,32,121,4,0,32,1,0,144,0,123,4,0,32,2,0,152,0,170,0,170,170,226,3,0,144,0,0,0,0,1,0,73,0,129,4,0,32,1,0,144,0,133,4,0,32,49,0,141,0,167,0,176,0,179,0,182,0,185,0,188,0,60,0,191,0,138,0,194,0,197,0,124,0,200,0,203,0,206,0,209,0,212,0,215,0,218,0,221,0,224,0,227,0,230,0,233,0,236,0,239,0,242,0,245,0,248,0,251,0,254,0,1,1,4,1,7,1,10,1,13,1,16,1,19,1,22,1,25,1,28,1,31,1,45,0,34,1,37,1,40,1,43,1,46,1,142,2,0,32,157,2,0,32,165,2,0,32,177,2,0,32,183,2,0,32,197,2,0,32,210,2,0,32,220,2,0,32,232,2,0,32,238,2,0,32,244,2,0,32,252,2,0,32,2,3,0,32,16,3,0,32,26,3,0,32,36,3,0,32,50,3,0,32,58,3,0,32,64,3,0,32,70,3,0,32,83,3,0,32,89,3,0,32,97,3,0,32,111,3,0,32,119,3,0,32,131,3,0,32,143,3,0,32,157,3,0,32,167,3,0,32,180,3,0,32,186,3,0,32,199,3,0,32,212,3,0,32,222,3,0,32,236,3,0,32,242,3,0,32,255,3,0,32,11,4,0,32,28,4,0,32,42,4,0,32,52,4,0,32,66,4,0,32,79,4,0,32,87,4,0,32,95,4,0,32,103,4,0,32,115,4,0,32,127,4,0,32,135,4,0,32,2,0,48,0,132,0,170,170,129,2,0,32,137,4,0,32,1,0,32,0,211,4,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,32,7,0,0,0,11,0,0,0,14,0,0,0,14,0,0,0,1,0,0,0,1,0,0,0,12,0,0,0,83,116,97,110,100,97,114,100,73,67,85,0,0,0,170,170,1,0,32,0,0,0,0,128,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,13,0,0,80,7,0,0,0,17,0,0,0,27,0,0,0,27,0,0,0,3,0,0,0,1,0,0,0,27,0,0,0,67,76,68,82,86,101,114,115,105,111,110,0,68,97,116,97,86,101,114,115,105,111,110,0,73,67,85,86,101,114,115,105,111,110,0,170,0,0,52,0,50,0,0,0,55,0,50,0,46,0,49,0,46,0,48,0,46,0,48,0,0,0,3,0,32,0,44,0,56,0,1,0,4,0,4,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,253,6,0,32,7,0,0,0,65,3,0,0,7,7,0,0,7,7,0,0,49,1,0,0,1,0,0,0,115,6,0,0,98,99,112,84,121,112,101,65,108,105,97,115,0,99,97,0,105,115,108,97,109,105,99,99,0,107,101,121,73,110,102,111,0,100,101,112,114,101,99,97,116,101,100,0,107,104,0,118,116,0,118,97,108,117,101,84,121,112,101,0,100,120,0,104,48,0,120,48,0,107,101,121,77,97,112,0,99,97,108,101,110,100,97,114,0,99,111,108,97,108,116,101,114,110,97,116,101,0,99,111,108,98,97,99,107,119,97,114,100,115,0,99,111,108,99,97,115,101,102,105,114,115,116,0,99,111,108,99,97,115,101,108,101,118,101,108,0,99,111,108,104,105,114,97,103,97,110,97,113,117,97,116,101,114,110,97,114,121,0,99,111,108,108,97,116,105,111,110,0,99,111,108,110,111,114,109,97,108,105,122,97,116,105,111,110,0,99,111,108,110,117,109,101,114,105,99,0,99,111,108,114,101,111,114,100,101,114,0,99,111,108,115,116,114,101,110,103,116,104,0,99,117,114,114,101,110,99,121,0,100,48,0,102,119,0,104,111,117,114,115,0,105,48,0,107,48,0,107,118,0,108,98,0,108,119,0,109,48,0,109,101,97,115,117,114,101,0,109,117,0,110,117,109,98,101,114,115,0,115,48,0,116,48,0,116,105,109,101,122,111,110,101,0,118,97,114,105,97,98,108,101,116,111,112,0,116,121,112,101,65,108,105,97,115,0,113,117,97,114,116,101,114,110,97,114,121,0,116,121,112,101,73,110,102,111,0,99,111,0,100,105,114,101,99,116,0,99,97,109,116,114,0,116,121,112,101,77,97,112,0,98,117,100,100,104,105,115,116,0,99,104,105,110,101,115,101,0,99,111,112,116,105,99,0,100,97,110,103,105,0,101,116,104,105,111,112,105,99,0,101,116,104,105,111,112,105,99,45,97,109,101,116,101,45,97,108,101,109,0,103,114,101,103,111,114,105,97,110,0,104,101,98,114,101,119,0,105,110,100,105,97,110,0,105,115,108,97,109,105,99,0,105,115,108,97,109,105,99,45,99,105,118,105,108,0,105,115,108,97,109,105,99,45,114,103,115,97,0,105,115,108,97,109,105,99,45,116,98,108,97,0,105,115,108,97,109,105,99,45,117,109,97,108,113,117,114,97,0,105,115,111,56,54,48,49,0,106,97,112,97,110,101,115,101,0,112,101,114,115,105,97,110,0,114,111,99,0,97,99,99,111,117,110,116,0,115,116,97,110,100,97,114,100,0,110,111,110,45,105,103,110,111,114,97,98,108,101,0,115,104,105,102,116,101,100,0,121,101,115,0,108,111,119,101,114,0,117,112,112,101,114,0,98,105,103,53,104,97,110,0,99,111,109,112,97,116,0,100,105,99,116,105,111,110,97,114,121,0,100,117,99,101,116,0,101,109,111,106,105,0,103,98,50,51,49,50,104,97,110,0,112,104,111,110,101,98,111,111,107,0,112,104,111,110,101,116,105,99,0,112,105,110,121,105,110,0,114,101,102,111,114,109,101,100,0,115,101,97,114,99,104,0,115,101,97,114,99,104,106,108,0,115,116,114,111,107,101,0,116,114,97,100,105,116,105,111,110,97,108,0,117,110,105,104,97,110,0,122,104,117,121,105,110,0,82,69,79,82,68,69,82,95,67,79,68,69,0,100,105,103,105,116,0,112,117,110,99,116,0,115,112,97,99,101,0,115,121,109,98,111,108,0,105,100,101,110,116,105,99,97,108,0,112,114,105,109,97,114,121,0,115,101,99,111,110,100,97,114,121,0,116,101,114,116,105,97,114,121,0,97,100,112,0,97,101,100,0,97,102,97,0,97,102,110,0,97,108,107,0,97,109,100,0,97,110,103,0,97,111,97,0,97,111,107,0,97,111,110,0,97,111,114,0,97,114,108,0,97,114,109,0,97,114,112,0,97,114,115,0,97,116,115,0,97,117,100,0,97,119,103,0,97,122,109,0,97,122,110,0,98,97,100,0,98,97,109,0,98,97,110,0,98,98,100,0,98,100,116,0,98,101,99,0,98,101,102,0,98,101,108,0,98,103,108,0,98,103,109,0,98,103,110,0,98,103,111,0,98,104,100,0,98,105,102,0,98,109,100,0,98,110,100,0,98,111,98,0,98,111,112,0,98,111,118,0,98,114,98,0,98,114,99,0,98,114,101,0,98,114,108,0,98,114,110,0,98,114,114,0,98,114,122,0,98,115,100,0,98,116,110,0,98,117,107,0,98,119,112,0,98,121,98,0,98,121,110,0,98,121,114,0,98,122,100,0,99,97,100,0,99,100,102,0,99,104,101,0,99,104,102,0,99,104,119,0,99,108,101,0,99,108,102,0,99,108,112,0,99,110,104,0,99,110,120,0,99,110,121,0,99,111,112,0,99,111,117,0,99,114,99,0,99,115,100,0,99,115,107,0,99,117,99,0,99,117,112,0,99,118,101,0,99,121,112,0,99,122,107,0,100,100,109,0,100,101,109,0,100,106,102,0,100,107,107,0,100,111,112,0,100,122,100,0,101,99,115,0,101,99,118,0,101,101,107,0,101,103,112,0,101,114,110,0,101,115,97,0,101,115,98,0,101,115,112,0,101,116,98,0,101,117,114,0,102,105,109,0,102,106,100,0,102,107,112,0,102,114,102,0,103,98,112,0,103,101,107,0,103,101,108,0,103,104,99,0,103,104,115,0,103,105,112,0,103,109,100,0,103,110,102,0,103,110,115,0,103,113,101,0,103,114,100,0,103,116,113,0,103,119,101,0,103,119,112,0,103,121,100,0,104,107,100,0,104,110,108,0,104,114,107,0,104,116,103,0,104,117,102,0,105,100,114,0,105,101,112,0,105,108,112,0,105,108,114,0,105,108,115,0,105,110,114,0,105,113,100,0,105,114,114,0,105,115,106,0,105,115,107,0,105,116,108,0,106,109,100,0,106,111,100,0,106,112,121,0,107,101,115,0,107,103,115,0,107,104,114,0,107,109,102,0,107,112,119,0,107,114,104,0,107,114,111,0,107,114,119,0,107,119,100,0,107,121,100,0,107,122,116,0,108,97,107,0,108,98,112,0,108,107,114,0,108,114,100,0,108,115,108,0,108,116,108,0,108,116,116,0,108,117,99,0,108,117,102,0,108,117,108,0,108,118,108,0,108,118,114,0,108,121,100,0,109,97,100,0,109,97,102,0,109,99,102,0,109,100,99,0,109,100,108,0,109,103,97,0,109,103,102,0,109,107,100,0,109,107,110,0,109,108,102,0,109,109,107,0,109,110,116,0,109,111,112,0,109,114,111,0,109,114,117,0,109,116,108,0,109,116,112,0,109,117,114,0,109,118,112,0,109,118,114,0,109,119,107,0,109,120,110,0,109,120,112,0,109,120,118,0,109,121,114,0,109,122,101,0,109,122,109,0,109,122,110,0,110,97,100,0,110,103,110,0,110,105,99,0,110,105,111,0,110,108,103,0,110,111,107,0,110,112,114,0,110,122,100,0,111,109,114,0,112,97,98,0,112,101,105,0,112,101,110,0,112,101,115,0,112,103,107,0,112,104,112,0,112,107,114,0,112,108,110,0,112,108,122,0,112,116,101,0,112,121,103,0,113,97,114,0,114,104,100,0,114,111,108,0,114,111,110,0,114,115,100,0,114,117,98,0,114,117,114,0,114,119,102,0,115,97,114,0,115,98,100,0,115,99,114,0,115,100,100,0,115,100,103,0,115,100,112,0,115,101,107,0,115,103,100,0,115,104,112,0,115,105,116,0,115,107,107,0,115,108,101,0,115,108,108,0,115,111,115,0,115,114,100,0,115,114,103,0,115,115,112,0,115,116,100,0,115,116,110,0,115,117,114,0,115,118,99,0,115,121,112,0,115,122,108,0,116,104,98,0,116,106,114,0,116,106,115,0,116,109,109,0,116,109,116,0,116,110,100,0,116,112,101,0,116,114,108,0,116,114,121,0,116,116,100,0,116,119,100,0,116,122,115,0,117,97,104,0,117,97,107,0,117,103,115,0,117,103,120,0,117,115,100,0,117,115,110,0,117,115,115,0,117,121,105,0,117,121,112,0,117,121,117,0,117,121,119,0,117,122,115,0,118,101,98,0,118,101,100,0,118,101,102,0,118,101,115,0,118,110,100,0,118,110,110,0,118,117,118,0,119,115,116,0,120,97,102,0,120,97,103,0,120,97,117,0,120,98,97,0,120,98,98,0,120,98,99,0,120,98,100,0,120,99,100,0,120,100,114,0,120,101,117,0,120,102,111,0,120,102,117,0,120,111,102,0,120,112,100,0,120,112,102,0,120,112,116,0,120,114,101,0,120,115,117,0,120,116,115,0,120,117,97,0,120,120,120,0,121,100,100,0,121,101,114,0,121,117,100,0,121,117,109,0,121,117,110,0,121,117,114,0,122,97,108,0,122,97,114,0,122,109,107,0,122,109,119,0,122,114,110,0,122,114,122,0,122,119,100,0,122,119,108,0,122,119,114,0,97,99,99,101,110,116,115,0,97,115,99,105,105,0,99,97,115,101,102,111,108,100,0,102,99,99,0,102,99,100,0,102,117,108,108,119,105,100,116,104,0,104,97,108,102,119,105,100,116,104,0,104,101,120,0,109,111,114,115,101,0,110,97,109,101,0,110,102,99,0,110,102,100,0,110,102,107,99,0,110,102,107,100,0,110,117,108,108,0,110,117,109,101,114,105,99,80,105,110,121,105,110,0,112,117,98,108,105,115,104,105,110,103,0,114,101,109,111,118,101,0,116,105,116,108,101,0,122,97,119,103,121,105,0,83,67,82,73,80,84,95,67,79,68,69,0,100,101,102,97,117,108,116,0,116,101,120,116,0,102,114,105,0,109,111,110,0,115,97,116,0,115,117,110,0,116,104,117,0,116,117,101,0,119,101,100,0,104,121,98,114,105,100,0,104,49,49,0,104,49,50,0,104,50,51,0,104,50,52,0,104,97,110,100,119,114,105,116,0,119,117,98,105,0,49,48,49,107,101,121,0,49,48,50,107,101,121,0,54,48,48,100,112,105,0,55,54,56,100,112,105,0,97,110,100,114,111,105,100,0,97,122,101,114,116,121,0,99,104,114,111,109,101,111,115,0,99,111,108,101,109,97,107,0,100,118,111,114,97,107,0,100,118,111,114,97,107,108,0,100,118,111,114,97,107,114,0,101,108,50,50,48,0,101,108,51,49,57,0,101,120,116,101,110,100,101,100,0,103,111,111,103,108,101,118,107,0,105,115,105,114,105,0,108,101,103,97,99,121,0,108,116,49,50,48,53,0,108,116,49,53,56,50,0,110,117,116,97,97,113,0,111,115,120,0,112,97,116,116,97,0,113,119,101,114,116,121,0,113,119,101,114,116,122,0,116,97,57,57,0,118,97,114,0,118,105,113,114,0,119,105,110,100,111,119,115,0,108,111,111,115,101,0,110,111,114,109,97,108,0,115,116,114,105,99,116,0,98,114,101,97,107,97,108,108,0,107,101,101,112,97,108,108,0,112,104,114,97,115,101,0,97,101,116,104,105,111,112,105,0,97,108,97,108,111,99,0,98,101,116,97,45,109,101,116,115,101,104,97,102,0,98,117,99,107,119,97,108,116,0,99,115,115,0,101,115,51,56,52,50,0,101,119,116,115,0,103,111,115,116,0,103,117,114,97,103,101,0,103,117,116,103,97,114,116,115,0,105,97,115,116,0,105,101,115,45,106,101,115,0,105,115,111,0,106,97,118,97,0,108,97,109,98,100,105,110,0,109,99,115,116,0,109,110,115,0,110,97,109,101,115,0,112,101,114,99,101,110,116,0,112,101,114,108,0,112,108,97,105,110,0,115,97,116,116,115,0,115,101,114,97,0,116,101,107,105,101,45,97,108,105,98,101,107,105,116,0,117,110,103,101,103,110,0,117,110,105,99,111,100,101,0,120,97,108,101,103,101,116,0,120,109,108,0,120,109,108,49,48,0,105,109,112,101,114,105,97,108,0,109,101,116,114,105,99,0,117,115,115,121,115,116,101,109,0,99,101,108,115,105,117,115,0,102,97,104,114,101,110,104,101,0,107,101,108,118,105,110,0,97,100,108,109,0,97,104,111,109,0,97,114,97,98,0,97,114,97,98,101,120,116,0,97,114,109,110,0,97,114,109,110,108,111,119,0,98,97,108,105,0,98,101,110,103,0,98,104,107,115,0,98,114,97,104,0,99,97,107,109,0,99,104,97,109,0,99,121,114,108,0,100,101,118,97,0,100,105,97,107,0,101,116,104,105,0,102,105,110,97,110,99,101,0,102,117,108,108,119,105,100,101,0,103,101,111,114,0,103,111,110,103,0,103,111,110,109,0,103,114,101,107,0,103,114,101,107,108,111,119,0,103,117,106,114,0,103,117,114,117,0,104,97,110,105,100,97,121,115,0,104,97,110,105,100,101,99,0,104,97,110,115,0,104,97,110,115,102,105,110,0,104,97,110,116,0,104,97,110,116,102,105,110,0,104,101,98,114,0,104,109,110,103,0,104,109,110,112,0,106,112,97,110,0,106,112,97,110,102,105,110,0,106,112,97,110,121,101,97,114,0,107,97,108,105,0,107,97,119,105,0,107,104,109,114,0,107,110,100,97,0,108,97,110,97,0,108,97,110,97,116,104,97,109,0,108,97,111,111,0,108,97,116,110,0,108,101,112,99,0,108,105,109,98,0,109,97,116,104,98,111,108,100,0,109,97,116,104,100,98,108,0,109,97,116,104,109,111,110,111,0,109,97,116,104,115,97,110,98,0,109,97,116,104,115,97,110,115,0,109,108,121,109,0,109,111,100,105,0,109,111,110,103,0,109,114,111,111,0,109,116,101,105,0,109,121,109,114,0,109,121,109,114,115,104,97,110,0,109,121,109,114,116,108,110,103,0,110,97,103,109,0,110,97,116,105,118,101,0,110,101,119,97,0,110,107,111,111,0,111,108,99,107,0,111,114,121,97,0,111,115,109,97,0,114,111,104,103,0,114,111,109,97,110,0,114,111,109,97,110,108,111,119,0,115,97,117,114,0,115,101,103,109,101,110,116,0,115,104,114,100,0,115,105,110,100,0,115,105,110,104,0,115,111,114,97,0,115,117,110,100,0,116,97,107,114,0,116,97,108,117,0,116,97,109,108,0,116,97,109,108,100,101,99,0,116,101,108,117,0,116,104,97,105,0,116,105,98,116,0,116,105,114,104,0,116,110,115,97,0,118,97,105,105,0,119,97,114,97,0,119,99,104,111,0,82,71,95,75,69,89,95,86,65,76,85,69,0,83,85,66,68,73,86,73,83,73,79,78,95,67,79,68,69,0,110,111,110,101,0,112,111,115,105,120,0,67,79,68,69,80,79,73,78,84,83,0,80,82,73,86,65,84,69,95,85,83,69,0,170,170,170,0,0,99,0,97,0,0,0,99,0,111,0,0,0,99,0,117,0,0,0,104,0,99,0,0,0,107,0,97,0,0,0,107,0,98,0,0,0,107,0,99,0,0,0,107,0,102,0,0,0,107,0,104,0,0,0,107,0,107,0,0,0,107,0,110,0,0,0,107,0,114,0,0,0,107,0,115,0,0,0,109,0,115,0,0,0,110,0,117,0,0,0,116,0,122,0,0,0,118,0,116,0,0,0,97,0,110,0,121,0,0,0,99,0,49,0,49,0,0,0,116,0,114,0,117,0,101,0,0,0,100,0,105,0,99,0,116,0,0,0,116,0,114,0,97,0,100,0,0,0,102,0,97,0,108,0,115,0,101,0,0,0,102,0,119,0,105,0,100,0,116,0,104,0,0,0,103,0,98,0,50,0,51,0,49,0,50,0,0,0,104,0,119,0,105,0,100,0,116,0,104,0,0,0,105,0,101,0,115,0,106,0,101,0,115,0,0,0,108,0,101,0,118,0,101,0,108,0,49,0,0,0,108,0,101,0,118,0,101,0,108,0,50,0,0,0,108,0,101,0,118,0,101,0,108,0,51,0,0,0,108,0,101,0,118,0,101,0,108,0,52,0,0,0,115,0,105,0,110,0,103,0,108,0,101,0,0,0,110,0,112,0,105,0,110,0,121,0,105,0,110,0,0,0,112,0,117,0,98,0,108,0,105,0,115,0,104,0,0,0,101,0,116,0,104,0,105,0,111,0,97,0,97,0,0,0,103,0,114,0,101,0,103,0,111,0,114,0,121,0,0,0,105,0,100,0,101,0,110,0,116,0,105,0,99,0,0,0,112,0,104,0,111,0,110,0,101,0,98,0,107,0,0,0,109,0,117,0,108,0,116,0,105,0,112,0,108,0,101,0,0,0,98,0,101,0,116,0,97,0,109,0,101,0,116,0,115,0,0,0,99,0,104,0,97,0,114,0,110,0,97,0,109,0,101,0,0,0,110,0,111,0,105,0,103,0,110,0,111,0,114,0,101,0,0,0,112,0,114,0,112,0,114,0,110,0,97,0,109,0,101,0,0,0,116,0,101,0,107,0,105,0,101,0,97,0,108,0,105,0,0,0,116,0,114,0,97,0,100,0,105,0,116,0,105,0,111,0,0,0,117,0,107,0,115,0,121,0,115,0,116,0,101,0,109,0,0,0,113,0,117,0,97,0,116,0,101,0,114,0,110,0,97,0,114,0,121,0,0,0,105,0,110,0,99,0,114,0,101,0,109,0,101,0,110,0,116,0,97,0,108,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,45,0,99,0,105,0,118,0,105,0,108,0,0,0,1,0,48,0,31,1,2,0,76,0,79,0,60,0,60,0,6,0,45,0,92,0,95,0,80,6,79,0,98,0,19,1,192,0,137,0,192,0,192,0,52,0,37,0,108,0,172,5,117,0,130,0,143,0,156,0,169,0,191,0,201,0,218,0,229,0,240,0,252,0,5,1,92,0,153,10,8,1,95,0,11,1,17,1,20,1,23,1,26,1,29,1,32,1,35,1,43,1,46,1,192,6,54,1,32,7,40,7,57,1,60,1,253,10,69,1,98,0,1,0,0,0,13,0,16,0,22,0,19,0,25,0,4,0,28,0,31,0,34,0,37,0,7,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,49,0,0,0,1,0,91,1,8,1,1,0,115,1,60,0,1,0,122,1,60,0,18,0,136,1,145,1,153,1,160,1,166,1,175,1,195,1,205,1,212,1,219,1,227,1,241,1,254,1,11,2,28,2,36,2,45,2,53,2,0,0,0,0,0,0,0,0,0,0,160,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,57,2,65,2,0,0,0,0,2,0,74,2,88,2,219,0,0,0,2,0,222,11,96,2,75,0,60,0,3,0,100,2,222,11,106,2,0,0,75,0,0,0,2,0,222,11,96,2,75,0,60,0,2,0,222,11,96,2,75,0,60,0,19,0,112,2,120,2,127,2,115,1,138,2,144,2,28,11,150,2,160,2,170,2,179,2,186,2,195,2,202,2,65,2,211,2,218,2,230,2,237,2,0,0,0,0,65,0,0,0,0,0,0,0,0,0,88,0,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,0,0,2,0,222,11,96,2,75,0,60,0,2,0,222,11,96,2,75,0,60,0,6,0,244,2,252,0,1,3,7,3,13,3,19,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,26,3,36,3,180,0,44,3,54,3,176,0,109,0,130,0,116,0,123,0,49,1,63,3,67,3,71,3,75,3,79,3,177,9,83,3,87,3,91,3,95,3,99,3,103,3,184,12,107,3,111,3,115,3,119,3,123,3,127,3,131,3,135,3,139,3,143,3,147,3,151,3,155,3,159,3,163,3,167,3,171,3,175,3,179,3,183,3,187,3,191,3,195,3,199,3,203,3,207,3,22,3,211,3,215,3,219,3,223,3,227,3,231,3,235,3,239,3,243,3,247,3,251,3,255,3,3,4,7,4,11,4,15,4,19,4,23,4,27,4,31,4,35,4,39,4,43,4,47,4,51,4,55,4,59,4,63,4,67,4,71,4,75,4,79,4,83,4,87,4,91,4,95,4,99,4,103,4,107,4,111,4,115,4,119,4,123,4,127,4,131,4,135,4,139,4,143,4,147,4,151,4,155,4,159,4,163,4,167,4,171,4,175,4,179,4,183,4,187,4,191,4,195,4,199,4,203,4,207,4,211,4,215,4,219,4,223,4,227,4,231,4,235,4,239,4,243,4,247,4,251,4,106,12,255,4,3,5,7,5,11,5,15,5,19,5,23,5,27,5,31,5,35,5,39,5,43,5,47,5,51,5,55,5,59,5,63,5,67,5,71,5,75,5,79,5,83,5,87,5,91,5,95,5,99,5,103,5,107,5,111,5,115,5,119,5,123,5,127,5,131,5,135,5,139,5,143,5,147,5,151,5,155,5,159,5,163,5,167,5,171,5,175,5,179,5,183,5,187,5,191,5,195,5,199,5,203,5,207,5,211,5,215,5,219,5,223,5,227,5,231,5,235,5,239,5,243,5,247,5,251,5,255,5,3,6,7,6,11,6,15,6,19,6,23,6,27,6,31,6,35,6,39,6,43,6,47,6,51,6,55,6,59,6,63,6,67,6,71,6,75,6,79,6,83,6,87,6,91,6,95,6,99,6,103,6,107,6,111,6,115,6,119,6,123,6,127,6,131,6,135,6,139,6,143,6,147,6,151,6,155,6,159,6,163,6,167,6,171,6,175,6,179,6,183,6,187,6,191,6,195,6,199,6,203,6,207,6,211,6,215,6,219,6,223,6,227,6,231,6,235,6,239,6,243,6,77,1,247,6,251,6,255,6,3,7,7,7,11,7,15,7,19,7,23,7,27,7,31,7,35,7,39,7,43,7,47,7,51,7,55,7,59,7,63,7,67,7,71,7,75,7,79,7,83,7,87,7,91,7,95,7,99,7,103,7,107,7,111,7,115,7,119,7,123,7,127,7,131,7,135,7,139,7,143,7,147,7,151,7,155,7,159,7,163,7,167,7,171,7,175,7,179,7,183,7,187,7,191,7,195,7,199,7,203,7,207,7,211,7,215,7,219,7,223,7,227,7,231,7,235,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,239,7,247,7,253,7,1,3,6,8,10,8,14,8,24,8,34,8,100,2,38,8,44,8,49,8,53,8,57,8,62,8,67,8,72,8,86,8,97,8,104,8,106,2,110,8,0,0,0,0,0,0,0,0,0,0,0,0,81,0,95,0,0,0,0,0,0,0,210,0,0,0,0,0,0,0,0,0,0,0,144,0,152,0,0,0,0,0,0,0,0,0,1,0,117,8,0,0,3,0,129,8,144,2,137,8,0,0,0,0,0,0,7,0,142,8,146,8,150,8,154,8,158,8,162,8,166,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,170,8,0,0,4,0,177,8,181,8,185,8,189,8,0,0,0,0,0,0,0,0,4,0,193,8,179,2,126,12,202,8,0,0,0,0,0,0,0,0,29,0,207,8,214,8,221,8,228,8,235,8,243,8,250,8,3,9,11,9,18,9,26,9,34,9,40,9,46,9,55,9,64,9,70,9,77,9,84,9,91,9,98,9,102,9,108,9,115,9,122,9,126,12,127,9,131,9,136,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,252,0,7,3,13,3,19,3,0,0,0,0,0,0,0,0,3,0,144,9,150,9,157,9,0,0,0,0,0,0,4,0,164,9,173,9,150,9,181,9,0,0,0,0,0,0,0,0,32,0,188,9,197,9,204,9,183,3,218,9,213,6,227,9,34,10,231,9,238,9,243,9,248,9,255,9,8,10,13,10,21,10,25,10,30,10,38,10,43,10,47,10,53,10,61,10,66,10,72,10,78,10,83,10,98,10,105,10,113,10,121,10,125,10,0,0,0,0,201,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,0,0,0,0,228,0,0,0,0,0,0,0,0,0,0,0,237,0,0,0,0,0,0,0,0,0,0,0,3,0,131,10,140,10,147,10,255,0,0,0,0,0,3,0,156,10,164,10,173,10,0,0,0,0,0,0,91,0,180,10,185,10,190,10,195,10,203,10,208,10,216,10,221,10,226,10,231,10,236,10,241,10,246,10,251,10,0,11,5,11,10,11,18,11,27,11,32,11,37,11,42,11,47,11,55,11,60,11,65,11,74,11,82,11,87,11,95,11,100,11,108,11,113,11,118,11,25,10,123,11,128,11,136,11,145,11,150,11,155,11,160,11,165,11,170,11,179,11,184,11,189,11,194,11,199,11,208,11,216,11,225,11,234,11,243,11,248,11,253,11,2,12,7,12,12,12,17,12,26,12,35,12,40,12,47,12,52,12,57,12,62,12,67,12,72,12,77,12,83,12,92,12,97,12,105,12,110,12,115,12,120,12,125,12,130,12,135,12,140,12,145,12,153,12,158,12,163,12,168,12,173,12,218,2,178,12,183,12,188,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,0,0,0,0,0,0,0,1,0,193,12,0,0,7,0,239,7,247,7,34,8,38,8,72,8,86,8,110,8,0,0,0,0,0,0,0,0,144,0,152,0,0,0,1,0,206,12,0,0,2,0,223,12,65,2,0,0,0,0,1,0,126,12,0,0,1,0,228,12,0,0,1,0,234,12,0,0,1,0,245,12,0,0,38,0,0,0,47,0,73,0,67,0,85,0,68,0,65,0,84,0,65,0,47,0,116,0,105,0,109,0,101,0,122,0,111,0,110,0,101,0,84,0,121,0,112,0,101,0,115,0,47,0,98,0,99,0,112,0,84,0,121,0,112,0,101,0,65,0,108,0,105,0,97,0,115,0,47,0,116,0,122,0,0,0,170,170,2,0,45,0,119,9,170,170,45,1,0,80,115,6,0,48,2,0,65,0,82,0,170,170,48,1,0,80,53,1,0,80,41,0,0,0,47,0,73,0,67,0,85,0,68,0,65,0,84,0,65,0,47,0,116,0,105,0,109,0,101,0,122,0,111,0,110,0,101,0,84,0,121,0,112,0,101,0,115,0,47,0,116,0,121,0,112,0,101,0,65,0,108,0,105,0,97,0,115,0,47,0,116,0,105,0,109,0,101,0,122,0,111,0,110,0,101,0,0,0,2,0,240,0,60,1,170,170,141,1,0,80,144,6,0,48,2,0,112,1,119,9,170,170,144,1,0,80,147,1,0,80,1,0,65,0,170,6,0,32,39,0,0,0,47,0,73,0,67,0,85,0,68,0,65,0,84,0,65,0,47,0,116,0,105,0,109,0,101,0,122,0,111,0,110,0,101,0,84,0,121,0,112,0,101,0,115,0,47,0,116,0,121,0,112,0,101,0,77,0,97,0,112,0,47,0,116,0,105,0,109,0,101,0,122,0,111,0,110,0,101,0,0,0,37,0,108,0,172,5,117,0,130,0,143,0,156,0,169,0,191,0,201,0,218,0,229,0,240,0,252,0,5,1,92,0,153,10,8,1,95,0,11,1,17,1,20,1,23,1,26,1,29,1,32,1,35,1,43,1,46,1,192,6,54,1,32,7,40,7,57,1,60,1,253,10,69,1,98,0,150,1,0,80,187,1,0,80,192,1,0,80,197,1,0,80,202,1,0,80,209,1,0,80,214,1,0,80,219,1,0,80,2,2,0,80,7,2,0,80,12,2,0,80,25,2,0,80,36,2,0,80,135,4,0,80,182,4,0,80,185,4,0,80,192,4,0,80,207,4,0,80,210,4,0,80,219,4,0,80,228,4,0,80,31,5,0,80,40,5,0,80,47,5,0,80,56,5,0,80,121,5,0,80,128,5,0,80,135,5,0,80,62,6,0,80,65,6,0,80,80,6,0,80,83,6,0,80,88,6,0,80,176,6,0,48,91,6,0,80,94,6,0,80,97,6,0,80,6,0,32,0,57,0,101,0,81,1,103,1,128,1,170,170,136,6,0,32,140,6,0,32,66,1,0,80,166,6,0,32,174,6,0,32,197,6,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,187,39,0,32,7,0,0,0,34,0,0,0,191,39,0,0,191,39,0,0,5,0,0,0,1,0,0,0,145,25,0,0,108,105,107,101,108,121,0,108,97,110,103,117,97,103,101,65,108,105,97,115,101,115,0,108,115,114,115,0,114,101,103,105,111,110,65,108,105,97,115,101,115,0,116,114,105,101,0,109,97,116,99,104,0,100,105,115,116,97,110,99,101,115,0,112,97,114,97,100,105,103,109,115,0,112,97,114,116,105,116,105,111,110,115,0,114,101,103,105,111,110,84,111,80,97,114,116,105,116,105,111,110,115,0,170,0,0,46,0,0,0,90,0,90,0,0,0,73,0,78,0,0,0,73,0,68,0,0,0,82,0,85,0,0,0,67,0,78,0,0,0,67,0,65,0,0,0,67,0,77,0,0,0,80,0,72,0,0,0,80,0,75,0,0,0,73,0,82,0,0,0,78,0,80,0,0,0,85,0,83,0,0,0,78,0,71,0,0,0,84,0,82,0,0,0,84,0,90,0,0,0,68,0,69,0,0,0,73,0,84,0,0,0,75,0,69,0,0,0,90,0,65,0,0,0,71,0,66,0,0,0,77,0,76,0,0,0,83,0,68,0,0,0,84,0,72,0,0,0,85,0,71,0,0,0,69,0,83,0,0,0,69,0,84,0,0,0,70,0,82,0,0,0,77,0,77,0,0,0,77,0,89,0,0,0,67,0,68,0,0,0,71,0,72,0,0,0,77,0,90,0,0,0,70,0,77,0,0,0,77,0,65,0,0,0,77,0,88,0,0,0,83,0,69,0,0,0,83,0,78,0,0,0,65,0,70,0,0,0,66,0,68,0,0,0,66,0,82,0,0,0,67,0,73,0,0,0,71,0,69,0,0,0,71,0,78,0,0,0,71,0,82,0,0,0,73,0,81,0,0,0,77,0,78,0,0,0,78,0,69,0,0,0,78,0,76,0,0,0,85,0,65,0,0,0,67,0,72,0,0,0,78,0,65,0,0,0,84,0,71,0,0,0,85,0,90,0,0,0,86,0,78,0,0,0,90,0,87,0,0,0,65,0,76,0,0,0,65,0,79,0,0,0,65,0,90,0,0,0,66,0,70,0,0,0,67,0,89,0,0,0,68,0,90,0,0,0,69,0,71,0,0,0,69,0,82,0,0,0,70,0,73,0,0,0,70,0,74,0,0,0,73,0,76,0,0,0,74,0,80,0,0,0,75,0,77,0,0,0,76,0,65,0,0,0,78,0,79,0,0,0,80,0,76,0,0,0,82,0,83,0,0,0,83,0,65,0,0,0,83,0,76,0,0,0,83,0,89,0,0,0,84,0,78,0,0,0,84,0,87,0,0,0,85,0,77,0,0,0,89,0,69,0,0,0,65,0,81,0,0,0,65,0,85,0,0,0,66,0,69,0,0,0,66,0,74,0,0,0,66,0,79,0,0,0,66,0,84,0,0,0,67,0,87,0,0,0,71,0,70,0,0,0,71,0,81,0,0,0,73,0,69,0,0,0,75,0,72,0,0,0,75,0,82,0,0,0,75,0,90,0,0,0,76,0,66,0,0,0,76,0,82,0,0,0,77,0,68,0,0,0,77,0,85,0,0,0,77,0,87,0,0,0,80,0,65,0,0,0,80,0,70,0,0,0,80,0,71,0,0,0,82,0,79,0,0,0,83,0,82,0,0,0,84,0,76,0,0,0,87,0,70,0,0,0,88,0,75,0,0,0,89,0,84,0,0,0,102,0,102,0,0,0,65,0,77,0,0,0,65,0,84,0,0,0,65,0,87,0,0,0,66,0,65,0,0,0,66,0,71,0,0,0,66,0,78,0,0,0,67,0,70,0,0,0,67,0,76,0,0,0,67,0,79,0,0,0,67,0,86,0,0,0,67,0,90,0,0,0,68,0,75,0,0,0,69,0,67,0,0,0,69,0,69,0,0,0,71,0,65,0,0,0,71,0,84,0,0,0,71,0,85,0,0,0,71,0,87,0,0,0,72,0,75,0,0,0,72,0,85,0,0,0,74,0,79,0,0,0,75,0,73,0,0,0,76,0,84,0,0,0,76,0,85,0,0,0,76,0,86,0,0,0,77,0,75,0,0,0,77,0,79,0,0,0,77,0,82,0,0,0,77,0,86,0,0,0,80,0,69,0,0,0,80,0,84,0,0,0,82,0,69,0,0,0,83,0,66,0,0,0,83,0,67,0,0,0,83,0,75,0,0,0,83,0,79,0,0,0,84,0,74,0,0,0,86,0,65,0,0,0,86,0,85,0,0,0,90,0,77,0,0,0,99,0,115,0,0,0,106,0,119,0,0,0,108,0,118,0,0,0,115,0,99,0,0,0,115,0,118,0,0,0,116,0,108,0,0,0,48,0,50,0,0,0,48,0,52,0,0,0,48,0,53,0,0,0,48,0,54,0,0,0,49,0,51,0,0,0,65,0,68,0,0,0,65,0,69,0,0,0,65,0,78,0,0,0,65,0,82,0,0,0,65,0,83,0,0,0,65,0,88,0,0,0,66,0,72,0,0,0,66,0,73,0,0,0,66,0,76,0,0,0,66,0,81,0,0,0,66,0,85,0,0,0,66,0,86,0,0,0,66,0,89,0,0,0,67,0,67,0,0,0,67,0,71,0,0,0,67,0,80,0,0,0,67,0,82,0,0,0,67,0,83,0,0,0,67,0,84,0,0,0,67,0,85,0,0,0,68,0,68,0,0,0,68,0,71,0,0,0,68,0,74,0,0,0,68,0,79,0,0,0,68,0,89,0,0,0,69,0,65,0,0,0,69,0,72,0,0,0,69,0,85,0,0,0,69,0,90,0,0,0,70,0,79,0,0,0,70,0,81,0,0,0,70,0,88,0,0,0,71,0,76,0,0,0,71,0,77,0,0,0,71,0,80,0,0,0,71,0,83,0,0,0,72,0,77,0,0,0,72,0,78,0,0,0,72,0,82,0,0,0,72,0,84,0,0,0,72,0,86,0,0,0,73,0,67,0,0,0,73,0,77,0,0,0,73,0,83,0,0,0,74,0,69,0,0,0,74,0,77,0,0,0,74,0,84,0,0,0,75,0,71,0,0,0,75,0,80,0,0,0,75,0,87,0,0,0,76,0,73,0,0,0,76,0,75,0,0,0,76,0,83,0,0,0,76,0,89,0,0,0,77,0,67,0,0,0,77,0,69,0,0,0,77,0,70,0,0,0,77,0,71,0,0,0,77,0,72,0,0,0,77,0,73,0,0,0,77,0,81,0,0,0,77,0,84,0,0,0,78,0,67,0,0,0,78,0,72,0,0,0,78,0,73,0,0,0,78,0,81,0,0,0,78,0,82,0,0,0,78,0,84,0,0,0,78,0,85,0,0,0,78,0,90,0,0,0,79,0,77,0,0,0,80,0,67,0,0,0,80,0,77,0,0,0,80,0,82,0,0,0,80,0,83,0,0,0,80,0,85,0,0,0,80,0,87,0,0,0,80,0,89,0,0,0,80,0,90,0,0,0,81,0,65,0,0,0,81,0,85,0,0,0,82,0,72,0,0,0,82,0,87,0,0,0,83,0,73,0,0,0,83,0,74,0,0,0,83,0,77,0,0,0,83,0,83,0,0,0,83,0,84,0,0,0,83,0,85,0,0,0,83,0,86,0,0,0,83,0,88,0,0,0,84,0,68,0,0,0,84,0,70,0,0,0,84,0,75,0,0,0,84,0,77,0,0,0,84,0,79,0,0,0,84,0,80,0,0,0,84,0,86,0,0,0,85,0,75,0,0,0,85,0,89,0,0,0,86,0,68,0,0,0,86,0,69,0,0,0,87,0,75,0,0,0,87,0,83,0,0,0,89,0,68,0,0,0,89,0,85,0,0,0,90,0,82,0,0,0,98,0,110,0,0,0,98,0,115,0,0,0,102,0,106,0,0,0,110,0,118,0,0,0,116,0,119,0,0,0,118,0,101,0,0,0,118,0,105,0,0,0,122,0,117,0,0,0,110,0,102,0,114,0,0,0,120,0,101,0,115,0,0,0,108,0,122,0,104,0,0,0,119,0,97,0,114,0,0,0,121,0,101,0,110,0,0,0,48,0,48,0,49,0,0,0,98,0,107,0,117,0,0,0,120,0,115,0,114,0,0,0,98,0,115,0,113,0,0,0,103,0,121,0,105,0,0,0,109,0,100,0,101,0,0,0,115,0,109,0,115,0,0,0,120,0,115,0,97,0,0,0,121,0,97,0,122,0,0,0,100,0,116,0,112,0,0,0,101,0,110,0,108,0,0,0,107,0,104,0,97,0,0,0,109,0,102,0,97,0,0,0,116,0,107,0,107,0,0,0,116,0,115,0,119,0,0,0,98,0,104,0,111,0,0,0,100,0,111,0,105,0,0,0,101,0,109,0,107,0,0,0,109,0,97,0,110,0,0,0,113,0,117,0,122,0,0,0,115,0,117,0,114,0,0,0,116,0,115,0,100,0,0,0,119,0,114,0,111,0,0,0,120,0,109,0,110,0,0,0,121,0,107,0,111,0,0,0,104,0,111,0,99,0,0,0,112,0,112,0,97,0,0,0,115,0,110,0,98,0,0,0,122,0,122,0,97,0,0,0,99,0,106,0,118,0,0,0,101,0,107,0,121,0,0,0,110,0,97,0,107,0,0,0,111,0,107,0,118,0,0,0,115,0,116,0,107,0,0,0,115,0,117,0,107,0,0,0,116,0,98,0,111,0,0,0,119,0,101,0,108,0,0,0,119,0,105,0,116,0,0,0,119,0,106,0,97,0,0,0,121,0,117,0,103,0,0,0,122,0,110,0,101,0,0,0,102,0,105,0,108,0,0,0,105,0,98,0,97,0,0,0,107,0,100,0,116,0,0,0,111,0,121,0,98,0,0,0,112,0,97,0,112,0,0,0,118,0,97,0,106,0,0,0,121,0,117,0,101,0,0,0,114,0,107,0,105,0,0,0,116,0,109,0,104,0,0,0,117,0,116,0,104,0,0,0,121,0,97,0,109,0,0,0,99,0,113,0,117,0,0,0,104,0,104,0,121,0,0,0,107,0,97,0,97,0,0,0,107,0,100,0,118,0,0,0,107,0,100,0,122,0,0,0,108,0,111,0,106,0,0,0,108,0,111,0,114,0,0,0,108,0,116,0,103,0,0,0,109,0,101,0,117,0,0,0,110,0,99,0,117,0,0,0,110,0,104,0,101,0,0,0,110,0,105,0,110,0,0,0,110,0,107,0,103,0,0,0,110,0,109,0,103,0,0,0,110,0,115,0,111,0,0,0,112,0,105,0,115,0,0,0,112,0,107,0,97,0,0,0,114,0,103,0,110,0,0,0,115,0,97,0,102,0,0,0,115,0,99,0,97,0,0,0,115,0,112,0,115,0,0,0,116,0,98,0,103,0,0,0,116,0,99,0,121,0,0,0,116,0,101,0,116,0,0,0,116,0,104,0,114,0,0,0,116,0,105,0,100,0,0,0,116,0,105,0,107,0,0,0,116,0,107,0,114,0,0,0,116,0,109,0,121,0,0,0,117,0,116,0,114,0,0,0,119,0,105,0,117,0,0,0,119,0,105,0,119,0,0,0,119,0,115,0,107,0,0,0,120,0,99,0,114,0,0,0,121,0,97,0,121,0,0,0,122,0,109,0,105,0,0,0,122,0,111,0,109,0,0,0,122,0,115,0,109,0,0,0,52,0,49,0,57,0,0,0,97,0,101,0,98,0,0,0,97,0,106,0,116,0,0,0,98,0,97,0,108,0,0,0,98,0,97,0,110,0,0,0,98,0,98,0,99,0,0,0,98,0,102,0,121,0,0,0,98,0,105,0,107,0,0,0,98,0,117,0,97,0,0,0,98,0,117,0,103,0,0,0,99,0,104,0,109,0,0,0,99,0,109,0,103,0,0,0,100,0,101,0,110,0,0,0,100,0,103,0,108,0,0,0,100,0,109,0,119,0,0,0,100,0,110,0,106,0,0,0,101,0,109,0,97,0,0,0,101,0,115,0,103,0,0,0,101,0,122,0,97,0,0,0,103,0,98,0,97,0,0,0,103,0,111,0,110,0,0,0,103,0,114,0,98,0,0,0,103,0,114,0,99,0,0,0,103,0,118,0,114,0,0,0,104,0,105,0,102,0,0,0,104,0,110,0,106,0,0,0,104,0,110,0,110,0,0,0,105,0,122,0,105,0,0,0,106,0,103,0,107,0,0,0,107,0,98,0,100,0,0,0,107,0,108,0,110,0,0,0,107,0,109,0,98,0,0,0,107,0,111,0,107,0,0,0,107,0,112,0,101,0,0,0,107,0,114,0,117,0,0,0,107,0,116,0,114,0,0,0,107,0,120,0,108,0,0,0,107,0,122,0,104,0,0,0,107,0,122,0,106,0,0,0,107,0,122,0,107,0,0,0,107,0,122,0,116,0,0,0,108,0,97,0,104,0,0,0,108,0,105,0,102,0,0,0,108,0,117,0,121,0,0,0,109,0,97,0,105,0,0,0,109,0,97,0,107,0,0,0,109,0,101,0,110,0,0,0,109,0,110,0,105,0,0,0,109,0,110,0,119,0,0,0,109,0,114,0,121,0,0,0,109,0,119,0,114,0,0,0,110,0,101,0,119,0,0,0,112,0,97,0,108,0,0,0,112,0,105,0,106,0,0,0,114,0,97,0,106,0,0,0,114,0,101,0,106,0,0,0,114,0,104,0,103,0,0,0,114,0,105,0,102,0,0,0,115,0,107,0,114,0,0,0,115,0,109,0,100,0,0,0,115,0,111,0,103,0,0,0,115,0,114,0,120,0,0,0,115,0,121,0,108,0,0,0,115,0,121,0,114,0,0,0,116,0,97,0,106,0,0,0,116,0,98,0,119,0,0,0,116,0,100,0,117,0,0,0,116,0,115,0,102,0,0,0,116,0,118,0,100,0,0,0,117,0,111,0,107,0,0,0,120,0,109,0,114,0,0,0,97,0,108,0,98,0,0,0,97,0,115,0,101,0,0,0,98,0,120,0,104,0,0,0,100,0,116,0,121,0,0,0,103,0,107,0,110,0,0,0,104,0,108,0,117,0,0,0,104,0,110,0,111,0,0,0,106,0,107,0,109,0,0,0,107,0,98,0,109,0,0,0,107,0,102,0,121,0,0,0,107,0,104,0,116,0,0,0,107,0,104,0,122,0,0,0,107,0,107,0,106,0,0,0,109,0,98,0,104,0,0,0,109,0,101,0,101,0,0,0,109,0,102,0,111,0,0,0,109,0,107,0,119,0,0,0,110,0,99,0,101,0,0,0,110,0,103,0,118,0,0,0,110,0,105,0,105,0,0,0,110,0,108,0,110,0,0,0,110,0,115,0,110,0,0,0,110,0,118,0,111,0,0,0,111,0,116,0,97,0,0,0,114,0,119,0,111,0,0,0,115,0,98,0,101,0,0,0,115,0,99,0,118,0,0,0,115,0,103,0,100,0,0,0,115,0,103,0,108,0,0,0,115,0,107,0,115,0,0,0,115,0,114,0,110,0,0,0,116,0,102,0,105,0,0,0,116,0,103,0,117,0,0,0,116,0,105,0,103,0,0,0,116,0,105,0,111,0,0,0,116,0,107,0,108,0,0,0,116,0,116,0,101,0,0,0,116,0,116,0,115,0,0,0,116,0,116,0,116,0,0,0,117,0,103,0,97,0,0,0,117,0,108,0,105,0,0,0,117,0,114,0,119,0,0,0,119,0,97,0,101,0,0,0,119,0,97,0,110,0,0,0,119,0,98,0,114,0,0,0,119,0,101,0,111,0,0,0,119,0,106,0,105,0,0,0,119,0,109,0,111,0,0,0,119,0,110,0,110,0,0,0,119,0,115,0,103,0,0,0,119,0,119,0,97,0,0,0,120,0,98,0,105,0,0,0,120,0,99,0,104,0,0,0,120,0,99,0,111,0,0,0,120,0,108,0,97,0,0,0,120,0,110,0,97,0,0,0,120,0,110,0,114,0,0,0,120,0,110,0,121,0,0,0,120,0,115,0,105,0,0,0,120,0,115,0,108,0,0,0,121,0,97,0,115,0,0,0,121,0,97,0,118,0,0,0,121,0,98,0,97,0,0,0,121,0,108,0,103,0,0,0,121,0,109,0,108,0,0,0,121,0,109,0,116,0,0,0,121,0,111,0,115,0,0,0,121,0,114,0,109,0,0,0,121,0,115,0,115,0,0,0,122,0,105,0,97,0,0,0,48,0,51,0,52,0,0,0,49,0,52,0,51,0,0,0,53,0,56,0,50,0,0,0,56,0,56,0,54,0,0,0,56,0,57,0,48,0,0,0,48,0,50,0,54,0,0,0,48,0,54,0,50,0,0,0,49,0,55,0,50,0,0,0,50,0,48,0,48,0,0,0,50,0,51,0,48,0,0,0,50,0,56,0,48,0,0,0,53,0,51,0,50,0,0,0,55,0,51,0,54,0,0,0,56,0,51,0,48,0,0,0,97,0,97,0,105,0,0,0,97,0,97,0,107,0,0,0,97,0,97,0,109,0,0,0,97,0,97,0,115,0,0,0,97,0,97,0,117,0,0,0,97,0,98,0,105,0,0,0,97,0,98,0,113,0,0,0,97,0,98,0,114,0,0,0,97,0,98,0,116,0,0,0,97,0,98,0,121,0,0,0,97,0,99,0,100,0,0,0,97,0,99,0,101,0,0,0,97,0,99,0,104,0,0,0,97,0,99,0,110,0,0,0,97,0,100,0,97,0,0,0,97,0,100,0,101,0,0,0,97,0,100,0,106,0,0,0,97,0,100,0,112,0,0,0,97,0,100,0,120,0,0,0,97,0,100,0,121,0,0,0,97,0,100,0,122,0,0,0,97,0,101,0,121,0,0,0,97,0,103,0,99,0,0,0,97,0,103,0,100,0,0,0,97,0,103,0,103,0,0,0,97,0,103,0,111,0,0,0,97,0,103,0,112,0,0,0,97,0,103,0,113,0,0,0,97,0,104,0,97,0,0,0,97,0,104,0,108,0,0,0,97,0,104,0,111,0,0,0,97,0,105,0,115,0,0,0,97,0,106,0,103,0,0,0,97,0,106,0,117,0,0,0,97,0,107,0,107,0,0,0,97,0,108,0,97,0,0,0,97,0,108,0,110,0,0,0,97,0,108,0,115,0,0,0,97,0,108,0,116,0,0,0,97,0,109,0,105,0,0,0,97,0,109,0,109,0,0,0,97,0,109,0,110,0,0,0,97,0,109,0,112,0,0,0,97,0,109,0,113,0,0,0,97,0,110,0,99,0,0,0,97,0,110,0,107,0,0,0,97,0,110,0,110,0,0,0,97,0,110,0,121,0,0,0,97,0,111,0,103,0,0,0,97,0,111,0,106,0,0,0,97,0,111,0,109,0,0,0,97,0,111,0,117,0,0,0,97,0,111,0,122,0,0,0,97,0,112,0,99,0,0,0,97,0,112,0,100,0,0,0,97,0,112,0,101,0,0,0,97,0,112,0,102,0,0,0,97,0,112,0,114,0,0,0,97,0,112,0,115,0,0,0,97,0,112,0,122,0,0,0,97,0,113,0,100,0,0,0,97,0,113,0,116,0,0,0,97,0,114,0,104,0,0,0,97,0,114,0,109,0,0,0,97,0,114,0,110,0,0,0,97,0,114,0,111,0,0,0,97,0,114,0,113,0,0,0,97,0,114,0,115,0,0,0,97,0,114,0,121,0,0,0,97,0,114,0,122,0,0,0,97,0,115,0,97,0,0,0,97,0,115,0,100,0,0,0,97,0,115,0,103,0,0,0,97,0,115,0,111,0,0,0,97,0,115,0,116,0,0,0,97,0,116,0,97,0,0,0,97,0,116,0,103,0,0,0,97,0,116,0,106,0,0,0,97,0,117,0,101,0,0,0,97,0,117,0,121,0,0,0,97,0,118,0,108,0,0,0,97,0,118,0,110,0,0,0,97,0,118,0,117,0,0,0,97,0,119,0,97,0,0,0,97,0,119,0,98,0,0,0,97,0,119,0,111,0,0,0,97,0,119,0,120,0,0,0,97,0,121,0,98,0,0,0,97,0,121,0,114,0,0,0,97,0,121,0,120,0,0,0,97,0,122,0,100,0,0,0,97,0,122,0,106,0,0,0,98,0,97,0,112,0,0,0,98,0,97,0,113,0,0,0,98,0,97,0,114,0,0,0,98,0,97,0,115,0,0,0,98,0,97,0,118,0,0,0,98,0,97,0,120,0,0,0,98,0,97,0,122,0,0,0,98,0,98,0,97,0,0,0,98,0,98,0,98,0,0,0,98,0,98,0,100,0,0,0,98,0,98,0,106,0,0,0,98,0,98,0,112,0,0,0,98,0,98,0,114,0,0,0,98,0,99,0,99,0,0,0,98,0,99,0,102,0,0,0,98,0,99,0,103,0,0,0,98,0,99,0,104,0,0,0,98,0,99,0,105,0,0,0,98,0,99,0,108,0,0,0,98,0,99,0,109,0,0,0,98,0,99,0,110,0,0,0,98,0,99,0,111,0,0,0,98,0,99,0,113,0,0,0,98,0,99,0,117,0,0,0,98,0,100,0,100,0,0,0,98,0,101,0,98,0,0,0,98,0,101,0,102,0,0,0,98,0,101,0,104,0,0,0,98,0,101,0,106,0,0,0,98,0,101,0,109,0,0,0,98,0,101,0,116,0,0,0,98,0,101,0,119,0,0,0,98,0,101,0,120,0,0,0,98,0,101,0,122,0,0,0,98,0,102,0,100,0,0,0,98,0,102,0,113,0,0,0,98,0,102,0,116,0,0,0,98,0,103,0,99,0,0,0,98,0,103,0,109,0,0,0,98,0,103,0,110,0,0,0,98,0,103,0,120,0,0,0,98,0,104,0,98,0,0,0,98,0,104,0,103,0,0,0,98,0,104,0,105,0,0,0,98,0,104,0,107,0,0,0,98,0,104,0,108,0,0,0,98,0,104,0,121,0,0,0,98,0,105,0,98,0,0,0,98,0,105,0,99,0,0,0,98,0,105,0,103,0,0,0,98,0,105,0,109,0,0,0,98,0,105,0,110,0,0,0,98,0,105,0,111,0,0,0,98,0,105,0,113,0,0,0,98,0,105,0,114,0,0,0,98,0,106,0,100,0,0,0,98,0,106,0,104,0,0,0,98,0,106,0,105,0,0,0,98,0,106,0,106,0,0,0,98,0,106,0,110,0,0,0,98,0,106,0,111,0,0,0,98,0,106,0,112,0,0,0,98,0,106,0,113,0,0,0,98,0,106,0,114,0,0,0,98,0,106,0,116,0,0,0,98,0,106,0,122,0,0,0,98,0,107,0,98,0,0,0,98,0,107,0,99,0,0,0,98,0,107,0,109,0,0,0,98,0,107,0,113,0,0,0,98,0,107,0,118,0,0,0,98,0,108,0,97,0,0,0,98,0,108,0,103,0,0,0,98,0,108,0,116,0,0,0,98,0,109,0,102,0,0,0,98,0,109,0,104,0,0,0,98,0,109,0,107,0,0,0,98,0,109,0,113,0,0,0,98,0,109,0,117,0,0,0,98,0,110,0,99,0,0,0,98,0,110,0,103,0,0,0,98,0,110,0,109,0,0,0,98,0,110,0,112,0,0,0,98,0,111,0,106,0,0,0,98,0,111,0,109,0,0,0,98,0,111,0,110,0,0,0,98,0,112,0,112,0,0,0,98,0,112,0,121,0,0,0,98,0,113,0,99,0,0,0,98,0,113,0,105,0,0,0,98,0,113,0,112,0,0,0,98,0,113,0,118,0,0,0,98,0,114,0,97,0,0,0,98,0,114,0,104,0,0,0,98,0,114,0,120,0,0,0,98,0,114,0,122,0,0,0,98,0,115,0,106,0,0,0,98,0,115,0,115,0,0,0,98,0,115,0,116,0,0,0,98,0,116,0,98,0,0,0,98,0,116,0,111,0,0,0,98,0,116,0,116,0,0,0,98,0,116,0,118,0,0,0,98,0,117,0,99,0,0,0,98,0,117,0,100,0,0,0,98,0,117,0,107,0,0,0,98,0,117,0,109,0,0,0,98,0,117,0,111,0,0,0,98,0,117,0,114,0,0,0,98,0,117,0,115,0,0,0,98,0,117,0,117,0,0,0,98,0,118,0,98,0,0,0,98,0,119,0,100,0,0,0,98,0,119,0,114,0,0,0,98,0,120,0,107,0,0,0,98,0,120,0,114,0,0,0,98,0,121,0,101,0,0,0,98,0,121,0,110,0,0,0,98,0,121,0,114,0,0,0,98,0,121,0,115,0,0,0,98,0,121,0,118,0,0,0,98,0,121,0,120,0,0,0,98,0,122,0,97,0,0,0,98,0,122,0,99,0,0,0,98,0,122,0,101,0,0,0,98,0,122,0,102,0,0,0,98,0,122,0,104,0,0,0,98,0,122,0,119,0,0,0,99,0,97,0,100,0,0,0,99,0,97,0,110,0,0,0,99,0,97,0,120,0,0,0,99,0,98,0,106,0,0,0,99,0,99,0,104,0,0,0,99,0,99,0,112,0,0,0,99,0,99,0,113,0,0,0,99,0,101,0,98,0,0,0,99,0,102,0,97,0,0,0,99,0,103,0,103,0,0,0,99,0,104,0,105,0,0,0,99,0,104,0,107,0,0,0,99,0,104,0,112,0,0,0,99,0,104,0,114,0,0,0,99,0,105,0,99,0,0,0,99,0,105,0,114,0,0,0,99,0,106,0,97,0,0,0,99,0,106,0,109,0,0,0,99,0,106,0,114,0,0,0,99,0,107,0,97,0,0,0,99,0,107,0,98,0,0,0,99,0,107,0,108,0,0,0,99,0,107,0,111,0,0,0,99,0,107,0,121,0,0,0,99,0,108,0,97,0,0,0,99,0,108,0,99,0,0,0,99,0,108,0,100,0,0,0,99,0,109,0,101,0,0,0,99,0,109,0,107,0,0,0,99,0,109,0,110,0,0,0,99,0,109,0,114,0,0,0,99,0,111,0,112,0,0,0,99,0,111,0,121,0,0,0,99,0,112,0,115,0,0,0,99,0,114,0,103,0,0,0,99,0,114,0,104,0,0,0,99,0,114,0,107,0,0,0,99,0,114,0,108,0,0,0,99,0,114,0,115,0,0,0,99,0,115,0,98,0,0,0,99,0,115,0,119,0,0,0,99,0,116,0,100,0,0,0,99,0,119,0,100,0,0,0,99,0,122,0,101,0,0,0,100,0,97,0,100,0,0,0,100,0,97,0,102,0,0,0,100,0,97,0,103,0,0,0,100,0,97,0,104,0,0,0,100,0,97,0,107,0,0,0,100,0,97,0,112,0,0,0,100,0,97,0,114,0,0,0,100,0,97,0,118,0,0,0,100,0,98,0,100,0,0,0,100,0,98,0,113,0,0,0,100,0,98,0,116,0,0,0,100,0,99,0,99,0,0,0,100,0,100,0,110,0,0,0,100,0,101,0,100,0,0,0,100,0,101,0,108,0,0,0,100,0,101,0,118,0,0,0,100,0,103,0,97,0,0,0,100,0,103,0,104,0,0,0,100,0,103,0,105,0,0,0,100,0,103,0,111,0,0,0,100,0,103,0,114,0,0,0,100,0,103,0,122,0,0,0,100,0,104,0,100,0,0,0,100,0,105,0,97,0,0,0,100,0,105,0,102,0,0,0,100,0,105,0,107,0,0,0,100,0,105,0,110,0,0,0,100,0,105,0,113,0,0,0,100,0,105,0,116,0,0,0,100,0,106,0,101,0,0,0,100,0,106,0,108,0,0,0,100,0,107,0,108,0,0,0,100,0,109,0,102,0,0,0,100,0,111,0,98,0,0,0,100,0,111,0,112,0,0,0,100,0,111,0,119,0,0,0,100,0,114,0,104,0,0,0,100,0,114,0,105,0,0,0,100,0,114,0,108,0,0,0,100,0,114,0,114,0,0,0,100,0,114,0,115,0,0,0,100,0,115,0,98,0,0,0,100,0,116,0,100,0,0,0,100,0,116,0,109,0,0,0,100,0,116,0,115,0,0,0,100,0,117,0,97,0,0,0,100,0,117,0,99,0,0,0,100,0,117,0,100,0,0,0,100,0,117,0,103,0,0,0,100,0,117,0,106,0,0,0,100,0,117,0,116,0,0,0,100,0,117,0,122,0,0,0,100,0,118,0,97,0,0,0,100,0,119,0,108,0,0,0,100,0,119,0,117,0,0,0,100,0,119,0,119,0,0,0,100,0,121,0,111,0,0,0,100,0,121,0,117,0,0,0,100,0,122,0,101,0,0,0,100,0,122,0,103,0,0,0,101,0,98,0,107,0,0,0,101,0,98,0,117,0,0,0,101,0,102,0,105,0,0,0,101,0,103,0,108,0,0,0,101,0,103,0,121,0,0,0,101,0,107,0,97,0,0,0,101,0,107,0,99,0,0,0,101,0,107,0,107,0,0,0,101,0,108,0,112,0,0,0,101,0,109,0,105,0,0,0,101,0,109,0,120,0,0,0,101,0,110,0,110,0,0,0,101,0,110,0,113,0,0,0,101,0,114,0,105,0,0,0,101,0,115,0,107,0,0,0,101,0,115,0,117,0,0,0,101,0,116,0,114,0,0,0,101,0,116,0,116,0,0,0,101,0,116,0,117,0,0,0,101,0,116,0,120,0,0,0,101,0,119,0,111,0,0,0,101,0,120,0,116,0,0,0,102,0,97,0,97,0,0,0,102,0,97,0,98,0,0,0,102,0,97,0,103,0,0,0,102,0,97,0,105,0,0,0,102,0,97,0,110,0,0,0,102,0,97,0,116,0,0,0,102,0,98,0,108,0,0,0,102,0,102,0,105,0,0,0,102,0,102,0,109,0,0,0,102,0,105,0,97,0,0,0,102,0,105,0,116,0,0,0,102,0,108,0,114,0,0,0,102,0,109,0,112,0,0,0,102,0,111,0,100,0,0,0,102,0,111,0,110,0,0,0,102,0,111,0,114,0,0,0,102,0,112,0,101,0,0,0,102,0,113,0,115,0,0,0,102,0,114,0,99,0,0,0,102,0,114,0,101,0,0,0,102,0,114,0,112,0,0,0,102,0,114,0,114,0,0,0,102,0,114,0,115,0,0,0,102,0,117,0,98,0,0,0,102,0,117,0,99,0,0,0,102,0,117,0,100,0,0,0,102,0,117,0,101,0,0,0,102,0,117,0,102,0,0,0,102,0,117,0,104,0,0,0,102,0,117,0,113,0,0,0,102,0,117,0,114,0,0,0,102,0,117,0,118,0,0,0,102,0,117,0,121,0,0,0,102,0,118,0,114,0,0,0,103,0,97,0,97,0,0,0,103,0,97,0,102,0,0,0,103,0,97,0,103,0,0,0,103,0,97,0,104,0,0,0,103,0,97,0,106,0,0,0,103,0,97,0,108,0,0,0,103,0,97,0,110,0,0,0,103,0,97,0,118,0,0,0,103,0,97,0,119,0,0,0,103,0,97,0,121,0,0,0,103,0,97,0,122,0,0,0,103,0,98,0,99,0,0,0,103,0,98,0,102,0,0,0,103,0,98,0,109,0,0,0,103,0,98,0,111,0,0,0,103,0,98,0,121,0,0,0,103,0,98,0,122,0,0,0,103,0,99,0,114,0,0,0,103,0,100,0,101,0,0,0,103,0,100,0,106,0,0,0,103,0,100,0,110,0,0,0,103,0,100,0,114,0,0,0,103,0,101,0,98,0,0,0,103,0,101,0,106,0,0,0,103,0,101,0,108,0,0,0,103,0,101,0,111,0,0,0,103,0,101,0,114,0,0,0,103,0,101,0,122,0,0,0,103,0,102,0,107,0,0,0,103,0,102,0,120,0,0,0,103,0,103,0,110,0,0,0,103,0,103,0,111,0,0,0,103,0,103,0,114,0,0,0,103,0,104,0,115,0,0,0,103,0,105,0,108,0,0,0,103,0,105,0,109,0,0,0,103,0,105,0,111,0,0,0,103,0,106,0,107,0,0,0,103,0,106,0,110,0,0,0,103,0,106,0,117,0,0,0,103,0,107,0,112,0,0,0,103,0,108,0,105,0,0,0,103,0,108,0,107,0,0,0,103,0,109,0,109,0,0,0,103,0,109,0,118,0,0,0,103,0,110,0,100,0,0,0,103,0,110,0,103,0,0,0,103,0,110,0,111,0,0,0,103,0,111,0,100,0,0,0,103,0,111,0,102,0,0,0,103,0,111,0,105,0,0,0,103,0,111,0,109,0,0,0,103,0,111,0,114,0,0,0,103,0,111,0,115,0,0,0,103,0,111,0,116,0,0,0,103,0,114,0,101,0,0,0,103,0,114,0,116,0,0,0,103,0,114,0,119,0,0,0,103,0,115,0,119,0,0,0,103,0,116,0,105,0,0,0,103,0,116,0,117,0,0,0,103,0,117,0,98,0,0,0,103,0,117,0,99,0,0,0,103,0,117,0,100,0,0,0,103,0,117,0,103,0,0,0,103,0,117,0,114,0,0,0,103,0,117,0,118,0,0,0,103,0,117,0,119,0,0,0,103,0,117,0,120,0,0,0,103,0,117,0,122,0,0,0,103,0,118,0,102,0,0,0,103,0,118,0,115,0,0,0,103,0,119,0,99,0,0,0,103,0,119,0,105,0,0,0,103,0,119,0,116,0,0,0,103,0,121,0,97,0,0,0,104,0,97,0,107,0,0,0,104,0,97,0,122,0,0,0,104,0,98,0,98,0,0,0,104,0,100,0,110,0,0,0,104,0,100,0,121,0,0,0,104,0,101,0,97,0,0,0,104,0,105,0,97,0,0,0,104,0,105,0,103,0,0,0,104,0,105,0,104,0,0,0,104,0,105,0,108,0,0,0,104,0,105,0,109,0,0,0,104,0,108,0,97,0,0,0,104,0,108,0,101,0,0,0,104,0,109,0,100,0,0,0,104,0,109,0,110,0,0,0,104,0,109,0,116,0,0,0,104,0,110,0,100,0,0,0,104,0,110,0,101,0,0,0,104,0,111,0,116,0,0,0,104,0,114,0,114,0,0,0,104,0,115,0,98,0,0,0,104,0,115,0,110,0,0,0,104,0,117,0,105,0,0,0,104,0,117,0,114,0,0,0,104,0,117,0,119,0,0,0,105,0,97,0,110,0,0,0,105,0,97,0,114,0,0,0,105,0,98,0,98,0,0,0,105,0,98,0,105,0,0,0,105,0,98,0,121,0,0,0,105,0,99,0,97,0,0,0,105,0,99,0,101,0,0,0,105,0,99,0,104,0,0,0,105,0,100,0,105,0,0,0,105,0,100,0,117,0,0,0,105,0,102,0,101,0,0,0,105,0,103,0,98,0,0,0,105,0,103,0,101,0,0,0,105,0,106,0,106,0,0,0,105,0,107,0,101,0,0,0,105,0,107,0,107,0,0,0,105,0,107,0,119,0,0,0,105,0,107,0,120,0,0,0,105,0,108,0,108,0,0,0,105,0,108,0,109,0,0,0,105,0,108,0,111,0,0,0,105,0,108,0,119,0,0,0,105,0,109,0,111,0,0,0,105,0,111,0,117,0,0,0,105,0,114,0,105,0,0,0,105,0,115,0,107,0,0,0,105,0,116,0,100,0,0,0,105,0,119,0,109,0,0,0,105,0,119,0,115,0,0,0,105,0,122,0,104,0,0,0,106,0,97,0,98,0,0,0,106,0,97,0,108,0,0,0,106,0,97,0,109,0,0,0,106,0,97,0,114,0,0,0,106,0,98,0,107,0,0,0,106,0,98,0,111,0,0,0,106,0,98,0,117,0,0,0,106,0,101,0,103,0,0,0,106,0,101,0,110,0,0,0,106,0,103,0,111,0,0,0,106,0,105,0,98,0,0,0,106,0,109,0,99,0,0,0,106,0,109,0,108,0,0,0,106,0,114,0,97,0,0,0,106,0,114,0,98,0,0,0,106,0,117,0,116,0,0,0,107,0,97,0,98,0,0,0,107,0,97,0,99,0,0,0,107,0,97,0,100,0,0,0,107,0,97,0,105,0,0,0,107,0,97,0,106,0,0,0,107,0,97,0,107,0,0,0,107,0,97,0,109,0,0,0,107,0,97,0,111,0,0,0,107,0,97,0,119,0,0,0,107,0,98,0,112,0,0,0,107,0,98,0,113,0,0,0,107,0,98,0,120,0,0,0,107,0,98,0,121,0,0,0,107,0,99,0,103,0,0,0,107,0,99,0,107,0,0,0,107,0,99,0,108,0,0,0,107,0,99,0,116,0,0,0,107,0,100,0,101,0,0,0,107,0,100,0,104,0,0,0,107,0,100,0,108,0,0,0,107,0,101,0,97,0,0,0,107,0,101,0,110,0,0,0,107,0,101,0,122,0,0,0,107,0,102,0,111,0,0,0,107,0,102,0,114,0,0,0,107,0,103,0,99,0,0,0,107,0,103,0,100,0,0,0,107,0,103,0,101,0,0,0,107,0,103,0,102,0,0,0,107,0,103,0,104,0,0,0,107,0,103,0,112,0,0,0,107,0,104,0,98,0,0,0,107,0,104,0,107,0,0,0,107,0,104,0,110,0,0,0,107,0,104,0,113,0,0,0,107,0,104,0,115,0,0,0,107,0,104,0,119,0,0,0,107,0,105,0,106,0,0,0,107,0,105,0,117,0,0,0,107,0,105,0,119,0,0,0,107,0,106,0,100,0,0,0,107,0,106,0,103,0,0,0,107,0,106,0,115,0,0,0,107,0,106,0,121,0,0,0,107,0,107,0,99,0,0,0,107,0,108,0,113,0,0,0,107,0,108,0,116,0,0,0,107,0,108,0,120,0,0,0,107,0,109,0,104,0,0,0,107,0,109,0,108,0,0,0,107,0,109,0,111,0,0,0,107,0,109,0,114,0,0,0,107,0,109,0,115,0,0,0,107,0,109,0,117,0,0,0,107,0,109,0,119,0,0,0,107,0,110,0,99,0,0,0,107,0,110,0,102,0,0,0,107,0,110,0,103,0,0,0,107,0,110,0,110,0,0,0,107,0,110,0,112,0,0,0,107,0,111,0,105,0,0,0,107,0,111,0,106,0,0,0,107,0,111,0,108,0,0,0,107,0,111,0,115,0,0,0,107,0,111,0,122,0,0,0,107,0,112,0,102,0,0,0,107,0,112,0,111,0,0,0,107,0,112,0,112,0,0,0,107,0,112,0,114,0,0,0,107,0,112,0,118,0,0,0,107,0,112,0,120,0,0,0,107,0,113,0,98,0,0,0,107,0,113,0,102,0,0,0,107,0,113,0,115,0,0,0,107,0,113,0,121,0,0,0,107,0,114,0,99,0,0,0,107,0,114,0,105,0,0,0,107,0,114,0,106,0,0,0,107,0,114,0,108,0,0,0,107,0,114,0,109,0,0,0,107,0,114,0,115,0,0,0,107,0,115,0,98,0,0,0,107,0,115,0,100,0,0,0,107,0,115,0,102,0,0,0,107,0,115,0,104,0,0,0,107,0,115,0,106,0,0,0,107,0,115,0,112,0,0,0,107,0,115,0,114,0,0,0,107,0,116,0,98,0,0,0,107,0,116,0,109,0,0,0,107,0,116,0,111,0,0,0,107,0,116,0,122,0,0,0,107,0,117,0,98,0,0,0,107,0,117,0,100,0,0,0,107,0,117,0,101,0,0,0,107,0,117,0,106,0,0,0,107,0,117,0,109,0,0,0,107,0,117,0,110,0,0,0,107,0,117,0,112,0,0,0,107,0,117,0,115,0,0,0,107,0,118,0,103,0,0,0,107,0,118,0,114,0,0,0,107,0,118,0,115,0,0,0,107,0,118,0,120,0,0,0,107,0,119,0,106,0,0,0,107,0,119,0,107,0,0,0,107,0,119,0,111,0,0,0,107,0,119,0,113,0,0,0,107,0,119,0,118,0,0,0,107,0,120,0,97,0,0,0,107,0,120,0,99,0,0,0,107,0,120,0,101,0,0,0,107,0,120,0,109,0,0,0,107,0,120,0,112,0,0,0,107,0,120,0,114,0,0,0,107,0,120,0,119,0,0,0,107,0,120,0,122,0,0,0,107,0,121,0,101,0,0,0,107,0,121,0,120,0,0,0,107,0,122,0,114,0,0,0,108,0,97,0,98,0,0,0,108,0,97,0,100,0,0,0,108,0,97,0,106,0,0,0,108,0,97,0,107,0,0,0,108,0,97,0,115,0,0,0,108,0,98,0,101,0,0,0,108,0,98,0,107,0,0,0,108,0,98,0,117,0,0,0,108,0,98,0,119,0,0,0,108,0,99,0,109,0,0,0,108,0,99,0,112,0,0,0,108,0,99,0,113,0,0,0,108,0,100,0,98,0,0,0,108,0,101,0,100,0,0,0,108,0,101,0,101,0,0,0,108,0,101,0,103,0,0,0,108,0,101,0,109,0,0,0,108,0,101,0,112,0,0,0,108,0,101,0,113,0,0,0,108,0,101,0,117,0,0,0,108,0,101,0,122,0,0,0,108,0,103,0,103,0,0,0,108,0,105,0,97,0,0,0,108,0,105,0,100,0,0,0,108,0,105,0,103,0,0,0,108,0,105,0,104,0,0,0,108,0,105,0,105,0,0,0,108,0,105,0,106,0,0,0,108,0,105,0,108,0,0,0,108,0,105,0,115,0,0,0,108,0,106,0,112,0,0,0,108,0,107,0,105,0,0,0,108,0,107,0,116,0,0,0,108,0,108,0,101,0,0,0,108,0,108,0,110,0,0,0,108,0,108,0,111,0,0,0,108,0,109,0,109,0,0,0,108,0,109,0,110,0,0,0,108,0,109,0,111,0,0,0,108,0,109,0,112,0,0,0,108,0,110,0,115,0,0,0,108,0,110,0,117,0,0,0,108,0,111,0,107,0,0,0,108,0,111,0,108,0,0,0,108,0,111,0,115,0,0,0,108,0,111,0,122,0,0,0,108,0,114,0,99,0,0,0,108,0,114,0,114,0,0,0,108,0,117,0,97,0,0,0,108,0,117,0,111,0,0,0,108,0,117,0,122,0,0,0,108,0,118,0,115,0,0,0,108,0,119,0,108,0,0,0,108,0,122,0,122,0,0,0,109,0,97,0,99,0,0,0,109,0,97,0,100,0,0,0,109,0,97,0,102,0,0,0,109,0,97,0,103,0,0,0,109,0,97,0,111,0,0,0,109,0,97,0,115,0,0,0,109,0,97,0,119,0,0,0,109,0,97,0,121,0,0,0,109,0,97,0,122,0,0,0,109,0,98,0,111,0,0,0,109,0,98,0,113,0,0,0,109,0,98,0,117,0,0,0,109,0,98,0,119,0,0,0,109,0,99,0,105,0,0,0,109,0,99,0,112,0,0,0,109,0,99,0,113,0,0,0,109,0,99,0,114,0,0,0,109,0,99,0,117,0,0,0,109,0,100,0,97,0,0,0,109,0,100,0,102,0,0,0,109,0,100,0,104,0,0,0,109,0,100,0,106,0,0,0,109,0,100,0,114,0,0,0,109,0,100,0,120,0,0,0,109,0,101,0,100,0,0,0,109,0,101,0,103,0,0,0,109,0,101,0,107,0,0,0,109,0,101,0,114,0,0,0,109,0,101,0,116,0,0,0,109,0,102,0,101,0,0,0,109,0,102,0,110,0,0,0,109,0,102,0,113,0,0,0,109,0,103,0,104,0,0,0,109,0,103,0,108,0,0,0,109,0,103,0,111,0,0,0,109,0,103,0,112,0,0,0,109,0,103,0,120,0,0,0,109,0,103,0,121,0,0,0,109,0,104,0,105,0,0,0,109,0,104,0,108,0,0,0,109,0,104,0,114,0,0,0,109,0,105,0,99,0,0,0,109,0,105,0,102,0,0,0,109,0,105,0,110,0,0,0,109,0,105,0,119,0,0,0,109,0,107,0,105,0,0,0,109,0,107,0,108,0,0,0,109,0,107,0,112,0,0,0,109,0,108,0,101,0,0,0,109,0,108,0,112,0,0,0,109,0,108,0,115,0,0,0,109,0,109,0,111,0,0,0,109,0,109,0,117,0,0,0,109,0,109,0,120,0,0,0,109,0,110,0,97,0,0,0,109,0,110,0,102,0,0,0,109,0,110,0,107,0,0,0,109,0,110,0,116,0,0,0,109,0,111,0,97,0,0,0,109,0,111,0,101,0,0,0,109,0,111,0,102,0,0,0,109,0,111,0,104,0,0,0,109,0,111,0,109,0,0,0,109,0,111,0,115,0,0,0,109,0,111,0,120,0,0,0,109,0,112,0,112,0,0,0,109,0,112,0,115,0,0,0,109,0,112,0,116,0,0,0,109,0,112,0,120,0,0,0,109,0,113,0,108,0,0,0,109,0,114,0,100,0,0,0,109,0,114,0,106,0,0,0,109,0,114,0,111,0,0,0,109,0,115,0,116,0,0,0,109,0,116,0,99,0,0,0,109,0,116,0,102,0,0,0,109,0,116,0,105,0,0,0,109,0,116,0,109,0,0,0,109,0,116,0,114,0,0,0,109,0,117,0,97,0,0,0,109,0,117,0,112,0,0,0,109,0,117,0,114,0,0,0,109,0,117,0,115,0,0,0,109,0,118,0,97,0,0,0,109,0,118,0,110,0,0,0,109,0,118,0,121,0,0,0,109,0,119,0,100,0,0,0,109,0,119,0,106,0,0,0,109,0,119,0,107,0,0,0,109,0,119,0,118,0,0,0,109,0,119,0,119,0,0,0,109,0,120,0,99,0,0,0,109,0,120,0,109,0,0,0,109,0,121,0,100,0,0,0,109,0,121,0,107,0,0,0,109,0,121,0,109,0,0,0,109,0,121,0,116,0,0,0,109,0,121,0,118,0,0,0,109,0,121,0,119,0,0,0,109,0,121,0,120,0,0,0,109,0,121,0,122,0,0,0,109,0,122,0,107,0,0,0,109,0,122,0,109,0,0,0,109,0,122,0,110,0,0,0,109,0,122,0,112,0,0,0,109,0,122,0,119,0,0,0,109,0,122,0,122,0,0,0,110,0,97,0,99,0,0,0,110,0,97,0,100,0,0,0,110,0,97,0,102,0,0,0,110,0,97,0,110,0,0,0,110,0,97,0,112,0,0,0,110,0,97,0,113,0,0,0,110,0,97,0,115,0,0,0,110,0,98,0,102,0,0,0,110,0,98,0,114,0,0,0,110,0,98,0,120,0,0,0,110,0,99,0,97,0,0,0,110,0,99,0,102,0,0,0,110,0,99,0,104,0,0,0,110,0,99,0,111,0,0,0,110,0,99,0,112,0,0,0,110,0,99,0,113,0,0,0,110,0,100,0,99,0,0,0,110,0,100,0,115,0,0,0,110,0,101,0,98,0,0,0,110,0,101,0,120,0,0,0,110,0,103,0,97,0,0,0,110,0,103,0,98,0,0,0,110,0,103,0,108,0,0,0,110,0,103,0,116,0,0,0,110,0,104,0,98,0,0,0,110,0,104,0,119,0,0,0,110,0,105,0,102,0,0,0,110,0,105,0,106,0,0,0,110,0,105,0,117,0,0,0,110,0,105,0,121,0,0,0,110,0,105,0,122,0,0,0,110,0,106,0,111,0,0,0,110,0,106,0,122,0,0,0,110,0,107,0,111,0,0,0,110,0,108,0,114,0,0,0,110,0,109,0,122,0,0,0,110,0,110,0,102,0,0,0,110,0,110,0,104,0,0,0,110,0,110,0,107,0,0,0,110,0,110,0,109,0,0,0,110,0,110,0,112,0,0,0,110,0,110,0,115,0,0,0,110,0,110,0,120,0,0,0,110,0,111,0,100,0,0,0,110,0,111,0,101,0,0,0,110,0,111,0,108,0,0,0,110,0,111,0,110,0,0,0,110,0,111,0,111,0,0,0,110,0,111,0,112,0,0,0,110,0,111,0,117,0,0,0,110,0,112,0,105,0,0,0,110,0,113,0,111,0,0,0,110,0,114,0,98,0,0,0,110,0,114,0,107,0,0,0,110,0,114,0,117,0,0,0,110,0,115,0,107,0,0,0,110,0,115,0,115,0,0,0,110,0,115,0,116,0,0,0,110,0,116,0,109,0,0,0,110,0,116,0,114,0,0,0,110,0,116,0,115,0,0,0,110,0,117,0,105,0,0,0,110,0,117,0,110,0,0,0,110,0,117,0,112,0,0,0,110,0,117,0,115,0,0,0,110,0,117,0,118,0,0,0,110,0,117,0,120,0,0,0,110,0,119,0,98,0,0,0,110,0,119,0,111,0,0,0,110,0,120,0,113,0,0,0,110,0,120,0,114,0,0,0,110,0,120,0,117,0,0,0,110,0,121,0,99,0,0,0,110,0,121,0,109,0,0,0,110,0,121,0,110,0,0,0,110,0,122,0,105,0,0,0,111,0,103,0,99,0,0,0,111,0,106,0,103,0,0,0,111,0,106,0,115,0,0,0,111,0,107,0,97,0,0,0,111,0,107,0,114,0,0,0,111,0,108,0,97,0,0,0,111,0,110,0,110,0,0,0,111,0,110,0,115,0,0,0,111,0,112,0,97,0,0,0,111,0,112,0,109,0,0,0,111,0,114,0,111,0,0,0,111,0,114,0,117,0,0,0,111,0,114,0,121,0,0,0,111,0,115,0,97,0,0,0,111,0,116,0,107,0,0,0,111,0,117,0,105,0,0,0,111,0,117,0,110,0,0,0,111,0,122,0,109,0,0,0,112,0,97,0,103,0,0,0,112,0,97,0,109,0,0,0,112,0,97,0,116,0,0,0,112,0,97,0,117,0,0,0,112,0,98,0,105,0,0,0,112,0,98,0,117,0,0,0,112,0,99,0,100,0,0,0,112,0,99,0,109,0,0,0,112,0,99,0,114,0,0,0,112,0,100,0,99,0,0,0,112,0,100,0,116,0,0,0,112,0,101,0,100,0,0,0,112,0,101,0,114,0,0,0,112,0,101,0,115,0,0,0,112,0,101,0,120,0,0,0,112,0,102,0,108,0,0,0,112,0,104,0,108,0,0,0,112,0,104,0,110,0,0,0,112,0,104,0,114,0,0,0,112,0,105,0,108,0,0,0,112,0,105,0,112,0,0,0,112,0,107,0,111,0,0,0,112,0,108,0,97,0,0,0,112,0,108,0,116,0,0,0,112,0,109,0,99,0,0,0,112,0,109,0,115,0,0,0,112,0,109,0,117,0,0,0,112,0,110,0,98,0,0,0,112,0,110,0,103,0,0,0,112,0,110,0,110,0,0,0,112,0,110,0,116,0,0,0,112,0,111,0,110,0,0,0,112,0,112,0,111,0,0,0,112,0,112,0,114,0,0,0,112,0,113,0,109,0,0,0,112,0,114,0,97,0,0,0,112,0,114,0,100,0,0,0,112,0,114,0,103,0,0,0,112,0,114,0,121,0,0,0,112,0,115,0,115,0,0,0,112,0,116,0,112,0,0,0,112,0,117,0,98,0,0,0,112,0,117,0,117,0,0,0,112,0,117,0,122,0,0,0,112,0,119,0,97,0,0,0,113,0,117,0,99,0,0,0,113,0,117,0,103,0,0,0,113,0,117,0,104,0,0,0,114,0,97,0,111,0,0,0,114,0,97,0,113,0,0,0,114,0,97,0,115,0,0,0,114,0,99,0,102,0,0,0,114,0,101,0,108,0,0,0,114,0,101,0,115,0,0,0,114,0,105,0,97,0,0,0,114,0,106,0,115,0,0,0,114,0,107,0,116,0,0,0,114,0,109,0,102,0,0,0,114,0,109,0,111,0,0,0,114,0,109,0,114,0,0,0,114,0,109,0,116,0,0,0,114,0,109,0,117,0,0,0,114,0,109,0,120,0,0,0,114,0,109,0,121,0,0,0,114,0,110,0,97,0,0,0,114,0,110,0,103,0,0,0,114,0,111,0,98,0,0,0,114,0,111,0,102,0,0,0,114,0,111,0,109,0,0,0,114,0,114,0,111,0,0,0,114,0,116,0,109,0,0,0,114,0,117,0,101,0,0,0,114,0,117,0,103,0,0,0,114,0,117,0,109,0,0,0,114,0,119,0,107,0,0,0,114,0,121,0,117,0,0,0,115,0,97,0,104,0,0,0,115,0,97,0,112,0,0,0,115,0,97,0,113,0,0,0,115,0,97,0,115,0,0,0,115,0,97,0,116,0,0,0,115,0,97,0,118,0,0,0,115,0,97,0,122,0,0,0,115,0,98,0,97,0,0,0,115,0,98,0,112,0,0,0,115,0,99,0,99,0,0,0,115,0,99,0,107,0,0,0,115,0,99,0,108,0,0,0,115,0,99,0,110,0,0,0,115,0,99,0,111,0,0,0,115,0,99,0,114,0,0,0,115,0,100,0,99,0,0,0,115,0,100,0,104,0,0,0,115,0,101,0,102,0,0,0,115,0,101,0,104,0,0,0,115,0,101,0,105,0,0,0,115,0,101,0,115,0,0,0,115,0,103,0,97,0,0,0,115,0,103,0,115,0,0,0,115,0,103,0,119,0,0,0,115,0,103,0,122,0,0,0,115,0,104,0,105,0,0,0,115,0,104,0,107,0,0,0,115,0,104,0,110,0,0,0,115,0,105,0,100,0,0,0,115,0,105,0,103,0,0,0,115,0,105,0,108,0,0,0,115,0,105,0,109,0,0,0,115,0,106,0,114,0,0,0,115,0,107,0,99,0,0,0,115,0,107,0,107,0,0,0,115,0,108,0,100,0,0,0,115,0,108,0,105,0,0,0,115,0,108,0,108,0,0,0,115,0,108,0,111,0,0,0,115,0,108,0,121,0,0,0,115,0,109,0,106,0,0,0,115,0,109,0,110,0,0,0,115,0,109,0,112,0,0,0,115,0,109,0,113,0,0,0,115,0,110,0,99,0,0,0,115,0,110,0,107,0,0,0,115,0,110,0,112,0,0,0,115,0,110,0,120,0,0,0,115,0,110,0,121,0,0,0,115,0,110,0,122,0,0,0,115,0,111,0,107,0,0,0,115,0,111,0,113,0,0,0,115,0,111,0,117,0,0,0,115,0,111,0,121,0,0,0,115,0,112,0,100,0,0,0,115,0,112,0,108,0,0,0,115,0,112,0,121,0,0,0,115,0,114,0,98,0,0,0,115,0,114,0,99,0,0,0,115,0,114,0,114,0,0,0,115,0,115,0,100,0,0,0,115,0,115,0,103,0,0,0,115,0,115,0,121,0,0,0,115,0,116,0,113,0,0,0,115,0,117,0,97,0,0,0,115,0,117,0,101,0,0,0,115,0,117,0,106,0,0,0,115,0,117,0,108,0,0,0,115,0,117,0,109,0,0,0,115,0,117,0,115,0,0,0,115,0,119,0,98,0,0,0,115,0,119,0,99,0,0,0,115,0,119,0,103,0,0,0,115,0,119,0,104,0,0,0,115,0,119,0,112,0,0,0,115,0,119,0,118,0,0,0,115,0,120,0,110,0,0,0,115,0,120,0,119,0,0,0,115,0,122,0,108,0,0,0,116,0,97,0,110,0,0,0,116,0,97,0,113,0,0,0,116,0,98,0,99,0,0,0,116,0,98,0,100,0,0,0,116,0,98,0,102,0,0,0,116,0,98,0,122,0,0,0,116,0,99,0,105,0,0,0,116,0,100,0,100,0,0,0,116,0,100,0,102,0,0,0,116,0,100,0,103,0,0,0,116,0,100,0,104,0,0,0,116,0,101,0,100,0,0,0,116,0,101,0,109,0,0,0,116,0,101,0,111,0,0,0,116,0,103,0,99,0,0,0,116,0,103,0,103,0,0,0,116,0,103,0,111,0,0,0,116,0,104,0,99,0,0,0,116,0,104,0,108,0,0,0,116,0,104,0,113,0,0,0,116,0,104,0,119,0,0,0,116,0,104,0,120,0,0,0,116,0,105,0,98,0,0,0,116,0,105,0,101,0,0,0,116,0,105,0,102,0,0,0,116,0,105,0,109,0,0,0,116,0,105,0,118,0,0,0,116,0,107,0,116,0,0,0,116,0,108,0,102,0,0,0,116,0,108,0,119,0,0,0,116,0,108,0,120,0,0,0,116,0,108,0,121,0,0,0,116,0,109,0,112,0,0,0,116,0,110,0,101,0,0,0,116,0,110,0,104,0,0,0,116,0,111,0,102,0,0,0,116,0,111,0,103,0,0,0,116,0,111,0,107,0,0,0,116,0,111,0,113,0,0,0,116,0,112,0,105,0,0,0,116,0,112,0,109,0,0,0,116,0,112,0,111,0,0,0,116,0,112,0,122,0,0,0,116,0,113,0,111,0,0,0,116,0,114,0,117,0,0,0,116,0,114,0,118,0,0,0,116,0,114,0,119,0,0,0,116,0,115,0,103,0,0,0,116,0,115,0,106,0,0,0,116,0,116,0,100,0,0,0,116,0,116,0,106,0,0,0,116,0,116,0,113,0,0,0,116,0,116,0,114,0,0,0,116,0,117,0,104,0,0,0,116,0,117,0,108,0,0,0,116,0,117,0,109,0,0,0,116,0,117,0,113,0,0,0,116,0,118,0,108,0,0,0,116,0,118,0,117,0,0,0,116,0,119,0,104,0,0,0,116,0,119,0,109,0,0,0,116,0,119,0,113,0,0,0,116,0,120,0,103,0,0,0,116,0,120,0,111,0,0,0,116,0,121,0,97,0,0,0,116,0,121,0,106,0,0,0,116,0,121,0,118,0,0,0,116,0,122,0,109,0,0,0,117,0,98,0,117,0,0,0,117,0,100,0,105,0,0,0,117,0,100,0,109,0,0,0,117,0,108,0,119,0,0,0,117,0,109,0,98,0,0,0,117,0,109,0,117,0,0,0,117,0,110,0,112,0,0,0,117,0,110,0,120,0,0,0,117,0,114,0,105,0,0,0,117,0,114,0,116,0,0,0,117,0,115,0,97,0,0,0,117,0,118,0,104,0,0,0,117,0,118,0,108,0,0,0,117,0,122,0,110,0,0,0,118,0,97,0,103,0,0,0,118,0,97,0,105,0,0,0,118,0,97,0,110,0,0,0,118,0,101,0,99,0,0,0,118,0,101,0,112,0,0,0,118,0,105,0,99,0,0,0,118,0,105,0,118,0,0,0,118,0,108,0,115,0,0,0,118,0,109,0,102,0,0,0,118,0,109,0,119,0,0,0,118,0,111,0,116,0,0,0,118,0,114,0,111,0,0,0,118,0,117,0,110,0,0,0,118,0,117,0,116,0,0,0,119,0,97,0,106,0,0,0,119,0,97,0,108,0,0,0,119,0,97,0,119,0,0,0,119,0,98,0,112,0,0,0,119,0,98,0,113,0,0,0,119,0,99,0,105,0,0,0,119,0,101,0,114,0,0,0,119,0,103,0,98,0,0,0,119,0,103,0,105,0,0,0,119,0,103,0,119,0,0,0,119,0,104,0,103,0,0,0,119,0,105,0,98,0,0,0,119,0,105,0,118,0,0,0,119,0,108,0,115,0,0,0,119,0,110,0,99,0,0,0,119,0,110,0,105,0,0,0,119,0,110,0,117,0,0,0,119,0,110,0,121,0,0,0,119,0,111,0,98,0,0,0,119,0,111,0,115,0,0,0,119,0,114,0,115,0,0,0,119,0,116,0,109,0,0,0,119,0,117,0,117,0,0,0,119,0,117,0,118,0,0,0,120,0,97,0,118,0,0,0,120,0,98,0,97,0,0,0,120,0,105,0,97,0,0,0,120,0,107,0,104,0,0,0,120,0,108,0,99,0,0,0,120,0,108,0,100,0,0,0,120,0,109,0,102,0,0,0,120,0,110,0,116,0,0,0,120,0,111,0,103,0,0,0,120,0,111,0,110,0,0,0,120,0,112,0,101,0,0,0,120,0,112,0,114,0,0,0,120,0,114,0,98,0,0,0,120,0,114,0,113,0,0,0,120,0,115,0,106,0,0,0,120,0,115,0,109,0,0,0,120,0,119,0,101,0,0,0,121,0,97,0,111,0,0,0,121,0,97,0,112,0,0,0,121,0,97,0,116,0,0,0,121,0,98,0,98,0,0,0,121,0,98,0,100,0,0,0,121,0,98,0,121,0,0,0,121,0,100,0,100,0,0,0,121,0,101,0,114,0,0,0,121,0,103,0,114,0,0,0,121,0,103,0,119,0,0,0,121,0,105,0,121,0,0,0,121,0,108,0,101,0,0,0,121,0,108,0,108,0,0,0,121,0,109,0,97,0,0,0,121,0,110,0,113,0,0,0,121,0,111,0,110,0,0,0,121,0,114,0,98,0,0,0,121,0,114,0,101,0,0,0,121,0,117,0,97,0,0,0,121,0,117,0,106,0,0,0,121,0,117,0,116,0,0,0,121,0,117,0,117,0,0,0,121,0,117,0,119,0,0,0,122,0,97,0,103,0,0,0,122,0,97,0,105,0,0,0,122,0,97,0,112,0,0,0,122,0,100,0,106,0,0,0,122,0,101,0,97,0,0,0,122,0,103,0,104,0,0,0,122,0,104,0,120,0,0,0,122,0,105,0,114,0,0,0,122,0,107,0,100,0,0,0,122,0,107,0,116,0,0,0,122,0,108,0,109,0,0,0,122,0,121,0,98,0,0,0,76,0,97,0,116,0,110,0,0,0,65,0,114,0,97,0,98,0,0,0,68,0,101,0,118,0,97,0,0,0,67,0,121,0,114,0,108,0,0,0,69,0,116,0,104,0,105,0,0,0,72,0,97,0,110,0,116,0,0,0,84,0,104,0,97,0,105,0,0,0,66,0,101,0,110,0,103,0,0,0,67,0,97,0,110,0,115,0,0,0,72,0,97,0,110,0,115,0,0,0,67,0,111,0,112,0,116,0,0,0,72,0,101,0,98,0,114,0,0,0,83,0,117,0,110,0,100,0,0,0,77,0,121,0,109,0,114,0,0,0,71,0,114,0,101,0,107,0,0,0,77,0,97,0,114,0,99,0,0,0,84,0,101,0,108,0,117,0,0,0,82,0,117,0,110,0,114,0,0,0,78,0,115,0,104,0,117,0,0,0,84,0,102,0,110,0,103,0,0,0,84,0,105,0,98,0,116,0,0,0,75,0,116,0,104,0,105,0,0,0,75,0,110,0,100,0,97,0,0,0,87,0,99,0,104,0,111,0,0,0,65,0,118,0,115,0,116,0,0,0,68,0,117,0,112,0,108,0,0,0,71,0,117,0,114,0,117,0,0,0,76,0,105,0,115,0,117,0,0,0,80,0,114,0,116,0,105,0,0,0,71,0,101,0,111,0,114,0,0,0,72,0,109,0,110,0,112,0,0,0,75,0,97,0,110,0,97,0,0,0,75,0,111,0,114,0,101,0,0,0,76,0,97,0,111,0,111,0,0,0,78,0,107,0,111,0,111,0,0,0,84,0,97,0,109,0,108,0,0,0,66,0,114,0,97,0,105,0,0,0,67,0,104,0,97,0,109,0,0,0,67,0,112,0,114,0,116,0,0,0,71,0,108,0,97,0,103,0,0,0,73,0,116,0,97,0,108,0,0,0,74,0,97,0,109,0,111,0,0,0,75,0,97,0,108,0,105,0,0,0,75,0,104,0,111,0,106,0,0,0,77,0,111,0,110,0,103,0,0,0,77,0,114,0,111,0,111,0,0,0,78,0,97,0,103,0,109,0,0,0,79,0,103,0,97,0,109,0,0,0,79,0,115,0,109,0,97,0,0,0,80,0,104,0,97,0,103,0,0,0,83,0,97,0,114,0,98,0,0,0,83,0,104,0,97,0,119,0,0,0,83,0,105,0,100,0,100,0,0,0,83,0,105,0,110,0,104,0,0,0,84,0,97,0,118,0,116,0,0,0,88,0,112,0,101,0,111,0,0,0,72,0,117,0,110,0,103,0,0,0,77,0,117,0,108,0,116,0,0,0,83,0,111,0,121,0,111,0,0,0,83,0,121,0,108,0,111,0,0,0,84,0,111,0,116,0,111,0,0,0,65,0,100,0,108,0,109,0,0,0,65,0,103,0,104,0,98,0,0,0,65,0,104,0,111,0,109,0,0,0,65,0,114,0,109,0,105,0,0,0,65,0,114,0,109,0,110,0,0,0,66,0,97,0,108,0,105,0,0,0,66,0,97,0,109,0,117,0,0,0,66,0,97,0,115,0,115,0,0,0,66,0,97,0,116,0,107,0,0,0,66,0,104,0,107,0,115,0,0,0,66,0,111,0,112,0,111,0,0,0,66,0,114,0,97,0,104,0,0,0,66,0,117,0,103,0,105,0,0,0,66,0,117,0,104,0,100,0,0,0,67,0,97,0,107,0,109,0,0,0,67,0,97,0,114,0,105,0,0,0,67,0,104,0,101,0,114,0,0,0,67,0,104,0,114,0,115,0,0,0,67,0,112,0,109,0,110,0,0,0,68,0,105,0,97,0,107,0,0,0,68,0,111,0,103,0,114,0,0,0,69,0,103,0,121,0,112,0,0,0,69,0,108,0,98,0,97,0,0,0,69,0,108,0,121,0,109,0,0,0,71,0,111,0,110,0,103,0,0,0,71,0,111,0,110,0,109,0,0,0,71,0,111,0,116,0,104,0,0,0,71,0,114,0,97,0,110,0,0,0,71,0,117,0,106,0,114,0,0,0,72,0,97,0,110,0,98,0,0,0,72,0,97,0,110,0,103,0,0,0,72,0,97,0,110,0,105,0,0,0,72,0,97,0,110,0,111,0,0,0,72,0,105,0,114,0,97,0,0,0,72,0,108,0,117,0,119,0,0,0,72,0,109,0,110,0,103,0,0,0,74,0,97,0,118,0,97,0,0,0,74,0,112,0,97,0,110,0,0,0,75,0,97,0,119,0,105,0,0,0,75,0,104,0,97,0,114,0,0,0,75,0,104,0,109,0,114,0,0,0,75,0,105,0,116,0,115,0,0,0,76,0,97,0,110,0,97,0,0,0,76,0,101,0,112,0,99,0,0,0,76,0,105,0,109,0,98,0,0,0,76,0,105,0,110,0,97,0,0,0,76,0,105,0,110,0,98,0,0,0,76,0,121,0,99,0,105,0,0,0,76,0,121,0,100,0,105,0,0,0,77,0,97,0,104,0,106,0,0,0,77,0,97,0,107,0,97,0,0,0,77,0,97,0,110,0,100,0,0,0,77,0,97,0,110,0,105,0,0,0,77,0,101,0,100,0,102,0,0,0,77,0,101,0,110,0,100,0,0,0,77,0,101,0,114,0,99,0,0,0,77,0,101,0,114,0,111,0,0,0,77,0,108,0,121,0,109,0,0,0,77,0,111,0,100,0,105,0,0,0,77,0,116,0,101,0,105,0,0,0,78,0,97,0,110,0,100,0,0,0,78,0,97,0,114,0,98,0,0,0,78,0,98,0,97,0,116,0,0,0,78,0,101,0,119,0,97,0,0,0,79,0,108,0,99,0,107,0,0,0,79,0,114,0,107,0,104,0,0,0,79,0,114,0,121,0,97,0,0,0,79,0,115,0,103,0,101,0,0,0,79,0,117,0,103,0,114,0,0,0,80,0,97,0,108,0,109,0,0,0,80,0,97,0,117,0,99,0,0,0,80,0,101,0,114,0,109,0,0,0,80,0,104,0,108,0,105,0,0,0,80,0,104,0,108,0,112,0,0,0,80,0,104,0,110,0,120,0,0,0,80,0,108,0,114,0,100,0,0,0,82,0,106,0,110,0,103,0,0,0,82,0,111,0,104,0,103,0,0,0,83,0,97,0,109,0,114,0,0,0,83,0,97,0,117,0,114,0,0,0,83,0,103,0,110,0,119,0,0,0,83,0,104,0,114,0,100,0,0,0,83,0,105,0,110,0,100,0,0,0,83,0,111,0,103,0,100,0,0,0,83,0,111,0,103,0,111,0,0,0,83,0,111,0,114,0,97,0,0,0,83,0,121,0,114,0,99,0,0,0,84,0,97,0,103,0,98,0,0,0,84,0,97,0,107,0,114,0,0,0,84,0,97,0,108,0,101,0,0,0,84,0,97,0,108,0,117,0,0,0,84,0,97,0,110,0,103,0,0,0,84,0,103,0,108,0,103,0,0,0,84,0,104,0,97,0,97,0,0,0,84,0,105,0,114,0,104,0,0,0,84,0,110,0,115,0,97,0,0,0,85,0,103,0,97,0,114,0,0,0,86,0,97,0,105,0,105,0,0,0,86,0,105,0,116,0,104,0,0,0,87,0,97,0,114,0,97,0,0,0,88,0,115,0,117,0,120,0,0,0,89,0,101,0,122,0,105,0,0,0,89,0,105,0,105,0,105,0,0,0,90,0,97,0,110,0,98,0,0,0,115,0,107,0,105,0,112,0,0,0,48,0,49,0,50,0,51,0,52,0,53,0,0,0,115,0,99,0,114,0,105,0,112,0,116,0,0,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,0,0,206,1,38,7,42,7,98,7,43,4,134,7,254,7,154,7,186,7,186,4,182,4,162,7,82,15,206,5,87,3,178,7,87,3,77,27,67,3,26,8,31,4,58,8,42,23,86,8,198,16,126,8,163,4,130,8,182,20,138,8,107,3,146,8,59,4,166,8,38,6,194,8,190,4,214,8,206,4,38,9,202,8,3,6,134,3,62,9,158,12,78,9,102,9,106,9,214,11,134,9,122,10,150,9,46,12,174,9,242,3,26,10,242,8,62,10,139,4,86,10,94,5,90,10,210,4,166,10,10,4,182,10,63,3,214,10,10,19,218,10,6,11,246,10,174,5,254,10,158,6,2,11,63,3,14,11,134,5,26,4,242,21,54,11,159,4,58,11,188,1,66,11,238,4,82,11,62,20,138,11,138,3,150,11,122,5,162,11,166,11,170,11,186,3,174,11,158,11,182,11,38,12,186,11,14,8,206,11,167,3,218,11,78,5,250,11,18,4,2,12,22,12,6,12,115,3,18,12,102,11,74,12,119,4,78,12,202,7,142,3,146,3,102,12,131,4,154,12,199,3,210,12,55,3,230,12,65,1,42,13,122,11,54,13,171,4,58,13,102,25,70,13,6,5,114,13,91,4,118,13,95,3,130,13,2,4,134,13,14,5,138,13,246,4,142,13,254,13,158,13,234,7,178,13,78,5,202,13,2,5,234,13,219,3,250,13,222,20,14,14,95,4,22,14,10,12,58,14,254,4,74,14,113,26,82,14,118,14,102,14,166,5,138,14,30,15,174,14,14,21,186,14,87,4,218,14,147,4,234,14,238,14,246,14,34,13,71,4,127,4,151,4,67,4,30,5,250,4,38,15,34,5,54,15,250,3,135,6,91,3,191,1,191,3,38,4,66,26,190,15,194,23,194,15,250,19,206,15,30,16,218,15,167,3,38,16,79,3,54,16,135,4,62,16,75,4,66,16,50,5,78,16,10,17,102,16,234,5,110,16,203,3,150,16,182,9,62,5,110,3,242,16,90,13,6,17,22,4,22,17,194,5,66,5,58,5,70,5,230,4,74,5,110,3,82,5,110,3,70,17,178,16,82,17,202,9,118,17,114,3,162,17,250,21,198,17,26,20,202,17,46,22,6,18,194,1,18,18,143,3,34,18,167,4,46,18,99,3,118,18,202,10,162,18,42,15,178,18,218,4,242,18,146,3,246,18,142,6,139,6,163,3,2,19,158,25,54,19,118,5,82,19,138,5,106,19,234,4,110,19,2,4,134,19,222,7,146,19,118,5,194,19,178,6,218,19,150,20,226,19,70,12,246,19,42,4,30,6,134,8,70,20,146,20,98,20,222,19,102,20,22,6,122,20,230,11,134,20,235,3,174,20,134,5,218,20,230,9,242,20,47,4,30,21,51,4,46,21,2,4,62,21,34,17,74,21,107,4,86,21,102,7,102,21,123,3,106,21,123,3,146,21,79,4,150,21,158,14,158,21,126,21,162,21,86,5,178,3,202,4,186,21,102,17,206,21,17,27,226,21,218,21,150,3,27,4,34,22,86,12,50,22,70,22,90,22,163,3,106,22,18,8,102,4,110,14,138,22,83,3,158,22,123,4,62,6,6,15,238,22,250,3,254,22,155,4,158,5,46,5,182,3,242,3,70,23,42,5,78,23,197,1,114,23,58,6,118,23,190,24,138,23,131,3,186,5,110,3,222,23,130,9,230,23,70,24,242,23,2,21,246,23,250,3,250,23,215,3,126,4,10,15,254,23,254,21,126,3,146,24,203,1,238,3,22,24,130,6,34,24,166,24,38,24,110,15,190,5,178,5,110,24,14,4,42,3,199,3,198,24,118,11,202,24,162,3,198,5,242,4,230,24,151,3,218,3,115,4,70,25,62,25,222,3,114,20,150,4,206,20,134,25,150,10,138,25,82,7,142,25,42,25,170,25,54,5,182,25,234,4,186,25,110,23,186,6,226,4,214,25,10,4,222,25,91,3,70,3,254,25,238,25,218,6,250,25,246,17,210,6,70,19,214,6,170,4,26,26,230,3,38,26,42,26,62,26,54,6,174,4,99,3,78,26,187,3,246,18,0,0,0,0,0,0,139,29,151,29,0,0,35,4,82,26,78,0,30,7,82,26,3,0,34,7,82,26,3,0,46,7,82,26,3,0,89,26,97,26,126,0,50,7,82,26,3,0,54,7,97,26,3,0,58,7,82,26,93,0,62,7,82,26,3,0,66,7,82,26,3,0,70,7,82,26,3,0,74,7,82,26,9,0,78,7,82,26,72,0,86,7,82,26,93,0,90,7,82,26,3,0,94,7,82,26,3,0,43,4,182,26,255,0,106,7,97,26,12,0,110,7,82,26,3,0,119,6,202,26,30,0,182,4,87,26,228,0,114,7,82,26,3,0,99,4,82,26,57,0,118,7,82,26,3,0,122,7,82,26,3,0,126,7,82,26,3,0,57,27,82,26,3,0,130,7,82,26,3,0,138,7,82,26,21,0,142,7,82,26,3,0,146,7,82,26,3,0,150,7,141,27,6,0,158,7,82,26,3,0,186,4,87,26,228,0,199,3,82,26,93,0,166,7,119,29,135,0,170,7,82,26,3,0,87,3,82,26,168,0,37,27,82,26,3,0,174,7,82,26,59,1,182,7,97,26,12,0,23,4,102,26,78,0,190,7,82,26,3,0,194,7,82,26,3,0,32,27,82,26,39,0,198,7,82,26,3,0,123,6,82,26,75,0,206,7,82,26,3,0,210,7,82,26,3,0,214,7,82,26,39,0,218,7,82,26,3,0,226,7,82,26,3,0,230,7,82,26,3,0,238,7,82,26,9,0,242,7,87,26,3,0,246,7,87,26,156,0,250,7,82,26,3,0,2,8,82,26,3,0,6,8,82,26,3,0,10,8,82,26,3,0,67,3,87,26,186,0,158,26,146,27,30,0,158,26,185,28,128,1,158,26,220,28,225,0,22,8,82,26,3,0,31,4,151,27,68,1,30,8,82,26,89,1,34,8,82,26,252,0,38,8,87,26,183,0,42,8,87,26,219,0,46,8,87,26,102,0,50,8,87,26,186,0,191,6,117,26,6,0,54,8,82,26,45,0,210,5,19,29,36,0,62,8,82,26,3,0,66,8,82,26,3,0,70,8,82,26,75,0,74,8,82,26,3,0,78,8,82,26,3,0,82,8,82,26,18,0,90,8,82,26,3,0,195,6,97,26,12,0,94,8,87,26,3,0,98,8,82,26,3,0,97,27,82,26,3,0,102,8,82,26,3,0,106,8,92,26,6,0,110,8,82,26,3,0,114,8,82,26,3,0,118,8,82,26,3,0,163,4,82,26,252,0,122,8,82,26,3,0,107,3,82,26,174,0,107,3,87,26,135,0,107,3,87,26,30,0,107,3,97,26,12,0,199,6,97,26,12,0,190,4,87,26,27,0,194,4,82,26,9,0,142,8,92,26,33,0,59,4,82,26,75,0,150,8,82,26,71,1,154,8,82,26,21,0,158,8,82,26,3,0,162,8,161,27,21,0,170,8,82,26,3,0,174,8,82,26,3,0,198,4,82,26,9,0,178,8,82,26,3,0,182,8,82,26,21,0,186,8,82,26,3,0,190,8,82,26,3,0,198,8,82,26,3,0,206,8,82,26,3,0,210,8,82,26,123,0,206,4,82,26,24,0,218,8,82,26,3,0,222,8,82,26,3,0,226,8,82,26,3,0,230,8,102,26,3,0,234,8,82,26,3,0,238,8,82,26,3,0,51,6,97,26,1,2,246,8,82,26,3,0,250,8,82,26,3,0,254,8,87,26,66,0,2,9,82,26,185,1,6,9,82,26,3,0,10,9,82,26,9,0,14,9,82,26,3,0,18,9,82,26,45,0,22,9,82,26,21,0,26,9,1,27,6,0,30,9,87,26,27,0,202,4,92,26,6,0,111,4,97,26,80,1,34,9,92,26,6,0,42,9,87,26,27,0,46,9,152,26,42,0,134,3,92,26,6,0,50,9,92,26,6,0,54,9,82,26,3,0,58,9,92,26,6,0,66,9,82,26,3,0,70,9,82,26,3,0,155,6,82,26,182,1,74,9,82,26,3,0,82,9,82,26,3,0,86,9,82,26,3,0,90,9,82,26,39,0,94,9,82,26,3,0,98,9,82,26,3,0,110,9,82,26,3,0,114,9,102,26,3,0,118,9,92,26,6,0,122,9,82,26,9,0,126,9,82,26,3,0,138,9,82,26,3,0,142,9,82,26,111,0,146,9,82,26,3,0,154,9,82,26,3,0,158,9,82,26,21,0,162,9,82,26,3,0,78,3,82,26,24,0,166,9,82,26,3,0,170,9,82,26,18,0,242,3,82,26,87,0,178,9,96,27,162,0,239,5,82,26,63,0,186,9,82,26,3,0,190,9,82,26,3,0,194,9,82,26,63,0,198,9,82,26,3,0,30,3,117,26,117,0,206,9,82,26,3,0,210,9,82,26,3,0,214,9,82,26,3,0,215,3,182,26,15,0,218,9,82,26,3,0,222,9,82,26,3,0,226,9,82,26,3,0,234,9,117,26,6,0,238,9,82,26,3,0,242,9,87,26,30,0,246,9,82,26,3,0,250,9,82,26,123,0,127,6,82,26,81,0,254,9,92,26,6,0,2,10,87,26,27,0,6,10,92,26,6,0,10,10,82,26,3,0,33,3,82,26,77,1,14,10,82,26,3,0,86,3,166,27,26,1,18,10,82,26,21,0,22,10,102,26,3,0,30,10,82,26,24,0,34,10,82,26,3,0,38,10,92,26,27,0,210,4,97,26,12,0,42,10,82,26,62,1,46,10,82,26,3,0,214,4,82,26,9,0,50,10,82,26,3,0,54,10,82,26,21,0,58,10,82,26,3,0,139,4,147,26,84,0,66,10,82,26,3,0,70,10,82,26,3,0,74,10,82,26,8,1,78,10,82,26,3,0,82,10,82,26,3,0,214,5,82,26,3,0,94,5,82,26,54,0,94,10,82,26,3,0,98,10,102,26,189,0,102,10,82,26,3,0,106,10,82,26,3,0,110,10,82,26,21,0,114,10,82,26,3,0,118,10,82,26,3,0,126,10,82,26,63,0,130,10,82,26,3,0,134,10,82,26,3,0,138,10,82,26,3,0,103,4,82,26,75,0,142,10,82,26,36,0,146,10,82,26,3,0,154,10,82,26,3,0,158,10,82,26,39,0,162,10,201,27,117,0,19,6,97,26,12,0,170,10,82,26,24,0,174,10,82,26,3,0,178,10,82,26,72,0,159,6,82,26,116,1,63,3,127,26,15,0,63,3,107,26,243,0,63,3,107,26,83,1,63,3,107,26,5,1,63,3,107,26,122,1,63,3,107,26,9,0,63,3,107,26,146,1,63,3,107,26,41,1,63,3,107,26,24,0,63,3,107,26,38,1,63,3,107,26,50,1,63,3,107,26,69,0,63,3,107,26,231,0,63,3,107,26,60,0,63,3,107,26,36,0,63,3,107,26,162,0,63,3,181,27,231,0,63,3,20,28,231,0,186,10,82,26,99,0,218,4,97,26,12,0,198,26,82,26,36,0,190,10,82,26,18,0,194,10,211,27,36,0,198,10,82,26,36,0,206,10,87,26,14,1,210,10,11,27,162,0,190,3,82,26,3,0,222,10,87,26,135,0,226,10,82,26,3,0,230,10,82,26,3,0,234,10,82,26,3,0,238,10,82,26,3,0,242,10,82,26,18,0,174,5,49,29,135,0,250,10,82,26,3,0,222,4,116,27,138,0,163,6,82,26,81,0,10,11,132,26,186,0,18,11,82,26,24,0,159,4,122,26,18,0,22,11,82,26,18,0,26,11,97,26,147,0,30,11,122,26,18,0,34,11,122,26,18,0,38,11,82,26,167,1,188,1,82,26,98,1,42,11,82,26,213,0,46,11,122,26,18,0,50,11,225,28,84,0,63,4,97,26,12,0,63,4,21,27,80,1,55,6,97,26,12,0,115,4,82,26,60,0,194,26,82,26,101,1,62,11,82,26,3,0,238,4,82,26,123,0,70,11,82,26,3,0,74,11,82,26,3,0,78,11,82,26,36,0,86,11,97,26,12,0,90,11,82,26,54,0,94,11,82,26,3,0,98,11,82,26,3,0,106,11,87,26,6,0,110,11,82,26,3,0,95,3,82,26,48,0,114,11,82,26,3,0,226,4,82,26,18,0,126,11,82,26,3,0,130,11,82,26,3,0,134,11,82,26,3,0,230,4,87,26,3,0,138,3,92,26,6,0,142,11,82,26,18,0,146,11,82,26,3,0,122,5,92,26,6,0,154,11,82,26,3,0,186,3,82,26,42,0,178,11,82,26,141,0,190,11,140,28,39,0,194,11,82,26,3,0,198,11,82,26,3,0,202,11,82,26,3,0,167,3,97,26,138,0,167,3,46,27,15,0,210,11,82,26,3,0,222,11,102,26,3,0,226,11,82,26,48,0,234,11,82,26,63,0,110,3,82,26,87,0,238,11,82,26,3,0,218,5,92,26,33,0,242,11,82,26,21,0,246,11,82,26,3,0,18,4,82,26,3,0,254,11,82,26,3,0,115,3,82,26,144,0,39,4,84,29,152,1,14,12,82,26,3,0,26,12,82,26,3,0,30,12,82,26,111,0,34,12,82,26,177,0,42,12,82,26,3,0,50,12,82,26,54,0,7,6,82,26,93,0,54,12,82,26,39,0,58,12,82,26,51,0,62,12,236,27,186,0,66,12,82,26,3,0,119,4,82,26,107,1,194,3,36,27,84,0,219,3,152,26,132,0,242,4,82,26,3,0,82,12,82,26,3,0,146,3,82,26,64,2,146,3,252,26,129,0,71,3,82,26,36,0,71,3,81,27,60,0,90,12,82,26,3,0,94,12,82,26,3,0,131,6,82,26,74,3,98,12,82,26,3,0,59,3,82,26,75,0,246,4,0,28,6,0,131,4,82,26,36,0,106,12,82,26,36,0,110,12,82,26,3,0,114,12,26,27,51,0,118,12,82,26,3,0,122,12,82,26,3,0,126,12,82,26,21,0,130,12,82,26,75,0,250,4,82,26,3,0,123,3,87,26,30,0,134,12,82,26,3,0,138,12,82,26,3,0,142,12,82,26,3,0,146,12,82,26,3,0,150,12,82,26,8,1,65,1,82,26,111,0,65,1,131,27,129,0,162,12,82,26,3,0,166,12,82,26,63,0,75,6,82,26,192,0,170,12,87,26,66,0,238,3,82,26,24,0,174,12,82,26,108,0,36,3,82,26,195,0,178,12,82,26,3,0,182,12,82,26,3,0,11,6,82,26,52,2,186,12,82,26,3,0,190,12,82,26,249,0,194,12,82,26,3,0,198,12,82,26,3,0,202,12,82,26,3,0,55,3,82,26,81,0,206,12,82,26,36,0,214,12,82,26,81,0,218,12,82,26,48,0,222,12,82,26,48,0,226,12,87,26,21,0,234,12,82,26,56,1,238,12,82,26,3,0,242,12,82,26,129,0,246,12,82,26,3,0,250,12,82,26,141,0,254,12,82,26,51,0,2,13,82,26,39,0,6,13,82,26,3,0,10,13,82,26,66,0,243,5,82,26,144,0,107,6,82,26,11,1,14,13,82,26,93,0,18,13,82,26,3,0,22,13,82,26,29,1,26,13,82,26,3,0,30,13,82,26,3,0,62,27,82,26,3,0,38,13,127,26,15,0,46,13,82,26,3,0,50,13,82,26,9,0,171,4,82,26,78,0,254,4,82,26,3,0,62,13,82,26,3,0,66,13,92,26,6,0,6,5,82,26,3,0,74,13,82,26,3,0,78,13,87,26,30,0,82,13,82,26,5,1,59,6,82,26,60,0,86,13,82,26,3,0,94,13,82,26,3,0,98,13,82,26,3,0,102,13,82,26,3,0,106,13,82,26,3,0,110,13,82,26,3,0,91,4,227,26,126,0,122,13,102,26,78,0,126,13,82,26,3,0,14,5,92,26,33,0,146,13,82,26,3,0,150,13,82,26,131,1,154,13,82,26,3,0,162,13,87,26,27,0,166,13,82,26,3,0,170,13,87,26,27,0,222,5,82,26,3,0,174,13,82,26,3,0,63,6,82,26,75,0,182,13,87,26,30,0,186,13,82,26,3,0,190,13,102,26,3,0,95,4,82,26,196,2,194,13,82,26,3,0,198,13,82,26,3,0,2,5,162,26,6,0,206,13,82,26,3,0,210,13,102,26,3,0,214,13,82,26,3,0,218,13,92,26,6,0,222,13,82,26,9,0,226,13,82,26,144,0,230,13,5,28,147,0,10,5,16,27,180,0,10,5,105,28,132,0,238,13,117,26,6,0,242,13,82,26,3,0,246,13,82,26,150,0,79,6,15,28,6,0,2,14,82,26,120,0,6,14,82,26,92,1,10,14,82,26,3,0,18,14,82,26,93,0,26,14,82,26,3,0,30,14,82,26,3,0,34,14,82,26,54,0,23,6,82,26,91,2,38,14,82,26,3,0,42,14,82,26,3,0,46,14,87,26,3,0,50,14,82,26,18,0,54,14,87,26,3,0,90,3,82,26,3,0,119,3,82,26,39,0,119,3,87,26,66,0,119,3,87,26,21,0,72,27,82,26,3,0,62,14,127,26,15,0,12,27,82,26,3,0,82,27,82,26,36,0,66,14,87,26,114,0,70,14,82,26,3,0,78,14,102,26,3,0,67,4,137,26,198,0,30,4,82,26,3,0,189,26,92,26,6,0,189,26,82,26,6,0,86,14,82,26,3,0,18,5,82,26,195,0,90,14,82,26,3,0,94,14,82,26,3,0,98,14,82,26,24,0,166,5,92,26,6,0,106,14,82,26,3,0,226,5,45,28,42,0,114,14,250,28,15,0,122,14,82,26,3,0,126,14,87,26,27,0,130,14,92,26,6,0,22,5,232,26,36,0,26,5,82,26,24,0,230,5,87,26,27,0,199,26,82,26,44,1,174,3,92,26,6,0,42,27,92,26,6,0,134,14,82,26,3,0,123,4,82,26,79,2,142,14,82,26,48,0,146,14,127,26,15,0,247,5,82,26,82,2,174,26,82,26,125,1,150,14,82,26,3,0,154,14,82,26,18,0,251,5,82,26,153,0,227,6,82,26,74,3,162,14,82,26,3,0,166,14,82,26,3,0,170,14,82,26,39,0,178,14,82,26,3,0,182,14,82,26,3,0,87,4,82,26,94,2,190,14,82,26,3,0,127,4,82,26,9,0,87,27,82,26,3,0,194,14,82,26,3,0,198,14,82,26,3,0,202,14,82,26,156,0,83,6,82,26,39,0,206,14,82,26,3,0,210,14,82,26,3,0,27,6,129,29,15,0,214,14,82,26,3,0,147,4,122,26,18,0,222,14,82,26,3,0,226,14,82,26,3,0,230,14,82,26,3,0,242,14,82,26,24,0,250,14,82,26,3,0,71,4,82,26,9,0,92,27,97,26,12,0,87,6,82,26,74,3,254,14,82,26,3,0,2,15,82,26,3,0,223,3,82,26,51,0,151,4,137,26,198,0,14,15,82,26,3,0,18,15,82,26,3,0,22,15,82,26,12,0,30,5,82,26,3,0,227,3,60,28,201,0,26,15,82,26,3,0,34,15,82,26,100,2,34,5,82,26,3,0,46,15,82,26,74,3,50,15,82,26,3,0,58,15,82,26,3,0,62,15,82,26,21,0,91,3,137,26,74,3,66,15,82,26,3,0,70,15,82,26,45,0,74,15,92,26,33,0,78,15,82,26,3,0,86,15,82,26,101,1,191,3,82,26,9,0,191,1,82,26,9,0,34,4,97,26,159,0,90,15,82,26,183,0,94,15,82,26,84,0,98,15,82,26,3,0,102,15,82,26,3,0,106,15,82,26,39,0,114,15,82,26,54,0,118,15,82,26,63,0,122,15,65,28,9,0,38,5,97,26,12,0,238,5,82,26,3,0,126,15,82,26,3,0,130,15,82,26,3,0,134,15,82,26,3,0,138,15,87,26,141,0,142,15,82,26,39,0,146,15,82,26,165,0,150,15,82,26,3,0,154,15,82,26,3,0,158,15,82,26,45,0,162,15,82,26,156,0,166,15,82,26,3,0,246,3,112,26,69,0,170,15,82,26,95,1,174,15,82,26,21,0,178,15,82,26,3,0,182,15,82,26,123,0,186,15,92,26,6,0,242,5,92,26,6,0,75,4,82,26,90,0,198,15,82,26,9,0,202,15,82,26,3,0,210,15,82,26,120,0,118,3,82,26,6,0,214,15,69,29,15,0,222,15,92,26,6,0,226,15,82,26,63,0,230,15,82,26,3,0,246,5,147,26,6,0,234,15,87,26,27,0,250,5,82,26,3,0,11,4,82,26,54,0,238,15,82,26,3,0,242,15,82,26,42,0,246,15,82,26,3,0,255,5,82,26,153,0,250,15,82,26,3,0,254,15,247,26,207,0,2,16,82,26,3,0,6,16,82,26,3,0,127,3,97,26,20,1,127,3,87,26,114,0,127,3,87,26,15,0,127,3,87,26,30,0,127,3,87,26,138,0,10,16,82,26,3,0,254,5,82,26,21,0,91,6,82,26,61,2,42,5,82,26,54,0,14,16,82,26,3,0,18,16,82,26,3,0,22,16,82,26,3,0,235,5,75,28,14,1,46,5,82,26,171,0,26,16,82,26,3,0,34,16,82,26,3,0,79,3,82,26,42,0,79,3,87,26,23,1,79,3,87,26,135,0,79,3,124,29,126,0,42,16,82,26,3,0,46,16,82,26,3,0,50,16,82,26,3,0,223,5,192,26,6,0,135,4,82,26,3,0,58,16,82,26,119,1,50,5,92,26,6,0,70,16,82,26,3,0,171,3,242,26,17,1,74,16,97,26,12,0,82,16,82,26,3,0,86,16,82,26,99,0,90,16,82,26,3,0,54,5,82,26,26,1,94,16,82,26,3,0,98,16,82,26,3,0,106,16,82,26,3,0,203,3,97,26,12,0,114,16,82,26,3,0,118,16,82,26,3,0,122,16,82,26,3,0,126,16,82,26,3,0,130,16,102,26,3,0,134,16,97,26,12,0,138,16,82,26,222,0,142,16,82,26,24,0,146,16,82,26,12,0,154,16,82,26,3,0,58,5,92,26,6,0,67,6,87,26,6,0,158,16,82,26,45,0,162,16,82,26,3,0,166,16,82,26,21,0,170,16,82,26,48,0,174,16,82,26,3,0,182,16,82,26,3,0,186,16,102,26,3,0,190,16,82,26,3,0,194,16,82,26,3,0,62,5,82,26,87,0,202,16,82,26,3,0,206,16,82,26,3,0,210,16,82,26,3,0,214,16,82,26,3,0,218,16,97,26,12,0,222,16,82,26,3,0,226,16,82,26,3,0,230,16,82,26,3,0,234,16,82,26,3,0,238,16,82,26,9,0,246,16,87,26,27,0,15,6,82,26,60,0,250,16,82,26,3,0,254,16,82,26,18,0,2,17,82,26,3,0,22,4,82,26,3,0,14,17,82,26,3,0,18,17,102,26,3,0,194,5,82,26,3,0,66,5,92,26,6,0,26,17,112,26,69,0,30,17,87,26,27,0,38,17,82,26,3,0,42,17,82,26,3,0,195,3,97,26,106,2,195,3,87,26,15,0,195,3,82,26,42,0,46,17,82,26,3,0,50,17,82,26,3,0,70,5,87,26,3,0,74,5,82,26,87,0,54,17,82,26,3,0,82,5,82,26,87,0,167,6,82,26,179,1,58,17,100,28,132,0,62,17,137,26,198,0,22,27,82,26,45,0,86,5,87,26,27,0,66,17,82,26,72,0,74,17,82,26,3,0,207,5,82,26,137,1,78,17,97,26,12,0,86,17,82,26,3,0,90,17,82,26,9,0,94,17,82,26,3,0,98,17,112,26,15,0,106,17,82,26,3,0,110,17,82,26,3,0,114,17,82,26,3,0,122,17,82,26,3,0,126,17,90,28,6,0,130,17,82,26,3,0,134,17,82,26,3,0,138,17,97,26,12,0,203,6,82,26,72,0,142,17,82,26,3,0,111,6,82,26,144,0,146,17,82,26,3,0,150,17,82,26,3,0,90,5,92,26,33,0,90,5,95,28,6,0,154,17,82,26,3,0,158,17,82,26,3,0,166,17,82,26,51,0,170,17,82,26,18,0,174,17,217,26,15,0,178,17,82,26,9,0,182,17,87,26,30,0,186,17,82,26,36,0,190,17,82,26,3,0,194,17,82,26,3,0,206,17,162,26,6,0,210,17,82,26,51,0,214,17,82,26,3,0,31,6,82,26,90,0,218,17,82,26,3,0,222,17,82,26,3,0,123,27,247,26,207,0,46,4,82,26,3,0,226,17,82,26,3,0,230,17,82,26,90,0,50,4,82,26,3,0,234,17,82,26,3,0,238,17,82,26,185,1,242,17,87,26,30,0,113,27,82,26,134,1,54,4,82,26,140,1,227,5,82,26,90,0,250,17,82,26,90,0,254,17,82,26,54,0,2,18,87,26,30,0,194,1,82,26,140,1,10,18,112,26,69,0,62,3,127,26,15,0,14,18,82,26,42,0,143,3,97,26,143,1,22,18,82,26,9,0,26,18,82,26,21,0,30,18,92,26,6,0,98,5,92,26,6,0,102,5,82,26,9,0,167,4,82,26,172,2,38,18,82,26,54,0,42,18,82,26,3,0,99,3,82,26,87,0,99,3,87,26,4,2,50,18,82,26,105,0,2,6,82,26,3,0,54,18,82,26,3,0,58,18,82,26,3,0,62,18,82,26,3,0,66,18,82,26,3,0,70,18,82,26,3,0,74,18,82,26,3,0,78,18,82,26,3,0,82,18,82,26,3,0,86,18,82,26,3,0,90,18,82,26,3,0,94,3,87,26,3,0,94,18,97,26,12,0,98,18,82,26,24,0,102,18,82,26,3,0,106,18,82,26,9,0,110,18,102,26,3,0,114,18,82,26,3,0,6,6,82,26,3,0,122,18,82,26,3,0,106,5,82,26,222,0,126,18,82,26,54,0,130,18,82,26,3,0,58,4,82,26,3,0,122,3,87,26,69,0,134,18,82,26,32,1,138,18,82,26,3,0,10,6,82,26,3,0,142,18,82,26,3,0,79,4,82,26,136,2,146,18,82,26,96,0,150,18,82,26,3,0,154,18,82,26,21,0,158,18,92,26,33,0,166,18,82,26,45,0,15,4,82,26,139,2,170,18,82,26,3,0,174,18,82,26,3,0,182,18,82,26,18,0,186,18,82,26,3,0,190,18,82,26,9,0,194,18,82,26,3,0,198,18,87,26,3,0,202,18,82,26,3,0,206,18,82,26,3,0,14,6,82,26,3,0,207,6,160,28,6,0,210,18,82,26,3,0,214,18,82,26,3,0,218,18,82,26,66,0,222,18,82,26,3,0,226,18,82,26,3,0,230,18,82,26,3,0,234,18,82,26,3,0,238,18,82,26,3,0,110,5,117,26,6,0,114,5,147,26,84,0,163,3,82,26,47,1,250,18,82,26,3,0,254,18,82,26,18,0,6,19,82,26,18,0,14,19,82,26,177,0,18,19,82,26,3,0,22,19,82,26,3,0,26,19,82,26,3,0,30,19,82,26,3,0,34,19,82,26,3,0,38,19,82,26,3,0,149,26,92,26,6,0,42,19,92,26,33,0,46,19,97,26,12,0,50,19,51,27,117,0,211,6,82,26,148,2,58,19,82,26,3,0,62,19,82,26,3,0,66,19,82,26,3,0,74,19,92,26,6,0,78,19,82,26,21,0,138,5,92,26,6,0,86,19,82,26,3,0,90,19,82,26,36,0,94,19,82,26,3,0,98,19,82,26,3,0,102,19,87,26,27,0,114,19,82,26,63,0,118,19,82,26,9,0,122,19,232,26,36,0,126,19,82,26,165,0,130,19,82,26,3,0,138,19,82,26,3,0,142,19,102,26,3,0,150,19,97,26,12,0,154,19,82,26,3,0,158,19,82,26,72,0,162,19,130,28,30,0,166,19,82,26,3,0,170,19,82,26,3,0,174,19,87,26,30,0,178,19,82,26,3,0,182,19,82,26,3,0,186,19,82,26,3,0,171,6,82,26,163,2,190,19,82,26,3,0,198,19,82,26,3,0,198,3,82,26,3,0,202,19,127,26,15,0,206,19,82,26,51,0,210,19,82,26,153,0,214,19,82,26,3,0,183,3,82,26,210,0,230,19,82,26,3,0,18,6,82,26,3,0,234,19,82,26,3,0,238,19,82,26,105,0,242,19,82,26,3,0,62,4,82,26,3,0,144,26,82,26,165,0,254,19,82,26,96,0,2,20,82,26,48,0,235,3,92,26,33,0,6,20,82,26,3,0,126,5,92,26,33,0,10,20,82,26,3,0,54,3,82,26,3,0,108,27,82,26,153,0,14,20,82,26,3,0,18,20,82,26,3,0,22,20,82,26,96,0,30,20,82,26,3,0,66,4,82,26,105,0,34,20,82,26,105,0,38,20,82,26,3,0,26,6,82,26,3,0,42,20,82,26,9,0,70,4,82,26,3,0,46,20,82,26,169,2,50,20,82,26,3,0,54,20,82,26,3,0,58,20,82,26,6,0,74,4,82,26,3,0,66,20,82,26,3,0,78,4,82,26,21,0,74,20,82,26,3,0,143,6,82,26,210,0,78,20,82,26,3,0,82,20,82,26,21,0,86,20,82,26,3,0,90,20,82,26,3,0,94,20,197,26,6,0,231,5,82,26,210,0,106,20,85,28,69,0,110,20,92,26,6,0,118,20,167,26,108,0,126,20,82,26,3,0,130,20,82,26,3,0,138,20,252,26,129,0,175,6,82,26,57,0,142,20,82,26,3,0,154,20,122,26,18,0,34,6,82,26,3,0,82,4,82,26,57,0,158,20,82,26,3,0,162,20,94,29,6,0,166,20,82,26,3,0,170,20,82,26,3,0,178,20,82,26,3,0,186,20,82,26,3,0,190,20,82,26,223,2,194,20,82,26,3,0,198,20,82,26,3,0,39,3,82,26,36,0,202,20,82,26,3,0,210,20,82,26,15,0,214,20,82,26,3,0,179,6,82,26,35,1,226,20,82,26,45,0,230,20,82,26,72,0,234,20,82,26,93,0,175,3,82,26,81,0,175,3,82,26,75,0,238,20,82,26,3,0,47,4,122,26,18,0,246,20,122,26,18,0,250,20,82,26,18,0,254,20,82,26,3,0,202,3,82,26,3,0,47,27,82,26,3,0,6,21,82,26,3,0,10,21,82,26,3,0,18,21,82,26,3,0,51,4,205,28,6,0,22,21,82,26,3,0,26,21,87,26,3,0,215,6,97,26,126,0,34,21,210,28,36,0,42,6,87,26,3,0,38,21,200,28,138,0,42,21,215,28,234,6,50,21,82,26,3,0,179,3,212,26,6,0,179,3,87,26,27,0,54,21,82,26,24,0,130,5,235,28,30,0,130,5,240,28,15,0,58,21,82,26,24,0,254,3,82,26,74,1,66,21,82,26,193,2,70,21,82,26,3,0,107,4,87,26,114,0,78,21,82,26,81,0,82,21,82,26,39,0,90,21,82,26,36,0,94,21,82,26,18,0,98,21,82,26,3,0,102,27,101,27,30,0,110,21,82,26,3,0,114,21,82,26,48,0,118,21,87,26,3,0,122,21,245,28,23,1,130,21,82,26,3,0,134,21,82,26,3,0,86,4,82,26,164,1,90,4,186,27,6,0,138,21,82,26,54,0,209,26,82,26,213,0,142,21,82,26,3,0,154,21,82,26,51,0,166,21,82,26,3,0,170,21,82,26,3,0,174,21,152,26,132,0,178,21,82,26,99,0,178,3,92,26,6,0,182,21,82,26,3,0,190,21,82,26,18,0,194,21,70,28,27,0,198,21,87,26,30,0,202,21,82,26,74,3,210,21,82,26,3,0,134,26,82,26,120,0,214,21,82,26,3,0,222,21,82,26,110,1,230,21,82,26,3,0,27,4,82,26,155,1,234,21,82,26,113,1,238,21,82,26,104,1,7,27,82,26,3,0,246,21,82,26,3,0,2,22,82,26,161,1,142,5,82,26,9,0,6,22,82,26,3,0,10,22,82,26,3,0,94,4,82,26,51,0,146,5,4,29,84,0,14,22,82,26,6,0,150,5,177,26,102,0,150,5,82,26,144,0,18,22,92,26,33,0,22,22,117,26,117,0,219,6,82,26,150,0,26,22,82,26,192,0,30,22,82,26,150,0,38,22,87,26,30,0,42,22,82,26,108,0,71,6,82,26,242,1,54,22,82,26,3,0,58,22,82,26,96,0,62,22,82,26,9,0,66,22,82,26,45,0,52,27,82,26,3,0,74,22,82,26,3,0,78,22,82,26,195,0,214,26,97,26,12,0,82,22,97,26,147,0,86,22,82,26,164,1,115,6,82,26,211,2,94,22,82,26,45,0,46,6,82,26,3,0,98,22,237,26,201,0,103,3,92,26,6,0,98,4,82,26,93,0,102,22,97,26,12,0,110,22,82,26,54,0,114,22,82,26,9,0,118,22,195,28,6,0,122,22,82,26,111,0,126,22,14,29,6,0,130,22,82,26,3,0,50,6,82,26,3,0,134,22,82,26,45,0,197,1,82,26,51,0,83,3,97,26,216,0,83,3,82,26,12,0,83,3,82,26,130,2,83,3,82,26,47,1,83,3,82,26,42,0,142,22,92,26,6,0,146,22,87,26,3,0,150,22,82,26,51,0,154,22,82,26,60,0,159,3,87,26,27,0,159,3,92,26,6,0,159,3,41,27,6,0,159,3,29,29,6,0,162,22,82,26,51,0,166,22,87,26,30,0,211,5,82,26,210,0,170,22,82,26,123,0,174,22,82,26,96,0,178,22,82,26,105,0,182,22,82,26,63,0,147,6,82,26,86,1,186,22,61,27,11,1,190,22,82,26,134,1,194,22,102,26,3,0,198,22,82,26,3,0,202,22,177,26,102,0,206,22,82,26,3,0,210,22,147,26,84,0,173,26,87,26,3,0,183,6,91,27,118,2,214,22,82,26,78,0,218,22,82,26,3,0,222,22,82,26,3,0,226,22,82,26,3,0,230,22,82,26,3,0,155,4,82,26,170,1,234,22,82,26,3,0,154,5,87,26,27,0,66,6,82,26,3,0,187,6,82,26,214,2,242,22,82,26,3,0,246,22,82,26,213,0,250,22,82,26,3,0,2,23,82,26,9,0,175,4,82,26,18,3,67,27,82,26,108,0,158,5,82,26,171,0,6,23,82,26,108,0,10,23,82,26,192,0,14,23,9,29,198,0,18,23,82,26,3,0,98,3,82,26,192,0,35,6,82,26,165,0,182,3,82,26,87,0,22,23,82,26,3,0,26,23,82,26,63,0,30,23,82,26,3,0,34,23,82,26,3,0,38,23,82,26,3,0,83,4,82,26,173,1,162,5,34,29,159,0,46,23,82,26,3,0,50,23,82,26,3,0,54,23,112,26,69,0,58,23,82,26,3,0,62,23,82,26,3,0,66,23,82,26,3,0,106,4,82,26,3,0,74,23,44,29,6,0,70,6,82,26,50,1,82,23,82,26,111,0,223,6,82,26,57,0,86,23,82,26,3,0,90,23,82,26,3,0,94,23,82,26,189,0,204,26,82,26,57,0,206,3,82,26,3,0,98,23,82,26,48,0,219,26,82,26,9,0,102,23,82,26,3,0,106,23,82,26,3,0,210,3,82,26,45,0,154,3,82,26,3,0,122,23,82,26,129,0,200,1,82,26,108,0,131,3,82,26,45,0,126,23,87,26,62,1,130,23,82,26,90,0,134,23,82,26,48,0,142,23,82,26,3,0,146,23,92,26,6,0,150,23,82,26,9,0,154,23,82,26,3,0,170,5,117,26,117,0,158,23,82,26,213,0,43,6,1,27,6,0,178,5,92,26,33,0,27,27,82,26,3,0,162,23,82,26,3,0,166,23,82,26,3,0,170,23,82,26,3,0,174,23,82,26,3,0,178,23,82,26,3,0,110,4,82,26,3,0,214,3,82,26,3,0,182,5,82,26,24,0,182,23,82,26,3,0,186,23,82,26,3,0,114,4,192,26,6,0,190,23,64,29,15,0,198,23,92,26,33,0,202,23,92,26,33,0,186,5,82,26,87,0,95,6,162,26,6,0,206,23,82,26,3,0,210,23,82,26,222,0,214,23,82,26,72,0,118,4,82,26,53,1,74,6,82,26,3,0,55,4,97,26,176,1,55,4,87,26,27,0,218,23,82,26,3,0,226,23,82,26,3,0,78,6,82,26,3,0,19,4,112,26,69,0,234,23,92,26,33,0,238,23,92,26,33,0,122,4,92,26,33,0,224,26,102,26,78,0,2,24,82,26,3,0,82,6,102,26,189,0,130,4,82,26,3,0,6,24,82,26,3,0,86,6,82,26,3,0,10,24,82,26,39,0,207,3,82,26,247,2,90,6,82,26,244,2,134,4,82,26,174,0,14,24,92,26,33,0,203,1,82,26,24,0,18,24,82,26,3,0,26,24,82,26,3,0,30,24,82,26,174,0,14,4,82,26,141,0,138,4,82,26,3,0,84,26,82,26,57,0,42,24,82,26,3,0,128,27,82,26,250,2,46,24,82,26,3,0,50,24,82,26,35,1,54,24,82,26,74,3,58,24,82,26,3,0,62,24,82,26,44,1,66,24,82,26,3,0,74,24,82,26,3,0,78,24,82,26,3,0,143,4,82,26,42,0,82,24,82,26,42,0,86,24,82,26,231,0,90,24,87,26,27,0,99,6,82,26,57,0,158,3,152,26,132,0,190,5,92,26,33,0,94,24,82,26,24,0,98,24,182,26,255,0,130,3,82,26,3,0,103,6,97,26,12,0,102,24,82,26,3,0,94,6,82,26,3,0,106,24,82,26,72,0,114,24,82,26,3,0,98,6,112,26,69,0,102,6,82,26,174,0,118,24,82,26,3,0,122,24,82,26,3,0,126,24,82,26,35,1,130,24,82,26,3,0,134,24,82,26,0,3,138,24,82,26,3,0,142,24,82,26,3,0,150,24,82,26,141,0,154,24,74,29,15,0,158,24,126,27,6,0,219,5,82,26,41,1,162,24,82,26,3,0,170,24,97,26,12,0,174,24,82,26,102,0,178,24,82,26,3,0,182,24,136,27,12,0,186,24,97,26,12,0,231,3,87,26,15,0,231,3,97,26,20,1,231,3,97,26,138,0,106,6,99,29,225,0,211,3,97,26,147,0,110,6,82,26,99,0,194,24,82,26,171,0,71,3,82,26,39,0,71,3,82,26,243,0,59,3,82,26,105,0,131,3,82,26,90,0,71,3,82,26,57,0,59,3,82,26,22,2,71,3,82,26,44,1,71,3,82,26,116,1,151,3,82,26,159,0,67,3,87,26,219,0,71,3,82,26,60,0,59,3,82,26,178,4,254,3,82,26,2,1,67,3,87,26,66,0,67,3,87,26,237,0,103,4,82,26,221,1,67,3,87,26,224,1,123,3,87,26,114,0,134,26,82,26,171,0,143,26,82,26,240,0,59,3,82,26,230,1,175,4,82,26,233,1,95,3,82,26,71,1,115,3,82,26,74,1,200,1,82,26,236,1,115,3,82,26,246,0,55,3,82,26,177,0,67,3,87,26,239,1,55,3,82,26,249,0,55,3,82,26,245,1,99,3,82,26,83,1,59,3,82,26,252,0,254,3,82,26,248,1,143,26,82,26,254,1,55,3,82,26,86,1,55,3,82,26,7,2,95,3,82,26,150,0,55,3,82,26,123,0,59,3,82,26,89,1,55,3,82,26,21,0,59,3,82,26,92,1,143,26,82,26,10,2,59,3,82,26,13,2,134,26,82,26,95,1,219,3,152,26,180,0,35,4,82,26,31,2,59,3,82,26,34,2,67,3,87,26,183,0,59,3,82,26,40,2,59,3,82,26,104,1,67,3,87,26,43,2,224,26,102,26,189,0,71,3,82,26,11,1,95,3,82,26,49,2,55,3,82,26,110,1,55,3,82,26,5,1,55,3,82,26,129,0,55,3,82,26,67,2,59,3,82,26,8,1,143,26,82,26,70,2,59,3,82,26,113,1,134,26,82,26,119,1,143,26,82,26,73,2,59,3,82,26,76,2,59,3,82,26,88,2,67,3,87,26,135,0,67,3,87,26,128,1,131,3,82,26,54,0,67,3,87,26,204,0,171,3,242,26,109,2,67,3,87,26,112,2,214,26,97,26,20,1,67,3,87,26,23,1,95,3,82,26,115,2,204,26,82,26,121,2,55,3,82,26,137,1,67,3,87,26,124,2,67,3,87,26,102,0,55,3,82,26,127,2,163,3,82,26,29,1,55,3,82,26,133,2,55,3,82,26,145,2,67,3,87,26,149,1,134,26,82,26,96,0,99,4,82,26,153,0,55,3,82,26,151,2,119,3,82,26,141,0,59,3,82,26,157,2,67,3,87,26,175,2,59,3,82,26,38,1,59,3,82,26,155,1,55,3,82,26,41,1,155,3,87,26,27,0,55,3,82,26,181,2,59,3,82,26,184,2,67,3,87,26,187,2,134,26,82,26,158,1,67,3,87,26,202,2,71,3,82,26,28,2,55,3,82,26,161,1,55,3,82,26,167,1,183,3,82,26,217,2,223,3,82,26,220,2,55,3,82,26,111,0,115,3,82,26,50,1,134,26,82,26,226,2,59,3,82,26,232,2,67,3,87,26,225,0,55,3,82,26,238,2,55,3,82,26,241,2,55,3,82,26,156,0,134,26,82,26,53,1,67,3,87,26,228,0,131,3,82,26,72,0,59,3,82,26,6,3,223,3,82,26,179,1,48,3,82,26,162,0,59,3,82,26,12,3,55,3,82,26,56,1,87,3,82,26,59,1,55,3,82,26,62,1,146,5,87,26,84,0,155,3,87,26,60,0,99,3,87,26,9,0,155,3,87,26,6,0,155,3,87,26,32,1,119,3,87,26,39,0,123,3,87,26,176,1,107,3,87,26,42,0,194,4,156,27,9,0,198,4,171,27,9,0,103,3,176,27,6,0,55,3,6,27,81,0,214,4,191,27,9,0,78,3,196,27,24,0,158,4,206,27,42,0,162,6,216,27,159,0,143,26,221,27,180,0,143,3,97,26,168,0,83,3,97,26,77,1,143,3,97,26,132,0,211,3,97,26,29,1,111,4,97,26,47,1,211,3,97,26,170,1,38,5,97,26,42,0,83,3,97,26,59,1,235,3,92,26,255,0,18,5,92,26,195,0,134,3,92,26,32,1,39,4,226,27,152,1,138,3,231,27,6,0,55,3,207,26,81,0,87,3,241,27,168,0,158,26,246,27,30,0,146,6,251,27,6,0,103,3,10,28,6,0,171,3,25,28,17,1,63,3,30,28,15,0,26,5,35,28,24,0,6,4,107,26,18,0,91,3,137,26,108,0,91,3,137,26,147,0,91,3,137,26,36,0,227,3,40,28,201,0,22,5,50,28,207,0,174,26,106,27,125,1,171,3,31,27,17,1,191,3,55,28,9,0,227,3,237,26,201,0,70,26,80,28,15,0,134,3,187,26,6,0,71,3,82,26,78,0,207,3,82,26,114,0,79,3,82,26,68,1,187,3,82,26,15,0,143,4,82,26,180,0,55,3,82,26,183,0,79,3,82,26,126,0,207,3,82,26,30,0,55,3,82,26,204,0,55,3,82,26,102,0,87,3,82,26,143,1,134,26,82,26,146,1,55,3,82,26,149,1,55,3,82,26,225,0,55,3,82,26,228,0,209,26,82,26,147,0,146,25,110,28,42,0,150,25,115,28,42,0,189,26,120,28,6,0,102,5,125,28,9,0,166,3,135,28,15,0,215,3,157,26,15,0,106,5,145,28,222,0,202,5,150,28,66,0,202,5,155,28,66,0,149,26,165,28,6,0,110,5,170,28,6,0,154,5,111,27,27,0,114,5,147,26,69,0,168,26,56,27,6,0,103,3,175,28,6,0,170,6,180,28,219,0,126,5,190,28,33,0,58,26,172,26,15,0,83,4,66,27,173,1,203,3,230,28,12,0,62,3,71,27,15,0,174,25,222,26,30,0,142,5,255,28,9,0,102,3,76,27,237,0,103,3,24,29,6,0,103,3,86,27,6,0,162,5,39,29,159,0,219,26,142,26,9,0,170,5,121,27,117,0,182,5,54,29,24,0,138,3,59,29,6,0,54,26,177,26,102,0,238,3,79,29,24,0,246,3,112,26,14,1,246,3,112,26,207,0,98,5,89,29,6,0,238,24,104,29,26,1,87,3,109,29,168,0,174,3,114,29,6,0,222,4,134,29,138,0,168,26,117,26,6,0,168,26,92,26,33,0,206,24,117,26,6,0,198,5,82,26,3,0,210,24,82,26,3,0,214,24,82,26,3,0,114,6,82,26,3,0,218,24,82,26,3,0,142,4,82,26,3,0,222,24,82,26,3,0,226,24,82,26,3,0,151,3,87,26,114,0,151,3,97,26,15,0,234,24,82,26,3,0,242,24,82,26,3,0,45,3,82,26,57,0,246,24,82,26,51,0,250,24,82,26,12,0,254,24,82,26,235,2,2,25,82,26,3,0,6,25,82,26,246,0,10,25,82,26,48,0,14,25,82,26,96,0,39,6,82,26,74,3,18,25,82,26,12,0,22,25,82,26,107,1,26,25,82,26,45,0,30,25,82,26,3,0,151,6,82,26,246,0,118,6,82,26,150,0,34,25,82,26,3,0,38,25,102,26,78,0,122,6,82,26,3,0,66,3,82,26,24,0,46,25,82,26,243,0,50,25,162,26,6,0,126,6,92,26,6,0,54,25,82,26,3,0,58,25,82,26,3,0,66,25,82,26,3,0,74,25,82,26,3,0,78,25,82,26,3,0,146,4,82,26,3,0,82,25,82,26,3,0,226,3,82,26,3,0,134,6,82,26,3,0,86,25,82,26,56,1,138,6,82,26,3,0,90,25,82,26,3,0,94,25,87,26,204,0,98,25,82,26,3,0,47,6,82,26,111,0,106,25,82,26,3,0,110,25,82,26,3,0,114,25,82,26,3,0,154,4,82,26,3,0,118,25,92,26,6,0,122,25,127,26,15,0,126,25,82,26,3,0,150,6,82,26,3,0,130,25,82,26,120,0,154,6,82,26,3,0,58,3,82,26,3,0,215,5,82,26,57,0,166,6,82,26,3,0,154,25,227,26,126,0,174,6,92,26,6,0,162,25,82,26,72,0,166,25,82,26,3,0,178,25,82,26,3,0,182,6,82,26,3,0,190,25,82,26,3,0,82,3,92,26,33,0,194,25,82,26,3,0,198,25,82,26,96,0,202,25,82,26,99,0,190,6,82,26,3,0,206,25,82,26,3,0,194,6,82,26,21,0,162,4,82,26,3,0,106,3,82,26,3,0,198,6,82,26,3,0,210,25,82,26,21,0,218,25,82,26,3,0,226,25,82,26,3,0,230,25,82,26,3,0,234,25,82,26,3,0,170,3,82,26,3,0,242,25,82,26,3,0,202,6,82,26,3,0,246,25,82,26,3,0,206,6,82,26,3,0,118,27,82,26,39,0,2,26,82,26,3,0,6,26,82,26,3,0,10,26,82,26,3,0,98,26,82,26,120,0,222,6,82,26,3,0,14,26,82,26,105,0,6,4,107,26,122,1,6,4,127,26,15,0,18,26,82,26,3,0,22,26,82,26,3,0,30,26,82,26,3,0,34,26,82,26,66,0,46,26,87,26,204,0,50,26,82,26,144,0,226,6,82,26,3,0,74,26,82,26,156,0,166,4,82,26,87,0,234,3,82,26,3,0,51,3,82,26,57,0,76,0,254,6,230,6,2,7,12,0,6,7,98,1,10,7,78,0,14,7,48,0,18,7,2,1,238,6,99,0,22,7,66,0,26,7,97,2,242,6,237,0,246,6,216,0,227,1,2,1,251,1,84,0,16,2,216,0,19,2,131,1,25,2,48,0,37,2,249,0,55,2,240,0,58,2,81,0,85,2,177,0,103,2,234,0,142,2,234,0,154,2,182,1,160,2,240,0,166,2,219,0,178,2,99,0,190,2,234,0,199,2,38,1,205,2,46,2,208,2,165,0,229,2,12,0,253,2,53,1,3,3,60,0,9,3,162,0,15,3,234,0,21,3,237,0,24,3,216,0,27,3,90,0,18,0,71,3,82,26,36,0,71,3,82,26,60,0,59,3,82,26,75,0,59,3,82,26,178,4,134,26,82,26,120,0,134,26,82,26,158,1,16,0,1,0,248,6,76,3,240,6,236,6,232,6,149,29,244,6,158,29,209,1,218,1,206,1,215,1,250,6,212,1,144,29,170,170,170,170,170,170,170,170,170,170,8,39,0,0,0,26,109,204,72,116,196,252,119,194,103,119,162,183,120,164,82,121,164,194,122,15,109,125,122,92,122,48,225,173,173,232,46,245,175,81,16,225,165,60,2,42,60,66,204,101,72,17,97,110,1,226,165,0,244,163,251,11,77,37,84,14,84,204,18,85,42,86,16,206,163,254,16,211,163,253,77,216,30,213,80,42,83,16,210,163,249,2,193,163,248,198,163,246,200,163,247,71,213,33,71,50,72,216,30,183,73,16,196,163,244,1,194,163,252,198,163,242,109,50,110,54,115,58,121,16,226,173,173,16,233,175,79,16,229,175,80,16,237,34,1,42,169,21,67,16,195,169,22,104,23,104,50,105,54,107,58,108,16,237,175,78,16,248,173,203,16,225,175,77,16,244,173,168,97,50,100,54,101,58,103,16,232,173,217,16,231,175,74,16,234,175,75,16,225,175,76,0,18,109,70,116,27,116,52,117,56,119,66,225,173,254,239,175,21,16,237,175,26,1,245,175,27,246,175,28,16,225,175,29,109,60,110,64,111,80,114,90,115,1,231,173,153,235,175,25,16,239,175,17,2,227,175,18,233,175,19,245,175,20,1,226,175,22,243,175,23,16,243,175,24,103,38,103,54,104,58,105,62,106,78,108,16,243,175,16,16,233,175,9,16,231,175,10,2,226,175,11,245,175,12,246,175,13,1,225,175,14,233,175,15,97,56,98,84,99,100,101,1,236,165,35,242,175,8,4,229,173,255,234,175,0,236,175,1,238,175,2,242,175,3,2,240,175,4,241,175,5,242,175,6,16,233,175,7,12,110,61,114,33,114,46,115,50,119,78,232,175,33,16,226,175,39,4,225,173,209,233,175,40,236,165,50,237,175,41,242,175,42,16,229,175,43,110,52,111,62,112,1,229,167,146,242,173,207,1,225,173,201,242,175,36,1,231,175,37,238,175,38,101,29,101,58,108,62,109,2,230,175,35,238,173,190,242,173,193,16,243,175,32,2,225,175,34,227,173,186,228,173,187,97,52,98,56,99,1,239,173,135,242,173,134,16,246,175,30,16,233,175,31,13,109,73,115,48,115,48,117,52,233,167,55,239,175,62,16,243,175,67,4,225,175,68,229,50,234,175,71,244,175,72,247,175,73,1,42,46,72,18,97,110,243,175,70,1,42,175,69,67,16,206,175,70,109,58,111,62,114,2,226,175,64,229,175,65,236,175,66,16,236,175,61,16,238,175,63,101,32,101,62,103,66,107,76,108,2,229,175,58,231,175,59,236,175,60,16,242,175,54,1,242,175,55,247,175,56,16,239,175,57,97,46,98,96,100,16,228,167,55,7,244,12,244,175,47,246,175,48,249,175,49,250,175,50,237,167,188,239,175,44,240,175,45,243,175,46,2,225,175,51,226,175,52,249,175,53,116,162,82,117,164,217,118,10,111,31,229,9,229,173,241,233,173,115,239,173,249,111,52,114,56,117,1,238,173,252,244,173,253,16,244,173,250,16,239,173,251,97,60,101,76,105,86,108,96,109,1,230,173,247,247,173,248,2,231,173,239,233,173,222,238,173,240,1,227,173,242,240,173,243,1,227,173,244,246,173,245,16,243,173,246,0,38,117,124,233,31,242,14,242,171,214,243,171,218,244,171,224,247,105,249,171,241,233,171,186,235,171,193,236,171,197,238,171,203,239,171,205,122,36,122,54,225,171,153,229,171,171,231,46,232,171,182,16,237,171,244,1,42,46,65,18,114,97,226,171,178,1,42,171,177,80,16,203,171,178,117,60,118,82,119,98,120,108,121,1,225,171,242,246,171,243,3,232,171,231,236,171,232,237,171,233,241,171,234,2,228,167,191,236,171,235,245,171,236,1,232,171,237,241,171,238,1,231,171,239,239,171,240,107,128,112,73,112,94,113,110,114,114,115,130,116,6,241,12,241,171,201,242,171,228,243,171,229,244,171,230,228,171,225,229,171,226,234,171,227,2,233,171,210,237,171,211,250,171,212,16,239,171,213,2,245,171,215,246,171,216,247,171,217,4,228,171,219,230,171,220,231,171,221,234,171,222,247,171,223,107,72,108,88,109,104,110,114,111,3,230,171,206,231,171,207,235,171,208,241,171,209,2,236,171,194,242,171,195,244,171,196,2,230,171,198,248,171,199,249,171,200,1,232,171,201,249,171,202,16,232,171,204,101,70,101,94,102,116,103,120,104,136,105,6,235,12,235,171,189,237,171,190,239,171,191,246,171,192,226,163,180,230,171,187,231,171,188,3,228,171,172,237,171,173,239,171,174,244,171,175,16,233,171,176,2,227,171,179,239,171,180,245,171,181,2,236,171,183,241,171,184,242,171,185,97,68,98,90,99,134,100,3,228,171,167,231,171,168,232,171,169,245,171,170,3,234,171,154,236,171,155,238,171,156,241,171,157,6,231,12,231,171,161,239,171,162,247,171,163,250,171,164,227,171,158,228,171,159,230,171,160,1,233,171,165,249,171,166,15,115,98,231,44,231,66,235,171,252,242,173,91,250,1,42,134,65,18,114,97,226,173,237,1,42,46,67,18,121,114,236,171,249,2,42,171,248,75,42,77,16,206,171,250,16,218,171,249,115,96,116,100,118,110,122,16,238,1,42,46,65,18,114,97,226,173,237,2,42,173,7,65,42,67,16,206,173,238,16,198,173,237,16,225,173,233,1,232,165,77,242,173,234,1,232,173,235,236,173,236,109,50,109,62,110,66,111,112,114,2,233,173,230,244,173,231,247,173,232,16,226,171,254,1,242,38,248,173,228,1,42,46,68,18,101,118,225,173,227,1,42,173,226,78,16,208,173,227,16,235,173,229,98,50,100,54,103,64,108,16,233,171,253,16,245,171,245,1,233,171,246,237,171,247,16,225,171,251,112,195,172,112,166,6,113,166,238,114,166,251,115,0,40,120,140,236,57,242,41,245,9,245,171,136,246,171,142,247,171,143,242,44,243,171,129,244,171,133,34,3,42,171,58,77,164,204,82,42,84,16,210,171,62,1,207,171,61,213,171,59,236,171,97,237,171,102,238,171,110,239,171,117,241,111,228,49,228,56,229,171,73,231,171,78,233,171,87,235,171,93,3,42,54,68,68,75,76,83,18,105,110,228,171,70,1,42,171,67,73,16,206,171,68,18,101,118,225,171,68,18,104,111,234,171,69,120,52,121,62,122,72,225,171,46,227,171,57,1,238,171,149,247,171,150,1,236,171,151,242,165,16,16,236,171,152,108,181,114,79,114,88,115,116,116,132,117,142,119,5,232,9,232,171,143,240,171,147,246,171,148,226,171,144,227,171,145,231,171,146,4,226,171,126,227,171,57,238,171,127,242,171,128,248,165,246,2,228,171,130,231,171,131,249,171,132,1,235,171,134,241,171,135,4,225,171,137,229,171,138,235,171,139,242,171,140,243,171,141,108,74,109,102,110,146,111,162,75,112,3,228,171,123,236,171,124,243,171,125,249,167,121,4,228,171,98,233,171,99,236,171,100,239,171,93,249,171,101,6,238,12,238,171,106,240,171,107,241,171,108,243,171,109,225,171,103,228,171,104,234,171,105,5,240,9,240,171,114,248,171,115,249,171,116,226,171,111,227,171,112,235,171,113,4,231,171,118,235,171,119,241,171,120,245,171,121,249,171,122,103,62,103,66,104,88,105,110,106,132,107,2,227,171,94,242,171,95,243,171,96,3,225,171,79,243,171,80,247,171,81,250,171,82,3,233,171,83,235,171,84,238,171,85,245,171,86,3,228,171,88,231,171,89,236,171,90,237,171,91,16,242,171,92,97,74,98,118,99,134,100,162,104,101,3,230,171,74,232,171,75,233,171,76,243,171,77,6,243,12,243,171,50,244,171,51,246,171,52,250,171,53,230,171,47,232,171,48,241,171,49,2,225,171,54,229,171,55,240,171,56,5,238,9,238,171,65,239,171,66,242,167,4,227,44,235,171,63,236,171,64,34,5,82,17,82,46,83,50,84,16,210,171,62,16,207,171,61,16,213,171,59,42,171,58,49,42,77,16,197,171,60,17,55,178,171,59,1,227,171,71,232,171,72,0,23,111,90,117,43,236,9,236,169,248,243,169,232,244,171,6,117,76,119,80,225,1,42,46,65,18,114,97,226,169,224,1,42,169,223,80,16,203,169,224,16,245,171,8,16,225,171,9,114,23,114,46,115,62,116,16,240,171,7,2,225,171,2,228,171,3,231,171,4,16,243,171,5,111,46,112,50,113,16,237,171,1,16,238,169,254,1,225,169,255,239,171,0,104,60,108,29,108,64,109,74,110,3,226,167,210,231,169,251,238,169,252,244,169,253,1,225,169,249,244,169,53,16,243,169,250,104,52,105,62,107,1,225,169,246,239,169,247,1,236,169,241,238,169,242,2,236,169,243,240,169,244,243,169,245,100,32,100,46,101,56,102,16,236,169,240,1,227,169,235,244,169,236,4,228,169,237,239,169,238,242,165,116,243,165,116,248,169,239,97,52,98,100,99,1,228,169,233,237,169,234,4,231,169,225,236,50,237,169,228,240,169,229,245,169,230,1,42,169,226,80,18,104,108,240,169,227,1,233,169,231,245,169,232,1,117,38,245,171,10,2,227,171,11,231,171,12,250,171,10,0,20,111,69,121,23,239,9,239,169,81,245,171,39,247,171,42,121,44,237,171,26,238,171,31,16,245,171,45,111,60,114,76,116,80,117,84,119,1,235,171,43,239,171,44,2,226,171,34,230,171,35,239,171,36,16,239,171,37,16,237,171,38,2,229,171,40,231,171,41,237,169,81,105,52,105,60,106,86,107,90,109,94,110,1,225,171,32,231,171,33,1,225,171,21,230,34,1,42,171,22,78,16,204,171,23,16,243,171,24,16,244,171,25,3,230,171,27,239,171,28,244,171,29,245,171,30,97,54,99,70,101,74,103,90,104,16,231,171,20,2,233,171,13,234,169,102,239,171,14,16,230,171,15,2,234,171,16,236,171,17,243,171,18,16,238,171,19,109,162,116,110,166,81,111,14,116,46,234,12,234,169,205,237,165,165,242,169,214,243,169,217,116,62,117,72,122,76,227,34,1,42,169,202,69,16,211,169,203,1,225,169,219,235,169,220,16,233,169,221,16,237,169,222,110,35,110,50,112,66,114,70,115,16,225,169,218,2,231,169,210,238,169,211,243,169,212,16,237,169,213,2,239,169,215,245,169,216,249,169,214,103,58,106,62,107,2,225,169,207,242,169,208,246,169,209,16,227,169,204,1,231,169,205,243,169,206,0,34,116,159,233,38,239,15,239,169,81,242,169,92,243,164,136,244,169,96,249,163,209,233,169,18,235,169,12,236,169,70,238,1,42,186,211,77,18,111,110,231,165,67,120,61,120,52,121,62,122,100,231,169,53,232,169,59,1,227,169,111,237,169,112,5,247,9,247,169,116,248,169,117,250,169,118,235,169,113,237,169,114,246,169,115,5,240,9,240,169,122,247,169,123,250,169,124,235,169,119,237,169,120,238,169,121,116,68,117,90,118,112,119,3,235,169,108,242,165,58,246,169,109,247,169,110,3,227,169,97,230,169,98,233,169,99,242,169,100,3,225,169,101,240,169,102,242,169,103,243,169,104,2,225,169,105,238,169,106,249,169,107,105,123,110,68,110,66,111,94,112,122,113,144,114,2,228,169,93,234,169,94,239,169,95,4,225,169,77,230,169,78,233,169,79,235,182,41,247,169,80,4,225,169,82,229,169,83,232,169,84,243,169,85,248,169,86,3,240,169,87,243,169,88,244,169,89,248,169,90,16,236,169,91,105,62,107,84,108,106,109,2,239,169,74,245,169,75,248,169,76,3,227,169,62,230,169,63,238,169,64,247,169,65,3,233,169,66,236,169,67,240,169,68,247,169,69,2,229,169,71,240,169,72,243,169,73,101,73,101,62,102,106,103,134,104,2,233,169,60,236,169,61,242,165,2,6,238,12,238,169,44,242,169,45,244,169,46,245,169,47,228,169,41,229,169,42,235,169,43,4,225,169,48,229,169,49,238,169,50,239,169,51,241,169,52,4,232,169,54,236,169,55,239,169,56,240,169,57,249,169,58,97,94,98,162,80,99,162,93,100,6,232,12,232,169,37,234,169,38,242,169,39,248,169,40,225,169,34,229,169,35,230,169,36,11,238,29,247,18,247,169,20,249,38,250,169,23,34,1,42,169,21,67,16,195,169,22,238,180,74,239,169,18,243,169,19,231,9,231,169,15,233,169,16,235,169,17,227,169,12,228,169,13,230,169,14,4,232,169,24,239,169,25,241,169,26,245,169,27,247,169,28,4,233,169,29,240,169,30,241,169,31,242,169,32,245,169,33,0,33,116,95,228,29,238,15,238,169,167,239,169,173,242,169,180,246,169,194,249,169,198,228,169,140,229,169,143,231,169,148,236,165,79,121,21,121,48,122,58,225,169,125,226,169,133,1,237,169,199,238,169,200,16,233,169,201,116,56,117,66,119,94,120,1,241,169,196,242,169,197,1,237,169,187,242,169,188,4,233,169,189,240,169,190,243,169,191,246,169,192,248,169,193,16,226,169,195,106,96,111,53,111,78,112,106,113,110,114,114,115,4,235,169,182,238,169,183,239,169,184,243,169,185,244,169,186,4,228,169,174,229,169,175,238,169,176,240,169,177,245,169,178,16,233,169,143,16,239,169,179,16,226,169,181,106,74,107,78,109,88,110,4,230,169,168,232,169,169,235,169,170,237,169,171,240,169,172,16,239,169,162,1,231,169,163,239,169,164,1,231,169,165,250,169,166,102,55,102,90,103,94,104,110,105,6,238,12,238,169,158,245,169,159,249,169,160,250,169,161,230,169,155,233,169,156,234,169,157,16,242,169,147,2,225,169,149,226,169,150,236,169,151,2,226,169,152,229,169,153,247,169,154,97,62,99,106,100,144,101,2,226,169,144,247,169,145,248,169,146,6,238,12,238,169,129,240,169,130,241,169,131,243,169,132,227,169,126,230,169,127,235,169,128,5,232,9,232,169,137,239,169,138,245,169,139,225,169,134,229,169,135,230,169,136,1,227,169,141,243,169,142,102,199,105,105,196,159,105,164,27,106,164,198,107,166,19,108,0,27,116,74,231,23,239,12,239,167,250,244,169,2,245,169,4,246,169,8,231,167,227,233,167,229,238,167,247,119,21,119,48,122,52,225,167,206,226,167,213,16,236,169,9,1,232,169,10,250,169,11,116,46,117,50,118,16,243,169,8,16,231,169,3,3,225,169,5,239,169,6,249,163,216,250,169,7,106,74,109,49,109,50,110,66,111,76,114,16,227,169,1,2,238,167,244,239,167,245,240,167,246,1,243,167,248,245,167,249,5,242,9,242,167,254,243,167,255,250,169,0,234,167,251,235,167,252,236,167,253,106,52,107,56,108,1,229,167,242,238,167,243,16,240,167,239,1,233,167,240,244,167,241,100,77,100,118,101,122,103,162,66,105,7,232,12,232,167,235,234,167,236,236,167,237,243,167,238,225,167,230,228,167,231,230,38,231,167,234,1,42,167,232,76,18,105,109,226,167,233,16,226,167,219,6,240,12,240,167,223,241,167,224,245,167,225,250,167,226,228,167,220,229,167,221,237,167,222,16,231,167,228,97,52,98,90,99,1,237,167,217,240,167,218,5,232,9,232,167,210,234,167,211,243,167,212,226,167,207,228,167,208,231,167,209,2,229,167,214,245,167,215,247,167,216,0,25,119,57,235,23,243,12,243,167,18,244,167,41,245,167,30,247,167,42,235,165,107,238,167,36,239,167,38,228,9,228,167,20,231,167,25,233,167,28,119,42,122,52,225,167,12,1,237,167,43,243,167,44,1,232,167,45,233,167,46,106,51,109,23,109,50,110,54,111,58,114,16,233,167,40,16,239,167,35,16,232,167,37,16,245,167,39,106,46,107,50,108,16,239,167,34,16,234,167,29,3,229,167,30,235,167,31,247,167,32,248,167,33,100,26,100,52,102,68,103,1,226,167,26,229,167,27,2,228,167,21,233,167,22,245,167,23,16,229,167,24,97,58,98,68,99,2,225,167,17,229,167,18,232,167,19,1,238,167,13,242,167,14,2,225,163,169,226,167,15,249,167,16,11,114,26,233,9,233,167,55,246,167,61,247,167,62,114,42,117,46,225,167,47,16,225,167,59,16,244,167,60,103,23,103,52,105,62,109,1,227,167,57,236,167,58,1,235,167,50,239,167,54,16,226,167,56,97,46,98,62,101,16,238,167,53,2,226,167,48,237,167,49,242,167,50,1,239,167,51,245,167,52,0,40,117,192,240,235,116,242,63,246,40,246,167,150,247,167,184,249,2,42,50,65,76,76,18,97,116,238,167,199,2,42,167,197,67,42,84,16,210,167,199,16,206,167,198,18,114,97,226,167,198,242,167,137,243,167,162,245,2,42,164,103,65,164,109,89,18,101,122,233,167,132,235,56,236,167,120,237,167,125,238,167,136,239,167,141,1,42,46,65,18,114,97,226,167,115,4,42,167,113,65,50,67,54,73,58,77,16,206,167,117,16,198,167,114,16,206,167,115,16,210,167,116,122,27,122,56,225,165,180,231,167,92,233,167,104,234,167,108,3,232,167,202,234,167,203,242,167,204,244,167,205,117,60,118,110,119,126,120,148,121,1,229,167,200,248,167,201,7,237,12,237,167,177,238,167,178,240,167,179,243,167,180,226,167,173,228,167,174,229,167,175,234,167,176,2,231,167,181,242,167,182,248,167,183,3,234,167,185,235,167,186,239,167,187,241,167,188,7,237,12,237,167,193,240,167,194,247,167,195,250,167,196,225,167,189,227,167,190,229,167,191,236,167,192,107,192,213,112,99,112,74,113,112,114,134,115,162,69,116,3,226,167,169,237,167,170,239,167,171,242,167,172,5,242,9,242,167,149,246,167,150,248,167,151,229,167,146,230,167,147,239,167,148,3,226,167,152,230,167,153,243,167,154,249,167,155,5,236,9,236,167,159,243,167,160,245,167,161,227,167,156,233,167,157,234,167,158,5,232,9,232,167,166,234,167,167,242,167,168,226,167,163,228,167,164,230,167,165,107,80,108,90,109,112,110,162,87,111,4,233,167,142,235,167,139,236,167,143,243,167,144,250,167,145,1,227,167,118,234,167,119,3,238,167,121,241,167,122,244,167,123,248,167,124,6,242,38,242,50,243,167,133,245,167,134,247,167,135,2,42,50,65,64,89,18,101,122,233,167,132,1,42,167,129,76,16,194,167,130,18,114,97,226,167,131,226,167,126,232,167,127,239,167,128,4,227,167,137,230,167,138,231,167,92,238,167,139,240,167,140,102,82,102,72,103,88,104,104,105,160,106,3,228,167,109,231,167,110,243,167,111,249,167,112,2,239,167,89,242,167,90,249,167,91,2,229,167,93,230,167,94,240,167,95,8,241,15,241,167,99,243,167,100,244,167,101,247,167,102,250,167,103,225,167,96,226,167,97,235,172,149,238,167,98,2,234,167,105,245,167,106,247,167,107,97,70,98,126,99,162,65,100,162,75,101,2,225,167,86,238,167,87,250,167,88,8,233,15,233,167,67,234,167,68,237,167,69,239,167,70,247,167,71,225,167,63,226,167,64,227,167,65,228,167,66,5,241,9,241,167,75,248,167,76,249,167,77,228,167,72,237,167,73,240,167,74,3,231,167,78,235,167,79,236,167,80,244,167,81,3,229,167,82,232,167,83,236,167,84,244,167,85,102,162,194,103,164,119,104,0,19,117,70,242,15,242,167,4,244,167,7,245,167,8,249,163,67,250,167,11,117,52,225,62,229,165,237,233,98,239,167,0,1,233,167,9,242,167,10,34,3,42,165,227,55,46,67,52,83,16,196,165,228,17,51,182,165,228,16,205,165,229,1,42,165,239,76,18,97,116,238,165,240,108,56,108,60,109,70,110,80,111,108,115,1,226,167,5,238,167,6,1,225,165,247,245,165,248,1,228,165,249,244,165,250,4,228,165,251,229,165,252,234,165,253,238,165,254,239,165,255,2,227,167,1,234,167,2,244,167,3,97,88,98,116,100,120,104,124,105,5,232,9,232,165,244,236,165,245,237,165,246,225,165,241,230,165,242,231,165,243,4,231,165,230,235,165,231,237,165,232,247,165,233,250,165,234,16,226,165,235,16,249,165,236,16,249,165,238,0,17,117,83,233,15,233,165,126,234,165,130,239,165,133,242,165,139,249,165,154,117,66,118,148,225,165,116,230,1,42,165,122,65,18,100,108,237,165,123,9,232,15,232,165,148,241,165,149,242,165,150,246,165,151,249,165,152,226,165,144,227,50,228,165,145,229,165,146,230,165,147,1,42,165,122,65,18,100,108,237,165,123,16,242,165,153,109,47,109,78,111,82,112,98,113,102,114,4,227,165,140,229,165,139,240,165,141,242,165,142,243,165,143,16,240,165,132,2,228,165,134,238,165,135,242,165,136,16,229,165,137,16,243,165,138,97,50,102,86,105,96,108,16,242,165,131,5,233,8,233,165,120,238,165,121,244,105,225,165,117,226,165,118,231,165,119,1,233,165,124,237,165,125,2,225,165,127,236,165,128,244,165,129,0,26,110,159,121,29,236,12,236,165,192,238,165,196,245,165,212,246,165,220,121,44,225,165,155,228,165,173,1,225,165,166,233,165,226,115,58,115,62,117,66,118,116,119,2,227,165,223,233,165,224,244,165,225,16,247,165,211,7,242,12,242,165,216,247,165,217,248,165,218,250,165,219,226,165,213,227,165,214,228,165,215,231,165,196,2,230,165,221,242,165,183,243,165,222,110,90,111,106,114,4,226,165,169,227,50,229,165,94,244,165,209,247,165,210,1,42,165,207,76,18,105,110,226,165,208,2,228,165,197,231,165,198,239,165,199,7,238,12,238,165,199,242,165,204,243,165,205,244,165,206,228,165,200,230,165,201,233,165,202,237,165,203,103,60,106,35,106,56,107,72,108,82,109,1,237,165,194,246,165,195,2,235,165,187,238,165,188,245,165,189,1,238,165,190,240,165,191,16,235,165,193,103,52,104,62,105,1,236,165,185,237,165,186,1,238,165,183,239,165,106,16,243,165,184,100,40,100,46,101,62,102,16,235,165,182,2,229,165,174,238,165,175,242,165,176,5,239,9,239,165,180,242,165,48,250,165,181,226,165,177,234,165,178,236,165,179,97,46,98,108,99,16,242,165,172,9,237,15,237,165,161,238,165,162,247,165,163,249,165,164,250,165,165,225,165,156,230,165,157,231,165,158,232,165,159,234,165,160,5,239,9,239,165,169,249,165,170,250,165,171,225,165,166,230,165,167,237,165,168,99,194,244,99,162,163,100,164,250,101,0,18,119,51,238,25,238,56,239,165,103,243,165,105,244,165,92,245,163,103,1,42,165,99,83,18,104,97,247,165,100,119,52,120,56,122,60,229,165,87,236,165,94,16,239,165,113,16,244,165,114,16,225,165,115,109,70,109,72,110,122,114,132,115,136,116,3,242,165,109,244,165,110,245,165,111,248,165,112,2,225,165,95,233,165,96,235,1,42,46,78,18,107,111,239,165,98,1,42,165,97,71,16,206,165,98,1,238,165,101,241,165,102,16,233,165,104,2,231,165,106,235,165,107,245,165,108,98,62,102,66,103,70,107,2,225,165,91,235,165,92,249,165,93,16,245,165,86,16,233,165,88,1,236,165,89,249,165,90,0,27,114,87,232,33,243,22,243,165,28,245,44,246,165,34,249,165,35,1,42,165,32,71,18,108,97,231,165,33,232,163,238,239,165,19,242,165,22,119,18,119,48,122,52,225,163,228,229,163,234,16,228,165,22,16,229,165,28,114,46,115,74,116,16,228,165,31,4,231,165,23,232,165,24,235,165,25,236,165,26,243,165,27,1,226,165,29,247,165,30,105,85,108,51,108,50,109,66,111,114,112,16,243,165,21,2,225,165,14,227,165,15,228,165,16,2,229,165,17,231,165,18,238,2,42,162,99,66,162,174,72,17,97,110,1,226,165,0,244,163,251,16,240,165,20,105,64,106,68,107,3,226,165,10,236,165,11,239,165,12,249,165,13,16,227,165,6,2,225,165,7,237,165,8,246,165,9,101,143,101,162,128,102,162,129,103,162,130,104,5,239,9,239,165,3,240,165,4,242,165,5,233,44,235,165,1,237,165,2,2,42,60,66,162,89,72,17,97,110,1,226,165,0,244,163,251,11,77,45,84,23,84,46,85,56,86,16,196,163,254,1,200,163,250,215,163,251,1,203,163,252,211,163,253,77,180,193,80,42,83,16,210,163,249,2,198,163,246,200,163,247,218,163,248,71,14,71,48,72,180,165,73,16,196,163,244,16,198,163,242,42,163,239,65,42,66,16,206,163,241,16,213,163,240,18,111,112,239,163,255,16,226,163,235,16,225,163,236,16,231,163,237,97,52,98,62,99,1,232,163,232,240,163,233,1,228,163,229,238,163,230,16,234,163,231,0,23,114,111,121,28,229,8,229,165,48,246,165,80,250,69,121,42,122,52,225,165,36,1,239,165,83,245,165,84,16,231,165,85,117,29,117,46,118,74,119,16,247,165,82,4,225,165,75,227,165,76,228,165,77,231,165,78,244,165,79,16,225,165,81,114,64,115,116,116,3,237,165,71,240,165,72,243,165,73,249,165,74,2,232,44,233,165,68,243,165,69,1,42,46,77,18,111,110,231,165,67,1,42,165,66,67,16,206,165,67,16,226,165,70,104,45,109,23,109,170,208,110,60,111,3,226,165,63,233,165,55,240,165,64,247,165,65,16,234,165,38,104,46,105,50,106,16,229,165,61,16,228,165,58,1,225,165,59,241,165,60,100,40,100,86,101,90,103,6,236,12,236,165,54,239,165,55,242,165,56,250,165,57,225,165,51,232,165,52,233,165,53,16,238,165,47,1,228,165,49,238,165,50,97,46,98,90,99,16,227,165,46,6,232,12,232,165,40,235,165,41,242,165,42,246,165,43,228,165,37,230,165,38,231,165,39,1,228,165,44,241,165,45,42,166,0,97,190,213,98,0,35,115,165,229,29,237,15,237,163,171,238,163,176,239,163,180,242,163,189,243,163,194,229,163,125,231,163,138,232,163,142,233,163,148,119,65,119,50,120,60,121,76,122,114,225,163,99,1,228,163,213,242,163,214,2,232,163,215,235,163,216,242,163,202,5,243,9,243,163,220,246,163,221,248,163,222,229,163,217,238,163,218,242,163,219,4,225,163,223,229,163,224,230,163,225,232,163,226,247,163,227,115,50,116,72,117,88,118,16,226,163,212,3,234,163,195,241,163,196,243,163,197,244,163,198,2,239,163,199,244,163,200,246,163,201,9,237,15,237,163,207,239,163,208,242,163,209,243,163,210,245,163,211,225,163,202,227,163,203,228,163,204,231,163,205,235,163,206,106,134,110,59,110,72,111,88,112,104,113,108,114,3,225,163,190,232,163,191,248,163,192,250,163,193,2,231,163,177,237,163,178,240,163,179,2,234,163,181,237,163,182,238,163,183,16,249,163,184,3,227,163,185,233,163,186,240,163,187,246,163,188,106,68,107,118,108,146,109,3,232,163,172,235,163,173,241,163,174,245,163,175,7,239,12,239,163,159,242,163,160,244,163,161,250,163,162,232,163,155,233,163,156,234,163,157,238,163,158,4,227,163,163,237,163,164,241,163,165,245,163,166,246,163,167,2,225,163,168,231,163,169,244,163,170,101,106,101,98,102,148,103,162,68,104,162,75,105,6,237,12,237,163,151,238,163,152,239,163,153,241,163,154,226,163,149,231,163,150,235,163,118,7,244,12,244,163,130,247,163,131,248,163,132,250,163,133,230,163,126,232,163,127,234,163,128,237,163,129,3,228,163,134,241,163,135,244,163,136,249,163,137,2,227,163,139,238,163,140,248,163,141,5,236,9,236,163,146,239,163,142,249,163,147,226,163,143,231,163,144,233,163,145,97,50,98,100,99,144,100,16,228,163,124,7,242,12,242,163,104,243,163,105,246,163,106,248,163,107,236,163,100,238,163,101,240,163,102,241,163,103,6,228,12,228,163,111,234,163,112,240,163,113,242,163,114,225,163,108,226,163,109,227,163,110,9,237,15,237,163,119,238,163,120,239,163,121,241,163,122,245,163,123,227,163,100,230,163,115,232,163,116,233,163,117,236,163,118,0,24,77,194,138,84,192,225,87,54,87,54,88,78,89,100,90,18,97,110,226,173,225,1,97,44,99,17,104,239,169,172,17,114,225,173,224,1,112,42,115,17,117,248,107,17,101,239,169,238,1,101,44,105,17,105,233,167,28,17,122,233,167,132,84,68,85,162,158,86,1,97,44,105,17,116,232,173,223,17,105,233,173,222,7,104,78,104,54,105,134,110,162,66,111,17,116,239,171,240,16,97,1,225,88,233,4,42,171,182,67,50,75,54,76,58,84,16,200,171,182,16,206,167,218,16,200,173,219,16,193,173,220,1,42,165,80,77,16,214,165,80,1,98,42,114,16,232,173,221,16,244,1,42,163,180,66,16,212,69,17,115,225,169,186,97,52,101,128,102,134,103,17,108,231,173,218,5,109,17,109,46,110,50,118,16,244,163,170,16,236,171,153,16,231,171,239,103,52,107,56,108,1,229,171,167,245,167,97,16,226,173,215,16,242,173,216,17,108,245,171,171,17,110,231,173,217,18,103,97,242,171,251,80,192,196,80,162,114,82,162,169,83,6,105,67,105,66,111,106,117,144,121,1,108,42,114,16,227,165,16,16,239,173,214,1,100,62,110,1,228,171,70,232,1,42,171,87,76,16,203,171,87,16,228,173,211,2,103,46,114,56,121,16,239,165,18,1,228,171,118,239,173,212,16,225,171,126,17,110,228,173,213,97,62,103,94,104,1,97,42,114,16,228,173,210,16,247,165,100,2,109,46,114,50,117,16,242,171,53,16,242,171,107,16,226,173,209,17,110,247,163,76,4,97,56,101,76,104,82,108,120,114,17,116,233,173,207,1,108,42,117,16,227,165,31,16,237,163,65,17,114,237,173,205,2,97,46,108,50,110,16,248,169,242,16,231,173,206,1,233,169,226,240,169,227,17,114,228,165,249,2,106,48,111,54,117,17,110,242,169,176,17,110,231,173,208,17,104,231,171,20,77,138,78,162,171,79,4,103,56,108,62,114,68,115,88,117,17,103,242,169,221,17,97,237,171,79,17,99,235,171,51,1,107,42,121,16,225,169,214,16,232,169,220,1,103,42,109,16,225,173,204,16,229,169,218,7,114,46,114,90,116,96,117,102,121,17,109,242,3,42,163,209,73,46,77,50,84,16,200,173,198,16,206,167,101,16,205,163,209,17,111,239,169,95,17,101,233,173,196,17,108,244,173,197,97,66,101,116,108,154,111,1,100,42,110,16,231,165,67,16,233,173,195,3,104,50,107,54,110,58,114,16,227,173,191,16,234,173,188,16,225,173,189,1,228,169,118,233,173,190,2,100,52,110,56,114,1,227,173,193,239,173,194,16,230,165,62,16,228,173,192,17,121,237,169,70,4,97,56,98,88,101,92,107,98,115,17,104,245,173,203,2,103,46,110,50,114,16,226,173,201,16,237,173,199,16,228,173,200,17,97,244,161,17,119,225,173,202,17,111,239,165,98,71,196,17,74,195,53,74,166,192,75,166,217,76,3,97,70,101,166,156,105,166,158,121,1,99,42,100,16,233,173,187,16,233,173,186,2,110,166,121,111,166,122,116,16,238,0,26,75,193,57,84,91,87,20,87,172,115,88,172,119,89,48,90,1,193,173,3,215,171,110,16,212,173,119,84,64,85,130,86,3,193,173,114,197,173,116,206,173,115,213,163,148,11,206,20,214,9,214,171,235,215,171,216,218,171,143,206,173,184,207,171,205,210,171,214,203,197,215,203,171,194,204,173,110,205,171,193,4,193,173,185,199,173,112,211,165,99,217,173,113,218,173,7,78,130,78,138,80,162,74,82,162,109,83,12,206,23,212,12,212,173,104,213,167,159,214,173,105,217,173,183,206,173,102,207,171,117,210,173,103,202,9,202,173,100,203,171,93,205,173,101,195,173,99,197,171,142,201,171,97,6,199,12,199,171,255,201,173,86,204,165,79,207,169,133,193,173,83,195,173,84,197,173,85,10,204,20,212,9,212,173,95,215,169,230,217,165,196,204,169,248,205,173,92,210,173,93,193,173,88,197,173,89,198,173,90,199,171,210,200,165,128,3,197,173,98,207,169,81,213,167,159,215,171,42,75,158,76,162,67,77,0,16,205,29,212,15,212,169,96,213,169,49,216,173,1,217,169,21,218,173,82,205,167,65,207,173,181,209,173,80,210,173,182,198,12,198,173,79,199,169,53,203,173,180,204,163,171,193,173,179,195,173,77,196,173,78,197,171,60,1,197,173,66,205,173,178,4,201,173,72,211,173,73,212,169,2,213,173,74,214,169,8,67,192,194,70,100,70,86,71,102,72,162,77,73,5,210,9,210,173,177,211,167,18,212,167,41,195,173,63,196,167,20,197,173,51,2,201,165,126,207,165,133,210,165,139,12,206,23,211,12,211,173,58,212,173,59,213,173,6,215,173,60,206,173,55,208,173,56,209,173,57,198,8,198,173,54,200,105,204,167,120,193,173,53,194,173,9,197,173,176,4,205,173,61,206,173,62,210,167,4,212,167,7,213,167,8,67,82,68,162,66,69,5,211,9,211,165,105,212,173,170,218,173,52,193,173,47,195,173,48,197,165,92,15,207,26,214,12,214,173,42,215,173,11,217,173,174,218,165,28,207,173,39,208,173,40,210,173,41,213,173,4,201,198,143,201,173,36,204,173,37,205,173,38,206,173,173,5,203,9,203,165,36,207,173,45,218,173,175,197,165,48,199,173,97,202,173,44,52,94,52,174,138,65,120,66,11,206,20,210,9,210,171,6,213,167,65,214,173,32,206,173,29,207,173,30,209,173,31,201,9,201,171,31,202,173,27,204,173,28,193,163,194,197,173,24,198,173,25,12,210,23,213,12,213,173,0,215,173,22,216,173,23,218,163,95,210,173,19,211,173,20,212,173,21,205,9,205,173,172,207,173,17,209,173,18,196,173,14,198,173,171,204,111,42,165,99,49,44,50,17,51,176,173,170,17,55,178,167,159,16,225,169,174,16,239,1,42,167,250,76,16,193,167,250,17,112,227,167,223,2,109,46,110,50,115,16,245,167,238,16,226,167,233,1,225,167,207,226,165,208,1,97,58,112,17,97,238,1,42,167,47,74,16,208,167,47,1,109,42,118,16,225,173,166,16,239,173,165,5,110,30,110,48,111,54,116,17,104,233,173,169,17,100,225,167,136,17,114,229,1,42,167,141,75,1,208,173,68,210,167,141,97,48,104,80,105,17,116,243,173,168,2,108,46,110,50,119,16,233,167,71,16,233,165,93,16,225,173,167,2,97,46,109,50,111,16,234,171,69,16,242,171,2,16,242,1,42,167,125,75,16,200,167,125,71,52,72,162,92,73,18,116,97,236,165,110,4,101,70,108,90,111,96,114,122,117,1,106,42,114,16,245,169,223,16,242,165,212,17,111,242,1,42,165,180,71,16,197,165,180,17,97,231,165,33,1,110,42,116,16,232,165,206,1,231,173,153,237,165,106,1,97,80,101,16,235,3,42,165,94,67,46,71,50,84,16,210,163,141,16,217,173,43,16,210,165,94,16,238,173,154,5,108,24,108,48,109,54,117,17,110,231,173,164,17,117,247,165,248,16,110,1,231,173,163,240,165,253,97,48,101,156,105,17,114,225,173,162,16,110,5,239,42,239,173,157,243,88,244,4,42,163,251,67,50,72,54,77,58,84,16,215,163,251,16,193,173,158,16,203,163,243,16,207,163,245,1,42,163,239,67,16,206,163,239,226,165,0,231,173,155,233,173,156,17,98,242,3,42,165,237,73,52,83,56,85,1,193,173,160,211,173,161,16,204,165,237,16,197,173,159,67,193,20,67,112,68,162,205,69,2,103,64,108,70,116,17,104,233,1,42,119,69,1,210,173,50,212,119,17,121,240,165,90,1,98,42,121,16,237,173,152,16,225,173,151,4,97,162,104,104,162,119,111,162,134,112,162,136,121,17,114,236,10,77,51,84,20,84,46,85,56,88,16,203,173,144,1,202,171,177,210,173,143,16,193,171,252,77,46,82,62,83,16,203,173,142,2,196,173,140,203,169,12,206,165,66,2,207,173,141,211,171,58,213,171,39,42,171,39,65,56,66,60,71,76,75,1,199,167,197,218,173,70,16,204,173,137,2,193,173,138,199,163,138,217,163,125,1,197,45,210,173,139,2,107,46,110,50,114,16,233,173,134,16,237,163,233,16,243,167,30,2,97,46,101,50,114,16,243,173,135,16,237,165,8,16,242,165,5,17,112,244,165,20,1,109,42,114,16,244,165,207,16,238,1,42,173,136,67,16,217,173,136,3,101,52,105,134,111,140,117,17,112,236,173,150,17,118,225,6,73,23,73,50,77,54,78,58,80,16,203,163,201,16,206,165,239,16,213,173,147,16,208,169,143,42,165,239,66,42,70,16,202,173,146,16,212,173,145,17,97,235,173,148,17,103,242,173,149,42,162,84,65,170,49,66,5,111,31,111,62,114,68,117,1,103,42,104,16,228,173,133,16,233,173,132,17,112,239,163,255,16,97,1,232,169,246,233,173,131,97,48,101,92,104,17,107,243,173,130,3,108,50,109,54,115,58,116,16,235,173,129,16,233,173,128,16,245,163,107,16,243,163,196,17,110,231,1,42,163,176,66,16,196,163,176,0,33,74,193,192,82,192,204,86,56,86,60,87,88,88,98,89,102,90,1,210,173,2,215,171,110,4,193,173,114,196,173,115,197,173,116,206,173,115,213,163,148,1,198,173,117,211,171,102,16,203,173,118,3,196,173,13,197,173,13,212,173,119,213,171,58,82,70,83,108,84,162,87,85,3,193,171,252,199,173,112,217,173,113,218,173,7,5,211,9,211,171,58,213,171,39,215,171,42,197,173,98,200,171,110,207,169,81,14,205,26,212,12,212,173,104,213,171,39,214,173,105,217,173,106,205,173,101,206,173,102,207,171,117,210,173,103,197,12,197,171,142,201,171,97,202,173,100,203,171,93,193,173,8,195,173,99,196,173,12,14,205,26,210,12,210,171,214,214,171,235,215,163,251,218,171,143,205,171,193,206,173,111,207,171,205,208,173,110,200,12,200,171,182,202,171,177,203,171,194,204,173,110,196,173,107,198,173,108,199,173,109,78,100,78,64,79,168,150,80,120,81,2,193,173,96,207,173,97,213,173,51,9,204,15,204,165,79,207,169,133,208,169,143,209,173,18,212,173,8,193,173,83,195,173,84,197,173,85,200,163,148,201,173,86,13,205,23,212,12,212,173,95,215,169,230,217,165,196,218,173,88,205,173,92,210,173,93,211,173,94,199,12,199,171,210,200,165,128,203,173,91,204,169,248,193,173,88,197,173,89,198,173,90,74,162,72,75,162,76,76,162,100,77,0,18,206,32,213,15,213,169,49,214,165,80,216,173,1,217,169,21,218,173,82,206,165,66,207,163,245,209,173,80,210,173,81,212,169,96,198,15,198,173,79,199,169,53,203,169,12,204,163,171,205,163,209,193,173,76,195,173,77,196,173,78,197,171,60,1,207,173,65,208,167,47,7,208,12,208,173,68,210,167,141,215,173,69,218,173,70,197,173,66,199,167,197,200,167,125,205,173,67,8,211,15,211,173,73,212,169,2,213,173,74,214,169,8,217,173,75,193,167,250,194,173,71,201,173,72,203,171,87,65,193,96,69,152,69,106,70,162,65,71,162,78,72,162,117,73,7,209,12,209,173,64,210,165,116,211,167,18,212,167,41,195,173,63,196,167,20,204,165,237,206,165,239,9,210,14,210,173,50,211,165,105,212,119,213,173,51,218,173,52,193,173,47,195,173,48,197,165,92,199,157,200,173,49,4,201,165,126,207,165,133,209,173,18,210,165,139,216,165,139,11,208,20,211,9,211,173,58,212,173,59,215,173,60,208,173,56,209,173,57,210,165,94,200,8,200,105,204,167,120,206,173,55,193,173,53,197,165,180,198,173,54,6,210,12,210,167,4,212,167,7,213,167,8,214,173,25,203,163,243,205,173,61,206,173,62,65,94,66,162,76,67,162,131,68,6,203,12,203,165,36,207,173,45,217,173,27,218,173,46,196,165,48,197,165,48,202,173,44,13,209,23,212,12,212,173,21,215,173,22,216,173,23,218,163,95,209,173,18,210,173,19,211,173,20,204,11,204,111,205,163,67,206,173,11,207,173,17,196,173,14,197,173,15,198,173,16,0,16,204,28,210,14,210,171,6,212,69,213,163,209,214,173,32,217,163,125,204,173,28,206,173,29,207,173,30,209,173,31,199,12,199,163,138,200,173,26,201,171,31,202,173,27,193,163,194,196,163,176,197,173,24,198,173,25,0,16,207,29,213,15,213,173,4,214,173,42,215,173,11,217,173,43,218,165,28,207,173,39,208,173,40,210,173,41,211,171,58,201,12,201,173,36,204,173,37,205,173,38,206,163,239,196,173,2,198,173,33,199,173,34,200,173,35,52,34,52,66,53,72,55,78,56,1,56,42,57,16,176,171,58,16,182,173,13,17,49,185,173,10,17,51,178,173,11,17,51,182,173,12,42,165,99,48,80,49,162,107,50,2,48,46,51,56,56,16,176,165,48,1,176,165,28,178,171,255,16,176,119,5,51,35,51,52,53,74,54,1,177,171,102,178,165,239,3,176,163,239,180,165,239,181,167,20,185,167,41,2,179,173,0,180,173,5,183,173,6,48,52,49,74,50,1,177,165,99,185,173,4,3,178,171,255,179,165,99,181,171,6,185,173,0,6,181,11,181,157,183,173,2,184,173,3,185,165,99,177,171,255,179,173,1,180,171,143,2,52,46,53,62,55,16,178,171,39,2,178,163,239,179,173,7,181,173,8,3,176,171,39,177,171,39,180,173,9,181,165,48,4,100,54,103,60,104,66,114,70,118,17,115,244,75,17,108,237,165,123,17,104,226,171,246,17,111,237,99,1,97,60,109,1,233,159,238,1,42,163,67,65,16,205,163,67,16,226,0,19,76,98,81,49,81,60,83,64,84,80,85,106,89,1,197,173,13,212,171,144,16,193,173,96,2,193,173,8,196,173,12,217,173,106,4,199,147,200,169,48,202,173,126,206,173,111,210,173,127,16,203,173,121,76,60,77,70,78,98,79,102,80,1,203,173,91,211,173,94,1,194,173,71,217,173,75,4,193,173,76,205,173,120,206,167,117,210,173,81,213,173,124,16,199,173,125,16,205,173,87,69,46,69,66,71,74,73,78,74,100,75,2,200,165,7,205,173,67,215,173,69,1,199,157,200,173,49,16,194,173,121,3,196,173,122,206,173,123,209,173,64,210,165,116,16,207,173,65,42,157,65,50,66,60,67,70,68,16,218,173,46,1,197,173,15,198,173,16,1,200,173,26,213,173,120,1,195,169,22,206,171,248,0,33,117,136,230,43,242,33,242,157,243,163,74,246,163,84,249,163,93,250,1,42,46,65,18,114,97,226,163,97,2,42,163,95,73,138,82,16,213,163,98,230,81,235,105,237,119,238,129,122,45,122,44,225,37,226,45,229,75,16,234,1,42,46,65,18,114,97,226,163,97,3,42,163,95,49,46,73,52,83,16,213,163,98,17,55,178,163,98,1,209,163,96,210,163,97,117,56,118,60,119,82,121,1,226,163,94,242,163,93,16,249,163,83,3,236,163,85,238,163,86,244,163,87,245,163,88,3,225,163,89,226,163,90,239,163,91,248,163,92,107,151,111,106,111,68,112,78,114,104,115,162,81,116,2,225,163,80,231,163,81,234,163,82,2,234,139,237,141,250,143,5,242,6,242,151,243,153,250,155,227,145,228,147,229,149,9,239,15,239,163,69,241,163,70,243,163,71,249,163,72,250,163,73,226,157,227,50,232,163,66,237,163,67,238,163,68,2,42,159,78,46,80,18,97,108,237,163,65,18,98,97,244,161,4,225,163,75,229,163,76,231,163,77,239,163,78,244,163,79,107,60,108,62,109,88,110,3,227,131,235,133,238,135,249,137,16,235,107,5,238,6,238,115,243,111,244,117,225,109,226,111,233,113,3,237,121,238,123,239,125,240,127,101,39,101,52,103,58,104,84,106,1,231,101,244,103,1,226,77,249,79,5,237,6,237,89,239,91,241,93,227,83,228,85,231,87,2,225,95,236,97,239,99,97,72,98,82,99,100,100,5,240,6,240,69,249,71,250,73,225,63,229,65,234,67,2,233,39,235,41,245,43,4,233,47,241,49,242,51,244,53,249,55,2,228,57,229,59,232,61,4,0,39,0,55,0,60,0,74,0,170,170,166,29,0,144,117,31,0,144,108,50,0,144,147,25,0,16,4,0,0,0,80,0,0,0,50,0,0,0,4,0,0,0,3,0,0,0,170,170,170,170,141,6,0,0,0,0,8,9,10,0,2,0,0,0,11,0,9,0,2,1,9,0,1,1,10,0,10,0,0,0,0,0,0,0,10,12,0,0,0,1,11,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,11,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,0,1,0,0,0,0,14,1,0,0,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,0,2,0,0,1,1,2,1,0,1,2,3,1,1,0,2,1,0,1,1,2,0,1,1,1,1,1,1,1,0,2,2,1,2,0,2,2,2,1,1,2,1,0,1,2,4,0,1,1,0,1,1,1,1,0,1,2,1,1,2,1,0,2,1,0,2,1,2,1,1,1,0,0,0,1,1,0,1,0,0,1,1,0,2,0,2,0,0,0,0,0,0,0,0,0,0,5,1,0,2,0,1,0,1,5,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,2,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,1,6,0,2,1,2,1,1,1,0,0,2,1,1,0,2,1,1,2,2,3,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,7,0,1,2,0,0,0,1,0,2,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,1,2,0,1,0,1,0,0,0,0,1,0,2,1,1,1,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,1,1,1,0,0,5,0,5,0,1,1,1,2,1,3,0,0,1,1,1,1,7,3,2,5,2,1,1,1,1,2,1,1,1,0,1,0,1,1,1,0,2,0,0,1,0,0,1,1,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,1,1,3,0,0,1,1,2,1,0,0,0,4,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,2,1,1,1,2,0,2,1,1,1,0,2,1,0,1,1,1,0,1,1,1,1,5,1,1,0,1,0,2,0,1,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,3,15,0,0,0,0,4,0,0,0,0,0,2,1,1,0,2,0,2,0,2,0,4,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,154,10,0,0,0,25,110,196,43,116,193,177,119,192,199,119,162,125,120,162,135,121,162,151,122,4,108,56,109,170,155,225,56,232,86,245,17,101,238,93,18,237,109,243,53,17,122,232,72,1,42,133,76,22,97,116,238,72,97,110,243,53,17,122,232,32,2,42,133,72,52,76,22,97,116,238,72,97,110,243,73,17,97,110,1,233,126,244,19,72,97,110,244,32,7,179,10,179,62,180,58,181,54,182,16,182,41,42,43,176,38,177,34,178,5,179,200,184,179,41,180,41,181,41,5,179,200,174,179,41,180,41,181,41,18,72,97,110,1,243,73,244,73,1,117,42,239,17,102,242,93,18,245,122,232,53,1,109,42,232,17,101,238,93,2,237,162,65,246,34,247,17,109,231,53,3,105,50,117,56,233,62,239,17,101,238,93,18,232,121,233,53,18,229,122,232,53,17,101,238,92,1,42,133,72,22,101,98,242,76,97,116,238,53,116,74,117,162,180,118,1,107,44,114,18,239,101,244,53,1,235,34,244,17,109,243,53,14,225,113,235,14,235,162,164,238,162,223,239,162,220,244,17,114,245,93,225,78,229,146,231,170,87,233,17,101,238,92,1,42,133,69,22,116,104,233,76,97,116,238,53,1,101,66,116,16,225,32,1,42,133,76,22,97,116,238,84,97,109,236,73,16,238,92,1,42,133,84,22,97,109,236,76,97,116,238,53,1,101,66,116,16,229,32,1,42,133,76,22,97,116,238,84,101,108,245,73,16,238,92,1,42,133,84,22,101,108,245,76,97,116,238,53,108,28,108,54,109,172,28,117,54,120,18,249,109,231,53,18,232,101,238,93,1,237,162,94,249,18,107,108,238,53,100,50,101,162,230,107,18,231,109,231,53,18,248,109,231,53,5,235,24,235,178,205,242,162,154,250,17,114,245,92,1,42,133,76,22,97,116,238,67,121,114,236,53,114,46,122,52,231,17,122,232,73,18,235,109,243,53,18,243,117,250,53,113,193,103,113,162,178,114,164,79,115,0,18,232,91,241,45,241,48,242,52,244,40,245,168,41,247,17,101,238,93,16,115,1,232,41,242,32,2,42,133,67,52,76,22,97,116,238,67,121,114,236,43,22,121,114,236,76,97,116,238,43,232,54,233,70,235,100,238,34,239,17,101,238,93,2,98,172,56,104,34,115,16,242,41,17,101,238,92,1,42,133,83,22,105,110,232,76,97,116,238,53,17,99,243,73,112,46,112,82,114,88,115,94,225,178,32,228,17,101,238,92,1,42,133,65,22,114,97,226,76,97,116,238,53,18,246,111,242,53,18,239,115,227,53,1,232,176,37,249,17,97,225,41,100,52,103,64,104,72,107,18,231,109,231,53,1,227,34,238,17,115,227,53,19,227,107,108,238,53,18,245,97,242,53,4,117,58,118,144,119,162,100,120,162,109,245,17,101,243,93,12,236,22,243,11,243,42,247,38,248,34,249,17,113,245,53,236,38,240,34,242,17,113,245,53,231,9,231,38,232,34,235,17,113,245,53,226,38,228,34,230,17,113,245,53,13,237,22,240,11,240,42,243,38,247,34,250,17,113,245,53,237,38,238,34,239,17,113,245,53,232,11,232,42,233,38,234,34,236,17,113,245,53,225,38,227,34,229,17,113,245,53,3,225,42,227,38,232,34,243,17,113,245,53,10,239,20,244,9,244,38,245,34,247,17,113,245,53,239,38,240,34,242,17,113,245,53,225,46,227,42,232,38,236,34,238,17,113,245,53,17,113,245,53,3,97,168,23,237,48,238,162,137,247,17,102,242,93,17,100,229,73,110,162,115,111,162,217,112,8,107,81,107,172,29,115,98,225,112,243,142,244,17,112,244,162,128,7,179,196,220,179,170,246,180,38,181,34,182,4,176,41,178,41,180,41,181,41,182,41,1,229,162,213,244,17,112,243,53,17,101,238,92,1,42,133,71,22,117,114,245,76,97,116,238,53,17,101,238,92,1,42,133,65,22,114,97,226,76,97,116,238,53,98,52,99,58,101,64,103,18,225,97,242,53,18,244,112,243,53,18,237,101,238,73,18,236,109,243,53,10,121,70,238,25,238,46,239,56,249,17,101,238,93,16,110,1,226,73,239,73,1,100,124,110,1,226,35,238,73,121,72,226,86,229,17,101,238,92,1,42,133,68,22,101,118,225,76,97,116,238,53,1,228,166,117,238,17,101,238,93,1,100,44,110,1,238,73,239,35,16,225,49,97,168,124,104,52,105,58,108,66,115,18,239,101,238,93,18,228,103,238,53,19,241,107,108,238,53,19,229,108,117,249,53,4,107,84,114,92,227,174,56,237,162,228,242,17,101,238,92,1,42,133,79,22,114,121,225,76,97,116,238,53,19,233,107,108,238,53,2,227,166,205,238,34,243,17,109,243,53,103,195,51,106,194,79,106,162,188,107,164,20,108,164,183,109,0,16,118,105,238,53,238,164,17,242,78,243,116,244,162,161,249,17,101,238,92,1,42,133,77,22,121,109,242,76,97,116,238,53,1,104,166,86,109,16,242,32,1,42,133,76,22,97,116,238,68,101,118,225,73,17,105,228,93,118,118,231,164,79,233,166,17,236,1,101,66,109,16,236,32,1,42,133,76,22,97,116,238,77,108,121,237,73,16,238,92,1,42,133,77,22,108,121,237,76,97,116,238,53,18,230,109,238,53,110,31,110,52,113,58,115,64,117,18,233,109,243,53,18,240,122,232,53,18,231,109,243,53,1,232,172,176,233,17,109,243,53,97,52,101,72,102,78,105,18,238,109,243,53,1,233,42,248,17,109,243,53,17,104,233,73,18,239,109,243,53,2,225,74,226,70,229,17,101,238,93,2,97,46,225,58,246,17,105,228,73,1,235,34,248,17,109,243,53,17,106,225,32,3,42,133,72,56,75,120,76,22,97,116,238,74,112,97,238,43,2,97,54,105,66,114,21,107,244,74,112,97,238,43,21,110,233,74,112,97,238,43,17,114,225,1,72,70,74,18,112,97,238,43,18,97,110,225,1,72,44,74,18,112,97,238,43,18,114,107,244,43,10,235,115,239,54,239,46,245,124,249,17,114,245,93,17,107,239,32,2,42,133,72,70,74,18,97,109,239,1,72,44,75,18,111,114,229,43,18,97,110,231,43,17,97,110,1,231,34,233,19,75,111,114,229,43,17,116,242,93,235,168,200,237,106,238,1,101,66,107,16,238,32,1,42,133,76,22,97,116,238,75,110,100,225,73,16,238,92,1,42,133,75,22,110,100,225,76,97,116,238,53,17,101,238,92,1,42,133,75,22,104,109,242,76,97,116,238,53,114,54,118,60,120,72,225,78,231,17,102,242,93,18,233,101,238,93,1,226,34,242,17,109,243,53,18,228,109,243,53,17,101,238,92,1,42,133,71,22,101,111,242,76,97,116,238,53,14,117,62,226,33,226,78,231,162,157,238,76,239,17,101,238,92,1,42,133,76,22,97,111,239,76,97,116,238,53,17,100,229,41,17,102,242,93,117,50,119,56,122,64,225,17,105,244,73,18,225,102,242,93,19,231,108,117,249,53,18,232,122,232,53,111,42,111,72,114,78,115,92,116,2,231,48,239,34,243,18,108,117,249,53,17,108,246,53,18,250,101,238,93,1,233,34,237,18,108,117,249,53,19,237,108,117,249,53,99,70,105,82,107,2,226,38,239,34,243,18,108,117,249,53,18,108,117,249,53,1,229,34,230,17,109,243,53,18,247,109,243,53,103,106,104,162,129,105,5,228,10,228,168,196,231,52,243,17,101,238,73,100,46,107,54,225,17,101,238,93,19,225,108,117,249,53,18,244,105,245,53,10,117,49,236,30,236,164,14,238,164,11,245,1,103,40,104,16,233,93,16,245,32,1,42,133,76,22,97,116,238,71,117,106,242,73,117,46,225,34,228,17,101,238,73,1,233,34,238,17,103,238,53,97,56,107,76,110,84,111,90,115,18,247,100,229,41,2,225,162,87,238,164,132,248,17,111,237,53,19,240,107,112,229,53,18,247,103,238,53,19,237,107,111,235,53,7,233,52,233,78,242,108,244,168,45,249,17,114,245,92,1,42,133,65,22,114,109,238,67,121,114,236,53,17,104,233,32,1,42,133,76,22,97,116,238,68,101,118,225,73,1,98,40,115,16,232,41,16,243,41,97,50,106,76,115,82,225,17,101,238,93,2,229,48,235,164,38,247,17,101,238,73,17,111,237,53,18,233,109,243,53,18,238,122,232,53,100,192,234,100,136,101,162,72,102,3,102,50,117,56,239,106,249,17,110,236,73,18,237,102,230,53,6,232,11,232,42,233,38,241,34,246,17,102,230,53,226,38,229,34,230,17,102,230,53,17,102,230,53,17,100,225,73,2,116,52,117,58,225,16,110,1,226,49,239,49,18,249,110,229,53,18,240,109,243,53,6,238,133,238,54,239,162,133,243,162,65,245,17,101,243,73,17,101,238,162,128,7,179,29,179,100,180,38,181,56,182,4,176,41,177,41,180,41,181,39,182,41,4,176,39,177,39,180,39,181,39,182,39,42,43,176,48,177,44,178,1,178,41,179,41,4,176,41,177,41,180,41,181,39,182,41,17,101,243,162,128,7,179,18,179,122,180,38,181,34,182,4,176,41,178,41,180,41,181,41,182,41,42,43,176,38,177,78,178,4,176,41,178,41,180,41,181,41,182,41,4,176,41,178,41,180,41,181,41,182,41,1,177,41,179,41,110,46,121,54,229,17,101,238,93,19,226,107,108,238,53,19,239,107,108,238,53,97,162,96,98,164,158,99,12,112,46,225,17,225,162,206,239,164,221,243,42,249,17,101,238,73,17,115,235,73,112,62,114,68,122,1,232,34,239,17,122,232,53,17,122,232,53,18,248,122,232,53,18,243,102,242,73,106,20,106,48,107,54,111,18,225,109,243,53,18,249,122,232,53,18,226,97,242,93,100,48,101,54,104,18,242,101,238,73,18,239,122,232,53,19,226,102,105,236,93,0,22,117,192,192,230,146,242,117,242,74,249,162,108,250,17,114,245,92,1,42,133,76,22,97,116,238,67,121,114,236,53,17,97,242,32,1,42,90,76,22,97,116,238,65,114,97,226,72,7,179,39,179,42,180,96,181,34,182,5,179,54,179,41,181,41,182,41,132,7,179,19,179,42,180,56,181,34,182,5,179,34,179,41,181,41,182,41,16,180,41,42,43,176,38,177,34,178,5,179,15,179,41,181,41,182,41,5,179,6,179,41,181,41,182,41,176,41,177,41,178,41,17,101,243,73,230,74,235,162,177,237,17,101,238,92,1,42,133,69,22,116,104,233,76,97,116,238,53,17,110,236,73,122,19,122,46,225,52,226,17,114,245,93,18,226,97,250,53,18,115,115,249,41,117,164,46,118,58,121,3,232,42,236,38,238,34,240,17,97,242,53,18,236,97,242,53,102,53,108,30,108,62,112,68,114,3,241,42,243,38,249,34,250,17,97,242,53,18,238,115,241,53,1,227,34,228,17,97,242,53,102,48,105,54,106,18,240,97,242,53,18,226,97,242,53,19,233,115,121,242,53,97,62,98,78,99,90,100,144,101,1,226,34,227,17,97,242,53,2,229,38,239,50,244,17,115,241,53,1,232,34,246,17,97,242,53,5,247,9,247,38,248,34,249,17,97,242,53,232,46,237,34,241,17,97,242,53,17,101,238,93,17,97,242,53,18,230,97,242,53,14,118,104,238,74,238,62,239,130,242,160,243,1,104,40,115,16,232,41,16,242,41,1,98,66,101,16,238,92,1,42,133,66,22,101,110,231,76,97,116,238,53,16,238,32,1,42,133,76,22,97,116,238,66,101,110,231,73,17,122,232,72,1,42,133,84,22,105,98,244,72,97,110,243,53,17,102,242,73,118,50,122,62,229,68,232,17,104,233,93,1,229,34,245,17,109,243,53,18,227,109,231,53,17,114,245,73,104,34,104,52,106,58,109,78,116,18,234,109,243,53,18,242,109,231,53,1,238,42,241,17,109,231,53,17,109,243,53,18,237,109,231,53,97,48,98,54,101,18,237,101,238,93,18,236,117,242,73,18,250,97,242,53,170,170,5,0,85,0,95,0,105,0,116,0,74,0,93,35,0,224,185,50,0,144,204,50,0,144,99,35,0,16,11,37,0,16,2,0,32,0,79,0,170,170,86,35,0,32,179,39,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,144,74,0,80,7,0,0,0,206,8,0,0,114,53,0,0,114,53,0,0,91,7,0,0,1,0,0,0,114,53,0,0,97,97,105,0,97,97,107,0,97,97,117,0,97,98,105,0,97,98,113,0,97,98,114,0,97,98,116,0,97,98,121,0,97,99,100,0,97,99,101,0,97,99,104,0,97,100,97,0,97,100,101,0,97,100,106,0,97,100,112,0,97,100,121,0,97,100,122,0,97,101,98,0,97,101,121,0,97,103,99,0,97,103,100,0,97,103,103,0,97,103,111,0,97,103,113,0,97,104,97,0,97,104,108,0,97,104,111,0,97,106,103,0,97,106,116,0,97,107,107,0,97,108,97,0,97,108,110,0,97,108,116,0,97,109,109,0,97,109,110,0,97,109,112,0,97,110,99,0,97,110,107,0,97,110,110,0,97,110,121,0,97,111,106,0,97,111,109,0,97,111,122,0,97,112,99,0,97,112,100,0,97,112,101,0,97,112,114,0,97,112,115,0,97,112,122,0,97,114,99,95,78,98,97,116,0,97,114,99,95,80,97,108,109,0,97,114,104,0,97,114,110,0,97,114,111,0,97,114,113,0,97,114,115,0,97,114,121,0,97,114,122,0,97,115,97,0,97,115,101,0,97,115,103,0,97,115,111,0,97,115,116,0,97,116,97,0,97,116,103,0,97,116,106,0,97,117,121,0,97,118,108,0,97,118,110,0,97,118,117,0,97,119,97,0,97,119,98,0,97,119,111,0,97,119,120,0,97,121,98,0,97,122,95,65,114,97,98,0,97,122,95,73,81,0,97,122,95,73,82,0,97,122,95,82,85,0,98,97,108,0,98,97,110,0,98,97,112,0,98,97,114,0,98,97,115,0,98,97,118,0,98,97,120,0,98,98,97,0,98,98,98,0,98,98,99,0,98,98,100,0,98,98,106,0,98,98,112,0,98,98,114,0,98,99,102,0,98,99,104,0,98,99,105,0,98,99,109,0,98,99,110,0,98,99,111,0,98,99,113,0,98,99,117,0,98,100,100,0,98,101,102,0,98,101,104,0,98,101,106,0,98,101,109,0,98,101,116,0,98,101,119,0,98,101,120,0,98,101,122,0,98,102,100,0,98,102,113,0,98,102,116,0,98,102,121,0,98,103,99,0,98,103,110,0,98,103,120,0,98,104,98,0,98,104,103,0,98,104,105,0,98,104,108,0,98,104,111,0,98,104,121,0,98,105,98,0,98,105,103,0,98,105,107,0,98,105,109,0,98,105,110,0,98,105,111,0,98,105,113,0,98,106,104,0,98,106,105,0,98,106,106,0,98,106,110,0,98,106,111,0,98,106,114,0,98,106,116,0,98,106,122,0,98,107,99,0,98,107,109,0,98,107,113,0,98,107,117,0,98,107,118,0,98,108,97,0,98,108,103,0,98,108,116,0,98,109,104,0,98,109,107,0,98,109,113,0,98,109,117,0,98,110,0,98,110,103,0,98,110,109,0,98,110,112,0,98,111,106,0,98,111,109,0,98,111,110,0,98,112,121,0,98,113,99,0,98,113,105,0,98,113,112,0,98,113,118,0,98,114,97,0,98,114,104,0,98,114,120,0,98,114,122,0,98,115,0,98,115,106,0,98,115,113,0,98,115,115,0,98,115,116,0,98,116,111,0,98,116,116,0,98,116,118,0,98,117,97,0,98,117,99,0,98,117,100,0,98,117,103,0,98,117,107,0,98,117,109,0,98,117,111,0,98,117,115,0,98,117,117,0,98,118,98,0,98,119,100,0,98,119,114,0,98,120,104,0,98,121,101,0,98,121,110,0,98,121,114,0,98,121,115,0,98,121,118,0,98,121,120,0,98,122,97,0,98,122,101,0,98,122,102,0,98,122,104,0,98,122,119,0,99,97,100,0,99,97,110,0,99,98,106,0,99,99,104,0,99,99,112,0,99,101,98,0,99,102,97,0,99,103,103,0,99,104,107,0,99,104,109,0,99,104,112,0,99,104,114,0,99,105,99,0,99,106,97,0,99,106,109,0,99,106,118,0,99,107,98,0,99,107,108,0,99,107,111,0,99,107,121,0,99,108,97,0,99,108,99,0,99,109,101,0,99,109,103,0,99,111,112,0,99,112,115,0,99,114,103,0,99,114,104,0,99,114,107,0,99,114,108,0,99,114,115,0,99,115,0,99,115,98,0,99,115,119,0,99,116,100,0,99,117,95,71,108,97,103,0,99,118,0,100,97,100,0,100,97,102,0,100,97,103,0,100,97,104,0,100,97,107,0,100,97,114,0,100,97,118,0,100,98,100,0,100,98,113,0,100,99,99,0,100,100,110,0,100,101,100,0,100,101,110,0,100,103,97,0,100,103,104,0,100,103,105,0,100,103,108,0,100,103,114,0,100,103,122,0,100,105,97,0,100,106,101,0,100,109,102,0,100,110,106,0,100,111,98,0,100,111,105,0,100,111,112,0,100,111,119,0,100,114,104,0,100,114,105,0,100,114,115,0,100,115,98,0,100,116,109,0,100,116,112,0,100,116,115,0,100,116,121,0,100,117,97,0,100,117,99,0,100,117,100,0,100,117,103,0,100,118,0,100,118,97,0,100,119,119,0,100,121,111,0,100,121,117,0,100,122,103,0,101,98,117,0,101,102,105,0,101,103,108,0,101,103,121,0,101,107,97,0,101,107,121,0,101,109,97,0,101,109,105,0,101,110,95,83,104,97,119,0,101,110,110,0,101,110,113,0,101,114,105,0,101,115,103,0,101,115,117,0,101,116,114,0,101,116,116,0,101,116,117,0,101,116,120,0,101,119,111,0,101,120,116,0,101,122,97,0,102,97,97,0,102,97,98,0,102,97,103,0,102,97,105,0,102,97,110,0,102,102,0,102,102,95,65,100,108,109,0,102,102,105,0,102,102,109,0,102,105,97,0,102,105,108,0,102,105,116,0,102,106,0,102,108,114,0,102,109,112,0,102,111,100,0,102,111,110,0,102,111,114,0,102,112,101,0,102,113,115,0,102,114,99,0,102,114,112,0,102,114,114,0,102,114,115,0,102,117,98,0,102,117,100,0,102,117,101,0,102,117,102,0,102,117,104,0,102,117,113,0,102,117,114,0,102,117,118,0,102,117,121,0,102,118,114,0,103,97,97,0,103,97,102,0,103,97,103,0,103,97,104,0,103,97,106,0,103,97,110,0,103,97,119,0,103,97,121,0,103,98,97,0,103,98,102,0,103,98,109,0,103,98,121,0,103,98,122,0,103,99,114,0,103,100,101,0,103,100,110,0,103,100,114,0,103,101,98,0,103,101,106,0,103,101,108,0,103,101,122,0,103,102,107,0,103,103,110,0,103,104,115,0,103,105,108,0,103,105,109,0,103,106,107,0,103,106,110,0,103,106,117,0,103,107,110,0,103,107,112,0,103,108,107,0,103,109,109,0,103,109,118,0,103,110,100,0,103,110,103,0,103,111,100,0,103,111,102,0,103,111,105,0,103,111,109,0,103,111,110,0,103,111,114,0,103,111,115,0,103,111,116,0,103,114,98,0,103,114,99,0,103,114,99,95,76,105,110,98,0,103,114,116,0,103,114,119,0,103,115,119,0,103,117,98,0,103,117,99,0,103,117,100,0,103,117,114,0,103,117,119,0,103,117,120,0,103,117,122,0,103,118,0,103,118,102,0,103,118,114,0,103,118,115,0,103,119,99,0,103,119,105,0,103,119,116,0,103,121,105,0,104,97,95,67,77,0,104,97,95,83,68,0,104,97,107,0,104,97,122,0,104,98,98,0,104,100,121,0,104,104,121,0,104,105,95,76,97,116,110,0,104,105,97,0,104,105,102,0,104,105,103,0,104,105,104,0,104,105,108,0,104,108,97,0,104,108,117,0,104,109,100,0,104,109,116,0,104,110,100,0,104,110,101,0,104,110,106,0,104,110,110,0,104,110,111,0,104,111,99,0,104,111,116,0,104,115,98,0,104,115,110,0,104,117,105,0,104,117,114,0,105,97,110,0,105,97,114,0,105,98,97,0,105,98,98,0,105,98,121,0,105,99,97,0,105,99,104,0,105,100,105,0,105,100,117,0,105,102,101,0,105,103,98,0,105,103,101,0,105,106,106,0,105,107,107,0,105,107,119,0,105,107,120,0,105,108,111,0,105,109,111,0,105,111,117,0,105,114,105,0,105,119,109,0,105,119,115,0,105,122,104,0,105,122,105,0,106,97,98,0,106,97,109,0,106,97,114,0,106,98,111,0,106,98,117,0,106,101,110,0,106,103,107,0,106,103,111,0,106,105,98,0,106,109,99,0,106,109,108,0,106,114,97,0,106,117,116,0,106,119,0,107,97,97,0,107,97,98,0,107,97,99,0,107,97,100,0,107,97,105,0,107,97,106,0,107,97,109,0,107,97,111,0,107,97,119,0,107,98,100,0,107,98,109,0,107,98,112,0,107,98,113,0,107,98,120,0,107,98,121,0,107,99,103,0,107,99,107,0,107,99,108,0,107,99,116,0,107,100,101,0,107,100,104,0,107,100,108,0,107,100,116,0,107,101,97,0,107,101,110,0,107,101,122,0,107,102,111,0,107,102,114,0,107,102,121,0,107,103,101,0,107,103,102,0,107,103,112,0,107,104,97,0,107,104,98,0,107,104,110,0,107,104,113,0,107,104,115,0,107,104,116,0,107,104,119,0,107,104,122,0,107,105,106,0,107,105,117,0,107,105,119,0,107,106,100,0,107,106,103,0,107,106,115,0,107,106,121,0,107,107,95,65,70,0,107,107,95,65,114,97,98,0,107,107,95,67,78,0,107,107,95,73,82,0,107,107,95,77,78,0,107,107,99,0,107,107,106,0,107,108,110,0,107,108,113,0,107,108,116,0,107,108,120,0,107,109,98,0,107,109,104,0,107,109,111,0,107,109,115,0,107,109,117,0,107,109,119,0,107,110,102,0,107,110,112,0,107,111,105,0,107,111,107,0,107,111,108,0,107,111,115,0,107,111,122,0,107,112,101,0,107,112,102,0,107,112,111,0,107,112,114,0,107,112,120,0,107,113,98,0,107,113,102,0,107,113,115,0,107,113,121,0,107,114,99,0,107,114,105,0,107,114,106,0,107,114,108,0,107,114,115,0,107,114,117,0,107,115,98,0,107,115,100,0,107,115,102,0,107,115,104,0,107,115,106,0,107,115,114,0,107,116,98,0,107,116,109,0,107,116,111,0,107,116,114,0,107,117,95,65,114,97,98,0,107,117,95,76,66,0,107,117,95,89,101,122,105,0,107,117,98,0,107,117,100,0,107,117,101,0,107,117,106,0,107,117,109,0,107,117,110,0,107,117,112,0,107,117,115,0,107,118,103,0,107,118,114,0,107,118,120,0,107,119,106,0,107,119,107,0,107,119,111,0,107,119,113,0,107,120,97,0,107,120,99,0,107,120,101,0,107,120,108,0,107,120,109,0,107,120,112,0,107,120,119,0,107,120,122,0,107,121,95,65,114,97,98,0,107,121,95,67,78,0,107,121,95,76,97,116,110,0,107,121,95,84,82,0,107,121,101,0,107,121,120,0,107,122,104,0,107,122,106,0,107,122,114,0,107,122,116,0,108,97,98,0,108,97,100,0,108,97,104,0,108,97,106,0,108,97,115,0,108,98,0,108,98,101,0,108,98,117,0,108,98,119,0,108,99,109,0,108,99,112,0,108,100,98,0,108,101,100,0,108,101,101,0,108,101,109,0,108,101,112,0,108,101,113,0,108,101,117,0,108,101,122,0,108,103,103,0,108,105,97,0,108,105,100,0,108,105,102,0,108,105,102,95,76,105,109,98,0,108,105,103,0,108,105,104,0,108,105,106,0,108,105,108,0,108,105,115,0,108,106,112,0,108,107,105,0,108,107,116,0,108,108,101,0,108,108,110,0,108,109,110,0,108,109,111,0,108,109,112,0,108,110,115,0,108,110,117,0,108,111,106,0,108,111,107,0,108,111,108,0,108,111,114,0,108,111,115,0,108,111,122,0,108,114,99,0,108,116,103,0,108,117,97,0,108,117,111,0,108,117,121,0,108,117,122,0,108,118,0,108,119,108,0,108,122,104,0,108,122,122,0,109,97,100,0,109,97,102,0,109,97,103,0,109,97,105,0,109,97,107,0,109,97,110,0,109,97,110,95,71,78,0,109,97,110,95,78,107,111,111,0,109,97,115,0,109,97,119,0,109,97,122,0,109,98,104,0,109,98,111,0,109,98,113,0,109,98,117,0,109,98,119,0,109,99,105,0,109,99,112,0,109,99,113,0,109,99,114,0,109,99,117,0,109,100,97,0,109,100,101,0,109,100,102,0,109,100,104,0,109,100,106,0,109,100,114,0,109,100,120,0,109,101,100,0,109,101,101,0,109,101,107,0,109,101,110,0,109,101,114,0,109,101,116,0,109,101,117,0,109,102,97,0,109,102,101,0,109,102,110,0,109,102,111,0,109,102,113,0,109,103,104,0,109,103,108,0,109,103,111,0,109,103,112,0,109,103,121,0,109,104,105,0,109,104,108,0,109,105,99,0,109,105,102,0,109,105,110,0,109,105,119,0,109,107,105,0,109,107,108,0,109,107,112,0,109,107,119,0,109,108,101,0,109,108,112,0,109,108,115,0,109,109,111,0,109,109,117,0,109,109,120,0,109,110,95,67,78,0,109,110,95,77,111,110,103,0,109,110,97,0,109,110,102,0,109,110,105,0,109,110,119,0,109,111,97,0,109,111,101,0,109,111,104,0,109,111,115,0,109,111,120,0,109,112,112,0,109,112,115,0,109,112,116,0,109,112,120,0,109,113,108,0,109,114,100,0,109,114,106,0,109,114,111,0,109,115,95,67,67,0,109,116,99,0,109,116,102,0,109,116,105,0,109,116,114,0,109,117,97,0,109,117,114,0,109,117,115,0,109,118,97,0,109,118,110,0,109,118,121,0,109,119,107,0,109,119,114,0,109,119,118,0,109,119,119,0,109,120,99,0,109,120,109,0,109,121,107,0,109,121,109,0,109,121,118,0,109,121,119,0,109,121,120,0,109,121,122,0,109,122,107,0,109,122,109,0,109,122,110,0,109,122,112,0,109,122,119,0,109,122,122,0,110,97,99,0,110,97,102,0,110,97,107,0,110,97,110,0,110,97,112,0,110,97,113,0,110,97,115,0,110,99,97,0,110,99,101,0,110,99,102,0,110,99,104,0,110,99,111,0,110,99,117,0,110,100,99,0,110,100,115,0,110,101,98,0,110,101,119,0,110,101,120,0,110,102,114,0,110,103,97,0,110,103,98,0,110,103,108,0,110,104,98,0,110,104,101,0,110,104,119,0,110,105,102,0,110,105,105,0,110,105,106,0,110,105,110,0,110,105,117,0,110,105,121,0,110,105,122,0,110,106,111,0,110,107,103,0,110,107,111,0,110,108,0,110,109,103,0,110,109,122,0,110,110,102,0,110,110,104,0,110,110,107,0,110,110,109,0,110,110,112,0,110,111,100,0,110,111,101,0,110,111,110,0,110,111,112,0,110,111,117,0,110,113,111,0,110,114,98,0,110,115,107,0,110,115,110,0,110,115,111,0,110,115,115,0,110,115,116,0,110,116,109,0,110,116,114,0,110,117,105,0,110,117,112,0,110,117,115,0,110,117,118,0,110,117,120,0,110,118,0,110,119,98,0,110,120,113,0,110,120,114,0,110,121,109,0,110,121,110,0,110,122,105,0,111,99,95,69,83,0,111,103,99,0,111,106,115,0,111,107,97,0,111,107,114,0,111,107,118,0,111,110,110,0,111,110,115,0,111,112,109,0,111,114,111,0,111,114,117,0,111,115,97,0,111,116,97,0,111,116,107,0,111,117,105,0,111,122,109,0,112,97,95,65,114,97,98,0,112,97,95,80,75,0,112,97,103,0,112,97,108,0,112,97,108,95,80,104,108,112,0,112,97,109,0,112,97,112,0,112,97,117,0,112,98,105,0,112,99,100,0,112,99,109,0,112,100,99,0,112,100,116,0,112,101,100,0,112,101,120,0,112,102,108,0,112,104,108,0,112,104,110,0,112,105,108,0,112,105,112,0,112,105,115,0,112,107,97,0,112,107,111,0,112,108,97,0,112,109,115,0,112,110,103,0,112,110,110,0,112,110,116,0,112,111,110,0,112,112,97,0,112,112,111,0,112,113,109,0,112,114,97,0,112,114,100,0,112,114,103,0,112,115,115,0,112,116,112,0,112,117,117,0,112,119,97,0,113,117,0,113,117,99,0,113,117,103,0,114,97,106,0,114,97,111,0,114,99,102,0,114,101,106,0,114,101,108,0,114,101,115,0,114,103,110,0,114,104,103,0,114,105,97,0,114,105,102,0,114,105,102,95,78,76,0,114,106,115,0,114,107,116,0,114,109,102,0,114,109,111,0,114,109,116,0,114,109,117,0,114,110,97,0,114,110,103,0,114,111,98,0,114,111,102,0,114,114,111,0,114,116,109,0,114,117,101,0,114,117,103,0,114,119,107,0,114,119,111,0,114,121,117,0,115,97,102,0,115,97,104,0,115,97,113,0,115,97,115,0,115,97,116,0,115,97,118,0,115,97,122,0,115,98,97,0,115,98,101,0,115,98,112,0,115,99,0,115,99,107,0,115,99,108,0,115,99,110,0,115,99,111,0,115,100,95,68,101,118,97,0,115,100,95,73,78,0,115,100,95,75,104,111,106,0,115,100,95,83,105,110,100,0,115,100,99,0,115,100,104,0,115,101,102,0,115,101,104,0,115,101,105,0,115,101,115,0,115,103,97,0,115,103,115,0,115,103,119,0,115,103,122,0,115,104,105,0,115,104,107,0,115,104,110,0,115,105,100,0,115,105,103,0,115,105,108,0,115,105,109,0,115,106,114,0,115,107,99,0,115,107,114,0,115,107,115,0,115,108,0,115,108,100,0,115,108,105,0,115,108,108,0,115,108,121,0,115,109,100,0,115,109,106,0,115,109,110,0,115,109,112,0,115,109,113,0,115,109,115,0,115,110,98,0,115,110,99,0,115,110,107,0,115,110,112,0,115,110,120,0,115,110,121,0,115,111,103,0,115,111,107,0,115,111,113,0,115,111,117,0,115,111,121,0,115,112,100,0,115,112,108,0,115,112,115,0,115,114,95,77,69,0,115,114,95,82,79,0,115,114,95,82,85,0,115,114,95,84,82,0,115,114,98,0,115,114,110,0,115,114,114,0,115,114,120,0,115,115,100,0,115,115,103,0,115,115,121,0,115,116,107,0,115,116,113,0,115,117,97,0,115,117,101,0,115,117,107,0,115,117,114,0,115,117,115,0,115,118,0,115,119,98,0,115,119,99,0,115,119,103,0,115,119,112,0,115,119,118,0,115,120,110,0,115,120,119,0,115,121,108,0,115,121,114,0,115,122,108,0,116,97,106,0,116,97,110,0,116,97,113,0,116,98,99,0,116,98,100,0,116,98,102,0,116,98,103,0,116,98,111,0,116,98,119,0,116,98,122,0,116,99,105,0,116,99,121,0,116,100,100,0,116,100,103,0,116,100,104,0,116,100,117,0,116,101,100,0,116,101,109,0,116,101,111,0,116,101,116,0,116,102,105,0,116,103,95,65,114,97,98,0,116,103,95,80,75,0,116,103,99,0,116,103,111,0,116,103,117,0,116,104,108,0,116,104,113,0,116,104,114,0,116,105,102,0,116,105,103,0,116,105,107,0,116,105,109,0,116,105,111,0,116,105,118,0,116,107,108,0,116,107,114,0,116,107,116,0,116,108,0,116,108,102,0,116,108,120,0,116,108,121,0,116,109,104,0,116,109,121,0,116,110,104,0,116,111,102,0,116,111,103,0,116,111,107,0,116,111,113,0,116,112,105,0,116,112,109,0,116,112,122,0,116,113,111,0,116,114,117,0,116,114,118,0,116,114,119,0,116,115,100,0,116,115,102,0,116,115,103,0,116,115,106,0,116,115,119,0,116,116,100,0,116,116,101,0,116,116,106,0,116,116,114,0,116,116,115,0,116,116,116,0,116,117,104,0,116,117,108,0,116,117,109,0,116,117,113,0,116,118,100,0,116,118,108,0,116,118,117,0,116,119,104,0,116,119,113,0,116,120,103,0,116,120,111,0,116,121,97,0,116,121,118,0,116,122,109,0,117,98,117,0,117,100,105,0,117,100,109,0,117,103,95,67,121,114,108,0,117,103,95,75,90,0,117,103,95,77,78,0,117,103,97,0,117,108,105,0,117,109,98,0,117,110,100,95,48,48,50,0,117,110,100,95,48,48,51,0,117,110,100,95,48,48,53,0,117,110,100,95,48,48,57,0,117,110,100,95,48,49,49,0,117,110,100,95,48,49,51,0,117,110,100,95,48,49,52,0,117,110,100,95,48,49,53,0,117,110,100,95,48,49,55,0,117,110,100,95,48,49,56,0,117,110,100,95,48,49,57,0,117,110,100,95,48,50,49,0,117,110,100,95,48,50,57,0,117,110,100,95,48,51,48,0,117,110,100,95,48,51,52,0,117,110,100,95,48,51,53,0,117,110,100,95,48,51,57,0,117,110,100,95,48,53,51,0,117,110,100,95,48,53,52,0,117,110,100,95,48,53,55,0,117,110,100,95,48,54,49,0,117,110,100,95,49,52,50,0,117,110,100,95,49,52,51,0,117,110,100,95,49,52,53,0,117,110,100,95,49,53,48,0,117,110,100,95,49,53,49,0,117,110,100,95,49,53,52,0,117,110,100,95,49,53,53,0,117,110,100,95,50,48,50,0,117,110,100,95,52,49,57,0,117,110,100,95,65,68,0,117,110,100,95,65,69,0,117,110,100,95,65,70,0,117,110,100,95,65,76,0,117,110,100,95,65,77,0,117,110,100,95,65,79,0,117,110,100,95,65,81,0,117,110,100,95,65,82,0,117,110,100,95,65,83,0,117,110,100,95,65,84,0,117,110,100,95,65,87,0,117,110,100,95,65,88,0,117,110,100,95,65,90,0,117,110,100,95,65,100,108,109,0,117,110,100,95,65,103,104,98,0,117,110,100,95,65,104,111,109,0,117,110,100,95,65,114,97,98,0,117,110,100,95,65,114,97,98,95,67,67,0,117,110,100,95,65,114,97,98,95,67,78,0,117,110,100,95,65,114,97,98,95,71,66,0,117,110,100,95,65,114,97,98,95,73,68,0,117,110,100,95,65,114,97,98,95,73,78,0,117,110,100,95,65,114,97,98,95,75,72,0,117,110,100,95,65,114,97,98,95,77,77,0,117,110,100,95,65,114,97,98,95,77,78,0,117,110,100,95,65,114,97,98,95,77,85,0,117,110,100,95,65,114,97,98,95,78,71,0,117,110,100,95,65,114,97,98,95,80,75,0,117,110,100,95,65,114,97,98,95,84,71,0,117,110,100,95,65,114,97,98,95,84,72,0,117,110,100,95,65,114,97,98,95,84,74,0,117,110,100,95,65,114,97,98,95,84,82,0,117,110,100,95,65,114,97,98,95,89,84,0,117,110,100,95,65,114,109,105,0,117,110,100,95,65,114,109,110,0,117,110,100,95,65,118,115,116,0,117,110,100,95,66,65,0,117,110,100,95,66,68,0,117,110,100,95,66,69,0,117,110,100,95,66,70,0,117,110,100,95,66,71,0,117,110,100,95,66,72,0,117,110,100,95,66,73,0,117,110,100,95,66,74,0,117,110,100,95,66,76,0,117,110,100,95,66,78,0,117,110,100,95,66,79,0,117,110,100,95,66,81,0,117,110,100,95,66,82,0,117,110,100,95,66,84,0,117,110,100,95,66,86,0,117,110,100,95,66,89,0,117,110,100,95,66,97,108,105,0,117,110,100,95,66,97,109,117,0,117,110,100,95,66,97,115,115,0,117,110,100,95,66,97,116,107,0,117,110,100,95,66,101,110,103,0,117,110,100,95,66,104,107,115,0,117,110,100,95,66,111,112,111,0,117,110,100,95,66,114,97,104,0,117,110,100,95,66,114,97,105,0,117,110,100,95,66,117,103,105,0,117,110,100,95,66,117,104,100,0,117,110,100,95,67,68,0,117,110,100,95,67,70,0,117,110,100,95,67,71,0,117,110,100,95,67,72,0,117,110,100,95,67,73,0,117,110,100,95,67,76,0,117,110,100,95,67,77,0,117,110,100,95,67,78,0,117,110,100,95,67,79,0,117,110,100,95,67,80,0,117,110,100,95,67,82,0,117,110,100,95,67,85,0,117,110,100,95,67,86,0,117,110,100,95,67,87,0,117,110,100,95,67,89,0,117,110,100,95,67,90,0,117,110,100,95,67,97,107,109,0,117,110,100,95,67,97,110,115,0,117,110,100,95,67,97,114,105,0,117,110,100,95,67,104,97,109,0,117,110,100,95,67,104,101,114,0,117,110,100,95,67,104,114,115,0,117,110,100,95,67,111,112,116,0,117,110,100,95,67,112,109,110,0,117,110,100,95,67,112,109,110,95,67,89,0,117,110,100,95,67,112,114,116,0,117,110,100,95,67,121,114,108,0,117,110,100,95,67,121,114,108,95,65,76,0,117,110,100,95,67,121,114,108,95,66,65,0,117,110,100,95,67,121,114,108,95,71,69,0,117,110,100,95,67,121,114,108,95,71,82,0,117,110,100,95,67,121,114,108,95,77,68,0,117,110,100,95,67,121,114,108,95,82,79,0,117,110,100,95,67,121,114,108,95,83,75,0,117,110,100,95,67,121,114,108,95,84,82,0,117,110,100,95,67,121,114,108,95,88,75,0,117,110,100,95,68,69,0,117,110,100,95,68,74,0,117,110,100,95,68,75,0,117,110,100,95,68,79,0,117,110,100,95,68,90,0,117,110,100,95,68,101,118,97,0,117,110,100,95,68,101,118,97,95,66,84,0,117,110,100,95,68,101,118,97,95,70,74,0,117,110,100,95,68,101,118,97,95,77,85,0,117,110,100,95,68,101,118,97,95,80,75,0,117,110,100,95,68,105,97,107,0,117,110,100,95,68,111,103,114,0,117,110,100,95,68,117,112,108,0,117,110,100,95,69,65,0,117,110,100,95,69,67,0,117,110,100,95,69,69,0,117,110,100,95,69,71,0,117,110,100,95,69,72,0,117,110,100,95,69,82,0,117,110,100,95,69,83,0,117,110,100,95,69,84,0,117,110,100,95,69,85,0,117,110,100,95,69,90,0,117,110,100,95,69,103,121,112,0,117,110,100,95,69,108,98,97,0,117,110,100,95,69,108,121,109,0,117,110,100,95,69,116,104,105,0,117,110,100,95,70,73,0,117,110,100,95,70,79,0,117,110,100,95,70,82,0,117,110,100,95,71,65,0,117,110,100,95,71,69,0,117,110,100,95,71,70,0,117,110,100,95,71,72,0,117,110,100,95,71,76,0,117,110,100,95,71,78,0,117,110,100,95,71,80,0,117,110,100,95,71,81,0,117,110,100,95,71,82,0,117,110,100,95,71,83,0,117,110,100,95,71,84,0,117,110,100,95,71,87,0,117,110,100,95,71,101,111,114,0,117,110,100,95,71,108,97,103,0,117,110,100,95,71,111,110,103,0,117,110,100,95,71,111,110,109,0,117,110,100,95,71,111,116,104,0,117,110,100,95,71,114,97,110,0,117,110,100,95,71,114,101,107,0,117,110,100,95,71,114,101,107,95,84,82,0,117,110,100,95,71,117,106,114,0,117,110,100,95,71,117,114,117,0,117,110,100,95,72,75,0,117,110,100,95,72,77,0,117,110,100,95,72,78,0,117,110,100,95,72,82,0,117,110,100,95,72,84,0,117,110,100,95,72,85,0,117,110,100,95,72,97,110,98,0,117,110,100,95,72,97,110,103,0,117,110,100,95,72,97,110,105,0,117,110,100,95,72,97,110,111,0,117,110,100,95,72,97,110,115,0,117,110,100,95,72,97,110,116,0,117,110,100,95,72,97,110,116,95,67,65,0,117,110,100,95,72,101,98,114,0,117,110,100,95,72,101,98,114,95,83,69,0,117,110,100,95,72,101,98,114,95,85,65,0,117,110,100,95,72,101,98,114,95,85,83,0,117,110,100,95,72,105,114,97,0,117,110,100,95,72,108,117,119,0,117,110,100,95,72,109,110,103,0,117,110,100,95,72,109,110,112,0,117,110,100,95,72,117,110,103,0,117,110,100,95,73,67,0,117,110,100,95,73,68,0,117,110,100,95,73,76,0,117,110,100,95,73,78,0,117,110,100,95,73,81,0,117,110,100,95,73,82,0,117,110,100,95,73,83,0,117,110,100,95,73,84,0,117,110,100,95,73,116,97,108,0,117,110,100,95,74,79,0,117,110,100,95,74,80,0,117,110,100,95,74,97,109,111,0,117,110,100,95,74,97,118,97,0,117,110,100,95,74,112,97,110,0,117,110,100,95,75,69,0,117,110,100,95,75,71,0,117,110,100,95,75,72,0,117,110,100,95,75,77,0,117,110,100,95,75,80,0,117,110,100,95,75,82,0,117,110,100,95,75,87,0,117,110,100,95,75,90,0,117,110,100,95,75,97,108,105,0,117,110,100,95,75,97,110,97,0,117,110,100,95,75,97,119,105,0,117,110,100,95,75,104,97,114,0,117,110,100,95,75,104,109,114,0,117,110,100,95,75,104,111,106,0,117,110,100,95,75,105,116,115,0,117,110,100,95,75,110,100,97,0,117,110,100,95,75,111,114,101,0,117,110,100,95,75,116,104,105,0,117,110,100,95,76,65,0,117,110,100,95,76,66,0,117,110,100,95,76,73,0,117,110,100,95,76,75,0,117,110,100,95,76,83,0,117,110,100,95,76,84,0,117,110,100,95,76,85,0,117,110,100,95,76,86,0,117,110,100,95,76,89,0,117,110,100,95,76,97,110,97,0,117,110,100,95,76,97,111,111,0,117,110,100,95,76,97,116,110,95,65,70,0,117,110,100,95,76,97,116,110,95,65,77,0,117,110,100,95,76,97,116,110,95,67,78,0,117,110,100,95,76,97,116,110,95,67,89,0,117,110,100,95,76,97,116,110,95,68,90,0,117,110,100,95,76,97,116,110,95,69,84,0,117,110,100,95,76,97,116,110,95,71,69,0,117,110,100,95,76,97,116,110,95,73,82,0,117,110,100,95,76,97,116,110,95,75,77,0,117,110,100,95,76,97,116,110,95,77,65,0,117,110,100,95,76,97,116,110,95,77,75,0,117,110,100,95,76,97,116,110,95,77,77,0,117,110,100,95,76,97,116,110,95,77,79,0,117,110,100,95,76,97,116,110,95,77,82,0,117,110,100,95,76,97,116,110,95,82,85,0,117,110,100,95,76,97,116,110,95,83,89,0,117,110,100,95,76,97,116,110,95,84,78,0,117,110,100,95,76,97,116,110,95,84,87,0,117,110,100,95,76,97,116,110,95,85,65,0,117,110,100,95,76,101,112,99,0,117,110,100,95,76,105,109,98,0,117,110,100,95,76,105,110,97,0,117,110,100,95,76,105,110,98,0,117,110,100,95,76,105,115,117,0,117,110,100,95,76,121,99,105,0,117,110,100,95,76,121,100,105,0,117,110,100,95,77,65,0,117,110,100,95,77,67,0,117,110,100,95,77,68,0,117,110,100,95,77,69,0,117,110,100,95,77,70,0,117,110,100,95,77,71,0,117,110,100,95,77,75,0,117,110,100,95,77,76,0,117,110,100,95,77,77,0,117,110,100,95,77,78,0,117,110,100,95,77,79,0,117,110,100,95,77,81,0,117,110,100,95,77,82,0,117,110,100,95,77,84,0,117,110,100,95,77,85,0,117,110,100,95,77,86,0,117,110,100,95,77,88,0,117,110,100,95,77,89,0,117,110,100,95,77,90,0,117,110,100,95,77,97,104,106,0,117,110,100,95,77,97,107,97,0,117,110,100,95,77,97,110,100,0,117,110,100,95,77,97,110,105,0,117,110,100,95,77,97,114,99,0,117,110,100,95,77,101,100,102,0,117,110,100,95,77,101,110,100,0,117,110,100,95,77,101,114,99,0,117,110,100,95,77,101,114,111,0,117,110,100,95,77,108,121,109,0,117,110,100,95,77,111,100,105,0,117,110,100,95,77,111,110,103,0,117,110,100,95,77,114,111,111,0,117,110,100,95,77,116,101,105,0,117,110,100,95,77,117,108,116,0,117,110,100,95,77,121,109,114,0,117,110,100,95,77,121,109,114,95,73,78,0,117,110,100,95,77,121,109,114,95,84,72,0,117,110,100,95,78,65,0,117,110,100,95,78,67,0,117,110,100,95,78,69,0,117,110,100,95,78,73,0,117,110,100,95,78,76,0,117,110,100,95,78,79,0,117,110,100,95,78,80,0,117,110,100,95,78,97,103,109,0,117,110,100,95,78,97,110,100,0,117,110,100,95,78,97,114,98,0,117,110,100,95,78,98,97,116,0,117,110,100,95,78,101,119,97,0,117,110,100,95,78,107,111,111,0,117,110,100,95,78,115,104,117,0,117,110,100,95,79,77,0,117,110,100,95,79,103,97,109,0,117,110,100,95,79,108,99,107,0,117,110,100,95,79,114,107,104,0,117,110,100,95,79,114,121,97,0,117,110,100,95,79,115,103,101,0,117,110,100,95,79,115,109,97,0,117,110,100,95,79,117,103,114,0,117,110,100,95,80,65,0,117,110,100,95,80,69,0,117,110,100,95,80,70,0,117,110,100,95,80,71,0,117,110,100,95,80,72,0,117,110,100,95,80,75,0,117,110,100,95,80,76,0,117,110,100,95,80,77,0,117,110,100,95,80,82,0,117,110,100,95,80,83,0,117,110,100,95,80,84,0,117,110,100,95,80,87,0,117,110,100,95,80,89,0,117,110,100,95,80,97,108,109,0,117,110,100,95,80,97,117,99,0,117,110,100,95,80,101,114,109,0,117,110,100,95,80,104,97,103,0,117,110,100,95,80,104,108,105,0,117,110,100,95,80,104,108,112,0,117,110,100,95,80,104,110,120,0,117,110,100,95,80,108,114,100,0,117,110,100,95,80,114,116,105,0,117,110,100,95,81,65,0,117,110,100,95,81,79,0,117,110,100,95,82,69,0,117,110,100,95,82,79,0,117,110,100,95,82,83,0,117,110,100,95,82,85,0,117,110,100,95,82,87,0,117,110,100,95,82,106,110,103,0,117,110,100,95,82,111,104,103,0,117,110,100,95,82,117,110,114,0,117,110,100,95,83,65,0,117,110,100,95,83,67,0,117,110,100,95,83,68,0,117,110,100,95,83,69,0,117,110,100,95,83,73,0,117,110,100,95,83,74,0,117,110,100,95,83,75,0,117,110,100,95,83,77,0,117,110,100,95,83,78,0,117,110,100,95,83,79,0,117,110,100,95,83,82,0,117,110,100,95,83,84,0,117,110,100,95,83,86,0,117,110,100,95,83,89,0,117,110,100,95,83,97,109,114,0,117,110,100,95,83,97,114,98,0,117,110,100,95,83,97,117,114,0,117,110,100,95,83,103,110,119,0,117,110,100,95,83,104,97,119,0,117,110,100,95,83,104,114,100,0,117,110,100,95,83,105,100,100,0,117,110,100,95,83,105,110,100,0,117,110,100,95,83,105,110,104,0,117,110,100,95,83,111,103,100,0,117,110,100,95,83,111,103,111,0,117,110,100,95,83,111,114,97,0,117,110,100,95,83,111,121,111,0,117,110,100,95,83,117,110,100,0,117,110,100,95,83,121,108,111,0,117,110,100,95,83,121,114,99,0,117,110,100,95,84,68,0,117,110,100,95,84,70,0,117,110,100,95,84,71,0,117,110,100,95,84,72,0,117,110,100,95,84,74,0,117,110,100,95,84,75,0,117,110,100,95,84,76,0,117,110,100,95,84,77,0,117,110,100,95,84,78,0,117,110,100,95,84,79,0,117,110,100,95,84,82,0,117,110,100,95,84,86,0,117,110,100,95,84,87,0,117,110,100,95,84,90,0,117,110,100,95,84,97,103,98,0,117,110,100,95,84,97,107,114,0,117,110,100,95,84,97,108,101,0,117,110,100,95,84,97,108,117,0,117,110,100,95,84,97,109,108,0,117,110,100,95,84,97,110,103,0,117,110,100,95,84,97,118,116,0,117,110,100,95,84,101,108,117,0,117,110,100,95,84,102,110,103,0,117,110,100,95,84,103,108,103,0,117,110,100,95,84,104,97,97,0,117,110,100,95,84,104,97,105,0,117,110,100,95,84,104,97,105,95,67,78,0,117,110,100,95,84,104,97,105,95,75,72,0,117,110,100,95,84,104,97,105,95,76,65,0,117,110,100,95,84,105,98,116,0,117,110,100,95,84,105,114,104,0,117,110,100,95,84,110,115,97,0,117,110,100,95,84,111,116,111,0,117,110,100,95,85,65,0,117,110,100,95,85,71,0,117,110,100,95,85,89,0,117,110,100,95,85,90,0,117,110,100,95,85,103,97,114,0,117,110,100,95,86,65,0,117,110,100,95,86,69,0,117,110,100,95,86,78,0,117,110,100,95,86,85,0,117,110,100,95,86,97,105,105,0,117,110,100,95,86,105,116,104,0,117,110,100,95,87,70,0,117,110,100,95,87,83,0,117,110,100,95,87,97,114,97,0,117,110,100,95,87,99,104,111,0,117,110,100,95,88,75,0,117,110,100,95,88,112,101,111,0,117,110,100,95,88,115,117,120,0,117,110,100,95,89,69,0,117,110,100,95,89,84,0,117,110,100,95,89,101,122,105,0,117,110,100,95,89,105,105,105,0,117,110,100,95,90,87,0,117,110,100,95,90,97,110,98,0,117,110,114,95,68,101,118,97,0,117,110,114,95,78,80,0,117,110,120,0,117,111,107,0,117,114,105,0,117,114,116,0,117,114,119,0,117,115,97,0,117,116,104,0,117,116,114,0,117,118,104,0,117,118,108,0,117,122,95,65,70,0,117,122,95,65,114,97,98,0,117,122,95,67,78,0,118,97,103,0,118,97,105,0,118,97,110,0,118,101,0,118,101,99,0,118,101,112,0,118,105,0,118,105,99,0,118,105,118,0,118,108,115,0,118,109,102,0,118,109,119,0,118,111,0,118,111,116,0,118,114,111,0,118,117,110,0,118,117,116,0,119,97,101,0,119,97,106,0,119,97,108,0,119,97,110,0,119,97,114,0,119,98,112,0,119,98,113,0,119,98,114,0,119,99,105,0,119,101,114,0,119,103,105,0,119,104,103,0,119,105,98,0,119,105,117,0,119,105,118,0,119,106,97,0,119,106,105,0,119,108,115,0,119,109,111,0,119,110,99,0,119,110,105,0,119,110,117,0,119,111,98,0,119,111,115,0,119,114,115,0,119,115,103,0,119,115,107,0,119,116,109,0,119,117,117,0,119,117,118,0,119,119,97,0,120,97,118,0,120,98,105,0,120,99,111,0,120,99,114,0,120,101,115,0,120,108,97,0,120,108,99,0,120,108,100,0,120,109,102,0,120,109,110,0,120,109,114,0,120,110,97,0,120,110,114,0,120,111,103,0,120,111,110,0,120,112,114,0,120,114,98,0,120,115,97,0,120,115,105,0,120,115,109,0,120,115,114,0,120,119,101,0,121,97,109,0,121,97,111,0,121,97,112,0,121,97,115,0,121,97,116,0,121,97,118,0,121,97,121,0,121,97,122,0,121,98,97,0,121,98,98,0,121,98,121,0,121,101,114,0,121,103,114,0,121,103,119,0,121,107,111,0,121,108,101,0,121,108,103,0,121,108,108,0,121,109,108,0,121,111,110,0,121,114,98,0,121,114,101,0,121,115,115,0,121,117,97,0,121,117,101,0,121,117,101,95,67,78,0,121,117,101,95,72,97,110,115,0,121,117,106,0,121,117,116,0,121,117,119,0,122,97,103,0,122,100,106,0,122,101,97,0,122,103,104,0,122,104,95,65,85,0,122,104,95,66,78,0,122,104,95,66,111,112,111,0,122,104,95,71,66,0,122,104,95,71,70,0,122,104,95,72,75,0,122,104,95,72,97,110,98,0,122,104,95,72,97,110,116,0,122,104,95,73,68,0,122,104,95,77,79,0,122,104,95,80,65,0,122,104,95,80,70,0,122,104,95,80,72,0,122,104,95,83,82,0,122,104,95,84,72,0,122,104,95,84,87,0,122,104,95,85,83,0,122,104,95,86,78,0,122,104,120,0,122,105,97,0,122,107,116,0,122,108,109,0,122,109,105,0,122,110,101,0,122,117,0,122,122,97,0,170,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,114,0,117,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,69,0,71,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,84,0,87,0,0,0,97,0,109,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,84,0,0,0,98,0,110,0,95,0,66,0,101,0,110,0,103,0,95,0,66,0,68,0,0,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,100,0,118,0,95,0,84,0,104,0,97,0,97,0,95,0,77,0,86,0,0,0,101,0,108,0,95,0,71,0,114,0,101,0,107,0,95,0,71,0,82,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,104,0,101,0,95,0,72,0,101,0,98,0,114,0,95,0,73,0,76,0,0,0,104,0,121,0,95,0,65,0,114,0,109,0,110,0,95,0,65,0,77,0,0,0,105,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,105,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,106,0,97,0,95,0,74,0,112,0,97,0,110,0,95,0,74,0,80,0,0,0,107,0,97,0,95,0,71,0,101,0,111,0,114,0,95,0,71,0,69,0,0,0,107,0,109,0,95,0,75,0,104,0,109,0,114,0,95,0,75,0,72,0,0,0,107,0,111,0,95,0,75,0,111,0,114,0,101,0,95,0,75,0,82,0,0,0,108,0,111,0,95,0,76,0,97,0,111,0,111,0,95,0,76,0,65,0,0,0,109,0,110,0,95,0,77,0,111,0,110,0,103,0,95,0,67,0,78,0,0,0,109,0,121,0,95,0,77,0,121,0,109,0,114,0,95,0,77,0,77,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,82,0,0,0,115,0,105,0,95,0,83,0,105,0,110,0,104,0,95,0,76,0,75,0,0,0,115,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,87,0,83,0,0,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,116,0,104,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,117,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,117,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,90,0,0,0,97,0,98,0,95,0,67,0,121,0,114,0,108,0,95,0,71,0,69,0,0,0,97,0,101,0,95,0,65,0,118,0,115,0,116,0,95,0,73,0,82,0,0,0,97,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,65,0,0,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,90,0,0,0,98,0,101,0,95,0,67,0,121,0,114,0,108,0,95,0,66,0,89,0,0,0,98,0,103,0,95,0,67,0,121,0,114,0,108,0,95,0,66,0,71,0,0,0,98,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,86,0,85,0,0,0,98,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,98,0,111,0,95,0,84,0,105,0,98,0,116,0,95,0,67,0,78,0,0,0,98,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,65,0,0,0,99,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,90,0,0,0,99,0,117,0,95,0,71,0,108,0,97,0,103,0,95,0,66,0,71,0,0,0,100,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,75,0,0,0,100,0,122,0,95,0,84,0,105,0,98,0,116,0,95,0,66,0,84,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,85,0,0,0,101,0,110,0,95,0,83,0,104,0,97,0,119,0,95,0,71,0,66,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,85,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,101,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,69,0,0,0,102,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,102,0,102,0,95,0,65,0,100,0,108,0,109,0,95,0,71,0,78,0,0,0,102,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,73,0,0,0,102,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,79,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,103,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,89,0,0,0,103,0,117,0,95,0,71,0,117,0,106,0,114,0,95,0,73,0,78,0,0,0,104,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,72,0,82,0,0,0,104,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,72,0,84,0,0,0,104,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,72,0,85,0,0,0,105,0,105,0,95,0,89,0,105,0,105,0,105,0,95,0,67,0,78,0,0,0,105,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,83,0,0,0,105,0,117,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,107,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,78,0,0,0,107,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,78,0,0,0,107,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,76,0,0,0,107,0,110,0,95,0,75,0,110,0,100,0,97,0,95,0,73,0,78,0,0,0,107,0,117,0,95,0,89,0,101,0,122,0,105,0,95,0,71,0,69,0,0,0,107,0,121,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,78,0,0,0,107,0,121,0,95,0,67,0,121,0,114,0,108,0,95,0,75,0,71,0,0,0,107,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,108,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,84,0,0,0,108,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,86,0,0,0,109,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,71,0,0,0,109,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,77,0,75,0,0,0,109,0,108,0,95,0,77,0,108,0,121,0,109,0,95,0,73,0,78,0,0,0,109,0,110,0,95,0,67,0,121,0,114,0,108,0,95,0,77,0,78,0,0,0,109,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,67,0,0,0,109,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,109,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,84,0,0,0,110,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,79,0,0,0,110,0,101,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,110,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,111,0,114,0,95,0,79,0,114,0,121,0,97,0,95,0,73,0,78,0,0,0,112,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,112,0,97,0,95,0,71,0,117,0,114,0,117,0,95,0,73,0,78,0,0,0,112,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,76,0,0,0,114,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,73,0,0,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,79,0,0,0,114,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,87,0,0,0,115,0,100,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,100,0,95,0,75,0,104,0,111,0,106,0,95,0,73,0,78,0,0,0,115,0,100,0,95,0,83,0,105,0,110,0,100,0,95,0,73,0,78,0,0,0,115,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,75,0,0,0,115,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,73,0,0,0,115,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,87,0,0,0,115,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,79,0,0,0,115,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,76,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,83,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,69,0,0,0,115,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,69,0,0,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,116,0,97,0,95,0,84,0,97,0,109,0,108,0,95,0,73,0,78,0,0,0,116,0,101,0,95,0,84,0,101,0,108,0,117,0,95,0,73,0,78,0,0,0,116,0,103,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,116,0,103,0,95,0,67,0,121,0,114,0,108,0,95,0,84,0,74,0,0,0,116,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,77,0,0,0,116,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,79,0,0,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,117,0,103,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,78,0,0,0,117,0,103,0,95,0,67,0,121,0,114,0,108,0,95,0,75,0,90,0,0,0,117,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,85,0,65,0,0,0,117,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,118,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,86,0,78,0,0,0,122,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,78,0,0,0,122,0,104,0,95,0,66,0,111,0,112,0,111,0,95,0,84,0,87,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,98,0,95,0,84,0,87,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,72,0,75,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,77,0,79,0,0,0,97,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,74,0,0,0,97,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,84,0,0,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,65,0,0,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,69,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,66,0,72,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,68,0,90,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,69,0,72,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,81,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,74,0,79,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,75,0,77,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,75,0,87,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,76,0,66,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,76,0,89,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,65,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,82,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,79,0,77,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,83,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,81,0,65,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,68,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,89,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,78,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,89,0,69,0,0,0,97,0,115,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,97,0,118,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,97,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,79,0,0,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,81,0,0,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,82,0,0,0,97,0,122,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,98,0,97,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,98,0,103,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,79,0,0,0,98,0,111,0,95,0,77,0,97,0,114,0,99,0,95,0,67,0,78,0,0,0,98,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,99,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,68,0,0,0,99,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,99,0,101,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,85,0,0,0,99,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,99,0,114,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,99,0,117,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,99,0,118,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,99,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,66,0,0,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,84,0,0,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,72,0,0,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,90,0,0,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,73,0,0,0,100,0,118,0,95,0,68,0,105,0,97,0,107,0,95,0,77,0,86,0,0,0,101,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,101,0,108,0,95,0,71,0,114,0,101,0,107,0,95,0,67,0,89,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,71,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,84,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,66,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,85,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,69,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,71,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,82,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,79,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,76,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,79,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,82,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,79,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,65,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,67,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,81,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,84,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,72,0,78,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,67,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,73,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,65,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,69,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,82,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,86,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,89,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,86,0,69,0,0,0,101,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,102,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,102,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,74,0,0,0,102,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,102,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,74,0,0,0,102,0,114,0,95,0,66,0,114,0,97,0,105,0,95,0,70,0,82,0,0,0,102,0,114,0,95,0,68,0,117,0,112,0,108,0,95,0,70,0,82,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,74,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,76,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,71,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,90,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,65,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,78,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,80,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,77,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,85,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,65,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,67,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,81,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,82,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,67,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,77,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,69,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,67,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,89,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,68,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,71,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,78,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,87,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,89,0,84,0,0,0,102,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,103,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,69,0,0,0,103,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,66,0,0,0,103,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,103,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,77,0,0,0,104,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,77,0,0,0,104,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,78,0,71,0,0,0,104,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,68,0,0,0,104,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,69,0,0,0,104,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,104,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,78,0,0,0,104,0,105,0,95,0,77,0,97,0,104,0,106,0,95,0,73,0,78,0,0,0,104,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,71,0,0,0,104,0,117,0,95,0,72,0,117,0,110,0,103,0,95,0,72,0,85,0,0,0,104,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,65,0,0,0,105,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,105,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,105,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,77,0,0,0,105,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,86,0,65,0,0,0,105,0,119,0,95,0,72,0,101,0,98,0,114,0,95,0,73,0,76,0,0,0,106,0,97,0,95,0,72,0,105,0,114,0,97,0,95,0,74,0,80,0,0,0,106,0,97,0,95,0,75,0,97,0,110,0,97,0,95,0,74,0,80,0,0,0,106,0,105,0,95,0,72,0,101,0,98,0,114,0,95,0,85,0,65,0,0,0,106,0,118,0,95,0,74,0,97,0,118,0,97,0,95,0,73,0,68,0,0,0,106,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,106,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,107,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,107,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,107,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,65,0,0,0,107,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,107,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,107,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,75,0,90,0,0,0,107,0,111,0,95,0,72,0,97,0,110,0,103,0,95,0,75,0,82,0,0,0,107,0,111,0,95,0,74,0,97,0,109,0,111,0,95,0,75,0,82,0,0,0,107,0,111,0,95,0,75,0,111,0,114,0,101,0,95,0,75,0,80,0,0,0,107,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,78,0,0,0,107,0,117,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,81,0,0,0,107,0,117,0,95,0,65,0,114,0,97,0,98,0,95,0,76,0,66,0,0,0,107,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,77,0,0,0,107,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,69,0,0,0,107,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,107,0,118,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,107,0,118,0,95,0,80,0,101,0,114,0,109,0,95,0,82,0,85,0,0,0,107,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,66,0,0,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,86,0,65,0,0,0,108,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,85,0,0,0,108,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,108,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,108,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,108,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,109,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,72,0,0,0,109,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,90,0,0,0,109,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,65,0,76,0,0,0,109,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,71,0,82,0,0,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,79,0,0,0,109,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,114,0,95,0,77,0,111,0,100,0,105,0,95,0,73,0,78,0,0,0,109,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,68,0,0,0,109,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,78,0,0,0,110,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,82,0,0,0,110,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,74,0,0,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,87,0,0,0,110,0,101,0,95,0,68,0,101,0,118,0,97,0,95,0,66,0,84,0,0,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,65,0,0,0,110,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,87,0,0,0,110,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,69,0,0,0,110,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,82,0,0,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,79,0,0,0,110,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,79,0,0,0,110,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,110,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,110,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,87,0,0,0,111,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,111,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,111,0,106,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,111,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,84,0,0,0,111,0,115,0,95,0,67,0,121,0,114,0,108,0,95,0,71,0,69,0,0,0,112,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,65,0,0,0,112,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,79,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,86,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,87,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,79,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,84,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,84,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,76,0,0,0,113,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,69,0,0,0,114,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,72,0,0,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,68,0,0,0,114,0,117,0,95,0,67,0,121,0,114,0,108,0,95,0,75,0,90,0,0,0,115,0,97,0,95,0,66,0,104,0,107,0,115,0,95,0,73,0,78,0,0,0,115,0,97,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,97,0,95,0,71,0,114,0,97,0,110,0,95,0,73,0,78,0,0,0,115,0,97,0,95,0,78,0,97,0,110,0,100,0,95,0,73,0,78,0,0,0,115,0,97,0,95,0,83,0,104,0,114,0,100,0,95,0,73,0,78,0,0,0,115,0,97,0,95,0,83,0,105,0,100,0,100,0,95,0,73,0,78,0,0,0,115,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,115,0,100,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,115,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,79,0,0,0,115,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,70,0,0,0,115,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,83,0,0,0,115,0,111,0,95,0,79,0,115,0,109,0,97,0,95,0,83,0,79,0,0,0,115,0,113,0,95,0,69,0,108,0,98,0,97,0,95,0,65,0,76,0,0,0,115,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,75,0,0,0,115,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,88,0,75,0,0,0,115,0,113,0,95,0,86,0,105,0,116,0,104,0,95,0,65,0,76,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,66,0,65,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,88,0,75,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,79,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,85,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,115,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,115,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,83,0,0,0,115,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,115,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,115,0,117,0,95,0,83,0,117,0,110,0,100,0,95,0,73,0,68,0,0,0,115,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,88,0,0,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,116,0,105,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,82,0,0,0,116,0,105,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,84,0,0,0,116,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,70,0,0,0,116,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,82,0,0,0,116,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,116,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,89,0,0,0,116,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,116,0,116,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,116,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,70,0,0,0,117,0,103,0,95,0,67,0,121,0,114,0,108,0,95,0,77,0,78,0,0,0,117,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,77,0,68,0,0,0,117,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,83,0,75,0,0,0,117,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,71,0,66,0,0,0,117,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,78,0,0,0,117,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,85,0,0,0,117,0,122,0,95,0,67,0,121,0,114,0,108,0,95,0,67,0,78,0,0,0,118,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,119,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,69,0,0,0,119,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,120,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,121,0,105,0,95,0,72,0,101,0,98,0,114,0,95,0,83,0,69,0,0,0,121,0,105,0,95,0,72,0,101,0,98,0,114,0,95,0,85,0,65,0,0,0,121,0,105,0,95,0,72,0,101,0,98,0,114,0,95,0,85,0,83,0,0,0,121,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,105,0,95,0,67,0,78,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,65,0,85,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,66,0,78,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,71,0,66,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,71,0,70,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,73,0,68,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,80,0,65,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,80,0,70,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,80,0,72,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,83,0,82,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,84,0,72,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,85,0,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,86,0,78,0,0,0,122,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,108,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,98,0,104,0,105,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,97,0,110,0,95,0,78,0,107,0,111,0,111,0,95,0,71,0,78,0,0,0,97,0,104,0,111,0,95,0,65,0,104,0,111,0,109,0,95,0,73,0,78,0,0,0,97,0,107,0,107,0,95,0,88,0,115,0,117,0,120,0,95,0,73,0,81,0,0,0,97,0,112,0,100,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,71,0,0,0,97,0,114,0,99,0,95,0,65,0,114,0,109,0,105,0,95,0,73,0,82,0,0,0,97,0,114,0,99,0,95,0,78,0,98,0,97,0,116,0,95,0,74,0,79,0,0,0,97,0,114,0,99,0,95,0,80,0,97,0,108,0,109,0,95,0,83,0,89,0,0,0,97,0,115,0,101,0,95,0,83,0,103,0,110,0,119,0,95,0,85,0,83,0,0,0,98,0,97,0,120,0,95,0,66,0,97,0,109,0,117,0,95,0,67,0,77,0,0,0,98,0,103,0,120,0,95,0,71,0,114,0,101,0,107,0,95,0,84,0,82,0,0,0,98,0,108,0,116,0,95,0,84,0,97,0,118,0,116,0,95,0,86,0,78,0,0,0,98,0,115,0,113,0,95,0,66,0,97,0,115,0,115,0,95,0,76,0,82,0,0,0,98,0,116,0,118,0,95,0,68,0,101,0,118,0,97,0,95,0,80,0,75,0,0,0,99,0,99,0,112,0,95,0,67,0,97,0,107,0,109,0,95,0,66,0,68,0,0,0,99,0,104,0,114,0,95,0,67,0,104,0,101,0,114,0,95,0,85,0,83,0,0,0,99,0,106,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,75,0,72,0,0,0,99,0,106,0,109,0,95,0,67,0,104,0,97,0,109,0,95,0,86,0,78,0,0,0,99,0,109,0,103,0,95,0,83,0,111,0,121,0,111,0,95,0,77,0,78,0,0,0,99,0,111,0,112,0,95,0,67,0,111,0,112,0,116,0,95,0,69,0,71,0,0,0,99,0,116,0,100,0,95,0,80,0,97,0,117,0,99,0,95,0,77,0,77,0,0,0,100,0,109,0,102,0,95,0,77,0,101,0,100,0,102,0,95,0,78,0,71,0,0,0,101,0,103,0,121,0,95,0,69,0,103,0,121,0,112,0,95,0,69,0,71,0,0,0,101,0,107,0,121,0,95,0,75,0,97,0,108,0,105,0,95,0,77,0,77,0,0,0,101,0,115,0,103,0,95,0,71,0,111,0,110,0,109,0,95,0,73,0,78,0,0,0,101,0,116,0,116,0,95,0,73,0,116,0,97,0,108,0,95,0,73,0,84,0,0,0,102,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,103,0,111,0,116,0,95,0,71,0,111,0,116,0,104,0,95,0,85,0,65,0,0,0,103,0,114,0,99,0,95,0,67,0,112,0,114,0,116,0,95,0,67,0,89,0,0,0,103,0,114,0,99,0,95,0,76,0,105,0,110,0,98,0,95,0,71,0,82,0,0,0,104,0,108,0,117,0,95,0,72,0,108,0,117,0,119,0,95,0,84,0,82,0,0,0,104,0,109,0,100,0,95,0,80,0,108,0,114,0,100,0,95,0,67,0,78,0,0,0,104,0,110,0,106,0,95,0,72,0,109,0,110,0,112,0,95,0,85,0,83,0,0,0,107,0,97,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,77,0,0,0,107,0,97,0,119,0,95,0,75,0,97,0,119,0,105,0,95,0,73,0,68,0,0,0,107,0,104,0,98,0,95,0,84,0,97,0,108,0,117,0,95,0,67,0,78,0,0,0,107,0,104,0,116,0,95,0,77,0,121,0,109,0,114,0,95,0,73,0,78,0,0,0,107,0,114,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,85,0,0,0,108,0,97,0,98,0,95,0,76,0,105,0,110,0,97,0,95,0,71,0,82,0,0,0,108,0,99,0,112,0,95,0,84,0,104,0,97,0,105,0,95,0,67,0,78,0,0,0,108,0,101,0,112,0,95,0,76,0,101,0,112,0,99,0,95,0,73,0,78,0,0,0,108,0,105,0,102,0,95,0,76,0,105,0,109,0,98,0,95,0,73,0,78,0,0,0,108,0,105,0,115,0,95,0,76,0,105,0,115,0,117,0,95,0,67,0,78,0,0,0,109,0,102,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,72,0,0,0,109,0,102,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,85,0,0,0,109,0,114,0,111,0,95,0,77,0,114,0,111,0,111,0,95,0,66,0,68,0,0,0,109,0,121,0,122,0,95,0,77,0,97,0,110,0,100,0,95,0,73,0,82,0,0,0,110,0,110,0,112,0,95,0,87,0,99,0,104,0,111,0,95,0,73,0,78,0,0,0,110,0,111,0,100,0,95,0,76,0,97,0,110,0,97,0,95,0,84,0,72,0,0,0,110,0,111,0,110,0,95,0,82,0,117,0,110,0,114,0,95,0,83,0,69,0,0,0,110,0,115,0,116,0,95,0,84,0,110,0,115,0,97,0,95,0,73,0,78,0,0,0,111,0,115,0,97,0,95,0,79,0,115,0,103,0,101,0,95,0,85,0,83,0,0,0,111,0,116,0,107,0,95,0,79,0,114,0,107,0,104,0,95,0,77,0,78,0,0,0,112,0,97,0,108,0,95,0,80,0,104,0,108,0,105,0,95,0,73,0,82,0,0,0,112,0,97,0,108,0,95,0,80,0,104,0,108,0,112,0,95,0,67,0,78,0,0,0,112,0,97,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,87,0,0,0,112,0,101,0,111,0,95,0,88,0,112,0,101,0,111,0,95,0,73,0,82,0,0,0,112,0,104,0,110,0,95,0,80,0,104,0,110,0,120,0,95,0,76,0,66,0,0,0,112,0,107,0,97,0,95,0,66,0,114,0,97,0,104,0,95,0,73,0,78,0,0,0,112,0,114,0,97,0,95,0,75,0,104,0,97,0,114,0,95,0,80,0,75,0,0,0,114,0,104,0,103,0,95,0,82,0,111,0,104,0,103,0,95,0,77,0,77,0,0,0,115,0,97,0,116,0,95,0,79,0,108,0,99,0,107,0,95,0,73,0,78,0,0,0,115,0,97,0,122,0,95,0,83,0,97,0,117,0,114,0,95,0,73,0,78,0,0,0,115,0,103,0,97,0,95,0,79,0,103,0,97,0,109,0,95,0,73,0,69,0,0,0,115,0,109,0,112,0,95,0,83,0,97,0,109,0,114,0,95,0,73,0,76,0,0,0,115,0,111,0,103,0,95,0,83,0,111,0,103,0,100,0,95,0,85,0,90,0,0,0,115,0,114,0,98,0,95,0,83,0,111,0,114,0,97,0,95,0,73,0,78,0,0,0,115,0,119,0,98,0,95,0,65,0,114,0,97,0,98,0,95,0,89,0,84,0,0,0,115,0,121,0,114,0,95,0,83,0,121,0,114,0,99,0,95,0,73,0,81,0,0,0,116,0,100,0,100,0,95,0,84,0,97,0,108,0,101,0,95,0,67,0,78,0,0,0,116,0,107,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,75,0,0,0,116,0,112,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,71,0,0,0,116,0,114,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,87,0,0,0,116,0,118,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,86,0,0,0,116,0,120,0,103,0,95,0,84,0,97,0,110,0,103,0,95,0,67,0,78,0,0,0,116,0,120,0,111,0,95,0,84,0,111,0,116,0,111,0,95,0,73,0,78,0,0,0,117,0,100,0,105,0,95,0,65,0,103,0,104,0,98,0,95,0,82,0,85,0,0,0,117,0,103,0,97,0,95,0,85,0,103,0,97,0,114,0,95,0,83,0,89,0,0,0,117,0,110,0,100,0,95,0,67,0,112,0,109,0,110,0,95,0,67,0,89,0,0,0,117,0,110,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,118,0,97,0,105,0,95,0,86,0,97,0,105,0,105,0,95,0,76,0,82,0,0,0,119,0,115,0,103,0,95,0,71,0,111,0,110,0,103,0,95,0,73,0,78,0,0,0,120,0,99,0,111,0,95,0,67,0,104,0,114,0,115,0,95,0,85,0,90,0,0,0,120,0,99,0,114,0,95,0,67,0,97,0,114,0,105,0,95,0,84,0,82,0,0,0,120,0,108,0,99,0,95,0,76,0,121,0,99,0,105,0,95,0,84,0,82,0,0,0,120,0,108,0,100,0,95,0,76,0,121,0,100,0,105,0,95,0,84,0,82,0,0,0,120,0,109,0,110,0,95,0,77,0,97,0,110,0,105,0,95,0,67,0,78,0,0,0,120,0,109,0,114,0,95,0,77,0,101,0,114,0,99,0,95,0,83,0,68,0,0,0,120,0,110,0,97,0,95,0,78,0,97,0,114,0,98,0,95,0,83,0,65,0,0,0,120,0,112,0,114,0,95,0,80,0,114,0,116,0,105,0,95,0,73,0,82,0,0,0,120,0,115,0,97,0,95,0,83,0,97,0,114,0,98,0,95,0,89,0,69,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,122,0,103,0,104,0,95,0,84,0,102,0,110,0,103,0,95,0,77,0,65,0,0,0,122,0,104,0,120,0,95,0,78,0,115,0,104,0,117,0,95,0,67,0,78,0,0,0,122,0,107,0,116,0,95,0,75,0,105,0,116,0,115,0,95,0,67,0,78,0,0,0,109,0,105,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,111,0,107,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,97,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,97,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,98,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,98,0,113,0,95,0,67,0,121,0,114,0,108,0,95,0,90,0,90,0,0,0,97,0,98,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,97,0,98,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,98,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,99,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,99,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,97,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,97,0,100,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,97,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,100,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,100,0,112,0,95,0,84,0,105,0,98,0,116,0,95,0,66,0,84,0,0,0,97,0,100,0,121,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,97,0,100,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,101,0,98,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,78,0,0,0,97,0,101,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,97,0,104,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,104,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,106,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,106,0,116,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,78,0,0,0,97,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,108,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,108,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,88,0,75,0,0,0,97,0,108,0,116,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,97,0,109,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,109,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,97,0,109,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,110,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,110,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,97,0,110,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,111,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,111,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,111,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,97,0,112,0,99,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,97,0,112,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,112,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,112,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,112,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,114,0,99,0,95,0,69,0,108,0,121,0,109,0,95,0,73,0,82,0,0,0,97,0,114,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,114,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,76,0,0,0,97,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,79,0,0,0,97,0,114,0,113,0,95,0,65,0,114,0,97,0,98,0,95,0,68,0,90,0,0,0,97,0,114,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,65,0,0,0,97,0,114,0,121,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,65,0,0,0,97,0,114,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,69,0,71,0,0,0,97,0,115,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,97,0,115,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,115,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,115,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,97,0,116,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,116,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,116,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,97,0,117,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,118,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,97,0,118,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,118,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,118,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,119,0,97,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,97,0,119,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,119,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,119,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,121,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,97,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,98,0,97,0,110,0,95,0,66,0,97,0,108,0,105,0,95,0,73,0,68,0,0,0,98,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,98,0,97,0,112,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,98,0,97,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,84,0,0,0,98,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,97,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,98,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,98,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,98,0,99,0,95,0,66,0,97,0,116,0,107,0,95,0,73,0,68,0,0,0,98,0,98,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,98,0,98,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,98,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,98,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,98,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,98,0,99,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,113,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,98,0,99,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,100,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,101,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,101,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,101,0,106,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,68,0,0,0,98,0,101,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,77,0,0,0,98,0,101,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,101,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,98,0,101,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,101,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,98,0,102,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,102,0,113,0,95,0,84,0,97,0,109,0,108,0,95,0,73,0,78,0,0,0,98,0,102,0,116,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,98,0,102,0,121,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,103,0,99,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,103,0,110,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,98,0,104,0,98,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,104,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,104,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,104,0,111,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,104,0,111,0,95,0,68,0,101,0,118,0,97,0,95,0,77,0,85,0,0,0,98,0,104,0,111,0,95,0,75,0,116,0,104,0,105,0,95,0,73,0,78,0,0,0,98,0,104,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,105,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,105,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,105,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,98,0,105,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,105,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,98,0,105,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,105,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,106,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,106,0,105,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,98,0,106,0,106,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,106,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,98,0,106,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,106,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,106,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,98,0,106,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,107,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,107,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,107,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,107,0,117,0,95,0,66,0,117,0,104,0,100,0,95,0,80,0,72,0,0,0,98,0,107,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,98,0,107,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,98,0,108,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,98,0,109,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,109,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,109,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,98,0,109,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,110,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,110,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,111,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,111,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,111,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,112,0,121,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,98,0,113,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,113,0,105,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,98,0,113,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,113,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,98,0,114,0,97,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,114,0,104,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,98,0,114,0,120,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,114,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,115,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,115,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,115,0,116,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,98,0,116,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,98,0,116,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,117,0,97,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,98,0,117,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,89,0,84,0,0,0,98,0,117,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,117,0,103,0,95,0,66,0,117,0,103,0,105,0,95,0,73,0,68,0,0,0,98,0,117,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,98,0,117,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,117,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,117,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,117,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,117,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,118,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,81,0,0,0,98,0,119,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,119,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,120,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,121,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,121,0,110,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,82,0,0,0,98,0,121,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,121,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,121,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,121,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,122,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,122,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,98,0,122,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,122,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,122,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,97,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,99,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,98,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,99,0,101,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,99,0,102,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,103,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,99,0,104,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,77,0,0,0,99,0,104,0,109,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,99,0,104,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,99,0,104,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,99,0,105,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,99,0,106,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,107,0,98,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,81,0,0,0,99,0,107,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,107,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,107,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,108,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,99,0,109,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,109,0,103,0,95,0,90,0,97,0,110,0,98,0,95,0,77,0,78,0,0,0,99,0,112,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,99,0,114,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,99,0,114,0,104,0,95,0,67,0,121,0,114,0,108,0,95,0,85,0,65,0,0,0,99,0,114,0,107,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,99,0,114,0,108,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,99,0,114,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,67,0,0,0,99,0,115,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,76,0,0,0,99,0,115,0,119,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,100,0,97,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,100,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,97,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,97,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,100,0,97,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,100,0,97,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,100,0,98,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,98,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,99,0,99,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,78,0,0,0,100,0,100,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,101,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,100,0,103,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,103,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,103,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,103,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,100,0,103,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,100,0,103,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,106,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,69,0,0,0,100,0,110,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,100,0,111,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,111,0,105,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,100,0,111,0,105,0,95,0,68,0,111,0,103,0,114,0,95,0,73,0,78,0,0,0,100,0,111,0,105,0,95,0,84,0,97,0,107,0,114,0,95,0,73,0,78,0,0,0,100,0,111,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,111,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,114,0,104,0,95,0,77,0,111,0,110,0,103,0,95,0,67,0,78,0,0,0,100,0,114,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,114,0,115,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,100,0,115,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,100,0,116,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,100,0,116,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,100,0,116,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,116,0,121,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,100,0,117,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,100,0,117,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,117,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,117,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,118,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,119,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,121,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,100,0,121,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,70,0,0,0,100,0,122,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,98,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,101,0,102,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,101,0,103,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,101,0,107,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,109,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,109,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,110,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,101,0,114,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,52,0,49,0,57,0,0,0,101,0,115,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,101,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,116,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,116,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,119,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,101,0,120,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,101,0,122,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,97,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,97,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,81,0,0,0,102,0,102,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,102,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,102,0,105,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,68,0,0,0,102,0,105,0,108,0,95,0,84,0,103,0,108,0,103,0,95,0,80,0,72,0,0,0,102,0,105,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,69,0,0,0,102,0,108,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,109,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,111,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,111,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,74,0,0,0,102,0,111,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,112,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,113,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,114,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,102,0,114,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,102,0,114,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,102,0,114,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,102,0,117,0,98,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,77,0,0,0,102,0,117,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,87,0,70,0,0,0,102,0,117,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,117,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,78,0,0,0,102,0,117,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,117,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,69,0,0,0,102,0,117,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,102,0,117,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,102,0,117,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,118,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,68,0,0,0,103,0,97,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,103,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,68,0,0,0,103,0,97,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,97,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,97,0,110,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,103,0,97,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,97,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,103,0,98,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,98,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,98,0,109,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,103,0,98,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,98,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,103,0,99,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,70,0,0,0,103,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,100,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,100,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,101,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,101,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,101,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,101,0,122,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,84,0,0,0,103,0,102,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,103,0,110,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,103,0,104,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,73,0,0,0,103,0,105,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,106,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,103,0,106,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,106,0,117,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,103,0,107,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,107,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,108,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,103,0,109,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,109,0,118,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,103,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,111,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,111,0,102,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,103,0,111,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,111,0,109,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,103,0,111,0,110,0,95,0,84,0,101,0,108,0,117,0,95,0,73,0,78,0,0,0,103,0,111,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,103,0,111,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,103,0,114,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,114,0,116,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,103,0,114,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,72,0,0,0,103,0,117,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,82,0,0,0,103,0,117,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,79,0,0,0,103,0,117,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,117,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,103,0,117,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,117,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,117,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,103,0,118,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,118,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,103,0,118,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,119,0,99,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,103,0,119,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,103,0,119,0,116,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,103,0,121,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,97,0,107,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,104,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,97,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,104,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,104,0,98,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,100,0,121,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,104,0,104,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,105,0,102,0,95,0,68,0,101,0,118,0,97,0,95,0,70,0,74,0,0,0,104,0,105,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,74,0,0,0,104,0,105,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,105,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,104,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,109,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,110,0,100,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,104,0,110,0,101,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,104,0,110,0,106,0,95,0,72,0,109,0,110,0,103,0,95,0,76,0,65,0,0,0,104,0,110,0,110,0,95,0,72,0,97,0,110,0,111,0,95,0,80,0,72,0,0,0,104,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,104,0,110,0,111,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,104,0,111,0,99,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,104,0,111,0,99,0,95,0,87,0,97,0,114,0,97,0,95,0,73,0,78,0,0,0,104,0,111,0,106,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,104,0,111,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,115,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,104,0,115,0,110,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,104,0,117,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,117,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,105,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,97,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,98,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,105,0,98,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,105,0,98,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,99,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,100,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,100,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,100,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,102,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,71,0,0,0,105,0,103,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,103,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,106,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,107,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,107,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,107,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,108,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,105,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,110,0,104,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,105,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,105,0,111,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,114,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,119,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,119,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,122,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,85,0,0,0,105,0,122,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,97,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,74,0,77,0,0,0,106,0,97,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,98,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,103,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,103,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,106,0,105,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,109,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,106,0,109,0,108,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,106,0,114,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,117,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,75,0,0,0,107,0,97,0,97,0,95,0,67,0,121,0,114,0,108,0,95,0,85,0,90,0,0,0,107,0,97,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,90,0,0,0,107,0,97,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,97,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,107,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,107,0,97,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,107,0,98,0,100,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,107,0,98,0,100,0,95,0,67,0,121,0,114,0,108,0,95,0,84,0,82,0,0,0,107,0,98,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,98,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,98,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,98,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,98,0,121,0,95,0,65,0,114,0,97,0,98,0,95,0,78,0,69,0,0,0,107,0,99,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,107,0,99,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,87,0,0,0,107,0,99,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,99,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,107,0,100,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,71,0,0,0,107,0,100,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,100,0,116,0,95,0,84,0,104,0,97,0,105,0,95,0,75,0,72,0,0,0,107,0,100,0,116,0,95,0,84,0,104,0,97,0,105,0,95,0,76,0,65,0,0,0,107,0,100,0,116,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,107,0,101,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,86,0,0,0,107,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,107,0,101,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,102,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,107,0,102,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,102,0,121,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,103,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,107,0,103,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,103,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,82,0,0,0,107,0,104,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,78,0,0,0,107,0,104,0,110,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,104,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,107,0,104,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,104,0,119,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,107,0,104,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,105,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,105,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,107,0,105,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,106,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,106,0,103,0,95,0,76,0,97,0,111,0,111,0,95,0,76,0,65,0,0,0,107,0,106,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,106,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,107,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,107,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,107,0,108,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,107,0,108,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,108,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,108,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,109,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,79,0,0,0,107,0,109,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,109,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,109,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,109,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,110,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,87,0,0,0,107,0,110,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,111,0,105,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,107,0,111,0,107,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,111,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,111,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,77,0,0,0,107,0,111,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,112,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,82,0,0,0,107,0,112,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,112,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,112,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,112,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,113,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,113,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,113,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,113,0,121,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,107,0,114,0,99,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,107,0,114,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,76,0,0,0,107,0,114,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,107,0,114,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,114,0,117,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,115,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,107,0,115,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,115,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,107,0,115,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,107,0,115,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,116,0,98,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,107,0,116,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,116,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,107,0,117,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,109,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,107,0,117,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,118,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,118,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,107,0,118,0,120,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,107,0,119,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,119,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,107,0,119,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,119,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,120,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,120,0,99,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,107,0,120,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,120,0,108,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,120,0,109,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,107,0,120,0,112,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,107,0,120,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,120,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,121,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,121,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,122,0,104,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,107,0,122,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,107,0,122,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,122,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,108,0,97,0,100,0,95,0,72,0,101,0,98,0,114,0,95,0,73,0,76,0,0,0,108,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,108,0,97,0,104,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,108,0,97,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,108,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,98,0,101,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,108,0,98,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,98,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,108,0,99,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,100,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,122,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,108,0,103,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,105,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,105,0,102,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,108,0,105,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,105,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,105,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,108,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,108,0,106,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,108,0,107,0,105,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,108,0,107,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,108,0,108,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,108,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,109,0,110,0,95,0,84,0,101,0,108,0,117,0,95,0,73,0,78,0,0,0,108,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,108,0,109,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,110,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,110,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,111,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,111,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,111,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,108,0,111,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,111,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,111,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,77,0,0,0,108,0,114,0,99,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,108,0,116,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,86,0,0,0,108,0,117,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,108,0,117,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,108,0,117,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,108,0,117,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,108,0,119,0,108,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,108,0,122,0,104,0,95,0,80,0,104,0,97,0,103,0,95,0,67,0,78,0,0,0,108,0,122,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,109,0,97,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,109,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,109,0,97,0,103,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,97,0,105,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,97,0,105,0,95,0,84,0,105,0,114,0,104,0,95,0,73,0,78,0,0,0,109,0,97,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,109,0,97,0,107,0,95,0,77,0,97,0,107,0,97,0,95,0,73,0,68,0,0,0,109,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,77,0,0,0,109,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,109,0,97,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,109,0,98,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,98,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,98,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,98,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,98,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,99,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,99,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,99,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,99,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,99,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,100,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,100,0,101,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,109,0,100,0,102,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,109,0,100,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,109,0,100,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,100,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,109,0,100,0,120,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,109,0,101,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,101,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,101,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,76,0,0,0,109,0,101,0,110,0,95,0,77,0,101,0,110,0,100,0,95,0,83,0,76,0,0,0,109,0,101,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,109,0,101,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,101,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,102,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,102,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,102,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,103,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,109,0,103,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,103,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,109,0,103,0,112,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,109,0,103,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,109,0,104,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,104,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,105,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,109,0,105,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,105,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,107,0,105,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,109,0,107,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,107,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,107,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,108,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,108,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,108,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,68,0,0,0,109,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,109,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,109,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,110,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,110,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,110,0,105,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,109,0,110,0,105,0,95,0,77,0,116,0,101,0,105,0,95,0,73,0,78,0,0,0,109,0,110,0,119,0,95,0,77,0,121,0,109,0,114,0,95,0,77,0,77,0,0,0,109,0,110,0,119,0,95,0,77,0,121,0,109,0,114,0,95,0,84,0,72,0,0,0,109,0,111,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,111,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,109,0,111,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,109,0,111,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,70,0,0,0,109,0,111,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,112,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,112,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,112,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,113,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,114,0,100,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,109,0,114,0,106,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,109,0,116,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,116,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,116,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,116,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,117,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,109,0,117,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,117,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,109,0,118,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,118,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,118,0,121,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,109,0,119,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,109,0,119,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,119,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,109,0,119,0,119,0,95,0,72,0,109,0,110,0,112,0,95,0,85,0,83,0,0,0,109,0,120,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,87,0,0,0,109,0,120,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,121,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,121,0,109,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,109,0,121,0,118,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,109,0,121,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,121,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,109,0,122,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,122,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,122,0,110,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,109,0,122,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,122,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,122,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,97,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,97,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,97,0,110,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,110,0,97,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,110,0,97,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,65,0,0,0,110,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,99,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,99,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,99,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,110,0,99,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,99,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,100,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,110,0,100,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,110,0,101,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,101,0,119,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,110,0,101,0,119,0,95,0,78,0,101,0,119,0,97,0,95,0,78,0,80,0,0,0,110,0,101,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,103,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,103,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,103,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,110,0,104,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,104,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,110,0,104,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,110,0,105,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,105,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,105,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,110,0,105,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,105,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,85,0,0,0,110,0,105,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,105,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,106,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,78,0,0,0,110,0,107,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,107,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,109,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,110,0,109,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,110,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,110,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,110,0,110,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,110,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,111,0,101,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,110,0,111,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,111,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,113,0,111,0,95,0,78,0,107,0,111,0,111,0,95,0,71,0,78,0,0,0,110,0,114,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,115,0,107,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,110,0,115,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,115,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,110,0,115,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,116,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,117,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,117,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,117,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,83,0,0,0,110,0,117,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,117,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,119,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,120,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,78,0,0,0,110,0,120,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,121,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,110,0,121,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,110,0,122,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,111,0,103,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,106,0,115,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,111,0,107,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,111,0,107,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,110,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,112,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,114,0,117,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,111,0,116,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,111,0,122,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,112,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,112,0,97,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,87,0,0,0,112,0,97,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,81,0,0,0,112,0,97,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,87,0,0,0,112,0,98,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,99,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,112,0,99,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,112,0,100,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,112,0,100,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,112,0,101,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,101,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,102,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,112,0,104,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,112,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,105,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,105,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,66,0,0,0,112,0,107,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,112,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,109,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,112,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,110,0,116,0,95,0,71,0,114,0,101,0,107,0,95,0,71,0,82,0,0,0,112,0,111,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,77,0,0,0,112,0,112,0,97,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,112,0,112,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,113,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,112,0,114,0,100,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,112,0,115,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,116,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,117,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,65,0,0,0,112,0,119,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,113,0,117,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,84,0,0,0,113,0,117,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,67,0,0,0,114,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,97,0,106,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,114,0,97,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,99,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,69,0,0,0,114,0,101,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,114,0,101,0,106,0,95,0,82,0,106,0,110,0,103,0,95,0,73,0,68,0,0,0,114,0,101,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,103,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,114,0,104,0,103,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,77,0,0,0,114,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,78,0,0,0,114,0,105,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,114,0,105,0,102,0,95,0,84,0,102,0,110,0,103,0,95,0,77,0,65,0,0,0,114,0,106,0,115,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,114,0,107,0,116,0,95,0,66,0,101,0,110,0,103,0,95,0,66,0,68,0,0,0,114,0,109,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,73,0,0,0,114,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,72,0,0,0,114,0,109,0,116,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,114,0,109,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,69,0,0,0,114,0,110,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,114,0,111,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,114,0,111,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,114,0,111,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,116,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,74,0,0,0,114,0,117,0,101,0,95,0,67,0,121,0,114,0,108,0,95,0,85,0,65,0,0,0,114,0,117,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,66,0,0,0,114,0,119,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,114,0,119,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,121,0,117,0,95,0,75,0,97,0,110,0,97,0,95,0,74,0,80,0,0,0,115,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,115,0,97,0,104,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,115,0,97,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,115,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,115,0,97,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,115,0,98,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,98,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,98,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,115,0,99,0,107,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,99,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,115,0,99,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,115,0,99,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,66,0,0,0,115,0,100,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,115,0,100,0,104,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,115,0,101,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,115,0,101,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,115,0,101,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,115,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,115,0,103,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,84,0,0,0,115,0,103,0,119,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,115,0,103,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,104,0,105,0,95,0,84,0,102,0,110,0,103,0,95,0,77,0,65,0,0,0,115,0,104,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,104,0,110,0,95,0,77,0,121,0,109,0,114,0,95,0,77,0,77,0,0,0,115,0,104,0,117,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,115,0,105,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,84,0,0,0,115,0,105,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,105,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,106,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,107,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,107,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,115,0,107,0,114,0,95,0,77,0,117,0,108,0,116,0,95,0,80,0,75,0,0,0,115,0,107,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,108,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,108,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,76,0,0,0,115,0,108,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,108,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,115,0,109,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,69,0,0,0,115,0,109,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,79,0,0,0,115,0,109,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,69,0,0,0,115,0,109,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,73,0,0,0,115,0,109,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,109,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,73,0,0,0,115,0,110,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,115,0,110,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,110,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,115,0,110,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,110,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,110,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,111,0,103,0,95,0,83,0,111,0,103,0,111,0,95,0,85,0,90,0,0,0,115,0,111,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,111,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,111,0,117,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,115,0,111,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,112,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,112,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,112,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,114,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,82,0,0,0,115,0,114,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,115,0,114,0,120,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,115,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,115,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,115,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,82,0,0,0,115,0,116,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,116,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,115,0,117,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,117,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,117,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,115,0,117,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,117,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,78,0,0,0,115,0,119,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,115,0,119,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,115,0,119,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,119,0,118,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,120,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,115,0,120,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,121,0,108,0,95,0,66,0,101,0,110,0,103,0,95,0,66,0,68,0,0,0,115,0,121,0,108,0,95,0,83,0,121,0,108,0,111,0,95,0,66,0,68,0,0,0,115,0,122,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,76,0,0,0,116,0,97,0,106,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,97,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,97,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,116,0,98,0,119,0,95,0,84,0,97,0,103,0,98,0,95,0,80,0,72,0,0,0,116,0,98,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,99,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,99,0,121,0,95,0,75,0,110,0,100,0,97,0,95,0,73,0,78,0,0,0,116,0,100,0,103,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,100,0,104,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,100,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,116,0,101,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,101,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,76,0,0,0,116,0,101,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,116,0,101,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,76,0,0,0,116,0,102,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,103,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,103,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,103,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,104,0,108,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,104,0,113,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,104,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,105,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,105,0,103,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,82,0,0,0,116,0,105,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,105,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,105,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,105,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,116,0,107,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,90,0,0,0,116,0,107,0,116,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,108,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,108,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,108,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,90,0,0,0,116,0,109,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,69,0,0,0,116,0,109,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,110,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,111,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,111,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,87,0,0,0,116,0,111,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,112,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,112,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,113,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,114,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,116,0,114,0,119,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,116,0,115,0,100,0,95,0,71,0,114,0,101,0,107,0,95,0,71,0,82,0,0,0,116,0,115,0,102,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,115,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,116,0,115,0,106,0,95,0,84,0,105,0,98,0,116,0,95,0,66,0,84,0,0,0,116,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,116,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,116,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,116,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,116,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,116,0,115,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,116,0,116,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,90,0,0,0,116,0,117,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,117,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,117,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,87,0,0,0,116,0,117,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,118,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,118,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,119,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,119,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,69,0,0,0,116,0,121,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,121,0,118,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,116,0,122,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,65,0,0,0,117,0,98,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,100,0,109,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,117,0,108,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,77,0,0,0,117,0,109,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,79,0,0,0,117,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,81,0,0,0,117,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,86,0,0,0,117,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,80,0,0,0,117,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,83,0,0,0,117,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,72,0,77,0,0,0,117,0,110,0,114,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,117,0,110,0,114,0,95,0,78,0,97,0,103,0,109,0,95,0,73,0,78,0,0,0,117,0,110,0,120,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,117,0,111,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,114,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,114,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,114,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,115,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,116,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,118,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,118,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,118,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,118,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,118,0,101,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,118,0,101,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,85,0,0,0,118,0,105,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,88,0,0,0,118,0,105,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,118,0,108,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,69,0,0,0,118,0,109,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,118,0,109,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,118,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,118,0,111,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,85,0,0,0,118,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,69,0,0,0,118,0,117,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,118,0,117,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,97,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,72,0,0,0,119,0,97,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,97,0,108,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,84,0,0,0,119,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,97,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,119,0,98,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,85,0,0,0,119,0,98,0,113,0,95,0,84,0,101,0,108,0,117,0,95,0,73,0,78,0,0,0,119,0,98,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,119,0,99,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,101,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,103,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,104,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,105,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,105,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,105,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,106,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,106,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,108,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,87,0,70,0,0,0,119,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,110,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,110,0,105,0,95,0,65,0,114,0,97,0,98,0,95,0,75,0,77,0,0,0,119,0,110,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,111,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,111,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,114,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,115,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,116,0,109,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,119,0,117,0,117,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,119,0,117,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,119,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,97,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,82,0,0,0,120,0,98,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,109,0,102,0,95,0,71,0,101,0,111,0,114,0,95,0,71,0,69,0,0,0,120,0,109,0,114,0,95,0,77,0,101,0,114,0,111,0,95,0,83,0,68,0,0,0,120,0,110,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,120,0,111,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,120,0,111,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,114,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,115,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,115,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,115,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,120,0,119,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,97,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,121,0,97,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,77,0,0,0,121,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,97,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,97,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,121,0,97,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,98,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,98,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,121,0,98,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,101,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,103,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,103,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,105,0,95,0,72,0,101,0,98,0,114,0,95,0,48,0,48,0,49,0,0,0,121,0,107,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,108,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,108,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,108,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,109,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,111,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,114,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,114,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,114,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,82,0,0,0,121,0,115,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,117,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,116,0,95,0,67,0,65,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,116,0,95,0,72,0,75,0,0,0,121,0,117,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,117,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,117,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,122,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,68,0,0,0,122,0,100,0,106,0,95,0,65,0,114,0,97,0,98,0,95,0,75,0,77,0,0,0,122,0,101,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,122,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,122,0,108,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,71,0,0,0,122,0,109,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,122,0,110,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,122,0,122,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,111,0,117,0,105,0,95,0,79,0,117,0,103,0,114,0,95,0,49,0,52,0,51,0,0,0,106,0,98,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,112,0,114,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,116,0,111,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,91,7,141,7,32,0,36,0,40,0,248,32,44,0,48,0,52,0,56,0,60,0,64,0,68,0,72,0,76,0,80,0,84,0,88,0,92,0,96,0,67,33,100,0,104,0,219,14,108,0,112,0,116,0,121,28,120,0,124,0,128,0,132,0,136,0,140,0,144,0,106,12,148,0,152,0,77,25,156,0,160,0,23,34,164,0,168,0,250,24,172,0,79,33,176,0,180,0,184,0,188,0,192,0,196,0,200,0,204,0,208,0,212,0,216,0,220,0,224,0,83,33,196,27,228,0,237,0,246,0,250,0,254,0,2,1,6,1,10,1,14,1,35,34,18,1,22,1,26,1,30,1,34,1,38,1,42,1,46,1,50,1,43,34,54,1,58,1,128,31,62,1,66,1,70,1,74,1,78,1,47,34,82,1,51,34,86,1,94,1,100,1,106,1,55,34,112,1,116,1,120,1,124,1,128,1,132,1,136,1,140,1,144,1,148,1,152,1,156,1,160,1,164,1,168,1,172,1,176,1,180,1,184,1,188,1,192,1,196,1,200,1,251,14,204,1,208,1,212,1,216,1,220,1,224,1,228,1,232,1,236,1,240,1,244,1,248,1,126,16,252,1,0,2,4,2,8,2,12,2,16,2,20,2,24,2,28,2,195,33,32,2,36,2,40,2,44,2,48,2,52,2,56,2,60,2,64,2,68,2,72,2,76,2,80,2,84,2,88,2,92,2,96,2,100,2,104,2,108,2,112,2,116,2,120,2,181,7,124,2,128,2,132,2,136,2,140,2,143,2,147,2,151,2,130,16,155,2,159,2,163,2,167,2,171,2,175,2,179,2,183,2,95,33,187,2,191,2,195,2,199,2,203,2,206,2,210,2,214,2,218,2,222,2,226,2,230,2,234,2,238,2,242,2,246,2,250,2,254,2,2,3,6,3,10,3,14,3,18,3,22,3,26,3,30,3,34,3,38,3,42,3,46,3,50,3,54,3,58,3,62,3,66,3,70,3,126,12,74,3,78,3,82,3,86,3,90,3,130,12,94,3,98,3,102,3,138,12,106,3,110,3,104,32,114,3,118,3,122,3,126,3,130,3,134,3,138,3,142,3,146,3,150,3,154,3,158,3,162,3,166,3,199,33,170,3,174,3,203,33,178,3,182,3,186,3,190,3,194,3,198,3,201,3,205,3,209,3,146,12,213,3,221,3,146,16,141,25,224,3,228,3,232,3,236,3,240,3,244,3,248,3,252,3,0,4,4,4,8,4,254,10,12,4,16,4,20,4,24,4,28,4,32,4,36,4,40,4,44,4,48,4,52,4,56,4,60,4,64,4,68,4,72,4,76,4,80,4,84,4,88,4,92,4,96,4,100,4,104,4,108,4,112,4,116,4,120,4,124,4,127,4,131,4,135,4,139,4,97,0,143,4,147,4,26,11,151,4,155,4,159,4,163,4,167,4,120,14,171,4,175,4,34,11,179,4,187,4,191,4,174,16,195,4,207,33,199,4,203,4,178,16,207,4,211,4,215,4,219,4,46,11,223,4,227,4,231,4,50,11,235,4,239,4,243,4,247,4,251,4,255,4,2,5,10,5,14,5,182,16,18,5,22,5,26,5,30,5,33,5,37,5,62,11,41,5,45,5,49,5,53,5,57,5,170,12,61,5,65,5,69,5,73,5,77,5,81,5,85,5,89,5,93,5,97,5,101,5,105,5,109,5,113,5,253,7,207,17,117,5,121,5,125,5,129,5,133,5,191,28,137,5,141,5,145,5,149,5,153,5,157,5,161,5,165,5,169,5,170,30,173,5,177,5,181,5,185,5,189,5,193,5,197,5,201,5,205,5,209,5,213,5,217,5,221,5,225,5,229,5,233,5,237,5,182,12,241,5,245,5,249,5,128,14,253,5,1,6,5,6,9,6,13,6,17,6,21,6,25,6,29,6,33,6,37,6,41,6,45,6,54,6,58,6,62,6,208,16,66,6,70,6,74,6,78,6,82,6,86,6,90,6,94,6,97,6,101,6,105,6,109,6,113,6,117,6,121,6,13,8,125,6,131,6,116,29,137,6,135,21,183,4,141,6,145,6,149,6,190,12,153,6,159,25,157,6,165,6,169,6,173,6,177,6,181,6,185,6,189,6,193,6,197,6,201,6,205,6,209,6,213,6,217,6,105,32,221,6,39,15,225,6,220,16,229,6,233,6,33,8,176,28,237,6,241,6,154,6,41,8,29,35,245,6,249,6,253,6,1,7,5,7,9,7,13,7,104,15,142,30,17,7,21,7,25,7,228,16,29,7,33,7,202,12,37,7,232,16,41,7,45,7,49,7,53,7,57,7,210,12,160,30,240,16,61,7,65,7,17,14,27,5,119,33,110,11,69,7,73,7,77,7,81,7,127,33,85,7,89,7,93,7,97,7,101,7,105,7,109,7,113,7,131,33,117,7,121,7,125,7,129,7,133,7,135,3,137,7,21,14,140,7,144,7,148,7,152,7,156,7,160,7,164,7,168,7,172,7,176,7,180,7,184,7,188,7,192,7,196,7,200,7,204,7,208,7,212,7,216,7,220,7,224,7,228,7,232,7,236,7,240,7,244,7,248,7,252,7,230,12,0,8,4,8,8,8,12,8,16,8,20,8,24,8,28,8,32,8,36,8,40,8,114,11,44,8,48,8,52,8,109,8,56,8,60,8,64,8,68,8,42,7,72,8,78,8,86,8,92,8,98,8,104,8,108,8,248,16,112,8,116,8,120,8,124,8,97,2,128,8,132,8,136,8,140,8,144,8,148,8,234,5,152,8,156,8,79,34,160,8,164,8,168,8,172,8,176,8,180,8,184,8,188,8,192,8,196,8,200,8,204,8,208,8,212,8,252,16,216,8,220,8,224,8,228,8,232,8,236,8,132,15,240,8,244,8,248,8,252,8,0,9,4,9,8,9,12,9,16,9,20,9,105,2,24,9,32,9,38,9,46,9,50,9,54,9,58,9,62,9,66,9,70,9,74,9,138,13,78,9,82,9,86,9,126,11,90,9,94,9,98,9,102,9,106,9,110,9,114,9,118,9,122,9,126,9,130,9,134,9,168,4,138,9,146,9,152,9,160,9,166,9,170,9,174,9,178,9,182,9,186,9,211,33,190,9,194,9,217,3,198,9,202,9,206,9,210,9,213,9,217,9,221,9,225,9,229,9,233,9,237,9,241,9,245,9,249,9,253,9,1,10,5,10,87,34,9,10,211,17,13,10,17,10,21,10,25,10,34,10,38,10,42,10,46,10,50,10,54,10,58,10,62,10,66,10,70,10,74,10,78,10,82,10,71,10,86,10,90,10,215,30,94,10,98,10,102,10,106,10,110,10,114,10,118,10,31,28,122,10,190,6,126,10,130,10,134,10,138,10,142,10,145,10,149,10,153,10,157,10,161,10,165,10,169,10,173,10,177,10,181,10,188,10,197,10,201,10,205,10,209,10,213,10,217,10,221,10,225,10,229,10,233,10,237,10,241,10,245,10,249,10,253,10,1,11,5,11,9,11,13,11,17,11,21,11,25,11,29,11,33,11,37,11,41,11,45,11,49,11,53,11,57,11,61,11,65,11,241,12,69,11,73,11,77,11,81,11,85,11,19,17,89,11,93,11,41,35,97,11,101,11,105,11,109,11,129,2,113,11,117,11,121,11,125,11,95,34,129,11,133,11,137,11,141,11,145,11,149,11,227,33,153,11,159,11,167,11,171,11,175,11,179,11,139,33,183,11,187,11,191,11,195,11,199,11,203,11,207,11,211,11,215,11,219,11,40,28,223,11,227,11,231,11,175,15,235,11,167,14,241,11,245,11,249,11,253,11,1,12,5,12,9,12,13,12,17,12,21,12,25,12,29,12,33,12,37,12,41,12,45,12,23,17,49,12,53,12,57,12,61,12,65,12,69,12,73,12,77,12,81,12,85,12,89,12,93,12,235,33,97,12,101,12,105,12,109,12,113,12,117,12,121,12,179,15,125,12,129,12,133,12,137,12,141,12,145,12,206,30,149,12,153,12,45,35,157,12,161,12,165,12,169,12,163,24,173,12,177,12,181,12,185,12,189,12,193,12,197,12,201,12,205,12,209,12,213,12,217,12,221,12,225,12,229,12,233,12,237,12,240,12,244,12,41,14,248,12,252,12,0,13,4,13,8,13,218,6,12,13,16,13,20,13,24,13,28,13,32,13,239,33,36,13,40,13,44,13,48,13,52,13,56,13,60,13,64,13,68,13,72,13,76,13,80,13,84,13,88,13,91,13,95,13,99,13,199,15,103,13,107,13,111,13,222,6,115,13,121,13,95,10,125,13,129,13,133,13,137,13,61,19,163,11,141,13,145,13,149,13,107,10,153,13,157,13,159,33,161,13,165,13,169,13,173,13,177,13,53,14,181,13,189,13,195,13,199,13,203,13,212,13,216,13,220,13,224,13,228,13,232,13,236,13,240,13,244,13,120,32,248,13,252,13,0,14,4,14,8,14,12,14,16,14,20,14,24,14,173,22,28,14,32,14,36,14,40,14,44,14,48,14,52,14,56,14,60,14,64,14,68,14,72,14,231,15,76,14,163,21,80,14,84,14,88,14,92,14,95,14,99,14,225,20,103,14,107,14,111,14,115,14,119,14,123,14,127,14,131,14,135,14,139,14,143,14,150,14,154,14,108,29,158,14,162,14,166,14,170,14,7,16,174,14,178,14,55,33,182,14,186,14,12,28,190,14,194,14,221,23,198,14,202,14,214,32,206,14,210,14,214,14,3,34,218,14,222,14,226,14,230,14,234,14,238,14,242,14,246,14,250,14,254,14,2,15,5,15,9,15,13,15,17,15,75,17,21,15,29,15,35,15,43,15,51,15,55,15,23,1,59,15,63,15,67,15,71,15,167,33,75,15,79,15,83,15,87,15,91,15,95,15,99,15,175,28,7,34,103,15,107,15,111,15,115,15,119,15,171,33,123,15,127,15,131,15,135,15,138,15,142,15,146,15,150,15,11,34,236,28,154,15,158,15,162,15,166,15,170,15,174,15,45,13,178,15,182,15,186,15,190,15,194,15,198,15,49,13,202,15,206,15,210,15,214,15,218,15,222,15,226,15,230,15,211,2,15,34,234,15,240,15,246,15,252,15,2,16,6,16,10,16,14,16,111,34,18,16,22,16,26,16,33,20,30,16,34,16,1,27,38,16,42,16,46,16,50,16,54,16,58,16,91,17,61,16,65,16,69,16,73,16,77,16,81,16,85,16,89,16,93,16,97,16,166,13,101,16,227,24,105,16,109,16,113,16,117,16,121,16,125,16,129,16,133,16,137,16,141,16,145,16,149,16,153,16,157,16,161,16,99,17,165,16,169,16,173,16,177,16,181,16,123,10,185,16,193,16,199,16,203,16,207,16,222,32,211,16,215,16,219,16,162,29,223,16,227,16,231,16,235,16,239,16,243,16,31,16,247,16,251,16,255,16,3,17,6,17,10,17,14,17,18,17,22,17,157,9,26,17,246,31,30,17,34,17,38,17,42,17,46,17,50,17,54,17,58,17,226,32,62,17,66,17,70,17,111,17,74,17,78,17,82,17,86,17,90,17,115,17,94,17,98,17,102,17,106,17,110,17,114,17,118,17,122,17,126,17,130,17,134,17,138,17,142,17,146,17,150,17,154,17,158,17,105,4,162,17,166,17,170,17,174,17,178,17,182,17,203,14,186,17,194,17,200,17,206,17,47,16,210,17,214,17,205,30,218,17,226,17,234,17,242,17,250,17,2,18,10,18,18,18,26,18,34,18,42,18,50,18,58,18,66,18,74,18,82,18,90,18,98,18,106,18,114,18,122,18,130,18,138,18,146,18,154,18,162,18,170,18,178,18,186,18,194,18,202,18,209,18,216,18,223,18,230,18,237,18,244,18,251,18,2,19,9,19,16,19,23,19,30,19,37,19,46,19,55,19,64,19,73,19,85,19,97,19,109,19,121,19,133,19,145,19,157,19,169,19,181,19,193,19,205,19,217,19,229,19,241,19,253,19,9,20,18,20,27,20,36,20,43,20,50,20,57,20,64,20,71,20,78,20,85,20,92,20,99,20,106,20,113,20,120,20,127,20,134,20,141,20,148,20,157,20,166,20,175,20,184,20,193,20,202,20,211,20,220,20,229,20,238,20,247,20,254,20,5,21,12,21,19,21,26,21,33,21,40,21,47,21,54,21,61,21,68,21,75,21,82,21,89,21,96,21,103,21,112,21,121,21,130,21,139,21,148,21,157,21,166,21,175,21,187,21,196,21,205,21,217,21,229,21,241,21,253,21,9,22,21,22,33,22,45,22,57,22,64,22,71,22,78,22,85,22,92,22,101,22,113,22,125,22,137,22,149,22,158,22,167,22,176,22,183,22,190,22,197,22,204,22,211,22,218,22,225,22,232,22,239,22,246,22,255,22,8,23,17,23,26,23,33,23,40,23,47,23,54,23,61,23,68,23,75,23,82,23,89,23,96,23,103,23,110,23,117,23,124,23,131,23,140,23,149,23,158,23,167,23,176,23,185,23,194,23,206,23,215,23,224,23,231,23,238,23,245,23,252,23,3,24,10,24,19,24,28,24,37,24,46,24,55,24,64,24,76,24,85,24,97,24,109,24,121,24,130,24,139,24,148,24,157,24,166,24,173,24,180,24,187,24,194,24,201,24,208,24,215,24,222,24,231,24,238,24,245,24,254,24,7,25,16,25,23,25,30,25,37,25,44,25,51,25,58,25,65,25,72,25,81,25,90,25,99,25,108,25,117,25,126,25,135,25,144,25,153,25,162,25,169,25,176,25,183,25,190,25,197,25,204,25,211,25,218,25,225,25,234,25,243,25,255,25,11,26,23,26,35,26,47,26,59,26,71,26,83,26,95,26,107,26,119,26,131,26,143,26,155,26,167,26,179,26,191,26,203,26,215,26,224,26,233,26,242,26,251,26,4,27,13,27,22,27,29,27,36,27,43,27,50,27,57,27,64,27,71,27,78,27,85,27,92,27,99,27,106,27,113,27,120,27,127,27,134,27,141,27,148,27,155,27,164,27,173,27,182,27,191,27,200,27,209,27,218,27,227,27,236,27,245,27,254,27,7,28,16,28,25,28,34,28,43,28,55,28,67,28,74,28,81,28,88,28,95,28,102,28,109,28,116,28,125,28,134,28,143,28,152,28,161,28,170,28,179,28,186,28,195,28,204,28,213,28,222,28,231,28,240,28,249,28,0,29,7,29,14,29,21,29,28,29,35,29,42,29,49,29,56,29,63,29,70,29,77,29,84,29,93,29,102,29,111,29,120,29,129,29,138,29,147,29,156,29,165,29,172,29,179,29,186,29,193,29,200,29,207,29,214,29,223,29,232,29,241,29,248,29,255,29,6,30,13,30,20,30,27,30,34,30,41,30,48,30,55,30,62,30,69,30,76,30,83,30,92,30,101,30,110,30,119,30,128,30,137,30,146,30,155,30,164,30,173,30,182,30,191,30,200,30,209,30,218,30,227,30,234,30,241,30,248,30,255,30,6,31,13,31,20,31,27,31,34,31,41,31,48,31,55,31,62,31,69,31,78,31,87,31,96,31,105,31,114,31,123,31,132,31,141,31,150,31,159,31,168,31,177,31,189,31,201,31,213,31,222,31,231,31,240,31,249,31,0,32,7,32,14,32,21,32,30,32,37,32,44,32,51,32,58,32,67,32,76,32,83,32,90,32,99,32,108,32,115,32,124,32,133,32,140,32,147,32,156,32,165,32,172,32,237,29,181,32,190,32,197,32,201,32,51,16,205,32,209,32,213,32,217,32,221,32,225,32,229,32,233,32,139,10,237,32,243,32,251,32,1,33,5,33,9,33,13,33,16,33,20,33,24,33,27,33,31,33,35,33,39,33,43,33,47,33,50,33,54,33,58,33,62,33,187,33,66,33,70,33,74,33,78,33,82,33,86,33,90,33,94,33,98,33,102,33,106,33,110,33,114,33,118,33,122,33,126,33,130,33,134,33,138,33,142,33,146,33,150,33,211,14,154,33,158,33,162,33,166,33,170,33,174,33,178,33,182,33,186,33,190,33,194,33,198,33,202,33,206,33,27,3,210,33,214,33,218,33,222,33,226,33,230,33,234,33,238,33,242,33,246,33,250,33,254,33,2,34,6,34,10,34,14,34,18,34,22,34,26,34,30,34,34,34,38,34,42,34,46,34,50,34,54,34,58,34,62,34,66,34,70,34,74,34,122,6,78,34,82,34,86,34,90,34,94,34,197,30,98,34,102,34,106,34,190,17,110,34,114,34,118,34,122,34,129,34,138,34,142,34,146,34,52,35,150,34,154,34,158,34,162,34,150,10,166,34,172,34,178,34,186,34,192,34,198,34,204,34,212,34,220,34,226,34,232,34,238,34,244,34,250,34,0,35,6,35,12,35,18,35,24,35,28,35,32,35,36,35,40,35,44,35,48,35,51,35,41,5,124,21,136,21,148,21,53,1,160,21,172,21,184,21,196,21,208,21,220,21,232,21,244,21,0,22,12,22,24,22,36,22,48,22,60,22,64,1,72,22,84,22,63,5,96,22,108,22,120,22,132,22,144,22,156,22,168,22,180,22,8,17,192,22,204,22,75,1,20,17,216,22,228,22,240,22,252,22,45,0,8,23,20,23,32,23,44,23,74,5,56,23,68,23,80,23,92,23,104,23,116,23,128,23,140,23,32,17,152,23,164,23,176,23,188,23,23,0,44,17,56,17,68,17,212,23,224,23,236,23,248,23,4,24,16,24,28,24,38,6,40,24,80,17,52,24,64,24,76,24,88,24,100,24,112,24,124,24,49,6,136,24,148,24,160,24,172,24,184,24,196,24,208,24,220,24,60,6,232,24,108,1,97,1,71,6,97,1,93,6,104,6,244,24,12,25,24,25,36,25,48,25,60,25,92,17,72,25,84,25,108,25,120,25,132,25,144,25,156,25,168,25,180,25,192,25,204,25,216,25,228,25,240,25,252,25,8,26,119,1,20,26,32,26,44,26,56,26,68,26,80,26,92,26,104,26,116,26,128,26,140,26,152,26,130,1,164,26,176,26,104,17,188,26,200,26,240,16,212,26,224,26,4,27,141,1,16,27,28,27,40,27,52,27,64,27,76,27,88,27,100,27,112,27,124,27,136,27,148,27,160,27,172,27,184,27,196,27,208,27,220,27,244,27,0,28,12,28,24,28,116,17,152,1,36,28,48,28,60,28,72,28,56,0,84,28,96,28,108,28,163,1,120,28,132,28,144,28,156,28,168,28,180,28,192,28,204,28,137,6,216,28,228,28,240,28,252,28,174,1,8,29,128,17,20,29,32,29,44,29,56,29,140,17,68,29,80,29,92,29,116,29,128,29,140,29,152,29,164,29,176,29,188,29,200,29,212,29,224,29,236,29,248,29,4,30,16,30,28,30,40,30,52,30,64,30,76,30,88,30,100,30,159,6,112,30,124,30,136,30,148,30,152,17,170,6,160,30,172,30,184,30,181,6,196,30,208,30,220,30,232,30,164,17,244,30,176,17,188,17,0,31,12,31,24,31,36,31,48,31,60,31,72,31,84,31,200,17,192,6,212,17,108,31,203,6,120,31,132,31,144,31,156,31,168,31,185,1,180,31,192,31,224,17,214,6,196,1,225,6,236,6,207,1,204,31,216,31,228,31,240,31,252,31,8,32,20,32,32,32,44,32,56,32,68,32,67,0,80,32,92,32,104,32,116,32,128,32,140,32,152,32,164,32,176,32,188,32,236,17,200,32,212,32,224,32,4,33,16,33,28,33,40,33,52,33,64,33,76,33,88,33,100,33,112,33,124,33,136,33,148,33,160,33,78,0,172,33,184,33,196,33,208,33,218,1,220,33,232,33,46,7,244,33,0,34,248,17,12,34,4,18,89,0,24,34,36,34,1,0,240,1,48,34,60,34,72,34,84,34,6,2,16,18,108,34,28,2,120,34,28,18,132,34,144,34,98,8,156,34,168,34,180,34,39,2,192,34,204,34,216,34,228,34,240,34,131,8,50,2,252,34,8,35,61,2,20,35,40,18,44,35,142,8,56,35,68,35,72,2,80,35,92,35,104,35,116,35,128,35,83,2,140,35,152,35,164,35,176,35,188,35,200,35,212,35,224,35,236,35,248,35,4,36,16,36,28,36,40,36,15,10,26,10,52,36,64,36,76,36,88,36,100,36,112,36,124,36,136,36,148,36,160,36,172,36,184,36,196,36,208,36,220,36,37,10,232,36,244,36,0,37,12,37,24,37,36,37,48,37,60,37,72,37,84,37,96,37,108,37,120,37,132,37,144,37,156,37,168,37,48,10,180,37,192,37,204,37,94,2,216,37,228,37,240,37,252,37,8,38,20,38,32,38,44,38,56,38,52,18,68,38,64,18,76,18,80,38,92,38,104,38,105,2,116,38,128,38,140,38,152,38,164,38,176,38,188,38,59,10,200,38,212,38,224,38,236,38,248,38,4,39,16,39,114,10,70,10,92,10,28,39,40,39,52,39,64,39,76,39,88,39,100,39,111,0,112,39,241,16,125,10,124,39,148,39,160,39,172,39,184,39,196,39,88,18,100,18,208,39,220,39,232,39,112,18,12,40,24,40,147,10,36,40,60,40,72,40,116,2,84,40,96,40,127,2,138,2,108,40,120,40,122,0,169,10,132,40,144,40,156,40,168,40,180,40,192,40,204,40,216,40,133,0,228,40,240,40,252,40,8,41,180,10,20,41,32,41,149,2,44,41,191,10,56,41,68,41,80,41,92,41,104,41,101,21,116,41,128,41,140,41,152,41,160,2,144,0,171,2,224,10,164,41,176,41,188,41,200,41,155,0,212,41,224,41,236,41,105,74,248,41,4,42,16,42,28,42,1,11,40,42,52,42,64,42,76,42,88,42,23,11,34,11,166,0,100,42,112,42,124,18,124,42,136,42,148,42,160,42,172,42,136,18,184,42,208,42,220,42,232,42,244,42,0,43,12,43,24,43,36,43,48,43,60,43,72,43,84,43,120,43,132,43,144,43,156,43,168,43,180,43,192,43,45,11,204,43,216,43,228,43,240,43,148,18,252,43,8,44,20,44,160,18,32,44,44,44,56,11,56,44,68,44,80,44,67,11,92,44,104,44,116,44,128,44,100,11,78,11,182,2,182,2,89,11,193,2,140,44,152,44,204,2,164,44,176,44,188,44,200,44,177,0,212,44,224,44,236,44,248,44,4,45,16,45,215,2,28,45,40,45,188,0,52,45,64,45,76,45,88,45,100,45,112,45,124,45,136,45,148,45,160,45,172,45,184,45,196,45,208,45,113,21,220,45,232,45,244,45,172,18,0,46,12,46,144,11,24,46,36,46,48,46,60,46,72,46,84,46,96,46,108,46,120,46,132,46,199,11,155,11,166,11,226,2,144,46,156,46,168,46,180,46,192,46,204,46,216,46,228,46,210,11,240,46,252,46,8,47,232,11,20,47,32,47,44,47,56,47,68,47,80,47,92,47,104,47,116,47,128,47,140,47,152,47,248,2,237,2,237,2,3,3,3,3,164,47,176,47,188,47,200,47,212,47,224,47,243,11,184,18,236,47,248,47,4,48,16,48,28,48,254,11,40,48,52,48,64,48,76,48,196,18,88,48,100,48,112,48,124,48,208,18,136,48,148,48,160,48,9,12,172,48,20,12,184,48,196,48,208,48,220,18,220,48,232,48,244,48,0,49,232,18,12,49,24,49,36,49,48,49,60,49,72,49,84,49,96,49,31,12,108,49,120,49,199,0,132,49,144,49,156,49,168,49,180,49,192,49,204,49,14,3,216,49,42,12,228,49,240,49,252,49,8,50,25,3,20,50,228,16,44,50,56,50,68,50,80,50,92,50,116,50,140,50,252,16,252,16,152,50,164,50,176,50,188,50,200,50,212,50,224,50,236,50,248,50,4,51,16,51,28,51,40,51,52,51,64,51,76,51,88,51,100,51,112,51,124,51,136,51,148,51,160,51,172,51,196,51,208,51,220,51,244,18,0,19,232,51,244,51,0,52,36,3,12,52,24,52,36,52,48,52,60,52,53,12,72,52,84,52,64,12,96,52,108,52,100,21,120,52,47,3,132,52,144,52,156,52,168,52,58,3,180,52,192,52,204,52,216,52,228,52,240,52,69,3,210,0,210,0,252,52,8,53,20,53,44,53,97,12,68,53,80,53,92,53,104,53,116,53,128,53,140,53,152,53,164,53,176,53,108,12,188,53,200,53,12,19,91,3,80,3,102,3,212,53,224,53,236,53,248,53,4,54,16,54,28,54,40,54,52,54,64,54,76,54,88,54,100,54,112,54,124,54,136,54,221,0,148,54,160,54,172,54,184,54,196,54,24,19,208,54,220,54,232,54,244,54,0,55,12,55,152,12,24,55,36,55,48,55,60,55,72,55,84,55,96,55,113,3,108,55,120,55,132,55,144,55,156,55,168,55,174,12,180,55,192,55,124,3,204,55,216,55,240,55,252,55,196,12,8,56,20,56,32,56,44,56,56,56,68,56,80,56,92,56,104,56,116,56,128,56,140,56,152,56,164,56,176,56,188,56,135,3,200,56,212,56,240,12,224,56,236,56,248,56,4,57,36,19,251,12,48,19,16,57,60,19,28,57,40,57,52,57,6,13,64,57,76,57,88,57,100,57,112,57,72,19,124,57,136,57,148,57,160,57,172,57,184,57,196,57,17,13,208,57,220,57,232,57,28,13,244,57,0,58,12,58,50,13,39,13,24,58,61,13,36,58,48,58,112,21,60,58,72,13,72,58,84,58,96,58,108,58,146,3,120,58,132,58,83,13,84,19,144,58,96,19,92,74,156,58,168,3,157,3,157,3,168,58,108,19,120,19,180,58,192,58,132,19,228,58,240,58,252,58,8,59,20,59,32,59,144,19,44,59,56,59,68,59,156,19,80,59,92,59,104,59,168,19,116,59,179,3,128,59,140,59,152,59,164,59,176,59,188,59,200,59,212,59,224,59,180,19,236,59,118,74,105,13,248,59,232,0,4,60,16,60,28,60,204,13,40,60,52,60,64,60,76,60,88,60,100,60,112,60,136,60,148,60,160,60,192,19,184,60,208,60,196,60,220,60,232,60,215,13,244,60,0,61,12,61,24,61,190,3,36,61,48,61,201,3,60,61,72,61,84,61,96,61,108,61,12,0,120,61,132,61,212,3,144,61,156,61,168,61,3,14,180,61,192,61,204,61,216,61,204,19,228,61,216,19,240,61,252,61,8,62,58,14,20,62,32,62,44,62,56,62,69,14,223,3,223,3,234,3,245,3,68,62,80,62,80,14,92,62,104,62,116,62,128,62,91,14,228,19,140,62,152,62,164,62,176,62,188,62,200,62,212,62,243,0,224,62,236,62,248,62,4,63,16,63,0,4,28,63,40,63,64,63,11,4,76,63,88,63,100,63,112,63,254,0,124,63,136,63,148,63,160,63,240,19,172,63,184,63,22,4,196,63,208,63,220,63,232,63,244,63,0,64,33,4,252,19,24,64,36,64,48,64,60,64,72,64,84,64,96,64,44,4,55,4,66,4,190,14,201,14,212,14,8,20,108,64,120,64,132,64,223,14,144,64,156,64,168,64,245,14,180,64,192,64,0,15,204,64,216,64,228,64,240,64,252,64,77,4,9,1,20,20,8,65,20,65,32,65,44,65,56,65,68,65,80,65,32,20,104,65,99,4,116,65,128,65,140,65,152,65,164,65,176,65,188,65,200,65,212,65,224,65,248,65,4,66,16,66,44,20,28,66,40,66,52,66,110,4,64,66,76,66,88,66,100,66,112,66,132,4,121,4,121,4,124,66,136,66,148,66,20,1,160,66,172,66,184,66,66,15,196,66,208,66,220,66,232,66,244,66,0,67,143,4,56,20,12,67,24,67,99,15,36,67,48,67,60,67,72,67,84,67,110,15,96,67,154,4,108,67,120,67,131,74,132,67,68,20,144,67,156,67,168,67,165,4,180,67,80,20,192,67,132,15,204,67,216,67,228,67,240,67,252,67,143,15,8,68,20,68,32,68,44,68,56,68,68,68,80,68,92,68,104,68,116,68,128,68,92,20,140,68,152,68,164,68,104,20,116,20,154,15,176,68,188,68,200,68,212,68,128,20,224,68,176,4,187,4,187,4,165,15,140,20,198,4,236,68,248,68,1,0,100,0,1,0,232,0,229,1,100,0,17,2,9,1,23,0,88,4,134,7,1,0,1,0,251,1,229,16,241,16,133,0,144,0,229,1,123,7,101,7,254,0,229,16,42,1,86,1,12,0,12,0,90,7,67,0,100,0,96,34,148,6,85,5,109,8,44,4,122,0,116,13,4,69,145,7,102,14,247,6,207,12,22,15,108,1,50,2,128,20,8,17,23,0,80,3,176,4,198,15,130,12,209,15,176,17,172,60,193,2,220,15,81,10,31,1,32,17,244,18,120,8,82,6,20,20,44,17,122,0,64,1,174,1,56,0,218,12,175,8,130,1,96,5,190,3,186,8,197,8,141,12,156,7,204,58,232,0,218,1,16,69,119,1,0,25,92,17,128,17,96,25,56,0,248,13,242,4,168,19,153,8,104,29,232,27,88,4,208,8,219,8,2,7,230,8,167,7,241,8,229,16,178,7,28,69,189,7,251,1,127,13,216,58,57,7,185,1,152,17,171,2,212,20,188,17,164,17,200,20,212,17,152,20,152,20,64,18,12,0,75,12,168,14,53,1,86,12,176,15,115,6,187,15,196,42,179,14,67,0,30,5,207,1,200,7,107,5,241,16,185,12,136,39,236,26,140,17,35,7,236,32,164,8,211,7,222,7,28,2,23,0,118,5,55,15,6,2,45,0,112,7,13,7,248,17,124,14,200,23,45,0,61,2,72,2,83,2,7,9,166,0,18,9,75,1,204,2,29,9,40,9,233,7,89,0,40,69,244,7,138,13,166,0,196,1,188,20,16,18,52,18,14,14,89,0,104,17,105,2,168,3,8,5,52,69,255,7,116,2,127,2,138,2,253,4,111,11,74,16,0,40,229,16,34,0,192,73,111,0,30,16,41,16,52,16,235,10,88,18,244,39,112,18,158,10,10,8,133,0,111,0,241,16,129,5,39,2,160,2,144,0,28,18,140,5,155,0,122,11,12,11,155,0,33,15,248,2,177,0,151,5,133,11,188,0,162,5,237,13,4,18,246,10,136,18,180,19,177,0,234,3,88,21,215,2,188,0,248,26,199,0,173,5,24,7,243,0,234,14,14,3,62,9,25,3,184,5,48,19,199,0,77,15,177,11,231,4,121,15,252,8,79,7,188,11,88,15,51,9,73,9,135,14,124,18,149,13,117,9,172,18,194,9,238,9,80,20,94,13,208,18,220,18,184,18,76,18,232,18,224,20,236,20,195,5,84,9,226,13,66,4,95,9,36,3,47,3,152,1,221,0,69,3,19,5,106,9,206,5,102,3,0,19,78,0,17,2,91,3,160,13,136,10,128,50,24,19,248,20,126,6,236,17,184,51,4,21,28,72,58,3,119,12,210,0,12,19,32,53,52,63,221,0,160,18,56,53,52,5,128,9,103,10,21,8,135,3,113,3,124,3,76,69,25,14,16,21,56,17,228,55,252,16,76,21,217,5,228,19,204,19,96,19,146,3,84,19,113,14,92,74,32,8,43,8,139,9,68,20,40,18,31,1,179,3,150,9,54,8,228,5,171,13,132,19,94,2,68,17,224,17,221,11,32,50,108,19,120,19,156,19,100,18,28,21,239,5,68,7,161,9,201,3,55,4,12,0,212,3,124,60,192,19,60,19,86,1,172,9,250,5,77,4,11,4,163,12,0,4,202,10,183,9,33,4,229,12,182,13,65,8,5,6,240,19,40,21,216,19,80,17,240,1,36,14,47,14,245,3,243,0,252,19,12,64,8,20,200,17,11,15,92,65,32,20,205,9,216,9,227,9,20,1,132,4,56,20,193,13,143,4,16,6,154,4,165,4,92,20,34,0,9,1,236,65,248,32,44,20,148,18,99,4,104,20,116,17,110,4,64,21,32,35,78,0,20,1,196,18,96,43,108,43,163,1,104,50,72,19,116,20,198,4,44,15,76,8,42,1,140,20,213,10,87,8,220,4,141,1,176,20,157,14,249,9,254,0,48,40,36,19,146,14,144,19,20,17,27,6,4,10,226,2,149,2,22,4,96,31,64,69,164,20,164,20,88,69,100,69,31,1,112,69,124,69,136,69,148,69,160,69,172,69,184,69,196,69,42,1,209,4,209,4,231,15,208,69,176,20,220,69,242,15,232,69,244,69,220,4,0,70,12,70,24,70,36,70,48,70,60,70,72,70,84,70,96,70,108,70,253,15,120,70,132,70,144,70,156,70,168,70,180,70,192,70,204,70,216,70,228,70,240,70,252,70,8,71,20,71,32,71,44,71,56,71,68,71,80,71,92,71,104,71,116,71,8,16,128,71,140,71,152,71,188,20,164,71,176,71,188,71,200,71,212,71,224,71,236,71,200,20,212,20,248,71,19,16,4,72,224,20,236,20,16,72,248,20,4,21,16,21,40,72,52,72,64,72,28,21,76,72,40,21,88,72,100,72,112,72,124,72,136,72,148,72,160,72,172,72,184,72,196,72,208,72,220,72,232,72,244,72,0,73,12,73,24,73,36,73,48,73,60,73,72,73,84,73,96,73,108,73,63,16,120,73,132,73,144,73,156,73,168,73,180,73,204,73,52,21,52,21,216,73,228,73,240,73,231,4,252,73,8,74,20,74,64,21,229,16,85,16,96,16,242,4,107,16,118,16,8,5,253,4,34,0,129,16,19,5,140,16,151,16,162,16,173,16,184,16,34,0,195,16,206,16,76,21,32,74,88,21,44,74,56,74,68,74,217,16,80,74,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,48,42,0,32,7,0,0,0,88,9,0,0,55,42,0,0,55,42,0,0,174,1,0,0,1,0,0,0,55,34,0,0,109,97,112,84,105,109,101,122,111,110,101,115,0,65,99,114,101,0,48,48,49,0,65,102,103,104,97,110,105,115,116,97,110,0,65,102,114,105,99,97,95,67,101,110,116,114,97,108,0,66,73,0,66,87,0,67,68,0,77,87,0,82,87,0,90,77,0,90,87,0,65,102,114,105,99,97,95,69,97,115,116,101,114,110,0,68,74,0,69,82,0,69,84,0,75,77,0,77,71,0,83,79,0,84,90,0,85,71,0,89,84,0,65,102,114,105,99,97,95,70,97,114,87,101,115,116,101,114,110,0,65,102,114,105,99,97,95,83,111,117,116,104,101,114,110,0,76,83,0,83,90,0,65,102,114,105,99,97,95,87,101,115,116,101,114,110,0,65,79,0,66,74,0,67,70,0,67,71,0,67,77,0,71,65,0,71,81,0,78,69,0,84,68,0,65,107,116,121,117,98,105,110,115,107,0,65,108,97,115,107,97,0,65,108,97,115,107,97,95,72,97,119,97,105,105,0,65,109,97,122,111,110,0,65,109,101,114,105,99,97,95,67,101,110,116,114,97,108,0,66,90,0,67,65,0,67,82,0,71,84,0,72,78,0,77,88,0,83,86,0,65,109,101,114,105,99,97,95,69,97,115,116,101,114,110,0,66,83,0,72,84,0,74,77,0,75,89,0,80,65,0,65,109,101,114,105,99,97,95,77,111,117,110,116,97,105,110,0,65,109,101,114,105,99,97,95,80,97,99,105,102,105,99,0,65,114,97,98,105,97,110,0,66,72,0,73,81,0,75,87,0,81,65,0,89,69,0,65,114,103,101,110,116,105,110,97,0,65,114,103,101,110,116,105,110,97,95,87,101,115,116,101,114,110,0,65,114,109,101,110,105,97,0,65,115,104,107,104,97,98,97,100,0,65,116,108,97,110,116,105,99,0,65,71,0,65,73,0,65,87,0,66,66,0,66,77,0,66,81,0,67,87,0,68,77,0,71,68,0,71,76,0,71,80,0,75,78,0,76,67,0,77,70,0,77,81,0,77,83,0,80,82,0,83,88,0,84,84,0,86,67,0,86,71,0,86,73,0,65,117,115,116,114,97,108,105,97,95,67,101,110,116,114,97,108,0,65,117,115,116,114,97,108,105,97,95,67,101,110,116,114,97,108,87,101,115,116,101,114,110,0,65,117,115,116,114,97,108,105,97,95,69,97,115,116,101,114,110,0,65,117,115,116,114,97,108,105,97,95,87,101,115,116,101,114,110,0,65,122,101,114,98,97,105,106,97,110,0,66,97,110,103,108,97,100,101,115,104,0,66,101,114,105,110,103,0,66,104,117,116,97,110,0,66,111,108,105,118,105,97,0,66,111,114,110,101,111,0,66,114,97,115,105,108,105,97,0,66,114,105,116,105,115,104,0,67,104,97,109,111,114,114,111,0,71,85,0,67,104,105,108,101,0,67,104,105,110,97,0,67,111,108,111,109,98,105,97,0,67,111,111,107,0,67,117,98,97,0,68,97,99,99,97,0,68,111,109,105,110,105,99,97,110,0,68,117,116,99,104,95,71,117,105,97,110,97,0,69,97,115,116,95,84,105,109,111,114,0,69,99,117,97,100,111,114,0,69,117,114,111,112,101,95,67,101,110,116,114,97,108,0,65,68,0,65,76,0,65,84,0,66,65,0,66,69,0,67,72,0,67,90,0,68,69,0,68,75,0,69,83,0,71,73,0,72,82,0,72,85,0,73,84,0,76,73,0,76,85,0,77,67,0,77,69,0,77,75,0,78,76,0,78,79,0,80,76,0,82,83,0,83,69,0,83,73,0,83,74,0,83,75,0,83,77,0,84,78,0,86,65,0,88,75,0,69,117,114,111,112,101,95,69,97,115,116,101,114,110,0,65,88,0,66,71,0,67,89,0,69,71,0,70,73,0,71,82,0,76,66,0,69,117,114,111,112,101,95,70,117,114,116,104,101,114,95,69,97,115,116,101,114,110,0,82,85,0,69,117,114,111,112,101,95,87,101,115,116,101,114,110,0,70,79,0,70,97,108,107,108,97,110,100,0,70,114,101,110,99,104,95,71,117,105,97,110,97,0,70,114,101,110,99,104,95,83,111,117,116,104,101,114,110,0,70,114,117,110,122,101,0,66,70,0,67,73,0,71,66,0,71,72,0,71,77,0,71,78,0,73,69,0,77,76,0,77,82,0,83,72,0,83,76,0,83,78,0,84,71,0,71,105,108,98,101,114,116,95,73,115,108,97,110,100,115,0,71,114,101,101,110,108,97,110,100,95,67,101,110,116,114,97,108,0,71,114,101,101,110,108,97,110,100,95,69,97,115,116,101,114,110,0,71,114,101,101,110,108,97,110,100,95,87,101,115,116,101,114,110,0,71,117,108,102,0,79,77,0,72,97,119,97,105,105,95,65,108,101,117,116,105,97,110,0,73,110,100,105,97,0,76,75,0,73,110,100,105,97,110,95,79,99,101,97,110,0,73,110,100,111,99,104,105,110,97,0,75,72,0,76,65,0,73,110,100,111,110,101,115,105,97,95,67,101,110,116,114,97,108,0,73,110,100,111,110,101,115,105,97,95,69,97,115,116,101,114,110,0,73,110,100,111,110,101,115,105,97,95,87,101,115,116,101,114,110,0,73,114,97,110,0,73,114,105,115,104,0,73,115,114,97,101,108,0,74,97,112,97,110,0,75,97,122,97,107,104,115,116,97,110,95,69,97,115,116,101,114,110,0,75,97,122,97,107,104,115,116,97,110,95,87,101,115,116,101,114,110,0,75,105,122,105,108,111,114,100,97,0,75,111,114,101,97,0,75,117,121,98,121,115,104,101,118,0,75,121,114,103,121,115,116,97,110,0,76,97,110,107,97,0,76,105,98,101,114,105,97,0,76,105,110,101,95,73,115,108,97,110,100,115,0,77,97,108,97,121,97,0,77,97,108,97,121,115,105,97,0,77,97,114,115,104,97,108,108,95,73,115,108,97,110,100,115,0,77,101,120,105,99,111,95,78,111,114,116,104,119,101,115,116,0,77,101,120,105,99,111,95,80,97,99,105,102,105,99,0,77,111,110,103,111,108,105,97,0,77,121,97,110,109,97,114,0,78,101,112,97,108,0,78,101,119,95,67,97,108,101,100,111,110,105,97,0,78,101,119,95,90,101,97,108,97,110,100,0,65,81,0,78,101,119,102,111,117,110,100,108,97,110,100,0,78,111,114,116,104,95,77,97,114,105,97,110,97,0,80,97,107,105,115,116,97,110,0,80,97,112,117,97,95,78,101,119,95,71,117,105,110,101,97,0,80,97,114,97,103,117,97,121,0,80,101,114,117,0,80,104,105,108,105,112,112,105,110,101,115,0,80,104,111,101,110,105,120,95,73,115,108,97,110,100,115,0,80,105,101,114,114,101,95,77,105,113,117,101,108,111,110,0,83,97,109,111,97,0,83,101,121,99,104,101,108,108,101,115,0,83,104,101,118,99,104,101,110,107,111,0,83,111,108,111,109,111,110,0,83,117,114,105,110,97,109,101,0,83,118,101,114,100,108,111,118,115,107,0,84,97,106,105,107,105,115,116,97,110,0,84,111,107,101,108,97,117,0,84,111,110,103,97,0,84,117,114,107,101,121,0,84,117,114,107,109,101,110,105,115,116,97,110,0,84,117,118,97,108,117,0,85,114,97,108,115,107,0,85,114,117,103,117,97,121,0,85,122,98,101,107,105,115,116,97,110,0,86,97,110,117,97,116,117,0,86,101,110,101,122,117,101,108,97,0,89,117,107,111,110,0,109,101,116,97,122,111,110,101,73,100,115,0,97,99,114,101,0,97,102,99,101,0,97,102,101,97,0,97,102,103,104,0,97,102,115,111,0,97,102,119,101,0,97,108,97,109,0,97,108,97,115,0,97,109,97,122,0,97,109,99,101,0,97,109,101,97,0,97,109,109,111,0,97,109,112,97,0,97,110,97,100,0,97,112,105,97,0,97,113,116,97,0,97,113,116,111,0,97,114,97,98,0,97,114,103,101,0,97,114,109,101,0,97,114,119,101,0,97,117,99,101,0,97,117,99,119,0,97,117,101,97,0,97,117,119,101,0,97,122,101,114,0,97,122,111,114,0,98,97,110,103,0,98,104,117,116,0,98,111,108,105,0,98,114,97,115,0,98,114,117,110,0,99,97,115,101,0,99,97,118,101,0,99,104,97,109,0,99,104,97,116,0,99,104,105,108,0,99,104,105,110,0,99,104,111,105,0,99,104,114,105,0,99,111,99,111,0,99,111,108,111,0,99,111,111,107,0,99,117,98,97,0,100,97,118,105,0,100,117,109,111,0,101,97,115,116,0,101,97,116,105,0,101,99,117,97,0,101,117,99,101,0,101,117,101,97,0,101,117,102,101,0,101,117,119,101,0,102,97,108,107,0,102,105,106,105,0,102,114,103,117,0,102,114,115,111,0,103,97,108,97,0,103,97,109,98,0,103,101,111,114,0,103,105,105,115,0,103,114,101,97,0,103,114,119,101,0,103,117,97,109,0,103,117,108,102,0,103,117,121,97,0,104,97,97,108,0,104,111,107,111,0,104,111,118,100,0,105,110,100,105,0,105,110,100,111,0,105,110,111,99,0,105,110,119,101,0,105,114,97,110,0,105,114,107,117,0,105,115,114,97,0,106,97,112,97,0,107,97,101,97,0,107,97,109,99,0,107,97,119,101,0,107,111,114,101,0,107,111,115,114,0,107,114,97,115,0,107,121,114,103,0,108,97,110,107,0,108,105,105,115,0,108,111,104,111,0,109,97,99,97,0,109,97,99,113,0,109,97,103,97,0,109,97,105,115,0,109,97,108,100,0,109,97,114,113,0,109,97,117,114,0,109,97,119,115,0,109,101,110,111,0,109,101,112,97,0,109,103,109,116,0,109,111,110,103,0,109,111,115,99,0,109,121,97,110,0,110,97,117,114,0,110,101,99,97,0,110,101,112,97,0,110,101,119,102,0,110,101,122,101,0,110,105,117,101,0,110,111,109,97,0,110,111,114,102,0,110,111,114,111,0,110,111,118,111,0,111,109,115,107,0,112,97,107,105,0,112,97,110,103,0,112,97,114,97,0,112,101,114,117,0,112,104,105,108,0,112,104,105,115,0,112,105,109,105,0,112,105,116,99,0,112,111,110,97,0,112,121,111,110,0,113,121,122,121,0,114,101,117,110,0,114,111,116,104,0,115,97,107,104,0,115,97,109,97,0,115,97,109,111,0,115,101,121,99,0,115,105,110,103,0,115,111,103,101,0,115,111,108,111,0,115,117,114,105,0,115,121,111,119,0,116,97,104,105,0,116,97,105,112,0,116,97,106,105,0,116,111,107,101,0,116,111,110,103,0,116,114,117,107,0,116,117,114,107,0,116,117,118,97,0,117,114,117,103,0,117,122,98,101,0,118,97,110,117,0,118,101,110,101,0,118,108,97,100,0,118,111,108,103,0,118,111,115,116,0,119,97,107,101,0,119,97,108,108,0,121,97,107,117,0,121,101,107,97,0,121,117,107,111,0,109,101,116,97,122,111,110,101,73,110,102,111,0,65,102,114,105,99,97,58,65,98,105,100,106,97,110,0,65,102,114,105,99,97,58,65,99,99,114,97,0,65,102,114,105,99,97,58,65,100,100,105,115,95,65,98,97,98,97,0,65,102,114,105,99,97,58,65,108,103,105,101,114,115,0,65,102,114,105,99,97,58,65,115,109,101,114,97,0,65,102,114,105,99,97,58,66,97,109,97,107,111,0,65,102,114,105,99,97,58,66,97,110,103,117,105,0,65,102,114,105,99,97,58,66,97,110,106,117,108,0,65,102,114,105,99,97,58,66,105,115,115,97,117,0,65,102,114,105,99,97,58,66,108,97,110,116,121,114,101,0,65,102,114,105,99,97,58,66,114,97,122,122,97,118,105,108,108,101,0,65,102,114,105,99,97,58,66,117,106,117,109,98,117,114,97,0,65,102,114,105,99,97,58,67,97,105,114,111,0,65,102,114,105,99,97,58,67,97,115,97,98,108,97,110,99,97,0,65,102,114,105,99,97,58,67,101,117,116,97,0,65,102,114,105,99,97,58,67,111,110,97,107,114,121,0,65,102,114,105,99,97,58,68,97,107,97,114,0,65,102,114,105,99,97,58,68,97,114,95,101,115,95,83,97,108,97,97,109,0,65,102,114,105,99,97,58,68,106,105,98,111,117,116,105,0,65,102,114,105,99,97,58,68,111,117,97,108,97,0,65,102,114,105,99,97,58,69,108,95,65,97,105,117,110,0,65,102,114,105,99,97,58,70,114,101,101,116,111,119,110,0,65,102,114,105,99,97,58,71,97,98,111,114,111,110,101,0,65,102,114,105,99,97,58,72,97,114,97,114,101,0,65,102,114,105,99,97,58,74,111,104,97,110,110,101,115,98,117,114,103,0,65,102,114,105,99,97,58,74,117,98,97,0,65,102,114,105,99,97,58,75,97,109,112,97,108,97,0,65,102,114,105,99,97,58,75,104,97,114,116,111,117,109,0,65,102,114,105,99,97,58,75,105,103,97,108,105,0,65,102,114,105,99,97,58,75,105,110,115,104,97,115,97,0,65,102,114,105,99,97,58,76,97,103,111,115,0,65,102,114,105,99,97,58,76,105,98,114,101,118,105,108,108,101,0,65,102,114,105,99,97,58,76,111,109,101,0,65,102,114,105,99,97,58,76,117,97,110,100,97,0,65,102,114,105,99,97,58,76,117,98,117,109,98,97,115,104,105,0,65,102,114,105,99,97,58,76,117,115,97,107,97,0,65,102,114,105,99,97,58,77,97,108,97,98,111,0,65,102,114,105,99,97,58,77,97,112,117,116,111,0,65,102,114,105,99,97,58,77,97,115,101,114,117,0,65,102,114,105,99,97,58,77,98,97,98,97,110,101,0,65,102,114,105,99,97,58,77,111,103,97,100,105,115,104,117,0,65,102,114,105,99,97,58,77,111,110,114,111,118,105,97,0,65,102,114,105,99,97,58,78,97,105,114,111,98,105,0,65,102,114,105,99,97,58,78,100,106,97,109,101,110,97,0,65,102,114,105,99,97,58,78,105,97,109,101,121,0,65,102,114,105,99,97,58,78,111,117,97,107,99,104,111,116,116,0,65,102,114,105,99,97,58,79,117,97,103,97,100,111,117,103,111,117,0,65,102,114,105,99,97,58,80,111,114,116,111,45,78,111,118,111,0,65,102,114,105,99,97,58,83,97,111,95,84,111,109,101,0,65,102,114,105,99,97,58,84,114,105,112,111,108,105,0,65,102,114,105,99,97,58,84,117,110,105,115,0,65,102,114,105,99,97,58,87,105,110,100,104,111,101,107,0,65,109,101,114,105,99,97,58,65,100,97,107,0,65,109,101,114,105,99,97,58,65,110,99,104,111,114,97,103,101,0,65,109,101,114,105,99,97,58,65,110,103,117,105,108,108,97,0,65,109,101,114,105,99,97,58,65,110,116,105,103,117,97,0,65,109,101,114,105,99,97,58,65,114,97,103,117,97,105,110,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,76,97,95,82,105,111,106,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,82,105,111,95,71,97,108,108,101,103,111,115,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,108,116,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,110,95,74,117,97,110,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,110,95,76,117,105,115,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,84,117,99,117,109,97,110,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,85,115,104,117,97,105,97,0,65,109,101,114,105,99,97,58,65,114,117,98,97,0,65,109,101,114,105,99,97,58,65,115,117,110,99,105,111,110,0,65,109,101,114,105,99,97,58,66,97,104,105,97,0,65,109,101,114,105,99,97,58,66,97,104,105,97,95,66,97,110,100,101,114,97,115,0,65,109,101,114,105,99,97,58,66,97,114,98,97,100,111,115,0,65,109,101,114,105,99,97,58,66,101,108,101,109,0,65,109,101,114,105,99,97,58,66,101,108,105,122,101,0,65,109,101,114,105,99,97,58,66,108,97,110,99,45,83,97,98,108,111,110,0,65,109,101,114,105,99,97,58,66,111,97,95,86,105,115,116,97,0,65,109,101,114,105,99,97,58,66,111,103,111,116,97,0,65,109,101,114,105,99,97,58,66,111,105,115,101,0,65,109,101,114,105,99,97,58,66,117,101,110,111,115,95,65,105,114,101,115,0,65,109,101,114,105,99,97,58,67,97,109,98,114,105,100,103,101,95,66,97,121,0,65,109,101,114,105,99,97,58,67,97,109,112,111,95,71,114,97,110,100,101,0,65,109,101,114,105,99,97,58,67,97,110,99,117,110,0,65,109,101,114,105,99,97,58,67,97,114,97,99,97,115,0,65,109,101,114,105,99,97,58,67,97,116,97,109,97,114,99,97,0,65,109,101,114,105,99,97,58,67,97,121,101,110,110,101,0,65,109,101,114,105,99,97,58,67,97,121,109,97,110,0,65,109,101,114,105,99,97,58,67,104,105,99,97,103,111,0,65,109,101,114,105,99,97,58,67,104,105,104,117,97,104,117,97,0,65,109,101,114,105,99,97,58,67,105,117,100,97,100,95,74,117,97,114,101,122,0,65,109,101,114,105,99,97,58,67,111,114,97,108,95,72,97,114,98,111,117,114,0,65,109,101,114,105,99,97,58,67,111,114,100,111,98,97,0,65,109,101,114,105,99,97,58,67,111,115,116,97,95,82,105,99,97,0,65,109,101,114,105,99,97,58,67,114,101,115,116,111,110,0,65,109,101,114,105,99,97,58,67,117,105,97,98,97,0,65,109,101,114,105,99,97,58,67,117,114,97,99,97,111,0,65,109,101,114,105,99,97,58,68,97,110,109,97,114,107,115,104,97,118,110,0,65,109,101,114,105,99,97,58,68,97,119,115,111,110,0,65,109,101,114,105,99,97,58,68,97,119,115,111,110,95,67,114,101,101,107,0,65,109,101,114,105,99,97,58,68,101,110,118,101,114,0,65,109,101,114,105,99,97,58,68,101,116,114,111,105,116,0,65,109,101,114,105,99,97,58,68,111,109,105,110,105,99,97,0,65,109,101,114,105,99,97,58,69,100,109,111,110,116,111,110,0,65,109,101,114,105,99,97,58,69,105,114,117,110,101,112,101,0,65,109,101,114,105,99,97,58,69,108,95,83,97,108,118,97,100,111,114,0,65,109,101,114,105,99,97,58,70,111,114,116,95,78,101,108,115,111,110,0,65,109,101,114,105,99,97,58,70,111,114,116,97,108,101,122,97,0,65,109,101,114,105,99,97,58,71,108,97,99,101,95,66,97,121,0,65,109,101,114,105,99,97,58,71,111,100,116,104,97,98,0,65,109,101,114,105,99,97,58,71,111,111,115,101,95,66,97,121,0,65,109,101,114,105,99,97,58,71,114,97,110,100,95,84,117,114,107,0,65,109,101,114,105,99,97,58,71,114,101,110,97,100,97,0,65,109,101,114,105,99,97,58,71,117,97,100,101,108,111,117,112,101,0,65,109,101,114,105,99,97,58,71,117,97,116,101,109,97,108,97,0,65,109,101,114,105,99,97,58,71,117,97,121,97,113,117,105,108,0,65,109,101,114,105,99,97,58,71,117,121,97,110,97,0,65,109,101,114,105,99,97,58,72,97,108,105,102,97,120,0,65,109,101,114,105,99,97,58,72,97,118,97,110,97,0,65,109,101,114,105,99,97,58,72,101,114,109,111,115,105,108,108,111,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,75,110,111,120,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,77,97,114,101,110,103,111,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,80,101,116,101,114,115,98,117,114,103,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,84,101,108,108,95,67,105,116,121,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,86,101,118,97,121,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,86,105,110,99,101,110,110,101,115,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,87,105,110,97,109,97,99,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,112,111,108,105,115,0,65,109,101,114,105,99,97,58,73,110,117,118,105,107,0,65,109,101,114,105,99,97,58,73,113,97,108,117,105,116,0,65,109,101,114,105,99,97,58,74,97,109,97,105,99,97,0,65,109,101,114,105,99,97,58,74,117,106,117,121,0,65,109,101,114,105,99,97,58,74,117,110,101,97,117,0,65,109,101,114,105,99,97,58,75,101,110,116,117,99,107,121,58,77,111,110,116,105,99,101,108,108,111,0,65,109,101,114,105,99,97,58,75,114,97,108,101,110,100,105,106,107,0,65,109,101,114,105,99,97,58,76,97,95,80,97,122,0,65,109,101,114,105,99,97,58,76,105,109,97,0,65,109,101,114,105,99,97,58,76,111,115,95,65,110,103,101,108,101,115,0,65,109,101,114,105,99,97,58,76,111,117,105,115,118,105,108,108,101,0,65,109,101,114,105,99,97,58,76,111,119,101,114,95,80,114,105,110,99,101,115,0,65,109,101,114,105,99,97,58,77,97,99,101,105,111,0,65,109,101,114,105,99,97,58,77,97,110,97,103,117,97,0,65,109,101,114,105,99,97,58,77,97,110,97,117,115,0,65,109,101,114,105,99,97,58,77,97,114,105,103,111,116,0,65,109,101,114,105,99,97,58,77,97,114,116,105,110,105,113,117,101,0,65,109,101,114,105,99,97,58,77,97,116,97,109,111,114,111,115,0,65,109,101,114,105,99,97,58,77,97,122,97,116,108,97,110,0,65,109,101,114,105,99,97,58,77,101,110,100,111,122,97,0,65,109,101,114,105,99,97,58,77,101,110,111,109,105,110,101,101,0,65,109,101,114,105,99,97,58,77,101,114,105,100,97,0,65,109,101,114,105,99,97,58,77,101,116,108,97,107,97,116,108,97,0,65,109,101,114,105,99,97,58,77,101,120,105,99,111,95,67,105,116,121,0,65,109,101,114,105,99,97,58,77,105,113,117,101,108,111,110,0,65,109,101,114,105,99,97,58,77,111,110,99,116,111,110,0,65,109,101,114,105,99,97,58,77,111,110,116,101,114,114,101,121,0,65,109,101,114,105,99,97,58,77,111,110,116,101,118,105,100,101,111,0,65,109,101,114,105,99,97,58,77,111,110,116,115,101,114,114,97,116,0,65,109,101,114,105,99,97,58,78,97,115,115,97,117,0,65,109,101,114,105,99,97,58,78,101,119,95,89,111,114,107,0,65,109,101,114,105,99,97,58,78,105,112,105,103,111,110,0,65,109,101,114,105,99,97,58,78,111,109,101,0,65,109,101,114,105,99,97,58,78,111,114,111,110,104,97,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,66,101,117,108,97,104,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,67,101,110,116,101,114,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,78,101,119,95,83,97,108,101,109,0,65,109,101,114,105,99,97,58,79,106,105,110,97,103,97,0,65,109,101,114,105,99,97,58,80,97,110,97,109,97,0,65,109,101,114,105,99,97,58,80,97,110,103,110,105,114,116,117,110,103,0,65,109,101,114,105,99,97,58,80,97,114,97,109,97,114,105,98,111,0,65,109,101,114,105,99,97,58,80,104,111,101,110,105,120,0,65,109,101,114,105,99,97,58,80,111,114,116,45,97,117,45,80,114,105,110,99,101,0,65,109,101,114,105,99,97,58,80,111,114,116,95,111,102,95,83,112,97,105,110,0,65,109,101,114,105,99,97,58,80,111,114,116,111,95,86,101,108,104,111,0,65,109,101,114,105,99,97,58,80,117,101,114,116,111,95,82,105,99,111,0,65,109,101,114,105,99,97,58,80,117,110,116,97,95,65,114,101,110,97,115,0,65,109,101,114,105,99,97,58,82,97,105,110,121,95,82,105,118,101,114,0,65,109,101,114,105,99,97,58,82,97,110,107,105,110,95,73,110,108,101,116,0,65,109,101,114,105,99,97,58,82,101,99,105,102,101,0,65,109,101,114,105,99,97,58,82,101,103,105,110,97,0,65,109,101,114,105,99,97,58,82,101,115,111,108,117,116,101,0,65,109,101,114,105,99,97,58,82,105,111,95,66,114,97,110,99,111,0,65,109,101,114,105,99,97,58,83,97,110,116,97,95,73,115,97,98,101,108,0,65,109,101,114,105,99,97,58,83,97,110,116,97,114,101,109,0,65,109,101,114,105,99,97,58,83,97,110,116,105,97,103,111,0,65,109,101,114,105,99,97,58,83,97,110,116,111,95,68,111,109,105,110,103,111,0,65,109,101,114,105,99,97,58,83,97,111,95,80,97,117,108,111,0,65,109,101,114,105,99,97,58,83,99,111,114,101,115,98,121,115,117,110,100,0,65,109,101,114,105,99,97,58,83,105,116,107,97,0,65,109,101,114,105,99,97,58,83,116,95,66,97,114,116,104,101,108,101,109,121,0,65,109,101,114,105,99,97,58,83,116,95,74,111,104,110,115,0,65,109,101,114,105,99,97,58,83,116,95,75,105,116,116,115,0,65,109,101,114,105,99,97,58,83,116,95,76,117,99,105,97,0,65,109,101,114,105,99,97,58,83,116,95,84,104,111,109,97,115,0,65,109,101,114,105,99,97,58,83,116,95,86,105,110,99,101,110,116,0,65,109,101,114,105,99,97,58,83,119,105,102,116,95,67,117,114,114,101,110,116,0,65,109,101,114,105,99,97,58,84,101,103,117,99,105,103,97,108,112,97,0,65,109,101,114,105,99,97,58,84,104,117,108,101,0,65,109,101,114,105,99,97,58,84,104,117,110,100,101,114,95,66,97,121,0,65,109,101,114,105,99,97,58,84,105,106,117,97,110,97,0,65,109,101,114,105,99,97,58,84,111,114,111,110,116,111,0,65,109,101,114,105,99,97,58,84,111,114,116,111,108,97,0,65,109,101,114,105,99,97,58,86,97,110,99,111,117,118,101,114,0,65,109,101,114,105,99,97,58,87,104,105,116,101,104,111,114,115,101,0,65,109,101,114,105,99,97,58,87,105,110,110,105,112,101,103,0,65,109,101,114,105,99,97,58,89,97,107,117,116,97,116,0,65,109,101,114,105,99,97,58,89,101,108,108,111,119,107,110,105,102,101,0,65,110,116,97,114,99,116,105,99,97,58,67,97,115,101,121,0,65,110,116,97,114,99,116,105,99,97,58,68,97,118,105,115,0,65,110,116,97,114,99,116,105,99,97,58,68,117,109,111,110,116,68,85,114,118,105,108,108,101,0,65,110,116,97,114,99,116,105,99,97,58,77,97,99,113,117,97,114,105,101,0,65,110,116,97,114,99,116,105,99,97,58,77,97,119,115,111,110,0,65,110,116,97,114,99,116,105,99,97,58,77,99,77,117,114,100,111,0,65,110,116,97,114,99,116,105,99,97,58,80,97,108,109,101,114,0,65,110,116,97,114,99,116,105,99,97,58,82,111,116,104,101,114,97,0,65,110,116,97,114,99,116,105,99,97,58,83,121,111,119,97,0,65,110,116,97,114,99,116,105,99,97,58,84,114,111,108,108,0,65,110,116,97,114,99,116,105,99,97,58,86,111,115,116,111,107,0,65,114,99,116,105,99,58,76,111,110,103,121,101,97,114,98,121,101,110,0,65,115,105,97,58,65,100,101,110,0,65,115,105,97,58,65,108,109,97,116,121,0,65,115,105,97,58,65,109,109,97,110,0,65,115,105,97,58,65,110,97,100,121,114,0,65,115,105,97,58,65,113,116,97,117,0,65,115,105,97,58,65,113,116,111,98,101,0,65,115,105,97,58,65,115,104,103,97,98,97,116,0,65,115,105,97,58,65,116,121,114,97,117,0,65,115,105,97,58,66,97,103,104,100,97,100,0,65,115,105,97,58,66,97,104,114,97,105,110,0,65,115,105,97,58,66,97,107,117,0,65,115,105,97,58,66,97,110,103,107,111,107,0,65,115,105,97,58,66,101,105,114,117,116,0,65,115,105,97,58,66,105,115,104,107,101,107,0,65,115,105,97,58,66,114,117,110,101,105,0,65,115,105,97,58,67,97,108,99,117,116,116,97,0,65,115,105,97,58,67,104,105,116,97,0,65,115,105,97,58,67,104,111,105,98,97,108,115,97,110,0,65,115,105,97,58,67,111,108,111,109,98,111,0,65,115,105,97,58,68,97,109,97,115,99,117,115,0,65,115,105,97,58,68,104,97,107,97,0,65,115,105,97,58,68,105,108,105,0,65,115,105,97,58,68,117,98,97,105,0,65,115,105,97,58,68,117,115,104,97,110,98,101,0,65,115,105,97,58,70,97,109,97,103,117,115,116,97,0,65,115,105,97,58,71,97,122,97,0,65,115,105,97,58,72,101,98,114,111,110,0,65,115,105,97,58,72,111,110,103,95,75,111,110,103,0,65,115,105,97,58,72,111,118,100,0,65,115,105,97,58,73,114,107,117,116,115,107,0,65,115,105,97,58,74,97,107,97,114,116,97,0,65,115,105,97,58,74,97,121,97,112,117,114,97,0,65,115,105,97,58,74,101,114,117,115,97,108,101,109,0,65,115,105,97,58,75,97,98,117,108,0,65,115,105,97,58,75,97,109,99,104,97,116,107,97,0,65,115,105,97,58,75,97,114,97,99,104,105,0,65,115,105,97,58,75,97,116,109,97,110,100,117,0,65,115,105,97,58,75,104,97,110,100,121,103,97,0,65,115,105,97,58,75,114,97,115,110,111,121,97,114,115,107,0,65,115,105,97,58,75,117,97,108,97,95,76,117,109,112,117,114,0,65,115,105,97,58,75,117,99,104,105,110,103,0,65,115,105,97,58,75,117,119,97,105,116,0,65,115,105,97,58,77,97,99,97,117,0,65,115,105,97,58,77,97,103,97,100,97,110,0,65,115,105,97,58,77,97,107,97,115,115,97,114,0,65,115,105,97,58,77,97,110,105,108,97,0,65,115,105,97,58,77,117,115,99,97,116,0,65,115,105,97,58,78,105,99,111,115,105,97,0,65,115,105,97,58,78,111,118,111,107,117,122,110,101,116,115,107,0,65,115,105,97,58,78,111,118,111,115,105,98,105,114,115,107,0,65,115,105,97,58,79,109,115,107,0,65,115,105,97,58,79,114,97,108,0,65,115,105,97,58,80,104,110,111,109,95,80,101,110,104,0,65,115,105,97,58,80,111,110,116,105,97,110,97,107,0,65,115,105,97,58,80,121,111,110,103,121,97,110,103,0,65,115,105,97,58,81,97,116,97,114,0,65,115,105,97,58,81,111,115,116,97,110,97,121,0,65,115,105,97,58,81,121,122,121,108,111,114,100,97,0,65,115,105,97,58,82,97,110,103,111,111,110,0,65,115,105,97,58,82,105,121,97,100,104,0,65,115,105,97,58,83,97,105,103,111,110,0,65,115,105,97,58,83,97,107,104,97,108,105,110,0,65,115,105,97,58,83,97,109,97,114,107,97,110,100,0,65,115,105,97,58,83,101,111,117,108,0,65,115,105,97,58,83,104,97,110,103,104,97,105,0,65,115,105,97,58,83,105,110,103,97,112,111,114,101,0,65,115,105,97,58,83,114,101,100,110,101,107,111,108,121,109,115,107,0,65,115,105,97,58,84,97,105,112,101,105,0,65,115,105,97,58,84,97,115,104,107,101,110,116,0,65,115,105,97,58,84,98,105,108,105,115,105,0,65,115,105,97,58,84,101,104,114,97,110,0,65,115,105,97,58,84,104,105,109,112,104,117,0,65,115,105,97,58,84,111,107,121,111,0,65,115,105,97,58,85,108,97,97,110,98,97,97,116,97,114,0,65,115,105,97,58,85,114,117,109,113,105,0,65,115,105,97,58,85,115,116,45,78,101,114,97,0,65,115,105,97,58,86,105,101,110,116,105,97,110,101,0,65,115,105,97,58,86,108,97,100,105,118,111,115,116,111,107,0,65,115,105,97,58,89,97,107,117,116,115,107,0,65,115,105,97,58,89,101,107,97,116,101,114,105,110,98,117,114,103,0,65,115,105,97,58,89,101,114,101,118,97,110,0,65,116,108,97,110,116,105,99,58,65,122,111,114,101,115,0,65,116,108,97,110,116,105,99,58,66,101,114,109,117,100,97,0,65,116,108,97,110,116,105,99,58,67,97,110,97,114,121,0,65,116,108,97,110,116,105,99,58,67,97,112,101,95,86,101,114,100,101,0,65,116,108,97,110,116,105,99,58,70,97,101,114,111,101,0,65,116,108,97,110,116,105,99,58,77,97,100,101,105,114,97,0,65,116,108,97,110,116,105,99,58,82,101,121,107,106,97,118,105,107,0,65,116,108,97,110,116,105,99,58,83,111,117,116,104,95,71,101,111,114,103,105,97,0,65,116,108,97,110,116,105,99,58,83,116,95,72,101,108,101,110,97,0,65,116,108,97,110,116,105,99,58,83,116,97,110,108,101,121,0,65,117,115,116,114,97,108,105,97,58,65,100,101,108,97,105,100,101,0,65,117,115,116,114,97,108,105,97,58,66,114,105,115,98,97,110,101,0,65,117,115,116,114,97,108,105,97,58,66,114,111,107,101,110,95,72,105,108,108,0,65,117,115,116,114,97,108,105,97,58,67,117,114,114,105,101,0,65,117,115,116,114,97,108,105,97,58,68,97,114,119,105,110,0,65,117,115,116,114,97,108,105,97,58,69,117,99,108,97,0,65,117,115,116,114,97,108,105,97,58,72,111,98,97,114,116,0,65,117,115,116,114,97,108,105,97,58,76,105,110,100,101,109,97,110,0,65,117,115,116,114,97,108,105,97,58,76,111,114,100,95,72,111,119,101,0,65,117,115,116,114,97,108,105,97,58,77,101,108,98,111,117,114,110,101,0,65,117,115,116,114,97,108,105,97,58,80,101,114,116,104,0,65,117,115,116,114,97,108,105,97,58,83,121,100,110,101,121,0,67,83,84,54,67,68,84,0,69,83,84,53,69,68,84,0,69,116,99,58,71,77,84,0,69,117,114,111,112,101,58,65,109,115,116,101,114,100,97,109,0,69,117,114,111,112,101,58,65,110,100,111,114,114,97,0,69,117,114,111,112,101,58,65,115,116,114,97,107,104,97,110,0,69,117,114,111,112,101,58,65,116,104,101,110,115,0,69,117,114,111,112,101,58,66,101,108,103,114,97,100,101,0,69,117,114,111,112,101,58,66,101,114,108,105,110,0,69,117,114,111,112,101,58,66,114,97,116,105,115,108,97,118,97,0,69,117,114,111,112,101,58,66,114,117,115,115,101,108,115,0,69,117,114,111,112,101,58,66,117,99,104,97,114,101,115,116,0,69,117,114,111,112,101,58,66,117,100,97,112,101,115,116,0,69,117,114,111,112,101,58,66,117,115,105,110,103,101,110,0,69,117,114,111,112,101,58,67,104,105,115,105,110,97,117,0,69,117,114,111,112,101,58,67,111,112,101,110,104,97,103,101,110,0,69,117,114,111,112,101,58,68,117,98,108,105,110,0,69,117,114,111,112,101,58,71,105,98,114,97,108,116,97,114,0,69,117,114,111,112,101,58,71,117,101,114,110,115,101,121,0,69,117,114,111,112,101,58,72,101,108,115,105,110,107,105,0,69,117,114,111,112,101,58,73,115,108,101,95,111,102,95,77,97,110,0,69,117,114,111,112,101,58,73,115,116,97,110,98,117,108,0,69,117,114,111,112,101,58,74,101,114,115,101,121,0,69,117,114,111,112,101,58,75,97,108,105,110,105,110,103,114,97,100,0,69,117,114,111,112,101,58,75,105,101,118,0,69,117,114,111,112,101,58,76,105,115,98,111,110,0,69,117,114,111,112,101,58,76,106,117,98,108,106,97,110,97,0,69,117,114,111,112,101,58,76,111,110,100,111,110,0,69,117,114,111,112,101,58,76,117,120,101,109,98,111,117,114,103,0,69,117,114,111,112,101,58,77,97,100,114,105,100,0,69,117,114,111,112,101,58,77,97,108,116,97,0,69,117,114,111,112,101,58,77,97,114,105,101,104,97,109,110,0,69,117,114,111,112,101,58,77,105,110,115,107,0,69,117,114,111,112,101,58,77,111,110,97,99,111,0,69,117,114,111,112,101,58,77,111,115,99,111,119,0,69,117,114,111,112,101,58,79,115,108,111,0,69,117,114,111,112,101,58,80,97,114,105,115,0,69,117,114,111,112,101,58,80,111,100,103,111,114,105,99,97,0,69,117,114,111,112,101,58,80,114,97,103,117,101,0,69,117,114,111,112,101,58,82,105,103,97,0,69,117,114,111,112,101,58,82,111,109,101,0,69,117,114,111,112,101,58,83,97,109,97,114,97,0,69,117,114,111,112,101,58,83,97,110,95,77,97,114,105,110,111,0,69,117,114,111,112,101,58,83,97,114,97,106,101,118,111,0,69,117,114,111,112,101,58,83,97,114,97,116,111,118,0,69,117,114,111,112,101,58,83,105,109,102,101,114,111,112,111,108,0,69,117,114,111,112,101,58,83,107,111,112,106,101,0,69,117,114,111,112,101,58,83,111,102,105,97,0,69,117,114,111,112,101,58,83,116,111,99,107,104,111,108,109,0,69,117,114,111,112,101,58,84,97,108,108,105,110,110,0,69,117,114,111,112,101,58,84,105,114,97,110,101,0,69,117,114,111,112,101,58,85,108,121,97,110,111,118,115,107,0,69,117,114,111,112,101,58,85,122,104,103,111,114,111,100,0,69,117,114,111,112,101,58,86,97,100,117,122,0,69,117,114,111,112,101,58,86,97,116,105,99,97,110,0,69,117,114,111,112,101,58,86,105,101,110,110,97,0,69,117,114,111,112,101,58,86,105,108,110,105,117,115,0,69,117,114,111,112,101,58,86,111,108,103,111,103,114,97,100,0,69,117,114,111,112,101,58,87,97,114,115,97,119,0,69,117,114,111,112,101,58,90,97,103,114,101,98,0,69,117,114,111,112,101,58,90,97,112,111,114,111,122,104,121,101,0,69,117,114,111,112,101,58,90,117,114,105,99,104,0,73,110,100,105,97,110,58,65,110,116,97,110,97,110,97,114,105,118,111,0,73,110,100,105,97,110,58,67,104,97,103,111,115,0,73,110,100,105,97,110,58,67,104,114,105,115,116,109,97,115,0,73,110,100,105,97,110,58,67,111,99,111,115,0,73,110,100,105,97,110,58,67,111,109,111,114,111,0,73,110,100,105,97,110,58,75,101,114,103,117,101,108,101,110,0,73,110,100,105,97,110,58,77,97,104,101,0,73,110,100,105,97,110,58,77,97,108,100,105,118,101,115,0,73,110,100,105,97,110,58,77,97,117,114,105,116,105,117,115,0,73,110,100,105,97,110,58,77,97,121,111,116,116,101,0,73,110,100,105,97,110,58,82,101,117,110,105,111,110,0,77,83,84,55,77,68,84,0,80,83,84,56,80,68,84,0,80,97,99,105,102,105,99,58,65,112,105,97,0,80,97,99,105,102,105,99,58,65,117,99,107,108,97,110,100,0,80,97,99,105,102,105,99,58,66,111,117,103,97,105,110,118,105,108,108,101,0,80,97,99,105,102,105,99,58,67,104,97,116,104,97,109,0,80,97,99,105,102,105,99,58,69,97,115,116,101,114,0,80,97,99,105,102,105,99,58,69,102,97,116,101,0,80,97,99,105,102,105,99,58,69,110,100,101,114,98,117,114,121,0,80,97,99,105,102,105,99,58,70,97,107,97,111,102,111,0,80,97,99,105,102,105,99,58,70,105,106,105,0,80,97,99,105,102,105,99,58,70,117,110,97,102,117,116,105,0,80,97,99,105,102,105,99,58,71,97,108,97,112,97,103,111,115,0,80,97,99,105,102,105,99,58,71,97,109,98,105,101,114,0,80,97,99,105,102,105,99,58,71,117,97,100,97,108,99,97,110,97,108,0,80,97,99,105,102,105,99,58,71,117,97,109,0,80,97,99,105,102,105,99,58,72,111,110,111,108,117,108,117,0,80,97,99,105,102,105,99,58,74,111,104,110,115,116,111,110,0,80,97,99,105,102,105,99,58,75,105,114,105,116,105,109,97,116,105,0,80,97,99,105,102,105,99,58,75,111,115,114,97,101,0,80,97,99,105,102,105,99,58,75,119,97,106,97,108,101,105,110,0,80,97,99,105,102,105,99,58,77,97,106,117,114,111,0,80,97,99,105,102,105,99,58,77,97,114,113,117,101,115,97,115,0,80,97,99,105,102,105,99,58,77,105,100,119,97,121,0,80,97,99,105,102,105,99,58,78,97,117,114,117,0,80,97,99,105,102,105,99,58,78,105,117,101,0,80,97,99,105,102,105,99,58,78,111,114,102,111,108,107,0,80,97,99,105,102,105,99,58,78,111,117,109,101,97,0,80,97,99,105,102,105,99,58,80,97,103,111,95,80,97,103,111,0,80,97,99,105,102,105,99,58,80,97,108,97,117,0,80,97,99,105,102,105,99,58,80,105,116,99,97,105,114,110,0,80,97,99,105,102,105,99,58,80,111,110,97,112,101,0,80,97,99,105,102,105,99,58,80,111,114,116,95,77,111,114,101,115,98,121,0,80,97,99,105,102,105,99,58,82,97,114,111,116,111,110,103,97,0,80,97,99,105,102,105,99,58,83,97,105,112,97,110,0,80,97,99,105,102,105,99,58,84,97,104,105,116,105,0,80,97,99,105,102,105,99,58,84,97,114,97,119,97,0,80,97,99,105,102,105,99,58,84,111,110,103,97,116,97,112,117,0,80,97,99,105,102,105,99,58,84,114,117,107,0,80,97,99,105,102,105,99,58,87,97,107,101,0,80,97,99,105,102,105,99,58,87,97,108,108,105,115,0,112,114,105,109,97,114,121,90,111,110,101,115,0,67,76,0,67,78,0,69,67,0,77,72,0,77,89,0,78,90,0,80,84,0,85,65,0,85,90,0,170,170,170,0,0,71,0,77,0,84,0,0,0,65,0,99,0,114,0,101,0,0,0,71,0,117,0,108,0,102,0,0,0,67,0,111,0,111,0,107,0,0,0,67,0,117,0,98,0,97,0,0,0,73,0,114,0,97,0,110,0,0,0,80,0,101,0,114,0,117,0,0,0,73,0,110,0,100,0,105,0,97,0,0,0,67,0,104,0,105,0,108,0,101,0,0,0,75,0,111,0,114,0,101,0,97,0,0,0,67,0,104,0,105,0,110,0,97,0,0,0,83,0,97,0,109,0,111,0,97,0,0,0,89,0,117,0,107,0,111,0,110,0,0,0,74,0,97,0,112,0,97,0,110,0,0,0,76,0,97,0,110,0,107,0,97,0,0,0,78,0,101,0,112,0,97,0,108,0,0,0,84,0,111,0,110,0,103,0,97,0,0,0,68,0,97,0,99,0,99,0,97,0,0,0,73,0,114,0,105,0,115,0,104,0,0,0,65,0,109,0,97,0,122,0,111,0,110,0,0,0,65,0,108,0,97,0,115,0,107,0,97,0,0,0,66,0,101,0,114,0,105,0,110,0,103,0,0,0,73,0,115,0,114,0,97,0,101,0,108,0,0,0,66,0,104,0,117,0,116,0,97,0,110,0,0,0,84,0,117,0,114,0,107,0,101,0,121,0,0,0,84,0,117,0,118,0,97,0,108,0,117,0,0,0,66,0,111,0,114,0,110,0,101,0,111,0,0,0,70,0,114,0,117,0,110,0,122,0,101,0,0,0,77,0,97,0,108,0,97,0,121,0,97,0,0,0,85,0,114,0,97,0,108,0,115,0,107,0,0,0,65,0,114,0,97,0,98,0,105,0,97,0,110,0,0,0,66,0,114,0,105,0,116,0,105,0,115,0,104,0,0,0,69,0,99,0,117,0,97,0,100,0,111,0,114,0,0,0,65,0,114,0,109,0,101,0,110,0,105,0,97,0,0,0,66,0,111,0,108,0,105,0,118,0,105,0,97,0,0,0,77,0,121,0,97,0,110,0,109,0,97,0,114,0,0,0,83,0,111,0,108,0,111,0,109,0,111,0,110,0,0,0,84,0,111,0,107,0,101,0,108,0,97,0,117,0,0,0,85,0,114,0,117,0,103,0,117,0,97,0,121,0,0,0,86,0,97,0,110,0,117,0,97,0,116,0,117,0,0,0,76,0,105,0,98,0,101,0,114,0,105,0,97,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,0,0,66,0,114,0,97,0,115,0,105,0,108,0,105,0,97,0,0,0,77,0,111,0,110,0,103,0,111,0,108,0,105,0,97,0,0,0,67,0,104,0,97,0,109,0,111,0,114,0,114,0,111,0,0,0,77,0,97,0,108,0,97,0,121,0,115,0,105,0,97,0,0,0,67,0,111,0,108,0,111,0,109,0,98,0,105,0,97,0,0,0,70,0,97,0,108,0,107,0,108,0,97,0,110,0,100,0,0,0,80,0,97,0,107,0,105,0,115,0,116,0,97,0,110,0,0,0,80,0,97,0,114,0,97,0,103,0,117,0,97,0,121,0,0,0,83,0,117,0,114,0,105,0,110,0,97,0,109,0,101,0,0,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,0,0,73,0,110,0,100,0,111,0,99,0,104,0,105,0,110,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,107,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,79,0,114,0,97,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,118,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,79,0,109,0,115,0,107,0,0,0,75,0,121,0,114,0,103,0,121,0,115,0,116,0,97,0,110,0,0,0,86,0,101,0,110,0,101,0,122,0,117,0,101,0,108,0,97,0,0,0,65,0,115,0,104,0,107,0,104,0,97,0,98,0,97,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,100,0,101,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,105,0,108,0,105,0,0,0,68,0,111,0,109,0,105,0,110,0,105,0,99,0,97,0,110,0,0,0,75,0,105,0,122,0,105,0,108,0,111,0,114,0,100,0,97,0,0,0,75,0,117,0,121,0,98,0,121,0,115,0,104,0,101,0,118,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,97,0,117,0,0,0,69,0,97,0,115,0,116,0,95,0,84,0,105,0,109,0,111,0,114,0,0,0,85,0,122,0,98,0,101,0,107,0,105,0,115,0,116,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,99,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,104,0,97,0,107,0,97,0,0,0,65,0,122,0,101,0,114,0,98,0,97,0,105,0,106,0,97,0,110,0,0,0,66,0,97,0,110,0,103,0,108,0,97,0,100,0,101,0,115,0,104,0,0,0,83,0,101,0,121,0,99,0,104,0,101,0,108,0,108,0,101,0,115,0,0,0,84,0,97,0,106,0,105,0,107,0,105,0,115,0,116,0,97,0,110,0,0,0,65,0,107,0,116,0,121,0,117,0,98,0,105,0,110,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,98,0,97,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,98,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,97,0,116,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,101,0,111,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,107,0,121,0,111,0,0,0,83,0,104,0,101,0,118,0,99,0,104,0,101,0,110,0,107,0,111,0,0,0,83,0,118,0,101,0,114,0,100,0,108,0,111,0,118,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,111,0,98,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,108,0,109,0,97,0,116,0,121,0,0,0,78,0,101,0,119,0,95,0,90,0,101,0,97,0,108,0,97,0,110,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,110,0,97,0,100,0,121,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,114,0,117,0,110,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,105,0,112,0,101,0,105,0,0,0,65,0,102,0,103,0,104,0,97,0,110,0,105,0,115,0,116,0,97,0,110,0,0,0,80,0,104,0,105,0,108,0,105,0,112,0,112,0,105,0,110,0,101,0,115,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,114,0,117,0,109,0,113,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,109,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,101,0,105,0,114,0,117,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,119,0,97,0,105,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,110,0,105,0,108,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,117,0,115,0,99,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,105,0,121,0,97,0,100,0,104,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,101,0,104,0,114,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,101,0,118,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,79,0,115,0,108,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,82,0,111,0,109,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,104,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,103,0,97,0,100,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,73,0,114,0,107,0,117,0,116,0,115,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,109,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,114,0,97,0,99,0,104,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,98,0,105,0,108,0,105,0,115,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,114,0,101,0,118,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,105,0,115,0,104,0,107,0,101,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,111,0,108,0,111,0,109,0,98,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,99,0,104,0,105,0,110,0,103,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,95,0,79,0,99,0,101,0,97,0,110,0,0,0,76,0,105,0,110,0,101,0,95,0,73,0,115,0,108,0,97,0,110,0,100,0,115,0,0,0,78,0,101,0,119,0,102,0,111,0,117,0,110,0,100,0,108,0,97,0,110,0,100,0,0,0,84,0,117,0,114,0,107,0,109,0,101,0,110,0,105,0,115,0,116,0,97,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,99,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,112,0,105,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,105,0,106,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,105,0,117,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,114,0,117,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,107,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,99,0,99,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,105,0,114,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,107,0,97,0,114,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,103,0,111,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,117,0,110,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,97,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,109,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,103,0,104,0,100,0,97,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,104,0,114,0,97,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,110,0,103,0,107,0,111,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,107,0,97,0,114,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,105,0,99,0,111,0,115,0,105,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,97,0,110,0,103,0,111,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,104,0,105,0,109,0,112,0,104,0,117,0,0,0,68,0,117,0,116,0,99,0,104,0,95,0,71,0,117,0,105,0,97,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,108,0,116,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,105,0,110,0,115,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,97,0,114,0,105,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,111,0,102,0,105,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,100,0,117,0,122,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,115,0,99,0,111,0,119,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,115,0,104,0,107,0,101,0,110,0,116,0,0,0,65,0,108,0,97,0,115,0,107,0,97,0,95,0,72,0,97,0,119,0,97,0,105,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,109,0,97,0,114,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,115,0,104,0,97,0,110,0,98,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,107,0,104,0,97,0,108,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,115,0,104,0,103,0,97,0,98,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,104,0,97,0,110,0,103,0,104,0,97,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,114,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,68,0,117,0,98,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,111,0,110,0,100,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,100,0,114,0,105,0,100,0,0,0,70,0,114,0,101,0,110,0,99,0,104,0,95,0,71,0,117,0,105,0,97,0,110,0,97,0,0,0,78,0,101,0,119,0,95,0,67,0,97,0,108,0,101,0,100,0,111,0,110,0,105,0,97,0,0,0,78,0,111,0,114,0,116,0,104,0,95,0,77,0,97,0,114,0,105,0,97,0,110,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,97,0,117,0,114,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,108,0,97,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,109,0,101,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,109,0,97,0,107,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,103,0,117,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,106,0,117,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,117,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,114,0,97,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,103,0,97,0,108,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,97,0,110,0,100,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,115,0,97,0,107,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,108,0,97,0,98,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,112,0,117,0,116,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,115,0,101,0,114,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,105,0,97,0,109,0,101,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,117,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,104,0,117,0,108,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,97,0,108,0,99,0,117,0,116,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,121,0,97,0,112,0,117,0,114,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,116,0,109,0,97,0,110,0,100,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,107,0,97,0,115,0,115,0,97,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,116,0,104,0,101,0,110,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,105,0,115,0,98,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,110,0,97,0,99,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,114,0,97,0,103,0,117,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,107,0,111,0,112,0,106,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,105,0,114,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,105,0,101,0,110,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,87,0,97,0,114,0,115,0,97,0,119,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,97,0,103,0,114,0,101,0,98,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,117,0,114,0,105,0,99,0,104,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,97,0,103,0,111,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,109,0,111,0,114,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,102,0,97,0,116,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,121,0,122,0,121,0,108,0,111,0,114,0,100,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,110,0,103,0,95,0,75,0,111,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,109,0,99,0,104,0,97,0,116,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,121,0,111,0,110,0,103,0,121,0,97,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,109,0,97,0,114,0,107,0,97,0,110,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,105,0,110,0,103,0,97,0,112,0,111,0,114,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,82,0,101,0,117,0,110,0,105,0,111,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,106,0,117,0,114,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,83,0,97,0,105,0,112,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,121,0,97,0,110,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,111,0,115,0,114,0,97,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,110,0,97,0,112,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,104,0,105,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,108,0,108,0,105,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,98,0,105,0,100,0,106,0,97,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,110,0,97,0,107,0,114,0,121,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,97,0,109,0,112,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,98,0,97,0,98,0,97,0,110,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,105,0,114,0,111,0,98,0,105,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,101,0,108,0,105,0,122,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,103,0,111,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,109,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,110,0,118,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,118,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,110,0,101,0,97,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,95,0,80,0,97,0,122,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,117,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,115,0,115,0,97,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,110,0,97,0,109,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,101,0,114,0,117,0,115,0,97,0,108,0,101,0,109,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,105,0,101,0,110,0,116,0,105,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,110,0,100,0,111,0,114,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,116,0,105,0,99,0,97,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,121,0,111,0,116,0,116,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,117,0,109,0,101,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,114,0,97,0,119,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,95,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,95,0,83,0,111,0,117,0,116,0,104,0,101,0,114,0,110,0,0,0,72,0,97,0,119,0,97,0,105,0,105,0,95,0,65,0,108,0,101,0,117,0,116,0,105,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,111,0,105,0,98,0,97,0,108,0,115,0,97,0,110,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,65,0,122,0,111,0,114,0,101,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,108,0,100,0,105,0,118,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,111,0,110,0,104,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,108,0,103,0,114,0,97,0,100,0,101,0,0,0,70,0,114,0,101,0,110,0,99,0,104,0,95,0,83,0,111,0,117,0,116,0,104,0,101,0,114,0,110,0,0,0,71,0,105,0,108,0,98,0,101,0,114,0,116,0,95,0,73,0,115,0,108,0,97,0,110,0,100,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,67,0,104,0,97,0,116,0,104,0,97,0,109,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,109,0,98,0,105,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,114,0,102,0,111,0,108,0,107,0,0,0,80,0,104,0,111,0,101,0,110,0,105,0,120,0,95,0,73,0,115,0,108,0,97,0,110,0,100,0,115,0,0,0,80,0,105,0,101,0,114,0,114,0,101,0,95,0,77,0,105,0,113,0,117,0,101,0,108,0,111,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,108,0,97,0,110,0,116,0,121,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,106,0,105,0,98,0,111,0,117,0,116,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,65,0,97,0,105,0,117,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,70,0,114,0,101,0,101,0,116,0,111,0,119,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,71,0,97,0,98,0,111,0,114,0,111,0,110,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,110,0,115,0,104,0,97,0,115,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,114,0,111,0,118,0,105,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,100,0,106,0,97,0,109,0,101,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,116,0,105,0,103,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,114,0,97,0,99,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,101,0,110,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,99,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,114,0,97,0,99,0,97,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,100,0,116,0,104,0,97,0,98,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,114,0,101,0,110,0,97,0,100,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,108,0,105,0,102,0,97,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,97,0,109,0,97,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,105,0,103,0,111,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,105,0,106,0,117,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,111,0,110,0,116,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,116,0,111,0,108,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,104,0,110,0,111,0,109,0,95,0,80,0,101,0,110,0,104,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,110,0,97,0,114,0,121,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,70,0,97,0,101,0,114,0,111,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,69,0,117,0,99,0,108,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,80,0,101,0,114,0,116,0,104,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,117,0,115,0,115,0,101,0,108,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,100,0,97,0,112,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,72,0,101,0,108,0,115,0,105,0,110,0,107,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,116,0,97,0,110,0,98,0,117,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,114,0,97,0,106,0,101,0,118,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,97,0,107,0,97,0,111,0,102,0,111,0,0,0,49,0,57,0,55,0,48,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,57,0,57,0,57,0,57,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,50,0,51,0,58,0,53,0,57,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,95,0,77,0,111,0,117,0,110,0,116,0,97,0,105,0,110,0,0,0,50,0,48,0,48,0,48,0,45,0,49,0,48,0,45,0,50,0,57,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,49,0,45,0,49,0,48,0,45,0,51,0,49,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,54,0,45,0,48,0,52,0,45,0,48,0,50,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,57,0,45,0,48,0,51,0,45,0,50,0,53,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,54,0,45,0,48,0,49,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,54,0,45,0,50,0,48,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,48,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,51,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,49,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,54,0,45,0,51,0,48,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,51,0,45,0,51,0,48,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,50,0,45,0,49,0,53,0,32,0,49,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,56,0,45,0,48,0,52,0,45,0,48,0,53,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,50,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,51,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,49,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,51,0,45,0,49,0,49,0,45,0,51,0,48,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,50,0,45,0,48,0,53,0,45,0,51,0,49,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,52,0,45,0,48,0,49,0,45,0,48,0,54,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,52,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,49,0,50,0,45,0,50,0,51,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,52,0,45,0,48,0,51,0,45,0,49,0,54,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,51,0,45,0,48,0,49,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,51,0,45,0,48,0,51,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,53,0,45,0,48,0,55,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,56,0,45,0,51,0,49,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,48,0,45,0,50,0,48,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,53,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,57,0,45,0,49,0,48,0,45,0,51,0,49,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,48,0,49,0,45,0,49,0,53,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,49,0,50,0,45,0,50,0,50,0,32,0,49,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,49,0,45,0,48,0,52,0,45,0,48,0,49,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,53,0,45,0,51,0,49,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,55,0,45,0,50,0,53,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,55,0,45,0,48,0,51,0,45,0,49,0,49,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,55,0,45,0,49,0,49,0,45,0,48,0,52,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,56,0,45,0,48,0,54,0,45,0,50,0,52,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,49,0,45,0,48,0,51,0,45,0,50,0,55,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,51,0,45,0,49,0,49,0,45,0,49,0,48,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,48,0,45,0,49,0,49,0,45,0,48,0,49,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,114,0,97,0,115,0,110,0,111,0,121,0,97,0,114,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,108,0,97,0,100,0,105,0,118,0,111,0,115,0,116,0,111,0,107,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,67,0,97,0,115,0,101,0,121,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,111,0,118,0,111,0,115,0,105,0,98,0,105,0,114,0,115,0,107,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,49,0,45,0,49,0,57,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,49,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,49,0,50,0,45,0,48,0,51,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,77,0,97,0,114,0,115,0,104,0,97,0,108,0,108,0,95,0,73,0,115,0,108,0,97,0,110,0,100,0,115,0,0,0,80,0,97,0,112,0,117,0,97,0,95,0,78,0,101,0,119,0,95,0,71,0,117,0,105,0,110,0,101,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,111,0,108,0,103,0,111,0,103,0,114,0,97,0,100,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,114,0,105,0,115,0,116,0,109,0,97,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,117,0,114,0,105,0,116,0,105,0,117,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,105,0,116,0,99,0,97,0,105,0,114,0,110,0,0,0,49,0,57,0,55,0,49,0,45,0,48,0,51,0,45,0,50,0,53,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,49,0,45,0,48,0,51,0,45,0,50,0,53,0,32,0,49,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,50,0,45,0,48,0,52,0,45,0,51,0,48,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,50,0,45,0,48,0,53,0,45,0,48,0,49,0,32,0,48,0,48,0,58,0,52,0,53,0,0,0,49,0,57,0,55,0,50,0,45,0,48,0,56,0,45,0,51,0,48,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,51,0,45,0,48,0,52,0,45,0,50,0,57,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,51,0,45,0,48,0,53,0,45,0,48,0,49,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,52,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,53,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,53,0,45,0,48,0,50,0,45,0,49,0,54,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,53,0,45,0,49,0,49,0,45,0,50,0,48,0,32,0,48,0,51,0,58,0,51,0,48,0,0,0,49,0,57,0,55,0,54,0,45,0,48,0,52,0,45,0,49,0,52,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,54,0,45,0,48,0,53,0,45,0,48,0,50,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,54,0,45,0,48,0,57,0,45,0,50,0,54,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,55,0,45,0,49,0,48,0,45,0,50,0,48,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,55,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,56,0,45,0,48,0,54,0,45,0,50,0,56,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,57,0,45,0,48,0,52,0,45,0,50,0,57,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,57,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,48,0,45,0,48,0,53,0,45,0,48,0,49,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,48,0,50,0,45,0,50,0,56,0,32,0,49,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,48,0,51,0,45,0,50,0,57,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,48,0,51,0,45,0,51,0,49,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,48,0,53,0,45,0,48,0,49,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,48,0,57,0,45,0,51,0,48,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,49,0,54,0,58,0,51,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,50,0,45,0,48,0,51,0,45,0,51,0,49,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,50,0,45,0,48,0,53,0,45,0,48,0,49,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,50,0,45,0,49,0,50,0,45,0,48,0,50,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,51,0,45,0,48,0,51,0,45,0,51,0,49,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,51,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,53,0,45,0,48,0,52,0,45,0,49,0,57,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,53,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,54,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,55,0,45,0,48,0,57,0,45,0,51,0,48,0,32,0,49,0,56,0,58,0,51,0,48,0,0,0,49,0,57,0,56,0,55,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,56,0,45,0,48,0,52,0,45,0,48,0,51,0,32,0,48,0,52,0,58,0,48,0,49,0,0,0,49,0,57,0,56,0,56,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,48,0,50,0,58,0,48,0,49,0,0,0,49,0,57,0,56,0,57,0,45,0,48,0,51,0,45,0,50,0,53,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,51,0,45,0,48,0,52,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,51,0,45,0,49,0,52,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,51,0,45,0,50,0,48,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,53,0,45,0,48,0,51,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,53,0,45,0,48,0,53,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,54,0,45,0,51,0,48,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,52,0,45,0,48,0,56,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,54,0,45,0,48,0,49,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,56,0,45,0,50,0,57,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,56,0,45,0,51,0,48,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,57,0,45,0,48,0,56,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,57,0,45,0,50,0,50,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,57,0,45,0,50,0,57,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,48,0,45,0,50,0,54,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,50,0,45,0,49,0,53,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,49,0,45,0,49,0,56,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,51,0,45,0,50,0,56,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,57,0,45,0,50,0,52,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,57,0,45,0,50,0,55,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,57,0,45,0,50,0,55,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,51,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,51,0,45,0,48,0,51,0,45,0,50,0,56,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,51,0,45,0,48,0,56,0,45,0,50,0,49,0,32,0,49,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,52,0,45,0,48,0,51,0,45,0,50,0,48,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,52,0,45,0,48,0,52,0,45,0,51,0,48,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,54,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,54,0,45,0,48,0,51,0,45,0,51,0,49,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,54,0,45,0,48,0,53,0,45,0,50,0,52,0,32,0,49,0,56,0,58,0,51,0,48,0,0,0,49,0,57,0,57,0,54,0,45,0,48,0,57,0,45,0,50,0,57,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,55,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,55,0,45,0,48,0,51,0,45,0,51,0,48,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,55,0,45,0,49,0,48,0,45,0,48,0,51,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,56,0,45,0,48,0,51,0,45,0,50,0,57,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,56,0,45,0,48,0,56,0,45,0,48,0,50,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,57,0,45,0,49,0,48,0,45,0,48,0,51,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,57,0,45,0,49,0,48,0,45,0,51,0,49,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,57,0,45,0,49,0,48,0,45,0,51,0,49,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,57,0,45,0,49,0,50,0,45,0,49,0,57,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,48,0,51,0,45,0,48,0,51,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,48,0,57,0,45,0,49,0,54,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,49,0,48,0,45,0,50,0,57,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,49,0,49,0,45,0,48,0,53,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,49,0,50,0,45,0,48,0,51,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,49,0,45,0,48,0,52,0,45,0,48,0,49,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,51,0,45,0,49,0,48,0,45,0,50,0,54,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,51,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,54,0,45,0,49,0,51,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,54,0,45,0,48,0,52,0,45,0,49,0,52,0,32,0,49,0,56,0,58,0,51,0,48,0,0,0,50,0,48,0,48,0,54,0,45,0,49,0,48,0,45,0,50,0,57,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,56,0,45,0,48,0,49,0,45,0,50,0,49,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,56,0,45,0,48,0,51,0,45,0,51,0,48,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,56,0,45,0,48,0,54,0,45,0,50,0,52,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,57,0,45,0,49,0,48,0,45,0,49,0,49,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,57,0,45,0,49,0,48,0,45,0,49,0,55,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,48,0,45,0,48,0,51,0,45,0,48,0,52,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,48,0,45,0,48,0,51,0,45,0,50,0,55,0,32,0,49,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,48,0,45,0,48,0,51,0,45,0,50,0,55,0,32,0,49,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,48,0,45,0,48,0,52,0,45,0,48,0,52,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,48,0,45,0,49,0,49,0,45,0,48,0,55,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,49,0,45,0,48,0,57,0,45,0,49,0,50,0,32,0,49,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,49,0,45,0,48,0,57,0,45,0,49,0,50,0,32,0,49,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,49,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,50,0,45,0,48,0,50,0,45,0,50,0,49,0,32,0,49,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,50,0,45,0,49,0,49,0,45,0,49,0,48,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,51,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,48,0,51,0,45,0,51,0,48,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,49,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,48,0,45,0,50,0,54,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,53,0,45,0,48,0,50,0,45,0,48,0,49,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,53,0,45,0,48,0,51,0,45,0,48,0,56,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,53,0,45,0,48,0,51,0,45,0,48,0,56,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,53,0,45,0,48,0,56,0,45,0,49,0,52,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,53,0,45,0,49,0,49,0,45,0,48,0,49,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,48,0,51,0,45,0,50,0,54,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,48,0,51,0,45,0,50,0,54,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,48,0,57,0,45,0,48,0,54,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,49,0,48,0,45,0,50,0,49,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,55,0,45,0,49,0,48,0,45,0,50,0,51,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,55,0,45,0,49,0,48,0,45,0,51,0,49,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,48,0,51,0,45,0,49,0,48,0,32,0,49,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,48,0,51,0,45,0,49,0,49,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,48,0,53,0,45,0,48,0,52,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,49,0,48,0,45,0,48,0,54,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,49,0,48,0,45,0,50,0,56,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,49,0,49,0,45,0,48,0,52,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,49,0,50,0,45,0,50,0,48,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,57,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,57,0,45,0,48,0,49,0,45,0,50,0,48,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,57,0,45,0,48,0,51,0,45,0,49,0,54,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,57,0,45,0,49,0,48,0,45,0,48,0,51,0,32,0,49,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,48,0,45,0,48,0,51,0,45,0,48,0,55,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,48,0,45,0,49,0,48,0,45,0,48,0,51,0,32,0,49,0,54,0,58,0,48,0,49,0,0,0,50,0,48,0,50,0,49,0,45,0,48,0,49,0,45,0,51,0,49,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,50,0,45,0,49,0,49,0,45,0,51,0,48,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,105,0,97,0,103,0,111,0,0,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,78,0,111,0,114,0,116,0,104,0,119,0,101,0,115,0,116,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,117,0,99,0,107,0,108,0,97,0,110,0,100,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,97,0,118,0,105,0,115,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,83,0,121,0,111,0,119,0,97,0,0,0,49,0,57,0,55,0,51,0,45,0,49,0,48,0,45,0,50,0,56,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,53,0,45,0,48,0,54,0,45,0,49,0,50,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,48,0,45,0,48,0,52,0,45,0,50,0,55,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,48,0,45,0,49,0,48,0,45,0,50,0,54,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,51,0,45,0,49,0,49,0,45,0,51,0,48,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,48,0,45,0,48,0,54,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,49,0,48,0,45,0,49,0,56,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,53,0,45,0,50,0,51,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,53,0,45,0,51,0,48,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,57,0,45,0,50,0,54,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,50,0,45,0,50,0,55,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,48,0,57,0,45,0,48,0,55,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,50,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,50,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,106,0,117,0,109,0,98,0,117,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,103,0,97,0,100,0,105,0,115,0,104,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,103,0,117,0,105,0,108,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,117,0,110,0,99,0,105,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,114,0,98,0,97,0,100,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,109,0,105,0,110,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,100,0,109,0,111,0,110,0,116,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,122,0,97,0,116,0,108,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,105,0,113,0,117,0,101,0,108,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,101,0,119,0,95,0,89,0,111,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,74,0,111,0,104,0,110,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,75,0,105,0,116,0,116,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,76,0,117,0,99,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,110,0,105,0,112,0,101,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,97,0,110,0,98,0,97,0,97,0,116,0,97,0,114,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,66,0,101,0,114,0,109,0,117,0,100,0,97,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,97,0,110,0,108,0,101,0,121,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,121,0,100,0,110,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,109,0,115,0,116,0,101,0,114,0,100,0,97,0,109,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,99,0,104,0,97,0,114,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,71,0,105,0,98,0,114,0,97,0,108,0,116,0,97,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,106,0,117,0,98,0,108,0,106,0,97,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,114,0,105,0,101,0,104,0,97,0,109,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,111,0,100,0,103,0,111,0,114,0,105,0,99,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,116,0,111,0,99,0,107,0,104,0,111,0,108,0,109,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,75,0,101,0,114,0,103,0,117,0,101,0,108,0,101,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,117,0,110,0,97,0,102,0,117,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,72,0,111,0,110,0,111,0,108,0,117,0,108,0,117,0,0,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,73,0,110,0,100,0,111,0,110,0,101,0,115,0,105,0,97,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,71,0,114,0,101,0,101,0,110,0,108,0,97,0,110,0,100,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,73,0,110,0,100,0,111,0,110,0,101,0,115,0,105,0,97,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,108,0,97,0,112,0,97,0,103,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,114,0,113,0,117,0,101,0,115,0,97,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,95,0,70,0,97,0,114,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,121,0,97,0,113,0,117,0,105,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,97,0,108,0,97,0,95,0,76,0,117,0,109,0,112,0,117,0,114,0,0,0,71,0,114,0,101,0,101,0,110,0,108,0,97,0,110,0,100,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,73,0,110,0,100,0,111,0,110,0,101,0,115,0,105,0,97,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,97,0,119,0,115,0,111,0,110,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,86,0,111,0,115,0,116,0,111,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,111,0,115,0,101,0,95,0,66,0,97,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,119,0,97,0,106,0,97,0,108,0,101,0,105,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,98,0,114,0,101,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,98,0,117,0,109,0,98,0,97,0,115,0,104,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,117,0,97,0,107,0,99,0,104,0,111,0,116,0,116,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,45,0,78,0,111,0,118,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,99,0,104,0,111,0,114,0,97,0,103,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,116,0,101,0,109,0,97,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,80,0,97,0,117,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,84,0,104,0,111,0,109,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,86,0,97,0,110,0,99,0,111,0,117,0,118,0,101,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,97,0,116,0,105,0,115,0,108,0,97,0,118,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,111,0,112,0,101,0,110,0,104,0,97,0,103,0,101,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,117,0,120,0,101,0,109,0,98,0,111,0,117,0,114,0,103,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,110,0,95,0,77,0,97,0,114,0,105,0,110,0,111,0,0,0,71,0,114,0,101,0,101,0,110,0,108,0,97,0,110,0,100,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,110,0,100,0,101,0,114,0,98,0,117,0,114,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,103,0,111,0,95,0,80,0,97,0,103,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,82,0,97,0,114,0,111,0,116,0,111,0,110,0,103,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,111,0,110,0,103,0,97,0,116,0,97,0,112,0,117,0,0,0,75,0,97,0,122,0,97,0,107,0,104,0,115,0,116,0,97,0,110,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,75,0,97,0,122,0,97,0,107,0,104,0,115,0,116,0,97,0,110,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,107,0,97,0,116,0,101,0,114,0,105,0,110,0,98,0,117,0,114,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,114,0,97,0,109,0,97,0,114,0,105,0,98,0,111,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,82,0,111,0,116,0,104,0,101,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,100,0,105,0,115,0,95,0,65,0,98,0,97,0,98,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,114,0,97,0,122,0,122,0,97,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,79,0,117,0,97,0,103,0,97,0,100,0,111,0,117,0,103,0,111,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,115,0,116,0,97,0,95,0,82,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,100,0,101,0,108,0,111,0,117,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,101,0,114,0,109,0,111,0,115,0,105,0,108,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,114,0,97,0,108,0,101,0,110,0,100,0,105,0,106,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,116,0,105,0,110,0,105,0,113,0,117,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,101,0,118,0,105,0,100,0,101,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,115,0,101,0,114,0,114,0,97,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,105,0,111,0,95,0,66,0,114,0,97,0,110,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,86,0,105,0,110,0,99,0,101,0,110,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,104,0,105,0,116,0,101,0,104,0,111,0,114,0,115,0,101,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,99,0,77,0,117,0,114,0,100,0,111,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,82,0,101,0,121,0,107,0,106,0,97,0,118,0,105,0,107,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,95,0,72,0,101,0,108,0,101,0,110,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,100,0,101,0,108,0,97,0,105,0,100,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,97,0,108,0,105,0,110,0,105,0,110,0,103,0,114,0,97,0,100,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,105,0,114,0,105,0,116,0,105,0,109,0,97,0,116,0,105,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,112,0,101,0,95,0,86,0,101,0,114,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,111,0,114,0,100,0,95,0,72,0,111,0,119,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,74,0,111,0,104,0,97,0,110,0,110,0,101,0,115,0,98,0,117,0,114,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,83,0,97,0,108,0,118,0,97,0,100,0,111,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,115,0,95,0,65,0,110,0,103,0,101,0,108,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,67,0,105,0,116,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,117,0,101,0,114,0,116,0,111,0,95,0,82,0,105,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,101,0,103,0,117,0,99,0,105,0,103,0,97,0,108,0,112,0,97,0,0,0,65,0,114,0,99,0,116,0,105,0,99,0,47,0,76,0,111,0,110,0,103,0,121,0,101,0,97,0,114,0,98,0,121,0,101,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,65,0,110,0,116,0,97,0,110,0,97,0,110,0,97,0,114,0,105,0,118,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,100,0,97,0,108,0,99,0,97,0,110,0,97,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,99,0,111,0,114,0,101,0,115,0,98,0,121,0,115,0,117,0,110,0,100,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,97,0,99,0,113,0,117,0,97,0,114,0,105,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,114,0,95,0,101,0,115,0,95,0,83,0,97,0,108,0,97,0,97,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,97,0,95,0,73,0,115,0,97,0,98,0,101,0,108,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,114,0,116,0,95,0,77,0,111,0,114,0,101,0,115,0,98,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,119,0,101,0,114,0,95,0,80,0,114,0,105,0,110,0,99,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,95,0,111,0,102,0,95,0,83,0,112,0,97,0,105,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,111,0,95,0,68,0,111,0,109,0,105,0,110,0,103,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,95,0,70,0,117,0,114,0,116,0,104,0,101,0,114,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,111,0,117,0,116,0,104,0,95,0,71,0,101,0,111,0,114,0,103,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,45,0,97,0,117,0,45,0,80,0,114,0,105,0,110,0,99,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,117,0,109,0,111,0,110,0,116,0,68,0,85,0,114,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,110,0,95,0,76,0,117,0,105,0,115,0,0,0,1,0,50,0,229,33,1,0,50,0,111,2,8,0,50,0,81,0,84,0,87,0,90,0,93,0,96,0,99,0,35,7,100,28,59,12,150,31,251,11,235,6,7,7,221,6,10,0,50,0,117,0,120,0,123,0,126,0,129,0,132,0,135,0,138,0,141,0,221,9,11,12,151,6,39,33,59,8,68,35,117,28,150,35,191,9,190,10,1,0,50,0,27,12,3,0,50,0,178,0,181,0,184,34,49,7,206,9,11,0,50,0,199,0,202,0,87,0,205,0,208,0,211,0,214,0,217,0,220,0,223,0,204,4,249,6,186,31,75,12,179,6,58,33,207,6,132,31,21,7,63,7,107,12,1,0,50,0,177,2,1,0,50,0,55,10,1,0,50,0,204,31,1,0,50,0,189,2,1,0,50,0,85,10,8,0,50,0,25,1,28,1,31,1,34,1,37,1,40,1,43,1,171,12,236,9,65,29,96,33,222,31,28,35,244,34,204,34,7,0,50,0,62,1,28,1,65,1,68,1,71,1,74,1,253,28,100,10,43,13,90,36,251,12,10,10,115,10,3,0,50,0,28,1,40,1,25,10,202,28,134,33,3,0,50,0,28,1,40,1,224,34,20,32,27,13,1,0,50,0,213,2,1,0,50,0,100,4,1,0,50,0,246,1,1,0,50,0,177,2,6,0,50,0,118,1,121,1,124,1,127,1,130,1,89,3,13,5,0,5,53,3,122,2,196,1,1,0,50,0,171,35,1,0,50,0,164,36,1,0,50,0,239,3,1,0,50,0,253,5,23,0,50,0,188,1,191,1,194,1,197,1,200,1,203,1,206,1,209,1,212,1,215,1,218,1,221,1,224,1,227,1,230,1,233,1,236,1,239,1,242,1,245,1,248,1,251,1,235,12,123,12,134,28,77,7,168,28,99,29,153,33,187,12,185,28,219,12,91,7,115,33,31,29,48,29,11,13,172,33,210,33,8,35,234,35,0,36,248,33,59,13,2,32,1,0,50,0,87,34,1,0,50,0,123,13,1,0,50,0,133,29,1,0,50,0,139,13,1,0,50,0,126,1,1,0,50,0,75,11,1,0,50,0,126,1,1,0,50,0,34,2,1,0,50,0,230,4,1,0,50,0,78,5,1,0,50,0,70,10,1,0,50,0,22,4,1,0,50,0,240,31,1,0,50,0,53,6,1,0,50,0,225,2,1,0,50,0,144,34,1,0,50,0,248,16,2,0,50,0,154,2,56,9,200,3,1,0,50,0,171,11,1,0,50,0,33,27,1,0,50,0,11,6,1,0,50,0,59,11,1,0,50,0,128,17,1,0,50,0,87,4,1,0,50,0,251,9,1,0,50,0,164,32,1,0,50,0,40,10,1,0,50,0,34,2,1,0,50,0,84,27,1,0,50,0,22,36,1,0,50,0,138,36,1,0,50,0,225,5,1,0,50,0,1,33,1,0,50,0,206,1,1,0,50,0,86,9,1,0,50,0,244,30,33,0,50,0,251,2,254,2,1,3,4,3,7,3,10,3,13,3,16,3,19,3,22,3,25,3,28,3,31,3,34,3,37,3,40,3,43,3,46,3,49,3,128,30,52,3,55,3,58,3,61,3,64,3,67,3,70,3,73,3,76,3,79,3,82,3,85,3,130,5,160,10,231,7,245,7,219,13,155,13,31,8,203,7,25,6,56,32,67,6,184,29,17,8,171,13,137,3,156,5,74,32,189,7,235,29,217,7,104,5,150,29,125,3,3,8,123,11,252,29,201,29,48,35,38,32,92,32,217,4,175,10,123,11,8,0,50,0,103,3,106,3,109,3,112,3,115,3,118,3,121,3,167,29,218,29,143,5,52,5,178,4,187,13,161,7,41,3,2,0,50,0,147,3,117,5,106,34,2,0,50,0,165,3,91,13,107,13,1,0,50,0,116,29,1,0,50,0,113,4,1,0,50,0,155,12,1,0,50,0,13,30,1,0,50,0,252,3,14,0,50,0,214,3,217,3,220,3,223,3,226,3,229,3,232,3,235,3,238,3,241,3,244,3,247,3,250,3,49,34,77,33,161,9,53,6,165,4,193,6,176,9,39,6,165,6,168,31,68,34,43,12,191,4,29,3,1,0,50,0,190,30,1,0,50,0,187,11,1,0,50,0,226,3,1,0,50,0,220,10,1,0,50,0,96,31,1,0,50,0,108,35,1,0,50,0,108,35,1,0,50,0,203,12,1,0,50,0,200,3,2,0,50,0,72,4,100,2,77,3,1,0,50,0,71,9,1,0,50,0,47,30,1,0,50,0,207,8,1,0,50,0,146,1,2,0,50,0,97,4,105,7,9,4,1,0,50,0,45,8,3,0,50,0,123,4,126,4,26,5,75,13,145,10,1,0,50,0,147,7,1,0,50,0,119,7,1,0,50,0,39,5,1,0,50,0,101,3,1,0,50,0,39,6,1,0,50,0,187,3,1,0,50,0,130,10,1,0,50,0,144,2,1,0,50,0,222,8,1,0,50,0,213,3,1,0,50,0,189,2,1,0,50,0,177,2,1,0,50,0,192,8,1,0,50,0,133,2,1,0,50,0,101,9,1,0,50,0,214,16,1,0,50,0,211,5,1,0,50,0,114,31,1,0,50,0,252,3,1,0,50,0,9,4,1,0,50,0,91,12,1,0,50,0,125,34,1,0,50,0,164,34,1,0,50,0,23,2,1,0,50,0,129,35,1,0,50,0,174,3,1,0,50,0,6,31,1,0,50,0,22,4,1,0,50,0,91,11,1,0,50,0,208,30,1,0,50,0,41,9,1,0,50,0,145,17,1,0,50,0,60,31,1,0,50,0,192,35,1,0,50,0,219,28,1,0,50,0,82,29,1,0,50,0,169,5,1,0,50,0,65,5,1,0,50,0,123,6,1,0,50,0,133,7,1,0,50,0,205,10,2,0,50,0,166,5,67,27,30,34,1,0,50,0,14,29,1,0,50,0,126,4,1,0,50,0,203,11,1,0,50,0,107,11,1,0,50,0,56,9,1,0,50,0,9,17,1,0,50,0,156,1,1,0,50,0,136,1,1,0,50,0,213,3,1,0,50,0,137,6,1,0,50,0,213,35,1,0,50,0,151,28,1,0,50,0,243,4,1,0,50,0,65,3,1,0,50,0,128,32,1,0,50,0,236,28,1,0,50,0,162,17,1,0,50,0,116,9,1,0,50,0,237,8,1,0,50,0,192,8,1,0,50,0,26,9,1,0,50,0,20,33,1,0,50,0,239,5,1,0,50,0,211,5,1,0,50,0,252,8,1,0,50,0,146,32,1,0,50,0,149,3,1,0,50,0,246,1,1,0,50,0,11,9,1,0,50,0,88,35,1,0,50,0,67,36,1,0,50,0,1,33,1,0,50,0,238,32,1,0,50,0,101,27,1,0,50,0,131,9,1,0,50,0,237,2,1,0,50,0,225,5,1,0,50,0,183,5,1,0,50,0,226,3,1,0,50,0,235,13,1,0,50,0,182,32,1,0,50,0,139,4,1,0,50,0,203,13,1,0,50,0,253,5,1,0,50,0,30,30,1,0,50,0,136,1,1,0,50,0,191,33,1,0,50,0,17,3,1,0,50,0,183,5,1,0,50,0,73,8,1,0,50,0,139,12,1,0,50,0,231,16,1,0,50,0,111,17,1,0,50,0,78,31,1,0,50,0,152,4,1,0,50,0,146,9,1,0,50,0,161,3,1,0,50,0,238,32,1,0,50,0,239,3,1,0,50,0,11,34,159,0,194,6,199,6,204,6,209,6,214,6,219,6,224,6,229,6,234,6,239,6,244,6,249,6,254,6,3,7,8,7,13,7,18,7,23,7,28,7,33,7,38,7,192,19,43,7,48,7,53,7,58,7,63,7,68,7,73,7,78,7,83,7,88,7,93,7,98,7,103,7,108,7,113,7,118,7,123,7,128,7,133,7,138,7,143,7,148,7,153,7,158,7,163,7,168,7,173,7,178,7,183,7,188,7,193,7,198,7,203,7,208,7,213,7,218,7,223,7,228,7,233,7,238,7,243,7,248,7,253,7,2,8,7,8,12,8,17,8,22,8,62,21,27,8,32,8,217,5,37,8,42,8,47,8,52,8,57,8,62,8,67,8,72,8,77,8,82,8,87,8,92,8,97,8,102,8,107,8,112,8,117,8,122,8,127,8,132,8,34,17,137,8,142,8,147,8,152,8,157,8,162,8,167,8,172,8,177,8,182,8,187,8,192,8,197,8,202,8,207,8,212,8,217,8,222,8,227,8,232,8,237,8,242,8,108,11,247,8,252,8,1,9,6,9,11,9,16,9,21,9,26,9,31,9,36,9,41,9,46,9,51,9,56,9,61,9,66,9,71,9,76,9,81,9,86,9,91,9,96,9,101,9,106,9,111,9,116,9,121,9,126,9,131,9,136,9,141,9,146,9,151,9,156,9,161,9,166,9,171,9,176,9,181,9,186,9,191,9,5,0,117,8,147,8,249,2,27,11,132,8,194,2,114,0,107,0,235,10,251,10,29,14,11,11,218,2,108,4,251,1,182,2,184,0,106,1,208,0,64,30,16,1,118,30,113,36,82,30,100,30,45,2,84,11,56,2,135,0,216,0,25,1,230,2,3,17,153,34,43,1,179,11,41,0,53,0,64,11,135,17,94,4,61,1,15,0,20,0,95,27,149,36,94,9,1,2,200,0,87,8,102,8,44,36,162,8,70,1,121,4,81,6,139,11,198,30,195,11,82,36,155,11,24,31,154,30,208,3,10,0,79,9,43,11,212,8,151,1,136,30,35,0,116,1,42,31,35,4,172,30,25,0,192,3,128,0,71,0,219,32,227,8,200,32,47,0,109,9,219,16,166,1,77,0,48,4,174,34,28,2,140,35,179,3,77,17,52,1,98,11,216,30,152,17,71,31,50,27,177,8,1,0,34,1,176,5,224,0,131,6,95,6,83,0,61,4,201,2,134,4,109,6,211,11,115,11,14,17,161,1,79,1,145,6,94,17,88,1,30,0,5,3,219,11,235,11,170,17,124,9,242,8,197,8,33,9,31,33,244,5,218,5,59,0,67,2,16,9,76,36,232,0,97,1,112,27,139,9,242,2,78,2,240,0,89,0,147,4,74,4,149,0,248,0,12,2,0,1,176,1,236,16,118,17,89,31,160,4,154,9,166,3,243,32,65,0,1,0,1,0,1,0,1,0,1,0,147,8,3,0,162,8,251,13,161,18,3,0,87,8,161,18,229,18,3,0,162,8,229,18,58,19,3,0,87,8,58,19,12,14,1,0,147,8,1,0,1,0,1,0,132,8,1,0,1,0,3,0,226,30,251,13,59,18,3,0,1,0,59,18,12,14,1,0,117,8,1,0,132,8,1,0,117,8,1,0,102,8,3,0,162,8,251,13,147,15,3,0,87,8,147,15,245,19,3,0,162,8,245,19,102,26,3,0,162,8,251,13,147,15,3,0,87,8,147,15,12,14,1,0,1,0,1,0,1,0,1,0,147,8,1,0,147,8,1,0,132,8,3,0,226,30,251,13,110,18,3,0,162,8,110,18,102,26,1,0,1,0,1,0,117,8,1,0,117,8,1,0,27,11,3,0,117,8,251,13,27,16,3,0,147,8,27,16,255,26,3,0,117,8,255,26,12,14,1,0,147,8,3,0,117,8,251,13,27,16,3,0,147,8,27,16,0,26,3,0,117,8,0,26,12,14,1,0,117,8,1,0,132,8,1,0,132,8,1,0,132,8,1,0,1,0,1,0,132,8,1,0,117,8,1,0,117,8,1,0,132,8,1,0,117,8,1,0,27,11,1,0,27,11,1,0,147,8,3,0,8,1,251,13,230,17,3,0,1,0,230,17,12,14,1,0,147,8,1,0,132,8,1,0,132,8,1,0,1,0,1,0,1,0,1,0,132,8,3,0,1,0,251,13,17,26,3,0,132,8,17,26,153,26,3,0,1,0,153,26,12,14,3,0,102,8,251,13,126,19,3,0,87,8,126,19,159,20,3,0,102,8,159,20,123,22,3,0,87,8,123,22,174,22,3,0,102,8,174,22,223,24,3,0,87,8,223,24,240,24,3,0,102,8,240,24,12,14,1,0,87,8,3,0,27,11,251,13,142,20,3,0,117,8,142,20,38,22,3,0,132,8,38,22,239,25,3,0,117,8,239,25,12,14,3,0,121,0,251,13,165,14,3,0,43,11,186,27,12,14,3,0,197,5,251,13,11,15,3,0,114,0,28,15,12,14,1,0,16,1,1,0,16,1,1,0,25,1,3,0,106,1,251,13,164,15,3,0,64,30,164,15,198,15,3,0,106,1,198,15,114,14,3,0,64,30,114,14,131,14,3,0,106,1,131,14,12,14,3,0,106,1,251,13,114,14,3,0,64,30,114,14,131,14,3,0,106,1,131,14,12,14,3,0,106,1,251,13,181,15,3,0,106,1,232,15,12,14,3,0,106,1,251,13,164,15,3,0,64,30,164,15,198,15,3,0,106,1,198,15,78,16,3,0,64,30,78,16,95,16,3,0,106,1,95,16,12,14,3,0,106,1,251,13,125,20,3,0,64,30,125,20,227,20,3,0,106,1,227,20,225,22,3,0,64,30,225,22,37,23,3,0,106,1,37,23,78,16,3,0,64,30,78,16,95,16,3,0,106,1,95,16,241,23,3,0,64,30,241,23,36,24,3,0,106,1,36,24,12,14,3,0,106,1,251,13,181,15,3,0,106,1,232,15,114,14,3,0,64,30,114,14,173,23,3,0,106,1,173,23,12,14,3,0,106,1,251,13,254,27,3,0,106,1,131,14,12,14,1,0,16,1,1,0,88,1,1,0,25,1,3,0,11,11,251,13,148,14,3,0,29,14,148,14,121,24,3,0,235,10,121,24,12,14,1,0,16,1,1,0,25,1,1,0,235,10,1,0,16,1,1,0,107,0,1,0,61,1,1,0,29,14,1,0,106,1,3,0,29,14,251,13,3,23,3,0,235,10,3,23,46,14,3,0,251,10,46,14,88,23,3,0,235,10,88,23,122,23,3,0,29,14,122,23,12,14,1,0,107,0,3,0,235,10,251,13,130,15,3,0,251,10,130,15,208,22,3,0,235,10,208,22,86,25,3,0,251,10,86,25,12,14,1,0,176,1,3,0,106,1,251,13,181,15,3,0,106,1,232,15,114,14,3,0,64,30,114,14,131,14,3,0,106,1,131,14,12,14,1,0,81,6,1,0,251,10,1,0,235,10,3,0,235,10,251,13,233,14,3,0,177,8,233,14,250,14,3,0,235,10,250,14,12,14,3,0,235,10,251,13,233,14,3,0,177,8,233,14,250,14,3,0,235,10,250,14,16,27,3,0,29,14,16,27,12,14,1,0,251,10,3,0,106,1,251,13,181,15,3,0,106,1,232,15,12,14,1,0,235,10,1,0,29,14,1,0,107,0,1,0,16,1,3,0,154,30,251,13,72,22,3,0,1,0,72,22,12,14,3,0,11,11,118,27,197,16,3,0,65,0,197,16,12,14,3,0,11,11,251,13,247,17,3,0,29,14,247,17,12,14,1,0,29,14,1,0,251,10,1,0,16,1,1,0,29,14,3,0,5,0,251,13,146,16,3,0,107,0,146,16,180,16,3,0,5,0,180,16,12,14,1,0,235,10,3,0,11,11,251,13,120,25,3,0,29,14,120,25,12,14,1,0,25,1,1,0,16,1,1,0,154,30,3,0,16,1,251,13,57,20,3,0,104,31,57,20,74,20,3,0,16,1,74,20,12,14,3,0,251,10,251,13,103,25,3,0,16,1,103,25,51,26,3,0,251,10,51,26,12,14,1,0,16,1,1,0,16,1,1,0,235,10,1,0,200,0,1,0,79,9,1,0,16,1,1,0,20,0,3,0,11,11,251,13,148,14,3,0,177,8,148,14,12,14,3,0,235,10,251,13,90,21,3,0,251,10,90,21,80,14,3,0,235,10,80,14,12,14,3,0,251,10,251,13,96,15,3,0,235,10,96,15,113,15,3,0,251,10,113,15,12,14,3,0,235,10,251,13,178,18,3,0,251,10,178,18,80,14,3,0,235,10,80,14,129,16,3,0,251,10,129,16,12,14,3,0,251,10,251,13,80,14,3,0,235,10,80,14,12,14,1,0,251,10,3,0,251,10,251,13,80,14,3,0,235,10,80,14,129,16,3,0,251,10,129,16,12,14,3,0,251,10,251,13,80,14,3,0,235,10,80,14,112,16,3,0,251,10,112,16,12,14,1,0,251,10,3,0,11,11,251,13,212,18,3,0,29,14,212,18,12,14,3,0,251,10,251,13,10,16,3,0,235,10,10,16,46,14,3,0,251,10,46,14,12,14,1,0,251,10,3,0,106,1,251,13,108,20,3,0,106,1,203,27,12,14,3,0,11,11,251,13,152,27,3,0,11,11,169,27,211,19,3,0,114,0,28,15,12,14,3,0,235,10,251,13,46,14,3,0,251,10,46,14,12,14,1,0,16,1,1,0,216,0,1,0,30,0,1,0,11,11,3,0,251,10,251,13,96,15,3,0,235,10,96,15,113,15,3,0,251,10,113,15,12,14,1,0,16,1,1,0,25,1,3,0,235,10,251,13,25,18,3,0,251,10,25,18,76,18,3,0,235,10,76,18,124,21,3,0,251,10,124,21,175,21,3,0,235,10,175,21,243,21,3,0,251,10,243,21,140,22,3,0,235,10,140,22,12,14,1,0,107,0,1,0,16,1,1,0,16,1,1,0,235,10,3,0,11,11,251,13,148,14,3,0,177,8,148,14,12,14,3,0,106,1,251,13,108,20,3,0,106,1,220,27,237,27,3,0,106,1,15,28,12,14,3,0,251,10,251,13,8,18,3,0,235,10,8,18,12,14,3,0,235,10,251,13,130,15,3,0,251,10,130,15,177,19,3,0,235,10,177,19,12,14,3,0,11,11,251,13,154,25,3,0,114,0,154,25,119,26,3,0,11,11,119,26,170,26,3,0,114,0,170,26,12,14,1,0,235,10,3,0,16,1,251,13,246,18,3,0,235,11,246,18,12,14,1,0,16,1,1,0,235,10,1,0,248,0,1,0,16,1,1,0,251,10,1,0,251,10,1,0,251,10,3,0,121,0,251,13,165,14,3,0,114,0,28,15,12,14,1,0,115,11,3,0,29,14,251,13,138,24,3,0,235,10,138,24,12,14,3,0,29,14,251,13,226,21,3,0,235,10,226,21,12,14,3,0,29,14,251,13,139,23,3,0,235,10,139,23,12,14,3,0,235,10,251,13,233,14,3,0,29,14,233,14,250,14,3,0,235,10,250,14,12,14,1,0,251,10,3,0,251,10,251,13,10,16,3,0,235,10,10,16,46,14,3,0,251,10,46,14,12,14,3,0,91,5,251,13,93,18,3,0,97,1,93,18,12,14,1,0,29,14,1,0,251,10,1,0,16,1,1,0,107,0,1,0,16,1,3,0,41,0,251,13,60,17,1,0,235,10,3,0,235,10,251,13,46,14,3,0,251,10,46,14,61,16,3,0,235,10,61,16,12,14,1,0,25,1,1,0,235,10,3,0,235,10,251,13,46,14,3,0,251,10,46,14,61,16,3,0,235,10,61,16,224,23,3,0,251,10,224,23,112,16,3,0,235,10,112,16,12,14,3,0,5,0,251,13,146,16,3,0,107,0,146,16,180,16,3,0,5,0,180,16,12,14,1,0,50,27,3,0,107,0,251,13,19,24,3,0,25,1,19,24,12,14,1,0,41,0,3,0,216,1,251,13,42,18,3,0,16,1,42,18,71,23,3,0,251,10,71,23,105,23,3,0,16,1,105,23,12,14,1,0,25,1,3,0,110,32,251,13,24,19,3,0,24,31,24,19,12,14,3,0,11,11,251,13,211,19,3,0,114,0,28,15,12,14,1,0,16,1,1,0,61,4,1,0,16,1,1,0,16,1,1,0,16,1,1,0,16,1,3,0,29,14,251,13,213,17,3,0,235,10,213,17,12,14,1,0,235,10,1,0,16,1,1,0,251,10,1,0,11,11,1,0,251,10,1,0,16,1,1,0,11,11,3,0,11,11,251,13,197,16,3,0,65,0,197,16,12,14,1,0,235,10,3,0,114,0,28,15,12,14,1,0,29,14,3,0,100,30,251,13,53,24,3,0,3,17,53,24,70,24,3,0,100,30,70,24,189,24,3,0,3,17,189,24,206,24,3,0,100,30,206,24,222,25,3,0,3,17,222,25,34,26,3,0,100,30,34,26,85,26,3,0,3,17,85,26,187,26,3,0,100,30,187,26,204,26,3,0,3,17,204,26,221,26,3,0,100,30,221,26,238,26,3,0,3,17,238,26,12,14,1,0,95,27,1,0,149,36,1,0,82,30,1,0,71,31,1,0,201,2,3,0,106,1,251,13,160,19,3,0,41,0,160,19,60,17,1,0,31,33,1,0,112,27,1,0,1,0,1,0,89,31,1,0,87,8,1,0,184,0,3,0,194,2,251,13,190,23,3,0,219,32,190,23,12,14,3,0,102,8,251,13,83,28,3,0,218,2,251,13,87,24,3,0,179,3,87,24,43,17,3,0,218,2,43,17,12,14,3,0,155,2,251,13,216,14,3,0,251,1,216,14,62,15,3,0,200,32,62,15,12,14,3,0,89,2,251,13,216,14,3,0,182,2,216,14,45,15,3,0,200,32,45,15,12,14,3,0,186,1,251,13,73,21,3,0,74,4,73,21,12,14,3,0,200,32,62,15,12,14,1,0,184,0,3,0,10,0,251,13,79,15,3,0,184,0,79,15,12,14,3,0,131,1,251,13,244,20,3,0,45,2,244,20,12,14,1,0,116,1,1,0,102,8,3,0,163,0,251,13,5,21,3,0,166,1,5,21,12,14,1,0,230,2,1,0,35,0,3,0,166,3,251,13,18,25,3,0,192,3,18,25,171,25,3,0,166,3,171,25,12,14,3,0,34,1,251,13,194,19,3,0,64,11,194,19,2,24,3,0,34,1,2,24,12,14,3,0,35,0,251,13,106,22,3,0,77,0,106,22,207,23,3,0,35,0,207,23,12,14,3,0,102,8,251,13,66,28,3,0,95,0,251,13,179,17,3,0,56,2,179,17,12,14,3,0,1,2,251,13,127,18,3,0,136,30,127,18,54,23,3,0,1,2,54,23,12,14,1,0,10,0,3,0,230,5,251,13,22,21,3,0,78,2,22,21,12,14,3,0,102,8,251,13,49,28,3,0,128,0,251,13,249,15,3,0,102,8,249,15,12,14,3,0,128,0,251,13,249,15,3,0,102,8,249,15,12,14,1,0,212,8,1,0,151,1,1,0,192,3,1,0,172,30,1,0,42,31,1,0,128,0,1,0,249,2,1,0,227,8,3,0,218,3,251,13,196,17,3,0,79,1,196,17,12,14,1,0,83,0,3,0,166,3,251,13,156,23,3,0,236,16,156,23,172,24,3,0,166,3,172,24,12,14,1,0,219,16,3,0,170,0,251,13,109,19,3,0,52,1,109,19,12,14,3,0,156,0,251,13,92,19,3,0,52,1,92,19,12,14,1,0,184,0,3,0,28,2,251,13,20,23,3,0,53,0,20,23,12,14,1,0,179,3,1,0,136,30,1,0,5,3,1,0,10,0,1,0,102,8,3,0,219,16,251,13,104,24,3,0,14,17,104,24,35,25,3,0,219,16,35,25,12,14,1,0,14,17,1,0,161,1,3,0,177,0,251,13,107,21,3,0,141,1,107,21,62,15,3,0,200,32,62,15,12,14,1,0,116,1,3,0,136,30,251,13,40,20,3,0,172,30,40,20,12,14,3,0,47,0,251,13,137,25,3,0,242,8,137,25,68,26,3,0,47,0,68,26,12,14,3,0,10,0,251,13,79,15,3,0,184,0,79,15,12,14,3,0,219,32,45,15,12,14,3,0,226,1,251,13,216,14,3,0,197,8,216,14,45,15,3,0,219,32,45,15,136,26,3,0,200,32,136,26,12,14,1,0,224,0,1,0,184,0,3,0,116,1,135,27,12,14,1,0,244,5,3,0,1,9,251,13,75,19,3,0,188,5,75,19,143,19,3,0,1,9,143,19,215,15,3,0,12,2,215,15,12,14,1,0,47,0,1,0,53,0,1,0,16,9,3,0,179,3,251,13,43,17,1,0,242,2,3,0,188,5,251,13,215,15,3,0,12,2,215,15,12,14,3,0,231,3,251,13,210,20,3,0,82,36,210,20,12,14,1,0,25,0,3,0,35,0,251,13,23,20,3,0,135,0,23,20,12,14,1,0,71,0,1,0,34,1,1,0,22,3,3,0,166,3,251,13,41,19,3,0,179,3,41,19,155,24,3,0,236,16,155,24,12,14,1,0,116,1,1,0,236,16,1,0,166,3,3,0,166,2,251,13,141,21,3,0,243,32,141,21,12,14,3,0,244,3,251,13,39,21,3,0,208,0,39,21,12,14,3,0,84,11,251,13,209,21,3,0,162,8,209,21,4,22,3,0,84,11,4,22,12,14,1,0,16,1,1,0,162,8,1,0,153,34,1,0,162,8,1,0,162,8,1,0,1,0,1,0,76,36,1,0,1,0,1,0,70,1,1,0,118,30,1,0,82,30,1,0,118,30,1,0,82,30,1,0,118,30,1,0,113,36,1,0,82,30,1,0,82,30,3,0,82,30,251,13,7,19,3,0,174,34,7,19,12,14,1,0,82,30,1,0,100,30,1,0,82,30,1,0,235,10,1,0,251,10,1,0,1,0,1,0,87,8,1,0,87,8,3,0,176,5,158,21,188,25,1,0,102,8,1,0,87,8,1,0,87,8,1,0,87,8,1,0,87,8,1,0,102,8,1,0,87,8,1,0,87,8,3,0,176,5,251,13,176,20,3,0,102,8,176,20,12,14,1,0,87,8,3,0,101,0,251,13,63,14,3,0,1,0,63,14,12,14,1,0,87,8,3,0,192,0,251,13,63,14,3,0,1,0,63,14,12,14,1,0,102,8,3,0,192,0,251,13,63,14,3,0,1,0,63,14,12,14,3,0,102,8,251,13,195,18,3,0,142,0,195,18,228,19,3,0,102,8,228,19,205,25,3,0,142,0,205,25,12,14,3,0,192,0,251,13,63,14,3,0,1,0,63,14,12,14,3,0,176,5,251,13,97,14,3,0,102,8,97,14,163,16,3,0,44,36,163,16,52,25,3,0,102,8,52,25,12,14,3,0,176,5,251,13,182,14,3,0,102,8,182,14,12,14,3,0,87,8,251,13,144,18,3,0,162,8,144,18,192,21,3,0,87,8,192,21,89,22,3,0,162,8,89,22,12,14,1,0,87,8,3,0,192,0,251,13,63,14,3,0,1,0,63,14,12,14,1,0,87,8,1,0,87,8,1,0,87,8,1,0,102,8,3,0,176,5,251,13,199,14,3,0,102,8,199,14,163,16,3,0,44,36,163,16,69,25,3,0,176,5,69,25,12,14,1,0,87,8,3,0,176,5,251,13,199,14,3,0,102,8,199,14,26,17,3,0,176,5,26,17,12,14,1,0,87,8,1,0,87,8,1,0,87,8,1,0,87,8,3,0,176,5,251,13,97,14,3,0,102,8,97,14,12,14,1,0,87,8,3,0,236,1,251,13,91,20,3,0,176,5,91,20,199,14,3,0,102,8,199,14,56,21,3,0,218,5,56,21,12,14,1,0,87,8,1,0,87,8,3,0,176,5,158,21,60,17,3,0,176,5,251,13,193,20,3,0,102,8,193,20,55,22,3,0,176,5,55,22,157,22,3,0,102,8,157,22,1,25,3,0,176,5,1,25,12,14,1,0,87,8,1,0,102,8,1,0,87,8,3,0,176,5,251,13,97,14,3,0,102,8,97,14,12,14,1,0,87,8,3,0,176,5,26,17,188,25,3,0,176,5,251,13,182,14,3,0,102,8,182,14,12,14,1,0,87,8,1,0,87,8,1,0,87,8,3,0,176,5,251,13,97,14,3,0,102,8,97,14,191,22,3,0,87,8,191,22,242,22,3,0,102,8,242,22,12,14,1,0,118,17,1,0,87,8,1,0,87,8,3,0,176,5,251,13,182,14,3,0,102,8,182,14,12,14,1,0,87,8,1,0,147,8,1,0,35,4,1,0,135,17,1,0,94,4,1,0,147,8,1,0,139,11,1,0,67,2,1,0,98,11,1,0,152,17,1,0,147,8,1,0,33,9,1,0,29,14,1,0,11,11,1,0,108,4,1,0,201,2,3,0,94,17,251,13,32,28,1,0,179,11,1,0,94,9,1,0,0,1,1,0,219,11,1,0,240,0,1,0,121,4,1,0,149,0,3,0,200,0,251,13,6,20,3,0,198,30,6,20,12,14,1,0,195,11,1,0,232,0,3,0,208,3,251,13,44,16,3,0,43,1,44,16,12,14,3,0,197,5,251,13,11,15,3,0,43,11,11,15,12,14,3,0,197,5,251,13,11,15,3,0,43,11,11,15,12,14,1,0,48,4,1,0,109,9,3,0,122,31,251,13,21,22,3,0,77,17,21,22,12,14,1,0,77,17,1,0,216,30,3,0,121,0,251,13,165,14,3,0,59,0,165,14,12,14,1,0,131,6,1,0,134,4,1,0,211,11,1,0,95,6,3,0,121,0,251,13,165,14,3,0,59,0,165,14,12,14,1,0,145,6,1,0,170,17,1,0,124,9,1,0,94,17,1,0,15,0,3,0,109,6,251,13,44,16,3,0,43,1,44,16,12,14,1,0,139,9,1,0,155,11,1,0,89,0,1,0,147,4,1,0,160,4,1,0,154,9,11,0,66,37,69,37,16,3,72,37,22,3,75,37,78,37,81,37,84,37,87,37,90,37,33,27,11,6,25,6,244,30,67,6,41,9,6,31,67,27,175,7,113,3,183,5,191,0,45,0,54,0,66,0,102,0,144,0,162,0,184,0,226,0,237,0,244,0,185,24,2,1,9,1,46,1,77,1,94,1,208,24,203,34,220,24,231,24,110,1,133,1,143,1,161,1,169,1,179,1,254,1,16,2,41,2,59,2,77,2,229,28,39,25,88,2,99,2,106,2,113,2,121,2,128,2,137,2,87,25,22,29,210,23,145,2,254,34,157,2,163,2,124,25,50,34,67,34,169,2,178,2,183,2,188,2,227,23,194,2,244,23,199,25,204,2,217,2,14,35,228,2,236,2,88,3,124,3,150,3,168,3,77,35,177,3,191,3,207,3,127,30,107,35,125,35,100,29,253,3,213,16,13,4,31,4,49,4,161,35,67,4,65,17,75,4,250,25,9,26,91,4,100,4,113,4,129,4,147,4,165,4,183,4,188,4,19,26,194,4,201,4,85,26,100,26,207,4,226,4,245,4,255,4,227,35,141,26,5,5,242,35,15,5,25,5,31,5,39,5,44,30,201,26,14,24,212,26,52,5,59,5,123,34,19,36,68,5,139,34,35,24,85,5,102,5,117,5,113,32,126,5,52,36,134,5,140,5,154,5,169,5,66,36,79,36,119,20,182,5,38,27,55,27,65,27,196,5,128,36,205,5,222,5,231,5,236,5,248,5,8,6,142,36,159,36,106,27,146,27,171,34,90,24,198,27,207,32,212,27,24,6,30,6,41,6,252,27,52,6,94,29,60,6,69,6,109,24,228,36,30,28,80,6,42,28,56,28,91,6,99,6,20,37,105,6,112,6,125,6,132,6,139,6,122,28,147,6,158,6,166,6,163,28,195,33,143,24,33,37,46,37,180,28,193,28,212,28,176,6,191,36,0,80,194,36,0,80,197,36,0,80,214,36,0,80,235,36,0,80,238,36,0,80,245,36,0,80,12,37,0,80,15,37,0,80,18,37,0,80,21,37,0,80,24,37,0,80,27,37,0,80,44,37,0,80,59,37,0,80,66,37,0,80,73,37,0,80,76,37,0,80,79,37,0,80,82,37,0,80,85,37,0,80,98,37,0,80,101,37,0,80,104,37,0,80,107,37,0,80,110,37,0,80,157,37,0,80,160,37,0,80,163,37,0,80,166,37,0,80,169,37,0,80,172,37,0,80,175,37,0,80,178,37,0,80,181,37,0,80,184,37,0,80,187,37,0,80,190,37,0,80,193,37,0,80,196,37,0,80,199,37,0,80,202,37,0,80,205,37,0,80,208,37,0,80,213,37,0,80,216,37,0,80,219,37,0,80,222,37,0,80,225,37,0,80,228,37,0,80,231,37,0,80,234,37,0,80,237,37,0,80,240,37,0,80,243,37,0,80,246,37,0,80,249,37,0,80,252,37,0,80,255,37,0,80,2,38,0,80,5,38,0,80,8,38,0,80,11,38,0,80,78,38,0,80,95,38,0,80,100,38,0,80,105,38,0,80,108,38,0,80,111,38,0,80,114,38,0,80,117,38,0,80,120,38,0,80,149,38,0,80,152,38,0,80,155,38,0,80,158,38,0,80,161,38,0,80,164,38,0,80,167,38,0,80,170,38,0,80,173,38,0,80,176,38,0,80,181,38,0,80,184,38,0,80,187,38,0,80,190,38,0,80,193,38,0,80,198,38,0,80,201,38,0,80,208,38,0,80,211,38,0,80,214,38,0,80,217,38,0,80,220,38,0,80,223,38,0,80,226,38,0,80,229,38,0,80,232,38,0,80,235,38,0,80,238,38,0,80,241,38,0,80,244,38,0,80,247,38,0,80,250,38,0,80,253,38,0,80,0,39,0,80,3,39,0,80,6,39,0,80,9,39,0,80,12,39,0,80,15,39,0,80,18,39,0,80,21,39,0,80,24,39,0,80,27,39,0,80,30,39,0,80,33,39,0,80,36,39,0,80,39,39,0,80,42,39,0,80,45,39,0,80,48,39,0,80,51,39,0,80,54,39,0,80,57,39,0,80,60,39,0,80,63,39,0,80,66,39,0,80,69,39,0,80,72,39,0,80,75,39,0,80,80,39,0,80,83,39,0,80,86,39,0,80,89,39,0,80,92,39,0,80,95,39,0,80,98,39,0,80,101,39,0,80,104,39,0,80,107,39,0,80,110,39,0,80,113,39,0,80,116,39,0,80,119,39,0,80,122,39,0,80,125,39,0,80,128,39,0,80,131,39,0,80,134,39,0,80,137,39,0,80,140,39,0,80,143,39,0,80,146,39,0,80,149,39,0,80,152,39,0,80,155,39,0,80,158,39,0,80,161,39,0,80,164,39,0,80,167,39,0,80,170,39,0,80,173,39,0,80,176,39,0,80,179,39,0,80,182,39,0,80,185,39,0,80,188,39,0,80,191,39,0,80,194,39,0,80,197,39,0,80,200,39,0,80,203,39,0,80,206,39,0,80,209,39,0,80,212,39,0,80,215,39,0,80,218,39,0,80,221,39,0,80,224,39,0,80,227,39,0,80,230,39,0,80,233,39,0,80,236,39,0,80,239,39,0,80,242,39,0,80,245,39,0,80,248,39,0,80,251,39,0,80,254,39,0,80,1,40,0,80,1,0,0,0,67,41,0,144,1,0,0,0,69,41,0,144,1,0,0,0,71,41,0,144,4,0,0,0,73,41,0,144,77,41,0,144,81,41,0,144,85,41,0,144,1,0,0,0,89,41,0,144,1,0,0,0,91,41,0,144,1,0,0,0,93,41,0,144,1,0,0,0,95,41,0,144,2,0,0,0,97,41,0,144,101,41,0,144,1,0,0,0,105,41,0,144,1,0,0,0,107,41,0,144,1,0,0,0,109,41,0,144,1,0,0,0,111,41,0,144,3,0,0,0,113,41,0,144,117,41,0,144,121,41,0,144,2,0,0,0,125,41,0,144,129,41,0,144,1,0,0,0,133,41,0,144,1,0,0,0,135,41,0,144,1,0,0,0,137,41,0,144,1,0,0,0,139,41,0,144,1,0,0,0,141,41,0,144,2,0,0,0,143,41,0,144,147,41,0,144,1,0,0,0,151,41,0,144,1,0,0,0,153,41,0,144,1,0,0,0,155,41,0,144,1,0,0,0,157,41,0,144,3,0,0,0,159,41,0,144,163,41,0,144,167,41,0,144,1,0,0,0,171,41,0,144,3,0,0,0,173,41,0,144,177,41,0,144,181,41,0,144,1,0,0,0,185,41,0,144,1,0,0,0,187,41,0,144,1,0,0,0,189,41,0,144,1,0,0,0,191,41,0,144,1,0,0,0,193,41,0,144,1,0,0,0,195,41,0,144,1,0,0,0,197,41,0,144,1,0,0,0,199,41,0,144,1,0,0,0,201,41,0,144,1,0,0,0,203,41,0,144,1,0,0,0,205,41,0,144,1,0,0,0,207,41,0,144,1,0,0,0,209,41,0,144,2,0,0,0,211,41,0,144,215,41,0,144,1,0,0,0,219,41,0,144,1,0,0,0,221,41,0,144,1,0,0,0,223,41,0,144,1,0,0,0,225,41,0,144,1,0,0,0,227,41,0,144,1,0,0,0,229,41,0,144,3,0,0,0,231,41,0,144,235,41,0,144,239,41,0,144,7,0,0,0,243,41,0,144,247,41,0,144,251,41,0,144,255,41,0,144,3,42,0,144,7,42,0,144,11,42,0,144,1,0,0,0,15,42,0,144,4,0,0,0,17,42,0,144,21,42,0,144,25,42,0,144,29,42,0,144,2,0,0,0,33,42,0,144,37,42,0,144,2,0,0,0,41,42,0,144,45,42,0,144,1,0,0,0,49,42,0,144,1,0,0,0,51,42,0,144,1,0,0,0,53,42,0,144,5,0,0,0,55,42,0,144,59,42,0,144,63,42,0,144,67,42,0,144,71,42,0,144,3,0,0,0,75,42,0,144,79,42,0,144,83,42,0,144,2,0,0,0,87,42,0,144,91,42,0,144,5,0,0,0,95,42,0,144,99,42,0,144,103,42,0,144,107,42,0,144,111,42,0,144,9,0,0,0,115,42,0,144,119,42,0,144,123,42,0,144,127,42,0,144,131,42,0,144,135,42,0,144,139,42,0,144,143,42,0,144,147,42,0,144,4,0,0,0,151,42,0,144,155,42,0,144,159,42,0,144,163,42,0,144,2,0,0,0,167,42,0,144,171,42,0,144,1,0,0,0,175,42,0,144,1,0,0,0,177,42,0,144,1,0,0,0,179,42,0,144,3,0,0,0,181,42,0,144,185,42,0,144,189,42,0,144,1,0,0,0,193,42,0,144,1,0,0,0,195,42,0,144,1,0,0,0,197,42,0,144,1,0,0,0,199,42,0,144,1,0,0,0,201,42,0,144,1,0,0,0,203,42,0,144,1,0,0,0,205,42,0,144,1,0,0,0,207,42,0,144,5,0,0,0,209,42,0,144,213,42,0,144,217,42,0,144,221,42,0,144,225,42,0,144,1,0,0,0,229,42,0,144,4,0,0,0,231,42,0,144,235,42,0,144,239,42,0,144,243,42,0,144,1,0,0,0,247,42,0,144,4,0,0,0,249,42,0,144,253,42,0,144,1,43,0,144,5,43,0,144,1,0,0,0,9,43,0,144,1,0,0,0,11,43,0,144,1,0,0,0,13,43,0,144,3,0,0,0,15,43,0,144,19,43,0,144,23,43,0,144,4,0,0,0,27,43,0,144,31,43,0,144,35,43,0,144,39,43,0,144,1,0,0,0,43,43,0,144,2,0,0,0,45,43,0,144,49,43,0,144,1,0,0,0,53,43,0,144,1,0,0,0,55,43,0,144,1,0,0,0,57,43,0,144,1,0,0,0,59,43,0,144,2,0,0,0,61,43,0,144,65,43,0,144,2,0,0,0,69,43,0,144,73,43,0,144,2,0,0,0,77,43,0,144,81,43,0,144,1,0,0,0,85,43,0,144,1,0,0,0,87,43,0,144,1,0,0,0,89,43,0,144,1,0,0,0,91,43,0,144,3,0,0,0,93,43,0,144,97,43,0,144,101,43,0,144,1,0,0,0,105,43,0,144,2,0,0,0,107,43,0,144,111,43,0,144,1,0,0,0,115,43,0,144,1,0,0,0,117,43,0,144,1,0,0,0,119,43,0,144,3,0,0,0,121,43,0,144,125,43,0,144,129,43,0,144,3,0,0,0,133,43,0,144,137,43,0,144,141,43,0,144,1,0,0,0,145,43,0,144,1,0,0,0,147,43,0,144,1,0,0,0,149,43,0,144,1,0,0,0,151,43,0,144,1,0,0,0,153,43,0,144,1,0,0,0,155,43,0,144,1,0,0,0,157,43,0,144,2,0,0,0,159,43,0,144,163,43,0,144,3,0,0,0,167,43,0,144,171,43,0,144,175,43,0,144,3,0,0,0,179,43,0,144,183,43,0,144,187,43,0,144,4,0,0,0,191,43,0,144,195,43,0,144,199,43,0,144,203,43,0,144,2,0,0,0,207,43,0,144,211,43,0,144,1,0,0,0,215,43,0,144,3,0,0,0,217,43,0,144,221,43,0,144,225,43,0,144,3,0,0,0,229,43,0,144,233,43,0,144,237,43,0,144,1,0,0,0,241,43,0,144,2,0,0,0,243,43,0,144,247,43,0,144,3,0,0,0,251,43,0,144,255,43,0,144,3,44,0,144,1,0,0,0,7,44,0,144,2,0,0,0,9,44,0,144,13,44,0,144,3,0,0,0,17,44,0,144,21,44,0,144,25,44,0,144,2,0,0,0,29,44,0,144,33,44,0,144,1,0,0,0,37,44,0,144,1,0,0,0,39,44,0,144,1,0,0,0,41,44,0,144,1,0,0,0,43,44,0,144,3,0,0,0,45,44,0,144,49,44,0,144,53,44,0,144,1,0,0,0,57,44,0,144,1,0,0,0,59,44,0,144,7,0,0,0,61,44,0,144,65,44,0,144,69,44,0,144,73,44,0,144,77,44,0,144,81,44,0,144,85,44,0,144,1,0,0,0,89,44,0,144,1,0,0,0,91,44,0,144,1,0,0,0,93,44,0,144,1,0,0,0,95,44,0,144,2,0,0,0,97,44,0,144,101,44,0,144,3,0,0,0,105,44,0,144,109,44,0,144,113,44,0,144,2,0,0,0,117,44,0,144,121,44,0,144,3,0,0,0,125,44,0,144,129,44,0,144,133,44,0,144,4,0,0,0,137,44,0,144,141,44,0,144,145,44,0,144,149,44,0,144,1,0,0,0,153,44,0,144,2,0,0,0,155,44,0,144,159,44,0,144,1,0,0,0,163,44,0,144,1,0,0,0,165,44,0,144,1,0,0,0,167,44,0,144,1,0,0,0,169,44,0,144,1,0,0,0,171,44,0,144,1,0,0,0,173,44,0,144,1,0,0,0,175,44,0,144,2,0,0,0,177,44,0,144,181,44,0,144,1,0,0,0,185,44,0,144,2,0,0,0,187,44,0,144,191,44,0,144,2,0,0,0,195,44,0,144,199,44,0,144,2,0,0,0,203,44,0,144,207,44,0,144,3,0,0,0,211,44,0,144,215,44,0,144,219,44,0,144,1,0,0,0,223,44,0,144,3,0,0,0,225,44,0,144,229,44,0,144,233,44,0,144,2,0,0,0,237,44,0,144,241,44,0,144,1,0,0,0,245,44,0,144,1,0,0,0,247,44,0,144,1,0,0,0,249,44,0,144,1,0,0,0,251,44,0,144,1,0,0,0,253,44,0,144,1,0,0,0,255,44,0,144,1,0,0,0,3,45,0,144,3,0,0,0,5,45,0,144,9,45,0,144,13,45,0,144,1,0,0,0,17,45,0,144,1,0,0,0,19,45,0,144,5,0,0,0,21,45,0,144,25,45,0,144,29,45,0,144,33,45,0,144,37,45,0,144,3,0,0,0,41,45,0,144,45,45,0,144,49,45,0,144,1,0,0,0,53,45,0,144,2,0,0,0,55,45,0,144,59,45,0,144,1,0,0,0,63,45,0,144,4,0,0,0,65,45,0,144,69,45,0,144,73,45,0,144,77,45,0,144,1,0,0,0,81,45,0,144,2,0,0,0,83,45,0,144,87,45,0,144,2,0,0,0,91,45,0,144,95,45,0,144,1,0,0,0,99,45,0,144,1,0,0,0,101,45,0,144,1,0,0,0,103,45,0,144,1,0,0,0,105,45,0,144,1,0,0,0,107,45,0,144,1,0,0,0,109,45,0,144,2,0,0,0,111,45,0,144,115,45,0,144,1,0,0,0,119,45,0,144,1,0,0,0,121,45,0,144,1,0,0,0,123,45,0,144,1,0,0,0,125,45,0,144,1,0,0,0,127,45,0,144,1,0,0,0,129,45,0,144,1,0,0,0,131,45,0,144,2,0,0,0,133,45,0,144,137,45,0,144,1,0,0,0,141,45,0,144,1,0,0,0,143,45,0,144,1,0,0,0,147,45,0,144,12,0,0,0,149,45,0,144,153,45,0,144,157,45,0,144,161,45,0,144,165,45,0,144,169,45,0,144,173,45,0,144,177,45,0,144,181,45,0,144,185,45,0,144,189,45,0,144,193,45,0,144,1,0,0,0,197,45,0,144,1,0,0,0,199,45,0,144,1,0,0,0,201,45,0,144,1,0,0,0,203,45,0,144,1,0,0,0,205,45,0,144,2,0,0,0,207,45,0,144,211,45,0,144,1,0,0,0,215,45,0,144,1,0,0,0,217,45,0,144,1,0,0,0,219,45,0,144,1,0,0,0,221,45,0,144,1,0,0,0,223,45,0,144,1,0,0,0,225,45,0,144,2,0,0,0,227,45,0,144,231,45,0,144,1,0,0,0,235,45,0,144,3,0,0,0,239,45,0,144,243,45,0,144,247,45,0,144,3,0,0,0,251,45,0,144,255,45,0,144,3,46,0,144,3,0,0,0,7,46,0,144,11,46,0,144,15,46,0,144,2,0,0,0,19,46,0,144,23,46,0,144,1,0,0,0,27,46,0,144,1,0,0,0,31,46,0,144,2,0,0,0,33,46,0,144,37,46,0,144,2,0,0,0,41,46,0,144,45,46,0,144,1,0,0,0,49,46,0,144,1,0,0,0,51,46,0,144,2,0,0,0,53,46,0,144,57,46,0,144,1,0,0,0,61,46,0,144,1,0,0,0,63,46,0,144,3,0,0,0,65,46,0,144,69,46,0,144,73,46,0,144,3,0,0,0,77,46,0,144,81,46,0,144,85,46,0,144,3,0,0,0,89,46,0,144,93,46,0,144,97,46,0,144,1,0,0,0,101,46,0,144,2,0,0,0,105,46,0,144,109,46,0,144,3,0,0,0,113,46,0,144,117,46,0,144,121,46,0,144,1,0,0,0,125,46,0,144,2,0,0,0,127,46,0,144,131,46,0,144,1,0,0,0,135,46,0,144,2,0,0,0,139,46,0,144,143,46,0,144,2,0,0,0,147,46,0,144,151,46,0,144,1,0,0,0,155,46,0,144,1,0,0,0,157,46,0,144,1,0,0,0,159,46,0,144,1,0,0,0,161,46,0,144,1,0,0,0,163,46,0,144,1,0,0,0,165,46,0,144,1,0,0,0,167,46,0,144,1,0,0,0,169,46,0,144,2,0,0,0,171,46,0,144,175,46,0,144,1,0,0,0,179,46,0,144,3,0,0,0,181,46,0,144,185,46,0,144,189,46,0,144,1,0,0,0,193,46,0,144,2,0,0,0,195,46,0,144,199,46,0,144,2,0,0,0,203,46,0,144,207,46,0,144,1,0,0,0,211,46,0,144,2,0,0,0,213,46,0,144,217,46,0,144,1,0,0,0,221,46,0,144,1,0,0,0,223,46,0,144,1,0,0,0,225,46,0,144,1,0,0,0,227,46,0,144,1,0,0,0,229,46,0,144,3,0,0,0,231,46,0,144,235,46,0,144,239,46,0,144,1,0,0,0,243,46,0,144,1,0,0,0,245,46,0,144,3,0,0,0,247,46,0,144,251,46,0,144,255,46,0,144,1,0,0,0,3,47,0,144,2,0,0,0,5,47,0,144,9,47,0,144,3,0,0,0,13,47,0,144,17,47,0,144,21,47,0,144,2,0,0,0,25,47,0,144,29,47,0,144,1,0,0,0,33,47,0,144,4,0,0,0,37,47,0,144,41,47,0,144,45,47,0,144,49,47,0,144,1,0,0,0,53,47,0,144,1,0,0,0,55,47,0,144,1,0,0,0,57,47,0,144,1,0,0,0,61,47,0,144,4,0,0,0,63,47,0,144,67,47,0,144,71,47,0,144,75,47,0,144,1,0,0,0,79,47,0,144,1,0,0,0,81,47,0,144,1,0,0,0,83,47,0,144,1,0,0,0,85,47,0,144,1,0,0,0,89,47,0,144,2,0,0,0,91,47,0,144,95,47,0,144,2,0,0,0,99,47,0,144,103,47,0,144,1,0,0,0,107,47,0,144,2,0,0,0,109,47,0,144,113,47,0,144,1,0,0,0,117,47,0,144,1,0,0,0,119,47,0,144,1,0,0,0,121,47,0,144,3,0,0,0,123,47,0,144,127,47,0,144,131,47,0,144,1,0,0,0,135,47,0,144,1,0,0,0,137,47,0,144,1,0,0,0,139,47,0,144,2,0,0,0,141,47,0,144,145,47,0,144,2,0,0,0,149,47,0,144,153,47,0,144,3,0,0,0,157,47,0,144,161,47,0,144,165,47,0,144,1,0,0,0,169,47,0,144,1,0,0,0,171,47,0,144,1,0,0,0,173,47,0,144,1,0,0,0,175,47,0,144,1,0,0,0,177,47,0,144,1,0,0,0,179,47,0,144,1,0,0,0,181,47,0,144,1,0,0,0,183,47,0,144,1,0,0,0,185,47,0,144,1,0,0,0,187,47,0,144,1,0,0,0,189,47,0,144,1,0,0,0,191,47,0,144,1,0,0,0,193,47,0,144,1,0,0,0,195,47,0,144,1,0,0,0,197,47,0,144,1,0,0,0,199,47,0,144,1,0,0,0,201,47,0,144,2,0,0,0,203,47,0,144,207,47,0,144,1,0,0,0,211,47,0,144,1,0,0,0,213,47,0,144,1,0,0,0,215,47,0,144,1,0,0,0,217,47,0,144,1,0,0,0,219,47,0,144,1,0,0,0,221,47,0,144,1,0,0,0,223,47,0,144,1,0,0,0,225,47,0,144,1,0,0,0,227,47,0,144,1,0,0,0,231,47,0,144,1,0,0,0,233,47,0,144,1,0,0,0,235,47,0,144,1,0,0,0,237,47,0,144,1,0,0,0,239,47,0,144,1,0,0,0,241,47,0,144,1,0,0,0,243,47,0,144,1,0,0,0,245,47,0,144,2,0,0,0,247,47,0,144,251,47,0,144,1,0,0,0,255,47,0,144,2,0,0,0,1,48,0,144,5,48,0,144,1,0,0,0,9,48,0,144,2,0,0,0,11,48,0,144,15,48,0,144,1,0,0,0,19,48,0,144,2,0,0,0,21,48,0,144,25,48,0,144,4,0,0,0,29,48,0,144,33,48,0,144,37,48,0,144,41,48,0,144,2,0,0,0,45,48,0,144,49,48,0,144,4,0,0,0,53,48,0,144,57,48,0,144,61,48,0,144,65,48,0,144,2,0,0,0,69,48,0,144,73,48,0,144,4,0,0,0,77,48,0,144,81,48,0,144,85,48,0,144,89,48,0,144,1,0,0,0,93,48,0,144,2,0,0,0,95,48,0,144,99,48,0,144,1,0,0,0,103,48,0,144,1,0,0,0,105,48,0,144,1,0,0,0,107,48,0,144,1,0,0,0,109,48,0,144,4,0,0,0,111,48,0,144,115,48,0,144,119,48,0,144,123,48,0,144,1,0,0,0,127,48,0,144,3,0,0,0,129,48,0,144,133,48,0,144,137,48,0,144,1,0,0,0,141,48,0,144,1,0,0,0,143,48,0,144,1,0,0,0,145,48,0,144,1,0,0,0,147,48,0,144,2,0,0,0,149,48,0,144,153,48,0,144,1,0,0,0,157,48,0,144,4,0,0,0,159,48,0,144,163,48,0,144,167,48,0,144,171,48,0,144,1,0,0,0,175,48,0,144,1,0,0,0,177,48,0,144,1,0,0,0,179,48,0,144,5,0,0,0,183,48,0,144,187,48,0,144,191,48,0,144,195,48,0,144,199,48,0,144,1,0,0,0,203,48,0,144,1,0,0,0,205,48,0,144,1,0,0,0,207,48,0,144,2,0,0,0,209,48,0,144,213,48,0,144,1,0,0,0,217,48,0,144,1,0,0,0,219,48,0,144,2,0,0,0,223,48,0,144,227,48,0,144,1,0,0,0,231,48,0,144,1,0,0,0,233,48,0,144,1,0,0,0,235,48,0,144,4,0,0,0,237,48,0,144,241,48,0,144,245,48,0,144,249,48,0,144,1,0,0,0,253,48,0,144,1,0,0,0,255,48,0,144,1,0,0,0,1,49,0,144,2,0,0,0,3,49,0,144,7,49,0,144,1,0,0,0,11,49,0,144,1,0,0,0,13,49,0,144,1,0,0,0,15,49,0,144,1,0,0,0,17,49,0,144,1,0,0,0,19,49,0,144,1,0,0,0,21,49,0,144,1,0,0,0,23,49,0,144,1,0,0,0,25,49,0,144,1,0,0,0,27,49,0,144,1,0,0,0,29,49,0,144,1,0,0,0,31,49,0,144,1,0,0,0,33,49,0,144,1,0,0,0,35,49,0,144,1,0,0,0,37,49,0,144,1,0,0,0,39,49,0,144,1,0,0,0,41,49,0,144,1,0,0,0,43,49,0,144,1,0,0,0,47,49,0,144,1,0,0,0,49,49,0,144,1,0,0,0,51,49,0,144,1,0,0,0,53,49,0,144,1,0,0,0,55,49,0,144,1,0,0,0,57,49,0,144,1,0,0,0,59,49,0,144,2,0,0,0,61,49,0,144,65,49,0,144,1,0,0,0,69,49,0,144,1,0,0,0,71,49,0,144,2,0,0,0,73,49,0,144,77,49,0,144,2,0,0,0,81,49,0,144,85,49,0,144,2,0,0,0,89,49,0,144,93,49,0,144,1,0,0,0,97,49,0,144,1,0,0,0,99,49,0,144,2,0,0,0,101,49,0,144,105,49,0,144,1,0,0,0,109,49,0,144,1,0,0,0,111,49,0,144,2,0,0,0,113,49,0,144,117,49,0,144,1,0,0,0,121,49,0,144,1,0,0,0,123,49,0,144,1,0,0,0,125,49,0,144,1,0,0,0,127,49,0,144,2,0,0,0,129,49,0,144,133,49,0,144,1,0,0,0,137,49,0,144,1,0,0,0,139,49,0,144,1,0,0,0,141,49,0,144,1,0,0,0,143,49,0,144,1,0,0,0,145,49,0,144,2,0,0,0,147,49,0,144,151,49,0,144,1,0,0,0,155,49,0,144,1,0,0,0,157,49,0,144,1,0,0,0,159,49,0,144,1,0,0,0,161,49,0,144,1,0,0,0,163,49,0,144,1,0,0,0,165,49,0,144,174,1,209,9,224,9,237,9,0,10,15,10,29,10,43,10,57,10,71,10,85,10,101,10,120,10,137,10,150,10,168,10,181,10,196,10,209,10,230,10,246,10,4,11,20,11,36,11,52,11,66,11,86,11,98,11,113,11,129,11,143,11,159,11,172,11,190,11,202,11,216,11,234,11,248,11,6,12,20,12,34,12,49,12,66,12,82,12,97,12,113,12,127,12,145,12,164,12,182,12,198,12,213,12,226,12,242,12,255,12,17,13,34,13,50,13,68,13,95,13,126,13,150,13,177,13,204,13,230,13,0,14,14,14,31,14,45,14,68,14,85,14,99,14,114,14,135,14,153,14,168,14,182,14,203,14,225,14,246,14,5,15,21,15,39,15,55,15,70,15,86,15,104,15,126,15,148,15,164,15,183,15,199,15,214,15,230,15,251,15,10,16,31,16,46,16,62,16,79,16,96,16,113,16,133,16,153,16,171,16,189,16,205,16,223,16,242,16,2,17,21,17,39,17,57,17,72,17,88,17,103,17,122,17,143,17,167,17,194,17,220,17,242,17,12,18,36,18,57,18,72,18,88,18,104,18,118,18,133,18,161,18,180,18,195,18,208,18,228,18,247,18,13,19,28,19,44,19,59,19,75,19,94,19,112,19,129,19,145,19,163,19,178,19,197,19,217,19,234,19,250,19,12,20,31,20,50,20,65,20,82,20,98,20,111,20,127,20,155,20,183,20,214,20,230,20,245,20,9,21,28,21,44,21,67,21,89,21,109,21,129,21,150,21,170,21,191,21,206,21,221,21,238,21,1,22,22,22,39,22,56,22,78,22,96,22,117,22,131,22,153,22,170,22,187,22,204,22,222,22,241,22,7,23,27,23,41,23,61,23,77,23,93,23,109,23,127,23,146,23,163,23,179,23,199,23,216,23,233,23,3,24,24,24,42,24,61,24,79,24,98,24,115,24,132,24,150,24,170,24,180,24,192,24,203,24,215,24,226,24,238,24,252,24,8,25,21,25,34,25,44,25,57,25,69,25,82,25,94,25,108,25,119,25,135,25,148,25,162,25,173,25,183,25,194,25,208,25,223,25,233,25,245,25,4,26,14,26,27,26,40,26,54,26,69,26,80,26,95,26,108,26,122,26,136,26,153,26,171,26,184,26,196,26,207,26,220,26,234,26,246,26,2,27,15,27,33,27,50,27,60,27,70,27,86,27,101,27,116,27,127,27,141,27,156,27,169,27,181,27,193,27,207,27,222,27,233,27,247,27,6,28,25,28,37,28,51,28,64,28,76,28,89,28,100,28,117,28,129,28,143,28,158,28,175,28,188,28,207,28,220,28,236,28,253,28,13,29,33,29,49,29,66,29,85,29,108,29,127,29,144,29,163,29,182,29,204,29,221,29,238,29,254,29,15,30,34,30,54,30,74,30,90,30,107,30,115,30,123,30,131,30,148,30,163,30,180,30,194,30,210,30,224,30,242,30,2,31,19,31,35,31,51,31,67,31,85,31,99,31,116,31,132,31,148,31,167,31,183,31,197,31,216,31,228,31,242,31,3,32,17,32,35,32,49,32,62,32,79,32,92,32,106,32,120,32,132,32,145,32,162,32,176,32,188,32,200,32,214,32,232,32,248,32,7,33,25,33,39,33,52,33,69,33,84,33,98,33,115,33,131,33,144,33,159,33,173,33,188,33,205,33,219,33,233,33,251,33,9,34,29,34,43,34,60,34,73,34,87,34,104,34,116,34,132,34,149,34,164,34,179,34,187,34,195,34,208,34,225,34,246,34,6,35,21,35,35,35,53,35,69,35,82,35,99,35,117,35,133,35,153,35,166,35,183,35,200,35,219,35,234,35,252,35,11,36,29,36,44,36,58,36,71,36,87,36,102,36,120,36,134,36,151,36,166,36,187,36,205,36,220,36,235,36,250,36,12,37,25,37,38,37,170,170,86,35,0,128,88,35,0,128,90,35,0,128,92,35,0,128,97,35,0,128,99,35,0,128,101,35,0,128,103,35,0,128,105,35,0,128,108,35,0,128,110,35,0,128,112,35,0,128,114,35,0,128,116,35,0,128,120,35,0,128,123,35,0,128,125,35,0,128,127,35,0,128,129,35,0,128,131,35,0,128,133,35,0,128,136,35,0,128,138,35,0,128,140,35,0,128,142,35,0,128,144,35,0,128,148,35,0,128,150,35,0,128,154,35,0,128,156,35,0,128,158,35,0,128,160,35,0,128,162,35,0,128,164,35,0,128,166,35,0,128,168,35,0,128,170,35,0,128,172,35,0,128,174,35,0,128,176,35,0,128,178,35,0,128,180,35,0,128,183,35,0,128,185,35,0,128,187,35,0,128,189,35,0,128,191,35,0,128,193,35,0,128,195,35,0,128,199,35,0,128,207,35,0,128,209,35,0,128,214,35,0,128,217,35,0,128,220,35,0,128,222,35,0,128,224,35,0,128,226,35,0,128,232,35,0,128,236,35,0,128,239,35,0,128,245,35,0,128,255,35,0,128,4,36,0,128,7,36,0,128,9,36,0,128,11,36,0,128,13,36,0,128,17,36,0,128,19,36,0,128,21,36,0,128,23,36,0,128,25,36,0,128,27,36,0,128,29,36,0,128,31,36,0,128,33,36,0,128,39,36,0,128,41,36,0,128,46,36,0,128,48,36,0,128,53,36,0,128,55,36,0,128,57,36,0,128,59,36,0,128,63,36,0,128,68,36,0,128,70,36,0,128,73,36,0,128,75,36,0,128,77,36,0,128,79,36,0,128,81,36,0,128,84,36,0,128,87,36,0,128,90,36,0,128,92,36,0,128,94,36,0,128,96,36,0,128,98,36,0,128,102,36,0,128,104,36,0,128,107,36,0,128,109,36,0,128,111,36,0,128,113,36,0,128,117,36,0,128,121,36,0,128,123,36,0,128,125,36,0,128,127,36,0,128,129,36,0,128,131,36,0,128,133,36,0,128,135,36,0,128,138,36,0,128,142,36,0,128,146,36,0,128,151,36,0,128,154,36,0,128,156,36,0,128,160,36,0,128,164,36,0,128,166,36,0,128,169,36,0,128,173,36,0,128,175,36,0,128,178,36,0,128,182,36,0,128,185,36,0,128,187,36,0,128,189,36,0,128,191,36,0,128,193,36,0,128,197,36,0,128,199,36,0,128,201,36,0,128,209,36,0,128,211,36,0,128,213,36,0,128,215,36,0,128,217,36,0,128,220,36,0,128,224,36,0,128,227,36,0,128,231,36,0,128,236,36,0,128,238,36,0,128,241,36,0,128,243,36,0,128,245,36,0,128,247,36,0,128,249,36,0,128,251,36,0,128,253,36,0,128,255,36,0,128,2,37,0,128,4,37,0,128,7,37,0,128,10,37,0,128,13,37,0,128,17,37,0,128,19,37,0,128,23,37,0,128,26,37,0,128,28,37,0,128,30,37,0,128,32,37,0,128,34,37,0,128,36,37,0,128,38,37,0,128,40,37,0,128,44,37,0,128,46,37,0,128,48,37,0,128,54,37,0,128,58,37,0,128,60,37,0,128,63,37,0,128,65,37,0,128,70,37,0,128,72,37,0,128,75,37,0,128,78,37,0,128,80,37,0,128,82,37,0,128,84,37,0,128,86,37,0,128,88,37,0,128,90,37,0,128,93,37,0,128,95,37,0,128,97,37,0,128,99,37,0,128,101,37,0,128,103,37,0,128,105,37,0,128,107,37,0,128,110,37,0,128,112,37,0,128,114,37,0,128,116,37,0,128,129,37,0,128,131,37,0,128,133,37,0,128,135,37,0,128,137,37,0,128,139,37,0,128,142,37,0,128,144,37,0,128,146,37,0,128,148,37,0,128,150,37,0,128,152,37,0,128,154,37,0,128,157,37,0,128,159,37,0,128,163,37,0,128,167,37,0,128,171,37,0,128,174,37,0,128,176,37,0,128,178,37,0,128,181,37,0,128,184,37,0,128,186,37,0,128,188,37,0,128,191,37,0,128,193,37,0,128,195,37,0,128,199,37,0,128,203,37,0,128,207,37,0,128,209,37,0,128,212,37,0,128,216,37,0,128,218,37,0,128,221,37,0,128,223,37,0,128,226,37,0,128,229,37,0,128,231,37,0,128,233,37,0,128,235,37,0,128,237,37,0,128,239,37,0,128,241,37,0,128,243,37,0,128,245,37,0,128,248,37,0,128,250,37,0,128,254,37,0,128,0,38,0,128,3,38,0,128,6,38,0,128,8,38,0,128,11,38,0,128,13,38,0,128,15,38,0,128,17,38,0,128,19,38,0,128,21,38,0,128,25,38,0,128,27,38,0,128,29,38,0,128,33,38,0,128,35,38,0,128,38,38,0,128,42,38,0,128,45,38,0,128,47,38,0,128,52,38,0,128,54,38,0,128,56,38,0,128,58,38,0,128,60,38,0,128,65,38,0,128,67,38,0,128,69,38,0,128,71,38,0,128,73,38,0,128,75,38,0,128,78,38,0,128,81,38,0,128,83,38,0,128,86,38,0,128,88,38,0,128,90,38,0,128,92,38,0,128,96,38,0,128,98,38,0,128,100,38,0,128,102,38,0,128,105,38,0,128,108,38,0,128,112,38,0,128,114,38,0,128,116,38,0,128,118,38,0,128,120,38,0,128,122,38,0,128,124,38,0,128,126,38,0,128,128,38,0,128,130,38,0,128,132,38,0,128,134,38,0,128,136,38,0,128,138,38,0,128,140,38,0,128,142,38,0,128,144,38,0,128,146,38,0,128,149,38,0,128,151,38,0,128,153,38,0,128,155,38,0,128,157,38,0,128,159,38,0,128,161,38,0,128,163,38,0,128,165,38,0,128,167,38,0,128,169,38,0,128,171,38,0,128,173,38,0,128,175,38,0,128,177,38,0,128,179,38,0,128,181,38,0,128,183,38,0,128,186,38,0,128,188,38,0,128,191,38,0,128,193,38,0,128,196,38,0,128,198,38,0,128,201,38,0,128,206,38,0,128,209,38,0,128,214,38,0,128,217,38,0,128,222,38,0,128,224,38,0,128,227,38,0,128,229,38,0,128,231,38,0,128,233,38,0,128,235,38,0,128,240,38,0,128,242,38,0,128,246,38,0,128,248,38,0,128,250,38,0,128,252,38,0,128,254,38,0,128,1,39,0,128,3,39,0,128,8,39,0,128,10,39,0,128,12,39,0,128,14,39,0,128,20,39,0,128,22,39,0,128,24,39,0,128,26,39,0,128,29,39,0,128,31,39,0,128,33,39,0,128,36,39,0,128,38,39,0,128,40,39,0,128,42,39,0,128,47,39,0,128,49,39,0,128,51,39,0,128,53,39,0,128,56,39,0,128,58,39,0,128,60,39,0,128,62,39,0,128,64,39,0,128,66,39,0,128,68,39,0,128,70,39,0,128,72,39,0,128,74,39,0,128,76,39,0,128,78,39,0,128,80,39,0,128,82,39,0,128,84,39,0,128,86,39,0,128,88,39,0,128,90,39,0,128,92,39,0,128,94,39,0,128,96,39,0,128,98,39,0,128,100,39,0,128,102,39,0,128,104,39,0,128,107,39,0,128,109,39,0,128,111,39,0,128,114,39,0,128,117,39,0,128,120,39,0,128,122,39,0,128,124,39,0,128,127,39,0,128,129,39,0,128,131,39,0,128,134,39,0,128,136,39,0,128,138,39,0,128,140,39,0,128,142,39,0,128,145,39,0,128,147,39,0,128,149,39,0,128,151,39,0,128,153,39,0,128,155,39,0,128,158,39,0,128,160,39,0,128,162,39,0,128,164,39,0,128,166,39,0,128,168,39,0,128,4,0,32,0,182,6,196,9,53,37,170,170,55,34,0,32,4,40,0,80,170,39,0,32,167,49,0,80,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,184,36,0,32,7,0,0,0,157,5,0,0,188,36,0,0,188,36,0,0,128,2,0,0,1,0,0,0,30,29,0,0,97,108,105,97,115,0,108,97,110,103,117,97,103,101,0,97,97,95,115,97,97,104,111,0,114,101,97,115,111,110,0,114,101,112,108,97,99,101,109,101,110,116,0,97,97,109,0,97,97,114,0,97,98,107,0,97,100,112,0,97,102,114,0,97,103,112,0,97,105,115,0,97,106,116,0,97,106,117,0,97,107,97,0,97,108,98,0,97,108,115,0,97,109,104,0,97,114,97,0,97,114,98,0,97,114,103,0,97,114,109,0,97,114,116,95,108,111,106,98,97,110,0,97,115,100,0,97,115,109,0,97,117,101,0,97,118,97,0,97,118,101,0,97,121,109,0,97,121,114,0,97,121,120,0,97,122,101,0,97,122,106,0,98,97,107,0,98,97,109,0,98,97,113,0,98,97,122,0,98,99,99,0,98,99,108,0,98,101,108,0,98,101,110,0,98,103,109,0,98,104,0,98,104,107,0,98,105,99,0,98,105,104,0,98,105,115,0,98,106,100,0,98,106,113,0,98,107,98,0,98,108,103,0,98,111,100,0,98,111,115,0,98,114,101,0,98,116,98,0,98,117,108,0,98,117,114,0,98,120,107,0,98,120,114,0,99,97,116,0,99,99,113,0,99,101,108,95,103,97,117,108,105,115,104,0,99,101,115,0,99,104,97,0,99,104,101,0,99,104,105,0,99,104,117,0,99,104,118,0,99,106,114,0,99,107,97,0,99,108,100,0,99,109,107,0,99,110,114,0,99,111,114,0,99,111,115,0,99,111,121,0,99,113,117,0,99,114,101,0,99,119,100,0,99,121,109,0,99,122,101,0,100,97,102,0,100,97,110,0,100,97,112,0,100,101,117,0,100,103,111,0,100,104,100,0,100,105,107,0,100,105,113,0,100,105,116,0,100,105,118,0,100,106,108,0,100,107,108,0,100,114,104,0,100,114,114,0,100,114,119,0,100,117,100,0,100,117,106,0,100,117,116,0,100,119,108,0,100,122,111,0,101,107,107,0,101,108,108,0,101,108,112,0,101,109,107,0,101,110,95,71,66,95,111,101,100,0,101,110,103,0,101,112,111,0,101,115,107,0,101,115,116,0,101,117,115,0,101,119,101,0,102,97,111,0,102,97,115,0,102,97,116,0,102,105,106,0,102,105,110,0,102,114,97,0,102,114,101,0,102,114,121,0,102,117,99,0,102,117,108,0,103,97,118,0,103,97,122,0,103,98,99,0,103,98,111,0,103,101,111,0,103,101,114,0,103,102,120,0,103,103,110,0,103,103,111,0,103,103,114,0,103,105,111,0,103,108,97,0,103,108,101,0,103,108,103,0,103,108,105,0,103,108,118,0,103,110,111,0,103,114,101,0,103,114,110,0,103,116,105,0,103,117,103,0,103,117,106,0,103,117,118,0,103,121,97,0,104,97,116,0,104,97,117,0,104,98,115,0,104,100,110,0,104,101,97,0,104,101,98,0,104,101,114,0,104,105,109,0,104,105,110,0,104,109,111,0,104,114,114,0,104,114,118,0,104,117,110,0,104,121,95,97,114,101,118,109,100,97,0,104,121,101,0,105,95,97,109,105,0,105,95,98,110,110,0,105,95,100,101,102,97,117,108,116,0,105,95,101,110,111,99,104,105,97,110,0,105,95,104,97,107,0,105,95,107,108,105,110,103,111,110,0,105,95,108,117,120,0,105,95,109,105,110,103,111,0,105,95,110,97,118,97,106,111,0,105,95,112,119,110,0,105,95,116,97,111,0,105,95,116,97,121,0,105,95,116,115,117,0,105,98,105,0,105,98,111,0,105,99,101,0,105,100,111,0,105,105,105,0,105,107,101,0,105,107,117,0,105,108,101,0,105,108,108,0,105,108,119,0,105,110,97,0,105,110,100,0,105,112,107,0,105,115,108,0,105,116,97,0,105,122,105,0,106,97,114,0,106,97,118,0,106,101,103,0,106,112,110,0,106,119,0,107,97,108,0,107,97,110,0,107,97,115,0,107,97,116,0,107,97,117,0,107,97,122,0,107,100,118,0,107,103,99,0,107,103,100,0,107,103,104,0,107,104,107,0,107,104,109,0,107,105,107,0,107,105,110,0,107,105,114,0,107,109,114,0,107,110,99,0,107,110,103,0,107,110,110,0,107,111,106,0,107,111,109,0,107,111,110,0,107,111,114,0,107,112,112,0,107,112,118,0,107,114,109,0,107,116,114,0,107,117,97,0,107,117,114,0,107,118,115,0,107,119,113,0,107,120,101,0,107,120,108,0,107,122,104,0,107,122,106,0,107,122,116,0,108,97,107,0,108,97,111,0,108,97,116,0,108,97,118,0,108,98,107,0,108,101,103,0,108,105,105,0,108,105,109,0,108,105,110,0,108,105,116,0,108,108,111,0,108,109,109,0,108,116,122,0,108,117,98,0,108,117,103,0,108,118,115,0,109,97,99,0,109,97,104,0,109,97,111,0,109,97,114,0,109,97,121,0,109,101,103,0,109,103,120,0,109,104,114,0,109,107,100,0,109,108,103,0,109,108,116,0,109,110,107,0,109,110,116,0,109,111,102,0,109,111,108,0,109,111,110,0,109,114,105,0,109,115,97,0,109,115,116,0,109,117,112,0,109,119,100,0,109,119,106,0,109,121,97,0,109,121,100,0,109,121,116,0,110,97,100,0,110,97,117,0,110,97,118,0,110,98,102,0,110,98,108,0,110,98,120,0,110,99,112,0,110,100,101,0,110,100,111,0,110,101,112,0,110,108,100,0,110,108,110,0,110,108,114,0,110,110,111,0,110,110,115,0,110,110,120,0,110,111,95,98,111,107,0,110,111,95,98,111,107,109,97,108,0,110,111,95,110,121,110,0,110,111,95,110,121,110,111,114,115,107,0,110,111,98,0,110,111,111,0,110,111,114,0,110,112,105,0,110,116,115,0,110,120,117,0,110,121,97,0,111,99,105,0,111,106,103,0,111,106,105,0,111,114,105,0,111,114,109,0,111,115,115,0,111,117,110,0,112,97,110,0,112,97,116,0,112,98,117,0,112,99,114,0,112,101,114,0,112,101,115,0,112,108,105,0,112,108,116,0,112,109,99,0,112,109,117,0,112,110,98,0,112,111,108,0,112,111,114,0,112,112,97,0,112,112,114,0,112,114,115,0,112,114,121,0,112,117,115,0,112,117,122,0,113,117,101,0,113,117,122,0,114,109,114,0,114,109,121,0,114,111,104,0,114,111,110,0,114,117,109,0,114,117,110,0,114,117,115,0,115,97,103,0,115,97,110,0,115,97,112,0,115,99,97,0,115,99,99,0,115,99,114,0,115,103,108,0,115,103,110,95,66,69,95,70,82,0,115,103,110,95,66,69,95,78,76,0,115,103,110,95,66,82,0,115,103,110,95,67,72,95,68,69,0,115,103,110,95,67,79,0,115,103,110,95,68,69,0,115,103,110,95,68,75,0,115,103,110,95,69,83,0,115,103,110,95,70,82,0,115,103,110,95,71,66,0,115,103,110,95,71,82,0,115,103,110,95,73,69,0,115,103,110,95,73,84,0,115,103,110,95,74,80,0,115,103,110,95,77,88,0,115,103,110,95,78,73,0,115,103,110,95,78,76,0,115,103,110,95,78,79,0,115,103,110,95,80,84,0,115,103,110,95,83,69,0,115,103,110,95,85,83,0,115,103,110,95,90,65,0,115,105,110,0,115,107,107,0,115,108,107,0,115,108,111,0,115,108,118,0,115,109,100,0,115,109,101,0,115,109,111,0,115,110,97,0,115,110,98,0,115,110,100,0,115,111,109,0,115,111,116,0,115,112,97,0,115,112,121,0,115,113,105,0,115,114,99,0,115,114,100,0,115,114,112,0,115,115,119,0,115,117,108,0,115,117,110,0,115,119,97,0,115,119,99,0,115,119,101,0,115,119,104,0,116,97,104,0,116,97,109,0,116,97,116,0,116,100,117,0,116,101,108,0,116,103,103,0,116,103,107,0,116,103,108,0,116,104,97,0,116,104,99,0,116,104,119,0,116,104,120,0,116,105,98,0,116,105,100,0,116,105,101,0,116,105,114,0,116,107,107,0,116,108,0,116,108,119,0,116,109,112,0,116,110,101,0,116,110,102,0,116,115,102,0,116,115,110,0,116,115,111,0,116,116,113,0,116,117,107,0,116,117,114,0,116,119,0,116,119,105,0,117,105,103,0,117,107,114,0,117,109,117,0,117,110,100,95,97,97,108,97,110,100,0,117,110,100,95,97,114,101,118,101,108,97,0,117,110,100,95,97,114,101,118,109,100,97,0,117,110,100,95,98,111,107,109,97,108,0,117,110,100,95,104,97,107,107,97,0,117,110,100,95,104,101,112,98,117,114,110,95,104,101,112,108,111,99,0,117,110,100,95,108,111,106,98,97,110,0,117,110,100,95,110,121,110,111,114,115,107,0,117,110,100,95,115,97,97,104,111,0,117,110,100,95,120,105,97,110,103,0,117,110,112,0,117,111,107,0,117,114,100,0,117,122,98,0,117,122,110,0,118,101,110,0,118,105,101,0,118,111,108,0,119,101,108,0,119,103,119,0,119,105,116,0,119,105,119,0,119,108,110,0,119,111,108,0,120,98,97,0,120,104,111,0,120,105,97,0,120,107,104,0,120,112,101,0,120,114,113,0,120,115,106,0,120,115,108,0,121,98,100,0,121,100,100,0,121,101,110,0,121,105,100,0,121,105,121,0,121,109,97,0,121,109,116,0,121,111,114,0,121,111,115,0,121,117,117,0,122,97,105,0,122,104,95,99,109,110,0,122,104,95,99,109,110,95,72,97,110,115,0,122,104,95,99,109,110,95,72,97,110,116,0,122,104,95,103,97,110,0,122,104,95,103,117,111,121,117,0,122,104,95,104,97,107,107,97,0,122,104,95,109,105,110,0,122,104,95,109,105,110,95,110,97,110,0,122,104,95,119,117,117,0,122,104,95,120,105,97,110,103,0,122,104,95,121,117,101,0,122,104,97,0,122,104,111,0,122,105,114,0,122,115,109,0,122,117,108,0,122,121,98,0,115,99,114,105,112,116,0,81,97,97,105,0,115,117,98,100,105,118,105,115,105,111,110,0,99,110,49,49,0,99,110,49,50,0,99,110,49,51,0,99,110,49,52,0,99,110,49,53,0,99,110,50,49,0,99,110,50,50,0,99,110,50,51,0,99,110,51,49,0,99,110,51,50,0,99,110,51,51,0,99,110,51,52,0,99,110,51,53,0,99,110,51,54,0,99,110,51,55,0,99,110,52,49,0,99,110,52,50,0,99,110,52,51,0,99,110,52,52,0,99,110,52,53,0,99,110,52,54,0,99,110,53,48,0,99,110,53,49,0,99,110,53,50,0,99,110,53,51,0,99,110,53,52,0,99,110,54,49,0,99,110,54,50,0,99,110,54,51,0,99,110,54,52,0,99,110,54,53,0,99,110,55,49,0,99,110,57,49,0,99,110,57,50,0,99,122,49,48,97,0,99,122,49,48,98,0,99,122,49,48,99,0,99,122,49,48,100,0,99,122,49,48,101,0,99,122,49,48,102,0,99,122,54,49,49,0,99,122,54,49,50,0,99,122,54,49,51,0,99,122,54,49,52,0,99,122,54,49,53,0,99,122,54,50,49,0,99,122,54,50,50,0,99,122,54,50,51,0,99,122,54,50,52,0,99,122,54,50,54,0,99,122,54,50,55,0,99,122,106,99,0,99,122,106,109,0,99,122,107,97,0,99,122,107,114,0,99,122,108,105,0,99,122,109,111,0,99,122,111,108,0,99,122,112,97,0,99,122,112,108,0,99,122,112,114,0,99,122,115,116,0,99,122,117,115,0,99,122,118,121,0,99,122,122,108,0,102,105,48,49,0,102,114,98,0,102,114,98,108,0,102,114,99,0,102,114,99,112,0,102,114,100,0,102,114,102,0,102,114,103,0,102,114,103,102,0,102,114,103,112,0,102,114,104,0,102,114,105,0,102,114,106,0,102,114,107,0,102,114,108,0,102,114,109,0,102,114,109,102,0,102,114,109,113,0,102,114,110,0,102,114,110,99,0,102,114,111,0,102,114,112,0,102,114,112,102,0,102,114,112,109,0,102,114,113,0,102,114,114,0,102,114,114,101,0,102,114,115,0,102,114,116,0,102,114,116,102,0,102,114,117,0,102,114,118,0,102,114,119,102,0,102,114,121,116,0,108,97,120,110,0,108,117,100,0,108,117,108,0,109,114,110,107,99,0,110,108,97,119,0,110,108,99,119,0,110,108,115,120,0,110,111,50,51,0,110,122,110,0,110,122,115,0,111,109,98,97,0,111,109,115,104,0,112,108,100,115,0,112,108,107,112,0,112,108,108,98,0,112,108,108,100,0,112,108,108,117,0,112,108,109,97,0,112,108,109,122,0,112,108,111,112,0,112,108,112,100,0,112,108,112,107,0,112,108,112,109,0,112,108,115,107,0,112,108,115,108,0,112,108,119,110,0,112,108,119,112,0,112,108,122,112,0,115,104,116,97,0,116,116,101,116,111,0,116,116,114,99,109,0,116,116,119,116,111,0,116,119,107,104,113,0,116,119,116,110,113,0,116,119,116,112,113,0,116,119,116,120,113,0,117,115,97,115,0,117,115,103,117,0,117,115,109,112,0,117,115,112,114,0,117,115,117,109,0,117,115,118,105,0,116,101,114,114,105,116,111,114,121,0,48,48,52,0,48,48,56,0,48,49,48,0,48,49,50,0,48,49,54,0,48,50,48,0,48,50,52,0,48,50,56,0,48,51,49,0,48,51,50,0,48,51,54,0,48,52,48,0,48,52,52,0,48,52,56,0,48,53,48,0,48,53,49,0,48,53,50,0,48,53,54,0,48,54,48,0,48,54,50,0,48,54,52,0,48,54,56,0,48,55,48,0,48,55,50,0,48,55,52,0,48,55,54,0,48,56,52,0,48,56,54,0,48,57,48,0,48,57,50,0,48,57,54,0,49,48,48,0,49,48,52,0,49,48,56,0,49,49,50,0,49,49,54,0,49,50,48,0,49,50,52,0,49,51,50,0,49,51,54,0,49,52,48,0,49,52,52,0,49,52,56,0,49,53,50,0,49,53,54,0,49,53,56,0,49,54,50,0,49,54,54,0,49,55,48,0,49,55,50,0,49,55,52,0,49,55,53,0,49,55,56,0,49,56,48,0,49,56,52,0,49,56,56,0,49,57,49,0,49,57,50,0,49,57,54,0,50,48,48,0,50,48,51,0,50,48,52,0,50,48,56,0,50,49,50,0,50,49,52,0,50,49,56,0,50,50,50,0,50,50,54,0,50,51,48,0,50,51,49,0,50,51,50,0,50,51,51,0,50,51,52,0,50,51,56,0,50,51,57,0,50,52,50,0,50,52,54,0,50,52,56,0,50,52,57,0,50,53,48,0,50,53,52,0,50,53,56,0,50,54,48,0,50,54,50,0,50,54,54,0,50,54,56,0,50,55,48,0,50,55,53,0,50,55,54,0,50,55,56,0,50,56,48,0,50,56,56,0,50,57,50,0,50,57,54,0,51,48,48,0,51,48,52,0,51,48,56,0,51,49,50,0,51,49,54,0,51,50,48,0,51,50,52,0,51,50,56,0,51,51,50,0,51,51,52,0,51,51,54,0,51,52,48,0,51,52,52,0,51,52,56,0,51,53,50,0,51,53,54,0,51,54,48,0,51,54,52,0,51,54,56,0,51,55,50,0,51,55,54,0,51,56,48,0,51,56,52,0,51,56,56,0,51,57,50,0,51,57,56,0,52,48,48,0,52,48,52,0,52,48,56,0,52,49,48,0,52,49,52,0,52,49,55,0,52,49,56,0,52,50,50,0,52,50,54,0,52,50,56,0,52,51,48,0,52,51,52,0,52,51,56,0,52,52,48,0,52,52,50,0,52,52,54,0,52,53,48,0,52,53,52,0,52,53,56,0,52,54,50,0,52,54,54,0,52,55,48,0,52,55,52,0,52,55,56,0,52,56,48,0,52,56,52,0,52,57,50,0,52,57,54,0,52,57,56,0,52,57,57,0,53,48,48,0,53,48,52,0,53,48,56,0,53,49,50,0,53,49,54,0,53,50,48,0,53,50,52,0,53,50,56,0,53,51,48,0,53,51,49,0,53,51,50,0,53,51,51,0,53,51,52,0,53,51,53,0,53,51,54,0,53,52,48,0,53,52,56,0,53,53,52,0,53,53,56,0,53,54,50,0,53,54,54,0,53,55,48,0,53,55,52,0,53,55,56,0,53,56,48,0,53,56,49,0,53,56,50,0,53,56,51,0,53,56,52,0,53,56,53,0,53,56,54,0,53,57,49,0,53,57,56,0,54,48,48,0,54,48,52,0,54,48,56,0,54,49,54,0,54,50,48,0,54,51,48,0,54,51,52,0,54,51,56,0,54,52,50,0,54,52,51,0,54,52,54,0,54,53,50,0,54,53,52,0,54,53,57,0,54,54,48,0,54,54,50,0,54,54,51,0,54,54,54,0,54,55,48,0,54,55,52,0,54,55,56,0,54,56,50,0,54,56,54,0,54,56,56,0,54,57,48,0,54,57,52,0,55,48,50,0,55,48,51,0,55,48,52,0,55,48,53,0,55,48,54,0,55,49,48,0,55,49,54,0,55,50,48,0,55,50,52,0,55,50,56,0,55,50,57,0,55,51,50,0,55,51,54,0,55,52,48,0,55,52,52,0,55,52,56,0,55,53,50,0,55,53,54,0,55,54,48,0,55,54,50,0,55,54,52,0,55,54,56,0,55,55,50,0,55,55,54,0,55,56,48,0,55,56,52,0,55,56,56,0,55,57,50,0,55,57,53,0,55,57,54,0,55,57,56,0,56,48,48,0,56,48,52,0,56,48,55,0,56,49,48,0,56,49,56,0,56,50,54,0,56,51,48,0,56,51,49,0,56,51,50,0,56,51,51,0,56,51,52,0,56,52,48,0,56,53,48,0,56,53,52,0,56,53,56,0,56,54,48,0,56,54,50,0,56,55,54,0,56,56,50,0,56,56,54,0,56,56,55,0,56,57,48,0,56,57,49,0,56,57,52,0,57,53,56,0,57,53,57,0,57,54,48,0,57,54,50,0,57,54,51,0,57,54,52,0,57,54,53,0,57,54,54,0,57,54,55,0,57,54,56,0,57,54,57,0,57,55,48,0,57,55,49,0,57,55,50,0,57,55,51,0,57,55,52,0,57,55,53,0,57,55,54,0,57,55,55,0,57,55,56,0,57,55,57,0,57,56,48,0,57,56,49,0,57,56,50,0,57,56,51,0,57,56,52,0,57,56,53,0,57,56,54,0,57,56,55,0,57,56,56,0,57,56,57,0,57,57,48,0,57,57,49,0,57,57,50,0,57,57,51,0,57,57,52,0,57,57,53,0,57,57,54,0,57,57,55,0,57,57,56,0,57,57,57,0,65,65,65,0,65,66,87,0,65,70,71,0,65,71,79,0,65,73,65,0,65,76,65,0,65,76,66,0,65,78,68,0,65,78,84,0,65,82,69,0,65,82,71,0,65,82,77,0,65,83,67,0,65,83,77,0,65,84,65,0,65,84,70,0,65,84,71,0,65,85,83,0,65,85,84,0,65,90,69,0,66,68,73,0,66,69,76,0,66,69,78,0,66,69,83,0,66,70,65,0,66,71,68,0,66,71,82,0,66,72,82,0,66,72,83,0,66,73,72,0,66,76,77,0,66,76,82,0,66,76,90,0,66,77,85,0,66,79,76,0,66,82,65,0,66,82,66,0,66,82,78,0,66,84,78,0,66,85,0,66,85,82,0,66,86,84,0,66,87,65,0,67,65,70,0,67,65,78,0,67,67,75,0,67,72,69,0,67,72,76,0,67,72,78,0,67,73,86,0,67,77,82,0,67,79,68,0,67,79,71,0,67,79,75,0,67,79,76,0,67,79,77,0,67,80,84,0,67,80,86,0,67,82,73,0,67,83,0,67,85,66,0,67,85,87,0,67,88,82,0,67,89,77,0,67,89,80,0,67,90,69,0,68,68,82,0,68,69,85,0,68,71,65,0,68,74,73,0,68,77,65,0,68,78,75,0,68,79,77,0,68,89,0,68,90,65,0,69,67,85,0,69,71,89,0,69,82,73,0,69,83,72,0,69,83,80,0,69,83,84,0,69,84,72,0,70,73,78,0,70,74,73,0,70,76,75,0,70,81,0,70,82,65,0,70,82,79,0,70,83,77,0,70,88,0,70,88,88,0,71,65,66,0,71,66,82,0,71,69,79,0,71,71,89,0,71,72,65,0,71,73,66,0,71,73,78,0,71,76,80,0,71,77,66,0,71,78,66,0,71,78,81,0,71,82,67,0,71,82,68,0,71,82,76,0,71,84,77,0,71,85,70,0,71,85,77,0,71,85,89,0,72,75,71,0,72,77,68,0,72,78,68,0,72,82,86,0,72,84,73,0,72,85,78,0,72,86,0,73,68,78,0,73,77,78,0,73,78,68,0,73,79,84,0,73,82,76,0,73,82,78,0,73,82,81,0,73,83,76,0,73,83,82,0,73,84,65,0,74,65,77,0,74,69,89,0,74,79,82,0,74,80,78,0,74,84,0,75,65,90,0,75,69,78,0,75,71,90,0,75,72,77,0,75,73,82,0,75,78,65,0,75,79,82,0,75,87,84,0,76,65,79,0,76,66,78,0,76,66,82,0,76,66,89,0,76,67,65,0,76,73,69,0,76,75,65,0,76,83,79,0,76,84,85,0,76,85,88,0,76,86,65,0,77,65,67,0,77,65,70,0,77,65,82,0,77,67,79,0,77,68,65,0,77,68,71,0,77,68,86,0,77,69,88,0,77,72,76,0,77,75,68,0,77,76,73,0,77,76,84,0,77,77,82,0,77,78,69,0,77,78,71,0,77,78,80,0,77,79,90,0,77,82,84,0,77,83,82,0,77,84,81,0,77,85,83,0,77,87,73,0,77,89,83,0,77,89,84,0,78,65,77,0,78,67,76,0,78,69,82,0,78,70,75,0,78,71,65,0,78,72,0,78,73,67,0,78,73,85,0,78,76,68,0,78,79,82,0,78,80,76,0,78,82,85,0,78,84,90,0,78,90,76,0,79,77,78,0,80,65,75,0,80,65,78,0,80,67,0,80,67,78,0,80,69,82,0,80,72,76,0,80,76,87,0,80,78,71,0,80,79,76,0,80,82,73,0,80,82,75,0,80,82,84,0,80,82,89,0,80,83,69,0,80,85,0,80,89,70,0,80,90,0,81,65,84,0,81,77,77,0,81,78,78,0,81,80,80,0,81,81,81,0,81,82,82,0,81,83,83,0,81,84,84,0,81,85,0,81,85,85,0,81,86,86,0,81,87,87,0,81,88,88,0,81,89,89,0,81,90,90,0,82,69,85,0,82,72,0,82,79,85,0,82,85,83,0,82,87,65,0,83,65,85,0,83,67,71,0,83,68,78,0,83,69,78,0,83,71,80,0,83,71,83,0,83,72,78,0,83,74,77,0,83,76,66,0,83,76,69,0,83,76,86,0,83,77,82,0,83,79,77,0,83,80,77,0,83,82,66,0,83,83,68,0,83,84,80,0,83,85,0,83,85,78,0,83,85,82,0,83,86,75,0,83,86,78,0,83,87,69,0,83,87,90,0,83,88,77,0,83,89,67,0,83,89,82,0,84,65,65,0,84,67,65,0,84,67,68,0,84,71,79,0,84,72,65,0,84,74,75,0,84,75,76,0,84,75,77,0,84,76,83,0,84,77,80,0,84,79,78,0,84,84,79,0,84,85,78,0,84,85,82,0,84,85,86,0,84,87,78,0,84,90,65,0,85,71,65,0,85,75,0,85,75,82,0,85,77,73,0,85,82,89,0,85,83,65,0,85,90,66,0,86,65,84,0,86,67,84,0,86,68,0,86,69,78,0,86,71,66,0,86,73,82,0,86,78,77,0,86,85,84,0,87,75,0,87,76,70,0,87,83,77,0,88,65,65,0,88,66,66,0,88,67,67,0,88,68,68,0,88,69,69,0,88,70,70,0,88,71,71,0,88,72,72,0,88,73,73,0,88,74,74,0,88,75,75,0,88,76,76,0,88,77,77,0,88,78,78,0,88,79,79,0,88,80,80,0,88,81,81,0,88,82,82,0,88,83,83,0,88,84,84,0,88,85,85,0,88,86,86,0,88,87,87,0,88,88,88,0,88,89,89,0,88,90,90,0,89,68,0,89,69,77,0,89,77,68,0,89,85,0,89,85,71,0,90,65,70,0,90,65,82,0,90,77,66,0,90,82,0,90,87,69,0,90,90,90,0,117,110,105,116,0,105,110,99,104,45,104,103,0,108,105,116,101,114,45,112,101,114,45,49,48,48,107,105,108,111,109,101,116,101,114,115,0,109,101,116,101,114,45,112,101,114,45,115,101,99,111,110,100,45,115,113,117,97,114,101,100,0,109,101,116,114,105,99,45,116,111,110,0,109,105,108,108,105,103,114,97,109,45,112,101,114,45,100,101,99,105,108,105,116,101,114,0,109,105,108,108,105,109,101,116,101,114,45,111,102,45,109,101,114,99,117,114,121,0,112,97,114,116,45,112,101,114,45,109,105,108,108,105,111,110,0,112,111,117,110,100,45,102,111,111,116,0,112,111,117,110,100,45,112,101,114,45,115,113,117,97,114,101,45,105,110,99,104,0,117,115,97,103,101,0,109,117,115,105,99,45,116,114,97,99,107,0,116,118,45,112,114,111,103,114,97,109,0,118,97,114,105,97,110,116,0,112,111,108,121,116,111,110,105,0,100,101,102,97,117,108,116,67,111,110,116,101,110,116,0,170,170,0,0,85,0,77,0,0,0,89,0,69,0,0,0,122,0,104,0,0,0,84,0,76,0,0,0,110,0,98,0,0,0,65,0,81,0,0,0,65,0,83,0,0,0,65,0,87,0,0,0,66,0,70,0,0,0,66,0,74,0,0,0,66,0,76,0,0,0,67,0,87,0,0,0,69,0,85,0,0,0,71,0,70,0,0,0,71,0,80,0,0,0,71,0,85,0,0,0,75,0,73,0,0,0,77,0,70,0,0,0,77,0,79,0,0,0,77,0,80,0,0,0,77,0,81,0,0,0,78,0,67,0,0,0,80,0,65,0,0,0,80,0,70,0,0,0,80,0,77,0,0,0,80,0,82,0,0,0,82,0,69,0,0,0,83,0,68,0,0,0,83,0,88,0,0,0,86,0,73,0,0,0,86,0,85,0,0,0,87,0,70,0,0,0,89,0,84,0,0,0,102,0,97,0,0,0,109,0,115,0,0,0,115,0,113,0,0,0,121,0,105,0,0,0,65,0,65,0,0,0,65,0,68,0,0,0,65,0,69,0,0,0,65,0,71,0,0,0,65,0,73,0,0,0,65,0,79,0,0,0,65,0,82,0,0,0,65,0,84,0,0,0,66,0,66,0,0,0,66,0,72,0,0,0,66,0,77,0,0,0,66,0,78,0,0,0,66,0,79,0,0,0,66,0,83,0,0,0,66,0,86,0,0,0,66,0,87,0,0,0,66,0,90,0,0,0,67,0,67,0,0,0,67,0,71,0,0,0,67,0,73,0,0,0,67,0,75,0,0,0,67,0,79,0,0,0,67,0,80,0,0,0,67,0,82,0,0,0,67,0,85,0,0,0,67,0,88,0,0,0,67,0,89,0,0,0,68,0,74,0,0,0,68,0,77,0,0,0,68,0,79,0,0,0,69,0,67,0,0,0,69,0,71,0,0,0,69,0,72,0,0,0,70,0,74,0,0,0,70,0,75,0,0,0,70,0,77,0,0,0,71,0,65,0,0,0,71,0,68,0,0,0,71,0,73,0,0,0,71,0,77,0,0,0,71,0,81,0,0,0,71,0,83,0,0,0,71,0,87,0,0,0,71,0,89,0,0,0,72,0,77,0,0,0,72,0,78,0,0,0,72,0,84,0,0,0,73,0,79,0,0,0,74,0,69,0,0,0,74,0,77,0,0,0,74,0,79,0,0,0,75,0,77,0,0,0,75,0,78,0,0,0,75,0,80,0,0,0,75,0,87,0,0,0,75,0,89,0,0,0,76,0,66,0,0,0,76,0,67,0,0,0,76,0,73,0,0,0,76,0,83,0,0,0,76,0,89,0,0,0,77,0,67,0,0,0,77,0,68,0,0,0,77,0,72,0,0,0,77,0,82,0,0,0,77,0,83,0,0,0,77,0,88,0,0,0,78,0,70,0,0,0,78,0,73,0,0,0,78,0,82,0,0,0,78,0,85,0,0,0,79,0,77,0,0,0,80,0,78,0,0,0,80,0,83,0,0,0,80,0,84,0,0,0,81,0,65,0,0,0,81,0,77,0,0,0,81,0,78,0,0,0,81,0,80,0,0,0,81,0,81,0,0,0,81,0,82,0,0,0,81,0,83,0,0,0,81,0,84,0,0,0,81,0,86,0,0,0,81,0,87,0,0,0,81,0,88,0,0,0,81,0,89,0,0,0,81,0,90,0,0,0,83,0,65,0,0,0,83,0,67,0,0,0,83,0,71,0,0,0,83,0,72,0,0,0,83,0,74,0,0,0,83,0,76,0,0,0,83,0,77,0,0,0,83,0,82,0,0,0,83,0,84,0,0,0,83,0,86,0,0,0,83,0,89,0,0,0,83,0,90,0,0,0,84,0,65,0,0,0,84,0,67,0,0,0,84,0,68,0,0,0,84,0,75,0,0,0,84,0,78,0,0,0,84,0,84,0,0,0,84,0,86,0,0,0,85,0,89,0,0,0,86,0,67,0,0,0,86,0,69,0,0,0,86,0,71,0,0,0,87,0,83,0,0,0,88,0,65,0,0,0,88,0,66,0,0,0,88,0,67,0,0,0,88,0,68,0,0,0,88,0,69,0,0,0,88,0,70,0,0,0,88,0,71,0,0,0,88,0,72,0,0,0,88,0,73,0,0,0,88,0,74,0,0,0,88,0,75,0,0,0,88,0,76,0,0,0,88,0,77,0,0,0,88,0,78,0,0,0,88,0,79,0,0,0,88,0,80,0,0,0,88,0,81,0,0,0,88,0,82,0,0,0,88,0,83,0,0,0,88,0,84,0,0,0,88,0,85,0,0,0,88,0,86,0,0,0,88,0,87,0,0,0,88,0,88,0,0,0,88,0,89,0,0,0,88,0,90,0,0,0,90,0,90,0,0,0,97,0,114,0,0,0,97,0,122,0,0,0,99,0,114,0,0,0,100,0,101,0,0,0,101,0,116,0,0,0,101,0,117,0,0,0,102,0,102,0,0,0,102,0,114,0,0,0,103,0,110,0,0,0,104,0,121,0,0,0,105,0,100,0,0,0,105,0,115,0,0,0,105,0,117,0,0,0,106,0,118,0,0,0,107,0,97,0,0,0,107,0,103,0,0,0,107,0,114,0,0,0,107,0,117,0,0,0,107,0,118,0,0,0,108,0,98,0,0,0,108,0,118,0,0,0,109,0,103,0,0,0,109,0,107,0,0,0,109,0,121,0,0,0,110,0,118,0,0,0,111,0,106,0,0,0,112,0,115,0,0,0,113,0,117,0,0,0,115,0,119,0,0,0,65,0,67,0,0,0,68,0,71,0,0,0,97,0,97,0,0,0,97,0,101,0,0,0,97,0,102,0,0,0,97,0,118,0,0,0,98,0,101,0,0,0,98,0,103,0,0,0,98,0,105,0,0,0,98,0,109,0,0,0,98,0,110,0,0,0,99,0,97,0,0,0,99,0,101,0,0,0,99,0,111,0,0,0,99,0,117,0,0,0,100,0,97,0,0,0,100,0,118,0,0,0,101,0,101,0,0,0,102,0,111,0,0,0,103,0,97,0,0,0,103,0,117,0,0,0,104,0,116,0,0,0,104,0,117,0,0,0,104,0,122,0,0,0,105,0,101,0,0,0,105,0,103,0,0,0,105,0,111,0,0,0,105,0,116,0,0,0,106,0,97,0,0,0,107,0,106,0,0,0,107,0,107,0,0,0,107,0,108,0,0,0,107,0,110,0,0,0,107,0,115,0,0,0,107,0,119,0,0,0,107,0,121,0,0,0,108,0,103,0,0,0,108,0,105,0,0,0,108,0,111,0,0,0,108,0,117,0,0,0,109,0,116,0,0,0,110,0,97,0,0,0,110,0,111,0,0,0,110,0,114,0,0,0,111,0,99,0,0,0,111,0,115,0,0,0,112,0,105,0,0,0,112,0,108,0,0,0,112,0,116,0,0,0,114,0,110,0,0,0,114,0,119,0,0,0,115,0,97,0,0,0,115,0,109,0,0,0,115,0,111,0,0,0,115,0,116,0,0,0,115,0,118,0,0,0,116,0,97,0,0,0,116,0,101,0,0,0,116,0,105,0,0,0,116,0,107,0,0,0,116,0,111,0,0,0,116,0,114,0,0,0,116,0,115,0,0,0,116,0,116,0,0,0,116,0,121,0,0,0,117,0,107,0,0,0,117,0,114,0,0,0,118,0,101,0,0,0,118,0,105,0,0,0,119,0,97,0,0,0,120,0,104,0,0,0,121,0,111,0,0,0,122,0,117,0,0,0,117,0,110,0,100,0,0,0,100,0,116,0,112,0,0,0,107,0,97,0,107,0,0,0,119,0,114,0,111,0,0,0,97,0,109,0,105,0,0,0,119,0,110,0,110,0,0,0,111,0,121,0,98,0,0,0,118,0,97,0,106,0,0,0,98,0,104,0,111,0,0,0,105,0,98,0,97,0,0,0,114,0,107,0,105,0,0,0,98,0,105,0,107,0,0,0,100,0,101,0,108,0,0,0,100,0,117,0,122,0,0,0,101,0,110,0,108,0,0,0,105,0,115,0,107,0,0,0,106,0,98,0,111,0,0,0,107,0,100,0,122,0,0,0,110,0,99,0,115,0,0,0,112,0,104,0,114,0,0,0,112,0,115,0,114,0,0,0,116,0,97,0,121,0,0,0,122,0,111,0,109,0,0,0,122,0,122,0,97,0,0,0,100,0,109,0,119,0,0,0,102,0,105,0,108,0,0,0,104,0,97,0,107,0,0,0,107,0,122,0,107,0,0,0,109,0,97,0,110,0,0,0,109,0,114,0,121,0,0,0,112,0,105,0,106,0,0,0,98,0,102,0,105,0,0,0,98,0,102,0,121,0,0,0,99,0,109,0,114,0,0,0,100,0,101,0,110,0,0,0,100,0,103,0,108,0,0,0,105,0,115,0,101,0,0,0,105,0,115,0,103,0,0,0,106,0,107,0,109,0,0,0,106,0,115,0,108,0,0,0,107,0,109,0,108,0,0,0,110,0,97,0,110,0,0,0,110,0,98,0,114,0,0,0,110,0,103,0,118,0,0,0,110,0,115,0,105,0,0,0,110,0,118,0,111,0,0,0,110,0,119,0,111,0,0,0,111,0,108,0,97,0,0,0,111,0,112,0,97,0,0,0,114,0,97,0,115,0,0,0,115,0,99,0,118,0,0,0,115,0,103,0,100,0,0,0,116,0,109,0,104,0,0,0,116,0,115,0,117,0,0,0,117,0,116,0,104,0,0,0,119,0,101,0,111,0,0,0,120,0,99,0,104,0,0,0,120,0,110,0,121,0,0,0,120,0,116,0,103,0,0,0,121,0,97,0,109,0,0,0,121,0,114,0,109,0,0,0,121,0,117,0,103,0,0,0,97,0,97,0,115,0,0,0,97,0,99,0,110,0,0,0,97,0,100,0,120,0,0,0,97,0,101,0,98,0,0,0,97,0,109,0,113,0,0,0,97,0,111,0,103,0,0,0,97,0,111,0,117,0,0,0,97,0,112,0,102,0,0,0,97,0,113,0,100,0,0,0,97,0,113,0,116,0,0,0,97,0,115,0,101,0,0,0,97,0,122,0,100,0,0,0,98,0,97,0,108,0,0,0,98,0,99,0,103,0,0,0,98,0,101,0,98,0,0,0,98,0,105,0,114,0,0,0,98,0,106,0,112,0,0,0,98,0,109,0,102,0,0,0,98,0,110,0,99,0,0,0,98,0,110,0,110,0,0,0,98,0,112,0,112,0,0,0,98,0,117,0,97,0,0,0,98,0,122,0,99,0,0,0,98,0,122,0,115,0,0,0,99,0,97,0,120,0,0,0,99,0,104,0,109,0,0,0,99,0,105,0,114,0,0,0,99,0,115,0,110,0,0,0,100,0,98,0,116,0,0,0,100,0,101,0,118,0,0,0,100,0,105,0,102,0,0,0,100,0,105,0,110,0,0,0,100,0,110,0,106,0,0,0,100,0,111,0,105,0,0,0,100,0,114,0,108,0,0,0,100,0,115,0,101,0,0,0,100,0,115,0,108,0,0,0,100,0,116,0,100,0,0,0,100,0,119,0,117,0,0,0,100,0,122,0,101,0,0,0,101,0,98,0,107,0,0,0,101,0,107,0,99,0,0,0,101,0,109,0,97,0,0,0,101,0,109,0,120,0,0,0,101,0,115,0,103,0,0,0,101,0,122,0,97,0,0,0,102,0,98,0,108,0,0,0,102,0,115,0,108,0,0,0,103,0,97,0,108,0,0,0,103,0,97,0,110,0,0,0,103,0,98,0,97,0,0,0,103,0,100,0,106,0,0,0,103,0,111,0,110,0,0,0,103,0,114,0,98,0,0,0,103,0,115,0,103,0,0,0,103,0,115,0,115,0,0,0,103,0,116,0,117,0,0,0,103,0,118,0,114,0,0,0,104,0,97,0,105,0,0,0,104,0,108,0,101,0,0,0,104,0,109,0,110,0,0,0,104,0,115,0,110,0,0,0,104,0,117,0,119,0,0,0,104,0,121,0,119,0,0,0,105,0,108,0,109,0,0,0,105,0,116,0,100,0,0,0,106,0,97,0,108,0,0,0,106,0,98,0,107,0,0,0,106,0,103,0,107,0,0,0,106,0,114,0,98,0,0,0,107,0,108,0,110,0,0,0,107,0,109,0,98,0,0,0,107,0,111,0,107,0,0,0,107,0,112,0,101,0,0,0,107,0,114,0,117,0,0,0,107,0,115,0,112,0,0,0,107,0,116,0,122,0,0,0,107,0,119,0,118,0,0,0,107,0,120,0,114,0,0,0,108,0,97,0,104,0,0,0,108,0,99,0,113,0,0,0,108,0,114,0,114,0,0,0,108,0,117,0,121,0,0,0,109,0,102,0,115,0,0,0,109,0,111,0,109,0,0,0,109,0,116,0,109,0,0,0,109,0,119,0,114,0,0,0,110,0,103,0,116,0,0,0,110,0,106,0,122,0,0,0,110,0,111,0,108,0,0,0,110,0,114,0,107,0,0,0,110,0,114,0,117,0,0,0,110,0,117,0,110,0,0,0,110,0,121,0,99,0,0,0,112,0,114,0,116,0,0,0,112,0,117,0,98,0,0,0,112,0,119,0,110,0,0,0,113,0,117,0,104,0,0,0,114,0,97,0,106,0,0,0,114,0,97,0,113,0,0,0,114,0,109,0,120,0,0,0,114,0,111,0,109,0,0,0,115,0,102,0,98,0,0,0,115,0,102,0,115,0,0,0,115,0,103,0,103,0,0,0,115,0,110,0,122,0,0,0,115,0,114,0,120,0,0,0,115,0,115,0,112,0,0,0,115,0,115,0,121,0,0,0,115,0,117,0,106,0,0,0,115,0,119,0,108,0,0,0,115,0,121,0,114,0,0,0,116,0,97,0,106,0,0,0,116,0,97,0,111,0,0,0,116,0,100,0,102,0,0,0,116,0,108,0,104,0,0,0,116,0,112,0,111,0,0,0,116,0,118,0,100,0,0,0,116,0,119,0,109,0,0,0,116,0,121,0,106,0,0,0,117,0,108,0,119,0,0,0,118,0,103,0,116,0,0,0,119,0,97,0,119,0,0,0,119,0,103,0,98,0,0,0,119,0,110,0,121,0,0,0,119,0,117,0,117,0,0,0,120,0,110,0,116,0,0,0,121,0,110,0,113,0,0,0,121,0,117,0,101,0,0,0,122,0,97,0,112,0,0,0,122,0,107,0,100,0,0,0,99,0,110,0,109,0,110,0,0,0,99,0,110,0,104,0,101,0,0,0,99,0,110,0,115,0,99,0,0,0,99,0,110,0,99,0,113,0,0,0,99,0,110,0,102,0,106,0,0,0,99,0,110,0,104,0,97,0,0,0,99,0,110,0,104,0,105,0,0,0,99,0,110,0,108,0,110,0,0,0,99,0,110,0,115,0,100,0,0,0,99,0,110,0,115,0,110,0,0,0,90,0,105,0,110,0,104,0,0,0,99,0,110,0,97,0,104,0,0,0,99,0,110,0,98,0,106,0,0,0,99,0,110,0,103,0,100,0,0,0,99,0,110,0,103,0,115,0,0,0,99,0,110,0,103,0,120,0,0,0,99,0,110,0,103,0,122,0,0,0,99,0,110,0,104,0,98,0,0,0,99,0,110,0,104,0,108,0,0,0,99,0,110,0,104,0,110,0,0,0,99,0,110,0,106,0,108,0,0,0,99,0,110,0,106,0,115,0,0,0,99,0,110,0,106,0,120,0,0,0,99,0,110,0,110,0,120,0,0,0,99,0,110,0,113,0,104,0,0,0,99,0,110,0,115,0,104,0,0,0,99,0,110,0,115,0,120,0,0,0,99,0,110,0,116,0,106,0,0,0,99,0,110,0,120,0,106,0,0,0,99,0,110,0,120,0,122,0,0,0,99,0,110,0,121,0,110,0,0,0,99,0,110,0,122,0,106,0,0,0,99,0,122,0,49,0,48,0,0,0,99,0,122,0,50,0,48,0,0,0,99,0,122,0,51,0,49,0,0,0,99,0,122,0,51,0,50,0,0,0,99,0,122,0,52,0,49,0,0,0,99,0,122,0,52,0,50,0,0,0,99,0,122,0,53,0,49,0,0,0,99,0,122,0,53,0,50,0,0,0,99,0,122,0,53,0,51,0,0,0,99,0,122,0,54,0,51,0,0,0,99,0,122,0,54,0,52,0,0,0,99,0,122,0,55,0,49,0,0,0,99,0,122,0,55,0,50,0,0,0,99,0,122,0,56,0,48,0,0,0,108,0,97,0,120,0,115,0,0,0,110,0,111,0,53,0,48,0,0,0,112,0,108,0,48,0,50,0,0,0,112,0,108,0,48,0,52,0,0,0,112,0,108,0,48,0,54,0,0,0,112,0,108,0,48,0,56,0,0,0,112,0,108,0,49,0,48,0,0,0,112,0,108,0,49,0,50,0,0,0,112,0,108,0,49,0,52,0,0,0,112,0,108,0,49,0,54,0,0,0,112,0,108,0,49,0,56,0,0,0,112,0,108,0,50,0,48,0,0,0,112,0,108,0,50,0,50,0,0,0,112,0,108,0,50,0,52,0,0,0,112,0,108,0,50,0,54,0,0,0,112,0,108,0,50,0,56,0,0,0,112,0,108,0,51,0,48,0,0,0,112,0,108,0,51,0,50,0,0,0,82,0,83,0,32,0,77,0,69,0,0,0,102,0,114,0,95,0,70,0,82,0,0,0,102,0,114,0,103,0,101,0,115,0,0,0,83,0,65,0,32,0,73,0,81,0,0,0,102,0,97,0,95,0,65,0,70,0,0,0,102,0,114,0,110,0,97,0,113,0,0,0,102,0,114,0,110,0,111,0,114,0,0,0,109,0,121,0,95,0,77,0,77,0,0,0,115,0,119,0,95,0,67,0,68,0,0,0,65,0,81,0,32,0,84,0,70,0,0,0,99,0,121,0,95,0,71,0,66,0,0,0,109,0,101,0,100,0,105,0,97,0,0,0,115,0,110,0,95,0,90,0,87,0,0,0,74,0,69,0,32,0,71,0,71,0,0,0,97,0,107,0,95,0,71,0,72,0,0,0,98,0,101,0,95,0,66,0,89,0,0,0,98,0,103,0,95,0,66,0,71,0,0,0,99,0,115,0,95,0,67,0,90,0,0,0,100,0,97,0,95,0,68,0,75,0,0,0,100,0,118,0,95,0,77,0,86,0,0,0,100,0,122,0,95,0,66,0,84,0,0,0,101,0,108,0,95,0,71,0,82,0,0,0,101,0,116,0,95,0,69,0,69,0,0,0,101,0,117,0,95,0,69,0,83,0,0,0,102,0,111,0,95,0,70,0,79,0,0,0,102,0,114,0,97,0,114,0,97,0,0,0,102,0,114,0,98,0,102,0,99,0,0,0,102,0,114,0,104,0,100,0,102,0,0,0,102,0,114,0,111,0,99,0,99,0,0,0,102,0,121,0,95,0,78,0,76,0,0,0,103,0,97,0,95,0,73,0,69,0,0,0,103,0,110,0,95,0,80,0,89,0,0,0,103,0,118,0,95,0,73,0,77,0,0,0,104,0,101,0,95,0,73,0,76,0,0,0,104,0,114,0,95,0,72,0,82,0,0,0,104,0,117,0,95,0,72,0,85,0,0,0,104,0,121,0,95,0,65,0,77,0,0,0,105,0,115,0,95,0,73,0,83,0,0,0,105,0,116,0,95,0,73,0,84,0,0,0,105,0,117,0,95,0,67,0,65,0,0,0,106,0,97,0,95,0,74,0,80,0,0,0,106,0,118,0,95,0,73,0,68,0,0,0,107,0,107,0,95,0,75,0,90,0,0,0,107,0,108,0,95,0,71,0,76,0,0,0,107,0,109,0,95,0,75,0,72,0,0,0,107,0,111,0,95,0,75,0,82,0,0,0,107,0,117,0,95,0,84,0,82,0,0,0,107,0,121,0,95,0,75,0,71,0,0,0,108,0,97,0,95,0,86,0,65,0,0,0,108,0,98,0,95,0,76,0,85,0,0,0,108,0,111,0,95,0,76,0,65,0,0,0,108,0,116,0,95,0,76,0,84,0,0,0,108,0,118,0,95,0,76,0,86,0,0,0,109,0,103,0,95,0,77,0,71,0,0,0,109,0,105,0,95,0,78,0,90,0,0,0,109,0,107,0,95,0,77,0,75,0,0,0,109,0,110,0,95,0,77,0,78,0,0,0,109,0,115,0,95,0,77,0,89,0,0,0,109,0,116,0,95,0,77,0,84,0,0,0,110,0,101,0,95,0,78,0,80,0,0,0,110,0,110,0,95,0,78,0,79,0,0,0,110,0,121,0,95,0,77,0,87,0,0,0,111,0,115,0,95,0,71,0,69,0,0,0,112,0,115,0,95,0,65,0,70,0,0,0,112,0,116,0,95,0,66,0,82,0,0,0,113,0,117,0,95,0,80,0,69,0,0,0,114,0,110,0,95,0,66,0,73,0,0,0,114,0,111,0,95,0,82,0,79,0,0,0,114,0,119,0,95,0,82,0,87,0,0,0,115,0,103,0,95,0,67,0,70,0,0,0,115,0,105,0,95,0,76,0,75,0,0,0,115,0,107,0,95,0,83,0,75,0,0,0,115,0,108,0,95,0,83,0,73,0,0,0,115,0,111,0,95,0,83,0,79,0,0,0,115,0,113,0,95,0,65,0,76,0,0,0,115,0,114,0,95,0,77,0,69,0,0,0,115,0,118,0,95,0,83,0,69,0,0,0,116,0,103,0,95,0,84,0,74,0,0,0,116,0,104,0,95,0,84,0,72,0,0,0,116,0,107,0,95,0,84,0,77,0,0,0,116,0,111,0,95,0,84,0,79,0,0,0,116,0,111,0,110,0,110,0,101,0,0,0,116,0,116,0,116,0,111,0,98,0,0,0,117,0,107,0,95,0,85,0,65,0,0,0,119,0,97,0,95,0,66,0,69,0,0,0,121,0,111,0,95,0,78,0,71,0,0,0,122,0,117,0,95,0,90,0,65,0,0,0,67,0,90,0,32,0,83,0,75,0,0,0,97,0,97,0,95,0,69,0,84,0,0,0,97,0,98,0,95,0,71,0,69,0,0,0,97,0,102,0,95,0,90,0,65,0,0,0,97,0,109,0,95,0,69,0,84,0,0,0,97,0,110,0,95,0,69,0,83,0,0,0,97,0,115,0,95,0,73,0,78,0,0,0,98,0,97,0,95,0,82,0,85,0,0,0,98,0,109,0,95,0,77,0,76,0,0,0,98,0,110,0,95,0,66,0,68,0,0,0,98,0,111,0,95,0,67,0,78,0,0,0,98,0,114,0,95,0,70,0,82,0,0,0,99,0,97,0,95,0,69,0,83,0,0,0,99,0,101,0,95,0,82,0,85,0,0,0,99,0,111,0,95,0,70,0,82,0,0,0,99,0,117,0,95,0,82,0,85,0,0,0,99,0,118,0,95,0,82,0,85,0,0,0,99,0,122,0,49,0,49,0,48,0,0,0,99,0,122,0,49,0,49,0,49,0,0,0,99,0,122,0,49,0,49,0,50,0,0,0,99,0,122,0,49,0,49,0,51,0,0,0,99,0,122,0,49,0,49,0,52,0,0,0,99,0,122,0,49,0,49,0,53,0,0,0,99,0,122,0,54,0,51,0,50,0,0,0,99,0,122,0,54,0,51,0,51,0,0,0,99,0,122,0,54,0,51,0,52,0,0,0,99,0,122,0,54,0,51,0,53,0,0,0,99,0,122,0,54,0,52,0,49,0,0,0,99,0,122,0,54,0,52,0,50,0,0,0,99,0,122,0,54,0,52,0,51,0,0,0,99,0,122,0,54,0,52,0,52,0,0,0,99,0,122,0,54,0,52,0,54,0,0,0,99,0,122,0,54,0,52,0,55,0,0,0,99,0,122,0,54,0,54,0,51,0,0,0,100,0,101,0,95,0,68,0,69,0,0,0,101,0,101,0,95,0,71,0,72,0,0,0,101,0,110,0,95,0,85,0,83,0,0,0,101,0,115,0,95,0,69,0,83,0,0,0,102,0,97,0,95,0,73,0,82,0,0,0,102,0,105,0,95,0,70,0,73,0,0,0,102,0,114,0,98,0,114,0,101,0,0,0,102,0,114,0,99,0,111,0,114,0,0,0,102,0,114,0,99,0,118,0,108,0,0,0,102,0,114,0,105,0,100,0,102,0,0,0,102,0,114,0,112,0,97,0,99,0,0,0,102,0,114,0,112,0,100,0,108,0,0,0,103,0,100,0,95,0,71,0,66,0,0,0,103,0,108,0,95,0,69,0,83,0,0,0,103,0,117,0,95,0,73,0,78,0,0,0,104,0,97,0,95,0,78,0,71,0,0,0,104,0,105,0,95,0,73,0,78,0,0,0,105,0,100,0,95,0,73,0,68,0,0,0,105,0,103,0,95,0,78,0,71,0,0,0,105,0,105,0,95,0,67,0,78,0,0,0,107,0,97,0,95,0,71,0,69,0,0,0,107,0,105,0,95,0,75,0,69,0,0,0,107,0,110,0,95,0,73,0,78,0,0,0,107,0,119,0,95,0,71,0,66,0,0,0,108,0,103,0,95,0,85,0,71,0,0,0,108,0,110,0,95,0,67,0,68,0,0,0,108,0,117,0,95,0,67,0,68,0,0,0,109,0,108,0,95,0,73,0,78,0,0,0,109,0,114,0,95,0,73,0,78,0,0,0,110,0,98,0,95,0,78,0,79,0,0,0,110,0,100,0,95,0,90,0,87,0,0,0,110,0,108,0,95,0,78,0,76,0,0,0,110,0,114,0,95,0,90,0,65,0,0,0,110,0,118,0,95,0,85,0,83,0,0,0,111,0,99,0,95,0,70,0,82,0,0,0,111,0,109,0,95,0,69,0,84,0,0,0,111,0,114,0,95,0,73,0,78,0,0,0,112,0,108,0,95,0,80,0,76,0,0,0,114,0,109,0,95,0,67,0,72,0,0,0,114,0,117,0,95,0,82,0,85,0,0,0,115,0,97,0,95,0,73,0,78,0,0,0,115,0,99,0,95,0,73,0,84,0,0,0,115,0,101,0,95,0,78,0,79,0,0,0,115,0,115,0,95,0,90,0,65,0,0,0,115,0,116,0,95,0,90,0,65,0,0,0,115,0,119,0,95,0,84,0,90,0,0,0,116,0,97,0,95,0,73,0,78,0,0,0,116,0,101,0,95,0,73,0,78,0,0,0,116,0,105,0,95,0,69,0,84,0,0,0,116,0,110,0,95,0,90,0,65,0,0,0,116,0,114,0,95,0,84,0,82,0,0,0,116,0,115,0,95,0,90,0,65,0,0,0,116,0,116,0,95,0,82,0,85,0,0,0,116,0,116,0,109,0,114,0,99,0,0,0,116,0,119,0,107,0,104,0,104,0,0,0,116,0,119,0,110,0,119,0,116,0,0,0,116,0,119,0,116,0,110,0,110,0,0,0,116,0,119,0,116,0,120,0,103,0,0,0,117,0,103,0,95,0,67,0,78,0,0,0,117,0,114,0,95,0,80,0,75,0,0,0,118,0,101,0,95,0,90,0,65,0,0,0,118,0,105,0,95,0,86,0,78,0,0,0,119,0,111,0,95,0,83,0,78,0,0,0,120,0,104,0,95,0,90,0,65,0,0,0,108,0,101,0,103,0,97,0,99,0,121,0,0,0,110,0,100,0,115,0,95,0,68,0,69,0,0,0,98,0,108,0,116,0,95,0,86,0,78,0,0,0,103,0,101,0,122,0,95,0,69,0,84,0,0,0,116,0,114,0,118,0,95,0,84,0,87,0,0,0,117,0,110,0,100,0,95,0,65,0,88,0,0,0,97,0,114,0,110,0,95,0,67,0,76,0,0,0,98,0,101,0,109,0,95,0,90,0,77,0,0,0,98,0,101,0,122,0,95,0,84,0,90,0,0,0,98,0,114,0,120,0,95,0,73,0,78,0,0,0,99,0,99,0,112,0,95,0,66,0,68,0,0,0,100,0,121,0,111,0,95,0,83,0,78,0,0,0,102,0,105,0,108,0,95,0,80,0,72,0,0,0,103,0,115,0,119,0,95,0,67,0,72,0,0,0,103,0,117,0,122,0,95,0,75,0,69,0,0,0,104,0,97,0,119,0,95,0,85,0,83,0,0,0,105,0,102,0,101,0,95,0,84,0,71,0,0,0,107,0,97,0,98,0,95,0,68,0,90,0,0,0,107,0,101,0,97,0,95,0,67,0,86,0,0,0,109,0,102,0,101,0,95,0,77,0,85,0,0,0,109,0,103,0,104,0,95,0,77,0,90,0,0,0,109,0,121,0,118,0,95,0,82,0,85,0,0,0,109,0,122,0,110,0,95,0,73,0,82,0,0,0,110,0,97,0,113,0,95,0,78,0,65,0,0,0,110,0,113,0,111,0,95,0,71,0,78,0,0,0,110,0,117,0,115,0,95,0,83,0,83,0,0,0,112,0,105,0,115,0,95,0,83,0,66,0,0,0,113,0,117,0,99,0,95,0,71,0,84,0,0,0,115,0,101,0,115,0,95,0,77,0,76,0,0,0,115,0,109,0,115,0,95,0,70,0,73,0,0,0,115,0,115,0,121,0,95,0,69,0,82,0,0,0,115,0,121,0,114,0,95,0,73,0,81,0,0,0,115,0,122,0,108,0,95,0,80,0,76,0,0,0,116,0,101,0,111,0,95,0,85,0,71,0,0,0,116,0,112,0,105,0,95,0,80,0,71,0,0,0,116,0,114,0,119,0,95,0,80,0,75,0,0,0,116,0,119,0,113,0,95,0,78,0,69,0,0,0,119,0,98,0,112,0,95,0,65,0,85,0,0,0,121,0,97,0,118,0,95,0,67,0,77,0,0,0,97,0,103,0,113,0,95,0,67,0,77,0,0,0,97,0,110,0,110,0,95,0,78,0,71,0,0,0,97,0,114,0,95,0,48,0,48,0,49,0,0,0,97,0,115,0,97,0,95,0,84,0,90,0,0,0,97,0,115,0,116,0,95,0,69,0,83,0,0,0,98,0,97,0,115,0,95,0,67,0,77,0,0,0,98,0,103,0,99,0,95,0,73,0,78,0,0,0,98,0,103,0,110,0,95,0,80,0,75,0,0,0,98,0,104,0,111,0,95,0,73,0,78,0,0,0,98,0,115,0,115,0,95,0,67,0,77,0,0,0,98,0,121,0,110,0,95,0,69,0,82,0,0,0,99,0,97,0,100,0,95,0,85,0,83,0,0,0,99,0,99,0,104,0,95,0,78,0,71,0,0,0,99,0,101,0,98,0,95,0,80,0,72,0,0,0,99,0,103,0,103,0,95,0,85,0,71,0,0,0,99,0,104,0,114,0,95,0,85,0,83,0,0,0,99,0,105,0,99,0,95,0,85,0,83,0,0,0,99,0,107,0,98,0,95,0,73,0,81,0,0,0,100,0,97,0,118,0,95,0,75,0,69,0,0,0,100,0,106,0,101,0,95,0,78,0,69,0,0,0,100,0,111,0,105,0,95,0,73,0,78,0,0,0,100,0,115,0,98,0,95,0,68,0,69,0,0,0,100,0,117,0,97,0,95,0,67,0,77,0,0,0,101,0,98,0,117,0,95,0,75,0,69,0,0,0,101,0,111,0,95,0,48,0,48,0,49,0,0,0,101,0,119,0,111,0,95,0,67,0,77,0,0,0,102,0,114,0,114,0,95,0,68,0,69,0,0,0,102,0,117,0,114,0,95,0,73,0,84,0,0,0,103,0,97,0,97,0,95,0,71,0,72,0,0,0,104,0,115,0,98,0,95,0,68,0,69,0,0,0,105,0,97,0,95,0,48,0,48,0,49,0,0,0,105,0,111,0,95,0,48,0,48,0,49,0,0,0,106,0,103,0,111,0,95,0,67,0,77,0,0,0,106,0,109,0,99,0,95,0,84,0,90,0,0,0,107,0,97,0,106,0,95,0,78,0,71,0,0,0,107,0,97,0,109,0,95,0,75,0,69,0,0,0,107,0,99,0,103,0,95,0,78,0,71,0,0,0,107,0,100,0,101,0,95,0,84,0,90,0,0,0,107,0,101,0,110,0,95,0,67,0,77,0,0,0,107,0,103,0,112,0,95,0,66,0,82,0,0,0,107,0,104,0,113,0,95,0,77,0,76,0,0,0,107,0,107,0,106,0,95,0,67,0,77,0,0,0,107,0,108,0,110,0,95,0,75,0,69,0,0,0,107,0,111,0,107,0,95,0,73,0,78,0,0,0,107,0,112,0,101,0,95,0,76,0,82,0,0,0,107,0,115,0,98,0,95,0,84,0,90,0,0,0,107,0,115,0,102,0,95,0,67,0,77,0,0,0,107,0,115,0,104,0,95,0,68,0,69,0,0,0,108,0,97,0,103,0,95,0,84,0,90,0,0,0,108,0,105,0,106,0,95,0,73,0,84,0,0,0,108,0,107,0,116,0,95,0,85,0,83,0,0,0,108,0,114,0,99,0,95,0,73,0,82,0,0,0,108,0,117,0,111,0,95,0,75,0,69,0,0,0,108,0,117,0,121,0,95,0,75,0,69,0,0,0,109,0,97,0,105,0,95,0,73,0,78,0,0,0,109,0,97,0,115,0,95,0,75,0,69,0,0,0,109,0,100,0,102,0,95,0,82,0,85,0,0,0,109,0,101,0,114,0,95,0,75,0,69,0,0,0,109,0,103,0,111,0,95,0,67,0,77,0,0,0,109,0,111,0,104,0,95,0,67,0,65,0,0,0,109,0,117,0,97,0,95,0,67,0,77,0,0,0,109,0,117,0,115,0,95,0,85,0,83,0,0,0,110,0,109,0,103,0,95,0,67,0,77,0,0,0,110,0,110,0,104,0,95,0,67,0,77,0,0,0,110,0,115,0,111,0,95,0,90,0,65,0,0,0,110,0,121,0,110,0,95,0,85,0,71,0,0,0,111,0,115,0,97,0,95,0,85,0,83,0,0,0,112,0,99,0,109,0,95,0,78,0,71,0,0,0,114,0,97,0,106,0,95,0,73,0,78,0,0,0,114,0,111,0,102,0,95,0,84,0,90,0,0,0,114,0,119,0,107,0,95,0,84,0,90,0,0,0,115,0,97,0,104,0,95,0,82,0,85,0,0,0,115,0,97,0,113,0,95,0,75,0,69,0,0,0,115,0,98,0,112,0,95,0,84,0,90,0,0,0,115,0,99,0,110,0,95,0,73,0,84,0,0,0,115,0,100,0,104,0,95,0,73,0,82,0,0,0,115,0,101,0,104,0,95,0,77,0,90,0,0,0,115,0,104,0,110,0,95,0,77,0,77,0,0,0,115,0,105,0,100,0,95,0,69,0,84,0,0,0,115,0,109,0,97,0,95,0,83,0,69,0,0,0,115,0,109,0,106,0,95,0,83,0,69,0,0,0,115,0,109,0,110,0,95,0,70,0,73,0,0,0,116,0,105,0,103,0,95,0,69,0,82,0,0,0,116,0,122,0,109,0,95,0,77,0,65,0,0,0,118,0,101,0,99,0,95,0,73,0,84,0,0,0,118,0,111,0,95,0,48,0,48,0,49,0,0,0,118,0,117,0,110,0,95,0,84,0,90,0,0,0,119,0,97,0,101,0,95,0,67,0,72,0,0,0,119,0,97,0,108,0,95,0,69,0,84,0,0,0,120,0,111,0,103,0,95,0,85,0,71,0,0,0,121,0,105,0,95,0,48,0,48,0,49,0,0,0,121,0,114,0,108,0,95,0,66,0,82,0,0,0,122,0,103,0,104,0,95,0,77,0,65,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,0,0,107,0,115,0,95,0,65,0,114,0,97,0,98,0,0,0,112,0,97,0,95,0,71,0,117,0,114,0,117,0,0,0,117,0,122,0,95,0,76,0,97,0,116,0,110,0,0,0,48,0,51,0,52,0,32,0,49,0,52,0,51,0,0,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,0,0,98,0,115,0,95,0,76,0,97,0,116,0,110,0,0,0,102,0,102,0,95,0,76,0,97,0,116,0,110,0,0,0,106,0,98,0,111,0,95,0,48,0,48,0,49,0,0,0,112,0,111,0,108,0,121,0,116,0,111,0,110,0,0,0,112,0,114,0,103,0,95,0,48,0,48,0,49,0,0,0,115,0,100,0,95,0,65,0,114,0,97,0,98,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,0,0,115,0,117,0,95,0,76,0,97,0,116,0,110,0,0,0,116,0,111,0,107,0,95,0,48,0,48,0,49,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,0,0,111,0,118,0,101,0,114,0,108,0,111,0,110,0,103,0,0,0,67,0,87,0,32,0,83,0,88,0,32,0,66,0,81,0,0,0,118,0,97,0,105,0,95,0,86,0,97,0,105,0,105,0,0,0,98,0,97,0,108,0,95,0,65,0,114,0,97,0,98,0,0,0,104,0,110,0,106,0,95,0,72,0,109,0,110,0,112,0,0,0,109,0,110,0,105,0,95,0,66,0,101,0,110,0,103,0,0,0,114,0,104,0,103,0,95,0,82,0,111,0,104,0,103,0,0,0,115,0,97,0,116,0,95,0,79,0,108,0,99,0,107,0,0,0,115,0,104,0,105,0,95,0,84,0,102,0,110,0,103,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,116,0,0,0,111,0,109,0,98,0,106,0,32,0,111,0,109,0,98,0,115,0,0,0,111,0,109,0,115,0,106,0,32,0,111,0,109,0,115,0,115,0,0,0,105,0,110,0,99,0,104,0,45,0,111,0,102,0,104,0,103,0,0,0,100,0,101,0,112,0,114,0,101,0,99,0,97,0,116,0,101,0,100,0,0,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,90,0,0,0,98,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,65,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,83,0,0,0,117,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,90,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,97,0,122,0,95,0,67,0,121,0,114,0,108,0,95,0,65,0,90,0,0,0,98,0,109,0,95,0,78,0,107,0,111,0,111,0,95,0,77,0,76,0,0,0,98,0,115,0,95,0,67,0,121,0,114,0,108,0,95,0,66,0,65,0,0,0,101,0,110,0,95,0,68,0,115,0,114,0,116,0,95,0,85,0,83,0,0,0,101,0,110,0,95,0,83,0,104,0,97,0,119,0,95,0,71,0,66,0,0,0,102,0,102,0,95,0,65,0,100,0,108,0,109,0,95,0,71,0,78,0,0,0,102,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,104,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,78,0,71,0,0,0,104,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,78,0,0,0,105,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,107,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,78,0,0,0,107,0,115,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,110,0,95,0,77,0,111,0,110,0,103,0,95,0,67,0,78,0,0,0,109,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,89,0,0,0,112,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,112,0,97,0,95,0,71,0,117,0,114,0,117,0,95,0,73,0,78,0,0,0,112,0,101,0,114,0,109,0,105,0,108,0,108,0,105,0,111,0,110,0,0,0,115,0,100,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,115,0,100,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,83,0,0,0,115,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,117,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,117,0,122,0,95,0,67,0,121,0,114,0,108,0,95,0,85,0,90,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,84,0,87,0,0,0,70,0,77,0,32,0,77,0,72,0,32,0,77,0,80,0,32,0,80,0,87,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,116,0,95,0,72,0,75,0,0,0,117,0,110,0,100,0,95,0,97,0,108,0,97,0,108,0,99,0,57,0,55,0,0,0,115,0,104,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,65,0,0,0,118,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,82,0,0,0,98,0,97,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,98,0,97,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,75,0,0,0,104,0,110,0,106,0,95,0,72,0,109,0,110,0,112,0,95,0,85,0,83,0,0,0,109,0,110,0,105,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,109,0,110,0,105,0,95,0,77,0,116,0,101,0,105,0,95,0,73,0,78,0,0,0,114,0,104,0,103,0,95,0,82,0,111,0,104,0,103,0,95,0,77,0,77,0,0,0,115,0,97,0,116,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,97,0,116,0,95,0,79,0,108,0,99,0,107,0,95,0,73,0,78,0,0,0,115,0,104,0,105,0,95,0,84,0,102,0,110,0,103,0,95,0,77,0,65,0,0,0,118,0,97,0,105,0,95,0,86,0,97,0,105,0,105,0,95,0,76,0,82,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,110,0,97,0,110,0,95,0,120,0,95,0,122,0,104,0,95,0,109,0,105,0,110,0,0,0,109,0,97,0,99,0,114,0,111,0,108,0,97,0,110,0,103,0,117,0,97,0,103,0,101,0,0,0,98,0,105,0,98,0,108,0,105,0,111,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,0,0,115,0,101,0,101,0,95,0,120,0,95,0,105,0,95,0,109,0,105,0,110,0,103,0,111,0,0,0,101,0,110,0,95,0,120,0,95,0,105,0,95,0,100,0,101,0,102,0,97,0,117,0,108,0,116,0,0,0,101,0,110,0,95,0,71,0,66,0,95,0,111,0,120,0,101,0,110,0,100,0,105,0,99,0,116,0,0,0,108,0,117,0,101,0,99,0,32,0,108,0,117,0,103,0,114,0,32,0,108,0,117,0,114,0,109,0,0,0,109,0,114,0,49,0,51,0,32,0,109,0,114,0,49,0,52,0,32,0,109,0,114,0,49,0,53,0,0,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,45,0,111,0,102,0,104,0,103,0,0,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,45,0,102,0,111,0,111,0,116,0,0,0,117,0,110,0,100,0,95,0,120,0,95,0,105,0,95,0,101,0,110,0,111,0,99,0,104,0,105,0,97,0,110,0,0,0,82,0,83,0,32,0,77,0,69,0,32,0,83,0,73,0,32,0,72,0,82,0,32,0,77,0,75,0,32,0,66,0,65,0,0,0,108,0,117,0,99,0,97,0,32,0,108,0,117,0,101,0,115,0,32,0,108,0,117,0,108,0,117,0,32,0,108,0,117,0,109,0,101,0,0,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,49,0,48,0,48,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,108,0,117,0,99,0,108,0,32,0,108,0,117,0,100,0,105,0,32,0,108,0,117,0,114,0,100,0,32,0,108,0,117,0,118,0,100,0,32,0,108,0,117,0,119,0,105,0,0,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,0,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,45,0,111,0,102,0,103,0,108,0,117,0,99,0,111,0,115,0,101,0,45,0,112,0,101,0,114,0,45,0,100,0,101,0,99,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,82,0,85,0,32,0,65,0,77,0,32,0,65,0,90,0,32,0,66,0,89,0,32,0,71,0,69,0,32,0,75,0,71,0,32,0,75,0,90,0,32,0,77,0,68,0,32,0,84,0,74,0,32,0,84,0,77,0,32,0,85,0,65,0,32,0,85,0,90,0,0,0,41,220,110,0,122,0,99,0,97,0,110,0,32,0,110,0,122,0,109,0,98,0,104,0,32,0,110,0,122,0,110,0,115,0,110,0,32,0,110,0,122,0,111,0,116,0,97,0,32,0,110,0,122,0,115,0,116,0,108,0,32,0,110,0,122,0,116,0,97,0,115,0,32,0,110,0,122,0,119,0,116,0,99,0,0,0,44,220,82,0,85,0,32,0,65,0,77,0,32,0,65,0,90,0,32,0,66,0,89,0,32,0,69,0,69,0,32,0,71,0,69,0,32,0,75,0,90,0,32,0,75,0,71,0,32,0,76,0,86,0,32,0,76,0,84,0,32,0,77,0,68,0,32,0,84,0,74,0,32,0,84,0,77,0,32,0,85,0,65,0,32,0,85,0,90,0,0,0,53,220,110,0,122,0,97,0,117,0,107,0,32,0,110,0,122,0,98,0,111,0,112,0,32,0,110,0,122,0,103,0,105,0,115,0,32,0,110,0,122,0,104,0,107,0,98,0,32,0,110,0,122,0,109,0,119,0,116,0,32,0,110,0,122,0,110,0,116,0,108,0,32,0,110,0,122,0,116,0,107,0,105,0,32,0,110,0,122,0,119,0,103,0,110,0,32,0,110,0,122,0,119,0,107,0,111,0,0,0,2,0,56,0,63,0,121,16,235,5,2,0,56,0,63,0,121,16,59,4,2,0,56,0,63,0,1,16,110,2,2,0,56,0,63,0,1,16,142,15,2,0,56,0,63,0,121,16,136,3,2,0,56,0,63,0,1,16,116,2,2,0,56,0,63,0,121,16,87,4,2,0,56,0,63,0,121,16,83,3,2,0,56,0,63,0,121,16,71,4,2,0,56,0,63,0,155,18,79,5,2,0,56,0,63,0,1,16,76,3,2,0,56,0,63,0,169,18,106,0,2,0,56,0,63,0,155,18,106,0,2,0,56,0,63,0,1,16,48,4,2,0,56,0,63,0,1,16,17,2,2,0,56,0,63,0,155,18,17,2,2,0,56,0,63,0,1,16,232,3,2,0,56,0,63,0,169,18,44,2,2,0,56,0,63,0,121,16,131,3,2,0,56,0,63,0,121,16,223,5,2,0,56,0,63,0,1,16,8,4,2,0,56,0,63,0,121,16,107,5,2,0,56,0,63,0,1,16,119,2,2,0,56,0,63,0,1,16,113,2,2,0,56,0,63,0,1,16,152,3,2,0,56,0,63,0,155,18,152,3,2,0,56,0,63,0,121,16,171,5,2,0,56,0,63,0,1,16,20,2,2,0,56,0,63,0,155,18,20,2,2,0,56,0,63,0,1,16,104,3,2,0,56,0,63,0,1,16,131,2,2,0,56,0,63,0,169,18,32,2,2,0,56,0,63,0,121,16,247,3,2,0,56,0,63,0,155,18,107,4,2,0,56,0,63,0,155,18,111,3,2,0,56,0,63,0,1,16,122,2,2,0,56,0,63,0,1,16,134,2,2,0,56,0,63,0,121,16,111,4,2,0,56,0,63,0,155,18,99,3,2,0,56,0,63,0,121,16,243,4,2,0,56,0,63,0,121,16,119,4,2,0,56,0,63,0,1,16,99,3,2,0,56,0,63,0,1,16,128,2,2,0,56,0,63,0,121,16,195,4,2,0,56,0,63,0,121,16,147,4,2,0,56,0,63,0,121,16,219,4,2,0,56,0,63,0,121,16,103,3,2,0,56,0,63,0,1,16,132,3,2,0,56,0,63,0,1,16,98,16,2,0,56,0,63,0,1,16,236,3,2,0,56,0,63,0,121,16,115,4,2,0,56,0,63,0,1,16,125,2,2,0,56,0,63,0,169,18,86,2,2,0,56,0,63,0,155,18,131,5,2,0,56,0,63,0,155,18,143,4,2,0,56,0,63,0,1,16,137,2,2,0,56,0,63,0,121,16,107,3,2,0,56,0,63,0,221,11,43,4,2,0,56,0,63,0,1,16,140,3,2,0,56,0,63,0,1,16,36,4,2,0,56,0,63,0,1,16,140,2,2,0,56,0,63,0,169,18,7,0,2,0,56,0,63,0,1,16,146,2,2,0,56,0,63,0,1,16,12,4,2,0,56,0,63,0,121,16,139,5,2,0,56,0,63,0,121,16,199,3,2,0,56,0,63,0,155,18,247,5,2,0,56,0,63,0,121,16,35,4,2,0,56,0,63,0,155,18,7,0,2,0,56,0,63,0,221,11,73,9,2,0,56,0,63,0,1,16,206,2,2,0,56,0,63,0,1,16,143,2,2,0,56,0,63,0,121,16,187,3,2,0,56,0,63,0,121,16,191,5,2,0,56,0,63,0,1,16,23,2,2,0,56,0,63,0,155,18,23,2,2,0,56,0,63,0,1,16,225,11,2,0,56,0,63,0,169,18,140,3,2,0,56,0,63,0,121,16,187,4,2,0,56,0,63,0,1,16,149,2,2,0,56,0,63,0,121,16,155,5,2,0,56,0,63,0,1,16,26,2,2,0,56,0,63,0,155,18,191,4,2,0,56,0,63,0,155,18,147,5,2,0,56,0,63,0,155,18,183,4,2,0,56,0,63,0,155,18,159,3,2,0,56,0,63,0,121,16,179,4,2,0,56,0,63,0,1,16,152,2,2,0,56,0,63,0,121,16,215,4,2,0,56,0,63,0,121,16,91,4,2,0,56,0,63,0,121,16,73,6,2,0,56,0,63,0,121,16,175,3,2,0,56,0,63,0,121,16,159,7,2,0,56,0,63,0,121,16,27,4,2,0,56,0,63,0,121,16,211,4,2,0,56,0,63,0,169,18,124,3,2,0,56,0,63,0,121,16,171,4,2,0,56,0,63,0,1,16,136,3,2,0,56,0,63,0,155,18,29,2,2,0,56,0,63,0,1,16,116,3,2,0,56,0,63,0,121,16,75,4,2,0,56,0,63,0,155,18,179,3,2,0,56,0,63,0,121,16,212,18,2,0,56,0,63,0,1,16,204,3,2,0,56,0,63,0,1,16,32,4,2,0,56,0,63,0,155,18,112,3,2,0,56,0,63,0,1,16,29,2,2,0,56,0,63,0,1,16,32,2,2,0,56,0,63,0,1,16,155,2,2,0,56,0,63,0,1,16,158,2,2,0,56,0,63,0,1,16,100,0,2,0,56,0,63,0,155,18,76,3,2,0,56,0,63,0,1,16,93,6,2,0,56,0,63,0,1,16,192,3,2,0,56,0,63,0,1,16,38,2,2,0,56,0,63,0,169,18,38,2,2,0,56,0,63,0,1,16,196,3,2,0,56,0,63,0,155,18,35,2,2,0,56,0,63,0,1,16,35,2,2,0,56,0,63,0,121,16,175,4,2,0,56,0,63,0,155,18,156,3,2,0,56,0,63,0,121,16,43,6,2,0,56,0,63,0,155,18,15,5,2,0,56,0,63,0,169,18,59,2,2,0,56,0,63,0,169,18,26,2,2,0,56,0,63,0,121,16,95,3,2,0,56,0,63,0,121,16,31,5,2,0,56,0,63,0,121,16,235,4,2,0,56,0,63,0,121,16,27,5,2,0,56,0,63,0,121,16,83,4,2,0,56,0,63,0,1,16,16,4,2,0,56,0,63,0,1,16,161,2,2,0,56,0,63,0,1,16,208,3,2,0,56,0,63,0,121,16,175,3,2,0,56,0,63,0,1,16,240,3,2,0,56,0,63,0,155,18,11,5,2,0,56,0,63,0,169,18,116,3,2,0,56,0,63,0,1,16,41,2,2,0,56,0,63,0,121,16,175,5,2,0,56,0,63,0,155,18,41,2,2,0,56,0,63,0,1,16,164,2,2,0,56,0,63,0,121,16,119,3,2,0,56,0,63,0,155,18,3,5,2,0,56,0,63,0,1,16,167,2,2,0,56,0,63,0,1,16,98,6,2,0,56,0,63,0,1,16,121,15,2,0,56,0,63,0,155,18,35,5,2,0,56,0,63,0,155,18,43,5,2,0,56,0,63,0,1,16,78,6,2,0,56,0,63,0,1,16,173,2,2,0,56,0,63,0,155,18,227,5,2,0,56,0,63,0,1,16,103,6,2,0,56,0,63,0,1,16,100,3,2,0,56,0,63,0,121,16,67,5,2,0,56,0,63,0,1,16,144,3,2,0,56,0,63,0,1,16,170,2,2,0,56,0,63,0,121,16,55,5,2,0,56,0,63,0,1,16,44,2,2,0,56,0,63,0,121,16,83,3,2,0,56,0,63,0,121,16,135,4,2,0,56,0,63,0,221,11,197,18,2,0,56,0,63,0,221,11,34,19,2,0,56,0,63,0,121,16,171,3,2,0,56,0,63,0,121,16,7,6,2,0,56,0,63,0,121,16,74,2,2,0,56,0,63,0,221,11,183,18,2,0,56,0,63,0,121,16,89,2,2,0,56,0,63,0,121,16,187,5,2,0,56,0,63,0,121,16,255,5,2,0,56,0,63,0,121,16,151,3,2,0,56,0,63,0,121,16,23,4,2,0,56,0,63,0,121,16,3,4,2,0,56,0,63,0,1,16,179,2,2,0,56,0,63,0,169,18,50,2,2,0,56,0,63,0,1,16,182,2,2,0,56,0,63,0,1,16,25,16,2,0,56,0,63,0,155,18,53,2,2,0,56,0,63,0,1,16,53,2,2,0,56,0,63,0,1,16,176,2,2,0,56,0,63,0,121,16,59,5,2,0,56,0,63,0,121,16,251,4,2,0,56,0,63,0,121,16,47,2,2,0,56,0,63,0,1,16,204,7,2,0,56,0,63,0,1,16,47,2,2,0,56,0,63,0,1,16,112,3,2,0,56,0,63,0,1,16,50,2,2,0,56,0,63,0,1,16,185,2,2,0,56,0,63,0,121,16,78,6,2,0,56,0,63,0,121,16,239,4,2,0,56,0,63,0,121,16,75,5,2,0,56,0,63,0,1,16,56,2,2,0,56,0,63,0,121,16,91,3,2,0,56,0,63,0,121,16,109,0,2,0,56,0,63,0,1,16,188,2,2,0,56,0,63,0,121,16,56,2,2,0,56,0,63,0,1,16,197,2,2,0,56,0,63,0,1,16,200,2,2,0,56,0,63,0,1,16,203,2,2,0,56,0,63,0,1,16,59,2,2,0,56,0,63,0,1,16,65,2,2,0,56,0,63,0,1,16,194,2,2,0,56,0,63,0,121,16,67,6,2,0,56,0,63,0,121,16,3,6,2,0,56,0,63,0,121,16,87,6,2,0,56,0,63,0,121,16,227,3,2,0,56,0,63,0,155,18,73,6,2,0,56,0,63,0,1,16,220,3,2,0,56,0,63,0,1,16,108,3,2,0,56,0,63,0,1,16,254,2,2,0,56,0,63,0,1,16,209,2,2,0,56,0,63,0,155,18,68,2,2,0,56,0,63,0,155,18,65,2,2,0,56,0,63,0,155,18,62,2,2,0,56,0,63,0,155,18,91,5,2,0,56,0,63,0,121,16,111,5,2,0,56,0,63,0,1,16,71,2,2,0,56,0,63,0,1,16,62,2,2,0,56,0,63,0,1,16,145,20,2,0,56,0,63,0,121,16,219,3,2,0,56,0,63,0,155,18,71,2,2,0,56,0,63,0,121,16,127,4,2,0,56,0,63,0,121,16,71,3,2,0,56,0,63,0,1,16,191,2,2,0,56,0,63,0,1,16,68,2,2,0,56,0,63,0,121,16,7,5,2,0,56,0,63,0,121,16,47,4,2,0,56,0,63,0,121,16,15,6,2,0,56,0,63,0,121,16,99,5,2,0,56,0,63,0,121,16,207,3,2,0,56,0,63,0,121,16,71,3,2,0,56,0,63,0,121,16,71,3,2,0,56,0,63,0,121,16,103,5,2,0,56,0,63,0,1,16,218,2,2,0,56,0,63,0,1,16,0,4,2,0,56,0,63,0,1,16,77,2,2,0,56,0,63,0,155,18,131,4,2,0,56,0,63,0,121,16,123,3,2,0,56,0,63,0,121,16,199,5,2,0,56,0,63,0,1,16,215,2,2,0,56,0,63,0,1,16,108,6,2,0,56,0,63,0,1,16,209,18,2,0,56,0,63,0,121,16,151,5,2,0,56,0,63,0,121,16,203,5,2,0,56,0,63,0,1,16,74,2,2,0,56,0,63,0,1,16,221,2,2,0,56,0,63,0,1,16,212,2,2,0,56,0,63,0,155,18,77,2,2,0,56,0,63,0,169,18,83,2,2,0,56,0,63,0,1,16,20,4,2,0,56,0,63,0,1,16,228,3,2,0,56,0,63,0,169,18,84,3,2,0,56,0,63,0,1,16,200,3,2,0,56,0,63,0,169,18,103,0,2,0,56,0,63,0,121,16,163,4,2,0,56,0,63,0,121,16,71,5,2,0,56,0,63,0,155,18,159,4,2,0,56,0,63,0,1,16,83,2,2,0,56,0,63,0,1,16,80,2,2,0,56,0,63,0,1,16,224,2,2,0,56,0,63,0,155,18,179,3,2,0,56,0,63,0,121,16,87,3,2,0,56,0,63,0,121,16,80,3,2,0,56,0,63,0,121,16,51,6,2,0,56,0,63,0,1,16,80,3,2,0,56,0,63,0,1,16,73,6,2,0,56,0,63,0,1,16,84,3,2,0,56,0,63,0,1,16,103,0,2,0,56,0,63,0,121,16,183,3,2,0,56,0,63,0,155,18,195,5,2,0,56,0,63,0,121,16,163,3,2,0,56,0,63,0,121,16,95,3,2,0,56,0,63,0,1,16,86,2,2,0,56,0,63,0,121,16,79,4,2,0,56,0,63,0,121,16,183,3,2,0,56,0,63,0,121,16,39,4,2,0,56,0,63,0,1,16,227,2,2,0,56,0,63,0,1,16,89,2,2,0,56,0,63,0,121,16,167,5,2,0,56,0,63,0,1,16,233,2,2,0,56,0,63,0,121,16,223,4,2,0,56,0,63,0,121,16,135,3,2,0,56,0,63,0,1,16,68,3,2,0,56,0,63,0,1,16,7,16,2,0,56,0,63,0,1,16,112,9,2,0,56,0,63,0,1,16,124,3,2,0,56,0,63,0,121,16,103,4,2,0,56,0,63,0,121,16,163,5,2,0,56,0,63,0,1,16,88,3,2,0,56,0,63,0,121,16,235,3,2,0,56,0,63,0,121,16,239,3,2,0,56,0,63,0,121,16,13,0,2,0,56,0,63,0,121,16,13,0,2,0,56,0,63,0,121,16,88,3,2,0,56,0,63,0,121,16,88,3,2,0,56,0,63,0,1,16,13,0,2,0,56,0,63,0,121,16,207,4,2,0,56,0,63,0,1,16,230,2,2,0,56,0,63,0,155,18,112,9,2,0,56,0,63,0,121,16,187,3,2,0,56,0,63,0,121,16,139,4,2,0,56,0,63,0,1,16,40,4,2,0,56,0,63,0,1,16,236,2,2,0,56,0,63,0,155,18,92,2,2,0,56,0,63,0,1,16,92,2,2,0,56,0,63,0,1,16,174,7,2,0,56,0,63,0,1,16,156,3,2,0,56,0,63,0,155,18,174,7,2,0,56,0,63,0,1,16,239,2,2,0,56,0,63,0,121,16,95,3,2,0,56,0,63,0,1,16,4,4,2,0,56,0,63,0,121,16,115,5,2,0,56,0,63,0,155,18,95,2,2,0,56,0,63,0,121,16,67,4,2,0,56,0,63,0,169,18,100,0,2,0,56,0,63,0,155,18,100,0,2,0,56,0,63,0,1,16,242,2,2,0,56,0,63,0,155,18,80,2,2,0,56,0,63,0,121,16,51,5,2,0,56,0,63,0,121,16,143,3,2,0,56,0,63,0,155,18,119,5,2,0,56,0,63,0,1,16,245,2,2,0,56,0,63,0,1,16,248,2,2,0,56,0,63,0,121,16,195,3,2,0,56,0,63,0,121,16,123,5,2,0,56,0,63,0,1,16,159,7,2,0,56,0,63,0,121,16,179,5,2,0,56,0,63,0,1,16,95,2,2,0,56,0,63,0,121,16,183,5,2,0,56,0,63,0,1,16,98,2,2,0,56,0,63,0,155,18,98,2,2,0,56,0,63,0,121,16,231,4,2,0,56,0,63,0,155,18,207,5,2,0,56,0,63,0,1,16,52,4,2,0,56,0,63,0,1,16,80,3,2,0,56,0,63,0,169,18,80,3,2,0,56,0,63,0,1,16,251,2,2,0,56,0,63,0,1,16,150,15,2,0,56,0,63,0,1,16,216,3,2,0,56,0,63,0,1,16,1,3,2,0,56,0,63,0,121,16,95,4,2,0,56,0,63,0,121,16,39,5,2,0,56,0,63,0,121,16,148,3,2,0,56,0,63,0,121,16,144,3,2,0,56,0,63,0,121,16,127,3,2,0,56,0,63,0,121,16,211,5,2,0,56,0,63,0,121,16,31,6,2,0,56,0,63,0,121,16,151,4,2,0,56,0,63,0,121,16,219,5,2,0,56,0,63,0,121,16,167,4,2,0,56,0,63,0,121,16,19,5,2,0,56,0,63,0,121,16,203,4,2,0,56,0,63,0,121,16,231,5,2,0,56,0,63,0,121,16,247,4,2,0,56,0,63,0,121,16,191,3,2,0,56,0,63,0,121,16,23,5,2,0,56,0,63,0,121,16,215,3,2,0,56,0,63,0,121,16,211,3,2,0,56,0,63,0,121,16,223,3,2,0,56,0,63,0,121,16,135,5,2,0,56,0,63,0,121,16,139,3,2,0,56,0,63,0,121,16,199,4,2,0,56,0,63,0,121,16,243,3,2,0,56,0,63,0,121,16,147,3,2,0,56,0,63,0,121,16,243,5,2,0,56,0,63,0,121,16,99,4,2,0,56,0,63,0,121,16,215,5,2,0,56,0,63,0,221,11,121,15,2,0,56,0,63,0,1,16,244,3,2,0,56,0,63,0,121,16,91,3,2,0,56,0,63,0,1,16,128,3,2,0,56,0,63,0,169,18,128,3,2,0,56,0,63,0,1,16,224,3,2,0,56,0,63,0,121,16,87,5,2,0,56,0,63,0,1,16,212,3,2,0,56,0,63,0,1,16,4,3,2,0,56,0,63,0,1,16,118,6,2,0,56,0,63,0,121,16,103,3,2,0,56,0,63,0,1,16,113,6,2,0,56,0,63,0,1,16,7,3,2,0,56,0,63,0,1,16,10,3,2,0,56,0,63,0,1,16,150,7,2,0,56,0,63,0,155,18,83,5,2,0,56,0,63,0,1,16,106,0,2,0,56,0,63,0,155,18,83,6,2,0,56,0,63,0,1,16,83,6,2,0,56,0,63,0,1,16,148,3,2,0,56,0,63,0,1,16,108,16,2,0,56,0,63,0,121,16,15,4,2,0,56,0,63,0,121,16,27,6,2,0,56,0,63,0,1,16,24,4,2,0,56,0,63,0,1,16,101,2,2,0,56,0,63,0,1,16,183,7,2,0,56,0,63,0,1,16,13,3,2,0,56,0,63,0,155,18,101,2,2,0,56,0,63,0,1,16,40,3,2,0,56,0,63,0,1,16,16,3,2,0,56,0,63,0,1,16,37,3,2,0,56,0,63,0,121,16,71,3,2,0,56,0,63,0,1,16,19,3,2,0,56,0,63,0,121,16,123,4,2,0,56,0,63,0,1,16,44,4,2,0,56,0,63,0,1,16,167,3,2,0,56,0,63,0,1,16,28,4,2,0,56,0,63,0,121,16,11,6,2,0,56,0,63,0,121,16,255,3,2,0,56,0,63,0,121,16,91,3,2,0,56,0,63,0,169,18,132,3,2,0,56,0,63,0,121,16,63,5,2,0,56,0,63,0,121,16,7,4,2,0,56,0,63,0,1,16,22,3,2,0,56,0,63,0,121,16,19,6,2,0,56,0,63,0,221,11,167,3,2,0,56,0,63,0,121,16,31,4,2,0,56,0,63,0,121,16,23,6,2,0,56,0,63,0,121,16,75,3,2,0,56,0,63,0,121,16,159,7,2,0,56,0,63,0,1,16,28,3,2,0,56,0,63,0,121,16,251,5,2,0,56,0,63,0,1,16,158,15,2,0,56,0,63,0,1,16,34,3,2,0,56,0,63,0,155,18,19,4,2,0,56,0,63,0,1,16,25,3,2,0,56,0,63,0,1,16,31,3,2,0,56,0,63,0,155,18,76,3,2,0,56,0,63,0,1,16,76,3,2,0,56,0,63,0,1,16,56,4,2,0,56,0,63,0,1,16,43,3,2,0,56,0,63,0,155,18,115,3,2,0,56,0,63,0,121,16,0,12,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,230,17,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,79,3,2,0,56,0,63,0,121,16,227,4,2,0,56,0,63,0,1,16,46,3,2,0,56,0,63,0,1,16,120,3,2,0,56,0,63,0,155,18,120,3,2,0,56,0,63,0,1,16,49,3,2,0,56,0,63,0,1,16,52,3,2,0,56,0,63,0,1,16,248,3,2,0,56,0,63,0,169,18,225,11,2,0,56,0,63,0,121,16,39,6,2,0,56,0,63,0,121,16,159,5,2,0,56,0,63,0,121,16,251,3,2,0,56,0,63,0,1,16,55,3,2,0,56,0,63,0,1,16,252,3,2,0,56,0,63,0,121,16,155,4,2,0,56,0,63,0,1,16,58,3,2,0,56,0,63,0,121,16,63,4,2,0,56,0,63,0,121,16,35,6,2,0,56,0,63,0,155,18,95,5,2,0,56,0,63,0,121,16,163,3,2,0,56,0,63,0,121,16,239,5,2,0,56,0,63,0,155,18,203,3,2,0,56,0,63,0,121,16,107,3,2,0,56,0,63,0,155,18,109,0,2,0,56,0,63,0,121,16,55,6,2,0,56,0,63,0,1,16,109,0,2,0,56,0,63,0,121,16,51,4,2,0,56,0,63,0,121,16,127,5,2,0,56,0,63,0,121,16,143,5,2,0,56,0,63,0,1,16,61,3,2,0,56,0,63,0,121,16,155,3,2,0,56,0,63,0,121,16,55,4,2,0,56,0,63,0,155,18,63,6,2,0,56,0,63,0,121,16,7,0,2,0,56,0,63,0,121,16,129,15,2,0,56,0,63,0,121,16,249,15,2,0,56,0,63,0,121,16,255,4,2,0,56,0,63,0,121,16,7,0,2,0,56,0,63,0,121,16,171,3,2,0,56,0,63,0,221,11,142,18,2,0,56,0,63,0,121,16,231,3,2,0,56,0,63,0,121,16,47,6,2,0,56,0,63,0,121,16,47,5,2,0,56,0,63,0,121,16,59,6,2,0,56,0,63,0,1,16,160,3,2,0,56,0,63,0,1,16,7,0,2,0,56,0,63,0,121,16,11,4,2,0,56,0,63,0,155,18,103,0,2,0,56,0,63,0,1,16,64,3,2,0,56,0,63,0,155,18,160,3,2,0,56,0,63,0,121,16,121,6,2,0,56,0,63,0,121,16,131,6,2,0,56,0,63,0,121,16,206,6,2,0,56,0,63,0,121,16,76,6,2,0,56,0,63,0,121,16,201,6,2,0,56,0,63,0,121,16,71,6,2,0,56,0,63,0,121,16,106,6,2,0,56,0,63,0,121,16,171,6,2,0,56,0,63,0,121,16,161,6,2,0,56,0,63,0,121,16,196,6,2,0,56,0,63,0,121,16,176,6,2,0,56,0,63,0,121,16,226,6,2,0,56,0,63,0,121,16,126,6,2,0,56,0,63,0,121,16,91,6,2,0,56,0,63,0,121,16,181,6,2,0,56,0,63,0,121,16,111,6,2,0,56,0,63,0,121,16,96,6,2,0,56,0,63,0,121,16,156,6,2,0,56,0,63,0,121,16,166,6,2,0,56,0,63,0,121,16,136,6,2,0,56,0,63,0,121,16,146,6,2,0,56,0,63,0,121,16,101,6,2,0,56,0,63,0,121,16,86,6,2,0,56,0,63,0,121,16,81,6,2,0,56,0,63,0,121,16,151,6,2,0,56,0,63,0,121,16,221,6,2,0,56,0,63,0,121,16,216,6,2,0,56,0,63,0,121,16,116,6,2,0,56,0,63,0,121,16,141,6,2,0,56,0,63,0,121,16,191,6,2,0,56,0,63,0,121,16,186,6,2,0,56,0,63,0,121,16,211,6,2,0,56,0,63,0,1,16,253,11,2,0,56,0,63,0,1,16,227,17,2,0,56,0,63,0,1,16,55,0,2,0,56,0,63,0,121,16,247,9,2,0,56,0,63,0,121,16,253,9,2,0,56,0,63,0,121,16,3,10,2,0,56,0,63,0,121,16,9,10,2,0,56,0,63,0,121,16,15,10,2,0,56,0,63,0,121,16,21,10,2,0,56,0,63,0,121,16,87,10,2,0,56,0,63,0,121,16,27,10,2,0,56,0,63,0,121,16,33,10,2,0,56,0,63,0,121,16,39,10,2,0,56,0,63,0,121,16,45,10,2,0,56,0,63,0,121,16,51,10,2,0,56,0,63,0,121,16,57,10,2,0,56,0,63,0,121,16,63,10,2,0,56,0,63,0,121,16,69,10,2,0,56,0,63,0,121,16,75,10,2,0,56,0,63,0,121,16,81,10,2,0,56,0,63,0,121,16,241,6,2,0,56,0,63,0,121,16,25,7,2,0,56,0,63,0,121,16,251,6,2,0,56,0,63,0,121,16,10,7,2,0,56,0,63,0,121,16,5,7,2,0,56,0,63,0,121,16,40,7,2,0,56,0,63,0,121,16,30,7,2,0,56,0,63,0,121,16,15,7,2,0,56,0,63,0,121,16,246,6,2,0,56,0,63,0,121,16,231,6,2,0,56,0,63,0,121,16,236,6,2,0,56,0,63,0,121,16,0,7,2,0,56,0,63,0,121,16,20,7,2,0,56,0,63,0,121,16,35,7,2,0,56,0,63,0,1,16,4,12,2,0,56,0,63,0,121,16,147,7,2,0,56,0,63,0,121,16,165,7,2,0,56,0,63,0,1,16,31,0,2,0,56,0,63,0,121,16,29,8,2,0,56,0,63,0,1,16,178,0,2,0,56,0,63,0,121,16,35,8,2,0,56,0,63,0,121,16,129,10,2,0,56,0,63,0,121,16,141,10,2,0,56,0,63,0,121,16,147,7,2,0,56,0,63,0,1,16,40,0,2,0,56,0,63,0,1,16,43,0,2,0,56,0,63,0,121,16,135,10,2,0,56,0,63,0,121,16,35,8,2,0,56,0,63,0,121,16,147,10,2,0,56,0,63,0,121,16,47,8,2,0,56,0,63,0,121,16,165,7,2,0,56,0,63,0,121,16,147,7,2,0,56,0,63,0,1,16,52,0,2,0,56,0,63,0,1,16,61,0,2,0,56,0,63,0,121,16,47,8,2,0,56,0,63,0,1,16,64,0,2,0,56,0,63,0,121,16,41,8,2,0,56,0,63,0,121,16,171,7,2,0,56,0,63,0,1,16,70,0,2,0,56,0,63,0,1,16,73,0,2,0,56,0,63,0,121,16,171,7,2,0,56,0,63,0,121,16,159,10,2,0,56,0,63,0,1,16,79,0,2,0,56,0,63,0,121,16,41,8,2,0,56,0,63,0,121,16,165,7,2,0,56,0,63,0,1,16,192,7,2,0,56,0,63,0,121,16,153,10,2,0,56,0,63,0,121,16,29,8,2,0,56,0,63,0,1,16,94,0,2,0,56,0,63,0,1,16,97,0,2,0,56,0,63,0,121,16,45,7,2,0,56,0,63,0,121,16,137,19,2,0,56,0,63,0,121,16,227,18,2,0,56,0,63,0,121,16,69,19,2,0,56,0,63,0,121,16,242,18,2,0,56,0,63,0,1,16,22,0,2,0,56,0,63,0,1,16,34,0,2,0,56,0,63,0,1,16,85,0,2,0,56,0,63,0,121,16,50,7,2,0,56,0,63,0,121,16,93,20,2,0,56,0,63,0,121,16,4,20,2,0,56,0,63,0,121,16,91,16,2,0,56,0,63,0,121,16,101,16,2,0,56,0,63,0,121,16,55,7,2,0,56,0,63,0,121,16,60,7,2,0,56,0,63,0,121,16,70,7,2,0,56,0,63,0,121,16,75,7,2,0,56,0,63,0,121,16,65,7,2,0,56,0,63,0,121,16,80,7,2,0,56,0,63,0,121,16,85,7,2,0,56,0,63,0,121,16,90,7,2,0,56,0,63,0,121,16,100,7,2,0,56,0,63,0,121,16,95,7,2,0,56,0,63,0,121,16,105,7,2,0,56,0,63,0,121,16,115,7,2,0,56,0,63,0,121,16,110,7,2,0,56,0,63,0,121,16,120,7,2,0,56,0,63,0,121,16,125,7,2,0,56,0,63,0,121,16,130,7,2,0,56,0,63,0,1,16,156,1,2,0,56,0,63,0,121,16,115,9,2,0,56,0,63,0,121,16,155,11,2,0,56,0,63,0,121,16,115,9,2,0,56,0,63,0,121,16,161,11,2,0,56,0,63,0,121,16,173,11,2,0,56,0,63,0,121,16,167,11,2,0,56,0,63,0,121,16,179,11,2,0,56,0,63,0,1,16,19,0,2,0,56,0,63,0,1,16,46,0,2,0,56,0,63,0,1,16,58,0,2,0,56,0,63,0,1,16,76,0,2,0,56,0,63,0,1,16,1,0,2,0,56,0,63,0,1,16,88,0,2,0,56,0,63,0,1,16,4,9,2,0,56,0,63,0,1,16,70,9,2,0,56,0,63,0,1,16,16,0,2,0,56,0,63,0,1,16,88,12,2,0,56,0,63,0,1,16,19,0,2,0,56,0,63,0,1,16,115,0,2,0,56,0,63,0,1,16,127,0,2,0,56,0,63,0,1,16,121,0,2,0,56,0,63,0,1,16,140,16,2,0,56,0,63,0,1,16,130,0,2,0,56,0,63,0,1,16,228,12,2,0,56,0,63,0,1,16,133,0,2,0,56,0,63,0,1,16,151,0,2,0,56,0,63,0,1,16,139,0,2,0,56,0,63,0,1,16,39,12,2,0,56,0,63,0,1,16,98,8,2,0,56,0,63,0,1,16,136,0,2,0,56,0,63,0,1,16,130,9,2,0,56,0,63,0,1,16,142,0,2,0,56,0,63,0,121,16,161,15,2,0,56,0,63,0,1,16,2,8,2,0,56,0,63,0,1,16,148,0,2,0,56,0,63,0,1,16,151,16,2,0,56,0,63,0,1,16,157,0,2,0,56,0,63,0,1,16,154,0,2,0,56,0,63,0,1,16,10,9,2,0,56,0,63,0,1,16,160,0,2,0,56,0,63,0,1,16,253,0,2,0,56,0,63,0,1,16,151,12,2,0,56,0,63,0,1,16,186,1,2,0,56,0,63,0,1,16,145,0,2,0,56,0,63,0,1,16,234,7,2,0,56,0,63,0,1,16,180,7,2,0,56,0,63,0,1,16,22,9,2,0,56,0,63,0,1,16,228,7,2,0,56,0,63,0,1,16,146,8,2,0,56,0,63,0,1,16,235,12,2,0,56,0,63,0,1,16,116,8,2,0,56,0,63,0,1,16,95,12,2,0,56,0,63,0,1,16,21,1,2,0,56,0,63,0,1,16,40,9,2,0,56,0,63,0,1,16,46,9,2,0,56,0,63,0,1,16,162,1,2,0,56,0,63,0,1,16,11,12,2,0,56,0,63,0,1,16,184,16,2,0,56,0,63,0,1,16,253,11,2,0,56,0,63,0,1,16,187,0,2,0,56,0,63,0,1,16,163,0,2,0,56,0,63,0,1,16,175,0,2,0,56,0,63,0,121,16,224,19,2,0,56,0,63,0,1,16,9,1,2,0,56,0,63,0,1,16,97,0,2,0,56,0,63,0,1,16,166,0,2,0,56,0,63,0,1,16,186,7,2,0,56,0,63,0,1,16,172,0,2,0,56,0,63,0,1,16,181,0,2,0,56,0,63,0,1,16,86,8,2,0,56,0,63,0,1,16,184,0,2,0,56,0,63,0,1,16,190,0,2,0,56,0,63,0,121,16,145,9,2,0,56,0,63,0,1,16,240,7,2,0,56,0,63,0,1,16,28,0,2,0,56,0,63,0,1,16,246,7,2,0,56,0,63,0,1,16,196,0,2,0,56,0,63,0,1,16,199,0,2,0,56,0,63,0,1,16,202,0,2,0,56,0,63,0,1,16,147,1,2,0,56,0,63,0,1,16,232,0,2,0,56,0,63,0,121,16,246,11,2,0,56,0,63,0,1,16,246,11,2,0,56,0,63,0,1,16,179,12,2,0,56,0,63,0,1,16,14,8,2,0,56,0,63,0,1,16,26,8,2,0,56,0,63,0,1,16,214,0,2,0,56,0,63,0,1,16,235,0,2,0,56,0,63,0,1,16,211,0,2,0,56,0,63,0,1,16,172,12,2,0,56,0,63,0,1,16,4,12,2,0,56,0,63,0,1,16,144,7,2,0,56,0,63,0,1,16,144,7,2,0,56,0,63,0,1,16,40,0,2,0,56,0,63,0,1,16,70,0,2,0,56,0,63,0,1,16,192,7,2,0,56,0,63,0,1,16,193,0,2,0,56,0,63,0,1,16,220,0,2,0,56,0,63,0,1,16,254,8,2,0,56,0,63,0,1,16,229,0,2,0,56,0,63,0,1,16,75,1,2,0,56,0,63,0,1,16,232,11,2,0,56,0,63,0,1,16,232,11,2,0,56,0,63,0,121,16,232,11,2,0,56,0,63,0,1,16,222,7,2,0,56,0,63,0,1,16,226,0,2,0,56,0,63,0,1,16,49,0,2,0,56,0,63,0,1,16,8,8,2,0,56,0,63,0,1,16,140,8,2,0,56,0,63,0,1,16,223,0,2,0,56,0,63,0,1,16,43,0,2,0,56,0,63,0,1,16,46,0,2,0,56,0,63,0,1,16,158,12,2,0,56,0,63,0,1,16,137,12,2,0,56,0,63,0,1,16,241,0,2,0,56,0,63,0,1,16,250,0,2,0,56,0,63,0,1,16,244,0,2,0,56,0,63,0,1,16,170,8,2,0,56,0,63,0,1,16,247,0,2,0,56,0,63,0,1,16,227,17,2,0,56,0,63,0,1,16,92,8,2,0,56,0,63,0,1,16,104,8,2,0,56,0,63,0,1,16,32,12,2,0,56,0,63,0,1,16,128,8,2,0,56,0,63,0,1,16,123,12,2,0,56,0,63,0,1,16,186,12,2,0,56,0,63,0,1,16,62,8,2,0,56,0,63,0,1,16,80,8,2,0,56,0,63,0,1,16,110,8,2,0,56,0,63,0,1,16,169,0,2,0,56,0,63,0,1,16,3,1,2,0,56,0,63,0,1,16,122,8,2,0,56,0,63,0,1,16,134,8,2,0,56,0,63,0,1,16,6,1,2,0,56,0,63,0,1,16,67,12,2,0,56,0,63,0,1,16,15,1,2,0,56,0,63,0,1,16,152,8,2,0,56,0,63,0,1,16,18,1,2,0,56,0,63,0,1,16,164,8,2,0,56,0,63,0,1,16,182,8,2,0,56,0,63,0,1,16,24,1,2,0,56,0,63,0,1,16,33,1,2,0,56,0,63,0,1,16,194,8,2,0,56,0,63,0,1,16,7,18,2,0,56,0,63,0,1,16,36,1,2,0,56,0,63,0,1,16,30,1,2,0,56,0,63,0,1,16,188,8,2,0,56,0,63,0,1,16,176,8,2,0,56,0,63,0,1,16,55,0,2,0,56,0,63,0,1,16,200,8,2,0,56,0,63,0,1,16,248,8,2,0,56,0,63,0,1,16,224,8,2,0,56,0,63,0,1,16,252,7,2,0,56,0,63,0,1,16,165,12,2,0,56,0,63,0,1,16,230,8,2,0,56,0,63,0,1,16,61,0,2,0,56,0,63,0,1,16,48,1,2,0,56,0,63,0,1,16,102,12,2,0,56,0,63,0,1,16,54,1,2,0,56,0,63,0,1,16,39,1,2,0,56,0,63,0,1,16,218,8,2,0,56,0,63,0,1,16,42,1,2,0,56,0,63,0,1,16,76,9,2,0,56,0,63,0,1,16,51,1,2,0,56,0,63,0,1,16,251,17,2,0,56,0,63,0,1,16,109,12,2,0,56,0,63,0,1,16,69,1,2,0,56,0,63,0,1,16,130,12,2,0,56,0,63,0,1,16,63,1,2,0,56,0,63,0,1,16,236,8,2,0,56,0,63,0,1,16,56,8,2,0,56,0,63,0,1,16,10,16,2,0,56,0,63,0,1,16,34,0,2,0,56,0,63,0,121,16,10,16,2,0,56,0,63,0,1,16,22,0,2,0,56,0,63,0,1,16,85,0,2,0,56,0,63,0,1,16,16,16,2,0,56,0,63,0,1,16,153,7,2,0,56,0,63,0,1,16,64,0,2,0,56,0,63,0,1,16,91,0,2,0,56,0,63,0,1,16,206,8,2,0,56,0,63,0,1,16,60,1,2,0,56,0,63,0,1,16,221,12,2,0,56,0,63,0,1,16,136,9,2,0,56,0,63,0,1,16,66,1,2,0,56,0,63,0,1,16,57,1,2,0,56,0,63,0,1,16,242,8,2,0,56,0,63,0,1,16,58,0,2,0,56,0,63,0,1,16,1,0,2,0,56,0,63,0,121,16,206,17,2,0,56,0,63,0,1,16,217,0,2,0,56,0,63,0,1,16,45,1,2,0,56,0,63,0,1,16,215,17,2,0,56,0,63,0,1,16,214,12,2,0,56,0,63,0,1,16,67,0,2,0,56,0,63,0,1,16,207,12,2,0,56,0,63,0,1,16,68,8,2,0,56,0,63,0,1,16,16,9,2,0,56,0,63,0,1,16,53,12,2,0,56,0,63,0,1,16,72,1,2,0,56,0,63,0,1,16,193,12,2,0,56,0,63,0,1,16,78,1,2,0,56,0,63,0,1,16,238,0,2,0,56,0,63,0,1,16,10,0,2,0,56,0,63,0,1,16,76,0,2,0,56,0,63,0,1,16,81,1,2,0,56,0,63,0,1,16,79,0,2,0,56,0,63,0,1,16,28,9,2,0,56,0,63,0,1,16,116,12,2,0,56,0,63,0,1,16,34,9,2,0,56,0,63,0,1,16,31,0,2,0,56,0,63,0,1,16,129,1,2,0,56,0,63,0,1,16,12,1,2,0,56,0,63,0,1,16,124,0,2,0,56,0,63,0,1,16,27,1,2,0,56,0,63,0,1,16,52,0,2,0,56,0,63,0,1,16,73,0,2,0,56,0,63,0,1,16,180,1,2,0,56,0,63,0,1,16,138,1,2,0,56,0,63,0,1,16,144,1,2,0,56,0,63,0,1,16,120,1,2,0,56,0,63,0,1,16,46,12,2,0,56,0,63,0,1,16,162,16,2,0,56,0,63,0,1,16,123,1,2,0,56,0,63,0,1,16,135,1,2,0,56,0,63,0,1,16,126,1,2,0,56,0,63,0,1,16,52,9,2,0,56,0,63,0,1,16,239,11,2,0,56,0,63,0,1,16,58,9,2,0,56,0,63,0,1,16,64,9,2,0,56,0,63,0,1,16,142,9,2,0,56,0,63,0,1,16,210,7,2,0,56,0,63,0,1,16,4,0,2,0,56,0,63,0,1,16,20,8,2,0,56,0,63,0,1,16,144,12,2,0,56,0,63,0,1,16,82,0,2,0,56,0,63,0,1,16,208,0,2,0,56,0,63,0,121,16,82,0,2,0,56,0,63,0,1,16,141,1,2,0,56,0,63,0,1,16,132,1,2,0,56,0,63,0,1,16,153,1,2,0,56,0,63,0,1,16,82,9,2,0,56,0,63,0,1,16,60,12,2,0,56,0,63,0,1,16,150,1,2,0,56,0,63,0,1,16,88,9,2,0,56,0,63,0,1,16,94,9,2,0,56,0,63,0,1,16,81,12,2,0,56,0,63,0,1,16,165,1,2,0,56,0,63,0,1,16,106,9,2,0,56,0,63,0,1,16,171,1,2,0,56,0,63,0,1,16,118,0,2,0,56,0,63,0,1,16,168,1,2,0,56,0,63,0,1,16,158,8,2,0,56,0,63,0,1,16,100,9,2,0,56,0,63,0,1,16,159,1,2,0,56,0,63,0,1,16,174,1,2,0,56,0,63,0,1,16,200,12,2,0,56,0,63,0,1,16,124,9,2,0,56,0,63,0,1,16,212,8,2,0,56,0,63,0,1,16,47,20,2,0,56,0,63,0,1,16,205,0,2,0,56,0,63,0,1,16,198,7,2,0,56,0,63,0,121,16,213,7,2,0,56,0,63,0,1,16,216,7,2,0,56,0,63,0,1,16,0,1,2,0,56,0,63,0,1,16,74,8,2,0,56,0,63,0,1,16,25,12,2,0,56,0,63,0,1,16,74,12,2,0,56,0,63,0,1,16,88,0,2,0,56,0,63,0,1,16,25,0,2,0,56,0,63,0,1,16,177,1,2,0,56,0,63,0,1,16,173,16,2,0,56,0,63,0,1,16,183,1,2,0,56,0,63,0,1,16,94,0,2,0,56,0,63,0,1,16,189,1,2,0,56,0,63,0,121,16,4,0,2,0,56,0,63,0,1,16,4,0,2,0,56,0,63,0,121,16,51,19,2,0,56,0,63,0,1,16,135,7,2,0,56,0,63,0,1,16,18,12,2,0,56,0,63,0,1,16,112,0,2,0,56,0,63,0,1,16,84,1,2,0,56,0,63,0,1,16,87,1,2,0,56,0,63,0,1,16,90,1,2,0,56,0,63,0,1,16,93,1,2,0,56,0,63,0,1,16,96,1,2,0,56,0,63,0,1,16,99,1,2,0,56,0,63,0,1,16,102,1,2,0,56,0,63,0,1,16,37,0,2,0,56,0,63,0,1,16,105,1,2,0,56,0,63,0,1,16,108,1,2,0,56,0,63,0,1,16,111,1,2,0,56,0,63,0,1,16,114,1,2,0,56,0,63,0,1,16,117,1,2,0,56,0,63,0,1,16,192,1,2,0,56,0,63,0,1,16,195,1,2,0,56,0,63,0,1,16,198,1,2,0,56,0,63,0,1,16,201,1,2,0,56,0,63,0,1,16,204,1,2,0,56,0,63,0,1,16,207,1,2,0,56,0,63,0,1,16,210,1,2,0,56,0,63,0,1,16,213,1,2,0,56,0,63,0,1,16,216,1,2,0,56,0,63,0,1,16,219,1,2,0,56,0,63,0,1,16,222,1,2,0,56,0,63,0,1,16,225,1,2,0,56,0,63,0,1,16,228,1,2,0,56,0,63,0,1,16,231,1,2,0,56,0,63,0,1,16,234,1,2,0,56,0,63,0,1,16,237,1,2,0,56,0,63,0,1,16,240,1,2,0,56,0,63,0,1,16,243,1,2,0,56,0,63,0,1,16,246,1,2,0,56,0,63,0,1,16,249,1,2,0,56,0,63,0,1,16,252,1,2,0,56,0,63,0,1,16,255,1,2,0,56,0,63,0,1,16,2,2,2,0,56,0,63,0,1,16,5,2,2,0,56,0,63,0,1,16,8,2,2,0,56,0,63,0,1,16,11,2,2,0,56,0,63,0,1,16,14,2,2,0,56,0,63,0,1,16,112,0,2,0,56,0,63,0,1,16,22,0,2,0,56,0,63,0,1,16,4,9,2,0,56,0,63,0,1,16,127,0,2,0,56,0,63,0,1,16,124,0,2,0,56,0,63,0,1,16,4,12,2,0,56,0,63,0,1,16,70,9,2,0,56,0,63,0,121,16,10,16,2,0,56,0,63,0,1,16,115,0,2,0,56,0,63,0,1,16,10,16,2,0,56,0,63,0,1,16,118,0,2,0,56,0,63,0,1,16,130,0,2,0,56,0,63,0,1,16,98,8,2,0,56,0,63,0,1,16,104,2,2,0,56,0,63,0,1,16,19,0,2,0,56,0,63,0,1,16,16,0,2,0,56,0,63,0,1,16,192,7,2,0,56,0,63,0,1,16,121,0,2,0,56,0,63,0,1,16,228,12,2,0,56,0,63,0,1,16,133,0,2,0,56,0,63,0,1,16,140,16,2,0,56,0,63,0,1,16,22,9,2,0,56,0,63,0,1,16,130,9,2,0,56,0,63,0,1,16,28,0,2,0,56,0,63,0,1,16,16,16,2,0,56,0,63,0,1,16,25,0,2,0,56,0,63,0,1,16,39,12,2,0,56,0,63,0,1,16,234,7,2,0,56,0,63,0,1,16,139,0,2,0,56,0,63,0,1,16,151,0,2,0,56,0,63,0,1,16,151,16,2,0,56,0,63,0,1,16,31,0,2,0,56,0,63,0,1,16,228,7,2,0,56,0,63,0,1,16,160,0,2,0,56,0,63,0,1,16,142,0,2,0,56,0,63,0,1,16,148,0,2,0,56,0,63,0,1,16,10,9,2,0,56,0,63,0,1,16,136,0,2,0,56,0,63,0,1,16,145,0,2,0,56,0,63,0,1,16,2,8,2,0,56,0,63,0,121,16,180,7,2,0,56,0,63,0,1,16,180,7,2,0,56,0,63,0,1,16,154,0,2,0,56,0,63,0,1,16,157,0,2,0,56,0,63,0,1,16,40,9,2,0,56,0,63,0,1,16,116,8,2,0,56,0,63,0,1,16,163,0,2,0,56,0,63,0,1,16,60,12,2,0,56,0,63,0,1,16,11,12,2,0,56,0,63,0,1,16,184,16,2,0,56,0,63,0,1,16,169,0,2,0,56,0,63,0,1,16,235,12,2,0,56,0,63,0,1,16,186,7,2,0,56,0,63,0,1,16,166,0,2,0,56,0,63,0,1,16,172,0,2,0,56,0,63,0,1,16,175,0,2,0,56,0,63,0,1,16,9,1,2,0,56,0,63,0,1,16,178,0,2,0,56,0,63,0,1,16,95,12,2,0,56,0,63,0,1,16,181,0,2,0,56,0,63,0,121,16,135,7,2,0,56,0,63,0,121,16,49,0,2,0,56,0,63,0,1,16,184,0,2,0,56,0,63,0,1,16,34,0,2,0,56,0,63,0,1,16,187,0,2,0,56,0,63,0,1,16,21,1,2,0,56,0,63,0,1,16,190,0,2,0,56,0,63,0,1,16,240,7,2,0,56,0,63,0,121,16,232,11,2,0,56,0,63,0,1,16,232,11,2,0,56,0,63,0,1,16,232,11,2,0,56,0,63,0,1,16,107,2,2,0,56,0,63,0,1,16,193,0,2,0,56,0,63,0,1,16,196,0,2,0,56,0,63,0,1,16,246,7,2,0,56,0,63,0,1,16,199,0,2,0,56,0,63,0,121,16,28,0,2,0,56,0,63,0,1,16,88,12,2,0,56,0,63,0,1,16,202,0,2,0,56,0,63,0,1,16,205,0,2,0,56,0,63,0,1,16,179,12,2,0,56,0,63,0,1,16,208,0,2,0,56,0,63,0,1,16,20,8,2,0,56,0,63,0,1,16,14,8,2,0,56,0,63,0,1,16,246,11,2,0,56,0,63,0,1,16,172,12,2,0,56,0,63,0,1,16,211,0,2,0,56,0,63,0,1,16,214,0,2,0,56,0,63,0,121,16,189,7,2,0,56,0,63,0,1,16,144,7,2,0,56,0,63,0,1,16,26,8,2,0,56,0,63,0,1,16,217,0,2,0,56,0,63,0,121,16,144,7,2,0,56,0,63,0,1,16,144,7,2,0,56,0,63,0,1,16,220,0,2,0,56,0,63,0,1,16,198,7,2,0,56,0,63,0,1,16,254,8,2,0,56,0,63,0,1,16,216,7,2,0,56,0,63,0,1,16,222,7,2,0,56,0,63,0,1,16,226,0,2,0,56,0,63,0,1,16,137,12,2,0,56,0,63,0,1,16,43,0,2,0,56,0,63,0,1,16,229,0,2,0,56,0,63,0,1,16,238,0,2,0,56,0,63,0,1,16,232,0,2,0,56,0,63,0,1,16,8,8,2,0,56,0,63,0,1,16,223,0,2,0,56,0,63,0,1,16,140,8,2,0,56,0,63,0,1,16,158,12,2,0,56,0,63,0,1,16,40,0,2,0,56,0,63,0,1,16,46,0,2,0,56,0,63,0,1,16,241,0,2,0,56,0,63,0,1,16,227,17,2,0,56,0,63,0,1,16,244,0,2,0,56,0,63,0,1,16,247,0,2,0,56,0,63,0,1,16,86,8,2,0,56,0,63,0,1,16,250,0,2,0,56,0,63,0,1,16,92,8,2,0,56,0,63,0,121,16,25,0,2,0,56,0,63,0,1,16,128,8,2,0,56,0,63,0,1,16,74,8,2,0,56,0,63,0,1,16,32,12,2,0,56,0,63,0,1,16,253,0,2,0,56,0,63,0,1,16,62,8,2,0,56,0,63,0,1,16,123,12,2,0,56,0,63,0,1,16,186,12,2,0,56,0,63,0,1,16,104,8,2,0,56,0,63,0,1,16,80,8,2,0,56,0,63,0,1,16,110,8,2,0,56,0,63,0,1,16,3,1,2,0,56,0,63,0,1,16,0,1,2,0,56,0,63,0,1,16,6,1,2,0,56,0,63,0,1,16,122,8,2,0,56,0,63,0,121,16,1,0,2,0,56,0,63,0,1,16,134,8,2,0,56,0,63,0,1,16,67,12,2,0,56,0,63,0,1,16,164,8,2,0,56,0,63,0,1,16,146,8,2,0,56,0,63,0,1,16,49,0,2,0,56,0,63,0,1,16,12,1,2,0,56,0,63,0,1,16,152,8,2,0,56,0,63,0,1,16,18,1,2,0,56,0,63,0,1,16,182,8,2,0,56,0,63,0,1,16,24,1,2,0,56,0,63,0,1,16,7,18,2,0,56,0,63,0,1,16,36,1,2,0,56,0,63,0,1,16,27,1,2,0,56,0,63,0,1,16,30,1,2,0,56,0,63,0,1,16,46,9,2,0,56,0,63,0,1,16,33,1,2,0,56,0,63,0,1,16,188,8,2,0,56,0,63,0,1,16,176,8,2,0,56,0,63,0,1,16,194,8,2,0,56,0,63,0,1,16,55,0,2,0,56,0,63,0,1,16,52,0,2,0,56,0,63,0,1,16,251,17,2,0,56,0,63,0,1,16,39,1,2,0,56,0,63,0,1,16,42,1,2,0,56,0,63,0,1,16,200,8,2,0,56,0,63,0,1,16,252,7,2,0,56,0,63,0,1,16,54,1,2,0,56,0,63,0,1,16,45,1,2,0,56,0,63,0,121,16,1,0,2,0,56,0,63,0,1,16,212,8,2,0,56,0,63,0,1,16,165,12,2,0,56,0,63,0,1,16,230,8,2,0,56,0,63,0,1,16,180,7,2,0,56,0,63,0,1,16,76,9,2,0,56,0,63,0,1,16,218,8,2,0,56,0,63,0,1,16,58,0,2,0,56,0,63,0,1,16,109,12,2,0,56,0,63,0,1,16,48,1,2,0,56,0,63,0,1,16,51,1,2,0,56,0,63,0,1,16,61,0,2,0,56,0,63,0,1,16,102,12,2,0,56,0,63,0,1,16,248,8,2,0,56,0,63,0,1,16,224,8,2,0,56,0,63,0,1,16,97,0,2,0,56,0,63,0,1,16,130,12,2,0,56,0,63,0,1,16,64,0,2,0,56,0,63,0,1,16,221,12,2,0,56,0,63,0,1,16,57,1,2,0,56,0,63,0,1,16,136,9,2,0,56,0,63,0,121,16,91,0,2,0,56,0,63,0,1,16,60,1,2,0,56,0,63,0,1,16,66,1,2,0,56,0,63,0,1,16,56,8,2,0,56,0,63,0,1,16,242,8,2,0,56,0,63,0,1,16,236,8,2,0,56,0,63,0,121,16,16,0,2,0,56,0,63,0,1,16,63,1,2,0,56,0,63,0,121,16,153,7,2,0,56,0,63,0,1,16,153,7,2,0,56,0,63,0,1,16,206,8,2,0,56,0,63,0,1,16,69,1,2,0,56,0,63,0,1,16,214,12,2,0,56,0,63,0,1,16,67,0,2,0,56,0,63,0,121,16,206,17,2,0,56,0,63,0,1,16,72,1,2,0,56,0,63,0,1,16,16,9,2,0,56,0,63,0,1,16,53,12,2,0,56,0,63,0,1,16,215,17,2,0,56,0,63,0,1,16,207,12,2,0,56,0,63,0,1,16,193,12,2,0,56,0,63,0,1,16,76,0,2,0,56,0,63,0,1,16,15,1,2,0,56,0,63,0,1,16,78,1,2,0,56,0,63,0,1,16,68,8,2,0,56,0,63,0,1,16,75,1,2,0,56,0,63,0,121,16,1,0,2,0,56,0,63,0,1,16,70,0,2,0,56,0,63,0,121,16,67,0,2,0,56,0,63,0,1,16,81,1,2,0,56,0,63,0,1,16,84,1,2,0,56,0,63,0,1,16,87,1,2,0,56,0,63,0,1,16,90,1,2,0,56,0,63,0,1,16,93,1,2,0,56,0,63,0,1,16,96,1,2,0,56,0,63,0,1,16,99,1,2,0,56,0,63,0,1,16,102,1,2,0,56,0,63,0,121,16,37,0,2,0,56,0,63,0,1,16,37,0,2,0,56,0,63,0,1,16,105,1,2,0,56,0,63,0,1,16,108,1,2,0,56,0,63,0,1,16,111,1,2,0,56,0,63,0,1,16,114,1,2,0,56,0,63,0,1,16,117,1,2,0,56,0,63,0,1,16,79,0,2,0,56,0,63,0,121,16,210,7,2,0,56,0,63,0,1,16,28,9,2,0,56,0,63,0,1,16,116,12,2,0,56,0,63,0,1,16,34,9,2,0,56,0,63,0,1,16,120,1,2,0,56,0,63,0,1,16,135,7,2,0,56,0,63,0,1,16,82,0,2,0,56,0,63,0,1,16,46,12,2,0,56,0,63,0,1,16,126,1,2,0,56,0,63,0,1,16,235,0,2,0,56,0,63,0,1,16,129,1,2,0,56,0,63,0,1,16,132,1,2,0,56,0,63,0,1,16,151,12,2,0,56,0,63,0,1,16,135,1,2,0,56,0,63,0,1,16,147,1,2,0,56,0,63,0,1,16,138,1,2,0,56,0,63,0,1,16,64,9,2,0,56,0,63,0,1,16,73,0,2,0,56,0,63,0,1,16,162,16,2,0,56,0,63,0,1,16,144,12,2,0,56,0,63,0,1,16,144,1,2,0,56,0,63,0,121,16,47,20,2,0,56,0,63,0,1,16,47,20,2,0,56,0,63,0,1,16,141,1,2,0,56,0,63,0,1,16,52,9,2,0,56,0,63,0,1,16,58,9,2,0,56,0,63,0,1,16,82,9,2,0,56,0,63,0,1,16,153,1,2,0,56,0,63,0,1,16,85,0,2,0,56,0,63,0,1,16,123,1,2,0,56,0,63,0,1,16,150,1,2,0,56,0,63,0,1,16,156,1,2,0,56,0,63,0,1,16,159,1,2,0,56,0,63,0,1,16,162,1,2,0,56,0,63,0,1,16,81,12,2,0,56,0,63,0,1,16,94,9,2,0,56,0,63,0,1,16,88,9,2,0,56,0,63,0,1,16,165,1,2,0,56,0,63,0,1,16,100,9,2,0,56,0,63,0,1,16,10,0,2,0,56,0,63,0,1,16,10,0,2,0,56,0,63,0,1,16,106,9,2,0,56,0,63,0,121,16,10,0,2,0,56,0,63,0,1,16,171,1,2,0,56,0,63,0,1,16,168,1,2,0,56,0,63,0,1,16,158,8,2,0,56,0,63,0,1,16,174,1,2,0,56,0,63,0,1,16,253,11,2,0,56,0,63,0,1,16,25,12,2,0,56,0,63,0,1,16,200,12,2,0,56,0,63,0,121,16,198,7,2,0,56,0,63,0,1,16,124,9,2,0,56,0,63,0,1,16,1,0,2,0,56,0,63,0,1,16,177,1,2,0,56,0,63,0,1,16,74,12,2,0,56,0,63,0,1,16,173,16,2,0,56,0,63,0,1,16,170,8,2,0,56,0,63,0,1,16,180,1,2,0,56,0,63,0,121,16,239,11,2,0,56,0,63,0,1,16,183,1,2,0,56,0,63,0,1,16,186,1,2,0,56,0,63,0,1,16,88,0,2,0,56,0,63,0,1,16,239,11,2,0,56,0,63,0,1,16,91,0,2,0,56,0,63,0,121,16,1,0,2,0,56,0,63,0,1,16,94,0,2,0,56,0,63,0,1,16,189,1,2,0,56,0,63,0,1,16,192,1,2,0,56,0,63,0,1,16,195,1,2,0,56,0,63,0,1,16,198,1,2,0,56,0,63,0,1,16,201,1,2,0,56,0,63,0,1,16,204,1,2,0,56,0,63,0,1,16,207,1,2,0,56,0,63,0,1,16,210,1,2,0,56,0,63,0,1,16,213,1,2,0,56,0,63,0,1,16,216,1,2,0,56,0,63,0,1,16,219,1,2,0,56,0,63,0,1,16,222,1,2,0,56,0,63,0,1,16,225,1,2,0,56,0,63,0,1,16,228,1,2,0,56,0,63,0,1,16,231,1,2,0,56,0,63,0,1,16,234,1,2,0,56,0,63,0,1,16,237,1,2,0,56,0,63,0,1,16,240,1,2,0,56,0,63,0,1,16,243,1,2,0,56,0,63,0,1,16,246,1,2,0,56,0,63,0,1,16,249,1,2,0,56,0,63,0,1,16,252,1,2,0,56,0,63,0,1,16,255,1,2,0,56,0,63,0,1,16,2,2,2,0,56,0,63,0,1,16,5,2,2,0,56,0,63,0,1,16,8,2,2,0,56,0,63,0,1,16,11,2,2,0,56,0,63,0,121,16,4,0,2,0,56,0,63,0,1,16,4,0,2,0,56,0,63,0,1,16,4,0,2,0,56,0,63,0,121,16,135,7,2,0,56,0,63,0,1,16,135,7,2,0,56,0,63,0,1,16,142,9,2,0,56,0,63,0,1,16,186,7,2,0,56,0,63,0,1,16,18,12,2,0,56,0,63,0,121,16,186,7,2,0,56,0,63,0,1,16,210,7,2,0,56,0,63,0,1,16,14,2,2,0,56,0,63,0,121,16,111,16,2,0,56,0,63,0,121,16,89,19,2,0,56,0,63,0,121,16,113,19,2,0,56,0,63,0,121,16,109,9,2,0,56,0,63,0,121,16,190,19,2,0,56,0,63,0,121,16,1,19,2,0,56,0,63,0,121,16,118,17,2,0,56,0,63,0,121,16,17,19,2,0,56,0,63,0,121,16,162,19,2,0,56,0,63,0,121,16,201,7,2,0,56,0,63,0,121,16,201,7,2,0,56,0,63,0,121,16,234,17,2,0,56,0,63,0,121,16,201,15,78,1,151,9,157,9,163,9,238,12,219,7,169,9,175,9,245,12,252,12,7,12,181,9,3,13,10,13,187,16,198,16,169,15,132,16,187,9,28,16,10,18,22,18,17,13,225,7,14,12,21,12,231,7,24,13,31,13,38,13,235,11,193,9,209,16,199,9,205,9,211,9,28,12,220,16,177,15,143,16,45,13,52,13,217,9,59,13,66,13,35,12,223,9,73,13,80,13,87,13,94,13,101,13,229,9,237,7,235,9,241,9,195,7,243,7,108,13,93,10,115,13,122,13,129,13,136,13,249,7,42,12,255,7,143,13,99,10,5,8,231,16,242,16,105,10,150,13,111,10,11,8,17,8,157,13,117,10,253,16,185,15,8,17,123,10,49,12,23,8,141,7,164,13,171,13,53,8,59,8,178,13,165,10,242,11,171,10,65,8,56,12,177,10,63,12,71,8,19,17,183,10,70,12,77,8,189,10,30,17,37,16,34,18,83,8,185,13,89,8,95,8,192,13,195,10,77,12,201,10,207,10,199,13,101,8,107,8,113,8,41,17,119,8,193,15,206,13,213,13,125,8,213,10,84,12,220,13,227,13,234,13,241,13,91,12,248,13,255,13,6,14,219,10,131,8,13,14,137,8,20,14,143,8,225,10,149,8,27,14,34,14,137,15,52,17,63,17,41,14,48,14,55,14,155,8,231,10,161,8,167,8,62,14,173,8,237,10,69,14,76,14,243,10,179,8,83,14,185,8,249,10,90,14,97,14,191,8,104,14,111,14,118,14,125,14,98,12,197,8,105,12,132,14,203,8,209,8,255,10,215,8,74,17,46,16,46,18,58,18,139,14,5,11,85,17,221,8,227,8,146,14,153,14,177,7,112,12,119,12,126,12,13,0,11,11,17,11,228,11,233,8,23,11,160,14,239,8,167,14,133,12,29,11,174,14,140,12,35,11,245,8,181,14,41,11,47,11,53,11,251,8,188,14,96,17,145,15,107,17,195,14,147,12,59,11,209,15,1,9,7,9,13,9,154,12,202,14,55,16,70,18,65,11,19,9,25,9,209,14,71,11,31,9,216,14,77,11,223,14,230,14,82,18,64,16,94,18,237,14,83,11,244,14,217,15,129,17,140,17,251,14,89,11,2,15,161,12,37,9,242,17,73,16,106,18,9,15,43,9,16,15,49,9,55,9,23,15,30,15,37,15,168,12,207,7,61,9,67,9,225,15,151,17,154,16,95,11,175,12,101,11,233,15,162,17,79,9,107,11,182,12,189,12,113,11,119,11,196,12,85,9,91,9,125,11,44,15,97,9,131,11,103,9,241,15,203,12,137,11,249,11,210,12,143,11,149,11,217,12,51,15,185,11,121,9,191,11,173,17,184,17,153,15,165,16,254,17,19,16,118,18,197,11,58,15,203,11,65,15,72,15,127,9,79,15,86,15,224,12,209,11,215,11,93,15,231,12,100,15,133,9,107,15,130,18,82,16,218,17,114,15,129,15,176,16,195,17,139,9,170,170,232,1,47,0,75,0,79,0,83,0,87,0,91,0,95,0,99,0,103,0,107,0,111,0,115,0,119,0,123,0,127,0,131,0,135,0,139,0,143,0,154,0,158,0,162,0,166,0,170,0,174,0,178,0,182,0,186,0,190,0,194,0,198,0,202,0,206,0,210,0,214,0,218,0,222,0,226,0,230,0,233,0,237,0,241,0,245,0,249,0,253,0,1,1,5,1,9,1,13,1,17,1,21,1,25,1,29,1,33,1,37,1,41,1,45,1,49,1,61,1,65,1,69,1,73,1,77,1,81,1,85,1,89,1,93,1,97,1,110,8,101,1,105,1,109,1,113,1,117,1,121,1,125,1,129,1,133,1,137,1,141,1,145,1,149,1,153,1,157,1,161,1,165,1,169,1,173,1,177,1,181,1,185,1,189,1,193,1,197,1,201,1,205,1,209,1,213,1,217,1,221,1,225,1,229,1,233,1,243,1,247,1,251,1,255,1,3,2,7,2,11,2,15,2,19,2,23,2,27,2,31,2,35,2,39,2,43,2,47,2,51,2,55,2,59,2,63,2,67,2,71,2,75,2,79,2,83,2,87,2,91,2,95,2,99,2,103,2,107,2,111,2,115,2,119,2,123,2,127,2,131,2,135,2,139,2,143,2,147,2,151,2,155,2,159,2,163,2,167,2,171,2,175,2,179,2,183,2,187,2,191,2,195,2,199,2,210,2,214,2,220,2,226,2,236,2,247,2,253,2,7,3,13,3,21,3,30,3,36,3,42,3,48,3,54,3,58,3,62,3,66,3,70,3,74,3,78,3,82,3,86,3,90,3,136,6,94,3,98,3,102,3,106,3,110,3,20,8,114,3,118,3,122,3,126,3,69,5,130,3,134,3,137,3,141,3,145,3,149,3,153,3,157,3,161,3,165,3,169,3,173,3,177,3,181,3,185,3,189,3,193,3,197,3,201,3,205,3,209,3,213,3,217,3,221,3,225,3,229,3,233,3,237,3,241,3,245,3,249,3,253,3,1,4,5,4,9,4,13,4,17,4,21,4,25,4,29,4,33,4,37,4,41,4,45,4,49,4,53,4,57,4,61,4,65,4,69,4,73,4,77,4,81,4,85,4,89,4,93,4,10,5,97,4,101,4,105,4,109,4,113,4,117,4,121,4,125,4,129,4,133,4,137,4,39,10,141,4,145,4,149,4,153,4,157,4,161,4,165,4,169,4,173,4,177,4,181,4,185,4,189,4,193,4,197,4,201,4,205,4,209,4,213,4,217,4,221,4,225,4,229,4,233,4,237,4,241,4,245,4,249,4,253,4,4,5,14,5,21,5,32,5,36,5,40,5,44,5,48,5,52,5,56,5,60,5,64,5,68,5,72,5,76,5,196,11,80,5,84,5,88,5,92,5,96,5,100,5,104,5,108,5,112,5,116,5,120,5,124,5,128,5,132,5,136,5,140,5,144,5,148,5,152,5,156,5,160,5,164,5,168,5,172,5,176,5,180,5,184,5,188,5,192,5,196,5,200,5,204,5,208,5,212,5,216,5,220,5,224,5,228,5,238,5,248,5,255,5,9,6,16,6,23,6,30,6,37,6,44,6,51,6,58,6,65,6,72,6,79,6,86,6,93,6,100,6,107,6,114,6,121,6,128,6,30,11,135,6,139,6,143,6,147,6,151,6,155,6,159,6,163,6,167,6,171,6,175,6,179,6,183,6,187,6,191,6,195,6,199,6,203,6,207,6,211,6,215,6,181,11,219,6,223,6,227,6,231,6,235,6,239,6,243,6,247,6,251,6,255,6,3,7,7,7,11,7,15,7,19,7,23,7,27,7,31,7,35,7,39,7,43,7,47,7,51,7,54,7,58,7,62,7,66,7,209,21,70,7,74,7,78,7,82,7,86,7,90,7,94,7,97,7,101,7,105,7,109,7,113,7,124,7,136,7,148,7,159,7,169,7,188,7,199,7,211,7,221,7,231,7,235,7,239,7,243,7,247,7,251,7,255,7,3,8,7,8,11,8,15,8,19,8,23,8,27,8,31,8,35,8,39,8,43,8,47,8,51,8,55,8,59,8,63,8,67,8,71,8,75,8,79,8,83,8,87,8,91,8,95,8,99,8,103,8,107,8,114,8,126,8,138,8,145,8,154,8,163,8,170,8,181,8,188,8,197,8,204,8,208,8,212,8,216,8,220,8,224,8,170,170,148,20,0,80,153,20,0,80,158,20,0,80,163,20,0,80,168,20,0,80,173,20,0,80,178,20,0,80,183,20,0,80,188,20,0,80,193,20,0,80,198,20,0,80,203,20,0,80,208,20,0,80,213,20,0,80,218,20,0,80,223,20,0,80,228,20,0,80,233,20,0,80,238,20,0,80,243,20,0,80,248,20,0,80,253,20,0,80,2,21,0,80,7,21,0,80,12,21,0,80,17,21,0,80,22,21,0,80,27,21,0,80,32,21,0,80,37,21,0,80,42,21,0,80,47,21,0,80,52,21,0,80,57,21,0,80,62,21,0,80,67,21,0,80,72,21,0,80,77,21,0,80,82,21,0,80,87,21,0,80,92,21,0,80,97,21,0,80,102,21,0,80,107,21,0,80,112,21,0,80,117,21,0,80,122,21,0,80,127,21,0,80,132,21,0,80,137,21,0,80,142,21,0,80,147,21,0,80,152,21,0,80,157,21,0,80,162,21,0,80,167,21,0,80,172,21,0,80,177,21,0,80,182,21,0,80,187,21,0,80,192,21,0,80,197,21,0,80,202,21,0,80,207,21,0,80,212,21,0,80,217,21,0,80,222,21,0,80,227,21,0,80,232,21,0,80,237,21,0,80,242,21,0,80,247,21,0,80,252,21,0,80,1,22,0,80,6,22,0,80,11,22,0,80,16,22,0,80,21,22,0,80,26,22,0,80,31,22,0,80,36,22,0,80,41,22,0,80,46,22,0,80,51,22,0,80,56,22,0,80,61,22,0,80,66,22,0,80,71,22,0,80,76,22,0,80,81,22,0,80,86,22,0,80,91,22,0,80,96,22,0,80,101,22,0,80,106,22,0,80,111,22,0,80,116,22,0,80,121,22,0,80,126,22,0,80,131,22,0,80,136,22,0,80,141,22,0,80,146,22,0,80,151,22,0,80,156,22,0,80,161,22,0,80,166,22,0,80,171,22,0,80,176,22,0,80,181,22,0,80,186,22,0,80,191,22,0,80,196,22,0,80,201,22,0,80,206,22,0,80,211,22,0,80,216,22,0,80,221,22,0,80,226,22,0,80,231,22,0,80,236,22,0,80,241,22,0,80,246,22,0,80,251,22,0,80,0,23,0,80,5,23,0,80,10,23,0,80,15,23,0,80,20,23,0,80,25,23,0,80,30,23,0,80,35,23,0,80,40,23,0,80,45,23,0,80,50,23,0,80,55,23,0,80,60,23,0,80,65,23,0,80,70,23,0,80,75,23,0,80,80,23,0,80,85,23,0,80,90,23,0,80,95,23,0,80,100,23,0,80,105,23,0,80,110,23,0,80,115,23,0,80,120,23,0,80,125,23,0,80,130,23,0,80,135,23,0,80,140,23,0,80,145,23,0,80,150,23,0,80,155,23,0,80,160,23,0,80,165,23,0,80,170,23,0,80,175,23,0,80,180,23,0,80,185,23,0,80,190,23,0,80,195,23,0,80,200,23,0,80,205,23,0,80,210,23,0,80,215,23,0,80,220,23,0,80,225,23,0,80,230,23,0,80,235,23,0,80,240,23,0,80,245,23,0,80,250,23,0,80,255,23,0,80,4,24,0,80,9,24,0,80,14,24,0,80,19,24,0,80,24,24,0,80,29,24,0,80,34,24,0,80,39,24,0,80,44,24,0,80,49,24,0,80,54,24,0,80,59,24,0,80,64,24,0,80,69,24,0,80,74,24,0,80,79,24,0,80,84,24,0,80,89,24,0,80,94,24,0,80,99,24,0,80,104,24,0,80,109,24,0,80,114,24,0,80,119,24,0,80,124,24,0,80,129,24,0,80,134,24,0,80,139,24,0,80,144,24,0,80,149,24,0,80,154,24,0,80,159,24,0,80,164,24,0,80,169,24,0,80,174,24,0,80,179,24,0,80,184,24,0,80,189,24,0,80,194,24,0,80,199,24,0,80,204,24,0,80,209,24,0,80,214,24,0,80,219,24,0,80,224,24,0,80,229,24,0,80,234,24,0,80,239,24,0,80,244,24,0,80,249,24,0,80,254,24,0,80,3,25,0,80,8,25,0,80,13,25,0,80,18,25,0,80,23,25,0,80,28,25,0,80,33,25,0,80,38,25,0,80,43,25,0,80,48,25,0,80,53,25,0,80,58,25,0,80,63,25,0,80,68,25,0,80,73,25,0,80,78,25,0,80,83,25,0,80,88,25,0,80,93,25,0,80,98,25,0,80,103,25,0,80,108,25,0,80,113,25,0,80,118,25,0,80,123,25,0,80,128,25,0,80,133,25,0,80,138,25,0,80,143,25,0,80,148,25,0,80,153,25,0,80,158,25,0,80,163,25,0,80,168,25,0,80,173,25,0,80,178,25,0,80,183,25,0,80,188,25,0,80,193,25,0,80,198,25,0,80,203,25,0,80,208,25,0,80,213,25,0,80,218,25,0,80,223,25,0,80,228,25,0,80,233,25,0,80,238,25,0,80,243,25,0,80,248,25,0,80,253,25,0,80,2,26,0,80,7,26,0,80,12,26,0,80,17,26,0,80,22,26,0,80,27,26,0,80,32,26,0,80,37,26,0,80,42,26,0,80,47,26,0,80,52,26,0,80,57,26,0,80,62,26,0,80,67,26,0,80,72,26,0,80,77,26,0,80,82,26,0,80,87,26,0,80,92,26,0,80,97,26,0,80,102,26,0,80,107,26,0,80,112,26,0,80,117,26,0,80,122,26,0,80,127,26,0,80,132,26,0,80,137,26,0,80,142,26,0,80,147,26,0,80,152,26,0,80,157,26,0,80,162,26,0,80,167,26,0,80,172,26,0,80,177,26,0,80,182,26,0,80,187,26,0,80,192,26,0,80,197,26,0,80,202,26,0,80,207,26,0,80,212,26,0,80,217,26,0,80,222,26,0,80,227,26,0,80,232,26,0,80,237,26,0,80,242,26,0,80,247,26,0,80,252,26,0,80,1,27,0,80,6,27,0,80,11,27,0,80,16,27,0,80,21,27,0,80,26,27,0,80,31,27,0,80,36,27,0,80,41,27,0,80,46,27,0,80,51,27,0,80,56,27,0,80,61,27,0,80,66,27,0,80,71,27,0,80,76,27,0,80,81,27,0,80,86,27,0,80,91,27,0,80,96,27,0,80,101,27,0,80,106,27,0,80,111,27,0,80,116,27,0,80,121,27,0,80,126,27,0,80,131,27,0,80,136,27,0,80,141,27,0,80,146,27,0,80,151,27,0,80,156,27,0,80,161,27,0,80,166,27,0,80,171,27,0,80,176,27,0,80,181,27,0,80,186,27,0,80,191,27,0,80,196,27,0,80,201,27,0,80,206,27,0,80,211,27,0,80,216,27,0,80,221,27,0,80,226,27,0,80,231,27,0,80,236,27,0,80,241,27,0,80,246,27,0,80,251,27,0,80,0,28,0,80,5,28,0,80,10,28,0,80,15,28,0,80,20,28,0,80,25,28,0,80,30,28,0,80,35,28,0,80,40,28,0,80,45,28,0,80,50,28,0,80,55,28,0,80,60,28,0,80,65,28,0,80,70,28,0,80,75,28,0,80,80,28,0,80,85,28,0,80,90,28,0,80,95,28,0,80,100,28,0,80,105,28,0,80,110,28,0,80,115,28,0,80,120,28,0,80,125,28,0,80,130,28,0,80,135,28,0,80,140,28,0,80,145,28,0,80,150,28,0,80,155,28,0,80,160,28,0,80,165,28,0,80,170,28,0,80,175,28,0,80,180,28,0,80,185,28,0,80,190,28,0,80,195,28,0,80,200,28,0,80,205,28,0,80,210,28,0,80,215,28,0,80,220,28,0,80,225,28,0,80,230,28,0,80,235,28,0,80,240,28,0,80,245,28,0,80,250,28,0,80,255,28,0,80,4,29,0,80,9,29,0,80,14,29,0,80,19,29,0,80,24,29,0,80,29,29,0,80,34,29,0,80,39,29,0,80,44,29,0,80,49,29,0,80,54,29,0,80,59,29,0,80,64,29,0,80,69,29,0,80,74,29,0,80,79,29,0,80,84,29,0,80,89,29,0,80,94,29,0,80,99,29,0,80,104,29,0,80,109,29,0,80,114,29,0,80,119,29,0,80,124,29,0,80,129,29,0,80,134,29,0,80,139,29,0,80,144,29,0,80,149,29,0,80,154,29,0,80,159,29,0,80,164,29,0,80,169,29,0,80,174,29,0,80,179,29,0,80,184,29,0,80,189,29,0,80,194,29,0,80,199,29,0,80,204,29,0,80,209,29,0,80,214,29,0,80,219,29,0,80,224,29,0,80,229,29,0,80,234,29,0,80,239,29,0,80,244,29,0,80,249,29,0,80,254,29,0,80,3,30,0,80,8,30,0,80,13,30,0,80,18,30,0,80,23,30,0,80,1,0,235,8,28,30,0,80,144,0,252,8,1,9,6,9,11,9,16,9,21,9,26,9,31,9,36,9,41,9,46,9,51,9,56,9,61,9,66,9,71,9,76,9,81,9,86,9,91,9,96,9,101,9,106,9,111,9,116,9,121,9,126,9,131,9,136,9,141,9,146,9,151,9,156,9,161,9,166,9,172,9,178,9,184,9,190,9,196,9,202,9,208,9,214,9,220,9,226,9,232,9,238,9,244,9,250,9,0,10,6,10,12,10,17,10,22,10,27,10,32,10,37,10,42,10,47,10,52,10,57,10,62,10,67,10,72,10,77,10,82,10,31,2,87,10,91,10,96,10,100,10,105,10,35,2,109,10,113,10,117,10,122,10,127,10,131,10,135,10,139,10,143,10,147,10,151,10,156,10,161,10,165,10,170,10,174,10,178,10,183,10,188,10,192,10,196,10,201,10,205,10,209,10,214,10,218,10,222,10,227,10,232,10,237,10,81,4,241,10,245,10,251,10,0,11,5,11,10,11,15,11,19,11,23,11,28,11,33,11,38,11,43,11,48,11,53,11,58,11,63,11,68,11,73,11,78,11,83,11,88,11,93,11,98,11,103,11,108,11,113,11,118,11,124,11,130,11,136,11,142,11,148,11,154,11,160,11,165,11,170,11,175,11,180,11,185,11,170,170,33,30,0,80,38,30,0,80,43,30,0,80,48,30,0,80,53,30,0,80,58,30,0,80,63,30,0,80,68,30,0,80,73,30,0,80,78,30,0,80,83,30,0,80,88,30,0,80,93,30,0,80,98,30,0,80,103,30,0,80,108,30,0,80,113,30,0,80,118,30,0,80,123,30,0,80,128,30,0,80,133,30,0,80,138,30,0,80,143,30,0,80,148,30,0,80,153,30,0,80,158,30,0,80,163,30,0,80,168,30,0,80,173,30,0,80,178,30,0,80,183,30,0,80,188,30,0,80,193,30,0,80,198,30,0,80,203,30,0,80,208,30,0,80,213,30,0,80,218,30,0,80,223,30,0,80,228,30,0,80,233,30,0,80,238,30,0,80,243,30,0,80,248,30,0,80,253,30,0,80,2,31,0,80,7,31,0,80,12,31,0,80,17,31,0,80,22,31,0,80,27,31,0,80,32,31,0,80,37,31,0,80,42,31,0,80,47,31,0,80,52,31,0,80,57,31,0,80,62,31,0,80,67,31,0,80,72,31,0,80,77,31,0,80,82,31,0,80,87,31,0,80,92,31,0,80,97,31,0,80,102,31,0,80,107,31,0,80,112,31,0,80,117,31,0,80,122,31,0,80,127,31,0,80,132,31,0,80,137,31,0,80,142,31,0,80,147,31,0,80,152,31,0,80,157,31,0,80,162,31,0,80,167,31,0,80,172,31,0,80,177,31,0,80,182,31,0,80,187,31,0,80,192,31,0,80,197,31,0,80,202,31,0,80,207,31,0,80,212,31,0,80,217,31,0,80,222,31,0,80,227,31,0,80,232,31,0,80,237,31,0,80,242,31,0,80,247,31,0,80,252,31,0,80,1,32,0,80,6,32,0,80,11,32,0,80,16,32,0,80,21,32,0,80,26,32,0,80,31,32,0,80,36,32,0,80,41,32,0,80,46,32,0,80,51,32,0,80,56,32,0,80,61,32,0,80,66,32,0,80,71,32,0,80,76,32,0,80,81,32,0,80,86,32,0,80,91,32,0,80,96,32,0,80,101,32,0,80,106,32,0,80,111,32,0,80,116,32,0,80,121,32,0,80,126,32,0,80,131,32,0,80,136,32,0,80,141,32,0,80,146,32,0,80,151,32,0,80,156,32,0,80,161,32,0,80,166,32,0,80,171,32,0,80,176,32,0,80,181,32,0,80,186,32,0,80,191,32,0,80,196,32,0,80,201,32,0,80,206,32,0,80,211,32,0,80,216,32,0,80,221,32,0,80,226,32,0,80,231,32,0,80,236,32,0,80,128,2,200,11,204,11,208,11,212,11,216,11,220,11,224,11,228,11,232,11,236,11,240,11,244,11,248,11,252,11,0,12,4,12,8,12,12,12,16,12,20,12,24,12,28,12,32,12,36,12,40,12,44,12,48,12,52,12,56,12,60,12,64,12,68,12,72,12,76,12,80,12,84,12,88,12,92,12,96,12,100,12,104,12,108,12,112,12,116,12,120,12,124,12,128,12,132,12,136,12,140,12,144,12,148,12,152,12,156,12,160,12,164,12,168,12,172,12,176,12,180,12,184,12,188,12,192,12,196,12,200,12,204,12,208,12,212,12,216,12,220,12,224,12,228,12,232,12,236,12,240,12,244,12,248,12,252,12,0,13,4,13,8,13,12,13,16,13,20,13,24,13,28,13,32,13,36,13,40,13,44,13,48,13,52,13,56,13,60,13,64,13,68,13,72,13,76,13,80,13,84,13,88,13,92,13,96,13,100,13,104,13,108,13,112,13,116,13,120,13,124,13,128,13,132,13,136,13,140,13,144,13,148,13,152,13,156,13,160,13,164,13,168,13,172,13,176,13,180,13,184,13,188,13,192,13,196,13,200,13,204,13,208,13,212,13,216,13,220,13,224,13,228,13,232,13,236,13,240,13,244,13,248,13,252,13,0,14,4,14,8,14,12,14,16,14,20,14,24,14,28,14,32,14,36,14,40,14,44,14,48,14,52,14,56,14,60,14,64,14,68,14,72,14,76,14,80,14,84,14,88,14,92,14,96,14,100,14,104,14,108,14,112,14,116,14,120,14,124,14,128,14,132,14,136,14,140,14,144,14,148,14,152,14,156,14,160,14,164,14,168,14,172,14,210,9,176,14,180,14,252,9,2,10,184,14,188,14,192,14,196,14,200,14,204,14,208,14,212,14,216,14,220,14,224,14,228,14,232,14,236,14,240,14,244,14,248,14,252,14,0,15,4,15,8,15,12,15,16,15,20,15,24,15,28,15,32,15,36,15,40,15,44,15,48,15,52,15,56,15,60,15,64,15,68,15,72,15,76,15,80,15,84,15,88,15,92,15,96,15,100,15,104,15,108,15,112,15,116,15,120,15,124,15,128,15,132,15,136,15,140,15,144,15,148,15,152,15,156,15,160,15,164,15,168,15,172,15,176,15,180,15,184,15,188,15,192,15,196,15,200,15,204,15,208,15,212,15,216,15,220,15,224,15,228,15,232,15,236,15,240,15,244,15,248,15,252,15,0,16,4,16,8,16,12,16,16,16,20,16,24,16,28,16,32,16,36,16,40,16,44,16,48,16,52,16,56,16,60,16,64,16,68,16,72,16,76,16,80,16,84,16,88,16,92,16,96,16,100,16,104,16,108,16,112,16,116,16,120,16,124,16,128,16,132,16,136,16,140,16,144,16,148,16,152,16,156,16,160,16,164,16,125,19,168,16,172,16,176,16,180,16,184,16,188,16,192,16,196,16,200,16,204,16,208,16,212,16,216,16,220,16,224,16,228,16,232,16,236,16,240,16,244,16,248,16,252,16,0,17,4,17,8,17,12,17,16,17,20,17,24,17,28,17,32,17,36,17,40,17,43,17,47,17,51,17,55,17,59,17,63,17,67,17,71,17,75,17,79,17,83,17,87,17,91,17,95,17,99,17,103,17,107,17,111,17,115,17,119,17,214,20,122,17,126,17,130,17,134,17,138,17,142,17,8,21,146,17,150,17,154,17,158,17,162,17,166,17,170,17,174,17,177,17,181,17,185,17,189,17,193,17,197,17,201,17,205,17,209,17,213,17,217,17,221,17,224,17,228,17,232,17,236,17,239,17,243,17,247,17,251,17,255,17,3,18,7,18,11,18,15,18,19,18,23,18,27,18,31,18,35,18,39,18,43,18,47,18,51,18,55,18,59,18,63,18,67,18,71,18,75,18,79,18,83,18,86,18,90,18,94,18,98,18,102,18,106,18,110,18,114,18,118,18,122,18,126,18,130,18,134,18,138,18,142,18,145,18,149,18,153,18,157,18,161,18,165,18,169,18,173,18,177,18,181,18,185,18,189,18,193,18,197,18,201,18,205,18,209,18,213,18,217,18,221,18,225,18,229,18,233,18,237,18,241,18,245,18,249,18,253,18,194,20,1,19,5,19,9,19,13,19,17,19,21,19,25,19,29,19,33,19,37,19,41,19,45,19,49,19,53,19,57,19,61,19,65,19,69,19,73,19,77,19,81,19,84,19,88,19,92,19,96,19,100,19,28,18,104,19,173,16,108,19,112,19,116,19,120,19,124,19,128,19,131,19,135,19,139,19,143,19,147,19,151,19,155,19,159,19,163,19,167,19,171,19,175,19,178,19,182,19,185,19,189,19,193,19,197,19,201,19,205,19,209,19,213,19,217,19,220,19,224,19,228,19,232,19,236,19,240,19,244,19,248,19,251,19,255,19,3,20,7,20,11,20,15,20,19,20,23,20,27,20,31,20,35,20,39,20,43,20,47,20,51,20,55,20,59,20,63,20,67,20,71,20,75,20,78,20,82,20,86,20,90,20,94,20,98,20,102,20,106,20,110,20,114,20,118,20,122,20,126,20,130,20,134,20,138,20,142,20,146,20,150,20,154,20,72,20,158,20,162,20,166,20,170,20,174,20,178,20,182,20,186,20,189,20,193,20,197,20,201,20,205,20,209,20,213,20,217,20,220,20,224,20,228,20,232,20,236,20,240,20,243,20,247,20,251,20,255,20,3,21,7,21,11,21,15,21,19,21,23,21,27,21,31,21,35,21,39,21,43,21,47,21,51,21,55,21,59,21,63,21,67,21,71,21,75,21,79,21,83,21,87,21,91,21,95,21,99,21,102,21,106,21,110,21,113,21,117,21,121,21,125,21,129,21,132,21,136,21,170,170,241,32,0,80,246,32,0,80,251,32,0,80,0,33,0,80,5,33,0,80,10,33,0,80,15,33,0,80,20,33,0,80,25,33,0,80,30,33,0,80,35,33,0,80,40,33,0,80,45,33,0,80,50,33,0,80,55,33,0,80,60,33,0,80,65,33,0,80,70,33,0,80,75,33,0,80,80,33,0,80,85,33,0,80,90,33,0,80,95,33,0,80,100,33,0,80,105,33,0,80,110,33,0,80,115,33,0,80,120,33,0,80,125,33,0,80,130,33,0,80,135,33,0,80,140,33,0,80,145,33,0,80,150,33,0,80,155,33,0,80,160,33,0,80,165,33,0,80,170,33,0,80,175,33,0,80,180,33,0,80,185,33,0,80,190,33,0,80,195,33,0,80,200,33,0,80,205,33,0,80,210,33,0,80,215,33,0,80,220,33,0,80,225,33,0,80,230,33,0,80,235,33,0,80,240,33,0,80,245,33,0,80,250,33,0,80,255,33,0,80,4,34,0,80,9,34,0,80,14,34,0,80,19,34,0,80,24,34,0,80,29,34,0,80,34,34,0,80,39,34,0,80,44,34,0,80,49,34,0,80,54,34,0,80,59,34,0,80,64,34,0,80,69,34,0,80,74,34,0,80,79,34,0,80,84,34,0,80,89,34,0,80,94,34,0,80,99,34,0,80,104,34,0,80,109,34,0,80,114,34,0,80,119,34,0,80,124,34,0,80,129,34,0,80,134,34,0,80,139,34,0,80,144,34,0,80,149,34,0,80,154,34,0,80,159,34,0,80,164,34,0,80,169,34,0,80,174,34,0,80,179,34,0,80,184,34,0,80,189,34,0,80,194,34,0,80,199,34,0,80,204,34,0,80,209,34,0,80,214,34,0,80,219,34,0,80,224,34,0,80,229,34,0,80,234,34,0,80,239,34,0,80,244,34,0,80,249,34,0,80,254,34,0,80,3,35,0,80,8,35,0,80,13,35,0,80,18,35,0,80,23,35,0,80,28,35,0,80,33,35,0,80,38,35,0,80,43,35,0,80,48,35,0,80,53,35,0,80,58,35,0,80,63,35,0,80,68,35,0,80,73,35,0,80,78,35,0,80,83,35,0,80,88,35,0,80,93,35,0,80,98,35,0,80,103,35,0,80,108,35,0,80,113,35,0,80,118,35,0,80,123,35,0,80,128,35,0,80,133,35,0,80,138,35,0,80,143,35,0,80,148,35,0,80,153,35,0,80,158,35,0,80,163,35,0,80,168,35,0,80,173,35,0,80,178,35,0,80,183,35,0,80,188,35,0,80,193,35,0,80,198,35,0,80,203,35,0,80,208,35,0,80,213,35,0,80,218,35,0,80,223,35,0,80,228,35,0,80,233,35,0,80,238,35,0,80,243,35,0,80,248,35,0,80,253,35,0,80,2,36,0,80,7,36,0,80,12,36,0,80,17,36,0,80,22,36,0,80,27,36,0,80,32,36,0,80,37,36,0,80,42,36,0,80,47,36,0,80,52,36,0,80,57,36,0,80,62,36,0,80,67,36,0,80,72,36,0,80,77,36,0,80,82,36,0,80,87,36,0,80,92,36,0,80,97,36,0,80,102,36,0,80,107,36,0,80,112,36,0,80,117,36,0,80,122,36,0,80,127,36,0,80,132,36,0,80,137,36,0,80,142,36,0,80,147,36,0,80,152,36,0,80,157,36,0,80,162,36,0,80,167,36,0,80,172,36,0,80,177,36,0,80,182,36,0,80,187,36,0,80,192,36,0,80,197,36,0,80,202,36,0,80,207,36,0,80,212,36,0,80,217,36,0,80,222,36,0,80,227,36,0,80,232,36,0,80,237,36,0,80,242,36,0,80,247,36,0,80,252,36,0,80,1,37,0,80,6,37,0,80,11,37,0,80,16,37,0,80,21,37,0,80,26,37,0,80,31,37,0,80,36,37,0,80,41,37,0,80,46,37,0,80,51,37,0,80,56,37,0,80,61,37,0,80,66,37,0,80,71,37,0,80,76,37,0,80,81,37,0,80,86,37,0,80,91,37,0,80,96,37,0,80,101,37,0,80,106,37,0,80,111,37,0,80,116,37,0,80,121,37,0,80,126,37,0,80,131,37,0,80,136,37,0,80,141,37,0,80,146,37,0,80,151,37,0,80,156,37,0,80,161,37,0,80,166,37,0,80,171,37,0,80,176,37,0,80,181,37,0,80,186,37,0,80,191,37,0,80,196,37,0,80,201,37,0,80,206,37,0,80,211,37,0,80,216,37,0,80,221,37,0,80,226,37,0,80,231,37,0,80,236,37,0,80,241,37,0,80,246,37,0,80,251,37,0,80,0,38,0,80,5,38,0,80,10,38,0,80,15,38,0,80,20,38,0,80,25,38,0,80,30,38,0,80,35,38,0,80,40,38,0,80,45,38,0,80,50,38,0,80,55,38,0,80,60,38,0,80,65,38,0,80,70,38,0,80,75,38,0,80,80,38,0,80,85,38,0,80,90,38,0,80,95,38,0,80,100,38,0,80,105,38,0,80,110,38,0,80,115,38,0,80,120,38,0,80,125,38,0,80,130,38,0,80,135,38,0,80,140,38,0,80,145,38,0,80,150,38,0,80,155,38,0,80,160,38,0,80,165,38,0,80,170,38,0,80,175,38,0,80,180,38,0,80,185,38,0,80,190,38,0,80,195,38,0,80,200,38,0,80,205,38,0,80,210,38,0,80,215,38,0,80,220,38,0,80,225,38,0,80,230,38,0,80,235,38,0,80,240,38,0,80,245,38,0,80,250,38,0,80,255,38,0,80,4,39,0,80,9,39,0,80,14,39,0,80,19,39,0,80,24,39,0,80,29,39,0,80,34,39,0,80,39,39,0,80,44,39,0,80,49,39,0,80,54,39,0,80,59,39,0,80,64,39,0,80,69,39,0,80,74,39,0,80,79,39,0,80,84,39,0,80,89,39,0,80,94,39,0,80,99,39,0,80,104,39,0,80,109,39,0,80,114,39,0,80,119,39,0,80,124,39,0,80,129,39,0,80,134,39,0,80,139,39,0,80,144,39,0,80,149,39,0,80,154,39,0,80,159,39,0,80,164,39,0,80,169,39,0,80,174,39,0,80,179,39,0,80,184,39,0,80,189,39,0,80,194,39,0,80,199,39,0,80,204,39,0,80,209,39,0,80,214,39,0,80,219,39,0,80,224,39,0,80,229,39,0,80,234,39,0,80,239,39,0,80,244,39,0,80,249,39,0,80,254,39,0,80,3,40,0,80,8,40,0,80,13,40,0,80,18,40,0,80,23,40,0,80,28,40,0,80,33,40,0,80,38,40,0,80,43,40,0,80,48,40,0,80,53,40,0,80,58,40,0,80,63,40,0,80,68,40,0,80,73,40,0,80,78,40,0,80,83,40,0,80,88,40,0,80,93,40,0,80,98,40,0,80,103,40,0,80,108,40,0,80,113,40,0,80,118,40,0,80,123,40,0,80,128,40,0,80,133,40,0,80,138,40,0,80,143,40,0,80,148,40,0,80,153,40,0,80,158,40,0,80,163,40,0,80,168,40,0,80,173,40,0,80,178,40,0,80,183,40,0,80,188,40,0,80,193,40,0,80,198,40,0,80,203,40,0,80,208,40,0,80,213,40,0,80,218,40,0,80,223,40,0,80,228,40,0,80,233,40,0,80,238,40,0,80,243,40,0,80,248,40,0,80,253,40,0,80,2,41,0,80,7,41,0,80,12,41,0,80,17,41,0,80,22,41,0,80,27,41,0,80,32,41,0,80,37,41,0,80,42,41,0,80,47,41,0,80,52,41,0,80,57,41,0,80,62,41,0,80,67,41,0,80,72,41,0,80,77,41,0,80,82,41,0,80,87,41,0,80,92,41,0,80,97,41,0,80,102,41,0,80,107,41,0,80,112,41,0,80,117,41,0,80,122,41,0,80,127,41,0,80,132,41,0,80,137,41,0,80,142,41,0,80,147,41,0,80,152,41,0,80,157,41,0,80,162,41,0,80,167,41,0,80,172,41,0,80,177,41,0,80,182,41,0,80,187,41,0,80,192,41,0,80,197,41,0,80,202,41,0,80,207,41,0,80,212,41,0,80,217,41,0,80,222,41,0,80,227,41,0,80,232,41,0,80,237,41,0,80,242,41,0,80,247,41,0,80,252,41,0,80,1,42,0,80,6,42,0,80,11,42,0,80,16,42,0,80,21,42,0,80,26,42,0,80,31,42,0,80,36,42,0,80,41,42,0,80,46,42,0,80,51,42,0,80,56,42,0,80,61,42,0,80,66,42,0,80,71,42,0,80,76,42,0,80,81,42,0,80,86,42,0,80,91,42,0,80,96,42,0,80,101,42,0,80,106,42,0,80,111,42,0,80,116,42,0,80,121,42,0,80,126,42,0,80,131,42,0,80,136,42,0,80,141,42,0,80,146,42,0,80,151,42,0,80,156,42,0,80,161,42,0,80,166,42,0,80,171,42,0,80,176,42,0,80,181,42,0,80,186,42,0,80,191,42,0,80,196,42,0,80,201,42,0,80,206,42,0,80,211,42,0,80,216,42,0,80,221,42,0,80,226,42,0,80,231,42,0,80,236,42,0,80,241,42,0,80,246,42,0,80,251,42,0,80,0,43,0,80,5,43,0,80,10,43,0,80,15,43,0,80,20,43,0,80,25,43,0,80,30,43,0,80,35,43,0,80,40,43,0,80,45,43,0,80,50,43,0,80,55,43,0,80,60,43,0,80,65,43,0,80,70,43,0,80,75,43,0,80,80,43,0,80,85,43,0,80,90,43,0,80,95,43,0,80,100,43,0,80,105,43,0,80,110,43,0,80,115,43,0,80,120,43,0,80,125,43,0,80,130,43,0,80,135,43,0,80,140,43,0,80,145,43,0,80,150,43,0,80,155,43,0,80,160,43,0,80,165,43,0,80,170,43,0,80,175,43,0,80,180,43,0,80,185,43,0,80,190,43,0,80,195,43,0,80,200,43,0,80,205,43,0,80,210,43,0,80,215,43,0,80,220,43,0,80,225,43,0,80,230,43,0,80,235,43,0,80,240,43,0,80,245,43,0,80,250,43,0,80,255,43,0,80,4,44,0,80,9,44,0,80,14,44,0,80,19,44,0,80,24,44,0,80,29,44,0,80,34,44,0,80,39,44,0,80,44,44,0,80,49,44,0,80,54,44,0,80,59,44,0,80,64,44,0,80,69,44,0,80,74,44,0,80,79,44,0,80,84,44,0,80,89,44,0,80,94,44,0,80,99,44,0,80,104,44,0,80,109,44,0,80,114,44,0,80,119,44,0,80,124,44,0,80,129,44,0,80,134,44,0,80,139,44,0,80,144,44,0,80,149,44,0,80,154,44,0,80,159,44,0,80,164,44,0,80,169,44,0,80,174,44,0,80,179,44,0,80,184,44,0,80,189,44,0,80,194,44,0,80,199,44,0,80,204,44,0,80,209,44,0,80,214,44,0,80,219,44,0,80,224,44,0,80,229,44,0,80,234,44,0,80,239,44,0,80,244,44,0,80,249,44,0,80,254,44,0,80,3,45,0,80,8,45,0,80,13,45,0,80,18,45,0,80,23,45,0,80,28,45,0,80,33,45,0,80,38,45,0,80,43,45,0,80,48,45,0,80,53,45,0,80,58,45,0,80,63,45,0,80,68,45,0,80,73,45,0,80,78,45,0,80,83,45,0,80,88,45,0,80,93,45,0,80,98,45,0,80,103,45,0,80,108,45,0,80,9,0,145,21,153,21,177,21,202,21,213,21,237,21,3,22,20,22,31,22,113,45,0,80,118,45,0,80,123,45,0,80,128,45,0,80,133,45,0,80,138,45,0,80,143,45,0,80,148,45,0,80,153,45,0,80,2,0,59,22,71,22,170,170,158,45,0,80,163,45,0,80,2,0,181,7,90,22,170,170,168,45,0,80,173,45,0,80,7,0,38,0,228,8,240,8,190,11,140,21,53,22,82,22,30,29,0,32,251,31,0,32,253,31,0,32,214,32,0,32,151,36,0,32,165,36,0,32,169,36,0,32,2,0,32,0,99,22,170,170,173,36,0,32,178,45,0,144,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,218,5,0,32,7,0,0,0,147,0,0,0,220,5,0,0,220,5,0,0,88,0,0,0,1,0,0,0,157,3,0,0,110,117,109,98,101,114,105,110,103,83,121,115,116,101,109,115,0,97,100,108,109,0,97,108,103,111,114,105,116,104,109,105,99,0,100,101,115,99,0,114,97,100,105,120,0,97,104,111,109,0,97,114,97,98,0,97,114,97,98,101,120,116,0,97,114,109,110,0,97,114,109,110,108,111,119,0,98,97,108,105,0,98,101,110,103,0,98,104,107,115,0,98,114,97,104,0,99,97,107,109,0,99,104,97,109,0,99,121,114,108,0,100,101,118,97,0,100,105,97,107,0,101,116,104,105,0,102,117,108,108,119,105,100,101,0,103,101,111,114,0,103,111,110,103,0,103,111,110,109,0,103,114,101,107,0,103,114,101,107,108,111,119,0,103,117,106,114,0,103,117,114,117,0,104,97,110,105,100,97,121,115,0,104,97,110,105,100,101,99,0,104,97,110,115,0,104,97,110,115,102,105,110,0,104,97,110,116,0,104,97,110,116,102,105,110,0,104,101,98,114,0,104,109,110,103,0,104,109,110,112,0,106,97,118,97,0,106,112,97,110,0,106,112,97,110,102,105,110,0,106,112,97,110,121,101,97,114,0,107,97,108,105,0,107,97,119,105,0,107,104,109,114,0,107,110,100,97,0,108,97,110,97,0,108,97,110,97,116,104,97,109,0,108,97,111,111,0,108,97,116,110,0,108,101,112,99,0,108,105,109,98,0,109,97,116,104,98,111,108,100,0,109,97,116,104,100,98,108,0,109,97,116,104,109,111,110,111,0,109,97,116,104,115,97,110,98,0,109,97,116,104,115,97,110,115,0,109,108,121,109,0,109,111,100,105,0,109,111,110,103,0,109,114,111,111,0,109,116,101,105,0,109,121,109,114,0,109,121,109,114,115,104,97,110,0,109,121,109,114,116,108,110,103,0,110,97,103,109,0,110,101,119,97,0,110,107,111,111,0,111,108,99,107,0,111,114,121,97,0,111,115,109,97,0,114,111,104,103,0,114,111,109,97,110,0,114,111,109,97,110,108,111,119,0,115,97,117,114,0,115,101,103,109,101,110,116,0,115,104,114,100,0,115,105,110,100,0,115,105,110,104,0,115,111,114,97,0,115,117,110,100,0,116,97,107,114,0,116,97,108,117,0,116,97,109,108,0,116,97,109,108,100,101,99,0,116,101,108,117,0,116,104,97,105,0,116,105,98,116,0,116,105,114,104,0,116,110,115,97,0,118,97,105,105,0,119,97,114,97,0,119,99,104,111,0,170,0,0,37,0,116,0,97,0,109,0,105,0,108,0,0,0,37,0,104,0,101,0,98,0,114,0,101,0,119,0,0,0,37,0,101,0,116,0,104,0,105,0,111,0,112,0,105,0,99,0,0,0,37,0,103,0,101,0,111,0,114,0,103,0,105,0,97,0,110,0,0,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,57,0,0,0,96,6,97,6,98,6,99,6,100,6,101,6,102,6,103,6,104,6,105,6,0,0,240,6,241,6,242,6,243,6,244,6,245,6,246,6,247,6,248,6,249,6,0,0,192,7,193,7,194,7,195,7,196,7,197,7,198,7,199,7,200,7,201,7,0,0,102,9,103,9,104,9,105,9,106,9,107,9,108,9,109,9,110,9,111,9,0,0,230,9,231,9,232,9,233,9,234,9,235,9,236,9,237,9,238,9,239,9,0,0,102,10,103,10,104,10,105,10,106,10,107,10,108,10,109,10,110,10,111,10,0,0,230,10,231,10,232,10,233,10,234,10,235,10,236,10,237,10,238,10,239,10,0,0,102,11,103,11,104,11,105,11,106,11,107,11,108,11,109,11,110,11,111,11,0,0,230,11,231,11,232,11,233,11,234,11,235,11,236,11,237,11,238,11,239,11,0,0,102,12,103,12,104,12,105,12,106,12,107,12,108,12,109,12,110,12,111,12,0,0,230,12,231,12,232,12,233,12,234,12,235,12,236,12,237,12,238,12,239,12,0,0,102,13,103,13,104,13,105,13,106,13,107,13,108,13,109,13,110,13,111,13,0,0,230,13,231,13,232,13,233,13,234,13,235,13,236,13,237,13,238,13,239,13,0,0,80,14,81,14,82,14,83,14,84,14,85,14,86,14,87,14,88,14,89,14,0,0,208,14,209,14,210,14,211,14,212,14,213,14,214,14,215,14,216,14,217,14,0,0,32,15,33,15,34,15,35,15,36,15,37,15,38,15,39,15,40,15,41,15,0,0,64,16,65,16,66,16,67,16,68,16,69,16,70,16,71,16,72,16,73,16,0,0,144,16,145,16,146,16,147,16,148,16,149,16,150,16,151,16,152,16,153,16,0,0,224,23,225,23,226,23,227,23,228,23,229,23,230,23,231,23,232,23,233,23,0,0,16,24,17,24,18,24,19,24,20,24,21,24,22,24,23,24,24,24,25,24,0,0,70,25,71,25,72,25,73,25,74,25,75,25,76,25,77,25,78,25,79,25,0,0,208,25,209,25,210,25,211,25,212,25,213,25,214,25,215,25,216,25,217,25,0,0,128,26,129,26,130,26,131,26,132,26,133,26,134,26,135,26,136,26,137,26,0,0,144,26,145,26,146,26,147,26,148,26,149,26,150,26,151,26,152,26,153,26,0,0,80,27,81,27,82,27,83,27,84,27,85,27,86,27,87,27,88,27,89,27,0,0,176,27,177,27,178,27,179,27,180,27,181,27,182,27,183,27,184,27,185,27,0,0,64,28,65,28,66,28,67,28,68,28,69,28,70,28,71,28,72,28,73,28,0,0,80,28,81,28,82,28,83,28,84,28,85,28,86,28,87,28,88,28,89,28,0,0,7,48,0,78,140,78,9,78,219,86,148,78,109,81,3,78,107,81,93,78,0,0,32,166,33,166,34,166,35,166,36,166,37,166,38,166,39,166,40,166,41,166,0,0,208,168,209,168,210,168,211,168,212,168,213,168,214,168,215,168,216,168,217,168,0,0,0,169,1,169,2,169,3,169,4,169,5,169,6,169,7,169,8,169,9,169,0,0,208,169,209,169,210,169,211,169,212,169,213,169,214,169,215,169,216,169,217,169,0,0,240,169,241,169,242,169,243,169,244,169,245,169,246,169,247,169,248,169,249,169,0,0,80,170,81,170,82,170,83,170,84,170,85,170,86,170,87,170,88,170,89,170,0,0,240,171,241,171,242,171,243,171,244,171,245,171,246,171,247,171,248,171,249,171,0,0,16,255,17,255,18,255,19,255,20,255,21,255,22,255,23,255,24,255,25,255,0,0,37,0,103,0,114,0,101,0,101,0,107,0,45,0,108,0,111,0,119,0,101,0,114,0,0,0,37,0,103,0,114,0,101,0,101,0,107,0,45,0,117,0,112,0,112,0,101,0,114,0,0,0,37,0,114,0,111,0,109,0,97,0,110,0,45,0,108,0,111,0,119,0,101,0,114,0,0,0,37,0,114,0,111,0,109,0,97,0,110,0,45,0,117,0,112,0,112,0,101,0,114,0,0,0,37,0,97,0,114,0,109,0,101,0,110,0,105,0,97,0,110,0,45,0,108,0,111,0,119,0,101,0,114,0,0,0,37,0,97,0,114,0,109,0,101,0,110,0,105,0,97,0,110,0,45,0,117,0,112,0,112,0,101,0,114,0,0,0,37,0,99,0,121,0,114,0,105,0,108,0,108,0,105,0,99,0,45,0,108,0,111,0,119,0,101,0,114,0,0,0,1,216,160,220,1,216,161,220,1,216,162,220,1,216,163,220,1,216,164,220,1,216,165,220,1,216,166,220,1,216,167,220,1,216,168,220,1,216,169,220,0,0,3,216,48,221,3,216,49,221,3,216,50,221,3,216,51,221,3,216,52,221,3,216,53,221,3,216,54,221,3,216,55,221,3,216,56,221,3,216,57,221,0,0,4,216,102,220,4,216,103,220,4,216,104,220,4,216,105,220,4,216,106,220,4,216,107,220,4,216,108,220,4,216,109,220,4,216,110,220,4,216,111,220,0,0,4,216,240,220,4,216,241,220,4,216,242,220,4,216,243,220,4,216,244,220,4,216,245,220,4,216,246,220,4,216,247,220,4,216,248,220,4,216,249,220,0,0,4,216,54,221,4,216,55,221,4,216,56,221,4,216,57,221,4,216,58,221,4,216,59,221,4,216,60,221,4,216,61,221,4,216,62,221,4,216,63,221,0,0,4,216,208,221,4,216,209,221,4,216,210,221,4,216,211,221,4,216,212,221,4,216,213,221,4,216,214,221,4,216,215,221,4,216,216,221,4,216,217,221,0,0,4,216,240,222,4,216,241,222,4,216,242,222,4,216,243,222,4,216,244,222,4,216,245,222,4,216,246,222,4,216,247,222,4,216,248,222,4,216,249,222,0,0,5,216,80,220,5,216,81,220,5,216,82,220,5,216,83,220,5,216,84,220,5,216,85,220,5,216,86,220,5,216,87,220,5,216,88,220,5,216,89,220,0,0,5,216,208,220,5,216,209,220,5,216,210,220,5,216,211,220,5,216,212,220,5,216,213,220,5,216,214,220,5,216,215,220,5,216,216,220,5,216,217,220,0,0,5,216,80,222,5,216,81,222,5,216,82,222,5,216,83,222,5,216,84,222,5,216,85,222,5,216,86,222,5,216,87,222,5,216,88,222,5,216,89,222,0,0,5,216,192,222,5,216,193,222,5,216,194,222,5,216,195,222,5,216,196,222,5,216,197,222,5,216,198,222,5,216,199,222,5,216,200,222,5,216,201,222,0,0,5,216,48,223,5,216,49,223,5,216,50,223,5,216,51,223,5,216,52,223,5,216,53,223,5,216,54,223,5,216,55,223,5,216,56,223,5,216,57,223,0,0,6,216,224,220,6,216,225,220,6,216,226,220,6,216,227,220,6,216,228,220,6,216,229,220,6,216,230,220,6,216,231,220,6,216,232,220,6,216,233,220,0,0,6,216,80,221,6,216,81,221,6,216,82,221,6,216,83,221,6,216,84,221,6,216,85,221,6,216,86,221,6,216,87,221,6,216,88,221,6,216,89,221,0,0,7,216,80,220,7,216,81,220,7,216,82,220,7,216,83,220,7,216,84,220,7,216,85,220,7,216,86,220,7,216,87,220,7,216,88,220,7,216,89,220,0,0,7,216,80,221,7,216,81,221,7,216,82,221,7,216,83,221,7,216,84,221,7,216,85,221,7,216,86,221,7,216,87,221,7,216,88,221,7,216,89,221,0,0,7,216,160,221,7,216,161,221,7,216,162,221,7,216,163,221,7,216,164,221,7,216,165,221,7,216,166,221,7,216,167,221,7,216,168,221,7,216,169,221,0,0,7,216,80,223,7,216,81,223,7,216,82,223,7,216,83,223,7,216,84,223,7,216,85,223,7,216,86,223,7,216,87,223,7,216,88,223,7,216,89,223,0,0,26,216,96,222,26,216,97,222,26,216,98,222,26,216,99,222,26,216,100,222,26,216,101,222,26,216,102,222,26,216,103,222,26,216,104,222,26,216,105,222,0,0,26,216,192,222,26,216,193,222,26,216,194,222,26,216,195,222,26,216,196,222,26,216,197,222,26,216,198,222,26,216,199,222,26,216,200,222,26,216,201,222,0,0,26,216,80,223,26,216,81,223,26,216,82,223,26,216,83,223,26,216,84,223,26,216,85,223,26,216,86,223,26,216,87,223,26,216,88,223,26,216,89,223,0,0,53,216,206,223,53,216,207,223,53,216,208,223,53,216,209,223,53,216,210,223,53,216,211,223,53,216,212,223,53,216,213,223,53,216,214,223,53,216,215,223,0,0,53,216,216,223,53,216,217,223,53,216,218,223,53,216,219,223,53,216,220,223,53,216,221,223,53,216,222,223,53,216,223,223,53,216,224,223,53,216,225,223,0,0,53,216,226,223,53,216,227,223,53,216,228,223,53,216,229,223,53,216,230,223,53,216,231,223,53,216,232,223,53,216,233,223,53,216,234,223,53,216,235,223,0,0,53,216,236,223,53,216,237,223,53,216,238,223,53,216,239,223,53,216,240,223,53,216,241,223,53,216,242,223,53,216,243,223,53,216,244,223,53,216,245,223,0,0,53,216,246,223,53,216,247,223,53,216,248,223,53,216,249,223,53,216,250,223,53,216,251,223,53,216,252,223,53,216,253,223,53,216,254,223,53,216,255,223,0,0,56,216,64,221,56,216,65,221,56,216,66,221,56,216,67,221,56,216,68,221,56,216,69,221,56,216,70,221,56,216,71,221,56,216,72,221,56,216,73,221,0,0,56,216,240,222,56,216,241,222,56,216,242,222,56,216,243,222,56,216,244,222,56,216,245,222,56,216,246,222,56,216,247,222,56,216,248,222,56,216,249,222,0,0,57,216,240,220,57,216,241,220,57,216,242,220,57,216,243,220,57,216,244,220,57,216,245,220,57,216,246,220,57,216,247,220,57,216,248,220,57,216,249,220,0,0,58,216,80,221,58,216,81,221,58,216,82,221,58,216,83,221,58,216,84,221,58,216,85,221,58,216,86,221,58,216,87,221,58,216,88,221,58,216,89,221,0,0,62,216,240,223,62,216,241,223,62,216,242,223,62,216,243,223,62,216,244,223,62,216,245,223,62,216,246,223,62,216,247,223,62,216,248,223,62,216,249,223,0,0,106,0,97,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,0,0,122,0,104,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,0,0,41,220,122,0,104,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,110,0,117,0,109,0,98,0,101,0,114,0,105,0,110,0,103,0,45,0,100,0,97,0,121,0,115,0,0,0,45,220,106,0,97,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,45,0,102,0,105,0,110,0,97,0,110,0,99,0,105,0,97,0,108,0,0,0,45,220,122,0,104,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,45,0,102,0,105,0,110,0,97,0,110,0,99,0,105,0,97,0,108,0,0,0,46,220,106,0,97,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,110,0,117,0,109,0,98,0,101,0,114,0,105,0,110,0,103,0,45,0,121,0,101,0,97,0,114,0,45,0,108,0,97,0,116,0,110,0,0,0,50,220,122,0,104,0,95,0,72,0,97,0,110,0,116,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,45,0,102,0,105,0,110,0,97,0,110,0,99,0,105,0,97,0,108,0,0,0,170,170,3,0,54,0,66,0,71,0,0,0,0,112,139,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,17,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,47,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,58,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,10,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,250,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,55,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,91,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,80,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,84,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,126,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,165,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,26,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,80,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,59,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,16,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,187,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,26,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,122,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,101,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,211,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,198,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,113,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,102,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,38,5,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,99,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,217,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,128,5,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,253,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,223,5,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,8,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,206,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,76,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,143,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,181,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,81,5,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,175,5,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,132,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,143,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,245,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,157,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,33,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,44,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,201,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,36,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,77,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,11,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,227,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,248,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,55,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,34,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,13,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,168,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,231,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,0,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,164,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,176,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,223,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,234,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,154,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,118,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,189,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,69,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,88,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,124,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,42,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,63,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,237,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,224,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,121,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,160,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,147,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,168,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,179,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,105,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,66,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,252,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,22,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,1,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,135,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,146,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,190,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,212,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,210,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,185,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,110,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,38,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,97,4,0,96,10,0,0,112,88,0,49,0,77,0,82,0,87,0,95,0,100,0,108,0,113,0,118,0,123,0,128,0,133,0,138,0,143,0,148,0,153,0,158,0,167,0,172,0,177,0,182,0,187,0,195,0,200,0,205,0,214,0,222,0,227,0,235,0,240,0,248,0,253,0,2,1,7,1,12,1,17,1,25,1,34,1,39,1,44,1,49,1,54,1,59,1,68,1,73,1,78,1,83,1,88,1,97,1,105,1,114,1,123,1,132,1,137,1,142,1,147,1,152,1,157,1,162,1,171,1,180,1,185,1,190,1,195,1,200,1,205,1,210,1,215,1,221,1,230,1,235,1,243,1,248,1,253,1,2,2,7,2,12,2,17,2,22,2,27,2,35,2,40,2,45,2,50,2,55,2,60,2,65,2,70,2,170,170,157,3,0,32,162,3,0,32,167,3,0,32,172,3,0,32,177,3,0,32,182,3,0,32,187,3,0,32,192,3,0,32,197,3,0,32,202,3,0,32,207,3,0,32,212,3,0,32,217,3,0,32,222,3,0,32,227,3,0,32,232,3,0,32,237,3,0,32,242,3,0,32,247,3,0,32,252,3,0,32,1,4,0,32,6,4,0,32,11,4,0,32,16,4,0,32,21,4,0,32,26,4,0,32,31,4,0,32,36,4,0,32,41,4,0,32,46,4,0,32,51,4,0,32,56,4,0,32,61,4,0,32,66,4,0,32,71,4,0,32,76,4,0,32,81,4,0,32,86,4,0,32,91,4,0,32,96,4,0,32,101,4,0,32,106,4,0,32,111,4,0,32,116,4,0,32,121,4,0,32,126,4,0,32,131,4,0,32,136,4,0,32,141,4,0,32,146,4,0,32,151,4,0,32,156,4,0,32,161,4,0,32,166,4,0,32,171,4,0,32,176,4,0,32,181,4,0,32,186,4,0,32,191,4,0,32,196,4,0,32,201,4,0,32,206,4,0,32,211,4,0,32,216,4,0,32,221,4,0,32,226,4,0,32,231,4,0,32,236,4,0,32,241,4,0,32,246,4,0,32,251,4,0,32,0,5,0,32,5,5,0,32,10,5,0,32,15,5,0,32,20,5,0,32,25,5,0,32,30,5,0,32,35,5,0,32,40,5,0,32,45,5,0,32,50,5,0,32,55,5,0,32,60,5,0,32,65,5,0,32,70,5,0,32,75,5,0,32,80,5,0,32,1,0,32,0,85,5,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,98,3,0,32,7,0,0,0,113,0,0,0,102,3,0,0,102,3,0,0,91,0,0,0,1,0,0,0,123,2,0,0,108,111,99,97,108,101,115,0,97,102,0,97,107,0,97,109,0,97,110,0,97,114,0,97,115,0,97,122,0,98,101,0,98,103,0,98,110,0,98,115,0,99,97,0,99,115,0,99,121,0,100,97,0,100,101,0,101,108,0,101,110,0,101,116,0,101,117,0,102,97,0,102,105,0,102,105,108,0,102,114,0,103,97,0,103,108,0,103,115,119,0,103,117,0,104,101,0,104,105,0,104,114,0,104,117,0,104,121,0,105,97,0,105,100,0,105,111,0,105,115,0,105,116,0,106,97,0,107,97,0,107,107,0,107,109,0,107,110,0,107,111,0,107,121,0,108,105,106,0,108,111,0,108,116,0,108,118,0,109,107,0,109,108,0,109,110,0,109,114,0,109,115,0,109,121,0,110,98,0,110,101,0,110,108,0,110,111,0,111,114,0,112,97,0,112,99,109,0,112,108,0,112,115,0,112,116,0,114,111,0,114,117,0,115,99,0,115,99,110,0,115,100,0,115,105,0,115,107,0,115,108,0,115,113,0,115,114,0,115,118,0,116,97,0,116,101,0,116,104,0,116,107,0,116,114,0,117,103,0,117,107,0,117,114,0,117,122,0,118,105,0,121,117,101,0,122,104,0,122,117,0,114,117,108,101,115,0,115,101,116,48,48,0,115,101,116,48,49,0,115,101,116,48,50,0,115,101,116,48,51,0,115,101,116,48,52,0,115,101,116,48,53,0,115,101,116,48,54,0,115,101,116,48,55,0,115,101,116,48,56,0,115,101,116,48,57,0,115,101,116,49,48,0,115,101,116,49,49,0,115,101,116,49,50,0,115,101,116,49,51,0,115,101,116,49,52,0,115,101,116,49,53,0,115,101,116,49,54,0,115,101,116,49,55,0,115,101,116,49,56,0,115,101,116,49,57,0,115,101,116,50,48,0,115,101,116,50,49,0,170,0,0,111,0,110,0,101,0,0,0,102,0,101,0,119,0,0,0,116,0,119,0,111,0,0,0,109,0,97,0,110,0,121,0,0,0,122,0,101,0,114,0,111,0,0,0,111,0,116,0,104,0,101,0,114,0,0,0,115,0,101,0,116,0,48,0,51,0,0,0,115,0,101,0,116,0,48,0,52,0,0,0,115,0,101,0,116,0,48,0,48,0,0,0,115,0,101,0,116,0,48,0,49,0,0,0,115,0,101,0,116,0,48,0,53,0,0,0,115,0,101,0,116,0,48,0,55,0,0,0,115,0,101,0,116,0,49,0,56,0,0,0,115,0,101,0,116,0,49,0,50,0,0,0,115,0,101,0,116,0,49,0,55,0,0,0,115,0,101,0,116,0,49,0,51,0,0,0,115,0,101,0,116,0,49,0,53,0,0,0,115,0,101,0,116,0,48,0,50,0,0,0,115,0,101,0,116,0,48,0,54,0,0,0,115,0,101,0,116,0,48,0,56,0,0,0,115,0,101,0,116,0,48,0,57,0,0,0,115,0,101,0,116,0,49,0,48,0,0,0,115,0,101,0,116,0,49,0,49,0,0,0,115,0,101,0,116,0,49,0,52,0,0,0,115,0,101,0,116,0,49,0,54,0,0,0,115,0,101,0,116,0,49,0,57,0,0,0,115,0,101,0,116,0,50,0,48,0,0,0,115,0,101,0,116,0,50,0,49,0,0,0,91,0,40,0,43,0,46,0,49,0,52,0,55,0,58,0,61,0,64,0,67,0,70,0,73,0,76,0,79,0,82,0,85,0,88,0,91,0,60,1,94,0,97,0,100,0,103,0,106,0,110,0,113,0,116,0,119,0,123,0,126,0,129,0,132,0,135,0,138,0,141,0,144,0,147,0,150,0,153,0,156,0,159,0,162,0,165,0,168,0,171,0,174,0,177,0,181,0,184,0,187,0,190,0,193,0,196,0,199,0,202,0,205,0,208,0,211,0,214,0,217,0,220,0,223,0,226,0,230,0,233,0,236,0,239,0,242,0,245,0,248,0,252,0,255,0,2,1,5,1,8,1,11,1,14,1,120,0,17,1,20,1,23,1,26,1,29,1,32,1,35,1,38,1,41,1,44,1,47,1,51,1,54,1,35,0,59,0,47,0,35,0,155,0,47,0,29,0,65,0,35,0,47,0,71,0,89,0,77,0,149,0,53,0,29,0,29,0,35,0,89,0,35,0,35,0,59,0,35,0,53,0,83,0,143,0,29,0,29,0,47,0,119,0,47,0,71,0,29,0,47,0,35,0,41,0,35,0,53,0,131,0,41,0,95,0,29,0,41,0,47,0,41,0,29,0,29,0,41,0,65,0,113,0,107,0,29,0,29,0,47,0,41,0,41,0,35,0,29,0,29,0,35,0,59,0,53,0,35,0,77,0,47,0,83,0,125,0,65,0,29,0,29,0,59,0,101,0,77,0,137,0,29,0,71,0,35,0,29,0,29,0,29,0,41,0,29,0,29,0,29,0,65,0,35,0,29,0,41,0,41,0,41,0,47,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,23,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,23,0,1,0,3,0,23,0,1,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,23,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,23,0,23,0,3,0,18,0,18,0,23,0,3,0,18,0,1,0,1,0,3,0,18,0,23,0,23,0,3,0,1,0,18,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,23,0,23,0,3,0,23,0,18,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,23,0,23,0,3,0,1,0,9,0,23,0,3,0,1,0,23,0,23,0,3,0,9,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,9,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,5,0,5,0,3,0,1,0,23,0,23,0,3,0,5,0,1,0,5,0,3,0,5,0,5,0,5,0,3,0,5,0,23,0,23,0,3,0,23,0,5,0,5,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,5,0,5,0,3,0,1,0,23,0,23,0,3,0,5,0,1,0,1,0,3,0,5,0,5,0,5,0,3,0,5,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,5,0,5,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,23,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,23,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,5,0,3,0,1,0,9,0,9,0,3,0,1,0,5,0,5,0,3,0,1,0,23,0,23,0,3,0,9,0,1,0,5,0,3,0,9,0,9,0,9,0,3,0,9,0,5,0,5,0,3,0,9,0,23,0,23,0,3,0,5,0,1,0,5,0,3,0,5,0,9,0,9,0,3,0,5,0,5,0,5,0,3,0,5,0,23,0,23,0,3,0,23,0,1,0,5,0,3,0,23,0,9,0,9,0,3,0,23,0,5,0,5,0,3,0,23,0,23,0,23,0,3,0,1,0,5,0,5,0,3,0,1,0,13,0,13,0,3,0,1,0,23,0,23,0,3,0,5,0,5,0,5,0,3,0,5,0,13,0,13,0,3,0,5,0,23,0,23,0,3,0,13,0,1,0,1,0,3,0,13,0,5,0,5,0,3,0,13,0,13,0,13,0,3,0,13,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,5,0,5,0,3,0,23,0,13,0,13,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,5,0,5,0,3,0,1,0,13,0,13,0,3,0,1,0,23,0,23,0,3,0,5,0,1,0,1,0,3,0,5,0,5,0,5,0,3,0,5,0,13,0,13,0,3,0,5,0,23,0,23,0,3,0,13,0,1,0,1,0,3,0,13,0,5,0,5,0,3,0,13,0,13,0,13,0,3,0,13,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,5,0,5,0,3,0,23,0,13,0,13,0,3,0,23,0,23,0,23,0,3,0,1,0,9,0,9,0,3,0,1,0,5,0,5,0,3,0,1,0,13,0,13,0,3,0,1,0,23,0,23,0,3,0,9,0,5,0,5,0,3,0,9,0,13,0,13,0,3,0,9,0,23,0,23,0,3,0,5,0,5,0,5,0,3,0,5,0,13,0,13,0,3,0,5,0,23,0,23,0,3,0,13,0,13,0,13,0,3,0,13,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,9,0,9,0,3,0,23,0,5,0,5,0,3,0,23,0,13,0,13,0,3,0,23,0,23,0,23,0,3,0,18,0,1,0,1,0,3,0,18,0,9,0,9,0,3,0,18,0,5,0,5,0,3,0,18,0,13,0,13,0,3,0,18,0,23,0,23,0,3,0,1,0,9,0,9,0,3,0,1,0,5,0,5,0,3,0,1,0,13,0,13,0,3,0,1,0,23,0,23,0,3,0,9,0,5,0,5,0,3,0,9,0,13,0,13,0,3,0,9,0,23,0,23,0,3,0,5,0,13,0,13,0,3,0,5,0,23,0,23,0,3,0,13,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,9,0,9,0,3,0,23,0,5,0,5,0,3,0,23,0,13,0,13,0,3,0,23,0,23,0,23,0,3,0,18,0,1,0,18,0,3,0,18,0,9,0,18,0,3,0,18,0,5,0,5,0,3,0,18,0,13,0,13,0,3,0,18,0,23,0,23,0,3,0,1,0,9,0,23,0,3,0,1,0,5,0,5,0,3,0,1,0,13,0,13,0,3,0,1,0,23,0,23,0,3,0,9,0,5,0,5,0,3,0,9,0,13,0,13,0,3,0,9,0,23,0,23,0,3,0,5,0,5,0,5,0,3,0,5,0,13,0,13,0,3,0,5,0,23,0,23,0,3,0,13,0,5,0,5,0,3,0,13,0,13,0,13,0,3,0,13,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,9,0,23,0,3,0,23,0,5,0,5,0,3,0,23,0,13,0,13,0,3,0,23,0,23,0,23,0,1,0,0,0,88,1,0,144,3,0,0,0,92,1,0,144,96,1,0,144,100,1,0,144,3,0,0,0,104,1,0,144,108,1,0,144,112,1,0,144,3,0,0,0,116,1,0,144,120,1,0,144,124,1,0,144,3,0,0,0,128,1,0,144,132,1,0,144,136,1,0,144,4,0,0,0,140,1,0,144,144,1,0,144,148,1,0,144,152,1,0,144,4,0,0,0,156,1,0,144,160,1,0,144,164,1,0,144,168,1,0,144,4,0,0,0,172,1,0,144,176,1,0,144,180,1,0,144,184,1,0,144,4,0,0,0,188,1,0,144,192,1,0,144,196,1,0,144,200,1,0,144,9,0,0,0,204,1,0,144,208,1,0,144,212,1,0,144,216,1,0,144,220,1,0,144,224,1,0,144,228,1,0,144,232,1,0,144,236,1,0,144,6,0,0,0,240,1,0,144,244,1,0,144,248,1,0,144,252,1,0,144,0,2,0,144,4,2,0,144,7,0,0,0,8,2,0,144,12,2,0,144,16,2,0,144,20,2,0,144,24,2,0,144,28,2,0,144,32,2,0,144,9,0,0,0,36,2,0,144,40,2,0,144,44,2,0,144,48,2,0,144,52,2,0,144,56,2,0,144,60,2,0,144,64,2,0,144,68,2,0,144,3,0,0,0,72,2,0,144,76,2,0,144,80,2,0,144,3,0,0,0,84,2,0,144,88,2,0,144,92,2,0,144,3,0,0,0,96,2,0,144,100,2,0,144,104,2,0,144,16,0,0,0,108,2,0,144,112,2,0,144,116,2,0,144,120,2,0,144,124,2,0,144,128,2,0,144,132,2,0,144,136,2,0,144,140,2,0,144,144,2,0,144,148,2,0,144,152,2,0,144,156,2,0,144,160,2,0,144,164,2,0,144,168,2,0,144,14,0,0,0,172,2,0,144,176,2,0,144,180,2,0,144,184,2,0,144,188,2,0,144,192,2,0,144,196,2,0,144,200,2,0,144,204,2,0,144,208,2,0,144,212,2,0,144,216,2,0,144,220,2,0,144,224,2,0,144,16,0,0,0,228,2,0,144,232,2,0,144,236,2,0,144,240,2,0,144,244,2,0,144,248,2,0,144,252,2,0,144,0,3,0,144,4,3,0,144,8,3,0,144,12,3,0,144,16,3,0,144,20,3,0,144,24,3,0,144,28,3,0,144,32,3,0,144,17,0,0,0,36,3,0,144,40,3,0,144,44,3,0,144,48,3,0,144,52,3,0,144,56,3,0,144,60,3,0,144,64,3,0,144,68,3,0,144,72,3,0,144,76,3,0,144,80,3,0,144,84,3,0,144,88,3,0,144,92,3,0,144,96,3,0,144,100,3,0,144,20,0,0,0,104,3,0,144,108,3,0,144,112,3,0,144,116,3,0,144,120,3,0,144,124,3,0,144,128,3,0,144,132,3,0,144,136,3,0,144,140,3,0,144,144,3,0,144,148,3,0,144,152,3,0,144,156,3,0,144,160,3,0,144,164,3,0,144,168,3,0,144,172,3,0,144,176,3,0,144,180,3,0,144,23,0,0,0,184,3,0,144,188,3,0,144,192,3,0,144,196,3,0,144,200,3,0,144,204,3,0,144,208,3,0,144,212,3,0,144,216,3,0,144,220,3,0,144,224,3,0,144,228,3,0,144,232,3,0,144,236,3,0,144,240,3,0,144,244,3,0,144,248,3,0,144,252,3,0,144,0,4,0,144,4,4,0,144,8,4,0,144,12,4,0,144,16,4,0,144,22,0,63,1,69,1,75,1,81,1,87,1,93,1,99,1,105,1,111,1,117,1,123,1,129,1,135,1,141,1,147,1,153,1,159,1,165,1,171,1,177,1,183,1,189,1,170,170,123,2,0,128,125,2,0,128,129,2,0,128,133,2,0,128,137,2,0,128,141,2,0,128,146,2,0,128,151,2,0,128,156,2,0,128,161,2,0,128,171,2,0,128,178,2,0,128,186,2,0,128,196,2,0,128,200,2,0,128,204,2,0,128,208,2,0,128,225,2,0,128,240,2,0,128,1,3,0,128,19,3,0,128,40,3,0,128,2,0,32,0,57,1,170,170,161,0,0,80,64,3,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,107,34,0,32,7,0,0,0,29,1,0,0,112,34,0,0,112,34,0,0,219,0,0,0,1,0,0,0,12,34,0,0,108,111,99,97,108,101,115,0,97,102,0,97,107,0,97,109,0,97,110,0,97,114,0,97,114,115,0,97,115,97,0,97,115,116,0,97,122,0,98,97,108,0,98,101,0,98,101,109,0,98,101,122,0,98,103,0,98,104,111,0,98,109,0,98,110,0,98,114,0,98,114,120,0,98,115,0,99,97,0,99,101,0,99,101,98,0,99,103,103,0,99,104,114,0,99,107,98,0,99,115,0,99,121,0,100,97,0,100,111,105,0,100,115,98,0,100,118,0,100,122,0,101,101,0,101,108,0,101,110,0,101,116,0,101,117,0,102,97,0,102,102,0,102,105,0,102,105,108,0,102,111,0,102,114,0,102,117,114,0,102,121,0,103,97,0,103,100,0,103,108,0,103,115,119,0,103,117,0,103,117,119,0,103,118,0,104,97,0,104,97,119,0,104,101,0,104,110,106,0,104,115,98,0,104,117,0,104,121,0,105,97,0,105,100,0,105,105,0,105,110,0,105,111,0,105,115,0,105,116,0,105,117,0,105,119,0,106,97,0,106,98,111,0,106,103,111,0,106,105,0,106,109,99,0,106,118,0,106,119,0,107,97,0,107,97,98,0,107,97,106,0,107,99,103,0,107,100,101,0,107,101,97,0,107,107,0,107,107,106,0,107,108,0,107,109,0,107,110,0,107,111,0,107,115,0,107,115,98,0,107,115,104,0,107,117,0,107,119,0,107,121,0,108,97,103,0,108,98,0,108,103,0,108,105,106,0,108,107,116,0,108,110,0,108,111,0,108,116,0,108,118,0,109,97,115,0,109,103,0,109,103,111,0,109,107,0,109,108,0,109,111,0,109,114,0,109,116,0,109,121,0,110,97,104,0,110,97,113,0,110,98,0,110,100,0,110,108,0,110,110,0,110,110,104,0,110,111,0,110,113,111,0,110,114,0,110,115,111,0,110,121,110,0,111,109,0,111,114,0,111,115,0,111,115,97,0,112,97,0,112,97,112,0,112,99,109,0,112,108,0,112,114,103,0,112,115,0,112,116,0,112,116,95,80,84,0,114,109,0,114,111,102,0,114,111,111,116,0,114,117,0,114,119,107,0,115,97,104,0,115,97,113,0,115,97,116,0,115,99,0,115,99,110,0,115,100,0,115,100,104,0,115,101,0,115,101,104,0,115,101,115,0,115,103,0,115,104,105,0,115,105,0,115,107,0,115,108,0,115,109,97,0,115,109,105,0,115,109,106,0,115,109,110,0,115,109,115,0,115,110,0,115,113,0,115,114,0,115,115,0,115,115,121,0,115,117,0,115,118,0,115,121,114,0,116,97,0,116,101,0,116,101,111,0,116,104,0,116,105,0,116,105,103,0,116,107,0,116,108,0,116,110,0,116,111,0,116,112,105,0,116,114,0,116,115,0,116,122,109,0,117,103,0,117,107,0,117,122,0,118,101,0,118,101,99,0,118,105,0,118,111,0,118,117,110,0,119,97,0,119,97,101,0,120,104,0,120,111,103,0,121,105,0,121,111,0,121,117,101,0,122,104,0,122,117,0,108,111,99,97,108,101,115,95,111,114,100,105,110,97,108,115,0,114,117,108,101,115,0,115,101,116,48,0,111,116,104,101,114,0,115,101,116,49,0,111,110,101,0,115,101,116,49,48,0,115,101,116,49,49,0,115,101,116,49,50,0,122,101,114,111,0,115,101,116,49,51,0,115,101,116,49,52,0,115,101,116,49,53,0,116,119,111,0,115,101,116,49,54,0,115,101,116,49,55,0,102,101,119,0,115,101,116,49,56,0,115,101,116,49,57,0,115,101,116,50,0,115,101,116,50,48,0,109,97,110,121,0,115,101,116,50,49,0,115,101,116,50,50,0,115,101,116,50,51,0,115,101,116,50,52,0,115,101,116,50,53,0,115,101,116,50,54,0,115,101,116,50,55,0,115,101,116,50,56,0,115,101,116,50,57,0,115,101,116,51,0,115,101,116,51,48,0,115,101,116,51,49,0,115,101,116,51,50,0,115,101,116,51,51,0,115,101,116,51,52,0,115,101,116,51,53,0,115,101,116,51,54,0,115,101,116,51,55,0,115,101,116,51,56,0,115,101,116,51,57,0,115,101,116,52,0,115,101,116,52,48,0,115,101,116,52,49,0,115,101,116,52,50,0,115,101,116,52,51,0,115,101,116,52,52,0,115,101,116,52,53,0,115,101,116,52,54,0,115,101,116,52,55,0,115,101,116,52,56,0,115,101,116,52,57,0,115,101,116,53,0,115,101,116,53,48,0,115,101,116,53,49,0,115,101,116,53,50,0,115,101,116,53,51,0,115,101,116,53,52,0,115,101,116,53,53,0,115,101,116,53,54,0,115,101,116,53,55,0,115,101,116,53,56,0,115,101,116,53,57,0,115,101,116,54,0,115,101,116,54,48,0,115,101,116,54,49,0,115,101,116,54,50,0,115,101,116,55,0,115,101,116,56,0,115,101,116,57,0,170,170,170,0,0,115,0,101,0,116,0,55,0,0,0,115,0,101,0,116,0,48,0,0,0,115,0,101,0,116,0,51,0,0,0,115,0,101,0,116,0,49,0,0,0,115,0,101,0,116,0,53,0,0,0,115,0,101,0,116,0,50,0,0,0,115,0,101,0,116,0,52,0,0,0,115,0,101,0,116,0,54,0,0,0,115,0,101,0,116,0,56,0,0,0,115,0,101,0,116,0,57,0,0,0,115,0,101,0,116,0,51,0,57,0,0,0,115,0,101,0,116,0,52,0,49,0,0,0,115,0,101,0,116,0,49,0,54,0,0,0,115,0,101,0,116,0,49,0,57,0,0,0,115,0,101,0,116,0,50,0,50,0,0,0,115,0,101,0,116,0,52,0,56,0,0,0,115,0,101,0,116,0,49,0,49,0,0,0,115,0,101,0,116,0,49,0,50,0,0,0,115,0,101,0,116,0,49,0,53,0,0,0,115,0,101,0,116,0,49,0,56,0,0,0,115,0,101,0,116,0,50,0,54,0,0,0,115,0,101,0,116,0,50,0,55,0,0,0,115,0,101,0,116,0,51,0,49,0,0,0,115,0,101,0,116,0,51,0,55,0,0,0,115,0,101,0,116,0,53,0,57,0,0,0,115,0,101,0,116,0,54,0,48,0,0,0,115,0,101,0,116,0,49,0,48,0,0,0,115,0,101,0,116,0,49,0,51,0,0,0,115,0,101,0,116,0,49,0,52,0,0,0,115,0,101,0,116,0,49,0,55,0,0,0,115,0,101,0,116,0,50,0,48,0,0,0,115,0,101,0,116,0,50,0,49,0,0,0,115,0,101,0,116,0,50,0,51,0,0,0,115,0,101,0,116,0,50,0,52,0,0,0,115,0,101,0,116,0,50,0,53,0,0,0,115,0,101,0,116,0,50,0,56,0,0,0,115,0,101,0,116,0,50,0,57,0,0,0,115,0,101,0,116,0,51,0,48,0,0,0,115,0,101,0,116,0,51,0,50,0,0,0,115,0,101,0,116,0,51,0,51,0,0,0,115,0,101,0,116,0,51,0,52,0,0,0,115,0,101,0,116,0,51,0,53,0,0,0,115,0,101,0,116,0,51,0,54,0,0,0,115,0,101,0,116,0,51,0,56,0,0,0,115,0,101,0,116,0,52,0,48,0,0,0,115,0,101,0,116,0,52,0,50,0,0,0,115,0,101,0,116,0,52,0,51,0,0,0,115,0,101,0,116,0,52,0,52,0,0,0,115,0,101,0,116,0,52,0,53,0,0,0,115,0,101,0,116,0,52,0,54,0,0,0,115,0,101,0,116,0,52,0,55,0,0,0,115,0,101,0,116,0,52,0,57,0,0,0,115,0,101,0,116,0,53,0,48,0,0,0,115,0,101,0,116,0,53,0,49,0,0,0,115,0,101,0,116,0,53,0,50,0,0,0,115,0,101,0,116,0,53,0,51,0,0,0,115,0,101,0,116,0,53,0,52,0,0,0,115,0,101,0,116,0,53,0,53,0,0,0,115,0,101,0,116,0,53,0,54,0,0,0,115,0,101,0,116,0,53,0,55,0,0,0,115,0,101,0,116,0,53,0,56,0,0,0,115,0,101,0,116,0,54,0,49,0,0,0,115,0,101,0,116,0,54,0,50,0,0,0,110,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,0,0,110,0,32,0,61,0,32,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,52,0,0,0,110,0,32,0,61,0,32,0,54,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,54,0,0,0,110,0,32,0,61,0,32,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,0,0,105,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,0,0,110,0,32,0,61,0,32,0,50,0,44,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,51,0,0,0,110,0,32,0,61,0,32,0,49,0,44,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,51,0,0,0,110,0,32,0,61,0,32,0,49,0,44,0,53,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,53,0,0,0,110,0,32,0,61,0,32,0,49,0,46,0,46,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,126,0,52,0,0,0,110,0,32,0,61,0,32,0,51,0,44,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,52,0,0,0,110,0,32,0,61,0,32,0,53,0,44,0,54,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,53,0,44,0,32,0,54,0,0,0,110,0,32,0,61,0,32,0,49,0,44,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,49,0,49,0,0,0,110,0,32,0,61,0,32,0,50,0,44,0,49,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,49,0,50,0,0,0,110,0,32,0,61,0,32,0,51,0,44,0,49,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,49,0,51,0,0,0,105,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,0,0,105,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,0,0,110,0,32,0,61,0,32,0,48,0,44,0,55,0,44,0,56,0,44,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,55,0,126,0,57,0,0,0,105,0,32,0,61,0,32,0,50,0,46,0,46,0,52,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,52,0,0,0,110,0,32,0,61,0,32,0,49,0,44,0,53,0,44,0,55,0,46,0,46,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,53,0,44,0,32,0,55,0,126,0,57,0,0,0,110,0,32,0,61,0,32,0,49,0,44,0,53,0,44,0,55,0,44,0,56,0,44,0,57,0,44,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,53,0,44,0,32,0,55,0,126,0,49,0,48,0,0,0,105,0,32,0,61,0,32,0,48,0,44,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,0,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,126,0,49,0,48,0,44,0,32,0,49,0,51,0,126,0,49,0,57,0,44,0,32,0,50,0,51,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,0,0,105,0,32,0,61,0,32,0,48,0,46,0,46,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,0,0,110,0,32,0,61,0,32,0,49,0,49,0,44,0,56,0,44,0,56,0,48,0,44,0,56,0,48,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,56,0,44,0,32,0,49,0,49,0,44,0,32,0,56,0,48,0,44,0,32,0,56,0,48,0,48,0,0,0,46,220,105,0,32,0,61,0,32,0,48,0,44,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,33,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,49,0,46,0,54,0,0,0,50,220,110,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,48,0,0,0,50,220,110,0,32,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,48,0,0,0,50,220,110,0,32,0,61,0,32,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,48,0,0,0,50,220,110,0,32,0,61,0,32,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,48,0,0,0,50,220,110,0,32,0,61,0,32,0,54,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,54,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,54,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,48,0,48,0,0,0,52,220,32,0,32,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,52,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,49,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,52,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,53,0,44,0,32,0,55,0,44,0,32,0,56,0,44,0,32,0,49,0,49,0,126,0,49,0,53,0,44,0,32,0,49,0,55,0,44,0,32,0,49,0,56,0,44,0,32,0,50,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,53,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,48,0,126,0,50,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,53,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,48,0,126,0,51,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,53,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,49,0,126,0,51,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,51,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,52,0,126,0,49,0,56,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,54,0,126,0,50,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,110,0,32,0,61,0,32,0,49,0,32,0,111,0,114,0,32,0,116,0,32,0,33,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,61,0,32,0,48,0,44,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,49,0,46,0,54,0,0,0,55,220,110,0,32,0,61,0,32,0,49,0,49,0,44,0,56,0,44,0,56,0,48,0,46,0,46,0,56,0,57,0,44,0,56,0,48,0,48,0,46,0,46,0,56,0,57,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,56,0,44,0,32,0,49,0,49,0,44,0,32,0,56,0,48,0,126,0,56,0,57,0,44,0,32,0,56,0,48,0,48,0,126,0,56,0,48,0,51,0,0,0,56,220,105,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,126,0,48,0,46,0,48,0,52,0,0,0,56,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,48,0,126,0,50,0,52,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,56,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,49,0,126,0,50,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,57,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,50,0,44,0,32,0,52,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,58,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,44,0,32,0,52,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,58,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,44,0,32,0,55,0,126,0,50,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,58,220,102,0,32,0,33,0,61,0,32,0,48,0,32,0,32,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,60,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,52,0,44,0,32,0,54,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,60,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,51,0,126,0,54,0,44,0,32,0,57,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,61,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,44,0,32,0,51,0,44,0,32,0,53,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,62,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,52,0,126,0,49,0,48,0,44,0,32,0,49,0,52,0,126,0,50,0,49,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,64,220,105,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,50,0,48,0,44,0,52,0,48,0,44,0,54,0,48,0,44,0,56,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,65,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,55,0,44,0,32,0,57,0,44,0,32,0,49,0,48,0,44,0,32,0,49,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,73,220,32,0,32,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,73,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,49,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,73,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,49,0,50,0,44,0,32,0,50,0,50,0,44,0,32,0,51,0,50,0,44,0,32,0,52,0,50,0,44,0,32,0,53,0,50,0,44,0,32,0,54,0,50,0,44,0,32,0,55,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,74,220,105,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,105,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,33,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,48,0,46,0,48,0,48,0,126,0,48,0,46,0,48,0,53,0,0,0,75,220,110,0,32,0,61,0,32,0,53,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,53,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,53,0,44,0,32,0,49,0,48,0,53,0,44,0,32,0,50,0,48,0,53,0,44,0,32,0,51,0,48,0,53,0,44,0,32,0,52,0,48,0,53,0,44,0,32,0,53,0,48,0,53,0,44,0,32,0,54,0,48,0,53,0,44,0,32,0,55,0,48,0,53,0,44,0,32,0,49,0,48,0,48,0,53,0,44,0,32,0,38,32,0,0,76,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,53,0,44,0,32,0,55,0,44,0,32,0,56,0,44,0,32,0,49,0,49,0,126,0,49,0,53,0,44,0,32,0,49,0,55,0,44,0,32,0,49,0,56,0,44,0,32,0,50,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,76,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,50,0,48,0,49,0,44,0,32,0,51,0,48,0,49,0,44,0,32,0,52,0,48,0,49,0,44,0,32,0,53,0,48,0,49,0,44,0,32,0,54,0,48,0,49,0,44,0,32,0,55,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,76,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,50,0,48,0,50,0,44,0,32,0,51,0,48,0,50,0,44,0,32,0,52,0,48,0,50,0,44,0,32,0,53,0,48,0,50,0,44,0,32,0,54,0,48,0,50,0,44,0,32,0,55,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,78,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,54,0,44,0,57,0,32,0,111,0,114,0,32,0,110,0,32,0,61,0,32,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,54,0,44,0,32,0,57,0,44,0,32,0,49,0,48,0,44,0,32,0,49,0,54,0,44,0,32,0,49,0,57,0,44,0,32,0,50,0,54,0,44,0,32,0,50,0,57,0,44,0,32,0,51,0,54,0,44,0,32,0,51,0,57,0,44,0,32,0,49,0,48,0,54,0,44,0,32,0,49,0,48,0,48,0,54,0,44,0,32,0,38,32,0,0,78,220,110,0,32,0,61,0,32,0,49,0,44,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,49,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,48,0,0,0,78,220,110,0,32,0,61,0,32,0,50,0,44,0,49,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,49,0,50,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,48,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,48,0,0,0,79,220,118,0,32,0,33,0,61,0,32,0,48,0,32,0,32,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,81,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,51,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,50,0,51,0,44,0,32,0,51,0,51,0,44,0,32,0,52,0,51,0,44,0,32,0,53,0,51,0,44,0,32,0,54,0,51,0,44,0,32,0,55,0,51,0,44,0,32,0,56,0,51,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,0,0,81,220,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,81,220,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,50,0,50,0,44,0,32,0,51,0,50,0,44,0,32,0,52,0,50,0,44,0,32,0,53,0,50,0,44,0,32,0,54,0,50,0,44,0,32,0,55,0,50,0,44,0,32,0,56,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,81,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,81,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,50,0,50,0,44,0,32,0,51,0,50,0,44,0,32,0,52,0,50,0,44,0,32,0,53,0,50,0,44,0,32,0,54,0,50,0,44,0,32,0,55,0,50,0,44,0,32,0,56,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,81,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,52,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,52,0,44,0,32,0,50,0,52,0,44,0,32,0,51,0,52,0,44,0,32,0,52,0,52,0,44,0,32,0,53,0,52,0,44,0,32,0,54,0,52,0,44,0,32,0,55,0,52,0,44,0,32,0,56,0,52,0,44,0,32,0,49,0,48,0,52,0,44,0,32,0,49,0,48,0,48,0,52,0,44,0,32,0,38,32,0,0,82,220,110,0,32,0,61,0,32,0,48,0,46,0,46,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,48,0,0,0,84,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,57,0,44,0,32,0,50,0,50,0,126,0,50,0,57,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,50,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,50,0,126,0,49,0,46,0,57,0,44,0,32,0,49,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,50,0,44,0,32,0,38,32,0,0,85,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,57,0,44,0,32,0,49,0,48,0,44,0,32,0,49,0,57,0,44,0,32,0,50,0,57,0,44,0,32,0,51,0,48,0,44,0,32,0,51,0,57,0,44,0,32,0,52,0,57,0,44,0,32,0,53,0,57,0,44,0,32,0,54,0,57,0,44,0,32,0,55,0,57,0,44,0,32,0,49,0,48,0,57,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,91,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,93,220,105,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,54,0,32,0,111,0,114,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,52,0,48,0,44,0,54,0,48,0,44,0,57,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,54,0,44,0,32,0,49,0,54,0,44,0,32,0,50,0,54,0,44,0,32,0,51,0,54,0,44,0,32,0,52,0,48,0,44,0,32,0,52,0,54,0,44,0,32,0,53,0,54,0,44,0,32,0,49,0,48,0,54,0,44,0,32,0,49,0,48,0,48,0,54,0,44,0,32,0,38,32,0,0,98,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,52,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,52,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,102,220,110,0,32,0,61,0,32,0,49,0,46,0,46,0,52,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,46,0,46,0,52,0,44,0,50,0,49,0,46,0,46,0,50,0,52,0,44,0,52,0,49,0,46,0,46,0,52,0,52,0,44,0,54,0,49,0,46,0,46,0,54,0,52,0,44,0,56,0,49,0,46,0,46,0,56,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,126,0,52,0,44,0,32,0,50,0,49,0,126,0,50,0,52,0,44,0,32,0,52,0,49,0,126,0,52,0,52,0,44,0,32,0,54,0,49,0,126,0,54,0,52,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,104,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,52,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,52,0,44,0,32,0,50,0,50,0,126,0,50,0,52,0,44,0,32,0,51,0,50,0,126,0,51,0,52,0,44,0,32,0,52,0,50,0,126,0,52,0,52,0,44,0,32,0,53,0,50,0,126,0,53,0,52,0,44,0,32,0,54,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,107,220,110,0,32,0,33,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,32,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,108,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,48,0,44,0,50,0,48,0,44,0,52,0,48,0,44,0,54,0,48,0,44,0,56,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,48,0,44,0,32,0,52,0,48,0,44,0,32,0,54,0,48,0,44,0,32,0,56,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,50,0,48,0,44,0,32,0,49,0,52,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,111,220,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,44,0,50,0,44,0,53,0,44,0,55,0,44,0,56,0,32,0,111,0,114,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,48,0,44,0,53,0,48,0,44,0,55,0,48,0,44,0,56,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,44,0,32,0,53,0,44,0,32,0,55,0,44,0,32,0,56,0,44,0,32,0,49,0,49,0,44,0,32,0,49,0,50,0,44,0,32,0,49,0,53,0,44,0,32,0,49,0,55,0,44,0,32,0,49,0,56,0,44,0,32,0,50,0,48,0,126,0,50,0,50,0,44,0,32,0,50,0,53,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,114,220,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,126,0,49,0,48,0,44,0,32,0,49,0,48,0,51,0,126,0,49,0,49,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,46,0,48,0,44,0,32,0,38,32,0,0,117,220,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,55,0,44,0,56,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,55,0,44,0,49,0,56,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,55,0,44,0,32,0,56,0,44,0,32,0,50,0,55,0,44,0,32,0,50,0,56,0,44,0,32,0,51,0,55,0,44,0,32,0,51,0,56,0,44,0,32,0,52,0,55,0,44,0,32,0,52,0,56,0,44,0,32,0,53,0,55,0,44,0,32,0,53,0,56,0,44,0,32,0,54,0,55,0,44,0,32,0,54,0,56,0,44,0,32,0,55,0,55,0,44,0,32,0,55,0,56,0,44,0,32,0,56,0,55,0,44,0,32,0,56,0,56,0,44,0,32,0,49,0,48,0,55,0,44,0,32,0,49,0,48,0,48,0,55,0,44,0,32,0,38,32,0,0,117,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,44,0,50,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,44,0,49,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,44,0,32,0,50,0,49,0,44,0,32,0,50,0,50,0,44,0,32,0,51,0,49,0,44,0,32,0,51,0,50,0,44,0,32,0,52,0,49,0,44,0,32,0,52,0,50,0,44,0,32,0,53,0,49,0,44,0,32,0,53,0,50,0,44,0,32,0,54,0,49,0,44,0,32,0,54,0,50,0,44,0,32,0,55,0,49,0,44,0,32,0,55,0,50,0,44,0,32,0,56,0,49,0,44,0,32,0,56,0,50,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,117,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,44,0,51,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,44,0,49,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,51,0,44,0,32,0,50,0,50,0,44,0,32,0,50,0,51,0,44,0,32,0,51,0,50,0,44,0,32,0,51,0,51,0,44,0,32,0,52,0,50,0,44,0,32,0,52,0,51,0,44,0,32,0,53,0,50,0,44,0,32,0,53,0,51,0,44,0,32,0,54,0,50,0,44,0,32,0,54,0,51,0,44,0,32,0,55,0,50,0,44,0,32,0,55,0,51,0,44,0,32,0,56,0,50,0,44,0,32,0,56,0,51,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,119,220,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,57,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,49,0,126,0,50,0,54,0,44,0,32,0,49,0,49,0,49,0,44,0,32,0,49,0,48,0,49,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,55,0,46,0,48,0,44,0,32,0,49,0,56,0,46,0,48,0,44,0,32,0,49,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,119,220,110,0,32,0,61,0,32,0,50,0,46,0,46,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,48,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,44,0,32,0,52,0,46,0,48,0,48,0,44,0,32,0,53,0,46,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,44,0,32,0,55,0,46,0,48,0,48,0,44,0,32,0,56,0,46,0,48,0,48,0,0,0,121,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,56,0,44,0,32,0,49,0,48,0,126,0,50,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,123,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,126,0,51,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,123,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,49,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,123,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,49,0,126,0,50,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,123,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,52,0,44,0,32,0,54,0,44,0,32,0,57,0,44,0,32,0,49,0,52,0,44,0,32,0,49,0,54,0,44,0,32,0,49,0,57,0,44,0,32,0,50,0,52,0,44,0,32,0,50,0,54,0,44,0,32,0,49,0,48,0,52,0,44,0,32,0,49,0,48,0,48,0,52,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,52,0,44,0,32,0,48,0,46,0,54,0,44,0,32,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,52,0,44,0,32,0,49,0,46,0,54,0,44,0,32,0,49,0,46,0,57,0,44,0,32,0,50,0,46,0,52,0,44,0,32,0,50,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,52,0,44,0,32,0,49,0,48,0,48,0,46,0,52,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,52,0,44,0,32,0,38,32,0,0,123,220,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,49,0,126,0,49,0,57,0,44,0,32,0,49,0,49,0,49,0,126,0,49,0,49,0,55,0,44,0,32,0,49,0,48,0,49,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,55,0,46,0,48,0,44,0,32,0,49,0,56,0,46,0,48,0,44,0,32,0,49,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,126,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,126,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,51,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,126,0,50,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,126,220,110,0,32,0,61,0,32,0,48,0,44,0,49,0,32,0,111,0,114,0,32,0,105,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,48,0,46,0,49,0,44,0,32,0,49,0,46,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,49,0,44,0,32,0,49,0,46,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,49,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,49,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,48,0,0,0,131,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,50,0,46,0,48,0,126,0,51,0,46,0,52,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,131,220,110,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,51,0,126,0,49,0,48,0,44,0,32,0,49,0,48,0,51,0,126,0,49,0,48,0,57,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,46,0,48,0,44,0,32,0,38,32,0,0,132,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,132,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,50,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,56,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,132,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,53,0,46,0,46,0,57,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,133,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,49,0,126,0,50,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,57,0,44,0,32,0,50,0,46,0,49,0,126,0,50,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,133,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,48,0,126,0,51,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,133,220,110,0,32,0,61,0,32,0,51,0,46,0,46,0,54,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,126,0,54,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,44,0,32,0,52,0,46,0,48,0,48,0,44,0,32,0,53,0,46,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,44,0,32,0,52,0,46,0,48,0,48,0,48,0,44,0,32,0,53,0,46,0,48,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,52,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,53,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,48,0,48,0,0,0,134,220,110,0,32,0,61,0,32,0,51,0,46,0,46,0,49,0,48,0,44,0,49,0,51,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,126,0,49,0,48,0,44,0,32,0,49,0,51,0,126,0,49,0,57,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,55,0,46,0,48,0,44,0,32,0,49,0,56,0,46,0,48,0,44,0,32,0,49,0,57,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,0,0,135,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,135,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,51,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,136,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,49,0,126,0,50,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,136,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,48,0,126,0,51,0,52,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,136,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,48,0,44,0,32,0,49,0,48,0,48,0,126,0,49,0,48,0,54,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,138,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,52,0,44,0,32,0,53,0,44,0,32,0,55,0,126,0,50,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,139,220,110,0,32,0,61,0,32,0,55,0,46,0,46,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,55,0,126,0,49,0,48,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,48,0,44,0,32,0,56,0,46,0,48,0,48,0,44,0,32,0,57,0,46,0,48,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,48,0,44,0,32,0,55,0,46,0,48,0,48,0,48,0,44,0,32,0,56,0,46,0,48,0,48,0,48,0,44,0,32,0,57,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,48,0,48,0,44,0,32,0,55,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,56,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,57,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,48,0,48,0,48,0,0,0,140,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,48,0,46,0,50,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,50,0,126,0,49,0,46,0,56,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,140,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,48,0,46,0,50,0,126,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,50,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,141,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,57,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,57,0,44,0,32,0,50,0,50,0,126,0,50,0,57,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,50,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,50,0,46,0,48,0,44,0,32,0,38,32,0,0,141,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,54,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,57,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,33,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,54,0,44,0,32,0,57,0,44,0,32,0,49,0,48,0,44,0,32,0,49,0,54,0,44,0,32,0,49,0,57,0,44,0,32,0,50,0,48,0,44,0,32,0,50,0,54,0,44,0,32,0,50,0,57,0,44,0,32,0,51,0,48,0,44,0,32,0,51,0,54,0,44,0,32,0,51,0,57,0,44,0,32,0,52,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,143,220,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,44,0,50,0,51,0,44,0,52,0,51,0,44,0,54,0,51,0,44,0,56,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,50,0,51,0,44,0,32,0,52,0,51,0,44,0,32,0,54,0,51,0,44,0,32,0,56,0,51,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,50,0,51,0,44,0,32,0,49,0,52,0,51,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,50,0,51,0,46,0,48,0,44,0,32,0,52,0,51,0,46,0,48,0,44,0,32,0,54,0,51,0,46,0,48,0,44,0,32,0,56,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,51,0,46,0,48,0,44,0,32,0,49,0,50,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,46,0,48,0,44,0,32,0,38,32,0,0,145,220,110,0,32,0,61,0,32,0,48,0,46,0,46,0,49,0,32,0,111,0,114,0,32,0,110,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,57,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,44,0,32,0,49,0,49,0,126,0,50,0,52,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,55,0,46,0,48,0,44,0,32,0,49,0,56,0,46,0,48,0,44,0,32,0,49,0,57,0,46,0,48,0,44,0,32,0,50,0,48,0,46,0,48,0,44,0,32,0,50,0,49,0,46,0,48,0,44,0,32,0,50,0,50,0,46,0,48,0,44,0,32,0,50,0,51,0,46,0,48,0,44,0,32,0,50,0,52,0,46,0,48,0,0,0,146,220,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,51,0,44,0,52,0,32,0,111,0,114,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,32,0,61,0,32,0,49,0,48,0,48,0,44,0,50,0,48,0,48,0,44,0,51,0,48,0,48,0,44,0,52,0,48,0,48,0,44,0,53,0,48,0,48,0,44,0,54,0,48,0,48,0,44,0,55,0,48,0,48,0,44,0,56,0,48,0,48,0,44,0,57,0,48,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,52,0,44,0,32,0,49,0,51,0,44,0,32,0,49,0,52,0,44,0,32,0,50,0,51,0,44,0,32,0,50,0,52,0,44,0,32,0,51,0,51,0,44,0,32,0,51,0,52,0,44,0,32,0,52,0,51,0,44,0,32,0,52,0,52,0,44,0,32,0,53,0,51,0,44,0,32,0,53,0,52,0,44,0,32,0,54,0,51,0,44,0,32,0,54,0,52,0,44,0,32,0,55,0,51,0,44,0,32,0,55,0,52,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,0,0,146,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,33,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,48,0,46,0,46,0,49,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,53,0,46,0,46,0,57,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,50,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,147,220,118,0,32,0,33,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,33,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,149,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,48,0,46,0,53,0,126,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,53,0,126,0,50,0,46,0,48,0,44,0,32,0,50,0,46,0,53,0,126,0,50,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,150,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,44,0,55,0,49,0,44,0,57,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,44,0,32,0,50,0,49,0,46,0,48,0,44,0,32,0,51,0,49,0,46,0,48,0,44,0,32,0,52,0,49,0,46,0,48,0,44,0,32,0,53,0,49,0,46,0,48,0,44,0,32,0,54,0,49,0,46,0,48,0,44,0,32,0,56,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,150,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,44,0,55,0,50,0,44,0,57,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,50,0,50,0,44,0,32,0,51,0,50,0,44,0,32,0,52,0,50,0,44,0,32,0,53,0,50,0,44,0,32,0,54,0,50,0,44,0,32,0,56,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,50,0,50,0,46,0,48,0,44,0,32,0,51,0,50,0,46,0,48,0,44,0,32,0,52,0,50,0,46,0,48,0,44,0,32,0,53,0,50,0,46,0,48,0,44,0,32,0,54,0,50,0,46,0,48,0,44,0,32,0,56,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,50,0,46,0,48,0,44,0,32,0,38,32,0,0,154,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,44,0,32,0,50,0,49,0,46,0,48,0,44,0,32,0,51,0,49,0,46,0,48,0,44,0,32,0,52,0,49,0,46,0,48,0,44,0,32,0,53,0,49,0,46,0,48,0,44,0,32,0,54,0,49,0,46,0,48,0,44,0,32,0,55,0,49,0,46,0,48,0,44,0,32,0,56,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,158,220,110,0,32,0,33,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,44,0,50,0,49,0,44,0,52,0,49,0,44,0,54,0,49,0,44,0,56,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,50,0,49,0,44,0,32,0,49,0,52,0,49,0,44,0,32,0,49,0,54,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,49,0,46,0,48,0,44,0,32,0,52,0,49,0,46,0,48,0,44,0,32,0,54,0,49,0,46,0,48,0,44,0,32,0,56,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,49,0,46,0,48,0,44,0,32,0,49,0,52,0,49,0,46,0,48,0,44,0,32,0,49,0,54,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,158,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,44,0,32,0,50,0,49,0,46,0,48,0,44,0,32,0,51,0,49,0,46,0,48,0,44,0,32,0,52,0,49,0,46,0,48,0,44,0,32,0,53,0,49,0,46,0,48,0,44,0,32,0,54,0,49,0,46,0,48,0,44,0,32,0,55,0,49,0,46,0,48,0,44,0,32,0,56,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,163,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,32,0,111,0,114,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,50,0,48,0,49,0,44,0,32,0,51,0,48,0,49,0,44,0,32,0,52,0,48,0,49,0,44,0,32,0,53,0,48,0,49,0,44,0,32,0,54,0,48,0,49,0,44,0,32,0,55,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,44,0,32,0,49,0,46,0,49,0,44,0,32,0,50,0,46,0,49,0,44,0,32,0,51,0,46,0,49,0,44,0,32,0,52,0,46,0,49,0,44,0,32,0,53,0,46,0,49,0,44,0,32,0,54,0,46,0,49,0,44,0,32,0,55,0,46,0,49,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,163,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,32,0,111,0,114,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,50,0,48,0,50,0,44,0,32,0,51,0,48,0,50,0,44,0,32,0,52,0,48,0,50,0,44,0,32,0,53,0,48,0,50,0,44,0,32,0,54,0,48,0,50,0,44,0,32,0,55,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,50,0,44,0,32,0,49,0,46,0,50,0,44,0,32,0,50,0,46,0,50,0,44,0,32,0,51,0,46,0,50,0,44,0,32,0,52,0,46,0,50,0,44,0,32,0,53,0,46,0,50,0,44,0,32,0,54,0,46,0,50,0,44,0,32,0,55,0,46,0,50,0,44,0,32,0,49,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,50,0,44,0,32,0,38,32,0,0,165,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,52,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,52,0,44,0,32,0,50,0,50,0,126,0,50,0,52,0,44,0,32,0,51,0,50,0,126,0,51,0,52,0,44,0,32,0,52,0,50,0,126,0,52,0,52,0,44,0,32,0,53,0,50,0,126,0,53,0,52,0,44,0,32,0,54,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,50,0,50,0,46,0,48,0,44,0,32,0,50,0,51,0,46,0,48,0,44,0,32,0,50,0,52,0,46,0,48,0,44,0,32,0,51,0,50,0,46,0,48,0,44,0,32,0,51,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,50,0,46,0,48,0,44,0,32,0,38,32,0,0,171,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,48,0,48,0,126,0,49,0,48,0,50,0,44,0,32,0,50,0,48,0,48,0,126,0,50,0,48,0,50,0,44,0,32,0,51,0,48,0,48,0,126,0,51,0,48,0,50,0,44,0,32,0,52,0,48,0,48,0,126,0,52,0,48,0,50,0,44,0,32,0,53,0,48,0,48,0,126,0,53,0,48,0,50,0,44,0,32,0,54,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,175,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,48,0,126,0,50,0,48,0,44,0,32,0,51,0,48,0,44,0,32,0,52,0,48,0,44,0,32,0,53,0,48,0,44,0,32,0,54,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,180,220,101,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,33,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,101,0,32,0,33,0,61,0,32,0,48,0,46,0,46,0,53,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,99,0,54,0,44,0,32,0,50,0,99,0,54,0,44,0,32,0,51,0,99,0,54,0,44,0,32,0,52,0,99,0,54,0,44,0,32,0,53,0,99,0,54,0,44,0,32,0,54,0,99,0,54,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,48,0,48,0,48,0,48,0,48,0,49,0,99,0,54,0,44,0,32,0,49,0,46,0,49,0,99,0,54,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,48,0,48,0,48,0,49,0,99,0,54,0,44,0,32,0,50,0,46,0,49,0,99,0,54,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,48,0,48,0,48,0,49,0,99,0,54,0,44,0,32,0,51,0,46,0,49,0,99,0,54,0,44,0,32,0,38,32,0,0,189,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,52,0,44,0,57,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,48,0,46,0,46,0,49,0,57,0,44,0,55,0,48,0,46,0,46,0,55,0,57,0,44,0,57,0,48,0,46,0,46,0,57,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,52,0,44,0,32,0,57,0,44,0,32,0,50,0,51,0,44,0,32,0,50,0,52,0,44,0,32,0,50,0,57,0,44,0,32,0,51,0,51,0,44,0,32,0,51,0,52,0,44,0,32,0,51,0,57,0,44,0,32,0,52,0,51,0,44,0,32,0,52,0,52,0,44,0,32,0,52,0,57,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,50,0,51,0,46,0,48,0,44,0,32,0,50,0,52,0,46,0,48,0,44,0,32,0,50,0,57,0,46,0,48,0,44,0,32,0,51,0,51,0,46,0,48,0,44,0,32,0,51,0,52,0,46,0,48,0,44,0,32,0,49,0,48,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,46,0,48,0,44,0,32,0,38,32,0,0,195,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,99,0,51,0,44,0,32,0,50,0,99,0,51,0,44,0,32,0,51,0,99,0,51,0,44,0,32,0,52,0,99,0,51,0,44,0,32,0,53,0,99,0,51,0,44,0,32,0,54,0,99,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,126,0,51,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,49,0,46,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,49,0,99,0,51,0,44,0,32,0,38,32,0,0,195,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,111,0,114,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,44,0,32,0,49,0,46,0,49,0,44,0,32,0,50,0,46,0,49,0,44,0,32,0,51,0,46,0,49,0,44,0,32,0,52,0,46,0,49,0,44,0,32,0,53,0,46,0,49,0,44,0,32,0,54,0,46,0,49,0,44,0,32,0,55,0,46,0,49,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,198,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,99,0,51,0,44,0,32,0,50,0,99,0,51,0,44,0,32,0,51,0,99,0,51,0,44,0,32,0,52,0,99,0,51,0,44,0,32,0,53,0,99,0,51,0,44,0,32,0,54,0,99,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,49,0,46,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,49,0,99,0,51,0,44,0,32,0,38,32,0,0,198,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,52,0,32,0,111,0,114,0,32,0,118,0,32,0,33,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,52,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,48,0,52,0,44,0,32,0,50,0,48,0,51,0,44,0,32,0,50,0,48,0,52,0,44,0,32,0,51,0,48,0,51,0,44,0,32,0,51,0,48,0,52,0,44,0,32,0,52,0,48,0,51,0,44,0,32,0,52,0,48,0,52,0,44,0,32,0,53,0,48,0,51,0,44,0,32,0,53,0,48,0,52,0,44,0,32,0,54,0,48,0,51,0,44,0,32,0,54,0,48,0,52,0,44,0,32,0,55,0,48,0,51,0,44,0,32,0,55,0,48,0,52,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,200,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,53,0,46,0,46,0,57,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,200,220,116,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,111,0,114,0,32,0,116,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,116,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,44,0,32,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,49,0,44,0,32,0,50,0,46,0,49,0,44,0,32,0,51,0,46,0,49,0,44,0,32,0,52,0,46,0,49,0,44,0,32,0,53,0,46,0,49,0,44,0,32,0,54,0,46,0,49,0,44,0,32,0,55,0,46,0,49,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,207,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,99,0,51,0,44,0,32,0,50,0,99,0,51,0,44,0,32,0,51,0,99,0,51,0,44,0,32,0,52,0,99,0,51,0,44,0,32,0,53,0,99,0,51,0,44,0,32,0,54,0,99,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,49,0,46,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,49,0,99,0,51,0,44,0,32,0,38,32,0,0,225,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,111,0,114,0,32,0,118,0,32,0,33,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,44,0,32,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,49,0,44,0,32,0,50,0,46,0,49,0,44,0,32,0,51,0,46,0,49,0,44,0,32,0,52,0,46,0,49,0,44,0,32,0,53,0,46,0,49,0,44,0,32,0,54,0,46,0,49,0,44,0,32,0,55,0,46,0,49,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,225,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,52,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,46,0,46,0,49,0,52,0,32,0,111,0,114,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,52,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,52,0,44,0,32,0,50,0,50,0,126,0,50,0,52,0,44,0,32,0,51,0,50,0,126,0,51,0,52,0,44,0,32,0,52,0,50,0,126,0,52,0,52,0,44,0,32,0,53,0,50,0,126,0,53,0,52,0,44,0,32,0,54,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,50,0,126,0,48,0,46,0,52,0,44,0,32,0,49,0,46,0,50,0,126,0,49,0,46,0,52,0,44,0,32,0,50,0,46,0,50,0,126,0,50,0,46,0,52,0,44,0,32,0,51,0,46,0,50,0,126,0,51,0,46,0,52,0,44,0,32,0,52,0,46,0,50,0,126,0,52,0,46,0,52,0,44,0,32,0,53,0,46,0,50,0,44,0,32,0,49,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,50,0,44,0,32,0,38,32,0,0,235,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,57,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,48,0,126,0,50,0,48,0,44,0,32,0,51,0,48,0,44,0,32,0,52,0,48,0,44,0,32,0,53,0,48,0,44,0,32,0,54,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,247,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,52,0,32,0,111,0,114,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,52,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,48,0,52,0,44,0,32,0,50,0,48,0,51,0,44,0,32,0,50,0,48,0,52,0,44,0,32,0,51,0,48,0,51,0,44,0,32,0,51,0,48,0,52,0,44,0,32,0,52,0,48,0,51,0,44,0,32,0,52,0,48,0,52,0,44,0,32,0,53,0,48,0,51,0,44,0,32,0,53,0,48,0,52,0,44,0,32,0,54,0,48,0,51,0,44,0,32,0,54,0,48,0,52,0,44,0,32,0,55,0,48,0,51,0,44,0,32,0,55,0,48,0,52,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,51,0,44,0,32,0,48,0,46,0,52,0,44,0,32,0,49,0,46,0,51,0,44,0,32,0,49,0,46,0,52,0,44,0,32,0,50,0,46,0,51,0,44,0,32,0,50,0,46,0,52,0,44,0,32,0,51,0,46,0,51,0,44,0,32,0,51,0,46,0,52,0,44,0,32,0,52,0,46,0,51,0,44,0,32,0,52,0,46,0,52,0,44,0,32,0,53,0,46,0,51,0,44,0,32,0,53,0,46,0,52,0,44,0,32,0,54,0,46,0,51,0,44,0,32,0,54,0,46,0,52,0,44,0,32,0,55,0,46,0,51,0,44,0,32,0,55,0,46,0,52,0,44,0,32,0,49,0,48,0,46,0,51,0,44,0,32,0,49,0,48,0,48,0,46,0,51,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,51,0,44,0,32,0,38,32,0,0,19,221,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,44,0,50,0,50,0,44,0,52,0,50,0,44,0,54,0,50,0,44,0,56,0,50,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,32,0,61,0,32,0,49,0,48,0,48,0,48,0,46,0,46,0,50,0,48,0,48,0,48,0,48,0,44,0,52,0,48,0,48,0,48,0,48,0,44,0,54,0,48,0,48,0,48,0,48,0,44,0,56,0,48,0,48,0,48,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,33,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,32,0,61,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,50,0,50,0,44,0,32,0,52,0,50,0,44,0,32,0,54,0,50,0,44,0,32,0,56,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,50,0,50,0,44,0,32,0,49,0,52,0,50,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,50,0,50,0,46,0,48,0,44,0,32,0,52,0,50,0,46,0,48,0,44,0,32,0,54,0,50,0,46,0,48,0,44,0,32,0,56,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,50,0,46,0,48,0,44,0,32,0,49,0,50,0,50,0,46,0,48,0,44,0,32,0,49,0,52,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,29,221,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,61,0,32,0,49,0,44,0,50,0,44,0,51,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,33,0,61,0,32,0,52,0,44,0,54,0,44,0,57,0,32,0,111,0,114,0,32,0,118,0,32,0,33,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,32,0,33,0,61,0,32,0,52,0,44,0,54,0,44,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,51,0,44,0,32,0,53,0,44,0,32,0,55,0,44,0,32,0,56,0,44,0,32,0,49,0,48,0,126,0,49,0,51,0,44,0,32,0,49,0,53,0,44,0,32,0,49,0,55,0,44,0,32,0,49,0,56,0,44,0,32,0,50,0,48,0,44,0,32,0,50,0,49,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,51,0,44,0,32,0,48,0,46,0,53,0,44,0,32,0,48,0,46,0,55,0,44,0,32,0,48,0,46,0,56,0,44,0,32,0,49,0,46,0,48,0,126,0,49,0,46,0,51,0,44,0,32,0,49,0,46,0,53,0,44,0,32,0,49,0,46,0,55,0,44,0,32,0,49,0,46,0,56,0,44,0,32,0,50,0,46,0,48,0,44,0,32,0,50,0,46,0,49,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,219,0,40,0,43,0,46,0,49,0,52,0,55,0,129,1,59,0,63,0,67,0,70,0,74,0,77,0,81,0,85,0,88,0,92,0,95,0,16,1,98,0,101,0,105,0,108,0,111,0,114,0,118,0,122,0,126,0,130,0,133,0,136,0,52,1,139,0,143,0,147,0,150,0,153,0,156,0,159,0,111,2,39,2,162,0,165,0,168,0,171,0,174,0,177,0,181,0,184,0,187,0,191,0,194,0,197,0,200,0,203,0,207,0,210,0,214,0,217,0,220,0,224,0,46,2,227,0,123,0,231,0,235,0,238,0,241,0,244,0,121,2,247,0,250,0,253,0,0,1,3,1,6,1,9,1,12,1,15,1,19,1,23,1,26,1,30,1,33,1,36,1,39,1,43,1,47,1,51,1,55,1,59,1,62,1,66,1,69,1,72,1,75,1,78,1,81,1,85,1,89,1,92,1,95,1,98,1,102,1,105,1,108,1,112,1,116,1,119,1,122,1,125,1,128,1,132,1,135,1,139,1,142,1,71,2,145,1,148,1,75,2,151,1,154,1,157,1,161,1,165,1,168,1,246,2,171,1,174,1,177,1,181,1,184,1,188,1,191,1,79,3,195,1,199,1,202,1,205,1,208,1,212,1,215,1,219,1,223,1,226,1,230,1,233,1,236,1,242,1,13,3,245,1,249,1,254,1,1,2,5,2,9,2,13,2,17,2,20,2,24,2,27,2,31,2,34,2,38,2,42,2,86,1,45,2,49,2,52,2,55,2,58,2,62,2,66,2,70,2,74,2,78,2,192,1,81,2,84,2,87,2,90,2,64,0,94,2,97,2,204,0,100,2,104,2,107,2,110,2,114,2,117,2,120,2,124,2,127,2,130,2,133,2,136,2,140,2,143,2,146,2,150,2,153,2,188,0,156,2,159,2,162,2,166,2,169,2,172,2,176,2,179,2,35,3,183,2,186,2,190,2,193,2,196,2,200,2,203,2,1,0,21,0,16,0,1,0,129,0,129,0,16,0,1,0,11,0,1,0,1,0,207,0,1,0,1,0,1,0,21,0,6,0,16,0,6,0,219,0,1,0,69,0,75,0,1,0,87,0,1,0,1,0,1,0,117,0,249,0,41,0,11,0,16,0,111,0,1,0,6,0,1,0,1,0,11,0,1,0,183,0,11,0,1,0,16,0,26,0,11,0,87,0,1,0,171,0,1,0,11,0,231,0,189,0,11,0,1,0,16,0,21,0,237,0,1,0,1,0,99,0,16,0,6,0,69,0,111,0,1,0,26,0,11,0,6,0,6,0,6,0,6,0,11,0,46,0,75,0,63,0,99,0,6,0,6,0,1,0,11,0,1,0,6,0,6,0,1,0,26,0,1,0,1,0,6,0,6,0,1,0,1,0,1,0,6,0,16,0,6,0,1,0,1,0,159,0,1,0,243,0,1,0,153,0,1,0,1,0,11,0,6,0,21,0,6,0,213,0,93,0,1,0,21,0,1,0,147,0,1,0,1,0,105,0,1,0,6,0,225,0,6,0,1,0,63,0,1,0,1,0,1,0,11,0,1,0,1,0,1,0,6,0,1,0,21,0,1,0,1,0,1,0,1,0,1,0,6,0,21,0,1,0,16,0,201,0,93,0,1,0,177,0,75,0,1,0,105,0,1,0,6,0,123,0,1,0,6,0,1,0,63,0,11,0,11,0,1,0,1,0,63,0,1,0,6,0,6,0,69,0,165,0,31,0,117,0,195,0,63,0,63,0,63,0,63,0,63,0,1,0,1,0,1,0,69,0,1,0,1,0,1,0,6,0,11,0,11,0,1,0,1,0,1,0,1,0,6,0,21,0,1,0,1,0,87,0,1,0,6,0,6,0,1,0,1,0,36,0,1,0,123,0,11,0,1,0,1,0,75,0,6,0,1,0,1,0,21,0,1,0,6,0,1,0,1,0,11,0,6,0,6,0,6,0,16,0,104,0,40,0,46,0,49,0,52,0,129,1,63,0,67,0,70,0,74,0,85,0,95,0,105,0,108,0,111,0,130,0,133,0,136,0,52,1,143,0,156,0,159,0,39,2,162,0,165,0,168,0,174,0,177,0,184,0,191,0,194,0,197,0,200,0,203,0,207,0,224,0,46,2,123,0,231,0,235,0,238,0,241,0,244,0,250,0,0,1,3,1,9,1,12,1,36,1,59,1,69,1,72,1,75,1,92,1,95,1,108,1,119,1,122,1,125,1,139,1,142,1,71,2,145,1,148,1,75,2,154,1,165,1,246,2,171,1,181,1,202,1,212,1,223,1,226,1,230,1,233,1,13,3,249,1,254,1,17,2,20,2,24,2,86,1,49,2,52,2,55,2,81,2,84,2,97,2,204,0,104,2,107,2,114,2,124,2,127,2,136,2,140,2,153,2,188,0,156,2,162,2,166,2,196,2,200,2,203,2,51,0,51,0,51,0,51,0,141,0,51,0,95,1,57,0,17,1,51,0,141,0,51,0,83,1,51,0,51,0,107,1,51,0,51,0,51,0,51,0,65,1,51,0,51,0,51,0,51,0,51,0,57,0,57,0,51,0,57,0,77,1,51,0,51,0,135,0,51,0,135,0,51,0,51,0,5,1,57,0,51,0,51,0,51,0,51,0,81,0,51,0,51,0,47,1,35,1,51,0,51,0,51,0,59,1,51,0,41,1,57,0,51,0,51,0,89,1,51,0,51,0,57,0,71,1,57,0,51,0,51,0,11,1,51,0,51,0,101,1,51,0,51,0,51,0,51,0,51,0,57,0,51,0,51,0,81,0,81,0,51,0,51,0,51,0,51,0,51,0,53,1,51,0,255,0,51,0,51,0,51,0,51,0,29,1,57,0,51,0,51,0,23,1,51,0,51,0,81,0,57,0,51,0,51,0,51,0,1,0,234,2,168,24,2,0,245,2,234,2,242,7,37,25,2,0,245,2,234,2,229,50,44,37,2,0,245,2,234,2,96,60,162,25,3,0,245,2,234,2,11,3,159,55,250,16,101,57,3,0,245,2,234,2,11,3,232,3,43,24,76,4,3,0,245,2,234,2,11,3,24,4,38,29,76,4,3,0,245,2,234,2,34,3,240,11,28,27,173,2,3,0,245,2,234,2,34,3,24,4,94,33,128,4,3,0,50,3,245,2,234,2,55,23,242,7,184,30,3,0,50,3,245,2,234,2,36,41,146,2,245,5,3,0,50,3,245,2,234,2,130,56,229,50,185,41,2,0,245,2,234,2,73,3,43,24,3,0,77,3,245,2,234,2,171,48,73,3,32,50,3,0,77,3,245,2,234,2,171,48,152,3,32,50,3,0,77,3,245,2,234,2,171,48,146,2,170,51,3,0,77,3,245,2,234,2,171,48,24,4,206,54,4,0,50,3,245,2,234,2,34,3,77,32,195,13,113,34,19,14,4,0,50,3,245,2,234,2,34,3,114,52,215,12,14,7,37,13,4,0,50,3,245,2,234,2,34,3,82,58,92,45,185,41,1,46,4,0,50,3,77,3,245,2,234,2,228,2,99,14,146,2,14,7,4,0,50,3,77,3,245,2,234,2,47,19,144,40,146,2,15,11,4,0,50,3,77,3,245,2,234,2,166,46,58,53,128,43,28,5,2,0,245,2,234,2,146,2,156,26,4,0,50,3,77,3,245,2,234,2,186,37,83,9,188,44,250,47,4,0,50,3,77,3,245,2,234,2,47,19,50,30,167,17,15,11,5,0,50,3,77,3,245,2,234,2,34,3,97,49,153,19,80,42,176,23,232,42,5,0,50,3,77,3,245,2,234,2,34,3,161,28,31,26,24,4,63,31,128,4,5,0,50,3,77,3,245,2,234,2,34,3,198,31,17,36,24,4,231,33,128,4,5,0,50,3,77,3,245,2,234,2,34,3,6,20,99,14,90,11,112,3,165,11,6,0,50,3,77,3,245,2,234,2,34,3,11,3,216,38,28,44,24,4,99,18,75,59,76,4,6,0,50,3,77,3,245,2,234,2,34,3,11,3,229,20,190,22,24,4,77,47,128,4,76,4,6,0,50,3,77,3,245,2,234,2,34,3,11,3,180,4,232,4,24,4,133,35,128,4,76,4,1,0,234,2,82,5,2,0,245,2,234,2,156,27,172,29,2,0,245,2,234,2,208,21,156,6,2,0,245,2,234,2,113,1,99,6,2,0,245,2,234,2,242,1,143,9,2,0,245,2,234,2,8,2,14,7,2,0,50,3,234,2,71,22,219,8,2,0,50,3,234,2,180,14,160,8,2,0,50,3,234,2,115,13,137,12,2,0,77,3,234,2,73,38,136,5,2,0,77,3,234,2,192,3,204,10,2,0,77,3,234,2,185,7,204,10,2,0,245,2,234,2,166,16,38,29,3,0,77,3,245,2,234,2,138,10,181,1,44,6,3,0,77,3,245,2,234,2,83,16,113,1,11,10,3,0,77,3,245,2,234,2,60,12,199,18,71,7,4,0,50,3,245,2,234,2,34,3,180,14,173,15,213,6,0,16,4,0,50,3,245,2,234,2,34,3,130,1,113,1,14,7,198,1,4,0,50,3,245,2,234,2,34,3,122,2,74,2,74,10,98,2,4,0,50,3,245,2,234,2,34,3,130,1,220,1,14,7,164,1,4,0,77,3,245,2,234,2,34,3,89,21,7,15,205,9,90,15,4,0,50,3,77,3,245,2,234,2,252,39,4,18,116,20,80,17,5,0,50,3,77,3,245,2,234,2,34,3,130,1,147,1,113,1,23,9,198,1,2,0,245,2,234,2,105,39,251,34,5,0,50,3,77,3,245,2,234,2,34,3,130,1,147,1,36,3,102,8,198,1,5,0,50,3,77,3,245,2,234,2,34,3,130,1,147,1,4,3,44,8,198,1,6,0,50,3,77,3,245,2,234,2,34,3,11,3,30,2,52,2,113,1,190,5,164,1,200,2,2,0,245,2,234,2,24,4,213,32,2,0,245,2,234,2,128,7,28,28,2,0,245,2,234,2,4,54,158,36,63,0,229,2,240,2,249,2,255,2,5,3,16,3,22,3,28,3,38,3,44,3,54,3,60,3,66,3,71,3,82,3,88,3,94,3,100,3,106,3,112,3,118,3,124,3,130,3,136,3,141,3,147,3,153,3,159,3,165,3,171,3,177,3,183,3,189,3,195,3,201,3,206,3,212,3,218,3,224,3,230,3,236,3,242,3,248,3,254,3,4,4,10,4,15,4,21,4,27,4,33,4,39,4,45,4,51,4,57,4,63,4,69,4,75,4,80,4,86,4,92,4,98,4,103,4,108,4,7,64,0,80,10,64,0,80,15,64,0,80,20,64,0,80,25,64,0,80,32,64,0,80,39,64,0,80,46,64,0,80,53,64,0,80,60,64,0,80,67,64,0,80,74,64,0,80,81,64,0,80,86,64,0,80,93,64,0,80,100,64,0,80,107,64,0,80,114,64,0,80,123,64,0,80,132,64,0,80,141,64,0,80,150,64,0,80,159,64,0,80,168,64,0,80,173,64,0,80,182,64,0,80,191,64,0,80,202,64,0,80,213,64,0,80,224,64,0,80,235,64,0,80,248,64,0,80,5,65,0,80,18,65,0,80,21,65,0,80,26,65,0,80,31,65,0,80,36,65,0,80,41,65,0,80,46,65,0,80,51,65,0,80,56,65,0,80,61,65,0,80,66,65,0,80,71,65,0,80,76,65,0,80,81,65,0,80,88,65,0,80,95,65,0,80,102,65,0,80,111,65,0,80,120,65,0,80,129,65,0,80,138,65,0,80,147,65,0,80,156,65,0,80,167,65,0,80,172,65,0,80,183,65,0,80,194,65,0,80,207,65,0,80,212,65,0,80,217,65,0,80,3,0,32,0,206,2,223,2,127,61,0,80,54,63,0,80,12,34,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,131,235,0,32,7,0,0,0,48,6,0,0,160,235,0,0,160,235,0,0,23,3,0,0,1,0,0,0,129,161,0,0,99,97,108,101,110,100,97,114,68,97,116,97,0,98,117,100,100,104,105,115,116,0,101,114,97,115,0,115,116,97,114,116,0,115,121,115,116,101,109,0,99,104,105,110,101,115,101,0,99,111,112,116,105,99,0,101,110,100,0,100,97,110,103,105,0,101,116,104,105,111,112,105,99,0,101,116,104,105,111,112,105,99,45,97,109,101,116,101,45,97,108,101,109,0,103,114,101,103,111,114,105,97,110,0,104,101,98,114,101,119,0,105,110,100,105,97,110,0,105,115,108,97,109,105,99,0,105,115,108,97,109,105,99,45,99,105,118,105,108,0,105,115,108,97,109,105,99,45,114,103,115,97,0,105,115,108,97,109,105,99,45,116,98,108,97,0,105,115,108,97,109,105,99,45,117,109,97,108,113,117,114,97,0,106,97,112,97,110,101,115,101,0,49,48,48,0,49,48,49,0,49,48,50,0,49,48,51,0,49,48,52,0,49,48,53,0,49,48,54,0,49,48,55,0,49,48,56,0,49,48,57,0,49,49,48,0,49,49,49,0,49,49,50,0,49,49,51,0,49,49,52,0,49,49,53,0,49,49,54,0,49,49,55,0,49,49,56,0,49,49,57,0,49,50,48,0,49,50,49,0,49,50,50,0,49,50,51,0,49,50,52,0,49,50,53,0,49,50,54,0,49,50,55,0,49,50,56,0,49,50,57,0,49,51,48,0,49,51,49,0,49,51,50,0,49,51,51,0,49,51,52,0,49,51,53,0,49,51,54,0,49,51,55,0,49,51,56,0,49,51,57,0,49,52,48,0,49,52,49,0,49,52,50,0,49,52,51,0,49,52,52,0,49,52,53,0,49,52,54,0,49,52,55,0,49,52,56,0,49,52,57,0,49,53,49,0,49,53,50,0,49,53,51,0,49,53,52,0,49,53,53,0,49,53,54,0,49,53,55,0,49,53,56,0,49,53,57,0,49,54,48,0,49,54,49,0,49,54,50,0,49,54,51,0,49,54,52,0,49,54,53,0,49,54,54,0,49,54,55,0,49,54,56,0,49,54,57,0,49,55,48,0,49,55,49,0,49,55,50,0,49,55,51,0,49,55,52,0,49,55,53,0,49,55,54,0,49,55,55,0,49,55,56,0,49,55,57,0,49,56,48,0,49,56,49,0,49,56,50,0,49,56,51,0,49,56,52,0,49,56,53,0,49,56,54,0,49,56,55,0,49,56,56,0,49,56,57,0,49,57,48,0,49,57,49,0,49,57,50,0,49,57,51,0,49,57,52,0,49,57,53,0,49,57,54,0,49,57,55,0,49,57,56,0,49,57,57,0,50,48,48,0,50,48,49,0,50,48,50,0,50,48,51,0,50,48,52,0,50,48,53,0,50,48,54,0,50,48,55,0,50,48,56,0,50,48,57,0,50,49,48,0,50,49,49,0,50,49,50,0,50,49,51,0,50,49,52,0,50,49,53,0,50,49,54,0,50,49,55,0,50,49,56,0,50,49,57,0,50,50,48,0,50,50,49,0,50,50,50,0,50,50,51,0,50,50,52,0,50,50,53,0,50,50,54,0,50,50,55,0,50,50,56,0,50,50,57,0,50,51,48,0,50,51,49,0,50,51,50,0,50,51,51,0,50,51,52,0,50,51,53,0,50,51,54,0,112,101,114,115,105,97,110,0,114,111,99,0,99,97,108,101,110,100,97,114,80,114,101,102,101,114,101,110,99,101,68,97,116,97,0,65,69,0,65,70,0,65,76,0,65,90,0,66,68,0,66,72,0,67,78,0,67,88,0,68,74,0,68,90,0,69,71,0,69,72,0,69,82,0,69,84,0,73,68,0,73,76,0,73,81,0,73,82,0,74,79,0,74,80,0,75,77,0,75,82,0,75,87,0,76,66,0,76,89,0,77,65,0,77,79,0,77,82,0,77,86,0,77,89,0,78,69,0,79,77,0,80,75,0,80,83,0,81,65,0,83,65,0,83,68,0,83,71,0,83,89,0,84,68,0,84,72,0,84,74,0,84,77,0,84,78,0,84,82,0,85,90,0,88,75,0,89,69,0,99,108,100,114,86,101,114,115,105,111,110,0,99,111,100,101,77,97,112,112,105,110,103,115,0,99,111,100,101,77,97,112,112,105,110,103,115,67,117,114,114,101,110,99,121,0,105,100,86,97,108,105,100,105,116,121,0,99,117,114,114,101,110,99,121,0,100,101,112,114,101,99,97,116,101,100,0,114,101,103,117,108,97,114,0,117,110,107,110,111,119,110,0,108,97,110,103,117,97,103,101,0,112,114,105,118,97,116,101,95,117,115,101,0,114,101,115,101,114,118,101,100,0,115,112,101,99,105,97,108,0,109,97,99,114,111,114,101,103,105,111,110,0,115,99,114,105,112,116,0,115,117,98,100,105,118,105,115,105,111,110,0,117,110,105,116,0,108,97,110,103,117,97,103,101,68,97,116,97,0,112,114,105,109,97,114,121,0,115,99,114,105,112,116,115,0,115,101,99,111,110,100,97,114,121,0,116,101,114,114,105,116,111,114,105,101,115,0,97,98,113,0,97,98,114,0,97,99,101,0,97,99,104,0,97,100,97,0,97,100,121,0,97,101,98,0,97,103,113,0,97,105,105,0,97,105,110,0,97,107,107,0,97,107,122,0,97,108,101,0,97,108,110,0,97,108,116,0,97,109,111,0,97,110,103,0,97,110,110,0,97,110,112,0,97,111,122,0,97,114,99,0,97,114,110,0,97,114,111,0,97,114,112,0,97,114,113,0,97,114,115,0,97,114,119,0,97,114,122,0,97,115,97,0,97,115,116,0,97,116,106,0,97,118,107,0,97,119,97,0,98,97,108,0,98,97,110,0,98,97,112,0,98,97,114,0,98,97,115,0,98,97,120,0,98,98,99,0,98,98,106,0,98,99,105,0,98,101,106,0,98,101,109,0,98,101,119,0,98,101,122,0,98,102,100,0,98,102,113,0,98,102,116,0,98,102,121,0,98,103,0,98,103,99,0,98,103,110,0,98,103,120,0,98,104,98,0,98,104,105,0,98,104,111,0,98,105,0,98,105,107,0,98,105,110,0,98,106,106,0,98,106,110,0,98,106,116,0,98,107,109,0,98,107,117,0,98,108,116,0,98,109,113,0,98,110,0,98,112,121,0,98,113,105,0,98,113,118,0,98,114,97,0,98,114,104,0,98,114,120,0,98,115,0,98,115,99,0,98,115,115,0,98,116,111,0,98,116,118,0,98,117,97,0,98,117,99,0,98,117,103,0,98,117,109,0,98,118,98,0,98,121,110,0,98,121,118,0,98,122,101,0,98,122,120,0,99,97,100,0,99,97,114,0,99,97,121,0,99,99,104,0,99,99,112,0,99,101,98,0,99,103,103,0,99,104,107,0,99,104,109,0,99,104,110,0,99,104,111,0,99,104,112,0,99,104,114,0,99,104,121,0,99,105,99,0,99,106,97,0,99,106,109,0,99,106,115,0,99,107,98,0,99,107,116,0,99,108,99,0,99,111,112,0,99,112,115,0,99,114,103,0,99,114,104,0,99,114,106,0,99,114,107,0,99,114,108,0,99,114,109,0,99,114,115,0,99,115,98,0,99,115,119,0,99,116,100,0,99,117,0,99,118,0,100,97,107,0,100,97,114,0,100,97,118,0,100,99,99,0,100,101,108,0,100,101,110,0,100,103,114,0,100,105,110,0,100,106,101,0,100,110,103,0,100,110,106,0,100,111,105,0,100,115,98,0,100,116,109,0,100,116,112,0,100,116,121,0,100,117,97,0,100,117,109,0,100,118,0,100,121,111,0,100,121,117,0,100,122,0,101,98,117,0,101,102,105,0,101,103,108,0,101,103,121,0,101,107,97,0,101,107,121,0,101,110,109,0,101,115,117,0,101,116,116,0,101,118,110,0,101,119,111,0,101,120,116,0,102,97,110,0,102,98,108,0,102,102,0,102,102,109,0,102,105,97,0,102,105,108,0,102,105,116,0,102,106,0,102,111,110,0,102,114,99,0,102,114,109,0,102,114,111,0,102,114,112,0,102,114,114,0,102,114,115,0,102,117,100,0,102,117,113,0,102,117,114,0,102,117,118,0,102,118,114,0,103,97,97,0,103,97,103,0,103,97,110,0,103,97,121,0,103,98,97,0,103,98,109,0,103,98,122,0,103,99,114,0,103,100,0,103,101,122,0,103,105,108,0,103,106,107,0,103,106,117,0,103,108,100,0,103,108,107,0,103,109,104,0,103,111,104,0,103,111,109,0,103,111,110,0,103,111,114,0,103,111,115,0,103,111,116,0,103,114,98,0,103,114,99,0,103,114,116,0,103,115,119,0,103,117,0,103,117,98,0,103,117,99,0,103,117,114,0,103,117,122,0,103,118,0,103,118,114,0,103,119,105,0,104,97,105,0,104,97,107,0,104,97,122,0,104,105,102,0,104,105,108,0,104,105,116,0,104,109,100,0,104,109,110,0,104,110,100,0,104,110,101,0,104,110,106,0,104,110,110,0,104,110,111,0,104,111,99,0,104,111,106,0,104,111,112,0,104,115,98,0,104,115,110,0,104,117,0,104,117,112,0,104,117,114,0,104,122,0,105,98,97,0,105,98,98,0,105,102,101,0,105,107,116,0,105,108,111,0,105,110,104,0,105,122,104,0,106,97,109,0,106,103,111,0,106,109,99,0,106,109,108,0,106,112,114,0,106,114,98,0,106,117,116,0,106,118,0,107,97,97,0,107,97,98,0,107,97,99,0,107,97,106,0,107,97,109,0,107,97,111,0,107,98,100,0,107,99,97,0,107,99,103,0,107,99,107,0,107,100,101,0,107,100,116,0,107,101,97,0,107,102,111,0,107,102,114,0,107,102,121,0,107,103,0,107,103,101,0,107,103,112,0,107,104,97,0,107,104,98,0,107,104,110,0,107,104,113,0,107,104,116,0,107,104,119,0,107,105,117,0,107,106,103,0,107,106,104,0,107,107,106,0,107,108,110,0,107,109,98,0,107,110,0,107,110,102,0,107,111,105,0,107,111,107,0,107,111,115,0,107,112,101,0,107,112,121,0,107,114,99,0,107,114,105,0,107,114,106,0,107,114,108,0,107,114,117,0,107,115,0,107,115,98,0,107,115,102,0,107,115,104,0,107,117,109,0,107,117,116,0,107,118,0,107,118,114,0,107,118,120,0,107,119,0,107,119,107,0,107,120,109,0,107,120,112,0,107,121,117,0,108,97,98,0,108,97,100,0,108,97,103,0,108,97,104,0,108,97,106,0,108,97,109,0,108,98,0,108,98,101,0,108,98,119,0,108,99,112,0,108,101,112,0,108,101,122,0,108,102,110,0,108,105,102,0,108,105,106,0,108,105,108,0,108,105,115,0,108,105,118,0,108,106,112,0,108,107,105,0,108,107,116,0,108,109,110,0,108,109,111,0,108,111,108,0,108,111,122,0,108,114,99,0,108,116,103,0,108,117,0,108,117,97,0,108,117,105,0,108,117,110,0,108,117,111,0,108,117,115,0,108,117,116,0,108,117,121,0,108,117,122,0,108,118,0,108,119,108,0,108,122,104,0,108,122,122,0,109,97,100,0,109,97,102,0,109,97,103,0,109,97,105,0,109,97,107,0,109,97,110,0,109,97,115,0,109,97,122,0,109,100,102,0,109,100,104,0,109,100,114,0,109,100,116,0,109,101,110,0,109,101,114,0,109,101,121,0,109,102,97,0,109,102,101,0,109,102,118,0,109,103,104,0,109,103,111,0,109,103,112,0,109,103,121,0,109,105,110,0,109,107,0,109,108,115,0,109,110,99,0,109,110,105,0,109,110,115,0,109,110,119,0,109,111,101,0,109,111,104,0,109,111,115,0,109,114,100,0,109,114,106,0,109,114,111,0,109,116,114,0,109,117,97,0,109,117,115,0,109,118,121,0,109,119,107,0,109,119,108,0,109,119,114,0,109,119,118,0,109,120,99,0,109,121,0,109,121,118,0,109,121,120,0,109,121,122,0,109,122,110,0,110,97,110,0,110,97,112,0,110,99,104,0,110,100,99,0,110,100,115,0,110,101,119,0,110,103,108,0,110,104,101,0,110,104,119,0,110,105,97,0,110,105,106,0,110,105,117,0,110,106,111,0,110,109,103,0,110,110,104,0,110,111,100,0,110,111,101,0,110,111,103,0,110,111,110,0,110,111,118,0,110,113,111,0,110,115,107,0,110,115,111,0,110,117,115,0,110,118,0,110,120,113,0,110,121,0,110,121,109,0,110,121,110,0,110,121,111,0,110,122,105,0,111,106,115,0,111,107,97,0,111,115,97,0,111,115,99,0,111,116,107,0,112,97,0,112,97,103,0,112,97,108,0,112,97,109,0,112,97,112,0,112,97,117,0,112,99,100,0,112,99,109,0,112,100,99,0,112,100,116,0,112,101,111,0,112,102,108,0,112,104,110,0,112,105,115,0,112,107,111,0,112,108,0,112,109,115,0,112,110,116,0,112,111,110,0,112,113,109,0,112,114,100,0,112,114,103,0,112,114,111,0,112,117,117,0,113,117,0,113,117,99,0,113,117,103,0,114,97,106,0,114,97,112,0,114,97,114,0,114,99,102,0,114,101,106,0,114,103,110,0,114,104,103,0,114,105,97,0,114,105,102,0,114,106,115,0,114,107,116,0,114,109,102,0,114,109,111,0,114,109,116,0,114,109,117,0,114,110,103,0,114,111,98,0,114,111,102,0,114,111,109,0,114,116,109,0,114,117,101,0,114,117,103,0,114,117,112,0,114,119,107,0,114,121,117,0,115,97,100,0,115,97,102,0,115,97,104,0,115,97,109,0,115,97,113,0,115,97,116,0,115,97,118,0,115,97,122,0,115,98,112,0,115,99,107,0,115,99,111,0,115,99,115,0,115,100,99,0,115,100,104,0,115,101,101,0,115,101,102,0,115,101,104,0,115,101,105,0,115,101,108,0,115,101,115,0,115,103,115,0,115,104,105,0,115,104,110,0,115,105,100,0,115,107,114,0,115,108,105,0,115,108,121,0,115,109,97,0,115,109,106,0,115,109,110,0,115,109,112,0,115,109,115,0,115,110,102,0,115,110,107,0,115,111,117,0,115,113,0,115,114,98,0,115,114,110,0,115,114,114,0,115,114,120,0,115,115,121,0,115,116,113,0,115,117,107,0,115,117,115,0,115,118,0,115,119,98,0,115,119,103,0,115,119,118,0,115,120,110,0,115,121,105,0,115,121,108,0,115,121,114,0,115,122,108,0,116,97,98,0,116,97,106,0,116,98,119,0,116,99,121,0,116,100,100,0,116,100,103,0,116,100,104,0,116,101,111,0,116,101,114,0,116,101,116,0,116,104,0,116,104,108,0,116,104,113,0,116,104,114,0,116,105,0,116,105,103,0,116,105,118,0,116,107,114,0,116,107,116,0,116,108,105,0,116,108,121,0,116,109,104,0,116,110,114,0,116,111,103,0,116,111,107,0,116,112,105,0,116,114,117,0,116,114,118,0,116,114,119,0,116,115,100,0,116,115,103,0,116,115,105,0,116,115,106,0,116,116,106,0,116,116,115,0,116,116,116,0,116,117,109,0,116,119,113,0,116,121,118,0,116,122,109,0,117,100,101,0,117,100,109,0,117,103,97,0,117,108,105,0,117,109,98,0,117,110,100,0,117,110,114,0,117,110,120,0,118,97,105,0,118,101,0,118,101,99,0,118,101,112,0,118,105,0,118,105,99,0,118,108,115,0,118,109,102,0,118,109,119,0,118,111,116,0,118,114,111,0,118,117,110,0,119,97,101,0,119,97,114,0,119,97,115,0,119,98,112,0,119,98,113,0,119,98,114,0,119,110,105,0,119,116,109,0,119,117,117,0,120,97,108,0,120,97,118,0,120,99,114,0,120,104,0,120,108,99,0,120,108,100,0,120,109,102,0,120,109,110,0,120,109,114,0,120,110,97,0,120,110,114,0,120,111,103,0,120,112,114,0,120,115,97,0,120,115,114,0,120,117,109,0,121,97,111,0,121,97,112,0,121,97,118,0,121,98,98,0,121,114,107,0,121,117,97,0,121,117,101,0,122,97,103,0,122,97,112,0,122,100,106,0,122,101,97,0,122,101,110,0,122,103,104,0,122,109,105,0,122,117,0,122,117,110,0,122,122,97,0,108,97,110,103,117,97,103,101,77,97,116,99,104,105,110,103,73,110,102,111,0,119,114,105,116,116,101,110,0,109,97,116,99,104,86,97,114,105,97,98,108,101,0,97,109,101,114,105,99,97,115,0,99,110,115,97,114,0,101,110,85,83,0,109,97,103,104,114,101,98,0,112,97,114,97,100,105,103,109,76,111,99,97,108,101,115,0,108,97,110,103,117,97,103,101,77,97,116,99,104,105,110,103,78,101,119,0,109,101,97,115,117,114,101,109,101,110,116,68,97,116,97,0,77,101,97,115,117,114,101,109,101,110,116,83,121,115,116,101,109,0,80,97,112,101,114,83,105,122,101,0,66,83,0,77,101,97,115,117,114,101,109,101,110,116,83,121,115,116,101,109,67,97,116,101,103,111,114,121,0,116,101,109,112,101,114,97,116,117,114,101,0,66,90,0,67,76,0,67,79,0,67,82,0,71,66,0,71,84,0,75,89,0,76,82,0,77,77,0,77,88,0,78,73,0,80,65,0,80,72,0,80,82,0,80,87,0,83,86,0,86,69,0,112,97,114,101,110,116,76,111,99,97,108,101,115,0,101,110,95,48,48,49,0,101,110,95,49,53,48,0,101,110,95,73,78,0,101,115,95,52,49,57,0,102,114,95,72,84,0,112,116,95,80,84,0,114,111,111,116,0,122,104,95,72,97,110,116,95,72,75,0,112,101,114,115,111,110,78,97,109,101,115,68,101,102,97,117,108,116,115,0,110,97,109,101,79,114,100,101,114,76,111,99,97,108,101,115,68,101,102,97,117,108,116,0,103,105,118,101,110,70,105,114,115,116,0,115,117,114,110,97,109,101,70,105,114,115,116,0,115,117,98,100,105,118,105,115,105,111,110,67,111,110,116,97,105,110,109,101,110,116,0,65,68,0,65,71,0,65,77,0,65,79,0,65,82,0,65,84,0,65,85,0,66,65,0,66,66,0,66,69,0,66,70,0,66,71,0,66,73,0,66,74,0,66,78,0,66,81,0,66,84,0,66,87,0,66,89,0,67,68,0,67,70,0,67,71,0,67,73,0,67,77,0,67,85,0,67,86,0,67,89,0,67,90,0,68,69,0,68,75,0,68,77,0,68,79,0,69,69,0,70,73,0,70,74,0,70,77,0,70,82,0,71,65,0,71,68,0,71,69,0,71,72,0,71,76,0,71,77,0,71,78,0,71,82,0,71,87,0,71,89,0,72,78,0,72,82,0,72,85,0,73,69,0,73,83,0,74,77,0,75,69,0,75,71,0,75,72,0,75,73,0,75,78,0,75,80,0,75,90,0,76,65,0,76,67,0,76,73,0,76,75,0,76,83,0,76,84,0,76,85,0,76,86,0,77,67,0,77,68,0,77,69,0,77,71,0,77,72,0,77,75,0,77,76,0,77,78,0,77,84,0,77,85,0,77,87,0,77,90,0,78,65,0,78,71,0,78,76,0,78,79,0,78,80,0,78,82,0,78,90,0,80,71,0,80,76,0,80,89,0,82,79,0,82,83,0,82,85,0,82,87,0,83,66,0,83,67,0,83,69,0,83,72,0,83,73,0,83,75,0,83,76,0,83,77,0,83,78,0,83,79,0,83,82,0,83,83,0,83,84,0,83,90,0,84,71,0,84,76,0,84,79,0,84,84,0,84,86,0,84,90,0,85,65,0,85,71,0,85,77,0,85,89,0,86,67,0,86,78,0,86,85,0,87,70,0,87,83,0,90,77,0,90,87,0,97,122,110,120,0,98,100,97,0,98,100,98,0,98,100,99,0,98,100,100,0,98,100,101,0,98,100,102,0,98,100,103,0,98,100,104,0,98,101,118,108,103,0,98,101,119,97,108,0,98,102,48,49,0,98,102,48,50,0,98,102,48,51,0,98,102,48,52,0,98,102,48,53,0,98,102,48,54,0,98,102,48,55,0,98,102,48,56,0,98,102,48,57,0,98,102,49,48,0,98,102,49,49,0,98,102,49,50,0,98,102,49,51,0,99,118,98,0,99,118,115,0,99,122,50,48,0,99,122,51,49,0,99,122,51,50,0,99,122,52,49,0,99,122,52,50,0,99,122,53,49,0,99,122,53,50,0,99,122,53,51,0,99,122,54,51,0,99,122,54,52,0,99,122,55,49,0,99,122,55,50,0,99,122,56,48,0,100,111,51,51,0,100,111,51,52,0,100,111,51,53,0,100,111,51,54,0,100,111,51,55,0,100,111,51,56,0,100,111,51,57,0,100,111,52,48,0,100,111,52,49,0,100,111,52,50,0,101,101,51,55,0,101,101,51,57,0,101,101,52,53,0,101,101,53,48,0,101,101,53,50,0,101,101,53,54,0,101,101,54,48,0,101,101,54,52,0,101,101,54,56,0,101,101,55,49,0,101,101,55,52,0,101,101,55,57,0,101,101,56,49,0,101,101,56,52,0,101,101,56,55,0,101,115,97,110,0,101,115,97,114,0,101,115,97,115,0,101,115,99,98,0,101,115,99,108,0,101,115,99,109,0,101,115,99,110,0,101,115,99,116,0,101,115,101,120,0,101,115,103,97,0,101,115,105,98,0,101,115,109,99,0,101,115,109,100,0,101,115,110,99,0,101,115,112,118,0,101,115,114,105,0,101,115,118,99,0,102,106,99,0,102,106,101,0,102,106,110,0,102,106,119,0,102,114,50,48,114,0,102,114,97,114,97,0,102,114,98,102,99,0,102,114,98,114,101,0,102,114,99,118,108,0,102,114,103,101,115,0,102,114,104,100,102,0,102,114,105,100,102,0,102,114,110,97,113,0,102,114,110,111,114,0,102,114,111,99,99,0,102,114,112,97,99,0,102,114,112,100,108,0,103,98,101,110,103,0,103,98,110,105,114,0,103,98,115,99,116,0,103,98,119,108,115,0,103,110,98,0,103,110,100,0,103,110,102,0,103,110,107,0,103,110,108,0,103,110,109,0,103,110,110,0,103,113,99,0,103,113,105,0,103,119,108,0,103,119,110,0,103,119,115,0,105,100,106,119,0,105,100,107,97,0,105,100,109,108,0,105,100,110,117,0,105,100,112,112,0,105,100,115,108,0,105,100,115,109,0,105,101,99,0,105,101,108,0,105,101,109,0,105,101,117,0,105,113,107,114,0,105,115,49,0,105,115,50,0,105,115,51,0,105,115,52,0,105,115,53,0,105,115,54,0,105,115,55,0,105,115,56,0,105,116,50,49,0,105,116,50,53,0,105,116,51,50,0,105,116,51,52,0,105,116,51,54,0,105,116,52,50,0,105,116,52,53,0,105,116,53,50,0,105,116,53,53,0,105,116,53,55,0,105,116,54,50,0,105,116,54,53,0,105,116,54,55,0,105,116,55,50,0,105,116,55,53,0,105,116,55,55,0,105,116,55,56,0,105,116,56,50,0,105,116,56,56,0,107,110,107,0,107,110,110,0,108,107,49,0,108,107,50,0,108,107,51,0,108,107,52,0,108,107,53,0,108,107,54,0,108,107,55,0,108,107,56,0,108,107,57,0,108,116,97,108,0,108,116,107,108,0,108,116,107,117,0,108,116,109,114,0,108,116,112,110,0,108,116,115,97,0,108,116,116,97,0,108,116,116,101,0,108,116,117,116,0,108,116,118,108,0,109,97,48,49,0,109,97,48,50,0,109,97,48,51,0,109,97,48,52,0,109,97,48,53,0,109,97,48,54,0,109,97,48,55,0,109,97,48,56,0,109,97,48,57,0,109,97,49,48,0,109,97,49,49,0,109,97,49,50,0,109,104,108,0,109,104,116,0,109,119,99,0,109,119,110,0,109,119,115,0,110,112,49,0,110,112,50,0,110,112,51,0,110,112,52,0,110,112,53,0,112,104,48,49,0,112,104,48,50,0,112,104,48,51,0,112,104,48,53,0,112,104,48,54,0,112,104,48,55,0,112,104,48,56,0,112,104,48,57,0,112,104,49,48,0,112,104,49,49,0,112,104,49,50,0,112,104,49,51,0,112,104,49,52,0,112,104,49,53,0,112,104,52,48,0,112,104,52,49,0,114,115,107,109,0,114,115,118,111,0,117,103,99,0,117,103,101,0,117,103,110,0,117,103,119,0,116,101,114,114,105,116,111,114,121,67,111,110,116,97,105,110,109,101,110,116,0,48,48,50,0,48,48,53,0,48,48,57,0,48,49,49,0,48,49,51,0,48,49,52,0,48,49,53,0,48,49,55,0,48,49,56,0,48,49,57,0,48,50,49,0,48,50,57,0,48,51,48,0,48,51,52,0,48,51,53,0,48,51,57,0,48,53,51,0,48,53,52,0,48,53,55,0,48,54,49,0,81,79,0,99,111,110,116,97,105,110,101,100,71,114,111,117,112,105,110,103,115,0,103,114,111,117,112,105,110,103,0,48,48,51,0,69,85,0,69,90,0,85,78,0,116,101,114,114,105,116,111,114,121,73,110,102,111,0,65,67,0,112,111,112,117,108,97,116,105,111,110,83,104,97,114,101,70,0,116,101,114,114,105,116,111,114,121,70,0,111,102,102,105,99,105,97,108,83,116,97,116,117,115,0,119,114,105,116,105,110,103,83,104,97,114,101,70,0,107,107,95,65,114,97,98,0,117,122,95,65,114,97,98,0,65,73,0,108,105,116,101,114,97,99,121,83,104,97,114,101,70,0,65,81,0,65,83,0,122,104,95,72,97,110,116,0,65,87,0,65,88,0,97,122,95,67,121,114,108,0,98,115,95,67,121,114,108,0,115,114,95,76,97,116,110,0,102,102,95,65,100,108,109,0,66,76,0,66,77,0,109,115,95,65,114,97,98,0,66,86,0,105,117,95,76,97,116,110,0,67,67,0,67,75,0,104,97,95,65,114,97,98,0,107,101,110,0,107,121,95,65,114,97,98,0,109,110,95,77,111,110,103,0,117,122,95,67,121,114,108,0,121,117,101,95,72,97,110,115,0,67,80,0,67,87,0,68,71,0,69,65,0,70,75,0,70,79,0,101,110,95,83,104,97,119,0,71,70,0,71,71,0,71,73,0,109,97,110,95,78,107,111,111,0,71,80,0,71,83,0,71,85,0,72,77,0,73,67,0,73,77,0,115,100,95,68,101,118,97,0,73,79,0,97,122,95,65,114,97,98,0,74,69,0,117,103,95,67,121,114,108,0,107,117,95,65,114,97,98,0,118,97,105,95,76,97,116,110,0,114,105,102,95,76,97,116,110,0,115,104,105,95,76,97,116,110,0,77,70,0,98,109,95,78,107,111,111,0,77,80,0,77,81,0,77,83,0,78,67,0,78,70,0,117,110,114,95,68,101,118,97,0,78,85,0,80,70,0,112,97,95,65,114,97,98,0,116,103,95,65,114,97,98,0,80,77,0,80,78,0,82,69,0,83,74,0,83,88,0,84,65,0,84,67,0,84,70,0,84,75,0,107,121,95,76,97,116,110,0,105,111,0,106,98,111,0,86,65,0,86,71,0,86,73,0,89,84,0,90,90,0,116,105,109,101,68,97,116,97,0,97,108,108,111,119,101,100,0,112,114,101,102,101,114,114,101,100,0,97,102,95,90,65,0,97,114,95,48,48,49,0,99,97,95,69,83,0,101,115,95,66,79,0,101,115,95,66,82,0,101,115,95,69,67,0,101,115,95,69,83,0,101,115,95,71,81,0,101,115,95,80,69,0,102,114,95,67,65,0,103,108,95,69,83,0,103,117,95,73,78,0,104,105,95,73,78,0,105,116,95,67,72,0,105,116,95,73,84,0,107,110,95,73,78,0,109,108,95,73,78,0,109,114,95,73,78,0,112,97,95,73,78,0,116,97,95,73,78,0,116,101,95,73,78,0,122,117,95,90,65,0,119,101,101,107,68,97,116,97,0,65,78,0,119,101,101,107,68,97,116,97,37,118,97,114,105,97,110,116,0,119,101,101,107,79,102,80,114,101,102,101,114,101,110,99,101,0,105,119,0,122,104,95,84,87,0,170,0,0,104,0,66,0,0,0,73,0,68,0,0,0,80,0,72,0,0,0,69,0,84,0,0,0,68,0,90,0,0,0,102,0,102,0,0,0,67,0,90,0,0,0,84,0,82,0,0,0,66,0,71,0,0,0,67,0,73,0,0,0,68,0,74,0,0,0,72,0,85,0,0,0,73,0,81,0,0,0,75,0,90,0,0,0,77,0,76,0,0,0,78,0,79,0,0,0,66,0,70,0,0,0,66,0,73,0,0,0,69,0,71,0,0,0,71,0,69,0,0,0,83,0,89,0,0,0,88,0,75,0,0,0,89,0,69,0,0,0,65,0,69,0,0,0,66,0,74,0,0,0,72,0,84,0,0,0,74,0,79,0,0,0,75,0,87,0,0,0,76,0,89,0,0,0,77,0,72,0,0,0,81,0,65,0,0,0,84,0,74,0,0,0,85,0,90,0,0,0,65,0,83,0,0,0,65,0,87,0,0,0,66,0,72,0,0,0,66,0,81,0,0,0,66,0,84,0,0,0,67,0,87,0,0,0,71,0,85,0,0,0,73,0,83,0,0,0,74,0,80,0,0,0,75,0,72,0,0,0,77,0,67,0,0,0,77,0,69,0,0,0,78,0,67,0,0,0,65,0,81,0,0,0,65,0,88,0,0,0,66,0,76,0,0,0,66,0,85,0,0,0,66,0,86,0,0,0,69,0,65,0,0,0,70,0,88,0,0,0,71,0,76,0,0,0,77,0,81,0,0,0,80,0,83,0,0,0,81,0,79,0,0,0,81,0,85,0,0,0,84,0,87,0,0,0,90,0,82,0,0,0,67,0,80,0,0,0,69,0,90,0,0,0,81,0,77,0,0,0,81,0,78,0,0,0,81,0,80,0,0,0,81,0,82,0,0,0,81,0,83,0,0,0,81,0,84,0,0,0,81,0,86,0,0,0,81,0,87,0,0,0,81,0,88,0,0,0,81,0,89,0,0,0,81,0,90,0,0,0,88,0,65,0,0,0,88,0,66,0,0,0,88,0,67,0,0,0,88,0,68,0,0,0,88,0,69,0,0,0,88,0,70,0,0,0,88,0,71,0,0,0,88,0,72,0,0,0,88,0,73,0,0,0,88,0,74,0,0,0,88,0,76,0,0,0,88,0,79,0,0,0,88,0,81,0,0,0,88,0,83,0,0,0,88,0,84,0,0,0,88,0,85,0,0,0,88,0,87,0,0,0,88,0,89,0,0,0,88,0,90,0,0,0,104,0,122,0,0,0,107,0,106,0,0,0,122,0,104,0,98,0,0,0,122,0,101,0,110,0,0,0,78,0,82,0,85,0,0,0,105,0,115,0,48,0,0,0,120,0,122,0,104,0,0,0,85,0,83,0,78,0,0,0,80,0,67,0,78,0,0,0,86,0,73,0,82,0,0,0,108,0,117,0,121,0,0,0,86,0,69,0,83,0,0,0,65,0,82,0,83,0,0,0,68,0,77,0,65,0,0,0,84,0,67,0,65,0,0,0,77,0,82,0,79,0,0,0,69,0,84,0,72,0,0,0,73,0,83,0,75,0,0,0,75,0,72,0,82,0,0,0,88,0,67,0,68,0,0,0,78,0,80,0,76,0,0,0,83,0,73,0,84,0,0,0,88,0,69,0,69,0,0,0,107,0,108,0,110,0,0,0,78,0,71,0,78,0,0,0,88,0,85,0,65,0,0,0,77,0,76,0,84,0,0,0,77,0,78,0,69,0,0,0,83,0,76,0,86,0,0,0,90,0,65,0,70,0,0,0,82,0,87,0,70,0,0,0,83,0,84,0,78,0,0,0,66,0,71,0,82,0,0,0,70,0,76,0,75,0,0,0,77,0,78,0,80,0,0,0,84,0,75,0,77,0,0,0,88,0,66,0,65,0,0,0,88,0,66,0,68,0,0,0,70,0,75,0,80,0,0,0,72,0,84,0,71,0,0,0,78,0,65,0,68,0,0,0,84,0,84,0,68,0,0,0,75,0,65,0,90,0,0,0,77,0,76,0,73,0,0,0,77,0,89,0,84,0,0,0,83,0,86,0,78,0,0,0,122,0,104,0,105,0,0,0,88,0,80,0,70,0,0,0,72,0,75,0,71,0,0,0,76,0,66,0,89,0,0,0,76,0,83,0,79,0,0,0,76,0,86,0,65,0,0,0,77,0,67,0,70,0,0,0,77,0,83,0,82,0,0,0,83,0,76,0,66,0,0,0,83,0,79,0,77,0,0,0,85,0,75,0,82,0,0,0,85,0,83,0,65,0,0,0,88,0,77,0,77,0,0,0,88,0,82,0,69,0,0,0,90,0,77,0,75,0,0,0,122,0,111,0,109,0,0,0,75,0,77,0,70,0,0,0,76,0,89,0,68,0,0,0,77,0,78,0,84,0,0,0,85,0,89,0,85,0,0,0,88,0,83,0,85,0,0,0,65,0,76,0,65,0,0,0,71,0,84,0,77,0,0,0,71,0,85,0,77,0,0,0,73,0,83,0,74,0,0,0,76,0,66,0,78,0,0,0,77,0,71,0,70,0,0,0,78,0,65,0,77,0,0,0,79,0,77,0,78,0,0,0,83,0,67,0,71,0,0,0,83,0,77,0,82,0,0,0,85,0,71,0,65,0,0,0,87,0,83,0,77,0,0,0,88,0,70,0,79,0,0,0,89,0,77,0,68,0,0,0,90,0,65,0,76,0,0,0,121,0,100,0,97,0,0,0,88,0,88,0,88,0,0,0,78,0,73,0,67,0,0,0,113,0,120,0,104,0,0,0,65,0,84,0,70,0,0,0,69,0,67,0,83,0,0,0,73,0,84,0,65,0,0,0,75,0,72,0,77,0,0,0,80,0,65,0,78,0,0,0,83,0,71,0,80,0,0,0,83,0,80,0,77,0,0,0,83,0,84,0,80,0,0,0,84,0,77,0,80,0,0,0,85,0,71,0,83,0,0,0,88,0,69,0,85,0,0,0,89,0,68,0,68,0,0,0,119,0,121,0,105,0,0,0,120,0,117,0,114,0,0,0,122,0,116,0,101,0,0,0,57,0,54,0,55,0,0,0,66,0,84,0,78,0,0,0,67,0,72,0,69,0,0,0,77,0,75,0,68,0,0,0,90,0,65,0,82,0,0,0,103,0,113,0,105,0,0,0,105,0,108,0,109,0,0,0,107,0,110,0,110,0,0,0,117,0,103,0,101,0,0,0,77,0,88,0,78,0,0,0,77,0,88,0,86,0,0,0,77,0,65,0,67,0,0,0,84,0,85,0,78,0,0,0,88,0,65,0,65,0,0,0,90,0,90,0,90,0,0,0,99,0,106,0,118,0,0,0,105,0,102,0,121,0,0,0,110,0,122,0,117,0,0,0,116,0,109,0,108,0,0,0,117,0,105,0,115,0,0,0,117,0,116,0,114,0,0,0,118,0,97,0,97,0,0,0,118,0,101,0,111,0,0,0,118,0,101,0,117,0,0,0,119,0,104,0,117,0,0,0,119,0,105,0,116,0,0,0,119,0,110,0,121,0,0,0,119,0,115,0,107,0,0,0,120,0,97,0,121,0,0,0,120,0,103,0,100,0,0,0,120,0,117,0,103,0,0,0,120,0,119,0,111,0,0,0,121,0,101,0,101,0,0,0,121,0,103,0,117,0,0,0,121,0,105,0,97,0,0,0,121,0,107,0,103,0,0,0,121,0,107,0,121,0,0,0,121,0,108,0,103,0,0,0,121,0,109,0,116,0,0,0,121,0,114,0,119,0,0,0,122,0,98,0,101,0,0,0,122,0,99,0,97,0,0,0,122,0,107,0,107,0,0,0,122,0,111,0,99,0,0,0,122,0,116,0,103,0,0,0,122,0,122,0,97,0,0,0,49,0,52,0,53,0,0,0,50,0,51,0,56,0,0,0,50,0,52,0,50,0,0,0,50,0,54,0,50,0,0,0,50,0,55,0,48,0,0,0,50,0,57,0,50,0,0,0,51,0,52,0,48,0,0,0,51,0,52,0,52,0,0,0,51,0,52,0,56,0,0,0,51,0,53,0,50,0,0,0,51,0,53,0,54,0,0,0,51,0,54,0,48,0,0,0,51,0,54,0,52,0,0,0,51,0,54,0,56,0,0,0,51,0,55,0,54,0,0,0,51,0,56,0,56,0,0,0,51,0,57,0,50,0,0,0,51,0,57,0,56,0,0,0,52,0,48,0,48,0,0,0,52,0,52,0,48,0,0,0,52,0,53,0,52,0,0,0,52,0,53,0,56,0,0,0,52,0,54,0,50,0,0,0,52,0,56,0,52,0,0,0,52,0,57,0,54,0,0,0,52,0,57,0,56,0,0,0,53,0,49,0,54,0,0,0,53,0,52,0,56,0,0,0,53,0,53,0,52,0,0,0,53,0,53,0,56,0,0,0,53,0,54,0,54,0,0,0,53,0,55,0,56,0,0,0,53,0,57,0,56,0,0,0,54,0,48,0,48,0,0,0,54,0,50,0,54,0,0,0,54,0,53,0,52,0,0,0,54,0,55,0,56,0,0,0,54,0,56,0,50,0,0,0,54,0,57,0,48,0,0,0,54,0,57,0,52,0,0,0,55,0,49,0,48,0,0,0,55,0,50,0,56,0,0,0,55,0,52,0,56,0,0,0,55,0,53,0,50,0,0,0,55,0,53,0,54,0,0,0,55,0,54,0,48,0,0,0,55,0,54,0,52,0,0,0,55,0,55,0,54,0,0,0,55,0,56,0,48,0,0,0,55,0,56,0,56,0,0,0,56,0,48,0,48,0,0,0,56,0,49,0,56,0,0,0,56,0,50,0,54,0,0,0,56,0,52,0,48,0,0,0,56,0,53,0,56,0,0,0,56,0,54,0,48,0,0,0,56,0,56,0,50,0,0,0,56,0,57,0,49,0,0,0,57,0,53,0,56,0,0,0,57,0,53,0,57,0,0,0,57,0,54,0,48,0,0,0,57,0,54,0,49,0,0,0,57,0,54,0,50,0,0,0,57,0,54,0,51,0,0,0,57,0,54,0,52,0,0,0,57,0,54,0,53,0,0,0,57,0,54,0,56,0,0,0,57,0,54,0,57,0,0,0,57,0,55,0,48,0,0,0,57,0,55,0,53,0,0,0,57,0,55,0,55,0,0,0,57,0,55,0,56,0,0,0,57,0,55,0,57,0,0,0,57,0,56,0,48,0,0,0,57,0,56,0,49,0,0,0,57,0,56,0,52,0,0,0,57,0,56,0,53,0,0,0,57,0,56,0,54,0,0,0,57,0,57,0,55,0,0,0,57,0,57,0,57,0,0,0,65,0,69,0,68,0,0,0,65,0,70,0,78,0,0,0,65,0,76,0,76,0,0,0,65,0,77,0,68,0,0,0,65,0,78,0,71,0,0,0,65,0,79,0,65,0,0,0,65,0,85,0,68,0,0,0,65,0,87,0,71,0,0,0,65,0,90,0,78,0,0,0,66,0,65,0,77,0,0,0,66,0,66,0,68,0,0,0,66,0,68,0,84,0,0,0,66,0,69,0,76,0,0,0,66,0,71,0,78,0,0,0,66,0,72,0,68,0,0,0,66,0,73,0,70,0,0,0,66,0,77,0,68,0,0,0,66,0,78,0,68,0,0,0,66,0,79,0,66,0,0,0,66,0,79,0,76,0,0,0,66,0,79,0,86,0,0,0,66,0,82,0,76,0,0,0,66,0,82,0,78,0,0,0,66,0,83,0,68,0,0,0,66,0,87,0,80,0,0,0,66,0,89,0,82,0,0,0,66,0,90,0,68,0,0,0,67,0,65,0,68,0,0,0,67,0,68,0,70,0,0,0,67,0,72,0,70,0,0,0,67,0,72,0,87,0,0,0,67,0,76,0,80,0,0,0,67,0,78,0,72,0,0,0,67,0,78,0,89,0,0,0,67,0,79,0,80,0,0,0,67,0,79,0,85,0,0,0,67,0,82,0,67,0,0,0,67,0,85,0,67,0,0,0,67,0,85,0,80,0,0,0,67,0,86,0,69,0,0,0,67,0,89,0,80,0,0,0,67,0,90,0,75,0,0,0,68,0,74,0,70,0,0,0,68,0,75,0,75,0,0,0,68,0,79,0,80,0,0,0,68,0,90,0,68,0,0,0,69,0,71,0,80,0,0,0,69,0,82,0,78,0,0,0,69,0,83,0,80,0,0,0,69,0,84,0,66,0,0,0,69,0,85,0,82,0,0,0,70,0,74,0,68,0,0,0,71,0,66,0,80,0,0,0,71,0,69,0,76,0,0,0,71,0,72,0,83,0,0,0,71,0,73,0,80,0,0,0,71,0,77,0,68,0,0,0,71,0,78,0,70,0,0,0,71,0,82,0,68,0,0,0,71,0,84,0,81,0,0,0,71,0,89,0,68,0,0,0,72,0,75,0,68,0,0,0,72,0,78,0,76,0,0,0,72,0,82,0,75,0,0,0,72,0,85,0,70,0,0,0,73,0,68,0,82,0,0,0,73,0,76,0,83,0,0,0,73,0,78,0,82,0,0,0,73,0,81,0,68,0,0,0,73,0,82,0,82,0,0,0,74,0,77,0,68,0,0,0,74,0,79,0,68,0,0,0,74,0,80,0,89,0,0,0,75,0,69,0,83,0,0,0,75,0,71,0,83,0,0,0,75,0,80,0,87,0,0,0,75,0,82,0,87,0,0,0,75,0,87,0,68,0,0,0,75,0,89,0,68,0,0,0,75,0,90,0,84,0,0,0,76,0,65,0,75,0,0,0,76,0,66,0,80,0,0,0,76,0,75,0,82,0,0,0,76,0,82,0,68,0,0,0,76,0,83,0,76,0,0,0,76,0,84,0,76,0,0,0,77,0,65,0,68,0,0,0,77,0,65,0,70,0,0,0,77,0,68,0,76,0,0,0,77,0,71,0,65,0,0,0,77,0,77,0,75,0,0,0,77,0,79,0,80,0,0,0,77,0,82,0,85,0,0,0,77,0,85,0,82,0,0,0,77,0,86,0,82,0,0,0,77,0,87,0,75,0,0,0,77,0,89,0,82,0,0,0,77,0,90,0,78,0,0,0,78,0,73,0,79,0,0,0,78,0,79,0,75,0,0,0,78,0,80,0,82,0,0,0,78,0,90,0,68,0,0,0,79,0,77,0,82,0,0,0,80,0,65,0,66,0,0,0,80,0,69,0,78,0,0,0,80,0,71,0,75,0,0,0,80,0,72,0,80,0,0,0,80,0,75,0,82,0,0,0,80,0,76,0,78,0,0,0,80,0,89,0,71,0,0,0,81,0,65,0,82,0,0,0,81,0,85,0,85,0,0,0,82,0,79,0,78,0,0,0,82,0,83,0,68,0,0,0,82,0,85,0,66,0,0,0,83,0,65,0,82,0,0,0,83,0,66,0,68,0,0,0,83,0,67,0,82,0,0,0,83,0,68,0,71,0,0,0,83,0,69,0,75,0,0,0,83,0,71,0,68,0,0,0,83,0,72,0,80,0,0,0,83,0,76,0,69,0,0,0,83,0,76,0,76,0,0,0,83,0,79,0,83,0,0,0,83,0,82,0,68,0,0,0,83,0,83,0,80,0,0,0,83,0,84,0,68,0,0,0,83,0,85,0,82,0,0,0,83,0,89,0,80,0,0,0,83,0,90,0,76,0,0,0,84,0,72,0,66,0,0,0,84,0,74,0,83,0,0,0,84,0,77,0,84,0,0,0,84,0,78,0,68,0,0,0,84,0,79,0,80,0,0,0,84,0,82,0,89,0,0,0,84,0,87,0,68,0,0,0,84,0,90,0,83,0,0,0,85,0,65,0,72,0,0,0,85,0,71,0,88,0,0,0,85,0,83,0,68,0,0,0,85,0,89,0,73,0,0,0,85,0,89,0,87,0,0,0,85,0,90,0,83,0,0,0,86,0,69,0,68,0,0,0,86,0,69,0,70,0,0,0,86,0,78,0,68,0,0,0,86,0,85,0,86,0,0,0,87,0,83,0,84,0,0,0,88,0,65,0,70,0,0,0,88,0,65,0,71,0,0,0,88,0,65,0,85,0,0,0,88,0,66,0,66,0,0,0,88,0,68,0,82,0,0,0,88,0,79,0,70,0,0,0,88,0,80,0,68,0,0,0,88,0,80,0,84,0,0,0,88,0,84,0,83,0,0,0,89,0,69,0,82,0,0,0,90,0,77,0,87,0,0,0,97,0,106,0,112,0,0,0,97,0,114,0,113,0,0,0,97,0,114,0,115,0,0,0,97,0,114,0,121,0,0,0,97,0,114,0,122,0,0,0,98,0,98,0,122,0,0,0,98,0,106,0,113,0,0,0,99,0,103,0,50,0,0,0,99,0,103,0,53,0,0,0,99,0,106,0,121,0,0,0,99,0,107,0,98,0,0,0,99,0,114,0,97,0,0,0,99,0,114,0,99,0,0,0,99,0,114,0,108,0,0,0,99,0,114,0,112,0,0,0,99,0,118,0,98,0,0,0,99,0,118,0,115,0,0,0,99,0,122,0,104,0,0,0,100,0,116,0,121,0,0,0,101,0,99,0,121,0,0,0,101,0,103,0,99,0,0,0,101,0,115,0,98,0,0,0,101,0,115,0,99,0,0,0,101,0,115,0,112,0,0,0,101,0,115,0,118,0,0,0,101,0,121,0,111,0,0,0,102,0,102,0,109,0,0,0,102,0,105,0,108,0,0,0,102,0,106,0,99,0,0,0,102,0,106,0,101,0,0,0,102,0,106,0,110,0,0,0,102,0,106,0,114,0,0,0,102,0,106,0,119,0,0,0,102,0,114,0,109,0,0,0,102,0,117,0,98,0,0,0,103,0,109,0,98,0,0,0,103,0,109,0,117,0,0,0,103,0,109,0,119,0,0,0,103,0,110,0,98,0,0,0,103,0,110,0,99,0,0,0,103,0,110,0,100,0,0,0,103,0,110,0,102,0,0,0,103,0,110,0,107,0,0,0,103,0,110,0,108,0,0,0,103,0,110,0,109,0,0,0,103,0,110,0,110,0,0,0,103,0,113,0,99,0,0,0,103,0,114,0,109,0,0,0,103,0,115,0,119,0,0,0,103,0,119,0,108,0,0,0,103,0,119,0,115,0,0,0,104,0,106,0,105,0,0,0,104,0,115,0,110,0,0,0,105,0,101,0,99,0,0,0,105,0,101,0,100,0,0,0,105,0,101,0,103,0,0,0,105,0,101,0,108,0,0,0,105,0,101,0,109,0,0,0,105,0,101,0,117,0,0,0,105,0,108,0,100,0,0,0,105,0,108,0,122,0,0,0,107,0,103,0,106,0,0,0,107,0,103,0,116,0,0,0,107,0,103,0,121,0,0,0,107,0,104,0,49,0,0,0,107,0,104,0,50,0,0,0,107,0,105,0,103,0,0,0,107,0,105,0,112,0,0,0,107,0,109,0,97,0,0,0,107,0,109,0,103,0,0,0,107,0,109,0,109,0,0,0,107,0,110,0,107,0,0,0,108,0,107,0,49,0,0,0,108,0,107,0,50,0,0,0,108,0,107,0,51,0,0,0,108,0,107,0,52,0,0,0,108,0,107,0,53,0,0,0,108,0,107,0,54,0,0,0,108,0,107,0,55,0,0,0,108,0,107,0,56,0,0,0,108,0,107,0,57,0,0,0,108,0,114,0,105,0,0,0,108,0,115,0,103,0,0,0,108,0,116,0,115,0,0,0,109,0,103,0,97,0,0,0,109,0,103,0,100,0,0,0,109,0,103,0,102,0,0,0,109,0,103,0,109,0,0,0,109,0,104,0,108,0,0,0,109,0,104,0,116,0,0,0,109,0,108,0,49,0,0,0,109,0,110,0,49,0,0,0,109,0,119,0,99,0,0,0,109,0,119,0,110,0,0,0,109,0,119,0,115,0,0,0,109,0,122,0,103,0,0,0,109,0,122,0,105,0,0,0,109,0,122,0,108,0,0,0,109,0,122,0,110,0,0,0,110,0,122,0,115,0,0,0,111,0,114,0,99,0,0,0,112,0,97,0,49,0,0,0,112,0,121,0,49,0,0,0,113,0,118,0,97,0,0,0,113,0,118,0,99,0,0,0,113,0,118,0,101,0,0,0,113,0,118,0,115,0,0,0,113,0,118,0,119,0,0,0,113,0,119,0,99,0,0,0,113,0,119,0,104,0,0,0,113,0,120,0,97,0,0,0,113,0,120,0,99,0,0,0,113,0,120,0,108,0,0,0,113,0,120,0,119,0,0,0,114,0,111,0,98,0,0,0,115,0,101,0,107,0,0,0,115,0,108,0,110,0,0,0,115,0,108,0,115,0,0,0,115,0,108,0,119,0,0,0,115,0,116,0,112,0,0,0,116,0,103,0,99,0,0,0,116,0,103,0,107,0,0,0,116,0,103,0,109,0,0,0,116,0,103,0,112,0,0,0,116,0,103,0,115,0,0,0,116,0,104,0,115,0,0,0,116,0,109,0,100,0,0,0,117,0,103,0,99,0,0,0,117,0,103,0,110,0,0,0,117,0,103,0,119,0,0,0,117,0,122,0,115,0,0,0,118,0,114,0,111,0,0,0,121,0,117,0,101,0,0,0,67,0,88,0,82,0,0,0,77,0,88,0,80,0,0,0,83,0,88,0,77,0,0,0,88,0,81,0,81,0,0,0,106,0,105,0,111,0,0,0,107,0,111,0,106,0,0,0,115,0,100,0,122,0,0,0,116,0,100,0,118,0,0,0,117,0,98,0,105,0,0,0,117,0,102,0,105,0,0,0,117,0,112,0,105,0,0,0,120,0,98,0,103,0,0,0,120,0,99,0,101,0,0,0,120,0,99,0,114,0,0,0,120,0,105,0,105,0,0,0,120,0,110,0,100,0,0,0,120,0,115,0,108,0,0,0,120,0,118,0,101,0,0,0,121,0,101,0,108,0,0,0,121,0,107,0,105,0,0,0,121,0,111,0,115,0,0,0,121,0,115,0,103,0,0,0,121,0,116,0,108,0,0,0,121,0,116,0,119,0,0,0,121,0,116,0,121,0,0,0,122,0,99,0,104,0,0,0,122,0,105,0,119,0,0,0,122,0,119,0,97,0,0,0,50,0,51,0,57,0,0,0,50,0,52,0,54,0,0,0,50,0,52,0,56,0,0,0,50,0,52,0,57,0,0,0,50,0,53,0,48,0,0,0,50,0,53,0,52,0,0,0,50,0,53,0,56,0,0,0,50,0,54,0,48,0,0,0,50,0,54,0,54,0,0,0,50,0,54,0,56,0,0,0,50,0,55,0,53,0,0,0,50,0,55,0,54,0,0,0,50,0,55,0,56,0,0,0,50,0,56,0,56,0,0,0,51,0,48,0,48,0,0,0,51,0,55,0,50,0,0,0,51,0,56,0,48,0,0,0,51,0,56,0,52,0,0,0,52,0,51,0,56,0,0,0,52,0,53,0,48,0,0,0,52,0,54,0,54,0,0,0,52,0,55,0,48,0,0,0,52,0,55,0,52,0,0,0,52,0,57,0,50,0,0,0,52,0,57,0,57,0,0,0,53,0,48,0,48,0,0,0,53,0,50,0,48,0,0,0,53,0,51,0,48,0,0,0,53,0,51,0,53,0,0,0,53,0,51,0,54,0,0,0,53,0,52,0,48,0,0,0,53,0,54,0,50,0,0,0,53,0,55,0,48,0,0,0,53,0,55,0,52,0,0,0,53,0,56,0,48,0,0,0,53,0,56,0,49,0,0,0,53,0,56,0,51,0,0,0,53,0,56,0,52,0,0,0,53,0,56,0,53,0,0,0,53,0,57,0,48,0,0,0,53,0,57,0,49,0,0,0,54,0,49,0,50,0,0,0,54,0,49,0,54,0,0,0,54,0,50,0,48,0,0,0,54,0,51,0,48,0,0,0,54,0,53,0,50,0,0,0,54,0,53,0,57,0,0,0,54,0,54,0,48,0,0,0,54,0,54,0,50,0,0,0,54,0,54,0,54,0,0,0,54,0,55,0,48,0,0,0,54,0,55,0,52,0,0,0,54,0,56,0,54,0,0,0,54,0,56,0,56,0,0,0,55,0,49,0,54,0,0,0,55,0,50,0,48,0,0,0,55,0,50,0,57,0,0,0,55,0,52,0,48,0,0,0,55,0,52,0,52,0,0,0,55,0,54,0,50,0,0,0,55,0,54,0,56,0,0,0,55,0,55,0,50,0,0,0,55,0,57,0,53,0,0,0,55,0,57,0,56,0,0,0,56,0,51,0,49,0,0,0,56,0,51,0,50,0,0,0,56,0,51,0,51,0,0,0,56,0,53,0,48,0,0,0,56,0,53,0,52,0,0,0,56,0,54,0,50,0,0,0,56,0,55,0,54,0,0,0,56,0,56,0,54,0,0,0,56,0,56,0,55,0,0,0,56,0,57,0,52,0,0,0,57,0,50,0,55,0,0,0,57,0,50,0,57,0,0,0,57,0,51,0,48,0,0,0,57,0,51,0,49,0,0,0,57,0,51,0,52,0,0,0,57,0,51,0,54,0,0,0,57,0,51,0,55,0,0,0,57,0,51,0,56,0,0,0,57,0,52,0,48,0,0,0,57,0,52,0,49,0,0,0,57,0,52,0,52,0,0,0,57,0,52,0,54,0,0,0,57,0,52,0,55,0,0,0,57,0,52,0,56,0,0,0,57,0,52,0,57,0,0,0,57,0,53,0,48,0,0,0,57,0,53,0,49,0,0,0,57,0,53,0,50,0,0,0,57,0,53,0,51,0,0,0,57,0,53,0,53,0,0,0,57,0,53,0,54,0,0,0,57,0,53,0,55,0,0,0,57,0,54,0,54,0,0,0,57,0,56,0,50,0,0,0,57,0,56,0,51,0,0,0,57,0,56,0,55,0,0,0,57,0,56,0,56,0,0,0,57,0,56,0,57,0,0,0,57,0,57,0,49,0,0,0,57,0,57,0,50,0,0,0,57,0,57,0,51,0,0,0,57,0,57,0,53,0,0,0,57,0,57,0,56,0,0,0,65,0,65,0,65,0,0,0,65,0,66,0,87,0,0,0,65,0,68,0,80,0,0,0,65,0,70,0,65,0,0,0,65,0,70,0,71,0,0,0,65,0,71,0,79,0,0,0,65,0,73,0,65,0,0,0,65,0,76,0,66,0,0,0,65,0,76,0,75,0,0,0,65,0,78,0,68,0,0,0,65,0,78,0,84,0,0,0,65,0,79,0,75,0,0,0,65,0,79,0,78,0,0,0,65,0,79,0,82,0,0,0,65,0,82,0,65,0,0,0,65,0,82,0,69,0,0,0,65,0,82,0,71,0,0,0,65,0,82,0,77,0,0,0,65,0,82,0,80,0,0,0,65,0,83,0,77,0,0,0,65,0,84,0,65,0,0,0,65,0,84,0,71,0,0,0,65,0,84,0,83,0,0,0,65,0,85,0,83,0,0,0,65,0,85,0,84,0,0,0,65,0,90,0,69,0,0,0,65,0,90,0,77,0,0,0,66,0,65,0,68,0,0,0,66,0,65,0,78,0,0,0,66,0,68,0,73,0,0,0,66,0,69,0,67,0,0,0,66,0,69,0,70,0,0,0,66,0,69,0,78,0,0,0,66,0,69,0,83,0,0,0,66,0,70,0,65,0,0,0,66,0,71,0,68,0,0,0,66,0,71,0,79,0,0,0,66,0,72,0,82,0,0,0,66,0,72,0,83,0,0,0,66,0,73,0,72,0,0,0,66,0,76,0,77,0,0,0,66,0,76,0,82,0,0,0,66,0,76,0,90,0,0,0,66,0,77,0,85,0,0,0,66,0,79,0,80,0,0,0,66,0,82,0,65,0,0,0,66,0,82,0,66,0,0,0,66,0,82,0,69,0,0,0,66,0,82,0,82,0,0,0,66,0,82,0,90,0,0,0,66,0,85,0,75,0,0,0,66,0,85,0,82,0,0,0,66,0,86,0,84,0,0,0,66,0,87,0,65,0,0,0,66,0,89,0,66,0,0,0,66,0,89,0,78,0,0,0,67,0,65,0,70,0,0,0,67,0,65,0,78,0,0,0,67,0,67,0,75,0,0,0,67,0,72,0,76,0,0,0,67,0,72,0,78,0,0,0,67,0,73,0,86,0,0,0,67,0,76,0,70,0,0,0,67,0,77,0,82,0,0,0,67,0,78,0,88,0,0,0,67,0,79,0,68,0,0,0,67,0,79,0,71,0,0,0,67,0,79,0,75,0,0,0,67,0,79,0,76,0,0,0,67,0,79,0,77,0,0,0,67,0,80,0,86,0,0,0,67,0,82,0,73,0,0,0,67,0,83,0,68,0,0,0,67,0,83,0,75,0,0,0,67,0,85,0,66,0,0,0,67,0,85,0,87,0,0,0,67,0,89,0,77,0,0,0,67,0,90,0,69,0,0,0,68,0,68,0,77,0,0,0,68,0,68,0,82,0,0,0,68,0,69,0,77,0,0,0,68,0,69,0,85,0,0,0,68,0,74,0,73,0,0,0,68,0,78,0,75,0,0,0,68,0,79,0,77,0,0,0,68,0,90,0,65,0,0,0,69,0,67,0,85,0,0,0,69,0,67,0,86,0,0,0,69,0,69,0,75,0,0,0,69,0,71,0,89,0,0,0,69,0,82,0,73,0,0,0,69,0,83,0,72,0,0,0,69,0,83,0,84,0,0,0,70,0,73,0,77,0,0,0,70,0,73,0,78,0,0,0,70,0,74,0,73,0,0,0,70,0,82,0,65,0,0,0,70,0,82,0,70,0,0,0,70,0,82,0,79,0,0,0,70,0,83,0,77,0,0,0,70,0,88,0,88,0,0,0,71,0,65,0,66,0,0,0,71,0,66,0,82,0,0,0,71,0,69,0,75,0,0,0,71,0,69,0,79,0,0,0,71,0,71,0,89,0,0,0,71,0,72,0,65,0,0,0,71,0,72,0,67,0,0,0,71,0,73,0,66,0,0,0,71,0,73,0,78,0,0,0,71,0,76,0,80,0,0,0,71,0,77,0,66,0,0,0,71,0,78,0,66,0,0,0,71,0,78,0,81,0,0,0,71,0,78,0,83,0,0,0,71,0,81,0,69,0,0,0,71,0,82,0,67,0,0,0,71,0,82,0,76,0,0,0,71,0,85,0,70,0,0,0,71,0,85,0,89,0,0,0,71,0,87,0,69,0,0,0,71,0,87,0,80,0,0,0,72,0,77,0,68,0,0,0,72,0,78,0,68,0,0,0,72,0,82,0,68,0,0,0,72,0,82,0,86,0,0,0,72,0,84,0,73,0,0,0,72,0,85,0,78,0,0,0,73,0,68,0,78,0,0,0,73,0,69,0,80,0,0,0,73,0,76,0,80,0,0,0,73,0,76,0,82,0,0,0,73,0,77,0,78,0,0,0,73,0,78,0,68,0,0,0,73,0,79,0,84,0,0,0,73,0,82,0,76,0,0,0,73,0,82,0,78,0,0,0,73,0,82,0,81,0,0,0,73,0,83,0,76,0,0,0,73,0,83,0,82,0,0,0,73,0,84,0,76,0,0,0,74,0,65,0,77,0,0,0,74,0,69,0,89,0,0,0,74,0,79,0,82,0,0,0,74,0,80,0,78,0,0,0,75,0,69,0,78,0,0,0,75,0,71,0,90,0,0,0,75,0,73,0,82,0,0,0,75,0,78,0,65,0,0,0,75,0,79,0,82,0,0,0,75,0,82,0,72,0,0,0,75,0,82,0,79,0,0,0,75,0,87,0,84,0,0,0,76,0,65,0,79,0,0,0,76,0,66,0,82,0,0,0,76,0,67,0,65,0,0,0,76,0,73,0,69,0,0,0,76,0,75,0,65,0,0,0,76,0,84,0,84,0,0,0,76,0,84,0,85,0,0,0,76,0,85,0,67,0,0,0,76,0,85,0,70,0,0,0,76,0,85,0,76,0,0,0,76,0,85,0,88,0,0,0,76,0,86,0,76,0,0,0,76,0,86,0,82,0,0,0,77,0,65,0,82,0,0,0,77,0,67,0,79,0,0,0,77,0,68,0,65,0,0,0,77,0,68,0,67,0,0,0,77,0,68,0,71,0,0,0,77,0,68,0,86,0,0,0,77,0,69,0,88,0,0,0,77,0,72,0,76,0,0,0,77,0,75,0,78,0,0,0,77,0,76,0,70,0,0,0,77,0,77,0,82,0,0,0,77,0,78,0,71,0,0,0,77,0,79,0,90,0,0,0,77,0,82,0,84,0,0,0,77,0,84,0,76,0,0,0,77,0,84,0,80,0,0,0,77,0,84,0,81,0,0,0,77,0,85,0,83,0,0,0,77,0,86,0,80,0,0,0,77,0,87,0,73,0,0,0,77,0,89,0,83,0,0,0,77,0,90,0,69,0,0,0,77,0,90,0,77,0,0,0,78,0,67,0,76,0,0,0,78,0,69,0,82,0,0,0,78,0,70,0,75,0,0,0,78,0,71,0,65,0,0,0,78,0,73,0,85,0,0,0,78,0,76,0,68,0,0,0,78,0,76,0,71,0,0,0,78,0,79,0,82,0,0,0,78,0,84,0,90,0,0,0,78,0,90,0,76,0,0,0,80,0,65,0,75,0,0,0,80,0,69,0,73,0,0,0,80,0,69,0,82,0,0,0,80,0,69,0,83,0,0,0,80,0,72,0,76,0,0,0,80,0,76,0,87,0,0,0,80,0,76,0,90,0,0,0,80,0,78,0,71,0,0,0,80,0,79,0,76,0,0,0,80,0,82,0,73,0,0,0,80,0,82,0,75,0,0,0,80,0,82,0,84,0,0,0,80,0,82,0,89,0,0,0,80,0,83,0,69,0,0,0,80,0,84,0,69,0,0,0,80,0,89,0,70,0,0,0,81,0,65,0,84,0,0,0,81,0,77,0,77,0,0,0,81,0,78,0,78,0,0,0,81,0,79,0,79,0,0,0,81,0,80,0,80,0,0,0,81,0,81,0,81,0,0,0,81,0,82,0,82,0,0,0,81,0,83,0,83,0,0,0,81,0,84,0,84,0,0,0,81,0,86,0,86,0,0,0,81,0,87,0,87,0,0,0,81,0,88,0,88,0,0,0,81,0,89,0,89,0,0,0,81,0,90,0,90,0,0,0,82,0,69,0,85,0,0,0,82,0,72,0,68,0,0,0,82,0,79,0,76,0,0,0,82,0,79,0,85,0,0,0,82,0,85,0,82,0,0,0,82,0,85,0,83,0,0,0,82,0,87,0,65,0,0,0,83,0,65,0,85,0,0,0,83,0,68,0,68,0,0,0,83,0,68,0,78,0,0,0,83,0,68,0,80,0,0,0,83,0,69,0,78,0,0,0,83,0,71,0,83,0,0,0,83,0,72,0,78,0,0,0,83,0,74,0,77,0,0,0,83,0,75,0,75,0,0,0,83,0,82,0,66,0,0,0,83,0,82,0,71,0,0,0,83,0,83,0,68,0,0,0,83,0,85,0,78,0,0,0,83,0,86,0,67,0,0,0,83,0,86,0,75,0,0,0,83,0,87,0,69,0,0,0,83,0,87,0,90,0,0,0,83,0,89,0,67,0,0,0,83,0,89,0,82,0,0,0,84,0,67,0,68,0,0,0,84,0,71,0,79,0,0,0,84,0,72,0,65,0,0,0,84,0,74,0,75,0,0,0,84,0,74,0,82,0,0,0,84,0,75,0,76,0,0,0,84,0,76,0,83,0,0,0,84,0,77,0,77,0,0,0,84,0,79,0,78,0,0,0,84,0,80,0,69,0,0,0,84,0,82,0,76,0,0,0,84,0,84,0,79,0,0,0,84,0,85,0,82,0,0,0,84,0,85,0,86,0,0,0,84,0,87,0,78,0,0,0,84,0,90,0,65,0,0,0,85,0,65,0,75,0,0,0,85,0,77,0,73,0,0,0,85,0,82,0,89,0,0,0,85,0,83,0,83,0,0,0,85,0,89,0,80,0,0,0,85,0,90,0,66,0,0,0,86,0,65,0,84,0,0,0,86,0,67,0,84,0,0,0,86,0,69,0,66,0,0,0,86,0,69,0,78,0,0,0,86,0,71,0,66,0,0,0,86,0,78,0,77,0,0,0,86,0,78,0,78,0,0,0,86,0,85,0,84,0,0,0,87,0,76,0,70,0,0,0,88,0,66,0,67,0,0,0,88,0,67,0,67,0,0,0,88,0,68,0,68,0,0,0,88,0,70,0,70,0,0,0,88,0,70,0,85,0,0,0,88,0,71,0,71,0,0,0,88,0,72,0,72,0,0,0,88,0,73,0,73,0,0,0,88,0,74,0,74,0,0,0,88,0,75,0,75,0,0,0,88,0,76,0,76,0,0,0,88,0,78,0,78,0,0,0,88,0,79,0,79,0,0,0,88,0,80,0,80,0,0,0,88,0,82,0,82,0,0,0,88,0,83,0,83,0,0,0,88,0,84,0,84,0,0,0,88,0,85,0,85,0,0,0,88,0,86,0,86,0,0,0,88,0,87,0,87,0,0,0,88,0,89,0,89,0,0,0,88,0,90,0,90,0,0,0,89,0,69,0,77,0,0,0,89,0,85,0,68,0,0,0,89,0,85,0,71,0,0,0,89,0,85,0,82,0,0,0,90,0,77,0,66,0,0,0,90,0,82,0,78,0,0,0,90,0,82,0,90,0,0,0,90,0,87,0,68,0,0,0,90,0,87,0,69,0,0,0,90,0,87,0,76,0,0,0,90,0,87,0,82,0,0,0,97,0,97,0,101,0,0,0,97,0,97,0,109,0,0,0,97,0,97,0,111,0,0,0,97,0,97,0,122,0,0,0,97,0,98,0,104,0,0,0,97,0,98,0,118,0,0,0,97,0,99,0,109,0,0,0,97,0,99,0,113,0,0,0,97,0,99,0,119,0,0,0,97,0,99,0,120,0,0,0,97,0,99,0,121,0,0,0,97,0,100,0,102,0,0,0,97,0,100,0,108,0,0,0,97,0,100,0,112,0,0,0,97,0,101,0,98,0,0,0,97,0,101,0,117,0,0,0,97,0,101,0,119,0,0,0,97,0,102,0,98,0,0,0,97,0,102,0,107,0,0,0,97,0,102,0,122,0,0,0,97,0,105,0,115,0,0,0,97,0,105,0,116,0,0,0,97,0,106,0,97,0,0,0,97,0,106,0,103,0,0,0,97,0,106,0,105,0,0,0,97,0,106,0,110,0,0,0,97,0,106,0,115,0,0,0,97,0,106,0,119,0,0,0,97,0,106,0,122,0,0,0,97,0,108,0,110,0,0,0,97,0,108,0,115,0,0,0,97,0,111,0,120,0,0,0,97,0,111,0,122,0,0,0,97,0,112,0,99,0,0,0,97,0,112,0,100,0,0,0,97,0,113,0,97,0,0,0,97,0,113,0,103,0,0,0,97,0,113,0,112,0,0,0,97,0,113,0,114,0,0,0,97,0,113,0,116,0,0,0,97,0,113,0,122,0,0,0,97,0,114,0,102,0,0,0,97,0,114,0,103,0,0,0,97,0,114,0,104,0,0,0,97,0,114,0,106,0,0,0,97,0,114,0,108,0,0,0,97,0,114,0,112,0,0,0,97,0,114,0,114,0,0,0,97,0,114,0,117,0,0,0,97,0,114,0,118,0,0,0,97,0,114,0,119,0,0,0,97,0,114,0,120,0,0,0,97,0,115,0,100,0,0,0,97,0,116,0,49,0,0,0,97,0,116,0,50,0,0,0,97,0,116,0,51,0,0,0,97,0,116,0,52,0,0,0,97,0,116,0,53,0,0,0,97,0,116,0,54,0,0,0,97,0,116,0,55,0,0,0,97,0,116,0,56,0,0,0,97,0,116,0,57,0,0,0,97,0,117,0,101,0,0,0,97,0,117,0,122,0,0,0,97,0,118,0,98,0,0,0,97,0,118,0,100,0,0,0,97,0,118,0,108,0,0,0,97,0,119,0,107,0,0,0,97,0,120,0,98,0,0,0,97,0,120,0,103,0,0,0,97,0,120,0,120,0,0,0,97,0,121,0,104,0,0,0,97,0,121,0,108,0,0,0,97,0,121,0,110,0,0,0,97,0,121,0,112,0,0,0,97,0,121,0,114,0,0,0,97,0,121,0,122,0,0,0,97,0,122,0,98,0,0,0,97,0,122,0,103,0,0,0,97,0,122,0,106,0,0,0,97,0,122,0,116,0,0,0,97,0,122,0,122,0,0,0,98,0,99,0,99,0,0,0,98,0,99,0,108,0,0,0,98,0,100,0,97,0,0,0,98,0,100,0,98,0,0,0,98,0,100,0,99,0,0,0,98,0,100,0,100,0,0,0,98,0,100,0,101,0,0,0,98,0,100,0,104,0,0,0,98,0,103,0,109,0,0,0,98,0,104,0,107,0,0,0,98,0,104,0,114,0,0,0,98,0,105,0,99,0,0,0,98,0,105,0,106,0,0,0,98,0,106,0,100,0,0,0,98,0,106,0,110,0,0,0,98,0,107,0,97,0,0,0,98,0,107,0,98,0,0,0,98,0,109,0,109,0,0,0,98,0,109,0,121,0,0,0,98,0,109,0,122,0,0,0,98,0,111,0,98,0,0,0,98,0,111,0,99,0,0,0,98,0,111,0,110,0,0,0,98,0,111,0,111,0,0,0,98,0,111,0,115,0,0,0,98,0,111,0,116,0,0,0,98,0,112,0,97,0,0,0,98,0,112,0,98,0,0,0,98,0,116,0,97,0,0,0,98,0,116,0,98,0,0,0,98,0,116,0,106,0,0,0,98,0,116,0,108,0,0,0,98,0,118,0,101,0,0,0,98,0,118,0,117,0,0,0,98,0,120,0,107,0,0,0,98,0,120,0,114,0,0,0,98,0,120,0,115,0,0,0,98,0,120,0,120,0,0,0,98,0,120,0,122,0,0,0,98,0,121,0,121,0,0,0,98,0,121,0,122,0,0,0,98,0,122,0,99,0,0,0,99,0,98,0,101,0,0,0,99,0,98,0,103,0,0,0,99,0,98,0,104,0,0,0,99,0,98,0,121,0,0,0,99,0,99,0,97,0,0,0,99,0,99,0,106,0,0,0,99,0,99,0,113,0,0,0,99,0,100,0,97,0,0,0,99,0,100,0,103,0,0,0,99,0,100,0,111,0,0,0,99,0,101,0,103,0,0,0,99,0,101,0,110,0,0,0,99,0,101,0,116,0,0,0,99,0,101,0,121,0,0,0,99,0,102,0,97,0,0,0,99,0,102,0,100,0,0,0,99,0,102,0,103,0,0,0,99,0,102,0,109,0,0,0,99,0,103,0,55,0,0,0,99,0,103,0,56,0,0,0,99,0,103,0,57,0,0,0,99,0,103,0,99,0,0,0,99,0,103,0,103,0,0,0,99,0,103,0,107,0,0,0,99,0,104,0,114,0,0,0,99,0,105,0,104,0,0,0,99,0,105,0,107,0,0,0,99,0,105,0,112,0,0,0,99,0,105,0,114,0,0,0,99,0,105,0,119,0,0,0,99,0,105,0,121,0,0,0,99,0,106,0,97,0,0,0,99,0,106,0,107,0,0,0,99,0,106,0,114,0,0,0,99,0,106,0,115,0,0,0,99,0,107,0,97,0,0,0,99,0,107,0,104,0,0,0,99,0,108,0,99,0,0,0,99,0,108,0,101,0,0,0,99,0,108,0,111,0,0,0,99,0,108,0,119,0,0,0,99,0,108,0,121,0,0,0,99,0,109,0,101,0,0,0,99,0,109,0,105,0,0,0,99,0,109,0,107,0,0,0,99,0,110,0,114,0,0,0,99,0,111,0,121,0,0,0,99,0,111,0,122,0,0,0,99,0,112,0,105,0,0,0,99,0,112,0,115,0,0,0,99,0,112,0,117,0,0,0,99,0,112,0,120,0,0,0,99,0,113,0,100,0,0,0,99,0,113,0,117,0,0,0,99,0,114,0,103,0,0,0,99,0,114,0,104,0,0,0,99,0,114,0,115,0,0,0,99,0,116,0,97,0,0,0,99,0,117,0,103,0,0,0,99,0,117,0,109,0,0,0,99,0,118,0,103,0,0,0,99,0,118,0,110,0,0,0,99,0,119,0,100,0,0,0,99,0,119,0,101,0,0,0,99,0,119,0,103,0,0,0,99,0,119,0,116,0,0,0,99,0,121,0,111,0,0,0,99,0,122,0,107,0,0,0,99,0,122,0,111,0,0,0,99,0,122,0,116,0,0,0,100,0,97,0,97,0,0,0,100,0,97,0,102,0,0,0,100,0,97,0,112,0,0,0,100,0,99,0,99,0,0,0,100,0,100,0,97,0,0,0,100,0,100,0,103,0,0,0,100,0,101,0,122,0,0,0,100,0,103,0,117,0,0,0,100,0,104,0,100,0,0,0,100,0,104,0,103,0,0,0,100,0,105,0,107,0,0,0,100,0,105,0,113,0,0,0,100,0,105,0,117,0,0,0,100,0,106,0,108,0,0,0,100,0,106,0,114,0,0,0,100,0,107,0,107,0,0,0,100,0,107,0,120,0,0,0,100,0,108,0,103,0,0,0,100,0,108,0,107,0,0,0,100,0,110,0,97,0,0,0,100,0,110,0,103,0,0,0,100,0,110,0,121,0,0,0,100,0,114,0,103,0,0,0,100,0,114,0,104,0,0,0,100,0,114,0,108,0,0,0,100,0,114,0,113,0,0,0,100,0,114,0,114,0,0,0,100,0,114,0,119,0,0,0,100,0,115,0,101,0,0,0,100,0,115,0,113,0,0,0,100,0,115,0,122,0,0,0,100,0,116,0,100,0,0,0,100,0,116,0,107,0,0,0,100,0,117,0,106,0,0,0,100,0,117,0,112,0,0,0,100,0,118,0,97,0,0,0,100,0,119,0,97,0,0,0,100,0,119,0,107,0,0,0,100,0,119,0,108,0,0,0,100,0,119,0,117,0,0,0,100,0,119,0,119,0,0,0,100,0,121,0,100,0,0,0,100,0,121,0,103,0,0,0,100,0,121,0,105,0,0,0,100,0,121,0,117,0,0,0,100,0,121,0,121,0,0,0,100,0,122,0,97,0,0,0,100,0,122,0,100,0,0,0,100,0,122,0,101,0,0,0,100,0,122,0,103,0,0,0,100,0,122,0,108,0,0,0,100,0,122,0,110,0,0,0,101,0,97,0,97,0,0,0,101,0,98,0,99,0,0,0,101,0,98,0,103,0,0,0,101,0,98,0,107,0,0,0,101,0,98,0,117,0,0,0,101,0,99,0,97,0,0,0,101,0,99,0,98,0,0,0,101,0,99,0,99,0,0,0,101,0,99,0,100,0,0,0,101,0,99,0,102,0,0,0,101,0,99,0,103,0,0,0,101,0,99,0,104,0,0,0,101,0,99,0,105,0,0,0,101,0,99,0,108,0,0,0,101,0,99,0,109,0,0,0,101,0,99,0,112,0,0,0,101,0,99,0,114,0,0,0,101,0,99,0,115,0,0,0,101,0,99,0,116,0,0,0,101,0,99,0,117,0,0,0,101,0,99,0,120,0,0,0,101,0,99,0,122,0,0,0,101,0,101,0,101,0,0,0,101,0,102,0,97,0,0,0,101,0,102,0,101,0,0,0,101,0,102,0,105,0,0,0,101,0,103,0,97,0,0,0,101,0,103,0,111,0,0,0,101,0,104,0,115,0,0,0,101,0,105,0,112,0,0,0,101,0,105,0,118,0,0,0,101,0,107,0,99,0,0,0,101,0,107,0,103,0,0,0,101,0,107,0,105,0,0,0,101,0,107,0,114,0,0,0,101,0,108,0,101,0,0,0,101,0,108,0,111,0,0,0,101,0,108,0,112,0,0,0,101,0,108,0,120,0,0,0,101,0,109,0,101,0,0,0,101,0,109,0,103,0,0,0,101,0,109,0,105,0,0,0,101,0,109,0,107,0,0,0,101,0,109,0,115,0,0,0,101,0,109,0,117,0,0,0,101,0,110,0,98,0,0,0,101,0,110,0,104,0,0,0,101,0,111,0,116,0,0,0,101,0,112,0,105,0,0,0,101,0,115,0,113,0,0,0,101,0,116,0,120,0,0,0,101,0,116,0,122,0,0,0,101,0,118,0,101,0,0,0,101,0,118,0,104,0,0,0,101,0,118,0,110,0,0,0,101,0,119,0,111,0,0,0,101,0,120,0,116,0,0,0,101,0,121,0,97,0,0,0,101,0,122,0,97,0,0,0,101,0,122,0,101,0,0,0,102,0,97,0,100,0,0,0,102,0,97,0,112,0,0,0,102,0,97,0,114,0,0,0,102,0,97,0,116,0,0,0,102,0,97,0,117,0,0,0,102,0,98,0,108,0,0,0,102,0,99,0,115,0,0,0,102,0,102,0,105,0,0,0,102,0,103,0,114,0,0,0,102,0,105,0,97,0,0,0,102,0,105,0,112,0,0,0,102,0,105,0,114,0,0,0,102,0,105,0,119,0,0,0,102,0,107,0,107,0,0,0,102,0,107,0,118,0,0,0,102,0,108,0,108,0,0,0,102,0,108,0,121,0,0,0,102,0,109,0,117,0,0,0,102,0,110,0,98,0,0,0,102,0,110,0,105,0,0,0,102,0,111,0,100,0,0,0,102,0,111,0,105,0,0,0,102,0,111,0,120,0,0,0,102,0,112,0,101,0,0,0,102,0,113,0,115,0,0,0,102,0,114,0,99,0,0,0,102,0,114,0,107,0,0,0,102,0,114,0,110,0,0,0,102,0,115,0,108,0,0,0,102,0,115,0,115,0,0,0,102,0,117,0,99,0,0,0,102,0,117,0,101,0,0,0,102,0,117,0,102,0,0,0,102,0,117,0,104,0,0,0,102,0,117,0,105,0,0,0,102,0,117,0,113,0,0,0,102,0,117,0,121,0,0,0,102,0,118,0,114,0,0,0,102,0,119,0,97,0,0,0,102,0,119,0,101,0,0,0,103,0,97,0,49,0,0,0,103,0,97,0,50,0,0,0,103,0,97,0,51,0,0,0,103,0,97,0,52,0,0,0,103,0,97,0,53,0,0,0,103,0,97,0,54,0,0,0,103,0,97,0,55,0,0,0,103,0,97,0,56,0,0,0,103,0,97,0,57,0,0,0,103,0,97,0,97,0,0,0,103,0,97,0,118,0,0,0,103,0,97,0,120,0,0,0,103,0,97,0,122,0,0,0,103,0,98,0,99,0,0,0,103,0,99,0,108,0,0,0,103,0,99,0,110,0,0,0,103,0,99,0,116,0,0,0,103,0,100,0,120,0,0,0,103,0,101,0,113,0,0,0,103,0,102,0,107,0,0,0,103,0,102,0,116,0,0,0,103,0,102,0,120,0,0,0,103,0,103,0,103,0,0,0,103,0,103,0,114,0,0,0,103,0,103,0,119,0,0,0,103,0,104,0,99,0,0,0,103,0,104,0,101,0,0,0,103,0,104,0,104,0,0,0,103,0,105,0,111,0,0,0,103,0,106,0,107,0,0,0,103,0,106,0,114,0,0,0,103,0,106,0,117,0,0,0,103,0,107,0,97,0,0,0,103,0,107,0,112,0,0,0,103,0,107,0,117,0,0,0,103,0,108,0,104,0,0,0,103,0,108,0,105,0,0,0,103,0,108,0,111,0,0,0,103,0,108,0,114,0,0,0,103,0,108,0,117,0,0,0,103,0,108,0,119,0,0,0,103,0,108,0,121,0,0,0,103,0,109,0,108,0,0,0,103,0,109,0,109,0,0,0,103,0,110,0,111,0,0,0,103,0,110,0,122,0,0,0,103,0,111,0,109,0,0,0,103,0,112,0,97,0,0,0,103,0,112,0,101,0,0,0,103,0,112,0,110,0,0,0,103,0,113,0,97,0,0,0,103,0,113,0,110,0,0,0,103,0,113,0,114,0,0,0,103,0,113,0,117,0,0,0,103,0,114,0,97,0,0,0,103,0,114,0,98,0,0,0,103,0,114,0,99,0,0,0,103,0,114,0,100,0,0,0,103,0,114,0,102,0,0,0,103,0,114,0,103,0,0,0,103,0,114,0,104,0,0,0,103,0,114,0,106,0,0,0,103,0,114,0,107,0,0,0,103,0,114,0,108,0,0,0,103,0,115,0,101,0,0,0,103,0,115,0,103,0,0,0,103,0,115,0,115,0,0,0,103,0,116,0,105,0,0,0,103,0,116,0,117,0,0,0,103,0,117,0,103,0,0,0,103,0,117,0,110,0,0,0,103,0,117,0,122,0,0,0,103,0,118,0,97,0,0,0,103,0,118,0,99,0,0,0,103,0,118,0,106,0,0,0,103,0,118,0,121,0,0,0,103,0,119,0,114,0,0,0,103,0,120,0,120,0,0,0,103,0,121,0,97,0,0,0,103,0,121,0,98,0,0,0,103,0,121,0,105,0,0,0,103,0,121,0,114,0,0,0,103,0,122,0,105,0,0,0,103,0,122,0,110,0,0,0,104,0,97,0,101,0,0,0,104,0,97,0,107,0,0,0,104,0,98,0,117,0,0,0,104,0,99,0,97,0,0,0,104,0,99,0,104,0,0,0,104,0,100,0,110,0,0,0,104,0,100,0,115,0,0,0,104,0,100,0,121,0,0,0,104,0,101,0,97,0,0,0,104,0,101,0,100,0,0,0,104,0,101,0,109,0,0,0,104,0,103,0,109,0,0,0,104,0,103,0,119,0,0,0,104,0,104,0,105,0,0,0,104,0,104,0,114,0,0,0,104,0,104,0,121,0,0,0,104,0,105,0,109,0,0,0,104,0,105,0,111,0,0,0,104,0,105,0,114,0,0,0,104,0,105,0,116,0,0,0,104,0,107,0,97,0,0,0,104,0,107,0,101,0,0,0,104,0,107,0,104,0,0,0,104,0,107,0,107,0,0,0,104,0,107,0,110,0,0,0,104,0,110,0,97,0,0,0,104,0,110,0,117,0,0,0,104,0,112,0,111,0,0,0,104,0,112,0,115,0,0,0,104,0,114,0,97,0,0,0,104,0,114,0,99,0,0,0,104,0,114,0,101,0,0,0,104,0,114,0,107,0,0,0,104,0,114,0,109,0,0,0,104,0,114,0,114,0,0,0,104,0,114,0,122,0,0,0,104,0,115,0,98,0,0,0,104,0,115,0,108,0,0,0,104,0,115,0,115,0,0,0,104,0,116,0,111,0,0,0,104,0,116,0,115,0,0,0,104,0,116,0,117,0,0,0,104,0,116,0,120,0,0,0,104,0,118,0,99,0,0,0,104,0,118,0,107,0,0,0,104,0,118,0,110,0,0,0,104,0,118,0,118,0,0,0,104,0,119,0,97,0,0,0,104,0,119,0,99,0,0,0,104,0,119,0,111,0,0,0,104,0,121,0,97,0,0,0,105,0,97,0,105,0,0,0,105,0,97,0,112,0,0,0,105,0,97,0,114,0,0,0,105,0,98,0,105,0,0,0,105,0,98,0,117,0,0,0,105,0,98,0,121,0,0,0,105,0,99,0,104,0,0,0,105,0,99,0,108,0,0,0,105,0,99,0,114,0,0,0,105,0,100,0,97,0,0,0,105,0,100,0,105,0,0,0,105,0,102,0,107,0,0,0,105,0,102,0,109,0,0,0,105,0,103,0,98,0,0,0,105,0,103,0,101,0,0,0,105,0,103,0,103,0,0,0,105,0,103,0,115,0,0,0,105,0,103,0,119,0,0,0,105,0,104,0,98,0,0,0,105,0,104,0,105,0,0,0,105,0,104,0,112,0,0,0,105,0,104,0,119,0,0,0,105,0,105,0,110,0,0,0,105,0,105,0,114,0,0,0,105,0,106,0,99,0,0,0,105,0,106,0,101,0,0,0,105,0,106,0,106,0,0,0,105,0,106,0,115,0,0,0,105,0,107,0,101,0,0,0,105,0,107,0,116,0,0,0,105,0,107,0,122,0,0,0,105,0,108,0,107,0,0,0,105,0,108,0,108,0,0,0,105,0,108,0,119,0,0,0,105,0,109,0,101,0,0,0,105,0,109,0,108,0,0,0,105,0,110,0,106,0,0,0,105,0,110,0,122,0,0,0,105,0,111,0,114,0,0,0,105,0,111,0,117,0,0,0,105,0,112,0,105,0,0,0,105,0,112,0,111,0,0,0,105,0,113,0,117,0,0,0,105,0,113,0,119,0,0,0,105,0,114,0,101,0,0,0,105,0,114,0,114,0,0,0,105,0,114,0,117,0,0,0,105,0,115,0,49,0,0,0,105,0,115,0,50,0,0,0,105,0,115,0,51,0,0,0,105,0,115,0,52,0,0,0,105,0,115,0,53,0,0,0,105,0,115,0,54,0,0,0,105,0,115,0,55,0,0,0,105,0,115,0,56,0,0,0,105,0,115,0,107,0,0,0,105,0,115,0,114,0,0,0,105,0,116,0,105,0,0,0,105,0,116,0,111,0,0,0,105,0,117,0,109,0,0,0,105,0,118,0,118,0,0,0,105,0,119,0,107,0,0,0,105,0,119,0,109,0,0,0,105,0,119,0,111,0,0,0,105,0,119,0,115,0,0,0,105,0,120,0,99,0,0,0,105,0,120,0,108,0,0,0,105,0,121,0,97,0,0,0,105,0,121,0,111,0,0,0,105,0,121,0,120,0,0,0,105,0,122,0,104,0,0,0,105,0,122,0,105,0,0,0,105,0,122,0,114,0,0,0,106,0,97,0,104,0,0,0,106,0,97,0,120,0,0,0,106,0,98,0,101,0,0,0,106,0,98,0,114,0,0,0,106,0,98,0,119,0,0,0,106,0,100,0,97,0,0,0,106,0,100,0,103,0,0,0,106,0,100,0,116,0,0,0,106,0,101,0,98,0,0,0,106,0,101,0,101,0,0,0,106,0,101,0,103,0,0,0,106,0,101,0,114,0,0,0,106,0,103,0,101,0,0,0,106,0,103,0,107,0,0,0,106,0,103,0,111,0,0,0,106,0,104,0,105,0,0,0,106,0,104,0,115,0,0,0,106,0,105,0,113,0,0,0,106,0,105,0,121,0,0,0,106,0,106,0,101,0,0,0,106,0,106,0,114,0,0,0,106,0,107,0,97,0,0,0,106,0,107,0,109,0,0,0,106,0,107,0,117,0,0,0,106,0,108,0,101,0,0,0,106,0,108,0,115,0,0,0,106,0,109,0,105,0,0,0,106,0,109,0,108,0,0,0,106,0,109,0,110,0,0,0,106,0,110,0,97,0,0,0,106,0,110,0,100,0,0,0,106,0,110,0,108,0,0,0,106,0,110,0,115,0,0,0,106,0,111,0,100,0,0,0,106,0,111,0,103,0,0,0,106,0,112,0,97,0,0,0,106,0,112,0,114,0,0,0,106,0,112,0,120,0,0,0,106,0,113,0,114,0,0,0,106,0,114,0,114,0,0,0,106,0,115,0,108,0,0,0,106,0,117,0,119,0,0,0,106,0,117,0,121,0,0,0,106,0,118,0,100,0,0,0,106,0,118,0,110,0,0,0,106,0,119,0,105,0,0,0,106,0,121,0,97,0,0,0,106,0,121,0,101,0,0,0,106,0,121,0,121,0,0,0,107,0,98,0,102,0,0,0,107,0,100,0,118,0,0,0,107,0,103,0,99,0,0,0,107,0,103,0,104,0,0,0,107,0,103,0,111,0,0,0,107,0,104,0,51,0,0,0,107,0,104,0,52,0,0,0,107,0,104,0,53,0,0,0,107,0,104,0,54,0,0,0,107,0,104,0,55,0,0,0,107,0,104,0,56,0,0,0,107,0,104,0,57,0,0,0,107,0,104,0,107,0,0,0,107,0,106,0,102,0,0,0,107,0,109,0,114,0,0,0,107,0,110,0,99,0,0,0,107,0,110,0,103,0,0,0,107,0,111,0,97,0,0,0,107,0,111,0,107,0,0,0,107,0,111,0,120,0,0,0,107,0,112,0,101,0,0,0,107,0,112,0,112,0,0,0,107,0,114,0,105,0,0,0,107,0,114,0,109,0,0,0,107,0,116,0,114,0,0,0,107,0,118,0,98,0,0,0,107,0,118,0,114,0,0,0,107,0,118,0,115,0,0,0,107,0,119,0,113,0,0,0,107,0,120,0,100,0,0,0,107,0,120,0,101,0,0,0,107,0,120,0,102,0,0,0,107,0,120,0,108,0,0,0,107,0,120,0,117,0,0,0,107,0,122,0,104,0,0,0,107,0,122,0,106,0,0,0,107,0,122,0,116,0,0,0,108,0,97,0,107,0,0,0,108,0,97,0,117,0,0,0,108,0,98,0,107,0,0,0,108,0,99,0,102,0,0,0,108,0,99,0,104,0,0,0,108,0,99,0,115,0,0,0,108,0,100,0,100,0,0,0,108,0,101,0,103,0,0,0,108,0,102,0,97,0,0,0,108,0,102,0,110,0,0,0,108,0,103,0,122,0,0,0,108,0,104,0,112,0,0,0,108,0,105,0,105,0,0,0,108,0,105,0,119,0,0,0,108,0,106,0,97,0,0,0,108,0,106,0,101,0,0,0,108,0,106,0,105,0,0,0,108,0,106,0,108,0,0,0,108,0,106,0,112,0,0,0,108,0,107,0,98,0,0,0,108,0,107,0,115,0,0,0,108,0,107,0,121,0,0,0,108,0,108,0,115,0,0,0,108,0,108,0,120,0,0,0,108,0,110,0,115,0,0,0,108,0,110,0,117,0,0,0,108,0,110,0,122,0,0,0,108,0,111,0,122,0,0,0,108,0,112,0,97,0,0,0,108,0,112,0,101,0,0,0,108,0,113,0,114,0,0,0,108,0,114,0,97,0,0,0,108,0,114,0,99,0,0,0,108,0,114,0,103,0,0,0,108,0,114,0,114,0,0,0,108,0,114,0,116,0,0,0,108,0,114,0,118,0,0,0,108,0,114,0,122,0,0,0,108,0,115,0,97,0,0,0,108,0,115,0,99,0,0,0,108,0,115,0,100,0,0,0,108,0,115,0,101,0,0,0,108,0,115,0,102,0,0,0,108,0,115,0,106,0,0,0,108,0,115,0,121,0,0,0,108,0,116,0,99,0,0,0,108,0,116,0,103,0,0,0,108,0,116,0,111,0,0,0,108,0,116,0,117,0,0,0,108,0,117,0,100,0,0,0,108,0,117,0,103,0,0,0,108,0,117,0,108,0,0,0,108,0,118,0,97,0,0,0,108,0,118,0,107,0,0,0,108,0,118,0,117,0,0,0,108,0,119,0,97,0,0,0,108,0,119,0,101,0,0,0,108,0,119,0,103,0,0,0,108,0,119,0,111,0,0,0,108,0,119,0,119,0,0,0,108,0,120,0,109,0,0,0,108,0,121,0,97,0,0,0,108,0,121,0,103,0,0,0,108,0,121,0,110,0,0,0,108,0,122,0,108,0,0,0,108,0,122,0,110,0,0,0,108,0,122,0,122,0,0,0,109,0,97,0,105,0,0,0,109,0,97,0,120,0,0,0,109,0,97,0,122,0,0,0,109,0,101,0,103,0,0,0,109,0,101,0,111,0,0,0,109,0,102,0,97,0,0,0,109,0,102,0,98,0,0,0,109,0,102,0,101,0,0,0,109,0,103,0,116,0,0,0,109,0,103,0,117,0,0,0,109,0,103,0,120,0,0,0,109,0,104,0,104,0,0,0,109,0,104,0,114,0,0,0,109,0,105,0,110,0,0,0,109,0,105,0,115,0,0,0,109,0,106,0,97,0,0,0,109,0,108,0,50,0,0,0,109,0,108,0,51,0,0,0,109,0,108,0,52,0,0,0,109,0,108,0,53,0,0,0,109,0,108,0,54,0,0,0,109,0,108,0,55,0,0,0,109,0,108,0,56,0,0,0,109,0,108,0,57,0,0,0,109,0,108,0,100,0,0,0,109,0,108,0,122,0,0,0,109,0,110,0,107,0,0,0,109,0,110,0,116,0,0,0,109,0,111,0,97,0,0,0,109,0,111,0,102,0,0,0,109,0,111,0,109,0,0,0,109,0,113,0,103,0,0,0,109,0,115,0,105,0,0,0,109,0,115,0,116,0,0,0,109,0,117,0,105,0,0,0,109,0,117,0,112,0,0,0,109,0,118,0,102,0,0,0,109,0,118,0,109,0,0,0,109,0,119,0,100,0,0,0,109,0,119,0,106,0,0,0,109,0,119,0,122,0,0,0,109,0,121,0,100,0,0,0,109,0,121,0,105,0,0,0,109,0,121,0,113,0,0,0,109,0,121,0,116,0,0,0,109,0,122,0,98,0,0,0,109,0,122,0,112,0,0,0,109,0,122,0,113,0,0,0,109,0,122,0,115,0,0,0,109,0,122,0,116,0,0,0,110,0,98,0,120,0,0,0,110,0,98,0,121,0,0,0,110,0,99,0,120,0,0,0,110,0,99,0,122,0,0,0,110,0,101,0,49,0,0,0,110,0,101,0,50,0,0,0,110,0,101,0,51,0,0,0,110,0,101,0,52,0,0,0,110,0,101,0,53,0,0,0,110,0,101,0,54,0,0,0,110,0,101,0,55,0,0,0,110,0,101,0,56,0,0,0,110,0,102,0,100,0,0,0,110,0,102,0,108,0,0,0,110,0,102,0,117,0,0,0,110,0,103,0,111,0,0,0,110,0,104,0,100,0,0,0,110,0,105,0,113,0,0,0,110,0,106,0,100,0,0,0,110,0,107,0,122,0,0,0,110,0,108,0,99,0,0,0,110,0,108,0,113,0,0,0,110,0,108,0,114,0,0,0,110,0,110,0,115,0,0,0,110,0,111,0,97,0,0,0,110,0,111,0,111,0,0,0,110,0,112,0,49,0,0,0,110,0,112,0,50,0,0,0,110,0,112,0,51,0,0,0,110,0,112,0,52,0,0,0,110,0,112,0,53,0,0,0,110,0,112,0,108,0,0,0,110,0,112,0,115,0,0,0,110,0,112,0,117,0,0,0,110,0,113,0,103,0,0,0,110,0,113,0,113,0,0,0,110,0,113,0,116,0,0,0,110,0,113,0,121,0,0,0,110,0,114,0,105,0,0,0,110,0,114,0,112,0,0,0,110,0,114,0,114,0,0,0,110,0,114,0,120,0,0,0,110,0,114,0,122,0,0,0,110,0,115,0,111,0,0,0,110,0,116,0,109,0,0,0,110,0,116,0,115,0,0,0,110,0,118,0,104,0,0,0,110,0,118,0,109,0,0,0,110,0,118,0,111,0,0,0,110,0,119,0,101,0,0,0,110,0,119,0,103,0,0,0,110,0,119,0,105,0,0,0,110,0,119,0,111,0,0,0,110,0,119,0,114,0,0,0,110,0,120,0,97,0,0,0,110,0,120,0,103,0,0,0,110,0,120,0,105,0,0,0,110,0,120,0,117,0,0,0,110,0,120,0,120,0,0,0,110,0,121,0,100,0,0,0,110,0,122,0,100,0,0,0,110,0,122,0,105,0,0,0,110,0,122,0,107,0,0,0,110,0,122,0,109,0,0,0,110,0,122,0,110,0,0,0,111,0,97,0,97,0,0,0,111,0,97,0,99,0,0,0,111,0,97,0,118,0,0,0,111,0,98,0,105,0,0,0,111,0,98,0,111,0,0,0,111,0,99,0,97,0,0,0,111,0,99,0,104,0,0,0,111,0,99,0,109,0,0,0,111,0,99,0,111,0,0,0,111,0,99,0,117,0,0,0,111,0,100,0,97,0,0,0,111,0,100,0,107,0,0,0,111,0,102,0,111,0,0,0,111,0,102,0,115,0,0,0,111,0,102,0,117,0,0,0,111,0,103,0,103,0,0,0,111,0,105,0,97,0,0,0,111,0,105,0,101,0,0,0,111,0,105,0,110,0,0,0,111,0,106,0,103,0,0,0,111,0,106,0,112,0,0,0,111,0,107,0,105,0,0,0,111,0,107,0,120,0,0,0,111,0,107,0,122,0,0,0,111,0,108,0,97,0,0,0,111,0,108,0,107,0,0,0,111,0,108,0,111,0,0,0,111,0,108,0,114,0,0,0,111,0,109,0,101,0,0,0,111,0,109,0,103,0,0,0,111,0,109,0,105,0,0,0,111,0,111,0,100,0,0,0,111,0,111,0,103,0,0,0,111,0,112,0,97,0,0,0,111,0,112,0,107,0,0,0,111,0,112,0,109,0,0,0,111,0,112,0,121,0,0,0,111,0,114,0,110,0,0,0,111,0,114,0,115,0,0,0,111,0,114,0,121,0,0,0,111,0,114,0,122,0,0,0,111,0,115,0,99,0,0,0,111,0,115,0,105,0,0,0,111,0,115,0,120,0,0,0,111,0,116,0,105,0,0,0,111,0,117,0,101,0,0,0,111,0,117,0,105,0,0,0,111,0,117,0,109,0,0,0,111,0,117,0,110,0,0,0,111,0,118,0,100,0,0,0,111,0,119,0,105,0,0,0,111,0,119,0,108,0,0,0,111,0,121,0,98,0,0,0,111,0,121,0,100,0,0,0,111,0,121,0,109,0,0,0,111,0,121,0,121,0,0,0,111,0,122,0,109,0,0,0,112,0,97,0,50,0,0,0,112,0,97,0,51,0,0,0,112,0,97,0,52,0,0,0,112,0,97,0,53,0,0,0,112,0,97,0,54,0,0,0,112,0,97,0,55,0,0,0,112,0,97,0,56,0,0,0,112,0,97,0,57,0,0,0,112,0,97,0,116,0,0,0,112,0,98,0,116,0,0,0,112,0,98,0,117,0,0,0,112,0,98,0,118,0,0,0,112,0,98,0,121,0,0,0,112,0,98,0,122,0,0,0,112,0,99,0,109,0,0,0,112,0,99,0,112,0,0,0,112,0,99,0,114,0,0,0,112,0,99,0,119,0,0,0,112,0,100,0,97,0,0,0,112,0,100,0,99,0,0,0,112,0,100,0,105,0,0,0,112,0,101,0,108,0,0,0,112,0,101,0,115,0,0,0,112,0,101,0,118,0,0,0,112,0,102,0,97,0,0,0,112,0,102,0,101,0,0,0,112,0,102,0,108,0,0,0,112,0,103,0,100,0,0,0,112,0,103,0,103,0,0,0,112,0,103,0,105,0,0,0,112,0,103,0,110,0,0,0,112,0,103,0,115,0,0,0,112,0,103,0,117,0,0,0,112,0,103,0,121,0,0,0,112,0,103,0,122,0,0,0,112,0,104,0,97,0,0,0,112,0,104,0,100,0,0,0,112,0,105,0,105,0,0,0,112,0,105,0,106,0,0,0,112,0,106,0,116,0,0,0,112,0,108,0,112,0,0,0,112,0,108,0,116,0,0,0,112,0,109,0,99,0,0,0,112,0,109,0,117,0,0,0,112,0,110,0,98,0,0,0,112,0,111,0,99,0,0,0,112,0,111,0,100,0,0,0,112,0,111,0,107,0,0,0,112,0,112,0,97,0,0,0,112,0,112,0,101,0,0,0,112,0,112,0,105,0,0,0,112,0,112,0,114,0,0,0,112,0,113,0,97,0,0,0,112,0,113,0,101,0,0,0,112,0,113,0,109,0,0,0,112,0,113,0,119,0,0,0,112,0,114,0,98,0,0,0,112,0,114,0,115,0,0,0,112,0,114,0,121,0,0,0,112,0,114,0,122,0,0,0,112,0,115,0,116,0,0,0,112,0,115,0,119,0,0,0,112,0,115,0,121,0,0,0,112,0,116,0,97,0,0,0,112,0,116,0,121,0,0,0,112,0,117,0,107,0,0,0,112,0,117,0,109,0,0,0,112,0,117,0,122,0,0,0,112,0,119,0,103,0,0,0,112,0,119,0,105,0,0,0,112,0,119,0,114,0,0,0,112,0,119,0,119,0,0,0,112,0,120,0,109,0,0,0,112,0,121,0,50,0,0,0,112,0,121,0,51,0,0,0,112,0,121,0,52,0,0,0,112,0,121,0,53,0,0,0,112,0,121,0,54,0,0,0,112,0,121,0,55,0,0,0,112,0,121,0,56,0,0,0,112,0,121,0,57,0,0,0,112,0,121,0,101,0,0,0,112,0,121,0,115,0,0,0,112,0,121,0,117,0,0,0,112,0,122,0,104,0,0,0,112,0,122,0,110,0,0,0,113,0,102,0,122,0,0,0,113,0,117,0,98,0,0,0,113,0,117,0,100,0,0,0,113,0,117,0,102,0,0,0,113,0,117,0,103,0,0,0,113,0,117,0,104,0,0,0,113,0,117,0,107,0,0,0,113,0,117,0,108,0,0,0,113,0,117,0,112,0,0,0,113,0,117,0,114,0,0,0,113,0,117,0,119,0,0,0,113,0,117,0,120,0,0,0,113,0,117,0,121,0,0,0,113,0,117,0,122,0,0,0,113,0,118,0,104,0,0,0,113,0,118,0,105,0,0,0,113,0,118,0,106,0,0,0,113,0,118,0,108,0,0,0,113,0,118,0,109,0,0,0,113,0,118,0,110,0,0,0,113,0,118,0,111,0,0,0,113,0,118,0,112,0,0,0,113,0,118,0,122,0,0,0,113,0,119,0,101,0,0,0,113,0,119,0,109,0,0,0,113,0,119,0,115,0,0,0,113,0,120,0,110,0,0,0,113,0,120,0,111,0,0,0,113,0,120,0,112,0,0,0,113,0,120,0,114,0,0,0,113,0,120,0,116,0,0,0,113,0,120,0,117,0,0,0,113,0,121,0,97,0,0,0,113,0,121,0,112,0,0,0,114,0,97,0,103,0,0,0,114,0,98,0,98,0,0,0,114,0,98,0,112,0,0,0,114,0,99,0,102,0,0,0,114,0,101,0,103,0,0,0,114,0,101,0,121,0,0,0,114,0,103,0,97,0,0,0,114,0,103,0,110,0,0,0,114,0,103,0,117,0,0,0,114,0,104,0,103,0,0,0,114,0,104,0,112,0,0,0,114,0,105,0,102,0,0,0,114,0,105,0,114,0,0,0,114,0,106,0,103,0,0,0,114,0,106,0,105,0,0,0,114,0,106,0,115,0,0,0,114,0,107,0,109,0,0,0,114,0,107,0,119,0,0,0,114,0,109,0,114,0,0,0,114,0,109,0,122,0,0,0,114,0,110,0,97,0,0,0,114,0,110,0,98,0,0,0,114,0,110,0,100,0,0,0,114,0,110,0,103,0,0,0,114,0,110,0,108,0,0,0,114,0,110,0,110,0,0,0,114,0,110,0,112,0,0,0,114,0,110,0,114,0,0,0,114,0,110,0,119,0,0,0,114,0,111,0,99,0,0,0,114,0,111,0,114,0,0,0,114,0,111,0,117,0,0,0,114,0,111,0,119,0,0,0,114,0,112,0,110,0,0,0,114,0,112,0,116,0,0,0,114,0,114,0,116,0,0,0,114,0,115,0,98,0,0,0,114,0,116,0,99,0,0,0,114,0,116,0,104,0,0,0,114,0,116,0,109,0,0,0,114,0,116,0,115,0,0,0,114,0,116,0,119,0,0,0,114,0,117,0,107,0,0,0,114,0,119,0,111,0,0,0,114,0,119,0,114,0,0,0,114,0,120,0,100,0,0,0,114,0,120,0,119,0,0,0,114,0,121,0,110,0,0,0,114,0,121,0,115,0,0,0,114,0,121,0,117,0,0,0,114,0,122,0,104,0,0,0,115,0,97,0,111,0,0,0,115,0,100,0,109,0,0,0,115,0,100,0,120,0,0,0,115,0,101,0,100,0,0,0,115,0,101,0,104,0,0,0,115,0,101,0,105,0,0,0,115,0,101,0,109,0,0,0,115,0,101,0,111,0,0,0,115,0,101,0,115,0,0,0,115,0,101,0,117,0,0,0,115,0,101,0,122,0,0,0,115,0,102,0,98,0,0,0,115,0,102,0,101,0,0,0,115,0,102,0,109,0,0,0,115,0,102,0,115,0,0,0,115,0,102,0,119,0,0,0,115,0,103,0,108,0,0,0,115,0,103,0,111,0,0,0,115,0,103,0,112,0,0,0,115,0,106,0,119,0,0,0,115,0,107,0,107,0,0,0,115,0,110,0,98,0,0,0,115,0,112,0,103,0,0,0,115,0,112,0,105,0,0,0,115,0,112,0,120,0,0,0,115,0,112,0,121,0,0,0,115,0,113,0,97,0,0,0,115,0,113,0,104,0,0,0,115,0,113,0,120,0,0,0,115,0,114,0,111,0,0,0,115,0,115,0,104,0,0,0,115,0,115,0,121,0,0,0,115,0,117,0,101,0,0,0,115,0,117,0,103,0,0,0,115,0,117,0,111,0,0,0,115,0,118,0,107,0,0,0,115,0,118,0,109,0,0,0,115,0,118,0,114,0,0,0,115,0,118,0,120,0,0,0,115,0,119,0,98,0,0,0,115,0,119,0,99,0,0,0,115,0,119,0,104,0,0,0,115,0,120,0,101,0,0,0,115,0,120,0,103,0,0,0,115,0,120,0,117,0,0,0,115,0,120,0,119,0,0,0,115,0,121,0,105,0,0,0,115,0,121,0,114,0,0,0,115,0,122,0,103,0,0,0,115,0,122,0,108,0,0,0,115,0,122,0,110,0,0,0,115,0,122,0,112,0,0,0,115,0,122,0,115,0,0,0,115,0,122,0,121,0,0,0,116,0,98,0,98,0,0,0,116,0,100,0,117,0,0,0,116,0,100,0,120,0,0,0,116,0,101,0,99,0,0,0,116,0,101,0,107,0,0,0,116,0,102,0,116,0,0,0,116,0,103,0,103,0,0,0,116,0,104,0,99,0,0,0,116,0,105,0,97,0,0,0,116,0,106,0,103,0,0,0,116,0,106,0,115,0,0,0,116,0,106,0,119,0,0,0,116,0,107,0,103,0,0,0,116,0,107,0,107,0,0,0,116,0,107,0,122,0,0,0,116,0,108,0,104,0,0,0,116,0,108,0,119,0,0,0,116,0,109,0,97,0,0,0,116,0,109,0,109,0,0,0,116,0,109,0,112,0,0,0,116,0,109,0,119,0,0,0,116,0,111,0,101,0,0,0,116,0,113,0,98,0,0,0,116,0,113,0,119,0,0,0,116,0,115,0,102,0,0,0,116,0,116,0,113,0,0,0,116,0,117,0,121,0,0,0,116,0,120,0,101,0,0,0,116,0,120,0,121,0,0,0,116,0,121,0,97,0,0,0,116,0,121,0,101,0,0,0,116,0,121,0,108,0,0,0,116,0,121,0,110,0,0,0,116,0,121,0,112,0,0,0,116,0,122,0,104,0,0,0,116,0,122,0,106,0,0,0,116,0,122,0,120,0,0,0,117,0,97,0,114,0,0,0,117,0,98,0,121,0,0,0,117,0,100,0,103,0,0,0,117,0,103,0,104,0,0,0,117,0,104,0,97,0,0,0,117,0,104,0,110,0,0,0,117,0,105,0,118,0,0,0,117,0,106,0,105,0,0,0,117,0,107,0,115,0,0,0,117,0,107,0,121,0,0,0,117,0,108,0,105,0,0,0,117,0,108,0,119,0,0,0,117,0,109,0,103,0,0,0,117,0,109,0,117,0,0,0,117,0,110,0,97,0,0,0,117,0,110,0,101,0,0,0,117,0,110,0,105,0,0,0,117,0,110,0,112,0,0,0,117,0,110,0,117,0,0,0,117,0,110,0,120,0,0,0,117,0,110,0,122,0,0,0,117,0,111,0,107,0,0,0,117,0,111,0,110,0,0,0,117,0,112,0,118,0,0,0,117,0,114,0,107,0,0,0,117,0,115,0,112,0,0,0,117,0,115,0,117,0,0,0,117,0,116,0,104,0,0,0,117,0,116,0,112,0,0,0,117,0,116,0,117,0,0,0,117,0,117,0,109,0,0,0,117,0,117,0,110,0,0,0,117,0,117,0,114,0,0,0,117,0,117,0,117,0,0,0,117,0,118,0,104,0,0,0,117,0,118,0,108,0,0,0,117,0,121,0,97,0,0,0,117,0,122,0,110,0,0,0,118,0,97,0,121,0,0,0,118,0,98,0,98,0,0,0,118,0,98,0,107,0,0,0,118,0,101,0,97,0,0,0,118,0,101,0,98,0,0,0,118,0,101,0,99,0,0,0,118,0,101,0,100,0,0,0,118,0,101,0,101,0,0,0,118,0,101,0,102,0,0,0,118,0,101,0,103,0,0,0,118,0,101,0,104,0,0,0,118,0,101,0,105,0,0,0,118,0,101,0,106,0,0,0,118,0,101,0,107,0,0,0,118,0,101,0,108,0,0,0,118,0,101,0,112,0,0,0,118,0,101,0,115,0,0,0,118,0,101,0,116,0,0,0,118,0,101,0,118,0,0,0,118,0,101,0,119,0,0,0,118,0,101,0,120,0,0,0,118,0,101,0,121,0,0,0,118,0,101,0,122,0,0,0,118,0,103,0,114,0,0,0,118,0,103,0,116,0,0,0,118,0,105,0,118,0,0,0,118,0,107,0,97,0,0,0,118,0,107,0,105,0,0,0,118,0,107,0,107,0,0,0,118,0,107,0,116,0,0,0,118,0,107,0,122,0,0,0,118,0,108,0,112,0,0,0,118,0,108,0,115,0,0,0,118,0,110,0,107,0,0,0,118,0,110,0,109,0,0,0,118,0,110,0,112,0,0,0,118,0,111,0,116,0,0,0,118,0,114,0,97,0,0,0,118,0,115,0,105,0,0,0,118,0,116,0,111,0,0,0,118,0,117,0,116,0,0,0,118,0,119,0,97,0,0,0,119,0,99,0,105,0,0,0,119,0,100,0,100,0,0,0,119,0,100,0,103,0,0,0,119,0,100,0,121,0,0,0,119,0,101,0,97,0,0,0,119,0,101,0,119,0,0,0,119,0,102,0,103,0,0,0,119,0,103,0,103,0,0,0,119,0,103,0,105,0,0,0,119,0,103,0,111,0,0,0,119,0,103,0,117,0,0,0,119,0,103,0,119,0,0,0,119,0,103,0,121,0,0,0,119,0,104,0,103,0,0,0,119,0,104,0,107,0,0,0,119,0,105,0,114,0,0,0,119,0,105,0,119,0,0,0,119,0,105,0,121,0,0,0,119,0,106,0,105,0,0,0,119,0,107,0,100,0,0,0,119,0,107,0,121,0,0,0,119,0,108,0,97,0,0,0,119,0,108,0,99,0,0,0,119,0,108,0,101,0,0,0,119,0,110,0,103,0,0,0,119,0,111,0,119,0,0,0,119,0,111,0,121,0,0,0,119,0,112,0,99,0,0,0,119,0,114,0,97,0,0,0,119,0,114,0,98,0,0,0,119,0,114,0,100,0,0,0,119,0,115,0,103,0,0,0,119,0,115,0,105,0,0,0,119,0,116,0,102,0,0,0,119,0,116,0,107,0,0,0,119,0,116,0,109,0,0,0,119,0,116,0,119,0,0,0,119,0,117,0,100,0,0,0,119,0,117,0,104,0,0,0,119,0,117,0,114,0,0,0,119,0,117,0,117,0,0,0,119,0,119,0,111,0,0,0,119,0,119,0,114,0,0,0,119,0,119,0,119,0,0,0,119,0,120,0,97,0,0,0,119,0,120,0,119,0,0,0,119,0,121,0,97,0,0,0,119,0,121,0,98,0,0,0,119,0,121,0,114,0,0,0,119,0,121,0,121,0,0,0,120,0,97,0,103,0,0,0,120,0,98,0,97,0,0,0,120,0,98,0,114,0,0,0,120,0,98,0,119,0,0,0,120,0,98,0,120,0,0,0,120,0,98,0,121,0,0,0,120,0,99,0,121,0,0,0,120,0,100,0,97,0,0,0,120,0,100,0,99,0,0,0,120,0,100,0,107,0,0,0,120,0,100,0,109,0,0,0,120,0,100,0,111,0,0,0,120,0,100,0,113,0,0,0,120,0,100,0,121,0,0,0,120,0,101,0,98,0,0,0,120,0,101,0,100,0,0,0,120,0,101,0,103,0,0,0,120,0,101,0,112,0,0,0,120,0,102,0,97,0,0,0,120,0,103,0,105,0,0,0,120,0,103,0,114,0,0,0,120,0,103,0,117,0,0,0,120,0,103,0,119,0,0,0,120,0,104,0,97,0,0,0,120,0,104,0,109,0,0,0,120,0,104,0,114,0,0,0,120,0,105,0,97,0,0,0,120,0,105,0,98,0,0,0,120,0,105,0,108,0,0,0,120,0,105,0,110,0,0,0,120,0,105,0,112,0,0,0,120,0,105,0,118,0,0,0,120,0,105,0,121,0,0,0,120,0,106,0,98,0,0,0,120,0,106,0,116,0,0,0,120,0,107,0,104,0,0,0,120,0,108,0,103,0,0,0,120,0,108,0,105,0,0,0,120,0,108,0,115,0,0,0,120,0,108,0,117,0,0,0,120,0,108,0,121,0,0,0,120,0,109,0,109,0,0,0,120,0,109,0,118,0,0,0,120,0,109,0,119,0,0,0,120,0,111,0,103,0,0,0,120,0,111,0,105,0,0,0,120,0,111,0,107,0,0,0,120,0,111,0,114,0,0,0,120,0,111,0,119,0,0,0,120,0,112,0,101,0,0,0,120,0,113,0,97,0,0,0,120,0,113,0,116,0,0,0,120,0,114,0,103,0,0,0,120,0,114,0,105,0,0,0,120,0,114,0,113,0,0,0,120,0,114,0,114,0,0,0,120,0,114,0,119,0,0,0,120,0,115,0,106,0,0,0,120,0,115,0,121,0,0,0,120,0,116,0,121,0,0,0,120,0,116,0,122,0,0,0,120,0,117,0,100,0,0,0,120,0,117,0,106,0,0,0,120,0,118,0,105,0,0,0,120,0,118,0,115,0,0,0,120,0,119,0,97,0,0,0,120,0,119,0,103,0,0,0,120,0,119,0,114,0,0,0,120,0,119,0,116,0,0,0,120,0,119,0,119,0,0,0,120,0,120,0,98,0,0,0,120,0,120,0,107,0,0,0,120,0,120,0,109,0,0,0,120,0,120,0,114,0,0,0,120,0,120,0,116,0,0,0,120,0,121,0,116,0,0,0,120,0,121,0,121,0,0,0,120,0,122,0,109,0,0,0,120,0,122,0,112,0,0,0,121,0,98,0,100,0,0,0,121,0,98,0,101,0,0,0,121,0,99,0,104,0,0,0,121,0,99,0,110,0,0,0,121,0,99,0,112,0,0,0,121,0,100,0,100,0,0,0,121,0,100,0,103,0,0,0,121,0,100,0,107,0,0,0,121,0,100,0,115,0,0,0,121,0,101,0,97,0,0,0,121,0,101,0,99,0,0,0,121,0,101,0,110,0,0,0,121,0,101,0,121,0,0,0,121,0,103,0,97,0,0,0,121,0,103,0,105,0,0,0,121,0,103,0,112,0,0,0,121,0,103,0,119,0,0,0,121,0,104,0,100,0,0,0,121,0,104,0,115,0,0,0,121,0,105,0,104,0,0,0,121,0,105,0,120,0,0,0,121,0,105,0,121,0,0,0,121,0,105,0,122,0,0,0,121,0,107,0,97,0,0,0,121,0,107,0,114,0,0,0,121,0,108,0,101,0,0,0,121,0,108,0,105,0,0,0,121,0,108,0,114,0,0,0,121,0,108,0,117,0,0,0,121,0,108,0,121,0,0,0,121,0,109,0,120,0,0,0,121,0,109,0,122,0,0,0,121,0,110,0,97,0,0,0,121,0,110,0,103,0,0,0,121,0,110,0,104,0,0,0,121,0,110,0,115,0,0,0,121,0,110,0,117,0,0,0,121,0,111,0,98,0,0,0,121,0,111,0,103,0,0,0,121,0,111,0,105,0,0,0,121,0,111,0,116,0,0,0,121,0,112,0,107,0,0,0,121,0,112,0,122,0,0,0,121,0,114,0,101,0,0,0,121,0,114,0,105,0,0,0,121,0,114,0,115,0,0,0,121,0,114,0,121,0,0,0,121,0,115,0,121,0,0,0,121,0,116,0,112,0,0,0,121,0,117,0,117,0,0,0,121,0,118,0,97,0,0,0,121,0,118,0,116,0,0,0,121,0,119,0,103,0,0,0,121,0,119,0,108,0,0,0,121,0,119,0,110,0,0,0,121,0,119,0,119,0,0,0,121,0,120,0,97,0,0,0,121,0,120,0,103,0,0,0,121,0,120,0,117,0,0,0,121,0,120,0,121,0,0,0,121,0,121,0,114,0,0,0,121,0,121,0,117,0,0,0,121,0,121,0,122,0,0,0,121,0,122,0,103,0,0,0,121,0,122,0,107,0,0,0,122,0,98,0,99,0,0,0,122,0,98,0,108,0,0,0,122,0,98,0,119,0,0,0,122,0,99,0,100,0,0,0,122,0,100,0,106,0,0,0,122,0,101,0,97,0,0,0,122,0,103,0,104,0,0,0,122,0,103,0,114,0,0,0,122,0,104,0,100,0,0,0,122,0,104,0,110,0,0,0,122,0,105,0,122,0,0,0,122,0,107,0,100,0,0,0,122,0,107,0,122,0,0,0,122,0,108,0,101,0,0,0,122,0,108,0,106,0,0,0,122,0,108,0,109,0,0,0,122,0,108,0,113,0,0,0,122,0,108,0,115,0,0,0,122,0,108,0,119,0,0,0,122,0,110,0,107,0,0,0,122,0,110,0,115,0,0,0,122,0,111,0,104,0,0,0,122,0,111,0,111,0,0,0,122,0,113,0,101,0,0,0,122,0,114,0,97,0,0,0,122,0,114,0,103,0,0,0,122,0,114,0,115,0,0,0,122,0,117,0,97,0,0,0,122,0,117,0,104,0,0,0,122,0,117,0,121,0,0,0,122,0,120,0,120,0,0,0,122,0,121,0,98,0,0,0,122,0,121,0,103,0,0,0,122,0,121,0,106,0,0,0,122,0,121,0,110,0,0,0,122,0,121,0,112,0,0,0,122,0,122,0,106,0,0,0,69,0,71,0,126,0,72,0,0,0,116,0,122,0,49,0,48,0,0,0,116,0,122,0,51,0,48,0,0,0,116,0,122,0,50,0,48,0,0,0,115,0,121,0,113,0,117,0,0,0,122,0,119,0,109,0,115,0,0,0,67,0,97,0,110,0,115,0,0,0,109,0,119,0,114,0,117,0,0,0,98,0,119,0,102,0,114,0,0,0,84,0,104,0,97,0,105,0,0,0,109,0,119,0,109,0,103,0,0,0,71,0,114,0,101,0,107,0,0,0,84,0,102,0,110,0,103,0,0,0,103,0,121,0,101,0,115,0,0,0,103,0,121,0,100,0,101,0,0,0,83,0,121,0,114,0,99,0,0,0,109,0,119,0,110,0,98,0,0,0,115,0,121,0,105,0,100,0,0,0,117,0,121,0,116,0,97,0,0,0,82,0,117,0,110,0,114,0,0,0,98,0,122,0,115,0,99,0,0,0,104,0,117,0,112,0,115,0,0,0,115,0,122,0,115,0,104,0,0,0,122,0,119,0,109,0,110,0,0,0,66,0,117,0,103,0,105,0,0,0,73,0,116,0,97,0,108,0,0,0,97,0,122,0,108,0,97,0,0,0,97,0,122,0,109,0,105,0,0,0,97,0,122,0,115,0,114,0,0,0,107,0,119,0,107,0,117,0,0,0,108,0,114,0,109,0,121,0,0,0,117,0,122,0,115,0,97,0,0,0,117,0,122,0,115,0,117,0,0,0,98,0,121,0,104,0,114,0,0,0,103,0,119,0,98,0,115,0,0,0,104,0,117,0,107,0,109,0,0,0,108,0,121,0,110,0,108,0,0,0,109,0,119,0,110,0,101,0,0,0,117,0,122,0,115,0,105,0,0,0,83,0,97,0,114,0,98,0,0,0,100,0,101,0,115,0,108,0,0,0,100,0,101,0,115,0,116,0,0,0,103,0,101,0,115,0,122,0,0,0,105,0,101,0,115,0,111,0,0,0,105,0,113,0,119,0,97,0,0,0,110,0,108,0,122,0,104,0,0,0,110,0,112,0,103,0,97,0,0,0,121,0,101,0,115,0,97,0,0,0,121,0,101,0,115,0,104,0,0,0,97,0,122,0,98,0,97,0,0,0,97,0,122,0,110,0,97,0,0,0,97,0,122,0,115,0,109,0,0,0,98,0,119,0,107,0,108,0,0,0,98,0,119,0,107,0,119,0,0,0,109,0,118,0,110,0,111,0,0,0,115,0,118,0,115,0,118,0,0,0,117,0,122,0,110,0,103,0,0,0,83,0,121,0,108,0,111,0,0,0,97,0,122,0,103,0,97,0,0,0,98,0,115,0,115,0,119,0,0,0,98,0,121,0,98,0,114,0,0,0,98,0,121,0,118,0,105,0,0,0,98,0,122,0,99,0,121,0,0,0,99,0,118,0,115,0,100,0,0,0,101,0,116,0,97,0,102,0,0,0,104,0,117,0,99,0,115,0,0,0,108,0,117,0,114,0,109,0,0,0,108,0,121,0,106,0,97,0,0,0,117,0,121,0,99,0,111,0,0,0,117,0,121,0,115,0,111,0,0,0,117,0,121,0,116,0,116,0,0,0,117,0,122,0,116,0,107,0,0,0,117,0,122,0,116,0,111,0,0,0,67,0,104,0,97,0,109,0,0,0,75,0,97,0,108,0,105,0,0,0,80,0,104,0,97,0,103,0,0,0,83,0,97,0,109,0,114,0,0,0,88,0,115,0,117,0,120,0,0,0,66,0,111,0,112,0,111,0,0,0,67,0,111,0,112,0,116,0,0,0,82,0,106,0,110,0,103,0,0,0,83,0,111,0,114,0,97,0,0,0,86,0,97,0,105,0,105,0,0,0,97,0,101,0,114,0,107,0,0,0,97,0,101,0,117,0,113,0,0,0,97,0,117,0,119,0,97,0,0,0,98,0,105,0,98,0,114,0,0,0,98,0,105,0,107,0,105,0,0,0,98,0,105,0,109,0,97,0,0,0,98,0,105,0,109,0,121,0,0,0,98,0,106,0,97,0,113,0,0,0,98,0,110,0,116,0,117,0,0,0,98,0,115,0,101,0,103,0,0,0,98,0,115,0,114,0,99,0,0,0,98,0,119,0,108,0,111,0,0,0,98,0,119,0,110,0,119,0,0,0,99,0,100,0,105,0,116,0,0,0,99,0,100,0,107,0,103,0,0,0,99,0,100,0,107,0,108,0,0,0,99,0,102,0,109,0,112,0,0,0,99,0,102,0,115,0,101,0,0,0,99,0,104,0,116,0,105,0,0,0,99,0,105,0,108,0,103,0,0,0,99,0,105,0,118,0,98,0,0,0,99,0,105,0,122,0,122,0,0,0,99,0,108,0,114,0,109,0,0,0,99,0,108,0,118,0,115,0,0,0,99,0,110,0,108,0,110,0,0,0,99,0,110,0,110,0,120,0,0,0,99,0,110,0,121,0,110,0,0,0,100,0,101,0,116,0,104,0,0,0,100,0,106,0,111,0,98,0,0,0,101,0,103,0,109,0,110,0,0,0,101,0,115,0,101,0,120,0,0,0,101,0,115,0,103,0,99,0,0,0,101,0,115,0,104,0,117,0,0,0,101,0,115,0,112,0,118,0,0,0,103,0,101,0,107,0,97,0,0,0,103,0,108,0,115,0,109,0,0,0,103,0,110,0,102,0,97,0,0,0,103,0,110,0,102,0,114,0,0,0,103,0,110,0,108,0,111,0,0,0,103,0,110,0,112,0,105,0,0,0,103,0,119,0,99,0,97,0,0,0,103,0,119,0,111,0,105,0,0,0,103,0,121,0,117,0,116,0,0,0,104,0,110,0,99,0,112,0,0,0,104,0,117,0,100,0,101,0,0,0,104,0,117,0,100,0,117,0,0,0,104,0,117,0,103,0,121,0,0,0,104,0,117,0,109,0,105,0,0,0,104,0,117,0,110,0,107,0,0,0,104,0,117,0,115,0,107,0,0,0,104,0,117,0,118,0,101,0,0,0,105,0,100,0,103,0,111,0,0,0,105,0,100,0,106,0,119,0,0,0,105,0,100,0,112,0,112,0,0,0,105,0,101,0,99,0,101,0,0,0,105,0,101,0,99,0,119,0,0,0,105,0,101,0,107,0,101,0,0,0,105,0,101,0,107,0,107,0,0,0,105,0,101,0,107,0,121,0,0,0,105,0,101,0,108,0,107,0,0,0,105,0,101,0,108,0,109,0,0,0,105,0,108,0,104,0,97,0,0,0,105,0,110,0,108,0,97,0,0,0,105,0,110,0,116,0,103,0,0,0,105,0,110,0,116,0,114,0,0,0,105,0,116,0,98,0,97,0,0,0,105,0,116,0,102,0,105,0,0,0,105,0,116,0,102,0,114,0,0,0,105,0,116,0,112,0,97,0,0,0,107,0,119,0,106,0,97,0,0,0,108,0,97,0,97,0,116,0,0,0,108,0,97,0,99,0,104,0,0,0,108,0,97,0,118,0,105,0,0,0,108,0,97,0,120,0,101,0,0,0,108,0,114,0,103,0,107,0,0,0,108,0,114,0,114,0,105,0,0,0,108,0,117,0,101,0,115,0,0,0,108,0,117,0,108,0,117,0,0,0,108,0,121,0,110,0,113,0,0,0,108,0,121,0,119,0,97,0,0,0,109,0,99,0,103,0,97,0,0,0,109,0,99,0,106,0,101,0,0,0,109,0,99,0,108,0,97,0,0,0,109,0,99,0,109,0,97,0,0,0,109,0,99,0,109,0,99,0,0,0,109,0,99,0,109,0,103,0,0,0,109,0,99,0,109,0,111,0,0,0,109,0,100,0,104,0,105,0,0,0,109,0,100,0,114,0,105,0,0,0,109,0,117,0,98,0,108,0,0,0,109,0,117,0,114,0,114,0,0,0,109,0,119,0,110,0,105,0,0,0,109,0,119,0,110,0,107,0,0,0,109,0,119,0,110,0,117,0,0,0,109,0,119,0,115,0,97,0,0,0,110,0,97,0,111,0,104,0,0,0,110,0,103,0,97,0,110,0,0,0,110,0,103,0,98,0,111,0,0,0,110,0,103,0,99,0,114,0,0,0,110,0,103,0,106,0,105,0,0,0,110,0,103,0,114,0,105,0,0,0,110,0,103,0,116,0,97,0,0,0,110,0,105,0,99,0,97,0,0,0,110,0,112,0,107,0,111,0,0,0,110,0,112,0,110,0,97,0,0,0,110,0,112,0,114,0,97,0,0,0,110,0,112,0,115,0,97,0,0,0,110,0,112,0,115,0,101,0,0,0,111,0,109,0,122,0,97,0,0,0,112,0,107,0,103,0,98,0,0,0,114,0,111,0,97,0,114,0,0,0,114,0,117,0,98,0,97,0,0,0,114,0,117,0,98,0,117,0,0,0,114,0,117,0,100,0,97,0,0,0,114,0,117,0,115,0,97,0,0,0,114,0,117,0,116,0,97,0,0,0,115,0,100,0,100,0,119,0,0,0,115,0,100,0,103,0,122,0,0,0,115,0,100,0,110,0,114,0,0,0,115,0,107,0,112,0,118,0,0,0,115,0,107,0,122,0,105,0,0,0,115,0,108,0,110,0,119,0,0,0,115,0,110,0,108,0,103,0,0,0,115,0,111,0,98,0,114,0,0,0,115,0,111,0,103,0,101,0,0,0,115,0,111,0,115,0,97,0,0,0,115,0,114,0,115,0,105,0,0,0,115,0,114,0,119,0,97,0,0,0,115,0,115,0,101,0,99,0,0,0,115,0,115,0,101,0,119,0,0,0,115,0,115,0,106,0,103,0,0,0,115,0,121,0,104,0,97,0,0,0,116,0,100,0,107,0,97,0,0,0,116,0,106,0,103,0,98,0,0,0,116,0,108,0,98,0,97,0,0,0,116,0,108,0,118,0,105,0,0,0,117,0,115,0,99,0,97,0,0,0,117,0,115,0,100,0,99,0,0,0,117,0,115,0,108,0,97,0,0,0,117,0,115,0,110,0,104,0,0,0,117,0,121,0,99,0,108,0,0,0,117,0,121,0,109,0,97,0,0,0,119,0,102,0,117,0,118,0,0,0,119,0,115,0,118,0,115,0,0,0,121,0,101,0,104,0,117,0,0,0,121,0,101,0,106,0,97,0,0,0,121,0,101,0,114,0,97,0,0,0,121,0,101,0,115,0,117,0,0,0,122,0,97,0,101,0,99,0,0,0,122,0,97,0,103,0,112,0,0,0,122,0,119,0,104,0,97,0,0,0,49,0,57,0,57,0,52,0,0,0,83,0,103,0,110,0,119,0,0,0,97,0,122,0,110,0,118,0,0,0,98,0,119,0,106,0,119,0,0,0,98,0,119,0,115,0,101,0,0,0,98,0,121,0,104,0,111,0,0,0,99,0,110,0,102,0,106,0,0,0,99,0,118,0,116,0,115,0,0,0,99,0,122,0,53,0,49,0,0,0,99,0,122,0,53,0,50,0,0,0,99,0,122,0,54,0,52,0,0,0,99,0,122,0,55,0,50,0,0,0,99,0,122,0,56,0,48,0,0,0,103,0,101,0,115,0,106,0,0,0,103,0,121,0,99,0,117,0,0,0,103,0,121,0,112,0,116,0,0,0,104,0,117,0,104,0,101,0,0,0,104,0,117,0,107,0,118,0,0,0,105,0,116,0,109,0,115,0,0,0,109,0,119,0,116,0,104,0,0,0,114,0,111,0,99,0,118,0,0,0,114,0,115,0,118,0,111,0,0,0,115,0,118,0,115,0,115,0,0,0,115,0,122,0,108,0,117,0,0,0,117,0,122,0,102,0,97,0,0,0,117,0,122,0,106,0,105,0,0,0,99,0,122,0,107,0,114,0,0,0,83,0,111,0,121,0,111,0,0,0,99,0,122,0,107,0,97,0,0,0,99,0,122,0,112,0,97,0,0,0,99,0,122,0,115,0,116,0,0,0,104,0,117,0,115,0,110,0,0,0,105,0,116,0,98,0,110,0,0,0,105,0,116,0,98,0,111,0,0,0,105,0,116,0,116,0,110,0,0,0,109,0,116,0,53,0,48,0,0,0,112,0,108,0,108,0,98,0,0,0,117,0,121,0,114,0,110,0,0,0,65,0,103,0,104,0,98,0,0,0,65,0,114,0,109,0,105,0,0,0,65,0,118,0,115,0,116,0,0,0,66,0,97,0,108,0,105,0,0,0,66,0,97,0,109,0,117,0,0,0,66,0,97,0,116,0,107,0,0,0,66,0,117,0,104,0,100,0,0,0,67,0,97,0,107,0,109,0,0,0,67,0,97,0,114,0,105,0,0,0,67,0,104,0,101,0,114,0,0,0,67,0,112,0,114,0,116,0,0,0,68,0,117,0,112,0,108,0,0,0,69,0,103,0,121,0,112,0,0,0,69,0,108,0,98,0,97,0,0,0,71,0,111,0,116,0,104,0,0,0,71,0,114,0,97,0,110,0,0,0,72,0,97,0,110,0,111,0,0,0,72,0,109,0,110,0,103,0,0,0,74,0,97,0,118,0,97,0,0,0,76,0,97,0,110,0,97,0,0,0,76,0,101,0,112,0,99,0,0,0,76,0,105,0,109,0,98,0,0,0,76,0,105,0,115,0,117,0,0,0,76,0,121,0,99,0,105,0,0,0,76,0,121,0,100,0,105,0,0,0,77,0,97,0,104,0,106,0,0,0,77,0,97,0,110,0,100,0,0,0,77,0,97,0,110,0,105,0,0,0,77,0,101,0,110,0,100,0,0,0,77,0,101,0,114,0,99,0,0,0,77,0,111,0,100,0,105,0,0,0,77,0,114,0,111,0,111,0,0,0,78,0,97,0,114,0,98,0,0,0,78,0,98,0,97,0,116,0,0,0,79,0,103,0,97,0,109,0,0,0,79,0,108,0,99,0,107,0,0,0,79,0,114,0,107,0,104,0,0,0,79,0,115,0,103,0,101,0,0,0,79,0,115,0,109,0,97,0,0,0,80,0,97,0,108,0,109,0,0,0,80,0,101,0,114,0,109,0,0,0,80,0,104,0,108,0,105,0,0,0,80,0,104,0,108,0,112,0,0,0,80,0,104,0,110,0,120,0,0,0,80,0,108,0,114,0,100,0,0,0,80,0,114,0,116,0,105,0,0,0,82,0,111,0,104,0,103,0,0,0,83,0,97,0,117,0,114,0,0,0,83,0,104,0,114,0,100,0,0,0,83,0,105,0,100,0,100,0,0,0,83,0,117,0,110,0,100,0,0,0,84,0,97,0,103,0,98,0,0,0,84,0,97,0,107,0,114,0,0,0,84,0,97,0,108,0,101,0,0,0,84,0,97,0,108,0,117,0,0,0,84,0,97,0,118,0,116,0,0,0,84,0,103,0,108,0,103,0,0,0,84,0,104,0,97,0,97,0,0,0,84,0,105,0,114,0,104,0,0,0,85,0,103,0,97,0,114,0,0,0,87,0,97,0,114,0,97,0,0,0,88,0,112,0,101,0,111,0,0,0,89,0,105,0,105,0,105,0,0,0,97,0,101,0,97,0,106,0,0,0,97,0,101,0,97,0,122,0,0,0,97,0,101,0,100,0,117,0,0,0,97,0,101,0,102,0,117,0,0,0,97,0,101,0,115,0,104,0,0,0,97,0,109,0,97,0,103,0,0,0,97,0,109,0,97,0,118,0,0,0,97,0,109,0,101,0,114,0,0,0,97,0,109,0,103,0,114,0,0,0,97,0,109,0,107,0,116,0,0,0,97,0,109,0,108,0,111,0,0,0,97,0,109,0,115,0,104,0,0,0,97,0,109,0,115,0,117,0,0,0,97,0,109,0,116,0,118,0,0,0,97,0,109,0,118,0,100,0,0,0,97,0,117,0,110,0,116,0,0,0,97,0,117,0,115,0,97,0,0,0,97,0,122,0,110,0,120,0,0,0,97,0,122,0,115,0,97,0,0,0,97,0,122,0,120,0,97,0,0,0,97,0,122,0,121,0,101,0,0,0,98,0,104,0,49,0,55,0,0,0,98,0,105,0,98,0,98,0,0,0,98,0,105,0,99,0,97,0,0,0,98,0,105,0,99,0,105,0,0,0,98,0,105,0,103,0,105,0,0,0,98,0,105,0,107,0,114,0,0,0,98,0,105,0,107,0,121,0,0,0,98,0,105,0,109,0,117,0,0,0,98,0,105,0,109,0,119,0,0,0,98,0,105,0,110,0,103,0,0,0,98,0,105,0,114,0,109,0,0,0,98,0,105,0,114,0,116,0,0,0,98,0,105,0,114,0,121,0,0,0,98,0,106,0,98,0,111,0,0,0,98,0,106,0,99,0,111,0,0,0,98,0,106,0,100,0,111,0,0,0,98,0,106,0,107,0,111,0,0,0,98,0,106,0,108,0,105,0,0,0,98,0,106,0,109,0,111,0,0,0,98,0,106,0,111,0,117,0,0,0,98,0,106,0,112,0,108,0,0,0,98,0,106,0,122,0,111,0,0,0,98,0,110,0,98,0,101,0,0,0,98,0,110,0,98,0,109,0,0,0,98,0,110,0,116,0,101,0,0,0,98,0,113,0,98,0,111,0,0,0,98,0,113,0,115,0,97,0,0,0,98,0,113,0,115,0,101,0,0,0,98,0,114,0,97,0,99,0,0,0,98,0,114,0,97,0,112,0,0,0,98,0,114,0,98,0,97,0,0,0,98,0,114,0,99,0,101,0,0,0,98,0,114,0,100,0,102,0,0,0,98,0,114,0,101,0,115,0,0,0,98,0,114,0,103,0,111,0,0,0,98,0,114,0,109,0,97,0,0,0,98,0,114,0,109,0,103,0,0,0,98,0,114,0,112,0,101,0,0,0,98,0,114,0,112,0,105,0,0,0,98,0,114,0,112,0,114,0,0,0,98,0,114,0,114,0,106,0,0,0,98,0,114,0,115,0,99,0,0,0,98,0,114,0,115,0,101,0,0,0,98,0,114,0,115,0,112,0,0,0,98,0,114,0,116,0,111,0,0,0,98,0,115,0,97,0,107,0,0,0,98,0,115,0,98,0,105,0,0,0,98,0,115,0,98,0,112,0,0,0,98,0,115,0,98,0,121,0,0,0,98,0,115,0,99,0,101,0,0,0,98,0,115,0,99,0,105,0,0,0,98,0,115,0,99,0,107,0,0,0,98,0,115,0,99,0,111,0,0,0,98,0,115,0,99,0,115,0,0,0,98,0,115,0,101,0,120,0,0,0,98,0,115,0,102,0,112,0,0,0,98,0,115,0,104,0,105,0,0,0,98,0,115,0,104,0,116,0,0,0,98,0,115,0,105,0,110,0,0,0,98,0,115,0,108,0,105,0,0,0,98,0,115,0,109,0,99,0,0,0,98,0,115,0,109,0,103,0,0,0,98,0,115,0,109,0,105,0,0,0,98,0,115,0,110,0,101,0,0,0,98,0,115,0,110,0,115,0,0,0,98,0,115,0,114,0,105,0,0,0,98,0,115,0,115,0,97,0,0,0,98,0,115,0,115,0,101,0,0,0,98,0,115,0,115,0,111,0,0,0,98,0,115,0,115,0,115,0,0,0,98,0,115,0,119,0,103,0,0,0,98,0,116,0,103,0,97,0,0,0,98,0,116,0,116,0,121,0,0,0,98,0,119,0,99,0,101,0,0,0,98,0,119,0,99,0,104,0,0,0,98,0,119,0,103,0,97,0,0,0,98,0,119,0,103,0,104,0,0,0,98,0,119,0,107,0,103,0,0,0,98,0,119,0,110,0,101,0,0,0,98,0,119,0,115,0,116,0,0,0,98,0,121,0,104,0,109,0,0,0,98,0,121,0,109,0,97,0,0,0,98,0,121,0,109,0,105,0,0,0,98,0,122,0,98,0,122,0,0,0,98,0,122,0,111,0,119,0,0,0,99,0,97,0,97,0,98,0,0,0,99,0,97,0,98,0,99,0,0,0,99,0,97,0,109,0,98,0,0,0,99,0,97,0,110,0,98,0,0,0,99,0,97,0,110,0,108,0,0,0,99,0,97,0,111,0,110,0,0,0,99,0,97,0,112,0,101,0,0,0,99,0,97,0,113,0,99,0,0,0,99,0,97,0,115,0,107,0,0,0,99,0,97,0,121,0,116,0,0,0,99,0,100,0,98,0,99,0,0,0,99,0,100,0,98,0,117,0,0,0,99,0,100,0,101,0,113,0,0,0,99,0,100,0,104,0,117,0,0,0,99,0,100,0,107,0,99,0,0,0,99,0,100,0,107,0,101,0,0,0,99,0,100,0,107,0,110,0,0,0,99,0,100,0,107,0,115,0,0,0,99,0,100,0,108,0,111,0,0,0,99,0,100,0,108,0,117,0,0,0,99,0,100,0,109,0,97,0,0,0,99,0,100,0,110,0,107,0,0,0,99,0,100,0,110,0,117,0,0,0,99,0,100,0,115,0,97,0,0,0,99,0,100,0,115,0,107,0,0,0,99,0,100,0,115,0,117,0,0,0,99,0,100,0,116,0,97,0,0,0,99,0,100,0,116,0,111,0,0,0,99,0,100,0,116,0,117,0,0,0,99,0,102,0,97,0,99,0,0,0,99,0,102,0,98,0,98,0,0,0,99,0,102,0,98,0,107,0,0,0,99,0,102,0,104,0,107,0,0,0,99,0,102,0,104,0,109,0,0,0,99,0,102,0,104,0,115,0,0,0,99,0,102,0,107,0,98,0,0,0,99,0,102,0,107,0,103,0,0,0,99,0,102,0,108,0,98,0,0,0,99,0,102,0,109,0,98,0,0,0,99,0,102,0,110,0,109,0,0,0,99,0,102,0,111,0,112,0,0,0,99,0,102,0,117,0,107,0,0,0,99,0,102,0,118,0,107,0,0,0,99,0,104,0,97,0,103,0,0,0,99,0,104,0,97,0,105,0,0,0,99,0,104,0,97,0,114,0,0,0,99,0,104,0,98,0,101,0,0,0,99,0,104,0,98,0,108,0,0,0,99,0,104,0,98,0,115,0,0,0,99,0,104,0,102,0,114,0,0,0,99,0,104,0,103,0,101,0,0,0,99,0,104,0,103,0,108,0,0,0,99,0,104,0,103,0,114,0,0,0,99,0,104,0,106,0,117,0,0,0,99,0,104,0,108,0,117,0,0,0,99,0,104,0,110,0,101,0,0,0,99,0,104,0,110,0,119,0,0,0,99,0,104,0,111,0,119,0,0,0,99,0,104,0,115,0,111,0,0,0,99,0,104,0,115,0,122,0,0,0,99,0,104,0,116,0,103,0,0,0,99,0,104,0,117,0,114,0,0,0,99,0,104,0,118,0,100,0,0,0,99,0,104,0,118,0,115,0,0,0,99,0,105,0,97,0,98,0,0,0,99,0,105,0,98,0,115,0,0,0,99,0,105,0,99,0,109,0,0,0,99,0,105,0,100,0,110,0,0,0,99,0,105,0,103,0,100,0,0,0,99,0,105,0,108,0,99,0,0,0,99,0,105,0,109,0,103,0,0,0,99,0,105,0,115,0,109,0,0,0,99,0,105,0,115,0,118,0,0,0,99,0,105,0,119,0,114,0,0,0,99,0,105,0,121,0,109,0,0,0,99,0,108,0,97,0,105,0,0,0,99,0,108,0,97,0,110,0,0,0,99,0,108,0,97,0,112,0,0,0,99,0,108,0,97,0,114,0,0,0,99,0,108,0,97,0,116,0,0,0,99,0,108,0,98,0,105,0,0,0,99,0,108,0,99,0,111,0,0,0,99,0,108,0,108,0,105,0,0,0,99,0,108,0,108,0,108,0,0,0,99,0,108,0,108,0,114,0,0,0,99,0,108,0,109,0,97,0,0,0,99,0,108,0,109,0,108,0,0,0,99,0,108,0,110,0,98,0,0,0,99,0,108,0,116,0,97,0,0,0,99,0,109,0,97,0,100,0,0,0,99,0,109,0,99,0,101,0,0,0,99,0,109,0,101,0,110,0,0,0,99,0,109,0,101,0,115,0,0,0,99,0,109,0,108,0,116,0,0,0,99,0,109,0,110,0,111,0,0,0,99,0,109,0,110,0,119,0,0,0,99,0,109,0,111,0,117,0,0,0,99,0,109,0,115,0,117,0,0,0,99,0,109,0,115,0,119,0,0,0,99,0,110,0,97,0,104,0,0,0,99,0,110,0,98,0,106,0,0,0,99,0,110,0,99,0,113,0,0,0,99,0,110,0,103,0,100,0,0,0,99,0,110,0,103,0,115,0,0,0,99,0,110,0,103,0,120,0,0,0,99,0,110,0,103,0,122,0,0,0,99,0,110,0,104,0,101,0,0,0,99,0,110,0,104,0,105,0,0,0,99,0,110,0,104,0,110,0,0,0,99,0,110,0,106,0,108,0,0,0,99,0,110,0,106,0,115,0,0,0,99,0,110,0,106,0,120,0,0,0,99,0,110,0,109,0,111,0,0,0,99,0,110,0,110,0,109,0,0,0,99,0,110,0,113,0,104,0,0,0,99,0,110,0,115,0,104,0,0,0,99,0,110,0,115,0,110,0,0,0,99,0,110,0,115,0,120,0,0,0,99,0,110,0,116,0,106,0,0,0,99,0,110,0,116,0,119,0,0,0,99,0,110,0,120,0,106,0,0,0,99,0,110,0,120,0,122,0,0,0,99,0,110,0,122,0,106,0,0,0,99,0,111,0,100,0,99,0,0,0,99,0,114,0,115,0,106,0,0,0,99,0,117,0,48,0,49,0,0,0,99,0,117,0,57,0,57,0,0,0,99,0,118,0,98,0,114,0,0,0,99,0,118,0,98,0,118,0,0,0,99,0,118,0,99,0,97,0,0,0,99,0,118,0,99,0,102,0,0,0,99,0,118,0,99,0,114,0,0,0,99,0,118,0,109,0,97,0,0,0,99,0,118,0,109,0,111,0,0,0,99,0,118,0,112,0,97,0,0,0,99,0,118,0,112,0,110,0,0,0,99,0,118,0,112,0,114,0,0,0,99,0,118,0,114,0,98,0,0,0,99,0,118,0,114,0,103,0,0,0,99,0,118,0,114,0,115,0,0,0,99,0,118,0,115,0,102,0,0,0,99,0,118,0,115,0,111,0,0,0,99,0,118,0,115,0,115,0,0,0,99,0,118,0,115,0,118,0,0,0,99,0,118,0,116,0,97,0,0,0,99,0,122,0,49,0,48,0,0,0,99,0,122,0,50,0,48,0,0,0,99,0,122,0,51,0,49,0,0,0,99,0,122,0,51,0,50,0,0,0,99,0,122,0,52,0,49,0,0,0,99,0,122,0,52,0,50,0,0,0,99,0,122,0,53,0,51,0,0,0,99,0,122,0,54,0,51,0,0,0,99,0,122,0,55,0,49,0,0,0,100,0,101,0,98,0,98,0,0,0,100,0,101,0,98,0,101,0,0,0,100,0,101,0,98,0,119,0,0,0,100,0,101,0,98,0,121,0,0,0,100,0,101,0,104,0,98,0,0,0,100,0,101,0,104,0,101,0,0,0,100,0,101,0,104,0,104,0,0,0,100,0,101,0,109,0,118,0,0,0,100,0,101,0,110,0,105,0,0,0,100,0,101,0,110,0,119,0,0,0,100,0,101,0,114,0,112,0,0,0,100,0,101,0,115,0,104,0,0,0,100,0,101,0,115,0,110,0,0,0,100,0,106,0,116,0,97,0,0,0,101,0,101,0,51,0,55,0,0,0,101,0,101,0,51,0,57,0,0,0,101,0,101,0,52,0,53,0,0,0,101,0,101,0,53,0,48,0,0,0,101,0,101,0,53,0,50,0,0,0,101,0,101,0,53,0,54,0,0,0,101,0,101,0,54,0,48,0,0,0,101,0,101,0,54,0,52,0,0,0,101,0,101,0,54,0,56,0,0,0,101,0,101,0,55,0,49,0,0,0,101,0,101,0,55,0,52,0,0,0,101,0,101,0,55,0,57,0,0,0,101,0,101,0,56,0,49,0,0,0,101,0,101,0,56,0,52,0,0,0,101,0,101,0,56,0,55,0,0,0,101,0,103,0,98,0,97,0,0,0,101,0,103,0,98,0,104,0,0,0,101,0,103,0,100,0,107,0,0,0,101,0,103,0,100,0,116,0,0,0,101,0,103,0,103,0,104,0,0,0,101,0,103,0,103,0,122,0,0,0,101,0,103,0,105,0,115,0,0,0,101,0,103,0,106,0,115,0,0,0,101,0,103,0,107,0,98,0,0,0,101,0,103,0,107,0,110,0,0,0,101,0,103,0,108,0,120,0,0,0,101,0,103,0,109,0,116,0,0,0,101,0,114,0,97,0,110,0,0,0,101,0,114,0,100,0,107,0,0,0,101,0,114,0,100,0,117,0,0,0,101,0,114,0,103,0,98,0,0,0,101,0,114,0,109,0,97,0,0,0,101,0,114,0,115,0,107,0,0,0,101,0,115,0,97,0,98,0,0,0,101,0,115,0,97,0,108,0,0,0,101,0,115,0,97,0,110,0,0,0,101,0,115,0,97,0,118,0,0,0,101,0,115,0,98,0,97,0,0,0,101,0,115,0,98,0,105,0,0,0,101,0,115,0,98,0,117,0,0,0,101,0,115,0,99,0,101,0,0,0,101,0,115,0,103,0,97,0,0,0,101,0,115,0,103,0,105,0,0,0,101,0,115,0,103,0,114,0,0,0,101,0,115,0,103,0,117,0,0,0,101,0,115,0,105,0,98,0,0,0,101,0,115,0,108,0,101,0,0,0,101,0,115,0,108,0,111,0,0,0,101,0,115,0,108,0,117,0,0,0,101,0,115,0,109,0,97,0,0,0,101,0,115,0,109,0,108,0,0,0,101,0,115,0,109,0,117,0,0,0,101,0,115,0,110,0,97,0,0,0,101,0,115,0,110,0,99,0,0,0,101,0,115,0,111,0,114,0,0,0,101,0,115,0,112,0,109,0,0,0,101,0,115,0,112,0,111,0,0,0,101,0,115,0,114,0,105,0,0,0,101,0,115,0,115,0,97,0,0,0,101,0,115,0,115,0,101,0,0,0,101,0,115,0,115,0,103,0,0,0,101,0,115,0,115,0,111,0,0,0,101,0,115,0,115,0,115,0,0,0,101,0,115,0,116,0,111,0,0,0,101,0,115,0,118,0,97,0,0,0,101,0,115,0,118,0,99,0,0,0,101,0,115,0,118,0,105,0,0,0,101,0,115,0,122,0,97,0,0,0,101,0,116,0,97,0,97,0,0,0,101,0,116,0,97,0,109,0,0,0,101,0,116,0,98,0,101,0,0,0,101,0,116,0,100,0,100,0,0,0,101,0,116,0,103,0,97,0,0,0,101,0,116,0,104,0,97,0,0,0,101,0,116,0,111,0,114,0,0,0,101,0,116,0,115,0,105,0,0,0,101,0,116,0,116,0,105,0,0,0,102,0,105,0,48,0,49,0,0,0,102,0,114,0,98,0,108,0,0,0,102,0,114,0,99,0,112,0,0,0,102,0,114,0,109,0,102,0,0,0,102,0,114,0,110,0,99,0,0,0,102,0,114,0,112,0,102,0,0,0,102,0,114,0,112,0,109,0,0,0,102,0,114,0,116,0,102,0,0,0,102,0,114,0,119,0,102,0,0,0,103,0,100,0,49,0,48,0,0,0,103,0,101,0,97,0,98,0,0,0,103,0,101,0,97,0,106,0,0,0,103,0,101,0,103,0,117,0,0,0,103,0,101,0,105,0,109,0,0,0,103,0,101,0,107,0,107,0,0,0,103,0,101,0,109,0,109,0,0,0,103,0,101,0,114,0,108,0,0,0,103,0,101,0,116,0,98,0,0,0,103,0,104,0,97,0,97,0,0,0,103,0,104,0,97,0,102,0,0,0,103,0,104,0,97,0,104,0,0,0,103,0,104,0,98,0,101,0,0,0,103,0,104,0,98,0,111,0,0,0,103,0,104,0,99,0,112,0,0,0,103,0,104,0,101,0,112,0,0,0,103,0,104,0,110,0,101,0,0,0,103,0,104,0,110,0,112,0,0,0,103,0,104,0,111,0,116,0,0,0,103,0,104,0,115,0,118,0,0,0,103,0,104,0,116,0,118,0,0,0,103,0,104,0,117,0,101,0,0,0,103,0,104,0,117,0,119,0,0,0,103,0,104,0,119,0,110,0,0,0,103,0,104,0,119,0,112,0,0,0,103,0,108,0,97,0,118,0,0,0,103,0,108,0,107,0,117,0,0,0,103,0,108,0,113,0,101,0,0,0,103,0,108,0,113,0,116,0,0,0,103,0,110,0,98,0,107,0,0,0,103,0,110,0,99,0,111,0,0,0,103,0,110,0,100,0,98,0,0,0,103,0,110,0,100,0,105,0,0,0,103,0,110,0,100,0,108,0,0,0,103,0,110,0,100,0,117,0,0,0,103,0,110,0,102,0,111,0,0,0,103,0,110,0,103,0,97,0,0,0,103,0,110,0,103,0,117,0,0,0,103,0,110,0,107,0,115,0,0,0,103,0,110,0,108,0,97,0,0,0,103,0,110,0,108,0,101,0,0,0,103,0,110,0,110,0,122,0,0,0,103,0,110,0,115,0,105,0,0,0,103,0,110,0,116,0,101,0,0,0,103,0,110,0,116,0,111,0,0,0,103,0,110,0,121,0,111,0,0,0,103,0,113,0,97,0,110,0,0,0,103,0,113,0,98,0,110,0,0,0,103,0,113,0,98,0,115,0,0,0,103,0,113,0,99,0,115,0,0,0,103,0,113,0,100,0,106,0,0,0,103,0,113,0,107,0,110,0,0,0,103,0,113,0,108,0,105,0,0,0,103,0,113,0,119,0,110,0,0,0,103,0,114,0,54,0,57,0,0,0,103,0,119,0,98,0,97,0,0,0,103,0,119,0,103,0,97,0,0,0,103,0,119,0,113,0,117,0,0,0,103,0,119,0,116,0,111,0,0,0,103,0,121,0,98,0,97,0,0,0,103,0,121,0,101,0,98,0,0,0,103,0,121,0,109,0,97,0,0,0,103,0,121,0,112,0,109,0,0,0,103,0,121,0,117,0,100,0,0,0,104,0,110,0,97,0,116,0,0,0,104,0,110,0,99,0,104,0,0,0,104,0,110,0,99,0,114,0,0,0,104,0,110,0,101,0,112,0,0,0,104,0,110,0,102,0,109,0,0,0,104,0,110,0,103,0,100,0,0,0,104,0,110,0,105,0,98,0,0,0,104,0,110,0,105,0,110,0,0,0,104,0,110,0,108,0,101,0,0,0,104,0,110,0,108,0,112,0,0,0,104,0,110,0,111,0,99,0,0,0,104,0,110,0,111,0,108,0,0,0,104,0,110,0,115,0,98,0,0,0,104,0,110,0,118,0,97,0,0,0,104,0,110,0,121,0,111,0,0,0,104,0,116,0,99,0,101,0,0,0,104,0,116,0,103,0,97,0,0,0,104,0,116,0,110,0,105,0,0,0,104,0,116,0,110,0,111,0,0,0,104,0,116,0,111,0,117,0,0,0,104,0,117,0,98,0,97,0,0,0,104,0,117,0,98,0,99,0,0,0,104,0,117,0,98,0,101,0,0,0,104,0,117,0,98,0,107,0,0,0,104,0,117,0,98,0,117,0,0,0,104,0,117,0,98,0,122,0,0,0,104,0,117,0,101,0,103,0,0,0,104,0,117,0,101,0,114,0,0,0,104,0,117,0,102,0,101,0,0,0,104,0,117,0,103,0,115,0,0,0,104,0,117,0,104,0,98,0,0,0,104,0,117,0,104,0,118,0,0,0,104,0,117,0,106,0,110,0,0,0,104,0,117,0,107,0,101,0,0,0,104,0,117,0,110,0,111,0,0,0,104,0,117,0,110,0,121,0,0,0,104,0,117,0,112,0,101,0,0,0,104,0,117,0,115,0,100,0,0,0,104,0,117,0,115,0,102,0,0,0,104,0,117,0,115,0,104,0,0,0,104,0,117,0,115,0,122,0,0,0,104,0,117,0,116,0,98,0,0,0,104,0,117,0,116,0,111,0,0,0,104,0,117,0,118,0,97,0,0,0,104,0,117,0,118,0,109,0,0,0,104,0,117,0,122,0,97,0,0,0,104,0,117,0,122,0,101,0,0,0,105,0,100,0,97,0,99,0,0,0,105,0,100,0,98,0,101,0,0,0,105,0,100,0,98,0,116,0,0,0,105,0,100,0,106,0,105,0,0,0,105,0,100,0,106,0,107,0,0,0,105,0,100,0,106,0,116,0,0,0,105,0,100,0,107,0,105,0,0,0,105,0,100,0,108,0,97,0,0,0,105,0,100,0,109,0,97,0,0,0,105,0,100,0,109,0,108,0,0,0,105,0,100,0,109,0,117,0,0,0,105,0,100,0,110,0,98,0,0,0,105,0,100,0,114,0,105,0,0,0,105,0,100,0,115,0,103,0,0,0,105,0,100,0,121,0,111,0,0,0,105,0,101,0,100,0,108,0,0,0,105,0,101,0,108,0,100,0,0,0,105,0,101,0,108,0,104,0,0,0,105,0,101,0,108,0,115,0,0,0,105,0,101,0,109,0,104,0,0,0,105,0,101,0,111,0,121,0,0,0,105,0,101,0,114,0,110,0,0,0,105,0,101,0,116,0,97,0,0,0,105,0,101,0,119,0,100,0,0,0,105,0,101,0,119,0,104,0,0,0,105,0,108,0,106,0,109,0,0,0,105,0,108,0,116,0,97,0,0,0,105,0,110,0,97,0,110,0,0,0,105,0,110,0,97,0,112,0,0,0,105,0,110,0,98,0,114,0,0,0,105,0,110,0,99,0,116,0,0,0,105,0,110,0,100,0,104,0,0,0,105,0,110,0,100,0,108,0,0,0,105,0,110,0,103,0,97,0,0,0,105,0,110,0,103,0,106,0,0,0,105,0,110,0,104,0,112,0,0,0,105,0,110,0,104,0,114,0,0,0,105,0,110,0,106,0,104,0,0,0,105,0,110,0,106,0,107,0,0,0,105,0,110,0,107,0,97,0,0,0,105,0,110,0,107,0,108,0,0,0,105,0,110,0,108,0,100,0,0,0,105,0,110,0,109,0,104,0,0,0,105,0,110,0,109,0,108,0,0,0,105,0,110,0,109,0,110,0,0,0,105,0,110,0,109,0,112,0,0,0,105,0,110,0,109,0,122,0,0,0,105,0,110,0,110,0,108,0,0,0,105,0,110,0,111,0,114,0,0,0,105,0,110,0,112,0,98,0,0,0,105,0,110,0,112,0,121,0,0,0,105,0,110,0,114,0,106,0,0,0,105,0,110,0,115,0,107,0,0,0,105,0,110,0,116,0,110,0,0,0,105,0,110,0,117,0,112,0,0,0,105,0,110,0,117,0,116,0,0,0,105,0,110,0,119,0,98,0,0,0,105,0,113,0,97,0,110,0,0,0,105,0,113,0,97,0,114,0,0,0,105,0,113,0,98,0,103,0,0,0,105,0,113,0,100,0,97,0,0,0,105,0,113,0,100,0,105,0,0,0,105,0,113,0,100,0,113,0,0,0,105,0,113,0,107,0,97,0,0,0,105,0,113,0,107,0,105,0,0,0,105,0,113,0,107,0,114,0,0,0,105,0,113,0,109,0,97,0,0,0,105,0,113,0,109,0,117,0,0,0,105,0,113,0,110,0,97,0,0,0,105,0,113,0,110,0,105,0,0,0,105,0,113,0,113,0,97,0,0,0,105,0,113,0,115,0,100,0,0,0,105,0,113,0,115,0,117,0,0,0,105,0,114,0,51,0,48,0,0,0,105,0,116,0,50,0,49,0,0,0,105,0,116,0,50,0,51,0,0,0,105,0,116,0,50,0,53,0,0,0,105,0,116,0,51,0,50,0,0,0,105,0,116,0,51,0,52,0,0,0,105,0,116,0,51,0,54,0,0,0,105,0,116,0,52,0,50,0,0,0,105,0,116,0,52,0,53,0,0,0,105,0,116,0,53,0,50,0,0,0,105,0,116,0,53,0,53,0,0,0,105,0,116,0,53,0,55,0,0,0,105,0,116,0,54,0,50,0,0,0,105,0,116,0,54,0,53,0,0,0,105,0,116,0,54,0,55,0,0,0,105,0,116,0,55,0,50,0,0,0,105,0,116,0,55,0,53,0,0,0,105,0,116,0,56,0,50,0,0,0,105,0,116,0,56,0,56,0,0,0,105,0,116,0,97,0,103,0,0,0,105,0,116,0,97,0,110,0,0,0,105,0,116,0,97,0,116,0,0,0,105,0,116,0,97,0,118,0,0,0,105,0,116,0,98,0,103,0,0,0,105,0,116,0,98,0,105,0,0,0,105,0,116,0,98,0,108,0,0,0,105,0,116,0,98,0,122,0,0,0,105,0,116,0,99,0,101,0,0,0,105,0,116,0,99,0,104,0,0,0,105,0,116,0,99,0,108,0,0,0,105,0,116,0,99,0,122,0,0,0,105,0,116,0,101,0,110,0,0,0,105,0,116,0,102,0,99,0,0,0,105,0,116,0,102,0,101,0,0,0,105,0,116,0,102,0,103,0,0,0,105,0,116,0,102,0,109,0,0,0,105,0,116,0,103,0,101,0,0,0,105,0,116,0,103,0,111,0,0,0,105,0,116,0,103,0,114,0,0,0,105,0,116,0,105,0,109,0,0,0,105,0,116,0,105,0,115,0,0,0,105,0,116,0,107,0,114,0,0,0,105,0,116,0,108,0,99,0,0,0,105,0,116,0,108,0,101,0,0,0,105,0,116,0,108,0,105,0,0,0,105,0,116,0,108,0,111,0,0,0,105,0,116,0,109,0,101,0,0,0,105,0,116,0,109,0,105,0,0,0,105,0,116,0,110,0,97,0,0,0,105,0,116,0,110,0,111,0,0,0,105,0,116,0,110,0,117,0,0,0,105,0,116,0,111,0,114,0,0,0,105,0,116,0,112,0,103,0,0,0,105,0,116,0,112,0,105,0,0,0,105,0,116,0,112,0,114,0,0,0,105,0,116,0,112,0,122,0,0,0,105,0,116,0,114,0,97,0,0,0,105,0,116,0,114,0,99,0,0,0,105,0,116,0,114,0,101,0,0,0,105,0,116,0,114,0,103,0,0,0,105,0,116,0,114,0,105,0,0,0,105,0,116,0,115,0,97,0,0,0,105,0,116,0,115,0,105,0,0,0,105,0,116,0,116,0,97,0,0,0,105,0,116,0,116,0,101,0,0,0,105,0,116,0,116,0,118,0,0,0,105,0,116,0,117,0,100,0,0,0,105,0,116,0,118,0,101,0,0,0,105,0,116,0,118,0,105,0,0,0,105,0,116,0,118,0,114,0,0,0,105,0,116,0,118,0,116,0,0,0,105,0,116,0,118,0,118,0,0,0,106,0,111,0,97,0,106,0,0,0,106,0,111,0,97,0,109,0,0,0,106,0,111,0,97,0,113,0,0,0,106,0,111,0,97,0,116,0,0,0,106,0,111,0,97,0,122,0,0,0,106,0,111,0,98,0,97,0,0,0,106,0,111,0,105,0,114,0,0,0,106,0,111,0,106,0,97,0,0,0,106,0,111,0,107,0,97,0,0,0,106,0,111,0,109,0,97,0,0,0,106,0,111,0,109,0,100,0,0,0,106,0,111,0,109,0,110,0,0,0,107,0,103,0,103,0,98,0,0,0,107,0,103,0,103,0,111,0,0,0,107,0,110,0,49,0,53,0,0,0,107,0,112,0,49,0,48,0,0,0,107,0,114,0,49,0,49,0,0,0,107,0,114,0,53,0,48,0,0,0,107,0,119,0,97,0,104,0,0,0,107,0,119,0,102,0,97,0,0,0,107,0,119,0,104,0,97,0,0,0,107,0,119,0,109,0,117,0,0,0,108,0,97,0,104,0,111,0,0,0,108,0,97,0,107,0,104,0,0,0,108,0,97,0,108,0,109,0,0,0,108,0,97,0,108,0,112,0,0,0,108,0,97,0,111,0,117,0,0,0,108,0,97,0,112,0,104,0,0,0,108,0,97,0,115,0,108,0,0,0,108,0,97,0,115,0,118,0,0,0,108,0,97,0,118,0,116,0,0,0,108,0,97,0,120,0,97,0,0,0,108,0,97,0,120,0,105,0,0,0,108,0,97,0,120,0,115,0,0,0,108,0,98,0,97,0,107,0,0,0,108,0,98,0,97,0,115,0,0,0,108,0,98,0,98,0,97,0,0,0,108,0,98,0,106,0,97,0,0,0,108,0,98,0,106,0,108,0,0,0,108,0,98,0,110,0,97,0,0,0,108,0,114,0,98,0,103,0,0,0,108,0,114,0,98,0,109,0,0,0,108,0,114,0,99,0,109,0,0,0,108,0,114,0,103,0,98,0,0,0,108,0,114,0,103,0,103,0,0,0,108,0,114,0,103,0,112,0,0,0,108,0,114,0,108,0,111,0,0,0,108,0,114,0,109,0,103,0,0,0,108,0,114,0,109,0,111,0,0,0,108,0,114,0,110,0,105,0,0,0,108,0,114,0,114,0,103,0,0,0,108,0,114,0,115,0,105,0,0,0,108,0,116,0,54,0,48,0,0,0,108,0,116,0,97,0,108,0,0,0,108,0,116,0,107,0,108,0,0,0,108,0,116,0,107,0,117,0,0,0,108,0,116,0,109,0,114,0,0,0,108,0,116,0,112,0,110,0,0,0,108,0,116,0,115,0,97,0,0,0,108,0,116,0,116,0,97,0,0,0,108,0,116,0,116,0,101,0,0,0,108,0,116,0,117,0,116,0,0,0,108,0,116,0,118,0,108,0,0,0,108,0,117,0,99,0,97,0,0,0,108,0,117,0,99,0,108,0,0,0,108,0,117,0,100,0,105,0,0,0,108,0,117,0,101,0,99,0,0,0,108,0,117,0,103,0,114,0,0,0,108,0,117,0,109,0,101,0,0,0,108,0,117,0,114,0,100,0,0,0,108,0,117,0,118,0,100,0,0,0,108,0,117,0,119,0,105,0,0,0,108,0,121,0,98,0,97,0,0,0,108,0,121,0,98,0,117,0,0,0,108,0,121,0,100,0,114,0,0,0,108,0,121,0,103,0,116,0,0,0,108,0,121,0,106,0,103,0,0,0,108,0,121,0,106,0,105,0,0,0,108,0,121,0,106,0,117,0,0,0,108,0,121,0,107,0,102,0,0,0,108,0,121,0,109,0,98,0,0,0,108,0,121,0,109,0,113,0,0,0,108,0,121,0,115,0,98,0,0,0,108,0,121,0,115,0,114,0,0,0,108,0,121,0,116,0,98,0,0,0,108,0,121,0,119,0,100,0,0,0,108,0,121,0,119,0,115,0,0,0,108,0,121,0,122,0,97,0,0,0,109,0,99,0,99,0,108,0,0,0,109,0,99,0,99,0,111,0,0,0,109,0,99,0,102,0,111,0,0,0,109,0,99,0,109,0,117,0,0,0,109,0,99,0,112,0,104,0,0,0,109,0,99,0,115,0,100,0,0,0,109,0,99,0,115,0,114,0,0,0,109,0,99,0,118,0,114,0,0,0,109,0,100,0,97,0,110,0,0,0,109,0,100,0,98,0,97,0,0,0,109,0,100,0,98,0,100,0,0,0,109,0,100,0,99,0,97,0,0,0,109,0,100,0,100,0,111,0,0,0,109,0,100,0,100,0,114,0,0,0,109,0,100,0,100,0,117,0,0,0,109,0,100,0,101,0,100,0,0,0,109,0,100,0,102,0,97,0,0,0,109,0,100,0,102,0,108,0,0,0,109,0,100,0,103,0,97,0,0,0,109,0,100,0,103,0,108,0,0,0,109,0,100,0,105,0,97,0,0,0,109,0,100,0,108,0,101,0,0,0,109,0,100,0,110,0,105,0,0,0,109,0,100,0,111,0,99,0,0,0,109,0,100,0,111,0,114,0,0,0,109,0,100,0,114,0,101,0,0,0,109,0,100,0,115,0,100,0,0,0,109,0,100,0,115,0,105,0,0,0,109,0,100,0,115,0,116,0,0,0,109,0,100,0,115,0,118,0,0,0,109,0,100,0,116,0,97,0,0,0,109,0,100,0,116,0,101,0,0,0,109,0,100,0,117,0,110,0,0,0,109,0,108,0,49,0,48,0,0,0,109,0,117,0,97,0,103,0,0,0,109,0,117,0,99,0,99,0,0,0,109,0,117,0,102,0,108,0,0,0,109,0,117,0,103,0,112,0,0,0,109,0,117,0,109,0,111,0,0,0,109,0,117,0,112,0,97,0,0,0,109,0,117,0,112,0,108,0,0,0,109,0,117,0,112,0,119,0,0,0,109,0,117,0,114,0,111,0,0,0,109,0,117,0,115,0,97,0,0,0,109,0,118,0,49,0,55,0,0,0,109,0,118,0,50,0,48,0,0,0,109,0,119,0,98,0,97,0,0,0,109,0,119,0,98,0,108,0,0,0,109,0,119,0,99,0,107,0,0,0,109,0,119,0,99,0,114,0,0,0,109,0,119,0,99,0,116,0,0,0,109,0,119,0,100,0,101,0,0,0,109,0,119,0,100,0,111,0,0,0,109,0,119,0,108,0,105,0,0,0,109,0,119,0,108,0,107,0,0,0,109,0,119,0,109,0,99,0,0,0,109,0,119,0,109,0,117,0,0,0,109,0,119,0,109,0,119,0,0,0,109,0,119,0,109,0,122,0,0,0,109,0,119,0,110,0,115,0,0,0,109,0,119,0,112,0,104,0,0,0,109,0,119,0,122,0,111,0,0,0,110,0,97,0,99,0,97,0,0,0,110,0,97,0,101,0,114,0,0,0,110,0,97,0,104,0,97,0,0,0,110,0,97,0,107,0,97,0,0,0,110,0,97,0,107,0,101,0,0,0,110,0,97,0,107,0,104,0,0,0,110,0,97,0,107,0,117,0,0,0,110,0,97,0,107,0,119,0,0,0,110,0,97,0,111,0,100,0,0,0,110,0,97,0,111,0,110,0,0,0,110,0,97,0,111,0,119,0,0,0,110,0,103,0,97,0,98,0,0,0,110,0,103,0,97,0,100,0,0,0,110,0,103,0,97,0,107,0,0,0,110,0,103,0,98,0,97,0,0,0,110,0,103,0,98,0,101,0,0,0,110,0,103,0,98,0,121,0,0,0,110,0,103,0,100,0,101,0,0,0,110,0,103,0,101,0,98,0,0,0,110,0,103,0,101,0,100,0,0,0,110,0,103,0,101,0,107,0,0,0,110,0,103,0,101,0,110,0,0,0,110,0,103,0,102,0,99,0,0,0,110,0,103,0,103,0,111,0,0,0,110,0,103,0,105,0,109,0,0,0,110,0,103,0,107,0,116,0,0,0,110,0,103,0,107,0,119,0,0,0,110,0,103,0,108,0,97,0,0,0,110,0,103,0,110,0,97,0,0,0,110,0,103,0,110,0,105,0,0,0,110,0,103,0,111,0,103,0,0,0,110,0,103,0,111,0,110,0,0,0,110,0,103,0,111,0,115,0,0,0,110,0,103,0,111,0,121,0,0,0,110,0,103,0,112,0,108,0,0,0,110,0,103,0,115,0,111,0,0,0,110,0,103,0,121,0,111,0,0,0,110,0,103,0,122,0,97,0,0,0,110,0,105,0,97,0,110,0,0,0,110,0,105,0,97,0,115,0,0,0,110,0,105,0,98,0,111,0,0,0,110,0,105,0,99,0,105,0,0,0,110,0,105,0,99,0,111,0,0,0,110,0,105,0,101,0,115,0,0,0,110,0,105,0,103,0,114,0,0,0,110,0,105,0,106,0,105,0,0,0,110,0,105,0,108,0,101,0,0,0,110,0,105,0,109,0,100,0,0,0,110,0,105,0,109,0,110,0,0,0,110,0,105,0,110,0,115,0,0,0,110,0,105,0,114,0,105,0,0,0,110,0,105,0,115,0,106,0,0,0,110,0,108,0,97,0,119,0,0,0,110,0,108,0,99,0,119,0,0,0,110,0,108,0,100,0,114,0,0,0,110,0,108,0,102,0,108,0,0,0,110,0,108,0,102,0,114,0,0,0,110,0,108,0,103,0,101,0,0,0,110,0,108,0,103,0,114,0,0,0,110,0,108,0,108,0,105,0,0,0,110,0,108,0,110,0,98,0,0,0,110,0,108,0,110,0,104,0,0,0,110,0,108,0,111,0,118,0,0,0,110,0,108,0,115,0,120,0,0,0,110,0,108,0,117,0,116,0,0,0,110,0,108,0,122,0,101,0,0,0,110,0,111,0,48,0,51,0,0,0,110,0,111,0,49,0,49,0,0,0,110,0,111,0,49,0,53,0,0,0,110,0,111,0,49,0,56,0,0,0,110,0,111,0,51,0,48,0,0,0,110,0,111,0,51,0,52,0,0,0,110,0,111,0,51,0,56,0,0,0,110,0,111,0,52,0,50,0,0,0,110,0,111,0,52,0,54,0,0,0,110,0,111,0,53,0,48,0,0,0,110,0,111,0,53,0,52,0,0,0,110,0,112,0,98,0,97,0,0,0,110,0,112,0,98,0,104,0,0,0,110,0,112,0,100,0,104,0,0,0,110,0,112,0,106,0,97,0,0,0,110,0,112,0,107,0,97,0,0,0,110,0,112,0,108,0,117,0,0,0,110,0,112,0,109,0,97,0,0,0,110,0,112,0,109,0,101,0,0,0,111,0,109,0,98,0,106,0,0,0,111,0,109,0,98,0,115,0,0,0,111,0,109,0,98,0,117,0,0,0,111,0,109,0,100,0,97,0,0,0,111,0,109,0,109,0,97,0,0,0,111,0,109,0,109,0,117,0,0,0,111,0,109,0,115,0,106,0,0,0,111,0,109,0,115,0,115,0,0,0,111,0,109,0,119,0,117,0,0,0,111,0,109,0,122,0,117,0,0,0,112,0,97,0,49,0,48,0,0,0,112,0,97,0,101,0,109,0,0,0,112,0,97,0,107,0,121,0,0,0,112,0,97,0,110,0,98,0,0,0,112,0,97,0,110,0,116,0,0,0,112,0,107,0,98,0,97,0,0,0,112,0,107,0,105,0,115,0,0,0,112,0,107,0,106,0,107,0,0,0,112,0,107,0,107,0,112,0,0,0,112,0,107,0,112,0,98,0,0,0,112,0,107,0,115,0,100,0,0,0,112,0,108,0,48,0,50,0,0,0,112,0,108,0,48,0,52,0,0,0,112,0,108,0,48,0,54,0,0,0,112,0,108,0,48,0,56,0,0,0,112,0,108,0,49,0,48,0,0,0,112,0,108,0,49,0,50,0,0,0,112,0,108,0,49,0,52,0,0,0,112,0,108,0,49,0,54,0,0,0,112,0,108,0,49,0,56,0,0,0,112,0,108,0,50,0,48,0,0,0,112,0,108,0,50,0,50,0,0,0,112,0,108,0,50,0,52,0,0,0,112,0,108,0,50,0,54,0,0,0,112,0,108,0,50,0,56,0,0,0,112,0,108,0,51,0,48,0,0,0,112,0,108,0,51,0,50,0,0,0,112,0,116,0,50,0,48,0,0,0,112,0,116,0,51,0,48,0,0,0,112,0,121,0,49,0,57,0,0,0,113,0,97,0,100,0,97,0,0,0,113,0,97,0,107,0,104,0,0,0,113,0,97,0,109,0,115,0,0,0,113,0,97,0,114,0,97,0,0,0,113,0,97,0,115,0,104,0,0,0,113,0,97,0,117,0,115,0,0,0,113,0,97,0,119,0,97,0,0,0,113,0,97,0,122,0,97,0,0,0,114,0,111,0,97,0,98,0,0,0,114,0,111,0,97,0,103,0,0,0,114,0,111,0,98,0,99,0,0,0,114,0,111,0,98,0,104,0,0,0,114,0,111,0,98,0,110,0,0,0,114,0,111,0,98,0,114,0,0,0,114,0,111,0,98,0,116,0,0,0,114,0,111,0,98,0,118,0,0,0,114,0,111,0,98,0,122,0,0,0,114,0,111,0,99,0,106,0,0,0,114,0,111,0,99,0,108,0,0,0,114,0,111,0,100,0,98,0,0,0,114,0,111,0,100,0,106,0,0,0,114,0,111,0,103,0,106,0,0,0,114,0,111,0,103,0,108,0,0,0,114,0,111,0,103,0,114,0,0,0,114,0,111,0,104,0,100,0,0,0,114,0,111,0,104,0,114,0,0,0,114,0,111,0,105,0,102,0,0,0,114,0,111,0,105,0,108,0,0,0,114,0,111,0,105,0,115,0,0,0,114,0,111,0,109,0,104,0,0,0,114,0,111,0,109,0,109,0,0,0,114,0,111,0,109,0,115,0,0,0,114,0,111,0,110,0,116,0,0,0,114,0,111,0,111,0,116,0,0,0,114,0,111,0,112,0,104,0,0,0,114,0,111,0,115,0,98,0,0,0,114,0,111,0,115,0,106,0,0,0,114,0,111,0,115,0,109,0,0,0,114,0,111,0,115,0,118,0,0,0,114,0,111,0,116,0,114,0,0,0,114,0,111,0,118,0,108,0,0,0,114,0,111,0,118,0,110,0,0,0,114,0,111,0,118,0,115,0,0,0,114,0,115,0,107,0,109,0,0,0,114,0,117,0,97,0,100,0,0,0,114,0,117,0,97,0,108,0,0,0,114,0,117,0,99,0,101,0,0,0,114,0,117,0,99,0,117,0,0,0,114,0,117,0,105,0,110,0,0,0,114,0,117,0,107,0,111,0,0,0,114,0,117,0,107,0,114,0,0,0,114,0,117,0,109,0,101,0,0,0,114,0,117,0,109,0,111,0,0,0,114,0,117,0,115,0,101,0,0,0,114,0,117,0,116,0,121,0,0,0,114,0,117,0,117,0,100,0,0,0,115,0,97,0,49,0,52,0,0,0,115,0,98,0,99,0,101,0,0,0,115,0,98,0,99,0,104,0,0,0,115,0,98,0,99,0,116,0,0,0,115,0,98,0,103,0,117,0,0,0,115,0,98,0,105,0,115,0,0,0,115,0,98,0,114,0,98,0,0,0,115,0,98,0,116,0,101,0,0,0,115,0,98,0,119,0,101,0,0,0,115,0,100,0,100,0,99,0,0,0,115,0,100,0,100,0,101,0,0,0,115,0,100,0,100,0,110,0,0,0,115,0,100,0,100,0,115,0,0,0,115,0,100,0,103,0,100,0,0,0,115,0,100,0,103,0,107,0,0,0,115,0,100,0,107,0,97,0,0,0,115,0,100,0,107,0,104,0,0,0,115,0,100,0,107,0,110,0,0,0,115,0,100,0,107,0,115,0,0,0,115,0,100,0,110,0,98,0,0,0,115,0,100,0,110,0,111,0,0,0,115,0,100,0,110,0,119,0,0,0,115,0,100,0,114,0,115,0,0,0,115,0,100,0,115,0,105,0,0,0,115,0,101,0,98,0,100,0,0,0,115,0,104,0,97,0,99,0,0,0,115,0,104,0,104,0,108,0,0,0,115,0,104,0,116,0,97,0,0,0,115,0,107,0,98,0,99,0,0,0,115,0,107,0,98,0,108,0,0,0,115,0,107,0,107,0,105,0,0,0,115,0,107,0,110,0,105,0,0,0,115,0,107,0,116,0,97,0,0,0,115,0,107,0,116,0,99,0,0,0,115,0,110,0,100,0,98,0,0,0,115,0,110,0,100,0,107,0,0,0,115,0,110,0,102,0,107,0,0,0,115,0,110,0,107,0,97,0,0,0,115,0,110,0,107,0,108,0,0,0,115,0,110,0,109,0,116,0,0,0,115,0,110,0,115,0,101,0,0,0,115,0,110,0,115,0,108,0,0,0,115,0,110,0,116,0,99,0,0,0,115,0,110,0,116,0,104,0,0,0,115,0,110,0,122,0,103,0,0,0,115,0,111,0,97,0,119,0,0,0,115,0,111,0,98,0,107,0,0,0,115,0,111,0,98,0,110,0,0,0,115,0,111,0,98,0,121,0,0,0,115,0,111,0,103,0,97,0,0,0,115,0,111,0,104,0,105,0,0,0,115,0,111,0,106,0,100,0,0,0,115,0,111,0,106,0,104,0,0,0,115,0,111,0,109,0,117,0,0,0,115,0,111,0,110,0,117,0,0,0,115,0,111,0,115,0,100,0,0,0,115,0,111,0,115,0,104,0,0,0,115,0,111,0,115,0,111,0,0,0,115,0,111,0,116,0,111,0,0,0,115,0,111,0,119,0,111,0,0,0,115,0,114,0,98,0,114,0,0,0,115,0,114,0,99,0,109,0,0,0,115,0,114,0,99,0,114,0,0,0,115,0,114,0,109,0,97,0,0,0,115,0,114,0,110,0,105,0,0,0,115,0,114,0,112,0,109,0,0,0,115,0,114,0,112,0,114,0,0,0,115,0,114,0,115,0,97,0,0,0,115,0,115,0,98,0,110,0,0,0,115,0,115,0,98,0,119,0,0,0,115,0,115,0,101,0,101,0,0,0,115,0,115,0,108,0,107,0,0,0,115,0,115,0,110,0,117,0,0,0,115,0,115,0,117,0,121,0,0,0,115,0,115,0,119,0,114,0,0,0,115,0,118,0,97,0,104,0,0,0,115,0,118,0,99,0,97,0,0,0,115,0,118,0,99,0,104,0,0,0,115,0,118,0,99,0,117,0,0,0,115,0,118,0,108,0,105,0,0,0,115,0,118,0,109,0,111,0,0,0,115,0,118,0,112,0,97,0,0,0,115,0,118,0,115,0,97,0,0,0,115,0,118,0,115,0,109,0,0,0,115,0,118,0,115,0,111,0,0,0,115,0,118,0,117,0,110,0,0,0,115,0,118,0,117,0,115,0,0,0,115,0,121,0,100,0,105,0,0,0,115,0,121,0,100,0,114,0,0,0,115,0,121,0,100,0,121,0,0,0,115,0,121,0,104,0,105,0,0,0,115,0,121,0,108,0,97,0,0,0,115,0,121,0,114,0,97,0,0,0,115,0,121,0,114,0,100,0,0,0,115,0,121,0,115,0,117,0,0,0,115,0,121,0,116,0,97,0,0,0,115,0,122,0,104,0,104,0,0,0,115,0,122,0,109,0,97,0,0,0,116,0,100,0,98,0,97,0,0,0,116,0,100,0,98,0,103,0,0,0,116,0,100,0,98,0,111,0,0,0,116,0,100,0,99,0,98,0,0,0,116,0,100,0,101,0,101,0,0,0,116,0,100,0,101,0,111,0,0,0,116,0,100,0,103,0,114,0,0,0,116,0,100,0,104,0,108,0,0,0,116,0,100,0,108,0,99,0,0,0,116,0,100,0,108,0,111,0,0,0,116,0,100,0,108,0,114,0,0,0,116,0,100,0,109,0,97,0,0,0,116,0,100,0,109,0,99,0,0,0,116,0,100,0,109,0,101,0,0,0,116,0,100,0,109,0,111,0,0,0,116,0,100,0,110,0,100,0,0,0,116,0,100,0,111,0,100,0,0,0,116,0,100,0,115,0,97,0,0,0,116,0,100,0,115,0,105,0,0,0,116,0,100,0,116,0,97,0,0,0,116,0,100,0,116,0,105,0,0,0,116,0,100,0,119,0,102,0,0,0,116,0,106,0,100,0,117,0,0,0,116,0,106,0,107,0,116,0,0,0,116,0,106,0,114,0,97,0,0,0,116,0,106,0,115,0,117,0,0,0,116,0,108,0,97,0,108,0,0,0,116,0,108,0,97,0,110,0,0,0,116,0,108,0,98,0,111,0,0,0,116,0,108,0,99,0,111,0,0,0,116,0,108,0,100,0,105,0,0,0,116,0,108,0,101,0,114,0,0,0,116,0,108,0,108,0,97,0,0,0,116,0,108,0,108,0,105,0,0,0,116,0,108,0,109,0,102,0,0,0,116,0,108,0,109,0,116,0,0,0,116,0,108,0,111,0,101,0,0,0,116,0,110,0,54,0,49,0,0,0,117,0,97,0,48,0,53,0,0,0,117,0,97,0,48,0,55,0,0,0,117,0,97,0,48,0,57,0,0,0,117,0,97,0,49,0,50,0,0,0,117,0,97,0,49,0,52,0,0,0,117,0,97,0,49,0,56,0,0,0,117,0,97,0,50,0,49,0,0,0,117,0,97,0,50,0,51,0,0,0,117,0,97,0,50,0,54,0,0,0,117,0,97,0,51,0,48,0,0,0,117,0,97,0,51,0,50,0,0,0,117,0,97,0,51,0,53,0,0,0,117,0,97,0,52,0,48,0,0,0,117,0,97,0,52,0,51,0,0,0,117,0,97,0,52,0,54,0,0,0,117,0,97,0,52,0,56,0,0,0,117,0,97,0,53,0,49,0,0,0,117,0,97,0,53,0,51,0,0,0,117,0,97,0,53,0,54,0,0,0,117,0,97,0,53,0,57,0,0,0,117,0,97,0,54,0,49,0,0,0,117,0,97,0,54,0,51,0,0,0,117,0,97,0,54,0,53,0,0,0,117,0,97,0,54,0,56,0,0,0,117,0,97,0,55,0,49,0,0,0,117,0,97,0,55,0,52,0,0,0,117,0,97,0,55,0,55,0,0,0,117,0,109,0,54,0,55,0,0,0,117,0,109,0,55,0,49,0,0,0,117,0,109,0,55,0,54,0,0,0,117,0,109,0,55,0,57,0,0,0,117,0,109,0,56,0,49,0,0,0,117,0,109,0,56,0,52,0,0,0,117,0,109,0,56,0,54,0,0,0,117,0,109,0,56,0,57,0,0,0,117,0,109,0,57,0,53,0,0,0,117,0,115,0,97,0,115,0,0,0,117,0,115,0,97,0,122,0,0,0,117,0,115,0,99,0,111,0,0,0,117,0,115,0,99,0,116,0,0,0,117,0,115,0,100,0,101,0,0,0,117,0,115,0,102,0,108,0,0,0,117,0,115,0,103,0,97,0,0,0,117,0,115,0,103,0,117,0,0,0,117,0,115,0,104,0,105,0,0,0,117,0,115,0,105,0,97,0,0,0,117,0,115,0,105,0,100,0,0,0,117,0,115,0,105,0,108,0,0,0,117,0,115,0,105,0,110,0,0,0,117,0,115,0,107,0,115,0,0,0,117,0,115,0,107,0,121,0,0,0,117,0,115,0,109,0,97,0,0,0,117,0,115,0,109,0,105,0,0,0,117,0,115,0,109,0,112,0,0,0,117,0,115,0,110,0,106,0,0,0,117,0,115,0,110,0,109,0,0,0,117,0,115,0,110,0,118,0,0,0,117,0,115,0,110,0,121,0,0,0,117,0,115,0,111,0,104,0,0,0,117,0,115,0,111,0,107,0,0,0,117,0,115,0,111,0,114,0,0,0,117,0,115,0,112,0,97,0,0,0,117,0,115,0,112,0,114,0,0,0,117,0,115,0,114,0,105,0,0,0,117,0,115,0,116,0,110,0,0,0,117,0,115,0,116,0,120,0,0,0,117,0,115,0,117,0,109,0,0,0,117,0,115,0,117,0,116,0,0,0,117,0,115,0,118,0,97,0,0,0,117,0,115,0,118,0,105,0,0,0,117,0,115,0,118,0,116,0,0,0,117,0,115,0,119,0,97,0,0,0,117,0,115,0,119,0,105,0,0,0,117,0,115,0,119,0,118,0,0,0,117,0,115,0,119,0,121,0,0,0,117,0,121,0,99,0,97,0,0,0,117,0,121,0,100,0,117,0,0,0,117,0,121,0,102,0,100,0,0,0,117,0,121,0,102,0,115,0,0,0,117,0,121,0,108,0,97,0,0,0,117,0,121,0,109,0,111,0,0,0,117,0,121,0,112,0,97,0,0,0,117,0,121,0,114,0,118,0,0,0,117,0,121,0,115,0,97,0,0,0,117,0,121,0,115,0,106,0,0,0,117,0,122,0,97,0,110,0,0,0,117,0,122,0,98,0,117,0,0,0,117,0,122,0,110,0,119,0,0,0,117,0,122,0,113,0,97,0,0,0,117,0,122,0,113,0,114,0,0,0,117,0,122,0,120,0,111,0,0,0,118,0,110,0,48,0,57,0,0,0,118,0,110,0,49,0,56,0,0,0,118,0,110,0,51,0,57,0,0,0,118,0,110,0,52,0,57,0,0,0,118,0,110,0,54,0,49,0,0,0,118,0,110,0,54,0,51,0,0,0,118,0,110,0,99,0,116,0,0,0,118,0,110,0,100,0,110,0,0,0,118,0,110,0,104,0,110,0,0,0,118,0,110,0,104,0,112,0,0,0,118,0,110,0,115,0,103,0,0,0,119,0,102,0,97,0,108,0,0,0,119,0,102,0,115,0,103,0,0,0,119,0,115,0,97,0,97,0,0,0,119,0,115,0,97,0,108,0,0,0,119,0,115,0,97,0,116,0,0,0,119,0,115,0,102,0,97,0,0,0,119,0,115,0,103,0,101,0,0,0,119,0,115,0,103,0,105,0,0,0,119,0,115,0,112,0,97,0,0,0,119,0,115,0,115,0,97,0,0,0,119,0,115,0,116,0,117,0,0,0,119,0,115,0,118,0,102,0,0,0,121,0,101,0,97,0,98,0,0,0,121,0,101,0,97,0,100,0,0,0,121,0,101,0,97,0,109,0,0,0,121,0,101,0,98,0,97,0,0,0,121,0,101,0,100,0,97,0,0,0,121,0,101,0,100,0,104,0,0,0,121,0,101,0,104,0,100,0,0,0,121,0,101,0,104,0,106,0,0,0,121,0,101,0,105,0,98,0,0,0,121,0,101,0,108,0,97,0,0,0,121,0,101,0,109,0,97,0,0,0,121,0,101,0,109,0,114,0,0,0,121,0,101,0,109,0,119,0,0,0,121,0,101,0,115,0,100,0,0,0,121,0,101,0,115,0,110,0,0,0,121,0,101,0,116,0,97,0,0,0,122,0,97,0,102,0,115,0,0,0,122,0,97,0,108,0,112,0,0,0,122,0,97,0,109,0,112,0,0,0,122,0,97,0,110,0,99,0,0,0,122,0,97,0,110,0,119,0,0,0,122,0,97,0,119,0,99,0,0,0,122,0,109,0,49,0,48,0,0,0,122,0,119,0,98,0,117,0,0,0,122,0,119,0,109,0,97,0,0,0,122,0,119,0,109,0,99,0,0,0,122,0,119,0,109,0,101,0,0,0,122,0,119,0,109,0,105,0,0,0,49,0,57,0,57,0,54,0,0,0,66,0,104,0,107,0,115,0,0,0,72,0,109,0,110,0,112,0,0,0,72,0,117,0,110,0,103,0,0,0,77,0,97,0,114,0,99,0,0,0,77,0,101,0,114,0,111,0,0,0,83,0,111,0,103,0,111,0,0,0,97,0,108,0,109,0,109,0,0,0,97,0,108,0,115,0,104,0,0,0,97,0,108,0,115,0,107,0,0,0,98,0,106,0,97,0,107,0,0,0,98,0,114,0,114,0,111,0,0,0,99,0,104,0,115,0,104,0,0,0,99,0,110,0,104,0,107,0,0,0,99,0,118,0,115,0,108,0,0,0,100,0,106,0,97,0,114,0,0,0,101,0,115,0,99,0,98,0,0,0,103,0,101,0,115,0,107,0,0,0,103,0,110,0,98,0,102,0,0,0,103,0,116,0,106,0,97,0,0,0,103,0,116,0,106,0,117,0,0,0,103,0,116,0,122,0,97,0,0,0,104,0,117,0,115,0,115,0,0,0,105,0,100,0,115,0,98,0,0,0,105,0,100,0,115,0,108,0,0,0,105,0,101,0,99,0,110,0,0,0,105,0,101,0,99,0,111,0,0,0,105,0,116,0,109,0,98,0,0,0,105,0,116,0,112,0,99,0,0,0,105,0,116,0,118,0,97,0,0,0,109,0,100,0,99,0,114,0,0,0,109,0,117,0,98,0,114,0,0,0,109,0,119,0,107,0,114,0,0,0,111,0,109,0,115,0,104,0,0,0,112,0,108,0,108,0,117,0,0,0,112,0,108,0,109,0,122,0,0,0,115,0,121,0,104,0,108,0,0,0,117,0,115,0,109,0,100,0,0,0,117,0,115,0,110,0,99,0,0,0,77,0,117,0,108,0,116,0,0,0,99,0,122,0,108,0,105,0,0,0,99,0,122,0,109,0,111,0,0,0,99,0,122,0,112,0,108,0,0,0,100,0,122,0,51,0,50,0,0,0,100,0,122,0,51,0,54,0,0,0,100,0,122,0,52,0,50,0,0,0,100,0,122,0,52,0,52,0,0,0,100,0,122,0,52,0,56,0,0,0,102,0,114,0,56,0,52,0,0,0,102,0,114,0,57,0,48,0,0,0,103,0,119,0,98,0,109,0,0,0,109,0,116,0,54,0,48,0,0,0,109,0,116,0,54,0,56,0,0,0,109,0,119,0,107,0,115,0,0,0,109,0,119,0,109,0,104,0,0,0,116,0,104,0,57,0,54,0,0,0,116,0,122,0,49,0,50,0,0,0,117,0,121,0,114,0,111,0,0,0,68,0,74,0,126,0,75,0,0,0,49,0,57,0,48,0,49,0,0,0,65,0,67,0,126,0,71,0,0,0,65,0,76,0,126,0,77,0,0,0,65,0,81,0,126,0,85,0,0,0,65,0,87,0,126,0,88,0,0,0,65,0,104,0,111,0,109,0,0,0,65,0,114,0,97,0,110,0,0,0,66,0,65,0,126,0,66,0,0,0,66,0,68,0,126,0,74,0,0,0,66,0,76,0,126,0,79,0,0,0,66,0,81,0,126,0,84,0,0,0,66,0,86,0,126,0,87,0,0,0,66,0,89,0,126,0,90,0,0,0,66,0,97,0,115,0,115,0,0,0,67,0,67,0,126,0,68,0,0,0,67,0,70,0,126,0,73,0,0,0,67,0,75,0,126,0,80,0,0,0,67,0,85,0,126,0,90,0,0,0,67,0,104,0,114,0,115,0,0,0,67,0,112,0,109,0,110,0,0,0,68,0,105,0,97,0,107,0,0,0,68,0,111,0,103,0,114,0,0,0,69,0,82,0,126,0,84,0,0,0,69,0,108,0,121,0,109,0,0,0,70,0,73,0,126,0,75,0,0,0,71,0,65,0,126,0,66,0,0,0,71,0,68,0,126,0,73,0,0,0,71,0,76,0,126,0,78,0,0,0,71,0,80,0,126,0,85,0,0,0,71,0,111,0,110,0,103,0,0,0,71,0,111,0,110,0,109,0,0,0,72,0,77,0,126,0,78,0,0,0,72,0,84,0,126,0,85,0,0,0,72,0,97,0,110,0,98,0,0,0,72,0,97,0,116,0,114,0,0,0,72,0,108,0,117,0,119,0,0,0,73,0,67,0,126,0,69,0,0,0,73,0,76,0,126,0,79,0,0,0,73,0,81,0,126,0,84,0,0,0,74,0,79,0,126,0,80,0,0,0,75,0,71,0,126,0,73,0,0,0,75,0,77,0,126,0,78,0,0,0,75,0,89,0,126,0,90,0,0,0,75,0,97,0,119,0,105,0,0,0,75,0,104,0,97,0,114,0,0,0,75,0,105,0,116,0,115,0,0,0,75,0,116,0,104,0,105,0,0,0,76,0,65,0,126,0,67,0,0,0,76,0,82,0,126,0,86,0,0,0,76,0,105,0,110,0,97,0,0,0,76,0,105,0,110,0,98,0,0,0,77,0,67,0,126,0,72,0,0,0,77,0,75,0,126,0,90,0,0,0,77,0,97,0,107,0,97,0,0,0,77,0,101,0,100,0,102,0,0,0,78,0,69,0,126,0,71,0,0,0,78,0,79,0,126,0,80,0,0,0,78,0,97,0,103,0,109,0,0,0,78,0,97,0,110,0,100,0,0,0,78,0,101,0,119,0,97,0,0,0,78,0,115,0,104,0,117,0,0,0,79,0,117,0,103,0,114,0,0,0,80,0,69,0,126,0,72,0,0,0,80,0,75,0,126,0,78,0,0,0,80,0,82,0,126,0,84,0,0,0,80,0,97,0,117,0,99,0,0,0,81,0,77,0,126,0,78,0,0,0,81,0,80,0,126,0,84,0,0,0,81,0,86,0,126,0,90,0,0,0,81,0,97,0,97,0,103,0,0,0,81,0,97,0,97,0,104,0,0,0,81,0,97,0,97,0,105,0,0,0,83,0,65,0,126,0,69,0,0,0,83,0,71,0,126,0,79,0,0,0,83,0,82,0,126,0,84,0,0,0,83,0,88,0,126,0,90,0,0,0,83,0,111,0,103,0,100,0,0,0,84,0,67,0,126,0,68,0,0,0,84,0,70,0,126,0,72,0,0,0,84,0,74,0,126,0,79,0,0,0,84,0,86,0,126,0,87,0,0,0,84,0,97,0,110,0,103,0,0,0,84,0,110,0,115,0,97,0,0,0,84,0,111,0,116,0,111,0,0,0,85,0,89,0,126,0,90,0,0,0,86,0,105,0,116,0,104,0,0,0,87,0,99,0,104,0,111,0,0,0,88,0,65,0,126,0,66,0,0,0,88,0,67,0,126,0,74,0,0,0,88,0,76,0,126,0,90,0,0,0,89,0,101,0,122,0,105,0,0,0,90,0,97,0,110,0,98,0,0,0,90,0,105,0,110,0,104,0,0,0,90,0,109,0,116,0,104,0,0,0,90,0,115,0,121,0,101,0,0,0,90,0,115,0,121,0,109,0,0,0,90,0,120,0,120,0,120,0,0,0,90,0,121,0,121,0,121,0,0,0,90,0,122,0,122,0,122,0,0,0,97,0,100,0,48,0,50,0,0,0,97,0,100,0,48,0,51,0,0,0,97,0,100,0,48,0,52,0,0,0,97,0,100,0,48,0,53,0,0,0,97,0,100,0,48,0,54,0,0,0,97,0,100,0,48,0,55,0,0,0,97,0,100,0,48,0,56,0,0,0,97,0,103,0,48,0,51,0,0,0,97,0,103,0,48,0,52,0,0,0,97,0,103,0,48,0,53,0,0,0,97,0,103,0,48,0,54,0,0,0,97,0,103,0,48,0,55,0,0,0,97,0,103,0,48,0,56,0,0,0,97,0,103,0,49,0,48,0,0,0,97,0,103,0,49,0,49,0,0,0,97,0,108,0,48,0,49,0,0,0,97,0,108,0,48,0,50,0,0,0,97,0,108,0,48,0,51,0,0,0,97,0,108,0,48,0,52,0,0,0,97,0,108,0,48,0,53,0,0,0,97,0,108,0,48,0,54,0,0,0,97,0,108,0,48,0,55,0,0,0,97,0,108,0,48,0,56,0,0,0,97,0,108,0,48,0,57,0,0,0,97,0,108,0,49,0,48,0,0,0,97,0,108,0,49,0,49,0,0,0,97,0,108,0,49,0,50,0,0,0,97,0,108,0,98,0,114,0,0,0,97,0,108,0,98,0,117,0,0,0,97,0,108,0,100,0,105,0,0,0,97,0,108,0,100,0,108,0,0,0,97,0,108,0,100,0,114,0,0,0,97,0,108,0,100,0,118,0,0,0,97,0,108,0,101,0,108,0,0,0,97,0,108,0,101,0,114,0,0,0,97,0,108,0,102,0,114,0,0,0,97,0,108,0,103,0,106,0,0,0,97,0,108,0,103,0,114,0,0,0,97,0,108,0,104,0,97,0,0,0,97,0,108,0,107,0,111,0,0,0,97,0,108,0,107,0,114,0,0,0,97,0,108,0,107,0,117,0,0,0,97,0,108,0,108,0,98,0,0,0,97,0,108,0,108,0,101,0,0,0,97,0,108,0,108,0,117,0,0,0,97,0,108,0,109,0,107,0,0,0,97,0,108,0,109,0,114,0,0,0,97,0,108,0,109,0,116,0,0,0,97,0,108,0,112,0,103,0,0,0,97,0,108,0,112,0,117,0,0,0,97,0,108,0,115,0,114,0,0,0,97,0,108,0,116,0,101,0,0,0,97,0,108,0,116,0,112,0,0,0,97,0,108,0,116,0,114,0,0,0,97,0,108,0,118,0,108,0,0,0,98,0,97,0,49,0,48,0,0,0,98,0,98,0,48,0,49,0,0,0,98,0,98,0,48,0,50,0,0,0,98,0,98,0,48,0,51,0,0,0,98,0,98,0,48,0,52,0,0,0,98,0,98,0,48,0,53,0,0,0,98,0,98,0,48,0,54,0,0,0,98,0,98,0,48,0,55,0,0,0,98,0,98,0,48,0,56,0,0,0,98,0,98,0,48,0,57,0,0,0,98,0,98,0,49,0,48,0,0,0,98,0,98,0,49,0,49,0,0,0,98,0,100,0,48,0,49,0,0,0,98,0,100,0,48,0,50,0,0,0,98,0,100,0,48,0,51,0,0,0,98,0,100,0,48,0,52,0,0,0,98,0,100,0,48,0,53,0,0,0,98,0,100,0,48,0,54,0,0,0,98,0,100,0,48,0,55,0,0,0,98,0,100,0,48,0,56,0,0,0,98,0,100,0,48,0,57,0,0,0,98,0,100,0,49,0,48,0,0,0,98,0,100,0,49,0,49,0,0,0,98,0,100,0,49,0,50,0,0,0,98,0,100,0,49,0,51,0,0,0,98,0,100,0,49,0,52,0,0,0,98,0,100,0,49,0,53,0,0,0,98,0,100,0,49,0,54,0,0,0,98,0,100,0,49,0,55,0,0,0,98,0,100,0,49,0,56,0,0,0,98,0,100,0,49,0,57,0,0,0,98,0,100,0,50,0,48,0,0,0,98,0,100,0,50,0,49,0,0,0,98,0,100,0,50,0,50,0,0,0,98,0,100,0,50,0,51,0,0,0,98,0,100,0,50,0,52,0,0,0,98,0,100,0,50,0,53,0,0,0,98,0,100,0,50,0,54,0,0,0,98,0,100,0,50,0,55,0,0,0,98,0,100,0,50,0,56,0,0,0,98,0,100,0,50,0,57,0,0,0,98,0,100,0,51,0,48,0,0,0,98,0,100,0,51,0,49,0,0,0,98,0,100,0,51,0,50,0,0,0,98,0,100,0,51,0,51,0,0,0,98,0,100,0,51,0,52,0,0,0,98,0,100,0,51,0,53,0,0,0,98,0,100,0,51,0,54,0,0,0,98,0,100,0,51,0,55,0,0,0,98,0,100,0,51,0,56,0,0,0,98,0,100,0,51,0,57,0,0,0,98,0,100,0,52,0,48,0,0,0,98,0,100,0,52,0,49,0,0,0,98,0,100,0,52,0,50,0,0,0,98,0,100,0,52,0,51,0,0,0,98,0,100,0,52,0,52,0,0,0,98,0,100,0,52,0,53,0,0,0,98,0,100,0,52,0,54,0,0,0,98,0,100,0,52,0,55,0,0,0,98,0,100,0,52,0,56,0,0,0,98,0,100,0,52,0,57,0,0,0,98,0,100,0,53,0,48,0,0,0,98,0,100,0,53,0,49,0,0,0,98,0,100,0,53,0,50,0,0,0,98,0,100,0,53,0,51,0,0,0,98,0,100,0,53,0,52,0,0,0,98,0,100,0,53,0,53,0,0,0,98,0,100,0,53,0,54,0,0,0,98,0,100,0,53,0,55,0,0,0,98,0,100,0,53,0,56,0,0,0,98,0,100,0,53,0,57,0,0,0,98,0,100,0,54,0,48,0,0,0,98,0,100,0,54,0,49,0,0,0,98,0,100,0,54,0,50,0,0,0,98,0,100,0,54,0,51,0,0,0,98,0,100,0,54,0,52,0,0,0,98,0,102,0,48,0,49,0,0,0,98,0,102,0,48,0,50,0,0,0,98,0,102,0,48,0,51,0,0,0,98,0,102,0,48,0,52,0,0,0,98,0,102,0,48,0,53,0,0,0,98,0,102,0,48,0,54,0,0,0,98,0,102,0,48,0,55,0,0,0,98,0,102,0,48,0,56,0,0,0,98,0,102,0,48,0,57,0,0,0,98,0,102,0,49,0,48,0,0,0,98,0,102,0,49,0,49,0,0,0,98,0,102,0,49,0,50,0,0,0,98,0,102,0,49,0,51,0,0,0,98,0,103,0,48,0,49,0,0,0,98,0,103,0,48,0,50,0,0,0,98,0,103,0,48,0,51,0,0,0,98,0,103,0,48,0,52,0,0,0,98,0,103,0,48,0,53,0,0,0,98,0,103,0,48,0,54,0,0,0,98,0,103,0,48,0,55,0,0,0,98,0,103,0,48,0,56,0,0,0,98,0,103,0,48,0,57,0,0,0,98,0,103,0,49,0,48,0,0,0,98,0,103,0,49,0,49,0,0,0,98,0,103,0,49,0,50,0,0,0,98,0,103,0,49,0,51,0,0,0,98,0,103,0,49,0,52,0,0,0,98,0,103,0,49,0,53,0,0,0,98,0,103,0,49,0,54,0,0,0,98,0,103,0,49,0,55,0,0,0,98,0,103,0,49,0,56,0,0,0,98,0,103,0,49,0,57,0,0,0,98,0,103,0,50,0,48,0,0,0,98,0,103,0,50,0,49,0,0,0,98,0,103,0,50,0,50,0,0,0,98,0,103,0,50,0,51,0,0,0,98,0,103,0,50,0,52,0,0,0,98,0,103,0,50,0,53,0,0,0,98,0,103,0,50,0,54,0,0,0,98,0,103,0,50,0,55,0,0,0,98,0,103,0,50,0,56,0,0,0,98,0,104,0,49,0,51,0,0,0,98,0,104,0,49,0,52,0,0,0,98,0,104,0,49,0,53,0,0,0,98,0,104,0,49,0,54,0,0,0,98,0,105,0,98,0,108,0,0,0,98,0,105,0,98,0,109,0,0,0,98,0,106,0,97,0,108,0,0,0,98,0,114,0,97,0,108,0,0,0,98,0,114,0,97,0,109,0,0,0,98,0,114,0,109,0,115,0,0,0,98,0,114,0,109,0,116,0,0,0,98,0,114,0,112,0,97,0,0,0,98,0,114,0,112,0,98,0,0,0,98,0,114,0,114,0,110,0,0,0,98,0,114,0,114,0,114,0,0,0,98,0,114,0,114,0,115,0,0,0,98,0,115,0,110,0,111,0,0,0,98,0,115,0,110,0,112,0,0,0,98,0,116,0,49,0,49,0,0,0,98,0,116,0,49,0,50,0,0,0,98,0,116,0,49,0,51,0,0,0,98,0,116,0,49,0,52,0,0,0,98,0,116,0,49,0,53,0,0,0,98,0,116,0,50,0,49,0,0,0,98,0,116,0,50,0,50,0,0,0,98,0,116,0,50,0,51,0,0,0,98,0,116,0,50,0,52,0,0,0,98,0,116,0,51,0,49,0,0,0,98,0,116,0,51,0,50,0,0,0,98,0,116,0,51,0,51,0,0,0,98,0,116,0,51,0,52,0,0,0,98,0,116,0,52,0,49,0,0,0,98,0,116,0,52,0,50,0,0,0,98,0,116,0,52,0,51,0,0,0,98,0,116,0,52,0,52,0,0,0,98,0,116,0,52,0,53,0,0,0,98,0,119,0,115,0,111,0,0,0,98,0,119,0,115,0,112,0,0,0,99,0,97,0,110,0,115,0,0,0,99,0,97,0,110,0,116,0,0,0,99,0,97,0,110,0,117,0,0,0,99,0,100,0,98,0,110,0,0,0,99,0,100,0,104,0,107,0,0,0,99,0,100,0,104,0,108,0,0,0,99,0,100,0,107,0,97,0,0,0,99,0,100,0,107,0,119,0,0,0,99,0,100,0,109,0,110,0,0,0,99,0,100,0,109,0,111,0,0,0,99,0,100,0,111,0,114,0,0,0,99,0,103,0,49,0,49,0,0,0,99,0,103,0,49,0,50,0,0,0,99,0,103,0,49,0,51,0,0,0,99,0,103,0,49,0,52,0,0,0,99,0,103,0,49,0,53,0,0,0,99,0,103,0,49,0,54,0,0,0,99,0,104,0,115,0,103,0,0,0,99,0,104,0,122,0,103,0,0,0,99,0,104,0,122,0,104,0,0,0,99,0,110,0,55,0,49,0,0,0,99,0,110,0,104,0,97,0,0,0,99,0,110,0,104,0,98,0,0,0,99,0,110,0,104,0,108,0,0,0,99,0,110,0,115,0,99,0,0,0,99,0,110,0,115,0,100,0,0,0,99,0,117,0,48,0,51,0,0,0,99,0,117,0,48,0,52,0,0,0,99,0,117,0,48,0,53,0,0,0,99,0,117,0,48,0,54,0,0,0,99,0,117,0,48,0,55,0,0,0,99,0,117,0,48,0,56,0,0,0,99,0,117,0,48,0,57,0,0,0,99,0,117,0,49,0,48,0,0,0,99,0,117,0,49,0,49,0,0,0,99,0,117,0,49,0,50,0,0,0,99,0,117,0,49,0,51,0,0,0,99,0,117,0,49,0,52,0,0,0,99,0,117,0,49,0,53,0,0,0,99,0,117,0,49,0,54,0,0,0,99,0,118,0,115,0,109,0,0,0,99,0,121,0,48,0,49,0,0,0,99,0,121,0,48,0,50,0,0,0,99,0,121,0,48,0,51,0,0,0,99,0,121,0,48,0,52,0,0,0,99,0,121,0,48,0,53,0,0,0,99,0,121,0,48,0,54,0,0,0,99,0,122,0,106,0,99,0,0,0,99,0,122,0,106,0,109,0,0,0,99,0,122,0,111,0,108,0,0,0,99,0,122,0,112,0,114,0,0,0,99,0,122,0,117,0,115,0,0,0,99,0,122,0,118,0,121,0,0,0,99,0,122,0,122,0,108,0,0,0,100,0,106,0,97,0,115,0,0,0,100,0,106,0,100,0,105,0,0,0,100,0,106,0,100,0,106,0,0,0,100,0,107,0,56,0,49,0,0,0,100,0,107,0,56,0,50,0,0,0,100,0,107,0,56,0,51,0,0,0,100,0,107,0,56,0,52,0,0,0,100,0,107,0,56,0,53,0,0,0,100,0,109,0,48,0,50,0,0,0,100,0,109,0,48,0,51,0,0,0,100,0,109,0,48,0,52,0,0,0,100,0,109,0,48,0,53,0,0,0,100,0,109,0,48,0,54,0,0,0,100,0,109,0,48,0,55,0,0,0,100,0,109,0,48,0,56,0,0,0,100,0,109,0,48,0,57,0,0,0,100,0,109,0,49,0,48,0,0,0,100,0,109,0,49,0,49,0,0,0,100,0,111,0,48,0,49,0,0,0,100,0,111,0,48,0,50,0,0,0,100,0,111,0,48,0,51,0,0,0,100,0,111,0,48,0,52,0,0,0,100,0,111,0,48,0,53,0,0,0,100,0,111,0,48,0,54,0,0,0,100,0,111,0,48,0,55,0,0,0,100,0,111,0,48,0,56,0,0,0,100,0,111,0,48,0,57,0,0,0,100,0,111,0,49,0,48,0,0,0,100,0,111,0,49,0,49,0,0,0,100,0,111,0,49,0,50,0,0,0,100,0,111,0,49,0,51,0,0,0,100,0,111,0,49,0,52,0,0,0,100,0,111,0,49,0,53,0,0,0,100,0,111,0,49,0,54,0,0,0,100,0,111,0,49,0,55,0,0,0,100,0,111,0,49,0,56,0,0,0,100,0,111,0,49,0,57,0,0,0,100,0,111,0,50,0,48,0,0,0,100,0,111,0,50,0,49,0,0,0,100,0,111,0,50,0,50,0,0,0,100,0,111,0,50,0,51,0,0,0,100,0,111,0,50,0,52,0,0,0,100,0,111,0,50,0,53,0,0,0,100,0,111,0,50,0,54,0,0,0,100,0,111,0,50,0,55,0,0,0,100,0,111,0,50,0,56,0,0,0,100,0,111,0,50,0,57,0,0,0,100,0,111,0,51,0,48,0,0,0,100,0,111,0,51,0,49,0,0,0,100,0,111,0,51,0,50,0,0,0,100,0,111,0,51,0,51,0,0,0,100,0,111,0,51,0,52,0,0,0,100,0,111,0,51,0,53,0,0,0,100,0,111,0,51,0,54,0,0,0,100,0,111,0,51,0,55,0,0,0,100,0,111,0,51,0,56,0,0,0,100,0,111,0,51,0,57,0,0,0,100,0,111,0,52,0,48,0,0,0,100,0,111,0,52,0,49,0,0,0,100,0,111,0,52,0,50,0,0,0,100,0,122,0,48,0,49,0,0,0,100,0,122,0,48,0,50,0,0,0,100,0,122,0,48,0,51,0,0,0,100,0,122,0,48,0,52,0,0,0,100,0,122,0,48,0,53,0,0,0,100,0,122,0,48,0,54,0,0,0,100,0,122,0,48,0,55,0,0,0,100,0,122,0,48,0,56,0,0,0,100,0,122,0,48,0,57,0,0,0,100,0,122,0,49,0,48,0,0,0,100,0,122,0,49,0,49,0,0,0,100,0,122,0,49,0,50,0,0,0,100,0,122,0,49,0,51,0,0,0,100,0,122,0,49,0,52,0,0,0,100,0,122,0,49,0,53,0,0,0,100,0,122,0,49,0,54,0,0,0,100,0,122,0,49,0,55,0,0,0,100,0,122,0,49,0,56,0,0,0,100,0,122,0,49,0,57,0,0,0,100,0,122,0,50,0,48,0,0,0,100,0,122,0,50,0,49,0,0,0,100,0,122,0,50,0,50,0,0,0,100,0,122,0,50,0,51,0,0,0,100,0,122,0,50,0,52,0,0,0,100,0,122,0,50,0,53,0,0,0,100,0,122,0,50,0,54,0,0,0,100,0,122,0,50,0,55,0,0,0,100,0,122,0,50,0,56,0,0,0,100,0,122,0,50,0,57,0,0,0,100,0,122,0,51,0,48,0,0,0,100,0,122,0,51,0,49,0,0,0,100,0,122,0,51,0,51,0,0,0,100,0,122,0,51,0,52,0,0,0,100,0,122,0,51,0,53,0,0,0,100,0,122,0,51,0,55,0,0,0,100,0,122,0,51,0,56,0,0,0,100,0,122,0,51,0,57,0,0,0,100,0,122,0,52,0,48,0,0,0,100,0,122,0,52,0,49,0,0,0,100,0,122,0,52,0,51,0,0,0,100,0,122,0,52,0,53,0,0,0,100,0,122,0,52,0,54,0,0,0,100,0,122,0,52,0,55,0,0,0,101,0,99,0,115,0,100,0,0,0,101,0,99,0,115,0,101,0,0,0,101,0,101,0,52,0,52,0,0,0,101,0,101,0,52,0,57,0,0,0,101,0,101,0,53,0,49,0,0,0,101,0,101,0,53,0,55,0,0,0,101,0,101,0,53,0,57,0,0,0,101,0,101,0,54,0,53,0,0,0,101,0,101,0,54,0,55,0,0,0,101,0,101,0,55,0,48,0,0,0,101,0,101,0,55,0,56,0,0,0,101,0,101,0,56,0,50,0,0,0,101,0,101,0,56,0,54,0,0,0,101,0,115,0,97,0,114,0,0,0,101,0,115,0,97,0,115,0,0,0,101,0,115,0,99,0,97,0,0,0,101,0,115,0,99,0,99,0,0,0,101,0,115,0,99,0,108,0,0,0,101,0,115,0,99,0,109,0,0,0,101,0,115,0,99,0,110,0,0,0,101,0,115,0,99,0,111,0,0,0,101,0,115,0,99,0,114,0,0,0,101,0,115,0,99,0,115,0,0,0,101,0,115,0,99,0,116,0,0,0,101,0,115,0,99,0,117,0,0,0,101,0,115,0,109,0,99,0,0,0,101,0,115,0,109,0,100,0,0,0,101,0,115,0,116,0,101,0,0,0,101,0,115,0,116,0,102,0,0,0,101,0,116,0,115,0,110,0,0,0,101,0,116,0,115,0,111,0,0,0,102,0,105,0,48,0,50,0,0,0,102,0,105,0,48,0,51,0,0,0,102,0,105,0,48,0,52,0,0,0,102,0,105,0,48,0,53,0,0,0,102,0,105,0,48,0,54,0,0,0,102,0,105,0,48,0,55,0,0,0,102,0,105,0,48,0,56,0,0,0,102,0,105,0,48,0,57,0,0,0,102,0,105,0,49,0,48,0,0,0,102,0,105,0,49,0,49,0,0,0,102,0,105,0,49,0,50,0,0,0,102,0,105,0,49,0,51,0,0,0,102,0,105,0,49,0,52,0,0,0,102,0,105,0,49,0,53,0,0,0,102,0,105,0,49,0,54,0,0,0,102,0,105,0,49,0,55,0,0,0,102,0,105,0,49,0,56,0,0,0,102,0,105,0,49,0,57,0,0,0,102,0,106,0,48,0,49,0,0,0,102,0,106,0,48,0,50,0,0,0,102,0,106,0,48,0,51,0,0,0,102,0,106,0,48,0,52,0,0,0,102,0,106,0,48,0,53,0,0,0,102,0,106,0,48,0,54,0,0,0,102,0,106,0,48,0,55,0,0,0,102,0,106,0,48,0,56,0,0,0,102,0,106,0,48,0,57,0,0,0,102,0,106,0,49,0,48,0,0,0,102,0,106,0,49,0,49,0,0,0,102,0,106,0,49,0,50,0,0,0,102,0,106,0,49,0,51,0,0,0,102,0,106,0,49,0,52,0,0,0,102,0,114,0,48,0,49,0,0,0,102,0,114,0,48,0,50,0,0,0,102,0,114,0,48,0,51,0,0,0,102,0,114,0,48,0,52,0,0,0,102,0,114,0,48,0,53,0,0,0,102,0,114,0,48,0,54,0,0,0,102,0,114,0,48,0,55,0,0,0,102,0,114,0,48,0,56,0,0,0,102,0,114,0,48,0,57,0,0,0,102,0,114,0,49,0,48,0,0,0,102,0,114,0,49,0,49,0,0,0,102,0,114,0,49,0,50,0,0,0,102,0,114,0,49,0,51,0,0,0,102,0,114,0,49,0,52,0,0,0,102,0,114,0,49,0,53,0,0,0,102,0,114,0,49,0,54,0,0,0,102,0,114,0,49,0,55,0,0,0,102,0,114,0,49,0,56,0,0,0,102,0,114,0,49,0,57,0,0,0,102,0,114,0,50,0,49,0,0,0,102,0,114,0,50,0,50,0,0,0,102,0,114,0,50,0,51,0,0,0,102,0,114,0,50,0,52,0,0,0,102,0,114,0,50,0,53,0,0,0,102,0,114,0,50,0,54,0,0,0,102,0,114,0,50,0,55,0,0,0,102,0,114,0,50,0,56,0,0,0,102,0,114,0,50,0,57,0,0,0,102,0,114,0,50,0,97,0,0,0,102,0,114,0,50,0,98,0,0,0,102,0,114,0,51,0,48,0,0,0,102,0,114,0,51,0,49,0,0,0,102,0,114,0,51,0,50,0,0,0,102,0,114,0,51,0,51,0,0,0,102,0,114,0,51,0,52,0,0,0,102,0,114,0,51,0,53,0,0,0,102,0,114,0,51,0,54,0,0,0,102,0,114,0,51,0,55,0,0,0,102,0,114,0,51,0,56,0,0,0,102,0,114,0,51,0,57,0,0,0,102,0,114,0,52,0,48,0,0,0,102,0,114,0,52,0,49,0,0,0,102,0,114,0,52,0,50,0,0,0,102,0,114,0,52,0,51,0,0,0,102,0,114,0,52,0,52,0,0,0,102,0,114,0,52,0,53,0,0,0,102,0,114,0,52,0,54,0,0,0,102,0,114,0,52,0,55,0,0,0,102,0,114,0,52,0,56,0,0,0,102,0,114,0,52,0,57,0,0,0,102,0,114,0,53,0,48,0,0,0,102,0,114,0,53,0,49,0,0,0,102,0,114,0,53,0,50,0,0,0,102,0,114,0,53,0,51,0,0,0,102,0,114,0,53,0,52,0,0,0,102,0,114,0,53,0,53,0,0,0,102,0,114,0,53,0,54,0,0,0,102,0,114,0,53,0,55,0,0,0,102,0,114,0,53,0,56,0,0,0,102,0,114,0,53,0,57,0,0,0,102,0,114,0,54,0,48,0,0,0,102,0,114,0,54,0,49,0,0,0,102,0,114,0,54,0,50,0,0,0,102,0,114,0,54,0,51,0,0,0,102,0,114,0,54,0,52,0,0,0,102,0,114,0,54,0,53,0,0,0,102,0,114,0,54,0,54,0,0,0,102,0,114,0,54,0,55,0,0,0,102,0,114,0,54,0,56,0,0,0,102,0,114,0,54,0,57,0,0,0,102,0,114,0,55,0,48,0,0,0,102,0,114,0,55,0,49,0,0,0,102,0,114,0,55,0,50,0,0,0,102,0,114,0,55,0,51,0,0,0,102,0,114,0,55,0,52,0,0,0,102,0,114,0,55,0,53,0,0,0,102,0,114,0,55,0,54,0,0,0,102,0,114,0,55,0,55,0,0,0,102,0,114,0,55,0,56,0,0,0,102,0,114,0,55,0,57,0,0,0,102,0,114,0,56,0,48,0,0,0,102,0,114,0,56,0,49,0,0,0,102,0,114,0,56,0,50,0,0,0,102,0,114,0,56,0,51,0,0,0,102,0,114,0,56,0,53,0,0,0,102,0,114,0,56,0,54,0,0,0,102,0,114,0,56,0,55,0,0,0,102,0,114,0,56,0,56,0,0,0,102,0,114,0,56,0,57,0,0,0,102,0,114,0,57,0,49,0,0,0,102,0,114,0,57,0,50,0,0,0,102,0,114,0,57,0,51,0,0,0,102,0,114,0,57,0,52,0,0,0,102,0,114,0,57,0,53,0,0,0,102,0,114,0,103,0,102,0,0,0,102,0,114,0,103,0,112,0,0,0,102,0,114,0,109,0,113,0,0,0,102,0,114,0,114,0,101,0,0,0,102,0,114,0,121,0,116,0,0,0,103,0,100,0,48,0,49,0,0,0,103,0,100,0,48,0,50,0,0,0,103,0,100,0,48,0,51,0,0,0,103,0,100,0,48,0,52,0,0,0,103,0,100,0,48,0,53,0,0,0,103,0,100,0,48,0,54,0,0,0,103,0,104,0,98,0,97,0,0,0,103,0,108,0,113,0,97,0,0,0,103,0,110,0,98,0,101,0,0,0,103,0,110,0,107,0,97,0,0,0,103,0,110,0,107,0,98,0,0,0,103,0,110,0,107,0,100,0,0,0,103,0,110,0,107,0,101,0,0,0,103,0,110,0,107,0,110,0,0,0,103,0,110,0,107,0,111,0,0,0,103,0,110,0,109,0,99,0,0,0,103,0,110,0,109,0,100,0,0,0,103,0,110,0,109,0,108,0,0,0,103,0,110,0,109,0,109,0,0,0,103,0,114,0,48,0,49,0,0,0,103,0,114,0,97,0,49,0,0,0,103,0,116,0,48,0,49,0,0,0,103,0,116,0,48,0,50,0,0,0,103,0,116,0,48,0,51,0,0,0,103,0,116,0,48,0,52,0,0,0,103,0,116,0,48,0,53,0,0,0,103,0,116,0,48,0,54,0,0,0,103,0,116,0,48,0,55,0,0,0,103,0,116,0,48,0,56,0,0,0,103,0,116,0,48,0,57,0,0,0,103,0,116,0,49,0,48,0,0,0,103,0,116,0,49,0,49,0,0,0,103,0,116,0,49,0,50,0,0,0,103,0,116,0,49,0,51,0,0,0,103,0,116,0,49,0,52,0,0,0,103,0,116,0,49,0,53,0,0,0,103,0,116,0,49,0,54,0,0,0,103,0,116,0,49,0,55,0,0,0,103,0,116,0,49,0,56,0,0,0,103,0,116,0,49,0,57,0,0,0,103,0,116,0,50,0,48,0,0,0,103,0,116,0,50,0,49,0,0,0,103,0,116,0,50,0,50,0,0,0,103,0,116,0,97,0,118,0,0,0,103,0,116,0,98,0,118,0,0,0,103,0,116,0,99,0,109,0,0,0,103,0,116,0,99,0,113,0,0,0,103,0,116,0,101,0,115,0,0,0,103,0,116,0,103,0,117,0,0,0,103,0,116,0,104,0,117,0,0,0,103,0,116,0,105,0,122,0,0,0,103,0,116,0,112,0,101,0,0,0,103,0,116,0,112,0,114,0,0,0,103,0,116,0,113,0,99,0,0,0,103,0,116,0,113,0,122,0,0,0,103,0,116,0,114,0,101,0,0,0,103,0,116,0,115,0,97,0,0,0,103,0,116,0,115,0,109,0,0,0,103,0,116,0,115,0,111,0,0,0,103,0,116,0,115,0,114,0,0,0,103,0,116,0,115,0,117,0,0,0,103,0,116,0,116,0,111,0,0,0,103,0,119,0,98,0,108,0,0,0,104,0,110,0,99,0,108,0,0,0,104,0,110,0,99,0,109,0,0,0,104,0,114,0,48,0,49,0,0,0,104,0,114,0,48,0,50,0,0,0,104,0,114,0,48,0,51,0,0,0,104,0,114,0,48,0,52,0,0,0,104,0,114,0,48,0,53,0,0,0,104,0,114,0,48,0,54,0,0,0,104,0,114,0,48,0,55,0,0,0,104,0,114,0,48,0,56,0,0,0,104,0,114,0,48,0,57,0,0,0,104,0,114,0,49,0,48,0,0,0,104,0,114,0,49,0,49,0,0,0,104,0,114,0,49,0,50,0,0,0,104,0,114,0,49,0,51,0,0,0,104,0,114,0,49,0,52,0,0,0,104,0,114,0,49,0,53,0,0,0,104,0,114,0,49,0,54,0,0,0,104,0,114,0,49,0,55,0,0,0,104,0,114,0,49,0,56,0,0,0,104,0,114,0,49,0,57,0,0,0,104,0,114,0,50,0,48,0,0,0,104,0,114,0,50,0,49,0,0,0,104,0,116,0,110,0,100,0,0,0,104,0,116,0,110,0,101,0,0,0,104,0,116,0,115,0,100,0,0,0,104,0,116,0,115,0,101,0,0,0,104,0,117,0,115,0,111,0,0,0,104,0,117,0,115,0,116,0,0,0,105,0,100,0,98,0,97,0,0,0,105,0,100,0,98,0,98,0,0,0,105,0,100,0,106,0,97,0,0,0,105,0,100,0,106,0,98,0,0,0,105,0,100,0,107,0,97,0,0,0,105,0,100,0,107,0,98,0,0,0,105,0,100,0,107,0,114,0,0,0,105,0,100,0,107,0,115,0,0,0,105,0,100,0,107,0,116,0,0,0,105,0,100,0,107,0,117,0,0,0,105,0,100,0,110,0,116,0,0,0,105,0,100,0,110,0,117,0,0,0,105,0,100,0,112,0,97,0,0,0,105,0,100,0,112,0,98,0,0,0,105,0,100,0,115,0,97,0,0,0,105,0,100,0,115,0,109,0,0,0,105,0,100,0,115,0,110,0,0,0,105,0,100,0,115,0,114,0,0,0,105,0,100,0,115,0,115,0,0,0,105,0,100,0,115,0,116,0,0,0,105,0,100,0,115,0,117,0,0,0,105,0,101,0,109,0,110,0,0,0,105,0,101,0,109,0,111,0,0,0,105,0,101,0,119,0,119,0,0,0,105,0,101,0,119,0,120,0,0,0,105,0,110,0,97,0,114,0,0,0,105,0,110,0,97,0,115,0,0,0,105,0,110,0,100,0,100,0,0,0,105,0,110,0,100,0,110,0,0,0,105,0,113,0,98,0,97,0,0,0,105,0,113,0,98,0,98,0,0,0,105,0,114,0,48,0,48,0,0,0,105,0,114,0,48,0,49,0,0,0,105,0,114,0,48,0,50,0,0,0,105,0,114,0,48,0,51,0,0,0,105,0,114,0,48,0,52,0,0,0,105,0,114,0,48,0,53,0,0,0,105,0,114,0,48,0,54,0,0,0,105,0,114,0,48,0,55,0,0,0,105,0,114,0,48,0,56,0,0,0,105,0,114,0,48,0,57,0,0,0,105,0,114,0,49,0,48,0,0,0,105,0,114,0,49,0,49,0,0,0,105,0,114,0,49,0,50,0,0,0,105,0,114,0,49,0,51,0,0,0,105,0,114,0,49,0,52,0,0,0,105,0,114,0,49,0,53,0,0,0,105,0,114,0,49,0,54,0,0,0,105,0,114,0,49,0,55,0,0,0,105,0,114,0,49,0,56,0,0,0,105,0,114,0,49,0,57,0,0,0,105,0,114,0,50,0,48,0,0,0,105,0,114,0,50,0,49,0,0,0,105,0,114,0,50,0,50,0,0,0,105,0,114,0,50,0,51,0,0,0,105,0,114,0,50,0,52,0,0,0,105,0,114,0,50,0,53,0,0,0,105,0,114,0,50,0,54,0,0,0,105,0,114,0,50,0,55,0,0,0,105,0,114,0,50,0,56,0,0,0,105,0,114,0,50,0,57,0,0,0,105,0,116,0,55,0,55,0,0,0,105,0,116,0,55,0,56,0,0,0,105,0,116,0,97,0,111,0,0,0,105,0,116,0,97,0,112,0,0,0,105,0,116,0,97,0,113,0,0,0,105,0,116,0,97,0,114,0,0,0,105,0,116,0,98,0,114,0,0,0,105,0,116,0,98,0,115,0,0,0,105,0,116,0,98,0,116,0,0,0,105,0,116,0,99,0,97,0,0,0,105,0,116,0,99,0,98,0,0,0,105,0,116,0,99,0,105,0,0,0,105,0,116,0,99,0,110,0,0,0,105,0,116,0,99,0,111,0,0,0,105,0,116,0,99,0,114,0,0,0,105,0,116,0,99,0,115,0,0,0,105,0,116,0,99,0,116,0,0,0,105,0,116,0,108,0,116,0,0,0,105,0,116,0,108,0,117,0,0,0,105,0,116,0,109,0,99,0,0,0,105,0,116,0,109,0,110,0,0,0,105,0,116,0,109,0,111,0,0,0,105,0,116,0,109,0,116,0,0,0,105,0,116,0,111,0,103,0,0,0,105,0,116,0,111,0,116,0,0,0,105,0,116,0,112,0,100,0,0,0,105,0,116,0,112,0,101,0,0,0,105,0,116,0,112,0,110,0,0,0,105,0,116,0,112,0,111,0,0,0,105,0,116,0,112,0,116,0,0,0,105,0,116,0,112,0,117,0,0,0,105,0,116,0,112,0,118,0,0,0,105,0,116,0,114,0,109,0,0,0,105,0,116,0,114,0,110,0,0,0,105,0,116,0,114,0,111,0,0,0,105,0,116,0,115,0,100,0,0,0,105,0,116,0,115,0,111,0,0,0,105,0,116,0,115,0,112,0,0,0,105,0,116,0,115,0,114,0,0,0,105,0,116,0,115,0,115,0,0,0,105,0,116,0,115,0,117,0,0,0,105,0,116,0,115,0,118,0,0,0,105,0,116,0,116,0,111,0,0,0,105,0,116,0,116,0,112,0,0,0,105,0,116,0,116,0,114,0,0,0,105,0,116,0,116,0,115,0,0,0,105,0,116,0,118,0,98,0,0,0,105,0,116,0,118,0,99,0,0,0,105,0,116,0,118,0,115,0,0,0,106,0,109,0,48,0,49,0,0,0,106,0,109,0,48,0,50,0,0,0,106,0,109,0,48,0,51,0,0,0,106,0,109,0,48,0,52,0,0,0,106,0,109,0,48,0,53,0,0,0,106,0,109,0,48,0,54,0,0,0,106,0,109,0,48,0,55,0,0,0,106,0,109,0,48,0,56,0,0,0,106,0,109,0,48,0,57,0,0,0,106,0,109,0,49,0,48,0,0,0,106,0,109,0,49,0,49,0,0,0,106,0,109,0,49,0,50,0,0,0,106,0,109,0,49,0,51,0,0,0,106,0,109,0,49,0,52,0,0,0,106,0,112,0,48,0,49,0,0,0,106,0,112,0,48,0,50,0,0,0,106,0,112,0,48,0,51,0,0,0,106,0,112,0,48,0,52,0,0,0,106,0,112,0,48,0,53,0,0,0,106,0,112,0,48,0,54,0,0,0,106,0,112,0,48,0,55,0,0,0,106,0,112,0,48,0,56,0,0,0,106,0,112,0,48,0,57,0,0,0,106,0,112,0,49,0,48,0,0,0,106,0,112,0,49,0,49,0,0,0,106,0,112,0,49,0,50,0,0,0,106,0,112,0,49,0,51,0,0,0,106,0,112,0,49,0,52,0,0,0,106,0,112,0,49,0,53,0,0,0,106,0,112,0,49,0,54,0,0,0,106,0,112,0,49,0,55,0,0,0,106,0,112,0,49,0,56,0,0,0,106,0,112,0,49,0,57,0,0,0,106,0,112,0,50,0,48,0,0,0,106,0,112,0,50,0,49,0,0,0,106,0,112,0,50,0,50,0,0,0,106,0,112,0,50,0,51,0,0,0,106,0,112,0,50,0,52,0,0,0,106,0,112,0,50,0,53,0,0,0,106,0,112,0,50,0,54,0,0,0,106,0,112,0,50,0,55,0,0,0,106,0,112,0,50,0,56,0,0,0,106,0,112,0,50,0,57,0,0,0,106,0,112,0,51,0,48,0,0,0,106,0,112,0,51,0,49,0,0,0,106,0,112,0,51,0,50,0,0,0,106,0,112,0,51,0,51,0,0,0,106,0,112,0,51,0,52,0,0,0,106,0,112,0,51,0,53,0,0,0,106,0,112,0,51,0,54,0,0,0,106,0,112,0,51,0,55,0,0,0,106,0,112,0,51,0,56,0,0,0,106,0,112,0,51,0,57,0,0,0,106,0,112,0,52,0,48,0,0,0,106,0,112,0,52,0,49,0,0,0,106,0,112,0,52,0,50,0,0,0,106,0,112,0,52,0,51,0,0,0,106,0,112,0,52,0,52,0,0,0,106,0,112,0,52,0,53,0,0,0,106,0,112,0,52,0,54,0,0,0,106,0,112,0,52,0,55,0,0,0,107,0,101,0,48,0,49,0,0,0,107,0,101,0,48,0,50,0,0,0,107,0,101,0,48,0,51,0,0,0,107,0,101,0,48,0,52,0,0,0,107,0,101,0,48,0,53,0,0,0,107,0,101,0,48,0,54,0,0,0,107,0,101,0,48,0,55,0,0,0,107,0,101,0,48,0,56,0,0,0,107,0,101,0,48,0,57,0,0,0,107,0,101,0,49,0,48,0,0,0,107,0,101,0,49,0,49,0,0,0,107,0,101,0,49,0,50,0,0,0,107,0,101,0,49,0,51,0,0,0,107,0,101,0,49,0,52,0,0,0,107,0,101,0,49,0,53,0,0,0,107,0,101,0,49,0,54,0,0,0,107,0,101,0,49,0,55,0,0,0,107,0,101,0,49,0,56,0,0,0,107,0,101,0,49,0,57,0,0,0,107,0,101,0,50,0,48,0,0,0,107,0,101,0,50,0,49,0,0,0,107,0,101,0,50,0,50,0,0,0,107,0,101,0,50,0,51,0,0,0,107,0,101,0,50,0,52,0,0,0,107,0,101,0,50,0,53,0,0,0,107,0,101,0,50,0,54,0,0,0,107,0,101,0,50,0,55,0,0,0,107,0,101,0,50,0,56,0,0,0,107,0,101,0,50,0,57,0,0,0,107,0,101,0,51,0,48,0,0,0,107,0,101,0,51,0,49,0,0,0,107,0,101,0,51,0,50,0,0,0,107,0,101,0,51,0,51,0,0,0,107,0,101,0,51,0,52,0,0,0,107,0,101,0,51,0,53,0,0,0,107,0,101,0,51,0,54,0,0,0,107,0,101,0,51,0,55,0,0,0,107,0,101,0,51,0,56,0,0,0,107,0,101,0,51,0,57,0,0,0,107,0,101,0,52,0,48,0,0,0,107,0,101,0,52,0,49,0,0,0,107,0,101,0,52,0,50,0,0,0,107,0,101,0,52,0,51,0,0,0,107,0,101,0,52,0,52,0,0,0,107,0,101,0,52,0,53,0,0,0,107,0,101,0,52,0,54,0,0,0,107,0,101,0,52,0,55,0,0,0,107,0,104,0,49,0,48,0,0,0,107,0,104,0,49,0,49,0,0,0,107,0,104,0,49,0,50,0,0,0,107,0,104,0,49,0,51,0,0,0,107,0,104,0,49,0,52,0,0,0,107,0,104,0,49,0,53,0,0,0,107,0,104,0,49,0,54,0,0,0,107,0,104,0,49,0,55,0,0,0,107,0,104,0,49,0,56,0,0,0,107,0,104,0,49,0,57,0,0,0,107,0,104,0,50,0,48,0,0,0,107,0,104,0,50,0,49,0,0,0,107,0,104,0,50,0,50,0,0,0,107,0,104,0,50,0,51,0,0,0,107,0,104,0,50,0,52,0,0,0,107,0,104,0,50,0,53,0,0,0,107,0,110,0,48,0,49,0,0,0,107,0,110,0,48,0,50,0,0,0,107,0,110,0,48,0,51,0,0,0,107,0,110,0,48,0,52,0,0,0,107,0,110,0,48,0,53,0,0,0,107,0,110,0,48,0,54,0,0,0,107,0,110,0,48,0,55,0,0,0,107,0,110,0,48,0,56,0,0,0,107,0,110,0,48,0,57,0,0,0,107,0,110,0,49,0,48,0,0,0,107,0,110,0,49,0,49,0,0,0,107,0,110,0,49,0,50,0,0,0,107,0,110,0,49,0,51,0,0,0,107,0,112,0,48,0,49,0,0,0,107,0,112,0,48,0,50,0,0,0,107,0,112,0,48,0,51,0,0,0,107,0,112,0,48,0,52,0,0,0,107,0,112,0,48,0,53,0,0,0,107,0,112,0,48,0,54,0,0,0,107,0,112,0,48,0,55,0,0,0,107,0,112,0,48,0,56,0,0,0,107,0,112,0,48,0,57,0,0,0,107,0,112,0,49,0,51,0,0,0,107,0,112,0,49,0,52,0,0,0,107,0,114,0,50,0,54,0,0,0,107,0,114,0,50,0,55,0,0,0,107,0,114,0,50,0,56,0,0,0,107,0,114,0,50,0,57,0,0,0,107,0,114,0,51,0,48,0,0,0,107,0,114,0,51,0,49,0,0,0,107,0,114,0,52,0,49,0,0,0,107,0,114,0,52,0,50,0,0,0,107,0,114,0,52,0,51,0,0,0,107,0,114,0,52,0,52,0,0,0,107,0,114,0,52,0,53,0,0,0,107,0,114,0,52,0,54,0,0,0,107,0,114,0,52,0,55,0,0,0,107,0,114,0,52,0,56,0,0,0,107,0,114,0,52,0,57,0,0,0,108,0,97,0,98,0,107,0,0,0,108,0,97,0,98,0,108,0,0,0,108,0,97,0,120,0,110,0,0,0,108,0,98,0,98,0,104,0,0,0,108,0,98,0,98,0,105,0,0,0,108,0,99,0,48,0,49,0,0,0,108,0,99,0,48,0,50,0,0,0,108,0,99,0,48,0,51,0,0,0,108,0,99,0,48,0,53,0,0,0,108,0,99,0,48,0,54,0,0,0,108,0,99,0,48,0,55,0,0,0,108,0,99,0,48,0,56,0,0,0,108,0,99,0,49,0,48,0,0,0,108,0,99,0,49,0,49,0,0,0,108,0,99,0,49,0,50,0,0,0,108,0,105,0,48,0,49,0,0,0,108,0,105,0,48,0,50,0,0,0,108,0,105,0,48,0,51,0,0,0,108,0,105,0,48,0,52,0,0,0,108,0,105,0,48,0,53,0,0,0,108,0,105,0,48,0,54,0,0,0,108,0,105,0,48,0,55,0,0,0,108,0,105,0,48,0,56,0,0,0,108,0,105,0,48,0,57,0,0,0,108,0,105,0,49,0,48,0,0,0,108,0,105,0,49,0,49,0,0,0,108,0,107,0,49,0,49,0,0,0,108,0,107,0,49,0,50,0,0,0,108,0,107,0,49,0,51,0,0,0,108,0,107,0,50,0,49,0,0,0,108,0,107,0,50,0,50,0,0,0,108,0,107,0,50,0,51,0,0,0,108,0,107,0,51,0,49,0,0,0,108,0,107,0,51,0,50,0,0,0,108,0,107,0,51,0,51,0,0,0,108,0,107,0,52,0,49,0,0,0,108,0,107,0,52,0,50,0,0,0,108,0,107,0,52,0,51,0,0,0,108,0,107,0,52,0,52,0,0,0,108,0,107,0,52,0,53,0,0,0,108,0,107,0,53,0,49,0,0,0,108,0,107,0,53,0,50,0,0,0,108,0,107,0,53,0,51,0,0,0,108,0,107,0,54,0,49,0,0,0,108,0,107,0,54,0,50,0,0,0,108,0,107,0,55,0,49,0,0,0,108,0,107,0,55,0,50,0,0,0,108,0,107,0,56,0,49,0,0,0,108,0,107,0,56,0,50,0,0,0,108,0,107,0,57,0,49,0,0,0,108,0,107,0,57,0,50,0,0,0,108,0,116,0,48,0,49,0,0,0,108,0,116,0,48,0,50,0,0,0,108,0,116,0,48,0,51,0,0,0,108,0,116,0,48,0,52,0,0,0,108,0,116,0,48,0,53,0,0,0,108,0,116,0,48,0,54,0,0,0,108,0,116,0,48,0,55,0,0,0,108,0,116,0,48,0,56,0,0,0,108,0,116,0,48,0,57,0,0,0,108,0,116,0,49,0,48,0,0,0,108,0,116,0,49,0,49,0,0,0,108,0,116,0,49,0,50,0,0,0,108,0,116,0,49,0,51,0,0,0,108,0,116,0,49,0,52,0,0,0,108,0,116,0,49,0,53,0,0,0,108,0,116,0,49,0,54,0,0,0,108,0,116,0,49,0,55,0,0,0,108,0,116,0,49,0,56,0,0,0,108,0,116,0,49,0,57,0,0,0,108,0,116,0,50,0,48,0,0,0,108,0,116,0,50,0,49,0,0,0,108,0,116,0,50,0,50,0,0,0,108,0,116,0,50,0,51,0,0,0,108,0,116,0,50,0,52,0,0,0,108,0,116,0,50,0,53,0,0,0,108,0,116,0,50,0,54,0,0,0,108,0,116,0,50,0,55,0,0,0,108,0,116,0,50,0,56,0,0,0,108,0,116,0,50,0,57,0,0,0,108,0,116,0,51,0,48,0,0,0,108,0,116,0,51,0,49,0,0,0,108,0,116,0,51,0,50,0,0,0,108,0,116,0,51,0,51,0,0,0,108,0,116,0,51,0,52,0,0,0,108,0,116,0,51,0,53,0,0,0,108,0,116,0,51,0,54,0,0,0,108,0,116,0,51,0,55,0,0,0,108,0,116,0,51,0,56,0,0,0,108,0,116,0,51,0,57,0,0,0,108,0,116,0,52,0,48,0,0,0,108,0,116,0,52,0,49,0,0,0,108,0,116,0,52,0,50,0,0,0,108,0,116,0,52,0,51,0,0,0,108,0,116,0,52,0,52,0,0,0,108,0,116,0,52,0,53,0,0,0,108,0,116,0,52,0,54,0,0,0,108,0,116,0,52,0,55,0,0,0,108,0,116,0,52,0,56,0,0,0,108,0,116,0,52,0,57,0,0,0,108,0,116,0,53,0,48,0,0,0,108,0,116,0,53,0,49,0,0,0,108,0,116,0,53,0,50,0,0,0,108,0,116,0,53,0,51,0,0,0,108,0,116,0,53,0,52,0,0,0,108,0,116,0,53,0,53,0,0,0,108,0,116,0,53,0,54,0,0,0,108,0,116,0,53,0,55,0,0,0,108,0,116,0,53,0,56,0,0,0,108,0,116,0,53,0,57,0,0,0,108,0,121,0,109,0,105,0,0,0,108,0,121,0,109,0,106,0,0,0,109,0,97,0,48,0,49,0,0,0,109,0,97,0,48,0,50,0,0,0,109,0,97,0,48,0,51,0,0,0,109,0,97,0,48,0,52,0,0,0,109,0,97,0,48,0,53,0,0,0,109,0,97,0,48,0,54,0,0,0,109,0,97,0,48,0,55,0,0,0,109,0,97,0,48,0,56,0,0,0,109,0,97,0,48,0,57,0,0,0,109,0,97,0,49,0,48,0,0,0,109,0,97,0,49,0,49,0,0,0,109,0,97,0,49,0,50,0,0,0,109,0,99,0,115,0,111,0,0,0,109,0,99,0,115,0,112,0,0,0,109,0,100,0,98,0,114,0,0,0,109,0,100,0,98,0,115,0,0,0,109,0,100,0,99,0,108,0,0,0,109,0,100,0,99,0,109,0,0,0,109,0,100,0,99,0,115,0,0,0,109,0,100,0,99,0,116,0,0,0,109,0,100,0,99,0,117,0,0,0,109,0,100,0,115,0,110,0,0,0,109,0,100,0,115,0,111,0,0,0,109,0,101,0,48,0,49,0,0,0,109,0,101,0,48,0,50,0,0,0,109,0,101,0,48,0,51,0,0,0,109,0,101,0,48,0,52,0,0,0,109,0,101,0,48,0,53,0,0,0,109,0,101,0,48,0,54,0,0,0,109,0,101,0,48,0,55,0,0,0,109,0,101,0,48,0,56,0,0,0,109,0,101,0,48,0,57,0,0,0,109,0,101,0,49,0,48,0,0,0,109,0,101,0,49,0,49,0,0,0,109,0,101,0,49,0,50,0,0,0,109,0,101,0,49,0,51,0,0,0,109,0,101,0,49,0,52,0,0,0,109,0,101,0,49,0,53,0,0,0,109,0,101,0,49,0,54,0,0,0,109,0,101,0,49,0,55,0,0,0,109,0,101,0,49,0,56,0,0,0,109,0,101,0,49,0,57,0,0,0,109,0,101,0,50,0,48,0,0,0,109,0,101,0,50,0,49,0,0,0,109,0,101,0,50,0,50,0,0,0,109,0,101,0,50,0,51,0,0,0,109,0,101,0,50,0,52,0,0,0,109,0,109,0,48,0,49,0,0,0,109,0,109,0,48,0,50,0,0,0,109,0,109,0,48,0,51,0,0,0,109,0,109,0,48,0,52,0,0,0,109,0,109,0,48,0,53,0,0,0,109,0,109,0,48,0,54,0,0,0,109,0,109,0,48,0,55,0,0,0,109,0,109,0,49,0,49,0,0,0,109,0,109,0,49,0,50,0,0,0,109,0,109,0,49,0,51,0,0,0,109,0,109,0,49,0,52,0,0,0,109,0,109,0,49,0,53,0,0,0,109,0,109,0,49,0,54,0,0,0,109,0,109,0,49,0,55,0,0,0,109,0,109,0,49,0,56,0,0,0,109,0,114,0,48,0,49,0,0,0,109,0,114,0,48,0,50,0,0,0,109,0,114,0,48,0,51,0,0,0,109,0,114,0,48,0,52,0,0,0,109,0,114,0,48,0,53,0,0,0,109,0,114,0,48,0,54,0,0,0,109,0,114,0,48,0,55,0,0,0,109,0,114,0,48,0,56,0,0,0,109,0,114,0,48,0,57,0,0,0,109,0,114,0,49,0,48,0,0,0,109,0,114,0,49,0,49,0,0,0,109,0,114,0,49,0,50,0,0,0,109,0,114,0,49,0,51,0,0,0,109,0,114,0,49,0,52,0,0,0,109,0,114,0,49,0,53,0,0,0,109,0,116,0,48,0,49,0,0,0,109,0,116,0,48,0,50,0,0,0,109,0,116,0,48,0,51,0,0,0,109,0,116,0,48,0,52,0,0,0,109,0,116,0,48,0,53,0,0,0,109,0,116,0,48,0,54,0,0,0,109,0,116,0,48,0,55,0,0,0,109,0,116,0,48,0,56,0,0,0,109,0,116,0,48,0,57,0,0,0,109,0,116,0,49,0,48,0,0,0,109,0,116,0,49,0,49,0,0,0,109,0,116,0,49,0,50,0,0,0,109,0,116,0,49,0,51,0,0,0,109,0,116,0,49,0,52,0,0,0,109,0,116,0,49,0,53,0,0,0,109,0,116,0,49,0,54,0,0,0,109,0,116,0,49,0,55,0,0,0,109,0,116,0,49,0,56,0,0,0,109,0,116,0,49,0,57,0,0,0,109,0,116,0,50,0,48,0,0,0,109,0,116,0,50,0,49,0,0,0,109,0,116,0,50,0,50,0,0,0,109,0,116,0,50,0,51,0,0,0,109,0,116,0,50,0,52,0,0,0,109,0,116,0,50,0,53,0,0,0,109,0,116,0,50,0,54,0,0,0,109,0,116,0,50,0,55,0,0,0,109,0,116,0,50,0,56,0,0,0,109,0,116,0,50,0,57,0,0,0,109,0,116,0,51,0,48,0,0,0,109,0,116,0,51,0,49,0,0,0,109,0,116,0,51,0,50,0,0,0,109,0,116,0,51,0,51,0,0,0,109,0,116,0,51,0,52,0,0,0,109,0,116,0,51,0,53,0,0,0,109,0,116,0,51,0,54,0,0,0,109,0,116,0,51,0,55,0,0,0,109,0,116,0,51,0,56,0,0,0,109,0,116,0,51,0,57,0,0,0,109,0,116,0,52,0,48,0,0,0,109,0,116,0,52,0,49,0,0,0,109,0,116,0,52,0,50,0,0,0,109,0,116,0,52,0,51,0,0,0,109,0,116,0,52,0,52,0,0,0,109,0,116,0,52,0,53,0,0,0,109,0,116,0,52,0,54,0,0,0,109,0,116,0,52,0,55,0,0,0,109,0,116,0,52,0,56,0,0,0,109,0,116,0,52,0,57,0,0,0,109,0,116,0,53,0,49,0,0,0,109,0,116,0,53,0,50,0,0,0,109,0,116,0,53,0,51,0,0,0,109,0,116,0,53,0,52,0,0,0,109,0,116,0,53,0,53,0,0,0,109,0,116,0,53,0,54,0,0,0,109,0,116,0,53,0,55,0,0,0,109,0,116,0,53,0,56,0,0,0,109,0,116,0,53,0,57,0,0,0,109,0,116,0,54,0,49,0,0,0,109,0,116,0,54,0,50,0,0,0,109,0,116,0,54,0,51,0,0,0,109,0,116,0,54,0,52,0,0,0,109,0,116,0,54,0,53,0,0,0,109,0,116,0,54,0,54,0,0,0,109,0,116,0,54,0,55,0,0,0,109,0,117,0,99,0,117,0,0,0,109,0,117,0,112,0,117,0,0,0,109,0,117,0,113,0,98,0,0,0,109,0,117,0,118,0,112,0,0,0,109,0,118,0,48,0,48,0,0,0,109,0,118,0,48,0,49,0,0,0,109,0,118,0,48,0,50,0,0,0,109,0,118,0,48,0,51,0,0,0,109,0,118,0,48,0,52,0,0,0,109,0,118,0,48,0,53,0,0,0,109,0,118,0,48,0,55,0,0,0,109,0,118,0,48,0,56,0,0,0,109,0,118,0,49,0,50,0,0,0,109,0,118,0,49,0,51,0,0,0,109,0,118,0,49,0,52,0,0,0,109,0,118,0,50,0,51,0,0,0,109,0,118,0,50,0,52,0,0,0,109,0,118,0,50,0,53,0,0,0,109,0,118,0,50,0,54,0,0,0,109,0,118,0,50,0,55,0,0,0,109,0,118,0,50,0,56,0,0,0,109,0,118,0,50,0,57,0,0,0,109,0,118,0,99,0,101,0,0,0,109,0,118,0,110,0,99,0,0,0,109,0,118,0,115,0,99,0,0,0,109,0,118,0,115,0,117,0,0,0,109,0,118,0,117,0,110,0,0,0,109,0,118,0,117,0,115,0,0,0,109,0,121,0,48,0,49,0,0,0,109,0,121,0,48,0,50,0,0,0,109,0,121,0,48,0,51,0,0,0,109,0,121,0,48,0,52,0,0,0,109,0,121,0,48,0,53,0,0,0,109,0,121,0,48,0,54,0,0,0,109,0,121,0,48,0,55,0,0,0,109,0,121,0,48,0,56,0,0,0,109,0,121,0,48,0,57,0,0,0,109,0,121,0,49,0,48,0,0,0,109,0,121,0,49,0,49,0,0,0,109,0,121,0,49,0,50,0,0,0,109,0,121,0,49,0,51,0,0,0,109,0,121,0,49,0,52,0,0,0,109,0,121,0,49,0,53,0,0,0,109,0,121,0,49,0,54,0,0,0,110,0,97,0,111,0,115,0,0,0,110,0,97,0,111,0,116,0,0,0,110,0,103,0,107,0,100,0,0,0,110,0,103,0,107,0,101,0,0,0,110,0,103,0,107,0,110,0,0,0,110,0,103,0,107,0,111,0,0,0,110,0,105,0,109,0,115,0,0,0,110,0,105,0,109,0,116,0,0,0,110,0,111,0,49,0,48,0,0,0,110,0,111,0,49,0,50,0,0,0,110,0,111,0,49,0,52,0,0,0,110,0,111,0,49,0,57,0,0,0,110,0,111,0,50,0,48,0,0,0,110,0,111,0,50,0,49,0,0,0,110,0,111,0,50,0,50,0,0,0,110,0,111,0,50,0,51,0,0,0,110,0,112,0,112,0,49,0,0,0,110,0,112,0,112,0,50,0,0,0,110,0,112,0,112,0,51,0,0,0,110,0,112,0,112,0,52,0,0,0,110,0,112,0,112,0,53,0,0,0,110,0,112,0,112,0,54,0,0,0,110,0,112,0,112,0,55,0,0,0,110,0,114,0,48,0,49,0,0,0,110,0,114,0,48,0,50,0,0,0,110,0,114,0,48,0,51,0,0,0,110,0,114,0,48,0,52,0,0,0,110,0,114,0,48,0,53,0,0,0,110,0,114,0,48,0,54,0,0,0,110,0,114,0,48,0,55,0,0,0,110,0,114,0,48,0,56,0,0,0,110,0,114,0,48,0,57,0,0,0,110,0,114,0,49,0,48,0,0,0,110,0,114,0,49,0,49,0,0,0,110,0,114,0,49,0,50,0,0,0,110,0,114,0,49,0,51,0,0,0,110,0,114,0,49,0,52,0,0,0,111,0,109,0,98,0,97,0,0,0,112,0,104,0,48,0,48,0,0,0,112,0,104,0,48,0,49,0,0,0,112,0,104,0,48,0,50,0,0,0,112,0,104,0,48,0,51,0,0,0,112,0,104,0,48,0,53,0,0,0,112,0,104,0,48,0,54,0,0,0,112,0,104,0,48,0,55,0,0,0,112,0,104,0,48,0,56,0,0,0,112,0,104,0,48,0,57,0,0,0,112,0,104,0,49,0,48,0,0,0,112,0,104,0,49,0,49,0,0,0,112,0,104,0,49,0,50,0,0,0,112,0,104,0,49,0,51,0,0,0,112,0,104,0,49,0,52,0,0,0,112,0,104,0,49,0,53,0,0,0,112,0,104,0,52,0,48,0,0,0,112,0,104,0,52,0,49,0,0,0,112,0,107,0,116,0,97,0,0,0,112,0,108,0,100,0,115,0,0,0,112,0,108,0,107,0,112,0,0,0,112,0,108,0,108,0,100,0,0,0,112,0,108,0,109,0,97,0,0,0,112,0,108,0,111,0,112,0,0,0,112,0,108,0,112,0,100,0,0,0,112,0,108,0,112,0,107,0,0,0,112,0,108,0,112,0,109,0,0,0,112,0,108,0,119,0,110,0,0,0,112,0,108,0,119,0,112,0,0,0,112,0,108,0,122,0,112,0,0,0,112,0,116,0,48,0,49,0,0,0,112,0,116,0,48,0,50,0,0,0,112,0,116,0,48,0,51,0,0,0,112,0,116,0,48,0,52,0,0,0,112,0,116,0,48,0,53,0,0,0,112,0,116,0,48,0,54,0,0,0,112,0,116,0,48,0,55,0,0,0,112,0,116,0,48,0,56,0,0,0,112,0,116,0,48,0,57,0,0,0,112,0,116,0,49,0,48,0,0,0,112,0,116,0,49,0,49,0,0,0,112,0,116,0,49,0,50,0,0,0,112,0,116,0,49,0,51,0,0,0,112,0,116,0,49,0,52,0,0,0,112,0,116,0,49,0,53,0,0,0,112,0,116,0,49,0,54,0,0,0,112,0,116,0,49,0,55,0,0,0,112,0,116,0,49,0,56,0,0,0,112,0,121,0,49,0,48,0,0,0,112,0,121,0,49,0,49,0,0,0,112,0,121,0,49,0,50,0,0,0,112,0,121,0,49,0,51,0,0,0,112,0,121,0,49,0,52,0,0,0,112,0,121,0,49,0,53,0,0,0,112,0,121,0,49,0,54,0,0,0,114,0,111,0,99,0,115,0,0,0,114,0,111,0,99,0,116,0,0,0,114,0,111,0,116,0,108,0,0,0,114,0,111,0,116,0,109,0,0,0,114,0,115,0,48,0,48,0,0,0,114,0,115,0,48,0,49,0,0,0,114,0,115,0,48,0,50,0,0,0,114,0,115,0,48,0,51,0,0,0,114,0,115,0,48,0,52,0,0,0,114,0,115,0,48,0,53,0,0,0,114,0,115,0,48,0,54,0,0,0,114,0,115,0,48,0,55,0,0,0,114,0,115,0,48,0,56,0,0,0,114,0,115,0,48,0,57,0,0,0,114,0,115,0,49,0,48,0,0,0,114,0,115,0,49,0,49,0,0,0,114,0,115,0,49,0,50,0,0,0,114,0,115,0,49,0,51,0,0,0,114,0,115,0,49,0,52,0,0,0,114,0,115,0,49,0,53,0,0,0,114,0,115,0,49,0,54,0,0,0,114,0,115,0,49,0,55,0,0,0,114,0,115,0,49,0,56,0,0,0,114,0,115,0,49,0,57,0,0,0,114,0,115,0,50,0,48,0,0,0,114,0,115,0,50,0,49,0,0,0,114,0,115,0,50,0,50,0,0,0,114,0,115,0,50,0,51,0,0,0,114,0,115,0,50,0,52,0,0,0,114,0,115,0,50,0,53,0,0,0,114,0,115,0,50,0,54,0,0,0,114,0,115,0,50,0,55,0,0,0,114,0,115,0,50,0,56,0,0,0,114,0,115,0,50,0,57,0,0,0,114,0,117,0,107,0,98,0,0,0,114,0,117,0,107,0,99,0,0,0,114,0,117,0,107,0,107,0,0,0,114,0,117,0,107,0,108,0,0,0,114,0,119,0,48,0,49,0,0,0,114,0,119,0,48,0,50,0,0,0,114,0,119,0,48,0,51,0,0,0,114,0,119,0,48,0,52,0,0,0,114,0,119,0,48,0,53,0,0,0,115,0,97,0,48,0,49,0,0,0,115,0,97,0,48,0,50,0,0,0,115,0,97,0,48,0,51,0,0,0,115,0,97,0,48,0,52,0,0,0,115,0,97,0,48,0,53,0,0,0,115,0,97,0,48,0,54,0,0,0,115,0,97,0,48,0,55,0,0,0,115,0,97,0,48,0,56,0,0,0,115,0,97,0,48,0,57,0,0,0,115,0,97,0,49,0,48,0,0,0,115,0,97,0,49,0,49,0,0,0,115,0,97,0,49,0,50,0,0,0,115,0,98,0,109,0,107,0,0,0,115,0,98,0,109,0,108,0,0,0,115,0,99,0,48,0,49,0,0,0,115,0,99,0,48,0,50,0,0,0,115,0,99,0,48,0,51,0,0,0,115,0,99,0,48,0,52,0,0,0,115,0,99,0,48,0,53,0,0,0,115,0,99,0,48,0,54,0,0,0,115,0,99,0,48,0,55,0,0,0,115,0,99,0,48,0,56,0,0,0,115,0,99,0,48,0,57,0,0,0,115,0,99,0,49,0,48,0,0,0,115,0,99,0,49,0,49,0,0,0,115,0,99,0,49,0,50,0,0,0,115,0,99,0,49,0,51,0,0,0,115,0,99,0,49,0,52,0,0,0,115,0,99,0,49,0,53,0,0,0,115,0,99,0,49,0,54,0,0,0,115,0,99,0,49,0,55,0,0,0,115,0,99,0,49,0,56,0,0,0,115,0,99,0,49,0,57,0,0,0,115,0,99,0,50,0,48,0,0,0,115,0,99,0,50,0,49,0,0,0,115,0,99,0,50,0,50,0,0,0,115,0,99,0,50,0,51,0,0,0,115,0,99,0,50,0,52,0,0,0,115,0,99,0,50,0,53,0,0,0,115,0,99,0,50,0,54,0,0,0,115,0,99,0,50,0,55,0,0,0,115,0,101,0,97,0,98,0,0,0,115,0,101,0,97,0,99,0,0,0,115,0,103,0,48,0,49,0,0,0,115,0,103,0,48,0,50,0,0,0,115,0,103,0,48,0,51,0,0,0,115,0,103,0,48,0,52,0,0,0,115,0,103,0,48,0,53,0,0,0,115,0,109,0,48,0,49,0,0,0,115,0,109,0,48,0,50,0,0,0,115,0,109,0,48,0,51,0,0,0,115,0,109,0,48,0,52,0,0,0,115,0,109,0,48,0,53,0,0,0,115,0,109,0,48,0,54,0,0,0,115,0,109,0,48,0,55,0,0,0,115,0,109,0,48,0,56,0,0,0,115,0,109,0,48,0,57,0,0,0,115,0,110,0,107,0,100,0,0,0,115,0,110,0,107,0,101,0,0,0,115,0,116,0,48,0,49,0,0,0,115,0,116,0,48,0,50,0,0,0,115,0,116,0,48,0,51,0,0,0,115,0,116,0,48,0,52,0,0,0,115,0,116,0,48,0,53,0,0,0,115,0,116,0,48,0,54,0,0,0,115,0,121,0,104,0,109,0,0,0,116,0,104,0,49,0,48,0,0,0,116,0,104,0,49,0,49,0,0,0,116,0,104,0,49,0,50,0,0,0,116,0,104,0,49,0,51,0,0,0,116,0,104,0,49,0,52,0,0,0,116,0,104,0,49,0,53,0,0,0,116,0,104,0,49,0,54,0,0,0,116,0,104,0,49,0,55,0,0,0,116,0,104,0,49,0,56,0,0,0,116,0,104,0,49,0,57,0,0,0,116,0,104,0,50,0,48,0,0,0,116,0,104,0,50,0,49,0,0,0,116,0,104,0,50,0,50,0,0,0,116,0,104,0,50,0,51,0,0,0,116,0,104,0,50,0,52,0,0,0,116,0,104,0,50,0,53,0,0,0,116,0,104,0,50,0,54,0,0,0,116,0,104,0,50,0,55,0,0,0,116,0,104,0,51,0,48,0,0,0,116,0,104,0,51,0,49,0,0,0,116,0,104,0,51,0,50,0,0,0,116,0,104,0,51,0,51,0,0,0,116,0,104,0,51,0,52,0,0,0,116,0,104,0,51,0,53,0,0,0,116,0,104,0,51,0,54,0,0,0,116,0,104,0,51,0,55,0,0,0,116,0,104,0,51,0,56,0,0,0,116,0,104,0,51,0,57,0,0,0,116,0,104,0,52,0,48,0,0,0,116,0,104,0,52,0,49,0,0,0,116,0,104,0,52,0,50,0,0,0,116,0,104,0,52,0,51,0,0,0,116,0,104,0,52,0,52,0,0,0,116,0,104,0,52,0,53,0,0,0,116,0,104,0,52,0,54,0,0,0,116,0,104,0,52,0,55,0,0,0,116,0,104,0,52,0,56,0,0,0,116,0,104,0,52,0,57,0,0,0,116,0,104,0,53,0,48,0,0,0,116,0,104,0,53,0,49,0,0,0,116,0,104,0,53,0,50,0,0,0,116,0,104,0,53,0,51,0,0,0,116,0,104,0,53,0,52,0,0,0,116,0,104,0,53,0,53,0,0,0,116,0,104,0,53,0,54,0,0,0,116,0,104,0,53,0,55,0,0,0,116,0,104,0,53,0,56,0,0,0,116,0,104,0,54,0,48,0,0,0,116,0,104,0,54,0,49,0,0,0,116,0,104,0,54,0,50,0,0,0,116,0,104,0,54,0,51,0,0,0,116,0,104,0,54,0,52,0,0,0,116,0,104,0,54,0,53,0,0,0,116,0,104,0,54,0,54,0,0,0,116,0,104,0,54,0,55,0,0,0,116,0,104,0,55,0,48,0,0,0,116,0,104,0,55,0,49,0,0,0,116,0,104,0,55,0,50,0,0,0,116,0,104,0,55,0,51,0,0,0,116,0,104,0,55,0,52,0,0,0,116,0,104,0,55,0,53,0,0,0,116,0,104,0,55,0,54,0,0,0,116,0,104,0,55,0,55,0,0,0,116,0,104,0,56,0,48,0,0,0,116,0,104,0,56,0,49,0,0,0,116,0,104,0,56,0,50,0,0,0,116,0,104,0,56,0,51,0,0,0,116,0,104,0,56,0,52,0,0,0,116,0,104,0,56,0,53,0,0,0,116,0,104,0,56,0,54,0,0,0,116,0,104,0,57,0,48,0,0,0,116,0,104,0,57,0,49,0,0,0,116,0,104,0,57,0,50,0,0,0,116,0,104,0,57,0,51,0,0,0,116,0,104,0,57,0,52,0,0,0,116,0,104,0,57,0,53,0,0,0,116,0,110,0,49,0,49,0,0,0,116,0,110,0,49,0,50,0,0,0,116,0,110,0,49,0,51,0,0,0,116,0,110,0,49,0,52,0,0,0,116,0,110,0,50,0,49,0,0,0,116,0,110,0,50,0,50,0,0,0,116,0,110,0,50,0,51,0,0,0,116,0,110,0,51,0,49,0,0,0,116,0,110,0,51,0,50,0,0,0,116,0,110,0,51,0,51,0,0,0,116,0,110,0,51,0,52,0,0,0,116,0,110,0,52,0,49,0,0,0,116,0,110,0,52,0,50,0,0,0,116,0,110,0,52,0,51,0,0,0,116,0,110,0,53,0,49,0,0,0,116,0,110,0,53,0,50,0,0,0,116,0,110,0,53,0,51,0,0,0,116,0,110,0,55,0,49,0,0,0,116,0,110,0,55,0,50,0,0,0,116,0,110,0,55,0,51,0,0,0,116,0,110,0,56,0,49,0,0,0,116,0,110,0,56,0,50,0,0,0,116,0,110,0,56,0,51,0,0,0,116,0,111,0,48,0,49,0,0,0,116,0,111,0,48,0,50,0,0,0,116,0,111,0,48,0,51,0,0,0,116,0,111,0,48,0,52,0,0,0,116,0,111,0,48,0,53,0,0,0,116,0,114,0,48,0,49,0,0,0,116,0,114,0,48,0,50,0,0,0,116,0,114,0,48,0,51,0,0,0,116,0,114,0,48,0,52,0,0,0,116,0,114,0,48,0,53,0,0,0,116,0,114,0,48,0,54,0,0,0,116,0,114,0,48,0,55,0,0,0,116,0,114,0,48,0,56,0,0,0,116,0,114,0,48,0,57,0,0,0,116,0,114,0,49,0,48,0,0,0,116,0,114,0,49,0,49,0,0,0,116,0,114,0,49,0,50,0,0,0,116,0,114,0,49,0,51,0,0,0,116,0,114,0,49,0,52,0,0,0,116,0,114,0,49,0,53,0,0,0,116,0,114,0,49,0,54,0,0,0,116,0,114,0,49,0,55,0,0,0,116,0,114,0,49,0,56,0,0,0,116,0,114,0,49,0,57,0,0,0,116,0,114,0,50,0,48,0,0,0,116,0,114,0,50,0,49,0,0,0,116,0,114,0,50,0,50,0,0,0,116,0,114,0,50,0,51,0,0,0,116,0,114,0,50,0,52,0,0,0,116,0,114,0,50,0,53,0,0,0,116,0,114,0,50,0,54,0,0,0,116,0,114,0,50,0,55,0,0,0,116,0,114,0,50,0,56,0,0,0,116,0,114,0,50,0,57,0,0,0,116,0,114,0,51,0,48,0,0,0,116,0,114,0,51,0,49,0,0,0,116,0,114,0,51,0,50,0,0,0,116,0,114,0,51,0,51,0,0,0,116,0,114,0,51,0,52,0,0,0,116,0,114,0,51,0,53,0,0,0,116,0,114,0,51,0,54,0,0,0,116,0,114,0,51,0,55,0,0,0,116,0,114,0,51,0,56,0,0,0,116,0,114,0,51,0,57,0,0,0,116,0,114,0,52,0,48,0,0,0,116,0,114,0,52,0,49,0,0,0,116,0,114,0,52,0,50,0,0,0,116,0,114,0,52,0,51,0,0,0,116,0,114,0,52,0,52,0,0,0,116,0,114,0,52,0,53,0,0,0,116,0,114,0,52,0,54,0,0,0,116,0,114,0,52,0,55,0,0,0,116,0,114,0,52,0,56,0,0,0,116,0,114,0,52,0,57,0,0,0,116,0,114,0,53,0,48,0,0,0,116,0,114,0,53,0,49,0,0,0,116,0,114,0,53,0,50,0,0,0,116,0,114,0,53,0,51,0,0,0,116,0,114,0,53,0,52,0,0,0,116,0,114,0,53,0,53,0,0,0,116,0,114,0,53,0,54,0,0,0,116,0,114,0,53,0,55,0,0,0,116,0,114,0,53,0,56,0,0,0,116,0,114,0,53,0,57,0,0,0,116,0,114,0,54,0,48,0,0,0,116,0,114,0,54,0,49,0,0,0,116,0,114,0,54,0,50,0,0,0,116,0,114,0,54,0,51,0,0,0,116,0,114,0,54,0,52,0,0,0,116,0,114,0,54,0,53,0,0,0,116,0,114,0,54,0,54,0,0,0,116,0,114,0,54,0,55,0,0,0,116,0,114,0,54,0,56,0,0,0,116,0,114,0,54,0,57,0,0,0,116,0,114,0,55,0,48,0,0,0,116,0,114,0,55,0,49,0,0,0,116,0,114,0,55,0,50,0,0,0,116,0,114,0,55,0,51,0,0,0,116,0,114,0,55,0,52,0,0,0,116,0,114,0,55,0,53,0,0,0,116,0,114,0,55,0,54,0,0,0,116,0,114,0,55,0,55,0,0,0,116,0,114,0,55,0,56,0,0,0,116,0,114,0,55,0,57,0,0,0,116,0,114,0,56,0,48,0,0,0,116,0,114,0,56,0,49,0,0,0,116,0,122,0,48,0,49,0,0,0,116,0,122,0,48,0,50,0,0,0,116,0,122,0,48,0,51,0,0,0,116,0,122,0,48,0,52,0,0,0,116,0,122,0,48,0,53,0,0,0,116,0,122,0,48,0,54,0,0,0,116,0,122,0,48,0,55,0,0,0,116,0,122,0,48,0,56,0,0,0,116,0,122,0,48,0,57,0,0,0,116,0,122,0,49,0,49,0,0,0,116,0,122,0,49,0,51,0,0,0,116,0,122,0,49,0,52,0,0,0,116,0,122,0,49,0,53,0,0,0,116,0,122,0,49,0,54,0,0,0,116,0,122,0,49,0,55,0,0,0,116,0,122,0,49,0,56,0,0,0,116,0,122,0,49,0,57,0,0,0,116,0,122,0,50,0,49,0,0,0,116,0,122,0,50,0,50,0,0,0,116,0,122,0,50,0,51,0,0,0,116,0,122,0,50,0,52,0,0,0,116,0,122,0,50,0,53,0,0,0,116,0,122,0,50,0,54,0,0,0,116,0,122,0,50,0,55,0,0,0,116,0,122,0,50,0,56,0,0,0,116,0,122,0,50,0,57,0,0,0,116,0,122,0,51,0,49,0,0,0,117,0,115,0,97,0,108,0,0,0,117,0,115,0,109,0,101,0,0,0,117,0,115,0,109,0,110,0,0,0,117,0,115,0,109,0,115,0,0,0,117,0,115,0,109,0,116,0,0,0,117,0,115,0,110,0,100,0,0,0,117,0,115,0,110,0,101,0,0,0,117,0,115,0,115,0,99,0,0,0,117,0,115,0,115,0,100,0,0,0,118,0,99,0,48,0,49,0,0,0,118,0,99,0,48,0,50,0,0,0,118,0,99,0,48,0,51,0,0,0,118,0,99,0,48,0,52,0,0,0,118,0,99,0,48,0,53,0,0,0,118,0,99,0,48,0,54,0,0,0,118,0,110,0,48,0,49,0,0,0,118,0,110,0,48,0,50,0,0,0,118,0,110,0,48,0,51,0,0,0,118,0,110,0,48,0,52,0,0,0,118,0,110,0,48,0,53,0,0,0,118,0,110,0,48,0,54,0,0,0,118,0,110,0,48,0,55,0,0,0,118,0,110,0,49,0,51,0,0,0,118,0,110,0,49,0,52,0,0,0,118,0,110,0,50,0,48,0,0,0,118,0,110,0,50,0,49,0,0,0,118,0,110,0,50,0,50,0,0,0,118,0,110,0,50,0,51,0,0,0,118,0,110,0,50,0,52,0,0,0,118,0,110,0,50,0,53,0,0,0,118,0,110,0,50,0,54,0,0,0,118,0,110,0,50,0,55,0,0,0,118,0,110,0,50,0,56,0,0,0,118,0,110,0,50,0,57,0,0,0,118,0,110,0,51,0,48,0,0,0,118,0,110,0,51,0,49,0,0,0,118,0,110,0,51,0,50,0,0,0,118,0,110,0,51,0,51,0,0,0,118,0,110,0,51,0,52,0,0,0,118,0,110,0,51,0,53,0,0,0,118,0,110,0,51,0,54,0,0,0,118,0,110,0,51,0,55,0,0,0,118,0,110,0,52,0,48,0,0,0,118,0,110,0,52,0,49,0,0,0,118,0,110,0,52,0,51,0,0,0,118,0,110,0,52,0,52,0,0,0,118,0,110,0,52,0,53,0,0,0,118,0,110,0,52,0,54,0,0,0,118,0,110,0,52,0,55,0,0,0,118,0,110,0,53,0,48,0,0,0,118,0,110,0,53,0,49,0,0,0,118,0,110,0,53,0,50,0,0,0,118,0,110,0,53,0,51,0,0,0,118,0,110,0,53,0,52,0,0,0,118,0,110,0,53,0,53,0,0,0,118,0,110,0,53,0,54,0,0,0,118,0,110,0,53,0,55,0,0,0,118,0,110,0,53,0,56,0,0,0,118,0,110,0,53,0,57,0,0,0,118,0,110,0,54,0,54,0,0,0,118,0,110,0,54,0,55,0,0,0,118,0,110,0,54,0,56,0,0,0,118,0,110,0,54,0,57,0,0,0,118,0,110,0,55,0,48,0,0,0,118,0,110,0,55,0,49,0,0,0,118,0,110,0,55,0,50,0,0,0,118,0,110,0,55,0,51,0,0,0,122,0,97,0,103,0,116,0,0,0,122,0,97,0,110,0,108,0,0,0,122,0,109,0,48,0,49,0,0,0,122,0,109,0,48,0,50,0,0,0,122,0,109,0,48,0,51,0,0,0,122,0,109,0,48,0,52,0,0,0,122,0,109,0,48,0,53,0,0,0,122,0,109,0,48,0,54,0,0,0,122,0,109,0,48,0,55,0,0,0,122,0,109,0,48,0,56,0,0,0,122,0,109,0,48,0,57,0,0,0,122,0,119,0,109,0,118,0,0,0,122,0,119,0,109,0,119,0,0,0,101,0,110,0,95,0,73,0,78,0,0,0,97,0,122,0,122,0,97,0,114,0,0,0,101,0,110,0,95,0,68,0,69,0,0,0,101,0,110,0,95,0,71,0,66,0,0,0,101,0,110,0,95,0,90,0,65,0,0,0,101,0,110,0,95,0,80,0,75,0,0,0,101,0,110,0,95,0,85,0,71,0,0,0,101,0,110,0,95,0,75,0,69,0,0,0,101,0,110,0,95,0,78,0,71,0,0,0,101,0,110,0,95,0,78,0,76,0,0,0,112,0,116,0,95,0,70,0,82,0,0,0,49,0,53,0,52,0,126,0,53,0,0,0,101,0,110,0,95,0,65,0,84,0,0,0,112,0,116,0,95,0,77,0,90,0,0,0,101,0,110,0,95,0,66,0,69,0,0,0,101,0,110,0,95,0,70,0,73,0,0,0,101,0,110,0,95,0,83,0,73,0,0,0,101,0,110,0,95,0,71,0,72,0,0,0,101,0,110,0,95,0,84,0,90,0,0,0,112,0,116,0,95,0,67,0,72,0,0,0,112,0,116,0,95,0,76,0,85,0,0,0,112,0,116,0,95,0,80,0,84,0,0,0,101,0,110,0,95,0,67,0,89,0,0,0,101,0,110,0,95,0,68,0,75,0,0,0,101,0,110,0,95,0,77,0,84,0,0,0,101,0,110,0,95,0,78,0,65,0,0,0,101,0,110,0,95,0,90,0,77,0,0,0,108,0,117,0,110,0,97,0,114,0,0,0,110,0,122,0,119,0,103,0,110,0,0,0,101,0,110,0,95,0,69,0,82,0,0,0,101,0,110,0,95,0,70,0,74,0,0,0,101,0,110,0,95,0,70,0,77,0,0,0,101,0,110,0,95,0,73,0,69,0,0,0,101,0,110,0,95,0,77,0,85,0,0,0,101,0,110,0,95,0,77,0,89,0,0,0,101,0,110,0,95,0,82,0,87,0,0,0,101,0,110,0,95,0,83,0,68,0,0,0,101,0,110,0,95,0,83,0,69,0,0,0,101,0,110,0,95,0,83,0,71,0,0,0,101,0,110,0,95,0,83,0,76,0,0,0,101,0,110,0,95,0,86,0,85,0,0,0,101,0,110,0,95,0,90,0,87,0,0,0,112,0,116,0,95,0,65,0,79,0,0,0,112,0,116,0,95,0,66,0,82,0,0,0,112,0,116,0,95,0,71,0,81,0,0,0,116,0,119,0,104,0,115,0,113,0,0,0,101,0,110,0,95,0,67,0,77,0,0,0,101,0,110,0,95,0,72,0,75,0,0,0,101,0,110,0,95,0,73,0,76,0,0,0,101,0,110,0,95,0,74,0,77,0,0,0,101,0,110,0,95,0,77,0,71,0,0,0,101,0,110,0,95,0,77,0,87,0,0,0,101,0,110,0,95,0,78,0,82,0,0,0,101,0,110,0,95,0,78,0,90,0,0,0,101,0,110,0,95,0,80,0,71,0,0,0,101,0,110,0,95,0,80,0,87,0,0,0,101,0,110,0,95,0,83,0,67,0,0,0,101,0,110,0,95,0,87,0,83,0,0,0,101,0,115,0,95,0,66,0,79,0,0,0,101,0,115,0,95,0,69,0,67,0,0,0,101,0,115,0,95,0,77,0,88,0,0,0,101,0,115,0,95,0,80,0,89,0,0,0,103,0,98,0,101,0,115,0,115,0,0,0,108,0,118,0,48,0,49,0,49,0,0,0,116,0,119,0,116,0,110,0,110,0,0,0,103,0,98,0,115,0,103,0,99,0,0,0,109,0,97,0,109,0,97,0,114,0,0,0,112,0,104,0,116,0,97,0,114,0,0,0,114,0,117,0,115,0,97,0,114,0,0,0,114,0,117,0,121,0,97,0,114,0,0,0,115,0,105,0,48,0,50,0,57,0,0,0,98,0,101,0,119,0,104,0,116,0,0,0,101,0,110,0,95,0,66,0,87,0,0,0,101,0,110,0,95,0,68,0,77,0,0,0,101,0,110,0,95,0,71,0,77,0,0,0,101,0,110,0,95,0,71,0,89,0,0,0,101,0,110,0,95,0,75,0,73,0,0,0,101,0,110,0,95,0,76,0,83,0,0,0,101,0,110,0,95,0,77,0,86,0,0,0,101,0,110,0,95,0,78,0,85,0,0,0,101,0,110,0,95,0,83,0,66,0,0,0,101,0,110,0,95,0,83,0,83,0,0,0,101,0,110,0,95,0,83,0,90,0,0,0,101,0,110,0,95,0,84,0,79,0,0,0,101,0,110,0,95,0,84,0,84,0,0,0,101,0,110,0,95,0,84,0,86,0,0,0,101,0,110,0,95,0,86,0,67,0,0,0,101,0,115,0,95,0,65,0,82,0,0,0,101,0,115,0,95,0,66,0,90,0,0,0,101,0,115,0,95,0,67,0,76,0,0,0,101,0,115,0,95,0,67,0,82,0,0,0,101,0,115,0,95,0,68,0,79,0,0,0,101,0,115,0,95,0,71,0,84,0,0,0,101,0,115,0,95,0,78,0,73,0,0,0,101,0,115,0,95,0,80,0,65,0,0,0,101,0,115,0,95,0,80,0,69,0,0,0,101,0,115,0,95,0,83,0,86,0,0,0,101,0,115,0,95,0,86,0,69,0,0,0,103,0,98,0,121,0,111,0,114,0,0,0,107,0,122,0,121,0,117,0,122,0,0,0,109,0,97,0,116,0,97,0,122,0,0,0,112,0,116,0,95,0,67,0,86,0,0,0,112,0,116,0,95,0,71,0,87,0,0,0,112,0,116,0,95,0,84,0,76,0,0,0,97,0,111,0,108,0,117,0,97,0,0,0,97,0,122,0,98,0,97,0,108,0,0,0,101,0,101,0,52,0,52,0,54,0,0,0,101,0,101,0,52,0,55,0,56,0,0,0,101,0,101,0,52,0,56,0,48,0,0,0,101,0,101,0,53,0,56,0,54,0,0,0,101,0,101,0,55,0,56,0,52,0,0,0,101,0,101,0,56,0,51,0,52,0,0,0,102,0,114,0,57,0,55,0,54,0,0,0,103,0,98,0,103,0,119,0,110,0,0,0,105,0,115,0,98,0,111,0,108,0,0,0,109,0,97,0,98,0,101,0,109,0,0,0,109,0,97,0,101,0,115,0,109,0,0,0,109,0,104,0,107,0,105,0,108,0,0,0,109,0,107,0,52,0,49,0,48,0,0,0,109,0,110,0,48,0,51,0,57,0,0,0,109,0,110,0,48,0,54,0,49,0,0,0,109,0,120,0,110,0,108,0,101,0,0,0,109,0,120,0,118,0,101,0,114,0,0,0,112,0,104,0,98,0,111,0,104,0,0,0,112,0,104,0,115,0,108,0,101,0,0,0,112,0,119,0,50,0,49,0,52,0,0,0,97,0,102,0,116,0,97,0,107,0,0,0,97,0,111,0,117,0,105,0,103,0,0,0,101,0,110,0,95,0,65,0,71,0,0,0,101,0,110,0,95,0,65,0,73,0,0,0,101,0,110,0,95,0,65,0,85,0,0,0,101,0,110,0,95,0,66,0,66,0,0,0,101,0,110,0,95,0,66,0,83,0,0,0,101,0,110,0,95,0,67,0,67,0,0,0,101,0,110,0,95,0,71,0,68,0,0,0,101,0,110,0,95,0,71,0,73,0,0,0,101,0,110,0,95,0,73,0,77,0,0,0,101,0,110,0,95,0,74,0,69,0,0,0,101,0,110,0,95,0,75,0,78,0,0,0,101,0,110,0,95,0,76,0,67,0,0,0,101,0,110,0,95,0,76,0,82,0,0,0,101,0,110,0,95,0,83,0,88,0,0,0,101,0,110,0,95,0,84,0,75,0,0,0,101,0,110,0,95,0,86,0,71,0,0,0,101,0,115,0,95,0,67,0,79,0,0,0,101,0,115,0,95,0,67,0,85,0,0,0,101,0,115,0,95,0,72,0,78,0,0,0,101,0,115,0,95,0,80,0,82,0,0,0,101,0,115,0,95,0,85,0,89,0,0,0,103,0,98,0,118,0,103,0,108,0,0,0,103,0,98,0,119,0,108,0,110,0,0,0,103,0,98,0,119,0,108,0,118,0,0,0,103,0,98,0,122,0,101,0,116,0,0,0,105,0,115,0,114,0,107,0,110,0,0,0,105,0,115,0,115,0,98,0,104,0,0,0,107,0,122,0,115,0,104,0,121,0,0,0,107,0,122,0,122,0,104,0,97,0,0,0,109,0,104,0,117,0,116,0,105,0,0,0,109,0,107,0,49,0,48,0,52,0,0,0,109,0,120,0,116,0,97,0,109,0,0,0,110,0,122,0,119,0,107,0,111,0,0,0,112,0,101,0,112,0,105,0,117,0,0,0,112,0,104,0,115,0,117,0,107,0,0,0,112,0,116,0,95,0,77,0,79,0,0,0,112,0,116,0,95,0,83,0,84,0,0,0,114,0,117,0,122,0,97,0,98,0,0,0,115,0,105,0,48,0,48,0,53,0,0,0,115,0,105,0,48,0,49,0,51,0,0,0,115,0,105,0,48,0,50,0,49,0,0,0,115,0,105,0,49,0,53,0,54,0,0,0,116,0,116,0,115,0,102,0,111,0,0,0,114,0,117,0,115,0,97,0,107,0,0,0,114,0,117,0,115,0,109,0,111,0,0,0,97,0,102,0,98,0,100,0,103,0,0,0,97,0,102,0,103,0,104,0,97,0,0,0,97,0,102,0,106,0,111,0,119,0,0,0,97,0,111,0,108,0,110,0,111,0,0,0,97,0,111,0,122,0,97,0,105,0,0,0,97,0,122,0,105,0,109,0,105,0,0,0,97,0,122,0,111,0,103,0,117,0,0,0,97,0,122,0,113,0,117,0,115,0,0,0,98,0,102,0,98,0,97,0,122,0,0,0,98,0,102,0,98,0,108,0,103,0,0,0,98,0,102,0,115,0,101,0,110,0,0,0,98,0,102,0,122,0,105,0,114,0,0,0,99,0,111,0,103,0,117,0,118,0,0,0,99,0,111,0,115,0,97,0,112,0,0,0,101,0,101,0,50,0,57,0,54,0,0,0,101,0,101,0,53,0,50,0,56,0,0,0,101,0,101,0,54,0,50,0,52,0,0,0,101,0,101,0,54,0,51,0,56,0,0,0,101,0,101,0,54,0,54,0,51,0,0,0,101,0,101,0,55,0,51,0,50,0,0,0,101,0,101,0,55,0,57,0,54,0,0,0,101,0,101,0,57,0,48,0,49,0,0,0,101,0,101,0,57,0,50,0,56,0,0,0,102,0,114,0,97,0,114,0,97,0,0,0,102,0,114,0,103,0,101,0,115,0,0,0,103,0,98,0,99,0,108,0,100,0,0,0,103,0,98,0,99,0,109,0,110,0,0,0,103,0,98,0,100,0,98,0,121,0,0,0,103,0,98,0,100,0,101,0,118,0,0,0,103,0,98,0,100,0,117,0,100,0,0,0,103,0,98,0,101,0,114,0,119,0,0,0,103,0,98,0,102,0,108,0,110,0,0,0,103,0,98,0,103,0,114,0,101,0,0,0,103,0,98,0,104,0,110,0,115,0,0,0,103,0,98,0,105,0,111,0,119,0,0,0,103,0,98,0,107,0,104,0,108,0,0,0,103,0,98,0,108,0,99,0,101,0,0,0,103,0,98,0,108,0,110,0,100,0,0,0,103,0,98,0,110,0,119,0,109,0,0,0,103,0,98,0,114,0,100,0,98,0,0,0,103,0,98,0,119,0,111,0,107,0,0,0,105,0,115,0,97,0,114,0,110,0,0,0,105,0,115,0,102,0,108,0,97,0,0,0,105,0,115,0,102,0,108,0,114,0,0,0,105,0,115,0,104,0,118,0,101,0,0,0,105,0,115,0,105,0,115,0,97,0,0,0,105,0,115,0,109,0,117,0,108,0,0,0,105,0,115,0,114,0,103,0,101,0,0,0,105,0,115,0,115,0,100,0,110,0,0,0,105,0,115,0,115,0,116,0,121,0,0,0,105,0,115,0,118,0,101,0,109,0,0,0,107,0,122,0,97,0,108,0,97,0,0,0,108,0,118,0,48,0,53,0,50,0,0,0,108,0,118,0,48,0,53,0,52,0,0,0,108,0,118,0,48,0,53,0,54,0,0,0,108,0,118,0,108,0,112,0,120,0,0,0,108,0,118,0,118,0,101,0,110,0,0,0,109,0,97,0,99,0,104,0,116,0,0,0,109,0,97,0,105,0,110,0,101,0,0,0,109,0,97,0,110,0,97,0,100,0,0,0,109,0,97,0,115,0,101,0,102,0,0,0,109,0,97,0,115,0,101,0,116,0,0,0,109,0,104,0,101,0,98,0,111,0,0,0,109,0,110,0,48,0,51,0,53,0,0,0,109,0,120,0,99,0,111,0,97,0,0,0,109,0,120,0,103,0,114,0,111,0,0,0,109,0,120,0,104,0,105,0,100,0,0,0,110,0,122,0,98,0,111,0,112,0,0,0,112,0,101,0,116,0,117,0,109,0,0,0,112,0,103,0,101,0,98,0,114,0,0,0,112,0,104,0,99,0,101,0,98,0,0,0,112,0,104,0,100,0,97,0,111,0,0,0,112,0,104,0,103,0,117,0,105,0,0,0,112,0,104,0,105,0,102,0,117,0,0,0,112,0,104,0,105,0,108,0,105,0,0,0,112,0,104,0,105,0,108,0,115,0,0,0,112,0,115,0,103,0,122,0,97,0,0,0,112,0,119,0,48,0,48,0,50,0,0,0,112,0,119,0,48,0,48,0,52,0,0,0,112,0,119,0,48,0,49,0,48,0,0,0,112,0,119,0,48,0,53,0,48,0,0,0,112,0,119,0,49,0,48,0,48,0,0,0,112,0,119,0,49,0,53,0,48,0,0,0,112,0,119,0,50,0,49,0,50,0,0,0,112,0,119,0,50,0,49,0,56,0,0,0,112,0,119,0,50,0,50,0,50,0,0,0,114,0,117,0,97,0,114,0,107,0,0,0,114,0,117,0,105,0,114,0,107,0,0,0,114,0,117,0,107,0,97,0,109,0,0,0,114,0,117,0,107,0,100,0,97,0,0,0,114,0,117,0,107,0,103,0,110,0,0,0,114,0,117,0,111,0,114,0,101,0,0,0,114,0,117,0,115,0,118,0,101,0,0,0,114,0,117,0,118,0,111,0,114,0,0,0,116,0,119,0,110,0,97,0,110,0,0,0,118,0,117,0,115,0,101,0,101,0,0,0,97,0,122,0,122,0,97,0,110,0,0,0,101,0,110,0,95,0,66,0,77,0,0,0,101,0,110,0,95,0,67,0,75,0,0,0,101,0,110,0,95,0,67,0,88,0,0,0,101,0,110,0,95,0,68,0,71,0,0,0,101,0,110,0,95,0,70,0,75,0,0,0,101,0,110,0,95,0,71,0,71,0,0,0,101,0,110,0,95,0,73,0,79,0,0,0,101,0,110,0,95,0,75,0,89,0,0,0,101,0,110,0,95,0,77,0,83,0,0,0,101,0,110,0,95,0,78,0,70,0,0,0,101,0,110,0,95,0,80,0,78,0,0,0,101,0,110,0,95,0,83,0,72,0,0,0,101,0,110,0,95,0,84,0,67,0,0,0,108,0,118,0,100,0,103,0,118,0,0,0,109,0,104,0,110,0,109,0,107,0,0,0,112,0,104,0,122,0,97,0,115,0,0,0,118,0,117,0,116,0,97,0,101,0,0,0,99,0,122,0,50,0,48,0,50,0,0,0,99,0,122,0,50,0,48,0,51,0,0,0,99,0,122,0,50,0,48,0,56,0,0,0,99,0,122,0,51,0,50,0,52,0,0,0,99,0,122,0,52,0,50,0,50,0,0,0,99,0,122,0,52,0,50,0,54,0,0,0,99,0,122,0,53,0,49,0,50,0,0,0,99,0,122,0,53,0,50,0,52,0,0,0,99,0,122,0,53,0,51,0,51,0,0,0,99,0,122,0,54,0,51,0,52,0,0,0,99,0,122,0,54,0,52,0,51,0,0,0,99,0,122,0,54,0,52,0,54,0,0,0,102,0,114,0,57,0,55,0,49,0,0,0,102,0,114,0,57,0,55,0,50,0,0,0,102,0,114,0,57,0,55,0,51,0,0,0,102,0,114,0,57,0,55,0,52,0,0,0,108,0,118,0,48,0,53,0,55,0,0,0,109,0,107,0,49,0,48,0,56,0,0,0,109,0,107,0,52,0,48,0,52,0,0,0,109,0,107,0,52,0,48,0,56,0,0,0,109,0,107,0,53,0,48,0,52,0,0,0,109,0,107,0,54,0,48,0,52,0,0,0,109,0,107,0,54,0,48,0,56,0,0,0,109,0,107,0,55,0,48,0,50,0,0,0,109,0,107,0,55,0,48,0,52,0,0,0,109,0,107,0,55,0,48,0,54,0,0,0,109,0,107,0,56,0,48,0,55,0,0,0,115,0,105,0,48,0,48,0,57,0,0,0,115,0,105,0,48,0,49,0,52,0,0,0,115,0,105,0,48,0,49,0,55,0,0,0,115,0,105,0,48,0,49,0,56,0,0,0,115,0,105,0,48,0,49,0,57,0,0,0,115,0,105,0,48,0,51,0,48,0,0,0,115,0,105,0,49,0,49,0,54,0,0,0,115,0,105,0,49,0,50,0,52,0,0,0,115,0,105,0,49,0,51,0,50,0,0,0,115,0,105,0,49,0,51,0,54,0,0,0,115,0,105,0,49,0,52,0,52,0,0,0,115,0,105,0,49,0,53,0,50,0,0,0,115,0,105,0,49,0,55,0,48,0,0,0,115,0,105,0,49,0,55,0,52,0,0,0,115,0,105,0,49,0,56,0,48,0,0,0,115,0,105,0,49,0,56,0,56,0,0,0,115,0,105,0,49,0,57,0,49,0,0,0,115,0,105,0,49,0,57,0,50,0,0,0,117,0,103,0,50,0,51,0,50,0,0,0,117,0,103,0,51,0,50,0,48,0,0,0,117,0,103,0,51,0,50,0,56,0,0,0,117,0,103,0,51,0,51,0,50,0,0,0,117,0,103,0,52,0,49,0,52,0,0,0,117,0,103,0,52,0,49,0,55,0,0,0,117,0,103,0,52,0,49,0,56,0,0,0,117,0,103,0,52,0,49,0,57,0,0,0,117,0,103,0,52,0,51,0,48,0,0,0,117,0,103,0,52,0,51,0,52,0,0,0,42,0,95,0,42,0,95,0,42,0,0,0,97,0,102,0,98,0,100,0,115,0,0,0,97,0,102,0,98,0,103,0,108,0,0,0,97,0,102,0,100,0,97,0,121,0,0,0,97,0,102,0,102,0,114,0,97,0,0,0,97,0,102,0,102,0,121,0,98,0,0,0,97,0,102,0,103,0,104,0,111,0,0,0,97,0,102,0,104,0,101,0,108,0,0,0,97,0,102,0,104,0,101,0,114,0,0,0,97,0,102,0,107,0,97,0,98,0,0,0,97,0,102,0,107,0,97,0,110,0,0,0,97,0,102,0,107,0,97,0,112,0,0,0,97,0,102,0,107,0,100,0,122,0,0,0,97,0,102,0,107,0,104,0,111,0,0,0,97,0,102,0,107,0,110,0,114,0,0,0,97,0,102,0,108,0,97,0,103,0,0,0,97,0,102,0,108,0,111,0,103,0,0,0,97,0,102,0,110,0,97,0,110,0,0,0,97,0,102,0,110,0,105,0,109,0,0,0,97,0,102,0,110,0,117,0,114,0,0,0,97,0,102,0,112,0,97,0,110,0,0,0,97,0,102,0,112,0,97,0,114,0,0,0,97,0,102,0,112,0,105,0,97,0,0,0,97,0,102,0,112,0,107,0,97,0,0,0,97,0,102,0,115,0,97,0,109,0,0,0,97,0,102,0,115,0,97,0,114,0,0,0,97,0,102,0,117,0,114,0,117,0,0,0,97,0,102,0,119,0,97,0,114,0,0,0,97,0,102,0,122,0,97,0,98,0,0,0,97,0,111,0,98,0,103,0,111,0,0,0,97,0,111,0,98,0,103,0,117,0,0,0,97,0,111,0,98,0,105,0,101,0,0,0,97,0,111,0,99,0,97,0,98,0,0,0,97,0,111,0,99,0,99,0,117,0,0,0,97,0,111,0,99,0,117,0,115,0,0,0,97,0,111,0,104,0,117,0,97,0,0,0,97,0,111,0,104,0,117,0,105,0,0,0,97,0,111,0,108,0,115,0,117,0,0,0,97,0,111,0,109,0,97,0,108,0,0,0,97,0,111,0,109,0,111,0,120,0,0,0,97,0,111,0,110,0,97,0,109,0,0,0,97,0,117,0,97,0,99,0,116,0,0,0,97,0,117,0,110,0,115,0,119,0,0,0,97,0,117,0,113,0,108,0,100,0,0,0,97,0,117,0,116,0,97,0,115,0,0,0,97,0,117,0,118,0,105,0,99,0,0,0,97,0,122,0,97,0,98,0,115,0,0,0,97,0,122,0,97,0,103,0,97,0,0,0,97,0,122,0,97,0,103,0,99,0,0,0,97,0,122,0,97,0,103,0,109,0,0,0,97,0,122,0,97,0,103,0,115,0,0,0,97,0,122,0,97,0,103,0,117,0,0,0,97,0,122,0,97,0,115,0,116,0,0,0,97,0,122,0,98,0,97,0,98,0,0,0,97,0,122,0,98,0,97,0,114,0,0,0,97,0,122,0,98,0,101,0,121,0,0,0,97,0,122,0,98,0,105,0,108,0,0,0,97,0,122,0,99,0,97,0,98,0,0,0,97,0,122,0,99,0,97,0,108,0,0,0,97,0,122,0,99,0,117,0,108,0,0,0,97,0,122,0,100,0,97,0,115,0,0,0,97,0,122,0,102,0,117,0,122,0,0,0,97,0,122,0,103,0,97,0,100,0,0,0,97,0,122,0,103,0,111,0,114,0,0,0,97,0,122,0,103,0,111,0,121,0,0,0,97,0,122,0,103,0,121,0,103,0,0,0,97,0,122,0,104,0,97,0,99,0,0,0,97,0,122,0,105,0,115,0,109,0,0,0,97,0,122,0,107,0,97,0,108,0,0,0,97,0,122,0,107,0,97,0,110,0,0,0,97,0,122,0,107,0,117,0,114,0,0,0,97,0,122,0,108,0,97,0,99,0,0,0,97,0,122,0,108,0,97,0,110,0,0,0,97,0,122,0,108,0,101,0,114,0,0,0,97,0,122,0,109,0,97,0,115,0,0,0,97,0,122,0,110,0,101,0,102,0,0,0,97,0,122,0,111,0,114,0,100,0,0,0,97,0,122,0,113,0,97,0,98,0,0,0,97,0,122,0,113,0,97,0,120,0,0,0,97,0,122,0,113,0,97,0,122,0,0,0,97,0,122,0,113,0,98,0,97,0,0,0,97,0,122,0,113,0,98,0,105,0,0,0,97,0,122,0,113,0,111,0,98,0,0,0,97,0,122,0,115,0,97,0,98,0,0,0,97,0,122,0,115,0,97,0,100,0,0,0,97,0,122,0,115,0,97,0,104,0,0,0,97,0,122,0,115,0,97,0,114,0,0,0,97,0,122,0,115,0,97,0,116,0,0,0,97,0,122,0,115,0,98,0,110,0,0,0,97,0,122,0,115,0,105,0,121,0,0,0,97,0,122,0,115,0,107,0,114,0,0,0,97,0,122,0,115,0,109,0,105,0,0,0,97,0,122,0,115,0,109,0,120,0,0,0,97,0,122,0,115,0,117,0,115,0,0,0,97,0,122,0,116,0,97,0,114,0,0,0,97,0,122,0,116,0,111,0,118,0,0,0,97,0,122,0,117,0,99,0,97,0,0,0,97,0,122,0,120,0,97,0,99,0,0,0,97,0,122,0,120,0,99,0,105,0,0,0,97,0,122,0,120,0,105,0,122,0,0,0,97,0,122,0,120,0,118,0,100,0,0,0,97,0,122,0,121,0,97,0,114,0,0,0,97,0,122,0,121,0,101,0,118,0,0,0,98,0,97,0,98,0,105,0,104,0,0,0,98,0,97,0,98,0,114,0,99,0,0,0,98,0,97,0,115,0,114,0,112,0,0,0,98,0,101,0,98,0,114,0,117,0,0,0,98,0,101,0,118,0,97,0,110,0,0,0,98,0,101,0,118,0,98,0,114,0,0,0,98,0,101,0,118,0,108,0,103,0,0,0,98,0,101,0,118,0,108,0,105,0,0,0,98,0,101,0,118,0,111,0,118,0,0,0,98,0,101,0,118,0,119,0,118,0,0,0,98,0,101,0,119,0,97,0,108,0,0,0,98,0,101,0,119,0,98,0,114,0,0,0,98,0,101,0,119,0,108,0,103,0,0,0,98,0,101,0,119,0,108,0,120,0,0,0,98,0,101,0,119,0,110,0,97,0,0,0,98,0,102,0,98,0,103,0,114,0,0,0,98,0,102,0,98,0,108,0,107,0,0,0,98,0,102,0,99,0,111,0,109,0,0,0,98,0,102,0,103,0,97,0,110,0,0,0,98,0,102,0,103,0,110,0,97,0,0,0,98,0,102,0,103,0,111,0,117,0,0,0,98,0,102,0,104,0,111,0,117,0,0,0,98,0,102,0,105,0,111,0,98,0,0,0,98,0,102,0,107,0,97,0,100,0,0,0,98,0,102,0,107,0,101,0,110,0,0,0,98,0,102,0,107,0,109,0,100,0,0,0,98,0,102,0,107,0,109,0,112,0,0,0,98,0,102,0,107,0,111,0,112,0,0,0,98,0,102,0,107,0,111,0,119,0,0,0,98,0,102,0,108,0,101,0,114,0,0,0,98,0,102,0,108,0,111,0,114,0,0,0,98,0,102,0,109,0,111,0,117,0,0,0,98,0,102,0,110,0,97,0,109,0,0,0,98,0,102,0,110,0,97,0,111,0,0,0,98,0,102,0,110,0,97,0,121,0,0,0,98,0,102,0,110,0,111,0,117,0,0,0,98,0,102,0,111,0,117,0,98,0,0,0,98,0,102,0,111,0,117,0,100,0,0,0,98,0,102,0,112,0,97,0,115,0,0,0,98,0,102,0,112,0,111,0,110,0,0,0,98,0,102,0,115,0,105,0,115,0,0,0,98,0,102,0,115,0,109,0,116,0,0,0,98,0,102,0,115,0,110,0,103,0,0,0,98,0,102,0,115,0,111,0,109,0,0,0,98,0,102,0,115,0,111,0,114,0,0,0,98,0,102,0,116,0,97,0,112,0,0,0,98,0,102,0,116,0,117,0,105,0,0,0,98,0,102,0,121,0,97,0,103,0,0,0,98,0,102,0,121,0,97,0,116,0,0,0,98,0,102,0,122,0,111,0,110,0,0,0,98,0,102,0,122,0,111,0,117,0,0,0,98,0,122,0,99,0,122,0,108,0,0,0,98,0,122,0,116,0,111,0,108,0,0,0,99,0,102,0,98,0,103,0,102,0,0,0,99,0,103,0,98,0,122,0,118,0,0,0,99,0,111,0,97,0,109,0,97,0,0,0,99,0,111,0,97,0,110,0,116,0,0,0,99,0,111,0,97,0,114,0,97,0,0,0,99,0,111,0,97,0,116,0,108,0,0,0,99,0,111,0,98,0,111,0,108,0,0,0,99,0,111,0,98,0,111,0,121,0,0,0,99,0,111,0,99,0,97,0,108,0,0,0,99,0,111,0,99,0,97,0,113,0,0,0,99,0,111,0,99,0,97,0,115,0,0,0,99,0,111,0,99,0,97,0,117,0,0,0,99,0,111,0,99,0,101,0,115,0,0,0,99,0,111,0,99,0,104,0,111,0,0,0,99,0,111,0,99,0,111,0,114,0,0,0,99,0,111,0,99,0,117,0,110,0,0,0,99,0,111,0,103,0,117,0,97,0,0,0,99,0,111,0,104,0,117,0,105,0,0,0,99,0,111,0,108,0,97,0,103,0,0,0,99,0,111,0,109,0,97,0,103,0,0,0,99,0,111,0,109,0,101,0,116,0,0,0,99,0,111,0,110,0,97,0,114,0,0,0,99,0,111,0,110,0,115,0,97,0,0,0,99,0,111,0,112,0,117,0,116,0,0,0,99,0,111,0,113,0,117,0,105,0,0,0,99,0,111,0,114,0,105,0,115,0,0,0,99,0,111,0,115,0,97,0,110,0,0,0,99,0,111,0,115,0,117,0,99,0,0,0,99,0,111,0,116,0,111,0,108,0,0,0,99,0,111,0,118,0,97,0,99,0,0,0,99,0,111,0,118,0,97,0,117,0,0,0,99,0,111,0,118,0,105,0,100,0,0,0,101,0,99,0,114,0,126,0,115,0,0,0,101,0,101,0,49,0,51,0,48,0,0,0,101,0,101,0,49,0,55,0,49,0,0,0,101,0,101,0,49,0,56,0,52,0,0,0,101,0,101,0,49,0,57,0,49,0,0,0,101,0,101,0,49,0,57,0,56,0,0,0,101,0,101,0,50,0,48,0,53,0,0,0,101,0,101,0,50,0,49,0,52,0,0,0,101,0,101,0,50,0,52,0,53,0,0,0,101,0,101,0,50,0,52,0,55,0,0,0,101,0,101,0,50,0,53,0,49,0,0,0,101,0,101,0,50,0,53,0,53,0,0,0,101,0,101,0,50,0,55,0,50,0,0,0,101,0,101,0,50,0,57,0,49,0,0,0,101,0,101,0,50,0,57,0,51,0,0,0,101,0,101,0,51,0,48,0,51,0,0,0,101,0,101,0,51,0,48,0,53,0,0,0,101,0,101,0,51,0,49,0,55,0,0,0,101,0,101,0,51,0,50,0,49,0,0,0,101,0,101,0,51,0,51,0,56,0,0,0,101,0,101,0,51,0,53,0,51,0,0,0,101,0,101,0,52,0,50,0,52,0,0,0,101,0,101,0,52,0,56,0,54,0,0,0,101,0,101,0,53,0,48,0,51,0,0,0,101,0,101,0,53,0,49,0,49,0,0,0,101,0,101,0,53,0,49,0,52,0,0,0,101,0,101,0,53,0,53,0,55,0,0,0,101,0,101,0,53,0,54,0,55,0,0,0,101,0,101,0,54,0,49,0,53,0,0,0,101,0,101,0,54,0,49,0,56,0,0,0,101,0,101,0,54,0,50,0,50,0,0,0,101,0,101,0,54,0,53,0,49,0,0,0,101,0,101,0,54,0,53,0,51,0,0,0,101,0,101,0,54,0,54,0,49,0,0,0,101,0,101,0,54,0,54,0,56,0,0,0,101,0,101,0,54,0,56,0,57,0,0,0,101,0,101,0,54,0,57,0,56,0,0,0,101,0,101,0,55,0,48,0,56,0,0,0,101,0,101,0,55,0,49,0,50,0,0,0,101,0,101,0,55,0,49,0,52,0,0,0,101,0,101,0,55,0,49,0,57,0,0,0,101,0,101,0,55,0,50,0,54,0,0,0,101,0,101,0,55,0,51,0,53,0,0,0,101,0,101,0,56,0,48,0,51,0,0,0,101,0,101,0,56,0,48,0,57,0,0,0,101,0,101,0,56,0,50,0,52,0,0,0,101,0,101,0,56,0,53,0,53,0,0,0,101,0,101,0,56,0,57,0,48,0,0,0,101,0,101,0,56,0,57,0,55,0,0,0,101,0,101,0,56,0,57,0,57,0,0,0,101,0,101,0,57,0,48,0,51,0,0,0,101,0,101,0,57,0,48,0,55,0,0,0,101,0,101,0,57,0,49,0,55,0,0,0,101,0,101,0,57,0,49,0,57,0,0,0,101,0,103,0,97,0,108,0,120,0,0,0,101,0,103,0,97,0,115,0,110,0,0,0,101,0,103,0,97,0,115,0,116,0,0,0,101,0,103,0,98,0,110,0,115,0,0,0,101,0,103,0,102,0,121,0,109,0,0,0,101,0,103,0,107,0,102,0,115,0,0,0,101,0,103,0,109,0,110,0,102,0,0,0,101,0,103,0,112,0,116,0,115,0,0,0,101,0,103,0,115,0,104,0,103,0,0,0,101,0,103,0,115,0,104,0,114,0,0,0,101,0,103,0,115,0,105,0,110,0,0,0,101,0,103,0,115,0,117,0,122,0,0,0,101,0,103,0,119,0,97,0,100,0,0,0,102,0,109,0,107,0,115,0,97,0,0,0,102,0,109,0,112,0,110,0,105,0,0,0,102,0,109,0,116,0,114,0,107,0,0,0,102,0,109,0,121,0,97,0,112,0,0,0,102,0,114,0,50,0,48,0,114,0,0,0,102,0,114,0,54,0,57,0,109,0,0,0,102,0,114,0,54,0,97,0,101,0,0,0,102,0,114,0,55,0,53,0,99,0,0,0,102,0,114,0,98,0,102,0,99,0,0,0,102,0,114,0,98,0,114,0,101,0,0,0,102,0,114,0,99,0,118,0,108,0,0,0,102,0,114,0,104,0,100,0,102,0,0,0,102,0,114,0,105,0,100,0,102,0,0,0,102,0,114,0,110,0,97,0,113,0,0,0,102,0,114,0,110,0,111,0,114,0,0,0,102,0,114,0,111,0,99,0,99,0,0,0,102,0,114,0,112,0,97,0,99,0,0,0,102,0,114,0,112,0,100,0,108,0,0,0,103,0,98,0,97,0,103,0,98,0,0,0,103,0,98,0,97,0,103,0,121,0,0,0,103,0,98,0,97,0,110,0,100,0,0,0,103,0,98,0,97,0,110,0,110,0,0,0,103,0,98,0,97,0,110,0,115,0,0,0,103,0,98,0,98,0,97,0,115,0,0,0,103,0,98,0,98,0,98,0,100,0,0,0,103,0,98,0,98,0,99,0,112,0,0,0,103,0,98,0,98,0,101,0,110,0,0,0,103,0,98,0,98,0,101,0,120,0,0,0,103,0,98,0,98,0,102,0,115,0,0,0,103,0,98,0,98,0,103,0,101,0,0,0,103,0,98,0,98,0,103,0,119,0,0,0,103,0,98,0,98,0,105,0,114,0,0,0,103,0,98,0,98,0,107,0,109,0,0,0,103,0,98,0,98,0,110,0,101,0,0,0,103,0,98,0,98,0,110,0,104,0,0,0,103,0,98,0,98,0,110,0,115,0,0,0,103,0,98,0,98,0,111,0,108,0,0,0,103,0,98,0,98,0,112,0,108,0,0,0,103,0,98,0,98,0,114,0,121,0,0,0,103,0,98,0,98,0,115,0,116,0,0,0,103,0,98,0,98,0,117,0,114,0,0,0,103,0,98,0,99,0,97,0,109,0,0,0,103,0,98,0,99,0,97,0,121,0,0,0,103,0,98,0,99,0,98,0,102,0,0,0,103,0,98,0,99,0,99,0,103,0,0,0,103,0,98,0,99,0,103,0,110,0,0,0,103,0,98,0,99,0,104,0,101,0,0,0,103,0,98,0,99,0,104,0,119,0,0,0,103,0,98,0,99,0,108,0,107,0,0,0,103,0,98,0,99,0,109,0,97,0,0,0,103,0,98,0,99,0,109,0,100,0,0,0,103,0,98,0,99,0,111,0,110,0,0,0,103,0,98,0,99,0,111,0,118,0,0,0,103,0,98,0,99,0,114,0,102,0,0,0,103,0,98,0,99,0,114,0,121,0,0,0,103,0,98,0,99,0,119,0,121,0,0,0,103,0,98,0,100,0,97,0,108,0,0,0,103,0,98,0,100,0,101,0,110,0,0,0,103,0,98,0,100,0,101,0,114,0,0,0,103,0,98,0,100,0,103,0,121,0,0,0,103,0,98,0,100,0,111,0,114,0,0,0,103,0,98,0,100,0,114,0,115,0,0,0,103,0,98,0,100,0,117,0,114,0,0,0,103,0,98,0,101,0,97,0,108,0,0,0,103,0,98,0,101,0,97,0,121,0,0,0,103,0,98,0,101,0,100,0,104,0,0,0,103,0,98,0,101,0,100,0,117,0,0,0,103,0,98,0,101,0,108,0,110,0,0,0,103,0,98,0,101,0,108,0,115,0,0,0,103,0,98,0,101,0,114,0,121,0,0,0,103,0,98,0,101,0,115,0,120,0,0,0,103,0,98,0,102,0,97,0,108,0,0,0,103,0,98,0,102,0,105,0,102,0,0,0,103,0,98,0,102,0,109,0,111,0,0,0,103,0,98,0,103,0,97,0,116,0,0,0,103,0,98,0,103,0,108,0,103,0,0,0,103,0,98,0,103,0,108,0,115,0,0,0,103,0,98,0,104,0,97,0,118,0,0,0,103,0,98,0,104,0,99,0,107,0,0,0,103,0,98,0,104,0,101,0,102,0,0,0,103,0,98,0,104,0,105,0,108,0,0,0,103,0,98,0,104,0,108,0,100,0,0,0,103,0,98,0,104,0,109,0,102,0,0,0,103,0,98,0,104,0,112,0,108,0,0,0,103,0,98,0,104,0,114,0,116,0,0,0,103,0,98,0,104,0,114,0,119,0,0,0,103,0,98,0,104,0,114,0,121,0,0,0,103,0,98,0,105,0,111,0,115,0,0,0,103,0,98,0,105,0,115,0,108,0,0,0,103,0,98,0,105,0,118,0,99,0,0,0,103,0,98,0,107,0,101,0,99,0,0,0,103,0,98,0,107,0,101,0,110,0,0,0,103,0,98,0,107,0,105,0,114,0,0,0,103,0,98,0,107,0,116,0,116,0,0,0,103,0,98,0,107,0,119,0,108,0,0,0,103,0,98,0,108,0,97,0,110,0,0,0,103,0,98,0,108,0,98,0,99,0,0,0,103,0,98,0,108,0,98,0,104,0,0,0,103,0,98,0,108,0,100,0,115,0,0,0,103,0,98,0,108,0,101,0,99,0,0,0,103,0,98,0,108,0,101,0,119,0,0,0,103,0,98,0,108,0,105,0,110,0,0,0,103,0,98,0,108,0,105,0,118,0,0,0,103,0,98,0,108,0,117,0,116,0,0,0,103,0,98,0,109,0,97,0,110,0,0,0,103,0,98,0,109,0,100,0,98,0,0,0,103,0,98,0,109,0,100,0,119,0,0,0,103,0,98,0,109,0,101,0,97,0,0,0,103,0,98,0,109,0,105,0,107,0,0,0,103,0,98,0,109,0,108,0,110,0,0,0,103,0,98,0,109,0,111,0,110,0,0,0,103,0,98,0,109,0,114,0,116,0,0,0,103,0,98,0,109,0,114,0,121,0,0,0,103,0,98,0,109,0,116,0,121,0,0,0,103,0,98,0,109,0,117,0,108,0,0,0,103,0,98,0,110,0,97,0,121,0,0,0,103,0,98,0,110,0,98,0,108,0,0,0,103,0,98,0,110,0,101,0,108,0,0,0,103,0,98,0,110,0,101,0,116,0,0,0,103,0,98,0,110,0,102,0,107,0,0,0,103,0,98,0,110,0,103,0,109,0,0,0,103,0,98,0,110,0,105,0,114,0,0,0,103,0,98,0,110,0,108,0,107,0,0,0,103,0,98,0,110,0,108,0,110,0,0,0,103,0,98,0,110,0,109,0,100,0,0,0,103,0,98,0,110,0,115,0,109,0,0,0,103,0,98,0,110,0,116,0,104,0,0,0,103,0,98,0,110,0,116,0,108,0,0,0,103,0,98,0,110,0,116,0,116,0,0,0,103,0,98,0,110,0,116,0,121,0,0,0,103,0,98,0,110,0,119,0,112,0,0,0,103,0,98,0,110,0,121,0,107,0,0,0,103,0,98,0,111,0,108,0,100,0,0,0,103,0,98,0,111,0,114,0,107,0,0,0,103,0,98,0,111,0,120,0,102,0,0,0,103,0,98,0,112,0,101,0,109,0,0,0,103,0,98,0,112,0,107,0,110,0,0,0,103,0,98,0,112,0,108,0,121,0,0,0,103,0,98,0,112,0,111,0,114,0,0,0,103,0,98,0,112,0,111,0,119,0,0,0,103,0,98,0,112,0,116,0,101,0,0,0,103,0,98,0,114,0,99,0,99,0,0,0,103,0,98,0,114,0,99,0,104,0,0,0,103,0,98,0,114,0,99,0,116,0,0,0,103,0,98,0,114,0,100,0,103,0,0,0,103,0,98,0,114,0,102,0,119,0,0,0,103,0,98,0,114,0,105,0,99,0,0,0,103,0,98,0,114,0,111,0,116,0,0,0,103,0,98,0,114,0,117,0,116,0,0,0,103,0,98,0,115,0,97,0,119,0,0,0,103,0,98,0,115,0,97,0,121,0,0,0,103,0,98,0,115,0,99,0,98,0,0,0,103,0,98,0,115,0,99,0,116,0,0,0,103,0,98,0,115,0,102,0,107,0,0,0,103,0,98,0,115,0,102,0,116,0,0,0,103,0,98,0,115,0,104,0,102,0,0,0,103,0,98,0,115,0,104,0,110,0,0,0,103,0,98,0,115,0,104,0,114,0,0,0,103,0,98,0,115,0,107,0,112,0,0,0,103,0,98,0,115,0,108,0,107,0,0,0,103,0,98,0,115,0,110,0,100,0,0,0,103,0,98,0,115,0,111,0,115,0,0,0,103,0,98,0,115,0,114,0,121,0,0,0,103,0,98,0,115,0,116,0,101,0,0,0,103,0,98,0,115,0,116,0,110,0,0,0,103,0,98,0,115,0,116,0,121,0,0,0,103,0,98,0,115,0,119,0,97,0,0,0,103,0,98,0,115,0,119,0,100,0,0,0,103,0,98,0,115,0,119,0,107,0,0,0,103,0,98,0,116,0,97,0,109,0,0,0,103,0,98,0,116,0,102,0,119,0,0,0,103,0,98,0,116,0,104,0,114,0,0,0,103,0,98,0,116,0,111,0,98,0,0,0,103,0,98,0,116,0,111,0,102,0,0,0,103,0,98,0,116,0,114,0,102,0,0,0,103,0,98,0,116,0,119,0,104,0,0,0,103,0,98,0,119,0,97,0,114,0,0,0,103,0,98,0,119,0,98,0,107,0,0,0,103,0,98,0,119,0,100,0,117,0,0,0,103,0,98,0,119,0,102,0,116,0,0,0,103,0,98,0,119,0,103,0,110,0,0,0,103,0,98,0,119,0,105,0,108,0,0,0,103,0,98,0,119,0,107,0,102,0,0,0,103,0,98,0,119,0,108,0,108,0,0,0,103,0,98,0,119,0,108,0,115,0,0,0,103,0,98,0,119,0,110,0,100,0,0,0,103,0,98,0,119,0,110,0,109,0,0,0,103,0,98,0,119,0,111,0,114,0,0,0,103,0,98,0,119,0,114,0,108,0,0,0,103,0,98,0,119,0,114,0,116,0,0,0,103,0,98,0,119,0,114,0,120,0,0,0,103,0,98,0,119,0,115,0,109,0,0,0,103,0,98,0,119,0,115,0,120,0,0,0,103,0,109,0,108,0,126,0,110,0,0,0,105,0,115,0,97,0,107,0,104,0,0,0,105,0,115,0,97,0,107,0,110,0,0,0,105,0,115,0,97,0,107,0,117,0,0,0,105,0,115,0,97,0,115,0,97,0,0,0,105,0,115,0,98,0,108,0,97,0,0,0,105,0,115,0,98,0,108,0,111,0,0,0,105,0,115,0,98,0,111,0,103,0,0,0,105,0,115,0,100,0,97,0,98,0,0,0,105,0,115,0,100,0,97,0,118,0,0,0,105,0,115,0,101,0,111,0,109,0,0,0,105,0,115,0,101,0,121,0,102,0,0,0,105,0,115,0,102,0,106,0,100,0,0,0,105,0,115,0,102,0,106,0,108,0,0,0,105,0,115,0,103,0,97,0,114,0,0,0,105,0,115,0,103,0,111,0,103,0,0,0,105,0,115,0,103,0,114,0,110,0,0,0,105,0,115,0,103,0,114,0,117,0,0,0,105,0,115,0,103,0,114,0,121,0,0,0,105,0,115,0,104,0,97,0,102,0,0,0,105,0,115,0,104,0,101,0,108,0,0,0,105,0,115,0,104,0,114,0,103,0,0,0,105,0,115,0,104,0,114,0,117,0,0,0,105,0,115,0,104,0,117,0,116,0,0,0,105,0,115,0,104,0,117,0,118,0,0,0,105,0,115,0,104,0,118,0,97,0,0,0,105,0,115,0,107,0,97,0,108,0,0,0,105,0,115,0,107,0,106,0,111,0,0,0,105,0,115,0,107,0,111,0,112,0,0,0,105,0,115,0,108,0,97,0,110,0,0,0,105,0,115,0,109,0,111,0,115,0,0,0,105,0,115,0,109,0,121,0,114,0,0,0,105,0,115,0,110,0,111,0,114,0,0,0,105,0,115,0,114,0,103,0,121,0,0,0,105,0,115,0,114,0,104,0,104,0,0,0,105,0,115,0,114,0,107,0,118,0,0,0,105,0,115,0,115,0,98,0,116,0,0,0,105,0,115,0,115,0,100,0,118,0,0,0,105,0,115,0,115,0,101,0,108,0,0,0,105,0,115,0,115,0,102,0,97,0,0,0,105,0,115,0,115,0,104,0,102,0,0,0,105,0,115,0,115,0,107,0,111,0,0,0,105,0,115,0,115,0,107,0,117,0,0,0,105,0,115,0,115,0,110,0,102,0,0,0,105,0,115,0,115,0,111,0,103,0,0,0,105,0,115,0,115,0,111,0,108,0,0,0,105,0,115,0,115,0,115,0,102,0,0,0,105,0,115,0,115,0,115,0,115,0,0,0,105,0,115,0,115,0,116,0,114,0,0,0,105,0,115,0,115,0,118,0,103,0,0,0,105,0,115,0,116,0,97,0,108,0,0,0,105,0,115,0,116,0,104,0,103,0,0,0,105,0,115,0,116,0,106,0,111,0,0,0,105,0,115,0,118,0,101,0,114,0,0,0,105,0,115,0,118,0,111,0,112,0,0,0,107,0,122,0,97,0,107,0,109,0,0,0,107,0,122,0,97,0,107,0,116,0,0,0,107,0,122,0,97,0,108,0,109,0,0,0,107,0,122,0,97,0,115,0,116,0,0,0,107,0,122,0,97,0,116,0,121,0,0,0,107,0,122,0,107,0,97,0,114,0,0,0,107,0,122,0,107,0,117,0,115,0,0,0,107,0,122,0,107,0,122,0,121,0,0,0,107,0,122,0,109,0,97,0,110,0,0,0,107,0,122,0,112,0,97,0,118,0,0,0,107,0,122,0,115,0,101,0,118,0,0,0,107,0,122,0,118,0,111,0,115,0,0,0,107,0,122,0,122,0,97,0,112,0,0,0,108,0,118,0,48,0,48,0,50,0,0,0,108,0,118,0,48,0,48,0,55,0,0,0,108,0,118,0,48,0,50,0,50,0,0,0,108,0,118,0,48,0,50,0,54,0,0,0,108,0,118,0,48,0,51,0,51,0,0,0,108,0,118,0,48,0,52,0,55,0,0,0,108,0,118,0,48,0,53,0,48,0,0,0,108,0,118,0,48,0,54,0,50,0,0,0,108,0,118,0,48,0,55,0,51,0,0,0,108,0,118,0,48,0,55,0,55,0,0,0,108,0,118,0,48,0,56,0,48,0,0,0,108,0,118,0,48,0,57,0,49,0,0,0,108,0,118,0,48,0,57,0,52,0,0,0,108,0,118,0,48,0,57,0,55,0,0,0,108,0,118,0,48,0,57,0,57,0,0,0,108,0,118,0,49,0,48,0,54,0,0,0,108,0,118,0,106,0,101,0,108,0,0,0,108,0,118,0,106,0,117,0,114,0,0,0,108,0,118,0,114,0,101,0,122,0,0,0,108,0,118,0,114,0,105,0,120,0,0,0,109,0,97,0,97,0,103,0,100,0,0,0,109,0,97,0,97,0,111,0,117,0,0,0,109,0,97,0,97,0,115,0,122,0,0,0,109,0,97,0,97,0,122,0,105,0,0,0,109,0,97,0,98,0,111,0,100,0,0,0,109,0,97,0,98,0,111,0,109,0,0,0,109,0,97,0,98,0,114,0,114,0,0,0,109,0,97,0,99,0,97,0,115,0,0,0,109,0,97,0,99,0,104,0,101,0,0,0,109,0,97,0,99,0,104,0,105,0,0,0,109,0,97,0,100,0,114,0,105,0,0,0,109,0,97,0,101,0,114,0,114,0,0,0,109,0,97,0,101,0,115,0,105,0,0,0,109,0,97,0,102,0,97,0,104,0,0,0,109,0,97,0,102,0,101,0,115,0,0,0,109,0,97,0,102,0,105,0,103,0,0,0,109,0,97,0,102,0,113,0,104,0,0,0,109,0,97,0,104,0,97,0,106,0,0,0,109,0,97,0,104,0,97,0,111,0,0,0,109,0,97,0,104,0,111,0,99,0,0,0,109,0,97,0,105,0,102,0,114,0,0,0,109,0,97,0,106,0,100,0,105,0,0,0,109,0,97,0,106,0,114,0,97,0,0,0,109,0,97,0,107,0,101,0,110,0,0,0,109,0,97,0,107,0,101,0,115,0,0,0,109,0,97,0,107,0,104,0,101,0,0,0,109,0,97,0,108,0,97,0,97,0,0,0,109,0,97,0,108,0,97,0,114,0,0,0,109,0,97,0,109,0,100,0,102,0,0,0,109,0,97,0,109,0,101,0,100,0,0,0,109,0,97,0,109,0,101,0,107,0,0,0,109,0,97,0,109,0,105,0,100,0,0,0,109,0,97,0,109,0,111,0,104,0,0,0,109,0,97,0,109,0,111,0,117,0,0,0,109,0,97,0,110,0,111,0,117,0,0,0,109,0,97,0,111,0,117,0,97,0,0,0,109,0,97,0,111,0,117,0,100,0,0,0,109,0,97,0,111,0,117,0,106,0,0,0,109,0,97,0,111,0,117,0,122,0,0,0,109,0,97,0,114,0,97,0,98,0,0,0,109,0,97,0,114,0,101,0,104,0,0,0,109,0,97,0,115,0,97,0,102,0,0,0,109,0,97,0,115,0,97,0,108,0,0,0,109,0,97,0,115,0,105,0,98,0,0,0,109,0,97,0,115,0,105,0,102,0,0,0,109,0,97,0,115,0,107,0,104,0,0,0,109,0,97,0,116,0,97,0,102,0,0,0,109,0,97,0,116,0,97,0,105,0,0,0,109,0,97,0,116,0,97,0,111,0,0,0,109,0,97,0,116,0,97,0,114,0,0,0,109,0,97,0,116,0,97,0,116,0,0,0,109,0,97,0,116,0,101,0,116,0,0,0,109,0,97,0,116,0,105,0,110,0,0,0,109,0,97,0,116,0,105,0,122,0,0,0,109,0,97,0,116,0,110,0,103,0,0,0,109,0,97,0,116,0,110,0,116,0,0,0,109,0,97,0,121,0,117,0,115,0,0,0,109,0,97,0,122,0,97,0,103,0,0,0,109,0,104,0,97,0,114,0,110,0,0,0,109,0,104,0,97,0,117,0,114,0,0,0,109,0,104,0,101,0,110,0,105,0,0,0,109,0,104,0,106,0,97,0,98,0,0,0,109,0,104,0,106,0,97,0,108,0,0,0,109,0,104,0,107,0,119,0,97,0,0,0,109,0,104,0,108,0,97,0,101,0,0,0,109,0,104,0,108,0,105,0,98,0,0,0,109,0,104,0,108,0,105,0,107,0,0,0,109,0,104,0,109,0,97,0,106,0,0,0,109,0,104,0,109,0,97,0,108,0,0,0,109,0,104,0,109,0,101,0,106,0,0,0,109,0,104,0,109,0,105,0,108,0,0,0,109,0,104,0,110,0,109,0,117,0,0,0,109,0,104,0,114,0,111,0,110,0,0,0,109,0,104,0,117,0,106,0,97,0,0,0,109,0,104,0,119,0,116,0,104,0,0,0,109,0,104,0,119,0,116,0,106,0,0,0,109,0,107,0,51,0,48,0,49,0,0,0,109,0,108,0,98,0,107,0,111,0,0,0,109,0,110,0,48,0,51,0,55,0,0,0,109,0,110,0,48,0,52,0,49,0,0,0,109,0,110,0,48,0,52,0,51,0,0,0,109,0,110,0,48,0,52,0,57,0,0,0,109,0,110,0,48,0,53,0,49,0,0,0,109,0,110,0,48,0,53,0,51,0,0,0,109,0,110,0,48,0,53,0,53,0,0,0,109,0,110,0,48,0,53,0,55,0,0,0,109,0,110,0,48,0,53,0,57,0,0,0,109,0,110,0,48,0,54,0,55,0,0,0,109,0,110,0,48,0,54,0,57,0,0,0,109,0,110,0,48,0,55,0,49,0,0,0,109,0,110,0,48,0,55,0,51,0,0,0,109,0,118,0,109,0,108,0,101,0,0,0,109,0,120,0,97,0,103,0,117,0,0,0,109,0,120,0,98,0,99,0,110,0,0,0,109,0,120,0,98,0,99,0,115,0,0,0,109,0,120,0,99,0,97,0,109,0,0,0,109,0,120,0,99,0,104,0,104,0,0,0,109,0,120,0,99,0,104,0,112,0,0,0,109,0,120,0,99,0,109,0,120,0,0,0,109,0,120,0,99,0,111,0,108,0,0,0,109,0,120,0,100,0,117,0,114,0,0,0,109,0,120,0,103,0,117,0,97,0,0,0,109,0,120,0,106,0,97,0,108,0,0,0,109,0,120,0,109,0,101,0,120,0,0,0,109,0,120,0,109,0,105,0,99,0,0,0,109,0,120,0,109,0,111,0,114,0,0,0,109,0,120,0,110,0,97,0,121,0,0,0,109,0,120,0,111,0,97,0,120,0,0,0,109,0,120,0,112,0,117,0,101,0,0,0,109,0,120,0,113,0,117,0,101,0,0,0,109,0,120,0,114,0,111,0,111,0,0,0,109,0,120,0,115,0,105,0,110,0,0,0,109,0,120,0,115,0,108,0,112,0,0,0,109,0,120,0,115,0,111,0,110,0,0,0,109,0,120,0,116,0,97,0,98,0,0,0,109,0,120,0,116,0,108,0,97,0,0,0,109,0,120,0,121,0,117,0,99,0,0,0,109,0,120,0,122,0,97,0,99,0,0,0,109,0,122,0,109,0,112,0,109,0,0,0,110,0,122,0,97,0,117,0,107,0,0,0,110,0,122,0,99,0,97,0,110,0,0,0,110,0,122,0,99,0,105,0,116,0,0,0,110,0,122,0,103,0,105,0,115,0,0,0,110,0,122,0,104,0,107,0,98,0,0,0,110,0,122,0,109,0,98,0,104,0,0,0,110,0,122,0,109,0,119,0,116,0,0,0,110,0,122,0,110,0,115,0,110,0,0,0,110,0,122,0,110,0,116,0,108,0,0,0,110,0,122,0,111,0,116,0,97,0,0,0,110,0,122,0,115,0,116,0,108,0,0,0,110,0,122,0,116,0,97,0,115,0,0,0,110,0,122,0,116,0,107,0,105,0,0,0,110,0,122,0,119,0,116,0,99,0,0,0,111,0,116,0,104,0,101,0,114,0,0,0,112,0,101,0,97,0,109,0,97,0,0,0,112,0,101,0,97,0,110,0,99,0,0,0,112,0,101,0,97,0,112,0,117,0,0,0,112,0,101,0,97,0,114,0,101,0,0,0,112,0,101,0,97,0,121,0,97,0,0,0,112,0,101,0,99,0,97,0,106,0,0,0,112,0,101,0,99,0,97,0,108,0,0,0,112,0,101,0,99,0,117,0,115,0,0,0,112,0,101,0,104,0,117,0,99,0,0,0,112,0,101,0,104,0,117,0,118,0,0,0,112,0,101,0,105,0,99,0,97,0,0,0,112,0,101,0,106,0,117,0,110,0,0,0,112,0,101,0,108,0,105,0,109,0,0,0,112,0,101,0,108,0,109,0,97,0,0,0,112,0,101,0,108,0,111,0,114,0,0,0,112,0,101,0,109,0,100,0,100,0,0,0,112,0,101,0,109,0,111,0,113,0,0,0,112,0,101,0,112,0,97,0,115,0,0,0,112,0,101,0,112,0,117,0,110,0,0,0,112,0,101,0,115,0,97,0,109,0,0,0,112,0,101,0,116,0,97,0,99,0,0,0,112,0,101,0,117,0,99,0,97,0,0,0,112,0,103,0,99,0,112,0,107,0,0,0,112,0,103,0,99,0,112,0,109,0,0,0,112,0,103,0,101,0,104,0,103,0,0,0,112,0,103,0,101,0,112,0,119,0,0,0,112,0,103,0,101,0,115,0,119,0,0,0,112,0,103,0,103,0,112,0,107,0,0,0,112,0,103,0,104,0,108,0,97,0,0,0,112,0,103,0,106,0,119,0,107,0,0,0,112,0,103,0,109,0,98,0,97,0,0,0,112,0,103,0,109,0,114,0,108,0,0,0,112,0,103,0,110,0,99,0,100,0,0,0,112,0,103,0,110,0,105,0,107,0,0,0,112,0,103,0,110,0,112,0,112,0,0,0,112,0,103,0,110,0,115,0,98,0,0,0,112,0,103,0,115,0,97,0,110,0,0,0,112,0,103,0,115,0,104,0,109,0,0,0,112,0,103,0,119,0,98,0,107,0,0,0,112,0,103,0,119,0,104,0,109,0,0,0,112,0,103,0,119,0,112,0,100,0,0,0,112,0,104,0,97,0,98,0,114,0,0,0,112,0,104,0,97,0,103,0,110,0,0,0,112,0,104,0,97,0,103,0,115,0,0,0,112,0,104,0,97,0,107,0,108,0,0,0,112,0,104,0,97,0,108,0,98,0,0,0,112,0,104,0,97,0,110,0,116,0,0,0,112,0,104,0,97,0,112,0,97,0,0,0,112,0,104,0,97,0,117,0,114,0,0,0,112,0,104,0,98,0,97,0,110,0,0,0,112,0,104,0,98,0,97,0,115,0,0,0,112,0,104,0,98,0,101,0,110,0,0,0,112,0,104,0,98,0,105,0,108,0,0,0,112,0,104,0,98,0,116,0,103,0,0,0,112,0,104,0,98,0,116,0,110,0,0,0,112,0,104,0,99,0,97,0,103,0,0,0,112,0,104,0,99,0,97,0,112,0,0,0,112,0,104,0,99,0,97,0,118,0,0,0,112,0,104,0,99,0,111,0,109,0,0,0,112,0,104,0,100,0,97,0,115,0,0,0,112,0,104,0,100,0,97,0,118,0,0,0,112,0,104,0,100,0,105,0,110,0,0,0,112,0,104,0,100,0,118,0,111,0,0,0,112,0,104,0,101,0,97,0,115,0,0,0,112,0,104,0,105,0,108,0,110,0,0,0,112,0,104,0,105,0,115,0,97,0,0,0,112,0,104,0,107,0,97,0,108,0,0,0,112,0,104,0,108,0,97,0,103,0,0,0,112,0,104,0,108,0,97,0,110,0,0,0,112,0,104,0,108,0,97,0,115,0,0,0,112,0,104,0,108,0,101,0,121,0,0,0,112,0,104,0,108,0,117,0,110,0,0,0,112,0,104,0,109,0,97,0,100,0,0,0,112,0,104,0,109,0,97,0,103,0,0,0,112,0,104,0,109,0,97,0,115,0,0,0,112,0,104,0,109,0,100,0,99,0,0,0,112,0,104,0,109,0,100,0,114,0,0,0,112,0,104,0,109,0,111,0,117,0,0,0,112,0,104,0,109,0,115,0,99,0,0,0,112,0,104,0,109,0,115,0,114,0,0,0,112,0,104,0,110,0,99,0,111,0,0,0,112,0,104,0,110,0,101,0,99,0,0,0,112,0,104,0,110,0,101,0,114,0,0,0,112,0,104,0,110,0,115,0,97,0,0,0,112,0,104,0,110,0,117,0,101,0,0,0,112,0,104,0,110,0,117,0,118,0,0,0,112,0,104,0,112,0,108,0,119,0,0,0,112,0,104,0,113,0,117,0,101,0,0,0,112,0,104,0,113,0,117,0,105,0,0,0,112,0,104,0,114,0,105,0,122,0,0,0,112,0,104,0,114,0,111,0,109,0,0,0,112,0,104,0,115,0,97,0,114,0,0,0,112,0,104,0,115,0,99,0,111,0,0,0,112,0,104,0,115,0,105,0,103,0,0,0,112,0,104,0,115,0,108,0,117,0,0,0,112,0,104,0,115,0,111,0,114,0,0,0,112,0,104,0,115,0,117,0,110,0,0,0,112,0,104,0,115,0,117,0,114,0,0,0,112,0,104,0,116,0,97,0,119,0,0,0,112,0,104,0,119,0,115,0,97,0,0,0,112,0,104,0,122,0,97,0,110,0,0,0,112,0,104,0,122,0,109,0,98,0,0,0,112,0,104,0,122,0,115,0,105,0,0,0,112,0,115,0,98,0,116,0,104,0,0,0,112,0,115,0,100,0,101,0,98,0,0,0,112,0,115,0,104,0,98,0,110,0,0,0,112,0,115,0,106,0,114,0,104,0,0,0,112,0,115,0,107,0,121,0,115,0,0,0,112,0,115,0,110,0,98,0,115,0,0,0,112,0,115,0,110,0,103,0,122,0,0,0,112,0,115,0,113,0,113,0,97,0,0,0,112,0,115,0,114,0,98,0,104,0,0,0,112,0,115,0,114,0,102,0,104,0,0,0,112,0,115,0,115,0,108,0,116,0,0,0,112,0,115,0,116,0,98,0,115,0,0,0,112,0,115,0,116,0,107,0,109,0,0,0,112,0,119,0,50,0,50,0,52,0,0,0,112,0,119,0,51,0,53,0,48,0,0,0,112,0,119,0,51,0,55,0,48,0,0,0,112,0,121,0,97,0,115,0,117,0,0,0,114,0,117,0,97,0,108,0,116,0,0,0,114,0,117,0,97,0,109,0,117,0,0,0,114,0,117,0,97,0,115,0,116,0,0,0,114,0,117,0,98,0,101,0,108,0,0,0,114,0,117,0,98,0,114,0,121,0,0,0,114,0,117,0,99,0,104,0,101,0,0,0,114,0,117,0,99,0,104,0,117,0,0,0,114,0,117,0,105,0,118,0,97,0,0,0,114,0,117,0,107,0,101,0,109,0,0,0,114,0,117,0,107,0,103,0,100,0,0,0,114,0,117,0,107,0,104,0,97,0,0,0,114,0,117,0,107,0,104,0,109,0,0,0,114,0,117,0,107,0,105,0,114,0,0,0,114,0,117,0,107,0,108,0,117,0,0,0,114,0,117,0,107,0,111,0,115,0,0,0,114,0,117,0,107,0,114,0,115,0,0,0,114,0,117,0,107,0,121,0,97,0,0,0,114,0,117,0,108,0,101,0,110,0,0,0,114,0,117,0,108,0,105,0,112,0,0,0,114,0,117,0,109,0,97,0,103,0,0,0,114,0,117,0,109,0,111,0,115,0,0,0,114,0,117,0,109,0,111,0,119,0,0,0,114,0,117,0,109,0,117,0,114,0,0,0,114,0,117,0,110,0,101,0,110,0,0,0,114,0,117,0,110,0,103,0,114,0,0,0,114,0,117,0,110,0,105,0,122,0,0,0,114,0,117,0,110,0,118,0,115,0,0,0,114,0,117,0,111,0,109,0,115,0,0,0,114,0,117,0,111,0,114,0,108,0,0,0,114,0,117,0,112,0,101,0,114,0,0,0,114,0,117,0,112,0,110,0,122,0,0,0,114,0,117,0,112,0,114,0,105,0,0,0,114,0,117,0,112,0,115,0,107,0,0,0,114,0,117,0,114,0,111,0,115,0,0,0,114,0,117,0,114,0,121,0,97,0,0,0,114,0,117,0,115,0,97,0,109,0,0,0,114,0,117,0,115,0,112,0,101,0,0,0,114,0,117,0,115,0,116,0,97,0,0,0,114,0,117,0,116,0,97,0,109,0,0,0,114,0,117,0,116,0,111,0,109,0,0,0,114,0,117,0,116,0,117,0,108,0,0,0,114,0,117,0,116,0,118,0,101,0,0,0,114,0,117,0,116,0,121,0,117,0,0,0,114,0,117,0,117,0,108,0,121,0,0,0,114,0,117,0,118,0,103,0,103,0,0,0,114,0,117,0,118,0,108,0,97,0,0,0,114,0,117,0,118,0,108,0,103,0,0,0,114,0,117,0,121,0,97,0,110,0,0,0,114,0,117,0,121,0,101,0,118,0,0,0,116,0,116,0,97,0,114,0,105,0,0,0,116,0,116,0,99,0,104,0,97,0,0,0,116,0,116,0,99,0,116,0,116,0,0,0,116,0,116,0,100,0,109,0,110,0,0,0,116,0,116,0,109,0,114,0,99,0,0,0,116,0,116,0,112,0,101,0,100,0,0,0,116,0,116,0,112,0,111,0,115,0,0,0,116,0,116,0,112,0,114,0,116,0,0,0,116,0,116,0,112,0,116,0,102,0,0,0,116,0,116,0,115,0,103,0,101,0,0,0,116,0,116,0,115,0,105,0,112,0,0,0,116,0,116,0,115,0,106,0,108,0,0,0,116,0,116,0,116,0,111,0,98,0,0,0,116,0,116,0,116,0,117,0,112,0,0,0,116,0,118,0,102,0,117,0,110,0,0,0,116,0,118,0,110,0,105,0,116,0,0,0,116,0,118,0,110,0,107,0,102,0,0,0,116,0,118,0,110,0,107,0,108,0,0,0,116,0,118,0,110,0,109,0,97,0,0,0,116,0,118,0,110,0,109,0,103,0,0,0,116,0,118,0,110,0,117,0,105,0,0,0,116,0,118,0,118,0,97,0,105,0,0,0,116,0,119,0,99,0,104,0,97,0,0,0,116,0,119,0,99,0,121,0,105,0,0,0,116,0,119,0,99,0,121,0,113,0,0,0,116,0,119,0,104,0,115,0,122,0,0,0,116,0,119,0,104,0,117,0,97,0,0,0,116,0,119,0,105,0,108,0,97,0,0,0,116,0,119,0,107,0,101,0,101,0,0,0,116,0,119,0,107,0,104,0,104,0,0,0,116,0,119,0,107,0,105,0,110,0,0,0,116,0,119,0,108,0,105,0,101,0,0,0,116,0,119,0,109,0,105,0,97,0,0,0,116,0,119,0,110,0,119,0,116,0,0,0,116,0,119,0,112,0,101,0,110,0,0,0,116,0,119,0,112,0,105,0,102,0,0,0,116,0,119,0,116,0,97,0,111,0,0,0,116,0,119,0,116,0,112,0,101,0,0,0,116,0,119,0,116,0,116,0,116,0,0,0,116,0,119,0,116,0,120,0,103,0,0,0,116,0,119,0,121,0,117,0,110,0,0,0,118,0,117,0,109,0,97,0,112,0,0,0,118,0,117,0,112,0,97,0,109,0,0,0,118,0,117,0,115,0,97,0,109,0,0,0,118,0,117,0,116,0,111,0,98,0,0,0,122,0,97,0,107,0,122,0,110,0,0,0,99,0,122,0,50,0,48,0,52,0,0,0,99,0,122,0,51,0,49,0,50,0,0,0,99,0,122,0,51,0,49,0,54,0,0,0,99,0,122,0,53,0,51,0,49,0,0,0,99,0,122,0,53,0,51,0,50,0,0,0,99,0,122,0,53,0,51,0,52,0,0,0,99,0,122,0,54,0,52,0,50,0,0,0,99,0,122,0,55,0,50,0,52,0,0,0,99,0,122,0,56,0,48,0,52,0,0,0,101,0,101,0,52,0,52,0,50,0,0,0,101,0,101,0,55,0,57,0,50,0,0,0,102,0,114,0,108,0,114,0,101,0,0,0,103,0,97,0,108,0,108,0,111,0,0,0,103,0,98,0,97,0,114,0,109,0,0,0,103,0,98,0,98,0,100,0,102,0,0,0,103,0,98,0,100,0,103,0,110,0,0,0,103,0,98,0,100,0,114,0,121,0,0,0,103,0,98,0,101,0,110,0,102,0,0,0,103,0,98,0,102,0,101,0,114,0,0,0,103,0,98,0,108,0,115,0,98,0,0,0,103,0,98,0,115,0,116,0,115,0,0,0,105,0,115,0,100,0,106,0,117,0,0,0,105,0,115,0,115,0,101,0,121,0,0,0,105,0,115,0,115,0,107,0,103,0,0,0,108,0,118,0,48,0,49,0,53,0,0,0,108,0,118,0,48,0,49,0,54,0,0,0,108,0,118,0,48,0,52,0,48,0,0,0,108,0,118,0,48,0,53,0,49,0,0,0,108,0,118,0,48,0,53,0,51,0,0,0,108,0,118,0,48,0,54,0,56,0,0,0,108,0,118,0,48,0,57,0,48,0,0,0,108,0,118,0,49,0,49,0,50,0,0,0,109,0,107,0,51,0,48,0,52,0,0,0,109,0,107,0,51,0,48,0,56,0,0,0,109,0,107,0,53,0,48,0,56,0,0,0,109,0,107,0,55,0,48,0,51,0,0,0,109,0,107,0,55,0,48,0,53,0,0,0,109,0,107,0,56,0,49,0,48,0,0,0,109,0,110,0,48,0,54,0,52,0,0,0,111,0,115,0,111,0,106,0,115,0,0,0,112,0,115,0,106,0,101,0,110,0,0,0,112,0,119,0,50,0,50,0,54,0,0,0,115,0,105,0,48,0,48,0,51,0,0,0,115,0,105,0,48,0,48,0,56,0,0,0,115,0,105,0,48,0,49,0,50,0,0,0,115,0,105,0,48,0,50,0,48,0,0,0,115,0,105,0,48,0,50,0,52,0,0,0,115,0,105,0,48,0,50,0,56,0,0,0,115,0,105,0,48,0,51,0,49,0,0,0,115,0,105,0,48,0,51,0,50,0,0,0,115,0,105,0,48,0,51,0,52,0,0,0,115,0,105,0,48,0,51,0,54,0,0,0,115,0,105,0,48,0,52,0,52,0,0,0,115,0,105,0,48,0,52,0,56,0,0,0,115,0,105,0,48,0,54,0,48,0,0,0,115,0,105,0,48,0,55,0,48,0,0,0,115,0,105,0,48,0,55,0,50,0,0,0,115,0,105,0,48,0,55,0,52,0,0,0,115,0,105,0,48,0,55,0,54,0,0,0,115,0,105,0,48,0,56,0,52,0,0,0,115,0,105,0,48,0,56,0,54,0,0,0,115,0,105,0,48,0,57,0,50,0,0,0,115,0,105,0,48,0,57,0,54,0,0,0,115,0,105,0,49,0,50,0,48,0,0,0,115,0,105,0,49,0,52,0,48,0,0,0,115,0,105,0,49,0,52,0,50,0,0,0,115,0,105,0,49,0,52,0,51,0,0,0,115,0,105,0,49,0,52,0,56,0,0,0,115,0,105,0,49,0,53,0,49,0,0,0,115,0,105,0,49,0,53,0,52,0,0,0,115,0,105,0,49,0,53,0,53,0,0,0,115,0,105,0,49,0,53,0,56,0,0,0,115,0,105,0,49,0,54,0,50,0,0,0,115,0,105,0,49,0,54,0,54,0,0,0,115,0,105,0,49,0,55,0,53,0,0,0,115,0,105,0,49,0,55,0,56,0,0,0,115,0,105,0,49,0,56,0,52,0,0,0,115,0,105,0,49,0,57,0,54,0,0,0,117,0,103,0,50,0,51,0,48,0,0,0,117,0,103,0,50,0,51,0,49,0,0,0,117,0,103,0,50,0,51,0,51,0,0,0,117,0,103,0,50,0,51,0,52,0,0,0,117,0,103,0,51,0,51,0,52,0,0,0,117,0,103,0,51,0,51,0,54,0,0,0,117,0,103,0,52,0,50,0,56,0,0,0,109,0,97,0,115,0,105,0,107,0,0,0,115,0,111,0,116,0,97,0,118,0,0,0,48,0,48,0,49,0,126,0,51,0,0,0,48,0,49,0,51,0,126,0,53,0,0,0,48,0,51,0,52,0,126,0,53,0,0,0,48,0,53,0,51,0,126,0,52,0,0,0,49,0,52,0,50,0,126,0,51,0,0,0,49,0,53,0,48,0,126,0,49,0,0,0,65,0,82,0,76,0,126,0,77,0,0,0,66,0,71,0,76,0,126,0,77,0,0,0,66,0,82,0,66,0,126,0,67,0,0,0,67,0,76,0,69,0,126,0,70,0,0,0,69,0,83,0,65,0,126,0,66,0,0,0,72,0,75,0,43,0,77,0,79,0,0,0,88,0,66,0,65,0,126,0,68,0,0,0,89,0,85,0,77,0,126,0,78,0,0,0,97,0,97,0,97,0,126,0,105,0,0,0,97,0,97,0,107,0,126,0,108,0,0,0,97,0,97,0,110,0,126,0,113,0,0,0,97,0,97,0,115,0,126,0,120,0,0,0,97,0,98,0,97,0,126,0,106,0,0,0,97,0,98,0,108,0,126,0,122,0,0,0,97,0,99,0,97,0,126,0,98,0,0,0,97,0,99,0,100,0,126,0,102,0,0,0,97,0,99,0,104,0,126,0,105,0,0,0,97,0,99,0,107,0,126,0,110,0,0,0,97,0,99,0,112,0,126,0,122,0,0,0,97,0,100,0,97,0,126,0,98,0,0,0,97,0,100,0,100,0,126,0,106,0,0,0,97,0,100,0,110,0,126,0,111,0,0,0,97,0,100,0,113,0,126,0,117,0,0,0,97,0,100,0,119,0,126,0,122,0,0,0,97,0,101,0,97,0,126,0,101,0,0,0,97,0,101,0,107,0,126,0,110,0,0,0,97,0,101,0,113,0,126,0,115,0,0,0,97,0,101,0,121,0,126,0,122,0,0,0,97,0,102,0,97,0,126,0,98,0,0,0,97,0,102,0,98,0,97,0,108,0,0,0,97,0,102,0,98,0,97,0,109,0,0,0,97,0,102,0,100,0,126,0,101,0,0,0,97,0,102,0,103,0,126,0,105,0,0,0,97,0,102,0,110,0,126,0,112,0,0,0,97,0,102,0,115,0,126,0,117,0,0,0,97,0,103,0,97,0,126,0,111,0,0,0,97,0,103,0,113,0,126,0,122,0,0,0,97,0,104,0,97,0,126,0,98,0,0,0,97,0,104,0,103,0,126,0,105,0,0,0,97,0,104,0,107,0,126,0,112,0,0,0,97,0,104,0,114,0,126,0,116,0,0,0,97,0,105,0,97,0,126,0,114,0,0,0,97,0,105,0,119,0,126,0,121,0,0,0,97,0,106,0,116,0,126,0,117,0,0,0,97,0,107,0,98,0,126,0,109,0,0,0,97,0,107,0,111,0,126,0,122,0,0,0,97,0,108,0,99,0,126,0,114,0,0,0,97,0,108,0,116,0,126,0,122,0,0,0,97,0,108,0,117,0,107,0,117,0,0,0,97,0,109,0,97,0,126,0,99,0,0,0,97,0,109,0,101,0,126,0,103,0,0,0,97,0,109,0,105,0,126,0,122,0,0,0,97,0,110,0,97,0,126,0,122,0,0,0,97,0,111,0,97,0,126,0,103,0,0,0,97,0,111,0,99,0,110,0,110,0,0,0,97,0,111,0,99,0,110,0,111,0,0,0,97,0,111,0,105,0,126,0,110,0,0,0,97,0,111,0,114,0,126,0,117,0,0,0,97,0,112,0,97,0,126,0,122,0,0,0,97,0,113,0,99,0,126,0,100,0,0,0,97,0,113,0,107,0,126,0,110,0,0,0,97,0,114,0,97,0,126,0,104,0,0,0,97,0,114,0,99,0,126,0,101,0,0,0,97,0,114,0,104,0,126,0,108,0,0,0,97,0,114,0,106,0,126,0,110,0,0,0,97,0,114,0,110,0,126,0,122,0,0,0,97,0,114,0,112,0,126,0,122,0,0,0,97,0,115,0,97,0,126,0,99,0,0,0,97,0,115,0,101,0,126,0,108,0,0,0,97,0,115,0,110,0,126,0,122,0,0,0,97,0,116,0,49,0,126,0,57,0,0,0,97,0,116,0,97,0,126,0,101,0,0,0,97,0,116,0,103,0,126,0,122,0,0,0,97,0,117,0,97,0,126,0,100,0,0,0,97,0,117,0,102,0,126,0,117,0,0,0,97,0,117,0,119,0,126,0,122,0,0,0,97,0,118,0,107,0,126,0,111,0,0,0,97,0,118,0,115,0,126,0,118,0,0,0,97,0,119,0,97,0,126,0,101,0,0,0,97,0,119,0,103,0,126,0,105,0,0,0,97,0,119,0,109,0,126,0,111,0,0,0,97,0,119,0,114,0,126,0,121,0,0,0,97,0,120,0,107,0,126,0,109,0,0,0,97,0,121,0,97,0,126,0,101,0,0,0,97,0,121,0,103,0,126,0,105,0,0,0,97,0,121,0,107,0,126,0,108,0,0,0,97,0,121,0,110,0,126,0,113,0,0,0,97,0,121,0,115,0,126,0,117,0,0,0,97,0,121,0,120,0,126,0,121,0,0,0,97,0,122,0,97,0,126,0,100,0,0,0,97,0,122,0,109,0,126,0,111,0,0,0,97,0,122,0,115,0,97,0,107,0,0,0,97,0,122,0,115,0,97,0,108,0,0,0,97,0,122,0,122,0,97,0,113,0,0,0,98,0,97,0,97,0,126,0,106,0,0,0,98,0,97,0,110,0,126,0,112,0,0,0,98,0,97,0,114,0,108,0,97,0,0,0,98,0,97,0,114,0,126,0,121,0,0,0,98,0,98,0,97,0,126,0,121,0,0,0,98,0,99,0,97,0,126,0,98,0,0,0,98,0,99,0,100,0,126,0,107,0,0,0,98,0,99,0,109,0,126,0,119,0,0,0,98,0,99,0,121,0,126,0,122,0,0,0,98,0,100,0,97,0,126,0,104,0,0,0,98,0,100,0,97,0,126,0,122,0,0,0,98,0,101,0,97,0,126,0,107,0,0,0,98,0,101,0,111,0,126,0,122,0,0,0,98,0,102,0,97,0,126,0,117,0,0,0,98,0,102,0,98,0,97,0,108,0,0,0,98,0,102,0,98,0,97,0,109,0,0,0,98,0,102,0,98,0,97,0,110,0,0,0,98,0,102,0,107,0,111,0,115,0,0,0,98,0,102,0,107,0,111,0,116,0,0,0,98,0,102,0,119,0,126,0,122,0,0,0,98,0,103,0,97,0,126,0,103,0,0,0,98,0,103,0,105,0,126,0,108,0,0,0,98,0,103,0,110,0,126,0,122,0,0,0,98,0,104,0,97,0,126,0,106,0,0,0,98,0,104,0,108,0,126,0,122,0,0,0,98,0,105,0,97,0,126,0,98,0,0,0,98,0,105,0,100,0,126,0,103,0,0,0,98,0,105,0,107,0,126,0,114,0,0,0,98,0,105,0,115,0,107,0,101,0,0,0,98,0,105,0,116,0,126,0,122,0,0,0,98,0,106,0,97,0,126,0,99,0,0,0,98,0,106,0,101,0,126,0,112,0,0,0,98,0,106,0,114,0,126,0,122,0,0,0,98,0,107,0,99,0,126,0,100,0,0,0,98,0,107,0,102,0,126,0,122,0,0,0,98,0,108,0,97,0,126,0,102,0,0,0,98,0,108,0,104,0,126,0,116,0,0,0,98,0,108,0,118,0,126,0,122,0,0,0,98,0,109,0,97,0,126,0,120,0,0,0,98,0,110,0,97,0,126,0,103,0,0,0,98,0,110,0,105,0,126,0,122,0,0,0,98,0,111,0,97,0,126,0,98,0,0,0,98,0,111,0,98,0,126,0,99,0,0,0,98,0,111,0,101,0,126,0,114,0,0,0,98,0,111,0,110,0,126,0,112,0,0,0,98,0,111,0,111,0,110,0,116,0,0,0,98,0,111,0,115,0,126,0,116,0,0,0,98,0,111,0,116,0,126,0,122,0,0,0,98,0,112,0,99,0,126,0,101,0,0,0,98,0,112,0,103,0,126,0,122,0,0,0,98,0,113,0,97,0,126,0,100,0,0,0,98,0,113,0,102,0,126,0,122,0,0,0,98,0,114,0,97,0,126,0,100,0,0,0,98,0,114,0,102,0,126,0,122,0,0,0,98,0,115,0,97,0,126,0,99,0,0,0,98,0,115,0,101,0,126,0,121,0,0,0,98,0,116,0,99,0,126,0,107,0,0,0,98,0,116,0,109,0,126,0,122,0,0,0,98,0,117,0,97,0,126,0,107,0,0,0,98,0,117,0,109,0,126,0,113,0,0,0,98,0,117,0,115,0,126,0,122,0,0,0,98,0,118,0,97,0,126,0,114,0,0,0,98,0,118,0,116,0,126,0,122,0,0,0,98,0,119,0,97,0,126,0,117,0,0,0,98,0,119,0,119,0,126,0,122,0,0,0,98,0,120,0,97,0,126,0,106,0,0,0,98,0,120,0,108,0,126,0,113,0,0,0,98,0,120,0,117,0,126,0,119,0,0,0,98,0,121,0,97,0,126,0,116,0,0,0,98,0,121,0,118,0,126,0,120,0,0,0,98,0,122,0,97,0,126,0,122,0,0,0,99,0,97,0,97,0,126,0,115,0,0,0,99,0,97,0,117,0,126,0,122,0,0,0,99,0,98,0,97,0,126,0,100,0,0,0,99,0,98,0,105,0,126,0,108,0,0,0,99,0,98,0,110,0,126,0,111,0,0,0,99,0,98,0,113,0,126,0,119,0,0,0,99,0,99,0,99,0,126,0,101,0,0,0,99,0,99,0,103,0,126,0,104,0,0,0,99,0,99,0,108,0,126,0,112,0,0,0,99,0,99,0,114,0,126,0,115,0,0,0,99,0,100,0,99,0,126,0,102,0,0,0,99,0,100,0,104,0,126,0,106,0,0,0,99,0,100,0,109,0,126,0,111,0,0,0,99,0,100,0,114,0,126,0,115,0,0,0,99,0,100,0,121,0,126,0,122,0,0,0,99,0,101,0,97,0,126,0,98,0,0,0,99,0,101,0,107,0,126,0,108,0,0,0,99,0,103,0,55,0,126,0,57,0,0,0,99,0,104,0,98,0,126,0,100,0,0,0,99,0,104,0,102,0,126,0,104,0,0,0,99,0,104,0,106,0,126,0,114,0,0,0,99,0,104,0,119,0,126,0,122,0,0,0,99,0,105,0,97,0,126,0,101,0,0,0,99,0,105,0,109,0,126,0,110,0,0,0,99,0,106,0,104,0,126,0,105,0,0,0,99,0,106,0,109,0,126,0,112,0,0,0,99,0,107,0,108,0,126,0,111,0,0,0,99,0,107,0,113,0,126,0,118,0,0,0,99,0,107,0,120,0,126,0,122,0,0,0,99,0,108,0,104,0,126,0,109,0,0,0,99,0,108,0,116,0,126,0,117,0,0,0,99,0,109,0,108,0,126,0,109,0,0,0,99,0,109,0,114,0,126,0,116,0,0,0,99,0,110,0,97,0,126,0,99,0,0,0,99,0,110,0,103,0,126,0,105,0,0,0,99,0,110,0,107,0,126,0,108,0,0,0,99,0,110,0,111,0,126,0,113,0,0,0,99,0,110,0,115,0,126,0,117,0,0,0,99,0,110,0,119,0,126,0,120,0,0,0,99,0,111,0,97,0,126,0,104,0,0,0,99,0,111,0,106,0,126,0,113,0,0,0,99,0,111,0,114,0,110,0,117,0,0,0,99,0,111,0,116,0,126,0,120,0,0,0,99,0,112,0,97,0,126,0,99,0,0,0,99,0,112,0,101,0,126,0,103,0,0,0,99,0,112,0,110,0,126,0,112,0,0,0,99,0,112,0,120,0,126,0,121,0,0,0,99,0,114,0,97,0,126,0,100,0,0,0,99,0,114,0,102,0,126,0,116,0,0,0,99,0,114,0,103,0,126,0,104,0,0,0,99,0,114,0,118,0,126,0,122,0,0,0,99,0,115,0,97,0,126,0,122,0,0,0,99,0,116,0,99,0,126,0,101,0,0,0,99,0,116,0,103,0,126,0,104,0,0,0,99,0,116,0,108,0,126,0,112,0,0,0,99,0,116,0,115,0,126,0,117,0,0,0,99,0,116,0,121,0,126,0,122,0,0,0,99,0,117,0,97,0,126,0,99,0,0,0,99,0,117,0,104,0,126,0,108,0,0,0,99,0,117,0,111,0,126,0,121,0,0,0,99,0,119,0,97,0,126,0,98,0,0,0,99,0,121,0,97,0,126,0,98,0,0,0,99,0,122,0,50,0,48,0,49,0,0,0,99,0,122,0,50,0,48,0,53,0,0,0,99,0,122,0,50,0,48,0,54,0,0,0,99,0,122,0,50,0,48,0,55,0,0,0,99,0,122,0,50,0,48,0,57,0,0,0,99,0,122,0,50,0,48,0,97,0,0,0,99,0,122,0,50,0,48,0,98,0,0,0,99,0,122,0,50,0,48,0,99,0,0,0,99,0,122,0,51,0,49,0,49,0,0,0,99,0,122,0,51,0,49,0,51,0,0,0,99,0,122,0,51,0,49,0,52,0,0,0,99,0,122,0,51,0,49,0,53,0,0,0,99,0,122,0,51,0,49,0,55,0,0,0,99,0,122,0,51,0,50,0,49,0,0,0,99,0,122,0,51,0,50,0,50,0,0,0,99,0,122,0,51,0,50,0,51,0,0,0,99,0,122,0,51,0,50,0,53,0,0,0,99,0,122,0,51,0,50,0,54,0,0,0,99,0,122,0,51,0,50,0,55,0,0,0,99,0,122,0,52,0,49,0,49,0,0,0,99,0,122,0,52,0,49,0,50,0,0,0,99,0,122,0,52,0,49,0,51,0,0,0,99,0,122,0,52,0,50,0,49,0,0,0,99,0,122,0,52,0,50,0,51,0,0,0,99,0,122,0,52,0,50,0,52,0,0,0,99,0,122,0,52,0,50,0,53,0,0,0,99,0,122,0,52,0,50,0,55,0,0,0,99,0,122,0,53,0,49,0,49,0,0,0,99,0,122,0,53,0,49,0,51,0,0,0,99,0,122,0,53,0,49,0,52,0,0,0,99,0,122,0,53,0,50,0,49,0,0,0,99,0,122,0,53,0,50,0,50,0,0,0,99,0,122,0,53,0,50,0,51,0,0,0,99,0,122,0,53,0,50,0,53,0,0,0,99,0,122,0,54,0,51,0,49,0,0,0,99,0,122,0,54,0,51,0,50,0,0,0,99,0,122,0,54,0,51,0,51,0,0,0,99,0,122,0,54,0,51,0,53,0,0,0,99,0,122,0,54,0,52,0,49,0,0,0,99,0,122,0,54,0,52,0,52,0,0,0,99,0,122,0,54,0,52,0,53,0,0,0,99,0,122,0,54,0,52,0,55,0,0,0,99,0,122,0,55,0,49,0,49,0,0,0,99,0,122,0,55,0,49,0,50,0,0,0,99,0,122,0,55,0,49,0,51,0,0,0,99,0,122,0,55,0,49,0,52,0,0,0,99,0,122,0,55,0,49,0,53,0,0,0,99,0,122,0,55,0,50,0,49,0,0,0,99,0,122,0,55,0,50,0,50,0,0,0,99,0,122,0,55,0,50,0,51,0,0,0,99,0,122,0,56,0,48,0,49,0,0,0,99,0,122,0,56,0,48,0,50,0,0,0,99,0,122,0,56,0,48,0,51,0,0,0,99,0,122,0,56,0,48,0,53,0,0,0,99,0,122,0,56,0,48,0,54,0,0,0,99,0,122,0,110,0,126,0,111,0,0,0,100,0,97,0,99,0,126,0,101,0,0,0,100,0,97,0,103,0,126,0,109,0,0,0,100,0,97,0,110,0,103,0,105,0,0,0,100,0,97,0,113,0,126,0,115,0,0,0,100,0,97,0,117,0,126,0,122,0,0,0,100,0,98,0,100,0,126,0,103,0,0,0,100,0,98,0,105,0,126,0,106,0,0,0,100,0,98,0,108,0,126,0,114,0,0,0,100,0,98,0,116,0,126,0,119,0,0,0,100,0,100,0,100,0,126,0,101,0,0,0,100,0,100,0,105,0,126,0,106,0,0,0,100,0,100,0,110,0,126,0,111,0,0,0,100,0,100,0,114,0,126,0,115,0,0,0,100,0,101,0,99,0,126,0,105,0,0,0,100,0,101,0,107,0,126,0,110,0,0,0,100,0,101,0,112,0,126,0,115,0,0,0,100,0,103,0,97,0,126,0,101,0,0,0,100,0,103,0,103,0,126,0,105,0,0,0,100,0,103,0,107,0,126,0,108,0,0,0,100,0,103,0,114,0,126,0,116,0,0,0,100,0,103,0,119,0,126,0,120,0,0,0,100,0,104,0,108,0,126,0,111,0,0,0,100,0,104,0,114,0,126,0,115,0,0,0,100,0,104,0,117,0,126,0,120,0,0,0,100,0,105,0,97,0,126,0,100,0,0,0,100,0,105,0,102,0,126,0,106,0,0,0,100,0,105,0,108,0,126,0,112,0,0,0,100,0,105,0,114,0,126,0,115,0,0,0,100,0,105,0,119,0,126,0,122,0,0,0,100,0,106,0,97,0,126,0,102,0,0,0,100,0,106,0,105,0,126,0,107,0,0,0,100,0,106,0,109,0,126,0,111,0,0,0,100,0,107,0,114,0,126,0,115,0,0,0,100,0,108,0,109,0,126,0,110,0,0,0,100,0,109,0,97,0,126,0,103,0,0,0,100,0,109,0,107,0,126,0,111,0,0,0,100,0,109,0,114,0,126,0,115,0,0,0,100,0,109,0,117,0,126,0,121,0,0,0,100,0,110,0,100,0,126,0,101,0,0,0,100,0,110,0,105,0,126,0,107,0,0,0,100,0,110,0,110,0,126,0,111,0,0,0,100,0,110,0,116,0,126,0,119,0,0,0,100,0,111,0,97,0,126,0,99,0,0,0,100,0,111,0,101,0,126,0,102,0,0,0,100,0,111,0,104,0,126,0,105,0,0,0,100,0,111,0,107,0,126,0,108,0,0,0,100,0,111,0,110,0,126,0,116,0,0,0,100,0,111,0,118,0,126,0,122,0,0,0,100,0,114,0,97,0,126,0,101,0,0,0,100,0,114,0,110,0,126,0,111,0,0,0,100,0,114,0,115,0,126,0,117,0,0,0,100,0,115,0,104,0,126,0,105,0,0,0,100,0,116,0,97,0,126,0,98,0,0,0,100,0,116,0,104,0,126,0,105,0,0,0,100,0,116,0,109,0,126,0,112,0,0,0,100,0,116,0,114,0,126,0,117,0,0,0,100,0,117,0,97,0,126,0,99,0,0,0,100,0,117,0,101,0,126,0,105,0,0,0,100,0,117,0,107,0,126,0,115,0,0,0,100,0,117,0,117,0,126,0,122,0,0,0,100,0,119,0,114,0,126,0,115,0,0,0,100,0,119,0,121,0,126,0,122,0,0,0,100,0,121,0,97,0,126,0,98,0,0,0,100,0,121,0,109,0,126,0,111,0,0,0,101,0,99,0,97,0,126,0,105,0,0,0,101,0,99,0,108,0,126,0,112,0,0,0,101,0,99,0,116,0,126,0,117,0,0,0,101,0,99,0,119,0,126,0,122,0,0,0,101,0,101,0,49,0,52,0,49,0,0,0,101,0,101,0,49,0,52,0,50,0,0,0,101,0,101,0,50,0,56,0,51,0,0,0,101,0,101,0,50,0,56,0,52,0,0,0,101,0,101,0,52,0,51,0,48,0,0,0,101,0,101,0,52,0,51,0,49,0,0,0,101,0,101,0,52,0,51,0,50,0,0,0,101,0,101,0,52,0,52,0,49,0,0,0,101,0,101,0,55,0,57,0,51,0,0,0,101,0,103,0,108,0,126,0,109,0,0,0,101,0,103,0,120,0,126,0,121,0,0,0,101,0,107,0,108,0,126,0,109,0,0,0,101,0,107,0,111,0,126,0,112,0,0,0,101,0,108,0,104,0,126,0,105,0,0,0,101,0,109,0,97,0,126,0,98,0,0,0,101,0,109,0,109,0,126,0,110,0,0,0,101,0,109,0,112,0,126,0,113,0,0,0,101,0,109,0,119,0,126,0,122,0,0,0,101,0,110,0,95,0,66,0,90,0,0,0,101,0,110,0,95,0,67,0,72,0,0,0,101,0,110,0,95,0,77,0,79,0,0,0,101,0,110,0,97,0,126,0,100,0,0,0,101,0,110,0,108,0,126,0,111,0,0,0,101,0,110,0,113,0,126,0,114,0,0,0,101,0,110,0,117,0,126,0,120,0,0,0,101,0,114,0,103,0,126,0,105,0,0,0,101,0,114,0,114,0,126,0,116,0,0,0,101,0,115,0,95,0,66,0,82,0,0,0,101,0,115,0,95,0,85,0,83,0,0,0,101,0,115,0,103,0,126,0,105,0,0,0,101,0,115,0,108,0,126,0,111,0,0,0,101,0,115,0,120,0,126,0,121,0,0,0,101,0,116,0,98,0,126,0,99,0,0,0,101,0,116,0,110,0,126,0,111,0,0,0,101,0,116,0,114,0,126,0,117,0,0,0,102,0,97,0,97,0,126,0,98,0,0,0,102,0,97,0,102,0,126,0,110,0,0,0,102,0,97,0,120,0,126,0,122,0,0,0,102,0,105,0,101,0,126,0,102,0,0,0,102,0,105,0,116,0,126,0,117,0,0,0,102,0,108,0,104,0,126,0,105,0,0,0,102,0,111,0,109,0,126,0,110,0,0,0,102,0,111,0,114,0,126,0,115,0,0,0,102,0,114,0,97,0,126,0,98,0,0,0,102,0,114,0,99,0,111,0,114,0,0,0,102,0,114,0,99,0,126,0,100,0,0,0,102,0,114,0,100,0,126,0,103,0,0,0,102,0,114,0,103,0,117,0,97,0,0,0,102,0,114,0,104,0,126,0,108,0,0,0,102,0,114,0,109,0,97,0,121,0,0,0,102,0,114,0,111,0,126,0,112,0,0,0,102,0,114,0,111,0,126,0,116,0,0,0,102,0,114,0,113,0,126,0,114,0,0,0,102,0,114,0,115,0,126,0,116,0,0,0,102,0,114,0,117,0,126,0,118,0,0,0,102,0,117,0,100,0,126,0,102,0,0,0,102,0,117,0,104,0,126,0,106,0,0,0,102,0,117,0,109,0,126,0,110,0,0,0,102,0,117,0,113,0,126,0,114,0,0,0,102,0,117,0,116,0,126,0,118,0,0,0,103,0,97,0,49,0,126,0,57,0,0,0,103,0,97,0,97,0,126,0,117,0,0,0,103,0,97,0,119,0,126,0,121,0,0,0,103,0,98,0,97,0,98,0,99,0,0,0,103,0,98,0,97,0,98,0,100,0,0,0,103,0,98,0,97,0,98,0,101,0,0,0,103,0,98,0,97,0,110,0,116,0,0,0,103,0,98,0,97,0,114,0,100,0,0,0,103,0,98,0,97,0,126,0,98,0,0,0,103,0,98,0,98,0,100,0,103,0,0,0,103,0,98,0,98,0,108,0,97,0,0,0,103,0,98,0,98,0,108,0,121,0,0,0,103,0,98,0,98,0,109,0,104,0,0,0,103,0,98,0,98,0,110,0,98,0,0,0,103,0,98,0,98,0,114,0,99,0,0,0,103,0,98,0,98,0,114,0,100,0,0,0,103,0,98,0,99,0,103,0,118,0,0,0,103,0,98,0,99,0,107,0,102,0,0,0,103,0,98,0,99,0,107,0,116,0,0,0,103,0,98,0,99,0,108,0,114,0,0,0,103,0,98,0,99,0,115,0,114,0,0,0,103,0,98,0,100,0,110,0,99,0,0,0,103,0,98,0,100,0,110,0,100,0,0,0,103,0,98,0,100,0,111,0,119,0,0,0,103,0,98,0,100,0,126,0,110,0,0,0,103,0,98,0,101,0,97,0,119,0,0,0,103,0,98,0,101,0,110,0,103,0,0,0,103,0,98,0,103,0,98,0,110,0,0,0,103,0,98,0,104,0,97,0,108,0,0,0,103,0,98,0,104,0,97,0,109,0,0,0,103,0,98,0,108,0,109,0,118,0,0,0,103,0,98,0,108,0,114,0,110,0,0,0,103,0,98,0,109,0,102,0,116,0,0,0,103,0,98,0,109,0,121,0,108,0,0,0,103,0,98,0,110,0,100,0,110,0,0,0,103,0,98,0,110,0,116,0,97,0,0,0,103,0,98,0,110,0,121,0,109,0,0,0,103,0,98,0,111,0,109,0,104,0,0,0,103,0,98,0,112,0,111,0,108,0,0,0,103,0,98,0,112,0,126,0,115,0,0,0,103,0,98,0,115,0,108,0,102,0,0,0,103,0,98,0,115,0,108,0,103,0,0,0,103,0,98,0,115,0,111,0,108,0,0,0,103,0,98,0,115,0,111,0,109,0,0,0,103,0,98,0,115,0,116,0,98,0,0,0,103,0,98,0,115,0,116,0,103,0,0,0,103,0,98,0,115,0,116,0,104,0,0,0,103,0,98,0,115,0,116,0,116,0,0,0,103,0,98,0,117,0,107,0,109,0,0,0,103,0,98,0,117,0,126,0,122,0,0,0,103,0,99,0,99,0,126,0,102,0,0,0,103,0,100,0,97,0,126,0,111,0,0,0,103,0,100,0,113,0,126,0,117,0,0,0,103,0,101,0,97,0,126,0,100,0,0,0,103,0,101,0,102,0,126,0,109,0,0,0,103,0,101,0,118,0,126,0,122,0,0,0,103,0,103,0,97,0,126,0,98,0,0,0,103,0,103,0,100,0,126,0,101,0,0,0,103,0,103,0,107,0,126,0,108,0,0,0,103,0,103,0,110,0,126,0,111,0,0,0,103,0,103,0,116,0,126,0,117,0,0,0,103,0,104,0,107,0,126,0,108,0,0,0,103,0,104,0,110,0,126,0,111,0,0,0,103,0,104,0,114,0,126,0,116,0,0,0,103,0,105,0,97,0,126,0,101,0,0,0,103,0,105,0,103,0,126,0,105,0,0,0,103,0,105,0,108,0,126,0,110,0,0,0,103,0,105,0,112,0,126,0,117,0,0,0,103,0,105,0,119,0,126,0,122,0,0,0,103,0,106,0,109,0,126,0,110,0,0,0,103,0,107,0,110,0,126,0,112,0,0,0,103,0,108,0,98,0,126,0,100,0,0,0,103,0,108,0,106,0,126,0,108,0,0,0,103,0,109,0,97,0,126,0,98,0,0,0,103,0,109,0,100,0,126,0,101,0,0,0,103,0,109,0,103,0,126,0,104,0,0,0,103,0,109,0,113,0,126,0,114,0,0,0,103,0,109,0,117,0,126,0,122,0,0,0,103,0,110,0,97,0,126,0,101,0,0,0,103,0,110,0,103,0,126,0,110,0,0,0,103,0,110,0,113,0,126,0,114,0,0,0,103,0,110,0,116,0,126,0,117,0,0,0,103,0,111,0,97,0,126,0,122,0,0,0,103,0,114,0,97,0,126,0,100,0,0,0,103,0,114,0,97,0,126,0,109,0,0,0,103,0,114,0,103,0,126,0,107,0,0,0,103,0,114,0,113,0,126,0,122,0,0,0,103,0,115,0,108,0,126,0,112,0,0,0,103,0,117,0,97,0,126,0,102,0,0,0,103,0,117,0,104,0,126,0,105,0,0,0,103,0,117,0,107,0,126,0,117,0,0,0,103,0,117,0,119,0,126,0,120,0,0,0,103,0,118,0,101,0,126,0,102,0,0,0,103,0,118,0,108,0,126,0,112,0,0,0,103,0,118,0,114,0,126,0,115,0,0,0,103,0,119,0,97,0,126,0,103,0,0,0,103,0,119,0,105,0,126,0,106,0,0,0,103,0,119,0,109,0,126,0,110,0,0,0,103,0,119,0,116,0,126,0,117,0,0,0,103,0,119,0,119,0,126,0,120,0,0,0,103,0,121,0,100,0,126,0,103,0,0,0,103,0,121,0,108,0,126,0,111,0,0,0,103,0,121,0,121,0,126,0,122,0,0,0,104,0,97,0,97,0,126,0,115,0,0,0,104,0,97,0,118,0,126,0,122,0,0,0,104,0,98,0,97,0,126,0,98,0,0,0,104,0,98,0,110,0,126,0,111,0,0,0,104,0,101,0,103,0,126,0,105,0,0,0,104,0,105,0,97,0,126,0,98,0,0,0,104,0,105,0,102,0,126,0,108,0,0,0,104,0,105,0,119,0,126,0,120,0,0,0,104,0,108,0,97,0,126,0,98,0,0,0,104,0,108,0,100,0,126,0,101,0,0,0,104,0,108,0,116,0,126,0,117,0,0,0,104,0,109,0,97,0,126,0,110,0,0,0,104,0,109,0,112,0,126,0,122,0,0,0,104,0,110,0,100,0,126,0,101,0,0,0,104,0,110,0,103,0,126,0,106,0,0,0,104,0,110,0,110,0,126,0,111,0,0,0,104,0,111,0,97,0,126,0,101,0,0,0,104,0,111,0,104,0,126,0,109,0,0,0,104,0,111,0,111,0,126,0,112,0,0,0,104,0,111,0,114,0,126,0,116,0,0,0,104,0,111,0,118,0,126,0,119,0,0,0,104,0,111,0,121,0,126,0,122,0,0,0,104,0,114,0,111,0,126,0,112,0,0,0,104,0,114,0,116,0,126,0,117,0,0,0,104,0,114,0,119,0,126,0,120,0,0,0,104,0,117,0,98,0,126,0,109,0,0,0,104,0,117,0,111,0,126,0,122,0,0,0,104,0,121,0,119,0,126,0,120,0,0,0,105,0,98,0,97,0,126,0,98,0,0,0,105,0,98,0,100,0,126,0,101,0,0,0,105,0,98,0,103,0,126,0,104,0,0,0,105,0,98,0,108,0,126,0,110,0,0,0,105,0,100,0,97,0,126,0,101,0,0,0,105,0,100,0,114,0,126,0,117,0,0,0,105,0,102,0,97,0,126,0,98,0,0,0,105,0,102,0,101,0,126,0,102,0,0,0,105,0,103,0,108,0,126,0,111,0,0,0,105,0,106,0,110,0,126,0,111,0,0,0,105,0,107,0,107,0,126,0,108,0,0,0,105,0,107,0,111,0,126,0,112,0,0,0,105,0,107,0,114,0,126,0,116,0,0,0,105,0,107,0,118,0,126,0,120,0,0,0,105,0,108,0,97,0,126,0,98,0,0,0,105,0,108,0,111,0,126,0,112,0,0,0,105,0,108,0,117,0,126,0,118,0,0,0,105,0,109,0,110,0,126,0,111,0,0,0,105,0,109,0,114,0,126,0,116,0,0,0,105,0,110,0,98,0,126,0,99,0,0,0,105,0,110,0,103,0,126,0,104,0,0,0,105,0,110,0,108,0,126,0,112,0,0,0,105,0,110,0,115,0,126,0,116,0,0,0,105,0,114,0,104,0,126,0,105,0,0,0,105,0,114,0,110,0,126,0,111,0,0,0,105,0,114,0,120,0,126,0,121,0,0,0,105,0,115,0,49,0,126,0,56,0,0,0,105,0,115,0,98,0,102,0,106,0,0,0,105,0,115,0,99,0,126,0,101,0,0,0,105,0,115,0,102,0,108,0,100,0,0,0,105,0,115,0,103,0,126,0,105,0,0,0,105,0,115,0,109,0,126,0,111,0,0,0,105,0,115,0,115,0,107,0,102,0,0,0,105,0,115,0,116,0,126,0,117,0,0,0,105,0,116,0,98,0,126,0,101,0,0,0,105,0,116,0,107,0,126,0,109,0,0,0,105,0,116,0,114,0,126,0,116,0,0,0,105,0,116,0,118,0,126,0,122,0,0,0,106,0,97,0,97,0,126,0,102,0,0,0,106,0,97,0,106,0,126,0,111,0,0,0,106,0,97,0,115,0,126,0,117,0,0,0,106,0,97,0,117,0,101,0,114,0,0,0,106,0,97,0,120,0,126,0,122,0,0,0,106,0,98,0,105,0,126,0,107,0,0,0,106,0,98,0,109,0,126,0,111,0,0,0,106,0,98,0,116,0,126,0,117,0,0,0,106,0,99,0,115,0,126,0,116,0,0,0,106,0,101,0,104,0,126,0,105,0,0,0,106,0,101,0,107,0,126,0,108,0,0,0,106,0,101,0,116,0,126,0,117,0,0,0,106,0,105,0,97,0,126,0,101,0,0,0,106,0,105,0,103,0,126,0,105,0,0,0,106,0,105,0,108,0,126,0,109,0,0,0,106,0,105,0,116,0,126,0,118,0,0,0,106,0,107,0,111,0,126,0,112,0,0,0,106,0,107,0,114,0,126,0,115,0,0,0,106,0,109,0,97,0,126,0,100,0,0,0,106,0,109,0,114,0,126,0,115,0,0,0,106,0,109,0,119,0,126,0,120,0,0,0,106,0,110,0,105,0,126,0,106,0,0,0,106,0,111,0,114,0,126,0,115,0,0,0,106,0,114,0,97,0,126,0,98,0,0,0,106,0,114,0,116,0,126,0,117,0,0,0,106,0,117,0,97,0,126,0,100,0,0,0,106,0,117,0,104,0,126,0,105,0,0,0,106,0,117,0,107,0,126,0,112,0,0,0,106,0,117,0,114,0,126,0,117,0,0,0,107,0,97,0,97,0,126,0,107,0,0,0,107,0,97,0,111,0,126,0,114,0,0,0,107,0,97,0,118,0,126,0,121,0,0,0,107,0,98,0,97,0,126,0,101,0,0,0,107,0,98,0,103,0,126,0,122,0,0,0,107,0,99,0,97,0,126,0,122,0,0,0,107,0,100,0,99,0,126,0,114,0,0,0,107,0,100,0,116,0,126,0,117,0,0,0,107,0,100,0,119,0,126,0,122,0,0,0,107,0,101,0,97,0,126,0,122,0,0,0,107,0,102,0,97,0,126,0,122,0,0,0,107,0,103,0,97,0,126,0,98,0,0,0,107,0,103,0,98,0,126,0,99,0,0,0,107,0,103,0,99,0,126,0,100,0,0,0,107,0,103,0,101,0,126,0,103,0,0,0,107,0,103,0,105,0,126,0,121,0,0,0,107,0,103,0,110,0,126,0,111,0,0,0,107,0,104,0,51,0,126,0,57,0,0,0,107,0,104,0,97,0,126,0,106,0,0,0,107,0,104,0,110,0,126,0,122,0,0,0,107,0,105,0,97,0,126,0,106,0,0,0,107,0,105,0,108,0,126,0,109,0,0,0,107,0,105,0,111,0,126,0,113,0,0,0,107,0,105,0,115,0,126,0,122,0,0,0,107,0,106,0,97,0,126,0,101,0,0,0,107,0,106,0,103,0,126,0,118,0,0,0,107,0,106,0,120,0,126,0,122,0,0,0,107,0,107,0,97,0,126,0,122,0,0,0,107,0,107,0,99,0,111,0,114,0,0,0,107,0,108,0,97,0,126,0,122,0,0,0,107,0,109,0,97,0,126,0,113,0,0,0,107,0,109,0,115,0,126,0,122,0,0,0,107,0,110,0,97,0,126,0,98,0,0,0,107,0,110,0,100,0,126,0,102,0,0,0,107,0,110,0,105,0,126,0,109,0,0,0,107,0,110,0,111,0,126,0,122,0,0,0,107,0,111,0,99,0,126,0,105,0,0,0,107,0,111,0,107,0,126,0,108,0,0,0,107,0,111,0,111,0,126,0,113,0,0,0,107,0,111,0,115,0,126,0,119,0,0,0,107,0,111,0,121,0,126,0,122,0,0,0,107,0,112,0,97,0,126,0,111,0,0,0,107,0,112,0,113,0,126,0,117,0,0,0,107,0,112,0,119,0,126,0,122,0,0,0,107,0,113,0,97,0,126,0,122,0,0,0,107,0,114,0,97,0,126,0,102,0,0,0,107,0,114,0,104,0,126,0,108,0,0,0,107,0,114,0,110,0,126,0,112,0,0,0,107,0,114,0,114,0,126,0,122,0,0,0,107,0,115,0,97,0,126,0,122,0,0,0,107,0,115,0,99,0,111,0,114,0,0,0,107,0,116,0,97,0,126,0,113,0,0,0,107,0,116,0,115,0,126,0,122,0,0,0,107,0,117,0,98,0,126,0,113,0,0,0,107,0,117,0,115,0,126,0,122,0,0,0,107,0,118,0,97,0,126,0,114,0,0,0,107,0,118,0,116,0,126,0,122,0,0,0,107,0,119,0,97,0,126,0,112,0,0,0,107,0,119,0,114,0,126,0,122,0,0,0,107,0,120,0,97,0,126,0,100,0,0,0,107,0,120,0,104,0,126,0,107,0,0,0,107,0,120,0,109,0,126,0,116,0,0,0,107,0,120,0,118,0,126,0,122,0,0,0,107,0,121,0,97,0,126,0,122,0,0,0,107,0,122,0,97,0,126,0,103,0,0,0,107,0,122,0,98,0,97,0,121,0,0,0,107,0,122,0,107,0,126,0,115,0,0,0,107,0,122,0,117,0,126,0,122,0,0,0,108,0,97,0,97,0,126,0,106,0,0,0,108,0,97,0,108,0,126,0,110,0,0,0,108,0,97,0,112,0,126,0,115,0,0,0,108,0,97,0,119,0,126,0,122,0,0,0,108,0,98,0,98,0,126,0,99,0,0,0,108,0,98,0,101,0,126,0,103,0,0,0,108,0,98,0,105,0,126,0,106,0,0,0,108,0,98,0,108,0,126,0,111,0,0,0,108,0,98,0,113,0,126,0,122,0,0,0,108,0,99,0,99,0,126,0,102,0,0,0,108,0,99,0,108,0,126,0,109,0,0,0,108,0,99,0,112,0,126,0,113,0,0,0,108,0,100,0,97,0,126,0,98,0,0,0,108,0,100,0,103,0,126,0,113,0,0,0,108,0,101,0,97,0,126,0,102,0,0,0,108,0,101,0,104,0,126,0,122,0,0,0,108,0,103,0,97,0,126,0,98,0,0,0,108,0,103,0,103,0,126,0,105,0,0,0,108,0,103,0,107,0,126,0,111,0,0,0,108,0,103,0,113,0,126,0,114,0,0,0,108,0,103,0,116,0,126,0,117,0,0,0,108,0,104,0,104,0,126,0,105,0,0,0,108,0,104,0,108,0,126,0,110,0,0,0,108,0,104,0,115,0,126,0,117,0,0,0,108,0,105,0,97,0,126,0,104,0,0,0,108,0,105,0,106,0,126,0,108,0,0,0,108,0,105,0,111,0,126,0,115,0,0,0,108,0,105,0,112,0,97,0,119,0,0,0,108,0,105,0,117,0,126,0,122,0,0,0,108,0,106,0,119,0,126,0,120,0,0,0,108,0,107,0,97,0,126,0,101,0,0,0,108,0,107,0,104,0,126,0,106,0,0,0,108,0,107,0,108,0,126,0,111,0,0,0,108,0,107,0,114,0,126,0,117,0,0,0,108,0,108,0,97,0,126,0,110,0,0,0,108,0,108,0,112,0,126,0,113,0,0,0,108,0,109,0,97,0,126,0,108,0,0,0,108,0,109,0,110,0,126,0,114,0,0,0,108,0,109,0,117,0,126,0,121,0,0,0,108,0,110,0,97,0,126,0,98,0,0,0,108,0,110,0,103,0,126,0,106,0,0,0,108,0,110,0,108,0,126,0,110,0,0,0,108,0,111,0,97,0,126,0,99,0,0,0,108,0,111,0,101,0,126,0,122,0,0,0,108,0,112,0,110,0,126,0,111,0,0,0,108,0,114,0,107,0,126,0,111,0,0,0,108,0,115,0,97,0,126,0,101,0,0,0,108,0,115,0,97,0,126,0,104,0,0,0,108,0,115,0,104,0,126,0,105,0,0,0,108,0,115,0,106,0,126,0,107,0,0,0,108,0,115,0,108,0,126,0,112,0,0,0,108,0,115,0,114,0,126,0,116,0,0,0,108,0,115,0,118,0,126,0,119,0,0,0,108,0,116,0,103,0,126,0,105,0,0,0,108,0,116,0,110,0,126,0,111,0,0,0,108,0,117,0,99,0,126,0,102,0,0,0,108,0,117,0,105,0,126,0,119,0,0,0,108,0,117,0,121,0,126,0,122,0,0,0,108,0,118,0,48,0,48,0,49,0,0,0,108,0,118,0,48,0,49,0,48,0,0,0,108,0,118,0,48,0,52,0,49,0,0,0,108,0,118,0,48,0,52,0,50,0,0,0,108,0,118,0,48,0,53,0,53,0,0,0,108,0,118,0,48,0,53,0,56,0,0,0,108,0,118,0,48,0,53,0,57,0,0,0,108,0,118,0,48,0,54,0,55,0,0,0,108,0,118,0,48,0,54,0,57,0,0,0,108,0,118,0,48,0,56,0,55,0,0,0,108,0,118,0,48,0,56,0,56,0,0,0,108,0,118,0,48,0,56,0,57,0,0,0,108,0,118,0,48,0,57,0,56,0,0,0,108,0,118,0,49,0,48,0,48,0,0,0,108,0,118,0,49,0,48,0,49,0,0,0,108,0,118,0,49,0,48,0,50,0,0,0,108,0,118,0,49,0,49,0,48,0,0,0,108,0,118,0,49,0,49,0,49,0,0,0,108,0,118,0,49,0,49,0,51,0,0,0,108,0,118,0,106,0,107,0,98,0,0,0,108,0,118,0,118,0,109,0,114,0,0,0,108,0,119,0,103,0,126,0,104,0,0,0,108,0,119,0,108,0,126,0,109,0,0,0,108,0,119,0,115,0,126,0,117,0,0,0,109,0,97,0,97,0,126,0,98,0,0,0,109,0,97,0,98,0,101,0,114,0,0,0,109,0,97,0,98,0,101,0,115,0,0,0,109,0,97,0,100,0,126,0,103,0,0,0,109,0,97,0,103,0,117,0,101,0,0,0,109,0,97,0,103,0,117,0,102,0,0,0,109,0,97,0,105,0,126,0,107,0,0,0,109,0,97,0,107,0,104,0,110,0,0,0,109,0,97,0,107,0,104,0,111,0,0,0,109,0,97,0,109,0,109,0,100,0,0,0,109,0,97,0,109,0,109,0,110,0,0,0,109,0,97,0,109,0,126,0,110,0,0,0,109,0,97,0,112,0,126,0,113,0,0,0,109,0,97,0,115,0,105,0,108,0,0,0,109,0,97,0,115,0,121,0,98,0,0,0,109,0,97,0,115,0,126,0,120,0,0,0,109,0,98,0,97,0,126,0,102,0,0,0,109,0,98,0,104,0,126,0,122,0,0,0,109,0,99,0,97,0,126,0,122,0,0,0,109,0,100,0,97,0,126,0,110,0,0,0,109,0,100,0,112,0,126,0,122,0,0,0,109,0,101,0,97,0,126,0,102,0,0,0,109,0,101,0,104,0,126,0,119,0,0,0,109,0,101,0,121,0,126,0,122,0,0,0,109,0,102,0,97,0,126,0,122,0,0,0,109,0,103,0,97,0,126,0,119,0,0,0,109,0,103,0,116,0,126,0,117,0,0,0,109,0,103,0,121,0,126,0,122,0,0,0,109,0,104,0,97,0,108,0,107,0,0,0,109,0,104,0,97,0,108,0,108,0,0,0,109,0,104,0,97,0,126,0,103,0,0,0,109,0,104,0,105,0,126,0,113,0,0,0,109,0,104,0,115,0,126,0,117,0,0,0,109,0,104,0,119,0,126,0,122,0,0,0,109,0,105,0,97,0,126,0,114,0,0,0,109,0,105,0,116,0,126,0,117,0,0,0,109,0,105,0,119,0,126,0,122,0,0,0,109,0,106,0,98,0,126,0,101,0,0,0,109,0,106,0,103,0,126,0,122,0,0,0,109,0,107,0,49,0,48,0,49,0,0,0,109,0,107,0,49,0,48,0,50,0,0,0,109,0,107,0,49,0,48,0,51,0,0,0,109,0,107,0,49,0,48,0,53,0,0,0,109,0,107,0,49,0,48,0,54,0,0,0,109,0,107,0,49,0,48,0,55,0,0,0,109,0,107,0,49,0,48,0,57,0,0,0,109,0,107,0,50,0,48,0,49,0,0,0,109,0,107,0,50,0,48,0,50,0,0,0,109,0,107,0,50,0,48,0,51,0,0,0,109,0,107,0,50,0,48,0,52,0,0,0,109,0,107,0,50,0,48,0,53,0,0,0,109,0,107,0,50,0,48,0,54,0,0,0,109,0,107,0,50,0,48,0,55,0,0,0,109,0,107,0,50,0,48,0,56,0,0,0,109,0,107,0,50,0,48,0,57,0,0,0,109,0,107,0,50,0,49,0,48,0,0,0,109,0,107,0,50,0,49,0,49,0,0,0,109,0,107,0,51,0,48,0,51,0,0,0,109,0,107,0,51,0,48,0,55,0,0,0,109,0,107,0,51,0,49,0,48,0,0,0,109,0,107,0,51,0,49,0,49,0,0,0,109,0,107,0,51,0,49,0,50,0,0,0,109,0,107,0,51,0,49,0,51,0,0,0,109,0,107,0,52,0,48,0,49,0,0,0,109,0,107,0,52,0,48,0,50,0,0,0,109,0,107,0,52,0,48,0,51,0,0,0,109,0,107,0,52,0,48,0,53,0,0,0,109,0,107,0,52,0,48,0,54,0,0,0,109,0,107,0,52,0,48,0,55,0,0,0,109,0,107,0,52,0,48,0,57,0,0,0,109,0,107,0,53,0,48,0,49,0,0,0,109,0,107,0,53,0,48,0,50,0,0,0,109,0,107,0,53,0,48,0,51,0,0,0,109,0,107,0,53,0,48,0,53,0,0,0,109,0,107,0,53,0,48,0,54,0,0,0,109,0,107,0,53,0,48,0,55,0,0,0,109,0,107,0,53,0,48,0,57,0,0,0,109,0,107,0,54,0,48,0,49,0,0,0,109,0,107,0,54,0,48,0,50,0,0,0,109,0,107,0,54,0,48,0,51,0,0,0,109,0,107,0,54,0,48,0,53,0,0,0,109,0,107,0,54,0,48,0,54,0,0,0,109,0,107,0,54,0,48,0,55,0,0,0,109,0,107,0,54,0,48,0,57,0,0,0,109,0,107,0,55,0,48,0,49,0,0,0,109,0,107,0,56,0,48,0,49,0,0,0,109,0,107,0,56,0,48,0,50,0,0,0,109,0,107,0,56,0,48,0,51,0,0,0,109,0,107,0,56,0,48,0,52,0,0,0,109,0,107,0,56,0,48,0,53,0,0,0,109,0,107,0,56,0,48,0,54,0,0,0,109,0,107,0,56,0,48,0,56,0,0,0,109,0,107,0,56,0,48,0,57,0,0,0,109,0,107,0,56,0,49,0,49,0,0,0,109,0,107,0,56,0,49,0,50,0,0,0,109,0,107,0,56,0,49,0,51,0,0,0,109,0,107,0,56,0,49,0,52,0,0,0,109,0,107,0,56,0,49,0,53,0,0,0,109,0,107,0,56,0,49,0,54,0,0,0,109,0,107,0,56,0,49,0,55,0,0,0,109,0,107,0,97,0,126,0,99,0,0,0,109,0,107,0,101,0,126,0,122,0,0,0,109,0,108,0,50,0,126,0,57,0,0,0,109,0,108,0,97,0,126,0,99,0,0,0,109,0,108,0,101,0,126,0,102,0,0,0,109,0,108,0,104,0,126,0,115,0,0,0,109,0,108,0,117,0,126,0,120,0,0,0,109,0,109,0,97,0,126,0,114,0,0,0,109,0,109,0,116,0,126,0,122,0,0,0,109,0,110,0,48,0,52,0,54,0,0,0,109,0,110,0,48,0,52,0,55,0,0,0,109,0,110,0,48,0,54,0,51,0,0,0,109,0,110,0,48,0,54,0,53,0,0,0,109,0,110,0,97,0,126,0,106,0,0,0,109,0,110,0,108,0,126,0,115,0,0,0,109,0,110,0,117,0,126,0,122,0,0,0,109,0,111,0,99,0,126,0,101,0,0,0,109,0,111,0,103,0,126,0,107,0,0,0,109,0,111,0,111,0,126,0,122,0,0,0,109,0,112,0,97,0,126,0,101,0,0,0,109,0,112,0,103,0,126,0,122,0,0,0,109,0,113,0,97,0,126,0,99,0,0,0,109,0,113,0,101,0,126,0,122,0,0,0,109,0,114,0,97,0,126,0,104,0,0,0,109,0,114,0,106,0,126,0,122,0,0,0,109,0,114,0,110,0,107,0,99,0,0,0,109,0,115,0,98,0,126,0,115,0,0,0,109,0,115,0,117,0,126,0,122,0,0,0,109,0,116,0,97,0,126,0,121,0,0,0,109,0,117,0,97,0,126,0,101,0,0,0,109,0,117,0,103,0,126,0,107,0,0,0,109,0,117,0,109,0,126,0,111,0,0,0,109,0,117,0,113,0,126,0,118,0,0,0,109,0,117,0,120,0,126,0,122,0,0,0,109,0,118,0,97,0,126,0,98,0,0,0,109,0,118,0,100,0,126,0,105,0,0,0,109,0,118,0,107,0,126,0,108,0,0,0,109,0,118,0,110,0,126,0,122,0,0,0,109,0,119,0,97,0,126,0,99,0,0,0,109,0,119,0,101,0,126,0,105,0,0,0,109,0,119,0,107,0,126,0,119,0,0,0,109,0,119,0,120,0,126,0,121,0,0,0,109,0,120,0,97,0,126,0,122,0,0,0,109,0,120,0,100,0,105,0,102,0,0,0,109,0,121,0,98,0,126,0,99,0,0,0,109,0,121,0,101,0,126,0,104,0,0,0,109,0,121,0,106,0,126,0,112,0,0,0,109,0,121,0,114,0,126,0,115,0,0,0,109,0,121,0,117,0,126,0,122,0,0,0,109,0,122,0,97,0,126,0,98,0,0,0,109,0,122,0,97,0,126,0,101,0,0,0,109,0,122,0,103,0,126,0,122,0,0,0,109,0,122,0,112,0,126,0,113,0,0,0,109,0,122,0,115,0,126,0,116,0,0,0,110,0,97,0,97,0,126,0,99,0,0,0,110,0,97,0,101,0,126,0,116,0,0,0,110,0,97,0,119,0,126,0,122,0,0,0,110,0,98,0,97,0,126,0,101,0,0,0,110,0,98,0,103,0,126,0,107,0,0,0,110,0,98,0,109,0,126,0,119,0,0,0,110,0,99,0,97,0,126,0,111,0,0,0,110,0,99,0,113,0,126,0,117,0,0,0,110,0,100,0,97,0,126,0,100,0,0,0,110,0,100,0,102,0,126,0,110,0,0,0,110,0,100,0,112,0,126,0,122,0,0,0,110,0,101,0,49,0,126,0,56,0,0,0,110,0,101,0,97,0,126,0,107,0,0,0,110,0,101,0,100,0,105,0,115,0,0,0,110,0,101,0,109,0,126,0,111,0,0,0,110,0,101,0,113,0,126,0,122,0,0,0,110,0,103,0,97,0,126,0,110,0,0,0,110,0,103,0,112,0,126,0,122,0,0,0,110,0,104,0,97,0,126,0,105,0,0,0,110,0,104,0,109,0,126,0,114,0,0,0,110,0,104,0,116,0,126,0,122,0,0,0,110,0,105,0,97,0,126,0,111,0,0,0,110,0,105,0,113,0,126,0,122,0,0,0,110,0,106,0,97,0,126,0,98,0,0,0,110,0,106,0,104,0,126,0,106,0,0,0,110,0,106,0,105,0,118,0,97,0,0,0,110,0,106,0,108,0,126,0,111,0,0,0,110,0,106,0,114,0,126,0,117,0,0,0,110,0,106,0,120,0,126,0,122,0,0,0,110,0,107,0,97,0,126,0,107,0,0,0,110,0,107,0,109,0,126,0,120,0,0,0,110,0,108,0,98,0,113,0,49,0,0,0,110,0,108,0,98,0,113,0,50,0,0,0,110,0,108,0,98,0,113,0,51,0,0,0,110,0,108,0,105,0,126,0,109,0,0,0,110,0,108,0,117,0,126,0,122,0,0,0,110,0,109,0,97,0,126,0,122,0,0,0,110,0,110,0,97,0,126,0,110,0,0,0,110,0,110,0,112,0,126,0,114,0,0,0,110,0,110,0,116,0,126,0,119,0,0,0,110,0,110,0,121,0,126,0,122,0,0,0,110,0,111,0,99,0,126,0,110,0,0,0,110,0,111,0,112,0,126,0,113,0,0,0,110,0,111,0,115,0,126,0,119,0,0,0,110,0,111,0,121,0,126,0,122,0,0,0,110,0,112,0,49,0,126,0,53,0,0,0,110,0,112,0,97,0,126,0,98,0,0,0,110,0,112,0,103,0,126,0,104,0,0,0,110,0,112,0,110,0,126,0,111,0,0,0,110,0,112,0,120,0,126,0,121,0,0,0,110,0,113,0,107,0,126,0,111,0,0,0,110,0,114,0,97,0,126,0,99,0,0,0,110,0,114,0,101,0,126,0,103,0,0,0,110,0,114,0,107,0,126,0,110,0,0,0,110,0,114,0,116,0,126,0,117,0,0,0,110,0,115,0,97,0,126,0,105,0,0,0,110,0,115,0,107,0,126,0,122,0,0,0,110,0,116,0,100,0,126,0,101,0,0,0,110,0,116,0,105,0,126,0,107,0,0,0,110,0,116,0,111,0,126,0,112,0,0,0,110,0,116,0,119,0,126,0,122,0,0,0,110,0,117,0,97,0,126,0,122,0,0,0,110,0,117,0,108,0,105,0,107,0,0,0,110,0,119,0,97,0,126,0,99,0,0,0,110,0,119,0,119,0,126,0,121,0,0,0,110,0,120,0,100,0,126,0,101,0,0,0,110,0,120,0,107,0,126,0,111,0,0,0,110,0,120,0,113,0,126,0,114,0,0,0,110,0,121,0,98,0,126,0,121,0,0,0,110,0,122,0,97,0,126,0,98,0,0,0,110,0,122,0,121,0,126,0,122,0,0,0,111,0,98,0,107,0,126,0,109,0,0,0,111,0,98,0,116,0,126,0,117,0,0,0,111,0,100,0,116,0,126,0,117,0,0,0,111,0,103,0,98,0,126,0,99,0,0,0,111,0,104,0,116,0,126,0,117,0,0,0,111,0,106,0,98,0,126,0,99,0,0,0,111,0,106,0,118,0,126,0,119,0,0,0,111,0,107,0,97,0,126,0,101,0,0,0,111,0,107,0,103,0,126,0,111,0,0,0,111,0,107,0,114,0,126,0,115,0,0,0,111,0,107,0,117,0,126,0,118,0,0,0,111,0,108,0,100,0,126,0,101,0,0,0,111,0,108,0,116,0,126,0,117,0,0,0,111,0,109,0,97,0,126,0,99,0,0,0,111,0,109,0,107,0,126,0,108,0,0,0,111,0,109,0,110,0,126,0,114,0,0,0,111,0,109,0,116,0,126,0,121,0,0,0,111,0,110,0,97,0,126,0,98,0,0,0,111,0,110,0,105,0,126,0,107,0,0,0,111,0,110,0,110,0,126,0,112,0,0,0,111,0,110,0,114,0,126,0,117,0,0,0,111,0,110,0,119,0,126,0,120,0,0,0,111,0,111,0,114,0,126,0,115,0,0,0,111,0,114,0,103,0,126,0,104,0,0,0,111,0,114,0,110,0,126,0,111,0,0,0,111,0,114,0,114,0,126,0,120,0,0,0,111,0,115,0,110,0,126,0,112,0,0,0,111,0,115,0,116,0,126,0,117,0,0,0,111,0,116,0,97,0,126,0,98,0,0,0,111,0,116,0,100,0,126,0,101,0,0,0,111,0,116,0,107,0,126,0,111,0,0,0,111,0,116,0,113,0,126,0,117,0,0,0,111,0,116,0,119,0,126,0,122,0,0,0,111,0,117,0,97,0,126,0,98,0,0,0,112,0,97,0,50,0,126,0,57,0,0,0,112,0,97,0,97,0,126,0,105,0,0,0,112,0,97,0,107,0,126,0,109,0,0,0,112,0,97,0,111,0,126,0,115,0,0,0,112,0,97,0,117,0,126,0,122,0,0,0,112,0,98,0,98,0,126,0,99,0,0,0,112,0,98,0,101,0,126,0,105,0,0,0,112,0,98,0,108,0,126,0,112,0,0,0,112,0,98,0,114,0,126,0,116,0,0,0,112,0,99,0,97,0,126,0,110,0,0,0,112,0,100,0,110,0,126,0,111,0,0,0,112,0,100,0,116,0,126,0,117,0,0,0,112,0,101,0,97,0,110,0,111,0,0,0,112,0,101,0,97,0,126,0,98,0,0,0,112,0,101,0,100,0,126,0,109,0,0,0,112,0,101,0,108,0,97,0,108,0,0,0,112,0,101,0,108,0,97,0,109,0,0,0,112,0,101,0,111,0,126,0,113,0,0,0,112,0,101,0,120,0,126,0,122,0,0,0,112,0,103,0,107,0,126,0,108,0,0,0,112,0,103,0,109,0,112,0,108,0,0,0,112,0,103,0,109,0,112,0,109,0,0,0,112,0,104,0,98,0,117,0,107,0,0,0,112,0,104,0,98,0,117,0,108,0,0,0,112,0,104,0,99,0,97,0,109,0,0,0,112,0,104,0,99,0,97,0,110,0,0,0,112,0,104,0,99,0,97,0,115,0,0,0,112,0,104,0,99,0,97,0,116,0,0,0,112,0,104,0,103,0,126,0,111,0,0,0,112,0,104,0,112,0,97,0,109,0,0,0,112,0,104,0,112,0,97,0,110,0,0,0,112,0,104,0,113,0,126,0,114,0,0,0,112,0,104,0,116,0,126,0,119,0,0,0,112,0,105,0,97,0,126,0,104,0,0,0,112,0,105,0,108,0,126,0,112,0,0,0,112,0,105,0,114,0,126,0,122,0,0,0,112,0,107,0,97,0,126,0,99,0,0,0,112,0,107,0,103,0,126,0,104,0,0,0,112,0,107,0,110,0,126,0,112,0,0,0,112,0,107,0,114,0,126,0,117,0,0,0,112,0,108,0,97,0,126,0,104,0,0,0,112,0,108,0,106,0,126,0,108,0,0,0,112,0,108,0,110,0,126,0,111,0,0,0,112,0,108,0,113,0,126,0,115,0,0,0,112,0,108,0,117,0,126,0,119,0,0,0,112,0,108,0,121,0,126,0,122,0,0,0,112,0,109,0,97,0,126,0,98,0,0,0,112,0,109,0,100,0,126,0,102,0,0,0,112,0,109,0,104,0,126,0,111,0,0,0,112,0,109,0,113,0,126,0,116,0,0,0,112,0,109,0,119,0,126,0,122,0,0,0,112,0,110,0,99,0,126,0,101,0,0,0,112,0,110,0,103,0,126,0,122,0,0,0,112,0,111,0,101,0,126,0,105,0,0,0,112,0,111,0,109,0,126,0,113,0,0,0,112,0,111,0,115,0,126,0,116,0,0,0,112,0,111,0,118,0,126,0,122,0,0,0,112,0,112,0,107,0,126,0,113,0,0,0,112,0,112,0,115,0,126,0,117,0,0,0,112,0,114,0,99,0,126,0,105,0,0,0,112,0,114,0,107,0,126,0,114,0,0,0,112,0,114,0,116,0,126,0,117,0,0,0,112,0,114,0,119,0,126,0,120,0,0,0,112,0,115,0,99,0,126,0,101,0,0,0,112,0,115,0,103,0,126,0,105,0,0,0,112,0,115,0,106,0,101,0,109,0,0,0,112,0,115,0,108,0,126,0,117,0,0,0,112,0,116,0,104,0,126,0,105,0,0,0,112,0,116,0,110,0,126,0,114,0,0,0,112,0,116,0,116,0,126,0,119,0,0,0,112,0,117,0,97,0,126,0,103,0,0,0,112,0,117,0,105,0,126,0,106,0,0,0,112,0,117,0,111,0,126,0,114,0,0,0,112,0,117,0,116,0,101,0,114,0,0,0,112,0,117,0,116,0,126,0,117,0,0,0,112,0,117,0,119,0,126,0,121,0,0,0,112,0,119,0,50,0,50,0,55,0,0,0,112,0,119,0,50,0,50,0,56,0,0,0,112,0,119,0,97,0,126,0,98,0,0,0,112,0,119,0,109,0,126,0,111,0,0,0,112,0,121,0,50,0,126,0,57,0,0,0,112,0,121,0,109,0,126,0,110,0,0,0,112,0,121,0,120,0,126,0,121,0,0,0,113,0,97,0,97,0,126,0,122,0,0,0,113,0,98,0,97,0,126,0,122,0,0,0,113,0,99,0,97,0,126,0,122,0,0,0,113,0,100,0,97,0,126,0,122,0,0,0,113,0,101,0,97,0,126,0,122,0,0,0,113,0,102,0,97,0,126,0,121,0,0,0,113,0,103,0,97,0,126,0,122,0,0,0,113,0,104,0,97,0,126,0,122,0,0,0,113,0,105,0,97,0,126,0,122,0,0,0,113,0,106,0,97,0,126,0,122,0,0,0,113,0,107,0,97,0,126,0,122,0,0,0,113,0,108,0,97,0,126,0,122,0,0,0,113,0,109,0,97,0,126,0,122,0,0,0,113,0,110,0,97,0,126,0,122,0,0,0,113,0,111,0,97,0,126,0,122,0,0,0,113,0,112,0,97,0,126,0,122,0,0,0,113,0,113,0,97,0,126,0,122,0,0,0,113,0,114,0,97,0,126,0,122,0,0,0,113,0,115,0,97,0,126,0,122,0,0,0,113,0,116,0,97,0,126,0,122,0,0,0,113,0,117,0,97,0,126,0,100,0,0,0,113,0,117,0,102,0,126,0,105,0,0,0,113,0,117,0,107,0,126,0,110,0,0,0,113,0,117,0,112,0,126,0,115,0,0,0,113,0,117,0,118,0,126,0,121,0,0,0,113,0,118,0,104,0,126,0,106,0,0,0,113,0,118,0,108,0,126,0,112,0,0,0,113,0,118,0,121,0,126,0,122,0,0,0,113,0,119,0,115,0,126,0,116,0,0,0,113,0,120,0,110,0,126,0,117,0,0,0,114,0,97,0,97,0,126,0,100,0,0,0,114,0,97,0,102,0,126,0,122,0,0,0,114,0,98,0,107,0,126,0,108,0,0,0,114,0,101,0,97,0,126,0,98,0,0,0,114,0,101,0,105,0,126,0,106,0,0,0,114,0,101,0,108,0,126,0,110,0,0,0,114,0,101,0,114,0,126,0,116,0,0,0,114,0,103,0,114,0,126,0,115,0,0,0,114,0,105,0,97,0,126,0,98,0,0,0,114,0,105,0,103,0,105,0,107,0,0,0,114,0,105,0,108,0,126,0,110,0,0,0,114,0,105,0,116,0,126,0,117,0,0,0,114,0,107,0,97,0,126,0,98,0,0,0,114,0,107,0,104,0,126,0,105,0,0,0,114,0,109,0,97,0,126,0,105,0,0,0,114,0,109,0,107,0,126,0,113,0,0,0,114,0,109,0,115,0,126,0,120,0,0,0,114,0,111,0,97,0,126,0,103,0,0,0,114,0,111,0,108,0,126,0,109,0,0,0,114,0,111,0,111,0,126,0,112,0,0,0,114,0,111,0,122,0,97,0,106,0,0,0,114,0,115,0,107,0,126,0,110,0,0,0,114,0,117,0,98,0,126,0,99,0,0,0,114,0,117,0,101,0,126,0,105,0,0,0,114,0,117,0,109,0,103,0,114,0,0,0,114,0,117,0,111,0,126,0,113,0,0,0,114,0,117,0,116,0,126,0,117,0,0,0,114,0,117,0,121,0,126,0,122,0,0,0,114,0,119,0,107,0,126,0,109,0,0,0,115,0,97,0,97,0,126,0,102,0,0,0,115,0,97,0,104,0,126,0,109,0,0,0,115,0,97,0,113,0,126,0,122,0,0,0,115,0,98,0,97,0,126,0,122,0,0,0,115,0,99,0,101,0,126,0,105,0,0,0,115,0,99,0,107,0,126,0,108,0,0,0,115,0,99,0,110,0,126,0,113,0,0,0,115,0,99,0,115,0,126,0,120,0,0,0,115,0,100,0,97,0,126,0,99,0,0,0,115,0,100,0,101,0,126,0,104,0,0,0,115,0,100,0,106,0,126,0,108,0,0,0,115,0,100,0,110,0,126,0,118,0,0,0,115,0,101,0,97,0,126,0,119,0,0,0,115,0,101,0,99,0,126,0,105,0,0,0,115,0,101,0,109,0,126,0,111,0,0,0,115,0,101,0,115,0,126,0,117,0,0,0,115,0,101,0,119,0,126,0,122,0,0,0,115,0,101,0,121,0,126,0,122,0,0,0,115,0,103,0,97,0,126,0,101,0,0,0,115,0,103,0,103,0,126,0,107,0,0,0,115,0,103,0,109,0,126,0,110,0,0,0,115,0,103,0,114,0,126,0,117,0,0,0,115,0,103,0,119,0,126,0,122,0,0,0,115,0,104,0,97,0,126,0,101,0,0,0,115,0,104,0,103,0,126,0,122,0,0,0,115,0,105,0,48,0,48,0,49,0,0,0,115,0,105,0,48,0,48,0,50,0,0,0,115,0,105,0,48,0,48,0,52,0,0,0,115,0,105,0,48,0,48,0,54,0,0,0,115,0,105,0,48,0,48,0,55,0,0,0,115,0,105,0,48,0,49,0,48,0,0,0,115,0,105,0,48,0,49,0,49,0,0,0,115,0,105,0,48,0,49,0,53,0,0,0,115,0,105,0,48,0,49,0,54,0,0,0,115,0,105,0,48,0,50,0,50,0,0,0,115,0,105,0,48,0,50,0,51,0,0,0,115,0,105,0,48,0,50,0,53,0,0,0,115,0,105,0,48,0,50,0,54,0,0,0,115,0,105,0,48,0,50,0,55,0,0,0,115,0,105,0,48,0,51,0,51,0,0,0,115,0,105,0,48,0,51,0,53,0,0,0,115,0,105,0,48,0,51,0,55,0,0,0,115,0,105,0,48,0,51,0,56,0,0,0,115,0,105,0,48,0,51,0,57,0,0,0,115,0,105,0,48,0,52,0,48,0,0,0,115,0,105,0,48,0,52,0,49,0,0,0,115,0,105,0,48,0,52,0,50,0,0,0,115,0,105,0,48,0,52,0,51,0,0,0,115,0,105,0,48,0,52,0,53,0,0,0,115,0,105,0,48,0,52,0,54,0,0,0,115,0,105,0,48,0,52,0,55,0,0,0,115,0,105,0,48,0,52,0,57,0,0,0,115,0,105,0,48,0,53,0,48,0,0,0,115,0,105,0,48,0,53,0,49,0,0,0,115,0,105,0,48,0,53,0,50,0,0,0,115,0,105,0,48,0,53,0,51,0,0,0,115,0,105,0,48,0,53,0,52,0,0,0,115,0,105,0,48,0,53,0,53,0,0,0,115,0,105,0,48,0,53,0,54,0,0,0,115,0,105,0,48,0,53,0,55,0,0,0,115,0,105,0,48,0,53,0,56,0,0,0,115,0,105,0,48,0,53,0,57,0,0,0,115,0,105,0,48,0,54,0,49,0,0,0,115,0,105,0,48,0,54,0,50,0,0,0,115,0,105,0,48,0,54,0,51,0,0,0,115,0,105,0,48,0,54,0,52,0,0,0,115,0,105,0,48,0,54,0,53,0,0,0,115,0,105,0,48,0,54,0,54,0,0,0,115,0,105,0,48,0,54,0,55,0,0,0,115,0,105,0,48,0,54,0,56,0,0,0,115,0,105,0,48,0,54,0,57,0,0,0,115,0,105,0,48,0,55,0,49,0,0,0,115,0,105,0,48,0,55,0,51,0,0,0,115,0,105,0,48,0,55,0,53,0,0,0,115,0,105,0,48,0,55,0,55,0,0,0,115,0,105,0,48,0,55,0,56,0,0,0,115,0,105,0,48,0,55,0,57,0,0,0,115,0,105,0,48,0,56,0,48,0,0,0,115,0,105,0,48,0,56,0,49,0,0,0,115,0,105,0,48,0,56,0,50,0,0,0,115,0,105,0,48,0,56,0,51,0,0,0,115,0,105,0,48,0,56,0,53,0,0,0,115,0,105,0,48,0,56,0,55,0,0,0,115,0,105,0,48,0,56,0,56,0,0,0,115,0,105,0,48,0,56,0,57,0,0,0,115,0,105,0,48,0,57,0,48,0,0,0,115,0,105,0,48,0,57,0,49,0,0,0,115,0,105,0,48,0,57,0,51,0,0,0,115,0,105,0,48,0,57,0,52,0,0,0,115,0,105,0,48,0,57,0,53,0,0,0,115,0,105,0,48,0,57,0,55,0,0,0,115,0,105,0,48,0,57,0,56,0,0,0,115,0,105,0,48,0,57,0,57,0,0,0,115,0,105,0,49,0,48,0,48,0,0,0,115,0,105,0,49,0,48,0,49,0,0,0,115,0,105,0,49,0,48,0,50,0,0,0,115,0,105,0,49,0,48,0,51,0,0,0,115,0,105,0,49,0,48,0,52,0,0,0,115,0,105,0,49,0,48,0,53,0,0,0,115,0,105,0,49,0,48,0,54,0,0,0,115,0,105,0,49,0,48,0,55,0,0,0,115,0,105,0,49,0,48,0,56,0,0,0,115,0,105,0,49,0,48,0,57,0,0,0,115,0,105,0,49,0,49,0,48,0,0,0,115,0,105,0,49,0,49,0,49,0,0,0,115,0,105,0,49,0,49,0,50,0,0,0,115,0,105,0,49,0,49,0,51,0,0,0,115,0,105,0,49,0,49,0,52,0,0,0,115,0,105,0,49,0,49,0,53,0,0,0,115,0,105,0,49,0,49,0,55,0,0,0,115,0,105,0,49,0,49,0,56,0,0,0,115,0,105,0,49,0,49,0,57,0,0,0,115,0,105,0,49,0,50,0,49,0,0,0,115,0,105,0,49,0,50,0,50,0,0,0,115,0,105,0,49,0,50,0,51,0,0,0,115,0,105,0,49,0,50,0,53,0,0,0,115,0,105,0,49,0,50,0,54,0,0,0,115,0,105,0,49,0,50,0,55,0,0,0,115,0,105,0,49,0,50,0,56,0,0,0,115,0,105,0,49,0,50,0,57,0,0,0,115,0,105,0,49,0,51,0,48,0,0,0,115,0,105,0,49,0,51,0,49,0,0,0,115,0,105,0,49,0,51,0,51,0,0,0,115,0,105,0,49,0,51,0,52,0,0,0,115,0,105,0,49,0,51,0,53,0,0,0,115,0,105,0,49,0,51,0,55,0,0,0,115,0,105,0,49,0,51,0,56,0,0,0,115,0,105,0,49,0,51,0,57,0,0,0,115,0,105,0,49,0,52,0,49,0,0,0,115,0,105,0,49,0,52,0,54,0,0,0,115,0,105,0,49,0,52,0,55,0,0,0,115,0,105,0,49,0,52,0,57,0,0,0,115,0,105,0,49,0,53,0,48,0,0,0,115,0,105,0,49,0,53,0,51,0,0,0,115,0,105,0,49,0,53,0,55,0,0,0,115,0,105,0,49,0,53,0,57,0,0,0,115,0,105,0,49,0,54,0,48,0,0,0,115,0,105,0,49,0,54,0,49,0,0,0,115,0,105,0,49,0,54,0,51,0,0,0,115,0,105,0,49,0,54,0,52,0,0,0,115,0,105,0,49,0,54,0,53,0,0,0,115,0,105,0,49,0,54,0,55,0,0,0,115,0,105,0,49,0,54,0,56,0,0,0,115,0,105,0,49,0,54,0,57,0,0,0,115,0,105,0,49,0,55,0,49,0,0,0,115,0,105,0,49,0,55,0,50,0,0,0,115,0,105,0,49,0,55,0,51,0,0,0,115,0,105,0,49,0,55,0,54,0,0,0,115,0,105,0,49,0,55,0,55,0,0,0,115,0,105,0,49,0,55,0,57,0,0,0,115,0,105,0,49,0,56,0,49,0,0,0,115,0,105,0,49,0,56,0,50,0,0,0,115,0,105,0,49,0,56,0,51,0,0,0,115,0,105,0,49,0,56,0,53,0,0,0,115,0,105,0,49,0,56,0,54,0,0,0,115,0,105,0,49,0,56,0,55,0,0,0,115,0,105,0,49,0,56,0,57,0,0,0,115,0,105,0,49,0,57,0,48,0,0,0,115,0,105,0,49,0,57,0,51,0,0,0,115,0,105,0,49,0,57,0,52,0,0,0,115,0,105,0,49,0,57,0,53,0,0,0,115,0,105,0,49,0,57,0,55,0,0,0,115,0,105,0,49,0,57,0,56,0,0,0,115,0,105,0,49,0,57,0,57,0,0,0,115,0,105,0,50,0,48,0,48,0,0,0,115,0,105,0,50,0,48,0,49,0,0,0,115,0,105,0,50,0,48,0,50,0,0,0,115,0,105,0,50,0,48,0,51,0,0,0,115,0,105,0,50,0,48,0,52,0,0,0,115,0,105,0,50,0,48,0,53,0,0,0,115,0,105,0,50,0,48,0,54,0,0,0,115,0,105,0,50,0,48,0,55,0,0,0,115,0,105,0,50,0,48,0,56,0,0,0,115,0,105,0,50,0,48,0,57,0,0,0,115,0,105,0,50,0,49,0,48,0,0,0,115,0,105,0,50,0,49,0,49,0,0,0,115,0,105,0,50,0,49,0,50,0,0,0,115,0,105,0,50,0,49,0,51,0,0,0,115,0,105,0,97,0,126,0,98,0,0,0,115,0,105,0,100,0,126,0,109,0,0,0,115,0,105,0,111,0,126,0,122,0,0,0,115,0,106,0,97,0,126,0,98,0,0,0,115,0,106,0,100,0,126,0,101,0,0,0,115,0,106,0,107,0,126,0,112,0,0,0,115,0,106,0,114,0,126,0,117,0,0,0,115,0,107,0,97,0,126,0,106,0,0,0,115,0,107,0,109,0,126,0,122,0,0,0,115,0,108,0,99,0,126,0,106,0,0,0,115,0,108,0,108,0,126,0,110,0,0,0,115,0,108,0,112,0,126,0,117,0,0,0,115,0,108,0,119,0,126,0,122,0,0,0,115,0,109,0,97,0,126,0,99,0,0,0,115,0,109,0,102,0,126,0,110,0,0,0,115,0,109,0,112,0,126,0,122,0,0,0,115,0,110,0,101,0,126,0,103,0,0,0,115,0,110,0,105,0,126,0,115,0,0,0,115,0,110,0,117,0,126,0,122,0,0,0,115,0,111,0,97,0,126,0,101,0,0,0,115,0,111,0,103,0,126,0,108,0,0,0,115,0,111,0,108,0,98,0,97,0,0,0,115,0,111,0,110,0,126,0,115,0,0,0,115,0,111,0,117,0,126,0,122,0,0,0,115,0,112,0,98,0,126,0,101,0,0,0,115,0,112,0,107,0,126,0,118,0,0,0,115,0,113,0,106,0,126,0,107,0,0,0,115,0,113,0,109,0,126,0,111,0,0,0,115,0,113,0,113,0,126,0,117,0,0,0,115,0,114,0,97,0,126,0,98,0,0,0,115,0,114,0,101,0,126,0,105,0,0,0,115,0,114,0,107,0,126,0,111,0,0,0,115,0,114,0,113,0,126,0,122,0,0,0,115,0,115,0,97,0,126,0,118,0,0,0,115,0,115,0,120,0,126,0,122,0,0,0,115,0,116,0,97,0,126,0,98,0,0,0,115,0,116,0,100,0,126,0,119,0,0,0,115,0,117,0,97,0,126,0,99,0,0,0,115,0,117,0,105,0,126,0,107,0,0,0,115,0,117,0,108,0,126,0,109,0,0,0,115,0,117,0,113,0,126,0,116,0,0,0,115,0,117,0,118,0,126,0,122,0,0,0,115,0,118,0,97,0,126,0,99,0,0,0,115,0,119,0,102,0,126,0,103,0,0,0,115,0,119,0,105,0,126,0,121,0,0,0,115,0,120,0,98,0,126,0,99,0,0,0,115,0,120,0,107,0,126,0,111,0,0,0,115,0,120,0,114,0,126,0,115,0,0,0,115,0,121,0,97,0,126,0,100,0,0,0,115,0,121,0,107,0,126,0,111,0,0,0,115,0,121,0,114,0,126,0,115,0,0,0,115,0,121,0,119,0,126,0,121,0,0,0,115,0,122,0,97,0,126,0,101,0,0,0,115,0,122,0,118,0,126,0,119,0,0,0,116,0,97,0,97,0,126,0,103,0,0,0,116,0,97,0,105,0,126,0,108,0,0,0,116,0,97,0,110,0,126,0,115,0,0,0,116,0,97,0,117,0,126,0,122,0,0,0,116,0,98,0,99,0,126,0,122,0,0,0,116,0,99,0,97,0,126,0,105,0,0,0,116,0,99,0,107,0,126,0,113,0,0,0,116,0,99,0,115,0,126,0,117,0,0,0,116,0,99,0,119,0,126,0,122,0,0,0,116,0,100,0,97,0,126,0,111,0,0,0,116,0,100,0,113,0,126,0,116,0,0,0,116,0,100,0,120,0,126,0,121,0,0,0,116,0,101,0,97,0,126,0,105,0,0,0,116,0,101,0,109,0,126,0,122,0,0,0,116,0,102,0,110,0,126,0,111,0,0,0,116,0,103,0,97,0,126,0,102,0,0,0,116,0,103,0,104,0,126,0,106,0,0,0,116,0,103,0,110,0,126,0,122,0,0,0,116,0,104,0,100,0,126,0,102,0,0,0,116,0,104,0,104,0,126,0,105,0,0,0,116,0,104,0,107,0,126,0,110,0,0,0,116,0,104,0,112,0,126,0,118,0,0,0,116,0,104,0,119,0,126,0,120,0,0,0,116,0,104,0,121,0,126,0,122,0,0,0,116,0,105,0,100,0,126,0,101,0,0,0,116,0,105,0,102,0,126,0,113,0,0,0,116,0,105,0,115,0,126,0,122,0,0,0,116,0,106,0,105,0,126,0,106,0,0,0,116,0,106,0,108,0,126,0,112,0,0,0,116,0,107,0,97,0,126,0,98,0,0,0,116,0,107,0,100,0,126,0,103,0,0,0,116,0,107,0,108,0,126,0,110,0,0,0,116,0,107,0,112,0,126,0,120,0,0,0,116,0,108,0,97,0,126,0,100,0,0,0,116,0,108,0,102,0,126,0,118,0,0,0,116,0,108,0,120,0,126,0,121,0,0,0,116,0,109,0,97,0,126,0,98,0,0,0,116,0,109,0,97,0,126,0,111,0,0,0,116,0,109,0,108,0,126,0,109,0,0,0,116,0,109,0,113,0,126,0,119,0,0,0,116,0,109,0,121,0,126,0,122,0,0,0,116,0,110,0,97,0,126,0,100,0,0,0,116,0,110,0,101,0,126,0,102,0,0,0,116,0,110,0,103,0,126,0,105,0,0,0,116,0,110,0,107,0,126,0,122,0,0,0,116,0,111,0,98,0,126,0,100,0,0,0,116,0,111,0,102,0,126,0,109,0,0,0,116,0,111,0,111,0,126,0,115,0,0,0,116,0,111,0,117,0,126,0,122,0,0,0,116,0,112,0,101,0,126,0,103,0,0,0,116,0,112,0,105,0,126,0,114,0,0,0,116,0,112,0,116,0,126,0,122,0,0,0,116,0,113,0,108,0,126,0,114,0,0,0,116,0,113,0,116,0,126,0,117,0,0,0,116,0,114,0,97,0,126,0,122,0,0,0,116,0,115,0,97,0,126,0,101,0,0,0,116,0,115,0,103,0,126,0,109,0,0,0,116,0,115,0,112,0,126,0,122,0,0,0,116,0,116,0,97,0,126,0,112,0,0,0,116,0,116,0,101,0,116,0,111,0,0,0,116,0,116,0,114,0,99,0,109,0,0,0,116,0,116,0,114,0,126,0,119,0,0,0,116,0,116,0,119,0,116,0,111,0,0,0,116,0,116,0,121,0,126,0,122,0,0,0,116,0,117,0,97,0,126,0,106,0,0,0,116,0,117,0,108,0,126,0,113,0,0,0,116,0,117,0,115,0,126,0,122,0,0,0,116,0,118,0,100,0,126,0,101,0,0,0,116,0,118,0,107,0,126,0,111,0,0,0,116,0,118,0,115,0,126,0,117,0,0,0,116,0,118,0,119,0,126,0,121,0,0,0,116,0,119,0,97,0,126,0,104,0,0,0,116,0,119,0,107,0,104,0,113,0,0,0,116,0,119,0,108,0,126,0,114,0,0,0,116,0,119,0,116,0,110,0,113,0,0,0,116,0,119,0,116,0,112,0,113,0,0,0,116,0,119,0,116,0,120,0,113,0,0,0,116,0,119,0,116,0,126,0,117,0,0,0,116,0,119,0,119,0,126,0,121,0,0,0,116,0,120,0,97,0,126,0,99,0,0,0,116,0,120,0,103,0,126,0,106,0,0,0,116,0,120,0,109,0,126,0,111,0,0,0,116,0,120,0,113,0,126,0,117,0,0,0,116,0,120,0,120,0,126,0,121,0,0,0,116,0,121,0,104,0,126,0,106,0,0,0,116,0,121,0,114,0,126,0,118,0,0,0,116,0,121,0,120,0,126,0,122,0,0,0,116,0,122,0,108,0,126,0,111,0,0,0,117,0,97,0,109,0,126,0,110,0,0,0,117,0,99,0,99,0,111,0,114,0,0,0,117,0,100,0,105,0,126,0,106,0,0,0,117,0,100,0,108,0,126,0,109,0,0,0,117,0,103,0,49,0,48,0,49,0,0,0,117,0,103,0,49,0,48,0,50,0,0,0,117,0,103,0,49,0,48,0,51,0,0,0,117,0,103,0,49,0,48,0,52,0,0,0,117,0,103,0,49,0,48,0,53,0,0,0,117,0,103,0,49,0,48,0,54,0,0,0,117,0,103,0,49,0,48,0,55,0,0,0,117,0,103,0,49,0,48,0,56,0,0,0,117,0,103,0,49,0,48,0,57,0,0,0,117,0,103,0,49,0,49,0,48,0,0,0,117,0,103,0,49,0,49,0,49,0,0,0,117,0,103,0,49,0,49,0,50,0,0,0,117,0,103,0,49,0,49,0,51,0,0,0,117,0,103,0,49,0,49,0,52,0,0,0,117,0,103,0,49,0,49,0,53,0,0,0,117,0,103,0,49,0,49,0,54,0,0,0,117,0,103,0,49,0,49,0,55,0,0,0,117,0,103,0,49,0,49,0,56,0,0,0,117,0,103,0,49,0,49,0,57,0,0,0,117,0,103,0,49,0,50,0,48,0,0,0,117,0,103,0,49,0,50,0,49,0,0,0,117,0,103,0,49,0,50,0,50,0,0,0,117,0,103,0,49,0,50,0,51,0,0,0,117,0,103,0,49,0,50,0,52,0,0,0,117,0,103,0,49,0,50,0,53,0,0,0,117,0,103,0,49,0,50,0,54,0,0,0,117,0,103,0,50,0,48,0,49,0,0,0,117,0,103,0,50,0,48,0,50,0,0,0,117,0,103,0,50,0,48,0,51,0,0,0,117,0,103,0,50,0,48,0,52,0,0,0,117,0,103,0,50,0,48,0,53,0,0,0,117,0,103,0,50,0,48,0,54,0,0,0,117,0,103,0,50,0,48,0,55,0,0,0,117,0,103,0,50,0,48,0,56,0,0,0,117,0,103,0,50,0,48,0,57,0,0,0,117,0,103,0,50,0,49,0,48,0,0,0,117,0,103,0,50,0,49,0,49,0,0,0,117,0,103,0,50,0,49,0,50,0,0,0,117,0,103,0,50,0,49,0,51,0,0,0,117,0,103,0,50,0,49,0,52,0,0,0,117,0,103,0,50,0,49,0,53,0,0,0,117,0,103,0,50,0,49,0,54,0,0,0,117,0,103,0,50,0,49,0,55,0,0,0,117,0,103,0,50,0,49,0,56,0,0,0,117,0,103,0,50,0,49,0,57,0,0,0,117,0,103,0,50,0,50,0,48,0,0,0,117,0,103,0,50,0,50,0,49,0,0,0,117,0,103,0,50,0,50,0,50,0,0,0,117,0,103,0,50,0,50,0,51,0,0,0,117,0,103,0,50,0,50,0,52,0,0,0,117,0,103,0,50,0,50,0,53,0,0,0,117,0,103,0,50,0,50,0,54,0,0,0,117,0,103,0,50,0,50,0,55,0,0,0,117,0,103,0,50,0,50,0,56,0,0,0,117,0,103,0,50,0,50,0,57,0,0,0,117,0,103,0,50,0,51,0,53,0,0,0,117,0,103,0,50,0,51,0,54,0,0,0,117,0,103,0,50,0,51,0,55,0,0,0,117,0,103,0,51,0,48,0,49,0,0,0,117,0,103,0,51,0,48,0,50,0,0,0,117,0,103,0,51,0,48,0,51,0,0,0,117,0,103,0,51,0,48,0,52,0,0,0,117,0,103,0,51,0,48,0,53,0,0,0,117,0,103,0,51,0,48,0,54,0,0,0,117,0,103,0,51,0,48,0,55,0,0,0,117,0,103,0,51,0,48,0,56,0,0,0,117,0,103,0,51,0,48,0,57,0,0,0,117,0,103,0,51,0,49,0,48,0,0,0,117,0,103,0,51,0,49,0,49,0,0,0,117,0,103,0,51,0,49,0,50,0,0,0,117,0,103,0,51,0,49,0,51,0,0,0,117,0,103,0,51,0,49,0,52,0,0,0,117,0,103,0,51,0,49,0,53,0,0,0,117,0,103,0,51,0,49,0,54,0,0,0,117,0,103,0,51,0,49,0,55,0,0,0,117,0,103,0,51,0,49,0,56,0,0,0,117,0,103,0,51,0,49,0,57,0,0,0,117,0,103,0,51,0,50,0,49,0,0,0,117,0,103,0,51,0,50,0,50,0,0,0,117,0,103,0,51,0,50,0,51,0,0,0,117,0,103,0,51,0,50,0,52,0,0,0,117,0,103,0,51,0,50,0,53,0,0,0,117,0,103,0,51,0,50,0,54,0,0,0,117,0,103,0,51,0,50,0,55,0,0,0,117,0,103,0,51,0,50,0,57,0,0,0,117,0,103,0,51,0,51,0,48,0,0,0,117,0,103,0,51,0,51,0,49,0,0,0,117,0,103,0,51,0,51,0,51,0,0,0,117,0,103,0,51,0,51,0,53,0,0,0,117,0,103,0,51,0,51,0,55,0,0,0,117,0,103,0,52,0,48,0,49,0,0,0,117,0,103,0,52,0,48,0,50,0,0,0,117,0,103,0,52,0,48,0,51,0,0,0,117,0,103,0,52,0,48,0,52,0,0,0,117,0,103,0,52,0,48,0,53,0,0,0,117,0,103,0,52,0,48,0,54,0,0,0,117,0,103,0,52,0,48,0,55,0,0,0,117,0,103,0,52,0,48,0,56,0,0,0,117,0,103,0,52,0,48,0,57,0,0,0,117,0,103,0,52,0,49,0,48,0,0,0,117,0,103,0,52,0,49,0,49,0,0,0,117,0,103,0,52,0,49,0,50,0,0,0,117,0,103,0,52,0,49,0,51,0,0,0,117,0,103,0,52,0,49,0,53,0,0,0,117,0,103,0,52,0,49,0,54,0,0,0,117,0,103,0,52,0,50,0,48,0,0,0,117,0,103,0,52,0,50,0,49,0,0,0,117,0,103,0,52,0,50,0,50,0,0,0,117,0,103,0,52,0,50,0,51,0,0,0,117,0,103,0,52,0,50,0,52,0,0,0,117,0,103,0,52,0,50,0,53,0,0,0,117,0,103,0,52,0,50,0,54,0,0,0,117,0,103,0,52,0,50,0,55,0,0,0,117,0,103,0,52,0,50,0,57,0,0,0,117,0,103,0,52,0,51,0,49,0,0,0,117,0,103,0,52,0,51,0,50,0,0,0,117,0,103,0,52,0,51,0,51,0,0,0,117,0,103,0,52,0,51,0,53,0,0,0,117,0,103,0,97,0,126,0,98,0,0,0,117,0,103,0,110,0,126,0,111,0,0,0,117,0,107,0,103,0,126,0,105,0,0,0,117,0,107,0,112,0,126,0,113,0,0,0,117,0,107,0,117,0,126,0,119,0,0,0,117,0,108,0,97,0,126,0,99,0,0,0,117,0,108,0,101,0,126,0,102,0,0,0,117,0,108,0,107,0,126,0,110,0,0,0,117,0,109,0,97,0,126,0,100,0,0,0,117,0,109,0,109,0,126,0,112,0,0,0,117,0,109,0,114,0,126,0,115,0,0,0,117,0,110,0,109,0,126,0,110,0,0,0,117,0,114,0,97,0,126,0,99,0,0,0,117,0,114,0,101,0,126,0,112,0,0,0,117,0,114,0,116,0,126,0,122,0,0,0,117,0,115,0,104,0,126,0,105,0,0,0,118,0,97,0,101,0,126,0,106,0,0,0,118,0,97,0,108,0,126,0,112,0,0,0,118,0,97,0,114,0,126,0,115,0,0,0,118,0,97,0,117,0,126,0,118,0,0,0,118,0,101,0,97,0,126,0,112,0,0,0,118,0,101,0,99,0,126,0,100,0,0,0,118,0,101,0,108,0,126,0,109,0,0,0,118,0,101,0,111,0,126,0,112,0,0,0,118,0,101,0,114,0,126,0,122,0,0,0,118,0,105,0,99,0,126,0,100,0,0,0,118,0,105,0,102,0,126,0,103,0,0,0,118,0,105,0,115,0,126,0,116,0,0,0,118,0,107,0,106,0,126,0,112,0,0,0,118,0,107,0,116,0,126,0,117,0,0,0,118,0,109,0,97,0,126,0,109,0,0,0,118,0,109,0,112,0,126,0,115,0,0,0,118,0,109,0,117,0,126,0,122,0,0,0,118,0,114,0,115,0,126,0,116,0,0,0,118,0,117,0,109,0,126,0,110,0,0,0,119,0,97,0,97,0,126,0,122,0,0,0,119,0,98,0,97,0,126,0,98,0,0,0,119,0,98,0,101,0,126,0,102,0,0,0,119,0,98,0,104,0,126,0,109,0,0,0,119,0,98,0,112,0,126,0,116,0,0,0,119,0,98,0,118,0,126,0,119,0,0,0,119,0,100,0,106,0,126,0,107,0,0,0,119,0,100,0,116,0,126,0,117,0,0,0,119,0,101,0,99,0,126,0,100,0,0,0,119,0,101,0,103,0,126,0,105,0,0,0,119,0,101,0,109,0,126,0,112,0,0,0,119,0,101,0,114,0,126,0,117,0,0,0,119,0,103,0,97,0,126,0,98,0,0,0,119,0,105,0,98,0,126,0,99,0,0,0,119,0,105,0,101,0,126,0,110,0,0,0,119,0,105,0,117,0,126,0,118,0,0,0,119,0,107,0,97,0,126,0,98,0,0,0,119,0,108,0,103,0,126,0,105,0,0,0,119,0,108,0,107,0,126,0,109,0,0,0,119,0,108,0,114,0,126,0,115,0,0,0,119,0,108,0,117,0,126,0,121,0,0,0,119,0,109,0,97,0,126,0,101,0,0,0,119,0,109,0,103,0,126,0,105,0,0,0,119,0,109,0,109,0,126,0,111,0,0,0,119,0,109,0,115,0,126,0,116,0,0,0,119,0,109,0,119,0,126,0,120,0,0,0,119,0,110,0,98,0,126,0,101,0,0,0,119,0,110,0,109,0,126,0,112,0,0,0,119,0,111,0,97,0,126,0,103,0,0,0,119,0,111,0,109,0,126,0,111,0,0,0,119,0,111,0,114,0,126,0,115,0,0,0,119,0,114,0,103,0,126,0,105,0,0,0,119,0,114,0,107,0,126,0,112,0,0,0,119,0,114,0,114,0,126,0,115,0,0,0,119,0,114,0,117,0,126,0,122,0,0,0,119,0,115,0,114,0,126,0,115,0,0,0,119,0,115,0,117,0,126,0,118,0,0,0,119,0,116,0,104,0,126,0,105,0,0,0,119,0,117,0,97,0,126,0,98,0,0,0,119,0,117,0,108,0,126,0,110,0,0,0,119,0,117,0,116,0,126,0,118,0,0,0,119,0,117,0,120,0,126,0,121,0,0,0,119,0,119,0,97,0,126,0,98,0,0,0,119,0,121,0,109,0,126,0,110,0,0,0,120,0,97,0,97,0,126,0,101,0,0,0,120,0,97,0,105,0,126,0,119,0,0,0,120,0,98,0,98,0,126,0,101,0,0,0,120,0,98,0,105,0,126,0,106,0,0,0,120,0,98,0,109,0,126,0,112,0,0,0,120,0,99,0,98,0,126,0,99,0,0,0,120,0,99,0,103,0,126,0,104,0,0,0,120,0,99,0,108,0,126,0,111,0,0,0,120,0,99,0,116,0,126,0,119,0,0,0,120,0,101,0,108,0,126,0,109,0,0,0,120,0,101,0,114,0,126,0,117,0,0,0,120,0,103,0,97,0,126,0,98,0,0,0,120,0,103,0,102,0,126,0,103,0,0,0,120,0,103,0,108,0,126,0,110,0,0,0,120,0,104,0,99,0,126,0,101,0,0,0,120,0,104,0,116,0,126,0,118,0,0,0,120,0,105,0,114,0,126,0,115,0,0,0,120,0,107,0,97,0,126,0,103,0,0,0,120,0,107,0,105,0,126,0,108,0,0,0,120,0,107,0,110,0,126,0,122,0,0,0,120,0,108,0,97,0,126,0,101,0,0,0,120,0,108,0,110,0,126,0,112,0,0,0,120,0,109,0,97,0,126,0,104,0,0,0,120,0,109,0,106,0,126,0,122,0,0,0,120,0,110,0,97,0,126,0,98,0,0,0,120,0,110,0,103,0,126,0,107,0,0,0,120,0,110,0,109,0,126,0,111,0,0,0,120,0,110,0,113,0,126,0,117,0,0,0,120,0,110,0,121,0,126,0,122,0,0,0,120,0,111,0,99,0,126,0,100,0,0,0,120,0,111,0,109,0,126,0,112,0,0,0,120,0,112,0,97,0,126,0,100,0,0,0,120,0,112,0,102,0,126,0,122,0,0,0,120,0,114,0,97,0,126,0,98,0,0,0,120,0,114,0,100,0,126,0,101,0,0,0,120,0,114,0,109,0,126,0,110,0,0,0,120,0,114,0,116,0,126,0,117,0,0,0,120,0,115,0,97,0,126,0,101,0,0,0,120,0,115,0,104,0,126,0,105,0,0,0,120,0,115,0,109,0,126,0,115,0,0,0,120,0,115,0,117,0,126,0,118,0,0,0,120,0,116,0,97,0,126,0,101,0,0,0,120,0,116,0,103,0,126,0,106,0,0,0,120,0,116,0,108,0,126,0,119,0,0,0,120,0,117,0,97,0,126,0,98,0,0,0,120,0,117,0,108,0,126,0,112,0,0,0,120,0,117,0,116,0,126,0,117,0,0,0,120,0,118,0,110,0,126,0,111,0,0,0,120,0,119,0,99,0,126,0,101,0,0,0,120,0,119,0,106,0,126,0,108,0,0,0,120,0,121,0,97,0,126,0,98,0,0,0,120,0,121,0,106,0,126,0,108,0,0,0,121,0,97,0,97,0,126,0,122,0,0,0,121,0,98,0,97,0,126,0,98,0,0,0,121,0,98,0,104,0,126,0,111,0,0,0,121,0,98,0,120,0,126,0,121,0,0,0,121,0,101,0,105,0,126,0,106,0,0,0,121,0,101,0,114,0,126,0,118,0,0,0,121,0,103,0,108,0,126,0,109,0,0,0,121,0,103,0,114,0,126,0,115,0,0,0,121,0,105,0,102,0,126,0,110,0,0,0,121,0,105,0,112,0,126,0,118,0,0,0,121,0,107,0,107,0,126,0,111,0,0,0,121,0,107,0,116,0,126,0,117,0,0,0,121,0,108,0,97,0,126,0,98,0,0,0,121,0,108,0,108,0,126,0,111,0,0,0,121,0,109,0,98,0,126,0,101,0,0,0,121,0,109,0,103,0,126,0,105,0,0,0,121,0,109,0,107,0,126,0,115,0,0,0,121,0,110,0,100,0,126,0,101,0,0,0,121,0,110,0,107,0,126,0,108,0,0,0,121,0,110,0,110,0,126,0,111,0,0,0,121,0,111,0,107,0,126,0,110,0,0,0,121,0,111,0,120,0,126,0,121,0,0,0,121,0,112,0,97,0,126,0,98,0,0,0,121,0,112,0,103,0,126,0,104,0,0,0,121,0,112,0,109,0,126,0,112,0,0,0,121,0,114,0,97,0,126,0,98,0,0,0,121,0,114,0,107,0,126,0,111,0,0,0,121,0,115,0,99,0,126,0,100,0,0,0,121,0,115,0,108,0,126,0,112,0,0,0,121,0,115,0,114,0,126,0,115,0,0,0,121,0,117,0,97,0,126,0,103,0,0,0,121,0,117,0,105,0,126,0,110,0,0,0,121,0,117,0,112,0,126,0,114,0,0,0,121,0,117,0,119,0,126,0,122,0,0,0,121,0,119,0,113,0,126,0,114,0,0,0,121,0,119,0,116,0,126,0,117,0,0,0,121,0,120,0,108,0,126,0,109,0,0,0,122,0,97,0,97,0,126,0,104,0,0,0,122,0,97,0,106,0,126,0,109,0,0,0,122,0,97,0,111,0,126,0,122,0,0,0,122,0,98,0,116,0,126,0,117,0,0,0,122,0,101,0,103,0,126,0,104,0,0,0,122,0,103,0,97,0,126,0,98,0,0,0,122,0,103,0,109,0,126,0,110,0,0,0,122,0,104,0,119,0,126,0,120,0,0,0,122,0,105,0,97,0,126,0,98,0,0,0,122,0,105,0,107,0,126,0,110,0,0,0,122,0,107,0,97,0,126,0,98,0,0,0,122,0,107,0,103,0,126,0,104,0,0,0,122,0,107,0,110,0,126,0,112,0,0,0,122,0,107,0,116,0,126,0,118,0,0,0,122,0,108,0,109,0,126,0,110,0,0,0,122,0,109,0,97,0,126,0,122,0,0,0,122,0,110,0,100,0,126,0,101,0,0,0,122,0,111,0,113,0,126,0,115,0,0,0,122,0,112,0,97,0,126,0,122,0,0,0,122,0,114,0,110,0,126,0,112,0,0,0,122,0,115,0,107,0,126,0,108,0,0,0,122,0,116,0,108,0,126,0,110,0,0,0,122,0,116,0,112,0,126,0,113,0,0,0,122,0,116,0,115,0,126,0,117,0,0,0,122,0,116,0,120,0,126,0,121,0,0,0,122,0,117,0,109,0,126,0,110,0,0,0,116,0,114,0,56,0,48,0,126,0,49,0,0,0,99,0,104,0,122,0,103,0,126,0,104,0,0,0,112,0,116,0,95,0,42,0,95,0,42,0,0,0,103,0,114,0,105,0,116,0,97,0,108,0,0,0,97,0,111,0,49,0,57,0,57,0,48,0,0,0,97,0,114,0,95,0,42,0,95,0,42,0,0,0,101,0,110,0,95,0,42,0,95,0,42,0,0,0,101,0,115,0,95,0,42,0,95,0,42,0,0,0,105,0,100,0,98,0,97,0,126,0,98,0,0,0,105,0,116,0,55,0,55,0,126,0,56,0,0,0,109,0,100,0,115,0,110,0,126,0,111,0,0,0,110,0,103,0,107,0,100,0,126,0,101,0,0,0,114,0,117,0,107,0,107,0,126,0,108,0,0,0,99,0,111,0,112,0,116,0,105,0,99,0,0,0,110,0,100,0,121,0,117,0,107,0,97,0,0,0,112,0,105,0,110,0,121,0,105,0,110,0,0,0,66,0,114,0,97,0,104,0,126,0,105,0,0,0,72,0,97,0,110,0,115,0,126,0,116,0,0,0,76,0,105,0,110,0,97,0,126,0,98,0,0,0,81,0,97,0,97,0,97,0,126,0,102,0,0,0,81,0,97,0,97,0,106,0,126,0,112,0,0,0,81,0,97,0,97,0,113,0,126,0,122,0,0,0,81,0,97,0,98,0,97,0,126,0,120,0,0,0,97,0,99,0,122,0,122,0,122,0,122,0,0,0,97,0,100,0,48,0,50,0,126,0,56,0,0,0,97,0,100,0,122,0,122,0,122,0,122,0,0,0,97,0,101,0,122,0,122,0,122,0,122,0,0,0,97,0,102,0,122,0,122,0,122,0,122,0,0,0,97,0,103,0,48,0,51,0,126,0,56,0,0,0,97,0,103,0,49,0,48,0,126,0,49,0,0,0,97,0,103,0,122,0,122,0,122,0,122,0,0,0,97,0,105,0,122,0,122,0,122,0,122,0,0,0,97,0,108,0,48,0,49,0,126,0,57,0,0,0,97,0,108,0,49,0,48,0,126,0,50,0,0,0,97,0,108,0,107,0,97,0,126,0,99,0,0,0,97,0,108,0,112,0,113,0,126,0,114,0,0,0,97,0,108,0,122,0,122,0,122,0,122,0,0,0,97,0,109,0,122,0,122,0,122,0,122,0,0,0,97,0,111,0,122,0,122,0,122,0,122,0,0,0,97,0,113,0,122,0,122,0,122,0,122,0,0,0,97,0,114,0,97,0,110,0,101,0,115,0,0,0,97,0,114,0,122,0,122,0,122,0,122,0,0,0,97,0,115,0,97,0,110,0,116,0,101,0,0,0,97,0,115,0,122,0,122,0,122,0,122,0,0,0,97,0,116,0,122,0,122,0,122,0,122,0,0,0,97,0,117,0,118,0,101,0,114,0,110,0,0,0,97,0,117,0,122,0,122,0,122,0,122,0,0,0,97,0,119,0,122,0,122,0,122,0,122,0,0,0,97,0,120,0,122,0,122,0,122,0,122,0,0,0,97,0,122,0,122,0,122,0,122,0,122,0,0,0,98,0,97,0,48,0,49,0,126,0,57,0,0,0,98,0,97,0,122,0,122,0,122,0,122,0,0,0,98,0,98,0,48,0,49,0,126,0,57,0,0,0,98,0,98,0,49,0,48,0,126,0,49,0,0,0,98,0,98,0,122,0,122,0,122,0,122,0,0,0,98,0,100,0,48,0,49,0,126,0,57,0,0,0,98,0,100,0,49,0,48,0,126,0,57,0,0,0,98,0,100,0,50,0,48,0,126,0,57,0,0,0,98,0,100,0,51,0,48,0,126,0,57,0,0,0,98,0,100,0,52,0,48,0,126,0,57,0,0,0,98,0,100,0,53,0,48,0,126,0,57,0,0,0,98,0,100,0,54,0,48,0,126,0,52,0,0,0,98,0,100,0,122,0,122,0,122,0,122,0,0,0,98,0,101,0,122,0,122,0,122,0,122,0,0,0,98,0,102,0,48,0,49,0,126,0,57,0,0,0,98,0,102,0,49,0,48,0,126,0,51,0,0,0,98,0,102,0,122,0,122,0,122,0,122,0,0,0,98,0,103,0,48,0,49,0,126,0,57,0,0,0,98,0,103,0,49,0,48,0,126,0,57,0,0,0,98,0,103,0,50,0,48,0,126,0,56,0,0,0,98,0,103,0,122,0,122,0,122,0,122,0,0,0,98,0,104,0,49,0,51,0,126,0,53,0,0,0,98,0,104,0,122,0,122,0,122,0,122,0,0,0,98,0,105,0,98,0,108,0,126,0,109,0,0,0,98,0,105,0,122,0,122,0,122,0,122,0,0,0,98,0,106,0,97,0,107,0,126,0,108,0,0,0,98,0,106,0,122,0,122,0,122,0,122,0,0,0,98,0,108,0,122,0,122,0,122,0,122,0,0,0,98,0,109,0,122,0,122,0,122,0,122,0,0,0,98,0,110,0,122,0,122,0,122,0,122,0,0,0,98,0,111,0,122,0,122,0,122,0,122,0,0,0,98,0,113,0,122,0,122,0,122,0,122,0,0,0,98,0,114,0,97,0,108,0,126,0,109,0,0,0,98,0,114,0,109,0,115,0,126,0,116,0,0,0,98,0,114,0,112,0,97,0,126,0,98,0,0,0,98,0,114,0,114,0,110,0,126,0,111,0,0,0,98,0,114,0,114,0,114,0,126,0,115,0,0,0,98,0,114,0,122,0,122,0,122,0,122,0,0,0,98,0,115,0,110,0,111,0,126,0,112,0,0,0,98,0,115,0,122,0,122,0,122,0,122,0,0,0,98,0,116,0,49,0,49,0,126,0,53,0,0,0,98,0,116,0,50,0,49,0,126,0,52,0,0,0,98,0,116,0,51,0,49,0,126,0,52,0,0,0,98,0,116,0,52,0,49,0,126,0,53,0,0,0,98,0,116,0,122,0,122,0,122,0,122,0,0,0,98,0,118,0,122,0,122,0,122,0,122,0,0,0,98,0,119,0,115,0,111,0,126,0,112,0,0,0,98,0,119,0,122,0,122,0,122,0,122,0,0,0,98,0,121,0,122,0,122,0,122,0,122,0,0,0,98,0,122,0,122,0,122,0,122,0,122,0,0,0,99,0,97,0,110,0,115,0,126,0,117,0,0,0,99,0,97,0,122,0,122,0,122,0,122,0,0,0,99,0,99,0,122,0,122,0,122,0,122,0,0,0,99,0,100,0,104,0,107,0,126,0,108,0,0,0,99,0,100,0,109,0,110,0,126,0,111,0,0,0,99,0,100,0,122,0,122,0,122,0,122,0,0,0,99,0,102,0,122,0,122,0,122,0,122,0,0,0,99,0,103,0,49,0,49,0,126,0,54,0,0,0,99,0,103,0,122,0,122,0,122,0,122,0,0,0,99,0,104,0,115,0,103,0,126,0,104,0,0,0,99,0,104,0,122,0,122,0,122,0,122,0,0,0,99,0,105,0,48,0,49,0,126,0,57,0,0,0,99,0,105,0,49,0,48,0,126,0,57,0,0,0,99,0,105,0,115,0,97,0,117,0,112,0,0,0,99,0,105,0,122,0,122,0,122,0,122,0,0,0,99,0,107,0,122,0,122,0,122,0,122,0,0,0,99,0,108,0,122,0,122,0,122,0,122,0,0,0,99,0,109,0,122,0,122,0,122,0,122,0,0,0,99,0,110,0,49,0,49,0,126,0,53,0,0,0,99,0,110,0,50,0,49,0,126,0,51,0,0,0,99,0,110,0,51,0,49,0,126,0,55,0,0,0,99,0,110,0,52,0,49,0,126,0,54,0,0,0,99,0,110,0,53,0,48,0,126,0,52,0,0,0,99,0,110,0,54,0,49,0,126,0,53,0,0,0,99,0,110,0,57,0,49,0,126,0,50,0,0,0,99,0,110,0,104,0,97,0,126,0,98,0,0,0,99,0,110,0,104,0,107,0,126,0,108,0,0,0,99,0,110,0,115,0,99,0,126,0,100,0,0,0,99,0,110,0,122,0,122,0,122,0,122,0,0,0,99,0,111,0,122,0,122,0,122,0,122,0,0,0,99,0,112,0,122,0,122,0,122,0,122,0,0,0,99,0,114,0,101,0,105,0,115,0,115,0,0,0,99,0,114,0,122,0,122,0,122,0,122,0,0,0,99,0,117,0,48,0,51,0,126,0,57,0,0,0,99,0,117,0,49,0,48,0,126,0,54,0,0,0,99,0,117,0,122,0,122,0,122,0,122,0,0,0,99,0,118,0,115,0,108,0,126,0,109,0,0,0,99,0,118,0,122,0,122,0,122,0,122,0,0,0,99,0,119,0,122,0,122,0,122,0,122,0,0,0,99,0,120,0,122,0,122,0,122,0,122,0,0,0,99,0,121,0,48,0,49,0,126,0,54,0,0,0,99,0,121,0,122,0,122,0,122,0,122,0,0,0,99,0,122,0,122,0,122,0,122,0,122,0,0,0,100,0,97,0,106,0,110,0,107,0,111,0,0,0,100,0,101,0,122,0,122,0,122,0,122,0,0,0,100,0,103,0,122,0,122,0,122,0,122,0,0,0,100,0,106,0,97,0,114,0,126,0,115,0,0,0,100,0,106,0,100,0,105,0,126,0,106,0,0,0,100,0,106,0,122,0,122,0,122,0,122,0,0,0,100,0,107,0,56,0,49,0,126,0,53,0,0,0,100,0,107,0,122,0,122,0,122,0,122,0,0,0,100,0,109,0,48,0,50,0,126,0,57,0,0,0,100,0,109,0,49,0,48,0,126,0,49,0,0,0,100,0,109,0,122,0,122,0,122,0,122,0,0,0,100,0,111,0,48,0,49,0,126,0,57,0,0,0,100,0,111,0,49,0,48,0,126,0,57,0,0,0,100,0,111,0,50,0,48,0,126,0,57,0,0,0,100,0,111,0,51,0,48,0,126,0,57,0,0,0,100,0,111,0,52,0,48,0,126,0,50,0,0,0,100,0,111,0,122,0,122,0,122,0,122,0,0,0,100,0,122,0,48,0,49,0,126,0,57,0,0,0,100,0,122,0,49,0,48,0,126,0,57,0,0,0,100,0,122,0,50,0,48,0,126,0,57,0,0,0,100,0,122,0,51,0,48,0,126,0,57,0,0,0,100,0,122,0,52,0,48,0,126,0,56,0,0,0,100,0,122,0,122,0,122,0,122,0,122,0,0,0,101,0,97,0,122,0,122,0,122,0,122,0,0,0,101,0,99,0,115,0,100,0,126,0,101,0,0,0,101,0,99,0,122,0,122,0,122,0,122,0,0,0,101,0,101,0,122,0,122,0,122,0,122,0,0,0,101,0,103,0,122,0,122,0,122,0,122,0,0,0,101,0,104,0,122,0,122,0,122,0,122,0,0,0,101,0,110,0,95,0,49,0,53,0,48,0,0,0,101,0,114,0,122,0,122,0,122,0,122,0,0,0,101,0,115,0,95,0,52,0,49,0,57,0,0,0,101,0,115,0,97,0,114,0,126,0,115,0,0,0,101,0,115,0,99,0,97,0,126,0,99,0,0,0,101,0,115,0,99,0,108,0,126,0,111,0,0,0,101,0,115,0,99,0,114,0,126,0,117,0,0,0,101,0,115,0,109,0,99,0,126,0,100,0,0,0,101,0,115,0,116,0,101,0,126,0,102,0,0,0,101,0,115,0,122,0,122,0,122,0,122,0,0,0,101,0,116,0,115,0,110,0,126,0,111,0,0,0,101,0,116,0,122,0,122,0,122,0,122,0,0,0,102,0,105,0,48,0,50,0,126,0,57,0,0,0,102,0,105,0,49,0,48,0,126,0,57,0,0,0,102,0,105,0,122,0,122,0,122,0,122,0,0,0,102,0,106,0,48,0,49,0,126,0,57,0,0,0,102,0,106,0,49,0,48,0,126,0,52,0,0,0,102,0,106,0,122,0,122,0,122,0,122,0,0,0,102,0,107,0,122,0,122,0,122,0,122,0,0,0,102,0,109,0,122,0,122,0,122,0,122,0,0,0,102,0,111,0,110,0,105,0,112,0,97,0,0,0,102,0,111,0,110,0,117,0,112,0,97,0,0,0,102,0,111,0,122,0,122,0,122,0,122,0,0,0,102,0,114,0,48,0,49,0,126,0,57,0,0,0,102,0,114,0,49,0,48,0,126,0,57,0,0,0,102,0,114,0,50,0,49,0,126,0,57,0,0,0,102,0,114,0,50,0,97,0,126,0,98,0,0,0,102,0,114,0,51,0,48,0,126,0,57,0,0,0,102,0,114,0,52,0,48,0,126,0,57,0,0,0,102,0,114,0,53,0,48,0,126,0,57,0,0,0,102,0,114,0,54,0,48,0,126,0,57,0,0,0,102,0,114,0,55,0,48,0,126,0,52,0,0,0,102,0,114,0,55,0,54,0,126,0,57,0,0,0,102,0,114,0,56,0,48,0,126,0,57,0,0,0,102,0,114,0,57,0,48,0,126,0,53,0,0,0,102,0,114,0,122,0,122,0,122,0,122,0,0,0,103,0,97,0,115,0,99,0,111,0,110,0,0,0,103,0,97,0,122,0,122,0,122,0,122,0,0,0,103,0,98,0,122,0,122,0,122,0,122,0,0,0,103,0,100,0,48,0,49,0,126,0,54,0,0,0,103,0,100,0,122,0,122,0,122,0,122,0,0,0,103,0,101,0,115,0,106,0,126,0,107,0,0,0,103,0,101,0,122,0,122,0,122,0,122,0,0,0,103,0,102,0,122,0,122,0,122,0,122,0,0,0,103,0,103,0,122,0,122,0,122,0,122,0,0,0,103,0,104,0,122,0,122,0,122,0,122,0,0,0,103,0,105,0,122,0,122,0,122,0,122,0,0,0,103,0,108,0,122,0,122,0,122,0,122,0,0,0,103,0,109,0,122,0,122,0,122,0,122,0,0,0,103,0,110,0,98,0,101,0,126,0,102,0,0,0,103,0,110,0,107,0,97,0,126,0,98,0,0,0,103,0,110,0,107,0,100,0,126,0,101,0,0,0,103,0,110,0,107,0,110,0,126,0,111,0,0,0,103,0,110,0,109,0,99,0,126,0,100,0,0,0,103,0,110,0,109,0,108,0,126,0,109,0,0,0,103,0,110,0,122,0,122,0,122,0,122,0,0,0,103,0,112,0,122,0,122,0,122,0,122,0,0,0,103,0,113,0,122,0,122,0,122,0,122,0,0,0,103,0,114,0,48,0,51,0,126,0,55,0,0,0,103,0,114,0,49,0,49,0,126,0,55,0,0,0,103,0,114,0,50,0,49,0,126,0,52,0,0,0,103,0,114,0,51,0,49,0,126,0,52,0,0,0,103,0,114,0,52,0,49,0,126,0,52,0,0,0,103,0,114,0,53,0,49,0,126,0,57,0,0,0,103,0,114,0,54,0,49,0,126,0,52,0,0,0,103,0,114,0,55,0,49,0,126,0,51,0,0,0,103,0,114,0,56,0,49,0,126,0,53,0,0,0,103,0,114,0,57,0,49,0,126,0,52,0,0,0,103,0,114,0,122,0,122,0,122,0,122,0,0,0,103,0,115,0,122,0,122,0,122,0,122,0,0,0,103,0,116,0,48,0,49,0,126,0,57,0,0,0,103,0,116,0,49,0,48,0,126,0,57,0,0,0,103,0,116,0,50,0,48,0,126,0,50,0,0,0,103,0,116,0,122,0,122,0,122,0,122,0,0,0,103,0,117,0,122,0,122,0,122,0,122,0,0,0,103,0,119,0,98,0,108,0,126,0,109,0,0,0,103,0,119,0,122,0,122,0,122,0,122,0,0,0,103,0,121,0,122,0,122,0,122,0,122,0,0,0,104,0,101,0,98,0,114,0,101,0,119,0,0,0,104,0,101,0,112,0,108,0,111,0,99,0,0,0,104,0,107,0,122,0,122,0,122,0,122,0,0,0,104,0,109,0,122,0,122,0,122,0,122,0,0,0,104,0,110,0,99,0,108,0,126,0,109,0,0,0,104,0,110,0,122,0,122,0,122,0,122,0,0,0,104,0,114,0,48,0,49,0,126,0,57,0,0,0,104,0,114,0,49,0,48,0,126,0,57,0,0,0,104,0,114,0,50,0,48,0,126,0,49,0,0,0,104,0,114,0,122,0,122,0,122,0,122,0,0,0,104,0,116,0,110,0,100,0,126,0,101,0,0,0,104,0,116,0,115,0,100,0,126,0,101,0,0,0,104,0,116,0,122,0,122,0,122,0,122,0,0,0,104,0,117,0,115,0,110,0,126,0,111,0,0,0,104,0,117,0,115,0,115,0,126,0,116,0,0,0,104,0,117,0,122,0,122,0,122,0,122,0,0,0,105,0,99,0,122,0,122,0,122,0,122,0,0,0,105,0,100,0,106,0,97,0,126,0,98,0,0,0,105,0,100,0,107,0,97,0,126,0,98,0,0,0,105,0,100,0,107,0,114,0,126,0,117,0,0,0,105,0,100,0,110,0,116,0,126,0,117,0,0,0,105,0,100,0,112,0,97,0,126,0,98,0,0,0,105,0,100,0,115,0,97,0,126,0,98,0,0,0,105,0,100,0,115,0,108,0,126,0,110,0,0,0,105,0,100,0,115,0,114,0,126,0,117,0,0,0,105,0,100,0,122,0,122,0,122,0,122,0,0,0,105,0,101,0,99,0,110,0,126,0,111,0,0,0,105,0,101,0,109,0,110,0,126,0,111,0,0,0,105,0,101,0,119,0,119,0,126,0,120,0,0,0,105,0,101,0,122,0,122,0,122,0,122,0,0,0,105,0,108,0,122,0,122,0,122,0,122,0,0,0,105,0,109,0,122,0,122,0,122,0,122,0,0,0,105,0,110,0,97,0,114,0,126,0,115,0,0,0,105,0,110,0,100,0,105,0,97,0,110,0,0,0,105,0,110,0,122,0,122,0,122,0,122,0,0,0,105,0,111,0,122,0,122,0,122,0,122,0,0,0,105,0,113,0,98,0,97,0,126,0,98,0,0,0,105,0,113,0,122,0,122,0,122,0,122,0,0,0,105,0,114,0,48,0,48,0,126,0,57,0,0,0,105,0,114,0,49,0,48,0,126,0,57,0,0,0,105,0,114,0,50,0,48,0,126,0,57,0,0,0,105,0,114,0,51,0,49,0,126,0,50,0,0,0,105,0,114,0,122,0,122,0,122,0,122,0,0,0,105,0,115,0,122,0,122,0,122,0,122,0,0,0,105,0,116,0,97,0,112,0,126,0,114,0,0,0,105,0,116,0,98,0,110,0,126,0,111,0,0,0,105,0,116,0,98,0,114,0,126,0,116,0,0,0,105,0,116,0,99,0,97,0,126,0,98,0,0,0,105,0,116,0,99,0,110,0,126,0,111,0,0,0,105,0,116,0,99,0,114,0,126,0,116,0,0,0,105,0,116,0,108,0,116,0,126,0,117,0,0,0,105,0,116,0,109,0,98,0,126,0,99,0,0,0,105,0,116,0,109,0,110,0,126,0,111,0,0,0,105,0,116,0,109,0,115,0,126,0,116,0,0,0,105,0,116,0,112,0,99,0,126,0,101,0,0,0,105,0,116,0,112,0,110,0,126,0,111,0,0,0,105,0,116,0,112,0,116,0,126,0,118,0,0,0,105,0,116,0,114,0,109,0,126,0,111,0,0,0,105,0,116,0,115,0,111,0,126,0,112,0,0,0,105,0,116,0,115,0,114,0,126,0,115,0,0,0,105,0,116,0,115,0,117,0,126,0,118,0,0,0,105,0,116,0,116,0,110,0,126,0,112,0,0,0,105,0,116,0,116,0,114,0,126,0,115,0,0,0,105,0,116,0,118,0,97,0,126,0,99,0,0,0,105,0,116,0,122,0,122,0,122,0,122,0,0,0,106,0,101,0,122,0,122,0,122,0,122,0,0,0,106,0,109,0,48,0,49,0,126,0,57,0,0,0,106,0,109,0,49,0,48,0,126,0,52,0,0,0,106,0,109,0,122,0,122,0,122,0,122,0,0,0,106,0,111,0,122,0,122,0,122,0,122,0,0,0,106,0,112,0,48,0,49,0,126,0,57,0,0,0,106,0,112,0,49,0,48,0,126,0,57,0,0,0,106,0,112,0,50,0,48,0,126,0,57,0,0,0,106,0,112,0,51,0,48,0,126,0,57,0,0,0,106,0,112,0,52,0,48,0,126,0,55,0,0,0,106,0,112,0,122,0,122,0,122,0,122,0,0,0,107,0,101,0,48,0,49,0,126,0,57,0,0,0,107,0,101,0,49,0,48,0,126,0,57,0,0,0,107,0,101,0,50,0,48,0,126,0,57,0,0,0,107,0,101,0,51,0,48,0,126,0,57,0,0,0,107,0,101,0,52,0,48,0,126,0,55,0,0,0,107,0,101,0,122,0,122,0,122,0,122,0,0,0,107,0,103,0,122,0,122,0,122,0,122,0,0,0,107,0,104,0,49,0,48,0,126,0,57,0,0,0,107,0,104,0,50,0,48,0,126,0,53,0,0,0,107,0,104,0,122,0,122,0,122,0,122,0,0,0,107,0,105,0,122,0,122,0,122,0,122,0,0,0,107,0,109,0,122,0,122,0,122,0,122,0,0,0,107,0,110,0,48,0,49,0,126,0,57,0,0,0,107,0,110,0,49,0,48,0,126,0,51,0,0,0,107,0,110,0,122,0,122,0,122,0,122,0,0,0,107,0,112,0,48,0,49,0,126,0,57,0,0,0,107,0,112,0,49,0,51,0,126,0,52,0,0,0,107,0,112,0,122,0,122,0,122,0,122,0,0,0,107,0,114,0,50,0,54,0,126,0,57,0,0,0,107,0,114,0,51,0,48,0,126,0,49,0,0,0,107,0,114,0,52,0,49,0,126,0,57,0,0,0,107,0,114,0,122,0,122,0,122,0,122,0,0,0,107,0,119,0,122,0,122,0,122,0,122,0,0,0,107,0,121,0,122,0,122,0,122,0,122,0,0,0,107,0,122,0,122,0,122,0,122,0,122,0,0,0,108,0,97,0,98,0,107,0,126,0,108,0,0,0,108,0,97,0,122,0,122,0,122,0,122,0,0,0,108,0,98,0,98,0,104,0,126,0,105,0,0,0,108,0,98,0,122,0,122,0,122,0,122,0,0,0,108,0,99,0,48,0,49,0,126,0,51,0,0,0,108,0,99,0,48,0,53,0,126,0,56,0,0,0,108,0,99,0,49,0,48,0,126,0,50,0,0,0,108,0,99,0,122,0,122,0,122,0,122,0,0,0,108,0,105,0,48,0,49,0,126,0,57,0,0,0,108,0,105,0,49,0,48,0,126,0,49,0,0,0,108,0,105,0,122,0,122,0,122,0,122,0,0,0,108,0,107,0,49,0,49,0,126,0,51,0,0,0,108,0,107,0,50,0,49,0,126,0,51,0,0,0,108,0,107,0,51,0,49,0,126,0,51,0,0,0,108,0,107,0,52,0,49,0,126,0,53,0,0,0,108,0,107,0,53,0,49,0,126,0,51,0,0,0,108,0,107,0,54,0,49,0,126,0,50,0,0,0,108,0,107,0,55,0,49,0,126,0,50,0,0,0,108,0,107,0,56,0,49,0,126,0,50,0,0,0,108,0,107,0,57,0,49,0,126,0,50,0,0,0,108,0,107,0,122,0,122,0,122,0,122,0,0,0,108,0,114,0,122,0,122,0,122,0,122,0,0,0,108,0,115,0,122,0,122,0,122,0,122,0,0,0,108,0,116,0,48,0,49,0,126,0,57,0,0,0,108,0,116,0,49,0,48,0,126,0,57,0,0,0,108,0,116,0,50,0,48,0,126,0,57,0,0,0,108,0,116,0,51,0,48,0,126,0,57,0,0,0,108,0,116,0,52,0,48,0,126,0,57,0,0,0,108,0,116,0,53,0,48,0,126,0,57,0,0,0,108,0,116,0,122,0,122,0,122,0,122,0,0,0,108,0,117,0,122,0,122,0,122,0,122,0,0,0,108,0,118,0,122,0,122,0,122,0,122,0,0,0,108,0,121,0,109,0,105,0,126,0,106,0,0,0,108,0,121,0,122,0,122,0,122,0,122,0,0,0,109,0,97,0,48,0,49,0,126,0,57,0,0,0,109,0,97,0,49,0,48,0,126,0,50,0,0,0,109,0,97,0,49,0,51,0,126,0,54,0,0,0,109,0,97,0,122,0,122,0,122,0,122,0,0,0,109,0,99,0,115,0,111,0,126,0,112,0,0,0,109,0,99,0,122,0,122,0,122,0,122,0,0,0,109,0,100,0,98,0,114,0,126,0,115,0,0,0,109,0,100,0,99,0,108,0,126,0,109,0,0,0,109,0,100,0,99,0,114,0,126,0,117,0,0,0,109,0,100,0,122,0,122,0,122,0,122,0,0,0,109,0,101,0,48,0,49,0,126,0,57,0,0,0,109,0,101,0,49,0,48,0,126,0,57,0,0,0,109,0,101,0,50,0,48,0,126,0,52,0,0,0,109,0,101,0,122,0,122,0,122,0,122,0,0,0,109,0,102,0,122,0,122,0,122,0,122,0,0,0,109,0,103,0,122,0,122,0,122,0,122,0,0,0,109,0,104,0,122,0,122,0,122,0,122,0,0,0,109,0,107,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,49,0,48,0,126,0,57,0,0,0,109,0,107,0,50,0,48,0,126,0,57,0,0,0,109,0,107,0,51,0,48,0,126,0,57,0,0,0,109,0,107,0,52,0,48,0,126,0,57,0,0,0,109,0,107,0,53,0,48,0,126,0,57,0,0,0,109,0,107,0,54,0,48,0,126,0,57,0,0,0,109,0,107,0,55,0,48,0,126,0,57,0,0,0,109,0,107,0,56,0,48,0,126,0,53,0,0,0,109,0,107,0,122,0,122,0,122,0,122,0,0,0,109,0,108,0,122,0,122,0,122,0,122,0,0,0,109,0,109,0,48,0,49,0,126,0,55,0,0,0,109,0,109,0,49,0,49,0,126,0,56,0,0,0,109,0,109,0,122,0,122,0,122,0,122,0,0,0,109,0,110,0,122,0,122,0,122,0,122,0,0,0,109,0,111,0,122,0,122,0,122,0,122,0,0,0,109,0,112,0,122,0,122,0,122,0,122,0,0,0,109,0,113,0,122,0,122,0,122,0,122,0,0,0,109,0,114,0,48,0,49,0,126,0,57,0,0,0,109,0,114,0,49,0,48,0,126,0,53,0,0,0,109,0,114,0,122,0,122,0,122,0,122,0,0,0,109,0,115,0,122,0,122,0,122,0,122,0,0,0,109,0,116,0,48,0,49,0,126,0,57,0,0,0,109,0,116,0,49,0,48,0,126,0,57,0,0,0,109,0,116,0,50,0,48,0,126,0,57,0,0,0,109,0,116,0,51,0,48,0,126,0,57,0,0,0,109,0,116,0,52,0,48,0,126,0,57,0,0,0,109,0,116,0,53,0,48,0,126,0,57,0,0,0,109,0,116,0,54,0,48,0,126,0,56,0,0,0,109,0,116,0,122,0,122,0,122,0,122,0,0,0,109,0,117,0,122,0,122,0,122,0,122,0,0,0,109,0,118,0,48,0,48,0,126,0,53,0,0,0,109,0,118,0,48,0,55,0,126,0,56,0,0,0,109,0,118,0,49,0,50,0,126,0,52,0,0,0,109,0,118,0,50,0,51,0,126,0,57,0,0,0,109,0,118,0,122,0,122,0,122,0,122,0,0,0,109,0,119,0,107,0,114,0,126,0,115,0,0,0,109,0,119,0,109,0,103,0,126,0,104,0,0,0,109,0,119,0,122,0,122,0,122,0,122,0,0,0,109,0,120,0,122,0,122,0,122,0,122,0,0,0,109,0,121,0,48,0,49,0,126,0,57,0,0,0,109,0,121,0,49,0,48,0,126,0,54,0,0,0,109,0,121,0,122,0,122,0,122,0,122,0,0,0,109,0,122,0,122,0,122,0,122,0,122,0,0,0,110,0,97,0,111,0,115,0,126,0,116,0,0,0,110,0,97,0,122,0,122,0,122,0,122,0,0,0,110,0,99,0,122,0,122,0,122,0,122,0,0,0,110,0,101,0,122,0,122,0,122,0,122,0,0,0,110,0,102,0,122,0,122,0,122,0,122,0,0,0,110,0,103,0,107,0,110,0,126,0,111,0,0,0,110,0,103,0,122,0,122,0,122,0,122,0,0,0,110,0,105,0,99,0,97,0,114,0,100,0,0,0,110,0,105,0,109,0,115,0,126,0,116,0,0,0,110,0,105,0,122,0,122,0,122,0,122,0,0,0,110,0,108,0,122,0,122,0,122,0,122,0,0,0,110,0,111,0,48,0,49,0,126,0,50,0,0,0,110,0,111,0,48,0,52,0,126,0,57,0,0,0,110,0,111,0,49,0,54,0,126,0,55,0,0,0,110,0,111,0,50,0,49,0,126,0,50,0,0,0,110,0,111,0,122,0,122,0,122,0,122,0,0,0,110,0,112,0,112,0,49,0,126,0,55,0,0,0,110,0,112,0,122,0,122,0,122,0,122,0,0,0,110,0,114,0,48,0,49,0,126,0,57,0,0,0,110,0,114,0,49,0,48,0,126,0,52,0,0,0,110,0,114,0,122,0,122,0,122,0,122,0,0,0,110,0,117,0,122,0,122,0,122,0,122,0,0,0,110,0,122,0,122,0,122,0,122,0,122,0,0,0,111,0,109,0,122,0,122,0,122,0,122,0,0,0,112,0,97,0,109,0,97,0,107,0,97,0,0,0,112,0,97,0,122,0,122,0,122,0,122,0,0,0,112,0,101,0,122,0,122,0,122,0,122,0,0,0,112,0,102,0,122,0,122,0,122,0,122,0,0,0,112,0,103,0,122,0,122,0,122,0,122,0,0,0,112,0,104,0,48,0,48,0,126,0,51,0,0,0,112,0,104,0,48,0,53,0,126,0,57,0,0,0,112,0,104,0,49,0,48,0,126,0,53,0,0,0,112,0,104,0,52,0,48,0,126,0,49,0,0,0,112,0,104,0,122,0,122,0,122,0,122,0,0,0,112,0,107,0,122,0,122,0,122,0,122,0,0,0,112,0,108,0,115,0,107,0,126,0,108,0,0,0,112,0,108,0,122,0,122,0,122,0,122,0,0,0,112,0,109,0,122,0,122,0,122,0,122,0,0,0,112,0,110,0,122,0,122,0,122,0,122,0,0,0,112,0,114,0,122,0,122,0,122,0,122,0,0,0,112,0,115,0,122,0,122,0,122,0,122,0,0,0,112,0,116,0,48,0,49,0,126,0,57,0,0,0,112,0,116,0,49,0,48,0,126,0,56,0,0,0,112,0,116,0,122,0,122,0,122,0,122,0,0,0,112,0,119,0,122,0,122,0,122,0,122,0,0,0,112,0,121,0,49,0,48,0,126,0,54,0,0,0,112,0,121,0,122,0,122,0,122,0,122,0,0,0,113,0,97,0,122,0,122,0,122,0,122,0,0,0,114,0,101,0,122,0,122,0,122,0,122,0,0,0,114,0,111,0,99,0,115,0,126,0,116,0,0,0,114,0,111,0,116,0,108,0,126,0,109,0,0,0,114,0,111,0,122,0,122,0,122,0,122,0,0,0,114,0,115,0,48,0,48,0,126,0,57,0,0,0,114,0,115,0,49,0,48,0,126,0,57,0,0,0,114,0,115,0,50,0,48,0,126,0,57,0,0,0,114,0,115,0,122,0,122,0,122,0,122,0,0,0,114,0,117,0,107,0,98,0,126,0,99,0,0,0,114,0,117,0,122,0,122,0,122,0,122,0,0,0,114,0,119,0,48,0,49,0,126,0,53,0,0,0,114,0,119,0,122,0,122,0,122,0,122,0,0,0,115,0,97,0,48,0,49,0,126,0,57,0,0,0,115,0,97,0,49,0,48,0,126,0,50,0,0,0,115,0,97,0,122,0,122,0,122,0,122,0,0,0,115,0,98,0,109,0,107,0,126,0,108,0,0,0,115,0,98,0,122,0,122,0,122,0,122,0,0,0,115,0,99,0,48,0,49,0,126,0,57,0,0,0,115,0,99,0,49,0,48,0,126,0,57,0,0,0,115,0,99,0,50,0,48,0,126,0,55,0,0,0,115,0,99,0,111,0,117,0,115,0,101,0,0,0,115,0,99,0,122,0,122,0,122,0,122,0,0,0,115,0,100,0,122,0,122,0,122,0,122,0,0,0,115,0,101,0,97,0,98,0,126,0,99,0,0,0,115,0,101,0,122,0,122,0,122,0,122,0,0,0,115,0,103,0,48,0,49,0,126,0,53,0,0,0,115,0,103,0,122,0,122,0,122,0,122,0,0,0,115,0,104,0,122,0,122,0,122,0,122,0,0,0,115,0,105,0,109,0,112,0,108,0,101,0,0,0,115,0,105,0,122,0,122,0,122,0,122,0,0,0,115,0,106,0,122,0,122,0,122,0,122,0,0,0,115,0,107,0,122,0,122,0,122,0,122,0,0,0,115,0,108,0,122,0,122,0,122,0,122,0,0,0,115,0,109,0,48,0,49,0,126,0,57,0,0,0,115,0,109,0,122,0,122,0,122,0,122,0,0,0,115,0,110,0,107,0,100,0,126,0,101,0,0,0,115,0,110,0,122,0,122,0,122,0,122,0,0,0,115,0,111,0,122,0,122,0,122,0,122,0,0,0,115,0,114,0,122,0,122,0,122,0,122,0,0,0,115,0,115,0,122,0,122,0,122,0,122,0,0,0,115,0,116,0,48,0,49,0,126,0,54,0,0,0,115,0,116,0,122,0,122,0,122,0,122,0,0,0,115,0,118,0,122,0,122,0,122,0,122,0,0,0,115,0,120,0,122,0,122,0,122,0,122,0,0,0,115,0,121,0,104,0,108,0,126,0,109,0,0,0,115,0,121,0,122,0,122,0,122,0,122,0,0,0,115,0,122,0,122,0,122,0,122,0,122,0,0,0,116,0,97,0,114,0,97,0,115,0,107,0,0,0,116,0,97,0,122,0,122,0,122,0,122,0,0,0,116,0,99,0,122,0,122,0,122,0,122,0,0,0,116,0,100,0,122,0,122,0,122,0,122,0,0,0,116,0,102,0,122,0,122,0,122,0,122,0,0,0,116,0,103,0,122,0,122,0,122,0,122,0,0,0,116,0,104,0,49,0,48,0,126,0,57,0,0,0,116,0,104,0,50,0,48,0,126,0,55,0,0,0,116,0,104,0,51,0,48,0,126,0,57,0,0,0,116,0,104,0,52,0,48,0,126,0,57,0,0,0,116,0,104,0,53,0,48,0,126,0,56,0,0,0,116,0,104,0,54,0,48,0,126,0,55,0,0,0,116,0,104,0,55,0,48,0,126,0,55,0,0,0,116,0,104,0,56,0,48,0,126,0,54,0,0,0,116,0,104,0,57,0,48,0,126,0,54,0,0,0,116,0,104,0,122,0,122,0,122,0,122,0,0,0,116,0,106,0,122,0,122,0,122,0,122,0,0,0,116,0,107,0,122,0,122,0,122,0,122,0,0,0,116,0,108,0,122,0,122,0,122,0,122,0,0,0,116,0,109,0,122,0,122,0,122,0,122,0,0,0,116,0,110,0,49,0,49,0,126,0,52,0,0,0,116,0,110,0,50,0,49,0,126,0,51,0,0,0,116,0,110,0,51,0,49,0,126,0,52,0,0,0,116,0,110,0,52,0,49,0,126,0,51,0,0,0,116,0,110,0,53,0,49,0,126,0,51,0,0,0,116,0,110,0,55,0,49,0,126,0,51,0,0,0,116,0,110,0,56,0,49,0,126,0,51,0,0,0,116,0,110,0,122,0,122,0,122,0,122,0,0,0,116,0,111,0,48,0,49,0,126,0,53,0,0,0,116,0,111,0,122,0,122,0,122,0,122,0,0,0,116,0,114,0,48,0,49,0,126,0,57,0,0,0,116,0,114,0,49,0,48,0,126,0,57,0,0,0,116,0,114,0,50,0,48,0,126,0,57,0,0,0,116,0,114,0,51,0,48,0,126,0,57,0,0,0,116,0,114,0,52,0,48,0,126,0,57,0,0,0,116,0,114,0,53,0,48,0,126,0,57,0,0,0,116,0,114,0,54,0,48,0,126,0,57,0,0,0,116,0,114,0,55,0,48,0,126,0,57,0,0,0,116,0,114,0,122,0,122,0,122,0,122,0,0,0,116,0,116,0,122,0,122,0,122,0,122,0,0,0,116,0,118,0,122,0,122,0,122,0,122,0,0,0,116,0,119,0,122,0,122,0,122,0,122,0,0,0,116,0,122,0,48,0,49,0,126,0,57,0,0,0,116,0,122,0,49,0,48,0,126,0,57,0,0,0,116,0,122,0,50,0,48,0,126,0,57,0,0,0,116,0,122,0,51,0,48,0,126,0,49,0,0,0,116,0,122,0,122,0,122,0,122,0,122,0,0,0,117,0,97,0,122,0,122,0,122,0,122,0,0,0,117,0,99,0,114,0,99,0,111,0,114,0,0,0,117,0,103,0,122,0,122,0,122,0,122,0,0,0,117,0,108,0,115,0,116,0,101,0,114,0,0,0,117,0,109,0,122,0,122,0,122,0,122,0,0,0,117,0,110,0,105,0,102,0,111,0,110,0,0,0,117,0,115,0,97,0,107,0,126,0,108,0,0,0,117,0,115,0,109,0,100,0,126,0,101,0,0,0,117,0,115,0,109,0,110,0,126,0,111,0,0,0,117,0,115,0,109,0,115,0,126,0,116,0,0,0,117,0,115,0,110,0,99,0,126,0,101,0,0,0,117,0,115,0,115,0,99,0,126,0,100,0,0,0,117,0,115,0,122,0,122,0,122,0,122,0,0,0,117,0,121,0,114,0,110,0,126,0,111,0,0,0,117,0,121,0,122,0,122,0,122,0,122,0,0,0,117,0,122,0,122,0,122,0,122,0,122,0,0,0,118,0,97,0,122,0,122,0,122,0,122,0,0,0,118,0,99,0,48,0,49,0,126,0,54,0,0,0,118,0,99,0,122,0,122,0,122,0,122,0,0,0,118,0,101,0,122,0,122,0,122,0,122,0,0,0,118,0,103,0,122,0,122,0,122,0,122,0,0,0,118,0,105,0,122,0,122,0,122,0,122,0,0,0,118,0,110,0,48,0,49,0,126,0,55,0,0,0,118,0,110,0,49,0,51,0,126,0,52,0,0,0,118,0,110,0,50,0,48,0,126,0,57,0,0,0,118,0,110,0,51,0,48,0,126,0,55,0,0,0,118,0,110,0,52,0,48,0,126,0,49,0,0,0,118,0,110,0,52,0,51,0,126,0,55,0,0,0,118,0,110,0,53,0,48,0,126,0,57,0,0,0,118,0,110,0,54,0,54,0,126,0,57,0,0,0,118,0,110,0,55,0,48,0,126,0,51,0,0,0,118,0,110,0,122,0,122,0,122,0,122,0,0,0,118,0,117,0,122,0,122,0,122,0,122,0,0,0,119,0,102,0,122,0,122,0,122,0,122,0,0,0,119,0,115,0,122,0,122,0,122,0,122,0,0,0,120,0,107,0,122,0,122,0,122,0,122,0,0,0,121,0,101,0,122,0,122,0,122,0,122,0,0,0,121,0,116,0,122,0,122,0,122,0,122,0,0,0,122,0,97,0,122,0,122,0,122,0,122,0,0,0,122,0,109,0,48,0,49,0,126,0,57,0,0,0,122,0,109,0,122,0,122,0,122,0,122,0,0,0,122,0,119,0,109,0,118,0,126,0,119,0,0,0,122,0,119,0,122,0,122,0,122,0,122,0,0,0,117,0,122,0,95,0,76,0,97,0,116,0,110,0,0,0,117,0,122,0,95,0,67,0,121,0,114,0,108,0,0,0,117,0,122,0,95,0,65,0,114,0,97,0,98,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,0,0,98,0,110,0,95,0,66,0,101,0,110,0,103,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,0,0,99,0,104,0,105,0,110,0,101,0,115,0,101,0,0,0,106,0,97,0,95,0,74,0,112,0,97,0,110,0,0,0,97,0,109,0,95,0,69,0,116,0,104,0,105,0,0,0,116,0,101,0,95,0,84,0,101,0,108,0,117,0,0,0,101,0,101,0,50,0,56,0,51,0,126,0,52,0,0,0,98,0,111,0,95,0,84,0,105,0,98,0,116,0,0,0,121,0,105,0,95,0,72,0,101,0,98,0,114,0,0,0,109,0,121,0,95,0,77,0,121,0,109,0,114,0,0,0,107,0,111,0,95,0,75,0,111,0,114,0,101,0,0,0,106,0,97,0,95,0,72,0,114,0,107,0,116,0,0,0,114,0,117,0,95,0,67,0,121,0,114,0,108,0,0,0,106,0,97,0,95,0,75,0,97,0,110,0,97,0,0,0,107,0,110,0,95,0,75,0,110,0,100,0,97,0,0,0,116,0,97,0,95,0,84,0,97,0,109,0,108,0,0,0,98,0,109,0,95,0,78,0,107,0,111,0,111,0,0,0,107,0,97,0,95,0,71,0,101,0,111,0,114,0,0,0,108,0,111,0,95,0,76,0,97,0,111,0,111,0,0,0,115,0,105,0,95,0,83,0,105,0,110,0,104,0,0,0,109,0,108,0,95,0,77,0,108,0,121,0,109,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,0,0,106,0,97,0,95,0,72,0,105,0,114,0,97,0,0,0,109,0,110,0,95,0,77,0,111,0,110,0,103,0,0,0,111,0,114,0,95,0,79,0,114,0,121,0,97,0,0,0,101,0,110,0,95,0,83,0,104,0,97,0,119,0,0,0,107,0,111,0,95,0,72,0,97,0,110,0,103,0,0,0,107,0,111,0,95,0,74,0,97,0,109,0,111,0,0,0,101,0,110,0,95,0,68,0,115,0,114,0,116,0,0,0,102,0,102,0,95,0,65,0,100,0,108,0,109,0,0,0,103,0,117,0,95,0,71,0,117,0,106,0,114,0,0,0,104,0,121,0,95,0,65,0,114,0,109,0,110,0,0,0,107,0,109,0,95,0,75,0,104,0,109,0,114,0,0,0,107,0,111,0,95,0,72,0,97,0,110,0,105,0,0,0,112,0,97,0,95,0,71,0,117,0,114,0,117,0,0,0,115,0,100,0,95,0,75,0,104,0,111,0,106,0,0,0,115,0,100,0,95,0,83,0,105,0,110,0,100,0,0,0,112,0,101,0,114,0,115,0,105,0,97,0,110,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,105,0,0,0,108,0,118,0,48,0,49,0,55,0,126,0,57,0,0,0,99,0,117,0,95,0,71,0,108,0,97,0,103,0,0,0,97,0,98,0,108,0,49,0,57,0,52,0,51,0,0,0,98,0,97,0,117,0,100,0,100,0,104,0,97,0,0,0,109,0,101,0,116,0,101,0,108,0,107,0,111,0,0,0,101,0,101,0,55,0,57,0,50,0,126,0,51,0,0,0,97,0,102,0,98,0,97,0,108,0,126,0,109,0,0,0,97,0,107,0,117,0,97,0,112,0,101,0,109,0,0,0,97,0,108,0,97,0,108,0,99,0,57,0,55,0,0,0,97,0,111,0,99,0,110,0,110,0,126,0,111,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,0,0,97,0,114,0,95,0,76,0,97,0,116,0,110,0,0,0,97,0,114,0,101,0,118,0,101,0,108,0,97,0,0,0,97,0,114,0,101,0,118,0,109,0,100,0,97,0,0,0,97,0,114,0,107,0,97,0,105,0,107,0,97,0,0,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,0,0,97,0,122,0,95,0,67,0,121,0,114,0,108,0,0,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,0,0,97,0,122,0,115,0,97,0,107,0,126,0,108,0,0,0,97,0,122,0,122,0,97,0,113,0,126,0,114,0,0,0,98,0,97,0,108,0,97,0,110,0,107,0,97,0,0,0,98,0,102,0,98,0,97,0,108,0,126,0,110,0,0,0,98,0,102,0,107,0,111,0,115,0,126,0,116,0,0,0,98,0,110,0,95,0,76,0,97,0,116,0,110,0,0,0,98,0,111,0,104,0,111,0,114,0,105,0,99,0,0,0,98,0,115,0,95,0,67,0,121,0,114,0,108,0,0,0,99,0,122,0,49,0,48,0,49,0,126,0,57,0,0,0,99,0,122,0,49,0,48,0,97,0,126,0,102,0,0,0,99,0,122,0,49,0,49,0,48,0,126,0,57,0,0,0,99,0,122,0,49,0,50,0,48,0,126,0,50,0,0,0,99,0,122,0,50,0,48,0,49,0,126,0,57,0,0,0,99,0,122,0,50,0,48,0,97,0,126,0,99,0,0,0,99,0,122,0,51,0,49,0,49,0,126,0,55,0,0,0,99,0,122,0,51,0,50,0,49,0,126,0,55,0,0,0,99,0,122,0,52,0,49,0,49,0,126,0,51,0,0,0,99,0,122,0,52,0,50,0,49,0,126,0,55,0,0,0,99,0,122,0,53,0,49,0,49,0,126,0,52,0,0,0,99,0,122,0,53,0,50,0,49,0,126,0,53,0,0,0,99,0,122,0,53,0,51,0,49,0,126,0,52,0,0,0,99,0,122,0,54,0,49,0,49,0,126,0,53,0,0,0,99,0,122,0,54,0,50,0,49,0,126,0,55,0,0,0,99,0,122,0,54,0,51,0,49,0,126,0,53,0,0,0,99,0,122,0,54,0,52,0,49,0,126,0,55,0,0,0,99,0,122,0,55,0,49,0,49,0,126,0,53,0,0,0,99,0,122,0,55,0,50,0,49,0,126,0,52,0,0,0,99,0,122,0,56,0,48,0,49,0,126,0,54,0,0,0,101,0,101,0,49,0,52,0,49,0,126,0,50,0,0,0,101,0,101,0,52,0,51,0,48,0,126,0,50,0,0,0,101,0,101,0,52,0,52,0,49,0,126,0,50,0,0,0,101,0,109,0,111,0,100,0,101,0,110,0,103,0,0,0,101,0,110,0,95,0,42,0,95,0,71,0,66,0,0,0,102,0,102,0,95,0,65,0,114,0,97,0,98,0,0,0,102,0,111,0,110,0,110,0,97,0,112,0,97,0,0,0,102,0,114,0,57,0,55,0,49,0,126,0,52,0,0,0,103,0,98,0,97,0,98,0,99,0,126,0,101,0,0,0,103,0,98,0,98,0,100,0,102,0,126,0,103,0,0,0,103,0,98,0,98,0,114,0,99,0,126,0,100,0,0,0,103,0,98,0,100,0,110,0,99,0,126,0,100,0,0,0,103,0,98,0,101,0,110,0,102,0,126,0,103,0,0,0,103,0,98,0,104,0,97,0,108,0,126,0,109,0,0,0,103,0,98,0,115,0,108,0,102,0,126,0,103,0,0,0,103,0,98,0,115,0,111,0,108,0,126,0,109,0,0,0,103,0,98,0,115,0,116,0,103,0,126,0,104,0,0,0,103,0,98,0,115,0,116,0,115,0,126,0,116,0,0,0,103,0,114,0,99,0,108,0,97,0,115,0,115,0,0,0,103,0,114,0,109,0,105,0,115,0,116,0,114,0,0,0,103,0,117,0,95,0,76,0,97,0,116,0,110,0,0,0,104,0,97,0,95,0,65,0,114,0,97,0,98,0,0,0,104,0,101,0,112,0,98,0,117,0,114,0,110,0,0,0,104,0,105,0,95,0,68,0,101,0,118,0,97,0,0,0,105,0,115,0,115,0,107,0,102,0,126,0,103,0,0,0,105,0,116,0,105,0,104,0,97,0,115,0,97,0,0,0,105,0,117,0,95,0,76,0,97,0,116,0,110,0,0,0,106,0,97,0,95,0,72,0,97,0,110,0,105,0,0,0,106,0,97,0,95,0,76,0,97,0,116,0,110,0,0,0,107,0,107,0,95,0,65,0,114,0,97,0,98,0,0,0,107,0,110,0,95,0,76,0,97,0,116,0,110,0,0,0,107,0,115,0,95,0,68,0,101,0,118,0,97,0,0,0,107,0,117,0,95,0,65,0,114,0,97,0,98,0,0,0,107,0,121,0,95,0,65,0,114,0,97,0,98,0,0,0,107,0,121,0,95,0,76,0,97,0,116,0,110,0,0,0,108,0,97,0,117,0,107,0,105,0,107,0,97,0,0,0,108,0,101,0,109,0,111,0,115,0,105,0,110,0,0,0,108,0,118,0,48,0,48,0,51,0,126,0,54,0,0,0,108,0,118,0,48,0,48,0,56,0,126,0,57,0,0,0,108,0,118,0,48,0,49,0,50,0,126,0,52,0,0,0,108,0,118,0,48,0,49,0,53,0,126,0,54,0,0,0,108,0,118,0,48,0,50,0,48,0,126,0,49,0,0,0,108,0,118,0,48,0,50,0,51,0,126,0,53,0,0,0,108,0,118,0,48,0,50,0,55,0,126,0,57,0,0,0,108,0,118,0,48,0,51,0,48,0,126,0,50,0,0,0,108,0,118,0,48,0,51,0,52,0,126,0,57,0,0,0,108,0,118,0,48,0,52,0,49,0,126,0,50,0,0,0,108,0,118,0,48,0,52,0,51,0,126,0,54,0,0,0,108,0,118,0,48,0,52,0,56,0,126,0,57,0,0,0,108,0,118,0,48,0,53,0,56,0,126,0,57,0,0,0,108,0,118,0,48,0,54,0,48,0,126,0,49,0,0,0,108,0,118,0,48,0,54,0,51,0,126,0,54,0,0,0,108,0,118,0,48,0,54,0,55,0,126,0,56,0,0,0,108,0,118,0,48,0,55,0,48,0,126,0,50,0,0,0,108,0,118,0,48,0,55,0,52,0,126,0,54,0,0,0,108,0,118,0,48,0,55,0,56,0,126,0,57,0,0,0,108,0,118,0,48,0,56,0,49,0,126,0,54,0,0,0,108,0,118,0,48,0,56,0,55,0,126,0,57,0,0,0,108,0,118,0,48,0,57,0,50,0,126,0,51,0,0,0,108,0,118,0,48,0,57,0,53,0,126,0,54,0,0,0,108,0,118,0,49,0,48,0,49,0,126,0,50,0,0,0,108,0,118,0,49,0,48,0,51,0,126,0,53,0,0,0,108,0,118,0,49,0,48,0,55,0,126,0,57,0,0,0,108,0,118,0,49,0,49,0,49,0,126,0,51,0,0,0,109,0,97,0,98,0,101,0,114,0,126,0,115,0,0,0,109,0,97,0,103,0,117,0,101,0,126,0,102,0,0,0,109,0,97,0,107,0,104,0,110,0,126,0,111,0,0,0,109,0,97,0,115,0,105,0,107,0,126,0,108,0,0,0,109,0,104,0,97,0,108,0,107,0,126,0,108,0,0,0,109,0,107,0,49,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,50,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,50,0,49,0,48,0,126,0,49,0,0,0,109,0,107,0,51,0,48,0,51,0,126,0,52,0,0,0,109,0,107,0,51,0,48,0,55,0,126,0,56,0,0,0,109,0,107,0,51,0,49,0,48,0,126,0,51,0,0,0,109,0,107,0,52,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,53,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,54,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,55,0,48,0,49,0,126,0,54,0,0,0,109,0,107,0,56,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,56,0,49,0,48,0,126,0,55,0,0,0,109,0,108,0,95,0,65,0,114,0,97,0,98,0,0,0,109,0,108,0,95,0,76,0,97,0,116,0,110,0,0,0,109,0,110,0,48,0,52,0,54,0,126,0,55,0,0,0,109,0,110,0,48,0,54,0,51,0,126,0,53,0,0,0,109,0,111,0,110,0,111,0,116,0,111,0,110,0,0,0,109,0,114,0,95,0,68,0,101,0,118,0,97,0,0,0,109,0,114,0,95,0,76,0,97,0,116,0,110,0,0,0,109,0,115,0,95,0,65,0,114,0,97,0,98,0,0,0,110,0,101,0,95,0,68,0,101,0,118,0,97,0,0,0,110,0,108,0,98,0,113,0,49,0,126,0,51,0,0,0,112,0,97,0,95,0,65,0,114,0,97,0,98,0,0,0,112,0,101,0,108,0,97,0,108,0,126,0,109,0,0,0,112,0,103,0,109,0,112,0,108,0,126,0,109,0,0,0,112,0,104,0,98,0,117,0,107,0,126,0,108,0,0,0,112,0,104,0,99,0,97,0,109,0,126,0,110,0,0,0,112,0,104,0,99,0,97,0,115,0,126,0,116,0,0,0,112,0,104,0,112,0,97,0,109,0,126,0,110,0,0,0,112,0,111,0,108,0,121,0,116,0,111,0,110,0,0,0,112,0,114,0,111,0,118,0,101,0,110,0,99,0,0,0,112,0,115,0,95,0,65,0,114,0,97,0,98,0,0,0,112,0,115,0,106,0,101,0,109,0,126,0,110,0,0,0,112,0,119,0,50,0,50,0,54,0,126,0,56,0,0,0,115,0,100,0,95,0,65,0,114,0,97,0,98,0,0,0,115,0,100,0,95,0,68,0,101,0,118,0,97,0,0,0,115,0,105,0,48,0,48,0,49,0,126,0,57,0,0,0,115,0,105,0,48,0,49,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,50,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,51,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,52,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,53,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,54,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,55,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,56,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,57,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,48,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,49,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,50,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,51,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,52,0,48,0,126,0,52,0,0,0,115,0,105,0,49,0,52,0,54,0,126,0,57,0,0,0,115,0,105,0,49,0,53,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,54,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,55,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,56,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,57,0,48,0,126,0,57,0,0,0,115,0,105,0,50,0,48,0,48,0,126,0,57,0,0,0,115,0,105,0,50,0,49,0,48,0,126,0,51,0,0,0,115,0,111,0,95,0,65,0,114,0,97,0,98,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,0,0,115,0,117,0,114,0,115,0,105,0,108,0,118,0,0,0,115,0,117,0,116,0,115,0,105,0,108,0,118,0,0,0,115,0,119,0,95,0,65,0,114,0,97,0,98,0,0,0,116,0,97,0,95,0,76,0,97,0,116,0,110,0,0,0,116,0,101,0,95,0,76,0,97,0,116,0,110,0,0,0,116,0,103,0,95,0,65,0,114,0,97,0,98,0,0,0,116,0,105,0,95,0,69,0,116,0,104,0,105,0,0,0,116,0,107,0,95,0,76,0,97,0,116,0,110,0,0,0,117,0,103,0,49,0,48,0,49,0,126,0,57,0,0,0,117,0,103,0,49,0,49,0,48,0,126,0,57,0,0,0,117,0,103,0,49,0,50,0,48,0,126,0,54,0,0,0,117,0,103,0,50,0,48,0,49,0,126,0,57,0,0,0,117,0,103,0,50,0,49,0,48,0,126,0,57,0,0,0,117,0,103,0,50,0,50,0,48,0,126,0,57,0,0,0,117,0,103,0,50,0,51,0,48,0,126,0,55,0,0,0,117,0,103,0,51,0,48,0,49,0,126,0,57,0,0,0,117,0,103,0,51,0,49,0,48,0,126,0,57,0,0,0,117,0,103,0,51,0,50,0,48,0,126,0,57,0,0,0,117,0,103,0,51,0,51,0,48,0,126,0,55,0,0,0,117,0,103,0,52,0,48,0,49,0,126,0,57,0,0,0,117,0,103,0,52,0,49,0,48,0,126,0,57,0,0,0,117,0,103,0,52,0,50,0,48,0,126,0,57,0,0,0,117,0,103,0,52,0,51,0,48,0,126,0,53,0,0,0,117,0,103,0,95,0,67,0,121,0,114,0,108,0,0,0,117,0,114,0,95,0,65,0,114,0,97,0,98,0,0,0,118,0,97,0,105,0,100,0,105,0,107,0,97,0,0,0,119,0,111,0,95,0,65,0,114,0,97,0,98,0,0,0,122,0,97,0,95,0,76,0,97,0,116,0,110,0,0,0,122,0,104,0,95,0,76,0,97,0,116,0,110,0,0,0,115,0,97,0,116,0,95,0,68,0,101,0,118,0,97,0,0,0,115,0,104,0,105,0,95,0,76,0,97,0,116,0,110,0,0,0,109,0,110,0,105,0,95,0,77,0,116,0,101,0,105,0,0,0,100,0,121,0,111,0,95,0,65,0,114,0,97,0,98,0,0,0,105,0,106,0,101,0,107,0,97,0,118,0,115,0,107,0,0,0,98,0,97,0,107,0,117,0,49,0,57,0,50,0,54,0,0,0,98,0,111,0,114,0,110,0,104,0,111,0,108,0,109,0,0,0,116,0,111,0,110,0,103,0,121,0,111,0,110,0,103,0,0,0,120,0,115,0,105,0,115,0,116,0,101,0,109,0,111,0,0,0,107,0,111,0,99,0,105,0,101,0,119,0,105,0,101,0,0,0,49,0,54,0,48,0,54,0,110,0,105,0,99,0,116,0,0,0,49,0,54,0,57,0,52,0,97,0,99,0,97,0,100,0,0,0,49,0,57,0,53,0,57,0,97,0,99,0,97,0,100,0,0,0,98,0,97,0,108,0,95,0,76,0,97,0,116,0,110,0,0,0,98,0,97,0,115,0,105,0,99,0,101,0,110,0,103,0,0,0,98,0,105,0,115,0,99,0,97,0,121,0,97,0,110,0,0,0,98,0,108,0,116,0,95,0,76,0,97,0,116,0,110,0,0,0,98,0,117,0,100,0,100,0,104,0,105,0,115,0,116,0,0,0,98,0,121,0,110,0,95,0,76,0,97,0,116,0,110,0,0,0,99,0,111,0,108,0,98,0,49,0,57,0,52,0,53,0,0,0,100,0,106,0,101,0,95,0,65,0,114,0,97,0,98,0,0,0,101,0,116,0,104,0,105,0,111,0,112,0,105,0,99,0,0,0,102,0,111,0,110,0,107,0,105,0,114,0,115,0,104,0,0,0,102,0,111,0,110,0,120,0,115,0,97,0,109,0,112,0,0,0,104,0,111,0,103,0,110,0,111,0,114,0,115,0,107,0,0,0,104,0,115,0,105,0,115,0,116,0,101,0,109,0,111,0,0,0,105,0,118,0,97,0,110,0,99,0,104,0,111,0,118,0,0,0,106,0,97,0,112,0,97,0,110,0,101,0,115,0,101,0,0,0,106,0,121,0,117,0,116,0,112,0,105,0,110,0,103,0,0,0,108,0,101,0,110,0,103,0,97,0,100,0,111,0,99,0,0,0,108,0,117,0,110,0,97,0,49,0,57,0,49,0,56,0,0,0,109,0,97,0,115,0,115,0,45,0,116,0,111,0,110,0,0,0,110,0,101,0,119,0,102,0,111,0,117,0,110,0,100,0,0,0,111,0,120,0,101,0,110,0,100,0,105,0,99,0,116,0,0,0,112,0,101,0,116,0,114,0,49,0,55,0,48,0,56,0,0,0,115,0,99,0,111,0,116,0,108,0,97,0,110,0,100,0,0,0,115,0,112,0,97,0,110,0,103,0,108,0,105,0,115,0,0,0,115,0,117,0,114,0,109,0,105,0,114,0,97,0,110,0,0,0,115,0,121,0,110,0,110,0,101,0,106,0,121,0,108,0,0,0,116,0,117,0,110,0,117,0,109,0,105,0,105,0,116,0,0,0,118,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,0,0,118,0,97,0,108,0,101,0,110,0,99,0,105,0,97,0,0,0,118,0,97,0,108,0,108,0,97,0,100,0,101,0,114,0,0,0,118,0,101,0,99,0,100,0,114,0,117,0,107,0,97,0,0,0,118,0,105,0,118,0,97,0,114,0,97,0,117,0,112,0,0,0,119,0,97,0,100,0,101,0,103,0,105,0,108,0,101,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,115,0,0,0,103,0,114,0,101,0,103,0,111,0,114,0,105,0,97,0,110,0,0,0,108,0,117,0,110,0,105,0,115,0,111,0,108,0,97,0,114,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,42,0,0,0,97,0,114,0,101,0,97,0,45,0,97,0,99,0,114,0,101,0,0,0,108,0,105,0,103,0,104,0,116,0,45,0,108,0,117,0,120,0,0,0,109,0,97,0,115,0,115,0,45,0,103,0,114,0,97,0,109,0,0,0,112,0,97,0,104,0,97,0,119,0,104,0,50,0,126,0,52,0,0,0,119,0,101,0,101,0,107,0,79,0,102,0,89,0,101,0,97,0,114,0,0,0,119,0,101,0,101,0,107,0,79,0,102,0,68,0,97,0,116,0,101,0,0,0,101,0,110,0,95,0,42,0,95,0,36,0,101,0,110,0,85,0,83,0,0,0,109,0,97,0,115,0,115,0,45,0,112,0,111,0,117,0,110,0,100,0,0,0,109,0,97,0,115,0,115,0,45,0,115,0,116,0,111,0,110,0,101,0,0,0,97,0,114,0,101,0,97,0,45,0,100,0,117,0,110,0,97,0,109,0,0,0,109,0,97,0,115,0,115,0,45,0,99,0,97,0,114,0,97,0,116,0,0,0,109,0,97,0,115,0,115,0,45,0,103,0,114,0,97,0,105,0,110,0,0,0,109,0,97,0,115,0,115,0,45,0,111,0,117,0,110,0,99,0,101,0,0,0,109,0,97,0,115,0,115,0,45,0,116,0,111,0,110,0,110,0,101,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,119,0,97,0,116,0,116,0,0,0,115,0,112,0,101,0,101,0,100,0,45,0,107,0,110,0,111,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,112,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,77,0,79,0,0,0,119,0,101,0,101,0,107,0,79,0,102,0,77,0,111,0,110,0,116,0,104,0,0,0,101,0,110,0,95,0,42,0,95,0,36,0,33,0,101,0,110,0,85,0,83,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,121,0,97,0,114,0,100,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,98,0,105,0,116,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,101,0,109,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,102,0,111,0,111,0,116,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,105,0,110,0,99,0,104,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,109,0,105,0,108,0,101,0,0,0,108,0,105,0,103,0,104,0,116,0,45,0,108,0,117,0,109,0,101,0,110,0,0,0,109,0,97,0,115,0,115,0,45,0,100,0,97,0,108,0,116,0,111,0,110,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,100,0,114,0,97,0,109,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,100,0,114,0,111,0,112,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,112,0,105,0,110,0,116,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,45,0,116,0,98,0,108,0,97,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,112,0,105,0,110,0,99,0,104,0,0,0,97,0,110,0,103,0,108,0,101,0,45,0,100,0,101,0,103,0,114,0,101,0,101,0,0,0,97,0,114,0,101,0,97,0,45,0,104,0,101,0,99,0,116,0,97,0,114,0,101,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,113,0,117,0,97,0,114,0,116,0,0,0,97,0,110,0,103,0,108,0,101,0,45,0,114,0,97,0,100,0,105,0,97,0,110,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,98,0,121,0,116,0,101,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,100,0,97,0,121,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,111,0,104,0,109,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,106,0,111,0,117,0,108,0,101,0,0,0,102,0,111,0,114,0,99,0,101,0,45,0,110,0,101,0,119,0,116,0,111,0,110,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,100,0,111,0,116,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,45,0,114,0,103,0,115,0,97,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,112,0,111,0,105,0,110,0,116,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,98,0,97,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,108,0,105,0,116,0,101,0,114,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,45,0,99,0,105,0,118,0,105,0,108,0,0,0,97,0,114,0,95,0,42,0,95,0,36,0,109,0,97,0,103,0,104,0,114,0,101,0,98,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,105,0,116,0,101,0,109,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,109,0,111,0,108,0,101,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,104,0,111,0,117,0,114,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,119,0,101,0,101,0,107,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,121,0,101,0,97,0,114,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,118,0,111,0,108,0,116,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,102,0,97,0,116,0,104,0,111,0,109,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,112,0,97,0,114,0,115,0,101,0,99,0,0,0,108,0,105,0,103,0,104,0,116,0,45,0,99,0,97,0,110,0,100,0,101,0,108,0,97,0,0,0,109,0,97,0,115,0,115,0,45,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,111,0,102,0,104,0,103,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,98,0,97,0,114,0,114,0,101,0,108,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,98,0,117,0,115,0,104,0,101,0,108,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,106,0,105,0,103,0,103,0,101,0,114,0,0,0,119,0,101,0,101,0,107,0,79,0,102,0,73,0,110,0,116,0,101,0,114,0,118,0,97,0,108,0,0,0,97,0,114,0,95,0,42,0,95,0,36,0,33,0,109,0,97,0,103,0,104,0,114,0,101,0,98,0,0,0,101,0,115,0,95,0,42,0,95,0,36,0,97,0,109,0,101,0,114,0,105,0,99,0,97,0,115,0,0,0,112,0,116,0,95,0,42,0,95,0,36,0,97,0,109,0,101,0,114,0,105,0,99,0,97,0,115,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,36,0,99,0,110,0,115,0,97,0,114,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,107,0,97,0,114,0,97,0,116,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,111,0,110,0,116,0,104,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,99,0,97,0,108,0,111,0,114,0,105,0,101,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,112,0,105,0,120,0,101,0,108,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,102,0,117,0,114,0,108,0,111,0,110,0,103,0,0,0,109,0,97,0,115,0,115,0,45,0,109,0,105,0,99,0,114,0,111,0,103,0,114,0,97,0,109,0,0,0,109,0,97,0,115,0,115,0,45,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,103,0,105,0,103,0,97,0,119,0,97,0,116,0,116,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,107,0,105,0,108,0,111,0,119,0,97,0,116,0,116,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,109,0,101,0,103,0,97,0,119,0,97,0,116,0,116,0,0,0,101,0,115,0,95,0,42,0,95,0,36,0,33,0,97,0,109,0,101,0,114,0,105,0,99,0,97,0,115,0,0,0,112,0,116,0,95,0,42,0,95,0,36,0,33,0,97,0,109,0,101,0,114,0,105,0,99,0,97,0,115,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,36,0,33,0,99,0,110,0,115,0,97,0,114,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,105,0,110,0,117,0,116,0,101,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,103,0,105,0,103,0,97,0,98,0,105,0,116,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,107,0,105,0,108,0,111,0,98,0,105,0,116,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,109,0,101,0,103,0,97,0,98,0,105,0,116,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,116,0,101,0,114,0,97,0,98,0,105,0,116,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,100,0,101,0,99,0,97,0,100,0,101,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,97,0,109,0,112,0,101,0,114,0,101,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,116,0,104,0,101,0,114,0,109,0,45,0,117,0,115,0,0,0,102,0,114,0,101,0,113,0,117,0,101,0,110,0,99,0,121,0,45,0,104,0,101,0,114,0,116,0,122,0,0,0,109,0,97,0,115,0,115,0,45,0,101,0,97,0,114,0,116,0,104,0,45,0,109,0,97,0,115,0,115,0,0,0,109,0,97,0,115,0,115,0,45,0,109,0,101,0,116,0,114,0,105,0,99,0,45,0,116,0,111,0,110,0,0,0,109,0,97,0,115,0,115,0,45,0,111,0,117,0,110,0,99,0,101,0,45,0,116,0,114,0,111,0,121,0,0,0,109,0,97,0,115,0,115,0,45,0,115,0,111,0,108,0,97,0,114,0,45,0,109,0,97,0,115,0,115,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,109,0,105,0,108,0,108,0,105,0,119,0,97,0,116,0,116,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,116,0,101,0,97,0,115,0,112,0,111,0,111,0,110,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,45,0,117,0,109,0,97,0,108,0,113,0,117,0,114,0,97,0,0,0,97,0,110,0,103,0,108,0,101,0,45,0,97,0,114,0,99,0,45,0,109,0,105,0,110,0,117,0,116,0,101,0,0,0,97,0,110,0,103,0,108,0,101,0,45,0,97,0,114,0,99,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,97,0,110,0,103,0,108,0,101,0,45,0,114,0,101,0,118,0,111,0,108,0,117,0,116,0,105,0,111,0,110,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,102,0,111,0,111,0,116,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,105,0,108,0,101,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,121,0,97,0,114,0,100,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,101,0,114,0,99,0,101,0,110,0,116,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,111,0,114,0,116,0,105,0,111,0,110,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,103,0,105,0,103,0,97,0,98,0,121,0,116,0,101,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,107,0,105,0,108,0,111,0,98,0,121,0,116,0,101,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,109,0,101,0,103,0,97,0,98,0,121,0,116,0,101,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,112,0,101,0,116,0,97,0,98,0,121,0,116,0,101,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,116,0,101,0,114,0,97,0,98,0,121,0,116,0,101,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,99,0,101,0,110,0,116,0,117,0,114,0,121,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,113,0,117,0,97,0,114,0,116,0,101,0,114,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,107,0,105,0,108,0,111,0,106,0,111,0,117,0,108,0,101,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,100,0,101,0,99,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,110,0,97,0,110,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,112,0,105,0,99,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,104,0,111,0,114,0,115,0,101,0,112,0,111,0,119,0,101,0,114,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,45,0,104,0,103,0,0,0,112,0,114,0,111,0,112,0,111,0,114,0,116,0,105,0,111,0,110,0,45,0,107,0,97,0,114,0,97,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,97,0,99,0,114,0,101,0,45,0,102,0,111,0,111,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,100,0,101,0,99,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,109,0,101,0,103,0,97,0,108,0,105,0,116,0,101,0,114,0,0,0,100,0,101,0,95,0,102,0,97,0,99,0,116,0,111,0,95,0,111,0,102,0,102,0,105,0,99,0,105,0,97,0,108,0,0,0,111,0,102,0,102,0,105,0,99,0,105,0,97,0,108,0,95,0,114,0,101,0,103,0,105,0,111,0,110,0,97,0,108,0,0,0,77,0,65,0,43,0,68,0,90,0,43,0,84,0,78,0,43,0,76,0,89,0,43,0,77,0,82,0,43,0,69,0,72,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,116,0,97,0,98,0,108,0,101,0,115,0,112,0,111,0,111,0,110,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,101,0,114,0,109,0,105,0,108,0,108,0,101,0,0,0,102,0,111,0,114,0,99,0,101,0,45,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,108,0,105,0,103,0,104,0,116,0,45,0,121,0,101,0,97,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,109,0,105,0,99,0,114,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,109,0,105,0,108,0,108,0,105,0,98,0,97,0,114,0,0,0,116,0,111,0,114,0,113,0,117,0,101,0,45,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,111,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,101,0,110,0,116,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,102,0,111,0,111,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,105,0,110,0,99,0,104,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,109,0,105,0,108,0,101,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,121,0,97,0,114,0,100,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,112,0,45,0,109,0,101,0,116,0,114,0,105,0,99,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,104,0,101,0,99,0,116,0,111,0,108,0,105,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,109,0,105,0,108,0,108,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,107,0,105,0,108,0,111,0,99,0,97,0,108,0,111,0,114,0,105,0,101,0,0,0,116,0,101,0,109,0,112,0,101,0,114,0,97,0,116,0,117,0,114,0,101,0,45,0,107,0,101,0,108,0,118,0,105,0,110,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,111,0,102,0,103,0,108,0,117,0,99,0,111,0,115,0,101,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,101,0,114,0,109,0,121,0,114,0,105,0,97,0,100,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,102,0,111,0,111,0,100,0,99,0,97,0,108,0,111,0,114,0,105,0,101,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,109,0,101,0,103,0,97,0,112,0,105,0,120,0,101,0,108,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,45,0,111,0,102,0,104,0,103,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,102,0,108,0,117,0,105,0,100,0,45,0,111,0,117,0,110,0,99,0,101,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,112,0,105,0,110,0,116,0,45,0,109,0,101,0,116,0,114,0,105,0,99,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,101,0,114,0,109,0,105,0,108,0,108,0,105,0,111,0,110,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,100,0,97,0,121,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,110,0,97,0,110,0,111,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,101,0,108,0,101,0,99,0,116,0,114,0,111,0,110,0,118,0,111,0,108,0,116,0,0,0,102,0,114,0,101,0,113,0,117,0,101,0,110,0,99,0,121,0,45,0,103,0,105,0,103,0,97,0,104,0,101,0,114,0,116,0,122,0,0,0,102,0,114,0,101,0,113,0,117,0,101,0,110,0,99,0,121,0,45,0,107,0,105,0,108,0,111,0,104,0,101,0,114,0,116,0,122,0,0,0,102,0,114,0,101,0,113,0,117,0,101,0,110,0,99,0,121,0,45,0,109,0,101,0,103,0,97,0,104,0,101,0,114,0,116,0,122,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,101,0,97,0,114,0,116,0,104,0,45,0,114,0,97,0,100,0,105,0,117,0,115,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,115,0,111,0,108,0,97,0,114,0,45,0,114,0,97,0,100,0,105,0,117,0,115,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,97,0,116,0,109,0,111,0,115,0,112,0,104,0,101,0,114,0,101,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,107,0,105,0,108,0,111,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,109,0,101,0,103,0,97,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,115,0,112,0,101,0,101,0,100,0,45,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,104,0,111,0,117,0,114,0,0,0,116,0,101,0,109,0,112,0,101,0,114,0,97,0,116,0,117,0,114,0,101,0,45,0,99,0,101,0,108,0,115,0,105,0,117,0,115,0,0,0,116,0,101,0,109,0,112,0,101,0,114,0,97,0,116,0,117,0,114,0,101,0,45,0,103,0,101,0,110,0,101,0,114,0,105,0,99,0,0,0,116,0,111,0,114,0,113,0,117,0,101,0,45,0,110,0,101,0,119,0,116,0,111,0,110,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,97,0,99,0,99,0,101,0,108,0,101,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,103,0,45,0,102,0,111,0,114,0,99,0,101,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,105,0,99,0,114,0,111,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,105,0,108,0,108,0,105,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,119,0,101,0,101,0,107,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,121,0,101,0,97,0,114,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,109,0,105,0,108,0,108,0,105,0,97,0,109,0,112,0,101,0,114,0,101,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,107,0,105,0,108,0,111,0,119,0,97,0,116,0,116,0,45,0,104,0,111,0,117,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,49,0,48,0,48,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,110,0,97,0,117,0,116,0,105,0,99,0,97,0,108,0,45,0,109,0,105,0,108,0,101,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,104,0,101,0,99,0,116,0,111,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,100,0,101,0,115,0,115,0,101,0,114,0,116,0,45,0,115,0,112,0,111,0,111,0,110,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,111,0,110,0,116,0,104,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,100,0,111,0,116,0,45,0,112,0,101,0,114,0,45,0,105,0,110,0,99,0,104,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,113,0,117,0,97,0,114,0,116,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,116,0,101,0,109,0,112,0,101,0,114,0,97,0,116,0,117,0,114,0,101,0,45,0,102,0,97,0,104,0,114,0,101,0,110,0,104,0,101,0,105,0,116,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,105,0,103,0,104,0,116,0,45,0,115,0,111,0,108,0,97,0,114,0,45,0,108,0,117,0,109,0,105,0,110,0,111,0,115,0,105,0,116,0,121,0,0,0,115,0,112,0,101,0,101,0,100,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,112,0,105,0,120,0,101,0,108,0,45,0,112,0,101,0,114,0,45,0,105,0,110,0,99,0,104,0,0,0,116,0,111,0,114,0,113,0,117,0,101,0,45,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,45,0,102,0,111,0,111,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,109,0,105,0,108,0,101,0,45,0,115,0,99,0,97,0,110,0,100,0,105,0,110,0,97,0,118,0,105,0,97,0,110,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,97,0,115,0,116,0,114,0,111,0,110,0,111,0,109,0,105,0,99,0,97,0,108,0,45,0,117,0,110,0,105,0,116,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,45,0,111,0,102,0,104,0,103,0,0,0,115,0,112,0,101,0,101,0,100,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,104,0,111,0,117,0,114,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,97,0,114,0,116,0,45,0,112,0,101,0,114,0,45,0,109,0,105,0,108,0,108,0,105,0,111,0,110,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,45,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,98,0,114,0,105,0,116,0,105,0,115,0,104,0,45,0,116,0,104,0,101,0,114,0,109,0,97,0,108,0,45,0,117,0,110,0,105,0,116,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,100,0,111,0,116,0,45,0,112,0,101,0,114,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,102,0,108,0,117,0,105,0,100,0,45,0,111,0,117,0,110,0,99,0,101,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,109,0,105,0,108,0,108,0,105,0,109,0,111,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,108,0,105,0,116,0,101,0,114,0,0,0,65,0,83,0,43,0,67,0,65,0,43,0,71,0,85,0,43,0,77,0,72,0,43,0,77,0,80,0,43,0,80,0,72,0,43,0,80,0,82,0,43,0,85,0,77,0,43,0,85,0,83,0,43,0,86,0,73,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,112,0,105,0,120,0,101,0,108,0,45,0,112,0,101,0,114,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,100,0,101,0,115,0,115,0,101,0,114,0,116,0,45,0,115,0,112,0,111,0,111,0,110,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,45,0,111,0,102,0,45,0,109,0,101,0,114,0,99,0,117,0,114,0,121,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,112,0,111,0,117,0,110,0,100,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,45,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,45,0,112,0,101,0,114,0,45,0,100,0,101,0,99,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,45,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,49,0,48,0,48,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,45,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,49,0,48,0,48,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,115,0,0,0,97,0,99,0,99,0,101,0,108,0,101,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,45,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,0,0,97,0,99,0,99,0,101,0,108,0,101,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,100,0,0,0,102,0,111,0,114,0,99,0,101,0,45,0,107,0,105,0,108,0,111,0,119,0,97,0,116,0,116,0,45,0,104,0,111,0,117,0,114,0,45,0,112,0,101,0,114,0,45,0,49,0,48,0,48,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,42,220,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,45,0,111,0,102,0,103,0,108,0,117,0,99,0,111,0,115,0,101,0,45,0,112,0,101,0,114,0,45,0,100,0,101,0,99,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,1,0,54,205,5,0,54,205,158,210,215,195,143,207,178,206,5,0,15,197,54,205,215,195,143,207,178,206,3,0,54,205,143,207,178,206,3,0,54,205,143,207,178,206,4,0,54,205,215,195,143,207,178,206,5,0,54,205,158,210,215,195,143,207,178,206,2,0,54,205,247,195,2,0,54,205,247,195,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,5,0,54,205,217,178,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,2,0,54,205,76,204,2,0,54,205,247,195,4,0,54,205,215,195,143,207,178,206,5,0,54,205,84,185,215,195,143,207,178,206,2,0,54,205,59,186,4,0,54,205,215,195,143,207,178,206,5,0,15,197,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,2,0,54,205,130,204,4,0,54,205,215,195,143,207,178,206,2,0,54,205,20,143,5,0,54,205,158,210,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,2,0,54,205,247,195,4,0,54,205,215,195,143,207,178,206,3,0,54,205,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,5,0,54,205,158,210,215,195,143,207,178,206,4,0,158,210,54,205,215,195,78,207,4,0,54,205,215,195,143,207,178,206,2,0,54,205,247,195,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,2,0,40,204,54,205,3,0,54,205,143,207,178,206,3,0,54,205,143,207,178,206,4,0,54,205,215,195,143,207,178,206,3,0,54,205,143,207,178,206,3,0,54,205,95,32,247,195,3,0,54,205,143,207,178,206,3,0,54,205,143,207,178,206,4,0,54,205,215,195,143,207,178,206,3,0,220,2,71,4,83,11,3,0,180,1,72,135,119,11,3,0,70,0,12,108,143,11,3,0,136,1,90,111,99,11,3,0,121,108,84,135,167,11,3,0,127,108,99,10,107,11,3,0,88,2,60,135,111,11,3,0,56,2,220,134,151,11,3,0,124,2,19,10,123,11,3,0,117,106,78,135,103,11,3,0,139,0,96,111,163,11,3,0,131,107,96,135,147,11,3,0,100,0,208,134,159,11,3,0,193,105,214,134,179,11,3,0,133,108,108,135,175,11,3,0,103,0,98,112,87,11,3,0,142,0,175,9,31,2,3,0,188,1,90,135,183,11,3,0,164,1,132,135,239,11,3,0,139,108,190,110,11,12,3,0,168,1,102,111,223,11,3,0,205,105,202,110,207,4,3,0,49,0,183,10,219,11,3,0,25,0,108,111,147,1,3,0,106,0,120,135,231,11,3,0,52,0,152,112,199,11,3,0,73,0,58,134,211,11,3,0,145,0,91,10,243,11,3,0,205,111,126,135,255,11,3,0,48,2,174,135,247,4,3,0,213,106,232,134,235,4,3,0,109,0,23,10,215,11,3,0,123,106,150,135,7,12,3,0,145,108,114,135,235,11,3,0,112,0,30,135,171,2,3,0,148,0,44,109,31,12,3,0,151,0,144,135,35,12,3,0,41,107,138,135,39,12,3,0,216,1,244,134,247,11,3,0,137,107,156,135,251,11,3,0,76,1,254,112,55,12,3,0,151,108,240,135,59,12,3,0,96,1,40,113,87,12,3,0,228,1,186,135,51,12,3,0,64,2,252,135,91,12,3,0,235,105,15,4,175,2,3,0,28,0,235,9,71,12,3,0,211,111,2,136,95,12,3,0,143,107,22,113,63,12,3,0,141,106,180,135,79,12,3,0,52,1,110,109,67,12,3,0,217,108,28,113,99,12,3,0,149,107,46,113,111,12,3,0,112,2,67,4,63,2,3,0,223,108,58,113,123,12,3,0,215,107,4,113,107,12,3,0,115,0,76,134,127,12,3,0,217,111,234,135,55,9,3,0,253,105,8,136,63,5,3,0,19,0,56,112,135,12,3,0,152,2,215,9,143,12,3,0,133,105,211,9,151,12,3,0,31,0,107,3,155,12,3,0,3,106,62,112,159,12,3,0,47,107,120,111,71,1,3,0,155,107,102,108,163,12,3,0,13,0,66,135,167,12,3,0,219,106,126,111,171,12,3,0,108,1,26,136,195,12,3,0,55,0,43,4,183,12,3,0,173,212,248,109,191,12,3,0,39,106,64,113,187,12,3,0,64,1,100,134,95,5,3,0,10,0,20,136,83,1,3,0,148,2,167,2,91,6,3,0,211,105,171,9,203,12,3,0,45,106,103,3,207,12,3,0,229,111,99,3,151,1,3,0,51,106,55,10,223,12,3,0,80,2,32,136,219,12,3,0,181,105,183,9,211,12,3,0,157,0,179,9,227,12,3,0,72,2,199,9,231,12,3,0,139,105,47,4,235,12,3,0,157,108,0,135,135,5,3,0,58,0,203,9,243,12,3,0,52,2,187,9,43,13,3,0,235,111,167,10,247,12,3,0,223,105,219,9,251,12,3,0,163,108,115,3,3,13,3,0,160,0,250,134,39,13,3,0,53,107,111,3,15,13,3,0,116,1,68,112,7,13,3,0,128,2,64,134,11,13,3,0,129,106,48,135,23,13,3,0,148,1,223,9,35,13,3,0,144,2,167,9,23,15,3,0,161,107,70,113,35,2,3,0,118,0,70,134,39,2,3,0,221,107,230,109,19,13,3,0,59,107,76,113,47,13,3,0,147,106,123,3,211,1,3,0,120,2,38,136,59,13,3,0,229,108,119,3,63,13,3,0,92,1,52,113,71,13,3,0,76,0,82,113,75,13,3,0,34,0,127,3,79,13,3,0,4,0,139,3,83,13,3,0,57,106,227,9,111,13,3,0,153,106,151,3,127,13,3,0,169,108,175,10,99,13,3,0,121,105,135,3,103,13,3,0,241,111,162,135,107,13,3,0,37,0,147,3,119,13,3,0,56,1,143,3,115,13,3,0,121,0,131,3,123,13,3,0,104,1,231,9,115,2,3,0,175,108,171,10,139,13,3,0,159,106,155,3,135,13,3,0,79,0,167,3,143,13,3,0,124,0,159,3,147,13,3,0,163,105,158,112,151,13,3,0,212,1,94,113,155,13,3,0,127,0,248,112,119,2,3,0,65,107,218,109,159,13,3,0,160,1,34,113,103,12,3,0,181,108,95,10,163,13,3,0,172,1,164,112,151,14,3,0,244,1,60,108,167,13,3,0,82,0,88,113,179,13,3,0,247,111,10,113,131,12,3,0,40,0,163,3,187,1,3,0,32,2,100,113,183,13,3,0,236,1,74,112,47,2,3,0,187,108,103,10,191,13,3,0,192,1,239,9,195,13,3,0,152,1,16,113,199,13,3,0,193,108,112,113,187,13,3,0,71,107,80,112,219,1,3,0,124,1,171,3,207,13,3,0,241,105,112,134,223,13,3,0,132,1,50,136,223,1,3,0,85,0,118,113,215,1,3,0,72,1,170,112,235,13,3,0,130,0,3,10,239,13,3,0,84,2,195,3,243,13,3,0,133,0,7,10,127,1,3,0,12,2,242,109,251,5,3,0,165,106,243,9,251,13,3,0,88,0,59,10,7,14,3,0,4,2,206,112,179,2,3,0,43,0,247,9,191,1,3,0,252,1,44,109,19,14,3,0,60,2,191,3,23,14,3,0,75,109,244,107,211,2,3,0,140,2,47,10,155,1,3,0,163,0,255,9,43,14,3,0,68,2,250,107,31,14,3,0,253,111,11,10,231,1,3,0,9,106,251,9,123,1,3,0,63,106,0,108,47,14,3,0,77,107,183,3,255,13,3,0,171,106,175,3,55,14,3,0,225,106,187,3,3,14,3,0,69,106,179,3,59,14,3,0,199,105,6,135,27,14,3,0,15,106,199,3,55,2,3,0,136,0,31,10,71,14,3,0,128,1,35,10,75,14,3,0,3,112,43,10,79,14,3,0,169,105,215,3,83,14,3,0,167,107,211,3,99,2,3,0,175,105,224,109,91,14,3,0,46,0,219,3,99,14,3,0,156,1,92,112,99,1,3,0,177,106,15,10,35,1,3,0,20,2,27,10,103,14,3,0,83,107,39,10,87,14,3,0,183,106,207,3,107,14,3,0,240,1,86,112,59,2,3,0,173,107,71,10,123,2,3,0,179,107,176,112,119,14,3,0,208,1,191,9,171,14,3,0,189,106,223,3,139,14,3,0,7,0,182,112,127,14,3,0,151,105,6,108,111,14,3,0,100,1,79,10,143,14,3,0,132,2,107,10,131,2,3,0,9,112,75,10,51,1,3,0,235,108,87,10,147,14,3,0,166,0,207,9,163,14,3,0,247,105,83,10,155,14,3,0,195,106,63,10,131,14,3,0,231,106,227,3,159,14,3,0,91,0,104,112,175,14,3,0,187,0,75,4,179,14,3,0,190,0,79,4,183,14,3,0,169,0,83,4,187,14,3,0,193,0,87,4,191,14,3,0,68,9,91,4,195,14,3,0,196,0,95,4,199,14,3,0,199,0,99,4,203,14,3,0,202,0,39,11,207,14,3,0,172,0,167,2,91,6,3,0,205,0,103,4,211,14,3,0,208,0,107,4,215,14,3,0,211,0,111,4,219,14,3,0,214,0,122,112,223,14,3,0,217,0,128,112,227,14,3,0,0,2,236,109,231,14,3,0,80,1,94,134,243,14,3,0,68,1,123,10,39,15,3,0,36,1,110,112,251,14,3,0,75,106,116,112,255,14,3,0,248,1,243,3,3,15,3,0,89,107,238,134,235,1,3,0,201,106,247,3,71,15,3,0,81,106,135,10,11,15,3,0,87,106,11,4,63,15,3,0,93,106,188,112,127,2,3,0,15,112,235,3,27,15,3,0,217,105,18,135,199,1,3,0,44,2,143,10,31,15,3,0,88,1,12,135,59,15,3,0,99,106,251,3,135,6,3,0,76,2,115,10,67,2,3,0,48,1,119,10,19,15,3,0,220,1,200,112,239,1,3,0,232,1,139,10,159,6,3,0,95,107,3,4,47,15,3,0,81,109,239,3,135,2,3,0,28,2,24,135,51,15,3,0,185,107,132,111,131,1,3,0,199,108,88,134,63,9,3,0,61,0,19,4,75,15,3,0,101,107,7,4,67,15,3,0,21,112,254,109,75,1,3,0,184,1,204,135,79,15,3,0,108,2,195,9,107,2,3,0,176,1,151,10,83,15,3,0,84,1,23,4,87,15,3,0,94,0,147,10,91,15,3,0,205,108,155,10,99,15,3,0,227,107,231,3,103,15,3,0,36,2,159,10,159,1,3,0,144,1,35,4,215,2,3,0,107,107,27,4,111,15,3,0,136,2,231,3,139,2,3,0,22,0,118,134,127,15,3,0,113,107,31,4,123,15,3,0,119,107,163,10,131,15,3,0,175,0,228,135,135,15,3,0,229,105,18,108,139,15,3,0,120,1,106,134,243,1,3,0,157,105,39,4,71,2,3,0,40,2,51,10,147,15,3,0,154,205,51,4,247,1,3,0,241,108,55,4,151,15,3,0,97,0,59,4,163,15,3,0,224,1,44,136,167,15,3,0,125,107,111,10,171,15,3,0,191,107,187,10,179,15,3,0,211,108,168,135,183,15,3,0,41,219,179,10,55,1,3,0,200,1,194,112,187,15,3,0,105,106,203,3,195,15,3,0,140,1,191,10,199,15,3,0,207,106,63,4,75,2,3,0,220,0,134,112,219,2,3,0,223,0,140,112,3,7,3,0,226,0,115,4,207,15,3,0,229,0,24,108,211,15,3,0,232,0,119,4,107,1,3,0,235,0,123,4,215,15,3,0,238,0,127,4,223,15,3,0,241,0,131,4,227,15,3,0,244,0,135,4,231,15,3,0,247,0,43,11,235,15,3,0,64,0,47,11,239,15,3,0,250,0,139,4,243,15,3,0,64,9,143,4,251,1,3,0,204,2,147,4,247,15,3,0,253,0,51,11,251,15,3,0,60,9,55,11,255,15,3,0,0,1,59,11,67,9,3,0,56,9,157,178,3,16,3,0,3,1,63,11,7,16,3,0,6,1,67,11,11,16,3,0,9,1,71,11,15,16,3,0,208,2,146,43,19,16,3,0,12,1,75,11,23,16,3,0,96,2,120,69,95,2,3,0,15,1,151,4,27,16,3,0,18,1,79,11,31,16,3,0,16,2,131,10,83,2,3,0,67,0,199,10,35,16,3,0,196,1,246,135,195,1,3,0,24,2,67,4,43,16,3,0,145,105,255,3,135,1,3,0,21,106,203,10,51,16,3,0,178,0,40,113,183,2,3,0,111,106,127,10,67,16,3,0,224,2,155,4,223,2,2,0,159,4,12,108,2,0,163,4,122,112,2,0,167,4,194,178,2,0,171,4,187,43,2,0,175,4,82,134,2,0,179,4,134,112,2,0,67,1,80,70,2,0,183,4,85,70,2,0,187,4,98,112,2,0,191,4,247,10,2,0,195,4,119,4,2,0,199,4,192,43,2,0,203,4,66,44,2,0,211,4,115,4,2,0,215,4,100,70,2,0,219,4,152,112,2,0,223,4,120,70,2,0,227,4,140,70,2,0,231,4,125,70,2,0,239,4,139,4,2,0,243,4,147,4,2,0,251,4,95,70,2,0,171,2,197,43,2,0,255,4,202,43,2,0,3,5,140,112,2,0,7,5,105,70,2,0,11,5,254,112,2,0,15,5,24,108,2,0,175,2,255,10,2,0,19,5,15,4,2,0,23,5,3,11,2,0,75,12,157,178,2,0,27,5,22,113,2,0,31,5,110,109,2,0,35,5,110,109,2,0,39,5,28,113,2,0,43,5,111,4,2,0,47,5,46,113,2,0,51,5,219,10,2,0,55,5,58,113,2,0,59,5,4,113,2,0,67,5,56,112,2,0,71,5,107,3,2,0,75,5,62,112,2,0,79,5,102,108,2,0,83,5,145,70,2,0,87,5,43,4,2,0,91,5,64,113,2,0,99,5,14,136,2,0,103,5,123,4,2,0,107,5,103,3,2,0,171,1,99,3,2,0,111,5,47,4,2,0,115,5,135,4,2,0,119,5,227,10,2,0,123,5,115,3,2,0,127,5,111,3,2,0,131,5,68,112,2,0,139,5,70,113,2,0,143,5,76,113,2,0,147,5,123,3,2,0,151,5,119,3,2,0,155,5,52,113,2,0,175,1,82,113,2,0,159,5,127,3,2,0,163,5,139,3,2,0,167,5,151,3,2,0,171,5,135,3,2,0,175,5,147,3,2,0,179,5,143,3,2,0,87,1,131,3,2,0,183,5,155,3,2,0,187,5,167,3,2,0,191,5,159,3,2,0,195,5,158,112,2,0,199,5,94,113,2,0,91,1,248,112,2,0,11,2,34,113,2,0,203,5,164,112,2,0,207,5,60,108,2,0,211,5,88,113,2,0,215,5,10,113,2,0,219,5,163,3,2,0,223,5,100,113,2,0,227,5,74,112,2,0,231,5,16,113,2,0,235,5,112,113,2,0,239,5,80,112,2,0,243,5,171,3,2,0,15,2,118,113,2,0,247,5,170,112,2,0,255,5,195,3,2,0,3,6,107,4,2,0,179,2,206,112,2,0,7,6,44,109,2,0,19,2,191,3,2,0,11,6,244,107,2,0,79,1,250,107,2,0,15,6,211,10,2,0,19,6,0,108,2,0,23,6,183,3,2,0,27,6,175,3,2,0,203,2,187,3,2,0,207,2,127,4,2,0,31,6,179,3,2,0,35,6,59,197,2,0,179,1,199,3,2,0,115,1,215,3,2,0,39,6,211,3,2,0,43,6,219,3,2,0,47,6,92,112,2,0,51,6,207,3,2,0,55,6,86,112,2,0,59,6,67,10,2,0,63,6,176,112,2,0,67,6,223,3,2,0,71,6,182,112,2,0,75,6,6,108,2,0,79,6,143,4,2,0,83,6,227,3,2,0,87,6,104,112,2,0,95,6,251,10,2,0,99,6,243,10,2,0,103,6,110,112,2,0,139,1,116,112,2,0,107,6,243,3,2,0,111,6,110,70,2,0,115,6,247,3,2,0,119,6,235,10,2,0,123,6,11,4,2,0,127,6,188,112,2,0,131,6,235,3,2,0,139,6,251,3,2,0,143,6,200,112,2,0,147,6,103,4,2,0,151,6,3,4,2,0,155,6,239,3,2,0,143,1,215,10,2,0,163,6,19,4,2,0,167,6,7,4,2,0,171,6,23,4,2,0,175,6,128,112,2,0,179,6,223,10,2,0,183,6,35,4,2,0,187,6,27,4,2,0,191,6,7,11,2,0,183,1,31,4,2,0,195,6,4,110,2,0,199,6,18,108,2,0,203,6,131,4,2,0,207,6,39,4,2,0,211,6,51,4,2,0,47,1,151,4,2,0,215,6,239,10,2,0,23,2,55,4,2,0,219,6,207,10,2,0,223,6,59,4,2,0,227,6,193,203,2,0,231,6,231,10,2,0,63,1,10,110,2,0,235,6,194,112,2,0,239,6,203,3,2,0,243,6,63,4,2,0,247,6,11,11,2,0,251,6,83,4,2,0,255,6,75,4,2,0,163,1,27,11,2,0,3,7,31,11,2,0,203,15,35,11,2,0,167,1,71,4,2,0,95,1,15,11,2,0,7,7,79,4,2,0,11,7,19,11,2,0,15,7,95,4,2,0,207,1,23,11,2,0,19,7,87,4,2,0,27,2,146,43,2,0,23,7,91,4,2,0,119,1,99,4,2,0,95,2,155,4,2,0,27,7,195,10,2,0,183,2,255,3,2,0,31,7,167,2,139,0,91,11,95,11,115,11,127,11,131,11,135,11,139,11,102,136,155,11,171,11,187,11,191,11,195,11,203,11,207,11,207,4,108,136,227,11,235,4,3,12,239,4,114,136,15,12,247,4,19,12,23,12,27,12,43,12,3,5,175,2,23,5,120,136,31,5,83,12,43,5,115,12,119,12,63,5,139,12,147,12,111,2,175,12,179,12,126,136,95,5,199,12,215,12,239,12,255,12,27,13,31,13,135,5,51,13,55,13,67,13,87,13,91,13,95,13,43,2,131,13,171,13,175,13,243,5,203,13,211,13,215,13,219,13,227,13,231,13,251,5,227,1,247,13,51,2,11,14,15,14,79,1,35,14,39,14,51,14,59,9,207,2,63,14,67,14,99,2,95,14,115,14,123,14,135,14,167,14,235,14,239,14,247,14,7,15,15,15,103,1,35,15,43,15,155,6,159,6,55,15,95,15,107,15,115,15,119,15,143,15,143,2,47,1,155,15,215,6,159,15,219,6,175,15,227,6,231,6,191,15,251,6,255,6,138,136,7,7,147,2,79,2,219,15,15,7,19,7,255,1,27,2,23,7,119,1,151,2,39,16,144,136,47,16,87,2,3,2,55,16,59,16,63,16,71,16,75,16,156,0,159,4,163,4,167,4,171,4,175,4,179,4,67,1,183,4,187,4,191,4,195,4,199,4,203,4,211,4,215,4,219,4,223,4,227,4,231,4,243,4,251,4,171,2,255,4,47,12,7,5,11,5,15,5,19,5,27,5,35,5,39,5,47,5,51,5,55,5,59,5,67,5,71,5,75,5,79,5,83,5,87,5,91,5,99,5,103,5,107,5,171,1,111,5,115,5,119,5,123,5,127,5,131,5,139,5,143,5,147,5,151,5,155,5,175,1,159,5,163,5,167,5,171,5,175,5,179,5,87,1,183,5,187,5,191,5,195,5,199,5,91,1,11,2,203,5,207,5,211,5,215,5,219,5,223,5,227,5,231,5,235,5,239,5,15,2,247,5,255,5,3,6,179,2,7,6,19,2,11,6,15,6,19,6,23,6,27,6,203,2,31,6,35,6,179,1,115,1,39,6,43,6,47,6,51,6,55,6,59,6,63,6,67,6,71,6,75,6,79,6,83,6,87,6,95,6,99,6,103,6,139,1,107,6,111,6,115,6,119,6,123,6,127,6,131,6,135,6,139,6,143,6,147,6,151,6,143,1,163,6,167,6,171,6,175,6,179,6,183,6,187,6,191,6,183,1,195,6,199,6,203,6,207,6,211,6,23,2,223,6,63,1,235,6,239,6,243,6,247,6,95,1,11,7,207,1,27,7,183,2,31,7,18,1,83,16,131,16,136,43,159,16,104,137,199,16,122,42,195,39,31,17,71,17,123,17,118,138,139,17,182,109,55,7,151,17,155,17,183,17,21,109,187,17,195,17,199,17,203,17,59,7,215,17,188,109,223,17,3,18,11,18,19,18,31,18,35,18,43,18,51,18,63,18,71,18,79,18,87,18,95,18,195,18,203,18,28,110,239,18,34,110,243,18,247,18,19,19,39,19,43,19,55,19,91,19,95,19,158,41,115,19,67,197,119,19,127,19,131,19,224,40,139,19,234,40,179,19,191,19,195,19,52,110,219,19,239,19,19,20,163,20,188,41,187,20,207,20,220,203,205,69,35,21,143,21,223,21,231,21,235,21,132,42,11,22,106,147,19,22,39,22,142,42,71,22,103,22,195,22,203,22,206,109,239,22,27,23,39,23,71,23,143,23,215,23,223,23,67,24,83,24,87,24,91,24,235,178,160,9,239,24,195,69,31,25,16,44,162,43,187,25,191,25,250,150,199,25,235,25,239,25,243,25,247,25,251,25,195,2,75,9,7,26,15,26,242,42,23,26,27,26,39,26,43,26,51,26,59,26,63,26,67,26,71,26,75,26,79,26,61,43,87,26,107,26,127,26,130,134,155,69,39,70,152,109,107,8,18,41,103,27,131,27,135,27,139,27,151,27,187,27,195,27,199,27,70,70,207,27,223,27,231,27,239,27,243,27,247,27,126,157,255,27,3,28,7,28,11,28,232,110,210,69,35,28,118,41,95,28,23,41,123,28,127,28,28,41,135,28,98,41,215,28,7,29,115,29,151,29,195,29,231,29,43,30,51,30,63,30,75,30,99,30,143,30,159,30,171,30,175,30,179,30,183,30,187,30,195,30,203,30,215,30,235,30,239,30,243,30,15,31,23,31,151,31,3,214,51,32,150,39,59,32,21,43,212,109,71,43,187,32,247,32,251,32,111,39,7,33,49,70,11,33,86,43,27,33,209,40,172,168,75,33,87,33,91,33,143,33,147,33,167,33,171,33,138,169,150,169,195,33,144,9,207,33,219,33,2,170,227,33,239,33,243,33,148,9,87,34,103,34,119,34,159,34,183,34,39,35,143,35,11,3,163,35,211,35,219,35,27,36,47,36,59,36,147,36,163,36,183,36,239,36,3,37,15,37,119,9,27,37,103,37,123,37,135,37,147,37,187,37,96,43,63,3,239,37,135,9,23,38,43,38,158,109,200,109,255,39,231,38,15,0,99,31,88,162,94,162,100,162,106,162,112,162,118,162,124,162,130,162,136,162,142,162,148,162,154,162,160,162,166,162,41,10,252,2,150,136,156,136,162,136,168,136,91,16,87,109,174,136,180,136,186,136,192,136,198,136,204,136,210,136,216,136,222,136,127,16,228,136,234,136,240,136,45,112,246,136,252,136,2,137,139,16,143,16,8,137,65,40,14,137,32,137,38,137,151,16,44,137,50,137,155,16,56,137,62,137,68,137,74,137,80,137,86,137,92,137,163,16,98,137,167,16,171,16,175,16,179,16,35,7,183,16,187,16,191,16,109,108,110,137,116,137,184,110,122,137,128,137,51,109,140,137,146,137,152,137,199,111,158,137,164,137,182,137,188,137,203,16,207,16,194,137,219,16,200,137,223,16,206,137,227,16,231,16,235,16,239,16,127,105,218,137,224,137,236,137,39,112,248,137,254,137,4,138,16,138,22,138,28,138,34,138,40,138,63,136,79,17,83,17,7,42,46,138,52,138,58,138,64,138,91,17,70,138,76,138,95,17,12,42,99,17,82,138,103,17,24,3,88,138,94,138,100,138,106,138,112,138,127,17,209,107,124,138,135,17,130,138,143,17,147,17,246,39,154,138,238,107,160,138,172,138,178,138,184,138,190,138,196,138,202,138,214,138,72,3,220,138,42,108,226,138,232,138,12,139,100,9,18,139,24,139,30,139,36,139,42,139,88,9,48,139,54,139,60,139,72,139,78,139,84,139,90,139,211,17,96,139,102,139,108,139,114,139,120,139,115,70,126,139,227,17,51,44,132,139,138,139,56,44,144,139,156,139,180,139,255,17,186,139,192,139,198,139,204,139,45,40,210,139,216,139,171,39,222,139,228,139,7,18,234,139,240,139,246,139,252,139,2,140,8,140,14,140,20,140,26,140,32,140,38,140,39,18,44,140,47,18,50,140,56,140,55,18,62,140,76,3,68,140,74,140,80,140,67,18,86,140,92,140,98,140,75,18,104,140,110,140,83,18,116,140,122,140,91,18,128,140,134,140,140,140,146,140,152,140,104,9,158,140,103,18,164,140,107,18,111,18,115,18,119,18,123,18,127,18,131,18,47,42,147,18,151,18,155,18,156,9,176,140,182,140,188,140,220,110,194,140,200,140,163,18,167,18,206,140,171,18,175,18,179,18,183,18,187,18,52,42,212,140,191,18,218,140,199,18,227,2,71,7,75,7,207,18,224,140,230,140,236,140,57,42,211,18,215,18,242,140,219,18,248,140,223,18,227,18,62,42,67,42,231,18,72,42,235,18,254,140,77,42,4,141,10,141,16,141,22,141,28,141,34,141,40,141,85,40,46,141,52,141,64,141,251,18,70,141,76,141,255,18,82,141,3,19,7,19,88,141,15,19,108,9,94,141,100,141,112,141,70,40,118,141,35,19,124,141,130,141,136,141,142,141,148,141,217,43,154,141,160,141,166,141,247,43,47,19,51,19,172,141,59,19,63,19,67,19,55,40,178,141,71,19,103,7,75,19,2,143,83,19,92,2,87,19,8,143,14,143,48,111,26,143,32,143,183,178,38,143,44,143,50,143,56,143,40,110,99,19,14,70,103,19,62,143,107,19,68,143,74,143,80,143,227,42,71,39,86,143,92,143,98,143,46,110,111,19,104,143,110,143,116,143,148,134,122,143,128,143,232,42,123,19,82,42,134,143,140,143,146,143,152,143,158,143,164,143,170,143,135,19,176,143,182,143,188,143,194,143,143,19,184,134,163,41,51,43,229,40,147,19,200,143,151,19,155,19,159,19,206,143,212,143,218,143,224,143,230,143,163,19,236,143,167,19,242,143,248,143,237,42,254,143,171,19,4,144,10,144,16,144,22,144,28,144,34,144,168,41,40,144,175,19,87,42,183,19,46,144,187,19,52,144,154,134,235,69,199,19,58,144,240,69,197,178,203,19,207,19,64,144,211,19,70,144,215,19,76,144,82,144,107,7,88,144,94,144,100,144,106,144,84,9,227,19,231,19,235,19,112,144,243,19,247,19,118,144,124,144,251,19,255,19,3,20,130,144,7,20,11,20,80,9,15,20,23,20,27,20,31,20,35,20,39,20,43,20,47,20,51,20,250,110,36,111,55,20,226,117,111,7,40,3,127,20,131,20,135,20,139,20,143,20,214,144,147,20,220,144,151,20,111,43,155,20,68,217,159,20,116,43,73,41,183,41,167,20,171,20,226,144,232,144,175,20,193,41,128,9,179,20,238,144,198,41,203,41,183,20,19,196,191,20,244,144,195,20,199,20,203,20,250,144,0,145,211,20,215,20,6,145,32,1,30,145,160,134,223,20,36,145,42,145,48,145,0,3,227,20,231,20,121,43,54,145,159,40,145,69,60,145,58,110,66,39,251,195,78,145,84,145,235,20,236,106,126,43,90,145,9,109,96,145,38,41,102,145,108,145,239,20,243,20,4,3,164,40,247,20,251,20,255,20,3,21,7,21,11,21,135,7,15,21,19,21,11,44,114,145,23,21,120,145,27,21,31,21,39,21,126,145,43,21,47,21,166,134,16,0,51,21,139,7,55,21,92,9,59,21,132,145,143,7,63,21,67,21,138,145,71,21,177,43,75,21,79,21,130,110,144,145,83,21,64,110,136,110,87,21,239,40,91,21,95,21,60,39,99,21,117,109,103,21,107,21,150,145,156,145,111,21,115,21,119,21,41,39,174,145,127,21,167,7,210,145,244,40,135,21,139,21,171,7,234,145,240,145,246,145,252,145,2,146,167,21,171,21,175,21,179,21,232,2,35,40,14,146,20,146,56,146,152,146,242,146,46,147,52,147,239,21,243,21,137,42,247,21,28,3,58,147,64,147,251,21,70,147,76,147,255,21,22,110,82,147,3,22,7,22,88,147,94,147,15,22,100,147,112,147,23,22,140,109,27,22,31,22,35,22,118,147,124,147,130,147,136,147,142,147,148,147,154,147,160,147,43,22,166,147,47,22,51,22,55,22,204,178,172,147,63,22,247,108,178,147,67,22,184,147,75,22,79,22,83,22,87,22,91,22,190,147,196,147,202,147,250,123,208,147,214,147,33,106,220,147,226,147,232,147,238,147,151,43,107,22,244,147,115,22,119,22,123,22,127,22,187,2,131,22,135,22,139,22,250,147,6,148,223,7,12,111,12,148,183,22,187,22,18,148,191,22,227,7,152,42,199,22,44,3,24,148,30,148,36,148,42,148,211,22,27,112,215,22,219,22,48,148,223,22,54,148,60,148,227,22,66,148,72,148,78,148,231,22,84,148,90,148,235,22,243,22,96,148,247,22,102,148,251,22,108,148,78,111,255,22,3,23,33,109,114,148,120,148,126,148,132,148,15,23,19,23,23,23,31,23,35,23,227,43,43,23,138,148,47,23,51,23,55,23,59,23,63,23,67,23,204,1,144,148,18,111,150,148,75,23,79,23,83,23,156,148,239,7,87,23,91,23,95,23,99,23,103,23,125,69,162,148,168,148,174,148,180,148,186,148,107,23,192,148,198,148,204,148,76,110,111,23,172,43,210,148,216,148,222,148,228,148,234,148,240,148,115,23,119,23,166,39,123,23,127,23,131,23,135,23,139,23,246,148,252,148,2,149,147,23,151,23,180,69,155,23,243,7,159,23,35,107,249,40,163,23,167,23,171,23,175,23,8,3,8,149,14,149,179,23,142,110,183,23,187,23,191,23,195,23,199,23,203,23,27,109,207,23,20,149,21,1,48,3,211,23,24,218,219,23,26,149,32,149,38,149,44,149,174,40,227,23,231,23,157,42,235,23,239,23,243,23,86,39,50,149,251,23,56,149,230,203,62,149,68,149,255,23,3,24,60,111,231,2,115,108,7,24,11,24,15,24,74,149,19,24,23,24,27,24,31,24,35,24,39,24,112,9,43,24,47,24,51,24,55,24,59,24,80,149,63,24,57,136,179,40,86,149,92,149,98,149,104,149,75,24,110,149,254,40,66,111,79,24,191,2,116,149,72,111,122,149,184,40,164,109,95,24,128,149,134,149,189,40,140,149,226,110,146,149,99,24,152,149,158,149,103,24,72,9,107,24,111,24,82,110,115,24,119,24,123,24,127,24,155,196,131,24,164,149,144,111,170,149,135,24,139,24,176,149,244,2,148,110,194,149,206,149,175,24,212,149,179,24,224,149,12,3,230,149,183,24,236,149,187,24,242,149,248,149,63,109,191,24,3,41,195,24,199,24,203,24,207,24,211,24,215,24,219,24,223,24,227,24,231,24,235,24,243,24,8,41,80,40,254,149,247,24,4,150,194,40,10,150,22,150,255,24,28,150,34,150,3,25,40,150,7,25,46,150,11,25,15,25,19,25,23,25,27,25,52,150,58,150,42,135,35,25,64,150,56,43,39,25,43,25,47,25,51,25,55,25,70,150,76,150,82,150,71,9,59,25,88,150,63,25,67,25,71,25,75,25,79,25,94,150,100,150,83,25,87,25,91,25,106,150,95,25,99,25,103,25,112,150,118,150,107,25,111,25,144,40,124,150,115,25,119,25,43,41,123,25,127,25,130,150,146,109,131,25,135,25,139,25,143,25,136,150,147,25,142,150,151,25,148,150,154,150,160,150,166,150,155,25,159,25,228,2,163,25,167,25,171,25,175,25,179,25,183,25,31,44,172,150,150,111,178,150,184,150,190,150,196,150,202,150,156,111,208,150,214,150,220,150,226,150,232,150,52,3,238,150,0,151,6,151,24,151,88,110,30,151,132,9,36,151,42,151,48,151,54,151,24,1,60,151,66,151,72,151,80,3,78,151,5,40,90,151,176,39,96,151,102,151,15,109,108,151,114,151,120,151,126,151,57,109,255,25,132,151,138,151,144,151,150,151,156,151,162,151,168,151,174,151,180,151,21,44,186,151,192,151,198,151,204,151,130,70,210,151,222,151,228,151,146,39,234,151,240,151,232,43,246,151,252,151,10,40,2,152,8,152,14,152,55,26,20,152,26,152,32,152,56,3,38,152,44,152,247,42,56,152,62,152,131,39,68,152,74,152,80,152,83,26,86,152,71,44,92,152,98,152,104,152,110,152,116,152,122,152,95,26,128,152,134,152,99,26,140,152,103,26,146,152,152,152,158,152,111,26,115,26,60,3,164,152,170,152,176,152,182,152,188,152,119,26,208,41,194,152,200,152,123,26,206,152,65,70,212,152,218,152,224,152,236,152,135,26,139,26,143,26,147,26,151,26,242,152,248,152,254,152,4,153,10,153,163,26,16,153,22,153,167,26,34,70,171,26,28,153,34,153,40,153,253,108,46,153,100,110,52,153,58,153,175,26,179,26,252,42,183,26,30,40,64,153,70,153,191,26,195,26,76,153,208,110,199,26,203,26,207,26,124,134,211,26,103,8,82,153,215,26,219,26,223,26,227,26,88,153,100,153,112,153,118,153,124,153,255,26,60,70,3,27,130,153,136,153,111,8,15,27,6,44,232,107,142,153,148,153,154,153,3,109,31,27,66,43,35,27,39,27,43,27,47,27,30,154,36,154,55,27,42,154,59,27,63,27,67,27,71,27,75,27,225,39,79,27,83,27,87,27,48,154,66,154,84,154,114,154,120,154,138,154,99,27,144,154,150,154,156,154,162,154,168,154,174,154,180,154,186,154,192,154,51,39,198,154,210,154,135,70,228,154,234,154,240,154,246,154,136,39,252,154,2,155,8,155,14,155,20,155,33,112,136,156,142,156,240,2,154,156,160,156,166,156,172,156,191,27,178,156,184,156,116,39,214,156,220,156,226,156,203,27,232,156,238,156,211,27,244,156,250,156,0,157,6,157,12,157,52,196,18,157,24,157,26,39,36,157,42,157,64,3,48,157,54,157,60,157,66,157,72,157,78,157,84,157,90,157,96,157,102,157,108,157,114,157,120,157,251,27,132,157,151,39,144,157,150,157,156,157,162,157,168,157,180,157,186,157,251,39,204,157,210,157,216,157,81,39,222,157,228,157,234,157,39,28,240,157,246,157,43,28,47,28,116,9,252,157,2,158,8,158,186,39,20,158,32,158,38,158,83,41,83,28,87,28,88,41,91,28,25,40,44,158,50,158,56,158,185,69,62,158,68,158,74,158,80,158,86,158,107,28,92,158,104,158,110,158,116,158,122,158,128,158,111,28,181,39,213,41,115,28,78,108,1,43,152,158,93,41,119,28,158,158,164,158,249,106,170,158,176,158,182,158,188,158,15,40,131,28,194,158,200,158,206,158,212,158,224,158,230,158,159,28,236,158,163,28,167,28,242,158,171,28,248,158,175,28,179,28,183,28,96,39,254,158,4,159,187,28,10,159,191,28,195,28,16,159,199,28,203,28,22,159,28,159,34,159,218,41,40,159,211,28,46,159,223,41,199,40,52,159,58,159,157,43,219,28,223,28,227,28,70,159,231,28,235,28,239,28,106,110,243,28,247,28,76,159,251,28,82,159,255,28,3,29,88,159,94,159,11,29,16,3,100,159,106,159,19,29,23,29,27,29,31,29,175,8,235,2,112,159,39,29,43,29,197,42,47,29,51,29,118,159,55,29,6,43,124,159,84,3,59,29,63,29,67,29,71,29,75,29,79,29,83,29,130,159,87,29,91,29,95,29,136,159,11,43,99,29,150,69,170,109,142,159,103,29,107,29,111,29,76,9,148,159,119,29,36,135,154,159,160,159,166,159,172,159,178,159,127,29,131,29,135,29,184,159,139,29,202,203,143,29,147,29,190,159,8,2,196,159,155,29,159,29,202,159,208,159,214,159,220,159,175,205,211,203,226,159,232,159,238,159,244,159,163,29,167,29,190,212,250,159,171,29,175,29,179,29,134,40,139,40,183,29,197,107,149,40,179,8,168,111,0,160,6,160,12,160,199,29,136,9,16,43,203,29,207,29,18,160,24,160,211,29,30,160,36,160,215,29,42,160,48,160,54,160,60,160,219,29,223,29,227,29,235,29,239,29,243,29,247,29,251,29,255,29,3,30,7,30,36,44,72,160,78,160,84,160,90,160,96,160,102,160,108,160,114,160,55,30,59,30,120,160,71,30,79,30,83,30,87,30,91,30,126,160,132,160,144,160,150,160,168,160,103,30,174,160,107,30,111,30,115,30,230,39,119,30,123,30,127,30,180,160,131,30,135,30,139,30,147,30,151,30,155,30,234,160,252,160,2,161,96,9,8,161,163,30,14,161,20,161,167,30,26,161,32,161,38,161,44,161,75,70,50,161,56,161,62,161,68,161,74,161,80,161,86,161,92,161,98,161,104,161,110,161,167,42,116,161,122,161,191,30,128,161,199,30,134,161,140,161,146,161,207,30,211,30,152,161,158,161,219,30,223,30,227,30,231,30,172,42,164,161,170,161,176,161,182,161,247,30,106,39,177,42,188,161,194,161,206,161,255,30,3,31,222,43,7,31,212,161,218,161,224,161,11,31,230,161,236,161,19,31,242,161,254,161,4,162,22,162,27,31,31,31,28,162,35,31,39,31,43,31,79,31,40,162,83,31,87,31,46,162,91,31,95,31,21,39,172,162,178,162,184,162,190,162,196,162,191,8,195,8,199,8,202,162,208,162,203,8,207,8,214,162,220,39,211,8,191,31,215,8,195,31,220,162,219,8,223,8,103,2,227,8,226,162,231,8,227,31,231,31,232,162,238,162,239,31,244,162,243,31,247,31,112,110,250,162,213,206,251,31,0,163,6,163,12,163,255,31,3,32,160,110,17,42,7,32,18,163,11,32,15,32,19,32,24,163,23,32,36,163,27,32,42,163,31,32,35,32,39,32,48,163,54,163,43,32,67,196,47,32,75,40,60,163,66,163,72,163,55,32,76,44,63,32,67,32,71,32,75,32,79,32,83,32,87,32,91,32,150,70,78,163,84,163,90,163,99,32,103,32,107,32,111,32,115,32,22,42,175,69,119,32,123,32,102,163,127,32,131,32,135,32,139,32,143,32,36,39,108,163,114,163,147,32,126,163,132,163,138,163,68,3,26,43,144,163,151,32,155,32,159,32,163,32,167,32,171,32,175,32,179,32,156,39,150,163,156,163,183,32,162,163,168,163,101,39,200,69,174,163,180,163,186,163,192,163,60,40,198,163,204,163,210,163,216,163,191,32,79,9,167,43,222,163,252,163,227,32,231,32,235,32,239,32,243,32,140,9,2,164,8,164,14,164,255,32,20,164,26,164,32,164,38,164,191,39,194,167,200,167,206,167,212,167,218,167,41,43,224,167,230,167,3,33,20,3,236,167,242,167,120,9,81,43,248,167,254,167,4,168,10,168,0,40,16,168,22,168,28,168,46,44,54,70,34,168,40,168,46,168,90,40,52,168,58,168,70,168,76,168,82,168,15,33,19,33,88,168,23,33,135,106,31,33,35,33,94,168,100,168,106,168,39,33,141,39,112,168,118,168,124,168,130,168,1,44,136,168,142,168,41,44,148,168,154,168,172,110,161,39,160,168,55,33,59,33,166,168,63,33,178,168,184,168,20,40,190,168,174,111,67,33,71,33,106,43,79,33,40,40,83,33,196,168,202,168,208,168,95,33,99,33,214,168,220,168,103,33,107,33,226,168,111,33,232,168,238,168,244,168,250,168,119,33,123,33,127,33,131,33,135,33,0,169,139,33,91,39,6,169,12,169,18,169,24,169,228,41,30,169,36,169,42,169,48,169,54,169,60,169,66,169,83,9,72,169,164,2,78,169,159,33,84,169,233,41,90,169,238,41,163,33,88,3,96,169,102,169,108,169,242,43,114,169,120,169,126,169,132,169,144,169,39,109,175,33,220,178,156,169,162,169,215,69,179,33,168,169,174,169,183,33,220,69,187,33,100,40,180,169,186,169,192,169,198,169,199,33,204,169,210,169,216,169,228,169,240,169,246,169,61,44,252,169,8,170,14,170,105,40,20,170,26,170,32,170,38,170,243,41,4,70,44,170,50,170,56,170,231,33,62,170,68,170,235,33,248,2,74,170,182,43,80,170,86,170,92,170,95,40,98,170,116,170,128,170,134,170,140,170,146,170,9,70,152,170,158,170,164,170,170,170,176,170,188,170,212,170,218,170,224,170,251,33,230,170,236,170,242,170,248,170,152,9,3,34,7,34,254,170,11,34,15,34,19,34,4,171,10,171,225,69,23,34,27,34,16,171,31,34,22,171,35,34,202,42,87,9,92,42,19,70,207,42,39,34,212,42,123,41,43,34,34,171,40,171,128,41,27,42,91,9,32,3,242,173,199,2,47,34,248,173,133,41,51,34,55,34,243,2,59,34,63,34,69,109,227,178,254,173,211,178,4,174,67,34,10,174,71,34,16,174,22,174,75,34,28,174,32,42,79,34,34,174,83,34,138,41,40,174,46,174,91,34,95,34,135,69,99,34,143,41,52,174,95,39,107,34,111,34,115,34,123,34,95,9,127,34,160,2,58,174,64,174,97,42,70,174,217,42,76,174,148,41,135,34,230,69,139,34,222,42,154,209,143,34,147,34,247,2,151,34,155,34,163,34,167,34,153,41,171,34,175,34,169,40,179,34,203,107,43,9,251,2,82,174,88,174,94,174,100,174,187,34,191,34,195,34,124,9,112,174,118,174,124,174,84,108,23,35,27,35,50,40,136,174,142,174,153,207,22,214,148,174,31,35,35,35,154,174,160,174,51,35,55,35,59,35,166,174,172,174,178,174,63,35,67,35,71,35,252,43,180,111,75,35,79,35,47,9,184,174,83,35,190,69,19,40,87,35,190,174,91,35,95,35,164,9,196,174,202,174,208,174,214,174,220,174,226,174,103,41,99,35,103,35,107,35,232,174,238,174,111,35,115,35,244,174,250,174,0,175,6,175,119,35,123,35,12,175,127,35,131,35,135,35,139,35,147,35,141,43,151,35,155,35,7,3,18,175,24,175,159,35,30,175,167,35,248,41,171,35,36,175,175,35,4,40,24,70,145,39,9,40,179,35,183,35,187,35,191,35,42,175,48,175,214,40,54,175,60,175,66,175,72,175,78,175,84,175,90,175,96,175,195,35,102,42,107,42,102,175,112,42,219,40,15,3,36,3,108,175,108,41,118,110,114,175,120,175,199,35,203,35,207,35,215,35,126,175,132,175,138,175,144,175,117,42,223,35,227,35,19,3,150,175,156,175,231,35,162,175,235,35,239,35,243,35,168,175,247,35,251,35,174,175,255,35,180,175,186,175,192,175,7,36,11,36,15,36,19,36,23,36,31,36,155,2,198,175,35,36,39,36,204,175,43,36,210,175,23,3,216,175,99,9,222,175,228,175,51,36,55,36,63,36,234,175,103,9,240,175,246,175,107,9,252,175,67,36,71,36,75,36,79,36,83,36,87,36,91,36,95,36,99,36,103,36,107,36,2,176,111,36,8,176,115,36,14,176,27,3,20,176,119,36,26,176,123,36,127,36,131,36,104,2,135,36,32,176,139,36,143,36,38,176,151,36,111,9,155,36,159,36,44,176,167,36,171,36,175,36,179,36,50,176,56,176,62,176,68,176,187,36,191,36,74,176,195,36,199,36,203,36,80,176,86,176,92,176,115,9,98,176,104,176,110,176,116,176,122,176,219,36,223,36,227,36,128,176,231,36,235,36,134,176,140,176,243,36,247,36,146,176,152,176,251,36,255,36,158,176,7,37,164,176,11,37,170,176,176,176,182,176,188,176,19,37,194,176,200,176,206,176,23,37,212,176,31,37,31,3,35,37,218,176,159,2,224,176,123,9,39,37,230,176,43,37,47,37,236,176,51,37,242,176,35,3,55,37,59,37,63,37,67,37,71,37,75,37,79,37,83,37,248,176,254,176,87,37,91,37,43,1,95,37,99,37,4,177,10,177,107,37,16,177,22,177,111,37,91,43,115,37,119,37,91,2,70,39,127,37,131,37,139,37,143,37,39,3,28,177,127,9,34,177,151,37,155,37,159,37,40,177,163,37,46,177,43,3,167,37,46,43,171,37,44,70,175,37,156,2,47,3,52,177,58,177,183,37,191,37,195,37,51,3,131,9,64,177,199,37,70,177,55,3,76,177,203,37,59,3,207,37,82,177,211,37,215,37,219,37,88,177,94,177,100,177,223,37,227,37,231,37,106,177,235,37,112,177,118,177,37,42,243,37,247,37,26,44,251,37,255,37,3,38,124,177,7,38,130,177,136,177,142,177,11,38,148,177,15,38,154,177,19,38,160,177,27,38,67,3,31,38,166,177,139,9,172,177,178,177,35,38,90,39,143,9,39,38,147,9,151,9,184,177,190,177,196,177,113,41,202,177,47,38,51,38,42,42,55,38,59,38,63,38,208,177,214,177,67,38,71,38,75,38,220,177,79,38,83,38,87,38,91,38,95,38,99,38,103,38,92,3,226,177,232,177,238,177,245,39,107,38,71,3,111,38,244,177,115,38,75,3,119,38,155,9,123,38,127,38,250,177,31,1,0,178,131,38,6,178,135,38,44,1,27,1,139,38,203,1,143,38,12,178,18,178,24,178,159,9,147,38,30,178,151,38,36,178,79,3,42,178,20,44,48,178,155,38,130,39,159,38,163,38,54,178,171,38,175,38,179,38,60,178,250,39,66,178,24,40,183,38,187,38,83,3,191,38,7,2,195,38,72,178,78,178,199,38,203,38,207,38,84,178,211,38,155,39,90,178,140,39,160,39,163,2,87,3,96,178,102,178,108,178,114,178,236,2,215,38,219,38,120,178,223,38,163,9,235,38,239,38,243,38,247,38,91,3,251,38,6,0,52,162,58,162,64,162,70,162,76,162,82,162,3,0,147,27,154,110,227,38,12,0,124,2,148,0,112,2,152,2,157,0,20,2,172,0,28,2,136,2,16,2,24,2,178,0,24,0,66,136,92,109,212,112,242,106,72,136,41,197,104,109,28,107,242,112,78,136,66,108,84,136,146,112,72,108,90,136,95,3,96,136,184,105,50,112,106,113,148,2,184,0,169,0,216,2,2,0,86,72,91,72,120,0,163,70,127,108,168,70,117,106,173,70,178,70,188,1,193,70,198,70,203,70,208,70,213,70,218,70,76,1,228,70,233,70,238,70,149,107,243,70,133,105,223,111,153,70,47,107,155,107,13,0,154,0,219,106,108,1,255,38,12,71,22,71,51,106,80,2,181,105,27,71,32,71,37,71,42,71,221,107,59,107,147,106,57,71,92,1,62,71,82,71,87,71,92,71,175,108,159,106,97,71,163,105,102,71,107,71,172,1,244,1,82,0,112,71,137,71,192,1,152,1,142,71,85,0,72,1,157,71,162,71,15,106,136,0,177,71,167,107,175,105,182,71,177,106,83,107,183,106,240,1,173,107,212,71,217,71,222,71,195,106,231,106,91,0,0,2,80,1,68,1,36,1,75,106,6,72,11,72,16,72,185,107,21,72,116,2,31,72,36,72,41,72,22,0,113,107,46,72,229,105,120,1,157,105,40,2,154,205,66,72,224,1,125,107,191,107,211,108,41,219,200,1,105,106,140,1,207,106,64,0,67,0,196,1,145,105,21,106,111,106,4,0,220,2,232,71,237,71,242,71,2,0,17,179,24,179,164,0,210,196,79,44,183,70,210,195,84,44,226,196,89,44,94,44,99,44,223,70,104,44,234,195,124,69,133,40,238,178,119,39,109,44,114,44,29,39,119,44,108,40,124,44,248,70,138,40,253,70,129,44,202,195,147,203,2,71,7,71,202,196,134,44,139,44,144,44,17,71,10,196,114,196,50,197,47,71,52,71,149,44,154,44,54,39,218,196,250,196,67,71,186,196,242,196,159,44,245,178,72,71,42,196,154,196,77,71,164,44,129,69,66,196,134,69,124,39,194,196,169,44,2,196,113,40,82,196,117,71,122,71,234,196,2,197,127,71,90,196,58,196,132,71,174,44,122,196,194,195,179,44,184,44,252,178,189,44,194,44,199,44,204,44,167,71,209,44,214,44,139,69,172,71,219,44,224,44,144,69,138,196,229,44,162,196,234,44,165,203,58,70,50,196,187,71,192,71,239,44,244,44,197,71,106,196,202,71,249,44,254,44,3,45,170,196,8,45,13,45,207,71,18,45,227,71,23,45,118,40,28,45,33,45,38,45,43,45,48,45,143,40,53,45,94,39,123,40,194,39,58,45,150,43,178,196,63,45,68,45,10,197,130,196,26,72,149,69,148,40,24,44,73,45,28,40,74,39,78,45,83,45,88,45,93,45,98,196,51,72,98,45,18,196,59,39,103,45,108,45,44,39,34,196,113,45,56,72,61,72,118,45,153,40,71,72,123,45,76,72,128,45,128,40,96,72,133,45,3,0,3,179,252,71,10,179,9,0,188,70,247,71,101,72,106,72,111,72,116,72,121,72,126,72,131,72,50,1,20,73,25,73,30,73,35,73,40,73,45,73,50,73,55,73,60,73,65,73,70,73,75,73,108,179,80,73,85,73,90,73,95,73,100,73,105,73,110,73,154,69,115,73,120,73,125,73,115,179,130,73,159,69,164,69,135,73,140,73,145,73,150,73,155,73,220,179,160,73,248,75,182,76,197,76,202,76,217,76,135,181,142,181,184,181,191,181,198,181,205,181,212,181,219,181,11,77,226,181,247,197,255,197,7,198,15,198,95,198,103,198,146,77,151,77,29,44,19,44,63,70,68,70,156,77,34,44,73,70,161,77,39,44,166,77,171,77,176,77,194,79,199,79,204,79,209,79,214,79,219,79,224,79,229,79,234,79,239,79,244,79,101,52,106,82,162,145,106,52,123,21,168,145,111,52,180,145,201,82,206,82,186,145,192,145,122,134,167,7,198,145,116,52,211,82,131,21,121,52,204,145,126,52,131,52,216,145,216,82,222,145,136,52,228,145,141,52,221,82,44,146,50,146,134,134,68,146,74,146,80,146,86,146,104,146,110,146,116,146,122,146,128,146,146,134,146,146,152,134,158,146,164,134,170,146,188,146,194,146,170,134,200,146,206,146,212,146,218,146,224,146,230,146,236,146,16,147,40,147,0,83,5,83,65,83,200,184,207,184,214,184,221,184,228,184,235,184,242,184,249,184,0,185,7,185,70,83,185,83,190,83,195,83,200,83,205,83,210,83,215,83,220,83,214,69,219,69,225,83,230,83,235,83,240,83,245,83,250,83,255,83,4,84,9,84,14,84,19,84,224,69,53,85,58,85,115,186,39,1,188,149,182,134,200,149,188,134,233,85,22,86,82,86,87,86,142,86,207,86,50,152,13,90,19,27,23,27,27,27,160,153,191,199,199,199,166,153,207,199,39,197,223,199,231,199,239,199,247,199,255,199,212,134,15,200,23,200,218,134,224,134,184,153,144,112,39,200,47,200,208,153,63,200,71,200,79,200,87,200,236,134,103,200,111,200,232,153,238,153,127,200,135,200,0,154,18,154,24,154,19,189,102,154,108,154,132,154,124,189,131,189,138,189,145,189,152,189,159,189,166,189,173,189,180,189,30,157,18,70,249,94,254,94,3,95,8,95,103,95,108,95,13,40,113,95,118,95,123,95,128,95,138,157,132,61,137,61,187,61,253,190,4,191,253,95,2,96,7,96,11,191,12,96,17,96,32,96,35,29,175,8,142,96,28,70,232,96,237,96,242,96,69,44,247,96,33,70,252,96,38,70,1,97,6,97,11,97,16,97,165,191,21,97,26,97,31,97,144,64,178,134,104,170,110,170,122,170,182,170,194,170,200,170,206,170,101,67,136,67,186,67,231,67,251,67,10,68,53,105,58,105,227,11,38,179,138,45,143,45,148,45,153,45,158,40,158,45,163,40,87,197,132,109,128,113,134,113,140,113,146,113,152,113,138,109,158,113,164,113,170,113,144,109,176,113,182,113,188,113,194,113,200,113,206,113,212,113,218,113,224,113,230,113,236,113,242,113,248,113,254,113,4,114,10,114,16,114,106,108,22,114,28,114,34,114,66,179,73,179,94,179,101,179,163,45,3,107,168,45,173,45,178,45,183,45,188,45,193,45,198,45,203,45,208,45,40,114,46,114,52,114,58,114,64,114,111,197,70,114,76,114,82,114,150,109,88,114,230,107,94,114,100,114,106,114,112,108,156,109,212,137,230,137,242,137,10,138,112,114,118,114,213,45,124,114,218,45,130,114,136,114,168,40,142,114,148,114,154,114,160,114,166,114,172,114,178,114,244,39,184,114,236,107,190,114,196,114,202,114,208,114,214,114,220,114,226,114,232,114,33,40,238,114,244,114,250,114,0,115,6,115,162,109,12,115,18,115,24,115,30,115,129,39,36,115,42,115,48,115,54,115,134,39,249,39,60,115,155,43,223,45,168,109,66,115,72,115,78,115,84,115,90,115,96,115,102,115,174,109,228,45,108,115,114,115,120,115,183,197,126,115,132,115,138,115,144,115,150,115,254,39,156,115,162,115,139,39,168,115,174,115,180,115,186,115,233,45,192,115,198,115,204,115,210,115,216,115,238,45,222,115,196,111,191,197,228,115,234,115,240,115,234,179,241,179,255,179,6,180,13,180,20,180,27,180,34,180,41,180,208,138,246,115,252,115,2,116,8,116,14,116,20,116,26,116,32,116,38,116,32,107,44,116,50,116,56,116,62,180,69,180,207,197,180,109,62,116,186,109,68,116,74,116,80,116,86,116,92,116,98,116,104,116,110,116,116,116,122,116,128,116,134,116,215,197,140,116,146,116,152,116,158,116,164,116,170,116,176,116,182,116,188,116,194,116,200,116,206,116,192,109,212,116,218,116,224,116,230,116,236,116,242,116,248,116,254,116,4,117,198,109,10,117,16,117,83,180,90,180,97,180,111,180,243,45,248,45,125,180,173,40,253,45,2,46,7,46,178,40,12,46,17,46,183,40,22,46,27,46,188,40,32,46,37,46,42,46,47,46,139,180,193,40,52,46,57,46,62,46,67,46,72,46,77,46,82,46,87,46,92,46,97,46,102,46,107,46,198,40,150,139,90,108,36,108,162,139,174,139,112,46,117,46,122,46,127,46,188,180,132,46,137,46,142,46,147,46,152,46,157,46,162,46,167,46,195,180,202,180,172,46,177,46,182,46,187,46,209,180,216,180,192,46,197,46,202,46,207,46,212,46,217,46,222,46,227,46,232,46,237,46,242,46,247,46,252,46,203,40,1,47,6,47,253,106,11,47,16,47,21,47,26,47,31,47,36,47,41,47,46,47,230,180,51,47,208,40,56,47,61,47,66,47,71,47,76,47,38,40,81,47,244,180,251,180,2,181,9,181,86,47,91,47,96,47,101,47,39,39,106,47,111,47,160,43,116,47,3,40,8,40,213,40,121,47,218,40,165,43,30,181,126,47,43,40,131,47,170,43,164,39,136,47,141,47,48,40,146,47,53,40,22,117,151,47,99,39,28,117,156,47,161,47,166,47,171,47,176,47,58,181,181,47,186,47,191,47,196,47,201,47,206,47,211,47,216,47,79,181,221,47,223,40,226,47,231,47,228,40,233,40,236,47,241,47,246,47,251,47,0,48,86,181,5,48,10,48,15,48,20,48,25,48,30,48,35,48,40,48,45,48,50,48,34,117,55,48,60,48,65,48,70,48,75,48,80,48,85,48,90,48,238,40,95,48,100,48,243,40,105,48,110,48,107,181,63,7,67,7,170,140,40,117,115,48,120,48,125,48,130,48,135,48,140,48,145,48,150,48,155,48,160,48,165,48,170,48,175,48,180,48,185,48,121,181,190,48,195,48,200,48,248,40,205,48,210,48,215,48,133,178,220,48,225,48,230,48,235,48,240,48,245,48,253,40,250,48,255,48,4,49,2,41,9,49,14,49,7,41,19,49,24,49,29,49,34,49,39,49,44,49,49,49,54,49,59,49,64,49,69,49,74,49,79,49,12,41,84,49,17,41,89,49,94,49,99,49,104,49,109,49,114,49,119,49,124,49,129,49,134,49,139,49,144,49,149,49,175,43,154,49,159,49,164,49,169,49,233,181,174,49,179,49,240,181,184,49,189,49,194,49,199,49,22,41,204,49,209,49,27,41,214,49,247,181,219,49,224,49,229,49,234,49,239,49,244,49,249,49,32,41,254,49,46,117,52,117,58,117,64,117,70,117,76,117,82,117,88,117,94,117,100,117,106,117,112,117,118,117,124,117,3,50,130,117,204,109,136,117,142,117,148,117,154,117,160,117,166,117,172,117,178,117,184,117,190,117,210,109,196,117,202,117,208,117,214,117,220,117,79,7,83,7,106,141,87,7,91,7,8,50,13,50,33,182,40,182,18,50,95,7,23,50,28,50,33,50,38,50,43,50,48,50,53,50,58,50,63,50,68,50,73,50,78,50,83,50,99,7,58,40,88,50,54,182,93,50,98,50,103,50,108,50,180,43,82,182,113,50,118,50,23,198,31,198,123,50,39,198,128,50,47,198,133,50,55,198,138,50,63,198,185,43,71,198,190,43,79,198,143,50,87,198,148,50,111,198,195,43,119,198,153,50,127,198,200,43,135,198,205,43,143,198,158,50,163,50,168,50,173,50,178,50,183,50,188,50,193,50,198,50,203,50,208,50,213,50,199,39,218,50,204,39,37,41,124,182,131,182,42,41,223,50,145,182,159,182,166,182,180,182,187,182,194,182,201,182,208,182,222,182,229,182,236,182,243,182,250,182,136,144,142,144,226,117,15,183,148,144,154,144,232,117,151,198,238,117,244,117,250,117,0,118,6,118,12,118,18,118,24,118,30,118,36,118,42,118,23,196,48,118,54,118,216,109,60,118,66,118,72,118,78,118,84,118,90,118,228,50,233,50,96,118,159,198,167,198,242,107,238,50,248,107,254,107,102,118,243,50,108,118,114,118,120,118,248,50,222,109,126,118,253,50,132,118,4,108,2,51,138,118,144,118,150,118,228,109,234,109,7,51,156,118,162,118,168,118,240,109,174,118,12,51,180,118,186,118,192,118,17,51,198,118,204,118,210,118,216,118,246,109,222,118,22,51,10,108,27,51,79,197,252,109,228,118,234,118,32,51,240,118,16,108,37,51,246,118,42,51,252,118,2,119,8,119,2,110,14,119,20,119,26,119,32,119,8,110,38,119,44,119,50,119,47,51,52,51,56,119,115,7,57,51,62,51,62,119,67,51,72,51,77,51,82,51,87,51,68,119,92,51,97,51,47,41,74,119,102,51,80,119,86,119,92,119,98,119,104,119,110,119,107,51,112,51,117,51,122,51,127,51,132,51,235,39,137,51,142,51,147,51,71,183,152,51,119,7,157,51,162,51,167,51,123,7,78,183,172,51,85,183,92,183,52,41,177,51,57,41,182,51,187,51,192,51,240,39,62,41,197,51,211,43,200,39,202,51,207,51,212,51,48,108,217,51,99,183,222,51,227,51,232,51,237,51,215,39,242,51,127,7,247,51,252,51,67,41,1,52,236,106,6,52,11,52,16,52,21,52,26,52,205,39,106,183,31,52,131,7,36,52,41,52,46,52,210,39,51,52,56,52,63,40,61,52,66,52,71,52,76,52,81,52,86,52,91,52,120,183,96,52,134,183,141,183,155,183,162,183,147,7,151,7,155,7,159,7,163,7,116,119,122,119,128,119,134,119,211,183,218,183,140,119,225,183,232,183,239,183,246,183,253,183,4,184,146,119,152,119,11,184,158,119,18,184,25,184,32,184,207,198,22,108,14,110,164,119,170,119,176,119,20,110,182,119,188,119,194,119,200,119,206,119,212,119,218,119,8,146,215,198,224,119,230,119,236,119,242,119,248,119,254,119,4,120,10,120,223,198,16,120,22,120,28,120,34,120,40,120,46,120,52,120,58,120,64,120,70,120,76,120,82,120,231,198,88,120,94,120,100,120,106,120,112,120,118,120,124,120,130,120,136,120,142,120,26,110,148,120,154,120,160,120,32,110,166,120,172,120,178,120,184,120,190,120,196,120,38,110,202,120,208,120,44,110,214,120,239,198,220,120,226,120,50,110,232,120,238,120,244,120,250,120,0,121,6,121,12,121,247,198,56,110,18,121,234,106,24,121,30,121,36,121,62,110,42,121,48,121,54,121,60,121,68,110,28,108,255,198,66,121,72,121,78,121,84,121,90,121,96,121,74,110,102,121,108,121,114,121,120,121,126,121,80,110,132,121,138,121,144,121,150,121,86,110,156,121,162,121,168,121,174,121,180,121,186,121,92,110,192,121,198,121,204,121,210,121,216,121,98,110,222,121,228,121,234,121,240,121,246,121,252,121,2,122,8,122,14,122,20,122,26,122,32,122,38,122,44,122,50,122,56,122,62,122,68,122,74,122,80,122,86,122,92,122,98,122,104,122,110,122,116,122,122,122,104,110,128,122,134,122,140,122,146,122,152,122,158,122,164,122,170,122,176,122,182,122,188,122,194,122,200,122,206,122,110,110,212,122,218,122,224,122,230,122,236,122,242,122,248,122,254,122,4,123,10,123,16,123,252,106,22,123,28,123,34,123,40,123,7,199,46,123,52,123,15,199,58,123,64,123,70,123,23,199,76,123,31,199,82,123,88,123,94,123,100,123,106,123,112,123,118,123,124,123,130,123,136,123,142,123,244,108,148,123,154,123,160,123,166,123,172,123,178,123,184,123,190,123,250,108,196,123,0,109,202,123,208,123,116,110,214,123,220,123,226,123,232,123,238,123,244,123,194,107,6,109,67,184,146,52,151,52,156,52,161,52,166,52,72,41,171,52,176,52,181,52,81,184,209,39,186,52,191,52,196,52,201,52,206,52,211,52,216,52,221,52,226,52,231,52,236,52,241,52,246,52,251,52,0,53,5,53,10,53,15,53,20,53,25,53,30,53,77,41,175,7,250,123,179,7,183,7,187,7,137,184,35,53,191,7,40,53,195,7,45,53,50,53,55,53,60,53,199,7,82,41,65,53,87,41,70,53,75,53,203,7,144,184,151,184,158,184,80,53,207,7,85,53,90,53,92,41,211,7,165,184,172,184,215,7,95,53,97,41,100,53,105,53,110,53,115,53,120,53,125,53,130,53,219,7,135,53,140,53,187,2,145,53,150,53,155,53,160,53,0,148,28,185,35,185,42,185,165,53,63,185,169,39,102,41,170,53,231,7,30,108,107,41,175,53,235,7,180,53,185,53,215,43,69,39,190,53,64,39,195,53,200,53,220,43,205,53,112,41,210,53,215,53,112,185,117,41,220,53,225,53,230,53,235,53,240,53,245,53,250,53,255,53,4,54,9,54,14,54,19,54,24,54,126,185,133,185,140,185,9,107,29,54,34,54,154,185,39,54,44,54,49,54,161,185,54,54,59,54,64,54,69,54,74,54,79,54,68,40,122,41,127,41,84,54,89,54,94,54,99,54,132,41,104,54,225,43,109,54,114,54,119,54,174,39,230,43,137,41,142,41,124,54,129,54,134,54,104,39,139,54,144,54,149,54,147,41,175,185,182,185,154,54,159,54,164,54,169,54,152,41,174,54,179,54,184,54,189,54,182,178,194,54,199,54,157,41,203,185,204,54,209,54,214,54,162,41,210,185,219,54,217,185,224,54,229,54,234,54,239,54,244,54,224,185,231,185,167,41,249,54,238,185,254,54,245,185,252,185,3,55,247,7,172,41,10,186,177,41,251,7,8,55,255,7,182,41,187,41,192,41,3,8,13,55,18,55,197,41,202,41,23,55,7,8,28,55,17,186,33,55,38,55,214,39,43,55,11,8,48,55,53,55,24,186,15,8,207,41,58,55,191,2,63,55,19,8,68,55,73,55,52,186,78,55,199,206,83,55,88,55,93,55,98,55,103,55,108,55,113,55,118,55,123,55,128,55,133,55,212,41,138,55,143,55,148,55,153,55,158,55,163,55,168,55,173,55,178,55,183,55,188,55,193,55,217,41,198,55,222,41,203,55,208,55,213,55,218,55,223,55,80,186,228,55,233,55,238,55,243,55,248,55,253,55,2,56,7,56,12,56,17,56,22,56,27,56,32,56,37,56,219,39,94,186,101,186,108,186,42,56,182,149,0,124,6,124,12,124,122,110,18,124,24,124,30,124,36,124,34,108,42,124,48,124,54,124,60,124,66,124,72,124,128,110,134,110,78,124,84,124,90,124,96,124,102,124,108,124,114,124,120,124,126,124,132,124,138,124,144,124,140,110,146,110,150,124,156,124,162,124,168,124,174,124,152,110,180,124,186,124,158,110,192,124,198,124,12,109,204,124,18,109,210,124,164,110,216,124,222,124,228,124,234,124,87,199,240,124,246,124,252,124,2,125,8,125,14,125,20,125,26,125,170,110,32,125,38,125,44,125,50,125,176,110,56,125,62,125,47,56,52,56,57,56,62,56,67,56,72,56,77,56,82,56,87,56,92,56,97,56,102,56,107,56,112,56,117,56,122,56,189,178,127,56,132,56,137,56,149,178,142,56,136,186,147,56,152,56,227,41,157,56,162,56,167,56,143,186,150,186,172,56,157,186,177,56,182,56,187,56,164,186,171,186,192,56,197,56,202,56,207,56,212,56,232,41,217,56,237,41,222,56,227,56,232,56,237,56,242,56,247,56,252,56,1,57,6,57,11,57,178,186,185,186,16,57,21,57,192,186,199,186,26,57,31,57,36,57,41,57,242,41,206,186,46,57,51,57,213,186,56,57,220,186,61,57,66,57,71,57,76,57,81,57,86,57,227,186,91,57,96,57,234,186,241,186,248,186,101,57,106,57,255,186,6,187,111,57,116,57,13,187,121,57,126,57,131,57,136,57,141,57,34,187,41,187,146,57,151,57,156,57,161,57,166,57,171,57,176,57,181,57,186,57,191,57,196,57,201,57,62,187,69,187,76,187,83,187,90,187,104,187,111,187,118,187,125,187,132,187,244,150,206,57,211,57,23,8,12,151,27,8,31,8,35,8,153,187,39,8,160,187,18,151,43,8,54,108,47,8,51,8,55,8,59,8,188,187,195,187,216,57,63,8,195,2,209,187,221,57,216,187,226,57,230,187,237,187,244,187,231,57,236,57,241,57,246,57,247,41,144,39,251,57,68,125,74,125,182,110,80,125,86,125,92,125,98,125,104,125,110,125,116,125,122,125,128,125,24,109,134,125,200,107,140,125,30,109,252,41,23,188,1,42,0,58,5,58,10,58,15,58,20,58,25,58,30,58,35,58,6,42,40,58,45,58,11,42,50,58,55,58,60,58,65,58,70,58,37,188,75,58,80,58,85,58,51,188,58,188,65,188,79,188,86,188,67,8,100,188,71,8,107,188,75,8,114,188,79,8,121,188,83,8,128,188,87,8,135,188,91,8,142,188,95,8,149,188,99,8,156,188,90,58,95,58,100,58,105,58,110,58,16,42,115,58,120,58,125,58,130,58,149,39,135,58,140,58,21,42,145,58,94,153,106,153,184,188,191,188,198,188,205,188,212,188,219,188,150,58,155,58,160,58,165,58,170,58,175,58,180,58,185,58,190,58,195,58,200,58,205,58,210,58,215,58,220,58,26,42,225,58,31,42,230,58,235,58,73,40,240,58,245,58,146,125,152,125,240,106,215,199,158,125,164,125,170,125,7,200,176,125,182,125,188,110,194,110,200,110,31,200,188,125,55,200,194,125,200,125,206,125,95,200,212,125,218,125,224,125,230,125,119,200,236,125,143,200,24,112,242,125,248,125,206,110,254,125,4,126,212,110,250,58,255,58,4,59,9,59,78,40,14,59,19,59,24,59,29,59,34,59,247,188,39,59,179,39,36,42,44,59,49,59,54,59,41,42,59,59,64,59,69,59,5,189,12,189,10,126,16,126,22,126,28,126,40,108,151,200,34,126,40,126,46,126,52,126,58,126,64,126,218,110,70,126,76,126,82,126,46,108,88,126,94,126,100,126,106,126,159,200,112,126,118,126,124,126,130,126,224,110,136,126,142,126,148,126,154,126,160,126,167,200,166,126,172,126,2,107,178,126,184,126,190,126,196,126,202,126,208,126,230,110,214,126,220,126,226,126,232,126,238,126,244,126,250,126,0,127,6,127,236,110,242,110,12,127,18,127,175,200,24,127,30,127,36,127,42,127,48,127,54,127,206,107,60,127,66,127,72,127,78,127,84,127,90,127,96,127,74,59,79,59,84,59,46,42,51,42,56,42,61,42,66,42,71,42,76,42,89,59,94,59,99,59,33,189,104,59,109,59,114,59,119,59,124,59,47,189,129,59,54,189,61,189,134,59,139,59,144,59,149,59,154,59,159,59,164,59,169,59,81,42,174,59,179,59,184,59,189,59,194,59,199,59,86,42,204,59,209,59,196,178,214,59,219,59,224,59,229,59,234,59,75,189,82,189,89,189,115,8,119,8,123,8,127,8,204,154,183,200,102,127,108,127,248,110,114,127,120,127,126,127,52,108,132,127,131,8,138,127,144,127,150,127,156,127,162,127,168,127,174,127,30,112,180,127,186,127,135,8,192,127,36,109,198,127,204,127,191,200,199,200,207,200,210,127,215,200,223,200,231,200,239,200,58,108,247,200,255,200,7,201,15,201,23,201,139,8,239,59,148,156,216,127,201,189,208,189,254,110,222,127,64,108,228,127,234,127,47,201,240,127,246,127,252,127,2,128,8,128,14,128,70,108,55,201,20,128,26,128,32,128,38,128,143,8,250,189,1,190,22,190,29,190,36,190,43,190,50,190,57,190,64,190,244,59,91,42,249,59,254,59,3,60,8,60,13,60,18,60,23,60,28,60,96,42,33,60,85,190,92,190,99,190,38,60,43,60,106,190,44,128,48,60,53,60,147,8,58,60,63,60,68,60,73,60,78,60,120,190,83,60,88,60,93,60,127,190,98,60,103,60,108,60,151,8,79,39,184,39,101,42,106,42,113,60,111,42,118,60,34,39,155,8,116,42,240,43,123,60,50,128,56,128,62,128,68,128,74,128,80,128,86,128,4,111,92,128,98,128,10,111,104,128,16,111,110,128,116,128,122,128,128,128,134,128,76,108,140,128,146,128,152,128,158,128,164,128,170,128,176,128,182,128,48,109,188,128,82,108,194,128,200,128,148,190,155,190,174,157,159,8,163,8,167,8,206,128,171,8,192,157,198,157,128,60,133,60,138,60,143,60,148,60,153,60,158,60,163,60,168,60,121,42,173,60,176,190,178,60,14,158,183,60,188,60,193,60,126,42,198,60,203,60,131,42,208,60,136,42,213,60,218,60,223,60,228,60,233,60,238,60,243,60,248,60,141,42,203,178,211,190,253,60,2,61,7,61,12,61,17,61,22,61,27,61,32,61,37,61,42,61,146,42,47,61,151,42,52,61,57,61,62,61,67,61,72,61,156,42,77,61,82,61,87,61,92,61,97,61,102,61,107,61,112,61,232,190,117,61,122,61,127,61,103,201,142,61,147,61,152,61,157,61,162,61,167,61,172,61,177,61,182,61,192,61,197,61,224,39,202,61,207,61,212,61,217,61,18,191,222,61,227,61,232,61,237,61,242,61,247,61,252,61,218,158,1,62,6,62,11,62,229,39,16,62,21,62,161,42,26,62,31,62,36,62,166,42,32,191,171,42,176,42,181,42,46,191,53,191,212,128,22,111,218,128,224,128,230,128,236,128,242,128,248,128,254,128,4,129,10,129,16,129,22,129,28,129,30,106,54,109,34,129,41,62,46,62,51,62,56,62,61,62,66,62,71,62,76,62,81,62,186,42,86,62,183,8,91,62,66,160,96,62,101,62,106,62,111,62,46,129,52,129,58,129,64,129,70,129,76,129,82,129,88,129,94,129,100,129,106,129,112,129,119,201,118,129,124,129,130,129,136,129,142,129,148,129,60,109,154,129,160,129,166,129,28,111,172,129,178,129,184,129,34,111,190,129,196,129,202,129,208,129,214,129,220,129,226,129,127,201,232,129,238,129,244,129,250,129,0,130,6,130,12,130,18,130,24,130,30,130,123,191,130,191,137,191,144,191,36,130,42,130,48,130,54,130,60,130,66,130,72,130,78,130,84,130,90,130,96,130,102,130,88,108,108,130,114,130,135,201,120,130,143,201,126,130,151,201,132,130,40,111,138,130,46,111,144,130,150,130,156,130,162,130,168,130,52,111,58,111,64,111,174,130,70,111,180,130,186,130,192,130,198,130,204,130,210,130,216,130,222,130,228,130,234,130,240,130,246,130,252,130,2,131,8,131,14,131,20,131,26,131,32,131,38,131,44,131,159,201,50,131,56,131,62,131,68,131,74,131,80,131,86,131,92,131,94,108,98,131,104,131,66,109,110,131,116,131,8,107,122,131,128,131,134,131,36,112,140,131,146,131,116,62,191,42,121,62,126,62,131,62,136,62,141,62,146,62,151,62,156,62,161,62,166,62,171,62,176,62,181,62,186,62,191,62,196,62,201,62,206,62,211,62,216,62,221,62,152,131,158,131,76,111,164,131,191,201,170,131,176,131,182,131,188,131,194,131,200,131,206,131,212,131,218,131,224,131,207,191,214,191,226,62,231,62,82,111,88,111,94,111,100,111,106,111,112,111,118,111,100,108,124,111,130,111,230,131,199,201,236,131,242,131,187,8,235,191,236,62,34,162,248,131,241,62,246,62,251,62,0,63,5,63,10,63,15,63,20,63,25,63,30,63,196,42,235,8,35,63,40,63,45,63,50,63,55,63,60,63,65,63,70,63,75,63,7,192,245,43,80,63,85,63,90,63,95,63,100,63,105,63,110,63,115,63,120,63,125,63,130,63,135,63,140,63,145,63,150,63,155,63,160,63,165,63,170,63,175,63,14,192,180,63,185,63,190,63,195,63,28,192,35,192,42,192,200,63,250,43,205,63,210,63,254,131,4,132,136,111,10,132,201,42,16,132,22,132,206,42,215,63,28,132,34,132,220,63,211,42,225,63,142,111,40,132,148,111,56,192,154,111,46,132,52,132,160,111,58,132,64,132,70,132,210,178,76,132,230,63,82,132,235,63,88,132,94,132,100,132,106,132,112,132,240,63,245,63,118,132,124,132,130,132,136,132,142,132,148,132,154,132,160,132,166,111,166,132,172,132,178,132,184,132,190,132,196,132,202,132,216,42,120,109,208,132,14,107,250,63,126,109,214,132,220,132,172,111,221,42,226,132,232,132,238,132,244,132,255,63,250,132,4,64,0,133,6,133,12,133,18,133,178,111,24,133,20,107,30,133,84,109,70,192,84,192,91,192,9,64,14,64,19,64,24,64,29,64,34,64,105,192,39,64,44,64,49,64,119,192,126,192,133,192,54,64,59,64,64,64,69,64,226,42,74,64,79,64,231,42,84,64,89,64,94,64,99,64,104,64,109,64,236,42,114,64,119,64,124,64,161,192,129,64,228,163,239,8,234,163,240,163,246,163,175,192,134,64,139,64,223,201,231,201,239,201,247,201,255,201,7,202,15,202,23,202,31,202,39,202,47,202,55,202,63,202,71,202,79,202,87,202,95,202,103,202,111,202,119,202,127,202,135,202,143,202,149,64,154,64,159,64,164,64,241,42,169,64,174,64,246,42,96,108,243,8,251,42,247,8,251,8,231,192,179,64,184,64,189,64,194,64,245,192,199,64,0,43,204,64,209,64,214,64,219,64,224,64,229,64,234,64,239,64,244,64,5,43,249,64,254,64,10,43,3,65,8,65,13,65,18,65,23,65,15,43,28,65,33,65,38,65,43,65,48,65,53,65,58,65,63,65,68,65,73,65,78,65,83,65,88,65,20,43,25,43,93,65,98,65,30,43,103,65,35,43,40,43,108,65,113,65,118,65,123,65,24,193,255,8,128,65,133,65,138,65,143,65,148,65,153,65,158,65,163,65,168,65,173,65,255,43,18,40,178,65,183,65,188,65,193,65,198,65,45,43,203,65,52,193,84,39,208,65,19,39,213,65,218,65,223,65,228,65,233,65,4,44,238,65,109,39,243,65,248,65,253,65,2,66,7,66,12,66,17,66,22,66,50,43,27,66,32,66,37,66,42,66,47,66,52,66,57,66,62,66,67,66,72,66,77,66,82,66,87,66,92,66,3,9,7,9,11,9,15,9,19,9,115,193,122,193,129,193,136,193,143,193,150,193,157,193,164,193,171,193,23,9,97,66,55,43,102,66,107,66,112,66,117,66,122,66,60,43,127,66,132,66,137,66,142,66,147,66,152,66,157,66,162,66,167,66,65,43,222,169,27,9,234,169,236,43,213,193,220,193,227,193,234,193,241,193,172,66,248,193,255,193,13,194,27,194,34,194,41,194,48,194,55,194,62,194,69,194,76,194,126,178,36,133,42,133,48,133,54,133,60,133,66,133,72,133,78,133,84,133,114,109,90,133,96,133,102,133,108,133,114,133,120,133,126,133,132,133,138,133,144,133,150,133,156,133,162,133,168,133,174,133,180,133,132,106,186,133,192,133,198,133,204,133,210,133,216,133,222,133,228,133,184,111,234,133,240,133,246,133,252,133,246,106,2,134,8,134,14,134,20,134,111,194,118,194,125,194,132,194,177,66,182,66,187,66,192,66,197,66,202,66,207,66,212,66,217,66,222,66,227,66,232,66,237,66,242,66,247,66,252,66,1,67,6,67,11,67,16,67,21,67,26,67,31,67,36,67,41,67,46,67,51,67,231,202,239,202,247,202,255,202,7,203,15,203,23,203,31,203,39,203,47,203,55,203,63,203,71,203,79,203,87,203,31,9,199,2,35,9,39,9,56,67,61,67,66,67,71,67,76,67,81,67,86,67,91,67,96,67,188,194,15,107,106,67,70,43,111,67,116,67,75,43,121,67,126,67,131,67,141,67,146,67,151,67,156,67,161,67,166,67,171,67,80,43,176,67,195,194,181,67,202,194,209,194,216,194,85,43,191,67,196,67,201,67,206,67,211,67,216,67,221,67,226,67,236,67,223,194,241,67,246,67,0,68,5,68,15,68,20,68,25,68,30,68,35,68,21,107,40,68,90,43,83,40,45,68,50,68,55,68,60,68,95,43,65,68,70,68,237,194,75,68,80,68,85,68,88,40,89,39,93,40,90,68,95,68,9,44,14,44,23,40,100,68,105,68,110,68,154,39,189,39,159,39,98,40,103,40,115,68,9,195,106,174,130,174,44,195,120,68,51,195,125,68,58,195,65,195,130,68,72,195,79,195,135,68,86,195,140,68,145,68,93,195,100,195,150,68,155,68,160,68,165,68,170,68,26,134,32,134,38,134,190,111,42,112,44,134,175,68,180,68,100,43,185,68,190,68,195,68,200,68,205,68,210,68,215,68,220,68,225,68,230,68,105,43,235,68,240,68,245,68,250,68,255,68,4,69,9,69,14,69,110,43,19,69,115,43,24,69,29,69,34,69,39,69,120,43,234,39,44,69,239,39,49,69,125,43,54,69,130,43,59,69,135,43,50,134,64,69,69,69,74,69,79,69,84,69,163,195,89,69,94,69,140,43,99,69,104,69,109,69,114,69,114,39,24,39,177,195,0,1,31,179,45,179,52,179,59,179,80,179,87,179,122,179,129,179,136,179,143,179,157,179,171,179,178,179,192,179,199,179,206,179,213,179,227,179,248,179,48,180,55,180,76,180,104,180,118,180,132,180,146,180,153,180,160,180,167,180,174,180,181,180,223,180,237,180,16,181,23,181,37,181,44,181,51,181,65,181,72,181,93,181,100,181,114,181,128,181,156,181,163,181,170,181,177,181,254,181,5,182,12,182,26,182,47,182,61,182,68,182,75,182,89,182,96,182,110,182,117,182,138,182,152,182,173,182,215,182,1,183,8,183,22,183,29,183,36,183,43,183,57,183,113,183,127,183,148,183,169,183,176,183,183,183,204,183,39,184,53,184,60,184,74,184,88,184,95,184,102,184,109,184,116,184,123,184,130,184,179,184,186,184,193,184,14,185,21,185,49,185,56,185,70,185,77,185,98,185,105,185,119,185,147,185,168,185,189,185,196,185,3,186,31,186,38,186,45,186,66,186,73,186,87,186,122,186,129,186,20,187,27,187,48,187,55,187,97,187,139,187,146,187,167,187,174,187,181,187,202,187,223,187,251,187,2,188,9,188,16,188,30,188,44,188,72,188,93,188,163,188,170,188,177,188,226,188,233,188,240,188,254,188,26,189,40,189,68,189,96,189,103,189,110,189,117,189,187,189,194,189,215,189,222,189,229,189,236,189,243,189,8,190,15,190,71,190,78,190,113,190,134,190,141,190,162,190,169,190,183,190,190,190,197,190,204,190,218,190,239,190,246,190,25,191,39,191,60,191,67,191,74,191,81,191,95,191,102,191,109,191,116,191,151,191,158,191,172,191,179,191,186,191,193,191,200,191,221,191,228,191,242,191,249,191,0,192,21,192,49,192,63,192,77,192,98,192,112,192,147,192,154,192,168,192,182,192,189,192,203,192,210,192,217,192,224,192,238,192,252,192,3,193,10,193,17,193,31,193,38,193,45,193,59,193,66,193,80,193,87,193,94,193,101,193,108,193,178,193,185,193,192,193,199,193,206,193,6,194,20,194,83,194,90,194,97,194,104,194,139,194,146,194,160,194,174,194,230,194,244,194,251,194,2,195,16,195,23,195,30,195,37,195,107,195,114,195,121,195,128,195,135,195,142,195,149,195,156,195,170,195,184,195,10,0,158,220,11,220,103,218,37,212,135,219,104,219,54,212,82,213,198,219,62,210,191,0,242,215,47,220,175,210,192,210,204,206,243,206,209,210,84,205,217,206,72,217,226,210,243,210,217,216,194,212,4,211,21,211,179,205,200,208,234,220,241,218,38,211,212,212,45,214,178,214,185,207,171,207,55,211,26,214,231,219,166,219,129,218,84,220,58,206,0,207,158,209,72,211,174,209,89,211,190,209,106,211,123,211,206,209,140,211,157,211,222,209,13,207,198,214,199,207,7,216,28,216,142,209,215,208,239,216,218,214,174,211,238,209,213,207,49,216,227,207,70,216,254,209,91,216,26,207,241,207,230,208,64,214,39,207,244,213,191,211,112,216,238,214,14,210,157,218,230,212,52,207,196,220,2,215,30,210,22,215,42,215,65,207,185,218,5,217,70,206,83,214,245,208,44,219,187,217,133,216,28,218,248,212,208,211,255,207,82,206,4,209,94,206,225,211,10,213,91,207,28,213,106,206,3,218,46,213,242,211,154,216,13,208,3,212,104,207,46,206,62,215,82,215,27,208,118,206,94,205,95,217,190,205,201,205,104,205,41,208,223,205,19,209,34,209,212,205,78,210,157,205,168,205,166,204,130,206,46,210,94,210,49,209,20,212,64,209,79,209,110,210,234,205,102,215,175,216,102,214,117,207,64,213,53,218,121,220,126,210,122,215,142,215,55,208,78,218,245,205,118,217,162,215,182,215,49,217,202,215,7,214,211,217,222,215,71,212,83,208,100,213,235,217,118,213,136,213,141,217,121,214,154,213,172,213,0,206,190,213,88,212,196,216,74,219,154,206,142,206,111,208,191,206,27,217,140,214,213,218,97,208,164,217,208,213,130,207,105,212,226,213,166,206,159,214,230,206,176,212,142,210,69,208,3,0,135,197,143,197,91,185,103,0,233,203,242,203,158,70,251,203,145,43,119,69,55,197,95,197,103,197,134,137,154,178,150,179,151,197,164,179,185,179,188,203,199,197,166,138,13,204,63,197,22,204,66,139,231,197,168,139,197,203,149,181,58,204,58,141,19,182,103,182,181,203,175,198,190,183,85,204,199,198,197,183,94,204,128,134,46,184,39,199,147,178,47,199,71,199,103,204,112,204,179,203,95,199,121,204,16,150,139,204,84,151,224,203,216,151,175,199,183,199,148,204,230,152,157,204,71,197,63,201,224,178,26,158,175,204,225,190,98,158,64,159,34,135,184,204,114,205,88,191,138,160,193,204,231,178,167,201,175,201,248,161,30,163,96,163,120,163,202,204,140,192,196,192,64,168,60,136,211,204,220,204,167,202,175,202,229,204,73,193,206,203,238,204,28,171,153,194,167,194,181,194,111,203,0,205,9,205,18,205,27,205,36,205,215,203,1,0,111,4,194,195,2,0,31,0,10,0,1,0,111,4,202,195,1,0,129,4,58,0,1,0,111,4,202,195,1,0,111,4,194,195,1,0,129,4,223,105,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,89,44,1,0,111,4,210,195,1,0,129,4,144,1,1,0,111,4,194,195,2,0,15,106,145,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,74,39,2,0,82,196,194,195,1,0,111,4,194,195,1,0,129,4,223,105,1,0,111,4,128,40,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,64,0,1,0,111,4,202,195,2,0,111,4,129,4,10,196,10,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,194,195,26,0,70,0,106,0,31,0,13,0,55,0,173,212,39,106,153,106,37,0,79,0,160,1,82,0,236,1,85,0,72,1,68,2,240,1,166,0,91,0,248,1,81,106,220,1,61,0,184,1,144,1,67,0,2,0,56,1,95,107,3,0,84,44,244,44,18,45,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,13,0,1,0,111,4,210,195,1,0,129,4,248,1,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,72,1,1,0,111,4,210,195,1,0,129,4,55,0,1,0,111,4,234,195,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,64,1,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,2,0,111,4,129,4,194,195,213,106,3,0,210,195,202,195,194,195,3,0,37,0,56,1,36,1,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,210,195,2,0,56,1,151,105,1,0,111,4,194,195,2,0,111,4,129,4,94,44,4,0,1,0,111,4,147,203,1,0,111,4,194,195,2,0,193,105,133,105,1,0,111,4,194,195,1,0,111,4,99,44,1,0,111,4,194,195,2,0,111,4,129,4,104,44,4,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,28,0,2,0,111,4,129,4,202,195,216,1,1,0,111,4,210,195,1,0,129,4,81,106,1,0,111,4,194,195,1,0,129,4,21,106,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,98,196,1,0,111,4,210,195,1,0,111,4,34,196,1,0,111,4,147,203,2,0,111,4,129,4,202,195,25,0,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,210,195,1,0,129,4,151,105,1,0,111,4,54,39,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,147,203,3,0,121,105,63,106,156,1,2,0,111,4,129,4,194,195,105,106,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,194,195,1,0,129,4,169,105,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,4,0,1,0,129,4,48,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,109,44,1,0,111,4,194,195,1,0,111,4,98,45,2,0,194,195,106,196,1,0,129,4,43,0,1,0,111,4,194,195,2,0,111,4,129,4,234,195,168,1,1,0,129,4,121,105,1,0,111,4,34,196,1,0,129,4,52,1,1,0,111,4,234,195,1,0,111,4,210,195,1,0,129,4,56,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,210,195,2,0,111,4,129,4,194,195,151,105,1,0,111,4,147,203,1,0,129,4,121,105,2,0,202,195,194,195,1,0,129,4,48,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,202,195,1,0,111,4,194,195,1,0,129,4,196,1,1,0,111,4,194,195,2,0,111,4,129,4,119,39,4,0,1,0,111,4,194,195,1,0,129,4,141,106,1,0,111,4,194,195,1,0,111,4,10,196,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,180,1,1,0,129,4,64,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,234,195,114,44,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,194,195,1,0,129,4,157,105,2,0,111,4,129,4,194,195,118,0,1,0,111,4,194,195,1,0,129,4,51,106,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,29,39,76,1,1,0,111,4,124,44,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,210,195,1,0,111,4,108,40,1,0,111,4,108,40,1,0,111,4,210,195,1,0,111,4,202,195,1,0,111,4,210,195,2,0,37,0,56,1,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,3,0,210,195,138,40,54,39,1,0,111,4,194,195,2,0,29,39,194,195,1,0,129,4,76,1,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,29,39,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,29,39,1,0,111,4,194,195,1,0,129,4,201,106,2,0,111,4,129,4,194,195,19,0,1,0,129,4,88,1,2,0,111,4,129,4,194,195,100,1,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,129,4,139,105,2,0,111,4,129,4,194,195,3,106,1,0,129,4,133,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,121,105,6,0,193,105,205,105,235,105,133,105,192,1,241,105,13,0,123,106,19,0,3,106,211,105,181,105,139,105,34,0,40,0,175,105,100,1,217,105,88,1,154,205,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,29,39,76,1,1,0,111,4,194,195,1,0,129,4,76,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,128,1,1,0,111,4,202,195,1,0,111,4,194,195,1,0,129,4,28,0,1,0,111,4,147,203,2,0,210,195,83,45,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,108,45,77,107,1,0,111,4,194,195,2,0,111,4,129,4,210,195,48,1,1,0,111,4,194,195,1,0,129,4,49,0,2,0,111,4,129,4,34,196,112,0,1,0,111,4,194,195,1,0,111,4,194,195,2,0,223,105,176,1,1,0,111,4,194,195,1,0,129,4,169,105,1,0,111,4,194,195,1,0,111,4,139,44,1,0,111,4,194,195,1,0,111,4,113,40,2,0,253,105,148,1,89,0,121,108,127,108,100,0,133,108,139,108,52,0,205,111,145,108,41,107,137,107,76,1,151,108,211,111,141,106,217,111,223,111,47,107,39,106,45,106,229,111,51,106,139,105,157,108,235,111,223,105,163,108,53,107,118,0,59,107,147,106,57,106,169,108,121,105,241,111,175,108,159,106,163,105,65,107,181,108,247,111,187,108,193,108,71,107,165,106,88,0,140,2,253,111,9,106,63,106,171,106,15,106,3,112,169,105,177,106,83,107,183,106,189,106,7,0,151,105,9,112,235,108,195,106,75,106,89,107,201,106,81,106,93,106,15,112,99,106,95,107,199,108,101,107,21,112,205,108,107,107,113,107,119,107,229,105,157,105,40,2,154,205,125,107,211,108,41,219,105,106,207,106,145,105,21,106,111,106,2,0,202,196,178,196,50,0,212,2,70,0,131,107,193,105,164,1,168,1,205,105,25,0,123,106,235,105,143,107,253,105,19,0,133,105,3,106,13,0,108,1,55,0,64,1,10,0,211,105,181,105,148,1,92,1,34,0,153,106,37,0,104,1,79,0,40,0,236,1,152,1,124,1,241,105,132,1,72,1,77,107,225,106,69,106,175,105,100,1,247,105,80,1,87,106,217,105,88,1,116,2,84,1,22,0,67,0,1,0,111,4,194,195,1,0,111,4,194,195,23,0,131,107,213,106,143,107,217,108,149,107,223,108,155,107,154,0,219,106,64,1,129,106,161,107,229,108,100,2,225,106,167,107,173,107,179,107,235,108,231,106,185,107,241,108,191,107,10,0,180,1,137,107,133,105,181,105,139,105,163,108,7,0,247,105,80,1,154,205,1,0,111,4,194,195,2,0,111,4,129,4,194,195,108,1,2,0,124,39,194,195,1,0,111,4,194,195,1,0,129,4,64,1,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,136,1,56,1,1,0,129,4,151,105,1,0,111,4,194,195,1,0,129,4,129,106,1,0,129,4,7,0,1,0,111,4,194,195,2,0,116,1,48,1,1,0,111,4,194,195,1,0,129,4,43,0,2,0,111,4,129,4,194,195,211,105,2,0,108,1,87,106,1,0,111,4,210,195,2,0,111,4,129,4,194,195,7,0,2,0,111,4,129,4,103,45,154,205,1,0,111,4,194,195,2,0,111,4,129,4,194,195,45,106,2,0,111,4,129,4,194,195,80,2,1,0,111,4,194,195,1,0,129,4,73,0,45,0,205,105,49,0,52,0,73,0,145,0,76,1,96,1,228,1,64,2,235,105,28,0,141,106,31,0,13,0,181,105,72,2,52,2,116,1,128,2,129,106,76,0,160,1,241,105,72,1,130,0,12,2,165,106,43,0,163,0,63,106,136,0,128,1,208,1,132,2,0,2,75,106,201,106,48,1,61,0,184,1,176,1,144,1,105,106,140,1,196,1,8,0,133,105,139,105,104,1,175,105,247,105,80,1,108,2,154,205,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,133,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,140,1,1,0,111,4,194,195,1,0,129,4,128,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,169,105,1,0,111,4,194,195,1,0,129,4,81,106,1,0,111,4,194,195,1,0,129,4,175,105,2,0,111,4,129,4,194,195,57,106,1,0,129,4,139,105,1,0,111,4,194,195,1,0,129,4,223,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,242,195,1,0,129,4,52,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,210,195,1,0,111,4,194,195,1,0,129,4,52,2,1,0,111,4,194,195,1,0,129,4,139,105,1,0,111,4,10,196,2,0,111,4,129,4,194,195,65,107,1,0,111,4,210,195,1,0,111,4,210,195,1,0,111,4,194,195,1,0,129,4,64,1,1,0,111,4,202,195,1,0,111,4,210,195,1,0,129,4,56,1,1,0,111,4,194,195,2,0,111,4,129,4,194,195,231,106,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,2,0,147,203,18,196,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,194,195,1,0,111,4,149,44,1,0,111,4,194,195,3,0,129,44,54,39,152,71,1,0,111,4,234,195,2,0,235,105,192,1,1,0,129,4,133,105,1,0,111,4,218,196,2,0,139,105,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,223,105,1,0,111,4,194,195,1,0,129,4,163,105,2,0,111,4,129,4,194,195,169,108,1,0,111,4,147,203,1,0,111,4,194,195,1,0,129,4,76,1,2,0,210,195,194,195,2,0,128,1,169,105,1,0,111,4,194,195,1,0,111,4,242,195,1,0,129,4,52,1,1,0,111,4,194,195,1,0,129,4,154,205,1,0,111,4,210,195,1,0,129,4,136,1,2,0,111,4,129,4,42,196,153,106,2,0,111,4,129,4,147,203,121,105,2,0,194,195,204,44,3,0,45,106,121,105,145,105,2,0,147,203,194,195,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,128,40,1,0,111,4,43,45,1,0,111,4,194,195,1,0,111,4,164,44,1,0,111,4,210,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,122,196,1,0,111,4,194,195,1,0,111,4,159,44,1,0,111,4,210,195,1,0,129,4,151,105,2,0,111,4,129,4,194,195,189,106,1,0,111,4,147,203,2,0,111,4,129,4,123,45,121,105,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,2,0,164,1,92,1,3,0,193,105,68,1,217,105,1,0,111,4,194,195,1,0,111,4,242,195,1,0,129,4,52,1,2,0,111,4,129,4,194,195,76,0,2,0,111,4,129,4,194,195,34,0,3,0,193,105,80,1,68,1,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,226,196,56,2,1,0,129,4,36,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,169,105,2,0,111,4,129,4,194,195,4,0,1,0,111,4,210,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,169,105,1,0,111,4,133,45,2,0,111,4,129,4,194,195,52,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,202,195,2,0,210,195,194,195,2,0,111,4,129,4,194,195,121,0,4,0,235,105,104,1,76,2,224,1,5,0,133,105,181,105,92,1,9,106,154,205,2,0,29,39,194,195,1,0,129,4,76,1,1,0,111,4,194,195,2,0,111,4,129,4,2,196,124,0,1,0,111,4,194,195,1,0,129,4,159,106,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,42,196,1,0,111,4,42,196,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,169,44,4,0,2,0,111,4,129,4,114,196,58,0,1,0,111,4,202,195,1,0,111,4,194,195,1,0,129,4,13,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,163,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,229,105,1,0,111,4,44,39,1,0,111,4,194,195,1,0,129,4,215,107,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,96,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,234,195,121,105,1,0,111,4,93,45,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,50,196,1,0,111,4,210,195,1,0,111,4,194,195,1,0,129,4,163,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,15,106,1,0,111,4,122,196,1,0,111,4,194,195,1,0,111,4,202,195,2,0,210,195,202,195,1,0,129,4,52,1,1,0,111,4,194,195,2,0,111,4,129,4,194,195,160,0,1,0,129,4,3,106,1,0,111,4,194,195,1,0,129,4,163,105,2,0,111,4,129,4,234,196,127,0,1,0,111,4,194,195,1,0,129,4,117,106,1,0,111,4,90,196,1,0,129,4,121,105,1,0,129,4,48,1,2,0,172,1,244,1,2,0,52,1,154,205,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,129,4,99,106,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,2,0,210,195,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,3,0,210,195,202,195,194,195,2,0,61,0,22,0,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,111,4,202,195,2,0,111,4,129,4,23,45,36,1,1,0,111,4,194,195,1,0,111,4,210,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,44,39,1,0,129,4,84,1,1,0,111,4,210,195,3,0,210,195,202,195,194,195,1,0,111,4,113,40,2,0,111,4,129,4,194,195,224,1,1,0,111,4,147,71,1,0,111,4,42,196,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,151,105,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,194,195,2,0,111,4,129,4,194,195,241,105,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,111,4,44,39,1,0,111,4,179,44,1,0,111,4,202,195,2,0,111,4,129,4,79,44,36,1,2,0,202,195,194,195,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,194,195,2,0,147,203,184,44,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,189,44,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,210,195,1,0,111,4,194,195,1,0,111,4,18,196,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,96,1,2,0,111,4,129,4,122,196,32,2,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,21,106,1,0,111,4,210,195,1,0,129,4,56,1,2,0,111,4,129,4,194,195,124,1,1,0,129,4,100,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,96,1,1,0,111,4,194,195,1,0,129,4,96,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,163,105,1,0,111,4,234,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,163,105,1,0,111,4,210,195,1,0,129,4,56,1,2,0,111,4,129,4,194,195,132,1,1,0,111,4,44,39,1,0,111,4,242,195,2,0,114,196,194,195,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,147,203,2,0,121,105,156,1,1,0,111,4,194,195,2,0,111,4,129,4,119,39,4,0,2,0,194,195,106,196,2,0,53,107,116,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,194,195,1,0,111,4,119,39,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,219,44,99,106,1,0,111,4,194,195,1,0,129,4,163,105,1,0,129,4,48,1,1,0,111,4,210,195,1,0,129,4,84,1,1,0,111,4,194,195,1,0,129,4,63,106,1,0,129,4,48,1,2,0,111,4,129,4,194,195,165,106,1,0,111,4,194,195,1,0,129,4,199,105,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,194,195,2,0,111,4,129,4,194,195,88,0,2,0,111,4,129,4,194,195,183,106,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,4,0,2,0,111,4,129,4,202,195,4,2,1,0,111,4,138,196,1,0,129,4,121,105,1,0,111,4,194,195,2,0,111,4,129,4,202,195,60,2,2,0,162,196,118,40,1,0,111,4,162,196,1,0,111,4,234,195,2,0,111,4,129,4,165,203,121,105,1,0,111,4,202,195,1,0,111,4,50,196,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,49,0,1,0,111,4,147,203,2,0,111,4,129,4,229,44,121,105,1,0,111,4,147,203,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,234,44,2,0,210,195,194,195,3,0,48,2,69,106,93,106,2,0,151,108,4,0,2,0,111,4,129,4,194,195,9,106,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,210,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,50,196,252,1,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,209,44,1,0,111,4,210,195,1,0,129,4,56,1,2,0,111,4,129,4,194,195,177,106,1,0,111,4,242,195,1,0,129,4,52,1,1,0,111,4,194,195,1,0,111,4,194,195,2,0,46,0,44,2,1,0,111,4,194,195,2,0,111,4,129,4,194,195,111,106,1,0,111,4,194,195,1,0,129,4,199,105,1,0,111,4,194,195,2,0,133,105,175,105,2,0,111,4,129,4,147,203,156,1,1,0,129,4,121,105,1,0,111,4,147,203,1,0,129,4,156,1,1,0,111,4,194,195,1,0,129,4,15,106,1,0,111,4,194,195,1,0,129,4,199,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,83,107,1,0,111,4,194,195,7,0,103,0,205,105,109,0,115,0,175,105,232,1,199,108,1,0,129,4,133,105,1,0,111,4,194,195,2,0,111,4,129,4,194,195,46,0,1,0,111,4,194,195,2,0,111,4,129,4,194,195,46,0,1,0,111,4,174,44,1,0,129,4,84,1,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,202,195,1,0,111,4,94,39,1,0,111,4,194,195,1,0,111,4,106,196,1,0,111,4,194,195,1,0,129,4,145,105,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,145,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,171,106,1,0,129,4,21,106,1,0,111,4,194,195,1,0,129,4,229,105,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,64,1,181,105,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,10,196,10,0,1,0,111,4,170,196,1,0,129,4,121,105,1,0,111,4,202,195,1,0,129,4,58,0,1,0,111,4,8,45,1,0,111,4,194,195,2,0,124,39,194,195,1,0,111,4,3,45,2,0,210,195,250,196,3,0,139,105,121,105,151,105,1,0,111,4,194,195,1,0,129,4,7,0,2,0,28,45,33,45,1,0,111,4,194,195,1,0,129,4,7,0,2,0,103,0,115,0,1,0,129,4,109,0,2,0,111,4,129,4,194,195,195,106,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,169,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,128,45,1,0,111,4,194,195,1,0,111,4,38,45,3,0,147,203,130,196,44,39,1,0,111,4,194,195,1,0,129,4,89,107,1,0,111,4,194,195,2,0,111,4,129,4,194,195,100,1,2,0,139,105,120,1,1,0,111,4,194,195,3,0,202,195,54,39,194,195,1,0,111,4,194,195,1,0,129,4,51,106,1,0,111,4,194,195,1,0,111,4,210,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,210,195,136,1,1,0,129,4,151,105,10,0,117,106,123,106,215,107,129,106,221,107,75,109,199,105,247,105,81,109,227,107,1,0,111,4,194,195,3,0,213,106,219,106,179,107,1,0,111,4,194,195,1,0,129,4,161,107,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,0,2,1,0,111,4,194,195,2,0,111,4,129,4,143,40,4,0,1,0,111,4,194,195,1,0,111,4,53,45,2,0,210,195,194,195,1,0,111,4,194,195,2,0,194,195,59,39,1,0,129,4,72,1,1,0,111,4,147,203,1,0,111,4,234,195,2,0,168,1,121,105,1,0,111,4,194,195,1,0,129,4,235,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,56,1,1,0,111,4,194,195,2,0,111,4,129,4,194,195,52,0,1,0,111,4,194,195,1,0,129,4,199,105,2,0,84,2,80,1,2,0,111,4,129,4,202,195,68,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,194,195,5,0,216,1,212,1,40,0,36,1,120,1,9,0,25,0,133,105,108,1,124,1,132,1,100,1,44,2,94,0,97,0,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,75,106,1,0,111,4,194,195,1,0,111,4,82,196,5,0,147,203,154,44,63,45,68,45,130,196,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,2,0,42,196,123,40,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,254,44,4,0,234,195,147,203,194,195,170,196,1,0,129,4,48,1,1,0,111,4,58,45,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,104,1,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,139,105,1,0,111,4,194,195,2,0,210,195,147,203,2,0,2,197,10,197,2,0,121,105,151,105,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,56,1,1,0,111,4,194,195,2,0,111,4,129,4,202,195,46,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,28,0,1,0,111,4,194,195,1,0,129,4,199,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,228,1,2,0,194,195,249,44,1,0,111,4,194,195,3,0,210,195,194,195,59,39,1,0,129,4,72,1,1,0,111,4,50,196,1,0,129,4,252,1,2,0,111,4,129,4,130,196,152,1,1,0,111,4,194,195,1,0,129,4,10,0,2,0,111,4,129,4,194,195,88,1,2,0,19,0,68,1,1,0,111,4,210,195,1,0,129,4,151,105,2,0,111,4,129,4,194,195,217,105,1,0,129,4,193,105,1,0,111,4,194,195,1,0,111,4,194,195,2,0,100,0,207,106,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,123,40,1,0,111,4,194,195,1,0,129,4,211,105,2,0,111,4,129,4,194,195,111,106,1,0,129,4,48,1,1,0,111,4,194,195,1,0,129,4,43,0,2,0,111,4,129,4,194,195,220,1,2,0,210,195,13,45,2,0,31,0,10,0,1,0,111,4,44,39,1,0,129,4,84,1,2,0,88,2,64,0,2,0,4,2,68,1,2,0,202,195,194,195,4,0,164,1,133,0,68,1,64,0,1,0,111,4,194,195,1,0,111,4,148,40,1,0,111,4,194,195,1,0,129,4,232,1,1,0,111,4,194,195,1,0,129,4,48,1,1,0,111,4,147,203,2,0,111,4,129,4,194,195,101,107,1,0,129,4,145,105,1,0,111,4,194,195,2,0,111,4,129,4,194,195,71,107,1,0,129,4,145,105,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,73,45,4,0,1,0,111,4,194,195,1,0,129,4,229,105,1,0,111,4,194,195,2,0,111,4,129,4,210,195,116,1,3,0,142,0,211,105,87,106,3,0,163,105,229,105,157,105,1,0,129,4,96,1,1,0,111,4,210,195,2,0,111,4,129,4,194,195,196,1,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,234,195,2,0,111,4,129,4,28,40,168,1,1,0,111,4,74,39,1,0,111,4,194,195,2,0,152,1,93,106,3,0,139,105,121,105,69,106,1,0,111,4,202,195,1,0,111,4,147,203,1,0,111,4,34,196,1,0,111,4,194,195,1,0,111,4,78,45,1,0,111,4,90,196,1,0,129,4,121,105,1,0,111,4,88,45,1,0,111,4,147,203,1,0,111,4,34,196,1,0,111,4,147,203,1,0,111,4,18,196,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,99,106,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,194,195,2,0,111,4,129,4,194,195,227,107,3,0,210,195,202,195,194,195,2,0,111,4,129,4,44,39,84,1,1,0,111,4,147,203,1,0,111,4,147,203,1,0,111,4,147,203,2,0,111,4,129,4,10,196,39,106,1,0,129,4,10,0,1,0,111,4,10,196,1,0,129,4,39,106,1,0,111,4,194,195,1,0,129,4,169,105,3,0,210,195,202,195,194,195,2,0,136,1,56,1,2,0,111,4,129,4,194,195,205,108,2,0,202,195,194,195,1,0,111,4,147,203,1,0,111,4,194,195,3,0,210,195,202,195,194,195,1,0,129,4,188,1,1,0,111,4,194,195,1,0,129,4,128,1,2,0,111,4,129,4,194,195,41,107,1,0,129,4,145,105,1,0,129,4,48,1,2,0,111,4,129,4,194,195,107,107,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,189,106,2,0,253,105,22,0,2,0,111,4,129,4,210,195,133,105,1,0,111,4,194,195,1,0,111,4,74,39,1,0,111,4,194,195,1,0,111,4,210,195,1,0,111,4,194,195,2,0,199,105,145,105,1,0,111,4,54,39,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,194,195,1,0,111,4,34,196,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,111,4,44,39,1,0,129,4,84,1,2,0,202,195,194,195,1,0,111,4,210,195,1,0,111,4,194,195,1,0,129,4,171,106,2,0,111,4,129,4,194,195,119,107,1,0,111,4,194,195,2,0,111,4,129,4,194,195,208,1,1,0,111,4,202,195,1,0,129,4,36,1,2,0,194,195,59,39,1,0,111,4,202,195,1,0,111,4,202,195,2,0,111,4,129,4,194,195,36,1,2,0,210,195,202,195,2,0,111,4,129,4,194,195,52,1,1,0,111,4,118,45,2,0,111,4,129,4,202,195,120,1,1,0,129,4,68,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,117,106,5,0,139,0,151,0,181,0,144,2,120,2,2,0,234,195,147,203,1,0,129,4,121,105,2,0,234,195,147,203,2,0,111,4,129,4,210,195,151,105,2,0,139,105,121,105,3,0,210,195,202,195,194,195,1,0,129,4,136,1,2,0,194,195,153,40,1,0,111,4,194,195,1,0,129,4,145,105,1,0,111,4,194,195,5,0,123,106,92,1,104,1,225,106,217,105,1,0,111,4,194,195,2,0,111,4,129,4,194,195,200,1,2,0,111,4,129,4,242,196,154,205,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,205,105,1,0,111,4,194,195,1,0,129,4,133,105,1,0,111,4,194,195,1,0,129,4,199,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,10,196,1,0,129,4,10,0,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,18,196,1,0,129,4,121,105,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,140,1,2,0,111,4,129,4,210,195,160,1,2,0,111,4,129,4,194,195,48,1,1,0,111,4,210,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,242,195,1,0,129,4,52,1,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,119,44,1,0,111,4,194,195,1,0,129,4,145,105,1,0,111,4,194,44,1,0,111,4,199,44,1,0,111,4,114,196,1,0,111,4,214,44,1,0,111,4,224,44,1,0,111,4,239,44,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,48,45,1,0,111,4,194,39,1,0,111,4,147,203,2,0,124,39,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,42,196,2,0,111,4,129,4,194,195,169,105,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,242,195,146,196,2,0,52,1,147,106,1,0,111,4,194,195,2,0,111,4,129,4,242,195,52,1,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,210,195,160,1,1,0,111,4,194,195,1,0,111,4,59,39,1,0,111,4,59,39,1,0,129,4,72,1,2,0,242,195,146,196,5,0,52,1,147,106,75,109,93,106,175,0,2,0,133,40,118,40,5,0,4,0,69,106,84,1,154,205,200,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,145,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,22,0,4,0,133,14,142,14,148,14,153,14,236,112,132,136,14,219,158,212,6,0,32,1,136,105,66,39,64,183,120,106,244,105,4,0,81,39,15,40,131,178,41,1,4,0,166,39,171,39,29,196,41,1,4,0,111,39,171,39,29,196,41,1,4,0,111,39,166,39,29,196,41,1,4,0,111,39,141,39,29,196,41,1,4,0,51,33,252,2,29,196,41,1,4,0,227,7,71,39,29,196,131,178,4,0,71,44,71,39,29,196,131,178,4,0,92,2,15,40,194,178,41,1,4,0,92,2,81,39,194,178,41,1,4,0,87,109,36,39,11,39,131,178,4,0,2,42,32,1,11,39,131,178,4,0,65,40,181,39,16,39,131,178,4,0,109,108,32,1,11,39,131,178,4,0,51,109,32,1,11,39,131,178,4,0,24,3,66,39,16,39,131,178,4,0,209,107,36,39,11,39,131,178,4,0,238,107,160,2,16,39,131,178,4,0,72,3,36,39,16,39,131,178,4,0,42,108,32,1,11,39,131,178,4,0,21,109,204,1,11,39,131,178,4,0,51,44,32,1,11,39,131,178,4,0,56,44,44,1,16,39,131,178,4,0,45,40,41,39,16,39,131,178,4,0,76,3,66,39,16,39,131,178,4,0,42,111,143,7,11,39,131,178,4,0,159,18,32,1,16,39,131,178,4,0,75,7,127,105,11,39,131,178,4,0,85,40,41,39,16,39,131,178,4,0,31,19,41,39,16,39,131,178,4,0,70,40,20,3,16,39,41,1,4,0,55,40,32,1,16,39,131,178,4,0,40,3,32,1,11,39,131,178,4,0,0,3,32,1,11,39,131,178,4,0,4,3,66,39,16,39,131,178,4,0,117,109,92,2,16,39,131,178,4,0,232,2,181,39,16,39,131,178,4,0,35,40,32,1,16,39,131,178,4,0,219,21,32,1,11,39,131,178,4,0,28,3,32,1,16,39,131,178,4,0,247,108,66,39,16,39,131,178,4,0,33,106,66,39,16,39,131,178,4,0,44,3,204,1,11,39,131,178,4,0,33,109,32,1,11,39,131,178,4,0,179,196,32,1,16,39,131,178,4,0,35,107,41,39,16,39,131,178,4,0,27,109,36,39,11,39,131,178,4,0,48,3,32,1,11,39,131,178,4,0,115,108,32,1,11,39,131,178,4,0,244,2,32,1,16,39,131,178,4,0,228,2,86,39,16,39,131,178,4,0,31,44,32,1,11,39,131,178,4,0,52,3,41,39,11,39,131,178,4,0,80,3,36,39,11,39,131,178,4,0,176,39,32,1,11,39,131,178,4,0,15,109,32,1,11,39,131,178,4,0,19,26,32,1,11,39,131,178,4,0,146,39,248,2,11,39,131,178,4,0,56,3,36,39,11,39,131,178,4,0,131,39,12,3,16,39,131,178,4,0,60,3,32,1,11,39,131,178,4,0,253,108,41,39,11,39,131,178,4,0,30,40,32,1,11,39,131,178,4,0,187,26,32,1,11,39,131,178,4,0,232,107,41,39,11,39,131,178,4,0,91,27,204,1,16,39,131,178,4,0,119,27,32,1,11,39,131,178,4,0,51,39,41,39,11,39,131,178,4,0,136,39,32,1,16,39,131,178,4,0,240,2,32,1,11,39,131,178,4,0,116,39,36,39,11,39,131,178,4,0,52,196,204,1,11,39,131,178,4,0,26,39,86,39,11,39,131,178,4,0,64,3,32,1,11,39,131,178,4,0,151,39,32,1,11,39,131,178,4,0,186,39,32,1,11,39,131,178,4,0,249,106,81,39,16,39,41,1,4,0,249,106,15,40,16,39,41,1,4,0,207,28,32,1,11,39,131,178,4,0,16,3,32,1,11,39,131,178,4,0,33,41,32,1,11,39,131,178,4,0,84,3,41,39,16,39,131,178,4,0,8,2,32,1,11,39,131,178,4,0,197,107,32,1,11,39,131,178,4,0,36,44,32,1,11,39,131,178,4,0,67,30,32,1,16,39,131,178,4,0,106,39,32,1,11,39,131,178,4,0,21,39,66,39,11,39,131,178,4,0,75,40,71,39,16,39,131,178,4,0,76,44,32,1,11,39,131,178,4,0,68,3,41,39,11,39,131,178,4,0,156,39,204,1,11,39,131,178,4,0,60,40,32,1,11,39,131,178,4,0,191,39,32,1,11,39,131,178,4,0,46,44,32,1,11,39,131,178,4,0,90,40,32,1,11,39,131,178,4,0,135,106,32,1,11,39,131,178,4,0,41,44,32,1,11,39,131,178,4,0,161,39,86,39,16,39,131,178,4,0,40,40,32,1,11,39,131,178,4,0,91,39,32,1,11,39,131,178,4,0,164,2,32,1,11,39,131,178,4,0,88,3,36,39,11,39,131,178,4,0,39,109,32,1,11,39,131,178,4,0,100,40,36,39,11,39,131,178,4,0,203,33,32,1,11,39,131,178,4,0,61,44,32,1,11,39,131,178,4,0,105,40,32,1,11,39,131,178,4,0,95,40,36,39,11,39,131,178,4,0,30,111,32,1,11,39,131,178,4,0,32,3,44,1,16,39,131,178,4,0,69,109,36,39,16,39,131,178,4,0,160,2,32,1,11,39,131,178,4,0,203,107,36,39,11,39,131,178,4,0,36,3,41,39,11,39,131,178,4,0,104,2,32,1,11,39,131,178,4,0,156,2,32,1,11,39,131,178,4,0,26,44,32,1,11,39,131,178,4,0,92,3,44,1,16,39,131,178,4,0,236,2,32,1,11,39,131,178,4,0,87,16,127,105,6,39,131,178,4,0,95,16,127,105,6,39,131,178,4,0,99,16,127,105,6,39,131,178,4,0,103,16,127,105,6,39,131,178,4,0,107,16,127,105,6,39,131,178,4,0,111,16,127,105,6,39,131,178,4,0,115,16,127,105,6,39,131,178,4,0,119,16,127,105,6,39,131,178,4,0,123,16,127,105,6,39,131,178,4,0,135,16,127,105,6,39,131,178,4,0,131,43,127,105,6,39,131,178,4,0,147,16,127,105,6,39,131,178,4,0,35,7,127,105,6,39,131,178,4,0,211,16,127,105,6,39,131,178,4,0,215,16,127,105,6,39,131,178,4,0,39,7,127,105,6,39,131,178,4,0,43,7,127,105,6,39,131,178,4,0,47,7,127,105,6,39,131,178,4,0,51,7,127,105,6,39,131,178,4,0,75,17,127,105,6,39,131,178,4,0,87,17,127,105,6,39,131,178,4,0,107,17,127,105,6,39,131,178,4,0,111,17,127,105,6,39,131,178,4,0,115,17,127,105,6,39,131,178,4,0,119,17,127,105,6,39,131,178,4,0,55,7,127,105,6,39,131,178,4,0,230,39,127,105,6,39,131,178,4,0,63,41,127,105,6,39,131,178,4,0,47,33,127,105,6,39,131,178,4,0,131,17,209,107,6,39,131,178,4,0,47,9,9,109,6,39,131,178,4,0,139,7,16,0,6,39,131,178,4,0,171,7,16,0,6,39,131,178,4,0,147,21,16,0,6,39,131,178,4,0,151,21,16,0,6,39,131,178,4,0,155,21,16,0,6,39,131,178,4,0,159,21,16,0,6,39,131,178,4,0,163,21,16,0,6,39,131,178,4,0,101,43,16,0,6,39,131,178,4,0,151,43,33,106,6,39,131,178,4,0,54,111,33,106,6,39,131,178,4,0,207,22,33,106,6,39,131,178,4,0,99,28,33,106,6,39,131,178,4,0,71,24,63,109,6,39,131,178,4,0,219,20,111,1,6,39,131,178,4,0,135,7,111,1,6,39,131,178,4,0,103,28,111,1,6,39,131,178,4,0,123,29,111,1,6,39,131,178,4,0,162,42,111,1,6,39,131,178,4,0,58,41,111,1,6,39,131,178,4,0,155,33,111,1,6,39,131,178,4,0,247,33,111,1,6,39,131,178,4,0,111,22,3,26,6,39,131,178,4,0,59,22,11,26,6,39,131,178,4,0,247,23,59,1,6,39,131,178,4,0,155,26,59,1,6,39,131,178,4,0,75,197,59,1,6,39,131,178,4,0,159,26,59,1,6,39,131,178,4,0,103,8,59,1,6,39,131,178,4,0,13,41,59,1,6,39,131,178,4,0,78,41,59,1,6,39,131,178,4,0,11,27,59,1,6,39,131,178,4,0,111,8,59,1,6,39,131,178,4,0,51,27,59,1,6,39,131,178,4,0,78,108,59,1,6,39,131,178,4,0,15,29,59,1,6,39,131,178,4,0,235,31,59,1,6,39,131,178,4,0,7,27,3,109,6,39,131,178,4,0,191,17,51,39,6,39,131,178,4,0,59,7,51,39,6,39,131,178,4,0,219,17,51,39,6,39,131,178,4,0,59,18,51,39,6,39,131,178,4,0,29,70,51,39,6,39,131,178,4,0,196,134,51,39,6,39,131,178,4,0,151,33,51,39,6,39,131,178,4,0,191,33,51,39,6,39,131,178,4,0,255,33,51,39,6,39,131,178,4,0,211,36,51,39,6,39,131,178,4,0,215,36,51,39,6,39,131,178,4,0,235,27,116,39,6,39,131,178,4,0,207,17,26,39,6,39,131,178,4,0,15,18,26,39,6,39,131,178,4,0,23,18,26,39,6,39,131,178,4,0,27,18,26,39,6,39,131,178,4,0,6,111,26,39,6,39,131,178,4,0,223,19,26,39,6,39,131,178,4,0,239,7,26,39,6,39,131,178,4,0,86,39,26,39,6,39,131,178,4,0,170,69,26,39,6,39,131,178,4,0,251,24,26,39,6,39,131,178,4,0,31,26,26,39,6,39,131,178,4,0,35,26,26,39,6,39,131,178,4,0,47,26,26,39,6,39,131,178,4,0,94,110,26,39,6,39,131,178,4,0,91,26,26,39,6,39,131,178,4,0,131,26,26,39,6,39,131,178,4,0,95,27,26,39,6,39,131,178,4,0,107,27,26,39,6,39,131,178,4,0,111,27,26,39,6,39,131,178,4,0,115,27,26,39,6,39,131,178,4,0,143,27,26,39,6,39,131,178,4,0,215,27,26,39,6,39,131,178,4,0,219,27,26,39,6,39,131,178,4,0,227,27,26,39,6,39,131,178,4,0,187,29,26,39,6,39,131,178,4,0,191,29,26,39,6,39,131,178,4,0,95,30,26,39,6,39,131,178,4,0,182,42,26,39,6,39,131,178,4,0,223,33,26,39,6,39,131,178,4,0,131,34,26,39,6,39,131,178,4,0,43,35,26,39,6,39,131,178,4,0,47,35,26,39,6,39,131,178,4,0,207,36,26,39,6,39,131,178,4,0,167,38,26,39,6,39,131,178,4,0,135,39,26,39,6,39,131,178,4,0,107,7,186,39,6,39,131,178,4,0,227,21,8,2,6,39,131,178,4,0,7,23,8,2,6,39,131,178,4,0,179,8,8,2,6,39,131,178,4,0,68,41,197,107,6,39,131,178,4,0,47,30,106,39,6,39,131,178,4,0,251,30,106,39,6,39,131,178,4,0,103,31,21,39,6,39,131,178,4,0,107,31,21,39,6,39,131,178,4,0,111,31,21,39,6,39,131,178,4,0,115,31,21,39,6,39,131,178,4,0,119,31,21,39,6,39,131,178,4,0,123,31,21,39,6,39,131,178,4,0,127,31,21,39,6,39,131,178,4,0,131,31,21,39,6,39,131,178,4,0,135,31,21,39,6,39,131,178,4,0,176,109,21,39,6,39,131,178,4,0,139,31,21,39,6,39,131,178,4,0,143,31,21,39,6,39,131,178,4,0,147,31,21,39,6,39,131,178,4,0,191,8,21,39,6,39,131,178,4,0,195,8,21,39,6,39,131,178,4,0,199,8,21,39,6,39,131,178,4,0,155,31,21,39,6,39,131,178,4,0,159,31,21,39,6,39,131,178,4,0,163,31,21,39,6,39,131,178,4,0,167,31,21,39,6,39,131,178,4,0,171,31,21,39,6,39,131,178,4,0,175,31,21,39,6,39,131,178,4,0,179,31,21,39,6,39,131,178,4,0,183,31,21,39,6,39,131,178,4,0,203,8,21,39,6,39,131,178,4,0,207,8,21,39,6,39,131,178,4,0,187,31,21,39,6,39,131,178,4,0,220,39,21,39,6,39,131,178,4,0,211,8,21,39,6,39,131,178,4,0,215,8,21,39,6,39,131,178,4,0,199,31,21,39,6,39,131,178,4,0,219,8,21,39,6,39,131,178,4,0,223,8,21,39,6,39,131,178,4,0,103,2,21,39,6,39,131,178,4,0,227,8,21,39,6,39,131,178,4,0,203,31,21,39,6,39,131,178,4,0,207,31,21,39,6,39,131,178,4,0,211,31,21,39,6,39,131,178,4,0,215,31,21,39,6,39,131,178,4,0,219,31,21,39,6,39,131,178,4,0,223,31,21,39,6,39,131,178,4,0,231,8,21,39,6,39,131,178,4,0,76,43,101,39,6,39,131,178,4,0,166,110,101,39,6,39,131,178,4,0,43,33,101,39,6,39,131,178,4,0,79,16,135,106,6,39,131,178,4,0,253,41,135,106,6,39,131,178,4,0,195,16,135,106,6,39,131,178,4,0,154,40,115,33,6,39,131,178,4,0,43,9,203,107,6,39,131,178,4,0,179,37,156,2,6,39,131,178,4,0,99,18,44,1,6,39,131,178,4,0,71,7,44,1,6,39,131,178,4,0,11,19,44,1,6,39,131,178,4,0,103,7,44,1,6,39,131,178,4,0,79,19,44,1,6,39,131,178,4,0,127,42,44,1,6,39,131,178,4,0,11,23,44,1,6,39,131,178,4,0,243,7,44,1,6,39,131,178,4,0,225,39,44,1,6,39,131,178,4,0,130,69,44,1,6,39,131,178,4,0,186,111,44,1,6,39,131,178,4,0,3,36,44,1,6,39,131,178,4,0,51,9,44,1,6,39,131,178,4,0,82,205,82,205,207,43,41,1,4,0,7,196,223,195,6,39,131,178,4,0,175,197,71,196,6,39,131,178,4,0,231,195,223,195,6,39,131,178,4,0,31,196,239,195,6,39,131,178,4,0,223,196,71,196,6,39,131,178,4,0,111,196,223,195,6,39,131,178,4,0,231,196,223,195,6,39,131,178,4,0,87,196,223,195,6,39,131,178,4,0,119,196,223,195,6,39,131,178,4,0,135,196,223,195,6,39,131,178,4,0,47,196,223,195,6,39,131,178,4,0,95,201,223,195,6,39,131,178,4,0,167,196,223,195,6,39,131,178,4,0,247,196,223,195,6,39,131,178,4,0,183,201,223,195,6,39,131,178,4,0,207,201,223,195,6,39,131,178,4,0,127,196,223,195,6,39,131,178,4,0,95,196,223,195,6,39,131,178,4,0,15,196,223,195,6,39,131,178,4,0,215,202,223,195,6,39,131,178,4,0,223,202,71,196,6,39,131,178,4,0,103,203,223,195,6,39,131,178,4,0,191,195,71,196,6,39,131,178,4,0,39,196,223,195,6,39,131,178,4,0,23,197,159,202,188,105,41,1,4,0,127,203,239,195,6,39,131,178,4,0,31,197,239,195,16,39,131,178,4,0,31,197,143,196,16,39,131,178,4,0,127,197,119,197,16,39,131,178,4,0,223,197,231,195,16,39,131,178,4,0,55,199,215,196,16,39,131,178,4,0,153,203,79,199,16,39,131,178,4,0,135,199,87,196,16,39,131,178,4,0,39,201,135,196,16,39,131,178,4,0,79,201,71,201,16,39,131,178,4,0,191,202,95,196,16,39,131,178,4,0,199,202,15,196,16,39,131,178,4,0,135,203,239,195,16,39,131,178,4,0,119,199,255,195,188,105,131,178,4,0,111,199,255,195,188,105,131,178,4,0,151,196,255,195,188,105,131,178,4,0,79,196,255,195,188,105,131,178,4,0,63,196,255,195,188,105,131,178,4,0,151,196,63,196,188,105,131,178,4,0,79,196,63,196,188,105,131,178,4,0,239,196,55,196,188,105,131,178,4,0,183,196,55,196,188,105,131,178,4,0,191,196,55,196,188,105,131,178,4,0,191,196,183,196,188,105,131,178,4,0,143,178,143,178,66,44,41,1,4,0,157,207,157,207,29,196,41,1,4,0,140,208,140,208,29,196,41,1,4,0,161,178,161,178,188,105,41,1,4,0,146,205,146,205,29,196,41,1,4,0,34,206,183,198,85,197,41,1,4,0,34,206,34,206,29,196,41,1,4,0,168,178,168,178,188,105,41,1,4,0,155,208,155,208,29,196,41,1,4,0,94,209,94,209,29,196,41,1,4,0,175,178,175,178,188,105,41,1,4,0,170,208,170,208,29,196,41,1,4,0,110,209,110,209,29,196,41,1,4,0,140,178,140,178,188,105,41,1,4,0,185,208,185,208,29,196,41,1,4,0,126,209,126,209,29,196,41,1,4,0,74,205,74,205,188,105,41,1,4,0,122,113,122,113,29,196,41,1,84,0,50,183,118,108,124,108,130,108,136,108,202,111,142,108,38,107,12,145,148,108,208,111,138,106,214,111,250,105,220,111,44,107,36,106,42,106,226,111,48,106,136,105,154,108,232,111,220,105,160,108,50,107,56,107,144,106,54,106,150,106,166,108,118,105,238,111,172,108,156,106,160,105,62,107,178,108,244,111,184,108,190,108,68,107,162,106,24,145,250,111,6,106,60,106,74,107,168,106,66,106,12,106,0,112,166,105,174,106,80,107,180,106,186,106,148,105,6,112,192,106,72,106,86,107,198,106,78,106,90,106,12,112,96,106,92,107,196,108,98,107,18,112,202,108,104,107,110,107,116,107,226,105,154,105,122,107,208,108,102,106,204,106,142,105,18,106,108,106,9,0,190,105,202,105,18,145,130,105,0,106,208,105,172,105,84,106,214,105,22,0,128,107,210,106,66,145,134,107,140,107,214,108,146,107,220,108,152,107,216,106,158,107,226,108,222,106,164,107,170,107,176,107,232,108,228,106,182,107,72,145,238,108,188,107,2,0,81,39,249,106,11,0,114,106,232,105,212,107,178,105,126,106,218,107,238,105,72,109,196,105,78,109,224,107,43,0,159,197,167,197,4,204,31,204,103,196,239,197,49,204,47,197,67,204,170,203,199,196,175,196,207,196,191,198,63,199,103,199,127,199,143,199,151,199,159,199,167,199,31,201,159,196,161,203,87,201,111,201,143,203,215,201,255,196,7,197,152,203,151,202,23,197,183,202,207,202,95,203,207,195,199,195,247,204,119,203,171,203,45,205,143,196,11,0,8,3,80,40,176,39,57,109,116,39,191,39,91,39,164,2,50,40,51,9,44,1,7,0,141,72,146,72,151,72,156,72,161,72,166,72,171,72,7,0,138,45,143,45,148,45,153,45,158,40,158,45,163,40,34,0,20,137,26,137,132,109,128,113,134,113,140,113,146,113,152,113,138,109,158,113,164,113,170,113,144,109,176,113,182,113,188,113,194,113,200,113,206,113,212,113,218,113,224,113,230,113,236,113,242,113,248,113,254,113,4,114,10,114,16,114,106,108,22,114,28,114,34,114,8,0,176,72,181,72,186,72,191,72,196,72,201,72,206,72,211,72,12,0,216,72,221,72,226,72,231,72,236,72,241,72,246,72,251,72,0,73,5,73,10,73,15,73,11,0,163,45,3,107,168,45,173,45,178,45,183,45,188,45,193,45,198,45,203,45,208,45,18,0,40,114,46,114,52,114,58,114,64,114,170,137,176,137,70,114,76,114,82,114,150,109,88,114,230,107,94,114,100,114,106,114,112,108,156,109,24,0,16,110,195,39,140,69,54,206,226,206,243,16,247,16,251,16,255,16,138,111,3,17,136,134,124,110,7,17,39,7,11,17,43,7,239,206,15,17,19,17,23,17,27,17,47,7,51,7,9,0,35,17,39,17,43,17,47,17,51,17,55,17,59,17,63,17,67,17,8,0,112,114,118,114,213,45,124,114,218,45,130,114,136,114,168,40,70,0,142,114,148,114,154,114,160,114,166,114,172,114,178,114,244,39,236,107,190,114,196,114,202,114,208,114,214,114,226,114,232,114,33,40,238,114,244,114,250,114,0,115,6,115,162,109,12,115,18,115,30,115,129,39,36,115,42,115,48,115,54,115,134,39,249,39,60,115,223,45,168,109,72,115,78,115,84,115,90,115,96,115,102,115,174,109,228,45,108,115,136,138,142,138,132,115,138,115,144,115,150,115,254,39,156,115,162,115,139,39,168,115,174,115,180,115,186,115,233,45,192,115,198,115,204,115,210,115,216,115,238,45,222,115,196,111,148,138,124,105,3,0,228,115,234,115,240,115,11,0,165,73,170,73,175,73,180,73,185,73,190,73,195,73,200,73,205,73,210,73,215,73,8,0,159,17,163,17,167,17,171,17,175,17,142,134,134,109,179,17,3,0,246,115,8,116,32,116,13,0,28,75,33,75,38,75,43,75,48,75,53,75,58,75,63,75,68,75,73,75,78,75,83,75,88,75,28,0,93,75,98,75,103,75,108,75,113,75,118,75,123,75,128,75,133,75,138,75,143,75,148,75,153,75,158,75,163,75,168,75,173,75,178,75,183,75,188,75,193,75,198,75,203,75,208,75,213,75,218,75,223,75,228,75,4,0,233,75,238,75,243,75,243,45,18,0,248,45,253,75,2,76,173,40,253,45,2,46,7,46,178,40,12,46,17,46,183,40,22,46,27,46,188,40,32,46,37,46,42,46,47,46,12,0,169,69,7,76,193,40,52,46,57,46,62,46,67,46,72,46,77,46,82,46,87,46,92,46,4,0,97,46,102,46,107,46,198,40,9,0,231,17,235,17,90,108,36,108,239,17,243,17,24,111,247,17,251,17,3,0,112,46,117,46,122,46,27,0,127,46,12,76,17,76,132,46,137,46,142,46,147,46,152,46,157,46,162,46,167,46,22,76,27,76,32,76,37,76,172,46,177,46,182,46,187,46,42,76,174,69,47,76,52,76,192,46,197,46,202,46,207,46,32,0,212,46,217,46,222,46,227,46,232,46,237,46,242,46,247,46,252,46,203,40,1,47,6,47,253,106,11,47,16,47,21,47,26,47,31,47,36,47,41,47,46,47,57,76,62,76,51,47,208,40,56,47,61,47,66,47,71,47,76,47,38,40,81,47,20,0,67,76,72,76,77,76,82,76,87,76,92,76,97,76,102,76,107,76,112,76,117,76,122,76,127,76,132,76,137,76,142,76,147,76,152,76,86,47,91,47,16,0,96,47,101,47,39,39,106,47,111,47,160,43,116,47,3,40,8,40,213,40,121,47,218,40,165,43,157,76,162,76,126,47,7,0,43,40,131,47,170,43,164,39,136,47,141,47,48,40,6,0,146,47,53,40,22,117,151,47,99,39,28,117,13,0,156,47,161,47,166,47,171,47,176,47,167,76,172,76,177,76,181,47,186,47,191,47,196,47,201,47,26,0,206,47,211,47,216,47,187,76,192,76,221,47,223,40,226,47,231,47,228,40,233,40,236,47,241,47,246,47,251,47,0,48,207,76,212,76,5,48,10,48,15,48,20,48,25,48,30,48,35,48,40,48,17,0,45,48,50,48,34,117,55,48,60,48,65,48,70,48,75,48,80,48,85,48,90,48,238,40,95,48,100,48,243,40,105,48,110,48,12,0,63,7,67,7,135,18,139,18,143,18,222,76,227,76,232,76,237,76,242,76,247,76,40,117,26,0,115,48,120,48,125,48,130,48,135,48,140,48,145,48,150,48,155,48,160,48,165,48,170,48,175,48,180,48,185,48,252,76,179,69,190,48,195,48,200,48,248,40,205,48,210,48,215,48,1,77,6,77,14,0,220,48,225,48,230,48,235,48,240,48,245,48,253,40,250,48,255,48,4,49,2,41,9,49,14,49,7,41,16,0,19,49,24,49,29,49,34,49,39,49,44,49,49,49,54,49,59,49,64,49,69,49,74,49,79,49,12,41,84,49,17,41,10,0,89,49,94,49,99,49,104,49,109,49,114,49,119,49,124,49,129,49,134,49,34,0,139,49,144,49,149,49,175,43,154,49,159,49,164,49,169,49,16,77,21,77,174,49,179,49,184,69,26,77,184,49,189,49,194,49,199,49,22,41,204,49,209,49,27,41,214,49,31,77,36,77,219,49,224,49,229,49,234,49,239,49,244,49,249,49,32,41,254,49,33,0,46,117,52,117,58,117,64,117,70,117,76,117,82,117,88,117,94,117,100,117,106,117,112,117,118,117,124,117,3,50,130,117,204,109,136,117,142,117,148,117,154,117,160,117,166,117,172,117,178,117,184,117,190,117,210,109,196,117,202,117,208,117,214,117,220,117,7,0,79,7,83,7,23,19,27,19,87,7,91,7,8,50,16,0,13,50,41,77,46,77,51,77,56,77,61,77,66,77,71,77,76,77,81,77,86,77,91,77,96,77,101,77,106,77,18,50,2,0,95,7,99,7,6,0,116,77,121,77,126,77,131,77,136,77,141,77,14,0,113,50,118,50,123,50,128,50,133,50,138,50,185,43,190,43,143,50,148,50,195,43,153,50,200,43,205,43,16,0,158,50,163,50,168,50,173,50,178,50,183,50,188,50,193,50,198,50,203,50,208,50,213,50,199,39,218,50,204,39,37,41,6,0,194,69,181,77,186,77,191,77,42,41,223,50,5,0,196,77,201,77,206,77,211,77,216,77,10,0,221,77,226,77,231,77,236,77,241,77,246,77,251,77,0,78,5,78,10,78,10,0,175,78,180,78,185,78,190,78,195,78,200,78,205,78,210,78,215,78,220,78,48,0,225,78,230,78,235,78,240,78,245,78,250,78,255,78,4,79,9,79,14,79,19,79,24,79,29,79,34,79,39,79,44,79,49,79,54,79,59,79,64,79,69,79,74,79,79,79,84,79,89,79,94,79,99,79,104,79,109,79,114,79,119,79,78,70,124,79,129,79,134,79,83,70,139,79,144,79,149,79,154,79,159,79,88,70,164,79,93,70,169,79,174,79,179,79,98,70,24,0,59,20,63,20,67,20,71,20,173,41,75,20,79,20,83,20,87,20,91,20,95,20,245,69,250,69,99,20,103,20,107,20,184,79,189,79,111,20,115,20,178,41,119,20,111,7,123,20,15,0,228,50,233,50,238,50,243,50,248,50,253,50,2,51,7,51,12,51,17,51,22,51,27,51,32,51,37,51,42,51,27,0,38,119,44,119,50,119,47,51,52,51,56,119,115,7,57,51,62,51,62,119,67,51,72,51,77,51,82,51,87,51,68,119,92,51,97,51,47,41,74,119,102,51,80,119,86,119,92,119,98,119,104,119,110,119,6,0,107,51,112,51,117,51,122,51,127,51,132,51,19,0,147,51,249,79,254,79,199,69,172,51,13,80,18,80,23,80,43,80,52,41,177,51,197,51,53,80,58,80,222,51,237,51,67,41,1,52,41,52,12,0,56,52,63,40,61,52,66,52,71,52,76,52,81,52,86,52,91,52,73,80,78,80,96,52,19,0,101,52,83,80,88,80,93,80,98,80,103,80,108,80,113,80,118,80,123,80,128,80,133,80,138,80,143,80,148,80,153,80,158,80,163,80,168,80,5,0,147,7,151,7,155,7,159,7,163,7,4,0,116,119,122,119,128,119,134,119,26,0,140,119,120,112,126,112,132,112,138,112,22,108,14,110,164,119,106,52,170,119,111,52,176,119,20,110,182,119,188,119,116,52,194,119,121,52,200,119,206,119,212,119,218,119,126,52,131,52,136,52,141,52,9,0,183,21,187,21,191,21,195,21,199,21,203,21,207,21,211,21,215,21,4,0,164,146,74,122,4,123,196,123,7,0,226,82,231,82,236,82,241,82,246,82,251,82,146,52,12,0,151,52,156,52,161,52,166,52,72,41,171,52,176,52,181,52,210,43,204,69,209,39,186,52,16,0,191,52,196,52,201,52,206,52,211,52,216,52,221,52,226,52,231,52,236,52,241,52,246,52,251,52,0,53,5,53,10,53,5,0,15,53,20,53,25,53,30,53,77,41,6,0,175,7,95,22,99,22,48,41,179,7,183,7,8,0,187,7,191,7,195,7,199,7,203,7,207,7,211,7,215,7,2,0,219,7,187,2,14,0,160,53,143,22,147,22,151,22,155,22,70,110,159,22,163,22,167,22,147,42,171,22,175,22,179,22,223,7,22,0,75,83,80,83,85,83,90,83,95,83,100,83,105,83,110,83,115,83,120,83,125,83,130,83,135,83,140,83,145,83,150,83,155,83,160,83,165,83,170,83,175,83,180,83,4,0,169,39,231,7,30,108,235,7,10,0,185,53,215,43,69,39,190,53,64,39,195,53,200,53,220,43,205,53,112,41,18,0,210,53,215,53,29,84,34,84,117,41,220,53,225,53,230,53,235,53,240,53,245,53,250,53,255,53,4,54,9,54,14,54,19,54,24,54,21,0,39,84,44,84,49,84,54,84,59,84,64,84,69,84,74,84,79,84,84,84,89,84,94,84,99,84,104,84,109,84,114,84,119,84,124,84,129,84,134,84,139,84,10,0,9,107,29,54,34,54,144,84,149,84,39,54,44,54,49,54,154,84,159,84,43,0,54,54,59,54,64,54,69,54,74,54,79,54,68,40,122,41,127,41,84,54,89,54,94,54,99,54,132,41,104,54,225,43,109,54,114,54,119,54,174,39,230,43,137,41,142,41,124,54,129,54,134,54,104,39,139,54,144,54,149,54,147,41,44,44,164,84,229,69,169,84,154,54,159,54,164,54,169,54,152,41,174,54,179,54,184,54,7,0,162,41,194,84,234,54,229,84,167,41,239,69,249,84,4,0,247,7,3,8,7,8,11,8,6,0,15,8,207,41,58,55,191,2,63,55,19,8,36,0,68,55,73,55,43,85,48,85,78,55,199,206,83,55,88,55,93,55,98,55,103,55,108,55,113,55,118,55,123,55,128,55,133,55,212,41,138,55,143,55,148,55,153,55,158,55,163,55,168,55,173,55,178,55,183,55,188,55,193,55,217,41,198,55,222,41,203,55,208,55,213,55,16,0,218,55,63,85,68,85,228,55,238,55,243,55,248,55,253,55,2,56,7,56,12,56,17,56,22,56,27,56,32,56,219,39,31,0,73,85,78,85,83,85,88,85,93,85,98,85,103,85,108,85,113,85,118,85,123,85,128,85,133,85,138,85,143,85,148,85,153,85,158,85,163,85,168,85,173,85,178,85,183,85,188,85,193,85,198,85,203,85,208,85,213,85,218,85,42,56,8,0,143,24,147,24,151,24,155,24,159,24,163,24,167,24,171,24,20,0,47,56,52,56,57,56,62,56,67,56,72,56,77,56,82,56,87,56,92,56,97,56,102,56,107,56,112,56,117,56,122,56,223,85,228,85,127,56,132,56,14,0,212,86,217,86,222,86,227,86,232,86,237,86,242,86,247,86,252,86,1,87,6,87,11,87,16,87,21,87,12,0,146,57,151,57,156,57,161,57,166,57,171,57,176,57,181,57,186,57,191,57,196,57,201,57,47,0,26,87,31,87,36,87,41,87,46,87,51,87,56,87,61,87,66,87,71,87,76,87,81,87,86,87,91,87,96,87,101,87,106,87,111,87,116,87,121,87,126,87,131,87,136,87,141,87,146,87,151,87,156,87,161,87,166,87,171,87,176,87,181,87,186,87,191,87,196,87,201,87,206,87,211,87,216,87,221,87,226,87,231,87,236,87,241,87,246,87,251,87,0,88,47,0,5,88,10,88,15,88,20,88,25,88,30,88,35,88,40,88,45,88,50,88,55,88,60,88,65,88,70,88,75,88,80,88,85,88,90,88,95,88,100,88,105,88,110,88,115,88,120,88,125,88,130,88,135,88,140,88,145,88,150,88,155,88,160,88,165,88,170,88,175,88,180,88,185,88,190,88,195,88,200,88,205,88,210,88,215,88,220,88,225,88,230,88,235,88,9,0,192,42,195,25,206,57,211,57,23,8,162,111,203,25,27,8,31,8,25,0,35,8,39,8,207,25,211,25,215,25,219,25,223,25,227,25,231,25,240,88,245,88,250,88,255,88,4,89,9,89,14,89,19,89,24,89,29,89,34,89,39,89,44,89,49,89,54,89,59,89,3,0,43,8,54,108,47,8,3,0,51,8,55,8,59,8,2,0,63,8,195,2,12,0,129,89,134,89,139,89,144,89,149,89,154,89,159,89,164,89,169,89,221,57,174,89,179,89,17,0,226,57,184,89,189,89,194,89,199,89,204,89,209,89,214,89,219,89,224,89,229,89,234,89,239,89,244,89,249,89,254,89,231,57,6,0,236,57,241,57,246,57,247,41,144,39,251,57,17,0,68,125,74,125,182,110,80,125,86,125,92,125,98,125,104,125,110,125,116,125,122,125,128,125,24,109,134,125,200,107,140,125,30,109,18,0,252,41,3,90,8,90,1,42,0,58,5,58,10,58,15,58,20,58,25,58,30,58,35,58,6,42,40,58,45,58,11,42,50,58,55,58,8,0,60,58,65,58,70,58,18,90,23,90,75,58,80,58,85,58,10,0,28,90,33,90,38,90,43,90,48,90,53,90,58,90,63,90,68,90,73,90,11,0,78,90,83,90,88,90,93,90,98,90,103,90,108,90,113,90,118,90,123,90,128,90,9,0,67,8,71,8,75,8,79,8,83,8,87,8,91,8,95,8,99,8,15,0,90,58,95,58,100,58,105,58,110,58,16,42,115,58,120,58,125,58,130,58,149,39,135,58,140,58,21,42,145,58,10,0,231,26,172,134,235,26,239,26,243,26,247,26,107,8,160,69,251,26,165,69,10,0,155,58,160,58,165,58,170,58,175,58,180,58,185,58,190,58,195,58,200,58,12,0,205,58,210,58,215,58,220,58,26,42,225,58,31,42,230,58,235,58,73,40,240,58,245,58,43,0,146,125,152,125,240,106,200,134,206,134,158,125,164,125,170,125,172,153,178,153,176,125,182,125,188,110,194,110,200,110,190,153,196,153,188,125,202,153,230,134,194,125,200,125,206,125,214,153,220,153,226,153,212,125,218,125,224,125,230,125,244,153,250,153,236,125,6,154,242,134,12,154,24,112,242,125,248,125,206,110,254,125,4,126,212,110,22,0,250,58,255,58,4,59,9,59,78,40,14,59,19,59,24,59,29,59,34,59,41,92,46,92,39,59,179,39,36,42,44,59,49,59,54,59,41,42,59,59,64,59,69,59,12,0,51,92,56,92,61,92,66,92,71,92,76,92,81,92,86,92,91,92,96,92,101,92,106,92,17,0,74,59,79,59,84,59,46,42,51,42,56,42,61,42,66,42,71,42,76,42,89,59,94,59,99,59,111,92,116,92,104,59,109,59,37,0,114,59,119,59,124,59,121,92,126,92,129,59,131,92,136,92,13,70,141,92,146,92,151,92,134,59,139,59,144,59,149,59,154,59,159,59,164,59,169,59,81,42,174,59,179,59,184,59,189,59,194,59,199,59,86,42,204,59,209,59,156,92,161,92,214,59,219,59,224,59,229,59,234,59,24,0,166,92,171,92,176,92,181,92,186,92,191,92,196,92,201,92,206,92,211,92,216,92,221,92,226,92,231,92,236,92,241,92,246,92,251,92,0,93,5,93,10,93,15,93,20,93,25,93,6,0,115,8,119,8,123,8,127,8,123,27,127,27,2,0,131,8,135,8,80,0,26,155,32,155,38,155,42,109,44,155,50,155,56,155,150,112,62,155,68,155,74,155,80,155,86,155,92,155,98,155,104,155,110,155,116,155,122,155,128,155,210,127,134,155,248,134,140,155,254,134,146,155,152,155,158,155,164,155,170,155,176,155,182,155,156,112,188,155,194,155,200,155,162,112,206,155,58,108,212,155,218,155,224,155,168,112,230,155,236,155,242,155,4,135,248,155,254,155,4,156,10,156,174,112,16,156,22,156,28,156,180,112,34,156,40,156,186,112,10,135,192,112,16,135,198,112,46,156,52,156,58,156,64,156,70,156,76,156,204,112,82,156,88,156,22,135,94,156,100,156,106,156,112,156,118,156,124,156,130,156,11,0,139,8,155,27,159,27,163,27,167,27,171,27,175,27,179,27,183,27,239,59,216,127,15,0,30,93,35,93,40,93,45,93,50,93,55,93,60,93,65,93,70,93,75,93,80,93,85,93,90,93,95,93,100,93,22,0,143,8,254,110,222,127,64,108,228,127,234,127,190,156,196,156,240,127,246,127,252,127,2,128,8,128,14,128,70,108,202,156,28,135,208,156,20,128,26,128,32,128,38,128,15,0,105,93,110,93,115,93,120,93,125,93,130,93,135,93,140,93,145,93,150,93,155,93,160,93,165,93,170,93,175,93,68,0,180,93,185,93,190,93,195,93,200,93,205,93,210,93,215,93,220,93,225,93,230,93,235,93,240,93,245,93,250,93,255,93,4,94,9,94,14,94,19,94,24,94,29,94,34,94,39,94,44,94,49,94,54,94,59,94,64,94,69,94,74,94,79,94,84,94,89,94,94,94,99,94,104,94,109,94,114,94,119,94,124,94,129,94,134,94,139,94,144,94,149,94,154,94,159,94,164,94,64,44,169,94,174,94,179,94,184,94,189,94,194,94,199,94,204,94,209,94,118,70,214,94,219,94,224,94,229,94,234,94,239,94,244,94,123,70,12,0,244,59,91,42,249,59,254,59,3,60,8,60,13,60,18,60,23,60,28,60,96,42,33,60,21,0,13,95,18,95,23,95,28,95,33,95,38,95,43,95,48,95,53,95,58,95,63,95,38,60,43,60,68,95,73,95,78,95,83,95,88,95,93,95,98,95,44,128,3,0,147,8,151,8,155,8,32,0,50,128,56,128,62,128,68,128,74,128,80,128,86,128,4,111,92,128,98,128,10,111,104,128,16,111,110,128,116,128,122,128,128,128,134,128,76,108,140,128,146,128,152,128,158,128,164,128,170,128,176,128,182,128,48,109,188,128,82,108,194,128,200,128,16,0,133,95,138,95,143,95,148,95,153,95,158,95,163,95,168,95,173,95,178,95,183,95,188,95,193,95,198,95,203,95,208,95,11,0,187,42,15,28,159,8,163,8,167,8,206,128,171,8,19,28,23,28,27,28,31,28,14,0,128,60,133,60,138,60,143,60,148,60,153,60,158,60,163,60,168,60,121,42,173,60,213,95,218,95,178,60,8,0,51,28,55,28,59,28,63,28,67,28,71,28,75,28,79,28,37,0,183,60,188,60,193,60,126,42,198,60,203,60,131,42,208,60,136,42,213,60,218,60,223,60,228,60,233,60,238,60,243,60,248,60,141,42,223,95,228,95,233,95,238,95,253,60,2,61,7,61,12,61,17,61,22,61,27,61,32,61,37,61,42,61,146,42,47,61,151,42,52,61,57,61,17,0,62,61,67,61,72,61,156,42,77,61,82,61,87,61,92,61,97,61,102,61,107,61,112,61,243,95,248,95,117,61,122,61,127,61,18,0,132,61,134,158,140,158,146,158,137,61,142,61,147,61,152,61,157,61,162,61,167,61,172,61,177,61,182,61,187,61,192,61,197,61,224,39,13,0,202,61,207,61,212,61,217,61,22,96,27,96,222,61,227,61,232,61,237,61,242,61,247,61,252,61,12,0,139,28,143,28,147,28,151,28,155,28,37,96,42,96,47,96,52,96,57,96,62,96,67,96,14,0,72,96,77,96,82,96,87,96,92,96,97,96,102,96,107,96,112,96,117,96,122,96,127,96,132,96,137,96,17,0,212,128,22,111,218,128,224,128,230,128,236,128,242,128,248,128,254,128,4,129,10,129,16,129,22,129,28,129,30,106,54,109,34,129,11,0,41,62,46,62,51,62,56,62,61,62,66,62,71,62,76,62,81,62,186,42,86,62,14,0,183,8,11,30,15,30,19,30,23,30,27,30,31,30,35,30,39,30,91,62,96,62,101,62,106,62,111,62,26,0,46,129,52,129,58,129,64,129,70,129,76,129,82,129,88,129,94,129,100,129,106,129,112,129,156,160,162,160,118,129,124,129,130,129,136,129,142,129,148,129,60,109,154,129,160,129,166,129,28,111,172,129,22,0,178,129,184,129,34,111,190,129,196,129,202,129,208,129,214,129,220,129,226,129,186,160,192,160,232,129,238,129,244,129,250,129,0,130,6,130,12,130,18,130,24,130,30,130,17,0,147,96,152,96,157,96,162,96,167,96,172,96,177,96,182,96,187,96,192,96,197,96,202,96,207,96,212,96,217,96,222,96,227,96,7,0,116,62,191,42,121,62,126,62,131,62,136,62,141,62,16,0,146,62,151,62,156,62,161,62,166,62,171,62,176,62,181,62,186,62,191,62,196,62,201,62,206,62,211,62,216,62,221,62,16,0,152,131,158,131,76,111,164,131,200,161,40,135,170,131,176,131,182,131,188,131,194,131,200,131,206,131,212,131,218,131,224,131,20,0,36,97,41,97,46,97,51,97,56,97,61,97,66,97,71,97,76,97,81,97,86,97,91,97,96,97,101,97,106,97,111,97,116,97,121,97,226,62,231,62,16,0,82,111,88,111,94,111,100,111,106,111,112,111,118,111,100,108,124,111,130,111,230,131,46,135,10,162,16,162,236,131,242,131,18,0,187,8,47,31,51,31,55,31,59,31,63,31,67,31,71,31,75,31,126,97,131,97,136,97,141,97,146,97,151,97,156,97,236,62,248,131,8,0,241,62,246,62,251,62,0,63,5,63,10,63,15,63,20,63,42,0,25,63,30,63,196,42,235,8,35,63,40,63,45,63,50,63,55,63,60,63,65,63,70,63,75,63,161,97,166,97,245,43,80,63,85,63,90,63,95,63,100,63,105,63,110,63,115,63,120,63,125,63,130,63,135,63,140,63,145,63,150,63,155,63,160,63,165,63,170,63,175,63,171,97,176,97,180,63,185,63,190,63,195,63,20,0,181,97,221,97,226,97,231,97,236,97,241,97,246,97,251,97,0,98,5,98,10,98,15,98,20,98,25,98,30,98,35,98,40,98,45,98,200,63,250,43,83,0,205,63,210,63,254,131,4,132,136,111,10,132,201,42,16,132,22,132,206,42,215,63,28,132,34,132,220,63,211,42,225,63,142,111,40,132,148,111,75,98,80,98,154,111,46,132,52,132,160,111,58,132,64,132,70,132,85,98,90,98,76,132,230,63,82,132,235,63,88,132,94,132,100,132,106,132,112,132,240,63,245,63,118,132,124,132,130,132,136,132,142,132,148,132,154,132,160,132,166,111,166,132,172,132,178,132,184,132,190,132,196,132,202,132,216,42,120,109,208,132,14,107,250,63,126,109,214,132,220,132,172,111,221,42,226,132,232,132,238,132,244,132,255,63,250,132,4,64,0,133,6,133,12,133,18,133,178,111,24,133,20,107,30,133,84,109,5,0,95,98,100,98,105,98,110,98,115,98,13,0,120,98,125,98,130,98,135,98,140,98,145,98,150,98,155,98,160,98,165,98,170,98,175,98,9,64,10,0,14,64,19,64,24,64,29,64,34,64,180,98,185,98,39,64,44,64,49,64,27,0,190,98,195,98,200,98,205,98,210,98,215,98,220,98,225,98,230,98,235,98,240,98,245,98,250,98,255,98,4,99,9,99,14,99,19,99,24,99,29,99,34,99,39,99,44,99,49,99,54,99,59,99,64,99,18,0,54,64,59,64,64,64,69,64,226,42,74,64,79,64,231,42,84,64,89,64,94,64,99,64,104,64,109,64,236,42,114,64,119,64,124,64,21,0,69,99,74,99,129,64,31,43,195,32,192,111,238,110,204,40,199,32,203,32,239,8,207,32,194,109,211,32,215,32,244,110,219,32,36,43,53,41,190,134,223,32,5,0,79,99,84,99,89,99,94,99,99,99,3,0,134,64,139,64,144,64,212,0,44,164,50,164,52,135,56,164,90,109,62,164,68,164,58,135,210,112,74,164,80,164,64,135,96,109,216,112,86,164,92,164,222,112,228,112,234,112,70,135,102,109,98,164,104,164,76,135,110,164,116,164,122,164,82,135,26,107,240,112,88,135,94,135,128,164,100,135,134,164,106,135,140,164,146,164,152,164,158,164,164,164,170,164,176,164,112,135,182,164,188,164,194,164,118,135,200,164,206,164,212,164,218,164,224,164,230,164,236,164,242,164,248,164,254,164,4,165,124,135,10,165,16,165,22,165,28,165,34,165,40,165,46,165,52,165,58,165,130,135,64,165,136,135,70,165,142,135,76,165,148,135,82,165,88,165,94,165,100,165,106,165,112,165,118,165,154,135,124,165,160,135,130,165,136,165,142,165,148,165,154,165,166,135,160,165,166,165,172,165,172,135,178,165,184,165,190,165,196,165,202,165,208,165,214,165,220,165,226,165,232,165,238,165,244,165,250,165,0,166,6,166,12,166,18,166,24,166,30,166,246,112,36,166,42,166,48,166,178,135,54,166,60,166,66,166,252,112,72,166,78,166,84,166,90,166,96,166,102,166,108,166,2,113,114,166,120,166,126,166,8,113,132,166,138,166,144,166,184,135,150,166,190,135,196,135,14,113,156,166,162,166,202,135,168,166,174,166,208,135,20,113,180,166,214,135,220,135,108,109,186,166,226,135,192,166,198,166,204,166,232,135,210,166,216,166,222,166,238,135,228,166,234,166,240,166,26,113,246,166,252,166,2,167,32,113,244,135,8,167,14,167,250,135,20,167,38,113,26,167,32,167,38,167,0,136,44,167,50,167,56,167,44,113,62,167,68,167,50,113,56,113,74,167,80,167,86,167,6,136,92,167,98,167,104,167,110,167,116,167,122,167,128,167,134,167,140,167,146,167,152,167,158,167,164,167,170,167,176,167,182,167,188,167,8,0,149,64,154,64,159,64,164,64,241,42,169,64,174,64,246,42,5,0,96,108,243,8,251,42,247,8,251,8,9,0,104,99,109,99,114,99,119,99,124,99,129,99,134,99,139,99,144,99,14,0,179,64,184,64,189,64,194,64,149,99,154,99,199,64,0,43,204,64,209,64,214,64,219,64,224,64,229,64,18,0,234,64,239,64,244,64,5,43,249,64,254,64,10,43,3,65,8,65,13,65,18,65,23,65,15,43,28,65,33,65,38,65,43,65,48,65,10,0,53,65,58,65,63,65,68,65,73,65,78,65,83,65,88,65,20,43,25,43,10,0,93,65,98,65,30,43,103,65,35,43,40,43,108,65,113,65,118,65,123,65,7,0,159,99,164,99,169,99,174,99,179,99,184,99,255,8,14,0,128,65,133,65,138,65,143,65,148,65,153,65,158,65,163,65,168,65,173,65,255,43,18,40,178,65,183,65,14,0,188,65,193,65,198,65,45,43,203,65,43,70,189,99,84,39,208,65,19,39,213,65,218,65,223,65,228,65,4,0,233,65,4,44,238,65,109,39,23,0,243,65,248,65,253,65,2,66,7,66,12,66,17,66,22,66,50,43,27,66,32,66,37,66,42,66,47,66,52,66,57,66,62,66,67,66,72,66,77,66,82,66,87,66,92,66,5,0,3,9,7,9,11,9,15,9,19,9,78,0,194,99,199,99,204,99,209,99,214,99,219,99,224,99,229,99,234,99,239,99,244,99,249,99,254,99,3,100,8,100,13,100,18,100,23,100,28,100,33,100,38,100,43,100,48,100,53,100,58,100,63,100,68,100,73,100,78,100,83,100,88,100,93,100,98,100,103,100,108,100,113,100,118,100,123,100,128,100,133,100,138,100,143,100,148,100,153,100,158,100,163,100,168,100,173,100,178,100,183,100,188,100,193,100,198,100,203,100,208,100,213,100,218,100,223,100,228,100,233,100,238,100,243,100,248,100,253,100,2,101,7,101,12,101,17,101,22,101,27,101,32,101,37,101,42,101,47,101,52,101,57,101,138,70,23,9,5,0,97,66,55,43,102,66,107,66,112,66,13,0,117,66,122,66,60,43,127,66,132,66,137,66,142,66,147,66,152,66,157,66,162,66,167,66,65,43,6,0,211,33,255,69,27,9,239,2,215,33,236,43,24,0,62,101,67,101,72,101,77,101,82,101,87,101,92,101,97,101,102,101,107,101,112,101,117,101,122,101,127,101,132,101,137,101,142,101,172,66,147,101,152,101,157,101,162,101,167,101,172,101,5,0,177,101,182,101,187,101,192,101,197,101,81,0,202,101,207,101,212,101,217,101,222,101,227,101,232,101,237,101,242,101,247,101,252,101,1,102,6,102,11,102,16,102,21,102,26,102,31,102,36,102,41,102,46,102,51,102,56,102,61,102,66,102,71,102,76,102,81,102,86,102,91,102,96,102,101,102,106,102,111,102,116,102,121,102,126,102,131,102,136,102,141,102,146,102,151,102,156,102,161,102,166,102,171,102,176,102,181,102,186,102,191,102,196,102,201,102,206,102,211,102,216,102,221,102,226,102,231,102,236,102,241,102,246,102,251,102,0,103,5,103,10,103,15,103,20,103,25,103,30,103,35,103,40,103,45,103,50,103,55,103,60,103,65,103,70,103,75,103,80,103,85,103,90,103,15,0,36,133,42,133,48,133,54,133,60,133,66,133,72,133,78,133,84,133,114,109,90,133,96,133,102,133,108,133,114,133,8,0,120,133,126,133,132,133,138,133,144,133,150,133,156,133,162,133,22,0,168,133,174,133,180,133,132,106,186,133,192,133,198,133,204,133,210,133,216,133,222,133,228,133,184,111,234,133,240,133,246,133,252,133,246,106,2,134,8,134,14,134,20,134,31,0,95,103,100,103,105,103,110,103,115,103,120,103,125,103,130,103,135,103,4,39,140,103,143,70,145,103,150,103,155,103,160,103,165,103,170,103,175,103,14,39,180,103,185,103,190,103,195,103,200,103,205,103,210,103,215,103,220,103,9,39,225,103,27,0,177,66,182,66,187,66,192,66,197,66,202,66,207,66,212,66,217,66,222,66,227,66,232,66,237,66,242,66,247,66,252,66,1,67,6,67,11,67,16,67,21,67,26,67,31,67,36,67,41,67,46,67,51,67,4,0,31,9,199,2,35,9,39,9,9,0,56,67,61,67,66,67,71,67,76,67,81,67,86,67,91,67,96,67,57,0,121,109,230,103,15,107,101,67,106,67,70,43,111,67,116,67,75,43,121,67,126,67,131,67,136,67,141,67,146,67,151,67,156,67,161,67,166,67,171,67,80,43,176,67,48,70,235,103,181,67,240,103,127,109,186,67,245,103,250,103,53,70,255,103,4,104,85,43,191,67,196,67,201,67,206,67,211,67,216,67,221,67,226,67,231,67,236,67,9,104,14,104,241,67,246,67,251,67,0,68,5,68,10,68,15,68,20,68,25,68,30,68,35,68,19,0,21,107,40,68,90,43,83,40,45,68,50,68,55,68,60,68,95,43,65,68,70,68,74,44,148,70,75,68,80,68,85,68,88,40,89,39,93,40,14,0,90,68,95,68,9,44,14,44,23,40,100,68,105,68,110,68,154,39,189,39,159,39,98,40,103,40,115,68,6,0,19,104,24,104,29,104,34,104,39,104,44,104,25,0,199,34,203,34,207,34,211,34,215,34,219,34,223,34,227,34,231,34,235,34,239,34,243,34,178,110,214,110,255,2,247,34,84,108,251,34,255,34,3,3,3,35,7,35,11,35,15,35,19,35,63,0,49,104,54,104,59,104,64,104,69,104,74,104,79,104,120,68,84,104,89,104,125,68,94,104,99,104,104,104,109,104,114,104,119,104,124,104,129,104,134,104,139,104,144,104,149,104,154,104,159,104,164,104,169,104,174,104,179,104,130,68,184,104,189,104,194,104,199,104,204,104,209,104,214,104,135,68,219,104,224,104,229,104,234,104,239,104,244,104,249,104,254,104,3,105,8,105,140,68,145,68,13,105,18,105,23,105,28,105,33,105,38,105,43,105,48,105,150,68,155,68,160,68,165,68,170,68,6,0,26,134,32,134,38,134,190,111,42,112,44,134,3,0,175,68,180,68,100,43,11,0,185,68,190,68,195,68,200,68,205,68,210,68,215,68,220,68,225,68,230,68,105,43,22,0,235,68,240,68,245,68,250,68,255,68,4,69,9,69,14,69,110,43,19,69,115,43,24,69,29,69,34,69,39,69,120,43,234,39,44,69,239,39,49,69,125,43,54,69,9,0,130,43,59,69,135,43,50,134,64,69,69,69,74,69,79,69,84,69,10,0,63,105,68,105,73,105,78,105,83,105,88,105,93,105,98,105,103,105,89,69,10,0,94,69,140,43,99,69,104,69,109,69,114,69,114,39,24,39,108,105,113,105,8,0,184,114,220,114,24,115,155,43,66,115,114,115,120,115,126,115,6,0,225,73,245,73,250,73,84,74,209,74,214,74,11,0,220,73,235,73,255,73,4,74,9,74,14,74,39,74,104,74,114,74,194,74,239,74,13,0,24,74,34,74,44,74,49,74,89,74,124,74,134,74,139,74,159,74,169,74,224,74,13,75,18,75,10,0,240,73,19,74,69,74,74,74,94,74,109,74,144,74,154,74,174,74,249,74,8,0,230,73,79,74,179,74,184,74,199,74,204,74,229,74,254,74,8,0,29,74,54,74,99,74,119,74,189,74,219,74,234,74,23,75,4,0,59,74,149,74,3,75,8,75,4,0,64,74,129,74,164,74,244,74,5,0,252,115,2,116,14,116,20,116,26,116,5,0,38,116,32,107,44,116,50,116,56,116,6,0,238,138,250,138,0,139,158,116,176,116,236,116,2,0,74,116,146,116,3,0,186,109,134,116,6,139,3,0,244,138,164,116,218,116,4,0,68,116,212,116,224,116,198,109,3,0,180,109,170,116,16,117,5,0,86,116,92,116,122,116,128,116,242,116,3,0,98,116,116,116,248,116,4,0,152,116,200,116,4,117,10,117,3,0,80,116,140,116,188,116,4,0,194,116,192,109,230,116,254,116,4,0,62,116,104,116,182,116,206,116,8,0,28,50,58,50,63,50,73,50,78,50,189,69,103,50,180,43,14,0,23,50,33,50,38,50,43,50,48,50,53,50,68,50,83,50,58,40,88,50,111,77,93,50,98,50,108,50,12,0,214,141,220,141,226,141,184,141,48,112,54,112,56,134,190,141,196,141,202,141,60,112,208,141,7,0,232,141,62,134,238,141,244,141,250,141,68,134,0,142,7,0,6,142,12,142,18,142,66,112,24,142,30,142,36,142,3,0,42,142,48,142,54,142,7,0,60,142,72,112,66,142,72,142,78,142,78,112,84,142,4,0,90,142,84,112,96,142,102,142,5,0,108,142,114,142,120,142,90,112,126,142,4,0,74,134,80,134,96,112,86,134,5,0,132,142,138,142,144,142,102,112,150,142,7,0,156,142,92,134,108,112,162,142,168,142,114,112,174,142,5,0,180,142,186,142,192,142,198,142,204,142,4,0,210,142,216,142,222,142,98,134,6,0,228,142,234,142,240,142,104,134,246,142,252,142,4,0,40,78,80,78,105,78,110,78,4,0,35,78,85,78,140,78,145,78,3,0,55,78,100,78,135,78,3,0,75,78,130,78,150,78,2,0,45,78,120,78,4,0,25,78,30,78,60,78,90,78,3,0,125,78,155,78,160,78,2,0,15,78,170,78,4,0,20,78,95,78,115,78,165,78,3,0,50,78,65,78,70,78,16,0,160,144,0,118,18,118,216,109,66,118,84,118,90,118,96,118,190,144,242,107,156,118,162,118,210,118,216,118,10,108,252,118,8,0,232,117,30,118,78,118,110,134,114,118,120,118,222,118,228,118,3,0,24,118,102,118,144,118,3,0,36,118,132,118,16,108,3,0,244,117,202,144,20,119,8,0,250,117,42,118,168,118,240,109,116,134,2,110,14,119,8,110,3,0,178,144,150,118,192,118,7,0,12,118,60,118,184,144,228,109,234,109,198,118,234,118,4,0,54,118,72,118,108,118,174,118,3,0,248,107,180,118,204,118,8,0,238,117,172,144,48,118,196,144,222,109,4,108,208,144,252,109,3,0,126,118,240,118,246,118,4,0,254,107,138,118,2,119,8,119,5,0,166,144,186,118,246,109,26,119,32,119,8,0,142,51,3,80,28,80,187,51,240,39,211,43,217,51,11,52,3,0,62,41,63,80,210,39,9,0,152,51,167,51,202,51,127,7,6,52,16,52,21,52,36,52,51,52,5,0,137,51,33,80,48,80,192,51,31,52,2,0,57,41,68,80,4,0,119,7,182,51,200,39,205,39,2,0,157,51,8,80,4,0,123,7,212,51,242,51,252,51,3,0,162,51,26,52,46,52,3,0,235,39,38,80,131,7,5,0,213,80,218,80,228,80,233,80,238,80,3,0,188,80,193,80,198,80,3,0,178,80,183,80,203,80,3,0,173,80,208,80,223,80,2,0,127,81,132,81,13,0,243,80,253,80,17,81,57,81,107,81,177,81,197,81,202,81,46,82,76,82,146,119,96,82,101,82,8,0,82,81,102,81,182,81,21,82,81,82,86,82,171,82,108,70,4,0,87,81,122,81,162,81,11,82,6,0,72,81,117,81,167,81,172,81,192,81,212,81,11,0,152,119,22,81,32,81,242,81,247,81,1,82,6,82,16,82,66,82,71,82,166,82,5,0,248,80,26,82,31,82,41,82,131,82,8,0,158,119,116,82,121,82,176,82,181,82,186,82,191,82,196,82,12,0,62,81,67,81,77,81,92,81,97,81,152,81,187,81,222,81,51,82,126,82,156,82,161,82,5,0,52,81,112,81,237,81,36,82,111,82,13,0,27,81,37,81,42,81,137,81,142,81,147,81,157,81,217,81,227,81,56,82,61,82,136,82,141,82,6,0,2,81,7,81,12,81,47,81,146,82,103,70,5,0,207,81,232,81,252,81,91,82,151,82,151,0,254,119,4,120,10,120,140,134,62,146,16,120,22,120,46,120,52,120,58,120,64,120,70,120,76,120,82,120,92,146,98,146,88,120,94,120,100,120,106,120,118,120,136,120,142,120,26,110,154,120,160,120,166,120,172,120,184,120,196,120,38,110,208,120,44,110,134,146,220,120,50,110,232,120,238,120,158,134,18,121,234,106,24,121,48,121,60,121,68,110,176,146,182,146,66,121,72,121,78,121,84,121,96,121,74,110,102,121,108,121,114,121,120,121,126,121,80,110,132,121,144,121,150,121,86,110,156,121,162,121,168,121,174,121,186,121,92,110,192,121,198,121,204,121,210,121,216,121,98,110,222,121,228,121,234,121,240,121,252,121,14,122,44,122,50,122,56,122,62,122,68,122,86,122,98,122,104,122,116,122,122,122,104,110,134,122,140,122,152,122,170,122,176,122,188,122,194,122,200,122,110,110,212,122,224,122,230,122,236,122,242,122,10,123,16,123,252,106,22,123,28,123,34,123,40,123,248,146,254,146,52,123,4,147,10,147,58,123,64,123,70,123,28,147,76,123,176,134,34,147,82,123,94,123,100,123,106,123,112,123,118,123,124,123,136,123,142,123,148,123,154,123,166,123,172,123,178,123,184,123,190,123,0,109,202,123,208,123,116,110,214,123,220,123,226,123,238,123,244,123,194,107,11,0,26,146,236,119,242,119,28,120,124,120,226,120,42,121,180,121,246,121,32,122,92,122,32,0,32,146,38,146,224,119,248,119,148,120,214,120,140,146,244,120,250,120,0,121,6,121,12,121,56,110,30,121,36,121,54,121,90,121,138,121,2,122,20,122,38,122,80,122,146,122,164,122,218,122,248,122,254,122,46,123,22,147,160,123,250,108,6,109,22,0,230,119,34,120,40,120,112,120,130,120,32,110,178,120,190,120,202,120,62,110,28,108,8,122,26,122,110,122,128,122,158,122,182,122,206,122,88,123,130,123,244,108,232,123,5,0,209,69,35,53,87,41,70,53,35,83,5,0,40,53,60,53,65,53,25,83,105,53,4,0,45,53,50,53,82,41,80,53,5,0,15,83,30,83,40,83,50,83,100,53,5,0,20,83,85,53,90,53,55,83,110,53,3,0,55,53,60,83,97,41,6,0,10,83,75,53,92,41,45,83,95,53,115,53,5,0,135,53,140,53,145,53,150,53,155,53,3,0,120,53,125,53,130,53,2,0,165,53,170,53,3,0,113,70,102,41,107,41,3,0,24,84,175,53,180,53,6,0,199,54,189,84,204,54,209,54,214,54,3,55,5,0,199,84,219,54,209,84,214,84,219,84,2,0,229,54,239,54,3,0,174,84,244,54,224,84,2,0,234,84,239,84,6,0,157,41,244,84,254,54,254,84,3,85,13,85,10,0,189,54,179,84,194,54,184,84,204,84,224,54,249,54,234,69,8,85,18,85,5,0,255,7,202,41,28,85,38,55,214,39,12,0,177,41,251,7,182,41,187,41,13,55,18,55,23,55,28,55,33,55,53,55,33,85,38,85,6,0,172,41,249,69,192,41,197,41,43,55,48,55,3,0,244,69,8,55,23,85,3,0,223,55,233,55,37,56,7,0,78,124,108,124,156,124,162,124,174,124,204,124,222,124,4,0,90,124,12,109,164,110,32,125,10,0,6,124,36,124,42,124,54,124,96,124,114,124,144,124,240,124,252,124,170,110,9,0,122,110,34,108,146,110,150,124,198,124,216,124,26,125,38,125,56,125,7,0,0,124,30,124,132,124,138,124,194,134,14,125,20,125,13,0,12,124,48,124,60,124,72,124,102,124,120,124,168,124,186,124,18,109,210,124,246,124,44,125,50,125,5,0,66,124,134,110,152,110,234,124,62,125,14,0,18,124,24,124,128,110,84,124,126,124,140,110,180,124,158,110,192,124,228,124,218,149,2,125,8,125,176,110,8,0,149,178,147,56,162,56,27,86,31,57,177,86,197,86,202,86,12,0,157,56,2,86,32,86,37,86,252,56,11,57,254,69,21,57,67,86,122,86,147,86,8,70,2,0,172,56,59,44,7,0,167,56,92,86,137,86,111,57,121,57,126,57,131,57,4,0,227,56,102,86,192,86,116,57,4,0,222,56,237,56,152,86,172,86,9,0,54,44,202,56,207,56,72,86,3,70,56,57,66,57,76,57,132,86,10,0,248,85,232,41,232,56,6,57,57,86,235,43,51,57,107,86,112,86,96,57,2,0,46,57,187,86,5,0,142,56,238,85,217,56,62,86,117,86,5,0,237,41,52,86,86,57,127,86,136,57,4,0,243,85,182,56,97,86,106,57,2,0,17,86,242,56,5,0,152,56,49,44,177,56,26,57,91,57,6,0,227,41,253,85,7,86,212,56,1,57,101,57,2,0,77,86,61,57,5,0,42,86,192,56,247,56,71,57,141,57,9,0,137,56,187,56,47,86,197,56,16,57,242,41,81,57,157,86,182,86,5,0,12,86,36,57,41,57,162,86,167,86,9,0,64,89,69,89,74,89,89,89,99,89,104,89,114,89,124,89,216,57,5,0,79,89,84,89,94,89,109,89,119,89,3,0,133,90,138,90,143,90,3,0,148,90,153,90,158,90,3,0,163,90,168,90,173,90,5,0,178,90,183,90,188,90,193,90,198,90,3,0,203,90,208,90,213,90,2,0,218,90,223,90,2,0,228,90,233,90,2,0,238,90,243,90,2,0,248,90,253,90,5,0,7,91,12,91,32,91,117,91,16,92,7,0,97,91,102,91,107,91,137,91,152,91,227,91,237,91,8,0,22,91,47,91,62,91,72,91,77,91,87,91,177,91,187,91,5,0,67,91,82,91,122,91,202,91,21,92,6,0,27,91,112,91,157,91,162,91,167,91,197,91,7,0,2,91,52,91,92,91,147,91,182,91,212,91,217,91,4,0,57,91,142,91,222,91,247,91,4,0,127,91,172,91,192,91,252,91,6,0,17,91,42,91,132,91,11,92,36,92,150,58,8,0,37,91,207,91,232,91,242,91,1,92,6,92,26,92,31,92,8,0,58,126,88,126,124,126,172,126,178,126,238,126,60,127,78,127,8,0,54,154,70,126,100,126,78,154,142,126,230,110,232,126,36,127,9,0,40,126,94,126,112,126,130,126,190,126,208,126,236,110,42,127,206,107,8,0,148,126,160,126,214,126,244,126,6,127,54,136,126,154,24,127,5,0,28,126,40,108,106,126,90,154,96,154,9,0,60,154,46,126,52,126,218,110,136,126,184,126,202,126,242,110,12,127,8,0,64,126,82,126,118,126,154,126,2,107,250,126,0,127,90,127,5,0,76,126,196,126,220,126,66,127,96,127,5,0,10,126,224,110,48,127,54,127,72,127,4,0,22,126,72,154,18,127,84,127,4,0,34,126,46,108,166,126,30,127,2,0,16,126,226,126,14,0,222,154,248,110,114,127,120,127,126,127,52,108,132,127,138,127,144,127,30,112,180,127,186,127,192,127,198,127,10,0,216,154,102,127,108,127,150,127,156,127,162,127,168,127,174,127,36,109,204,127,9,0,73,60,78,60,128,70,83,60,93,60,101,42,106,42,111,42,116,42,6,0,68,60,23,70,88,60,108,60,79,39,34,39,13,0,48,60,53,60,58,60,63,60,49,39,133,70,98,60,103,60,184,39,113,60,118,60,240,43,123,60,3,0,1,62,16,62,166,42,3,0,6,62,21,62,171,42,3,0,11,62,229,39,26,62,3,0,161,42,36,62,176,42,2,0,31,62,181,42,4,0,174,130,70,111,216,130,246,160,5,0,114,130,120,130,180,130,44,131,62,131,7,0,78,130,84,130,204,160,38,131,240,160,8,107,140,131,6,0,60,130,216,160,222,160,228,160,234,130,104,131,6,0,54,130,66,130,126,130,52,111,64,111,20,131,4,0,88,108,40,111,26,131,92,131,6,0,102,130,168,130,210,130,32,131,94,108,128,131,4,0,90,130,134,131,36,112,146,131,4,0,198,160,210,160,2,131,8,131,7,0,138,130,46,111,144,130,150,130,162,130,80,131,86,131,3,0,198,130,14,131,66,109,5,0,42,130,48,130,156,130,110,131,116,131,4,0,204,130,228,130,98,131,122,131,6,0,36,130,72,130,96,130,58,111,186,130,252,130,5,0,108,130,132,130,192,130,56,131,68,131,5,0,222,130,240,130,246,130,50,131,74,131,5,0,50,98,55,98,60,98,65,98,70,98,7,0,186,97,191,97,196,97,201,97,206,97,211,97,216,97,26,0,46,171,52,171,58,171,64,171,70,171,76,171,82,171,88,171,94,171,100,171,106,171,112,171,118,171,124,171,130,171,136,171,142,171,148,171,154,171,160,171,166,171,172,171,178,171,184,171,190,171,196,171,37,0,202,171,208,171,214,171,220,171,226,171,232,171,238,171,244,171,250,171,0,172,6,172,12,172,18,172,24,172,30,172,36,172,42,172,48,172,54,172,60,172,66,172,72,172,78,172,84,172,90,172,96,172,102,172,108,172,114,172,12,136,18,136,62,113,24,136,30,136,120,172,126,172,132,172,37,0,138,172,144,172,150,172,156,172,162,172,168,172,174,172,180,172,186,172,192,172,198,172,204,172,210,172,216,172,222,172,228,172,234,172,240,172,246,172,68,113,252,172,2,173,8,173,14,173,20,173,26,173,32,173,74,113,38,173,44,173,50,173,80,113,56,173,36,136,62,173,42,136,68,173,35,0,74,173,80,173,86,173,92,173,98,173,104,173,110,173,116,173,122,173,128,173,134,173,140,173,146,173,86,113,152,173,158,173,92,113,98,113,104,113,164,173,170,173,176,173,182,173,188,173,194,173,200,173,206,173,48,136,212,173,110,113,218,173,224,173,230,173,116,113,236,173,5,0,236,112,84,111,114,111,192,135,212,112,5,0,202,134,242,106,224,112,218,112,230,112,16,0,131,107,213,106,123,106,151,0,143,107,217,108,219,106,229,111,52,2,144,2,59,107,179,107,231,106,232,1,241,108,191,107,5,0,226,134,196,110,146,112,72,108,169,0,17,0,49,0,73,0,28,0,215,107,223,105,53,107,116,1,221,107,193,108,43,0,68,2,128,1,169,105,15,112,99,106,48,1,176,1,8,0,137,107,149,107,161,107,229,108,225,106,167,107,173,107,185,107,22,0,52,0,31,0,39,106,10,0,241,111,163,105,160,1,165,106,63,106,171,106,199,105,0,2,75,106,201,106,220,1,95,107,108,2,229,105,157,105,196,1,21,106,111,106,9,0,13,0,55,0,173,212,85,0,72,1,81,106,144,1,154,0,100,2,9,0,117,106,96,1,228,1,64,2,141,106,72,2,129,106,81,109,184,1,5,0,41,107,71,107,15,106,101,107,145,105,4,0,104,109,98,109,28,107,92,109,5,0,205,111,76,1,160,0,132,2,154,205,28,0,121,108,127,108,103,0,139,108,145,0,109,0,145,108,223,108,115,0,47,107,155,107,157,108,128,2,76,0,159,106,181,108,247,111,187,108,12,2,163,0,253,111,235,108,199,108,21,112,113,107,125,107,211,108,41,219,8,0,52,1,147,106,124,0,172,1,244,1,60,2,75,109,175,0,9,0,136,1,168,1,112,0,121,105,56,1,152,1,77,107,156,1,151,105,11,0,48,2,4,0,127,0,32,2,252,1,69,106,7,0,93,106,84,1,227,107,200,1,17,0,180,1,88,2,164,1,64,1,163,108,148,1,92,1,104,1,133,0,4,2,9,106,68,1,247,105,217,105,76,2,224,1,64,0,6,0,133,108,151,108,217,111,120,2,3,112,183,106,5,0,45,106,136,0,189,106,89,107,105,106,8,0,51,106,118,0,65,107,88,0,140,2,177,106,195,106,40,2,10,0,100,0,211,111,83,107,208,1,9,112,205,108,107,107,119,107,140,1,207,106,5,0,95,3,198,135,242,112,102,135,0,111,5,0,36,2,94,0,212,1,40,0,97,0,18,0,70,0,56,2,188,1,106,0,253,105,58,0,153,106,37,0,79,0,82,0,236,1,240,1,166,0,91,0,248,1,61,0,22,0,67,0,4,0,216,135,222,135,210,135,66,108,10,0,25,0,216,1,19,0,34,0,84,2,100,1,80,1,36,1,88,1,120,1,16,0,235,111,169,108,175,108,142,0,3,106,108,1,211,105,80,2,139,105,57,106,121,0,124,1,132,1,46,0,87,106,44,2,9,0,193,105,205,105,235,105,133,105,181,105,192,1,241,105,130,0,175,105,5,0,139,0,212,2,181,0,223,111,116,2,3,0,148,2,184,0,216,2,2,0,54,135,106,113,2,0,148,0,136,2,2,0,112,2,24,2,2,0,20,2,16,2,2,0,152,2,157,0,3,0,104,109,98,109,28,107,4,0,242,106,224,112,218,112,230,112,3,0,98,109,28,107,92,109,27,0,193,105,205,105,253,105,19,0,133,105,3,106,108,1,64,1,211,105,181,105,148,1,92,1,34,0,57,106,104,1,124,1,241,105,132,1,9,106,175,105,100,1,247,105,87,106,217,105,88,1,25,0,80,1,19,0,193,105,205,105,253,105,133,105,108,1,64,1,211,105,181,105,148,1,57,106,104,1,124,1,241,105,132,1,9,106,175,105,247,105,217,105,88,1,193,0,180,1,70,0,136,1,121,108,88,2,56,2,117,106,131,107,193,105,133,108,188,1,164,1,139,108,168,1,205,105,49,0,25,0,106,0,52,0,73,0,48,2,213,106,123,106,145,108,112,0,41,107,216,1,137,107,76,1,96,1,228,1,64,2,235,105,28,0,143,107,141,106,52,1,217,108,149,107,223,108,215,107,253,105,19,0,133,105,31,0,3,106,47,107,155,107,13,0,219,106,108,1,55,0,39,106,64,1,10,0,211,105,45,106,51,106,181,105,72,2,139,105,157,108,58,0,223,105,53,107,116,1,129,106,148,1,161,107,221,107,59,107,229,108,92,1,76,0,34,0,4,0,57,106,153,106,121,105,37,0,56,1,121,0,104,1,159,106,79,0,124,0,163,105,212,1,127,0,65,107,160,1,181,108,172,1,244,1,82,0,40,0,32,2,236,1,187,108,192,1,152,1,193,108,71,107,124,1,241,105,132,1,85,0,72,1,130,0,84,2,133,0,165,106,88,0,4,2,43,0,252,1,60,2,68,2,9,106,63,106,77,107,225,106,171,106,69,106,199,105,15,106,128,1,169,105,167,107,175,105,46,0,177,106,156,1,183,106,240,1,173,107,179,107,189,106,7,0,151,105,100,1,247,105,195,106,231,106,91,0,80,1,68,1,36,1,75,106,248,1,89,107,201,106,81,106,87,106,93,106,217,105,88,1,99,106,76,2,48,1,220,1,232,1,95,107,81,109,185,107,61,0,101,107,184,1,176,1,84,1,94,0,227,107,36,2,144,1,107,107,22,0,113,107,119,107,229,105,120,1,157,105,154,205,241,108,97,0,125,107,191,107,200,1,105,106,207,106,67,0,145,105,21,106,111,106,2,0,2,39,138,178,4,0,2,39,138,178,28,1,1,0,2,0,2,39,1,0,4,0,138,178,1,0,28,1,2,39,4,0,2,39,28,1,1,0,138,178,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,3,0,138,178,2,39,1,0,2,0,2,39,1,0,2,0,2,39,1,0,4,0,2,39,138,178,1,0,28,1,2,0,138,178,2,39,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,2,0,241,23,249,23,2,39,2,39,3,0,2,39,1,0,138,178,3,0,2,39,1,0,138,178,4,0,138,178,28,1,2,39,1,0,3,0,138,178,1,0,2,39,2,0,2,39,1,0,2,0,2,39,1,0,3,0,2,39,1,0,138,178,4,0,138,178,1,0,28,1,2,39,2,0,2,39,138,178,2,0,2,39,1,0,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,4,0,28,1,1,0,138,178,2,39,4,0,2,39,1,0,138,178,28,1,2,0,241,23,249,23,2,39,2,39,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,2,0,138,178,2,39,4,0,2,39,138,178,28,1,1,0,2,0,2,39,138,178,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,1,0,2,39,3,0,2,39,138,178,1,0,2,0,2,39,1,0,3,0,2,39,1,0,138,178,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,2,39,138,178,1,0,28,1,3,0,2,39,138,178,1,0,4,0,2,39,1,0,28,1,138,178,4,0,138,178,2,39,1,0,28,1,2,0,241,23,249,23,2,39,2,39,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,2,39,28,1,1,0,2,0,241,23,249,23,2,39,2,39,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,138,178,2,39,2,0,241,23,249,23,2,39,2,39,4,0,138,178,28,1,2,39,1,0,4,0,138,178,2,39,1,0,28,1,4,0,138,178,1,0,28,1,2,39,4,0,2,39,138,178,1,0,28,1,4,0,2,39,1,0,138,178,28,1,2,0,2,39,1,0,4,0,138,178,1,0,28,1,2,39,4,0,138,178,1,0,28,1,2,39,2,0,138,178,2,39,4,0,2,39,1,0,138,178,28,1,4,0,1,0,28,1,138,178,2,39,2,0,241,23,249,23,2,39,2,39,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,2,0,2,39,138,178,2,0,2,39,1,0,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,3,0,2,39,1,0,138,178,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,138,178,2,39,4,0,2,39,138,178,28,1,1,0,2,0,2,39,138,178,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,2,0,2,39,1,0,4,0,2,39,1,0,138,178,28,1,4,0,138,178,2,39,28,1,1,0,4,0,2,39,138,178,1,0,28,1,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,4,0,138,178,1,0,28,1,2,39,4,0,2,39,138,178,1,0,28,1,2,0,2,39,1,0,2,0,2,39,138,178,4,0,2,39,138,178,1,0,28,1,2,0,241,23,249,23,2,39,2,39,4,0,2,39,138,178,28,1,1,0,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,138,178,2,39,4,0,2,39,138,178,28,1,1,0,4,0,138,178,1,0,28,1,2,39,2,0,1,0,2,39,2,0,241,23,249,23,2,39,2,39,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,4,0,138,178,1,0,28,1,2,39,3,0,2,39,156,70,138,178,4,0,1,0,28,1,2,39,138,178,4,0,2,39,138,178,1,0,28,1,4,0,1,0,138,178,2,39,28,1,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,1,0,28,1,4,0,138,178,28,1,2,39,1,0,4,0,138,178,2,39,1,0,28,1,4,0,138,178,2,39,1,0,28,1,4,0,138,178,1,0,28,1,2,39,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,4,0,2,39,28,1,1,0,138,178,4,0,138,178,1,0,28,1,2,39,4,0,138,178,28,1,2,39,1,0,3,0,2,39,1,0,138,178,4,0,2,39,138,178,1,0,28,1,4,0,138,178,28,1,2,39,1,0,2,0,138,178,2,39,4,0,2,39,138,178,28,1,1,0,3,0,2,39,138,178,1,0,4,0,2,39,1,0,28,1,138,178,4,0,138,178,1,0,28,1,2,39,4,0,2,39,138,178,1,0,28,1,2,0,2,39,1,0,2,0,2,39,1,0,3,0,2,39,1,0,138,178,2,0,2,39,1,0,2,0,2,39,138,178,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,241,23,249,23,2,39,2,39,4,0,1,0,28,1,2,39,138,178,4,0,2,39,138,178,28,1,1,0,4,0,138,178,1,0,28,1,2,39,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,4,0,138,178,1,0,28,1,2,39,4,0,2,39,138,178,28,1,1,0,2,0,2,39,138,178,2,0,2,39,138,178,2,0,2,39,138,178,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,1,0,28,1,4,0,28,1,1,0,138,178,2,39,2,0,2,39,1,0,4,0,138,178,2,39,1,0,28,1,2,0,2,39,1,0,2,0,241,23,249,23,2,39,2,39,4,0,2,39,138,178,28,1,1,0,4,0,2,39,138,178,28,1,1,0,4,0,2,39,138,178,1,0,28,1,2,0,2,39,1,0,2,0,2,39,138,178,3,0,2,39,138,178,1,0,4,0,2,39,138,178,28,1,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,4,0,138,178,1,0,28,1,2,39,4,0,138,178,2,39,1,0,28,1,4,0,2,39,1,0,138,178,28,1,3,0,2,39,138,178,1,0,2,0,138,178,2,39,4,0,138,178,1,0,28,1,2,39,3,0,138,178,1,0,2,39,2,0,2,39,138,178,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,2,39,1,0,28,1,4,0,138,178,1,0,28,1,2,39,2,0,2,39,1,0,2,0,138,178,2,39,4,0,2,39,138,178,1,0,28,1,4,0,138,178,1,0,28,1,2,39,2,0,2,39,1,0,2,0,2,39,1,0,3,0,2,39,1,0,138,178,2,0,241,23,249,23,2,39,2,39,2,0,2,39,138,178,4,0,138,178,1,0,28,1,2,39,4,0,138,178,28,1,2,39,1,0,3,0,2,39,138,178,1,0,4,0,138,178,1,0,28,1,2,39,2,0,241,23,249,23,2,39,2,39,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,2,39,1,0,2,0,241,23,249,23,2,39,2,39,2,0,241,23,249,23,2,39,2,39,4,0,138,178,28,1,2,39,1,0,3,0,2,39,138,178,1,0,3,0,2,39,138,178,1,0,2,0,138,178,2,39,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,28,1,1,0,4,0,138,178,1,0,28,1,2,39,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,3,0,138,178,2,39,1,0,3,0,2,39,138,178,1,0,2,0,2,39,1,0,2,0,2,39,138,178,2,0,2,39,138,178,4,0,2,39,1,0,28,1,138,178,2,0,2,39,138,178,4,0,138,178,1,0,28,1,2,39,2,0,138,178,2,39,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,4,0,1,0,28,1,138,178,2,39,4,0,1,0,28,1,2,39,138,178,3,0,2,39,1,0,138,178,4,0,1,0,28,1,2,39,138,178,4,0,138,178,28,1,2,39,1,0,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,1,0,28,1,3,0,2,39,1,0,138,178,3,0,2,39,138,178,1,0,4,0,138,178,28,1,2,39,1,0,4,0,138,178,2,39,1,0,28,1,4,0,138,178,28,1,2,39,1,0,4,0,138,178,28,1,2,39,1,0,2,0,2,39,138,178,2,0,138,178,2,39,2,0,2,39,1,0,2,0,138,178,2,39,3,0,2,39,1,0,138,178,4,0,138,178,1,0,28,1,2,39,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,2,0,2,39,138,178,4,0,2,39,138,178,1,0,28,1,4,0,138,178,1,0,28,1,2,39,3,0,2,39,138,178,1,0,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,3,0,2,39,138,178,1,0,3,0,2,39,138,178,1,0,4,0,1,0,28,1,138,178,2,39,3,0,1,0,138,178,2,39,3,0,2,39,138,178,1,0,3,0,2,39,138,178,1,0,3,0,1,0,138,178,2,39,3,0,1,0,138,178,2,39,4,0,1,0,28,1,138,178,2,39,4,0,1,0,28,1,138,178,2,39,4,0,1,0,138,178,28,1,2,39,3,0,1,0,138,178,2,39,4,0,2,39,1,0,28,1,138,178,3,0,135,205,125,208,22,206,2,0,124,205,22,206,2,0,124,205,22,206,2,0,125,208,22,206,3,0,135,205,22,206,125,208,2,0,135,205,22,206,2,0,124,205,22,206,2,0,124,205,22,206,2,0,124,205,22,206,2,0,124,205,22,206,3,0,135,205,22,206,125,208,2,0,124,205,22,206,2,0,135,205,22,206,2,0,124,205,22,206,2,0,22,206,135,205,2,0,22,206,125,208,3,0,124,205,135,205,22,206,2,0,124,205,22,206,2,0,22,206,125,208,3,0,124,205,22,206,125,208,2,0,22,206,125,208,3,0,135,205,22,206,125,208,2,0,135,205,22,206,2,0,135,205,22,206,2,0,22,206,124,205,3,0,22,206,135,205,124,205,2,0,124,205,22,206,4,0,22,206,125,208,135,205,124,205,2,0,124,205,22,206,2,0,22,206,125,208,2,0,124,205,22,206,3,0,22,206,135,205,124,205,3,0,124,205,22,206,125,208,2,0,22,206,124,205,4,0,22,206,124,205,125,208,135,205,3,0,124,205,22,206,125,208,3,0,135,205,124,205,22,206,3,0,124,205,22,206,125,208,3,0,22,206,135,205,124,205,2,0,22,206,125,208,3,0,135,205,22,206,125,208,2,0,125,208,22,206,2,0,125,208,22,206,2,0,22,206,125,208,2,0,124,205,22,206,4,0,22,206,125,208,135,205,124,205,2,0,22,206,125,208,3,0,124,205,22,206,125,208,3,0,22,206,125,208,124,205,2,0,124,205,22,206,3,0,22,206,125,208,124,205,2,0,124,205,22,206,4,0,22,206,124,205,125,208,135,205,2,0,22,206,125,208,3,0,135,205,22,206,125,208,2,0,22,206,125,208,3,0,124,205,22,206,125,208,3,0,135,205,22,206,125,208,3,0,124,205,135,205,22,206,2,0,124,205,125,208,3,0,0,0,226,253,255,255,1,0,0,0,1,0,0,0,1,0,59,0,129,161,0,224,1,0,70,2,133,161,0,32,2,0,54,0,65,0,170,170,135,161,0,32,68,205,0,96,3,0,0,0,180,245,255,255,1,0,0,0,1,0,0,0,1,0,59,0,141,161,0,224,1,0,70,2,145,161,0,32,2,0,54,0,65,0,170,170,147,161,0,32,64,205,0,96,3,0,0,0,28,1,0,0,8,0,0,0,28,0,0,0,1,0,87,0,153,161,0,224,3,0,0,0,28,1,0,0,8,0,0,0,29,0,0,0,1,0,59,0,159,161,0,224,2,0,70,2,209,19,170,170,157,161,0,32,163,161,0,32,2,0,54,0,65,0,170,170,165,161,0,32,40,129,0,96,3,0,0,0,228,246,255,255,1,0,0,0,1,0,0,0,1,0,59,0,173,161,0,224,1,0,70,2,177,161,0,32,2,0,54,0,65,0,170,170,179,161,0,32,64,205,0,96,3,0,0,0,8,0,0,0,8,0,0,0,28,0,0,0,1,0,87,0,185,161,0,224,3,0,0,0,8,0,0,0,8,0,0,0,29,0,0,0,1,0,59,0,191,161,0,224,2,0,70,2,209,19,170,170,189,161,0,32,195,161,0,32,2,0,54,0,65,0,170,170,197,161,0,32,40,129,0,96,3,0,0,0,140,234,255,255,8,0,0,0,29,0,0,0,1,0,87,0,205,161,0,224,1,0,70,2,209,161,0,32,1,0,54,0,211,161,0,32,3,0,0,0,0,0,0,0,12,0,0,0,31,0,0,0,1,0,87,0,215,161,0,224,3,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,59,0,221,161,0,224,2,0,70,2,209,19,170,170,219,161,0,32,225,161,0,32,2,0,54,0,65,0,170,170,227,161,0,32,68,205,0,96,3,0,0,0,80,241,255,255,10,0,0,0,7,0,0,0,1,0,59,0,235,161,0,224,1,0,70,2,239,161,0,32,2,0,54,0,65,0,170,170,241,161,0,32,64,205,0,96,3,0,0,0,79,0,0,0,1,0,0,0,1,0,0,0,1,0,59,0,247,161,0,224,1,0,70,2,251,161,0,32,1,0,54,0,253,161,0,32,3,0,0,0,110,2,0,0,7,0,0,0,15,0,0,0,1,0,59,0,1,162,0,224,1,0,70,2,5,162,0,32,2,0,54,0,65,0,170,170,7,162,0,32,24,106,0,96,3,0,0,0,110,2,0,0,7,0,0,0,16,0,0,0,1,0,59,0,13,162,0,224,1,0,70,2,17,162,0,32,2,0,54,0,65,0,170,170,19,162,0,32,24,106,0,96,3,0,0,0,110,2,0,0,7,0,0,0,15,0,0,0,1,0,59,0,25,162,0,224,1,0,70,2,29,162,0,32,2,0,54,0,65,0,170,170,31,162,0,32,24,106,0,96,3,0,0,0,110,2,0,0,7,0,0,0,15,0,0,0,1,0,59,0,37,162,0,224,1,0,70,2,41,162,0,32,2,0,54,0,65,0,170,170,43,162,0,32,24,106,0,96,3,0,0,0,110,2,0,0,7,0,0,0,15,0,0,0,1,0,59,0,49,162,0,224,1,0,70,2,53,162,0,32,2,0,54,0,65,0,170,170,55,162,0,32,24,106,0,96,3,0,0,0,133,2,0,0,6,0,0,0,19,0,0,0,1,0,59,0,61,162,0,224,3,0,0,0,138,2,0,0,2,0,0,0,15,0,0,0,1,0,59,0,67,162,0,224,3,0,0,0,217,2,0,0,8,0,0,0,5,0,0,0,1,0,59,0,73,162,0,224,3,0,0,0,145,4,0,0,4,0,0,0,8,0,0,0,1,0,59,0,79,162,0,224,3,0,0,0,147,4,0,0,4,0,0,0,21,0,0,0,1,0,59,0,85,162,0,224,3,0,0,0,151,4,0,0,7,0,0,0,28,0,0,0,1,0,59,0,91,162,0,224,3,0,0,0,153,4,0,0,8,0,0,0,4,0,0,0,1,0,59,0,97,162,0,224,3,0,0,0,157,4,0,0,7,0,0,0,14,0,0,0,1,0,59,0,103,162,0,224,3,0,0,0,158,4,0,0,5,0,0,0,27,0,0,0,1,0,59,0,109,162,0,224,3,0,0,0,160,4,0,0,4,0,0,0,16,0,0,0,1,0,59,0,115,162,0,224,3,0,0,0,161,4,0,0,8,0,0,0,14,0,0,0,1,0,59,0,121,162,0,224,3,0,0,0,166,4,0,0,4,0,0,0,11,0,0,0,1,0,59,0,127,162,0,224,3,0,0,0,175,4,0,0,4,0,0,0,27,0,0,0,1,0,59,0,133,162,0,224,3,0,0,0,237,2,0,0,4,0,0,0,14,0,0,0,1,0,59,0,139,162,0,224,3,0,0,0,177,4,0,0,2,0,0,0,13,0,0,0,1,0,59,0,145,162,0,224,3,0,0,0,180,4,0,0,2,0,0,0,20,0,0,0,1,0,59,0,151,162,0,224,3,0,0,0,182,4,0,0,4,0,0,0,27,0,0,0,1,0,59,0,157,162,0,224,3,0,0,0,183,4,0,0,10,0,0,0,25,0,0,0,1,0,59,0,163,162,0,224,3,0,0,0,187,4,0,0,3,0,0,0,9,0,0,0,1,0,59,0,169,162,0,224,3,0,0,0,189,4,0,0,12,0,0,0,6,0,0,0,1,0,59,0,175,162,0,224,3,0,0,0,195,4,0,0,4,0,0,0,12,0,0,0,1,0,59,0,181,162,0,224,3,0,0,0,198,4,0,0,4,0,0,0,13,0,0,0,1,0,59,0,187,162,0,224,3,0,0,0,200,4,0,0,11,0,0,0,20,0,0,0,1,0,59,0,193,162,0,224,3,0,0,0,201,4,0,0,4,0,0,0,20,0,0,0,1,0,59,0,199,162,0,224,3,0,0,0,237,2,0,0,7,0,0,0,2,0,0,0,1,0,59,0,205,162,0,224,3,0,0,0,203,4,0,0,12,0,0,0,10,0,0,0,1,0,59,0,211,162,0,224,3,0,0,0,205,4,0,0,3,0,0,0,5,0,0,0,1,0,59,0,217,162,0,224,3,0,0,0,208,4,0,0,4,0,0,0,2,0,0,0,1,0,59,0,223,162,0,224,3,0,0,0,209,4,0,0,4,0,0,0,15,0,0,0,1,0,59,0,229,162,0,224,3,0,0,0,210,4,0,0,11,0,0,0,5,0,0,0,1,0,59,0,235,162,0,224,3,0,0,0,211,4,0,0,9,0,0,0,19,0,0,0,1,0,59,0,241,162,0,224,3,0,0,0,214,4,0,0,11,0,0,0,23,0,0,0,1,0,59,0,247,162,0,224,3,0,0,0,215,4,0,0,2,0,0,0,7,0,0,0,1,0,59,0,253,162,0,224,3,0,0,0,216,4,0,0,7,0,0,0,16,0,0,0,1,0,59,0,3,163,0,224,3,0,0,0,219,4,0,0,2,0,0,0,26,0,0,0,1,0,59,0,9,163,0,224,3,0,0,0,245,2,0,0,8,0,0,0,18,0,0,0,1,0,59,0,15,163,0,224,3,0,0,0,223,4,0,0,2,0,0,0,28,0,0,0,1,0,59,0,21,163,0,224,3,0,0,0,225,4,0,0,3,0,0,0,18,0,0,0,1,0,59,0,27,163,0,224,3,0,0,0,232,4,0,0,10,0,0,0,5,0,0,0,1,0,59,0,33,163,0,224,3,0,0,0,233,4,0,0,3,0,0,0,14,0,0,0,1,0,59,0,39,163,0,224,3,0,0,0,235,4,0,0,3,0,0,0,26,0,0,0,1,0,59,0,45,163,0,224,3,0,0,0,236,4,0,0,4,0,0,0,13,0,0,0,1,0,59,0,51,163,0,224,3,0,0,0,237,4,0,0,2,0,0,0,20,0,0,0,1,0,59,0,57,163,0,224,3,0,0,0,240,4,0,0,2,0,0,0,28,0,0,0,1,0,59,0,63,163,0,224,3,0,0,0,251,4,0,0,4,0,0,0,25,0,0,0,1,0,59,0,69,163,0,224,3,0,0,0,254,4,0,0,2,0,0,0,29,0,0,0,1,0,59,0,75,163,0,224,3,0,0,0,253,2,0,0,1,0,0,0,7,0,0,0,1,0,59,0,81,163,0,224,3,0,0,0,8,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,87,163,0,224,3,0,0,0,13,5,0,0,8,0,0,0,5,0,0,0,1,0,59,0,93,163,0,224,3,0,0,0,19,5,0,0,4,0,0,0,25,0,0,0,1,0,59,0,99,163,0,224,3,0,0,0,22,5,0,0,11,0,0,0,21,0,0,0,1,0,59,0,105,163,0,224,3,0,0,0,23,5,0,0,8,0,0,0,5,0,0,0,1,0,59,0,111,163,0,224,3,0,0,0,26,5,0,0,12,0,0,0,14,0,0,0,1,0,59,0,117,163,0,224,3,0,0,0,28,5,0,0,10,0,0,0,9,0,0,0,1,0,59,0,123,163,0,224,3,0,0,0,31,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,129,163,0,224,3,0,0,0,32,5,0,0,3,0,0,0,20,0,0,0,1,0,59,0,135,163,0,224,3,0,0,0,37,5,0,0,2,0,0,0,3,0,0,0,1,0,59,0,141,163,0,224,3,0,0,0,255,2,0,0,8,0,0,0,16,0,0,0,1,0,59,0,147,163,0,224,3,0,0,0,39,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,153,163,0,224,3,0,0,0,41,5,0,0,2,0,0,0,23,0,0,0,1,0,59,0,159,163,0,224,3,0,0,0,44,5,0,0,12,0,0,0,9,0,0,0,1,0,59,0,165,163,0,224,3,0,0,0,46,5,0,0,4,0,0,0,26,0,0,0,1,0,59,0,171,163,0,224,3,0,0,0,49,5,0,0,8,0,0,0,29,0,0,0,1,0,59,0,177,163,0,224,3,0,0,0,51,5,0,0,8,0,0,0,9,0,0,0,1,0,59,0,183,163,0,224,3,0,0,0,54,5,0,0,1,0,0,0,29,0,0,0,1,0,59,0,189,163,0,224,3,0,0,0,56,5,0,0,2,0,0,0,29,0,0,0,1,0,59,0,195,163,0,224,3,0,0,0,60,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,201,163,0,224,3,0,0,0,66,5,0,0,12,0,0,0,8,0,0,0,1,0,59,0,207,163,0,224,3,0,0,0,2,3,0,0,10,0,0,0,1,0,0,0,1,0,59,0,213,163,0,224,3,0,0,0,90,5,0,0,7,0,0,0,24,0,0,0,1,0,59,0,219,163,0,224,3,0,0,0,92,5,0,0,4,0,0,0,1,0,0,0,1,0,59,0,225,163,0,224,3,0,0,0,95,5,0,0,5,0,0,0,27,0,0,0,1,0,59,0,231,163,0,224,3,0,0,0,99,5,0,0,3,0,0,0,22,0,0,0,1,0,59,0,237,163,0,224,3,0,0,0,101,5,0,0,2,0,0,0,10,0,0,0,1,0,59,0,243,163,0,224,3,0,0,0,104,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,249,163,0,224,3,0,0,0,107,5,0,0,8,0,0,0,22,0,0,0,1,0,59,0,255,163,0,224,3,0,0,0,107,5,0,0,8,0,0,0,23,0,0,0,1,0,59,0,5,164,0,224,3,0,0,0,109,5,0,0,2,0,0,0,9,0,0,0,1,0,59,0,11,164,0,224,3,0,0,0,110,5,0,0,3,0,0,0,26,0,0,0,1,0,59,0,17,164,0,224,3,0,0,0,13,3,0,0,1,0,0,0,1,0,0,0,1,0,59,0,23,164,0,224,3,0,0,0,114,5,0,0,7,0,0,0,5,0,0,0,1,0,59,0,29,164,0,224,3,0,0,0,148,5,0,0,4,0,0,0,27,0,0,0,1,0,59,0,35,164,0,224,3,0,0,0,149,5,0,0,9,0,0,0,5,0,0,0,1,0,59,0,41,164,0,224,3,0,0,0,161,5,0,0,2,0,0,0,17,0,0,0,1,0,59,0,47,164,0,224,3,0,0,0,164,5,0,0,2,0,0,0,5,0,0,0,1,0,59,0,53,164,0,224,3,0,0,0,169,5,0,0,7,0,0,0,28,0,0,0,1,0,59,0,59,164,0,224,3,0,0,0,172,5,0,0,7,0,0,0,25,0,0,0,1,0,59,0,65,164,0,224,3,0,0,0,175,5,0,0,7,0,0,0,25,0,0,0,1,0,59,0,71,164,0,224,3,0,0,0,177,5,0,0,9,0,0,0,28,0,0,0,1,0,59,0,77,164,0,224,3,0,0,0,180,5,0,0,12,0,0,0,21,0,0,0,1,0,59,0,83,164,0,224,3,0,0,0,14,3,0,0,8,0,0,0,19,0,0,0,1,0,59,0,89,164,0,224,3,0,0,0,186,5,0,0,2,0,0,0,28,0,0,0,1,0,59,0,95,164,0,224,3,0,0,0,187,5,0,0,3,0,0,0,3,0,0,0,1,0,59,0,101,164,0,224,3,0,0,0,189,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,107,164,0,224,3,0,0,0,207,5,0,0,7,0,0,0,29,0,0,0,1,0,59,0,113,164,0,224,3,0,0,0,209,5,0,0,8,0,0,0,21,0,0,0,1,0,59,0,119,164,0,224,3,0,0,0,212,5,0,0,7,0,0,0,19,0,0,0,1,0,59,0,125,164,0,224,3,0,0,0,221,5,0,0,2,0,0,0,29,0,0,0,1,0,59,0,131,164,0,224,3,0,0,0,224,5,0,0,2,0,0,0,30,0,0,0,1,0,59,0,137,164,0,224,3,0,0,0,241,5,0,0,8,0,0,0,23,0,0,0,1,0,59,0,143,164,0,224,3,0,0,0,248,5,0,0,8,0,0,0,20,0,0,0,1,0,59,0,149,164,0,224,3,0,0,0,38,3,0,0,5,0,0,0,18,0,0,0,1,0,59,0,155,164,0,224,3,0,0,0,252,5,0,0,7,0,0,0,29,0,0,0,1,0,59,0,161,164,0,224,3,0,0,0,19,6,0,0,10,0,0,0,23,0,0,0,1,0,59,0,167,164,0,224,3,0,0,0,22,6,0,0,2,0,0,0,28,0,0,0,1,0,59,0,173,164,0,224,3,0,0,0,34,6,0,0,4,0,0,0,23,0,0,0,1,0,59,0,179,164,0,224,3,0,0,0,37,6,0,0,7,0,0,0,28,0,0,0,1,0,59,0,185,164,0,224,3,0,0,0,56,6,0,0,12,0,0,0,8,0,0,0,1,0,59,0,191,164,0,224,3,0,0,0,60,6,0,0,10,0,0,0,27,0,0,0,1,0,59,0,197,164,0,224,3,0,0,0,79,6,0,0,7,0,0,0,13,0,0,0,1,0,59,0,203,164,0,224,3,0,0,0,88,6,0,0,2,0,0,0,30,0,0,0,1,0,59,0,209,164,0,224,3,0,0,0,108,6,0,0,12,0,0,0,16,0,0,0,1,0,59,0,215,164,0,224,3,0,0,0,160,2,0,0,1,0,0,0,1,0,0,0,1,0,59,0,221,164,0,224,3,0,0,0,42,3,0,0,9,0,0,0,19,0,0,0,1,0,59,0,227,164,0,224,3,0,0,0,112,6,0,0,2,0,0,0,15,0,0,0,1,0,59,0,233,164,0,224,3,0,0,0,116,6,0,0,9,0,0,0,18,0,0,0,1,0,59,0,239,164,0,224,3,0,0,0,119,6,0,0,4,0,0,0,13,0,0,0,1,0,59,0,245,164,0,224,3,0,0,0,122,6,0,0,7,0,0,0,23,0,0,0,1,0,59,0,251,164,0,224,3,0,0,0,125,6,0,0,4,0,0,0,25,0,0,0,1,0,59,0,1,165,0,224,3,0,0,0,137,6,0,0,9,0,0,0,21,0,0,0,1,0,59,0,7,165,0,224,3,0,0,0,145,6,0,0,9,0,0,0,29,0,0,0,1,0,59,0,13,165,0,224,3,0,0,0,148,6,0,0,2,0,0,0,21,0,0,0,1,0,59,0,19,165,0,224,3,0,0,0,152,6,0,0,9,0,0,0,30,0,0,0,1,0,59,0,25,165,0,224,3,0,0,0,168,6,0,0,3,0,0,0,13,0,0,0,1,0,59,0,31,165,0,224,3,0,0,0,56,3,0,0,1,0,0,0,5,0,0,0,1,0,59,0,37,165,0,224,3,0,0,0,175,6,0,0,4,0,0,0,25,0,0,0,1,0,59,0,43,165,0,224,3,0,0,0,180,6,0,0,6,0,0,0,22,0,0,0,1,0,59,0,49,165,0,224,3,0,0,0,200,6,0,0,4,0,0,0,28,0,0,0,1,0,59,0,55,165,0,224,3,0,0,0,205,6,0,0,2,0,0,0,27,0,0,0,1,0,59,0,61,165,0,224,3,0,0,0,208,6,0,0,2,0,0,0,21,0,0,0,1,0,59,0,67,165,0,224,3,0,0,0,212,6,0,0,7,0,0,0,12,0,0,0,1,0,59,0,73,165,0,224,3,0,0,0,215,6,0,0,10,0,0,0,27,0,0,0,1,0,59,0,79,165,0,224,3,0,0,0,228,6,0,0,6,0,0,0,2,0,0,0,1,0,59,0,85,165,0,224,3,0,0,0,236,6,0,0,11,0,0,0,16,0,0,0,1,0,59,0,91,165,0,224,3,0,0,0,245,6,0,0,4,0,0,0,2,0,0,0,1,0,59,0,97,165,0,224,3,0,0,0,66,3,0,0,1,0,0,0,3,0,0,0,1,0,59,0,103,165,0,224,3,0,0,0,253,6,0,0,1,0,0,0,25,0,0,0,1,0,59,0,109,165,0,224,3,0,0,0,9,7,0,0,2,0,0,0,5,0,0,0,1,0,59,0,115,165,0,224,3,0,0,0,12,7,0,0,2,0,0,0,11,0,0,0,1,0,59,0,121,165,0,224,3,0,0,0,26,7,0,0,4,0,0,0,22,0,0,0,1,0,59,0,127,165,0,224,3,0,0,0,38,7,0,0,12,0,0,0,10,0,0,0,1,0,59,0,133,165,0,224,3,0,0,0,52,7,0,0,12,0,0,0,2,0,0,0,1,0,59,0,139,165,0,224,3,0,0,0,56,7,0,0,2,0,0,0,28,0,0,0,1,0,59,0,145,165,0,224,3,0,0,0,62,7,0,0,11,0,0,0,27,0,0,0,1,0,59,0,151,165,0,224,3,0,0,0,68,7,0,0,3,0,0,0,18,0,0,0,1,0,59,0,157,165,0,224,3,0,0,0,69,7,0,0,2,0,0,0,19,0,0,0,1,0,59,0,163,165,0,224,3,0,0,0,80,3,0,0,6,0,0,0,13,0,0,0,1,0,59,0,169,165,0,224,3,0,0,0,72,7,0,0,2,0,0,0,20,0,0,0,1,0,59,0,175,165,0,224,3,0,0,0,73,7,0,0,4,0,0,0,7,0,0,0,1,0,59,0,181,165,0,224,3,0,0,0,76,7,0,0,9,0,0,0,8,0,0,0,1,0,59,0,187,165,0,224,3,0,0,0,120,7,0,0,7,0,0,0,30,0,0,0,1,0,59,0,193,165,0,224,3,0,0,0,134,7,0,0,12,0,0,0,25,0,0,0,1,0,59,0,199,165,0,224,3,0,0,0,197,7,0,0,1,0,0,0,8,0,0,0,1,0,59,0,205,165,0,224,3,0,0,0,227,7,0,0,5,0,0,0,1,0,0,0,1,0,59,0,211,165,0,224,3,0,0,0,83,3,0,0,4,0,0,0,28,0,0,0,1,0,59,0,217,165,0,224,3,0,0,0,86,3,0,0,11,0,0,0,30,0,0,0,1,0,59,0,223,165,0,224,3,0,0,0,89,3,0,0,2,0,0,0,21,0,0,0,1,0,59,0,229,165,0,224,3,0,0,0,91,3,0,0,4,0,0,0,15,0,0,0,1,0,59,0,235,165,0,224,3,0,0,0,109,3,0,0,4,0,0,0,16,0,0,0,1,0,59,0,241,165,0,224,3,0,0,0,117,3,0,0,2,0,0,0,21,0,0,0,1,0,59,0,247,165,0,224,3,0,0,0,174,2,0,0,7,0,0,0,20,0,0,0,1,0,59,0,253,165,0,224,3,0,0,0,121,3,0,0,4,0,0,0,27,0,0,0,1,0,59,0,3,166,0,224,3,0,0,0,130,3,0,0,4,0,0,0,26,0,0,0,1,0,59,0,9,166,0,224,3,0,0,0,133,3,0,0,7,0,0,0,15,0,0,0,1,0,59,0,15,166,0,224,3,0,0,0,155,3,0,0,4,0,0,0,11,0,0,0,1,0,59,0,21,166,0,224,3,0,0,0,163,3,0,0,4,0,0,0,26,0,0,0,1,0,59,0,27,166,0,224,3,0,0,0,170,3,0,0,5,0,0,0,22,0,0,0,1,0,59,0,33,166,0,224,3,0,0,0,179,3,0,0,4,0,0,0,22,0,0,0,1,0,59,0,39,166,0,224,3,0,0,0,189,3,0,0,10,0,0,0,27,0,0,0,1,0,59,0,45,166,0,224,3,0,0,0,193,3,0,0,2,0,0,0,16,0,0,0,1,0,59,0,51,166,0,224,3,0,0,0,196,3,0,0,7,0,0,0,10,0,0,0,1,0,59,0,57,166,0,224,3,0,0,0,189,2,0,0,3,0,0,0,21,0,0,0,1,0,59,0,63,166,0,224,3,0,0,0,200,3,0,0,8,0,0,0,13,0,0,0,1,0,59,0,69,166,0,224,3,0,0,0,202,3,0,0,3,0,0,0,25,0,0,0,1,0,59,0,75,166,0,224,3,0,0,0,205,3,0,0,12,0,0,0,20,0,0,0,1,0,59,0,81,166,0,224,3,0,0,0,208,3,0,0,7,0,0,0,13,0,0,0,1,0,59,0,87,166,0,224,3,0,0,0,210,3,0,0,11,0,0,0,29,0,0,0,1,0,59,0,93,166,0,224,3,0,0,0,215,3,0,0,4,0,0,0,15,0,0,0,1,0,59,0,99,166,0,224,3,0,0,0,217,3,0,0,4,0,0,0,27,0,0,0,1,0,59,0,105,166,0,224,3,0,0,0,219,3,0,0,4,0,0,0,5,0,0,0,1,0,59,0,111,166,0,224,3,0,0,0,221,3,0,0,8,0,0,0,8,0,0,0,1,0,59,0,117,166,0,224,3,0,0,0,222,3,0,0,11,0,0,0,7,0,0,0,1,0,59,0,123,166,0,224,3,0,0,0,192,2,0,0,5,0,0,0,10,0,0,0,1,0,59,0,129,166,0,224,3,0,0,0,227,3,0,0,2,0,0,0,22,0,0,0,1,0,59,0,135,166,0,224,3,0,0,0,231,3,0,0,1,0,0,0,13,0,0,0,1,0,59,0,141,166,0,224,3,0,0,0,236,3,0,0,7,0,0,0,20,0,0,0,1,0,59,0,147,166,0,224,3,0,0,0,244,3,0,0,12,0,0,0,25,0,0,0,1,0,59,0,153,166,0,224,3,0,0,0,249,3,0,0,4,0,0,0,23,0,0,0,1,0,59,0,159,166,0,224,3,0,0,0,253,3,0,0,2,0,0,0,2,0,0,0,1,0,59,0,165,166,0,224,3,0,0,0,0,4,0,0,7,0,0,0,13,0,0,0,1,0,59,0,171,166,0,224,3,0,0,0,4,4,0,0,7,0,0,0,25,0,0,0,1,0,59,0,177,166,0,224,3,0,0,0,13,4,0,0,4,0,0,0,21,0,0,0,1,0,59,0,183,166,0,224,3,0,0,0,16,4,0,0,11,0,0,0,10,0,0,0,1,0,59,0,189,166,0,224,3,0,0,0,196,2,0,0,1,0,0,0,11,0,0,0,1,0,59,0,195,166,0,224,3,0,0,0,20,4,0,0,11,0,0,0,24,0,0,0,1,0,59,0,201,166,0,224,3,0,0,0,22,4,0,0,4,0,0,0,14,0,0,0,1,0,59,0,207,166,0,224,3,0,0,0,29,4,0,0,1,0,0,0,11,0,0,0,1,0,59,0,213,166,0,224,3,0,0,0,34,4,0,0,8,0,0,0,29,0,0,0,1,0,59,0,219,166,0,224,3,0,0,0,41,4,0,0,8,0,0,0,2,0,0,0,1,0,59,0,225,166,0,224,3,0,0,0,45,4,0,0,4,0,0,0,13,0,0,0,1,0,59,0,231,166,0,224,3,0,0,0,50,4,0,0,8,0,0,0,23,0,0,0,1,0,59,0,237,166,0,224,3,0,0,0,53,4,0,0,11,0,0,0,17,0,0,0,1,0,59,0,243,166,0,224,3,0,0,0,57,4,0,0,2,0,0,0,10,0,0,0,1,0,59,0,249,166,0,224,3,0,0,0,60,4,0,0,2,0,0,0,7,0,0,0,1,0,59,0,255,166,0,224,3,0,0,0,203,2,0,0,9,0,0,0,2,0,0,0,1,0,59,0,5,167,0,224,3,0,0,0,63,4,0,0,4,0,0,0,7,0,0,0,1,0,59,0,11,167,0,224,3,0,0,0,70,4,0,0,12,0,0,0,15,0,0,0,1,0,59,0,17,167,0,224,3,0,0,0,72,4,0,0,12,0,0,0,17,0,0,0,1,0,59,0,23,167,0,224,3,0,0,0,73,4,0,0,11,0,0,0,21,0,0,0,1,0,59,0,29,167,0,224,3,0,0,0,75,4,0,0,8,0,0,0,28,0,0,0,1,0,59,0,35,167,0,224,3,0,0,0,80,4,0,0,2,0,0,0,10,0,0,0,1,0,59,0,41,167,0,224,3,0,0,0,82,4,0,0,4,0,0,0,9,0,0,0,1,0,59,0,47,167,0,224,3,0,0,0,84,4,0,0,8,0,0,0,3,0,0,0,1,0,59,0,53,167,0,224,3,0,0,0,86,4,0,0,7,0,0,0,13,0,0,0,1,0,59,0,59,167,0,224,3,0,0,0,89,4,0,0,7,0,0,0,13,0,0,0,1,0,59,0,65,167,0,224,3,0,0,0,205,2,0,0,11,0,0,0,17,0,0,0,1,0,59,0,71,167,0,224,3,0,0,0,94,4,0,0,4,0,0,0,3,0,0,0,1,0,59,0,77,167,0,224,3,0,0,0,96,4,0,0,4,0,0,0,10,0,0,0,1,0,59,0,83,167,0,224,3,0,0,0,100,4,0,0,4,0,0,0,3,0,0,0,1,0,59,0,89,167,0,224,3,0,0,0,102,4,0,0,1,0,0,0,22,0,0,0,1,0,59,0,95,167,0,224,3,0,0,0,107,4,0,0,1,0,0,0,29,0,0,0,1,0,59,0,101,167,0,224,3,0,0,0,108,4,0,0,8,0,0,0,11,0,0,0,1,0,59,0,107,167,0,224,3,0,0,0,111,4,0,0,4,0,0,0,27,0,0,0,1,0,59,0,113,167,0,224,3,0,0,0,117,4,0,0,7,0,0,0,10,0,0,0,1,0,59,0,119,167,0,224,3,0,0,0,118,4,0,0,4,0,0,0,28,0,0,0,1,0,59,0,125,167,0,224,3,0,0,0,120,4,0,0,2,0,0,0,23,0,0,0,1,0,59,0,131,167,0,224,3,0,0,0,212,2,0,0,2,0,0,0,4,0,0,0,1,0,59,0,137,167,0,224,3,0,0,0,121,4,0,0,7,0,0,0,22,0,0,0,1,0,59,0,143,167,0,224,3,0,0,0,127,4,0,0,1,0,0,0,26,0,0,0,1,0,59,0,149,167,0,224,3,0,0,0,130,4,0,0,10,0,0,0,28,0,0,0,1,0,59,0,155,167,0,224,3,0,0,0,132,4,0,0,4,0,0,0,27,0,0,0,1,0,59,0,161,167,0,224,3,0,0,0,135,4,0,0,4,0,0,0,20,0,0,0,1,0,59,0,167,167,0,224,3,0,0,0,136,4,0,0,1,0,0,0,10,0,0,0,1,0,59,0,173,167,0,224,3,0,0,0,137,4,0,0,9,0,0,0,4,0,0,0,1,0,59,0,179,167,0,224,3,0,0,0,139,4,0,0,3,0,0,0,29,0,0,0,1,0,59,0,185,167,0,224,3,0,0,0,141,4,0,0,6,0,0,0,5,0,0,0,1,0,59,0,191,167,0,224,3,0,0,0,142,4,0,0,8,0,0,0,27,0,0,0,1,0,59,0,197,167,0,224,237,0,70,2,209,19,58,21,224,0,228,0,232,0,236,0,240,0,244,0,248,0,252,0,0,1,4,1,63,21,8,1,12,1,16,1,20,1,24,1,28,1,32,1,36,1,40,1,44,1,68,21,48,1,52,1,56,1,60,1,64,1,68,1,72,1,76,1,80,1,84,1,73,21,88,1,92,1,96,1,100,1,104,1,108,1,112,1,116,1,120,1,124,1,78,21,128,1,132,1,136,1,140,1,144,1,148,1,152,1,156,1,160,1,164,1,83,21,101,15,168,1,172,1,176,1,180,1,184,1,188,1,192,1,196,1,200,1,173,2,204,1,208,1,212,1,216,1,220,1,224,1,228,1,232,1,236,1,240,1,177,2,244,1,248,1,252,1,0,2,4,2,8,2,12,2,16,2,20,2,24,2,181,2,28,2,32,2,36,2,40,2,44,2,48,2,52,2,56,2,60,2,64,2,115,15,68,2,72,2,76,2,80,2,84,2,88,2,92,2,96,2,100,2,104,2,213,19,224,17,108,2,112,2,116,2,120,2,124,2,128,2,132,2,136,2,140,2,144,2,241,19,148,2,152,2,156,2,160,2,164,2,168,2,172,2,176,2,180,2,184,2,197,2,188,2,192,2,196,2,200,2,204,2,208,2,212,2,216,2,220,2,224,2,201,2,228,2,232,2,236,2,240,2,244,2,248,2,252,2,205,2,246,19,213,2,217,2,221,2,225,2,217,19,229,2,229,17,234,17,33,18,0,20,43,18,5,20,53,18,58,18,63,18,221,19,68,18,239,17,244,17,141,1,145,1,15,20,153,1,157,1,161,1,165,1,225,19,98,18,249,17,254,17,3,18,181,1,25,20,108,18,30,20,197,1,201,1,229,19,113,18,209,1,35,20,8,18,13,18,40,20,229,1,45,20,123,18,241,1,233,19,245,1,18,18,23,18,1,2,133,18,55,20,13,2,60,20,65,20,138,18,237,19,28,18,143,18,70,20,41,2,148,18,49,2,53,2,153,18,75,20,65,2,120,20,69,2,73,2,77,2,81,2,85,2,89,2,93,2,97,2,101,2,105,2,65,162,0,32,71,162,0,32,77,162,0,32,83,162,0,32,89,162,0,32,95,162,0,32,101,162,0,32,107,162,0,32,113,162,0,32,119,162,0,32,125,162,0,32,131,162,0,32,137,162,0,32,143,162,0,32,149,162,0,32,155,162,0,32,161,162,0,32,167,162,0,32,173,162,0,32,179,162,0,32,185,162,0,32,191,162,0,32,197,162,0,32,203,162,0,32,209,162,0,32,215,162,0,32,221,162,0,32,227,162,0,32,233,162,0,32,239,162,0,32,245,162,0,32,251,162,0,32,1,163,0,32,7,163,0,32,13,163,0,32,19,163,0,32,25,163,0,32,31,163,0,32,37,163,0,32,43,163,0,32,49,163,0,32,55,163,0,32,61,163,0,32,67,163,0,32,73,163,0,32,79,163,0,32,85,163,0,32,91,163,0,32,97,163,0,32,103,163,0,32,109,163,0,32,115,163,0,32,121,163,0,32,127,163,0,32,133,163,0,32,139,163,0,32,145,163,0,32,151,163,0,32,157,163,0,32,163,163,0,32,169,163,0,32,175,163,0,32,181,163,0,32,187,163,0,32,193,163,0,32,199,163,0,32,205,163,0,32,211,163,0,32,217,163,0,32,223,163,0,32,229,163,0,32,235,163,0,32,241,163,0,32,247,163,0,32,253,163,0,32,3,164,0,32,9,164,0,32,15,164,0,32,21,164,0,32,27,164,0,32,33,164,0,32,39,164,0,32,45,164,0,32,51,164,0,32,57,164,0,32,63,164,0,32,69,164,0,32,75,164,0,32,81,164,0,32,87,164,0,32,93,164,0,32,99,164,0,32,105,164,0,32,111,164,0,32,117,164,0,32,123,164,0,32,129,164,0,32,135,164,0,32,141,164,0,32,147,164,0,32,153,164,0,32,159,164,0,32,165,164,0,32,171,164,0,32,177,164,0,32,183,164,0,32,189,164,0,32,195,164,0,32,201,164,0,32,207,164,0,32,213,164,0,32,219,164,0,32,225,164,0,32,231,164,0,32,237,164,0,32,243,164,0,32,249,164,0,32,255,164,0,32,5,165,0,32,11,165,0,32,17,165,0,32,23,165,0,32,29,165,0,32,35,165,0,32,41,165,0,32,47,165,0,32,53,165,0,32,59,165,0,32,65,165,0,32,71,165,0,32,77,165,0,32,83,165,0,32,89,165,0,32,95,165,0,32,101,165,0,32,107,165,0,32,113,165,0,32,119,165,0,32,125,165,0,32,131,165,0,32,137,165,0,32,143,165,0,32,149,165,0,32,155,165,0,32,161,165,0,32,167,165,0,32,173,165,0,32,179,165,0,32,185,165,0,32,191,165,0,32,197,165,0,32,203,165,0,32,209,165,0,32,215,165,0,32,221,165,0,32,227,165,0,32,233,165,0,32,239,165,0,32,245,165,0,32,251,165,0,32,1,166,0,32,7,166,0,32,13,166,0,32,19,166,0,32,25,166,0,32,31,166,0,32,37,166,0,32,43,166,0,32,49,166,0,32,55,166,0,32,61,166,0,32,67,166,0,32,73,166,0,32,79,166,0,32,85,166,0,32,91,166,0,32,97,166,0,32,103,166,0,32,109,166,0,32,115,166,0,32,121,166,0,32,127,166,0,32,133,166,0,32,139,166,0,32,145,166,0,32,151,166,0,32,157,166,0,32,163,166,0,32,169,166,0,32,175,166,0,32,181,166,0,32,187,166,0,32,193,166,0,32,199,166,0,32,205,166,0,32,211,166,0,32,217,166,0,32,223,166,0,32,229,166,0,32,235,166,0,32,241,166,0,32,247,166,0,32,253,166,0,32,3,167,0,32,9,167,0,32,15,167,0,32,21,167,0,32,27,167,0,32,33,167,0,32,39,167,0,32,45,167,0,32,51,167,0,32,57,167,0,32,63,167,0,32,69,167,0,32,75,167,0,32,81,167,0,32,87,167,0,32,93,167,0,32,99,167,0,32,105,167,0,32,111,167,0,32,117,167,0,32,123,167,0,32,129,167,0,32,135,167,0,32,141,167,0,32,147,167,0,32,153,167,0,32,159,167,0,32,165,167,0,32,171,167,0,32,177,167,0,32,183,167,0,32,189,167,0,32,195,167,0,32,201,167,0,32,2,0,54,0,65,0,170,170,203,167,0,32,68,205,0,96,3,0,0,0,110,2,0,0,1,0,0,0,1,0,0,0,1,0,59,0,51,169,0,224,1,0,70,2,55,169,0,32,2,0,54,0,65,0,170,170,57,169,0,32,68,205,0,96,3,0,0,0,119,7,0,0,12,0,0,0,31,0,0,0,1,0,87,0,63,169,0,224,3,0,0,0,120,7,0,0,1,0,0,0,1,0,0,0,1,0,59,0,69,169,0,224,2,0,70,2,209,19,170,170,67,169,0,32,73,169,0,32,1,0,54,0,75,169,0,32,17,0,45,0,72,0,80,0,91,0,97,0,106,0,126,0,136,0,143,0,150,0,158,0,172,0,185,0,198,0,215,0,0,3,8,3,137,161,0,32,149,161,0,32,169,161,0,32,181,161,0,32,201,161,0,32,213,161,0,32,231,161,0,32,243,161,0,32,255,161,0,32,9,162,0,32,21,162,0,32,33,162,0,32,45,162,0,32,57,162,0,32,47,169,0,32,59,169,0,32,79,169,0,32,52,0,12,24,35,3,38,3,41,3,44,3,47,3,50,3,53,3,56,3,59,3,62,3,65,3,68,3,71,3,74,3,143,15,77,3,80,3,73,24,83,3,86,3,89,3,92,3,95,3,98,3,101,3,104,3,107,3,110,3,113,3,116,3,119,3,122,3,125,3,128,3,131,3,134,3,137,3,140,3,143,3,146,3,149,3,152,3,155,3,158,3,161,3,164,3,167,3,188,24,170,3,173,3,176,3,170,170,22,221,0,144,24,221,0,144,30,221,0,144,36,221,0,144,40,221,0,144,44,221,0,144,49,221,0,144,55,221,0,144,58,221,0,144,61,221,0,144,66,221,0,144,71,221,0,144,77,221,0,144,82,221,0,144,87,221,0,144,90,221,0,144,93,221,0,144,98,221,0,144,104,221,0,144,107,221,0,144,112,221,0,144,118,221,0,144,123,221,0,144,126,221,0,144,131,221,0,144,134,221,0,144,140,221,0,144,145,221,0,144,150,221,0,144,155,221,0,144,158,221,0,144,163,221,0,144,167,221,0,144,172,221,0,144,177,221,0,144,182,221,0,144,187,221,0,144,192,221,0,144,198,221,0,144,203,221,0,144,208,221,0,144,211,221,0,144,216,221,0,144,221,221,0,144,224,221,0,144,228,221,0,144,232,221,0,144,237,221,0,144,241,221,0,144,245,221,0,144,249,221,0,144,253,221,0,144,47,1,0,0,2,222,0,144,6,222,0,144,10,222,0,144,14,222,0,144,18,222,0,144,22,222,0,144,26,222,0,144,30,222,0,144,34,222,0,144,38,222,0,144,42,222,0,144,46,222,0,144,50,222,0,144,54,222,0,144,58,222,0,144,62,222,0,144,66,222,0,144,70,222,0,144,74,222,0,144,78,222,0,144,82,222,0,144,86,222,0,144,90,222,0,144,94,222,0,144,98,222,0,144,102,222,0,144,106,222,0,144,110,222,0,144,114,222,0,144,118,222,0,144,122,222,0,144,126,222,0,144,130,222,0,144,134,222,0,144,138,222,0,144,142,222,0,144,146,222,0,144,150,222,0,144,154,222,0,144,158,222,0,144,162,222,0,144,166,222,0,144,170,222,0,144,174,222,0,144,178,222,0,144,182,222,0,144,186,222,0,144,190,222,0,144,194,222,0,144,198,222,0,144,202,222,0,144,206,222,0,144,210,222,0,144,214,222,0,144,218,222,0,144,222,222,0,144,226,222,0,144,230,222,0,144,234,222,0,144,238,222,0,144,242,222,0,144,246,222,0,144,250,222,0,144,254,222,0,144,2,223,0,144,6,223,0,144,10,223,0,144,14,223,0,144,18,223,0,144,22,223,0,144,26,223,0,144,30,223,0,144,34,223,0,144,38,223,0,144,42,223,0,144,46,223,0,144,50,223,0,144,54,223,0,144,58,223,0,144,62,223,0,144,66,223,0,144,70,223,0,144,74,223,0,144,78,223,0,144,82,223,0,144,86,223,0,144,90,223,0,144,94,223,0,144,98,223,0,144,102,223,0,144,106,223,0,144,110,223,0,144,114,223,0,144,118,223,0,144,122,223,0,144,126,223,0,144,130,223,0,144,134,223,0,144,138,223,0,144,142,223,0,144,146,223,0,144,150,223,0,144,154,223,0,144,158,223,0,144,162,223,0,144,166,223,0,144,170,223,0,144,174,223,0,144,178,223,0,144,182,223,0,144,186,223,0,144,190,223,0,144,194,223,0,144,198,223,0,144,202,223,0,144,206,223,0,144,210,223,0,144,214,223,0,144,218,223,0,144,222,223,0,144,226,223,0,144,230,223,0,144,234,223,0,144,238,223,0,144,242,223,0,144,246,223,0,144,250,223,0,144,254,223,0,144,2,224,0,144,6,224,0,144,10,224,0,144,14,224,0,144,18,224,0,144,22,224,0,144,26,224,0,144,30,224,0,144,34,224,0,144,38,224,0,144,42,224,0,144,46,224,0,144,50,224,0,144,54,224,0,144,58,224,0,144,62,224,0,144,66,224,0,144,70,224,0,144,74,224,0,144,78,224,0,144,82,224,0,144,86,224,0,144,90,224,0,144,94,224,0,144,98,224,0,144,102,224,0,144,106,224,0,144,110,224,0,144,114,224,0,144,118,224,0,144,122,224,0,144,126,224,0,144,130,224,0,144,134,224,0,144,138,224,0,144,142,224,0,144,146,224,0,144,150,224,0,144,154,224,0,144,158,224,0,144,162,224,0,144,166,224,0,144,170,224,0,144,174,224,0,144,178,224,0,144,182,224,0,144,186,224,0,144,190,224,0,144,194,224,0,144,198,224,0,144,202,224,0,144,206,224,0,144,210,224,0,144,214,224,0,144,218,224,0,144,222,224,0,144,226,224,0,144,230,224,0,144,234,224,0,144,238,224,0,144,242,224,0,144,246,224,0,144,250,224,0,144,254,224,0,144,2,225,0,144,6,225,0,144,10,225,0,144,14,225,0,144,18,225,0,144,22,225,0,144,26,225,0,144,30,225,0,144,34,225,0,144,38,225,0,144,42,225,0,144,46,225,0,144,50,225,0,144,54,225,0,144,58,225,0,144,62,225,0,144,66,225,0,144,70,225,0,144,74,225,0,144,78,225,0,144,82,225,0,144,86,225,0,144,90,225,0,144,94,225,0,144,98,225,0,144,102,225,0,144,106,225,0,144,110,225,0,144,114,225,0,144,118,225,0,144,122,225,0,144,126,225,0,144,130,225,0,144,134,225,0,144,138,225,0,144,142,225,0,144,146,225,0,144,150,225,0,144,154,225,0,144,158,225,0,144,162,225,0,144,166,225,0,144,170,225,0,144,174,225,0,144,178,225,0,144,182,225,0,144,186,225,0,144,190,225,0,144,194,225,0,144,198,225,0,144,202,225,0,144,206,225,0,144,210,225,0,144,214,225,0,144,218,225,0,144,222,225,0,144,226,225,0,144,230,225,0,144,234,225,0,144,238,225,0,144,242,225,0,144,246,225,0,144,250,225,0,144,254,225,0,144,2,226,0,144,6,226,0,144,10,226,0,144,14,226,0,144,18,226,0,144,22,226,0,144,26,226,0,144,30,226,0,144,34,226,0,144,38,226,0,144,42,226,0,144,46,226,0,144,50,226,0,144,54,226,0,144,58,226,0,144,62,226,0,144,66,226,0,144,70,226,0,144,74,226,0,144,78,226,0,144,82,226,0,144,86,226,0,144,90,226,0,144,94,226,0,144,98,226,0,144,102,226,0,144,106,226,0,144,110,226,0,144,114,226,0,144,118,226,0,144,122,226,0,144,126,226,0,144,130,226,0,144,134,226,0,144,138,226,0,144,142,226,0,144,146,226,0,144,150,226,0,144,154,226,0,144,158,226,0,144,162,226,0,144,166,226,0,144,170,226,0,144,174,226,0,144,178,226,0,144,182,226,0,144,186,226,0,144,183,0,0,0,190,226,0,144,193,226,0,144,196,226,0,144,199,226,0,144,202,226,0,144,205,226,0,144,208,226,0,144,211,226,0,144,214,226,0,144,217,226,0,144,220,226,0,144,223,226,0,144,226,226,0,144,229,226,0,144,232,226,0,144,235,226,0,144,238,226,0,144,241,226,0,144,244,226,0,144,247,226,0,144,250,226,0,144,253,226,0,144,0,227,0,144,3,227,0,144,6,227,0,144,9,227,0,144,12,227,0,144,15,227,0,144,18,227,0,144,21,227,0,144,24,227,0,144,27,227,0,144,30,227,0,144,33,227,0,144,36,227,0,144,39,227,0,144,42,227,0,144,45,227,0,144,48,227,0,144,51,227,0,144,54,227,0,144,57,227,0,144,60,227,0,144,63,227,0,144,66,227,0,144,69,227,0,144,72,227,0,144,75,227,0,144,78,227,0,144,81,227,0,144,84,227,0,144,87,227,0,144,90,227,0,144,93,227,0,144,96,227,0,144,99,227,0,144,102,227,0,144,105,227,0,144,108,227,0,144,111,227,0,144,114,227,0,144,117,227,0,144,120,227,0,144,123,227,0,144,126,227,0,144,129,227,0,144,132,227,0,144,135,227,0,144,138,227,0,144,141,227,0,144,144,227,0,144,147,227,0,144,150,227,0,144,153,227,0,144,156,227,0,144,159,227,0,144,162,227,0,144,165,227,0,144,168,227,0,144,171,227,0,144,174,227,0,144,177,227,0,144,180,227,0,144,183,227,0,144,186,227,0,144,189,227,0,144,192,227,0,144,195,227,0,144,198,227,0,144,201,227,0,144,204,227,0,144,207,227,0,144,210,227,0,144,213,227,0,144,216,227,0,144,219,227,0,144,222,227,0,144,225,227,0,144,228,227,0,144,231,227,0,144,234,227,0,144,237,227,0,144,240,227,0,144,243,227,0,144,246,227,0,144,249,227,0,144,252,227,0,144,255,227,0,144,2,228,0,144,5,228,0,144,8,228,0,144,11,228,0,144,14,228,0,144,17,228,0,144,20,228,0,144,23,228,0,144,26,228,0,144,29,228,0,144,32,228,0,144,35,228,0,144,38,228,0,144,41,228,0,144,44,228,0,144,47,228,0,144,50,228,0,144,53,228,0,144,56,228,0,144,59,228,0,144,62,228,0,144,65,228,0,144,68,228,0,144,71,228,0,144,74,228,0,144,77,228,0,144,80,228,0,144,83,228,0,144,86,228,0,144,89,228,0,144,92,228,0,144,95,228,0,144,98,228,0,144,101,228,0,144,104,228,0,144,107,228,0,144,110,228,0,144,113,228,0,144,116,228,0,144,119,228,0,144,122,228,0,144,125,228,0,144,128,228,0,144,131,228,0,144,134,228,0,144,137,228,0,144,140,228,0,144,143,228,0,144,146,228,0,144,149,228,0,144,152,228,0,144,155,228,0,144,158,228,0,144,161,228,0,144,164,228,0,144,167,228,0,144,170,228,0,144,173,228,0,144,176,228,0,144,179,228,0,144,182,228,0,144,185,228,0,144,188,228,0,144,191,228,0,144,194,228,0,144,197,228,0,144,200,228,0,144,203,228,0,144,206,228,0,144,209,228,0,144,212,228,0,144,215,228,0,144,218,228,0,144,221,228,0,144,224,228,0,144,3,0,245,3,0,4,8,4,227,228,0,144,111,229,0,144,95,2,0,96,6,0,245,3,25,4,0,4,37,4,46,4,8,4,170,170,12,230,0,144,31,231,0,144,47,231,0,144,89,241,0,144,96,241,0,144,164,205,0,96,7,0,245,3,54,4,25,4,0,4,37,4,46,4,8,4,100,241,0,144,113,241,0,144,138,241,0,144,141,241,0,144,6,242,0,144,81,72,0,96,224,2,0,96,6,0,245,3,25,4,0,4,37,4,46,4,8,4,170,170,1,72,0,96,11,242,0,144,14,242,0,144,179,242,0,144,183,242,0,144,136,72,0,96,3,0,245,3,0,4,8,4,193,242,0,144,244,243,0,144,216,255,0,144,2,0,245,3,0,4,170,170,217,0,1,144,228,0,1,144,2,0,245,3,0,4,170,170,164,1,1,144,168,1,1,144,7,0,236,3,16,4,59,4,66,4,73,4,85,4,157,24,162,171,0,32,167,171,0,32,177,171,0,32,188,171,0,32,198,171,0,32,203,171,0,32,207,171,0,32,1,0,129,4,19,2,1,144,2,0,103,4,119,4,170,170,16,2,1,80,222,171,0,32,2,0,103,4,119,4,170,170,22,2,1,80,25,2,1,80,1,0,103,4,28,2,1,80,2,0,103,4,119,4,170,170,31,2,1,80,34,2,1,80,2,0,103,4,119,4,170,170,37,2,1,80,40,2,1,80,2,0,103,4,119,4,170,170,43,2,1,80,46,2,1,80,1,0,103,4,49,2,1,80,2,0,103,4,119,4,170,170,52,2,1,80,55,2,1,80,1,0,119,4,58,2,1,80,2,0,103,4,119,4,170,170,61,2,1,80,64,2,1,80,1,0,129,4,70,2,1,144,2,0,103,4,119,4,170,170,67,2,1,80,2,172,0,32,1,0,103,4,73,2,1,80,2,0,103,4,119,4,170,170,76,2,1,80,79,2,1,80,1,0,111,4,82,2,1,144,1,0,119,4,14,172,0,32,2,0,103,4,119,4,170,170,85,2,1,80,88,2,1,80,1,0,119,4,91,2,1,80,1,0,103,4,94,2,1,80,1,0,103,4,97,2,1,80,2,0,103,4,119,4,170,170,100,2,1,80,103,2,1,80,1,0,103,4,106,2,1,80,1,0,103,4,109,2,1,80,1,0,103,4,114,2,1,80,1,0,103,4,117,2,1,80,1,0,119,4,120,2,1,80,1,0,103,4,123,2,1,80,1,0,103,4,126,2,1,80,1,0,103,4,129,2,1,80,2,0,111,4,129,4,170,170,210,195,0,96,132,2,1,144,2,0,111,4,129,4,170,170,74,39,0,96,159,2,1,144,2,0,103,4,119,4,170,170,48,172,0,32,52,172,0,32,1,0,111,4,162,2,1,144,1,0,119,4,60,172,0,32,1,0,103,4,166,2,1,80,1,0,103,4,169,2,1,80,1,0,103,4,172,2,1,80,2,0,103,4,119,4,170,170,175,2,1,80,178,2,1,80,2,0,103,4,119,4,170,170,181,2,1,80,184,2,1,80,1,0,119,4,187,2,1,80,2,0,103,4,119,4,170,170,190,2,1,80,193,2,1,80,2,0,103,4,119,4,170,170,196,2,1,80,199,2,1,80,2,0,103,4,119,4,170,170,202,2,1,80,205,2,1,80,1,0,103,4,208,2,1,80,2,0,103,4,119,4,170,170,211,2,1,80,214,2,1,80,1,0,103,4,217,2,1,80,2,0,103,4,119,4,170,170,220,2,1,80,223,2,1,80,1,0,119,4,226,2,1,80,2,0,103,4,119,4,170,170,229,2,1,80,232,2,1,80,1,0,103,4,235,2,1,80,2,0,111,4,129,4,170,170,240,2,1,144,188,1,0,96,1,0,129,4,244,2,1,144,2,0,103,4,119,4,170,170,112,172,0,32,116,172,0,32,2,0,103,4,119,4,170,170,248,2,1,80,251,2,1,80,2,0,111,4,129,4,170,170,194,195,0,96,1,3,1,144,2,0,103,4,119,4,170,170,254,2,1,80,126,172,0,32,2,0,103,4,119,4,170,170,4,3,1,80,7,3,1,80,1,0,103,4,12,3,1,80,1,0,129,4,18,3,1,144,2,0,103,4,119,4,170,170,15,3,1,80,140,172,0,32,1,0,103,4,21,3,1,80,1,0,103,4,24,3,1,80,2,0,103,4,119,4,170,170,27,3,1,80,30,3,1,80,1,0,103,4,35,3,1,80,2,0,103,4,119,4,170,170,38,3,1,80,41,3,1,80,1,0,103,4,44,3,1,80,2,0,103,4,119,4,170,170,49,3,1,80,52,3,1,80,2,0,103,4,119,4,170,170,55,3,1,80,58,3,1,80,2,0,103,4,119,4,170,170,61,3,1,80,64,3,1,80,1,0,103,4,67,3,1,80,1,0,103,4,70,3,1,80,1,0,103,4,73,3,1,80,2,0,103,4,119,4,170,170,76,3,1,80,79,3,1,80,1,0,103,4,82,3,1,80,1,0,103,4,85,3,1,80,2,0,103,4,119,4,170,170,90,3,1,80,93,3,1,80,2,0,103,4,119,4,170,170,96,3,1,80,99,3,1,80,1,0,103,4,102,3,1,80,2,0,103,4,119,4,170,170,105,3,1,80,108,3,1,80,2,0,103,4,119,4,170,170,111,3,1,80,114,3,1,80,1,0,129,4,120,3,1,144,2,0,103,4,119,4,170,170,117,3,1,80,206,172,0,32,1,0,103,4,124,3,1,80,2,0,103,4,119,4,170,170,129,3,1,80,132,3,1,80,2,0,103,4,119,4,170,170,135,3,1,80,138,3,1,80,2,0,103,4,119,4,170,170,141,3,1,80,144,3,1,80,2,0,103,4,119,4,170,170,147,3,1,80,150,3,1,80,1,0,119,4,153,3,1,80,1,0,103,4,156,3,1,80,2,0,103,4,119,4,170,170,159,3,1,80,162,3,1,80,1,0,103,4,165,3,1,80,1,0,103,4,168,3,1,80,1,0,111,4,171,3,1,144,2,0,103,4,119,4,170,170,242,172,0,32,174,3,1,80,1,0,103,4,177,3,1,80,2,0,103,4,119,4,170,170,180,3,1,80,185,3,1,80,2,0,103,4,119,4,170,170,188,3,1,80,191,3,1,80,1,0,103,4,194,3,1,80,2,0,103,4,119,4,170,170,197,3,1,80,200,3,1,80,1,0,103,4,203,3,1,80,1,0,103,4,206,3,1,80,1,0,103,4,209,3,1,80,2,0,103,4,119,4,170,170,212,3,1,80,215,3,1,80,2,0,103,4,119,4,170,170,220,3,1,80,223,3,1,80,2,0,111,4,129,4,170,170,226,3,1,144,164,1,0,96,1,0,103,4,22,173,0,32,1,0,119,4,229,3,1,80,1,0,103,4,232,3,1,80,1,0,103,4,235,3,1,80,1,0,103,4,238,3,1,80,1,0,103,4,241,3,1,80,2,0,103,4,119,4,170,170,244,3,1,80,247,3,1,80,2,0,103,4,119,4,170,170,250,3,1,80,253,3,1,80,2,0,103,4,119,4,170,170,2,4,1,80,5,4,1,80,1,0,103,4,8,4,1,80,1,0,103,4,11,4,1,80,1,0,103,4,14,4,1,80,1,0,103,4,17,4,1,80,1,0,103,4,20,4,1,80,2,0,103,4,119,4,170,170,23,4,1,80,28,4,1,80,1,0,103,4,31,4,1,80,1,0,103,4,34,4,1,80,1,0,103,4,37,4,1,80,1,0,103,4,40,4,1,80,1,0,111,4,43,4,1,144,1,0,103,4,72,173,0,32,2,0,103,4,119,4,170,170,46,4,1,80,49,4,1,80,2,0,103,4,119,4,170,170,52,4,1,80,55,4,1,80,2,0,103,4,119,4,170,170,58,4,1,80,61,4,1,80,1,0,103,4,64,4,1,80,2,0,103,4,119,4,170,170,69,4,1,80,72,4,1,80,1,0,103,4,75,4,1,80,1,0,119,4,78,4,1,80,1,0,103,4,81,4,1,80,2,0,103,4,119,4,170,170,84,4,1,80,87,4,1,80,1,0,103,4,92,4,1,80,1,0,103,4,95,4,1,80,1,0,103,4,98,4,1,80,2,0,103,4,119,4,170,170,101,4,1,80,104,4,1,80,2,0,103,4,119,4,170,170,107,4,1,80,110,4,1,80,1,0,103,4,113,4,1,80,1,0,129,4,119,4,1,144,2,0,103,4,119,4,170,170,116,4,1,80,120,173,0,32,1,0,103,4,122,4,1,80,1,0,103,4,125,4,1,80,1,0,103,4,128,4,1,80,1,0,111,4,131,4,1,144,1,0,119,4,132,173,0,32,1,0,103,4,135,4,1,80,1,0,111,4,138,4,1,144,2,0,103,4,119,4,170,170,138,173,0,32,141,4,1,80,1,0,103,4,144,4,1,80,1,0,103,4,147,4,1,80,2,0,103,4,119,4,170,170,150,4,1,80,153,4,1,80,1,0,103,4,156,4,1,80,2,0,103,4,119,4,170,170,159,4,1,80,162,4,1,80,1,0,103,4,165,4,1,80,2,0,103,4,119,4,170,170,168,4,1,80,171,4,1,80,2,0,103,4,119,4,170,170,174,4,1,80,179,4,1,80,1,0,119,4,182,4,1,80,1,0,103,4,187,4,1,80,1,0,103,4,190,4,1,80,1,0,119,4,193,4,1,80,2,0,103,4,119,4,170,170,196,4,1,80,199,4,1,80,2,0,103,4,119,4,170,170,202,4,1,80,205,4,1,80,2,0,103,4,119,4,170,170,208,4,1,80,213,4,1,80,1,0,103,4,216,4,1,80,1,0,103,4,219,4,1,80,1,0,103,4,222,4,1,80,2,0,103,4,119,4,170,170,225,4,1,80,228,4,1,80,2,0,111,4,129,4,170,170,194,195,0,96,231,4,1,144,2,0,111,4,129,4,170,170,94,39,0,96,238,4,1,144,2,0,103,4,119,4,170,170,198,173,0,32,202,173,0,32,1,0,103,4,252,4,1,80,2,0,103,4,119,4,170,170,255,4,1,80,2,5,1,80,2,0,103,4,119,4,170,170,7,5,1,80,10,5,1,80,1,0,103,4,13,5,1,80,2,0,103,4,119,4,170,170,16,5,1,80,19,5,1,80,1,0,103,4,22,5,1,80,2,0,103,4,119,4,170,170,25,5,1,80,28,5,1,80,2,0,111,4,129,4,170,170,34,5,1,144,121,105,0,96,2,0,103,4,119,4,170,170,31,5,1,80,232,173,0,32,1,0,103,4,37,5,1,80,1,0,103,4,40,5,1,80,1,0,103,4,43,5,1,80,1,0,103,4,46,5,1,80,1,0,103,4,49,5,1,80,1,0,119,4,52,5,1,80,1,0,103,4,55,5,1,80,2,0,103,4,119,4,170,170,60,5,1,80,63,5,1,80,2,0,103,4,119,4,170,170,68,5,1,80,71,5,1,80,1,0,103,4,74,5,1,80,1,0,103,4,79,5,1,80,1,0,129,4,85,5,1,144,2,0,103,4,119,4,170,170,82,5,1,80,10,174,0,32,2,0,103,4,119,4,170,170,88,5,1,80,91,5,1,80,1,0,103,4,94,5,1,80,1,0,119,4,97,5,1,80,1,0,103,4,100,5,1,80,1,0,103,4,103,5,1,80,2,0,111,4,129,4,170,170,54,39,0,96,106,5,1,144,1,0,103,4,28,174,0,32,2,0,111,4,129,4,170,170,194,195,0,96,109,5,1,144,2,0,111,4,129,4,170,170,199,5,1,144,202,5,1,144,2,0,103,4,119,4,170,170,34,174,0,32,38,174,0,32,1,0,119,4,253,5,1,80,1,0,103,4,0,6,1,80,2,0,111,4,129,4,170,170,194,195,0,96,3,6,1,144,1,0,129,4,27,6,1,144,2,0,103,4,119,4,170,170,50,174,0,32,54,174,0,32,1,0,103,4,38,6,1,80,1,0,103,4,41,6,1,80,1,0,111,4,46,6,1,144,1,0,119,4,64,174,0,32,2,0,103,4,119,4,170,170,49,6,1,80,52,6,1,80,1,0,103,4,55,6,1,80,1,0,103,4,58,6,1,80,1,0,103,4,61,6,1,80,2,0,111,4,129,4,170,170,210,195,0,96,64,6,1,144,2,0,103,4,119,4,170,170,78,174,0,32,67,6,1,80,2,0,103,4,119,4,170,170,70,6,1,80,73,6,1,80,1,0,119,4,76,6,1,80,2,0,111,4,129,4,170,170,210,196,0,96,82,6,1,144,2,0,103,4,119,4,170,170,79,6,1,80,92,174,0,32,2,0,103,4,119,4,170,170,85,6,1,80,88,6,1,80,1,0,129,4,96,6,1,144,2,0,103,4,119,4,170,170,91,6,1,80,104,174,0,32,1,0,103,4,99,6,1,80,2,0,103,4,119,4,170,170,102,6,1,80,107,6,1,80,1,0,103,4,112,6,1,80,1,0,103,4,115,6,1,80,1,0,103,4,120,6,1,80,2,0,103,4,119,4,170,170,125,6,1,80,128,6,1,80,2,0,111,4,129,4,170,170,194,195,0,96,131,6,1,144,2,0,111,4,129,4,170,170,134,44,0,96,177,6,1,144,2,0,103,4,119,4,170,170,126,174,0,32,130,174,0,32,1,0,103,4,186,6,1,80,1,0,119,4,189,6,1,80,1,0,119,4,192,6,1,80,1,0,103,4,195,6,1,80,2,0,103,4,119,4,170,170,198,6,1,80,201,6,1,80,1,0,103,4,204,6,1,80,2,0,103,4,119,4,170,170,207,6,1,80,210,6,1,80,2,0,103,4,119,4,170,170,213,6,1,80,216,6,1,80,1,0,103,4,219,6,1,80,2,0,103,4,119,4,170,170,222,6,1,80,225,6,1,80,2,0,103,4,119,4,170,170,228,6,1,80,231,6,1,80,2,0,103,4,119,4,170,170,234,6,1,80,237,6,1,80,2,0,103,4,119,4,170,170,240,6,1,80,245,6,1,80,2,0,103,4,119,4,170,170,248,6,1,80,251,6,1,80,2,0,103,4,119,4,170,170,254,6,1,80,1,7,1,80,2,0,103,4,119,4,170,170,4,7,1,80,7,7,1,80,1,0,103,4,10,7,1,80,1,0,103,4,13,7,1,80,2,0,103,4,119,4,170,170,16,7,1,80,19,7,1,80,1,0,103,4,22,7,1,80,2,0,103,4,119,4,170,170,25,7,1,80,28,7,1,80,2,0,103,4,119,4,170,170,31,7,1,80,34,7,1,80,1,0,119,4,37,7,1,80,1,0,103,4,40,7,1,80,1,0,103,4,45,7,1,80,1,0,103,4,48,7,1,80,2,0,103,4,119,4,170,170,51,7,1,80,54,7,1,80,1,0,103,4,57,7,1,80,2,0,103,4,119,4,170,170,60,7,1,80,63,7,1,80,1,0,119,4,66,7,1,80,1,0,103,4,69,7,1,80,1,0,119,4,74,7,1,80,2,0,103,4,119,4,170,170,77,7,1,80,80,7,1,80,1,0,111,4,83,7,1,144,2,0,103,4,119,4,170,170,236,174,0,32,86,7,1,80,2,0,103,4,119,4,170,170,89,7,1,80,92,7,1,80,1,0,103,4,95,7,1,80,1,0,119,4,98,7,1,80,1,0,103,4,101,7,1,80,1,0,111,4,104,7,1,144,1,0,119,4,252,174,0,32,1,0,103,4,108,7,1,80,2,0,111,4,129,4,170,170,194,195,0,96,111,7,1,144,2,0,103,4,119,4,170,170,2,175,0,32,114,7,1,80,1,0,129,4,120,7,1,144,2,0,103,4,119,4,170,170,117,7,1,80,10,175,0,32,1,0,103,4,123,7,1,80,1,0,103,4,126,7,1,80,2,0,103,4,119,4,170,170,129,7,1,80,132,7,1,80,2,0,103,4,119,4,170,170,135,7,1,80,138,7,1,80,1,0,103,4,141,7,1,80,1,0,103,4,146,7,1,80,2,0,103,4,119,4,170,170,149,7,1,80,152,7,1,80,1,0,111,4,155,7,1,144,1,0,129,4,158,7,1,144,2,0,103,4,119,4,170,170,36,175,0,32,38,175,0,32,1,0,103,4,161,7,1,80,2,0,103,4,119,4,170,170,164,7,1,80,167,7,1,80,2,0,103,4,119,4,170,170,170,7,1,80,173,7,1,80,2,0,103,4,119,4,170,170,176,7,1,80,179,7,1,80,1,0,103,4,182,7,1,80,2,0,111,4,129,4,170,170,192,7,1,144,195,7,1,144,2,0,103,4,119,4,170,170,187,7,1,80,60,175,0,32,2,0,111,4,129,4,170,170,199,7,1,144,45,106,0,96,1,0,103,4,68,175,0,32,2,0,103,4,119,4,170,170,202,7,1,80,205,7,1,80,1,0,119,4,208,7,1,80,1,0,103,4,211,7,1,80,2,0,103,4,119,4,170,170,214,7,1,80,217,7,1,80,1,0,103,4,220,7,1,80,2,0,103,4,119,4,170,170,223,7,1,80,226,7,1,80,1,0,103,4,229,7,1,80,2,0,103,4,119,4,170,170,232,7,1,80,235,7,1,80,2,0,103,4,119,4,170,170,238,7,1,80,241,7,1,80,1,0,103,4,244,7,1,80,2,0,103,4,119,4,170,170,249,7,1,80,252,7,1,80,2,0,103,4,119,4,170,170,1,8,1,80,4,8,1,80,1,0,103,4,7,8,1,80,2,0,111,4,129,4,170,170,194,195,0,96,10,8,1,144,1,0,129,4,13,8,1,144,2,0,103,4,119,4,170,170,114,175,0,32,118,175,0,32,1,0,103,4,17,8,1,80,2,0,103,4,119,4,170,170,20,8,1,80,23,8,1,80,1,0,103,4,26,8,1,80,1,0,129,4,36,8,1,144,2,0,103,4,119,4,170,170,31,8,1,80,132,175,0,32,1,0,103,4,40,8,1,80,1,0,103,4,43,8,1,80,2,0,103,4,119,4,170,170,46,8,1,80,51,8,1,80,1,0,103,4,54,8,1,80,1,0,119,4,57,8,1,80,1,0,103,4,60,8,1,80,2,0,103,4,119,4,170,170,63,8,1,80,66,8,1,80,2,0,103,4,119,4,170,170,69,8,1,80,74,8,1,80,1,0,103,4,77,8,1,80,2,0,103,4,119,4,170,170,80,8,1,80,83,8,1,80,2,0,103,4,119,4,170,170,86,8,1,80,89,8,1,80,1,0,103,4,94,8,1,80,1,0,103,4,97,8,1,80,2,0,103,4,119,4,170,170,100,8,1,80,103,8,1,80,2,0,111,4,129,4,170,170,109,8,1,144,36,1,0,96,2,0,103,4,119,4,170,170,106,8,1,80,178,175,0,32,1,0,103,4,112,8,1,80,2,0,111,4,129,4,170,170,194,195,0,96,117,8,1,144,1,0,129,4,122,8,1,144,2,0,103,4,119,4,170,170,188,175,0,32,192,175,0,32,1,0,111,4,128,8,1,144,2,0,103,4,119,4,170,170,198,175,0,32,131,8,1,80,1,0,103,4,134,8,1,80,1,0,103,4,137,8,1,80,2,0,103,4,119,4,170,170,142,8,1,80,145,8,1,80,1,0,103,4,148,8,1,80,1,0,103,4,151,8,1,80,1,0,103,4,154,8,1,80,1,0,103,4,157,8,1,80,1,0,103,4,160,8,1,80,1,0,119,4,163,8,1,80,2,0,103,4,119,4,170,170,166,8,1,80,169,8,1,80,1,0,103,4,174,8,1,80,1,0,103,4,179,8,1,80,2,0,103,4,119,4,170,170,182,8,1,80,185,8,1,80,1,0,103,4,188,8,1,80,1,0,103,4,191,8,1,80,2,0,103,4,119,4,170,170,194,8,1,80,197,8,1,80,1,0,103,4,200,8,1,80,2,0,103,4,119,4,170,170,203,8,1,80,206,8,1,80,1,0,103,4,209,8,1,80,1,0,103,4,212,8,1,80,1,0,103,4,215,8,1,80,2,0,103,4,119,4,170,170,218,8,1,80,221,8,1,80,1,0,103,4,224,8,1,80,2,0,103,4,119,4,170,170,227,8,1,80,230,8,1,80,1,0,103,4,233,8,1,80,1,0,103,4,236,8,1,80,2,0,103,4,119,4,170,170,239,8,1,80,242,8,1,80,2,0,103,4,119,4,170,170,245,8,1,80,248,8,1,80,1,0,103,4,251,8,1,80,1,0,103,4,254,8,1,80,2,0,103,4,119,4,170,170,1,9,1,80,4,9,1,80,1,0,103,4,9,9,1,80,2,0,103,4,119,4,170,170,12,9,1,80,15,9,1,80,1,0,103,4,18,9,1,80,1,0,103,4,21,9,1,80,1,0,103,4,24,9,1,80,2,0,103,4,119,4,170,170,27,9,1,80,30,9,1,80,1,0,103,4,33,9,1,80,2,0,103,4,119,4,170,170,36,9,1,80,39,9,1,80,2,0,103,4,119,4,170,170,42,9,1,80,45,9,1,80,1,0,103,4,48,9,1,80,2,0,111,4,129,4,170,170,51,9,1,144,40,0,0,96,2,0,103,4,119,4,170,170,58,176,0,32,54,9,1,80,1,0,103,4,57,9,1,80,2,0,103,4,119,4,170,170,60,9,1,80,65,9,1,80,2,0,103,4,119,4,170,170,68,9,1,80,71,9,1,80,1,0,103,4,74,9,1,80,2,0,103,4,119,4,170,170,79,9,1,80,82,9,1,80,2,0,103,4,119,4,170,170,85,9,1,80,88,9,1,80,1,0,119,4,91,9,1,80,2,0,111,4,129,4,170,170,58,196,0,96,94,9,1,144,1,0,129,4,97,9,1,144,2,0,103,4,119,4,170,170,88,176,0,32,92,176,0,32,2,0,103,4,119,4,170,170,100,9,1,80,103,9,1,80,2,0,103,4,119,4,170,170,106,9,1,80,109,9,1,80,1,0,103,4,112,9,1,80,1,0,103,4,115,9,1,80,1,0,103,4,118,9,1,80,1,0,103,4,121,9,1,80,2,0,103,4,119,4,170,170,124,9,1,80,127,9,1,80,2,0,103,4,119,4,170,170,130,9,1,80,133,9,1,80,1,0,103,4,136,9,1,80,1,0,103,4,139,9,1,80,2,0,103,4,119,4,170,170,142,9,1,80,145,9,1,80,1,0,111,4,148,9,1,144,2,0,103,4,119,4,170,170,130,176,0,32,151,9,1,80,1,0,103,4,154,9,1,80,1,0,103,4,157,9,1,80,1,0,103,4,160,9,1,80,1,0,111,4,163,9,1,144,1,0,129,4,167,9,1,144,2,0,103,4,119,4,170,170,142,176,0,32,144,176,0,32,2,0,103,4,119,4,170,170,170,9,1,80,173,9,1,80,1,0,103,4,176,9,1,80,2,0,103,4,119,4,170,170,179,9,1,80,182,9,1,80,1,0,103,4,187,9,1,80,1,0,103,4,190,9,1,80,1,0,103,4,193,9,1,80,1,0,103,4,196,9,1,80,2,0,103,4,119,4,170,170,199,9,1,80,202,9,1,80,1,0,103,4,205,9,1,80,2,0,111,4,129,4,170,170,208,9,1,144,212,1,0,96,1,0,103,4,174,176,0,32,1,0,103,4,212,9,1,80,1,0,119,4,215,9,1,80,1,0,119,4,220,9,1,80,1,0,103,4,223,9,1,80,1,0,103,4,226,9,1,80,2,0,103,4,119,4,170,170,229,9,1,80,232,9,1,80,2,0,103,4,119,4,170,170,235,9,1,80,238,9,1,80,1,0,103,4,241,9,1,80,1,0,103,4,244,9,1,80,2,0,103,4,119,4,170,170,249,9,1,80,252,9,1,80,1,0,103,4,255,9,1,80,1,0,103,4,2,10,1,80,1,0,103,4,5,10,1,80,2,0,103,4,119,4,170,170,8,10,1,80,11,10,1,80,1,0,111,4,16,10,1,144,1,0,119,4,216,176,0,32,2,0,103,4,119,4,170,170,19,10,1,80,22,10,1,80,1,0,103,4,25,10,1,80,1,0,111,4,28,10,1,144,1,0,103,4,226,176,0,32,1,0,103,4,31,10,1,80,1,0,103,4,34,10,1,80,1,0,103,4,37,10,1,80,1,0,119,4,40,10,1,80,2,0,103,4,119,4,170,170,43,10,1,80,46,10,1,80,1,0,103,4,49,10,1,80,1,0,103,4,52,10,1,80,2,0,103,4,119,4,170,170,55,10,1,80,58,10,1,80,1,0,103,4,61,10,1,80,2,0,103,4,119,4,170,170,64,10,1,80,67,10,1,80,1,0,103,4,70,10,1,80,1,0,103,4,75,10,1,80,2,0,103,4,119,4,170,170,78,10,1,80,81,10,1,80,2,0,103,4,119,4,170,170,84,10,1,80,87,10,1,80,2,0,103,4,119,4,170,170,90,10,1,80,95,10,1,80,1,0,103,4,98,10,1,80,2,0,103,4,119,4,170,170,101,10,1,80,104,10,1,80,2,0,103,4,119,4,170,170,107,10,1,80,110,10,1,80,1,0,119,4,113,10,1,80,1,0,103,4,116,10,1,80,2,0,103,4,119,4,170,170,119,10,1,80,122,10,1,80,1,0,103,4,125,10,1,80,1,0,119,4,128,10,1,80,2,0,103,4,119,4,170,170,131,10,1,80,134,10,1,80,2,0,103,4,119,4,170,170,137,10,1,80,140,10,1,80,1,0,103,4,143,10,1,80,1,0,103,4,148,10,1,80,1,0,119,4,151,10,1,80,1,0,111,4,154,10,1,144,1,0,103,4,52,177,0,32,2,0,103,4,119,4,170,170,157,10,1,80,160,10,1,80,1,0,103,4,163,10,1,80,2,0,103,4,119,4,170,170,166,10,1,80,169,10,1,80,2,0,111,4,129,4,170,170,113,45,0,96,175,10,1,144,2,0,103,4,119,4,170,170,172,10,1,80,66,177,0,32,2,0,103,4,119,4,170,170,178,10,1,80,181,10,1,80,1,0,111,4,186,10,1,144,1,0,129,4,189,10,1,144,2,0,103,4,119,4,170,170,78,177,0,32,80,177,0,32,1,0,103,4,192,10,1,80,1,0,103,4,195,10,1,80,2,0,103,4,119,4,170,170,198,10,1,80,201,10,1,80,2,0,103,4,119,4,170,170,204,10,1,80,207,10,1,80,2,0,103,4,119,4,170,170,210,10,1,80,213,10,1,80,1,0,103,4,216,10,1,80,2,0,103,4,119,4,170,170,219,10,1,80,222,10,1,80,2,0,103,4,119,4,170,170,227,10,1,80,230,10,1,80,1,0,119,4,233,10,1,80,2,0,103,4,119,4,170,170,236,10,1,80,239,10,1,80,2,0,103,4,119,4,170,170,242,10,1,80,245,10,1,80,1,0,119,4,248,10,1,80,1,0,103,4,251,10,1,80,2,0,103,4,119,4,170,170,0,11,1,80,3,11,1,80,1,0,103,4,6,11,1,80,1,0,103,4,9,11,1,80,1,0,103,4,12,11,1,80,1,0,103,4,15,11,1,80,1,0,103,4,20,11,1,80,1,0,103,4,25,11,1,80,2,0,103,4,119,4,170,170,28,11,1,80,31,11,1,80,1,0,103,4,34,11,1,80,2,0,103,4,119,4,170,170,39,11,1,80,42,11,1,80,1,0,103,4,45,11,1,80,2,0,111,4,129,4,170,170,53,11,1,144,52,1,0,96,2,0,103,4,119,4,170,170,48,11,1,80,154,177,0,32,1,0,119,4,56,11,1,80,2,0,103,4,119,4,170,170,59,11,1,80,62,11,1,80,1,0,103,4,67,11,1,80,1,0,103,4,70,11,1,80,1,0,103,4,73,11,1,80,1,0,103,4,76,11,1,80,2,0,103,4,119,4,170,170,79,11,1,80,82,11,1,80,2,0,103,4,119,4,170,170,85,11,1,80,88,11,1,80,1,0,103,4,93,11,1,80,1,0,103,4,96,11,1,80,2,0,103,4,119,4,170,170,99,11,1,80,102,11,1,80,2,0,111,4,129,4,170,170,105,11,1,144,108,11,1,144,1,0,129,4,112,11,1,144,2,0,103,4,119,4,170,170,192,177,0,32,196,177,0,32,1,0,103,4,115,11,1,80,2,0,103,4,119,4,170,170,120,11,1,80,123,11,1,80,1,0,103,4,126,11,1,80,1,0,103,4,129,11,1,80,1,0,103,4,132,11,1,80,1,0,103,4,135,11,1,80,1,0,103,4,138,11,1,80,2,0,103,4,119,4,170,170,141,11,1,80,144,11,1,80,1,0,103,4,147,11,1,80,1,0,103,4,150,11,1,80,1,0,103,4,153,11,1,80,2,0,103,4,119,4,170,170,158,11,1,80,161,11,1,80,2,0,103,4,119,4,170,170,164,11,1,80,167,11,1,80,1,0,119,4,170,11,1,80,2,0,103,4,119,4,170,170,173,11,1,80,176,11,1,80,1,0,103,4,179,11,1,80,2,0,103,4,119,4,170,170,184,11,1,80,187,11,1,80,1,0,103,4,190,11,1,80,1,0,103,4,193,11,1,80,2,0,111,4,129,4,170,170,194,195,0,96,196,11,1,144,1,0,103,4,252,177,0,32,1,0,103,4,199,11,1,80,1,0,103,4,202,11,1,80,2,0,103,4,119,4,170,170,207,11,1,80,210,11,1,80,1,0,129,4,216,11,1,144,2,0,103,4,119,4,170,170,213,11,1,80,10,178,0,32,2,0,103,4,119,4,170,170,219,11,1,80,224,11,1,80,2,0,103,4,119,4,170,170,227,11,1,80,230,11,1,80,2,0,103,4,119,4,170,170,233,11,1,80,236,11,1,80,2,0,103,4,119,4,170,170,239,11,1,80,242,11,1,80,1,0,103,4,245,11,1,80,1,0,103,4,248,11,1,80,1,0,103,4,251,11,1,80,1,0,103,4,254,11,1,80,1,0,103,4,1,12,1,80,1,0,103,4,6,12,1,80,2,0,111,4,129,4,170,170,194,195,0,96,9,12,1,144,2,0,103,4,119,4,170,170,44,178,0,32,17,12,1,80,1,0,103,4,20,12,1,80,1,0,103,4,23,12,1,80,1,0,103,4,28,12,1,80,1,0,103,4,31,12,1,80,2,0,103,4,119,4,170,170,36,12,1,80,39,12,1,80,2,0,103,4,119,4,170,170,42,12,1,80,45,12,1,80,1,0,103,4,48,12,1,80,1,0,119,4,51,12,1,80,1,0,119,4,54,12,1,80,1,0,103,4,57,12,1,80,2,0,103,4,119,4,170,170,60,12,1,80,63,12,1,80,2,0,103,4,119,4,170,170,66,12,1,80,69,12,1,80,2,0,103,4,119,4,170,170,72,12,1,80,75,12,1,80,1,0,103,4,78,12,1,80,1,0,103,4,81,12,1,80,1,0,103,4,84,12,1,80,2,0,103,4,119,4,170,170,87,12,1,80,92,12,1,80,2,0,103,4,119,4,170,170,95,12,1,80,98,12,1,80,2,0,103,4,119,4,170,170,101,12,1,80,104,12,1,80,1,0,103,4,107,12,1,80,1,0,103,4,110,12,1,80,1,0,129,4,116,12,1,144,2,0,103,4,119,4,170,170,113,12,1,80,110,178,0,32,2,0,103,4,119,4,170,170,119,12,1,80,122,12,1,80,1,0,103,4,125,12,1,80,1,0,103,4,128,12,1,80,2,0,103,4,119,4,170,170,131,12,1,80,134,12,1,80,2,0,103,4,119,4,170,170,139,12,1,80,142,12,1,80,2,0,103,4,119,4,170,170,145,12,1,80,148,12,1,80,2,0,103,4,119,4,170,170,151,12,1,80,154,12,1,80,1,0,111,4,157,12,1,144,1,0,119,4,140,178,0,32,1,0,119,4,160,12,1,80,1,0,111,4,163,12,1,144,1,0,129,4,166,12,1,144,2,0,103,4,119,4,170,170,146,178,0,32,148,178,0,32,2,0,103,4,119,4,170,170,170,12,1,80,173,12,1,80,1,0,111,4,176,12,1,144,1,0,119,4,158,178,0,32,2,0,103,4,119,4,170,170,179,12,1,80,182,12,1,80,2,0,111,4,129,4,170,170,194,195,0,96,185,12,1,144,2,0,103,4,119,4,170,170,166,178,0,32,188,12,1,80,1,0,103,4,191,12,1,80,1,0,103,4,196,12,1,80,2,0,103,4,119,4,170,170,199,12,1,80,202,12,1,80,1,0,103,4,205,12,1,80,1,0,103,4,208,12,1,80,1,0,119,4,211,12,1,80,1,0,103,4,214,12,1,80,1,0,119,4,217,12,1,80,1,0,111,4,220,12,1,144,1,0,119,4,192,178,0,32,2,0,103,4,119,4,170,170,224,12,1,80,227,12,1,80,1,0,103,4,230,12,1,80,1,0,129,4,238,12,1,144,2,0,103,4,119,4,170,170,233,12,1,80,202,178,0,32,1,0,103,4,241,12,1,80,1,0,111,4,244,12,1,144,1,0,103,4,210,178,0,32,2,0,103,4,119,4,170,170,248,12,1,80,251,12,1,80,1,0,103,4,254,12,1,80,1,0,103,4,1,13,1,80,1,0,119,4,4,13,1,80,1,0,119,4,7,13,1,80,2,0,103,4,119,4,170,170,10,13,1,80,15,13,1,80,2,0,111,4,129,4,170,170,194,195,0,96,18,13,1,144,1,0,103,4,230,178,0,32,1,0,103,4,29,13,1,80,2,0,111,4,129,4,170,170,194,195,0,96,32,13,1,144,1,0,103,4,238,178,0,32,2,0,103,4,119,4,170,170,36,13,1,80,39,13,1,80,1,0,103,4,42,13,1,80,2,0,103,4,119,4,170,170,45,13,1,80,48,13,1,80,1,0,103,4,51,13,1,80,1,0,103,4,54,13,1,80,2,0,103,4,119,4,170,170,57,13,1,80,60,13,1,80,2,0,103,4,119,4,170,170,63,13,1,80,66,13,1,80,1,0,103,4,71,13,1,80,1,0,111,4,77,13,1,144,2,0,103,4,119,4,170,170,74,13,1,80,12,179,0,32,1,0,103,4,80,13,1,80,1,0,111,4,83,13,1,144,2,0,103,4,119,4,170,170,20,179,0,32,86,13,1,80,1,0,103,4,89,13,1,80,1,0,129,4,95,13,1,144,2,0,103,4,119,4,170,170,92,13,1,80,28,179,0,32,2,0,103,4,119,4,170,170,98,13,1,80,101,13,1,80,1,0,103,4,104,13,1,80,1,0,103,4,107,13,1,80,2,0,103,4,119,4,170,170,110,13,1,80,113,13,1,80,1,0,103,4,116,13,1,80,1,0,103,4,119,13,1,80,2,0,103,4,119,4,170,170,124,13,1,80,127,13,1,80,2,0,111,4,129,4,170,170,194,195,0,96,130,13,1,144,2,0,103,4,119,4,170,170,54,179,0,32,133,13,1,80,1,0,103,4,138,13,1,80,1,0,103,4,141,13,1,80,2,0,103,4,119,4,170,170,144,13,1,80,147,13,1,80,1,0,103,4,150,13,1,80,2,0,111,4,129,4,170,170,202,195,0,96,153,13,1,144,1,0,129,4,159,13,1,144,2,0,103,4,119,4,170,170,72,179,0,32,76,179,0,32,1,0,103,4,169,13,1,80,1,0,103,4,172,13,1,80,1,0,103,4,175,13,1,80,1,0,103,4,178,13,1,80,1,0,103,4,183,13,1,80,1,0,103,4,186,13,1,80,2,0,111,4,129,4,170,170,189,13,1,144,121,105,0,96,1,0,119,4,94,179,0,32,1,0,103,4,195,13,1,80,1,0,103,4,198,13,1,80,2,0,103,4,119,4,170,170,201,13,1,80,204,13,1,80,1,0,111,4,207,13,1,144,1,0,119,4,108,179,0,32,1,0,103,4,210,13,1,80,2,0,103,4,119,4,170,170,213,13,1,80,216,13,1,80,2,0,111,4,129,4,170,170,222,13,1,144,121,105,0,96,2,0,103,4,119,4,170,170,219,13,1,80,118,179,0,32,1,0,119,4,227,13,1,80,1,0,103,4,230,13,1,80,1,0,103,4,233,13,1,80,2,0,103,4,119,4,170,170,236,13,1,80,239,13,1,80,2,0,103,4,119,4,170,170,242,13,1,80,245,13,1,80,1,0,103,4,248,13,1,80,2,0,103,4,119,4,170,170,251,13,1,80,254,13,1,80,1,0,103,4,1,14,1,80,1,0,111,4,4,14,1,144,2,0,111,4,129,4,170,170,7,14,1,144,10,14,1,144,2,0,103,4,119,4,170,170,148,179,0,32,150,179,0,32,1,0,103,4,13,14,1,80,2,0,103,4,119,4,170,170,16,14,1,80,19,14,1,80,2,0,103,4,119,4,170,170,22,14,1,80,25,14,1,80,1,0,103,4,30,14,1,80,2,0,103,4,119,4,170,170,33,14,1,80,36,14,1,80,2,0,103,4,119,4,170,170,39,14,1,80,42,14,1,80,1,0,103,4,45,14,1,80,1,0,119,4,48,14,1,80,1,0,103,4,51,14,1,80,1,0,103,4,54,14,1,80,1,0,111,4,59,14,1,144,1,0,119,4,186,179,0,32,1,0,103,4,62,14,1,80,1,0,111,4,65,14,1,144,2,0,103,4,119,4,170,170,192,179,0,32,69,14,1,80,2,0,103,4,119,4,170,170,72,14,1,80,75,14,1,80,1,0,103,4,78,14,1,80,2,0,103,4,119,4,170,170,83,14,1,80,86,14,1,80,1,0,129,4,94,14,1,144,2,0,103,4,119,4,170,170,89,14,1,80,208,179,0,32,2,0,103,4,119,4,170,170,97,14,1,80,100,14,1,80,2,0,103,4,119,4,170,170,103,14,1,80,108,14,1,80,1,0,103,4,111,14,1,80,1,0,103,4,114,14,1,80,2,0,111,4,129,4,170,170,194,195,0,96,117,14,1,144,1,0,103,4,226,179,0,32,1,0,103,4,120,14,1,80,1,0,103,4,123,14,1,80,1,0,103,4,126,14,1,80,1,0,119,4,129,14,1,80,2,0,103,4,119,4,170,170,132,14,1,80,135,14,1,80,1,0,103,4,138,14,1,80,1,0,119,4,143,14,1,80,2,0,103,4,119,4,170,170,146,14,1,80,149,14,1,80,2,0,111,4,129,4,170,170,157,14,1,144,160,14,1,144,2,0,103,4,119,4,170,170,152,14,1,80,252,179,0,32,2,0,103,4,119,4,170,170,163,14,1,80,166,14,1,80,2,0,111,4,129,4,170,170,194,195,0,96,169,14,1,144,2,0,111,4,129,4,170,170,144,44,0,96,172,14,1,144,2,0,103,4,119,4,170,170,8,180,0,32,12,180,0,32,2,0,111,4,129,4,170,170,175,14,1,144,178,14,1,144,1,0,103,4,20,180,0,32,2,0,103,4,119,4,170,170,183,14,1,80,186,14,1,80,2,0,103,4,119,4,170,170,189,14,1,80,192,14,1,80,2,0,103,4,119,4,170,170,195,14,1,80,198,14,1,80,1,0,103,4,201,14,1,80,2,0,103,4,119,4,170,170,204,14,1,80,209,14,1,80,1,0,103,4,212,14,1,80,2,0,103,4,119,4,170,170,215,14,1,80,220,14,1,80,1,0,103,4,223,14,1,80,2,0,103,4,119,4,170,170,226,14,1,80,229,14,1,80,2,0,103,4,119,4,170,170,234,14,1,80,237,14,1,80,2,0,103,4,119,4,170,170,240,14,1,80,243,14,1,80,2,0,111,4,129,4,170,170,194,195,0,96,248,14,1,144,1,0,103,4,64,180,0,32,2,0,111,4,129,4,170,170,194,195,0,96,252,14,1,144,2,0,103,4,119,4,170,170,70,180,0,32,0,15,1,80,2,0,103,4,119,4,170,170,3,15,1,80,6,15,1,80,1,0,103,4,11,15,1,80,2,0,103,4,119,4,170,170,14,15,1,80,17,15,1,80,1,0,103,4,20,15,1,80,1,0,103,4,23,15,1,80,2,0,103,4,119,4,170,170,26,15,1,80,29,15,1,80,1,0,119,4,34,15,1,80,1,0,103,4,37,15,1,80,2,0,111,4,129,4,170,170,98,196,0,96,40,15,1,144,1,0,129,4,43,15,1,144,2,0,103,4,119,4,170,170,100,180,0,32,104,180,0,32,1,0,103,4,47,15,1,80,2,0,103,4,119,4,170,170,50,15,1,80,53,15,1,80,2,0,103,4,119,4,170,170,56,15,1,80,59,15,1,80,2,0,103,4,119,4,170,170,62,15,1,80,65,15,1,80,1,0,103,4,68,15,1,80,2,0,103,4,119,4,170,170,71,15,1,80,74,15,1,80,1,0,103,4,77,15,1,80,2,0,103,4,119,4,170,170,80,15,1,80,83,15,1,80,2,0,103,4,119,4,170,170,86,15,1,80,89,15,1,80,2,0,103,4,119,4,170,170,92,15,1,80,95,15,1,80,1,0,103,4,98,15,1,80,1,0,103,4,101,15,1,80,2,0,111,4,129,4,170,170,106,15,1,144,94,0,0,96,1,0,103,4,148,180,0,32,1,0,103,4,110,15,1,80,1,0,103,4,115,15,1,80,1,0,103,4,118,15,1,80,1,0,103,4,121,15,1,80,2,0,103,4,119,4,170,170,124,15,1,80,129,15,1,80,2,0,103,4,119,4,170,170,132,15,1,80,135,15,1,80,2,0,103,4,119,4,170,170,138,15,1,80,141,15,1,80,2,0,111,4,129,4,170,170,144,15,1,144,36,2,0,96,1,0,129,4,148,15,1,144,2,0,103,4,119,4,170,170,174,180,0,32,178,180,0,32,1,0,103,4,151,15,1,80,1,0,111,4,156,15,1,144,1,0,103,4,186,180,0,32,1,0,103,4,159,15,1,80,1,0,103,4,162,15,1,80,1,0,111,4,165,15,1,144,2,0,103,4,119,4,170,170,194,180,0,32,169,15,1,80,2,0,103,4,119,4,170,170,172,15,1,80,175,15,1,80,2,0,103,4,119,4,170,170,178,15,1,80,183,15,1,80,1,0,119,4,186,15,1,80,1,0,103,4,189,15,1,80,1,0,103,4,194,15,1,80,1,0,119,4,197,15,1,80,1,0,103,4,200,15,1,80,2,0,111,4,129,4,170,170,194,195,0,96,205,15,1,144,2,0,103,4,119,4,170,170,218,180,0,32,208,15,1,80,2,0,103,4,119,4,170,170,213,15,1,80,216,15,1,80,1,0,103,4,219,15,1,80,1,0,103,4,222,15,1,80,1,0,129,4,228,15,1,144,2,0,103,4,119,4,170,170,225,15,1,80,234,180,0,32,1,0,103,4,231,15,1,80,2,0,103,4,119,4,170,170,234,15,1,80,237,15,1,80,1,0,103,4,240,15,1,80,1,0,103,4,243,15,1,80,2,0,103,4,119,4,170,170,246,15,1,80,249,15,1,80,1,0,103,4,252,15,1,80,2,0,103,4,119,4,170,170,255,15,1,80,2,16,1,80,1,0,111,4,5,16,1,144,2,0,103,4,119,4,170,170,4,181,0,32,8,16,1,80,2,0,103,4,119,4,170,170,11,16,1,80,14,16,1,80,1,0,103,4,17,16,1,80,1,0,103,4,22,16,1,80,1,0,103,4,25,16,1,80,2,0,103,4,119,4,170,170,30,16,1,80,33,16,1,80,2,0,111,4,129,4,170,170,36,16,1,144,72,1,0,96,1,0,103,4,24,181,0,32,1,0,103,4,39,16,1,80,2,0,103,4,119,4,170,170,42,16,1,80,45,16,1,80,1,0,111,4,50,16,1,144,2,0,103,4,119,4,170,170,36,181,0,32,53,16,1,80,1,0,119,4,58,16,1,80,2,0,103,4,119,4,170,170,61,16,1,80,66,16,1,80,1,0,103,4,69,16,1,80,2,0,103,4,119,4,170,170,72,16,1,80,75,16,1,80,1,0,129,4,78,16,1,144,1,0,119,4,54,181,0,32,1,0,111,4,84,16,1,144,2,0,103,4,119,4,170,170,58,181,0,32,87,16,1,80,1,0,111,4,90,16,1,144,1,0,103,4,64,181,0,32,1,0,129,4,98,16,1,144,2,0,103,4,119,4,170,170,93,16,1,80,68,181,0,32,2,0,111,4,129,4,170,170,101,16,1,144,97,0,0,96,2,0,103,4,119,4,170,170,74,181,0,32,105,16,1,80,1,0,111,4,108,16,1,144,1,0,103,4,82,181,0,32,2,0,103,4,119,4,170,170,111,16,1,80,114,16,1,80,1,0,129,4,120,16,1,144,2,0,103,4,119,4,170,170,117,16,1,80,90,181,0,32,1,0,103,4,126,16,1,80,2,0,103,4,119,4,170,170,129,16,1,80,134,16,1,80,1,0,103,4,139,16,1,80,2,0,103,4,119,4,170,170,142,16,1,80,145,16,1,80,2,0,103,4,119,4,170,170,148,16,1,80,151,16,1,80,2,0,103,4,119,4,170,170,154,16,1,80,157,16,1,80,1,0,119,4,160,16,1,80,1,0,119,4,163,16,1,80,1,0,103,4,166,16,1,80,1,0,103,4,169,16,1,80,1,0,103,4,172,16,1,80,1,0,103,4,175,16,1,80,2,0,103,4,119,4,170,170,178,16,1,80,181,16,1,80,2,0,103,4,119,4,170,170,184,16,1,80,187,16,1,80,1,0,103,4,190,16,1,80,1,0,103,4,193,16,1,80,2,0,103,4,119,4,170,170,196,16,1,80,199,16,1,80,2,0,103,4,119,4,170,170,202,16,1,80,205,16,1,80,2,0,103,4,119,4,170,170,208,16,1,80,211,16,1,80,1,0,103,4,214,16,1,80,2,0,103,4,119,4,170,170,219,16,1,80,224,16,1,80,2,0,103,4,119,4,170,170,227,16,1,80,230,16,1,80,2,0,103,4,119,4,170,170,233,16,1,80,236,16,1,80,1,0,103,4,239,16,1,80,1,0,103,4,242,16,1,80,1,0,119,4,245,16,1,80,2,0,103,4,119,4,170,170,248,16,1,80,251,16,1,80,1,0,119,4,254,16,1,80,1,0,119,4,1,17,1,80,1,0,103,4,4,17,1,80,1,0,119,4,7,17,1,80,1,0,119,4,10,17,1,80,1,0,119,4,13,17,1,80,2,0,103,4,119,4,170,170,16,17,1,80,19,17,1,80,2,0,103,4,119,4,170,170,22,17,1,80,25,17,1,80,1,0,119,4,28,17,1,80,1,0,119,4,31,17,1,80,1,0,103,4,34,17,1,80,1,0,111,4,37,17,1,144,1,0,119,4,202,181,0,32,1,0,103,4,40,17,1,80,1,0,103,4,43,17,1,80,1,0,103,4,46,17,1,80,1,0,103,4,49,17,1,80,1,0,103,4,52,17,1,80,1,0,103,4,55,17,1,80,1,0,103,4,60,17,1,80,1,0,103,4,63,17,1,80,1,0,103,4,66,17,1,80,1,0,111,4,69,17,1,144,1,0,129,4,72,17,1,144,2,0,103,4,119,4,170,170,224,181,0,32,226,181,0,32,2,0,103,4,119,4,170,170,75,17,1,80,78,17,1,80,1,0,103,4,83,17,1,80,1,0,103,4,86,17,1,80,1,0,103,4,89,17,1,80,1,0,103,4,94,17,1,80,1,0,119,4,97,17,1,80,2,0,103,4,119,4,170,170,100,17,1,80,103,17,1,80,2,0,111,4,129,4,170,170,106,17,1,144,109,17,1,144,2,0,111,4,129,4,170,170,115,17,1,144,118,17,1,144,2,0,103,4,119,4,170,170,250,181,0,32,254,181,0,32,1,0,103,4,124,17,1,80,2,0,103,4,119,4,170,170,127,17,1,80,130,17,1,80,1,0,103,4,133,17,1,80,2,0,103,4,119,4,170,170,136,17,1,80,139,17,1,80,23,3,94,8,201,12,141,4,145,4,149,4,153,4,157,4,161,4,181,13,165,4,251,11,169,4,173,4,177,4,234,9,181,4,185,4,189,4,193,4,197,4,3,12,201,4,158,18,205,4,209,4,213,4,217,4,185,13,221,4,225,4,229,4,233,4,237,4,241,4,245,4,107,4,249,4,189,13,253,4,1,5,5,5,32,14,9,5,13,5,84,7,19,12,35,8,17,5,21,5,25,5,29,5,33,5,37,5,41,5,45,5,49,5,88,9,53,5,57,5,61,5,65,5,69,5,73,5,77,5,81,5,85,5,88,5,92,5,96,5,100,5,104,5,108,5,112,5,115,5,119,5,123,5,127,5,131,5,135,5,139,5,194,0,143,5,92,7,147,5,151,5,214,23,154,5,158,5,162,5,201,13,166,5,170,5,174,5,178,5,181,5,185,5,189,5,193,5,197,5,201,5,205,5,209,5,213,5,217,5,221,5,225,5,229,5,122,8,233,5,237,5,241,5,245,5,249,5,179,24,253,5,1,6,164,10,5,6,9,6,13,6,17,6,21,6,25,6,29,6,33,6,37,6,41,6,45,6,49,6,53,6,57,6,31,12,61,6,65,6,225,13,69,6,73,6,77,6,81,6,85,6,89,6,93,6,35,12,97,6,101,6,105,6,109,6,112,6,213,12,106,17,115,6,119,6,123,6,127,6,103,13,131,6,135,6,139,6,143,6,147,6,151,6,155,6,159,6,163,6,167,6,171,6,175,6,179,6,183,6,187,6,190,6,194,6,198,6,201,6,47,12,205,6,209,6,213,6,217,6,221,6,63,12,68,14,225,6,229,12,67,12,229,6,237,12,233,6,199,19,237,6,241,6,245,6,22,10,249,6,253,6,1,7,4,7,206,6,8,7,12,7,16,7,20,7,22,22,23,7,150,8,27,7,31,7,35,7,39,7,43,7,47,7,51,7,55,7,59,7,63,7,67,7,154,8,111,13,71,7,75,7,79,7,83,7,87,7,91,7,95,7,99,7,103,7,106,7,110,7,114,7,118,7,180,10,122,7,126,7,130,7,115,21,134,7,138,7,142,7,146,7,150,7,154,7,158,7,162,7,166,7,170,7,174,7,177,7,181,7,185,7,189,7,193,7,196,7,200,7,169,8,204,7,208,7,13,23,212,7,184,10,75,12,216,7,220,7,224,7,228,7,232,7,236,7,240,7,244,7,248,7,252,7,18,6,0,8,4,8,8,8,252,12,12,8,16,8,237,20,20,8,23,8,27,8,30,6,31,8,175,11,34,8,38,8,83,12,42,8,3,13,174,4,116,5,46,8,50,8,54,8,93,11,87,4,200,10,58,8,38,6,62,8,66,8,70,8,74,8,78,8,82,8,86,8,90,8,26,11,93,8,97,8,101,8,105,8,109,8,113,8,117,8,121,8,125,8,129,8,133,8,137,8,141,8,145,8,149,8,153,8,157,8,160,8,164,8,168,8,172,8,176,8,180,8,184,8,188,8,136,9,192,8,205,8,196,8,200,8,182,4,204,8,129,20,208,8,98,21,212,8,216,8,219,8,97,11,223,8,227,8,231,8,235,8,239,8,11,13,243,8,247,8,251,8,255,8,3,9,7,9,10,9,14,9,18,9,134,20,22,9,26,9,30,9,33,9,37,9,41,9,44,9,48,9,52,9,222,6,56,9,195,0,60,9,64,9,68,9,72,9,76,9,80,9,84,9,87,9,91,9,95,9,99,9,103,9,107,9,140,17,115,13,111,9,115,9,119,9,123,9,127,9,131,9,135,9,139,9,143,9,147,9,209,8,51,8,151,9,155,9,159,9,187,15,163,9,167,9,170,9,174,9,178,9,182,9,186,9,190,9,194,9,198,9,202,9,205,9,209,9,213,9,217,9,221,9,225,9,229,9,233,9,237,9,241,9,245,9,249,9,253,9,1,10,5,10,9,10,13,10,17,10,21,10,25,10,29,10,208,10,33,10,37,10,41,10,45,10,27,13,76,14,154,0,49,10,53,10,75,8,56,10,244,13,60,10,64,10,68,10,72,10,76,10,80,10,84,10,248,13,88,10,92,10,96,10,115,12,199,11,100,10,104,10,108,10,112,10,116,10,120,10,124,10,128,10,132,10,136,10,139,10,143,10,147,10,151,10,252,13,155,10,159,10,51,19,104,19,163,10,123,13,167,10,171,10,241,7,175,10,207,11,179,10,183,10,187,10,191,10,195,10,199,10,203,10,120,19,207,10,83,20,211,10,253,7,215,10,219,10,223,10,227,10,231,10,235,10,0,14,239,10,243,10,247,10,251,10,254,10,2,11,5,11,9,11,13,11,17,11,9,3,5,8,21,11,25,11,219,11,58,19,85,10,29,11,33,11,37,11,41,11,44,11,48,11,52,11,56,11,60,11,64,11,68,11,72,11,76,11,80,11,84,11,88,11,43,13,92,11,96,11,100,11,103,11,107,11,111,11,115,11,119,11,123,11,127,11,66,6,70,4,131,11,135,11,138,11,142,11,146,11,150,11,154,11,158,11,162,11,166,11,170,11,174,11,178,11,182,11,186,11,32,7,190,11,194,11,198,11,202,11,138,12,206,11,173,13,210,11,214,11,218,11,222,11,47,13,226,11,230,11,234,11,55,13,238,11,242,11,12,14,246,11,250,11,254,11,2,12,6,12,167,18,10,12,14,12,18,12,22,12,34,11,26,12,187,18,30,12,34,12,59,13,38,12,42,12,34,4,46,12,50,12,54,12,58,12,62,12,66,12,63,13,202,18,70,12,74,12,78,12,67,13,82,12,240,10,86,12,178,19,90,12,94,12,183,19,98,12,102,12,106,12,110,12,114,12,17,8,118,12,122,12,244,10,126,12,130,12,16,14,133,12,137,12,141,12,145,12,186,5,149,12,198,15,153,12,230,6,157,12,161,12,165,12,171,7,168,12,172,12,176,12,180,12,184,12,188,12,192,12,196,12,154,20,200,12,204,12,208,12,212,12,216,12,220,12,224,12,159,20,68,0,228,12,232,12,236,12,164,9,240,12,243,12,247,12,251,12,255,12,2,13,6,13,38,11,128,20,10,13,14,13,18,13,22,13,26,13,207,23,30,13,190,5,34,13,38,13,42,13,101,10,46,13,50,13,54,13,79,13,58,13,62,13,66,13,70,13,83,13,74,13,78,13,82,13,86,13,168,20,90,13,233,3,94,13,98,13,102,13,106,13,231,11,110,13,158,12,114,13,118,13,122,13,126,13,130,13,28,8,199,9,134,13,138,13,141,13,145,13,149,13,152,13,156,13,160,13,164,13,103,21,168,13,172,13,176,13,14,5,180,13,145,17,184,13,188,13,192,13,196,13,200,13,99,19,204,13,242,6,208,13,212,13,216,13,220,13,224,13,228,13,231,13,235,13,239,13,243,13,247,13,251,13,255,13,3,14,7,14,11,14,15,14,19,14,23,14,27,14,31,14,35,14,185,12,14,11,39,14,234,22,43,14,47,14,87,14,51,14,55,14,59,14,63,14,67,14,71,14,210,9,75,14,79,14,82,14,86,14,224,171,0,32,228,171,0,32,232,171,0,32,234,171,0,32,238,171,0,32,242,171,0,32,246,171,0,32,248,171,0,32,252,171,0,32,254,171,0,32,4,172,0,32,8,172,0,32,10,172,0,32,16,172,0,32,18,172,0,32,22,172,0,32,24,172,0,32,26,172,0,32,28,172,0,32,32,172,0,32,34,172,0,32,36,172,0,32,38,172,0,32,40,172,0,32,42,172,0,32,44,172,0,32,46,172,0,32,56,172,0,32,62,172,0,32,64,172,0,32,66,172,0,32,68,172,0,32,70,172,0,32,74,172,0,32,78,172,0,32,80,172,0,32,84,172,0,32,88,172,0,32,92,172,0,32,94,172,0,32,98,172,0,32,100,172,0,32,104,172,0,32,106,172,0,32,110,172,0,32,118,172,0,32,122,172,0,32,130,172,0,32,134,172,0,32,138,172,0,32,142,172,0,32,146,172,0,32,148,172,0,32,150,172,0,32,154,172,0,32,156,172,0,32,160,172,0,32,162,172,0,32,166,172,0,32,170,172,0,32,174,172,0,32,176,172,0,32,178,172,0,32,180,172,0,32,184,172,0,32,186,172,0,32,188,172,0,32,192,172,0,32,196,172,0,32,198,172,0,32,202,172,0,32,208,172,0,32,212,172,0,32,214,172,0,32,218,172,0,32,222,172,0,32,226,172,0,32,230,172,0,32,232,172,0,32,234,172,0,32,238,172,0,32,240,172,0,32,244,172,0,32,248,172,0,32,250,172,0,32,254,172,0,32,2,173,0,32,4,173,0,32,8,173,0,32,10,173,0,32,12,173,0,32,14,173,0,32,18,173,0,32,26,173,0,32,28,173,0,32,30,173,0,32,32,173,0,32,34,173,0,32,36,173,0,32,38,173,0,32,42,173,0,32,46,173,0,32,50,173,0,32,52,173,0,32,54,173,0,32,56,173,0,32,58,173,0,32,60,173,0,32,64,173,0,32,66,173,0,32,68,173,0,32,70,173,0,32,74,173,0,32,76,173,0,32,80,173,0,32,84,173,0,32,88,173,0,32,90,173,0,32,94,173,0,32,96,173,0,32,98,173,0,32,100,173,0,32,104,173,0,32,106,173,0,32,108,173,0,32,110,173,0,32,114,173,0,32,118,173,0,32,122,173,0,32,126,173,0,32,128,173,0,32,130,173,0,32,134,173,0,32,136,173,0,32,140,173,0,32,144,173,0,32,146,173,0,32,148,173,0,32,152,173,0,32,154,173,0,32,158,173,0,32,160,173,0,32,164,173,0,32,168,173,0,32,170,173,0,32,172,173,0,32,174,173,0,32,176,173,0,32,180,173,0,32,184,173,0,32,188,173,0,32,190,173,0,32,192,173,0,32,194,173,0,32,206,173,0,32,210,173,0,32,212,173,0,32,216,173,0,32,220,173,0,32,222,173,0,32,226,173,0,32,228,173,0,32,236,173,0,32,240,173,0,32,242,173,0,32,244,173,0,32,246,173,0,32,248,173,0,32,250,173,0,32,252,173,0,32,254,173,0,32,2,174,0,32,6,174,0,32,8,174,0,32,12,174,0,32,16,174,0,32,20,174,0,32,22,174,0,32,24,174,0,32,26,174,0,32,32,174,0,32,42,174,0,32,46,174,0,32,48,174,0,32,56,174,0,32,60,174,0,32,62,174,0,32,66,174,0,32,68,174,0,32,72,174,0,32,74,174,0,32,76,174,0,32,82,174,0,32,86,174,0,32,90,174,0,32,96,174,0,32,100,174,0,32,106,174,0,32,110,174,0,32,112,174,0,32,116,174,0,32,118,174,0,32,120,174,0,32,122,174,0,32,134,174,0,32,138,174,0,32,140,174,0,32,142,174,0,32,144,174,0,32,146,174,0,32,150,174,0,32,152,174,0,32,156,174,0,32,160,174,0,32,162,174,0,32,166,174,0,32,170,174,0,32,174,174,0,32,178,174,0,32,182,174,0,32,186,174,0,32,190,174,0,32,192,174,0,32,194,174,0,32,198,174,0,32,200,174,0,32,204,174,0,32,208,174,0,32,210,174,0,32,212,174,0,32,214,174,0,32,216,174,0,32,220,174,0,32,222,174,0,32,226,174,0,32,228,174,0,32,230,174,0,32,232,174,0,32,238,174,0,32,242,174,0,32,246,174,0,32,248,174,0,32,250,174,0,32,254,174,0,32,0,175,0,32,6,175,0,32,12,175,0,32,16,175,0,32,18,175,0,32,20,175,0,32,24,175,0,32,28,175,0,32,30,175,0,32,32,175,0,32,40,175,0,32,44,175,0,32,46,175,0,32,50,175,0,32,54,175,0,32,58,175,0,32,64,175,0,32,72,175,0,32,74,175,0,32,78,175,0,32,80,175,0,32,82,175,0,32,86,175,0,32,88,175,0,32,92,175,0,32,94,175,0,32,98,175,0,32,102,175,0,32,104,175,0,32,108,175,0,32,112,175,0,32,120,175,0,32,124,175,0,32,126,175,0,32,130,175,0,32,134,175,0,32,138,175,0,32,140,175,0,32,142,175,0,32,146,175,0,32,148,175,0,32,150,175,0,32,152,175,0,32,156,175,0,32,160,175,0,32,162,175,0,32,166,175,0,32,170,175,0,32,172,175,0,32,174,175,0,32,182,175,0,32,186,175,0,32,194,175,0,32,200,175,0,32,204,175,0,32,206,175,0,32,208,175,0,32,212,175,0,32,214,175,0,32,216,175,0,32,218,175,0,32,220,175,0,32,222,175,0,32,224,175,0,32,228,175,0,32,230,175,0,32,232,175,0,32,236,175,0,32,238,175,0,32,240,175,0,32,244,175,0,32,246,175,0,32,250,175,0,32,252,175,0,32,254,175,0,32,0,176,0,32,4,176,0,32,6,176,0,32,10,176,0,32,12,176,0,32,14,176,0,32,18,176,0,32,22,176,0,32,24,176,0,32,26,176,0,32,30,176,0,32,32,176,0,32,36,176,0,32,38,176,0,32,40,176,0,32,42,176,0,32,46,176,0,32,48,176,0,32,52,176,0,32,56,176,0,32,62,176,0,32,66,176,0,32,68,176,0,32,72,176,0,32,76,176,0,32,78,176,0,32,82,176,0,32,86,176,0,32,94,176,0,32,98,176,0,32,102,176,0,32,106,176,0,32,108,176,0,32,110,176,0,32,112,176,0,32,114,176,0,32,118,176,0,32,122,176,0,32,124,176,0,32,126,176,0,32,132,176,0,32,136,176,0,32,138,176,0,32,140,176,0,32,146,176,0,32,150,176,0,32,154,176,0,32,156,176,0,32,160,176,0,32,162,176,0,32,164,176,0,32,166,176,0,32,168,176,0,32,172,176,0,32,178,176,0,32,180,176,0,32,182,176,0,32,184,176,0,32,186,176,0,32,188,176,0,32,190,176,0,32,194,176,0,32,198,176,0,32,200,176,0,32,202,176,0,32,206,176,0,32,208,176,0,32,210,176,0,32,212,176,0,32,218,176,0,32,220,176,0,32,224,176,0,32,228,176,0,32,230,176,0,32,232,176,0,32,234,176,0,32,236,176,0,32,238,176,0,32,242,176,0,32,244,176,0,32,246,176,0,32,250,176,0,32,252,176,0,32,0,177,0,32,2,177,0,32,4,177,0,32,8,177,0,32,12,177,0,32,16,177,0,32,18,177,0,32,22,177,0,32,26,177,0,32,28,177,0,32,30,177,0,32,34,177,0,32,36,177,0,32,38,177,0,32,42,177,0,32,46,177,0,32,48,177,0,32,50,177,0,32,54,177,0,32,56,177,0,32,60,177,0,32,62,177,0,32,70,177,0,32,74,177,0,32,82,177,0,32,86,177,0,32,88,177,0,32,90,177,0,32,94,177,0,32,98,177,0,32,102,177,0,32,104,177,0,32,108,177,0,32,112,177,0,32,114,177,0,32,118,177,0,32,122,177,0,32,124,177,0,32,126,177,0,32,130,177,0,32,132,177,0,32,134,177,0,32,136,177,0,32,138,177,0,32,140,177,0,32,142,177,0,32,146,177,0,32,148,177,0,32,152,177,0,32,158,177,0,32,162,177,0,32,164,177,0,32,168,177,0,32,170,177,0,32,172,177,0,32,174,177,0,32,176,177,0,32,180,177,0,32,184,177,0,32,186,177,0,32,188,177,0,32,198,177,0,32,202,177,0,32,204,177,0,32,208,177,0,32,210,177,0,32,212,177,0,32,214,177,0,32,216,177,0,32,218,177,0,32,222,177,0,32,224,177,0,32,226,177,0,32,228,177,0,32,232,177,0,32,236,177,0,32,238,177,0,32,242,177,0,32,244,177,0,32,248,177,0,32,250,177,0,32,0,178,0,32,2,178,0,32,4,178,0,32,6,178,0,32,12,178,0,32,16,178,0,32,20,178,0,32,24,178,0,32,28,178,0,32,32,178,0,32,34,178,0,32,36,178,0,32,38,178,0,32,40,178,0,32,42,178,0,32,48,178,0,32,52,178,0,32,54,178,0,32,56,178,0,32,58,178,0,32,60,178,0,32,64,178,0,32,68,178,0,32,70,178,0,32,72,178,0,32,74,178,0,32,76,178,0,32,80,178,0,32,84,178,0,32,88,178,0,32,90,178,0,32,92,178,0,32,94,178,0,32,98,178,0,32,102,178,0,32,106,178,0,32,108,178,0,32,112,178,0,32,116,178,0,32,120,178,0,32,122,178,0,32,124,178,0,32,128,178,0,32,132,178,0,32,136,178,0,32,142,178,0,32,144,178,0,32,150,178,0,32,154,178,0,32,160,178,0,32,162,178,0,32,170,178,0,32,174,178,0,32,176,178,0,32,178,178,0,32,182,178,0,32,184,178,0,32,186,178,0,32,188,178,0,32,190,178,0,32,194,178,0,32,196,178,0,32,200,178,0,32,204,178,0,32,208,178,0,32,212,178,0,32,214,178,0,32,218,178,0,32,220,178,0,32,222,178,0,32,224,178,0,32,226,178,0,32,234,178,0,32,236,178,0,32,242,178,0,32,244,178,0,32,248,178,0,32,250,178,0,32,254,178,0,32,0,179,0,32,2,179,0,32,6,179,0,32,10,179,0,32,14,179,0,32,18,179,0,32,22,179,0,32,26,179,0,32,30,179,0,32,34,179,0,32,38,179,0,32,40,179,0,32,42,179,0,32,46,179,0,32,48,179,0,32,50,179,0,32,58,179,0,32,62,179,0,32,64,179,0,32,66,179,0,32,70,179,0,32,78,179,0,32,82,179,0,32,84,179,0,32,86,179,0,32,88,179,0,32,90,179,0,32,92,179,0,32,98,179,0,32,100,179,0,32,102,179,0,32,104,179,0,32,110,179,0,32,112,179,0,32,114,179,0,32,122,179,0,32,126,179,0,32,128,179,0,32,130,179,0,32,132,179,0,32,136,179,0,32,140,179,0,32,142,179,0,32,146,179,0,32,154,179,0,32,158,179,0,32,160,179,0,32,164,179,0,32,168,179,0,32,170,179,0,32,174,179,0,32,178,179,0,32,180,179,0,32,182,179,0,32,184,179,0,32,188,179,0,32,190,179,0,32,194,179,0,32,198,179,0,32,202,179,0,32,204,179,0,32,210,179,0,32,214,179,0,32,218,179,0,32,222,179,0,32,224,179,0,32,230,179,0,32,232,179,0,32,234,179,0,32,236,179,0,32,238,179,0,32,240,179,0,32,244,179,0,32,246,179,0,32,248,179,0,32,0,180,0,32,4,180,0,32,16,180,0,32,24,180,0,32,26,180,0,32,30,180,0,32,34,180,0,32,38,180,0,32,40,180,0,32,44,180,0,32,46,180,0,32,50,180,0,32,52,180,0,32,56,180,0,32,60,180,0,32,68,180,0,32,74,180,0,32,78,180,0,32,82,180,0,32,84,180,0,32,88,180,0,32,90,180,0,32,92,180,0,32,96,180,0,32,98,180,0,32,106,180,0,32,110,180,0,32,112,180,0,32,116,180,0,32,120,180,0,32,124,180,0,32,126,180,0,32,130,180,0,32,132,180,0,32,136,180,0,32,140,180,0,32,144,180,0,32,146,180,0,32,152,180,0,32,154,180,0,32,156,180,0,32,158,180,0,32,160,180,0,32,162,180,0,32,166,180,0,32,170,180,0,32,180,180,0,32,184,180,0,32,188,180,0,32,190,180,0,32,192,180,0,32,196,180,0,32,200,180,0,32,204,180,0,32,208,180,0,32,210,180,0,32,212,180,0,32,214,180,0,32,216,180,0,32,222,180,0,32,226,180,0,32,230,180,0,32,232,180,0,32,236,180,0,32,240,180,0,32,242,180,0,32,246,180,0,32,248,180,0,32,250,180,0,32,254,180,0,32,0,181,0,32,6,181,0,32,10,181,0,32,14,181,0,32,16,181,0,32,18,181,0,32,20,181,0,32,28,181,0,32,30,181,0,32,32,181,0,32,38,181,0,32,42,181,0,32,44,181,0,32,48,181,0,32,50,181,0,32,56,181,0,32,60,181,0,32,66,181,0,32,70,181,0,32,78,181,0,32,84,181,0,32,86,181,0,32,92,181,0,32,96,181,0,32,98,181,0,32,102,181,0,32,104,181,0,32,108,181,0,32,112,181,0,32,116,181,0,32,118,181,0,32,120,181,0,32,122,181,0,32,124,181,0,32,126,181,0,32,128,181,0,32,132,181,0,32,136,181,0,32,138,181,0,32,140,181,0,32,144,181,0,32,148,181,0,32,152,181,0,32,154,181,0,32,158,181,0,32,162,181,0,32,166,181,0,32,168,181,0,32,170,181,0,32,172,181,0,32,176,181,0,32,178,181,0,32,180,181,0,32,182,181,0,32,184,181,0,32,186,181,0,32,188,181,0,32,192,181,0,32,196,181,0,32,198,181,0,32,200,181,0,32,204,181,0,32,206,181,0,32,208,181,0,32,210,181,0,32,212,181,0,32,214,181,0,32,216,181,0,32,218,181,0,32,220,181,0,32,222,181,0,32,228,181,0,32,232,181,0,32,236,181,0,32,238,181,0,32,240,181,0,32,242,181,0,32,244,181,0,32,246,181,0,32,2,182,0,32,6,182,0,32,8,182,0,32,12,182,0,32,14,182,0,32,2,0,119,14,161,14,170,170,142,17,1,80,151,17,1,144,1,0,111,14,181,186,0,32,118,1,0,0,158,17,1,144,163,17,1,144,168,17,1,144,173,17,1,144,178,17,1,144,183,17,1,144,188,17,1,144,193,17,1,144,198,17,1,144,203,17,1,144,208,17,1,144,213,17,1,144,218,17,1,144,223,17,1,144,228,17,1,144,233,17,1,144,238,17,1,144,243,17,1,144,248,17,1,144,253,17,1,144,2,18,1,144,7,18,1,144,12,18,1,144,17,18,1,144,22,18,1,144,27,18,1,144,32,18,1,144,37,18,1,144,42,18,1,144,47,18,1,144,52,18,1,144,57,18,1,144,62,18,1,144,67,18,1,144,72,18,1,144,77,18,1,144,82,18,1,144,87,18,1,144,92,18,1,144,97,18,1,144,102,18,1,144,107,18,1,144,112,18,1,144,117,18,1,144,122,18,1,144,127,18,1,144,132,18,1,144,137,18,1,144,142,18,1,144,147,18,1,144,152,18,1,144,157,18,1,144,162,18,1,144,167,18,1,144,172,18,1,144,177,18,1,144,182,18,1,144,187,18,1,144,192,18,1,144,197,18,1,144,202,18,1,144,207,18,1,144,212,18,1,144,217,18,1,144,222,18,1,144,227,18,1,144,232,18,1,144,237,18,1,144,242,18,1,144,247,18,1,144,252,18,1,144,1,19,1,144,6,19,1,144,11,19,1,144,16,19,1,144,21,19,1,144,26,19,1,144,31,19,1,144,36,19,1,144,41,19,1,144,46,19,1,144,51,19,1,144,56,19,1,144,61,19,1,144,66,19,1,144,71,19,1,144,76,19,1,144,81,19,1,144,86,19,1,144,91,19,1,144,96,19,1,144,101,19,1,144,106,19,1,144,111,19,1,144,116,19,1,144,121,19,1,144,126,19,1,144,131,19,1,144,136,19,1,144,141,19,1,144,146,19,1,144,151,19,1,144,156,19,1,144,161,19,1,144,166,19,1,144,171,19,1,144,176,19,1,144,181,19,1,144,186,19,1,144,191,19,1,144,196,19,1,144,201,19,1,144,206,19,1,144,211,19,1,144,216,19,1,144,221,19,1,144,226,19,1,144,231,19,1,144,236,19,1,144,241,19,1,144,246,19,1,144,251,19,1,144,0,20,1,144,5,20,1,144,10,20,1,144,15,20,1,144,20,20,1,144,25,20,1,144,30,20,1,144,35,20,1,144,40,20,1,144,45,20,1,144,50,20,1,144,55,20,1,144,60,20,1,144,65,20,1,144,70,20,1,144,75,20,1,144,80,20,1,144,85,20,1,144,90,20,1,144,95,20,1,144,100,20,1,144,105,20,1,144,110,20,1,144,115,20,1,144,120,20,1,144,125,20,1,144,130,20,1,144,135,20,1,144,140,20,1,144,145,20,1,144,150,20,1,144,155,20,1,144,160,20,1,144,165,20,1,144,170,20,1,144,175,20,1,144,180,20,1,144,185,20,1,144,190,20,1,144,195,20,1,144,200,20,1,144,205,20,1,144,210,20,1,144,215,20,1,144,220,20,1,144,225,20,1,144,230,20,1,144,235,20,1,144,240,20,1,144,245,20,1,144,250,20,1,144,255,20,1,144,4,21,1,144,9,21,1,144,14,21,1,144,19,21,1,144,24,21,1,144,29,21,1,144,34,21,1,144,39,21,1,144,44,21,1,144,49,21,1,144,54,21,1,144,59,21,1,144,64,21,1,144,69,21,1,144,74,21,1,144,79,21,1,144,84,21,1,144,89,21,1,144,94,21,1,144,99,21,1,144,104,21,1,144,109,21,1,144,114,21,1,144,119,21,1,144,124,21,1,144,129,21,1,144,134,21,1,144,139,21,1,144,144,21,1,144,149,21,1,144,154,21,1,144,159,21,1,144,164,21,1,144,169,21,1,144,174,21,1,144,179,21,1,144,184,21,1,144,189,21,1,144,194,21,1,144,199,21,1,144,204,21,1,144,209,21,1,144,214,21,1,144,219,21,1,144,224,21,1,144,229,21,1,144,234,21,1,144,239,21,1,144,244,21,1,144,249,21,1,144,254,21,1,144,3,22,1,144,8,22,1,144,13,22,1,144,18,22,1,144,23,22,1,144,28,22,1,144,33,22,1,144,38,22,1,144,43,22,1,144,48,22,1,144,53,22,1,144,58,22,1,144,63,22,1,144,68,22,1,144,73,22,1,144,78,22,1,144,83,22,1,144,88,22,1,144,93,22,1,144,98,22,1,144,103,22,1,144,108,22,1,144,113,22,1,144,118,22,1,144,123,22,1,144,128,22,1,144,133,22,1,144,138,22,1,144,143,22,1,144,148,22,1,144,153,22,1,144,158,22,1,144,163,22,1,144,168,22,1,144,173,22,1,144,178,22,1,144,183,22,1,144,188,22,1,144,193,22,1,144,198,22,1,144,203,22,1,144,208,22,1,144,213,22,1,144,218,22,1,144,223,22,1,144,228,22,1,144,233,22,1,144,238,22,1,144,243,22,1,144,248,22,1,144,253,22,1,144,2,23,1,144,7,23,1,144,12,23,1,144,17,23,1,144,22,23,1,144,27,23,1,144,32,23,1,144,37,23,1,144,42,23,1,144,47,23,1,144,52,23,1,144,57,23,1,144,62,23,1,144,67,23,1,144,72,23,1,144,77,23,1,144,82,23,1,144,87,23,1,144,92,23,1,144,97,23,1,144,102,23,1,144,107,23,1,144,112,23,1,144,117,23,1,144,122,23,1,144,127,23,1,144,132,23,1,144,137,23,1,144,142,23,1,144,147,23,1,144,152,23,1,144,157,23,1,144,162,23,1,144,167,23,1,144,172,23,1,144,177,23,1,144,182,23,1,144,187,23,1,144,192,23,1,144,197,23,1,144,202,23,1,144,207,23,1,144,212,23,1,144,217,23,1,144,222,23,1,144,227,23,1,144,232,23,1,144,237,23,1,144,242,23,1,144,247,23,1,144,252,23,1,144,1,24,1,144,6,24,1,144,11,24,1,144,16,24,1,144,21,24,1,144,26,24,1,144,31,24,1,144,36,24,1,144,41,24,1,144,46,24,1,144,51,24,1,144,56,24,1,144,61,24,1,144,66,24,1,144,71,24,1,144,76,24,1,144,81,24,1,144,86,24,1,144,91,24,1,144,96,24,1,144,101,24,1,144,106,24,1,144,111,24,1,144,116,24,1,144,121,24,1,144,126,24,1,144,131,24,1,144,136,24,1,144,141,24,1,144,146,24,1,144,151,24,1,144,156,24,1,144,161,24,1,144,166,24,1,144,171,24,1,144,176,24,1,144,181,24,1,144,186,24,1,144,191,24,1,144,196,24,1,144,201,24,1,144,206,24,1,144,211,24,1,144,216,24,1,144,221,24,1,144,226,24,1,144,231,24,1,144,1,0,111,14,187,186,0,128,2,0,0,0,41,1,0,0,210,0,0,0,2,0,213,14,231,14,170,170,0,0,0,112,52,188,0,224,1,0,14,15,1,0,0,112,1,0,244,14,59,188,0,32,1,0,14,15,1,0,0,112,2,0,0,0,23,1,0,0,216,0,0,0,2,0,244,14,231,14,170,170,63,188,0,32,65,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,72,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,77,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,82,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,87,188,0,224,1,0,213,14,2,0,0,112,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,94,188,0,224,1,0,14,15,1,0,0,112,1,0,244,14,99,188,0,32,1,0,14,15,0,0,0,112,2,0,213,14,244,14,170,170,1,0,0,112,103,188,0,32,1,0,14,15,0,0,0,112,2,0,213,14,244,14,170,170,2,0,0,112,109,188,0,32,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,115,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,120,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,125,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,130,188,0,224,1,0,14,15,1,0,0,112,2,0,0,0,23,1,0,0,216,0,0,0,2,0,244,14,231,14,170,170,135,188,0,32,137,188,0,224,1,0,14,15,1,0,0,112,1,0,244,14,144,188,0,32,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,148,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,2,0,213,14,231,14,170,170,1,0,0,112,153,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,160,188,0,224,21,0,12,24,241,14,26,15,61,24,29,15,32,15,35,15,38,15,41,15,44,15,47,15,50,15,53,15,56,15,59,15,62,15,65,15,68,15,71,15,150,14,74,15,55,188,0,32,61,188,0,32,68,188,0,32,75,188,0,32,80,188,0,32,85,188,0,32,90,188,0,32,92,188,0,32,97,188,0,32,101,188,0,32,105,188,0,32,111,188,0,32,118,188,0,32,123,188,0,32,128,188,0,32,133,188,0,32,140,188,0,32,146,188,0,32,151,188,0,32,156,188,0,32,163,188,0,32,9,0,91,15,98,15,105,15,111,15,118,15,253,7,124,15,130,15,135,15,236,24,1,144,65,25,1,144,153,203,0,96,75,25,1,144,35,107,0,96,98,25,1,144,101,25,1,144,113,25,1,144,11,206,0,96,2,0,190,15,201,15,170,170,164,205,0,96,157,25,1,144,1,0,166,15,211,188,0,32,162,1,237,15,35,3,38,3,240,15,41,3,243,15,246,15,249,15,252,15,255,15,44,3,2,16,5,16,47,3,8,16,11,16,14,16,50,3,17,16,20,16,23,16,25,24,26,16,31,24,241,14,29,16,32,16,35,16,26,15,61,24,38,16,41,16,44,16,85,24,47,16,29,15,50,16,53,3,32,15,35,15,53,16,56,16,59,16,62,16,65,16,59,3,68,16,71,16,74,16,62,3,37,24,77,16,65,3,71,3,43,24,74,3,80,16,83,16,86,16,89,16,92,16,38,15,95,16,98,16,101,16,104,16,107,16,110,16,49,24,113,16,41,15,116,16,119,16,122,16,125,16,121,15,128,16,77,3,131,16,80,3,73,24,83,3,86,3,134,16,91,24,137,16,89,3,92,3,140,16,143,16,146,16,149,16,95,3,152,16,155,16,98,3,101,3,158,16,161,16,104,3,164,16,167,16,170,16,47,15,173,16,176,16,179,16,182,16,107,3,110,3,185,16,188,16,191,16,194,16,197,16,200,16,203,16,50,15,206,16,116,3,209,16,212,16,119,3,215,16,53,15,122,3,218,16,221,16,125,3,224,16,56,15,227,16,230,16,233,16,236,16,239,16,128,3,59,15,55,24,242,16,62,15,131,3,245,16,134,3,127,15,68,15,248,16,137,3,251,16,254,16,1,17,4,17,140,3,7,17,10,17,143,3,13,17,146,3,16,17,19,17,22,17,25,17,28,17,31,17,34,17,37,17,40,17,43,17,71,15,149,3,46,17,152,3,49,17,155,3,158,3,52,17,161,3,164,3,55,17,167,3,58,17,61,17,188,24,64,17,67,17,70,17,73,17,150,14,76,17,170,3,79,17,74,15,82,17,85,17,88,17,91,17,176,3,133,24,94,17,97,17,100,17,105,17,109,17,113,17,117,17,121,17,125,17,129,17,133,17,137,17,143,17,149,17,154,17,159,17,164,17,169,17,174,17,179,17,184,17,189,17,194,17,199,17,204,17,209,17,214,17,218,17,222,17,227,17,232,17,237,17,242,17,247,17,252,17,1,18,6,18,11,18,16,18,21,18,26,18,31,18,36,18,41,18,46,18,51,18,56,18,61,18,66,18,71,18,76,18,81,18,86,18,91,18,96,18,101,18,106,18,111,18,116,18,121,18,126,18,131,18,136,18,141,18,146,18,151,18,156,18,161,18,166,18,171,18,176,18,181,18,186,18,191,18,196,18,201,18,206,18,211,18,216,18,221,18,226,18,231,18,236,18,241,18,245,18,249,18,253,18,1,19,7,19,13,19,19,19,25,19,31,19,37,19,43,19,49,19,55,19,61,19,67,19,73,19,79,19,85,19,91,19,97,19,103,19,107,19,111,19,115,19,119,19,123,19,127,19,131,19,135,19,139,19,143,19,147,19,151,19,156,19,161,19,166,19,171,19,176,19,181,19,186,19,190,19,194,19,198,19,202,19,207,19,211,19,215,19,219,19,223,19,227,19,231,19,235,19,239,19,244,19,249,19,254,19,3,20,8,20,13,20,18,20,23,20,28,20,33,20,38,20,43,20,48,20,53,20,58,20,63,20,68,20,73,20,78,20,82,20,86,20,90,20,94,20,98,20,102,20,106,20,110,20,114,20,118,20,122,20,127,20,132,20,137,20,142,20,147,20,152,20,157,20,162,20,167,20,172,20,177,20,182,20,187,20,192,20,197,20,202,20,207,20,212,20,217,20,222,20,227,20,232,20,236,20,240,20,244,20,248,20,252,20,0,21,4,21,8,21,12,21,16,21,21,21,26,21,31,21,36,21,41,21,46,21,51,21,56,21,61,21,66,21,71,21,76,21,81,21,86,21,91,21,96,21,101,21,106,21,110,21,114,21,118,21,170,170,169,25,1,144,177,25,1,144,185,25,1,144,220,25,1,144,229,25,1,144,242,25,1,144,254,25,1,144,17,26,1,144,42,26,1,144,52,26,1,144,61,26,1,144,132,26,1,144,136,26,1,144,148,26,1,144,157,26,1,144,161,26,1,144,175,26,1,144,204,26,1,144,209,26,1,144,228,26,1,144,241,26,1,144,246,26,1,144,0,27,1,144,4,27,1,144,32,27,1,144,65,27,1,144,86,27,1,144,103,27,1,144,111,27,1,144,118,27,1,144,132,27,1,144,159,27,1,144,177,27,1,144,190,27,1,144,217,27,1,144,232,27,1,144,249,27,1,144,4,28,1,144,39,28,1,144,73,28,1,144,81,28,1,144,98,28,1,144,101,28,1,144,108,28,1,144,123,28,1,144,140,28,1,144,147,28,1,144,153,28,1,144,164,28,1,144,175,28,1,144,224,28,1,144,249,28,1,144,9,29,1,144,37,29,1,144,44,29,1,144,64,29,1,144,77,29,1,144,97,29,1,144,103,29,1,144,108,29,1,144,135,29,1,144,145,29,1,144,150,29,1,144,158,29,1,144,171,29,1,144,188,29,1,144,194,29,1,144,201,29,1,144,210,29,1,144,213,29,1,144,228,29,1,144,251,29,1,144,0,30,1,144,11,30,1,144,30,30,1,144,52,30,1,144,63,30,1,144,107,30,1,144,115,30,1,144,120,30,1,144,127,30,1,144,164,30,1,144,181,30,1,144,213,30,1,144,222,30,1,144,243,30,1,144,2,31,1,144,15,31,1,144,63,31,1,144,111,31,1,144,121,31,1,144,147,31,1,144,151,31,1,144,155,31,1,144,158,31,1,144,171,31,1,144,189,31,1,144,196,31,1,144,214,31,1,144,233,31,1,144,242,31,1,144,253,31,1,144,9,32,1,144,19,32,1,144,35,32,1,144,46,32,1,144,57,32,1,144,70,32,1,144,114,32,1,144,137,32,1,144,150,32,1,144,168,32,1,144,206,32,1,144,231,32,1,144,238,32,1,144,241,32,1,144,66,33,1,144,78,33,1,144,94,33,1,144,117,33,1,144,133,33,1,144,202,33,1,144,215,33,1,144,237,33,1,144,241,33,1,144,18,34,1,144,35,34,1,144,47,34,1,144,62,34,1,144,71,34,1,144,109,34,1,144,127,34,1,144,146,34,1,144,160,34,1,144,173,34,1,144,188,34,1,144,206,34,1,144,218,34,1,144,233,34,1,144,4,35,1,144,27,35,1,144,45,35,1,144,53,35,1,144,70,35,1,144,87,35,1,144,108,35,1,144,125,35,1,144,144,35,1,144,153,35,1,144,196,35,1,144,217,35,1,144,45,36,1,144,51,36,1,144,65,36,1,144,76,36,1,144,104,36,1,144,123,36,1,144,145,36,1,144,151,36,1,144,155,36,1,144,112,37,1,144,121,37,1,144,127,37,1,144,137,37,1,144,152,37,1,144,171,37,1,144,182,37,1,144,193,37,1,144,201,37,1,144,216,37,1,144,231,37,1,144,236,37,1,144,4,38,1,144,10,38,1,144,89,38,1,144,95,38,1,144,109,38,1,144,116,38,1,144,141,38,1,144,147,38,1,144,229,38,1,144,245,38,1,144,254,38,1,144,21,39,1,144,53,39,1,144,81,39,1,144,86,39,1,144,96,39,1,144,154,39,1,144,174,39,1,144,189,39,1,144,196,39,1,144,222,39,1,144,30,40,1,144,37,40,1,144,41,40,1,144,53,40,1,144,76,40,1,144,86,40,1,144,97,40,1,144,108,40,1,144,117,40,1,144,124,40,1,144,136,40,1,144,150,40,1,144,161,40,1,144,170,40,1,144,179,40,1,144,184,40,1,144,189,40,1,144,195,40,1,144,201,40,1,144,208,40,1,144,110,116,0,96,211,40,1,144,215,40,1,144,219,40,1,144,224,40,1,144,228,40,1,144,234,40,1,144,238,40,1,144,243,40,1,144,247,40,1,144,252,40,1,144,1,41,1,144,10,41,1,144,25,41,1,144,38,41,1,144,46,41,1,144,54,41,1,144,58,41,1,144,66,41,1,144,71,41,1,144,77,41,1,144,82,41,1,144,88,41,1,144,96,41,1,144,102,41,1,144,107,41,1,144,114,41,1,144,119,41,1,144,124,41,1,144,128,41,1,144,132,41,1,144,135,41,1,144,140,41,1,144,144,41,1,144,147,41,1,144,152,41,1,144,156,41,1,144,6,118,0,96,173,41,1,144,182,41,1,144,186,41,1,144,190,41,1,144,194,41,1,144,203,41,1,144,207,41,1,144,215,41,1,144,220,41,1,144,224,41,1,144,233,41,1,144,237,41,1,144,242,41,1,144,248,41,1,144,1,42,1,144,215,39,0,96,236,106,0,96,5,42,1,144,15,42,1,144,21,42,1,144,24,42,1,144,29,42,1,144,32,42,1,144,247,51,0,96,227,51,0,96,48,108,0,96,232,51,0,96,37,42,1,144,207,51,0,96,41,42,1,144,45,42,1,144,51,42,1,144,55,42,1,144,59,42,1,144,63,42,1,144,66,42,1,144,80,42,1,144,89,42,1,144,94,42,1,144,101,42,1,144,113,42,1,144,119,42,1,144,128,42,1,144,141,42,1,144,147,42,1,144,161,42,1,144,168,42,1,144,174,42,1,144,70,43,1,144,82,43,1,144,115,43,1,144,138,43,1,144,144,43,1,144,150,43,1,144,155,43,1,144,161,43,1,144,167,43,1,144,171,43,1,144,178,43,1,144,184,43,1,144,188,43,1,144,191,43,1,144,195,43,1,144,199,43,1,144,206,43,1,144,212,43,1,144,215,43,1,144,219,43,1,144,222,43,1,144,229,43,1,144,240,43,1,144,246,43,1,144,3,44,1,144,10,44,1,144,14,44,1,144,18,44,1,144,26,44,1,144,31,44,1,144,42,44,1,144,52,44,1,144,60,44,1,144,74,44,1,144,80,44,1,144,95,44,1,144,104,44,1,144,117,44,1,144,120,44,1,144,128,44,1,144,133,44,1,144,138,44,1,144,148,44,1,144,159,44,1,144,162,44,1,144,168,44,1,144,174,44,1,144,179,44,1,144,182,44,1,144,188,44,1,144,195,44,1,144,198,44,1,144,204,44,1,144,214,44,1,144,220,44,1,144,230,44,1,144,236,44,1,144,240,44,1,144,244,44,1,144,248,44,1,144,254,44,1,144,2,45,1,144,5,45,1,144,8,45,1,144,11,45,1,144,14,45,1,144,20,45,1,144,28,45,1,144,37,45,1,144,43,45,1,144,50,45,1,144,58,45,1,144,63,45,1,144,68,45,1,144,75,45,1,144,84,45,1,144,93,45,1,144,102,45,1,144,112,45,1,144,121,45,1,144,127,45,1,144,137,45,1,144,146,45,1,144,152,45,1,144,158,45,1,144,163,45,1,144,168,45,1,144,171,45,1,144,186,45,1,144,197,45,1,144,207,45,1,144,214,45,1,144,228,45,1,144,232,45,1,144,236,45,1,144,240,45,1,144,244,45,1,144,247,45,1,144,252,45,1,144,2,46,1,144,10,46,1,144,17,46,1,144,24,46,1,144,29,46,1,144,36,46,1,144,41,46,1,144,46,46,1,144,54,46,1,144,58,46,1,144,64,46,1,144,69,46,1,144,76,46,1,144,82,46,1,144,88,46,1,144,94,46,1,144,102,46,1,144,129,46,1,144,167,46,1,144,205,46,1,144,3,0,12,24,143,21,179,21,42,48,1,144,50,112,0,96,46,48,1,144,8,0,12,24,171,21,187,21,199,21,203,21,148,1,168,1,184,1,170,170,172,0,0,96,178,0,0,96,124,2,0,96,49,48,1,144,52,48,1,144,55,48,1,144,28,2,0,96,58,48,1,144,6,0,254,21,116,2,114,15,2,22,5,22,8,22,170,170,61,48,1,144,65,48,1,144,70,48,1,144,74,48,1,144,102,48,1,144,122,48,1,144,32,0,12,24,143,21,147,21,151,21,155,21,159,21,163,21,167,21,171,21,175,21,179,21,183,21,187,21,191,21,195,21,199,21,203,21,207,21,211,21,215,21,219,21,136,1,140,1,148,1,101,15,168,1,180,1,184,1,223,21,226,21,245,3,245,21,170,170,241,46,1,144,247,46,1,144,253,46,1,144,14,47,1,144,20,47,1,144,38,47,1,144,47,47,1,144,70,47,1,144,80,47,1,144,90,47,1,144,96,47,1,144,101,47,1,144,107,47,1,144,136,47,1,144,145,47,1,144,155,47,1,144,167,47,1,144,185,47,1,144,192,47,1,144,198,47,1,144,207,47,1,144,218,47,1,144,224,47,1,144,230,47,1,144,249,47,1,144,254,47,1,144,9,48,1,144,26,48,1,144,36,48,1,144,77,191,0,32,82,191,0,32,95,191,0,32,1,0,28,22,112,201,250,114,3,0,0,0,116,33,108,3,112,201,250,2,224,204,39,3,2,0,68,14,45,22,170,170,154,191,0,32,156,191,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,118,243,114,1,0,28,22,240,61,242,114,1,0,28,22,176,221,231,114,3,0,0,0,92,88,137,3,32,119,252,2,80,185,67,3,4,0,122,8,67,12,150,8,45,22,170,170,164,191,0,32,168,191,0,32,170,191,0,32,172,191,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,1,0,28,22,112,238,223,114,1,0,28,22,96,79,243,114,1,0,28,22,48,82,223,114,1,0,28,22,96,26,231,114,1,0,28,22,208,216,224,114,3,0,0,0,0,104,173,3,224,105,249,2,40,189,101,3,7,0,185,13,17,5,68,14,22,10,75,8,66,6,45,22,183,191,0,32,187,191,0,32,189,191,0,32,191,191,0,32,193,191,0,32,195,191,0,32,197,191,0,224,2,0,28,22,71,22,170,170,176,198,214,114,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,96,79,243,114,1,0,28,22,176,108,229,114,1,0,28,22,176,9,183,114,1,0,28,22,192,64,222,114,2,0,56,22,28,22,170,170,131,212,0,96,240,61,242,114,3,0,0,0,228,31,158,3,232,247,239,2,166,87,107,3,2,0,56,22,28,22,170,170,140,212,0,96,16,4,223,114,1,0,28,22,96,40,187,114,2,0,56,22,28,22,170,170,140,212,0,96,240,151,227,114,10,0,92,5,22,10,212,7,85,22,119,11,66,6,45,22,38,11,231,11,93,22,170,170,212,191,0,32,216,191,0,32,220,191,0,32,222,191,0,32,224,191,0,32,226,191,0,32,230,191,0,224,234,191,0,32,238,191,0,32,240,191,0,32,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,0,221,222,114,3,0,0,0,120,237,135,3,112,201,250,2,158,244,70,3,3,0,68,14,70,4,45,22,4,192,0,32,8,192,0,32,10,192,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,0,0,168,175,119,3,48,45,250,2,36,188,58,3,2,0,68,14,45,22,170,170,19,192,0,32,23,192,0,224,1,0,28,22,48,82,223,114,1,0,28,22,176,85,212,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,164,5,153,3,128,115,250,2,2,47,91,3,4,0,63,12,53,10,130,12,45,22,170,170,31,192,0,32,33,192,0,32,35,192,0,32,39,192,0,224,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,16,117,225,114,3,0,0,0,8,218,151,3,224,224,250,2,52,26,91,3,4,0,19,12,30,6,134,20,45,22,170,170,50,192,0,32,52,192,0,32,56,192,0,32,58,192,0,224,2,0,104,22,28,22,170,170,224,52,237,114,208,126,239,114,1,0,28,22,240,98,215,114,2,0,56,22,28,22,170,170,131,212,0,96,112,231,245,114,3,0,0,0,128,189,165,3,64,108,246,2,167,182,106,3,1,0,28,22,16,27,240,114,5,0,212,8,209,8,70,4,45,22,118,13,69,192,0,32,73,192,0,32,75,192,0,32,79,192,0,224,83,192,0,32,3,0,0,0,248,110,104,3,112,201,250,2,224,8,30,3,1,0,28,22,32,119,252,114,2,0,45,22,122,13,170,170,93,192,0,224,97,192,0,32,1,0,28,22,160,249,199,114,1,0,28,22,96,26,231,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,112,19,197,114,3,0,0,0,52,219,176,3,120,158,250,2,199,176,108,3,5,0,213,12,68,14,67,12,115,21,45,22,103,192,0,32,105,192,0,32,107,192,0,32,111,192,0,32,113,192,0,224,2,0,56,22,28,22,170,170,122,212,0,96,80,123,250,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,3,0,0,0,208,12,127,3,80,123,250,2,162,132,63,3,3,0,68,14,183,19,45,22,125,192,0,32,129,192,0,32,133,192,0,224,1,0,28,22,48,45,250,114,2,0,56,22,28,22,170,170,131,212,0,96,80,123,250,114,1,0,28,22,208,209,246,114,1,0,28,22,240,91,237,114,2,0,56,22,28,22,170,170,140,212,0,96,192,64,222,114,2,0,56,22,28,22,170,170,140,212,0,96,96,33,209,114,1,0,28,22,160,39,234,114,2,0,56,22,28,22,170,170,140,212,0,96,16,207,210,114,3,0,0,0,232,131,169,3,96,162,250,2,185,2,100,3,9,0,29,5,103,13,68,14,150,8,252,12,20,8,87,4,178,19,45,22,142,192,0,32,144,192,0,32,148,192,0,32,150,192,0,32,152,192,0,32,156,192,0,32,160,192,0,32,162,192,0,32,166,192,0,224,2,0,56,22,28,22,170,170,122,212,0,96,64,84,250,114,1,0,28,22,160,196,187,114,1,0,28,22,48,82,223,114,3,0,0,0,0,243,179,3,112,201,250,2,9,163,105,3,1,0,28,22,96,153,189,114,1,0,28,22,80,160,223,114,6,0,68,14,244,7,87,4,45,22,192,13,125,22,170,170,184,192,0,32,188,192,0,32,190,192,0,32,192,192,0,224,196,192,0,32,198,192,0,32,1,0,28,22,144,60,224,114,2,0,56,22,28,22,170,170,131,212,0,96,80,123,250,114,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,3,0,0,0,248,156,138,3,128,115,250,2,68,14,73,3,4,0,68,14,120,19,56,11,45,22,170,170,210,192,0,32,212,192,0,32,216,192,0,32,220,192,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,3,0,0,0,136,50,131,3,32,119,252,2,240,248,59,3,2,0,165,12,45,22,170,170,231,192,0,32,235,192,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,2,0,56,22,28,22,170,170,131,212,0,96,48,135,235,114,1,0,28,22,64,211,208,114,3,0,0,0,232,105,165,3,176,232,250,2,234,78,103,3,1,0,28,22,192,154,207,114,1,0,28,22,32,96,235,114,1,0,28,22,32,133,208,114,7,0,19,12,139,22,134,20,45,22,10,13,22,13,82,13,243,192,0,32,247,192,0,32,251,192,0,32,253,192,0,224,1,193,0,32,3,193,0,32,5,193,0,32,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,3,0,56,22,28,22,71,22,131,212,0,96,112,201,250,114,32,13,228,114,1,0,28,22,16,140,242,114,2,0,56,22,28,22,170,170,131,212,0,96,0,131,237,114,2,0,56,22,28,22,170,170,131,212,0,96,224,52,237,114,3,0,56,22,28,22,71,22,131,212,0,96,224,52,237,114,32,13,228,114,3,0,0,0,44,94,154,3,96,162,250,2,71,88,92,3,7,0,178,5,147,22,68,14,252,12,16,14,155,22,45,22,18,193,0,32,22,193,0,32,27,193,0,32,29,193,0,32,33,193,0,32,37,193,0,32,42,193,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,8,59,140,3,200,228,250,2,96,186,75,3,2,0,68,14,45,22,170,170,57,193,0,32,61,193,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,32,133,208,114,1,0,28,22,96,109,238,114,1,0,28,22,16,11,201,114,1,0,28,22,48,149,191,114,1,0,28,22,160,166,192,114,1,0,28,22,16,94,208,114,1,0,28,22,16,64,213,114,2,0,104,22,28,22,170,170,128,187,238,114,16,87,230,114,2,0,104,22,28,22,170,170,112,5,241,114,32,13,228,114,3,0,0,0,188,81,173,3,40,124,244,2,219,125,119,3,11,0,151,5,249,5,68,14,166,7,64,10,96,10,136,10,170,11,186,11,188,12,45,22,69,193,0,32,73,193,0,32,75,193,0,32,77,193,0,32,79,193,0,32,81,193,0,32,83,193,0,32,85,193,0,32,87,193,0,32,91,193,0,32,95,193,0,224,2,0,56,22,28,22,170,170,131,212,0,96,160,9,239,114,1,0,28,22,240,174,244,114,2,0,56,22,28,22,170,170,131,212,0,96,160,122,241,114,2,0,56,22,28,22,170,170,131,212,0,96,176,18,244,114,3,0,0,0,112,220,170,3,112,201,250,2,23,138,103,3,1,0,28,22,224,52,237,114,2,0,28,22,71,22,170,170,160,69,229,114,32,13,228,114,7,0,103,13,68,14,150,8,120,19,45,22,156,13,14,5,116,193,0,32,120,193,0,32,122,193,0,32,126,193,0,32,130,193,0,224,134,193,0,32,136,193,0,32,1,0,28,22,64,144,240,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,131,212,0,96,160,9,239,114,1,0,28,22,192,200,241,114,3,0,0,0,100,255,152,3,88,15,240,2,34,238,104,3,6,0,194,6,1,7,163,22,150,8,84,10,45,22,170,170,151,193,0,32,153,193,0,32,155,193,0,32,157,193,0,32,161,193,0,32,163,193,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,0,161,232,114,1,0,28,22,208,126,239,114,1,0,28,22,176,48,239,114,3,0,0,0,220,32,165,3,0,178,250,2,114,31,97,3,1,0,28,22,240,91,237,114,6,0,85,5,103,13,68,14,47,13,45,22,101,10,170,170,177,193,0,32,181,193,0,32,183,193,0,32,185,193,0,32,187,193,0,224,191,193,0,32,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,1,0,28,22,16,117,225,114,3,0,0,0,20,99,158,3,144,29,250,2,228,201,88,3,3,0,185,13,75,8,45,22,203,193,0,32,207,193,0,32,209,193,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,253,197,114,2,0,56,22,28,22,170,170,131,212,0,96,240,174,244,114,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,1,0,28,22,224,36,198,114,3,0,0,0,124,124,144,3,64,239,245,2,194,143,103,3,5,0,68,14,150,8,138,12,171,7,45,22,218,193,0,32,222,193,0,32,226,193,0,32,230,193,0,32,232,193,0,224,1,0,28,22,208,126,239,114,2,0,56,22,28,22,170,170,131,212,0,96,112,5,241,114,3,0,0,0,204,102,151,3,128,38,242,2,198,182,103,3,1,0,28,22,48,165,230,114,4,0,23,7,150,8,45,22,14,11,170,170,244,193,0,32,246,193,0,32,250,193,0,224,254,193,0,32,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,152,230,120,3,112,201,250,2,72,149,51,3,2,0,150,8,45,22,170,170,7,194,0,32,11,194,0,224,2,0,56,22,28,22,170,170,131,212,0,96,0,184,249,114,3,0,0,0,28,158,141,3,96,162,250,2,60,236,66,3,2,0,68,14,45,22,170,170,19,194,0,32,23,194,0,224,1,0,28,22,16,4,223,114,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,2,0,56,22,28,22,170,170,131,212,0,96,32,13,228,114,3,0,0,0,12,178,152,3,208,60,250,2,30,82,78,3,1,0,28,22,240,91,237,114,5,0,68,14,115,12,177,22,45,22,125,22,31,194,0,32,33,194,0,32,37,194,0,32,41,194,0,224,45,194,0,32,1,0,28,22,160,30,173,114,2,0,56,22,28,22,170,170,131,212,0,96,128,187,238,114,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,1,0,28,22,144,7,212,114,2,0,56,22,28,22,170,170,131,212,0,96,64,144,240,114,3,0,0,0,80,77,160,3,192,152,249,2,239,134,103,3,6,0,229,4,84,7,67,12,115,21,135,11,45,22,170,170,55,194,0,32,57,194,0,32,61,194,0,32,65,194,0,32,67,194,0,32,71,194,0,224,2,0,56,22,28,22,170,170,131,212,0,96,0,161,232,114,1,0,28,22,80,10,248,114,3,0,0,0,88,81,123,3,64,84,250,2,192,6,59,3,3,0,120,19,56,11,45,22,85,194,0,32,89,194,0,32,91,194,0,224,1,0,28,22,0,251,217,114,1,0,28,22,0,161,232,114,1,0,28,22,192,101,195,114,1,0,28,22,128,118,187,114,1,0,28,22,128,111,209,114,1,0,28,22,16,94,208,114,1,0,28,22,0,145,193,114,1,0,28,22,208,27,193,114,2,0,56,22,28,22,170,170,131,212,0,96,240,144,249,114,3,0,0,0,64,0,183,3,128,121,249,2,132,61,120,3,2,0,56,22,28,22,170,170,140,212,0,96,64,211,208,114,1,0,28,22,48,209,181,114,1,0,28,22,32,110,191,114,13,0,103,13,68,14,67,12,177,7,87,4,38,6,164,8,97,11,70,4,45,22,141,13,220,13,234,22,100,194,0,32,102,194,0,32,104,194,0,32,106,194,0,32,108,194,0,32,110,194,0,32,112,194,0,32,114,194,0,32,116,194,0,32,120,194,0,224,124,194,0,32,128,194,0,32,130,194,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,24,94,149,3,160,68,250,2,249,98,76,3,2,0,68,14,45,22,170,170,152,194,0,32,156,194,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,218,242,114,1,0,28,22,240,91,237,114,1,0,28,22,112,95,226,114,1,0,28,22,80,70,238,114,3,0,0,0,52,67,143,3,192,188,243,2,174,43,83,3,1,0,28,22,48,248,237,114,6,0,198,6,68,14,99,9,241,7,45,22,70,13,170,170,164,194,0,32,168,194,0,32,170,194,0,32,172,194,0,32,174,194,0,224,178,194,0,32,3,0,0,0,0,195,62,3,112,201,250,2,32,119,252,2,1,0,28,22,32,119,252,114,2,0,45,22,122,13,170,170,190,194,0,224,194,194,0,32,1,0,28,22,96,33,209,114,2,0,56,22,28,22,170,170,131,212,0,96,80,10,248,114,3,0,0,0,212,122,153,3,120,170,248,2,43,7,90,3,2,0,56,22,28,22,170,170,131,212,0,96,32,36,245,114,4,0,251,11,68,14,45,22,207,23,170,170,200,194,0,32,202,194,0,32,206,194,0,224,210,194,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,56,22,28,22,170,170,131,212,0,96,0,131,237,114,3,0,0,0,8,134,165,3,224,224,250,2,80,244,100,3,3,0,88,9,47,13,45,22,221,194,0,32,225,194,0,32,229,194,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,0,244,239,114,3,0,0,0,200,45,137,3,40,106,247,2,174,84,77,3,3,0,68,14,67,12,45,22,238,194,0,32,242,194,0,32,244,194,0,224,1,0,28,22,240,181,222,114,1,0,28,22,144,127,192,114,1,0,28,22,80,227,191,114,1,0,28,22,64,211,208,114,2,0,56,22,28,22,170,170,140,212,0,96,160,23,195,114,1,0,28,22,176,39,178,114,2,0,56,22,28,22,170,170,140,212,0,96,0,145,193,114,1,0,28,22,96,100,177,114,1,0,28,22,48,149,191,114,1,0,28,22,224,43,176,114,1,0,28,22,64,248,181,114,1,0,28,22,64,135,179,114,1,0,28,22,160,16,217,114,2,0,56,22,28,22,170,170,140,212,0,96,16,244,183,114,2,0,56,22,28,22,170,170,140,212,0,96,192,48,183,114,1,0,28,22,208,50,210,114,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,0,221,222,114,1,0,28,22,208,20,215,114,1,0,28,22,240,181,222,114,2,0,56,22,28,22,170,170,131,212,0,96,32,66,240,114,1,0,28,22,0,168,210,114,2,0,56,22,28,22,170,170,140,212,0,96,0,152,171,114,1,0,28,22,224,202,212,114,1,0,28,22,128,254,206,114,1,0,28,22,144,37,207,114,1,0,28,22,112,139,177,114,1,0,28,22,112,12,219,114,3,0,104,22,56,22,28,22,32,66,240,114,140,212,0,96,128,254,206,114,3,0,104,22,56,22,28,22,32,66,240,114,140,212,0,96,128,254,206,114,1,0,28,22,160,76,207,114,1,0,28,22,144,7,212,114,1,0,28,22,224,43,176,114,1,0,28,22,32,200,176,114,1,0,28,22,208,27,193,114,1,0,28,22,128,201,194,114,1,0,28,22,48,209,181,114,1,0,28,22,176,115,207,114,1,0,28,22,144,74,180,114,1,0,28,22,112,132,199,114,1,0,28,22,0,2,196,114,1,0,28,22,16,161,176,114,1,0,28,22,0,221,222,114,1,0,28,22,64,211,208,114,1,0,28,22,160,46,212,114,1,0,28,22,16,161,176,114,1,0,28,22,144,120,214,114,1,0,28,22,112,72,209,114,1,0,28,22,64,181,213,114,1,0,28,22,144,37,207,114,1,0,28,22,208,193,207,114,1,0,28,22,208,163,212,114,3,0,0,0,120,192,180,3,112,201,250,2,173,128,107,3,1,0,28,22,96,176,206,114,1,0,28,22,0,55,208,114,1,0,28,22,128,194,216,114,1,0,28,22,208,163,212,114,1,0,28,22,96,100,177,114,1,0,28,22,16,4,223,114,1,0,28,22,32,43,223,114,60,0,185,13,5,5,194,0,151,5,21,6,57,6,225,13,69,6,81,6,85,6,101,6,115,6,103,13,135,6,139,6,63,12,68,14,67,12,22,10,12,7,150,8,174,7,200,7,75,12,252,12,20,8,27,8,87,4,200,10,188,22,38,6,97,11,44,9,119,9,154,0,76,10,80,10,120,19,239,10,5,8,21,11,25,11,41,11,76,11,100,11,115,11,70,4,173,13,47,13,244,10,16,14,154,20,45,22,101,10,158,12,28,8,149,13,184,13,47,14,210,9,170,170,253,194,0,32,255,194,0,32,1,195,0,32,3,195,0,32,5,195,0,32,9,195,0,32,11,195,0,32,15,195,0,32,17,195,0,32,19,195,0,32,21,195,0,32,23,195,0,32,25,195,0,32,27,195,0,32,31,195,0,32,35,195,0,32,37,195,0,32,41,195,0,32,43,195,0,32,45,195,0,32,47,195,0,32,51,195,0,32,53,195,0,32,57,195,0,32,59,195,0,32,61,195,0,32,63,195,0,32,65,195,0,32,67,195,0,32,72,195,0,32,77,195,0,32,79,195,0,32,81,195,0,32,83,195,0,32,85,195,0,32,87,195,0,32,89,195,0,32,91,195,0,32,93,195,0,32,95,195,0,32,97,195,0,32,99,195,0,32,101,195,0,32,103,195,0,32,105,195,0,32,107,195,0,32,109,195,0,32,111,195,0,32,113,195,0,32,115,195,0,32,117,195,0,32,119,195,0,32,121,195,0,224,125,195,0,32,127,195,0,32,129,195,0,32,131,195,0,32,133,195,0,32,135,195,0,32,137,195,0,32,2,0,56,22,28,22,170,170,122,212,0,96,80,70,238,114,1,0,28,22,112,88,248,114,3,0,0,0,68,53,106,3,112,201,250,2,32,141,34,3,3,0,68,14,177,22,45,22,230,195,0,32,234,195,0,32,236,195,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,56,226,114,2,0,56,22,28,22,170,170,140,212,0,96,240,181,222,114,2,0,56,22,28,22,170,170,140,212,0,96,240,38,225,114,1,0,28,22,144,120,214,114,1,0,28,22,112,238,223,114,2,0,56,22,28,22,170,170,140,212,0,96,0,18,235,114,1,0,28,22,32,246,210,114,2,0,56,22,28,22,170,170,140,212,0,96,96,79,243,114,3,0,0,0,176,254,157,3,160,223,245,2,20,144,118,3,9,0,150,8,157,8,209,8,151,9,167,9,170,9,55,13,171,7,45,22,245,195,0,32,249,195,0,32,253,195,0,32,1,196,0,32,3,196,0,32,5,196,0,32,9,196,0,32,11,196,0,32,15,196,0,224,2,0,56,22,28,22,170,170,131,212,0,96,80,40,243,114,1,0,28,22,64,211,208,114,2,0,56,22,28,22,170,170,131,212,0,96,80,40,243,114,3,0,0,0,248,112,137,3,48,81,244,2,46,162,95,3,4,0,150,8,209,8,63,13,45,22,170,170,33,196,0,32,37,196,0,32,39,196,0,32,43,196,0,224,2,0,56,22,28,22,170,170,131,212,0,96,128,127,248,114,1,0,28,22,128,21,224,114,3,0,0,0,12,3,152,3,176,119,248,2,155,145,94,3,3,0,150,8,209,8,45,22,54,196,0,32,58,196,0,32,60,196,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,209,246,114,1,0,28,22,16,253,244,114,2,0,56,22,28,22,170,170,131,212,0,96,144,226,238,114,3,0,56,22,28,22,71,22,122,212,0,96,80,153,245,114,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,176,251,226,114,2,0,28,22,71,22,170,170,144,173,226,114,32,13,228,114,1,0,28,22,32,156,225,114,2,0,56,22,28,22,170,170,140,212,0,96,224,202,212,114,1,0,28,22,144,150,209,114,3,0,0,0,156,196,170,3,112,201,250,2,207,80,99,3,1,0,28,22,128,254,206,114,11,0,103,13,68,14,150,8,170,7,87,4,147,9,70,4,32,7,194,11,45,22,180,13,69,196,0,32,73,196,0,32,75,196,0,32,79,196,0,32,84,196,0,32,88,196,0,32,92,196,0,32,94,196,0,32,98,196,0,32,100,196,0,224,104,196,0,32,2,0,104,22,28,22,170,170,224,52,237,114,240,91,237,114,2,0,104,22,28,22,170,170,224,52,237,114,208,193,207,114,2,0,104,22,28,22,170,170,160,242,221,114,128,134,226,114,2,0,56,22,28,22,170,170,131,212,0,96,80,40,243,114,1,0,28,22,48,172,208,114,2,0,28,22,71,22,170,170,176,251,226,114,32,13,228,114,3,0,0,0,80,90,162,3,232,92,244,2,187,241,105,3,7,0,49,5,162,5,155,6,150,8,145,8,50,12,45,22,123,196,0,32,127,196,0,32,131,196,0,32,135,196,0,32,139,196,0,32,141,196,0,32,145,196,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,252,149,121,3,48,45,250,2,120,204,53,3,2,0,68,14,45,22,170,170,160,196,0,32,164,196,0,224,1,0,28,22,240,181,222,114,1,0,28,22,240,234,234,114,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,68,175,169,3,208,185,250,2,172,134,104,3,4,0,225,4,68,14,67,12,45,22,170,170,172,196,0,32,174,196,0,32,176,196,0,32,180,196,0,224,2,0,104,22,28,22,170,170,128,187,238,114,160,76,207,114,1,0,28,22,48,29,211,114,2,0,104,22,28,22,170,170,208,126,239,114,192,64,222,114,1,0,28,22,192,64,222,114,2,0,104,22,28,22,170,170,208,126,239,114,224,142,222,114,2,0,104,22,28,22,170,170,32,66,240,114,80,220,213,114,2,0,28,22,71,22,170,170,208,103,222,114,32,13,228,114,2,0,104,22,28,22,170,170,32,66,240,114,32,103,213,114,1,0,28,22,224,112,227,114,2,0,104,22,28,22,170,170,48,248,237,114,176,25,222,114,2,0,104,22,28,22,170,170,208,126,239,114,192,124,212,114,2,0,56,22,28,22,170,170,131,212,0,96,160,122,241,114,2,0,104,22,28,22,170,170,48,248,237,114,240,38,225,114,1,0,28,22,64,234,225,114,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,131,212,0,96,128,14,246,114,1,0,28,22,160,76,207,114,2,0,104,22,28,22,170,170,32,66,240,114,224,89,210,114,1,0,28,22,80,250,208,114,1,0,28,22,32,103,213,114,1,0,28,22,192,11,210,114,1,0,28,22,96,116,216,114,2,0,28,22,71,22,170,170,176,85,212,114,32,13,228,114,1,0,28,22,160,242,221,114,2,0,104,22,28,22,170,170,224,52,237,114,128,201,194,114,2,0,104,22,28,22,170,170,0,161,232,114,224,142,222,114,3,0,0,0,168,48,161,3,104,143,246,2,10,252,105,3,1,0,28,22,112,79,187,114,2,0,104,22,28,22,170,170,64,121,223,114,0,221,222,114,29,0,169,4,185,13,33,5,37,5,45,5,69,5,135,5,185,5,209,5,221,5,179,6,68,14,241,6,1,7,163,22,150,8,202,22,66,8,210,22,204,8,14,9,221,9,37,10,104,10,207,10,211,10,45,22,31,14,35,14,191,196,0,32,195,196,0,32,197,196,0,32,201,196,0,32,203,196,0,32,207,196,0,32,211,196,0,32,215,196,0,32,219,196,0,32,221,196,0,32,225,196,0,32,229,196,0,32,233,196,0,32,237,196,0,32,239,196,0,32,241,196,0,32,245,196,0,32,247,196,0,32,251,196,0,32,253,196,0,32,255,196,0,32,1,197,0,32,3,197,0,32,7,197,0,32,9,197,0,32,13,197,0,32,17,197,0,224,21,197,0,32,23,197,0,32,2,0,56,22,28,22,170,170,140,212,0,96,0,55,208,114,1,0,28,22,16,131,181,114,1,0,28,22,16,4,223,114,1,0,28,22,112,238,223,114,1,0,28,22,192,191,180,114,1,0,28,22,208,216,224,114,2,0,104,22,28,22,170,170,0,214,244,114,128,81,214,114,1,0,28,22,176,205,192,114,1,0,28,22,208,223,202,114,2,0,56,22,28,22,170,170,140,212,0,96,176,115,207,114,1,0,28,22,160,23,195,114,1,0,28,22,224,126,183,114,1,0,28,22,80,197,196,114,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,140,212,0,96,96,33,209,114,1,0,28,22,48,82,223,114,1,0,28,22,0,145,193,114,1,0,28,22,224,43,176,114,1,0,28,22,176,205,192,114,3,0,0,0,96,44,197,3,24,49,250,2,74,101,134,3,2,0,56,22,28,22,170,170,140,212,0,96,48,142,213,114,1,0,28,22,128,125,165,114,1,0,28,22,32,4,167,114,1,0,28,22,192,147,229,114,1,0,28,22,64,91,228,114,2,0,56,22,28,22,170,170,140,212,0,96,176,228,209,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,27,0,214,23,68,14,79,7,208,7,244,7,16,8,174,4,172,8,85,22,97,11,214,22,95,9,123,9,209,9,222,22,155,10,254,10,47,13,216,12,45,22,231,11,230,22,149,13,212,13,238,22,87,14,210,9,71,197,0,32,75,197,0,32,77,197,0,32,79,197,0,32,81,197,0,32,83,197,0,32,85,197,0,32,89,197,0,32,91,197,0,32,93,197,0,32,97,197,0,32,99,197,0,32,101,197,0,32,103,197,0,32,105,197,0,32,109,197,0,32,111,197,0,32,113,197,0,32,115,197,0,32,117,197,0,224,121,197,0,32,125,197,0,32,127,197,0,32,129,197,0,32,131,197,0,32,133,197,0,32,137,197,0,32,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,1,0,28,22,112,72,209,114,3,0,0,0,240,164,173,3,128,246,249,2,160,61,109,3,1,0,28,22,16,244,183,114,4,0,67,12,181,7,45,22,234,22,170,170,182,197,0,32,186,197,0,32,188,197,0,224,192,197,0,32,3,0,0,0,164,101,62,3,112,201,250,2,32,119,252,2,1,0,28,22,32,119,252,114,2,0,45,22,122,13,170,170,201,197,0,224,205,197,0,32,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,0,0,232,85,160,3,248,95,250,2,103,69,94,3,2,0,67,12,45,22,170,170,211,197,0,32,215,197,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,104,224,164,3,176,232,250,2,63,112,103,3,2,0,67,12,45,22,170,170,223,197,0,32,227,197,0,224,1,0,28,22,240,144,249,114,2,0,56,22,28,22,170,170,131,212,0,96,0,71,247,114,3,0,0,0,36,8,138,3,168,162,248,2,23,34,80,3,3,0,141,8,70,4,45,22,235,197,0,32,237,197,0,32,241,197,0,224,1,0,28,22,96,56,226,114,2,0,56,22,28,22,170,170,131,212,0,96,0,161,232,114,2,0,56,22,28,22,170,170,122,212,0,96,80,10,248,114,3,0,0,0,160,10,137,3,64,84,250,2,241,138,73,3,4,0,67,12,120,19,56,11,45,22,170,170,250,197,0,32,252,197,0,32,0,198,0,32,4,198,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,3,0,0,0,196,168,118,3,112,201,250,2,148,20,44,3,2,0,68,14,45,22,170,170,15,198,0,32,19,198,0,224,1,0,28,22,96,176,206,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,1,0,28,22,208,209,246,114,1,0,28,22,96,26,231,114,1,0,28,22,32,133,208,114,3,0,0,0,104,96,152,3,184,189,250,2,204,108,88,3,2,0,56,22,28,22,170,170,131,212,0,96,176,48,239,114,7,0,185,13,63,12,68,14,150,8,30,6,45,22,101,10,27,198,0,32,29,198,0,32,33,198,0,32,35,198,0,32,37,198,0,32,39,198,0,224,43,198,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,48,248,237,114,1,0,28,22,240,204,239,114,1,0,28,22,208,163,212,114,1,0,28,22,64,31,238,114,3,0,0,0,156,133,168,3,112,201,250,2,81,98,103,3,6,0,35,12,103,13,68,14,100,11,240,10,45,22,170,170,58,198,0,32,62,198,0,32,64,198,0,32,66,198,0,32,68,198,0,32,70,198,0,224,2,0,28,22,71,22,170,170,80,70,238,114,32,13,228,114,1,0,28,22,64,121,223,114,2,0,56,22,28,22,170,170,131,212,0,96,240,144,249,114,2,0,28,22,71,22,170,170,176,235,187,114,32,13,228,114,1,0,28,22,32,246,210,114,1,0,28,22,64,114,245,114,1,0,28,22,192,147,229,114,1,0,28,22,96,109,238,114,2,0,56,22,28,22,170,170,140,212,0,96,64,188,191,114,1,0,28,22,208,117,178,114,2,0,28,22,71,22,170,170,112,238,223,114,32,13,228,114,1,0,28,22,176,55,217,114,2,0,28,22,71,22,170,170,128,88,192,114,32,13,228,114,1,0,28,22,96,26,231,114,1,0,28,22,160,189,209,114,1,0,28,22,224,59,215,114,2,0,28,22,71,22,170,170,0,131,237,114,32,13,228,114,1,0,28,22,160,39,234,114,1,0,28,22,0,0,0,112,1,0,28,22,144,150,209,114,1,0,28,22,192,147,229,114,1,0,28,22,0,122,176,114,2,0,28,22,71,22,170,170,160,242,221,114,32,13,228,114,3,0,0,0,188,115,184,3,112,201,250,2,125,251,113,3,1,0,28,22,144,60,224,114,1,0,28,22,192,147,229,114,26,0,29,5,106,17,103,13,163,6,63,12,68,14,67,12,150,8,43,7,47,7,170,7,252,12,12,8,87,4,18,9,134,20,171,10,120,19,84,11,100,11,47,13,153,12,172,12,45,22,101,10,160,13,170,170,84,198,0,32,88,198,0,32,90,198,0,32,94,198,0,32,98,198,0,32,100,198,0,32,102,198,0,32,104,198,0,32,106,198,0,32,110,198,0,32,112,198,0,32,116,198,0,32,118,198,0,32,122,198,0,32,124,198,0,32,126,198,0,32,128,198,0,32,132,198,0,32,134,198,0,32,136,198,0,32,138,198,0,32,140,198,0,32,142,198,0,32,146,198,0,224,150,198,0,32,152,198,0,32,2,0,56,22,28,22,170,170,122,212,0,96,112,201,250,114,3,0,0,0,0,37,105,3,112,201,250,2,32,22,33,3,2,0,68,14,45,22,170,170,194,198,0,32,198,198,0,224,1,0,28,22,224,22,242,114,2,0,56,22,28,22,170,170,131,212,0,96,144,143,231,114,2,0,56,22,28,22,170,170,131,212,0,96,80,160,223,114,1,0,28,22,208,239,241,114,3,0,0,0,160,210,137,3,152,10,246,2,140,76,85,3,5,0,94,8,185,13,150,8,244,10,45,22,206,198,0,32,208,198,0,32,212,198,0,32,216,198,0,32,218,198,0,224,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,2,0,56,22,28,22,170,170,140,212,0,96,48,218,242,114,1,0,28,22,160,205,248,114,1,0,28,22,32,246,210,114,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,140,212,0,96,128,254,206,114,1,0,28,22,16,170,237,114,3,0,0,0,120,45,167,3,112,201,250,2,189,114,95,3,8,0,106,17,103,13,68,14,22,22,86,8,129,20,165,12,45,22,170,170,230,198,0,32,234,198,0,32,238,198,0,32,240,198,0,32,242,198,0,32,244,198,0,32,248,198,0,32,250,198,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,6,250,114,3,0,0,0,24,245,128,3,32,6,250,2,158,77,67,3,2,0,68,14,45,22,170,170,11,199,0,32,15,199,0,224,1,0,28,22,64,128,201,114,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,3,0,0,0,8,109,165,3,200,109,249,2,101,90,103,3,3,0,68,14,67,12,45,22,23,199,0,32,25,199,0,32,29,199,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,248,246,114,1,0,28,22,112,88,248,114,1,0,28,22,96,26,231,114,2,0,56,22,28,22,170,170,131,212,0,96,128,187,238,114,2,0,104,22,28,22,170,170,224,52,237,114,224,82,232,114,3,0,0,0,48,102,172,3,48,194,246,2,225,78,108,3,6,0,185,13,237,4,68,14,150,8,97,8,45,22,170,170,38,199,0,32,42,199,0,32,44,199,0,32,46,199,0,32,50,199,0,32,54,199,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,144,103,140,3,168,150,250,2,176,133,73,3,2,0,67,12,45,22,170,170,68,199,0,32,72,199,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,2,0,56,22,28,22,170,170,131,212,0,96,80,70,238,114,1,0,28,22,144,30,229,114,3,0,0,0,40,187,165,3,96,168,249,2,153,84,104,3,4,0,67,12,135,11,142,11,45,22,170,170,80,199,0,32,84,199,0,32,88,199,0,32,90,199,0,224,1,0,28,22,96,79,243,114,2,0,56,22,28,22,170,170,131,212,0,96,176,131,246,114,1,0,28,22,144,226,238,114,1,0,28,22,192,57,244,114,3,0,0,0,244,225,153,3,176,232,250,2,238,93,88,3,1,0,28,22,144,30,229,114,6,0,68,14,237,12,206,6,47,13,45,22,172,13,170,170,101,199,0,32,103,199,0,32,107,199,0,32,109,199,0,32,111,199,0,224,115,199,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,6,250,114,1,0,28,22,64,114,245,114,1,0,28,22,80,54,199,114,1,0,28,22,112,5,241,114,3,0,0,0,208,225,179,3,248,244,246,2,60,153,118,3,5,0,185,13,249,4,63,12,68,14,45,22,127,199,0,32,131,199,0,32,133,199,0,32,135,199,0,32,137,199,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,132,215,130,3,96,79,243,2,175,47,81,3,2,0,185,13,45,22,170,170,149,199,0,32,153,199,0,224,1,0,28,22,64,234,225,114,3,0,56,22,28,22,71,22,131,212,0,96,16,230,227,114,32,13,228,114,1,0,28,22,208,103,222,114,2,0,56,22,28,22,170,170,131,212,0,96,240,174,244,114,1,0,28,22,64,234,225,114,3,0,0,0,104,157,146,3,168,49,246,2,120,197,95,3,2,0,56,22,28,22,170,170,122,212,0,96,0,214,244,114,1,0,28,22,96,109,238,114,8,0,94,8,185,13,217,5,68,14,149,12,45,22,255,12,2,13,170,170,161,199,0,32,163,199,0,32,168,199,0,32,170,199,0,32,174,199,0,32,176,199,0,224,180,199,0,32,184,199,0,32,1,0,28,22,192,214,197,114,2,0,56,22,28,22,170,170,140,212,0,96,208,103,222,114,2,0,56,22,28,22,170,170,140,212,0,96,80,70,238,114,1,0,28,22,192,87,239,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,2,0,56,22,28,22,170,170,140,212,0,96,64,121,223,114,1,0,28,22,208,163,212,114,2,0,56,22,28,22,170,170,140,212,0,96,96,26,231,114,2,0,56,22,28,22,170,170,140,212,0,96,112,192,189,114,3,0,0,0,8,194,180,3,168,150,250,2,254,97,109,3,10,0,158,18,1,5,122,8,68,14,67,12,199,19,245,6,180,10,9,3,45,22,170,170,199,199,0,32,201,199,0,32,205,199,0,32,209,199,0,32,211,199,0,32,215,199,0,32,219,199,0,32,221,199,0,32,225,199,0,32,229,199,0,224,1,0,28,22,224,142,222,114,2,0,56,22,28,22,170,170,131,212,0,96,80,183,240,114,1,0,28,22,240,61,242,114,1,0,28,22,0,0,0,112,1,0,28,22,64,144,240,114,1,0,28,22,48,195,225,114,1,0,28,22,192,147,229,114,3,0,0,0,216,216,165,3,176,161,241,2,209,168,118,3,1,0,28,22,192,147,229,114,1,0,28,22,32,43,223,114,10,0,94,8,3,12,68,14,106,7,219,11,82,12,244,10,45,22,255,12,145,17,170,170,249,199,0,32,251,199,0,32,255,199,0,32,1,200,0,32,3,200,0,32,5,200,0,32,7,200,0,32,9,200,0,224,13,200,0,32,15,200,0,32,1,0,28,22,96,109,238,114,1,0,28,22,160,92,246,114,1,0,28,22,112,215,206,114,2,0,56,22,28,22,170,170,131,212,0,96,32,6,250,114,1,0,28,22,32,163,203,114,1,0,28,22,208,133,217,114,1,0,28,22,192,101,195,114,1,0,28,22,48,149,191,114,2,0,56,22,28,22,170,170,140,212,0,96,48,149,191,114,2,0,56,22,28,22,170,170,131,212,0,96,0,101,242,114,3,0,0,0,228,133,166,3,32,119,252,2,111,254,94,3,11,0,103,13,68,14,237,12,206,6,190,11,47,13,34,4,106,12,114,12,165,12,45,22,33,200,0,32,35,200,0,32,37,200,0,32,39,200,0,32,43,200,0,32,45,200,0,32,47,200,0,32,49,200,0,32,51,200,0,32,55,200,0,32,59,200,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,6,250,114,2,0,56,22,28,22,170,170,131,212,0,96,176,161,241,114,1,0,28,22,0,101,242,114,2,0,56,22,28,22,170,170,131,212,0,96,208,239,241,114,1,0,28,22,112,72,209,114,3,0,0,0,116,111,145,3,104,250,249,2,230,131,85,3,6,0,68,14,20,7,75,12,216,7,222,11,45,22,170,170,80,200,0,32,84,200,0,32,88,200,0,32,90,200,0,32,94,200,0,32,96,200,0,224,2,0,56,22,28,22,170,170,131,212,0,96,192,27,249,114,3,0,0,0,192,40,120,3,112,201,250,2,120,152,45,3,2,0,68,14,45,22,170,170,110,200,0,32,114,200,0,224,1,0,28,22,32,66,240,114,2,0,56,22,28,22,170,170,131,212,0,96,208,96,244,114,1,0,28,22,224,82,232,114,1,0,28,22,176,48,239,114,3,0,0,0,224,81,122,3,208,66,249,2,228,203,72,3,1,0,28,22,208,216,224,114,1,0,28,22,0,48,230,114,7,0,5,6,68,14,231,8,111,11,45,22,114,13,27,14,122,200,0,32,124,200,0,32,128,200,0,32,130,200,0,32,132,200,0,224,136,200,0,32,138,200,0,32,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,0,0,100,82,135,3,112,201,250,2,56,218,63,3,2,0,22,22,45,22,170,170,151,200,0,32,155,200,0,224,2,0,104,22,28,22,170,170,224,255,224,114,240,211,217,114,1,0,28,22,208,193,207,114,2,0,28,22,71,22,170,170,64,211,208,114,32,13,228,114,1,0,28,22,32,13,228,114,1,0,28,22,176,161,241,114,1,0,28,22,16,170,237,114,1,0,28,22,144,37,207,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,1,0,28,22,96,63,204,114,2,0,28,22,71,22,170,170,112,12,219,114,32,13,228,114,1,0,28,22,240,15,208,114,1,0,28,22,64,112,162,114,1,0,28,22,16,4,223,114,1,0,28,22,144,37,207,114,2,0,28,22,71,22,170,170,224,255,224,114,32,13,228,114,1,0,28,22,176,25,222,114,1,0,28,22,208,103,222,114,3,0,0,0,32,103,182,3,112,201,250,2,146,26,112,3,18,0,201,13,122,8,31,12,103,13,68,14,67,12,199,19,150,8,39,7,170,7,244,7,175,11,87,4,120,19,9,3,64,11,70,4,45,22,170,170,163,200,0,32,167,200,0,32,169,200,0,32,173,200,0,32,175,200,0,32,177,200,0,32,179,200,0,32,181,200,0,32,185,200,0,32,187,200,0,32,191,200,0,32,193,200,0,32,195,200,0,32,197,200,0,32,199,200,0,32,203,200,0,32,205,200,0,32,207,200,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,1,0,28,22,160,39,234,114,3,0,0,0,8,31,153,3,208,66,249,2,115,229,89,3,3,0,150,8,131,11,45,22,239,200,0,32,243,200,0,32,245,200,0,224,1,0,28,22,160,189,209,114,1,0,28,22,64,68,211,114,2,0,56,22,28,22,170,170,140,212,0,96,208,103,222,114,1,0,28,22,160,39,234,114,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,0,0,0,112,1,0,28,22,0,161,232,114,1,0,28,22,176,48,239,114,2,0,56,22,28,22,170,170,140,212,0,96,176,115,207,114,3,0,56,22,28,22,71,22,140,212,0,96,112,215,206,114,32,13,228,114,1,0,28,22,208,216,224,114,1,0,28,22,0,55,208,114,1,0,28,22,32,57,179,114,1,0,28,22,0,55,208,114,1,0,28,22,64,234,225,114,1,0,28,22,128,134,226,114,1,0,28,22,0,55,208,114,2,0,28,22,71,22,170,170,144,60,224,114,32,13,228,114,1,0,28,22,0,55,208,114,1,0,28,22,0,78,225,114,3,0,0,0,20,130,182,3,112,201,250,2,11,201,111,3,1,0,28,22,0,55,208,114,1,0,28,22,48,195,225,114,1,0,28,22,160,189,209,114,24,0,185,13,151,5,213,12,103,13,68,14,9,23,67,12,150,8,111,13,103,7,174,7,87,4,41,9,187,15,41,11,100,11,70,4,30,12,244,10,154,20,45,22,101,10,28,8,125,22,170,170,254,200,0,32,0,201,0,32,2,201,0,32,6,201,0,32,8,201,0,32,12,201,0,32,14,201,0,32,16,201,0,32,18,201,0,32,22,201,0,32,27,201,0,32,29,201,0,32,31,201,0,32,33,201,0,32,35,201,0,32,37,201,0,32,39,201,0,32,41,201,0,32,45,201,0,32,47,201,0,32,49,201,0,224,53,201,0,32,55,201,0,32,57,201,0,32,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,8,195,134,3,64,84,250,2,134,245,72,3,2,0,68,14,45,22,170,170,96,201,0,32,100,201,0,224,2,0,56,22,28,22,170,170,140,212,0,96,96,199,223,114,1,0,28,22,96,26,231,114,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,80,190,218,114,2,0,56,22,28,22,170,170,140,212,0,96,96,199,223,114,1,0,28,22,160,39,234,114,3,0,0,0,164,155,153,3,200,228,250,2,84,151,92,3,1,0,28,22,240,91,237,114,8,0,201,12,30,6,26,11,134,20,85,10,47,13,45,22,239,13,170,170,108,201,0,32,112,201,0,32,114,201,0,32,118,201,0,32,120,201,0,32,124,201,0,32,126,201,0,224,130,201,0,32,2,0,56,22,28,22,170,170,131,212,0,96,16,110,247,114,1,0,28,22,224,165,239,114,1,0,28,22,128,21,224,114,3,0,0,0,156,162,134,3,112,88,248,2,21,71,74,3,1,0,28,22,144,60,224,114,5,0,150,8,99,7,244,7,45,22,125,22,145,201,0,32,149,201,0,32,151,201,0,32,153,201,0,224,157,201,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,68,142,137,3,32,119,252,2,184,52,66,3,2,0,68,14,45,22,170,170,167,201,0,32,171,201,0,224,1,0,28,22,32,13,228,114,1,0,28,22,224,255,224,114,2,0,56,22,28,22,170,170,140,212,0,96,176,161,241,114,2,0,56,22,28,22,170,170,140,212,0,96,240,91,237,114,2,0,56,22,28,22,170,170,131,212,0,96,144,226,238,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,140,212,0,96,192,177,224,114,1,0,28,22,48,195,225,114,1,0,28,22,32,73,218,114,1,0,28,22,160,242,221,114,1,0,28,22,96,10,192,114,3,0,0,0,176,212,164,3,56,151,246,2,90,58,106,3,13,0,145,4,157,4,234,9,47,12,68,14,1,7,163,22,71,7,185,7,169,8,17,11,250,11,45,22,179,201,0,32,181,201,0,32,183,201,0,32,187,201,0,32,191,201,0,32,195,201,0,32,197,201,0,32,199,201,0,32,203,201,0,32,205,201,0,32,207,201,0,32,209,201,0,32,211,201,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,227,247,114,1,0,28,22,96,79,243,114,3,0,0,0,48,99,135,3,64,227,247,2,2,125,60,3,3,0,68,14,67,12,45,22,235,201,0,32,239,201,0,32,241,201,0,224,1,0,28,22,32,209,237,114,2,0,56,22,28,22,170,170,131,212,0,96,128,127,248,114,3,0,0,0,84,243,135,3,32,119,252,2,32,196,64,3,3,0,106,17,129,20,45,22,250,201,0,32,252,201,0,32,0,202,0,224,2,0,56,22,28,22,170,170,131,212,0,96,192,200,241,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,1,0,28,22,16,27,240,114,3,0,0,0,16,191,140,3,88,122,243,2,56,207,89,3,5,0,68,14,1,7,163,22,237,9,45,22,9,202,0,32,13,202,0,32,15,202,0,32,17,202,0,32,19,202,0,224,1,0,28,22,224,165,239,114,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,131,212,0,96,16,27,240,114,1,0,28,22,96,56,226,114,1,0,28,22,176,48,239,114,1,0,28,22,32,13,228,114,1,0,28,22,240,91,237,114,3,0,0,0,148,203,151,3,208,239,241,2,154,169,103,3,8,0,1,7,163,22,150,8,235,8,26,23,235,10,161,12,45,22,170,170,31,202,0,32,33,202,0,32,35,202,0,32,39,202,0,32,41,202,0,32,43,202,0,32,45,202,0,32,47,202,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,3,0,0,0,4,161,137,3,224,105,249,2,104,36,78,3,2,0,150,8,45,22,170,170,64,202,0,32,68,202,0,224,1,0,28,22,240,121,232,114,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,1,0,28,22,112,118,243,114,2,0,56,22,28,22,170,170,131,212,0,96,128,217,233,114,2,0,56,22,28,22,170,170,131,212,0,96,160,233,160,114,3,0,0,0,64,86,152,3,240,13,250,2,18,254,83,3,6,0,213,5,67,12,249,6,150,8,70,4,45,22,170,170,76,202,0,32,78,202,0,32,82,202,0,32,84,202,0,32,88,202,0,32,92,202,0,224,1,0,28,22,112,72,209,114,1,0,28,22,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,1,0,28,22,112,118,243,114,1,0,28,22,160,39,234,114,1,0,28,22,0,221,222,114,1,0,28,22,80,17,226,114,1,0,28,22,96,63,204,114,3,0,0,0,100,90,167,3,8,135,250,2,151,94,103,3,1,0,28,22,192,64,222,114,1,0,28,22,112,139,177,114,11,0,85,5,103,13,63,12,68,14,150,8,53,10,107,11,130,12,45,22,101,10,58,13,106,202,0,32,108,202,0,32,110,202,0,32,114,202,0,32,116,202,0,32,118,202,0,32,120,202,0,32,122,202,0,32,124,202,0,224,128,202,0,32,130,202,0,32,3,0,0,0,192,206,84,3,112,201,250,2,0,64,13,3,2,0,104,22,28,22,170,170,32,119,252,114,32,119,252,114,2,0,45,22,122,13,170,170,149,202,0,224,153,202,0,32,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,2,0,56,22,28,22,170,170,140,212,0,96,96,26,231,114,3,0,0,0,180,228,164,3,24,67,247,2,77,94,104,3,3,0,67,12,138,11,45,22,161,202,0,32,165,202,0,32,169,202,0,224,2,0,56,22,28,22,170,170,131,212,0,96,160,9,239,114,2,0,56,22,28,22,170,170,122,212,0,96,240,144,249,114,3,0,0,0,164,27,141,3,112,201,250,2,229,205,73,3,3,0,164,10,68,14,45,22,178,202,0,32,182,202,0,32,186,202,0,224,1,0,28,22,160,233,160,114,1,0,28,22,160,233,160,114,1,0,28,22,160,99,224,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,108,27,137,3,104,30,244,2,198,110,89,3,5,0,1,7,163,22,219,8,70,4,45,22,195,202,0,32,197,202,0,32,199,202,0,32,201,202,0,32,205,202,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,20,226,141,3,48,176,249,2,60,174,82,3,2,0,68,14,45,22,170,170,217,202,0,32,221,202,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,118,243,114,3,0,0,0,52,30,170,3,152,242,249,2,255,141,97,3,1,0,28,22,224,105,249,114,1,0,28,22,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,5,0,68,14,45,22,47,14,210,9,125,22,229,202,0,32,233,202,0,224,237,202,0,32,239,202,0,32,241,202,0,32,3,0,0,0,244,115,63,3,112,201,250,2,32,119,252,2,2,0,104,22,28,22,170,170,32,119,252,114,32,119,252,114,2,0,45,22,122,13,170,170,253,202,0,224,1,203,0,32,1,0,28,22,128,224,211,114,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,3,0,0,0,152,151,154,3,120,170,248,2,142,149,100,3,3,0,68,14,67,12,45,22,9,203,0,32,11,203,0,32,15,203,0,224,1,0,28,22,80,40,243,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,2,0,56,22,28,22,170,170,140,212,0,96,0,221,222,114,3,0,0,0,20,88,164,3,136,197,250,2,119,241,92,3,2,0,56,22,28,22,170,170,140,212,0,96,32,216,215,114,5,0,68,14,252,12,87,4,45,22,141,13,24,203,0,32,26,203,0,32,30,203,0,32,34,203,0,224,38,203,0,32,3,0,104,22,56,22,28,22,32,119,252,114,131,212,0,96,240,151,227,114,2,0,56,22,28,22,170,170,131,212,0,96,80,10,248,114,3,0,0,0,20,147,150,3,152,28,243,2,150,112,103,3,3,0,150,8,237,20,45,22,50,203,0,32,55,203,0,32,59,203,0,224,1,0,28,22,96,109,238,114,1,0,28,22,128,187,238,114,1,0,28,22,224,255,224,114,1,0,28,22,192,11,210,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,240,68,220,114,1,0,28,22,128,254,206,114,1,0,28,22,176,175,197,114,3,0,0,0,128,52,167,3,112,201,250,2,31,103,101,3,9,0,103,13,68,14,150,8,252,12,20,8,173,13,240,10,178,19,45,22,68,203,0,32,70,203,0,32,72,203,0,32,74,203,0,32,76,203,0,32,80,203,0,32,82,203,0,32,84,203,0,32,86,203,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,16,233,158,3,168,150,250,2,195,177,89,3,2,0,67,12,45,22,170,170,104,203,0,32,108,203,0,224,1,0,28,22,224,142,222,114,1,0,28,22,112,72,209,114,2,0,104,22,28,22,170,170,224,52,237,114,32,43,223,114,1,0,28,22,128,51,219,114,1,0,28,22,80,160,223,114,2,0,104,22,28,22,170,170,224,52,237,114,240,181,222,114,2,0,104,22,28,22,170,170,224,52,237,114,0,221,222,114,1,0,28,22,128,254,206,114,1,0,28,22,80,107,211,114,2,0,56,22,28,22,170,170,131,212,0,96,64,114,245,114,2,0,104,22,28,22,170,170,224,52,237,114,96,222,240,114,1,0,28,22,192,11,210,114,1,0,28,22,160,76,207,114,1,0,28,22,144,37,207,114,1,0,28,22,16,177,215,114,2,0,104,22,28,22,170,170,192,200,241,114,240,8,230,114,1,0,28,22,80,77,216,114,1,0,28,22,64,241,203,114,2,0,104,22,28,22,170,170,224,52,237,114,224,255,224,114,1,0,28,22,32,156,225,114,1,0,28,22,192,64,222,114,1,0,28,22,0,145,193,114,1,0,28,22,16,207,210,114,1,0,28,22,160,46,212,114,1,0,28,22,112,215,206,114,1,0,28,22,208,246,219,114,1,0,28,22,224,36,198,114,1,0,28,22,0,131,237,114,1,0,28,22,64,241,203,114,3,0,0,0,8,1,183,3,64,215,249,2,146,21,121,3,1,0,28,22,128,51,219,114,31,0,149,4,217,4,21,5,41,5,61,5,127,5,205,5,83,7,146,7,83,12,90,8,160,8,33,9,91,9,131,9,217,9,233,9,1,10,49,10,115,12,177,22,128,10,195,10,162,11,210,11,167,18,94,12,230,6,180,12,45,22,125,22,116,203,0,32,118,203,0,32,120,203,0,32,124,203,0,32,126,203,0,32,128,203,0,32,132,203,0,32,136,203,0,32,138,203,0,32,140,203,0,32,144,203,0,32,148,203,0,32,150,203,0,32,152,203,0,32,154,203,0,32,156,203,0,32,160,203,0,32,162,203,0,32,164,203,0,32,168,203,0,32,170,203,0,32,172,203,0,32,174,203,0,32,176,203,0,32,178,203,0,32,180,203,0,32,182,203,0,32,184,203,0,32,186,203,0,32,188,203,0,224,192,203,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,80,70,238,114,2,0,56,22,28,22,170,170,131,212,0,96,160,9,239,114,3,0,0,0,84,45,168,3,112,201,250,2,25,100,94,3,4,0,68,14,150,8,111,13,45,22,170,170,241,203,0,32,245,203,0,32,247,203,0,32,251,203,0,224,1,0,28,22,112,42,214,114,2,0,56,22,28,22,170,170,131,212,0,96,128,187,238,114,1,0,28,22,144,166,248,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,160,242,221,114,1,0,28,22,208,103,222,114,1,0,28,22,64,241,203,114,1,0,28,22,240,181,222,114,1,0,28,22,80,17,226,114,1,0,28,22,240,91,237,114,3,0,0,0,236,159,167,3,56,127,250,2,220,186,99,3,1,0,28,22,128,254,206,114,1,0,28,22,224,255,224,114,13,0,3,12,185,13,68,14,184,10,20,8,64,9,75,8,100,11,173,13,47,13,45,22,255,12,185,12,6,204,0,32,8,204,0,32,12,204,0,32,14,204,0,32,18,204,0,32,20,204,0,32,22,204,0,32,24,204,0,32,26,204,0,32,28,204,0,32,30,204,0,224,34,204,0,32,36,204,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,56,22,28,22,170,170,131,212,0,96,48,82,223,114,3,0,0,0,224,161,142,3,112,201,250,2,158,200,69,3,3,0,68,14,193,7,45,22,58,204,0,32,62,204,0,32,66,204,0,224,2,0,56,22,28,22,170,170,140,212,0,96,208,103,222,114,2,0,28,22,71,22,170,170,48,82,223,114,32,13,228,114,1,0,28,22,240,105,193,114,1,0,28,22,32,27,184,114,1,0,28,22,208,140,195,114,2,0,104,22,28,22,170,170,176,18,244,114,192,64,222,114,1,0,28,22,128,254,206,114,1,0,28,22,64,241,203,114,2,0,104,22,28,22,170,170,32,66,240,114,112,238,223,114,2,0,104,22,28,22,170,170,0,214,244,114,64,181,213,114,2,0,56,22,28,22,170,170,140,212,0,96,16,200,232,114,1,0,28,22,48,149,191,114,1,0,28,22,128,5,185,114,1,0,28,22,208,230,180,114,1,0,28,22,160,76,207,114,1,0,28,22,224,156,178,114,1,0,28,22,64,45,194,114,1,0,28,22,240,68,220,114,1,0,28,22,0,55,208,114,1,0,28,22,224,246,163,114,1,0,28,22,64,112,162,114,2,0,56,22,28,22,170,170,131,212,0,96,112,148,238,114,1,0,28,22,112,72,209,114,1,0,28,22,192,11,210,114,1,0,28,22,64,211,208,114,1,0,28,22,208,253,197,114,2,0,56,22,28,22,170,170,140,212,0,96,208,73,227,114,2,0,56,22,28,22,170,170,131,212,0,96,208,239,241,114,1,0,28,22,96,176,206,114,1,0,28,22,176,25,222,114,1,0,28,22,176,2,205,114,1,0,28,22,160,106,202,114,1,0,28,22,48,89,201,114,1,0,28,22,32,133,208,114,3,0,104,22,56,22,28,22,16,27,240,114,140,212,0,96,128,28,202,114,1,0,28,22,176,115,207,114,1,0,28,22,96,17,170,114,2,0,56,22,28,22,170,170,140,212,0,96,80,17,226,114,2,0,56,22,28,22,170,170,140,212,0,96,16,207,210,114,1,0,28,22,240,15,208,114,2,0,56,22,28,22,170,170,140,212,0,96,80,107,211,114,1,0,28,22,208,117,178,114,1,0,28,22,112,252,179,114,1,0,28,22,224,156,178,114,1,0,28,22,112,72,209,114,2,0,104,22,28,22,170,170,32,66,240,114,192,64,222,114,2,0,56,22,28,22,170,170,140,212,0,96,192,64,222,114,2,0,56,22,28,22,170,170,140,212,0,96,0,78,225,114,1,0,28,22,112,215,206,114,2,0,56,22,28,22,170,170,140,212,0,96,96,26,231,114,1,0,28,22,144,180,204,114,1,0,28,22,192,64,222,114,2,0,56,22,28,22,170,170,140,212,0,96,64,181,213,114,1,0,28,22,240,105,193,114,1,0,28,22,144,37,207,114,2,0,56,22,28,22,170,170,140,212,0,96,0,78,225,114,2,0,56,22,28,22,170,170,140,212,0,96,192,177,224,114,1,0,28,22,96,176,206,114,1,0,28,22,80,227,191,114,2,0,104,22,28,22,170,170,128,187,238,114,112,185,211,114,2,0,56,22,28,22,170,170,140,212,0,96,0,122,176,114,2,0,56,22,28,22,170,170,140,212,0,96,48,142,213,114,1,0,28,22,80,84,194,114,1,0,28,22,224,232,207,114,2,0,56,22,28,22,170,170,140,212,0,96,96,33,209,114,2,0,56,22,28,22,170,170,140,212,0,96,160,76,207,114,1,0,28,22,176,62,195,114,1,0,28,22,128,111,209,114,2,0,56,22,28,22,170,170,140,212,0,96,176,108,229,114,1,0,28,22,176,115,207,114,2,0,56,22,28,22,170,170,140,212,0,96,128,104,231,114,3,0,0,0,72,128,192,3,96,67,245,2,193,74,134,3,1,0,28,22,96,63,204,114,1,0,28,22,128,58,197,114,2,0,56,22,28,22,170,170,140,212,0,96,32,13,228,114,1,0,28,22,224,232,207,114,1,0,28,22,176,115,207,114,2,0,104,22,28,22,170,170,208,126,239,114,160,46,212,114,1,0,28,22,192,154,207,114,79,0,189,13,13,5,73,5,77,5,81,5,88,5,100,5,104,5,108,5,123,5,151,5,214,23,154,5,166,5,174,5,193,5,249,5,127,6,159,6,187,6,198,6,68,14,91,7,138,7,142,7,166,7,174,7,75,12,110,23,240,7,0,8,4,8,149,8,153,8,168,8,176,8,184,8,216,8,227,8,3,9,7,9,72,9,99,9,111,9,143,9,225,9,229,9,75,8,64,10,248,13,100,10,124,10,241,7,203,10,219,10,58,19,41,11,146,11,174,11,186,11,12,14,10,12,18,12,26,12,59,13,53,23,145,12,176,12,154,20,212,12,159,20,45,22,126,13,130,13,28,8,196,13,200,13,208,13,255,13,75,204,0,32,79,204,0,32,83,204,0,32,85,204,0,32,87,204,0,32,89,204,0,32,93,204,0,32,95,204,0,32,97,204,0,32,101,204,0,32,105,204,0,32,109,204,0,32,111,204,0,32,113,204,0,32,115,204,0,32,117,204,0,32,119,204,0,32,121,204,0,32,123,204,0,32,125,204,0,32,127,204,0,32,129,204,0,32,133,204,0,32,135,204,0,32,137,204,0,32,139,204,0,32,141,204,0,32,145,204,0,32,149,204,0,32,151,204,0,32,153,204,0,32,155,204,0,32,157,204,0,32,159,204,0,32,161,204,0,32,166,204,0,32,168,204,0,32,170,204,0,32,174,204,0,32,178,204,0,32,180,204,0,32,184,204,0,32,186,204,0,32,188,204,0,32,190,204,0,32,192,204,0,32,196,204,0,32,200,204,0,32,204,204,0,32,206,204,0,32,210,204,0,32,212,204,0,32,214,204,0,32,218,204,0,32,220,204,0,32,222,204,0,32,226,204,0,32,230,204,0,32,232,204,0,32,234,204,0,32,238,204,0,32,242,204,0,32,246,204,0,32,248,204,0,32,250,204,0,32,254,204,0,32,2,205,0,32,4,205,0,32,6,205,0,32,10,205,0,32,12,205,0,32,16,205,0,224,20,205,0,32,22,205,0,32,24,205,0,32,28,205,0,32,30,205,0,32,32,205,0,32,36,205,0,32,3,0,104,22,56,22,28,22,32,119,252,114,131,212,0,96,32,119,252,114,3,0,0,0,180,98,119,3,112,201,250,2,112,14,46,3,2,0,68,14,45,22,170,170,157,205,0,32,162,205,0,224,2,0,56,22,28,22,170,170,131,212,0,96,128,14,246,114,2,0,56,22,28,22,170,170,140,212,0,96,32,43,223,114,2,0,56,22,28,22,170,170,140,212,0,96,128,187,238,114,1,0,28,22,112,5,241,114,1,0,28,22,48,112,218,114,1,0,28,22,144,120,214,114,1,0,28,22,224,202,212,114,3,0,0,0,148,177,172,3,168,168,247,2,183,174,107,3,8,0,185,13,64,23,49,6,68,14,22,10,159,9,192,12,45,22,170,170,170,205,0,32,174,205,0,32,178,205,0,32,182,205,0,32,184,205,0,32,186,205,0,32,188,205,0,32,190,205,0,224,1,0,28,22,64,121,223,114,1,0,28,22,192,87,239,114,1,0,28,22,64,121,223,114,2,0,28,22,71,22,170,170,64,181,213,114,32,13,228,114,1,0,28,22,224,142,222,114,1,0,28,22,112,95,226,114,2,0,56,22,28,22,170,170,131,212,0,96,240,31,247,114,1,0,28,22,32,253,188,114,1,0,28,22,224,112,227,114,1,0,28,22,64,211,208,114,1,0,28,22,240,188,200,114,1,0,28,22,112,252,179,114,1,0,28,22,128,194,216,114,2,0,104,22,28,22,170,170,224,52,237,114,80,160,223,114,1,0,28,22,192,64,222,114,1,0,28,22,32,13,228,114,1,0,28,22,224,202,212,114,1,0,28,22,192,154,207,114,2,0,104,22,28,22,170,170,160,242,221,114,48,82,223,114,1,0,28,22,80,17,226,114,3,0,0,0,32,140,180,3,144,166,248,2,145,181,114,3,1,0,28,22,192,177,224,114,22,0,185,13,64,23,17,5,92,5,158,5,49,6,22,10,95,7,126,7,30,6,26,11,85,22,135,9,159,9,198,9,151,10,119,11,66,6,198,11,42,12,45,22,38,11,170,170,207,205,0,32,209,205,0,32,211,205,0,32,213,205,0,32,217,205,0,32,219,205,0,32,221,205,0,32,225,205,0,32,227,205,0,32,229,205,0,32,231,205,0,32,233,205,0,32,235,205,0,32,237,205,0,32,241,205,0,32,243,205,0,32,245,205,0,32,247,205,0,32,249,205,0,32,253,205,0,32,255,205,0,224,3,206,0,32,1,0,28,22,192,237,214,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,40,77,150,3,112,201,250,2,206,149,76,3,3,0,106,17,93,11,45,22,39,206,0,32,41,206,0,32,45,206,0,224,1,0,28,22,176,62,195,114,1,0,28,22,0,221,222,114,1,0,28,22,160,136,197,114,1,0,28,22,176,62,195,114,1,0,28,22,96,222,240,114,2,0,56,22,28,22,170,170,140,212,0,96,240,8,230,114,2,0,28,22,71,22,170,170,64,15,199,114,32,13,228,114,1,0,28,22,192,48,183,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,1,0,28,22,32,73,218,114,1,0,28,22,96,123,194,114,2,0,28,22,71,22,170,170,208,246,219,114,32,13,228,114,1,0,28,22,112,192,189,114,1,0,28,22,0,0,0,112,1,0,28,22,16,4,223,114,2,0,28,22,71,22,170,170,224,172,217,114,32,13,228,114,1,0,28,22,208,193,207,114,1,0,28,22,208,193,207,114,3,0,0,0,148,148,181,3,112,201,250,2,219,69,111,3,2,0,56,22,28,22,170,170,140,212,0,96,208,103,222,114,20,0,122,8,103,13,209,6,63,12,68,14,150,8,59,7,252,12,87,4,115,9,147,9,159,10,103,11,166,11,34,11,187,18,38,12,178,19,45,22,141,13,170,170,54,206,0,32,56,206,0,32,58,206,0,32,60,206,0,32,62,206,0,32,64,206,0,32,68,206,0,32,72,206,0,32,74,206,0,32,78,206,0,32,80,206,0,32,82,206,0,32,86,206,0,32,88,206,0,32,90,206,0,32,92,206,0,32,96,206,0,32,98,206,0,32,100,206,0,224,104,206,0,32,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,0,0,36,196,140,3,112,201,250,2,145,198,72,3,2,0,68,14,45,22,170,170,139,206,0,32,143,206,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,48,45,250,114,3,0,0,0,248,128,151,3,176,244,248,2,25,199,90,3,3,0,68,14,62,8,45,22,151,206,0,32,155,206,0,32,157,206,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,16,140,242,114,3,0,0,0,144,27,161,3,88,80,250,2,238,102,103,3,3,0,185,13,68,14,45,22,166,206,0,32,170,206,0,32,172,206,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,1,0,28,22,0,25,213,114,2,0,28,22,71,22,170,170,144,233,216,114,32,13,228,114,3,0,0,0,172,89,186,3,112,201,250,2,195,236,118,3,4,0,38,6,97,11,242,11,45,22,170,170,181,206,0,32,185,206,0,32,187,206,0,32,191,206,0,224,1,0,28,22,96,236,196,114,2,0,28,22,71,22,170,170,224,172,217,114,32,13,228,114,2,0,104,22,28,22,170,170,160,242,221,114,240,181,222,114,2,0,56,22,28,22,170,170,131,212,0,96,112,148,238,114,1,0,28,22,16,214,188,114,1,0,28,22,16,230,227,114,1,0,28,22,192,4,232,114,1,0,28,22,80,70,238,114,1,0,28,22,192,4,232,114,1,0,28,22,32,96,235,114,1,0,28,22,240,91,237,114,2,0,104,22,28,22,170,170,96,79,243,114,0,221,222,114,1,0,28,22,128,134,226,114,1,0,28,22,176,85,212,114,1,0,28,22,176,205,192,114,2,0,104,22,28,22,170,170,160,242,221,114,16,177,215,114,2,0,104,22,28,22,170,170,160,242,221,114,160,46,212,114,1,0,28,22,208,103,222,114,2,0,56,22,28,22,170,170,131,212,0,96,96,192,245,114,1,0,28,22,96,116,216,114,3,0,0,0,180,72,165,3,80,4,249,2,47,235,109,3,21,0,185,13,123,6,201,6,68,14,174,7,189,7,109,8,136,9,208,8,182,9,194,9,241,9,13,10,219,11,41,11,96,11,6,12,244,10,171,7,228,12,45,22,202,206,0,32,204,206,0,32,208,206,0,32,212,206,0,32,216,206,0,32,218,206,0,32,220,206,0,32,222,206,0,32,224,206,0,32,226,206,0,32,228,206,0,32,230,206,0,32,234,206,0,32,236,206,0,32,238,206,0,32,240,206,0,32,244,206,0,32,248,206,0,32,250,206,0,32,254,206,0,32,0,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,1,243,114,2,0,56,22,28,22,170,170,131,212,0,96,128,44,241,114,3,0,0,0,76,15,151,3,64,209,250,2,10,152,95,3,3,0,222,6,47,13,45,22,36,207,0,32,40,207,0,32,44,207,0,224,1,0,28,22,0,221,222,114,1,0,28,22,112,215,206,114,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,3,0,0,0,52,83,157,3,248,244,246,2,118,85,104,3,4,0,37,6,137,8,98,21,45,22,170,170,53,207,0,32,55,207,0,32,57,207,0,32,61,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,56,22,28,22,170,170,131,212,0,96,0,214,244,114,3,0,0,0,56,121,120,3,224,105,249,2,116,240,72,3,3,0,68,14,110,7,45,22,72,207,0,32,76,207,0,32,80,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,192,245,114,2,0,56,22,28,22,170,170,131,212,0,96,192,57,244,114,3,0,0,0,252,71,134,3,120,51,247,2,137,37,84,3,2,0,56,22,28,22,170,170,131,212,0,96,96,222,240,114,2,0,56,22,28,22,170,170,131,212,0,96,144,83,241,114,5,0,185,13,150,8,45,22,204,13,59,14,89,207,0,32,93,207,0,32,97,207,0,224,101,207,0,32,105,207,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,56,162,134,3,144,154,250,2,226,47,64,3,2,0,68,14,45,22,170,170,117,207,0,32,121,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,192,27,249,114,3,0,0,0,128,161,153,3,32,119,252,2,243,169,105,3,2,0,97,11,45,22,170,170,129,207,0,32,133,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,108,38,181,3,120,158,250,2,15,169,109,3,2,0,97,11,45,22,170,170,141,207,0,32,145,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,228,52,167,3,56,2,250,2,107,15,91,3,2,0,185,13,45,22,170,170,153,207,0,32,157,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,12,24,136,3,136,197,250,2,48,109,65,3,2,0,68,14,45,22,170,170,165,207,0,32,169,207,0,224,1,0,28,22,0,48,230,114,1,0,28,22,48,248,237,114,2,0,56,22,28,22,170,170,131,212,0,96,64,114,245,114,2,0,56,22,28,22,170,170,131,212,0,96,192,170,246,114,3,0,0,0,200,22,170,3,200,228,250,2,7,170,104,3,1,0,28,22,64,121,223,114,6,0,103,13,68,14,182,4,47,13,45,22,75,23,170,170,177,207,0,32,179,207,0,32,181,207,0,32,185,207,0,32,189,207,0,224,193,207,0,32,1,0,28,22,224,255,224,114,1,0,28,22,192,207,219,114,1,0,28,22,160,69,229,114,2,0,56,22,28,22,170,170,131,212,0,96,144,53,246,114,3,0,0,0,88,14,155,3,24,198,246,2,36,219,97,3,5,0,244,7,137,8,196,8,51,8,45,22,205,207,0,32,207,207,0,32,209,207,0,32,211,207,0,32,215,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,192,200,241,114,1,0,28,22,16,207,210,114,1,0,28,22,64,91,228,114,1,0,28,22,16,4,223,114,3,0,0,0,68,254,160,3,64,90,249,2,145,214,94,3,6,0,185,13,68,14,150,8,30,6,83,23,45,22,170,170,227,207,0,32,231,207,0,32,233,207,0,32,235,207,0,32,237,207,0,32,239,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,3,0,0,0,184,37,136,3,200,109,249,2,23,198,73,3,2,0,68,14,45,22,170,170,253,207,0,32,1,208,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,56,22,28,22,71,22,122,212,0,96,144,166,248,114,32,13,228,114,3,0,0,0,72,221,139,3,32,119,252,2,74,242,61,3,1,0,28,22,16,117,225,114,4,0,103,13,170,7,45,22,180,13,170,170,9,208,0,32,13,208,0,32,18,208,0,224,22,208,0,32,1,0,28,22,224,52,237,114,2,0,56,22,28,22,170,170,131,212,0,96,128,14,246,114,2,0,56,22,28,22,170,170,131,212,0,96,48,248,237,114,3,0,0,0,152,254,166,3,192,152,249,2,92,62,105,3,4,0,68,14,67,13,154,20,45,22,170,170,31,208,0,32,33,208,0,32,37,208,0,32,41,208,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,88,248,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,1,0,28,22,32,209,237,114,1,0,28,22,192,124,212,114,3,0,0,0,64,152,141,3,64,245,244,2,194,59,94,3,1,0,28,22,160,99,224,114,1,0,28,22,0,0,0,112,8,0,68,14,1,7,163,22,235,8,9,10,45,22,134,13,91,23,170,170,52,208,0,32,56,208,0,32,58,208,0,32,60,208,0,32,62,208,0,32,64,208,0,224,68,208,0,32,70,208,0,32,2,0,56,22,28,22,170,170,131,212,0,96,240,204,239,114,1,0,28,22,128,21,224,114,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,192,108,142,3,64,90,249,2,69,127,89,3,1,0,28,22,240,68,220,114,1,0,28,22,32,209,237,114,6,0,68,14,186,5,198,15,45,22,228,13,79,14,170,170,85,208,0,32,89,208,0,32,91,208,0,32,95,208,0,224,99,208,0,32,101,208,0,32,1,0,28,22,32,209,237,114,1,0,28,22,160,122,241,114,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,64,227,247,114,1,0,28,22,0,0,0,112,3,0,0,0,12,124,161,3,200,228,250,2,250,168,90,3,6,0,103,13,68,14,187,15,47,13,70,12,45,22,170,170,113,208,0,32,115,208,0,32,117,208,0,32,121,208,0,32,123,208,0,32,125,208,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,1,0,28,22,192,57,244,114,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,3,0,56,22,28,22,71,22,131,212,0,96,112,231,245,114,32,13,228,114,1,0,28,22,64,31,238,114,3,0,0,0,44,1,157,3,32,119,252,2,93,210,80,3,6,0,103,13,68,14,150,8,84,9,70,4,45,22,170,170,139,208,0,32,143,208,0,32,145,208,0,32,149,208,0,32,154,208,0,32,156,208,0,224,1,0,28,22,32,179,242,114,1,0,28,22,144,0,234,114,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,1,0,28,22,160,122,241,114,3,0,0,0,40,197,155,3,176,232,250,2,219,92,89,3,5,0,68,14,163,9,202,9,47,13,45,22,170,208,0,32,172,208,0,32,174,208,0,32,178,208,0,32,180,208,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,248,246,114,3,0,0,0,180,251,156,3,88,86,249,2,158,1,97,3,2,0,185,13,45,22,170,170,192,208,0,32,196,208,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,36,245,114,1,0,28,22,176,244,248,114,1,0,28,22,32,209,237,114,1,0,28,22,144,210,199,114,2,0,56,22,28,22,170,170,122,212,0,96,128,187,238,114,2,0,28,22,71,22,170,170,16,230,227,114,32,13,228,114,2,0,28,22,71,22,170,170,16,230,227,114,32,13,228,114,1,0,28,22,112,178,233,114,1,0,28,22,112,178,233,114,3,0,0,0,168,87,167,3,88,235,245,2,97,45,107,3,3,0,104,22,56,22,28,22,208,126,239,114,131,212,0,96,32,96,235,114,1,0,28,22,160,9,239,114,12,0,185,13,107,4,68,14,67,12,150,8,178,11,100,23,74,12,109,23,45,22,98,13,71,14,170,170,204,208,0,32,208,208,0,32,210,208,0,32,212,208,0,32,214,208,0,32,218,208,0,32,222,208,0,32,226,208,0,32,228,208,0,32,230,208,0,224,234,208,0,32,239,208,0,32,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,3,0,0,0,160,249,143,3,112,201,250,2,240,236,61,3,2,0,150,8,45,22,170,170,4,209,0,32,8,209,0,224,1,0,28,22,224,195,234,114,1,0,28,22,16,117,225,114,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,1,0,28,22,224,255,224,114,3,0,0,0,144,37,151,3,112,201,250,2,66,160,91,3,1,0,28,22,32,209,237,114,6,0,85,5,75,7,173,13,47,13,45,22,158,12,170,170,16,209,0,32,18,209,0,32,20,209,0,32,24,209,0,32,26,209,0,224,30,209,0,32,1,0,28,22,240,121,232,114,1,0,28,22,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,208,55,149,3,232,181,250,2,3,138,80,3,4,0,130,12,16,14,155,22,45,22,170,170,42,209,0,32,44,209,0,32,46,209,0,32,50,209,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,220,147,125,3,112,201,250,2,56,241,60,3,2,0,150,8,45,22,170,170,61,209,0,32,65,209,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,109,238,114,2,0,56,22,28,22,170,170,131,212,0,96,144,53,246,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,3,0,0,0,164,155,153,3,200,133,245,2,53,221,105,3,4,0,68,14,150,8,208,10,45,22,170,170,73,209,0,32,77,209,0,32,81,209,0,32,85,209,0,224,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,2,0,56,22,28,22,170,170,131,212,0,96,208,209,246,114,3,0,0,0,32,0,120,3,104,250,249,2,34,221,67,3,3,0,68,14,27,13,45,22,96,209,0,32,100,209,0,32,104,209,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,231,245,114,2,0,56,22,28,22,170,170,140,212,0,96,208,126,239,114,3,0,0,0,28,67,152,3,240,138,250,2,117,188,89,3,1,0,28,22,48,195,225,114,4,0,53,10,130,12,45,22,101,10,170,170,113,209,0,32,117,209,0,32,121,209,0,224,125,209,0,32,1,0,28,22,96,229,218,114,1,0,28,22,32,179,242,114,1,0,28,22,64,121,223,114,1,0,28,22,32,73,218,114,1,0,28,22,16,34,218,114,1,0,28,22,176,25,222,114,1,0,28,22,208,43,232,114,2,0,56,22,28,22,170,170,131,212,0,96,32,179,242,114,1,0,28,22,160,242,221,114,1,0,28,22,16,4,223,114,1,0,28,22,32,13,228,114,1,0,28,22,32,156,225,114,1,0,28,22,176,108,229,114,3,0,0,0,40,209,153,3,240,198,240,2,14,188,104,3,1,0,28,22,80,160,223,114,15,0,185,13,92,7,121,23,147,5,225,5,167,6,4,7,150,8,113,8,180,8,116,10,66,12,122,12,45,22,26,13,134,209,0,32,136,209,0,32,138,209,0,32,140,209,0,32,142,209,0,32,144,209,0,32,146,209,0,32,148,209,0,32,152,209,0,32,154,209,0,32,156,209,0,32,158,209,0,32,160,209,0,32,162,209,0,224,166,209,0,32,1,0,28,22,224,66,193,114,1,0,28,22,16,4,223,114,1,0,28,22,240,22,186,114,1,0,28,22,240,181,222,114,2,0,56,22,28,22,170,170,131,212,0,96,64,114,245,114,1,0,28,22,16,4,223,114,1,0,28,22,0,48,230,114,3,0,0,0,136,209,167,3,88,211,249,2,205,98,110,3,8,0,244,7,101,8,184,8,72,10,136,10,170,11,78,12,45,22,170,170,191,209,0,32,193,209,0,32,195,209,0,32,197,209,0,32,199,209,0,32,203,209,0,32,205,209,0,32,207,209,0,224,1,0,28,22,128,104,231,114,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,1,0,28,22,144,37,207,114,3,0,0,0,200,43,154,3,240,138,250,2,131,83,91,3,1,0,28,22,128,201,194,114,1,0,28,22,224,142,222,114,6,0,85,22,244,13,47,13,45,22,75,23,210,9,170,170,224,209,0,32,226,209,0,32,230,209,0,32,232,209,0,224,236,209,0,32,238,209,0,32,1,0,28,22,112,238,223,114,2,0,56,22,28,22,170,170,131,212,0,96,32,13,228,114,3,0,0,0,180,83,159,3,160,68,250,2,250,155,80,3,1,0,28,22,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,5,0,68,14,70,4,45,22,210,9,125,22,250,209,0,32,252,209,0,32,0,210,0,224,4,210,0,32,6,210,0,32,1,0,28,22,96,109,238,114,2,0,56,22,28,22,170,170,122,212,0,96,80,123,250,114,3,0,0,0,232,41,134,3,80,123,250,2,154,210,63,3,3,0,164,10,68,14,45,22,18,210,0,32,20,210,0,32,24,210,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,52,154,141,3,96,162,250,2,99,227,77,3,2,0,150,8,45,22,170,170,33,210,0,32,37,210,0,224,2,0,56,22,28,22,170,170,131,212,0,96,144,166,248,114,1,0,28,22,144,30,229,114,1,0,28,22,0,0,0,112,1,0,28,22,80,70,238,114,3,0,0,0,0,42,150,3,80,159,244,2,164,154,92,3,1,0,28,22,80,250,208,114,6,0,185,13,1,7,163,22,150,8,45,22,242,6,170,170,45,210,0,32,49,210,0,32,51,210,0,32,53,210,0,32,55,210,0,224,59,210,0,32,2,0,56,22,28,22,170,170,131,212,0,96,80,153,245,114,3,0,0,0,104,144,119,3,80,123,250,2,20,234,48,3,2,0,68,14,45,22,170,170,71,210,0,32,75,210,0,224,2,0,56,22,28,22,170,170,131,212,0,96,192,27,249,114,1,0,28,22,240,91,237,114,1,0,28,22,192,57,244,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,88,119,150,3,160,199,249,2,243,53,78,3,5,0,68,14,150,8,87,4,199,11,45,22,83,210,0,32,87,210,0,32,89,210,0,32,91,210,0,32,95,210,0,224,1,0,28,22,240,204,239,114,2,0,56,22,28,22,170,170,131,212,0,96,192,170,246,114,2,0,56,22,28,22,170,170,131,212,0,96,224,255,224,114,1,0,28,22,224,105,249,114,1,0,28,22,144,60,224,114,3,0,0,0,76,215,151,3,0,59,249,2,209,152,88,3,1,0,28,22,64,91,228,114,7,0,108,5,68,14,150,8,25,10,154,20,45,22,28,8,107,210,0,32,109,210,0,32,113,210,0,32,117,210,0,32,119,210,0,32,121,210,0,224,125,210,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,240,31,247,114,3,0,0,0,116,204,142,3,0,178,250,2,160,54,77,3,3,0,187,6,68,14,45,22,138,210,0,32,142,210,0,32,144,210,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,3,0,0,0,200,242,150,3,32,24,247,2,62,252,104,3,1,0,28,22,224,29,220,114,1,0,28,22,64,61,233,114,1,0,28,22,208,50,210,114,6,0,68,14,2,11,45,22,34,13,86,13,79,14,170,170,153,210,0,32,157,210,0,32,161,210,0,224,165,210,0,32,167,210,0,32,169,210,0,32,1,0,28,22,16,170,237,114,2,0,56,22,28,22,170,170,122,212,0,96,112,88,248,114,1,0,28,22,224,89,210,114,1,0,28,22,240,15,208,114,1,0,28,22,48,29,211,114,1,0,28,22,48,29,211,114,1,0,28,22,96,17,170,114,3,0,0,0,156,205,181,3,152,242,249,2,10,249,118,3,2,0,56,22,28,22,170,170,140,212,0,96,112,139,177,114,1,0,28,22,240,98,215,114,10,0,68,14,67,12,245,9,163,10,183,10,187,10,58,12,45,22,141,13,43,14,170,170,181,210,0,32,183,210,0,32,187,210,0,32,189,210,0,32,191,210,0,32,193,210,0,32,195,210,0,32,197,210,0,224,201,210,0,32,205,210,0,32,1,0,28,22,112,49,192,114,1,0,28,22,112,245,201,114,1,0,28,22,64,181,213,114,1,0,28,22,144,226,238,114,1,0,28,22,144,60,224,114,1,0,28,22,192,64,222,114,1,0,28,22,176,115,207,114,2,0,56,22,28,22,170,170,131,212,0,96,240,31,247,114,1,0,28,22,160,212,226,114,3,0,0,0,244,6,177,3,248,226,249,2,185,187,106,3,1,0,28,22,80,70,238,114,1,0,28,22,192,64,222,114,12,0,127,5,205,5,171,6,68,14,34,8,90,8,75,8,115,12,154,20,45,22,210,9,75,14,170,170,223,210,0,32,225,210,0,32,227,210,0,32,229,210,0,32,231,210,0,32,233,210,0,32,235,210,0,32,237,210,0,32,241,210,0,32,243,210,0,224,247,210,0,32,249,210,0,32,1,0,28,22,208,73,227,114,1,0,28,22,48,135,235,114,1,0,28,22,64,204,230,114,1,0,28,22,160,99,224,114,2,0,56,22,28,22,170,170,131,212,0,96,240,204,239,114,1,0,28,22,32,156,225,114,1,0,28,22,224,112,227,114,1,0,28,22,112,162,194,114,3,0,0,0,212,47,153,3,168,61,244,2,246,87,106,3,1,0,28,22,240,121,232,114,1,0,28,22,16,170,237,114,1,0,28,22,128,21,224,114,1,0,28,22,0,205,183,114,13,0,33,10,167,10,179,10,2,11,70,4,206,11,54,12,171,7,45,22,79,13,164,13,23,14,79,14,14,211,0,32,16,211,0,32,18,211,0,32,20,211,0,32,22,211,0,32,26,211,0,32,28,211,0,32,30,211,0,32,32,211,0,224,36,211,0,32,38,211,0,32,40,211,0,32,42,211,0,32,1,0,28,22,240,31,247,114,1,0,28,22,96,229,218,114,2,0,56,22,28,22,170,170,131,212,0,96,96,26,231,114,1,0,28,22,176,78,234,114,1,0,28,22,112,5,241,114,1,0,28,22,240,91,237,114,1,0,28,22,144,226,238,114,3,0,0,0,16,150,151,3,0,59,249,2,95,129,90,3,1,0,28,22,64,181,213,114,9,0,251,11,103,13,68,14,31,8,205,8,51,19,207,11,45,22,207,23,64,211,0,32,66,211,0,32,68,211,0,32,72,211,0,32,74,211,0,32,76,211,0,32,78,211,0,32,80,211,0,224,84,211,0,32,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,252,56,149,3,16,92,250,2,153,168,75,3,2,0,150,8,45,22,170,170,100,211,0,32,104,211,0,224,1,0,28,22,16,94,208,114,1,0,28,22,80,70,238,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,131,212,0,96,16,27,240,114,1,0,28,22,96,26,231,114,1,0,28,22,208,239,241,114,3,0,0,0,232,220,150,3,88,15,240,2,204,57,105,3,1,0,28,22,192,147,229,114,1,0,28,22,176,62,195,114,10,0,185,13,147,6,1,7,163,22,150,8,55,7,169,8,45,22,26,13,90,13,170,170,112,211,0,32,114,211,0,32,116,211,0,32,118,211,0,32,120,211,0,32,124,211,0,32,126,211,0,32,128,211,0,224,132,211,0,32,134,211,0,32,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,88,210,114,3,112,201,250,2,16,98,43,3,2,0,68,14,45,22,170,170,152,211,0,32,156,211,0,224,1,0,28,22,176,235,187,114,1,0,28,22,0,0,0,112,1,0,28,22,240,188,200,114,1,0,28,22,48,255,215,114,1,0,28,22,208,27,193,114,1,0,28,22,224,142,222,114,2,0,56,22,28,22,170,170,131,212,0,96,144,196,243,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,2,0,104,22,28,22,170,170,128,187,238,114,48,165,230,114,1,0,28,22,16,170,237,114,1,0,28,22,160,242,221,114,1,0,28,22,224,142,222,114,1,0,28,22,16,170,237,114,1,0,28,22,16,94,208,114,1,0,28,22,80,24,204,114,1,0,28,22,144,226,238,114,3,0,0,0,100,193,179,3,200,8,245,2,140,70,120,3,2,0,104,22,28,22,170,170,208,126,239,114,0,221,222,114,2,0,56,22,28,22,170,170,131,212,0,96,16,170,237,114,20,0,201,4,209,4,185,13,119,5,245,5,205,6,68,14,1,7,163,22,63,7,169,8,202,22,38,8,3,13,105,8,125,8,68,11,45,22,6,13,14,11,170,170,164,211,0,32,166,211,0,32,168,211,0,32,170,211,0,32,172,211,0,32,174,211,0,32,176,211,0,32,180,211,0,32,182,211,0,32,184,211,0,32,188,211,0,32,190,211,0,32,192,211,0,32,194,211,0,32,196,211,0,32,198,211,0,32,200,211,0,32,202,211,0,224,206,211,0,32,210,211,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,3,0,0,0,224,20,153,3,32,149,247,2,56,245,95,3,2,0,67,12,45,22,170,170,245,211,0,32,249,211,0,224,2,0,28,22,71,22,170,170,176,131,246,114,32,13,228,114,1,0,28,22,224,105,249,114,1,0,28,22,16,27,240,114,2,0,56,22,28,22,170,170,140,212,0,96,176,251,226,114,2,0,28,22,71,22,170,170,64,234,225,114,32,13,228,114,1,0,28,22,32,43,223,114,2,0,28,22,71,22,170,170,112,208,228,114,32,13,228,114,2,0,28,22,71,22,170,170,240,91,237,114,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,192,64,222,114,3,0,0,0,48,228,176,3,112,201,250,2,68,99,104,3,1,0,28,22,192,64,222,114,1,0,28,22,224,142,222,114,13,0,103,13,68,14,150,8,154,8,150,7,83,12,115,13,171,10,120,19,100,23,45,22,101,10,63,14,1,212,0,32,5,212,0,32,7,212,0,32,9,212,0,32,13,212,0,32,17,212,0,32,19,212,0,32,23,212,0,32,27,212,0,32,31,212,0,32,33,212,0,224,37,212,0,32,39,212,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,56,22,28,22,170,170,131,212,0,96,208,126,239,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,56,22,28,22,170,170,140,212,0,96,144,150,209,114,3,0,0,0,80,154,168,3,32,119,252,2,184,213,94,3,5,0,104,19,83,20,253,7,34,4,45,22,61,212,0,32,65,212,0,32,69,212,0,32,73,212,0,32,77,212,0,224,1,0,28,22,96,199,223,114,1,0,28,22,240,181,222,114,1,0,28,22,32,103,213,114,1,0,28,22,64,204,230,114,1,0,28,22,96,63,204,114,1,0,28,22,64,211,208,114,1,0,28,22,144,60,224,114,1,0,28,22,224,255,224,114,1,0,28,22,144,150,209,114,1,0,28,22,96,146,211,114,1,0,28,22,0,78,225,114,1,0,28,22,16,214,188,114,1,0,28,22,176,25,222,114,1,0,28,22,240,91,237,114,1,0,28,22,176,25,222,114,1,0,28,22,240,211,217,114,2,0,56,22,28,22,170,170,131,212,0,96,0,101,242,114,1,0,28,22,16,117,225,114,2,0,104,22,28,22,170,170,112,231,245,114,128,224,211,114,1,0,28,22,112,185,211,114,1,0,28,22,208,103,222,114,1,0,28,22,128,254,206,114,3,0,0,0,92,156,159,3,112,112,244,2,239,96,106,3,1,0,28,22,64,121,223,114,1,0,28,22,160,242,221,114,1,0,28,22,192,64,222,114,1,0,28,22,64,211,208,114,1,0,28,22,176,205,192,114,1,0,28,22,0,25,213,114,29,0,13,5,25,5,81,5,108,5,151,5,214,23,175,6,68,14,196,7,75,12,74,8,99,9,111,9,229,9,41,10,88,10,241,7,175,10,182,11,204,12,220,12,224,12,45,22,243,12,247,12,251,12,14,13,144,23,15,14,89,212,0,32,91,212,0,32,93,212,0,32,95,212,0,32,97,212,0,32,99,212,0,32,101,212,0,32,103,212,0,32,105,212,0,32,107,212,0,32,109,212,0,32,111,212,0,32,113,212,0,32,115,212,0,32,117,212,0,32,119,212,0,32,121,212,0,32,125,212,0,32,127,212,0,32,131,212,0,32,133,212,0,32,135,212,0,32,137,212,0,224,141,212,0,32,143,212,0,32,145,212,0,32,147,212,0,32,149,212,0,32,151,212,0,32,2,0,56,22,28,22,170,170,131,212,0,96,144,166,248,114,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,3,0,0,0,128,115,119,3,112,201,250,2,48,167,57,3,3,0,68,14,252,13,45,22,197,212,0,32,201,212,0,32,205,212,0,224,2,0,56,22,28,22,170,170,131,212,0,96,192,57,244,114,2,0,56,22,28,22,170,170,131,212,0,96,192,57,244,114,3,0,0,0,68,71,103,3,48,45,250,2,128,196,43,3,3,0,68,14,199,10,45,22,214,212,0,32,218,212,0,32,222,212,0,224,2,0,56,22,28,22,170,170,122,212,0,96,96,162,250,114,2,0,56,22,28,22,170,170,131,212,0,96,192,177,224,114,3,0,0,0,136,171,165,3,112,201,250,2,4,2,94,3,3,0,68,14,76,14,45,22,231,212,0,32,235,212,0,32,239,212,0,224,2,0,56,22,28,22,170,170,131,212,0,96,80,10,248,114,1,0,28,22,16,230,227,114,1,0,28,22,160,129,219,114,3,0,0,0,212,175,165,3,200,240,248,2,52,156,93,3,4,0,185,13,17,5,22,10,45,22,170,170,248,212,0,32,252,212,0,32,254,212,0,32,0,213,0,224,1,0,28,22,32,209,237,114,2,0,56,22,28,22,170,170,131,212,0,96,144,53,246,114,3,0,0,0,228,95,164,3,8,10,250,2,32,111,92,3,1,0,28,22,176,115,207,114,4,0,68,14,67,12,45,22,125,22,170,170,11,213,0,32,13,213,0,32,17,213,0,224,21,213,0,32,1,0,28,22,0,221,222,114,2,0,56,22,28,22,170,170,131,212,0,96,208,209,246,114,2,0,56,22,28,22,170,170,131,212,0,96,48,248,237,114,3,0,0,0,28,90,169,3,64,90,249,2,238,158,106,3,4,0,84,7,67,12,135,11,45,22,170,170,30,213,0,32,32,213,0,32,36,213,0,32,40,213,0,224,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,3,0,0,0,72,165,140,3,96,162,250,2,145,188,75,3,2,0,56,22,28,22,170,170,131,212,0,96,48,105,240,114,1,0,28,22,224,82,232,114,4,0,150,8,45,22,233,3,125,22,170,170,51,213,0,32,55,213,0,224,59,213,0,32,63,213,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,79,243,114,3,0,56,22,28,22,71,22,131,212,0,96,80,160,223,114,32,13,228,114,3,0,0,0,76,34,152,3,192,51,245,2,186,145,97,3,3,0,104,22,56,22,28,22,16,140,242,114,131,212,0,96,176,131,246,114,4,0,68,14,18,6,45,22,42,13,170,170,72,213,0,32,76,213,0,32,81,213,0,224,85,213,0,32,1,0,28,22,224,255,224,114,1,0,28,22,208,200,185,114,1,0,28,22,128,111,209,114,3,0,104,22,56,22,28,22,16,170,237,114,140,212,0,96,192,87,239,114,1,0,28,22,224,59,215,114,2,0,56,22,28,22,170,170,131,212,0,96,64,114,245,114,1,0,28,22,48,105,240,114,1,0,28,22,112,238,223,114,2,0,56,22,28,22,170,170,131,212,0,96,0,214,244,114,3,0,104,22,56,22,28,22,0,161,232,114,140,212,0,96,64,61,233,114,1,0,28,22,128,88,192,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,0,18,235,114,1,0,28,22,48,29,211,114,2,0,56,22,28,22,170,170,140,212,0,96,192,64,222,114,2,0,56,22,28,22,170,170,140,212,0,96,224,142,222,114,1,0,28,22,112,238,223,114,2,0,104,22,28,22,170,170,128,44,241,114,0,175,188,114,3,0,0,0,208,43,176,3,208,60,250,2,253,172,118,3,2,0,56,22,28,22,170,170,140,212,0,96,176,25,222,114,2,0,56,22,28,22,170,170,140,212,0,96,208,216,224,114,1,0,28,22,80,77,216,114,21,0,115,5,139,5,189,5,253,5,65,6,68,14,67,12,253,6,12,7,220,7,248,7,50,8,251,8,253,9,44,11,52,11,208,12,45,22,62,13,184,13,125,22,97,213,0,32,99,213,0,32,101,213,0,32,103,213,0,32,108,213,0,32,110,213,0,32,114,213,0,32,116,213,0,32,118,213,0,32,122,213,0,32,127,213,0,32,129,213,0,32,134,213,0,32,136,213,0,32,140,213,0,32,144,213,0,32,146,213,0,32,150,213,0,224,154,213,0,32,158,213,0,32,162,213,0,32,1,0,28,22,160,99,224,114,1,0,28,22,224,232,207,114,2,0,28,22,71,22,170,170,80,220,213,114,32,13,228,114,1,0,28,22,208,103,222,114,1,0,28,22,176,205,192,114,2,0,56,22,28,22,170,170,131,212,0,96,96,79,243,114,1,0,28,22,224,59,215,114,1,0,28,22,112,215,206,114,1,0,28,22,0,55,208,114,1,0,28,22,80,107,211,114,1,0,28,22,16,4,223,114,1,0,28,22,176,115,207,114,1,0,28,22,208,110,200,114,1,0,28,22,192,154,207,114,1,0,28,22,112,215,206,114,1,0,28,22,192,200,241,114,1,0,28,22,160,76,207,114,1,0,28,22,160,92,246,114,1,0,28,22,64,31,238,114,1,0,28,22,48,248,237,114,2,0,104,22,28,22,170,170,160,242,221,114,0,131,237,114,3,0,0,0,244,169,179,3,200,14,244,2,157,146,120,3,1,0,28,22,208,50,210,114,1,0,28,22,208,253,197,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,25,0,17,5,77,5,92,5,170,5,193,5,68,14,22,10,114,7,118,7,236,7,252,7,188,8,7,9,37,9,52,9,72,9,112,10,159,23,66,6,59,13,86,12,45,22,167,23,54,13,28,8,196,213,0,32,198,213,0,32,200,213,0,32,204,213,0,32,206,213,0,32,208,213,0,32,212,213,0,32,214,213,0,32,216,213,0,32,218,213,0,32,220,213,0,32,222,213,0,32,224,213,0,32,226,213,0,32,228,213,0,32,230,213,0,32,232,213,0,32,234,213,0,32,236,213,0,32,238,213,0,32,240,213,0,32,244,213,0,224,248,213,0,32,250,213,0,32,252,213,0,32,1,0,28,22,96,3,214,114,2,0,56,22,28,22,170,170,140,212,0,96,144,37,207,114,2,0,56,22,28,22,170,170,140,212,0,96,112,148,238,114,1,0,28,22,80,183,240,114,2,0,56,22,28,22,170,170,140,212,0,96,208,27,193,114,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,1,0,28,22,160,233,160,114,1,0,28,22,96,109,238,114,1,0,28,22,112,162,194,114,1,0,28,22,208,103,222,114,3,0,0,0,88,195,179,3,200,228,250,2,167,151,107,3,1,0,28,22,48,29,211,114,12,0,88,9,97,6,103,13,68,14,187,15,100,11,123,11,47,13,90,12,196,12,45,22,158,12,170,170,38,214,0,32,40,214,0,32,44,214,0,32,48,214,0,32,50,214,0,32,54,214,0,32,58,214,0,32,60,214,0,32,62,214,0,32,64,214,0,32,66,214,0,224,70,214,0,32,1,0,28,22,48,195,225,114,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,52,255,120,3,112,201,250,2,236,223,48,3,3,0,68,14,150,8,45,22,91,214,0,32,93,214,0,32,97,214,0,224,2,0,56,22,28,22,170,170,131,212,0,96,0,184,249,114,3,0,0,0,192,226,89,3,112,201,250,2,224,211,17,3,2,0,68,14,45,22,170,170,106,214,0,32,110,214,0,224,2,0,56,22,28,22,170,170,122,212,0,96,80,40,243,114,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,3,0,0,0,16,197,164,3,152,117,249,2,187,91,91,3,3,0,68,14,67,12,45,22,118,214,0,32,122,214,0,32,126,214,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,232,195,150,3,232,56,250,2,34,216,93,3,2,0,185,13,45,22,170,170,135,214,0,32,139,214,0,224,1,0,28,22,240,204,239,114,1,0,28,22,224,52,237,114,1,0,28,22,48,248,237,114,1,0,28,22,160,76,207,114,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,52,148,167,3,208,60,250,2,179,82,103,3,6,0,68,14,67,12,150,8,180,10,70,4,45,22,170,170,147,214,0,32,149,214,0,32,151,214,0,32,153,214,0,32,155,214,0,32,159,214,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,178,233,114,2,0,56,22,28,22,170,170,131,212,0,96,224,248,246,114,3,0,0,0,192,9,121,3,0,184,249,2,146,72,59,3,3,0,68,14,60,11,45,22,173,214,0,32,177,214,0,32,181,214,0,224,1,0,28,22,208,216,224,114,2,0,56,22,28,22,170,170,131,212,0,96,0,78,225,114,2,0,56,22,28,22,170,170,131,212,0,96,64,227,247,114,3,0,0,0,12,24,161,3,56,2,250,2,65,119,97,3,4,0,103,13,67,12,115,21,45,22,170,170,190,214,0,32,192,214,0,32,196,214,0,32,200,214,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,1,0,28,22,240,91,237,114,1,0,28,22,112,72,209,114,3,0,0,0,108,247,167,3,248,95,250,2,193,56,90,3,4,0,185,13,22,10,75,8,45,22,170,170,211,214,0,32,215,214,0,32,217,214,0,32,219,214,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,1,0,28,22,176,131,246,114,1,0,28,22,48,248,237,114,3,0,0,0,60,148,139,3,192,27,249,2,64,64,83,3,4,0,150,8,158,11,154,20,45,22,170,170,230,214,0,32,234,214,0,32,236,214,0,32,238,214,0,224,1,0,28,22,128,201,194,114,1,0,28,22,16,94,208,114,1,0,28,22,176,205,192,114,1,0,28,22,48,105,240,114,1,0,28,22,224,52,237,114,1,0,28,22,80,70,238,114,1,0,28,22,32,126,230,114,1,0,28,22,80,227,191,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,1,0,28,22,128,254,206,114,3,0,0,0,136,41,170,3,168,150,250,2,101,0,105,3,1,0,28,22,144,37,207,114,12,0,85,5,103,13,63,12,68,14,67,12,150,8,20,8,100,11,173,13,155,22,45,22,101,10,170,170,249,214,0,32,251,214,0,32,253,214,0,32,255,214,0,32,1,215,0,32,3,215,0,32,5,215,0,32,7,215,0,32,9,215,0,32,13,215,0,32,15,215,0,224,19,215,0,32,2,0,56,22,28,22,170,170,140,212,0,96,144,90,219,114,2,0,56,22,28,22,170,170,140,212,0,96,0,191,227,114,2,0,56,22,28,22,170,170,140,212,0,96,80,160,223,114,2,0,56,22,28,22,170,170,140,212,0,96,16,34,218,114,1,0,28,22,112,148,238,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,3,0,56,22,28,22,71,22,131,212,0,96,112,201,250,114,32,13,228,114,3,0,0,0,36,102,164,3,96,162,250,2,33,49,97,3,2,0,56,22,28,22,170,170,140,212,0,96,0,0,0,112,9,0,252,12,20,8,173,13,240,10,130,12,16,14,155,22,45,22,158,12,40,215,0,32,44,215,0,32,48,215,0,32,52,215,0,32,56,215,0,32,58,215,0,32,62,215,0,32,67,215,0,224,71,215,0,32,2,0,56,22,28,22,170,170,140,212,0,96,0,85,203,114,1,0,28,22,96,10,192,114,2,0,56,22,28,22,170,170,140,212,0,96,48,29,211,114,2,0,56,22,28,22,170,170,140,212,0,96,80,24,204,114,2,0,56,22,28,22,170,170,140,212,0,96,208,103,222,114,1,0,28,22,32,133,208,114,2,0,56,22,28,22,170,170,140,212,0,96,224,59,215,114,1,0,28,22,16,207,210,114,1,0,28,22,0,0,0,112,1,0,28,22,208,103,222,114,1,0,28,22,96,33,209,114,1,0,28,22,64,188,191,114,2,0,104,22,28,22,170,170,96,79,243,114,0,251,217,114,2,0,56,22,28,22,170,170,140,212,0,96,192,154,207,114,1,0,28,22,160,233,160,114,2,0,56,22,28,22,170,170,140,212,0,96,176,228,209,114,2,0,56,22,28,22,170,170,140,212,0,96,80,197,196,114,2,0,56,22,28,22,170,170,140,212,0,96,208,193,207,114,1,0,28,22,160,106,202,114,2,0,56,22,28,22,170,170,140,212,0,96,0,55,208,114,2,0,56,22,28,22,170,170,140,212,0,96,224,232,207,114,2,0,56,22,28,22,170,170,140,212,0,96,96,206,201,114,2,0,56,22,28,22,170,170,140,212,0,96,224,232,207,114,2,0,56,22,28,22,170,170,140,212,0,96,16,94,208,114,1,0,28,22,48,239,176,114,1,0,28,22,208,27,193,114,2,0,56,22,28,22,170,170,140,212,0,96,176,228,209,114,1,0,28,22,192,11,210,114,2,0,56,22,28,22,170,170,131,212,0,96,32,6,250,114,2,0,56,22,28,22,170,170,140,212,0,96,192,11,210,114,1,0,28,22,112,252,179,114,3,0,0,0,64,44,184,3,200,228,250,2,26,44,119,3,2,0,56,22,28,22,170,170,140,212,0,96,224,142,222,114,2,0,56,22,28,22,170,170,140,212,0,96,144,37,207,114,2,0,56,22,28,22,170,170,140,212,0,96,32,246,210,114,1,0,28,22,208,117,178,114,1,0,28,22,0,0,0,112,37,0,161,4,197,4,32,14,139,22,35,8,197,5,179,24,9,6,109,6,112,6,119,6,206,6,30,6,54,8,58,8,117,8,223,8,243,8,255,8,22,9,30,9,87,9,103,9,249,9,244,13,92,10,139,10,85,10,47,13,254,11,155,22,45,22,83,13,94,13,106,13,145,13,168,13,89,215,0,32,93,215,0,32,95,215,0,32,99,215,0,32,103,215,0,32,107,215,0,32,109,215,0,32,113,215,0,32,115,215,0,32,117,215,0,32,119,215,0,32,121,215,0,32,123,215,0,32,127,215,0,32,131,215,0,32,133,215,0,32,137,215,0,32,141,215,0,32,145,215,0,32,147,215,0,32,151,215,0,32,155,215,0,32,159,215,0,32,163,215,0,32,167,215,0,32,169,215,0,32,171,215,0,32,175,215,0,32,177,215,0,32,181,215,0,32,185,215,0,32,187,215,0,224,191,215,0,32,195,215,0,32,199,215,0,32,203,215,0,32,205,215,0,32,2,0,56,22,28,22,170,170,131,212,0,96,48,248,237,114,2,0,56,22,28,22,170,170,131,212,0,96,160,166,192,114,2,0,56,22,28,22,170,170,131,212,0,96,16,110,247,114,3,0,0,0,16,75,151,3,152,135,246,2,212,176,103,3,4,0,68,14,150,8,55,13,45,22,170,170,7,216,0,32,11,216,0,32,15,216,0,32,19,216,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,28,22,71,22,170,170,224,255,224,114,32,13,228,114,3,0,0,0,220,192,180,3,128,252,248,2,39,247,106,3,3,0,185,13,241,4,45,22,30,216,0,32,34,216,0,32,38,216,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,96,49,248,114,1,0,28,22,224,142,222,114,3,0,0,0,72,76,134,3,104,131,248,2,233,175,81,3,4,0,68,14,92,11,230,11,45,22,170,170,47,216,0,32,51,216,0,32,53,216,0,32,55,216,0,224,1,0,28,22,96,162,250,114,2,0,56,22,28,22,170,170,131,212,0,96,160,122,241,114,2,0,56,22,28,22,170,170,131,212,0,96,0,214,244,114,3,0,0,0,248,118,136,3,48,176,249,2,194,158,70,3,4,0,93,6,68,14,150,8,45,22,170,170,66,216,0,32,68,216,0,32,72,216,0,32,76,216,0,224,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,1,0,28,22,96,169,228,114,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,1,0,28,22,240,211,217,114,1,0,28,22,176,138,224,114,1,0,28,22,32,43,223,114,1,0,28,22,240,68,220,114,3,0,0,0,56,126,165,3,216,166,246,2,0,180,108,3,1,0,28,22,240,241,212,114,9,0,185,13,53,5,68,14,8,7,67,7,202,22,56,10,45,22,51,14,87,216,0,32,91,216,0,32,93,216,0,32,97,216,0,32,99,216,0,32,101,216,0,32,103,216,0,32,105,216,0,224,109,216,0,32,1,0,28,22,160,205,248,114,2,0,56,22,28,22,170,170,140,212,0,96,96,199,223,114,1,0,28,22,48,142,213,114,1,0,28,22,0,0,0,112,1,0,28,22,80,24,204,114,1,0,28,22,208,50,210,114,2,0,104,22,28,22,170,170,240,31,247,114,16,18,179,114,1,0,28,22,112,49,192,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,0,0,176,176,170,3,112,201,250,2,201,78,103,3,1,0,28,22,80,84,194,114,11,0,68,14,206,6,16,7,175,11,202,11,34,4,98,12,102,12,165,12,45,22,185,12,125,216,0,32,127,216,0,32,131,216,0,32,133,216,0,32,135,216,0,32,137,216,0,32,139,216,0,32,143,216,0,32,145,216,0,32,149,216,0,224,153,216,0,32,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,1,0,28,22,192,154,207,114,2,0,56,22,28,22,170,170,131,212,0,96,32,209,237,114,1,0,28,22,176,115,207,114,2,0,56,22,28,22,170,170,131,212,0,96,80,160,223,114,3,0,0,0,36,216,170,3,88,80,250,2,166,247,95,3,2,0,56,22,28,22,170,170,131,212,0,96,16,110,247,114,7,0,68,14,75,8,115,12,41,11,154,20,45,22,210,9,172,216,0,32,176,216,0,32,178,216,0,32,182,216,0,32,184,216,0,32,188,216,0,224,192,216,0,32,2,0,56,22,28,22,170,170,131,212,0,96,144,53,246,114,3,0,0,0,24,127,106,3,80,123,250,2,88,182,52,3,2,0,68,14,45,22,170,170,207,216,0,32,211,216,0,224,1,0,28,22,224,22,242,114,1,0,28,22,240,174,244,114,1,0,28,22,16,253,244,114,1,0,28,22,128,224,211,114,1,0,28,22,240,15,208,114,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,3,0,0,0,108,101,158,3,200,228,250,2,92,179,89,3,2,0,56,22,28,22,170,170,140,212,0,96,224,142,222,114,8,0,103,13,68,14,252,12,20,8,87,4,178,19,45,22,141,13,170,170,219,216,0,32,221,216,0,32,223,216,0,32,225,216,0,32,227,216,0,32,229,216,0,32,233,216,0,224,237,216,0,32,2,0,56,22,28,22,170,170,131,212,0,96,112,118,243,114,1,0,28,22,208,239,241,114,3,0,0,0,96,31,120,3,32,119,252,2,56,46,45,3,3,0,104,19,47,13,45,22,254,216,0,32,2,217,0,32,4,217,0,224,1,0,28,22,48,218,242,114,1,0,28,22,160,9,239,114,1,0,28,22,224,165,239,114,1,0,28,22,240,91,237,114,1,0,28,22,144,90,219,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,3,0,0,0,52,135,165,3,224,224,250,2,60,203,94,3,1,0,28,22,48,82,223,114,8,0,35,12,103,13,68,14,20,8,100,11,240,10,45,22,158,12,170,170,13,217,0,32,15,217,0,32,17,217,0,32,19,217,0,32,21,217,0,32,23,217,0,32,27,217,0,224,31,217,0,32,2,0,56,22,28,22,170,170,131,212,0,96,112,5,241,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,1,0,28,22,48,45,250,114,1,0,28,22,240,204,239,114,2,0,104,22,28,22,170,170,192,147,229,114,224,165,239,114,3,0,0,0,44,74,149,3,168,73,242,2,221,153,96,3,7,0,68,14,1,7,163,22,247,8,9,10,68,0,45,22,46,217,0,32,50,217,0,32,52,217,0,32,54,217,0,32,56,217,0,32,58,217,0,32,62,217,0,224,1,0,28,22,64,151,218,114,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,3,0,0,0,0,107,135,3,64,84,250,2,176,50,61,3,3,0,229,12,87,4,45,22,77,217,0,32,79,217,0,32,83,217,0,224,3,0,104,22,56,22,28,22,32,119,252,114,140,212,0,96,144,120,214,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,144,180,204,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,160,99,224,114,2,0,56,22,28,22,170,170,140,212,0,96,144,226,238,114,1,0,28,22,0,0,0,112,3,0,104,22,56,22,28,22,32,119,252,114,131,212,0,96,176,161,241,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,16,94,208,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,96,236,196,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,144,233,216,114,2,0,56,22,28,22,170,170,140,212,0,96,240,181,222,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,64,211,208,114,2,0,56,22,28,22,170,170,140,212,0,96,240,91,237,114,3,0,0,0,160,227,155,3,168,67,243,2,244,38,104,3,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,208,27,193,114,2,0,56,22,28,22,170,170,122,212,0,96,160,92,246,114,15,0,131,5,181,5,190,6,1,7,163,22,150,8,219,8,17,10,29,10,14,12,118,12,141,12,45,22,30,13,242,6,92,217,0,32,97,217,0,32,102,217,0,32,107,217,0,32,111,217,0,32,113,217,0,32,118,217,0,32,123,217,0,32,128,217,0,32,133,217,0,32,137,217,0,32,142,217,0,32,146,217,0,224,150,217,0,32,155,217,0,32,3,0,104,22,56,22,28,22,112,201,250,114,131,212,0,96,96,222,240,114,1,0,28,22,96,146,211,114,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,1,0,28,22,64,121,223,114,3,0,0,0,112,165,150,3,208,114,241,2,131,139,103,3,5,0,185,13,219,11,244,10,171,7,45,22,182,217,0,32,187,217,0,32,189,217,0,32,193,217,0,32,195,217,0,224,1,0,28,22,32,246,210,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,2,0,104,22,28,22,170,170,240,31,247,114,128,14,246,114,3,0,0,0,128,134,145,3,120,33,250,2,225,136,80,3,1,0,28,22,176,25,222,114,5,0,244,7,120,19,137,12,45,22,125,22,207,217,0,32,209,217,0,32,213,217,0,32,217,217,0,224,221,217,0,32,1,0,28,22,240,204,239,114,2,0,56,22,28,22,170,170,131,212,0,96,240,204,239,114,1,0,28,22,128,247,228,114,3,0,0,0,164,148,150,3,240,204,239,2,204,92,103,3,4,0,185,13,68,14,247,10,45,22,170,170,231,217,0,32,233,217,0,32,237,217,0,32,239,217,0,224,2,0,56,22,28,22,170,170,131,212,0,96,144,166,248,114,3,0,0,0,48,122,127,3,24,73,246,2,114,116,74,3,2,0,70,4,45,22,170,170,250,217,0,32,254,217,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,3,0,0,0,212,85,155,3,8,147,248,2,174,97,96,3,2,0,67,12,45,22,170,170,6,218,0,32,10,218,0,224,2,0,56,22,28,22,170,170,131,212,0,96,128,14,246,114,1,0,28,22,240,91,237,114,2,0,56,22,28,22,170,170,131,212,0,96,64,234,225,114,3,0,0,0,104,151,122,3,112,201,250,2,70,170,62,3,1,0,28,22,112,65,231,114,5,0,68,14,67,12,120,19,45,22,152,13,18,218,0,32,22,218,0,32,24,218,0,32,28,218,0,224,32,218,0,32,2,0,56,22,28,22,170,170,131,212,0,96,64,227,247,114,2,0,56,22,28,22,170,170,131,212,0,96,176,108,229,114,1,0,28,22,32,43,223,114,1,0,28,22,0,161,232,114,2,0,28,22,71,22,170,170,192,184,202,114,32,13,228,114,3,0,0,0,16,51,155,3,104,131,248,2,0,182,104,3,6,0,185,13,150,8,30,6,134,20,192,12,45,22,170,170,42,218,0,32,46,218,0,32,50,218,0,32,52,218,0,32,54,218,0,32,58,218,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,227,247,114,2,0,56,22,28,22,170,170,131,212,0,96,224,135,244,114,3,0,0,0,32,76,149,3,240,19,249,2,112,45,88,3,1,0,28,22,16,4,223,114,1,0,28,22,64,204,230,114,5,0,68,14,186,5,45,22,79,13,79,14,72,218,0,32,76,218,0,32,80,218,0,224,84,218,0,32,86,218,0,32,1,0,28,22,112,201,250,114,3,0,0,0,252,157,103,3,112,201,250,2,56,167,29,3,2,0,68,14,45,22,170,170,96,218,0,32,98,218,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,64,167,126,3,96,162,250,2,28,130,64,3,2,0,68,14,45,22,170,170,106,218,0,32,110,218,0,224,2,0,56,22,28,22,170,170,131,212,0,96,80,70,238,114,2,0,56,22,28,22,170,170,131,212,0,96,224,165,239,114,3,0,0,0,248,228,151,3,16,21,241,2,134,83,104,3,3,0,185,13,150,8,45,22,118,218,0,32,122,218,0,32,126,218,0,224,2,0,104,22,28,22,170,170,32,119,252,114,32,119,252,114,3,0,0,0,244,123,95,3,112,201,250,2,224,151,27,3,2,0,150,8,45,22,170,170,135,218,0,32,139,218,0,224,1,0,28,22,80,70,238,114,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,2,0,104,22,28,22,170,170,48,248,237,114,208,103,222,114,3,0,0,0,164,129,149,3,160,229,244,2,172,160,99,3,4,0,47,12,150,8,42,8,45,22,170,170,147,218,0,32,149,218,0,32,153,218,0,32,157,218,0,224,1,0,28,22,240,204,239,114,1,0,28,22,160,219,204,114,2,0,104,22,28,22,170,170,96,79,243,114,192,124,212,114,1,0,28,22,16,4,223,114,2,0,104,22,28,22,170,170,208,126,239,114,32,110,191,114,1,0,28,22,32,110,191,114,1,0,28,22,32,13,228,114,1,0,28,22,208,193,207,114,2,0,28,22,71,22,170,170,0,18,235,114,32,13,228,114,1,0,28,22,128,141,204,114,2,0,28,22,71,22,170,170,0,161,232,114,32,13,228,114,3,0,0,0,80,238,179,3,152,242,249,2,174,70,112,3,3,0,104,22,56,22,28,22,16,223,249,114,131,212,0,96,64,227,247,114,2,0,28,22,71,22,170,170,192,87,239,114,32,13,228,114,1,0,28,22,32,43,223,114,15,0,68,14,244,7,137,8,48,9,95,9,205,9,21,10,72,10,215,10,78,12,126,12,45,22,240,12,78,13,125,22,168,218,0,32,170,218,0,32,172,218,0,32,176,218,0,32,178,218,0,32,182,218,0,32,184,218,0,32,186,218,0,32,188,218,0,32,192,218,0,32,194,218,0,32,198,218,0,224,202,218,0,32,207,218,0,32,211,218,0,32,1,0,28,22,48,149,191,114,1,0,28,22,160,16,217,114,1,0,28,22,0,131,237,114,3,0,0,0,140,221,151,3,200,228,250,2,71,8,100,3,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,5,0,185,13,22,10,47,13,45,22,164,9,236,218,0,32,238,218,0,32,240,218,0,32,242,218,0,224,246,218,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,3,0,0,0,240,199,88,3,32,6,250,2,156,58,43,3,3,0,56,22,28,22,71,22,131,212,0,96,32,149,247,114,32,13,228,114,3,0,68,14,45,22,128,20,2,219,0,32,6,219,0,224,10,219,0,32,3,0,104,22,56,22,28,22,32,119,252,114,131,212,0,96,240,174,244,114,3,0,0,0,136,153,143,3,152,147,244,2,132,154,88,3,2,0,56,22,28,22,170,170,131,212,0,96,240,174,244,114,3,0,70,4,45,22,236,12,20,219,0,32,25,219,0,224,29,219,0,32,1,0,28,22,64,68,211,114,1,0,28,22,0,131,237,114,3,0,0,0,84,94,164,3,224,224,250,2,159,237,94,3,2,0,56,22,28,22,170,170,131,212,0,96,160,92,246,114,1,0,28,22,160,39,234,114,5,0,134,20,47,13,45,22,38,11,199,9,38,219,0,32,40,219,0,32,42,219,0,224,46,219,0,32,50,219,0,32,1,0,28,22,224,105,249,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,2,0,56,22,28,22,170,170,131,212,0,96,224,248,246,114,3,0,0,0,36,227,164,3,24,192,247,2,28,138,103,3,4,0,165,4,185,13,150,8,45,22,170,170,60,219,0,32,62,219,0,32,66,219,0,32,70,219,0,224,2,0,56,22,28,22,170,170,131,212,0,96,0,244,239,114,3,0,0,0,24,7,126,3,112,201,250,2,47,218,72,3,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,68,14,45,22,190,5,81,219,0,32,85,219,0,224,89,219,0,32,1,0,28,22,80,31,182,114,1,0,28,22,48,29,211,114,1,0,28,22,64,181,213,114,1,0,28,22,96,116,216,114,1,0,28,22,208,20,215,114,1,0,28,22,96,146,211,114,1,0,28,22,160,46,212,114,1,0,28,22,80,31,182,114,1,0,28,22,80,70,238,114,1,0,28,22,0,115,198,114,1,0,28,22,0,115,198,114,1,0,28,22,144,233,216,114,1,0,28,22,240,15,208,114,1,0,28,22,96,17,170,114,1,0,28,22,112,208,228,114,1,0,28,22,32,200,176,114,1,0,28,22,64,45,194,114,1,0,28,22,208,27,193,114,2,0,28,22,71,22,170,170,64,45,194,114,32,13,228,114,3,0,0,0,104,97,181,3,8,10,250,2,15,68,114,3,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,1,0,28,22,144,74,180,114,1,0,28,22,192,78,178,114,1,0,28,22,224,142,222,114,24,0,201,12,161,4,185,13,19,12,64,23,85,5,96,5,63,12,68,14,30,6,26,11,117,8,192,8,182,4,134,20,202,23,213,9,130,12,155,22,45,22,101,10,46,13,199,9,86,14,170,170,98,219,0,32,100,219,0,32,102,219,0,32,104,219,0,32,106,219,0,32,108,219,0,32,110,219,0,32,112,219,0,32,114,219,0,32,116,219,0,32,118,219,0,32,120,219,0,32,122,219,0,32,124,219,0,32,126,219,0,32,128,219,0,32,130,219,0,32,132,219,0,32,134,219,0,32,138,219,0,224,142,219,0,32,146,219,0,32,148,219,0,32,150,219,0,32,2,0,56,22,28,22,170,170,131,212,0,96,192,27,249,114,1,0,28,22,224,89,210,114,3,0,0,0,212,16,154,3,160,193,250,2,47,86,88,3,3,0,68,14,67,12,45,22,189,219,0,32,193,219,0,32,195,219,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,195,234,114,3,0,0,0,224,40,108,3,48,45,250,2,140,180,57,3,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,3,0,68,14,45,22,168,20,204,219,0,32,208,219,0,224,212,219,0,32,3,0,0,0,244,219,179,3,40,88,250,2,62,90,105,3,1,0,28,22,192,244,192,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,45,22,50,13,125,22,221,219,0,224,225,219,0,32,227,219,0,32,1,0,28,22,192,64,222,114,1,0,28,22,16,4,223,114,2,0,56,22,28,22,170,170,131,212,0,96,144,53,246,114,1,0,28,22,96,116,216,114,1,0,28,22,144,60,224,114,1,0,28,22,16,4,223,114,1,0,28,22,48,112,218,114,2,0,104,22,28,22,170,170,96,79,243,114,240,181,222,114,1,0,28,22,224,142,222,114,1,0,28,22,16,117,225,114,1,0,28,22,96,116,216,114,1,0,28,22,32,133,208,114,2,0,104,22,28,22,170,170,160,242,221,114,0,55,208,114,1,0,28,22,112,178,233,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,3,0,0,0,4,68,165,3,176,6,246,2,120,175,110,3,1,0,28,22,96,116,216,114,17,0,253,4,65,5,68,14,70,8,133,8,10,9,68,9,241,9,45,10,5,11,214,11,238,11,22,12,157,12,171,7,45,22,176,13,236,219,0,32,238,219,0,32,240,219,0,32,244,219,0,32,246,219,0,32,248,219,0,32,250,219,0,32,252,219,0,32,0,220,0,32,2,220,0,32,4,220,0,32,6,220,0,32,8,220,0,32,12,220,0,32,14,220,0,32,18,220,0,224,22,220,0,32,1,0,28,22,240,211,217,114,1,0,28,22,208,163,212,114,1,0,28,22,64,181,213,114,1,0,28,22,128,88,192,114,1,0,28,22,16,207,210,114,1,0,28,22,128,21,224,114,1,0,28,22,0,25,213,114,2,0,56,22,28,22,170,170,122,212,0,96,32,179,242,114,1,0,28,22,192,64,222,114,3,0,0,0,0,109,168,3,200,228,250,2,253,115,108,3,1,0,28,22,96,146,211,114,2,0,56,22,28,22,170,170,131,212,0,96,80,153,245,114,1,0,28,22,208,103,222,114,13,0,88,9,85,5,73,6,63,12,20,8,100,11,173,13,47,13,226,11,45,22,101,10,158,12,185,12,50,220,0,32,52,220,0,32,54,220,0,32,56,220,0,32,58,220,0,32,60,220,0,32,62,220,0,32,64,220,0,32,68,220,0,32,70,220,0,224,74,220,0,32,76,220,0,32,80,220,0,32,1,0,28,22,80,17,226,114,1,0,28,22,96,169,228,114,2,0,56,22,28,22,170,170,131,212,0,96,112,95,226,114,1,0,28,22,112,109,182,114,1,0,28,22,96,56,226,114,1,0,28,22,16,170,237,114,1,0,28,22,208,216,224,114,1,0,28,22,240,8,230,114,1,0,28,22,80,160,223,114,2,0,56,22,28,22,170,170,131,212,0,96,240,31,247,114,1,0,28,22,112,95,226,114,3,0,0,0,252,34,161,3,160,217,246,2,210,89,108,3,1,0,28,22,48,82,223,114,1,0,28,22,80,130,228,114,14,0,153,4,1,6,68,14,75,12,76,9,140,17,143,10,9,11,55,13,171,7,228,12,45,22,74,13,3,14,170,170,102,220,0,32,104,220,0,32,106,220,0,32,110,220,0,32,112,220,0,32,114,220,0,32,116,220,0,32,118,220,0,32,120,220,0,32,122,220,0,32,126,220,0,32,128,220,0,224,132,220,0,32,134,220,0,32,2,0,56,22,28,22,170,170,122,212,0,96,32,119,252,114,3,0,0,0,176,147,104,3,112,201,250,2,96,71,30,3,2,0,68,14,45,22,170,170,158,220,0,32,162,220,0,224,1,0,28,22,0,0,0,112,1,0,28,22,80,174,179,114,2,0,28,22,71,22,170,170,16,101,186,114,32,13,228,114,1,0,28,22,0,0,0,112,1,0,28,22,240,165,183,114,1,0,28,22,176,85,212,114,2,0,56,22,28,22,170,170,122,212,0,96,64,84,250,114,2,0,56,22,28,22,170,170,140,212,0,96,0,18,235,114,1,0,28,22,48,66,184,114,1,0,28,22,96,146,211,114,1,0,28,22,64,181,213,114,1,0,28,22,128,118,187,114,2,0,56,22,28,22,170,170,140,212,0,96,208,57,188,114,1,0,28,22,176,62,195,114,2,0,28,22,71,22,170,170,192,78,178,114,32,13,228,114,1,0,28,22,0,0,0,112,1,0,28,22,224,89,210,114,1,0,28,22,0,0,0,112,1,0,28,22,160,189,209,114,1,0,28,22,208,117,178,114,1,0,28,22,0,122,176,114,1,0,28,22,160,136,197,114,1,0,28,22,0,0,0,112,1,0,28,22,240,218,195,114,1,0,28,22,64,211,208,114,3,0,0,0,20,71,196,3,112,201,250,2,223,21,122,3,1,0,28,22,224,89,210,114,1,0,28,22,144,97,197,114,1,0,28,22,16,177,215,114,29,0,233,5,17,6,25,6,33,6,115,6,103,13,68,14,67,12,229,6,12,7,150,8,27,7,13,23,244,7,116,5,210,23,87,4,213,23,97,11,139,9,108,10,251,10,29,11,72,11,47,13,45,22,149,13,185,12,125,22,170,220,0,32,172,220,0,32,174,220,0,32,178,220,0,32,180,220,0,32,182,220,0,32,184,220,0,32,188,220,0,32,192,220,0,32,194,220,0,32,196,220,0,32,198,220,0,32,200,220,0,32,204,220,0,32,206,220,0,32,210,220,0,32,212,220,0,32,214,220,0,32,216,220,0,32,218,220,0,32,220,220,0,32,222,220,0,32,224,220,0,32,226,220,0,32,228,220,0,32,230,220,0,224,234,220,0,32,236,220,0,32,238,220,0,32,2,0,56,22,28,22,170,170,131,212,0,96,192,27,249,114,3,0,0,0,32,116,159,3,72,166,250,2,73,169,91,3,2,0,67,12,45,22,170,170,28,221,0,32,32,221,0,224,1,0,28,22,0,221,222,114,1,0,28,22,32,209,237,114,3,0,0,0,88,48,166,3,16,217,250,2,54,106,106,3,1,0,28,22,128,194,216,114,2,0,56,22,28,22,170,170,131,212,0,96,144,166,248,114,2,0,56,22,28,22,170,170,131,212,0,96,48,248,237,114,6,0,93,8,47,13,45,22,101,10,199,9,230,22,170,170,40,221,0,32,42,221,0,32,44,221,0,224,48,221,0,32,50,221,0,32,54,221,0,32,2,0,56,22,28,22,170,170,122,212,0,96,96,49,248,114,1,0,28,22,96,49,248,114,3,0,0,0,164,106,107,3,32,119,252,2,224,61,42,3,3,0,87,4,195,0,45,22,68,221,0,32,72,221,0,32,74,221,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,228,50,134,3,64,84,250,2,206,199,72,3,2,0,68,14,45,22,170,170,83,221,0,32,87,221,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,49,248,114,3,0,0,0,224,155,168,3,184,64,250,2,46,31,106,3,1,0,28,22,160,83,185,114,3,0,67,12,45,22,234,22,95,221,0,32,99,221,0,224,103,221,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,160,163,124,3,144,154,250,2,178,173,61,3,2,0,68,14,45,22,170,170,110,221,0,32,114,221,0,224,2,0,56,22,28,22,170,170,122,212,0,96,240,31,247,114,3,0,0,0,64,45,138,3,112,201,250,2,187,218,72,3,2,0,68,14,45,22,170,170,122,221,0,32,126,221,0,224,1,0,28,22,16,177,215,114,2,0,104,22,28,22,170,170,0,214,244,114,16,124,203,114,1,0,28,22,208,193,207,114,3,0,0,0,60,175,172,3,176,238,249,2,141,208,116,3,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,176,25,222,114,6,0,143,5,41,6,244,7,45,22,149,13,125,22,170,170,134,221,0,32,136,221,0,32,140,221,0,32,142,221,0,224,146,221,0,32,150,221,0,32,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,2,0,56,22,28,22,170,170,131,212,0,96,112,88,248,114,2,0,56,22,28,22,170,170,131,212,0,96,96,79,243,114,3,0,0,0,32,202,128,3,64,96,248,2,29,201,75,3,4,0,112,5,68,14,150,8,45,22,170,170,162,221,0,32,166,221,0,32,170,221,0,32,174,221,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,1,243,114,1,0,28,22,32,66,240,114,3,0,0,0,0,232,110,3,96,79,243,2,204,100,58,3,1,0,28,22,0,214,244,114,4,0,150,8,51,7,45,22,99,19,170,170,185,221,0,32,189,221,0,32,191,221,0,224,195,221,0,32,2,0,56,22,28,22,170,170,131,212,0,96,80,160,223,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,228,0,134,3,160,193,250,2,190,87,74,3,3,0,68,14,183,19,45,22,204,221,0,32,208,221,0,32,212,221,0,224,1,0,28,22,224,248,246,114,2,0,56,22,28,22,170,170,131,212,0,96,0,184,249,114,2,0,56,22,28,22,170,170,131,212,0,96,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,32,13,228,114,3,0,0,0,160,132,150,3,24,180,249,2,253,112,89,3,5,0,193,4,130,12,16,14,155,22,45,22,221,221,0,32,223,221,0,32,227,221,0,32,231,221,0,32,235,221,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,248,246,114,1,0,28,22,160,39,234,114,3,0,0,0,44,195,158,3,8,165,245,2,156,79,106,3,3,0,185,13,68,14,45,22,247,221,0,32,251,221,0,32,253,221,0,224,1,0,28,22,176,48,239,114,2,0,56,22,28,22,170,170,131,212,0,96,208,96,244,114,1,0,28,22,224,142,222,114,1,0,28,22,192,27,249,114,3,0,0,0,128,143,131,3,0,184,249,2,144,49,74,3,5,0,201,5,150,8,171,7,168,12,45,22,6,222,0,32,8,222,0,32,12,222,0,32,14,222,0,32,16,222,0,224,3,0,104,22,56,22,28,22,112,201,250,114,140,212,0,96,16,170,237,114,3,0,104,22,56,22,28,22,112,201,250,114,131,212,0,96,48,105,240,114,2,0,104,22,28,22,170,170,144,53,246,114,64,121,223,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,0,221,222,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,224,195,234,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,176,138,224,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,240,121,232,114,2,0,104,22,28,22,170,170,96,79,243,114,96,100,177,114,3,0,0,0,32,126,174,3,16,223,249,2,220,93,110,3,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,32,239,232,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,192,34,227,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,112,238,223,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,96,109,238,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,192,87,239,114,14,0,251,11,68,14,75,12,0,14,243,10,186,5,198,15,171,7,45,22,207,23,79,13,138,13,228,13,79,14,170,170,28,222,0,32,33,222,0,32,38,222,0,32,42,222,0,32,47,222,0,32,52,222,0,32,57,222,0,32,62,222,0,32,66,222,0,224,70,222,0,32,75,222,0,32,80,222,0,32,85,222,0,32,90,222,0,32,1,0,28,22,48,105,240,114,2,0,56,22,28,22,170,170,131,212,0,96,64,31,238,114,1,0,28,22,192,147,229,114,1,0,28,22,48,248,237,114,3,0,0,0,148,11,158,3,176,12,245,2,250,104,104,3,5,0,57,5,68,14,155,9,2,11,45,22,117,222,0,32,119,222,0,32,123,222,0,32,125,222,0,32,127,222,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,22,242,114,1,0,28,22,80,130,228,114,1,0,28,22,16,87,230,114,2,0,56,22,28,22,170,170,131,212,0,96,0,131,237,114,1,0,28,22,208,186,229,114,1,0,28,22,48,82,223,114,2,0,56,22,28,22,170,170,131,212,0,96,80,10,248,114,3,0,0,0,172,193,152,3,224,111,248,2,119,248,103,3,1,0,28,22,32,133,208,114,1,0,28,22,192,237,214,114,10,0,68,14,129,8,132,10,123,13,167,10,2,11,17,8,45,22,207,23,138,13,170,170,139,222,0,32,143,222,0,32,145,222,0,32,147,222,0,32,151,222,0,32,153,222,0,32,155,222,0,32,159,222,0,224,163,222,0,32,165,222,0,32,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,45,22,183,222,0,224,1,1,25,22,237,15,35,3,38,3,240,15,101,22,41,3,243,15,246,15,119,22,249,15,122,22,252,15,255,15,133,22,136,22,44,3,2,16,5,16,47,3,8,16,11,16,14,16,50,3,17,16,20,16,171,22,174,22,23,16,25,24,26,16,31,24,241,14,29,16,185,22,32,16,35,16,26,15,61,24,196,22,38,16,41,16,44,16,85,24,47,16,199,22,29,15,50,16,53,3,32,15,247,22,35,15,53,16,56,16,250,22,56,3,59,16,62,16,65,16,253,22,59,3,68,16,71,16,74,16,62,3,0,23,37,24,77,16,65,3,68,3,71,3,43,24,74,3,80,16,83,16,3,23,86,16,6,23,89,16,92,16,38,15,95,16,98,16,17,23,20,23,101,16,23,23,104,16,107,16,110,16,35,23,49,24,113,16,38,23,41,15,41,23,116,16,119,16,143,15,44,23,122,16,125,16,121,15,128,16,47,23,77,3,131,16,80,3,50,23,73,24,61,23,83,3,86,3,134,16,91,24,72,23,137,16,89,3,92,3,140,16,143,16,146,16,149,16,95,3,152,16,155,16,98,3,101,3,44,15,158,16,161,16,104,3,164,16,167,16,170,16,47,15,173,16,176,16,179,16,182,16,107,3,110,3,185,16,188,16,191,16,118,23,194,16,197,16,200,16,203,16,50,15,206,16,113,3,129,23,132,23,116,3,135,23,209,16,212,16,119,3,215,16,53,15,122,3,218,16,221,16,138,23,125,3,141,23,224,16,56,15,227,16,230,16,233,16,236,16,153,23,239,16,128,3,59,15,55,24,156,23,242,16,62,15,131,3,245,16,175,23,178,23,65,15,134,3,127,15,68,15,248,16,137,3,181,23,251,16,254,16,1,17,4,17,140,3,7,17,10,17,143,3,13,17,146,3,16,17,19,17,184,23,22,17,25,17,28,17,31,17,34,17,37,17,40,17,43,17,71,15,187,23,149,3,46,17,190,23,193,23,152,3,196,23,49,17,155,3,158,3,199,23,52,17,161,3,164,3,55,17,167,3,58,17,61,17,188,24,64,17,67,17,70,17,73,17,150,14,76,17,170,3,217,23,79,17,74,15,220,23,223,23,82,17,85,17,88,17,91,17,173,3,176,3,226,23,133,24,94,17,97,17,229,23,160,191,0,32,176,191,0,32,201,191,0,32,244,191,0,32,14,192,0,32,27,192,0,32,43,192,0,32,62,192,0,32,85,192,0,32,99,192,0,32,117,192,0,32,137,192,0,32,170,192,0,32,200,192,0,32,224,192,0,32,239,192,0,32,7,193,0,32,46,193,0,32,65,193,0,32,99,193,0,32,140,193,0,32,167,193,0,32,193,193,0,32,213,193,0,32,236,193,0,32,0,194,0,32,15,194,0,32,27,194,0,32,47,194,0,32,75,194,0,32,95,194,0,32,132,194,0,32,160,194,0,32,180,194,0,32,196,194,0,32,214,194,0,32,233,194,0,32,248,194,0,32,139,195,0,32,240,195,0,32,19,196,0,32,47,196,0,32,64,196,0,32,106,196,0,32,149,196,0,32,168,196,0,32,184,196,0,32,27,197,0,32,141,197,0,32,194,197,0,32,207,197,0,32,219,197,0,32,231,197,0,32,245,197,0,32,8,198,0,32,23,198,0,32,47,198,0,32,74,198,0,32,154,198,0,32,202,198,0,32,222,198,0,32,254,198,0,32,19,199,0,32,33,199,0,32,58,199,0,32,76,199,0,32,94,199,0,32,117,199,0,32,141,199,0,32,157,199,0,32,186,199,0,32,233,199,0,32,17,200,0,32,63,200,0,32,100,200,0,32,118,200,0,32,140,200,0,32,159,200,0,32,211,200,0,32,249,200,0,32,59,201,0,32,104,201,0,32,132,201,0,32,159,201,0,32,175,201,0,32,215,201,0,32,245,201,0,32,4,202,0,32,23,202,0,32,51,202,0,32,72,202,0,32,96,202,0,32,132,202,0,32,157,202,0,32,173,202,0,32,190,202,0,32,209,202,0,32,225,202,0,32,245,202,0,32,5,203,0,32,19,203,0,32,42,203,0,32,63,203,0,32,90,203,0,32,112,203,0,32,194,203,0,32,255,203,0,32,38,204,0,32,70,204,0,32,38,205,0,32,166,205,0,32,194,205,0,32,5,206,0,32,49,206,0,32,108,206,0,32,147,206,0,32,161,206,0,32,176,206,0,32,195,206,0,32,4,207,0,32,48,207,0,32,65,207,0,32,84,207,0,32,109,207,0,32,125,207,0,32,137,207,0,32,149,207,0,32,161,207,0,32,173,207,0,32,195,207,0,32,219,207,0,32,243,207,0,32,5,208,0,32,24,208,0,32,45,208,0,32,72,208,0,32,103,208,0,32,129,208,0,32,160,208,0,32,184,208,0,32,200,208,0,32,241,208,0,32,12,209,0,32,32,209,0,32,54,209,0,32,69,209,0,32,89,209,0,32,108,209,0,32,127,209,0,32,168,209,0,32,211,209,0,32,240,209,0,32,10,210,0,32,28,210,0,32,41,210,0,32,61,210,0,32,79,210,0,32,99,210,0,32,127,210,0,32,148,210,0,32,171,210,0,32,207,210,0,32,251,210,0,32,44,211,0,32,86,211,0,32,108,211,0,32,136,211,0,32,160,211,0,32,214,211,0,32,253,211,0,32,41,212,0,32,81,212,0,32,153,212,0,32,209,212,0,32,226,212,0,32,243,212,0,32,4,213,0,32,23,213,0,32,44,213,0,32,65,213,0,32,90,213,0,32,164,213,0,32,0,214,0,32,72,214,0,32,101,214,0,32,114,214,0,32,130,214,0,32,143,214,0,32,163,214,0,32,185,214,0,32,204,214,0,32,223,214,0,32,242,214,0,32,21,215,0,32,75,215,0,32,207,215,0,32,23,216,0,32,42,216,0,32,59,216,0,32,80,216,0,32,111,216,0,32,155,216,0,32,196,216,0,32,215,216,0,32,241,216,0,32,8,217,0,32,33,217,0,32,66,217,0,32,87,217,0,32,159,217,0,32,199,217,0,32,223,217,0,32,243,217,0,32,2,218,0,32,14,218,0,32,34,218,0,32,62,218,0,32,88,218,0,32,102,218,0,32,114,218,0,32,130,218,0,32,143,218,0,32,161,218,0,32,213,218,0,32,250,218,0,32,15,219,0,32,33,219,0,32,52,219,0,32,74,219,0,32,93,219,0,32,152,219,0,32,199,219,0,32,216,219,0,32,231,219,0,32,24,220,0,32,82,220,0,32,136,220,0,32,166,220,0,32,240,220,0,32,36,221,0,32,58,221,0,32,78,221,0,32,91,221,0,32,105,221,0,32,118,221,0,32,130,221,0,32,152,221,0,32,178,221,0,32,197,221,0,32,216,221,0,32,239,221,0,32,1,222,0,32,20,222,0,32,95,222,0,32,131,222,0,32,167,222,0,32,187,222,0,32,2,0,241,23,249,23,170,170,60,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,63,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,68,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,71,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,76,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,81,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,86,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,91,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,95,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,98,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,101,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,106,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,109,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,112,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,117,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,125,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,129,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,133,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,138,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,142,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,145,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,148,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,152,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,157,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,160,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,163,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,166,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,171,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,176,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,186,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,189,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,194,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,197,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,202,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,205,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,210,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,215,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,220,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,223,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,227,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,230,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,234,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,237,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,242,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,247,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,251,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,0,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,10,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,15,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,20,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,23,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,28,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,38,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,41,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,46,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,54,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,59,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,64,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,69,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,74,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,79,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,82,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,87,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,92,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,95,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,100,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,110,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,115,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,120,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,125,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,128,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,131,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,134,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,139,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,144,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,148,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,151,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,156,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,159,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,164,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,167,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,172,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,175,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,178,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,183,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,188,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,193,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,198,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,201,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,206,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,211,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,216,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,219,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,222,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,232,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,237,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,240,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,245,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,248,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,253,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,2,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,10,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,13,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,18,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,23,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,28,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,32,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,37,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,42,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,47,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,52,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,57,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,62,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,67,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,72,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,77,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,82,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,85,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,90,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,95,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,100,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,104,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,109,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,114,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,117,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,122,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,126,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,131,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,136,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,141,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,144,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,147,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,151,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,154,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,157,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,162,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,172,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,177,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,182,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,187,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,192,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,195,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,200,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,205,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,208,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,211,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,214,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,219,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,224,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,229,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,232,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,237,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,245,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,250,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,255,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,4,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,7,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,10,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,14,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,19,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,24,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,29,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,34,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,39,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,44,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,48,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,51,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,56,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,60,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,63,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,66,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,71,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,76,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,81,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,84,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,87,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,92,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,97,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,100,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,103,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,112,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,115,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,120,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,125,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,129,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,139,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,144,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,149,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,162,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,167,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,171,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,175,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,178,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,181,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,186,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,189,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,194,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,199,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,204,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,209,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,214,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,219,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,223,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,227,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,230,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,233,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,236,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,241,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,244,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,249,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,252,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,255,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,4,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,9,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,14,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,18,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,23,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,28,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,33,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,38,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,42,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,46,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,51,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,56,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,61,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,66,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,69,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,72,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,75,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,78,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,82,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,87,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,90,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,95,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,100,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,103,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,108,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,113,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,117,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,122,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,127,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,132,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,137,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,142,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,147,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,152,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,156,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,160,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,165,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,169,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,173,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,177,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,181,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,185,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,190,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,195,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,200,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,204,53,1,144,2,39,0,96,16,1,12,24,25,22,237,15,35,3,38,3,240,15,101,22,41,3,243,15,246,15,249,15,122,22,252,15,255,15,133,22,136,22,44,3,2,16,5,16,47,3,8,16,11,16,14,16,50,3,17,16,20,16,171,22,174,22,23,16,25,24,26,16,31,24,241,14,29,16,32,16,35,16,26,15,61,24,196,22,38,16,41,16,44,16,85,24,47,16,199,22,29,15,50,16,53,3,32,15,247,22,35,15,53,16,56,16,56,3,59,16,62,16,65,16,253,22,59,3,68,16,71,16,74,16,62,3,0,23,37,24,77,16,65,3,68,3,71,3,43,24,74,3,80,16,83,16,3,23,86,16,6,23,89,16,92,16,38,15,95,16,98,16,17,23,20,23,101,16,23,23,104,16,107,16,110,16,35,23,49,24,113,16,41,15,41,23,116,16,119,16,143,15,122,16,125,16,128,16,47,23,77,3,131,16,80,3,50,23,73,24,61,23,83,3,86,3,134,16,91,24,72,23,137,16,89,3,92,3,140,16,143,16,146,16,149,16,95,3,152,16,155,16,98,3,101,3,44,15,158,16,161,16,104,3,164,16,167,16,170,16,47,15,173,16,176,16,179,16,182,16,107,3,110,3,185,16,188,16,191,16,118,23,194,16,197,16,200,16,203,16,50,15,206,16,113,3,129,23,132,23,116,3,135,23,209,16,212,16,119,3,215,16,53,15,122,3,218,16,221,16,138,23,125,3,141,23,224,16,56,15,227,16,230,16,233,16,236,16,153,23,239,16,128,3,59,15,55,24,156,23,242,16,62,15,131,3,245,16,175,23,178,23,65,15,134,3,127,15,68,15,248,16,137,3,181,23,251,16,254,16,1,17,4,17,140,3,7,17,10,17,143,3,13,17,146,3,16,17,19,17,184,23,22,17,25,17,28,17,31,17,34,17,37,17,40,17,43,17,71,15,187,23,149,3,46,17,190,23,193,23,152,3,196,23,49,17,155,3,158,3,52,17,161,3,164,3,55,17,167,3,58,17,188,24,64,17,67,17,70,17,73,17,150,14,76,17,170,3,217,23,79,17,74,15,220,23,223,23,82,17,85,17,88,17,91,17,173,3,176,3,226,23,133,24,94,17,97,17,3,24,9,24,16,24,91,15,22,24,28,24,34,24,40,24,46,24,52,24,58,24,64,24,70,24,76,24,82,24,88,24,94,24,100,24,106,24,112,24,118,24,124,24,130,24,170,170,63,224,0,32,67,224,0,32,71,224,0,32,75,224,0,32,79,224,0,32,83,224,0,32,87,224,0,32,91,224,0,32,95,224,0,32,99,224,0,32,103,224,0,32,107,224,0,32,111,224,0,32,115,224,0,32,119,224,0,32,120,49,1,80,123,224,0,32,127,224,0,32,131,224,0,32,135,224,0,32,139,224,0,32,143,224,0,32,147,224,0,32,151,224,0,32,155,224,0,32,159,224,0,32,163,224,0,32,167,224,0,32,171,224,0,32,175,224,0,32,181,49,1,80,179,224,0,32,183,224,0,32,187,224,0,32,191,224,0,32,195,224,0,32,199,224,0,32,203,224,0,32,207,224,0,32,211,224,0,32,215,224,0,32,219,224,0,32,223,224,0,32,227,224,0,32,231,224,0,32,235,224,0,32,239,224,0,32,243,224,0,32,247,224,0,32,5,50,1,80,251,224,0,32,255,224,0,32,3,225,0,32,7,225,0,32,11,225,0,32,33,50,1,80,15,225,0,32,19,225,0,32,23,225,0,32,49,50,1,80,27,225,0,32,31,225,0,32,35,225,0,32,39,225,0,32,43,225,0,32,47,225,0,32,51,225,0,32,55,225,0,32,59,225,0,32,63,225,0,32,67,225,0,32,105,50,1,80,71,225,0,32,75,225,0,32,79,225,0,32,83,225,0,32,87,225,0,32,91,225,0,32,95,225,0,32,99,225,0,32,103,225,0,32,107,225,0,32,111,225,0,32,115,225,0,32,119,225,0,32,123,225,0,32,127,225,0,32,131,225,0,32,135,225,0,32,139,225,0,32,143,225,0,32,147,225,0,32,151,225,0,32,155,225,0,32,159,225,0,32,163,225,0,32,167,225,0,32,171,225,0,32,175,225,0,32,179,225,0,32,227,50,1,80,183,225,0,32,187,225,0,32,191,225,0,32,195,225,0,32,199,225,0,32,203,225,0,32,207,225,0,32,5,51,1,80,211,225,0,32,215,225,0,32,219,225,0,32,223,225,0,32,227,225,0,32,231,225,0,32,235,225,0,32,239,225,0,32,243,225,0,32,247,225,0,32,251,225,0,32,255,225,0,32,3,226,0,32,7,226,0,32,11,226,0,32,15,226,0,32,19,226,0,32,23,226,0,32,27,226,0,32,31,226,0,32,35,226,0,32,39,226,0,32,43,226,0,32,47,226,0,32,51,226,0,32,55,226,0,32,59,226,0,32,63,226,0,32,67,226,0,32,71,226,0,32,75,226,0,32,79,226,0,32,83,226,0,32,87,226,0,32,91,226,0,32,167,51,1,80,95,226,0,32,99,226,0,32,103,226,0,32,107,226,0,32,111,226,0,32,115,226,0,32,119,226,0,32,123,226,0,32,127,226,0,32,131,226,0,32,135,226,0,32,139,226,0,32,143,226,0,32,147,226,0,32,151,226,0,32,155,226,0,32,240,51,1,80,159,226,0,32,163,226,0,32,167,226,0,32,171,226,0,32,175,226,0,32,179,226,0,32,183,226,0,32,187,226,0,32,191,226,0,32,195,226,0,32,199,226,0,32,203,226,0,32,207,226,0,32,211,226,0,32,215,226,0,32,219,226,0,32,223,226,0,32,227,226,0,32,231,226,0,32,235,226,0,32,239,226,0,32,243,226,0,32,247,226,0,32,251,226,0,32,255,226,0,32,3,227,0,32,7,227,0,32,11,227,0,32,107,52,1,80,15,227,0,32,19,227,0,32,23,227,0,32,27,227,0,32,31,227,0,32,134,52,1,80,35,227,0,32,39,227,0,32,43,227,0,32,152,52,1,80,157,52,1,80,47,227,0,32,51,227,0,32,55,227,0,32,59,227,0,32,63,227,0,32,67,227,0,32,71,227,0,32,75,227,0,32,79,227,0,32,83,227,0,32,87,227,0,32,91,227,0,32,95,227,0,32,99,227,0,32,103,227,0,32,107,227,0,32,111,227,0,32,115,227,0,32,119,227,0,32,123,227,0,32,127,227,0,32,131,227,0,32,135,227,0,32,139,227,0,32,143,227,0,32,147,227,0,32,151,227,0,32,155,227,0,32,159,227,0,32,163,227,0,32,167,227,0,32,171,227,0,32,175,227,0,32,179,227,0,32,183,227,0,32,187,227,0,32,191,227,0,32,195,227,0,32,199,227,0,32,203,227,0,32,207,227,0,32,211,227,0,32,215,227,0,32,219,227,0,32,223,227,0,32,227,227,0,32,231,227,0,32,235,227,0,32,239,227,0,32,243,227,0,32,247,227,0,32,251,227,0,32,255,227,0,32,3,228,0,32,7,228,0,32,11,228,0,32,15,228,0,32,19,228,0,32,23,228,0,32,27,228,0,32,31,228,0,32,35,228,0,32,39,228,0,32,43,228,0,32,47,228,0,32,51,228,0,32,55,228,0,32,59,228,0,32,63,228,0,32,67,228,0,32,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,6,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,156,0,12,24,237,15,35,3,38,3,240,15,101,22,41,3,243,15,145,24,249,15,122,22,252,15,255,15,136,22,44,3,2,16,47,3,8,16,14,16,50,3,174,22,23,16,31,24,241,14,29,16,32,16,35,16,26,15,61,24,85,24,29,15,50,16,53,3,32,15,35,15,59,16,62,16,65,16,59,3,68,16,71,16,74,16,62,3,37,24,77,16,65,3,43,24,74,3,80,16,83,16,6,23,89,16,38,15,98,16,17,23,20,23,23,23,35,23,113,16,41,15,41,23,143,15,122,16,125,16,128,16,77,3,131,16,80,3,50,23,73,24,83,3,86,3,134,16,91,24,72,23,137,16,89,3,92,3,140,16,143,16,146,16,98,3,101,3,158,16,161,16,104,3,167,16,170,16,176,16,179,16,182,16,107,3,185,16,188,16,191,16,197,16,200,16,50,15,206,16,113,3,132,23,209,16,119,3,53,15,122,3,218,16,56,15,227,16,230,16,233,16,239,16,128,3,59,15,55,24,62,15,131,3,245,16,65,15,127,15,248,16,137,3,181,23,251,16,254,16,1,17,140,3,143,3,13,17,146,3,19,17,184,23,22,17,28,17,71,15,149,3,155,3,158,3,161,3,167,3,58,17,188,24,67,17,70,17,73,17,150,14,76,17,170,3,217,23,74,15,223,23,82,17,91,17,173,3,176,3,133,24,97,17,170,170,224,229,0,224,231,229,0,224,238,229,0,224,245,229,0,224,252,229,0,224,3,230,0,224,10,230,0,224,17,230,0,224,24,230,0,224,31,230,0,224,38,230,0,224,45,230,0,224,52,230,0,224,59,230,0,224,66,230,0,224,73,230,0,224,80,230,0,224,87,230,0,224,94,230,0,224,101,230,0,224,108,230,0,224,115,230,0,224,122,230,0,224,129,230,0,224,136,230,0,224,143,230,0,224,150,230,0,224,157,230,0,224,164,230,0,224,171,230,0,224,178,230,0,224,185,230,0,224,192,230,0,224,199,230,0,224,206,230,0,224,213,230,0,224,220,230,0,224,227,230,0,224,234,230,0,224,241,230,0,224,248,230,0,224,255,230,0,224,6,231,0,224,13,231,0,224,20,231,0,224,27,231,0,224,34,231,0,224,41,231,0,224,48,231,0,224,55,231,0,224,62,231,0,224,69,231,0,224,76,231,0,224,83,231,0,224,90,231,0,224,97,231,0,224,104,231,0,224,111,231,0,224,118,231,0,224,125,231,0,224,132,231,0,224,139,231,0,224,146,231,0,224,153,231,0,224,160,231,0,224,167,231,0,224,174,231,0,224,181,231,0,224,188,231,0,224,195,231,0,224,202,231,0,224,209,231,0,224,216,231,0,224,223,231,0,224,230,231,0,224,237,231,0,224,244,231,0,224,251,231,0,224,2,232,0,224,9,232,0,224,16,232,0,224,23,232,0,224,30,232,0,224,37,232,0,224,44,232,0,224,51,232,0,224,58,232,0,224,65,232,0,224,72,232,0,224,79,232,0,224,86,232,0,224,93,232,0,224,100,232,0,224,107,232,0,224,114,232,0,224,121,232,0,224,128,232,0,224,135,232,0,224,142,232,0,224,149,232,0,224,156,232,0,224,163,232,0,224,170,232,0,224,177,232,0,224,184,232,0,224,191,232,0,224,198,232,0,224,205,232,0,224,212,232,0,224,219,232,0,224,226,232,0,224,233,232,0,224,240,232,0,224,247,232,0,224,254,232,0,224,5,233,0,224,12,233,0,224,19,233,0,224,26,233,0,224,33,233,0,224,40,233,0,224,47,233,0,224,54,233,0,224,61,233,0,224,68,233,0,224,75,233,0,224,82,233,0,224,89,233,0,224,96,233,0,224,103,233,0,224,110,233,0,224,117,233,0,224,124,233,0,224,131,233,0,224,138,233,0,224,145,233,0,224,152,233,0,224,159,233,0,224,166,233,0,224,173,233,0,224,180,233,0,224,187,233,0,224,194,233,0,224,201,233,0,224,208,233,0,224,215,233,0,224,222,233,0,224,229,233,0,224,236,233,0,224,243,233,0,224,250,233,0,224,1,234,0,224,8,234,0,224,15,234,0,224,22,234,0,224,29,234,0,224,1,0,0,0,1,0,0,0,1,0,38,15,15,235,0,224,74,0,251,11,3,12,185,13,19,12,88,9,85,5,151,5,178,5,122,8,35,12,213,12,106,17,103,13,63,12,68,14,67,12,237,12,199,19,22,10,206,6,12,7,150,8,180,10,174,7,75,12,252,12,20,8,30,6,83,12,93,11,87,4,182,24,38,6,26,11,182,4,98,21,216,8,97,11,222,6,51,8,187,15,202,9,53,10,75,8,244,13,248,13,115,12,104,19,120,19,253,7,41,11,100,11,70,4,173,13,47,13,67,13,240,10,178,19,130,12,16,14,165,12,171,7,154,20,159,20,240,12,101,10,158,12,122,13,28,8,199,9,149,13,210,9,185,24,79,14,170,170,209,53,1,144,213,53,1,144,22,206,0,96,216,53,1,144,219,53,1,144,222,53,1,144,226,53,1,144,229,53,1,144,135,205,0,96,232,53,1,144,235,53,1,144,238,53,1,144,241,53,1,144,245,53,1,144,248,53,1,144,135,205,0,96,251,53,1,144,254,53,1,144,1,54,1,144,4,54,1,144,22,206,0,96,135,205,0,96,135,205,0,96,22,206,0,96,8,54,1,144,11,54,1,144,22,206,0,96,22,206,0,96,22,206,0,96,14,54,1,144,18,54,1,144,21,54,1,144,25,54,1,144,28,54,1,144,22,206,0,96,31,54,1,144,34,54,1,144,22,206,0,96,38,54,1,144,41,54,1,144,46,54,1,144,49,54,1,144,52,54,1,144,55,54,1,144,59,54,1,144,63,54,1,144,66,54,1,144,71,54,1,144,75,54,1,144,79,54,1,144,83,54,1,144,87,54,1,144,90,54,1,144,94,54,1,144,97,54,1,144,100,54,1,144,103,54,1,144,125,208,0,96,106,54,1,144,111,54,1,144,114,54,1,144,118,54,1,144,122,54,1,144,125,54,1,144,129,54,1,144,132,54,1,144,137,54,1,144,124,205,0,96,140,54,1,144,144,54,1,144,147,54,1,144,151,54,1,144,155,54,1,144,159,54,1,144,19,0,32,0,12,3,179,3,191,3,204,3,225,3,90,4,90,14,177,14,197,14,77,15,146,15,214,15,122,21,11,22,232,23,136,24,148,24,165,24,81,169,0,32,107,169,0,32,90,70,0,96,186,169,0,128,234,170,0,128,211,171,0,32,18,182,0,32,185,186,0,32,50,188,0,32,165,188,0,32,197,188,0,32,215,188,0,32,217,188,0,32,105,191,0,32,189,222,0,32,71,228,0,32,36,234,0,32,17,235,0,32,19,235,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,186,19,0,32,7,0,0,0,237,8,0,0,191,19,0,0,191,19,0,0,206,1,0,0,1,0,0,0,180,19,0,0,98,99,112,84,121,112,101,65,108,105,97,115,0,116,122,0,97,113,97,109,115,0,99,110,99,107,103,0,99,110,104,114,98,0,99,110,107,104,103,0,103,97,122,97,0,117,115,110,97,118,97,106,111,0,116,121,112,101,65,108,105,97,115,0,116,105,109,101,122,111,110,101,0,65,102,114,105,99,97,58,65,115,109,97,114,97,0,65,102,114,105,99,97,58,84,105,109,98,117,107,116,117,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,66,117,101,110,111,115,95,65,105,114,101,115,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,67,97,116,97,109,97,114,99,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,67,111,109,111,100,82,105,118,97,100,97,118,105,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,67,111,114,100,111,98,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,74,117,106,117,121,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,77,101,110,100,111,122,97,0,65,109,101,114,105,99,97,58,65,116,105,107,111,107,97,110,0,65,109,101,114,105,99,97,58,65,116,107,97,0,65,109,101,114,105,99,97,58,69,110,115,101,110,97,100,97,0,65,109,101,114,105,99,97,58,70,111,114,116,95,87,97,121,110,101,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,73,110,100,105,97,110,97,112,111,108,105,115,0,65,109,101,114,105,99,97,58,75,101,110,116,117,99,107,121,58,76,111,117,105,115,118,105,108,108,101,0,65,109,101,114,105,99,97,58,75,110,111,120,95,73,78,0,65,109,101,114,105,99,97,58,78,117,117,107,0,65,109,101,114,105,99,97,58,80,111,114,116,111,95,65,99,114,101,0,65,109,101,114,105,99,97,58,82,111,115,97,114,105,111,0,65,109,101,114,105,99,97,58,83,104,105,112,114,111,99,107,0,65,109,101,114,105,99,97,58,86,105,114,103,105,110,0,65,110,116,97,114,99,116,105,99,97,58,83,111,117,116,104,95,80,111,108,101,0,65,115,105,97,58,65,115,104,107,104,97,98,97,100,0,65,115,105,97,58,67,104,111,110,103,113,105,110,103,0,65,115,105,97,58,67,104,117,110,103,107,105,110,103,0,65,115,105,97,58,68,97,99,99,97,0,65,115,105,97,58,72,97,114,98,105,110,0,65,115,105,97,58,72,111,95,67,104,105,95,77,105,110,104,0,65,115,105,97,58,73,115,116,97,110,98,117,108,0,65,115,105,97,58,75,97,115,104,103,97,114,0,65,115,105,97,58,75,97,116,104,109,97,110,100,117,0,65,115,105,97,58,75,111,108,107,97,116,97,0,65,115,105,97,58,77,97,99,97,111,0,65,115,105,97,58,84,101,108,95,65,118,105,118,0,65,115,105,97,58,84,104,105,109,98,117,0,65,115,105,97,58,85,106,117,110,103,95,80,97,110,100,97,110,103,0,65,115,105,97,58,85,108,97,110,95,66,97,116,111,114,0,65,115,105,97,58,89,97,110,103,111,110,0,65,116,108,97,110,116,105,99,58,70,97,114,111,101,0,65,116,108,97,110,116,105,99,58,74,97,110,95,77,97,121,101,110,0,65,117,115,116,114,97,108,105,97,58,65,67,84,0,65,117,115,116,114,97,108,105,97,58,67,97,110,98,101,114,114,97,0,65,117,115,116,114,97,108,105,97,58,76,72,73,0,65,117,115,116,114,97,108,105,97,58,78,83,87,0,65,117,115,116,114,97,108,105,97,58,78,111,114,116,104,0,65,117,115,116,114,97,108,105,97,58,81,117,101,101,110,115,108,97,110,100,0,65,117,115,116,114,97,108,105,97,58,83,111,117,116,104,0,65,117,115,116,114,97,108,105,97,58,84,97,115,109,97,110,105,97,0,65,117,115,116,114,97,108,105,97,58,86,105,99,116,111,114,105,97,0,65,117,115,116,114,97,108,105,97,58,87,101,115,116,0,65,117,115,116,114,97,108,105,97,58,89,97,110,99,111,119,105,110,110,97,0,66,114,97,122,105,108,58,65,99,114,101,0,66,114,97,122,105,108,58,68,101,78,111,114,111,110,104,97,0,66,114,97,122,105,108,58,69,97,115,116,0,66,114,97,122,105,108,58,87,101,115,116,0,67,97,110,97,100,97,58,65,116,108,97,110,116,105,99,0,67,97,110,97,100,97,58,67,101,110,116,114,97,108,0,67,97,110,97,100,97,58,69,97,115,116,45,83,97,115,107,97,116,99,104,101,119,97,110,0,67,97,110,97,100,97,58,69,97,115,116,101,114,110,0,67,97,110,97,100,97,58,77,111,117,110,116,97,105,110,0,67,97,110,97,100,97,58,78,101,119,102,111,117,110,100,108,97,110,100,0,67,97,110,97,100,97,58,80,97,99,105,102,105,99,0,67,97,110,97,100,97,58,83,97,115,107,97,116,99,104,101,119,97,110,0,67,97,110,97,100,97,58,89,117,107,111,110,0,67,104,105,108,101,58,67,111,110,116,105,110,101,110,116,97,108,0,67,104,105,108,101,58,69,97,115,116,101,114,73,115,108,97,110,100,0,69,116,99,58,71,77,84,43,48,0,69,116,99,58,71,77,84,45,48,0,69,116,99,58,71,77,84,48,0,69,116,99,58,71,114,101,101,110,119,105,99,104,0,69,116,99,58,85,67,84,0,69,116,99,58,85,110,105,118,101,114,115,97,108,0,69,116,99,58,90,117,108,117,0,69,117,114,111,112,101,58,66,101,108,102,97,115,116,0,69,117,114,111,112,101,58,75,121,105,118,0,69,117,114,111,112,101,58,78,105,99,111,115,105,97,0,69,117,114,111,112,101,58,84,105,114,97,115,112,111,108,0,77,101,120,105,99,111,58,66,97,106,97,78,111,114,116,101,0,77,101,120,105,99,111,58,66,97,106,97,83,117,114,0,77,101,120,105,99,111,58,71,101,110,101,114,97,108,0,80,97,99,105,102,105,99,58,67,104,117,117,107,0,80,97,99,105,102,105,99,58,75,97,110,116,111,110,0,80,97,99,105,102,105,99,58,80,111,104,110,112,101,105,0,80,97,99,105,102,105,99,58,83,97,109,111,97,0,80,97,99,105,102,105,99,58,89,97,112,0,85,83,58,65,108,97,115,107,97,0,85,83,58,65,108,101,117,116,105,97,110,0,85,83,58,65,114,105,122,111,110,97,0,85,83,58,67,101,110,116,114,97,108,0,85,83,58,69,97,115,116,45,73,110,100,105,97,110,97,0,85,83,58,69,97,115,116,101,114,110,0,85,83,58,72,97,119,97,105,105,0,85,83,58,73,110,100,105,97,110,97,45,83,116,97,114,107,101,0,85,83,58,77,105,99,104,105,103,97,110,0,85,83,58,77,111,117,110,116,97,105,110,0,85,83,58,80,97,99,105,102,105,99,0,85,83,58,80,97,99,105,102,105,99,45,78,101,119,0,85,83,58,83,97,109,111,97,0,67,117,98,97,0,69,83,84,0,69,103,121,112,116,0,71,66,0,71,66,45,69,105,114,101,0,72,83,84,0,72,111,110,103,107,111,110,103,0,73,99,101,108,97,110,100,0,73,114,97,110,0,73,115,114,97,101,108,0,74,97,112,97,110,0,76,105,98,121,97,0,77,83,84,0,78,90,0,78,90,45,67,72,65,84,0,78,97,118,97,106,111,0,80,82,67,0,80,111,108,97,110,100,0,80,111,114,116,117,103,97,108,0,82,79,67,0,82,79,75,0,84,117,114,107,101,121,0,87,45,83,85,0,116,121,112,101,77,97,112,0,65,102,114,105,99,97,58,65,98,105,100,106,97,110,0,65,102,114,105,99,97,58,65,99,99,114,97,0,65,102,114,105,99,97,58,65,100,100,105,115,95,65,98,97,98,97,0,65,102,114,105,99,97,58,65,108,103,105,101,114,115,0,65,102,114,105,99,97,58,65,115,109,101,114,97,0,65,102,114,105,99,97,58,66,97,109,97,107,111,0,65,102,114,105,99,97,58,66,97,110,103,117,105,0,65,102,114,105,99,97,58,66,97,110,106,117,108,0,65,102,114,105,99,97,58,66,105,115,115,97,117,0,65,102,114,105,99,97,58,66,108,97,110,116,121,114,101,0,65,102,114,105,99,97,58,66,114,97,122,122,97,118,105,108,108,101,0,65,102,114,105,99,97,58,66,117,106,117,109,98,117,114,97,0,65,102,114,105,99,97,58,67,97,105,114,111,0,65,102,114,105,99,97,58,67,97,115,97,98,108,97,110,99,97,0,65,102,114,105,99,97,58,67,101,117,116,97,0,65,102,114,105,99,97,58,67,111,110,97,107,114,121,0,65,102,114,105,99,97,58,68,97,107,97,114,0,65,102,114,105,99,97,58,68,97,114,95,101,115,95,83,97,108,97,97,109,0,65,102,114,105,99,97,58,68,106,105,98,111,117,116,105,0,65,102,114,105,99,97,58,68,111,117,97,108,97,0,65,102,114,105,99,97,58,69,108,95,65,97,105,117,110,0,65,102,114,105,99,97,58,70,114,101,101,116,111,119,110,0,65,102,114,105,99,97,58,71,97,98,111,114,111,110,101,0,65,102,114,105,99,97,58,72,97,114,97,114,101,0,65,102,114,105,99,97,58,74,111,104,97,110,110,101,115,98,117,114,103,0,65,102,114,105,99,97,58,74,117,98,97,0,65,102,114,105,99,97,58,75,97,109,112,97,108,97,0,65,102,114,105,99,97,58,75,104,97,114,116,111,117,109,0,65,102,114,105,99,97,58,75,105,103,97,108,105,0,65,102,114,105,99,97,58,75,105,110,115,104,97,115,97,0,65,102,114,105,99,97,58,76,97,103,111,115,0,65,102,114,105,99,97,58,76,105,98,114,101,118,105,108,108,101,0,65,102,114,105,99,97,58,76,111,109,101,0,65,102,114,105,99,97,58,76,117,97,110,100,97,0,65,102,114,105,99,97,58,76,117,98,117,109,98,97,115,104,105,0,65,102,114,105,99,97,58,76,117,115,97,107,97,0,65,102,114,105,99,97,58,77,97,108,97,98,111,0,65,102,114,105,99,97,58,77,97,112,117,116,111,0,65,102,114,105,99,97,58,77,97,115,101,114,117,0,65,102,114,105,99,97,58,77,98,97,98,97,110,101,0,65,102,114,105,99,97,58,77,111,103,97,100,105,115,104,117,0,65,102,114,105,99,97,58,77,111,110,114,111,118,105,97,0,65,102,114,105,99,97,58,78,97,105,114,111,98,105,0,65,102,114,105,99,97,58,78,100,106,97,109,101,110,97,0,65,102,114,105,99,97,58,78,105,97,109,101,121,0,65,102,114,105,99,97,58,78,111,117,97,107,99,104,111,116,116,0,65,102,114,105,99,97,58,79,117,97,103,97,100,111,117,103,111,117,0,65,102,114,105,99,97,58,80,111,114,116,111,45,78,111,118,111,0,65,102,114,105,99,97,58,83,97,111,95,84,111,109,101,0,65,102,114,105,99,97,58,84,114,105,112,111,108,105,0,65,102,114,105,99,97,58,84,117,110,105,115,0,65,102,114,105,99,97,58,87,105,110,100,104,111,101,107,0,65,109,101,114,105,99,97,58,65,100,97,107,0,65,109,101,114,105,99,97,58,65,110,99,104,111,114,97,103,101,0,65,109,101,114,105,99,97,58,65,110,103,117,105,108,108,97,0,65,109,101,114,105,99,97,58,65,110,116,105,103,117,97,0,65,109,101,114,105,99,97,58,65,114,97,103,117,97,105,110,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,76,97,95,82,105,111,106,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,82,105,111,95,71,97,108,108,101,103,111,115,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,108,116,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,110,95,74,117,97,110,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,110,95,76,117,105,115,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,84,117,99,117,109,97,110,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,85,115,104,117,97,105,97,0,65,109,101,114,105,99,97,58,65,114,117,98,97,0,65,109,101,114,105,99,97,58,65,115,117,110,99,105,111,110,0,65,109,101,114,105,99,97,58,66,97,104,105,97,0,65,109,101,114,105,99,97,58,66,97,104,105,97,95,66,97,110,100,101,114,97,115,0,65,109,101,114,105,99,97,58,66,97,114,98,97,100,111,115,0,65,109,101,114,105,99,97,58,66,101,108,101,109,0,65,109,101,114,105,99,97,58,66,101,108,105,122,101,0,65,109,101,114,105,99,97,58,66,108,97,110,99,45,83,97,98,108,111,110,0,65,109,101,114,105,99,97,58,66,111,97,95,86,105,115,116,97,0,65,109,101,114,105,99,97,58,66,111,103,111,116,97,0,65,109,101,114,105,99,97,58,66,111,105,115,101,0,65,109,101,114,105,99,97,58,66,117,101,110,111,115,95,65,105,114,101,115,0,65,109,101,114,105,99,97,58,67,97,109,98,114,105,100,103,101,95,66,97,121,0,65,109,101,114,105,99,97,58,67,97,109,112,111,95,71,114,97,110,100,101,0,65,109,101,114,105,99,97,58,67,97,110,99,117,110,0,65,109,101,114,105,99,97,58,67,97,114,97,99,97,115,0,65,109,101,114,105,99,97,58,67,97,116,97,109,97,114,99,97,0,65,109,101,114,105,99,97,58,67,97,121,101,110,110,101,0,65,109,101,114,105,99,97,58,67,97,121,109,97,110,0,65,109,101,114,105,99,97,58,67,104,105,99,97,103,111,0,65,109,101,114,105,99,97,58,67,104,105,104,117,97,104,117,97,0,65,109,101,114,105,99,97,58,67,105,117,100,97,100,95,74,117,97,114,101,122,0,65,109,101,114,105,99,97,58,67,111,114,97,108,95,72,97,114,98,111,117,114,0,65,109,101,114,105,99,97,58,67,111,114,100,111,98,97,0,65,109,101,114,105,99,97,58,67,111,115,116,97,95,82,105,99,97,0,65,109,101,114,105,99,97,58,67,114,101,115,116,111,110,0,65,109,101,114,105,99,97,58,67,117,105,97,98,97,0,65,109,101,114,105,99,97,58,67,117,114,97,99,97,111,0,65,109,101,114,105,99,97,58,68,97,110,109,97,114,107,115,104,97,118,110,0,65,109,101,114,105,99,97,58,68,97,119,115,111,110,0,65,109,101,114,105,99,97,58,68,97,119,115,111,110,95,67,114,101,101,107,0,65,109,101,114,105,99,97,58,68,101,110,118,101,114,0,65,109,101,114,105,99,97,58,68,101,116,114,111,105,116,0,65,109,101,114,105,99,97,58,68,111,109,105,110,105,99,97,0,65,109,101,114,105,99,97,58,69,100,109,111,110,116,111,110,0,65,109,101,114,105,99,97,58,69,105,114,117,110,101,112,101,0,65,109,101,114,105,99,97,58,69,108,95,83,97,108,118,97,100,111,114,0,65,109,101,114,105,99,97,58,70,111,114,116,95,78,101,108,115,111,110,0,65,109,101,114,105,99,97,58,70,111,114,116,97,108,101,122,97,0,65,109,101,114,105,99,97,58,71,108,97,99,101,95,66,97,121,0,65,109,101,114,105,99,97,58,71,111,100,116,104,97,98,0,65,109,101,114,105,99,97,58,71,111,111,115,101,95,66,97,121,0,65,109,101,114,105,99,97,58,71,114,97,110,100,95,84,117,114,107,0,65,109,101,114,105,99,97,58,71,114,101,110,97,100,97,0,65,109,101,114,105,99,97,58,71,117,97,100,101,108,111,117,112,101,0,65,109,101,114,105,99,97,58,71,117,97,116,101,109,97,108,97,0,65,109,101,114,105,99,97,58,71,117,97,121,97,113,117,105,108,0,65,109,101,114,105,99,97,58,71,117,121,97,110,97,0,65,109,101,114,105,99,97,58,72,97,108,105,102,97,120,0,65,109,101,114,105,99,97,58,72,97,118,97,110,97,0,65,109,101,114,105,99,97,58,72,101,114,109,111,115,105,108,108,111,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,75,110,111,120,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,77,97,114,101,110,103,111,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,80,101,116,101,114,115,98,117,114,103,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,84,101,108,108,95,67,105,116,121,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,86,101,118,97,121,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,86,105,110,99,101,110,110,101,115,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,87,105,110,97,109,97,99,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,112,111,108,105,115,0,65,109,101,114,105,99,97,58,73,110,117,118,105,107,0,65,109,101,114,105,99,97,58,73,113,97,108,117,105,116,0,65,109,101,114,105,99,97,58,74,97,109,97,105,99,97,0,65,109,101,114,105,99,97,58,74,117,106,117,121,0,65,109,101,114,105,99,97,58,74,117,110,101,97,117,0,65,109,101,114,105,99,97,58,75,101,110,116,117,99,107,121,58,77,111,110,116,105,99,101,108,108,111,0,65,109,101,114,105,99,97,58,75,114,97,108,101,110,100,105,106,107,0,65,109,101,114,105,99,97,58,76,97,95,80,97,122,0,65,109,101,114,105,99,97,58,76,105,109,97,0,65,109,101,114,105,99,97,58,76,111,115,95,65,110,103,101,108,101,115,0,65,109,101,114,105,99,97,58,76,111,117,105,115,118,105,108,108,101,0,65,109,101,114,105,99,97,58,76,111,119,101,114,95,80,114,105,110,99,101,115,0,65,109,101,114,105,99,97,58,77,97,99,101,105,111,0,65,109,101,114,105,99,97,58,77,97,110,97,103,117,97,0,65,109,101,114,105,99,97,58,77,97,110,97,117,115,0,65,109,101,114,105,99,97,58,77,97,114,105,103,111,116,0,65,109,101,114,105,99,97,58,77,97,114,116,105,110,105,113,117,101,0,65,109,101,114,105,99,97,58,77,97,116,97,109,111,114,111,115,0,65,109,101,114,105,99,97,58,77,97,122,97,116,108,97,110,0,65,109,101,114,105,99,97,58,77,101,110,100,111,122,97,0,65,109,101,114,105,99,97,58,77,101,110,111,109,105,110,101,101,0,65,109,101,114,105,99,97,58,77,101,114,105,100,97,0,65,109,101,114,105,99,97,58,77,101,116,108,97,107,97,116,108,97,0,65,109,101,114,105,99,97,58,77,101,120,105,99,111,95,67,105,116,121,0,65,109,101,114,105,99,97,58,77,105,113,117,101,108,111,110,0,65,109,101,114,105,99,97,58,77,111,110,99,116,111,110,0,65,109,101,114,105,99,97,58,77,111,110,116,101,114,114,101,121,0,65,109,101,114,105,99,97,58,77,111,110,116,101,118,105,100,101,111,0,65,109,101,114,105,99,97,58,77,111,110,116,114,101,97,108,0,65,109,101,114,105,99,97,58,77,111,110,116,115,101,114,114,97,116,0,65,109,101,114,105,99,97,58,78,97,115,115,97,117,0,65,109,101,114,105,99,97,58,78,101,119,95,89,111,114,107,0,65,109,101,114,105,99,97,58,78,105,112,105,103,111,110,0,65,109,101,114,105,99,97,58,78,111,109,101,0,65,109,101,114,105,99,97,58,78,111,114,111,110,104,97,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,66,101,117,108,97,104,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,67,101,110,116,101,114,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,78,101,119,95,83,97,108,101,109,0,65,109,101,114,105,99,97,58,79,106,105,110,97,103,97,0,65,109,101,114,105,99,97,58,80,97,110,97,109,97,0,65,109,101,114,105,99,97,58,80,97,110,103,110,105,114,116,117,110,103,0,65,109,101,114,105,99,97,58,80,97,114,97,109,97,114,105,98,111,0,65,109,101,114,105,99,97,58,80,104,111,101,110,105,120,0,65,109,101,114,105,99,97,58,80,111,114,116,45,97,117,45,80,114,105,110,99,101,0,65,109,101,114,105,99,97,58,80,111,114,116,95,111,102,95,83,112,97,105,110,0,65,109,101,114,105,99,97,58,80,111,114,116,111,95,86,101,108,104,111,0,65,109,101,114,105,99,97,58,80,117,101,114,116,111,95,82,105,99,111,0,65,109,101,114,105,99,97,58,80,117,110,116,97,95,65,114,101,110,97,115,0,65,109,101,114,105,99,97,58,82,97,105,110,121,95,82,105,118,101,114,0,65,109,101,114,105,99,97,58,82,97,110,107,105,110,95,73,110,108,101,116,0,65,109,101,114,105,99,97,58,82,101,99,105,102,101,0,65,109,101,114,105,99,97,58,82,101,103,105,110,97,0,65,109,101,114,105,99,97,58,82,101,115,111,108,117,116,101,0,65,109,101,114,105,99,97,58,82,105,111,95,66,114,97,110,99,111,0,65,109,101,114,105,99,97,58,83,97,110,116,97,95,73,115,97,98,101,108,0,65,109,101,114,105,99,97,58,83,97,110,116,97,114,101,109,0,65,109,101,114,105,99,97,58,83,97,110,116,105,97,103,111,0,65,109,101,114,105,99,97,58,83,97,110,116,111,95,68,111,109,105,110,103,111,0,65,109,101,114,105,99,97,58,83,97,111,95,80,97,117,108,111,0,65,109,101,114,105,99,97,58,83,99,111,114,101,115,98,121,115,117,110,100,0,65,109,101,114,105,99,97,58,83,105,116,107,97,0,65,109,101,114,105,99,97,58,83,116,95,66,97,114,116,104,101,108,101,109,121,0,65,109,101,114,105,99,97,58,83,116,95,74,111,104,110,115,0,65,109,101,114,105,99,97,58,83,116,95,75,105,116,116,115,0,65,109,101,114,105,99,97,58,83,116,95,76,117,99,105,97,0,65,109,101,114,105,99,97,58,83,116,95,84,104,111,109,97,115,0,65,109,101,114,105,99,97,58,83,116,95,86,105,110,99,101,110,116,0,65,109,101,114,105,99,97,58,83,119,105,102,116,95,67,117,114,114,101,110,116,0,65,109,101,114,105,99,97,58,84,101,103,117,99,105,103,97,108,112,97,0,65,109,101,114,105,99,97,58,84,104,117,108,101,0,65,109,101,114,105,99,97,58,84,104,117,110,100,101,114,95,66,97,121,0,65,109,101,114,105,99,97,58,84,105,106,117,97,110,97,0,65,109,101,114,105,99,97,58,84,111,114,111,110,116,111,0,65,109,101,114,105,99,97,58,84,111,114,116,111,108,97,0,65,109,101,114,105,99,97,58,86,97,110,99,111,117,118,101,114,0,65,109,101,114,105,99,97,58,87,104,105,116,101,104,111,114,115,101,0,65,109,101,114,105,99,97,58,87,105,110,110,105,112,101,103,0,65,109,101,114,105,99,97,58,89,97,107,117,116,97,116,0,65,109,101,114,105,99,97,58,89,101,108,108,111,119,107,110,105,102,101,0,65,110,116,97,114,99,116,105,99,97,58,67,97,115,101,121,0,65,110,116,97,114,99,116,105,99,97,58,68,97,118,105,115,0,65,110,116,97,114,99,116,105,99,97,58,68,117,109,111,110,116,68,85,114,118,105,108,108,101,0,65,110,116,97,114,99,116,105,99,97,58,77,97,99,113,117,97,114,105,101,0,65,110,116,97,114,99,116,105,99,97,58,77,97,119,115,111,110,0,65,110,116,97,114,99,116,105,99,97,58,77,99,77,117,114,100,111,0,65,110,116,97,114,99,116,105,99,97,58,80,97,108,109,101,114,0,65,110,116,97,114,99,116,105,99,97,58,82,111,116,104,101,114,97,0,65,110,116,97,114,99,116,105,99,97,58,83,121,111,119,97,0,65,110,116,97,114,99,116,105,99,97,58,84,114,111,108,108,0,65,110,116,97,114,99,116,105,99,97,58,86,111,115,116,111,107,0,65,114,99,116,105,99,58,76,111,110,103,121,101,97,114,98,121,101,110,0,65,115,105,97,58,65,100,101,110,0,65,115,105,97,58,65,108,109,97,116,121,0,65,115,105,97,58,65,109,109,97,110,0,65,115,105,97,58,65,110,97,100,121,114,0,65,115,105,97,58,65,113,116,97,117,0,65,115,105,97,58,65,113,116,111,98,101,0,65,115,105,97,58,65,115,104,103,97,98,97,116,0,65,115,105,97,58,65,116,121,114,97,117,0,65,115,105,97,58,66,97,103,104,100,97,100,0,65,115,105,97,58,66,97,104,114,97,105,110,0,65,115,105,97,58,66,97,107,117,0,65,115,105,97,58,66,97,110,103,107,111,107,0,65,115,105,97,58,66,97,114,110,97,117,108,0,65,115,105,97,58,66,101,105,114,117,116,0,65,115,105,97,58,66,105,115,104,107,101,107,0,65,115,105,97,58,66,114,117,110,101,105,0,65,115,105,97,58,67,97,108,99,117,116,116,97,0,65,115,105,97,58,67,104,105,116,97,0,65,115,105,97,58,67,104,111,105,98,97,108,115,97,110,0,65,115,105,97,58,67,111,108,111,109,98,111,0,65,115,105,97,58,68,97,109,97,115,99,117,115,0,65,115,105,97,58,68,104,97,107,97,0,65,115,105,97,58,68,105,108,105,0,65,115,105,97,58,68,117,98,97,105,0,65,115,105,97,58,68,117,115,104,97,110,98,101,0,65,115,105,97,58,70,97,109,97,103,117,115,116,97,0,65,115,105,97,58,71,97,122,97,0,65,115,105,97,58,72,101,98,114,111,110,0,65,115,105,97,58,72,111,110,103,95,75,111,110,103,0,65,115,105,97,58,72,111,118,100,0,65,115,105,97,58,73,114,107,117,116,115,107,0,65,115,105,97,58,74,97,107,97,114,116,97,0,65,115,105,97,58,74,97,121,97,112,117,114,97,0,65,115,105,97,58,74,101,114,117,115,97,108,101,109,0,65,115,105,97,58,75,97,98,117,108,0,65,115,105,97,58,75,97,109,99,104,97,116,107,97,0,65,115,105,97,58,75,97,114,97,99,104,105,0,65,115,105,97,58,75,97,116,109,97,110,100,117,0,65,115,105,97,58,75,104,97,110,100,121,103,97,0,65,115,105,97,58,75,114,97,115,110,111,121,97,114,115,107,0,65,115,105,97,58,75,117,97,108,97,95,76,117,109,112,117,114,0,65,115,105,97,58,75,117,99,104,105,110,103,0,65,115,105,97,58,75,117,119,97,105,116,0,65,115,105,97,58,77,97,99,97,117,0,65,115,105,97,58,77,97,103,97,100,97,110,0,65,115,105,97,58,77,97,107,97,115,115,97,114,0,65,115,105,97,58,77,97,110,105,108,97,0,65,115,105,97,58,77,117,115,99,97,116,0,65,115,105,97,58,78,105,99,111,115,105,97,0,65,115,105,97,58,78,111,118,111,107,117,122,110,101,116,115,107,0,65,115,105,97,58,78,111,118,111,115,105,98,105,114,115,107,0,65,115,105,97,58,79,109,115,107,0,65,115,105,97,58,79,114,97,108,0,65,115,105,97,58,80,104,110,111,109,95,80,101,110,104,0,65,115,105,97,58,80,111,110,116,105,97,110,97,107,0,65,115,105,97,58,80,121,111,110,103,121,97,110,103,0,65,115,105,97,58,81,97,116,97,114,0,65,115,105,97,58,81,111,115,116,97,110,97,121,0,65,115,105,97,58,81,121,122,121,108,111,114,100,97,0,65,115,105,97,58,82,97,110,103,111,111,110,0,65,115,105,97,58,82,105,121,97,100,104,0,65,115,105,97,58,83,97,105,103,111,110,0,65,115,105,97,58,83,97,107,104,97,108,105,110,0,65,115,105,97,58,83,97,109,97,114,107,97,110,100,0,65,115,105,97,58,83,101,111,117,108,0,65,115,105,97,58,83,104,97,110,103,104,97,105,0,65,115,105,97,58,83,105,110,103,97,112,111,114,101,0,65,115,105,97,58,83,114,101,100,110,101,107,111,108,121,109,115,107,0,65,115,105,97,58,84,97,105,112,101,105,0,65,115,105,97,58,84,97,115,104,107,101,110,116,0,65,115,105,97,58,84,98,105,108,105,115,105,0,65,115,105,97,58,84,101,104,114,97,110,0,65,115,105,97,58,84,104,105,109,112,104,117,0,65,115,105,97,58,84,111,107,121,111,0,65,115,105,97,58,84,111,109,115,107,0,65,115,105,97,58,85,108,97,97,110,98,97,97,116,97,114,0,65,115,105,97,58,85,114,117,109,113,105,0,65,115,105,97,58,85,115,116,45,78,101,114,97,0,65,115,105,97,58,86,105,101,110,116,105,97,110,101,0,65,115,105,97,58,86,108,97,100,105,118,111,115,116,111,107,0,65,115,105,97,58,89,97,107,117,116,115,107,0,65,115,105,97,58,89,101,107,97,116,101,114,105,110,98,117,114,103,0,65,115,105,97,58,89,101,114,101,118,97,110,0,65,116,108,97,110,116,105,99,58,65,122,111,114,101,115,0,65,116,108,97,110,116,105,99,58,66,101,114,109,117,100,97,0,65,116,108,97,110,116,105,99,58,67,97,110,97,114,121,0,65,116,108,97,110,116,105,99,58,67,97,112,101,95,86,101,114,100,101,0,65,116,108,97,110,116,105,99,58,70,97,101,114,111,101,0,65,116,108,97,110,116,105,99,58,77,97,100,101,105,114,97,0,65,116,108,97,110,116,105,99,58,82,101,121,107,106,97,118,105,107,0,65,116,108,97,110,116,105,99,58,83,111,117,116,104,95,71,101,111,114,103,105,97,0,65,116,108,97,110,116,105,99,58,83,116,95,72,101,108,101,110,97,0,65,116,108,97,110,116,105,99,58,83,116,97,110,108,101,121,0,65,117,115,116,114,97,108,105,97,58,65,100,101,108,97,105,100,101,0,65,117,115,116,114,97,108,105,97,58,66,114,105,115,98,97,110,101,0,65,117,115,116,114,97,108,105,97,58,66,114,111,107,101,110,95,72,105,108,108,0,65,117,115,116,114,97,108,105,97,58,67,117,114,114,105,101,0,65,117,115,116,114,97,108,105,97,58,68,97,114,119,105,110,0,65,117,115,116,114,97,108,105,97,58,69,117,99,108,97,0,65,117,115,116,114,97,108,105,97,58,72,111,98,97,114,116,0,65,117,115,116,114,97,108,105,97,58,76,105,110,100,101,109,97,110,0,65,117,115,116,114,97,108,105,97,58,76,111,114,100,95,72,111,119,101,0,65,117,115,116,114,97,108,105,97,58,77,101,108,98,111,117,114,110,101,0,65,117,115,116,114,97,108,105,97,58,80,101,114,116,104,0,65,117,115,116,114,97,108,105,97,58,83,121,100,110,101,121,0,69,116,99,58,71,77,84,0,69,116,99,58,71,77,84,43,49,0,69,116,99,58,71,77,84,43,49,48,0,69,116,99,58,71,77,84,43,49,49,0,69,116,99,58,71,77,84,43,49,50,0,69,116,99,58,71,77,84,43,50,0,69,116,99,58,71,77,84,43,51,0,69,116,99,58,71,77,84,43,52,0,69,116,99,58,71,77,84,43,53,0,69,116,99,58,71,77,84,43,54,0,69,116,99,58,71,77,84,43,55,0,69,116,99,58,71,77,84,43,56,0,69,116,99,58,71,77,84,43,57,0,69,116,99,58,71,77,84,45,49,0,69,116,99,58,71,77,84,45,49,48,0,69,116,99,58,71,77,84,45,49,49,0,69,116,99,58,71,77,84,45,49,50,0,69,116,99,58,71,77,84,45,49,51,0,69,116,99,58,71,77,84,45,49,52,0,69,116,99,58,71,77,84,45,50,0,69,116,99,58,71,77,84,45,51,0,69,116,99,58,71,77,84,45,52,0,69,116,99,58,71,77,84,45,53,0,69,116,99,58,71,77,84,45,54,0,69,116,99,58,71,77,84,45,55,0,69,116,99,58,71,77,84,45,56,0,69,116,99,58,71,77,84,45,57,0,69,116,99,58,85,84,67,0,69,116,99,58,85,110,107,110,111,119,110,0,69,117,114,111,112,101,58,65,109,115,116,101,114,100,97,109,0,69,117,114,111,112,101,58,65,110,100,111,114,114,97,0,69,117,114,111,112,101,58,65,115,116,114,97,107,104,97,110,0,69,117,114,111,112,101,58,65,116,104,101,110,115,0,69,117,114,111,112,101,58,66,101,108,103,114,97,100,101,0,69,117,114,111,112,101,58,66,101,114,108,105,110,0,69,117,114,111,112,101,58,66,114,97,116,105,115,108,97,118,97,0,69,117,114,111,112,101,58,66,114,117,115,115,101,108,115,0,69,117,114,111,112,101,58,66,117,99,104,97,114,101,115,116,0,69,117,114,111,112,101,58,66,117,100,97,112,101,115,116,0,69,117,114,111,112,101,58,66,117,115,105,110,103,101,110,0,69,117,114,111,112,101,58,67,104,105,115,105,110,97,117,0,69,117,114,111,112,101,58,67,111,112,101,110,104,97,103,101,110,0,69,117,114,111,112,101,58,68,117,98,108,105,110,0,69,117,114,111,112,101,58,71,105,98,114,97,108,116,97,114,0,69,117,114,111,112,101,58,71,117,101,114,110,115,101,121,0,69,117,114,111,112,101,58,72,101,108,115,105,110,107,105,0,69,117,114,111,112,101,58,73,115,108,101,95,111,102,95,77,97,110,0,69,117,114,111,112,101,58,73,115,116,97,110,98,117,108,0,69,117,114,111,112,101,58,74,101,114,115,101,121,0,69,117,114,111,112,101,58,75,97,108,105,110,105,110,103,114,97,100,0,69,117,114,111,112,101,58,75,105,101,118,0,69,117,114,111,112,101,58,75,105,114,111,118,0,69,117,114,111,112,101,58,76,105,115,98,111,110,0,69,117,114,111,112,101,58,76,106,117,98,108,106,97,110,97,0,69,117,114,111,112,101,58,76,111,110,100,111,110,0,69,117,114,111,112,101,58,76,117,120,101,109,98,111,117,114,103,0,69,117,114,111,112,101,58,77,97,100,114,105,100,0,69,117,114,111,112,101,58,77,97,108,116,97,0,69,117,114,111,112,101,58,77,97,114,105,101,104,97,109,110,0,69,117,114,111,112,101,58,77,105,110,115,107,0,69,117,114,111,112,101,58,77,111,110,97,99,111,0,69,117,114,111,112,101,58,77,111,115,99,111,119,0,69,117,114,111,112,101,58,79,115,108,111,0,69,117,114,111,112,101,58,80,97,114,105,115,0,69,117,114,111,112,101,58,80,111,100,103,111,114,105,99,97,0,69,117,114,111,112,101,58,80,114,97,103,117,101,0,69,117,114,111,112,101,58,82,105,103,97,0,69,117,114,111,112,101,58,82,111,109,101,0,69,117,114,111,112,101,58,83,97,109,97,114,97,0,69,117,114,111,112,101,58,83,97,110,95,77,97,114,105,110,111,0,69,117,114,111,112,101,58,83,97,114,97,106,101,118,111,0,69,117,114,111,112,101,58,83,97,114,97,116,111,118,0,69,117,114,111,112,101,58,83,105,109,102,101,114,111,112,111,108,0,69,117,114,111,112,101,58,83,107,111,112,106,101,0,69,117,114,111,112,101,58,83,111,102,105,97,0,69,117,114,111,112,101,58,83,116,111,99,107,104,111,108,109,0,69,117,114,111,112,101,58,84,97,108,108,105,110,110,0,69,117,114,111,112,101,58,84,105,114,97,110,101,0,69,117,114,111,112,101,58,85,108,121,97,110,111,118,115,107,0,69,117,114,111,112,101,58,85,122,104,103,111,114,111,100,0,69,117,114,111,112,101,58,86,97,100,117,122,0,69,117,114,111,112,101,58,86,97,116,105,99,97,110,0,69,117,114,111,112,101,58,86,105,101,110,110,97,0,69,117,114,111,112,101,58,86,105,108,110,105,117,115,0,69,117,114,111,112,101,58,86,111,108,103,111,103,114,97,100,0,69,117,114,111,112,101,58,87,97,114,115,97,119,0,69,117,114,111,112,101,58,90,97,103,114,101,98,0,69,117,114,111,112,101,58,90,97,112,111,114,111,122,104,121,101,0,69,117,114,111,112,101,58,90,117,114,105,99,104,0,73,110,100,105,97,110,58,65,110,116,97,110,97,110,97,114,105,118,111,0,73,110,100,105,97,110,58,67,104,97,103,111,115,0,73,110,100,105,97,110,58,67,104,114,105,115,116,109,97,115,0,73,110,100,105,97,110,58,67,111,99,111,115,0,73,110,100,105,97,110,58,67,111,109,111,114,111,0,73,110,100,105,97,110,58,75,101,114,103,117,101,108,101,110,0,73,110,100,105,97,110,58,77,97,104,101,0,73,110,100,105,97,110,58,77,97,108,100,105,118,101,115,0,73,110,100,105,97,110,58,77,97,117,114,105,116,105,117,115,0,73,110,100,105,97,110,58,77,97,121,111,116,116,101,0,73,110,100,105,97,110,58,82,101,117,110,105,111,110,0,80,97,99,105,102,105,99,58,65,112,105,97,0,80,97,99,105,102,105,99,58,65,117,99,107,108,97,110,100,0,80,97,99,105,102,105,99,58,66,111,117,103,97,105,110,118,105,108,108,101,0,80,97,99,105,102,105,99,58,67,104,97,116,104,97,109,0,80,97,99,105,102,105,99,58,69,97,115,116,101,114,0,80,97,99,105,102,105,99,58,69,102,97,116,101,0,80,97,99,105,102,105,99,58,69,110,100,101,114,98,117,114,121,0,80,97,99,105,102,105,99,58,70,97,107,97,111,102,111,0,80,97,99,105,102,105,99,58,70,105,106,105,0,80,97,99,105,102,105,99,58,70,117,110,97,102,117,116,105,0,80,97,99,105,102,105,99,58,71,97,108,97,112,97,103,111,115,0,80,97,99,105,102,105,99,58,71,97,109,98,105,101,114,0,80,97,99,105,102,105,99,58,71,117,97,100,97,108,99,97,110,97,108,0,80,97,99,105,102,105,99,58,71,117,97,109,0,80,97,99,105,102,105,99,58,72,111,110,111,108,117,108,117,0,80,97,99,105,102,105,99,58,74,111,104,110,115,116,111,110,0,80,97,99,105,102,105,99,58,75,105,114,105,116,105,109,97,116,105,0,80,97,99,105,102,105,99,58,75,111,115,114,97,101,0,80,97,99,105,102,105,99,58,75,119,97,106,97,108,101,105,110,0,80,97,99,105,102,105,99,58,77,97,106,117,114,111,0,80,97,99,105,102,105,99,58,77,97,114,113,117,101,115,97,115,0,80,97,99,105,102,105,99,58,77,105,100,119,97,121,0,80,97,99,105,102,105,99,58,78,97,117,114,117,0,80,97,99,105,102,105,99,58,78,105,117,101,0,80,97,99,105,102,105,99,58,78,111,114,102,111,108,107,0,80,97,99,105,102,105,99,58,78,111,117,109,101,97,0,80,97,99,105,102,105,99,58,80,97,103,111,95,80,97,103,111,0,80,97,99,105,102,105,99,58,80,97,108,97,117,0,80,97,99,105,102,105,99,58,80,105,116,99,97,105,114,110,0,80,97,99,105,102,105,99,58,80,111,110,97,112,101,0,80,97,99,105,102,105,99,58,80,111,114,116,95,77,111,114,101,115,98,121,0,80,97,99,105,102,105,99,58,82,97,114,111,116,111,110,103,97,0,80,97,99,105,102,105,99,58,83,97,105,112,97,110,0,80,97,99,105,102,105,99,58,84,97,104,105,116,105,0,80,97,99,105,102,105,99,58,84,97,114,97,119,97,0,80,97,99,105,102,105,99,58,84,111,110,103,97,116,97,112,117,0,80,97,99,105,102,105,99,58,84,114,117,107,0,80,97,99,105,102,105,99,58,87,97,107,101,0,80,97,99,105,102,105,99,58,87,97,108,108,105,115,0,67,83,84,54,67,68,84,0,69,83,84,53,69,68,84,0,77,83,84,55,77,68,84,0,80,83,84,56,80,68,84,0,170,170,0,0,103,0,109,0,116,0,0,0,117,0,110,0,107,0,0,0,117,0,116,0,99,0,0,0,99,0,110,0,115,0,104,0,97,0,0,0,99,0,110,0,117,0,114,0,99,0,0,0,110,0,122,0,97,0,107,0,108,0,0,0,117,0,115,0,100,0,101,0,110,0,0,0,97,0,100,0,97,0,108,0,118,0,0,0,97,0,101,0,100,0,120,0,98,0,0,0,97,0,102,0,107,0,98,0,108,0,0,0,97,0,103,0,97,0,110,0,117,0,0,0,97,0,105,0,97,0,120,0,97,0,0,0,97,0,108,0,116,0,105,0,97,0,0,0,97,0,109,0,101,0,118,0,110,0,0,0,97,0,110,0,99,0,117,0,114,0,0,0,97,0,111,0,108,0,97,0,100,0,0,0,97,0,113,0,99,0,97,0,115,0,0,0,97,0,113,0,100,0,97,0,118,0,0,0,97,0,113,0,100,0,100,0,117,0,0,0,97,0,113,0,109,0,97,0,119,0,0,0,97,0,113,0,109,0,99,0,109,0,0,0,97,0,113,0,112,0,108,0,109,0,0,0,97,0,113,0,114,0,111,0,116,0,0,0,97,0,113,0,115,0,121,0,119,0,0,0,97,0,113,0,116,0,114,0,108,0,0,0,97,0,113,0,118,0,111,0,115,0,0,0,97,0,114,0,98,0,117,0,101,0,0,0,97,0,114,0,99,0,111,0,114,0,0,0,97,0,114,0,99,0,116,0,99,0,0,0,97,0,114,0,105,0,114,0,106,0,0,0,97,0,114,0,106,0,117,0,106,0,0,0,97,0,114,0,108,0,117,0,113,0,0,0,97,0,114,0,109,0,100,0,122,0,0,0,97,0,114,0,114,0,103,0,108,0,0,0,97,0,114,0,115,0,108,0,97,0,0,0,97,0,114,0,116,0,117,0,99,0,0,0,97,0,114,0,117,0,97,0,113,0,0,0,97,0,114,0,117,0,115,0,104,0,0,0,97,0,115,0,112,0,112,0,103,0,0,0,97,0,116,0,118,0,105,0,101,0,0,0,97,0,117,0,97,0,100,0,108,0,0,0,97,0,117,0,98,0,104,0,113,0,0,0,97,0,117,0,98,0,110,0,101,0,0,0,97,0,117,0,100,0,114,0,119,0,0,0,97,0,117,0,101,0,117,0,99,0,0,0,97,0,117,0,104,0,98,0,97,0,0,0,97,0,117,0,107,0,110,0,115,0,0,0,97,0,117,0,108,0,100,0,99,0,0,0,97,0,117,0,108,0,100,0,104,0,0,0,97,0,117,0,109,0,101,0,108,0,0,0,97,0,117,0,109,0,113,0,105,0,0,0,97,0,117,0,112,0,101,0,114,0,0,0,97,0,117,0,115,0,121,0,100,0,0,0,97,0,119,0,97,0,117,0,97,0,0,0,97,0,122,0,98,0,97,0,107,0,0,0,98,0,97,0,115,0,106,0,106,0,0,0,98,0,98,0,98,0,103,0,105,0,0,0,98,0,100,0,100,0,97,0,99,0,0,0,98,0,101,0,98,0,114,0,117,0,0,0,98,0,102,0,111,0,117,0,97,0,0,0,98,0,103,0,115,0,111,0,102,0,0,0,98,0,104,0,98,0,97,0,104,0,0,0,98,0,105,0,98,0,106,0,109,0,0,0,98,0,106,0,112,0,116,0,110,0,0,0,98,0,109,0,98,0,100,0,97,0,0,0,98,0,110,0,98,0,119,0,110,0,0,0,98,0,111,0,108,0,112,0,98,0,0,0,98,0,113,0,107,0,114,0,97,0,0,0,98,0,114,0,97,0,117,0,120,0,0,0,98,0,114,0,98,0,101,0,108,0,0,0,98,0,114,0,98,0,118,0,98,0,0,0,98,0,114,0,99,0,103,0,98,0,0,0,98,0,114,0,99,0,103,0,114,0,0,0,98,0,114,0,101,0,114,0,110,0,0,0,98,0,114,0,102,0,101,0,110,0,0,0,98,0,114,0,102,0,111,0,114,0,0,0,98,0,114,0,109,0,97,0,111,0,0,0,98,0,114,0,109,0,99,0,122,0,0,0,98,0,114,0,112,0,118,0,104,0,0,0,98,0,114,0,114,0,98,0,114,0,0,0,98,0,114,0,114,0,101,0,99,0,0,0,98,0,114,0,115,0,97,0,111,0,0,0,98,0,114,0,115,0,115,0,97,0,0,0,98,0,114,0,115,0,116,0,109,0,0,0,98,0,115,0,110,0,97,0,115,0,0,0,98,0,116,0,116,0,104,0,105,0,0,0,98,0,119,0,103,0,98,0,101,0,0,0,98,0,121,0,109,0,115,0,113,0,0,0,98,0,122,0,98,0,122,0,101,0,0,0,99,0,97,0,99,0,102,0,113,0,0,0,99,0,97,0,101,0,100,0,109,0,0,0,99,0,97,0,102,0,102,0,115,0,0,0,99,0,97,0,102,0,110,0,101,0,0,0,99,0,97,0,103,0,108,0,98,0,0,0,99,0,97,0,103,0,111,0,111,0,0,0,99,0,97,0,104,0,97,0,108,0,0,0,99,0,97,0,105,0,113,0,108,0,0,0,99,0,97,0,109,0,111,0,110,0,0,0,99,0,97,0,109,0,116,0,114,0,0,0,99,0,97,0,110,0,112,0,103,0,0,0,99,0,97,0,112,0,110,0,116,0,0,0,99,0,97,0,114,0,101,0,98,0,0,0,99,0,97,0,114,0,101,0,103,0,0,0,99,0,97,0,115,0,106,0,102,0,0,0,99,0,97,0,116,0,104,0,117,0,0,0,99,0,97,0,116,0,111,0,114,0,0,0,99,0,97,0,118,0,97,0,110,0,0,0,99,0,97,0,119,0,110,0,112,0,0,0,99,0,97,0,121,0,98,0,120,0,0,0,99,0,97,0,121,0,99,0,98,0,0,0,99,0,97,0,121,0,100,0,97,0,0,0,99,0,97,0,121,0,100,0,113,0,0,0,99,0,97,0,121,0,101,0,107,0,0,0,99,0,97,0,121,0,101,0,118,0,0,0,99,0,97,0,121,0,120,0,121,0,0,0,99,0,97,0,121,0,121,0,110,0,0,0,99,0,97,0,121,0,122,0,102,0,0,0,99,0,97,0,121,0,122,0,115,0,0,0,99,0,99,0,99,0,99,0,107,0,0,0,99,0,100,0,102,0,98,0,109,0,0,0,99,0,100,0,102,0,105,0,104,0,0,0,99,0,102,0,98,0,103,0,102,0,0,0,99,0,103,0,98,0,122,0,118,0,0,0,99,0,104,0,122,0,114,0,104,0,0,0,99,0,105,0,97,0,98,0,106,0,0,0,99,0,107,0,114,0,97,0,114,0,0,0,99,0,108,0,105,0,112,0,99,0,0,0,99,0,108,0,112,0,117,0,113,0,0,0,99,0,108,0,115,0,99,0,108,0,0,0,99,0,109,0,100,0,108,0,97,0,0,0,99,0,111,0,98,0,111,0,103,0,0,0,99,0,114,0,115,0,106,0,111,0,0,0,99,0,117,0,104,0,97,0,118,0,0,0,99,0,118,0,114,0,97,0,105,0,0,0,99,0,120,0,120,0,99,0,104,0,0,0,99,0,121,0,102,0,109,0,103,0,0,0,99,0,121,0,110,0,105,0,99,0,0,0,99,0,122,0,112,0,114,0,103,0,0,0,100,0,101,0,98,0,101,0,114,0,0,0,100,0,106,0,106,0,105,0,98,0,0,0,100,0,107,0,99,0,112,0,104,0,0,0,100,0,109,0,100,0,111,0,109,0,0,0,100,0,111,0,115,0,100,0,113,0,0,0,100,0,122,0,97,0,108,0,103,0,0,0,101,0,99,0,103,0,112,0,115,0,0,0,101,0,99,0,103,0,121,0,101,0,0,0,101,0,101,0,116,0,108,0,108,0,0,0,101,0,103,0,99,0,97,0,105,0,0,0,101,0,104,0,101,0,97,0,105,0,0,0,101,0,114,0,97,0,115,0,109,0,0,0,101,0,115,0,99,0,101,0,117,0,0,0,101,0,115,0,108,0,112,0,97,0,0,0,101,0,115,0,109,0,97,0,100,0,0,0,101,0,116,0,97,0,100,0,100,0,0,0,102,0,105,0,104,0,101,0,108,0,0,0,102,0,105,0,109,0,104,0,113,0,0,0,102,0,106,0,115,0,117,0,118,0,0,0,102,0,107,0,112,0,115,0,121,0,0,0,102,0,109,0,107,0,115,0,97,0,0,0,102,0,109,0,112,0,110,0,105,0,0,0,102,0,109,0,116,0,107,0,107,0,0,0,102,0,111,0,116,0,104,0,111,0,0,0,102,0,114,0,112,0,97,0,114,0,0,0,103,0,97,0,108,0,98,0,118,0,0,0,103,0,98,0,108,0,111,0,110,0,0,0,103,0,100,0,103,0,110,0,100,0,0,0,103,0,101,0,116,0,98,0,115,0,0,0,103,0,102,0,99,0,97,0,121,0,0,0,103,0,103,0,103,0,99,0,105,0,0,0,103,0,104,0,97,0,99,0,99,0,0,0,103,0,105,0,103,0,105,0,98,0,0,0,103,0,108,0,103,0,111,0,104,0,0,0,103,0,108,0,111,0,98,0,121,0,0,0,103,0,108,0,116,0,104,0,117,0,0,0,103,0,109,0,98,0,106,0,108,0,0,0,103,0,110,0,99,0,107,0,121,0,0,0,103,0,112,0,98,0,98,0,114,0,0,0,103,0,112,0,109,0,115,0,98,0,0,0,103,0,112,0,115,0,98,0,104,0,0,0,103,0,113,0,115,0,115,0,103,0,0,0,103,0,114,0,97,0,116,0,104,0,0,0,103,0,115,0,103,0,114,0,118,0,0,0,103,0,116,0,103,0,117,0,97,0,0,0,103,0,117,0,103,0,117,0,109,0,0,0,103,0,119,0,111,0,120,0,98,0,0,0,103,0,121,0,103,0,101,0,111,0,0,0,104,0,107,0,104,0,107,0,103,0,0,0,104,0,110,0,116,0,103,0,117,0,0,0,104,0,114,0,122,0,97,0,103,0,0,0,104,0,116,0,112,0,97,0,112,0,0,0,104,0,117,0,98,0,117,0,100,0,0,0,105,0,100,0,100,0,106,0,106,0,0,0,105,0,100,0,106,0,107,0,116,0,0,0,105,0,100,0,109,0,97,0,107,0,0,0,105,0,100,0,112,0,110,0,107,0,0,0,105,0,101,0,100,0,117,0,98,0,0,0,105,0,109,0,100,0,103,0,115,0,0,0,105,0,110,0,99,0,99,0,117,0,0,0,105,0,111,0,100,0,103,0,97,0,0,0,105,0,113,0,98,0,103,0,119,0,0,0,105,0,114,0,116,0,104,0,114,0,0,0,105,0,115,0,114,0,101,0,121,0,0,0,105,0,116,0,114,0,111,0,109,0,0,0,106,0,101,0,115,0,116,0,104,0,0,0,106,0,109,0,107,0,105,0,110,0,0,0,106,0,111,0,97,0,109,0,109,0,0,0,106,0,112,0,116,0,121,0,111,0,0,0,107,0,101,0,110,0,98,0,111,0,0,0,107,0,103,0,102,0,114,0,117,0,0,0,107,0,104,0,112,0,110,0,104,0,0,0,107,0,105,0,99,0,120,0,105,0,0,0,107,0,105,0,112,0,104,0,111,0,0,0,107,0,105,0,116,0,114,0,119,0,0,0,107,0,109,0,121,0,118,0,97,0,0,0,107,0,110,0,98,0,97,0,115,0,0,0,107,0,112,0,102,0,110,0,106,0,0,0,107,0,114,0,115,0,101,0,108,0,0,0,107,0,119,0,107,0,119,0,105,0,0,0,107,0,121,0,103,0,101,0,99,0,0,0,107,0,122,0,97,0,97,0,117,0,0,0,107,0,122,0,97,0,107,0,120,0,0,0,107,0,122,0,97,0,108,0,97,0,0,0,107,0,122,0,103,0,117,0,119,0,0,0,107,0,122,0,107,0,115,0,110,0,0,0,107,0,122,0,107,0,122,0,111,0,0,0,107,0,122,0,117,0,114,0,97,0,0,0,108,0,97,0,118,0,116,0,101,0,0,0,108,0,98,0,98,0,101,0,121,0,0,0,108,0,99,0,99,0,97,0,115,0,0,0,108,0,105,0,118,0,100,0,122,0,0,0,108,0,107,0,99,0,109,0,98,0,0,0,108,0,114,0,109,0,108,0,119,0,0,0,108,0,115,0,109,0,115,0,117,0,0,0,108,0,116,0,118,0,110,0,111,0,0,0,108,0,117,0,108,0,117,0,120,0,0,0,108,0,118,0,114,0,105,0,120,0,0,0,108,0,121,0,116,0,105,0,112,0,0,0,109,0,97,0,99,0,97,0,115,0,0,0,109,0,99,0,109,0,111,0,110,0,0,0,109,0,100,0,107,0,105,0,118,0,0,0,109,0,101,0,116,0,103,0,100,0,0,0,109,0,103,0,116,0,110,0,114,0,0,0,109,0,104,0,107,0,119,0,97,0,0,0,109,0,104,0,109,0,97,0,106,0,0,0,109,0,107,0,115,0,107,0,112,0,0,0,109,0,108,0,98,0,107,0,111,0,0,0,109,0,109,0,114,0,103,0,110,0,0,0,109,0,110,0,99,0,111,0,113,0,0,0,109,0,110,0,104,0,118,0,100,0,0,0,109,0,110,0,117,0,108,0,110,0,0,0,109,0,111,0,109,0,102,0,109,0,0,0,109,0,112,0,115,0,112,0,110,0,0,0,109,0,113,0,102,0,100,0,102,0,0,0,109,0,114,0,110,0,107,0,99,0,0,0,109,0,115,0,109,0,110,0,105,0,0,0,109,0,116,0,109,0,108,0,97,0,0,0,109,0,117,0,112,0,108,0,117,0,0,0,109,0,118,0,109,0,108,0,101,0,0,0,109,0,119,0,98,0,108,0,122,0,0,0,109,0,120,0,99,0,104,0,105,0,0,0,109,0,120,0,99,0,106,0,115,0,0,0,109,0,120,0,99,0,117,0,110,0,0,0,109,0,120,0,104,0,109,0,111,0,0,0,109,0,120,0,109,0,97,0,109,0,0,0,109,0,120,0,109,0,101,0,120,0,0,0,109,0,120,0,109,0,105,0,100,0,0,0,109,0,120,0,109,0,116,0,121,0,0,0,109,0,120,0,109,0,122,0,116,0,0,0,109,0,120,0,111,0,106,0,105,0,0,0,109,0,120,0,112,0,118,0,114,0,0,0,109,0,120,0,116,0,105,0,106,0,0,0,109,0,121,0,107,0,99,0,104,0,0,0,109,0,121,0,107,0,117,0,108,0,0,0,109,0,122,0,109,0,112,0,109,0,0,0,110,0,97,0,119,0,100,0,104,0,0,0,110,0,99,0,110,0,111,0,117,0,0,0,110,0,101,0,110,0,105,0,109,0,0,0,110,0,102,0,110,0,108,0,107,0,0,0,110,0,103,0,108,0,111,0,115,0,0,0,110,0,105,0,109,0,103,0,97,0,0,0,110,0,108,0,97,0,109,0,115,0,0,0,110,0,111,0,111,0,115,0,108,0,0,0,110,0,112,0,107,0,116,0,109,0,0,0,110,0,114,0,105,0,110,0,117,0,0,0,110,0,117,0,105,0,117,0,101,0,0,0,110,0,122,0,99,0,104,0,116,0,0,0,111,0,109,0,109,0,99,0,116,0,0,0,112,0,97,0,112,0,116,0,121,0,0,0,112,0,101,0,108,0,105,0,109,0,0,0,112,0,102,0,103,0,109,0,114,0,0,0,112,0,102,0,110,0,104,0,118,0,0,0,112,0,102,0,112,0,112,0,116,0,0,0,112,0,103,0,112,0,111,0,109,0,0,0,112,0,103,0,114,0,97,0,119,0,0,0,112,0,104,0,109,0,110,0,108,0,0,0,112,0,107,0,107,0,104,0,105,0,0,0,112,0,108,0,119,0,97,0,119,0,0,0,112,0,109,0,109,0,113,0,99,0,0,0,112,0,110,0,112,0,99,0,110,0,0,0,112,0,114,0,115,0,106,0,117,0,0,0,112,0,116,0,102,0,110,0,99,0,0,0,112,0,116,0,108,0,105,0,115,0,0,0,112,0,116,0,112,0,100,0,108,0,0,0,112,0,119,0,114,0,111,0,114,0,0,0,112,0,121,0,97,0,115,0,117,0,0,0,113,0,97,0,100,0,111,0,104,0,0,0,114,0,101,0,114,0,101,0,117,0,0,0,114,0,111,0,98,0,117,0,104,0,0,0,114,0,115,0,98,0,101,0,103,0,0,0,114,0,117,0,97,0,115,0,102,0,0,0,114,0,117,0,98,0,97,0,120,0,0,0,114,0,117,0,100,0,121,0,114,0,0,0,114,0,117,0,103,0,100,0,120,0,0,0,114,0,117,0,105,0,107,0,116,0,0,0,114,0,117,0,107,0,103,0,100,0,0,0,114,0,117,0,107,0,114,0,97,0,0,0,114,0,117,0,107,0,117,0,102,0,0,0,114,0,117,0,107,0,118,0,120,0,0,0,114,0,117,0,109,0,111,0,119,0,0,0,114,0,117,0,110,0,111,0,122,0,0,0,114,0,117,0,111,0,109,0,115,0,0,0,114,0,117,0,111,0,118,0,98,0,0,0,114,0,117,0,112,0,107,0,99,0,0,0,114,0,117,0,114,0,116,0,119,0,0,0,114,0,117,0,116,0,111,0,102,0,0,0,114,0,117,0,117,0,108,0,121,0,0,0,114,0,117,0,117,0,117,0,115,0,0,0,114,0,117,0,118,0,111,0,103,0,0,0,114,0,117,0,118,0,118,0,111,0,0,0,114,0,117,0,121,0,101,0,107,0,0,0,114,0,117,0,121,0,107,0,115,0,0,0,114,0,119,0,107,0,103,0,108,0,0,0,115,0,97,0,114,0,117,0,104,0,0,0,115,0,98,0,104,0,105,0,114,0,0,0,115,0,99,0,109,0,97,0,119,0,0,0,115,0,100,0,107,0,114,0,116,0,0,0,115,0,101,0,115,0,116,0,111,0,0,0,115,0,103,0,115,0,105,0,110,0,0,0,115,0,104,0,115,0,104,0,110,0,0,0,115,0,105,0,108,0,106,0,117,0,0,0,115,0,106,0,108,0,121,0,114,0,0,0,115,0,107,0,98,0,116,0,115,0,0,0,115,0,108,0,102,0,110,0,97,0,0,0,115,0,109,0,115,0,97,0,105,0,0,0,115,0,110,0,100,0,107,0,114,0,0,0,115,0,111,0,109,0,103,0,113,0,0,0,115,0,114,0,112,0,98,0,109,0,0,0,115,0,115,0,106,0,117,0,98,0,0,0,115,0,116,0,116,0,109,0,115,0,0,0,115,0,118,0,115,0,97,0,108,0,0,0,115,0,120,0,112,0,104,0,105,0,0,0,115,0,121,0,100,0,97,0,109,0,0,0,115,0,122,0,113,0,109,0,110,0,0,0,116,0,99,0,103,0,100,0,116,0,0,0,116,0,100,0,110,0,100,0,106,0,0,0,116,0,102,0,112,0,102,0,114,0,0,0,116,0,103,0,108,0,102,0,119,0,0,0,116,0,104,0,98,0,107,0,107,0,0,0,116,0,106,0,100,0,121,0,117,0,0,0,116,0,107,0,102,0,107,0,111,0,0,0,116,0,108,0,100,0,105,0,108,0,0,0,116,0,109,0,97,0,115,0,98,0,0,0,116,0,110,0,116,0,117,0,110,0,0,0,116,0,111,0,116,0,98,0,117,0,0,0,116,0,114,0,105,0,115,0,116,0,0,0,116,0,116,0,112,0,111,0,115,0,0,0,116,0,118,0,102,0,117,0,110,0,0,0,116,0,119,0,116,0,112,0,101,0,0,0,116,0,122,0,100,0,97,0,114,0,0,0,117,0,97,0,105,0,101,0,118,0,0,0,117,0,97,0,111,0,122,0,104,0,0,0,117,0,97,0,115,0,105,0,112,0,0,0,117,0,97,0,117,0,122,0,104,0,0,0,117,0,103,0,107,0,108,0,97,0,0,0,117,0,109,0,97,0,119,0,107,0,0,0,117,0,109,0,106,0,111,0,110,0,0,0,117,0,109,0,109,0,100,0,121,0,0,0,117,0,115,0,97,0,100,0,107,0,0,0,117,0,115,0,97,0,101,0,103,0,0,0,117,0,115,0,97,0,110,0,99,0,0,0,117,0,115,0,98,0,111,0,105,0,0,0,117,0,115,0,99,0,104,0,105,0,0,0,117,0,115,0,100,0,101,0,116,0,0,0,117,0,115,0,104,0,110,0,108,0,0,0,117,0,115,0,105,0,110,0,100,0,0,0,117,0,115,0,106,0,110,0,117,0,0,0,117,0,115,0,107,0,110,0,120,0,0,0,117,0,115,0,108,0,97,0,120,0,0,0,117,0,115,0,108,0,117,0,105,0,0,0,117,0,115,0,109,0,110,0,109,0,0,0,117,0,115,0,109,0,111,0,99,0,0,0,117,0,115,0,109,0,116,0,109,0,0,0,117,0,115,0,110,0,121,0,99,0,0,0,117,0,115,0,111,0,101,0,97,0,0,0,117,0,115,0,111,0,109,0,101,0,0,0,117,0,115,0,112,0,104,0,120,0,0,0,117,0,115,0,115,0,105,0,116,0,0,0,117,0,115,0,116,0,101,0,108,0,0,0,117,0,115,0,119,0,108,0,122,0,0,0,117,0,115,0,119,0,115,0,113,0,0,0,117,0,115,0,120,0,117,0,108,0,0,0,117,0,115,0,121,0,97,0,107,0,0,0,117,0,121,0,109,0,118,0,100,0,0,0,117,0,122,0,115,0,107,0,100,0,0,0,117,0,122,0,116,0,97,0,115,0,0,0,118,0,97,0,118,0,97,0,116,0,0,0,118,0,99,0,115,0,118,0,100,0,0,0,118,0,101,0,99,0,99,0,115,0,0,0,118,0,103,0,116,0,111,0,118,0,0,0,118,0,105,0,115,0,116,0,116,0,0,0,118,0,110,0,115,0,103,0,110,0,0,0,118,0,117,0,118,0,108,0,105,0,0,0,119,0,102,0,109,0,97,0,117,0,0,0,119,0,115,0,97,0,112,0,119,0,0,0,121,0,101,0,97,0,100,0,101,0,0,0,121,0,116,0,109,0,97,0,109,0,0,0,122,0,97,0,106,0,110,0,98,0,0,0,122,0,109,0,108,0,117,0,110,0,0,0,122,0,119,0,104,0,114,0,101,0,0,0,104,0,101,0,98,0,114,0,111,0,110,0,0,0,109,0,120,0,115,0,116,0,105,0,115,0,0,0,114,0,117,0,115,0,114,0,101,0,100,0,0,0,117,0,116,0,99,0,101,0,48,0,49,0,0,0,117,0,116,0,99,0,101,0,48,0,50,0,0,0,117,0,116,0,99,0,101,0,48,0,51,0,0,0,117,0,116,0,99,0,101,0,48,0,52,0,0,0,117,0,116,0,99,0,101,0,48,0,53,0,0,0,117,0,116,0,99,0,101,0,48,0,54,0,0,0,117,0,116,0,99,0,101,0,48,0,55,0,0,0,117,0,116,0,99,0,101,0,48,0,56,0,0,0,117,0,116,0,99,0,101,0,48,0,57,0,0,0,117,0,116,0,99,0,101,0,49,0,48,0,0,0,117,0,116,0,99,0,101,0,49,0,49,0,0,0,117,0,116,0,99,0,101,0,49,0,50,0,0,0,117,0,116,0,99,0,101,0,49,0,51,0,0,0,117,0,116,0,99,0,101,0,49,0,52,0,0,0,117,0,116,0,99,0,119,0,48,0,49,0,0,0,117,0,116,0,99,0,119,0,48,0,50,0,0,0,117,0,116,0,99,0,119,0,48,0,51,0,0,0,117,0,116,0,99,0,119,0,48,0,52,0,0,0,117,0,116,0,99,0,119,0,48,0,53,0,0,0,117,0,116,0,99,0,119,0,48,0,54,0,0,0,117,0,116,0,99,0,119,0,48,0,55,0,0,0,117,0,116,0,99,0,119,0,48,0,56,0,0,0,117,0,116,0,99,0,119,0,48,0,57,0,0,0,117,0,116,0,99,0,119,0,49,0,48,0,0,0,117,0,116,0,99,0,119,0,49,0,49,0,0,0,117,0,116,0,99,0,119,0,49,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,0,0,69,0,116,0,99,0,47,0,85,0,84,0,67,0,0,0,99,0,115,0,116,0,54,0,99,0,100,0,116,0,0,0,100,0,101,0,98,0,115,0,110,0,103,0,110,0,0,0,101,0,115,0,116,0,53,0,101,0,100,0,116,0,0,0,106,0,101,0,114,0,117,0,115,0,108,0,109,0,0,0,109,0,115,0,116,0,55,0,109,0,100,0,116,0,0,0,112,0,115,0,116,0,56,0,112,0,100,0,116,0,0,0,114,0,117,0,99,0,104,0,105,0,116,0,97,0,0,0,114,0,117,0,107,0,104,0,110,0,100,0,103,0,0,0,114,0,117,0,117,0,110,0,101,0,114,0,97,0,0,0,117,0,115,0,105,0,110,0,118,0,101,0,118,0,0,0,117,0,115,0,110,0,100,0,99,0,110,0,116,0,0,0,117,0,115,0,110,0,100,0,110,0,115,0,108,0,0,0,103,0,97,0,122,0,97,0,115,0,116,0,114,0,112,0,0,0,103,0,108,0,100,0,107,0,115,0,104,0,118,0,110,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,53,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,55,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,104,0,97,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,99,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,101,0,111,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,107,0,121,0,111,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,48,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,105,0,103,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,105,0,112,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,101,0,104,0,114,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,114,0,117,0,109,0,113,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,101,0,118,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,97,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,114,0,117,0,107,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,105,0,114,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,105,0,99,0,111,0,115,0,105,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,97,0,110,0,103,0,111,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,104,0,105,0,109,0,112,0,104,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,104,0,97,0,110,0,103,0,104,0,97,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,111,0,110,0,100,0,111,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,109,0,101,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,109,0,97,0,107,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,106,0,117,0,121,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,115,0,104,0,103,0,97,0,98,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,97,0,108,0,99,0,117,0,116,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,116,0,109,0,97,0,110,0,100,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,107,0,97,0,115,0,115,0,97,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,68,0,117,0,98,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,105,0,115,0,98,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,115,0,99,0,111,0,119,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,87,0,97,0,114,0,115,0,97,0,119,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,110,0,118,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,103,0,105,0,110,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,101,0,114,0,117,0,115,0,97,0,108,0,101,0,109,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,114,0,105,0,112,0,111,0,108,0,105,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,118,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,117,0,115,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,110,0,103,0,95,0,75,0,111,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,105,0,110,0,103,0,97,0,112,0,111,0,114,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,110,0,97,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,100,0,111,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,105,0,106,0,117,0,97,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,116,0,97,0,110,0,98,0,117,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,99,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,116,0,114,0,111,0,105,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,100,0,116,0,104,0,97,0,98,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,108,0,105,0,102,0,97,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,97,0,109,0,97,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,110,0,100,0,111,0,122,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,111,0,110,0,104,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,104,0,111,0,101,0,110,0,105,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,111,0,110,0,116,0,111,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,70,0,97,0,101,0,114,0,111,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,80,0,101,0,114,0,116,0,104,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,104,0,105,0,115,0,105,0,110,0,97,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,67,0,104,0,97,0,116,0,104,0,97,0,109,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,121,0,100,0,110,0,101,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,117,0,99,0,107,0,108,0,97,0,110,0,100,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,100,0,109,0,111,0,110,0,116,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,122,0,97,0,116,0,108,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,101,0,119,0,95,0,89,0,111,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,105,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,74,0,111,0,104,0,110,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,110,0,105,0,112,0,101,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,97,0,110,0,98,0,97,0,97,0,116,0,97,0,114,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,68,0,97,0,114,0,119,0,105,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,72,0,111,0,98,0,97,0,114,0,116,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,72,0,111,0,110,0,111,0,108,0,117,0,108,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,116,0,97,0,109,0,97,0,114,0,99,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,103,0,111,0,95,0,80,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,99,0,104,0,111,0,114,0,97,0,103,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,80,0,97,0,117,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,84,0,104,0,111,0,109,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,86,0,97,0,110,0,99,0,111,0,117,0,118,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,110,0,100,0,101,0,114,0,98,0,117,0,114,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,119,0,97,0,106,0,97,0,108,0,101,0,105,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,105,0,111,0,95,0,66,0,114,0,97,0,110,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,117,0,105,0,115,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,104,0,105,0,116,0,101,0,104,0,111,0,114,0,115,0,101,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,82,0,101,0,121,0,107,0,106,0,97,0,118,0,105,0,107,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,100,0,101,0,108,0,97,0,105,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,105,0,115,0,98,0,97,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,115,0,95,0,65,0,110,0,103,0,101,0,108,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,67,0,105,0,116,0,121,0,0,0,65,0,114,0,99,0,116,0,105,0,99,0,47,0,76,0,111,0,110,0,103,0,121,0,101,0,97,0,114,0,98,0,121,0,101,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,111,0,114,0,100,0,95,0,72,0,111,0,119,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,77,0,101,0,108,0,98,0,111,0,117,0,114,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,112,0,111,0,108,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,75,0,110,0,111,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,97,0,108,0,95,0,72,0,97,0,114,0,98,0,111,0,117,0,114,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,111,0,107,0,101,0,110,0,95,0,72,0,105,0,108,0,108,0,0,0,6,0,48,0,54,0,60,0,66,0,72,0,77,0,25,0,13,0,13,0,19,0,8,11,31,0,133,0,105,0,119,0,135,0,166,0,194,0,227,0,253,0,21,1,47,1,64,1,77,1,94,1,113,1,142,1,170,1,186,1,199,1,218,1,234,1,251,1,10,2,32,2,47,2,62,2,77,2,88,2,100,2,117,2,131,2,144,2,159,2,172,2,183,2,197,2,209,2,228,2,244,2,0,3,15,3,34,3,48,3,67,3,81,3,95,3,111,3,132,3,148,3,167,3,186,3,201,3,222,3,234,3,251,3,7,4,19,4,35,4,50,4,75,4,90,4,106,4,126,4,141,4,161,4,174,4,192,4,107,6,112,6,116,6,128,6,211,4,221,4,231,4,240,4,254,4,6,5,20,5,29,5,44,5,56,5,71,5,122,6,125,6,191,27,215,4,225,4,235,4,244,4,133,6,137,6,146,6,154,6,159,6,135,15,166,6,79,34,172,6,178,6,87,5,104,5,119,5,182,6,185,6,193,6,200,6,134,5,148,5,163,5,179,5,193,5,204,6,211,6,220,6,224,6,65,25,228,6,2,5,205,5,215,5,227,5,238,5,249,5,9,6,20,6,30,6,48,6,60,6,72,6,83,6,98,6,211,28,10,5,235,6,24,5,11,12,25,12,151,16,7,15,7,15,59,13,39,12,187,13,172,16,161,11,75,13,109,16,109,16,170,15,130,16,139,13,151,15,59,13,165,12,79,15,76,14,53,12,239,11,239,11,46,11,239,11,101,11,91,13,137,11,81,12,67,12,57,11,195,12,226,11,95,12,195,14,213,11,251,13,49,16,59,14,59,14,69,16,59,14,212,14,246,15,227,15,229,14,89,16,11,14,194,16,151,15,203,13,61,15,240,12,155,13,178,14,180,12,235,13,93,14,161,14,97,15,180,12,189,15,144,14,29,13,225,12,26,11,187,11,109,12,152,10,152,10,152,10,152,10,160,10,160,10,160,10,253,11,149,11,200,11,27,14,253,11,253,11,152,10,152,10,152,10,152,10,152,10,90,11,255,12,208,15,125,11,195,12,171,13,79,11,133,15,210,12,36,11,75,13,110,14,29,16,76,14,43,14,165,12,239,11,174,11,115,15,44,13,25,15,174,11,151,12,123,12,113,11,68,11,14,13,91,13,160,10,43,15,161,11,219,13,107,13,109,16,127,14,246,14,130,16,123,13,165,12,9,16,9,16,25,15,160,10,160,10,137,12,160,10,206,1,248,6,7,7,20,7,39,7,54,7,68,7,82,7,96,7,110,7,124,7,140,7,159,7,176,7,189,7,207,7,220,7,235,7,248,7,13,8,29,8,43,8,59,8,75,8,91,8,105,8,125,8,137,8,152,8,168,8,182,8,198,8,211,8,229,8,241,8,255,8,17,9,31,9,45,9,59,9,73,9,88,9,105,9,121,9,136,9,152,9,166,9,184,9,203,9,221,9,237,9,252,9,9,10,25,10,38,10,56,10,73,10,89,10,107,10,134,10,165,10,189,10,216,10,243,10,13,11,39,11,53,11,70,11,84,11,107,11,124,11,138,11,153,11,174,11,192,11,207,11,221,11,242,11,8,12,29,12,44,12,60,12,78,12,94,12,109,12,125,12,143,12,165,12,187,12,203,12,222,12,238,12,253,12,13,13,34,13,49,13,70,13,85,13,101,13,118,13,135,13,152,13,172,13,192,13,210,13,228,13,244,13,6,14,25,14,41,14,60,14,78,14,96,14,111,14,127,14,142,14,161,14,182,14,206,14,233,14,3,15,25,15,51,15,75,15,96,15,111,15,127,15,143,15,157,15,172,15,200,15,219,15,234,15,247,15,11,16,30,16,52,16,67,16,83,16,98,16,114,16,133,16,151,16,168,16,184,16,202,16,217,16,236,16,0,17,17,17,33,17,51,17,70,17,87,17,106,17,121,17,138,17,154,17,167,17,183,17,211,17,239,17,14,18,30,18,45,18,65,18,84,18,100,18,123,18,145,18,165,18,185,18,206,18,226,18,247,18,6,19,21,19,38,19,57,19,78,19,95,19,112,19,134,19,152,19,173,19,187,19,209,19,226,19,243,19,4,20,22,20,41,20,63,20,83,20,97,20,117,20,133,20,149,20,165,20,183,20,202,20,219,20,235,20,255,20,16,21,33,21,59,21,80,21,98,21,117,21,135,21,154,21,171,21,188,21,206,21,226,21,236,21,248,21,3,22,15,22,26,22,38,22,52,22,64,22,77,22,90,22,100,22,113,22,126,22,138,22,151,22,163,22,177,22,188,22,204,22,217,22,231,22,242,22,252,22,7,23,21,23,36,23,46,23,58,23,73,23,83,23,96,23,109,23,123,23,138,23,149,23,164,23,177,23,191,23,205,23,222,23,240,23,253,23,9,24,20,24,33,24,47,24,59,24,71,24,84,24,102,24,119,24,129,24,139,24,155,24,170,24,185,24,196,24,210,24,225,24,238,24,250,24,6,25,20,25,35,25,46,25,60,25,75,25,94,25,106,25,120,25,133,25,145,25,158,25,169,25,180,25,197,25,209,25,223,25,238,25,255,25,12,26,31,26,44,26,60,26,77,26,93,26,113,26,129,26,146,26,165,26,188,26,207,26,224,26,243,26,6,27,28,27,45,27,62,27,78,27,95,27,114,27,134,27,154,27,170,27,146,35,154,35,187,27,195,27,205,27,216,27,227,27,238,27,248,27,2,28,12,28,22,28,32,28,42,28,52,28,62,28,72,28,83,28,94,28,105,28,116,28,127,28,137,28,147,28,157,28,167,28,177,28,187,28,197,28,207,28,215,28,227,28,244,28,3,29,20,29,34,29,50,29,64,29,82,29,98,29,115,29,131,29,147,29,163,29,181,29,195,29,212,29,228,29,244,29,7,30,23,30,37,30,56,30,68,30,81,30,95,30,112,30,126,30,144,30,158,30,171,30,188,30,201,30,215,30,229,30,241,30,254,30,15,31,29,31,41,31,53,31,67,31,85,31,101,31,116,31,134,31,148,31,161,31,178,31,193,31,207,31,224,31,240,31,253,31,12,32,26,32,41,32,58,32,72,32,86,32,104,32,118,32,138,32,152,32,169,32,182,32,196,32,213,32,225,32,241,32,2,33,17,33,162,35,170,35,32,33,45,33,62,33,83,33,99,33,114,33,128,33,146,33,162,33,175,33,192,33,210,33,226,33,246,33,3,34,20,34,37,34,56,34,71,34,89,34,104,34,122,34,137,34,151,34,164,34,180,34,195,34,213,34,227,34,244,34,3,35,24,35,42,35,57,35,72,35,87,35,105,35,118,35,131,35,227,2,241,3,145,3,85,3,121,3,185,5,209,2,15,4,75,4,7,6,215,2,111,1,109,3,137,5,127,3,21,4,11,8,155,8,61,3,1,3,115,3,255,7,255,1,199,9,187,9,29,8,185,8,213,7,189,7,203,2,127,6,205,3,83,8,85,0,197,2,193,9,45,4,97,6,107,5,59,8,17,8,101,5,213,4,71,8,115,6,233,5,93,1,117,1,35,8,131,5,119,8,103,6,209,8,221,8,61,0,55,0,147,1,169,0,193,0,199,0,211,0,181,0,205,0,217,0,57,1,27,7,231,1,73,6,75,1,153,1,11,2,131,2,159,1,7,3,227,8,151,0,137,2,171,1,25,6,133,9,163,0,229,3,23,5,233,8,13,6,19,6,185,2,157,0,13,3,17,2,165,1,79,0,17,11,143,2,149,2,31,0,239,8,73,3,23,2,177,1,41,8,35,2,189,1,41,2,253,3,47,2,65,8,217,3,27,4,63,4,97,3,81,4,53,2,19,3,31,6,7,9,215,8,85,9,73,9,240,10,49,9,79,9,251,8,161,2,59,2,195,4,175,0,1,9,31,9,141,1,135,1,187,6,13,9,19,9,47,8,201,1,133,6,195,1,33,4,227,5,37,6,61,6,187,0,25,9,49,6,37,9,43,6,241,6,65,2,55,6,103,9,71,2,239,5,243,1,43,9,77,2,55,9,183,1,91,9,248,10,0,11,67,6,181,6,83,2,23,8,61,9,105,4,137,8,207,1,253,6,245,2,29,2,155,2,219,1,95,2,89,2,213,1,212,9,237,1,251,2,79,3,225,1,3,4,67,9,39,4,101,2,255,4,83,5,145,9,127,9,173,2,93,4,9,4,107,2,79,6,113,2,139,9,119,2,167,2,125,2,97,9,179,2,91,0,97,0,103,0,39,1,109,0,115,0,121,0,127,0,133,0,139,0,145,0,243,7,175,9,41,5,201,4,69,7,29,5,35,5,113,8,47,5,165,4,105,1,63,1,89,8,63,7,77,5,219,4,129,1,153,4,216,10,197,5,95,5,53,8,81,1,107,8,43,0,95,8,37,3,8,11,205,9,87,4,203,5,81,7,123,4,117,4,192,10,49,0,135,7,229,6,151,6,224,10,93,7,91,6,85,6,17,5,215,5,75,7,129,4,223,6,175,6,43,3,117,7,129,7,123,7,65,5,225,4,135,4,5,5,33,7,53,5,59,5,191,5,195,7,151,9,159,7,109,9,11,5,13,0,225,7,219,9,149,8,115,9,223,3,171,4,249,1,207,4,147,7,209,5,19,0,232,10,71,5,171,7,183,7,177,7,73,0,15,7,123,1,133,3,25,3,193,3,3,7,177,4,57,4,231,7,169,3,235,0,247,0,241,0,15,1,253,0,3,1,9,1,21,1,27,1,33,1,45,1,51,1,168,10,184,10,1,0,68,10,131,10,138,10,145,10,75,10,82,10,89,10,96,10,103,10,110,10,117,10,124,10,226,9,33,10,40,10,47,10,54,10,61,10,233,9,240,9,247,9,254,9,5,10,12,10,19,10,26,10,9,0,5,0,139,6,37,0,57,7,51,4,51,7,55,3,249,7,87,1,45,7,111,4,176,10,149,5,67,3,141,4,247,3,235,3,151,3,147,4,131,8,189,4,87,7,161,8,105,7,9,7,237,7,211,3,119,5,139,3,245,5,157,3,5,2,143,5,111,7,145,6,199,3,155,5,49,3,125,5,183,4,99,7,5,8,69,1,141,7,173,8,179,5,99,1,219,7,103,3,67,0,153,7,179,8,89,5,121,9,229,0,113,5,165,7,235,6,99,4,167,8,221,2,161,5,159,4,31,3,191,2,249,4,77,8,207,7,1,6,251,5,181,9,39,7,200,10,208,10,169,9,25,0,217,6,169,6,239,2,157,9,237,4,101,8,163,3,143,8,91,3,193,6,201,7,69,4,245,8,197,8,231,4,175,3,167,5,173,5,199,6,203,8,157,6,163,6,121,6,109,6,223,0,21,7,247,6,181,3,211,6,233,2,221,5,205,6,243,4,125,8,187,3,191,8,163,9,170,170,1,0,45,0,216,16,0,80,1,0,96,0,229,16,0,80,1,0,96,0,240,17,0,80,3,0,32,0,86,0,240,6,180,19,0,32,182,19,0,32,184,19,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,238,15,0,32,7,0,0,0,136,2,0,0,246,15,0,0,246,15,0,0,113,0,0,0,1,0,0,0,158,11,0,0,99,108,100,114,86,101,114,115,105,111,110,0,99,111,110,118,101,114,116,85,110,105,116,115,0,49,48,48,45,107,105,108,111,109,101,116,101,114,0,102,97,99,116,111,114,0,116,97,114,103,101,116,0,97,99,114,101,0,97,114,99,45,109,105,110,117,116,101,0,97,114,99,45,115,101,99,111,110,100,0,97,115,116,114,111,110,111,109,105,99,97,108,45,117,110,105,116,0,97,116,109,111,115,112,104,101,114,101,0,98,97,114,0,98,97,114,114,101,108,0,98,105,116,0,98,114,105,116,105,115,104,45,116,104,101,114,109,97,108,45,117,110,105,116,0,98,117,115,104,101,108,0,98,121,116,101,0,99,97,110,100,101,108,97,0,99,97,114,97,116,0,99,101,108,115,105,117,115,0,111,102,102,115,101,116,0,99,101,110,116,117,114,121,0,99,117,112,0,99,117,112,45,109,101,116,114,105,99,0,100,97,108,116,111,110,0,100,97,121,0,100,97,121,45,112,101,114,115,111,110,0,100,101,99,97,100,101,0,100,101,103,114,101,101,0,100,101,115,115,101,114,116,45,115,112,111,111,110,0,100,101,115,115,101,114,116,45,115,112,111,111,110,45,105,109,112,101,114,105,97,108,0,100,111,116,0,100,114,97,109,0,100,114,111,112,0,100,117,110,97,109,0,101,97,114,116,104,45,109,97,115,115,0,101,97,114,116,104,45,114,97,100,105,117,115,0,101,108,101,99,116,114,111,110,118,111,108,116,0,102,97,104,114,101,110,104,101,105,116,0,102,97,116,104,111,109,0,102,108,117,105,100,45,111,117,110,99,101,0,102,108,117,105,100,45,111,117,110,99,101,45,105,109,112,101,114,105,97,108,0,102,111,111,100,99,97,108,111,114,105,101,0,102,111,111,116,0,102,117,114,108,111,110,103,0,103,45,102,111,114,99,101,0,103,97,108,108,111,110,0,103,97,108,108,111,110,45,105,109,112,101,114,105,97,108,0,103,114,97,105,110,0,104,101,99,116,97,114,101,0,104,101,114,116,122,0,104,111,114,115,101,112,111,119,101,114,0,104,111,117,114,0,105,116,101,109,0,106,105,103,103,101,114,0,106,111,117,108,101,0,107,97,114,97,116,0,107,101,108,118,105,110,0,107,110,111,116,0,108,105,103,104,116,45,121,101,97,114,0,108,105,116,101,114,0,108,117,109,101,110,0,108,117,120,0,109,105,108,101,45,115,99,97,110,100,105,110,97,118,105,97,110,0,109,111,110,116,104,0,109,111,110,116,104,45,112,101,114,115,111,110,0,110,97,117,116,105,99,97,108,45,109,105,108,101,0,110,101,119,116,111,110,0,111,102,103,108,117,99,111,115,101,0,111,102,104,103,0,111,104,109,0,111,117,110,99,101,45,116,114,111,121,0,112,97,114,115,101,99,0,112,97,115,99,97,108,0,112,101,114,99,101,110,116,0,112,101,114,109,105,108,108,101,0,112,101,114,109,105,108,108,105,111,110,0,112,101,114,109,121,114,105,97,100,0,112,105,110,99,104,0,112,105,110,116,0,112,105,110,116,45,109,101,116,114,105,99,0,112,105,120,101,108,0,112,111,105,110,116,0,112,111,114,116,105,111,110,0,112,111,117,110,100,0,112,111,117,110,100,45,102,111,114,99,101,0,113,117,97,114,116,0,113,117,97,114,116,45,105,109,112,101,114,105,97,108,0,113,117,97,114,116,101,114,0,114,97,100,105,97,110,0,115,111,108,97,114,45,108,117,109,105,110,111,115,105,116,121,0,115,111,108,97,114,45,109,97,115,115,0,115,111,108,97,114,45,114,97,100,105,117,115,0,115,116,111,110,101,0,116,97,98,108,101,115,112,111,111,110,0,116,101,97,115,112,111,111,110,0,116,104,101,114,109,45,117,115,0,116,111,110,110,101,0,119,97,116,116,0,119,101,101,107,0,119,101,101,107,45,112,101,114,115,111,110,0,121,97,114,100,0,121,101,97,114,45,112,101,114,115,111,110,0,117,110,105,116,67,111,110,115,116,97,110,116,115,0,80,73,0,102,116,50,95,116,111,95,109,50,0,102,116,51,95,116,111,95,109,51,0,102,116,95,116,111,95,109,0,103,97,108,95,105,109,112,95,116,111,95,109,51,0,103,97,108,95,116,111,95,109,51,0,103,108,117,99,111,115,101,95,109,111,108,97,114,95,109,97,115,115,0,103,114,97,118,105,116,121,0,105,110,51,95,116,111,95,109,51,0,105,116,101,109,95,112,101,114,95,109,111,108,101,0,108,98,95,116,111,95,107,103,0,109,101,116,101,114,115,95,112,101,114,95,65,85,0,115,101,99,95,112,101,114,95,106,117,108,105,97,110,95,121,101,97,114,0,115,112,101,101,100,95,111,102,95,108,105,103,104,116,95,109,101,116,101,114,115,95,112,101,114,95,115,101,99,111,110,100,0,117,110,105,116,80,114,101,102,101,114,101,110,99,101,68,97,116,97,0,97,114,101,97,0,100,101,102,97,117,108,116,0,48,48,49,0,71,66,0,85,83,0,103,101,111,103,114,97,112,104,0,108,97,110,100,0,99,111,110,99,101,110,116,114,97,116,105,111,110,0,98,108,111,111,100,45,103,108,117,99,111,115,101,0,65,71,0,65,73,0,65,79,0,66,65,0,66,71,0,66,72,0,66,77,0,66,78,0,66,87,0,66,89,0,67,65,0,67,72,0,67,77,0,67,78,0,67,90,0,68,75,0,68,77,0,69,69,0,70,73,0,70,74,0,71,68,0,72,75,0,72,82,0,72,85,0,73,69,0,73,77,0,73,83,0,75,69,0,75,78,0,75,87,0,75,90,0,76,67,0,76,73,0,76,84,0,76,85,0,76,86,0,77,69,0,77,71,0,77,75,0,77,79,0,77,83,0,77,84,0,77,85,0,77,89,0,77,90,0,78,65,0,78,76,0,78,79,0,78,90,0,79,77,0,80,71,0,82,83,0,82,85,0,83,69,0,83,71,0,83,73,0,83,75,0,84,67,0,84,79,0,85,65,0,85,71,0,86,67,0,86,71,0,86,78,0,86,85,0,90,65,0,99,111,110,115,117,109,112,116,105,111,110,0,118,101,104,105,99,108,101,45,102,117,101,108,0,66,82,0,73,84,0,74,80,0,75,82,0,77,88,0,84,72,0,84,82,0,109,101,100,105,97,0,101,110,101,114,103,121,0,102,111,111,100,0,102,111,99,97,108,45,108,101,110,103,116,104,0,73,78,0,112,101,114,115,111,110,45,104,101,105,103,104,116,0,65,84,0,66,69,0,103,101,113,0,68,90,0,69,71,0,69,83,0,70,82,0,73,68,0,73,76,0,74,79,0,83,65,0,114,97,105,110,102,97,108,108,0,114,111,97,100,0,115,107,101,108,101,116,111,110,0,115,110,111,119,102,97,108,108,0,118,101,104,105,99,108,101,0,118,105,115,105,98,108,116,121,0,68,69,0,109,97,115,115,45,100,101,110,115,105,116,121,0,101,110,103,105,110,101,0,112,114,101,115,115,117,114,101,0,98,97,114,111,109,116,114,99,0,115,112,101,101,100,0,119,105,110,100,0,80,76,0,116,101,109,112,101,114,97,116,117,114,101,0,119,101,97,116,104,101,114,0,66,83,0,66,90,0,75,89,0,80,82,0,80,87,0,118,111,108,117,109,101,0,102,108,117,105,100,0,111,105,108,0,121,101,97,114,45,100,117,114,97,116,105,111,110,0,112,101,114,115,111,110,45,97,103,101,0,117,110,105,116,81,117,97,110,116,105,116,105,101,115,0,99,97,110,100,101,108,97,45,112,101,114,45,115,113,117,97,114,101,45,109,101,116,101,114,0,99,97,110,100,101,108,97,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,115,113,117,97,114,101,45,109,101,116,101,114,0,107,105,108,111,103,114,97,109,45,112,101,114,45,107,105,108,111,103,114,97,109,0,107,105,108,111,103,114,97,109,45,112,101,114,45,99,117,98,105,99,45,109,101,116,101,114,0,107,105,108,111,103,114,97,109,45,112,101,114,45,109,101,116,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,0,107,105,108,111,103,114,97,109,45,112,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,45,97,109,112,101,114,101,0,107,105,108,111,103,114,97,109,45,109,101,116,101,114,45,112,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,99,117,98,105,99,45,115,101,99,111,110,100,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,99,117,98,105,99,45,115,101,99,111,110,100,45,97,109,112,101,114,101,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,99,117,98,105,99,45,115,101,99,111,110,100,45,115,113,117,97,114,101,45,97,109,112,101,114,101,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,45,97,109,112,101,114,101,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,45,115,113,117,97,114,101,45,97,109,112,101,114,101,0,99,117,98,105,99,45,109,101,116,101,114,45,112,101,114,45,107,105,108,111,103,114,97,109,0,99,117,98,105,99,45,109,101,116,101,114,45,112,101,114,45,109,101,116,101,114,0,109,101,116,101,114,45,112,101,114,45,115,101,99,111,110,100,0,107,105,108,111,103,114,97,109,45,112,101,114,45,115,113,117,97,114,101,45,109,101,116,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,0,112,111,119,52,45,115,101,99,111,110,100,45,115,113,117,97,114,101,45,97,109,112,101,114,101,45,112,101,114,45,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,0,99,117,98,105,99,45,115,101,99,111,110,100,45,115,113,117,97,114,101,45,97,109,112,101,114,101,45,112,101,114,45,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,0,97,109,112,101,114,101,45,112,101,114,45,115,113,117,97,114,101,45,109,101,116,101,114,0,97,109,112,101,114,101,45,112,101,114,45,109,101,116,101,114,0,115,113,117,97,114,101,45,114,101,118,111,108,117,116,105,111,110,0,114,101,118,111,108,117,116,105,111,110,45,112,101,114,45,109,101,116,101,114,0,114,101,118,111,108,117,116,105,111,110,45,112,101,114,45,115,101,99,111,110,100,0,105,116,101,109,45,112,101,114,45,107,105,108,111,103,114,97,109,0,105,116,101,109,45,112,101,114,45,99,117,98,105,99,45,109,101,116,101,114,0,112,105,120,101,108,45,112,101,114,45,109,101,116,101,114,0,0,0,52,0,50,0,0,0,51,0,46,0,48,0,0,0,48,0,46,0,53,0,0,0,98,0,105,0,116,0,0,0,116,0,111,0,110,0,0,0,48,0,46,0,49,0,0,0,48,0,46,0,57,0,0,0,49,0,47,0,52,0,0,0,50,0,46,0,53,0,0,0,99,0,117,0,112,0,0,0,100,0,97,0,121,0,0,0,97,0,99,0,114,0,101,0,0,0,121,0,97,0,114,0,100,0,0,0,105,0,116,0,101,0,109,0,0,0,49,0,47,0,49,0,50,0,0,0,49,0,47,0,50,0,52,0,0,0,49,0,56,0,53,0,50,0,0,0,52,0,49,0,56,0,52,0,0,0,97,0,114,0,101,0,97,0,0,0,100,0,111,0,115,0,101,0,0,0,112,0,105,0,110,0,116,0,0,0,48,0,46,0,48,0,48,0,49,0,0,0,49,0,48,0,48,0,46,0,48,0,0,0,51,0,48,0,48,0,46,0,48,0,0,0,56,0,54,0,52,0,48,0,48,0,0,0,112,0,105,0,120,0,101,0,108,0,0,0,49,0,47,0,49,0,48,0,48,0,0,0,49,0,47,0,51,0,54,0,48,0,0,0,52,0,46,0,49,0,56,0,52,0,0,0,102,0,111,0,114,0,99,0,101,0,0,0,109,0,111,0,110,0,116,0,104,0,0,0,113,0,117,0,97,0,114,0,116,0,0,0,115,0,112,0,101,0,101,0,100,0,0,0,116,0,111,0,110,0,110,0,101,0,0,0,107,0,101,0,108,0,118,0,105,0,110,0,0,0,49,0,47,0,49,0,48,0,48,0,48,0,0,0,49,0,48,0,48,0,48,0,48,0,48,0,0,0,54,0,48,0,52,0,56,0,48,0,48,0,0,0,48,0,46,0,48,0,48,0,48,0,50,0,0,0,48,0,46,0,48,0,48,0,48,0,53,0,0,0,48,0,46,0,51,0,48,0,52,0,56,0,0,0,49,0,47,0,50,0,42,0,80,0,73,0,0,0,49,0,48,0,49,0,51,0,50,0,53,0,0,0,50,0,55,0,51,0,46,0,49,0,53,0,0,0,98,0,97,0,114,0,114,0,101,0,108,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,0,0,109,0,105,0,110,0,117,0,116,0,101,0,0,0,112,0,111,0,114,0,116,0,105,0,111,0,110,0,0,0,49,0,47,0,49,0,48,0,48,0,48,0,48,0,0,0,99,0,101,0,108,0,115,0,105,0,117,0,115,0,0,0,104,0,101,0,99,0,116,0,97,0,114,0,101,0,0,0,48,0,46,0,48,0,48,0,48,0,50,0,53,0,0,0,57,0,46,0,56,0,48,0,54,0,54,0,53,0,0,0,99,0,97,0,110,0,100,0,101,0,108,0,97,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,0,0,118,0,111,0,108,0,116,0,97,0,103,0,101,0,0,0,109,0,105,0,108,0,108,0,105,0,98,0,97,0,114,0,0,0,107,0,105,0,108,0,111,0,119,0,97,0,116,0,116,0,0,0,49,0,47,0,51,0,54,0,48,0,42,0,54,0,48,0,0,0,49,0,56,0,48,0,46,0,49,0,53,0,53,0,55,0,0,0,51,0,49,0,53,0,53,0,55,0,54,0,48,0,48,0,0,0,54,0,46,0,51,0,55,0,56,0,49,0,69,0,54,0,0,0,103,0,105,0,103,0,97,0,119,0,97,0,116,0,116,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,0,0,109,0,101,0,103,0,97,0,119,0,97,0,116,0,116,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,0,0,116,0,101,0,97,0,115,0,112,0,111,0,111,0,110,0,0,0,105,0,110,0,99,0,104,0,45,0,111,0,102,0,104,0,103,0,0,0,109,0,105,0,99,0,114,0,111,0,103,0,114,0,97,0,109,0,0,0,49,0,56,0,53,0,50,0,47,0,51,0,54,0,48,0,48,0,0,0,50,0,57,0,57,0,55,0,57,0,50,0,52,0,53,0,56,0,0,0,49,0,47,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,0,0,49,0,48,0,53,0,52,0,56,0,48,0,52,0,48,0,48,0,0,0,50,0,50,0,57,0,56,0,46,0,51,0,53,0,47,0,57,0,0,0,51,0,46,0,56,0,50,0,56,0,69,0,43,0,50,0,54,0,0,0,54,0,57,0,53,0,55,0,48,0,48,0,48,0,48,0,48,0,0,0,102,0,114,0,101,0,113,0,117,0,101,0,110,0,99,0,121,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,42,0,51,0,0,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,0,0,109,0,105,0,108,0,108,0,105,0,119,0,97,0,116,0,116,0,0,0,116,0,121,0,112,0,101,0,119,0,105,0,100,0,116,0,104,0,0,0,102,0,97,0,104,0,114,0,101,0,110,0,104,0,101,0,105,0,116,0,0,0,114,0,101,0,118,0,111,0,108,0,117,0,116,0,105,0,111,0,110,0,0,0,104,0,111,0,114,0,115,0,101,0,112,0,111,0,119,0,101,0,114,0,0,0,109,0,105,0,108,0,108,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,99,0,117,0,98,0,105,0,99,0,45,0,102,0,111,0,111,0,116,0,0,0,99,0,117,0,98,0,105,0,99,0,45,0,105,0,110,0,99,0,104,0,0,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,48,0,46,0,48,0,48,0,52,0,53,0,52,0,54,0,48,0,57,0,0,0,48,0,46,0,48,0,51,0,49,0,49,0,48,0,51,0,52,0,56,0,0,0,48,0,46,0,52,0,53,0,51,0,53,0,57,0,50,0,51,0,55,0,0,0,53,0,46,0,57,0,55,0,50,0,50,0,69,0,43,0,50,0,52,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,47,0,49,0,50,0,0,0,109,0,101,0,103,0,97,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,110,0,97,0,110,0,111,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,114,0,101,0,115,0,111,0,108,0,117,0,116,0,105,0,111,0,110,0,0,0,116,0,97,0,98,0,108,0,101,0,115,0,112,0,111,0,111,0,110,0,0,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,105,0,108,0,101,0,0,0,109,0,105,0,99,0,114,0,111,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,54,0,46,0,54,0,55,0,52,0,48,0,56,0,69,0,45,0,49,0,49,0,0,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,102,0,111,0,111,0,116,0,0,0,104,0,101,0,99,0,116,0,111,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,115,0,111,0,108,0,105,0,100,0,45,0,97,0,110,0,103,0,108,0,101,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,42,0,54,0,54,0,48,0,0,0,49,0,46,0,57,0,56,0,56,0,52,0,55,0,69,0,43,0,51,0,48,0,0,0,49,0,47,0,51,0,54,0,48,0,42,0,54,0,48,0,42,0,54,0,48,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,0,0,102,0,108,0,117,0,105,0,100,0,45,0,111,0,117,0,110,0,99,0,101,0,0,0,102,0,111,0,111,0,100,0,99,0,97,0,108,0,111,0,114,0,105,0,101,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,32,0,42,0,32,0,54,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,47,0,56,0,54,0,52,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,52,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,56,0,0,0,105,0,108,0,108,0,117,0,109,0,105,0,110,0,97,0,110,0,99,0,101,0,0,0,107,0,105,0,108,0,111,0,99,0,97,0,108,0,111,0,114,0,105,0,101,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,42,0,49,0,52,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,47,0,49,0,54,0,0,0,109,0,105,0,108,0,108,0,105,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,116,0,101,0,109,0,112,0,101,0,114,0,97,0,116,0,117,0,114,0,101,0,0,0,119,0,97,0,118,0,101,0,45,0,110,0,117,0,109,0,98,0,101,0,114,0,0,0,121,0,101,0,97,0,114,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,52,0,50,0,42,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,0,0,49,0,46,0,54,0,48,0,50,0,49,0,55,0,55,0,69,0,45,0,49,0,57,0,0,0,49,0,52,0,57,0,53,0,57,0,55,0,56,0,55,0,48,0,55,0,48,0,48,0,0,0,97,0,99,0,99,0,101,0,108,0,101,0,114,0,97,0,116,0,105,0,111,0,110,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,42,0,53,0,50,0,56,0,48,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,54,0,0,0,109,0,97,0,115,0,115,0,45,0,100,0,101,0,110,0,115,0,105,0,116,0,121,0,0,0,102,0,111,0,111,0,116,0,45,0,97,0,110,0,100,0,45,0,105,0,110,0,99,0,104,0,0,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,104,0,111,0,117,0,114,0,0,0,121,0,101,0,97,0,114,0,45,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,0,0,107,0,105,0,108,0,111,0,119,0,97,0,116,0,116,0,45,0,104,0,111,0,117,0,114,0,0,0,50,0,51,0,49,0,42,0,105,0,110,0,51,0,95,0,116,0,111,0,95,0,109,0,51,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,97,0,116,0,105,0,111,0,110,0,0,0,103,0,97,0,108,0,95,0,105,0,109,0,112,0,95,0,116,0,111,0,95,0,109,0,51,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,50,0,56,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,50,0,53,0,54,0,0,0,105,0,116,0,101,0,109,0,95,0,112,0,101,0,114,0,95,0,109,0,111,0,108,0,101,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,42,0,50,0,48,0,48,0,48,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,47,0,55,0,48,0,48,0,48,0,0,0,108,0,117,0,109,0,105,0,110,0,111,0,117,0,115,0,45,0,102,0,108,0,117,0,120,0,0,0,109,0,97,0,103,0,110,0,101,0,116,0,105,0,99,0,45,0,102,0,108,0,117,0,120,0,0,0,109,0,97,0,115,0,115,0,45,0,102,0,114,0,97,0,99,0,116,0,105,0,111,0,110,0,0,0,109,0,101,0,116,0,101,0,114,0,115,0,95,0,112,0,101,0,114,0,95,0,65,0,85,0,0,0,54,0,46,0,48,0,50,0,50,0,49,0,52,0,48,0,55,0,54,0,69,0,43,0,50,0,51,0,0,0,112,0,111,0,117,0,110,0,100,0,45,0,97,0,110,0,100,0,45,0,111,0,117,0,110,0,99,0,101,0,0,0,115,0,116,0,111,0,110,0,101,0,45,0,97,0,110,0,100,0,45,0,112,0,111,0,117,0,110,0,100,0,0,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,45,0,111,0,102,0,104,0,103,0,0,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,0,0,49,0,51,0,53,0,57,0,53,0,46,0,49,0,42,0,103,0,114,0,97,0,118,0,105,0,116,0,121,0,0,0,115,0,112,0,101,0,99,0,105,0,102,0,105,0,99,0,45,0,118,0,111,0,108,0,117,0,109,0,101,0,0,0,99,0,117,0,114,0,114,0,101,0,110,0,116,0,45,0,100,0,101,0,110,0,115,0,105,0,116,0,121,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,99,0,104,0,97,0,114,0,103,0,101,0,0,0,103,0,97,0,108,0,95,0,105,0,109,0,112,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,52,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,50,0,56,0,42,0,56,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,54,0,42,0,52,0,56,0,0,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,99,0,117,0,98,0,105,0,99,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,99,0,117,0,114,0,114,0,101,0,110,0,116,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,54,0,42,0,49,0,50,0,56,0,0,0,115,0,117,0,98,0,115,0,116,0,97,0,110,0,99,0,101,0,45,0,97,0,109,0,111,0,117,0,110,0,116,0,0,0,105,0,116,0,101,0,109,0,45,0,112,0,101,0,114,0,45,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,0,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,49,0,46,0,52,0,57,0,50,0,52,0,49,0,56,0,48,0,56,0,53,0,54,0,48,0,69,0,45,0,49,0,48,0,0,0,50,0,49,0,53,0,48,0,46,0,52,0,50,0,42,0,105,0,110,0,51,0,95,0,116,0,111,0,95,0,109,0,51,0,0,0,102,0,116,0,50,0,95,0,116,0,111,0,95,0,109,0,50,0,32,0,42,0,32,0,52,0,51,0,53,0,54,0,48,0,0,0,103,0,97,0,108,0,95,0,105,0,109,0,112,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,54,0,48,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,42,0,51,0,47,0,49,0,50,0,56,0,42,0,50,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,50,0,56,0,42,0,49,0,50,0,56,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,50,0,56,0,42,0,53,0,55,0,54,0,0,0,109,0,105,0,108,0,101,0,45,0,115,0,99,0,97,0,110,0,100,0,105,0,110,0,97,0,118,0,105,0,97,0,110,0,0,0,109,0,105,0,110,0,117,0,116,0,101,0,45,0,97,0,110,0,100,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,104,0,111,0,117,0,114,0,0,0,52,0,46,0,49,0,56,0,52,0,42,0,50,0,50,0,54,0,55,0,46,0,57,0,54,0,49,0,56,0,53,0,47,0,57,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,97,0,115,0,115,0,0,0,102,0,116,0,51,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,50,0,42,0,49,0,50,0,42,0,49,0,50,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,32,0,42,0,32,0,103,0,114,0,97,0,118,0,105,0,116,0,121,0,0,0,108,0,117,0,109,0,105,0,110,0,111,0,117,0,115,0,45,0,105,0,110,0,116,0,101,0,110,0,115,0,105,0,116,0,121,0,0,0,109,0,97,0,103,0,110,0,101,0,116,0,105,0,99,0,45,0,105,0,110,0,100,0,117,0,99,0,116,0,105,0,111,0,110,0,0,0,109,0,105,0,108,0,108,0,105,0,109,0,111,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,108,0,105,0,116,0,101,0,114,0,0,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,112,0,101,0,114,0,45,0,108,0,101,0,110,0,103,0,116,0,104,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,105,0,110,0,100,0,117,0,99,0,116,0,97,0,110,0,99,0,101,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,114,0,101,0,115,0,105,0,115,0,116,0,97,0,110,0,99,0,101,0,0,0,109,0,101,0,116,0,101,0,114,0,45,0,97,0,110,0,100,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,105,0,116,0,101,0,109,0,45,0,112,0,101,0,114,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,99,0,97,0,112,0,97,0,99,0,105,0,116,0,97,0,110,0,99,0,101,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,99,0,111,0,110,0,100,0,117,0,99,0,116,0,97,0,110,0,99,0,101,0,0,0,102,0,108,0,117,0,105,0,100,0,45,0,111,0,117,0,110,0,99,0,101,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,103,0,97,0,108,0,95,0,105,0,109,0,112,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,54,0,42,0,49,0,50,0,56,0,0,0,112,0,114,0,101,0,99,0,105,0,115,0,105,0,111,0,110,0,45,0,105,0,110,0,99,0,114,0,101,0,109,0,101,0,110,0,116,0,47,0,49,0,0,0,52,0,49,0,49,0,53,0,53,0,55,0,57,0,56,0,55,0,32,0,47,0,32,0,49,0,51,0,49,0,48,0,48,0,50,0,57,0,55,0,54,0,0,0,114,0,101,0,118,0,111,0,108,0,117,0,116,0,105,0,111,0,110,0,45,0,112,0,101,0,114,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,112,0,114,0,101,0,99,0,105,0,115,0,105,0,111,0,110,0,45,0,105,0,110,0,99,0,114,0,101,0,109,0,101,0,110,0,116,0,47,0,49,0,48,0,0,0,112,0,114,0,101,0,99,0,105,0,115,0,105,0,111,0,110,0,45,0,105,0,110,0,99,0,114,0,101,0,109,0,101,0,110,0,116,0,47,0,53,0,48,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,42,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,42,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,0,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,49,0,48,0,48,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,109,0,97,0,103,0,110,0,101,0,116,0,105,0,99,0,45,0,102,0,105,0,101,0,108,0,100,0,45,0,115,0,116,0,114,0,101,0,110,0,103,0,116,0,104,0,0,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,99,0,97,0,110,0,100,0,101,0,108,0,97,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,112,0,101,0,114,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,109,0,101,0,116,0,101,0,114,0,115,0,95,0,112,0,101,0,114,0,95,0,65,0,85,0,42,0,54,0,48,0,42,0,54,0,48,0,42,0,49,0,56,0,48,0,47,0,80,0,73,0,0,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,0,0,121,0,101,0,97,0,114,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,45,0,97,0,110,0,100,0,45,0,109,0,111,0,110,0,116,0,104,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,112,0,101,0,114,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,45,0,111,0,102,0,103,0,108,0,117,0,99,0,111,0,115,0,101,0,45,0,112,0,101,0,114,0,45,0,100,0,101,0,99,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,32,0,42,0,32,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,32,0,42,0,32,0,103,0,114,0,97,0,118,0,105,0,116,0,121,0,32,0,42,0,32,0,53,0,53,0,48,0,0,0,99,0,97,0,110,0,100,0,101,0,108,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,49,0,48,0,48,0,48,0,42,0,105,0,116,0,101,0,109,0,95,0,112,0,101,0,114,0,95,0,109,0,111,0,108,0,101,0,47,0,103,0,108,0,117,0,99,0,111,0,115,0,101,0,95,0,109,0,111,0,108,0,97,0,114,0,95,0,109,0,97,0,115,0,115,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,45,220,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,45,0,97,0,109,0,112,0,101,0,114,0,101,0,0,0,52,220,115,0,112,0,101,0,101,0,100,0,95,0,111,0,102,0,95,0,108,0,105,0,103,0,104,0,116,0,95,0,109,0,101,0,116,0,101,0,114,0,115,0,95,0,112,0,101,0,114,0,95,0,115,0,101,0,99,0,111,0,110,0,100,0,42,0,115,0,101,0,99,0,95,0,112,0,101,0,114,0,95,0,106,0,117,0,108,0,105,0,97,0,110,0,95,0,121,0,101,0,97,0,114,0,0,0,52,220,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,97,0,109,0,112,0,101,0,114,0,101,0,0,0,2,0,71,0,78,0,186,0,228,7,2,0,71,0,78,0,191,6,155,10,2,0,71,0,78,0,25,3,217,11,2,0,71,0,78,0,97,1,82,2,2,0,71,0,78,0,87,3,82,2,2,0,71,0,78,0,68,5,228,7,2,0,71,0,78,0,228,0,251,9,2,0,71,0,78,0,186,0,251,9,2,0,71,0,78,0,23,4,68,8,2,0,71,0,78,0,25,3,12,0,2,0,71,0,78,0,80,7,245,10,2,0,71,0,78,0,173,6,68,8,2,0,71,0,78,0,225,1,12,0,2,0,71,0,78,0,136,0,245,10,2,0,71,0,78,0,25,3,55,1,2,0,71,0,78,0,200,0,128,6,3,0,71,0,211,0,78,0,25,3,235,0,172,0,2,0,71,0,78,0,126,0,165,11,2,0,71,0,78,0,88,4,68,8,2,0,71,0,78,0,39,1,68,8,2,0,71,0,78,0,155,6,245,10,2,0,71,0,78,0,112,0,8,3,2,0,71,0,78,0,112,0,8,3,2,0,71,0,78,0,250,8,165,11,2,0,71,0,78,0,130,0,82,2,2,0,71,0,78,0,85,6,68,8,2,0,71,0,78,0,143,8,68,8,2,0,71,0,78,0,25,3,118,0,2,0,71,0,78,0,241,5,68,8,2,0,71,0,78,0,7,7,68,8,2,0,71,0,78,0,181,0,155,10,2,0,71,0,78,0,181,2,128,6,2,0,71,0,78,0,124,1,228,7,2,0,71,0,78,0,36,4,245,10,2,0,71,0,78,0,25,3,56,0,3,0,71,0,211,0,78,0,95,7,247,1,172,0,2,0,71,0,78,0,135,3,228,7,2,0,71,0,78,0,212,4,68,8,2,0,71,0,78,0,209,6,68,8,2,0,71,0,78,0,74,0,245,10,2,0,71,0,78,0,36,9,228,7,2,0,71,0,78,0,63,3,228,7,2,0,71,0,78,0,169,5,37,10,2,0,71,0,78,0,26,4,68,8,2,0,71,0,78,0,198,4,68,8,2,0,71,0,78,0,12,5,128,6,2,0,71,0,78,0,94,0,128,6,2,0,71,0,78,0,17,1,155,10,2,0,71,0,78,0,25,3,208,8,2,0,71,0,78,0,95,10,206,10,2,0,71,0,78,0,212,1,8,3,2,0,71,0,78,0,192,2,228,7,2,0,71,0,78,0,25,3,54,0,2,0,71,0,78,0,227,6,68,8,2,0,71,0,78,0,25,3,245,10,2,0,71,0,78,0,64,0,7,1,2,0,71,0,78,0,25,3,172,0,2,0,71,0,78,0,25,3,128,6,2,0,71,0,78,0,207,1,17,6,2,0,71,0,78,0,116,11,228,7,2,0,71,0,78,0,94,0,68,8,2,0,71,0,78,0,25,3,130,10,2,0,71,0,78,0,25,3,117,9,2,0,71,0,78,0,25,3,228,7,2,0,71,0,78,0,75,4,228,7,2,0,71,0,78,0,17,1,228,7,2,0,71,0,78,0,72,3,8,3,2,0,71,0,78,0,240,4,54,0,2,0,71,0,78,0,59,0,165,11,2,0,71,0,78,0,59,0,165,11,2,0,71,0,78,0,69,0,228,7,2,0,71,0,78,0,25,3,28,10,2,0,71,0,78,0,168,10,119,6,2,0,71,0,78,0,161,5,29,11,2,0,71,0,78,0,25,3,170,11,2,0,71,0,78,0,219,3,128,6,2,0,71,0,78,0,159,2,128,6,2,0,71,0,78,0,167,9,228,7,2,0,71,0,78,0,25,3,251,9,2,0,71,0,78,0,124,0,7,1,2,0,71,0,78,0,179,0,7,1,2,0,71,0,78,0,227,1,7,1,2,0,71,0,78,0,15,1,7,1,2,0,71,0,78,0,245,6,68,8,2,0,71,0,78,0,171,3,68,8,2,0,71,0,78,0,207,0,68,8,2,0,71,0,78,0,25,3,118,0,2,0,71,0,78,0,147,3,228,7,2,0,71,0,78,0,25,3,7,1,2,0,71,0,78,0,151,1,128,6,2,0,71,0,78,0,137,7,28,10,2,0,71,0,78,0,159,3,68,8,2,0,71,0,78,0,225,5,68,8,2,0,71,0,78,0,28,0,165,11,2,0,71,0,78,0,221,0,82,2,2,0,71,0,78,0,25,3,82,2,2,0,71,0,78,0,25,3,8,3,2,0,71,0,78,0,1,2,206,10,2,0,71,0,78,0,75,3,128,6,2,0,71,0,78,0,11,2,228,7,2,0,71,0,78,0,207,3,128,6,2,0,71,0,78,0,226,4,68,8,2,0,71,0,78,0,1,6,68,8,2,0,71,0,78,0,237,1,245,10,2,0,71,0,78,0,254,4,128,6,2,0,71,0,78,0,181,0,128,6,2,0,71,0,78,0,25,3,69,11,2,0,71,0,78,0,25,3,206,10,2,0,71,0,78,0,193,0,8,3,2,0,71,0,78,0,193,0,8,3,2,0,71,0,78,0,31,2,228,7,2,0,71,0,78,0,25,3,165,11,2,0,71,0,78,0,25,3,165,11,15,0,122,5,181,3,184,3,194,3,204,3,212,3,226,3,236,3,255,3,7,4,17,4,31,4,40,4,54,4,74,4,15,3,186,8,28,9,20,9,214,0,148,2,170,4,106,1,47,1,118,7,82,5,170,2,49,4,115,1,217,1,1,0,172,0,34,6,1,0,172,0,31,1,1,0,172,0,155,10,1,0,172,0,137,6,1,0,172,0,247,2,1,0,172,0,44,0,1,0,172,0,27,3,1,0,172,0,210,9,1,0,172,0,247,2,1,0,172,0,44,0,1,0,172,0,27,3,1,0,172,0,210,9,1,0,172,0,34,6,1,0,172,0,247,2,1,0,172,0,247,2,1,0,172,0,31,1,1,0,172,0,44,0,1,0,172,0,44,0,1,0,172,0,61,10,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,59,8,1,0,172,0,44,9,1,0,172,0,44,9,1,0,172,0,214,7,1,0,172,0,92,9,1,0,172,0,92,9,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,145,5,1,0,172,0,40,0,1,0,172,0,165,4,1,0,172,0,0,1,1,0,172,0,8,3,1,0,172,0,231,3,1,0,172,0,3,3,1,0,172,0,214,2,1,0,172,0,43,7,1,0,172,0,8,3,1,0,172,0,156,4,1,0,172,0,195,3,1,0,172,0,123,3,1,0,172,0,224,7,1,0,172,0,228,7,1,0,172,0,144,6,1,0,172,0,254,2,1,0,172,0,34,3,1,0,172,0,217,9,1,0,172,0,254,2,1,0,172,0,34,3,1,0,172,0,217,9,1,0,172,0,137,2,1,0,172,0,144,6,1,0,172,0,217,9,1,0,172,0,217,9,1,0,172,0,217,9,1,0,172,0,217,9,1,0,172,0,144,6,1,0,172,0,38,8,1,0,172,0,38,8,2,0,233,5,172,0,4,0,114,4,1,0,172,0,217,9,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,2,0,233,5,172,0,4,0,114,4,1,0,172,0,217,9,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,2,0,233,5,172,0,4,0,114,4,1,0,172,0,217,9,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,2,0,233,5,172,0,4,0,114,4,1,0,172,0,217,9,1,0,172,0,38,8,1,0,172,0,137,2,1,0,172,0,144,6,1,0,172,0,217,9,2,0,233,5,172,0,24,0,224,7,3,0,233,5,19,6,172,0,106,0,253,8,228,7,3,0,233,5,19,6,172,0,250,8,230,8,228,7,2,0,19,6,172,0,164,8,228,7,2,0,233,5,172,0,8,0,254,2,3,0,233,5,19,6,172,0,100,0,253,8,49,0,3,0,233,5,19,6,172,0,250,8,230,8,49,0,2,0,19,6,172,0,164,8,49,0,1,0,172,0,25,7,1,0,172,0,224,7,3,0,233,5,19,6,172,0,106,0,253,8,228,7,3,0,233,5,19,6,172,0,250,8,230,8,228,7,2,0,19,6,172,0,164,8,228,7,2,0,233,5,172,0,8,0,254,2,3,0,233,5,19,6,172,0,100,0,253,8,34,3,3,0,233,5,19,6,172,0,250,8,230,8,34,3,2,0,19,6,172,0,164,8,34,3,1,0,172,0,144,6,1,0,172,0,217,9,1,0,172,0,228,7,1,0,172,0,114,4,1,0,172,0,114,4,2,0,233,5,172,0,20,0,224,7,1,0,172,0,228,7,1,0,172,0,228,7,1,0,172,0,254,2,1,0,172,0,34,3,1,0,172,0,228,7,1,0,172,0,254,2,1,0,172,0,34,3,1,0,172,0,166,0,1,0,172,0,128,6,1,0,172,0,202,1,1,0,172,0,41,2,1,0,172,0,197,1,1,0,172,0,16,0,1,0,172,0,123,5,1,0,172,0,107,5,1,0,172,0,16,0,1,0,172,0,123,5,1,0,172,0,107,5,1,0,172,0,128,6,1,0,172,0,202,1,1,0,172,0,113,5,1,0,172,0,97,5,1,0,172,0,97,5,1,0,172,0,123,5,1,0,172,0,97,5,1,0,172,0,142,9,1,0,172,0,133,1,1,0,172,0,160,1,1,0,172,0,88,1,1,0,172,0,92,1,1,0,172,0,51,2,1,0,172,0,88,1,1,0,172,0,93,2,1,0,172,0,93,2,1,0,172,0,39,3,1,0,172,0,79,1,1,0,172,0,79,1,1,0,172,0,79,1,1,0,172,0,79,1,1,0,172,0,187,1,1,0,172,0,129,5,1,0,172,0,129,5,1,0,172,0,79,1,1,0,172,0,187,1,1,0,172,0,203,2,1,0,172,0,44,3,1,0,172,0,194,9,1,0,172,0,194,9,1,0,172,0,61,7,1,0,172,0,128,4,1,0,172,0,128,4,1,0,172,0,61,7,1,0,172,0,17,6,1,0,172,0,17,6,1,0,172,0,17,6,1,0,172,0,17,6,1,0,172,0,17,6,1,0,172,0,17,6,1,0,172,0,128,4,1,0,172,0,23,1,1,0,172,0,71,2,1,0,172,0,23,1,1,0,172,0,71,2,1,0,172,0,71,2,1,0,172,0,71,2,1,0,172,0,71,2,1,0,172,0,71,2,1,0,172,0,71,2,1,0,172,0,68,8,1,0,172,0,51,6,1,0,172,0,115,2,1,0,172,0,126,2,1,0,172,0,115,2,1,0,172,0,126,2,1,0,172,0,109,2,1,0,172,0,104,2,1,0,172,0,101,9,1,0,172,0,122,8,1,0,172,0,154,5,1,0,172,0,154,0,1,0,172,0,89,0,1,0,172,0,36,0,1,0,172,0,111,3,1,0,172,0,236,2,1,0,172,0,178,1,1,0,172,0,242,0,1,0,172,0,109,2,1,0,172,0,154,5,1,0,172,0,165,11,1,0,172,0,148,0,2,0,233,5,172,0,32,0,11,4,1,0,172,0,222,9,1,0,172,0,238,9,1,0,189,0,156,7,1,0,201,6,183,3,1,0,226,6,26,5,1,0,194,8,201,10,1,0,8,7,54,5,1,0,30,7,101,4,1,0,55,7,169,1,1,0,88,7,175,7,1,0,122,7,142,0,1,0,155,7,98,2,1,0,194,7,71,1,1,0,240,7,18,8,1,0,37,8,249,0,1,0,77,8,40,5,1,0,124,8,254,7,1,0,4,10,186,5,1,0,178,8,177,5,1,0,203,8,99,3,1,0,251,6,79,0,1,0,46,8,84,0,1,0,65,0,247,7,1,0,225,8,160,0,1,0,131,7,62,4,1,0,242,8,234,7,1,0,26,9,80,8,1,0,78,9,101,8,1,0,100,4,147,4,1,0,110,8,209,5,1,0,69,4,142,4,1,0,171,8,68,6,1,0,131,9,193,5,1,0,155,9,68,9,1,0,26,2,243,3,1,0,172,9,51,3,1,0,179,9,57,3,1,0,190,9,255,3,1,0,211,9,21,2,1,0,2,2,102,6,1,0,233,9,99,7,1,0,251,9,184,4,1,0,240,2,7,1,1,0,152,0,63,1,1,0,228,2,142,1,1,0,16,10,225,2,1,0,4,2,61,2,113,0,57,0,85,0,171,8,90,0,101,0,112,0,130,0,141,0,145,0,152,0,156,0,177,0,184,0,170,1,189,0,197,0,203,0,218,0,226,0,230,0,241,0,248,0,252,0,7,1,14,1,21,1,35,1,58,1,62,1,67,1,72,1,78,1,89,1,102,1,4,2,115,1,126,1,133,1,145,1,166,1,178,1,183,1,191,1,199,1,206,1,222,1,198,8,228,1,236,1,242,1,253,1,206,2,2,2,7,2,14,2,20,2,26,2,194,8,33,2,38,2,49,2,55,2,61,2,65,0,111,2,65,2,94,0,26,4,83,2,89,2,102,2,116,2,123,2,133,2,138,2,139,1,142,2,153,2,160,2,167,2,175,2,184,2,195,2,205,2,211,2,216,2,228,2,234,2,240,2,248,2,254,2,10,3,16,3,31,3,39,3,179,9,100,4,46,3,63,3,74,3,87,3,93,3,104,3,113,3,119,2,122,3,110,1,128,3,133,3,138,3,150,3,69,4,155,3,224,11,0,80,229,11,0,80,234,11,0,80,239,11,0,80,244,11,0,80,249,11,0,80,254,11,0,80,3,12,0,80,8,12,0,80,13,12,0,80,18,12,0,80,23,12,0,80,28,12,0,80,33,12,0,80,38,12,0,80,43,12,0,80,48,12,0,80,55,12,0,80,60,12,0,80,65,12,0,80,70,12,0,80,75,12,0,80,80,12,0,80,85,12,0,80,90,12,0,80,95,12,0,80,100,12,0,80,105,12,0,80,110,12,0,80,115,12,0,80,120,12,0,80,125,12,0,80,130,12,0,80,135,12,0,80,140,12,0,80,145,12,0,80,152,12,0,80,157,12,0,80,162,12,0,80,167,12,0,80,172,12,0,80,177,12,0,80,182,12,0,80,187,12,0,80,192,12,0,80,197,12,0,80,202,12,0,80,207,12,0,80,212,12,0,80,217,12,0,80,222,12,0,80,227,12,0,80,232,12,0,80,237,12,0,80,242,12,0,80,247,12,0,80,252,12,0,80,1,13,0,80,6,13,0,80,11,13,0,80,16,13,0,80,21,13,0,80,26,13,0,80,31,13,0,80,36,13,0,80,41,13,0,80,46,13,0,80,51,13,0,80,56,13,0,80,61,13,0,80,66,13,0,80,71,13,0,80,76,13,0,80,81,13,0,80,86,13,0,80,91,13,0,80,96,13,0,80,101,13,0,80,106,13,0,80,111,13,0,80,116,13,0,80,121,13,0,80,126,13,0,80,131,13,0,80,136,13,0,80,141,13,0,80,146,13,0,80,151,13,0,80,156,13,0,80,161,13,0,80,166,13,0,80,171,13,0,80,176,13,0,80,181,13,0,80,186,13,0,80,191,13,0,80,196,13,0,80,201,13,0,80,206,13,0,80,211,13,0,80,216,13,0,80,221,13,0,80,226,13,0,80,231,13,0,80,236,13,0,80,241,13,0,80,246,13,0,80,251,13,0,80,0,14,0,80,5,14,0,80,10,14,0,80,15,14,0,80,20,14,0,80,4,0,0,0,56,14,0,80,59,14,0,80,62,14,0,80,65,14,0,80,4,0,0,0,68,14,0,80,71,14,0,80,74,14,0,80,77,14,0,80,4,0,0,0,80,14,0,80,83,14,0,80,86,14,0,80,89,14,0,80,3,0,139,4,143,4,146,4,72,12,0,128,77,12,0,128,82,12,0,128,1,0,0,0,92,14,0,80,1,0,0,0,95,14,0,80,1,0,0,0,98,14,0,80,3,0,139,4,143,4,146,4,92,12,0,128,94,12,0,128,96,12,0,128,1,0,0,0,101,14,0,80,1,0,0,0,104,14,0,80,1,0,0,0,107,14,0,80,3,0,139,4,143,4,146,4,103,12,0,128,105,12,0,128,107,12,0,128,3,0,131,4,149,4,158,4,87,12,0,32,98,12,0,32,109,12,0,32,1,0,0,0,110,14,0,80,1,0,0,0,113,14,0,80,1,0,0,0,116,14,0,80,1,0,0,0,119,14,0,80,1,0,0,0,122,14,0,80,1,0,0,0,125,14,0,80,1,0,0,0,128,14,0,80,1,0,0,0,131,14,0,80,1,0,0,0,134,14,0,80,1,0,0,0,137,14,0,80,1,0,0,0,140,14,0,80,1,0,0,0,143,14,0,80,1,0,0,0,146,14,0,80,1,0,0,0,149,14,0,80,1,0,0,0,152,14,0,80,1,0,0,0,155,14,0,80,1,0,0,0,158,14,0,80,1,0,0,0,161,14,0,80,1,0,0,0,164,14,0,80,1,0,0,0,167,14,0,80,1,0,0,0,170,14,0,80,1,0,0,0,173,14,0,80,1,0,0,0,176,14,0,80,1,0,0,0,179,14,0,80,1,0,0,0,182,14,0,80,1,0,0,0,185,14,0,80,1,0,0,0,188,14,0,80,1,0,0,0,191,14,0,80,1,0,0,0,194,14,0,80,1,0,0,0,197,14,0,80,1,0,0,0,200,14,0,80,1,0,0,0,203,14,0,80,1,0,0,0,206,14,0,80,1,0,0,0,209,14,0,80,1,0,0,0,212,14,0,80,1,0,0,0,215,14,0,80,1,0,0,0,218,14,0,80,1,0,0,0,221,14,0,80,1,0,0,0,224,14,0,80,1,0,0,0,227,14,0,80,1,0,0,0,230,14,0,80,1,0,0,0,233,14,0,80,1,0,0,0,236,14,0,80,1,0,0,0,239,14,0,80,1,0,0,0,242,14,0,80,1,0,0,0,245,14,0,80,1,0,0,0,248,14,0,80,1,0,0,0,251,14,0,80,1,0,0,0,254,14,0,80,1,0,0,0,1,15,0,80,1,0,0,0,4,15,0,80,1,0,0,0,7,15,0,80,1,0,0,0,10,15,0,80,1,0,0,0,13,15,0,80,1,0,0,0,16,15,0,80,1,0,0,0,19,15,0,80,1,0,0,0,22,15,0,80,1,0,0,0,25,15,0,80,1,0,0,0,28,15,0,80,1,0,0,0,31,15,0,80,1,0,0,0,34,15,0,80,1,0,0,0,37,15,0,80,1,0,0,0,40,15,0,80,1,0,0,0,43,15,0,80,1,0,0,0,46,15,0,80,1,0,0,0,49,15,0,80,1,0,0,0,52,15,0,80,1,0,0,0,55,15,0,80,1,0,0,0,58,15,0,80,69,0,139,4,191,4,194,4,197,4,51,4,200,4,203,4,206,4,209,4,212,4,215,4,218,4,221,4,224,4,227,4,230,4,233,4,236,4,239,4,242,4,245,4,248,4,143,4,251,4,254,4,1,5,4,5,7,5,10,5,13,5,16,5,19,5,22,5,25,5,28,5,31,5,34,5,37,5,40,5,43,5,46,5,49,5,52,5,55,5,58,5,61,5,64,5,67,5,70,5,73,5,76,5,79,5,82,5,85,5,88,5,91,5,94,5,97,5,100,5,103,5,106,5,109,5,112,5,115,5,118,5,121,5,124,5,127,5,130,5,119,12,0,128,121,12,0,128,123,12,0,128,125,12,0,128,127,12,0,128,129,12,0,128,131,12,0,128,133,12,0,128,135,12,0,128,137,12,0,128,139,12,0,128,141,12,0,128,143,12,0,128,145,12,0,128,147,12,0,128,149,12,0,128,151,12,0,128,153,12,0,128,155,12,0,128,157,12,0,128,159,12,0,128,161,12,0,128,163,12,0,128,165,12,0,128,167,12,0,128,169,12,0,128,171,12,0,128,173,12,0,128,175,12,0,128,177,12,0,128,179,12,0,128,181,12,0,128,183,12,0,128,185,12,0,128,187,12,0,128,189,12,0,128,191,12,0,128,193,12,0,128,195,12,0,128,197,12,0,128,199,12,0,128,201,12,0,128,203,12,0,128,205,12,0,128,207,12,0,128,209,12,0,128,211,12,0,128,213,12,0,128,215,12,0,128,217,12,0,128,219,12,0,128,221,12,0,128,223,12,0,128,225,12,0,128,227,12,0,128,229,12,0,128,231,12,0,128,233,12,0,128,235,12,0,128,237,12,0,128,239,12,0,128,241,12,0,128,243,12,0,128,245,12,0,128,247,12,0,128,249,12,0,128,251,12,0,128,253,12,0,128,255,12,0,128,1,0,0,0,61,15,0,80,1,0,139,4,105,13,0,128,2,0,177,4,131,4,170,170,1,13,0,32,107,13,0,32,1,0,0,0,64,15,0,80,1,0,139,4,113,13,0,128,1,0,0,0,67,15,0,80,1,0,0,0,70,15,0,80,1,0,0,0,73,15,0,80,1,0,0,0,76,15,0,80,1,0,0,0,79,15,0,80,1,0,0,0,82,15,0,80,1,0,0,0,85,15,0,80,1,0,0,0,88,15,0,80,1,0,0,0,91,15,0,80,1,0,0,0,94,15,0,80,1,0,0,0,97,15,0,80,1,0,0,0,100,15,0,80,1,0,0,0,103,15,0,80,13,0,139,4,158,5,221,4,143,4,161,5,164,5,167,5,170,5,64,5,73,5,173,5,176,5,146,4,117,13,0,128,119,13,0,128,121,13,0,128,123,13,0,128,125,13,0,128,127,13,0,128,129,13,0,128,131,13,0,128,133,13,0,128,135,13,0,128,137,13,0,128,139,13,0,128,141,13,0,128,2,0,131,4,145,5,170,170,115,13,0,32,143,13,0,32,7,0,0,0,106,15,0,80,109,15,0,80,112,15,0,80,115,15,0,80,118,15,0,80,121,15,0,80,124,15,0,80,1,0,139,4,167,13,0,128,2,0,0,0,127,15,0,80,130,15,0,80,1,0,139,4,177,13,0,128,2,0,131,4,179,5,170,170,175,13,0,32,180,13,0,32,1,0,0,0,133,15,0,80,1,0,139,4,186,13,0,128,1,0,0,0,136,15,0,80,1,0,0,0,139,15,0,80,2,0,139,4,146,4,170,170,190,13,0,128,192,13,0,128,2,0,131,4,192,5,170,170,188,13,0,32,194,13,0,32,3,0,0,0,142,15,0,80,145,15,0,80,148,15,0,80,3,0,0,0,151,15,0,80,154,15,0,80,157,15,0,80,3,0,0,0,160,15,0,80,163,15,0,80,166,15,0,80,3,0,139,4,143,4,146,4,202,13,0,128,206,13,0,128,210,13,0,128,1,0,0,0,169,15,0,80,1,0,139,4,219,13,0,128,1,0,0,0,172,15,0,80,1,0,0,0,175,15,0,80,1,0,0,0,178,15,0,80,1,0,0,0,181,15,0,80,1,0,0,0,184,15,0,80,5,0,139,4,221,4,143,4,210,5,146,4,223,13,0,128,225,13,0,128,227,13,0,128,229,13,0,128,231,13,0,128,1,0,0,0,187,15,0,80,1,0,0,0,190,15,0,80,1,0,0,0,193,15,0,80,2,0,0,0,196,15,0,80,201,15,0,80,1,0,0,0,204,15,0,80,1,0,0,0,207,15,0,80,1,0,0,0,210,15,0,80,1,0,0,0,213,15,0,80,2,0,0,0,216,15,0,80,221,15,0,80,1,0,0,0,224,15,0,80,1,0,0,0,227,15,0,80,1,0,0,0,230,15,0,80,2,0,0,0,233,15,0,80,238,15,0,80,1,0,0,0,241,15,0,80,1,0,0,0,244,15,0,80,1,0,0,0,247,15,0,80,1,0,0,0,250,15,0,80,1,0,0,0,253,15,0,80,1,0,0,0,0,16,0,80,2,0,0,0,3,16,0,80,8,16,0,80,1,0,0,0,11,16,0,80,21,0,139,4,227,5,230,5,221,4,237,5,240,5,243,5,246,5,143,4,254,4,249,5,252,5,210,5,161,5,255,5,64,5,2,6,94,5,176,5,146,4,124,5,241,13,0,128,243,13,0,128,245,13,0,128,247,13,0,128,250,13,0,128,252,13,0,128,254,13,0,128,0,14,0,128,2,14,0,128,5,14,0,128,7,14,0,128,9,14,0,128,11,14,0,128,14,14,0,128,16,14,0,128,18,14,0,128,20,14,0,128,22,14,0,128,24,14,0,128,26,14,0,128,29,14,0,128,1,0,0,0,14,16,0,80,1,0,0,0,17,16,0,80,1,0,0,0,20,16,0,80,3,0,139,4,158,5,146,4,63,14,0,128,65,14,0,128,67,14,0,128,4,0,0,0,23,16,0,80,28,16,0,80,35,16,0,80,42,16,0,80,4,0,0,0,47,16,0,80,52,16,0,80,59,16,0,80,66,16,0,80,5,0,0,0,71,16,0,80,74,16,0,80,77,16,0,80,84,16,0,80,91,16,0,80,4,0,0,0,96,16,0,80,101,16,0,80,108,16,0,80,115,16,0,80,4,0,139,4,143,4,94,5,146,4,170,170,74,14,0,128,79,14,0,128,84,14,0,128,90,14,0,128,1,0,0,0,120,16,0,80,1,0,0,0,123,16,0,80,2,0,139,4,146,4,170,170,102,14,0,128,104,14,0,128,1,0,0,0,126,16,0,80,1,0,0,0,129,16,0,80,1,0,0,0,132,16,0,80,3,0,139,4,143,4,146,4,110,14,0,128,112,14,0,128,114,14,0,128,2,0,0,0,135,16,0,80,140,16,0,80,1,0,0,0,143,16,0,80,2,0,0,0,146,16,0,80,149,16,0,80,1,0,0,0,152,16,0,80,2,0,0,0,155,16,0,80,158,16,0,80,5,0,139,4,54,6,143,4,73,5,146,4,121,14,0,128,124,14,0,128,126,14,0,128,129,14,0,128,131,14,0,128,9,0,131,4,197,5,0,1,213,5,5,6,14,6,28,6,37,6,45,6,214,13,0,32,221,13,0,32,233,13,0,32,31,14,0,32,69,14,0,32,95,14,0,32,106,14,0,32,116,14,0,32,134,14,0,32,5,0,0,0,161,16,0,80,164,16,0,80,167,16,0,80,170,16,0,80,173,16,0,80,3,0,0,0,176,16,0,80,179,16,0,80,182,16,0,80,3,0,0,0,185,16,0,80,188,16,0,80,191,16,0,80,3,0,139,4,143,4,146,4,156,14,0,128,162,14,0,128,166,14,0,128,2,0,0,0,194,16,0,80,197,16,0,80,2,0,0,0,200,16,0,80,203,16,0,80,1,0,0,0,206,16,0,80,2,0,0,0,209,16,0,80,212,16,0,80,4,0,139,4,143,4,254,4,146,4,170,170,175,14,0,128,178,14,0,128,181,14,0,128,183,14,0,128,2,0,131,4,0,1,170,170,170,14,0,32,186,14,0,32,1,0,0,0,215,16,0,80,1,0,139,4,197,14,0,128,1,0,131,4,199,14,0,32,5,0,0,0,218,16,0,80,221,16,0,80,224,16,0,80,227,16,0,80,230,16,0,80,1,0,139,4,203,14,0,128,1,0,0,0,233,16,0,80,1,0,0,0,236,16,0,80,1,0,0,0,239,16,0,80,3,0,139,4,143,4,146,4,211,14,0,128,213,14,0,128,215,14,0,128,2,0,131,4,70,6,170,170,209,14,0,32,217,14,0,32,1,0,0,0,242,16,0,80,1,0,0,0,245,16,0,80,1,0,0,0,248,16,0,80,1,0,0,0,251,16,0,80,1,0,0,0,254,16,0,80,1,0,0,0,1,17,0,80,1,0,0,0,4,17,0,80,1,0,0,0,7,17,0,80,1,0,0,0,10,17,0,80,1,0,0,0,13,17,0,80,10,0,139,4,158,5,240,5,143,4,252,5,210,5,170,5,91,5,173,5,146,4,170,170,226,14,0,128,228,14,0,128,230,14,0,128,232,14,0,128,234,14,0,128,236,14,0,128,238,14,0,128,240,14,0,128,242,14,0,128,244,14,0,128,2,0,0,0,16,17,0,80,19,17,0,80,1,0,0,0,22,17,0,80,1,0,0,0,25,17,0,80,3,0,139,4,143,4,146,4,6,15,0,128,9,15,0,128,11,15,0,128,2,0,86,6,131,4,170,170,246,14,0,32,13,15,0,32,1,0,0,0,28,17,0,80,1,0,0,0,31,17,0,80,1,0,0,0,34,17,0,80,3,0,139,4,143,4,146,4,22,15,0,128,24,15,0,128,26,15,0,128,1,0,0,0,37,17,0,80,1,0,0,0,40,17,0,80,1,0,0,0,43,17,0,80,1,0,0,0,46,17,0,80,1,0,0,0,49,17,0,80,1,0,0,0,52,17,0,80,1,0,0,0,55,17,0,80,1,0,0,0,58,17,0,80,8,0,139,4,245,4,167,5,76,5,106,6,91,5,94,5,146,4,170,170,33,15,0,128,35,15,0,128,37,15,0,128,39,15,0,128,41,15,0,128,43,15,0,128,45,15,0,128,47,15,0,128,2,0,131,4,101,6,170,170,28,15,0,32,49,15,0,32,1,0,0,0,61,17,0,80,1,0,0,0,64,17,0,80,2,0,139,4,146,4,170,170,66,15,0,128,68,15,0,128,1,0,0,0,67,17,0,80,1,0,0,0,70,17,0,80,1,0,0,0,73,17,0,80,1,0,0,0,76,17,0,80,1,0,0,0,79,17,0,80,1,0,0,0,82,17,0,80,1,0,0,0,85,17,0,80,7,0,139,4,129,6,132,6,135,6,138,6,141,6,146,4,74,15,0,128,76,15,0,128,78,15,0,128,80,15,0,128,82,15,0,128,84,15,0,128,86,15,0,128,2,0,131,4,121,6,170,170,70,15,0,32,88,15,0,32,2,0,0,0,88,17,0,80,91,17,0,80,2,0,0,0,94,17,0,80,97,17,0,80,2,0,0,0,100,17,0,80,103,17,0,80,3,0,139,4,143,4,146,4,103,15,0,128,106,15,0,128,109,15,0,128,2,0,0,0,106,17,0,80,109,17,0,80,2,0,0,0,112,17,0,80,115,17,0,80,7,0,0,0,118,17,0,80,121,17,0,80,124,17,0,80,127,17,0,80,130,17,0,80,133,17,0,80,136,17,0,80,3,0,139,4,143,4,146,4,117,15,0,128,120,15,0,128,123,15,0,128,1,0,0,0,139,17,0,80,1,0,139,4,136,15,0,128,1,0,0,0,142,17,0,80,1,0,0,0,145,17,0,80,2,0,139,4,146,4,170,170,140,15,0,128,142,15,0,128,4,0,131,4,151,6,157,6,37,6,170,170,112,15,0,32,131,15,0,32,138,15,0,32,144,15,0,32,2,0,0,0,148,17,0,80,151,17,0,80,1,0,139,4,155,15,0,128,3,0,0,0,154,17,0,80,159,17,0,80,162,17,0,80,1,0,139,4,160,15,0,128,2,0,131,4,175,6,170,170,158,15,0,32,164,15,0,32,14,0,126,4,163,4,133,5,166,6,185,5,203,5,250,3,57,6,247,1,77,6,95,6,109,6,144,6,161,6,170,170,114,12,0,32,109,13,0,32,163,13,0,32,182,13,0,32,198,13,0,32,142,14,0,32,193,14,0,32,201,14,0,32,222,14,0,32,18,15,0,32,62,15,0,32,99,15,0,32,148,15,0,32,166,15,0,32,45,0,0,0,165,17,0,80,168,17,0,80,171,17,0,80,174,17,0,80,177,17,0,80,180,17,0,80,183,17,0,80,186,17,0,80,189,17,0,80,192,17,0,80,195,17,0,80,198,17,0,80,201,17,0,80,204,17,0,80,207,17,0,80,210,17,0,80,213,17,0,80,216,17,0,80,219,17,0,80,222,17,0,80,225,17,0,80,228,17,0,80,231,17,0,80,234,17,0,80,237,17,0,80,240,17,0,80,243,17,0,80,246,17,0,80,249,17,0,80,252,17,0,80,255,17,0,80,2,18,0,80,5,18,0,80,8,18,0,80,11,18,0,80,14,18,0,80,17,18,0,80,20,18,0,80,23,18,0,80,26,18,0,80,29,18,0,80,32,18,0,80,35,18,0,80,38,18,0,80,41,18,0,80,5,0,32,0,44,0,167,3,107,4,186,6,1,0,0,96,158,11,0,32,25,14,0,80,170,15,0,32,192,15,0,128,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,13,22,0,32,7,0,0,0,189,3,0,0,15,22,0,0,15,22,0,0,139,0,0,0,1,0,0,0,60,21,0,0,109,97,112,84,105,109,101,122,111,110,101,115,0,65,85,83,32,67,101,110,116,114,97,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,48,48,49,0,65,85,0,65,85,83,32,69,97,115,116,101,114,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,102,103,104,97,110,105,115,116,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,70,0,65,108,97,115,107,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,85,83,0,65,108,101,117,116,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,108,116,97,105,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,82,85,0,65,114,97,98,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,72,0,75,87,0,81,65,0,83,65,0,89,69,0,65,114,97,98,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,69,0,79,77,0,90,90,0,65,114,97,98,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,73,81,0,65,114,103,101,110,116,105,110,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,82,0,65,115,116,114,97,107,104,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,116,108,97,110,116,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,77,0,67,65,0,71,76,0,65,117,115,32,67,101,110,116,114,97,108,32,87,46,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,122,101,114,98,97,105,106,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,90,0,65,122,111,114,101,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,84,0,66,97,104,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,82,0,66,97,110,103,108,97,100,101,115,104,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,68,0,66,84,0,66,101,108,97,114,117,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,89,0,66,111,117,103,97,105,110,118,105,108,108,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,71,0,67,97,110,97,100,97,32,67,101,110,116,114,97,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,97,112,101,32,86,101,114,100,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,86,0,67,97,117,99,97,115,117,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,77,0,67,101,110,46,32,65,117,115,116,114,97,108,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,101,110,116,114,97,108,32,65,109,101,114,105,99,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,90,0,67,82,0,69,67,0,71,84,0,72,78,0,78,73,0,83,86,0,65,81,0,67,78,0,73,79,0,75,71,0,75,90,0,67,101,110,116,114,97,108,32,66,114,97,122,105,108,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,101,110,116,114,97,108,32,69,117,114,111,112,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,76,0,67,90,0,72,85,0,77,69,0,82,83,0,83,73,0,83,75,0,67,101,110,116,114,97,108,32,69,117,114,111,112,101,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,65,0,72,82,0,77,75,0,80,76,0,67,101,110,116,114,97,108,32,80,97,99,105,102,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,70,77,0,78,67,0,83,66,0,86,85,0,67,101,110,116,114,97,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,32,40,77,101,120,105,99,111,41,0,77,88,0,67,104,97,116,104,97,109,32,73,115,108,97,110,100,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,90,0,67,104,105,110,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,72,75,0,77,79,0,67,117,98,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,85,0,68,97,116,101,108,105,110,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,46,32,65,102,114,105,99,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,68,74,0,69,82,0,69,84,0,75,69,0,75,77,0,77,71,0,83,79,0,84,90,0,85,71,0,89,84,0,69,46,32,65,117,115,116,114,97,108,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,46,32,69,117,114,111,112,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,68,0,69,46,32,83,111,117,116,104,32,65,109,101,114,105,99,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,97,115,116,101,114,32,73,115,108,97,110,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,76,0,69,97,115,116,101,114,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,32,40,77,101,120,105,99,111,41,0,66,83,0,69,103,121,112,116,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,71,0,69,107,97,116,101,114,105,110,98,117,114,103,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,70,76,69,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,88,0,66,71,0,69,69,0,70,73,0,76,84,0,76,86,0,85,65,0,70,105,106,105,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,70,74,0,71,77,84,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,83,0,70,79,0,71,66,0,71,71,0,73,69,0,73,77,0,74,69,0,71,84,66,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,89,0,71,82,0,82,79,0,71,101,111,114,103,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,71,69,0,71,114,101,101,110,108,97,110,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,71,114,101,101,110,119,105,99,104,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,70,0,67,73,0,71,72,0,71,77,0,71,78,0,71,87,0,73,83,0,76,82,0,77,76,0,77,82,0,83,72,0,83,76,0,83,78,0,84,71,0,72,97,105,116,105,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,72,84,0,72,97,119,97,105,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,75,0,80,70,0,85,77,0,73,110,100,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,73,78,0,73,114,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,73,82,0,73,115,114,97,101,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,73,76,0,74,111,114,100,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,74,79,0,75,97,108,105,110,105,110,103,114,97,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,75,82,0,76,105,98,121,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,76,89,0,76,105,110,101,32,73,115,108,97,110,100,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,75,73,0,76,111,114,100,32,72,111,119,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,97,103,97,100,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,97,103,97,108,108,97,110,101,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,97,114,113,117,101,115,97,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,97,117,114,105,116,105,117,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,85,0,82,69,0,83,67,0,77,105,100,100,108,101,32,69,97,115,116,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,76,66,0,77,111,110,116,101,118,105,100,101,111,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,85,89,0,77,111,114,111,99,99,111,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,72,0,77,65,0,77,111,117,110,116,97,105,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,32,40,77,101,120,105,99,111,41,0,77,121,97,110,109,97,114,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,67,0,77,77,0,78,46,32,67,101,110,116,114,97,108,32,65,115,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,97,109,105,98,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,65,0,78,101,112,97,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,80,0,78,101,119,32,90,101,97,108,97,110,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,101,119,102,111,117,110,100,108,97,110,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,111,114,102,111,108,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,70,0,78,111,114,116,104,32,65,115,105,97,32,69,97,115,116,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,111,114,116,104,32,65,115,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,111,114,116,104,32,75,111,114,101,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,75,80,0,79,109,115,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,97,99,105,102,105,99,32,83,65,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,97,99,105,102,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,32,40,77,101,120,105,99,111,41,0,80,97,107,105,115,116,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,75,0,80,97,114,97,103,117,97,121,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,89,0,81,121,122,121,108,111,114,100,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,82,111,109,97,110,99,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,69,0,68,75,0,70,82,0,82,117,115,115,105,97,32,84,105,109,101,32,90,111,110,101,32,49,48,0,82,117,115,115,105,97,32,84,105,109,101,32,90,111,110,101,32,49,49,0,82,117,115,115,105,97,32,84,105,109,101,32,90,111,110,101,32,51,0,82,117,115,115,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,65,32,69,97,115,116,101,114,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,70,75,0,71,70,0,83,82,0,83,65,32,80,97,99,105,102,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,79,0,74,77,0,75,89,0,80,65,0,80,69,0,83,65,32,87,101,115,116,101,114,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,71,0,65,73,0,65,87,0,66,66,0,66,76,0,66,79,0,66,81,0,67,87,0,68,77,0,68,79,0,71,68,0,71,80,0,71,89,0,75,78,0,76,67,0,77,70,0,77,81,0,77,83,0,80,82,0,83,88,0,84,84,0,86,67,0,86,71,0,86,73,0,83,69,32,65,115,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,88,0,73,68,0,75,72,0,76,65,0,84,72,0,86,78,0,83,97,105,110,116,32,80,105,101,114,114,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,77,0,83,97,107,104,97,108,105,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,97,109,111,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,87,83,0,83,97,111,32,84,111,109,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,84,0,83,97,114,97,116,111,118,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,105,110,103,97,112,111,114,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,78,0,77,89,0,80,72,0,83,71,0,83,111,117,116,104,32,65,102,114,105,99,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,73,0,66,87,0,67,68,0,76,83,0,77,87,0,77,90,0,82,87,0,83,90,0,90,65,0,90,77,0,90,87,0,83,111,117,116,104,32,83,117,100,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,83,0,83,114,105,32,76,97,110,107,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,76,75,0,83,68,0,83,121,114,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,89,0,84,97,105,112,101,105,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,87,0,84,97,115,109,97,110,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,111,99,97,110,116,105,110,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,111,107,121,111,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,74,80,0,80,87,0,84,76,0,84,111,109,115,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,111,110,103,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,79,0,84,114,97,110,115,98,97,105,107,97,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,117,114,107,101,121,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,82,0,84,117,114,107,115,32,65,110,100,32,67,97,105,99,111,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,85,83,32,77,111,117,110,116,97,105,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,85,84,67,0,85,84,67,43,49,50,0,77,72,0,78,82,0,84,86,0,87,70,0,85,84,67,43,49,51,0,84,75,0,85,84,67,45,48,50,0,71,83,0,85,84,67,45,48,56,0,80,78,0,85,84,67,45,48,57,0,85,84,67,45,49,49,0,65,83,0,78,85,0,85,108,97,97,110,98,97,97,116,97,114,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,78,0,86,101,110,101,122,117,101,108,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,86,69,0,86,108,97,100,105,118,111,115,116,111,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,86,111,108,103,111,103,114,97,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,87,46,32,65,117,115,116,114,97,108,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,87,46,32,67,101,110,116,114,97,108,32,65,102,114,105,99,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,79,0,66,74,0,67,70,0,67,71,0,67,77,0,68,90,0,71,65,0,71,81,0,78,69,0,78,71,0,84,68,0,84,78,0,87,46,32,69,117,114,111,112,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,68,0,65,84,0,67,72,0,68,69,0,71,73,0,73,84,0,76,73,0,76,85,0,77,67,0,77,84,0,78,76,0,78,79,0,83,69,0,83,74,0,83,77,0,86,65,0,87,46,32,77,111,110,103,111,108,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,87,101,115,116,32,65,115,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,86,0,84,70,0,84,74,0,84,77,0,85,90,0,87,101,115,116,32,66,97,110,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,83,0,87,101,115,116,32,80,97,99,105,102,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,71,85,0,77,80,0,89,97,107,117,116,115,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,89,117,107,111,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,0,0,67,0,83,0,84,0,54,0,67,0,68,0,84,0,0,0,69,0,83,0,84,0,53,0,69,0,68,0,84,0,0,0,69,0,116,0,99,0,47,0,85,0,84,0,67,0,0,0,77,0,83,0,84,0,55,0,77,0,68,0,84,0,0,0,80,0,83,0,84,0,56,0,80,0,68,0,84,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,107,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,118,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,79,0,109,0,115,0,107,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,56,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,57,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,100,0,101,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,105,0,108,0,105,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,51,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,52,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,53,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,54,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,55,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,51,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,52,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,53,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,54,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,55,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,56,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,57,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,109,0,109,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,105,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,104,0,97,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,98,0,97,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,98,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,101,0,111,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,107,0,121,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,109,0,115,0,107,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,51,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,99,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,97,0,116,0,97,0,114,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,48,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,48,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,52,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,98,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,101,0,105,0,114,0,117,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,105,0,121,0,97,0,100,0,104,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,105,0,112,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,101,0,104,0,114,0,97,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,109,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,108,0,109,0,97,0,116,0,121,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,114,0,117,0,110,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,101,0,98,0,114,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,119,0,97,0,105,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,110,0,105,0,108,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,117,0,115,0,99,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,105,0,103,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,114,0,117,0,109,0,113,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,101,0,118,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,79,0,115,0,108,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,82,0,105,0,103,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,82,0,111,0,109,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,104,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,105,0,114,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,103,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,97,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,103,0,104,0,100,0,97,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,110,0,103,0,107,0,111,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,114,0,110,0,97,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,111,0,108,0,111,0,109,0,98,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,73,0,114,0,107,0,117,0,116,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,114,0,97,0,99,0,104,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,103,0,97,0,100,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,97,0,110,0,103,0,111,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,98,0,105,0,108,0,105,0,115,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,114,0,101,0,118,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,105,0,110,0,115,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,97,0,114,0,105,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,112,0,105,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,105,0,106,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,99,0,99,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,107,0,97,0,114,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,117,0,110,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,109,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,104,0,114,0,97,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,105,0,115,0,104,0,107,0,101,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,104,0,105,0,109,0,112,0,104,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,115,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,108,0,116,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,111,0,102,0,105,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,100,0,117,0,122,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,99,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,109,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,105,0,117,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,114,0,117,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,107,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,104,0,105,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,97,0,108,0,99,0,117,0,116,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,97,0,109,0,97,0,115,0,99,0,117,0,115,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,116,0,109,0,97,0,110,0,100,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,107,0,104,0,97,0,108,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,104,0,97,0,110,0,103,0,104,0,97,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,111,0,110,0,100,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,109,0,97,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,87,0,97,0,114,0,115,0,97,0,119,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,109,0,101,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,109,0,97,0,107,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,103,0,117,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,106,0,117,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,105,0,115,0,115,0,97,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,117,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,114,0,97,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,103,0,97,0,108,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,97,0,110,0,100,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,115,0,97,0,107,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,108,0,97,0,98,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,112,0,117,0,116,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,115,0,101,0,114,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,105,0,97,0,109,0,101,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,117,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,104,0,117,0,108,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,115,0,104,0,103,0,97,0,98,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,115,0,104,0,97,0,110,0,98,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,121,0,97,0,112,0,117,0,114,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,107,0,97,0,115,0,115,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,115,0,104,0,107,0,101,0,110,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,116,0,104,0,101,0,110,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,114,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,68,0,117,0,98,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,74,0,101,0,114,0,115,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,110,0,97,0,99,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,115,0,99,0,111,0,119,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,114,0,97,0,103,0,117,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,107,0,111,0,112,0,106,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,105,0,114,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,105,0,101,0,110,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,97,0,103,0,114,0,101,0,98,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,117,0,114,0,105,0,99,0,104,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,97,0,103,0,111,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,109,0,111,0,114,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,102,0,97,0,116,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,97,0,117,0,114,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,108,0,97,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,105,0,114,0,111,0,98,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,114,0,105,0,112,0,111,0,108,0,105,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,103,0,111,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,110,0,99,0,117,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,118,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,95,0,80,0,97,0,122,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,101,0,114,0,117,0,115,0,97,0,108,0,101,0,109,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,121,0,111,0,110,0,103,0,121,0,97,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,121,0,122,0,121,0,108,0,111,0,114,0,100,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,105,0,110,0,103,0,97,0,112,0,111,0,114,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,114,0,97,0,116,0,111,0,118,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,98,0,105,0,100,0,106,0,97,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,108,0,103,0,105,0,101,0,114,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,110,0,97,0,107,0,114,0,121,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,97,0,109,0,112,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,98,0,97,0,98,0,97,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,101,0,108,0,105,0,122,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,109,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,105,0,97,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,110,0,118,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,121,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,115,0,115,0,97,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,110,0,97,0,109,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,103,0,105,0,110,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,110,0,103,0,95,0,75,0,111,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,109,0,99,0,104,0,97,0,116,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,105,0,101,0,110,0,116,0,105,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,110,0,100,0,111,0,114,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,97,0,108,0,108,0,105,0,110,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,116,0,105,0,99,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,105,0,108,0,110,0,105,0,117,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,121,0,111,0,116,0,116,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,82,0,101,0,117,0,110,0,105,0,111,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,105,0,100,0,119,0,97,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,117,0,109,0,101,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,83,0,97,0,105,0,112,0,97,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,104,0,105,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,114,0,97,0,119,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,108,0,108,0,105,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,104,0,97,0,114,0,116,0,111,0,117,0,109,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,84,0,111,0,109,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,100,0,104,0,111,0,101,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,114,0,97,0,99,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,101,0,110,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,100,0,116,0,104,0,97,0,98,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,104,0,111,0,101,0,110,0,105,0,120,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,65,0,122,0,111,0,114,0,101,0,115,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,69,0,117,0,99,0,108,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,80,0,101,0,114,0,116,0,104,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,100,0,97,0,112,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,104,0,105,0,115,0,105,0,110,0,97,0,117,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,116,0,97,0,110,0,98,0,117,0,108,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,67,0,104,0,97,0,116,0,104,0,97,0,109,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,114,0,102,0,111,0,108,0,107,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,108,0,97,0,110,0,116,0,121,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,106,0,105,0,98,0,111,0,117,0,116,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,65,0,97,0,105,0,117,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,70,0,114,0,101,0,101,0,116,0,111,0,119,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,71,0,97,0,98,0,111,0,114,0,111,0,110,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,110,0,115,0,104,0,97,0,115,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,114,0,111,0,118,0,105,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,100,0,106,0,97,0,109,0,101,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,116,0,105,0,103,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,99,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,114,0,97,0,99,0,97,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,114,0,101,0,110,0,97,0,100,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,108,0,105,0,102,0,97,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,97,0,109,0,97,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,103,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,105,0,103,0,111,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,111,0,110,0,104,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,105,0,106,0,117,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,116,0,111,0,108,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,104,0,110,0,111,0,109,0,95,0,80,0,101,0,110,0,104,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,110,0,97,0,114,0,121,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,70,0,97,0,101,0,114,0,111,0,101,0,0,0,69,0,116,0,99,0,47,0,85,0,84,0,67,0,32,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,108,0,103,0,114,0,97,0,100,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,117,0,115,0,115,0,101,0,108,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,71,0,117,0,101,0,114,0,110,0,115,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,72,0,101,0,108,0,115,0,105,0,110,0,107,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,114,0,97,0,106,0,101,0,118,0,111,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,108,0,100,0,105,0,118,0,101,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,97,0,107,0,97,0,111,0,102,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,109,0,98,0,105,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,117,0,110,0,99,0,105,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,122,0,97,0,116,0,108,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,105,0,113,0,117,0,101,0,108,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,105,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,74,0,111,0,104,0,110,0,115,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,111,0,118,0,111,0,115,0,105,0,98,0,105,0,114,0,115,0,107,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,68,0,97,0,114,0,119,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,99,0,104,0,97,0,114,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,111,0,108,0,103,0,111,0,103,0,114,0,97,0,100,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,117,0,114,0,105,0,116,0,105,0,117,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,117,0,99,0,107,0,108,0,97,0,110,0,100,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,72,0,111,0,110,0,111,0,108,0,117,0,108,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,106,0,117,0,109,0,98,0,117,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,103,0,97,0,100,0,105,0,115,0,104,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,103,0,117,0,105,0,108,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,114,0,98,0,97,0,100,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,109,0,105,0,110,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,101,0,119,0,95,0,89,0,111,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,75,0,105,0,116,0,116,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,76,0,117,0,99,0,105,0,97,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,67,0,97,0,115,0,101,0,121,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,97,0,118,0,105,0,115,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,83,0,121,0,111,0,119,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,114,0,97,0,115,0,110,0,111,0,121,0,97,0,114,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,97,0,110,0,98,0,97,0,97,0,116,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,108,0,97,0,100,0,105,0,118,0,111,0,115,0,116,0,111,0,107,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,66,0,101,0,114,0,109,0,117,0,100,0,97,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,97,0,110,0,108,0,101,0,121,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,72,0,111,0,98,0,97,0,114,0,116,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,121,0,100,0,110,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,109,0,115,0,116,0,101,0,114,0,100,0,97,0,109,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,115,0,116,0,114,0,97,0,107,0,104,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,71,0,105,0,98,0,114,0,97,0,108,0,116,0,97,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,106,0,117,0,98,0,108,0,106,0,97,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,114,0,105,0,101,0,104,0,97,0,109,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,111,0,100,0,103,0,111,0,114,0,105,0,99,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,116,0,111,0,99,0,107,0,104,0,111,0,108,0,109,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,114,0,105,0,115,0,116,0,109,0,97,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,75,0,101,0,114,0,103,0,117,0,101,0,108,0,101,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,117,0,110,0,97,0,102,0,117,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,74,0,111,0,104,0,110,0,115,0,116,0,111,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,105,0,116,0,99,0,97,0,105,0,114,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,115,0,97,0,98,0,108,0,97,0,110,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,97,0,103,0,117,0,97,0,105,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,116,0,101,0,109,0,97,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,80,0,97,0,117,0,108,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,114,0,113,0,117,0,101,0,115,0,97,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,111,0,110,0,103,0,97,0,116,0,97,0,112,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,98,0,114,0,101,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,98,0,117,0,109,0,98,0,97,0,115,0,104,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,117,0,97,0,107,0,99,0,104,0,111,0,116,0,116,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,45,0,78,0,111,0,118,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,99,0,104,0,111,0,114,0,97,0,103,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,121,0,97,0,113,0,117,0,105,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,84,0,104,0,111,0,109,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,86,0,97,0,110,0,99,0,111,0,117,0,118,0,101,0,114,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,97,0,119,0,115,0,111,0,110,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,86,0,111,0,115,0,116,0,111,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,97,0,116,0,105,0,115,0,108,0,97,0,118,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,111,0,112,0,101,0,110,0,104,0,97,0,103,0,101,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,117,0,120,0,101,0,109,0,98,0,111,0,117,0,114,0,103,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,110,0,95,0,77,0,97,0,114,0,105,0,110,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,105,0,109,0,102,0,101,0,114,0,111,0,112,0,111,0,108,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,110,0,100,0,101,0,114,0,98,0,117,0,114,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,108,0,97,0,112,0,97,0,103,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,103,0,111,0,95,0,80,0,97,0,103,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,82,0,97,0,114,0,111,0,116,0,111,0,110,0,103,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,114,0,97,0,110,0,100,0,95,0,84,0,117,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,101,0,118,0,105,0,100,0,101,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,114,0,101,0,100,0,110,0,101,0,107,0,111,0,108,0,121,0,109,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,107,0,97,0,116,0,101,0,114,0,105,0,110,0,98,0,117,0,114,0,103,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,82,0,101,0,121,0,107,0,106,0,97,0,118,0,105,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,97,0,108,0,105,0,110,0,105,0,110,0,103,0,114,0,97,0,100,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,105,0,114,0,105,0,116,0,105,0,109,0,97,0,116,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,100,0,105,0,115,0,95,0,65,0,98,0,97,0,98,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,114,0,97,0,122,0,122,0,97,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,79,0,117,0,97,0,103,0,97,0,100,0,111,0,117,0,103,0,111,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,115,0,116,0,97,0,95,0,82,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,100,0,101,0,108,0,111,0,117,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,101,0,114,0,109,0,111,0,115,0,105,0,108,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,114,0,97,0,108,0,101,0,110,0,100,0,105,0,106,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,116,0,105,0,110,0,105,0,113,0,117,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,115,0,101,0,114,0,114,0,97,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,114,0,97,0,109,0,97,0,114,0,105,0,98,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,86,0,105,0,110,0,99,0,101,0,110,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,104,0,105,0,116,0,101,0,104,0,111,0,114,0,115,0,101,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,99,0,77,0,117,0,114,0,100,0,111,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,95,0,72,0,101,0,108,0,101,0,110,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,100,0,101,0,108,0,97,0,105,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,105,0,115,0,98,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,108,0,101,0,95,0,111,0,102,0,95,0,77,0,97,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,74,0,111,0,104,0,97,0,110,0,110,0,101,0,115,0,98,0,117,0,114,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,115,0,95,0,65,0,110,0,103,0,101,0,108,0,101,0,115,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,112,0,101,0,95,0,86,0,101,0,114,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,111,0,114,0,100,0,95,0,72,0,111,0,119,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,100,0,97,0,108,0,99,0,97,0,110,0,97,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,83,0,97,0,108,0,118,0,97,0,100,0,111,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,67,0,105,0,116,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,117,0,101,0,114,0,116,0,111,0,95,0,82,0,105,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,101,0,103,0,117,0,99,0,105,0,103,0,97,0,108,0,112,0,97,0,0,0,65,0,114,0,99,0,116,0,105,0,99,0,47,0,76,0,111,0,110,0,103,0,121,0,101,0,97,0,114,0,98,0,121,0,101,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,65,0,110,0,116,0,97,0,110,0,97,0,110,0,97,0,114,0,105,0,118,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,117,0,110,0,116,0,97,0,95,0,65,0,114,0,101,0,110,0,97,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,66,0,111,0,117,0,103,0,97,0,105,0,110,0,118,0,105,0,108,0,108,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,114,0,116,0,95,0,77,0,111,0,114,0,101,0,115,0,98,0,121,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,114,0,95,0,101,0,115,0,95,0,83,0,97,0,108,0,97,0,97,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,108,0,97,0,110,0,99,0,45,0,83,0,97,0,98,0,108,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,110,0,109,0,97,0,114,0,107,0,115,0,104,0,97,0,118,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,112,0,111,0,108,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,99,0,111,0,114,0,101,0,115,0,98,0,121,0,115,0,117,0,110,0,100,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,105,0,117,0,100,0,97,0,100,0,95,0,74,0,117,0,97,0,114,0,101,0,122,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,97,0,108,0,95,0,72,0,97,0,114,0,98,0,111,0,117,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,119,0,101,0,114,0,95,0,80,0,114,0,105,0,110,0,99,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,95,0,111,0,102,0,95,0,83,0,112,0,97,0,105,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,111,0,95,0,68,0,111,0,109,0,105,0,110,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,66,0,97,0,114,0,116,0,104,0,101,0,108,0,101,0,109,0,121,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,101,0,98,0,114,0,111,0,110,0,32,0,65,0,115,0,105,0,97,0,47,0,71,0,97,0,122,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,45,0,97,0,117,0,45,0,80,0,114,0,105,0,110,0,99,0,101,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,111,0,117,0,116,0,104,0,95,0,71,0,101,0,111,0,114,0,103,0,105,0,97,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,117,0,109,0,111,0,110,0,116,0,68,0,85,0,114,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,108,0,109,0,97,0,116,0,121,0,32,0,65,0,115,0,105,0,97,0,47,0,81,0,111,0,115,0,116,0,97,0,110,0,97,0,121,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,109,0,99,0,104,0,97,0,116,0,107,0,97,0,32,0,65,0,115,0,105,0,97,0,47,0,65,0,110,0,97,0,100,0,121,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,115,0,107,0,32,0,65,0,115,0,105,0,97,0,47,0,75,0,104,0,97,0,110,0,100,0,121,0,103,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,100,0,114,0,105,0,100,0,32,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,101,0,117,0,116,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,115,0,99,0,111,0,119,0,32,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,114,0,111,0,118,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,107,0,97,0,114,0,116,0,97,0,32,0,65,0,115,0,105,0,97,0,47,0,80,0,111,0,110,0,116,0,105,0,97,0,110,0,97,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,105,0,99,0,111,0,115,0,105,0,97,0,32,0,65,0,115,0,105,0,97,0,47,0,70,0,97,0,109,0,97,0,103,0,117,0,115,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,110,0,118,0,101,0,114,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,105,0,115,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,115,0,104,0,107,0,101,0,110,0,116,0,32,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,109,0,97,0,114,0,107,0,97,0,110,0,100,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,114,0,108,0,105,0,110,0,32,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,115,0,105,0,110,0,103,0,101,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,110,0,97,0,112,0,101,0,32,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,111,0,115,0,114,0,97,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,97,0,108,0,97,0,95,0,76,0,117,0,109,0,112,0,117,0,114,0,32,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,99,0,104,0,105,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,108,0,97,0,100,0,105,0,118,0,111,0,115,0,116,0,111,0,107,0,32,0,65,0,115,0,105,0,97,0,47,0,85,0,115,0,116,0,45,0,78,0,101,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,105,0,115,0,98,0,111,0,110,0,32,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,77,0,97,0,100,0,101,0,105,0,114,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,97,0,110,0,98,0,97,0,97,0,116,0,97,0,114,0,32,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,111,0,105,0,98,0,97,0,108,0,115,0,97,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,106,0,117,0,114,0,111,0,32,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,119,0,97,0,106,0,97,0,108,0,101,0,105,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,116,0,97,0,109,0,111,0,114,0,111,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,79,0,106,0,105,0,110,0,97,0,103,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,104,0,105,0,116,0,101,0,104,0,111,0,114,0,115,0,101,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,119,0,115,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,115,0,116,0,114,0,97,0,107,0,104,0,97,0,110,0,32,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,85,0,108,0,121,0,97,0,110,0,111,0,118,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,114,0,97,0,115,0,110,0,111,0,121,0,97,0,114,0,115,0,107,0,32,0,65,0,115,0,105,0,97,0,47,0,78,0,111,0,118,0,111,0,107,0,117,0,122,0,110,0,101,0,116,0,115,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,105,0,97,0,98,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,109,0,112,0,111,0,95,0,71,0,114,0,97,0,110,0,100,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,105,0,111,0,95,0,66,0,114,0,97,0,110,0,99,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,105,0,114,0,117,0,110,0,101,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,103,0,105,0,110,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,119,0,105,0,102,0,116,0,95,0,67,0,117,0,114,0,114,0,101,0,110,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,105,0,106,0,117,0,97,0,110,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,97,0,95,0,73,0,115,0,97,0,98,0,101,0,108,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,82,0,111,0,116,0,104,0,101,0,114,0,97,0,32,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,80,0,97,0,108,0,109,0,101,0,114,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,121,0,100,0,110,0,101,0,121,0,32,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,77,0,101,0,108,0,98,0,111,0,117,0,114,0,110,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,105,0,115,0,98,0,97,0,110,0,101,0,32,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,105,0,110,0,100,0,101,0,109,0,97,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,100,0,101,0,108,0,97,0,105,0,100,0,101,0,32,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,111,0,107,0,101,0,110,0,95,0,72,0,105,0,108,0,108,0,0,0,44,220,65,0,115,0,105,0,97,0,47,0,79,0,114,0,97,0,108,0,32,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,97,0,117,0,32,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,111,0,98,0,101,0,32,0,65,0,115,0,105,0,97,0,47,0,65,0,116,0,121,0,114,0,97,0,117,0,0,0,45,220,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,101,0,118,0,32,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,85,0,122,0,104,0,103,0,111,0,114,0,111,0,100,0,32,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,97,0,112,0,111,0,114,0,111,0,122,0,104,0,121,0,101,0,0,0,52,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,117,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,97,0,95,0,86,0,105,0,115,0,116,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,95,0,86,0,101,0,108,0,104,0,111,0,0,0,54,220,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,72,0,111,0,98,0,97,0,114,0,116,0,32,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,67,0,117,0,114,0,114,0,105,0,101,0,32,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,97,0,99,0,113,0,117,0,97,0,114,0,105,0,101,0,0,0,56,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,114,0,101,0,115,0,116,0,111,0,110,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,119,0,115,0,111,0,110,0,95,0,67,0,114,0,101,0,101,0,107,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,70,0,111,0,114,0,116,0,95,0,78,0,101,0,108,0,115,0,111,0,110,0,0,0,66,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,112,0,111,0,108,0,105,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,77,0,97,0,114,0,101,0,110,0,103,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,86,0,101,0,118,0,97,0,121,0,0,0,67,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,108,0,105,0,102,0,97,0,120,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,108,0,97,0,99,0,101,0,95,0,66,0,97,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,111,0,115,0,101,0,95,0,66,0,97,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,99,0,116,0,111,0,110,0,0,0,73,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,100,0,109,0,111,0,110,0,116,0,111,0,110,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,109,0,98,0,114,0,105,0,100,0,103,0,101,0,95,0,66,0,97,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,117,0,118,0,105,0,107,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,89,0,101,0,108,0,108,0,111,0,119,0,107,0,110,0,105,0,102,0,101,0,0,0,74,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,110,0,105,0,112,0,101,0,103,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,97,0,105,0,110,0,121,0,95,0,82,0,105,0,118,0,101,0,114,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,97,0,110,0,107,0,105,0,110,0,95,0,73,0,110,0,108,0,101,0,116,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,115,0,111,0,108,0,117,0,116,0,101,0,0,0,78,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,70,0,111,0,114,0,116,0,97,0,108,0,101,0,122,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,101,0,108,0,101,0,109,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,99,0,101,0,105,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,99,0,105,0,102,0,101,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,97,0,114,0,101,0,109,0,0,0,94,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,99,0,104,0,111,0,114,0,97,0,103,0,101,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,110,0,101,0,97,0,117,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,116,0,108,0,97,0,107,0,97,0,116,0,108,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,109,0,101,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,105,0,116,0,107,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,97,0,116,0,0,0,94,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,67,0,105,0,116,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,104,0,105,0,97,0,95,0,66,0,97,0,110,0,100,0,101,0,114,0,97,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,114,0,105,0,100,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,101,0,114,0,114,0,101,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,104,0,117,0,97,0,104,0,117,0,97,0,32,0,0,0,104,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,111,0,110,0,116,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,113,0,97,0,108,0,117,0,105,0,116,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,114,0,101,0,97,0,108,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,105,0,112,0,105,0,103,0,111,0,110,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,110,0,103,0,110,0,105,0,114,0,116,0,117,0,110,0,103,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,104,0,117,0,110,0,100,0,101,0,114,0,95,0,66,0,97,0,121,0,0,0,156,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,101,0,119,0,95,0,89,0,111,0,114,0,107,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,116,0,114,0,111,0,105,0,116,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,80,0,101,0,116,0,101,0,114,0,115,0,98,0,117,0,114,0,103,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,86,0,105,0,110,0,99,0,101,0,110,0,110,0,101,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,87,0,105,0,110,0,97,0,109,0,97,0,99,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,101,0,110,0,116,0,117,0,99,0,107,0,121,0,47,0,77,0,111,0,110,0,116,0,105,0,99,0,101,0,108,0,108,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,117,0,105,0,115,0,118,0,105,0,108,0,108,0,101,0,0,0,167,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,99,0,97,0,103,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,75,0,110,0,111,0,120,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,84,0,101,0,108,0,108,0,95,0,67,0,105,0,116,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,110,0,111,0,109,0,105,0,110,0,101,0,101,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,66,0,101,0,117,0,108,0,97,0,104,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,67,0,101,0,110,0,116,0,101,0,114,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,78,0,101,0,119,0,95,0,83,0,97,0,108,0,101,0,109,0,0,0,16,221,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,76,0,97,0,95,0,82,0,105,0,111,0,106,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,82,0,105,0,111,0,95,0,71,0,97,0,108,0,108,0,101,0,103,0,111,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,108,0,116,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,110,0,95,0,74,0,117,0,97,0,110,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,110,0,95,0,76,0,117,0,105,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,84,0,117,0,99,0,117,0,109,0,97,0,110,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,85,0,115,0,104,0,117,0,97,0,105,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,116,0,97,0,109,0,97,0,114,0,99,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,100,0,111,0,98,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,106,0,117,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,110,0,100,0,111,0,122,0,97,0,0,0,2,0,71,0,75,0,150,12,150,12,2,0,71,0,75,0,29,14,18,24,2,0,71,0,130,0,59,1,59,1,2,0,71,0,155,0,174,15,251,26,2,0,71,0,155,0,211,2,211,2,2,0,71,0,201,0,250,2,250,2,6,0,71,0,223,0,226,0,229,0,232,0,235,0,237,1,202,3,65,2,158,1,237,1,101,0,4,0,71,0,4,1,7,1,10,1,48,1,48,1,89,2,211,0,2,0,71,0,34,1,224,2,224,2,2,0,71,0,61,1,201,19,108,29,2,0,71,0,201,0,63,14,22,23,4,0,71,0,111,1,114,1,117,1,0,11,234,13,207,25,182,5,2,0,71,0,75,0,208,9,208,9,2,0,71,0,174,1,41,0,41,0,3,0,71,0,117,1,198,1,192,9,8,20,192,9,2,0,71,0,221,1,102,4,102,4,3,0,71,0,249,1,252,1,37,1,37,1,228,3,2,0,71,0,21,2,98,3,98,3,2,0,71,0,51,2,117,19,117,19,2,0,71,0,114,1,96,8,163,23,3,0,71,0,108,2,10,1,172,18,172,18,121,0,2,0,71,0,134,2,85,3,85,3,2,0,71,0,75,0,75,18,93,24,9,0,71,0,196,2,199,2,202,2,205,2,208,2,211,2,214,2,10,1,30,15,247,7,122,17,134,16,30,15,36,19,32,11,232,18,161,0,7,0,71,0,217,2,220,2,223,2,226,2,229,2,10,1,29,2,8,16,113,2,178,6,215,3,255,20,231,0,2,0,71,0,221,1,21,8,91,23,8,0,71,0,37,3,40,3,43,3,46,3,49,3,52,3,55,3,240,9,122,6,94,6,240,9,131,14,176,11,97,14,26,16,5,0,71,0,89,3,92,3,95,3,98,3,214,4,240,11,150,6,108,6,214,4,7,0,71,0,217,2,131,3,134,3,137,3,140,3,10,1,212,18,132,13,21,22,5,9,212,18,206,6,191,1,5,0,71,0,114,1,174,3,155,0,10,1,208,10,95,26,210,22,195,28,1,0,2,0,71,0,174,3,252,18,91,27,2,0,71,0,207,3,32,10,32,10,4,0,71,0,220,2,230,3,233,3,172,4,172,4,111,8,147,1,2,0,71,0,255,3,52,7,52,7,2,0,71,0,10,1,114,1,114,1,13,0,71,0,217,2,49,4,52,4,55,4,58,4,61,4,64,4,67,4,70,4,73,4,76,4,10,1,248,6,166,13,80,10,228,4,65,17,248,6,192,6,76,19,13,13,159,19,217,7,216,8,201,0,2,0,71,0,75,0,94,18,55,24,2,0,71,0,130,4,0,10,0,10,2,0,71,0,221,1,48,15,48,15,2,0,71,0,192,4,157,7,157,7,5,0,71,0,226,4,114,1,155,0,10,1,81,13,66,8,187,27,37,28,9,0,2,0,71,0,174,3,37,7,37,7,2,0,71,0,249,4,185,2,185,2,2,0,71,0,201,0,245,16,245,16,8,0,71,0,41,5,44,5,47,5,50,5,53,5,56,5,59,5,125,2,114,14,11,4,171,8,224,11,201,8,149,2,180,24,2,0,71,0,81,5,137,3,137,3,9,0,71,0,102,5,105,5,108,5,111,5,114,5,117,5,120,5,198,1,186,4,128,11,144,11,186,4,208,11,38,6,113,18,52,6,113,22,4,0,71,0,141,5,144,5,147,5,167,12,161,21,10,6,167,12,2,0,71,0,173,5,72,3,72,3,2,0,71,0,117,1,160,9,160,9,16,0,71,0,224,5,227,5,230,5,117,1,233,5,236,5,239,5,242,5,245,5,248,5,251,5,254,5,1,6,4,6,7,6,8,17,103,17,172,7,150,3,222,19,14,5,202,7,28,5,8,17,160,10,242,4,138,15,56,18,112,10,163,3,17,2,2,0,71,0,30,6,183,20,183,20,6,0,71,0,56,6,59,6,62,6,155,0,10,1,235,12,170,16,35,9,216,14,235,12,169,1,2,0,71,0,85,6,116,4,116,4,2,0,71,0,107,6,5,2,5,2,2,0,71,0,131,6,82,7,82,7,2,0,71,0,155,6,15,1,15,1,2,0,71,0,201,0,27,17,27,17,2,0,71,0,184,6,70,1,70,1,2,0,71,0,207,6,7,7,7,7,3,0,71,0,237,6,10,1,46,17,46,17,202,1,2,0,71,0,75,0,192,18,192,18,2,0,71,0,201,0,46,3,46,3,2,0,71,0,192,4,96,19,96,19,2,0,71,0,59,6,66,15,66,15,4,0,71,0,103,7,106,7,109,7,201,12,201,12,231,8,173,2,2,0,71,0,138,7,225,1,225,1,2,0,71,0,166,7,207,16,207,16,3,0,71,0,191,7,194,7,250,14,96,10,250,14,5,0,71,0,114,1,174,3,155,0,10,1,36,8,20,26,29,20,189,21,25,0,2,0,71,0,174,3,65,12,65,12,3,0,71,0,251,7,254,7,59,3,37,4,59,3,2,0,71,0,201,0,133,12,133,12,2,0,71,0,53,8,112,9,112,9,2,0,71,0,76,8,144,4,144,4,3,0,71,0,217,2,207,3,218,12,37,18,218,12,2,0,71,0,114,1,116,12,116,12,2,0,71,0,154,8,48,10,48,10,2,0,71,0,201,0,20,3,20,3,2,0,71,0,201,0,183,13,56,23,2,0,71,0,238,8,97,7,97,7,2,0,71,0,201,0,61,0,61,0,2,0,71,0,192,4,99,12,99,12,4,0,71,0,114,1,155,0,10,1,152,18,228,15,152,18,33,0,2,0,71,0,174,3,80,11,200,23,2,0,71,0,83,9,33,3,33,3,2,0,71,0,109,9,48,12,48,12,2,0,71,0,229,2,112,7,112,7,5,0,71,0,158,9,161,9,102,5,164,9,111,3,192,11,44,16,79,21,111,3,2,0,71,0,201,0,226,16,226,16,2,0,71,0,201,0,126,8,25,21,2,0,71,0,201,0,200,4,200,4,3,0,71,0,201,0,59,5,80,6,106,21,98,16,7,0,71,0,217,2,221,1,17,10,20,10,23,10,10,1,144,9,237,23,171,26,251,13,144,9,236,17,131,0,10,0,71,0,221,1,114,1,51,10,202,2,54,10,57,10,60,10,63,10,10,1,22,7,127,23,51,20,22,7,192,15,16,11,6,8,81,8,189,3,151,0,28,0,71,0,91,10,94,10,97,10,100,10,103,10,106,10,109,10,221,1,114,1,112,10,115,10,118,10,121,10,124,10,127,10,130,10,133,10,136,10,139,10,142,10,145,10,148,10,151,10,154,10,157,10,160,10,10,1,67,7,192,10,30,13,168,5,47,13,139,20,67,7,179,17,227,24,180,19,224,10,64,13,117,20,240,10,141,17,51,8,98,13,115,13,48,11,198,17,217,17,16,19,73,20,95,20,255,17,96,11,210,15,141,0,9,0,71,0,217,2,185,10,188,10,191,10,194,10,197,10,200,10,10,1,237,2,149,13,165,14,133,21,112,11,141,8,237,2,101,2,241,0,2,0,71,0,230,10,82,12,82,12,2,0,71,0,201,0,158,4,158,4,2,0,71,0,20,11,124,3,124,3,2,0,71,0,46,11,96,9,96,9,2,0,71,0,201,0,142,7,142,7,7,0,71,0,95,11,188,10,98,11,101,11,104,11,10,1,127,7,41,2,238,5,51,22,77,2,127,7,251,0,13,0,71,0,134,11,137,11,140,11,143,11,146,11,149,11,152,11,155,11,158,11,161,11,164,11,10,1,132,18,252,12,128,10,120,15,140,5,64,10,126,5,70,5,232,7,132,18,98,5,56,5,191,0,2,0,71,0,193,11,213,1,213,1,2,0,71,0,220,11,7,3,7,3,2,0,71,0,223,11,80,9,80,9,2,0,71,0,246,11,130,4,130,4,2,0,71,0,14,12,249,1,249,1,2,0,71,0,75,0,12,14,25,25,2,0,71,0,221,1,12,15,12,15,6,0,71,0,188,10,84,12,87,12,90,12,10,1,81,1,224,5,81,1,234,6,111,0,5,1,2,0,71,0,201,0,92,1,92,1,2,0,71,0,133,12,84,15,84,15,2,0,71,0,201,0,26,1,26,1,2,0,71,0,183,12,16,10,16,10,2,0,71,0,244,12,188,16,188,16,2,0,71,0,155,0,243,19,139,25,5,0,71,0,114,1,174,3,155,0,10,1,176,9,81,25,160,17,176,9,171,0,2,0,71,0,10,1,17,0,160,11,8,0,71,0,237,6,254,12,1,13,4,13,62,6,7,13,10,1,125,1,50,9,177,22,220,6,199,14,89,4,65,9,125,1,4,0,71,0,237,6,17,13,10,1,136,1,116,16,16,12,136,1,4,0,71,0,221,1,27,13,10,1,71,0,64,11,206,20,71,0,3,0,71,0,37,13,10,1,81,0,233,14,81,0,3,0,71,0,59,6,10,1,91,0,32,12,91,0,5,0,71,0,54,13,57,13,62,6,10,1,103,1,152,16,63,4,246,8,103,1,2,0,71,0,86,13,200,13,144,22,2,0,71,0,113,13,128,9,128,9,2,0,71,0,201,0,217,13,82,22,2,0,71,0,201,0,184,12,184,12,2,0,71,0,75,0,224,9,224,9,15,0,71,0,225,13,228,13,140,11,231,13,234,13,237,13,240,13,243,13,246,13,249,13,252,13,255,13,2,14,10,1,198,2,84,5,156,15,144,10,0,5,84,17,42,5,187,7,102,15,112,5,154,5,198,2,176,10,176,3,181,0,17,0,71,0,29,14,32,14,35,14,38,14,41,14,44,14,47,14,50,14,53,14,56,14,59,14,62,14,65,14,68,14,71,14,74,14,24,6,156,8,136,6,164,6,247,21,80,14,161,2,24,4,62,16,66,6,254,3,46,14,137,2,148,14,56,19,80,16,186,8,2,0,71,0,86,13,51,0,51,0,9,0,71,0,217,2,229,2,127,14,130,14,133,14,136,14,139,14,10,1,252,5,246,15,134,24,0,12,182,14,210,5,196,5,218,21,221,0,2,0,71,0,166,14,53,2,161,20,7,0,71,0,217,2,131,3,196,14,199,14,51,2,10,1,138,19,229,20,76,4,50,4,20,9,138,19,180,1,2,0,71,0,201,0,241,3,52,21,2,0,71,0,114,1,18,18,244,22,170,170,139,0,45,0,78,0,104,0,133,0,158,0,181,0,204,0,238,0,13,1,37,1,64,1,88,1,120,1,149,1,177,1,201,1,224,1,255,1,24,2,54,2,83,2,111,2,137,2,166,2,4,8,232,2,8,3,58,3,101,3,61,2,143,3,177,3,210,3,236,3,2,4,25,4,79,4,106,4,133,4,164,4,82,0,195,4,229,4,252,4,23,5,62,5,84,5,123,5,150,5,176,5,200,5,10,6,33,6,65,6,88,6,110,6,134,6,158,6,218,8,187,6,210,6,240,6,8,7,30,7,55,7,79,7,112,7,141,7,169,7,220,12,197,7,229,7,1,8,31,8,56,8,79,8,105,8,132,8,157,8,187,8,212,8,241,8,4,9,174,14,29,9,60,9,86,9,112,9,136,9,167,9,187,9,207,9,226,9,248,9,26,10,66,10,163,10,203,10,233,10,0,11,23,11,49,11,71,11,107,11,167,11,196,11,173,11,226,11,249,11,17,12,40,12,64,12,93,12,113,12,136,12,162,12,186,12,79,0,217,12,243,12,247,12,10,13,20,13,30,13,40,13,47,13,60,13,89,13,116,13,142,13,166,13,193,13,5,14,77,14,103,14,142,14,169,14,202,14,224,14,126,30,0,80,131,30,0,80,136,30,0,80,141,30,0,80,146,30,0,80,151,30,0,80,156,30,0,80,169,30,0,80,178,30,0,80,183,30,0,80,188,30,0,80,193,30,0,80,202,30,0,80,207,30,0,80,212,30,0,80,219,30,0,80,224,30,0,80,231,30,0,80,236,30,0,80,241,30,0,80,246,30,0,80,253,30,0,80,2,31,0,80,7,31,0,80,26,31,0,80,41,31,0,80,46,31,0,80,63,31,0,80,74,31,0,80,89,31,0,80,100,31,0,80,105,31,0,80,110,31,0,80,119,31,0,80,124,31,0,80,129,31,0,80,156,31,0,80,161,31,0,80,166,31,0,80,171,31,0,80,176,31,0,80,187,31,0,80,192,31,0,80,197,31,0,80,202,31,0,80,219,31,0,80,224,31,0,80,243,31,0,80,252,31,0,80,1,32,0,80,6,32,0,80,39,32,0,80,44,32,0,80,57,32,0,80,62,32,0,80,67,32,0,80,72,32,0,80,77,32,0,80,82,32,0,80,87,32,0,80,92,32,0,80,99,32,0,80,104,32,0,80,109,32,0,80,114,32,0,80,119,32,0,80,128,32,0,80,133,32,0,80,138,32,0,80,145,32,0,80,156,32,0,80,161,32,0,80,168,32,0,80,173,32,0,80,178,32,0,80,183,32,0,80,190,32,0,80,195,32,0,80,200,32,0,80,205,32,0,80,210,32,0,80,215,32,0,80,220,32,0,80,225,32,0,80,234,32,0,80,239,32,0,80,244,32,0,80,249,32,0,80,254,32,0,80,9,33,0,80,14,33,0,80,19,33,0,80,24,33,0,80,31,33,0,80,46,33,0,80,67,33,0,80,124,33,0,80,143,33,0,80,148,33,0,80,153,33,0,80,158,33,0,80,163,33,0,80,168,33,0,80,183,33,0,80,210,33,0,80,215,33,0,80,220,33,0,80,225,33,0,80,230,33,0,80,235,33,0,80,240,33,0,80,245,33,0,80,2,34,0,80,7,34,0,80,12,34,0,80,17,34,0,80,22,34,0,80,27,34,0,80,32,34,0,80,43,34,0,80,48,34,0,80,65,34,0,80,74,34,0,80,83,34,0,80,90,34,0,80,97,34,0,80,108,34,0,80,113,34,0,80,118,34,0,80,123,34,0,80,128,34,0,80,133,34,0,80,164,34,0,80,199,34,0,80,204,34,0,80,223,34,0,80,228,34,0,80,243,34,0,80,248,34,0,80,1,0,32,0,60,21,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,188,147,0,32,7,0,0,0,71,0,0,0,196,147,0,0,196,147,0,0,24,0,0,0,1,0,0,0,131,22,0,0,84,90,86,101,114,115,105,111,110,0,90,111,110,101,115,0,116,114,97,110,115,0,116,121,112,101,79,102,102,115,101,116,115,0,116,121,112,101,77,97,112,0,108,105,110,107,115,0,116,114,97,110,115,80,114,101,51,50,0,102,105,110,97,108,82,117,108,101,0,102,105,110,97,108,82,97,119,0,102,105,110,97,108,89,101,97,114,0,116,114,97,110,115,80,111,115,116,51,50,0,78,97,109,101,115,0,82,117,108,101,115,0,65,78,0,65,83,0,65,84,0,65,86,0,67,45,69,117,114,0,67,97,110,97,100,97,0,67,104,97,116,104,97,109,0,67,104,105,108,101,0,67,117,98,97,0,69,85,0,69,85,65,115,105,97,0,69,103,121,112,116,0,72,97,105,116,105,0,76,72,0,76,101,98,97,110,111,110,0,77,111,108,100,111,118,97,0,78,90,0,80,97,108,101,115,116,105,110,101,0,80,97,114,97,0,83,121,115,116,101,109,86,0,84,104,117,108,101,0,84,114,111,108,108,0,85,83,0,90,105,111,110,0,82,101,103,105,111,110,115,0,170,0,0,85,0,83,0,0,0,67,0,65,0,0,0,69,0,85,0,0,0,82,0,85,0,0,0,65,0,85,0,0,0,66,0,82,0,0,0,65,0,82,0,0,0,77,0,88,0,0,0,65,0,81,0,0,0,67,0,78,0,0,0,75,0,90,0,0,0,78,0,90,0,0,0,70,0,77,0,0,0,65,0,83,0,0,0,67,0,76,0,0,0,71,0,66,0,0,0,71,0,76,0,0,0,73,0,68,0,0,0,85,0,65,0,0,0,75,0,73,0,0,0,77,0,78,0,0,0,80,0,84,0,0,0,66,0,68,0,0,0,67,0,89,0,0,0,69,0,71,0,0,0,69,0,83,0,0,0,73,0,76,0,0,0,74,0,80,0,0,0,77,0,72,0,0,0,80,0,70,0,0,0,84,0,82,0,0,0,85,0,77,0,0,0,86,0,78,0,0,0,65,0,77,0,0,0,65,0,78,0,0,0,66,0,84,0,0,0,67,0,68,0,0,0,67,0,73,0,0,0,67,0,85,0,0,0,68,0,69,0,0,0,69,0,67,0,0,0,69,0,82,0,0,0,70,0,79,0,0,0,70,0,82,0,0,0,72,0,75,0,0,0,73,0,69,0,0,0,73,0,82,0,0,0,74,0,77,0,0,0,75,0,69,0,0,0,75,0,82,0,0,0,76,0,89,0,0,0,77,0,68,0,0,0,77,0,76,0,0,0,77,0,77,0,0,0,77,0,79,0,0,0,77,0,89,0,0,0,77,0,90,0,0,0,78,0,80,0,0,0,80,0,71,0,0,0,80,0,75,0,0,0,80,0,76,0,0,0,80,0,82,0,0,0,80,0,83,0,0,0,83,0,66,0,0,0,83,0,71,0,0,0,83,0,74,0,0,0,84,0,77,0,0,0,84,0,87,0,0,0,85,0,90,0,0,0,86,0,73,0,0,0,87,0,83,0,0,0,65,0,68,0,0,0,65,0,69,0,0,0,65,0,70,0,0,0,65,0,71,0,0,0,65,0,73,0,0,0,65,0,76,0,0,0,65,0,79,0,0,0,65,0,86,0,0,0,65,0,87,0,0,0,65,0,88,0,0,0,65,0,90,0,0,0,66,0,65,0,0,0,66,0,66,0,0,0,66,0,69,0,0,0,66,0,70,0,0,0,66,0,71,0,0,0,66,0,72,0,0,0,66,0,73,0,0,0,66,0,74,0,0,0,66,0,76,0,0,0,66,0,77,0,0,0,66,0,78,0,0,0,66,0,79,0,0,0,66,0,81,0,0,0,66,0,83,0,0,0,66,0,87,0,0,0,66,0,89,0,0,0,66,0,90,0,0,0,67,0,67,0,0,0,67,0,70,0,0,0,67,0,71,0,0,0,67,0,72,0,0,0,67,0,75,0,0,0,67,0,77,0,0,0,67,0,79,0,0,0,67,0,82,0,0,0,67,0,86,0,0,0,67,0,87,0,0,0,67,0,88,0,0,0,67,0,90,0,0,0,68,0,74,0,0,0,68,0,75,0,0,0,68,0,77,0,0,0,68,0,79,0,0,0,68,0,90,0,0,0,69,0,69,0,0,0,69,0,72,0,0,0,70,0,73,0,0,0,70,0,74,0,0,0,70,0,75,0,0,0,71,0,65,0,0,0,71,0,68,0,0,0,71,0,69,0,0,0,71,0,70,0,0,0,71,0,71,0,0,0,71,0,72,0,0,0,71,0,73,0,0,0,71,0,77,0,0,0,71,0,78,0,0,0,71,0,80,0,0,0,71,0,81,0,0,0,71,0,82,0,0,0,71,0,83,0,0,0,71,0,85,0,0,0,71,0,87,0,0,0,71,0,89,0,0,0,72,0,78,0,0,0,72,0,82,0,0,0,72,0,84,0,0,0,72,0,85,0,0,0,73,0,77,0,0,0,73,0,79,0,0,0,73,0,81,0,0,0,73,0,83,0,0,0,74,0,69,0,0,0,74,0,79,0,0,0,75,0,71,0,0,0,75,0,72,0,0,0,75,0,77,0,0,0,75,0,78,0,0,0,75,0,80,0,0,0,75,0,87,0,0,0,75,0,89,0,0,0,76,0,65,0,0,0,76,0,66,0,0,0,76,0,67,0,0,0,76,0,72,0,0,0,76,0,73,0,0,0,76,0,75,0,0,0,76,0,82,0,0,0,76,0,83,0,0,0,76,0,85,0,0,0,76,0,86,0,0,0,77,0,65,0,0,0,77,0,67,0,0,0,77,0,69,0,0,0,77,0,70,0,0,0,77,0,71,0,0,0,77,0,75,0,0,0,77,0,80,0,0,0,77,0,81,0,0,0,77,0,82,0,0,0,77,0,83,0,0,0,77,0,85,0,0,0,77,0,86,0,0,0,77,0,87,0,0,0,78,0,65,0,0,0,78,0,67,0,0,0,78,0,69,0,0,0,78,0,70,0,0,0,78,0,71,0,0,0,78,0,73,0,0,0,78,0,76,0,0,0,78,0,79,0,0,0,78,0,82,0,0,0,78,0,85,0,0,0,79,0,77,0,0,0,80,0,65,0,0,0,80,0,69,0,0,0,80,0,72,0,0,0,80,0,77,0,0,0,80,0,78,0,0,0,80,0,87,0,0,0,80,0,89,0,0,0,81,0,65,0,0,0,82,0,69,0,0,0,82,0,79,0,0,0,82,0,83,0,0,0,82,0,87,0,0,0,83,0,65,0,0,0,83,0,67,0,0,0,83,0,68,0,0,0,83,0,69,0,0,0,83,0,72,0,0,0,83,0,73,0,0,0,83,0,75,0,0,0,83,0,76,0,0,0,83,0,77,0,0,0,83,0,78,0,0,0,83,0,79,0,0,0,83,0,82,0,0,0,83,0,83,0,0,0,83,0,86,0,0,0,83,0,88,0,0,0,83,0,89,0,0,0,83,0,90,0,0,0,84,0,68,0,0,0,84,0,70,0,0,0,84,0,71,0,0,0,84,0,72,0,0,0,84,0,74,0,0,0,84,0,75,0,0,0,84,0,76,0,0,0,84,0,78,0,0,0,84,0,79,0,0,0,84,0,86,0,0,0,84,0,90,0,0,0,85,0,71,0,0,0,85,0,89,0,0,0,86,0,65,0,0,0,86,0,67,0,0,0,86,0,69,0,0,0,86,0,71,0,0,0,86,0,85,0,0,0,87,0,70,0,0,0,89,0,69,0,0,0,89,0,84,0,0,0,90,0,65,0,0,0,90,0,77,0,0,0,90,0,87,0,0,0,48,0,48,0,49,0,0,0,65,0,71,0,84,0,0,0,67,0,84,0,84,0,0,0,77,0,73,0,84,0,0,0,80,0,76,0,84,0,0,0,86,0,83,0,84,0,0,0,87,0,69,0,84,0,0,0,65,0,69,0,84,0,0,0,65,0,82,0,84,0,0,0,65,0,83,0,84,0,0,0,66,0,69,0,84,0,0,0,66,0,83,0,84,0,0,0,67,0,65,0,84,0,0,0,67,0,69,0,84,0,0,0,67,0,78,0,84,0,0,0,67,0,83,0,84,0,0,0,69,0,65,0,84,0,0,0,69,0,67,0,84,0,0,0,69,0,69,0,84,0,0,0,69,0,83,0,84,0,0,0,72,0,83,0,84,0,0,0,73,0,69,0,84,0,0,0,73,0,83,0,84,0,0,0,74,0,83,0,84,0,0,0,77,0,69,0,84,0,0,0,77,0,83,0,84,0,0,0,78,0,69,0,84,0,0,0,78,0,83,0,84,0,0,0,80,0,78,0,84,0,0,0,80,0,82,0,67,0,0,0,80,0,82,0,84,0,0,0,80,0,83,0,84,0,0,0,82,0,79,0,67,0,0,0,82,0,79,0,75,0,0,0,83,0,83,0,84,0,0,0,67,0,117,0,98,0,97,0,0,0,73,0,114,0,97,0,110,0,0,0,80,0,97,0,114,0,97,0,0,0,87,0,45,0,83,0,85,0,0,0,90,0,105,0,111,0,110,0,0,0,67,0,45,0,69,0,117,0,114,0,0,0,67,0,104,0,105,0,108,0,101,0,0,0,69,0,103,0,121,0,112,0,116,0,0,0,50,0,48,0,50,0,51,0,99,0,0,0,72,0,97,0,105,0,116,0,105,0,0,0,74,0,97,0,112,0,97,0,110,0,0,0,76,0,105,0,98,0,121,0,97,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,0,0,69,0,85,0,65,0,115,0,105,0,97,0,0,0,73,0,115,0,114,0,97,0,101,0,108,0,0,0,78,0,97,0,118,0,97,0,106,0,111,0,0,0,80,0,111,0,108,0,97,0,110,0,100,0,0,0,84,0,117,0,114,0,107,0,101,0,121,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,0,0,78,0,90,0,45,0,67,0,72,0,65,0,84,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,0,0,69,0,116,0,99,0,47,0,85,0,84,0,67,0,0,0,71,0,66,0,45,0,69,0,105,0,114,0,101,0,0,0,69,0,116,0,99,0,47,0,85,0,67,0,84,0,0,0,70,0,97,0,99,0,116,0,111,0,114,0,121,0,0,0,73,0,99,0,101,0,108,0,97,0,110,0,100,0,0,0,76,0,101,0,98,0,97,0,110,0,111,0,110,0,0,0,77,0,111,0,108,0,100,0,111,0,118,0,97,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,48,0,0,0,69,0,116,0,99,0,47,0,90,0,117,0,108,0,117,0,0,0,72,0,111,0,110,0,103,0,107,0,111,0,110,0,103,0,0,0,80,0,111,0,114,0,116,0,117,0,103,0,97,0,108,0,0,0,85,0,83,0,47,0,83,0,97,0,109,0,111,0,97,0,0,0,80,0,97,0,108,0,101,0,115,0,116,0,105,0,110,0,101,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,48,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,48,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,100,0,101,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,107,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,105,0,108,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,71,0,97,0,122,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,118,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,79,0,109,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,79,0,114,0,97,0,108,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,51,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,52,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,53,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,54,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,55,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,56,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,57,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,51,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,52,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,53,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,54,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,55,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,56,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,57,0,0,0,85,0,83,0,47,0,65,0,108,0,97,0,115,0,107,0,97,0,0,0,85,0,83,0,47,0,72,0,97,0,119,0,97,0,105,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,109,0,109,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,105,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,97,0,99,0,99,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,104,0,97,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,98,0,97,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,98,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,99,0,97,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,99,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,97,0,116,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,101,0,111,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,107,0,121,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,109,0,115,0,107,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,48,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,48,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,51,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,52,0,0,0,85,0,83,0,47,0,65,0,114,0,105,0,122,0,111,0,110,0,97,0,0,0,85,0,83,0,47,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,85,0,83,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,85,0,83,0,47,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,98,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,109,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,108,0,109,0,97,0,116,0,121,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,110,0,97,0,100,0,121,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,111,0,98,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,116,0,121,0,114,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,101,0,105,0,114,0,117,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,114,0,117,0,110,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,97,0,114,0,98,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,101,0,98,0,114,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,119,0,97,0,105,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,110,0,105,0,108,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,117,0,115,0,99,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,105,0,121,0,97,0,100,0,104,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,105,0,103,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,105,0,112,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,101,0,104,0,114,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,104,0,105,0,109,0,98,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,114,0,117,0,109,0,113,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,97,0,110,0,103,0,111,0,110,0,0,0,66,0,114,0,97,0,122,0,105,0,108,0,47,0,65,0,99,0,114,0,101,0,0,0,66,0,114,0,97,0,122,0,105,0,108,0,47,0,69,0,97,0,115,0,116,0,0,0,66,0,114,0,97,0,122,0,105,0,108,0,47,0,87,0,101,0,115,0,116,0,0,0,69,0,116,0,99,0,47,0,85,0,110,0,107,0,110,0,111,0,119,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,101,0,118,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,121,0,105,0,118,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,79,0,115,0,108,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,82,0,105,0,103,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,82,0,111,0,109,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,104,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,89,0,97,0,112,0,0,0,85,0,83,0,47,0,65,0,108,0,101,0,117,0,116,0,105,0,97,0,110,0,0,0,85,0,83,0,47,0,77,0,105,0,99,0,104,0,105,0,103,0,97,0,110,0,0,0,85,0,83,0,47,0,77,0,111,0,117,0,110,0,116,0,97,0,105,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,99,0,99,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,105,0,114,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,101,0,117,0,116,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,107,0,97,0,114,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,103,0,111,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,117,0,110,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,97,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,116,0,107,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,109,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,109,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,117,0,117,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,103,0,104,0,100,0,97,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,104,0,114,0,97,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,110,0,103,0,107,0,111,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,114,0,110,0,97,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,105,0,115,0,104,0,107,0,101,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,111,0,108,0,111,0,109,0,98,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,73,0,114,0,107,0,117,0,116,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,107,0,97,0,114,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,114,0,97,0,99,0,104,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,115,0,104,0,103,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,111,0,108,0,107,0,97,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,99,0,104,0,105,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,103,0,97,0,100,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,105,0,99,0,111,0,115,0,105,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,97,0,110,0,103,0,111,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,98,0,105,0,108,0,105,0,115,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,104,0,105,0,109,0,112,0,104,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,114,0,101,0,118,0,97,0,110,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,89,0,117,0,107,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,114,0,111,0,118,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,108,0,116,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,105,0,110,0,115,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,97,0,114,0,105,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,111,0,102,0,105,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,100,0,117,0,122,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,99,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,112,0,105,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,105,0,106,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,109,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,105,0,117,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,114,0,117,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,107,0,101,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,65,0,83,0,84,0,52,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,67,0,83,0,84,0,54,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,69,0,83,0,84,0,53,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,77,0,83,0,84,0,55,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,80,0,83,0,84,0,56,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,89,0,83,0,84,0,57,0,0,0,69,0,116,0,99,0,47,0,71,0,114,0,101,0,101,0,110,0,119,0,105,0,99,0,104,0,0,0,69,0,116,0,99,0,47,0,85,0,110,0,105,0,118,0,101,0,114,0,115,0,97,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,104,0,117,0,108,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,67,0,84,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,109,0,97,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,109,0,101,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,109,0,97,0,107,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,103,0,117,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,106,0,117,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,105,0,115,0,115,0,97,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,117,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,114,0,97,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,103,0,97,0,108,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,97,0,110,0,100,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,115,0,97,0,107,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,108,0,97,0,98,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,112,0,117,0,116,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,115,0,101,0,114,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,105,0,97,0,109,0,101,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,117,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,104,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,101,0,108,0,101,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,105,0,115,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,106,0,117,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,105,0,116,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,115,0,104,0,103,0,97,0,98,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,97,0,108,0,99,0,117,0,116,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,97,0,109,0,97,0,115,0,99,0,117,0,115,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,115,0,104,0,97,0,110,0,98,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,73,0,115,0,116,0,97,0,110,0,98,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,121,0,97,0,112,0,117,0,114,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,116,0,109,0,97,0,110,0,100,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,104,0,97,0,110,0,100,0,121,0,103,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,107,0,97,0,115,0,115,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,111,0,115,0,116,0,97,0,110,0,97,0,121,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,107,0,104,0,97,0,108,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,104,0,97,0,110,0,103,0,104,0,97,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,115,0,104,0,107,0,101,0,110,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,101,0,108,0,95,0,65,0,118,0,105,0,118,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,115,0,116,0,45,0,78,0,101,0,114,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,72,0,73,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,78,0,83,0,87,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,116,0,104,0,101,0,110,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,114,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,68,0,117,0,98,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,74,0,101,0,114,0,115,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,105,0,115,0,98,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,111,0,110,0,100,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,100,0,114,0,105,0,100,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,110,0,97,0,99,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,115,0,99,0,111,0,119,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,114,0,97,0,103,0,117,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,109,0,97,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,107,0,111,0,112,0,106,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,105,0,114,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,105,0,101,0,110,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,87,0,97,0,114,0,115,0,97,0,119,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,97,0,103,0,114,0,101,0,98,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,117,0,114,0,105,0,99,0,104,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,97,0,103,0,111,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,109,0,111,0,114,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,67,0,104,0,117,0,117,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,102,0,97,0,116,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,97,0,117,0,114,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,108,0,97,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,83,0,97,0,109,0,111,0,97,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,72,0,83,0,84,0,49,0,48,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,105,0,110,0,103,0,97,0,112,0,111,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,98,0,105,0,100,0,106,0,97,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,108,0,103,0,105,0,101,0,114,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,110,0,97,0,107,0,114,0,121,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,97,0,109,0,112,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,98,0,97,0,98,0,97,0,110,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,105,0,114,0,111,0,98,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,114,0,105,0,112,0,111,0,108,0,105,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,101,0,108,0,105,0,122,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,103,0,111,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,110,0,99,0,117,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,109,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,105,0,97,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,119,0,115,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,110,0,118,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,121,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,118,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,117,0,118,0,105,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,110,0,101,0,97,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,95,0,80,0,97,0,122,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,99,0,101,0,105,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,117,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,114,0,105,0,100,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,115,0,115,0,97,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,110,0,97,0,109,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,99,0,105,0,102,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,103,0,105,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,86,0,105,0,114,0,103,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,115,0,104,0,107,0,104,0,97,0,98,0,97,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,111,0,110,0,103,0,113,0,105,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,117,0,110,0,103,0,107,0,105,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,70,0,97,0,109,0,97,0,103,0,117,0,115,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,110,0,103,0,95,0,75,0,111,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,101,0,114,0,117,0,115,0,97,0,108,0,101,0,109,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,109,0,99,0,104,0,97,0,116,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,116,0,104,0,109,0,97,0,110,0,100,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,111,0,110,0,116,0,105,0,97,0,110,0,97,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,121,0,111,0,110,0,103,0,121,0,97,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,121,0,122,0,121,0,108,0,111,0,114,0,100,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,109,0,97,0,114,0,107,0,97,0,110,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,105,0,101,0,110,0,116,0,105,0,97,0,110,0,101,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,70,0,97,0,114,0,111,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,87,0,101,0,115,0,116,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,110,0,100,0,111,0,114,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,108,0,102,0,97,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,78,0,105,0,99,0,111,0,115,0,105,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,114,0,97,0,116,0,111,0,118,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,97,0,108,0,108,0,105,0,110,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,116,0,105,0,99,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,105,0,108,0,110,0,105,0,117,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,121,0,111,0,116,0,116,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,82,0,101,0,117,0,110,0,105,0,111,0,110,0,0,0,77,0,101,0,120,0,105,0,99,0,111,0,47,0,66,0,97,0,106,0,97,0,83,0,117,0,114,0,0,0,77,0,101,0,120,0,105,0,99,0,111,0,47,0,71,0,101,0,110,0,101,0,114,0,97,0,108,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,97,0,110,0,116,0,111,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,111,0,115,0,114,0,97,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,106,0,117,0,114,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,105,0,100,0,119,0,97,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,117,0,109,0,101,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,110,0,97,0,112,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,83,0,97,0,105,0,112,0,97,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,104,0,105,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,114,0,97,0,119,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,108,0,108,0,105,0,115,0,0,0,85,0,83,0,47,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,45,0,78,0,101,0,119,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,110,0,111,0,120,0,95,0,73,0,78,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,97,0,109,0,97,0,105,0,99,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,67,0,104,0,97,0,116,0,104,0,97,0,109,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,67,0,83,0,84,0,54,0,67,0,68,0,84,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,69,0,83,0,84,0,53,0,69,0,68,0,84,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,77,0,83,0,84,0,55,0,77,0,68,0,84,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,80,0,83,0,84,0,56,0,80,0,68,0,84,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,108,0,97,0,110,0,116,0,121,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,106,0,105,0,98,0,111,0,117,0,116,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,65,0,97,0,105,0,117,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,70,0,114,0,101,0,101,0,116,0,111,0,119,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,71,0,97,0,98,0,111,0,114,0,111,0,110,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,104,0,97,0,114,0,116,0,111,0,117,0,109,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,110,0,115,0,104,0,97,0,115,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,114,0,111,0,118,0,105,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,100,0,106,0,97,0,109,0,101,0,110,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,84,0,111,0,109,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,105,0,109,0,98,0,117,0,107,0,116,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,100,0,104,0,111,0,101,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,116,0,105,0,103,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,114,0,97,0,99,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,101,0,110,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,99,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,100,0,111,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,114,0,101,0,115,0,116,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,114,0,97,0,99,0,97,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,116,0,114,0,111,0,105,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,100,0,116,0,104,0,97,0,98,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,114,0,101,0,110,0,97,0,100,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,108,0,105,0,102,0,97,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,113,0,97,0,108,0,117,0,105,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,103,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,105,0,103,0,111,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,110,0,100,0,111,0,122,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,99,0,116,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,105,0,112,0,105,0,103,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,111,0,110,0,104,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,79,0,106,0,105,0,110,0,97,0,103,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,104,0,111,0,101,0,110,0,105,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,111,0,115,0,97,0,114,0,105,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,105,0,106,0,117,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,111,0,110,0,116,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,116,0,111,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,111,0,105,0,98,0,97,0,108,0,115,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,104,0,110,0,111,0,109,0,95,0,80,0,101,0,110,0,104,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,110,0,95,0,66,0,97,0,116,0,111,0,114,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,65,0,122,0,111,0,114,0,101,0,115,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,110,0,97,0,114,0,121,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,70,0,97,0,101,0,114,0,111,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,69,0,117,0,99,0,108,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,80,0,101,0,114,0,116,0,104,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,111,0,117,0,116,0,104,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,77,0,111,0,117,0,110,0,116,0,97,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,108,0,103,0,114,0,97,0,100,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,117,0,115,0,115,0,101,0,108,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,100,0,97,0,112,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,115,0,105,0,110,0,103,0,101,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,104,0,105,0,115,0,105,0,110,0,97,0,117,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,71,0,117,0,101,0,114,0,110,0,115,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,72,0,101,0,108,0,115,0,105,0,110,0,107,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,116,0,97,0,110,0,98,0,117,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,114,0,97,0,106,0,101,0,118,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,105,0,114,0,97,0,115,0,112,0,111,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,85,0,122,0,104,0,103,0,111,0,114,0,111,0,100,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,108,0,100,0,105,0,118,0,101,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,97,0,107,0,97,0,111,0,102,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,109,0,98,0,105,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,114,0,102,0,111,0,108,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,104,0,110,0,112,0,101,0,105,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,65,0,83,0,84,0,52,0,65,0,68,0,84,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,89,0,83,0,84,0,57,0,89,0,68,0,84,0,0,0,85,0,83,0,47,0,69,0,97,0,115,0,116,0,45,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,84,0,114,0,111,0,108,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,106,0,117,0,109,0,98,0,117,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,103,0,97,0,100,0,105,0,115,0,104,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,103,0,117,0,105,0,108,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,117,0,110,0,99,0,105,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,116,0,105,0,107,0,111,0,107,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,114,0,98,0,97,0,100,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,109,0,105,0,110,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,100,0,109,0,111,0,110,0,116,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,105,0,114,0,117,0,110,0,101,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,110,0,115,0,101,0,110,0,97,0,100,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,122,0,97,0,116,0,108,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,105,0,113,0,117,0,101,0,108,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,114,0,101,0,97,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,101,0,119,0,95,0,89,0,111,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,115,0,111,0,108,0,117,0,116,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,97,0,114,0,101,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,105,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,104,0,105,0,112,0,114,0,111,0,99,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,74,0,111,0,104,0,110,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,75,0,105,0,116,0,116,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,76,0,117,0,99,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,110,0,105,0,112,0,101,0,103,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,67,0,97,0,115,0,101,0,121,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,97,0,118,0,105,0,115,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,83,0,121,0,111,0,119,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,95,0,67,0,104,0,105,0,95,0,77,0,105,0,110,0,104,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,114,0,97,0,115,0,110,0,111,0,121,0,97,0,114,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,111,0,118,0,111,0,115,0,105,0,98,0,105,0,114,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,97,0,110,0,98,0,97,0,97,0,116,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,108,0,97,0,100,0,105,0,118,0,111,0,115,0,116,0,111,0,107,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,66,0,101,0,114,0,109,0,117,0,100,0,97,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,77,0,97,0,100,0,101,0,105,0,114,0,97,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,97,0,110,0,108,0,101,0,121,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,67,0,117,0,114,0,114,0,105,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,68,0,97,0,114,0,119,0,105,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,72,0,111,0,98,0,97,0,114,0,116,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,121,0,100,0,110,0,101,0,121,0,0,0,66,0,114,0,97,0,122,0,105,0,108,0,47,0,68,0,101,0,78,0,111,0,114,0,111,0,110,0,104,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,109,0,115,0,116,0,101,0,114,0,100,0,97,0,109,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,115,0,116,0,114,0,97,0,107,0,104,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,99,0,104,0,97,0,114,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,71,0,105,0,98,0,114,0,97,0,108,0,116,0,97,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,106,0,117,0,98,0,108,0,106,0,97,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,114,0,105,0,101,0,104,0,97,0,109,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,111,0,100,0,103,0,111,0,114,0,105,0,99,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,116,0,111,0,99,0,107,0,104,0,111,0,108,0,109,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,85,0,108,0,121,0,97,0,110,0,111,0,118,0,115,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,111,0,108,0,103,0,111,0,103,0,114,0,97,0,100,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,114,0,105,0,115,0,116,0,109,0,97,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,75,0,101,0,114,0,103,0,117,0,101,0,108,0,101,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,117,0,114,0,105,0,116,0,105,0,117,0,115,0,0,0,77,0,101,0,120,0,105,0,99,0,111,0,47,0,66,0,97,0,106,0,97,0,78,0,111,0,114,0,116,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,117,0,99,0,107,0,108,0,97,0,110,0,100,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,117,0,110,0,97,0,102,0,117,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,72,0,111,0,110,0,111,0,108,0,117,0,108,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,74,0,111,0,104,0,110,0,115,0,116,0,111,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,105,0,116,0,99,0,97,0,105,0,114,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,119,0,97,0,106,0,97,0,108,0,101,0,105,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,115,0,97,0,98,0,108,0,97,0,110,0,99,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,98,0,114,0,101,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,98,0,117,0,109,0,98,0,97,0,115,0,104,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,117,0,97,0,107,0,99,0,104,0,111,0,116,0,116,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,45,0,78,0,111,0,118,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,99,0,104,0,111,0,114,0,97,0,103,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,97,0,103,0,117,0,97,0,105,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,97,0,95,0,86,0,105,0,115,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,116,0,97,0,109,0,97,0,114,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,104,0,117,0,97,0,104,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,70,0,111,0,114,0,116,0,97,0,108,0,101,0,122,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,108,0,97,0,99,0,101,0,95,0,66,0,97,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,111,0,115,0,101,0,95,0,66,0,97,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,116,0,101,0,109,0,97,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,121,0,97,0,113,0,117,0,105,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,116,0,97,0,109,0,111,0,114,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,110,0,111,0,109,0,105,0,110,0,101,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,101,0,114,0,114,0,101,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,80,0,97,0,117,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,84,0,104,0,111,0,109,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,86,0,97,0,110,0,99,0,111,0,117,0,118,0,101,0,114,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,97,0,119,0,115,0,111,0,110,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,80,0,97,0,108,0,109,0,101,0,114,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,86,0,111,0,115,0,116,0,111,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,97,0,108,0,97,0,95,0,76,0,117,0,109,0,112,0,117,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,111,0,118,0,111,0,107,0,117,0,122,0,110,0,101,0,116,0,115,0,107,0,0,0,67,0,104,0,105,0,108,0,101,0,47,0,67,0,111,0,110,0,116,0,105,0,110,0,101,0,110,0,116,0,97,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,97,0,116,0,105,0,115,0,108,0,97,0,118,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,111,0,112,0,101,0,110,0,104,0,97,0,103,0,101,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,117,0,120,0,101,0,109,0,98,0,111,0,117,0,114,0,103,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,110,0,95,0,77,0,97,0,114,0,105,0,110,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,105,0,109,0,102,0,101,0,114,0,111,0,112,0,111,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,97,0,112,0,111,0,114,0,111,0,122,0,104,0,121,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,110,0,100,0,101,0,114,0,98,0,117,0,114,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,108,0,97,0,112,0,97,0,103,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,114,0,113,0,117,0,101,0,115,0,97,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,103,0,111,0,95,0,80,0,97,0,103,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,82,0,97,0,114,0,111,0,116,0,111,0,110,0,103,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,111,0,110,0,103,0,97,0,116,0,97,0,112,0,117,0,0,0,85,0,83,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,45,0,83,0,116,0,97,0,114,0,107,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,100,0,105,0,115,0,95,0,65,0,98,0,97,0,98,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,114,0,97,0,122,0,122,0,97,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,79,0,117,0,97,0,103,0,97,0,100,0,111,0,117,0,103,0,111,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,115,0,116,0,97,0,95,0,82,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,70,0,111,0,114,0,116,0,95,0,87,0,97,0,121,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,114,0,97,0,110,0,100,0,95,0,84,0,117,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,100,0,101,0,108,0,111,0,117,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,101,0,114,0,109,0,111,0,115,0,105,0,108,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,114,0,97,0,108,0,101,0,110,0,100,0,105,0,106,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,117,0,105,0,115,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,116,0,105,0,110,0,105,0,113,0,117,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,116,0,108,0,97,0,107,0,97,0,116,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,101,0,118,0,105,0,100,0,101,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,115,0,101,0,114,0,114,0,97,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,114,0,97,0,109,0,97,0,114,0,105,0,98,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,95,0,65,0,99,0,114,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,105,0,111,0,95,0,66,0,114,0,97,0,110,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,86,0,105,0,110,0,99,0,101,0,110,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,104,0,105,0,116,0,101,0,104,0,111,0,114,0,115,0,101,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,99,0,77,0,117,0,114,0,100,0,111,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,82,0,111,0,116,0,104,0,101,0,114,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,114,0,101,0,100,0,110,0,101,0,107,0,111,0,108,0,121,0,109,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,106,0,117,0,110,0,103,0,95,0,80,0,97,0,110,0,100,0,97,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,107,0,97,0,116,0,101,0,114,0,105,0,110,0,98,0,117,0,114,0,103,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,74,0,97,0,110,0,95,0,77,0,97,0,121,0,101,0,110,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,82,0,101,0,121,0,107,0,106,0,97,0,118,0,105,0,107,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,95,0,72,0,101,0,108,0,101,0,110,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,100,0,101,0,108,0,97,0,105,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,105,0,115,0,98,0,97,0,110,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,67,0,97,0,110,0,98,0,101,0,114,0,114,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,105,0,110,0,100,0,101,0,109,0,97,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,84,0,97,0,115,0,109,0,97,0,110,0,105,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,86,0,105,0,99,0,116,0,111,0,114,0,105,0,97,0,0,0,67,0,104,0,105,0,108,0,101,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,73,0,115,0,108,0,97,0,110,0,100,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,108,0,101,0,95,0,111,0,102,0,95,0,77,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,97,0,108,0,105,0,110,0,105,0,110,0,103,0,114,0,97,0,100,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,105,0,114,0,105,0,116,0,105,0,109,0,97,0,116,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,74,0,111,0,104,0,97,0,110,0,110,0,101,0,115,0,98,0,117,0,114,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,83,0,97,0,108,0,118,0,97,0,100,0,111,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,70,0,111,0,114,0,116,0,95,0,78,0,101,0,108,0,115,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,115,0,95,0,65,0,110,0,103,0,101,0,108,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,67,0,105,0,116,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,110,0,103,0,110,0,105,0,114,0,116,0,117,0,110,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,95,0,86,0,101,0,108,0,104,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,117,0,101,0,114,0,116,0,111,0,95,0,82,0,105,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,97,0,105,0,110,0,121,0,95,0,82,0,105,0,118,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,101,0,103,0,117,0,99,0,105,0,103,0,97,0,108,0,112,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,104,0,117,0,110,0,100,0,101,0,114,0,95,0,66,0,97,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,89,0,101,0,108,0,108,0,111,0,119,0,107,0,110,0,105,0,102,0,101,0,0,0,65,0,114,0,99,0,116,0,105,0,99,0,47,0,76,0,111,0,110,0,103,0,121,0,101,0,97,0,114,0,98,0,121,0,101,0,110,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,112,0,101,0,95,0,86,0,101,0,114,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,111,0,114,0,100,0,95,0,72,0,111,0,119,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,77,0,101,0,108,0,98,0,111,0,117,0,114,0,110,0,101,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,78,0,101,0,119,0,102,0,111,0,117,0,110,0,100,0,108,0,97,0,110,0,100,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,83,0,97,0,115,0,107,0,97,0,116,0,99,0,104,0,101,0,119,0,97,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,65,0,110,0,116,0,97,0,110,0,97,0,110,0,97,0,114,0,105,0,118,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,100,0,97,0,108,0,99,0,97,0,110,0,97,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,114,0,95,0,101,0,115,0,95,0,83,0,97,0,108,0,97,0,97,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,108,0,97,0,110,0,99,0,45,0,83,0,97,0,98,0,108,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,109,0,112,0,111,0,95,0,71,0,114,0,97,0,110,0,100,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,110,0,109,0,97,0,114,0,107,0,115,0,104,0,97,0,118,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,119,0,115,0,111,0,110,0,95,0,67,0,114,0,101,0,101,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,75,0,110,0,111,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,112,0,111,0,108,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,117,0,110,0,116,0,97,0,95,0,65,0,114,0,101,0,110,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,97,0,110,0,107,0,105,0,110,0,95,0,73,0,110,0,108,0,101,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,97,0,95,0,73,0,115,0,97,0,98,0,101,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,99,0,111,0,114,0,101,0,115,0,98,0,121,0,115,0,117,0,110,0,100,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,97,0,99,0,113,0,117,0,97,0,114,0,105,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,81,0,117,0,101,0,101,0,110,0,115,0,108,0,97,0,110,0,100,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,89,0,97,0,110,0,99,0,111,0,119,0,105,0,110,0,110,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,66,0,111,0,117,0,103,0,97,0,105,0,110,0,118,0,105,0,108,0,108,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,114,0,116,0,95,0,77,0,111,0,114,0,101,0,115,0,98,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,109,0,98,0,114,0,105,0,100,0,103,0,101,0,95,0,66,0,97,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,105,0,117,0,100,0,97,0,100,0,95,0,74,0,117,0,97,0,114,0,101,0,122,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,97,0,108,0,95,0,72,0,97,0,114,0,98,0,111,0,117,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,86,0,101,0,118,0,97,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,119,0,101,0,114,0,95,0,80,0,114,0,105,0,110,0,99,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,95,0,111,0,102,0,95,0,83,0,112,0,97,0,105,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,111,0,95,0,68,0,111,0,109,0,105,0,110,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,66,0,97,0,114,0,116,0,104,0,101,0,108,0,101,0,109,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,119,0,105,0,102,0,116,0,95,0,67,0,117,0,114,0,114,0,101,0,110,0,116,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,83,0,111,0,117,0,116,0,104,0,95,0,80,0,111,0,108,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,111,0,107,0,101,0,110,0,95,0,72,0,105,0,108,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,104,0,105,0,97,0,95,0,66,0,97,0,110,0,100,0,101,0,114,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,45,0,97,0,117,0,45,0,80,0,114,0,105,0,110,0,99,0,101,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,111,0,117,0,116,0,104,0,95,0,71,0,101,0,111,0,114,0,103,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,74,0,117,0,106,0,117,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,108,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,77,0,97,0,114,0,101,0,110,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,87,0,105,0,110,0,97,0,109,0,97,0,99,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,69,0,97,0,115,0,116,0,45,0,83,0,97,0,115,0,107,0,97,0,116,0,99,0,104,0,101,0,119,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,67,0,111,0,114,0,100,0,111,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,77,0,101,0,110,0,100,0,111,0,122,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,84,0,117,0,99,0,117,0,109,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,85,0,115,0,104,0,117,0,97,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,84,0,101,0,108,0,108,0,95,0,67,0,105,0,116,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,86,0,105,0,110,0,99,0,101,0,110,0,110,0,101,0,115,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,117,0,109,0,111,0,110,0,116,0,68,0,85,0,114,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,76,0,97,0,95,0,82,0,105,0,111,0,106,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,110,0,95,0,74,0,117,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,110,0,95,0,76,0,117,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,80,0,101,0,116,0,101,0,114,0,115,0,98,0,117,0,114,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,67,0,97,0,116,0,97,0,109,0,97,0,114,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,101,0,110,0,116,0,117,0,99,0,107,0,121,0,47,0,76,0,111,0,117,0,105,0,115,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,101,0,110,0,116,0,117,0,99,0,107,0,121,0,47,0,77,0,111,0,110,0,116,0,105,0,99,0,101,0,108,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,66,0,101,0,117,0,108,0,97,0,104,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,67,0,101,0,110,0,116,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,112,0,111,0,108,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,82,0,105,0,111,0,95,0,71,0,97,0,108,0,108,0,101,0,103,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,78,0,101,0,119,0,95,0,83,0,97,0,108,0,101,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,67,0,111,0,109,0,111,0,100,0,82,0,105,0,118,0,97,0,100,0,97,0,118,0,105,0,97,0,0,0,126,2,223,10,240,2,216,2,244,2,248,2,100,14,33,8,204,29,115,14,227,10,241,10,255,10,13,11,27,11,41,11,208,18,223,29,33,23,46,8,252,26,59,8,130,14,72,8,27,34,224,18,55,11,240,18,0,19,16,19,69,11,139,32,137,6,145,14,32,19,83,11,48,19,85,8,14,27,149,6,97,11,32,27,111,11,125,11,139,11,153,11,160,14,50,23,64,19,175,14,80,19,167,11,50,27,242,29,68,27,96,19,112,19,190,14,98,8,128,19,111,8,86,27,67,23,144,19,104,27,251,38,82,38,88,39,48,37,183,36,230,37,74,37,26,39,207,36,1,38,28,38,100,37,126,37,181,11,84,23,101,23,124,8,195,11,114,36,118,23,209,11,205,14,48,34,122,27,220,14,223,11,69,34,128,35,90,34,235,14,160,19,140,27,176,19,250,14,192,19,158,27,150,35,172,35,208,19,5,30,224,19,9,15,240,19,111,34,24,15,132,34,39,15,0,20,135,23,152,23,169,23,159,32,186,23,179,32,24,30,176,27,194,27,16,20,212,27,43,30,32,20,62,30,230,27,248,27,54,15,48,20,69,15,81,30,222,38,153,34,231,36,55,38,152,37,194,35,178,37,255,36,174,34,84,15,64,20,112,18,237,11,99,15,110,38,138,38,96,18,100,30,114,15,137,8,199,32,119,30,216,35,129,15,80,20,144,15,96,20,138,30,10,28,203,23,112,20,28,28,159,15,157,30,219,32,220,23,128,20,46,28,176,30,237,23,195,30,174,15,254,23,144,20,150,8,160,20,166,38,194,38,57,39,163,8,176,20,189,15,239,32,214,30,192,20,137,36,238,35,233,30,3,33,23,33,195,34,43,33,216,34,204,15,219,15,15,24,252,30,208,20,237,34,32,24,49,24,4,36,64,28,2,35,66,24,251,11,26,36,83,24,100,24,117,24,82,28,15,31,48,36,63,33,199,10,83,33,224,20,240,20,0,21,100,28,234,15,34,31,134,24,16,21,103,33,151,24,168,24,204,37,23,35,118,28,53,31,136,28,72,31,70,36,185,24,16,23,154,28,123,33,104,4,161,6,118,5,173,6,129,5,185,6,9,12,249,15,197,6,176,8,189,8,114,4,202,8,215,8,209,6,228,8,221,6,23,12,140,5,32,21,8,16,23,16,241,8,151,5,37,12,162,5,124,4,173,5,51,12,38,16,134,4,233,6,245,6,202,24,53,16,144,4,254,8,65,12,11,9,79,12,68,16,184,5,83,16,24,9,37,9,98,16,93,12,107,12,50,9,219,24,172,28,63,9,1,7,195,5,206,5,76,9,121,12,13,7,25,7,89,9,190,28,236,24,154,4,164,4,48,21,113,16,128,16,217,5,135,12,143,16,102,9,37,7,49,7,149,12,158,16,228,5,163,12,85,14,91,31,61,7,177,12,115,9,73,7,191,12,85,7,128,9,239,5,250,5,110,31,253,24,64,21,97,7,205,12,173,16,14,25,141,9,109,7,129,31,154,9,80,21,31,25,96,21,143,33,112,21,188,16,148,31,48,25,167,31,160,36,186,31,65,25,213,10,205,31,224,31,92,36,243,31,82,25,99,25,128,21,116,25,219,12,6,32,163,33,183,33,233,12,144,21,160,21,44,35,176,21,133,25,25,32,44,32,203,16,65,35,252,2,0,3,121,7,150,25,133,7,145,7,4,3,8,3,12,3,16,3,152,18,220,2,192,21,218,16,23,37,233,16,208,21,203,33,248,16,223,33,167,9,208,28,63,32,96,3,20,3,24,3,28,3,32,3,168,18,133,3,240,3,221,3,84,4,174,4,5,6,16,6,27,6,184,4,194,4,204,4,214,4,224,4,234,4,244,4,254,4,94,4,8,5,38,6,49,6,60,6,71,6,82,6,18,5,28,5,38,5,48,5,58,5,68,5,78,5,88,5,29,4,171,10,245,3,229,3,185,10,157,7,38,4,167,25,7,17,184,25,247,12,22,17,224,21,5,13,226,28,240,21,201,25,0,22,16,22,32,22,244,28,19,13,218,25,48,22,64,22,82,32,80,22,33,13,101,32,169,7,180,9,181,7,47,13,235,25,61,13,6,29,75,13,193,9,252,25,206,9,89,13,103,13,37,17,193,7,219,9,13,26,117,13,205,7,217,7,131,13,24,29,96,22,52,17,42,29,145,13,232,9,30,26,67,17,159,13,112,22,47,26,128,22,245,9,82,17,173,13,97,17,64,26,187,13,201,13,60,29,215,13,253,3,46,0,237,3,225,3,88,4,98,4,33,4,175,10,36,3,47,4,40,3,44,3,5,4,243,33,229,13,81,26,2,10,243,13,98,26,229,7,144,22,115,26,112,17,127,17,101,3,177,3,48,3,120,18,151,3,242,26,157,3,52,3,224,2,56,3,184,18,132,26,142,17,157,17,60,3,64,3,34,0,213,3,184,3,228,2,68,3,72,3,76,3,80,3,200,18,15,10,149,26,86,35,128,18,1,14,172,17,15,14,78,29,160,22,28,10,166,26,96,29,176,22,7,34,41,10,183,26,200,26,187,17,120,32,202,17,234,26,217,17,114,29,232,17,29,14,54,10,192,22,247,17,132,29,43,14,217,26,208,22,6,18,107,35,150,29,21,18,57,14,36,18,51,18,168,29,67,10,80,10,66,18,241,7,191,3,56,4,84,3,88,3,92,3,90,14,93,10,224,22,106,10,144,18,119,10,160,18,71,14,132,10,176,18,145,10,192,18,158,10,240,22,198,3,249,3,98,5,253,7,93,6,104,6,0,23,115,6,108,5,186,29,9,8,21,8,126,6,81,18,65,4,233,3,189,10,232,2,111,3,236,2,42,4,126,2,13,0,13,0,19,0,73,0,1,0,112,0,123,1,237,2,90,1,124,0,124,0,157,0,45,1,129,1,150,1,17,2,48,1,9,1,73,0,237,1,76,0,132,1,116,2,170,2,78,1,57,1,96,1,110,2,33,1,209,2,203,2,125,2,173,2,95,2,86,2,109,0,32,2,108,1,146,2,232,0,109,0,206,2,138,1,169,0,228,1,137,2,119,2,225,1,145,0,140,2,26,2,5,2,0,1,12,1,233,2,157,0,151,0,161,2,20,2,1,0,1,0,226,0,223,0,16,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,238,0,71,2,4,0,1,0,16,0,22,0,250,0,16,0,39,1,4,0,16,0,60,1,1,0,19,0,4,0,16,0,22,0,185,2,19,0,117,1,204,1,1,0,22,0,22,0,4,0,19,0,63,1,4,0,16,0,69,1,49,0,4,0,4,0,1,0,1,0,84,1,4,0,16,0,128,2,22,0,4,0,1,0,16,0,4,0,49,0,4,0,234,3,111,1,135,1,217,2,121,0,153,1,4,0,115,0,22,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,4,0,142,0,19,0,1,0,1,0,1,0,1,0,27,1,24,1,56,2,1,0,1,0,131,2,16,0,35,2,16,0,246,1,2,2,22,0,22,0,19,0,1,0,22,0,1,0,22,0,62,2,4,0,22,0,176,2,4,0,8,2,30,1,1,0,4,0,1,0,16,0,1,0,1,0,1,0,49,0,22,0,53,2,4,0,122,2,1,0,162,1,221,2,16,0,16,0,184,0,43,0,4,0,4,0,16,0,4,0,4,0,16,0,19,0,22,0,16,0,43,0,87,1,16,0,49,0,1,0,1,0,15,1,4,0,195,1,213,1,208,0,182,2,4,0,156,1,49,0,4,0,22,0,4,0,188,2,4,0,208,0,4,0,4,0,1,0,4,0,25,0,25,0,25,0,13,0,25,0,25,0,25,0,25,0,25,0,25,0,25,0,25,0,196,0,197,2,31,0,183,1,10,0,31,0,31,0,199,0,199,0,31,0,174,1,6,1,244,0,149,2,10,0,210,1,186,1,21,1,109,18,10,0,61,0,28,0,28,0,222,1,67,0,134,2,67,0,158,2,217,0,152,2,70,0,187,0,28,0,187,0,97,0,133,0,61,0,10,0,91,0,52,0,52,0,79,0,220,0,10,0,178,0,28,0,172,0,172,0,10,0,109,18,10,0,166,0,166,0,201,1,163,0,163,0,10,0,52,0,59,2,50,2,70,0,10,0,10,0,10,0,31,0,189,1,52,0,198,1,74,2,31,0,31,0,160,0,89,2,97,0,10,0,205,0,148,0,28,0,193,0,10,0,202,0,205,0,114,1,139,0,79,0,106,0,106,0,82,0,10,0,52,0,61,0,61,0,28,0,10,0,207,1,10,0,10,0,160,0,10,0,100,0,64,0,18,1,76,0,66,1,127,0,127,0,196,0,64,0,177,1,144,1,101,2,105,1,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,16,0,67,0,16,0,16,0,16,0,16,0,169,0,212,2,4,0,1,0,212,2,28,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,43,0,43,0,115,0,145,0,130,0,212,2,212,2,212,2,73,0,136,0,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,38,2,214,0,10,0,141,1,46,0,83,2,118,0,107,2,253,0,80,2,165,1,118,0,154,0,81,1,136,0,126,1,120,1,99,1,168,1,91,0,180,1,10,0,55,0,10,0,55,0,64,0,104,2,46,0,231,1,76,0,226,3,241,0,36,1,240,1,10,0,70,0,41,2,130,0,243,1,75,1,234,1,225,2,10,0,113,2,247,0,10,0,55,0,252,1,3,1,98,2,93,1,229,0,154,0,10,0,55,0,219,1,179,2,218,3,229,2,10,0,181,0,159,1,55,0,51,1,212,2,46,0,46,0,212,2,212,2,212,2,212,2,212,2,212,2,133,0,1,0,109,18,112,0,249,1,171,1,72,1,42,1,192,1,143,2,92,2,14,2,11,2,200,2,77,2,139,0,79,0,82,0,142,0,82,0,85,0,151,0,212,2,211,0,212,2,212,2,22,0,22,0,22,0,100,0,34,0,34,0,34,0,1,0,178,0,1,0,28,0,184,0,1,0,212,2,211,0,34,0,175,0,34,0,37,0,43,0,191,2,58,0,155,2,102,1,167,2,121,0,88,0,190,0,147,1,1,0,94,0,58,0,58,0,37,0,85,0,85,0,88,0,94,0,44,2,47,2,29,2,23,2,40,0,68,2,65,2,37,0,37,0,175,0,54,1,255,1,40,0,88,0,58,0,164,2,37,0,94,0,194,2,37,0,181,0,64,0,202,0,148,0,190,0,193,0,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,91,0,212,2,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,40,0,212,2,212,2,97,0,10,0,212,2,212,2,170,170,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,32,28,0,0,1,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,8,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,10,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,8,0,0,0,226,255,255,255,255,255,255,255,172,38,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,172,38,0,0,1,0,0,0,16,14,0,0,11,0,0,0,8,0,0,0,2,0,0,0,255,255,255,255,64,56,0,0,2,0,0,0,3,0,0,0,2,0,0,0,255,255,255,255,48,42,0,0,2,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,10,0,0,0,1,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,16,14,0,0,11,0,0,0,3,0,0,0,226,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,9,0,0,0,225,255,255,255,251,255,255,255,128,81,1,0,0,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,8,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,10,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,8,7,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,32,28,0,0,0,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,48,42,0,0,0,0,0,0,16,14,0,0,11,0,0,0,8,0,0,0,226,255,255,255,255,255,255,255,32,28,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,226,255,255,255,249,255,255,255,32,28,0,0,0,0,0,0,9,0,0,0,226,255,255,255,249,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,22,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,16,14,0,0,11,0,0,0,3,0,0,0,226,255,255,255,255,255,255,255,32,28,0,0,0,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,8,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,10,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,32,28,0,0,11,0,0,0,2,0,0,0,8,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,10,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,23,0,0,0,250,255,255,255,32,28,0,0,0,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,24,0,144,0,147,0,150,0,153,0,156,0,162,0,169,0,177,0,183,0,188,0,191,0,198,0,204,0,210,0,213,0,221,0,229,0,232,0,242,0,247,0,255,0,5,1,11,1,14,1,170,170,131,22,0,224,143,22,0,224,155,22,0,224,167,22,0,224,179,22,0,224,191,22,0,224,203,22,0,224,215,22,0,224,227,22,0,224,239,22,0,224,251,22,0,224,7,23,0,224,19,23,0,224,31,23,0,224,43,23,0,224,55,23,0,224,67,23,0,224,79,23,0,224,91,23,0,224,103,23,0,224,115,23,0,224,127,23,0,224,139,23,0,224,151,23,0,224,14,0,0,0,5,0,0,0,6,0,0,0,11,0,0,0,13,0,0,0,21,0,0,0,22,0,0,0,27,0,0,0,38,0,0,0,51,0,0,0,52,0,0,0,55,0,0,0,91,1,0,0,93,1,0,0,5,2,0,0,1,0,0,0,72,146,230,146,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,56,252,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,200,23,0,224,215,23,0,224,219,23,0,16,221,23,0,224,33,0,0,0,79,80,96,145,240,120,71,155,112,44,215,155,112,145,188,156,240,72,192,157,112,254,137,158,240,42,160,159,240,165,96,160,240,12,128,161,240,18,46,162,240,76,122,163,240,129,53,164,112,6,184,164,112,6,255,198,128,186,88,199,160,9,218,199,16,52,146,207,0,0,138,208,16,22,114,209,112,36,78,210,112,7,75,212,0,211,206,229,240,176,92,243,240,193,120,2,240,200,67,3,0,215,207,13,240,68,173,14,0,90,120,15,16,89,104,16,112,67,118,18,128,66,102,19,16,124,95,20,0,95,79,21,2,0,0,0,255,255,255,255,36,155,201,107,170,170,170,170,34,0,0,0,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,4,5,4,5,4,1,4,1,2,1,2,4,5,4,1,2,1,4,170,170,12,0,0,0,220,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,49,2,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,233,23,0,224,11,24,0,224,15,24,0,16,25,24,0,224,2,0,0,0,144,156,230,146,16,97,103,9,170,170,170,170,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,100,241,255,255,0,0,0,0,240,241,255,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,48,0,66,0,54,0,45,24,0,224,51,24,0,16,53,24,0,224,3,0,0,0,3,0,0,0,18,0,0,0,147,1,0,0,128,0,0,0,224,180,147,200,208,123,250,200,224,239,252,201,208,232,199,202,96,174,203,203,208,41,223,204,224,225,172,205,208,244,198,206,224,102,143,207,208,121,169,208,224,96,132,209,80,173,138,210,96,99,54,232,80,45,244,232,96,185,11,234,208,96,213,234,240,250,236,235,0,109,181,236,240,127,207,237,0,242,151,238,112,179,176,239,128,37,121,240,240,230,145,241,0,89,90,242,112,26,115,243,128,140,59,244,112,159,85,245,128,17,30,246,240,210,54,247,0,69,255,247,112,6,24,249,0,202,225,249,240,57,249,250,128,253,194,251,240,190,219,252,128,130,165,253,112,242,188,254,0,182,134,255,240,37,158,0,128,233,103,1,112,89,127,2,0,29,73,3,112,222,97,4,0,162,43,5,240,17,67,6,128,213,12,7,112,69,36,8,0,9,238,8,240,120,5,10,128,60,207,10,240,253,231,11,128,193,177,12,112,49,201,13,0,245,146,14,240,100,170,15,128,40,116,16,112,152,139,17,0,92,85,18,112,29,110,19,0,225,55,20,240,80,79,21,128,20,25,22,240,147,160,23,0,72,250,23,240,163,112,25,128,123,219,25,240,60,244,26,128,0,190,27,112,112,213,28,0,52,159,29,240,163,182,30,128,103,128,31,112,215,151,32,0,155,97,33,112,92,122,34,0,32,68,35,112,39,98,36,128,83,37,37,112,195,60,38,0,135,6,39,240,246,29,40,128,186,231,40,240,123,0,42,128,63,202,42,112,175,225,43,0,115,171,44,240,226,194,45,128,166,140,46,224,19,160,47,208,12,107,48,224,245,127,49,208,238,74,50,224,215,95,51,208,208,42,52,224,185,63,53,208,178,10,54,96,214,40,55,80,207,243,55,96,184,8,57,80,177,211,57,96,154,232,58,80,147,179,59,96,124,200,60,80,117,147,61,96,94,168,62,80,87,115,63,224,122,145,64,208,115,92,65,224,92,113,66,208,85,60,67,224,62,81,68,80,253,18,69,224,32,49,70,80,106,224,70,224,2,17,72,208,17,183,72,224,228,240,73,80,185,141,74,96,1,218,75,208,189,97,76,224,88,137,76,80,250,164,76,224,56,117,83,208,137,172,83,96,188,218,83,80,130,36,84,96,240,74,100,80,211,58,101,2,0,0,0,255,255,255,255,171,77,189,125,170,170,170,170,170,170,170,170,129,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,85,29,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,32,28,0,112,133,3,0,96,232,7,0,112,65,24,0,224,69,24,0,224,198,24,0,224,203,24,0,16,237,24,0,224,94,0,0,0,156,249,81,150,128,20,255,198,112,172,88,199,128,237,217,199,240,50,161,210,0,164,53,219,240,39,238,219,64,114,37,251,112,239,194,251,128,132,107,8,240,109,198,8,0,12,232,11,240,71,97,12,128,63,201,13,112,242,142,14,128,81,211,15,112,163,39,16,0,166,183,26,240,111,24,30,128,230,65,72,112,34,187,72,0,26,35,74,112,213,141,74,128,192,220,75,112,229,93,76,128,184,151,77,240,140,52,78,160,160,156,79,160,187,8,80,32,154,49,80,160,167,103,80,160,130,124,81,160,203,216,81,160,158,5,82,160,115,108,82,160,122,55,83,160,33,174,83,32,70,220,83,160,85,76,84,160,92,23,85,32,224,124,85,160,4,171,85,160,55,44,86,160,62,247,86,160,135,83,87,32,172,129,87,32,84,21,88,160,32,215,88,160,244,32,89,160,83,88,89,32,54,245,89,160,2,183,90,32,156,247,90,160,192,37,91,160,67,206,92,32,104,252,92,160,176,155,94,160,15,211,94,32,88,114,96,160,124,160,96,32,197,63,98,32,36,119,98,160,108,22,100,32,145,68,100,32,20,237,101,160,56,27,102,32,129,186,103,32,224,241,103,160,40,145,105,32,77,191,105,32,208,103,107,160,244,149,107,32,61,53,109,32,156,108,109,160,228,11,111,32,9,58,111,160,81,217,112,160,176,16,113,32,249,175,114,160,29,222,114,160,160,134,116,32,197,180,116,160,13,84,118,160,108,139,118,32,181,42,120,160,217,88,120,32,34,248,121,32,129,47,122,160,201,206,123,160,40,6,124,32,113,165,125,160,149,211,125,32,222,114,127,32,61,170,127,204,0,0,0,0,0,0,0,160,133,73,129,0,0,0,0,32,170,119,129,0,0,0,0,32,45,32,131,0,0,0,0,160,81,78,131,0,0,0,0,32,154,237,132,0,0,0,0,32,249,36,133,0,0,0,0,160,65,196,134,0,0,0,0,32,102,242,134,0,0,0,0,160,174,145,136,0,0,0,0,160,13,201,136,0,0,0,0,32,86,104,138,0,0,0,0,32,181,159,138,0,0,0,0,160,253,62,140,0,0,0,0,32,34,109,140,0,0,0,0,160,106,12,142,0,0,0,0,160,201,67,142,0,0,0,0,32,18,227,143,0,0,0,0,160,54,17,144,0,0,0,0,160,185,185,145,0,0,0,0,32,222,231,145,0,0,0,0,160,38,135,147,0,0,0,0,160,133,190,147,0,0,0,0,32,206,93,149,0,0,0,0,160,242,139,149,0,0,0,0,32,59,43,151,0,0,0,0,32,154,98,151,0,0,0,0,160,226,1,153,0,0,0,0,160,65,57,153,0,0,0,0,32,138,216,154,0,0,0,0,160,174,6,155,0,0,0,0,32,247,165,156,0,0,0,0,32,86,221,156,0,0,0,0,160,158,124,158,0,0,0,0,32,195,170,158,0,0,0,0,32,70,83,160,0,0,0,0,160,106,129,160,0,0,0,0,32,179,32,162,0,0,0,0,32,18,88,162,0,0,0,0,160,90,247,163,0,0,0,0,32,127,37,164,0,0,0,0,160,199,196,165,0,0,0,0,160,38,252,165,0,0,0,0,32,111,155,167,0,0,0,0,32,206,210,167,0,0,0,0,160,22,114,169,0,0,0,0,32,59,160,169,0,0,0,0,160,131,63,171,0,0,0,0,160,226,118,171,0,0,0,0,32,43,22,173,0,0,0,0,160,79,68,173,0,0,0,0,160,210,236,174,0,0,0,0,32,247,26,175,0,0,0,0,160,63,186,176,0,0,0,0,160,158,241,176,0,0,0,0,32,231,144,178,0,0,0,0,160,11,191,178,0,0,0,0,32,84,94,180,0,0,0,0,32,179,149,180,0,0,0,0,160,251,52,182,0,0,0,0,160,90,108,182,0,0,0,0,32,163,11,184,0,0,0,0,160,199,57,184,0,0,0,0,32,16,217,185,0,0,0,0,32,111,16,186,0,0,0,0,160,183,175,187,0,0,0,0,32,220,221,187,0,0,0,0,32,95,134,189,0,0,0,0,160,131,180,189,0,0,0,0,32,204,83,191,0,0,0,0,32,43,139,191,0,0,0,0,160,115,42,193,0,0,0,0,32,152,88,193,0,0,0,0,160,224,247,194,0,0,0,0,160,63,47,195,0,0,0,0,32,136,206,196,0,0,0,0,32,231,5,197,0,0,0,0,160,47,165,198,0,0,0,0,32,84,211,198,0,0,0,0,160,156,114,200,0,0,0,0,160,251,169,200,0,0,0,0,32,68,73,202,0,0,0,0,160,104,119,202,0,0,0,0,160,235,31,204,0,0,0,0,32,16,78,204,0,0,0,0,160,88,237,205,0,0,0,0,160,183,36,206,0,0,0,0,32,0,196,207,0,0,0,0,160,36,242,207,0,0,0,0,32,109,145,209,0,0,0,0,32,204,200,209,0,0,0,0,160,20,104,211,0,0,0,0,32,57,150,211,0,0,0,0,32,188,62,213,0,0,0,0,160,224,108,213,0,0,0,0,32,41,12,215,0,0,0,0,32,136,67,215,0,0,0,0,160,208,226,216,0,0,0,0,32,245,16,217,0,0,0,0,32,120,185,218,0,0,0,0,160,156,231,218,0,0,0,0,32,229,134,220,0,0,0,0,32,68,190,220,170,170,170,170,170,170,170,170,196,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,8,0,0,0,228,248,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,16,14,0,0,0,0,0,0,4,0,48,0,120,0,66,0,54,0,170,170,1,25,0,224,96,25,0,224,47,26,0,16,97,26,0,224,43,0,0,0,112,117,214,158,96,110,161,159,112,239,5,170,0,110,231,170,240,167,201,173,0,50,167,174,112,79,160,175,0,20,135,176,0,122,137,177,128,48,112,178,64,114,37,251,112,239,194,251,128,132,107,8,240,109,198,8,0,12,232,11,240,71,97,12,128,63,201,13,112,242,142,14,128,81,211,15,112,163,39,16,0,166,183,26,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,0,181,54,126,170,170,170,170,170,170,170,170,170,170,170,170,44,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,10,0,0,0,4,251,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,113,26,0,224,157,26,0,224,163,26,0,16,175,26,0,224,83,0,0,0,224,240,72,188,144,176,209,11,0,12,232,11,240,71,97,12,128,63,201,13,112,242,142,14,128,81,211,15,112,163,39,16,128,230,65,72,112,34,187,72,0,26,35,74,112,213,141,74,128,192,220,75,112,229,93,76,128,184,151,77,240,140,52,78,160,160,156,79,160,187,8,80,32,154,49,80,160,167,103,80,160,130,124,81,160,203,216,81,160,158,5,82,160,115,108,82,160,122,55,83,160,33,174,83,32,70,220,83,160,85,76,84,160,92,23,85,32,224,124,85,160,4,171,85,160,55,44,86,160,62,247,86,160,135,83,87,32,172,129,87,32,84,21,88,160,32,215,88,160,244,32,89,160,83,88,89,32,54,245,89,160,2,183,90,32,156,247,90,160,192,37,91,160,67,206,92,32,104,252,92,160,176,155,94,160,15,211,94,32,88,114,96,160,124,160,96,32,197,63,98,32,36,119,98,160,108,22,100,32,145,68,100,32,20,237,101,160,56,27,102,32,129,186,103,32,224,241,103,160,40,145,105,32,77,191,105,32,208,103,107,160,244,149,107,32,61,53,109,32,156,108,109,160,228,11,111,32,9,58,111,160,81,217,112,160,176,16,113,32,249,175,114,160,29,222,114,160,160,134,116,32,197,180,116,160,13,84,118,160,108,139,118,32,181,42,120,160,217,88,120,32,34,248,121,32,129,47,122,160,201,206,123,160,40,6,124,32,113,165,125,160,149,211,125,32,222,114,127,32,61,170,127,204,0,0,0,0,0,0,0,160,133,73,129,0,0,0,0,32,170,119,129,0,0,0,0,32,45,32,131,0,0,0,0,160,81,78,131,0,0,0,0,32,154,237,132,0,0,0,0,32,249,36,133,0,0,0,0,160,65,196,134,0,0,0,0,32,102,242,134,0,0,0,0,160,174,145,136,0,0,0,0,160,13,201,136,0,0,0,0,32,86,104,138,0,0,0,0,32,181,159,138,0,0,0,0,160,253,62,140,0,0,0,0,32,34,109,140,0,0,0,0,160,106,12,142,0,0,0,0,160,201,67,142,0,0,0,0,32,18,227,143,0,0,0,0,160,54,17,144,0,0,0,0,160,185,185,145,0,0,0,0,32,222,231,145,0,0,0,0,160,38,135,147,0,0,0,0,160,133,190,147,0,0,0,0,32,206,93,149,0,0,0,0,160,242,139,149,0,0,0,0,32,59,43,151,0,0,0,0,32,154,98,151,0,0,0,0,160,226,1,153,0,0,0,0,160,65,57,153,0,0,0,0,32,138,216,154,0,0,0,0,160,174,6,155,0,0,0,0,32,247,165,156,0,0,0,0,32,86,221,156,0,0,0,0,160,158,124,158,0,0,0,0,32,195,170,158,0,0,0,0,32,70,83,160,0,0,0,0,160,106,129,160,0,0,0,0,32,179,32,162,0,0,0,0,32,18,88,162,0,0,0,0,160,90,247,163,0,0,0,0,32,127,37,164,0,0,0,0,160,199,196,165,0,0,0,0,160,38,252,165,0,0,0,0,32,111,155,167,0,0,0,0,32,206,210,167,0,0,0,0,160,22,114,169,0,0,0,0,32,59,160,169,0,0,0,0,160,131,63,171,0,0,0,0,160,226,118,171,0,0,0,0,32,43,22,173,0,0,0,0,160,79,68,173,0,0,0,0,160,210,236,174,0,0,0,0,32,247,26,175,0,0,0,0,160,63,186,176,0,0,0,0,160,158,241,176,0,0,0,0,32,231,144,178,0,0,0,0,160,11,191,178,0,0,0,0,32,84,94,180,0,0,0,0,32,179,149,180,0,0,0,0,160,251,52,182,0,0,0,0,160,90,108,182,0,0,0,0,32,163,11,184,0,0,0,0,160,199,57,184,0,0,0,0,32,16,217,185,0,0,0,0,32,111,16,186,0,0,0,0,160,183,175,187,0,0,0,0,32,220,221,187,0,0,0,0,32,95,134,189,0,0,0,0,160,131,180,189,0,0,0,0,32,204,83,191,0,0,0,0,32,43,139,191,0,0,0,0,160,115,42,193,0,0,0,0,32,152,88,193,0,0,0,0,160,224,247,194,0,0,0,0,160,63,47,195,0,0,0,0,32,136,206,196,0,0,0,0,32,231,5,197,0,0,0,0,160,47,165,198,0,0,0,0,32,84,211,198,0,0,0,0,160,156,114,200,0,0,0,0,160,251,169,200,0,0,0,0,32,68,73,202,0,0,0,0,160,104,119,202,0,0,0,0,160,235,31,204,0,0,0,0,32,16,78,204,0,0,0,0,160,88,237,205,0,0,0,0,160,183,36,206,0,0,0,0,32,0,196,207,0,0,0,0,160,36,242,207,0,0,0,0,32,109,145,209,0,0,0,0,32,204,200,209,0,0,0,0,160,20,104,211,0,0,0,0,32,57,150,211,0,0,0,0,32,188,62,213,0,0,0,0,160,224,108,213,0,0,0,0,32,41,12,215,0,0,0,0,32,136,67,215,0,0,0,0,160,208,226,216,0,0,0,0,32,245,16,217,0,0,0,0,32,120,185,218,0,0,0,0,160,156,231,218,0,0,0,0,32,229,134,220,0,0,0,0,32,68,190,220,170,170,170,170,185,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,170,170,170,8,0,0,0,160,243,255,255,0,0,0,0,240,241,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,4,0,48,0,120,0,66,0,54,0,170,170,197,26,0,224,25,27,0,224,231,27,0,16,23,28,0,224,3,0,0,0,30,0,0,0,44,0,0,0,45,0,0,0,5,0,0,0,104,207,70,130,128,140,174,204,112,111,158,205,128,110,142,206,112,81,126,207,2,0,0,0,255,255,255,255,64,65,123,109,170,170,170,170,170,170,170,170,170,170,170,170,6,0,0,0,1,2,3,2,3,2,170,170,8,0,0,0,64,26,0,0,0,0,0,0,24,21,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,39,28,0,224,43,28,0,224,49,28,0,224,55,28,0,16,58,28,0,224,35,0,0,0,220,218,163,182,224,23,158,0,80,52,122,1,224,249,125,2,208,103,91,3,224,126,96,4,208,236,61,5,224,96,64,6,80,32,31,7,224,66,32,8,208,83,0,9,224,36,0,10,80,135,225,10,224,6,224,11,80,12,196,12,224,232,191,13,208,63,165,14,96,5,169,15,80,115,134,16,96,231,136,17,208,166,103,18,96,201,104,19,208,43,74,20,96,171,72,21,80,95,43,22,96,141,40,23,208,146,12,24,96,111,8,25,80,198,237,25,224,139,241,26,80,75,208,27,224,109,209,28,208,126,177,29,32,69,128,56,80,26,23,96,35,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,170,8,0,0,0,164,29,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,3,0,48,0,66,0,54,0,75,28,0,224,111,28,0,16,121,28,0,224,35,0,0,0,0,218,163,182,224,23,158,0,80,52,122,1,224,249,125,2,208,103,91,3,224,126,96,4,208,236,61,5,224,96,64,6,80,32,31,7,224,66,32,8,208,83,0,9,224,36,0,10,80,135,225,10,224,6,224,11,80,12,196,12,224,232,191,13,208,63,165,14,96,5,169,15,80,115,134,16,96,231,136,17,208,166,103,18,96,201,104,19,208,43,74,20,96,171,72,21,80,95,43,22,96,141,40,23,208,146,12,24,96,111,8,25,80,198,237,25,224,139,241,26,80,75,208,27,224,109,209,28,208,126,177,29,32,69,128,56,80,228,248,89,35,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,170,8,0,0,0,128,30,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,3,0,48,0,66,0,54,0,135,28,0,224,171,28,0,16,181,28,0,224,10,0,0,0,12,0,0,0,16,0,0,0,25,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,39,0,0,0,42,0,0,0,50,0,0,0,53,0,0,0,4,0,0,0,209,112,171,134,0,96,80,140,209,67,170,150,120,239,81,161,4,0,0,0,1,0,2,3,8,0,0,0,47,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,16,14,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,195,28,0,224,206,28,0,224,211,28,0,16,213,28,0,224,9,0,0,0,15,0,0,0,17,0,0,0,28,0,0,0,29,0,0,0,34,0,0,0,40,0,0,0,41,0,0,0,43,0,0,0,124,1,0,0,1,0,0,0,244,197,70,130,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,140,30,0,0,0,0,0,0,32,28,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,229,28,0,224,239,28,0,224,243,28,0,16,245,28,0,224,2,0,0,0,156,108,95,160,110,90,202,3,170,170,170,170,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,228,245,255,255,0,0,0,0,146,245,255,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,48,0,66,0,54,0,1,29,0,224,7,29,0,16,9,29,0,224,12,0,0,0,7,0,0,0,9,0,0,0,10,0,0,0,23,0,0,0,24,0,0,0,32,0,0,0,46,0,0,0,48,0,0,0,142,1,0,0,6,2,0,0,10,2,0,0,15,2,0,0,5,0,0,0,252,209,255,139,88,218,238,177,208,224,199,180,88,173,237,193,212,122,108,204,170,170,170,170,170,170,170,170,170,170,170,170,5,0,0,0,1,3,1,2,3,170,170,170,8,0,0,0,132,34,0,0,0,0,0,0,40,35,0,0,0,0,0,0,172,38,0,0,0,0,0,0,48,42,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,21,29,0,224,34,29,0,224,43,29,0,16,46,29,0,224,3,0,0,0,100,128,230,146,112,113,102,18,96,222,38,19,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,28,14,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,3,0,48,0,66,0,54,0,62,29,0,224,67,29,0,16,69,29,0,224,3,0,0,0,128,142,230,146,16,136,73,90,144,187,42,92,2,0,0,0,255,255,255,255,48,253,60,94,170,170,170,170,170,170,170,170,170,170,170,170,4,0,0,0,1,2,3,2,8,0,0,0,80,6,0,0,0,0,0,0,99,247,255,255,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,81,29,0,224,85,29,0,224,91,29,0,16,93,29,0,224,2,0,0,0,56,0,0,0,23,2,0,0,32,0,0,0,36,193,242,161,16,177,187,221,96,173,35,222,16,210,120,225,224,101,231,225,112,63,47,229,224,204,169,229,240,198,78,235,96,66,146,22,112,247,8,23,224,43,250,23,240,42,234,24,96,95,219,25,240,175,204,26,96,228,189,27,240,122,180,28,224,23,159,29,112,11,147,30,96,238,130,31,112,74,112,32,224,126,97,33,112,207,82,34,224,3,68,35,240,2,52,36,96,55,37,37,240,183,64,38,96,241,78,50,112,54,68,51,224,106,53,52,0,153,157,80,128,217,84,81,128,180,105,82,170,170,170,170,170,170,170,170,32,0,0,0,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,3,1,2,3,8,0,0,0,92,12,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,109,29,0,224,112,29,0,224,147,29,0,16,156,29,0,224,33,0,0,0,79,80,96,145,224,136,58,198,96,158,88,199,224,34,219,199,224,84,226,202,240,105,173,203,16,75,231,204,144,23,169,205,0,22,194,205,16,176,204,205,0,53,162,206,16,52,146,207,224,227,137,208,16,22,114,209,96,22,78,210,240,223,199,13,112,172,137,14,240,100,170,15,112,26,116,16,240,58,163,34,240,40,60,35,240,25,44,36,240,10,28,37,112,195,60,38,112,39,5,39,240,13,116,66,0,128,60,67,144,231,37,68,16,253,67,69,144,201,5,70,16,223,35,71,16,230,238,71,16,193,3,73,2,0,0,0,255,255,255,255,244,19,70,89,170,170,170,170,170,170,170,170,34,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,140,9,0,0,0,0,0,0,49,2,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,172,29,0,224,206,29,0,224,211,29,0,16,221,29,0,224,52,0,0,0,104,207,70,130,128,140,174,204,112,111,158,205,96,199,140,45,16,28,105,46,0,233,125,47,16,254,72,48,128,5,103,49,16,224,40,50,128,231,70,51,144,252,17,52,128,201,38,53,144,222,241,53,128,171,6,55,144,192,209,55,128,141,230,56,144,162,177,57,128,111,198,58,144,132,145,59,0,140,175,60,144,102,113,61,0,110,143,62,16,131,90,63,0,80,111,64,16,101,58,65,0,50,79,66,16,71,26,67,0,20,47,68,16,41,250,68,0,246,14,70,16,11,218,70,128,18,248,71,144,39,195,72,128,244,215,73,144,9,163,74,128,214,183,75,144,235,130,76,128,184,151,77,144,205,98,78,128,154,119,79,144,175,66,80,0,183,96,81,144,145,34,82,0,153,64,83,16,174,11,84,0,123,32,85,16,144,235,85,0,93,0,87,16,114,203,87,0,63,224,88,16,84,171,89,96,102,238,89,2,0,0,0,255,255,255,255,120,75,123,109,170,170,170,170,170,170,170,170,53,0,0,0,3,4,5,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,170,170,170,12,0,0,0,8,16,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,24,21,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,237,29,0,224,34,30,0,224,39,30,0,16,54,30,0,224,3,0,0,0,59,0,0,0,80,0,0,0,108,2,0,0,80,0,0,0,208,68,137,203,64,80,97,210,80,113,184,254,64,84,168,255,80,83,152,0,64,54,136,1,80,53,120,2,192,82,113,3,208,81,97,4,192,52,81,5,208,51,65,6,192,22,49,7,208,109,141,7,192,248,16,9,80,233,173,9,192,218,240,10,208,217,224,11,64,247,217,12,208,187,192,13,64,217,185,14,80,216,169,15,64,187,153,16,80,186,137,17,64,157,121,18,80,156,105,19,64,127,89,20,80,126,73,21,64,97,57,22,80,96,41,23,192,125,34,24,80,66,9,25,192,95,2,26,192,80,242,26,176,51,226,27,192,50,210,28,176,21,194,29,192,20,178,30,176,247,161,31,64,71,118,32,176,217,129,33,64,41,86,34,48,246,106,35,64,11,54,36,48,216,74,37,64,237,21,38,48,186,42,39,192,9,255,39,48,156,10,41,192,235,222,41,48,126,234,42,192,205,190,43,176,154,211,44,192,175,158,45,176,124,179,46,192,145,126,47,176,94,147,48,64,174,103,49,176,64,115,50,64,144,71,51,176,34,83,52,64,114,39,53,176,4,51,54,64,84,7,55,48,33,28,56,64,54,231,56,48,3,252,57,64,24,199,58,48,229,219,59,192,52,176,60,48,199,187,61,192,22,144,62,48,169,155,63,192,248,111,64,176,197,132,65,192,218,79,66,176,167,100,67,192,188,47,68,176,137,68,69,64,239,243,69,48,166,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,94,90,135,125,170,170,170,170,170,170,170,170,170,170,170,170,82,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,12,0,0,0,226,171,0,0,0,0,0,0,98,90,255,255,0,0,0,0,80,101,255,255,0,0,0,0,80,101,255,255,16,14,0,0,96,115,255,255,0,0,0,0,96,115,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,96,115,255,127,1,0,0,96,216,7,0,112,74,30,0,224,78,30,0,224,159,30,0,224,167,30,0,16,189,30,0,224,3,0,0,0,4,0,0,0,60,0,0,0,107,2,0,0,80,0,0,0,192,54,137,203,48,66,97,210,64,99,184,254,48,70,168,255,64,69,152,0,48,40,136,1,64,39,120,2,176,68,113,3,192,67,97,4,176,38,81,5,192,37,65,6,176,8,49,7,192,95,141,7,176,234,16,9,64,219,173,9,176,204,240,10,192,203,224,11,48,233,217,12,192,173,192,13,48,203,185,14,64,202,169,15,48,173,153,16,64,172,137,17,48,143,121,18,64,142,105,19,48,113,89,20,64,112,73,21,48,83,57,22,64,82,41,23,176,111,34,24,64,52,9,25,176,81,2,26,176,66,242,26,160,37,226,27,176,36,210,28,160,7,194,29,176,6,178,30,160,233,161,31,48,57,118,32,160,203,129,33,48,27,86,34,32,232,106,35,48,253,53,36,32,202,74,37,48,223,21,38,32,172,42,39,176,251,254,39,32,142,10,41,176,221,222,41,32,112,234,42,176,191,190,43,160,140,211,44,176,161,158,45,160,110,179,46,176,131,126,47,160,80,147,48,48,160,103,49,160,50,115,50,48,130,71,51,160,20,83,52,48,100,39,53,160,246,50,54,48,70,7,55,32,19,28,56,48,40,231,56,32,245,251,57,48,10,199,58,32,215,219,59,176,38,176,60,32,185,187,61,176,8,144,62,32,155,155,63,176,234,111,64,160,183,132,65,176,204,79,66,160,153,100,67,176,174,47,68,160,123,68,69,48,225,243,69,32,152,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,72,65,135,125,170,170,170,170,170,170,170,170,82,0,0,0,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,12,0,0,0,248,196,0,0,0,0,0,0,96,115,255,255,0,0,0,0,96,115,255,255,16,14,0,0,120,115,255,255,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,112,129,255,127,1,0,0,96,216,7,0,112,215,30,0,224,219,30,0,224,44,31,0,224,51,31,0,16,73,31,0,224,51,0,0,0,48,116,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,48,121,128,48,160,77,29,49,176,32,87,50,32,106,6,51,48,84,56,52,32,193,248,52,48,31,32,54,160,104,207,54,176,198,246,55,32,133,184,56,48,227,223,57,160,44,143,58,176,255,200,59,160,14,111,60,48,145,196,61,160,240,78,62,48,101,131,80,160,57,32,81,51,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,208,210,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,99,31,0,224,151,31,0,16,165,31,0,224,3,0,0,0,2,0,0,0,64,0,0,0,90,0,0,0,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,48,241,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,9,119,71,32,127,220,71,176,162,250,72,32,97,188,73,2,0,0,0,255,255,255,255,76,168,156,114,170,170,170,170,170,170,170,170,61,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,4,5,4,5,4,3,4,5,4,5,4,170,170,170,12,0,0,0,52,201,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,177,31,0,224,181,31,0,224,242,31,0,224,247,31,0,16,8,32,0,224,3,0,0,0,65,0,0,0,66,0,0,0,95,0,0,0,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,64,255,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,48,241,187,64,192,11,213,64,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,44,175,156,114,170,170,170,170,170,170,170,170,61,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,2,5,4,5,4,3,4,2,4,5,4,170,170,170,12,0,0,0,84,194,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,29,32,0,224,33,32,0,224,94,32,0,224,99,32,0,16,116,32,0,224,3,0,0,0,67,0,0,0,102,0,0,0,199,0,0,0,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,64,255,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,9,119,71,32,127,220,71,176,162,250,72,32,97,188,73,170,170,170,170,60,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,4,3,4,1,4,3,4,3,2,3,4,3,4,3,10,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,137,32,0,224,141,32,0,224,203,32,0,16,219,32,0,224,2,0,0,0,68,0,0,0,144,0,0,0,58,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,192,87,42,39,176,219,226,39,64,138,238,40,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,184,174,156,114,170,170,170,170,59,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,2,3,2,5,4,5,4,3,4,5,4,170,12,0,0,0,200,194,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,237,32,0,224,240,32,0,224,43,33,0,224,47,33,0,16,63,33,0,224,61,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,181,205,39,64,38,38,40,48,241,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,48,241,187,64,192,11,213,64,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,44,176,156,114,170,170,170,170,170,170,170,170,62,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,2,4,5,4,5,4,3,4,2,4,5,4,170,170,12,0,0,0,84,193,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,84,33,0,224,146,33,0,224,151,33,0,16,168,33,0,224,2,0,0,0,70,0,0,0,162,0,0,0,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,64,52,25,39,176,195,205,39,192,103,250,40,176,72,176,41,64,225,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,19,176,64,192,62,86,65,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,4,178,156,114,61,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,2,3,2,3,2,5,4,3,4,2,4,5,4,170,170,170,12,0,0,0,124,191,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,188,33,0,224,191,33,0,224,252,33,0,224,255,33,0,16,16,34,0,224,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,48,241,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,48,241,187,64,192,11,213,64,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,100,178,156,114,170,170,170,170,170,170,170,170,61,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,4,5,4,5,4,3,4,2,4,5,4,170,170,170,12,0,0,0,28,191,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,37,34,0,224,98,34,0,224,103,34,0,16,120,34,0,224,58,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,64,255,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,212,174,156,114,170,170,170,170,59,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,2,5,4,5,4,3,4,5,4,170,12,0,0,0,172,194,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,140,34,0,224,199,34,0,224,203,34,0,16,219,34,0,224,61,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,181,205,39,64,38,38,40,48,241,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,159,186,64,64,48,3,65,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,188,177,156,114,170,170,170,170,170,170,170,170,170,170,170,170,62,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,2,4,5,4,5,4,3,4,2,4,5,4,170,170,12,0,0,0,196,191,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,239,34,0,224,45,35,0,224,51,35,0,16,68,35,0,224,61,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,165,253,37,64,52,25,39,176,195,205,39,192,27,71,40,176,198,246,55,176,42,191,56,176,159,186,64,64,48,3,65,176,9,119,71,160,252,147,71,176,82,211,71,64,118,241,72,176,52,179,73,64,88,209,74,2,0,0,0,255,255,255,255,180,175,156,114,170,170,170,170,170,170,170,170,62,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,2,3,2,4,3,4,2,4,5,3,2,3,2,4,170,170,12,0,0,0,204,193,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,88,35,0,224,150,35,0,224,155,35,0,16,172,35,0,224,62,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,64,255,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,48,241,187,64,64,209,203,64,176,9,119,71,32,127,220,71,176,162,250,72,32,97,188,73,2,0,0,0,255,255,255,255,164,174,156,114,170,170,170,170,63,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,2,5,4,5,4,3,4,2,4,5,4,5,4,170,12,0,0,0,220,194,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,192,35,0,224,255,35,0,224,3,36,0,16,20,36,0,224,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,48,241,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,48,78,185,64,192,11,213,64,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,136,177,156,114,170,170,170,170,170,170,170,170,170,170,170,170,61,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,4,5,4,5,4,3,4,2,4,5,4,170,170,170,12,0,0,0,248,191,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,40,36,0,224,101,36,0,224,107,36,0,16,124,36,0,224,80,0,0,0,144,245,23,184,64,218,43,5,176,240,252,7,192,116,207,10,176,202,151,11,192,249,177,12,48,254,120,13,64,45,147,14,176,49,90,15,192,96,116,16,176,67,100,17,64,148,85,18,176,200,70,19,64,25,56,20,48,252,39,21,192,76,25,22,176,47,9,23,64,128,250,23,48,99,234,24,192,179,219,25,48,232,204,26,192,56,190,27,176,27,174,28,64,108,159,29,48,79,143,30,192,159,128,31,176,130,112,32,64,211,97,33,176,7,83,34,64,88,68,35,48,59,52,36,64,59,65,37,176,110,21,38,64,191,6,39,48,162,246,39,64,138,238,40,176,72,176,41,192,189,207,42,48,9,185,43,64,171,171,44,176,12,112,45,192,222,140,46,176,238,79,47,64,18,110,48,48,104,54,49,192,46,87,50,176,178,15,51,192,16,55,52,48,207,248,52,192,242,22,54,176,235,225,54,192,212,246,55,176,205,193,56,192,182,214,57,176,175,161,58,64,211,191,59,48,182,175,60,192,144,113,61,48,152,143,62,64,173,90,63,48,122,111,64,64,238,113,65,176,172,51,66,64,208,81,67,176,142,19,68,64,178,49,69,176,112,243,69,192,206,26,71,176,82,211,71,192,176,250,72,176,52,179,73,192,146,218,74,48,59,193,75,192,255,167,76,48,29,161,77,192,225,135,78,48,255,128,79,64,254,112,80,48,108,78,81,64,224,80,82,170,170,170,170,170,170,170,170,80,0,0,0,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,8,0,0,0,240,201,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,192,199,255,127,106,3,0,96,222,7,0,112,144,36,0,224,227,36,0,16,248,36,0,224,61,0,0,0,28,107,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,48,15,33,39,160,227,189,39,48,241,0,41,32,139,148,41,176,13,234,42,160,50,107,43,48,181,192,44,32,196,102,45,48,151,160,46,32,166,70,47,48,121,128,48,160,77,29,49,176,32,87,50,32,106,6,51,48,84,56,52,32,193,248,52,48,31,32,54,160,104,207,54,176,198,246,55,32,133,184,56,48,227,223,57,160,44,143,58,176,255,200,59,160,14,111,60,48,145,196,61,160,240,78,62,176,72,154,78,32,146,73,79,170,170,170,170,170,170,170,170,61,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,228,219,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,11,37,0,224,75,37,0,16,92,37,0,224,63,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,96,113,234,203,240,180,145,216,128,112,0,0,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,144,18,245,58,0,209,182,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,144,116,15,70,128,65,36,71,16,145,248,71,128,35,4,73,16,115,216,73,128,5,228,74,16,85,184,75,240,19,205,76,0,41,152,77,240,245,172,78,0,11,120,79,240,215,140,80,128,39,97,81,240,185,108,82,128,9,65,83,240,155,76,84,128,235,32,85,240,125,44,86,128,205,0,87,112,154,21,88,128,175,224,88,112,124,245,89,128,145,192,90,112,94,213,91,0,174,169,92,112,64,181,93,0,144,137,94,112,34,149,95,0,114,105,96,240,62,126,97,0,84,73,98,240,32,94,99,170,170,170,170,170,170,170,170,170,170,170,170,63,0,0,0,2,4,2,3,2,4,2,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,12,0,0,0,84,157,255,255,0,0,0,0,128,143,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,104,37,0,224,171,37,0,16,188,37,0,224,15,0,0,0,101,169,64,146,208,203,227,203,224,130,148,204,208,34,214,205,224,77,124,206,208,166,155,207,96,106,101,208,224,242,0,14,208,140,148,14,224,0,151,15,208,110,116,16,224,226,118,17,208,80,84,18,96,255,95,19,80,62,48,20,170,170,170,170,15,0,0,0,1,3,1,3,1,2,1,3,1,3,1,3,1,3,1,170,8,0,0,0,27,200,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,8,7,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,206,37,0,224,223,37,0,16,228,37,0,224,29,0,0,0,116,116,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,170,170,170,170,170,170,170,170,170,170,170,170,29,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,140,210,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,242,37,0,224,19,38,0,16,28,38,0,224,97,0,0,0,176,217,94,147,224,59,159,159,216,81,69,160,224,29,127,161,88,110,46,162,224,255,94,163,88,80,14,164,224,225,62,165,88,50,238,165,96,254,39,167,88,20,206,167,96,224,7,169,88,246,173,169,96,194,231,170,216,18,151,171,96,164,199,172,216,244,118,173,96,134,167,174,216,214,86,175,96,104,135,176,216,184,54,177,224,132,112,178,216,154,22,179,224,102,80,180,216,124,246,180,224,72,48,182,88,153,223,182,224,42,16,184,88,123,191,184,224,12,240,185,88,93,159,186,96,41,217,187,88,63,127,188,96,11,185,189,88,33,95,190,96,237,152,191,88,3,63,192,96,207,120,193,216,31,40,194,96,177,88,195,216,1,8,196,96,147,56,197,216,227,231,197,224,175,33,199,216,197,199,199,224,145,1,201,216,167,167,201,224,115,225,202,88,196,144,203,224,34,64,204,80,113,198,210,96,250,41,214,216,74,217,214,96,220,9,216,216,44,185,216,96,190,233,217,216,14,153,218,224,218,210,219,216,240,120,220,224,188,178,221,216,210,88,222,224,158,146,223,88,239,65,224,224,128,114,225,88,209,33,226,224,98,82,227,88,179,1,228,224,68,50,229,88,149,225,229,96,97,27,231,88,119,193,231,96,67,251,232,88,89,161,233,96,37,219,234,216,117,138,235,96,7,187,236,216,87,106,237,96,233,154,238,216,57,74,239,224,5,132,240,216,27,42,241,224,231,99,242,216,253,9,243,224,201,67,244,216,223,233,244,224,171,35,246,88,252,210,246,224,141,3,248,88,222,178,248,224,111,227,249,88,192,146,250,96,140,204,251,88,162,114,252,96,219,98,7,80,208,185,7,96,113,97,24,80,55,171,24,170,170,170,170,97,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,170,170,170,8,0,0,0,80,173,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,8,7,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,40,38,0,224,139,38,0,16,165,38,0,224,33,0,0,0,224,127,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,192,212,246,55,48,147,184,56,64,241,223,57,176,29,233,57,170,170,170,170,170,170,170,170,33,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,32,199,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,179,38,0,224,215,38,0,16,225,38,0,224,3,0,0,0,112,85,88,152,80,115,3,42,64,137,116,43,170,170,170,170,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,144,186,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,3,0,48,0,66,0,54,0,237,38,0,224,243,38,0,16,245,38,0,224,89,0,0,0,160,72,166,158,144,21,187,159,160,42,134,160,144,247,154,161,32,76,70,168,144,12,137,203,0,24,97,210,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,31,178,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,2,0,0,0,255,255,255,255,192,26,4,94,170,170,170,170,90,0,0,0,1,2,1,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,15,147,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,144,157,255,127,1,0,0,96,216,7,0,112,1,39,0,224,91,39,0,224,95,39,0,16,119,39,0,224,76,0,0,0,128,205,242,161,144,12,137,203,0,24,97,210,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,221,32,8,128,192,16,9,144,191,0,10,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,0,254,230,56,240,202,251,57,80,233,4,58,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,170,170,170,170,76,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,5,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,12,0,0,0,0,0,0,0,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,144,157,255,127,163,3,0,96,216,7,0,112,141,39,0,224,219,39,0,16,239,39,0,224,91,0,0,0,52,122,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,192,30,88,35,48,126,226,35,192,0,56,37,48,213,212,37,64,29,33,39,176,241,189,39,64,255,0,41,48,153,148,41,192,27,234,42,176,64,107,43,64,195,192,44,48,210,102,45,64,165,160,46,48,180,70,47,64,135,128,48,176,91,29,49,192,46,87,50,48,120,6,51,64,98,56,52,48,207,248,52,64,45,32,54,176,118,207,54,192,212,246,55,48,147,184,56,64,241,223,57,176,58,143,58,192,13,201,59,176,28,111,60,64,159,196,61,176,254,78,62,64,12,146,63,176,224,46,64,64,6,135,65,48,253,23,66,64,208,81,67,48,223,247,67,192,97,77,69,176,251,224,69,64,148,17,71,48,163,183,71,192,176,250,72,48,133,151,73,192,146,218,74,176,161,128,75,192,116,186,76,176,131,96,77,192,86,154,78,48,160,73,79,64,115,131,80,176,71,32,81,64,85,99,82,176,41,0,83,64,55,67,84,48,70,233,84,64,25,35,86,48,40,201,86,64,251,2,88,48,10,169,88,64,221,226,89,48,236,136,90,192,110,222,91,48,206,104,92,170,170,170,170,91,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,204,204,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,6,40,0,224,99,40,0,16,123,40,0,224,42,0,0,0,96,218,182,165,96,213,134,22,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,0,196,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,128,4,245,58,240,194,182,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,128,102,15,70,112,51,36,71,0,131,248,71,112,21,4,73,0,101,216,73,112,247,227,74,0,71,184,75,240,19,205,76,0,41,152,77,240,245,172,78,0,11,120,79,240,215,140,80,128,39,97,81,240,185,108,82,128,9,65,83,240,155,76,84,0,221,205,84,170,170,170,170,42,0,0,0,1,3,4,3,4,3,4,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,10,0,0,0,168,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,3,0,48,0,66,0,54,0,135,40,0,224,179,40,0,16,191,40,0,224,4,0,0,0,60,44,30,147,72,236,152,246,112,146,91,71,112,169,37,87,2,0,0,0,255,255,255,255,64,26,135,105,5,0,0,0,2,1,3,1,3,170,170,170,8,0,0,0,64,193,255,255,0,0,0,0,184,192,255,255,0,0,0,0,68,193,255,255,0,0,0,0,192,199,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,207,40,0,224,212,40,0,224,215,40,0,16,218,40,0,224,2,0,0,0,144,43,244,145,192,53,195,251,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,240,206,255,255,0,0,0,0,192,199,255,255,0,0,0,0,208,213,255,255,0,0,0,0,3,0,48,0,66,0,54,0,234,40,0,224,239,40,0,16,241,40,0,224,3,0,0,0,98,0,0,0,127,1,0,0,110,2,0,0,174,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,0,116,203,162,240,247,131,163,128,210,69,164,240,217,99,165,0,217,83,166,112,151,21,167,0,187,51,168,240,179,254,168,0,157,19,170,240,149,222,170,0,127,243,171,240,119,190,172,0,97,211,173,240,89,158,174,0,67,179,175,240,59,126,176,128,95,156,177,112,88,103,178,128,65,124,179,112,58,71,180,128,35,92,181,112,28,39,182,128,5,60,183,112,254,6,184,128,231,27,185,112,224,230,185,0,4,5,187,112,194,198,187,0,230,228,188,240,222,175,189,0,200,196,190,240,192,143,191,0,214,90,192,112,60,176,193,0,140,132,194,240,132,79,195,0,110,100,196,240,102,47,197,128,138,77,198,240,72,15,199,128,108,45,200,112,101,248,200,128,78,13,202,112,71,216,202,128,254,136,203,240,9,97,210,0,243,117,211,240,235,64,212,0,213,85,213,240,205,32,214,0,183,53,215,240,175,0,216,0,153,21,217,240,145,224,217,128,181,254,218,240,115,192,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,240,60,87,229,0,60,71,230,240,30,55,231,0,30,39,232,240,0,23,233,0,0,7,234,240,226,246,234,0,226,230,235,240,196,214,236,0,196,198,237,112,225,191,238,128,224,175,239,112,195,159,240,128,194,143,241,112,165,127,242,128,164,111,243,112,135,95,244,128,134,79,245,112,105,63,246,128,104,47,247,240,133,40,248,128,74,15,249,240,103,8,250,0,103,248,250,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,160,254,3,94,175,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,8,0,0,0,212,173,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,171,255,127,1,0,0,96,216,7,0,112,253,40,0,224,1,41,0,224,176,41,0,224,179,41,0,16,224,41,0,224,60,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,144,18,245,58,0,209,182,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,144,116,15,70,128,65,36,71,16,145,248,71,128,35,4,73,16,115,216,73,128,5,228,74,16,85,184,75,0,34,205,76,16,55,152,77,0,4,173,78,16,25,120,79,0,230,140,80,144,53,97,81,0,200,108,82,144,23,65,83,0,170,76,84,144,249,32,85,0,140,44,86,144,219,0,87,128,168,21,88,144,189,224,88,128,138,245,89,144,159,192,90,128,108,213,91,16,188,169,92,128,78,181,93,16,158,137,94,128,48,149,95,16,128,105,96,0,77,126,97,16,98,73,98,0,47,94,99,60,0,0,0,1,3,1,2,1,3,4,3,4,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,10,0,0,0,140,156,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,246,41,0,224,51,42,0,16,67,42,0,224,63,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,144,18,245,58,0,209,182,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,144,116,15,70,128,65,36,71,16,145,248,71,128,35,4,73,16,115,216,73,128,5,228,74,144,165,156,75,128,92,214,76,144,135,124,77,128,62,182,78,144,105,92,79,128,32,150,80,144,75,60,81,128,2,118,82,144,45,28,83,128,228,85,84,144,15,252,84,128,198,53,86,16,44,229,86,0,227,30,88,16,14,197,88,0,197,254,89,16,240,164,90,0,167,222,91,16,210,132,92,0,137,190,93,16,180,100,94,0,107,158,95,144,208,77,96,128,135,135,97,144,178,45,98,0,47,94,99,96,241,134,99,144,148,13,100,128,75,71,101,63,0,0,0,1,3,1,2,1,3,4,3,4,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,1,2,1,170,10,0,0,0,44,156,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,144,157,255,127,1,0,0,96,232,7,0,112,83,42,0,224,147,42,0,16,164,42,0,224,9,0,0,0,77,22,232,163,96,73,54,17,80,110,183,17,96,43,22,19,80,80,151,19,96,224,151,39,208,182,110,40,96,194,119,41,208,217,194,41,9,0,0,0,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,51,177,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,185,42,0,224,195,42,0,16,199,42,0,224,89,0,0,0,148,123,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,192,30,88,35,48,126,226,35,192,0,56,37,48,213,212,37,64,29,33,39,176,241,189,39,64,255,0,41,48,153,148,41,192,27,234,42,176,64,107,43,64,195,192,44,48,210,102,45,64,165,160,46,48,180,70,47,64,135,128,48,176,91,29,49,192,46,87,50,48,120,6,51,64,98,56,52,48,207,248,52,64,45,32,54,176,118,207,54,192,212,246,55,48,147,184,56,64,241,223,57,176,58,143,58,192,13,201,59,176,28,111,60,64,159,196,61,176,254,78,62,64,6,135,65,48,253,23,66,64,208,81,67,48,223,247,67,192,97,77,69,176,251,224,69,64,148,17,71,48,163,183,71,192,176,250,72,48,133,151,73,192,146,218,74,176,161,128,75,192,116,186,76,176,131,96,77,192,86,154,78,48,160,73,79,64,115,131,80,176,71,32,81,64,85,99,82,176,41,0,83,64,55,67,84,48,70,233,84,64,25,35,86,48,40,201,86,64,251,2,88,48,10,169,88,64,221,226,89,48,236,136,90,192,110,222,91,48,206,104,92,170,170,170,170,170,170,170,170,89,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,108,203,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,211,42,0,224,47,43,0,16,71,43,0,224,34,0,0,0,0,73,128,155,80,124,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,48,78,231,48,170,170,170,170,34,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,8,0,0,0,128,238,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,0,0,0,0,0,0,0,0,3,0,48,0,66,0,54,0,83,43,0,224,119,43,0,16,129,43,0,224,91,0,0,0,176,203,184,158,160,35,187,159,176,12,208,160,128,210,162,161,176,40,137,203,32,52,97,210,144,118,47,247,16,162,40,248,144,236,48,7,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,32,181,211,71,16,108,13,73,32,151,179,73,16,78,237,74,160,179,156,75,144,106,214,76,160,149,124,77,144,76,182,78,160,119,92,79,144,46,150,80,160,89,60,81,144,16,118,82,160,59,28,83,144,242,85,84,160,29,252,84,144,212,53,86,32,58,229,86,16,241,30,88,32,28,197,88,16,211,254,89,32,254,164,90,16,181,222,91,32,224,132,92,16,151,190,93,32,194,100,94,240,92,158,95,2,0,0,0,255,255,255,255,180,142,134,125,170,170,170,170,92,0,0,0,1,2,1,2,1,2,1,3,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,6,14,0,0,0,76,125,255,255,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,112,129,255,255,32,28,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,143,43,0,224,235,43,0,224,239,43,0,16,7,44,0,224,56,0,0,0,160,189,184,158,144,21,187,159,160,26,137,203,16,38,97,210,32,241,85,213,16,234,32,214,32,211,53,215,16,204,0,216,32,181,21,217,16,174,224,217,160,209,254,218,16,144,192,219,160,179,222,220,144,172,169,221,160,149,190,222,144,142,137,223,160,119,158,224,144,112,105,225,160,89,126,226,144,82,73,227,160,59,94,228,144,52,41,229,32,88,71,230,16,81,18,231,32,58,39,232,16,51,242,232,32,28,7,234,16,21,210,234,32,254,230,235,16,247,177,236,32,224,198,237,16,217,145,238,160,252,175,239,16,187,113,240,160,222,143,241,144,193,127,242,160,192,111,243,144,163,95,244,160,162,79,245,144,133,63,246,160,132,47,247,16,162,40,248,160,102,15,249,16,132,8,250,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,240,1,5,2,0,0,0,255,255,255,255,56,116,61,94,170,170,170,170,170,170,170,170,57,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,170,170,170,8,0,0,0,72,143,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,29,44,0,224,86,44,0,224,91,44,0,16,107,44,0,224,4,0,0,0,110,0,0,0,206,0,0,0,35,2,0,0,116,2,0,0,96,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,254,101,162,0,6,132,163,144,224,69,164,128,166,143,164,144,12,137,203,0,24,97,210,144,118,47,247,0,148,40,248,144,88,15,249,0,118,8,250,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,2,0,0,0,255,255,255,255,176,12,4,94,170,170,170,170,170,170,170,170,170,170,170,170,97,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,148,157,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,144,157,255,127,1,0,0,96,216,7,0,112,123,44,0,224,128,44,0,224,225,44,0,224,231,44,0,16,1,45,0,224,2,0,0,0,111,0,0,0,115,2,0,0,80,0,0,0,91,34,189,133,0,148,60,153,112,240,136,203,224,251,96,210,240,168,53,215,224,161,0,216,140,144,51,251,224,59,232,251,240,58,216,252,224,29,200,253,112,223,64,6,96,194,48,7,112,25,141,7,96,164,16,9,112,163,0,10,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,170,170,170,170,170,170,170,170,80,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,8,0,0,0,37,178,255,255,0,0,0,0,160,171,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,176,185,255,127,1,0,0,96,216,7,0,112,21,45,0,224,24,45,0,224,107,45,0,16,128,45,0,224,3,0,0,0,113,0,0,0,226,0,0,0,134,1,0,0,89,0,0,0,224,206,222,136,144,175,184,158,128,7,187,159,144,145,152,160,128,133,210,160,144,232,138,162,0,6,132,163,144,202,106,164,128,195,53,165,16,231,83,166,128,165,21,167,16,201,51,168,0,194,254,168,144,12,137,203,0,24,97,210,16,227,85,213,0,220,32,214,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,221,32,8,128,192,16,9,144,191,0,10,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,170,170,170,170,89,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,160,149,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,144,157,255,127,163,3,0,96,216,7,0,112,148,45,0,224,152,45,0,224,243,45,0,16,11,46,0,224,33,0,0,0,128,136,170,150,0,102,15,184,192,92,253,184,80,80,241,185,64,144,222,186,80,202,56,218,80,22,236,218,208,253,25,220,64,117,185,220,80,49,251,221,64,250,155,222,80,182,221,223,64,79,84,224,208,27,152,244,64,122,5,245,80,128,192,246,192,58,14,247,80,72,81,248,64,225,199,248,208,238,10,250,192,20,169,250,80,34,236,251,192,153,139,252,80,170,201,29,192,243,120,30,208,81,160,31,192,235,51,32,80,133,129,33,192,228,11,34,80,209,192,44,64,224,102,45,80,127,96,72,192,4,127,82,33,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,170,170,170,8,0,0,0,128,190,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,192,199,255,255,0,0,0,0,3,0,48,0,66,0,54,0,29,46,0,224,63,46,0,16,73,46,0,224,5,0,0,0,32,166,213,163,224,220,154,32,80,155,92,33,224,190,122,34,80,125,60,35,170,170,170,170,170,170,170,170,5,0,0,0,1,2,1,2,1,170,170,170,6,0,0,0,96,172,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,87,46,0,224,95,46,0,16,98,46,0,224,141,0,0,0,160,189,184,158,144,21,187,159,160,26,137,203,16,38,97,210,32,241,85,213,16,234,32,214,32,211,53,215,16,204,0,216,32,181,21,217,16,174,224,217,160,209,254,218,16,144,192,219,160,179,222,220,144,172,169,221,160,149,190,222,144,142,137,223,160,119,158,224,144,112,105,225,160,89,126,226,144,82,73,227,160,59,94,228,144,52,41,229,32,88,71,230,16,81,18,231,32,58,39,232,16,51,242,232,32,28,7,234,16,21,210,234,32,254,230,235,16,247,177,236,32,224,198,237,16,217,145,238,160,252,175,239,16,187,113,240,160,222,143,241,144,193,127,242,160,192,111,243,144,163,95,244,160,162,79,245,144,133,63,246,160,132,47,247,16,162,40,248,160,102,15,249,16,132,8,250,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,235,32,8,144,206,16,9,160,205,0,10,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,32,181,211,71,16,108,13,73,32,151,179,73,16,78,237,74,160,179,156,75,144,106,214,76,160,149,124,77,144,76,182,78,160,119,92,79,144,46,150,80,160,89,60,81,144,16,118,82,160,59,28,83,144,242,85,84,160,29,252,84,2,0,0,0,255,255,255,255,135,118,61,94,142,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,8,0,0,0,249,140,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,110,46,0,224,252,46,0,224,255,46,0,16,36,47,0,224,39,0,0,0,24,107,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,176,198,246,55,32,133,184,56,48,227,223,57,32,74,242,57,176,255,200,59,160,14,111,60,170,170,170,170,170,170,170,170,170,170,170,170,39,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,232,219,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,52,47,0,224,95,47,0,16,106,47,0,224,79,0,0,0,52,168,241,128,96,133,184,158,80,221,186,159,96,226,136,203,208,237,96,210,96,63,158,224,80,56,105,225,96,239,96,4,80,210,80,5,96,209,64,6,80,180,48,7,96,179,32,8,80,150,16,9,96,149,0,10,80,120,240,10,96,119,224,11,208,148,217,12,96,89,192,13,208,118,185,14,224,117,169,15,208,88,153,16,224,87,137,17,208,58,121,18,224,57,105,19,208,28,89,20,224,27,73,21,208,254,56,22,224,253,40,23,80,27,34,24,224,223,8,25,80,253,1,26,96,252,241,26,80,223,225,27,96,222,209,28,80,193,193,29,96,192,177,30,80,163,161,31,224,242,117,32,80,133,129,33,224,212,85,34,208,161,106,35,224,182,53,36,208,131,74,37,224,152,21,38,208,101,42,39,96,181,254,39,208,71,10,41,96,151,222,41,208,41,234,42,96,121,190,43,80,70,211,44,96,91,158,45,80,40,179,46,96,61,126,47,80,10,147,48,224,89,103,49,80,236,114,50,224,59,71,51,80,206,82,52,224,29,39,53,80,176,50,54,224,255,6,55,208,204,27,56,224,225,230,56,208,174,251,57,224,195,198,58,208,144,219,59,96,224,175,60,208,114,187,61,96,194,143,62,208,84,155,63,96,164,111,64,80,113,132,65,96,134,79,66,80,83,100,67,96,104,47,68,80,53,68,69,224,154,243,69,208,81,45,71,170,170,170,170,79,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,204,199,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,192,199,255,127,163,3,0,96,216,7,0,112,118,47,0,224,199,47,0,16,220,47,0,224,152,0,0,0,140,126,184,158,124,214,186,159,108,77,158,190,56,49,184,192,168,239,121,193,56,19,152,194,168,209,89,195,56,245,119,196,168,179,57,197,184,17,97,198,168,149,25,199,184,243,64,200,40,178,2,201,184,213,32,202,40,148,226,202,184,183,0,204,200,230,96,210,216,68,136,211,72,3,74,212,216,38,104,213,72,229,41,214,216,8,72,215,72,199,9,216,216,234,39,217,72,169,233,217,88,7,17,219,200,197,210,219,88,116,222,220,72,109,169,221,88,86,190,222,72,79,137,223,88,56,158,224,72,49,105,225,88,26,126,226,72,19,73,227,88,252,93,228,72,245,40,229,216,24,71,230,200,17,18,231,216,250,38,232,200,243,241,232,216,220,6,234,200,213,209,234,216,190,230,235,200,183,177,236,216,160,198,237,72,190,191,238,88,189,175,239,72,160,159,240,88,159,143,241,72,130,127,242,88,129,111,243,72,100,95,244,88,99,79,245,72,70,63,246,88,69,47,247,200,98,40,248,88,107,218,248,96,46,15,249,208,75,8,250,224,74,248,250,208,45,232,251,224,44,216,252,208,15,200,253,224,14,184,254,208,241,167,255,224,240,151,0,208,211,135,1,224,210,119,2,80,240,112,3,96,239,96,4,80,210,80,5,96,209,64,6,80,180,48,7,96,179,32,8,80,150,16,9,96,149,0,10,80,120,240,10,96,119,224,11,208,148,217,12,96,89,192,13,208,118,185,14,224,117,169,15,208,88,153,16,224,87,137,17,208,58,121,18,224,57,105,19,208,28,89,20,224,27,73,21,208,254,56,22,224,253,40,23,80,27,34,24,224,223,8,25,80,253,1,26,96,252,241,26,80,223,225,27,96,222,209,28,80,193,193,29,96,192,177,30,80,163,161,31,252,214,117,32,108,105,129,33,252,184,85,34,220,119,106,35,252,154,53,36,236,103,74,37,252,124,21,38,236,73,42,39,124,153,254,39,236,43,10,41,124,123,222,41,236,13,234,42,124,93,190,43,108,42,211,44,124,63,158,45,108,12,179,46,124,33,126,47,108,238,146,48,252,61,103,49,108,208,114,50,252,31,71,51,108,178,82,52,252,1,39,53,108,148,50,54,252,227,6,55,236,176,27,56,252,197,230,56,236,146,251,57,252,167,198,58,236,116,219,59,124,196,175,60,236,86,187,61,124,166,143,62,236,56,155,63,124,136,111,64,108,85,132,65,124,106,79,66,108,55,100,67,124,76,47,68,108,25,68,69,252,126,243,69,236,53,45,71,252,96,211,71,236,23,13,73,252,66,179,73,236,249,236,74,124,95,156,75,108,22,214,76,124,65,124,77,80,20,182,78,96,63,92,79,80,246,149,80,2,0,0,0,255,255,255,255,36,60,61,94,170,170,170,170,170,170,170,170,153,0,0,0,4,5,4,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,16,0,0,0,92,199,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,192,199,255,255,32,28,0,0,148,206,255,255,0,0,0,0,148,206,255,255,16,14,0,0,200,206,255,255,0,0,0,0,200,206,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,192,199,255,127,163,3,0,96,221,7,0,112,237,47,0,224,134,48,0,224,139,48,0,16,179,48,0,224,76,0,0,0,254,180,15,147,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,240,138,211,71,224,65,13,73,240,108,179,73,224,35,237,74,112,137,156,75,96,64,214,76,112,107,124,77,96,34,182,78,112,77,92,79,96,4,150,80,112,47,60,81,96,230,117,82,112,17,28,83,96,200,85,84,112,243,251,84,240,211,164,90,224,138,222,91,2,0,0,0,255,255,255,255,48,30,135,105,77,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,3,2,170,170,170,10,0,0,0,80,189,255,255,0,0,0,0,2,184,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,192,199,255,255,0,0,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,227,7,0,112,207,48,0,224,28,49,0,224,31,49,0,16,52,49,0,224,9,0,0,0,220,234,157,159,96,172,85,7,208,150,205,7,96,120,44,25,80,228,207,25,224,238,234,39,208,92,200,40,96,82,84,68,80,75,31,69,170,170,170,170,170,170,170,170,170,170,170,170,9,0,0,0,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,36,171,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,74,49,0,224,87,49,0,16,91,49,0,224,3,0,0,0,24,66,164,182,208,252,22,43,64,230,113,43,2,0,0,0,255,255,255,255,88,38,135,105,170,170,170,170,4,0,0,0,1,2,3,2,8,0,0,0,40,181,255,255,0,0,0,0,104,182,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,103,49,0,224,107,49,0,224,111,49,0,16,113,49,0,224,4,0,0,0,135,15,29,146,64,123,217,152,188,5,127,10,192,64,213,41,170,170,170,170,4,0,0,0,1,2,3,1,8,0,0,0,121,201,255,255,0,0,0,0,192,199,255,255,0,0,0,0,68,203,255,255,0,0,0,0,208,213,255,255,0,0,0,0,3,0,48,0,66,0,54,0,129,49,0,224,135,49,0,16,137,49,0,224,2,0,0,0,129,0,0,0,130,1,0,0,167,0,0,0,160,171,241,128,192,222,228,154,48,19,214,155,96,133,184,158,80,221,186,159,64,23,157,162,48,177,48,163,64,86,122,164,48,31,27,165,192,160,83,166,176,82,252,166,64,189,60,168,176,52,220,168,64,159,28,170,48,58,205,170,64,129,252,171,48,145,191,172,64,216,238,173,48,254,140,174,64,69,188,175,48,85,127,176,64,156,174,177,176,112,75,178,64,126,142,179,48,187,36,180,64,96,110,181,176,192,21,182,64,66,78,183,176,23,8,184,192,233,36,185,176,249,231,185,192,203,4,187,48,22,209,187,64,93,0,189,176,49,157,189,64,180,242,190,48,218,144,191,192,231,211,192,48,71,94,193,64,142,141,194,48,158,80,195,64,112,109,196,48,128,48,197,64,60,114,198,48,98,16,199,192,110,54,200,176,126,249,200,192,80,22,202,176,96,217,202,96,226,136,203,208,237,96,210,224,214,117,211,208,207,64,212,224,184,85,213,208,177,32,214,224,154,53,215,208,147,0,216,224,124,21,217,208,117,224,217,96,123,222,220,80,116,169,221,96,93,190,222,80,86,137,223,96,63,158,224,80,56,105,225,96,33,126,226,80,26,73,227,224,31,71,230,208,24,18,231,224,1,39,232,208,250,241,232,224,227,6,234,208,220,209,234,224,197,230,235,208,190,177,236,96,166,143,241,80,137,127,242,96,136,111,243,80,107,95,244,96,106,79,245,80,77,63,246,96,76,47,247,208,105,40,248,96,46,15,249,208,75,8,250,224,74,248,250,208,45,232,251,224,44,216,252,208,15,200,253,224,14,184,254,208,241,167,255,224,240,151,0,208,211,135,1,224,210,119,2,80,240,112,3,96,239,96,4,80,210,80,5,96,209,64,6,80,180,48,7,96,179,32,8,80,150,16,9,96,149,0,10,80,120,240,10,96,119,224,11,208,148,217,12,96,89,192,13,208,118,185,14,224,117,169,15,208,88,153,16,224,87,137,17,208,58,121,18,224,57,105,19,208,28,89,20,224,27,73,21,208,254,56,22,224,253,40,23,80,27,34,24,224,223,8,25,80,253,1,26,96,252,241,26,80,223,225,27,96,222,209,28,80,193,193,29,96,192,177,30,80,163,161,31,224,242,117,32,80,133,129,33,224,212,85,34,208,161,106,35,224,182,53,36,208,131,74,37,224,152,21,38,208,101,42,39,96,181,254,39,208,71,10,41,96,151,222,41,208,41,234,42,96,121,190,43,80,70,211,44,96,91,158,45,80,40,179,46,96,61,126,47,80,10,147,48,224,89,103,49,80,236,114,50,224,59,71,51,80,206,82,52,224,29,39,53,80,176,50,54,224,255,6,55,208,204,27,56,224,225,230,56,208,174,251,57,224,195,198,58,208,144,219,59,96,224,175,60,208,114,187,61,96,194,143,62,208,84,155,63,96,164,111,64,80,113,132,65,96,134,79,66,80,83,100,67,96,104,47,68,80,53,68,69,224,154,243,69,208,81,45,71,170,170,170,170,167,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,96,196,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,192,199,255,127,163,3,0,96,216,7,0,112,151,49,0,224,154,49,0,224,67,50,0,16,110,50,0,224,2,0,0,0,130,0,0,0,141,1,0,0,107,0,0,0,128,194,98,172,80,148,211,177,64,93,116,178,208,102,91,200,64,81,211,200,208,72,59,202,192,109,188,202,80,101,36,204,192,79,156,204,80,11,196,209,192,245,59,210,80,237,163,211,192,215,27,212,208,5,96,247,64,125,255,247,208,68,61,249,192,83,227,249,208,59,219,250,64,134,167,251,208,169,197,252,64,104,135,253,208,0,184,254,192,227,167,255,208,226,151,0,192,197,135,1,208,196,119,2,64,226,112,3,80,225,96,4,192,20,53,5,80,195,64,6,64,72,22,7,80,165,32,8,192,123,247,8,80,135,0,10,64,106,240,10,80,105,224,11,192,134,217,12,80,75,192,13,192,104,185,14,80,162,178,15,64,155,125,16,208,234,81,17,192,183,102,18,208,204,49,19,192,153,70,20,208,130,91,21,192,123,38,22,208,100,59,23,192,93,6,24,208,70,27,25,192,63,230,25,208,40,251,26,64,92,207,27,208,10,219,28,64,62,175,29,80,83,122,30,64,32,143,31,80,53,90,32,64,2,111,33,208,81,67,34,64,228,78,35,208,51,35,36,64,198,46,37,208,138,21,38,192,226,23,39,80,167,254,39,208,210,247,40,80,137,222,41,208,180,215,42,80,107,190,43,208,150,183,44,80,77,158,45,208,120,151,46,80,47,126,47,208,90,119,48,208,75,103,49,208,60,87,50,208,45,71,51,80,89,64,52,80,213,29,53,80,176,50,54,80,183,253,54,208,204,27,56,208,211,230,56,208,174,251,57,208,181,198,58,208,144,219,59,80,210,175,60,208,114,187,61,80,180,143,62,208,84,155,63,208,91,102,64,80,53,68,69,208,140,243,69,80,23,36,71,80,169,220,71,80,249,3,73,208,80,179,73,80,219,227,74,80,109,156,75,208,247,204,76,208,137,133,77,208,78,191,78,208,224,119,79,80,246,149,80,80,19,60,81,80,216,117,82,2,0,0,0,255,255,255,255,184,40,135,105,170,170,170,170,108,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,8,0,0,0,200,178,255,255,0,0,0,0,192,178,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,176,185,255,127,96,3,0,96,222,7,0,112,128,50,0,224,131,50,0,224,239,50,0,224,243,50,0,16,15,51,0,224,15,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,96,113,234,203,240,180,145,216,128,112,0,0,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,170,170,170,170,170,170,170,170,15,0,0,0,2,4,2,3,2,4,2,1,2,3,2,3,2,3,2,170,10,0,0,0,248,151,255,255,0,0,0,0,128,143,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,3,0,48,0,66,0,54,0,37,51,0,224,55,51,0,16,60,51,0,224,5,0,0,0,118,0,0,0,132,0,0,0,140,0,0,0,3,2,0,0,111,2,0,0,37,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,34,87,202,112,71,216,202,128,254,136,203,240,9,97,210,0,243,117,211,240,235,64,212,0,213,85,213,240,205,32,214,0,183,53,215,240,175,0,216,0,153,21,217,240,145,224,217,128,181,254,218,240,115,192,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,240,22,242,232,0,0,7,234,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,160,254,3,94,38,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,58,175,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,176,185,255,127,1,0,0,96,216,7,0,112,76,51,0,224,82,51,0,224,120,51,0,224,123,51,0,16,134,51,0,224,3,0,0,0,133,0,0,0,148,0,0,0,114,2,0,0,92,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,213,85,213,240,205,32,214,0,183,53,215,240,175,0,216,0,153,21,217,240,145,224,217,128,181,254,218,240,115,192,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,240,60,87,229,0,60,71,230,240,30,55,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,196,214,236,0,196,198,237,112,225,191,238,128,224,175,239,112,195,159,240,128,194,143,241,112,135,95,244,0,103,248,250,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,112,118,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,93,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,1,170,170,170,8,0,0,0,202,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,171,255,127,1,0,0,96,216,7,0,112,158,51,0,224,162,51,0,224,255,51,0,224,3,52,0,16,28,52,0,224,41,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,128,151,222,220,112,144,169,221,128,61,126,226,112,54,73,227,128,31,94,228,112,24,41,229,0,60,71,230,240,52,18,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,218,177,236,0,196,198,237,240,188,145,238,128,224,175,239,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,25,141,7,112,178,16,9,240,148,173,9,96,134,240,10,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,160,254,3,94,42,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,4,3,4,3,4,3,2,3,4,3,4,3,4,3,170,170,10,0,0,0,13,175,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,216,7,0,112,50,52,0,224,92,52,0,224,95,52,0,16,107,52,0,224,56,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,224,61,103,228,112,24,41,229,0,60,71,230,240,52,18,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,218,177,236,0,196,198,237,240,188,145,238,128,224,175,239,112,195,159,240,128,194,143,241,112,165,127,242,128,164,111,243,112,135,95,244,128,134,79,245,112,105,63,246,128,104,47,247,240,103,8,250,0,103,248,250,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,112,118,47,68,112,81,68,69,0,183,243,69,240,109,45,71,240,138,211,71,224,65,13,73,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,57,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,3,4,3,170,170,170,10,0,0,0,45,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,217,7,0,112,129,52,0,224,186,52,0,224,191,52,0,16,207,52,0,224,36,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,224,61,103,228,112,24,41,229,0,60,71,230,240,52,18,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,218,177,236,0,196,198,237,240,188,145,238,128,224,175,239,112,195,159,240,128,194,143,241,112,165,127,242,128,164,111,243,112,135,95,244,128,134,79,245,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,224,255,167,255,240,254,151,0,224,225,135,1,112,118,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,37,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,4,3,4,3,2,1,2,1,170,170,170,10,0,0,0,169,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,171,255,127,1,0,0,96,216,7,0,112,229,52,0,224,10,53,0,224,15,53,0,16,26,53,0,224,19,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,128,61,126,226,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,160,254,3,94,20,0,0,0,1,2,1,2,1,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,10,0,0,0,64,176,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,216,7,0,112,48,53,0,224,68,53,0,224,71,53,0,16,77,53,0,224,41,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,243,117,211,240,235,64,212,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,224,61,103,228,112,24,41,229,0,60,71,230,240,52,18,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,218,177,236,0,196,198,237,112,225,191,238,128,224,175,239,240,158,113,240,128,194,143,241,112,165,127,242,128,164,111,243,112,135,95,244,128,134,79,245,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,112,118,47,68,112,81,68,69,0,183,243,69,240,109,45,71,240,138,211,71,224,65,13,73,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,170,170,170,170,42,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,2,1,2,3,4,3,170,170,10,0,0,0,241,173,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,217,7,0,112,99,53,0,224,141,53,0,224,147,53,0,16,159,53,0,224,47,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,243,117,211,240,235,64,212,0,213,85,213,240,205,32,214,0,183,53,215,240,175,0,216,0,153,21,217,240,145,224,217,128,181,254,218,240,115,192,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,240,60,87,229,0,60,71,230,240,30,55,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,218,177,236,0,196,198,237,240,188,145,238,128,224,175,239,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,112,118,47,68,112,81,68,69,0,183,243,69,224,95,45,71,240,138,211,71,224,65,13,73,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,170,170,170,170,48,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,2,1,4,3,4,3,10,0,0,0,207,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,217,7,0,112,181,53,0,224,229,53,0,224,235,53,0,16,248,53,0,224,73,0,0,0,128,78,6,224,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,235,32,8,144,206,16,9,160,205,0,10,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,170,170,170,170,170,170,170,170,170,170,170,170,73,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,170,10,0,0,0,0,0,0,0,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,144,157,255,127,163,3,0,96,216,7,0,112,14,54,0,224,91,54,0,16,111,54,0,224,2,0,0,0,142,0,0,0,184,0,0,0,74,0,0,0,128,161,108,204,224,251,96,210,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,193,32,8,96,164,16,9,112,163,0,10,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,0,254,230,56,240,202,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,170,170,170,170,74,0,0,0,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,0,0,0,0,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,176,185,255,127,163,3,0,96,216,7,0,112,132,54,0,224,135,54,0,224,211,54,0,16,231,54,0,224,2,0,0,0,143,0,0,0,20,2,0,0,21,0,0,0,254,180,15,147,112,25,141,7,96,164,16,9,240,148,173,9,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,170,170,170,170,21,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,2,184,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,253,54,0,224,0,55,0,224,23,55,0,16,30,55,0,224,80,0,0,0,160,26,137,203,16,38,97,210,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,206,16,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,32,99,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,176,66,242,26,160,37,226,27,176,36,210,28,160,7,194,29,176,6,178,30,160,233,161,31,48,57,118,32,160,203,129,33,48,27,86,34,32,232,106,35,48,253,53,36,32,202,74,37,48,223,21,38,32,172,42,39,176,251,254,39,32,142,10,41,176,221,222,41,32,112,234,42,176,191,190,43,160,140,211,44,176,161,158,45,160,110,179,46,176,131,126,47,160,80,147,48,48,160,103,49,160,50,115,50,48,130,71,51,160,20,83,52,48,100,39,53,160,246,50,54,48,70,7,55,32,19,28,56,48,40,231,56,32,245,251,57,48,10,199,58,32,215,219,59,176,38,176,60,32,185,187,61,176,8,144,62,32,155,155,63,176,234,111,64,160,183,132,65,176,204,79,66,160,153,100,67,176,174,47,68,160,123,68,69,48,225,243,69,32,152,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,197,50,135,125,170,170,170,170,82,0,0,0,3,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,2,4,5,4,5,4,5,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,12,0,0,0,123,211,0,0,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,251,129,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,112,129,255,127,1,0,0,96,216,7,0,112,44,55,0,224,125,55,0,224,131,55,0,16,153,55,0,224,2,0,0,0,146,0,0,0,153,0,0,0,116,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,0,247,115,164,112,17,22,165,128,78,13,202,112,71,216,202,128,254,136,203,240,9,97,210,28,215,117,211,112,9,164,211,128,181,254,218,240,115,192,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,112,24,41,229,0,60,71,230,240,30,55,231,0,30,39,232,240,0,23,233,0,0,7,234,240,226,246,234,0,226,230,235,240,196,214,236,0,196,198,237,112,225,191,238,128,224,175,239,112,144,30,240,240,58,216,252,224,29,200,253,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,25,141,7,112,178,16,9,240,148,173,9,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,170,170,170,170,117,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,170,10,0,0,0,154,175,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,176,185,255,127,1,0,0,96,216,7,0,112,177,55,0,224,180,55,0,224,41,56,0,224,47,56,0,16,78,56,0,224,86,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,170,170,170,170,87,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,10,0,0,0,116,176,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,216,7,0,112,102,56,0,224,189,56,0,224,195,56,0,16,218,56,0,224,2,0,0,0,228,150,30,184,212,213,238,184,2,0,0,0,1,2,170,170,6,0,0,0,28,192,255,255,0,0,0,0,28,192,255,255,16,14,0,0,192,199,255,255,0,0,0,0,3,0,48,0,66,0,54,0,240,56,0,224,243,56,0,16,245,56,0,224,15,0,0,0,212,64,116,140,80,74,207,195,64,227,69,196,208,74,47,197,192,45,31,198,208,44,15,199,192,15,255,199,80,196,24,30,64,93,143,30,208,247,249,31,192,144,112,32,208,227,158,37,192,124,21,38,80,3,37,45,64,156,155,45,2,0,0,0,255,255,255,255,188,35,135,105,170,170,170,170,170,170,170,170,170,170,170,170,16,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,8,0,0,0,196,183,255,255,0,0,0,0,172,183,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,1,57,0,224,17,57,0,224,23,57,0,16,28,57,0,224,4,0,0,0,152,0,0,0,40,2,0,0,117,2,0,0,118,2,0,0,124,0,0,0,160,72,166,158,144,21,187,159,160,42,134,160,144,247,154,161,160,26,137,203,16,38,97,210,92,116,254,214,144,173,128,216,144,195,254,218,16,144,192,219,144,165,222,220,144,172,169,221,144,135,190,222,144,142,137,223,144,105,158,224,144,112,105,225,144,75,126,226,144,82,73,227,144,45,94,228,144,52,41,229,16,74,71,230,16,81,18,231,16,44,39,232,16,51,242,232,16,14,7,234,16,21,210,234,16,240,230,235,16,247,177,236,16,210,198,237,16,217,145,238,144,238,175,239,16,187,113,240,144,208,143,241,144,193,127,242,144,178,111,243,144,163,95,244,144,148,79,245,144,133,63,246,144,118,47,247,16,162,40,248,144,88,15,249,16,132,8,250,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,206,16,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,2,0,0,0,255,255,255,255,192,26,4,94,170,170,170,170,170,170,170,170,125,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,38,145,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,128,143,255,127,1,0,0,96,216,7,0,112,44,57,0,224,49,57,0,224,174,57,0,224,179,57,0,16,212,57,0,224,41,0,0,0,124,104,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,48,121,128,48,160,77,29,49,176,198,246,55,32,133,184,56,48,227,223,57,32,74,242,57,176,255,200,59,160,14,111,60,170,170,170,170,41,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,132,222,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,232,57,0,224,19,58,0,16,31,58,0,224,15,0,0,0,232,72,45,189,96,116,67,6,80,62,164,9,224,248,81,17,80,111,212,17,224,218,49,19,80,81,180,19,32,145,97,41,80,75,193,42,224,221,67,43,80,239,201,50,224,192,88,66,80,105,63,67,128,110,84,68,96,89,31,69,2,0,0,0,255,255,255,255,100,44,135,105,170,170,170,170,16,0,0,0,3,1,4,1,2,1,2,1,4,1,4,1,2,1,2,1,10,0,0,0,28,175,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,24,175,255,255,0,0,0,0,176,185,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,43,58,0,224,59,58,0,224,63,58,0,16,68,58,0,224,2,0,0,0,157,0,0,0,123,1,0,0,31,0,0,0,68,127,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,64,195,192,44,48,210,102,45,170,170,170,170,170,170,170,170,31,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,188,199,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,86,58,0,224,89,58,0,224,123,58,0,16,132,58,0,224,3,0,0,0,68,200,163,145,64,110,77,19,176,22,52,20,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,188,198,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,146,58,0,224,151,58,0,16,153,58,0,224,33,0,0,0,96,218,182,165,0,241,85,34,240,189,106,35,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,128,4,245,58,240,194,182,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,128,102,15,70,112,51,36,71,0,131,248,71,112,21,4,73,0,101,216,73,112,247,227,74,128,151,156,75,112,78,214,76,33,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,152,164,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,160,171,255,127,1,0,0,96,219,7,0,112,165,58,0,224,199,58,0,16,209,58,0,224,2,0,0,0,161,0,0,0,29,2,0,0,63,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,96,113,234,203,240,180,145,216,128,112,0,0,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,144,18,245,58,0,209,182,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,144,116,15,70,128,65,36,71,16,145,248,71,128,35,4,73,16,115,216,73,128,5,228,74,16,85,184,75,0,34,205,76,16,55,152,77,0,4,173,78,16,25,120,79,0,230,140,80,144,53,97,81,0,200,108,82,144,23,65,83,0,170,76,84,144,249,32,85,0,140,44,86,144,219,0,87,128,168,21,88,144,189,224,88,128,138,245,89,144,159,192,90,128,108,213,91,16,188,169,92,128,78,181,93,16,158,137,94,128,48,149,95,16,128,105,96,0,77,126,97,16,98,73,98,0,47,94,99,170,170,170,170,170,170,170,170,63,0,0,0,2,4,2,3,2,4,2,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,10,0,0,0,60,156,255,255,0,0,0,0,128,143,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,226,58,0,224,229,58,0,224,39,59,0,16,56,59,0,224,81,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,243,117,211,240,235,64,212,128,74,15,249,240,103,8,250,0,43,184,254,112,223,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,99,73,119,97,82,0,0,0,1,2,1,2,1,2,1,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,8,0,0,0,221,173,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,171,255,127,1,0,0,96,216,7,0,112,74,59,0,224,156,59,0,224,159,59,0,16,181,59,0,224,57,0,0,0,96,218,182,165,96,213,134,22,80,75,76,24,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,128,4,245,58,240,194,182,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,128,102,15,70,112,51,36,71,0,131,248,71,112,21,4,73,0,101,216,73,112,247,227,74,0,71,184,75,240,19,205,76,0,41,152,77,240,245,172,78,0,11,120,79,240,215,140,80,128,39,97,81,240,185,108,82,128,9,65,83,240,155,76,84,128,235,32,85,240,125,44,86,128,205,0,87,112,154,21,88,128,175,224,88,112,124,245,89,128,145,192,90,112,94,213,91,0,174,169,92,112,64,181,93,0,144,137,94,112,34,149,95,0,114,105,96,240,62,126,97,0,84,73,98,240,32,94,99,57,0,0,0,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,8,0,0,0,252,171,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,3,0,48,0,66,0,54,0,201,59,0,224,3,60,0,16,19,60,0,224,42,0,0,0,160,26,137,203,16,38,97,210,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,206,16,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,226,53,86,48,72,229,86,32,255,30,88,48,42,197,88,32,225,254,89,48,12,165,90,32,195,222,91,160,70,68,92,48,238,132,92,32,165,190,93,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,26,48,135,125,170,170,170,170,170,170,170,170,44,0,0,0,3,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,1,2,1,2,1,2,4,1,2,1,12,0,0,0,38,214,0,0,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,166,132,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,112,129,255,127,1,0,0,96,228,7,0,112,33,60,0,224,76,60,0,224,83,60,0,16,95,60,0,224,2,0,0,0,166,0,0,0,30,2,0,0,68,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,96,176,222,197,80,52,151,198,224,241,85,201,80,221,234,201,224,198,2,207,80,86,183,207,224,21,153,218,208,131,118,219,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,128,4,245,58,240,194,182,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,128,102,15,70,112,51,36,71,0,131,248,71,112,21,4,73,0,101,216,73,112,247,227,74,0,71,184,75,240,19,205,76,0,41,152,77,240,245,172,78,0,11,120,79,240,215,140,80,128,39,97,81,240,185,108,82,128,9,65,83,240,155,76,84,128,235,32,85,240,125,44,86,128,205,0,87,112,154,21,88,128,175,224,88,112,124,245,89,128,145,192,90,112,94,213,91,0,174,169,92,112,64,181,93,0,144,137,94,112,34,149,95,0,114,105,96,240,62,126,97,0,84,73,98,240,32,94,99,68,0,0,0,1,3,1,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,10,0,0,0,12,163,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,119,60,0,224,122,60,0,224,191,60,0,16,209,60,0,224,44,0,0,0,168,56,182,145,192,99,110,19,208,228,117,32,64,119,129,33,208,198,85,34,192,147,106,35,208,168,53,36,192,117,74,37,208,138,21,38,192,87,42,39,80,167,254,39,192,57,10,41,80,137,222,41,192,27,234,42,80,107,190,43,64,56,211,44,80,77,158,45,64,26,179,46,80,47,126,47,64,252,146,48,208,75,103,49,64,222,114,50,208,45,71,51,64,192,82,52,208,15,39,53,64,162,50,54,208,241,6,55,192,190,27,56,208,211,230,56,192,160,251,57,208,181,198,58,192,130,219,59,80,210,175,60,192,100,187,61,80,180,143,62,192,70,155,63,80,150,111,64,64,99,132,65,80,120,79,66,64,69,100,67,80,90,47,68,64,39,68,69,208,140,243,69,192,67,45,71,170,170,170,170,170,170,170,170,170,170,170,170,44,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,8,0,0,0,88,203,255,255,0,0,0,0,192,199,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,208,213,255,127,163,3,0,96,216,7,0,112,227,60,0,224,19,61,0,16,31,61,0,224,145,0,0,0,80,182,241,128,96,133,184,158,80,221,186,159,208,56,60,187,64,35,180,187,208,26,28,189,64,5,148,189,208,252,251,190,64,231,115,191,208,222,219,192,64,201,83,193,208,192,187,194,64,171,51,195,208,162,155,196,64,141,19,197,208,248,112,198,64,205,13,199,208,241,72,200,64,175,237,200,208,94,22,202,192,203,214,202,96,226,136,203,208,237,96,210,224,214,117,211,208,207,64,212,224,184,85,213,208,177,32,214,224,154,53,215,208,147,0,216,224,124,21,217,208,117,224,217,96,153,254,218,208,87,192,219,96,123,222,220,80,116,169,221,96,93,190,222,80,86,137,223,96,63,158,224,80,56,105,225,96,33,126,226,80,26,73,227,96,3,94,228,80,252,40,229,224,31,71,230,208,24,18,231,224,1,39,232,208,228,22,233,224,227,6,234,208,198,246,234,224,197,230,235,208,168,214,236,224,167,198,237,80,197,191,238,96,196,175,239,80,167,159,240,96,166,143,241,80,137,127,242,96,136,111,243,80,107,95,244,96,106,79,245,80,77,63,246,96,76,47,247,208,105,40,248,96,46,15,249,208,75,8,250,224,74,248,250,208,45,232,251,224,44,216,252,208,15,200,253,224,14,184,254,208,241,167,255,224,240,151,0,208,211,135,1,224,210,119,2,80,240,112,3,96,239,96,4,80,210,80,5,96,179,32,8,80,150,16,9,96,149,0,10,80,120,240,10,96,119,224,11,208,148,217,12,96,89,192,13,208,118,185,14,224,117,169,15,208,88,153,16,224,87,137,17,208,58,121,18,224,57,105,19,208,28,89,20,224,27,73,21,208,254,56,22,224,253,40,23,80,27,34,24,224,223,8,25,80,253,1,26,96,252,241,26,80,223,225,27,96,222,209,28,80,193,193,29,96,192,177,30,80,163,161,31,224,242,117,32,80,133,129,33,224,212,85,34,208,161,106,35,224,182,53,36,208,131,74,37,224,152,21,38,208,101,42,39,96,181,254,39,208,71,10,41,96,151,222,41,208,41,234,42,124,93,190,43,108,42,211,44,124,63,158,45,108,12,179,46,124,33,126,47,108,238,146,48,252,61,103,49,108,208,114,50,252,31,71,51,108,178,82,52,252,1,39,53,108,148,50,54,252,227,6,55,236,176,27,56,252,197,230,56,236,146,251,57,252,167,198,58,236,116,219,59,124,196,175,60,236,86,187,61,124,166,143,62,236,56,155,63,124,136,111,64,108,85,132,65,124,106,79,66,108,55,100,67,124,76,47,68,108,25,68,69,224,154,243,69,208,81,45,71,2,0,0,0,255,255,255,255,188,237,30,94,146,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,68,195,255,255,0,0,0,0,176,185,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,192,199,255,127,163,3,0,96,216,7,0,112,50,61,0,224,196,61,0,224,199,61,0,16,237,61,0,224,57,0,0,0,96,218,182,165,0,241,85,34,240,189,106,35,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,128,4,245,58,240,194,182,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,128,102,15,70,112,51,36,71,0,131,248,71,112,21,4,73,0,101,216,73,112,247,227,74,0,71,184,75,240,19,205,76,0,41,152,77,240,245,172,78,0,11,120,79,240,215,140,80,128,39,97,81,240,185,108,82,128,9,65,83,240,155,76,84,128,235,32,85,240,125,44,86,128,205,0,87,112,154,21,88,128,175,224,88,112,124,245,89,128,145,192,90,112,94,213,91,0,174,169,92,112,64,181,93,0,144,137,94,112,34,149,95,0,114,105,96,240,62,126,97,0,84,73,98,240,32,94,99,57,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,244,161,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,1,62,0,224,59,62,0,16,75,62,0,224,85,0,0,0,179,135,146,162,64,219,255,168,176,15,241,169,56,89,226,170,48,67,210,171,184,140,195,172,176,118,179,173,184,181,244,187,176,181,191,188,184,151,212,189,176,151,159,190,184,121,180,191,176,121,127,192,184,91,148,193,176,91,95,194,56,120,125,195,176,61,63,196,56,90,93,197,176,31,31,198,56,82,24,199,48,60,8,200,56,30,29,201,48,30,232,201,56,159,139,202,48,198,30,205,40,102,149,205,176,133,11,236,40,53,242,236,176,74,69,237,32,214,133,237,176,114,19,247,32,27,250,247,48,62,254,252,40,17,246,253,48,117,150,0,32,82,216,0,176,138,87,4,160,58,198,4,176,27,150,7,152,218,223,7,40,159,198,8,48,78,90,9,32,115,219,9,48,18,26,13,160,135,127,13,48,127,231,14,160,105,95,15,48,214,217,16,160,75,63,17,176,45,137,17,160,162,49,19,48,84,195,33,32,120,39,34,176,228,161,35,160,148,16,36,176,103,74,37,32,60,231,37,48,15,33,39,160,88,208,39,176,43,10,41,160,58,176,41,48,211,224,42,160,28,144,43,48,246,76,65,192,47,70,66,208,163,72,67,192,156,19,68,80,75,31,69,192,126,243,69,208,103,8,71,192,96,211,71,208,73,232,72,192,66,179,73,208,43,200,74,64,95,156,75,208,13,168,76,64,65,124,77,208,239,135,78,64,35,92,79,80,12,113,80,64,5,60,81,80,238,80,82,64,231,27,83,80,208,48,84,64,201,251,84,170,170,170,170,170,170,170,170,85,0,0,0,1,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,5,4,5,4,6,4,6,4,5,4,6,4,6,4,7,5,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,170,170,170,16,0,0,0,77,203,255,255,0,0,0,0,192,199,255,255,0,0,0,0,200,206,255,255,0,0,0,0,200,206,255,255,8,7,0,0,208,213,255,255,0,0,0,0,208,213,255,255,8,7,0,0,208,213,255,255,16,14,0,0,208,213,255,255,24,21,0,0,3,0,48,0,66,0,54,0,87,62,0,224,175,62,0,16,198,62,0,224,2,0,0,0,174,0,0,0,112,2,0,0,174,0,0,0,112,30,166,158,96,235,186,159,112,0,134,160,96,205,154,161,112,226,101,162,224,233,131,163,112,174,106,164,96,167,53,165,240,202,83,166,96,137,21,167,240,172,51,168,224,165,254,168,240,142,19,170,224,135,222,170,240,112,243,171,224,105,190,172,240,82,211,173,224,75,158,174,240,52,179,175,224,45,126,176,112,81,156,177,96,74,103,178,112,51,124,179,96,44,71,180,112,21,92,181,96,14,39,182,112,247,59,183,96,240,6,184,112,217,27,185,96,210,230,185,240,245,4,187,96,180,198,187,240,215,228,188,224,208,175,189,240,185,196,190,224,178,143,191,240,155,164,192,224,148,111,193,240,125,132,194,224,118,79,195,240,95,100,196,224,88,47,197,112,124,77,198,224,58,15,199,112,94,45,200,96,87,248,200,112,64,13,202,96,57,216,202,112,240,136,203,224,251,96,210,240,228,117,211,224,221,64,212,240,198,85,213,224,191,32,214,240,168,53,215,224,161,0,216,240,138,21,217,224,131,224,217,112,167,254,218,224,101,192,219,112,137,222,220,96,130,169,221,112,107,190,222,96,100,137,223,112,77,158,224,96,70,105,225,112,47,126,226,96,40,73,227,112,17,94,228,224,46,87,229,240,45,71,230,224,16,55,231,240,15,39,232,224,242,22,233,240,241,6,234,224,212,246,234,240,211,230,235,224,182,214,236,240,181,198,237,96,211,191,238,112,210,175,239,96,181,159,240,112,180,143,241,96,151,127,242,112,150,111,243,96,121,95,244,112,120,79,245,96,91,63,246,112,90,47,247,224,119,40,248,112,60,15,249,224,89,8,250,240,88,248,250,224,59,232,251,240,58,216,252,224,29,200,253,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,25,141,7,96,164,16,9,240,148,173,9,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,144,240,3,94,170,170,170,170,170,170,170,170,175,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,158,186,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,176,185,255,127,1,0,0,96,216,7,0,112,220,62,0,224,223,62,0,224,142,63,0,224,147,63,0,16,192,63,0,224,80,0,0,0,208,68,137,203,64,80,97,210,80,113,184,254,64,84,168,255,80,83,152,0,64,54,136,1,80,53,120,2,192,82,113,3,208,81,97,4,192,52,81,5,208,51,65,6,192,22,49,7,208,109,141,7,192,248,16,9,80,233,173,9,192,218,240,10,208,217,224,11,64,247,217,12,208,187,192,13,64,217,185,14,80,216,169,15,64,187,153,16,80,186,137,17,64,157,121,18,80,156,105,19,64,127,89,20,80,126,73,21,64,97,57,22,80,96,41,23,192,125,34,24,80,66,9,25,192,95,2,26,176,66,242,26,160,37,226,27,176,36,210,28,160,7,194,29,176,6,178,30,160,233,161,31,48,57,118,32,160,203,129,33,48,27,86,34,32,232,106,35,48,253,53,36,32,202,74,37,48,223,21,38,32,172,42,39,176,251,254,39,32,142,10,41,176,221,222,41,32,112,234,42,176,191,190,43,160,140,211,44,176,161,158,45,160,110,179,46,176,131,126,47,160,80,147,48,48,160,103,49,160,50,115,50,48,130,71,51,160,20,83,52,48,100,39,53,160,246,50,54,48,70,7,55,32,19,28,56,48,40,231,56,32,245,251,57,48,10,199,58,32,215,219,59,176,38,176,60,32,185,187,61,176,8,144,62,32,155,155,63,176,234,111,64,160,183,132,65,176,204,79,66,160,153,100,67,176,174,47,68,160,123,68,69,48,225,243,69,32,152,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,210,79,135,125,170,170,170,170,82,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,12,0,0,0,110,182,0,0,0,0,0,0,238,100,255,255,0,0,0,0,80,101,255,255,0,0,0,0,80,101,255,255,16,14,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,112,129,255,127,1,0,0,96,216,7,0,112,212,63,0,224,37,64,0,224,43,64,0,16,65,64,0,224,2,0,0,0,177,0,0,0,121,1,0,0,39,0,0,0,100,101,170,150,208,59,15,184,144,50,253,184,32,38,241,185,16,102,222,186,32,160,56,218,32,236,235,218,160,211,25,220,16,75,185,220,32,7,251,221,16,208,155,222,32,140,221,223,16,37,84,224,160,241,151,244,16,80,5,245,32,86,192,246,144,16,14,247,32,30,81,248,16,183,199,248,160,196,10,250,144,234,168,250,32,248,235,251,144,111,139,252,32,128,201,29,144,201,120,30,160,39,160,31,144,193,51,32,32,91,129,33,144,186,11,34,160,2,88,35,16,98,226,35,160,228,55,37,16,185,212,37,160,184,246,55,16,119,184,56,32,213,223,57,144,1,233,57,160,241,200,59,144,0,111,60,170,170,170,170,170,170,170,170,170,170,170,170,39,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,156,225,255,255,0,0,0,0,224,227,255,255,0,0,0,0,224,227,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,89,64,0,224,92,64,0,224,135,64,0,16,146,64,0,224,96,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,12,137,203,0,24,97,210,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,16,167,211,71,0,94,13,73,16,137,179,73,0,64,237,74,144,165,156,75,128,92,214,76,128,121,124,77,112,48,182,78,2,0,0,0,255,255,255,255,176,12,4,94,170,170,170,170,170,170,170,170,170,170,170,170,97,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,170,170,170,10,0,0,0,149,160,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,171,255,127,1,0,0,96,220,7,0,112,160,64,0,224,1,65,0,224,7,65,0,16,33,65,0,224,88,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,12,137,203,0,24,97,210,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,176,12,4,94,89,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,170,10,0,0,0,8,161,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,171,255,127,1,0,0,96,216,7,0,112,55,65,0,224,144,65,0,224,147,65,0,16,171,65,0,224,88,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,12,137,203,0,24,97,210,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,176,12,4,94,170,170,170,170,170,170,170,170,89,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,170,170,170,10,0,0,0,237,160,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,171,255,127,1,0,0,96,216,7,0,112,193,65,0,224,26,66,0,224,31,66,0,16,55,66,0,224,2,0,0,0,121,0,0,0,181,0,0,0,91,0,0,0,0,104,128,155,80,124,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,16,187,61,51,16,150,82,52,16,157,29,53,16,120,50,54,16,127,253,54,144,148,27,56,16,97,221,56,144,118,251,57,16,67,189,58,144,88,219,59,144,95,166,60,144,58,187,61,144,65,134,62,144,28,155,63,144,35,102,64,16,57,132,65,144,5,70,66,16,27,100,67,144,231,37,68,16,253,67,69,144,201,5,70,16,223,35,71,16,230,238,71,16,193,3,73,16,200,206,73,16,163,227,74,16,170,174,75,144,191,204,76,16,140,142,77,144,161,172,78,16,110,110,79,144,131,140,80,144,138,87,81,144,101,108,82,144,108,55,83,144,71,76,84,144,78,23,85,144,41,44,86,144,48,247,86,16,70,21,88,144,18,215,88,16,40,245,89,144,244,182,90,16,10,213,91,16,17,160,92,16,236,180,93,16,243,127,94,16,206,148,95,16,213,95,96,144,234,125,97,16,183,63,98,144,204,93,99,16,153,31,100,144,174,61,101,144,181,8,102,144,144,29,103,170,170,170,170,170,170,170,170,170,170,170,170,91,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,170,10,0,0,0,128,207,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,224,227,255,255,0,0,0,0,224,227,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,224,227,255,127,7,0,0,96,233,7,0,112,77,66,0,224,80,66,0,224,175,66,0,16,199,66,0,224,62,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,144,18,245,58,0,209,182,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,144,116,15,70,128,65,36,71,16,145,248,71,128,35,4,73,16,115,216,73,128,5,228,74,144,165,156,75,128,92,214,76,144,135,124,77,128,62,182,78,144,105,92,79,128,32,150,80,144,75,60,81,128,2,118,82,144,45,28,83,128,228,85,84,144,15,252,84,128,198,53,86,16,44,229,86,0,227,30,88,16,14,197,88,0,197,254,89,16,240,164,90,0,167,222,91,16,210,132,92,0,137,190,93,16,180,100,94,0,107,158,95,144,208,77,96,128,135,135,97,144,178,45,98,0,47,94,99,128,134,13,100,112,61,71,101,170,170,170,170,170,170,170,170,170,170,170,170,62,0,0,0,1,3,1,2,1,3,4,3,4,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,170,170,10,0,0,0,28,158,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,160,171,255,127,1,0,0,96,232,7,0,112,221,66,0,224,31,67,0,16,48,67,0,224,4,0,0,0,79,0,0,0,97,0,0,0,101,0,0,0,183,0,0,0,1,0,0,0,232,97,244,139,2,0,0,0,255,255,255,255,16,38,135,105,2,0,0,0,1,2,170,170,6,0,0,0,112,181,255,255,0,0,0,0,24,181,255,255,0,0,0,0,176,185,255,255,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,69,67,0,224,74,67,0,224,76,67,0,224,79,67,0,16,81,67,0,224,4,0,0,0,184,142,5,145,196,75,42,190,180,44,98,210,184,49,190,27,170,170,170,170,170,170,170,170,4,0,0,0,1,2,3,4,10,0,0,0,72,204,255,255,0,0,0,0,60,204,255,255,0,0,0,0,76,204,255,255,0,0,0,0,200,206,255,255,0,0,0,0,208,213,255,255,0,0,0,0,3,0,48,0,66,0,54,0,96,67,0,224,103,67,0,16,105,67,0,224,4,0,0,0,104,0,0,0,186,0,0,0,37,2,0,0,109,2,0,0,10,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,12,137,203,28,223,23,207,172,229,143,207,28,26,129,208,16,117,248,250,0,88,232,251,2,0,0,0,255,255,255,255,176,12,4,94,170,170,170,170,170,170,170,170,170,170,170,170,11,0,0,0,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,238,150,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,121,67,0,224,126,67,0,224,137,67,0,224,143,67,0,16,147,67,0,224,45,0,0,0,252,113,110,156,208,70,27,25,64,239,1,26,80,238,241,26,64,209,225,27,80,208,209,28,64,179,193,29,80,178,177,30,64,149,161,31,80,148,145,32,64,119,129,33,224,212,85,34,224,175,106,35,224,182,53,36,224,145,74,37,224,152,21,38,224,115,42,39,96,181,254,39,224,85,10,41,96,151,222,41,224,55,234,42,96,121,190,43,96,84,211,44,96,91,158,45,96,54,179,46,96,61,126,47,96,24,147,48,224,89,103,49,96,250,114,50,224,59,71,51,96,220,82,52,80,120,79,66,64,69,100,67,80,90,47,68,64,39,68,69,112,77,92,79,96,4,150,80,112,47,60,81,96,230,117,82,112,17,28,83,96,200,85,84,112,243,251,84,96,170,53,86,240,241,196,88,224,168,254,89,2,0,0,0,255,255,255,255,80,31,135,105,46,0,0,0,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,8,0,0,0,48,188,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,68,188,255,255,0,0,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,145,3,0,96,226,7,0,112,162,67,0,224,208,67,0,224,211,67,0,16,224,67,0,224,29,0,0,0,232,130,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,170,170,170,170,29,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,24,196,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,244,67,0,224,19,68,0,16,28,68,0,224,22,0,0,0,61,0,0,0,62,0,0,0,77,0,0,0,86,0,0,0,106,0,0,0,112,0,0,0,124,0,0,0,125,0,0,0,149,0,0,0,154,0,0,0,158,0,0,0,172,0,0,0,188,0,0,0,191,0,0,0,208,0,0,0,210,0,0,0,211,0,0,0,212,0,0,0,213,0,0,0,220,0,0,0,222,0,0,0,39,2,0,0,2,0,0,0,192,50,246,203,208,237,96,210,2,0,0,0,255,255,255,255,185,149,230,122,170,170,170,170,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,7,194,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,40,68,0,224,63,68,0,224,66,68,0,224,71,68,0,16,73,68,0,224,116,0,0,0,69,71,48,143,80,229,92,155,197,226,124,159,192,113,0,161,197,119,94,176,64,61,119,177,208,0,65,178,192,112,88,179,80,52,34,180,64,164,57,181,208,103,3,182,192,215,26,183,80,155,228,183,192,92,253,184,80,32,199,185,64,110,28,204,208,231,108,204,64,227,23,212,192,85,51,213,64,146,118,213,64,60,209,253,176,250,146,254,192,205,204,255,176,220,114,0,192,80,117,1,176,73,64,2,192,50,85,3,176,43,32,4,64,79,62,5,176,13,0,6,64,188,11,7,176,239,223,7,64,19,254,8,176,209,191,9,64,245,221,10,48,238,168,11,64,215,189,12,48,208,136,13,64,185,157,14,48,178,104,15,192,213,134,16,48,148,72,17,192,183,102,18,48,118,40,19,192,153,70,20,176,146,17,21,192,123,38,22,176,116,241,22,192,93,6,24,176,86,209,24,192,63,230,25,176,56,177,26,64,92,207,27,176,26,145,28,64,62,175,29,176,252,112,30,64,32,143,31,48,3,127,32,64,2,111,33,48,251,57,34,64,228,78,35,48,221,25,36,192,0,56,37,48,191,249,37,192,248,242,38,48,161,217,39,192,196,247,40,176,189,194,41,192,166,215,42,176,159,162,43,192,136,183,44,176,129,130,45,192,106,151,46,176,99,98,47,64,135,128,48,176,69,66,49,64,105,96,50,48,215,61,51,64,75,64,52,48,68,11,53,64,184,13,54,176,213,6,55,64,15,0,56,48,8,203,56,192,43,233,57,48,234,170,58,192,13,201,59,48,204,138,60,192,239,168,61,48,174,106,62,192,209,136,63,176,202,83,64,192,179,104,65,176,172,51,66,192,149,72,67,176,142,19,68,64,178,49,69,176,112,243,69,64,148,17,71,48,2,239,71,64,118,241,72,48,111,188,73,64,88,209,74,176,0,184,75,64,58,177,76,48,7,198,77,192,130,80,78,176,174,156,79,192,217,66,80,176,144,124,81,64,246,43,82,176,114,92,83,64,216,11,84,48,230,55,87,192,236,175,87,176,134,67,88,2,0,0,0,255,255,255,255,252,29,135,105,170,170,170,170,170,170,170,170,170,170,170,170,117,0,0,0,3,1,3,4,3,2,1,2,1,2,1,2,1,2,1,4,1,4,2,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,6,170,170,170,14,0,0,0,132,189,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,187,189,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,88,68,0,224,205,68,0,224,211,68,0,16,242,68,0,224,73,0,0,0,0,110,140,231,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,207,32,8,112,178,16,9,128,177,0,10,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,170,170,170,170,73,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,8,0,0,0,0,0,0,0,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,160,171,255,127,163,3,0,96,216,7,0,112,8,69,0,224,83,69,0,16,103,69,0,224,39,0,0,0,184,103,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,176,198,246,55,32,133,184,56,48,227,223,57,160,15,233,57,176,255,200,59,160,14,111,60,170,170,170,170,39,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,72,223,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,122,69,0,224,163,69,0,16,174,69,0,224,3,0,0,0,196,0,0,0,132,1,0,0,137,1,0,0,52,0,0,0,28,147,253,134,144,175,184,158,128,7,187,159,240,79,101,181,224,72,48,182,240,49,69,183,224,42,16,184,240,19,37,185,224,12,240,185,112,48,14,187,224,238,207,187,112,18,238,188,96,11,185,189,240,8,114,194,224,235,97,195,240,234,81,196,96,147,56,197,240,204,49,198,224,175,33,199,112,233,26,200,96,204,10,201,112,203,250,201,96,174,234,202,144,12,137,203,0,24,97,210,16,140,99,211,0,111,83,212,16,227,85,213,0,220,32,214,16,197,53,215,0,190,0,216,16,167,21,217,0,160,224,217,144,195,254,218,0,130,192,219,144,165,222,220,128,158,169,221,144,135,190,222,128,128,137,223,144,105,158,224,128,98,105,225,144,75,126,226,128,68,73,227,144,45,94,228,128,38,41,229,16,74,71,230,0,67,18,231,16,44,39,232,0,37,242,232,16,240,230,235,0,211,214,236,16,210,198,237,52,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,8,0,0,0,228,157,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,186,69,0,224,190,69,0,224,243,69,0,16,1,70,0,224,73,0,0,0,128,129,251,213,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,207,32,8,112,178,16,9,128,177,0,10,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,73,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,3,2,1,170,170,170,8,0,0,0,0,0,0,0,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,160,171,255,127,163,3,0,96,216,7,0,112,17,70,0,224,91,70,0,16,111,70,0,224,3,0,0,0,189,0,0,0,198,0,0,0,120,1,0,0,31,0,0,0,144,134,170,150,0,102,15,184,192,92,253,184,80,80,241,185,64,144,222,186,80,202,56,218,80,22,236,218,208,253,25,220,64,117,185,220,80,49,251,221,64,250,155,222,80,182,221,223,64,79,84,224,208,27,152,244,64,122,5,245,80,128,192,246,192,58,14,247,80,72,81,248,64,225,199,248,208,238,10,250,192,20,169,250,80,34,236,251,192,153,139,252,80,170,201,29,192,243,120,30,208,81,160,31,192,235,51,32,80,133,129,33,192,228,11,34,80,127,96,72,192,4,127,82,170,170,170,170,31,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,170,8,0,0,0,112,192,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,192,199,255,255,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,130,70,0,224,134,70,0,224,167,70,0,16,176,70,0,224,30,0,0,0,72,122,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,64,113,96,72,30,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,8,0,0,0,184,204,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,3,0,48,0,66,0,54,0,192,70,0,224,223,70,0,16,232,70,0,224,2,0,0,0,202,0,0,0,139,1,0,0,130,0,0,0,69,71,48,143,80,229,92,155,197,226,124,159,192,113,0,161,197,119,94,176,64,61,119,177,208,0,65,178,192,112,88,179,80,52,34,180,64,164,57,181,208,103,3,182,192,215,26,183,80,155,228,183,192,92,253,184,80,32,199,185,64,110,28,204,208,231,108,204,192,143,220,211,48,213,23,212,192,85,51,213,64,146,118,213,64,60,209,253,176,250,146,254,192,205,204,255,176,220,114,0,192,80,117,1,176,73,64,2,192,50,85,3,176,43,32,4,64,79,62,5,176,13,0,6,64,188,11,7,176,239,223,7,64,19,254,8,176,209,191,9,64,245,221,10,48,238,168,11,64,215,189,12,48,208,136,13,64,185,157,14,48,178,104,15,192,213,134,16,48,148,72,17,192,183,102,18,48,118,40,19,192,153,70,20,176,146,17,21,192,123,38,22,176,116,241,22,192,93,6,24,176,86,209,24,192,63,230,25,176,56,177,26,64,92,207,27,176,26,145,28,64,62,175,29,176,252,112,30,64,32,143,31,48,3,127,32,64,2,111,33,48,251,57,34,64,228,78,35,48,221,25,36,192,0,56,37,48,191,249,37,192,248,242,38,48,161,217,39,192,196,247,40,176,189,194,41,192,166,215,42,176,159,162,43,192,136,183,44,176,129,130,45,192,106,151,46,176,99,98,47,64,135,128,48,176,69,66,49,64,105,96,50,48,215,61,51,64,75,64,52,48,68,11,53,64,184,13,54,176,213,6,55,64,15,0,56,48,8,203,56,192,43,233,57,48,234,170,58,192,13,201,59,48,204,138,60,192,239,168,61,48,174,106,62,192,209,136,63,176,202,83,64,192,179,104,65,176,172,51,66,192,149,72,67,176,142,19,68,64,178,49,69,176,112,243,69,64,148,17,71,48,2,239,71,64,118,241,72,48,111,188,73,64,88,209,74,176,0,184,75,64,58,177,76,48,7,198,77,192,130,80,78,176,174,156,79,192,217,66,80,176,144,124,81,64,246,43,82,176,114,92,83,64,216,11,84,48,230,55,87,192,236,175,87,48,200,23,89,192,206,143,89,48,170,247,90,192,176,111,91,176,103,169,92,192,124,116,93,176,73,137,94,192,94,84,95,176,43,105,96,192,64,52,97,176,13,73,98,64,93,29,99,176,239,40,100,192,4,244,100,170,170,170,170,170,170,170,170,170,170,170,170,130,0,0,0,1,0,3,0,2,1,2,1,2,1,2,1,2,1,3,1,3,4,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,170,170,10,0,0,0,187,189,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,192,199,255,127,127,3,0,96,232,7,0,112,246,70,0,224,249,70,0,224,127,71,0,16,161,71,0,224,16,0,0,0,96,66,223,186,208,75,8,250,64,195,167,250,208,241,167,255,200,123,67,0,208,211,135,1,72,127,250,1,80,240,112,3,72,4,221,3,80,210,80,5,72,137,191,5,80,180,48,7,200,188,160,7,80,150,16,9,224,188,251,57,96,225,41,58,2,0,0,0,255,255,255,255,8,29,135,105,17,0,0,0,4,1,3,1,2,1,2,1,2,1,2,1,2,1,5,1,5,170,170,170,12,0,0,0,120,190,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,8,7,0,0,176,185,255,255,16,14,0,0,96,190,255,255,0,0,0,0,192,199,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,183,71,0,224,200,71,0,224,203,71,0,16,209,71,0,224,3,0,0,0,204,0,0,0,118,1,0,0,122,1,0,0,91,0,0,0,180,114,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,48,9,90,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,48,15,33,39,160,227,189,39,48,241,0,41,32,139,148,41,176,13,234,42,160,50,107,43,48,181,192,44,32,196,102,45,48,151,160,46,32,166,70,47,48,121,128,48,160,77,29,49,176,32,87,50,32,106,6,51,48,84,56,52,32,193,248,52,48,31,32,54,160,104,207,54,176,198,246,55,32,133,184,56,48,227,223,57,160,44,143,58,176,255,200,59,160,14,111,60,48,145,196,61,160,240,78,62,48,254,145,63,160,210,46,64,48,248,134,65,32,239,23,66,48,194,81,67,32,209,247,67,176,83,77,69,160,237,224,69,48,134,17,71,32,149,183,71,176,162,250,72,32,119,151,73,176,132,218,74,160,147,128,75,176,102,186,76,160,117,96,77,176,72,154,78,32,146,73,79,48,101,131,80,160,57,32,81,48,71,99,82,160,27,0,83,48,41,67,84,32,56,233,84,48,11,35,86,32,26,201,86,48,237,2,88,32,252,168,88,48,207,226,89,32,222,136,90,176,96,222,91,32,192,104,92,170,170,170,170,170,170,170,170,91,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,76,212,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,229,71,0,224,233,71,0,224,71,72,0,16,95,72,0,224,35,0,0,0,24,76,128,155,64,110,77,19,192,36,52,20,160,249,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,35,0,0,0,1,2,1,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,10,0,0,0,104,235,255,255,0,0,0,0,224,227,255,255,0,0,0,0,224,227,255,255,16,14,0,0,240,241,255,255,0,0,0,0,240,241,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,240,241,255,127,7,0,0,96,205,7,0,112,109,72,0,224,147,72,0,16,157,72,0,224,80,0,0,0,160,26,137,203,16,38,97,210,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,206,16,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,176,66,242,26,160,37,226,27,176,36,210,28,160,7,194,29,176,6,178,30,160,233,161,31,48,57,118,32,160,203,129,33,48,27,86,34,32,232,106,35,48,253,53,36,32,202,74,37,48,223,21,38,32,172,42,39,176,251,254,39,32,142,10,41,176,221,222,41,32,112,234,42,176,191,190,43,160,140,211,44,176,161,158,45,160,110,179,46,176,131,126,47,160,80,147,48,48,160,103,49,160,50,115,50,48,130,71,51,160,20,83,52,48,100,39,53,160,246,50,54,48,70,7,55,32,19,28,56,48,40,231,56,32,245,251,57,48,10,199,58,32,215,219,59,176,38,176,60,32,185,187,61,176,8,144,62,32,155,155,63,176,234,111,64,160,183,132,65,176,204,79,66,160,153,100,67,176,174,47,68,160,123,68,69,48,225,243,69,32,152,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,153,51,135,125,170,170,170,170,170,170,170,170,170,170,170,170,82,0,0,0,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,12,0,0,0,167,210,0,0,0,0,0,0,39,129,255,255,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,112,129,255,127,1,0,0,96,216,7,0,112,178,72,0,224,3,73,0,224,11,73,0,16,33,73,0,224,3,0,0,0,209,0,0,0,126,1,0,0,135,1,0,0,187,0,0,0,12,98,207,156,252,230,164,157,140,126,184,158,124,214,186,159,220,136,182,160,76,255,56,161,92,25,149,162,76,252,132,163,92,251,116,164,76,222,100,165,220,23,94,166,76,192,68,167,220,249,61,168,76,162,36,169,220,219,29,170,76,132,4,171,220,189,253,171,76,102,228,172,220,159,221,173,204,130,205,174,220,129,189,175,204,100,173,176,92,158,166,177,204,70,141,178,92,128,134,179,204,40,109,180,92,98,102,181,204,10,77,182,92,68,70,183,204,236,44,184,92,38,38,185,76,9,22,186,220,66,15,187,76,235,245,187,220,36,239,188,76,205,213,189,108,77,158,190,168,6,207,190,24,175,181,191,56,49,184,192,168,239,121,193,56,19,152,194,168,209,89,195,56,245,119,196,168,179,57,197,184,17,97,198,168,149,25,199,184,243,64,200,40,178,2,201,184,213,32,202,40,148,226,202,184,183,0,204,200,230,96,210,216,68,136,211,72,3,74,212,216,38,104,213,72,229,41,214,216,8,72,215,72,199,9,216,216,234,39,217,72,169,233,217,88,7,17,219,200,197,210,219,88,116,222,220,72,109,169,221,88,86,190,222,72,79,137,223,88,56,158,224,72,49,105,225,88,26,126,226,72,19,73,227,88,252,93,228,72,245,40,229,216,24,71,230,200,17,18,231,216,250,38,232,200,243,241,232,216,220,6,234,200,213,209,234,216,190,230,235,200,183,177,236,216,160,198,237,72,190,191,238,88,189,175,239,72,160,159,240,88,159,143,241,72,130,127,242,88,129,111,243,72,100,95,244,88,99,79,245,72,70,63,246,88,69,47,247,200,98,40,248,88,39,15,249,200,68,8,250,216,67,248,250,200,38,232,251,216,37,216,252,200,8,200,253,216,7,184,254,200,234,167,255,216,233,151,0,200,204,135,1,216,203,119,2,72,233,112,3,88,232,96,4,72,203,80,5,88,202,64,6,72,173,48,7,88,172,32,8,72,143,16,9,88,142,0,10,72,113,240,10,88,112,224,11,200,141,217,12,88,82,192,13,200,111,185,14,216,110,169,15,200,81,153,16,216,80,137,17,200,51,121,18,216,50,105,19,200,21,89,20,216,20,73,21,200,247,56,22,216,246,40,23,72,20,34,24,216,216,8,25,72,246,1,26,88,245,241,26,72,216,225,27,88,215,209,28,72,186,193,29,88,185,177,30,72,156,161,31,244,207,117,32,100,98,129,33,244,177,85,34,212,112,106,35,244,147,53,36,228,96,74,37,244,117,21,38,228,66,42,39,116,146,254,39,228,36,10,41,116,116,222,41,228,6,234,42,116,86,190,43,100,35,211,44,116,56,158,45,100,5,179,46,116,26,126,47,100,231,146,48,244,54,103,49,100,201,114,50,244,24,71,51,100,171,82,52,244,250,38,53,100,141,50,54,244,220,6,55,228,169,27,56,244,190,230,56,228,139,251,57,244,160,198,58,228,109,219,59,116,189,175,60,228,79,187,61,116,159,143,62,228,49,155,63,116,129,111,64,100,78,132,65,116,99,79,66,100,48,100,67,116,69,47,68,100,18,68,69,244,119,243,69,228,46,45,71,244,89,211,71,228,16,13,73,244,59,179,73,228,242,236,74,116,88,156,75,100,15,214,76,116,58,124,77,72,13,182,78,88,56,92,79,72,239,149,80,170,170,170,170,170,170,170,170,187,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,10,0,0,0,148,206,255,255,0,0,0,0,148,206,255,255,16,14,0,0,200,206,255,255,0,0,0,0,200,206,255,255,16,14,0,0,200,206,255,255,32,28,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,200,206,255,127,163,3,0,96,221,7,0,112,57,73,0,224,61,73,0,224,251,73,0,16,43,74,0,224,22,0,0,0,24,150,253,134,144,175,184,158,128,7,187,159,144,12,137,203,0,24,97,210,16,1,118,211,0,111,83,212,16,227,85,213,0,220,32,214,16,197,53,215,0,190,0,216,16,167,21,217,0,160,224,217,16,44,39,232,0,15,23,233,16,240,230,235,0,211,214,236,16,210,198,237,0,203,145,238,144,238,175,239,0,173,113,240,144,25,97,4,170,170,170,170,170,170,170,170,170,170,170,170,22,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,8,0,0,0,232,154,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,3,0,48,0,66,0,54,0,65,74,0,224,91,74,0,16,98,74,0,224,7,0,0,0,68,75,76,164,224,220,154,32,80,155,92,33,224,190,122,34,80,125,60,35,224,140,93,68,208,200,214,68,170,170,170,170,170,170,170,170,170,170,170,170,7,0,0,0,1,2,1,2,1,2,1,170,6,0,0,0,60,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,112,74,0,224,123,74,0,16,126,74,0,224,35,0,0,0,252,119,128,155,224,122,245,39,208,93,229,40,224,92,213,41,208,63,197,42,96,121,190,43,80,70,211,44,96,91,158,45,80,40,179,46,96,61,126,47,80,10,147,48,224,89,103,49,80,236,114,50,224,59,71,51,80,206,82,52,224,29,39,53,80,176,50,54,224,255,6,55,208,204,27,56,224,225,230,56,208,174,251,57,224,195,198,58,208,144,219,59,96,224,175,60,208,114,187,61,96,194,143,62,208,84,155,63,96,164,111,64,80,113,132,65,96,134,79,66,80,83,100,67,96,104,47,68,80,53,68,69,224,154,243,69,208,81,45,71,170,170,170,170,35,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,132,191,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,192,199,255,127,207,10,0,96,216,7,0,112,138,74,0,224,175,74,0,16,185,74,0,224,4,0,0,0,116,0,0,0,200,0,0,0,218,0,0,0,28,2,0,0,94,0,0,0,112,232,182,165,112,79,121,169,240,124,242,175,112,100,102,182,0,16,27,183,240,242,10,184,128,141,234,203,112,186,153,210,0,89,27,215,240,180,145,216,144,75,126,226,144,82,73,227,144,45,94,228,144,52,41,229,16,74,71,230,16,81,18,231,16,44,39,232,16,51,242,232,16,14,7,234,16,21,210,234,16,240,230,235,16,247,177,236,16,210,198,237,16,217,145,238,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,160,130,15,70,144,79,36,71,32,159,248,71,144,49,4,73,32,129,216,73,144,19,228,74,160,179,156,75,144,106,214,76,170,170,170,170,94,0,0,0,3,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,8,0,0,0,76,146,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,128,143,255,127,1,0,0,96,219,7,0,112,202,74,0,224,207,74,0,224,47,75,0,16,72,75,0,224,6,0,0,0,171,0,0,0,173,0,0,0,175,0,0,0,217,0,0,0,219,0,0,0,133,1,0,0,170,0,0,0,112,147,184,158,96,235,186,159,200,46,135,160,64,177,154,161,240,6,148,162,64,169,85,163,240,93,134,164,96,120,40,165,240,63,102,166,224,78,12,167,240,33,70,168,224,48,236,168,112,201,28,170,96,77,213,170,112,171,252,171,96,47,181,172,112,141,220,173,96,17,149,174,112,111,188,175,224,45,126,176,112,81,156,177,96,74,103,178,112,51,124,179,96,44,71,180,112,21,92,181,96,14,39,182,112,247,59,183,96,240,6,184,240,19,37,185,96,210,230,185,240,245,4,187,224,238,207,187,240,215,228,188,224,208,175,189,240,185,196,190,224,178,143,191,240,155,164,192,224,148,111,193,240,125,132,194,224,118,79,195,240,95,100,196,224,88,47,197,112,124,77,198,224,58,15,199,112,94,45,200,224,251,96,210,240,228,117,211,224,221,64,212,208,170,85,213,192,163,32,214,208,140,53,215,192,133,0,216,208,110,21,217,64,118,51,218,112,167,254,218,96,116,19,220,112,137,222,220,96,130,169,221,112,107,190,222,96,100,137,223,112,77,158,224,96,70,105,225,112,47,126,226,96,40,73,227,112,17,94,228,96,10,41,229,240,45,71,230,224,38,18,231,240,15,39,232,224,242,22,233,240,241,6,234,224,212,246,234,240,211,230,235,224,182,214,236,240,181,198,237,96,211,191,238,112,210,175,239,96,181,159,240,112,180,143,241,96,151,127,242,112,150,111,243,96,121,95,244,112,120,79,245,96,91,63,246,112,90,47,247,224,119,40,248,112,60,15,249,224,89,8,250,240,88,248,250,224,59,232,251,240,58,216,252,224,29,200,253,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,193,32,8,96,164,16,9,112,163,0,10,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,236,120,238,114,170,170,170,170,170,170,170,170,171,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,148,181,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,176,185,255,127,163,3,0,96,216,7,0,112,92,75,0,224,99,75,0,224,14,76,0,224,19,76,0,16,63,76,0,224,2,0,0,0,221,0,0,0,136,1,0,0,128,0,0,0,160,189,184,158,144,21,187,159,160,26,137,203,16,38,97,210,32,15,118,211,16,8,65,212,32,241,85,213,16,234,32,214,32,211,53,215,16,204,0,216,32,181,21,217,16,174,224,217,160,209,254,218,16,144,192,219,160,179,222,220,144,172,169,221,160,149,190,222,144,142,137,223,160,119,158,224,144,112,105,225,160,89,126,226,144,82,73,227,160,59,94,228,144,52,41,229,32,88,71,230,16,81,18,231,32,58,39,232,16,51,242,232,32,28,7,234,16,21,210,234,32,254,230,235,16,247,177,236,32,224,198,237,16,217,145,238,160,252,175,239,16,187,113,240,160,222,143,241,144,193,127,242,160,192,111,243,144,163,95,244,160,162,79,245,144,133,63,246,160,132,47,247,16,162,40,248,160,102,15,249,16,132,8,250,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,235,32,8,144,206,16,9,160,205,0,10,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,2,0,0,0,255,255,255,255,236,118,61,94,170,170,170,170,129,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,148,140,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,128,143,255,127,163,3,0,96,216,7,0,112,83,76,0,224,86,76,0,224,215,76,0,224,219,76,0,16,253,76,0,224,2,0,0,0,223,0,0,0,138,1,0,0,91,0,0,0,176,203,184,158,160,35,187,159,176,12,208,160,128,210,162,161,176,40,137,203,32,52,97,210,144,118,47,247,16,162,40,248,144,132,197,248,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,32,181,211,71,16,108,13,73,32,151,179,73,16,78,237,74,160,179,156,75,144,106,214,76,160,149,124,77,144,76,182,78,160,119,92,79,144,46,150,80,160,89,60,81,144,16,118,82,160,59,28,83,144,242,85,84,160,29,252,84,144,212,53,86,32,58,229,86,16,241,30,88,32,28,197,88,16,211,254,89,32,254,164,90,16,181,222,91,32,224,132,92,16,151,190,93,32,194,100,94,240,92,158,95,2,0,0,0,255,255,255,255,156,138,134,125,92,0,0,0,1,2,1,2,1,2,1,3,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,6,14,0,0,0,100,129,255,255,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,112,129,255,255,32,28,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,17,77,0,224,20,77,0,224,112,77,0,224,115,77,0,16,139,77,0,224,3,0,0,0,193,0,0,0,224,0,0,0,131,1,0,0,124,0,0,0,224,251,1,155,80,186,195,155,128,161,184,158,112,249,186,159,128,59,160,194,240,132,79,195,128,254,136,203,240,9,97,210,0,104,136,211,240,96,83,212,0,213,85,213,240,205,32,214,0,183,53,215,240,175,0,216,0,153,21,217,240,145,224,217,0,7,0,219,240,92,200,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,112,24,41,229,0,60,71,230,240,52,18,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,196,214,236,0,196,198,237,240,188,145,238,128,164,111,243,240,98,49,244,128,74,15,249,0,118,8,250,0,103,248,250,0,88,232,251,0,73,216,252,0,58,200,253,0,43,184,254,0,28,168,255,0,13,152,0,0,254,135,1,0,239,119,2,128,26,113,3,128,11,97,4,128,252,80,5,128,237,64,6,128,222,48,7,128,207,32,8,128,192,16,9,128,177,0,10,128,162,240,10,128,147,224,11,0,191,217,12,128,117,192,13,0,161,185,14,0,146,169,15,0,131,153,16,0,116,137,17,0,101,121,18,0,86,105,19,0,71,89,20,0,56,73,21,0,41,57,22,0,26,41,23,128,69,34,24,0,252,8,25,128,39,2,26,128,24,242,26,128,9,226,27,128,250,209,28,128,235,193,29,128,220,177,30,128,205,161,31,0,15,118,32,128,175,129,33,0,241,85,34,0,204,106,35,0,211,53,36,0,174,74,37,0,181,21,38,0,144,42,39,128,209,254,39,0,114,10,41,128,179,222,41,0,84,234,42,128,149,190,43,128,112,211,44,128,119,158,45,128,82,179,46,128,89,126,47,128,52,147,48,0,118,103,49,128,22,115,50,0,88,71,51,128,248,82,52,0,58,39,53,128,218,50,54,0,28,7,55,0,247,27,56,0,254,230,56,0,217,251,57,0,224,198,58,0,187,219,59,128,252,175,60,0,157,187,61,128,222,143,62,0,127,155,63,128,192,111,64,128,155,132,65,128,162,79,66,128,125,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,148,176,228,100,170,170,170,170,125,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,236,164,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,171,255,127,163,3,0,96,216,7,0,112,162,77,0,224,166,77,0,224,35,78,0,224,39,78,0,16,72,78,0,224,80,0,0,0,176,40,137,203,32,52,97,210,48,85,184,254,32,56,168,255,48,55,152,0,32,26,136,1,48,25,120,2,160,54,113,3,176,53,97,4,160,24,81,5,176,23,65,6,160,250,48,7,176,81,141,7,160,220,16,9,48,205,173,9,160,190,240,10,176,189,224,11,32,219,217,12,176,159,192,13,32,189,185,14,48,188,169,15,32,159,153,16,48,158,137,17,32,129,121,18,48,128,105,19,32,99,89,20,48,98,73,21,32,69,57,22,48,68,41,23,160,97,34,24,48,38,9,25,160,67,2,26,176,66,242,26,160,37,226,27,176,36,210,28,160,7,194,29,176,6,178,30,160,233,161,31,48,57,118,32,160,203,129,33,48,27,86,34,32,232,106,35,48,253,53,36,32,202,74,37,48,223,21,38,32,172,42,39,176,251,254,39,32,142,10,41,176,221,222,41,32,112,234,42,176,191,190,43,160,140,211,44,176,161,158,45,160,110,179,46,176,131,126,47,160,80,147,48,48,160,103,49,160,50,115,50,48,130,71,51,160,20,83,52,48,100,39,53,160,246,50,54,48,70,7,55,32,19,28,56,48,40,231,56,32,245,251,57,48,10,199,58,32,215,219,59,176,38,176,60,32,185,187,61,176,8,144,62,32,155,155,63,176,234,111,64,160,183,132,65,176,204,79,66,160,153,100,67,176,174,47,68,160,123,68,69,48,225,243,69,32,152,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,191,55,135,125,170,170,170,170,82,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,129,206,0,0,0,0,0,0,1,125,255,255,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,112,129,255,127,1,0,0,96,216,7,0,112,92,78,0,224,173,78,0,224,179,78,0,16,201,78,0,224,12,0,0,0,128,204,30,254,32,6,218,74,240,202,143,75,32,156,169,78,144,205,67,79,128,59,10,88,16,15,164,90,64,20,185,91,128,29,141,92,48,69,150,93,0,197,99,94,60,160,120,95,170,170,170,170,12,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,6,0,0,0,0,0,0,0,0,0,0,0,128,112,0,0,0,0,0,0,176,154,0,0,0,0,0,0,3,0,48,0,66,0,54,0,221,78,0,224,235,78,0,16,239,78,0,224,7,0,0,0,0,64,156,231,16,223,71,246,0,171,71,254,48,20,218,74,64,250,151,75,48,170,169,78,192,247,67,79,7,0,0,0,2,0,2,1,2,1,2,170,6,0,0,0,0,0,0,0,0,0,0,0,80,70,0,0,0,0,0,0,112,98,0,0,0,0,0,0,3,0,48,0,66,0,54,0,251,78,0,224,3,79,0,16,6,79,0,224,91,0,0,0,128,120,213,155,0,47,188,156,96,180,135,160,0,104,12,215,0,141,194,251,0,126,178,252,0,89,199,253,128,176,118,254,0,59,167,255,128,146,86,0,0,29,135,1,0,175,63,2,128,57,112,3,0,28,13,4,128,27,80,5,128,56,246,5,128,253,47,7,128,26,214,7,128,223,15,9,128,252,181,9,128,193,239,10,0,25,159,11,0,222,216,12,0,251,126,13,0,192,184,14,0,221,94,15,0,162,152,16,0,191,62,17,0,132,120,18,0,161,30,19,0,102,88,20,0,131,254,20,0,72,56,22,0,79,3,23,128,100,33,24,0,49,227,24,128,70,1,26,128,99,167,26,128,40,225,27,128,69,135,28,128,10,193,29,128,39,103,30,0,178,151,31,128,126,89,32,128,206,128,33,0,155,66,34,0,235,105,35,0,125,34,36,0,205,73,37,0,95,2,38,0,175,41,39,0,182,244,39,128,225,237,40,0,152,212,41,128,195,205,42,0,122,180,43,128,165,173,44,0,92,148,45,128,135,141,46,0,62,116,47,128,105,109,48,128,90,93,49,0,134,86,50,128,60,61,51,0,104,54,52,128,30,29,53,0,74,22,54,128,0,253,54,0,44,246,55,128,226,220,56,128,233,167,57,128,196,188,58,128,42,191,59,0,225,165,60,128,12,159,61,0,195,133,62,128,238,126,63,0,165,101,64,128,208,94,65,0,135,69,66,128,178,62,67,128,163,46,68,128,148,30,69,0,75,5,70,0,177,7,71,0,162,247,71,0,147,231,72,0,132,215,73,0,117,199,74,0,72,151,77,0,57,135,78,2,0,0,0,255,255,255,255,0,22,5,124,170,170,170,170,170,170,170,170,92,0,0,0,1,2,1,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,6,0,0,0,0,0,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,140,0,112,218,3,0,96,220,7,0,112,18,79,0,224,110,79,0,224,115,79,0,16,139,79,0,224,2,0,0,0,128,50,32,226,64,34,218,74,170,170,170,170,170,170,170,170,170,170,170,170,2,0,0,0,2,1,170,170,6,0,0,0,0,0,0,0,0,0,0,0,80,70,0,0,0,0,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,157,79,0,224,163,79,0,16,165,79,0,224,82,0,0,0,0,173,152,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,188,48,23,192,93,6,24,176,86,209,24,192,63,230,25,176,56,177,26,64,92,207,27,176,26,145,28,64,62,175,29,176,252,112,30,64,32,143,31,48,3,127,32,64,2,111,33,48,251,57,34,64,228,78,35,48,221,25,36,192,0,56,37,48,191,249,37,192,248,242,38,48,161,217,39,192,196,247,40,176,189,194,41,192,166,215,42,176,159,162,43,192,136,183,44,176,129,130,45,192,106,151,46,176,99,98,47,64,135,128,48,176,69,66,49,64,105,96,50,48,215,61,51,64,75,64,52,48,68,11,53,64,184,13,54,176,213,6,55,64,15,0,56,48,8,203,56,192,43,233,57,48,234,170,58,192,13,201,59,48,204,138,60,192,239,168,61,48,174,106,62,192,209,136,63,176,202,83,64,192,179,104,65,176,172,51,66,192,149,72,67,176,142,19,68,64,178,49,69,176,112,243,69,64,148,17,71,48,2,239,71,64,118,241,72,48,111,188,73,64,88,209,74,176,0,184,75,64,58,177,76,48,7,198,77,192,130,80,78,176,174,156,79,192,217,66,80,176,144,124,81,64,246,43,82,176,114,92,83,64,216,11,84,48,230,55,87,192,236,175,87,176,134,67,88,170,170,170,170,170,170,170,170,170,170,170,170,82,0,0,0,2,1,2,1,2,1,2,1,2,1,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,170,170,10,0,0,0,0,0,0,0,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,177,79,0,224,7,80,0,16,29,80,0,224,1,0,0,0,0,45,2,13,1,0,0,0,1,170,170,170,4,0,0,0,0,0,0,0,0,0,0,0,208,213,255,255,0,0,0,0,3,0,48,0,66,0,54,0,45,80,0,224,47,80,0,16,49,80,0,224,2,0,0,0,144,5,70,66,16,27,100,67,170,170,170,170,2,0,0,0,1,0,170,170,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,28,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,0,0,0,112,27,23,0,96,214,7,0,112,59,80,0,224,63,80,0,16,65,80,0,224,51,0,0,0,220,123,25,170,48,239,163,181,160,125,39,21,16,178,24,22,32,177,8,23,144,229,249,23,160,228,233,24,16,25,219,25,160,105,204,26,192,118,188,27,192,103,172,28,192,88,156,29,192,73,140,30,192,58,124,31,192,43,108,32,192,28,92,33,192,13,76,34,192,254,59,35,192,239,43,36,192,224,27,37,192,209,11,38,64,253,4,39,64,238,244,39,80,237,228,40,80,149,120,41,64,208,212,41,64,193,196,42,64,178,180,43,64,163,164,44,64,148,148,45,64,133,132,46,64,118,116,47,64,103,100,48,192,146,93,49,192,109,114,50,192,116,61,51,192,79,82,52,192,86,29,53,192,49,50,54,192,56,253,54,64,78,27,56,192,26,221,56,64,48,251,57,192,252,188,58,64,18,219,59,64,25,166,60,64,244,186,61,64,251,133,62,64,214,154,63,64,221,101,64,192,242,131,65,170,170,170,170,170,170,170,170,170,170,170,170,51,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,10,0,0,0,36,72,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,3,0,48,0,66,0,54,0,80,80,0,224,135,80,0,16,149,80,0,224,87,0,0,0,208,214,163,182,224,121,114,6,80,171,12,7,96,55,36,8,208,222,237,8,224,106,5,10,80,18,207,10,224,239,231,11,208,117,218,12,96,35,201,13,208,202,146,14,96,5,169,15,208,172,114,16,96,213,173,28,208,9,159,29,96,253,146,30,80,224,130,31,96,223,114,32,80,194,98,33,96,193,82,34,208,222,75,35,96,188,100,36,208,192,43,37,96,111,55,38,208,162,11,39,224,115,11,40,80,74,226,40,96,190,228,41,208,102,203,42,224,101,187,43,208,72,171,44,224,71,155,45,208,181,120,46,96,100,132,47,224,165,88,48,96,70,100,49,96,194,65,50,96,40,68,51,96,164,33,52,96,10,36,53,96,134,1,54,96,147,122,55,224,162,234,55,224,124,226,56,96,191,211,57,224,94,194,58,96,161,179,59,96,146,163,60,96,131,147,61,96,116,131,62,96,79,152,63,96,86,99,64,224,246,110,65,224,114,76,66,224,99,60,67,224,84,44,68,224,47,65,69,224,54,12,70,224,17,33,71,224,24,236,71,96,46,10,73,224,250,203,73,96,16,234,74,224,220,171,75,96,242,201,76,96,249,148,77,96,212,169,78,96,219,116,79,80,94,179,82,96,159,52,83,224,180,82,84,96,129,20,85,224,150,50,86,224,157,253,86,224,120,18,88,224,127,221,88,224,90,242,89,224,97,189,90,224,60,210,91,224,67,157,92,224,30,178,93,224,37,125,94,96,59,155,95,224,7,93,96,96,29,123,97,224,255,23,98,96,255,90,99,170,170,170,170,170,170,170,170,87,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,170,8,0,0,0,176,33,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,3,0,48,0,66,0,54,0,165,80,0,224,255,80,0,16,22,81,0,224,64,0,0,0,156,29,25,170,192,140,163,181,48,27,39,21,160,79,24,22,176,78,8,23,48,145,249,23,64,144,233,24,176,196,218,25,64,21,204,26,96,34,188,27,96,19,172,28,96,4,156,29,96,245,139,30,96,230,123,31,96,215,107,32,96,200,91,33,96,185,75,34,96,170,59,35,96,155,43,36,96,140,27,37,96,125,11,38,224,168,4,39,224,153,244,39,240,152,228,40,240,64,120,41,224,123,212,41,224,108,196,42,224,93,180,43,224,78,164,44,224,63,148,45,224,48,132,46,224,33,116,47,224,18,100,48,96,62,93,49,96,25,114,50,96,32,61,51,96,251,81,52,96,2,29,53,96,221,49,54,96,228,252,54,224,249,26,56,96,198,220,56,224,219,250,57,96,168,188,58,224,189,218,59,224,196,165,60,224,159,186,61,224,166,133,62,224,129,154,63,224,136,101,64,96,158,131,65,224,106,69,66,96,128,99,67,224,76,37,68,96,98,67,69,224,46,5,70,96,68,35,71,96,75,238,71,96,38,3,73,96,45,206,73,96,8,227,74,96,15,174,75,240,50,204,76,112,255,141,77,170,170,170,170,170,170,170,170,64,0,0,0,3,5,6,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,14,0,0,0,100,166,0,0,0,0,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,192,168,0,0,0,0,0,0,192,168,0,0,16,14,0,0,208,182,0,0,0,0,0,0,208,182,0,0,16,14,0,0,3,0,48,0,66,0,54,0,36,81,0,224,103,81,0,16,120,81,0,224,50,0,0,0,224,148,25,170,64,253,163,181,48,206,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,80,222,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,96,146,116,47,96,131,100,48,224,174,93,49,224,137,114,50,224,144,61,51,224,107,82,52,224,114,29,53,224,77,50,54,224,84,253,54,96,106,27,56,224,54,221,56,96,76,251,57,224,24,189,58,96,46,219,59,96,53,166,60,96,16,187,61,96,23,134,62,96,242,154,63,96,249,101,64,224,14,132,65,50,0,0,0,1,3,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,170,170,12,0,0,0,32,47,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,140,81,0,224,191,81,0,16,205,81,0,224,51,0,0,0,104,142,25,170,64,253,163,181,176,139,39,21,32,192,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,80,222,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,80,132,116,47,80,117,100,48,208,160,93,49,208,123,114,50,208,130,61,51,208,93,82,52,208,100,29,53,208,63,50,54,208,70,253,54,80,92,27,56,208,40,221,56,80,62,251,57,208,10,189,58,80,32,219,59,80,39,166,60,80,2,187,61,80,9,134,62,80,228,154,63,80,235,101,64,208,0,132,65,51,0,0,0,1,3,4,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,12,0,0,0,152,53,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,223,81,0,224,19,82,0,16,33,82,0,224,2,0,0,0,246,0,0,0,247,0,0,0,25,0,0,0,68,141,25,170,64,253,163,181,176,139,39,21,32,192,24,22,48,191,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,170,170,170,170,170,170,170,170,170,170,170,170,25,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,170,170,170,10,0,0,0,188,54,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,51,82,0,224,54,82,0,224,83,82,0,16,91,82,0,224,50,0,0,0,80,147,25,170,80,11,164,181,48,206,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,80,222,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,80,132,116,47,80,117,100,48,208,160,93,49,208,123,114,50,208,130,61,51,208,93,82,52,208,100,29,53,208,63,50,54,208,70,253,54,96,106,27,56,224,54,221,56,96,76,251,57,224,24,189,58,96,46,219,59,96,53,166,60,96,16,187,61,96,23,134,62,96,242,154,63,96,249,101,64,224,14,132,65,170,170,170,170,170,170,170,170,170,170,170,170,50,0,0,0,1,4,6,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,3,2,3,2,3,2,3,2,3,4,170,170,14,0,0,0,176,48,0,0,0,0,0,0,48,42,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,109,82,0,224,163,82,0,16,177,82,0,224,53,0,0,0,224,60,48,158,80,104,48,23,192,15,250,23,80,189,232,24,64,67,219,25,208,147,204,26,64,200,189,27,80,199,173,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,224,252,27,37,224,237,11,38,96,25,5,39,0,120,246,39,128,186,231,40,0,253,216,41,128,63,202,42,128,48,186,43,0,115,171,44,0,100,155,45,128,166,140,46,128,151,124,47,0,218,109,48,128,28,95,49,0,95,80,50,0,80,64,51,128,146,49,52,128,131,33,53,0,198,18,54,0,183,2,55,128,249,243,55,0,60,229,56,128,126,214,57,128,111,198,58,0,178,183,59,0,163,167,60,128,229,152,61,128,214,136,62,0,25,122,63,128,91,107,64,0,158,92,65,0,143,76,66,128,209,61,67,128,194,45,68,0,5,31,69,0,246,14,70,128,56,0,71,2,0,0,0,255,255,255,255,220,177,134,105,170,170,170,170,54,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,164,41,0,0,0,0,0,0,160,41,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,197,82,0,224,251,82,0,224,255,82,0,16,14,83,0,224,66,0,0,0,68,149,25,170,80,12,218,231,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,224,252,27,37,224,237,11,38,96,25,5,39,96,10,245,39,112,9,229,40,112,250,212,41,112,235,196,42,16,217,93,49,16,180,114,50,0,173,61,51,0,136,82,52,0,143,29,53,0,106,50,54,0,113,253,54,128,134,27,56,0,83,221,56,128,104,251,57,0,53,189,58,128,74,219,59,128,81,166,60,128,44,187,61,128,51,134,62,128,14,155,63,128,21,102,64,0,43,132,65,128,247,69,66,0,13,100,67,128,217,37,68,0,239,67,69,128,187,5,70,0,209,35,71,0,216,238,71,0,179,3,73,0,186,206,73,0,149,227,74,0,156,174,75,128,177,204,76,0,126,142,77,128,147,172,78,0,96,110,79,128,117,140,80,128,124,87,81,128,87,108,82,128,94,55,83,128,57,76,84,128,64,23,85,128,27,44,86,170,170,170,170,170,170,170,170,66,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,188,46,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,30,83,0,224,99,83,0,16,117,83,0,224,4,0,0,0,252,0,0,0,48,1,0,0,77,1,0,0,8,2,0,0,1,0,0,0,196,103,106,162,170,170,170,170,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,60,94,0,0,0,0,0,0,112,98,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,133,83,0,224,138,83,0,224,143,83,0,16,145,83,0,224,67,0,0,0,252,125,213,161,32,225,163,181,144,111,39,21,0,164,24,22,16,163,8,23,128,215,249,23,144,214,233,24,0,11,219,25,144,91,204,26,176,104,188,27,176,89,172,28,176,74,156,29,176,59,140,30,176,44,124,31,176,29,108,32,176,14,92,33,176,255,75,34,176,240,59,35,176,225,43,36,176,210,27,37,176,195,11,38,48,239,4,39,48,224,244,39,64,223,228,40,64,135,120,41,48,194,212,41,48,179,196,42,48,164,180,43,48,149,164,44,48,134,148,45,48,119,132,46,48,104,116,47,128,76,199,47,64,103,100,48,192,146,93,49,192,109,114,50,192,116,61,51,192,79,82,52,192,86,29,53,192,49,50,54,192,56,253,54,64,78,27,56,192,26,221,56,64,48,251,57,192,252,188,58,64,18,219,59,64,25,166,60,64,244,186,61,64,251,133,62,64,214,154,63,64,221,101,64,192,242,131,65,64,191,69,66,192,212,99,67,64,161,37,68,192,182,67,69,64,131,5,70,192,152,35,71,192,159,238,71,192,122,3,73,192,129,206,73,192,92,227,74,192,99,174,75,64,121,204,76,192,69,142,77,48,243,75,84,64,234,246,86,170,170,170,170,170,170,170,170,67,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,170,10,0,0,0,132,78,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,3,0,48,0,66,0,54,0,157,83,0,224,227,83,0,16,245,83,0,224,64,0,0,0,224,99,101,162,80,130,123,163,96,128,78,164,208,180,63,165,224,39,37,166,208,127,39,167,224,243,41,168,80,178,235,168,224,133,42,232,80,45,244,232,96,185,11,234,208,96,213,234,224,236,236,235,80,148,182,236,224,113,207,237,80,25,153,238,96,165,176,239,208,76,122,240,96,94,166,4,208,119,43,5,224,3,67,6,80,171,12,7,96,55,36,8,208,222,237,8,224,106,5,10,80,18,207,10,224,239,231,11,80,151,177,12,96,35,201,13,208,202,146,14,96,5,169,15,208,172,114,16,224,46,244,26,208,156,209,27,96,98,213,28,80,208,178,29,224,149,182,30,208,3,148,31,96,201,151,32,80,55,117,33,224,44,163,34,80,188,87,35,96,95,103,36,208,239,56,37,96,181,60,38,80,35,26,39,224,232,29,40,208,86,251,40,224,109,0,42,208,9,206,42,96,206,180,43,80,177,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,145,77,50,224,144,61,51,208,115,45,52,224,114,29,53,208,85,13,54,224,84,253,54,80,92,27,56,2,0,0,0,255,255,255,255,184,194,182,86,170,170,170,170,170,170,170,170,65,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,72,33,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,32,28,0,112,13,4,0,96,208,7,0,112,5,84,0,224,70,84,0,224,75,84,0,16,93,84,0,224,52,0,0,0,16,126,25,170,48,239,163,181,160,125,39,21,16,178,24,22,32,177,8,23,144,229,249,23,160,228,233,24,16,25,219,25,160,105,204,26,192,118,188,27,192,103,172,28,192,88,156,29,192,73,140,30,192,58,124,31,192,43,108,32,192,28,92,33,192,13,76,34,192,254,59,35,192,239,43,36,192,224,27,37,192,209,11,38,64,253,4,39,64,238,244,39,192,163,190,40,48,55,231,41,32,165,196,42,48,25,199,43,32,135,164,44,48,251,166,45,32,105,132,46,48,221,134,47,32,75,100,48,48,191,102,49,160,103,77,50,216,137,61,51,200,86,82,52,216,107,29,53,200,56,50,54,216,77,253,54,72,85,27,56,216,47,221,56,72,55,251,57,216,17,189,58,72,25,219,59,88,46,166,60,72,251,186,61,88,16,134,62,72,221,154,63,88,242,101,64,200,249,131,65,88,212,69,66,32,146,251,66,170,170,170,170,170,170,170,170,170,170,170,170,52,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,10,0,0,0,240,69,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,3,0,48,0,66,0,54,0,111,84,0,224,167,84,0,16,181,84,0,224,66,0,0,0,160,249,219,161,0,197,163,181,112,83,39,21,224,135,24,22,240,134,8,23,96,187,249,23,112,186,233,24,224,238,218,25,112,63,204,26,144,76,188,27,144,61,172,28,144,46,156,29,144,31,140,30,144,16,124,31,144,1,108,32,144,242,91,33,144,227,75,34,144,212,59,35,144,197,43,36,144,182,27,37,144,167,11,38,16,211,4,39,16,196,244,39,32,195,228,40,32,107,120,41,16,166,212,41,16,151,196,42,16,136,180,43,16,121,164,44,16,106,148,45,16,91,132,46,16,76,116,47,16,61,100,48,144,104,93,49,144,67,114,50,144,74,61,51,144,37,82,52,144,44,29,53,144,7,50,54,144,14,253,54,16,36,27,56,144,240,220,56,16,6,251,57,144,210,188,58,16,232,218,59,16,239,165,60,16,202,186,61,16,209,133,62,16,172,154,63,16,179,101,64,144,200,131,65,16,149,69,66,144,170,99,67,16,119,37,68,144,140,67,69,16,89,5,70,144,110,35,71,144,117,238,71,144,80,3,73,144,87,206,73,144,50,227,74,144,57,174,75,16,79,204,76,144,27,142,77,0,201,75,84,32,206,246,86,170,170,170,170,170,170,170,170,170,170,170,170,66,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,1,3,170,170,12,0,0,0,96,106,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,160,140,0,0,0,0,0,0,3,0,48,0,66,0,54,0,197,84,0,224,11,85,0,16,29,85,0,224,51,0,0,0,40,231,211,134,144,220,11,15,128,200,233,24,224,238,218,25,112,63,204,26,96,34,188,27,112,33,172,28,96,4,156,29,112,3,140,30,96,230,123,31,112,229,107,32,96,200,91,33,112,199,75,34,96,170,59,35,112,169,43,36,96,140,27,37,112,139,11,38,224,168,4,39,240,167,244,39,224,138,228,40,240,137,212,41,224,108,196,42,240,107,180,43,224,78,164,44,240,77,148,45,224,48,132,46,240,47,116,47,224,18,100,48,112,76,93,49,96,47,77,50,112,46,61,51,96,17,45,52,112,16,29,53,96,243,12,54,144,165,233,58,128,158,180,59,144,157,164,60,128,128,148,61,144,127,132,62,128,98,116,63,144,97,100,64,128,68,84,65,144,67,68,66,128,38,52,67,144,37,36,68,0,67,29,69,240,170,239,71,160,154,21,85,112,97,5,86,160,124,245,86,112,67,229,87,51,0,0,0,1,2,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,2,3,2,3,2,170,12,0,0,0,88,107,0,0,0,0,0,0,112,98,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,3,0,48,0,66,0,54,0,47,85,0,224,99,85,0,16,113,85,0,224,7,0,0,0,28,189,157,135,40,28,90,203,160,43,149,204,56,128,117,210,40,0,166,49,32,0,113,50,40,234,63,68,2,0,0,0,255,255,255,255,36,153,182,86,170,170,170,170,8,0,0,0,1,2,3,4,2,6,5,2,14,0,0,0,220,74,0,0,0,0,0,0,228,74,0,0,0,0,0,0,88,77,0,0,0,0,0,0,88,77,0,0,8,7,0,0,88,77,0,0,16,14,0,0,96,84,0,0,0,0,0,0,104,91,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,131,85,0,224,139,85,0,224,143,85,0,16,146,85,0,224,121,0,0,0,120,171,242,161,128,47,129,162,112,157,94,163,128,17,97,164,112,127,62,165,128,243,64,166,112,97,30,167,128,213,32,168,240,125,7,169,0,82,143,241,112,156,91,242,128,40,115,243,112,126,59,244,128,173,85,245,240,84,31,246,0,225,54,247,240,54,255,247,0,218,14,249,240,187,225,249,0,72,249,250,112,239,194,251,0,205,219,252,112,116,165,253,128,0,189,254,240,167,134,255,0,52,158,0,112,219,103,1,128,103,127,2,240,14,73,3,128,236,97,4,240,147,43,5,0,32,67,6,112,199,12,7,128,83,36,8,240,250,237,8,0,135,5,10,112,46,207,10,0,12,232,11,112,179,177,12,128,63,201,13,240,89,107,14,0,115,170,15,112,141,76,16,0,197,244,24,112,109,219,25,0,74,215,26,112,242,189,27,0,35,85,30,112,229,138,31,0,122,71,32,240,25,137,33,0,116,60,34,240,158,107,35,128,191,50,36,112,69,37,37,128,68,21,38,112,39,5,39,224,91,246,39,80,144,231,40,96,27,226,41,80,21,202,42,96,43,178,43,208,95,163,44,224,71,155,45,80,124,140,46,96,123,124,47,208,175,109,48,96,0,95,49,208,52,80,50,96,226,62,51,80,104,49,52,96,196,30,53,208,155,18,54,224,154,2,55,80,207,243,55,224,31,229,56,80,84,214,57,96,83,198,58,208,135,183,59,224,134,167,60,80,187,152,61,96,186,136,62,208,238,121,63,96,63,107,64,208,115,92,65,224,114,76,66,80,167,61,67,96,166,45,68,80,253,18,69,224,54,12,70,80,62,42,71,96,83,245,71,208,113,11,73,224,250,203,73,80,2,234,74,96,23,181,75,80,228,201,76,96,249,148,77,80,198,169,78,96,219,116,79,80,168,137,80,96,189,84,81,80,138,105,82,96,159,52,83,208,166,82,84,96,129,20,85,208,136,50,86,96,99,244,86,208,106,18,88,224,127,221,88,208,76,242,89,224,97,189,90,208,46,210,91,224,67,157,92,208,16,178,93,224,37,125,94,80,45,155,95,224,7,93,96,80,15,123,97,224,233,60,98,80,241,90,99,170,170,170,170,121,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,170,170,170,8,0,0,0,8,34,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,3,0,48,0,66,0,54,0,168,85,0,224,35,86,0,16,67,86,0,224,3,0,0,0,7,1,0,0,9,1,0,0,119,1,0,0,6,0,0,0,176,134,219,202,24,113,5,204,168,50,149,204,152,210,168,221,16,196,59,74,144,216,60,75,2,0,0,0,255,255,255,255,188,134,134,105,7,0,0,0,2,5,1,5,3,4,3,170,12,0,0,0,196,84,0,0,0,0,0,0,88,77,0,0,0,0,0,0,208,82,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,104,91,0,0,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,81,86,0,224,85,86,0,224,92,86,0,224,95,86,0,16,98,86,0,224,4,0,0,0,196,24,230,146,240,50,153,203,112,48,234,11,0,153,195,57,170,170,170,170,170,170,170,170,170,170,170,170,4,0,0,0,1,2,1,2,6,0,0,0,188,117,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,3,0,48,0,66,0,54,0,119,86,0,224,127,86,0,16,129,86,0,224,4,0,0,0,11,1,0,0,42,1,0,0,12,2,0,0,16,2,0,0,1,0,0,0,168,153,242,161,170,170,170,170,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,216,51,0,0,0,0,0,0,64,56,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,141,86,0,224,146,86,0,224,151,86,0,16,153,86,0,224,24,0,0,0,128,131,25,170,48,239,163,181,160,125,39,21,16,178,24,22,32,177,8,23,144,229,249,23,160,228,233,24,16,25,219,25,160,105,204,26,192,118,188,27,192,103,172,28,192,88,156,29,192,73,140,30,192,58,124,31,192,43,108,32,192,28,92,33,192,13,76,34,192,254,59,35,192,239,43,36,192,224,27,37,192,209,11,38,64,253,4,39,64,238,244,39,80,143,202,40,170,170,170,170,24,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,10,0,0,0,128,64,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,3,0,48,0,66,0,54,0,165,86,0,224,191,86,0,16,198,86,0,224,88,0,0,0,44,30,119,165,224,175,237,9,208,146,221,10,224,100,250,11,80,198,190,12,96,57,164,13,208,225,138,14,96,27,132,15,208,79,117,16,96,253,99,17,80,224,83,18,224,25,77,19,80,194,51,20,96,193,35,21,80,164,19,22,96,163,3,23,80,134,243,23,96,133,227,24,80,104,211,25,96,103,195,26,208,132,188,27,224,131,172,28,208,102,156,29,224,101,140,30,208,72,124,31,224,71,108,32,208,42,92,33,224,41,76,34,208,12,60,35,224,11,44,36,208,238,27,37,224,237,11,38,80,11,5,39,96,10,245,39,80,237,228,40,96,236,212,41,80,207,196,42,96,206,180,43,80,177,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,145,77,50,224,144,61,51,208,115,45,52,224,114,29,53,16,120,50,54,16,127,253,54,144,148,27,56,16,97,221,56,144,118,251,57,16,67,189,58,144,88,219,59,144,95,166,60,144,58,187,61,144,65,134,62,144,28,155,63,144,35,102,64,16,57,132,65,144,5,70,66,16,27,100,67,144,231,37,68,16,253,67,69,144,201,5,70,16,223,35,71,16,230,238,71,16,193,3,73,16,200,206,73,16,163,227,74,16,170,174,75,144,191,204,76,16,140,142,77,144,161,172,78,16,110,110,79,144,131,140,80,144,138,87,81,144,101,108,82,144,108,55,83,144,71,76,84,144,78,23,85,144,41,44,86,144,48,247,86,208,127,208,87,16,40,245,89,144,244,182,90,16,10,213,91,88,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,1,2,1,8,0,0,0,212,31,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,170,3,0,96,227,7,0,112,214,86,0,224,47,87,0,16,70,87,0,224,148,0,0,0,0,207,89,200,0,166,250,200,128,156,56,201,128,235,229,204,0,254,172,205,0,31,199,206,0,131,143,207,0,164,169,208,0,125,132,209,128,215,138,210,128,176,101,211,0,11,108,212,96,99,54,232,80,45,244,232,96,185,11,234,208,96,213,234,240,250,236,235,0,109,181,236,240,127,207,237,0,242,151,238,112,179,176,239,128,37,121,240,240,230,145,241,0,89,90,242,112,26,115,243,128,140,59,244,112,159,85,245,128,17,30,246,240,210,54,247,0,69,255,247,112,6,24,249,0,202,225,249,240,57,249,250,80,66,39,251,224,139,124,8,208,176,253,8,96,234,246,9,208,51,166,10,96,252,233,19,96,91,33,20,96,198,250,26,96,110,142,27,224,248,190,28,208,124,119,29,96,255,204,30,80,153,96,31,96,177,130,32,208,181,73,33,224,158,94,34,80,93,32,35,96,48,90,36,80,63,0,37,224,237,11,38,208,230,214,38,224,207,235,39,80,3,192,40,96,236,212,41,208,31,169,42,224,101,187,43,208,1,137,44,224,71,155,45,80,169,95,46,224,41,123,47,208,197,72,48,96,70,100,49,96,194,65,50,96,40,68,51,96,164,33,52,96,10,36,53,96,134,1,54,96,97,22,55,80,68,6,56,224,125,255,56,208,96,239,57,224,95,223,58,208,66,207,59,224,65,191,60,208,36,175,61,224,35,159,62,208,6,143,63,224,5,127,64,224,129,92,65,224,231,94,66,240,183,65,67,96,166,45,68,80,253,18,69,224,217,14,70,112,111,232,70,224,24,236,71,208,17,183,72,224,250,203,73,96,60,160,74,156,46,173,75,208,189,97,76,156,249,148,77,80,194,53,78,96,219,116,79,224,145,91,80,96,189,84,81,80,160,68,82,96,159,52,83,80,108,73,84,224,210,21,85,96,92,41,86,240,194,245,86,96,202,19,88,240,164,213,88,96,172,243,89,240,134,181,90,96,142,211,91,224,67,157,92,80,98,179,93,96,119,126,94,96,82,147,95,96,89,94,96,96,29,123,97,224,140,63,98,240,94,92,99,0,94,76,100,240,64,60,101,0,203,25,102,240,34,28,103,128,114,240,103,240,4,252,104,0,26,199,105,240,230,219,106,0,252,166,107,112,3,197,108,0,222,134,109,112,229,164,110,0,192,102,111,112,199,132,112,128,220,79,113,112,169,100,114,128,190,47,115,112,139,68,116,128,160,15,117,240,167,45,118,128,130,239,118,240,137,13,120,128,100,207,120,240,107,237,121,128,70,175,122,240,77,205,123,0,99,152,124,112,245,163,125,0,69,120,126,240,156,122,127,56,1,0,0,0,0,0,0,0,39,88,128,0,0,0,0,240,9,72,129,0,0,0,0,0,9,56,130,0,0,0,0,112,177,30,131,0,0,0,0,0,228,76,131,0,0,0,0,112,16,86,131,0,0,0,0,0,235,23,132,0,0,0,0,112,30,236,132,0,0,0,0,128,139,35,133,0,0,0,0,112,242,53,133,0,0,0,0,128,7,1,134,0,0,0,0,240,197,194,134,0,0,0,0,128,248,240,134,0,0,0,0,112,212,21,135,0,0,0,0,128,233,224,135,0,0,0,0,112,109,153,136,0,0,0,0,0,160,199,136,0,0,0,0,112,182,245,136,0,0,0,0,128,203,192,137,0,0,0,0,112,218,102,138,0,0,0,0,128,71,158,138,0,0,0,0,112,152,213,138,0,0,0,0,128,173,160,139,0,0,0,0,240,129,61,140,0,0,0,0,128,180,107,140,0,0,0,0,240,180,190,140,0,0,0,0,128,143,128,141,0,0,0,0,112,41,20,142,0,0,0,0,0,92,66,142,0,0,0,0,240,150,158,142,0,0,0,0,128,113,96,143,0,0,0,0,112,150,225,143,0,0,0,0,128,3,25,144,0,0,0,0,240,120,126,144,0,0,0,0,0,142,73,145,0,0,0,0,240,61,184,145,0,0,0,0,128,112,230,145,0,0,0,0,240,90,94,146,0,0,0,0,0,112,41,147,0,0,0,0,240,170,133,147,0,0,0,0,0,24,189,147,0,0,0,0,240,60,62,148,0,0,0,0,0,82,9,149,0,0,0,0,112,82,92,149,0,0,0,0,0,133,138,149,0,0,0,0,112,89,39,150,0,0,0,0,0,52,233,150,0,0,0,0,240,249,50,151,0,0,0,0,128,44,97,151,0,0,0,0,112,59,7,152,0,0,0,0,0,22,201,152,0,0,0,0,240,102,0,153,0,0,0,0,0,212,55,153,0,0,0,0,112,29,231,153,0,0,0,0,128,50,178,154,0,0,0,0,112,14,215,154,0,0,0,0,0,65,5,155,0,0,0,0,112,255,198,155,0,0,0,0,128,20,146,156,0,0,0,0,112,123,164,156,0,0,0,0,128,232,219,156,0,0,0,0,112,225,166,157,0,0,0,0,128,246,113,158,0,0,0,0,240,34,123,158,0,0,0,0,0,144,178,158,0,0,0,0,112,195,134,159,0,0,0,0,0,253,127,160,0,0,0,0,240,223,111,161,0,0,0,0,128,164,86,162,0,0,0,0,240,193,79,163,0,0,0,0,128,17,36,164,0,0,0,0,240,163,47,165,0,0,0,0,0,185,250,165,0,0,0,0,240,133,15,167,0,0,0,0,0,155,218,167,0,0,0,0,240,103,239,168,0,0,0,0,0,125,186,169,0,0,0,0,112,132,216,170,0,0,0,0,0,95,154,171,0,0,0,0,112,102,184,172,0,0,0,0,0,65,122,173,0,0,0,0,112,72,152,174,0,0,0,0,0,35,90,175,0,0,0,0,112,42,120,176,0,0,0,0,128,63,67,177,0,0,0,0,112,12,88,178,0,0,0,0,128,33,35,179,0,0,0,0,112,238,55,180,0,0,0,0,128,3,3,181,0,0,0,0,240,10,33,182,0,0,0,0,128,229,226,182,0,0,0,0,240,236,0,184,0,0,0,0,128,199,194,184,0,0,0,0,112,148,215,185,0,0,0,0,0,228,171,186,0,0,0,0,240,59,174,187,0,0,0,0,0,198,139,188,0,0,0,0,112,227,132,189,0,0,0,0,0,168,107,190,0,0,0,0,112,80,82,191,0,0,0,0,0,138,75,192,0,0,0,0,240,247,40,193,0,0,0,0,128,42,87,193,0,0,0,0,112,159,255,194,0,0,0,0,0,210,45,195,0,0,0,0,112,12,205,196,0,0,0,0,128,121,4,197,0,0,0,0,240,179,163,198,0,0,0,0,128,230,209,198,0,0,0,0,112,55,9,199,0,0,0,0,128,76,212,199,0,0,0,0,240,32,113,200,0,0,0,0,0,142,168,200,0,0,0,0,112,25,233,200,0,0,0,0,128,46,180,201,0,0,0,0,112,200,71,202,0,0,0,0,128,53,127,202,0,0,0,0,240,53,210,202,0,0,0,0,128,16,148,203,0,0,0,0,240,111,30,204,0,0,0,0,128,162,76,204,0,0,0,0,240,23,178,204,0,0,0,0,128,242,115,205,0,0,0,0,240,220,235,205,0,0,0,0,0,74,35,206,0,0,0,0,240,249,145,206,0,0,0,0,0,15,93,207,0,0,0,0,112,132,194,207,0,0,0,0,0,183,240,207,0,0,0,0,240,219,113,208,0,0,0,0,0,241,60,209,0,0,0,0,240,43,153,209,0,0,0,0,128,94,199,209,0,0,0,0,240,189,81,210,0,0,0,0,0,211,28,211,0,0,0,0,240,152,102,211,0,0,0,0,0,6,158,211,0,0,0,0,240,159,49,212,0,0,0,0,0,181,252,212,0,0,0,0,112,64,61,213,0,0,0,0,0,115,107,213,0,0,0,0,112,188,26,214,0,0,0,0,0,151,220,214,0,0,0,0,112,173,10,215,0,0,0,0,128,26,66,215,0,0,0,0,112,158,250,215,0,0,0,0,0,121,188,216,0,0,0,0,240,84,225,216,0,0,0,0,0,194,24,217,0,0,0,0,112,128,218,217,0,0,0,0,128,149,165,218,0,0,0,0,112,252,183,218,0,0,0,0,0,47,230,218,0,0,0,0,112,98,186,219,0,0,0,0,128,119,133,220,0,0,0,0,112,68,154,221,2,0,0,0,255,255,255,255,176,74,189,125,170,170,170,170,49,1,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,80,32,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,8,0,101,0,91,0,110,0,48,0,120,0,80,0,66,0,54,0,170,170,32,28,0,112,74,4,0,96,40,8,0,112,89,87,0,224,238,87,0,224,39,89,0,224,43,89,0,16,121,89,0,224,150,0,0,0,0,207,89,200,0,166,250,200,128,156,56,201,128,235,229,204,0,254,172,205,0,31,199,206,0,131,143,207,0,164,169,208,0,125,132,209,128,215,138,210,128,176,101,211,0,11,108,212,96,99,54,232,80,45,244,232,96,185,11,234,208,96,213,234,240,250,236,235,0,109,181,236,240,127,207,237,0,242,151,238,112,179,176,239,128,37,121,240,240,230,145,241,0,89,90,242,112,26,115,243,128,140,59,244,112,159,85,245,128,17,30,246,240,210,54,247,0,69,255,247,112,6,24,249,0,202,225,249,240,57,249,250,80,66,39,251,224,139,124,8,208,176,253,8,96,234,246,9,208,51,166,10,96,252,233,19,96,91,33,20,96,198,250,26,96,110,142,27,224,248,190,28,208,124,119,29,96,255,204,30,80,153,96,31,96,177,130,32,208,181,73,33,224,158,94,34,80,93,32,35,96,48,90,36,80,63,0,37,224,237,11,38,208,230,214,38,224,207,235,39,80,3,192,40,96,236,212,41,208,31,169,42,224,101,187,43,208,1,137,44,224,71,155,45,80,169,95,46,224,41,123,47,208,197,72,48,96,70,100,49,96,194,65,50,96,40,68,51,96,164,33,52,96,10,36,53,96,134,1,54,96,97,22,55,80,68,6,56,224,125,255,56,208,96,239,57,224,95,223,58,208,66,207,59,224,65,191,60,208,36,175,61,224,35,159,62,208,6,143,63,224,5,127,64,224,129,92,65,224,231,94,66,240,183,65,67,96,166,45,68,80,253,18,69,224,217,14,70,112,111,232,70,224,24,236,71,80,6,187,72,224,250,203,73,96,60,160,74,224,220,171,75,208,189,97,76,156,249,148,77,80,194,53,78,224,11,92,78,80,220,132,78,96,219,116,79,224,145,91,80,96,189,84,81,80,160,68,82,96,159,52,83,80,108,73,84,224,210,21,85,96,92,41,86,240,194,245,86,96,202,19,88,240,164,213,88,96,172,243,89,240,134,181,90,96,142,211,91,224,67,157,92,80,98,179,93,96,119,126,94,96,82,147,95,96,89,94,96,96,29,123,97,224,140,63,98,240,94,92,99,0,94,76,100,240,64,60,101,0,203,25,102,240,34,28,103,128,114,240,103,240,4,252,104,0,26,199,105,240,230,219,106,0,252,166,107,112,3,197,108,0,222,134,109,112,229,164,110,0,192,102,111,112,199,132,112,128,220,79,113,112,169,100,114,128,190,47,115,112,139,68,116,128,160,15,117,240,167,45,118,128,130,239,118,240,137,13,120,128,100,207,120,240,107,237,121,128,70,175,122,240,77,205,123,0,99,152,124,112,245,163,125,0,69,120,126,240,156,122,127,56,1,0,0,0,0,0,0,0,39,88,128,0,0,0,0,240,9,72,129,0,0,0,0,0,9,56,130,0,0,0,0,112,177,30,131,0,0,0,0,0,228,76,131,0,0,0,0,112,16,86,131,0,0,0,0,0,235,23,132,0,0,0,0,112,30,236,132,0,0,0,0,128,139,35,133,0,0,0,0,112,242,53,133,0,0,0,0,128,7,1,134,0,0,0,0,240,197,194,134,0,0,0,0,128,248,240,134,0,0,0,0,112,212,21,135,0,0,0,0,128,233,224,135,0,0,0,0,112,109,153,136,0,0,0,0,0,160,199,136,0,0,0,0,112,182,245,136,0,0,0,0,128,203,192,137,0,0,0,0,112,218,102,138,0,0,0,0,128,71,158,138,0,0,0,0,112,152,213,138,0,0,0,0,128,173,160,139,0,0,0,0,240,129,61,140,0,0,0,0,128,180,107,140,0,0,0,0,240,180,190,140,0,0,0,0,128,143,128,141,0,0,0,0,112,41,20,142,0,0,0,0,0,92,66,142,0,0,0,0,240,150,158,142,0,0,0,0,128,113,96,143,0,0,0,0,112,150,225,143,0,0,0,0,128,3,25,144,0,0,0,0,240,120,126,144,0,0,0,0,0,142,73,145,0,0,0,0,240,61,184,145,0,0,0,0,128,112,230,145,0,0,0,0,240,90,94,146,0,0,0,0,0,112,41,147,0,0,0,0,240,170,133,147,0,0,0,0,0,24,189,147,0,0,0,0,240,60,62,148,0,0,0,0,0,82,9,149,0,0,0,0,112,82,92,149,0,0,0,0,0,133,138,149,0,0,0,0,112,89,39,150,0,0,0,0,0,52,233,150,0,0,0,0,240,249,50,151,0,0,0,0,128,44,97,151,0,0,0,0,112,59,7,152,0,0,0,0,0,22,201,152,0,0,0,0,240,102,0,153,0,0,0,0,0,212,55,153,0,0,0,0,112,29,231,153,0,0,0,0,128,50,178,154,0,0,0,0,112,14,215,154,0,0,0,0,0,65,5,155,0,0,0,0,112,255,198,155,0,0,0,0,128,20,146,156,0,0,0,0,112,123,164,156,0,0,0,0,128,232,219,156,0,0,0,0,112,225,166,157,0,0,0,0,128,246,113,158,0,0,0,0,240,34,123,158,0,0,0,0,0,144,178,158,0,0,0,0,112,195,134,159,0,0,0,0,0,253,127,160,0,0,0,0,240,223,111,161,0,0,0,0,128,164,86,162,0,0,0,0,240,193,79,163,0,0,0,0,128,17,36,164,0,0,0,0,240,163,47,165,0,0,0,0,0,185,250,165,0,0,0,0,240,133,15,167,0,0,0,0,0,155,218,167,0,0,0,0,240,103,239,168,0,0,0,0,0,125,186,169,0,0,0,0,112,132,216,170,0,0,0,0,0,95,154,171,0,0,0,0,112,102,184,172,0,0,0,0,0,65,122,173,0,0,0,0,112,72,152,174,0,0,0,0,0,35,90,175,0,0,0,0,112,42,120,176,0,0,0,0,128,63,67,177,0,0,0,0,112,12,88,178,0,0,0,0,128,33,35,179,0,0,0,0,112,238,55,180,0,0,0,0,128,3,3,181,0,0,0,0,240,10,33,182,0,0,0,0,128,229,226,182,0,0,0,0,240,236,0,184,0,0,0,0,128,199,194,184,0,0,0,0,112,148,215,185,0,0,0,0,0,228,171,186,0,0,0,0,240,59,174,187,0,0,0,0,0,198,139,188,0,0,0,0,112,227,132,189,0,0,0,0,0,168,107,190,0,0,0,0,112,80,82,191,0,0,0,0,0,138,75,192,0,0,0,0,240,247,40,193,0,0,0,0,128,42,87,193,0,0,0,0,112,159,255,194,0,0,0,0,0,210,45,195,0,0,0,0,112,12,205,196,0,0,0,0,128,121,4,197,0,0,0,0,240,179,163,198,0,0,0,0,128,230,209,198,0,0,0,0,112,55,9,199,0,0,0,0,128,76,212,199,0,0,0,0,240,32,113,200,0,0,0,0,0,142,168,200,0,0,0,0,112,25,233,200,0,0,0,0,128,46,180,201,0,0,0,0,112,200,71,202,0,0,0,0,128,53,127,202,0,0,0,0,240,53,210,202,0,0,0,0,128,16,148,203,0,0,0,0,240,111,30,204,0,0,0,0,128,162,76,204,0,0,0,0,240,23,178,204,0,0,0,0,128,242,115,205,0,0,0,0,240,220,235,205,0,0,0,0,0,74,35,206,0,0,0,0,240,249,145,206,0,0,0,0,0,15,93,207,0,0,0,0,112,132,194,207,0,0,0,0,0,183,240,207,0,0,0,0,240,219,113,208,0,0,0,0,0,241,60,209,0,0,0,0,240,43,153,209,0,0,0,0,128,94,199,209,0,0,0,0,240,189,81,210,0,0,0,0,0,211,28,211,0,0,0,0,240,152,102,211,0,0,0,0,0,6,158,211,0,0,0,0,240,159,49,212,0,0,0,0,0,181,252,212,0,0,0,0,112,64,61,213,0,0,0,0,0,115,107,213,0,0,0,0,112,188,26,214,0,0,0,0,0,151,220,214,0,0,0,0,112,173,10,215,0,0,0,0,128,26,66,215,0,0,0,0,112,158,250,215,0,0,0,0,0,121,188,216,0,0,0,0,240,84,225,216,0,0,0,0,0,194,24,217,0,0,0,0,112,128,218,217,0,0,0,0,128,149,165,218,0,0,0,0,112,252,183,218,0,0,0,0,0,47,230,218,0,0,0,0,112,98,186,219,0,0,0,0,128,119,133,220,0,0,0,0,112,68,154,221,2,0,0,0,255,255,255,255,25,74,189,125,170,170,170,170,170,170,170,170,170,170,170,170,51,1,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,231,32,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,8,0,101,0,91,0,110,0,48,0,120,0,80,0,66,0,54,0,170,170,32,28,0,112,74,4,0,96,40,8,0,112,141,89,0,224,36,90,0,224,93,91,0,224,99,91,0,16,177,91,0,224,3,0,0,0,17,1,0,0,56,1,0,0,122,2,0,0,8,0,0,0,10,43,163,145,128,230,53,205,112,206,89,209,240,62,59,210,16,187,50,213,128,228,182,228,0,152,47,237,0,199,61,10,170,170,170,170,8,0,0,0,1,2,3,1,2,1,2,1,8,0,0,0,246,99,0,0,0,0,0,0,112,98,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,197,91,0,224,201,91,0,224,211,91,0,16,214,91,0,224,2,0,0,0,18,1,0,0,2,2,0,0,69,0,0,0,144,99,105,133,48,49,77,202,48,147,219,202,120,113,75,203,144,222,160,210,128,215,107,211,184,88,147,212,56,176,66,213,184,58,115,214,184,65,62,215,184,50,46,216,184,57,249,216,184,20,14,218,184,27,217,218,184,246,237,219,184,253,184,220,184,216,205,221,56,26,162,222,56,245,182,223,56,252,129,224,40,201,150,225,56,105,79,226,40,171,118,227,56,75,47,228,168,199,95,229,56,45,15,230,168,169,63,231,184,73,248,231,168,139,31,233,184,43,216,233,168,109,255,234,184,13,184,235,168,79,223,236,184,239,151,237,40,108,200,238,184,209,119,239,40,78,168,240,184,179,87,241,40,48,136,242,56,208,64,243,40,18,104,244,56,178,32,245,40,244,71,246,56,126,37,247,40,97,21,248,56,96,5,249,40,67,245,249,56,66,229,250,168,95,222,251,184,94,206,252,168,65,190,253,184,64,174,254,168,35,158,255,184,34,142,0,168,5,126,1,184,4,110,2,168,231,93,3,184,230,77,4,40,4,71,5,56,3,55,6,40,230,38,7,56,61,131,7,40,200,6,9,56,199,246,9,40,170,230,10,56,169,214,11,40,140,198,12,56,57,155,17,168,108,111,18,69,0,0,0,1,3,2,4,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,170,170,170,10,0,0,0,10,107,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,8,7,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,230,91,0,224,233,91,0,224,47,92,0,16,66,92,0,224,50,0,0,0,148,252,211,134,160,234,11,15,144,214,233,24,0,11,219,25,144,91,204,26,128,62,188,27,144,61,172,28,128,32,156,29,144,31,140,30,128,2,124,31,144,1,108,32,128,228,91,33,144,227,75,34,128,198,59,35,144,197,43,36,128,168,27,37,144,167,11,38,0,197,4,39,16,196,244,39,0,167,228,40,16,166,212,41,0,137,196,42,16,136,180,43,0,107,164,44,16,106,148,45,0,77,132,46,16,76,116,47,0,47,100,48,144,104,93,49,128,75,77,50,144,74,61,51,128,45,45,52,144,44,29,53,128,15,13,54,176,193,233,58,160,186,180,59,176,185,164,60,160,156,148,61,176,155,132,62,160,126,116,63,176,125,100,64,160,96,84,65,176,95,68,66,160,66,52,67,176,65,36,68,32,95,29,69,176,168,21,85,128,111,5,86,176,138,245,86,128,81,229,87,50,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,236,85,0,0,0,0,0,0,96,84,0,0,0,0,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,3,0,48,0,66,0,54,0,84,92,0,224,135,92,0,16,149,92,0,224,65,0,0,0,191,15,18,162,16,211,163,181,128,97,39,21,240,149,24,22,0,149,8,23,112,201,249,23,128,200,233,24,240,252,218,25,128,77,204,26,160,90,188,27,160,75,172,28,160,60,156,29,160,45,140,30,160,30,124,31,160,15,108,32,160,0,92,33,160,241,75,34,160,226,59,35,160,211,43,36,160,196,27,37,160,181,11,38,32,225,4,39,32,210,244,39,48,209,228,40,48,121,120,41,32,180,212,41,32,165,196,42,32,150,180,43,32,135,164,44,32,120,148,45,32,105,132,46,32,90,116,47,32,75,100,48,160,118,93,49,160,81,114,50,160,88,61,51,160,51,82,52,160,58,29,53,160,21,50,54,160,28,253,54,32,50,27,56,160,254,220,56,32,20,251,57,160,224,188,58,32,246,218,59,32,253,165,60,32,216,186,61,32,223,133,62,32,186,154,63,32,193,101,64,160,214,131,65,32,163,69,66,160,184,99,67,32,133,37,68,160,154,67,69,32,103,5,70,160,124,35,71,160,131,238,71,160,94,3,73,160,101,206,73,160,64,227,74,160,71,174,75,32,93,204,76,160,41,142,77,16,215,75,84,170,170,170,170,170,170,170,170,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,193,97,0,0,0,0,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,3,0,48,0,66,0,54,0,163,92,0,224,231,92,0,16,249,92,0,224,7,0,0,0,224,133,120,169,96,222,22,186,136,131,191,203,112,238,86,210,8,198,60,215,0,38,255,218,136,190,181,244,7,0,0,0,2,3,5,3,4,3,1,170,12,0,0,0,32,100,0,0,0,0,0,0,112,98,0,0,0,0,0,0,32,103,0,0,0,0,0,0,120,105,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,3,0,48,0,66,0,54,0,11,93,0,224,19,93,0,16,22,93,0,224,3,0,0,0,152,193,22,186,240,185,88,208,104,162,181,244,170,170,170,170,170,170,170,170,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,232,131,0,0,0,0,0,0,144,126,0,0,0,0,0,0,152,133,0,0,0,0,0,0,3,0,48,0,66,0,54,0,40,93,0,224,47,93,0,16,49,93,0,224,3,0,0,0,24,1,0,0,67,1,0,0,18,2,0,0,100,0,0,0,136,69,48,158,0,207,89,200,0,166,250,200,128,156,56,201,128,235,229,204,0,254,172,205,0,31,199,206,0,131,143,207,0,164,169,208,0,125,132,209,128,215,138,210,128,176,101,211,0,11,108,212,128,48,90,215,0,88,223,215,128,195,47,216,0,99,30,217,0,247,16,218,0,208,235,218,0,52,180,219,0,61,185,220,0,141,224,221,128,206,180,222,128,191,164,223,0,118,139,224,0,125,86,225,128,102,190,226,0,95,54,227,128,72,158,228,0,65,22,229,0,240,116,230,128,210,17,231,128,173,38,232,0,122,232,232,224,139,124,8,208,176,253,8,96,234,246,9,208,51,166,10,96,252,233,19,96,91,33,20,96,198,250,26,96,110,142,27,224,248,190,28,208,124,119,29,96,255,204,30,80,153,96,31,96,177,130,32,208,181,73,33,224,158,94,34,80,93,32,35,96,48,90,36,80,63,0,37,224,237,11,38,208,230,214,38,224,207,235,39,80,3,192,40,96,236,212,41,208,31,169,42,224,101,187,43,208,1,137,44,224,71,155,45,80,169,95,46,224,41,123,47,208,197,72,48,224,150,72,49,80,110,60,50,96,179,49,51,208,254,26,52,96,149,17,53,80,166,241,53,128,8,4,55,112,1,207,55,128,95,246,56,224,249,220,57,112,237,208,58,96,91,174,59,112,160,163,60,96,178,160,61,112,130,131,62,224,159,124,63,112,54,115,64,96,164,80,65,0,143,76,66,112,79,72,67,0,113,44,68,240,246,30,69,0,83,12,70,240,99,236,70,0,53,236,71,112,245,231,72,0,23,204,73,240,156,190,74,0,249,171,75,240,9,140,76,128,21,149,77,112,155,135,78,128,247,116,79,240,66,94,80,128,217,84,81,112,73,108,82,2,0,0,0,255,255,255,255,250,194,182,86,170,170,170,170,170,170,170,170,101,0,0,0,4,1,2,1,2,1,2,1,2,1,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,10,0,0,0,6,33,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,32,28,0,0,32,28,0,0,248,32,0,0,0,0,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,32,28,0,112,116,3,0,96,222,7,0,112,61,93,0,224,65,93,0,224,166,93,0,224,171,93,0,16,198,93,0,224,1,0,0,0,64,215,249,208,2,0,0,0,255,255,255,255,160,154,134,105,2,0,0,0,1,2,170,170,6,0,0,0,224,64,0,0,0,0,0,0,64,56,0,0,0,0,0,0,72,63,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,222,93,0,224,224,93,0,224,227,93,0,16,229,93,0,224,64,0,0,0,196,150,82,167,208,154,163,181,64,41,39,21,176,93,24,22,192,92,8,23,48,145,249,23,64,144,233,24,176,196,218,25,64,21,204,26,96,34,188,27,96,19,172,28,96,4,156,29,96,245,139,30,96,230,123,31,96,215,107,32,96,200,91,33,96,185,75,34,96,170,59,35,96,155,43,36,96,140,27,37,96,125,11,38,224,168,4,39,224,153,244,39,240,152,228,40,240,64,120,41,224,123,212,41,224,108,196,42,224,93,180,43,224,78,164,44,224,63,148,45,224,48,132,46,224,33,116,47,224,18,100,48,96,62,93,49,96,25,114,50,96,32,61,51,96,251,81,52,96,2,29,53,96,221,49,54,96,228,252,54,224,249,26,56,96,198,220,56,224,219,250,57,96,168,188,58,224,189,218,59,224,196,165,60,224,159,186,61,224,166,133,62,224,129,154,63,224,136,101,64,96,158,131,65,224,106,69,66,96,128,99,67,224,76,37,68,96,98,67,69,224,46,5,70,96,68,35,71,96,75,238,71,96,38,3,73,96,45,206,73,96,8,227,74,96,15,174,75,240,50,204,76,112,255,141,77,170,170,170,170,170,170,170,170,170,170,170,170,64,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,10,0,0,0,188,148,0,0,0,0,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,192,168,0,0,0,0,0,0,192,168,0,0,16,14,0,0,3,0,48,0,66,0,54,0,243,93,0,224,55,94,0,16,72,94,0,224,2,0,0,0,27,1,0,0,36,2,0,0,10,0,0,0,164,252,126,137,168,50,149,204,152,18,116,210,168,224,168,221,176,69,175,60,160,40,159,61,48,160,65,72,160,71,11,73,48,221,228,73,32,123,236,74,170,170,170,170,10,0,0,0,3,4,3,1,2,1,2,1,2,1,170,170,10,0,0,0,220,62,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,88,77,0,0,0,0,0,0,88,77,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,88,94,0,224,91,94,0,224,103,94,0,16,107,94,0,224,2,0,0,0,29,1,0,0,30,1,0,0,2,0,0,0,132,125,242,161,168,48,24,30,2,0,0,0,1,2,170,170,6,0,0,0,252,79,0,0,0,0,0,0,88,77,0,0,0,0,0,0,220,80,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,125,94,0,224,128,94,0,224,131,94,0,16,133,94,0,224,67,0,0,0,235,228,219,161,0,197,163,181,112,83,39,21,224,135,24,22,240,134,8,23,96,187,249,23,112,186,233,24,224,238,218,25,112,63,204,26,144,76,188,27,144,61,172,28,144,46,156,29,144,31,140,30,144,16,124,31,144,1,108,32,144,242,91,33,144,227,75,34,144,212,59,35,144,197,43,36,144,182,27,37,144,167,11,38,16,211,4,39,16,196,244,39,32,195,228,40,32,107,120,41,16,166,212,41,16,151,196,42,16,136,180,43,16,121,164,44,16,106,148,45,16,91,132,46,16,76,116,47,16,61,100,48,144,104,93,49,144,67,114,50,144,74,61,51,144,37,82,52,144,44,29,53,144,7,50,54,144,14,253,54,16,36,27,56,144,240,220,56,16,6,251,57,144,210,188,58,16,232,218,59,16,239,165,60,16,202,186,61,16,209,133,62,16,172,154,63,112,228,242,63,0,165,101,64,128,186,131,65,0,135,69,66,128,156,99,67,0,105,37,68,128,126,67,69,0,75,5,70,128,96,35,71,128,103,238,71,128,66,3,73,128,73,206,73,128,36,227,74,128,43,174,75,0,65,204,76,128,13,142,77,80,2,110,78,0,201,75,84,67,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,3,170,16,0,0,0,21,127,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,3,0,48,0,66,0,54,0,147,94,0,224,215,94,0,16,233,94,0,224,3,0,0,0,1,1,0,0,32,1,0,0,4,2,0,0,5,0,0,0,186,188,157,135,40,140,219,202,24,113,5,204,168,50,149,204,152,18,116,210,4,0,0,0,255,255,255,255,40,24,186,38,255,255,255,255,48,235,231,67,170,170,170,170,7,0,0,0,4,1,2,3,2,3,2,170,10,0,0,0,216,82,0,0,0,0,0,0,70,75,0,0,0,0,0,0,88,77,0,0,0,0,0,0,88,77,0,0,16,14,0,0,208,82,0,0,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,255,94,0,224,3,95,0,224,9,95,0,224,15,95,0,16,18,95,0,224,65,0,0,0,242,13,249,161,32,225,163,181,144,111,39,21,0,164,24,22,16,163,8,23,128,215,249,23,144,214,233,24,0,11,219,25,144,91,204,26,176,104,188,27,176,89,172,28,176,74,156,29,176,59,140,30,176,44,124,31,176,29,108,32,176,14,92,33,176,255,75,34,176,240,59,35,176,225,43,36,176,210,27,37,176,195,11,38,48,239,4,39,48,224,244,39,64,223,228,40,64,135,120,41,48,194,212,41,48,179,196,42,48,164,180,43,48,149,164,44,48,134,148,45,48,119,132,46,48,104,116,47,48,89,100,48,176,132,93,49,176,95,114,50,176,102,61,51,176,65,82,52,176,72,29,53,176,35,50,54,176,42,253,54,48,64,27,56,176,12,221,56,48,34,251,57,176,238,188,58,48,4,219,59,48,11,166,60,48,230,186,61,48,237,133,62,48,200,154,63,48,207,101,64,176,228,131,65,48,177,69,66,176,198,99,67,48,147,37,68,176,168,67,69,48,117,5,70,176,138,35,71,176,145,238,71,176,108,3,73,176,115,206,73,176,78,227,74,176,85,174,75,48,107,204,76,176,55,142,77,32,229,75,84,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,14,87,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,128,112,0,0,0,0,0,0,3,0,48,0,66,0,54,0,37,95,0,224,103,95,0,16,121,95,0,224,2,0,0,0,0,1,0,0,35,1,0,0,18,0,0,0,144,6,138,173,136,71,103,186,128,39,123,191,80,27,243,191,128,172,93,193,80,160,213,193,0,224,62,195,208,211,182,195,128,19,32,197,80,7,152,197,0,71,1,199,208,58,121,199,0,204,227,200,208,191,91,201,128,255,196,202,80,243,60,203,0,88,145,203,240,109,72,210,170,170,170,170,170,170,170,170,18,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,2,170,170,10,0,0,0,112,103,0,0,0,0,0,0,120,105,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,176,4,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,139,95,0,224,142,95,0,224,163,95,0,16,169,95,0,224,2,0,0,0,37,1,0,0,38,1,0,0,71,0,0,0,142,91,105,133,240,117,71,203,224,202,242,203,80,186,251,204,96,254,211,205,208,165,157,206,112,122,97,210,112,248,120,211,240,173,66,212,112,171,75,213,240,76,116,214,240,83,63,215,240,68,47,216,112,250,248,216,112,213,13,218,112,220,216,218,112,183,237,219,112,190,184,220,240,234,206,221,240,218,161,222,240,181,182,223,240,188,129,224,240,151,150,225,240,41,79,226,240,121,118,227,240,11,47,228,112,150,95,229,240,237,14,230,168,169,63,231,184,73,248,231,168,139,31,233,184,43,216,233,168,109,255,234,184,13,184,235,168,79,223,236,184,239,151,237,40,108,200,238,184,209,119,239,40,78,168,240,184,179,87,241,40,48,136,242,56,208,64,243,40,18,104,244,56,178,32,245,40,244,71,246,56,126,37,247,24,83,21,248,56,96,5,249,24,53,245,249,56,66,229,250,168,95,222,251,184,94,206,252,168,65,190,253,184,64,174,254,168,35,158,255,184,34,142,0,168,5,126,1,184,4,110,2,168,231,93,3,184,230,77,4,40,4,71,5,56,3,55,6,40,230,38,7,56,61,131,7,40,200,6,9,56,199,246,9,40,170,230,10,56,169,214,11,40,140,198,12,56,57,155,17,168,108,111,18,170,170,170,170,71,0,0,0,1,3,4,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,10,0,0,0,114,106,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,187,95,0,224,190,95,0,224,7,96,0,16,26,96,0,224,66,0,0,0,160,54,25,170,224,168,163,181,80,55,39,21,192,107,24,22,208,106,8,23,64,159,249,23,80,158,233,24,192,210,218,25,80,35,204,26,112,48,188,27,112,33,172,28,112,18,156,29,112,3,140,30,112,244,123,31,112,229,107,32,112,214,91,33,112,199,75,34,112,184,59,35,112,169,43,36,112,154,27,37,112,139,11,38,240,182,4,39,240,167,244,39,0,167,228,40,0,79,120,41,240,137,212,41,240,122,196,42,240,107,180,43,240,92,164,44,240,77,148,45,240,62,132,46,240,47,116,47,240,32,100,48,112,76,93,49,112,39,114,50,112,46,61,51,112,9,82,52,112,16,29,53,112,235,49,54,112,242,252,54,240,7,27,56,112,212,220,56,240,233,250,57,112,182,188,58,240,203,218,59,240,210,165,60,240,173,186,61,240,180,133,62,240,143,154,63,240,150,101,64,112,172,131,65,240,120,69,66,112,142,99,67,240,90,37,68,112,112,67,69,240,60,5,70,112,82,35,71,112,89,238,71,112,52,3,73,112,59,206,73,112,22,227,74,112,29,174,75,240,50,204,76,112,255,141,77,224,172,75,84,0,156,27,87,66,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,1,3,170,170,12,0,0,0,96,141,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,192,168,0,0,0,0,0,0,3,0,48,0,66,0,54,0,44,96,0,224,111,96,0,16,129,96,0,224,2,0,0,0,40,1,0,0,72,1,0,0,3,0,0,0,144,213,22,186,128,29,136,203,112,238,86,210,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,240,111,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,147,96,0,224,150,96,0,224,155,96,0,16,157,96,0,224,8,0,0,0,128,244,156,193,112,48,22,194,0,231,242,203,112,37,169,208,0,57,108,226,240,162,213,226,128,70,117,15,240,122,102,16,4,0,0,0,255,255,255,255,16,220,225,20,255,255,255,255,144,63,31,123,170,170,170,170,170,170,170,170,10,0,0,0,3,1,2,1,4,1,2,1,2,1,170,170,10,0,0,0,240,31,255,255,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,112,113,0,0,0,0,0,0,144,126,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,171,96,0,224,180,96,0,224,187,96,0,16,191,96,0,224,2,0,0,0,43,1,0,0,220,1,0,0,51,0,0,0,184,30,119,165,224,175,237,9,208,146,221,10,224,100,250,11,80,198,190,12,96,57,164,13,208,225,138,14,96,27,132,15,208,79,117,16,96,253,99,17,80,224,83,18,224,25,77,19,80,194,51,20,96,193,35,21,80,164,19,22,96,163,3,23,80,134,243,23,96,133,227,24,80,104,211,25,96,103,195,26,208,132,188,27,224,131,172,28,208,102,156,29,224,101,140,30,208,72,124,31,224,71,108,32,208,42,92,33,224,41,76,34,208,12,60,35,224,11,44,36,208,238,27,37,224,237,11,38,80,11,5,39,96,10,245,39,80,237,228,40,96,236,212,41,80,207,196,42,96,206,180,43,80,177,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,145,77,50,224,144,61,51,208,115,45,52,224,114,29,53,16,120,50,54,16,127,253,54,144,148,27,56,170,170,170,170,170,170,170,170,170,170,170,170,51,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,72,31,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,32,28,0,112,170,3,0,96,208,7,0,112,209,96,0,224,212,96,0,224,11,97,0,16,25,97,0,224,64,0,0,0,192,32,24,170,32,225,163,181,144,111,39,21,0,164,24,22,16,163,8,23,128,215,249,23,144,214,233,24,0,11,219,25,144,91,204,26,176,104,188,27,176,89,172,28,176,74,156,29,176,59,140,30,176,44,124,31,176,29,108,32,176,14,92,33,176,255,75,34,176,240,59,35,176,225,43,36,176,210,27,37,176,195,11,38,48,239,4,39,48,224,244,39,64,223,228,40,64,135,120,41,48,194,212,41,48,179,196,42,48,164,180,43,48,149,164,44,48,134,148,45,48,119,132,46,48,104,116,47,48,89,100,48,176,132,93,49,176,95,114,50,176,102,61,51,176,65,82,52,176,72,29,53,176,35,50,54,176,42,253,54,48,64,27,56,176,12,221,56,48,34,251,57,176,238,188,58,48,4,219,59,48,11,166,60,48,230,186,61,48,237,133,62,48,200,154,63,48,207,101,64,176,228,131,65,48,177,69,66,176,198,99,67,48,147,37,68,176,168,67,69,48,117,5,70,176,138,35,71,176,145,238,71,176,108,3,73,176,115,206,73,176,78,227,74,176,85,174,75,64,121,204,76,192,69,142,77,170,170,170,170,170,170,170,170,170,170,170,170,64,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,10,0,0,0,192,81,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,3,0,48,0,66,0,54,0,43,97,0,224,111,97,0,16,128,97,0,224,67,0,0,0,36,25,219,161,32,225,163,181,144,111,39,21,0,164,24,22,16,163,8,23,128,215,249,23,144,214,233,24,0,11,219,25,144,91,204,26,176,104,188,27,176,89,172,28,176,74,156,29,176,59,140,30,176,44,124,31,176,29,108,32,176,14,92,33,176,255,75,34,176,240,59,35,176,225,43,36,176,210,27,37,176,195,11,38,48,239,4,39,48,224,244,39,64,223,228,40,64,135,120,41,48,194,212,41,48,179,196,42,48,164,180,43,0,78,254,43,64,163,164,44,64,148,148,45,64,133,132,46,64,118,116,47,64,103,100,48,192,146,93,49,192,109,114,50,192,116,61,51,192,79,82,52,192,86,29,53,192,49,50,54,192,56,253,54,64,78,27,56,192,26,221,56,64,48,251,57,192,252,188,58,64,18,219,59,64,25,166,60,64,244,186,61,64,251,133,62,64,214,154,63,64,221,101,64,192,242,131,65,64,191,69,66,192,212,99,67,64,161,37,68,192,182,67,69,64,131,5,70,192,152,35,71,192,159,238,71,192,122,3,73,192,129,206,73,192,92,227,74,192,99,174,75,64,121,204,76,192,69,142,77,48,243,75,84,192,204,147,87,170,170,170,170,170,170,170,170,170,170,170,170,67,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,170,10,0,0,0,188,77,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,3,0,48,0,66,0,54,0,144,97,0,224,215,97,0,16,233,97,0,224,65,0,0,0,182,64,179,161,48,239,163,181,160,125,39,21,16,178,24,22,32,177,8,23,144,229,249,23,160,228,233,24,16,25,219,25,160,105,204,26,192,118,188,27,192,103,172,28,192,88,156,29,192,73,140,30,192,58,124,31,192,43,108,32,192,28,92,33,192,13,76,34,192,254,59,35,192,239,43,36,192,224,27,37,192,209,11,38,64,253,4,39,64,238,244,39,80,237,228,40,80,149,120,41,64,208,212,41,64,193,196,42,64,178,180,43,64,163,164,44,64,148,148,45,64,133,132,46,64,118,116,47,64,103,100,48,192,146,93,49,192,109,114,50,192,116,61,51,192,79,82,52,192,86,29,53,192,49,50,54,192,56,253,54,64,78,27,56,192,26,221,56,64,48,251,57,192,252,188,58,64,18,219,59,64,25,166,60,64,244,186,61,64,251,133,62,64,214,154,63,64,221,101,64,192,242,131,65,64,191,69,66,192,212,99,67,64,161,37,68,192,182,67,69,64,131,5,70,192,152,35,71,192,159,238,71,192,122,3,73,192,129,206,73,192,92,227,74,192,99,174,75,64,121,204,76,192,69,142,77,48,243,75,84,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,202,68,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,3,0,48,0,66,0,54,0,249,97,0,224,59,98,0,16,77,98,0,224,51,0,0,0,220,147,25,170,80,11,164,181,176,139,39,21,32,192,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,224,252,27,37,224,237,11,38,96,25,5,39,96,10,245,39,96,251,228,40,96,163,120,41,80,222,212,41,96,221,196,42,96,206,180,43,96,191,164,44,96,176,148,45,96,161,132,46,96,146,116,47,96,131,100,48,224,174,93,49,224,137,114,50,224,144,61,51,224,107,82,52,224,114,29,53,224,77,50,54,224,84,253,54,96,106,27,56,224,54,221,56,96,76,251,57,224,24,189,58,96,46,219,59,96,53,166,60,96,16,187,61,96,23,134,62,96,242,154,63,96,249,101,64,224,14,132,65,51,0,0,0,1,4,5,6,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,3,2,3,2,4,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,170,14,0,0,0,36,48,0,0,0,0,0,0,48,42,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,95,98,0,224,147,98,0,16,161,98,0,224,7,0,0,0,0,223,22,186,8,164,121,203,112,238,86,210,8,198,60,215,0,38,255,218,136,190,181,244,128,116,218,33,170,170,170,170,170,170,170,170,7,0,0,0,2,4,2,3,2,3,1,170,10,0,0,0,128,102,0,0,0,0,0,0,112,98,0,0,0,0,0,0,120,105,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,3,0,48,0,66,0,54,0,181,98,0,224,191,98,0,16,194,98,0,224,4,0,0,0,156,241,215,139,248,22,230,146,112,2,206,85,112,117,236,90,4,0,0,0,1,2,1,2,6,0,0,0,228,117,0,0,0,0,0,0,136,119,0,0,0,0,0,0,144,126,0,0,0,0,0,0,3,0,48,0,66,0,54,0,210,98,0,224,215,98,0,16,217,98,0,224,2,0,0,0,250,0,0,0,51,1,0,0,2,0,0,0,48,157,242,161,192,146,138,4,2,0,0,0,2,1,170,170,6,0,0,0,80,48,0,0,0,0,0,0,48,42,0,0,0,0,0,0,64,56,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,229,98,0,224,232,98,0,224,235,98,0,16,237,98,0,224,51,0,0,0,92,136,25,170,64,253,163,181,176,139,39,21,32,192,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,80,222,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,80,132,116,47,80,117,100,48,208,160,93,49,208,123,114,50,208,130,61,51,208,93,82,52,208,100,29,53,208,63,50,54,208,70,253,54,80,92,27,56,208,40,221,56,80,62,251,57,208,10,189,58,80,32,219,59,80,39,166,60,80,2,187,61,80,9,134,62,80,228,154,63,80,235,101,64,208,0,132,65,51,0,0,0,1,3,4,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,5,170,12,0,0,0,164,59,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,251,98,0,224,47,99,0,16,61,99,0,224,52,0,0,0,160,134,25,170,64,253,163,181,176,139,39,21,32,192,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,80,149,120,41,64,208,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,80,132,116,47,80,117,100,48,208,160,93,49,208,123,114,50,208,130,61,51,208,93,82,52,208,100,29,53,208,63,50,54,208,70,253,54,80,92,27,56,208,40,221,56,80,62,251,57,208,10,189,58,80,32,219,59,80,39,166,60,80,2,187,61,80,9,134,62,80,228,154,63,80,235,101,64,208,0,132,65,160,216,27,92,170,170,170,170,170,170,170,170,170,170,170,170,52,0,0,0,1,3,4,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,3,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,5,3,12,0,0,0,96,61,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,79,99,0,224,135,99,0,16,149,99,0,224,4,0,0,0,236,0,0,0,240,0,0,0,36,1,0,0,55,1,0,0,1,0,0,0,180,54,27,213,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,204,43,0,0,0,0,0,0,48,42,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,167,99,0,224,172,99,0,224,175,99,0,16,177,99,0,224,66,0,0,0,184,205,240,134,240,178,48,210,80,55,39,21,192,107,24,22,208,106,8,23,64,159,249,23,80,158,233,24,192,210,218,25,80,35,204,26,112,48,188,27,112,33,172,28,112,18,156,29,112,3,140,30,112,244,123,31,112,229,107,32,112,214,91,33,112,199,75,34,112,184,59,35,112,169,43,36,112,154,27,37,112,139,11,38,240,182,4,39,240,167,244,39,0,167,228,40,0,79,120,41,240,137,212,41,240,122,196,42,240,107,180,43,240,92,164,44,240,77,148,45,240,62,132,46,240,47,116,47,240,32,100,48,112,76,93,49,112,39,114,50,112,46,61,51,128,23,82,52,128,30,29,53,128,249,49,54,128,0,253,54,0,22,27,56,128,226,220,56,0,248,250,57,128,196,188,58,0,218,218,59,0,225,165,60,0,188,186,61,0,195,133,62,0,158,154,63,0,165,101,64,128,186,131,65,0,135,69,66,128,156,99,67,0,105,37,68,128,126,67,69,0,75,5,70,128,96,35,71,128,103,238,71,128,66,3,73,128,73,206,73,128,36,227,74,128,43,174,75,0,65,204,76,128,13,142,77,240,186,75,84,0,178,246,86,170,170,170,170,170,170,170,170,170,170,170,170,66,0,0,0,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,4,5,4,5,4,5,4,5,4,5,4,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,2,4,170,170,12,0,0,0,200,133,0,0,0,0,0,0,144,126,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,3,0,48,0,66,0,54,0,189,99,0,224,3,100,0,16,21,100,0,224,24,0,0,0,55,133,25,170,64,253,163,181,176,139,39,21,32,192,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,80,237,228,40,170,170,170,170,170,170,170,170,170,170,170,170,24,0,0,0,1,2,3,4,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,10,0,0,0,201,62,0,0,0,0,0,0,64,56,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,39,100,0,224,67,100,0,16,74,100,0,224,2,0,0,0,59,1,0,0,89,2,0,0,28,0,0,0,120,240,215,139,248,22,230,146,112,143,101,215,96,157,238,215,112,250,248,216,224,45,205,217,240,138,215,218,224,15,173,219,240,226,230,220,224,241,140,221,240,41,79,226,248,183,107,228,104,24,19,229,120,3,98,230,232,76,17,231,120,112,47,232,104,244,231,232,120,82,15,234,104,214,199,234,120,52,239,235,104,184,167,236,120,22,207,237,104,154,135,238,120,113,53,240,144,96,163,32,144,103,110,33,144,66,131,34,144,73,78,35,170,170,170,170,28,0,0,0,1,3,4,3,4,3,4,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,10,0,0,0,8,119,0,0,0,0,0,0,136,119,0,0,0,0,0,0,136,119,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,90,100,0,224,93,100,0,224,123,100,0,16,131,100,0,224,6,0,0,0,4,1,0,0,5,1,0,0,15,1,0,0,60,1,0,0,129,1,0,0,38,2,0,0,28,0,0,0,128,162,151,160,240,4,121,161,128,94,89,200,112,249,9,201,0,189,211,201,240,138,5,203,0,64,124,203,240,62,59,210,128,123,139,211,240,173,66,212,0,34,69,213,240,191,76,214,0,191,60,215,112,102,6,216,128,242,29,217,240,124,65,217,32,82,186,30,144,155,105,31,160,132,126,32,144,125,73,33,32,161,103,34,144,95,41,35,32,131,71,36,16,124,18,37,32,101,39,38,16,94,242,38,32,71,7,40,16,64,210,40,2,0,0,0,255,255,255,255,41,67,54,126,170,170,170,170,170,170,170,170,170,170,170,170,29,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,215,113,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,149,100,0,224,156,100,0,224,185,100,0,224,191,100,0,16,200,100,0,224,3,0,0,0,34,1,0,0,61,1,0,0,91,2,0,0,7,0,0,0,163,133,131,134,144,78,103,186,96,228,10,192,96,229,179,202,8,95,145,203,240,109,72,210,0,238,145,22,7,0,0,0,1,2,3,4,6,4,5,170,14,0,0,0,93,97,0,0,0,0,0,0,112,98,0,0,0,0,0,0,112,98,0,0,176,4,0,0,32,103,0,0,0,0,0,0,120,105,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,215,100,0,224,219,100,0,224,227,100,0,16,230,100,0,224,65,0,0,0,228,51,25,170,224,168,163,181,80,55,39,21,192,107,24,22,208,106,8,23,64,159,249,23,80,158,233,24,192,210,218,25,80,35,204,26,112,48,188,27,112,33,172,28,112,18,156,29,112,3,140,30,112,244,123,31,112,229,107,32,112,214,91,33,112,199,75,34,112,184,59,35,112,169,43,36,112,154,27,37,112,139,11,38,240,182,4,39,240,167,244,39,0,167,228,40,0,79,120,41,240,137,212,41,240,122,196,42,240,107,180,43,240,92,164,44,240,77,148,45,240,62,132,46,240,47,116,47,240,32,100,48,112,76,93,49,112,39,114,50,112,46,61,51,112,9,82,52,112,16,29,53,112,235,49,54,112,242,252,54,240,7,27,56,112,212,220,56,240,233,250,57,112,182,188,58,240,203,218,59,240,210,165,60,240,173,186,61,240,180,133,62,240,143,154,63,240,150,101,64,112,172,131,65,240,120,69,66,112,142,99,67,240,90,37,68,112,112,67,69,240,60,5,70,112,82,35,71,112,89,238,71,112,52,3,73,112,59,206,73,112,22,227,74,112,29,174,75,240,50,204,76,112,255,141,77,224,172,75,84,170,170,170,170,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,28,144,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,192,168,0,0,0,0,0,0,3,0,48,0,66,0,54,0,252,100,0,224,63,101,0,16,81,101,0,224,2,0,0,0,63,1,0,0,88,2,0,0,40,0,0,0,128,73,85,195,128,89,84,210,128,123,139,211,240,173,66,212,0,34,69,213,240,191,76,214,0,191,60,215,112,102,6,216,128,242,29,217,240,153,231,217,0,38,255,218,112,205,200,219,128,89,224,220,240,0,170,221,0,115,114,222,112,100,181,223,0,133,124,224,240,151,150,225,128,184,93,226,112,203,119,227,0,236,62,228,112,32,48,229,0,113,33,230,112,165,18,231,128,164,2,232,240,216,243,232,0,216,227,233,112,12,213,234,128,11,197,235,240,63,182,236,0,252,247,237,240,196,152,238,128,47,217,239,112,248,121,240,0,86,252,7,112,138,237,8,128,137,221,9,240,189,206,10,128,161,219,17,112,221,84,18,2,0,0,0,255,255,255,255,24,240,206,116,170,170,170,170,41,0,0,0,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,8,0,0,0,232,113,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,99,101,0,224,102,101,0,224,143,101,0,224,147,101,0,16,159,101,0,224,24,0,0,0,9,131,25,170,48,239,163,181,160,125,39,21,16,178,24,22,32,177,8,23,144,229,249,23,160,228,233,24,16,25,219,25,160,105,204,26,192,118,188,27,192,103,172,28,192,88,156,29,192,73,140,30,192,58,124,31,192,43,108,32,192,28,92,33,192,13,76,34,192,254,59,35,192,239,43,36,192,224,27,37,192,209,11,38,64,253,4,39,64,238,244,39,80,237,228,40,170,170,170,170,170,170,170,170,24,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,10,0,0,0,247,64,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,3,0,48,0,66,0,54,0,176,101,0,224,203,101,0,16,210,101,0,224,50,0,0,0,1,154,25,170,80,12,218,231,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,224,252,27,37,224,237,11,38,96,25,5,39,96,10,245,39,112,9,229,40,80,222,212,41,64,193,196,42,80,192,180,43,64,163,164,44,80,162,148,45,64,133,132,46,64,118,116,47,48,89,100,48,192,146,93,49,176,65,82,52,192,86,29,53,176,35,50,54,192,56,253,54,48,64,27,56,192,26,221,56,48,34,251,57,192,252,188,58,48,4,219,59,64,25,166,60,48,230,186,61,64,251,133,62,48,200,154,63,64,221,101,64,176,199,221,64,240,28,132,65,112,233,69,66,170,170,170,170,170,170,170,170,50,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,2,1,3,170,170,10,0,0,0,255,41,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,226,101,0,224,23,102,0,16,37,102,0,224,2,0,0,0,66,1,0,0,17,2,0,0,70,0,0,0,72,204,0,191,56,68,148,13,184,19,173,14,64,115,121,15,192,202,40,16,64,58,237,16,72,188,173,17,184,74,69,18,200,236,55,19,184,21,45,20,200,118,32,40,184,157,219,40,200,156,203,41,184,34,190,42,72,208,172,43,56,86,159,44,200,3,142,45,184,137,128,46,72,55,111,47,56,189,97,48,200,106,80,49,184,240,66,50,200,239,50,51,184,117,37,52,72,35,20,53,56,169,6,54,200,86,245,54,184,220,231,55,72,138,214,56,56,16,201,57,72,15,185,58,56,149,171,59,200,66,154,60,184,200,140,61,72,118,123,62,56,252,109,63,200,169,92,64,184,47,79,65,200,46,63,66,184,180,49,67,72,201,226,71,56,79,213,72,72,78,197,73,56,212,183,74,200,129,166,75,184,7,153,76,72,181,135,77,56,59,122,78,200,232,104,79,184,110,91,80,200,109,75,81,184,243,61,82,72,161,44,83,56,39,31,84,200,212,13,85,184,90,0,86,72,8,239,86,56,142,225,87,72,141,209,88,56,19,196,89,200,192,178,90,184,70,165,91,72,244,147,92,56,122,134,93,200,39,117,94,184,173,103,95,200,172,87,96,184,50,74,97,72,224,56,98,56,102,43,99,70,0,0,0,1,2,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,10,0,0,0,56,48,0,0,0,0,0,0,56,49,0,0,0,0,0,0,56,49,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,53,102,0,224,56,102,0,224,127,102,0,16,146,102,0,224,2,0,0,0,68,1,0,0,69,1,0,0,2,0,0,0,116,21,230,213,168,77,97,33,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,12,84,0,0,0,0,0,0,88,77,0,0,0,0,0,0,96,84,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,164,102,0,224,167,102,0,224,171,102,0,16,173,102,0,224,3,0,0,0,70,1,0,0,19,2,0,0,21,2,0,0,8,0,0,0,112,2,62,215,240,89,237,215,112,250,248,216,240,59,205,217,240,0,7,219,240,29,173,219,240,226,230,220,240,255,140,221,2,0,0,0,255,255,255,255,112,164,194,101,9,0,0,0,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,3,131,0,0,0,0,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,187,102,0,224,191,102,0,224,200,102,0,224,203,102,0,16,207,102,0,224,67,0,0,0,217,78,229,161,32,225,163,181,144,111,39,21,0,164,24,22,16,163,8,23,128,215,249,23,144,214,233,24,0,11,219,25,144,91,204,26,176,104,188,27,176,89,172,28,176,74,156,29,176,59,140,30,176,44,124,31,176,29,108,32,176,14,92,33,176,255,75,34,176,240,59,35,176,225,43,36,176,210,27,37,176,195,11,38,48,239,4,39,48,224,244,39,64,223,228,40,64,135,120,41,48,194,212,41,48,179,196,42,48,164,180,43,48,149,164,44,48,134,148,45,48,119,132,46,48,104,116,47,48,89,100,48,176,132,93,49,176,95,114,50,176,102,61,51,176,65,82,52,176,72,29,53,176,35,50,54,176,42,253,54,48,64,27,56,176,12,221,56,48,34,251,57,176,238,188,58,48,4,219,59,48,11,166,60,176,233,206,60,64,244,186,61,64,251,133,62,64,214,154,63,64,221,101,64,192,242,131,65,64,191,69,66,192,212,99,67,64,161,37,68,192,182,67,69,64,131,5,70,192,152,35,71,192,159,238,71,192,122,3,73,192,129,206,73,192,92,227,74,192,99,174,75,64,121,204,76,192,69,142,77,48,243,75,84,192,248,73,87,170,170,170,170,67,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,170,10,0,0,0,167,79,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,3,0,48,0,66,0,54,0,222,102,0,224,35,103,0,16,53,103,0,224,2,0,0,0,73,1,0,0,74,1,0,0,50,0,0,0,76,238,211,134,144,220,11,15,128,200,233,24,240,252,218,25,128,77,204,26,112,48,188,27,128,47,172,28,112,18,156,29,128,17,140,30,112,244,123,31,128,243,107,32,112,214,91,33,128,213,75,34,112,184,59,35,128,183,43,36,112,154,27,37,128,153,11,38,240,182,4,39,0,182,244,39,240,152,228,40,0,152,212,41,240,122,196,42,0,122,180,43,240,92,164,44,0,92,148,45,240,62,132,46,0,62,116,47,240,32,100,48,128,90,93,49,112,61,77,50,128,60,61,51,112,31,45,52,128,30,29,53,112,1,13,54,160,179,233,58,144,172,180,59,160,171,164,60,144,142,148,61,160,141,132,62,144,112,116,63,160,111,100,64,144,82,84,65,160,81,68,66,144,52,52,67,160,51,36,68,16,81,29,69,160,154,21,85,112,97,5,86,160,124,245,86,112,67,229,87,50,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,52,100,0,0,0,0,0,0,112,98,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,69,103,0,224,72,103,0,224,123,103,0,16,137,103,0,224,3,0,0,0,238,0,0,0,28,1,0,0,75,1,0,0,1,0,0,0,100,186,254,176,1,0,0,0,1,170,170,170,4,0,0,0,28,82,0,0,0,0,0,0,96,84,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,153,103,0,224,157,103,0,224,159,103,0,16,161,103,0,224,66,0,0,0,186,221,219,161,0,197,163,181,112,83,39,21,192,107,24,22,208,106,8,23,64,159,249,23,80,158,233,24,192,210,218,25,80,35,204,26,112,48,188,27,112,33,172,28,112,18,156,29,112,3,140,30,112,244,123,31,112,229,107,32,112,214,91,33,112,199,75,34,112,184,59,35,112,169,43,36,112,154,27,37,112,139,11,38,240,182,4,39,240,167,244,39,0,167,228,40,0,79,120,41,240,137,212,41,240,122,196,42,240,107,180,43,240,92,164,44,240,77,148,45,240,62,132,46,240,47,116,47,240,32,100,48,112,76,93,49,112,39,114,50,112,46,61,51,112,9,82,52,112,16,29,53,112,235,49,54,112,242,252,54,240,7,27,56,112,212,220,56,240,233,250,57,112,182,188,58,240,203,218,59,240,210,165,60,240,173,186,61,240,180,133,62,240,143,154,63,240,150,101,64,112,172,131,65,240,120,69,66,112,142,99,67,240,90,37,68,112,112,67,69,240,60,5,70,112,82,35,71,112,89,238,71,112,52,3,73,112,59,206,73,112,22,227,74,112,29,174,75,240,50,204,76,112,255,141,77,64,244,109,78,240,186,75,84,170,170,170,170,170,170,170,170,170,170,170,170,66,0,0,0,1,2,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,4,3,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,3,170,170,16,0,0,0,70,134,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,192,168,0,0,0,0,0,0,3,0,48,0,66,0,54,0,173,103,0,224,243,103,0,16,5,104,0,224,65,0,0,0,93,71,89,167,240,182,163,181,96,69,39,21,208,121,24,22,224,120,8,23,80,173,249,23,96,172,233,24,208,224,218,25,96,49,204,26,128,62,188,27,128,47,172,28,128,32,156,29,128,17,140,30,128,2,124,31,128,243,107,32,128,228,91,33,128,213,75,34,128,198,59,35,128,183,43,36,128,168,27,37,128,153,11,38,0,197,4,39,0,182,244,39,16,181,228,40,16,93,120,41,0,152,212,41,0,137,196,42,0,122,180,43,0,107,164,44,0,92,148,45,0,77,132,46,0,62,116,47,0,47,100,48,128,90,93,49,128,53,114,50,128,60,61,51,128,23,82,52,128,30,29,53,128,249,49,54,128,0,253,54,0,22,27,56,128,226,220,56,0,248,250,57,128,196,188,58,0,218,218,59,0,225,165,60,0,188,186,61,0,195,133,62,0,158,154,63,0,165,101,64,128,186,131,65,0,135,69,66,128,156,99,67,0,105,37,68,128,126,67,69,0,75,5,70,128,96,35,71,128,103,238,71,128,66,3,73,128,73,206,73,128,36,227,74,128,43,174,75,0,65,204,76,128,13,142,77,240,186,75,84,170,170,170,170,170,170,170,170,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,163,123,0,0,0,0,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,3,0,48,0,66,0,54,0,27,104,0,224,95,104,0,16,113,104,0,224,65,0,0,0,94,234,219,161,0,197,163,181,112,83,39,21,224,135,24,22,240,134,8,23,96,187,249,23,112,186,233,24,224,238,218,25,112,63,204,26,144,76,188,27,144,61,172,28,144,46,156,29,144,31,140,30,144,16,124,31,144,1,108,32,144,242,91,33,144,227,75,34,144,212,59,35,144,197,43,36,144,182,27,37,144,167,11,38,16,211,4,39,16,196,244,39,32,195,228,40,32,107,120,41,16,166,212,41,16,151,196,42,16,136,180,43,16,121,164,44,16,106,148,45,16,91,132,46,16,76,116,47,16,61,100,48,144,104,93,49,144,67,114,50,144,74,61,51,144,37,82,52,144,44,29,53,144,7,50,54,144,14,253,54,16,36,27,56,144,240,220,56,16,6,251,57,144,210,188,58,16,232,218,59,16,239,165,60,16,202,186,61,16,209,133,62,16,172,154,63,16,179,101,64,144,200,131,65,16,149,69,66,144,170,99,67,16,119,37,68,144,140,67,69,16,89,5,70,144,110,35,71,144,117,238,71,144,80,3,73,144,87,206,73,144,50,227,74,144,57,174,75,16,79,204,76,144,27,142,77,0,201,75,84,170,170,170,170,170,170,170,170,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,162,121,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,160,140,0,0,0,0,0,0,3,0,48,0,66,0,54,0,131,104,0,224,199,104,0,16,217,104,0,224,3,0,0,0,54,1,0,0,80,1,0,0,9,2,0,0,3,0,0,0,81,115,242,161,24,252,242,203,240,103,154,209,3,0,0,0,1,2,1,170,6,0,0,0,47,90,0,0,0,0,0,0,104,91,0,0,0,0,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,235,104,0,224,239,104,0,224,243,104,0,16,245,104,0,224,66,0,0,0,39,9,95,155,255,177,18,161,64,253,163,181,176,139,39,21,32,192,24,22,48,191,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,80,222,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,80,132,116,47,80,117,100,48,208,160,93,49,208,123,114,50,208,130,61,51,208,93,82,52,208,100,29,53,208,63,50,54,208,70,253,54,80,92,27,56,208,40,221,56,80,62,251,57,208,10,189,58,80,32,219,59,80,39,166,60,80,2,187,61,80,9,134,62,80,228,154,63,80,235,101,64,208,0,132,65,80,205,69,66,208,226,99,67,80,175,37,68,208,196,67,69,80,145,5,70,208,166,35,71,208,173,238,71,208,136,3,73,208,143,206,73,208,106,227,74,208,113,174,75,80,135,204,76,208,83,142,77,64,1,76,84,170,170,170,170,66,0,0,0,1,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,6,4,170,170,14,0,0,0,217,56,0,0,0,0,0,0,193,52,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,3,105,0,224,71,105,0,16,89,105,0,224,2,0,0,0,82,1,0,0,31,2,0,0,62,0,0,0,72,154,25,170,80,12,218,231,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,224,252,27,37,224,237,11,38,96,25,5,39,96,10,245,39,112,9,229,40,112,250,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,224,144,61,51,224,107,82,52,224,114,29,53,224,77,50,54,224,84,253,54,96,106,27,56,224,54,221,56,96,76,251,57,224,24,189,58,96,46,219,59,96,53,166,60,96,16,187,61,96,23,134,62,96,242,154,63,96,249,101,64,224,14,132,65,96,219,69,66,224,240,99,67,96,189,37,68,224,210,67,69,96,159,5,70,224,180,35,71,224,187,238,71,224,150,3,73,224,157,206,73,224,120,227,74,224,127,174,75,96,149,204,76,224,97,142,77,96,119,172,78,62,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,184,41,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,109,105,0,224,112,105,0,224,175,105,0,16,192,105,0,224,140,0,0,0,160,170,230,146,144,137,75,155,160,227,254,155,144,9,157,156,144,159,201,157,144,142,127,158,16,211,170,159,144,112,95,160,144,6,140,161,144,245,65,162,144,139,110,163,16,41,35,164,16,191,79,165,144,11,6,170,16,171,244,170,16,196,201,173,16,64,167,174,144,107,160,175,16,34,135,176,16,136,137,177,144,62,112,178,144,164,114,179,144,32,80,180,144,104,50,183,144,228,15,184,144,213,255,184,144,198,239,185,16,212,200,188,16,197,184,189,144,123,159,190,16,167,152,191,16,13,155,192,16,137,120,193,16,122,104,194,16,107,88,195,144,33,63,196,16,77,56,197,16,179,58,198,144,200,88,199,144,251,217,199,144,75,1,201,144,60,241,201,16,127,226,202,16,111,181,203,0,192,236,203,0,104,128,204,16,191,220,204,16,81,149,205,128,103,195,205,0,191,114,206,144,219,197,206,16,51,117,207,0,132,172,207,0,161,82,208,144,189,165,208,16,21,85,209,0,102,140,209,0,131,50,210,144,159,133,210,16,225,89,211,16,210,73,212,64,237,57,213,64,222,41,214,64,207,25,215,64,192,9,216,64,177,249,216,64,162,233,217,64,147,217,218,64,132,201,219,64,117,185,220,192,160,178,221,192,145,162,222,192,130,146,223,192,115,130,224,192,100,114,225,192,85,98,226,192,70,82,227,192,55,66,228,192,40,50,229,192,25,34,230,64,69,27,231,64,54,11,232,64,39,251,232,64,24,235,233,64,9,219,234,64,250,202,235,64,235,186,236,64,220,170,237,64,205,154,238,64,190,138,239,64,175,122,240,64,160,106,241,192,203,99,242,192,188,83,243,192,173,67,244,192,158,51,245,192,143,35,246,192,128,19,247,192,113,3,248,192,98,243,248,16,41,155,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,160,38,84,18,144,9,68,19,160,8,52,20,160,249,35,21,160,234,19,22,160,219,3,23,160,204,243,23,176,203,227,24,160,174,211,25,160,159,195,26,32,203,188,27,32,188,172,28,32,173,156,29,32,158,140,30,32,143,124,31,32,128,108,32,32,113,92,33,32,98,76,34,32,83,60,35,32,68,44,36,32,53,28,37,32,38,12,38,160,81,5,39,160,66,245,39,160,51,229,40,160,36,213,41,160,21,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,144,27,61,94,170,170,170,170,141,0,0,0,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,7,6,5,6,5,6,5,6,5,170,170,170,16,0,0,0,240,231,255,255,0,0,0,0,224,227,255,255,0,0,0,0,224,227,255,255,16,14,0,0,224,227,255,255,32,28,0,0,40,229,255,255,0,0,0,0,240,241,255,255,0,0,0,0,240,241,255,255,16,14,0,0,0,0,0,0,0,0,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,240,241,255,127,7,0,0,96,205,7,0,112,210,105,0,224,95,106,0,224,99,106,0,16,136,106,0,224,95,0,0,0,70,174,204,156,54,75,183,157,198,109,184,158,54,184,132,159,230,29,195,180,224,166,98,203,208,188,211,204,224,209,158,205,208,19,198,206,96,121,117,207,80,48,175,208,96,91,85,209,80,18,143,210,96,104,113,213,208,60,14,214,224,132,90,215,80,228,228,215,224,102,58,217,80,198,196,217,96,131,35,219,80,168,164,219,96,101,3,221,80,138,132,221,96,71,227,222,208,166,109,223,224,9,108,230,208,2,55,231,96,179,32,8,80,150,16,9,96,149,0,10,80,120,240,10,96,119,224,11,208,148,217,12,96,89,192,13,208,118,185,14,224,117,169,15,208,88,153,16,224,87,137,17,208,58,121,18,224,57,105,19,208,28,89,20,224,27,73,21,208,254,56,22,224,253,40,23,80,27,34,24,224,223,8,25,80,253,1,26,96,252,241,26,80,223,225,27,96,222,209,28,80,193,193,29,96,192,177,30,80,163,161,31,224,242,117,32,80,133,129,33,224,212,85,34,208,161,106,35,224,182,53,36,208,131,74,37,224,152,21,38,208,101,42,39,96,181,254,39,208,71,10,41,96,151,222,41,208,41,234,42,96,121,190,43,80,70,211,44,96,91,158,45,80,40,179,46,96,61,126,47,80,10,147,48,224,89,103,49,80,236,114,50,224,59,71,51,80,206,82,52,224,29,39,53,80,176,50,54,224,255,6,55,208,204,27,56,224,225,230,56,208,174,251,57,224,195,198,58,208,144,219,59,96,224,175,60,208,114,187,61,96,194,143,62,208,84,155,63,96,164,111,64,80,113,132,65,96,134,79,66,80,83,100,67,96,104,47,68,80,53,68,69,224,154,243,69,208,81,45,71,170,170,170,170,170,170,170,170,170,170,170,170,95,0,0,0,1,0,1,0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,8,0,0,0,58,195,255,255,0,0,0,0,58,195,255,255,16,14,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,192,199,255,127,1,0,0,96,216,7,0,112,164,106,0,224,7,107,0,16,32,107,0,224,36,0,0,0,240,92,4,166,32,247,65,212,0,54,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,36,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,8,0,0,0,144,241,255,255,0,0,0,0,240,241,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,0,0,0,112,7,0,0,96,205,7,0,112,51,107,0,224,91,107,0,16,101,107,0,224,4,0,0,0,160,170,230,146,32,156,149,204,16,124,116,210,64,247,23,11,170,170,170,170,170,170,170,170,4,0,0,0,1,2,1,3,8,0,0,0,244,233,255,255,0,0,0,0,224,227,255,255,0,0,0,0,224,227,255,255,16,14,0,0,240,241,255,255,0,0,0,0,3,0,48,0,66,0,54,0,120,107,0,224,127,107,0,16,129,107,0,224,2,0,0,0,87,1,0,0,88,1,0,0,33,0,0,0,88,164,109,139,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,33,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,168,249,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,0,0,0,112,7,0,0,96,205,7,0,112,143,107,0,224,146,107,0,224,183,107,0,16,193,107,0,224,140,0,0,0,144,156,230,146,128,123,75,155,144,213,254,155,128,251,156,156,128,145,201,157,128,128,127,158,0,197,170,159,128,98,95,160,128,248,139,161,128,231,65,162,128,125,110,163,0,27,35,164,0,177,79,165,128,253,5,170,0,157,244,170,0,182,201,173,0,50,167,174,128,93,160,175,0,20,135,176,0,122,137,177,128,48,112,178,128,150,114,179,128,18,80,180,128,90,50,183,128,214,15,184,128,199,255,184,128,184,239,185,0,198,200,188,0,183,184,189,128,109,159,190,0,153,152,191,0,255,154,192,0,123,120,193,0,108,104,194,0,93,88,195,128,19,63,196,0,63,56,197,0,165,58,198,128,186,88,199,128,237,217,199,128,61,1,201,128,46,241,201,0,113,226,202,0,97,181,203,240,177,236,203,240,89,128,204,0,177,220,204,0,67,149,205,112,89,195,205,240,176,114,206,128,205,197,206,0,37,117,207,240,117,172,207,240,146,82,208,128,175,165,208,0,7,85,209,240,87,140,209,240,116,50,210,128,145,133,210,0,211,89,211,0,196,73,212,48,223,57,213,48,208,41,214,48,193,25,215,48,178,9,216,48,163,249,216,48,148,233,217,48,133,217,218,48,118,201,219,48,103,185,220,176,146,178,221,176,131,162,222,176,116,146,223,176,101,130,224,176,86,114,225,176,71,98,226,176,56,82,227,176,41,66,228,176,26,50,229,176,11,34,230,48,55,27,231,48,40,11,232,48,25,251,232,48,10,235,233,48,251,218,234,48,236,202,235,48,221,186,236,48,206,170,237,48,191,154,238,48,176,138,239,48,161,122,240,48,146,106,241,176,189,99,242,176,174,83,243,176,159,67,244,176,144,51,245,176,129,35,246,176,114,19,247,176,99,3,248,176,84,243,248,0,27,155,13,0,12,139,14,128,55,132,15,128,40,116,16,128,25,100,17,144,24,84,18,128,251,67,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,160,189,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,140,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,12,0,0,0,40,240,255,255,0,0,0,0,240,241,255,255,0,0,0,0,240,241,255,255,16,14,0,0,240,241,255,255,32,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,0,0,0,112,7,0,0,96,205,7,0,112,211,107,0,224,99,108,0,16,135,108,0,224,2,0,0,0,255,255,255,255,192,253,134,105,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,192,221,255,255,0,0,0,0,224,227,255,255,0,0,0,0,3,0,80,0,66,0,54,0,158,108,0,224,163,108,0,16,165,108,0,224,69,0,0,0,60,95,68,147,192,90,79,195,48,3,54,196,192,60,47,197,48,229,21,198,64,89,24,199,176,1,255,199,64,59,248,200,176,227,222,201,64,29,216,202,176,197,190,203,64,255,183,204,48,129,54,205,64,254,17,25,176,188,211,25,32,196,241,26,48,100,170,27,32,166,209,28,48,70,138,29,176,91,168,30,64,54,106,31,176,61,136,32,64,24,74,33,176,31,104,34,64,250,41,35,176,1,72,36,64,220,9,37,48,30,49,38,64,190,233,38,48,0,17,40,192,218,210,40,48,226,240,41,192,188,178,42,48,196,208,43,192,158,146,44,48,166,176,45,192,128,114,46,48,136,144,47,192,98,82,48,176,164,121,49,64,127,59,50,176,134,89,51,64,97,27,52,176,104,57,53,64,67,251,53,176,74,25,55,64,37,219,55,176,44,249,56,64,7,187,57,208,42,217,58,224,202,145,59,80,71,194,60,224,172,113,61,80,41,162,62,96,201,90,63,80,11,130,64,96,171,58,65,80,237,97,66,96,141,26,67,80,207,65,68,96,111,250,68,80,177,33,70,96,81,218,70,208,205,10,72,224,109,195,72,208,175,234,73,224,79,163,74,208,145,202,75,224,49,131,76,170,170,170,170,170,170,170,170,69,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,170,10,0,0,0,196,201,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,175,108,0,224,247,108,0,16,10,109,0,224,2,0,0,0,96,1,0,0,112,1,0,0,83,0,0,0,136,201,78,156,8,54,188,156,8,186,84,203,136,108,199,203,136,93,183,204,136,78,167,205,8,122,160,206,136,48,135,207,136,64,112,3,8,35,13,4,136,34,80,5,136,63,246,5,136,4,48,7,136,33,214,7,136,230,15,9,136,3,182,9,136,200,239,10,8,32,159,11,8,229,216,12,8,2,127,13,8,199,184,14,8,228,94,15,8,169,152,16,8,198,62,17,8,139,120,18,8,168,30,19,8,109,88,20,8,138,254,20,8,79,56,22,136,166,231,22,136,107,33,24,136,136,199,24,136,77,1,26,136,106,167,26,136,47,225,27,136,76,135,28,136,17,193,29,136,163,121,30,8,185,151,31,136,133,89,32,136,213,128,33,8,162,66,34,8,242,105,35,8,132,34,36,8,212,73,37,8,102,2,38,8,182,41,39,8,211,207,39,8,152,9,41,136,100,203,41,8,122,233,42,136,209,152,43,136,150,210,44,136,40,139,45,136,120,178,46,8,69,116,47,136,90,146,48,136,97,93,49,136,60,114,50,136,67,61,51,136,30,82,52,136,37,29,53,136,0,50,54,136,7,253,54,8,29,27,56,136,233,220,56,8,255,250,57,136,203,188,58,8,225,218,59,8,232,165,60,8,195,186,61,8,202,133,62,8,165,154,63,8,172,101,64,136,193,131,65,8,142,69,66,136,163,99,67,136,170,46,68,136,133,67,69,8,82,5,70,136,103,35,71,8,169,247,71,8,154,231,72,4,0,0,0,255,255,255,255,20,139,22,115,255,255,255,255,112,3,18,123,170,170,170,170,85,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,170,170,170,8,0,0,0,236,129,0,0,0,0,0,0,144,126,0,0,0,0,0,0,152,133,0,0,0,0,0,0,152,133,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,152,133,0,112,40,0,0,96,217,7,0,112,26,109,0,224,29,109,0,224,113,109,0,224,119,109,0,16,142,109,0,224,2,0,0,0,97,1,0,0,111,1,0,0,16,0,0,0,128,194,78,156,0,47,188,156,0,179,84,203,128,101,199,203,128,86,183,204,128,71,167,205,0,115,160,206,128,41,135,207,128,57,112,3,0,28,13,4,0,205,73,37,0,234,239,37,0,175,41,39,0,204,207,39,0,145,9,41,0,174,175,41,2,0,0,0,255,255,255,255,8,159,237,114,17,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,120,143,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,164,109,0,224,167,109,0,224,184,109,0,224,187,109,0,16,193,109,0,224,2,0,0,0,98,1,0,0,117,1,0,0,83,0,0,0,136,201,78,156,8,54,188,156,8,186,84,203,136,108,199,203,136,93,183,204,136,78,167,205,8,122,160,206,136,48,135,207,136,64,112,3,8,35,13,4,136,34,80,5,136,63,246,5,136,4,48,7,136,33,214,7,136,230,15,9,136,3,182,9,136,200,239,10,8,32,159,11,8,229,216,12,8,2,127,13,8,199,184,14,8,228,94,15,8,169,152,16,8,198,62,17,8,139,120,18,8,168,30,19,8,109,88,20,8,138,254,20,8,79,56,22,136,144,12,23,136,107,33,24,136,136,199,24,136,77,1,26,136,106,167,26,136,47,225,27,136,76,135,28,136,17,193,29,136,163,121,30,8,185,151,31,136,133,89,32,136,213,128,33,8,162,66,34,8,242,105,35,8,132,34,36,8,212,73,37,8,241,239,37,8,182,41,39,8,211,207,39,8,152,9,41,8,181,175,41,8,122,233,42,136,209,152,43,136,150,210,44,136,179,120,45,136,120,178,46,136,149,88,47,136,90,146,48,136,97,93,49,136,60,114,50,136,67,61,51,136,30,82,52,136,37,29,53,136,0,50,54,136,7,253,54,8,29,27,56,136,233,220,56,8,255,250,57,136,203,188,58,8,225,218,59,8,232,165,60,8,195,186,61,8,202,133,62,8,165,154,63,8,172,101,64,136,193,131,65,8,142,69,66,136,163,99,67,136,170,46,68,136,133,67,69,8,82,5,70,136,103,35,71,8,169,247,71,8,154,231,72,6,0,0,0,255,255,255,255,100,136,22,115,255,255,255,255,224,165,4,118,255,255,255,255,112,3,18,123,170,170,170,170,86,0,0,0,4,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,170,170,10,0,0,0,156,132,0,0,0,0,0,0,144,126,0,0,0,0,0,0,152,133,0,0,0,0,0,0,152,133,0,0,16,14,0,0,160,140,0,0,0,0,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,152,133,0,112,40,0,0,96,217,7,0,112,208,109,0,224,211,109,0,224,39,110,0,224,47,110,0,16,70,110,0,224,3,0,0,0,0,0,0,0,101,1,0,0,109,1,0,0,8,0,0,0,136,201,78,156,8,54,188,156,8,186,84,203,136,108,199,203,136,93,183,204,136,78,167,205,8,122,160,206,136,48,135,207,4,0,0,0,255,255,255,255,88,146,22,115,255,255,255,255,112,3,18,123,170,170,170,170,170,170,170,170,170,170,170,170,10,0,0,0,1,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,168,122,0,0,0,0,0,0,144,126,0,0,0,0,0,0,152,133,0,0,0,0,0,0,152,133,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,94,110,0,224,98,110,0,224,107,110,0,224,115,110,0,16,119,110,0,224,18,0,0,0,20,212,78,156,148,64,188,156,148,196,84,203,20,119,199,203,20,104,183,204,20,89,167,205,20,241,15,9,20,14,182,9,20,88,1,26,20,117,167,26,20,82,37,41,148,191,175,41,148,180,113,69,148,92,5,70,20,114,35,71,20,121,238,71,20,84,3,73,20,91,206,73,2,0,0,0,255,255,255,255,176,10,166,116,170,170,170,170,19,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,208,120,0,0,0,0,0,0,12,123,0,0,0,0,0,0,12,123,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,136,110,0,224,155,110,0,224,159,110,0,16,165,110,0,224,3,0,0,0,100,1,0,0,103,1,0,0,114,1,0,0,95,0,0,0,128,120,213,155,0,47,188,156,128,68,218,157,128,97,128,158,128,38,186,159,128,67,96,160,0,179,84,203,128,101,199,203,128,86,183,204,128,71,167,205,0,115,160,206,128,41,135,207,0,141,194,251,0,126,178,252,0,89,199,253,128,176,118,254,0,59,167,255,128,146,86,0,0,29,135,1,0,175,63,2,128,57,112,3,0,28,13,4,128,27,80,5,128,56,246,5,128,253,47,7,128,26,214,7,128,223,15,9,128,252,181,9,128,193,239,10,0,25,159,11,0,222,216,12,0,251,126,13,0,192,184,14,0,221,94,15,0,162,152,16,0,191,62,17,0,132,120,18,0,161,30,19,0,102,88,20,0,131,254,20,0,72,56,22,0,79,3,23,128,100,33,24,0,49,227,24,128,70,1,26,128,99,167,26,128,40,225,27,128,69,135,28,128,10,193,29,128,39,103,30,0,178,151,31,128,126,89,32,128,206,128,33,0,155,66,34,0,235,105,35,0,125,34,36,0,205,73,37,0,95,2,38,0,175,41,39,0,182,244,39,128,225,237,40,0,152,212,41,128,195,205,42,0,122,180,43,128,165,173,44,0,92,148,45,128,135,141,46,0,62,116,47,128,105,109,48,128,90,93,49,0,134,86,50,128,60,61,51,0,104,54,52,128,30,29,53,0,74,22,54,128,0,253,54,0,44,246,55,128,226,220,56,128,233,167,57,128,196,188,58,128,42,191,59,0,225,165,60,128,12,159,61,0,195,133,62,128,238,126,63,0,165,101,64,128,208,94,65,0,135,69,66,128,178,62,67,128,163,46,68,128,148,30,69,0,75,5,70,0,177,7,71,0,162,247,71,0,147,231,72,2,0,0,0,255,255,255,255,228,0,46,116,170,170,170,170,96,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,6,0,0,0,28,138,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,140,0,112,218,3,0,96,217,7,0,112,179,110,0,224,183,110,0,224,23,111,0,224,27,111,0,16,52,111,0,224,20,0,0,0,128,194,78,156,0,47,188,156,0,179,84,203,128,101,199,203,128,86,183,204,128,71,167,205,0,115,160,206,128,41,135,207,128,57,112,3,0,28,13,4,0,205,73,37,0,234,239,37,0,175,41,39,0,204,207,39,0,145,9,41,0,174,175,41,0,115,233,42,128,202,152,43,128,143,210,44,128,172,120,45,2,0,0,0,255,255,255,255,212,162,237,114,170,170,170,170,170,170,170,170,170,170,170,170,21,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,172,139,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,72,111,0,224,93,111,0,224,99,111,0,16,106,111,0,224,2,0,0,0,104,1,0,0,106,1,0,0,56,0,0,0,224,102,254,20,248,64,56,22,104,138,231,22,120,93,33,24,104,108,199,24,120,63,1,26,104,78,167,26,120,33,225,27,104,48,135,28,120,3,193,29,112,142,121,30,248,170,151,31,112,112,89,32,120,199,128,33,240,140,66,34,248,227,105,35,240,110,34,36,248,197,73,37,240,219,239,37,248,167,41,39,240,189,207,39,248,137,9,41,240,159,175,41,248,107,233,42,112,188,152,43,120,136,210,44,112,158,120,45,120,106,178,46,112,128,88,47,120,76,146,48,112,76,93,49,120,46,114,50,112,46,61,51,120,16,82,52,112,16,29,53,120,242,49,54,112,242,252,54,248,14,27,56,112,212,220,56,120,226,167,57,112,182,188,58,248,210,218,59,240,210,165,60,248,180,186,61,240,180,133,62,248,150,154,63,240,150,101,64,120,179,131,65,240,120,69,66,120,149,99,67,112,149,46,68,120,119,67,69,240,60,5,70,120,89,35,71,240,147,247,71,248,139,231,72,2,0,0,0,255,255,255,255,220,119,22,115,57,0,0,0,1,2,4,2,4,2,4,2,4,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,170,170,170,10,0,0,0,36,149,0,0,0,0,0,0,160,140,0,0,0,0,0,0,168,147,0,0,0,0,0,0,168,147,0,0,8,7,0,0,168,147,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,168,147,0,112,216,1,0,96,217,7,0,112,120,111,0,224,123,111,0,224,180,111,0,224,183,111,0,16,199,111,0,224,2,0,0,0,107,1,0,0,115,1,0,0,83,0,0,0,128,194,78,156,0,47,188,156,0,179,84,203,128,101,199,203,128,86,183,204,128,71,167,205,0,115,160,206,128,41,135,207,128,57,112,3,0,28,13,4,128,27,80,5,128,56,246,5,128,253,47,7,128,26,214,7,128,223,15,9,128,252,181,9,128,193,239,10,0,25,159,11,0,222,216,12,0,251,126,13,0,192,184,14,0,221,94,15,0,162,152,16,0,191,62,17,0,132,120,18,0,161,30,19,0,102,88,20,0,131,254,20,0,72,56,22,128,159,231,22,128,100,33,24,128,129,199,24,128,70,1,26,128,99,167,26,128,40,225,27,128,69,135,28,128,10,193,29,128,156,121,30,0,178,151,31,128,126,89,32,0,148,119,33,0,155,66,34,0,235,105,35,0,125,34,36,0,205,73,37,0,95,2,38,0,175,41,39,0,204,207,39,0,145,9,41,0,174,175,41,0,115,233,42,128,202,152,43,128,143,210,44,128,172,120,45,128,113,178,46,0,62,116,47,128,83,146,48,128,90,93,49,128,53,114,50,128,60,61,51,128,23,82,52,128,30,29,53,128,249,49,54,128,0,253,54,0,22,27,56,128,226,220,56,128,233,167,57,128,196,188,58,0,218,218,59,0,225,165,60,0,188,186,61,0,195,133,62,0,158,154,63,0,165,101,64,128,186,131,65,0,135,69,66,128,156,99,67,128,163,46,68,128,126,67,69,0,75,5,70,128,96,35,71,0,162,247,71,0,147,231,72,2,0,0,0,255,255,255,255,24,133,22,115,170,170,170,170,170,170,170,170,84,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,6,0,0,0,232,135,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,140,0,112,235,0,0,96,217,7,0,112,223,111,0,224,226,111,0,224,54,112,0,224,59,112,0,16,81,112,0,224,2,0,0,0,110,1,0,0,116,1,0,0,18,0,0,0,160,222,78,156,32,75,188,156,32,207,84,203,160,129,199,203,160,114,183,204,160,99,167,205,160,251,15,9,160,24,182,9,160,98,1,26,160,127,167,26,160,92,37,41,32,202,175,41,32,191,113,69,32,103,5,70,160,124,35,71,160,131,238,71,160,94,3,73,160,101,206,73,2,0,0,0,255,255,255,255,228,22,166,116,170,170,170,170,19,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,156,108,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,101,112,0,224,104,112,0,224,123,112,0,224,127,112,0,16,133,112,0,224,5,0,0,0,1,0,0,0,95,1,0,0,99,1,0,0,108,1,0,0,113,1,0,0,83,0,0,0,128,194,78,156,0,47,188,156,0,179,84,203,128,101,199,203,128,86,183,204,128,71,167,205,0,115,160,206,128,41,135,207,128,57,112,3,0,28,13,4,128,27,80,5,128,56,246,5,128,253,47,7,128,26,214,7,128,223,15,9,128,252,181,9,128,193,239,10,0,25,159,11,0,222,216,12,0,251,126,13,0,192,184,14,0,221,94,15,0,162,152,16,0,191,62,17,0,132,120,18,0,161,30,19,0,102,88,20,0,131,254,20,0,72,56,22,128,137,12,23,128,100,33,24,128,129,199,24,128,70,1,26,128,99,167,26,128,40,225,27,128,69,135,28,128,10,193,29,128,156,121,30,0,178,151,31,128,126,89,32,128,206,128,33,0,155,66,34,0,235,105,35,0,125,34,36,0,205,73,37,0,234,239,37,0,175,41,39,0,204,207,39,0,145,9,41,0,174,175,41,0,115,233,42,128,202,152,43,128,143,210,44,128,172,120,45,128,113,178,46,128,142,88,47,128,83,146,48,128,90,93,49,128,53,114,50,128,60,61,51,128,23,82,52,128,30,29,53,128,249,49,54,128,0,253,54,0,22,27,56,128,226,220,56,128,233,167,57,128,196,188,58,0,218,218,59,0,225,165,60,0,188,186,61,0,195,133,62,0,158,154,63,0,165,101,64,128,186,131,65,0,135,69,66,128,156,99,67,128,163,46,68,128,126,67,69,0,75,5,70,128,96,35,71,0,162,247,71,0,147,231,72,2,0,0,0,255,255,255,255,60,127,22,115,170,170,170,170,170,170,170,170,84,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,6,0,0,0,196,141,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,140,0,112,103,0,0,96,217,7,0,112,148,112,0,224,154,112,0,224,238,112,0,224,243,112,0,16,9,113,0,224,54,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,144,64,78,210,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,54,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,16,14,0,112,121,3,0,96,205,7,0,112,29,113,0,224,87,113,0,16,102,113,0,224,88,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,103,248,250,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,170,170,170,170,88,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,160,171,255,127,1,0,0,96,216,7,0,112,117,113,0,224,207,113,0,16,230,113,0,224,40,0,0,0,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,40,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,7,0,0,96,205,7,0,112,245,113,0,224,31,114,0,16,42,114,0,224,2,0,0,0,176,185,255,255,0,0,0,0,1,0,54,0,57,114,0,224,88,0,0,0,112,30,166,158,96,235,186,159,112,0,134,160,96,205,154,161,112,240,136,203,224,251,96,210,240,88,248,250,224,59,232,251,240,58,216,252,224,29,200,253,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,25,141,7,96,164,16,9,240,148,173,9,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,88,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,176,185,255,127,1,0,0,96,216,7,0,112,62,114,0,224,151,114,0,16,174,114,0,224,10,0,0,0,149,1,0,0,150,1,0,0,163,1,0,0,178,1,0,0,179,1,0,0,252,1,0,0,253,1,0,0,254,1,0,0,255,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,74,0,54,0,170,170,189,114,0,224,200,114,0,224,2,0,0,0,240,241,255,255,0,0,0,0,1,0,54,0,207,114,0,224,2,0,0,0,96,115,255,255,0,0,0,0,1,0,54,0,212,114,0,224,2,0,0,0,80,101,255,255,0,0,0,0,1,0,54,0,217,114,0,224,2,0,0,0,64,87,255,255,0,0,0,0,1,0,54,0,222,114,0,224,2,0,0,0,224,227,255,255,0,0,0,0,1,0,54,0,227,114,0,224,2,0,0,0,208,213,255,255,0,0,0,0,1,0,54,0,232,114,0,224,2,0,0,0,192,199,255,255,0,0,0,0,1,0,54,0,237,114,0,224,2,0,0,0,176,185,255,255,0,0,0,0,1,0,54,0,242,114,0,224,2,0,0,0,160,171,255,255,0,0,0,0,1,0,54,0,247,114,0,224,2,0,0,0,144,157,255,255,0,0,0,0,1,0,54,0,252,114,0,224,2,0,0,0,128,143,255,255,0,0,0,0,1,0,54,0,1,115,0,224,2,0,0,0,112,129,255,255,0,0,0,0,1,0,54,0,6,115,0,224,2,0,0,0,16,14,0,0,0,0,0,0,1,0,54,0,11,115,0,224,2,0,0,0,160,140,0,0,0,0,0,0,1,0,54,0,16,115,0,224,2,0,0,0,176,154,0,0,0,0,0,0,1,0,54,0,21,115,0,224,2,0,0,0,192,168,0,0,0,0,0,0,1,0,54,0,26,115,0,224,2,0,0,0,208,182,0,0,0,0,0,0,1,0,54,0,31,115,0,224,2,0,0,0,224,196,0,0,0,0,0,0,1,0,54,0,36,115,0,224,2,0,0,0,32,28,0,0,0,0,0,0,1,0,54,0,41,115,0,224,2,0,0,0,48,42,0,0,0,0,0,0,1,0,54,0,46,115,0,224,2,0,0,0,64,56,0,0,0,0,0,0,1,0,54,0,51,115,0,224,2,0,0,0,80,70,0,0,0,0,0,0,1,0,54,0,56,115,0,224,2,0,0,0,96,84,0,0,0,0,0,0,1,0,54,0,61,115,0,224,2,0,0,0,112,98,0,0,0,0,0,0,1,0,54,0,66,115,0,224,2,0,0,0,128,112,0,0,0,0,0,0,1,0,54,0,71,115,0,224,2,0,0,0,144,126,0,0,0,0,0,0,1,0,54,0,76,115,0,224,8,0,0,0,180,1,0,0,181,1,0,0,182,1,0,0,184,1,0,0,106,2,0,0,120,2,0,0,121,2,0,0,125,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,74,0,54,0,170,170,81,115,0,224,90,115,0,224,2,0,0,0,0,0,0,0,0,0,0,0,1,0,54,0,97,115,0,224,25,0,0,0,0,219,65,212,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,148,179,54,126,26,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,108,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,102,115,0,224,128,115,0,224,131,115,0,16,139,115,0,224,64,0,0,0,116,69,24,170,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,96,236,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,112,20,247,86,170,170,170,170,170,170,170,170,170,170,170,170,64,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,10,0,0,0,12,45,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,159,115,0,224,227,115,0,16,244,115,0,224,55,0,0,0,128,33,128,155,224,233,124,185,208,175,198,185,224,99,242,201,80,168,16,202,16,75,231,204,240,76,170,205,224,24,162,206,112,105,147,207,96,158,19,223,80,10,183,223,96,94,236,9,96,244,24,11,0,174,205,11,0,159,189,12,128,85,164,13,128,93,140,14,128,55,132,15,16,252,106,16,240,123,100,17,240,170,82,18,96,130,70,19,80,194,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,55,0,0,0,3,4,3,4,2,1,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,10,0,0,0,60,22,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,7,0,0,96,205,7,0,112,4,116,0,224,63,116,0,16,78,116,0,224,6,0,0,0,190,1,0,0,211,1,0,0,223,1,0,0,229,1,0,0,232,1,0,0,246,1,0,0,36,0,0,0,224,53,2,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,140,161,209,144,64,78,210,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,72,240,60,94,170,170,170,170,37,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,56,19,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,99,116,0,224,106,116,0,224,143,116,0,224,147,116,0,16,158,116,0,224,6,0,0,0,239,0,0,0,89,1,0,0,191,1,0,0,198,1,0,0,221,1,0,0,234,1,0,0,60,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,0,150,182,209,128,190,88,210,16,79,161,210,144,27,99,211,144,35,75,212,32,209,57,213,144,231,103,213,0,115,168,213,16,180,41,214,16,26,44,215,16,150,9,216,144,193,2,217,16,120,233,217,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,248,97,162,111,170,170,170,170,170,170,170,170,61,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,8,0,0,0,136,12,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,16,14,0,0,32,28,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,178,116,0,224,185,116,0,224,246,116,0,224,251,116,0,16,12,117,0,224,3,0,0,0,185,1,0,0,193,1,0,0,213,1,0,0,101,0,0,0,128,73,68,152,112,37,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,48,248,206,159,240,165,96,160,112,187,126,161,240,18,46,162,240,76,122,163,240,129,53,164,112,35,94,165,240,53,37,166,240,155,39,167,240,1,42,168,240,125,7,169,112,52,238,169,240,95,231,170,240,80,215,171,240,65,199,172,240,167,201,173,240,35,167,174,112,79,160,175,240,5,135,176,240,107,137,177,160,76,112,178,160,178,114,179,160,46,80,180,32,90,73,181,160,16,48,182,160,118,50,183,160,242,15,184,160,227,255,184,160,212,239,185,32,139,214,186,32,241,216,187,32,226,200,188,32,211,184,189,160,137,159,190,32,181,152,191,32,27,155,192,32,151,120,193,32,136,104,194,32,121,88,195,160,47,63,196,32,91,56,197,32,193,58,198,160,214,88,199,160,9,218,199,32,25,74,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,144,94,110,208,16,22,114,209,144,64,78,210,16,64,145,211,144,35,75,212,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,0,200,232,109,102,0,0,0,1,3,4,3,4,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,26,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,34,117,0,224,38,117,0,224,140,117,0,224,143,117,0,16,170,117,0,224,55,0,0,0,8,210,176,183,96,243,62,185,96,156,239,185,96,141,223,186,96,126,207,187,224,169,200,188,224,154,184,189,224,139,168,190,224,124,152,191,224,109,136,192,224,94,120,193,224,79,104,194,224,64,88,195,224,49,72,196,224,34,56,197,224,19,40,198,224,4,24,199,96,209,173,17,80,224,83,18,208,11,77,19,96,208,51,20,128,221,35,21,128,206,19,22,128,191,3,23,128,176,243,23,128,161,227,24,128,146,211,25,128,131,195,26,0,175,188,27,0,160,172,28,0,145,156,29,0,130,140,30,0,115,124,31,0,100,108,32,0,85,92,33,0,70,76,34,0,55,60,35,0,40,44,36,0,25,28,37,0,10,12,38,128,53,5,39,96,10,245,39,96,251,228,40,96,236,212,41,96,221,196,42,96,206,180,43,96,191,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,123,114,50,16,187,61,51,16,150,82,52,170,170,170,170,55,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,120,24,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,7,0,0,96,206,7,0,112,194,117,0,224,251,117,0,16,10,118,0,224,68,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,16,196,154,160,144,121,100,161,16,26,112,162,16,150,77,163,96,181,243,201,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,224,120,153,209,112,201,138,210,144,166,80,211,128,21,75,212,16,195,57,213,16,180,41,214,16,165,25,215,16,150,9,216,144,193,2,217,16,120,233,217,240,168,162,226,96,242,81,227,16,167,130,228,144,254,49,229,16,254,116,230,144,224,17,231,16,224,84,232,144,194,241,232,240,39,77,19,112,222,51,20,112,207,35,21,112,192,19,22,112,177,3,23,112,162,243,23,112,147,227,24,112,132,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,156,145,23,107,69,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,228,17,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,27,118,0,224,96,118,0,224,99,118,0,16,118,118,0,224,2,0,0,0,197,1,0,0,237,1,0,0,60,0,0,0,12,159,107,158,8,210,176,183,96,243,62,185,96,156,239,185,96,141,223,186,96,126,207,187,224,169,200,188,224,154,184,189,224,139,168,190,224,124,152,191,224,109,136,192,224,94,120,193,224,79,104,194,224,64,88,195,224,49,72,196,224,34,56,197,224,19,40,198,224,4,24,199,96,147,188,200,80,125,119,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,96,144,78,208,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,224,76,67,38,128,53,5,39,128,38,245,39,128,23,229,40,96,236,212,41,80,207,196,42,96,206,180,43,80,177,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,123,114,50,0,173,61,51,0,136,82,52,2,0,0,0,255,255,255,255,248,200,182,86,61,0,0,0,4,3,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,2,1,2,1,2,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,170,170,170,18,0,0,0,8,27,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,120,24,0,0,0,0,0,0,244,26,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,32,28,0,112,21,4,0,96,206,7,0,112,136,118,0,224,139,118,0,224,200,118,0,224,203,118,0,16,220,118,0,224,2,0,0,0,148,1,0,0,199,1,0,0,145,0,0,0,145,179,38,155,17,11,214,155,160,48,207,156,160,195,164,157,160,157,156,158,160,26,151,159,32,186,133,160,160,252,118,161,32,156,101,162,160,200,123,163,160,184,78,164,32,251,63,165,32,96,37,166,32,198,39,167,32,44,42,168,160,248,235,168,160,211,0,170,32,21,213,170,32,240,233,171,32,108,199,172,32,210,201,173,32,78,167,174,160,121,160,175,32,48,135,176,160,208,146,177,160,76,112,178,160,178,114,179,160,46,80,180,32,90,73,181,160,16,48,182,160,118,50,183,160,242,15,184,160,88,18,185,160,212,239,185,32,0,233,186,32,241,216,187,32,87,219,188,32,211,184,189,160,254,177,190,32,181,152,191,32,27,155,192,32,151,120,193,32,253,122,194,32,121,88,195,160,164,81,196,32,91,56,197,32,193,58,198,160,214,88,199,160,9,218,199,32,224,73,212,160,33,30,213,32,172,78,214,32,40,44,215,32,142,46,216,32,149,249,216,32,112,14,218,32,236,235,218,160,23,229,219,32,206,203,220,160,249,196,221,160,234,180,222,32,22,174,223,160,204,148,224,160,72,114,225,32,116,107,226,160,42,82,227,160,144,84,228,160,12,50,229,32,173,61,230,32,41,27,231,160,84,20,232,32,11,251,232,32,113,253,233,32,237,218,234,32,83,221,235,32,207,186,236,160,250,179,237,32,177,154,238,160,103,129,239,32,125,159,240,160,73,97,241,32,95,127,242,32,102,74,243,32,65,95,244,160,13,33,245,32,35,63,246,160,239,0,247,32,5,31,248,160,209,224,248,32,231,254,249,160,179,192,250,160,3,232,251,160,171,123,252,112,187,199,253,32,198,112,3,32,88,41,4,32,168,80,5,32,58,9,6,32,138,48,7,32,28,233,7,32,108,16,9,32,254,200,9,32,78,240,10,160,26,178,11,32,48,208,12,160,252,145,13,32,18,176,14,160,222,113,15,160,46,153,16,160,192,81,17,160,16,121,18,160,162,49,19,160,242,88,20,144,235,35,21,144,198,56,22,144,205,3,23,144,168,24,24,144,175,227,24,144,138,248,25,144,145,195,26,16,167,225,27,16,174,172,28,16,137,193,29,16,144,140,30,16,107,161,31,16,114,108,32,16,77,129,33,16,84,76,34,16,47,97,35,16,54,44,36,144,75,74,37,16,24,12,38,144,45,42,39,144,52,245,39,144,15,10,41,144,22,213,41,144,241,233,42,144,248,180,43,144,211,201,44,144,218,148,45,144,181,169,46,144,188,116,47,144,151,137,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,145,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,170,10,0,0,0,15,250,255,255,0,0,0,0,15,250,255,255,16,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,16,14,0,0,0,0,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,0,0,0,112,7,0,0,96,205,7,0,112,252,118,0,224,255,118,0,224,147,119,0,16,185,119,0,224,115,0,0,0,160,173,38,155,32,5,214,155,160,48,207,156,160,195,164,157,160,157,156,158,160,26,151,159,32,186,133,160,160,252,118,161,32,156,101,162,160,200,123,163,160,184,78,164,32,251,63,165,32,96,37,166,32,198,39,167,32,44,42,168,160,248,235,168,160,211,0,170,32,21,213,170,32,240,233,171,32,108,199,172,32,210,201,173,32,78,167,174,160,121,160,175,32,48,135,176,160,208,146,177,160,76,112,178,160,178,114,179,160,46,80,180,32,90,73,181,160,16,48,182,160,118,50,183,160,242,15,184,160,88,18,185,160,212,239,185,32,0,233,186,32,241,216,187,32,87,219,188,32,211,184,189,160,254,177,190,32,181,152,191,32,27,155,192,32,151,120,193,32,253,122,194,32,121,88,195,160,164,81,196,32,91,56,197,32,193,58,198,160,214,88,199,160,9,218,199,144,38,22,202,144,89,151,202,144,30,209,203,144,59,119,204,144,0,177,205,16,88,96,206,144,226,144,207,144,94,110,208,16,22,114,209,16,50,251,209,32,254,105,210,160,41,99,211,32,224,73,212,160,33,30,213,144,253,66,213,16,224,223,213,32,172,78,214,160,3,254,214,32,142,46,216,32,149,249,216,32,112,14,218,32,236,235,218,160,23,229,219,32,206,203,220,160,249,196,221,160,234,180,222,32,22,174,223,160,204,148,224,160,72,114,225,32,116,107,226,160,42,82,227,160,144,84,228,160,12,50,229,32,173,61,230,32,41,27,231,160,84,20,232,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,4,10,209,87,170,170,170,170,116,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,3,2,3,2,3,2,3,2,1,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,12,0,0,0,252,250,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,32,28,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,207,119,0,224,67,120,0,224,71,120,0,16,101,120,0,224,2,0,0,0,202,1,0,0,216,1,0,0,35,0,0,0,27,111,115,164,96,81,206,203,96,229,192,204,128,221,35,21,128,206,19,22,128,191,3,23,128,176,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,35,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,101,23,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,32,28,0,112,7,0,0,96,205,7,0,112,125,120,0,224,128,120,0,224,167,120,0,16,177,120,0,224,3,0,0,0,21,1,0,0,204,1,0,0,105,2,0,0,114,0,0,0,152,245,139,144,96,23,12,155,208,190,213,155,224,99,101,162,80,130,123,163,96,128,78,164,208,180,63,165,224,39,37,166,208,127,39,167,96,40,40,170,208,253,225,170,224,137,249,171,80,49,195,172,224,63,129,200,80,19,1,201,96,245,74,201,80,128,206,202,96,174,203,203,80,9,107,210,96,57,162,211,80,2,67,212,224,13,76,213,208,123,41,214,224,239,43,215,208,93,9,216,96,151,2,217,208,63,233,217,224,179,235,218,80,92,210,219,96,208,212,220,80,62,178,221,96,185,244,241,80,239,98,244,96,6,104,245,208,56,31,246,112,147,110,6,112,154,57,7,0,117,251,7,112,124,25,9,0,203,208,9,112,94,249,10,128,254,177,11,112,64,217,12,128,85,164,13,112,173,166,14,128,55,132,15,80,17,248,15,112,176,137,25,224,176,220,25,240,208,230,27,240,239,198,28,112,49,155,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,112,9,229,40,112,250,212,41,112,235,196,42,112,220,180,43,112,205,164,44,240,131,139,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,144,201,5,70,16,223,35,71,16,230,238,71,16,193,3,73,16,200,206,73,16,163,227,74,16,170,174,75,144,191,204,76,144,221,143,77,144,161,172,78,16,110,110,79,144,131,140,80,144,138,87,81,144,101,108,82,16,190,56,83,144,71,76,84,144,78,23,85,144,158,62,86,144,48,247,86,80,46,207,87,2,0,0,0,255,255,255,255,216,200,182,86,170,170,170,170,170,170,170,170,115,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,5,4,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,170,12,0,0,0,40,27,0,0,0,0,0,0,104,27,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,195,120,0,224,199,120,0,224,58,121,0,224,63,121,0,16,93,121,0,224,79,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,224,119,124,209,96,132,149,209,80,173,138,210,224,182,89,211,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,0,25,28,37,0,10,12,38,128,53,5,39,128,38,245,39,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,0,166,114,50,0,173,61,51,0,136,82,52,0,143,29,53,0,106,50,54,0,113,253,54,128,134,27,56,0,83,221,56,128,104,251,57,0,53,189,58,128,74,219,59,128,81,166,60,128,44,187,61,128,51,134,62,128,14,155,63,128,21,102,64,0,43,132,65,128,247,69,66,0,13,100,67,128,217,37,68,0,239,67,69,128,187,5,70,0,209,35,71,0,216,238,71,0,179,3,73,0,186,206,73,0,149,227,74,0,156,174,75,128,177,204,76,0,126,142,77,112,43,76,84,2,0,0,0,255,255,255,255,72,91,162,111,170,170,170,170,170,170,170,170,80,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,14,0,0,0,56,19,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,114,121,0,224,194,121,0,224,199,121,0,16,220,121,0,224,63,0,0,0,128,57,0,161,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,96,236,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,170,170,170,170,63,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,170,10,0,0,0,152,46,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,242,121,0,224,51,122,0,16,68,122,0,224,4,0,0,0,207,1,0,0,209,1,0,0,239,1,0,0,247,1,0,0,40,0,0,0,100,167,25,170,96,25,164,181,208,46,205,202,16,75,231,204,144,23,169,205,16,67,162,206,112,168,205,206,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,224,32,141,38,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,16,180,114,50,16,187,61,51,16,150,82,52,170,170,170,170,40,0,0,0,3,5,2,1,2,1,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,4,3,4,3,4,3,4,3,4,3,4,3,4,3,14,0,0,0,156,28,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,32,28,0,112,7,0,0,96,206,7,0,112,84,122,0,224,89,122,0,224,131,122,0,16,142,122,0,224,2,0,0,0,210,1,0,0,87,2,0,0,141,0,0,0,128,142,230,146,112,109,75,155,128,199,254,155,112,237,156,156,112,131,201,157,112,114,127,158,240,182,170,159,112,84,95,160,112,234,139,161,112,217,65,162,112,111,110,163,240,12,35,164,240,162,79,165,112,239,5,170,240,142,244,170,240,167,201,173,240,35,167,174,112,79,160,175,240,5,135,176,240,107,137,177,112,34,112,178,112,136,114,179,112,4,80,180,112,76,50,183,112,200,15,184,112,185,255,184,112,170,239,185,240,183,200,188,240,168,184,189,112,95,159,190,240,138,152,191,240,240,154,192,240,108,120,193,240,93,104,194,240,78,88,195,112,5,63,196,240,48,56,197,240,150,58,198,112,172,88,199,112,223,217,199,112,47,1,201,112,32,241,201,240,98,226,202,240,82,181,203,224,163,236,203,224,75,128,204,240,162,220,204,240,52,149,205,96,75,195,205,224,162,114,206,112,191,197,206,240,22,117,207,224,103,172,207,224,132,82,208,112,161,165,208,240,248,84,209,224,73,140,209,224,102,50,210,112,131,133,210,240,196,89,211,240,181,73,212,32,209,57,213,32,194,41,214,32,179,25,215,32,164,9,216,32,149,249,216,32,134,233,217,32,119,217,218,32,104,201,219,32,89,185,220,160,132,178,221,160,117,162,222,160,102,146,223,160,87,130,224,160,72,114,225,160,57,98,226,160,42,82,227,160,27,66,228,160,12,50,229,160,253,33,230,32,41,27,231,32,26,11,232,32,11,251,232,32,252,234,233,32,237,218,234,32,222,202,235,32,207,186,236,32,192,170,237,32,177,154,238,32,162,138,239,32,147,122,240,32,132,106,241,160,175,99,242,160,160,83,243,160,145,67,244,160,130,51,245,160,115,35,246,160,100,19,247,160,85,3,248,160,70,243,248,0,42,171,12,0,27,155,13,0,12,139,14,128,55,132,15,128,40,116,16,128,25,100,17,144,24,84,18,128,251,67,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,160,189,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,141,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,5,4,5,4,5,4,2,1,170,170,170,12,0,0,0,99,247,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,32,28,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,0,0,0,112,7,0,0,96,205,7,0,112,168,122,0,224,171,122,0,224,59,123,0,16,96,123,0,224,7,0,0,0,189,1,0,0,201,1,0,0,203,1,0,0,205,1,0,0,212,1,0,0,250,1,0,0,251,1,0,0,159,0,0,0,160,173,38,155,32,5,214,155,160,48,207,156,160,195,164,157,160,157,156,158,160,26,151,159,32,186,133,160,160,252,118,161,32,156,101,162,160,200,123,163,160,184,78,164,32,251,63,165,32,96,37,166,32,198,39,167,32,44,42,168,160,248,235,168,160,211,0,170,32,21,213,170,32,240,233,171,32,108,199,172,32,210,201,173,32,78,167,174,160,121,160,175,32,48,135,176,160,208,146,177,160,76,112,178,160,178,114,179,160,46,80,180,32,90,73,181,160,16,48,182,160,118,50,183,160,242,15,184,160,88,18,185,160,212,239,185,32,0,233,186,32,241,216,187,32,87,219,188,32,211,184,189,160,254,177,190,32,181,152,191,32,27,155,192,32,151,120,193,32,253,122,194,32,121,88,195,160,164,81,196,32,91,56,197,32,193,58,198,160,214,88,199,160,9,218,199,144,38,22,202,144,89,151,202,144,30,209,203,144,59,119,204,144,0,177,205,16,88,96,206,144,226,144,207,144,94,110,208,16,22,114,209,16,50,251,209,32,254,105,210,160,41,99,211,32,224,73,212,160,33,30,213,144,253,66,213,16,224,223,213,32,172,78,214,160,3,254,214,32,142,46,216,32,149,249,216,32,112,14,218,32,236,235,218,160,23,229,219,32,206,203,220,160,249,196,221,160,234,180,222,32,22,174,223,160,204,148,224,160,72,114,225,32,116,107,226,160,42,82,227,160,144,84,228,160,12,50,229,32,173,61,230,32,41,27,231,160,84,20,232,32,11,251,232,32,113,253,233,32,237,218,234,32,83,221,235,32,207,186,236,160,250,179,237,32,177,154,238,160,103,129,239,32,125,159,240,160,73,97,241,32,95,127,242,32,102,74,243,32,65,95,244,160,13,33,245,32,35,63,246,160,239,0,247,32,5,31,248,160,209,224,248,32,231,254,249,160,179,192,250,160,3,232,251,160,171,123,252,112,187,199,253,32,198,112,3,32,88,41,4,32,168,80,5,32,58,9,6,32,138,48,7,32,28,233,7,32,108,16,9,32,254,200,9,32,78,240,10,160,26,178,11,32,48,208,12,160,252,145,13,32,18,176,14,160,222,113,15,160,46,153,16,160,192,81,17,160,16,121,18,160,162,49,19,160,242,88,20,144,235,35,21,144,198,56,22,144,205,3,23,144,168,24,24,144,175,227,24,144,138,248,25,144,145,195,26,16,167,225,27,16,174,172,28,16,137,193,29,16,144,140,30,16,107,161,31,16,114,108,32,16,77,129,33,16,84,76,34,16,47,97,35,16,54,44,36,144,75,74,37,16,24,12,38,144,45,42,39,144,52,245,39,144,15,10,41,144,22,213,41,144,241,233,42,144,248,180,43,144,211,201,44,144,218,148,45,144,181,169,46,144,188,116,47,144,151,137,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,203,9,93,26,160,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,3,2,3,2,3,2,3,2,1,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,10,0,0,0,181,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,32,28,0,0,16,14,0,0,0,0,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,0,0,0,112,7,0,0,96,205,7,0,112,120,123,0,224,128,123,0,224,32,124,0,224,35,124,0,16,76,124,0,224,79,0,0,0,240,197,186,158,0,57,160,159,240,27,144,160,128,108,129,161,112,239,5,170,0,110,231,170,240,167,201,173,0,50,167,174,112,79,160,175,0,20,135,176,0,122,137,177,128,48,112,178,112,136,114,179,128,18,80,180,240,236,201,194,0,93,88,195,240,63,72,196,224,27,109,196,96,116,57,197,128,91,33,199,240,142,245,199,96,222,245,203,240,113,149,204,96,75,195,205,112,213,160,206,96,45,163,207,112,183,128,208,96,15,131,209,112,153,96,210,96,241,98,211,112,123,64,212,224,70,30,217,240,91,233,217,224,205,13,8,112,146,244,8,224,175,237,9,112,116,212,10,224,28,187,11,240,27,171,12,96,57,164,13,240,253,138,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,0,181,54,126,80,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,12,0,0,0,140,252,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,32,28,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,100,124,0,224,180,124,0,224,183,124,0,16,204,124,0,224,86,0,0,0,112,248,56,155,224,204,213,155,240,203,197,156,96,0,183,157,112,254,137,158,224,28,160,159,240,165,96,160,96,173,126,161,112,55,92,162,96,26,76,163,240,53,108,200,16,75,231,204,144,23,169,205,16,67,162,206,144,226,144,207,144,94,110,208,16,22,114,209,240,210,76,210,144,49,62,211,16,210,73,212,112,247,29,213,240,151,41,214,144,128,235,214,16,150,9,216,240,181,51,249,224,196,217,249,112,210,28,251,240,180,185,251,112,180,252,252,240,150,153,253,240,208,229,254,112,179,130,255,240,178,197,0,112,149,98,1,112,90,156,2,112,119,66,3,240,118,133,4,240,147,43,5,112,51,26,6,112,36,10,7,112,22,23,8,112,52,218,8,144,20,247,9,128,13,194,10,144,246,214,11,128,239,161,12,144,216,182,13,128,209,129,14,144,186,150,15,128,179,97,16,144,156,118,17,128,149,65,18,16,91,69,19,0,178,42,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,100,211,189,112,170,170,170,170,87,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,156,13,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,228,124,0,224,59,125,0,224,63,125,0,16,86,125,0,224,67,0,0,0,56,170,25,170,96,25,164,181,208,112,94,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,96,2,10,208,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,112,24,245,39,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,0,166,114,50,0,173,61,51,0,136,82,52,0,143,29,53,0,106,50,54,0,113,253,54,128,134,27,56,0,83,221,56,128,104,251,57,0,53,189,58,128,74,219,59,128,81,166,60,128,44,187,61,128,51,134,62,128,14,155,63,128,21,102,64,0,43,132,65,128,247,69,66,0,13,100,67,128,217,37,68,0,239,67,69,128,187,5,70,0,209,35,71,0,216,238,71,0,179,3,73,0,186,206,73,0,149,227,74,0,156,174,75,128,177,204,76,0,126,142,77,2,0,0,0,255,255,255,255,40,202,182,86,68,0,0,0,3,4,6,2,1,2,1,2,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,6,16,0,0,0,216,25,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,200,25,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,104,125,0,224,172,125,0,224,175,125,0,16,193,125,0,224,2,0,0,0,219,1,0,0,123,2,0,0,77,0,0,0,199,30,95,155,121,242,62,157,249,238,42,158,105,57,247,158,249,87,132,159,233,108,216,160,128,57,0,161,64,166,60,161,192,109,16,164,176,50,61,164,176,104,21,165,192,3,61,165,80,69,30,167,96,25,164,181,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,128,23,229,40,128,191,120,41,112,250,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,170,170,170,170,77,0,0,0,3,4,3,5,4,5,7,6,7,8,7,6,1,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,2,1,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,9,6,170,170,170,20,0,0,0,57,35,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,119,35,0,0,0,0,0,0,119,35,0,0,16,14,0,0,119,35,0,0,32,28,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,48,42,0,0,32,28,0,0,64,56,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,217,125,0,224,220,125,0,224,43,126,0,16,64,126,0,224,3,0,0,0,143,1,0,0,218,1,0,0,222,1,0,0,101,0,0,0,79,80,96,145,240,120,71,155,112,44,215,155,112,145,188,156,240,72,192,157,112,254,137,158,240,42,160,159,240,165,96,160,240,12,128,161,240,18,46,162,240,76,122,163,240,129,53,164,112,35,94,165,240,53,37,166,240,155,39,167,112,38,88,168,240,125,7,169,112,52,238,169,240,95,231,170,240,80,215,171,240,65,199,172,240,167,201,173,240,35,167,174,112,79,160,175,240,5,135,176,240,107,137,177,112,34,112,178,112,136,114,179,112,4,80,180,240,47,73,181,112,230,47,182,112,76,50,183,112,200,15,184,112,185,255,184,112,170,239,185,240,96,214,186,240,198,216,187,240,183,200,188,240,168,184,189,112,95,159,190,240,138,152,191,240,240,154,192,240,108,120,193,240,93,104,194,240,78,88,195,112,5,63,196,240,48,56,197,240,150,58,198,112,172,88,199,160,9,218,199,224,39,108,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,224,225,79,208,240,241,137,208,16,22,114,209,144,64,78,210,0,57,187,11,240,27,171,12,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,101,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,4,5,4,5,3,2,3,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,170,12,0,0,0,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,32,28,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,92,126,0,224,96,126,0,224,199,126,0,16,226,126,0,224,2,0,0,0,192,1,0,0,224,1,0,0,60,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,16,7,98,210,144,28,128,211,16,210,73,212,32,180,147,212,32,114,2,213,16,56,76,213,16,180,41,214,16,26,44,215,16,150,9,216,16,112,1,217,16,120,233,217,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,248,234,207,108,170,170,170,170,170,170,170,170,61,0,0,0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,170,8,0,0,0,136,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,250,126,0,224,253,126,0,224,58,127,0,224,63,127,0,16,80,127,0,224,53,0,0,0,254,135,185,158,254,142,132,159,126,70,136,160,254,130,203,160,222,241,231,173,96,100,175,200,80,101,98,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,112,137,144,208,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,0,25,28,37,0,10,12,38,128,53,5,39,128,38,245,39,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,0,188,77,50,16,187,61,51,16,150,82,52,16,157,29,53,16,120,50,54,16,127,253,54,144,148,27,56,16,67,189,58,144,88,219,59,170,170,170,170,170,170,170,170,170,170,170,170,53,0,0,0,3,0,3,0,4,6,2,1,2,1,2,1,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,170,16,0,0,0,162,22,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,162,22,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,7,0,0,96,210,7,0,112,102,127,0,224,159,127,0,16,174,127,0,224,3,0,0,0,226,1,0,0,228,1,0,0,241,1,0,0,86,0,0,0,112,248,56,155,224,204,213,155,240,203,197,156,96,0,183,157,112,254,137,158,224,28,160,159,240,165,96,160,96,173,126,161,112,55,92,162,96,26,76,163,240,53,108,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,144,94,110,208,16,22,114,209,240,210,76,210,144,49,62,211,16,210,73,212,112,247,29,213,240,151,41,214,144,128,235,214,16,150,9,216,240,181,51,249,224,196,217,249,112,210,28,251,240,180,185,251,112,180,252,252,240,150,153,253,240,208,229,254,112,179,130,255,240,178,197,0,112,149,98,1,112,90,156,2,112,119,66,3,240,118,133,4,240,147,43,5,112,147,110,6,240,117,11,7,240,58,69,8,240,87,235,8,112,87,46,10,240,57,203,10,112,57,14,12,240,27,171,12,240,224,228,13,240,253,138,14,112,253,205,15,112,26,116,16,112,223,173,17,112,252,83,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,112,129,188,112,87,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,180,11,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,201,127,0,224,205,127,0,224,36,128,0,224,39,128,0,16,62,128,0,224,64,0,0,0,128,57,0,161,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,128,23,229,40,0,199,0,41,96,236,212,41,96,221,196,42,96,206,180,43,96,191,164,44,96,176,148,45,96,161,132,46,96,146,116,47,96,131,100,48,224,174,93,49,224,137,114,50,224,144,61,51,224,107,82,52,224,114,29,53,224,77,50,54,224,84,253,54,96,106,27,56,224,54,221,56,96,76,251,57,224,24,189,58,96,46,219,59,96,53,166,60,96,16,187,61,96,23,134,62,96,242,154,63,96,249,101,64,224,14,132,65,96,219,69,66,224,240,99,67,96,189,37,68,224,210,67,69,96,159,5,70,224,180,35,71,224,187,238,71,224,150,3,73,224,157,206,73,224,120,227,74,224,127,174,75,112,163,204,76,240,111,142,77,64,0,0,0,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,3,2,1,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,4,12,0,0,0,244,46,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,82,128,0,224,147,128,0,16,164,128,0,224,64,0,0,0,128,57,0,161,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,96,236,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,112,78,67,88,64,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,10,0,0,0,50,43,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,182,128,0,224,247,128,0,16,8,129,0,224,74,0,0,0,32,164,25,170,96,25,164,181,208,141,4,203,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,224,56,159,207,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,46,141,38,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,208,198,194,45,112,175,132,46,112,160,116,47,112,145,100,48,208,160,93,49,0,166,114,50,16,187,61,51,16,150,82,52,16,157,29,53,16,120,50,54,16,127,253,54,144,148,27,56,16,97,221,56,144,118,251,57,16,67,189,58,144,88,219,59,144,95,166,60,144,58,187,61,144,65,134,62,144,28,155,63,144,35,102,64,16,57,132,65,144,5,70,66,16,27,100,67,144,231,37,68,16,253,67,69,144,201,5,70,16,223,35,71,16,230,238,71,16,193,3,73,16,200,206,73,16,163,227,74,16,170,174,75,144,191,204,76,16,140,142,77,144,161,172,78,16,110,110,79,144,131,140,80,144,138,87,81,144,101,108,82,128,94,55,83,96,29,76,84,2,0,0,0,255,255,255,255,8,196,182,86,170,170,170,170,75,0,0,0,5,3,6,2,1,2,1,2,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,3,4,3,4,3,4,7,6,7,6,7,6,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,8,6,170,18,0,0,0,248,31,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,224,31,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,24,129,0,224,99,129,0,224,103,129,0,16,123,129,0,224,44,0,0,0,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,32,36,114,209,80,239,99,17,224,63,85,18,208,11,77,19,224,33,53,20,208,237,44,21,112,192,19,22,208,207,12,23,128,176,243,23,128,161,227,24,128,146,211,25,128,131,195,26,0,175,188,27,0,160,172,28,0,145,156,29,0,130,140,30,0,115,124,31,0,100,108,32,0,85,92,33,0,70,76,34,0,55,60,35,0,40,44,36,0,25,28,37,0,10,12,38,128,53,5,39,96,10,245,39,80,237,228,40,96,236,212,41,80,207,196,42,96,206,180,43,80,177,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,123,114,50,16,187,61,51,16,150,82,52,4,0,0,0,255,255,255,255,36,206,182,86,255,255,255,255,24,227,195,114,46,0,0,0,3,4,1,2,1,2,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,12,0,0,0,220,21,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,104,27,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,32,28,0,112,7,0,0,96,206,7,0,112,149,129,0,224,194,129,0,224,199,129,0,16,212,129,0,224,52,0,0,0,204,45,89,158,144,144,185,158,144,151,132,159,112,43,0,161,76,111,115,164,224,181,176,200,80,151,198,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,224,203,116,208,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,0,25,28,37,0,10,12,38,128,53,5,39,128,38,245,39,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,0,166,114,50,0,173,61,51,0,136,82,52,0,143,29,53,16,120,50,54,16,127,253,54,144,148,27,56,144,95,166,60,144,58,187,61,170,170,170,170,170,170,170,170,52,0,0,0,1,2,1,0,3,5,2,1,2,1,2,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,14,0,0,0,52,23,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,7,0,0,96,211,7,0,112,236,129,0,224,35,130,0,16,49,130,0,224,51,0,0,0,104,52,170,150,112,135,109,200,16,75,231,204,144,23,169,205,144,233,184,205,240,57,40,8,96,62,239,8,240,120,5,10,224,113,208,10,112,79,233,11,96,72,180,12,240,107,210,13,96,42,148,14,112,252,176,15,96,12,116,16,112,222,144,17,96,238,83,18,112,192,112,19,96,185,59,20,112,185,72,21,96,178,19,22,240,213,49,23,224,206,252,23,112,148,0,25,96,95,219,25,240,175,204,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,51,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,152,18,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,74,130,0,224,127,130,0,16,141,130,0,224,66,0,0,0,128,57,0,161,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,128,23,229,40,128,191,120,41,112,250,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,112,20,247,86,170,170,170,170,170,170,170,170,66,0,0,0,3,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,5,170,170,14,0,0,0,96,45,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,158,130,0,224,227,130,0,16,245,130,0,224,56,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,16,26,112,162,144,91,68,163,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,16,69,127,209,144,27,99,211,144,35,75,212,16,195,57,213,16,180,41,214,16,26,44,215,16,150,9,216,240,39,77,19,96,208,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,47,95,162,111,170,170,170,170,170,170,170,170,57,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,81,15,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,9,131,0,224,66,131,0,224,71,131,0,16,87,131,0,224,51,0,0,0,80,31,79,156,152,74,133,161,240,48,241,162,96,120,102,163,112,207,172,200,208,42,89,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,224,61,48,208,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,0,25,28,37,0,10,12,38,128,53,5,39,128,38,245,39,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,0,166,114,50,0,173,61,51,0,136,82,52,16,157,29,53,16,120,50,54,16,127,253,54,144,148,27,56,144,65,134,62,144,28,155,63,2,0,0,0,255,255,255,255,68,204,182,86,170,170,170,170,170,170,170,170,170,170,170,170,52,0,0,0,3,4,1,5,1,7,2,1,2,1,2,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,2,1,2,5,6,5,18,0,0,0,188,23,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,176,19,0,0,0,0,0,0,104,22,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,32,28,0,112,7,0,0,96,212,7,0,112,105,131,0,224,157,131,0,224,163,131,0,16,177,131,0,224,65,0,0,0,220,70,245,161,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,96,236,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,240,237,212,91,96,178,231,95,170,170,170,170,170,170,170,170,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,170,170,170,10,0,0,0,164,41,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,207,131,0,224,19,132,0,16,37,132,0,224,2,0,0,0,245,1,0,0,86,2,0,0,82,0,0,0,208,42,168,153,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,0,182,154,160,0,189,101,161,96,124,125,166,16,222,118,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,0,186,132,208,112,146,149,209,96,187,138,210,112,255,98,211,144,35,75,212,16,173,94,213,16,180,41,214,16,26,44,215,16,150,9,216,144,193,2,217,16,120,233,217,0,210,84,232,128,180,241,232,128,165,225,233,128,150,209,234,0,150,20,236,0,179,186,236,0,164,170,237,0,149,154,238,0,90,212,239,0,119,122,240,0,60,180,241,0,89,90,242,0,30,148,243,0,59,58,244,128,58,125,245,0,29,26,246,128,85,164,13,0,12,139,14,128,55,132,15,128,40,116,16,128,25,100,17,128,10,84,18,0,54,77,19,128,236,51,20,128,221,35,21,128,206,19,22,128,191,3,23,128,176,243,23,128,161,227,24,128,146,211,25,128,131,195,26,0,175,188,27,0,160,172,28,0,145,156,29,0,130,140,30,0,115,124,31,0,100,108,32,0,85,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,82,0,0,0,1,2,1,2,1,2,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,10,0,0,0,176,19,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,53,132,0,224,56,132,0,224,139,132,0,16,161,132,0,224,3,0,0,0,196,1,0,0,240,1,0,0,248,1,0,0,36,0,0,0,0,106,23,202,0,113,226,202,0,76,247,203,0,83,194,204,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,4,0,0,0,255,255,255,255,128,234,240,36,255,255,255,255,134,6,212,113,170,170,170,170,170,170,170,170,38,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,0,8,0,0,0,0,0,0,250,6,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,183,132,0,224,187,132,0,224,224,132,0,224,231,132,0,16,242,132,0,224,2,0,0,0,0,0,0,0,0,0,0,0,1,0,54,0,8,133,0,224,2,0,0,0,96,115,255,255,0,0,0,0,1,0,54,0,13,133,0,224,2,0,0,0,156,247,126,137,176,221,230,48,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,228,67,0,0,0,0,0,0,80,70,0,0,0,0,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,18,133,0,224,23,133,0,16,25,133,0,224,2,0,0,0,11,2,0,0,13,2,0,0,1,0,0,0,152,195,47,237,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,232,68,0,0,0,0,0,0,80,70,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,37,133,0,224,40,133,0,224,43,133,0,16,45,133,0,224,5,0,0,0,152,5,127,137,64,237,5,24,48,114,219,24,224,150,3,73,208,143,206,73,5,0,0,0,1,2,1,2,1,170,170,170,6,0,0,0,232,53,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,57,133,0,224,63,133,0,16,66,133,0,224,54,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,144,64,78,210,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,54,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,16,14,0,112,121,3,0,96,205,7,0,112,78,133,0,224,135,133,0,16,150,133,0,224,2,0,0,0,144,157,255,255,0,0,0,0,1,0,54,0,165,133,0,224,88,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,12,137,203,0,24,97,210,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,88,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,144,157,255,127,1,0,0,96,216,7,0,112,170,133,0,224,3,134,0,16,26,134,0,224,88,0,0,0,160,72,166,158,144,21,187,159,160,42,134,160,144,247,154,161,160,26,137,203,16,38,97,210,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,206,16,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,170,170,170,170,88,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,128,143,255,127,1,0,0,96,216,7,0,112,41,134,0,224,131,134,0,16,154,134,0,224,2,0,0,0,25,2,0,0,42,2,0,0,25,0,0,0,0,252,5,145,56,4,98,218,176,39,159,76,224,43,151,77,96,226,125,78,160,139,253,78,224,13,119,79,224,254,102,80,96,42,96,81,224,224,70,82,96,12,64,83,224,194,38,84,96,238,31,85,224,164,6,86,96,208,255,86,224,134,230,87,96,178,223,88,224,104,198,89,96,148,191,90,96,133,175,91,224,176,168,92,96,103,143,93,224,146,136,94,96,73,111,95,224,116,104,96,2,0,0,0,255,255,255,255,0,201,61,110,170,170,170,170,170,170,170,170,26,0,0,0,2,1,3,4,3,4,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,170,170,14,0,0,0,128,176,0,0,0,0,0,0,72,94,255,255,0,0,0,0,0,95,255,255,0,0,0,0,80,101,255,255,0,0,0,0,80,101,255,255,16,14,0,0,208,182,0,0,0,0,0,0,208,182,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,169,134,0,224,172,134,0,224,198,134,0,224,203,134,0,16,211,134,0,224,5,0,0,0,232,0,0,0,235,0,0,0,32,2,0,0,33,2,0,0,43,2,0,0,97,0,0,0,232,178,180,176,88,135,81,177,104,229,120,178,96,229,67,179,104,199,88,180,96,199,35,181,104,169,56,182,96,169,3,183,104,139,24,184,224,197,236,184,104,109,248,185,224,167,204,186,104,79,216,187,224,232,227,188,232,246,174,189,224,202,195,190,232,216,142,191,224,172,163,192,232,186,110,193,224,142,131,194,232,156,78,195,224,112,99,196,232,126,46,197,96,141,76,198,232,96,14,199,96,111,44,200,104,125,247,200,64,154,218,210,224,253,24,9,224,165,172,9,96,165,239,10,224,252,158,11,224,193,216,12,224,222,126,13,224,163,184,14,224,192,94,15,224,133,152,16,224,162,62,17,224,103,120,18,224,132,30,19,224,73,88,20,224,102,254,20,224,43,56,22,96,131,231,22,96,72,33,24,96,101,199,24,96,42,1,26,96,71,167,26,96,12,225,27,96,41,135,28,96,238,192,29,96,11,103,30,96,208,160,31,96,237,70,32,96,178,128,33,224,9,48,34,224,206,105,35,224,235,15,36,96,1,46,37,224,66,2,38,96,227,13,39,224,36,226,39,96,197,237,40,224,6,194,41,96,167,205,42,96,35,171,43,96,137,173,44,96,5,139,45,96,107,141,46,96,231,106,47,96,77,109,48,96,201,74,49,224,105,86,50,96,171,42,51,224,75,54,52,96,141,10,53,224,45,22,54,224,169,243,54,224,15,246,55,224,139,211,56,224,241,213,57,224,109,179,58,96,14,191,59,224,79,147,60,96,240,158,61,224,49,115,62,96,210,126,63,96,78,92,64,96,180,94,65,96,48,60,66,96,150,62,67,96,18,28,68,96,120,30,69,96,244,251,69,96,90,254,70,224,133,247,71,96,60,222,72,2,0,0,0,255,255,255,255,168,76,183,65,170,170,170,170,170,170,170,170,98,0,0,0,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,170,170,12,0,0,0,216,163,0,0,0,0,0,0,184,161,0,0,0,0,0,0,184,161,0,0,8,7,0,0,184,161,0,0,16,14,0,0,192,168,0,0,0,0,0,0,192,168,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,192,168,0,112,34,0,0,96,217,7,0,112,234,134,0,224,240,134,0,224,82,135,0,224,87,135,0,16,113,135,0,224,3,0,0,0,96,54,67,204,240,108,43,210,128,215,158,84,4,0,0,0,255,255,255,255,40,82,182,86,255,255,255,255,144,164,237,114,170,170,170,170,170,170,170,170,170,170,170,170,5,0,0,0,2,3,1,3,4,170,170,170,10,0,0,0,216,145,0,0,0,0,0,0,144,126,0,0,0,0,0,0,240,137,0,0,0,0,0,0,160,140,0,0,0,0,0,0,176,154,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,139,135,0,224,143,135,0,224,151,135,0,16,154,135,0,224,2,0,0,0,34,2,0,0,45,2,0,0,70,0,0,0,188,150,218,210,224,253,24,9,224,165,172,9,96,165,239,10,224,252,158,11,224,193,216,12,224,222,126,13,224,163,184,14,224,192,94,15,224,133,152,16,224,162,62,17,224,103,120,18,224,132,30,19,224,73,88,20,224,102,254,20,224,43,56,22,96,131,231,22,96,72,33,24,96,101,199,24,96,42,1,26,96,71,167,26,96,12,225,27,96,41,135,28,96,238,192,29,96,11,103,30,96,208,160,31,96,237,70,32,96,178,128,33,224,9,48,34,224,206,105,35,224,235,15,36,96,1,46,37,224,66,2,38,96,227,13,39,224,36,226,39,96,197,237,40,224,6,194,41,96,167,205,42,96,35,171,43,96,137,173,44,96,5,139,45,96,107,141,46,96,231,106,47,96,77,109,48,96,201,74,49,224,105,86,50,96,171,42,51,224,75,54,52,96,141,10,53,224,45,22,54,224,169,243,54,224,15,246,55,224,139,211,56,224,241,213,57,224,109,179,58,96,14,191,59,224,79,147,60,96,240,158,61,224,49,115,62,96,210,126,63,96,78,92,64,96,180,94,65,96,48,60,66,96,150,62,67,96,18,28,68,96,120,30,69,96,244,251,69,96,90,254,70,224,133,247,71,96,60,222,72,2,0,0,0,255,255,255,255,132,68,183,65,170,170,170,170,170,170,170,170,71,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,170,8,0,0,0,252,171,0,0,0,0,0,0,68,172,0,0,0,0,0,0,76,179,0,0,0,0,0,0,76,179,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,76,179,0,112,136,18,0,96,217,7,0,112,172,135,0,224,175,135,0,224,246,135,0,224,251,135,0,16,14,136,0,224,2,0,0,0,140,1,0,0,47,2,0,0,110,0,0,0,136,64,199,185,64,60,209,253,176,250,146,254,192,205,204,255,176,220,114,0,192,80,117,1,176,73,64,2,192,50,85,3,176,43,32,4,64,79,62,5,176,13,0,6,64,188,11,7,176,239,223,7,64,19,254,8,176,209,191,9,64,245,221,10,48,238,168,11,64,215,189,12,48,208,136,13,64,185,157,14,48,178,104,15,192,213,134,16,48,148,72,17,192,183,102,18,48,118,40,19,192,153,70,20,176,146,17,21,192,123,38,22,176,116,241,22,192,93,6,24,176,86,209,24,192,63,230,25,176,56,177,26,64,92,207,27,176,26,145,28,64,62,175,29,176,252,112,30,64,32,143,31,48,3,127,32,64,2,111,33,48,251,57,34,64,228,78,35,48,221,25,36,192,0,56,37,48,191,249,37,192,248,242,38,48,161,217,39,192,196,247,40,176,189,194,41,192,166,215,42,176,159,162,43,192,136,183,44,176,129,130,45,192,106,151,46,176,99,98,47,64,135,128,48,176,69,66,49,64,105,96,50,48,215,61,51,64,75,64,52,48,68,11,53,64,184,13,54,176,213,6,55,64,15,0,56,48,8,203,56,192,43,233,57,48,234,170,58,192,13,201,59,48,204,138,60,192,239,168,61,48,174,106,62,192,209,136,63,176,202,83,64,192,179,104,65,176,172,51,66,192,149,72,67,176,142,19,68,64,178,49,69,176,112,243,69,64,148,17,71,48,2,239,71,64,118,241,72,48,111,188,73,64,88,209,74,176,0,184,75,64,58,177,76,48,7,198,77,192,130,80,78,176,174,156,79,192,217,66,80,176,144,124,81,64,246,43,82,176,114,92,83,64,216,11,84,48,230,55,87,192,236,175,87,48,200,23,89,192,206,143,89,48,170,247,90,192,176,111,91,176,103,169,92,192,124,116,93,176,73,137,94,192,94,84,95,176,43,105,96,192,64,52,97,176,13,73,98,64,93,29,99,176,239,40,100,192,4,244,100,170,170,170,170,110,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,170,170,10,0,0,0,120,153,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,160,171,255,127,127,3,0,96,232,7,0,112,36,136,0,224,39,136,0,224,151,136,0,16,180,136,0,224,23,0,0,0,180,194,245,146,64,153,121,7,64,204,250,7,208,247,210,25,192,218,194,26,208,217,178,27,192,188,162,28,80,246,155,29,192,158,130,30,80,216,123,31,64,187,107,32,80,186,91,33,64,157,75,34,80,156,59,35,64,127,43,36,80,126,27,37,64,97,11,38,80,96,251,38,64,67,235,39,208,124,228,40,64,81,129,41,208,72,233,42,64,51,97,43,170,170,170,170,23,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,204,157,0,0,0,0,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,3,0,48,0,66,0,54,0,202,136,0,224,227,136,0,16,234,136,0,224,1,0,0,0,176,153,253,78,2,0,0,0,255,255,255,255,136,85,55,126,2,0,0,0,1,2,170,170,6,0,0,0,120,95,255,255,0,0,0,0,80,101,255,255,0,0,0,0,208,182,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,246,136,0,224,248,136,0,224,251,136,0,16,253,136,0,224,29,0,0,0,192,177,19,154,224,23,59,54,96,250,215,54,96,52,36,56,96,220,183,56,224,44,17,75,96,15,174,75,96,234,194,76,224,65,114,77,96,204,162,78,224,196,26,79,96,174,130,80,224,166,250,80,224,202,107,82,208,122,218,82,96,231,84,84,224,106,186,84,96,201,52,86,224,76,154,86,224,229,29,88,224,46,122,88,224,199,253,89,224,16,90,90,224,169,221,91,224,242,57,92,96,198,198,93,224,212,25,94,96,7,222,95,96,241,2,96,170,170,170,170,170,170,170,170,29,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,192,167,0,0,0,0,0,0,192,168,0,0,0,0,0,0,192,168,0,0,16,14,0,0,3,0,48,0,66,0,54,0,11,137,0,224,43,137,0,16,52,137,0,224,4,0,0,0,128,76,164,182,80,196,24,30,224,10,23,43,80,244,113,43,170,170,170,170,170,170,170,170,4,0,0,0,3,1,2,1,8,0,0,0,0,172,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,3,0,48,0,66,0,54,0,64,137,0,224,71,137,0,16,73,137,0,224,1,0,0,0,4,72,80,148,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,124,129,255,255,0,0,0,0,112,129,255,255,0,0,0,0,3,0,48,0,66,0,54,0,87,137,0,224,91,137,0,16,93,137,0,224,4,0,0,0,55,2,0,0,73,2,0,0,74,2,0,0,90,2,0,0,1,0,0,0,140,51,79,148,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,244,149,0,0,0,0,0,0,176,154,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,103,137,0,224,108,137,0,224,111,137,0,16,113,137,0,224,2,0,0,0,56,2,0,0,77,2,0,0,18,0,0,0,224,149,55,203,240,137,46,208,0,190,55,236,240,248,54,239,0,0,155,251,140,39,63,254,0,30,1,255,240,88,93,255,0,44,151,0,112,117,70,1,0,14,119,2,112,87,38,3,0,151,112,7,240,209,204,7,0,145,8,12,44,135,124,12,128,148,191,13,112,163,101,14,4,0,0,0,255,255,255,255,204,197,225,20,255,255,255,255,76,45,54,126,170,170,170,170,170,170,170,170,170,170,170,170,20,0,0,0,2,3,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,10,0,0,0,52,54,255,255,0,0,0,0,144,126,0,0,0,0,0,0,180,135,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,125,137,0,224,128,137,0,224,147,137,0,224,155,137,0,16,161,137,0,224,3,0,0,0,57,2,0,0,58,2,0,0,113,2,0,0,5,0,0,0,72,67,5,187,88,113,33,187,200,61,137,203,56,73,97,210,72,115,141,213,2,0,0,0,255,255,255,255,190,112,224,116,170,170,170,170,170,170,170,170,6,0,0,0,1,2,1,2,1,3,170,170,8,0,0,0,2,108,255,255,0,0,0,0,88,108,255,255,0,0,0,0,88,108,255,255,16,14,0,0,96,115,255,255,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,180,137,0,224,184,137,0,224,190,137,0,224,195,137,0,16,198,137,0,224,2,0,0,0,49,2,0,0,59,2,0,0,3,0,0,0,128,219,44,195,192,4,86,18,176,57,5,47,170,170,170,170,3,0,0,0,1,2,3,170,8,0,0,0,0,0,0,0,0,0,0,0,64,87,255,255,0,0,0,0,80,101,255,255,0,0,0,0,208,182,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,215,137,0,224,218,137,0,224,223,137,0,16,225,137,0,224,2,0,0,0,0,242,85,18,160,43,5,47,2,0,0,0,255,255,255,255,128,72,55,126,3,0,0,0,1,2,3,170,8,0,0,0,128,108,255,255,0,0,0,0,0,106,255,255,0,0,0,0,96,115,255,255,0,0,0,0,224,196,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,241,137,0,224,244,137,0,224,247,137,0,16,249,137,0,224,7,0,0,0,208,149,17,152,240,249,57,160,208,53,237,193,96,10,234,201,240,14,17,210,80,27,134,255,64,103,139,54,4,0,0,0,255,255,255,255,180,180,225,20,255,255,255,255,52,28,54,126,170,170,170,170,9,0,0,0,3,4,1,4,2,1,4,5,4,170,170,170,12,0,0,0,76,71,255,255,0,0,0,0,144,126,0,0,0,0,0,0,160,140,0,0,0,0,0,0,204,152,0,0,0,0,0,0,176,154,0,0,0,0,0,0,192,168,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,9,138,0,224,17,138,0,224,23,138,0,16,27,138,0,224,2,0,0,0,22,2,0,0,62,2,0,0,5,0,0,0,208,53,237,193,96,10,234,201,240,129,70,207,80,27,134,255,64,14,118,44,2,0,0,0,255,255,255,255,32,24,54,126,6,0,0,0,4,3,2,4,1,5,170,170,12,0,0,0,224,156,0,0,0,0,0,0,64,87,255,255,0,0,0,0,144,126,0,0,0,0,0,0,160,140,0,0,0,0,0,0,176,154,0,0,0,0,0,0,192,168,0,0,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,47,138,0,224,50,138,0,224,56,138,0,224,59,138,0,16,62,138,0,224,1,0,0,0,72,76,80,148,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,56,125,255,255,0,0,0,0,104,122,255,255,0,0,0,0,3,0,48,0,66,0,54,0,83,138,0,224,87,138,0,16,89,138,0,224,4,0,0,0,4,43,231,163,200,233,144,204,240,39,67,210,232,168,33,17,170,170,170,170,170,170,170,170,170,170,170,170,4,0,0,0,2,1,2,3,8,0,0,0,124,156,0,0,0,0,0,0,144,126,0,0,0,0,0,0,184,161,0,0,0,0,0,0,192,168,0,0,0,0,0,0,3,0,48,0,66,0,54,0,99,138,0,224,107,138,0,16,109,138,0,224,2,0,0,0,76,106,161,223,96,184,166,245,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,180,96,255,255,0,0,0,0,160,96,255,255,0,0,0,0,80,101,255,255,0,0,0,0,3,0,48,0,66,0,54,0,123,138,0,224,127,138,0,16,129,138,0,224,7,0,0,0,128,248,65,220,104,202,15,9,104,231,181,9,104,230,15,86,240,175,152,93,240,160,136,94,240,145,120,95,2,0,0,0,255,255,255,255,136,23,54,126,170,170,170,170,170,170,170,170,170,170,170,170,8,0,0,0,3,4,5,4,1,2,1,2,12,0,0,0,120,157,0,0,0,0,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,128,157,0,0,0,0,0,0,184,161,0,0,0,0,0,0,184,161,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,154,0,112,103,0,0,96,229,7,0,112,141,138,0,224,149,138,0,224,155,138,0,16,158,138,0,224,7,0,0,0,116,196,245,146,80,186,230,14,192,187,86,15,80,156,198,16,64,239,55,17,240,75,160,50,112,68,24,51,170,170,170,170,7,0,0,0,1,2,1,2,1,2,1,170,6,0,0,0,12,156,0,0,0,0,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,3,0,48,0,66,0,54,0,182,138,0,224,191,138,0,16,194,138,0,224,4,0,0,0,65,2,0,0,70,2,0,0,78,2,0,0,119,2,0,0,1,0,0,0,8,251,5,145,2,0,0,0,255,255,255,255,8,200,61,110,170,170,170,170,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,120,177,0,0,0,0,0,0,248,95,255,255,0,0,0,0,80,101,255,255,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,206,138,0,224,211,138,0,224,213,138,0,224,219,138,0,16,221,138,0,224,4,0,0,0,255,255,255,255,108,207,225,20,255,255,255,255,236,54,54,126,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,148,44,255,255,0,0,0,0,20,126,0,0,0,0,0,0,144,126,0,0,0,0,0,0,3,0,80,0,66,0,54,0,236,138,0,224,243,138,0,16,245,138,0,224,1,0,0,0,8,66,68,53,2,0,0,0,255,255,255,255,244,46,55,126,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,12,134,255,255,0,0,0,0,120,136,255,255,0,0,0,0,128,143,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,1,139,0,224,3,139,0,224,7,139,0,16,9,139,0,224,5,0,0,0,229,0,0,0,46,2,0,0,75,2,0,0,82,2,0,0,85,2,0,0,4,0,0,0,255,255,255,255,8,90,182,86,255,255,255,255,144,164,237,114,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,248,137,0,0,0,0,0,0,240,137,0,0,0,0,0,0,160,140,0,0,0,0,0,0,4,0,74,0,80,0,66,0,54,0,170,170,23,139,0,224,29,139,0,224,35,139,0,16,37,139,0,224,27,0,0,0,200,96,161,223,40,27,172,16,24,181,63,17,32,129,121,18,24,151,31,19,32,99,89,20,24,121,255,20,32,69,57,22,152,149,232,22,160,97,34,24,152,119,200,24,160,67,2,26,152,89,168,26,160,37,226,27,152,59,136,28,160,7,194,29,152,29,104,30,160,233,161,31,152,255,71,32,160,203,129,33,24,28,49,34,32,232,106,35,24,254,16,36,32,202,74,37,24,224,240,37,32,172,42,39,24,194,208,39,2,0,0,0,255,255,255,255,200,220,76,124,170,170,170,170,28,0,0,0,1,2,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,10,0,0,0,184,187,0,0,0,0,0,0,56,106,255,255,0,0,0,0,88,108,255,255,0,0,0,0,96,115,255,255,0,0,0,0,96,115,255,255,8,7,0,0,4,0,48,0,80,0,66,0,54,0,170,170,51,139,0,224,79,139,0,224,83,139,0,16,91,139,0,224,1,0,0,0,184,85,80,148,1,0,0,0,1,170,170,170,4,0,0,0,200,115,255,255,0,0,0,0,96,115,255,255,0,0,0,0,3,0,48,0,66,0,54,0,109,139,0,224,111,139,0,16,113,139,0,224,5,0,0,0,52,2,0,0,63,2,0,0,80,2,0,0,83,2,0,0,84,2,0,0,2,0,0,0,255,255,255,255,204,18,54,126,170,170,170,170,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,52,162,0,0,0,0,0,0,192,168,0,0,0,0,0,0,4,0,74,0,80,0,66,0,54,0,170,170,123,139,0,224,129,139,0,224,135,139,0,16,137,139,0,224,10,0,0,0,64,156,69,210,16,224,17,239,208,71,251,55,208,125,211,56,80,8,4,58,64,184,114,58,80,234,227,59,64,154,82,60,208,215,29,88,208,32,122,88,170,170,170,170,170,170,170,170,170,170,170,170,10,0,0,0,1,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,64,173,0,0,0,0,0,0,112,173,0,0,0,0,0,0,208,182,0,0,0,0,0,0,208,182,0,0,16,14,0,0,3,0,48,0,66,0,54,0,149,139,0,224,163,139,0,16,167,139,0,224,2,0,0,0,192,199,255,255,0,0,0,0,1,0,54,0,181,139,0,224,150,0,0,0,224,42,177,128,208,13,161,129,224,12,145,130,208,239,128,131,224,238,112,132,80,12,106,133,96,11,90,134,80,238,73,135,96,237,57,136,80,208,41,137,96,207,25,138,80,178,9,139,96,177,249,139,80,148,233,140,96,147,217,141,208,176,210,142,96,117,185,143,208,146,178,144,224,145,162,145,208,116,146,146,224,115,130,147,208,86,114,148,224,85,98,149,208,56,82,150,224,55,66,151,208,26,50,152,224,25,34,153,80,55,27,154,96,54,11,155,80,25,251,155,96,24,235,156,80,251,218,157,96,250,202,158,80,221,186,159,96,220,170,160,80,191,154,161,96,190,138,162,208,219,131,163,96,160,106,164,208,189,99,165,224,188,83,166,208,159,67,167,224,158,51,168,208,129,35,169,224,128,19,170,208,99,3,171,224,98,243,171,208,69,227,172,224,68,211,173,80,98,204,174,224,38,179,175,80,68,172,176,96,67,156,177,80,38,140,178,96,37,124,179,80,8,108,180,96,7,92,181,80,234,75,182,96,233,59,183,80,204,43,184,96,203,27,185,208,232,20,186,224,231,4,187,208,202,244,187,224,201,228,188,208,172,212,189,224,171,196,190,208,142,180,191,224,141,164,192,208,112,148,193,224,111,132,194,80,141,125,195,224,81,100,196,80,111,93,197,96,110,77,198,80,81,61,199,96,80,45,200,80,51,29,201,96,50,13,202,80,21,253,202,96,20,237,203,80,247,220,204,96,246,204,205,208,19,198,206,224,18,182,207,208,245,165,208,224,244,149,209,208,215,133,210,224,214,117,211,208,185,101,212,224,184,85,213,208,155,69,214,224,154,53,215,80,184,46,216,224,124,21,217,80,154,14,218,96,153,254,218,80,124,238,219,96,123,222,220,80,94,206,221,96,93,190,222,80,64,174,223,96,63,158,224,80,34,142,225,96,33,126,226,208,62,119,227,96,3,94,228,208,32,87,229,224,31,71,230,208,2,55,231,224,1,39,232,208,228,22,233,224,227,6,234,208,198,246,234,224,197,230,235,208,168,214,236,224,167,198,237,80,197,191,238,96,196,175,239,80,167,159,240,96,166,143,241,80,137,127,242,96,136,111,243,80,107,95,244,96,106,79,245,80,77,63,246,96,76,47,247,208,105,40,248,96,46,15,249,208,75,8,250,224,74,248,250,208,45,232,251,224,44,216,252,208,15,200,253,224,14,184,254,208,241,167,255,224,240,151,0,208,211,135,1,224,210,119,2,80,240,112,3,96,239,96,4,80,210,80,5,96,209,64,6,80,180,48,7,96,11,141,7,80,128,53,9,224,134,173,9,80,120,240,10,96,119,224,11,208,148,217,12,8,0,0,0,255,255,255,255,224,102,241,124,255,255,255,255,208,73,225,125,255,255,255,255,224,72,209,126,255,255,255,255,208,43,193,127,170,170,170,170,154,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,192,199,255,127,205,3,0,96,185,7,0,112,186,139,0,224,81,140,0,224,91,140,0,16,131,140,0,224,2,0,0,0,160,171,255,255,0,0,0,0,1,0,54,0,147,140,0,224,150,0,0,0,0,71,177,128,240,41,161,129,0,41,145,130,240,11,129,131,0,11,113,132,112,40,106,133,128,39,90,134,112,10,74,135,128,9,58,136,112,236,41,137,128,235,25,138,112,206,9,139,128,205,249,139,112,176,233,140,128,175,217,141,240,204,210,142,128,145,185,143,240,174,178,144,0,174,162,145,240,144,146,146,0,144,130,147,240,114,114,148,0,114,98,149,240,84,82,150,0,84,66,151,240,54,50,152,0,54,34,153,112,83,27,154,128,82,11,155,112,53,251,155,128,52,235,156,112,23,219,157,128,22,203,158,112,249,186,159,128,248,170,160,112,219,154,161,128,218,138,162,240,247,131,163,128,188,106,164,240,217,99,165,0,217,83,166,240,187,67,167,0,187,51,168,240,157,35,169,0,157,19,170,240,127,3,171,0,127,243,171,240,97,227,172,0,97,211,173,112,126,204,174,0,67,179,175,112,96,172,176,128,95,156,177,112,66,140,178,128,65,124,179,112,36,108,180,128,35,92,181,112,6,76,182,128,5,60,183,112,232,43,184,128,231,27,185,240,4,21,186,0,4,5,187,240,230,244,187,0,230,228,188,240,200,212,189,0,200,196,190,240,170,180,191,0,170,164,192,240,140,148,193,0,140,132,194,112,169,125,195,0,110,100,196,112,139,93,197,128,138,77,198,112,109,61,199,128,108,45,200,112,79,29,201,128,78,13,202,112,49,253,202,128,48,237,203,112,19,221,204,128,18,205,205,240,47,198,206,0,47,182,207,240,17,166,208,0,17,150,209,240,243,133,210,0,243,117,211,240,213,101,212,0,213,85,213,240,183,69,214,0,183,53,215,112,212,46,216,0,153,21,217,112,182,14,218,128,181,254,218,112,152,238,219,128,151,222,220,112,122,206,221,128,121,190,222,112,92,174,223,128,91,158,224,112,62,142,225,128,61,126,226,240,90,119,227,128,31,94,228,240,60,87,229,0,60,71,230,240,30,55,231,0,30,39,232,240,0,23,233,0,0,7,234,240,226,246,234,0,226,230,235,240,196,214,236,0,196,198,237,112,225,191,238,128,224,175,239,112,195,159,240,128,194,143,241,112,165,127,242,128,164,111,243,112,135,95,244,128,134,79,245,112,105,63,246,128,104,47,247,240,133,40,248,128,74,15,249,240,103,8,250,0,103,248,250,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,156,53,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,8,0,0,0,255,255,255,255,0,131,241,124,255,255,255,255,240,101,225,125,255,255,255,255,0,101,209,126,255,255,255,255,240,71,193,127,170,170,170,170,170,170,170,170,170,170,170,170,154,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,171,255,127,205,3,0,96,185,7,0,112,152,140,0,224,47,141,0,224,59,141,0,16,99,141,0,224,2,0,0,0,176,185,255,255,0,0,0,0,1,0,54,0,115,141,0,224,150,0,0,0,240,56,177,128,224,27,161,129,240,26,145,130,224,253,128,131,240,252,112,132,96,26,106,133,112,25,90,134,96,252,73,135,112,251,57,136,96,222,41,137,112,221,25,138,96,192,9,139,112,191,249,139,96,162,233,140,112,161,217,141,224,190,210,142,112,131,185,143,224,160,178,144,240,159,162,145,224,130,146,146,240,129,130,147,224,100,114,148,240,99,98,149,224,70,82,150,240,69,66,151,224,40,50,152,240,39,34,153,96,69,27,154,112,68,11,155,96,39,251,155,112,38,235,156,96,9,219,157,112,8,203,158,96,235,186,159,112,234,170,160,96,205,154,161,112,204,138,162,224,233,131,163,112,174,106,164,224,203,99,165,240,202,83,166,224,173,67,167,240,172,51,168,224,143,35,169,240,142,19,170,224,113,3,171,240,112,243,171,224,83,227,172,240,82,211,173,96,112,204,174,240,52,179,175,96,82,172,176,112,81,156,177,96,52,140,178,112,51,124,179,96,22,108,180,112,21,92,181,96,248,75,182,112,247,59,183,96,218,43,184,112,217,27,185,224,246,20,186,240,245,4,187,224,216,244,187,240,215,228,188,224,186,212,189,240,185,196,190,224,156,180,191,240,155,164,192,224,126,148,193,240,125,132,194,96,155,125,195,240,95,100,196,96,125,93,197,112,124,77,198,96,95,61,199,112,94,45,200,96,65,29,201,112,64,13,202,96,35,253,202,112,34,237,203,96,5,221,204,112,4,205,205,224,33,198,206,240,32,182,207,224,3,166,208,240,2,150,209,224,229,133,210,240,228,117,211,224,199,101,212,240,198,85,213,224,169,69,214,240,168,53,215,96,198,46,216,240,138,21,217,96,168,14,218,112,167,254,218,96,138,238,219,112,137,222,220,96,108,206,221,112,107,190,222,96,78,174,223,112,77,158,224,96,48,142,225,112,47,126,226,224,76,119,227,112,17,94,228,224,46,87,229,240,45,71,230,224,16,55,231,240,15,39,232,224,242,22,233,240,241,6,234,224,212,246,234,240,211,230,235,224,182,214,236,240,181,198,237,96,211,191,238,112,210,175,239,96,181,159,240,112,180,143,241,96,151,127,242,112,150,111,243,96,121,95,244,112,120,79,245,96,91,63,246,112,90,47,247,224,119,40,248,112,60,15,249,224,89,8,250,240,88,248,250,224,59,232,251,240,58,216,252,224,29,200,253,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,25,141,7,96,142,53,9,240,148,173,9,96,134,240,10,112,133,224,11,224,162,217,12,8,0,0,0,255,255,255,255,240,116,241,124,255,255,255,255,224,87,225,125,255,255,255,255,240,86,209,126,255,255,255,255,224,57,193,127,170,170,170,170,170,170,170,170,170,170,170,170,154,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,205,3,0,96,185,7,0,112,120,141,0,224,15,142,0,224,27,142,0,16,67,142,0,224,2,0,0,0,96,115,255,255,0,0,0,0,1,0,54,0,83,142,0,224,2,0,0,0,144,157,255,255,0,0,0,0,1,0,54,0,88,142,0,224,150,0,0,0,16,85,177,128,0,56,161,129,16,55,145,130,0,26,129,131,16,25,113,132,128,54,106,133,144,53,90,134,128,24,74,135,144,23,58,136,128,250,41,137,144,249,25,138,128,220,9,139,144,219,249,139,128,190,233,140,144,189,217,141,0,219,210,142,144,159,185,143,0,189,178,144,16,188,162,145,0,159,146,146,16,158,130,147,0,129,114,148,16,128,98,149,0,99,82,150,16,98,66,151,0,69,50,152,16,68,34,153,128,97,27,154,144,96,11,155,128,67,251,155,144,66,235,156,128,37,219,157,144,36,203,158,128,7,187,159,144,6,171,160,128,233,154,161,144,232,138,162,0,6,132,163,144,202,106,164,0,232,99,165,16,231,83,166,0,202,67,167,16,201,51,168,0,172,35,169,16,171,19,170,0,142,3,171,16,141,243,171,0,112,227,172,16,111,211,173,128,140,204,174,16,81,179,175,128,110,172,176,144,109,156,177,128,80,140,178,144,79,124,179,128,50,108,180,144,49,92,181,128,20,76,182,144,19,60,183,128,246,43,184,144,245,27,185,0,19,21,186,16,18,5,187,0,245,244,187,16,244,228,188,0,215,212,189,16,214,196,190,0,185,180,191,16,184,164,192,0,155,148,193,16,154,132,194,128,183,125,195,16,124,100,196,128,153,93,197,144,152,77,198,128,123,61,199,144,122,45,200,128,93,29,201,144,92,13,202,128,63,253,202,144,62,237,203,128,33,221,204,144,32,205,205,0,62,198,206,16,61,182,207,0,32,166,208,16,31,150,209,0,2,134,210,16,1,118,211,0,228,101,212,16,227,85,213,0,198,69,214,16,197,53,215,128,226,46,216,16,167,21,217,128,196,14,218,144,195,254,218,128,166,238,219,144,165,222,220,128,136,206,221,144,135,190,222,128,106,174,223,144,105,158,224,128,76,142,225,144,75,126,226,0,105,119,227,144,45,94,228,0,75,87,229,16,74,71,230,0,45,55,231,16,44,39,232,0,15,23,233,16,14,7,234,0,241,246,234,16,240,230,235,0,211,214,236,16,210,198,237,128,239,191,238,144,238,175,239,128,209,159,240,144,208,143,241,128,179,127,242,144,178,111,243,128,149,95,244,144,148,79,245,128,119,63,246,144,118,47,247,0,148,40,248,144,88,15,249,0,118,8,250,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,170,53,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,8,0,0,0,255,255,255,255,16,145,241,124,255,255,255,255,0,116,225,125,255,255,255,255,16,115,209,126,255,255,255,255,0,86,193,127,170,170,170,170,170,170,170,170,154,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,144,157,255,127,205,3,0,96,185,7,0,112,93,142,0,224,244,142,0,224,255,142,0,16,39,143,0,224,2,0,0,0,128,143,255,255,0,0,0,0,1,0,54,0,55,143,0,224,150,0,0,0,32,99,177,128,16,70,161,129,32,69,145,130,16,40,129,131,32,39,113,132,144,68,106,133,160,67,90,134,144,38,74,135,160,37,58,136,144,8,42,137,160,7,26,138,144,234,9,139,160,233,249,139,144,204,233,140,160,203,217,141,16,233,210,142,160,173,185,143,16,203,178,144,32,202,162,145,16,173,146,146,32,172,130,147,16,143,114,148,32,142,98,149,16,113,82,150,32,112,66,151,16,83,50,152,32,82,34,153,144,111,27,154,160,110,11,155,144,81,251,155,160,80,235,156,144,51,219,157,160,50,203,158,144,21,187,159,160,20,171,160,144,247,154,161,160,246,138,162,16,20,132,163,160,216,106,164,16,246,99,165,32,245,83,166,16,216,67,167,32,215,51,168,16,186,35,169,32,185,19,170,16,156,3,171,32,155,243,171,16,126,227,172,32,125,211,173,144,154,204,174,32,95,179,175,144,124,172,176,160,123,156,177,144,94,140,178,160,93,124,179,144,64,108,180,160,63,92,181,144,34,76,182,160,33,60,183,144,4,44,184,160,3,28,185,16,33,21,186,32,32,5,187,16,3,245,187,32,2,229,188,16,229,212,189,32,228,196,190,16,199,180,191,32,198,164,192,16,169,148,193,32,168,132,194,144,197,125,195,32,138,100,196,144,167,93,197,160,166,77,198,144,137,61,199,160,136,45,200,144,107,29,201,160,106,13,202,144,77,253,202,160,76,237,203,144,47,221,204,160,46,205,205,16,76,198,206,32,75,182,207,16,46,166,208,32,45,150,209,16,16,134,210,32,15,118,211,16,242,101,212,32,241,85,213,16,212,69,214,32,211,53,215,144,240,46,216,32,181,21,217,144,210,14,218,160,209,254,218,144,180,238,219,160,179,222,220,144,150,206,221,160,149,190,222,144,120,174,223,160,119,158,224,144,90,142,225,160,89,126,226,16,119,119,227,160,59,94,228,16,89,87,229,32,88,71,230,16,59,55,231,32,58,39,232,16,29,23,233,32,28,7,234,16,255,246,234,32,254,230,235,16,225,214,236,32,224,198,237,144,253,191,238,160,252,175,239,144,223,159,240,160,222,143,241,144,193,127,242,160,192,111,243,144,163,95,244,160,162,79,245,144,133,63,246,160,132,47,247,16,162,40,248,160,102,15,249,16,132,8,250,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,184,53,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,8,0,0,0,255,255,255,255,32,159,241,124,255,255,255,255,16,130,225,125,255,255,255,255,32,129,209,126,255,255,255,255,16,100,193,127,170,170,170,170,170,170,170,170,170,170,170,170,154,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,128,143,255,127,205,3,0,96,185,7,0,112,60,143,0,224,211,143,0,224,223,143,0,16,7,144,0,224,2,0,0,0,112,129,255,255,0,0,0,0,1,0,54,0,23,144,0,224,150,0,0,0,48,113,177,128,32,84,161,129,48,83,145,130,32,54,129,131,48,53,113,132,160,82,106,133,176,81,90,134,160,52,74,135,176,51,58,136,160,22,42,137,176,21,26,138,160,248,9,139,176,247,249,139,160,218,233,140,176,217,217,141,32,247,210,142,176,187,185,143,32,217,178,144,48,216,162,145,32,187,146,146,48,186,130,147,32,157,114,148,48,156,98,149,32,127,82,150,48,126,66,151,32,97,50,152,48,96,34,153,160,125,27,154,176,124,11,155,160,95,251,155,176,94,235,156,160,65,219,157,176,64,203,158,160,35,187,159,176,34,171,160,160,5,155,161,176,4,139,162,32,34,132,163,176,230,106,164,32,4,100,165,48,3,84,166,32,230,67,167,48,229,51,168,32,200,35,169,48,199,19,170,32,170,3,171,48,169,243,171,32,140,227,172,48,139,211,173,160,168,204,174,48,109,179,175,160,138,172,176,176,137,156,177,160,108,140,178,176,107,124,179,160,78,108,180,176,77,92,181,160,48,76,182,176,47,60,183,160,18,44,184,176,17,28,185,32,47,21,186,48,46,5,187,32,17,245,187,48,16,229,188,32,243,212,189,48,242,196,190,32,213,180,191,48,212,164,192,32,183,148,193,48,182,132,194,160,211,125,195,48,152,100,196,160,181,93,197,176,180,77,198,160,151,61,199,176,150,45,200,160,121,29,201,176,120,13,202,160,91,253,202,176,90,237,203,160,61,221,204,176,60,205,205,32,90,198,206,48,89,182,207,32,60,166,208,48,59,150,209,32,30,134,210,48,29,118,211,32,0,102,212,48,255,85,213,32,226,69,214,48,225,53,215,160,254,46,216,48,195,21,217,160,224,14,218,176,223,254,218,160,194,238,219,176,193,222,220,160,164,206,221,176,163,190,222,160,134,174,223,176,133,158,224,160,104,142,225,176,103,126,226,32,133,119,227,176,73,94,228,32,103,87,229,48,102,71,230,32,73,55,231,48,72,39,232,32,43,23,233,48,42,7,234,32,13,247,234,48,12,231,235,32,239,214,236,48,238,198,237,160,11,192,238,176,10,176,239,160,237,159,240,176,236,143,241,160,207,127,242,176,206,111,243,160,177,95,244,176,176,79,245,160,147,63,246,176,146,47,247,32,176,40,248,176,116,15,249,32,146,8,250,48,145,248,250,32,116,232,251,48,115,216,252,32,86,200,253,48,85,184,254,32,56,168,255,48,55,152,0,32,26,136,1,48,25,120,2,160,54,113,3,176,53,97,4,160,24,81,5,176,23,65,6,160,250,48,7,176,81,141,7,160,198,53,9,48,205,173,9,160,190,240,10,176,189,224,11,32,219,217,12,8,0,0,0,255,255,255,255,48,173,241,124,255,255,255,255,32,144,225,125,255,255,255,255,48,143,209,126,255,255,255,255,32,114,193,127,170,170,170,170,170,170,170,170,170,170,170,170,154,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,112,129,255,127,205,3,0,96,185,7,0,112,28,144,0,224,179,144,0,224,191,144,0,16,231,144,0,224,40,0,0,0,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,40,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,0,0,0,112,7,0,0,96,205,7,0,112,247,144,0,224,35,145,0,16,46,145,0,224,126,2,0,0,101,1,0,112,113,1,0,112,64,0,0,112,18,0,0,112,60,0,0,112,226,23,0,32,5,0,0,112,48,0,0,112,38,24,0,32,48,0,0,112,48,0,0,112,5,0,0,112,36,0,0,112,5,0,0,112,60,24,0,32,43,0,0,112,36,0,0,112,43,0,0,112,244,24,0,32,106,26,0,32,186,26,0,32,5,0,0,112,5,0,0,112,48,0,0,112,48,0,0,112,36,0,0,112,32,28,0,32,5,0,0,112,43,0,0,112,43,0,0,112,67,28,0,32,130,28,0,32,48,0,0,112,190,28,0,32,43,0,0,112,36,0,0,112,222,28,0,32,36,0,0,112,5,0,0,112,36,0,0,112,43,0,0,112,43,0,0,112,36,0,0,112,250,28,0,32,30,0,0,112,30,0,0,112,48,0,0,112,16,29,0,32,55,29,0,32,76,29,0,32,36,0,0,112,5,0,0,112,5,0,0,112,36,0,0,112,102,29,0,32,5,0,0,112,165,29,0,32,230,29,0,32,67,30,0,32,202,30,0,32,86,31,0,32,191,0,0,112,191,0,0,112,172,31,0,32,21,32,0,32,129,32,0,32,65,0,0,112,230,32,0,32,76,33,0,32,181,33,0,32,29,34,0,32,133,34,0,32,232,34,0,32,81,35,0,32,185,35,0,32,33,36,0,32,137,36,0,32,191,0,0,112,1,37,0,32,183,0,0,112,59,0,0,112,99,37,0,32,201,37,0,32,237,37,0,32,35,38,0,32,174,38,0,32,191,0,0,112,232,38,0,32,252,38,0,32,130,39,0,32,64,0,0,112,252,39,0,32,130,40,0,32,202,40,0,32,227,40,0,32,65,0,0,112,248,40,0,32,183,0,0,112,233,41,0,32,78,42,0,32,175,42,0,32,183,0,0,112,67,0,0,112,206,42,0,32,186,0,0,112,78,43,0,32,191,0,0,112,138,43,0,32,22,44,0,32,116,44,0,32,8,45,0,32,137,45,0,32,191,0,0,112,18,46,0,32,82,46,0,32,105,46,0,32,218,0,0,112,45,47,0,32,132,0,0,112,113,47,0,32,227,47,0,32,181,0,0,112,196,48,0,32,63,49,0,32,191,0,0,112,191,0,0,112,98,49,0,32,122,49,0,32,146,49,0,32,117,50,0,32,24,51,0,32,71,51,0,32,145,51,0,32,37,52,0,32,118,52,0,32,218,52,0,32,37,53,0,32,88,53,0,32,170,53,0,32,3,54,0,32,132,0,0,112,122,54,0,32,242,54,0,32,37,55,0,32,68,0,0,112,166,55,0,32,89,56,0,32,229,56,0,32,133,0,0,112,191,0,0,112,252,56,0,32,37,57,0,32,219,57,0,32,146,0,0,112,191,0,0,112,38,58,0,32,79,58,0,32,139,58,0,32,191,0,0,112,160,58,0,32,216,58,0,32,67,59,0,32,70,0,0,112,190,59,0,32,28,60,0,32,108,60,0,32,220,60,0,32,40,61,0,32,246,61,0,32,82,62,0,32,215,62,0,32,219,0,0,112,191,0,0,112,219,0,0,112,199,63,0,32,219,0,0,112,78,64,0,32,153,64,0,32,44,65,0,32,182,65,0,32,66,66,0,32,210,66,0,32,59,67,0,32,88,67,0,32,142,0,0,112,116,67,0,32,154,67,0,32,233,67,0,32,191,0,0,112,198,0,0,112,35,68,0,32,80,68,0,32,1,69,0,32,224,0,0,112,112,69,0,32,181,69,0,32,10,70,0,32,120,70,0,32,185,70,0,32,67,0,0,112,218,0,0,112,241,70,0,32,172,71,0,32,222,71,0,32,102,72,0,32,168,72,0,32,110,0,0,112,46,73,0,32,191,0,0,112,54,74,0,32,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,107,74,0,32,133,74,0,32,192,74,0,32,219,0,0,112,81,75,0,32,70,76,0,32,191,0,0,112,4,77,0,32,191,0,0,112,154,77,0,32,79,78,0,32,210,78,0,32,113,0,0,112,246,78,0,32,13,79,0,32,75,2,0,112,146,79,0,32,172,79,0,32,43,2,0,112,40,80,0,32,54,80,0,32,43,2,0,112,55,1,0,112,70,80,0,32,75,1,0,112,191,1,0,112,55,1,0,112,160,80,0,32,31,81,0,32,135,81,0,32,218,81,0,32,46,82,0,32,102,82,0,32,246,0,0,112,192,82,0,32,23,83,0,32,51,1,0,112,128,83,0,32,150,83,0,32,0,84,0,32,100,84,0,32,192,84,0,32,35,1,0,112,32,1,0,112,42,85,0,32,126,85,0,32,60,1,0,112,60,1,0,112,161,85,0,32,9,1,0,112,76,86,0,32,111,86,0,32,136,86,0,32,158,86,0,32,209,86,0,32,79,87,0,32,128,89,0,32,60,1,0,112,184,91,0,32,223,91,0,32,77,92,0,32,158,92,0,32,6,93,0,32,204,1,0,112,35,93,0,32,56,93,0,32,209,93,0,32,236,93,0,32,83,94,0,32,118,94,0,32,75,1,0,112,140,94,0,32,29,1,0,112,250,94,0,32,29,95,0,32,134,95,0,32,61,1,0,112,180,95,0,32,55,1,0,112,38,1,0,112,37,96,0,32,142,96,0,32,164,96,0,32,202,96,0,32,11,1,0,112,32,97,0,32,139,97,0,32,244,97,0,32,90,98,0,32,176,98,0,32,252,0,0,112,205,98,0,32,224,98,0,32,244,98,0,32,74,99,0,32,162,99,0,32,80,1,0,112,182,99,0,32,17,1,0,112,34,100,0,32,85,100,0,32,142,100,0,32,207,100,0,32,245,100,0,32,94,101,0,32,168,101,0,32,221,101,0,32,48,102,0,32,157,102,0,32,24,1,0,112,69,1,0,112,180,102,0,32,214,102,0,32,64,103,0,32,40,1,0,112,146,103,0,32,73,1,0,112,166,103,0,32,22,104,0,32,252,0,0,112,126,104,0,32,230,104,0,32,252,104,0,32,104,105,0,32,203,105,0,32,153,106,0,32,41,107,0,32,110,107,0,32,138,107,0,32,88,1,0,112,200,107,0,32,191,1,0,112,148,108,0,32,5,0,0,112,170,108,0,32,5,0,0,112,21,109,0,32,113,1,0,112,151,109,0,32,200,109,0,32,81,110,0,32,113,1,0,112,103,1,0,112,128,110,0,32,172,110,0,32,59,111,0,32,106,1,0,112,113,111,0,32,210,111,0,32,88,112,0,32,113,1,0,112,101,1,0,112,140,112,0,32,97,1,0,112,96,1,0,112,16,113,0,32,103,1,0,112,107,1,0,112,110,1,0,112,98,1,0,112,204,0,0,112,9,1,0,112,198,0,0,112,177,0,0,112,204,0,0,112,157,0,0,112,43,0,0,112,107,113,0,32,209,0,0,112,98,0,0,112,235,113,0,32,60,1,0,112,129,0,0,112,224,0,0,112,196,0,0,112,219,0,0,112,113,0,0,112,209,0,0,112,221,0,0,112,196,0,0,112,223,0,0,112,202,0,0,112,47,2,0,112,130,0,0,112,48,0,0,112,222,1,0,112,47,114,0,32,60,114,0,32,179,114,0,32,18,0,0,112,199,1,0,112,203,114,0,32,149,1,0,112,210,114,0,32,215,114,0,32,220,114,0,32,225,114,0,32,230,114,0,32,235,114,0,32,240,114,0,32,245,114,0,32,250,114,0,32,255,114,0,32,4,115,0,32,9,115,0,32,149,1,0,112,14,115,0,32,19,115,0,32,24,115,0,32,29,115,0,32,34,115,0,32,39,115,0,32,44,115,0,32,49,115,0,32,54,115,0,32,59,115,0,32,64,115,0,32,69,115,0,32,74,115,0,32,79,115,0,32,149,1,0,112,149,1,0,112,181,1,0,112,93,115,0,32,181,1,0,112,100,115,0,32,181,1,0,112,193,1,0,112,148,115,0,32,255,115,0,32,89,116,0,32,212,1,0,112,165,116,0,32,21,117,0,32,224,1,0,112,181,117,0,32,17,118,0,32,125,118,0,32,248,1,0,112,239,118,0,32,191,1,0,112,196,119,0,32,114,120,0,32,212,1,0,112,184,120,0,32,212,1,0,112,106,121,0,32,212,1,0,112,235,121,0,32,209,1,0,112,79,122,0,32,157,122,0,32,109,123,0,32,190,1,0,112,87,124,0,32,193,1,0,112,217,124,0,32,93,125,0,32,202,1,0,112,210,125,0,32,222,1,0,112,85,126,0,32,43,1,0,112,191,1,0,112,239,126,0,32,190,1,0,112,89,127,0,32,191,127,0,32,69,128,0,32,177,128,0,32,226,1,0,112,190,1,0,112,19,129,0,32,142,129,0,32,190,1,0,112,225,129,0,32,191,1,0,112,64,130,0,32,148,130,0,32,197,1,0,112,4,131,0,32,209,1,0,112,248,1,0,112,226,1,0,112,94,131,0,32,196,131,0,32,48,132,0,32,172,132,0,32,190,1,0,112,209,1,0,112,251,132,0,32,11,133,0,32,212,1,0,112,212,1,0,112,149,1,0,112,149,1,0,112,149,1,0,112,149,1,0,112,149,1,0,112,16,133,0,32,18,1,0,112,132,0,0,112,32,1,0,112,5,0,0,112,48,0,0,112,32,133,0,32,252,0,0,112,80,1,0,112,48,0,0,112,13,2,0,112,11,1,0,112,50,133,0,32,73,133,0,32,48,0,0,112,11,1,0,112,66,1,0,112,24,1,0,112,70,1,0,112,143,0,0,112,70,1,0,112,62,2,0,112,56,0,0,112,155,133,0,32,42,2,0,112,168,133,0,32,31,134,0,32,218,0,0,112,161,0,0,112,166,0,0,112,82,1,0,112,43,2,0,112,43,2,0,112,45,2,0,112,110,0,0,112,27,1,0,112,186,0,0,112,60,1,0,112,191,0,0,112,152,0,0,112,159,134,0,32,226,134,0,32,126,135,0,32,165,135,0,32,23,136,0,32,75,2,0,112,191,136,0,32,241,136,0,32,59,2,0,112,4,137,0,32,59,137,0,32,80,2,0,112,82,137,0,32,98,137,0,32,118,137,0,32,172,137,0,32,207,137,0,32,57,2,0,112,234,137,0,32,2,138,0,32,40,138,0,32,75,138,0,32,80,2,0,112,94,138,0,32,70,2,0,112,118,138,0,32,136,138,0,32,171,138,0,32,201,138,0,32,228,138,0,32,252,138,0,32,16,139,0,32,55,2,0,112,55,2,0,112,44,139,0,32,102,139,0,32,56,2,0,112,70,2,0,112,118,139,0,32,142,139,0,32,176,139,0,32,75,2,0,112,80,2,0,112,80,2,0,112,75,2,0,112,245,1,0,112,210,1,0,112,63,1,0,112,59,1,0,112,55,2,0,112,61,1,0,112,184,139,0,32,136,140,0,32,150,140,0,32,104,141,0,32,118,141,0,32,72,142,0,32,86,142,0,32,91,142,0,32,44,143,0,32,58,143,0,32,12,144,0,32,26,144,0,32,236,144,0,32,204,1,0,112,181,1,0,112,60,0,0,112,59,0,0,112,186,0,0,112,98,0,0,112,132,0,0,112,174,0,0,112,57,2,0,112,133,0,0,112,111,0,0,112,110,0,0,112,152,0,0,112,152,0,0,112,70,2,0,112,181,1,0,112,181,1,0,112,17,1,0,112,219,1,0,112,51,145,0,32,181,1,0,112,5,0,132,0,19,1,138,0,32,0,42,0,121,39,0,144,248,41,0,144,163,23,0,32,139,3,0,96,61,145,0,128 + 144,0,218,39,20,0,0,0,0,0,2,0,67,109,110,68,1,0,0,0,3,0,0,0,32,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,54,32,97,110,100,32,108,97,116,101,114,58,32,85,110,105,99,111,100,101,44,32,73,110,99,46,32,97,110,100,32,111,116,104,101,114,115,46,32,76,105,99,101,110,115,101,32,38,32,116,101,114,109,115,32,111,102,32,117,115,101,58,32,104,116,116,112,58,47,47,119,119,119,46,117,110,105,99,111,100,101,46,111,114,103,47,99,111,112,121,114,105,103,104,116,46,104,116,109,108,32,0,190,0,0,0,244,5,0,0,240,22,0,0,9,6,0,0,32,52,0,0,30,6,0,0,48,54,0,0,51,6,0,0,16,169,0,0,75,6,0,0,96,169,0,0,97,6,0,0,192,169,0,0,118,6,0,0,176,197,0,0,139,6,0,0,48,30,1,0,160,6,0,0,16,58,1,0,181,6,0,0,16,60,1,0,202,6,0,0,128,191,1,0,223,6,0,0,80,2,2,0,244,6,0,0,128,34,2,0,9,7,0,0,192,112,2,0,35,7,0,0,80,139,2,0,56,7,0,0,48,176,2,0,78,7,0,0,112,208,2,0,100,7,0,0,128,210,2,0,121,7,0,0,224,246,2,0,142,7,0,0,112,31,3,0,163,7,0,0,176,141,3,0,184,7,0,0,48,224,3,0,206,7,0,0,128,224,3,0,230,7,0,0,80,6,4,0,6,8,0,0,208,6,4,0,28,8,0,0,128,48,4,0,49,8,0,0,208,48,4,0,70,8,0,0,48,94,4,0,91,8,0,0,112,96,4,0,112,8,0,0,192,96,4,0,136,8,0,0,16,97,4,0,166,8,0,0,144,159,4,0,187,8,0,0,224,196,4,0,208,8,0,0,32,41,5,0,230,8,0,0,112,41,5,0,8,9,0,0,240,41,5,0,29,9,0,0,64,83,5,0,50,9,0,0,80,114,5,0,74,9,0,0,128,148,5,0,95,9,0,0,208,148,5,0,121,9,0,0,112,193,5,0,142,9,0,0,160,74,6,0,164,9,0,0,224,106,6,0,185,9,0,0,64,217,6,0,206,9,0,0,144,217,6,0,230,9,0,0,128,218,6,0,251,9,0,0,48,250,6,0,16,10,0,0,128,250,6,0,37,10,0,0,48,61,7,0,58,10,0,0,0,88,7,0,79,10,0,0,208,125,7,0,101,10,0,0,224,169,7,0,122,10,0,0,192,231,7,0,146,10,0,0,16,232,7,0,167,10,0,0,224,2,8,0,188,10,0,0,128,82,8,0,210,10,0,0,32,122,8,0,231,10,0,0,224,195,8,0,252,10,0,0,112,222,8,0,17,11,0,0,192,222,8,0,41,11,0,0,16,223,8,0,62,11,0,0,80,16,9,0,83,11,0,0,176,16,9,0,107,11,0,0,16,17,9,0,128,11,0,0,240,112,9,0,149,11,0,0,64,113,9,0,170,11,0,0,160,113,9,0,194,11,0,0,0,114,9,0,215,11,0,0,0,174,11,0,236,11,0,0,0,176,11,0,1,12,0,0,64,204,11,0,22,12,0,0,0,40,12,0,43,12,0,0,192,75,12,0,64,12,0,0,192,209,12,0,85,12,0,0,96,61,17,0,107,12,0,0,192,88,17,0,128,12,0,0,240,131,17,0,149,12,0,0,128,159,17,0,170,12,0,0,208,159,17,0,192,12,0,0,48,195,17,0,213,12,0,0,80,28,18,0,234,12,0,0,96,30,18,0,255,12,0,0,112,70,18,0,20,13,0,0,96,107,18,0,41,13,0,0,160,135,18,0,62,13,0,0,112,165,18,0,83,13,0,0,160,167,18,0,104,13,0,0,0,168,18,0,125,13,0,0,176,195,18,0,146,13,0,0,0,196,18,0,167,13,0,0,80,228,18,0,188,13,0,0,208,125,19,0,209,13,0,0,48,126,19,0,233,13,0,0,128,126,19,0,254,13,0,0,128,128,19,0,19,14,0,0,208,128,19,0,40,14,0,0,48,129,19,0,61,14,0,0,192,239,19,0,85,14,0,0,32,240,19,0,106,14,0,0,112,24,20,0,127,14,0,0,224,51,20,0,148,14,0,0,64,80,20,0,174,14,0,0,144,80,20,0,203,14,0,0,224,80,20,0,227,14,0,0,80,81,20,0,248,14,0,0,96,121,20,0,13,15,0,0,0,157,20,0,34,15,0,0,80,157,20,0,62,15,0,0,48,163,20,0,83,15,0,0,80,198,20,0,106,15,0,0,176,97,25,0,127,15,0,0,176,99,25,0,148,15,0,0,0,100,25,0,169,15,0,0,192,213,25,0,190,15,0,0,32,214,25,0,214,15,0,0,144,214,25,0,238,15,0,0,0,215,25,0,6,16,0,0,112,215,25,0,27,16,0,0,128,13,26,0,48,16,0,0,176,113,26,0,69,16,0,0,144,147,26,0,91,16,0,0,96,243,26,0,112,16,0,0,208,33,27,0,133,16,0,0,160,60,27,0,157,16,0,0,16,61,27,0,183,16,0,0,96,61,27,0,212,16,0,0,176,61,27,0,241,16,0,0,0,62,27,0,14,17,0,0,80,62,27,0,40,17,0,0,144,140,27,0,69,17,0,0,224,140,27,0,98,17,0,0,48,141,27,0,122,17,0,0,160,141,27,0,146,17,0,0,16,142,27,0,167,17,0,0,80,24,28,0,188,17,0,0,160,24,28,0,209,17,0,0,48,56,28,0,230,17,0,0,0,83,28,0,251,17,0,0,80,110,28,0,16,18,0,0,160,151,28,0,37,18,0,0,32,199,28,0,58,18,0,0,160,26,29,0,84,18,0,0,192,112,37,0,105,18,0,0,240,141,37,0,126,18,0,0,96,170,37,0,147,18,0,0,112,203,37,0,168,18,0,0,80,237,37,0,189,18,0,0,48,126,38,0,211,18,0,0,128,126,38,0,232,18,0,0,192,165,38,0,253,18,0,0,16,166,38,0,18,19,0,0,112,231,38,0,39,19,0,0,64,11,39,0,61,19,0,0,160,11,39,0,86,19,0,0,0,12,39,0,113,19,0,0,96,12,39,0,143,19,0,0,192,12,39,0,170,19,0,0,32,13,39,0,191,19,0,0,176,17,53,0,215,19,0,0,32,18,53,0,239,19,0,0,144,18,53,0,9,20,0,0,224,18,53,0,38,20,0,0,48,19,53,0,67,20,0,0,128,19,53,0,93,20,0,0,0,20,53,0,122,20,0,0,80,20,53,0,151,20,0,0,160,20,53,0,180,20,0,0,240,20,53,0,204,20,0,0,96,21,53,0,228,20,0,0,208,21,53,0,252,20,0,0,64,22,53,0,17,21,0,0,144,22,53,0,51,21,0,0,176,34,53,0,75,21,0,0,176,111,53,0,99,21,0,0,208,113,53,0,132,21,0,0,96,133,53,0,152,21,0,0,192,133,53,0,172,21,0,0,80,134,53,0,197,21,0,0,144,162,53,0,219,21,0,0,176,65,54,0,246,21,0,0,160,23,55,0,13,22,0,0,192,191,55,0,35,22,0,0,208,82,56,0,65,22,0,0,96,106,56,0,91,22,0,0,32,120,56,0,112,22,0,0,0,2,57,0,142,22,0,0,160,176,60,0,169,22,0,0,16,3,61,0,188,22,0,0,16,67,61,0,214,22,0,0,128,153,61,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,102,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,109,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,114,95,83,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,114,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,97,122,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,103,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,98,115,95,67,121,114,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,99,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,99,101,98,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,99,104,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,99,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,99,121,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,101,95,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,101,95,65,84,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,101,95,95,80,72,79,78,69,66,79,79,75,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,115,98,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,100,122,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,110,95,85,83,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,110,95,85,83,95,80,79,83,73,88,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,115,95,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,115,95,95,84,82,65,68,73,84,73,79,78,65,76,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,101,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,97,95,65,70,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,102,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,102,95,65,100,108,109,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,105,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,105,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,114,95,67,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,102,121,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,103,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,103,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,103,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,97,119,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,101,95,73,76,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,105,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,115,98,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,104,121,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,100,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,100,95,73,68,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,103,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,110,95,73,68,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,119,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,105,119,95,73,76,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,106,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,109,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,111,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,107,121,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,98,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,107,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,108,118,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,109,121,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,98,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,98,95,78,79,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,110,111,95,78,79,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,111,109,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,111,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,97,95,71,117,114,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,97,95,71,117,114,117,95,73,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,97,95,73,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,112,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,114,101,115,95,105,110,100,101,120,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,114,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,114,111,111,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,114,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,104,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,104,95,66,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,104,95,67,83,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,104,95,89,85,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,105,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,109,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,113,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,66,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,67,121,114,108,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,67,121,114,108,95,66,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,67,121,114,108,95,77,69,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,67,121,114,108,95,82,83,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,76,97,116,110,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,76,97,116,110,95,66,65,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,76,97,116,110,95,82,83,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,77,69,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,114,95,82,83,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,118,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,115,119,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,104,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,116,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,117,99,97,100,97,116,97,46,105,99,117,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,117,103,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,117,107,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,117,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,117,122,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,118,105,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,119,97,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,119,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,120,104,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,105,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,117,101,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,117,101,95,67,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,117,101,95,72,97,110,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,117,101,95,72,97,110,115,95,67,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,121,117,101,95,72,97,110,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,67,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,75,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,115,95,67,78,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,115,95,83,71,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,116,95,72,75,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,116,95,77,79,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,72,97,110,116,95,84,87,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,77,79,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,83,71,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,104,95,84,87,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,111,108,108,47,122,117,46,114,101,115,0,105,99,117,100,116,54,54,108,47,99,117,114,114,101,110,99,121,78,117,109,101,114,105,99,67,111,100,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,100,97,121,80,101,114,105,111,100,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,103,101,110,100,101,114,76,105,115,116,46,114,101,115,0,105,99,117,100,116,54,54,108,47,103,114,97,109,109,97,116,105,99,97,108,70,101,97,116,117,114,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,105,99,117,115,116,100,46,114,101,115,0,105,99,117,100,116,54,54,108,47,105,99,117,118,101,114,46,114,101,115,0,105,99,117,100,116,54,54,108,47,107,101,121,84,121,112,101,68,97,116,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,108,97,110,103,73,110,102,111,46,114,101,115,0,105,99,117,100,116,54,54,108,47,108,105,107,101,108,121,83,117,98,116,97,103,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,109,101,116,97,90,111,110,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,109,101,116,97,100,97,116,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,110,117,109,98,101,114,105,110,103,83,121,115,116,101,109,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,112,108,117,114,97,108,82,97,110,103,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,112,108,117,114,97,108,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,115,117,112,112,108,101,109,101,110,116,97,108,68,97,116,97,46,114,101,115,0,105,99,117,100,116,54,54,108,47,116,105,109,101,122,111,110,101,84,121,112,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,117,110,105,116,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,119,105,110,100,111,119,115,90,111,110,101,115,46,114,101,115,0,105,99,117,100,116,54,54,108,47,122,111,110,101,105,110,102,111,54,52,46,114,101,115,0,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,66,7,0,32,7,0,0,0,21,0,0,0,68,7,0,0,68,7,0,0,3,0,0,0,0,0,0,0,27,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,78,0,60,0,60,0,60,0,73,1,0,0,170,170,124,28,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,24,0,0,100,24,0,0,100,24,0,0,100,24,0,0,168,24,0,0,168,24,0,0,168,24,0,0,168,24,0,0,100,28,0,0,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,29,5,0,68,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,2,64,12,32,14,192,14,232,14,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,185,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,153,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,176,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,176,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,153,113,136,113,249,114,232,114,25,114,8,114,170,112,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,10,8,12,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,14,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,16,8,1,0,8,14,18,8,1,0,16,14,0,13,8,13,24,14,20,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,69,0,52,0,61,0,27,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,59,7,0,32,1,0,32,0,64,7,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,120,0,0,32,7,0,0,0,21,0,0,0,122,0,0,0,122,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,69,0,116,0,104,0,105,0,93,0,0,0,170,170,68,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,44,0,0,0,44,1,0,0,11,0,0,0,0,0,143,103,192,255,0,104,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,0,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,113,0,0,32,1,0,32,0,118,0,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,174,28,0,32,7,0,0,0,23,0,0,0,176,28,0,0,176,28,0,0,3,0,0,0,0,0,0,0,48,8,0,0,99,111,108,108,97,116,105,111,110,115,0,99,111,109,112,97,116,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,56,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,42,6,60,0,60,0,41,6,60,0,60,0,60,0,148,254,60,0,60,0,60,0,147,254,38,0,74,6,60,0,60,0,73,6,60,0,60,0,60,0,232,251,60,0,60,0,60,0,233,251,60,0,60,0,60,0,240,254,60,0,60,0,60,0,239,254,60,0,60,0,60,0,144,252,60,0,60,0,60,0,93,252,0,0,239,223,241,15,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,42,6,60,0,60,0,14,32,41,6,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,14,32,74,6,14,32,60,0,60,0,204,6,60,0,60,0,14,32,73,6,38,0,14,32,33,6,60,0,60,0,14,32,35,6,60,0,60,0,14,32,36,6,60,0,60,0,14,32,37,6,60,0,60,0,14,32,38,6,60,0,60,0,14,32,73,6,85,6,60,0,60,0,14,32,39,6,14,32,38,0,33,6,39,6,14,32,60,0,60,0,14,32,34,6,14,32,38,0,91,0,108,0,97,0,115,0,116,0,32,0,115,0,101,0,99,0,111,0,110,0,100,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,60,0,75,6,60,0,60,0,60,0,240,8,60,0,60,0,60,0,231,8,60,0,60,0,60,0,76,6,60,0,60,0,60,0,241,8,60,0,60,0,60,0,232,8,60,0,60,0,60,0,77,6,60,0,60,0,60,0,242,8,60,0,60,0,60,0,233,8,60,0,60,0,60,0,78,6,60,0,60,0,60,0,228,8,60,0,60,0,60,0,244,8,60,0,60,0,60,0,245,8,60,0,60,0,60,0,79,6,60,0,60,0,60,0,229,8,60,0,60,0,60,0,254,8,60,0,60,0,60,0,80,6,60,0,60,0,60,0,230,8,60,0,60,0,60,0,246,8,60,0,60,0,60,0,81,6,60,0,60,0,60,0,82,6,60,0,60,0,60,0,83,6,60,0,60,0,60,0,223,6,60,0,60,0,60,0,225,6,60,0,60,0,60,0,95,6,60,0,60,0,60,0,86,6,60,0,60,0,60,0,87,6,60,0,60,0,60,0,88,6,60,0,60,0,60,0,255,8,60,0,60,0,60,0,89,6,60,0,60,0,60,0,90,6,60,0,60,0,60,0,91,6,60,0,60,0,60,0,92,6,60,0,60,0,60,0,93,6,60,0,60,0,60,0,94,6,60,0,60,0,60,0,247,8,60,0,60,0,60,0,248,8,60,0,60,0,60,0,253,8,60,0,60,0,60,0,251,8,60,0,60,0,60,0,252,8,60,0,60,0,60,0,249,8,60,0,60,0,60,0,250,8,60,0,60,0,60,0,112,6,38,0,14,32,39,0,40,6,51,6,69,6,32,0,39,6,68,6,68,6,71,6,32,0,39,6,68,6,49,6,45,6,69,6,70,6,32,0,39,6,68,6,49,6,45,6,74,6,69,6,39,0,60,0,60,0,60,0,14,32,253,253,14,32,38,0,33,6,14,32,61,0,128,254,14,32,38,0,39,6,14,32,61,0,141,254,14,32,61,0,142,254,14,32,38,0,39,6,67,6,40,6,49,6,14,32,60,0,60,0,60,0,243,253,14,32,38,0,39,6,68,6,68,6,71,6,14,32,60,0,60,0,60,0,242,253,14,32,38,0,39,6,75,6,14,32,61,0,60,253,14,32,61,0,61,253,14,32,38,0,34,6,14,32,61,0,129,254,14,32,61,0,130,254,14,32,38,0,35,6,14,32,61,0,131,254,14,32,61,0,132,254,14,32,38,0,37,6,14,32,61,0,135,254,14,32,61,0,136,254,14,32,38,0,40,6,14,32,61,0,143,254,14,32,61,0,144,254,14,32,61,0,145,254,14,32,61,0,146,254,14,32,38,0,40,6,44,6,14,32,61,0,5,252,14,32,61,0,156,252,14,32,38,0,40,6,45,6,14,32,61,0,6,252,14,32,61,0,157,252,14,32,38,0,40,6,45,6,74,6,14,32,61,0,194,253,14,32,38,0,40,6,46,6,14,32,61,0,7,252,14,32,61,0,158,252,14,32,38,0,40,6,46,6,74,6,14,32,61,0,158,253,14,32,38,0,40,6,49,6,14,32,61,0,106,252,14,32,38,0,40,6,50,6,14,32,61,0,107,252,14,32,38,0,40,6,69,6,14,32,61,0,8,252,14,32,61,0,108,252,14,32,61,0,159,252,14,32,61,0,225,252,14,32,38,0,40,6,70,6,14,32,61,0,109,252,14,32,38,0,40,6,71,6,14,32,61,0,160,252,14,32,61,0,226,252,14,32,38,0,40,6,73,6,14,32,61,0,9,252,14,32,61,0,110,252,14,32,38,0,40,6,74,6,14,32,61,0,10,252,14,32,61,0,111,252,14,32,38,0,41,6,14,32,61,0,147,254,14,32,61,0,148,254,14,32,38,0,42,6,14,32,61,0,149,254,14,32,61,0,150,254,14,32,61,0,151,254,14,32,61,0,152,254,14,32,38,0,42,6,44,6,14,32,61,0,11,252,14,32,61,0,161,252,14,32,38,0,42,6,44,6,69,6,14,32,61,0,80,253,14,32,38,0,42,6,44,6,73,6,14,32,61,0,160,253,14,32,38,0,42,6,44,6,74,6,14,32,61,0,159,253,14,32,38,0,42,6,45,6,14,32,61,0,12,252,14,32,61,0,162,252,14,32,38,0,42,6,45,6,44,6,14,32,61,0,81,253,14,32,61,0,82,253,14,32,38,0,42,6,45,6,69,6,14,32,61,0,83,253,14,32,38,0,42,6,46,6,14,32,61,0,13,252,14,32,61,0,163,252,14,32,38,0,42,6,46,6,69,6,14,32,61,0,84,253,14,32,38,0,42,6,46,6,73,6,14,32,61,0,162,253,14,32,38,0,42,6,46,6,74,6,14,32,61,0,161,253,14,32,38,0,42,6,49,6,14,32,61,0,112,252,14,32,38,0,42,6,50,6,14,32,61,0,113,252,14,32,38,0,42,6,69,6,14,32,61,0,14,252,14,32,61,0,114,252,14,32,61,0,164,252,14,32,61,0,227,252,14,32,38,0,42,6,69,6,44,6,14,32,61,0,85,253,14,32,38,0,42,6,69,6,45,6,14,32,61,0,86,253,14,32,38,0,42,6,69,6,46,6,14,32,61,0,87,253,14,32,38,0,42,6,69,6,73,6,14,32,61,0,164,253,14,32,38,0,42,6,69,6,74,6,14,32,61,0,163,253,14,32,38,0,42,6,70,6,14,32,61,0,115,252,14,32,38,0,42,6,71,6,14,32,61,0,165,252,14,32,61,0,228,252,14,32,38,0,42,6,73,6,14,32,61,0,15,252,14,32,61,0,116,252,14,32,38,0,42,6,74,6,14,32,61,0,16,252,14,32,61,0,117,252,14,32,38,0,43,6,14,32,61,0,153,254,14,32,61,0,154,254,14,32,61,0,155,254,14,32,61,0,156,254,14,32,38,0,43,6,44,6,14,32,61,0,17,252,14,32,38,0,43,6,49,6,14,32,61,0,118,252,14,32,38,0,43,6,50,6,14,32,61,0,119,252,14,32,38,0,43,6,69,6,14,32,61,0,18,252,14,32,61,0,120,252,14,32,61,0,166,252,14,32,61,0,229,252,14,32,38,0,43,6,70,6,14,32,61,0,121,252,14,32,38,0,43,6,71,6,14,32,61,0,230,252,14,32,38,0,43,6,73,6,14,32,61,0,19,252,14,32,61,0,122,252,14,32,38,0,43,6,74,6,14,32,61,0,20,252,14,32,61,0,123,252,14,32,38,0,44,6,14,32,61,0,157,254,14,32,61,0,158,254,14,32,61,0,159,254,14,32,61,0,160,254,14,32,38,0,44,6,45,6,14,32,61,0,21,252,14,32,61,0,167,252,14,32,38,0,44,6,45,6,73,6,14,32,61,0,166,253,14,32,38,0,44,6,45,6,74,6,14,32,61,0,190,253,14,32,38,0,39,0,44,6,68,6,32,0,44,6,68,6,39,6,68,6,71,6,39,0,14,32,60,0,60,0,60,0,251,253,14,32,38,0,44,6,69,6,14,32,61,0,22,252,14,32,61,0,168,252,14,32,38,0,44,6,69,6,45,6,14,32,61,0,88,253,14,32,61,0,89,253,14,32,38,0,44,6,69,6,73,6,14,32,61,0,167,253,14,32,38,0,44,6,69,6,74,6,14,32,61,0,165,253,14,32,38,0,44,6,73,6,14,32,61,0,1,253,14,32,61,0,29,253,14,32,38,0,44,6,74,6,14,32,61,0,2,253,14,32,61,0,30,253,14,32,38,0,45,6,14,32,61,0,161,254,14,32,61,0,162,254,14,32,61,0,163,254,14,32,61,0,164,254,14,32,38,0,45,6,44,6,14,32,61,0,23,252,14,32,61,0,169,252,14,32,38,0,45,6,44,6,74,6,14,32,61,0,191,253,14,32,38,0,45,6,69,6,14,32,61,0,24,252,14,32,61,0,170,252,14,32,38,0,45,6,69,6,73,6,14,32,61,0,91,253,14,32,38,0,45,6,69,6,74,6,14,32,61,0,90,253,14,32,38,0,45,6,73,6,14,32,61,0,255,252,14,32,61,0,27,253,14,32,38,0,45,6,74,6,14,32,61,0,0,253,14,32,61,0,28,253,14,32,38,0,46,6,14,32,61,0,165,254,14,32,61,0,166,254,14,32,61,0,167,254,14,32,61,0,168,254,14,32,38,0,46,6,44,6,14,32,61,0,25,252,14,32,61,0,171,252,14,32,38,0,46,6,45,6,14,32,61,0,26,252,14,32,38,0,46,6,69,6,14,32,61,0,27,252,14,32,61,0,172,252,14,32,38,0,46,6,73,6,14,32,61,0,3,253,14,32,61,0,31,253,14,32,38,0,46,6,74,6,14,32,61,0,4,253,14,32,61,0,32,253,14,32,38,0,47,6,14,32,61,0,169,254,14,32,61,0,170,254,14,32,38,0,48,6,14,32,61,0,171,254,14,32,61,0,172,254,14,32,38,0,48,6,112,6,14,32,61,0,91,252,14,32,38,0,49,6,14,32,61,0,173,254,14,32,61,0,174,254,14,32,38,0,49,6,51,6,72,6,68,6,14,32,60,0,60,0,60,0,246,253,14,32,38,0,49,6,112,6,14,32,61,0,92,252,14,32,38,0,49,6,204,6,39,6,68,6,14,32,60,0,60,0,60,0,252,253,14,32,38,0,50,6,14,32,61,0,175,254,14,32,61,0,176,254,14,32,38,0,51,6,14,32,61,0,177,254,14,32,61,0,178,254,14,32,61,0,179,254,14,32,61,0,180,254,14,32,38,0,51,6,44,6,14,32,61,0,28,252,14,32,61,0,173,252,14,32,61,0,52,253,14,32,38,0,51,6,44,6,45,6,14,32,61,0,93,253,14,32,38,0,51,6,44,6,73,6,14,32,61,0,94,253,14,32,38,0,51,6,45,6,14,32,61,0,29,252,14,32,61,0,174,252,14,32,61,0,53,253,14,32,38,0,51,6,45,6,44,6,14,32,61,0,92,253,14,32,38,0,51,6,46,6,14,32,61,0,30,252,14,32,61,0,175,252,14,32,61,0,54,253,14,32,38,0,51,6,46,6,73,6,14,32,61,0,168,253,14,32,38,0,51,6,46,6,74,6,14,32,61,0,198,253,14,32,38,0,51,6,49,6,14,32,61,0,14,253,14,32,61,0,42,253,14,32,38,0,51,6,69,6,14,32,61,0,31,252,14,32,61,0,176,252,14,32,61,0,231,252,14,32,38,0,51,6,69,6,44,6,14,32,61,0,97,253,14,32,38,0,51,6,69,6,45,6,14,32,61,0,95,253,14,32,61,0,96,253,14,32,38,0,51,6,69,6,69,6,14,32,61,0,98,253,14,32,61,0,99,253,14,32,38,0,51,6,71,6,14,32,61,0,232,252,14,32,61,0,49,253,14,32,38,0,51,6,73,6,14,32,61,0,251,252,14,32,61,0,23,253,14,32,38,0,51,6,74,6,14,32,61,0,252,252,14,32,61,0,24,253,14,32,38,0,52,6,14,32,61,0,181,254,14,32,61,0,182,254,14,32,61,0,183,254,14,32,61,0,184,254,14,32,38,0,52,6,44,6,14,32,61,0,9,253,14,32,61,0,37,253,14,32,61,0,45,253,14,32,61,0,55,253,14,32,38,0,52,6,44,6,74,6,14,32,61,0,105,253,14,32,38,0,52,6,45,6,14,32,61,0,10,253,14,32,61,0,38,253,14,32,61,0,46,253,14,32,61,0,56,253,14,32,38,0,52,6,45,6,69,6,14,32,61,0,103,253,14,32,61,0,104,253,14,32,38,0,52,6,45,6,74,6,14,32,61,0,170,253,14,32,38,0,52,6,46,6,14,32,61,0,11,253,14,32,61,0,39,253,14,32,61,0,47,253,14,32,61,0,57,253,14,32,38,0,52,6,49,6,14,32,61,0,13,253,14,32,61,0,41,253,14,32,38,0,52,6,69,6,14,32,61,0,233,252,14,32,61,0,12,253,14,32,61,0,40,253,14,32,61,0,48,253,14,32,38,0,52,6,69,6,46,6,14,32,61,0,106,253,14,32,61,0,107,253,14,32,38,0,52,6,69,6,69,6,14,32,61,0,108,253,14,32,61,0,109,253,14,32,38,0,52,6,71,6,14,32,61,0,234,252,14,32,61,0,50,253,14,32,38,0,52,6,73,6,14,32,61,0,253,252,14,32,61,0,25,253,14,32,38,0,52,6,74,6,14,32,61,0,254,252,14,32,61,0,26,253,14,32,38,0,53,6,14,32,61,0,185,254,14,32,61,0,186,254,14,32,61,0,187,254,14,32,61,0,188,254,14,32,38,0,53,6,45,6,14,32,61,0,32,252,14,32,61,0,177,252,14,32,38,0,53,6,45,6,45,6,14,32,61,0,100,253,14,32,61,0,101,253,14,32,38,0,53,6,45,6,74,6,14,32,61,0,169,253,14,32,38,0,53,6,46,6,14,32,61,0,178,252,14,32,38,0,53,6,49,6,14,32,61,0,15,253,14,32,61,0,43,253,14,32,38,0,53,6,68,6,57,6,69,6,14,32,60,0,60,0,60,0,245,253,14,32,38,0,53,6,68,6,73,6,14,32,60,0,60,0,60,0,249,253,14,32,38,0,39,0,53,6,68,6,73,6,32,0,39,6,68,6,68,6,71,6,32,0,57,6,68,6,74,6,71,6,32,0,72,6,51,6,68,6,69,6,39,0,14,32,60,0,60,0,60,0,250,253,14,32,38,0,53,6,68,6,210,6,14,32,60,0,60,0,60,0,240,253,14,32,38,0,53,6,69,6,14,32,61,0,33,252,14,32,61,0,179,252,14,32,38,0,53,6,69,6,69,6,14,32,61,0,102,253,14,32,61,0,197,253,14,32,38,0,53,6,73,6,14,32,61,0,5,253,14,32,61,0,33,253,14,32,38,0,53,6,74,6,14,32,61,0,6,253,14,32,61,0,34,253,14,32,38,0,54,6,14,32,61,0,189,254,14,32,61,0,190,254,14,32,61,0,191,254,14,32,61,0,192,254,14,32,38,0,54,6,44,6,14,32,61,0,34,252,14,32,61,0,180,252,14,32,38,0,54,6,45,6,14,32,61,0,35,252,14,32,61,0,181,252,14,32,38,0,54,6,45,6,73,6,14,32,61,0,110,253,14,32,38,0,54,6,45,6,74,6,14,32,61,0,171,253,14,32,38,0,54,6,46,6,14,32,61,0,36,252,14,32,61,0,182,252,14,32,38,0,54,6,46,6,69,6,14,32,61,0,111,253,14,32,61,0,112,253,14,32,38,0,54,6,49,6,14,32,61,0,16,253,14,32,61,0,44,253,14,32,38,0,54,6,69,6,14,32,61,0,37,252,14,32,61,0,183,252,14,32,38,0,54,6,73,6,14,32,61,0,7,253,14,32,61,0,35,253,14,32,38,0,54,6,74,6,14,32,61,0,8,253,14,32,61,0,36,253,14,32,38,0,55,6,14,32,61,0,193,254,14,32,61,0,194,254,14,32,61,0,195,254,14,32,61,0,196,254,14,32,38,0,55,6,45,6,14,32,61,0,38,252,14,32,61,0,184,252,14,32,38,0,55,6,69,6,14,32,61,0,39,252,14,32,61,0,51,253,14,32,61,0,58,253,14,32,38,0,55,6,69,6,45,6,14,32,61,0,113,253,14,32,61,0,114,253,14,32,38,0,55,6,69,6,69,6,14,32,61,0,115,253,14,32,38,0,55,6,69,6,74,6,14,32,61,0,116,253,14,32,38,0,55,6,73,6,14,32,61,0,245,252,14,32,61,0,17,253,14,32,38,0,55,6,74,6,14,32,61,0,246,252,14,32,61,0,18,253,14,32,38,0,56,6,14,32,61,0,197,254,14,32,61,0,198,254,14,32,61,0,199,254,14,32,61,0,200,254,14,32,38,0,56,6,69,6,14,32,61,0,40,252,14,32,61,0,185,252,14,32,61,0,59,253,14,32,38,0,57,6,14,32,61,0,201,254,14,32,61,0,202,254,14,32,61,0,203,254,14,32,61,0,204,254,14,32,38,0,57,6,44,6,14,32,61,0,41,252,14,32,61,0,186,252,14,32,38,0,57,6,44,6,69,6,14,32,61,0,117,253,14,32,61,0,196,253,14,32,38,0,57,6,68,6,74,6,71,6,14,32,60,0,60,0,60,0,247,253,14,32,38,0,57,6,69,6,14,32,61,0,42,252,14,32,61,0,187,252,14,32,38,0,57,6,69,6,69,6,14,32,61,0,118,253,14,32,61,0,119,253,14,32,38,0,57,6,69,6,73,6,14,32,61,0,120,253,14,32,38,0,57,6,69,6,74,6,14,32,61,0,182,253,14,32,38,0,57,6,73,6,14,32,61,0,247,252,14,32,61,0,19,253,14,32,38,0,57,6,74,6,14,32,61,0,248,252,14,32,61,0,20,253,14,32,38,0,58,6,14,32,61,0,205,254,14,32,61,0,206,254,14,32,61,0,207,254,14,32,61,0,208,254,14,32,38,0,58,6,44,6,14,32,61,0,43,252,14,32,61,0,188,252,14,32,38,0,58,6,69,6,14,32,61,0,44,252,14,32,61,0,189,252,14,32,38,0,58,6,69,6,69,6,14,32,61,0,121,253,14,32,38,0,58,6,69,6,73,6,14,32,61,0,123,253,14,32,38,0,58,6,69,6,74,6,14,32,61,0,122,253,14,32,38,0,58,6,73,6,14,32,61,0,249,252,14,32,61,0,21,253,14,32,38,0,58,6,74,6,14,32,61,0,250,252,14,32,61,0,22,253,14,32,38,0,64,6,75,6,14,32,61,0,113,254,14,32,38,0,64,6,78,6,14,32,61,0,119,254,14,32,38,0,64,6,78,6,81,6,14,32,61,0,242,252,14,32,38,0,64,6,79,6,14,32,61,0,121,254,14,32,38,0,64,6,79,6,81,6,14,32,61,0,243,252,14,32,38,0,64,6,80,6,14,32,61,0,123,254,14,32,38,0,64,6,80,6,81,6,14,32,61,0,244,252,14,32,38,0,64,6,81,6,14,32,61,0,125,254,14,32,38,0,64,6,82,6,14,32,61,0,127,254,14,32,38,0,65,6,14,32,61,0,209,254,14,32,61,0,210,254,14,32,61,0,211,254,14,32,61,0,212,254,14,32,38,0,65,6,44,6,14,32,61,0,45,252,14,32,61,0,190,252,14,32,38,0,65,6,45,6,14,32,61,0,46,252,14,32,61,0,191,252,14,32,38,0,65,6,46,6,14,32,61,0,47,252,14,32,61,0,192,252,14,32,38,0,65,6,46,6,69,6,14,32,61,0,124,253,14,32,61,0,125,253,14,32,38,0,65,6,69,6,14,32,61,0,48,252,14,32,61,0,193,252,14,32,38,0,65,6,69,6,74,6,14,32,61,0,193,253,14,32,38,0,65,6,73,6,14,32,61,0,49,252,14,32,61,0,124,252,14,32,38,0,65,6,74,6,14,32,61,0,50,252,14,32,61,0,125,252,14,32,38,0,66,6,14,32,61,0,213,254,14,32,61,0,214,254,14,32,61,0,215,254,14,32,61,0,216,254,14,32,38,0,66,6,45,6,14,32,61,0,51,252,14,32,61,0,194,252,14,32,38,0,66,6,68,6,210,6,14,32,60,0,60,0,60,0,241,253,14,32,38,0,66,6,69,6,14,32,61,0,52,252,14,32,61,0,195,252,14,32,38,0,66,6,69,6,45,6,14,32,61,0,126,253,14,32,61,0,180,253,14,32,38,0,66,6,69,6,69,6,14,32,61,0,127,253,14,32,38,0,66,6,69,6,74,6,14,32,61,0,178,253,14,32,38,0,66,6,73,6,14,32,61,0,53,252,14,32,61,0,126,252,14,32,38,0,66,6,74,6,14,32,61,0,54,252,14,32,61,0,127,252,14,32,38,0,67,6,14,32,61,0,217,254,14,32,61,0,218,254,14,32,61,0,219,254,14,32,61,0,220,254,14,32,38,0,67,6,39,6,14,32,61,0,55,252,14,32,61,0,128,252,14,32,38,0,67,6,44,6,14,32,61,0,56,252,14,32,61,0,196,252,14,32,38,0,67,6,45,6,14,32,61,0,57,252,14,32,61,0,197,252,14,32,38,0,67,6,46,6,14,32,61,0,58,252,14,32,61,0,198,252,14,32,38,0,67,6,68,6,14,32,61,0,59,252,14,32,61,0,129,252,14,32,61,0,199,252,14,32,61,0,235,252,14,32,38,0,67,6,69,6,14,32,61,0,60,252,14,32,61,0,130,252,14,32,61,0,200,252,14,32,61,0,236,252,14,32,38,0,67,6,69,6,69,6,14,32,61,0,187,253,14,32,61,0,195,253,14,32,38,0,67,6,69,6,74,6,14,32,61,0,183,253,14,32,38,0,67,6,73,6,14,32,61,0,61,252,14,32,61,0,131,252,14,32,38,0,67,6,74,6,14,32,61,0,62,252,14,32,61,0,132,252,14,32,38,0,68,6,14,32,61,0,221,254,14,32,61,0,222,254,14,32,61,0,223,254,14,32,61,0,224,254,14,32,38,0,68,6,39,6,14,32,61,0,251,254,14,32,61,0,252,254,14,32,38,0,68,6,34,6,14,32,61,0,245,254,14,32,61,0,246,254,14,32,38,0,68,6,35,6,14,32,61,0,247,254,14,32,61,0,248,254,14,32,38,0,68,6,37,6,14,32,61,0,249,254,14,32,61,0,250,254,14,32,38,0,68,6,44,6,14,32,61,0,63,252,14,32,61,0,201,252,14,32,38,0,68,6,44,6,44,6,14,32,61,0,131,253,14,32,61,0,132,253,14,32,38,0,68,6,44,6,69,6,14,32,61,0,186,253,14,32,61,0,188,253,14,32,38,0,68,6,44,6,74,6,14,32,61,0,172,253,14,32,38,0,68,6,45,6,14,32,61,0,64,252,14,32,61,0,202,252,14,32,38,0,68,6,45,6,69,6,14,32,61,0,128,253,14,32,61,0,181,253,14,32,38,0,68,6,45,6,73,6,14,32,61,0,130,253,14,32,38,0,68,6,45,6,74,6,14,32,61,0,129,253,14,32,38,0,68,6,46,6,14,32,61,0,65,252,14,32,61,0,203,252,14,32,38,0,68,6,46,6,69,6,14,32,61,0,133,253,14,32,61,0,134,253,14,32,38,0,68,6,69,6,14,32,61,0,66,252,14,32,61,0,133,252,14,32,61,0,204,252,14,32,61,0,237,252,14,32,38,0,68,6,69,6,45,6,14,32,61,0,135,253,14,32,61,0,136,253,14,32,38,0,68,6,69,6,74,6,14,32,61,0,173,253,14,32,38,0,68,6,71,6,14,32,61,0,205,252,14,32,38,0,68,6,73,6,14,32,61,0,67,252,14,32,61,0,134,252,14,32,38,0,68,6,74,6,14,32,61,0,68,252,14,32,61,0,135,252,14,32,38,0,69,6,14,32,61,0,225,254,14,32,61,0,226,254,14,32,61,0,227,254,14,32,61,0,228,254,14,32,38,0,69,6,39,6,14,32,61,0,136,252,14,32,38,0,69,6,44,6,14,32,61,0,69,252,14,32,61,0,206,252,14,32,38,0,69,6,44,6,45,6,14,32,61,0,140,253,14,32,38,0,69,6,44,6,46,6,14,32,61,0,146,253,14,32,38,0,69,6,44,6,69,6,14,32,61,0,141,253,14,32,38,0,69,6,44,6,74,6,14,32,61,0,192,253,14,32,38,0,69,6,45,6,14,32,61,0,70,252,14,32,61,0,207,252,14,32,38,0,69,6,45,6,44,6,14,32,61,0,137,253,14,32,38,0,69,6,45,6,69,6,14,32,61,0,138,253,14,32,38,0,69,6,45,6,69,6,47,6,14,32,60,0,60,0,60,0,244,253,14,32,38,0,69,6,45,6,74,6,14,32,61,0,139,253,14,32,38,0,69,6,46,6,14,32,61,0,71,252,14,32,61,0,208,252,14,32,38,0,69,6,46,6,44,6,14,32,61,0,142,253,14,32,38,0,69,6,46,6,69,6,14,32,61,0,143,253,14,32,38,0,69,6,46,6,74,6,14,32,61,0,185,253,14,32,38,0,69,6,69,6,14,32,61,0,72,252,14,32,61,0,137,252,14,32,61,0,209,252,14,32,38,0,69,6,69,6,74,6,14,32,61,0,177,253,14,32,38,0,69,6,73,6,14,32,61,0,73,252,14,32,38,0,69,6,74,6,14,32,61,0,74,252,14,32,38,0,70,6,14,32,61,0,229,254,14,32,61,0,230,254,14,32,61,0,231,254,14,32,61,0,232,254,14,32,38,0,70,6,44,6,14,32,61,0,75,252,14,32,61,0,210,252,14,32,38,0,70,6,44,6,45,6,14,32,61,0,184,253,14,32,61,0,189,253,14,32,38,0,70,6,44,6,69,6,14,32,61,0,151,253,14,32,61,0,152,253,14,32,38,0,70,6,44,6,73,6,14,32,61,0,153,253,14,32,38,0,70,6,44,6,74,6,14,32,61,0,199,253,14,32,38,0,70,6,45,6,14,32,61,0,76,252,14,32,61,0,211,252,14,32,38,0,70,6,45,6,69,6,14,32,61,0,149,253,14,32,38,0,70,6,45,6,73,6,14,32,61,0,150,253,14,32,38,0,70,6,45,6,74,6,14,32,61,0,179,253,14,32,38,0,70,6,46,6,14,32,61,0,77,252,14,32,61,0,212,252,14,32,38,0,70,6,49,6,14,32,61,0,138,252,14,32,38,0,70,6,50,6,14,32,61,0,139,252,14,32,38,0,70,6,69,6,14,32,61,0,78,252,14,32,61,0,140,252,14,32,61,0,213,252,14,32,61,0,238,252,14,32,38,0,70,6,69,6,73,6,14,32,61,0,155,253,14,32,38,0,70,6,69,6,74,6,14,32,61,0,154,253,14,32,38,0,70,6,70,6,14,32,61,0,141,252,14,32,38,0,70,6,71,6,14,32,61,0,214,252,14,32,61,0,239,252,14,32,38,0,70,6,73,6,14,32,61,0,79,252,14,32,61,0,142,252,14,32,38,0,70,6,74,6,14,32,61,0,80,252,14,32,61,0,143,252,14,32,38,0,71,6,14,32,61,0,233,254,14,32,61,0,234,254,14,32,61,0,235,254,14,32,61,0,236,254,14,32,38,0,71,6,44,6,14,32,61,0,81,252,14,32,61,0,215,252,14,32,38,0,71,6,69,6,14,32,61,0,82,252,14,32,61,0,216,252,14,32,38,0,71,6,69,6,44,6,14,32,61,0,147,253,14,32,38,0,71,6,69,6,69,6,14,32,61,0,148,253,14,32,38,0,71,6,73,6,14,32,61,0,83,252,14,32,38,0,71,6,74,6,14,32,61,0,84,252,14,32,38,0,71,6,112,6,14,32,61,0,217,252,14,32,38,0,72,6,14,32,61,0,237,254,14,32,61,0,238,254,14,32,38,0,72,6,51,6,68,6,69,6,14,32,60,0,60,0,60,0,248,253,14,32,38,0,36,6,14,32,61,0,133,254,14,32,61,0,134,254,14,32,38,0,73,6,14,32,61,0,232,251,14,32,61,0,233,251,14,32,61,0,239,254,14,32,61,0,240,254,14,32,38,0,73,6,112,6,14,32,61,0,93,252,14,32,61,0,144,252,14,32,38,0,74,6,14,32,61,0,241,254,14,32,61,0,242,254,14,32,61,0,243,254,14,32,61,0,244,254,14,32,38,0,74,6,44,6,14,32,61,0,85,252,14,32,61,0,218,252,14,32,38,0,74,6,44,6,74,6,14,32,61,0,175,253,14,32,38,0,74,6,45,6,14,32,61,0,86,252,14,32,61,0,219,252,14,32,38,0,74,6,45,6,74,6,14,32,61,0,174,253,14,32,38,0,74,6,46,6,14,32,61,0,87,252,14,32,61,0,220,252,14,32,38,0,74,6,49,6,14,32,61,0,145,252,14,32,38,0,74,6,50,6,14,32,61,0,146,252,14,32,38,0,74,6,69,6,14,32,61,0,88,252,14,32,61,0,147,252,14,32,61,0,221,252,14,32,61,0,240,252,14,32,38,0,74,6,69,6,69,6,14,32,61,0,156,253,14,32,61,0,157,253,14,32,38,0,74,6,69,6,74,6,14,32,61,0,176,253,14,32,38,0,74,6,70,6,14,32,61,0,148,252,14,32,38,0,74,6,71,6,14,32,61,0,222,252,14,32,61,0,241,252,14,32,38,0,74,6,73,6,14,32,61,0,89,252,14,32,61,0,149,252,14,32,38,0,74,6,74,6,14,32,61,0,90,252,14,32,61,0,150,252,14,32,38,0,38,6,14,32,61,0,137,254,14,32,61,0,138,254,14,32,61,0,139,254,14,32,61,0,140,254,14,32,38,0,38,6,39,6,14,32,61,0,234,251,14,32,61,0,235,251,14,32,38,0,38,6,44,6,14,32,61,0,0,252,14,32,61,0,151,252,14,32,38,0,38,6,45,6,14,32,61,0,1,252,14,32,61,0,152,252,14,32,38,0,38,6,46,6,14,32,61,0,153,252,14,32,38,0,38,6,49,6,14,32,61,0,100,252,14,32,38,0,38,6,50,6,14,32,61,0,101,252,14,32,38,0,38,6,69,6,14,32,61,0,2,252,14,32,61,0,102,252,14,32,61,0,154,252,14,32,61,0,223,252,14,32,38,0,38,6,70,6,14,32,61,0,103,252,14,32,38,0,38,6,71,6,14,32,61,0,155,252,14,32,61,0,224,252,14,32,38,0,38,6,72,6,14,32,61,0,238,251,14,32,61,0,239,251,14,32,38,0,38,6,73,6,14,32,61,0,249,251,14,32,61,0,250,251,14,32,61,0,251,251,14,32,61,0,3,252,14,32,61,0,104,252,14,32,38,0,38,6,74,6,14,32,61,0,4,252,14,32,61,0,105,252,14,32,38,0,38,6,198,6,14,32,61,0,242,251,14,32,61,0,243,251,14,32,38,0,38,6,199,6,14,32,61,0,240,251,14,32,61,0,241,251,14,32,38,0,38,6,200,6,14,32,61,0,244,251,14,32,61,0,245,251,14,32,38,0,38,6,208,6,14,32,61,0,246,251,14,32,61,0,247,251,14,32,61,0,248,251,14,32,38,0,38,6,213,6,14,32,61,0,236,251,14,32,61,0,237,251,14,32,38,0,75,6,14,32,61,0,112,254,14,32,38,0,76,6,14,32,61,0,114,254,14,32,38,0,76,6,81,6,14,32,61,0,94,252,14,32,38,0,77,6,14,32,61,0,116,254,14,32,38,0,77,6,81,6,14,32,61,0,95,252,14,32,38,0,78,6,14,32,61,0,118,254,14,32,38,0,78,6,81,6,14,32,61,0,96,252,14,32,38,0,79,6,14,32,61,0,120,254,14,32,38,0,79,6,81,6,14,32,61,0,97,252,14,32,38,0,80,6,14,32,61,0,122,254,14,32,38,0,80,6,81,6,14,32,61,0,98,252,14,32,38,0,81,6,14,32,61,0,124,254,14,32,38,0,81,6,112,6,14,32,61,0,99,252,14,32,38,0,82,6,14,32,61,0,126,254,14,32,38,0,113,6,14,32,61,0,80,251,14,32,61,0,81,251,14,32,38,0,121,6,14,32,61,0,102,251,14,32,61,0,103,251,14,32,61,0,104,251,14,32,61,0,105,251,14,32,38,0,122,6,14,32,61,0,94,251,14,32,61,0,95,251,14,32,61,0,96,251,14,32,61,0,97,251,14,32,38,0,123,6,14,32,61,0,82,251,14,32,61,0,83,251,14,32,61,0,84,251,14,32,61,0,85,251,14,32,38,0,126,6,14,32,61,0,86,251,14,32,61,0,87,251,14,32,61,0,88,251,14,32,61,0,89,251,14,32,38,0,127,6,14,32,61,0,98,251,14,32,61,0,99,251,14,32,61,0,100,251,14,32,61,0,101,251,14,32,38,0,128,6,14,32,61,0,90,251,14,32,61,0,91,251,14,32,61,0,92,251,14,32,61,0,93,251,14,32,38,0,131,6,14,32,61,0,118,251,14,32,61,0,119,251,14,32,61,0,120,251,14,32,61,0,121,251,14,32,38,0,132,6,14,32,61,0,114,251,14,32,61,0,115,251,14,32,61,0,116,251,14,32,61,0,117,251,14,32,38,0,134,6,14,32,61,0,122,251,14,32,61,0,123,251,14,32,61,0,124,251,14,32,61,0,125,251,14,32,38,0,135,6,14,32,61,0,126,251,14,32,61,0,127,251,14,32,61,0,128,251,14,32,61,0,129,251,14,32,38,0,136,6,14,32,61,0,136,251,14,32,61,0,137,251,14,32,38,0,140,6,14,32,61,0,132,251,14,32,61,0,133,251,14,32,38,0,141,6,14,32,61,0,130,251,14,32,61,0,131,251,14,32,38,0,142,6,14,32,61,0,134,251,14,32,61,0,135,251,14,32,38,0,145,6,14,32,61,0,140,251,14,32,61,0,141,251,14,32,38,0,152,6,14,32,61,0,138,251,14,32,61,0,139,251,14,32,38,0,164,6,14,32,61,0,106,251,14,32,61,0,107,251,14,32,61,0,108,251,14,32,61,0,109,251,14,32,38,0,166,6,14,32,61,0,110,251,14,32,61,0,111,251,14,32,61,0,112,251,14,32,61,0,113,251,14,32,38,0,169,6,14,32,61,0,142,251,14,32,61,0,143,251,14,32,61,0,144,251,14,32,61,0,145,251,14,32,38,0,173,6,14,32,61,0,211,251,14,32,61,0,212,251,14,32,61,0,213,251,14,32,61,0,214,251,14,32,38,0,175,6,14,32,61,0,146,251,14,32,61,0,147,251,14,32,61,0,148,251,14,32,61,0,149,251,14,32,38,0,177,6,14,32,61,0,154,251,14,32,61,0,155,251,14,32,61,0,156,251,14,32,61,0,157,251,14,32,38,0,179,6,14,32,61,0,150,251,14,32,61,0,151,251,14,32,61,0,152,251,14,32,61,0,153,251,14,32,38,0,186,6,14,32,61,0,158,251,14,32,61,0,159,251,14,32,38,0,187,6,14,32,61,0,160,251,14,32,61,0,161,251,14,32,61,0,162,251,14,32,61,0,163,251,14,32,38,0,190,6,14,32,61,0,170,251,14,32,61,0,171,251,14,32,61,0,172,251,14,32,61,0,173,251,14,32,38,0,193,6,14,32,61,0,166,251,14,32,61,0,167,251,14,32,61,0,168,251,14,32,61,0,169,251,14,32,38,0,197,6,14,32,61,0,224,251,14,32,61,0,225,251,14,32,38,0,198,6,14,32,61,0,217,251,14,32,61,0,218,251,14,32,38,0,199,6,14,32,61,0,215,251,14,32,61,0,216,251,14,32,38,0,199,6,116,6,14,32,61,0,221,251,14,32,38,0,200,6,14,32,61,0,219,251,14,32,61,0,220,251,14,32,38,0,201,6,14,32,61,0,226,251,14,32,61,0,227,251,14,32,38,0,203,6,14,32,61,0,222,251,14,32,61,0,223,251,14,32,38,0,204,6,14,32,61,0,252,251,14,32,61,0,253,251,14,32,61,0,254,251,14,32,61,0,255,251,14,32,38,0,208,6,14,32,61,0,228,251,14,32,61,0,229,251,14,32,61,0,230,251,14,32,61,0,231,251,14,32,38,0,210,6,14,32,61,0,174,251,14,32,61,0,175,251,14,32,38,0,211,6,14,32,61,0,176,251,14,32,61,0,177,251,14,32,38,0,192,6,14,32,61,0,164,251,14,32,61,0,165,251,0,0,170,170,170,170,170,170,170,170,170,170,170,170,84,28,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,56,0,0,0,56,1,0,0,248,27,0,0,248,27,0,0,248,27,0,0,248,27,0,0,60,28,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,163,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,118,0,48,0,48,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,124,0,48,0,48,0,127,0,48,0,135,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,140,0,48,0,48,0,146,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,42,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,70,238,102,7,70,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,11,70,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,10,70,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,42,102,6,70,42,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,70,238,102,8,70,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,67,0,50,0,59,0,51,8,0,16,4,0,0,96,1,0,0,96,170,170,170,170,84,53,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,144,40,0,0,144,40,0,0,56,42,0,0,56,42,0,0,248,52,0,0,248,52,0,0,60,53,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,108,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,48,0,56,0,107,0,115,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,138,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,131,0,48,0,48,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,146,0,154,0,162,0,170,0,175,0,183,0,191,0,199,0,207,0,215,0,223,0,231,0,239,0,247,0,255,0,7,1,15,1,23,1,31,1,39,1,47,1,51,1,48,0,48,0,48,0,59,1,67,1,75,1,83,1,91,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,192,0,172,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,84,0,202,225,84,0,202,2,85,0,202,35,85,0,202,68,85,0,202,101,85,0,202,134,85,0,202,167,85,0,202,200,85,0,202,233,85,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,2,84,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,66,84,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,130,84,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,5,70,6,102,5,71,6,102,5,72,6,102,5,73,6,102,201,6,0,0,192,0,0,0,5,2,42,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,1,0,201,134,2,0,201,102,3,0,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,198,129,0,0,198,161,0,0,198,193,0,0,198,225,0,0,198,1,1,0,192,0,0,0,192,0,0,0,198,33,1,0,198,65,1,0,198,97,1,0,198,129,1,0,198,161,1,0,198,193,1,0,198,225,1,0,198,1,2,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,191,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,2,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,2,0,192,0,0,0,198,129,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,2,0,198,193,2,0,198,225,2,0,198,1,3,0,198,33,3,0,198,65,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,3,0,198,129,3,0,198,161,3,0,192,0,0,0,198,193,3,0,198,225,3,0,198,1,4,0,198,33,4,0,198,65,4,0,198,97,4,0,190,0,0,0,198,129,4,0,198,161,4,0,198,193,4,0,198,225,4,0,198,1,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,102,5,5,14,102,5,5,32,102,5,5,32,102,5,5,32,102,5,5,32,102,5,5,34,102,5,5,34,102,5,5,34,102,5,5,34,102,5,5,36,102,5,5,36,102,5,5,36,102,5,5,36,102,5,5,48,102,5,5,48,102,5,5,48,102,5,5,48,102,5,5,54,102,5,5,54,102,5,5,54,102,5,5,54,102,5,5,46,102,5,5,46,102,5,5,46,102,5,5,46,102,193,30,176,102,193,30,176,102,193,30,176,102,193,30,176,102,193,51,176,102,193,51,176,102,193,51,176,102,193,51,176,102,5,5,62,102,5,5,62,102,5,5,62,102,5,5,62,102,5,5,60,102,5,5,60,102,5,5,60,102,5,5,60,102,5,5,64,102,5,5,64,102,5,5,64,102,5,5,64,102,5,5,68,102,5,5,68,102,5,5,68,102,5,5,68,102,5,5,98,102,5,5,98,102,5,5,96,102,5,5,96,102,5,5,102,102,5,5,102,102,5,5,88,102,5,5,88,102,5,5,128,102,5,5,128,102,5,5,114,102,5,5,114,102,5,5,184,102,5,5,184,102,5,5,184,102,5,5,184,102,5,5,192,102,5,5,192,102,5,5,192,102,5,5,192,102,193,30,194,102,193,30,194,102,193,30,194,102,193,30,194,102,193,16,194,102,193,16,194,102,193,16,194,102,193,16,194,102,5,5,206,102,5,5,206,102,193,9,208,102,193,9,208,102,193,9,208,102,193,9,208,102,197,98,0,0,197,98,0,0,5,5,218,102,5,5,218,102,5,5,218,102,5,5,218,102,5,5,216,102,5,5,216,102,5,5,216,102,5,5,216,102,5,5,250,102,5,5,250,102,197,162,0,0,197,162,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,16,190,102,193,16,190,102,193,16,190,102,193,16,190,102,5,5,228,102,5,5,228,102,193,9,226,102,193,9,226,102,5,5,230,102,5,5,230,102,197,226,0,0,193,9,234,102,193,9,234,102,193,2,226,102,193,2,226,102,5,5,232,102,5,5,232,102,5,5,246,102,5,5,246,102,5,5,246,102,5,5,246,102,5,3,238,102,5,3,238,102,197,34,1,0,197,34,1,0,197,98,1,0,197,98,1,0,197,162,1,0,197,162,1,0,197,226,1,0,197,226,1,0,197,34,2,0,197,34,2,0,197,98,2,0,197,98,2,0,197,162,2,0,197,162,2,0,197,162,2,0,197,226,2,0,197,226,2,0,197,226,2,0,5,2,238,102,5,2,238,102,5,2,238,102,5,2,238,102,197,34,3,0,197,98,3,0,197,162,3,0,197,226,2,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,197,98,7,0,197,162,7,0,197,226,7,0,197,34,8,0,197,98,8,0,197,66,8,0,197,162,8,0,197,226,8,0,197,34,9,0,197,98,9,0,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,197,226,14,0,197,34,15,0,197,98,15,0,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,197,98,17,0,197,162,17,0,197,226,17,0,197,34,18,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,197,130,8,0,197,194,8,0,197,34,20,0,197,98,20,0,197,162,20,0,197,226,20,0,197,34,21,0,197,98,21,0,197,162,21,0,197,226,21,0,197,34,22,0,197,98,22,0,197,162,22,0,197,226,22,0,197,34,23,0,197,2,8,0,197,98,23,0,197,162,23,0,197,194,19,0,197,226,23,0,197,66,23,0,197,34,24,0,197,98,24,0,197,162,24,0,198,34,5,0,198,98,5,0,198,162,5,0,198,226,5,0,198,162,0,0,198,34,6,0,197,226,24,0,197,34,25,0,197,162,3,0,197,98,25,0,197,226,2,0,197,226,3,0,197,162,25,0,197,226,25,0,197,226,4,0,197,34,26,0,197,34,5,0,197,98,5,0,197,98,26,0,197,162,26,0,197,98,6,0,197,226,26,0,197,162,6,0,197,226,6,0,197,34,27,0,197,98,27,0,197,98,7,0,197,162,27,0,197,162,7,0,197,226,7,0,197,226,14,0,197,34,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,98,17,0,197,162,17,0,197,226,17,0,197,34,18,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,27,0,197,34,20,0,197,34,28,0,197,98,28,0,197,162,21,0,197,162,28,0,197,226,21,0,197,34,22,0,197,162,24,0,197,226,28,0,197,34,29,0,197,194,19,0,197,194,20,0,197,226,23,0,197,66,23,0,197,34,3,0,197,98,3,0,197,98,29,0,197,162,3,0,197,162,29,0,197,34,4,0,197,98,4,0,197,162,4,0,197,226,4,0,197,226,29,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,34,30,0,197,98,7,0,197,34,8,0,197,98,8,0,197,66,8,0,197,162,8,0,197,226,8,0,197,98,9,0,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,98,30,0,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,197,98,15,0,197,162,15,0,197,162,16,0,197,226,16,0,197,34,17,0,197,98,17,0,197,162,17,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,197,162,30,0,197,226,19,0,197,130,8,0,197,194,8,0,197,34,20,0,197,226,20,0,197,34,21,0,197,98,21,0,197,162,21,0,197,226,30,0,197,98,22,0,197,162,22,0,197,34,31,0,197,2,8,0,197,98,23,0,197,162,23,0,197,194,19,0,197,66,22,0,197,162,3,0,197,162,29,0,197,226,4,0,197,226,29,0,197,98,6,0,197,34,30,0,197,98,7,0,197,98,31,0,197,98,10,0,197,162,31,0,197,226,31,0,197,34,32,0,197,98,17,0,197,162,17,0,197,34,19,0,197,162,21,0,197,226,30,0,197,194,19,0,197,66,22,0,198,162,5,0,198,226,5,0,198,162,0,0,197,98,32,0,197,162,32,0,197,226,32,0,197,34,33,0,197,98,33,0,197,162,33,0,197,226,33,0,197,34,34,0,197,98,34,0,197,162,34,0,197,226,34,0,197,130,23,0,197,34,35,0,197,98,35,0,197,162,35,0,197,194,23,0,197,226,35,0,197,34,36,0,197,98,36,0,197,162,36,0,197,226,36,0,197,34,37,0,197,98,37,0,197,226,31,0,197,162,37,0,197,226,37,0,197,34,38,0,197,98,38,0,197,98,32,0,197,162,32,0,197,226,32,0,197,34,33,0,197,98,33,0,197,162,33,0,197,226,33,0,197,34,34,0,197,98,34,0,197,162,34,0,197,226,34,0,197,130,23,0,197,34,35,0,197,98,35,0,197,162,35,0,197,194,23,0,197,226,35,0,197,34,36,0,197,98,36,0,197,162,36,0,197,226,36,0,197,34,37,0,197,98,37,0,197,226,31,0,197,162,37,0,197,226,37,0,197,34,38,0,197,98,38,0,197,226,36,0,197,34,37,0,197,98,37,0,197,226,31,0,197,162,31,0,197,34,32,0,197,98,12,0,197,162,9,0,197,226,9,0,197,34,10,0,197,226,36,0,197,34,37,0,197,98,37,0,197,98,12,0,197,162,12,0,198,98,6,0,198,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,38,0,197,3,39,0,197,3,39,0,197,99,39,0,197,195,39,0,197,35,40,0,197,131,40,0,197,227,40,0,197,99,8,0,197,99,8,0,197,67,41,0,197,163,41,0,197,3,42,0,197,99,42,0,197,195,42,0,197,35,43,0,197,35,43,0,197,131,43,0,197,227,43,0,197,227,43,0,197,67,44,0,197,67,44,0,197,163,44,0,197,3,45,0,197,3,45,0,197,99,45,0,197,195,45,0,197,195,45,0,197,35,46,0,197,35,46,0,197,131,46,0,197,227,46,0,197,227,46,0,197,67,47,0,197,67,47,0,197,163,47,0,197,3,48,0,197,99,48,0,197,195,48,0,197,195,48,0,197,35,49,0,197,131,49,0,197,227,49,0,197,67,50,0,197,163,50,0,197,163,50,0,197,3,51,0,197,99,51,0,197,195,51,0,197,35,52,0,197,131,52,0,197,227,52,0,197,227,52,0,197,67,53,0,197,67,53,0,197,163,53,0,197,163,53,0,197,3,54,0,197,131,8,0,197,99,54,0,197,195,54,0,197,227,19,0,197,195,8,0,197,35,55,0,192,0,0,0,192,0,0,0,197,131,55,0,197,227,55,0,197,67,56,0,197,163,56,0,197,3,57,0,197,99,57,0,197,99,57,0,197,195,57,0,197,35,58,0,197,131,58,0,197,227,58,0,197,227,58,0,197,67,59,0,197,163,59,0,197,3,60,0,197,99,60,0,197,195,60,0,197,35,61,0,197,131,61,0,197,227,61,0,197,67,62,0,197,163,62,0,197,3,63,0,197,99,63,0,197,195,63,0,197,35,64,0,197,131,64,0,197,227,64,0,197,99,23,0,197,67,65,0,197,163,65,0,197,3,66,0,197,99,66,0,197,195,66,0,197,3,51,0,197,195,51,0,197,35,67,0,197,131,67,0,197,227,67,0,197,67,68,0,197,163,68,0,197,3,69,0,197,163,68,0,197,227,67,0,197,99,69,0,197,195,69,0,197,35,70,0,197,131,70,0,197,227,70,0,197,3,69,0,197,99,48,0,197,163,44,0,197,67,71,0,197,163,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,72,0,197,99,72,0,197,196,72,0,197,68,73,0,197,196,73,0,197,68,74,0,197,196,74,0,197,68,75,0,197,196,75,0,197,67,76,0,197,178,76,0,197,232,78,0,197,228,79,0,197,118,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,198,1,0,0,198,33,0,0,192,0,0,0,198,65,0,0,192,0,0,0,198,97,0,0,198,97,0,0,198,129,0,0,198,129,0,0,198,161,0,0,198,161,0,0,198,193,0,0,198,193,0,0,198,225,0,0,198,225,0,0,5,5,6,102,197,34,0,0,197,34,0,0,5,70,6,102,5,70,6,102,5,71,6,102,5,71,6,102,5,72,6,102,5,72,6,102,5,73,6,102,5,73,6,102,5,73,6,102,5,73,6,102,5,75,6,102,5,75,6,102,5,5,30,102,5,5,30,102,5,5,30,102,5,5,30,102,5,2,42,102,5,2,42,102,5,5,42,102,5,5,42,102,5,5,42,102,5,5,42,102,5,5,44,102,5,5,44,102,5,5,44,102,5,5,44,102,5,5,58,102,5,5,58,102,5,5,58,102,5,5,58,102,5,5,72,102,5,5,72,102,5,5,72,102,5,5,72,102,5,5,74,102,5,5,74,102,5,5,74,102,5,5,74,102,5,5,84,102,5,5,84,102,5,5,86,102,5,5,86,102,5,5,110,102,5,5,110,102,5,5,112,102,5,5,112,102,5,5,134,102,5,5,134,102,5,5,134,102,5,5,134,102,5,5,136,102,5,5,136,102,5,5,136,102,5,5,136,102,5,5,146,102,5,5,146,102,5,5,146,102,5,5,146,102,5,5,148,102,5,5,148,102,5,5,148,102,5,5,148,102,5,5,158,102,5,5,158,102,5,5,158,102,5,5,158,102,5,5,160,102,5,5,160,102,5,5,160,102,5,5,160,102,5,5,166,102,5,5,166,102,5,5,166,102,5,5,166,102,5,5,168,102,5,5,168,102,5,5,168,102,5,5,168,102,5,5,174,102,5,5,174,102,5,5,174,102,5,5,174,102,5,5,178,102,5,5,178,102,5,5,178,102,5,5,178,102,5,5,182,102,5,5,182,102,5,5,182,102,5,5,182,102,5,5,196,102,5,5,196,102,5,5,196,102,5,5,196,102,5,5,200,102,5,5,200,102,5,5,200,102,5,5,200,102,5,5,204,102,5,5,204,102,5,5,204,102,5,5,204,102,5,5,214,102,5,5,214,102,5,5,214,102,5,5,214,102,5,5,222,102,5,5,222,102,5,3,238,102,5,3,238,102,5,5,238,102,5,5,238,102,5,5,238,102,5,5,238,102,197,35,83,0,197,35,83,0,197,130,83,0,197,130,83,0,197,194,83,0,197,194,83,0,197,98,79,0,197,98,79,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,3,189,0,0,0,0,0,0,6,189,0,0,0,0,0,0,9,189,0,0,0,0,0,0,12,189,0,0,0,0,0,0,16,189,0,0,0,0,0,0,19,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,23,189,0,0,0,0,0,0,24,189,0,0,0,0,0,0,28,189,0,0,0,0,0,0,29,189,0,0,0,0,0,0,30,189,0,0,0,0,0,0,32,189,0,0,0,0,0,0,33,189,0,0,0,0,0,0,34,189,0,0,0,0,0,0,35,189,0,0,0,0,0,0,36,189,0,0,0,0,0,0,37,189,0,0,0,0,0,0,27,189,0,0,0,0,0,0,25,189,0,0,0,0,0,0,26,189,0,0,0,0,0,0,13,189,0,0,0,0,0,0,17,189,0,0,0,0,0,0,20,189,0,0,0,0,0,0,5,189,0,0,0,0,0,0,8,189,0,0,0,0,0,0,11,189,0,0,0,0,0,0,4,189,0,0,0,0,0,0,7,189,0,0,0,0,0,0,10,189,0,0,0,0,0,0,14,189,0,0,0,0,0,0,15,189,0,0,0,0,0,0,21,189,0,0,0,0,0,0,38,189,0,0,0,0,0,0,39,189,0,0,0,0,0,0,43,189,0,0,0,0,0,0,41,189,0,0,0,0,0,0,42,189,0,0,0,0,0,0,40,189,0,0,0,0,0,0,18,189,0,0,0,0,0,0,31,189,0,0,0,0,0,0,6,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,9,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,12,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,16,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,22,189,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,5,0,75,0,0,6,102,3,189,0,0,0,0,0,0,0,0,0,0,5,5,6,102,5,76,6,102,193,16,220,102,194,5,128,232,5,5,250,102,194,5,128,232,5,5,228,102,32,5,6,102,5,73,6,102,5,75,6,102,5,73,6,102,193,16,220,102,5,73,6,102,5,5,222,102,5,73,6,102,5,5,228,102,5,73,6,102,193,9,226,102,5,73,6,102,5,5,230,102,5,73,6,102,5,5,246,102,5,73,6,102,5,3,238,102,5,73,6,102,5,5,58,102,5,73,6,102,5,5,72,102,5,73,6,102,5,5,200,102,5,73,6,102,5,5,238,102,5,5,30,102,5,5,58,102,5,5,30,102,5,5,72,102,5,5,30,102,5,5,74,102,5,5,30,102,5,5,200,102,5,5,30,102,5,3,238,102,5,5,30,102,5,5,238,102,5,5,42,102,5,5,58,102,5,5,42,102,5,5,72,102,5,5,42,102,5,5,74,102,5,5,42,102,5,5,200,102,5,5,42,102,5,3,238,102,5,5,42,102,5,5,238,102,5,5,44,102,5,5,58,102,5,5,44,102,5,5,200,102,5,5,44,102,5,3,238,102,5,5,44,102,5,5,238,102,5,5,58,102,5,5,72,102,5,5,58,102,5,5,200,102,5,5,72,102,5,5,200,102,5,5,74,102,5,5,58,102,5,5,74,102,5,5,72,102,5,5,74,102,5,5,200,102,5,5,134,102,5,5,58,102,5,5,134,102,5,5,72,102,5,5,134,102,5,5,74,102,5,5,134,102,5,5,200,102,5,5,146,102,5,5,72,102,5,5,146,102,5,5,200,102,5,5,148,102,5,5,58,102,5,5,148,102,5,5,72,102,5,5,148,102,5,5,74,102,5,5,148,102,5,5,200,102,5,5,158,102,5,5,72,102,5,5,158,102,5,5,200,102,5,5,160,102,5,5,200,102,5,5,166,102,5,5,58,102,5,5,166,102,5,5,200,102,5,5,168,102,5,5,58,102,5,5,168,102,5,5,200,102,5,5,174,102,5,5,58,102,5,5,174,102,5,5,72,102,5,5,174,102,5,5,74,102,5,5,174,102,5,5,200,102,5,5,174,102,5,3,238,102,5,5,174,102,5,5,238,102,5,5,178,102,5,5,72,102,5,5,178,102,5,5,200,102,5,5,178,102,5,3,238,102,5,5,178,102,5,5,238,102,5,5,182,102,5,75,6,102,5,5,182,102,5,5,58,102,5,5,182,102,5,5,72,102,5,5,182,102,5,5,74,102,5,5,182,102,5,5,196,102,5,5,182,102,5,5,200,102,5,5,182,102,5,3,238,102,5,5,182,102,5,5,238,102,5,5,196,102,5,5,58,102,5,5,196,102,5,5,72,102,5,5,196,102,5,5,74,102,5,5,196,102,5,5,200,102,5,5,196,102,5,3,238,102,5,5,196,102,5,5,238,102,5,5,200,102,5,5,58,102,5,5,200,102,5,5,200,102,5,5,200,102,5,3,238,102,5,5,200,102,5,5,238,102,5,5,204,102,5,5,58,102,5,5,204,102,5,5,72,102,5,5,204,102,5,5,74,102,5,5,204,102,5,5,200,102,5,5,204,102,5,3,238,102,5,5,204,102,5,5,238,102,5,5,214,102,5,5,58,102,5,5,214,102,5,5,200,102,5,5,214,102,5,3,238,102,5,5,214,102,5,5,238,102,5,5,238,102,5,5,72,102,5,5,238,102,5,5,74,102,5,5,238,102,5,3,238,102,5,5,86,102,191,0,0,0,5,5,110,102,191,0,0,0,5,3,238,102,191,0,0,0,5,73,6,102,5,5,110,102,5,73,6,102,5,5,112,102,5,73,6,102,5,5,204,102,5,5,30,102,5,5,110,102,5,5,30,102,5,5,112,102,5,5,30,102,5,5,204,102,5,5,42,102,5,5,110,102,5,5,42,102,5,5,112,102,5,5,42,102,5,5,204,102,5,5,44,102,5,5,110,102,5,5,44,102,5,5,112,102,5,5,44,102,5,5,204,102,5,5,200,102,5,75,6,102,5,5,204,102,5,5,110,102,5,5,204,102,5,5,112,102,5,5,204,102,5,5,204,102,5,5,238,102,5,5,110,102,5,5,238,102,5,5,112,102,5,73,6,102,5,5,74,102,5,73,6,102,5,5,214,102,5,5,30,102,5,5,214,102,5,5,42,102,5,5,214,102,5,5,146,102,5,5,74,102,5,5,196,102,5,5,214,102,5,5,204,102,5,5,214,102,5,5,214,102,191,0,0,0,5,5,44,102,5,5,214,102,5,5,134,102,5,5,214,102,5,5,136,102,5,5,200,102,5,5,136,102,5,5,214,102,5,5,158,102,5,3,238,102,5,5,158,102,5,5,238,102,5,5,166,102,5,3,238,102,5,5,166,102,5,5,238,102,5,5,168,102,5,3,238,102,5,5,168,102,5,5,238,102,5,5,134,102,5,3,238,102,5,5,134,102,5,5,238,102,5,5,136,102,5,3,238,102,5,5,136,102,5,5,238,102,5,5,72,102,5,3,238,102,5,5,58,102,5,3,238,102,5,5,58,102,5,5,238,102,5,5,74,102,5,3,238,102,5,5,146,102,5,3,238,102,5,5,146,102,5,5,238,102,5,5,148,102,5,3,238,102,5,5,148,102,5,5,238,102,5,5,136,102,5,5,58,102,5,5,136,102,5,5,72,102,5,5,136,102,5,5,74,102,5,5,136,102,5,5,110,102,5,5,134,102,5,5,110,102,5,5,146,102,5,5,110,102,5,5,148,102,5,5,110,102,5,5,42,102,5,5,58,102,5,5,200,102,5,5,42,102,5,5,72,102,5,5,58,102,5,5,42,102,5,5,72,102,5,5,200,102,5,5,42,102,5,5,74,102,5,5,200,102,5,5,42,102,5,5,200,102,5,5,58,102,5,5,42,102,5,5,200,102,5,5,72,102,5,5,42,102,5,5,200,102,5,5,74,102,5,5,72,102,5,5,200,102,5,5,238,102,5,5,72,102,5,5,200,102,5,3,238,102,5,5,134,102,5,5,72,102,5,5,58,102,5,5,134,102,5,5,58,102,5,5,72,102,5,5,134,102,5,5,58,102,5,3,238,102,5,5,134,102,5,5,200,102,5,5,72,102,5,5,134,102,5,5,200,102,5,5,58,102,5,5,134,102,5,5,200,102,5,5,200,102,5,5,146,102,5,5,72,102,5,5,72,102,5,5,146,102,5,5,200,102,5,5,200,102,5,5,136,102,5,5,72,102,5,5,200,102,5,5,136,102,5,5,58,102,5,5,238,102,5,5,136,102,5,5,200,102,5,5,74,102,5,5,136,102,5,5,200,102,5,5,200,102,5,5,148,102,5,5,72,102,5,3,238,102,5,5,148,102,5,5,74,102,5,5,200,102,5,5,158,102,5,5,200,102,5,5,72,102,5,5,158,102,5,5,200,102,5,5,200,102,5,5,158,102,5,5,200,102,5,5,238,102,5,5,166,102,5,5,58,102,5,5,200,102,5,5,166,102,5,5,200,102,5,5,200,102,5,5,166,102,5,5,200,102,5,3,238,102,5,5,168,102,5,5,200,102,5,5,200,102,5,5,168,102,5,5,200,102,5,5,238,102,5,5,168,102,5,5,200,102,5,3,238,102,5,5,174,102,5,5,74,102,5,5,200,102,5,5,178,102,5,5,200,102,5,5,72,102,5,5,178,102,5,5,200,102,5,5,200,102,5,5,196,102,5,5,72,102,5,5,200,102,5,5,196,102,5,5,72,102,5,5,238,102,5,5,196,102,5,5,72,102,5,3,238,102,5,5,196,102,5,5,58,102,5,5,58,102,5,5,196,102,5,5,74,102,5,5,200,102,5,5,196,102,5,5,200,102,5,5,72,102,5,5,200,102,5,5,72,102,5,5,58,102,5,5,200,102,5,5,72,102,5,5,238,102,5,5,200,102,5,5,58,102,5,5,72,102,5,5,200,102,5,5,74,102,5,5,200,102,5,5,200,102,5,5,58,102,5,5,74,102,5,5,214,102,5,5,200,102,5,5,58,102,5,5,214,102,5,5,200,102,5,5,200,102,5,5,204,102,5,5,72,102,5,5,200,102,5,5,204,102,5,5,72,102,5,3,238,102,5,5,204,102,5,5,58,102,5,5,200,102,5,5,204,102,5,5,58,102,5,3,238,102,5,5,204,102,5,5,200,102,5,5,238,102,5,5,204,102,5,5,200,102,5,3,238,102,5,5,238,102,5,5,200,102,5,5,200,102,5,5,30,102,5,5,74,102,5,5,238,102,5,5,42,102,5,5,58,102,5,5,238,102,5,5,42,102,5,5,58,102,5,3,238,102,5,5,42,102,5,5,74,102,5,5,238,102,5,5,42,102,5,5,74,102,5,3,238,102,5,5,42,102,5,5,200,102,5,5,238,102,5,5,42,102,5,5,200,102,5,3,238,102,5,5,58,102,5,5,200,102,5,5,238,102,5,5,58,102,5,5,72,102,5,3,238,102,5,5,58,102,5,5,200,102,5,3,238,102,5,5,134,102,5,5,74,102,5,3,238,102,5,5,146,102,5,5,72,102,5,5,238,102,5,5,136,102,5,5,72,102,5,5,238,102,5,5,148,102,5,5,72,102,5,5,238,102,5,5,196,102,5,5,58,102,5,5,238,102,5,5,196,102,5,5,200,102,5,5,238,102,5,5,238,102,5,5,58,102,5,5,238,102,5,5,238,102,5,5,200,102,5,5,238,102,5,5,200,102,5,5,200,102,5,5,238,102,5,5,178,102,5,5,200,102,5,5,238,102,5,5,204,102,5,5,72,102,5,5,238,102,5,5,166,102,5,5,200,102,5,5,238,102,5,5,182,102,5,5,200,102,5,5,238,102,5,5,204,102,5,5,58,102,5,5,72,102,5,5,200,102,5,5,74,102,5,5,238,102,5,5,196,102,5,5,58,102,5,5,200,102,5,5,182,102,5,5,200,102,5,5,200,102,5,5,58,102,5,5,72,102,5,5,238,102,5,5,72,102,5,5,58,102,5,5,238,102,5,5,200,102,5,5,58,102,5,5,238,102,5,5,174,102,5,5,200,102,5,5,238,102,5,5,30,102,5,5,72,102,5,5,238,102,5,5,134,102,5,5,74,102,5,5,238,102,5,5,204,102,5,5,58,102,5,5,238,102,5,5,146,102,5,5,196,102,7,5,250,102,5,5,178,102,5,5,196,102,6,5,250,102,5,75,6,102,5,5,196,102,5,5,196,102,8,5,214,102,5,75,6,102,5,5,182,102,5,5,30,102,6,5,110,102,5,5,200,102,5,5,72,102,5,5,200,102,6,5,84,102,5,5,146,102,5,5,196,102,5,5,166,102,8,5,200,102,5,5,110,102,5,5,134,102,5,5,222,102,7,5,196,102,5,5,166,102,5,5,196,102,5,5,238,102,6,5,214,102,5,5,222,102,5,5,134,102,5,5,196,102,6,5,200,102,5,5,146,102,5,5,196,102,6,3,238,102,5,5,146,102,5,5,196,102,5,3,238,102,5,5,0,4,5,75,6,102,5,5,196,102,5,5,196,102,5,5,214,102,5,5,0,4,5,5,166,102,5,5,196,102,5,5,238,102,5,5,214,102,5,5,0,4,5,5,222,102,5,5,134,102,5,5,196,102,7,5,200,102,5,5,58,102,5,5,196,102,5,5,0,4,5,5,58,102,5,5,196,102,5,75,6,102,5,5,196,102,7,5,214,102,5,5,110,102,5,2,238,102,5,75,6,102,6,5,196,102,5,5,30,102,5,5,134,102,5,5,200,102,5,5,0,4,5,75,6,102,5,5,196,102,5,5,196,102,5,5,214,102,5,5,0,4,5,75,6,102,5,5,196,102,5,5,110,102,5,5,72,102,5,5,200,102,5,5,204,102,5,5,0,4,5,75,6,102,5,5,196,102,5,5,110,102,5,5,72,102,5,5,238,102,9,5,200,102,5,5,196,102,5,5,6,102,5,76,6,102,5,5,196,102,5,70,6,102,5,5,196,102,5,72,6,102,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,6,102,5,75,2,0,83,6,197,162,84,6,255,255,6,102,5,70,85,6,255,255,6,102,5,72,222,102,5,5,48,0,84,6,255,255,6,102,5,71,238,102,5,3,48,0,85,6,255,255,6,102,5,74,238,102,5,5,48,0,84,6,255,255,6,102,5,73,3,0,67,0,50,0,59,0,79,15,0,16,62,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,73,15,0,32,165,28,0,32,1,0,32,0,170,28,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,7,0,0,80,7,0,0,0,10,0,0,0,15,0,0,0,15,0,0,0,1,0,0,0,0,0,0,0,15,0,0,0,37,37,65,76,73,65,83,0,0,0,97,0,114,0,95,0,83,0,65,0,0,0,1,0,32,0,1,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,241,6,0,32,7,0,0,0,21,0,0,0,243,6,0,0,243,6,0,0,3,0,0,0,0,0,0,0,79,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,109,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,66,0,101,0,110,0,103,0,32,0,68,0,101,0,118,0,97,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,9,60,0,130,9,60,0,129,9,60,0,131,9,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,164,9,60,0,206,9,61,0,164,9,205,9,13,32,38,0,185,9,60,0,149,9,205,9,183,9,0,0,170,170,102,26,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,128,0,0,0,128,1,0,0,224,25,0,0,224,25,0,0,224,25,0,0,224,25,0,0,36,26,0,0,36,26,0,0,68,26,0,0,78,26,0,0,4,0,0,0,10,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,105,190,255,0,106,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,39,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,125,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,103,0,108,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,3,35,105,193,2,35,105,193,4,35,105,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,105,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,36,105,5,5,49,0,205,9,183,9,255,255,103,105,5,5,66,105,5,5,49,0,205,9,13,32,255,255,65,105,5,5,4,0,183,9,184,9,13,32,14,32,170,170,3,0,69,0,52,0,61,0,79,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,234,6,0,32,1,0,32,0,239,6,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,20,22,0,32,7,0,0,0,23,0,0,0,22,22,0,0,22,22,0,0,3,0,0,0,0,0,0,0,122,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,65,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,97,0,122,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,111,0,116,0,104,0,101,0,114,0,115,0,93,0,0,0,125,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,67,0,60,0,99,0,39,3,60,0,60,0,60,0,67,0,39,3,38,0,71,0,60,0,103,0,6,3,60,0,60,0,60,0,71,0,6,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,105,0,60,0,49,1,60,0,60,0,60,0,73,0,38,0,105,0,60,0,60,0,60,0,48,1,38,0,79,0,60,0,111,0,8,3,60,0,60,0,60,0,79,0,8,3,38,0,83,0,60,0,115,0,39,3,60,0,60,0,60,0,83,0,39,3,38,0,85,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,38,0,75,0,60,0,113,0,60,0,60,0,60,0,81,0,38,0,69,0,60,0,89,2,60,0,60,0,60,0,143,1,38,0,72,0,60,0,120,0,60,0,60,0,60,0,88,0,38,0,90,0,60,0,119,0,60,0,60,0,60,0,87,0,0,0,170,170,170,170,156,45,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,214,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,212,38,0,0,212,38,0,0,212,38,0,0,212,38,0,0,96,43,0,0,96,43,0,0,132,45,0,0,132,45,0,0,132,45,0,0,50,105,114,84,1,0,64,8,96,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,93,0,101,0,107,0,115,0,120,0,128,0,134,0,142,0,145,0,153,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,152,0,160,0,166,0,174,0,182,0,190,0,48,0,56,0,189,0,197,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,214,0,222,0,48,0,48,0,48,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,238,0,48,0,48,0,246,0,48,0,252,0,4,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,14,1,19,1,48,0,23,1,31,1,48,0,38,1,46,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,54,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,57,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,212,0,48,0,48,0,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,65,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,73,1,48,0,48,0,79,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,116,1,172,1,224,1,24,2,68,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,2,152,2,216,2,192,0,244,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,35,0,202,65,35,0,202,98,35,0,202,131,35,0,202,164,35,0,202,197,35,0,202,230,35,0,202,7,36,0,202,40,36,0,202,73,36,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,198,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,134,1,0,156,5,0,56,201,70,2,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,6,3,0,156,5,0,72,134,5,2,63,156,5,0,76,201,230,3,0,156,5,0,80,201,198,4,0,156,5,0,84,134,5,2,93,134,5,2,57,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,230,5,0,5,5,0,48,5,5,0,50,5,5,0,52,201,166,6,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,7,0,5,5,0,72,5,5,2,63,5,5,0,76,201,70,8,0,5,5,0,80,201,38,9,0,5,5,0,84,5,5,2,93,5,5,2,57,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,2,26,0,134,5,2,47,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,66,26,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,130,26,0,5,5,2,47,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,201,102,10,0,201,38,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,201,230,11,0,192,0,0,0,134,5,0,58,5,5,27,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,12,0,201,102,13,0,197,162,3,0,197,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,14,0,201,230,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,15,0,201,102,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,5,0,197,162,5,0,197,34,0,0,197,98,0,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,17,0,201,230,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,166,18,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,20,0,5,71,238,102,201,102,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,8,0,192,0,0,0,192,0,0,0,197,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,8,0,192,0,0,0,197,34,9,0,192,0,0,0,192,0,0,0,197,98,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,9,0,192,0,0,0,197,226,9,0,192,0,0,0,197,34,10,0,192,0,0,0,197,98,10,0,192,0,0,0,197,162,10,0,197,227,10,0,197,66,11,0,192,0,0,0,192,0,0,0,197,130,11,0,197,195,11,0,197,34,12,0,192,0,0,0,192,0,0,0,197,98,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,98,8,0,197,162,12,0,5,5,10,121,197,226,12,0,197,34,13,0,5,5,12,121,5,5,16,121,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,197,226,14,0,5,5,18,121,5,5,20,121,197,2,9,0,5,5,24,121,197,34,9,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,15,0,197,98,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,22,0,192,0,0,0,197,227,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,198,23,0,201,134,24,0,201,70,25,0,201,6,26,0,201,198,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,17,0,197,2,18,0,197,66,18,0,197,130,18,0,197,194,18,0,197,2,19,0,197,66,19,0,197,130,19,0,197,194,19,0,197,2,20,0,197,66,20,0,197,130,20,0,197,194,20,0,197,2,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,21,0,192,0,0,0,201,134,27,0,192,0,0,0,201,70,28,0,201,6,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,29,0,201,134,30,0,201,70,31,0,201,6,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,32,0,201,134,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,134,5,27,57,5,138,0,0,134,5,27,57,5,136,0,0,134,5,27,57,5,142,0,0,134,5,27,57,5,150,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,27,57,5,154,0,0,134,5,27,57,5,164,0,0,134,5,27,57,5,140,0,0,134,5,27,57,5,162,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,93,5,142,0,0,5,5,2,93,5,142,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,27,57,5,144,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,27,57,5,184,0,0,134,5,27,57,5,188,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,5,27,57,5,208,0,0,134,5,27,57,5,150,0,0,5,136,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,5,2,93,5,138,0,0,5,5,2,93,5,138,0,0,134,5,2,93,5,136,0,0,5,5,2,93,5,136,0,0,134,5,2,93,5,150,0,0,5,5,2,93,5,150,0,0,134,5,2,93,5,156,0,0,5,5,2,93,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,134,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,5,5,2,93,5,146,0,0,134,5,27,57,5,182,0,0,134,5,27,57,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,98,8,0,5,5,10,121,5,5,12,121,197,162,8,0,5,5,16,121,5,5,18,121,5,5,20,121,197,226,8,0,5,5,24,121,197,34,9,0,5,5,28,121,5,5,30,121,197,98,9,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,162,9,0,5,5,107,121,197,226,9,0,5,5,111,121,197,34,10,0,5,5,115,121,197,98,10,0,5,5,119,121,197,162,10,0,197,227,10,0,197,66,11,0,5,5,127,121,5,5,129,121,197,130,11,0,197,195,11,0,197,34,12,0,5,5,137,121,5,5,139,121,197,98,12,0,5,5,143,121,5,5,6,121,197,98,8,0,197,162,12,0,5,5,10,121,197,226,12,0,197,34,13,0,5,5,12,121,5,5,16,121,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,197,226,14,0,5,5,18,121,5,5,20,121,197,2,9,0,5,5,24,121,197,34,9,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,46,156,5,48,0,39,3,2,239,134,5,0,54,156,5,48,0,6,3,2,247,134,5,27,57,134,5,48,0,7,3,0,250,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,46,5,5,48,0,39,3,2,239,5,5,0,54,5,5,48,0,6,3,2,247,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,156,54,196,160,48,0,6,3,1,192,197,162,5,54,196,160,48,0,6,3,1,192,197,226,2,0,197,226,48,0,7,3,134,250,196,162,156,82,196,162,48,0,8,3,3,192,197,34,5,82,196,162,48,0,8,3,3,192,197,98,156,70,196,190,48,0,8,3,4,192,197,34,5,70,196,190,48,0,8,3,4,192,197,98,156,82,196,190,48,0,8,3,4,192,197,162,5,82,196,190,48,0,8,3,4,192,197,226,156,70,196,162,48,0,8,3,6,192,197,226,5,70,196,162,48,0,8,3,7,192,197,34,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,15,0,197,162,48,0,7,3,134,250,196,208,156,82,196,198,48,0,8,3,16,192,197,66,5,82,196,198,48,0,8,3,16,192,197,130,156,82,196,208,48,0,8,3,16,192,197,194,5,82,196,208,48,0,8,3,17,192,197,2,156,82,196,204,48,0,8,3,17,192,197,66,5,82,196,204,48,0,8,3,17,192,197,130,21,0,197,194,48,0,7,3,134,250,196,196,156,70,196,196,48,0,8,3,22,192,197,2,5,70,196,196,48,0,8,3,22,192,197,66,22,0,197,131,48,0,8,3,22,192,197,227,23,0,197,67,48,0,8,3,23,192,197,163,156,82,196,196,48,0,8,3,24,192,197,2,5,82,196,196,48,0,8,3,24,192,197,66,24,0,197,131,48,0,8,3,24,192,197,227,25,0,197,67,48,0,8,3,25,192,197,163,3,0,67,0,50,0,59,0,123,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,122,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,220,31,0,0,220,31,0,0,220,31,0,0,220,31,0,0,132,34,0,0,132,34,0,0,98,36,0,0,98,36,0,0,98,40,0,0,25,0,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,94,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,224,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,93,0,101,0,107,0,115,0,120,0,128,0,134,0,142,0,145,0,153,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,180,0,48,0,184,0,192,0,48,0,199,0,207,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,215,0,169,0,48,0,48,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,116,1,172,1,224,1,24,2,68,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,20,0,202,33,20,0,202,66,20,0,202,99,20,0,202,132,20,0,202,165,20,0,202,198,20,0,202,231,20,0,202,8,21,0,202,41,21,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,198,0,0,156,5,0,56,201,134,1,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,70,2,0,156,5,0,72,134,5,2,63,156,5,0,76,201,38,3,0,156,5,0,80,201,6,4,0,156,5,0,84,134,5,2,93,134,5,2,57,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,38,5,0,5,5,0,48,5,5,0,50,5,5,0,52,201,230,5,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,6,0,5,5,0,72,5,5,2,63,5,5,0,76,201,134,7,0,5,5,0,80,201,102,8,0,5,5,0,84,5,5,2,93,5,5,2,57,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,66,19,0,134,5,2,47,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,130,19,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,194,19,0,5,5,2,47,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,201,166,9,0,201,102,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,201,38,11,0,192,0,0,0,134,5,0,58,5,5,27,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,11,0,201,166,12,0,197,162,3,0,197,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,13,0,201,38,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,14,0,201,166,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,5,0,197,162,5,0,197,34,0,0,197,98,0,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,16,0,201,38,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,8,0,197,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,17,0,192,0,0,0,197,35,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,18,0,201,102,19,0,201,38,20,0,201,230,20,0,201,166,21,0,201,102,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,11,0,197,66,11,0,197,130,11,0,197,194,11,0,197,2,12,0,197,66,12,0,197,130,12,0,197,194,12,0,197,2,13,0,197,66,13,0,197,130,13,0,197,194,13,0,197,2,14,0,197,66,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,14,0,192,0,0,0,201,38,23,0,192,0,0,0,201,230,23,0,201,166,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,25,0,201,38,26,0,201,230,26,0,201,166,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,28,0,201,38,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,134,5,27,57,5,138,0,0,134,5,27,57,5,136,0,0,134,5,27,57,5,142,0,0,134,5,27,57,5,150,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,27,57,5,154,0,0,134,5,27,57,5,164,0,0,134,5,27,57,5,140,0,0,134,5,27,57,5,162,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,93,5,142,0,0,5,5,2,93,5,142,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,27,57,5,144,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,27,57,5,184,0,0,134,5,27,57,5,188,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,5,27,57,5,208,0,0,134,5,27,57,5,150,0,0,5,136,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,5,2,93,5,138,0,0,5,5,2,93,5,138,0,0,134,5,2,93,5,136,0,0,5,5,2,93,5,136,0,0,134,5,2,93,5,150,0,0,5,5,2,93,5,150,0,0,134,5,2,93,5,156,0,0,5,5,2,93,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,134,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,5,5,2,93,5,146,0,0,134,5,27,57,5,182,0,0,134,5,27,57,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,39,3,2,239,134,5,0,54,156,5,48,0,6,3,2,247,134,5,27,57,134,5,48,0,7,3,0,250,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,46,5,5,48,0,39,3,2,239,5,5,0,54,5,5,48,0,6,3,2,247,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,156,54,196,160,48,0,6,3,1,192,197,162,5,54,196,160,48,0,6,3,1,192,197,226,2,0,197,226,48,0,7,3,134,250,196,162,156,82,196,162,48,0,8,3,3,192,197,34,5,82,196,162,48,0,8,3,3,192,197,98,156,70,196,190,48,0,8,3,4,192,197,34,5,70,196,190,48,0,8,3,4,192,197,98,156,82,196,190,48,0,8,3,4,192,197,162,5,82,196,190,48,0,8,3,4,192,197,226,156,70,196,162,48,0,8,3,6,192,197,226,5,70,196,162,48,0,8,3,7,192,197,34,8,0,197,226,48,0,7,3,134,250,196,208,156,82,196,198,48,0,8,3,9,192,197,130,5,82,196,198,48,0,8,3,9,192,197,194,156,82,196,208,48,0,8,3,10,192,197,2,5,82,196,208,48,0,8,3,10,192,197,66,156,82,196,204,48,0,8,3,10,192,197,130,5,82,196,204,48,0,8,3,10,192,197,194,15,0,197,2,48,0,7,3,134,250,196,196,156,70,196,196,48,0,8,3,15,192,197,66,5,70,196,196,48,0,8,3,15,192,197,130,15,0,197,195,48,0,8,3,16,192,197,35,16,0,197,131,48,0,8,3,16,192,197,227,156,82,196,196,48,0,8,3,17,192,197,66,5,82,196,196,48,0,8,3,17,192,197,130,17,0,197,195,48,0,8,3,18,192,197,35,18,0,197,131,48,0,8,3,18,192,197,227,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,28,4,185,92,30,4,186,108,185,112,185,120,185,124,186,128,32,4,185,144,185,116,185,152,34,4,185,164,36,4,185,180,185,192,185,96,185,184,185,188,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,38,4,168,72,168,76,168,80,40,4,168,92,168,104,168,108,168,112,168,120,168,124,168,128,42,4,168,144,168,116,168,152,44,4,168,164,46,4,168,180,168,192,168,96,168,184,168,188,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,185,68,186,77,154,77,250,77,90,78,185,101,153,101,249,101,89,102,217,72,154,130,185,137,153,137,249,137,153,138,185,140,136,14,217,138,185,173,153,173,249,173,185,176,153,185,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,168,68,168,77,136,77,232,77,72,78,168,105,136,105,232,105,72,106,200,72,136,130,168,137,136,137,232,137,136,138,168,140,128,14,200,138,168,173,136,173,232,173,168,176,136,185,168,196,72,186,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,185,88,168,88,185,86,168,86,48,4,50,4,249,93,232,93,89,95,72,95,153,102,136,106,57,103,40,107,217,101,200,105,52,4,8,107,185,104,168,100,6,8,8,8,250,109,232,109,249,114,232,114,168,148,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,129,136,129,250,130,232,130,26,130,8,130,10,8,185,132,168,132,57,139,40,139,217,137,200,137,121,138,104,138,12,8,14,8,153,153,136,153,249,154,232,154,25,154,8,154,154,157,136,157,250,157,232,157,185,160,168,160,26,158,8,158,249,166,232,166,25,166,8,166,185,168,168,168,153,174,136,174,57,175,40,175,217,173,200,173,57,174,40,174,121,174,104,174,54,4,56,4,249,193,232,193,249,185,232,185,89,186,153,189,136,189,185,190,168,190,25,190,8,190,232,156,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,156,169,156,200,56,169,76,187,104,187,108,170,104,169,108,169,200,169,128,217,136,187,76,200,136,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,84,255,5,185,100,255,5,185,136,255,5,186,156,255,5,185,172,255,5,168,64,255,5,168,84,255,5,168,136,255,5,168,156,255,5,168,172,255,5,249,86,255,5,232,86,255,5,25,103,255,5,25,175,255,5,8,175,255,1,170,170,3,0,67,0,50,0,59,0,235,11,0,16,71,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,227,11,0,32,11,22,0,32,1,0,32,0,16,22,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,236,6,0,32,7,0,0,0,21,0,0,0,238,6,0,0,238,6,0,0,3,0,0,0,0,0,0,0,39,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,21,4,60,0,81,4,60,0,60,0,60,0,1,4,38,0,67,4,60,0,94,4,60,0,60,0,60,0,14,4,0,0,170,170,244,26,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,96,26,0,0,96,26,0,0,96,26,0,0,96,26,0,0,164,26,0,0,164,26,0,0,220,26,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,137,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,96,0,104,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,120,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,128,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,134,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,173,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,40,97,174,5,48,0,8,3,255,255,41,97,134,5,172,97,174,5,48,0,6,3,255,255,173,97,134,5,40,97,5,5,48,0,8,3,255,255,41,97,5,5,172,97,5,5,48,0,6,3,255,255,173,97,5,5,3,0,69,0,52,0,61,0,39,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,229,6,0,32,1,0,32,0,234,6,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,118,0,0,32,7,0,0,0,21,0,0,0,120,0,0,0,120,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,0,0,170,170,60,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,36,0,0,0,36,1,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,111,0,0,32,1,0,32,0,116,0,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,208,32,0,32,7,0,0,0,24,0,0,0,210,32,0,0,210,32,0,0,3,0,0,0,0,0,0,0,112,9,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,116,114,97,100,105,116,105,111,110,97,108,0,0,0,52,0,50,0,0,0,85,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,66,0,101,0,110,0,103,0,32,0,68,0,101,0,118,0,97,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,9,60,0,130,9,60,0,131,9,60,0,129,9,0,0,239,223,81,18,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,66,0,101,0,110,0,103,0,32,0,68,0,101,0,118,0,97,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,9,60,0,130,9,60,0,131,9,60,0,129,9,60,0,149,9,205,9,60,0,150,9,205,9,60,0,151,9,205,9,60,0,152,9,205,9,60,0,153,9,205,9,60,0,154,9,205,9,60,0,155,9,205,9,60,0,156,9,205,9,60,0,157,9,205,9,60,0,158,9,205,9,60,0,159,9,205,9,60,0,160,9,205,9,60,0,161,9,205,9,60,0,162,9,205,9,60,0,163,9,205,9,60,0,206,9,61,0,164,9,205,9,13,32,60,0,60,0,164,9,205,9,60,0,165,9,205,9,60,0,166,9,205,9,60,0,167,9,205,9,60,0,168,9,205,9,60,0,170,9,205,9,60,0,171,9,205,9,60,0,172,9,205,9,60,0,173,9,205,9,60,0,174,9,205,9,60,0,175,9,205,9,60,0,176,9,205,9,60,0,240,9,205,9,60,0,178,9,205,9,60,0,241,9,205,9,60,0,182,9,205,9,60,0,183,9,205,9,60,0,184,9,205,9,60,0,185,9,205,9,38,0,149,9,205,9,133,9,61,0,149,9,38,0,149,9,205,9,134,9,61,0,149,9,190,9,38,0,149,9,205,9,135,9,61,0,149,9,191,9,38,0,149,9,205,9,136,9,61,0,149,9,192,9,38,0,149,9,205,9,137,9,61,0,149,9,193,9,38,0,149,9,205,9,138,9,61,0,149,9,194,9,38,0,149,9,205,9,139,9,61,0,149,9,195,9,38,0,149,9,205,9,224,9,61,0,149,9,196,9,38,0,149,9,205,9,140,9,61,0,149,9,226,9,38,0,149,9,205,9,225,9,61,0,149,9,227,9,38,0,149,9,205,9,143,9,61,0,149,9,199,9,38,0,149,9,205,9,144,9,61,0,149,9,200,9,38,0,149,9,205,9,147,9,61,0,149,9,203,9,38,0,149,9,205,9,148,9,61,0,149,9,204,9,38,0,150,9,205,9,133,9,61,0,150,9,38,0,150,9,205,9,134,9,61,0,150,9,190,9,38,0,150,9,205,9,135,9,61,0,150,9,191,9,38,0,150,9,205,9,136,9,61,0,150,9,192,9,38,0,150,9,205,9,137,9,61,0,150,9,193,9,38,0,150,9,205,9,138,9,61,0,150,9,194,9,38,0,150,9,205,9,139,9,61,0,150,9,195,9,38,0,150,9,205,9,224,9,61,0,150,9,196,9,38,0,150,9,205,9,140,9,61,0,150,9,226,9,38,0,150,9,205,9,225,9,61,0,150,9,227,9,38,0,150,9,205,9,143,9,61,0,150,9,199,9,38,0,150,9,205,9,144,9,61,0,150,9,200,9,38,0,150,9,205,9,147,9,61,0,150,9,203,9,38,0,150,9,205,9,148,9,61,0,150,9,204,9,38,0,151,9,205,9,133,9,61,0,151,9,38,0,151,9,205,9,134,9,61,0,151,9,190,9,38,0,151,9,205,9,135,9,61,0,151,9,191,9,38,0,151,9,205,9,136,9,61,0,151,9,192,9,38,0,151,9,205,9,137,9,61,0,151,9,193,9,38,0,151,9,205,9,138,9,61,0,151,9,194,9,38,0,151,9,205,9,139,9,61,0,151,9,195,9,38,0,151,9,205,9,224,9,61,0,151,9,196,9,38,0,151,9,205,9,140,9,61,0,151,9,226,9,38,0,151,9,205,9,225,9,61,0,151,9,227,9,38,0,151,9,205,9,143,9,61,0,151,9,199,9,38,0,151,9,205,9,144,9,61,0,151,9,200,9,38,0,151,9,205,9,147,9,61,0,151,9,203,9,38,0,151,9,205,9,148,9,61,0,151,9,204,9,38,0,152,9,205,9,133,9,61,0,152,9,38,0,152,9,205,9,134,9,61,0,152,9,190,9,38,0,152,9,205,9,135,9,61,0,152,9,191,9,38,0,152,9,205,9,136,9,61,0,152,9,192,9,38,0,152,9,205,9,137,9,61,0,152,9,193,9,38,0,152,9,205,9,138,9,61,0,152,9,194,9,38,0,152,9,205,9,139,9,61,0,152,9,195,9,38,0,152,9,205,9,224,9,61,0,152,9,196,9,38,0,152,9,205,9,140,9,61,0,152,9,226,9,38,0,152,9,205,9,225,9,61,0,152,9,227,9,38,0,152,9,205,9,143,9,61,0,152,9,199,9,38,0,152,9,205,9,144,9,61,0,152,9,200,9,38,0,152,9,205,9,147,9,61,0,152,9,203,9,38,0,152,9,205,9,148,9,61,0,152,9,204,9,38,0,153,9,205,9,133,9,61,0,153,9,38,0,153,9,205,9,134,9,61,0,153,9,190,9,38,0,153,9,205,9,135,9,61,0,153,9,191,9,38,0,153,9,205,9,136,9,61,0,153,9,192,9,38,0,153,9,205,9,137,9,61,0,153,9,193,9,38,0,153,9,205,9,138,9,61,0,153,9,194,9,38,0,153,9,205,9,139,9,61,0,153,9,195,9,38,0,153,9,205,9,224,9,61,0,153,9,196,9,38,0,153,9,205,9,140,9,61,0,153,9,226,9,38,0,153,9,205,9,225,9,61,0,153,9,227,9,38,0,153,9,205,9,143,9,61,0,153,9,199,9,38,0,153,9,205,9,144,9,61,0,153,9,200,9,38,0,153,9,205,9,147,9,61,0,153,9,203,9,38,0,153,9,205,9,148,9,61,0,153,9,204,9,38,0,154,9,205,9,133,9,61,0,154,9,38,0,154,9,205,9,134,9,61,0,154,9,190,9,38,0,154,9,205,9,135,9,61,0,154,9,191,9,38,0,154,9,205,9,136,9,61,0,154,9,192,9,38,0,154,9,205,9,137,9,61,0,154,9,193,9,38,0,154,9,205,9,138,9,61,0,154,9,194,9,38,0,154,9,205,9,139,9,61,0,154,9,195,9,38,0,154,9,205,9,224,9,61,0,154,9,196,9,38,0,154,9,205,9,140,9,61,0,154,9,226,9,38,0,154,9,205,9,225,9,61,0,154,9,227,9,38,0,154,9,205,9,143,9,61,0,154,9,199,9,38,0,154,9,205,9,144,9,61,0,154,9,200,9,38,0,154,9,205,9,147,9,61,0,154,9,203,9,38,0,154,9,205,9,148,9,61,0,154,9,204,9,38,0,155,9,205,9,133,9,61,0,155,9,38,0,155,9,205,9,134,9,61,0,155,9,190,9,38,0,155,9,205,9,135,9,61,0,155,9,191,9,38,0,155,9,205,9,136,9,61,0,155,9,192,9,38,0,155,9,205,9,137,9,61,0,155,9,193,9,38,0,155,9,205,9,138,9,61,0,155,9,194,9,38,0,155,9,205,9,139,9,61,0,155,9,195,9,38,0,155,9,205,9,224,9,61,0,155,9,196,9,38,0,155,9,205,9,140,9,61,0,155,9,226,9,38,0,155,9,205,9,225,9,61,0,155,9,227,9,38,0,155,9,205,9,143,9,61,0,155,9,199,9,38,0,155,9,205,9,144,9,61,0,155,9,200,9,38,0,155,9,205,9,147,9,61,0,155,9,203,9,38,0,155,9,205,9,148,9,61,0,155,9,204,9,38,0,156,9,205,9,133,9,61,0,156,9,38,0,156,9,205,9,134,9,61,0,156,9,190,9,38,0,156,9,205,9,135,9,61,0,156,9,191,9,38,0,156,9,205,9,136,9,61,0,156,9,192,9,38,0,156,9,205,9,137,9,61,0,156,9,193,9,38,0,156,9,205,9,138,9,61,0,156,9,194,9,38,0,156,9,205,9,139,9,61,0,156,9,195,9,38,0,156,9,205,9,224,9,61,0,156,9,196,9,38,0,156,9,205,9,140,9,61,0,156,9,226,9,38,0,156,9,205,9,225,9,61,0,156,9,227,9,38,0,156,9,205,9,143,9,61,0,156,9,199,9,38,0,156,9,205,9,144,9,61,0,156,9,200,9,38,0,156,9,205,9,147,9,61,0,156,9,203,9,38,0,156,9,205,9,148,9,61,0,156,9,204,9,38,0,157,9,205,9,133,9,61,0,157,9,38,0,157,9,205,9,134,9,61,0,157,9,190,9,38,0,157,9,205,9,135,9,61,0,157,9,191,9,38,0,157,9,205,9,136,9,61,0,157,9,192,9,38,0,157,9,205,9,137,9,61,0,157,9,193,9,38,0,157,9,205,9,138,9,61,0,157,9,194,9,38,0,157,9,205,9,139,9,61,0,157,9,195,9,38,0,157,9,205,9,224,9,61,0,157,9,196,9,38,0,157,9,205,9,140,9,61,0,157,9,226,9,38,0,157,9,205,9,225,9,61,0,157,9,227,9,38,0,157,9,205,9,143,9,61,0,157,9,199,9,38,0,157,9,205,9,144,9,61,0,157,9,200,9,38,0,157,9,205,9,147,9,61,0,157,9,203,9,38,0,157,9,205,9,148,9,61,0,157,9,204,9,38,0,158,9,205,9,133,9,61,0,158,9,38,0,158,9,205,9,134,9,61,0,158,9,190,9,38,0,158,9,205,9,135,9,61,0,158,9,191,9,38,0,158,9,205,9,136,9,61,0,158,9,192,9,38,0,158,9,205,9,137,9,61,0,158,9,193,9,38,0,158,9,205,9,138,9,61,0,158,9,194,9,38,0,158,9,205,9,139,9,61,0,158,9,195,9,38,0,158,9,205,9,224,9,61,0,158,9,196,9,38,0,158,9,205,9,140,9,61,0,158,9,226,9,38,0,158,9,205,9,225,9,61,0,158,9,227,9,38,0,158,9,205,9,143,9,61,0,158,9,199,9,38,0,158,9,205,9,144,9,61,0,158,9,200,9,38,0,158,9,205,9,147,9,61,0,158,9,203,9,38,0,158,9,205,9,148,9,61,0,158,9,204,9,38,0,159,9,205,9,133,9,61,0,159,9,38,0,159,9,205,9,134,9,61,0,159,9,190,9,38,0,159,9,205,9,135,9,61,0,159,9,191,9,38,0,159,9,205,9,136,9,61,0,159,9,192,9,38,0,159,9,205,9,137,9,61,0,159,9,193,9,38,0,159,9,205,9,138,9,61,0,159,9,194,9,38,0,159,9,205,9,139,9,61,0,159,9,195,9,38,0,159,9,205,9,224,9,61,0,159,9,196,9,38,0,159,9,205,9,140,9,61,0,159,9,226,9,38,0,159,9,205,9,225,9,61,0,159,9,227,9,38,0,159,9,205,9,143,9,61,0,159,9,199,9,38,0,159,9,205,9,144,9,61,0,159,9,200,9,38,0,159,9,205,9,147,9,61,0,159,9,203,9,38,0,159,9,205,9,148,9,61,0,159,9,204,9,38,0,160,9,205,9,133,9,61,0,160,9,38,0,160,9,205,9,134,9,61,0,160,9,190,9,38,0,160,9,205,9,135,9,61,0,160,9,191,9,38,0,160,9,205,9,136,9,61,0,160,9,192,9,38,0,160,9,205,9,137,9,61,0,160,9,193,9,38,0,160,9,205,9,138,9,61,0,160,9,194,9,38,0,160,9,205,9,139,9,61,0,160,9,195,9,38,0,160,9,205,9,224,9,61,0,160,9,196,9,38,0,160,9,205,9,140,9,61,0,160,9,226,9,38,0,160,9,205,9,225,9,61,0,160,9,227,9,38,0,160,9,205,9,143,9,61,0,160,9,199,9,38,0,160,9,205,9,144,9,61,0,160,9,200,9,38,0,160,9,205,9,147,9,61,0,160,9,203,9,38,0,160,9,205,9,148,9,61,0,160,9,204,9,38,0,161,9,205,9,133,9,61,0,161,9,38,0,161,9,205,9,134,9,61,0,161,9,190,9,38,0,161,9,205,9,135,9,61,0,161,9,191,9,38,0,161,9,205,9,136,9,61,0,161,9,192,9,38,0,161,9,205,9,137,9,61,0,161,9,193,9,38,0,161,9,205,9,138,9,61,0,161,9,194,9,38,0,161,9,205,9,139,9,61,0,161,9,195,9,38,0,161,9,205,9,224,9,61,0,161,9,196,9,38,0,161,9,205,9,140,9,61,0,161,9,226,9,38,0,161,9,205,9,225,9,61,0,161,9,227,9,38,0,161,9,205,9,143,9,61,0,161,9,199,9,38,0,161,9,205,9,144,9,61,0,161,9,200,9,38,0,161,9,205,9,147,9,61,0,161,9,203,9,38,0,161,9,205,9,148,9,61,0,161,9,204,9,38,0,162,9,205,9,133,9,61,0,162,9,38,0,162,9,205,9,134,9,61,0,162,9,190,9,38,0,162,9,205,9,135,9,61,0,162,9,191,9,38,0,162,9,205,9,136,9,61,0,162,9,192,9,38,0,162,9,205,9,137,9,61,0,162,9,193,9,38,0,162,9,205,9,138,9,61,0,162,9,194,9,38,0,162,9,205,9,139,9,61,0,162,9,195,9,38,0,162,9,205,9,224,9,61,0,162,9,196,9,38,0,162,9,205,9,140,9,61,0,162,9,226,9,38,0,162,9,205,9,225,9,61,0,162,9,227,9,38,0,162,9,205,9,143,9,61,0,162,9,199,9,38,0,162,9,205,9,144,9,61,0,162,9,200,9,38,0,162,9,205,9,147,9,61,0,162,9,203,9,38,0,162,9,205,9,148,9,61,0,162,9,204,9,38,0,163,9,205,9,133,9,61,0,163,9,38,0,163,9,205,9,134,9,61,0,163,9,190,9,38,0,163,9,205,9,135,9,61,0,163,9,191,9,38,0,163,9,205,9,136,9,61,0,163,9,192,9,38,0,163,9,205,9,137,9,61,0,163,9,193,9,38,0,163,9,205,9,138,9,61,0,163,9,194,9,38,0,163,9,205,9,139,9,61,0,163,9,195,9,38,0,163,9,205,9,224,9,61,0,163,9,196,9,38,0,163,9,205,9,140,9,61,0,163,9,226,9,38,0,163,9,205,9,225,9,61,0,163,9,227,9,38,0,163,9,205,9,143,9,61,0,163,9,199,9,38,0,163,9,205,9,144,9,61,0,163,9,200,9,38,0,163,9,205,9,147,9,61,0,163,9,203,9,38,0,163,9,205,9,148,9,61,0,163,9,204,9,38,0,164,9,205,9,133,9,61,0,164,9,38,0,164,9,205,9,134,9,61,0,164,9,190,9,38,0,164,9,205,9,135,9,61,0,164,9,191,9,38,0,164,9,205,9,136,9,61,0,164,9,192,9,38,0,164,9,205,9,137,9,61,0,164,9,193,9,38,0,164,9,205,9,138,9,61,0,164,9,194,9,38,0,164,9,205,9,139,9,61,0,164,9,195,9,38,0,164,9,205,9,224,9,61,0,164,9,196,9,38,0,164,9,205,9,140,9,61,0,164,9,226,9,38,0,164,9,205,9,225,9,61,0,164,9,227,9,38,0,164,9,205,9,143,9,61,0,164,9,199,9,38,0,164,9,205,9,144,9,61,0,164,9,200,9,38,0,164,9,205,9,147,9,61,0,164,9,203,9,38,0,164,9,205,9,148,9,61,0,164,9,204,9,38,0,165,9,205,9,133,9,61,0,165,9,38,0,165,9,205,9,134,9,61,0,165,9,190,9,38,0,165,9,205,9,135,9,61,0,165,9,191,9,38,0,165,9,205,9,136,9,61,0,165,9,192,9,38,0,165,9,205,9,137,9,61,0,165,9,193,9,38,0,165,9,205,9,138,9,61,0,165,9,194,9,38,0,165,9,205,9,139,9,61,0,165,9,195,9,38,0,165,9,205,9,224,9,61,0,165,9,196,9,38,0,165,9,205,9,140,9,61,0,165,9,226,9,38,0,165,9,205,9,225,9,61,0,165,9,227,9,38,0,165,9,205,9,143,9,61,0,165,9,199,9,38,0,165,9,205,9,144,9,61,0,165,9,200,9,38,0,165,9,205,9,147,9,61,0,165,9,203,9,38,0,165,9,205,9,148,9,61,0,165,9,204,9,38,0,166,9,205,9,133,9,61,0,166,9,38,0,166,9,205,9,134,9,61,0,166,9,190,9,38,0,166,9,205,9,135,9,61,0,166,9,191,9,38,0,166,9,205,9,136,9,61,0,166,9,192,9,38,0,166,9,205,9,137,9,61,0,166,9,193,9,38,0,166,9,205,9,138,9,61,0,166,9,194,9,38,0,166,9,205,9,139,9,61,0,166,9,195,9,38,0,166,9,205,9,224,9,61,0,166,9,196,9,38,0,166,9,205,9,140,9,61,0,166,9,226,9,38,0,166,9,205,9,225,9,61,0,166,9,227,9,38,0,166,9,205,9,143,9,61,0,166,9,199,9,38,0,166,9,205,9,144,9,61,0,166,9,200,9,38,0,166,9,205,9,147,9,61,0,166,9,203,9,38,0,166,9,205,9,148,9,61,0,166,9,204,9,38,0,167,9,205,9,133,9,61,0,167,9,38,0,167,9,205,9,134,9,61,0,167,9,190,9,38,0,167,9,205,9,135,9,61,0,167,9,191,9,38,0,167,9,205,9,136,9,61,0,167,9,192,9,38,0,167,9,205,9,137,9,61,0,167,9,193,9,38,0,167,9,205,9,138,9,61,0,167,9,194,9,38,0,167,9,205,9,139,9,61,0,167,9,195,9,38,0,167,9,205,9,224,9,61,0,167,9,196,9,38,0,167,9,205,9,140,9,61,0,167,9,226,9,38,0,167,9,205,9,225,9,61,0,167,9,227,9,38,0,167,9,205,9,143,9,61,0,167,9,199,9,38,0,167,9,205,9,144,9,61,0,167,9,200,9,38,0,167,9,205,9,147,9,61,0,167,9,203,9,38,0,167,9,205,9,148,9,61,0,167,9,204,9,38,0,168,9,205,9,133,9,61,0,168,9,38,0,168,9,205,9,134,9,61,0,168,9,190,9,38,0,168,9,205,9,135,9,61,0,168,9,191,9,38,0,168,9,205,9,136,9,61,0,168,9,192,9,38,0,168,9,205,9,137,9,61,0,168,9,193,9,38,0,168,9,205,9,138,9,61,0,168,9,194,9,38,0,168,9,205,9,139,9,61,0,168,9,195,9,38,0,168,9,205,9,224,9,61,0,168,9,196,9,38,0,168,9,205,9,140,9,61,0,168,9,226,9,38,0,168,9,205,9,225,9,61,0,168,9,227,9,38,0,168,9,205,9,143,9,61,0,168,9,199,9,38,0,168,9,205,9,144,9,61,0,168,9,200,9,38,0,168,9,205,9,147,9,61,0,168,9,203,9,38,0,168,9,205,9,148,9,61,0,168,9,204,9,38,0,170,9,205,9,133,9,61,0,170,9,38,0,170,9,205,9,134,9,61,0,170,9,190,9,38,0,170,9,205,9,135,9,61,0,170,9,191,9,38,0,170,9,205,9,136,9,61,0,170,9,192,9,38,0,170,9,205,9,137,9,61,0,170,9,193,9,38,0,170,9,205,9,138,9,61,0,170,9,194,9,38,0,170,9,205,9,139,9,61,0,170,9,195,9,38,0,170,9,205,9,224,9,61,0,170,9,196,9,38,0,170,9,205,9,140,9,61,0,170,9,226,9,38,0,170,9,205,9,225,9,61,0,170,9,227,9,38,0,170,9,205,9,143,9,61,0,170,9,199,9,38,0,170,9,205,9,144,9,61,0,170,9,200,9,38,0,170,9,205,9,147,9,61,0,170,9,203,9,38,0,170,9,205,9,148,9,61,0,170,9,204,9,38,0,171,9,205,9,133,9,61,0,171,9,38,0,171,9,205,9,134,9,61,0,171,9,190,9,38,0,171,9,205,9,135,9,61,0,171,9,191,9,38,0,171,9,205,9,136,9,61,0,171,9,192,9,38,0,171,9,205,9,137,9,61,0,171,9,193,9,38,0,171,9,205,9,138,9,61,0,171,9,194,9,38,0,171,9,205,9,139,9,61,0,171,9,195,9,38,0,171,9,205,9,224,9,61,0,171,9,196,9,38,0,171,9,205,9,140,9,61,0,171,9,226,9,38,0,171,9,205,9,225,9,61,0,171,9,227,9,38,0,171,9,205,9,143,9,61,0,171,9,199,9,38,0,171,9,205,9,144,9,61,0,171,9,200,9,38,0,171,9,205,9,147,9,61,0,171,9,203,9,38,0,171,9,205,9,148,9,61,0,171,9,204,9,38,0,172,9,205,9,133,9,61,0,172,9,38,0,172,9,205,9,134,9,61,0,172,9,190,9,38,0,172,9,205,9,135,9,61,0,172,9,191,9,38,0,172,9,205,9,136,9,61,0,172,9,192,9,38,0,172,9,205,9,137,9,61,0,172,9,193,9,38,0,172,9,205,9,138,9,61,0,172,9,194,9,38,0,172,9,205,9,139,9,61,0,172,9,195,9,38,0,172,9,205,9,224,9,61,0,172,9,196,9,38,0,172,9,205,9,140,9,61,0,172,9,226,9,38,0,172,9,205,9,225,9,61,0,172,9,227,9,38,0,172,9,205,9,143,9,61,0,172,9,199,9,38,0,172,9,205,9,144,9,61,0,172,9,200,9,38,0,172,9,205,9,147,9,61,0,172,9,203,9,38,0,172,9,205,9,148,9,61,0,172,9,204,9,38,0,173,9,205,9,133,9,61,0,173,9,38,0,173,9,205,9,134,9,61,0,173,9,190,9,38,0,173,9,205,9,135,9,61,0,173,9,191,9,38,0,173,9,205,9,136,9,61,0,173,9,192,9,38,0,173,9,205,9,137,9,61,0,173,9,193,9,38,0,173,9,205,9,138,9,61,0,173,9,194,9,38,0,173,9,205,9,139,9,61,0,173,9,195,9,38,0,173,9,205,9,224,9,61,0,173,9,196,9,38,0,173,9,205,9,140,9,61,0,173,9,226,9,38,0,173,9,205,9,225,9,61,0,173,9,227,9,38,0,173,9,205,9,143,9,61,0,173,9,199,9,38,0,173,9,205,9,144,9,61,0,173,9,200,9,38,0,173,9,205,9,147,9,61,0,173,9,203,9,38,0,173,9,205,9,148,9,61,0,173,9,204,9,38,0,174,9,205,9,133,9,61,0,174,9,38,0,174,9,205,9,134,9,61,0,174,9,190,9,38,0,174,9,205,9,135,9,61,0,174,9,191,9,38,0,174,9,205,9,136,9,61,0,174,9,192,9,38,0,174,9,205,9,137,9,61,0,174,9,193,9,38,0,174,9,205,9,138,9,61,0,174,9,194,9,38,0,174,9,205,9,139,9,61,0,174,9,195,9,38,0,174,9,205,9,224,9,61,0,174,9,196,9,38,0,174,9,205,9,140,9,61,0,174,9,226,9,38,0,174,9,205,9,225,9,61,0,174,9,227,9,38,0,174,9,205,9,143,9,61,0,174,9,199,9,38,0,174,9,205,9,144,9,61,0,174,9,200,9,38,0,174,9,205,9,147,9,61,0,174,9,203,9,38,0,174,9,205,9,148,9,61,0,174,9,204,9,38,0,175,9,205,9,133,9,61,0,175,9,38,0,175,9,205,9,134,9,61,0,175,9,190,9,38,0,175,9,205,9,135,9,61,0,175,9,191,9,38,0,175,9,205,9,136,9,61,0,175,9,192,9,38,0,175,9,205,9,137,9,61,0,175,9,193,9,38,0,175,9,205,9,138,9,61,0,175,9,194,9,38,0,175,9,205,9,139,9,61,0,175,9,195,9,38,0,175,9,205,9,224,9,61,0,175,9,196,9,38,0,175,9,205,9,140,9,61,0,175,9,226,9,38,0,175,9,205,9,225,9,61,0,175,9,227,9,38,0,175,9,205,9,143,9,61,0,175,9,199,9,38,0,175,9,205,9,144,9,61,0,175,9,200,9,38,0,175,9,205,9,147,9,61,0,175,9,203,9,38,0,175,9,205,9,148,9,61,0,175,9,204,9,38,0,176,9,205,9,133,9,61,0,176,9,38,0,176,9,205,9,134,9,61,0,176,9,190,9,38,0,176,9,205,9,135,9,61,0,176,9,191,9,38,0,176,9,205,9,136,9,61,0,176,9,192,9,38,0,176,9,205,9,137,9,61,0,176,9,193,9,38,0,176,9,205,9,138,9,61,0,176,9,194,9,38,0,176,9,205,9,139,9,61,0,176,9,195,9,38,0,176,9,205,9,224,9,61,0,176,9,196,9,38,0,176,9,205,9,140,9,61,0,176,9,226,9,38,0,176,9,205,9,225,9,61,0,176,9,227,9,38,0,176,9,205,9,143,9,61,0,176,9,199,9,38,0,176,9,205,9,144,9,61,0,176,9,200,9,38,0,176,9,205,9,147,9,61,0,176,9,203,9,38,0,176,9,205,9,148,9,61,0,176,9,204,9,38,0,240,9,205,9,133,9,61,0,240,9,38,0,240,9,205,9,134,9,61,0,240,9,190,9,38,0,240,9,205,9,135,9,61,0,240,9,191,9,38,0,240,9,205,9,136,9,61,0,240,9,192,9,38,0,240,9,205,9,137,9,61,0,240,9,193,9,38,0,240,9,205,9,138,9,61,0,240,9,194,9,38,0,240,9,205,9,139,9,61,0,240,9,195,9,38,0,240,9,205,9,224,9,61,0,240,9,196,9,38,0,240,9,205,9,140,9,61,0,240,9,226,9,38,0,240,9,205,9,225,9,61,0,240,9,227,9,38,0,240,9,205,9,143,9,61,0,240,9,199,9,38,0,240,9,205,9,144,9,61,0,240,9,200,9,38,0,240,9,205,9,147,9,61,0,240,9,203,9,38,0,240,9,205,9,148,9,61,0,240,9,204,9,38,0,178,9,205,9,133,9,61,0,178,9,38,0,178,9,205,9,134,9,61,0,178,9,190,9,38,0,178,9,205,9,135,9,61,0,178,9,191,9,38,0,178,9,205,9,136,9,61,0,178,9,192,9,38,0,178,9,205,9,137,9,61,0,178,9,193,9,38,0,178,9,205,9,138,9,61,0,178,9,194,9,38,0,178,9,205,9,139,9,61,0,178,9,195,9,38,0,178,9,205,9,224,9,61,0,178,9,196,9,38,0,178,9,205,9,140,9,61,0,178,9,226,9,38,0,178,9,205,9,225,9,61,0,178,9,227,9,38,0,178,9,205,9,143,9,61,0,178,9,199,9,38,0,178,9,205,9,144,9,61,0,178,9,200,9,38,0,178,9,205,9,147,9,61,0,178,9,203,9,38,0,178,9,205,9,148,9,61,0,178,9,204,9,38,0,241,9,205,9,133,9,61,0,241,9,38,0,241,9,205,9,134,9,61,0,241,9,190,9,38,0,241,9,205,9,135,9,61,0,241,9,191,9,38,0,241,9,205,9,136,9,61,0,241,9,192,9,38,0,241,9,205,9,137,9,61,0,241,9,193,9,38,0,241,9,205,9,138,9,61,0,241,9,194,9,38,0,241,9,205,9,139,9,61,0,241,9,195,9,38,0,241,9,205,9,224,9,61,0,241,9,196,9,38,0,241,9,205,9,140,9,61,0,241,9,226,9,38,0,241,9,205,9,225,9,61,0,241,9,227,9,38,0,241,9,205,9,143,9,61,0,241,9,199,9,38,0,241,9,205,9,144,9,61,0,241,9,200,9,38,0,241,9,205,9,147,9,61,0,241,9,203,9,38,0,241,9,205,9,148,9,61,0,241,9,204,9,38,0,182,9,205,9,133,9,61,0,182,9,38,0,182,9,205,9,134,9,61,0,182,9,190,9,38,0,182,9,205,9,135,9,61,0,182,9,191,9,38,0,182,9,205,9,136,9,61,0,182,9,192,9,38,0,182,9,205,9,137,9,61,0,182,9,193,9,38,0,182,9,205,9,138,9,61,0,182,9,194,9,38,0,182,9,205,9,139,9,61,0,182,9,195,9,38,0,182,9,205,9,224,9,61,0,182,9,196,9,38,0,182,9,205,9,140,9,61,0,182,9,226,9,38,0,182,9,205,9,225,9,61,0,182,9,227,9,38,0,182,9,205,9,143,9,61,0,182,9,199,9,38,0,182,9,205,9,144,9,61,0,182,9,200,9,38,0,182,9,205,9,147,9,61,0,182,9,203,9,38,0,182,9,205,9,148,9,61,0,182,9,204,9,38,0,183,9,205,9,133,9,61,0,183,9,38,0,183,9,205,9,134,9,61,0,183,9,190,9,38,0,183,9,205,9,135,9,61,0,183,9,191,9,38,0,183,9,205,9,136,9,61,0,183,9,192,9,38,0,183,9,205,9,137,9,61,0,183,9,193,9,38,0,183,9,205,9,138,9,61,0,183,9,194,9,38,0,183,9,205,9,139,9,61,0,183,9,195,9,38,0,183,9,205,9,224,9,61,0,183,9,196,9,38,0,183,9,205,9,140,9,61,0,183,9,226,9,38,0,183,9,205,9,225,9,61,0,183,9,227,9,38,0,183,9,205,9,143,9,61,0,183,9,199,9,38,0,183,9,205,9,144,9,61,0,183,9,200,9,38,0,183,9,205,9,147,9,61,0,183,9,203,9,38,0,183,9,205,9,148,9,61,0,183,9,204,9,38,0,184,9,205,9,133,9,61,0,184,9,38,0,184,9,205,9,134,9,61,0,184,9,190,9,38,0,184,9,205,9,135,9,61,0,184,9,191,9,38,0,184,9,205,9,136,9,61,0,184,9,192,9,38,0,184,9,205,9,137,9,61,0,184,9,193,9,38,0,184,9,205,9,138,9,61,0,184,9,194,9,38,0,184,9,205,9,139,9,61,0,184,9,195,9,38,0,184,9,205,9,224,9,61,0,184,9,196,9,38,0,184,9,205,9,140,9,61,0,184,9,226,9,38,0,184,9,205,9,225,9,61,0,184,9,227,9,38,0,184,9,205,9,143,9,61,0,184,9,199,9,38,0,184,9,205,9,144,9,61,0,184,9,200,9,38,0,184,9,205,9,147,9,61,0,184,9,203,9,38,0,184,9,205,9,148,9,61,0,184,9,204,9,38,0,185,9,205,9,133,9,61,0,185,9,38,0,185,9,205,9,134,9,61,0,185,9,190,9,38,0,185,9,205,9,135,9,61,0,185,9,191,9,38,0,185,9,205,9,136,9,61,0,185,9,192,9,38,0,185,9,205,9,137,9,61,0,185,9,193,9,38,0,185,9,205,9,138,9,61,0,185,9,194,9,38,0,185,9,205,9,139,9,61,0,185,9,195,9,38,0,185,9,205,9,224,9,61,0,185,9,196,9,38,0,185,9,205,9,140,9,61,0,185,9,226,9,38,0,185,9,205,9,225,9,61,0,185,9,227,9,38,0,185,9,205,9,143,9,61,0,185,9,199,9,38,0,185,9,205,9,144,9,61,0,185,9,200,9,38,0,185,9,205,9,147,9,61,0,185,9,203,9,38,0,185,9,205,9,148,9,61,0,185,9,204,9,38,0,149,9,60,0,60,0,60,0,149,9,188,9,38,0,149,9,190,9,60,0,60,0,60,0,149,9,188,9,190,9,38,0,149,9,191,9,60,0,60,0,60,0,149,9,188,9,191,9,38,0,149,9,192,9,60,0,60,0,60,0,149,9,188,9,192,9,38,0,149,9,193,9,60,0,60,0,60,0,149,9,188,9,193,9,38,0,149,9,194,9,60,0,60,0,60,0,149,9,188,9,194,9,38,0,149,9,195,9,60,0,60,0,60,0,149,9,188,9,195,9,38,0,149,9,196,9,60,0,60,0,60,0,149,9,188,9,196,9,38,0,149,9,226,9,60,0,60,0,60,0,149,9,188,9,226,9,38,0,149,9,227,9,60,0,60,0,60,0,149,9,188,9,227,9,38,0,149,9,199,9,60,0,60,0,60,0,149,9,188,9,199,9,38,0,149,9,200,9,60,0,60,0,60,0,149,9,188,9,200,9,38,0,149,9,203,9,60,0,60,0,60,0,149,9,188,9,203,9,38,0,149,9,204,9,60,0,60,0,60,0,149,9,188,9,204,9,38,0,149,9,205,9,60,0,60,0,60,0,149,9,188,9,205,9,38,0,150,9,60,0,60,0,60,0,150,9,188,9,38,0,150,9,190,9,60,0,60,0,60,0,150,9,188,9,190,9,38,0,150,9,191,9,60,0,60,0,60,0,150,9,188,9,191,9,38,0,150,9,192,9,60,0,60,0,60,0,150,9,188,9,192,9,38,0,150,9,193,9,60,0,60,0,60,0,150,9,188,9,193,9,38,0,150,9,194,9,60,0,60,0,60,0,150,9,188,9,194,9,38,0,150,9,195,9,60,0,60,0,60,0,150,9,188,9,195,9,38,0,150,9,196,9,60,0,60,0,60,0,150,9,188,9,196,9,38,0,150,9,226,9,60,0,60,0,60,0,150,9,188,9,226,9,38,0,150,9,227,9,60,0,60,0,60,0,150,9,188,9,227,9,38,0,150,9,199,9,60,0,60,0,60,0,150,9,188,9,199,9,38,0,150,9,200,9,60,0,60,0,60,0,150,9,188,9,200,9,38,0,150,9,203,9,60,0,60,0,60,0,150,9,188,9,203,9,38,0,150,9,204,9,60,0,60,0,60,0,150,9,188,9,204,9,38,0,150,9,205,9,60,0,60,0,60,0,150,9,188,9,205,9,38,0,151,9,60,0,60,0,60,0,151,9,188,9,38,0,151,9,190,9,60,0,60,0,60,0,151,9,188,9,190,9,38,0,151,9,191,9,60,0,60,0,60,0,151,9,188,9,191,9,38,0,151,9,192,9,60,0,60,0,60,0,151,9,188,9,192,9,38,0,151,9,193,9,60,0,60,0,60,0,151,9,188,9,193,9,38,0,151,9,194,9,60,0,60,0,60,0,151,9,188,9,194,9,38,0,151,9,195,9,60,0,60,0,60,0,151,9,188,9,195,9,38,0,151,9,196,9,60,0,60,0,60,0,151,9,188,9,196,9,38,0,151,9,226,9,60,0,60,0,60,0,151,9,188,9,226,9,38,0,151,9,227,9,60,0,60,0,60,0,151,9,188,9,227,9,38,0,151,9,199,9,60,0,60,0,60,0,151,9,188,9,199,9,38,0,151,9,200,9,60,0,60,0,60,0,151,9,188,9,200,9,38,0,151,9,203,9,60,0,60,0,60,0,151,9,188,9,203,9,38,0,151,9,204,9,60,0,60,0,60,0,151,9,188,9,204,9,38,0,151,9,205,9,60,0,60,0,60,0,151,9,188,9,205,9,38,0,156,9,60,0,60,0,60,0,156,9,188,9,38,0,156,9,190,9,60,0,60,0,60,0,156,9,188,9,190,9,38,0,156,9,191,9,60,0,60,0,60,0,156,9,188,9,191,9,38,0,156,9,192,9,60,0,60,0,60,0,156,9,188,9,192,9,38,0,156,9,193,9,60,0,60,0,60,0,156,9,188,9,193,9,38,0,156,9,194,9,60,0,60,0,60,0,156,9,188,9,194,9,38,0,156,9,195,9,60,0,60,0,60,0,156,9,188,9,195,9,38,0,156,9,196,9,60,0,60,0,60,0,156,9,188,9,196,9,38,0,156,9,226,9,60,0,60,0,60,0,156,9,188,9,226,9,38,0,156,9,227,9,60,0,60,0,60,0,156,9,188,9,227,9,38,0,156,9,199,9,60,0,60,0,60,0,156,9,188,9,199,9,38,0,156,9,200,9,60,0,60,0,60,0,156,9,188,9,200,9,38,0,156,9,203,9,60,0,60,0,60,0,156,9,188,9,203,9,38,0,156,9,204,9,60,0,60,0,60,0,156,9,188,9,204,9,38,0,156,9,205,9,60,0,60,0,60,0,156,9,188,9,205,9,38,0,161,9,60,0,60,0,60,0,161,9,188,9,38,0,161,9,190,9,60,0,60,0,60,0,161,9,188,9,190,9,38,0,161,9,191,9,60,0,60,0,60,0,161,9,188,9,191,9,38,0,161,9,192,9,60,0,60,0,60,0,161,9,188,9,192,9,38,0,161,9,193,9,60,0,60,0,60,0,161,9,188,9,193,9,38,0,161,9,194,9,60,0,60,0,60,0,161,9,188,9,194,9,38,0,161,9,195,9,60,0,60,0,60,0,161,9,188,9,195,9,38,0,161,9,196,9,60,0,60,0,60,0,161,9,188,9,196,9,38,0,161,9,226,9,60,0,60,0,60,0,161,9,188,9,226,9,38,0,161,9,227,9,60,0,60,0,60,0,161,9,188,9,227,9,38,0,161,9,199,9,60,0,60,0,60,0,161,9,188,9,199,9,38,0,161,9,200,9,60,0,60,0,60,0,161,9,188,9,200,9,38,0,161,9,203,9,60,0,60,0,60,0,161,9,188,9,203,9,38,0,161,9,204,9,60,0,60,0,60,0,161,9,188,9,204,9,38,0,161,9,205,9,60,0,60,0,60,0,161,9,188,9,205,9,38,0,162,9,60,0,60,0,60,0,162,9,188,9,38,0,162,9,190,9,60,0,60,0,60,0,162,9,188,9,190,9,38,0,162,9,191,9,60,0,60,0,60,0,162,9,188,9,191,9,38,0,162,9,192,9,60,0,60,0,60,0,162,9,188,9,192,9,38,0,162,9,193,9,60,0,60,0,60,0,162,9,188,9,193,9,38,0,162,9,194,9,60,0,60,0,60,0,162,9,188,9,194,9,38,0,162,9,195,9,60,0,60,0,60,0,162,9,188,9,195,9,38,0,162,9,196,9,60,0,60,0,60,0,162,9,188,9,196,9,38,0,162,9,226,9,60,0,60,0,60,0,162,9,188,9,226,9,38,0,162,9,227,9,60,0,60,0,60,0,162,9,188,9,227,9,38,0,162,9,199,9,60,0,60,0,60,0,162,9,188,9,199,9,38,0,162,9,200,9,60,0,60,0,60,0,162,9,188,9,200,9,38,0,162,9,203,9,60,0,60,0,60,0,162,9,188,9,203,9,38,0,162,9,204,9,60,0,60,0,60,0,162,9,188,9,204,9,38,0,162,9,205,9,60,0,60,0,60,0,162,9,188,9,205,9,38,0,171,9,60,0,60,0,60,0,171,9,188,9,38,0,171,9,190,9,60,0,60,0,60,0,171,9,188,9,190,9,38,0,171,9,191,9,60,0,60,0,60,0,171,9,188,9,191,9,38,0,171,9,192,9,60,0,60,0,60,0,171,9,188,9,192,9,38,0,171,9,193,9,60,0,60,0,60,0,171,9,188,9,193,9,38,0,171,9,194,9,60,0,60,0,60,0,171,9,188,9,194,9,38,0,171,9,195,9,60,0,60,0,60,0,171,9,188,9,195,9,38,0,171,9,196,9,60,0,60,0,60,0,171,9,188,9,196,9,38,0,171,9,226,9,60,0,60,0,60,0,171,9,188,9,226,9,38,0,171,9,227,9,60,0,60,0,60,0,171,9,188,9,227,9,38,0,171,9,199,9,60,0,60,0,60,0,171,9,188,9,199,9,38,0,171,9,200,9,60,0,60,0,60,0,171,9,188,9,200,9,38,0,171,9,203,9,60,0,60,0,60,0,171,9,188,9,203,9,38,0,171,9,204,9,60,0,60,0,60,0,171,9,188,9,204,9,38,0,171,9,205,9,60,0,60,0,60,0,171,9,188,9,205,9,38,0,172,9,60,0,60,0,60,0,172,9,188,9,38,0,172,9,190,9,60,0,60,0,60,0,172,9,188,9,190,9,38,0,172,9,191,9,60,0,60,0,60,0,172,9,188,9,191,9,38,0,172,9,192,9,60,0,60,0,60,0,172,9,188,9,192,9,38,0,172,9,193,9,60,0,60,0,60,0,172,9,188,9,193,9,38,0,172,9,194,9,60,0,60,0,60,0,172,9,188,9,194,9,38,0,172,9,195,9,60,0,60,0,60,0,172,9,188,9,195,9,38,0,172,9,196,9,60,0,60,0,60,0,172,9,188,9,196,9,38,0,172,9,226,9,60,0,60,0,60,0,172,9,188,9,226,9,38,0,172,9,227,9,60,0,60,0,60,0,172,9,188,9,227,9,38,0,172,9,199,9,60,0,60,0,60,0,172,9,188,9,199,9,38,0,172,9,200,9,60,0,60,0,60,0,172,9,188,9,200,9,38,0,172,9,203,9,60,0,60,0,60,0,172,9,188,9,203,9,38,0,172,9,204,9,60,0,60,0,60,0,172,9,188,9,204,9,38,0,172,9,205,9,60,0,60,0,60,0,172,9,188,9,205,9,38,0,175,9,60,0,60,0,60,0,175,9,188,9,38,0,175,9,190,9,60,0,60,0,60,0,175,9,188,9,190,9,38,0,175,9,191,9,60,0,60,0,60,0,175,9,188,9,191,9,38,0,175,9,192,9,60,0,60,0,60,0,175,9,188,9,192,9,38,0,175,9,193,9,60,0,60,0,60,0,175,9,188,9,193,9,38,0,175,9,194,9,60,0,60,0,60,0,175,9,188,9,194,9,38,0,175,9,195,9,60,0,60,0,60,0,175,9,188,9,195,9,38,0,175,9,196,9,60,0,60,0,60,0,175,9,188,9,196,9,38,0,175,9,226,9,60,0,60,0,60,0,175,9,188,9,226,9,38,0,175,9,227,9,60,0,60,0,60,0,175,9,188,9,227,9,38,0,175,9,199,9,60,0,60,0,60,0,175,9,188,9,199,9,38,0,175,9,200,9,60,0,60,0,60,0,175,9,188,9,200,9,38,0,175,9,203,9,60,0,60,0,60,0,175,9,188,9,203,9,38,0,175,9,204,9,60,0,60,0,60,0,175,9,188,9,204,9,38,0,175,9,205,9,60,0,60,0,60,0,175,9,188,9,205,9,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,112,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,116,0,0,0,116,1,0,0,20,25,0,0,20,25,0,0,20,25,0,0,20,25,0,0,88,25,0,0,4,0,0,0,10,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,105,190,255,0,106,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,39,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,113,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,35,105,193,2,35,105,193,3,35,105,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,115,9,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,188,67,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,128,0,0,0,128,1,0,0,144,26,0,0,144,26,0,0,184,27,0,0,184,27,0,0,92,46,0,0,92,46,0,0,142,67,0,0,164,67,0,0,4,0,0,0,10,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,105,190,255,0,106,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,39,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,136,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,111,0,119,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,147,0,202,1,148,0,202,34,148,0,202,67,148,0,202,100,148,0,202,133,148,0,202,166,148,0,202,199,148,0,202,232,148,0,202,9,149,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,147,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,147,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,147,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,35,105,193,2,35,105,193,3,35,105,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,4,0,0,201,164,14,0,201,68,29,0,201,4,44,0,201,100,51,0,201,196,58,0,201,36,66,0,201,132,73,0,201,68,88,0,201,164,95,0,201,4,103,0,201,100,110,0,201,196,117,0,201,132,132,0,201,68,147,0,201,164,154,0,201,132,162,0,201,228,169,0,201,68,177,0,201,164,184,0,192,0,0,0,201,4,192,0,201,100,199,0,201,36,214,0,201,228,228,0,201,68,236,0,201,164,243,0,201,100,2,1,192,0,0,0,201,196,9,1,192,0,0,0,192,0,0,0,192,0,0,0,201,36,17,1,201,132,24,1,201,228,31,1,201,68,39,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,20,35,105,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,164,46,1,201,228,53,1,192,0,0,0,201,36,61,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,100,68,1,201,196,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,6,0,5,0,5,35,105,0,6,0,5,0,6,35,105,0,6,0,5,0,7,35,105,0,6,0,5,0,12,35,105,0,6,0,5,0,17,35,105,0,6,0,5,0,18,35,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,8,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,10,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,12,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,14,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,16,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,18,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,20,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,22,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,28,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,32,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,34,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,30,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,24,105,0,5,0,70,0,20,35,105,0,5,0,5,0,0,26,105,0,6,0,5,0,26,35,105,0,6,0,5,0,27,35,105,0,6,0,5,0,30,35,105,0,0,0,0,193,5,35,105,5,5,8,105,193,5,35,105,14,5,8,105,193,5,35,105,14,5,10,105,193,5,35,105,14,5,12,105,193,5,35,105,14,5,14,105,193,5,35,105,14,5,16,105,193,5,35,105,14,5,18,105,193,5,35,105,14,5,20,105,193,5,35,105,14,5,22,105,193,5,35,105,14,5,28,105,193,5,35,105,14,5,32,105,193,5,35,105,14,5,34,105,193,5,35,105,14,5,30,105,193,5,35,105,14,5,24,105,193,5,35,105,14,5,26,105,193,5,35,105,5,5,10,105,193,5,35,105,5,5,12,105,193,5,35,105,5,5,14,105,193,5,35,105,5,5,16,105,193,5,35,105,5,5,18,105,193,5,35,105,5,5,20,105,193,5,35,105,5,5,22,105,193,5,35,105,5,5,28,105,193,5,35,105,5,5,32,105,193,5,35,105,5,5,34,105,193,5,35,105,5,5,30,105,193,5,35,105,5,5,24,105,193,5,35,105,5,5,26,105,193,6,35,105,5,5,8,105,193,6,35,105,13,5,8,105,193,6,35,105,13,5,10,105,193,6,35,105,13,5,12,105,193,6,35,105,13,5,14,105,193,6,35,105,13,5,16,105,193,6,35,105,13,5,18,105,193,6,35,105,13,5,20,105,193,6,35,105,13,5,22,105,193,6,35,105,13,5,28,105,193,6,35,105,13,5,32,105,193,6,35,105,13,5,34,105,193,6,35,105,13,5,30,105,193,6,35,105,13,5,24,105,193,6,35,105,13,5,26,105,193,6,35,105,5,5,10,105,193,6,35,105,5,5,12,105,193,6,35,105,5,5,14,105,193,6,35,105,5,5,16,105,193,6,35,105,5,5,18,105,193,6,35,105,5,5,20,105,193,6,35,105,5,5,22,105,193,6,35,105,5,5,28,105,193,6,35,105,5,5,32,105,193,6,35,105,5,5,34,105,193,6,35,105,5,5,30,105,193,6,35,105,5,5,24,105,193,6,35,105,5,5,26,105,193,7,35,105,5,5,8,105,193,7,35,105,12,5,8,105,193,7,35,105,12,5,10,105,193,7,35,105,12,5,12,105,193,7,35,105,12,5,14,105,193,7,35,105,12,5,16,105,193,7,35,105,12,5,18,105,193,7,35,105,12,5,20,105,193,7,35,105,12,5,22,105,193,7,35,105,12,5,28,105,193,7,35,105,12,5,32,105,193,7,35,105,12,5,34,105,193,7,35,105,12,5,30,105,193,7,35,105,12,5,24,105,193,7,35,105,12,5,26,105,193,7,35,105,5,5,10,105,193,7,35,105,5,5,12,105,193,7,35,105,5,5,14,105,193,7,35,105,5,5,16,105,193,7,35,105,5,5,18,105,193,7,35,105,5,5,20,105,193,7,35,105,5,5,22,105,193,7,35,105,5,5,28,105,193,7,35,105,5,5,32,105,193,7,35,105,5,5,34,105,193,7,35,105,5,5,30,105,193,7,35,105,5,5,24,105,193,7,35,105,5,5,26,105,193,8,35,105,5,5,8,105,193,8,35,105,5,5,10,105,193,8,35,105,5,5,12,105,193,8,35,105,5,5,14,105,193,8,35,105,5,5,16,105,193,8,35,105,5,5,18,105,193,8,35,105,5,5,20,105,193,8,35,105,5,5,22,105,193,8,35,105,5,5,28,105,193,8,35,105,5,5,32,105,193,8,35,105,5,5,34,105,193,8,35,105,5,5,30,105,193,8,35,105,5,5,24,105,193,8,35,105,5,5,26,105,193,9,35,105,5,5,8,105,193,9,35,105,5,5,10,105,193,9,35,105,5,5,12,105,193,9,35,105,5,5,14,105,193,9,35,105,5,5,16,105,193,9,35,105,5,5,18,105,193,9,35,105,5,5,20,105,193,9,35,105,5,5,22,105,193,9,35,105,5,5,28,105,193,9,35,105,5,5,32,105,193,9,35,105,5,5,34,105,193,9,35,105,5,5,30,105,193,9,35,105,5,5,24,105,193,9,35,105,5,5,26,105,193,10,35,105,5,5,8,105,193,10,35,105,5,5,10,105,193,10,35,105,5,5,12,105,193,10,35,105,5,5,14,105,193,10,35,105,5,5,16,105,193,10,35,105,5,5,18,105,193,10,35,105,5,5,20,105,193,10,35,105,5,5,22,105,193,10,35,105,5,5,28,105,193,10,35,105,5,5,32,105,193,10,35,105,5,5,34,105,193,10,35,105,5,5,30,105,193,10,35,105,5,5,24,105,193,10,35,105,5,5,26,105,193,11,35,105,5,5,8,105,193,11,35,105,5,5,10,105,193,11,35,105,5,5,12,105,193,11,35,105,5,5,14,105,193,11,35,105,5,5,16,105,193,11,35,105,5,5,18,105,193,11,35,105,5,5,20,105,193,11,35,105,5,5,22,105,193,11,35,105,5,5,28,105,193,11,35,105,5,5,32,105,193,11,35,105,5,5,34,105,193,11,35,105,5,5,30,105,193,11,35,105,5,5,24,105,193,11,35,105,5,5,26,105,193,12,35,105,5,5,8,105,193,12,35,105,11,5,8,105,193,12,35,105,11,5,10,105,193,12,35,105,11,5,12,105,193,12,35,105,11,5,14,105,193,12,35,105,11,5,16,105,193,12,35,105,11,5,18,105,193,12,35,105,11,5,20,105,193,12,35,105,11,5,22,105,193,12,35,105,11,5,28,105,193,12,35,105,11,5,32,105,193,12,35,105,11,5,34,105,193,12,35,105,11,5,30,105,193,12,35,105,11,5,24,105,193,12,35,105,11,5,26,105,193,12,35,105,5,5,10,105,193,12,35,105,5,5,12,105,193,12,35,105,5,5,14,105,193,12,35,105,5,5,16,105,193,12,35,105,5,5,18,105,193,12,35,105,5,5,20,105,193,12,35,105,5,5,22,105,193,12,35,105,5,5,28,105,193,12,35,105,5,5,32,105,193,12,35,105,5,5,34,105,193,12,35,105,5,5,30,105,193,12,35,105,5,5,24,105,193,12,35,105,5,5,26,105,193,13,35,105,5,5,8,105,193,13,35,105,5,5,10,105,193,13,35,105,5,5,12,105,193,13,35,105,5,5,14,105,193,13,35,105,5,5,16,105,193,13,35,105,5,5,18,105,193,13,35,105,5,5,20,105,193,13,35,105,5,5,22,105,193,13,35,105,5,5,28,105,193,13,35,105,5,5,32,105,193,13,35,105,5,5,34,105,193,13,35,105,5,5,30,105,193,13,35,105,5,5,24,105,193,13,35,105,5,5,26,105,193,14,35,105,5,5,8,105,193,14,35,105,5,5,10,105,193,14,35,105,5,5,12,105,193,14,35,105,5,5,14,105,193,14,35,105,5,5,16,105,193,14,35,105,5,5,18,105,193,14,35,105,5,5,20,105,193,14,35,105,5,5,22,105,193,14,35,105,5,5,28,105,193,14,35,105,5,5,32,105,193,14,35,105,5,5,34,105,193,14,35,105,5,5,30,105,193,14,35,105,5,5,24,105,193,14,35,105,5,5,26,105,193,15,35,105,5,5,8,105,193,15,35,105,5,5,10,105,193,15,35,105,5,5,12,105,193,15,35,105,5,5,14,105,193,15,35,105,5,5,16,105,193,15,35,105,5,5,18,105,193,15,35,105,5,5,20,105,193,15,35,105,5,5,22,105,193,15,35,105,5,5,28,105,193,15,35,105,5,5,32,105,193,15,35,105,5,5,34,105,193,15,35,105,5,5,30,105,193,15,35,105,5,5,24,105,193,15,35,105,5,5,26,105,193,16,35,105,5,5,8,105,193,16,35,105,5,5,10,105,193,16,35,105,5,5,12,105,193,16,35,105,5,5,14,105,193,16,35,105,5,5,16,105,193,16,35,105,5,5,18,105,193,16,35,105,5,5,20,105,193,16,35,105,5,5,22,105,193,16,35,105,5,5,28,105,193,16,35,105,5,5,32,105,193,16,35,105,5,5,34,105,193,16,35,105,5,5,30,105,193,16,35,105,5,5,24,105,193,16,35,105,5,5,26,105,193,17,35,105,5,5,8,105,193,17,35,105,10,5,8,105,193,17,35,105,10,5,10,105,193,17,35,105,10,5,12,105,193,17,35,105,10,5,14,105,193,17,35,105,10,5,16,105,193,17,35,105,10,5,18,105,193,17,35,105,10,5,20,105,193,17,35,105,10,5,22,105,193,17,35,105,10,5,28,105,193,17,35,105,10,5,32,105,193,17,35,105,10,5,34,105,193,17,35,105,10,5,30,105,193,17,35,105,10,5,24,105,193,17,35,105,10,5,26,105,193,17,35,105,5,5,10,105,193,17,35,105,5,5,12,105,193,17,35,105,5,5,14,105,193,17,35,105,5,5,16,105,193,17,35,105,5,5,18,105,193,17,35,105,5,5,20,105,193,17,35,105,5,5,22,105,193,17,35,105,5,5,28,105,193,17,35,105,5,5,32,105,193,17,35,105,5,5,34,105,193,17,35,105,5,5,30,105,193,17,35,105,5,5,24,105,193,17,35,105,5,5,26,105,193,18,35,105,5,5,8,105,193,18,35,105,9,5,8,105,193,18,35,105,9,5,10,105,193,18,35,105,9,5,12,105,193,18,35,105,9,5,14,105,193,18,35,105,9,5,16,105,193,18,35,105,9,5,18,105,193,18,35,105,9,5,20,105,193,18,35,105,9,5,22,105,193,18,35,105,9,5,28,105,193,18,35,105,9,5,32,105,193,18,35,105,9,5,34,105,193,18,35,105,9,5,30,105,193,18,35,105,9,5,24,105,193,18,35,105,9,5,26,105,193,18,35,105,5,5,10,105,193,18,35,105,5,5,12,105,193,18,35,105,5,5,14,105,193,18,35,105,5,5,16,105,193,18,35,105,5,5,18,105,193,18,35,105,5,5,20,105,193,18,35,105,5,5,22,105,193,18,35,105,5,5,28,105,193,18,35,105,5,5,32,105,193,18,35,105,5,5,34,105,193,18,35,105,5,5,30,105,193,18,35,105,5,5,24,105,193,18,35,105,5,5,26,105,193,19,35,105,5,5,8,105,193,19,35,105,5,5,10,105,193,19,35,105,5,5,12,105,193,19,35,105,5,5,14,105,193,19,35,105,5,5,16,105,193,19,35,105,5,5,18,105,193,19,35,105,5,5,20,105,193,19,35,105,5,5,22,105,193,19,35,105,5,5,28,105,193,19,35,105,5,5,32,105,193,19,35,105,5,5,34,105,193,19,35,105,5,5,30,105,193,19,35,105,5,5,24,105,193,19,35,105,5,5,26,105,193,21,35,105,5,5,8,105,193,21,35,105,5,5,10,105,193,21,35,105,5,5,12,105,193,21,35,105,5,5,14,105,193,21,35,105,5,5,16,105,193,21,35,105,5,5,18,105,193,21,35,105,5,5,20,105,193,21,35,105,5,5,22,105,193,21,35,105,5,5,28,105,193,21,35,105,5,5,32,105,193,21,35,105,5,5,34,105,193,21,35,105,5,5,30,105,193,21,35,105,5,5,24,105,193,21,35,105,5,5,26,105,193,22,35,105,5,5,8,105,193,22,35,105,5,5,10,105,193,22,35,105,5,5,12,105,193,22,35,105,5,5,14,105,193,22,35,105,5,5,16,105,193,22,35,105,5,5,18,105,193,22,35,105,5,5,20,105,193,22,35,105,5,5,22,105,193,22,35,105,5,5,28,105,193,22,35,105,5,5,32,105,193,22,35,105,5,5,34,105,193,22,35,105,5,5,30,105,193,22,35,105,5,5,24,105,193,22,35,105,5,5,26,105,193,23,35,105,5,5,8,105,193,23,35,105,5,5,10,105,193,23,35,105,5,5,12,105,193,23,35,105,5,5,14,105,193,23,35,105,5,5,16,105,193,23,35,105,5,5,18,105,193,23,35,105,5,5,20,105,193,23,35,105,5,5,22,105,193,23,35,105,5,5,28,105,193,23,35,105,5,5,32,105,193,23,35,105,5,5,34,105,193,23,35,105,5,5,30,105,193,23,35,105,5,5,24,105,193,23,35,105,5,5,26,105,193,24,35,105,5,5,8,105,193,24,35,105,5,5,10,105,193,24,35,105,5,5,12,105,193,24,35,105,5,5,14,105,193,24,35,105,5,5,16,105,193,24,35,105,5,5,18,105,193,24,35,105,5,5,20,105,193,24,35,105,5,5,22,105,193,24,35,105,5,5,28,105,193,24,35,105,5,5,32,105,193,24,35,105,5,5,34,105,193,24,35,105,5,5,30,105,193,24,35,105,5,5,24,105,193,24,35,105,5,5,26,105,193,25,35,105,5,5,8,105,193,25,35,105,5,5,10,105,193,25,35,105,5,5,12,105,193,25,35,105,5,5,14,105,193,25,35,105,5,5,16,105,193,25,35,105,5,5,18,105,193,25,35,105,5,5,20,105,193,25,35,105,5,5,22,105,193,25,35,105,5,5,28,105,193,25,35,105,5,5,32,105,193,25,35,105,5,5,34,105,193,25,35,105,5,5,30,105,193,25,35,105,5,5,24,105,193,25,35,105,5,5,26,105,193,26,35,105,5,5,8,105,193,26,35,105,8,5,8,105,193,26,35,105,8,5,10,105,193,26,35,105,8,5,12,105,193,26,35,105,8,5,14,105,193,26,35,105,8,5,16,105,193,26,35,105,8,5,18,105,193,26,35,105,8,5,20,105,193,26,35,105,8,5,22,105,193,26,35,105,8,5,28,105,193,26,35,105,8,5,32,105,193,26,35,105,8,5,34,105,193,26,35,105,8,5,30,105,193,26,35,105,8,5,24,105,193,26,35,105,8,5,26,105,193,26,35,105,5,5,10,105,193,26,35,105,5,5,12,105,193,26,35,105,5,5,14,105,193,26,35,105,5,5,16,105,193,26,35,105,5,5,18,105,193,26,35,105,5,5,20,105,193,26,35,105,5,5,22,105,193,26,35,105,5,5,28,105,193,26,35,105,5,5,32,105,193,26,35,105,5,5,34,105,193,26,35,105,5,5,30,105,193,26,35,105,5,5,24,105,193,26,35,105,5,5,26,105,193,27,35,105,5,5,8,105,193,27,35,105,7,5,8,105,193,27,35,105,7,5,10,105,193,27,35,105,7,5,12,105,193,27,35,105,7,5,14,105,193,27,35,105,7,5,16,105,193,27,35,105,7,5,18,105,193,27,35,105,7,5,20,105,193,27,35,105,7,5,22,105,193,27,35,105,7,5,28,105,193,27,35,105,7,5,32,105,193,27,35,105,7,5,34,105,193,27,35,105,7,5,30,105,193,27,35,105,7,5,24,105,193,27,35,105,7,5,26,105,193,27,35,105,5,5,10,105,193,27,35,105,5,5,12,105,193,27,35,105,5,5,14,105,193,27,35,105,5,5,16,105,193,27,35,105,5,5,18,105,193,27,35,105,5,5,20,105,193,27,35,105,5,5,22,105,193,27,35,105,5,5,28,105,193,27,35,105,5,5,32,105,193,27,35,105,5,5,34,105,193,27,35,105,5,5,30,105,193,27,35,105,5,5,24,105,193,27,35,105,5,5,26,105,193,28,35,105,5,5,8,105,193,28,35,105,5,5,10,105,193,28,35,105,5,5,12,105,193,28,35,105,5,5,14,105,193,28,35,105,5,5,16,105,193,28,35,105,5,5,18,105,193,28,35,105,5,5,20,105,193,28,35,105,5,5,22,105,193,28,35,105,5,5,28,105,193,28,35,105,5,5,32,105,193,28,35,105,5,5,34,105,193,28,35,105,5,5,30,105,193,28,35,105,5,5,24,105,193,28,35,105,5,5,26,105,193,29,35,105,5,5,8,105,193,29,35,105,5,5,10,105,193,29,35,105,5,5,12,105,193,29,35,105,5,5,14,105,193,29,35,105,5,5,16,105,193,29,35,105,5,5,18,105,193,29,35,105,5,5,20,105,193,29,35,105,5,5,22,105,193,29,35,105,5,5,28,105,193,29,35,105,5,5,32,105,193,29,35,105,5,5,34,105,193,29,35,105,5,5,30,105,193,29,35,105,5,5,24,105,193,29,35,105,5,5,26,105,193,30,35,105,5,5,8,105,193,30,35,105,6,5,8,105,193,30,35,105,6,5,10,105,193,30,35,105,6,5,12,105,193,30,35,105,6,5,14,105,193,30,35,105,6,5,16,105,193,30,35,105,6,5,18,105,193,30,35,105,6,5,20,105,193,30,35,105,6,5,22,105,193,30,35,105,6,5,28,105,193,30,35,105,6,5,32,105,193,30,35,105,6,5,34,105,193,30,35,105,6,5,30,105,193,30,35,105,6,5,24,105,193,30,35,105,6,5,26,105,193,30,35,105,5,5,10,105,193,30,35,105,5,5,12,105,193,30,35,105,5,5,14,105,193,30,35,105,5,5,16,105,193,30,35,105,5,5,18,105,193,30,35,105,5,5,20,105,193,30,35,105,5,5,22,105,193,30,35,105,5,5,28,105,193,30,35,105,5,5,32,105,193,30,35,105,5,5,34,105,193,30,35,105,5,5,30,105,193,30,35,105,5,5,24,105,193,30,35,105,5,5,26,105,193,31,35,105,5,5,8,105,193,31,35,105,5,5,10,105,193,31,35,105,5,5,12,105,193,31,35,105,5,5,14,105,193,31,35,105,5,5,16,105,193,31,35,105,5,5,18,105,193,31,35,105,5,5,20,105,193,31,35,105,5,5,22,105,193,31,35,105,5,5,28,105,193,31,35,105,5,5,32,105,193,31,35,105,5,5,34,105,193,31,35,105,5,5,30,105,193,31,35,105,5,5,24,105,193,31,35,105,5,5,26,105,193,33,35,105,5,5,8,105,193,33,35,105,5,5,10,105,193,33,35,105,5,5,12,105,193,33,35,105,5,5,14,105,193,33,35,105,5,5,16,105,193,33,35,105,5,5,18,105,193,33,35,105,5,5,20,105,193,33,35,105,5,5,22,105,193,33,35,105,5,5,28,105,193,33,35,105,5,5,32,105,193,33,35,105,5,5,34,105,193,33,35,105,5,5,30,105,193,33,35,105,5,5,24,105,193,33,35,105,5,5,26,105,193,35,35,105,5,5,8,105,193,35,35,105,5,5,10,105,193,35,35,105,5,5,12,105,193,35,35,105,5,5,14,105,193,35,35,105,5,5,16,105,193,35,35,105,5,5,18,105,193,35,35,105,5,5,20,105,193,35,35,105,5,5,22,105,193,35,35,105,5,5,28,105,193,35,35,105,5,5,32,105,193,35,35,105,5,5,34,105,193,35,35,105,5,5,30,105,193,35,35,105,5,5,24,105,193,35,35,105,5,5,26,105,193,36,35,105,5,5,8,105,193,36,35,105,5,5,10,105,193,36,35,105,5,5,12,105,193,36,35,105,5,5,14,105,193,36,35,105,5,5,16,105,193,36,35,105,5,5,18,105,193,36,35,105,5,5,20,105,193,36,35,105,5,5,22,105,193,36,35,105,5,5,28,105,193,36,35,105,5,5,32,105,193,36,35,105,5,5,34,105,193,36,35,105,5,5,30,105,193,36,35,105,5,5,24,105,193,36,35,105,5,5,26,105,193,37,35,105,5,5,8,105,193,37,35,105,5,5,10,105,193,37,35,105,5,5,12,105,193,37,35,105,5,5,14,105,193,37,35,105,5,5,16,105,193,37,35,105,5,5,18,105,193,37,35,105,5,5,20,105,193,37,35,105,5,5,22,105,193,37,35,105,5,5,28,105,193,37,35,105,5,5,32,105,193,37,35,105,5,5,34,105,193,37,35,105,5,5,30,105,193,37,35,105,5,5,24,105,193,37,35,105,5,5,26,105,193,38,35,105,5,5,8,105,193,38,35,105,5,5,10,105,193,38,35,105,5,5,12,105,193,38,35,105,5,5,14,105,193,38,35,105,5,5,16,105,193,38,35,105,5,5,18,105,193,38,35,105,5,5,20,105,193,38,35,105,5,5,22,105,193,38,35,105,5,5,28,105,193,38,35,105,5,5,32,105,193,38,35,105,5,5,34,105,193,38,35,105,5,5,30,105,193,38,35,105,5,5,24,105,193,38,35,105,5,5,26,105,193,32,35,105,5,5,8,105,193,32,35,105,5,5,10,105,193,32,35,105,5,5,12,105,193,32,35,105,5,5,14,105,193,32,35,105,5,5,16,105,193,32,35,105,5,5,18,105,193,32,35,105,5,5,20,105,193,32,35,105,5,5,22,105,193,32,35,105,5,5,28,105,193,32,35,105,5,5,32,105,193,32,35,105,5,5,34,105,193,32,35,105,5,5,30,105,193,32,35,105,5,5,24,105,193,32,35,105,5,5,26,105,193,34,35,105,5,5,8,105,193,34,35,105,5,5,10,105,193,34,35,105,5,5,12,105,193,34,35,105,5,5,14,105,193,34,35,105,5,5,16,105,193,34,35,105,5,5,18,105,193,34,35,105,5,5,20,105,193,34,35,105,5,5,22,105,193,34,35,105,5,5,28,105,193,34,35,105,5,5,32,105,193,34,35,105,5,5,34,105,193,34,35,105,5,5,30,105,193,34,35,105,5,5,24,105,193,34,35,105,5,5,26,105,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,6,192,197,34,205,9,255,255,35,105,193,5,226,9,6,192,197,162,227,9,6,192,197,226,196,9,5,192,197,98,199,9,6,0,200,9,6,192,197,98,203,9,5,192,197,226,129,65,197,162,190,9,5,192,197,226,215,9,6,192,197,34,192,9,12,0,192,9,4,192,197,98,193,9,4,192,197,162,194,9,4,192,197,226,195,9,5,192,197,34,188,9,6,0,190,9,3,192,197,226,191,9,4,192,197,34,77,64,197,98,199,9,29,0,204,9,11,0,204,9,2,192,197,226,205,9,198,129,226,9,3,192,197,98,227,9,3,192,197,162,199,9,6,0,200,9,3,192,197,34,203,9,2,192,197,162,193,64,197,98,190,9,2,192,197,162,215,9,2,192,197,226,193,9,12,0,193,9,1,192,197,98,194,9,1,192,197,162,195,9,1,192,197,226,196,9,2,192,197,34,190,9,0,192,197,162,191,9,0,192,197,226,192,9,1,192,197,34,7,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,13,192,197,34,205,9,255,255,35,105,193,6,226,9,13,192,197,162,227,9,13,192,197,226,196,9,12,192,197,98,199,9,6,0,200,9,13,192,197,98,203,9,12,192,197,226,65,67,197,162,190,9,12,192,197,226,215,9,13,192,197,34,192,9,12,0,192,9,11,192,197,98,193,9,11,192,197,162,194,9,11,192,197,226,195,9,12,192,197,34,188,9,6,0,190,9,10,192,197,226,191,9,11,192,197,34,13,66,197,98,199,9,29,0,204,9,11,0,204,9,9,192,197,226,205,9,198,161,226,9,10,192,197,98,227,9,10,192,197,162,199,9,6,0,200,9,10,192,197,34,203,9,9,192,197,162,129,66,197,98,190,9,9,192,197,162,215,9,9,192,197,226,193,9,12,0,193,9,8,192,197,98,194,9,8,192,197,162,195,9,8,192,197,226,196,9,9,192,197,34,190,9,7,192,197,162,191,9,7,192,197,226,192,9,8,192,197,34,14,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,20,192,197,34,205,9,255,255,35,105,193,7,226,9,20,192,197,162,227,9,20,192,197,226,196,9,19,192,197,98,199,9,6,0,200,9,20,192,197,98,203,9,19,192,197,226,1,69,197,162,190,9,19,192,197,226,215,9,20,192,197,34,192,9,12,0,192,9,18,192,197,98,193,9,18,192,197,162,194,9,18,192,197,226,195,9,19,192,197,34,188,9,6,0,190,9,17,192,197,226,191,9,18,192,197,34,205,67,197,98,199,9,30,0,204,9,12,0,204,9,16,192,197,226,205,9,0,192,198,65,226,9,17,192,197,98,227,9,17,192,197,162,199,9,6,0,200,9,17,192,197,34,203,9,16,192,197,162,65,68,197,98,190,9,16,192,197,162,215,9,16,192,197,226,193,9,12,0,193,9,15,192,197,98,194,9,15,192,197,162,195,9,15,192,197,226,196,9,16,192,197,34,190,9,14,192,197,162,191,9,14,192,197,226,192,9,15,192,197,34,21,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,23,192,197,162,205,9,255,255,35,105,193,8,226,9,24,192,197,34,227,9,24,192,197,98,199,9,6,0,200,9,23,192,197,226,203,9,23,192,197,98,1,70,197,34,190,9,23,192,197,98,215,9,23,192,197,162,193,9,12,0,193,9,22,192,197,34,194,9,22,192,197,98,195,9,22,192,197,162,196,9,22,192,197,226,190,9,21,192,197,98,191,9,21,192,197,162,192,9,21,192,197,226,24,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,27,192,197,34,205,9,255,255,35,105,193,9,226,9,27,192,197,162,227,9,27,192,197,226,199,9,6,0,200,9,27,192,197,98,203,9,26,192,197,226,193,70,197,162,190,9,26,192,197,226,215,9,27,192,197,34,193,9,12,0,193,9,25,192,197,162,194,9,25,192,197,226,195,9,26,192,197,34,196,9,26,192,197,98,190,9,24,192,197,226,191,9,25,192,197,34,192,9,25,192,197,98,28,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,30,192,197,162,205,9,255,255,35,105,193,10,226,9,31,192,197,34,227,9,31,192,197,98,199,9,6,0,200,9,30,192,197,226,203,9,30,192,197,98,193,71,197,34,190,9,30,192,197,98,215,9,30,192,197,162,193,9,12,0,193,9,29,192,197,34,194,9,29,192,197,98,195,9,29,192,197,162,196,9,29,192,197,226,190,9,28,192,197,98,191,9,28,192,197,162,192,9,28,192,197,226,31,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,34,192,197,34,205,9,255,255,35,105,193,11,226,9,34,192,197,162,227,9,34,192,197,226,199,9,6,0,200,9,34,192,197,98,203,9,33,192,197,226,129,72,197,162,190,9,33,192,197,226,215,9,34,192,197,34,193,9,12,0,193,9,32,192,197,162,194,9,32,192,197,226,195,9,33,192,197,34,196,9,33,192,197,98,190,9,31,192,197,226,191,9,32,192,197,34,192,9,32,192,197,98,35,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,41,192,197,34,205,9,255,255,35,105,193,12,226,9,41,192,197,162,227,9,41,192,197,226,196,9,40,192,197,98,199,9,6,0,200,9,41,192,197,98,203,9,40,192,197,226,65,74,197,162,190,9,40,192,197,226,215,9,41,192,197,34,192,9,12,0,192,9,39,192,197,98,193,9,39,192,197,162,194,9,39,192,197,226,195,9,40,192,197,34,188,9,6,0,190,9,38,192,197,226,191,9,39,192,197,34,13,73,197,98,199,9,30,0,204,9,12,0,204,9,37,192,197,226,205,9,0,192,198,97,226,9,38,192,197,98,227,9,38,192,197,162,199,9,6,0,200,9,38,192,197,34,203,9,37,192,197,162,129,73,197,98,190,9,37,192,197,162,215,9,37,192,197,226,193,9,12,0,193,9,36,192,197,98,194,9,36,192,197,162,195,9,36,192,197,226,196,9,37,192,197,34,190,9,35,192,197,162,191,9,35,192,197,226,192,9,36,192,197,34,42,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,44,192,197,162,205,9,255,255,35,105,193,13,226,9,45,192,197,34,227,9,45,192,197,98,199,9,6,0,200,9,44,192,197,226,203,9,44,192,197,98,65,75,197,34,190,9,44,192,197,98,215,9,44,192,197,162,193,9,12,0,193,9,43,192,197,34,194,9,43,192,197,98,195,9,43,192,197,162,196,9,43,192,197,226,190,9,42,192,197,98,191,9,42,192,197,162,192,9,42,192,197,226,45,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,48,192,197,34,205,9,255,255,35,105,193,14,226,9,48,192,197,162,227,9,48,192,197,226,199,9,6,0,200,9,48,192,197,98,203,9,47,192,197,226,1,76,197,162,190,9,47,192,197,226,215,9,48,192,197,34,193,9,12,0,193,9,46,192,197,162,194,9,46,192,197,226,195,9,47,192,197,34,196,9,47,192,197,98,190,9,45,192,197,226,191,9,46,192,197,34,192,9,46,192,197,98,49,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,51,192,197,162,205,9,255,255,35,105,193,15,226,9,52,192,197,34,227,9,52,192,197,98,199,9,6,0,200,9,51,192,197,226,203,9,51,192,197,98,1,77,197,34,190,9,51,192,197,98,215,9,51,192,197,162,193,9,12,0,193,9,50,192,197,34,194,9,50,192,197,98,195,9,50,192,197,162,196,9,50,192,197,226,190,9,49,192,197,98,191,9,49,192,197,162,192,9,49,192,197,226,52,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,55,192,197,34,205,9,255,255,35,105,193,16,226,9,55,192,197,162,227,9,55,192,197,226,199,9,6,0,200,9,55,192,197,98,203,9,54,192,197,226,193,77,197,162,190,9,54,192,197,226,215,9,55,192,197,34,193,9,12,0,193,9,53,192,197,162,194,9,53,192,197,226,195,9,54,192,197,34,196,9,54,192,197,98,190,9,52,192,197,226,191,9,53,192,197,34,192,9,53,192,197,98,56,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,62,192,197,34,205,9,255,255,35,105,193,17,226,9,62,192,197,162,227,9,62,192,197,226,196,9,61,192,197,98,199,9,6,0,200,9,62,192,197,98,203,9,61,192,197,226,129,79,197,162,190,9,61,192,197,226,215,9,62,192,197,34,192,9,12,0,192,9,60,192,197,98,193,9,60,192,197,162,194,9,60,192,197,226,195,9,61,192,197,34,188,9,6,0,190,9,59,192,197,226,191,9,60,192,197,34,77,78,197,98,199,9,30,0,204,9,12,0,204,9,58,192,197,226,205,9,0,192,198,129,226,9,59,192,197,98,227,9,59,192,197,162,199,9,6,0,200,9,59,192,197,34,203,9,58,192,197,162,193,78,197,98,190,9,58,192,197,162,215,9,58,192,197,226,193,9,12,0,193,9,57,192,197,98,194,9,57,192,197,162,195,9,57,192,197,226,196,9,58,192,197,34,190,9,56,192,197,162,191,9,56,192,197,226,192,9,57,192,197,34,63,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,69,192,197,34,205,9,255,255,35,105,193,18,226,9,69,192,197,162,227,9,69,192,197,226,196,9,68,192,197,98,199,9,6,0,200,9,69,192,197,98,203,9,68,192,197,226,65,81,197,162,190,9,68,192,197,226,215,9,69,192,197,34,192,9,12,0,192,9,67,192,197,98,193,9,67,192,197,162,194,9,67,192,197,226,195,9,68,192,197,34,188,9,6,0,190,9,66,192,197,226,191,9,67,192,197,34,13,80,197,98,199,9,30,0,204,9,12,0,204,9,65,192,197,226,205,9,0,192,198,161,226,9,66,192,197,98,227,9,66,192,197,162,199,9,6,0,200,9,66,192,197,34,203,9,65,192,197,162,129,80,197,98,190,9,65,192,197,162,215,9,65,192,197,226,193,9,12,0,193,9,64,192,197,98,194,9,64,192,197,162,195,9,64,192,197,226,196,9,65,192,197,34,190,9,63,192,197,162,191,9,63,192,197,226,192,9,64,192,197,34,70,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,72,192,197,162,205,9,255,255,35,105,193,19,226,9,73,192,197,34,227,9,73,192,197,98,199,9,6,0,200,9,72,192,197,226,203,9,72,192,197,98,65,82,197,34,190,9,72,192,197,98,215,9,72,192,197,162,193,9,12,0,193,9,71,192,197,34,194,9,71,192,197,98,195,9,71,192,197,162,196,9,71,192,197,226,190,9,70,192,197,98,191,9,70,192,197,162,192,9,70,192,197,226,0,0,198,194,13,0,199,9,35,0,204,9,17,0,204,9,3,192,198,66,205,9,6,0,226,9,3,192,198,194,227,9,4,192,198,2,112,64,198,193,13,32,255,255,35,105,193,20,199,9,6,0,200,9,3,192,198,130,203,9,3,192,198,2,193,64,198,194,190,9,3,192,198,2,215,9,3,192,198,66,193,9,12,0,193,9,1,192,198,194,194,9,2,192,198,2,195,9,2,192,198,66,196,9,2,192,198,130,190,9,1,192,198,2,191,9,1,192,198,66,192,9,1,192,198,130,73,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,76,192,197,34,205,9,255,255,35,105,193,21,226,9,76,192,197,162,227,9,76,192,197,226,199,9,6,0,200,9,76,192,197,98,203,9,75,192,197,226,1,83,197,162,190,9,75,192,197,226,215,9,76,192,197,34,193,9,12,0,193,9,74,192,197,162,194,9,74,192,197,226,195,9,75,192,197,34,196,9,75,192,197,98,190,9,73,192,197,226,191,9,74,192,197,34,192,9,74,192,197,98,77,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,79,192,197,162,205,9,255,255,35,105,193,22,226,9,80,192,197,34,227,9,80,192,197,98,199,9,6,0,200,9,79,192,197,226,203,9,79,192,197,98,1,84,197,34,190,9,79,192,197,98,215,9,79,192,197,162,193,9,12,0,193,9,78,192,197,34,194,9,78,192,197,98,195,9,78,192,197,162,196,9,78,192,197,226,190,9,77,192,197,98,191,9,77,192,197,162,192,9,77,192,197,226,80,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,83,192,197,34,205,9,255,255,35,105,193,23,226,9,83,192,197,162,227,9,83,192,197,226,199,9,6,0,200,9,83,192,197,98,203,9,82,192,197,226,193,84,197,162,190,9,82,192,197,226,215,9,83,192,197,34,193,9,12,0,193,9,81,192,197,162,194,9,81,192,197,226,195,9,82,192,197,34,196,9,82,192,197,98,190,9,80,192,197,226,191,9,81,192,197,34,192,9,81,192,197,98,84,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,86,192,197,162,205,9,255,255,35,105,193,24,226,9,87,192,197,34,227,9,87,192,197,98,199,9,6,0,200,9,86,192,197,226,203,9,86,192,197,98,193,85,197,34,190,9,86,192,197,98,215,9,86,192,197,162,193,9,12,0,193,9,85,192,197,34,194,9,85,192,197,98,195,9,85,192,197,162,196,9,85,192,197,226,190,9,84,192,197,98,191,9,84,192,197,162,192,9,84,192,197,226,87,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,90,192,197,34,205,9,255,255,35,105,193,25,226,9,90,192,197,162,227,9,90,192,197,226,199,9,6,0,200,9,90,192,197,98,203,9,89,192,197,226,129,86,197,162,190,9,89,192,197,226,215,9,90,192,197,34,193,9,12,0,193,9,88,192,197,162,194,9,88,192,197,226,195,9,89,192,197,34,196,9,89,192,197,98,190,9,87,192,197,226,191,9,88,192,197,34,192,9,88,192,197,98,91,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,97,192,197,34,205,9,255,255,35,105,193,26,226,9,97,192,197,162,227,9,97,192,197,226,196,9,96,192,197,98,199,9,6,0,200,9,97,192,197,98,203,9,96,192,197,226,65,88,197,162,190,9,96,192,197,226,215,9,97,192,197,34,192,9,12,0,192,9,95,192,197,98,193,9,95,192,197,162,194,9,95,192,197,226,195,9,96,192,197,34,188,9,6,0,190,9,94,192,197,226,191,9,95,192,197,34,13,87,197,98,199,9,30,0,204,9,12,0,204,9,93,192,197,226,205,9,4,192,198,65,226,9,94,192,197,98,227,9,94,192,197,162,199,9,6,0,200,9,94,192,197,34,203,9,93,192,197,162,129,87,197,98,190,9,93,192,197,162,215,9,93,192,197,226,193,9,12,0,193,9,92,192,197,98,194,9,92,192,197,162,195,9,92,192,197,226,196,9,93,192,197,34,190,9,91,192,197,162,191,9,91,192,197,226,192,9,92,192,197,34,98,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,104,192,197,34,205,9,255,255,35,105,193,27,226,9,104,192,197,162,227,9,104,192,197,226,196,9,103,192,197,98,199,9,6,0,200,9,104,192,197,98,203,9,103,192,197,226,1,90,197,162,190,9,103,192,197,226,215,9,104,192,197,34,192,9,12,0,192,9,102,192,197,98,193,9,102,192,197,162,194,9,102,192,197,226,195,9,103,192,197,34,188,9,6,0,190,9,101,192,197,226,191,9,102,192,197,34,205,88,197,98,199,9,30,0,204,9,12,0,204,9,100,192,197,226,205,9,4,192,198,97,226,9,101,192,197,98,227,9,101,192,197,162,199,9,6,0,200,9,101,192,197,34,203,9,100,192,197,162,65,89,197,98,190,9,100,192,197,162,215,9,100,192,197,226,193,9,12,0,193,9,99,192,197,98,194,9,99,192,197,162,195,9,99,192,197,226,196,9,100,192,197,34,190,9,98,192,197,162,191,9,98,192,197,226,192,9,99,192,197,34,105,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,107,192,197,162,205,9,255,255,35,105,193,28,226,9,108,192,197,34,227,9,108,192,197,98,199,9,6,0,200,9,107,192,197,226,203,9,107,192,197,98,1,91,197,34,190,9,107,192,197,98,215,9,107,192,197,162,193,9,12,0,193,9,106,192,197,34,194,9,106,192,197,98,195,9,106,192,197,162,196,9,106,192,197,226,190,9,105,192,197,98,191,9,105,192,197,162,192,9,105,192,197,226,108,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,111,192,197,34,205,9,255,255,35,105,193,29,226,9,111,192,197,162,227,9,111,192,197,226,199,9,6,0,200,9,111,192,197,98,203,9,110,192,197,226,193,91,197,162,190,9,110,192,197,226,215,9,111,192,197,34,193,9,12,0,193,9,109,192,197,162,194,9,109,192,197,226,195,9,110,192,197,34,196,9,110,192,197,98,190,9,108,192,197,226,191,9,109,192,197,34,192,9,109,192,197,98,112,0,197,34,14,0,196,9,34,0,204,9,13,0,204,9,118,192,197,34,205,9,255,255,35,105,193,30,226,9,118,192,197,162,227,9,118,192,197,226,196,9,117,192,197,98,199,9,6,0,200,9,118,192,197,98,203,9,117,192,197,226,129,93,197,162,190,9,117,192,197,226,215,9,118,192,197,34,192,9,12,0,192,9,116,192,197,98,193,9,116,192,197,162,194,9,116,192,197,226,195,9,117,192,197,34,188,9,6,0,190,9,115,192,197,226,191,9,116,192,197,34,77,92,197,98,199,9,30,0,204,9,12,0,204,9,114,192,197,226,205,9,4,192,198,129,226,9,115,192,197,98,227,9,115,192,197,162,199,9,6,0,200,9,115,192,197,34,203,9,114,192,197,162,193,92,197,98,190,9,114,192,197,162,215,9,114,192,197,226,193,9,12,0,193,9,113,192,197,98,194,9,113,192,197,162,195,9,113,192,197,226,196,9,114,192,197,34,190,9,112,192,197,162,191,9,112,192,197,226,192,9,113,192,197,34,119,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,121,192,197,162,205,9,255,255,35,105,193,31,226,9,122,192,197,34,227,9,122,192,197,98,199,9,6,0,200,9,121,192,197,226,203,9,121,192,197,98,129,94,197,34,190,9,121,192,197,98,215,9,121,192,197,162,193,9,12,0,193,9,120,192,197,34,194,9,120,192,197,98,195,9,120,192,197,162,196,9,120,192,197,226,190,9,119,192,197,98,191,9,119,192,197,162,192,9,119,192,197,226,122,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,125,192,197,34,205,9,255,255,35,105,193,33,226,9,125,192,197,162,227,9,125,192,197,226,199,9,6,0,200,9,125,192,197,98,203,9,124,192,197,226,65,95,197,162,190,9,124,192,197,226,215,9,125,192,197,34,193,9,12,0,193,9,123,192,197,162,194,9,123,192,197,226,195,9,124,192,197,34,196,9,124,192,197,98,190,9,122,192,197,226,191,9,123,192,197,34,192,9,123,192,197,98,126,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,128,192,197,162,205,9,255,255,35,105,193,35,226,9,129,192,197,34,227,9,129,192,197,98,199,9,6,0,200,9,128,192,197,226,203,9,128,192,197,98,65,96,197,34,190,9,128,192,197,98,215,9,128,192,197,162,193,9,12,0,193,9,127,192,197,34,194,9,127,192,197,98,195,9,127,192,197,162,196,9,127,192,197,226,190,9,126,192,197,98,191,9,126,192,197,162,192,9,126,192,197,226,129,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,132,192,197,34,205,9,255,255,35,105,193,36,226,9,132,192,197,162,227,9,132,192,197,226,199,9,6,0,200,9,132,192,197,98,203,9,131,192,197,226,1,97,197,162,190,9,131,192,197,226,215,9,132,192,197,34,193,9,12,0,193,9,130,192,197,162,194,9,130,192,197,226,195,9,131,192,197,34,196,9,131,192,197,98,190,9,129,192,197,226,191,9,130,192,197,34,192,9,130,192,197,98,133,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,135,192,197,162,205,9,255,255,35,105,193,37,226,9,136,192,197,34,227,9,136,192,197,98,199,9,6,0,200,9,135,192,197,226,203,9,135,192,197,98,1,98,197,34,190,9,135,192,197,98,215,9,135,192,197,162,193,9,12,0,193,9,134,192,197,34,194,9,134,192,197,98,195,9,134,192,197,162,196,9,134,192,197,226,190,9,133,192,197,98,191,9,133,192,197,162,192,9,133,192,197,226,136,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,139,192,197,34,205,9,255,255,35,105,193,38,226,9,139,192,197,162,227,9,139,192,197,226,199,9,6,0,200,9,139,192,197,98,203,9,138,192,197,226,193,98,197,162,190,9,138,192,197,226,215,9,139,192,197,34,193,9,12,0,193,9,137,192,197,162,194,9,137,192,197,226,195,9,138,192,197,34,196,9,138,192,197,98,190,9,136,192,197,226,191,9,137,192,197,34,192,9,137,192,197,98,56,0,197,98,13,0,199,9,30,0,204,9,12,0,204,9,58,192,197,226,205,9,0,192,198,129,226,9,59,192,197,98,227,9,59,192,197,162,199,9,6,0,200,9,59,192,197,34,203,9,58,192,197,162,193,78,197,98,190,9,58,192,197,162,215,9,58,192,197,226,193,9,12,0,193,9,57,192,197,98,194,9,57,192,197,162,195,9,57,192,197,226,196,9,58,192,197,34,190,9,56,192,197,162,191,9,56,192,197,226,192,9,57,192,197,34,63,0,197,98,13,0,199,9,30,0,204,9,12,0,204,9,65,192,197,226,205,9,0,192,198,161,226,9,66,192,197,98,227,9,66,192,197,162,199,9,6,0,200,9,66,192,197,34,203,9,65,192,197,162,129,80,197,98,190,9,65,192,197,162,215,9,65,192,197,226,193,9,12,0,193,9,64,192,197,98,194,9,64,192,197,162,195,9,64,192,197,226,196,9,65,192,197,34,190,9,63,192,197,162,191,9,63,192,197,226,192,9,64,192,197,34,112,0,197,98,13,0,199,9,30,0,204,9,12,0,204,9,114,192,197,226,205,9,4,192,198,129,226,9,115,192,197,98,227,9,115,192,197,162,199,9,6,0,200,9,115,192,197,34,203,9,114,192,197,162,193,92,197,98,190,9,114,192,197,162,215,9,114,192,197,226,193,9,12,0,193,9,113,192,197,98,194,9,113,192,197,162,195,9,113,192,197,226,196,9,114,192,197,34,190,9,112,192,197,162,191,9,112,192,197,226,192,9,113,192,197,34,140,0,197,34,13,0,199,9,31,0,204,9,13,0,204,9,142,192,197,162,205,9,255,255,35,105,193,32,226,9,143,192,197,34,227,9,143,192,197,98,199,9,6,0,200,9,142,192,197,226,203,9,142,192,197,98,193,99,197,34,190,9,142,192,197,98,215,9,142,192,197,162,193,9,12,0,193,9,141,192,197,34,194,9,141,192,197,98,195,9,141,192,197,162,196,9,141,192,197,226,190,9,140,192,197,98,191,9,140,192,197,162,192,9,140,192,197,226,143,0,197,162,13,0,199,9,31,0,204,9,13,0,204,9,146,192,197,34,205,9,255,255,35,105,193,34,226,9,146,192,197,162,227,9,146,192,197,226,199,9,6,0,200,9,146,192,197,98,203,9,145,192,197,226,129,100,197,162,190,9,145,192,197,226,215,9,146,192,197,34,193,9,12,0,193,9,144,192,197,162,194,9,144,192,197,226,195,9,145,192,197,34,196,9,145,192,197,98,190,9,143,192,197,226,191,9,144,192,197,34,192,9,144,192,197,98,10,0,191,9,197,9,199,9,201,9,203,9,205,9,226,9,228,9,13,32,14,32,3,0,69,0,52,0,61,0,215,15,0,16,91,0,0,96,1,0,0,96,2,0,43,0,84,0,170,170,208,15,0,32,199,32,0,32,1,0,32,0,204,32,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,170,16,0,32,7,0,0,0,21,0,0,0,172,16,0,0,172,16,0,0,3,0,0,0,0,0,0,0,213,3,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,239,223,120,7,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,84,0,105,0,98,0,116,0,93,0,38,0,64,15,98,15,60,0,64,15,98,15,144,15,60,0,64,15,98,15,159,15,60,0,64,15,98,15,158,15,60,0,64,15,98,15,168,15,60,0,64,15,98,15,180,15,60,0,64,15,98,15,181,15,38,0,64,15,99,15,60,0,64,15,99,15,144,15,60,0,64,15,99,15,164,15,38,0,64,15,102,15,60,0,64,15,102,15,168,15,38,0,66,15,73,15,60,0,66,15,73,15,171,15,38,0,80,15,98,15,60,0,80,15,98,15,144,15,38,0,84,15,116,15,102,15,60,0,84,15,116,15,102,15,159,15,114,15,38,0,85,15,99,15,60,0,85,15,99,15,146,15,38,0,86,15,114,15,99,15,60,0,86,15,114,15,99,15,166,15,38,0,88,15,73,15,60,0,88,15,73,15,171,15,38,0,88,15,98,15,60,0,88,15,98,15,146,15,38,0,93,15,98,15,60,0,93,15,98,15,159,15,38,0,100,15,102,15,60,0,100,15,102,15,159,15,38,0,102,15,98,15,60,0,102,15,98,15,146,15,38,0,104,15,98,15,60,0,104,15,98,15,146,15,60,0,104,15,98,15,177,15,61,0,104,15,106,15,177,15,38,0,104,15,102,15,60,0,104,15,102,15,168,15,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,64,15,60,0,13,15,60,0,60,0,14,15,60,0,60,0,15,15,60,0,60,0,16,15,60,0,60,0,17,15,60,0,60,0,20,15,60,0,60,0,52,15,60,0,11,15,61,0,12,15,38,0,64,15,60,0,60,0,136,15,144,15,60,0,107,15,60,0,81,15,64,15,60,0,86,15,64,15,60,0,98,15,144,15,60,0,99,15,144,15,60,0,102,15,144,15,60,0,86,15,98,15,144,15,60,0,86,15,102,15,144,15,38,0,65,15,60,0,60,0,136,15,145,15,60,0,88,15,65,15,60,0,96,15,65,15,38,0,66,15,60,0,81,15,66,15,66,15,60,0,81,15,66,15,68,15,60,0,81,15,66,15,81,15,60,0,81,15,66,15,83,15,60,0,81,15,66,15,86,15,60,0,81,15,66,15,93,15,60,0,81,15,66,15,96,15,60,0,81,15,66,15,98,15,60,0,81,15,66,15,99,15,60,0,81,15,66,15,102,15,60,0,81,15,66,15,114,15,60,0,81,15,66,15,116,15,60,0,81,15,66,15,122,15,60,0,81,15,66,15,124,15,60,0,81,15,66,15,173,15,60,0,81,15,66,15,177,15,60,0,81,15,66,15,178,15,60,0,86,15,66,15,66,15,60,0,86,15,66,15,68,15,60,0,86,15,66,15,81,15,60,0,86,15,66,15,86,15,60,0,86,15,66,15,88,15,60,0,60,0,60,0,86,15,66,15,126,15,60,0,86,15,66,15,93,15,60,0,86,15,66,15,96,15,60,0,86,15,66,15,98,15,60,0,86,15,66,15,99,15,60,0,86,15,66,15,114,15,60,0,86,15,66,15,116,15,60,0,86,15,66,15,122,15,60,0,86,15,66,15,124,15,60,0,86,15,66,15,173,15,60,0,86,15,66,15,177,15,60,0,86,15,66,15,178,15,60,0,86,15,66,15,179,15,60,0,88,15,66,15,66,15,60,0,88,15,66,15,68,15,60,0,88,15,66,15,81,15,60,0,88,15,66,15,86,15,60,0,88,15,66,15,96,15,60,0,88,15,66,15,98,15,60,0,88,15,66,15,99,15,60,0,88,15,66,15,114,15,60,0,88,15,66,15,116,15,60,0,88,15,66,15,122,15,60,0,88,15,66,15,124,15,60,0,88,15,66,15,173,15,60,0,88,15,66,15,177,15,60,0,88,15,66,15,178,15,60,0,96,15,66,15,66,15,60,0,96,15,66,15,68,15,60,0,96,15,66,15,81,15,60,0,96,15,66,15,83,15,60,0,96,15,66,15,86,15,60,0,96,15,66,15,88,15,60,0,60,0,60,0,96,15,66,15,126,15,60,0,96,15,66,15,96,15,60,0,96,15,66,15,98,15,60,0,96,15,66,15,99,15,60,0,96,15,66,15,102,15,60,0,96,15,66,15,114,15,60,0,96,15,66,15,116,15,60,0,96,15,66,15,122,15,60,0,96,15,66,15,124,15,60,0,96,15,66,15,173,15,60,0,96,15,66,15,177,15,60,0,96,15,66,15,178,15,60,0,98,15,146,15,60,0,99,15,146,15,60,0,102,15,146,15,60,0,86,15,98,15,146,15,60,0,86,15,102,15,146,15,38,0,68,15,60,0,60,0,60,0,130,15,60,0,60,0,60,0,131,15,60,0,81,15,68,15,66,15,60,0,81,15,68,15,68,15,60,0,81,15,68,15,81,15,60,0,81,15,68,15,83,15,60,0,81,15,68,15,86,15,60,0,81,15,68,15,96,15,60,0,81,15,68,15,98,15,60,0,81,15,68,15,99,15,60,0,81,15,68,15,114,15,60,0,81,15,68,15,116,15,60,0,81,15,68,15,122,15,60,0,81,15,68,15,124,15,60,0,88,15,68,15,66,15,60,0,88,15,68,15,68,15,60,0,88,15,68,15,81,15,60,0,88,15,68,15,83,15,60,0,88,15,68,15,86,15,60,0,88,15,68,15,96,15,60,0,88,15,68,15,98,15,60,0,88,15,68,15,99,15,60,0,88,15,68,15,114,15,60,0,88,15,68,15,116,15,60,0,88,15,68,15,122,15,60,0,88,15,68,15,124,15,60,0,98,15,148,15,60,0,99,15,148,15,60,0,102,15,148,15,60,0,86,15,98,15,148,15,60,0,86,15,102,15,148,15,38,0,69,15,60,0,66,15,69,15,60,0,86,15,69,15,60,0,99,15,149,15,60,0,86,15,99,15,149,15,38,0,70,15,60,0,88,15,70,15,60,0,96,15,70,15,38,0,71,15,60,0,88,15,71,15,60,0,96,15,71,15,60,0,98,15,151,15,60,0,99,15,151,15,60,0,86,15,98,15,151,15,38,0,73,15,60,0,60,0,139,15,153,15,60,0,66,15,73,15,60,0,88,15,73,15,60,0,98,15,153,15,61,0,106,15,153,15,60,0,102,15,153,15,60,0,86,15,98,15,153,15,61,0,86,15,106,15,153,15,60,0,86,15,102,15,153,15,38,0,79,15,60,0,74,15,60,0,79,15,173,15,60,0,79,15,178,15,60,0,66,15,79,15,60,0,86,15,79,15,60,0,98,15,159,15,60,0,99,15,159,15,60,0,102,15,159,15,60,0,86,15,98,15,159,15,60,0,86,15,99,15,159,15,60,0,86,15,102,15,159,15,38,0,80,15,60,0,75,15,60,0,88,15,80,15,60,0,96,15,80,15,38,0,81,15,60,0,76,15,60,0,66,15,81,15,66,15,60,0,66,15,81,15,68,15,60,0,66,15,81,15,81,15,60,0,66,15,81,15,83,15,60,0,66,15,81,15,86,15,60,0,66,15,81,15,88,15,60,0,60,0,60,0,66,15,81,15,126,15,60,0,66,15,81,15,96,15,60,0,66,15,81,15,98,15,60,0,66,15,81,15,99,15,60,0,66,15,81,15,102,15,60,0,66,15,81,15,114,15,60,0,66,15,81,15,116,15,60,0,66,15,81,15,122,15,60,0,66,15,81,15,124,15,60,0,66,15,81,15,173,15,60,0,86,15,81,15,66,15,60,0,86,15,81,15,68,15,60,0,86,15,81,15,81,15,60,0,86,15,81,15,86,15,60,0,86,15,81,15,88,15,60,0,60,0,60,0,86,15,81,15,126,15,60,0,86,15,81,15,96,15,60,0,86,15,81,15,98,15,60,0,86,15,81,15,99,15,60,0,86,15,81,15,102,15,60,0,86,15,81,15,114,15,60,0,86,15,81,15,116,15,60,0,86,15,81,15,122,15,60,0,86,15,81,15,124,15,60,0,86,15,81,15,173,15,60,0,88,15,81,15,66,15,60,0,88,15,81,15,68,15,60,0,88,15,81,15,81,15,60,0,88,15,81,15,83,15,60,0,88,15,81,15,86,15,60,0,88,15,81,15,96,15,60,0,88,15,81,15,98,15,60,0,88,15,81,15,99,15,60,0,88,15,81,15,102,15,60,0,88,15,81,15,114,15,60,0,88,15,81,15,116,15,60,0,88,15,81,15,122,15,60,0,88,15,81,15,124,15,60,0,88,15,81,15,173,15,60,0,96,15,81,15,66,15,60,0,96,15,81,15,68,15,60,0,96,15,81,15,81,15,60,0,96,15,81,15,83,15,60,0,96,15,81,15,86,15,60,0,96,15,81,15,88,15,60,0,60,0,60,0,96,15,81,15,126,15,60,0,96,15,81,15,93,15,60,0,96,15,81,15,96,15,60,0,96,15,81,15,98,15,60,0,96,15,81,15,99,15,60,0,96,15,81,15,102,15,60,0,96,15,81,15,114,15,60,0,96,15,81,15,116,15,60,0,96,15,81,15,122,15,60,0,96,15,81,15,124,15,60,0,96,15,81,15,173,15,60,0,96,15,81,15,178,15,60,0,98,15,161,15,60,0,99,15,161,15,60,0,102,15,161,15,60,0,86,15,98,15,161,15,60,0,86,15,99,15,161,15,60,0,86,15,102,15,161,15,38,0,83,15,60,0,78,15,60,0,66,15,83,15,66,15,60,0,66,15,83,15,68,15,60,0,66,15,83,15,81,15,60,0,66,15,83,15,83,15,60,0,66,15,83,15,86,15,60,0,66,15,83,15,88,15,60,0,60,0,60,0,66,15,83,15,126,15,60,0,66,15,83,15,93,15,60,0,66,15,83,15,96,15,60,0,66,15,83,15,98,15,60,0,66,15,83,15,99,15,60,0,66,15,83,15,102,15,60,0,66,15,83,15,114,15,60,0,66,15,83,15,116,15,60,0,66,15,83,15,122,15,60,0,66,15,83,15,124,15,60,0,66,15,83,15,173,15,60,0,88,15,83,15,66,15,60,0,88,15,83,15,68,15,60,0,88,15,83,15,81,15,60,0,88,15,83,15,83,15,60,0,88,15,83,15,86,15,60,0,88,15,83,15,88,15,60,0,60,0,60,0,88,15,83,15,126,15,60,0,88,15,83,15,96,15,60,0,88,15,83,15,98,15,60,0,88,15,83,15,99,15,60,0,88,15,83,15,102,15,60,0,88,15,83,15,114,15,60,0,88,15,83,15,116,15,60,0,88,15,83,15,122,15,60,0,88,15,83,15,124,15,60,0,88,15,83,15,173,15,60,0,98,15,163,15,60,0,102,15,163,15,60,0,86,15,98,15,163,15,60,0,86,15,102,15,163,15,38,0,84,15,60,0,60,0,137,15,164,15,60,0,81,15,84,15,66,15,60,0,81,15,84,15,68,15,60,0,81,15,84,15,81,15,60,0,81,15,84,15,86,15,60,0,81,15,84,15,96,15,60,0,81,15,84,15,98,15,60,0,81,15,84,15,99,15,60,0,81,15,84,15,102,15,60,0,81,15,84,15,114,15,60,0,81,15,84,15,116,15,60,0,81,15,84,15,122,15,60,0,81,15,84,15,124,15,60,0,81,15,84,15,177,15,60,0,81,15,84,15,178,15,60,0,99,15,164,15,60,0,102,15,164,15,38,0,85,15,60,0,60,0,137,15,165,15,60,0,96,15,85,15,38,0,86,15,60,0,81,15,86,15,66,15,60,0,81,15,86,15,68,15,60,0,81,15,86,15,81,15,60,0,81,15,86,15,83,15,60,0,81,15,86,15,86,15,60,0,81,15,86,15,96,15,60,0,81,15,86,15,98,15,60,0,81,15,86,15,99,15,60,0,81,15,86,15,102,15,60,0,81,15,86,15,114,15,60,0,81,15,86,15,116,15,60,0,81,15,86,15,122,15,60,0,81,15,86,15,124,15,60,0,81,15,86,15,177,15,60,0,81,15,86,15,178,15,60,0,96,15,86,15,66,15,60,0,96,15,86,15,68,15,60,0,96,15,86,15,81,15,60,0,96,15,86,15,83,15,60,0,96,15,86,15,86,15,60,0,96,15,86,15,88,15,60,0,60,0,60,0,96,15,86,15,126,15,60,0,96,15,86,15,96,15,60,0,96,15,86,15,98,15,60,0,96,15,86,15,99,15,60,0,96,15,86,15,102,15,60,0,96,15,86,15,114,15,60,0,96,15,86,15,116,15,60,0,96,15,86,15,122,15,60,0,96,15,86,15,124,15,60,0,96,15,86,15,177,15,60,0,96,15,86,15,178,15,60,0,98,15,166,15,60,0,99,15,166,15,60,0,102,15,166,15,38,0,88,15,60,0,60,0,60,0,126,15,60,0,81,15,88,15,66,15,60,0,81,15,88,15,68,15,60,0,81,15,88,15,81,15,60,0,81,15,88,15,83,15,60,0,81,15,88,15,86,15,60,0,81,15,88,15,93,15,60,0,81,15,88,15,96,15,60,0,81,15,88,15,98,15,60,0,81,15,88,15,99,15,60,0,81,15,88,15,102,15,60,0,81,15,88,15,114,15,60,0,81,15,88,15,116,15,60,0,81,15,88,15,122,15,60,0,81,15,88,15,124,15,60,0,81,15,88,15,173,15,60,0,81,15,88,15,177,15,60,0,98,15,168,15,60,0,102,15,168,15,38,0,89,15,60,0,66,15,89,15,60,0,86,15,89,15,60,0,98,15,169,15,60,0,102,15,169,15,60,0,86,15,98,15,169,15,60,0,86,15,102,15,169,15,38,0,90,15,60,0,88,15,90,15,60,0,96,15,90,15,38,0,91,15,60,0,88,15,91,15,60,0,96,15,91,15,60,0,98,15,171,15,60,0,86,15,98,15,171,15,38,0,94,15,60,0,66,15,94,15,60,0,86,15,94,15,38,0,95,15,60,0,66,15,95,15,60,0,86,15,95,15,38,0,97,15,60,0,66,15,97,15,38,0,98,15,60,0,60,0,60,0,106,15,60,0,108,15,60,0,86,15,98,15,179,15,61,0,86,15,106,15,179,15,38,0,100,15,60,0,101,15,60,0,66,15,100,15,60,0,86,15,100,15,38,0,102,15,60,0,66,15,102,15,66,15,60,0,66,15,102,15,68,15,60,0,66,15,102,15,81,15,60,0,66,15,102,15,83,15,60,0,66,15,102,15,86,15,60,0,66,15,102,15,96,15,60,0,66,15,102,15,98,15,60,0,66,15,102,15,99,15,60,0,66,15,102,15,102,15,60,0,66,15,102,15,114,15,60,0,66,15,102,15,116,15,60,0,66,15,102,15,122,15,60,0,66,15,102,15,124,15,60,0,66,15,102,15,173,15,60,0,86,15,102,15,66,15,60,0,86,15,102,15,68,15,60,0,86,15,102,15,81,15,60,0,86,15,102,15,86,15,60,0,86,15,102,15,88,15,60,0,60,0,60,0,86,15,102,15,126,15,60,0,86,15,102,15,96,15,60,0,86,15,102,15,98,15,60,0,86,15,102,15,99,15,60,0,86,15,102,15,102,15,60,0,86,15,102,15,114,15,60,0,86,15,102,15,116,15,60,0,86,15,102,15,122,15,60,0,86,15,102,15,124,15,60,0,86,15,102,15,173,15,60,0,86,15,102,15,178,15,60,0,86,15,102,15,179,15,38,0,103,15,60,0,99,15,183,15,38,0,104,15,60,0,113,15,60,0,114,15,60,0,113,15,114,15,60,0,128,15,60,0,113,15,128,15,60,0,116,15,60,0,113,15,116,15,60,0,122,15,60,0,123,15,61,0,122,15,122,15,60,0,124,15,60,0,125,15,61,0,124,15,124,15,60,0,144,15,60,0,145,15,60,0,146,15,60,0,148,15,60,0,149,15,60,0,150,15,60,0,151,15,60,0,153,15,60,0,159,15,60,0,154,15,60,0,160,15,60,0,155,15,60,0,161,15,60,0,156,15,60,0,163,15,60,0,158,15,60,0,164,15,60,0,165,15,60,0,166,15,60,0,168,15,60,0,169,15,60,0,170,15,60,0,171,15,60,0,173,15,60,0,60,0,60,0,186,15,60,0,174,15,60,0,175,15,60,0,176,15,60,0,177,15,60,0,60,0,60,0,187,15,60,0,178,15,60,0,60,0,60,0,188,15,60,0,179,15,60,0,180,15,60,0,181,15,60,0,182,15,60,0,183,15,60,0,184,15,38,0,57,15,60,0,60,0,132,15,60,0,60,0,127,15,60,0,60,0,133,15,60,0,60,0,136,15,60,0,60,0,137,15,60,0,60,0,138,15,60,0,60,0,139,15,60,0,60,0,140,15,60,0,60,0,141,15,60,0,60,0,142,15,60,0,60,0,143,15,38,0,104,15,124,15,126,15,61,0,0,15,38,0,178,15,113,15,128,15,61,0,119,15,38,0,179,15,113,15,128,15,61,0,121,15,0,0,170,170,170,170,170,170,170,170,170,170,44,51,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,76,0,0,0,76,1,0,0,76,27,0,0,76,27,0,0,220,27,0,0,220,27,0,0,216,32,0,0,216,32,0,0,202,50,0,0,16,51,0,0,39,0,0,0,0,0,0,116,179,255,198,116,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,0,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,151,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,102,0,110,0,118,0,126,0,134,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,142,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,38,0,202,193,38,0,202,226,38,0,202,3,39,0,202,36,39,0,202,69,39,0,202,102,39,0,202,135,39,0,202,168,39,0,202,201,39,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,37,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,38,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,38,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,116,5,5,5,116,193,3,4,116,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,192,0,0,0,192,0,0,0,198,129,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,0,0,0,192,0,0,0,201,196,5,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,57,116,193,2,61,116,193,2,65,116,197,162,6,0,193,2,69,116,201,64,41,0,201,0,43,0,201,100,44,0,197,130,12,0,192,0,0,0,201,102,95,0,201,128,96,0,201,228,97,0,197,98,20,0,201,100,156,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,25,0,201,32,200,0,192,0,0,0,192,0,0,0,201,4,201,0,192,0,0,0,201,224,240,0,201,224,249,0,201,128,1,1,193,2,131,116,201,96,2,1,192,0,0,0,201,160,11,1,197,98,34,0,201,224,14,1,193,2,7,116,193,2,121,116,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,15,1,193,3,147,116,193,4,147,116,193,7,147,116,193,8,147,116,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,17,1,193,10,147,116,201,134,18,1,193,12,147,116,6,5,84,116,194,5,250,244,193,5,147,116,193,6,147,116,6,5,20,116,7,5,20,116,194,5,249,244,194,5,251,244,192,0,0,0,192,0,0,0,201,96,19,1,201,32,21,1,194,5,254,244,201,128,22,1,194,5,2,245,194,5,3,245,194,5,4,245,194,5,5,245,193,13,147,116,193,14,147,116,193,15,147,116,197,226,34,0,193,16,147,116,193,17,147,116,193,18,147,116,193,19,147,116,192,0,0,0,193,20,147,116,193,22,147,116,193,24,147,116,193,26,147,116,197,34,35,0,193,28,147,116,193,21,147,116,193,23,147,116,193,25,147,116,197,98,35,0,193,27,147,116,193,29,147,116,193,30,147,116,193,31,147,116,197,162,35,0,193,32,147,116,193,33,147,116,193,34,147,116,193,35,147,116,197,226,35,0,193,36,147,116,193,37,147,116,193,38,147,116,193,39,147,116,193,40,147,116,201,102,23,1,201,70,27,1,193,43,147,116,193,44,147,116,193,45,147,116,193,46,147,116,193,47,147,116,197,162,37,0,198,225,1,0,198,1,2,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,3,4,116,0,5,0,71,0,3,4,116,0,5,0,72,0,3,4,116,0,5,0,73,0,3,4,116,0,5,0,74,0,3,4,116,0,5,0,75,0,3,4,116,0,6,0,5,0,8,65,116,0,6,0,5,0,8,69,116,0,6,0,5,0,23,17,116,0,6,0,5,0,22,65,116,0,6,0,5,0,20,139,116,0,6,0,5,0,24,69,116,0,6,0,5,0,55,17,116,0,6,0,5,0,51,65,116,0,6,0,5,0,22,81,116,0,6,0,5,0,36,147,116,0,6,0,5,0,40,147,116,0,6,0,5,0,41,147,116,0,0,0,0,5,5,146,116,193,11,147,116,6,5,84,116,5,5,6,116,193,10,121,116,5,5,6,116,193,12,121,116,5,5,6,116,193,11,121,116,5,5,6,116,193,13,121,116,5,5,6,116,193,14,121,116,5,5,6,116,193,15,121,116,5,5,6,116,193,10,121,116,5,5,136,116,5,5,6,116,193,4,127,116,5,5,6,116,193,5,127,116,5,5,6,116,193,4,127,116,5,5,136,116,5,5,6,116,193,35,139,116,5,5,16,116,193,9,37,116,5,5,16,116,193,9,37,116,5,5,144,116,193,3,65,116,5,5,144,116,193,5,65,116,5,5,144,116,193,7,65,116,5,5,144,116,193,3,69,116,5,5,144,116,193,5,69,116,5,5,144,116,193,7,69,116,5,5,144,116,193,2,139,116,5,5,144,116,193,4,139,116,5,5,144,116,193,6,139,116,5,5,144,116,5,5,16,116,193,46,147,116,193,2,65,116,193,46,147,116,193,4,57,116,5,5,172,116,5,5,60,116,193,9,121,116,5,5,60,116,193,9,121,116,5,5,136,116,193,2,17,116,5,5,144,116,193,4,17,116,5,5,144,116,193,6,17,116,5,5,144,116,193,18,17,116,5,5,172,116,193,2,21,116,5,5,144,116,193,4,21,116,5,5,144,116,193,6,21,116,5,5,144,116,193,2,73,116,5,5,144,116,193,4,73,116,5,5,144,116,193,5,73,116,5,5,144,116,193,15,73,116,5,5,172,116,193,2,81,116,5,5,144,116,193,4,81,116,5,5,144,116,193,6,81,116,5,5,144,116,193,16,81,116,5,5,172,116,193,2,85,116,5,5,144,116,193,4,85,116,5,5,144,116,193,6,85,116,5,5,144,116,193,3,7,116,5,5,136,116,5,5,64,116,193,46,147,116,5,5,72,116,5,5,176,116,193,34,139,116,5,5,76,116,193,3,127,116,5,5,76,116,193,3,127,116,5,5,144,116,193,19,17,116,5,5,144,116,193,21,17,116,5,5,144,116,193,22,17,116,5,5,144,116,193,34,17,116,5,5,172,116,193,35,17,116,5,5,172,116,193,18,65,116,5,5,144,116,193,20,65,116,5,5,144,116,193,21,65,116,5,5,144,116,193,3,121,116,5,5,172,116,193,70,17,116,5,5,144,116,193,66,65,116,5,5,144,116,193,5,97,116,5,5,144,116,193,8,7,116,5,5,136,116,193,67,65,116,5,5,144,116,193,16,139,116,5,5,144,116,193,18,139,116,5,5,144,116,193,19,139,116,5,5,144,116,193,30,139,116,5,5,172,116,193,31,139,116,5,5,172,116,193,71,17,116,5,5,144,116,193,68,65,116,5,5,144,116,193,9,7,116,5,5,136,116,193,4,7,116,5,5,136,116,5,5,80,116,5,5,168,116,193,2,127,116,5,5,80,116,5,5,168,116,193,2,127,116,5,5,144,116,5,5,80,116,193,46,147,116,193,36,17,116,5,5,144,116,193,38,17,116,5,5,144,116,193,39,17,116,5,5,144,116,193,49,17,116,5,5,172,116,193,14,21,116,5,5,144,116,193,16,21,116,5,5,144,116,193,18,21,116,5,5,144,116,5,5,84,116,193,8,37,116,5,5,84,116,193,8,37,116,5,5,144,116,193,32,65,116,5,5,144,116,193,34,65,116,5,5,144,116,193,36,65,116,5,5,144,116,193,19,69,116,5,5,144,116,193,21,69,116,5,5,144,116,193,23,69,116,5,5,144,116,193,2,97,116,5,5,144,116,5,5,84,116,193,8,121,116,5,5,84,116,193,8,121,116,5,5,144,116,5,5,96,116,193,46,147,116,5,5,100,116,193,7,121,116,193,50,17,116,5,5,144,116,193,52,17,116,5,5,144,116,193,54,17,116,5,5,144,116,193,66,17,116,5,5,172,116,193,46,65,116,5,5,144,116,193,48,65,116,5,5,144,116,193,50,65,116,5,5,144,116,193,62,65,116,5,5,172,116,193,17,81,116,5,5,144,116,193,19,81,116,5,5,144,116,193,21,81,116,5,5,144,116,193,32,81,116,5,5,172,116,193,3,97,116,5,5,144,116,193,67,17,116,5,5,144,116,193,63,65,116,5,5,144,116,193,33,81,116,5,5,144,116,193,4,97,116,5,5,144,116,193,5,7,116,5,5,136,116,193,68,17,116,5,5,144,116,193,64,65,116,5,5,144,116,193,34,81,116,5,5,144,116,193,6,7,116,5,5,136,116,5,5,130,116,193,33,139,116,5,5,138,116,193,6,121,116,5,5,138,116,193,6,121,116,5,5,144,116,193,69,17,116,5,5,144,116,193,65,65,116,5,5,144,116,193,35,81,116,5,5,144,116,193,7,7,116,5,5,136,116,5,5,146,116,193,4,121,116,5,5,146,116,193,4,121,116,5,5,144,116,5,5,146,116,193,5,121,116,5,5,146,116,193,32,139,116,5,5,6,116,193,44,147,116,5,70,6,116,5,5,136,116,193,15,147,116,193,46,147,116,193,26,147,116,193,46,147,116,193,25,147,116,193,46,147,116,193,31,147,116,193,46,147,116,193,35,147,116,193,46,147,116,5,5,122,116,5,5,166,116,5,5,122,116,5,5,170,116,5,5,122,116,5,5,178,116,5,5,128,116,5,5,166,116,5,5,128,116,5,5,170,116,5,5,128,116,5,5,178,116,193,13,147,116,193,44,147,116,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,6,116,5,5,2,0,98,15,7,0,99,15,29,0,102,15,48,0,168,15,3,192,197,66,6,0,168,15,12,0,168,15,1,192,197,66,180,15,1,192,197,130,181,15,1,192,197,194,185,15,2,192,197,3,144,15,0,192,197,130,158,15,0,192,197,194,159,15,1,192,197,2,2,0,144,15,2,192,197,98,164,15,2,192,197,162,185,15,2,192,197,227,16,116,5,5,10,0,89,15,95,0,97,15,81,0,97,15,255,255,117,116,5,5,100,15,255,255,131,116,193,3,102,15,16,0,96,15,38,0,114,15,20,0,114,15,255,255,139,116,193,11,116,15,255,255,139,116,193,12,122,15,255,255,139,116,193,13,124,15,255,255,139,116,193,14,173,15,255,255,139,116,193,15,96,15,255,255,139,116,193,7,98,15,255,255,139,116,193,8,99,15,255,255,139,116,193,9,102,15,255,255,139,116,193,10,82,15,14,0,82,15,5,192,197,226,83,15,255,255,139,116,193,5,86,15,255,255,139,116,193,6,87,15,6,192,197,34,66,15,255,255,139,116,193,2,67,15,5,192,197,162,68,15,255,255,139,116,193,3,81,15,255,255,139,116,193,4,89,15,255,255,89,116,193,2,94,15,255,255,105,116,193,2,95,15,255,255,109,116,193,2,69,15,255,255,25,116,193,2,73,15,90,0,79,15,255,255,57,116,193,5,81,15,93,0,83,15,19,0,96,15,41,0,116,15,19,0,116,15,255,255,69,116,193,15,122,15,255,255,69,116,193,16,124,15,255,255,69,116,193,17,126,15,0,192,198,225,173,15,255,255,69,116,193,18,96,15,255,255,69,116,193,10,98,15,255,255,69,116,193,11,99,15,255,255,69,116,193,12,102,15,255,255,69,116,193,13,114,15,255,255,69,116,193,14,83,15,19,0,83,15,255,255,69,116,193,6,86,15,255,255,69,116,193,7,87,15,5,192,197,98,88,15,255,255,69,116,193,8,93,15,255,255,69,116,193,9,66,15,255,255,69,116,193,3,67,15,4,192,197,226,68,15,255,255,69,116,193,4,81,15,255,255,69,116,193,5,82,15,5,192,197,34,193,127,37,116,193,2,171,15,3,192,197,130,172,15,3,192,197,195,18,0,96,15,41,0,116,15,19,0,116,15,255,255,65,116,193,14,122,15,255,255,65,116,193,15,124,15,255,255,65,116,193,16,126,15,0,192,198,193,173,15,255,255,65,116,193,17,96,15,255,255,65,116,193,9,98,15,255,255,65,116,193,10,99,15,255,255,65,116,193,11,102,15,255,255,65,116,193,12,114,15,255,255,65,116,193,13,82,15,18,0,82,15,4,192,197,98,83,15,255,255,65,116,193,6,86,15,255,255,65,116,193,7,87,15,4,192,197,162,88,15,255,255,65,116,193,8,66,15,255,255,65,116,193,3,67,15,4,192,197,34,68,15,255,255,65,116,193,4,81,15,255,255,65,116,193,5,56,116,5,5,2,0,118,15,6,192,197,226,173,15,255,255,57,116,193,3,178,15,255,255,57,116,193,4,60,116,5,5,48,0,98,15,1,0,144,15,7,192,197,34,185,15,7,192,197,99,64,116,5,5,6,0,84,15,243,0,84,15,7,0,86,15,80,0,88,15,157,0,105,15,12,192,197,66,17,0,99,15,37,0,118,15,19,0,118,15,10,192,197,66,122,15,255,255,73,116,193,12,124,15,255,255,73,116,193,13,177,15,255,255,73,116,193,14,178,15,255,255,73,116,193,15,99,15,255,255,73,116,193,8,102,15,255,255,73,116,193,9,114,15,255,255,73,116,193,10,116,15,255,255,73,116,193,11,82,15,18,0,82,15,9,192,197,194,86,15,255,255,73,116,193,5,87,15,10,192,197,2,96,15,255,255,73,116,193,6,98,15,255,255,73,116,193,7,66,15,255,255,73,116,193,2,67,15,9,192,197,130,68,15,255,255,73,116,193,3,81,15,255,255,73,116,193,4,18,0,98,15,41,0,118,15,19,0,118,15,11,192,197,66,122,15,255,255,81,116,193,13,124,15,255,255,81,116,193,14,177,15,255,255,81,116,193,15,178,15,255,255,81,116,193,16,98,15,255,255,81,116,193,8,99,15,255,255,81,116,193,9,102,15,255,255,81,116,193,10,114,15,255,255,81,116,193,11,116,15,255,255,81,116,193,12,82,15,18,0,82,15,10,192,197,194,83,15,255,255,81,116,193,5,86,15,255,255,81,116,193,6,87,15,11,192,197,2,96,15,255,255,81,116,193,7,66,15,255,255,81,116,193,2,67,15,10,192,197,130,68,15,255,255,81,116,193,3,81,15,255,255,81,116,193,4,18,0,96,15,42,0,116,15,20,0,116,15,255,255,85,116,193,13,122,15,255,255,85,116,193,14,124,15,255,255,85,116,193,15,173,15,255,255,85,116,193,16,177,15,255,255,85,116,193,17,96,15,255,255,85,116,193,8,98,15,255,255,85,116,193,9,99,15,255,255,85,116,193,10,102,15,255,255,85,116,193,11,114,15,255,255,85,116,193,12,82,15,18,0,82,15,11,192,197,194,83,15,255,255,85,116,193,5,86,15,255,255,85,116,193,6,87,15,12,192,197,2,93,15,255,255,85,116,193,7,66,15,255,255,85,116,193,2,67,15,11,192,197,130,68,15,255,255,85,116,193,3,81,15,255,255,85,116,193,4,64,15,255,255,7,116,193,3,66,15,65,0,68,15,14,0,87,15,33,0,114,15,16,0,114,15,255,255,21,116,193,10,116,15,255,255,21,116,193,11,122,15,255,255,21,116,193,12,124,15,255,255,21,116,193,13,87,15,9,192,197,66,96,15,255,255,21,116,193,7,98,15,255,255,21,116,193,8,99,15,255,255,21,116,193,9,81,15,15,0,81,15,255,255,21,116,193,4,82,15,9,192,197,2,83,15,255,255,21,116,193,5,86,15,255,255,21,116,193,6,66,15,255,255,21,116,193,2,67,15,8,192,197,194,68,15,255,255,21,116,193,3,20,0,98,15,47,0,118,15,25,0,173,15,12,0,173,15,255,255,17,116,193,16,177,15,255,255,17,116,193,17,178,15,255,255,17,116,193,18,118,15,8,192,197,130,122,15,255,255,17,116,193,14,124,15,255,255,17,116,193,15,98,15,255,255,17,116,193,9,99,15,255,255,17,116,193,10,102,15,255,255,17,116,193,11,114,15,255,255,17,116,193,12,116,15,255,255,17,116,193,13,83,15,19,0,83,15,255,255,17,116,193,5,86,15,255,255,17,116,193,6,87,15,8,192,197,66,93,15,255,255,17,116,193,7,96,15,255,255,17,116,193,8,66,15,255,255,17,116,193,2,67,15,7,192,197,194,68,15,255,255,17,116,193,3,81,15,255,255,17,116,193,4,82,15,8,192,197,2,72,116,5,5,51,0,116,15,102,15,159,15,114,15,12,192,197,195,76,116,5,5,48,0,99,15,1,0,146,15,13,192,197,34,147,15,13,192,197,99,80,116,5,5,14,0,95,15,7,1,102,15,167,0,102,15,15,0,105,15,19,192,197,66,106,15,148,0,114,15,48,0,99,15,1,0,166,15,19,192,197,131,167,15,19,192,197,228,32,0,122,15,70,0,159,15,36,0,169,15,19,0,169,15,255,255,89,116,193,7,173,15,255,255,139,116,193,29,178,15,255,255,139,116,193,30,179,15,255,255,139,116,193,31,185,15,19,192,197,2,159,15,255,255,57,116,193,12,161,15,255,255,65,116,193,68,162,15,18,192,197,194,163,15,255,255,69,116,193,37,146,15,15,0,146,15,255,255,17,116,193,71,147,15,18,192,197,130,148,15,255,255,21,116,193,30,153,15,255,255,37,116,193,7,122,15,255,255,139,116,193,27,124,15,255,255,139,116,193,28,126,15,1,192,198,65,144,15,255,255,7,116,193,9,96,15,32,0,114,15,14,0,114,15,255,255,139,116,193,25,116,15,255,255,139,116,193,26,118,15,18,192,197,2,120,15,18,192,197,66,96,15,255,255,139,116,193,21,98,15,255,255,139,116,193,22,99,15,255,255,139,116,193,23,102,15,255,255,139,116,193,24,82,15,14,0,82,15,17,192,197,130,86,15,255,255,139,116,193,19,87,15,17,192,197,194,88,15,255,255,139,116,193,20,66,15,255,255,139,116,193,16,67,15,17,192,197,66,68,15,255,255,139,116,193,17,81,15,255,255,139,116,193,18,2,0,120,15,15,192,197,194,153,15,255,255,37,116,193,6,179,15,255,255,121,116,193,3,95,15,255,255,109,116,193,3,98,15,6,0,99,15,70,0,100,15,255,255,131,116,193,4,15,0,161,15,31,0,171,15,14,0,171,15,255,255,97,116,193,5,172,15,16,192,197,130,179,15,255,255,121,116,193,3,185,15,16,192,197,194,161,15,255,255,65,116,193,66,162,15,16,192,197,66,163,15,255,255,69,116,193,36,169,15,255,255,89,116,193,6,148,15,16,0,148,15,255,255,21,116,193,29,151,15,255,255,33,116,193,6,153,15,255,255,37,116,193,6,159,15,255,255,57,116,193,10,120,15,15,192,197,194,144,15,255,255,7,116,193,8,146,15,255,255,17,116,193,70,147,15,16,192,197,2,3,0,149,15,255,255,25,116,193,5,159,15,255,255,57,116,193,11,161,15,255,255,65,116,193,67,162,15,17,192,197,2,79,15,89,0,79,15,255,255,57,116,193,6,81,15,8,0,89,15,255,255,89,116,193,3,94,15,255,255,105,116,193,3,17,0,98,15,37,0,116,15,19,0,116,15,255,255,65,116,193,28,122,15,255,255,65,116,193,29,124,15,255,255,65,116,193,30,126,15,1,192,198,33,173,15,255,255,65,116,193,31,98,15,255,255,65,116,193,24,99,15,255,255,65,116,193,25,102,15,255,255,65,116,193,26,114,15,255,255,65,116,193,27,82,15,18,0,82,15,15,192,197,66,86,15,255,255,65,116,193,21,87,15,15,192,197,130,88,15,255,255,65,116,193,22,96,15,255,255,65,116,193,23,66,15,255,255,65,116,193,18,67,15,15,192,197,2,68,15,255,255,65,116,193,19,81,15,255,255,65,116,193,20,64,15,255,255,7,116,193,4,66,15,4,0,69,15,255,255,25,116,193,3,22,0,99,15,51,0,124,15,25,0,177,15,12,0,177,15,255,255,17,116,193,33,178,15,255,255,17,116,193,34,179,15,255,255,17,116,193,35,124,15,255,255,17,116,193,31,126,15,1,192,198,1,173,15,255,255,17,116,193,32,118,15,10,0,118,15,14,192,197,130,120,15,14,192,197,194,122,15,255,255,17,116,193,30,99,15,255,255,17,116,193,27,114,15,255,255,17,116,193,28,116,15,255,255,17,116,193,29,86,15,25,0,93,15,12,0,93,15,255,255,17,116,193,24,96,15,255,255,17,116,193,25,98,15,255,255,17,116,193,26,86,15,255,255,17,116,193,22,87,15,14,192,197,66,88,15,255,255,17,116,193,23,66,15,255,255,17,116,193,19,67,15,13,192,197,194,68,15,255,255,17,116,193,20,81,15,255,255,17,116,193,21,82,15,14,192,197,2,84,116,5,5,12,0,80,15,179,0,90,15,19,0,90,15,255,255,93,116,193,2,91,15,255,255,97,116,193,2,92,15,24,192,197,130,98,15,1,0,146,15,24,192,197,194,147,15,25,192,197,3,80,15,255,255,61,116,193,3,81,15,80,0,83,15,18,0,96,15,41,0,116,15,19,0,116,15,255,255,69,116,193,30,122,15,255,255,69,116,193,31,124,15,255,255,69,116,193,32,126,15,1,192,198,97,173,15,255,255,69,116,193,33,96,15,255,255,69,116,193,25,98,15,255,255,69,116,193,26,99,15,255,255,69,116,193,27,102,15,255,255,69,116,193,28,114,15,255,255,69,116,193,29,82,15,18,0,82,15,24,192,197,2,83,15,255,255,69,116,193,22,86,15,255,255,69,116,193,23,87,15,24,192,197,66,88,15,255,255,69,116,193,24,66,15,255,255,69,116,193,19,67,15,23,192,197,194,68,15,255,255,69,116,193,20,81,15,255,255,69,116,193,21,16,0,96,15,38,0,114,15,20,0,114,15,255,255,65,116,193,41,116,15,255,255,65,116,193,42,122,15,255,255,65,116,193,43,124,15,255,255,65,116,193,44,173,15,255,255,65,116,193,45,96,15,255,255,65,116,193,37,98,15,255,255,65,116,193,38,99,15,255,255,65,116,193,39,102,15,255,255,65,116,193,40,82,15,14,0,82,15,23,192,197,66,83,15,255,255,65,116,193,35,86,15,255,255,65,116,193,36,87,15,23,192,197,130,66,15,255,255,65,116,193,32,67,15,23,192,197,2,68,15,255,255,65,116,193,33,81,15,255,255,65,116,193,34,70,15,18,0,70,15,255,255,29,116,193,2,71,15,255,255,33,116,193,2,73,15,193,127,37,116,193,3,171,15,22,192,197,98,172,15,22,192,197,163,65,15,255,255,13,116,193,2,66,15,65,0,68,15,14,0,87,15,33,0,114,15,16,0,114,15,255,255,21,116,193,22,116,15,255,255,21,116,193,23,122,15,255,255,21,116,193,24,124,15,255,255,21,116,193,25,87,15,22,192,197,34,96,15,255,255,21,116,193,19,98,15,255,255,21,116,193,20,99,15,255,255,21,116,193,21,81,15,15,0,81,15,255,255,21,116,193,16,82,15,21,192,197,226,83,15,255,255,21,116,193,17,86,15,255,255,21,116,193,18,66,15,255,255,21,116,193,14,67,15,21,192,197,162,68,15,255,255,21,116,193,15,17,0,99,15,37,0,122,15,20,0,122,15,255,255,17,116,193,45,124,15,255,255,17,116,193,46,173,15,255,255,17,116,193,47,177,15,255,255,17,116,193,48,178,15,255,255,17,116,193,49,99,15,255,255,17,116,193,42,114,15,255,255,17,116,193,43,116,15,255,255,17,116,193,44,118,15,21,192,197,98,82,15,18,0,82,15,20,192,197,226,86,15,255,255,17,116,193,39,87,15,21,192,197,34,96,15,255,255,17,116,193,40,98,15,255,255,17,116,193,41,66,15,255,255,17,116,193,36,67,15,20,192,197,162,68,15,255,255,17,116,193,37,81,15,255,255,17,116,193,38,100,116,5,5,49,0,98,15,159,15,25,192,197,162,112,116,5,5,10,0,81,15,202,0,90,15,11,0,90,15,255,255,93,116,193,3,91,15,255,255,97,116,193,3,92,15,28,192,197,226,81,15,93,0,85,15,255,255,77,116,5,5,86,15,20,0,98,15,46,0,118,15,24,0,126,15,11,0,126,15,1,192,198,193,177,15,255,255,81,116,193,31,178,15,255,255,81,116,193,32,118,15,28,192,197,162,122,15,255,255,81,116,193,29,124,15,255,255,81,116,193,30,98,15,255,255,81,116,193,24,99,15,255,255,81,116,193,25,102,15,255,255,81,116,193,26,114,15,255,255,81,116,193,27,116,15,255,255,81,116,193,28,83,15,19,0,83,15,255,255,81,116,193,20,86,15,255,255,81,116,193,21,87,15,28,192,197,98,88,15,255,255,81,116,193,22,96,15,255,255,81,116,193,23,66,15,255,255,81,116,193,17,67,15,27,192,197,226,68,15,255,255,81,116,193,18,81,15,255,255,81,116,193,19,82,15,28,192,197,34,21,0,98,15,46,0,118,15,24,0,126,15,11,0,126,15,1,192,198,161,173,15,255,255,65,116,193,61,178,15,255,255,65,116,193,62,118,15,27,192,197,162,122,15,255,255,65,116,193,59,124,15,255,255,65,116,193,60,98,15,255,255,65,116,193,54,99,15,255,255,65,116,193,55,102,15,255,255,65,116,193,56,114,15,255,255,65,116,193,57,116,15,255,255,65,116,193,58,83,15,25,0,88,15,12,0,88,15,255,255,65,116,193,51,93,15,255,255,65,116,193,52,96,15,255,255,65,116,193,53,83,15,255,255,65,116,193,49,86,15,255,255,65,116,193,50,87,15,27,192,197,98,66,15,255,255,65,116,193,46,67,15,26,192,197,226,68,15,255,255,65,116,193,47,81,15,255,255,65,116,193,48,82,15,27,192,197,34,65,15,255,255,13,116,193,3,66,15,12,0,70,15,255,255,29,116,193,3,71,15,255,255,33,116,193,3,80,15,255,255,61,116,193,4,21,0,99,15,46,0,122,15,25,0,173,15,12,0,173,15,255,255,17,116,193,64,177,15,255,255,17,116,193,65,178,15,255,255,17,116,193,66,122,15,255,255,17,116,193,62,124,15,255,255,17,116,193,63,126,15,1,192,198,129,99,15,255,255,17,116,193,58,102,15,255,255,17,116,193,59,114,15,255,255,17,116,193,60,116,15,255,255,17,116,193,61,118,15,26,192,197,162,83,15,25,0,88,15,12,0,88,15,255,255,17,116,193,55,96,15,255,255,17,116,193,56,98,15,255,255,17,116,193,57,83,15,255,255,17,116,193,53,86,15,255,255,17,116,193,54,87,15,26,192,197,98,66,15,255,255,17,116,193,50,67,15,25,192,197,226,68,15,255,255,17,116,193,51,81,15,255,255,17,116,193,52,82,15,26,192,197,34,120,116,5,5,16,0,162,15,34,0,168,15,18,0,168,15,255,255,85,116,193,18,169,15,255,255,89,116,193,4,171,15,255,255,97,116,193,4,172,15,29,192,197,226,185,15,30,192,197,34,162,15,29,192,197,98,163,15,255,255,69,116,193,34,166,15,255,255,81,116,193,33,167,15,29,192,197,162,151,15,16,0,151,15,255,255,33,116,193,4,153,15,255,255,37,116,193,4,159,15,255,255,57,116,193,7,161,15,255,255,65,116,193,63,144,15,255,255,7,116,193,5,146,15,255,255,17,116,193,67,147,15,29,192,197,34,148,15,255,255,21,116,193,26,126,116,5,5,13,0,161,15,27,0,166,15,14,0,166,15,255,255,81,116,193,34,167,15,30,192,197,226,183,15,255,255,143,116,5,5,185,15,31,192,197,34,161,15,255,255,65,116,193,64,162,15,30,192,197,162,164,15,255,255,73,116,193,16,148,15,16,0,148,15,255,255,21,116,193,27,149,15,255,255,25,116,193,4,151,15,255,255,33,116,193,5,159,15,255,255,57,116,193,8,144,15,255,255,7,116,193,6,146,15,255,255,17,116,193,68,147,15,30,192,197,98,130,116,5,5,49,0,102,15,159,15,31,192,197,98,138,116,5,5,15,0,162,15,31,0,167,15,14,0,167,15,32,192,197,194,168,15,255,255,85,116,193,19,169,15,255,255,89,116,193,5,185,15,33,192,197,2,162,15,32,192,197,130,163,15,255,255,69,116,193,35,164,15,255,255,73,116,193,17,166,15,255,255,81,116,193,35,148,15,16,0,148,15,255,255,21,116,193,28,153,15,255,255,37,116,193,5,159,15,255,255,57,116,193,9,161,15,255,255,65,116,193,65,98,15,11,0,144,15,255,255,7,116,193,7,146,15,255,255,17,116,193,69,147,15,32,192,197,66,1,0,146,15,31,192,197,162,147,15,31,192,197,227,146,116,5,5,2,0,98,15,7,0,102,15,15,0,106,15,48,0,177,15,33,192,197,226,2,0,146,15,33,192,197,66,147,15,33,192,197,131,177,15,33,192,197,226,48,0,168,15,34,192,197,34,120,116,6,5,48,0,153,15,255,255,37,116,193,4,147,116,193,2,2,0,114,15,255,255,147,116,193,4,116,15,255,255,147,116,193,8,128,15,255,255,147,116,193,6,147,116,193,9,48,0,122,15,255,255,147,116,193,10,147,116,193,11,48,0,124,15,255,255,147,116,193,12,252,244,194,5,2,0,144,15,255,255,6,116,5,70,145,15,255,255,12,116,5,70,185,15,34,192,197,162,253,244,194,5,1,0,164,15,255,255,72,116,5,70,165,15,255,255,76,116,5,70,255,244,194,5,48,0,153,15,255,255,36,116,5,70,147,116,193,41,4,0,113,15,14,0,115,15,36,192,197,98,117,15,36,192,197,162,128,15,255,255,180,116,5,5,129,15,255,255,182,116,5,5,66,73,197,34,114,15,36,192,197,98,116,15,36,192,197,162,128,15,255,255,182,116,5,5,147,116,193,42,4,0,113,15,14,0,115,15,37,192,197,34,117,15,37,192,197,98,128,15,255,255,184,116,5,5,129,15,255,255,186,116,5,5,66,73,197,226,114,15,37,192,197,34,116,15,37,192,197,98,128,15,255,255,186,116,5,5,34,0,65,15,72,15,73,15,74,15,79,15,101,15,102,15,103,15,105,15,107,15,118,15,119,15,120,15,121,15,126,15,127,15,144,15,150,15,151,15,152,15,153,15,154,15,158,15,160,15,161,15,170,15,171,15,174,15,177,15,182,15,183,15,184,15,185,15,186,15,3,0,69,0,52,0,61,0,215,3,0,16,4,0,0,96,1,0,0,96,1,0,43,0,163,16,0,32,1,0,32,0,168,16,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,2,8,0,32,7,0,0,0,21,0,0,0,4,8,0,0,4,8,0,0,3,0,0,0,0,0,0,0,53,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,58,220,38,0,67,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,60,0,99,0,39,0,39,0,104,0,61,0,99,0,188,2,104,0,61,0,99,0,25,32,104,0,60,0,60,0,60,0,67,0,39,0,39,0,104,0,61,0,67,0,188,2,104,0,61,0,67,0,25,32,104,0,60,0,60,0,60,0,67,0,39,0,39,0,72,0,61,0,67,0,188,2,72,0,61,0,67,0,25,32,72,0,0,0,170,170,170,170,170,170,170,170,12,31,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,23,0,0,100,23,0,0,100,23,0,0,100,23,0,0,24,25,0,0,24,25,0,0,230,26,0,0,12,27,0,0,244,30,0,0,50,105,114,84,1,0,64,8,105,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,12,0,202,129,12,0,202,162,12,0,202,195,12,0,202,228,12,0,202,5,13,0,202,38,13,0,202,71,13,0,202,104,13,0,202,137,13,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,192,17,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,11,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,11,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,12,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,71,5,3,47,5,142,0,0,70,5,3,47,5,142,0,0,71,5,3,47,5,144,0,0,70,5,3,47,5,144,0,0,71,5,3,47,5,156,0,0,70,5,3,47,5,156,0,0,71,5,3,47,5,196,0,0,70,5,3,47,5,196,0,0,71,5,3,47,5,150,0,0,70,5,3,47,5,150,0,0,71,5,3,47,5,160,0,0,70,5,3,47,5,160,0,0,71,5,3,47,5,206,0,0,70,5,3,47,5,206,0,0,70,5,3,47,5,210,0,0,135,5,2,47,5,142,0,0,70,5,2,47,5,142,0,0,135,5,2,47,5,144,0,0,70,5,2,47,5,144,0,0,135,5,2,47,5,156,0,0,70,5,2,47,5,156,0,0,135,5,2,47,5,196,0,0,70,5,2,47,5,196,0,0,135,5,2,47,5,150,0,0,70,5,2,47,5,150,0,0,135,5,2,47,5,160,0,0,70,5,2,47,5,160,0,0,135,5,2,47,5,206,0,0,70,5,2,47,5,206,0,0,70,5,2,47,5,210,0,0,5,5,3,47,5,142,0,0,5,5,3,47,5,144,0,0,5,5,3,47,5,156,0,0,5,5,3,47,5,196,0,0,5,5,3,47,5,150,0,0,5,5,3,47,5,160,0,0,5,5,3,47,5,206,0,0,5,5,3,47,5,210,0,0,5,5,2,47,5,142,0,0,5,5,2,47,5,144,0,0,5,5,2,47,5,156,0,0,5,5,2,47,5,196,0,0,5,5,2,47,5,150,0,0,5,5,2,47,5,160,0,0,5,5,2,47,5,206,0,0,5,5,2,47,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,19,0,36,30,50,0,41,30,33,0,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,25,32,16,0,36,30,94,0,40,30,80,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,40,30,6,192,197,98,30,2,14,0,30,2,4,192,197,98,31,2,4,192,197,162,188,2,20,0,34,30,4,192,197,226,35,30,5,192,197,34,39,0,12,0,72,0,2,239,135,5,104,0,2,239,70,5,36,1,3,192,197,226,37,1,4,192,197,34,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,3,239,71,5,104,0,3,239,70,5,36,1,197,162,37,1,0,192,197,98,0,46,5,5,11,0,37,30,36,0,43,30,25,0,43,30,11,192,197,34,150,30,11,192,197,98,25,32,8,0,37,30,60,0,37,30,8,192,197,98,39,30,8,192,197,162,41,30,8,192,197,226,43,30,9,192,197,34,150,30,9,192,197,98,37,30,10,192,197,98,39,30,10,192,197,162,41,30,10,192,197,226,31,2,8,0,31,2,9,192,197,226,188,2,11,0,35,30,10,192,197,34,39,0,6,0,104,0,2,239,5,5,37,1,9,192,197,162,8,0,37,30,15,0,37,30,8,192,197,98,39,30,8,192,197,162,41,30,8,192,197,226,43,30,9,192,197,34,150,30,9,192,197,98,104,0,3,239,5,5,37,1,7,192,197,162,31,2,7,192,197,226,35,30,8,192,197,34,18,0,39,0,40,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,188,2,189,2,34,30,44,30,150,30,151,30,25,32,26,32,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,185,84,185,88,186,92,186,100,185,104,185,108,185,112,186,116,185,124,185,128,185,132,185,140,186,144,185,148,185,156,185,160,185,164,185,168,185,172,185,176,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,38,4,168,72,168,76,168,80,168,84,168,88,168,92,168,100,168,104,168,108,168,112,168,116,168,124,168,128,168,132,168,140,168,144,168,148,168,156,168,160,168,164,168,168,168,172,168,176,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,77,154,77,250,77,90,78,186,93,154,93,250,93,90,94,217,72,154,118,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,157,153,157,249,157,89,158,153,173,185,180,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,77,136,77,232,77,72,78,168,93,136,93,232,93,72,94,200,72,136,118,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,157,136,157,232,157,72,158,136,173,168,180,72,174,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,136,153,109,136,109,249,110,232,110,25,110,8,110,121,111,104,111,89,111,72,111,154,117,136,117,250,118,232,118,26,118,8,118,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,250,146,232,146,26,146,8,146,249,150,232,150,25,150,8,150,185,152,168,152,153,158,136,158,57,159,40,159,217,157,200,157,57,158,40,158,121,158,104,158,25,159,8,159,249,165,232,165,249,173,232,173,89,174,153,177,136,177,185,178,168,178,25,178,8,178,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,144,169,144,200,56,169,76,187,92,187,100,169,92,169,100,169,184,169,116,217,124,187,76,200,124,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,39,2,72,4,186,68,104,4,177,68,36,5,250,69,37,5,241,69,153,3,255,5,168,64,39,2,104,4,168,68,37,5,232,69,153,3,255,1,3,0,69,0,52,0,61,0,55,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,251,7,0,32,1,0,32,0,0,8,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,132,19,0,32,7,0,0,0,23,0,0,0,134,19,0,0,134,19,0,0,3,0,0,0,0,0,0,0,43,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,104,0,114,0,93,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,104,0,114,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,0,0,252,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,113,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,180,35,0,0,180,35,0,0,180,35,0,0,180,35,0,0,172,38,0,0,172,38,0,0,198,40,0,0,228,40,0,0,228,40,0,0,50,105,114,84,1,0,64,8,46,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,122,0,130,0,136,0,144,0,152,0,160,0,48,0,56,0,159,0,167,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,184,0,192,0,48,0,48,0,48,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,0,48,0,48,0,216,0,48,0,222,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,233,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,240,0,48,0,48,0,248,0,252,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,182,0,48,0,48,0,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,15,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,23,1,48,0,48,0,29,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,232,1,32,2,96,2,192,0,124,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,22,0,202,161,22,0,202,194,22,0,202,227,22,0,202,4,23,0,202,37,23,0,202,70,23,0,202,103,23,0,202,136,23,0,202,169,23,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,198,0,0,201,68,2,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,224,4,0,156,5,0,66,201,64,7,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,198,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,166,10,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,134,11,0,201,4,13,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,128,14,0,5,5,0,66,201,32,16,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,198,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,166,18,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,13,0,201,134,19,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,13,0,201,6,21,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,22,0,201,70,23,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,24,0,201,198,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,25,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,27,0,5,71,238,102,201,70,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,5,0,192,0,0,0,197,98,5,0,192,0,0,0,192,0,0,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,197,34,6,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,197,226,6,0,197,35,7,0,197,130,7,0,192,0,0,0,192,0,0,0,197,194,7,0,197,3,8,0,197,98,8,0,192,0,0,0,192,0,0,0,197,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,29,0,201,230,29,0,192,0,0,0,192,0,0,0,197,226,11,0,197,34,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,30,0,201,102,31,0,201,38,32,0,201,230,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,162,4,0,5,5,10,121,5,5,12,121,197,226,4,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,197,162,5,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,5,0,5,5,107,121,197,34,6,0,5,5,111,121,197,98,6,0,5,5,115,121,197,162,6,0,5,5,119,121,197,226,6,0,197,35,7,0,197,130,7,0,5,5,127,121,5,5,129,121,197,194,7,0,197,3,8,0,197,98,8,0,5,5,137,121,5,5,139,121,197,162,8,0,5,5,143,121,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,78,196,196,48,0,12,3,11,192,197,98,5,78,196,196,48,0,12,3,11,192,197,162,156,92,196,196,48,0,12,3,12,192,197,98,5,92,196,196,48,0,12,3,12,192,197,162,156,92,196,210,48,0,12,3,12,192,197,226,5,92,196,210,48,0,12,3,13,192,197,34,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,3,0,67,0,50,0,59,0,43,0,0,16,16,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,28,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,188,28,0,0,188,28,0,0,188,28,0,0,188,28,0,0,208,29,0,0,208,29,0,0,164,31,0,0,194,31,0,0,4,36,0,0,25,0,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,94,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,174,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,145,0,48,0,48,0,153,0,157,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,139,0,48,0,48,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,7,0,202,129,7,0,202,162,7,0,202,195,7,0,202,228,7,0,202,5,8,0,202,38,8,0,202,71,8,0,202,104,8,0,202,137,8,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,201,132,1,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,32,4,0,156,5,0,66,201,128,6,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,6,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,230,9,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,198,10,0,201,68,12,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,192,13,0,5,5,0,66,201,96,15,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,6,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,230,17,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,6,0,201,198,18,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,6,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,7,0,201,70,20,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,21,0,201,134,22,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,23,0,201,6,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,24,0,201,134,25,0,192,0,0,0,192,0,0,0,197,34,5,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,26,0,201,6,27,0,201,198,27,0,201,134,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,156,78,196,196,48,0,12,3,4,192,197,162,5,78,196,196,48,0,12,3,4,192,197,226,156,92,196,196,48,0,12,3,5,192,197,162,5,92,196,196,48,0,12,3,5,192,197,226,156,92,196,210,48,0,12,3,6,192,197,34,5,92,196,210,48,0,12,3,6,192,197,98,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,28,4,186,88,185,92,185,96,185,100,186,104,186,112,185,116,36,4,185,128,46,4,185,144,185,148,185,152,185,160,56,4,185,172,185,180,185,184,185,188,185,192,185,196,58,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,60,4,62,4,168,88,168,92,168,96,168,100,168,104,168,112,168,116,67,4,168,128,73,4,168,144,168,148,168,152,168,160,79,4,168,172,168,180,168,184,168,188,168,192,168,196,81,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,144,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,83,4,186,89,154,89,250,89,90,90,186,105,154,105,250,105,90,106,217,76,154,134,185,145,153,145,249,145,153,146,89,146,136,14,217,146,185,181,153,181,249,181,89,182,153,197,185,208,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,85,4,168,89,136,89,232,89,72,90,168,105,136,105,232,105,72,106,200,76,136,134,168,145,136,145,232,145,136,146,72,146,128,14,200,146,168,181,136,181,232,181,72,182,136,197,168,208,72,198,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,185,84,168,84,58,91,40,91,218,89,200,89,186,90,168,90,26,91,8,91,26,90,8,90,249,97,232,97,217,97,200,97,185,98,168,98,249,98,232,98,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,140,168,140,57,147,40,147,217,145,200,145,121,146,104,146,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,154,165,136,165,250,165,232,165,87,4,89,4,185,168,168,168,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,249,197,232,197,89,198,153,201,136,201,185,202,168,202,185,204,168,204,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,88,200,164,169,164,200,56,169,88,187,104,187,112,169,104,169,112,169,212,169,132,217,144,187,88,200,144,169,88,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,76,90,2,122,2,125,5,186,80,126,5,177,80,255,5,185,120,74,4,186,124,106,4,177,124,52,5,250,125,53,5,241,125,255,5,186,132,74,4,186,136,106,4,177,136,52,5,250,137,53,5,241,137,255,5,186,164,255,5,185,200,255,5,168,64,255,5,168,76,122,2,126,5,168,80,255,5,168,120,106,4,168,124,53,5,232,125,255,5,168,132,106,4,168,136,53,5,232,137,255,5,168,164,255,5,168,200,255,5,249,66,255,5,232,66,255,5,250,166,255,5,232,166,255,1,3,0,67,0,50,0,59,0,115,10,0,16,4,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,107,10,0,32,123,19,0,32,1,0,32,0,128,19,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,152,6,0,32,7,0,0,0,21,0,0,0,154,6,0,0,154,6,0,0,3,0,0,0,0,0,0,0,29,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,115,0,114,0,93,0,0,0,170,170,170,170,170,170,170,170,196,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,56,0,0,0,56,1,0,0,88,25,0,0,88,25,0,0,88,25,0,0,88,25,0,0,172,25,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,174,5,70,97,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,97,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,174,5,70,97,5,140,0,0,5,5,70,97,5,140,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,145,6,0,32,1,0,32,0,150,6,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,43,9,0,32,7,0,0,0,21,0,0,0,45,9,0,0,45,9,0,0,3,0,0,0,0,0,0,0,43,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,170,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,38,0,76,0,60,0,64,1,61,0,108,0,183,0,60,0,60,0,60,0,63,1,61,0,76,0,183,0,0,0,170,170,224,35,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,61,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,36,33,0,0,36,33,0,0,36,33,0,0,36,33,0,0,76,35,0,0,76,35,0,0,190,35,0,0,200,35,0,0,200,35,0,0,50,105,114,84,1,0,64,8,5,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,100,0,108,0,114,0,122,0,130,0,138,0,48,0,56,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,162,0,170,0,48,0,48,0,48,0,178,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,186,0,48,0,48,0,194,0,48,0,200,0,208,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,211,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,219,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,222,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,160,0,48,0,48,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,238,0,48,0,48,0,244,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,144,1,200,1,8,2,192,0,36,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,16,0,202,33,16,0,202,66,16,0,202,99,16,0,202,132,16,0,202,165,16,0,202,198,16,0,202,231,16,0,202,8,17,0,202,41,17,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,192,0,0,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,32,2,0,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,6,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,65,5,5,2,65,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,3,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,5,0,5,71,238,102,201,70,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,197,162,1,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,197,163,2,0,197,2,3,0,192,0,0,0,192,0,0,0,197,66,3,0,197,131,3,0,197,226,3,0,192,0,0,0,192,0,0,0,197,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,0,0,5,5,10,121,5,5,12,121,197,98,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,98,1,0,5,5,107,121,197,162,1,0,5,5,111,121,197,226,1,0,5,5,115,121,197,34,2,0,5,5,119,121,197,98,2,0,197,163,2,0,197,2,3,0,5,5,127,121,5,5,129,121,197,66,3,0,197,131,3,0,197,226,3,0,5,5,137,121,5,5,139,121,197,34,4,0,5,5,143,121,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,64,156,5,1,0,183,0,255,255,2,65,134,5,135,3,255,255,2,65,134,5,0,64,5,5,1,0,183,0,255,255,2,65,5,5,135,3,255,255,2,65,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,4,0,183,0,184,0,135,3,136,3,3,0,67,0,50,0,59,0,43,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,36,9,0,32,1,0,32,0,41,9,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,3,8,0,32,7,0,0,0,21,0,0,0,5,8,0,0,5,8,0,0,3,0,0,0,0,0,0,0,34,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,78,0,60,0,241,0,60,0,60,0,60,0,209,0,60,0,110,0,103,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,0,0,170,170,170,170,94,31,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,24,0,0,212,24,0,0,212,24,0,0,212,24,0,0,0,26,0,0,0,26,0,0,32,27,0,0,58,27,0,0,70,31,0,0,50,105,114,84,1,0,64,8,128,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,8,0,202,65,8,0,202,98,8,0,202,131,8,0,202,164,8,0,202,197,8,0,202,230,8,0,202,7,9,0,202,40,9,0,202,73,9,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,4,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,196,7,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,7,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,12,0,201,198,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,13,0,201,70,14,0,201,6,15,0,201,198,15,0,201,134,16,0,201,70,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,3,69,5,142,0,0,70,5,3,69,5,142,0,0,135,5,3,69,5,140,0,0,70,5,3,69,5,140,0,0,135,5,3,69,5,156,0,0,70,5,3,69,5,156,0,0,135,5,3,69,5,160,0,0,70,5,3,69,5,160,0,0,135,5,3,69,5,144,0,0,70,5,3,69,5,144,0,0,135,5,3,69,5,136,0,0,70,5,3,69,5,136,0,0,135,5,3,69,5,164,0,0,70,5,3,69,5,164,0,0,5,5,3,69,5,142,0,0,5,5,3,69,5,140,0,0,5,5,3,69,5,156,0,0,5,5,3,69,5,160,0,0,5,5,3,69,5,144,0,0,5,5,3,69,5,136,0,0,5,5,3,69,5,164,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,68,156,5,16,0,34,1,30,0,244,1,16,0,244,1,2,192,197,162,245,1,2,192,197,226,3,3,255,255,2,69,134,5,32,30,3,192,197,34,33,30,3,192,197,98,34,1,1,192,197,162,35,1,1,192,197,226,230,1,2,192,197,34,231,1,2,192,197,98,30,1,12,0,30,1,0,192,197,162,31,1,0,192,197,226,32,1,1,192,197,34,33,1,1,192,197,98,71,0,255,255,3,69,135,5,103,0,255,255,3,69,70,5,28,1,197,162,29,1,0,192,197,98,0,68,5,5,8,0,35,1,16,0,35,1,4,192,197,98,231,1,4,192,197,162,245,1,4,192,197,226,3,3,255,255,2,69,5,5,33,30,5,192,197,34,103,0,255,255,3,69,5,5,29,1,3,192,197,162,31,1,3,192,197,226,33,1,4,192,197,34,156,68,196,160,48,0,3,3,5,192,197,98,5,68,196,160,48,0,3,3,5,192,197,162,156,68,196,196,48,0,3,3,5,192,197,226,5,68,196,196,48,0,3,3,6,192,197,34,156,68,196,210,48,0,3,3,6,192,197,98,5,68,196,210,48,0,3,3,6,192,197,162,156,68,196,204,48,0,3,3,6,192,197,226,5,68,196,204,48,0,3,3,7,192,197,34,12,0,71,0,72,0,103,0,104,0,28,1,36,1,230,1,232,1,244,1,246,1,32,30,34,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,26,4,185,128,185,132,185,136,185,144,186,148,185,152,185,160,185,164,185,168,185,172,185,176,185,180,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,48,4,168,128,168,132,168,136,168,144,168,148,168,152,168,160,168,164,168,168,168,172,168,176,168,180,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,128,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,185,116,185,129,153,129,249,129,153,130,89,130,136,14,217,130,185,161,153,161,249,161,89,162,153,177,185,184,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,168,116,168,129,136,129,232,129,136,130,72,130,128,14,200,130,168,161,136,161,232,161,72,162,136,177,168,184,72,178,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,140,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,60,4,62,4,26,114,8,114,10,8,185,124,168,124,57,131,40,131,217,129,200,129,121,130,104,130,12,8,14,8,153,145,136,145,249,146,232,146,25,146,8,146,154,149,136,149,250,149,232,149,250,150,232,150,26,150,8,150,249,154,232,154,25,154,8,154,185,156,168,156,153,162,136,162,57,163,40,163,217,161,200,161,57,162,40,162,121,162,104,162,25,163,8,163,249,169,232,169,249,177,232,177,89,178,153,181,136,181,185,182,168,182,25,182,8,182,232,148,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,148,169,148,200,56,169,72,187,88,187,96,169,88,169,96,169,188,169,112,217,128,187,72,200,128,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,186,112,71,4,186,120,103,4,177,120,28,5,250,121,29,5,241,121,30,5,218,121,31,5,209,121,32,5,186,122,33,5,177,122,34,5,250,122,35,5,241,122,255,5,168,112,103,4,168,120,29,5,232,121,31,5,200,121,33,5,168,122,35,5,232,122,255,5,250,114,255,5,232,114,255,1,170,170,3,0,69,0,52,0,61,0,35,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,252,7,0,32,1,0,32,0,1,8,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,120,0,0,32,7,0,0,0,21,0,0,0,122,0,0,0,122,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,104,0,101,0,114,0,93,0,0,0,170,170,68,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,44,0,0,0,44,1,0,0,6,0,0,0,0,0,58,118,177,255,232,118,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,0,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,113,0,0,32,1,0,32,0,118,0,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,13,9,0,32,7,0,0,0,21,0,0,0,15,9,0,0,15,9,0,0,3,0,0,0,0,0,0,0,54,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,60,220,38,0,67,0,60,0,99,0,12,3,60,0,60,0,60,0,67,0,12,3,38,0,72,0,60,0,99,0,104,0,60,0,60,0,60,0,99,0,72,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,82,0,60,0,114,0,12,3,60,0,60,0,60,0,82,0,12,3,38,0,83,0,60,0,115,0,12,3,60,0,60,0,60,0,83,0,12,3,38,0,90,0,60,0,122,0,12,3,60,0,60,0,60,0,90,0,12,3,0,0,170,170,170,170,56,35,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,244,26,0,0,244,26,0,0,244,26,0,0,244,26,0,0,200,28,0,0,200,28,0,0,238,30,0,0,8,31,0,0,32,35,0,0,50,105,114,84,1,0,64,8,162,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,91,0,99,0,48,0,56,0,48,0,56,0,107,0,115,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,141,0,145,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,131,0,48,0,48,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,108,1,192,0,192,0,172,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,13,0,202,129,13,0,202,162,13,0,202,195,13,0,202,228,13,0,202,5,14,0,202,38,14,0,202,71,14,0,202,104,14,0,202,137,14,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,4,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,201,198,7,0,201,166,8,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,134,9,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,100,10,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,201,70,18,0,201,38,19,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,6,20,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,12,0,201,230,20,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,12,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,13,0,201,166,21,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,22,0,201,38,23,0,134,5,2,77,5,5,2,77,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,23,0,201,166,24,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,25,0,201,38,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,26,0,201,166,27,0,192,0,0,0,192,0,0,0,201,102,28,0,201,38,29,0,192,0,0,0,192,0,0,0,201,230,29,0,201,166,30,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,31,0,201,38,32,0,201,230,32,0,201,166,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,136,5,2,57,5,142,0,0,71,5,2,57,5,142,0,0,136,5,2,57,5,144,0,0,71,5,2,57,5,144,0,0,136,5,2,57,5,156,0,0,71,5,2,57,5,156,0,0,136,5,2,57,5,196,0,0,71,5,2,57,5,196,0,0,136,5,2,57,5,150,0,0,71,5,2,57,5,150,0,0,136,5,2,57,5,160,0,0,71,5,2,57,5,160,0,0,136,5,2,57,5,206,0,0,71,5,2,57,5,206,0,0,71,5,2,57,5,210,0,0,70,5,2,57,5,142,0,0,5,5,2,57,5,142,0,0,70,5,2,57,5,144,0,0,5,5,2,57,5,144,0,0,70,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,70,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,70,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,70,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,70,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,5,5,2,57,5,210,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,77,5,160,0,0,5,5,2,77,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,77,5,196,0,0,5,5,2,77,5,196,0,0,134,5,2,77,5,210,0,0,5,5,2,77,5,210,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,17,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,15,0,30,2,0,192,197,162,31,2,0,192,197,226,12,3,2,239,134,5,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,249,136,5,104,0,2,249,71,5,36,1,197,162,37,1,0,192,197,98,0,76,156,5,48,0,12,3,255,255,2,77,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,17,0,36,30,29,0,40,30,15,0,40,30,6,192,197,98,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,30,2,15,0,30,2,4,192,197,98,31,2,4,192,197,162,12,3,2,239,5,5,34,30,4,192,197,226,35,30,5,192,197,34,72,0,2,249,70,5,104,0,2,249,5,5,36,1,3,192,197,226,37,1,4,192,197,34,0,76,5,5,48,0,12,3,255,255,2,77,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,7,192,197,162,5,46,196,160,48,0,12,3,7,192,197,226,156,76,196,160,48,0,12,3,8,192,197,34,5,76,196,160,48,0,12,3,8,192,197,98,156,78,196,160,48,0,12,3,8,192,197,162,5,78,196,160,48,0,12,3,8,192,197,226,156,78,196,202,48,0,12,3,9,192,197,34,5,78,196,202,48,0,12,3,9,192,197,98,156,76,196,196,48,0,12,3,9,192,197,162,5,76,196,196,48,0,12,3,9,192,197,226,156,76,196,210,48,0,12,3,10,192,197,34,5,76,196,210,48,0,12,3,10,192,197,98,156,78,196,196,48,0,12,3,10,192,197,162,5,78,196,196,48,0,12,3,10,192,197,226,156,92,196,196,48,0,12,3,11,192,197,162,5,92,196,196,48,0,12,3,11,192,197,226,156,92,196,210,48,0,12,3,12,192,197,34,5,92,196,210,48,0,12,3,12,192,197,98,12,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,34,30,44,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,185,84,185,88,186,96,186,104,185,108,185,112,185,116,186,120,185,128,185,132,185,136,36,4,38,4,185,160,185,168,185,172,185,176,185,180,185,184,40,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,42,4,168,72,168,76,168,80,168,84,168,88,168,96,168,104,168,108,168,112,168,116,168,120,168,128,168,132,168,136,52,4,54,4,168,160,168,168,168,172,168,176,168,180,168,184,56,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,128,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,58,4,186,77,154,77,250,77,90,78,186,97,154,97,250,97,90,98,217,72,154,122,185,129,153,129,249,129,153,130,89,130,136,14,217,130,185,169,153,169,249,169,89,170,153,185,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,60,4,168,77,136,77,232,77,72,78,168,97,136,97,232,97,72,98,200,72,136,122,168,129,136,129,232,129,136,130,72,130,128,14,200,130,168,169,136,169,232,169,72,170,136,185,168,196,72,186,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,185,68,168,68,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,89,232,89,89,91,72,91,154,98,136,98,58,99,40,99,218,97,200,97,26,99,8,99,186,98,168,100,6,8,8,8,250,105,232,105,249,110,232,110,168,140,153,113,136,113,249,114,232,114,25,114,8,114,121,115,104,115,89,115,72,115,154,121,136,121,250,122,232,122,26,122,8,122,10,8,185,124,168,124,57,131,40,131,217,129,200,129,121,130,104,130,12,8,14,8,153,145,136,145,62,4,64,4,185,148,168,148,154,153,136,153,250,153,232,153,66,4,68,4,185,156,168,156,249,162,232,162,25,162,8,162,185,164,168,164,153,170,136,170,57,171,40,171,217,169,200,169,57,170,40,170,121,170,104,170,25,171,8,171,249,177,232,177,249,185,232,185,89,186,153,189,136,189,185,190,168,190,185,192,168,192,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,152,169,152,200,56,169,76,187,96,187,104,169,96,169,104,169,200,169,120,217,128,187,76,200,128,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,187,92,104,4,178,92,36,5,251,93,37,5,242,93,255,5,185,144,255,5,186,152,255,5,185,188,255,5,168,64,72,4,177,92,104,4,168,92,36,5,241,93,37,5,232,93,255,5,168,144,255,5,168,152,255,5,168,188,255,5,249,66,255,5,232,66,255,5,249,146,255,5,232,146,255,5,250,154,255,5,232,154,255,1,3,0,69,0,52,0,61,0,55,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,6,9,0,32,1,0,32,0,11,9,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,26,10,0,32,7,0,0,0,21,0,0,0,28,10,0,0,28,10,0,0,3,0,0,0,0,0,0,0,84,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,120,220,38,0,67,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,68,0,60,0,100,0,100,0,60,0,60,0,60,0,68,0,100,0,60,0,60,0,60,0,68,0,68,0,38,0,70,0,60,0,102,0,102,0,60,0,60,0,60,0,70,0,102,0,60,0,60,0,60,0,70,0,70,0,38,0,71,0,60,0,110,0,103,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,38,0,76,0,60,0,108,0,108,0,60,0,60,0,60,0,76,0,108,0,60,0,60,0,60,0,76,0,76,0,38,0,80,0,60,0,112,0,104,0,60,0,60,0,60,0,80,0,104,0,60,0,60,0,60,0,80,0,72,0,38,0,82,0,60,0,114,0,104,0,60,0,60,0,60,0,82,0,104,0,60,0,60,0,60,0,82,0,72,0,38,0,84,0,60,0,116,0,104,0,60,0,60,0,60,0,84,0,104,0,60,0,60,0,60,0,84,0,72,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,234,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,23,0,0,100,23,0,0,100,23,0,0,100,23,0,0,140,28,0,0,140,28,0,0,164,33,0,0,226,33,0,0,210,38,0,0,50,105,114,84,1,0,64,8,105,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,40,0,202,33,40,0,202,66,40,0,202,99,40,0,202,132,40,0,202,165,40,0,202,198,40,0,202,231,40,0,202,8,41,0,202,41,41,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,201,96,7,0,156,5,0,50,201,192,13,0,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,160,15,0,156,5,0,66,201,0,23,0,156,5,0,70,201,32,30,0,160,5,0,74,201,224,37,0,156,5,0,78,201,160,45,0,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,96,53,0,201,96,57,0,5,5,0,50,201,160,60,0,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,192,61,0,5,5,0,66,201,128,65,0,5,5,0,70,201,32,69,0,5,5,0,74,201,64,73,0,5,5,0,78,201,96,77,0,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,66,39,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,130,39,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,194,39,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,47,5,142,0,0,70,5,2,47,5,142,0,0,135,5,2,47,5,144,0,0,70,5,2,47,5,144,0,0,135,5,2,47,5,156,0,0,70,5,2,47,5,156,0,0,135,5,2,47,5,196,0,0,70,5,2,47,5,196,0,0,135,5,2,47,5,150,0,0,70,5,2,47,5,150,0,0,135,5,2,47,5,160,0,0,70,5,2,47,5,160,0,0,135,5,2,47,5,206,0,0,70,5,2,47,5,206,0,0,70,5,2,47,5,210,0,0,135,5,2,49,5,144,0,0,70,5,2,49,5,144,0,0,135,5,2,49,5,156,0,0,70,5,2,49,5,156,0,0,135,5,2,49,5,196,0,0,70,5,2,49,5,196,0,0,135,5,2,49,5,210,0,0,70,5,2,49,5,210,0,0,135,5,2,49,5,160,0,0,70,5,2,49,5,160,0,0,135,5,2,49,5,204,0,0,70,5,2,49,5,204,0,0,135,5,2,53,5,156,0,0,70,5,2,53,5,156,0,0,135,5,2,65,5,136,0,0,70,5,2,65,5,136,0,0,135,5,2,65,5,160,0,0,70,5,2,65,5,160,0,0,135,5,2,65,5,144,0,0,70,5,2,65,5,144,0,0,135,5,2,65,5,196,0,0,70,5,2,65,5,196,0,0,135,5,2,65,5,196,0,0,5,164,0,0,70,5,2,65,5,196,0,0,5,164,0,0,135,5,2,65,5,210,0,0,70,5,2,65,5,210,0,0,135,5,2,65,5,204,0,0,70,5,2,65,5,204,0,0,135,5,2,55,5,142,0,0,70,5,2,55,5,142,0,0,135,5,2,55,5,140,0,0,70,5,2,55,5,140,0,0,135,5,2,55,5,156,0,0,70,5,2,55,5,156,0,0,135,5,2,55,5,160,0,0,70,5,2,55,5,160,0,0,135,5,2,55,5,144,0,0,70,5,2,55,5,144,0,0,135,5,2,55,5,136,0,0,70,5,2,55,5,136,0,0,135,5,2,55,5,164,0,0,70,5,2,55,5,164,0,0,135,5,2,73,5,142,0,0,70,5,2,73,5,142,0,0,135,5,2,73,5,144,0,0,70,5,2,73,5,144,0,0,135,5,2,73,5,156,0,0,70,5,2,73,5,156,0,0,135,5,2,73,5,196,0,0,70,5,2,73,5,196,0,0,135,5,2,73,5,150,0,0,70,5,2,73,5,150,0,0,135,5,2,73,5,160,0,0,70,5,2,73,5,160,0,0,135,5,2,73,5,206,0,0,70,5,2,73,5,206,0,0,70,5,2,73,5,210,0,0,135,5,2,77,5,142,0,0,70,5,2,77,5,142,0,0,135,5,2,77,5,144,0,0,70,5,2,77,5,144,0,0,135,5,2,77,5,156,0,0,70,5,2,77,5,156,0,0,135,5,2,77,5,196,0,0,70,5,2,77,5,196,0,0,135,5,2,77,5,150,0,0,70,5,2,77,5,150,0,0,135,5,2,77,5,160,0,0,70,5,2,77,5,160,0,0,135,5,2,77,5,206,0,0,70,5,2,77,5,206,0,0,70,5,2,77,5,210,0,0,135,5,2,81,5,142,0,0,70,5,2,81,5,142,0,0,135,5,2,81,5,144,0,0,70,5,2,81,5,144,0,0,135,5,2,81,5,156,0,0,70,5,2,81,5,156,0,0,135,5,2,81,5,196,0,0,70,5,2,81,5,196,0,0,135,5,2,81,5,150,0,0,70,5,2,81,5,150,0,0,135,5,2,81,5,160,0,0,70,5,2,81,5,160,0,0,135,5,2,81,5,206,0,0,70,5,2,81,5,206,0,0,70,5,2,81,5,210,0,0,5,5,2,47,5,142,0,0,5,5,2,47,5,144,0,0,5,5,2,47,5,156,0,0,5,5,2,47,5,196,0,0,5,5,2,47,5,150,0,0,5,5,2,47,5,160,0,0,5,5,2,47,5,206,0,0,5,5,2,47,5,210,0,0,5,5,2,49,5,144,0,0,5,5,2,49,5,156,0,0,5,5,2,49,5,196,0,0,5,5,2,49,5,210,0,0,5,5,2,49,5,160,0,0,5,5,2,49,5,204,0,0,5,5,2,53,5,156,0,0,5,5,2,65,5,136,0,0,5,5,2,65,5,160,0,0,5,5,2,65,5,144,0,0,5,5,2,65,5,196,0,0,5,5,2,65,5,196,0,0,5,164,0,0,5,5,2,65,5,210,0,0,5,5,2,65,5,204,0,0,5,5,2,55,5,142,0,0,5,5,2,55,5,140,0,0,5,5,2,55,5,156,0,0,5,5,2,55,5,160,0,0,5,5,2,55,5,144,0,0,5,5,2,55,5,136,0,0,5,5,2,55,5,164,0,0,5,5,2,73,5,142,0,0,5,5,2,73,5,144,0,0,5,5,2,73,5,156,0,0,5,5,2,73,5,196,0,0,5,5,2,73,5,150,0,0,5,5,2,73,5,160,0,0,5,5,2,73,5,206,0,0,5,5,2,73,5,210,0,0,5,5,2,77,5,142,0,0,5,5,2,77,5,144,0,0,5,5,2,77,5,156,0,0,5,5,2,77,5,196,0,0,5,5,2,77,5,150,0,0,5,5,2,77,5,160,0,0,5,5,2,77,5,206,0,0,5,5,2,77,5,210,0,0,5,5,2,81,5,142,0,0,5,5,2,81,5,144,0,0,5,5,2,81,5,156,0,0,5,5,2,81,5,196,0,0,5,5,2,81,5,150,0,0,5,5,2,81,5,160,0,0,5,5,2,81,5,206,0,0,5,5,2,81,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,239,135,5,104,0,2,239,70,5,36,1,197,162,37,1,0,192,197,98,0,48,156,5,13,0,13,30,23,0,16,30,12,0,16,30,5,192,197,226,17,30,6,192,197,34,18,30,6,192,197,98,19,30,6,192,197,162,13,30,5,192,197,34,14,30,5,192,197,98,15,30,5,192,197,162,15,1,12,0,15,1,4,192,197,34,10,30,4,192,197,98,11,30,4,192,197,162,12,30,4,192,197,226,68,0,2,241,135,5,100,0,2,241,70,5,14,1,3,192,197,226,0,52,156,5,3,0,70,0,2,245,135,5,102,0,2,245,70,5,30,30,6,192,197,226,31,30,7,192,197,34,0,64,156,5,15,0,54,30,26,0,58,30,12,0,58,30,10,192,197,34,59,30,10,192,197,98,60,30,10,192,197,162,61,30,10,192,197,226,54,30,8,192,197,226,55,30,9,192,197,34,56,30,9,192,197,99,57,30,9,192,197,195,59,1,12,0,59,1,7,192,197,226,60,1,8,192,197,34,61,1,8,192,197,98,62,1,8,192,197,162,76,0,255,255,2,65,135,5,108,0,255,255,2,65,70,5,57,1,7,192,197,98,58,1,7,192,197,162,0,68,156,5,15,0,34,1,26,0,244,1,12,0,244,1,13,192,197,162,245,1,13,192,197,226,32,30,14,192,197,34,33,30,14,192,197,98,34,1,12,192,197,162,35,1,12,192,197,226,230,1,13,192,197,34,231,1,13,192,197,98,30,1,12,0,30,1,11,192,197,162,31,1,11,192,197,226,32,1,12,192,197,34,33,1,12,192,197,98,71,0,2,247,135,5,103,0,2,247,70,5,28,1,11,192,197,34,29,1,11,192,197,98,0,72,156,5,16,0,36,30,29,0,40,30,15,0,40,30,17,192,197,34,41,30,17,192,197,98,42,30,17,192,197,162,43,30,17,192,197,226,150,30,18,192,197,34,36,30,16,192,197,34,37,30,16,192,197,98,38,30,16,192,197,162,39,30,16,192,197,226,30,2,12,0,30,2,15,192,197,34,31,2,15,192,197,98,34,30,15,192,197,162,35,30,15,192,197,226,72,0,255,255,2,73,135,5,104,0,255,255,2,73,70,5,36,1,14,192,197,162,37,1,14,192,197,226,0,76,156,5,16,0,36,30,29,0,40,30,15,0,40,30,20,192,197,226,41,30,21,192,197,34,42,30,21,192,197,98,43,30,21,192,197,162,150,30,21,192,197,226,36,30,19,192,197,226,37,30,20,192,197,34,38,30,20,192,197,98,39,30,20,192,197,162,30,2,12,0,30,2,18,192,197,226,31,2,19,192,197,34,34,30,19,192,197,98,35,30,19,192,197,162,72,0,255,255,2,77,135,5,104,0,255,255,2,77,70,5,36,1,18,192,197,98,37,1,18,192,197,162,0,80,156,5,16,0,36,30,29,0,40,30,15,0,40,30,24,192,197,162,41,30,24,192,197,226,42,30,25,192,197,34,43,30,25,192,197,98,150,30,25,192,197,162,36,30,23,192,197,162,37,30,23,192,197,226,38,30,24,192,197,34,39,30,24,192,197,98,30,2,12,0,30,2,22,192,197,162,31,2,22,192,197,226,34,30,23,192,197,34,35,30,23,192,197,98,72,0,255,255,2,81,135,5,104,0,255,255,2,81,70,5,36,1,22,192,197,34,37,1,22,192,197,98,0,46,5,5,8,0,37,30,15,0,37,30,26,192,197,162,39,30,26,192,197,226,41,30,27,192,197,34,43,30,27,192,197,98,150,30,27,192,197,162,104,0,2,239,5,5,37,1,25,192,197,226,31,2,26,192,197,34,35,30,26,192,197,98,0,48,5,5,6,0,13,30,12,0,13,30,28,192,197,98,15,30,28,192,197,162,17,30,28,192,197,226,19,30,29,192,197,34,100,0,2,241,5,5,15,1,27,192,197,226,11,30,28,192,197,34,0,52,5,5,1,0,102,0,2,245,5,5,31,30,29,192,197,98,0,64,5,5,7,0,55,30,12,0,55,30,30,192,197,98,57,30,30,192,197,163,59,30,31,192,197,2,61,30,31,192,197,66,108,0,255,255,2,65,5,5,58,1,29,192,197,162,60,1,29,192,197,226,62,1,30,192,197,34,0,68,5,5,7,0,35,1,12,0,35,1,32,192,197,66,231,1,32,192,197,130,245,1,32,192,197,194,33,30,33,192,197,2,103,0,2,247,5,5,29,1,31,192,197,130,31,1,31,192,197,194,33,1,32,192,197,2,0,72,5,5,8,0,37,30,15,0,37,30,34,192,197,2,39,30,34,192,197,66,41,30,34,192,197,130,43,30,34,192,197,194,150,30,35,192,197,2,104,0,255,255,2,73,5,5,37,1,33,192,197,66,31,2,33,192,197,130,35,30,33,192,197,194,0,76,5,5,8,0,37,30,15,0,37,30,36,192,197,2,39,30,36,192,197,66,41,30,36,192,197,130,43,30,36,192,197,194,150,30,37,192,197,2,104,0,255,255,2,77,5,5,37,1,35,192,197,66,31,2,35,192,197,130,35,30,35,192,197,194,0,80,5,5,8,0,37,30,15,0,37,30,38,192,197,2,39,30,38,192,197,66,41,30,38,192,197,130,43,30,38,192,197,194,150,30,39,192,197,2,104,0,255,255,2,81,5,5,37,1,37,192,197,66,31,2,37,192,197,130,35,30,37,192,197,194,30,0,68,0,69,0,70,0,73,0,100,0,101,0,102,0,105,0,108,0,109,0,14,1,16,1,28,1,38,1,57,1,63,1,230,1,232,1,244,1,246,1,30,2,32,2,10,30,20,30,30,30,44,30,54,30,62,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,36,4,186,80,46,4,185,92,185,100,186,104,186,112,185,116,52,4,185,128,70,4,185,140,92,4,185,152,102,4,186,168,112,4,185,184,185,188,185,192,185,196,185,200,185,204,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,122,4,128,4,168,80,134,4,168,92,168,100,168,104,168,112,168,116,138,4,168,128,148,4,168,140,160,4,168,152,166,4,168,168,172,4,168,184,168,188,168,192,168,196,168,200,168,204,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,81,154,81,250,81,90,82,186,105,154,105,250,105,90,106,217,72,154,134,185,141,153,141,249,141,153,142,89,142,136,14,217,142,185,185,153,185,249,185,89,186,153,201,185,208,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,81,136,81,232,81,72,82,168,105,136,105,232,105,72,106,200,72,136,134,168,141,136,141,232,141,136,142,72,142,128,14,200,142,168,185,136,185,232,185,72,186,136,201,168,208,72,202,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,83,40,83,218,81,200,81,186,82,168,82,26,83,8,83,26,82,8,82,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,136,168,136,57,143,40,143,217,141,200,141,121,142,104,142,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,154,169,136,169,250,169,232,169,250,170,232,170,26,170,8,170,249,174,232,174,25,174,8,174,185,180,168,180,153,186,136,186,57,187,40,187,217,185,200,185,57,186,40,186,121,186,104,186,25,187,8,187,249,193,232,193,249,201,232,201,89,202,153,205,136,205,185,206,168,206,25,206,8,206,232,168,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,168,169,168,200,56,169,80,187,104,187,112,169,104,169,112,169,212,169,132,217,140,187,80,200,140,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,186,68,104,4,177,68,36,5,250,69,37,5,241,69,255,5,185,72,68,4,186,76,100,4,177,76,14,5,26,78,15,5,17,78,255,5,185,84,70,4,186,88,102,4,177,88,255,5,185,120,76,4,186,124,108,4,177,124,57,5,154,125,58,5,145,125,59,5,250,126,60,5,241,126,61,5,26,126,62,5,17,126,255,5,186,132,71,4,186,96,103,4,177,96,28,5,250,97,29,5,241,97,30,5,218,97,31,5,209,97,32,5,186,98,33,5,177,98,34,5,250,98,35,5,241,98,255,5,185,144,72,4,186,148,104,4,177,148,36,5,250,149,37,5,241,149,255,5,185,160,72,4,186,164,104,4,177,164,36,5,250,165,37,5,241,165,255,5,185,172,72,4,186,176,104,4,177,176,36,5,250,177,37,5,241,177,255,5,168,64,104,4,168,68,37,5,232,69,255,5,168,72,100,4,168,76,15,5,8,78,255,5,168,84,102,4,168,88,255,5,168,120,108,4,168,124,58,5,136,125,60,5,232,126,62,5,8,126,255,5,168,132,103,4,168,96,29,5,232,97,31,5,200,97,33,5,168,98,35,5,232,98,255,5,168,144,104,4,168,148,37,5,232,149,255,5,168,160,104,4,168,164,37,5,232,165,255,5,168,172,104,4,168,176,37,5,232,177,255,1,170,170,3,0,69,0,52,0,61,0,87,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,19,10,0,32,1,0,32,0,24,10,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,134,27,0,32,7,0,0,0,23,0,0,0,136,27,0,0,136,27,0,0,3,0,0,0,0,0,0,0,131,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,64,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,100,0,97,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,91,0,99,0,97,0,115,0,101,0,70,0,105,0,114,0,115,0,116,0,32,0,111,0,102,0,102,0,93,0,0,0,143,220,91,0,99,0,97,0,115,0,101,0,70,0,105,0,114,0,115,0,116,0,32,0,117,0,112,0,112,0,101,0,114,0,93,0,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,116,0,104,0,60,0,60,0,60,0,254,0,38,0,84,0,72,0,60,0,60,0,60,0,222,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,60,0,60,0,97,0,97,0,60,0,60,0,60,0,65,0,97,0,60,0,60,0,60,0,65,0,65,0,38,0,111,0,101,0,60,0,60,0,83,1,60,0,60,0,60,0,82,1,0,0,170,170,220,56,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,167,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,100,38,0,0,100,38,0,0,108,47,0,0,108,47,0,0,60,51,0,0,60,51,0,0,138,56,0,0,192,56,0,0,192,56,0,0,50,105,114,84,1,0,64,8,89,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,145,0,153,0,159,0,167,0,175,0,183,0,48,0,56,0,182,0,190,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,0,215,0,48,0,48,0,48,0,223,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,231,0,48,0,48,0,239,0,48,0,245,0,253,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,8,1,48,0,48,0,12,1,48,0,20,1,25,1,33,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,39,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,47,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,205,0,48,0,48,0,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,58,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,66,1,48,0,48,0,72,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,68,2,124,2,188,2,192,0,216,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,29,0,202,97,29,0,202,130,29,0,202,163,29,0,202,196,29,0,202,229,29,0,202,6,30,0,202,39,30,0,202,72,30,0,202,105,30,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,196,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,102,29,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,134,30,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,36,32,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,230,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,6,48,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,33,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,193,17,0,5,5,127,12,198,65,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,162,20,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,65,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,225,26,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,49,0,201,230,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,225,17,0,198,1,27,0,197,98,1,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,6,52,0,201,38,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,54,0,201,102,55,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,56,0,201,166,57,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,0,197,34,4,0,197,34,0,0,197,98,0,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,192,0,0,0,198,34,29,0,198,98,29,0,192,0,0,0,192,0,0,0,198,162,29,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,58,0,201,230,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,30,0,197,162,5,0,198,34,31,0,197,226,5,0,198,98,31,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,31,0,198,226,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,6,61,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,62,0,5,71,238,102,201,198,63,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,197,34,7,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,192,0,0,0,197,98,8,0,192,0,0,0,197,162,8,0,197,227,8,0,197,66,9,0,192,0,0,0,192,0,0,0,197,130,9,0,197,195,9,0,197,34,10,0,192,0,0,0,192,0,0,0,197,98,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,98,6,0,197,162,10,0,5,5,10,121,197,226,10,0,197,34,11,0,5,5,12,121,5,5,16,121,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,5,5,18,121,5,5,20,121,197,2,7,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,64,0,201,198,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,66,0,201,6,68,0,201,38,69,0,201,70,70,0,201,102,71,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,73,0,201,198,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,75,0,201,6,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,78,0,201,70,79,0,201,102,80,0,201,134,81,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,82,0,201,198,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,137,0,5,0,4,111,93,0,72,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,7,0,5,0,4,111,93,0,7,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,7,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,156,5,0,80,29,5,0,56,5,5,0,80,6,5,0,56,193,4,111,93,5,162,0,0,133,5,0,70,134,70,0,50,5,5,0,70,5,70,0,50,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,98,6,0,5,5,10,121,5,5,12,121,197,162,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,226,6,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,197,98,7,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,162,7,0,5,5,107,121,197,226,7,0,5,5,111,121,197,34,8,0,5,5,115,121,197,98,8,0,5,5,119,121,197,162,8,0,197,227,8,0,197,66,9,0,5,5,127,121,5,5,129,121,197,130,9,0,197,195,9,0,197,34,10,0,5,5,137,121,5,5,139,121,197,98,10,0,5,5,143,121,5,5,6,121,197,98,6,0,197,162,10,0,5,5,10,121,197,226,10,0,197,34,11,0,5,5,12,121,5,5,16,121,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,5,5,18,121,5,5,20,121,197,2,7,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,70,156,5,1,0,8,3,17,192,198,193,11,3,17,192,198,225,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,99,179,30,25,192,198,195,181,30,26,192,198,35,183,30,26,192,198,131,169,30,23,192,198,227,171,30,24,192,198,67,173,30,24,192,198,163,175,30,25,192,198,3,161,30,12,0,161,30,22,192,198,162,163,30,22,192,198,226,165,30,23,192,198,35,167,30,23,192,198,131,39,2,10,0,8,3,22,192,198,65,10,3,255,255,111,93,193,4,1,30,22,192,198,98,176,69,198,2,4,3,21,192,198,3,3,1,26,0,225,1,12,0,225,1,21,192,198,3,251,1,21,192,198,99,1,2,21,192,198,194,3,2,22,192,198,2,3,1,19,192,198,226,5,1,20,192,198,34,206,1,20,192,198,98,223,1,20,192,198,163,227,0,12,0,227,0,18,192,198,226,228,0,19,192,198,34,229,0,19,192,198,98,1,1,19,192,198,162,97,0,18,192,198,1,224,0,18,192,198,34,225,0,18,192,198,98,226,0,18,192,198,162,0,70,5,5,1,0,8,3,26,192,198,225,11,3,27,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,98,10,3,27,192,198,162,5,42,196,162,1,0,8,3,27,192,198,226,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,5,82,196,162,1,0,8,3,2,192,197,98,11,3,2,192,197,162,156,70,196,190,1,0,8,3,28,192,198,34,11,3,28,192,198,98,5,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,156,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,5,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,156,70,196,162,1,0,8,3,29,192,198,226,11,3,30,192,198,34,5,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,32,192,198,34,10,3,32,192,198,98,5,42,196,200,1,0,8,3,32,192,198,162,10,3,13,192,197,34,156,82,196,198,1,0,8,3,13,192,197,98,11,3,13,192,197,162,5,82,196,198,1,0,8,3,13,192,197,226,11,3,14,192,197,34,156,82,196,208,1,0,8,3,14,192,197,98,11,3,14,192,197,162,5,82,196,208,1,0,8,3,14,192,197,226,11,3,15,192,197,34,156,82,196,204,1,0,8,3,15,192,197,98,11,3,15,192,197,162,5,82,196,204,1,0,8,3,15,192,197,226,11,3,16,192,197,34,156,42,196,196,1,0,8,3,32,192,198,226,10,3,33,192,198,34,5,42,196,196,1,0,8,3,33,192,198,98,10,3,16,192,197,98,156,70,196,196,1,0,8,3,33,192,198,162,11,3,33,192,198,226,5,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,16,0,197,163,1,0,8,3,34,192,198,163,11,3,35,192,198,3,17,0,197,3,1,0,8,3,35,192,198,99,11,3,35,192,198,195,156,82,196,196,1,0,8,3,17,192,197,98,11,3,17,192,197,162,5,82,196,196,1,0,8,3,17,192,197,226,11,3,18,192,197,34,18,0,197,99,1,0,8,3,18,192,197,195,11,3,19,192,197,35,19,0,197,131,1,0,8,3,19,192,197,227,11,3,20,192,197,67,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,3,0,67,0,50,0,59,0,131,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,226,50,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,35,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,52,30,0,0,52,30,0,0,60,39,0,0,60,39,0,0,40,41,0,0,40,41,0,0,48,46,0,0,102,46,0,0,198,50,0,0,50,105,114,84,1,0,64,8,214,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,170,0,48,0,178,0,183,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,197,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,158,0,48,0,48,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,14,0,202,65,14,0,202,98,14,0,202,131,14,0,202,164,14,0,202,197,14,0,202,230,14,0,202,7,15,0,202,40,15,0,202,73,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,4,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,28,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,29,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,100,31,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,70,47,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,33,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,193,17,0,5,5,127,12,198,65,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,226,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,65,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,225,26,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,49,0,201,38,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,225,17,0,198,1,27,0,197,98,1,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,70,51,0,201,102,52,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,53,0,201,166,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,55,0,201,230,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,0,197,34,4,0,197,34,0,0,197,98,0,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,192,0,0,0,198,34,29,0,198,98,29,0,192,0,0,0,192,0,0,0,198,162,29,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,58,0,201,38,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,30,0,197,162,5,0,198,34,31,0,197,226,5,0,198,98,31,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,31,0,198,226,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,60,0,201,102,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,62,0,201,166,63,0,201,198,64,0,201,230,65,0,201,6,67,0,201,38,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,69,0,201,102,70,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,71,0,201,166,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,73,0,201,230,74,0,201,6,76,0,201,38,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,78,0,201,102,79,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,137,0,5,0,4,111,93,0,72,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,7,0,5,0,4,111,93,0,7,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,7,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,156,5,0,80,29,5,0,56,5,5,0,80,6,5,0,56,193,4,111,93,5,162,0,0,133,5,0,70,134,70,0,50,5,5,0,70,5,70,0,50,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,70,156,5,1,0,8,3,17,192,198,193,11,3,17,192,198,225,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,99,179,30,25,192,198,195,181,30,26,192,198,35,183,30,26,192,198,131,169,30,23,192,198,227,171,30,24,192,198,67,173,30,24,192,198,163,175,30,25,192,198,3,161,30,12,0,161,30,22,192,198,162,163,30,22,192,198,226,165,30,23,192,198,35,167,30,23,192,198,131,39,2,10,0,8,3,22,192,198,65,10,3,255,255,111,93,193,4,1,30,22,192,198,98,176,69,198,2,4,3,21,192,198,3,3,1,26,0,225,1,12,0,225,1,21,192,198,3,251,1,21,192,198,99,1,2,21,192,198,194,3,2,22,192,198,2,3,1,19,192,198,226,5,1,20,192,198,34,206,1,20,192,198,98,223,1,20,192,198,163,227,0,12,0,227,0,18,192,198,226,228,0,19,192,198,34,229,0,19,192,198,98,1,1,19,192,198,162,97,0,18,192,198,1,224,0,18,192,198,34,225,0,18,192,198,98,226,0,18,192,198,162,0,70,5,5,1,0,8,3,26,192,198,225,11,3,27,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,98,10,3,27,192,198,162,5,42,196,162,1,0,8,3,27,192,198,226,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,5,82,196,162,1,0,8,3,2,192,197,98,11,3,2,192,197,162,156,70,196,190,1,0,8,3,28,192,198,34,11,3,28,192,198,98,5,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,156,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,5,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,156,70,196,162,1,0,8,3,29,192,198,226,11,3,30,192,198,34,5,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,156,42,196,200,1,0,8,3,32,192,198,34,10,3,32,192,198,98,5,42,196,200,1,0,8,3,32,192,198,162,10,3,6,192,197,98,156,82,196,198,1,0,8,3,6,192,197,162,11,3,6,192,197,226,5,82,196,198,1,0,8,3,7,192,197,34,11,3,7,192,197,98,156,82,196,208,1,0,8,3,7,192,197,162,11,3,7,192,197,226,5,82,196,208,1,0,8,3,8,192,197,34,11,3,8,192,197,98,156,82,196,204,1,0,8,3,8,192,197,162,11,3,8,192,197,226,5,82,196,204,1,0,8,3,9,192,197,34,11,3,9,192,197,98,156,42,196,196,1,0,8,3,32,192,198,226,10,3,33,192,198,34,5,42,196,196,1,0,8,3,33,192,198,98,10,3,9,192,197,162,156,70,196,196,1,0,8,3,33,192,198,162,11,3,33,192,198,226,5,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,9,0,197,227,1,0,8,3,34,192,198,163,11,3,35,192,198,3,10,0,197,67,1,0,8,3,35,192,198,99,11,3,35,192,198,195,156,82,196,196,1,0,8,3,10,192,197,162,11,3,10,192,197,226,5,82,196,196,1,0,8,3,11,192,197,34,11,3,11,192,197,98,11,0,197,163,1,0,8,3,12,192,197,3,11,3,12,192,197,99,12,0,197,195,1,0,8,3,13,192,197,35,11,3,13,192,197,131,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,185,72,185,76,185,80,186,84,186,88,186,96,185,100,185,104,185,108,186,112,68,4,185,124,185,128,185,136,186,140,185,144,70,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,72,4,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,94,4,168,124,168,128,168,136,168,140,168,144,96,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,217,180,185,188,185,180,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,249,121,121,122,217,184,136,14,185,184,185,153,153,153,249,153,217,168,153,169,0,8,2,8,168,57,136,57,232,57,104,58,200,180,168,188,168,180,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,232,121,104,122,200,184,128,14,168,184,168,153,136,153,232,153,200,168,136,169,4,8,72,170,249,58,232,58,217,57,200,57,98,4,100,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,217,74,200,74,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,250,85,232,85,26,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,132,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,184,232,184,12,8,14,8,153,137,136,137,185,138,168,138,25,138,8,138,154,141,136,141,250,141,232,141,186,142,168,142,26,142,8,142,185,146,168,146,25,146,8,146,185,148,168,148,121,154,104,154,249,154,232,154,217,153,200,153,57,154,40,154,249,168,232,168,102,4,104,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,153,174,136,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,185,144,171,84,200,140,169,140,168,144,169,84,187,88,187,96,169,88,169,96,169,176,169,112,184,120,217,72,168,120,200,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,65,4,188,188,97,4,179,188,192,4,188,189,193,4,156,189,194,4,252,189,195,4,124,190,196,4,92,190,197,4,60,190,224,4,179,189,225,4,147,189,226,4,243,189,227,4,115,190,228,4,83,190,229,4,51,190,0,5,252,190,1,5,243,190,2,5,220,189,3,5,211,189,4,5,220,190,5,5,211,190,255,5,185,120,255,5,185,152,255,5,168,56,97,4,170,188,224,4,170,189,225,4,138,189,226,4,234,189,227,4,106,190,228,4,74,190,229,4,42,190,1,5,234,190,3,5,202,189,5,5,202,190,255,5,168,120,255,5,168,152,255,5,217,58,255,5,200,58,255,5,217,154,255,5,200,154,255,1,170,170,3,0,67,0,50,0,59,0,195,14,0,16,70,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,187,14,0,32,125,27,0,32,1,0,32,0,130,27,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,148,20,0,32,7,0,0,0,23,0,0,0,150,20,0,0,150,20,0,0,3,0,0,0,0,0,0,0,66,0,0,0,99,111,108,108,97,116,105,111,110,115,0,112,104,111,110,101,98,111,111,107,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,101,97,114,99,104,0,0,0,52,0,50,0,0,0,38,0,65,0,69,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,38,0,79,0,69,0,60,0,60,0,246,0,60,0,60,0,60,0,214,0,38,0,85,0,69,0,60,0,60,0,252,0,60,0,60,0,60,0,220,0,0,0,48,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,100,0,101,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,104,0,111,0,110,0,101,0,98,0,107,0,93,0,0,0,170,170,170,170,170,170,82,37,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,4,29,0,0,4,29,0,0,4,29,0,0,4,29,0,0,152,31,0,0,152,31,0,0,58,33,0,0,58,33,0,0,58,37,0,0,50,105,114,84,1,0,64,8,195,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,84,0,92,0,97,0,105,0,110,0,118,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,153,0,48,0,48,0,157,0,48,0,165,0,170,0,178,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,186,0,145,0,48,0,48,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,80,1,132,1,184,1,228,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,19,0,202,129,19,0,202,162,19,0,202,195,19,0,202,228,19,0,202,5,20,0,202,38,20,0,202,71,20,0,202,104,20,0,202,137,20,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,0,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,102,1,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,134,2,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,70,3,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,6,4,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,197,34,0,0,196,146,156,42,197,162,18,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,197,98,0,0,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,197,162,0,0,196,136,156,90,160,5,38,93,197,226,18,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,197,66,1,0,196,146,5,42,197,34,19,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,197,130,1,0,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,197,194,1,0,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,5,0,201,230,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,6,0,201,102,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,8,0,201,230,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,9,0,201,102,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,5,0,197,195,5,0,197,227,0,0,197,3,2,0,197,35,6,0,197,131,6,0,197,227,6,0,197,67,7,0,192,0,0,0,197,163,7,0,197,3,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,11,0,201,230,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,9,0,197,131,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,12,0,201,102,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,14,0,201,230,14,0,201,166,15,0,201,102,16,0,201,38,17,0,201,230,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,18,0,201,102,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,20,0,201,230,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,21,0,201,102,22,0,201,38,23,0,201,230,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,24,0,201,102,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,156,5,0,42,6,72,0,50,156,5,0,70,6,71,0,50,156,5,0,82,6,70,0,50,156,5,0,82,6,70,0,50,5,136,0,0,28,5,0,42,5,72,0,50,28,5,0,70,5,71,0,50,28,5,0,82,5,70,0,50,28,5,0,82,5,70,0,50,5,136,0,0,156,5,0,42,6,72,0,50,5,162,0,0,28,5,0,42,5,72,0,50,5,162,0,0,156,5,0,82,6,70,0,50,5,162,0,0,28,5,0,82,5,70,0,50,5,162,0,0,156,5,0,70,6,71,0,50,5,190,0,0,28,5,0,70,5,71,0,50,5,190,0,0,156,5,0,82,6,70,0,50,5,190,0,0,28,5,0,82,5,70,0,50,5,190,0,0,156,5,0,82,6,70,0,50,5,164,0,0,28,5,0,82,5,70,0,50,5,164,0,0,156,5,0,82,6,70,0,50,5,144,0,0,28,5,0,82,5,70,0,50,5,144,0,0,156,5,0,82,6,70,0,50,5,138,0,0,28,5,0,82,5,70,0,50,5,138,0,0,156,5,0,42,6,72,0,50,5,164,0,0,28,5,0,42,5,72,0,50,5,164,0,0,156,5,0,70,6,71,0,50,5,162,0,0,28,5,0,70,5,71,0,50,5,162,0,0,156,5,0,70,6,71,0,50,5,164,0,0,28,5,0,70,5,71,0,50,5,164,0,0,156,5,0,42,6,72,0,50,5,200,0,0,28,5,0,42,5,72,0,50,5,200,0,0,156,5,0,82,6,70,0,50,5,198,0,0,28,5,0,82,5,70,0,50,5,198,0,0,156,5,0,82,6,70,0,50,5,208,0,0,28,5,0,82,5,70,0,50,5,208,0,0,156,5,0,82,6,70,0,50,5,204,0,0,28,5,0,82,5,70,0,50,5,204,0,0,156,5,0,42,6,72,0,50,5,196,0,0,28,5,0,42,5,72,0,50,5,196,0,0,156,5,0,70,6,71,0,50,5,196,0,0,28,5,0,70,5,71,0,50,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,156,5,0,70,6,71,0,50,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,28,5,0,70,5,71,0,50,5,190,0,0,5,196,0,0,156,5,0,82,6,70,0,50,5,196,0,0,28,5,0,82,5,70,0,50,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,156,5,0,82,6,70,0,50,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,28,5,0,82,5,70,0,50,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,8,3,197,162,0,70,156,5,48,0,8,3,0,192,197,98,0,82,156,5,1,0,8,3,0,192,197,162,68,3,0,192,197,227,0,42,5,5,48,0,8,3,1,192,197,66,0,70,5,5,48,0,8,3,1,192,197,130,0,82,5,5,1,0,8,3,1,192,197,194,68,3,2,192,197,3,156,42,196,162,48,0,8,3,2,192,197,99,5,42,196,162,48,0,8,3,2,192,197,195,156,82,196,162,48,0,8,3,3,192,197,35,5,82,196,162,48,0,8,3,3,192,197,131,156,70,196,190,48,0,8,3,3,192,197,227,5,70,196,190,48,0,8,3,4,192,197,67,156,82,196,190,48,0,8,3,4,192,197,163,5,82,196,190,48,0,8,3,5,192,197,3,156,70,196,162,48,0,8,3,8,192,197,99,5,70,196,162,48,0,8,3,8,192,197,195,156,42,196,200,48,0,8,3,9,192,197,227,5,42,196,200,48,0,8,3,10,192,197,67,156,82,196,198,48,0,8,3,10,192,197,163,5,82,196,198,48,0,8,3,11,192,197,3,156,82,196,208,48,0,8,3,11,192,197,99,5,82,196,208,48,0,8,3,11,192,197,195,156,82,196,204,48,0,8,3,12,192,197,35,5,82,196,204,48,0,8,3,12,192,197,131,156,42,196,196,48,0,8,3,12,192,197,227,5,42,196,196,48,0,8,3,13,192,197,67,156,70,196,196,48,0,8,3,13,192,197,163,5,70,196,196,48,0,8,3,14,192,197,3,14,0,197,99,48,0,8,3,14,192,197,196,15,0,197,67,48,0,8,3,15,192,197,164,156,82,196,196,48,0,8,3,16,192,197,35,5,82,196,196,48,0,8,3,16,192,197,131,16,0,197,227,48,0,8,3,17,192,197,68,17,0,197,195,48,0,8,3,18,192,197,36,5,2,64,12,32,14,192,14,232,14,36,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,38,4,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,40,4,185,124,185,128,185,136,186,140,185,144,42,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,44,4,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,46,4,168,124,168,128,168,136,168,140,168,144,48,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,0,8,57,58,2,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,4,8,136,14,217,122,185,153,153,153,249,153,6,8,153,169,185,176,8,8,168,57,136,57,232,57,136,58,10,8,40,58,12,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,14,8,128,14,200,122,168,153,136,153,232,153,16,8,136,169,168,176,72,170,57,59,40,59,217,57,200,57,50,4,52,4,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,18,8,20,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,22,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,24,8,26,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,54,4,56,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,28,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,30,8,1,0,8,14,32,8,1,0,16,14,0,13,8,13,24,14,34,8,200,12,72,12,32,14,185,56,9,73,217,56,187,72,185,120,233,72,185,152,201,72,200,140,169,140,169,56,8,73,200,56,169,72,169,120,232,72,169,152,200,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,120,255,5,168,152,255,5,25,59,255,5,8,59,255,5,25,155,255,5,8,155,255,1,170,170,3,0,70,0,53,0,62,0,67,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,172,43,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,209,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,52,37,0,0,52,37,0,0,52,37,0,0,52,37,0,0,172,41,0,0,172,41,0,0,148,43,0,0,148,43,0,0,148,43,0,0,50,105,114,84,1,0,64,8,70,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,84,0,92,0,97,0,105,0,110,0,118,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,132,0,140,0,146,0,154,0,162,0,170,0,48,0,56,0,169,0,177,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,194,0,202,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,226,0,48,0,232,0,240,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,243,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,251,0,48,0,48,0,255,0,48,0,7,1,12,1,20,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,28,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,31,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,185,0,192,0,48,0,48,0,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,39,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,47,1,48,0,48,0,53,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,80,1,132,1,184,1,228,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,16,2,72,2,136,2,192,0,164,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,34,0,202,161,34,0,202,194,34,0,202,227,34,0,202,4,35,0,202,37,35,0,202,70,35,0,202,103,35,0,202,136,35,0,202,169,35,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,102,1,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,38,2,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,3,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,6,4,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,198,4,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,197,34,0,0,196,146,156,42,197,98,25,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,197,98,0,0,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,197,162,0,0,196,136,156,90,160,5,38,93,197,162,25,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,197,66,1,0,196,146,5,42,197,226,25,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,197,130,1,0,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,197,194,1,0,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,5,0,201,166,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,7,0,201,38,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,8,0,201,166,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,10,0,201,38,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,5,0,197,195,5,0,197,227,0,0,197,3,2,0,197,35,6,0,197,131,6,0,197,227,6,0,197,67,7,0,192,0,0,0,197,163,7,0,197,3,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,11,0,201,166,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,9,0,197,131,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,102,13,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,15,0,5,71,238,102,201,38,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,9,0,192,0,0,0,192,0,0,0,197,34,10,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,10,0,192,0,0,0,197,162,10,0,192,0,0,0,192,0,0,0,197,226,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,192,0,0,0,197,98,11,0,192,0,0,0,197,162,11,0,192,0,0,0,197,226,11,0,192,0,0,0,197,34,12,0,197,99,12,0,197,194,12,0,192,0,0,0,192,0,0,0,197,2,13,0,197,67,13,0,197,162,13,0,192,0,0,0,192,0,0,0,197,226,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,9,0,197,34,14,0,5,5,10,121,197,98,14,0,197,162,14,0,5,5,12,121,5,5,16,121,197,226,14,0,197,34,15,0,197,98,15,0,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,5,5,18,121,5,5,20,121,197,130,10,0,5,5,24,121,197,162,10,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,17,0,201,198,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,18,0,201,70,19,0,201,6,20,0,201,198,20,0,201,134,21,0,201,70,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,198,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,24,0,201,70,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,26,0,201,198,26,0,201,134,27,0,201,70,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,29,0,201,198,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,156,5,0,42,6,72,0,50,156,5,0,70,6,71,0,50,156,5,0,82,6,70,0,50,156,5,0,82,6,70,0,50,5,136,0,0,28,5,0,42,5,72,0,50,28,5,0,70,5,71,0,50,28,5,0,82,5,70,0,50,28,5,0,82,5,70,0,50,5,136,0,0,156,5,0,42,6,72,0,50,5,162,0,0,28,5,0,42,5,72,0,50,5,162,0,0,156,5,0,82,6,70,0,50,5,162,0,0,28,5,0,82,5,70,0,50,5,162,0,0,156,5,0,70,6,71,0,50,5,190,0,0,28,5,0,70,5,71,0,50,5,190,0,0,156,5,0,82,6,70,0,50,5,190,0,0,28,5,0,82,5,70,0,50,5,190,0,0,156,5,0,82,6,70,0,50,5,164,0,0,28,5,0,82,5,70,0,50,5,164,0,0,156,5,0,82,6,70,0,50,5,144,0,0,28,5,0,82,5,70,0,50,5,144,0,0,156,5,0,82,6,70,0,50,5,138,0,0,28,5,0,82,5,70,0,50,5,138,0,0,156,5,0,42,6,72,0,50,5,164,0,0,28,5,0,42,5,72,0,50,5,164,0,0,156,5,0,70,6,71,0,50,5,162,0,0,28,5,0,70,5,71,0,50,5,162,0,0,156,5,0,70,6,71,0,50,5,164,0,0,28,5,0,70,5,71,0,50,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,156,5,0,42,6,72,0,50,5,200,0,0,28,5,0,42,5,72,0,50,5,200,0,0,156,5,0,82,6,70,0,50,5,198,0,0,28,5,0,82,5,70,0,50,5,198,0,0,156,5,0,82,6,70,0,50,5,208,0,0,28,5,0,82,5,70,0,50,5,208,0,0,156,5,0,82,6,70,0,50,5,204,0,0,28,5,0,82,5,70,0,50,5,204,0,0,156,5,0,42,6,72,0,50,5,196,0,0,28,5,0,42,5,72,0,50,5,196,0,0,156,5,0,70,6,71,0,50,5,196,0,0,28,5,0,70,5,71,0,50,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,156,5,0,70,6,71,0,50,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,28,5,0,70,5,71,0,50,5,190,0,0,5,196,0,0,156,5,0,82,6,70,0,50,5,196,0,0,28,5,0,82,5,70,0,50,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,156,5,0,82,6,70,0,50,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,28,5,0,82,5,70,0,50,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,226,9,0,5,5,10,121,5,5,12,121,197,34,10,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,10,0,5,5,24,121,197,162,10,0,5,5,28,121,5,5,30,121,197,226,10,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,11,0,5,5,107,121,197,98,11,0,5,5,111,121,197,162,11,0,5,5,115,121,197,226,11,0,5,5,119,121,197,34,12,0,197,99,12,0,197,194,12,0,5,5,127,121,5,5,129,121,197,2,13,0,197,67,13,0,197,162,13,0,5,5,137,121,5,5,139,121,197,226,13,0,5,5,143,121,5,5,6,121,197,226,9,0,197,34,14,0,5,5,10,121,197,98,14,0,197,162,14,0,5,5,12,121,5,5,16,121,197,226,14,0,197,34,15,0,197,98,15,0,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,5,5,18,121,5,5,20,121,197,130,10,0,5,5,24,121,197,162,10,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,48,0,8,3,197,162,0,70,156,5,48,0,8,3,0,192,197,98,0,82,156,5,1,0,8,3,0,192,197,162,68,3,0,192,197,227,0,42,5,5,48,0,8,3,1,192,197,66,0,70,5,5,48,0,8,3,1,192,197,130,0,82,5,5,1,0,8,3,1,192,197,194,68,3,2,192,197,3,156,42,196,162,48,0,8,3,2,192,197,99,5,42,196,162,48,0,8,3,2,192,197,195,156,82,196,162,48,0,8,3,3,192,197,35,5,82,196,162,48,0,8,3,3,192,197,131,156,70,196,190,48,0,8,3,3,192,197,227,5,70,196,190,48,0,8,3,4,192,197,67,156,82,196,190,48,0,8,3,4,192,197,163,5,82,196,190,48,0,8,3,5,192,197,3,156,70,196,162,48,0,8,3,8,192,197,99,5,70,196,162,48,0,8,3,8,192,197,195,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,48,0,8,3,16,192,197,163,5,42,196,200,48,0,8,3,17,192,197,3,156,82,196,198,48,0,8,3,17,192,197,99,5,82,196,198,48,0,8,3,17,192,197,195,156,82,196,208,48,0,8,3,18,192,197,35,5,82,196,208,48,0,8,3,18,192,197,131,156,82,196,204,48,0,8,3,18,192,197,227,5,82,196,204,48,0,8,3,19,192,197,67,156,42,196,196,48,0,8,3,19,192,197,163,5,42,196,196,48,0,8,3,20,192,197,3,156,70,196,196,48,0,8,3,20,192,197,99,5,70,196,196,48,0,8,3,20,192,197,195,21,0,197,35,48,0,8,3,21,192,197,132,22,0,197,3,48,0,8,3,22,192,197,100,156,82,196,196,48,0,8,3,22,192,197,227,5,82,196,196,48,0,8,3,23,192,197,67,23,0,197,163,48,0,8,3,24,192,197,4,24,0,197,131,48,0,8,3,24,192,197,228,3,0,70,0,53,0,62,0,159,9,0,16,35,0,0,96,1,0,0,96,2,0,43,0,85,0,170,170,153,9,0,32,139,20,0,32,1,0,32,0,144,20,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,106,9,0,32,7,0,0,0,22,0,0,0,108,9,0,0,108,9,0,0,3,0,0,0,0,0,0,0,41,0,0,0,99,111,108,108,97,116,105,111,110,115,0,112,104,111,110,101,98,111,111,107,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,170,170,170,0,0,52,0,50,0,0,0,38,0,97,0,60,0,228,0,60,0,60,0,60,0,196,0,38,0,111,0,60,0,246,0,60,0,60,0,60,0,214,0,38,0,117,0,60,0,252,0,60,0,60,0,60,0,220,0,38,0,115,0,115,0,60,0,223,0,60,0,60,0,60,0,158,30,0,0,170,170,170,170,170,170,170,170,218,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,29,0,0,100,29,0,0,100,29,0,0,100,29,0,0,48,31,0,0,48,31,0,0,218,32,0,0,218,32,0,0,194,36,0,0,50,105,114,84,1,0,64,8,201,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,84,0,92,0,97,0,105,0,110,0,118,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,153,0,48,0,48,0,157,0,163,0,171,0,176,0,184,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,145,0,48,0,48,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,80,1,132,1,184,1,228,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,13,0,202,65,13,0,202,98,13,0,202,131,13,0,202,164,13,0,202,197,13,0,202,230,13,0,202,7,14,0,202,40,14,0,202,73,14,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,198,0,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,166,1,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,2,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,134,3,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,4,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,134,5,2,43,196,146,156,42,197,162,12,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,5,5,2,43,196,146,5,42,197,226,12,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,5,0,201,102,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,7,0,201,230,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,8,0,201,102,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,10,0,201,230,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,2,0,197,34,3,0,197,34,0,0,197,98,0,0,197,98,3,0,197,162,3,0,197,226,3,0,197,34,4,0,192,0,0,0,197,98,4,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,11,0,201,102,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,5,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,13,0,201,230,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,14,0,201,102,15,0,201,38,16,0,201,230,16,0,201,166,17,0,201,102,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,192,0,0,0,201,38,19,0,201,230,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,20,0,201,102,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,22,0,201,230,22,0,201,166,23,0,201,102,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,25,0,201,230,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,5,5,0,78,5,5,2,79,134,5,2,43,5,162,0,0,5,5,2,43,5,162,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,43,5,164,0,0,5,5,2,43,5,164,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,134,5,2,43,5,200,0,0,5,5,2,43,5,200,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,133,5,0,78,134,5,2,79,134,5,2,43,5,196,0,0,5,5,2,43,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,8,3,2,235,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,42,5,5,48,0,8,3,2,235,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,156,42,196,162,48,0,8,3,0,192,197,226,5,42,196,162,48,0,8,3,1,192,197,34,156,82,196,162,48,0,8,3,1,192,197,98,5,82,196,162,48,0,8,3,1,192,197,162,156,70,196,190,48,0,8,3,1,192,197,226,5,70,196,190,48,0,8,3,2,192,197,34,156,82,196,190,48,0,8,3,2,192,197,98,5,82,196,190,48,0,8,3,2,192,197,162,156,70,196,162,48,0,8,3,4,192,197,226,5,70,196,162,48,0,8,3,5,192,197,34,156,42,196,200,48,0,8,3,5,192,197,226,5,42,196,200,48,0,8,3,6,192,197,34,156,82,196,198,48,0,8,3,6,192,197,98,5,82,196,198,48,0,8,3,6,192,197,162,156,82,196,208,48,0,8,3,6,192,197,226,5,82,196,208,48,0,8,3,7,192,197,34,156,82,196,204,48,0,8,3,7,192,197,98,5,82,196,204,48,0,8,3,7,192,197,162,156,42,196,196,48,0,8,3,8,192,197,34,5,42,196,196,48,0,8,3,8,192,197,98,156,70,196,196,48,0,8,3,8,192,197,162,5,70,196,196,48,0,8,3,8,192,197,226,9,0,197,35,48,0,8,3,9,192,197,131,9,0,197,227,48,0,8,3,10,192,197,67,156,82,196,196,48,0,8,3,10,192,197,162,5,82,196,196,48,0,8,3,10,192,197,226,11,0,197,35,48,0,8,3,11,192,197,131,11,0,197,227,48,0,8,3,12,192,197,67,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,64,185,68,185,72,186,76,185,80,185,84,185,88,186,92,186,100,185,104,185,108,185,112,186,116,28,4,185,132,185,136,185,144,185,148,185,156,30,4,185,172,185,176,185,180,185,184,185,188,88,13,168,13,96,13,56,14,80,12,40,14,32,4,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,92,168,100,168,104,168,108,168,112,168,116,34,4,168,132,168,136,168,144,168,148,168,156,36,4,168,172,168,176,168,180,168,184,168,188,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,185,60,57,58,0,8,249,70,186,77,154,77,250,77,90,78,186,93,154,93,250,93,90,94,217,72,154,118,185,125,153,125,249,125,153,126,185,128,136,14,217,126,185,165,153,165,249,165,185,168,153,185,185,192,2,8,168,57,136,57,232,57,136,58,168,60,40,58,4,8,232,70,168,77,136,77,232,77,72,78,168,93,136,93,232,93,72,94,200,72,136,118,168,125,136,125,232,125,136,126,168,128,128,14,200,126,168,165,136,165,232,165,168,168,136,185,168,192,72,186,57,59,40,59,217,57,200,57,38,4,40,4,153,69,136,69,249,69,232,69,185,70,168,70,25,70,8,70,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,140,153,109,136,109,249,110,232,110,25,110,8,110,121,111,104,111,89,111,72,111,154,117,136,117,250,118,232,118,26,118,8,118,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,145,136,145,249,146,232,146,25,146,8,146,153,149,136,149,249,149,232,149,249,150,232,150,25,150,8,150,249,158,232,158,25,158,8,158,185,160,168,160,153,166,136,166,57,167,40,167,217,165,200,165,57,166,40,166,121,166,104,166,42,4,44,4,249,177,232,177,249,185,232,185,89,186,153,189,136,189,185,190,168,190,25,190,8,190,200,148,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,168,148,168,152,200,56,169,76,187,92,187,100,169,92,169,100,169,196,169,116,217,124,187,76,200,124,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,124,255,5,185,164,255,5,168,56,255,5,168,124,255,5,168,164,255,5,25,59,255,5,8,59,255,5,25,167,255,5,8,167,255,1,170,170,3,0,70,0,53,0,62,0,43,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,99,9,0,32,1,0,32,0,104,9,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,20,0,0,32,7,0,0,0,13,0,0,0,22,0,0,0,22,0,0,0,1,0,0,0,0,0,0,0,20,0,0,0,99,111,108,108,97,116,105,111,110,115,0,100,101,102,97,117,108,116,0,170,0,0,112,0,104,0,111,0,110,0,101,0,98,0,111,0,111,0,107,0,0,0,1,0,43,0,1,0,1,0,32,0,11,0,0,80,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,95,10,0,32,7,0,0,0,21,0,0,0,97,10,0,0,97,10,0,0,3,0,0,0,0,0,0,0,77,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,105,220,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,60,0,7,1,60,0,60,0,60,0,6,1,38,0,69,0,60,0,27,1,60,0,60,0,60,0,26,1,38,0,72,0,60,0,99,0,104,0,60,0,60,0,60,0,99,0,72,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,32,0,76,0,60,0,66,1,60,0,60,0,60,0,65,1,38,0,78,0,60,0,68,1,60,0,60,0,60,0,67,1,38,0,82,0,60,0,85,1,60,0,60,0,60,0,84,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,60,0,91,1,60,0,60,0,60,0,90,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,60,0,122,1,60,0,60,0,60,0,121,1,0,0,170,170,170,170,170,170,170,170,170,170,32,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,28,0,0,84,28,0,0,84,28,0,0,84,28,0,0,40,31,0,0,40,31,0,0,182,35,0,0,208,35,0,0,8,40,0,0,50,105,114,84,1,0,64,8,184,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,48,0,56,0,48,0,56,0,112,0,120,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,48,0,149,0,157,0,161,0,167,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,136,0,48,0,48,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,0,192,0,192,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,21,0,202,129,21,0,202,162,21,0,202,195,21,0,202,228,21,0,202,5,22,0,202,38,22,0,202,71,22,0,202,104,22,0,202,137,22,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,4,0,0,156,5,0,48,201,134,8,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,70,9,0,156,5,0,70,156,5,0,72,160,5,0,74,201,166,10,0,201,6,12,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,230,13,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,196,15,0,5,5,0,48,201,102,24,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,38,25,0,5,5,0,70,5,5,0,72,5,5,0,74,201,134,26,0,201,230,27,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,198,29,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,20,0,201,166,31,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,20,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,21,0,201,38,33,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,34,0,201,102,35,0,134,5,2,51,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,63,5,5,21,63,134,5,2,69,5,5,2,69,201,38,36,0,201,70,37,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,77,5,5,2,77,201,102,38,0,201,134,39,0,192,0,0,0,192,0,0,0,134,5,3,79,5,5,3,79,192,0,0,0,192,0,0,0,201,166,40,0,201,38,42,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,93,5,5,3,93,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,43,0,201,38,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,46,0,201,102,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,48,0,201,230,48,0,201,166,49,0,201,102,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,51,0,201,70,52,0,201,102,53,0,201,134,54,0,201,166,55,0,201,198,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,57,0,201,6,59,0,192,0,0,0,192,0,0,0,201,38,60,0,201,70,61,0,192,0,0,0,192,0,0,0,201,102,62,0,201,230,63,0,197,34,17,0,197,98,17,0,197,162,17,0,197,226,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,65,0,201,230,66,0,201,102,68,0,201,230,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,71,0,201,38,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,136,5,2,57,5,142,0,0,71,5,2,57,5,142,0,0,136,5,2,57,5,144,0,0,71,5,2,57,5,144,0,0,136,5,2,57,5,156,0,0,71,5,2,57,5,156,0,0,136,5,2,57,5,196,0,0,71,5,2,57,5,196,0,0,136,5,2,57,5,150,0,0,71,5,2,57,5,150,0,0,136,5,2,57,5,160,0,0,71,5,2,57,5,160,0,0,136,5,2,57,5,206,0,0,71,5,2,57,5,206,0,0,71,5,2,57,5,210,0,0,70,5,2,57,5,142,0,0,5,5,2,57,5,142,0,0,70,5,2,57,5,144,0,0,5,5,2,57,5,144,0,0,70,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,70,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,70,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,70,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,70,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,5,5,2,57,5,210,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,77,5,160,0,0,5,5,2,77,5,160,0,0,134,5,3,79,5,160,0,0,134,5,2,79,5,160,0,0,5,5,3,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,3,79,5,202,0,0,134,5,2,79,5,202,0,0,5,5,3,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,51,5,160,0,0,5,5,2,51,5,160,0,0,134,5,2,51,5,204,0,0,5,5,2,51,5,204,0,0,134,5,2,51,5,208,0,0,5,5,2,51,5,208,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,77,5,196,0,0,5,5,2,77,5,196,0,0,134,5,2,77,5,210,0,0,5,5,2,77,5,210,0,0,134,5,3,79,5,196,0,0,134,5,2,79,5,196,0,0,5,5,3,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,3,79,5,156,0,0,5,5,3,79,5,156,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,3,93,5,196,0,0,134,5,2,93,5,196,0,0,5,5,3,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,3,93,5,210,0,0,134,5,2,93,5,210,0,0,5,5,3,93,5,210,0,0,5,5,2,93,5,210,0,0,134,5,2,51,5,196,0,0,5,5,2,51,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,19,0,35,30,32,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,35,30,1,192,197,98,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,31,2,15,0,31,2,0,192,197,226,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,34,30,1,192,197,34,72,0,2,249,136,5,104,0,2,249,71,5,36,1,197,162,37,1,0,192,197,98,30,2,0,192,197,162,0,50,156,5,48,0,12,3,2,243,134,5,0,68,156,5,1,0,1,3,255,255,2,69,134,5,65,3,255,255,2,69,134,5,0,76,156,5,1,0,1,3,255,255,2,77,134,5,65,3,255,255,2,77,134,5,0,78,156,5,2,0,1,3,255,255,3,79,134,5,12,3,255,255,2,79,134,5,65,3,255,255,3,79,134,5,0,92,156,5,2,0,1,3,255,255,3,93,134,5,12,3,255,255,2,93,134,5,65,3,255,255,3,93,134,5,0,46,5,5,19,0,35,30,32,0,40,30,15,0,40,30,6,192,197,98,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,35,30,5,192,197,34,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,31,2,15,0,31,2,4,192,197,162,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,34,30,4,192,197,226,72,0,2,249,70,5,104,0,2,249,5,5,36,1,3,192,197,226,37,1,4,192,197,34,30,2,4,192,197,98,0,50,5,5,48,0,12,3,2,243,5,5,0,68,5,5,1,0,1,3,255,255,2,69,5,5,65,3,255,255,2,69,5,5,0,76,5,5,1,0,1,3,255,255,2,77,5,5,65,3,255,255,2,77,5,5,0,78,5,5,2,0,1,3,255,255,3,79,5,5,12,3,255,255,2,79,5,5,65,3,255,255,3,79,5,5,0,92,5,5,2,0,1,3,255,255,3,93,5,5,12,3,255,255,2,93,5,5,65,3,255,255,3,93,5,5,156,46,196,160,2,0,1,3,7,192,197,162,12,3,7,192,197,226,65,3,7,192,197,162,5,46,196,160,2,0,1,3,8,192,197,34,12,3,8,192,197,98,65,3,8,192,197,34,156,50,196,162,48,0,12,3,8,192,197,162,5,50,196,162,48,0,12,3,8,192,197,226,156,68,196,160,1,0,1,3,9,192,197,34,65,3,9,192,197,34,5,68,196,160,1,0,1,3,9,192,197,98,65,3,9,192,197,98,156,76,196,160,1,0,1,3,9,192,197,162,65,3,9,192,197,162,5,76,196,160,1,0,1,3,9,192,197,226,65,3,9,192,197,226,156,78,196,160,2,0,1,3,10,192,197,34,12,3,10,192,197,98,65,3,10,192,197,34,5,78,196,160,2,0,1,3,10,192,197,162,12,3,10,192,197,226,65,3,10,192,197,162,156,78,196,202,2,0,1,3,11,192,197,34,12,3,11,192,197,98,65,3,11,192,197,34,5,78,196,202,2,0,1,3,11,192,197,162,12,3,11,192,197,226,65,3,11,192,197,162,156,50,196,160,48,0,12,3,12,192,197,34,5,50,196,160,48,0,12,3,12,192,197,98,156,50,196,204,48,0,12,3,12,192,197,162,5,50,196,204,48,0,12,3,12,192,197,226,156,50,196,208,48,0,12,3,13,192,197,34,5,50,196,208,48,0,12,3,13,192,197,98,156,68,196,196,1,0,1,3,13,192,197,162,65,3,13,192,197,162,5,68,196,196,1,0,1,3,13,192,197,226,65,3,13,192,197,226,156,68,196,210,1,0,1,3,14,192,197,34,65,3,14,192,197,34,5,68,196,210,1,0,1,3,14,192,197,98,65,3,14,192,197,98,156,68,196,204,1,0,1,3,14,192,197,162,65,3,14,192,197,162,5,68,196,204,1,0,1,3,14,192,197,226,65,3,14,192,197,226,156,76,196,196,1,0,1,3,15,192,197,34,65,3,15,192,197,34,5,76,196,196,1,0,1,3,15,192,197,98,65,3,15,192,197,98,156,76,196,210,1,0,1,3,15,192,197,162,65,3,15,192,197,162,5,76,196,210,1,0,1,3,15,192,197,226,65,3,15,192,197,226,156,78,196,196,2,0,1,3,16,192,197,34,12,3,16,192,197,98,65,3,16,192,197,34,5,78,196,196,2,0,1,3,16,192,197,162,12,3,16,192,197,226,65,3,16,192,197,162,156,92,196,196,2,0,1,3,18,192,197,34,12,3,18,192,197,98,65,3,18,192,197,34,5,92,196,196,2,0,1,3,18,192,197,162,12,3,18,192,197,226,65,3,18,192,197,162,156,92,196,210,2,0,1,3,19,192,197,34,12,3,19,192,197,98,65,3,19,192,197,34,5,92,196,210,2,0,1,3,19,192,197,162,12,3,19,192,197,226,65,3,19,192,197,162,156,50,196,196,48,0,12,3,20,192,197,34,5,50,196,196,48,0,12,3,20,192,197,98,12,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,34,30,44,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,76,36,4,185,88,185,92,185,96,186,104,186,112,185,116,185,124,185,128,38,4,185,144,185,148,185,152,40,4,42,4,185,180,185,188,185,192,185,196,185,200,185,204,44,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,46,4,168,76,56,4,168,88,168,92,168,96,168,104,168,112,168,116,168,124,168,128,58,4,168,144,168,148,168,152,60,4,62,4,168,180,168,188,168,192,168,196,168,200,168,204,64,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,144,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,66,4,186,81,154,81,250,81,90,82,186,105,154,105,250,105,90,106,217,76,154,134,185,145,153,145,249,145,153,146,89,146,136,14,217,146,185,189,153,189,249,189,89,190,153,205,185,220,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,68,4,168,81,136,81,232,81,72,82,168,105,136,105,232,105,72,106,200,76,136,134,168,145,136,145,232,145,136,146,72,146,128,14,200,146,168,189,136,189,232,189,72,190,136,205,168,220,72,206,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,89,79,72,79,58,83,40,83,218,81,200,81,186,82,168,82,70,4,72,4,185,84,168,84,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,97,232,97,89,99,72,99,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,125,136,125,249,126,232,126,25,126,8,126,121,127,104,127,185,120,168,120,185,136,168,136,74,4,76,4,26,134,8,134,10,8,185,140,168,140,57,147,40,147,217,145,200,145,121,146,104,146,12,8,14,8,185,164,168,164,78,4,80,4,25,162,8,162,185,176,168,176,250,169,232,169,82,4,84,4,185,172,168,172,249,182,232,182,25,182,8,182,185,184,168,184,153,190,136,190,57,191,40,191,217,189,200,189,57,190,40,190,121,190,104,190,25,191,8,191,249,197,232,197,249,205,232,205,89,206,185,216,168,216,185,210,168,210,185,212,168,212,232,168,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,168,169,168,200,56,169,80,187,104,187,112,169,104,169,112,169,224,169,132,217,144,187,80,200,144,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,187,100,104,4,178,100,36,5,251,101,37,5,242,101,255,5,186,80,255,5,186,132,255,5,185,160,255,5,186,168,255,5,185,208,255,5,168,64,72,4,177,100,104,4,168,100,36,5,241,101,37,5,232,101,255,5,168,80,255,5,168,132,255,5,168,160,255,5,168,168,255,5,168,208,255,5,249,66,255,5,232,66,255,5,26,83,255,5,8,83,255,5,250,134,255,5,232,134,255,5,249,162,255,5,232,162,255,5,250,170,255,5,232,170,255,1,3,0,69,0,52,0,61,0,79,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,88,10,0,32,1,0,32,0,93,10,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,76,11,0,32,7,0,0,0,21,0,0,0,78,11,0,0,78,11,0,0,3,0,0,0,0,0,0,0,93,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,138,220,38,0,12,3,60,0,60,0,2,3,38,0,68,0,60,0,100,0,122,0,60,0,60,0,60,0,68,0,122,0,60,0,60,0,60,0,68,0,90,0,60,0,86,2,60,0,60,0,60,0,137,1,38,0,69,0,60,0,91,2,60,0,60,0,60,0,144,1,38,0,70,0,60,0,146,1,60,0,60,0,60,0,145,1,38,0,71,0,60,0,103,0,98,0,60,0,60,0,60,0,71,0,98,0,60,0,60,0,60,0,71,0,66,0,60,0,99,2,60,0,60,0,60,0,148,1,38,0,72,0,60,0,120,0,60,0,60,0,60,0,88,0,38,0,75,0,60,0,107,0,112,0,60,0,60,0,60,0,75,0,112,0,60,0,60,0,60,0,75,0,80,0,38,0,78,0,60,0,110,0,121,0,60,0,60,0,60,0,78,0,121,0,60,0,60,0,60,0,78,0,89,0,60,0,75,1,60,0,60,0,60,0,74,1,38,0,79,0,60,0,84,2,60,0,60,0,60,0,134,1,38,0,84,0,60,0,116,0,115,0,60,0,60,0,60,0,84,0,115,0,60,0,60,0,60,0,84,0,83,0,38,0,86,0,60,0,139,2,60,0,60,0,60,0,178,1,0,0,170,170,170,170,170,170,170,170,146,43,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,30,0,0,164,30,0,0,164,30,0,0,164,30,0,0,116,35,0,0,116,35,0,0,136,38,0,0,222,38,0,0,122,43,0,0,50,105,114,84,1,0,64,8,221,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,109,0,117,0,48,0,56,0,48,0,56,0,122,0,130,0,136,0,144,0,48,0,56,0,152,0,160,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,182,0,189,0,197,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,204,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,176,0,48,0,48,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,180,1,192,0,192,0,232,1,32,2,192,0,96,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,37,0,202,97,37,0,202,130,37,0,202,163,37,0,202,196,37,0,202,229,37,0,202,6,38,0,202,39,38,0,202,72,38,0,202,105,38,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,201,0,0,0,156,5,0,50,156,5,0,52,201,64,6,0,156,5,0,56,156,5,0,58,156,5,0,60,201,224,9,0,156,5,0,64,156,5,0,66,201,192,12,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,201,64,22,0,156,5,0,82,156,5,0,84,160,5,0,86,134,5,2,57,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,201,96,32,0,5,5,0,50,5,5,0,52,201,160,35,0,5,5,0,56,5,5,0,58,5,5,0,60,201,128,37,0,5,5,0,64,5,5,0,66,201,0,39,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,201,32,44,0,5,5,0,82,5,5,0,84,5,5,0,86,5,5,2,57,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,145,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,130,36,0,196,160,156,46,196,138,156,50,196,136,156,50,196,145,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,145,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,145,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,145,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,36,0,196,138,5,42,196,136,5,42,196,145,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,2,37,0,196,160,5,46,196,138,5,50,196,136,5,50,196,145,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,145,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,145,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,145,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,156,46,196,145,5,46,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,156,54,196,145,5,54,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,156,56,196,145,5,56,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,156,60,196,145,5,60,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,69,5,5,3,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,156,78,196,145,5,78,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,145,160,86,196,145,5,86,196,145,156,90,196,145,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,71,192,0,0,0,192,0,0,0,134,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,134,5,2,53,5,5,2,53,192,0,0,0,134,5,3,55,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,85,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,71,192,0,0,0,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,55,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,85,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,145,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,24,0,197,130,24,0,197,194,24,0,197,2,25,0,192,0,0,0,192,0,0,0,196,145,156,92,196,145,5,92,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,25,0,197,163,25,0,197,3,26,0,197,99,26,0,197,195,26,0,197,35,27,0,197,131,27,0,197,227,27,0,197,67,28,0,197,163,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,29,0,197,99,29,0,197,195,29,0,197,35,30,0,197,131,30,0,197,227,30,0,197,67,31,0,197,163,31,0,197,3,32,0,197,99,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,32,0,197,35,33,0,197,131,33,0,197,227,33,0,197,67,34,0,197,163,34,0,197,3,35,0,197,99,35,0,197,195,35,0,197,35,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,224,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,49,5,136,0,0,70,5,2,49,5,136,0,0,135,5,2,49,5,156,0,0,70,5,2,49,5,156,0,0,135,5,2,49,5,144,0,0,70,5,2,49,5,144,0,0,135,5,2,49,5,145,0,0,70,5,2,49,5,145,0,0,135,5,2,49,5,196,0,0,70,5,2,49,5,196,0,0,135,5,2,49,5,210,0,0,70,5,2,49,5,210,0,0,135,5,2,55,5,156,0,0,70,5,2,55,5,156,0,0,135,5,2,55,5,196,0,0,70,5,2,55,5,196,0,0,135,5,2,55,5,210,0,0,70,5,2,55,5,210,0,0,135,5,2,63,5,136,0,0,70,5,2,63,5,136,0,0,135,5,2,63,5,156,0,0,70,5,2,63,5,156,0,0,135,5,2,69,5,136,0,0,70,5,2,69,5,136,0,0,70,5,2,69,5,150,0,0,135,5,2,69,5,145,0,0,70,5,2,69,5,145,0,0,135,5,2,69,5,150,0,0,135,5,2,69,5,164,0,0,70,5,2,69,5,164,0,0,135,5,2,69,5,156,0,0,70,5,2,69,5,156,0,0,70,5,2,69,5,146,0,0,135,5,2,69,5,138,0,0,70,5,2,69,5,138,0,0,135,5,2,69,5,196,0,0,70,5,2,69,5,196,0,0,135,5,2,69,5,182,0,0,70,5,2,69,5,182,0,0,135,5,2,69,5,154,0,0,70,5,2,69,5,154,0,0,135,5,2,81,5,136,0,0,70,5,2,81,5,136,0,0,135,5,2,81,5,145,0,0,70,5,2,81,5,145,0,0,135,5,2,81,5,160,0,0,70,5,2,81,5,160,0,0,135,5,2,81,5,144,0,0,70,5,2,81,5,144,0,0,135,5,2,81,5,202,0,0,70,5,2,81,5,202,0,0,135,5,2,81,5,156,0,0,70,5,2,81,5,156,0,0,135,5,2,81,5,196,0,0,70,5,2,81,5,196,0,0,135,5,2,81,5,136,0,0,5,156,0,0,70,5,2,81,5,136,0,0,5,156,0,0,135,5,2,81,5,144,0,0,5,156,0,0,70,5,2,81,5,144,0,0,5,156,0,0,135,5,2,81,5,196,0,0,5,156,0,0,70,5,2,81,5,196,0,0,5,156,0,0,5,5,2,49,5,136,0,0,5,5,2,49,5,156,0,0,5,5,2,49,5,144,0,0,5,5,2,49,5,145,0,0,5,5,2,49,5,196,0,0,5,5,2,49,5,210,0,0,5,5,2,55,5,156,0,0,5,5,2,55,5,196,0,0,5,5,2,55,5,210,0,0,5,5,2,63,5,136,0,0,5,5,2,63,5,156,0,0,5,5,2,69,5,136,0,0,5,5,2,69,5,150,0,0,5,5,2,69,5,145,0,0,5,5,2,69,5,164,0,0,5,5,2,69,5,156,0,0,5,5,2,69,5,146,0,0,5,5,2,69,5,138,0,0,5,5,2,69,5,196,0,0,5,5,2,69,5,182,0,0,5,5,2,69,5,154,0,0,5,5,2,81,5,136,0,0,5,5,2,81,5,145,0,0,5,5,2,81,5,160,0,0,5,5,2,81,5,144,0,0,5,5,2,81,5,202,0,0,5,5,2,81,5,156,0,0,5,5,2,81,5,196,0,0,5,5,2,81,5,136,0,0,5,156,0,0,5,5,2,81,5,144,0,0,5,156,0,0,5,5,2,81,5,196,0,0,5,156,0,0,134,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,134,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,156,5,0,42,5,145,0,0,5,136,0,0,5,5,0,42,5,145,0,0,5,136,0,0,156,5,0,42,5,145,0,0,5,138,0,0,5,5,0,42,5,145,0,0,5,138,0,0,156,5,0,42,5,145,0,0,5,182,0,0,5,5,0,42,5,145,0,0,5,182,0,0,156,5,0,42,5,145,0,0,5,154,0,0,5,5,0,42,5,145,0,0,5,154,0,0,156,5,0,42,5,196,0,0,5,145,0,0,5,5,0,42,5,196,0,0,5,145,0,0,156,5,0,50,5,145,0,0,5,136,0,0,5,5,0,50,5,145,0,0,5,136,0,0,156,5,0,50,5,145,0,0,5,138,0,0,5,5,0,50,5,145,0,0,5,138,0,0,156,5,0,50,5,145,0,0,5,182,0,0,5,5,0,50,5,145,0,0,5,182,0,0,156,5,0,50,5,145,0,0,5,154,0,0,5,5,0,50,5,145,0,0,5,154,0,0,156,5,0,50,5,196,0,0,5,145,0,0,5,5,0,50,5,196,0,0,5,145,0,0,156,5,0,70,5,145,0,0,5,136,0,0,5,5,0,70,5,145,0,0,5,136,0,0,156,5,0,70,5,145,0,0,5,138,0,0,5,5,0,70,5,145,0,0,5,138,0,0,156,5,0,70,5,145,0,0,5,182,0,0,5,5,0,70,5,145,0,0,5,182,0,0,156,5,0,70,5,145,0,0,5,154,0,0,5,5,0,70,5,145,0,0,5,154,0,0,156,5,0,70,5,196,0,0,5,145,0,0,5,5,0,70,5,196,0,0,5,145,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,48,156,5,13,0,126,1,23,0,146,30,12,0,146,30,2,192,197,34,147,30,2,192,197,98,148,30,2,192,197,162,149,30,2,192,197,226,126,1,1,192,197,98,144,30,1,192,197,162,145,30,1,192,197,226,122,1,12,0,122,1,0,192,197,98,123,1,0,192,197,162,124,1,0,192,197,226,125,1,1,192,197,34,90,0,2,241,135,5,122,0,2,241,70,5,121,1,197,162,0,54,156,5,7,0,4,30,12,0,4,30,3,192,197,162,5,30,3,192,197,226,6,30,4,192,197,34,7,30,4,192,197,98,66,0,2,247,135,5,98,0,2,247,70,5,2,30,3,192,197,34,3,30,3,192,197,98,0,62,156,5,5,0,85,30,9,0,85,30,4,192,197,226,86,30,5,192,197,34,87,30,5,192,197,98,80,0,2,255,135,5,112,0,2,255,70,5,84,30,4,192,197,162,0,68,156,5,20,0,142,30,37,0,244,30,20,0,247,30,9,0,247,30,9,192,197,162,248,30,9,192,197,226,249,30,10,192,197,34,244,30,8,192,197,226,245,30,9,192,197,34,246,30,9,192,197,98,142,30,7,192,197,162,143,30,7,192,197,226,153,30,8,192,197,34,242,30,8,192,197,98,243,30,8,192,197,162,118,1,15,0,118,1,6,192,197,98,119,1,6,192,197,162,120,1,6,192,197,226,50,2,7,192,197,34,51,2,7,192,197,98,89,0,255,255,2,69,135,5,121,0,255,255,2,69,70,5,221,0,5,192,197,162,253,0,5,192,197,226,255,0,6,192,197,34,0,80,156,5,21,0,25,2,37,0,100,30,20,0,103,30,9,0,103,30,15,192,197,3,104,30,15,192,197,99,105,30,15,192,197,195,100,30,13,192,197,227,101,30,14,192,197,67,102,30,14,192,197,163,25,2,12,192,197,162,96,30,12,192,197,226,97,30,13,192,197,34,98,30,13,192,197,98,99,30,13,192,197,162,93,1,20,0,96,1,9,0,96,1,11,192,197,226,97,1,12,192,197,34,24,2,12,192,197,98,93,1,11,192,197,34,94,1,11,192,197,98,95,1,11,192,197,162,83,0,255,255,2,81,135,5,115,0,255,255,2,81,70,5,90,1,10,192,197,98,91,1,10,192,197,162,92,1,10,192,197,226,0,48,5,5,6,0,126,1,12,0,126,1,16,192,197,162,145,30,16,192,197,226,147,30,17,192,197,34,149,30,17,192,197,98,122,0,2,241,5,5,122,1,16,192,197,34,124,1,16,192,197,98,0,54,5,5,3,0,98,0,2,247,5,5,3,30,17,192,197,162,5,30,17,192,197,226,7,30,18,192,197,34,0,62,5,5,2,0,112,0,2,255,5,5,85,30,18,192,197,98,87,30,18,192,197,162,0,68,5,5,10,0,143,30,20,0,245,30,9,0,245,30,20,192,197,162,247,30,20,192,197,226,249,30,21,192,197,34,143,30,19,192,197,226,153,30,20,192,197,34,243,30,20,192,197,98,121,0,255,255,2,69,5,5,253,0,18,192,197,226,255,0,19,192,197,34,119,1,19,192,197,98,51,2,19,192,197,162,0,80,5,5,10,0,25,2,20,0,101,30,9,0,101,30,23,192,197,35,103,30,23,192,197,131,105,30,23,192,197,227,25,2,22,192,197,98,97,30,22,192,197,162,99,30,22,192,197,226,115,0,255,255,2,81,5,5,91,1,21,192,197,98,93,1,21,192,197,162,95,1,21,192,197,226,97,1,22,192,197,34,42,0,66,0,67,0,80,0,81,0,83,0,84,0,89,0,91,0,98,0,99,0,112,0,113,0,115,0,116,0,121,0,123,0,221,0,222,0,253,0,254,0,255,0,0,1,90,1,98,1,118,1,127,1,24,2,26,2,50,2,52,2,2,30,8,30,84,30,88,30,96,30,106,30,142,30,150,30,153,30,154,30,242,30,250,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,26,4,186,76,185,80,44,4,185,92,186,100,186,108,50,4,185,120,185,124,56,4,185,140,185,144,185,148,185,156,186,160,74,4,185,176,185,180,185,184,185,96,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,96,4,168,76,168,80,106,4,168,92,168,100,168,108,110,4,168,120,168,124,114,4,168,140,168,144,168,148,168,156,168,160,124,4,168,176,168,180,168,184,168,96,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,25,58,153,58,89,58,57,58,0,8,249,66,186,77,154,77,26,78,90,78,186,101,154,101,26,102,90,102,217,68,154,130,185,141,153,141,25,142,153,142,89,142,136,14,217,142,185,177,153,177,25,178,89,178,153,189,185,196,2,8,168,57,136,57,8,58,136,58,72,58,40,58,4,8,232,66,168,77,136,77,8,78,72,78,168,101,136,101,8,102,72,102,200,68,136,130,168,141,136,141,8,142,136,142,72,142,128,14,200,142,168,177,136,177,8,178,72,178,136,189,168,196,72,190,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,25,66,8,66,185,66,168,66,249,65,232,65,249,69,232,69,89,71,72,71,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,250,77,232,77,25,86,8,86,217,85,200,85,185,86,168,86,249,86,232,86,25,94,8,94,89,95,72,95,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,26,110,8,110,249,114,232,114,168,152,153,121,136,121,249,122,232,122,249,121,232,121,121,123,104,123,89,123,72,123,154,129,136,129,250,130,232,130,250,129,232,129,10,8,185,136,168,136,57,143,40,143,217,141,200,141,121,142,104,142,12,8,14,8,153,157,136,157,249,158,232,158,249,157,232,157,154,161,136,161,26,162,8,162,250,162,232,162,250,161,232,161,249,166,232,166,249,165,232,165,185,172,168,172,153,178,136,178,57,179,40,179,217,177,200,177,57,178,40,178,121,178,104,178,25,179,8,179,25,186,8,186,25,190,8,190,89,190,153,193,136,193,185,194,168,194,249,193,232,193,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,160,169,160,200,56,169,76,187,100,187,108,169,100,169,108,169,200,169,128,217,140,187,76,200,140,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,68,90,4,186,72,122,4,177,72,121,5,154,73,122,5,145,73,123,5,186,74,124,5,177,74,125,5,250,73,126,5,241,73,255,5,185,84,66,4,186,88,98,4,177,88,255,5,185,112,80,4,186,116,112,4,177,116,255,5,186,128,89,4,186,132,121,4,177,132,221,4,154,133,253,4,145,133,255,4,81,134,118,5,26,134,119,5,17,134,120,5,90,134,255,5,185,164,83,4,186,168,115,4,177,168,90,5,154,169,91,5,145,169,92,5,26,170,93,5,17,170,94,5,250,170,95,5,241,170,96,5,250,169,97,5,241,169,255,5,168,68,122,4,168,72,122,5,136,73,124,5,168,74,126,5,232,73,255,5,168,84,98,4,168,88,255,5,168,112,112,4,168,116,255,5,168,128,121,4,168,132,253,4,136,133,255,4,72,134,119,5,8,134,255,5,168,164,115,4,168,168,91,5,136,169,93,5,8,170,95,5,232,170,97,5,232,169,255,1,170,170,3,0,69,0,52,0,61,0,95,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,69,11,0,32,1,0,32,0,74,11,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,132,0,0,32,7,0,0,0,21,0,0,0,134,0,0,0,134,0,0,0,3,0,0,0,0,0,0,0,40,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,71,0,114,0,101,0,107,0,93,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,68,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,44,0,0,0,44,1,0,0,14,0,0,0,0,0,0,96,199,255,96,96,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,43,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,125,0,0,32,1,0,32,0,130,0,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,149,15,0,32,7,0,0,0,21,0,0,0,151,15,0,0,151,15,0,0,3,0,0,0,0,0,0,0,70,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,92,220,38,0,65,0,60,0,42,0,39,0,32,0,39,0,45,0,39,0,47,0,39,0,60,0,42,0,48,0,45,0,39,0,64,0,39,0,60,0,42,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,84,0,85,0,86,0,87,0,88,0,89,0,90,0,60,0,42,0,39,0,91,0,39,0,45,0,39,0,96,0,39,0,60,0,42,0,97,0,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,107,0,108,0,109,0,110,0,111,0,112,0,113,0,114,0,115,0,116,0,117,0,118,0,119,0,120,0,121,0,122,0,60,0,42,0,39,0,123,0,39,0,45,0,39,0,127,0,39,0,0,0,170,170,170,170,24,61,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,0,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,34,0,0,84,34,0,0,252,51,0,0,252,51,0,0,228,60,0,0,228,60,0,0,252,60,0,0,252,60,0,0,252,60,0,0,50,105,114,84,1,0,64,8,24,1,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,125,0,133,0,141,0,149,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,154,0,162,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,186,0,194,0,202,0,210,0,218,0,226,0,234,0,242,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,249,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,178,0,48,0,48,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,244,1,52,2,192,0,192,0,192,0,192,0,104,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,2,43,5,5,3,43,5,5,4,43,193,2,5,43,193,3,5,43,193,4,5,43,193,5,5,43,193,6,5,43,193,7,5,43,193,8,5,43,193,9,5,43,193,10,5,43,193,11,5,43,193,12,5,43,193,13,5,43,193,14,5,43,202,0,70,0,202,33,70,0,202,66,70,0,202,99,70,0,202,132,70,0,202,165,70,0,202,198,70,0,202,231,70,0,202,8,71,0,202,41,71,0,193,25,5,43,193,26,5,43,193,27,5,43,193,28,5,43,193,29,5,43,193,30,5,43,193,31,5,43,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,198,129,0,0,198,161,0,0,198,193,0,0,198,225,0,0,198,1,1,0,198,33,1,0,198,65,1,0,198,97,1,0,198,129,1,0,198,161,1,0,198,193,1,0,198,225,1,0,198,1,2,0,198,33,2,0,198,65,2,0,198,97,2,0,198,129,2,0,198,161,2,0,198,193,2,0,198,225,2,0,198,1,3,0,198,33,3,0,193,58,5,43,193,59,5,43,193,60,5,43,193,61,5,43,193,62,5,43,193,63,5,43,193,64,5,43,193,65,5,43,193,66,5,43,193,67,5,43,193,68,5,43,193,69,5,43,193,70,5,43,193,71,5,43,193,72,5,43,193,73,5,43,193,74,5,43,193,75,5,43,193,76,5,43,193,77,5,43,193,78,5,43,193,79,5,43,193,80,5,43,193,81,5,43,193,82,5,43,193,83,5,43,193,84,5,43,193,85,5,43,193,86,5,43,193,87,5,43,193,88,5,43,193,89,5,43,193,90,5,43,193,91,5,43,193,92,5,43,193,93,5,43,193,94,5,43,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,3,0,198,130,3,0,198,194,3,0,198,2,4,0,198,66,4,0,198,130,4,0,197,66,69,0,198,194,4,0,198,2,5,0,198,66,5,0,198,130,5,0,198,194,5,0,198,2,6,0,198,66,6,0,198,130,6,0,198,194,6,0,160,112,0,48,198,2,7,0,198,66,7,0,198,130,7,0,198,194,7,0,198,2,8,0,198,66,8,0,5,5,127,12,196,158,156,70,198,130,8,0,198,194,8,0,198,2,9,0,198,66,9,0,198,130,9,0,160,5,38,93,197,130,69,0,197,34,0,0,197,98,0,0,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,197,194,69,0,197,162,1,0,197,226,1,0,197,34,2,0,197,98,2,0,197,162,2,0,197,226,2,0,197,34,3,0,197,98,3,0,197,162,3,0,5,112,0,48,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,5,5,125,12,196,158,5,70,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,5,5,38,93,197,162,6,0,198,194,9,0,197,226,6,0,198,2,10,0,197,34,7,0,198,66,10,0,197,98,7,0,198,130,10,0,197,162,7,0,198,194,10,0,197,226,7,0,198,2,11,0,197,34,8,0,198,66,11,0,197,98,8,0,198,130,11,0,197,162,8,0,192,0,0,0,192,0,0,0,198,194,11,0,197,226,8,0,198,2,12,0,197,34,9,0,198,66,12,0,197,98,9,0,198,130,12,0,197,162,9,0,198,194,12,0,197,226,9,0,198,2,13,0,197,34,10,0,198,66,13,0,197,98,10,0,198,130,13,0,197,162,10,0,198,194,13,0,197,226,10,0,198,2,14,0,197,34,11,0,192,0,0,0,192,0,0,0,198,66,14,0,197,98,11,0,198,130,14,0,197,162,11,0,198,194,14,0,197,226,11,0,198,2,15,0,197,34,12,0,198,66,15,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,15,0,197,98,12,0,198,194,15,0,197,162,12,0,192,0,0,0,198,2,16,0,197,226,12,0,198,66,16,0,197,34,13,0,198,130,16,0,197,98,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,16,0,197,162,13,0,198,2,17,0,197,226,13,0,198,66,17,0,197,34,14,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,17,0,197,98,14,0,198,194,17,0,197,162,14,0,198,2,18,0,197,226,14,0,192,0,0,0,192,0,0,0,198,66,18,0,197,34,15,0,198,130,18,0,197,98,15,0,198,194,18,0,197,162,15,0,198,2,19,0,197,226,15,0,198,66,19,0,197,34,16,0,198,130,19,0,197,98,16,0,198,194,19,0,197,162,16,0,198,2,20,0,197,226,16,0,198,66,20,0,197,34,17,0,192,0,0,0,192,0,0,0,198,130,20,0,197,98,17,0,198,194,20,0,197,162,17,0,198,2,21,0,197,226,17,0,198,66,21,0,197,34,18,0,198,130,21,0,197,98,18,0,198,194,21,0,197,162,18,0,198,2,22,0,197,226,18,0,198,66,22,0,197,34,19,0,198,130,22,0,198,194,22,0,197,98,19,0,198,2,23,0,197,162,19,0,198,66,23,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,23,0,197,34,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,23,0,197,98,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,24,0,197,162,20,0,198,66,24,0,197,226,20,0,198,130,24,0,197,34,21,0,198,194,24,0,197,98,21,0,198,3,25,0,197,163,21,0,198,99,25,0,197,3,22,0,198,195,25,0,197,99,22,0,198,35,26,0,197,195,22,0,192,0,0,0,198,131,26,0,197,35,23,0,198,227,26,0,197,131,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,27,0,197,226,23,0,198,130,27,0,197,34,24,0,198,194,27,0,197,98,24,0,198,3,28,0,197,163,24,0,192,0,0,0,192,0,0,0,197,2,25,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,28,0,197,66,25,0,192,0,0,0,192,0,0,0,198,162,28,0,197,130,25,0,198,227,28,0,197,195,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,29,0,197,34,26,0,198,130,29,0,197,98,26,0,198,194,29,0,197,162,26,0,198,2,30,0,197,226,26,0,198,66,30,0,197,34,27,0,198,130,30,0,197,98,27,0,198,194,30,0,197,162,27,0,198,2,31,0,197,226,27,0,198,66,31,0,197,34,28,0,198,130,31,0,197,98,28,0,198,194,31,0,197,162,28,0,198,2,32,0,197,226,28,0,198,66,32,0,197,34,29,0,198,130,32,0,197,98,29,0,192,0,0,0,192,0,0,0,198,194,32,0,197,162,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,201,198,0,0,198,2,33,0,197,226,29,0,198,67,33,0,197,35,30,0,198,163,33,0,197,131,30,0,198,2,34,0,197,226,30,0,198,67,34,0,197,35,31,0,198,162,34,0,197,130,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,26,5,43,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,34,0,197,194,31,0,198,34,35,0,197,2,32,0,198,98,35,0,197,66,32,0,198,162,35,0,197,130,32,0,198,227,35,0,197,195,32,0,198,66,36,0,197,34,33,0,198,130,36,0,197,98,33,0,198,194,36,0,197,162,33,0,198,2,37,0,197,226,33,0,198,66,37,0,197,34,34,0,198,131,37,0,197,99,34,0,198,227,37,0,197,195,34,0,198,66,38,0,197,34,35,0,198,130,38,0,197,98,35,0,198,195,38,0,197,163,35,0,198,34,39,0,197,2,36,0,198,98,39,0,197,66,36,0,198,162,39,0,197,130,36,0,198,226,39,0,197,194,36,0,198,34,40,0,197,2,37,0,198,98,40,0,197,66,37,0,198,162,40,0,197,130,37,0,198,226,40,0,197,194,37,0,198,35,41,0,197,3,38,0,198,130,41,0,197,98,38,0,198,194,41,0,197,162,38,0,198,2,42,0,197,226,38,0,198,66,42,0,197,34,39,0,198,131,42,0,197,99,39,0,198,226,42,0,197,194,39,0,198,34,43,0,197,2,40,0,198,98,43,0,197,66,40,0,198,162,43,0,197,130,40,0,198,226,43,0,197,194,40,0,198,34,44,0,197,2,41,0,198,98,44,0,197,66,41,0,198,162,44,0,197,130,41,0,198,226,44,0,197,194,41,0,198,35,45,0,197,3,42,0,198,131,45,0,197,99,42,0,198,227,45,0,197,195,42,0,198,67,46,0,197,35,43,0,198,162,46,0,197,130,43,0,198,226,46,0,197,194,43,0,198,34,47,0,197,2,44,0,198,98,47,0,197,66,44,0,198,163,47,0,197,131,44,0,198,2,48,0,197,226,44,0,198,66,48,0,197,34,45,0,198,130,48,0,197,98,45,0,198,195,48,0,197,163,45,0,198,35,49,0,197,3,46,0,198,131,49,0,197,99,46,0,198,226,49,0,197,194,46,0,198,34,50,0,197,2,47,0,198,98,50,0,197,66,47,0,198,162,50,0,197,130,47,0,198,226,50,0,197,194,47,0,198,34,51,0,197,2,48,0,198,98,51,0,197,66,48,0,198,163,51,0,197,131,48,0,198,3,52,0,197,227,48,0,198,98,52,0,197,66,49,0,198,162,52,0,197,130,49,0,198,226,52,0,197,194,49,0,198,34,53,0,197,2,50,0,198,98,53,0,197,66,50,0,198,162,53,0,197,130,50,0,198,226,53,0,197,194,50,0,198,34,54,0,197,2,51,0,198,98,54,0,197,66,51,0,198,162,54,0,197,130,51,0,198,226,54,0,197,194,51,0,198,34,55,0,197,2,52,0,198,98,55,0,197,66,52,0,197,130,52,0,197,194,52,0,197,2,53,0,197,66,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,55,0,197,130,53,0,198,226,55,0,197,194,53,0,198,35,56,0,197,3,54,0,198,131,56,0,197,99,54,0,198,227,56,0,197,195,54,0,198,67,57,0,197,35,55,0,198,163,57,0,197,131,55,0,198,3,58,0,197,227,55,0,198,99,58,0,197,67,56,0,198,195,58,0,197,163,56,0,198,35,59,0,197,3,57,0,198,131,59,0,197,99,57,0,198,226,59,0,197,194,57,0,198,34,60,0,197,2,58,0,198,98,60,0,197,66,58,0,198,163,60,0,197,131,58,0,198,3,61,0,197,227,58,0,198,99,61,0,197,67,59,0,198,195,61,0,197,163,59,0,198,35,62,0,197,3,60,0,198,130,62,0,197,98,60,0,198,194,62,0,197,162,60,0,198,2,63,0,197,226,60,0,198,66,63,0,197,34,61,0,198,131,63,0,197,99,61,0,198,227,63,0,197,195,61,0,198,67,64,0,197,35,62,0,198,163,64,0,197,131,62,0,198,3,65,0,197,227,62,0,198,99,65,0,197,67,63,0,198,195,65,0,197,163,63,0,198,35,66,0,197,3,64,0,198,131,66,0,197,99,64,0,198,227,66,0,197,195,64,0,198,66,67,0,197,34,65,0,198,130,67,0,197,98,65,0,198,195,67,0,197,163,65,0,198,35,68,0,197,3,66,0,198,131,68,0,197,99,66,0,198,227,68,0,197,195,66,0,198,67,69,0,197,35,67,0,198,162,69,0,197,130,67,0,198,226,69,0,197,194,67,0,198,34,70,0,197,2,68,0,198,98,70,0,197,66,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,63,5,43,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,1,0,198,130,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,68,0,197,2,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,133,0,5,0,32,5,43,0,133,0,5,0,33,5,43,0,133,0,5,0,34,5,43,0,133,0,5,0,35,5,43,0,133,0,5,0,36,5,43,0,133,0,5,0,37,5,43,0,133,0,5,0,38,5,43,0,133,0,5,0,39,5,43,0,133,0,5,0,40,5,43,0,133,0,5,0,41,5,43,0,133,0,5,0,42,5,43,0,133,0,5,0,43,5,43,0,133,0,5,0,44,5,43,0,133,0,5,0,45,5,43,0,133,0,5,0,46,5,43,0,133,0,5,0,47,5,43,0,133,0,5,0,48,5,43,0,133,0,5,0,49,5,43,0,133,0,5,0,50,5,43,0,133,0,5,0,51,5,43,0,133,0,5,0,52,5,43,0,133,0,5,0,53,5,43,0,133,0,5,0,54,5,43,0,133,0,5,0,55,5,43,0,133,0,5,0,56,5,43,0,133,0,5,0,57,5,43,0,133,0,5,0,32,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,146,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,162,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,162,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,162,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,41,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,42,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,152,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,140,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,146,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,152,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,162,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,150,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,150,0,0,0,0,0,5,0,144,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,150,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,42,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,162,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,162,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,184,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,188,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,202,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,202,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,144,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,154,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,200,0,0,0,0,0,133,0,5,0,33,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,33,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,33,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,34,5,43,0,5,0,160,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,35,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,164,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,164,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,208,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,160,0,0,0,0,0,5,0,140,0,0,0,0,0,133,0,5,0,37,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,38,5,43,0,5,0,164,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,160,0,0,0,0,0,133,0,5,0,39,5,43,0,5,0,206,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,208,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,150,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,42,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,42,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,42,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,196,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,43,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,44,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,44,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,44,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,45,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,154,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,154,0,0,0,0,0,5,0,150,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,164,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,164,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,47,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,47,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,196,0,0,0,0,0,5,0,164,0,0,0,0,0,133,0,5,0,49,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,136,0,0,0,0,0,5,0,156,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,144,0,0,0,0,0,5,0,156,0,0,0,0,0,133,0,5,0,50,5,43,0,5,0,196,0,0,0,0,0,5,0,156,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,51,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,198,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,208,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,204,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,154,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,164,0,0,0,0,0,5,0,150,0,0,0,0,0,133,0,5,0,53,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,53,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,136,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,54,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,55,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,55,5,43,0,5,0,150,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,156,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,142,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,57,5,43,0,5,0,210,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,32,5,43,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,154,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,36,5,43,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,40,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,46,5,43,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,5,0,136,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,5,0,138,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,5,0,182,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,5,0,154,0,0,0,0,0,133,0,5,0,52,5,43,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,138,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,196,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,182,0,0,0,0,0,133,0,5,0,56,5,43,0,5,0,154,0,0,0,0,0,0,0,0,193,64,5,43,5,138,0,0,193,64,5,43,5,136,0,0,193,64,5,43,5,142,0,0,193,64,5,43,5,154,0,0,193,64,5,43,5,150,0,0,193,64,5,43,5,146,0,0,193,66,5,43,5,160,0,0,193,68,5,43,5,138,0,0,193,68,5,43,5,136,0,0,193,68,5,43,5,142,0,0,193,68,5,43,5,150,0,0,193,72,5,43,5,138,0,0,193,72,5,43,5,136,0,0,193,72,5,43,5,142,0,0,193,72,5,43,5,150,0,0,193,77,5,43,5,154,0,0,193,78,5,43,5,138,0,0,193,78,5,43,5,136,0,0,193,78,5,43,5,142,0,0,193,78,5,43,5,154,0,0,193,78,5,43,5,150,0,0,193,84,5,43,5,138,0,0,193,84,5,43,5,136,0,0,193,84,5,43,5,142,0,0,193,84,5,43,5,150,0,0,193,88,5,43,5,136,0,0,193,88,5,43,5,150,0,0,193,64,5,43,5,164,0,0,193,64,5,43,5,140,0,0,193,64,5,43,5,162,0,0,193,66,5,43,5,136,0,0,193,66,5,43,5,142,0,0,193,66,5,43,5,156,0,0,193,66,5,43,5,144,0,0,193,67,5,43,5,144,0,0,193,68,5,43,5,164,0,0,193,68,5,43,5,140,0,0,193,68,5,43,5,156,0,0,193,68,5,43,5,162,0,0,193,68,5,43,5,144,0,0,193,70,5,43,5,142,0,0,193,70,5,43,5,140,0,0,193,70,5,43,5,156,0,0,193,70,5,43,5,160,0,0,193,71,5,43,5,142,0,0,193,72,5,43,5,154,0,0,193,72,5,43,5,164,0,0,193,72,5,43,5,140,0,0,193,72,5,43,5,162,0,0,193,73,5,43,5,142,0,0,193,74,5,43,5,160,0,0,193,75,5,43,5,136,0,0,193,75,5,43,5,160,0,0,193,75,5,43,5,144,0,0,193,77,5,43,5,136,0,0,193,77,5,43,5,160,0,0,193,77,5,43,5,144,0,0,193,78,5,43,5,164,0,0,193,78,5,43,5,140,0,0,193,78,5,43,5,152,0,0,193,81,5,43,5,136,0,0,193,81,5,43,5,160,0,0,193,81,5,43,5,144,0,0,193,82,5,43,5,136,0,0,193,82,5,43,5,142,0,0,193,82,5,43,5,160,0,0,193,82,5,43,5,144,0,0,193,83,5,43,5,160,0,0,193,83,5,43,5,144,0,0,193,84,5,43,5,154,0,0,193,84,5,43,5,164,0,0,193,84,5,43,5,140,0,0,193,84,5,43,5,146,0,0,193,84,5,43,5,152,0,0,193,84,5,43,5,162,0,0,193,86,5,43,5,142,0,0,193,88,5,43,5,142,0,0,193,89,5,43,5,136,0,0,193,89,5,43,5,156,0,0,193,89,5,43,5,144,0,0,193,78,5,43,5,190,0,0,193,84,5,43,5,190,0,0,193,64,5,43,5,144,0,0,193,72,5,43,5,144,0,0,193,78,5,43,5,144,0,0,193,84,5,43,5,144,0,0,193,84,5,43,5,150,0,0,5,164,0,0,193,84,5,43,5,150,0,0,5,136,0,0,193,84,5,43,5,150,0,0,5,144,0,0,193,84,5,43,5,150,0,0,5,138,0,0,193,64,5,43,5,150,0,0,5,164,0,0,193,64,5,43,5,156,0,0,5,164,0,0,193,70,5,43,5,144,0,0,193,74,5,43,5,144,0,0,193,78,5,43,5,162,0,0,193,78,5,43,5,162,0,0,5,164,0,0,193,73,5,43,5,144,0,0,193,70,5,43,5,136,0,0,193,77,5,43,5,138,0,0,193,64,5,43,5,146,0,0,5,136,0,0,193,64,5,43,5,184,0,0,193,64,5,43,5,188,0,0,193,68,5,43,5,184,0,0,193,68,5,43,5,188,0,0,193,72,5,43,5,184,0,0,193,72,5,43,5,188,0,0,193,78,5,43,5,184,0,0,193,78,5,43,5,188,0,0,193,81,5,43,5,184,0,0,193,81,5,43,5,188,0,0,193,84,5,43,5,184,0,0,193,84,5,43,5,188,0,0,193,82,5,43,5,202,0,0,193,83,5,43,5,202,0,0,193,71,5,43,5,144,0,0,193,68,5,43,5,160,0,0,193,78,5,43,5,150,0,0,5,164,0,0,193,78,5,43,5,154,0,0,5,164,0,0,193,78,5,43,5,156,0,0,193,78,5,43,5,156,0,0,5,164,0,0,193,88,5,43,5,164,0,0,193,64,5,43,5,200,0,0,193,65,5,43,5,156,0,0,193,65,5,43,5,196,0,0,193,65,5,43,5,210,0,0,193,66,5,43,5,160,0,0,5,136,0,0,193,67,5,43,5,156,0,0,193,67,5,43,5,196,0,0,193,67,5,43,5,210,0,0,193,67,5,43,5,160,0,0,193,67,5,43,5,204,0,0,193,68,5,43,5,164,0,0,5,138,0,0,193,68,5,43,5,164,0,0,5,136,0,0,193,68,5,43,5,204,0,0,193,68,5,43,5,208,0,0,193,68,5,43,5,160,0,0,5,140,0,0,193,69,5,43,5,156,0,0,193,70,5,43,5,164,0,0,193,71,5,43,5,156,0,0,193,71,5,43,5,196,0,0,193,71,5,43,5,150,0,0,193,71,5,43,5,160,0,0,193,71,5,43,5,206,0,0,193,72,5,43,5,208,0,0,193,72,5,43,5,150,0,0,5,136,0,0,193,74,5,43,5,136,0,0,193,74,5,43,5,196,0,0,193,74,5,43,5,210,0,0,193,75,5,43,5,196,0,0,193,75,5,43,5,196,0,0,5,164,0,0,193,75,5,43,5,210,0,0,193,75,5,43,5,204,0,0,193,76,5,43,5,136,0,0,193,76,5,43,5,156,0,0,193,76,5,43,5,196,0,0,193,77,5,43,5,156,0,0,193,77,5,43,5,196,0,0,193,77,5,43,5,210,0,0,193,77,5,43,5,204,0,0,193,78,5,43,5,154,0,0,5,136,0,0,193,78,5,43,5,154,0,0,5,150,0,0,193,78,5,43,5,164,0,0,5,138,0,0,193,78,5,43,5,164,0,0,5,136,0,0,193,79,5,43,5,136,0,0,193,79,5,43,5,156,0,0,193,81,5,43,5,156,0,0,193,81,5,43,5,196,0,0,193,81,5,43,5,196,0,0,5,164,0,0,193,81,5,43,5,210,0,0,193,82,5,43,5,156,0,0,193,82,5,43,5,196,0,0,193,82,5,43,5,136,0,0,5,156,0,0,193,82,5,43,5,144,0,0,5,156,0,0,193,82,5,43,5,196,0,0,5,156,0,0,193,83,5,43,5,156,0,0,193,83,5,43,5,196,0,0,193,83,5,43,5,210,0,0,193,83,5,43,5,204,0,0,193,84,5,43,5,198,0,0,193,84,5,43,5,208,0,0,193,84,5,43,5,204,0,0,193,84,5,43,5,154,0,0,5,136,0,0,193,84,5,43,5,164,0,0,5,150,0,0,193,85,5,43,5,154,0,0,193,85,5,43,5,196,0,0,193,86,5,43,5,138,0,0,193,86,5,43,5,136,0,0,193,86,5,43,5,150,0,0,193,86,5,43,5,156,0,0,193,86,5,43,5,196,0,0,193,87,5,43,5,156,0,0,193,87,5,43,5,150,0,0,193,88,5,43,5,156,0,0,193,89,5,43,5,142,0,0,193,89,5,43,5,196,0,0,193,89,5,43,5,210,0,0,193,71,5,43,5,210,0,0,193,83,5,43,5,150,0,0,193,86,5,43,5,146,0,0,193,88,5,43,5,146,0,0,193,64,5,43,5,196,0,0,193,64,5,43,5,182,0,0,193,64,5,43,5,142,0,0,5,136,0,0,193,64,5,43,5,142,0,0,5,138,0,0,193,64,5,43,5,142,0,0,5,182,0,0,193,64,5,43,5,142,0,0,5,154,0,0,193,64,5,43,5,196,0,0,5,142,0,0,193,64,5,43,5,140,0,0,5,136,0,0,193,64,5,43,5,140,0,0,5,138,0,0,193,64,5,43,5,140,0,0,5,182,0,0,193,64,5,43,5,140,0,0,5,154,0,0,193,64,5,43,5,196,0,0,5,140,0,0,193,68,5,43,5,196,0,0,193,68,5,43,5,182,0,0,193,68,5,43,5,154,0,0,193,68,5,43,5,142,0,0,5,136,0,0,193,68,5,43,5,142,0,0,5,138,0,0,193,68,5,43,5,142,0,0,5,182,0,0,193,68,5,43,5,142,0,0,5,154,0,0,193,68,5,43,5,196,0,0,5,142,0,0,193,72,5,43,5,182,0,0,193,72,5,43,5,196,0,0,193,78,5,43,5,196,0,0,193,78,5,43,5,182,0,0,193,78,5,43,5,142,0,0,5,136,0,0,193,78,5,43,5,142,0,0,5,138,0,0,193,78,5,43,5,142,0,0,5,182,0,0,193,78,5,43,5,142,0,0,5,154,0,0,193,78,5,43,5,196,0,0,5,142,0,0,193,78,5,43,5,190,0,0,5,136,0,0,193,78,5,43,5,190,0,0,5,138,0,0,193,78,5,43,5,190,0,0,5,182,0,0,193,78,5,43,5,190,0,0,5,154,0,0,193,78,5,43,5,190,0,0,5,196,0,0,193,84,5,43,5,196,0,0,193,84,5,43,5,182,0,0,193,84,5,43,5,190,0,0,5,136,0,0,193,84,5,43,5,190,0,0,5,138,0,0,193,84,5,43,5,190,0,0,5,182,0,0,193,84,5,43,5,190,0,0,5,154,0,0,193,84,5,43,5,190,0,0,5,196,0,0,193,88,5,43,5,138,0,0,193,88,5,43,5,196,0,0,193,88,5,43,5,182,0,0,193,88,5,43,5,154,0,0,193,28,5,43,5,158,0,0,193,27,5,43,5,158,0,0,193,29,5,43,5,158,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,193,15,5,43,193,16,5,43,193,17,5,43,193,18,5,43,193,19,5,43,193,20,5,43,193,21,5,43,193,22,5,43,193,23,5,43,193,24,5,43,26,0,198,226,48,0,4,3,26,192,198,227,23,0,197,130,48,0,4,3,23,192,197,131,3,0,69,0,52,0,61,0,71,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,142,15,0,32,1,0,32,0,147,15,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,72,9,0,32,7,0,0,0,21,0,0,0,74,9,0,0,74,9,0,0,3,0,0,0,0,0,0,0,48,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,48,220,38,0,67,0,60,0,9,1,60,0,60,0,60,0,8,1,38,0,71,0,60,0,29,1,60,0,60,0,60,0,28,1,38,0,72,0,60,0,37,1,60,0,60,0,60,0,36,1,38,0,74,0,60,0,53,1,60,0,60,0,60,0,52,1,38,0,83,0,60,0,93,1,60,0,60,0,60,0,92,1,38,0,85,0,60,0,109,1,60,0,60,0,60,0,108,1,0,0,170,170,170,170,170,170,170,170,170,170,170,170,50,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,28,0,0,164,28,0,0,164,28,0,0,164,28,0,0,0,30,0,0,0,30,0,0,10,32,0,0,10,32,0,0,26,36,0,0,50,105,114,84,1,0,64,8,189,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,107,0,115,0,48,0,56,0,120,0,128,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,151,0,48,0,159,0,165,0,48,0,48,0,172,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,144,0,48,0,48,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,172,1,192,0,224,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,9,0,202,193,9,0,202,226,9,0,202,3,10,0,202,36,10,0,202,69,10,0,202,102,10,0,202,135,10,0,202,168,10,0,202,201,10,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,198,0,0,201,134,1,0,156,5,0,58,201,70,2,0,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,6,3,0,156,5,0,80,201,230,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,198,4,0,5,5,0,48,5,5,0,50,5,5,0,52,201,134,5,0,201,70,6,0,5,5,0,58,201,6,7,0,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,198,7,0,5,5,0,80,201,166,8,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,8,0,201,134,9,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,9,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,9,0,201,38,10,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,10,0,201,166,11,0,134,5,2,57,5,5,2,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,61,5,5,2,61,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,201,102,12,0,201,38,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,83,5,5,2,83,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,13,0,201,166,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,15,0,201,38,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,16,0,201,166,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,18,0,201,38,19,0,192,0,0,0,192,0,0,0,201,230,19,0,201,166,20,0,201,102,21,0,201,38,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,22,0,201,166,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,24,0,201,38,25,0,201,230,25,0,201,166,26,0,201,102,27,0,201,38,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,29,0,201,102,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,31,0,201,230,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,134,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,134,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,5,5,2,57,5,210,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,2,3,2,239,134,5,0,54,156,5,48,0,2,3,2,247,134,5,0,56,156,5,48,0,2,3,2,249,134,5,0,60,156,5,48,0,2,3,2,253,134,5,0,78,156,5,48,0,2,3,255,255,2,79,134,5,0,82,156,5,48,0,6,3,255,255,2,83,134,5,0,46,5,5,48,0,2,3,2,239,5,5,0,54,5,5,48,0,2,3,2,247,5,5,0,56,5,5,48,0,2,3,2,249,5,5,0,60,5,5,48,0,2,3,2,253,5,5,0,78,5,5,48,0,2,3,255,255,2,79,5,5,0,82,5,5,48,0,6,3,255,255,2,83,5,5,156,46,196,160,48,0,2,3,197,162,5,46,196,160,48,0,2,3,0,192,197,98,156,54,196,160,48,0,2,3,0,192,197,162,5,54,196,160,48,0,2,3,0,192,197,226,156,78,196,160,48,0,2,3,1,192,197,34,5,78,196,160,48,0,2,3,1,192,197,98,156,82,196,162,48,0,6,3,1,192,197,162,5,82,196,162,48,0,6,3,1,192,197,226,156,82,196,190,48,0,6,3,2,192,197,34,5,82,196,190,48,0,6,3,2,192,197,98,156,78,196,202,48,0,2,3,2,192,197,162,5,78,196,202,48,0,2,3,2,192,197,226,156,56,196,196,48,0,2,3,3,192,197,34,5,56,196,196,48,0,2,3,3,192,197,98,156,56,196,160,48,0,2,3,3,192,197,162,5,56,196,160,48,0,2,3,3,192,197,226,156,56,196,206,48,0,2,3,4,192,197,34,5,56,196,206,48,0,2,3,4,192,197,98,156,78,196,196,48,0,2,3,4,192,197,162,5,78,196,196,48,0,2,3,4,192,197,226,156,82,196,198,48,0,6,3,5,192,197,34,5,82,196,198,48,0,6,3,5,192,197,98,156,82,196,208,48,0,6,3,5,192,197,162,5,82,196,208,48,0,6,3,5,192,197,226,156,82,196,204,48,0,6,3,6,192,197,34,5,82,196,204,48,0,6,3,6,192,197,98,5,56,196,210,48,0,2,3,6,192,197,162,156,82,196,196,48,0,6,3,6,192,197,226,5,82,196,196,48,0,6,3,7,192,197,34,7,0,197,99,48,0,6,3,7,192,197,195,8,0,197,35,48,0,6,3,8,192,197,131,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,28,4,30,4,186,100,32,4,185,116,185,120,185,124,186,128,185,136,185,140,185,144,185,152,34,4,185,164,36,4,185,180,185,184,185,188,185,192,185,196,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,38,4,168,72,168,76,168,80,40,4,42,4,168,100,44,4,168,116,168,120,168,124,168,128,168,136,168,140,168,144,168,152,46,4,168,164,48,4,168,180,168,184,168,188,168,192,168,196,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,50,4,186,77,154,77,250,77,90,78,186,101,154,101,250,101,90,102,217,72,154,130,185,137,153,137,249,137,153,138,89,138,136,14,217,138,185,173,153,173,249,173,89,174,153,193,185,200,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,52,4,168,77,136,77,232,77,72,78,168,101,136,101,232,101,72,102,200,72,136,130,168,137,136,137,232,137,136,138,72,138,128,14,200,138,168,173,136,173,232,173,72,174,136,193,168,200,72,194,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,185,68,168,68,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,185,88,168,88,217,85,200,85,185,86,168,86,54,4,56,4,185,96,168,96,89,95,72,95,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,185,112,168,112,249,118,232,118,168,148,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,129,136,129,250,130,232,130,26,130,8,130,10,8,185,132,168,132,57,139,40,139,217,137,200,137,121,138,104,138,12,8,14,8,153,153,136,153,249,154,232,154,25,154,8,154,154,157,136,157,185,160,168,160,58,4,60,4,26,158,8,158,249,166,232,166,25,166,8,166,185,168,168,168,153,174,136,174,57,175,40,175,185,176,168,176,57,174,40,174,121,174,104,174,62,4,64,4,249,185,232,185,249,193,232,193,89,194,153,197,136,197,185,198,168,198,25,198,8,198,232,156,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,156,169,156,200,56,169,76,187,100,187,108,169,100,169,108,169,204,169,128,217,136,187,76,200,136,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,84,255,5,185,92,255,5,186,108,255,5,186,156,255,5,185,172,255,5,168,64,255,5,168,84,255,5,168,92,255,5,168,108,255,5,168,156,255,5,168,172,255,5,249,66,255,5,232,66,255,5,249,86,255,5,232,86,255,5,250,158,255,5,232,158,255,5,25,175,255,5,8,175,255,1,170,170,3,0,69,0,52,0,61,0,51,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,65,9,0,32,1,0,32,0,70,9,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,6,25,0,32,7,0,0,0,26,0,0,0,8,25,0,0,8,25,0,0,3,0,0,0,0,0,0,0,66,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,116,114,97,100,105,116,105,111,110,97,108,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,38,0,78,0,60,0,110,0,3,3,60,0,60,0,60,0,78,0,3,3,0,0,38,0,78,0,60,0,110,0,3,3,60,0,60,0,60,0,78,0,3,3,38,0,67,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,108,0,60,0,108,0,108,0,60,0,60,0,60,0,76,0,108,0,60,0,60,0,60,0,76,0,76,0,0,0,170,170,170,170,212,35,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,77,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,148,32,0,0,148,32,0,0,148,32,0,0,148,32,0,0,252,34,0,0,252,34,0,0,188,35,0,0,188,35,0,0,188,35,0,0,50,105,114,84,1,0,64,8,252,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,84,0,92,0,98,0,106,0,114,0,122,0,48,0,56,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,146,0,154,0,48,0,48,0,48,0,162,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,170,0,48,0,48,0,178,0,48,0,184,0,192,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,195,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,144,0,48,0,48,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,229,0,48,0,48,0,235,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,80,1,136,1,200,1,192,0,228,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,18,0,202,33,18,0,202,66,18,0,202,99,18,0,202,132,18,0,202,165,18,0,202,198,18,0,202,231,18,0,202,8,19,0,202,41,19,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,198,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,166,1,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,8,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,9,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,9,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,2,0,201,38,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,230,3,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,5,0,5,71,238,102,201,166,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,197,98,1,0,192,0,0,0,192,0,0,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,197,226,2,0,197,35,3,0,197,130,3,0,192,0,0,0,192,0,0,0,197,194,3,0,197,3,4,0,197,98,4,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,0,0,197,226,4,0,5,5,10,121,197,34,5,0,197,98,5,0,5,5,12,121,5,5,16,121,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,5,5,18,121,5,5,20,121,197,66,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,7,0,201,70,8,0,201,6,9,0,201,198,9,0,201,134,10,0,201,70,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,162,0,0,5,5,10,121,5,5,12,121,197,226,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,197,162,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,1,0,5,5,107,121,197,34,2,0,5,5,111,121,197,98,2,0,5,5,115,121,197,162,2,0,5,5,119,121,197,226,2,0,197,35,3,0,197,130,3,0,5,5,127,121,5,5,129,121,197,194,3,0,197,3,4,0,197,98,4,0,5,5,137,121,5,5,139,121,197,162,4,0,5,5,143,121,5,5,6,121,197,162,0,0,197,226,4,0,5,5,10,121,197,34,5,0,197,98,5,0,5,5,12,121,5,5,16,121,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,5,5,18,121,5,5,20,121,197,66,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,68,5,5,48,0,3,3,255,255,2,69,5,5,156,68,196,160,48,0,3,3,197,162,5,68,196,160,48,0,3,3,0,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,68,196,196,48,0,3,3,7,192,197,98,5,68,196,196,48,0,3,3,7,192,197,162,156,68,196,210,48,0,3,3,7,192,197,226,5,68,196,210,48,0,3,3,8,192,197,34,156,68,196,204,48,0,3,3,8,192,197,98,5,68,196,204,48,0,3,3,8,192,197,162,3,0,67,0,50,0,59,0,67,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,186,29,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,24,0,0,212,24,0,0,212,24,0,0,212,24,0,0,88,25,0,0,88,25,0,0,210,25,0,0,210,25,0,0,162,29,0,0,50,105,114,84,1,0,64,8,128,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,2,0,202,1,3,0,202,34,3,0,202,67,3,0,202,100,3,0,202,133,3,0,202,166,3,0,202,199,3,0,202,232,3,0,202,9,4,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,6,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,230,0,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,2,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,2,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,2,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,1,0,201,102,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,3,0,201,230,3,0,201,166,4,0,201,102,5,0,201,38,6,0,201,230,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,68,5,5,48,0,3,3,255,255,2,69,5,5,156,68,196,160,48,0,3,3,197,162,5,68,196,160,48,0,3,3,0,192,197,98,156,68,196,196,48,0,3,3,0,192,197,162,5,68,196,196,48,0,3,3,0,192,197,226,156,68,196,210,48,0,3,3,1,192,197,34,5,68,196,210,48,0,3,3,1,192,197,98,156,68,196,204,48,0,3,3,1,192,197,162,5,68,196,204,48,0,3,3,1,192,197,226,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,26,4,185,124,185,128,185,132,185,140,186,144,185,148,185,156,185,160,185,164,185,168,185,172,185,176,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,28,4,168,124,168,128,168,132,168,140,168,144,168,148,168,156,168,160,168,164,168,168,168,172,168,176,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,185,116,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,157,153,157,249,157,89,158,153,173,185,180,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,168,116,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,157,136,157,232,157,72,158,136,173,168,180,72,174,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,136,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,30,4,32,4,26,114,8,114,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,250,146,232,146,26,146,8,146,249,150,232,150,25,150,8,150,185,152,168,152,153,158,136,158,57,159,40,159,217,157,200,157,57,158,40,158,121,158,104,158,25,159,8,159,249,165,232,165,249,173,232,173,89,174,153,177,136,177,185,178,168,178,25,178,8,178,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,144,169,144,200,56,169,72,187,88,187,96,169,88,169,96,169,184,169,112,217,124,187,72,200,124,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,186,112,255,5,168,112,255,5,250,114,255,5,232,114,255,1,170,170,3,0,67,0,50,0,59,0,63,9,0,16,28,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,14,33,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,24,0,0,212,24,0,0,212,24,0,0,212,24,0,0,196,26,0,0,196,26,0,0,168,28,0,0,206,28,0,0,246,32,0,0,50,105,114,84,1,0,64,8,128,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,14,0,202,97,14,0,202,130,14,0,202,163,14,0,202,196,14,0,202,229,14,0,202,6,15,0,202,39,15,0,202,72,15,0,202,105,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,96,7,0,156,5,0,66,201,198,14,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,160,15,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,160,19,0,5,5,0,66,201,102,23,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,130,13,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,2,14,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,24,0,201,6,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,25,0,201,134,26,0,201,70,27,0,201,6,28,0,201,198,28,0,201,134,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,47,5,142,0,0,70,5,2,47,5,142,0,0,135,5,2,47,5,144,0,0,70,5,2,47,5,144,0,0,135,5,2,47,5,156,0,0,70,5,2,47,5,156,0,0,135,5,2,47,5,196,0,0,70,5,2,47,5,196,0,0,135,5,2,47,5,150,0,0,70,5,2,47,5,150,0,0,135,5,2,47,5,160,0,0,70,5,2,47,5,160,0,0,135,5,2,47,5,206,0,0,70,5,2,47,5,206,0,0,70,5,2,47,5,210,0,0,135,5,2,65,5,136,0,0,70,5,2,65,5,136,0,0,135,5,2,65,5,160,0,0,70,5,2,65,5,160,0,0,135,5,2,65,5,144,0,0,70,5,2,65,5,144,0,0,135,5,2,65,5,196,0,0,70,5,2,65,5,196,0,0,135,5,2,65,5,196,0,0,5,164,0,0,70,5,2,65,5,196,0,0,5,164,0,0,135,5,2,65,5,210,0,0,70,5,2,65,5,210,0,0,135,5,2,65,5,204,0,0,70,5,2,65,5,204,0,0,5,5,2,47,5,142,0,0,5,5,2,47,5,144,0,0,5,5,2,47,5,156,0,0,5,5,2,47,5,196,0,0,5,5,2,47,5,150,0,0,5,5,2,47,5,160,0,0,5,5,2,47,5,206,0,0,5,5,2,47,5,210,0,0,5,5,2,65,5,136,0,0,5,5,2,65,5,160,0,0,5,5,2,65,5,144,0,0,5,5,2,65,5,196,0,0,5,5,2,65,5,196,0,0,5,164,0,0,5,5,2,65,5,210,0,0,5,5,2,65,5,204,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,239,135,5,104,0,2,239,70,5,36,1,197,162,37,1,0,192,197,98,0,64,156,5,15,0,54,30,26,0,58,30,12,0,58,30,6,192,197,162,59,30,6,192,197,226,60,30,7,192,197,34,61,30,7,192,197,98,54,30,5,192,197,98,55,30,5,192,197,162,56,30,5,192,197,227,57,30,6,192,197,67,59,1,12,0,59,1,4,192,197,98,60,1,4,192,197,162,61,1,4,192,197,226,62,1,5,192,197,34,76,0,255,255,2,65,135,5,108,0,255,255,2,65,70,5,57,1,3,192,197,226,58,1,4,192,197,34,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,46,5,5,8,0,37,30,15,0,37,30,8,192,197,98,39,30,8,192,197,162,41,30,8,192,197,226,43,30,9,192,197,34,150,30,9,192,197,98,104,0,2,239,5,5,37,1,7,192,197,162,31,2,7,192,197,226,35,30,8,192,197,34,0,64,5,5,7,0,55,30,12,0,55,30,10,192,197,98,57,30,10,192,197,163,59,30,11,192,197,2,61,30,11,192,197,66,108,0,255,255,2,65,5,5,58,1,9,192,197,162,60,1,9,192,197,226,62,1,10,192,197,34,0,68,5,5,48,0,3,3,255,255,2,69,5,5,156,68,196,160,48,0,3,3,11,192,197,130,5,68,196,160,48,0,3,3,11,192,197,194,156,68,196,196,48,0,3,3,12,192,197,2,5,68,196,196,48,0,3,3,12,192,197,66,156,68,196,210,48,0,3,3,12,192,197,130,5,68,196,210,48,0,3,3,12,192,197,194,156,68,196,204,48,0,3,3,13,192,197,2,5,68,196,204,48,0,3,3,13,192,197,66,18,0,72,0,73,0,104,0,105,0,108,0,109,0,36,1,38,1,57,1,63,1,30,2,32,2,34,30,44,30,54,30,62,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,185,84,185,88,186,92,186,100,185,104,36,4,185,116,54,4,185,132,185,136,185,140,185,148,186,152,185,156,185,164,185,168,185,172,185,176,185,180,185,184,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,56,4,168,72,168,76,168,80,168,84,168,88,168,92,168,100,168,104,62,4,168,116,72,4,168,132,168,136,168,140,168,148,168,152,168,156,168,164,168,168,168,172,168,176,168,180,168,184,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,77,154,77,250,77,90,78,186,93,154,93,250,93,90,94,217,72,185,124,185,133,153,133,249,133,153,134,89,134,136,14,217,134,185,165,153,165,249,165,89,166,153,181,185,188,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,77,136,77,232,77,72,78,168,93,136,93,232,93,72,94,200,72,168,124,168,133,136,133,232,133,136,134,72,134,128,14,200,134,168,165,136,165,232,165,72,166,136,181,168,188,72,182,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,144,153,109,136,109,249,110,232,110,25,110,8,110,121,111,104,111,89,111,72,111,154,121,136,121,74,4,76,4,26,122,8,122,10,8,185,128,168,128,57,135,40,135,217,133,200,133,121,134,104,134,12,8,14,8,153,149,136,149,249,150,232,150,25,150,8,150,154,153,136,153,250,153,232,153,250,154,232,154,26,154,8,154,249,158,232,158,25,158,8,158,185,160,168,160,153,166,136,166,57,167,40,167,217,165,200,165,57,166,40,166,121,166,104,166,25,167,8,167,249,173,232,173,249,181,232,181,89,182,153,185,136,185,185,186,168,186,25,186,8,186,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,152,169,152,200,56,169,76,187,92,187,100,169,92,169,100,169,192,169,120,217,132,187,76,200,132,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,186,68,104,4,177,68,36,5,250,69,37,5,241,69,255,5,185,108,76,4,186,112,108,4,177,112,57,5,154,113,58,5,145,113,59,5,250,114,60,5,241,114,61,5,26,114,62,5,17,114,255,5,186,120,255,5,168,64,104,4,168,68,37,5,232,69,255,5,168,108,108,4,168,112,58,5,136,113,60,5,232,114,62,5,8,114,255,5,168,120,255,5,250,122,255,5,232,122,255,1,170,170,3,0,67,0,50,0,59,0,183,16,0,16,39,0,0,96,1,0,0,96,3,0,43,0,82,0,91,0,57,9,0,32,175,16,0,32,252,24,0,32,1,0,32,0,1,25,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,21,0,0,32,7,0,0,0,13,0,0,0,23,0,0,0,23,0,0,0,1,0,0,0,0,0,0,0,21,0,0,0,99,111,108,108,97,116,105,111,110,115,0,100,101,102,97,117,108,116,0,170,0,0,116,0,114,0,97,0,100,0,105,0,116,0,105,0,111,0,110,0,97,0,108,0,0,0,1,0,43,0,1,0,1,0,32,0,13,0,0,80,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,73,10,0,32,7,0,0,0,21,0,0,0,75,10,0,0,75,10,0,0,3,0,0,0,0,0,0,0,57,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,66,220,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,84,0,60,0,97,1,60,0,60,0,60,0,96,1,60,0,122,0,60,0,60,0,60,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,88,0,60,0,245,0,60,0,60,0,60,0,213,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,252,0,60,0,60,0,60,0,220,0,0,0,170,170,170,170,170,170,170,170,22,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,116,30,0,0,116,30,0,0,116,30,0,0,116,30,0,0,96,33,0,0,96,33,0,0,254,35,0,0,254,35,0,0,254,39,0,0,50,105,114,84,1,0,64,8,218,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,105,0,113,0,118,0,126,0,129,0,137,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,161,0,48,0,166,0,174,0,180,0,188,0,193,0,201,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,153,0,48,0,48,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,145,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,164,1,216,1,4,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,22,0,202,65,22,0,202,98,22,0,202,131,22,0,202,164,22,0,202,197,22,0,202,230,22,0,202,7,23,0,202,40,23,0,202,73,23,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,230,0,0,156,5,0,72,160,5,0,74,156,5,0,76,201,70,2,0,156,5,0,80,201,38,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,70,4,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,38,5,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,6,6,0,5,5,0,72,5,5,0,74,5,5,0,76,201,102,7,0,5,5,0,80,201,70,8,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,134,9,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,134,5,14,87,196,146,156,42,197,98,21,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,134,5,13,87,134,5,15,87,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,16,87,196,136,156,90,160,5,38,93,197,162,21,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,5,5,14,87,196,146,5,42,197,226,21,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,5,5,13,87,5,5,15,87,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,16,87,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,10,0,201,38,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,11,0,201,166,12,0,134,5,35,79,5,5,35,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,13,0,201,38,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,197,98,2,0,197,162,2,0,197,226,2,0,134,5,37,79,5,5,37,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,14,0,201,6,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,17,0,201,230,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,197,226,4,0,197,34,0,0,197,98,0,0,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,192,0,0,0,197,34,6,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,18,0,201,198,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,20,0,201,166,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,8,0,197,98,8,0,197,162,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,22,0,201,38,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,23,0,201,166,24,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,25,0,201,38,26,0,201,230,26,0,201,166,27,0,201,102,28,0,201,38,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,13,0,197,98,13,0,201,230,29,0,201,166,30,0,201,102,31,0,201,38,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,32,0,201,166,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,34,0,201,134,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,3,0,197,162,3,0,201,166,36,0,201,198,37,0,201,230,38,0,201,166,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,40,0,201,38,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,16,87,5,136,0,0,5,5,16,87,5,136,0,0,134,5,14,87,5,162,0,0,5,5,14,87,5,162,0,0,134,5,35,79,5,160,0,0,5,5,35,79,5,160,0,0,134,5,16,87,5,162,0,0,5,5,16,87,5,162,0,0,134,5,36,79,5,136,0,0,5,5,36,79,5,136,0,0,134,5,36,79,5,156,0,0,5,5,36,79,5,156,0,0,134,5,13,87,5,190,0,0,134,5,15,87,5,190,0,0,5,5,13,87,5,190,0,0,5,5,15,87,5,190,0,0,134,5,16,87,5,190,0,0,5,5,16,87,5,190,0,0,134,5,16,87,5,164,0,0,5,5,16,87,5,164,0,0,134,5,16,87,5,144,0,0,5,5,16,87,5,144,0,0,134,5,16,87,5,138,0,0,5,5,16,87,5,138,0,0,134,5,14,87,5,164,0,0,5,5,14,87,5,164,0,0,134,5,13,87,5,162,0,0,134,5,15,87,5,162,0,0,5,5,13,87,5,162,0,0,5,5,15,87,5,162,0,0,134,5,35,79,5,202,0,0,5,5,35,79,5,202,0,0,134,5,15,87,5,164,0,0,5,5,15,87,5,164,0,0,134,5,13,87,5,164,0,0,5,5,13,87,5,164,0,0,134,5,14,87,5,200,0,0,5,5,14,87,5,200,0,0,134,5,13,87,5,136,0,0,5,5,13,87,5,136,0,0,134,5,13,87,5,150,0,0,5,5,13,87,5,150,0,0,134,5,35,79,5,196,0,0,5,5,35,79,5,196,0,0,134,5,35,79,5,156,0,0,5,5,35,79,5,156,0,0,134,5,16,87,5,198,0,0,5,5,16,87,5,198,0,0,134,5,16,87,5,208,0,0,5,5,16,87,5,208,0,0,134,5,16,87,5,204,0,0,5,5,16,87,5,204,0,0,134,5,36,79,5,142,0,0,5,5,36,79,5,142,0,0,134,5,36,79,5,196,0,0,134,5,37,79,5,196,0,0,5,5,36,79,5,196,0,0,5,5,37,79,5,196,0,0,134,5,36,79,5,210,0,0,134,5,37,79,5,210,0,0,5,5,36,79,5,210,0,0,5,5,37,79,5,210,0,0,134,5,14,87,5,196,0,0,5,5,14,87,5,196,0,0,134,5,13,87,5,196,0,0,134,5,15,87,5,196,0,0,5,5,13,87,5,196,0,0,5,5,15,87,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,13,87,5,190,0,0,5,196,0,0,134,5,15,87,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,13,87,5,190,0,0,5,196,0,0,5,5,15,87,5,190,0,0,5,196,0,0,134,5,16,87,5,196,0,0,5,5,16,87,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,16,87,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,16,87,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,8,3,255,255,14,87,134,5,0,70,156,5,1,0,3,3,255,255,13,87,134,5,8,3,255,255,15,87,134,5,0,78,156,5,48,0,12,3,255,255,35,79,134,5,0,82,156,5,1,0,8,3,255,255,16,87,134,5,68,3,197,162,36,79,134,5,48,0,12,3,255,255,37,79,134,5,0,42,5,5,48,0,8,3,255,255,14,87,5,5,0,70,5,5,1,0,3,3,255,255,13,87,5,5,8,3,255,255,15,87,5,5,0,78,5,5,48,0,12,3,255,255,35,79,5,5,0,82,5,5,1,0,8,3,255,255,16,87,5,5,68,3,0,192,197,98,36,79,5,5,48,0,12,3,255,255,37,79,5,5,156,42,196,162,48,0,8,3,0,192,197,162,5,42,196,162,48,0,8,3,0,192,197,226,156,78,196,160,48,0,12,3,1,192,197,34,5,78,196,160,48,0,12,3,1,192,197,98,156,82,196,162,48,0,8,3,1,192,197,162,5,82,196,162,48,0,8,3,1,192,197,226,156,70,196,190,1,0,3,3,3,192,197,34,8,3,3,192,197,98,5,70,196,190,1,0,3,3,3,192,197,162,8,3,3,192,197,226,156,82,196,190,48,0,8,3,4,192,197,34,5,82,196,190,48,0,8,3,4,192,197,98,156,70,196,162,1,0,3,3,6,192,197,162,8,3,6,192,197,226,5,70,196,162,1,0,3,3,7,192,197,34,8,3,7,192,197,98,156,78,196,202,48,0,12,3,7,192,197,162,5,78,196,202,48,0,12,3,7,192,197,226,156,42,196,200,48,0,8,3,9,192,197,34,5,42,196,200,48,0,8,3,9,192,197,98,156,78,196,196,48,0,12,3,10,192,197,162,5,78,196,196,48,0,12,3,10,192,197,226,156,82,196,198,48,0,8,3,11,192,197,162,5,82,196,198,48,0,8,3,11,192,197,226,156,82,196,208,48,0,8,3,12,192,197,34,5,82,196,208,48,0,8,3,12,192,197,98,156,82,196,204,48,0,8,3,12,192,197,162,5,82,196,204,48,0,8,3,12,192,197,226,13,0,197,162,48,0,12,3,13,192,197,226,14,0,197,34,48,0,12,3,14,192,197,98,14,0,197,162,48,0,12,3,14,192,197,226,15,0,197,34,48,0,12,3,15,192,197,98,156,42,196,196,48,0,8,3,15,192,197,162,5,42,196,196,48,0,8,3,15,192,197,226,156,70,196,196,1,0,3,3,16,192,197,34,8,3,16,192,197,98,5,70,196,196,1,0,3,3,16,192,197,162,8,3,16,192,197,226,17,0,197,35,1,0,3,3,17,192,197,131,8,3,17,192,197,227,18,0,197,67,1,0,3,3,18,192,197,163,8,3,19,192,197,3,156,82,196,196,48,0,8,3,19,192,197,98,5,82,196,196,48,0,8,3,19,192,197,162,19,0,197,227,48,0,8,3,20,192,197,67,20,0,197,163,48,0,8,3,21,192,197,3,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,28,4,185,124,185,128,185,136,30,4,185,156,32,4,185,168,185,172,185,192,185,196,34,4,88,13,168,13,96,13,56,14,80,12,40,14,36,4,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,38,4,168,124,168,128,168,136,40,4,168,156,42,4,168,168,168,172,168,192,168,196,44,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,185,180,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,185,176,185,184,136,14,217,122,185,165,153,165,249,165,185,188,153,197,185,200,2,8,168,57,136,57,232,57,136,58,168,180,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,168,176,168,184,128,14,200,122,168,165,136,165,232,165,168,188,136,197,168,200,72,198,57,59,40,59,217,57,200,57,46,4,48,4,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,50,4,52,4,185,144,168,144,249,158,232,158,25,158,8,158,185,160,168,160,153,166,136,166,57,167,40,167,217,165,200,165,57,166,40,166,121,166,104,166,54,4,56,4,249,173,232,173,249,197,232,197,89,198,153,149,136,149,185,150,168,150,185,152,168,152,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,204,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,120,255,5,186,140,255,5,185,164,255,5,185,148,255,5,168,56,255,5,168,120,255,5,168,140,255,5,168,164,255,5,168,148,255,5,25,59,255,5,8,59,255,5,250,142,255,5,232,142,255,5,25,167,255,5,8,167,255,1,170,170,3,0,69,0,52,0,61,0,59,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,66,10,0,32,1,0,32,0,71,10,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,185,7,0,32,7,0,0,0,21,0,0,0,187,7,0,0,187,7,0,0,3,0,0,0,0,0,0,0,96,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,143,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,78,6,60,0,60,0,80,6,60,0,60,0,79,6,60,0,60,0,75,6,60,0,60,0,77,6,60,0,60,0,76,6,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,39,6,60,0,34,6,38,0,39,6,60,0,60,0,113,6,60,0,33,6,60,0,60,0,35,6,60,0,60,0,114,6,60,0,60,0,37,6,60,0,60,0,115,6,60,0,60,0,36,6,60,0,60,0,204,6,84,6,60,0,60,0,60,0,73,6,84,6,60,0,60,0,60,0,38,6,38,0,169,6,60,0,60,0,42,0,170,6,171,6,67,6,172,6,173,6,174,6,38,0,207,6,60,0,71,6,60,0,60,0,213,6,60,0,60,0,193,6,60,0,60,0,41,6,60,0,60,0,195,6,60,0,60,0,192,6,60,0,60,0,190,6,38,0,204,6,60,0,60,0,42,0,73,6,210,6,74,6,208,6,209,6,205,6,206,6,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,54,29,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,48,28,0,0,48,28,0,0,112,28,0,0,112,28,0,0,188,28,0,0,188,28,0,0,30,29,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,166,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,96,0,104,0,109,0,117,0,125,0,133,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,157,0,149,0,48,0,48,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,141,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,128,1,180,1,244,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,102,5,5,25,102,5,70,27,102,5,74,27,102,5,72,27,102,7,75,27,102,201,6,0,0,192,0,0,0,198,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,72,184,102,192,0,0,0,192,0,0,0,192,0,0,0,193,24,234,102,201,230,1,0,201,198,2,0,201,166,3,0,194,5,210,230,194,5,212,230,194,5,211,230,192,0,0,0,194,5,209,230,194,5,208,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,27,102,5,73,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,184,102,5,71,184,102,5,73,184,102,5,74,184,102,5,75,184,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,198,65,0,0,198,97,0,0,198,130,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,4,0,5,75,240,102,5,76,240,102,192,0,0,0,5,73,240,102,5,74,240,102,5,71,240,102,197,34,0,0,192,0,0,0,201,102,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,72,0,24,234,102,0,5,0,75,0,24,234,102,0,5,0,74,0,24,234,102,0,5,0,71,0,24,234,102,0,5,0,71,0,24,234,102,0,5,128,232,0,0,0,0,0,5,0,73,0,24,234,102,0,5,0,70,0,24,234,102,0,0,0,0,5,71,240,102,194,5,128,232,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,26,102,5,5,2,0,83,6,255,255,25,102,5,5,84,6,255,255,27,102,5,70,85,6,255,255,27,102,5,72,222,102,5,5,48,0,84,6,255,255,27,102,5,74,240,102,5,70,48,0,84,6,255,255,27,102,6,75,240,102,5,72,48,0,84,6,255,255,27,102,7,75,240,102,5,5,48,0,84,6,255,255,27,102,5,75,0,0,198,225,48,0,84,6,0,192,198,65,170,170,3,0,69,0,52,0,61,0,99,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,178,7,0,32,1,0,32,0,183,7,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,128,8,0,32,7,0,0,0,21,0,0,0,130,8,0,0,130,8,0,0,3,0,0,0,0,0,0,0,29,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,112,0,115,0,93,0,0,0,170,170,170,170,170,170,170,170,100,33,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,72,0,0,0,72,1,0,0,184,28,0,0,184,28,0,0,184,28,0,0,184,28,0,0,12,29,0,0,12,29,0,0,140,29,0,0,140,29,0,0,76,33,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,174,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,96,0,104,0,112,0,120,0,128,0,136,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,157,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,152,0,48,0,48,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,128,1,192,1,0,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,102,5,5,25,102,5,70,26,102,5,70,222,102,5,73,26,102,7,75,240,102,201,6,0,0,192,0,0,0,5,73,214,102,192,0,0,0,192,0,0,0,192,0,0,0,201,230,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,71,184,102,192,0,0,0,192,0,0,0,192,0,0,0,201,198,2,0,201,166,3,0,201,134,4,0,201,102,5,0,194,5,210,230,194,5,212,230,194,5,211,230,192,0,0,0,194,5,209,230,194,5,208,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,72,26,102,5,71,26,102,5,74,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,43,102,192,0,0,0,192,0,0,0,5,5,43,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,102,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,102,192,0,0,0,192,0,0,0,5,70,85,102,5,5,85,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,111,102,192,0,0,0,5,5,111,102,192,0,0,0,192,0,0,0,5,5,129,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,184,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,188,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,210,102,192,0,0,0,192,0,0,0,5,72,214,102,192,0,0,0,6,5,214,102,5,71,214,102,197,34,0,0,5,74,214,102,192,0,0,0,192,0,0,0,192,0,0,0,5,71,222,102,192,0,0,0,5,72,222,102,192,0,0,0,192,0,0,0,201,70,6,0,5,74,240,102,192,0,0,0,192,0,0,0,5,73,240,102,192,0,0,0,5,71,240,102,197,98,0,0,192,0,0,0,201,38,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,4,5,71,0,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,71,214,102,194,5,128,232,5,71,240,102,194,5,128,232,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,26,102,5,5,2,0,83,6,255,255,25,102,5,5,84,6,255,255,26,102,5,70,85,6,255,255,26,102,5,73,72,102,5,5,48,0,84,6,255,255,59,102,5,70,214,102,5,5,48,0,84,6,255,255,214,102,7,5,222,102,5,5,48,0,84,6,255,255,222,102,5,70,240,102,5,70,48,0,84,6,255,255,240,102,6,75,240,102,5,72,48,0,84,6,255,255,240,102,7,75,240,102,5,5,48,0,84,6,255,255,240,102,5,75,214,102,5,70,48,0,84,6,255,255,214,102,6,5,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,176,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,176,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,1,0,1,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,121,8,0,32,1,0,32,0,126,8,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,27,11,0,32,7,0,0,0,24,0,0,0,31,11,0,0,31,11,0,0,3,0,0,0,0,0,0,0,134,2,0,0,37,37,80,97,114,101,110,116,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,170,170,170,0,0,52,0,50,0,0,0,114,0,111,0,111,0,116,0,0,0,239,223,208,4,38,0,58,216,0,221,60,0,58,216,0,221,58,216,68,221,38,0,58,216,0,221,58,216,68,221,61,0,58,216,0,221,58,216,0,221,38,0,58,216,34,221,60,0,58,216,34,221,58,216,68,221,38,0,58,216,34,221,58,216,68,221,61,0,58,216,34,221,58,216,34,221,38,0,58,216,1,221,60,0,58,216,1,221,58,216,70,221,38,0,58,216,1,221,58,216,70,221,61,0,58,216,1,221,58,216,1,221,38,0,58,216,35,221,60,0,58,216,35,221,58,216,70,221,38,0,58,216,35,221,58,216,70,221,61,0,58,216,35,221,58,216,35,221,38,0,58,216,2,221,60,0,58,216,2,221,58,216,70,221,38,0,58,216,2,221,58,216,70,221,61,0,58,216,2,221,58,216,2,221,38,0,58,216,36,221,60,0,58,216,36,221,58,216,70,221,38,0,58,216,36,221,58,216,70,221,61,0,58,216,36,221,58,216,36,221,38,0,58,216,3,221,60,0,58,216,3,221,58,216,70,221,38,0,58,216,3,221,58,216,70,221,61,0,58,216,3,221,58,216,3,221,38,0,58,216,37,221,60,0,58,216,37,221,58,216,70,221,38,0,58,216,37,221,58,216,70,221,61,0,58,216,37,221,58,216,37,221,38,0,58,216,4,221,60,0,58,216,4,221,58,216,70,221,38,0,58,216,4,221,58,216,70,221,61,0,58,216,4,221,58,216,4,221,38,0,58,216,38,221,60,0,58,216,38,221,58,216,70,221,38,0,58,216,38,221,58,216,70,221,61,0,58,216,38,221,58,216,38,221,38,0,58,216,5,221,60,0,58,216,5,221,58,216,70,221,38,0,58,216,5,221,58,216,70,221,61,0,58,216,5,221,58,216,5,221,38,0,58,216,39,221,60,0,58,216,39,221,58,216,70,221,38,0,58,216,39,221,58,216,70,221,61,0,58,216,39,221,58,216,39,221,38,0,58,216,6,221,60,0,58,216,6,221,58,216,70,221,38,0,58,216,6,221,58,216,70,221,61,0,58,216,6,221,58,216,6,221,38,0,58,216,40,221,60,0,58,216,40,221,58,216,70,221,38,0,58,216,40,221,58,216,70,221,61,0,58,216,40,221,58,216,40,221,38,0,58,216,7,221,60,0,58,216,7,221,58,216,70,221,38,0,58,216,7,221,58,216,70,221,61,0,58,216,7,221,58,216,7,221,38,0,58,216,41,221,60,0,58,216,41,221,58,216,70,221,38,0,58,216,41,221,58,216,70,221,61,0,58,216,41,221,58,216,41,221,38,0,58,216,8,221,60,0,58,216,8,221,58,216,70,221,38,0,58,216,8,221,58,216,70,221,61,0,58,216,8,221,58,216,8,221,38,0,58,216,42,221,60,0,58,216,42,221,58,216,70,221,38,0,58,216,42,221,58,216,70,221,61,0,58,216,42,221,58,216,42,221,38,0,58,216,10,221,60,0,58,216,10,221,58,216,70,221,38,0,58,216,10,221,58,216,70,221,61,0,58,216,10,221,58,216,10,221,38,0,58,216,44,221,60,0,58,216,44,221,58,216,70,221,38,0,58,216,44,221,58,216,70,221,61,0,58,216,44,221,58,216,44,221,38,0,58,216,13,221,60,0,58,216,13,221,58,216,70,221,38,0,58,216,13,221,58,216,70,221,61,0,58,216,13,221,58,216,13,221,38,0,58,216,47,221,60,0,58,216,47,221,58,216,70,221,38,0,58,216,47,221,58,216,70,221,61,0,58,216,47,221,58,216,47,221,38,0,58,216,14,221,60,0,58,216,14,221,58,216,70,221,38,0,58,216,14,221,58,216,70,221,61,0,58,216,14,221,58,216,14,221,38,0,58,216,48,221,60,0,58,216,48,221,58,216,70,221,38,0,58,216,48,221,58,216,70,221,61,0,58,216,48,221,58,216,48,221,38,0,58,216,15,221,60,0,58,216,15,221,58,216,70,221,38,0,58,216,15,221,58,216,70,221,61,0,58,216,15,221,58,216,15,221,38,0,58,216,49,221,60,0,58,216,49,221,58,216,70,221,38,0,58,216,49,221,58,216,70,221,61,0,58,216,49,221,58,216,49,221,38,0,58,216,16,221,60,0,58,216,16,221,58,216,70,221,38,0,58,216,16,221,58,216,70,221,61,0,58,216,16,221,58,216,16,221,38,0,58,216,50,221,60,0,58,216,50,221,58,216,70,221,38,0,58,216,50,221,58,216,70,221,61,0,58,216,50,221,58,216,50,221,38,0,58,216,17,221,60,0,58,216,17,221,58,216,70,221,38,0,58,216,17,221,58,216,70,221,61,0,58,216,17,221,58,216,17,221,38,0,58,216,51,221,60,0,58,216,51,221,58,216,70,221,38,0,58,216,51,221,58,216,70,221,61,0,58,216,51,221,58,216,51,221,38,0,58,216,18,221,60,0,58,216,18,221,58,216,70,221,38,0,58,216,18,221,58,216,70,221,61,0,58,216,18,221,58,216,18,221,38,0,58,216,52,221,60,0,58,216,52,221,58,216,70,221,38,0,58,216,52,221,58,216,70,221,61,0,58,216,52,221,58,216,52,221,38,0,58,216,20,221,60,0,58,216,20,221,58,216,70,221,38,0,58,216,20,221,58,216,70,221,61,0,58,216,20,221,58,216,20,221,38,0,58,216,54,221,60,0,58,216,54,221,58,216,70,221,38,0,58,216,54,221,58,216,70,221,61,0,58,216,54,221,58,216,54,221,38,0,58,216,21,221,60,0,58,216,21,221,58,216,70,221,38,0,58,216,21,221,58,216,70,221,61,0,58,216,21,221,58,216,21,221,38,0,58,216,55,221,60,0,58,216,55,221,58,216,70,221,38,0,58,216,55,221,58,216,70,221,61,0,58,216,55,221,58,216,55,221,38,0,58,216,22,221,60,0,58,216,22,221,58,216,70,221,38,0,58,216,22,221,58,216,70,221,61,0,58,216,22,221,58,216,22,221,38,0,58,216,56,221,60,0,58,216,56,221,58,216,70,221,38,0,58,216,56,221,58,216,70,221,61,0,58,216,56,221,58,216,56,221,38,0,58,216,23,221,60,0,58,216,23,221,58,216,70,221,38,0,58,216,23,221,58,216,70,221,61,0,58,216,23,221,58,216,23,221,38,0,58,216,57,221,60,0,58,216,57,221,58,216,70,221,38,0,58,216,57,221,58,216,70,221,61,0,58,216,57,221,58,216,57,221,38,0,58,216,24,221,60,0,58,216,24,221,58,216,70,221,38,0,58,216,24,221,58,216,70,221,61,0,58,216,24,221,58,216,24,221,38,0,58,216,58,221,60,0,58,216,58,221,58,216,70,221,38,0,58,216,58,221,58,216,70,221,61,0,58,216,58,221,58,216,58,221,38,0,58,216,25,221,60,0,58,216,25,221,58,216,70,221,38,0,58,216,25,221,58,216,70,221,61,0,58,216,25,221,58,216,25,221,38,0,58,216,59,221,60,0,58,216,59,221,58,216,70,221,38,0,58,216,59,221,58,216,70,221,61,0,58,216,59,221,58,216,59,221,38,0,58,216,26,221,60,0,58,216,26,221,58,216,70,221,38,0,58,216,26,221,58,216,70,221,61,0,58,216,26,221,58,216,26,221,38,0,58,216,60,221,60,0,58,216,60,221,58,216,70,221,38,0,58,216,60,221,58,216,70,221,61,0,58,216,60,221,58,216,60,221,38,0,58,216,27,221,60,0,58,216,27,221,58,216,70,221,38,0,58,216,27,221,58,216,70,221,61,0,58,216,27,221,58,216,27,221,38,0,58,216,61,221,60,0,58,216,61,221,58,216,70,221,38,0,58,216,61,221,58,216,70,221,61,0,58,216,61,221,58,216,61,221,38,0,58,216,28,221,60,0,58,216,28,221,58,216,70,221,38,0,58,216,28,221,58,216,70,221,61,0,58,216,28,221,58,216,28,221,38,0,58,216,62,221,60,0,58,216,62,221,58,216,70,221,38,0,58,216,62,221,58,216,70,221,61,0,58,216,62,221,58,216,62,221,38,0,58,216,29,221,60,0,58,216,29,221,58,216,70,221,38,0,58,216,29,221,58,216,70,221,61,0,58,216,29,221,58,216,29,221,38,0,58,216,63,221,60,0,58,216,63,221,58,216,70,221,38,0,58,216,63,221,58,216,70,221,61,0,58,216,63,221,58,216,63,221,38,0,58,216,30,221,60,0,58,216,30,221,58,216,70,221,38,0,58,216,30,221,58,216,70,221,61,0,58,216,30,221,58,216,30,221,38,0,58,216,64,221,60,0,58,216,64,221,58,216,70,221,38,0,58,216,64,221,58,216,70,221,61,0,58,216,64,221,58,216,64,221,38,0,58,216,31,221,60,0,58,216,31,221,58,216,70,221,38,0,58,216,31,221,58,216,70,221,61,0,58,216,31,221,58,216,31,221,38,0,58,216,65,221,60,0,58,216,65,221,58,216,70,221,38,0,58,216,65,221,58,216,70,221,61,0,58,216,65,221,58,216,65,221,38,0,58,216,32,221,60,0,58,216,32,221,58,216,70,221,38,0,58,216,32,221,58,216,70,221,61,0,58,216,32,221,58,216,32,221,38,0,58,216,66,221,60,0,58,216,66,221,58,216,70,221,38,0,58,216,66,221,58,216,70,221,61,0,58,216,66,221,58,216,66,221,38,0,58,216,33,221,60,0,58,216,33,221,58,216,70,221,38,0,58,216,33,221,58,216,70,221,61,0,58,216,33,221,58,216,33,221,38,0,58,216,67,221,60,0,58,216,67,221,58,216,70,221,38,0,58,216,67,221,58,216,70,221,61,0,58,216,67,221,58,216,67,221,38,0,58,216,9,221,60,0,58,216,9,221,58,216,69,221,38,0,58,216,9,221,58,216,69,221,60,0,60,0,58,216,9,221,58,216,9,221,38,0,58,216,43,221,60,0,58,216,43,221,58,216,69,221,38,0,58,216,43,221,58,216,69,221,60,0,60,0,58,216,43,221,58,216,43,221,38,0,58,216,11,221,60,0,58,216,11,221,58,216,69,221,38,0,58,216,11,221,58,216,69,221,60,0,60,0,58,216,11,221,58,216,11,221,38,0,58,216,45,221,60,0,58,216,45,221,58,216,69,221,38,0,58,216,45,221,58,216,69,221,60,0,60,0,58,216,45,221,58,216,45,221,38,0,58,216,12,221,60,0,58,216,12,221,58,216,69,221,38,0,58,216,12,221,58,216,69,221,60,0,60,0,58,216,12,221,58,216,12,221,38,0,58,216,46,221,60,0,58,216,46,221,58,216,69,221,38,0,58,216,46,221,58,216,69,221,60,0,60,0,58,216,46,221,58,216,46,221,38,0,58,216,19,221,60,0,58,216,19,221,58,216,69,221,38,0,58,216,19,221,58,216,69,221,60,0,60,0,58,216,19,221,58,216,19,221,38,0,58,216,53,221,60,0,58,216,53,221,58,216,69,221,38,0,58,216,53,221,58,216,69,221,60,0,60,0,58,216,53,221,58,216,53,221,0,0,170,170,170,170,48,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,64,0,0,0,64,0,0,0,32,26,0,0,32,26,0,0,112,27,0,0,112,27,0,0,180,27,0,0,180,27,0,0,4,34,0,0,24,34,0,0,50,105,114,84,1,0,160,8,137,0,64,0,192,0,62,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,88,0,48,0,48,0,80,0,128,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,94,8,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,112,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,255,255,255,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,4,0,0,201,36,1,0,201,68,2,0,201,164,3,0,201,4,5,0,201,100,6,0,201,196,7,0,201,36,9,0,201,132,10,0,201,228,11,0,201,68,13,0,201,164,14,0,201,4,16,0,201,100,17,0,201,196,18,0,201,36,20,0,201,132,21,0,201,228,22,0,201,68,24,0,201,164,25,0,201,4,27,0,201,100,28,0,201,196,29,0,201,36,31,0,201,132,32,0,201,228,33,0,201,68,35,0,201,164,36,0,201,4,38,0,201,100,39,0,201,196,40,0,201,36,42,0,201,132,43,0,201,228,44,0,201,68,46,0,201,228,47,0,201,132,49,0,201,36,51,0,201,196,52,0,201,100,54,0,201,4,56,0,201,164,57,0,201,68,59,0,201,228,60,0,201,100,62,0,201,4,64,0,201,132,65,0,201,4,67,0,201,164,68,0,201,68,70,0,201,228,71,0,201,132,73,0,201,36,75,0,201,196,76,0,201,68,78,0,201,228,79,0,201,132,81,0,201,36,83,0,201,196,84,0,201,100,86,0,201,4,88,0,201,164,89,0,201,68,91,0,201,228,92,0,201,132,94,0,201,36,96,0,201,196,97,0,201,100,99,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,133,0,5,0,3,170,120,0,133,0,5,0,3,172,120,0,133,0,5,0,3,174,120,0,133,0,5,0,3,176,120,0,133,0,5,0,3,178,120,0,133,0,5,0,3,180,120,0,133,0,5,0,3,182,120,0,133,0,5,0,3,184,120,0,133,0,5,0,3,186,120,0,133,0,70,0,3,188,120,0,133,0,5,0,3,188,120,0,133,0,5,0,3,190,120,0,133,0,70,0,3,192,120,0,133,0,5,0,3,192,120,0,133,0,70,0,3,194,120,0,133,0,5,0,3,194,120,0,133,0,5,0,3,196,120,0,133,0,5,0,3,198,120,0,133,0,5,0,3,200,120,0,133,0,5,0,3,202,120,0,133,0,5,0,3,204,120,0,133,0,5,0,3,206,120,0,133,0,70,0,3,208,120,0,133,0,5,0,3,208,120,0,133,0,5,0,3,210,120,0,133,0,5,0,3,212,120,0,133,0,5,0,3,214,120,0,133,0,5,0,3,216,120,0,133,0,5,0,3,218,120,0,133,0,5,0,3,220,120,0,133,0,5,0,3,222,120,0,133,0,5,0,3,224,120,0,133,0,5,0,3,226,120,0,133,0,5,0,3,228,120,0,133,0,5,0,3,230,120,0,133,0,5,0,3,232,120,0,133,0,5,0,3,234,120,0,133,0,5,0,3,236,120,0,5,0,70,0,2,188,120,0,5,0,70,0,2,192,120,0,5,0,70,0,2,194,120,0,5,0,70,0,2,208,120,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,169,120,160,5,48,0,58,216,1,0,0,221,198,129,68,221,198,129,171,120,160,5,48,0,58,216,1,0,1,221,198,161,70,221,198,161,173,120,160,5,48,0,58,216,1,0,2,221,0,192,198,65,70,221,0,192,198,65,175,120,160,5,48,0,58,216,1,0,3,221,0,192,198,97,70,221,0,192,198,97,177,120,160,5,48,0,58,216,1,0,4,221,0,192,198,129,70,221,0,192,198,129,179,120,160,5,48,0,58,216,1,0,5,221,0,192,198,161,70,221,0,192,198,161,181,120,160,5,48,0,58,216,1,0,6,221,0,192,198,193,70,221,0,192,198,193,183,120,160,5,48,0,58,216,1,0,7,221,0,192,198,225,70,221,0,192,198,225,185,120,160,5,48,0,58,216,1,0,8,221,1,192,198,1,70,221,1,192,198,1,187,120,160,5,48,0,58,216,1,0,9,221,1,192,198,33,69,221,1,192,198,65,189,120,160,5,48,0,58,216,1,0,10,221,1,192,198,97,70,221,1,192,198,97,191,120,160,5,48,0,58,216,1,0,11,221,1,192,198,129,69,221,1,192,198,161,193,120,160,5,48,0,58,216,1,0,12,221,1,192,198,193,69,221,1,192,198,225,195,120,160,5,48,0,58,216,1,0,13,221,2,192,198,1,70,221,2,192,198,1,197,120,160,5,48,0,58,216,1,0,14,221,2,192,198,33,70,221,2,192,198,33,199,120,160,5,48,0,58,216,1,0,15,221,2,192,198,65,70,221,2,192,198,65,201,120,160,5,48,0,58,216,1,0,16,221,2,192,198,97,70,221,2,192,198,97,203,120,160,5,48,0,58,216,1,0,17,221,2,192,198,129,70,221,2,192,198,129,205,120,160,5,48,0,58,216,1,0,18,221,2,192,198,161,70,221,2,192,198,161,207,120,160,5,48,0,58,216,1,0,19,221,2,192,198,193,69,221,2,192,198,225,209,120,160,5,48,0,58,216,1,0,20,221,3,192,198,1,70,221,3,192,198,1,211,120,160,5,48,0,58,216,1,0,21,221,3,192,198,33,70,221,3,192,198,33,213,120,160,5,48,0,58,216,1,0,22,221,3,192,198,65,70,221,3,192,198,65,215,120,160,5,48,0,58,216,1,0,23,221,3,192,198,97,70,221,3,192,198,97,217,120,160,5,48,0,58,216,1,0,24,221,3,192,198,129,70,221,3,192,198,129,219,120,160,5,48,0,58,216,1,0,25,221,3,192,198,161,70,221,3,192,198,161,221,120,160,5,48,0,58,216,1,0,26,221,3,192,198,193,70,221,3,192,198,193,223,120,160,5,48,0,58,216,1,0,27,221,3,192,198,225,70,221,3,192,198,225,225,120,160,5,48,0,58,216,1,0,28,221,4,192,198,1,70,221,4,192,198,1,227,120,160,5,48,0,58,216,1,0,29,221,4,192,198,33,70,221,4,192,198,33,229,120,160,5,48,0,58,216,1,0,30,221,4,192,198,65,70,221,4,192,198,65,231,120,160,5,48,0,58,216,1,0,31,221,4,192,198,97,70,221,4,192,198,97,233,120,160,5,48,0,58,216,1,0,32,221,4,192,198,129,70,221,4,192,198,129,235,120,160,5,48,0,58,216,1,0,33,221,4,192,198,161,70,221,4,192,198,161,169,120,5,5,48,0,58,216,1,0,34,221,255,255,170,120,193,2,68,221,255,255,170,120,193,2,171,120,5,5,48,0,58,216,1,0,35,221,255,255,172,120,193,2,70,221,255,255,172,120,193,2,173,120,5,5,48,0,58,216,1,0,36,221,255,255,174,120,193,2,70,221,255,255,174,120,193,2,175,120,5,5,48,0,58,216,1,0,37,221,255,255,176,120,193,2,70,221,255,255,176,120,193,2,177,120,5,5,48,0,58,216,1,0,38,221,255,255,178,120,193,2,70,221,255,255,178,120,193,2,179,120,5,5,48,0,58,216,1,0,39,221,255,255,180,120,193,2,70,221,255,255,180,120,193,2,181,120,5,5,48,0,58,216,1,0,40,221,255,255,182,120,193,2,70,221,255,255,182,120,193,2,183,120,5,5,48,0,58,216,1,0,41,221,255,255,184,120,193,2,70,221,255,255,184,120,193,2,185,120,5,5,48,0,58,216,1,0,42,221,255,255,186,120,193,2,70,221,255,255,186,120,193,2,187,120,5,5,48,0,58,216,1,0,43,221,4,192,198,193,69,221,255,255,188,120,193,2,189,120,5,5,48,0,58,216,1,0,44,221,255,255,190,120,193,2,70,221,255,255,190,120,193,2,191,120,5,5,48,0,58,216,1,0,45,221,4,192,198,225,69,221,255,255,192,120,193,2,193,120,5,5,48,0,58,216,1,0,46,221,5,192,198,1,69,221,255,255,194,120,193,2,195,120,5,5,48,0,58,216,1,0,47,221,255,255,196,120,193,2,70,221,255,255,196,120,193,2,197,120,5,5,48,0,58,216,1,0,48,221,255,255,198,120,193,2,70,221,255,255,198,120,193,2,199,120,5,5,48,0,58,216,1,0,49,221,255,255,200,120,193,2,70,221,255,255,200,120,193,2,201,120,5,5,48,0,58,216,1,0,50,221,255,255,202,120,193,2,70,221,255,255,202,120,193,2,203,120,5,5,48,0,58,216,1,0,51,221,255,255,204,120,193,2,70,221,255,255,204,120,193,2,205,120,5,5,48,0,58,216,1,0,52,221,255,255,206,120,193,2,70,221,255,255,206,120,193,2,207,120,5,5,48,0,58,216,1,0,53,221,5,192,198,33,69,221,255,255,208,120,193,2,209,120,5,5,48,0,58,216,1,0,54,221,255,255,210,120,193,2,70,221,255,255,210,120,193,2,211,120,5,5,48,0,58,216,1,0,55,221,255,255,212,120,193,2,70,221,255,255,212,120,193,2,213,120,5,5,48,0,58,216,1,0,56,221,255,255,214,120,193,2,70,221,255,255,214,120,193,2,215,120,5,5,48,0,58,216,1,0,57,221,255,255,216,120,193,2,70,221,255,255,216,120,193,2,217,120,5,5,48,0,58,216,1,0,58,221,255,255,218,120,193,2,70,221,255,255,218,120,193,2,219,120,5,5,48,0,58,216,1,0,59,221,255,255,220,120,193,2,70,221,255,255,220,120,193,2,221,120,5,5,48,0,58,216,1,0,60,221,255,255,222,120,193,2,70,221,255,255,222,120,193,2,223,120,5,5,48,0,58,216,1,0,61,221,255,255,224,120,193,2,70,221,255,255,224,120,193,2,225,120,5,5,48,0,58,216,1,0,62,221,255,255,226,120,193,2,70,221,255,255,226,120,193,2,227,120,5,5,48,0,58,216,1,0,63,221,255,255,228,120,193,2,70,221,255,255,228,120,193,2,229,120,5,5,48,0,58,216,1,0,64,221,255,255,230,120,193,2,70,221,255,255,230,120,193,2,231,120,5,5,48,0,58,216,1,0,65,221,255,255,232,120,193,2,70,221,255,255,232,120,193,2,233,120,5,5,48,0,58,216,1,0,66,221,255,255,234,120,193,2,70,221,255,255,234,120,193,2,235,120,5,5,48,0,58,216,1,0,67,221,255,255,236,120,193,2,70,221,255,255,236,120,193,2,8,128,0,0,1,0,0,233,1,0,9,233,1,0,10,233,1,0,71,233,3,0,78,0,61,0,70,0,135,2,0,16,9,0,0,96,1,0,0,96,1,0,52,0,20,11,0,32,2,0,32,0,41,0,170,170,4,0,0,96,25,11,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,63,34,0,32,7,0,0,0,26,0,0,0,65,34,0,0,65,34,0,0,3,0,0,0,0,0,0,0,169,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,116,114,97,100,105,116,105,111,110,97,108,0,170,0,0,52,0,50,0,0,0,45,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,102,0,105,0,45,0,117,0,45,0,99,0,111,0,45,0,116,0,114,0,97,0,100,0,93,0,0,0,103,220,38,0,68,0,53,3,60,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,71,0,53,3,60,0,60,0,229,1,60,0,60,0,60,0,228,1,38,0,78,0,53,3,60,0,60,0,75,1,60,0,60,0,60,0,74,1,38,0,84,0,53,3,60,0,60,0,103,1,60,0,60,0,60,0,102,1,38,0,89,0,60,0,60,0,252,0,60,0,60,0,60,0,220,0,38,0,90,0,53,3,60,0,60,0,146,2,60,0,60,0,60,0,183,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,230,0,60,0,60,0,60,0,198,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,248,0,60,0,60,0,60,0,216,0,0,0,128,220,38,0,68,0,60,0,60,0,240,0,60,0,60,0,60,0,208,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,78,0,60,0,60,0,75,1,60,0,60,0,60,0,74,1,38,0,84,0,60,0,60,0,254,0,47,0,104,0,60,0,60,0,60,0,222,0,47,0,104,0,38,0,86,0,60,0,60,0,119,0,60,0,60,0,60,0,87,0,38,0,89,0,60,0,60,0,252,0,60,0,60,0,60,0,220,0,60,0,60,0,113,1,60,0,60,0,60,0,112,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,230,0,60,0,60,0,60,0,198,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,245,0,60,0,60,0,60,0,213,0,60,0,60,0,83,1,60,0,60,0,60,0,82,1,0,0,170,170,170,170,170,170,170,170,6,50,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,202,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,116,39,0,0,116,39,0,0,148,42,0,0,148,42,0,0,240,46,0,0,240,46,0,0,234,49,0,0,234,49,0,0,234,49,0,0,50,105,114,84,1,0,64,8,106,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,108,0,116,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,149,0,157,0,163,0,171,0,179,0,187,0,48,0,56,0,186,0,194,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,211,0,219,0,48,0,48,0,48,0,227,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,235,0,48,0,48,0,243,0,48,0,249,0,1,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,12,1,48,0,17,1,21,1,29,1,37,1,42,1,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,56,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,64,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,67,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,209,0,48,0,48,0,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,75,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,83,1,48,0,48,0,89,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,176,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,84,2,140,2,204,2,192,0,232,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,33,0,202,193,33,0,202,226,33,0,202,3,34,0,202,36,34,0,202,69,34,0,202,102,34,0,202,135,34,0,202,168,34,0,202,201,34,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,1,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,38,3,0,156,5,0,84,134,70,0,84,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,4,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,38,6,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,198,7,0,5,5,0,84,5,70,0,84,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,225,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,70,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,198,65,0,0,198,97,0,0,5,5,127,12,198,1,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,2,25,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,33,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,70,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,198,161,0,0,193,4,111,93,5,5,125,12,198,65,1,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,9,0,201,166,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,48,5,71,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,68,5,70,0,68,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,129,0,0,198,193,0,0,198,225,1,0,198,1,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,198,11,0,201,230,12,0,197,162,2,0,197,226,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,14,0,201,134,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,17,0,201,38,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,4,0,197,162,4,0,197,34,0,0,197,98,0,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,192,0,0,0,198,98,3,0,197,226,5,0,192,0,0,0,192,0,0,0,198,162,3,0,198,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,19,0,201,198,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,5,0,197,98,6,0,198,162,5,0,198,226,5,0,198,34,6,0,198,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,6,0,197,162,6,0,198,226,6,0,198,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,70,22,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,24,0,5,71,238,102,201,6,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,192,0,0,0,197,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,192,0,0,0,197,226,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,8,0,192,0,0,0,197,98,8,0,192,0,0,0,197,162,8,0,192,0,0,0,197,226,8,0,192,0,0,0,197,34,9,0,197,99,9,0,197,194,9,0,192,0,0,0,192,0,0,0,197,2,10,0,197,67,10,0,197,162,10,0,192,0,0,0,192,0,0,0,197,226,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,6,0,197,34,11,0,5,5,10,121,197,98,11,0,197,162,11,0,5,5,12,121,5,5,16,121,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,5,5,18,121,5,5,20,121,197,130,7,0,5,5,24,121,197,162,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,25,0,201,6,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,7,0,198,34,8,0,198,98,8,0,198,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,28,0,201,70,29,0,201,102,30,0,201,134,31,0,201,166,32,0,201,198,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,17,0,197,98,17,0,197,162,17,0,197,226,17,0,197,34,18,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,197,98,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,34,0,201,6,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,37,0,201,166,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,2,0,198,226,2,0,201,38,40,0,201,166,41,0,201,38,43,0,201,70,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,45,0,201,134,46,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,72,0,4,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,4,111,93,0,5,0,72,0,4,111,93,0,5,0,71,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,73,0,4,111,93,0,134,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,164,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,150,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,134,70,0,80,5,5,0,56,5,70,0,80,5,5,0,56,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,84,5,142,0,0,5,70,0,84,5,142,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,193,4,111,93,5,162,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,134,70,0,84,5,138,0,0,5,70,0,84,5,138,0,0,134,70,0,84,5,136,0,0,5,70,0,84,5,136,0,0,134,70,0,84,5,150,0,0,5,70,0,84,5,150,0,0,134,70,0,84,5,156,0,0,5,70,0,84,5,156,0,0,134,70,0,84,5,196,0,0,5,70,0,84,5,196,0,0,5,70,0,84,5,146,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,226,6,0,5,5,10,121,5,5,12,121,197,34,7,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,7,0,5,5,24,121,197,162,7,0,5,5,28,121,5,5,30,121,197,226,7,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,8,0,5,5,107,121,197,98,8,0,5,5,111,121,197,162,8,0,5,5,115,121,197,226,8,0,5,5,119,121,197,34,9,0,197,99,9,0,197,194,9,0,5,5,127,121,5,5,129,121,197,2,10,0,197,67,10,0,197,162,10,0,5,5,137,121,5,5,139,121,197,226,10,0,5,5,143,121,5,5,6,121,197,226,6,0,197,34,11,0,5,5,10,121,197,98,11,0,197,162,11,0,5,5,12,121,5,5,16,121,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,5,5,18,121,5,5,20,121,197,130,7,0,5,5,24,121,197,162,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,70,156,5,2,0,3,3,0,192,198,65,8,3,0,192,198,97,11,3,0,192,198,129,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,70,5,5,2,0,3,3,0,192,198,161,8,3,255,255,111,93,193,4,11,3,0,192,198,193,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,98,10,3,1,192,198,162,5,42,196,162,1,0,8,3,1,192,197,34,10,3,1,192,197,98,156,82,196,162,1,0,8,3,1,192,197,162,11,3,1,192,197,226,5,82,196,162,1,0,8,3,2,192,197,34,11,3,2,192,197,98,156,70,196,190,2,0,3,3,2,192,198,34,8,3,2,192,198,98,11,3,2,192,198,162,5,70,196,190,2,0,3,3,2,192,198,226,8,3,3,192,197,34,11,3,3,192,198,34,156,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,5,82,196,190,1,0,8,3,3,192,197,226,11,3,4,192,197,34,156,70,196,162,2,0,3,3,4,192,198,34,8,3,4,192,198,98,11,3,4,192,198,162,5,70,196,162,2,0,3,3,4,192,198,226,8,3,6,192,197,34,11,3,5,192,198,34,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,7,192,198,98,10,3,7,192,198,162,5,42,196,200,1,0,8,3,13,192,197,162,10,3,13,192,197,226,156,82,196,198,1,0,8,3,14,192,197,34,11,3,14,192,197,98,5,82,196,198,1,0,8,3,14,192,197,162,11,3,14,192,197,226,156,82,196,208,1,0,8,3,15,192,197,34,11,3,15,192,197,98,5,82,196,208,1,0,8,3,15,192,197,162,11,3,15,192,197,226,156,82,196,204,1,0,8,3,16,192,197,34,11,3,16,192,197,98,5,82,196,204,1,0,8,3,16,192,197,162,11,3,16,192,197,226,156,42,196,196,1,0,8,3,8,192,198,226,10,3,9,192,198,34,5,42,196,196,1,0,8,3,19,192,197,226,10,3,20,192,197,34,156,70,196,196,2,0,3,3,9,192,198,98,8,3,9,192,198,162,11,3,9,192,198,226,5,70,196,196,2,0,3,3,10,192,198,34,8,3,20,192,197,98,11,3,10,192,198,98,20,0,197,163,2,0,3,3,10,192,198,163,8,3,11,192,198,3,11,3,11,192,198,99,21,0,197,3,2,0,3,3,11,192,198,195,8,3,21,192,197,99,11,3,12,192,198,35,156,82,196,196,1,0,8,3,21,192,197,194,11,3,22,192,197,2,5,82,196,196,1,0,8,3,22,192,197,66,11,3,22,192,197,130,22,0,197,195,1,0,8,3,23,192,197,35,11,3,23,192,197,131,23,0,197,227,1,0,8,3,24,192,197,67,11,3,24,192,197,163,170,170,3,0,67,0,50,0,59,0,171,0,0,16,4,0,0,96,1,0,0,96,92,40,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,36,31,0,0,36,31,0,0,148,32,0,0,148,32,0,0,124,34,0,0,124,34,0,0,84,36,0,0,84,36,0,0,64,40,0,0,50,105,114,84,1,0,64,8,229,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,107,0,115,0,121,0,129,0,137,0,145,0,48,0,56,0,149,0,157,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,181,0,48,0,48,0,185,0,48,0,193,0,198,0,206,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,212,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,220,0,173,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,172,1,228,1,36,2,192,0,84,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,14,0,202,33,14,0,202,66,14,0,202,99,14,0,202,132,14,0,202,165,14,0,202,198,14,0,202,231,14,0,202,8,15,0,202,41,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,230,0,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,166,1,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,2,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,38,4,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,6,5,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,97,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,65,0,0,5,5,127,12,198,129,0,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,160,5,38,93,197,194,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,161,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,193,4,111,93,5,5,125,12,198,193,0,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,6,0,201,102,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,1,0,197,98,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,1,0,197,226,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,8,0,201,70,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,10,0,201,198,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,11,0,201,70,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,4,0,197,98,4,0,197,34,0,0,197,98,0,0,197,162,4,0,197,226,4,0,197,34,5,0,197,98,5,0,192,0,0,0,198,162,1,0,197,162,5,0,192,0,0,0,192,0,0,0,198,226,1,0,198,34,2,0,197,226,5,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,13,0,201,198,13,0,192,0,0,0,192,0,0,0,197,163,6,0,197,3,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,2,0,197,98,7,0,198,226,2,0,198,34,3,0,198,98,3,0,198,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,3,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,14,0,201,166,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,16,0,201,134,17,0,201,70,18,0,201,6,19,0,201,198,19,0,201,134,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,21,0,201,102,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,23,0,201,70,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,25,0,201,198,25,0,201,134,26,0,201,70,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,28,0,201,198,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,156,5,0,48,194,6,6,179,28,5,0,48,194,5,6,179,156,5,0,68,194,6,4,179,28,5,0,68,194,5,4,179,156,5,0,80,194,6,3,179,28,5,0,80,194,5,3,179,134,70,0,90,5,162,0,0,5,70,0,90,5,162,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,5,70,0,90,5,190,0,0,156,5,0,92,194,6,2,179,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,156,5,0,54,194,6,5,179,28,5,0,54,194,5,5,179,193,4,111,93,5,162,0,0,156,5,0,92,194,6,2,179,5,144,0,0,28,5,0,92,194,5,2,179,5,144,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,5,70,0,90,5,198,0,0,134,70,0,90,5,208,0,0,5,70,0,90,5,208,0,0,134,70,0,90,5,204,0,0,5,70,0,90,5,204,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,5,70,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,70,156,5,48,0,8,3,0,192,198,65,0,82,156,5,1,0,8,3,255,255,0,90,134,70,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,70,5,5,48,0,8,3,255,255,111,93,193,4,0,82,5,5,1,0,8,3,255,255,0,90,5,70,68,3,0,192,197,98,156,42,196,162,1,0,8,3,0,192,198,226,10,3,1,192,198,34,5,42,196,162,1,0,8,3,0,192,197,162,10,3,0,192,197,226,156,82,196,162,48,0,8,3,2,192,197,162,5,82,196,162,48,0,8,3,2,192,197,226,156,70,196,190,48,0,8,3,1,192,198,98,5,70,196,190,48,0,8,3,3,192,197,34,156,82,196,190,48,0,8,3,3,192,197,98,5,82,196,190,48,0,8,3,3,192,197,162,156,70,196,162,48,0,8,3,2,192,198,98,5,70,196,162,48,0,8,3,6,192,197,98,156,42,196,200,1,0,8,3,4,192,198,34,10,3,4,192,198,98,5,42,196,200,1,0,8,3,7,192,197,226,10,3,8,192,197,34,156,82,196,198,48,0,8,3,8,192,197,98,5,82,196,198,48,0,8,3,8,192,197,162,156,82,196,208,48,0,8,3,8,192,197,226,5,82,196,208,48,0,8,3,9,192,197,34,156,82,196,204,48,0,8,3,9,192,197,98,5,82,196,204,48,0,8,3,9,192,197,162,156,42,196,196,1,0,8,3,4,192,198,162,10,3,4,192,198,226,5,42,196,196,1,0,8,3,9,192,197,226,10,3,10,192,197,34,156,70,196,196,48,0,8,3,5,192,198,34,5,70,196,196,48,0,8,3,10,192,197,98,10,0,197,163,48,0,8,3,5,192,198,99,11,0,197,3,48,0,8,3,11,192,197,99,156,82,196,196,48,0,8,3,11,192,197,194,5,82,196,196,48,0,8,3,12,192,197,2,12,0,197,67,48,0,8,3,12,192,197,163,13,0,197,3,48,0,8,3,13,192,197,99,5,2,64,12,32,14,192,14,232,14,26,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,28,4,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,30,4,185,120,185,124,185,132,186,136,185,140,32,4,185,148,185,152,185,156,185,160,185,164,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,36,4,168,120,168,124,168,132,168,136,168,140,38,4,168,148,168,152,168,156,168,160,168,164,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,116,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,185,180,185,176,217,180,217,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,117,153,117,249,117,153,118,185,184,136,14,217,184,185,145,153,145,249,145,217,160,153,161,185,168,0,8,168,57,136,57,232,57,136,58,168,180,168,176,200,180,200,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,117,136,117,232,117,136,118,168,184,128,14,200,184,168,145,136,145,232,145,200,160,136,161,168,168,72,162,25,59,8,59,217,57,200,57,40,4,42,4,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,2,8,137,71,26,75,8,75,218,73,200,73,186,74,168,74,250,74,232,74,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,217,82,200,82,249,85,232,85,57,87,40,87,154,90,136,90,26,91,8,91,218,89,200,89,250,90,232,90,186,90,168,92,4,8,6,8,250,97,232,97,217,102,200,102,168,128,153,105,136,105,217,106,200,106,25,106,8,106,185,107,168,107,57,107,40,107,154,113,136,113,218,114,200,114,26,114,8,114,8,8,10,8,106,115,25,119,8,119,217,117,200,117,121,118,104,118,12,8,14,8,153,133,136,133,217,134,200,134,25,134,8,134,154,137,136,137,250,137,232,137,218,138,200,138,26,138,8,138,217,142,200,142,25,142,8,142,16,8,73,143,153,146,136,146,25,147,8,147,217,145,200,145,57,146,40,146,121,146,104,146,44,4,46,4,249,153,232,153,249,161,232,161,89,162,153,165,136,165,185,166,168,166,25,166,8,166,232,136,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,18,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,20,8,1,0,8,14,22,8,1,0,16,14,0,13,8,13,24,14,24,8,200,12,72,12,32,14,200,136,169,136,185,68,137,3,187,88,187,96,169,88,169,96,169,172,169,112,186,112,105,3,217,116,187,72,200,116,169,72,185,140,73,3,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,116,255,5,185,144,255,5,168,56,255,5,168,116,255,5,168,144,255,5,249,58,255,5,232,58,255,5,249,146,255,5,232,146,255,1,3,0,67,0,50,0,59,0,51,13,0,16,51,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,132,43,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,52,31,0,0,52,31,0,0,84,34,0,0,84,34,0,0,204,36,0,0,204,36,0,0,128,39,0,0,128,39,0,0,104,43,0,0,50,105,114,84,1,0,64,8,230,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,108,0,116,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,48,0,174,0,178,0,186,0,194,0,199,0,207,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,221,0,161,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,176,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,18,0,202,161,18,0,202,194,18,0,202,227,18,0,202,4,19,0,202,37,19,0,202,70,19,0,202,103,19,0,202,136,19,0,202,169,19,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,230,0,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,102,2,0,156,5,0,84,134,70,0,84,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,6,4,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,5,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,6,7,0,5,5,0,84,5,70,0,84,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,225,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,70,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,198,65,0,0,198,97,0,0,5,5,127,12,198,1,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,66,18,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,33,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,70,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,198,161,0,0,193,4,111,93,5,5,125,12,198,65,1,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,8,0,201,230,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,48,5,71,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,68,5,70,0,68,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,129,0,0,198,193,0,0,198,225,1,0,198,1,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,6,11,0,201,38,12,0,197,162,2,0,197,226,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,13,0,201,198,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,16,0,201,102,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,4,0,197,162,4,0,197,34,0,0,197,98,0,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,192,0,0,0,198,98,3,0,197,226,5,0,192,0,0,0,192,0,0,0,198,162,3,0,198,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,18,0,201,6,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,5,0,197,98,6,0,198,162,5,0,198,226,5,0,198,34,6,0,198,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,6,0,197,162,6,0,198,226,6,0,198,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,21,0,201,166,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,7,0,198,34,8,0,198,98,8,0,198,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,23,0,201,230,24,0,201,6,26,0,201,38,27,0,201,70,28,0,201,102,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,30,0,201,166,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,32,0,201,70,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,2,0,198,226,2,0,201,198,35,0,201,70,37,0,201,198,38,0,201,230,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,41,0,201,38,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,72,0,4,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,4,111,93,0,5,0,72,0,4,111,93,0,5,0,71,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,73,0,4,111,93,0,134,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,164,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,150,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,72,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,134,70,0,80,5,5,0,56,5,70,0,80,5,5,0,56,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,84,5,142,0,0,5,70,0,84,5,142,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,193,4,111,93,5,162,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,134,70,0,84,5,138,0,0,5,70,0,84,5,138,0,0,134,70,0,84,5,136,0,0,5,70,0,84,5,136,0,0,134,70,0,84,5,150,0,0,5,70,0,84,5,150,0,0,134,70,0,84,5,156,0,0,5,70,0,84,5,156,0,0,134,70,0,84,5,196,0,0,5,70,0,84,5,196,0,0,5,70,0,84,5,146,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,70,156,5,2,0,3,3,0,192,198,65,8,3,0,192,198,97,11,3,0,192,198,129,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,70,5,5,2,0,3,3,0,192,198,161,8,3,255,255,111,93,193,4,11,3,0,192,198,193,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,98,10,3,1,192,198,162,5,42,196,162,1,0,8,3,1,192,197,34,10,3,1,192,197,98,156,82,196,162,1,0,8,3,1,192,197,162,11,3,1,192,197,226,5,82,196,162,1,0,8,3,2,192,197,34,11,3,2,192,197,98,156,70,196,190,2,0,3,3,2,192,198,34,8,3,2,192,198,98,11,3,2,192,198,162,5,70,196,190,2,0,3,3,2,192,198,226,8,3,3,192,197,34,11,3,3,192,198,34,156,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,5,82,196,190,1,0,8,3,3,192,197,226,11,3,4,192,197,34,156,70,196,162,2,0,3,3,4,192,198,34,8,3,4,192,198,98,11,3,4,192,198,162,5,70,196,162,2,0,3,3,4,192,198,226,8,3,6,192,197,34,11,3,5,192,198,34,156,42,196,200,1,0,8,3,7,192,198,98,10,3,7,192,198,162,5,42,196,200,1,0,8,3,6,192,197,226,10,3,7,192,197,34,156,82,196,198,1,0,8,3,7,192,197,98,11,3,7,192,197,162,5,82,196,198,1,0,8,3,7,192,197,226,11,3,8,192,197,34,156,82,196,208,1,0,8,3,8,192,197,98,11,3,8,192,197,162,5,82,196,208,1,0,8,3,8,192,197,226,11,3,9,192,197,34,156,82,196,204,1,0,8,3,9,192,197,98,11,3,9,192,197,162,5,82,196,204,1,0,8,3,9,192,197,226,11,3,10,192,197,34,156,42,196,196,1,0,8,3,8,192,198,226,10,3,9,192,198,34,5,42,196,196,1,0,8,3,13,192,197,34,10,3,13,192,197,98,156,70,196,196,2,0,3,3,9,192,198,98,8,3,9,192,198,162,11,3,9,192,198,226,5,70,196,196,2,0,3,3,10,192,198,34,8,3,13,192,197,162,11,3,10,192,198,98,13,0,197,227,2,0,3,3,10,192,198,163,8,3,11,192,198,3,11,3,11,192,198,99,14,0,197,67,2,0,3,3,11,192,198,195,8,3,14,192,197,163,11,3,12,192,198,35,156,82,196,196,1,0,8,3,15,192,197,2,11,3,15,192,197,66,5,82,196,196,1,0,8,3,15,192,197,130,11,3,15,192,197,194,16,0,197,3,1,0,8,3,16,192,197,99,11,3,16,192,197,195,17,0,197,35,1,0,8,3,17,192,197,131,11,3,17,192,197,227,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,185,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,28,4,185,120,185,124,185,132,186,136,185,140,30,4,185,152,217,152,185,156,185,160,185,164,88,13,168,13,96,13,56,14,80,12,40,14,32,4,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,34,4,168,120,168,124,168,132,168,136,168,140,36,4,168,152,200,152,168,156,168,160,168,164,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,116,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,185,176,185,172,217,176,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,217,68,122,114,185,117,153,117,249,117,25,181,185,180,136,14,217,180,185,149,153,149,249,149,217,160,153,161,0,8,2,8,168,57,136,57,232,57,104,58,168,176,168,172,200,176,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,104,114,168,117,136,117,232,117,8,181,168,180,128,14,200,180,168,149,136,149,232,149,200,160,136,161,4,8,72,162,249,58,232,58,217,57,200,57,38,4,40,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,249,68,232,68,249,74,232,74,217,73,200,73,153,74,136,74,217,74,200,74,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,128,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,217,112,200,112,249,118,232,118,217,117,200,117,249,180,232,180,57,181,40,181,153,133,136,133,185,134,168,134,25,134,8,134,154,137,136,137,250,137,232,137,186,138,168,138,26,138,8,138,185,142,168,142,25,142,8,142,185,144,168,144,121,150,104,150,249,150,232,150,217,149,200,149,57,150,40,150,249,160,232,160,42,4,44,4,12,8,14,8,249,161,232,161,89,162,153,165,136,165,153,166,136,166,25,166,8,166,232,136,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,140,168,84,200,136,169,136,200,140,168,84,187,88,187,96,169,88,169,96,169,168,169,112,217,152,232,1,200,152,232,1,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,116,255,5,185,148,255,5,168,56,255,5,168,116,255,5,168,148,255,5,217,58,255,5,200,58,255,5,217,150,255,5,200,150,255,1,3,0,67,0,50,0,59,0,83,23,0,16,156,0,0,96,1,0,0,96,3,0,43,0,82,0,91,0,46,13,0,32,75,23,0,32,53,34,0,32,1,0,32,0,58,34,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,3,8,0,32,7,0,0,0,21,0,0,0,5,8,0,0,5,8,0,0,3,0,0,0,0,0,0,0,34,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,78,0,60,0,241,0,60,0,60,0,60,0,209,0,60,0,110,0,103,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,0,0,170,170,170,170,94,31,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,24,0,0,212,24,0,0,212,24,0,0,212,24,0,0,0,26,0,0,0,26,0,0,32,27,0,0,58,27,0,0,70,31,0,0,50,105,114,84,1,0,64,8,128,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,8,0,202,65,8,0,202,98,8,0,202,131,8,0,202,164,8,0,202,197,8,0,202,230,8,0,202,7,9,0,202,40,9,0,202,73,9,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,4,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,196,7,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,7,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,12,0,201,198,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,13,0,201,70,14,0,201,6,15,0,201,198,15,0,201,134,16,0,201,70,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,3,69,5,142,0,0,70,5,3,69,5,142,0,0,135,5,3,69,5,140,0,0,70,5,3,69,5,140,0,0,135,5,3,69,5,156,0,0,70,5,3,69,5,156,0,0,135,5,3,69,5,160,0,0,70,5,3,69,5,160,0,0,135,5,3,69,5,144,0,0,70,5,3,69,5,144,0,0,135,5,3,69,5,136,0,0,70,5,3,69,5,136,0,0,135,5,3,69,5,164,0,0,70,5,3,69,5,164,0,0,5,5,3,69,5,142,0,0,5,5,3,69,5,140,0,0,5,5,3,69,5,156,0,0,5,5,3,69,5,160,0,0,5,5,3,69,5,144,0,0,5,5,3,69,5,136,0,0,5,5,3,69,5,164,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,68,156,5,16,0,34,1,30,0,244,1,16,0,244,1,2,192,197,162,245,1,2,192,197,226,3,3,255,255,2,69,134,5,32,30,3,192,197,34,33,30,3,192,197,98,34,1,1,192,197,162,35,1,1,192,197,226,230,1,2,192,197,34,231,1,2,192,197,98,30,1,12,0,30,1,0,192,197,162,31,1,0,192,197,226,32,1,1,192,197,34,33,1,1,192,197,98,71,0,255,255,3,69,135,5,103,0,255,255,3,69,70,5,28,1,197,162,29,1,0,192,197,98,0,68,5,5,8,0,35,1,16,0,35,1,4,192,197,98,231,1,4,192,197,162,245,1,4,192,197,226,3,3,255,255,2,69,5,5,33,30,5,192,197,34,103,0,255,255,3,69,5,5,29,1,3,192,197,162,31,1,3,192,197,226,33,1,4,192,197,34,156,68,196,160,48,0,3,3,5,192,197,98,5,68,196,160,48,0,3,3,5,192,197,162,156,68,196,196,48,0,3,3,5,192,197,226,5,68,196,196,48,0,3,3,6,192,197,34,156,68,196,210,48,0,3,3,6,192,197,98,5,68,196,210,48,0,3,3,6,192,197,162,156,68,196,204,48,0,3,3,6,192,197,226,5,68,196,204,48,0,3,3,7,192,197,34,12,0,71,0,72,0,103,0,104,0,28,1,36,1,230,1,232,1,244,1,246,1,32,30,34,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,26,4,185,128,185,132,185,136,185,144,186,148,185,152,185,160,185,164,185,168,185,172,185,176,185,180,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,48,4,168,128,168,132,168,136,168,144,168,148,168,152,168,160,168,164,168,168,168,172,168,176,168,180,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,128,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,185,116,185,129,153,129,249,129,153,130,89,130,136,14,217,130,185,161,153,161,249,161,89,162,153,177,185,184,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,168,116,168,129,136,129,232,129,136,130,72,130,128,14,200,130,168,161,136,161,232,161,72,162,136,177,168,184,72,178,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,140,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,60,4,62,4,26,114,8,114,10,8,185,124,168,124,57,131,40,131,217,129,200,129,121,130,104,130,12,8,14,8,153,145,136,145,249,146,232,146,25,146,8,146,154,149,136,149,250,149,232,149,250,150,232,150,26,150,8,150,249,154,232,154,25,154,8,154,185,156,168,156,153,162,136,162,57,163,40,163,217,161,200,161,57,162,40,162,121,162,104,162,25,163,8,163,249,169,232,169,249,177,232,177,89,178,153,181,136,181,185,182,168,182,25,182,8,182,232,148,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,148,169,148,200,56,169,72,187,88,187,96,169,88,169,96,169,188,169,112,217,128,187,72,200,128,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,186,112,71,4,186,120,103,4,177,120,28,5,250,121,29,5,241,121,30,5,218,121,31,5,209,121,32,5,186,122,33,5,177,122,34,5,250,122,35,5,241,122,255,5,168,112,103,4,168,120,29,5,232,121,31,5,200,121,33,5,168,122,35,5,232,122,255,5,250,114,255,5,232,114,255,1,170,170,3,0,69,0,52,0,61,0,35,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,252,7,0,32,1,0,32,0,1,8,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,140,27,0,32,7,0,0,0,23,0,0,0,142,27,0,0,142,27,0,0,3,0,0,0,0,0,0,0,119,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,102,0,111,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,134,220,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,116,0,60,0,60,0,60,0,254,0,47,0,104,0,38,0,84,0,60,0,60,0,60,0,222,0,47,0,72,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,101,0,40,3,60,0,60,0,60,0,69,0,40,3,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,60,0,60,0,97,0,97,0,60,0,60,0,60,0,65,0,97,0,60,0,60,0,60,0,65,0,65,0,0,0,170,170,4,57,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,163,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,100,38,0,0,100,38,0,0,140,47,0,0,140,47,0,0,76,51,0,0,76,51,0,0,178,56,0,0,232,56,0,0,232,56,0,0,50,105,114,84,1,0,64,8,89,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,145,0,153,0,159,0,167,0,175,0,183,0,48,0,56,0,182,0,190,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,0,215,0,48,0,48,0,48,0,223,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,231,0,48,0,48,0,239,0,48,0,245,0,253,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,8,1,48,0,48,0,12,1,48,0,20,1,25,1,33,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,39,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,47,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,205,0,48,0,48,0,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,58,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,66,1,48,0,48,0,72,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,68,2,124,2,188,2,192,0,216,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,28,0,202,225,28,0,202,2,29,0,202,35,29,0,202,68,29,0,202,101,29,0,202,134,29,0,202,167,29,0,202,200,29,0,202,233,29,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,196,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,102,29,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,38,30,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,70,31,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,228,32,0,5,5,0,44,5,5,0,46,5,5,0,48,201,166,47,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,48,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,134,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,97,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,225,17,0,5,5,127,12,198,129,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,34,20,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,97,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,33,27,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,51,0,201,102,52,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,193,17,0,198,1,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,18,0,198,65,27,0,198,97,28,0,198,129,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,134,53,0,201,166,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,55,0,201,230,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,58,0,201,38,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,162,29,0,198,226,29,0,192,0,0,0,192,0,0,0,198,34,30,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,60,0,201,102,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,31,0,197,34,5,0,198,162,31,0,197,98,5,0,198,226,31,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,32,0,198,98,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,62,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,64,0,5,71,238,102,201,70,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,192,0,0,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,7,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,197,99,8,0,197,194,8,0,192,0,0,0,192,0,0,0,197,2,9,0,197,67,9,0,197,162,9,0,192,0,0,0,192,0,0,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,66,0,201,70,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,68,0,201,134,69,0,201,166,70,0,201,198,71,0,201,230,72,0,201,6,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,75,0,201,70,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,77,0,201,134,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,79,0,201,198,80,0,201,230,81,0,201,6,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,84,0,201,70,85,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,137,0,5,0,4,111,93,0,72,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,7,0,5,0,4,111,93,0,7,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,7,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,226,5,0,5,5,10,121,5,5,12,121,197,34,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,197,226,6,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,7,0,5,5,107,121,197,98,7,0,5,5,111,121,197,162,7,0,5,5,115,121,197,226,7,0,5,5,119,121,197,34,8,0,197,99,8,0,197,194,8,0,5,5,127,121,5,5,129,121,197,2,9,0,197,67,9,0,197,162,9,0,5,5,137,121,5,5,139,121,197,226,9,0,5,5,143,121,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,50,156,5,48,0,40,3,17,192,198,193,0,70,156,5,1,0,8,3,17,192,198,225,11,3,18,192,198,1,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,131,179,30,25,192,198,227,181,30,26,192,198,67,183,30,26,192,198,163,169,30,24,192,198,3,171,30,24,192,198,99,173,30,24,192,198,195,175,30,25,192,198,35,161,30,12,0,161,30,22,192,198,194,163,30,23,192,198,2,165,30,23,192,198,67,167,30,23,192,198,163,39,2,10,0,8,3,22,192,198,97,10,3,255,255,111,93,193,4,1,30,22,192,198,130,176,69,198,34,4,3,21,192,198,35,3,1,26,0,225,1,12,0,225,1,21,192,198,35,251,1,21,192,198,131,1,2,21,192,198,226,3,2,22,192,198,34,3,1,20,192,198,2,5,1,20,192,198,66,206,1,20,192,198,130,223,1,20,192,198,195,227,0,12,0,227,0,19,192,198,2,228,0,19,192,198,66,229,0,19,192,198,130,1,1,19,192,198,194,97,0,18,192,198,33,224,0,18,192,198,66,225,0,18,192,198,130,226,0,18,192,198,194,0,50,5,5,48,0,40,3,27,192,198,1,0,70,5,5,1,0,8,3,27,192,198,33,11,3,27,192,198,65,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,162,10,3,27,192,198,226,5,42,196,162,1,0,8,3,28,192,198,34,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,5,70,196,190,1,0,8,3,29,192,198,34,11,3,29,192,198,98,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,5,70,196,162,1,0,8,3,30,192,198,226,11,3,31,192,198,34,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,32,192,198,162,10,3,32,192,198,226,5,42,196,200,1,0,8,3,33,192,198,34,10,3,12,192,197,162,156,82,196,198,1,0,8,3,12,192,197,226,11,3,13,192,197,34,5,82,196,198,1,0,8,3,13,192,197,98,11,3,13,192,197,162,156,82,196,208,1,0,8,3,13,192,197,226,11,3,14,192,197,34,5,82,196,208,1,0,8,3,14,192,197,98,11,3,14,192,197,162,156,82,196,204,1,0,8,3,14,192,197,226,11,3,15,192,197,34,5,82,196,204,1,0,8,3,15,192,197,98,11,3,15,192,197,162,156,42,196,196,1,0,8,3,33,192,198,98,10,3,33,192,198,162,5,42,196,196,1,0,8,3,33,192,198,226,10,3,15,192,197,226,156,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,5,70,196,196,1,0,8,3,34,192,198,162,11,3,34,192,198,226,16,0,197,35,1,0,8,3,35,192,198,35,11,3,35,192,198,131,16,0,197,131,1,0,8,3,35,192,198,227,11,3,36,192,198,67,156,82,196,196,1,0,8,3,16,192,197,226,11,3,17,192,197,34,5,82,196,196,1,0,8,3,17,192,197,98,11,3,17,192,197,162,17,0,197,227,1,0,8,3,18,192,197,67,11,3,18,192,197,163,19,0,197,3,1,0,8,3,19,192,197,99,11,3,19,192,197,195,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,3,0,67,0,50,0,59,0,119,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,10,51,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,52,30,0,0,52,30,0,0,92,39,0,0,92,39,0,0,56,41,0,0,56,41,0,0,88,46,0,0,142,46,0,0,238,50,0,0,50,105,114,84,1,0,64,8,214,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,170,0,48,0,178,0,183,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,197,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,158,0,48,0,48,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,13,0,202,193,13,0,202,226,13,0,202,3,14,0,202,36,14,0,202,69,14,0,202,102,14,0,202,135,14,0,202,168,14,0,202,201,14,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,4,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,166,28,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,102,29,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,134,30,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,36,32,0,5,5,0,44,5,5,0,46,5,5,0,48,201,230,46,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,47,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,198,48,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,97,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,225,17,0,5,5,127,12,198,129,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,98,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,97,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,33,27,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,50,0,201,166,51,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,193,17,0,198,1,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,18,0,198,65,27,0,198,97,28,0,198,129,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,198,52,0,201,230,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,55,0,201,38,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,57,0,201,102,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,162,29,0,198,226,29,0,192,0,0,0,192,0,0,0,198,34,30,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,59,0,201,166,60,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,31,0,197,34,5,0,198,162,31,0,197,98,5,0,198,226,31,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,32,0,198,98,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,61,0,201,230,62,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,64,0,201,38,65,0,201,70,66,0,201,102,67,0,201,134,68,0,201,166,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,70,0,201,230,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,73,0,201,38,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,75,0,201,102,76,0,201,134,77,0,201,166,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,79,0,201,230,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,137,0,5,0,4,111,93,0,72,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,137,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,137,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,72,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,7,0,5,0,4,111,93,0,7,0,5,0,4,111,93,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,144,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,184,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,7,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,7,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,50,156,5,48,0,40,3,17,192,198,193,0,70,156,5,1,0,8,3,17,192,198,225,11,3,18,192,198,1,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,131,179,30,25,192,198,227,181,30,26,192,198,67,183,30,26,192,198,163,169,30,24,192,198,3,171,30,24,192,198,99,173,30,24,192,198,195,175,30,25,192,198,35,161,30,12,0,161,30,22,192,198,194,163,30,23,192,198,2,165,30,23,192,198,67,167,30,23,192,198,163,39,2,10,0,8,3,22,192,198,97,10,3,255,255,111,93,193,4,1,30,22,192,198,130,176,69,198,34,4,3,21,192,198,35,3,1,26,0,225,1,12,0,225,1,21,192,198,35,251,1,21,192,198,131,1,2,21,192,198,226,3,2,22,192,198,34,3,1,20,192,198,2,5,1,20,192,198,66,206,1,20,192,198,130,223,1,20,192,198,195,227,0,12,0,227,0,19,192,198,2,228,0,19,192,198,66,229,0,19,192,198,130,1,1,19,192,198,194,97,0,18,192,198,33,224,0,18,192,198,66,225,0,18,192,198,130,226,0,18,192,198,194,0,50,5,5,48,0,40,3,27,192,198,1,0,70,5,5,1,0,8,3,27,192,198,33,11,3,27,192,198,65,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,162,10,3,27,192,198,226,5,42,196,162,1,0,8,3,28,192,198,34,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,5,70,196,190,1,0,8,3,29,192,198,34,11,3,29,192,198,98,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,5,70,196,162,1,0,8,3,30,192,198,226,11,3,31,192,198,34,156,42,196,200,1,0,8,3,32,192,198,162,10,3,32,192,198,226,5,42,196,200,1,0,8,3,33,192,198,34,10,3,5,192,197,226,156,82,196,198,1,0,8,3,6,192,197,34,11,3,6,192,197,98,5,82,196,198,1,0,8,3,6,192,197,162,11,3,6,192,197,226,156,82,196,208,1,0,8,3,7,192,197,34,11,3,7,192,197,98,5,82,196,208,1,0,8,3,7,192,197,162,11,3,7,192,197,226,156,82,196,204,1,0,8,3,8,192,197,34,11,3,8,192,197,98,5,82,196,204,1,0,8,3,8,192,197,162,11,3,8,192,197,226,156,42,196,196,1,0,8,3,33,192,198,98,10,3,33,192,198,162,5,42,196,196,1,0,8,3,33,192,198,226,10,3,9,192,197,34,156,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,5,70,196,196,1,0,8,3,34,192,198,162,11,3,34,192,198,226,9,0,197,99,1,0,8,3,35,192,198,35,11,3,35,192,198,131,9,0,197,195,1,0,8,3,35,192,198,227,11,3,36,192,198,67,156,82,196,196,1,0,8,3,10,192,197,34,11,3,10,192,197,98,5,82,196,196,1,0,8,3,10,192,197,162,11,3,10,192,197,226,11,0,197,35,1,0,8,3,11,192,197,131,11,3,11,192,197,227,12,0,197,67,1,0,8,3,12,192,197,163,11,3,13,192,197,3,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,60,185,64,185,68,64,4,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,66,4,185,124,185,128,185,136,186,140,186,144,68,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,70,4,168,60,168,64,168,68,92,4,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,94,4,168,124,168,128,168,136,168,140,168,144,96,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,217,180,185,188,185,180,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,249,121,121,122,217,184,136,14,185,184,185,153,153,153,249,153,217,168,153,169,0,8,2,8,168,57,136,57,232,57,104,58,200,180,168,188,168,180,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,232,121,104,122,200,184,128,14,168,184,168,153,136,153,232,153,200,168,136,169,4,8,72,170,249,58,232,58,217,57,200,57,98,4,100,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,249,180,232,180,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,132,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,184,232,184,25,185,8,185,153,137,136,137,185,138,168,138,25,138,8,138,154,141,136,141,250,141,232,141,186,142,168,142,26,142,8,142,186,146,168,146,26,146,8,146,185,148,168,148,121,154,104,154,249,154,232,154,217,153,200,153,57,154,40,154,249,168,232,168,102,4,104,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,153,174,136,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,187,144,185,84,200,140,169,140,169,144,168,84,187,88,187,96,169,88,169,96,169,176,169,112,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,65,4,188,188,97,4,179,188,192,4,188,189,193,4,156,189,194,4,252,189,195,4,124,190,196,4,92,190,197,4,60,190,224,4,179,189,225,4,147,189,226,4,243,189,227,4,115,190,228,4,83,190,229,4,51,190,0,5,252,190,1,5,243,190,2,5,220,189,3,5,211,189,4,5,220,190,5,5,211,190,255,5,185,72,255,5,185,120,255,5,185,152,255,5,168,56,97,4,170,188,224,4,170,189,225,4,138,189,226,4,234,189,227,4,106,190,228,4,74,190,229,4,42,190,1,5,234,190,3,5,202,189,5,5,202,190,255,5,168,72,255,5,168,120,255,5,168,152,255,5,217,58,255,5,200,58,255,5,217,154,255,5,200,154,255,1,170,170,3,0,67,0,50,0,59,0,191,14,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,185,14,0,32,131,27,0,32,1,0,32,0,136,27,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,47,0,0,32,7,0,0,0,21,0,0,0,49,0,0,0,49,0,0,0,3,0,0,0,0,0,0,0,30,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,98,0,97,0,99,0,107,0,119,0,97,0,114,0,100,0,115,0,32,0,50,0,93,0,0,0,170,170,170,170,32,0,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,2,0,0,0,16,40,2,15,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,40,0,0,32,1,0,32,0,45,0,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,223,7,0,32,7,0,0,0,21,0,0,0,225,7,0,0,225,7,0,0,3,0,0,0,0,0,0,0,28,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,73,0,60,0,60,0,121,0,60,0,60,0,60,0,89,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,224,30,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,20,26,0,0,20,26,0,0,20,26,0,0,20,26,0,0,240,26,0,0,240,26,0,0,240,26,0,0,240,26,0,0,200,30,0,0,50,105,114,84,1,0,64,8,148,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,95,0,103,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,124,0,48,0,48,0,131,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,119,0,48,0,48,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,124,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,5,0,202,193,5,0,202,226,5,0,202,3,6,0,202,36,6,0,202,69,6,0,202,102,6,0,202,135,6,0,202,168,6,0,202,201,6,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,134,70,0,58,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,70,0,58,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,4,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,197,34,0,0,160,5,38,93,197,34,5,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,5,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,197,98,0,0,5,5,38,93,197,162,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,0,0,197,34,1,0,197,98,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,1,0,197,226,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,2,0,197,34,3,0,197,98,3,0,197,162,3,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,70,0,58,5,136,0,0,5,70,0,58,5,136,0,0,5,70,0,58,5,150,0,0,134,70,0,58,5,142,0,0,5,70,0,58,5,142,0,0,134,70,0,58,5,150,0,0,134,70,0,58,5,164,0,0,5,70,0,58,5,164,0,0,134,70,0,58,5,156,0,0,5,70,0,58,5,156,0,0,5,70,0,58,5,146,0,0,134,70,0,58,5,138,0,0,5,70,0,58,5,138,0,0,134,70,0,58,5,196,0,0,5,70,0,58,5,196,0,0,134,70,0,58,5,182,0,0,5,70,0,58,5,182,0,0,134,70,0,58,5,154,0,0,5,70,0,58,5,154,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,2,64,12,32,14,192,14,232,14,36,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,217,88,185,168,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,200,88,168,168,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,2,8,185,172,4,8,168,57,136,57,232,57,136,58,72,58,40,58,6,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,8,8,168,172,10,8,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,12,8,14,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,16,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,18,8,20,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,22,8,24,8,26,8,153,169,136,169,185,170,168,170,25,170,8,170,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,28,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,30,8,1,0,8,14,32,8,1,0,16,14,0,13,8,13,24,14,34,8,200,12,72,12,32,14,217,56,187,72,217,88,136,1,200,140,169,140,200,56,169,72,200,88,136,1,200,88,72,2,187,88,187,96,169,88,169,96,169,176,169,112,217,120,187,72,200,120,169,72,217,88,232,1,200,88,232,1,217,88,72,2,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,216,7,0,32,1,0,32,0,221,7,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,160,16,0,32,7,0,0,0,23,0,0,0,162,16,0,0,162,16,0,0,3,0,0,0,0,0,0,0,43,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,101,0,115,0,93,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,101,0,115,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,0,0,212,35,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,77,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,148,32,0,0,148,32,0,0,148,32,0,0,148,32,0,0,252,34,0,0,252,34,0,0,188,35,0,0,188,35,0,0,188,35,0,0,50,105,114,84,1,0,64,8,252,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,84,0,92,0,98,0,106,0,114,0,122,0,48,0,56,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,146,0,154,0,48,0,48,0,48,0,162,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,170,0,48,0,48,0,178,0,48,0,184,0,192,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,195,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,144,0,48,0,48,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,243,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,229,0,48,0,48,0,235,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,80,1,136,1,200,1,192,0,228,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,18,0,202,33,18,0,202,66,18,0,202,99,18,0,202,132,18,0,202,165,18,0,202,198,18,0,202,231,18,0,202,8,19,0,202,41,19,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,198,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,166,1,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,8,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,9,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,9,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,2,0,201,38,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,230,3,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,5,0,5,71,238,102,201,166,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,197,98,1,0,192,0,0,0,192,0,0,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,197,226,2,0,197,35,3,0,197,130,3,0,192,0,0,0,192,0,0,0,197,194,3,0,197,3,4,0,197,98,4,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,0,0,197,226,4,0,5,5,10,121,197,34,5,0,197,98,5,0,5,5,12,121,5,5,16,121,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,5,5,18,121,5,5,20,121,197,66,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,7,0,201,70,8,0,201,6,9,0,201,198,9,0,201,134,10,0,201,70,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,162,0,0,5,5,10,121,5,5,12,121,197,226,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,197,162,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,1,0,5,5,107,121,197,34,2,0,5,5,111,121,197,98,2,0,5,5,115,121,197,162,2,0,5,5,119,121,197,226,2,0,197,35,3,0,197,130,3,0,5,5,127,121,5,5,129,121,197,194,3,0,197,3,4,0,197,98,4,0,5,5,137,121,5,5,139,121,197,162,4,0,5,5,143,121,5,5,6,121,197,162,0,0,197,226,4,0,5,5,10,121,197,34,5,0,197,98,5,0,5,5,12,121,5,5,16,121,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,5,5,18,121,5,5,20,121,197,66,1,0,5,5,24,121,197,98,1,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,68,5,5,48,0,3,3,255,255,2,69,5,5,156,68,196,160,48,0,3,3,197,162,5,68,196,160,48,0,3,3,0,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,68,196,196,48,0,3,3,7,192,197,98,5,68,196,196,48,0,3,3,7,192,197,162,156,68,196,210,48,0,3,3,7,192,197,226,5,68,196,210,48,0,3,3,8,192,197,34,156,68,196,204,48,0,3,3,8,192,197,98,5,68,196,204,48,0,3,3,8,192,197,162,3,0,67,0,50,0,59,0,43,0,0,16,16,0,0,96,1,0,0,96,170,170,170,170,186,29,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,24,0,0,212,24,0,0,212,24,0,0,212,24,0,0,88,25,0,0,88,25,0,0,210,25,0,0,210,25,0,0,162,29,0,0,50,105,114,84,1,0,64,8,128,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,2,0,202,1,3,0,202,34,3,0,202,67,3,0,202,100,3,0,202,133,3,0,202,166,3,0,202,199,3,0,202,232,3,0,202,9,4,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,6,0,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,230,0,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,2,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,2,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,2,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,1,0,201,102,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,3,0,201,230,3,0,201,166,4,0,201,102,5,0,201,38,6,0,201,230,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,68,5,5,48,0,3,3,255,255,2,69,5,5,156,68,196,160,48,0,3,3,197,162,5,68,196,160,48,0,3,3,0,192,197,98,156,68,196,196,48,0,3,3,0,192,197,162,5,68,196,196,48,0,3,3,0,192,197,226,156,68,196,210,48,0,3,3,1,192,197,34,5,68,196,210,48,0,3,3,1,192,197,98,156,68,196,204,48,0,3,3,1,192,197,162,5,68,196,204,48,0,3,3,1,192,197,226,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,26,4,185,124,185,128,185,132,185,140,186,144,185,148,185,156,185,160,185,164,185,168,185,172,185,176,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,28,4,168,124,168,128,168,132,168,140,168,144,168,148,168,156,168,160,168,164,168,168,168,172,168,176,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,185,116,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,157,153,157,249,157,89,158,153,173,185,180,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,168,116,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,157,136,157,232,157,72,158,136,173,168,180,72,174,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,136,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,30,4,32,4,26,114,8,114,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,250,146,232,146,26,146,8,146,249,150,232,150,25,150,8,150,185,152,168,152,153,158,136,158,57,159,40,159,217,157,200,157,57,158,40,158,121,158,104,158,25,159,8,159,249,165,232,165,249,173,232,173,89,174,153,177,136,177,185,178,168,178,25,178,8,178,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,144,169,144,200,56,169,72,187,88,187,96,169,88,169,96,169,184,169,112,217,124,187,72,200,124,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,186,112,255,5,168,112,255,5,250,114,255,5,232,114,255,1,170,170,3,0,67,0,50,0,59,0,39,9,0,16,4,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,33,9,0,32,151,16,0,32,1,0,32,0,156,16,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,170,6,0,32,7,0,0,0,21,0,0,0,172,6,0,0,172,6,0,0,3,0,0,0,0,0,0,0,67,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,86,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,71,0,117,0,106,0,114,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,208,10,60,0,130,10,60,0,60,0,129,10,60,0,131,10,0,0,124,25,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,116,0,0,0,116,1,0,0,20,25,0,0,20,25,0,0,28,25,0,0,28,25,0,0,96,25,0,0,15,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,107,188,255,0,108,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,39,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,113,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,193,2,7,107,193,3,7,107,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,2,7,107,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,67,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,163,6,0,32,1,0,32,0,168,6,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,106,9,0,32,7,0,0,0,21,0,0,0,108,9,0,0,108,9,0,0,3,0,0,0,0,0,0,0,66,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,84,220,38,0,66,0,60,0,83,2,60,0,60,0,60,0,129,1,38,0,68,0,60,0,87,2,60,0,60,0,60,0,138,1,38,0,75,0,60,0,153,1,60,0,60,0,60,0,152,1,38,0,83,0,60,0,115,0,104,0,60,0,60,0,60,0,83,0,104,0,60,0,60,0,60,0,83,0,72,0,38,0,84,0,60,0,116,0,115,0,60,0,60,0,60,0,84,0,115,0,60,0,60,0,60,0,84,0,83,0,38,0,89,0,60,0,180,1,60,0,60,0,60,0,188,2,121,0,60,0,60,0,60,0,39,0,39,0,121,0,60,0,60,0,60,0,179,1,60,0,60,0,60,0,188,2,89,0,60,0,60,0,60,0,39,0,39,0,89,0,0,0,170,170,170,170,122,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,25,0,0,164,25,0,0,164,25,0,0,164,25,0,0,228,28,0,0,228,28,0,0,196,31,0,0,26,32,0,0,98,36,0,0,50,105,114,84,1,0,64,8,141,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,94,0,102,0,100,0,108,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,124,0,48,0,48,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,64,1,192,0,192,0,120,1,144,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,201,0,0,0,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,24,0,202,225,24,0,202,2,25,0,202,35,25,0,202,68,25,0,202,101,25,0,202,134,25,0,202,167,25,0,202,200,25,0,202,233,25,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,96,9,0,201,32,17,0,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,64,27,0,201,96,31,0,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,2,24,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,66,24,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,130,24,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,134,5,2,45,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,63,5,5,2,63,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,136,5,2,91,5,5,2,91,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,45,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,128,36,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,74,5,2,91,5,136,0,0,7,5,2,91,5,136,0,0,7,5,2,91,5,150,0,0,74,5,2,91,5,142,0,0,7,5,2,91,5,142,0,0,74,5,2,91,5,150,0,0,74,5,2,91,5,164,0,0,7,5,2,91,5,164,0,0,74,5,2,91,5,156,0,0,7,5,2,91,5,156,0,0,7,5,2,91,5,146,0,0,74,5,2,91,5,138,0,0,7,5,2,91,5,138,0,0,74,5,2,91,5,196,0,0,7,5,2,91,5,196,0,0,74,5,2,91,5,182,0,0,7,5,2,91,5,182,0,0,74,5,2,91,5,154,0,0,7,5,2,91,5,154,0,0,135,5,2,79,5,142,0,0,70,5,2,79,5,142,0,0,135,5,2,79,5,144,0,0,70,5,2,79,5,144,0,0,135,5,2,79,5,156,0,0,70,5,2,79,5,156,0,0,135,5,2,79,5,196,0,0,70,5,2,79,5,196,0,0,135,5,2,79,5,150,0,0,70,5,2,79,5,150,0,0,135,5,2,79,5,160,0,0,70,5,2,79,5,160,0,0,135,5,2,79,5,206,0,0,70,5,2,79,5,206,0,0,70,5,2,79,5,210,0,0,135,5,2,81,5,136,0,0,70,5,2,81,5,136,0,0,135,5,2,81,5,142,0,0,70,5,2,81,5,142,0,0,135,5,2,81,5,160,0,0,70,5,2,81,5,160,0,0,135,5,2,81,5,144,0,0,70,5,2,81,5,144,0,0,135,5,2,81,5,202,0,0,70,5,2,81,5,202,0,0,135,5,2,81,5,156,0,0,70,5,2,81,5,156,0,0,135,5,2,81,5,196,0,0,70,5,2,81,5,196,0,0,135,5,2,81,5,136,0,0,5,156,0,0,70,5,2,81,5,136,0,0,5,156,0,0,135,5,2,81,5,144,0,0,5,156,0,0,70,5,2,81,5,144,0,0,5,156,0,0,135,5,2,81,5,196,0,0,5,156,0,0,70,5,2,81,5,196,0,0,5,156,0,0,5,5,2,79,5,142,0,0,5,5,2,79,5,144,0,0,5,5,2,79,5,156,0,0,5,5,2,79,5,196,0,0,5,5,2,79,5,150,0,0,5,5,2,79,5,160,0,0,5,5,2,79,5,206,0,0,5,5,2,79,5,210,0,0,5,5,2,81,5,136,0,0,5,5,2,81,5,142,0,0,5,5,2,81,5,160,0,0,5,5,2,81,5,144,0,0,5,5,2,81,5,202,0,0,5,5,2,81,5,156,0,0,5,5,2,81,5,196,0,0,5,5,2,81,5,136,0,0,5,156,0,0,5,5,2,81,5,144,0,0,5,156,0,0,5,5,2,81,5,196,0,0,5,156,0,0,73,5,2,91,5,136,0,0,6,5,2,91,5,136,0,0,6,5,2,91,5,150,0,0,73,5,2,91,5,142,0,0,6,5,2,91,5,142,0,0,73,5,2,91,5,150,0,0,73,5,2,91,5,164,0,0,6,5,2,91,5,164,0,0,73,5,2,91,5,156,0,0,6,5,2,91,5,156,0,0,6,5,2,91,5,146,0,0,73,5,2,91,5,138,0,0,6,5,2,91,5,138,0,0,73,5,2,91,5,196,0,0,6,5,2,91,5,196,0,0,73,5,2,91,5,182,0,0,6,5,2,91,5,182,0,0,73,5,2,91,5,154,0,0,6,5,2,91,5,154,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,106,9,5,5,20,0,142,30,37,0,244,30,20,0,247,30,9,0,247,30,4,192,197,34,248,30,4,192,197,98,249,30,4,192,197,162,244,30,3,192,197,98,245,30,3,192,197,162,246,30,3,192,197,226,142,30,2,192,197,34,143,30,2,192,197,98,153,30,2,192,197,162,242,30,2,192,197,226,243,30,3,192,197,34,118,1,15,0,118,1,0,192,197,226,119,1,1,192,197,34,120,1,1,192,197,98,50,2,1,192,197,162,51,2,1,192,197,226,89,0,255,255,2,91,74,5,121,0,255,255,2,91,7,5,221,0,197,162,253,0,0,192,197,98,255,0,0,192,197,162,0,78,156,5,16,0,36,30,29,0,40,30,15,0,40,30,7,192,197,98,41,30,7,192,197,162,42,30,7,192,197,226,43,30,8,192,197,34,150,30,8,192,197,98,36,30,6,192,197,98,37,30,6,192,197,162,38,30,6,192,197,226,39,30,7,192,197,34,30,2,12,0,30,2,5,192,197,98,31,2,5,192,197,162,34,30,5,192,197,226,35,30,6,192,197,34,72,0,255,255,2,79,135,5,104,0,255,255,2,79,70,5,36,1,4,192,197,226,37,1,5,192,197,34,0,80,156,5,21,0,25,2,37,0,100,30,20,0,103,30,9,0,103,30,13,192,197,67,104,30,13,192,197,163,105,30,14,192,197,3,100,30,12,192,197,35,101,30,12,192,197,131,102,30,12,192,197,227,25,2,10,192,197,226,96,30,11,192,197,34,97,30,11,192,197,98,98,30,11,192,197,162,99,30,11,192,197,226,93,1,20,0,96,1,9,0,96,1,10,192,197,34,97,1,10,192,197,98,24,2,10,192,197,162,93,1,9,192,197,98,94,1,9,192,197,162,95,1,9,192,197,226,83,0,255,255,2,81,135,5,115,0,255,255,2,81,70,5,90,1,8,192,197,162,91,1,8,192,197,226,92,1,9,192,197,34,0,78,5,5,8,0,37,30,15,0,37,30,15,192,197,34,39,30,15,192,197,98,41,30,15,192,197,162,43,30,15,192,197,226,150,30,16,192,197,34,104,0,255,255,2,79,5,5,37,1,14,192,197,98,31,2,14,192,197,162,35,30,14,192,197,226,0,80,5,5,10,0,25,2,20,0,101,30,9,0,101,30,18,192,197,35,103,30,18,192,197,131,105,30,18,192,197,227,25,2,17,192,197,98,97,30,17,192,197,162,99,30,17,192,197,226,115,0,255,255,2,81,5,5,91,1,16,192,197,98,93,1,16,192,197,162,95,1,16,192,197,226,97,1,17,192,197,34,82,93,5,5,20,0,142,30,37,0,244,30,20,0,247,30,9,0,247,30,23,192,197,66,248,30,23,192,197,130,249,30,23,192,197,194,244,30,22,192,197,130,245,30,22,192,197,194,246,30,23,192,197,2,142,30,21,192,197,66,143,30,21,192,197,130,153,30,21,192,197,194,242,30,22,192,197,2,243,30,22,192,197,66,118,1,15,0,118,1,20,192,197,2,119,1,20,192,197,66,120,1,20,192,197,130,50,2,20,192,197,194,51,2,21,192,197,2,89,0,255,255,2,91,73,5,121,0,255,255,2,91,6,5,221,0,19,192,197,66,253,0,19,192,197,130,255,0,19,192,197,194,42,0,72,0,73,0,83,0,84,0,89,0,90,0,104,0,105,0,115,0,116,0,121,0,122,0,221,0,222,0,253,0,254,0,255,0,0,1,36,1,38,1,90,1,98,1,118,1,121,1,24,2,26,2,30,2,32,2,50,2,52,2,34,30,44,30,96,30,106,30,142,30,144,30,150,30,151,30,153,30,154,30,242,30,250,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,26,4,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,44,4,54,4,185,160,185,164,185,168,185,172,185,176,185,184,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,76,4,82,4,168,160,168,164,168,168,168,172,168,176,168,184,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,161,153,161,249,161,89,162,153,177,185,188,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,161,136,161,232,161,72,162,136,177,168,188,72,178,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,150,232,150,25,150,8,150,185,156,168,156,153,162,136,162,57,163,40,163,217,161,200,161,57,162,40,162,121,162,104,162,25,163,8,163,249,169,232,169,249,177,232,177,89,178,153,185,136,185,185,186,168,186,25,186,8,186,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,192,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,216,12,89,4,178,180,121,4,169,180,221,4,146,181,253,4,137,181,255,4,73,182,118,5,242,181,119,5,233,181,120,5,82,182,255,5,186,140,72,4,186,144,104,4,177,144,36,5,250,145,37,5,241,145,255,5,185,148,83,4,186,152,115,4,177,152,90,5,154,153,91,5,145,153,92,5,250,153,93,5,241,153,94,5,250,154,95,5,241,154,96,5,26,154,97,5,17,154,255,5,168,140,104,4,168,144,37,5,232,145,255,5,168,148,115,4,168,152,91,5,136,153,93,5,232,153,95,5,232,154,97,5,8,154,255,1,170,170,3,0,69,0,52,0,61,0,67,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,99,9,0,32,1,0,32,0,104,9,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,249,10,0,32,7,0,0,0,21,0,0,0,251,10,0,0,251,10,0,0,3,0,0,0,0,0,0,0,39,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,97,0,60,0,101,0,60,0,60,0,60,0,69,0,60,0,105,0,60,0,60,0,60,0,73,0,60,0,111,0,60,0,60,0,60,0,79,0,60,0,117,0,60,0,60,0,60,0,85,0,38,0,119,0,60,0,187,2,0,0,170,170,40,43,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,31,0,0,84,31,0,0,84,31,0,0,84,31,0,0,80,39,0,0,80,39,0,0,80,39,0,0,80,39,0,0,16,43,0,0,50,105,114,84,1,0,64,8,232,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,93,0,101,0,106,0,114,0,119,0,127,0,134,0,142,0,48,0,56,0,147,0,155,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,174,0,182,0,187,0,192,0,48,0,199,0,207,0,215,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,171,0,48,0,48,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,116,1,168,1,220,1,24,2,192,0,76,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,62,0,202,193,62,0,202,226,62,0,202,3,63,0,202,36,63,0,202,69,63,0,202,102,63,0,202,135,63,0,202,168,63,0,202,201,63,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,134,5,2,43,156,5,0,52,156,5,0,54,156,5,0,56,134,5,3,43,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,134,5,4,43,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,134,5,5,43,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,2,43,5,5,0,52,5,5,0,54,5,5,0,56,5,5,3,43,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,4,43,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,5,43,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,61,0,196,160,156,46,197,34,0,0,197,98,0,0,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,197,162,1,0,197,226,1,0,160,112,0,48,196,154,156,68,197,34,2,0,197,98,2,0,197,162,2,0,197,226,2,0,197,34,3,0,5,5,127,12,196,158,156,70,197,98,3,0,197,162,3,0,197,226,3,0,197,34,4,0,196,136,156,90,160,5,38,93,197,34,62,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,62,0,196,160,5,46,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,5,112,0,48,196,154,5,68,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,197,98,7,0,5,5,125,12,196,158,5,70,197,162,7,0,197,226,7,0,197,34,8,0,197,98,8,0,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,8,0,197,226,8,0,197,34,9,0,197,98,9,0,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,14,0,197,34,15,0,197,98,15,0,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,197,98,17,0,197,162,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,17,0,197,34,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,18,0,197,162,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,18,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,197,34,20,0,197,99,20,0,197,195,20,0,197,35,21,0,197,131,21,0,197,227,21,0,197,67,22,0,197,163,22,0,197,3,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,23,0,197,162,23,0,197,227,23,0,197,67,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,197,34,25,0,197,98,25,0,197,162,25,0,197,226,25,0,197,34,26,0,197,98,26,0,197,162,26,0,197,226,26,0,197,34,27,0,197,98,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,27,0,197,226,27,0,197,34,28,0,197,98,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,28,0,197,226,28,0,197,35,29,0,197,131,29,0,197,227,29,0,197,67,30,0,197,162,30,0,197,226,30,0,197,35,31,0,197,131,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,87,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,31,0,197,67,32,0,197,163,32,0,197,3,33,0,197,98,33,0,197,162,33,0,197,226,33,0,197,34,34,0,197,99,34,0,197,195,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,35,0,197,98,35,0,197,163,35,0,197,3,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,36,0,197,195,36,0,197,35,37,0,197,131,37,0,197,227,37,0,197,67,38,0,197,163,38,0,197,3,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,39,0,197,162,39,0,197,226,39,0,197,34,40,0,197,98,40,0,197,162,40,0,197,227,40,0,197,67,41,0,197,163,41,0,197,3,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,42,0,197,162,42,0,197,226,42,0,197,34,43,0,197,98,43,0,197,162,43,0,197,227,43,0,197,67,44,0,197,163,44,0,197,3,45,0,197,99,45,0,197,195,45,0,197,35,46,0,197,131,46,0,197,227,46,0,197,67,47,0,197,162,47,0,197,226,47,0,197,34,48,0,197,98,48,0,197,162,48,0,197,226,48,0,197,34,49,0,197,98,49,0,197,163,49,0,197,3,50,0,197,99,50,0,197,195,50,0,197,35,51,0,197,131,51,0,197,227,51,0,197,67,52,0,197,163,52,0,197,3,53,0,197,99,53,0,197,195,53,0,197,35,54,0,197,131,54,0,197,227,54,0,197,67,55,0,197,163,55,0,197,3,56,0,197,99,56,0,197,195,56,0,197,34,57,0,197,98,57,0,197,162,57,0,197,226,57,0,197,35,58,0,197,131,58,0,197,227,58,0,197,67,59,0,197,163,59,0,197,3,60,0,197,99,60,0,197,195,60,0,197,35,61,0,197,131,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,43,5,138,0,0,134,5,2,43,5,136,0,0,134,5,2,43,5,142,0,0,134,5,2,43,5,150,0,0,134,5,3,43,5,138,0,0,134,5,3,43,5,136,0,0,134,5,3,43,5,142,0,0,134,5,3,43,5,150,0,0,134,5,4,43,5,138,0,0,134,5,4,43,5,136,0,0,134,5,4,43,5,142,0,0,134,5,4,43,5,154,0,0,134,5,4,43,5,150,0,0,134,5,5,43,5,138,0,0,134,5,5,43,5,136,0,0,134,5,5,43,5,142,0,0,134,5,5,43,5,150,0,0,5,5,2,43,5,138,0,0,5,5,2,43,5,136,0,0,5,5,2,43,5,142,0,0,5,5,2,43,5,150,0,0,5,5,3,43,5,138,0,0,5,5,3,43,5,136,0,0,5,5,3,43,5,142,0,0,5,5,3,43,5,150,0,0,5,5,4,43,5,138,0,0,5,5,4,43,5,136,0,0,5,5,4,43,5,142,0,0,5,5,4,43,5,154,0,0,5,5,4,43,5,150,0,0,5,5,5,43,5,138,0,0,5,5,5,43,5,136,0,0,5,5,5,43,5,142,0,0,5,5,5,43,5,150,0,0,134,5,2,43,5,164,0,0,5,5,2,43,5,164,0,0,134,5,2,43,5,140,0,0,5,5,2,43,5,140,0,0,134,5,2,43,5,156,0,0,5,5,2,43,5,156,0,0,134,5,2,43,5,162,0,0,5,5,2,43,5,162,0,0,134,5,2,43,5,144,0,0,5,5,2,43,5,144,0,0,134,5,3,43,5,154,0,0,5,5,3,43,5,154,0,0,134,5,3,43,5,164,0,0,5,5,3,43,5,164,0,0,134,5,3,43,5,140,0,0,5,5,3,43,5,140,0,0,134,5,3,43,5,162,0,0,5,5,3,43,5,162,0,0,134,5,3,43,5,156,0,0,134,5,4,43,5,164,0,0,5,5,4,43,5,164,0,0,134,5,4,43,5,140,0,0,5,5,4,43,5,140,0,0,134,5,4,43,5,152,0,0,5,5,4,43,5,152,0,0,134,5,5,43,5,154,0,0,5,5,5,43,5,154,0,0,134,5,5,43,5,164,0,0,5,5,5,43,5,164,0,0,134,5,5,43,5,140,0,0,5,5,5,43,5,140,0,0,134,5,5,43,5,146,0,0,5,5,5,43,5,146,0,0,134,5,5,43,5,152,0,0,5,5,5,43,5,152,0,0,134,5,5,43,5,162,0,0,5,5,5,43,5,162,0,0,134,5,4,43,5,190,0,0,5,5,4,43,5,190,0,0,134,5,5,43,5,190,0,0,5,5,5,43,5,190,0,0,134,5,3,43,5,144,0,0,5,5,3,43,5,144,0,0,134,5,4,43,5,144,0,0,5,5,4,43,5,144,0,0,134,5,5,43,5,144,0,0,5,5,5,43,5,144,0,0,134,5,5,43,5,150,0,0,5,164,0,0,5,5,5,43,5,150,0,0,5,164,0,0,134,5,5,43,5,150,0,0,5,136,0,0,5,5,5,43,5,150,0,0,5,136,0,0,134,5,5,43,5,150,0,0,5,144,0,0,5,5,5,43,5,150,0,0,5,144,0,0,134,5,5,43,5,150,0,0,5,138,0,0,5,5,5,43,5,150,0,0,5,138,0,0,134,5,4,43,5,162,0,0,5,5,4,43,5,162,0,0,134,5,4,43,5,162,0,0,5,164,0,0,5,5,4,43,5,162,0,0,5,164,0,0,134,5,2,43,5,184,0,0,5,5,2,43,5,184,0,0,134,5,2,43,5,188,0,0,5,5,2,43,5,188,0,0,134,5,3,43,5,184,0,0,5,5,3,43,5,184,0,0,134,5,3,43,5,188,0,0,5,5,3,43,5,188,0,0,134,5,4,43,5,184,0,0,5,5,4,43,5,184,0,0,134,5,4,43,5,188,0,0,5,5,4,43,5,188,0,0,134,5,5,43,5,184,0,0,5,5,5,43,5,184,0,0,134,5,5,43,5,188,0,0,5,5,5,43,5,188,0,0,134,5,2,43,5,160,0,0,5,5,2,43,5,160,0,0,134,5,4,43,5,150,0,0,5,164,0,0,5,5,4,43,5,150,0,0,5,164,0,0,134,5,4,43,5,154,0,0,5,164,0,0,5,5,4,43,5,154,0,0,5,164,0,0,134,5,4,43,5,156,0,0,5,5,4,43,5,156,0,0,134,5,4,43,5,156,0,0,5,164,0,0,5,5,4,43,5,156,0,0,5,164,0,0,134,5,2,43,5,164,0,0,5,138,0,0,5,5,2,43,5,164,0,0,5,138,0,0,134,5,2,43,5,164,0,0,5,136,0,0,5,5,2,43,5,164,0,0,5,136,0,0,134,5,2,43,5,204,0,0,5,5,2,43,5,204,0,0,134,5,2,43,5,208,0,0,5,5,2,43,5,208,0,0,134,5,2,43,5,160,0,0,5,140,0,0,5,5,2,43,5,160,0,0,5,140,0,0,134,5,3,43,5,208,0,0,5,5,3,43,5,208,0,0,134,5,3,43,5,150,0,0,5,136,0,0,5,5,3,43,5,150,0,0,5,136,0,0,134,5,4,43,5,154,0,0,5,136,0,0,5,5,4,43,5,154,0,0,5,136,0,0,134,5,4,43,5,154,0,0,5,150,0,0,5,5,4,43,5,154,0,0,5,150,0,0,134,5,4,43,5,164,0,0,5,138,0,0,5,5,4,43,5,164,0,0,5,138,0,0,134,5,4,43,5,164,0,0,5,136,0,0,5,5,4,43,5,164,0,0,5,136,0,0,134,5,5,43,5,198,0,0,5,5,5,43,5,198,0,0,134,5,5,43,5,208,0,0,5,5,5,43,5,208,0,0,134,5,5,43,5,204,0,0,5,5,5,43,5,204,0,0,134,5,5,43,5,154,0,0,5,136,0,0,5,5,5,43,5,154,0,0,5,136,0,0,134,5,5,43,5,164,0,0,5,150,0,0,5,5,5,43,5,164,0,0,5,150,0,0,134,5,2,43,5,196,0,0,5,5,2,43,5,196,0,0,134,5,2,43,5,182,0,0,5,5,2,43,5,182,0,0,134,5,2,43,5,154,0,0,5,5,2,43,5,154,0,0,134,5,2,43,5,142,0,0,5,136,0,0,5,5,2,43,5,142,0,0,5,136,0,0,134,5,2,43,5,142,0,0,5,138,0,0,5,5,2,43,5,142,0,0,5,138,0,0,134,5,2,43,5,142,0,0,5,182,0,0,5,5,2,43,5,142,0,0,5,182,0,0,134,5,2,43,5,142,0,0,5,154,0,0,5,5,2,43,5,142,0,0,5,154,0,0,134,5,2,43,5,196,0,0,5,142,0,0,5,5,2,43,5,196,0,0,5,142,0,0,134,5,3,43,5,182,0,0,5,5,3,43,5,182,0,0,134,5,3,43,5,196,0,0,5,5,3,43,5,196,0,0,134,5,4,43,5,196,0,0,5,5,4,43,5,196,0,0,134,5,4,43,5,182,0,0,5,5,4,43,5,182,0,0,134,5,4,43,5,142,0,0,5,136,0,0,5,5,4,43,5,142,0,0,5,136,0,0,134,5,4,43,5,142,0,0,5,138,0,0,5,5,4,43,5,142,0,0,5,138,0,0,134,5,4,43,5,142,0,0,5,182,0,0,5,5,4,43,5,142,0,0,5,182,0,0,134,5,4,43,5,142,0,0,5,154,0,0,5,5,4,43,5,142,0,0,5,154,0,0,134,5,4,43,5,196,0,0,5,142,0,0,5,5,4,43,5,196,0,0,5,142,0,0,134,5,4,43,5,190,0,0,5,136,0,0,5,5,4,43,5,190,0,0,5,136,0,0,134,5,4,43,5,190,0,0,5,138,0,0,5,5,4,43,5,190,0,0,5,138,0,0,134,5,4,43,5,190,0,0,5,182,0,0,5,5,4,43,5,190,0,0,5,182,0,0,134,5,4,43,5,190,0,0,5,154,0,0,5,5,4,43,5,190,0,0,5,154,0,0,134,5,4,43,5,190,0,0,5,196,0,0,5,5,4,43,5,190,0,0,5,196,0,0,134,5,5,43,5,196,0,0,5,5,5,43,5,196,0,0,134,5,5,43,5,182,0,0,5,5,5,43,5,182,0,0,134,5,5,43,5,190,0,0,5,136,0,0,5,5,5,43,5,190,0,0,5,136,0,0,134,5,5,43,5,190,0,0,5,138,0,0,5,5,5,43,5,190,0,0,5,138,0,0,134,5,5,43,5,190,0,0,5,182,0,0,5,5,5,43,5,190,0,0,5,182,0,0,134,5,5,43,5,190,0,0,5,154,0,0,5,5,5,43,5,190,0,0,5,154,0,0,134,5,5,43,5,190,0,0,5,196,0,0,5,5,5,43,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,76,185,80,185,84,185,60,185,92,185,96,185,100,185,64,186,112,185,116,185,120,185,124,186,128,185,68,185,140,185,144,185,152,186,156,185,160,185,72,185,168,185,172,185,176,185,180,185,184,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,76,168,80,168,84,168,60,168,92,168,96,168,100,168,64,168,112,168,116,168,120,168,124,168,128,168,68,168,140,168,144,168,152,168,156,168,160,168,72,168,168,168,172,168,176,168,180,168,184,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,82,185,61,153,61,249,61,89,62,185,65,153,65,249,65,89,66,217,84,154,130,185,69,153,69,249,69,153,70,89,70,136,14,217,138,185,73,153,73,249,73,89,74,153,181,185,188,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,82,168,61,136,61,232,61,72,62,168,65,136,65,232,65,72,66,200,84,136,130,168,69,136,69,232,69,136,70,72,70,128,14,200,138,168,73,136,73,232,73,72,74,136,181,168,188,72,182,57,59,40,59,217,57,200,57,25,59,8,59,153,81,136,81,249,81,232,81,185,82,168,82,25,82,8,82,25,86,8,86,89,87,72,87,57,63,40,63,217,61,200,61,185,62,168,62,25,63,8,63,25,62,8,62,249,97,232,97,217,97,200,97,185,98,168,98,249,98,232,98,249,101,232,101,89,103,72,103,153,66,136,66,57,67,40,67,217,65,200,65,25,67,8,67,185,66,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,148,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,129,136,129,250,130,232,130,26,130,8,130,10,8,185,132,168,132,57,71,40,71,217,69,200,69,121,70,104,70,12,8,14,8,153,153,136,153,249,154,232,154,25,154,8,154,154,157,136,157,250,157,232,157,250,158,232,158,26,158,8,158,249,162,232,162,25,162,8,162,185,164,168,164,153,74,136,74,57,75,40,75,217,73,200,73,57,74,40,74,121,74,104,74,25,75,8,75,249,173,232,173,249,181,232,181,89,182,153,185,136,185,185,186,168,186,25,186,8,186,232,156,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,186,88,200,156,169,156,200,56,169,88,186,104,187,112,169,104,169,112,169,192,169,128,217,136,186,88,200,136,169,88,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,69,0,52,0,61,0,39,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,242,10,0,32,1,0,32,0,247,10,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,108,15,0,32,7,0,0,0,23,0,0,0,110,15,0,0,110,15,0,0,3,0,0,0,0,0,0,0,79,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,14,32,38,0,243,5,60,0,60,0,39,0,39,0,14,32,38,0,244,5,60,0,60,0,39,0,34,0,39,0,0,0,65,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,101,0,98,0,114,0,93,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,39,0,39,0,60,0,60,0,243,5,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,39,0,34,0,39,0,60,0,60,0,244,5,0,0,170,170,106,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,61,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,228,31,0,0,228,31,0,0,228,31,0,0,228,31,0,0,12,34,0,0,12,34,0,0,82,34,0,0,82,34,0,0,82,34,0,0,50,105,114,84,1,0,64,8,241,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,110,0,118,0,48,0,56,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,150,0,48,0,48,0,48,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,174,0,48,0,180,0,188,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,199,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,140,0,48,0,48,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,224,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,184,1,192,0,212,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,253,0,0,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,194,5,221,251,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,16,0,202,33,16,0,202,66,16,0,202,99,16,0,202,132,16,0,202,165,16,0,202,198,16,0,202,231,16,0,202,8,17,0,202,41,17,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,6,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,220,251,5,252,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,0,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,0,5,71,238,102,201,134,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,197,162,1,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,197,163,2,0,197,2,3,0,192,0,0,0,192,0,0,0,197,66,3,0,197,131,3,0,197,226,3,0,192,0,0,0,192,0,0,0,197,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,0,0,5,5,10,121,5,5,12,121,197,98,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,98,1,0,5,5,107,121,197,162,1,0,5,5,111,121,197,226,1,0,5,5,115,121,197,34,2,0,5,5,119,121,197,98,2,0,197,163,2,0,197,2,3,0,5,5,127,121,5,5,129,121,197,66,3,0,197,131,3,0,197,226,3,0,5,5,137,121,5,5,139,121,197,34,4,0,5,5,143,121,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,170,170,3,0,67,0,50,0,59,0,79,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,188,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,64,0,0,0,64,1,0,0,96,25,0,0,96,25,0,0,96,25,0,0,96,25,0,0,164,25,0,0,19,0,0,0,0,0,0,101,194,255,50,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,0,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,2,106,9,5,2,120,9,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,67,0,50,0,59,0,243,8,0,16,44,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,235,8,0,32,99,15,0,32,1,0,32,0,104,15,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,168,6,0,32,7,0,0,0,21,0,0,0,170,6,0,0,170,6,0,0,3,0,0,0,0,0,0,0,67,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,86,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,80,9,60,0,2,9,60,0,60,0,1,9,60,0,3,9,0,0,116,25,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,108,0,0,0,108,1,0,0,12,25,0,0,12,25,0,0,20,25,0,0,20,25,0,0,88,25,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,39,40,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,113,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,193,2,7,104,193,3,7,104,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,2,7,104,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,67,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,161,6,0,32,1,0,32,0,166,6,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,220,19,0,32,7,0,0,0,23,0,0,0,222,19,0,0,222,19,0,0,3,0,0,0,0,0,0,0,128,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,65,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,104,0,114,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,111,0,116,0,104,0,101,0,114,0,115,0,93,0,0,0,136,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,60,0,7,1,60,0,60,0,60,0,6,1,38,0,68,0,60,0,100,0,126,1,60,0,60,0,60,0,198,1,60,0,60,0,60,0,68,0,126,1,60,0,60,0,60,0,197,1,60,0,60,0,60,0,68,0,125,1,60,0,60,0,60,0,196,1,60,0,17,1,60,0,60,0,60,0,16,1,38,0,76,0,60,0,108,0,106,0,60,0,60,0,60,0,201,1,60,0,60,0,60,0,76,0,106,0,60,0,60,0,60,0,200,1,60,0,60,0,60,0,76,0,74,0,60,0,60,0,60,0,199,1,38,0,78,0,60,0,110,0,106,0,60,0,60,0,60,0,204,1,60,0,60,0,60,0,78,0,106,0,60,0,60,0,60,0,203,1,60,0,60,0,60,0,78,0,74,0,60,0,60,0,60,0,202,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,252,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,113,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,180,35,0,0,180,35,0,0,180,35,0,0,180,35,0,0,172,38,0,0,172,38,0,0,198,40,0,0,228,40,0,0,228,40,0,0,50,105,114,84,1,0,64,8,46,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,122,0,130,0,136,0,144,0,152,0,160,0,48,0,56,0,159,0,167,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,184,0,192,0,48,0,48,0,48,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,0,48,0,48,0,216,0,48,0,222,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,233,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,240,0,48,0,48,0,248,0,252,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,182,0,48,0,48,0,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,15,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,23,1,48,0,48,0,29,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,232,1,32,2,96,2,192,0,124,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,22,0,202,161,22,0,202,194,22,0,202,227,22,0,202,4,23,0,202,37,23,0,202,70,23,0,202,103,23,0,202,136,23,0,202,169,23,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,198,0,0,201,68,2,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,224,4,0,156,5,0,66,201,64,7,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,198,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,166,10,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,134,11,0,201,4,13,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,128,14,0,5,5,0,66,201,32,16,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,198,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,166,18,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,13,0,201,134,19,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,13,0,201,6,21,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,22,0,201,70,23,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,24,0,201,198,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,25,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,27,0,5,71,238,102,201,70,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,5,0,192,0,0,0,197,98,5,0,192,0,0,0,192,0,0,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,197,34,6,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,197,226,6,0,197,35,7,0,197,130,7,0,192,0,0,0,192,0,0,0,197,194,7,0,197,3,8,0,197,98,8,0,192,0,0,0,192,0,0,0,197,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,29,0,201,230,29,0,192,0,0,0,192,0,0,0,197,226,11,0,197,34,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,30,0,201,102,31,0,201,38,32,0,201,230,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,162,4,0,5,5,10,121,5,5,12,121,197,226,4,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,197,162,5,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,5,0,5,5,107,121,197,34,6,0,5,5,111,121,197,98,6,0,5,5,115,121,197,162,6,0,5,5,119,121,197,226,6,0,197,35,7,0,197,130,7,0,5,5,127,121,5,5,129,121,197,194,7,0,197,3,8,0,197,98,8,0,5,5,137,121,5,5,139,121,197,162,8,0,5,5,143,121,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,78,196,196,48,0,12,3,11,192,197,98,5,78,196,196,48,0,12,3,11,192,197,162,156,92,196,196,48,0,12,3,12,192,197,98,5,92,196,196,48,0,12,3,12,192,197,162,156,92,196,210,48,0,12,3,12,192,197,226,5,92,196,210,48,0,12,3,13,192,197,34,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,3,0,67,0,50,0,59,0,131,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,28,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,188,28,0,0,188,28,0,0,188,28,0,0,188,28,0,0,208,29,0,0,208,29,0,0,164,31,0,0,194,31,0,0,4,36,0,0,25,0,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,94,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,174,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,145,0,48,0,48,0,153,0,157,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,139,0,48,0,48,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,7,0,202,129,7,0,202,162,7,0,202,195,7,0,202,228,7,0,202,5,8,0,202,38,8,0,202,71,8,0,202,104,8,0,202,137,8,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,201,132,1,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,32,4,0,156,5,0,66,201,128,6,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,6,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,230,9,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,198,10,0,201,68,12,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,192,13,0,5,5,0,66,201,96,15,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,6,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,230,17,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,6,0,201,198,18,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,6,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,7,0,201,70,20,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,21,0,201,134,22,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,23,0,201,6,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,24,0,201,134,25,0,192,0,0,0,192,0,0,0,197,34,5,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,26,0,201,6,27,0,201,198,27,0,201,134,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,156,78,196,196,48,0,12,3,4,192,197,162,5,78,196,196,48,0,12,3,4,192,197,226,156,92,196,196,48,0,12,3,5,192,197,162,5,92,196,196,48,0,12,3,5,192,197,226,156,92,196,210,48,0,12,3,6,192,197,34,5,92,196,210,48,0,12,3,6,192,197,98,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,28,4,186,88,185,92,185,96,185,100,186,104,186,112,185,116,36,4,185,128,46,4,185,144,185,148,185,152,185,160,56,4,185,172,185,180,185,184,185,188,185,192,185,196,58,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,60,4,62,4,168,88,168,92,168,96,168,100,168,104,168,112,168,116,67,4,168,128,73,4,168,144,168,148,168,152,168,160,79,4,168,172,168,180,168,184,168,188,168,192,168,196,81,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,144,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,83,4,186,89,154,89,250,89,90,90,186,105,154,105,250,105,90,106,217,76,154,134,185,145,153,145,249,145,153,146,89,146,136,14,217,146,185,181,153,181,249,181,89,182,153,197,185,208,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,85,4,168,89,136,89,232,89,72,90,168,105,136,105,232,105,72,106,200,76,136,134,168,145,136,145,232,145,136,146,72,146,128,14,200,146,168,181,136,181,232,181,72,182,136,197,168,208,72,198,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,185,84,168,84,58,91,40,91,218,89,200,89,186,90,168,90,26,91,8,91,26,90,8,90,249,97,232,97,217,97,200,97,185,98,168,98,249,98,232,98,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,140,168,140,57,147,40,147,217,145,200,145,121,146,104,146,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,154,165,136,165,250,165,232,165,87,4,89,4,185,168,168,168,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,249,197,232,197,89,198,153,201,136,201,185,202,168,202,185,204,168,204,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,88,200,164,169,164,200,56,169,88,187,104,187,112,169,104,169,112,169,212,169,132,217,144,187,88,200,144,169,88,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,76,90,2,122,2,125,5,186,80,126,5,177,80,255,5,185,120,74,4,186,124,106,4,177,124,52,5,250,125,53,5,241,125,255,5,186,132,74,4,186,136,106,4,177,136,52,5,250,137,53,5,241,137,255,5,186,164,255,5,185,200,255,5,168,64,255,5,168,76,122,2,126,5,168,80,255,5,168,120,106,4,168,124,53,5,232,125,255,5,168,132,106,4,168,136,53,5,232,137,255,5,168,164,255,5,168,200,255,5,249,66,255,5,232,66,255,5,250,166,255,5,232,166,255,1,3,0,67,0,50,0,59,0,203,10,0,16,71,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,195,10,0,32,211,19,0,32,1,0,32,0,216,19,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,221,9,0,32,7,0,0,0,21,0,0,0,223,9,0,0,223,9,0,0,3,0,0,0,0,0,0,0,70,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,220,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,60,0,7,1,60,0,60,0,60,0,6,1,38,0,69,0,60,0,27,1,60,0,60,0,60,0,26,1,38,0,72,0,60,0,99,0,104,0,60,0,60,0,60,0,99,0,72,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,32,0,76,0,60,0,66,1,60,0,60,0,60,0,65,1,38,0,82,0,60,0,89,1,60,0,60,0,60,0,88,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,60,0,122,1,60,0,60,0,60,0,121,1,0,0,170,170,170,170,170,170,56,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,28,0,0,84,28,0,0,84,28,0,0,84,28,0,0,168,30,0,0,168,30,0,0,222,33,0,0,248,33,0,0,32,38,0,0,50,105,114,84,1,0,64,8,184,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,48,0,56,0,48,0,56,0,112,0,120,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,48,0,149,0,157,0,161,0,167,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,136,0,48,0,48,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,0,192,0,192,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,17,0,202,129,17,0,202,162,17,0,202,195,17,0,202,228,17,0,202,5,18,0,202,38,18,0,202,71,18,0,202,104,18,0,202,137,18,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,4,0,0,156,5,0,48,201,134,8,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,201,70,9,0,201,38,10,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,6,11,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,228,12,0,5,5,0,48,201,134,21,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,201,70,22,0,201,38,23,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,6,24,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,16,0,201,230,25,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,16,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,17,0,201,102,27,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,28,0,201,166,29,0,134,5,2,51,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,63,5,5,21,63,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,30,0,201,38,31,0,134,5,2,77,5,5,2,77,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,31,0,201,166,32,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,93,5,5,3,93,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,33,0,201,38,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,34,0,201,166,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,36,0,201,38,37,0,201,230,37,0,201,166,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,39,0,201,38,40,0,192,0,0,0,192,0,0,0,201,230,40,0,201,166,41,0,192,0,0,0,192,0,0,0,201,102,42,0,201,38,43,0,192,0,0,0,192,0,0,0,197,162,13,0,197,226,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,43,0,201,102,45,0,201,230,46,0,201,102,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,49,0,201,166,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,136,5,2,57,5,142,0,0,71,5,2,57,5,142,0,0,136,5,2,57,5,144,0,0,71,5,2,57,5,144,0,0,136,5,2,57,5,156,0,0,71,5,2,57,5,156,0,0,136,5,2,57,5,196,0,0,71,5,2,57,5,196,0,0,136,5,2,57,5,150,0,0,71,5,2,57,5,150,0,0,136,5,2,57,5,160,0,0,71,5,2,57,5,160,0,0,136,5,2,57,5,206,0,0,71,5,2,57,5,206,0,0,71,5,2,57,5,210,0,0,70,5,2,57,5,142,0,0,5,5,2,57,5,142,0,0,70,5,2,57,5,144,0,0,5,5,2,57,5,144,0,0,70,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,70,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,70,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,70,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,70,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,5,5,2,57,5,210,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,134,5,2,77,5,160,0,0,5,5,2,77,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,51,5,160,0,0,5,5,2,51,5,160,0,0,134,5,2,51,5,204,0,0,5,5,2,51,5,204,0,0,134,5,2,51,5,208,0,0,5,5,2,51,5,208,0,0,134,5,2,77,5,196,0,0,5,5,2,77,5,196,0,0,134,5,2,77,5,210,0,0,5,5,2,77,5,210,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,3,93,5,196,0,0,134,5,2,93,5,196,0,0,5,5,3,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,3,93,5,210,0,0,134,5,2,93,5,210,0,0,5,5,3,93,5,210,0,0,5,5,2,93,5,210,0,0,134,5,2,51,5,196,0,0,5,5,2,51,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,19,0,35,30,32,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,35,30,1,192,197,98,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,31,2,15,0,31,2,0,192,197,226,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,34,30,1,192,197,34,72,0,2,249,136,5,104,0,2,249,71,5,36,1,197,162,37,1,0,192,197,98,30,2,0,192,197,162,0,50,156,5,48,0,12,3,2,243,134,5,0,76,156,5,48,0,12,3,255,255,2,77,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,2,0,1,3,255,255,3,93,134,5,12,3,255,255,2,93,134,5,65,3,255,255,3,93,134,5,0,46,5,5,19,0,35,30,32,0,40,30,15,0,40,30,6,192,197,98,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,35,30,5,192,197,34,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,31,2,15,0,31,2,4,192,197,162,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,34,30,4,192,197,226,72,0,2,249,70,5,104,0,2,249,5,5,36,1,3,192,197,226,37,1,4,192,197,34,30,2,4,192,197,98,0,50,5,5,48,0,12,3,2,243,5,5,0,76,5,5,48,0,12,3,255,255,2,77,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,2,0,1,3,255,255,3,93,5,5,12,3,255,255,2,93,5,5,65,3,255,255,3,93,5,5,156,46,196,160,2,0,1,3,7,192,197,162,12,3,7,192,197,226,65,3,7,192,197,162,5,46,196,160,2,0,1,3,8,192,197,34,12,3,8,192,197,98,65,3,8,192,197,34,156,50,196,162,48,0,12,3,8,192,197,162,5,50,196,162,48,0,12,3,8,192,197,226,156,76,196,160,48,0,12,3,9,192,197,34,5,76,196,160,48,0,12,3,9,192,197,98,156,78,196,160,48,0,12,3,9,192,197,162,5,78,196,160,48,0,12,3,9,192,197,226,156,78,196,202,48,0,12,3,10,192,197,34,5,78,196,202,48,0,12,3,10,192,197,98,156,50,196,160,48,0,12,3,10,192,197,162,5,50,196,160,48,0,12,3,10,192,197,226,156,50,196,204,48,0,12,3,11,192,197,34,5,50,196,204,48,0,12,3,11,192,197,98,156,50,196,208,48,0,12,3,11,192,197,162,5,50,196,208,48,0,12,3,11,192,197,226,156,76,196,196,48,0,12,3,12,192,197,34,5,76,196,196,48,0,12,3,12,192,197,98,156,76,196,210,48,0,12,3,12,192,197,162,5,76,196,210,48,0,12,3,12,192,197,226,156,78,196,196,48,0,12,3,13,192,197,34,5,78,196,196,48,0,12,3,13,192,197,98,156,92,196,196,2,0,1,3,14,192,197,34,12,3,14,192,197,98,65,3,14,192,197,34,5,92,196,196,2,0,1,3,14,192,197,162,12,3,14,192,197,226,65,3,14,192,197,162,156,92,196,210,2,0,1,3,15,192,197,34,12,3,15,192,197,98,65,3,15,192,197,34,5,92,196,210,2,0,1,3,15,192,197,162,12,3,15,192,197,226,65,3,15,192,197,162,156,50,196,196,48,0,12,3,16,192,197,34,5,50,196,196,48,0,12,3,16,192,197,98,12,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,34,30,44,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,76,36,4,185,88,185,92,185,96,186,104,186,112,185,116,185,124,185,128,186,132,185,140,185,144,185,148,38,4,40,4,185,172,185,180,185,184,185,188,185,192,185,196,42,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,44,4,168,76,54,4,168,88,168,92,168,96,168,104,168,112,168,116,168,124,168,128,168,132,168,140,168,144,168,148,56,4,58,4,168,172,168,180,168,184,168,188,168,192,168,196,60,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,62,4,186,81,154,81,250,81,90,82,186,105,154,105,250,105,90,106,217,76,154,134,185,141,153,141,249,141,153,142,89,142,136,14,217,142,185,181,153,181,249,181,89,182,153,197,185,212,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,64,4,168,81,136,81,232,81,72,82,168,105,136,105,232,105,72,106,200,76,136,134,168,141,136,141,232,141,136,142,72,142,128,14,200,142,168,181,136,181,232,181,72,182,136,197,168,212,72,198,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,89,79,72,79,58,83,40,83,218,81,200,81,186,82,168,82,66,4,68,4,185,84,168,84,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,97,232,97,89,99,72,99,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,152,153,125,136,125,249,126,232,126,25,126,8,126,121,127,104,127,185,120,168,120,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,136,168,136,57,143,40,143,217,141,200,141,121,142,104,142,12,8,14,8,153,157,136,157,70,4,72,4,185,160,168,160,154,165,136,165,250,165,232,165,74,4,76,4,185,168,168,168,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,249,197,232,197,89,198,185,208,168,208,185,202,168,202,185,204,168,204,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,164,169,164,200,56,169,80,187,104,187,112,169,104,169,112,169,216,169,132,217,140,187,80,200,140,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,187,100,104,4,178,100,36,5,251,101,37,5,242,101,255,5,186,80,255,5,185,156,255,5,186,164,255,5,185,200,255,5,168,64,72,4,177,100,104,4,168,100,36,5,241,101,37,5,232,101,255,5,168,80,255,5,168,156,255,5,168,164,255,5,168,200,255,5,249,66,255,5,232,66,255,5,26,83,255,5,8,83,255,5,249,158,255,5,232,158,255,5,250,166,255,5,232,166,255,1,3,0,69,0,52,0,61,0,71,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,214,9,0,32,1,0,32,0,219,9,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,100,18,0,32,7,0,0,0,21,0,0,0,102,18,0,0,102,18,0,0,3,0,0,0,0,0,0,0,19,1,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,246,221,38,0,67,0,60,0,99,0,115,0,60,0,60,0,60,0,67,0,115,0,60,0,60,0,60,0,67,0,83,0,38,0,68,0,60,0,100,0,122,0,60,0,60,0,60,0,68,0,122,0,60,0,60,0,60,0,68,0,90,0,38,0,68,0,90,0,60,0,100,0,122,0,115,0,60,0,60,0,60,0,68,0,122,0,115,0,60,0,60,0,60,0,68,0,90,0,83,0,38,0,71,0,60,0,103,0,121,0,60,0,60,0,60,0,71,0,121,0,60,0,60,0,60,0,71,0,89,0,38,0,76,0,60,0,108,0,121,0,60,0,60,0,60,0,76,0,121,0,60,0,60,0,60,0,76,0,89,0,38,0,78,0,60,0,110,0,121,0,60,0,60,0,60,0,78,0,121,0,60,0,60,0,60,0,78,0,89,0,38,0,83,0,60,0,115,0,122,0,60,0,60,0,60,0,83,0,122,0,60,0,60,0,60,0,83,0,90,0,38,0,84,0,60,0,116,0,121,0,60,0,60,0,60,0,84,0,121,0,60,0,60,0,60,0,84,0,89,0,38,0,90,0,60,0,122,0,115,0,60,0,60,0,60,0,90,0,115,0,60,0,60,0,60,0,90,0,83,0,38,0,79,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,38,0,85,0,60,0,252,0,60,0,60,0,60,0,220,0,60,0,60,0,113,1,60,0,60,0,60,0,112,1,38,0,99,0,115,0,60,0,60,0,60,0,99,0,99,0,115,0,47,0,99,0,115,0,38,0,67,0,115,0,60,0,60,0,60,0,67,0,99,0,115,0,47,0,99,0,115,0,38,0,67,0,83,0,60,0,60,0,60,0,67,0,67,0,83,0,47,0,67,0,83,0,38,0,100,0,122,0,60,0,60,0,60,0,100,0,100,0,122,0,47,0,100,0,122,0,38,0,68,0,122,0,60,0,60,0,60,0,68,0,100,0,122,0,47,0,100,0,122,0,38,0,68,0,90,0,60,0,60,0,60,0,68,0,68,0,90,0,47,0,68,0,90,0,38,0,100,0,122,0,115,0,60,0,60,0,60,0,100,0,100,0,122,0,115,0,47,0,100,0,122,0,115,0,38,0,68,0,122,0,115,0,60,0,60,0,60,0,68,0,100,0,122,0,115,0,47,0,100,0,122,0,115,0,38,0,68,0,90,0,83,0,60,0,60,0,60,0,68,0,68,0,90,0,83,0,47,0,68,0,90,0,83,0,38,0,103,0,121,0,60,0,60,0,60,0,103,0,103,0,121,0,47,0,103,0,121,0,38,0,71,0,121,0,60,0,60,0,60,0,71,0,103,0,121,0,47,0,103,0,121,0,38,0,71,0,89,0,60,0,60,0,60,0,71,0,71,0,89,0,47,0,71,0,89,0,38,0,108,0,121,0,60,0,60,0,60,0,108,0,108,0,121,0,47,0,108,0,121,0,38,0,76,0,121,0,60,0,60,0,60,0,76,0,108,0,121,0,47,0,108,0,121,0,38,0,76,0,89,0,60,0,60,0,60,0,76,0,76,0,89,0,47,0,76,0,89,0,38,0,110,0,121,0,60,0,60,0,60,0,110,0,110,0,121,0,47,0,110,0,121,0,38,0,78,0,121,0,60,0,60,0,60,0,78,0,110,0,121,0,47,0,110,0,121,0,38,0,78,0,89,0,60,0,60,0,60,0,78,0,78,0,89,0,47,0,78,0,89,0,38,0,115,0,122,0,60,0,60,0,60,0,115,0,115,0,122,0,47,0,115,0,122,0,38,0,83,0,122,0,60,0,60,0,60,0,83,0,115,0,122,0,47,0,115,0,122,0,38,0,83,0,90,0,60,0,60,0,60,0,83,0,83,0,90,0,47,0,83,0,90,0,38,0,116,0,121,0,60,0,60,0,60,0,116,0,116,0,121,0,47,0,116,0,121,0,38,0,84,0,121,0,60,0,60,0,60,0,84,0,116,0,121,0,47,0,116,0,121,0,38,0,84,0,89,0,60,0,60,0,60,0,84,0,84,0,89,0,47,0,84,0,89,0,38,0,122,0,115,0,60,0,60,0,60,0,122,0,122,0,115,0,47,0,122,0,115,0,38,0,90,0,115,0,60,0,60,0,60,0,90,0,122,0,115,0,47,0,122,0,115,0,38,0,90,0,83,0,60,0,60,0,60,0,90,0,90,0,83,0,47,0,90,0,83,0,0,0,34,69,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,27,0,0,212,27,0,0,212,27,0,0,212,27,0,0,104,45,0,0,104,45,0,0,214,62,0,0,48,63,0,0,10,69,0,0,50,105,114,84,1,0,64,8,176,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,80,0,88,0,93,0,101,0,106,0,114,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,145,0,48,0,48,0,151,0,159,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,167,0,141,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,64,1,116,1,168,1,212,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,139,0,202,129,139,0,202,162,139,0,202,195,139,0,202,228,139,0,202,5,140,0,202,38,140,0,202,71,140,0,202,104,140,0,202,137,140,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,201,32,20,0,156,5,0,50,156,5,0,52,201,32,52,0,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,64,71,0,156,5,0,66,201,160,90,0,201,6,110,0,156,5,0,72,160,5,0,74,156,5,0,76,201,96,111,0,201,128,124,0,201,230,143,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,160,145,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,64,166,0,201,128,176,0,5,5,0,50,5,5,0,52,201,160,192,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,224,202,0,5,5,0,66,201,64,213,0,201,166,223,0,5,5,0,72,5,5,0,74,5,5,0,76,201,0,225,0,201,160,231,0,201,6,242,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,192,243,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,138,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,226,138,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,139,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,2,71,5,70,2,71,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,2,83,5,70,2,83,201,38,254,0,201,70,255,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,0,1,201,134,1,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,1,201,198,3,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,126,0,197,98,126,0,197,226,76,0,197,130,118,0,197,162,126,0,197,226,126,0,197,34,127,0,197,98,127,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,4,1,201,6,6,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,128,0,197,226,128,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,7,1,201,70,8,1,201,102,9,1,201,134,10,1,201,166,11,1,201,198,12,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,13,1,201,6,15,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,16,1,201,70,17,1,201,102,18,1,201,134,19,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,20,1,201,198,21,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,138,5,2,47,137,5,2,47,138,5,2,47,137,5,2,47,5,136,0,0,138,5,2,47,137,5,2,47,5,142,0,0,138,5,2,47,137,5,2,47,5,160,0,0,138,5,2,47,137,5,2,47,5,144,0,0,138,5,2,47,137,5,2,47,5,202,0,0,138,5,2,47,137,5,2,47,5,156,0,0,138,5,2,47,137,5,2,47,5,196,0,0,138,5,2,47,137,5,2,47,5,136,0,0,5,156,0,0,138,5,2,47,137,5,2,47,5,144,0,0,5,156,0,0,138,5,2,47,137,5,2,47,5,196,0,0,5,156,0,0,72,5,2,47,5,5,2,47,72,5,2,47,5,5,2,47,5,136,0,0,72,5,2,47,5,5,2,47,5,142,0,0,72,5,2,47,5,5,2,47,5,160,0,0,72,5,2,47,5,5,2,47,5,144,0,0,72,5,2,47,5,5,2,47,5,202,0,0,72,5,2,47,5,5,2,47,5,156,0,0,72,5,2,47,5,5,2,47,5,196,0,0,72,5,2,47,5,5,2,47,5,136,0,0,5,156,0,0,72,5,2,47,5,5,2,47,5,144,0,0,5,156,0,0,72,5,2,47,5,5,2,47,5,196,0,0,5,156,0,0,71,5,2,47,5,136,0,0,71,5,2,47,5,142,0,0,71,5,2,47,5,160,0,0,71,5,2,47,5,144,0,0,71,5,2,47,5,202,0,0,71,5,2,47,5,156,0,0,71,5,2,47,5,196,0,0,71,5,2,47,5,136,0,0,5,156,0,0,71,5,2,47,5,144,0,0,5,156,0,0,71,5,2,47,5,196,0,0,5,156,0,0,138,5,2,49,137,5,2,49,138,5,3,49,137,5,3,49,138,5,3,49,137,5,3,49,5,136,0,0,138,5,3,49,137,5,3,49,5,142,0,0,138,5,3,49,137,5,3,49,5,160,0,0,138,5,3,49,137,5,3,49,5,144,0,0,138,5,3,49,137,5,3,49,5,202,0,0,138,5,3,49,137,5,3,49,5,156,0,0,138,5,3,49,137,5,3,49,5,196,0,0,138,5,3,49,137,5,3,49,5,136,0,0,5,156,0,0,138,5,3,49,137,5,3,49,5,144,0,0,5,156,0,0,138,5,3,49,137,5,3,49,5,196,0,0,5,156,0,0,138,5,2,49,137,5,2,49,5,136,0,0,138,5,2,49,137,5,2,49,5,156,0,0,138,5,2,49,137,5,2,49,5,144,0,0,138,5,2,49,137,5,2,49,5,142,0,0,138,5,2,49,137,5,2,49,5,196,0,0,138,5,2,49,137,5,2,49,5,210,0,0,72,5,2,49,5,5,2,49,72,5,3,49,5,5,3,49,72,5,3,49,5,5,3,49,5,136,0,0,72,5,3,49,5,5,3,49,5,142,0,0,72,5,3,49,5,5,3,49,5,160,0,0,72,5,3,49,5,5,3,49,5,144,0,0,72,5,3,49,5,5,3,49,5,202,0,0,72,5,3,49,5,5,3,49,5,156,0,0,72,5,3,49,5,5,3,49,5,196,0,0,72,5,3,49,5,5,3,49,5,136,0,0,5,156,0,0,72,5,3,49,5,5,3,49,5,144,0,0,5,156,0,0,72,5,3,49,5,5,3,49,5,196,0,0,5,156,0,0,72,5,2,49,5,5,2,49,5,136,0,0,72,5,2,49,5,5,2,49,5,156,0,0,72,5,2,49,5,5,2,49,5,144,0,0,72,5,2,49,5,5,2,49,5,142,0,0,72,5,2,49,5,5,2,49,5,196,0,0,72,5,2,49,5,5,2,49,5,210,0,0,71,5,3,49,5,136,0,0,71,5,3,49,5,142,0,0,71,5,3,49,5,160,0,0,71,5,3,49,5,144,0,0,71,5,3,49,5,202,0,0,71,5,3,49,5,156,0,0,71,5,3,49,5,196,0,0,71,5,3,49,5,136,0,0,5,156,0,0,71,5,3,49,5,144,0,0,5,156,0,0,71,5,3,49,5,196,0,0,5,156,0,0,71,5,2,49,5,136,0,0,71,5,2,49,5,156,0,0,71,5,2,49,5,144,0,0,71,5,2,49,5,142,0,0,71,5,2,49,5,196,0,0,71,5,2,49,5,210,0,0,138,5,2,55,137,5,2,55,138,5,2,55,137,5,2,55,5,136,0,0,138,5,2,55,137,5,2,55,5,142,0,0,138,5,2,55,137,5,2,55,5,150,0,0,138,5,2,55,137,5,2,55,5,164,0,0,138,5,2,55,137,5,2,55,5,156,0,0,138,5,2,55,137,5,2,55,5,138,0,0,138,5,2,55,137,5,2,55,5,196,0,0,138,5,2,55,137,5,2,55,5,182,0,0,138,5,2,55,137,5,2,55,5,154,0,0,72,5,2,55,5,5,2,55,72,5,2,55,5,5,2,55,5,136,0,0,72,5,2,55,5,5,2,55,5,150,0,0,72,5,2,55,5,5,2,55,5,142,0,0,72,5,2,55,5,5,2,55,5,164,0,0,72,5,2,55,5,5,2,55,5,156,0,0,72,5,2,55,5,5,2,55,5,146,0,0,72,5,2,55,5,5,2,55,5,138,0,0,72,5,2,55,5,5,2,55,5,196,0,0,72,5,2,55,5,5,2,55,5,182,0,0,72,5,2,55,5,5,2,55,5,154,0,0,71,5,2,55,5,136,0,0,71,5,2,55,5,150,0,0,71,5,2,55,5,142,0,0,71,5,2,55,5,164,0,0,71,5,2,55,5,156,0,0,71,5,2,55,5,146,0,0,71,5,2,55,5,138,0,0,71,5,2,55,5,196,0,0,71,5,2,55,5,182,0,0,71,5,2,55,5,154,0,0,138,5,2,65,137,5,2,65,138,5,2,65,137,5,2,65,5,136,0,0,138,5,2,65,137,5,2,65,5,142,0,0,138,5,2,65,137,5,2,65,5,150,0,0,138,5,2,65,137,5,2,65,5,164,0,0,138,5,2,65,137,5,2,65,5,156,0,0,138,5,2,65,137,5,2,65,5,138,0,0,138,5,2,65,137,5,2,65,5,196,0,0,138,5,2,65,137,5,2,65,5,182,0,0,138,5,2,65,137,5,2,65,5,154,0,0,72,5,2,65,5,5,2,65,72,5,2,65,5,5,2,65,5,136,0,0,72,5,2,65,5,5,2,65,5,150,0,0,72,5,2,65,5,5,2,65,5,142,0,0,72,5,2,65,5,5,2,65,5,164,0,0,72,5,2,65,5,5,2,65,5,156,0,0,72,5,2,65,5,5,2,65,5,146,0,0,72,5,2,65,5,5,2,65,5,138,0,0,72,5,2,65,5,5,2,65,5,196,0,0,72,5,2,65,5,5,2,65,5,182,0,0,72,5,2,65,5,5,2,65,5,154,0,0,71,5,2,65,5,136,0,0,71,5,2,65,5,150,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,164,0,0,71,5,2,65,5,156,0,0,71,5,2,65,5,146,0,0,71,5,2,65,5,138,0,0,71,5,2,65,5,196,0,0,71,5,2,65,5,182,0,0,71,5,2,65,5,154,0,0,138,5,2,69,137,5,2,69,138,5,2,69,137,5,2,69,5,136,0,0,138,5,2,69,137,5,2,69,5,142,0,0,138,5,2,69,137,5,2,69,5,150,0,0,138,5,2,69,137,5,2,69,5,164,0,0,138,5,2,69,137,5,2,69,5,156,0,0,138,5,2,69,137,5,2,69,5,138,0,0,138,5,2,69,137,5,2,69,5,196,0,0,138,5,2,69,137,5,2,69,5,182,0,0,138,5,2,69,137,5,2,69,5,154,0,0,72,5,2,69,5,5,2,69,72,5,2,69,5,5,2,69,5,136,0,0,72,5,2,69,5,5,2,69,5,150,0,0,72,5,2,69,5,5,2,69,5,142,0,0,72,5,2,69,5,5,2,69,5,164,0,0,72,5,2,69,5,5,2,69,5,156,0,0,72,5,2,69,5,5,2,69,5,146,0,0,72,5,2,69,5,5,2,69,5,138,0,0,72,5,2,69,5,5,2,69,5,196,0,0,72,5,2,69,5,5,2,69,5,182,0,0,72,5,2,69,5,5,2,69,5,154,0,0,71,5,2,69,5,136,0,0,71,5,2,69,5,150,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,164,0,0,71,5,2,69,5,156,0,0,71,5,2,69,5,146,0,0,71,5,2,69,5,138,0,0,71,5,2,69,5,196,0,0,71,5,2,69,5,182,0,0,71,5,2,69,5,154,0,0,138,5,2,79,137,5,2,79,138,5,2,79,137,5,2,79,5,136,0,0,138,5,2,79,137,5,2,79,5,156,0,0,138,5,2,79,137,5,2,79,5,144,0,0,138,5,2,79,137,5,2,79,5,142,0,0,138,5,2,79,137,5,2,79,5,196,0,0,138,5,2,79,137,5,2,79,5,210,0,0,72,5,2,79,5,5,2,79,72,5,2,79,5,5,2,79,5,136,0,0,72,5,2,79,5,5,2,79,5,156,0,0,72,5,2,79,5,5,2,79,5,144,0,0,72,5,2,79,5,5,2,79,5,142,0,0,72,5,2,79,5,5,2,79,5,196,0,0,72,5,2,79,5,5,2,79,5,210,0,0,71,5,2,79,5,136,0,0,71,5,2,79,5,156,0,0,71,5,2,79,5,144,0,0,71,5,2,79,5,142,0,0,71,5,2,79,5,196,0,0,71,5,2,79,5,210,0,0,138,5,2,81,137,5,2,81,138,5,2,81,137,5,2,81,5,136,0,0,138,5,2,81,137,5,2,81,5,142,0,0,138,5,2,81,137,5,2,81,5,150,0,0,138,5,2,81,137,5,2,81,5,164,0,0,138,5,2,81,137,5,2,81,5,156,0,0,138,5,2,81,137,5,2,81,5,138,0,0,138,5,2,81,137,5,2,81,5,196,0,0,138,5,2,81,137,5,2,81,5,182,0,0,138,5,2,81,137,5,2,81,5,154,0,0,72,5,2,81,5,5,2,81,72,5,2,81,5,5,2,81,5,136,0,0,72,5,2,81,5,5,2,81,5,150,0,0,72,5,2,81,5,5,2,81,5,142,0,0,72,5,2,81,5,5,2,81,5,164,0,0,72,5,2,81,5,5,2,81,5,156,0,0,72,5,2,81,5,5,2,81,5,146,0,0,72,5,2,81,5,5,2,81,5,138,0,0,72,5,2,81,5,5,2,81,5,196,0,0,72,5,2,81,5,5,2,81,5,182,0,0,72,5,2,81,5,5,2,81,5,154,0,0,71,5,2,81,5,136,0,0,71,5,2,81,5,150,0,0,71,5,2,81,5,142,0,0,71,5,2,81,5,164,0,0,71,5,2,81,5,156,0,0,71,5,2,81,5,146,0,0,71,5,2,81,5,138,0,0,71,5,2,81,5,196,0,0,71,5,2,81,5,182,0,0,71,5,2,81,5,154,0,0,134,5,2,83,5,136,0,0,138,5,2,93,137,5,2,93,138,5,2,93,137,5,2,93,5,136,0,0,138,5,2,93,137,5,2,93,5,142,0,0,138,5,2,93,137,5,2,93,5,160,0,0,138,5,2,93,137,5,2,93,5,144,0,0,138,5,2,93,137,5,2,93,5,202,0,0,138,5,2,93,137,5,2,93,5,156,0,0,138,5,2,93,137,5,2,93,5,196,0,0,138,5,2,93,137,5,2,93,5,136,0,0,5,156,0,0,138,5,2,93,137,5,2,93,5,144,0,0,5,156,0,0,138,5,2,93,137,5,2,93,5,196,0,0,5,156,0,0,72,5,2,93,5,5,2,93,72,5,2,93,5,5,2,93,5,136,0,0,72,5,2,93,5,5,2,93,5,142,0,0,72,5,2,93,5,5,2,93,5,160,0,0,72,5,2,93,5,5,2,93,5,144,0,0,72,5,2,93,5,5,2,93,5,202,0,0,72,5,2,93,5,5,2,93,5,156,0,0,72,5,2,93,5,5,2,93,5,196,0,0,72,5,2,93,5,5,2,93,5,136,0,0,5,156,0,0,72,5,2,93,5,5,2,93,5,144,0,0,5,156,0,0,72,5,2,93,5,5,2,93,5,196,0,0,5,156,0,0,71,5,2,93,5,136,0,0,71,5,2,93,5,142,0,0,71,5,2,93,5,160,0,0,71,5,2,93,5,144,0,0,71,5,2,93,5,202,0,0,71,5,2,93,5,156,0,0,71,5,2,93,5,196,0,0,71,5,2,93,5,136,0,0,5,156,0,0,71,5,2,93,5,144,0,0,5,156,0,0,71,5,2,93,5,196,0,0,5,156,0,0,6,5,2,47,5,5,2,47,6,5,2,47,5,5,2,47,5,136,0,0,6,5,2,47,5,5,2,47,5,142,0,0,6,5,2,47,5,5,2,47,5,160,0,0,6,5,2,47,5,5,2,47,5,144,0,0,6,5,2,47,5,5,2,47,5,202,0,0,6,5,2,47,5,5,2,47,5,156,0,0,6,5,2,47,5,5,2,47,5,196,0,0,6,5,2,47,5,5,2,47,5,136,0,0,5,156,0,0,6,5,2,47,5,5,2,47,5,144,0,0,5,156,0,0,6,5,2,47,5,5,2,47,5,196,0,0,5,156,0,0,6,5,2,49,5,5,2,49,6,5,3,49,5,5,3,49,6,5,3,49,5,5,3,49,5,136,0,0,6,5,3,49,5,5,3,49,5,142,0,0,6,5,3,49,5,5,3,49,5,160,0,0,6,5,3,49,5,5,3,49,5,144,0,0,6,5,3,49,5,5,3,49,5,202,0,0,6,5,3,49,5,5,3,49,5,156,0,0,6,5,3,49,5,5,3,49,5,196,0,0,6,5,3,49,5,5,3,49,5,136,0,0,5,156,0,0,6,5,3,49,5,5,3,49,5,144,0,0,5,156,0,0,6,5,3,49,5,5,3,49,5,196,0,0,5,156,0,0,6,5,2,49,5,5,2,49,5,136,0,0,6,5,2,49,5,5,2,49,5,156,0,0,6,5,2,49,5,5,2,49,5,144,0,0,6,5,2,49,5,5,2,49,5,142,0,0,6,5,2,49,5,5,2,49,5,196,0,0,6,5,2,49,5,5,2,49,5,210,0,0,6,5,2,55,5,5,2,55,6,5,2,55,5,5,2,55,5,136,0,0,6,5,2,55,5,5,2,55,5,150,0,0,6,5,2,55,5,5,2,55,5,142,0,0,6,5,2,55,5,5,2,55,5,164,0,0,6,5,2,55,5,5,2,55,5,156,0,0,6,5,2,55,5,5,2,55,5,146,0,0,6,5,2,55,5,5,2,55,5,138,0,0,6,5,2,55,5,5,2,55,5,196,0,0,6,5,2,55,5,5,2,55,5,182,0,0,6,5,2,55,5,5,2,55,5,154,0,0,6,5,2,65,5,5,2,65,6,5,2,65,5,5,2,65,5,136,0,0,6,5,2,65,5,5,2,65,5,150,0,0,6,5,2,65,5,5,2,65,5,142,0,0,6,5,2,65,5,5,2,65,5,164,0,0,6,5,2,65,5,5,2,65,5,156,0,0,6,5,2,65,5,5,2,65,5,146,0,0,6,5,2,65,5,5,2,65,5,138,0,0,6,5,2,65,5,5,2,65,5,196,0,0,6,5,2,65,5,5,2,65,5,182,0,0,6,5,2,65,5,5,2,65,5,154,0,0,6,5,2,69,5,5,2,69,6,5,2,69,5,5,2,69,5,136,0,0,6,5,2,69,5,5,2,69,5,150,0,0,6,5,2,69,5,5,2,69,5,142,0,0,6,5,2,69,5,5,2,69,5,164,0,0,6,5,2,69,5,5,2,69,5,156,0,0,6,5,2,69,5,5,2,69,5,146,0,0,6,5,2,69,5,5,2,69,5,138,0,0,6,5,2,69,5,5,2,69,5,196,0,0,6,5,2,69,5,5,2,69,5,182,0,0,6,5,2,69,5,5,2,69,5,154,0,0,6,5,2,79,5,5,2,79,6,5,2,79,5,5,2,79,5,136,0,0,6,5,2,79,5,5,2,79,5,156,0,0,6,5,2,79,5,5,2,79,5,144,0,0,6,5,2,79,5,5,2,79,5,142,0,0,6,5,2,79,5,5,2,79,5,196,0,0,6,5,2,79,5,5,2,79,5,210,0,0,6,5,2,81,5,5,2,81,6,5,2,81,5,5,2,81,5,136,0,0,6,5,2,81,5,5,2,81,5,150,0,0,6,5,2,81,5,5,2,81,5,142,0,0,6,5,2,81,5,5,2,81,5,164,0,0,6,5,2,81,5,5,2,81,5,156,0,0,6,5,2,81,5,5,2,81,5,146,0,0,6,5,2,81,5,5,2,81,5,138,0,0,6,5,2,81,5,5,2,81,5,196,0,0,6,5,2,81,5,5,2,81,5,182,0,0,6,5,2,81,5,5,2,81,5,154,0,0,5,5,2,83,5,136,0,0,6,5,2,93,5,5,2,93,6,5,2,93,5,5,2,93,5,136,0,0,6,5,2,93,5,5,2,93,5,142,0,0,6,5,2,93,5,5,2,93,5,160,0,0,6,5,2,93,5,5,2,93,5,144,0,0,6,5,2,93,5,5,2,93,5,202,0,0,6,5,2,93,5,5,2,93,5,156,0,0,6,5,2,93,5,5,2,93,5,196,0,0,6,5,2,93,5,5,2,93,5,136,0,0,5,156,0,0,6,5,2,93,5,5,2,93,5,144,0,0,5,156,0,0,6,5,2,93,5,5,2,93,5,196,0,0,5,156,0,0,134,5,2,83,5,162,0,0,134,70,2,83,5,162,0,0,5,5,2,83,5,162,0,0,5,70,2,83,5,162,0,0,134,5,2,71,5,190,0,0,134,70,2,71,5,190,0,0,5,5,2,71,5,190,0,0,5,70,2,71,5,190,0,0,134,5,2,83,5,190,0,0,134,70,2,83,5,190,0,0,5,5,2,83,5,190,0,0,5,70,2,83,5,190,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,71,5,162,0,0,134,70,2,71,5,162,0,0,5,5,2,71,5,162,0,0,5,70,2,71,5,162,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,134,5,2,83,5,198,0,0,134,70,2,83,5,198,0,0,5,5,2,83,5,198,0,0,5,70,2,83,5,198,0,0,134,5,2,83,5,208,0,0,134,70,2,83,5,208,0,0,5,5,2,83,5,208,0,0,5,70,2,83,5,208,0,0,134,5,2,83,5,204,0,0,134,70,2,83,5,204,0,0,5,5,2,83,5,204,0,0,5,70,2,83,5,204,0,0,134,5,2,71,5,196,0,0,134,70,2,71,5,196,0,0,5,5,2,71,5,196,0,0,5,70,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,134,70,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,5,70,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,134,70,2,83,5,196,0,0,5,5,2,83,5,196,0,0,5,70,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,134,70,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,5,70,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,23,0,24,2,42,0,100,30,20,0,103,30,9,0,103,30,11,192,197,3,104,30,4,192,197,35,105,30,11,192,197,99,100,30,3,192,197,35,101,30,10,192,197,163,102,30,3,192,197,163,97,30,9,0,97,30,10,192,197,34,98,30,2,192,197,194,99,30,10,192,197,98,24,2,2,192,197,2,25,2,9,192,197,226,96,30,2,192,197,98,92,1,20,0,95,1,9,0,95,1,9,192,197,98,96,1,1,192,197,162,97,1,9,192,197,162,92,1,0,192,197,226,93,1,9,192,197,34,94,1,1,192,197,66,115,0,9,0,115,0,2,239,71,5,90,1,0,192,197,130,91,1,8,192,197,226,67,0,42,0,83,0,2,239,137,5,99,0,10,0,25,2,20,0,101,30,9,0,101,30,7,192,197,100,103,30,7,192,197,228,105,30,8,192,197,100,25,2,6,192,197,67,97,30,6,192,197,163,99,30,7,192,197,3,115,0,4,192,197,130,91,1,4,192,197,195,93,1,5,192,197,35,95,1,5,192,197,131,97,1,5,192,197,227,10,0,24,2,20,0,100,30,9,0,100,30,3,192,197,4,102,30,3,192,197,132,104,30,4,192,197,4,24,2,1,192,197,227,96,30,2,192,197,67,98,30,2,192,197,163,83,0,197,162,90,1,0,192,197,99,92,1,0,192,197,195,94,1,1,192,197,35,96,1,1,192,197,131,0,48,156,5,15,0,125,1,26,0,146,30,12,0,146,30,18,192,197,2,147,30,29,192,197,98,148,30,18,192,197,98,149,30,29,192,197,162,125,1,17,192,197,66,126,1,28,192,197,226,144,30,17,192,197,162,145,30,29,192,197,34,121,1,12,0,121,1,16,192,197,130,122,1,28,192,197,98,123,1,16,192,197,226,124,1,28,192,197,162,68,0,45,0,90,0,105,0,100,0,143,0,122,0,202,127,2,49,71,5,25,2,20,0,101,30,9,0,101,30,27,192,197,67,103,30,27,192,197,163,105,30,28,192,197,3,25,2,26,192,197,130,97,30,26,192,197,194,99,30,27,192,197,2,115,0,3,241,71,5,91,1,25,192,197,130,93,1,25,192,197,194,95,1,26,192,197,2,97,1,26,192,197,66,6,0,125,1,12,0,125,1,17,192,197,35,144,30,17,192,197,131,146,30,17,192,197,227,148,30,18,192,197,67,90,0,6,0,121,1,16,192,197,99,123,1,16,192,197,195,10,67,197,194,24,2,20,0,100,30,9,0,100,30,14,192,197,228,102,30,15,192,197,100,104,30,15,192,197,228,24,2,13,192,197,195,96,30,14,192,197,35,98,30,14,192,197,131,83,0,12,192,197,2,90,1,12,192,197,67,92,1,12,192,197,163,94,1,13,192,197,3,96,1,13,192,197,99,202,127,2,49,137,5,24,2,20,0,100,30,9,0,100,30,15,192,197,3,102,30,15,192,197,131,104,30,16,192,197,3,24,2,13,192,197,226,96,30,14,192,197,66,98,30,14,192,197,162,83,0,3,241,137,5,90,1,12,192,197,98,92,1,12,192,197,194,94,1,13,192,197,34,96,1,13,192,197,130,6,0,126,1,12,0,126,1,24,192,197,3,145,30,24,192,197,99,147,30,24,192,197,195,149,30,25,192,197,35,122,0,6,0,122,1,23,192,197,67,124,1,23,192,197,163,202,68,197,162,25,2,20,0,101,30,9,0,101,30,21,192,197,196,103,30,22,192,197,68,105,30,22,192,197,196,25,2,20,192,197,163,97,30,21,192,197,3,99,30,21,192,197,99,115,0,18,192,197,226,91,1,19,192,197,35,93,1,19,192,197,131,95,1,19,192,197,227,97,1,20,192,197,67,0,54,156,5,22,0,51,2,42,0,244,30,20,0,247,30,9,0,247,30,39,192,197,130,248,30,33,192,197,66,249,30,39,192,197,194,244,30,32,192,197,130,245,30,39,192,197,66,246,30,32,192,197,226,153,30,9,0,153,30,38,192,197,194,242,30,32,192,197,34,243,30,39,192,197,2,51,2,38,192,197,66,142,30,31,192,197,194,143,30,38,192,197,130,253,0,20,0,119,1,9,0,119,1,38,192,197,2,120,1,31,192,197,2,50,2,31,192,197,98,253,0,37,192,197,130,255,0,37,192,197,194,118,1,30,192,197,162,71,0,11,0,89,0,2,247,137,5,103,0,39,0,121,0,2,247,71,5,221,0,30,192,197,66,9,0,142,30,15,0,142,30,31,192,197,163,242,30,32,192,197,3,244,30,32,192,197,99,246,30,32,192,197,195,248,30,33,192,197,35,89,0,29,192,197,226,221,0,30,192,197,35,118,1,30,192,197,131,120,1,30,192,197,227,50,2,31,192,197,67,10,0,143,30,20,0,245,30,9,0,245,30,36,192,197,99,247,30,36,192,197,195,249,30,37,192,197,35,143,30,35,192,197,67,153,30,35,192,197,163,243,30,36,192,197,3,121,0,33,192,197,130,253,0,33,192,197,195,255,0,34,192,197,35,119,1,34,192,197,131,51,2,34,192,197,227,0,64,156,5,22,0,51,2,42,0,244,30,20,0,247,30,9,0,247,30,49,192,197,162,248,30,43,192,197,98,249,30,49,192,197,226,244,30,42,192,197,162,245,30,49,192,197,98,246,30,43,192,197,2,153,30,9,0,153,30,48,192,197,226,242,30,42,192,197,66,243,30,49,192,197,34,51,2,48,192,197,98,142,30,41,192,197,226,143,30,48,192,197,162,253,0,20,0,119,1,9,0,119,1,48,192,197,34,120,1,41,192,197,34,50,2,41,192,197,130,253,0,47,192,197,162,255,0,47,192,197,226,118,1,40,192,197,194,76,0,13,0,89,0,255,255,2,65,137,5,108,0,40,0,121,0,255,255,2,65,71,5,221,0,40,192,197,98,9,0,142,30,15,0,142,30,41,192,197,195,242,30,42,192,197,35,244,30,42,192,197,131,246,30,42,192,197,227,248,30,43,192,197,67,89,0,40,192,197,2,221,0,40,192,197,67,118,1,40,192,197,163,120,1,41,192,197,3,50,2,41,192,197,99,10,0,143,30,20,0,245,30,9,0,245,30,46,192,197,131,247,30,46,192,197,227,249,30,47,192,197,67,143,30,45,192,197,99,153,30,45,192,197,195,243,30,46,192,197,35,121,0,43,192,197,162,253,0,43,192,197,227,255,0,44,192,197,67,119,1,44,192,197,163,51,2,45,192,197,3,0,68,156,5,22,0,51,2,42,0,244,30,20,0,247,30,9,0,247,30,59,192,197,194,248,30,53,192,197,130,249,30,60,192,197,2,244,30,52,192,197,194,245,30,59,192,197,130,246,30,53,192,197,34,153,30,9,0,153,30,59,192,197,2,242,30,52,192,197,98,243,30,59,192,197,66,51,2,58,192,197,130,142,30,52,192,197,2,143,30,58,192,197,194,253,0,20,0,119,1,9,0,119,1,58,192,197,66,120,1,51,192,197,66,50,2,51,192,197,162,253,0,57,192,197,194,255,0,58,192,197,2,118,1,50,192,197,226,78,0,13,0,89,0,255,255,2,69,137,5,110,0,40,0,121,0,255,255,2,69,71,5,221,0,50,192,197,130,9,0,142,30,15,0,142,30,51,192,197,227,242,30,52,192,197,67,244,30,52,192,197,163,246,30,53,192,197,3,248,30,53,192,197,99,89,0,50,192,197,34,221,0,50,192,197,99,118,1,50,192,197,195,120,1,51,192,197,35,50,2,51,192,197,131,10,0,143,30,20,0,245,30,9,0,245,30,56,192,197,163,247,30,57,192,197,3,249,30,57,192,197,99,143,30,55,192,197,131,153,30,55,192,197,227,243,30,56,192,197,67,121,0,53,192,197,194,253,0,54,192,197,3,255,0,54,192,197,99,119,1,54,192,197,195,51,2,55,192,197,35,0,70,156,5,1,0,8,3,255,255,2,71,134,5,11,3,255,255,2,71,134,70,0,78,156,5,15,0,125,1,26,0,146,30,12,0,146,30,62,192,197,34,147,30,66,192,197,66,148,30,62,192,197,130,149,30,66,192,197,130,125,1,61,192,197,98,126,1,65,192,197,194,144,30,61,192,197,194,145,30,66,192,197,2,121,1,12,0,121,1,60,192,197,162,122,1,65,192,197,66,123,1,61,192,197,2,124,1,65,192,197,130,83,0,10,0,90,0,255,255,2,79,137,5,115,0,28,0,122,0,255,255,2,79,71,5,6,0,125,1,12,0,125,1,61,192,197,67,144,30,61,192,197,163,146,30,62,192,197,3,148,30,62,192,197,99,90,0,60,192,197,66,121,1,60,192,197,131,123,1,60,192,197,227,6,0,126,1,12,0,126,1,63,192,197,195,145,30,64,192,197,35,147,30,64,192,197,131,149,30,64,192,197,227,122,0,62,192,197,194,122,1,63,192,197,3,124,1,63,192,197,99,0,80,156,5,22,0,51,2,42,0,244,30,20,0,247,30,9,0,247,30,76,192,197,98,248,30,70,192,197,34,249,30,76,192,197,162,244,30,69,192,197,98,245,30,76,192,197,34,246,30,69,192,197,194,153,30,9,0,153,30,75,192,197,162,242,30,69,192,197,2,243,30,75,192,197,226,51,2,75,192,197,34,142,30,68,192,197,162,143,30,75,192,197,98,253,0,20,0,119,1,9,0,119,1,74,192,197,226,120,1,67,192,197,226,50,2,68,192,197,66,253,0,74,192,197,98,255,0,74,192,197,162,118,1,67,192,197,130,84,0,13,0,89,0,255,255,2,81,137,5,116,0,40,0,121,0,255,255,2,81,71,5,221,0,67,192,197,34,9,0,142,30,15,0,142,30,68,192,197,131,242,30,68,192,197,227,244,30,69,192,197,67,246,30,69,192,197,163,248,30,70,192,197,3,89,0,66,192,197,194,221,0,67,192,197,3,118,1,67,192,197,99,120,1,67,192,197,195,50,2,68,192,197,35,10,0,143,30,20,0,245,30,9,0,245,30,73,192,197,67,247,30,73,192,197,163,249,30,74,192,197,3,143,30,72,192,197,35,153,30,72,192,197,131,243,30,72,192,197,227,121,0,70,192,197,98,253,0,70,192,197,163,255,0,71,192,197,3,119,1,71,192,197,99,51,2,71,192,197,195,0,82,156,5,2,0,8,3,255,255,2,83,134,5,11,3,255,255,2,83,134,70,68,3,76,192,197,226,0,92,156,5,23,0,24,2,42,0,100,30,20,0,103,30,9,0,103,30,88,192,197,3,104,30,81,192,197,35,105,30,88,192,197,99,100,30,80,192,197,35,101,30,87,192,197,163,102,30,80,192,197,163,97,30,9,0,97,30,87,192,197,34,98,30,79,192,197,194,99,30,87,192,197,98,24,2,79,192,197,2,25,2,86,192,197,226,96,30,79,192,197,98,92,1,20,0,95,1,9,0,95,1,86,192,197,98,96,1,78,192,197,162,97,1,86,192,197,162,92,1,77,192,197,226,93,1,86,192,197,34,94,1,78,192,197,66,122,0,46,0,122,0,6,0,90,1,77,192,197,130,91,1,85,192,197,226,10,0,25,2,20,0,101,30,9,0,101,30,84,192,197,100,103,30,84,192,197,228,105,30,85,192,197,100,25,2,83,192,197,67,97,30,83,192,197,163,99,30,84,192,197,3,115,0,81,192,197,130,91,1,81,192,197,195,93,1,82,192,197,35,95,1,82,192,197,131,97,1,82,192,197,227,83,0,255,255,2,93,137,5,90,0,4,0,115,0,255,255,2,93,71,5,10,0,24,2,20,0,100,30,9,0,100,30,80,192,197,4,102,30,80,192,197,132,104,30,81,192,197,4,24,2,78,192,197,227,96,30,79,192,197,67,98,30,79,192,197,163,83,0,77,192,197,34,90,1,77,192,197,99,92,1,77,192,197,195,94,1,78,192,197,35,96,1,78,192,197,131,0,46,5,5,11,0,25,2,20,0,101,30,9,0,101,30,7,192,197,131,103,30,8,192,197,3,105,30,8,192,197,131,25,2,6,192,197,98,97,30,6,192,197,194,99,30,7,192,197,34,93,1,9,0,93,1,5,192,197,66,95,1,5,192,197,162,97,1,6,192,197,2,99,0,6,0,115,0,2,239,5,5,91,1,4,192,197,226,10,0,25,2,20,0,101,30,9,0,101,30,91,192,197,164,103,30,92,192,197,36,105,30,92,192,197,164,25,2,90,192,197,131,97,30,90,192,197,227,99,30,91,192,197,67,115,0,88,192,197,194,91,1,89,192,197,3,93,1,89,192,197,99,95,1,89,192,197,195,97,1,90,192,197,35,0,48,5,5,7,0,126,1,12,0,126,1,24,192,197,34,145,30,24,192,197,130,147,30,24,192,197,226,149,30,25,192,197,66,100,0,8,0,122,0,68,0,122,1,23,192,197,98,124,1,23,192,197,194,6,0,126,1,12,0,126,1,98,192,197,131,145,30,98,192,197,227,147,30,99,192,197,67,149,30,99,192,197,163,122,0,6,0,122,1,97,192,197,195,124,1,98,192,197,35,138,87,197,34,25,2,20,0,101,30,9,0,101,30,96,192,197,68,103,30,96,192,197,196,105,30,97,192,197,68,25,2,95,192,197,35,97,30,95,192,197,131,99,30,95,192,197,227,115,0,93,192,197,98,91,1,93,192,197,163,93,1,94,192,197,3,95,1,94,192,197,99,97,1,94,192,197,195,202,127,2,49,5,5,25,2,20,0,101,30,9,0,101,30,21,192,197,227,103,30,22,192,197,99,105,30,22,192,197,227,25,2,20,192,197,194,97,30,21,192,197,34,99,30,21,192,197,130,115,0,3,241,5,5,91,1,19,192,197,66,93,1,19,192,197,162,95,1,20,192,197,2,97,1,20,192,197,98,0,54,5,5,11,0,143,30,20,0,245,30,9,0,245,30,36,192,197,130,247,30,36,192,197,226,249,30,37,192,197,66,143,30,35,192,197,98,153,30,35,192,197,194,243,30,36,192,197,34,255,0,9,0,255,0,34,192,197,66,119,1,34,192,197,162,51,2,35,192,197,2,103,0,6,0,121,0,2,247,5,5,253,0,33,192,197,226,10,0,143,30,20,0,245,30,9,0,245,30,102,192,197,227,247,30,103,192,197,67,249,30,103,192,197,163,143,30,101,192,197,195,153,30,102,192,197,35,243,30,102,192,197,131,121,0,100,192,197,2,253,0,100,192,197,67,255,0,100,192,197,163,119,1,101,192,197,3,51,2,101,192,197,99,0,64,5,5,11,0,143,30,20,0,245,30,9,0,245,30,46,192,197,162,247,30,47,192,197,2,249,30,47,192,197,98,143,30,45,192,197,130,153,30,45,192,197,226,243,30,46,192,197,66,255,0,9,0,255,0,44,192,197,98,119,1,44,192,197,194,51,2,45,192,197,34,108,0,7,0,121,0,255,255,2,65,5,5,253,0,44,192,197,2,10,0,143,30,20,0,245,30,9,0,245,30,106,192,197,227,247,30,107,192,197,67,249,30,107,192,197,163,143,30,105,192,197,195,153,30,106,192,197,35,243,30,106,192,197,131,121,0,104,192,197,2,253,0,104,192,197,67,255,0,104,192,197,163,119,1,105,192,197,3,51,2,105,192,197,99,0,68,5,5,11,0,143,30,20,0,245,30,9,0,245,30,56,192,197,194,247,30,57,192,197,34,249,30,57,192,197,130,143,30,55,192,197,162,153,30,56,192,197,2,243,30,56,192,197,98,255,0,9,0,255,0,54,192,197,130,119,1,54,192,197,226,51,2,55,192,197,66,110,0,7,0,121,0,255,255,2,69,5,5,253,0,54,192,197,34,10,0,143,30,20,0,245,30,9,0,245,30,110,192,197,227,247,30,111,192,197,67,249,30,111,192,197,163,143,30,109,192,197,195,153,30,110,192,197,35,243,30,110,192,197,131,121,0,108,192,197,2,253,0,108,192,197,67,255,0,108,192,197,163,119,1,109,192,197,3,51,2,109,192,197,99,0,70,5,5,1,0,8,3,255,255,2,71,5,5,11,3,255,255,2,71,5,70,0,78,5,5,7,0,126,1,12,0,126,1,63,192,197,226,145,30,64,192,197,66,147,30,64,192,197,162,149,30,65,192,197,2,115,0,10,0,122,0,255,255,2,79,5,5,122,1,63,192,197,34,124,1,63,192,197,130,6,0,126,1,12,0,126,1,113,192,197,3,145,30,113,192,197,99,147,30,113,192,197,195,149,30,114,192,197,35,122,0,112,192,197,2,122,1,112,192,197,67,124,1,112,192,197,163,0,80,5,5,11,0,143,30,20,0,245,30,9,0,245,30,73,192,197,98,247,30,73,192,197,194,249,30,74,192,197,34,143,30,72,192,197,66,153,30,72,192,197,162,243,30,73,192,197,2,255,0,9,0,255,0,71,192,197,34,119,1,71,192,197,130,51,2,71,192,197,226,116,0,7,0,121,0,255,255,2,81,5,5,253,0,70,192,197,194,10,0,143,30,20,0,245,30,9,0,245,30,117,192,197,99,247,30,117,192,197,195,249,30,118,192,197,35,143,30,116,192,197,67,153,30,116,192,197,163,243,30,117,192,197,3,121,0,114,192,197,130,253,0,114,192,197,195,255,0,115,192,197,35,119,1,115,192,197,131,51,2,115,192,197,227,0,82,5,5,2,0,8,3,255,255,2,83,5,5,11,3,255,255,2,83,5,70,68,3,118,192,197,130,0,92,5,5,11,0,25,2,20,0,101,30,9,0,101,30,84,192,197,131,103,30,85,192,197,3,105,30,85,192,197,131,25,2,83,192,197,98,97,30,83,192,197,194,99,30,84,192,197,34,93,1,9,0,93,1,82,192,197,66,95,1,82,192,197,162,97,1,83,192,197,2,115,0,255,255,2,93,5,5,122,0,3,0,91,1,81,192,197,226,10,0,25,2,20,0,101,30,9,0,101,30,121,192,197,164,103,30,122,192,197,36,105,30,122,192,197,164,25,2,120,192,197,131,97,30,120,192,197,227,99,30,121,192,197,67,115,0,118,192,197,194,91,1,119,192,197,3,93,1,119,192,197,99,95,1,119,192,197,195,97,1,120,192,197,35,156,82,196,162,1,0,8,3,123,192,197,34,11,3,123,192,197,98,5,82,196,162,1,0,8,3,123,192,197,162,11,3,123,192,197,226,156,70,196,190,1,0,8,3,124,192,197,34,11,3,124,192,197,98,5,70,196,190,1,0,8,3,124,192,197,162,11,3,124,192,197,226,156,82,196,190,1,0,8,3,125,192,197,34,11,3,125,192,197,98,5,82,196,190,1,0,8,3,125,192,197,162,11,3,125,192,197,226,156,70,196,162,1,0,8,3,127,192,197,162,11,3,127,192,197,226,5,70,196,162,1,0,8,3,128,192,197,34,11,3,128,192,197,98,156,82,196,198,1,0,8,3,129,192,197,34,11,3,129,192,197,98,5,82,196,198,1,0,8,3,129,192,197,162,11,3,129,192,197,226,156,82,196,208,1,0,8,3,130,192,197,34,11,3,130,192,197,98,5,82,196,208,1,0,8,3,130,192,197,162,11,3,130,192,197,226,156,82,196,204,1,0,8,3,131,192,197,34,11,3,131,192,197,98,5,82,196,204,1,0,8,3,131,192,197,162,11,3,131,192,197,226,156,70,196,196,1,0,8,3,132,192,197,34,11,3,132,192,197,98,5,70,196,196,1,0,8,3,132,192,197,162,11,3,132,192,197,226,133,0,197,35,1,0,8,3,133,192,197,131,11,3,133,192,197,227,134,0,197,67,1,0,8,3,134,192,197,163,11,3,135,192,197,3,156,82,196,196,1,0,8,3,135,192,197,98,11,3,135,192,197,162,5,82,196,196,1,0,8,3,135,192,197,226,11,3,136,192,197,34,136,0,197,99,1,0,8,3,136,192,197,195,11,3,137,192,197,35,137,0,197,131,1,0,8,3,137,192,197,227,11,3,138,192,197,67,44,0,67,0,69,0,71,0,72,0,78,0,79,0,83,0,85,0,89,0,91,0,99,0,101,0,103,0,104,0,108,0,109,0,110,0,111,0,115,0,117,0,121,0,123,0,221,0,222,0,253,0,254,0,255,0,0,1,90,1,98,1,118,1,127,1,24,2,26,2,50,2,52,2,96,30,106,30,142,30,150,30,153,30,154,30,242,30,250,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,50,4,186,80,185,84,68,4,185,96,186,100,186,108,185,112,88,4,185,124,108,4,128,4,185,148,185,152,185,160,130,4,150,4,170,4,185,192,185,196,185,200,185,204,172,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,196,4,209,4,168,80,168,84,219,4,168,96,168,100,168,108,168,112,230,4,168,124,241,4,252,4,168,148,168,152,168,160,254,4,9,5,20,5,168,192,168,196,168,200,168,204,22,5,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,89,58,57,58,0,8,217,66,186,81,154,81,250,81,90,82,186,101,154,101,250,101,90,102,217,72,122,130,185,141,153,141,249,141,121,142,185,144,136,14,185,142,185,185,153,185,249,185,185,188,153,205,185,216,2,8,168,57,136,57,232,57,104,58,72,58,40,58,4,8,200,66,168,81,136,81,232,81,72,82,168,101,136,101,232,101,72,102,200,72,104,130,168,141,136,141,232,141,104,142,168,144,128,14,168,142,168,185,136,185,232,185,168,188,136,205,168,216,72,206,25,59,8,59,217,57,200,57,249,58,232,58,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,74,8,74,57,75,40,75,26,83,8,83,218,81,200,81,154,82,136,82,250,82,232,82,26,82,8,82,249,89,232,89,217,89,200,89,153,90,136,90,217,90,200,90,249,97,232,97,57,99,40,99,122,102,104,102,26,103,8,103,218,101,200,101,250,102,232,102,154,102,168,104,6,8,8,8,250,109,232,109,217,114,200,114,168,156,153,117,136,117,217,118,200,118,25,118,8,118,89,119,72,119,57,119,40,119,154,129,136,129,218,130,200,130,26,130,8,130,10,8,185,136,168,136,25,143,8,143,217,141,200,141,217,144,200,144,12,8,14,8,153,161,136,161,217,162,200,162,25,162,8,162,154,165,136,165,250,165,232,165,218,166,200,166,26,166,8,166,217,174,200,174,25,174,8,174,185,180,168,180,121,186,104,186,25,187,8,187,217,185,200,185,57,186,40,186,217,188,200,188,35,5,37,5,249,197,232,197,249,205,232,205,89,206,153,209,136,209,153,210,136,210,25,210,8,210,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,164,169,164,200,56,169,80,187,100,187,108,169,100,169,108,169,220,169,128,217,140,187,80,200,140,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,67,2,83,4,186,68,99,2,115,4,177,68,90,5,154,69,91,5,145,69,92,5,250,69,93,5,241,69,94,5,218,70,95,5,209,70,96,5,26,70,97,5,17,70,255,5,185,72,68,2,90,2,100,2,122,2,121,5,154,77,122,5,145,77,123,5,154,78,124,5,145,78,125,5,26,78,126,5,17,78,255,5,185,88,71,2,89,4,186,92,103,2,121,4,177,92,221,4,154,93,253,4,145,93,255,4,81,94,118,5,250,93,119,5,241,93,120,5,90,94,255,5,185,116,76,2,89,4,186,120,108,2,121,4,177,120,221,4,154,121,253,4,145,121,255,4,81,122,118,5,250,121,119,5,241,121,120,5,90,122,255,5,186,128,78,2,89,4,186,132,110,2,121,4,177,132,221,4,154,133,253,4,145,133,255,4,81,134,118,5,250,133,119,5,241,133,120,5,90,134,255,5,185,140,255,5,186,164,83,2,90,4,186,168,115,2,122,4,177,168,121,5,154,169,122,5,145,169,123,5,154,170,124,5,145,170,125,5,26,170,126,5,17,170,255,5,185,172,84,2,89,4,186,176,116,2,121,4,177,176,221,4,154,177,253,4,145,177,255,4,81,178,118,5,250,177,119,5,241,177,120,5,90,178,255,5,185,184,255,5,185,208,83,4,186,212,90,2,115,4,177,212,122,2,90,5,154,213,91,5,145,213,92,5,250,213,93,5,241,213,94,5,218,214,95,5,209,214,96,5,26,214,97,5,17,214,255,5,168,64,99,2,115,4,168,68,91,5,136,69,93,5,232,69,95,5,200,70,97,5,8,70,255,5,168,72,100,2,122,2,122,5,136,77,124,5,136,78,126,5,8,78,255,5,168,88,103,2,121,4,168,92,253,4,136,93,255,4,72,94,119,5,232,93,255,5,168,116,108,2,121,4,168,120,253,4,136,121,255,4,72,122,119,5,232,121,255,5,168,128,110,2,121,4,168,132,253,4,136,133,255,4,72,134,119,5,232,133,255,5,168,140,255,5,168,164,115,2,122,4,168,168,122,5,136,169,124,5,136,170,126,5,8,170,255,5,168,172,116,2,121,4,168,176,253,4,136,177,255,4,72,178,119,5,232,177,255,5,168,184,255,5,168,208,115,4,168,212,122,2,91,5,136,213,93,5,232,213,95,5,200,214,97,5,8,214,255,5,249,186,255,5,232,186,255,1,170,170,3,0,69,0,52,0,61,0,19,1,0,16,4,0,0,96,1,0,0,96,1,0,43,0,93,18,0,32,1,0,32,0,98,18,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,154,6,0,32,7,0,0,0,21,0,0,0,156,6,0,0,156,6,0,0,3,0,0,0,0,0,0,0,34,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,109,0,110,0,93,0,38,0,101,5,126,5,60,0,60,0,60,0,135,5,0,0,170,170,170,170,188,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,56,0,0,0,56,1,0,0,88,25,0,0,88,25,0,0,88,25,0,0,88,25,0,0,164,25,0,0,3,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,39,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,16,100,6,5,68,100,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,35,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,147,6,0,32,1,0,32,0,152,6,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,67,12,0,32,7,0,0,0,21,0,0,0,69,12,0,0,69,12,0,0,3,0,0,0,0,0,0,0,112,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,175,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,38,0,66,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,71,0,60,0,103,0,98,0,60,0,60,0,60,0,71,0,98,0,60,0,60,0,60,0,71,0,66,0,60,0,103,0,104,0,60,0,60,0,60,0,71,0,104,0,60,0,60,0,60,0,71,0,72,0,60,0,103,0,119,0,60,0,60,0,60,0,71,0,119,0,60,0,60,0,60,0,71,0,87,0,38,0,73,0,60,0,203,30,60,0,60,0,60,0,202,30,38,0,75,0,60,0,107,0,112,0,60,0,60,0,60,0,75,0,112,0,60,0,60,0,60,0,75,0,80,0,60,0,107,0,119,0,60,0,60,0,60,0,75,0,119,0,60,0,60,0,60,0,75,0,87,0,38,0,78,0,60,0,69,30,60,0,60,0,60,0,68,30,60,0,110,0,119,0,60,0,60,0,60,0,78,0,119,0,60,0,60,0,60,0,78,0,87,0,60,0,110,0,121,0,60,0,60,0,60,0,78,0,121,0,60,0,60,0,60,0,78,0,89,0,38,0,79,0,60,0,205,30,60,0,60,0,60,0,204,30,38,0,83,0,60,0,115,0,104,0,60,0,60,0,60,0,83,0,104,0,60,0,60,0,60,0,83,0,72,0,38,0,85,0,60,0,229,30,60,0,60,0,60,0,228,30,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,30,47,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,28,0,0,164,28,0,0,164,28,0,0,164,28,0,0,240,34,0,0,240,34,0,0,176,41,0,0,22,42,0,0,6,47,0,0,50,105,114,84,1,0,64,8,189,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,108,0,116,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,152,0,48,0,48,0,48,0,158,0,166,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,172,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,145,0,48,0,48,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,137,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,176,1,228,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,49,0,202,65,49,0,202,98,49,0,202,131,49,0,202,164,49,0,202,197,49,0,202,230,49,0,202,7,50,0,202,40,50,0,202,73,50,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,96,7,0,156,5,0,56,201,134,24,0,156,5,0,60,201,64,25,0,156,5,0,64,156,5,0,66,201,132,34,0,201,38,51,0,156,5,0,72,160,5,0,74,156,5,0,76,201,0,52,0,156,5,0,80,201,198,59,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,160,60,0,5,5,0,48,5,5,0,50,5,5,0,52,201,160,64,0,5,5,0,56,201,230,73,0,5,5,0,60,201,160,74,0,5,5,0,64,5,5,0,66,201,164,79,0,201,166,88,0,5,5,0,72,5,5,0,74,5,5,0,76,201,128,89,0,5,5,0,80,201,166,93,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,48,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,48,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,48,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,94,0,201,70,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,96,0,201,198,96,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,97,0,201,70,98,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,99,0,201,198,99,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,100,0,201,70,101,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,102,0,201,198,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,69,5,5,2,69,201,134,103,0,201,70,104,0,201,6,105,0,201,198,105,0,201,134,106,0,201,70,107,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,59,5,5,2,59,134,5,2,71,5,5,2,71,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,47,0,197,34,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,44,0,197,34,45,0,134,5,2,83,5,5,2,83,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,45,0,197,162,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,64,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,45,5,142,0,0,70,5,2,45,5,142,0,0,135,5,2,45,5,144,0,0,70,5,2,45,5,144,0,0,135,5,2,45,5,156,0,0,70,5,2,45,5,156,0,0,135,5,2,45,5,196,0,0,70,5,2,45,5,196,0,0,135,5,2,45,5,150,0,0,70,5,2,45,5,150,0,0,135,5,2,45,5,160,0,0,70,5,2,45,5,160,0,0,135,5,2,45,5,206,0,0,70,5,2,45,5,206,0,0,70,5,2,45,5,210,0,0,135,5,3,55,5,142,0,0,70,5,3,55,5,142,0,0,135,5,4,55,5,142,0,0,70,5,4,55,5,142,0,0,135,5,3,55,5,144,0,0,70,5,3,55,5,144,0,0,135,5,2,55,5,156,0,0,70,5,2,55,5,156,0,0,135,5,2,55,5,196,0,0,70,5,2,55,5,196,0,0,135,5,2,55,5,210,0,0,70,5,2,55,5,210,0,0,135,5,3,55,5,156,0,0,70,5,3,55,5,156,0,0,135,5,3,55,5,196,0,0,70,5,3,55,5,196,0,0,135,5,3,55,5,150,0,0,70,5,3,55,5,150,0,0,135,5,3,55,5,160,0,0,70,5,3,55,5,160,0,0,135,5,3,55,5,206,0,0,70,5,3,55,5,206,0,0,135,5,4,55,5,138,0,0,70,5,4,55,5,138,0,0,135,5,4,55,5,136,0,0,70,5,4,55,5,136,0,0,135,5,4,55,5,150,0,0,70,5,4,55,5,150,0,0,135,5,4,55,5,156,0,0,70,5,4,55,5,156,0,0,135,5,4,55,5,196,0,0,70,5,4,55,5,196,0,0,70,5,3,55,5,210,0,0,70,5,4,55,5,146,0,0,135,5,3,63,5,142,0,0,70,5,3,63,5,142,0,0,135,5,2,63,5,136,0,0,70,5,2,63,5,136,0,0,135,5,2,63,5,156,0,0,70,5,2,63,5,156,0,0,135,5,3,63,5,138,0,0,70,5,3,63,5,138,0,0,135,5,3,63,5,136,0,0,70,5,3,63,5,136,0,0,135,5,3,63,5,150,0,0,70,5,3,63,5,150,0,0,135,5,3,63,5,156,0,0,70,5,3,63,5,156,0,0,135,5,3,63,5,196,0,0,70,5,3,63,5,196,0,0,70,5,3,63,5,146,0,0,135,5,4,69,5,136,0,0,70,5,4,69,5,136,0,0,70,5,4,69,5,150,0,0,135,5,3,69,5,142,0,0,70,5,3,69,5,142,0,0,135,5,4,69,5,142,0,0,70,5,4,69,5,142,0,0,135,5,4,69,5,150,0,0,135,5,4,69,5,164,0,0,70,5,4,69,5,164,0,0,135,5,3,69,5,138,0,0,70,5,3,69,5,138,0,0,135,5,3,69,5,136,0,0,70,5,3,69,5,136,0,0,135,5,3,69,5,150,0,0,70,5,3,69,5,150,0,0,135,5,3,69,5,156,0,0,70,5,3,69,5,156,0,0,135,5,3,69,5,196,0,0,70,5,3,69,5,196,0,0,135,5,4,69,5,156,0,0,70,5,4,69,5,156,0,0,70,5,3,69,5,146,0,0,70,5,4,69,5,146,0,0,135,5,4,69,5,138,0,0,70,5,4,69,5,138,0,0,135,5,4,69,5,196,0,0,70,5,4,69,5,196,0,0,135,5,4,69,5,182,0,0,70,5,4,69,5,182,0,0,135,5,4,69,5,154,0,0,70,5,4,69,5,154,0,0,135,5,2,79,5,142,0,0,70,5,2,79,5,142,0,0,135,5,2,79,5,144,0,0,70,5,2,79,5,144,0,0,135,5,2,79,5,156,0,0,70,5,2,79,5,156,0,0,135,5,2,79,5,196,0,0,70,5,2,79,5,196,0,0,135,5,2,79,5,150,0,0,70,5,2,79,5,150,0,0,135,5,2,79,5,160,0,0,70,5,2,79,5,160,0,0,135,5,2,79,5,206,0,0,70,5,2,79,5,206,0,0,70,5,2,79,5,210,0,0,5,5,2,45,5,142,0,0,5,5,2,45,5,144,0,0,5,5,2,45,5,156,0,0,5,5,2,45,5,196,0,0,5,5,2,45,5,150,0,0,5,5,2,45,5,160,0,0,5,5,2,45,5,206,0,0,5,5,2,45,5,210,0,0,5,5,3,55,5,142,0,0,5,5,4,55,5,142,0,0,5,5,3,55,5,144,0,0,5,5,2,55,5,156,0,0,5,5,2,55,5,196,0,0,5,5,2,55,5,210,0,0,5,5,3,55,5,156,0,0,5,5,3,55,5,196,0,0,5,5,3,55,5,150,0,0,5,5,3,55,5,160,0,0,5,5,3,55,5,206,0,0,5,5,4,55,5,138,0,0,5,5,4,55,5,136,0,0,5,5,4,55,5,150,0,0,5,5,4,55,5,156,0,0,5,5,4,55,5,196,0,0,5,5,3,55,5,210,0,0,5,5,4,55,5,146,0,0,5,5,3,63,5,142,0,0,5,5,2,63,5,136,0,0,5,5,2,63,5,156,0,0,5,5,3,63,5,138,0,0,5,5,3,63,5,136,0,0,5,5,3,63,5,150,0,0,5,5,3,63,5,156,0,0,5,5,3,63,5,196,0,0,5,5,3,63,5,146,0,0,5,5,4,69,5,136,0,0,5,5,4,69,5,150,0,0,5,5,3,69,5,142,0,0,5,5,4,69,5,142,0,0,5,5,4,69,5,164,0,0,5,5,3,69,5,138,0,0,5,5,3,69,5,136,0,0,5,5,3,69,5,150,0,0,5,5,3,69,5,156,0,0,5,5,3,69,5,196,0,0,5,5,4,69,5,156,0,0,5,5,3,69,5,146,0,0,5,5,4,69,5,146,0,0,5,5,4,69,5,138,0,0,5,5,4,69,5,196,0,0,5,5,4,69,5,182,0,0,5,5,4,69,5,154,0,0,5,5,2,79,5,142,0,0,5,5,2,79,5,144,0,0,5,5,2,79,5,156,0,0,5,5,2,79,5,196,0,0,5,5,2,79,5,150,0,0,5,5,2,79,5,160,0,0,5,5,2,79,5,206,0,0,5,5,2,79,5,210,0,0,134,5,2,59,5,162,0,0,5,5,2,59,5,162,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,71,5,142,0,0,5,5,2,71,5,142,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,237,135,5,104,0,2,237,70,5,36,1,197,162,37,1,0,192,197,98,0,54,156,5,39,0,36,30,66,0,130,30,32,0,135,30,15,0,135,30,11,192,197,34,136,30,11,192,197,98,137,30,11,192,197,162,150,30,11,192,197,226,152,30,12,192,197,34,130,30,9,192,197,226,131,30,10,192,197,34,132,30,10,192,197,98,133,30,10,192,197,162,134,30,10,192,197,226,41,30,15,0,41,30,8,192,197,162,42,30,8,192,197,226,43,30,9,192,197,34,128,30,9,192,197,98,129,30,9,192,197,162,36,30,7,192,197,98,37,30,7,192,197,162,38,30,7,192,197,226,39,30,8,192,197,34,40,30,8,192,197,98,30,2,32,0,5,30,15,0,5,30,6,192,197,34,6,30,6,192,197,98,7,30,6,192,197,162,34,30,6,192,197,226,35,30,7,192,197,34,30,2,4,192,197,226,31,2,5,192,197,34,2,30,5,192,197,98,3,30,5,192,197,162,4,30,5,192,197,226,119,0,15,0,119,0,4,247,70,5,36,1,3,192,197,226,37,1,4,192,197,34,116,1,4,192,197,98,117,1,4,192,197,162,66,0,2,247,135,5,72,0,3,247,135,5,87,0,4,247,135,5,98,0,2,247,70,5,104,0,3,247,70,5,0,58,156,5,48,0,35,3,2,251,134,5,0,62,156,5,20,0,128,30,37,0,133,30,20,0,136,30,9,0,136,30,15,192,197,226,137,30,16,192,197,34,152,30,16,192,197,98,133,30,15,192,197,34,134,30,15,192,197,98,135,30,15,192,197,162,128,30,13,192,197,226,129,30,14,192,197,34,130,30,14,192,197,98,131,30,14,192,197,162,132,30,14,192,197,226,117,1,15,0,117,1,12,192,197,162,84,30,12,192,197,226,85,30,13,192,197,34,86,30,13,192,197,98,87,30,13,192,197,162,80,0,2,255,135,5,87,0,3,255,135,5,112,0,2,255,70,5,119,0,3,255,70,5,116,1,12,192,197,98,0,68,156,5,36,0,131,30,63,0,152,30,32,0,245,30,15,0,245,30,23,192,197,98,246,30,23,192,197,162,247,30,23,192,197,226,248,30,24,192,197,34,249,30,24,192,197,98,152,30,22,192,197,34,153,30,22,192,197,98,242,30,22,192,197,162,243,30,22,192,197,226,244,30,23,192,197,34,135,30,15,0,135,30,20,192,197,226,136,30,21,192,197,34,137,30,21,192,197,98,142,30,21,192,197,162,143,30,21,192,197,226,131,30,19,192,197,226,132,30,20,192,197,34,133,30,20,192,197,98,134,30,20,192,197,162,118,1,30,0,51,2,16,0,51,2,18,192,197,226,7,3,255,255,2,69,134,5,128,30,19,192,197,34,129,30,19,192,197,98,130,30,19,192,197,162,118,1,17,192,197,226,119,1,18,192,197,34,120,1,18,192,197,98,50,2,18,192,197,162,221,0,15,0,221,0,16,192,197,162,253,0,16,192,197,226,255,0,17,192,197,34,116,1,17,192,197,98,117,1,17,192,197,162,87,0,255,255,3,69,135,5,89,0,255,255,4,69,135,5,119,0,255,255,3,69,70,5,121,0,255,255,4,69,70,5,0,70,156,5,48,0,35,3,255,255,2,71,134,5,0,78,156,5,16,0,36,30,29,0,40,30,15,0,40,30,27,192,197,34,41,30,27,192,197,98,42,30,27,192,197,162,43,30,27,192,197,226,150,30,28,192,197,34,36,30,26,192,197,34,37,30,26,192,197,98,38,30,26,192,197,162,39,30,26,192,197,226,30,2,12,0,30,2,25,192,197,34,31,2,25,192,197,98,34,30,25,192,197,162,35,30,25,192,197,226,72,0,255,255,2,79,135,5,104,0,255,255,2,79,70,5,36,1,24,192,197,162,37,1,24,192,197,226,0,82,156,5,48,0,35,3,255,255,2,83,134,5,0,46,5,5,8,0,37,30,15,0,37,30,29,192,197,34,39,30,29,192,197,98,41,30,29,192,197,162,43,30,29,192,197,226,150,30,30,192,197,34,104,0,2,237,5,5,37,1,28,192,197,98,31,2,28,192,197,162,35,30,28,192,197,226,0,54,5,5,20,0,37,30,37,0,131,30,20,0,137,30,9,0,137,30,34,192,197,34,150,30,34,192,197,98,152,30,34,192,197,162,131,30,33,192,197,98,133,30,33,192,197,162,135,30,33,192,197,226,37,30,32,192,197,34,39,30,32,192,197,98,41,30,32,192,197,162,43,30,32,192,197,226,129,30,33,192,197,34,31,2,15,0,31,2,30,192,197,226,3,30,31,192,197,34,5,30,31,192,197,98,7,30,31,192,197,162,35,30,31,192,197,226,98,0,2,247,5,5,104,0,3,247,5,5,119,0,4,247,5,5,37,1,30,192,197,98,117,1,30,192,197,162,0,58,5,5,48,0,35,3,2,251,5,5,0,62,5,5,10,0,129,30,20,0,135,30,9,0,135,30,36,192,197,98,137,30,36,192,197,162,152,30,36,192,197,226,129,30,35,192,197,162,131,30,35,192,197,226,133,30,36,192,197,34,112,0,2,255,5,5,119,0,3,255,5,5,117,1,34,192,197,226,85,30,35,192,197,34,87,30,35,192,197,98,0,68,5,5,19,0,133,30,32,0,153,30,15,0,153,30,40,192,197,34,243,30,40,192,197,98,245,30,40,192,197,162,247,30,40,192,197,226,249,30,41,192,197,34,133,30,38,192,197,226,135,30,39,192,197,34,137,30,39,192,197,98,143,30,39,192,197,162,152,30,39,192,197,226,119,1,16,0,119,1,37,192,197,226,51,2,38,192,197,34,7,3,255,255,2,69,5,5,129,30,38,192,197,98,131,30,38,192,197,162,119,0,255,255,3,69,5,5,121,0,255,255,4,69,5,5,253,0,37,192,197,34,255,0,37,192,197,98,117,1,37,192,197,162,0,70,5,5,48,0,35,3,255,255,2,71,5,5,0,78,5,5,8,0,37,30,15,0,37,30,42,192,197,34,39,30,42,192,197,98,41,30,42,192,197,162,43,30,42,192,197,226,150,30,43,192,197,34,104,0,255,255,2,79,5,5,37,1,41,192,197,98,31,2,41,192,197,162,35,30,41,192,197,226,0,82,5,5,48,0,35,3,255,255,2,83,5,5,156,58,196,162,48,0,35,3,43,192,197,98,5,58,196,162,48,0,35,3,43,192,197,162,156,68,196,160,48,0,7,3,43,192,197,226,5,68,196,160,48,0,7,3,44,192,197,34,156,82,196,162,48,0,35,3,44,192,197,98,5,82,196,162,48,0,35,3,44,192,197,162,156,70,196,190,48,0,35,3,44,192,197,226,5,70,196,190,48,0,35,3,45,192,197,34,156,82,196,190,48,0,35,3,45,192,197,98,5,82,196,190,48,0,35,3,45,192,197,162,156,70,196,162,48,0,35,3,45,192,197,226,5,70,196,162,48,0,35,3,46,192,197,34,156,68,196,196,48,0,7,3,46,192,197,98,5,68,196,196,48,0,7,3,46,192,197,162,156,68,196,210,48,0,7,3,46,192,197,226,5,68,196,210,48,0,7,3,47,192,197,34,156,68,196,204,48,0,7,3,47,192,197,98,5,68,196,204,48,0,7,3,47,192,197,162,50,0,66,0,67,0,72,0,73,0,80,0,81,0,87,0,88,0,89,0,90,0,98,0,99,0,104,0,105,0,112,0,113,0,119,0,120,0,121,0,122,0,221,0,222,0,253,0,254,0,255,0,0,1,36,1,38,1,116,1,121,1,30,2,32,2,50,2,52,2,2,30,8,30,34,30,44,30,84,30,88,30,128,30,138,30,142,30,144,30,150,30,151,30,152,30,154,30,242,30,250,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,36,4,185,100,58,4,186,112,60,4,185,128,185,132,74,4,100,4,185,156,185,160,185,168,102,4,185,180,112,4,185,192,185,196,185,200,185,204,185,208,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,114,4,168,72,168,76,168,80,120,4,168,100,132,4,168,112,134,4,168,128,168,132,142,4,156,4,168,156,168,160,168,168,158,4,168,180,164,4,168,192,168,196,168,200,168,204,168,208,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,152,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,70,186,77,154,77,250,77,90,78,186,105,154,105,250,105,90,106,217,72,154,138,185,153,153,153,249,153,153,154,89,154,136,14,217,154,185,189,153,189,249,189,89,190,153,205,185,212,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,70,168,77,136,77,232,77,72,78,168,105,136,105,232,105,72,106,200,72,136,138,168,153,136,153,232,153,136,154,72,154,128,14,200,154,168,189,136,189,232,189,72,190,136,205,168,212,72,206,57,59,40,59,217,57,200,57,25,59,8,59,153,69,136,69,249,69,232,69,185,70,168,70,25,70,8,70,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,166,4,168,4,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,164,153,129,136,129,249,130,232,130,25,130,8,130,121,131,104,131,89,131,72,131,154,137,136,137,170,4,172,4,26,138,8,138,10,8,185,148,168,148,57,155,40,155,217,153,200,153,121,154,104,154,12,8,14,8,153,169,136,169,249,170,232,170,25,170,8,170,154,173,136,173,250,173,232,173,250,174,232,174,26,174,8,174,249,182,232,182,25,182,8,182,185,184,168,184,153,190,136,190,57,191,40,191,217,189,200,189,57,190,40,190,121,190,104,190,174,4,176,4,249,197,232,197,249,205,232,205,89,206,153,209,136,209,185,210,168,210,25,210,8,210,232,172,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,172,169,172,200,56,169,76,187,104,187,112,169,104,169,112,169,216,169,136,217,152,187,76,200,152,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,68,72,4,186,64,104,4,177,64,36,5,250,65,37,5,241,65,255,5,185,84,66,4,186,88,72,4,186,92,87,4,186,96,98,4,177,88,104,4,177,92,119,4,177,96,36,5,250,93,37,5,241,93,116,5,250,97,117,5,241,97,255,5,186,104,255,5,185,116,80,4,186,120,87,4,186,124,112,4,177,120,119,4,177,124,116,5,250,125,117,5,241,125,255,5,186,136,87,4,186,140,89,4,186,144,119,4,177,140,121,4,177,144,221,4,154,145,253,4,145,145,255,4,81,146,116,5,250,141,117,5,241,141,118,5,250,145,119,5,241,145,120,5,90,146,255,5,185,152,255,5,186,172,72,4,186,176,104,4,177,176,36,5,250,177,37,5,241,177,255,5,185,188,255,5,168,68,104,4,168,64,37,5,232,65,255,5,168,84,98,4,168,88,104,4,168,92,119,4,168,96,37,5,232,93,117,5,232,97,255,5,168,104,255,5,168,116,112,4,168,120,119,4,168,124,117,5,232,125,255,5,168,136,119,4,168,140,121,4,168,144,253,4,136,145,255,4,72,146,117,5,232,141,119,5,232,145,255,5,168,152,255,5,168,172,104,4,168,176,37,5,232,177,255,5,168,188,255,5,26,107,255,5,8,107,255,5,250,138,255,5,232,138,255,5,25,191,255,5,8,191,255,1,170,170,3,0,69,0,52,0,61,0,115,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,60,12,0,32,1,0,32,0,65,12,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,10,0,0,0,14,0,0,0,14,0,0,0,1,0,0,0,0,0,0,0,14,0,0,0,37,37,65,76,73,65,83,0,0,0,105,0,100,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,7,0,0,80,7,0,0,0,10,0,0,0,15,0,0,0,15,0,0,0,1,0,0,0,0,0,0,0,15,0,0,0,37,37,65,76,73,65,83,0,0,0,105,0,100,0,95,0,73,0,68,0,0,0,1,0,32,0,1,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,236,23,0,32,7,0,0,0,23,0,0,0,238,23,0,0,238,23,0,0,3,0,0,0,0,0,0,0,135,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,105,0,115,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,167,220,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,98,0,60,0,225,0,60,0,60,0,60,0,193,0,38,0,100,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,240,0,60,0,60,0,60,0,208,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,102,0,60,0,233,0,60,0,60,0,60,0,201,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,106,0,60,0,237,0,60,0,60,0,60,0,205,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,112,0,60,0,243,0,60,0,60,0,60,0,211,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,118,0,60,0,250,0,60,0,60,0,60,0,218,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,122,0,60,0,253,0,60,0,60,0,60,0,221,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,229,0,60,0,60,0,60,0,197,0,0,0,206,49,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,188,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,244,38,0,0,244,38,0,0,132,40,0,0,132,40,0,0,168,44,0,0,168,44,0,0,178,49,0,0,178,49,0,0,178,49,0,0,50,105,114,84,1,0,64,8,98,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,145,0,153,0,159,0,167,0,175,0,183,0,48,0,56,0,182,0,190,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,0,215,0,48,0,48,0,48,0,223,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,231,0,48,0,48,0,239,0,48,0,245,0,253,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,8,1,15,1,48,0,19,1,48,0,27,1,34,1,42,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,56,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,59,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,205,0,48,0,48,0,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,67,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,75,1,48,0,48,0,81,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,68,2,124,2,188,2,192,0,216,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,31,0,202,1,32,0,202,34,32,0,202,67,32,0,202,100,32,0,202,133,32,0,202,166,32,0,202,199,32,0,202,232,32,0,202,9,33,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,102,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,134,3,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,4,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,102,6,0,156,5,0,84,160,5,0,86,156,5,0,88,201,198,7,0,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,38,9,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,11,0,5,5,0,52,5,5,0,54,5,5,0,56,201,70,12,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,13,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,70,15,0,5,5,0,84,5,5,0,86,5,5,0,88,201,166,16,0,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,5,31,43,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,129,0,0,196,160,156,46,196,138,156,50,134,5,49,51,196,142,156,50,196,150,156,50,196,138,156,58,134,5,27,59,196,142,156,58,196,150,156,58,134,5,2,49,196,154,156,68,196,138,156,70,134,5,61,71,196,142,156,70,196,154,156,70,198,65,0,0,5,5,127,12,198,161,0,0,196,138,156,82,134,5,51,83,196,142,156,82,196,150,156,82,134,5,17,91,160,5,38,93,197,66,23,0,196,138,5,42,5,5,31,43,196,142,5,42,196,154,5,42,198,97,0,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,5,5,49,51,196,142,5,50,196,150,5,50,196,138,5,58,5,5,27,59,196,142,5,58,196,150,5,58,5,5,2,49,196,154,5,68,196,138,5,70,5,5,61,71,196,142,5,70,196,154,5,70,193,3,111,93,5,5,125,12,198,193,0,0,196,138,5,82,5,5,51,83,196,142,5,82,196,150,5,82,5,5,17,91,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,18,0,201,166,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,21,0,201,166,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,23,0,201,230,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,26,0,201,38,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,28,0,201,198,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,31,0,201,102,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,1,0,198,34,2,0,192,0,0,0,192,0,0,0,198,98,2,0,197,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,33,0,201,6,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,2,0,197,162,4,0,198,34,3,0,197,226,4,0,198,98,3,0,198,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,36,0,201,166,37,0,198,226,3,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,38,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,40,0,5,71,238,102,201,134,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,192,0,0,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,7,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,197,99,8,0,197,194,8,0,192,0,0,0,192,0,0,0,197,2,9,0,197,67,9,0,197,162,9,0,192,0,0,0,192,0,0,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,42,0,201,70,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,46,0,201,70,47,0,201,102,48,0,201,134,49,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,50,0,201,198,51,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,52,0,201,6,54,0,201,38,55,0,201,70,56,0,201,102,57,0,201,134,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,59,0,201,134,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,63,0,201,134,64,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,65,0,201,198,66,0,201,230,67,0,201,102,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,2,0,197,162,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,70,0,201,102,72,0,201,230,73,0,201,6,75,0,192,0,0,0,192,0,0,0,197,34,3,0,197,98,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,76,0,201,70,77,0,192,0,0,0,192,0,0,0,201,102,78,0,201,134,79,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,70,0,2,111,93,0,134,0,5,0,2,111,93,0,134,0,70,0,3,111,93,0,5,0,70,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,5,31,43,5,162,0,0,5,5,31,43,5,162,0,0,193,4,111,93,5,162,0,0,134,5,49,51,5,162,0,0,5,5,49,51,5,162,0,0,134,5,27,59,5,162,0,0,5,5,27,59,5,162,0,0,134,5,51,83,5,162,0,0,5,5,51,83,5,162,0,0,134,5,61,71,5,190,0,0,5,5,61,71,5,190,0,0,193,3,111,93,5,190,0,0,134,5,51,83,5,190,0,0,5,5,51,83,5,190,0,0,193,2,111,93,5,164,0,0,134,5,61,71,5,162,0,0,5,5,61,71,5,162,0,0,193,3,111,93,5,162,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,134,5,49,51,5,160,0,0,5,5,49,51,5,160,0,0,193,3,111,93,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,31,43,5,200,0,0,5,5,31,43,5,200,0,0,193,4,111,93,5,200,0,0,134,5,49,51,5,204,0,0,5,5,49,51,5,204,0,0,134,5,49,51,5,208,0,0,5,5,49,51,5,208,0,0,134,5,27,59,5,208,0,0,5,5,27,59,5,208,0,0,134,5,51,83,5,198,0,0,5,5,51,83,5,198,0,0,134,5,51,83,5,208,0,0,5,5,51,83,5,208,0,0,134,5,51,83,5,204,0,0,5,5,51,83,5,204,0,0,134,5,31,43,5,196,0,0,5,5,31,43,5,196,0,0,193,4,111,93,5,196,0,0,134,5,49,51,5,196,0,0,5,5,49,51,5,196,0,0,134,5,27,59,5,196,0,0,5,5,27,59,5,196,0,0,134,5,61,71,5,196,0,0,5,5,61,71,5,196,0,0,193,3,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,61,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,61,71,5,190,0,0,5,196,0,0,193,3,111,93,5,190,0,0,5,196,0,0,134,5,51,83,5,196,0,0,5,5,51,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,51,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,51,83,5,190,0,0,5,196,0,0,134,5,17,91,5,196,0,0,5,5,17,91,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,226,5,0,5,5,10,121,5,5,12,121,197,34,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,197,226,6,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,7,0,5,5,107,121,197,98,7,0,5,5,111,121,197,162,7,0,5,5,115,121,197,226,7,0,5,5,119,121,197,34,8,0,197,99,8,0,197,194,8,0,5,5,127,121,5,5,129,121,197,2,9,0,197,67,9,0,197,162,9,0,5,5,137,121,5,5,139,121,197,226,9,0,5,5,143,121,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,3,0,1,3,31,235,134,5,8,3,198,129,10,3,198,161,65,3,31,235,134,5,0,50,156,5,1,0,1,3,49,243,134,5,65,3,49,243,134,5,0,58,156,5,1,0,1,3,27,251,134,5,65,3,27,251,134,5,0,70,156,5,2,0,1,3,255,255,61,71,134,5,8,3,0,192,198,65,65,3,255,255,61,71,134,5,0,82,156,5,1,0,1,3,255,255,51,83,134,5,65,3,255,255,51,83,134,5,0,90,156,5,1,0,1,3,255,255,17,91,134,5,65,3,255,255,17,91,134,5,0,42,5,5,3,0,1,3,31,235,5,5,8,3,0,192,198,97,10,3,255,255,111,93,193,4,65,3,31,235,5,5,0,50,5,5,1,0,1,3,49,243,5,5,65,3,49,243,5,5,0,58,5,5,1,0,1,3,27,251,5,5,65,3,27,251,5,5,0,70,5,5,2,0,1,3,255,255,61,71,5,5,8,3,255,255,111,93,193,3,65,3,255,255,61,71,5,5,0,82,5,5,1,0,1,3,255,255,51,83,5,5,65,3,255,255,51,83,5,5,0,90,5,5,1,0,1,3,255,255,17,91,5,5,65,3,255,255,17,91,5,5,156,42,196,162,3,0,1,3,197,162,8,3,0,192,198,226,10,3,1,192,198,34,65,3,197,162,5,42,196,162,3,0,1,3,0,192,197,98,8,3,1,192,198,98,10,3,0,192,197,162,65,3,0,192,197,98,156,50,196,162,1,0,1,3,0,192,197,226,65,3,0,192,197,226,5,50,196,162,1,0,1,3,1,192,197,34,65,3,1,192,197,34,156,58,196,162,1,0,1,3,1,192,197,98,65,3,1,192,197,98,5,58,196,162,1,0,1,3,1,192,197,162,65,3,1,192,197,162,156,82,196,162,1,0,1,3,1,192,197,226,65,3,1,192,197,226,5,82,196,162,1,0,1,3,2,192,197,34,65,3,2,192,197,34,156,70,196,190,2,0,1,3,2,192,197,98,8,3,1,192,198,162,65,3,2,192,197,98,5,70,196,190,2,0,1,3,2,192,197,162,8,3,2,192,197,226,65,3,2,192,197,162,156,82,196,190,1,0,1,3,3,192,197,34,65,3,3,192,197,34,5,82,196,190,1,0,1,3,3,192,197,98,65,3,3,192,197,98,156,70,196,162,2,0,1,3,3,192,197,226,8,3,2,192,198,162,65,3,3,192,197,226,5,70,196,162,2,0,1,3,4,192,197,34,8,3,4,192,197,98,65,3,4,192,197,34,156,50,196,160,1,0,1,3,5,192,197,34,65,3,5,192,197,34,5,50,196,160,1,0,1,3,5,192,197,98,65,3,5,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,3,0,1,3,12,192,197,162,8,3,4,192,198,34,10,3,4,192,198,98,65,3,12,192,197,162,5,42,196,200,3,0,1,3,12,192,197,226,8,3,4,192,198,162,10,3,13,192,197,34,65,3,12,192,197,226,156,50,196,204,1,0,1,3,13,192,197,98,65,3,13,192,197,98,5,50,196,204,1,0,1,3,13,192,197,162,65,3,13,192,197,162,156,50,196,208,1,0,1,3,13,192,197,226,65,3,13,192,197,226,5,50,196,208,1,0,1,3,14,192,197,34,65,3,14,192,197,34,156,58,196,208,1,0,1,3,14,192,197,98,65,3,14,192,197,98,5,58,196,208,1,0,1,3,14,192,197,162,65,3,14,192,197,162,156,82,196,198,1,0,1,3,14,192,197,226,65,3,14,192,197,226,5,82,196,198,1,0,1,3,15,192,197,34,65,3,15,192,197,34,156,82,196,208,1,0,1,3,15,192,197,98,65,3,15,192,197,98,5,82,196,208,1,0,1,3,15,192,197,162,65,3,15,192,197,162,156,82,196,204,1,0,1,3,15,192,197,226,65,3,15,192,197,226,5,82,196,204,1,0,1,3,16,192,197,34,65,3,16,192,197,34,156,42,196,196,3,0,1,3,16,192,197,98,8,3,4,192,198,226,10,3,5,192,198,34,65,3,16,192,197,98,5,42,196,196,3,0,1,3,16,192,197,162,8,3,5,192,198,98,10,3,16,192,197,226,65,3,16,192,197,162,156,50,196,196,1,0,1,3,17,192,197,34,65,3,17,192,197,34,5,50,196,196,1,0,1,3,17,192,197,98,65,3,17,192,197,98,156,58,196,196,1,0,1,3,17,192,197,162,65,3,17,192,197,162,5,58,196,196,1,0,1,3,17,192,197,226,65,3,17,192,197,226,156,70,196,196,2,0,1,3,18,192,197,34,8,3,5,192,198,162,65,3,18,192,197,34,5,70,196,196,2,0,1,3,18,192,197,98,8,3,18,192,197,162,65,3,18,192,197,98,18,0,197,227,2,0,1,3,19,192,197,67,8,3,5,192,198,227,65,3,19,192,197,67,19,0,197,163,2,0,1,3,20,192,197,3,8,3,20,192,197,99,65,3,20,192,197,3,156,82,196,196,1,0,1,3,20,192,197,194,65,3,20,192,197,194,5,82,196,196,1,0,1,3,21,192,197,2,65,3,21,192,197,2,21,0,197,67,1,0,1,3,21,192,197,163,65,3,21,192,197,163,22,0,197,3,1,0,1,3,22,192,197,99,65,3,22,192,197,99,156,90,196,196,1,0,1,3,22,192,197,194,65,3,22,192,197,194,5,90,196,196,1,0,1,3,23,192,197,2,65,3,23,192,197,2,170,170,3,0,67,0,50,0,59,0,135,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,124,43,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,196,30,0,0,196,30,0,0,84,32,0,0,84,32,0,0,148,34,0,0,148,34,0,0,88,39,0,0,88,39,0,0,96,43,0,0,50,105,114,84,1,0,64,8,223,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,173,0,48,0,177,0,48,0,185,0,192,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,206,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,158,0,48,0,48,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,16,0,202,225,16,0,202,2,17,0,202,35,17,0,202,68,17,0,202,101,17,0,202,134,17,0,202,167,17,0,202,200,17,0,202,233,17,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,166,1,0,156,5,0,52,156,5,0,54,156,5,0,56,201,198,2,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,230,3,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,166,5,0,156,5,0,84,160,5,0,86,156,5,0,88,201,6,7,0,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,102,8,0,5,5,0,44,5,5,0,46,5,5,0,48,201,102,10,0,5,5,0,52,5,5,0,54,5,5,0,56,201,134,11,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,12,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,134,14,0,5,5,0,84,5,5,0,86,5,5,0,88,201,230,15,0,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,5,31,43,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,129,0,0,196,160,156,46,196,138,156,50,134,5,49,51,196,142,156,50,196,150,156,50,196,138,156,58,134,5,27,59,196,142,156,58,196,150,156,58,134,5,2,49,196,154,156,68,196,138,156,70,134,5,61,71,196,142,156,70,196,154,156,70,198,65,0,0,5,5,127,12,198,161,0,0,196,138,156,82,134,5,51,83,196,142,156,82,196,150,156,82,134,5,17,91,160,5,38,93,197,130,16,0,196,138,5,42,5,5,31,43,196,142,5,42,196,154,5,42,198,97,0,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,5,5,49,51,196,142,5,50,196,150,5,50,196,138,5,58,5,5,27,59,196,142,5,58,196,150,5,58,5,5,2,49,196,154,5,68,196,138,5,70,5,5,61,71,196,142,5,70,196,154,5,70,193,3,111,93,5,5,125,12,198,193,0,0,196,138,5,82,5,5,51,83,196,142,5,82,196,150,5,82,5,5,17,91,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,17,0,201,230,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,20,0,201,230,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,38,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,25,0,201,102,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,27,0,201,6,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,30,0,201,166,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,1,0,198,34,2,0,192,0,0,0,192,0,0,0,198,98,2,0,197,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,32,0,201,70,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,2,0,197,162,4,0,198,34,3,0,197,226,4,0,198,98,3,0,198,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,35,0,201,230,36,0,198,226,3,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,38,0,201,230,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,41,0,201,230,42,0,201,6,44,0,201,38,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,46,0,201,102,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,48,0,201,166,49,0,201,198,50,0,201,230,51,0,201,6,53,0,201,38,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,55,0,201,38,57,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,59,0,201,38,60,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,61,0,201,102,62,0,201,134,63,0,201,6,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,2,0,197,162,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,66,0,201,6,68,0,201,134,69,0,201,166,70,0,192,0,0,0,192,0,0,0,197,34,3,0,197,98,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,71,0,201,230,72,0,192,0,0,0,192,0,0,0,201,6,74,0,201,38,75,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,70,0,2,111,93,0,134,0,5,0,2,111,93,0,134,0,70,0,3,111,93,0,5,0,70,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,5,31,43,5,162,0,0,5,5,31,43,5,162,0,0,193,4,111,93,5,162,0,0,134,5,49,51,5,162,0,0,5,5,49,51,5,162,0,0,134,5,27,59,5,162,0,0,5,5,27,59,5,162,0,0,134,5,51,83,5,162,0,0,5,5,51,83,5,162,0,0,134,5,61,71,5,190,0,0,5,5,61,71,5,190,0,0,193,3,111,93,5,190,0,0,134,5,51,83,5,190,0,0,5,5,51,83,5,190,0,0,193,2,111,93,5,164,0,0,134,5,61,71,5,162,0,0,5,5,61,71,5,162,0,0,193,3,111,93,5,162,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,134,5,49,51,5,160,0,0,5,5,49,51,5,160,0,0,193,3,111,93,5,164,0,0,134,5,31,43,5,200,0,0,5,5,31,43,5,200,0,0,193,4,111,93,5,200,0,0,134,5,49,51,5,204,0,0,5,5,49,51,5,204,0,0,134,5,49,51,5,208,0,0,5,5,49,51,5,208,0,0,134,5,27,59,5,208,0,0,5,5,27,59,5,208,0,0,134,5,51,83,5,198,0,0,5,5,51,83,5,198,0,0,134,5,51,83,5,208,0,0,5,5,51,83,5,208,0,0,134,5,51,83,5,204,0,0,5,5,51,83,5,204,0,0,134,5,31,43,5,196,0,0,5,5,31,43,5,196,0,0,193,4,111,93,5,196,0,0,134,5,49,51,5,196,0,0,5,5,49,51,5,196,0,0,134,5,27,59,5,196,0,0,5,5,27,59,5,196,0,0,134,5,61,71,5,196,0,0,5,5,61,71,5,196,0,0,193,3,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,61,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,61,71,5,190,0,0,5,196,0,0,193,3,111,93,5,190,0,0,5,196,0,0,134,5,51,83,5,196,0,0,5,5,51,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,51,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,51,83,5,190,0,0,5,196,0,0,134,5,17,91,5,196,0,0,5,5,17,91,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,3,0,1,3,31,235,134,5,8,3,198,129,10,3,198,161,65,3,31,235,134,5,0,50,156,5,1,0,1,3,49,243,134,5,65,3,49,243,134,5,0,58,156,5,1,0,1,3,27,251,134,5,65,3,27,251,134,5,0,70,156,5,2,0,1,3,255,255,61,71,134,5,8,3,0,192,198,65,65,3,255,255,61,71,134,5,0,82,156,5,1,0,1,3,255,255,51,83,134,5,65,3,255,255,51,83,134,5,0,90,156,5,1,0,1,3,255,255,17,91,134,5,65,3,255,255,17,91,134,5,0,42,5,5,3,0,1,3,31,235,5,5,8,3,0,192,198,97,10,3,255,255,111,93,193,4,65,3,31,235,5,5,0,50,5,5,1,0,1,3,49,243,5,5,65,3,49,243,5,5,0,58,5,5,1,0,1,3,27,251,5,5,65,3,27,251,5,5,0,70,5,5,2,0,1,3,255,255,61,71,5,5,8,3,255,255,111,93,193,3,65,3,255,255,61,71,5,5,0,82,5,5,1,0,1,3,255,255,51,83,5,5,65,3,255,255,51,83,5,5,0,90,5,5,1,0,1,3,255,255,17,91,5,5,65,3,255,255,17,91,5,5,156,42,196,162,3,0,1,3,197,162,8,3,0,192,198,226,10,3,1,192,198,34,65,3,197,162,5,42,196,162,3,0,1,3,0,192,197,98,8,3,1,192,198,98,10,3,0,192,197,162,65,3,0,192,197,98,156,50,196,162,1,0,1,3,0,192,197,226,65,3,0,192,197,226,5,50,196,162,1,0,1,3,1,192,197,34,65,3,1,192,197,34,156,58,196,162,1,0,1,3,1,192,197,98,65,3,1,192,197,98,5,58,196,162,1,0,1,3,1,192,197,162,65,3,1,192,197,162,156,82,196,162,1,0,1,3,1,192,197,226,65,3,1,192,197,226,5,82,196,162,1,0,1,3,2,192,197,34,65,3,2,192,197,34,156,70,196,190,2,0,1,3,2,192,197,98,8,3,1,192,198,162,65,3,2,192,197,98,5,70,196,190,2,0,1,3,2,192,197,162,8,3,2,192,197,226,65,3,2,192,197,162,156,82,196,190,1,0,1,3,3,192,197,34,65,3,3,192,197,34,5,82,196,190,1,0,1,3,3,192,197,98,65,3,3,192,197,98,156,70,196,162,2,0,1,3,3,192,197,226,8,3,2,192,198,162,65,3,3,192,197,226,5,70,196,162,2,0,1,3,4,192,197,34,8,3,4,192,197,98,65,3,4,192,197,34,156,50,196,160,1,0,1,3,5,192,197,34,65,3,5,192,197,34,5,50,196,160,1,0,1,3,5,192,197,98,65,3,5,192,197,98,156,42,196,200,3,0,1,3,5,192,197,226,8,3,4,192,198,34,10,3,4,192,198,98,65,3,5,192,197,226,5,42,196,200,3,0,1,3,6,192,197,34,8,3,4,192,198,162,10,3,6,192,197,98,65,3,6,192,197,34,156,50,196,204,1,0,1,3,6,192,197,162,65,3,6,192,197,162,5,50,196,204,1,0,1,3,6,192,197,226,65,3,6,192,197,226,156,50,196,208,1,0,1,3,7,192,197,34,65,3,7,192,197,34,5,50,196,208,1,0,1,3,7,192,197,98,65,3,7,192,197,98,156,58,196,208,1,0,1,3,7,192,197,162,65,3,7,192,197,162,5,58,196,208,1,0,1,3,7,192,197,226,65,3,7,192,197,226,156,82,196,198,1,0,1,3,8,192,197,34,65,3,8,192,197,34,5,82,196,198,1,0,1,3,8,192,197,98,65,3,8,192,197,98,156,82,196,208,1,0,1,3,8,192,197,162,65,3,8,192,197,162,5,82,196,208,1,0,1,3,8,192,197,226,65,3,8,192,197,226,156,82,196,204,1,0,1,3,9,192,197,34,65,3,9,192,197,34,5,82,196,204,1,0,1,3,9,192,197,98,65,3,9,192,197,98,156,42,196,196,3,0,1,3,9,192,197,162,8,3,4,192,198,226,10,3,5,192,198,34,65,3,9,192,197,162,5,42,196,196,3,0,1,3,9,192,197,226,8,3,5,192,198,98,10,3,10,192,197,34,65,3,9,192,197,226,156,50,196,196,1,0,1,3,10,192,197,98,65,3,10,192,197,98,5,50,196,196,1,0,1,3,10,192,197,162,65,3,10,192,197,162,156,58,196,196,1,0,1,3,10,192,197,226,65,3,10,192,197,226,5,58,196,196,1,0,1,3,11,192,197,34,65,3,11,192,197,34,156,70,196,196,2,0,1,3,11,192,197,98,8,3,5,192,198,162,65,3,11,192,197,98,5,70,196,196,2,0,1,3,11,192,197,162,8,3,11,192,197,226,65,3,11,192,197,162,12,0,197,35,2,0,1,3,12,192,197,131,8,3,5,192,198,227,65,3,12,192,197,131,12,0,197,227,2,0,1,3,13,192,197,67,8,3,13,192,197,163,65,3,13,192,197,67,156,82,196,196,1,0,1,3,14,192,197,2,65,3,14,192,197,2,5,82,196,196,1,0,1,3,14,192,197,66,65,3,14,192,197,66,14,0,197,131,1,0,1,3,14,192,197,227,65,3,14,192,197,227,15,0,197,67,1,0,1,3,15,192,197,163,65,3,15,192,197,163,156,90,196,196,1,0,1,3,16,192,197,2,65,3,16,192,197,2,5,90,196,196,1,0,1,3,16,192,197,66,65,3,16,192,197,66,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,64,185,68,185,72,24,4,185,88,185,92,185,96,26,4,186,112,185,116,185,120,185,124,186,128,28,4,185,144,185,148,185,156,186,160,185,164,30,4,185,180,185,184,185,188,32,4,185,200,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,64,168,68,168,72,36,4,168,88,168,92,168,96,38,4,168,112,168,116,168,120,168,124,168,128,40,4,168,144,168,148,168,156,168,160,168,164,42,4,168,180,168,184,168,188,44,4,168,200,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,185,60,249,57,153,58,217,212,185,220,185,212,217,70,186,81,185,84,250,81,90,82,186,101,185,108,250,101,90,102,185,76,154,130,185,137,185,140,249,137,153,138,185,216,136,14,217,216,185,173,185,176,249,173,89,174,185,196,185,204,0,8,168,57,168,60,232,57,136,58,200,212,168,220,168,212,200,70,168,81,168,84,232,81,72,82,168,101,168,108,232,101,72,102,168,76,136,130,168,137,168,140,232,137,136,138,168,216,128,14,200,216,168,173,168,176,232,173,72,174,168,196,168,204,72,194,25,59,8,59,217,57,200,57,46,4,48,4,153,69,136,69,249,69,232,69,185,70,168,70,25,70,8,70,25,74,8,74,217,72,200,72,26,83,8,83,218,81,200,81,186,82,168,82,50,4,52,4,26,82,8,82,249,93,232,93,217,93,200,93,185,94,168,94,217,94,200,94,249,97,232,97,57,99,40,99,154,102,136,102,26,103,8,103,218,101,200,101,54,4,56,4,186,102,168,104,2,8,4,8,250,113,232,113,217,118,200,118,168,152,153,121,136,121,217,122,200,122,25,122,8,122,89,123,72,123,57,123,40,123,154,129,136,129,218,130,200,130,26,130,8,130,6,8,185,132,168,132,25,139,8,139,217,137,200,137,121,138,104,138,8,8,10,8,153,157,136,157,217,158,200,158,25,158,8,158,154,161,136,161,250,161,232,161,218,162,200,162,26,162,8,162,217,166,200,166,25,166,8,166,185,168,168,168,153,174,136,174,25,175,8,175,217,173,200,173,57,174,40,174,121,174,104,174,58,4,60,4,249,185,232,185,249,193,232,193,89,194,153,201,136,201,185,202,168,202,25,202,8,202,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,200,160,169,160,187,100,187,112,169,100,169,112,169,208,169,128,217,136,187,80,200,136,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,80,255,5,186,100,255,5,185,136,255,5,185,172,255,5,185,192,255,5,168,56,255,5,168,80,255,5,168,100,255,5,168,136,255,5,168,172,255,5,168,192,255,5,249,58,255,5,232,58,255,5,250,82,255,5,232,82,255,5,250,102,255,5,232,102,255,5,249,174,255,5,232,174,255,1,3,0,67,0,50,0,59,0,3,13,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,252,12,0,32,227,23,0,32,1,0,32,0,232,23,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,10,0,0,0,14,0,0,0,14,0,0,0,1,0,0,0,0,0,0,0,14,0,0,0,37,37,65,76,73,65,83,0,0,0,104,0,101,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,7,0,0,80,7,0,0,0,10,0,0,0,15,0,0,0,15,0,0,0,1,0,0,0,0,0,0,0,15,0,0,0,37,37,65,76,73,65,83,0,0,0,104,0,101,0,95,0,73,0,76,0,0,0,1,0,32,0,1,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,245,142,0,32,7,0,0,0,26,0,0,0,247,142,0,0,247,142,0,0,3,0,0,0,0,0,0,0,218,22,0,0,99,111,108,108,97,116,105,111,110,115,0,112,114,105,118,97,116,101,45,107,97,110,97,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,115,116,97,110,100,97,114,100,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,117,110,105,104,97,110,0,0,0,52,0,50,0,0,0,61,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,117,0,110,0,105,0,104,0,97,0,110,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,106,0,97,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,107,0,97,0,110,0,97,0,93,0,0,0,239,223,39,20,91,0,115,0,116,0,114,0,101,0,110,0,103,0,116,0,104,0,32,0,51,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,75,0,97,0,110,0,97,0,32,0,72,0,97,0,110,0,105,0,93,0,38,0,157,48,60,0,60,0,60,0,60,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,65,48,60,0,60,0,60,0,65,48,124,0,252,48,61,0,66,48,124,0,252,48,61,0,75,48,124,0,252,48,61,0,149,48,124,0,252,48,61,0,76,48,124,0,252,48,61,0,85,48,124,0,252,48,61,0,86,48,124,0,252,48,61,0,95,48,124,0,252,48,61,0,96,48,124,0,252,48,61,0,106,48,124,0,252,48,61,0,111,48,124,0,252,48,61,0,112,48,124,0,252,48,61,0,113,48,124,0,252,48,61,0,126,48,124,0,252,48,61,0,131,48,124,0,252,48,61,0,132,48,124,0,252,48,61,0,137,48,124,0,252,48,61,0,142,48,124,0,252,48,61,0,143,48,124,0,252,48,60,0,60,0,60,0,60,0,161,48,124,0,252,48,61,0,103,255,124,0,252,48,61,0,162,48,124,0,252,48,61,0,113,255,124,0,252,48,61,0,171,48,124,0,252,48,61,0,118,255,124,0,252,48,61,0,172,48,124,0,252,48,61,0,181,48,124,0,252,48,61,0,123,255,124,0,252,48,61,0,182,48,124,0,252,48,61,0,191,48,124,0,252,48,61,0,128,255,124,0,252,48,61,0,192,48,124,0,252,48,61,0,202,48,124,0,252,48,61,0,133,255,124,0,252,48,61,0,207,48,124,0,252,48,61,0,138,255,124,0,252,48,61,0,245,49,124,0,252,48,61,0,208,48,124,0,252,48,61,0,209,48,124,0,252,48,61,0,222,48,124,0,252,48,61,0,143,255,124,0,252,48,61,0,227,48,124,0,252,48,61,0,108,255,124,0,252,48,61,0,228,48,124,0,252,48,61,0,148,255,124,0,252,48,61,0,233,48,124,0,252,48,61,0,151,255,124,0,252,48,61,0,251,49,124,0,252,48,61,0,238,48,124,0,252,48,61,0,239,48,124,0,252,48,61,0,156,255,124,0,252,48,61,0,245,48,124,0,252,48,61,0,247,48,124,0,252,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,67,48,60,0,60,0,60,0,67,48,124,0,252,48,61,0,68,48,124,0,252,48,61,0,77,48,124,0,252,48,61,0,78,48,124,0,252,48,61,0,87,48,124,0,252,48,61,0,88,48,124,0,252,48,61,0,97,48,124,0,252,48,61,0,98,48,124,0,252,48,61,0,107,48,124,0,252,48,61,0,114,48,124,0,252,48,61,0,115,48,124,0,252,48,61,0,116,48,124,0,252,48,61,0,127,48,124,0,252,48,61,0,138,48,124,0,252,48,61,0,144,48,124,0,252,48,60,0,60,0,60,0,60,0,163,48,124,0,252,48,61,0,104,255,124,0,252,48,61,0,164,48,124,0,252,48,61,0,114,255,124,0,252,48,61,0,173,48,124,0,252,48,61,0,119,255,124,0,252,48,61,0,174,48,124,0,252,48,61,0,183,48,124,0,252,48,61,0,124,255,124,0,252,48,61,0,241,49,124,0,252,48,61,0,184,48,124,0,252,48,61,0,193,48,124,0,252,48,61,0,129,255,124,0,252,48,61,0,194,48,124,0,252,48,61,0,203,48,124,0,252,48,61,0,134,255,124,0,252,48,61,0,210,48,124,0,252,48,61,0,139,255,124,0,252,48,61,0,246,49,124,0,252,48,61,0,211,48,124,0,252,48,61,0,212,48,124,0,252,48,61,0,223,48,124,0,252,48,61,0,144,255,124,0,252,48,61,0,234,48,124,0,252,48,61,0,152,255,124,0,252,48,61,0,252,49,124,0,252,48,61,0,240,48,124,0,252,48,61,0,248,48,124,0,252,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,69,48,60,0,60,0,60,0,69,48,124,0,252,48,61,0,70,48,124,0,252,48,61,0,79,48,124,0,252,48,61,0,80,48,124,0,252,48,61,0,89,48,124,0,252,48,61,0,90,48,124,0,252,48,61,0,99,48,124,0,252,48,61,0,100,48,124,0,252,48,61,0,101,48,124,0,252,48,61,0,108,48,124,0,252,48,61,0,117,48,124,0,252,48,61,0,118,48,124,0,252,48,61,0,119,48,124,0,252,48,61,0,128,48,124,0,252,48,61,0,133,48,124,0,252,48,61,0,134,48,124,0,252,48,61,0,139,48,124,0,252,48,61,0,148,48,124,0,252,48,60,0,60,0,60,0,60,0,165,48,124,0,252,48,61,0,105,255,124,0,252,48,61,0,166,48,124,0,252,48,61,0,115,255,124,0,252,48,61,0,175,48,124,0,252,48,61,0,120,255,124,0,252,48,61,0,240,49,124,0,252,48,61,0,176,48,124,0,252,48,61,0,185,48,124,0,252,48,61,0,125,255,124,0,252,48,61,0,242,49,124,0,252,48,61,0,186,48,124,0,252,48,61,0,195,48,124,0,252,48,61,0,111,255,124,0,252,48,61,0,196,48,124,0,252,48,61,0,130,255,124,0,252,48,61,0,197,48,124,0,252,48,61,0,204,48,124,0,252,48,61,0,135,255,124,0,252,48,61,0,244,49,124,0,252,48,61,0,213,48,124,0,252,48,61,0,140,255,124,0,252,48,61,0,247,49,124,0,252,48,61,0,214,48,124,0,252,48,61,0,215,48,124,0,252,48,61,0,224,48,124,0,252,48,61,0,145,255,124,0,252,48,61,0,250,49,124,0,252,48,61,0,229,48,124,0,252,48,61,0,109,255,124,0,252,48,61,0,230,48,124,0,252,48,61,0,149,255,124,0,252,48,61,0,235,48,124,0,252,48,61,0,153,255,124,0,252,48,61,0,253,49,124,0,252,48,61,0,244,48,124,0,252,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,71,48,60,0,60,0,60,0,71,48,124,0,252,48,61,0,72,48,124,0,252,48,61,0,81,48,124,0,252,48,61,0,150,48,124,0,252,48,61,0,82,48,124,0,252,48,61,0,91,48,124,0,252,48,61,0,92,48,124,0,252,48,61,0,102,48,124,0,252,48,61,0,103,48,124,0,252,48,61,0,109,48,124,0,252,48,61,0,120,48,124,0,252,48,61,0,121,48,124,0,252,48,61,0,122,48,124,0,252,48,61,0,129,48,124,0,252,48,61,0,140,48,124,0,252,48,61,0,145,48,124,0,252,48,60,0,60,0,60,0,60,0,167,48,124,0,252,48,61,0,106,255,124,0,252,48,61,0,168,48,124,0,252,48,61,0,116,255,124,0,252,48,61,0,177,48,124,0,252,48,61,0,121,255,124,0,252,48,61,0,178,48,124,0,252,48,61,0,187,48,124,0,252,48,61,0,126,255,124,0,252,48,61,0,188,48,124,0,252,48,61,0,198,48,124,0,252,48,61,0,131,255,124,0,252,48,61,0,199,48,124,0,252,48,61,0,205,48,124,0,252,48,61,0,136,255,124,0,252,48,61,0,216,48,124,0,252,48,61,0,141,255,124,0,252,48,61,0,248,49,124,0,252,48,61,0,217,48,124,0,252,48,61,0,218,48,124,0,252,48,61,0,225,48,124,0,252,48,61,0,146,255,124,0,252,48,61,0,236,48,124,0,252,48,61,0,154,255,124,0,252,48,61,0,254,49,124,0,252,48,61,0,241,48,124,0,252,48,61,0,246,48,124,0,252,48,61,0,249,48,124,0,252,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,73,48,60,0,60,0,60,0,73,48,124,0,252,48,61,0,74,48,124,0,252,48,61,0,83,48,124,0,252,48,61,0,84,48,124,0,252,48,61,0,93,48,124,0,252,48,61,0,94,48,124,0,252,48,61,0,104,48,124,0,252,48,61,0,105,48,124,0,252,48,61,0,110,48,124,0,252,48,61,0,123,48,124,0,252,48,61,0,124,48,124,0,252,48,61,0,125,48,124,0,252,48,61,0,130,48,124,0,252,48,61,0,135,48,124,0,252,48,61,0,136,48,124,0,252,48,61,0,141,48,124,0,252,48,61,0,146,48,124,0,252,48,60,0,60,0,60,0,60,0,169,48,124,0,252,48,61,0,107,255,124,0,252,48,61,0,170,48,124,0,252,48,61,0,117,255,124,0,252,48,61,0,179,48,124,0,252,48,61,0,122,255,124,0,252,48,61,0,180,48,124,0,252,48,61,0,189,48,124,0,252,48,61,0,127,255,124,0,252,48,61,0,190,48,124,0,252,48,61,0,200,48,124,0,252,48,61,0,132,255,124,0,252,48,61,0,243,49,124,0,252,48,61,0,201,48,124,0,252,48,61,0,206,48,124,0,252,48,61,0,137,255,124,0,252,48,61,0,219,48,124,0,252,48,61,0,142,255,124,0,252,48,61,0,249,49,124,0,252,48,61,0,220,48,124,0,252,48,61,0,221,48,124,0,252,48,61,0,226,48,124,0,252,48,61,0,147,255,124,0,252,48,61,0,231,48,124,0,252,48,61,0,110,255,124,0,252,48,61,0,232,48,124,0,252,48,61,0,150,255,124,0,252,48,61,0,237,48,124,0,252,48,61,0,155,255,124,0,252,48,61,0,255,49,124,0,252,48,61,0,242,48,124,0,252,48,61,0,102,255,124,0,252,48,61,0,250,48,124,0,252,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,66,48,60,0,60,0,60,0,66,48,124,0,157,48,61,0,65,48,124,0,157,48,60,0,60,0,60,0,60,0,162,48,124,0,253,48,61,0,113,255,124,0,253,48,61,0,161,48,124,0,253,48,61,0,103,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,68,48,60,0,60,0,60,0,68,48,124,0,157,48,61,0,67,48,124,0,157,48,60,0,60,0,60,0,60,0,164,48,124,0,253,48,61,0,114,255,124,0,253,48,61,0,163,48,124,0,253,48,61,0,104,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,70,48,60,0,60,0,60,0,70,48,124,0,157,48,61,0,69,48,124,0,157,48,61,0,148,48,124,0,157,48,61,0,70,48,124,0,158,48,47,0,153,48,61,0,69,48,124,0,158,48,47,0,153,48,61,0,148,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,166,48,124,0,253,48,61,0,115,255,124,0,253,48,61,0,165,48,124,0,253,48,61,0,105,255,124,0,253,48,61,0,244,48,124,0,253,48,61,0,166,48,124,0,254,48,47,0,153,48,61,0,115,255,124,0,254,48,47,0,153,48,61,0,165,48,124,0,254,48,47,0,153,48,61,0,105,255,124,0,254,48,47,0,153,48,61,0,244,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,72,48,60,0,60,0,60,0,72,48,124,0,157,48,61,0,71,48,124,0,157,48,60,0,60,0,60,0,60,0,168,48,124,0,253,48,61,0,116,255,124,0,253,48,61,0,167,48,124,0,253,48,61,0,106,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,74,48,60,0,60,0,60,0,74,48,124,0,157,48,61,0,73,48,124,0,157,48,60,0,60,0,60,0,60,0,170,48,124,0,253,48,61,0,117,255,124,0,253,48,61,0,169,48,124,0,253,48,61,0,107,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,75,48,60,0,60,0,60,0,75,48,124,0,157,48,61,0,149,48,124,0,157,48,60,0,60,0,60,0,60,0,171,48,124,0,253,48,61,0,118,255,124,0,253,48,61,0,245,48,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,76,48,60,0,60,0,60,0,76,48,124,0,157,48,60,0,60,0,60,0,60,0,172,48,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,77,48,60,0,60,0,60,0,77,48,124,0,157,48,61,0,78,48,124,0,157,48,61,0,77,48,124,0,158,48,47,0,153,48,61,0,78,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,173,48,124,0,253,48,61,0,119,255,124,0,253,48,61,0,174,48,124,0,253,48,61,0,173,48,124,0,254,48,47,0,153,48,61,0,119,255,124,0,254,48,47,0,153,48,61,0,174,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,79,48,60,0,60,0,60,0,79,48,124,0,157,48,61,0,80,48,124,0,157,48,61,0,79,48,124,0,158,48,47,0,153,48,61,0,80,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,175,48,124,0,253,48,61,0,120,255,124,0,253,48,61,0,240,49,124,0,253,48,61,0,176,48,124,0,253,48,61,0,175,48,124,0,254,48,47,0,153,48,61,0,120,255,124,0,254,48,47,0,153,48,61,0,240,49,124,0,254,48,47,0,153,48,61,0,176,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,81,48,60,0,60,0,60,0,81,48,124,0,157,48,61,0,150,48,124,0,157,48,60,0,60,0,60,0,60,0,177,48,124,0,253,48,61,0,121,255,124,0,253,48,61,0,246,48,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,82,48,60,0,60,0,60,0,82,48,124,0,157,48,60,0,60,0,60,0,60,0,178,48,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,83,48,60,0,60,0,60,0,83,48,124,0,157,48,61,0,84,48,124,0,157,48,61,0,83,48,124,0,158,48,47,0,153,48,61,0,84,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,179,48,124,0,253,48,61,0,122,255,124,0,253,48,61,0,180,48,124,0,253,48,61,0,179,48,124,0,254,48,47,0,153,48,61,0,122,255,124,0,254,48,47,0,153,48,61,0,180,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,85,48,60,0,60,0,60,0,85,48,124,0,157,48,61,0,86,48,124,0,157,48,61,0,85,48,124,0,158,48,47,0,153,48,61,0,86,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,181,48,124,0,253,48,61,0,123,255,124,0,253,48,61,0,182,48,124,0,253,48,61,0,181,48,124,0,254,48,47,0,153,48,61,0,123,255,124,0,254,48,47,0,153,48,61,0,182,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,87,48,60,0,60,0,60,0,87,48,124,0,157,48,61,0,88,48,124,0,157,48,61,0,87,48,124,0,158,48,47,0,153,48,61,0,88,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,183,48,124,0,253,48,61,0,124,255,124,0,253,48,61,0,241,49,124,0,253,48,61,0,184,48,124,0,253,48,61,0,183,48,124,0,254,48,47,0,153,48,61,0,124,255,124,0,254,48,47,0,153,48,61,0,241,49,124,0,254,48,47,0,153,48,61,0,184,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,89,48,60,0,60,0,60,0,89,48,124,0,157,48,61,0,90,48,124,0,157,48,61,0,89,48,124,0,158,48,47,0,153,48,61,0,90,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,185,48,124,0,253,48,61,0,125,255,124,0,253,48,61,0,242,49,124,0,253,48,61,0,186,48,124,0,253,48,61,0,185,48,124,0,254,48,47,0,153,48,61,0,125,255,124,0,254,48,47,0,153,48,61,0,242,49,124,0,254,48,47,0,153,48,61,0,186,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,91,48,60,0,60,0,60,0,91,48,124,0,157,48,61,0,92,48,124,0,157,48,61,0,91,48,124,0,158,48,47,0,153,48,61,0,92,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,187,48,124,0,253,48,61,0,126,255,124,0,253,48,61,0,188,48,124,0,253,48,61,0,187,48,124,0,254,48,47,0,153,48,61,0,126,255,124,0,254,48,47,0,153,48,61,0,188,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,93,48,60,0,60,0,60,0,93,48,124,0,157,48,61,0,94,48,124,0,157,48,61,0,93,48,124,0,158,48,47,0,153,48,61,0,94,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,189,48,124,0,253,48,61,0,127,255,124,0,253,48,61,0,190,48,124,0,253,48,61,0,189,48,124,0,254,48,47,0,153,48,61,0,127,255,124,0,254,48,47,0,153,48,61,0,190,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,95,48,60,0,60,0,60,0,95,48,124,0,157,48,61,0,96,48,124,0,157,48,61,0,95,48,124,0,158,48,47,0,153,48,61,0,96,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,191,48,124,0,253,48,61,0,128,255,124,0,253,48,61,0,192,48,124,0,253,48,61,0,191,48,124,0,254,48,47,0,153,48,61,0,128,255,124,0,254,48,47,0,153,48,61,0,192,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,97,48,60,0,60,0,60,0,97,48,124,0,157,48,61,0,98,48,124,0,157,48,61,0,97,48,124,0,158,48,47,0,153,48,61,0,98,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,193,48,124,0,253,48,61,0,129,255,124,0,253,48,61,0,194,48,124,0,253,48,61,0,193,48,124,0,254,48,47,0,153,48,61,0,129,255,124,0,254,48,47,0,153,48,61,0,194,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,100,48,60,0,60,0,60,0,100,48,124,0,157,48,61,0,99,48,124,0,157,48,61,0,101,48,124,0,157,48,61,0,100,48,124,0,158,48,47,0,153,48,61,0,101,48,124,0,158,48,47,0,153,48,61,0,100,48,124,0,157,48,61,0,99,48,124,0,158,48,47,0,153,48,61,0,100,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,196,48,124,0,253,48,61,0,130,255,124,0,253,48,61,0,195,48,124,0,253,48,61,0,111,255,124,0,253,48,61,0,197,48,124,0,253,48,61,0,196,48,124,0,254,48,47,0,153,48,61,0,130,255,124,0,254,48,47,0,153,48,61,0,197,48,124,0,254,48,47,0,153,48,61,0,196,48,124,0,253,48,61,0,130,255,124,0,253,48,61,0,195,48,124,0,254,48,47,0,153,48,61,0,111,255,124,0,254,48,47,0,153,48,61,0,196,48,124,0,254,48,47,0,153,48,61,0,130,255,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,102,48,60,0,60,0,60,0,102,48,124,0,157,48,61,0,103,48,124,0,157,48,61,0,102,48,124,0,158,48,47,0,153,48,61,0,103,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,198,48,124,0,253,48,61,0,131,255,124,0,253,48,61,0,199,48,124,0,253,48,61,0,198,48,124,0,254,48,47,0,153,48,61,0,131,255,124,0,254,48,47,0,153,48,61,0,199,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,104,48,60,0,60,0,60,0,104,48,124,0,157,48,61,0,105,48,124,0,157,48,61,0,104,48,124,0,158,48,47,0,153,48,61,0,105,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,200,48,124,0,253,48,61,0,132,255,124,0,253,48,61,0,243,49,124,0,253,48,61,0,201,48,124,0,253,48,61,0,200,48,124,0,254,48,47,0,153,48,61,0,132,255,124,0,254,48,47,0,153,48,61,0,243,49,124,0,254,48,47,0,153,48,61,0,201,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,106,48,60,0,60,0,60,0,106,48,124,0,157,48,60,0,60,0,60,0,60,0,202,48,124,0,253,48,61,0,133,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,107,48,60,0,60,0,60,0,107,48,124,0,157,48,60,0,60,0,60,0,60,0,203,48,124,0,253,48,61,0,134,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,108,48,60,0,60,0,60,0,108,48,124,0,157,48,60,0,60,0,60,0,60,0,204,48,124,0,253,48,61,0,135,255,124,0,253,48,61,0,244,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,109,48,60,0,60,0,60,0,109,48,124,0,157,48,60,0,60,0,60,0,60,0,205,48,124,0,253,48,61,0,136,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,110,48,60,0,60,0,60,0,110,48,124,0,157,48,60,0,60,0,60,0,60,0,206,48,124,0,253,48,61,0,137,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,111,48,60,0,60,0,60,0,111,48,124,0,157,48,61,0,112,48,124,0,157,48,61,0,111,48,124,0,158,48,47,0,153,48,61,0,112,48,124,0,158,48,47,0,153,48,61,0,113,48,124,0,157,48,61,0,113,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,207,48,124,0,253,48,61,0,138,255,124,0,253,48,61,0,245,49,124,0,253,48,61,0,208,48,124,0,253,48,61,0,207,48,124,0,254,48,47,0,153,48,61,0,138,255,124,0,254,48,47,0,153,48,61,0,245,49,124,0,254,48,47,0,153,48,61,0,208,48,124,0,254,48,47,0,153,48,61,0,209,48,124,0,253,48,61,0,209,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,114,48,60,0,60,0,60,0,114,48,124,0,157,48,61,0,115,48,124,0,157,48,61,0,114,48,124,0,158,48,47,0,153,48,61,0,115,48,124,0,158,48,47,0,153,48,61,0,116,48,124,0,157,48,61,0,116,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,210,48,124,0,253,48,61,0,139,255,124,0,253,48,61,0,246,49,124,0,253,48,61,0,211,48,124,0,253,48,61,0,210,48,124,0,254,48,47,0,153,48,61,0,139,255,124,0,254,48,47,0,153,48,61,0,246,49,124,0,254,48,47,0,153,48,61,0,211,48,124,0,254,48,47,0,153,48,61,0,212,48,124,0,253,48,61,0,212,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,117,48,60,0,60,0,60,0,117,48,124,0,157,48,61,0,118,48,124,0,157,48,61,0,117,48,124,0,158,48,47,0,153,48,61,0,118,48,124,0,158,48,47,0,153,48,61,0,119,48,124,0,157,48,61,0,119,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,213,48,124,0,253,48,61,0,140,255,124,0,253,48,61,0,247,49,124,0,253,48,61,0,214,48,124,0,253,48,61,0,213,48,124,0,254,48,47,0,153,48,61,0,140,255,124,0,254,48,47,0,153,48,61,0,247,49,124,0,254,48,47,0,153,48,61,0,214,48,124,0,254,48,47,0,153,48,61,0,215,48,124,0,253,48,61,0,215,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,120,48,60,0,60,0,60,0,120,48,124,0,157,48,61,0,121,48,124,0,157,48,61,0,120,48,124,0,158,48,47,0,153,48,61,0,121,48,124,0,158,48,47,0,153,48,61,0,122,48,124,0,157,48,61,0,122,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,216,48,124,0,253,48,61,0,141,255,124,0,253,48,61,0,248,49,124,0,253,48,61,0,217,48,124,0,253,48,61,0,216,48,124,0,254,48,47,0,153,48,61,0,141,255,124,0,254,48,47,0,153,48,61,0,248,49,124,0,254,48,47,0,153,48,61,0,217,48,124,0,254,48,47,0,153,48,61,0,218,48,124,0,253,48,61,0,218,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,123,48,60,0,60,0,60,0,123,48,124,0,157,48,61,0,124,48,124,0,157,48,61,0,123,48,124,0,158,48,47,0,153,48,61,0,124,48,124,0,158,48,47,0,153,48,61,0,125,48,124,0,157,48,61,0,125,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,219,48,124,0,253,48,61,0,142,255,124,0,253,48,61,0,249,49,124,0,253,48,61,0,220,48,124,0,253,48,61,0,219,48,124,0,254,48,47,0,153,48,61,0,142,255,124,0,254,48,47,0,153,48,61,0,249,49,124,0,254,48,47,0,153,48,61,0,220,48,124,0,254,48,47,0,153,48,61,0,221,48,124,0,253,48,61,0,221,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,126,48,60,0,60,0,60,0,126,48,124,0,157,48,60,0,60,0,60,0,60,0,222,48,124,0,253,48,61,0,143,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,127,48,60,0,60,0,60,0,127,48,124,0,157,48,60,0,60,0,60,0,60,0,223,48,124,0,253,48,61,0,144,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,128,48,60,0,60,0,60,0,128,48,124,0,157,48,60,0,60,0,60,0,60,0,224,48,124,0,253,48,61,0,145,255,124,0,253,48,61,0,250,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,129,48,60,0,60,0,60,0,129,48,124,0,157,48,60,0,60,0,60,0,60,0,225,48,124,0,253,48,61,0,146,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,130,48,60,0,60,0,60,0,130,48,124,0,157,48,60,0,60,0,60,0,60,0,226,48,124,0,253,48,61,0,147,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,132,48,60,0,60,0,60,0,132,48,124,0,157,48,61,0,131,48,124,0,157,48,60,0,60,0,60,0,60,0,228,48,124,0,253,48,61,0,148,255,124,0,253,48,61,0,227,48,124,0,253,48,61,0,108,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,134,48,60,0,60,0,60,0,134,48,124,0,157,48,61,0,133,48,124,0,157,48,60,0,60,0,60,0,60,0,230,48,124,0,253,48,61,0,149,255,124,0,253,48,61,0,229,48,124,0,253,48,61,0,109,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,136,48,60,0,60,0,60,0,136,48,124,0,157,48,61,0,135,48,124,0,157,48,60,0,60,0,60,0,60,0,232,48,124,0,253,48,61,0,150,255,124,0,253,48,61,0,231,48,124,0,253,48,61,0,110,255,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,137,48,60,0,60,0,60,0,137,48,124,0,157,48,60,0,60,0,60,0,60,0,233,48,124,0,253,48,61,0,151,255,124,0,253,48,61,0,251,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,138,48,60,0,60,0,60,0,138,48,124,0,157,48,60,0,60,0,60,0,60,0,234,48,124,0,253,48,61,0,152,255,124,0,253,48,61,0,252,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,139,48,60,0,60,0,60,0,139,48,124,0,157,48,60,0,60,0,60,0,60,0,235,48,124,0,253,48,61,0,153,255,124,0,253,48,61,0,253,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,140,48,60,0,60,0,60,0,140,48,124,0,157,48,60,0,60,0,60,0,60,0,236,48,124,0,253,48,61,0,154,255,124,0,253,48,61,0,254,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,141,48,60,0,60,0,60,0,141,48,124,0,157,48,60,0,60,0,60,0,60,0,237,48,124,0,253,48,61,0,155,255,124,0,253,48,61,0,255,49,124,0,253,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,143,48,60,0,60,0,60,0,143,48,124,0,157,48,61,0,142,48,124,0,157,48,61,0,143,48,124,0,158,48,47,0,153,48,61,0,142,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,239,48,124,0,253,48,61,0,156,255,124,0,253,48,61,0,238,48,124,0,253,48,61,0,247,48,124,0,253,48,61,0,239,48,124,0,254,48,47,0,153,48,61,0,156,255,124,0,254,48,47,0,153,48,61,0,247,48,124,0,254,48,47,0,153,48,61,0,238,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,144,48,60,0,60,0,60,0,144,48,124,0,157,48,61,0,144,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,240,48,124,0,253,48,61,0,248,48,124,0,253,48,61,0,240,48,124,0,254,48,47,0,153,48,61,0,248,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,145,48,60,0,60,0,60,0,145,48,124,0,157,48,61,0,145,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,241,48,124,0,253,48,61,0,249,48,124,0,253,48,61,0,241,48,124,0,254,48,47,0,153,48,61,0,249,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,146,48,60,0,60,0,60,0,146,48,124,0,157,48,61,0,146,48,124,0,158,48,47,0,153,48,60,0,60,0,60,0,60,0,242,48,124,0,253,48,61,0,102,255,124,0,253,48,61,0,250,48,124,0,253,48,61,0,242,48,124,0,254,48,47,0,153,48,61,0,102,255,124,0,254,48,47,0,153,48,61,0,250,48,124,0,254,48,47,0,153,48,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,51,0,93,0,147,48,60,0,60,0,60,0,147,48,124,0,157,48,60,0,60,0,60,0,60,0,243,48,124,0,253,48,61,0,157,255,124,0,253,48,38,0,65,48,60,0,60,0,60,0,60,0,161,48,61,0,103,255,38,0,66,48,60,0,60,0,60,0,60,0,162,48,61,0,113,255,38,0,67,48,60,0,60,0,60,0,60,0,163,48,61,0,104,255,38,0,68,48,60,0,60,0,60,0,60,0,164,48,61,0,114,255,38,0,69,48,60,0,60,0,60,0,60,0,165,48,61,0,105,255,38,0,70,48,60,0,60,0,60,0,60,0,166,48,61,0,115,255,38,0,71,48,60,0,60,0,60,0,60,0,167,48,61,0,106,255,38,0,72,48,60,0,60,0,60,0,60,0,168,48,61,0,116,255,38,0,73,48,60,0,60,0,60,0,60,0,169,48,61,0,107,255,38,0,74,48,60,0,60,0,60,0,60,0,170,48,61,0,117,255,38,0,75,48,60,0,60,0,60,0,60,0,171,48,61,0,118,255,38,0,77,48,60,0,60,0,60,0,60,0,173,48,61,0,119,255,38,0,79,48,60,0,60,0,60,0,60,0,175,48,61,0,120,255,38,0,81,48,60,0,60,0,60,0,60,0,177,48,61,0,121,255,38,0,83,48,60,0,60,0,60,0,60,0,179,48,61,0,122,255,38,0,85,48,60,0,60,0,60,0,60,0,181,48,61,0,123,255,38,0,87,48,60,0,60,0,60,0,60,0,183,48,61,0,124,255,38,0,89,48,60,0,60,0,60,0,60,0,185,48,61,0,125,255,38,0,91,48,60,0,60,0,60,0,60,0,187,48,61,0,126,255,38,0,93,48,60,0,60,0,60,0,60,0,189,48,61,0,127,255,38,0,95,48,60,0,60,0,60,0,60,0,191,48,61,0,128,255,38,0,97,48,60,0,60,0,60,0,60,0,193,48,61,0,129,255,38,0,99,48,60,0,60,0,60,0,60,0,195,48,61,0,111,255,38,0,100,48,60,0,60,0,60,0,60,0,196,48,61,0,130,255,38,0,102,48,60,0,60,0,60,0,60,0,198,48,61,0,131,255,38,0,104,48,60,0,60,0,60,0,60,0,200,48,61,0,132,255,38,0,106,48,60,0,60,0,60,0,60,0,202,48,61,0,133,255,38,0,107,48,60,0,60,0,60,0,60,0,203,48,61,0,134,255,38,0,108,48,60,0,60,0,60,0,60,0,204,48,61,0,135,255,38,0,109,48,60,0,60,0,60,0,60,0,205,48,61,0,136,255,38,0,110,48,60,0,60,0,60,0,60,0,206,48,61,0,137,255,38,0,111,48,60,0,60,0,60,0,60,0,207,48,61,0,138,255,38,0,114,48,60,0,60,0,60,0,60,0,210,48,61,0,139,255,38,0,117,48,60,0,60,0,60,0,60,0,213,48,61,0,140,255,38,0,120,48,60,0,60,0,60,0,60,0,216,48,61,0,141,255,38,0,123,48,60,0,60,0,60,0,60,0,219,48,61,0,142,255,38,0,126,48,60,0,60,0,60,0,60,0,222,48,61,0,143,255,38,0,127,48,60,0,60,0,60,0,60,0,223,48,61,0,144,255,38,0,128,48,60,0,60,0,60,0,60,0,224,48,61,0,145,255,38,0,129,48,60,0,60,0,60,0,60,0,225,48,61,0,146,255,38,0,130,48,60,0,60,0,60,0,60,0,226,48,61,0,147,255,38,0,131,48,60,0,60,0,60,0,60,0,227,48,61,0,108,255,38,0,132,48,60,0,60,0,60,0,60,0,228,48,61,0,148,255,38,0,133,48,60,0,60,0,60,0,60,0,229,48,61,0,109,255,38,0,134,48,60,0,60,0,60,0,60,0,230,48,61,0,149,255,38,0,135,48,60,0,60,0,60,0,60,0,231,48,61,0,110,255,38,0,136,48,60,0,60,0,60,0,60,0,232,48,61,0,150,255,38,0,137,48,60,0,60,0,60,0,60,0,233,48,61,0,151,255,38,0,138,48,60,0,60,0,60,0,60,0,234,48,61,0,152,255,38,0,139,48,60,0,60,0,60,0,60,0,235,48,61,0,153,255,38,0,140,48,60,0,60,0,60,0,60,0,236,48,61,0,154,255,38,0,141,48,60,0,60,0,60,0,60,0,237,48,61,0,155,255,38,0,142,48,60,0,60,0,60,0,60,0,238,48,38,0,143,48,60,0,60,0,60,0,60,0,239,48,61,0,156,255,38,0,144,48,60,0,60,0,60,0,60,0,240,48,38,0,145,48,60,0,60,0,60,0,60,0,241,48,38,0,146,48,60,0,60,0,60,0,60,0,242,48,61,0,102,255,38,0,147,48,60,0,60,0,60,0,60,0,243,48,61,0,157,255,38,0,149,48,60,0,60,0,60,0,60,0,245,48,38,0,150,48,60,0,60,0,60,0,60,0,246,48,38,0,136,48,138,48,60,0,60,0,159,48,38,0,179,48,200,48,60,0,60,0,255,48,38,0,39,0,32,0,39,0,61,0,42,0,39,0,0,48,39,0,227,255,38,0,39,0,33,0,39,0,61,0,1,255,38,0,39,0,34,0,39,0,61,0,2,255,38,0,39,0,35,0,39,0,61,0,3,255,38,0,39,0,36,0,39,0,61,0,4,255,38,0,39,0,37,0,39,0,61,0,5,255,38,0,39,0,38,0,39,0,61,0,6,255,38,0,39,0,39,0,61,0,7,255,38,0,39,0,40,0,39,0,61,0,8,255,38,0,39,0,41,0,39,0,61,0,9,255,38,0,39,0,42,0,39,0,61,0,10,255,38,0,39,0,43,0,39,0,61,0,11,255,38,0,39,0,44,0,39,0,61,0,12,255,38,0,39,0,45,0,39,0,61,0,13,255,38,0,39,0,46,0,39,0,61,0,14,255,38,0,39,0,47,0,39,0,61,0,15,255,38,0,48,0,61,0,16,255,38,0,49,0,61,0,17,255,38,0,50,0,61,0,18,255,38,0,51,0,61,0,19,255,38,0,52,0,61,0,20,255,38,0,53,0,61,0,21,255,38,0,54,0,61,0,22,255,38,0,55,0,61,0,23,255,38,0,56,0,61,0,24,255,38,0,57,0,61,0,25,255,38,0,39,0,58,0,39,0,61,0,26,255,38,0,39,0,59,0,39,0,61,0,27,255,38,0,39,0,60,0,39,0,61,0,28,255,38,0,39,0,61,0,39,0,61,0,29,255,38,0,39,0,62,0,39,0,61,0,30,255,38,0,39,0,63,0,39,0,61,0,31,255,38,0,39,0,64,0,39,0,61,0,32,255,38,0,65,0,61,0,33,255,38,0,66,0,61,0,34,255,38,0,67,0,61,0,35,255,38,0,68,0,61,0,36,255,38,0,69,0,61,0,37,255,38,0,70,0,61,0,38,255,38,0,71,0,61,0,39,255,38,0,72,0,61,0,40,255,38,0,73,0,61,0,41,255,38,0,74,0,61,0,42,255,38,0,75,0,61,0,43,255,38,0,76,0,61,0,44,255,38,0,77,0,61,0,45,255,38,0,78,0,61,0,46,255,38,0,79,0,61,0,47,255,38,0,80,0,61,0,48,255,38,0,81,0,61,0,49,255,38,0,82,0,61,0,50,255,38,0,83,0,61,0,51,255,38,0,84,0,61,0,52,255,38,0,85,0,61,0,53,255,38,0,86,0,61,0,54,255,38,0,87,0,61,0,55,255,38,0,88,0,61,0,56,255,38,0,89,0,61,0,57,255,38,0,90,0,61,0,58,255,38,0,39,0,91,0,39,0,61,0,59,255,38,0,39,0,92,0,39,0,61,0,60,255,38,0,39,0,93,0,39,0,61,0,61,255,38,0,39,0,94,0,39,0,61,0,62,255,38,0,39,0,95,0,39,0,61,0,63,255,38,0,39,0,96,0,39,0,61,0,64,255,38,0,97,0,61,0,65,255,38,0,98,0,61,0,66,255,38,0,99,0,61,0,67,255,38,0,100,0,61,0,68,255,38,0,101,0,61,0,69,255,38,0,102,0,61,0,70,255,38,0,103,0,61,0,71,255,38,0,104,0,61,0,72,255,38,0,105,0,61,0,73,255,38,0,106,0,61,0,74,255,38,0,107,0,61,0,75,255,38,0,108,0,61,0,76,255,38,0,109,0,61,0,77,255,38,0,110,0,61,0,78,255,38,0,111,0,61,0,79,255,38,0,112,0,61,0,80,255,38,0,113,0,61,0,81,255,38,0,114,0,61,0,82,255,38,0,115,0,61,0,83,255,38,0,116,0,61,0,84,255,38,0,117,0,61,0,85,255,38,0,118,0,61,0,86,255,38,0,119,0,61,0,87,255,38,0,120,0,61,0,88,255,38,0,121,0,61,0,89,255,38,0,122,0,61,0,90,255,38,0,39,0,123,0,39,0,61,0,91,255,38,0,39,0,124,0,39,0,61,0,92,255,38,0,39,0,125,0,39,0,61,0,93,255,38,0,39,0,126,0,39,0,61,0,94,255,38,0,162,0,61,0,224,255,38,0,163,0,61,0,225,255,38,0,165,0,61,0,229,255,38,0,166,0,61,0,228,255,38,0,172,0,61,0,226,255,38,0,0,17,61,0,161,255,61,0,49,49,38,0,1,17,61,0,162,255,61,0,50,49,38,0,2,17,61,0,164,255,61,0,52,49,38,0,3,17,61,0,167,255,61,0,55,49,38,0,4,17,61,0,168,255,61,0,56,49,38,0,5,17,61,0,169,255,61,0,57,49,38,0,6,17,61,0,177,255,61,0,65,49,38,0,7,17,61,0,178,255,61,0,66,49,38,0,8,17,61,0,179,255,61,0,67,49,38,0,9,17,61,0,181,255,61,0,69,49,38,0,10,17,61,0,182,255,61,0,70,49,38,0,11,17,61,0,183,255,61,0,71,49,38,0,12,17,61,0,184,255,61,0,72,49,38,0,13,17,61,0,185,255,61,0,73,49,38,0,14,17,61,0,186,255,61,0,74,49,38,0,15,17,61,0,187,255,61,0,75,49,38,0,16,17,61,0,188,255,61,0,76,49,38,0,17,17,61,0,189,255,61,0,77,49,38,0,18,17,61,0,190,255,61,0,78,49,38,0,26,17,61,0,176,255,61,0,64,49,38,0,33,17,61,0,180,255,61,0,68,49,38,0,96,17,61,0,160,255,61,0,100,49,38,0,97,17,61,0,194,255,61,0,79,49,38,0,98,17,61,0,195,255,61,0,80,49,38,0,99,17,61,0,196,255,61,0,81,49,38,0,100,17,61,0,197,255,61,0,82,49,38,0,101,17,61,0,198,255,61,0,83,49,38,0,102,17,61,0,199,255,61,0,84,49,38,0,103,17,61,0,202,255,61,0,85,49,38,0,104,17,61,0,203,255,61,0,86,49,38,0,105,17,61,0,204,255,61,0,87,49,38,0,106,17,61,0,205,255,61,0,88,49,38,0,107,17,61,0,206,255,61,0,89,49,38,0,108,17,61,0,207,255,61,0,90,49,38,0,109,17,61,0,210,255,61,0,91,49,38,0,110,17,61,0,211,255,61,0,92,49,38,0,111,17,61,0,212,255,61,0,93,49,38,0,112,17,61,0,213,255,61,0,94,49,38,0,113,17,61,0,214,255,61,0,95,49,38,0,114,17,61,0,215,255,61,0,96,49,38,0,115,17,61,0,218,255,61,0,97,49,38,0,116,17,61,0,219,255,61,0,98,49,38,0,117,17,61,0,220,255,61,0,99,49,38,0,170,17,61,0,163,255,61,0,51,49,38,0,172,17,61,0,165,255,61,0,53,49,38,0,173,17,61,0,166,255,61,0,54,49,38,0,176,17,61,0,170,255,61,0,58,49,38,0,177,17,61,0,171,255,61,0,59,49,38,0,178,17,61,0,172,255,61,0,60,49,38,0,179,17,61,0,173,255,61,0,61,49,38,0,180,17,61,0,174,255,61,0,62,49,38,0,181,17,61,0,175,255,61,0,63,49,38,0,169,32,61,0,230,255,38,0,144,33,61,0,233,255,38,0,145,33,61,0,234,255,38,0,146,33,61,0,235,255,38,0,147,33,61,0,236,255,38,0,2,37,61,0,232,255,38,0,160,37,61,0,237,255,38,0,203,37,61,0,238,255,38,0,1,48,61,0,100,255,38,0,2,48,61,0,97,255,38,0,12,48,61,0,98,255,38,0,13,48,61,0,99,255,0,0,239,223,10,25,38,0,253,48,60,0,42,0,126,51,125,51,124,51,123,51,255,50,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,106,0,97,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,107,0,97,0,110,0,97,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,42,0,156,78,22,85,3,90,63,150,192,84,27,97,40,99,246,89,34,144,117,132,28,131,80,122,170,96,225,99,37,110,237,101,102,132,166,130,245,155,147,104,39,87,161,101,113,98,155,91,208,89,123,134,244,152,98,125,190,125,142,155,22,98,159,124,183,136,137,91,181,94,9,99,151,102,72,104,199,149,141,151,79,103,229,78,10,79,77,79,157,79,73,80,242,86,55,89,212,89,1,90,9,92,223,96,15,97,112,97,19,102,5,105,186,112,79,117,112,117,251,121,173,125,239,125,195,128,14,132,99,136,2,139,85,144,122,144,59,83,149,78,165,78,223,87,178,128,193,144,239,120,0,78,241,88,162,110,56,144,50,122,40,131,139,130,47,156,65,81,112,83,189,84,225,84,224,86,251,89,21,95,242,152,235,109,228,128,45,133,98,150,112,150,160,150,251,151,11,84,243,83,135,91,207,112,189,127,194,143,232,150,111,83,92,157,186,122,17,78,147,120,252,129,38,110,24,86,4,85,29,107,26,133,59,156,229,89,169,83,102,109,220,116,143,149,66,86,145,78,75,144,242,150,79,131,12,153,225,83,182,85,48,91,113,95,32,102,243,102,4,104,56,108,243,108,41,109,91,116,200,118,78,122,52,152,241,130,91,136,96,138,237,146,178,109,171,117,202,118,197,153,166,96,1,139,138,141,178,149,142,105,173,83,134,81,18,87,48,88,68,89,180,91,246,94,40,96,169,99,244,99,191,108,20,111,142,112,20,113,89,113,213,113,63,115,1,126,118,130,209,130,151,133,96,144,91,146,27,157,105,88,188,101,90,108,37,117,249,81,46,89,101,89,128,95,220,95,188,98,250,101,42,106,39,107,180,107,139,115,193,127,86,137,44,157,14,157,196,158,161,92,150,108,123,131,4,81,75,92,182,97,198,129,118,104,97,114,89,78,250,79,120,83,105,96,41,110,79,122,243,151,11,78,22,83,238,78,85,79,61,79,161,79,115,79,160,82,239,83,9,86,15,89,193,90,182,91,225,91,209,121,135,102,156,103,182,103,76,107,179,108,107,112,194,115,141,121,190,121,60,122,135,123,177,130,219,130,4,131,119,131,239,131,211,131,102,135,178,138,41,86,168,140,230,143,78,144,30,151,138,134,196,79,232,92,17,98,89,114,59,117,229,129,189,130,254,134,192,140,197,150,19,153,213,153,203,78,26,79,227,137,222,86,74,88,202,88,251,94,235,95,42,96,148,96,98,96,208,97,18,98,208,98,57,101,65,155,102,102,176,104,119,109,112,112,76,117,134,118,117,125,165,130,249,135,139,149,142,150,157,140,241,81,190,82,22,89,179,84,179,91,22,93,104,97,130,105,175,109,141,120,203,132,87,136,114,138,167,147,184,154,108,109,168,153,217,134,163,87,255,103,206,134,14,146,131,82,135,86,4,84,211,94,225,98,185,100,60,104,56,104,187,107,114,115,186,120,107,122,154,137,210,137,107,141,3,143,237,144,163,149,148,150,105,151,102,91,179,92,125,105,77,152,78,152,155,99,32,123,43,106,127,106,182,104,13,156,95,111,114,82,157,85,112,96,236,98,59,109,7,110,209,110,91,132,16,137,68,143,20,78,57,156,246,83,27,105,58,106,132,151,42,104,92,81,195,122,178,132,220,145,140,147,91,86,40,157,34,104,5,131,49,132,165,124,8,82,197,130,230,116,126,78,131,79,160,81,210,91,10,82,216,82,231,82,251,93,154,85,42,88,230,89,140,91,152,91,219,91,114,94,121,94,163,96,31,97,99,97,190,97,219,99,98,101,209,103,83,104,250,104,62,107,83,107,87,108,34,111,151,111,69,111,176,116,24,117,227,118,11,119,255,122,161,123,33,124,233,125,54,127,240,127,157,128,102,130,158,131,179,137,204,138,171,140,132,144,81,148,147,149,145,149,162,149,101,150,211,151,40,153,24,130,56,78,43,84,184,92,204,93,169,115,76,118,60,119,169,92,235,127,11,141,193,150,17,152,84,152,88,152,1,79,14,79,113,83,156,85,104,86,250,87,71,89,9,91,196,91,144,92,12,94,126,94,204,95,238,99,58,103,215,101,226,101,31,103,203,104,196,104,95,106,48,94,197,107,23,108,125,108,127,117,72,121,99,91,0,122,0,125,189,95,143,137,24,138,180,140,119,141,204,142,29,143,226,152,14,154,60,155,128,78,125,80,0,81,147,89,156,91,47,98,128,98,236,100,58,107,160,114,145,117,71,121,169,127,251,135,188,138,112,139,172,99,202,131,160,151,9,84,3,84,171,85,84,104,88,106,112,138,39,120,117,103,205,158,116,83,162,91,26,129,80,134,6,144,24,78,69,78,199,78,17,79,202,83,56,84,174,91,19,95,37,96,81,101,61,103,66,108,114,108,227,108,120,112,3,116,118,122,174,122,8,123,26,125,254,124,102,125,231,101,91,114,187,83,69,92,232,93,210,98,224,98,25,99,32,110,90,134,49,138,221,141,248,146,1,111,166,121,90,155,168,78,171,78,172,78,155,79,160,79,209,80,71,81,246,122,113,81,246,81,84,83,33,83,127,83,235,83,172,85,131,88,225,92,55,95,74,95,47,96,80,96,109,96,31,99,89,101,75,106,193,108,194,114,237,114,239,119,248,128,5,129,8,130,78,133,247,144,225,147,255,151,87,153,90,154,240,78,221,81,45,92,129,102,109,105,64,92,242,102,117,105,137,115,80,104,129,124,197,80,228,82,71,87,254,93,38,147,164,101,35,107,61,107,52,116,129,121,189,121,75,123,202,125,185,130,204,131,127,136,95,137,57,139,209,143,209,145,31,84,128,146,93,78,54,80,229,83,58,83,215,114,150,115,233,119,230,130,175,142,198,153,200,153,210,153,119,81,26,97,94,134,176,85,122,122,118,80,211,91,71,144,133,150,50,78,219,106,231,145,81,92,72,92,152,99,159,122,147,108,116,151,97,143,170,122,138,113,136,150,130,124,23,104,112,126,81,104,108,147,242,82,27,84,171,133,19,138,164,127,205,142,225,144,102,83,136,136,65,121,194,79,190,80,17,82,68,81,83,85,45,87,234,115,139,87,81,89,98,95,132,95,117,96,118,97,103,97,169,97,178,99,58,100,108,101,111,102,66,104,19,110,102,117,61,122,251,124,76,125,153,125,75,126,107,127,14,131,74,131,205,134,8,138,99,138,102,139,253,142,26,152,143,157,184,130,206,143,232,155,135,82,31,98,131,100,192,111,153,150,65,104,145,80,32,107,122,108,84,111,116,122,80,125,64,136,35,138,8,103,246,78,57,80,38,80,101,80,124,81,56,82,99,82,167,85,15,87,5,88,204,90,250,94,178,97,248,97,243,98,114,99,28,105,41,106,125,114,172,114,46,115,20,120,111,120,121,125,12,119,169,128,139,137,25,139,226,140,210,142,99,144,117,147,122,150,85,152,19,154,120,158,67,81,159,83,179,83,123,94,38,95,27,110,144,110,132,115,254,115,67,125,55,130,0,138,250,138,80,150,78,78,11,80,228,83,124,84,250,86,209,89,100,91,241,93,171,94,39,95,56,98,69,101,175,103,86,110,208,114,202,124,180,136,161,128,225,128,240,131,78,134,135,138,232,141,55,146,199,150,103,152,19,159,148,78,146,78,13,79,72,83,73,84,62,84,47,90,140,95,161,95,159,96,167,104,142,106,90,116,129,120,158,138,164,138,119,139,144,145,94,78,201,155,164,78,124,79,175,79,25,80,22,80,73,81,108,81,159,82,185,82,254,82,154,83,227,83,17,84,14,84,137,85,81,87,162,87,125,89,84,91,93,91,143,91,229,93,231,93,247,93,120,94,131,94,154,94,183,94,24,95,82,96,76,97,151,98,216,98,167,99,59,101,2,102,67,102,244,102,109,103,33,104,151,104,203,105,95,108,42,109,105,109,47,110,157,110,50,117,135,118,108,120,63,122,224,124,5,125,24,125,94,125,177,125,21,128,3,128,175,128,177,128,84,129,143,129,42,130,82,131,76,136,97,136,27,139,162,140,252,140,202,144,117,145,113,146,63,120,252,146,164,149,77,150,5,152,153,153,216,154,59,157,91,82,171,82,247,83,8,84,213,88,247,98,224,111,106,140,95,143,185,158,75,81,59,82,74,84,253,86,64,122,119,145,96,157,210,158,68,115,9,111,112,129,17,117,253,95,218,96,168,154,219,114,188,143,100,107,3,152,202,78,240,86,100,87,190,88,90,90,104,96,199,97,15,102,6,102,57,104,177,104,247,109,213,117,58,125,110,130,66,155,155,78,80,79,201,83,6,85,111,93,230,93,238,93,251,103,153,108,115,116,2,120,80,138,150,147,223,136,80,87,167,94,43,99,181,80,172,80,141,81,0,103,201,84,94,88,187,89,176,91,105,95,77,98,161,99,61,104,115,107,8,110,125,112,199,145,128,114,21,120,38,120,109,121,142,101,48,125,220,131,193,136,9,143,155,150,100,82,40,87,80,103,106,127,161,140,180,81,66,87,42,150,58,88,138,105,180,128,178,84,14,93,252,87,149,120,250,157,92,79,74,82,139,84,62,100,40,102,20,103,245,103,132,122,86,123,34,125,47,147,92,104,173,155,57,123,25,83,138,81,55,82,223,91,246,98,174,100,230,100,45,103,186,107,169,133,209,150,144,118,214,155,76,99,6,147,171,155,191,118,82,102,9,78,152,80,194,83,113,92,232,96,146,100,99,101,95,104,230,113,202,115,35,117,151,123,130,126,149,134,131,139,219,140,120,145,16,153,172,101,171,102,139,107,213,78,212,78,58,79,127,79,58,82,248,83,242,83,227,85,219,86,235,88,203,89,201,89,255,89,80,91,77,92,2,94,43,94,215,95,29,96,7,99,47,101,92,91,175,101,189,101,232,101,157,103,98,107,123,107,15,108,69,115,73,121,193,121,248,124,25,125,43,125,162,128,2,129,243,129,150,137,94,138,105,138,102,138,140,138,238,138,199,140,220,140,204,150,252,152,111,107,139,78,60,79,141,79,80,81,87,91,250,91,72,97,1,99,66,102,33,107,203,110,187,108,62,114,189,116,212,117,193,120,58,121,12,128,51,128,234,129,148,132,158,143,80,108,127,158,15,95,88,139,43,157,250,122,248,142,141,91,235,150,3,78,241,83,247,87,49,89,201,90,164,91,137,96,127,110,6,111,190,117,234,140,159,91,0,133,224,123,114,80,244,103,157,130,97,92,74,133,30,126,14,130,153,81,4,92,104,99,102,141,156,101,110,113,62,121,23,125,5,128,29,139,202,142,110,144,199,134,170,144,31,80,250,82,58,92,83,103,124,112,53,114,76,145,200,145,43,147,229,130,194,91,49,95,249,96,59,78,214,83,136,91,75,98,49,103,138,107,233,114,224,115,46,122,107,129,163,141,82,145,150,153,18,81,215,83,106,84,255,91,136,99,57,106,172,125,0,151,218,86,206,83,104,84,151,91,49,92,222,93,238,79,1,97,254,98,50,109,192,121,203,121,66,125,77,126,210,127,237,129,31,130,144,132,70,136,114,137,144,139,116,142,47,143,49,144,75,145,108,145,198,150,156,145,192,78,79,79,69,81,65,83,147,95,14,98,212,103,65,108,11,110,99,115,38,126,205,145,131,146,212,83,25,89,191,91,209,109,93,121,46,126,155,124,126,88,159,113,250,81,83,136,240,143,202,79,251,92,37,102,172,119,227,122,28,130,255,153,198,81,170,95,236,101,111,105,137,107,243,109,150,110,100,111,254,118,20,125,225,93,117,144,135,145,6,152,230,81,29,82,64,98,145,102,217,102,26,110,182,94,210,125,114,127,248,102,175,133,247,133,248,138,169,82,217,83,115,89,143,94,144,95,85,96,228,146,100,150,183,80,31,81,221,82,32,83,71,83,236,83,232,84,70,85,49,85,23,86,104,89,190,89,60,90,181,91,6,92,15,92,17,92,26,92,132,94,138,94,224,94,112,95,127,98,132,98,219,98,140,99,119,99,7,102,12,102,45,102,118,102,126,103,162,104,31,106,53,106,188,108,136,109,9,110,88,110,60,113,38,113,103,113,199,117,1,119,93,120,1,121,101,121,240,121,224,122,17,123,167,124,57,125,150,128,214,131,139,132,73,133,93,136,243,136,31,138,60,138,84,138,115,138,97,140,222,140,164,145,102,146,126,147,24,148,156,150,152,151,10,78,8,78,30,78,87,78,151,81,112,82,206,87,52,88,204,88,34,91,56,94,197,96,254,100,97,103,86,103,68,109,182,114,115,117,99,122,184,132,114,139,184,145,32,147,49,86,244,87,254,152,237,98,13,105,150,107,237,113,84,126,119,128,114,130,230,137,223,152,85,135,177,143,59,92,56,79,225,79,181,79,7,85,32,90,221,91,233,91,195,95,78,97,47,99,176,101,75,102,238,104,155,105,120,109,241,109,51,117,185,117,31,119,94,121,230,121,51,125,227,129,175,130,170,133,170,137,58,138,171,142,155,143,50,144,221,145,7,151,186,78,193,78,3,82,117,88,236,88,11,92,26,117,61,92,78,129,10,138,197,143,99,150,109,151,37,123,207,138,8,152,98,145,243,86,168,83,23,144,57,84,130,87,37,94,168,99,52,108,138,112,97,119,139,124,224,127,112,136,66,144,84,145,16,147,24,147,143,150,94,116,196,154,7,93,105,93,112,101,162,103,168,141,219,150,110,99,73,103,25,105,197,131,23,152,192,150,254,136,132,111,122,100,248,91,22,78,44,112,93,117,47,102,196,81,54,82,226,82,211,89,129,95,39,96,16,98,63,101,116,101,31,102,116,102,242,104,22,104,99,107,5,110,114,114,31,117,219,118,190,124,86,128,240,88,253,136,127,137,160,138,147,138,203,138,29,144,146,145,82,151,89,151,137,101,14,122,6,129,187,150,45,94,220,96,26,98,165,101,20,102,144,103,243,119,77,122,77,124,62,126,10,129,172,140,100,141,225,141,95,142,169,120,7,82,217,98,165,99,66,100,152,98,45,138,131,122,192,123,172,138,234,150,118,125,12,130,73,135,217,78,72,81,67,83,96,83,163,91,2,92,22,92,221,93,38,98,71,98,176,100,19,104,52,104,201,108,69,109,23,109,211,103,92,111,78,113,125,113,203,101,127,122,173,123,218,125,74,126,168,127,122,129,27,130,57,130,166,133,110,138,206,140,245,141,120,144,119,144,173,146,145,146,131,149,174,155,77,82,132,85,56,111,54,113,104,81,133,121,85,126,179,129,206,124,76,86,81,88,168,92,170,99,254,102,253,102,90,105,217,114,143,117,142,117,14,121,86,121,223,121,151,124,32,125,68,125,7,134,52,138,59,150,97,144,32,159,231,80,117,82,204,83,226,83,9,80,170,85,238,88,79,89,61,114,139,91,100,92,29,83,227,96,243,96,92,99,131,99,63,99,187,99,205,100,233,101,249,102,227,93,205,105,253,105,21,111,229,113,137,78,233,117,248,118,147,122,223,124,207,125,156,125,97,128,73,131,88,131,108,132,188,132,251,133,197,136,112,141,1,144,109,144,151,147,28,151,18,154,207,80,151,88,142,97,211,129,53,133,8,141,32,144,195,79,116,80,71,82,115,83,111,96,73,99,95,103,44,110,179,141,31,144,215,79,94,92,202,140,207,101,154,125,82,83,150,136,118,81,195,99,88,91,107,91,10,92,13,100,81,103,92,144,214,78,26,89,42,89,112,108,81,138,62,85,21,88,165,89,240,96,83,98,193,103,53,130,85,105,64,150,196,153,40,154,83,79,6,88,254,91,16,128,177,92,47,94,133,95,32,96,75,97,52,98,255,102,240,108,222,110,206,128,127,129,212,130,139,136,184,140,0,144,46,144,138,150,219,158,219,155,227,78,240,83,39,89,44,123,141,145,76,152,249,157,221,110,39,112,83,83,68,85,133,91,88,98,158,98,211,98,162,108,239,111,34,116,23,138,56,148,193,111,254,138,56,131,231,81,248,134,234,83,233,83,70,79,84,144,176,143,106,89,49,129,253,93,234,122,191,143,218,104,55,140,248,114,72,156,61,106,176,138,57,78,88,83,6,86,102,87,197,98,162,99,230,101,78,107,225,109,91,110,173,112,237,119,239,122,170,123,187,125,61,128,198,128,203,134,149,138,91,147,227,86,199,88,62,95,173,101,150,102,128,106,181,107,55,117,199,138,36,80,229,119,48,87,27,95,101,96,122,102,96,108,244,117,26,122,110,127,244,129,24,135,69,144,179,153,201,123,92,117,249,122,81,123,196,132,16,144,233,121,146,122,54,131,225,90,64,119,45,78,242,78,153,91,224,95,189,98,60,102,241,103,232,108,107,134,119,136,59,138,78,145,243,146,208,153,23,106,38,112,42,115,231,130,87,132,175,140,1,78,70,81,203,81,139,85,245,91,22,94,51,94,129,94,20,95,53,95,107,95,180,95,242,97,17,99,162,102,29,103,110,111,82,114,58,117,58,119,116,128,57,129,120,129,118,135,191,138,220,138,133,141,243,141,154,146,119,149,2,152,229,156,197,82,87,99,244,118,21,103,136,108,205,115,195,140,174,147,115,150,37,109,156,88,14,105,204,105,253,143,154,147,219,117,26,144,90,88,2,104,180,99,251,105,67,79,44,111,216,103,187,143,38,133,180,125,84,147,63,105,112,111,106,87,247,88,44,91,44,125,42,114,10,84,227,145,180,157,173,78,78,79,92,80,117,80,67,82,158,140,72,84,36,88,154,91,29,94,149,94,173,94,247,94,31,95,140,96,181,98,58,99,208,99,175,104,64,108,135,120,142,121,11,122,224,125,71,130,2,138,230,138,68,142,19,144,184,144,45,145,216,145,14,159,229,108,88,100,226,100,117,101,244,110,132,118,27,123,105,144,209,147,186,110,242,84,185,95,164,100,77,143,237,143,68,146,120,81,107,88,41,89,85,92,151,94,251,109,143,126,28,117,188,140,226,142,91,152,185,112,29,79,191,107,177,111,48,117,251,150,78,81,16,84,53,88,87,88,172,89,96,92,146,95,151,101,92,103,33,110,123,118,223,131,237,140,20,144,253,144,77,147,37,120,58,120,170,82,166,94,31,87,116,89,18,96,18,80,90,81,172,81,205,81,0,82,16,85,84,88,88,88,87,89,149,91,246,92,139,93,188,96,149,98,45,100,113,103,67,104,188,104,223,104,215,118,216,109,111,110,155,109,111,112,200,113,83,95,216,117,119,121,73,123,84,123,82,123,214,124,113,125,48,82,99,132,105,133,228,133,14,138,4,139,70,140,15,142,3,144,15,144,25,148,118,150,45,152,48,154,216,149,205,80,213,82,12,84,2,88,14,92,167,97,158,100,30,109,179,119,229,122,244,128,4,132,83,144,133,146,224,92,7,157,63,83,151,95,179,95,156,109,121,114,99,119,191,121,228,123,210,107,236,114,173,138,3,104,97,106,248,81,129,122,52,105,74,92,246,156,235,130,197,91,73,145,30,112,120,86,111,92,199,96,102,101,140,108,90,140,65,144,19,152,81,84,199,102,13,146,72,89,163,144,133,81,77,78,234,81,153,133,14,139,88,112,122,99,75,147,98,105,180,153,4,126,119,117,87,83,96,105,223,142,227,150,93,108,140,78,60,92,16,95,233,143,2,83,209,140,137,128,121,134,255,94,229,101,115,78,101,81,130,89,63,92,238,151,251,78,138,89,205,95,141,138,225,111,176,121,98,121,231,91,113,132,43,115,177,113,116,94,245,95,123,99,154,100,195,113,152,124,67,78,252,94,75,78,220,87,162,86,169,96,195,111,13,125,253,128,51,129,191,129,178,143,151,137,164,134,244,93,138,98,173,100,135,137,119,103,226,108,62,109,54,116,52,120,70,90,117,127,173,130,172,153,243,79,195,94,221,98,146,99,87,101,111,103,195,118,76,114,204,128,186,128,41,143,77,145,13,80,249,87,146,90,133,104,115,105,100,113,253,114,183,140,242,88,224,140,106,150,25,144,127,135,228,121,231,119,41,132,47,79,101,82,90,83,205,98,207,103,202,108,125,118,148,123,149,124,54,130,132,133,235,143,221,102,32,111,6,114,27,126,171,131,193,153,166,158,253,81,177,123,114,120,184,123,135,128,72,123,232,106,97,94,140,128,81,117,96,117,107,81,98,146,140,110,122,118,151,145,234,154,16,79,112,127,156,98,79,123,165,149,233,156,122,86,89,88,228,134,188,150,52,79,36,82,74,83,205,83,219,83,6,94,44,100,145,101,127,103,62,108,78,108,72,114,175,114,237,115,84,117,65,126,44,130,233,133,169,140,196,123,198,145,105,113,18,152,239,152,61,99,105,102,106,117,228,118,208,120,67,133,238,134,42,83,81,83,38,84,131,89,135,94,124,95,178,96,73,98,121,98,171,98,144,101,212,107,204,108,178,117,174,118,145,120,216,121,203,125,119,127,165,128,171,136,185,138,187,140,127,144,94,151,219,152,11,106,56,124,153,80,62,92,174,95,135,103,216,107,53,116,9,119,142,127,59,159,202,103,23,122,57,83,139,117,237,154,102,95,157,129,241,131,152,128,60,95,197,95,98,117,70,123,60,144,103,104,235,89,155,90,16,125,126,118,44,139,245,79,106,95,25,106,55,108,2,111,226,116,104,121,104,136,85,138,121,140,223,94,207,99,197,117,210,121,215,130,40,147,242,146,156,132,237,134,45,156,193,84,108,95,140,101,92,109,21,112,167,140,211,140,59,152,79,101,246,116,13,78,216,78,224,87,43,89,102,90,204,91,168,81,3,94,156,94,22,96,118,98,119,101,167,101,110,102,110,109,54,114,38,123,80,129,154,129,153,130,92,139,160,140,230,140,116,141,28,150,68,150,174,79,171,100,102,107,30,130,97,132,106,133,232,144,1,92,83,105,168,152,122,132,87,133,15,79,111,82,169,95,69,94,13,103,143,121,121,129,7,137,134,137,245,109,23,95,85,98,184,108,207,78,105,114,146,155,6,82,59,84,116,86,179,88,164,97,110,98,26,113,110,89,137,124,222,124,27,125,240,150,135,101,94,128,25,78,117,79,117,81,64,88,99,94,115,94,10,95,196,103,38,78,61,133,137,149,91,150,115,124,1,152,251,80,193,88,86,118,167,120,37,82,165,119,17,133,134,123,79,80,9,89,71,114,199,123,232,125,186,143,212,143,77,144,191,79,201,82,41,90,1,95,173,151,221,79,23,130,234,146,3,87,85,99,105,107,43,117,220,136,20,143,66,122,223,82,147,88,85,97,10,98,174,102,205,107,63,124,233,131,35,80,248,79,5,83,70,84,49,88,73,89,157,91,240,92,239,92,41,93,150,94,177,98,103,99,62,101,185,101,11,103,213,108,225,108,249,112,50,120,43,126,222,128,179,130,12,132,236,132,2,135,18,137,42,138,74,140,166,144,210,146,253,152,243,156,108,157,79,78,161,78,141,80,86,82,74,87,168,89,61,94,216,95,217,95,63,98,180,102,27,103,208,103,210,104,146,81,33,125,170,128,168,129,0,139,140,140,191,140,126,146,50,150,32,84,44,152,23,83,213,80,92,83,168,88,178,100,52,103,103,114,102,119,70,122,230,145,195,82,161,108,134,107,0,88,76,94,84,89,44,103,251,127,225,81,198,118,105,100,232,120,84,155,187,158,203,87,185,89,39,102,154,103,206,107,233,84,217,105,85,94,156,129,149,103,170,155,254,103,82,156,93,104,166,78,227,79,200,83,185,98,43,103,171,108,196,143,173,79,109,126,191,158,7,78,98,97,128,110,43,111,19,133,115,84,42,103,69,155,243,93,149,123,172,92,198,91,28,135,74,110,209,132,20,122,8,129,153,89,141,124,17,108,32,119,217,82,34,89,33,113,95,114,219,119,39,151,97,157,11,105,127,90,24,90,165,81,13,84,125,84,14,102,223,118,247,143,152,146,244,156,234,89,93,114,197,110,77,81,201,104,191,125,236,125,98,151,186,158,120,100,33,106,2,131,132,89,95,91,219,107,27,115,242,118,178,125,23,128,153,132,50,81,40,103,217,158,238,118,98,103,255,82,5,153,36,92,59,98,126,124,176,140,79,85,182,96,11,125,128,149,1,83,95,78,182,81,28,89,58,114,54,128,206,145,37,95,226,119,132,83,121,95,4,125,172,133,51,138,141,142,86,151,243,103,174,133,83,148,9,97,8,97,185,108,82,118,237,138,56,143,47,85,81,79,42,81,199,82,203,83,165,91,125,94,160,96,130,97,214,99,9,103,218,103,103,110,140,109,54,115,55,115,49,117,80,121,213,136,152,138,74,144,145,144,245,144,196,150,141,135,21,89,136,78,89,79,14,78,137,138,63,143,16,152,173,80,124,94,150,89,185,91,184,94,218,99,250,99,193,100,220,102,74,105,216,105,11,109,182,110,148,113,40,117,175,122,138,127,0,128,73,132,201,132,129,137,33,139,10,142,101,144,125,150,10,153,126,97,145,98,50,107,131,108,116,109,204,127,252,127,192,109,133,127,186,135,248,136,101,103,177,131,60,152,247,150,27,109,97,125,61,132,106,145,113,78,117,83,80,93,4,107,235,111,205,133,45,134,167,137,41,82,15,84,101,92,78,103,168,104,6,116,131,116,226,117,207,136,225,136,204,145,226,150,120,150,139,95,135,115,203,122,78,132,160,99,101,117,137,82,65,109,156,110,9,116,89,117,107,120,146,124,134,150,220,122,141,159,182,79,110,97,197,101,92,134,134,78,174,78,218,80,33,78,204,81,238,91,153,101,129,104,188,109,31,115,66,118,173,119,28,122,231,124,111,130,210,138,124,144,207,145,117,150,24,152,155,82,209,125,43,80,152,83,151,103,203,109,208,113,51,116,232,129,42,143,163,150,87,156,159,158,96,116,65,88,153,109,47,125,94,152,228,78,54,79,139,79,183,81,177,82,186,93,28,96,178,115,60,121,211,130,52,146,183,150,246,150,10,151,151,158,98,159,166,102,116,107,23,82,163,82,200,112,194,136,201,94,75,96,144,97,35,111,73,113,62,124,244,125,111,128,238,132,35,144,44,147,66,84,111,155,211,106,137,112,194,140,239,141,50,151,180,82,65,90,202,94,4,95,23,103,124,105,148,105,106,109,15,111,98,114,252,114,237,123,1,128,126,128,75,135,206,144,109,81,147,158,132,121,139,128,50,147,214,138,45,80,140,84,113,138,106,107,196,140,7,129,209,96,160,103,242,157,153,78,152,78,16,156,107,138,193,133,104,133,0,105,126,110,151,120,85,129,12,95,16,78,21,78,42,78,49,78,54,78,60,78,63,78,66,78,86,78,88,78,130,78,133,78,107,140,138,78,18,130,13,95,142,78,158,78,159,78,160,78,162,78,176,78,179,78,182,78,206,78,205,78,196,78,198,78,194,78,215,78,222,78,237,78,223,78,247,78,9,79,90,79,48,79,91,79,93,79,87,79,71,79,118,79,136,79,143,79,152,79,123,79,105,79,112,79,145,79,111,79,134,79,150,79,24,81,212,79,223,79,206,79,216,79,219,79,209,79,218,79,208,79,228,79,229,79,26,80,40,80,20,80,42,80,37,80,5,80,28,79,246,79,33,80,41,80,44,80,254,79,239,79,17,80,6,80,67,80,71,80,3,103,85,80,80,80,72,80,90,80,86,80,108,80,120,80,128,80,154,80,133,80,180,80,178,80,201,80,202,80,179,80,194,80,214,80,222,80,229,80,237,80,227,80,238,80,249,80,245,80,9,81,1,81,2,81,22,81,21,81,20,81,26,81,33,81,58,81,55,81,60,81,59,81,63,81,64,81,82,81,76,81,84,81,98,81,248,122,105,81,106,81,110,81,128,81,130,81,216,86,140,81,137,81,143,81,145,81,147,81,149,81,150,81,164,81,166,81,162,81,169,81,170,81,171,81,179,81,177,81,178,81,176,81,181,81,189,81,197,81,201,81,219,81,224,81,85,134,233,81,237,81,240,81,245,81,254,81,4,82,11,82,20,82,14,82,39,82,42,82,46,82,51,82,57,82,79,82,68,82,75,82,76,82,94,82,84,82,106,82,116,82,105,82,115,82,127,82,125,82,141,82,148,82,146,82,113,82,136,82,145,82,168,143,167,143,172,82,173,82,188,82,181,82,193,82,205,82,215,82,222,82,227,82,230,82,237,152,224,82,243,82,245,82,248,82,249,82,6,83,8,83,56,117,13,83,16,83,15,83,21,83,26,83,35,83,47,83,49,83,51,83,56,83,64,83,70,83,69,83,23,78,73,83,77,83,214,81,94,83,105,83,110,83,24,89,123,83,119,83,130,83,150,83,160,83,166,83,165,83,174,83,176,83,182,83,195,83,18,124,217,150,223,83,252,102,238,113,238,83,232,83,237,83,250,83,1,84,61,84,64,84,44,84,45,84,60,84,46,84,54,84,41,84,29,84,78,84,143,84,117,84,142,84,95,84,113,84,119,84,112,84,146,84,123,84,128,84,118,84,132,84,144,84,134,84,199,84,162,84,184,84,165,84,172,84,196,84,200,84,168,84,171,84,194,84,164,84,190,84,188,84,216,84,229,84,230,84,15,85,20,85,253,84,238,84,237,84,250,84,226,84,57,85,64,85,99,85,76,85,46,85,92,85,69,85,86,85,87,85,56,85,51,85,93,85,153,85,128,85,175,84,138,85,159,85,123,85,126,85,152,85,158,85,174,85,124,85,131,85,169,85,135,85,168,85,218,85,197,85,223,85,196,85,220,85,228,85,212,85,20,86,247,85,22,86,254,85,253,85,27,86,249,85,78,86,80,86,223,113,52,86,54,86,50,86,56,86,107,86,100,86,47,86,108,86,106,86,134,86,128,86,138,86,160,86,148,86,143,86,165,86,174,86,182,86,180,86,194,86,188,86,193,86,195,86,192,86,200,86,206,86,209,86,211,86,215,86,238,86,249,86,0,87,255,86,4,87,9,87,8,87,11,87,13,87,19,87,24,87,22,87,199,85,28,87,38,87,55,87,56,87,78,87,59,87,64,87,79,87,105,87,192,87,136,87,97,87,127,87,137,87,147,87,160,87,179,87,164,87,170,87,176,87,195,87,198,87,212,87,210,87,211,87,10,88,214,87,227,87,11,88,25,88,29,88,114,88,33,88,98,88,75,88,112,88,192,107,82,88,61,88,121,88,133,88,185,88,159,88,171,88,186,88,222,88,187,88,184,88,174,88,197,88,211,88,209,88,215,88,217,88,216,88,229,88,220,88,228,88,223,88,239,88,250,88,249,88,251,88,252,88,253,88,2,89,10,89,16,89,27,89,166,104,37,89,44,89,45,89,50,89,56,89,62,89,210,122,85,89,80,89,78,89,90,89,88,89,98,89,96,89,103,89,108,89,105,89,120,89,129,89,157,89,94,79,171,79,163,89,178,89,198,89,232,89,220,89,141,89,217,89,218,89,37,90,31,90,17,90,28,90,9,90,26,90,64,90,108,90,73,90,53,90,54,90,98,90,106,90,154,90,188,90,190,90,203,90,194,90,189,90,227,90,215,90,230,90,233,90,214,90,250,90,251,90,12,91,11,91,22,91,50,91,208,90,42,91,54,91,62,91,67,91,69,91,64,91,81,91,85,91,90,91,91,91,101,91,105,91,112,91,115,91,117,91,120,91,136,101,122,91,128,91,131,91,166,91,184,91,195,91,199,91,201,91,212,91,208,91,228,91,230,91,226,91,222,91,229,91,235,91,240,91,246,91,243,91,5,92,7,92,8,92,13,92,19,92,32,92,34,92,40,92,56,92,57,92,65,92,70,92,78,92,83,92,80,92,79,92,113,91,108,92,110,92,98,78,118,92,121,92,140,92,145,92,148,92,155,89,171,92,187,92,182,92,188,92,183,92,197,92,190,92,199,92,217,92,233,92,253,92,250,92,237,92,140,93,234,92,11,93,21,93,23,93,92,93,31,93,27,93,17,93,20,93,34,93,26,93,25,93,24,93,76,93,82,93,78,93,75,93,108,93,115,93,118,93,135,93,132,93,130,93,162,93,157,93,172,93,174,93,189,93,144,93,183,93,188,93,201,93,205,93,211,93,210,93,214,93,219,93,235,93,242,93,245,93,11,94,26,94,25,94,17,94,27,94,54,94,55,94,68,94,67,94,64,94,78,94,87,94,84,94,95,94,98,94,100,94,71,94,117,94,118,94,122,94,188,158,127,94,160,94,193,94,194,94,200,94,208,94,207,94,214,94,227,94,221,94,218,94,219,94,226,94,225,94,232,94,233,94,236,94,241,94,243,94,240,94,244,94,248,94,254,94,3,95,9,95,93,95,92,95,11,95,17,95,22,95,41,95,45,95,56,95,65,95,72,95,76,95,78,95,47,95,81,95,86,95,87,95,89,95,97,95,109,95,115,95,119,95,131,95,130,95,127,95,138,95,136,95,145,95,135,95,158,95,153,95,152,95,160,95,168,95,173,95,188,95,214,95,251,95,228,95,248,95,241,95,221,95,179,96,255,95,33,96,96,96,25,96,16,96,41,96,14,96,49,96,27,96,21,96,43,96,38,96,15,96,58,96,90,96,65,96,106,96,119,96,95,96,74,96,70,96,77,96,99,96,67,96,100,96,66,96,108,96,107,96,89,96,129,96,141,96,231,96,131,96,154,96,132,96,155,96,150,96,151,96,146,96,167,96,139,96,225,96,184,96,224,96,211,96,180,96,240,95,189,96,198,96,181,96,216,96,77,97,21,97,6,97,246,96,247,96,0,97,244,96,250,96,3,97,33,97,251,96,241,96,13,97,14,97,71,97,62,97,40,97,39,97,74,97,63,97,60,97,44,97,52,97,61,97,66,97,68,97,115,97,119,97,88,97,89,97,90,97,107,97,116,97,111,97,101,97,113,97,95,97,93,97,83,97,117,97,153,97,150,97,135,97,172,97,148,97,154,97,138,97,145,97,171,97,174,97,204,97,202,97,201,97,247,97,200,97,195,97,198,97,186,97,203,97,121,127,205,97,230,97,227,97,246,97,250,97,244,97,255,97,253,97,252,97,254,97,0,98,8,98,9,98,13,98,12,98,20,98,27,98,30,98,33,98,42,98,46,98,48,98,50,98,51,98,65,98,78,98,94,98,99,98,91,98,96,98,104,98,124,98,130,98,137,98,126,98,146,98,147,98,150,98,212,98,131,98,148,98,215,98,209,98,187,98,207,98,255,98,198,98,212,100,200,98,220,98,204,98,202,98,194,98,199,98,155,98,201,98,12,99,238,98,241,98,39,99,2,99,8,99,239,98,245,98,80,99,62,99,77,99,28,100,79,99,150,99,142,99,128,99,171,99,118,99,163,99,143,99,137,99,159,99,181,99,107,99,105,99,190,99,233,99,192,99,198,99,227,99,201,99,210,99,246,99,196,99,22,100,52,100,6,100,19,100,38,100,54,100,29,101,23,100,40,100,15,100,103,100,111,100,118,100,78,100,42,101,149,100,147,100,165,100,169,100,136,100,188,100,218,100,210,100,197,100,199,100,187,100,216,100,194,100,241,100,231,100,9,130,224,100,225,100,172,98,227,100,239,100,44,101,246,100,244,100,242,100,250,100,0,101,253,100,24,101,28,101,5,101,36,101,35,101,43,101,52,101,53,101,55,101,54,101,56,101,75,117,72,101,86,101,85,101,77,101,88,101,94,101,93,101,114,101,120,101,130,101,131,101,138,139,155,101,159,101,171,101,183,101,195,101,198,101,193,101,196,101,204,101,210,101,219,101,217,101,224,101,225,101,241,101,114,103,10,102,3,102,251,101,115,103,53,102,54,102,52,102,28,102,79,102,68,102,73,102,65,102,94,102,93,102,100,102,103,102,104,102,95,102,98,102,112,102,131,102,136,102,142,102,137,102,132,102,152,102,157,102,193,102,185,102,201,102,190,102,188,102,196,102,184,102,214,102,218,102,224,102,63,102,230,102,233,102,240,102,245,102,247,102,15,103,22,103,30,103,38,103,39,103,56,151,46,103,63,103,54,103,65,103,56,103,55,103,70,103,94,103,96,103,89,103,99,103,100,103,137,103,112,103,169,103,124,103,106,103,140,103,139,103,166,103,161,103,133,103,183,103,239,103,180,103,236,103,179,103,233,103,184,103,228,103,222,103,221,103,226,103,238,103,185,103,206,103,198,103,231,103,156,106,30,104,70,104,41,104,64,104,77,104,50,104,78,104,179,104,43,104,89,104,99,104,119,104,127,104,159,104,143,104,173,104,148,104,157,104,155,104,131,104,174,106,185,104,116,104,181,104,160,104,186,104,15,105,141,104,126,104,1,105,202,104,8,105,216,104,34,105,38,105,225,104,12,105,205,104,212,104,231,104,213,104,54,105,18,105,4,105,215,104,227,104,37,105,249,104,224,104,239,104,40,105,42,105,26,105,35,105,33,105,198,104,121,105,119,105,92,105,120,105,107,105,84,105,126,105,110,105,57,105,116,105,61,105,89,105,48,105,97,105,94,105,93,105,129,105,106,105,178,105,174,105,208,105,191,105,193,105,211,105,190,105,206,105,232,91,202,105,221,105,187,105,195,105,167,105,46,106,145,105,160,105,156,105,149,105,180,105,222,105,232,105,2,106,27,106,255,105,10,107,249,105,242,105,231,105,5,106,177,105,30,106,237,105,20,106,235,105,10,106,18,106,193,106,35,106,19,106,68,106,12,106,114,106,54,106,120,106,71,106,98,106,89,106,102,106,72,106,56,106,34,106,144,106,141,106,160,106,132,106,162,106,163,106,151,106,23,134,187,106,195,106,194,106,184,106,179,106,172,106,222,106,209,106,223,106,170,106,218,106,234,106,251,106,5,107,22,134,250,106,18,107,22,107,49,155,31,107,56,107,55,107,220,118,57,107,238,152,71,107,67,107,73,107,80,107,89,107,84,107,91,107,95,107,97,107,120,107,121,107,127,107,128,107,132,107,131,107,141,107,152,107,149,107,158,107,164,107,170,107,171,107,175,107,178,107,177,107,179,107,183,107,188,107,198,107,203,107,211,107,223,107,236,107,235,107,243,107,239,107,190,158,8,108,19,108,20,108,27,108,36,108,35,108,94,108,85,108,98,108,106,108,130,108,141,108,154,108,129,108,155,108,126,108,104,108,115,108,146,108,144,108,196,108,241,108,211,108,189,108,215,108,197,108,221,108,174,108,177,108,190,108,186,108,219,108,239,108,217,108,234,108,31,109,77,136,54,109,43,109,61,109,56,109,25,109,53,109,51,109,18,109,12,109,99,109,147,109,100,109,90,109,121,109,89,109,142,109,149,109,228,111,133,109,249,109,21,110,10,110,181,109,199,109,230,109,184,109,198,109,236,109,222,109,204,109,232,109,210,109,197,109,250,109,217,109,228,109,213,109,234,109,238,109,45,110,110,110,46,110,25,110,114,110,95,110,62,110,35,110,107,110,43,110,118,110,77,110,31,110,67,110,58,110,78,110,36,110,255,110,29,110,56,110,130,110,170,110,152,110,201,110,183,110,211,110,189,110,175,110,196,110,178,110,212,110,213,110,143,110,165,110,194,110,159,110,65,111,17,111,76,112,236,110,248,110,254,110,63,111,242,110,49,111,239,110,50,111,204,110,62,111,19,111,247,110,134,111,122,111,120,111,129,111,128,111,111,111,91,111,243,111,109,111,130,111,124,111,88,111,142,111,145,111,194,111,102,111,179,111,163,111,161,111,164,111,185,111,198,111,170,111,223,111,213,111,236,111,212,111,216,111,241,111,238,111,219,111,9,112,11,112,250,111,17,112,1,112,15,112,254,111,27,112,26,112,116,111,29,112,24,112,31,112,48,112,62,112,50,112,81,112,99,112,153,112,146,112,175,112,241,112,172,112,184,112,179,112,174,112,223,112,203,112,221,112,217,112,9,113,253,112,28,113,25,113,101,113,85,113,136,113,102,113,98,113,76,113,86,113,108,113,143,113,251,113,132,113,149,113,168,113,172,113,215,113,185,113,190,113,210,113,201,113,212,113,206,113,224,113,236,113,231,113,245,113,252,113,249,113,255,113,13,114,16,114,27,114,40,114,45,114,44,114,48,114,50,114,59,114,60,114,63,114,64,114,70,114,75,114,88,114,116,114,126,114,130,114,129,114,135,114,146,114,150,114,162,114,167,114,185,114,178,114,195,114,198,114,196,114,206,114,210,114,226,114,224,114,225,114,249,114,247,114,15,80,23,115,10,115,28,115,22,115,29,115,52,115,47,115,41,115,37,115,62,115,78,115,79,115,216,158,87,115,106,115,104,115,112,115,120,115,117,115,123,115,122,115,200,115,179,115,206,115,187,115,192,115,229,115,238,115,222,115,162,116,5,116,111,116,37,116,248,115,50,116,58,116,85,116,63,116,95,116,89,116,65,116,92,116,105,116,112,116,99,116,106,116,118,116,126,116,139,116,158,116,167,116,202,116,207,116,212,116,241,115,224,116,227,116,231,116,233,116,238,116,242,116,240,116,241,116,248,116,247,116,4,117,3,117,5,117,12,117,14,117,13,117,21,117,19,117,30,117,38,117,44,117,60,117,68,117,77,117,74,117,73,117,91,117,70,117,90,117,105,117,100,117,103,117,107,117,109,117,120,117,118,117,134,117,135,117,116,117,138,117,137,117,130,117,148,117,154,117,157,117,165,117,163,117,194,117,179,117,195,117,181,117,189,117,184,117,188,117,177,117,205,117,202,117,210,117,217,117,227,117,222,117,254,117,255,117,252,117,1,118,240,117,250,117,242,117,243,117,11,118,13,118,9,118,31,118,39,118,32,118,33,118,34,118,36,118,52,118,48,118,59,118,71,118,72,118,70,118,92,118,88,118,97,118,98,118,104,118,105,118,106,118,103,118,108,118,112,118,114,118,118,118,120,118,124,118,128,118,131,118,136,118,139,118,142,118,150,118,147,118,153,118,154,118,176,118,180,118,184,118,185,118,186,118,194,118,205,118,214,118,210,118,222,118,225,118,229,118,231,118,234,118,47,134,251,118,8,119,7,119,4,119,41,119,36,119,30,119,37,119,38,119,27,119,55,119,56,119,71,119,90,119,104,119,107,119,91,119,101,119,127,119,126,119,121,119,142,119,139,119,145,119,160,119,158,119,176,119,182,119,185,119,191,119,188,119,189,119,187,119,199,119,205,119,215,119,218,119,220,119,227,119,238,119,252,119,12,120,18,120,38,121,32,120,42,121,69,120,142,120,116,120,134,120,124,120,154,120,140,120,163,120,181,120,170,120,175,120,209,120,198,120,203,120,212,120,190,120,188,120,197,120,202,120,236,120,231,120,218,120,253,120,244,120,7,121,18,121,17,121,25,121,44,121,43,121,64,121,96,121,87,121,95,121,90,121,85,121,83,121,122,121,127,121,138,121,157,121,167,121,75,159,170,121,174,121,179,121,185,121,186,121,201,121,213,121,231,121,236,121,225,121,227,121,8,122,13,122,24,122,25,122,32,122,31,122,128,121,49,122,59,122,62,122,55,122,67,122,87,122,73,122,97,122,98,122,105,122,157,159,112,122,121,122,125,122,136,122,151,122,149,122,152,122,150,122,169,122,200,122,176,122,182,122,197,122,196,122,191,122,131,144,199,122,202,122,205,122,207,122,213,122,211,122,217,122,218,122,221,122,225,122,226,122,230,122,237,122,240,122,2,123,15,123,10,123,6,123,51,123,24,123,25,123,30,123,53,123,40,123,54,123,80,123,122,123,4,123,77,123,11,123,76,123,69,123,117,123,101,123,116,123,103,123,112,123,113,123,108,123,110,123,157,123,152,123,159,123,141,123,156,123,154,123,139,123,146,123,143,123,93,123,153,123,203,123,193,123,204,123,207,123,180,123,198,123,221,123,233,123,17,124,20,124,230,123,229,123,96,124,0,124,7,124,19,124,243,123,247,123,23,124,13,124,246,123,35,124,39,124,42,124,31,124,55,124,43,124,61,124,76,124,67,124,84,124,79,124,64,124,80,124,88,124,95,124,100,124,86,124,101,124,108,124,117,124,131,124,144,124,164,124,173,124,162,124,171,124,161,124,168,124,179,124,178,124,177,124,174,124,185,124,189,124,192,124,197,124,194,124,216,124,210,124,220,124,226,124,59,155,239,124,242,124,244,124,246,124,250,124,6,125,2,125,28,125,21,125,10,125,69,125,75,125,46,125,50,125,63,125,53,125,70,125,115,125,86,125,78,125,114,125,104,125,110,125,79,125,99,125,147,125,137,125,91,125,143,125,125,125,155,125,186,125,174,125,163,125,181,125,199,125,189,125,171,125,61,126,162,125,175,125,220,125,184,125,159,125,176,125,216,125,221,125,228,125,222,125,251,125,242,125,225,125,5,126,10,126,35,126,33,126,18,126,49,126,31,126,9,126,11,126,34,126,70,126,102,126,59,126,53,126,57,126,67,126,55,126,50,126,58,126,103,126,93,126,86,126,94,126,89,126,90,126,121,126,106,126,105,126,124,126,123,126,131,126,213,125,125,126,174,143,127,126,136,126,137,126,140,126,146,126,144,126,147,126,148,126,150,126,142,126,155,126,156,126,56,127,58,127,69,127,76,127,77,127,78,127,80,127,81,127,85,127,84,127,88,127,95,127,96,127,104,127,105,127,103,127,120,127,130,127,134,127,131,127,136,127,135,127,140,127,148,127,158,127,157,127,154,127,163,127,175,127,178,127,185,127,174,127,182,127,184,127,113,139,197,127,198,127,202,127,213,127,212,127,225,127,230,127,233,127,243,127,249,127,220,152,6,128,4,128,11,128,18,128,24,128,25,128,28,128,33,128,40,128,63,128,59,128,74,128,70,128,82,128,88,128,90,128,95,128,98,128,104,128,115,128,114,128,112,128,118,128,121,128,125,128,127,128,132,128,134,128,133,128,155,128,147,128,154,128,173,128,144,81,172,128,219,128,229,128,217,128,221,128,196,128,218,128,214,128,9,129,239,128,241,128,27,129,41,129,35,129,47,129,75,129,139,150,70,129,62,129,83,129,81,129,252,128,113,129,110,129,101,129,102,129,116,129,131,129,136,129,138,129,128,129,130,129,160,129,149,129,164,129,163,129,95,129,147,129,169,129,176,129,181,129,190,129,184,129,189,129,192,129,194,129,186,129,201,129,205,129,209,129,217,129,216,129,200,129,218,129,223,129,224,129,231,129,250,129,251,129,254,129,1,130,2,130,5,130,7,130,10,130,13,130,16,130,22,130,41,130,43,130,56,130,51,130,64,130,89,130,88,130,93,130,90,130,95,130,100,130,98,130,104,130,106,130,107,130,46,130,113,130,119,130,120,130,126,130,141,130,146,130,171,130,159,130,187,130,172,130,225,130,227,130,223,130,210,130,244,130,243,130,250,130,147,131,3,131,251,130,249,130,222,130,6,131,220,130,9,131,217,130,53,131,52,131,22,131,50,131,49,131,64,131,57,131,80,131,69,131,47,131,43,131,23,131,24,131,133,131,154,131,170,131,159,131,162,131,150,131,35,131,142,131,135,131,138,131,124,131,181,131,115,131,117,131,160,131,137,131,168,131,244,131,19,132,235,131,206,131,253,131,3,132,216,131,11,132,193,131,247,131,7,132,224,131,242,131,13,132,34,132,32,132,189,131,56,132,6,133,251,131,109,132,42,132,60,132,90,133,132,132,119,132,107,132,173,132,110,132,130,132,105,132,70,132,44,132,111,132,121,132,53,132,202,132,98,132,185,132,191,132,159,132,217,132,205,132,187,132,218,132,208,132,193,132,198,132,214,132,161,132,33,133,255,132,244,132,23,133,24,133,44,133,31,133,21,133,20,133,252,132,64,133,99,133,88,133,72,133,65,133,2,134,75,133,85,133,128,133,164,133,136,133,145,133,138,133,168,133,109,133,148,133,155,133,234,133,135,133,156,133,119,133,126,133,144,133,201,133,186,133,207,133,185,133,208,133,213,133,221,133,229,133,220,133,249,133,10,134,19,134,11,134,254,133,250,133,6,134,34,134,26,134,48,134,63,134,77,134,85,78,84,134,95,134,103,134,113,134,147,134,163,134,169,134,170,134,139,134,140,134,182,134,175,134,196,134,198,134,176,134,201,134,35,136,171,134,212,134,222,134,233,134,236,134,223,134,219,134,239,134,18,135,6,135,8,135,0,135,3,135,251,134,17,135,9,135,13,135,249,134,10,135,52,135,63,135,55,135,59,135,37,135,41,135,26,135,96,135,95,135,120,135,76,135,78,135,116,135,87,135,104,135,110,135,89,135,83,135,99,135,106,135,5,136,162,135,159,135,130,135,175,135,203,135,189,135,192,135,208,135,214,150,171,135,196,135,179,135,199,135,198,135,187,135,239,135,242,135,224,135,15,136,13,136,254,135,246,135,247,135,14,136,210,135,17,136,22,136,21,136,34,136,33,136,49,136,54,136,57,136,39,136,59,136,68,136,66,136,82,136,89,136,94,136,98,136,107,136,129,136,126,136,158,136,117,136,125,136,181,136,114,136,130,136,151,136,146,136,174,136,153,136,162,136,141,136,164,136,176,136,191,136,177,136,195,136,196,136,212,136,216,136,217,136,221,136,249,136,2,137,252,136,244,136,232,136,242,136,4,137,12,137,10,137,19,137,67,137,30,137,37,137,42,137,43,137,65,137,68,137,59,137,54,137,56,137,76,137,29,137,96,137,94,137,102,137,100,137,109,137,106,137,111,137,116,137,119,137,126,137,131,137,136,137,138,137,147,137,152,137,161,137,169,137,166,137,172,137,175,137,178,137,186,137,189,137,191,137,192,137,218,137,220,137,221,137,231,137,244,137,248,137,3,138,22,138,16,138,12,138,27,138,29,138,37,138,54,138,65,138,91,138,82,138,70,138,72,138,124,138,109,138,108,138,98,138,133,138,130,138,132,138,168,138,161,138,145,138,165,138,166,138,154,138,163,138,196,138,205,138,194,138,218,138,235,138,243,138,231,138,228,138,241,138,20,139,224,138,226,138,247,138,222,138,219,138,12,139,7,139,26,139,225,138,22,139,16,139,23,139,32,139,51,139,171,151,38,139,43,139,62,139,40,139,65,139,76,139,79,139,78,139,73,139,86,139,91,139,90,139,107,139,95,139,108,139,111,139,116,139,125,139,128,139,140,139,142,139,146,139,147,139,150,139,153,139,154,139,58,140,65,140,63,140,72,140,76,140,78,140,80,140,85,140,98,140,108,140,120,140,122,140,130,140,137,140,133,140,138,140,141,140,142,140,148,140,124,140,152,140,29,98,173,140,170,140,189,140,178,140,179,140,174,140,182,140,200,140,193,140,228,140,227,140,218,140,253,140,250,140,251,140,4,141,5,141,10,141,7,141,15,141,13,141,16,141,78,159,19,141,205,140,20,141,22,141,103,141,109,141,113,141,115,141,129,141,153,141,194,141,190,141,186,141,207,141,218,141,214,141,204,141,219,141,203,141,234,141,235,141,223,141,227,141,252,141,8,142,9,142,255,141,29,142,30,142,16,142,31,142,66,142,53,142,48,142,52,142,74,142,71,142,73,142,76,142,80,142,72,142,89,142,100,142,96,142,42,142,99,142,85,142,118,142,114,142,124,142,129,142,135,142,133,142,132,142,139,142,138,142,147,142,145,142,148,142,153,142,170,142,161,142,172,142,176,142,198,142,177,142,190,142,197,142,200,142,203,142,219,142,227,142,252,142,251,142,235,142,254,142,10,143,5,143,21,143,18,143,25,143,19,143,28,143,31,143,27,143,12,143,38,143,51,143,59,143,57,143,69,143,66,143,62,143,76,143,73,143,70,143,78,143,87,143,92,143,98,143,99,143,100,143,156,143,159,143,163,143,173,143,175,143,183,143,218,143,229,143,226,143,234,143,239,143,135,144,244,143,5,144,249,143,250,143,17,144,21,144,33,144,13,144,30,144,22,144,11,144,39,144,54,144,53,144,57,144,248,143,79,144,80,144,81,144,82,144,14,144,73,144,62,144,86,144,88,144,94,144,104,144,111,144,118,144,168,150,114,144,130,144,125,144,129,144,128,144,138,144,137,144,143,144,168,144,175,144,177,144,181,144,226,144,228,144,72,98,219,144,2,145,18,145,25,145,50,145,48,145,74,145,86,145,88,145,99,145,101,145,105,145,115,145,114,145,139,145,137,145,130,145,162,145,171,145,175,145,170,145,181,145,180,145,186,145,192,145,193,145,201,145,203,145,208,145,214,145,223,145,225,145,219,145,252,145,245,145,246,145,30,146,255,145,20,146,44,146,21,146,17,146,94,146,87,146,69,146,73,146,100,146,72,146,149,146,63,146,75,146,80,146,156,146,150,146,147,146,155,146,90,146,207,146,185,146,183,146,233,146,15,147,250,146,68,147,46,147,25,147,34,147,26,147,35,147,58,147,53,147,59,147,92,147,96,147,124,147,110,147,86,147,176,147,172,147,173,147,148,147,185,147,214,147,215,147,232,147,229,147,216,147,195,147,221,147,208,147,200,147,228,147,26,148,20,148,19,148,3,148,7,148,16,148,54,148,43,148,53,148,33,148,58,148,65,148,82,148,68,148,91,148,96,148,98,148,94,148,106,148,41,146,112,148,117,148,119,148,125,148,90,148,124,148,126,148,129,148,127,148,130,149,135,149,138,149,148,149,150,149,152,149,153,149,160,149,168,149,167,149,173,149,188,149,187,149,185,149,190,149,202,149,246,111,195,149,205,149,204,149,213,149,212,149,214,149,220,149,225,149,229,149,226,149,33,150,40,150,46,150,47,150,66,150,76,150,79,150,75,150,119,150,92,150,94,150,93,150,95,150,102,150,114,150,108,150,141,150,152,150,149,150,151,150,170,150,167,150,177,150,178,150,176,150,180,150,182,150,184,150,185,150,206,150,203,150,201,150,205,150,77,137,220,150,13,151,213,150,249,150,4,151,6,151,8,151,19,151,14,151,17,151,15,151,22,151,25,151,36,151,42,151,48,151,57,151,61,151,62,151,68,151,70,151,72,151,66,151,73,151,92,151,96,151,100,151,102,151,104,151,210,82,107,151,113,151,121,151,133,151,124,151,129,151,122,151,134,151,139,151,143,151,144,151,156,151,168,151,166,151,163,151,179,151,180,151,195,151,198,151,200,151,203,151,220,151,237,151,79,159,242,151,223,122,246,151,245,151,15,152,12,152,56,152,36,152,33,152,55,152,61,152,70,152,79,152,75,152,107,152,111,152,112,152,113,152,116,152,115,152,170,152,175,152,177,152,182,152,196,152,195,152,198,152,233,152,235,152,3,153,9,153,18,153,20,153,24,153,33,153,29,153,30,153,36,153,32,153,44,153,46,153,61,153,62,153,66,153,73,153,69,153,80,153,75,153,81,153,82,153,76,153,85,153,151,153,152,153,165,153,173,153,174,153,188,153,223,153,219,153,221,153,216,153,209,153,237,153,238,153,241,153,242,153,251,153,248,153,1,154,15,154,5,154,226,153,25,154,43,154,55,154,69,154,66,154,64,154,67,154,62,154,85,154,77,154,91,154,87,154,95,154,98,154,101,154,100,154,105,154,107,154,106,154,173,154,176,154,188,154,192,154,207,154,209,154,211,154,212,154,222,154,223,154,226,154,227,154,230,154,239,154,235,154,238,154,244,154,241,154,247,154,251,154,6,155,24,155,26,155,31,155,34,155,35,155,37,155,39,155,40,155,41,155,42,155,46,155,47,155,50,155,68,155,67,155,79,155,77,155,78,155,81,155,88,155,116,155,147,155,131,155,145,155,150,155,151,155,159,155,160,155,168,155,180,155,192,155,202,155,185,155,198,155,207,155,209,155,210,155,227,155,226,155,228,155,212,155,225,155,58,156,242,155,241,155,240,155,21,156,20,156,9,156,19,156,12,156,6,156,8,156,18,156,10,156,4,156,46,156,27,156,37,156,36,156,33,156,48,156,71,156,50,156,70,156,62,156,90,156,96,156,103,156,118,156,120,156,231,156,236,156,240,156,9,157,8,157,235,156,3,157,6,157,42,157,38,157,175,157,35,157,31,157,68,157,21,157,18,157,65,157,63,157,62,157,70,157,72,157,93,157,94,157,100,157,81,157,80,157,89,157,114,157,137,157,135,157,171,157,111,157,122,157,154,157,164,157,169,157,178,157,196,157,193,157,187,157,184,157,186,157,198,157,207,157,194,157,217,157,211,157,248,157,230,157,237,157,239,157,253,157,26,158,27,158,30,158,117,158,121,158,125,158,129,158,136,158,139,158,140,158,146,158,149,158,145,158,157,158,165,158,169,158,184,158,170,158,173,158,97,151,204,158,206,158,207,158,208,158,212,158,220,158,222,158,221,158,224,158,229,158,232,158,239,158,244,158,246,158,247,158,249,158,251,158,252,158,253,158,7,159,8,159,183,118,21,159,33,159,44,159,62,159,74,159,82,159,84,159,99,159,95,159,96,159,97,159,102,159,103,159,108,159,106,159,119,159,114,159,118,159,149,159,156,159,160,159,47,88,199,105,89,144,100,116,220,81,153,113,0,0,2,0,56,0,65,0,67,0,1,0,170,170,170,170,170,170,38,141,1,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,72,0,0,0,72,1,0,0,136,103,1,0,136,103,1,0,112,112,1,0,112,112,1,0,108,114,1,0,108,114,1,0,14,141,1,0,25,0,0,0,22,0,0,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,94,249,250,251,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,254,255,50,105,114,84,1,0,192,8,75,21,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,97,0,105,0,113,0,121,0,48,0,129,0,137,0,145,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,147,0,48,0,48,0,48,0,155,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,163,0,171,0,179,0,187,0,195,0,203,0,211,0,219,0,227,0,235,0,243,0,251,0,3,1,11,1,19,1,27,1,35,1,43,1,51,1,59,1,67,1,74,1,82,1,90,1,98,1,106,1,114,1,122,1,130,1,138,1,146,1,154,1,162,1,170,1,178,1,186,1,194,1,202,1,210,1,218,1,226,1,234,1,242,1,250,1,2,2,10,2,18,2,26,2,34,2,42,2,50,2,58,2,66,2,74,2,82,2,90,2,98,2,104,2,112,2,120,2,128,2,136,2,143,2,151,2,159,2,166,2,174,2,181,2,189,2,197,2,205,2,213,2,221,2,229,2,237,2,245,2,253,2,5,3,13,3,21,3,29,3,37,3,45,3,53,3,61,3,69,3,77,3,85,3,93,3,101,3,109,3,117,3,125,3,133,3,141,3,149,3,157,3,165,3,173,3,181,3,189,3,196,3,204,3,212,3,219,3,227,3,235,3,243,3,251,3,3,4,11,4,19,4,27,4,35,4,43,4,51,4,58,4,66,4,74,4,82,4,90,4,98,4,104,4,112,4,120,4,128,4,136,4,144,4,152,4,160,4,168,4,176,4,184,4,192,4,200,4,208,4,216,4,224,4,232,4,240,4,248,4,0,5,8,5,16,5,24,5,32,5,40,5,48,5,56,5,64,5,72,5,80,5,88,5,96,5,104,5,112,5,120,5,127,5,135,5,143,5,151,5,159,5,167,5,175,5,183,5,191,5,199,5,207,5,215,5,223,5,231,5,239,5,247,5,255,5,7,6,15,6,22,6,30,6,38,6,45,6,53,6,61,6,69,6,77,6,85,6,93,6,101,6,109,6,117,6,125,6,133,6,141,6,149,6,157,6,165,6,173,6,181,6,189,6,197,6,205,6,213,6,221,6,229,6,237,6,245,6,253,6,5,7,13,7,21,7,29,7,37,7,45,7,53,7,61,7,69,7,77,7,85,7,93,7,101,7,109,7,117,7,125,7,133,7,141,7,149,7,157,7,165,7,173,7,181,7,189,7,197,7,205,7,212,7,220,7,228,7,236,7,244,7,252,7,4,8,12,8,18,8,26,8,34,8,42,8,50,8,58,8,66,8,74,8,80,8,88,8,96,8,104,8,111,8,119,8,127,8,135,8,142,8,150,8,158,8,166,8,174,8,182,8,190,8,198,8,206,8,214,8,222,8,230,8,238,8,246,8,254,8,6,9,14,9,22,9,30,9,38,9,46,9,53,9,60,9,68,9,76,9,84,9,92,9,100,9,108,9,116,9,124,9,132,9,140,9,147,9,155,9,163,9,171,9,179,9,187,9,195,9,203,9,211,9,219,9,227,9,234,9,240,9,248,9,0,10,8,10,16,10,24,10,32,10,40,10,48,10,56,10,64,10,72,10,80,10,88,10,96,10,104,10,112,10,120,10,128,10,136,10,144,10,152,10,160,10,168,10,175,10,183,10,191,10,199,10,207,10,215,10,223,10,231,10,239,10,247,10,255,10,7,11,15,11,23,11,31,11,39,11,47,11,55,11,62,11,70,11,77,11,85,11,93,11,101,11,109,11,117,11,125,11,133,11,141,11,149,11,157,11,165,11,173,11,181,11,189,11,197,11,205,11,212,11,220,11,227,11,235,11,243,11,251,11,3,12,11,12,19,12,27,12,35,12,43,12,51,12,59,12,67,12,75,12,83,12,91,12,99,12,107,12,115,12,123,12,131,12,139,12,147,12,155,12,163,12,48,0,48,0,48,0,48,0,171,12,178,12,186,12,194,12,202,12,210,12,218,12,226,12,234,12,242,12,250,12,2,13,10,13,18,13,26,13,34,13,42,13,50,13,58,13,66,13,74,13,82,13,90,13,98,13,106,13,114,13,122,13,130,13,138,13,146,13,154,13,162,13,170,13,178,13,185,13,193,13,201,13,209,13,217,13,225,13,233,13,241,13,249,13,1,14,9,14,17,14,24,14,32,14,40,14,48,14,56,14,64,14,72,14,80,14,88,14,96,14,104,14,112,14,120,14,127,14,135,14,142,14,150,14,158,14,166,14,174,14,182,14,190,14,198,14,206,14,214,14,222,14,230,14,238,14,246,14,254,14,6,15,14,15,22,15,30,15,38,15,46,15,54,15,62,15,70,15,78,15,86,15,94,15,102,15,110,15,118,15,126,15,134,15,142,15,150,15,158,15,166,15,174,15,182,15,190,15,48,0,48,0,48,0,48,0,197,15,205,15,213,15,221,15,229,15,237,15,245,15,253,15,48,0,48,0,4,16,12,16,20,16,28,16,36,16,44,16,52,16,60,16,68,16,76,16,84,16,92,16,100,16,108,16,116,16,124,16,132,16,134,16,142,16,150,16,158,16,166,16,174,16,182,16,190,16,198,16,206,16,214,16,222,16,230,16,237,16,243,16,251,16,3,17,11,17,19,17,27,17,35,17,43,17,51,17,59,17,67,17,75,17,82,17,89,17,97,17,105,17,112,17,120,17,128,17,135,17,143,17,151,17,159,17,167,17,175,17,183,17,191,17,48,0,48,0,48,0,48,0,48,0,48,0,194,17,202,17,210,17,218,17,226,17,228,17,236,17,244,17,252,17,4,18,12,18,20,18,28,18,36,18,44,18,52,18,60,18,68,18,76,18,84,18,92,18,100,18,108,18,116,18,124,18,48,0,130,18,138,18,146,18,154,18,162,18,170,18,48,0,176,18,183,18,191,18,199,18,207,18,214,18,222,18,230,18,48,0,236,18,244,18,252,18,3,19,11,19,19,19,26,19,34,19,42,19,50,19,58,19,65,19,73,19,81,19,89,19,48,0,48,0,48,0,96,19,104,19,112,19,120,19,128,19,135,19,142,19,150,19,157,19,165,19,48,0,48,0,173,19,181,19,189,19,197,19,205,19,213,19,221,19,229,19,237,19,243,19,251,19,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,58,21,88,0,48,0,48,0,80,0,80,0,80,0,66,21,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,3,20,11,20,19,20,27,20,35,20,43,20,51,20,59,20,67,20,75,20,83,20,91,20,99,20,107,20,115,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,123,20,16,0,131,20,139,20,147,20,155,20,163,20,171,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,179,20,187,20,195,20,203,20,211,20,219,20,227,20,235,20,243,20,251,20,3,21,11,21,19,21,27,21,34,21,42,21,50,21,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,14,0,202,193,14,0,202,226,14,0,202,3,15,0,202,36,15,0,202,69,15,0,202,102,15,0,202,135,15,0,202,168,15,0,202,201,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,13,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,14,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,14,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,200,0,0,0,200,32,63,0,197,162,13,0,192,0,0,0,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,198,129,0,0,198,161,0,0,198,193,0,0,198,225,0,0,198,1,1,0,198,33,1,0,198,65,1,0,198,98,1,0,198,161,1,0,198,194,1,0,198,1,2,0,198,34,2,0,198,97,2,0,198,130,2,0,198,193,2,0,198,226,2,0,198,33,3,0,198,66,3,0,198,129,3,0,198,162,3,0,198,225,3,0,198,2,4,0,198,65,4,0,198,98,4,0,198,161,4,0,198,194,4,0,198,1,5,0,198,34,5,0,198,97,5,0,198,130,5,0,198,193,5,0,198,225,5,0,198,2,6,0,198,65,6,0,198,98,6,0,198,161,6,0,198,194,6,0,198,1,7,0,198,33,7,0,198,65,7,0,198,97,7,0,198,129,7,0,198,161,7,0,198,194,7,0,198,2,8,0,198,65,8,0,198,98,8,0,198,162,8,0,198,225,8,0,198,2,9,0,198,66,9,0,198,129,9,0,198,162,9,0,198,226,9,0,198,33,10,0,198,66,10,0,198,130,10,0,198,193,10,0,198,225,10,0,198,1,11,0,198,33,11,0,198,65,11,0,198,97,11,0,198,129,11,0,198,161,11,0,198,193,11,0,198,225,11,0,198,1,12,0,198,33,12,0,198,65,12,0,198,97,12,0,198,129,12,0,198,161,12,0,198,193,12,0,198,225,12,0,198,1,13,0,198,33,13,0,198,65,13,0,198,97,13,0,198,130,13,0,198,193,13,0,198,225,13,0,198,2,14,0,198,66,14,0,198,130,14,0,198,194,14,0,192,0,0,0,200,0,113,0,200,224,3,1,200,0,87,1,198,66,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,5,5,8,121,5,5,183,121,5,5,10,121,5,5,187,121,5,5,189,121,5,5,12,121,5,5,14,121,5,5,16,121,5,5,195,121,5,5,197,121,5,5,199,121,5,5,201,121,5,5,203,121,5,5,205,121,5,5,52,121,5,5,18,121,5,5,20,121,5,5,22,121,5,5,66,121,5,5,24,121,5,5,26,121,5,5,28,121,5,5,30,121,5,5,32,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,5,5,105,121,5,5,107,121,5,5,109,121,5,5,111,121,5,5,113,121,5,5,115,121,5,5,117,121,5,5,119,121,5,5,121,121,5,5,123,121,5,5,125,121,5,5,127,121,5,5,129,121,5,5,131,121,5,5,133,121,5,5,135,121,5,5,137,121,5,5,139,121,5,5,141,121,5,5,143,121,193,247,101,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,13,5,5,123,13,5,5,122,13,5,5,121,13,192,0,0,0,5,5,0,202,5,5,254,232,192,0,0,0,5,5,37,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,235,5,5,18,231,5,5,190,229,5,5,17,231,5,5,118,226,192,0,0,0,5,5,18,235,5,5,119,236,192,0,0,0,5,5,75,237,5,5,11,226,192,0,0,0,192,0,0,0,5,5,8,227,5,5,76,237,5,5,140,231,5,5,41,238,5,5,172,227,5,5,86,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,231,192,0,0,0,192,0,0,0,5,5,212,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,237,192,0,0,0,192,0,0,0,5,5,234,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,237,5,5,48,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,237,192,0,0,0,5,5,85,227,5,5,180,232,192,0,0,0,5,5,85,230,5,5,80,237,192,0,0,0,192,0,0,0,5,5,81,237,192,0,0,0,192,0,0,0,5,5,82,237,5,5,53,234,192,0,0,0,5,5,173,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,234,192,0,0,0,5,5,5,234,5,5,181,228,5,5,173,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,246,5,5,83,237,5,5,20,231,5,5,84,237,5,5,111,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,228,5,5,226,228,5,5,67,236,192,0,0,0,192,0,0,0,5,5,135,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,236,192,0,0,0,5,5,31,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,227,192,0,0,0,5,5,139,227,192,0,0,0,5,5,85,237,192,0,0,0,192,0,0,0,5,5,86,237,5,5,209,236,192,0,0,0,5,5,117,236,5,5,48,232,5,5,88,237,5,5,6,230,5,5,21,234,192,0,0,0,5,5,91,237,192,0,0,0,192,0,0,0,5,5,26,226,5,5,209,228,192,0,0,0,5,5,208,228,5,5,0,196,192,0,0,0,192,0,0,0,5,5,65,237,5,5,64,237,192,0,0,0,5,5,99,229,5,5,0,127,192,0,0,0,5,5,92,237,5,5,93,237,5,5,94,237,5,5,174,235,5,5,95,237,192,0,0,0,5,5,228,228,5,5,0,197,5,5,236,235,192,0,0,0,5,5,210,227,192,0,0,0,192,0,0,0,5,5,211,227,5,5,212,227,5,5,70,233,5,5,210,236,192,0,0,0,5,5,96,237,192,0,0,0,192,0,0,0,5,5,97,237,192,0,0,0,192,0,0,0,5,5,98,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,230,5,5,88,231,5,5,103,237,192,0,0,0,5,5,101,237,192,0,0,0,5,5,102,237,5,5,174,227,192,0,0,0,192,0,0,0,5,5,83,229,5,5,170,226,192,0,0,0,5,5,100,237,5,5,99,237,5,5,69,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,229,5,5,211,229,5,5,100,232,5,5,104,237,5,5,19,235,5,5,207,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,237,5,5,107,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,232,5,5,247,236,5,5,0,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,237,5,5,120,226,192,0,0,0,5,5,248,227,192,0,0,0,5,5,235,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,228,5,5,108,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,237,5,5,0,169,192,0,0,0,192,0,0,0,5,5,210,228,5,5,100,227,5,5,56,235,5,5,144,234,5,5,175,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,226,192,0,0,0,5,5,144,237,5,5,131,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,234,5,5,111,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,234,192,0,0,0,5,5,248,236,192,0,0,0,5,5,55,231,192,0,0,0,5,5,213,229,192,0,0,0,5,5,7,230,5,5,122,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,233,192,0,0,0,192,0,0,0,5,5,166,232,5,5,115,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,170,5,5,71,233,5,5,135,230,5,5,100,229,5,5,92,236,192,0,0,0,5,5,116,232,192,0,0,0,5,5,121,226,192,0,0,0,5,5,114,237,192,0,0,0,5,5,118,236,5,5,110,237,5,5,112,237,5,5,158,229,5,5,113,237,5,5,39,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,237,5,5,122,237,192,0,0,0,192,0,0,0,5,5,124,226,192,0,0,0,5,5,87,235,5,5,116,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,237,5,5,229,228,192,0,0,0,192,0,0,0,5,5,214,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,227,192,0,0,0,192,0,0,0,5,5,125,237,192,0,0,0,5,5,117,237,192,0,0,0,192,0,0,0,5,5,249,236,192,0,0,0,5,5,8,230,192,0,0,0,5,5,118,237,192,0,0,0,5,5,123,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,237,192,0,0,0,5,5,119,237,192,0,0,0,192,0,0,0,5,5,213,227,192,0,0,0,5,5,0,171,192,0,0,0,192,0,0,0,5,5,214,227,5,5,123,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,239,192,0,0,0,5,5,243,235,5,5,44,235,5,5,230,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,231,5,5,205,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,235,192,0,0,0,192,0,0,0,5,5,76,228,5,5,75,232,5,5,158,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,237,192,0,0,0,5,5,135,237,5,5,133,237,192,0,0,0,192,0,0,0,5,5,128,237,192,0,0,0,192,0,0,0,5,5,85,232,5,5,131,237,192,0,0,0,5,5,134,237,5,5,132,237,192,0,0,0,5,5,121,235,192,0,0,0,5,5,129,237,192,0,0,0,5,5,56,231,192,0,0,0,5,5,237,235,5,5,136,237,5,5,137,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,230,5,5,150,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,234,192,0,0,0,5,5,242,234,5,5,145,237,192,0,0,0,5,5,140,235,192,0,0,0,5,5,112,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,237,5,5,152,237,192,0,0,0,192,0,0,0,5,5,26,232,192,0,0,0,5,5,182,228,192,0,0,0,5,5,92,234,192,0,0,0,5,5,92,243,192,0,0,0,5,5,151,237,5,5,159,233,192,0,0,0,5,5,140,237,192,0,0,0,5,5,232,228,192,0,0,0,192,0,0,0,5,5,231,228,5,5,138,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,230,192,0,0,0,5,5,146,237,192,0,0,0,5,5,139,235,5,5,209,232,5,5,142,237,5,5,133,228,192,0,0,0,5,5,139,237,5,5,147,237,5,5,141,237,5,5,231,236,5,5,148,237,5,5,55,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,228,192,0,0,0,192,0,0,0,5,5,132,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,237,5,5,158,237,5,5,0,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,235,5,5,157,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,237,5,5,160,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,237,192,0,0,0,5,5,72,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,230,192,0,0,0,5,5,76,232,5,5,73,233,5,5,44,228,192,0,0,0,5,5,162,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,227,192,0,0,0,192,0,0,0,5,5,163,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,229,5,5,213,234,5,5,164,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,229,5,5,123,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,237,5,5,170,237,5,5,166,237,5,5,116,229,192,0,0,0,5,5,201,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,237,192,0,0,0,192,0,0,0,5,5,5,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,237,5,5,169,237,192,0,0,0,192,0,0,0,5,5,207,233,192,0,0,0,5,5,68,232,192,0,0,0,5,5,215,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,235,5,5,172,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,237,192,0,0,0,5,5,174,237,192,0,0,0,5,5,22,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,237,5,5,177,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,237,192,0,0,0,5,5,100,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,227,5,5,181,237,5,5,182,237,192,0,0,0,5,5,105,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,230,192,0,0,0,5,5,185,237,5,5,184,237,5,5,183,237,192,0,0,0,5,5,127,237,192,0,0,0,5,5,186,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,230,192,0,0,0,5,5,187,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,237,192,0,0,0,192,0,0,0,5,5,188,237,5,5,191,237,5,5,190,237,192,0,0,0,192,0,0,0,5,5,192,237,5,5,193,237,5,5,0,210,192,0,0,0,5,5,167,228,5,5,79,228,5,5,136,230,5,5,255,232,5,5,216,227,5,5,208,231,5,5,233,228,192,0,0,0,5,5,64,229,5,5,195,237,5,5,34,236,5,5,136,233,192,0,0,0,5,5,9,230,192,0,0,0,5,5,194,237,192,0,0,0,5,5,196,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,233,192,0,0,0,5,5,15,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,237,192,0,0,0,192,0,0,0,5,5,32,234,192,0,0,0,192,0,0,0,5,5,250,231,5,5,199,237,5,5,200,237,5,5,138,234,5,5,234,228,5,5,49,237,5,5,201,237,192,0,0,0,192,0,0,0,5,5,218,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,235,5,5,92,232,5,5,39,228,5,5,119,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,237,192,0,0,0,5,5,203,237,192,0,0,0,192,0,0,0,5,5,4,234,5,5,59,226,192,0,0,0,192,0,0,0,5,5,206,237,5,5,173,229,192,0,0,0,5,5,205,237,5,5,118,229,192,0,0,0,5,5,207,237,5,5,187,245,5,5,208,237,5,5,187,235,5,5,209,237,192,0,0,0,5,5,210,237,5,5,211,237,5,5,21,231,192,0,0,0,5,5,58,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,227,192,0,0,0,5,5,214,237,192,0,0,0,5,5,212,237,5,5,23,236,5,5,213,237,192,0,0,0,5,5,24,235,5,5,215,237,5,5,216,237,5,5,217,237,5,5,161,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,237,5,5,219,237,5,5,220,237,5,5,218,237,5,5,147,229,5,5,222,237,5,5,68,236,5,5,250,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,231,5,5,224,237,5,5,166,230,192,0,0,0,192,0,0,0,5,5,225,237,192,0,0,0,5,5,2,233,5,5,213,236,5,5,162,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,237,5,5,160,250,5,5,249,227,192,0,0,0,192,0,0,0,5,5,227,237,5,5,216,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,230,5,5,162,232,192,0,0,0,5,5,229,237,5,5,6,234,192,0,0,0,192,0,0,0,5,5,230,237,192,0,0,0,192,0,0,0,5,5,231,237,5,5,198,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,237,5,5,219,227,192,0,0,0,5,5,236,233,5,5,86,226,5,5,156,230,192,0,0,0,192,0,0,0,5,5,127,234,5,5,233,237,192,0,0,0,5,5,163,233,192,0,0,0,192,0,0,0,5,5,89,231,5,5,234,237,192,0,0,0,5,5,72,235,5,5,194,231,5,5,26,227,192,0,0,0,5,5,33,227,5,5,235,237,192,0,0,0,192,0,0,0,5,5,237,237,192,0,0,0,192,0,0,0,5,5,78,228,192,0,0,0,192,0,0,0,5,5,236,237,192,0,0,0,192,0,0,0,5,5,11,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,234,5,5,104,235,192,0,0,0,5,5,238,237,192,0,0,0,5,5,176,236,5,5,239,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,237,192,0,0,0,5,5,192,233,192,0,0,0,192,0,0,0,5,5,241,237,192,0,0,0,192,0,0,0,5,5,145,231,5,5,174,229,5,5,136,228,5,5,242,237,5,5,215,229,5,5,65,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,233,5,5,244,237,192,0,0,0,192,0,0,0,5,5,77,232,192,0,0,0,192,0,0,0,5,5,159,229,5,5,245,237,5,5,246,237,5,5,246,231,192,0,0,0,5,5,243,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,237,192,0,0,0,5,5,176,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,229,192,0,0,0,192,0,0,0,5,5,247,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,228,5,5,142,229,5,5,109,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,237,5,5,249,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,235,5,5,22,231,5,5,4,238,5,5,252,226,5,5,252,237,5,5,250,237,5,5,23,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,237,192,0,0,0,5,5,253,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,228,5,5,5,238,5,5,195,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,238,5,5,3,238,192,0,0,0,5,5,2,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,228,5,5,125,226,192,0,0,0,192,0,0,0,5,5,12,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,230,5,5,154,233,5,5,55,229,5,5,9,238,5,5,10,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,236,192,0,0,0,192,0,0,0,5,5,33,237,5,5,12,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,228,192,0,0,0,192,0,0,0,5,5,11,238,192,0,0,0,5,5,199,226,192,0,0,0,192,0,0,0,5,5,13,238,192,0,0,0,5,5,208,235,192,0,0,0,5,5,32,233,192,0,0,0,5,5,94,236,192,0,0,0,5,5,117,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,249,192,0,0,0,192,0,0,0,5,5,208,233,192,0,0,0,5,5,15,238,5,5,34,227,5,5,13,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,230,5,5,16,238,5,5,131,235,5,5,20,238,192,0,0,0,5,5,146,231,5,5,17,238,5,5,6,228,192,0,0,0,5,5,18,238,5,5,35,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,228,5,5,21,238,192,0,0,0,5,5,22,238,192,0,0,0,192,0,0,0,5,5,23,238,5,5,24,238,5,5,73,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,228,5,5,56,236,192,0,0,0,5,5,66,236,5,5,25,234,192,0,0,0,192,0,0,0,5,5,141,235,5,5,25,238,192,0,0,0,5,5,26,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,238,192,0,0,0,5,5,30,238,5,5,29,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,238,5,5,119,226,5,5,198,235,192,0,0,0,5,5,172,229,5,5,32,238,192,0,0,0,192,0,0,0,5,5,33,232,192,0,0,0,192,0,0,0,5,5,204,230,5,5,221,227,192,0,0,0,5,5,33,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,238,192,0,0,0,5,5,35,238,192,0,0,0,5,5,36,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,238,5,5,224,234,5,5,30,228,5,5,0,195,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,233,5,5,38,238,5,5,137,230,192,0,0,0,5,5,209,231,192,0,0,0,5,5,40,238,5,5,39,238,5,5,205,230,5,5,211,228,5,5,42,238,5,5,156,234,192,0,0,0,192,0,0,0,5,5,43,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,234,5,5,90,232,5,5,148,232,5,5,220,227,192,0,0,0,192,0,0,0,5,5,16,234,5,5,181,232,192,0,0,0,5,5,110,234,192,0,0,0,5,5,200,235,192,0,0,0,5,5,45,238,192,0,0,0,5,5,210,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,228,192,0,0,0,192,0,0,0,5,5,46,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,238,5,5,8,226,5,5,0,211,5,5,101,227,192,0,0,0,5,5,78,232,5,5,167,227,5,5,169,236,192,0,0,0,5,5,50,238,5,5,113,226,192,0,0,0,192,0,0,0,5,5,49,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,227,192,0,0,0,192,0,0,0,5,5,51,238,192,0,0,0,5,5,75,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,238,192,0,0,0,5,5,232,236,192,0,0,0,5,5,238,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,228,5,5,53,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,238,5,5,54,238,192,0,0,0,5,5,105,231,5,5,21,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,226,5,5,56,238,192,0,0,0,5,5,57,238,192,0,0,0,192,0,0,0,5,5,169,228,192,0,0,0,192,0,0,0,5,5,58,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,229,5,5,59,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,235,5,5,101,229,5,5,176,227,5,5,95,236,5,5,24,232,5,5,157,234,5,5,107,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,230,192,0,0,0,5,5,86,230,5,5,99,230,192,0,0,0,5,5,194,230,192,0,0,0,5,5,158,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,238,192,0,0,0,5,5,31,226,5,5,25,232,5,5,239,228,5,5,183,228,5,5,29,228,192,0,0,0,192,0,0,0,5,5,66,238,5,5,165,232,5,5,164,232,5,5,223,227,5,5,206,230,5,5,67,238,5,5,65,238,5,5,126,226,5,5,140,232,5,5,38,230,5,5,217,229,5,5,2,226,192,0,0,0,192,0,0,0,5,5,10,227,5,5,56,229,5,5,216,229,192,0,0,0,5,5,68,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,238,192,0,0,0,5,5,159,227,5,5,222,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,229,5,5,158,227,5,5,67,233,5,5,0,225,5,5,209,233,5,5,24,236,5,5,241,228,5,5,177,236,5,5,137,233,5,5,240,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,228,192,0,0,0,5,5,78,238,192,0,0,0,5,5,25,228,5,5,196,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,234,192,0,0,0,192,0,0,0,5,5,77,238,192,0,0,0,5,5,86,227,5,5,72,238,5,5,73,238,5,5,75,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,238,192,0,0,0,5,5,177,227,5,5,107,231,192,0,0,0,5,5,73,235,5,5,74,238,5,5,70,238,5,5,213,228,192,0,0,0,5,5,71,238,192,0,0,0,5,5,26,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,235,192,0,0,0,5,5,76,233,5,5,212,228,5,5,66,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,238,192,0,0,0,192,0,0,0,5,5,253,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,230,192,0,0,0,5,5,100,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,238,5,5,84,238,192,0,0,0,5,5,251,235,192,0,0,0,5,5,81,238,5,5,90,238,5,5,85,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,238,5,5,184,228,5,5,25,236,192,0,0,0,192,0,0,0,5,5,89,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,238,192,0,0,0,5,5,93,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,229,5,5,56,237,192,0,0,0,5,5,82,238,5,5,80,238,5,5,92,238,192,0,0,0,5,5,87,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,238,192,0,0,0,5,5,104,238,5,5,97,238,192,0,0,0,192,0,0,0,5,5,101,238,192,0,0,0,192,0,0,0,5,5,102,238,5,5,98,238,192,0,0,0,192,0,0,0,5,5,131,238,192,0,0,0,192,0,0,0,5,5,153,229,5,5,201,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,238,5,5,0,212,5,5,105,238,192,0,0,0,5,5,0,131,5,5,8,235,5,5,103,238,192,0,0,0,5,5,99,238,192,0,0,0,192,0,0,0,5,5,94,238,5,5,100,238,5,5,120,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,213,5,5,116,238,192,0,0,0,192,0,0,0,5,5,108,238,5,5,109,238,192,0,0,0,5,5,207,230,5,5,227,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,238,5,5,113,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,238,192,0,0,0,192,0,0,0,5,5,112,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,226,192,0,0,0,5,5,102,229,5,5,58,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,238,5,5,164,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,238,192,0,0,0,5,5,0,128,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,238,5,5,91,236,192,0,0,0,5,5,209,230,192,0,0,0,5,5,127,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,238,5,5,117,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,232,192,0,0,0,5,5,118,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,232,5,5,123,238,5,5,208,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,238,192,0,0,0,192,0,0,0,5,5,62,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,228,192,0,0,0,192,0,0,0,5,5,124,238,5,5,125,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,238,5,5,128,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,238,5,5,139,238,192,0,0,0,5,5,135,238,192,0,0,0,5,5,130,238,192,0,0,0,192,0,0,0,5,5,140,238,5,5,247,231,192,0,0,0,192,0,0,0,5,5,142,238,192,0,0,0,5,5,242,228,5,5,132,238,5,5,3,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,238,5,5,129,238,5,5,37,227,192,0,0,0,5,5,102,227,5,5,253,226,5,5,137,238,5,5,133,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,228,5,5,143,238,5,5,141,238,5,5,27,232,5,5,160,227,5,5,224,227,192,0,0,0,5,5,138,238,192,0,0,0,5,5,42,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,238,5,5,145,238,192,0,0,0,5,5,202,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,238,192,0,0,0,5,5,148,238,192,0,0,0,192,0,0,0,5,5,146,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,229,5,5,149,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,238,192,0,0,0,5,5,157,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,238,5,5,154,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,232,192,0,0,0,192,0,0,0,5,5,127,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,238,192,0,0,0,5,5,153,238,5,5,210,230,5,5,15,226,192,0,0,0,192,0,0,0,5,5,156,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,238,192,0,0,0,5,5,40,231,5,5,163,238,192,0,0,0,5,5,161,238,192,0,0,0,5,5,162,238,192,0,0,0,5,5,164,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,231,192,0,0,0,5,5,158,238,192,0,0,0,5,5,159,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,227,192,0,0,0,5,5,169,238,5,5,165,238,5,5,168,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,233,192,0,0,0,5,5,150,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,238,5,5,221,226,192,0,0,0,192,0,0,0,5,5,172,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,238,192,0,0,0,5,5,57,234,192,0,0,0,192,0,0,0,5,5,176,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,238,192,0,0,0,5,5,178,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,238,5,5,182,238,5,5,180,238,5,5,183,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,238,192,0,0,0,192,0,0,0,5,5,187,238,192,0,0,0,5,5,188,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,238,5,5,204,237,192,0,0,0,5,5,106,230,5,5,219,229,192,0,0,0,192,0,0,0,5,5,173,226,192,0,0,0,5,5,0,214,192,0,0,0,192,0,0,0,5,5,200,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,238,192,0,0,0,5,5,84,229,192,0,0,0,5,5,0,173,5,5,104,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,238,5,5,185,228,192,0,0,0,192,0,0,0,5,5,67,229,192,0,0,0,5,5,193,238,5,5,192,238,192,0,0,0,192,0,0,0,5,5,124,235,5,5,194,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,238,5,5,195,238,192,0,0,0,5,5,197,238,192,0,0,0,5,5,198,238,192,0,0,0,5,5,139,228,192,0,0,0,192,0,0,0,5,5,60,226,5,5,199,238,192,0,0,0,192,0,0,0,5,5,201,238,192,0,0,0,5,5,200,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,238,192,0,0,0,192,0,0,0,5,5,156,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,238,5,5,0,147,5,5,143,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,228,192,0,0,0,192,0,0,0,5,5,211,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,238,5,5,206,238,192,0,0,0,192,0,0,0,5,5,208,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,238,192,0,0,0,5,5,148,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,228,192,0,0,0,192,0,0,0,5,5,177,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,238,5,5,210,238,5,5,113,229,5,5,243,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,238,192,0,0,0,192,0,0,0,5,5,85,229,192,0,0,0,5,5,183,232,192,0,0,0,192,0,0,0,5,5,211,238,5,5,62,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,238,192,0,0,0,192,0,0,0,5,5,108,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,238,5,5,216,238,192,0,0,0,5,5,83,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,238,192,0,0,0,5,5,244,228,5,5,216,226,5,5,220,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,238,192,0,0,0,192,0,0,0,5,5,219,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,238,192,0,0,0,192,0,0,0,5,5,223,238,192,0,0,0,192,0,0,0,5,5,224,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,235,192,0,0,0,192,0,0,0,5,5,23,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,238,5,5,227,238,5,5,225,238,192,0,0,0,5,5,229,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,234,192,0,0,0,192,0,0,0,5,5,0,198,5,5,20,235,192,0,0,0,192,0,0,0,5,5,230,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,231,192,0,0,0,192,0,0,0,5,5,39,230,192,0,0,0,5,5,93,234,5,5,104,227,192,0,0,0,5,5,155,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,235,192,0,0,0,5,5,210,233,192,0,0,0,192,0,0,0,5,5,140,228,5,5,117,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,238,5,5,231,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,238,192,0,0,0,192,0,0,0,5,5,77,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,250,5,5,61,226,5,5,143,235,192,0,0,0,192,0,0,0,5,5,24,231,5,5,138,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,229,192,0,0,0,192,0,0,0,5,5,241,238,192,0,0,0,192,0,0,0,5,5,89,235,5,5,243,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,226,5,5,237,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,232,5,5,240,238,192,0,0,0,5,5,165,233,192,0,0,0,192,0,0,0,5,5,139,233,5,5,166,233,5,5,151,234,5,5,49,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,226,192,0,0,0,5,5,120,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,238,192,0,0,0,5,5,234,238,192,0,0,0,192,0,0,0,5,5,90,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,227,192,0,0,0,5,5,243,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,233,192,0,0,0,192,0,0,0,5,5,245,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,235,192,0,0,0,192,0,0,0,5,5,246,238,192,0,0,0,192,0,0,0,5,5,251,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,238,5,5,244,238,5,5,247,238,5,5,249,238,192,0,0,0,192,0,0,0,5,5,86,229,192,0,0,0,192,0,0,0,5,5,101,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,238,192,0,0,0,5,5,201,232,192,0,0,0,192,0,0,0,5,5,175,226,192,0,0,0,5,5,25,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,238,192,0,0,0,5,5,253,238,192,0,0,0,5,5,58,229,192,0,0,0,5,5,255,238,5,5,3,239,5,5,2,239,192,0,0,0,192,0,0,0,5,5,5,239,192,0,0,0,5,5,248,238,5,5,7,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,239,5,5,4,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,229,5,5,91,231,192,0,0,0,5,5,28,232,5,5,8,239,5,5,164,231,5,5,0,203,5,5,100,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,233,192,0,0,0,5,5,10,239,5,5,9,239,5,5,11,239,5,5,12,239,5,5,13,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,235,5,5,15,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,226,5,5,16,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,236,5,5,200,226,192,0,0,0,5,5,48,238,5,5,148,230,5,5,101,232,5,5,17,239,5,5,69,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,236,192,0,0,0,192,0,0,0,5,5,19,239,192,0,0,0,5,5,141,232,192,0,0,0,5,5,121,233,5,5,102,232,5,5,21,235,5,5,20,239,5,5,21,239,5,5,87,226,192,0,0,0,192,0,0,0,5,5,40,230,5,5,22,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,174,5,5,23,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,226,192,0,0,0,192,0,0,0,5,5,105,227,5,5,2,234,5,5,144,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,239,5,5,29,232,5,5,27,239,5,5,84,228,192,0,0,0,192,0,0,0,5,5,213,235,5,5,26,239,192,0,0,0,5,5,167,233,5,5,30,239,192,0,0,0,5,5,29,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,239,192,0,0,0,5,5,31,239,192,0,0,0,192,0,0,0,5,5,88,226,192,0,0,0,5,5,33,239,5,5,211,230,5,5,35,239,5,5,169,232,192,0,0,0,5,5,34,239,192,0,0,0,5,5,79,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,230,5,5,157,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,239,5,5,33,234,5,5,188,234,5,5,43,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,234,192,0,0,0,192,0,0,0,5,5,46,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,227,192,0,0,0,192,0,0,0,5,5,125,236,192,0,0,0,192,0,0,0,5,5,9,236,192,0,0,0,5,5,141,239,192,0,0,0,5,5,38,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,239,192,0,0,0,5,5,107,232,192,0,0,0,192,0,0,0,5,5,178,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,235,192,0,0,0,5,5,122,229,192,0,0,0,192,0,0,0,5,5,212,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,239,192,0,0,0,192,0,0,0,5,5,222,229,192,0,0,0,5,5,221,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,151,5,5,186,228,192,0,0,0,5,5,147,231,5,5,0,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,239,5,5,48,239,192,0,0,0,5,5,45,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,226,5,5,39,227,192,0,0,0,5,5,44,239,192,0,0,0,5,5,31,236,5,5,237,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,134,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,229,192,0,0,0,5,5,0,176,192,0,0,0,5,5,0,129,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,236,192,0,0,0,5,5,54,239,192,0,0,0,5,5,52,239,192,0,0,0,192,0,0,0,5,5,50,239,5,5,59,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,239,5,5,59,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,239,5,5,34,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,234,192,0,0,0,192,0,0,0,5,5,57,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,239,192,0,0,0,5,5,56,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,239,5,5,238,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,239,5,5,67,239,5,5,64,239,192,0,0,0,192,0,0,0,5,5,129,226,5,5,66,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,230,192,0,0,0,5,5,65,239,5,5,141,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,239,5,5,69,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,232,192,0,0,0,5,5,68,239,192,0,0,0,192,0,0,0,5,5,70,239,192,0,0,0,192,0,0,0,5,5,71,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,239,5,5,74,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,227,192,0,0,0,5,5,76,239,5,5,75,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,239,192,0,0,0,5,5,64,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,226,192,0,0,0,5,5,78,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,239,192,0,0,0,5,5,85,239,192,0,0,0,192,0,0,0,5,5,83,239,192,0,0,0,5,5,84,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,229,5,5,86,239,192,0,0,0,192,0,0,0,5,5,246,228,5,5,87,239,192,0,0,0,5,5,10,230,5,5,94,232,192,0,0,0,5,5,88,239,5,5,89,239,5,5,232,229,5,5,247,228,192,0,0,0,5,5,44,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,227,5,5,187,228,5,5,90,239,5,5,240,226,192,0,0,0,192,0,0,0,5,5,91,239,192,0,0,0,5,5,95,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,239,5,5,132,239,192,0,0,0,5,5,93,239,192,0,0,0,5,5,94,239,192,0,0,0,192,0,0,0,5,5,95,239,192,0,0,0,5,5,97,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,239,192,0,0,0,192,0,0,0,5,5,99,239,192,0,0,0,5,5,150,232,192,0,0,0,5,5,3,226,5,5,87,230,5,5,0,160,192,0,0,0,5,5,31,232,5,5,40,227,5,5,35,230,192,0,0,0,5,5,248,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,233,192,0,0,0,5,5,109,230,5,5,41,227,5,5,236,232,5,5,78,233,5,5,0,150,5,5,143,227,5,5,145,235,192,0,0,0,5,5,48,230,192,0,0,0,192,0,0,0,5,5,168,227,5,5,211,231,5,5,42,230,5,5,96,236,5,5,100,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,227,192,0,0,0,5,5,123,229,192,0,0,0,192,0,0,0,5,5,202,226,5,5,63,226,5,5,214,230,5,5,130,226,192,0,0,0,5,5,101,239,5,5,126,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,230,192,0,0,0,192,0,0,0,5,5,82,230,5,5,102,239,5,5,107,227,5,5,242,233,5,5,3,236,5,5,103,239,192,0,0,0,5,5,104,239,192,0,0,0,192,0,0,0,5,5,23,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,239,192,0,0,0,5,5,32,227,5,5,45,228,5,5,105,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,227,192,0,0,0,5,5,60,231,5,5,110,239,5,5,175,229,192,0,0,0,5,5,131,226,5,5,109,239,192,0,0,0,5,5,107,239,5,5,111,239,5,5,108,239,5,5,43,234,5,5,230,241,5,5,61,231,192,0,0,0,5,5,112,239,192,0,0,0,192,0,0,0,5,5,214,236,192,0,0,0,5,5,113,239,192,0,0,0,192,0,0,0,5,5,115,239,192,0,0,0,5,5,4,233,5,5,114,239,192,0,0,0,5,5,139,231,192,0,0,0,5,5,11,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,232,5,5,101,230,192,0,0,0,5,5,51,235,5,5,212,231,192,0,0,0,5,5,59,230,5,5,116,239,5,5,215,230,5,5,117,239,5,5,118,239,5,5,0,177,5,5,96,232,5,5,92,231,192,0,0,0,5,5,119,239,5,5,211,233,5,5,216,230,192,0,0,0,5,5,217,230,192,0,0,0,5,5,120,239,192,0,0,0,192,0,0,0,5,5,213,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,239,192,0,0,0,5,5,122,239,192,0,0,0,5,5,58,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,239,5,5,125,239,5,5,74,230,5,5,54,231,5,5,22,234,5,5,94,231,5,5,214,234,5,5,34,234,5,5,253,227,5,5,126,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,227,5,5,127,239,192,0,0,0,5,5,52,228,192,0,0,0,5,5,239,233,5,5,106,226,192,0,0,0,5,5,225,229,5,5,128,239,5,5,131,239,5,5,130,239,5,5,51,228,192,0,0,0,5,5,129,239,192,0,0,0,5,5,122,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,232,192,0,0,0,5,5,141,233,5,5,54,230,192,0,0,0,192,0,0,0,5,5,32,232,5,5,178,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,239,192,0,0,0,5,5,134,239,5,5,246,233,192,0,0,0,5,5,193,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,239,192,0,0,0,192,0,0,0,5,5,137,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,227,5,5,139,239,192,0,0,0,192,0,0,0,5,5,140,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,232,5,5,92,227,192,0,0,0,5,5,142,239,5,5,2,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,232,192,0,0,0,5,5,241,226,192,0,0,0,192,0,0,0,5,5,144,239,5,5,146,239,5,5,87,227,192,0,0,0,192,0,0,0,5,5,143,239,5,5,145,239,192,0,0,0,5,5,148,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,239,192,0,0,0,5,5,149,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,233,5,5,226,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,226,5,5,151,239,5,5,156,239,192,0,0,0,192,0,0,0,5,5,154,239,192,0,0,0,5,5,147,235,5,5,146,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,239,5,5,160,230,192,0,0,0,5,5,152,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,239,192,0,0,0,192,0,0,0,5,5,154,229,192,0,0,0,192,0,0,0,5,5,163,239,192,0,0,0,192,0,0,0,5,5,164,239,5,5,158,239,5,5,203,226,5,5,159,239,5,5,168,239,5,5,167,239,5,5,166,239,5,5,162,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,239,192,0,0,0,192,0,0,0,5,5,165,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,239,5,5,169,239,192,0,0,0,5,5,171,239,192,0,0,0,5,5,170,236,192,0,0,0,5,5,170,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,231,192,0,0,0,192,0,0,0,5,5,173,239,192,0,0,0,192,0,0,0,5,5,103,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,239,192,0,0,0,192,0,0,0,5,5,175,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,239,192,0,0,0,5,5,177,239,192,0,0,0,192,0,0,0,5,5,176,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,233,5,5,155,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,239,192,0,0,0,5,5,182,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,239,192,0,0,0,192,0,0,0,5,5,252,236,192,0,0,0,5,5,186,239,5,5,183,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,239,192,0,0,0,192,0,0,0,5,5,88,227,5,5,188,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,239,5,5,189,239,192,0,0,0,192,0,0,0,5,5,191,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,239,192,0,0,0,5,5,214,231,5,5,111,230,192,0,0,0,192,0,0,0,5,5,176,230,192,0,0,0,5,5,43,232,192,0,0,0,5,5,249,228,5,5,104,229,5,5,250,228,5,5,198,227,192,0,0,0,192,0,0,0,5,5,193,239,192,0,0,0,192,0,0,0,5,5,105,229,192,0,0,0,192,0,0,0,5,5,188,228,5,5,194,239,5,5,254,235,5,5,67,234,5,5,195,239,192,0,0,0,5,5,251,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,227,192,0,0,0,5,5,171,232,5,5,8,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,229,5,5,25,235,192,0,0,0,192,0,0,0,5,5,159,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,239,5,5,109,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,233,192,0,0,0,192,0,0,0,5,5,198,239,5,5,197,239,5,5,200,239,192,0,0,0,5,5,79,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,229,192,0,0,0,5,5,178,231,192,0,0,0,5,5,121,232,5,5,120,227,192,0,0,0,192,0,0,0,5,5,6,233,192,0,0,0,192,0,0,0,5,5,201,239,5,5,202,239,5,5,27,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,235,192,0,0,0,192,0,0,0,5,5,205,239,192,0,0,0,192,0,0,0,5,5,204,239,5,5,203,239,5,5,59,235,192,0,0,0,5,5,212,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,235,192,0,0,0,5,5,206,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,239,5,5,229,235,192,0,0,0,5,5,207,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,239,192,0,0,0,5,5,134,234,5,5,210,239,5,5,90,235,5,5,211,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,227,5,5,91,235,5,5,47,234,5,5,213,239,5,5,214,239,192,0,0,0,5,5,252,228,5,5,44,227,5,5,215,239,5,5,170,228,5,5,124,236,5,5,97,236,5,5,110,227,5,5,217,239,192,0,0,0,5,5,7,233,192,0,0,0,5,5,253,228,5,5,219,230,192,0,0,0,192,0,0,0,5,5,189,234,192,0,0,0,192,0,0,0,5,5,220,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,233,5,5,149,235,5,5,123,233,192,0,0,0,192,0,0,0,5,5,254,228,192,0,0,0,5,5,26,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,233,5,5,114,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,228,192,0,0,0,5,5,81,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,161,5,5,186,230,5,5,255,228,5,5,127,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,239,5,5,220,239,5,5,81,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,239,5,5,15,237,5,5,35,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,239,5,5,222,239,192,0,0,0,192,0,0,0,5,5,223,226,192,0,0,0,192,0,0,0,5,5,224,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,239,5,5,228,239,192,0,0,0,5,5,226,239,192,0,0,0,5,5,252,234,5,5,221,230,5,5,230,239,5,5,229,239,5,5,225,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,239,5,5,232,239,192,0,0,0,192,0,0,0,5,5,233,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,239,5,5,234,239,192,0,0,0,5,5,235,239,5,5,237,239,192,0,0,0,5,5,64,226,5,5,82,233,5,5,238,239,192,0,0,0,5,5,142,228,5,5,176,226,5,5,54,234,192,0,0,0,5,5,239,239,5,5,29,234,192,0,0,0,5,5,119,235,192,0,0,0,5,5,240,239,5,5,36,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,239,5,5,92,235,5,5,244,239,5,5,74,237,5,5,90,237,192,0,0,0,5,5,30,230,5,5,23,234,5,5,245,239,192,0,0,0,5,5,179,227,5,5,8,233,5,5,0,216,5,5,246,239,5,5,66,235,5,5,2,229,192,0,0,0,192,0,0,0,5,5,212,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,236,5,5,171,228,5,5,190,228,192,0,0,0,5,5,247,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,239,192,0,0,0,5,5,254,239,192,0,0,0,5,5,83,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,233,192,0,0,0,5,5,227,227,5,5,249,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,234,192,0,0,0,5,5,202,232,192,0,0,0,192,0,0,0,5,5,250,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,239,192,0,0,0,5,5,228,227,192,0,0,0,5,5,252,239,192,0,0,0,5,5,253,239,192,0,0,0,192,0,0,0,5,5,255,239,192,0,0,0,5,5,184,233,192,0,0,0,192,0,0,0,5,5,2,240,5,5,3,240,192,0,0,0,5,5,4,240,192,0,0,0,192,0,0,0,5,5,243,239,5,5,242,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,240,5,5,85,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,234,192,0,0,0,192,0,0,0,5,5,124,229,5,5,243,234,5,5,10,233,5,5,9,235,5,5,6,240,192,0,0,0,192,0,0,0,5,5,222,230,5,5,34,226,192,0,0,0,5,5,7,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,240,192,0,0,0,5,5,76,236,192,0,0,0,192,0,0,0,5,5,190,234,192,0,0,0,192,0,0,0,5,5,11,240,5,5,89,226,5,5,148,231,5,5,10,240,5,5,9,240,5,5,86,228,5,5,122,232,192,0,0,0,5,5,15,240,5,5,13,240,192,0,0,0,5,5,12,240,5,5,189,236,5,5,215,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,230,5,5,14,240,5,5,142,233,5,5,138,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,233,5,5,18,240,5,5,17,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,240,192,0,0,0,5,5,19,240,5,5,216,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,240,5,5,58,235,5,5,167,230,192,0,0,0,192,0,0,0,5,5,21,240,5,5,215,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,233,5,5,11,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,233,192,0,0,0,192,0,0,0,5,5,22,240,5,5,129,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,231,192,0,0,0,5,5,232,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,227,5,5,38,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,240,5,5,228,229,5,5,180,235,5,5,181,235,192,0,0,0,192,0,0,0,5,5,90,226,5,5,28,240,192,0,0,0,192,0,0,0,5,5,237,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,240,5,5,27,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,234,192,0,0,0,192,0,0,0,5,5,26,240,192,0,0,0,192,0,0,0,5,5,24,240,192,0,0,0,5,5,76,229,192,0,0,0,5,5,30,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,240,5,5,42,240,5,5,34,240,192,0,0,0,5,5,158,233,192,0,0,0,192,0,0,0,5,5,39,240,5,5,27,235,192,0,0,0,192,0,0,0,5,5,33,240,192,0,0,0,5,5,38,240,5,5,253,236,5,5,229,229,192,0,0,0,192,0,0,0,5,5,123,232,5,5,31,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,227,5,5,41,240,5,5,149,231,5,5,65,226,5,5,35,240,5,5,178,226,5,5,40,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,227,192,0,0,0,5,5,37,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,240,5,5,55,240,5,5,53,240,192,0,0,0,192,0,0,0,5,5,50,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,240,5,5,16,237,192,0,0,0,5,5,51,240,192,0,0,0,192,0,0,0,5,5,230,227,192,0,0,0,5,5,3,229,192,0,0,0,192,0,0,0,5,5,198,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,240,5,5,44,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,240,5,5,32,240,192,0,0,0,5,5,180,226,5,5,52,240,5,5,54,240,5,5,213,232,192,0,0,0,192,0,0,0,5,5,88,229,5,5,114,226,5,5,46,240,5,5,57,240,5,5,56,240,5,5,231,227,192,0,0,0,5,5,79,232,5,5,254,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,228,192,0,0,0,5,5,47,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,240,192,0,0,0,5,5,62,240,5,5,64,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,230,192,0,0,0,5,5,70,240,5,5,84,233,5,5,60,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,240,192,0,0,0,5,5,179,226,192,0,0,0,5,5,66,240,5,5,67,240,192,0,0,0,192,0,0,0,5,5,63,240,5,5,65,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,228,5,5,98,236,192,0,0,0,192,0,0,0,5,5,45,227,192,0,0,0,192,0,0,0,5,5,53,226,5,5,69,240,192,0,0,0,5,5,58,234,5,5,0,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,234,5,5,29,240,5,5,75,240,5,5,79,240,5,5,63,236,192,0,0,0,5,5,72,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,233,5,5,77,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,231,5,5,78,240,5,5,247,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,237,192,0,0,0,5,5,74,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,240,192,0,0,0,5,5,77,229,192,0,0,0,5,5,179,231,192,0,0,0,192,0,0,0,5,5,0,178,5,5,73,240,5,5,71,240,192,0,0,0,5,5,34,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,240,5,5,194,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,232,5,5,92,240,192,0,0,0,5,5,35,232,5,5,87,240,192,0,0,0,5,5,84,240,5,5,85,240,192,0,0,0,5,5,84,230,5,5,88,240,5,5,91,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,240,5,5,113,230,192,0,0,0,5,5,89,240,192,0,0,0,192,0,0,0,5,5,83,240,192,0,0,0,5,5,86,236,5,5,85,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,240,5,5,94,240,5,5,0,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,228,5,5,0,132,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,227,192,0,0,0,5,5,90,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,240,5,5,97,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,240,5,5,104,240,5,5,96,240,5,5,100,240,192,0,0,0,192,0,0,0,5,5,105,240,192,0,0,0,5,5,106,240,192,0,0,0,192,0,0,0,5,5,95,240,5,5,12,230,192,0,0,0,5,5,99,240,5,5,124,232,5,5,4,229,5,5,81,240,5,5,63,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,240,192,0,0,0,5,5,133,235,192,0,0,0,192,0,0,0,5,5,109,240,5,5,110,240,5,5,111,240,192,0,0,0,192,0,0,0,5,5,118,240,192,0,0,0,5,5,117,240,192,0,0,0,192,0,0,0,5,5,247,235,5,5,47,227,192,0,0,0,5,5,115,240,192,0,0,0,5,5,89,228,5,5,204,226,192,0,0,0,192,0,0,0,5,5,112,240,192,0,0,0,192,0,0,0,5,5,206,236,5,5,114,240,5,5,0,180,5,5,116,240,192,0,0,0,5,5,107,240,5,5,113,240,5,5,120,240,5,5,88,228,5,5,108,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,240,192,0,0,0,192,0,0,0,5,5,127,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,232,192,0,0,0,5,5,17,237,5,5,128,240,192,0,0,0,192,0,0,0,5,5,125,240,192,0,0,0,5,5,122,240,192,0,0,0,192,0,0,0,5,5,121,240,5,5,126,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,235,192,0,0,0,192,0,0,0,5,5,212,233,192,0,0,0,5,5,90,228,192,0,0,0,5,5,129,240,5,5,124,240,192,0,0,0,5,5,130,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,240,192,0,0,0,192,0,0,0,5,5,137,240,5,5,89,229,5,5,135,240,5,5,133,240,5,5,132,240,5,5,139,240,5,5,131,240,5,5,141,240,192,0,0,0,192,0,0,0,5,5,181,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,240,192,0,0,0,192,0,0,0,5,5,142,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,233,192,0,0,0,5,5,146,240,192,0,0,0,5,5,144,240,5,5,134,240,5,5,144,228,192,0,0,0,5,5,145,240,192,0,0,0,5,5,149,240,5,5,148,240,5,5,150,240,5,5,147,240,5,5,151,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,240,5,5,153,240,5,5,134,235,192,0,0,0,5,5,155,240,5,5,154,240,5,5,139,230,192,0,0,0,5,5,150,231,5,5,160,226,5,5,182,226,192,0,0,0,5,5,156,240,192,0,0,0,5,5,0,157,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,231,5,5,157,240,192,0,0,0,5,5,200,247,5,5,158,240,5,5,117,228,192,0,0,0,5,5,159,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,240,5,5,144,227,5,5,162,240,192,0,0,0,5,5,163,240,5,5,164,240,5,5,125,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,228,192,0,0,0,192,0,0,0,5,5,59,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,235,5,5,182,230,5,5,165,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,231,5,5,128,248,5,5,192,234,192,0,0,0,5,5,88,230,192,0,0,0,5,5,125,229,5,5,166,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,232,192,0,0,0,5,5,67,235,192,0,0,0,192,0,0,0,5,5,151,232,192,0,0,0,192,0,0,0,5,5,169,240,192,0,0,0,192,0,0,0,5,5,167,240,192,0,0,0,5,5,170,240,192,0,0,0,192,0,0,0,5,5,168,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,235,192,0,0,0,192,0,0,0,5,5,0,149,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,235,192,0,0,0,192,0,0,0,5,5,193,234,192,0,0,0,192,0,0,0,5,5,172,240,192,0,0,0,5,5,175,240,5,5,223,230,5,5,145,227,192,0,0,0,5,5,173,240,5,5,180,240,5,5,224,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,240,5,5,68,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,236,5,5,176,240,5,5,177,240,5,5,181,240,5,5,172,233,5,5,178,240,5,5,5,229,5,5,198,231,192,0,0,0,192,0,0,0,5,5,195,240,5,5,146,234,192,0,0,0,5,5,152,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,234,5,5,10,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,235,192,0,0,0,5,5,184,240,5,5,91,226,5,5,238,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,240,192,0,0,0,192,0,0,0,5,5,184,232,5,5,187,240,5,5,194,240,5,5,189,240,5,5,196,240,5,5,192,240,192,0,0,0,5,5,191,240,5,5,111,234,192,0,0,0,5,5,185,240,5,5,183,226,5,5,183,240,5,5,199,227,5,5,153,232,5,5,179,240,192,0,0,0,192,0,0,0,5,5,182,240,5,5,6,229,5,5,195,231,192,0,0,0,5,5,225,230,5,5,190,240,5,5,82,234,192,0,0,0,192,0,0,0,5,5,200,227,5,5,224,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,226,5,5,43,231,5,5,198,240,5,5,203,240,192,0,0,0,5,5,199,240,192,0,0,0,5,5,145,228,192,0,0,0,5,5,204,240,5,5,176,229,5,5,59,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,230,5,5,186,240,192,0,0,0,5,5,13,230,5,5,201,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,229,5,5,202,240,5,5,0,162,192,0,0,0,192,0,0,0,5,5,197,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,240,5,5,0,133,192,0,0,0,192,0,0,0,5,5,115,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,233,192,0,0,0,192,0,0,0,5,5,178,234,5,5,206,240,5,5,38,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,232,192,0,0,0,192,0,0,0,5,5,185,229,5,5,207,240,192,0,0,0,5,5,209,240,5,5,205,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,235,192,0,0,0,5,5,33,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,235,5,5,60,230,5,5,221,240,192,0,0,0,5,5,220,240,192,0,0,0,192,0,0,0,5,5,130,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,240,5,5,227,230,192,0,0,0,192,0,0,0,5,5,10,234,5,5,49,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,240,192,0,0,0,192,0,0,0,5,5,37,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,230,5,5,217,240,192,0,0,0,192,0,0,0,5,5,226,230,192,0,0,0,5,5,211,240,5,5,216,240,192,0,0,0,192,0,0,0,5,5,83,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,240,192,0,0,0,5,5,53,228,192,0,0,0,192,0,0,0,5,5,245,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,240,5,5,193,236,5,5,126,229,5,5,185,232,5,5,215,240,192,0,0,0,5,5,196,231,192,0,0,0,5,5,7,229,5,5,110,231,5,5,66,226,5,5,4,232,5,5,213,240,5,5,155,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,228,192,0,0,0,5,5,51,233,5,5,219,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,232,192,0,0,0,192,0,0,0,5,5,222,240,192,0,0,0,5,5,224,240,192,0,0,0,192,0,0,0,5,5,93,232,5,5,230,240,192,0,0,0,5,5,225,240,192,0,0,0,192,0,0,0,5,5,227,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,234,5,5,87,233,192,0,0,0,5,5,228,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,236,5,5,49,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,140,192,0,0,0,5,5,226,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,226,192,0,0,0,5,5,229,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,232,192,0,0,0,5,5,240,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,240,192,0,0,0,192,0,0,0,5,5,231,240,5,5,238,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,240,192,0,0,0,5,5,239,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,234,5,5,173,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,240,192,0,0,0,5,5,236,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,240,192,0,0,0,5,5,218,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,240,192,0,0,0,5,5,40,236,192,0,0,0,5,5,138,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,229,5,5,247,240,192,0,0,0,5,5,246,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,233,5,5,248,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,240,192,0,0,0,5,5,45,235,192,0,0,0,5,5,69,234,5,5,177,229,192,0,0,0,5,5,217,231,192,0,0,0,5,5,202,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,226,192,0,0,0,5,5,2,241,5,5,251,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,236,5,5,4,241,192,0,0,0,192,0,0,0,5,5,254,240,192,0,0,0,5,5,255,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,240,192,0,0,0,5,5,188,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,241,192,0,0,0,5,5,252,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,241,5,5,9,241,5,5,105,233,5,5,11,241,192,0,0,0,192,0,0,0,5,5,178,229,5,5,6,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,227,192,0,0,0,192,0,0,0,5,5,12,241,192,0,0,0,5,5,5,241,5,5,16,241,192,0,0,0,5,5,15,241,192,0,0,0,5,5,14,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,241,192,0,0,0,192,0,0,0,5,5,19,241,5,5,29,231,192,0,0,0,5,5,18,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,241,5,5,237,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,241,5,5,23,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,240,5,5,25,241,5,5,13,241,192,0,0,0,192,0,0,0,5,5,231,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,241,5,5,27,241,5,5,29,241,5,5,28,241,5,5,30,241,5,5,184,226,192,0,0,0,5,5,8,229,192,0,0,0,192,0,0,0,5,5,152,235,5,5,151,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,228,192,0,0,0,192,0,0,0,5,5,32,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,241,192,0,0,0,5,5,16,235,192,0,0,0,5,5,181,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,241,5,5,33,241,5,5,84,234,5,5,36,241,5,5,233,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,241,5,5,37,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,227,5,5,196,229,192,0,0,0,192,0,0,0,5,5,248,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,231,192,0,0,0,5,5,39,241,192,0,0,0,5,5,152,231,5,5,106,233,192,0,0,0,5,5,29,235,5,5,40,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,241,5,5,42,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,235,5,5,96,239,5,5,174,231,192,0,0,0,192,0,0,0,5,5,10,235,192,0,0,0,5,5,136,229,192,0,0,0,5,5,195,234,5,5,161,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,233,192,0,0,0,5,5,215,236,192,0,0,0,5,5,44,241,5,5,62,230,192,0,0,0,192,0,0,0,5,5,45,241,192,0,0,0,5,5,0,148,192,0,0,0,192,0,0,0,5,5,10,228,5,5,181,231,192,0,0,0,5,5,30,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,241,5,5,208,229,5,5,203,232,192,0,0,0,5,5,233,229,5,5,65,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,241,192,0,0,0,5,5,153,235,192,0,0,0,192,0,0,0,5,5,83,226,5,5,234,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,241,192,0,0,0,5,5,48,241,5,5,51,241,5,5,207,236,5,5,49,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,231,5,5,52,241,192,0,0,0,192,0,0,0,5,5,88,232,192,0,0,0,192,0,0,0,5,5,53,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,227,192,0,0,0,5,5,55,241,192,0,0,0,5,5,54,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,241,5,5,57,241,5,5,115,227,192,0,0,0,192,0,0,0,5,5,30,234,5,5,186,232,5,5,194,227,5,5,235,229,5,5,41,232,192,0,0,0,192,0,0,0,5,5,168,230,5,5,0,142,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,226,5,5,62,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,229,5,5,61,241,192,0,0,0,192,0,0,0,5,5,91,229,5,5,228,230,192,0,0,0,192,0,0,0,5,5,60,241,192,0,0,0,5,5,229,230,192,0,0,0,5,5,26,236,5,5,90,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,181,5,5,182,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,241,192,0,0,0,192,0,0,0,5,5,153,231,5,5,35,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,230,192,0,0,0,5,5,224,235,5,5,162,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,230,192,0,0,0,5,5,143,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,241,5,5,64,241,5,5,65,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,232,192,0,0,0,192,0,0,0,5,5,97,241,192,0,0,0,5,5,71,241,5,5,14,230,5,5,10,229,5,5,69,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,241,192,0,0,0,5,5,66,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,241,192,0,0,0,192,0,0,0,5,5,189,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,241,5,5,72,241,5,5,77,241,192,0,0,0,192,0,0,0,5,5,78,241,192,0,0,0,5,5,74,241,192,0,0,0,5,5,186,226,5,5,75,241,5,5,76,241,5,5,179,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,235,5,5,94,228,5,5,79,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,231,192,0,0,0,5,5,231,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,227,192,0,0,0,5,5,80,241,5,5,84,241,192,0,0,0,192,0,0,0,5,5,133,226,5,5,81,241,5,5,83,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,241,192,0,0,0,192,0,0,0,5,5,183,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,232,5,5,0,163,5,5,85,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,229,192,0,0,0,192,0,0,0,5,5,135,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,241,5,5,88,241,192,0,0,0,192,0,0,0,5,5,91,241,192,0,0,0,5,5,90,241,192,0,0,0,192,0,0,0,5,5,87,241,192,0,0,0,192,0,0,0,5,5,92,241,192,0,0,0,192,0,0,0,5,5,254,233,192,0,0,0,5,5,89,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,241,192,0,0,0,192,0,0,0,5,5,184,230,5,5,95,241,192,0,0,0,5,5,131,236,5,5,120,234,192,0,0,0,192,0,0,0,5,5,96,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,241,192,0,0,0,192,0,0,0,5,5,99,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,241,192,0,0,0,5,5,254,227,5,5,36,226,5,5,11,229,5,5,101,241,192,0,0,0,5,5,102,241,5,5,189,230,5,5,42,232,192,0,0,0,192,0,0,0,5,5,63,238,5,5,6,232,5,5,5,232,5,5,126,232,5,5,119,229,192,0,0,0,192,0,0,0,5,5,155,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,228,5,5,101,236,192,0,0,0,5,5,154,235,192,0,0,0,5,5,60,235,192,0,0,0,5,5,103,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,229,5,5,35,233,5,5,104,241,5,5,37,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,235,192,0,0,0,5,5,15,233,5,5,105,241,5,5,116,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,241,5,5,107,241,5,5,52,236,192,0,0,0,5,5,252,235,5,5,240,235,5,5,214,235,5,5,179,229,5,5,109,241,192,0,0,0,192,0,0,0,5,5,89,230,192,0,0,0,192,0,0,0,5,5,203,235,192,0,0,0,5,5,111,241,5,5,114,241,5,5,113,241,192,0,0,0,5,5,113,227,192,0,0,0,192,0,0,0,5,5,182,227,192,0,0,0,5,5,110,241,192,0,0,0,5,5,112,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,241,192,0,0,0,192,0,0,0,5,5,131,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,236,5,5,0,167,5,5,144,229,5,5,98,232,192,0,0,0,5,5,75,230,192,0,0,0,192,0,0,0,5,5,31,231,192,0,0,0,192,0,0,0,5,5,118,241,192,0,0,0,192,0,0,0,5,5,144,233,192,0,0,0,5,5,116,241,5,5,81,232,5,5,117,241,5,5,30,231,5,5,55,236,5,5,119,241,5,5,120,241,5,5,160,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,241,192,0,0,0,192,0,0,0,5,5,12,229,192,0,0,0,5,5,85,234,5,5,122,241,5,5,174,233,5,5,59,241,5,5,63,241,192,0,0,0,5,5,165,227,192,0,0,0,5,5,71,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,241,192,0,0,0,5,5,232,230,5,5,162,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,241,192,0,0,0,5,5,216,234,192,0,0,0,5,5,121,241,192,0,0,0,5,5,127,241,5,5,126,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,235,192,0,0,0,5,5,233,236,192,0,0,0,192,0,0,0,5,5,225,235,192,0,0,0,5,5,134,226,5,5,236,229,192,0,0,0,192,0,0,0,5,5,62,237,5,5,129,241,5,5,127,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,241,192,0,0,0,192,0,0,0,5,5,123,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,241,5,5,133,241,192,0,0,0,5,5,135,226,5,5,131,241,5,5,137,241,5,5,143,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,232,192,0,0,0,192,0,0,0,5,5,93,235,192,0,0,0,5,5,145,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,241,5,5,112,234,5,5,185,235,5,5,51,227,192,0,0,0,5,5,223,231,5,5,140,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,233,192,0,0,0,5,5,102,236,192,0,0,0,192,0,0,0,5,5,140,241,5,5,139,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,241,192,0,0,0,5,5,138,241,192,0,0,0,192,0,0,0,5,5,146,241,192,0,0,0,5,5,136,241,192,0,0,0,192,0,0,0,5,5,134,241,192,0,0,0,5,5,142,241,5,5,132,241,192,0,0,0,5,5,240,232,192,0,0,0,5,5,82,236,5,5,52,230,5,5,164,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,229,192,0,0,0,192,0,0,0,5,5,233,235,5,5,217,226,192,0,0,0,192,0,0,0,5,5,50,233,5,5,234,233,5,5,37,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,231,192,0,0,0,192,0,0,0,5,5,156,231,5,5,62,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,241,192,0,0,0,192,0,0,0,5,5,13,229,5,5,22,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,241,5,5,14,227,5,5,156,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,241,192,0,0,0,5,5,219,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,226,5,5,92,229,192,0,0,0,192,0,0,0,5,5,226,226,5,5,127,229,192,0,0,0,192,0,0,0,5,5,151,241,5,5,121,228,5,5,95,228,5,5,175,233,192,0,0,0,192,0,0,0,5,5,149,241,192,0,0,0,5,5,0,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,241,5,5,154,241,192,0,0,0,5,5,3,228,5,5,64,228,192,0,0,0,5,5,52,227,5,5,161,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,241,192,0,0,0,192,0,0,0,5,5,169,229,5,5,235,235,192,0,0,0,5,5,197,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,241,192,0,0,0,5,5,109,226,5,5,159,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,241,5,5,160,241,192,0,0,0,5,5,216,236,192,0,0,0,5,5,167,241,192,0,0,0,5,5,95,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,241,192,0,0,0,5,5,162,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,146,5,5,164,241,192,0,0,0,192,0,0,0,5,5,14,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,241,192,0,0,0,5,5,165,241,192,0,0,0,5,5,161,241,5,5,172,241,192,0,0,0,5,5,233,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,239,5,5,218,228,5,5,180,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,241,192,0,0,0,5,5,88,233,5,5,187,226,5,5,93,229,192,0,0,0,5,5,155,241,192,0,0,0,5,5,171,241,5,5,249,226,192,0,0,0,192,0,0,0,5,5,169,241,5,5,173,241,192,0,0,0,5,5,176,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,227,192,0,0,0,5,5,203,241,192,0,0,0,192,0,0,0,5,5,35,236,5,5,178,241,5,5,117,227,192,0,0,0,5,5,185,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,235,192,0,0,0,5,5,186,241,5,5,188,241,192,0,0,0,5,5,192,241,5,5,180,241,192,0,0,0,5,5,174,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,233,5,5,196,241,5,5,183,241,192,0,0,0,5,5,193,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,231,5,5,197,241,192,0,0,0,192,0,0,0,5,5,155,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,241,5,5,53,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,237,5,5,177,241,192,0,0,0,192,0,0,0,5,5,191,241,5,5,0,182,192,0,0,0,192,0,0,0,5,5,179,241,192,0,0,0,192,0,0,0,5,5,20,236,5,5,184,241,5,5,44,231,5,5,43,233,5,5,174,241,192,0,0,0,192,0,0,0,5,5,190,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,231,5,5,200,241,5,5,11,227,5,5,147,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,241,5,5,181,241,5,5,201,241,192,0,0,0,5,5,194,241,5,5,182,241,192,0,0,0,5,5,198,241,192,0,0,0,5,5,199,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,233,192,0,0,0,5,5,189,241,192,0,0,0,192,0,0,0,5,5,212,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,241,192,0,0,0,5,5,60,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,235,5,5,209,241,5,5,112,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,241,5,5,7,232,192,0,0,0,5,5,206,241,5,5,219,241,5,5,218,241,192,0,0,0,5,5,17,234,5,5,217,241,5,5,12,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,241,5,5,208,241,192,0,0,0,5,5,252,227,5,5,211,241,5,5,169,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,234,5,5,213,241,5,5,255,227,192,0,0,0,5,5,205,241,5,5,207,241,5,5,204,241,192,0,0,0,192,0,0,0,5,5,38,237,5,5,242,226,5,5,210,241,192,0,0,0,192,0,0,0,5,5,220,241,5,5,205,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,226,192,0,0,0,192,0,0,0,5,5,237,241,192,0,0,0,192,0,0,0,5,5,39,237,5,5,240,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,231,5,5,239,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,241,192,0,0,0,192,0,0,0,5,5,252,241,5,5,222,241,192,0,0,0,5,5,241,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,241,192,0,0,0,192,0,0,0,5,5,228,241,5,5,225,241,192,0,0,0,5,5,226,241,192,0,0,0,5,5,234,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,250,192,0,0,0,192,0,0,0,5,5,231,241,5,5,15,229,5,5,44,233,5,5,44,232,5,5,229,241,192,0,0,0,5,5,224,241,192,0,0,0,192,0,0,0,5,5,227,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,236,5,5,228,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,241,5,5,242,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,241,5,5,243,241,192,0,0,0,192,0,0,0,5,5,2,242,192,0,0,0,5,5,254,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,241,192,0,0,0,5,5,52,233,192,0,0,0,5,5,45,232,192,0,0,0,5,5,246,241,192,0,0,0,192,0,0,0,5,5,244,241,192,0,0,0,192,0,0,0,5,5,251,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,242,5,5,211,234,5,5,9,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,242,5,5,7,242,5,5,255,241,192,0,0,0,192,0,0,0,5,5,248,232,192,0,0,0,5,5,244,234,192,0,0,0,5,5,245,241,192,0,0,0,192,0,0,0,5,5,253,241,5,5,234,230,192,0,0,0,5,5,41,236,5,5,19,242,5,5,6,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,228,5,5,93,226,5,5,247,226,192,0,0,0,192,0,0,0,5,5,236,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,230,5,5,11,242,192,0,0,0,5,5,18,242,5,5,103,230,5,5,12,227,192,0,0,0,192,0,0,0,5,5,178,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,242,192,0,0,0,192,0,0,0,5,5,13,242,5,5,17,242,192,0,0,0,192,0,0,0,5,5,234,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,227,5,5,15,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,227,192,0,0,0,5,5,235,233,5,5,14,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,226,5,5,205,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,242,5,5,219,228,192,0,0,0,5,5,20,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,242,192,0,0,0,5,5,24,242,5,5,25,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,242,192,0,0,0,5,5,33,242,192,0,0,0,5,5,168,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,242,192,0,0,0,192,0,0,0,5,5,28,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,242,5,5,30,242,5,5,29,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,242,192,0,0,0,5,5,28,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,242,5,5,49,228,192,0,0,0,192,0,0,0,5,5,34,242,5,5,36,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,234,192,0,0,0,5,5,39,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,242,5,5,40,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,236,5,5,41,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,226,192,0,0,0,5,5,47,242,5,5,123,228,5,5,15,230,192,0,0,0,5,5,11,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,242,5,5,48,242,5,5,51,242,5,5,147,227,192,0,0,0,192,0,0,0,5,5,12,228,5,5,54,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,242,192,0,0,0,5,5,55,242,192,0,0,0,192,0,0,0,5,5,136,226,192,0,0,0,5,5,187,232,192,0,0,0,5,5,56,242,192,0,0,0,192,0,0,0,5,5,55,227,5,5,58,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,242,192,0,0,0,5,5,59,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,242,192,0,0,0,5,5,61,242,5,5,237,229,5,5,157,231,5,5,81,229,192,0,0,0,5,5,46,235,192,0,0,0,192,0,0,0,5,5,126,235,5,5,58,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,229,5,5,10,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,242,5,5,63,242,192,0,0,0,5,5,238,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,242,5,5,65,242,192,0,0,0,192,0,0,0,5,5,67,242,5,5,66,242,192,0,0,0,5,5,210,235,192,0,0,0,192,0,0,0,5,5,170,230,5,5,90,230,5,5,210,229,192,0,0,0,5,5,68,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,242,5,5,45,231,192,0,0,0,5,5,69,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,242,5,5,74,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,242,192,0,0,0,5,5,77,242,5,5,76,242,5,5,78,242,5,5,95,226,5,5,206,232,192,0,0,0,5,5,79,242,192,0,0,0,192,0,0,0,5,5,180,229,5,5,228,226,5,5,80,242,192,0,0,0,192,0,0,0,5,5,132,233,5,5,239,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,227,5,5,81,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,242,192,0,0,0,5,5,136,235,5,5,226,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,233,5,5,83,242,5,5,196,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,234,192,0,0,0,192,0,0,0,5,5,45,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,242,5,5,85,242,192,0,0,0,192,0,0,0,5,5,88,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,229,192,0,0,0,5,5,11,236,192,0,0,0,5,5,91,242,5,5,92,242,192,0,0,0,192,0,0,0,5,5,122,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,242,5,5,94,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,231,192,0,0,0,192,0,0,0,5,5,245,234,5,5,38,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,234,192,0,0,0,5,5,89,233,5,5,141,230,5,5,183,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,234,192,0,0,0,5,5,28,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,242,192,0,0,0,5,5,56,227,192,0,0,0,192,0,0,0,5,5,84,226,192,0,0,0,192,0,0,0,5,5,20,234,5,5,96,242,5,5,16,229,5,5,215,232,192,0,0,0,5,5,98,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,242,192,0,0,0,5,5,99,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,232,192,0,0,0,5,5,184,227,5,5,107,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,228,192,0,0,0,192,0,0,0,5,5,123,227,5,5,105,242,192,0,0,0,192,0,0,0,5,5,103,242,5,5,100,242,5,5,152,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,233,5,5,101,242,192,0,0,0,192,0,0,0,5,5,109,242,192,0,0,0,5,5,108,242,5,5,55,228,192,0,0,0,192,0,0,0,5,5,103,226,192,0,0,0,192,0,0,0,5,5,107,229,5,5,102,242,5,5,104,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,235,5,5,154,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,235,192,0,0,0,192,0,0,0,5,5,117,242,192,0,0,0,192,0,0,0,5,5,118,242,192,0,0,0,5,5,137,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,235,5,5,87,236,5,5,120,242,5,5,17,230,5,5,236,230,5,5,113,242,5,5,119,242,5,5,68,226,192,0,0,0,5,5,235,227,192,0,0,0,192,0,0,0,5,5,110,242,5,5,115,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,231,5,5,113,234,192,0,0,0,5,5,197,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,242,192,0,0,0,5,5,155,235,192,0,0,0,5,5,114,242,192,0,0,0,5,5,123,242,192,0,0,0,5,5,121,242,192,0,0,0,5,5,116,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,235,5,5,72,234,5,5,185,227,192,0,0,0,5,5,103,233,192,0,0,0,192,0,0,0,5,5,241,232,192,0,0,0,5,5,124,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,242,5,5,127,232,5,5,111,242,192,0,0,0,5,5,39,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,236,5,5,135,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,231,192,0,0,0,5,5,131,242,192,0,0,0,5,5,164,236,192,0,0,0,192,0,0,0,5,5,214,233,5,5,125,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,226,5,5,17,229,5,5,128,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,230,5,5,133,242,192,0,0,0,5,5,132,242,5,5,127,242,192,0,0,0,5,5,130,242,192,0,0,0,192,0,0,0,5,5,2,227,192,0,0,0,5,5,129,242,5,5,73,234,192,0,0,0,192,0,0,0,5,5,196,236,192,0,0,0,192,0,0,0,5,5,32,231,5,5,221,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,242,5,5,139,242,192,0,0,0,5,5,11,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,242,5,5,138,242,192,0,0,0,5,5,22,226,192,0,0,0,192,0,0,0,5,5,18,229,5,5,40,237,192,0,0,0,5,5,213,226,192,0,0,0,5,5,32,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,236,192,0,0,0,192,0,0,0,5,5,188,226,5,5,69,231,5,5,140,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,242,192,0,0,0,192,0,0,0,5,5,237,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,236,192,0,0,0,5,5,142,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,242,192,0,0,0,5,5,143,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,236,192,0,0,0,5,5,181,233,5,5,226,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,226,192,0,0,0,192,0,0,0,5,5,49,226,192,0,0,0,192,0,0,0,5,5,149,242,192,0,0,0,192,0,0,0,5,5,152,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,242,5,5,153,242,5,5,150,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,236,5,5,156,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,230,5,5,158,242,192,0,0,0,192,0,0,0,5,5,163,242,192,0,0,0,192,0,0,0,5,5,179,233,5,5,161,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,242,192,0,0,0,192,0,0,0,5,5,188,232,192,0,0,0,192,0,0,0,5,5,162,242,192,0,0,0,5,5,151,242,192,0,0,0,5,5,157,242,192,0,0,0,5,5,164,242,5,5,0,218,5,5,154,242,192,0,0,0,5,5,165,242,192,0,0,0,192,0,0,0,5,5,70,231,192,0,0,0,5,5,171,230,192,0,0,0,5,5,65,235,192,0,0,0,5,5,94,229,192,0,0,0,5,5,146,242,5,5,160,242,5,5,124,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,231,192,0,0,0,5,5,3,227,5,5,129,229,5,5,238,230,5,5,148,242,5,5,142,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,228,192,0,0,0,5,5,147,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,242,5,5,185,230,5,5,172,228,192,0,0,0,5,5,184,242,192,0,0,0,5,5,178,242,5,5,202,227,5,5,145,233,192,0,0,0,5,5,173,242,5,5,182,242,5,5,0,141,5,5,14,226,192,0,0,0,192,0,0,0,5,5,115,226,192,0,0,0,5,5,175,242,5,5,82,232,5,5,166,242,5,5,168,242,5,5,19,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,242,192,0,0,0,5,5,180,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,236,192,0,0,0,192,0,0,0,5,5,177,242,5,5,181,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,228,192,0,0,0,5,5,239,230,192,0,0,0,192,0,0,0,5,5,189,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,242,192,0,0,0,192,0,0,0,5,5,167,242,5,5,180,233,192,0,0,0,192,0,0,0,5,5,170,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,237,5,5,44,230,5,5,248,235,192,0,0,0,5,5,186,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,234,192,0,0,0,192,0,0,0,5,5,198,242,5,5,173,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,230,192,0,0,0,5,5,188,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,236,5,5,20,229,192,0,0,0,5,5,201,242,192,0,0,0,192,0,0,0,5,5,0,204,192,0,0,0,192,0,0,0,5,5,199,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,242,192,0,0,0,192,0,0,0,5,5,195,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,236,5,5,190,242,192,0,0,0,192,0,0,0,5,5,112,233,192,0,0,0,192,0,0,0,5,5,192,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,242,192,0,0,0,5,5,194,242,5,5,33,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,242,192,0,0,0,5,5,16,230,5,5,213,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,227,192,0,0,0,5,5,191,242,5,5,196,242,5,5,197,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,232,5,5,128,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,242,192,0,0,0,192,0,0,0,5,5,211,242,192,0,0,0,192,0,0,0,5,5,209,242,192,0,0,0,5,5,107,233,192,0,0,0,192,0,0,0,5,5,216,242,5,5,206,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,242,5,5,183,242,192,0,0,0,5,5,207,227,5,5,246,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,230,192,0,0,0,192,0,0,0,5,5,73,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,237,192,0,0,0,5,5,203,242,192,0,0,0,5,5,215,242,5,5,69,226,5,5,46,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,234,192,0,0,0,5,5,57,227,5,5,18,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,235,5,5,54,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,242,5,5,212,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,242,5,5,208,242,192,0,0,0,5,5,202,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,242,192,0,0,0,192,0,0,0,5,5,223,242,5,5,224,231,192,0,0,0,192,0,0,0,5,5,251,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,230,192,0,0,0,5,5,232,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,242,5,5,16,233,5,5,222,242,5,5,61,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,242,192,0,0,0,5,5,218,242,192,0,0,0,5,5,227,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,242,5,5,220,242,5,5,226,242,192,0,0,0,5,5,137,231,192,0,0,0,5,5,217,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,242,192,0,0,0,192,0,0,0,5,5,230,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,242,192,0,0,0,5,5,234,242,5,5,236,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,233,192,0,0,0,5,5,233,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,228,5,5,159,232,5,5,231,242,5,5,59,234,192,0,0,0,192,0,0,0,5,5,238,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,242,5,5,241,242,192,0,0,0,192,0,0,0,5,5,244,242,192,0,0,0,192,0,0,0,5,5,247,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,242,5,5,60,229,5,5,40,234,192,0,0,0,192,0,0,0,5,5,144,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,236,5,5,242,242,192,0,0,0,5,5,246,242,5,5,155,232,192,0,0,0,5,5,245,242,192,0,0,0,5,5,224,242,192,0,0,0,192,0,0,0,5,5,12,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,242,192,0,0,0,192,0,0,0,5,5,252,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,242,192,0,0,0,5,5,249,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,242,192,0,0,0,5,5,251,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,235,192,0,0,0,192,0,0,0,5,5,5,243,192,0,0,0,5,5,2,243,5,5,255,242,192,0,0,0,5,5,4,243,5,5,244,233,5,5,6,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,232,5,5,147,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,243,192,0,0,0,5,5,9,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,233,5,5,189,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,230,5,5,130,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,237,5,5,112,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,243,5,5,190,232,5,5,19,243,5,5,14,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,243,5,5,130,233,5,5,0,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,237,192,0,0,0,192,0,0,0,5,5,21,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,243,192,0,0,0,5,5,20,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,243,5,5,78,235,192,0,0,0,5,5,26,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,237,192,0,0,0,192,0,0,0,5,5,33,243,192,0,0,0,5,5,225,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,243,5,5,34,243,192,0,0,0,192,0,0,0,5,5,72,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,243,192,0,0,0,5,5,97,234,5,5,28,243,5,5,31,243,5,5,242,230,192,0,0,0,5,5,175,234,192,0,0,0,192,0,0,0,5,5,35,243,192,0,0,0,5,5,63,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,243,192,0,0,0,5,5,59,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,236,5,5,39,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,233,5,5,46,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,243,192,0,0,0,5,5,235,236,192,0,0,0,5,5,45,243,192,0,0,0,5,5,47,243,5,5,73,226,192,0,0,0,5,5,42,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,238,5,5,49,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,232,5,5,198,229,5,5,51,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,243,5,5,46,231,5,5,64,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,243,192,0,0,0,5,5,37,243,5,5,53,243,192,0,0,0,192,0,0,0,5,5,55,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,243,192,0,0,0,192,0,0,0,5,5,57,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,243,192,0,0,0,5,5,66,233,192,0,0,0,5,5,61,243,5,5,60,243,192,0,0,0,192,0,0,0,5,5,62,243,192,0,0,0,5,5,63,243,192,0,0,0,192,0,0,0,5,5,77,230,5,5,33,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,236,5,5,64,243,5,5,65,243,5,5,30,232,5,5,18,230,5,5,66,243,5,5,67,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,243,5,5,110,235,5,5,165,234,192,0,0,0,192,0,0,0,5,5,69,243,5,5,87,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,243,5,5,161,226,192,0,0,0,5,5,195,227,192,0,0,0,5,5,32,236,192,0,0,0,5,5,16,236,192,0,0,0,5,5,110,226,5,5,42,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,235,192,0,0,0,5,5,70,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,231,192,0,0,0,5,5,71,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,228,5,5,72,243,192,0,0,0,5,5,132,229,5,5,74,243,5,5,73,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,227,192,0,0,0,5,5,78,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,228,192,0,0,0,192,0,0,0,5,5,166,234,192,0,0,0,192,0,0,0,5,5,81,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,231,192,0,0,0,192,0,0,0,5,5,80,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,227,5,5,82,243,5,5,84,243,192,0,0,0,5,5,83,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,243,192,0,0,0,5,5,195,228,192,0,0,0,5,5,86,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,228,192,0,0,0,5,5,8,232,192,0,0,0,5,5,79,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,243,5,5,89,243,5,5,87,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,230,192,0,0,0,192,0,0,0,5,5,232,233,5,5,237,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,243,5,5,176,232,5,5,90,243,192,0,0,0,192,0,0,0,5,5,43,237,5,5,98,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,243,5,5,93,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,236,5,5,95,243,5,5,97,243,192,0,0,0,5,5,218,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,243,5,5,250,232,5,5,45,234,192,0,0,0,192,0,0,0,5,5,151,228,5,5,99,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,243,192,0,0,0,5,5,105,236,5,5,106,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,243,5,5,74,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,229,5,5,240,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,243,5,5,104,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,243,192,0,0,0,5,5,107,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,243,192,0,0,0,5,5,229,226,192,0,0,0,192,0,0,0,5,5,111,243,192,0,0,0,192,0,0,0,5,5,110,243,192,0,0,0,5,5,113,243,5,5,112,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,228,192,0,0,0,192,0,0,0,5,5,190,236,192,0,0,0,5,5,2,228,192,0,0,0,5,5,96,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,236,5,5,115,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,243,192,0,0,0,5,5,139,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,243,192,0,0,0,5,5,199,229,192,0,0,0,192,0,0,0,5,5,37,233,5,5,116,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,243,192,0,0,0,5,5,92,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,228,192,0,0,0,192,0,0,0,5,5,167,234,5,5,120,243,192,0,0,0,192,0,0,0,5,5,147,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,227,192,0,0,0,5,5,123,243,5,5,181,236,192,0,0,0,192,0,0,0,5,5,198,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,232,192,0,0,0,192,0,0,0,5,5,125,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,243,5,5,236,236,5,5,13,228,5,5,218,234,5,5,74,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,243,192,0,0,0,5,5,133,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,243,5,5,220,228,5,5,41,226,5,5,134,243,192,0,0,0,5,5,122,231,5,5,131,243,5,5,242,236,192,0,0,0,192,0,0,0,5,5,137,243,5,5,159,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,243,5,5,138,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,243,5,5,136,243,192,0,0,0,192,0,0,0,5,5,108,229,192,0,0,0,192,0,0,0,5,5,139,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,243,192,0,0,0,5,5,247,234,5,5,149,243,192,0,0,0,192,0,0,0,5,5,28,227,5,5,150,243,192,0,0,0,5,5,151,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,243,192,0,0,0,5,5,154,243,5,5,155,243,5,5,153,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,235,5,5,157,243,5,5,156,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,243,5,5,158,243,5,5,160,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,243,5,5,163,243,5,5,162,243,192,0,0,0,192,0,0,0,5,5,75,229,192,0,0,0,5,5,165,243,192,0,0,0,5,5,164,243,192,0,0,0,192,0,0,0,5,5,61,227,192,0,0,0,5,5,93,231,192,0,0,0,5,5,126,233,192,0,0,0,5,5,166,243,5,5,160,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,229,192,0,0,0,5,5,85,226,5,5,167,243,192,0,0,0,5,5,137,236,192,0,0,0,192,0,0,0,5,5,127,235,5,5,168,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,233,5,5,107,236,5,5,21,229,5,5,71,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,232,5,5,27,238,192,0,0,0,5,5,18,233,5,5,162,226,5,5,169,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,243,192,0,0,0,5,5,175,243,192,0,0,0,192,0,0,0,5,5,173,243,5,5,172,243,5,5,31,241,5,5,190,226,5,5,171,243,192,0,0,0,5,5,0,184,192,0,0,0,5,5,136,234,192,0,0,0,192,0,0,0,5,5,168,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,236,5,5,176,243,5,5,174,243,5,5,224,232,5,5,142,231,192,0,0,0,192,0,0,0,5,5,137,234,192,0,0,0,5,5,233,234,192,0,0,0,5,5,178,243,5,5,194,236,5,5,97,228,5,5,179,243,192,0,0,0,5,5,177,243,5,5,180,234,5,5,180,243,192,0,0,0,5,5,181,243,192,0,0,0,192,0,0,0,5,5,0,185,192,0,0,0,192,0,0,0,5,5,34,231,5,5,186,243,192,0,0,0,5,5,183,243,5,5,15,234,5,5,182,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,227,192,0,0,0,192,0,0,0,5,5,189,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,243,5,5,185,243,192,0,0,0,5,5,188,243,5,5,187,243,5,5,225,234,192,0,0,0,192,0,0,0,5,5,10,232,5,5,9,232,192,0,0,0,5,5,149,227,192,0,0,0,192,0,0,0,5,5,190,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,243,192,0,0,0,192,0,0,0,5,5,192,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,243,192,0,0,0,5,5,193,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,243,5,5,198,234,5,5,196,243,192,0,0,0,5,5,198,243,192,0,0,0,192,0,0,0,5,5,200,243,5,5,72,231,192,0,0,0,192,0,0,0,5,5,201,243,5,5,199,243,5,5,46,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,243,5,5,197,243,192,0,0,0,5,5,254,234,192,0,0,0,5,5,243,230,192,0,0,0,192,0,0,0,5,5,204,243,192,0,0,0,192,0,0,0,5,5,203,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,243,192,0,0,0,5,5,20,230,5,5,95,229,192,0,0,0,192,0,0,0,5,5,185,233,5,5,206,243,192,0,0,0,5,5,47,233,192,0,0,0,192,0,0,0,5,5,208,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,236,5,5,207,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,243,192,0,0,0,5,5,215,243,5,5,216,243,5,5,216,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,243,192,0,0,0,5,5,211,243,192,0,0,0,5,5,209,243,5,5,210,243,192,0,0,0,5,5,212,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,243,192,0,0,0,5,5,217,243,192,0,0,0,5,5,218,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,243,5,5,222,243,5,5,223,243,5,5,224,243,192,0,0,0,5,5,225,243,192,0,0,0,192,0,0,0,5,5,221,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,243,5,5,229,243,5,5,230,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,235,192,0,0,0,5,5,233,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,243,5,5,235,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,243,5,5,236,243,5,5,237,243,5,5,238,243,192,0,0,0,5,5,240,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,243,192,0,0,0,5,5,242,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,243,192,0,0,0,5,5,244,243,192,0,0,0,5,5,141,234,5,5,146,233,5,5,245,243,5,5,114,234,5,5,240,234,192,0,0,0,5,5,246,243,192,0,0,0,192,0,0,0,5,5,247,243,5,5,108,233,192,0,0,0,5,5,191,226,5,5,22,229,5,5,248,243,192,0,0,0,192,0,0,0,5,5,249,243,192,0,0,0,192,0,0,0,5,5,250,243,192,0,0,0,5,5,183,229,192,0,0,0,192,0,0,0,5,5,252,243,192,0,0,0,192,0,0,0,5,5,251,243,192,0,0,0,192,0,0,0,5,5,253,243,5,5,254,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,234,192,0,0,0,5,5,255,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,244,192,0,0,0,192,0,0,0,5,5,134,250,5,5,3,244,5,5,4,244,5,5,5,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,229,192,0,0,0,192,0,0,0,5,5,6,244,5,5,86,234,192,0,0,0,192,0,0,0,5,5,217,235,192,0,0,0,5,5,42,226,192,0,0,0,5,5,51,226,192,0,0,0,192,0,0,0,5,5,7,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,244,5,5,178,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,231,5,5,50,242,192,0,0,0,5,5,10,244,5,5,27,236,192,0,0,0,5,5,11,244,192,0,0,0,5,5,62,227,5,5,181,234,5,5,12,244,192,0,0,0,5,5,13,244,192,0,0,0,192,0,0,0,5,5,14,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,236,192,0,0,0,5,5,34,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,232,192,0,0,0,192,0,0,0,5,5,16,244,192,0,0,0,192,0,0,0,5,5,174,230,192,0,0,0,192,0,0,0,5,5,244,230,192,0,0,0,192,0,0,0,5,5,19,244,192,0,0,0,192,0,0,0,5,5,18,244,5,5,17,244,5,5,219,234,192,0,0,0,5,5,63,227,5,5,155,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,244,192,0,0,0,192,0,0,0,5,5,22,244,5,5,73,231,5,5,12,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,244,5,5,23,244,5,5,24,244,192,0,0,0,192,0,0,0,5,5,20,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,244,5,5,27,244,192,0,0,0,5,5,19,233,192,0,0,0,5,5,91,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,244,5,5,32,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,231,192,0,0,0,5,5,228,233,192,0,0,0,5,5,33,244,5,5,205,235,192,0,0,0,5,5,30,244,192,0,0,0,192,0,0,0,5,5,31,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,244,5,5,34,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,244,192,0,0,0,192,0,0,0,5,5,37,244,192,0,0,0,192,0,0,0,5,5,39,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,244,192,0,0,0,5,5,40,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,230,5,5,220,236,192,0,0,0,192,0,0,0,5,5,42,244,192,0,0,0,192,0,0,0,5,5,215,233,192,0,0,0,192,0,0,0,5,5,43,244,192,0,0,0,192,0,0,0,5,5,44,244,192,0,0,0,5,5,48,244,5,5,46,244,5,5,47,244,192,0,0,0,5,5,45,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,244,192,0,0,0,192,0,0,0,5,5,52,244,5,5,17,236,5,5,53,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,236,5,5,54,244,192,0,0,0,5,5,210,232,192,0,0,0,5,5,106,234,192,0,0,0,5,5,33,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,232,5,5,55,244,5,5,238,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,244,192,0,0,0,5,5,152,228,5,5,133,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,233,5,5,134,229,5,5,164,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,235,192,0,0,0,5,5,75,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,236,5,5,23,229,192,0,0,0,192,0,0,0,5,5,153,228,192,0,0,0,192,0,0,0,5,5,129,234,192,0,0,0,5,5,64,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,244,5,5,90,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,244,5,5,207,226,5,5,63,244,192,0,0,0,192,0,0,0,5,5,200,234,192,0,0,0,5,5,12,226,192,0,0,0,5,5,156,229,192,0,0,0,5,5,72,237,192,0,0,0,192,0,0,0,5,5,67,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,235,192,0,0,0,5,5,193,231,5,5,71,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,226,192,0,0,0,5,5,78,244,192,0,0,0,5,5,77,244,192,0,0,0,192,0,0,0,5,5,21,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,244,5,5,74,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,244,5,5,75,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,234,5,5,73,244,192,0,0,0,192,0,0,0,5,5,76,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,244,5,5,219,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,244,192,0,0,0,192,0,0,0,5,5,0,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,232,192,0,0,0,192,0,0,0,5,5,88,244,5,5,87,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,244,5,5,91,244,5,5,90,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,230,192,0,0,0,5,5,255,236,192,0,0,0,5,5,64,230,192,0,0,0,5,5,92,244,5,5,75,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,227,5,5,125,227,5,5,241,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,236,192,0,0,0,192,0,0,0,5,5,98,244,192,0,0,0,5,5,97,244,5,5,12,232,5,5,94,244,192,0,0,0,192,0,0,0,5,5,96,244,192,0,0,0,192,0,0,0,5,5,151,230,5,5,74,231,5,5,95,244,5,5,93,244,192,0,0,0,5,5,42,234,192,0,0,0,192,0,0,0,5,5,247,230,192,0,0,0,192,0,0,0,5,5,248,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,233,192,0,0,0,192,0,0,0,5,5,99,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,244,5,5,122,244,5,5,14,228,192,0,0,0,192,0,0,0,5,5,51,237,5,5,251,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,244,192,0,0,0,192,0,0,0,5,5,140,226,5,5,91,233,5,5,61,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,227,5,5,103,244,192,0,0,0,192,0,0,0,5,5,105,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,244,192,0,0,0,5,5,41,234,192,0,0,0,192,0,0,0,5,5,107,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,244,5,5,109,244,192,0,0,0,192,0,0,0,5,5,15,228,5,5,141,226,5,5,229,233,5,5,116,230,5,5,242,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,244,192,0,0,0,5,5,117,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,226,5,5,255,234,192,0,0,0,192,0,0,0,5,5,111,244,192,0,0,0,192,0,0,0,5,5,201,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,232,192,0,0,0,5,5,114,244,192,0,0,0,5,5,115,244,5,5,105,234,192,0,0,0,5,5,75,231,5,5,112,244,192,0,0,0,5,5,229,232,192,0,0,0,192,0,0,0,5,5,113,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,244,192,0,0,0,192,0,0,0,5,5,92,233,192,0,0,0,5,5,117,244,5,5,175,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,236,192,0,0,0,192,0,0,0,5,5,223,234,5,5,118,244,5,5,119,244,5,5,217,232,192,0,0,0,5,5,221,236,192,0,0,0,192,0,0,0,5,5,121,244,5,5,120,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,230,192,0,0,0,192,0,0,0,5,5,123,244,5,5,0,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,244,5,5,142,226,5,5,98,228,5,5,125,244,5,5,24,229,5,5,68,229,192,0,0,0,5,5,130,235,5,5,127,244,192,0,0,0,192,0,0,0,5,5,206,235,192,0,0,0,192,0,0,0,5,5,129,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,231,5,5,43,226,5,5,116,226,5,5,0,138,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,244,5,5,131,244,5,5,35,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,244,192,0,0,0,5,5,231,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,228,192,0,0,0,5,5,188,227,192,0,0,0,192,0,0,0,5,5,135,244,5,5,43,228,192,0,0,0,192,0,0,0,5,5,136,244,192,0,0,0,5,5,228,231,192,0,0,0,5,5,237,233,192,0,0,0,5,5,200,231,5,5,165,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,232,5,5,51,232,192,0,0,0,5,5,139,244,5,5,141,244,5,5,138,244,5,5,140,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,244,5,5,58,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,227,5,5,138,236,5,5,144,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,227,5,5,147,244,5,5,146,244,192,0,0,0,5,5,150,244,5,5,143,244,192,0,0,0,5,5,151,244,5,5,191,236,192,0,0,0,5,5,152,244,192,0,0,0,5,5,153,244,192,0,0,0,192,0,0,0,5,5,25,239,5,5,155,244,192,0,0,0,5,5,154,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,244,5,5,157,244,192,0,0,0,5,5,203,236,5,5,158,244,192,0,0,0,5,5,112,249,5,5,249,230,5,5,159,244,5,5,160,244,5,5,163,230,192,0,0,0,5,5,216,233,5,5,161,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,232,192,0,0,0,192,0,0,0,5,5,162,244,192,0,0,0,5,5,192,232,5,5,163,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,227,192,0,0,0,5,5,198,237,5,5,225,232,5,5,33,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,227,192,0,0,0,192,0,0,0,5,5,164,244,192,0,0,0,5,5,177,244,192,0,0,0,5,5,167,244,192,0,0,0,5,5,190,227,192,0,0,0,5,5,166,244,5,5,179,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,244,192,0,0,0,5,5,250,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,244,5,5,170,244,192,0,0,0,5,5,109,233,192,0,0,0,192,0,0,0,5,5,171,244,192,0,0,0,5,5,246,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,231,5,5,34,235,192,0,0,0,5,5,173,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,244,192,0,0,0,5,5,172,244,5,5,174,244,192,0,0,0,192,0,0,0,5,5,171,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,244,5,5,234,234,192,0,0,0,5,5,132,234,5,5,187,233,192,0,0,0,5,5,16,228,5,5,180,244,5,5,178,244,192,0,0,0,5,5,147,234,5,5,175,244,5,5,226,232,5,5,189,233,192,0,0,0,5,5,188,233,192,0,0,0,5,5,166,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,244,192,0,0,0,5,5,185,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,244,192,0,0,0,5,5,189,244,192,0,0,0,5,5,186,244,5,5,187,244,192,0,0,0,192,0,0,0,5,5,184,244,5,5,182,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,235,5,5,143,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,244,192,0,0,0,5,5,193,244,192,0,0,0,5,5,198,244,192,0,0,0,192,0,0,0,5,5,197,244,192,0,0,0,5,5,115,234,5,5,255,235,192,0,0,0,5,5,201,229,5,5,191,244,5,5,200,244,5,5,195,244,192,0,0,0,5,5,194,244,5,5,190,244,192,0,0,0,5,5,192,244,192,0,0,0,5,5,65,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,232,192,0,0,0,192,0,0,0,5,5,229,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,234,192,0,0,0,192,0,0,0,5,5,205,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,231,5,5,202,244,192,0,0,0,192,0,0,0,5,5,173,234,192,0,0,0,5,5,206,244,5,5,111,235,192,0,0,0,5,5,223,232,192,0,0,0,5,5,201,244,5,5,203,244,192,0,0,0,192,0,0,0,5,5,204,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,244,192,0,0,0,192,0,0,0,5,5,50,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,233,5,5,212,244,5,5,211,244,192,0,0,0,192,0,0,0,5,5,208,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,244,192,0,0,0,192,0,0,0,5,5,221,244,5,5,218,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,244,5,5,60,238,5,5,216,244,5,5,210,244,192,0,0,0,192,0,0,0,5,5,219,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,244,192,0,0,0,5,5,66,227,192,0,0,0,5,5,222,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,244,192,0,0,0,192,0,0,0,5,5,224,244,5,5,227,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,244,5,5,212,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,244,5,5,20,237,5,5,137,235,5,5,233,244,192,0,0,0,192,0,0,0,5,5,230,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,244,5,5,186,231,192,0,0,0,5,5,232,244,5,5,234,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,244,192,0,0,0,5,5,238,244,192,0,0,0,5,5,235,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,244,5,5,213,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,244,5,5,239,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,235,192,0,0,0,5,5,241,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,236,192,0,0,0,192,0,0,0,5,5,4,228,5,5,61,228,5,5,242,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,235,192,0,0,0,5,5,114,231,192,0,0,0,5,5,10,236,192,0,0,0,192,0,0,0,5,5,243,244,192,0,0,0,5,5,201,236,192,0,0,0,192,0,0,0,5,5,116,234,192,0,0,0,5,5,14,232,5,5,52,234,192,0,0,0,192,0,0,0,5,5,153,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,158,192,0,0,0,5,5,248,244,5,5,246,244,192,0,0,0,5,5,244,244,5,5,25,227,192,0,0,0,5,5,251,230,5,5,249,244,192,0,0,0,192,0,0,0,5,5,247,244,192,0,0,0,5,5,245,244,5,5,253,244,192,0,0,0,192,0,0,0,5,5,252,244,5,5,251,244,5,5,250,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,244,5,5,162,231,192,0,0,0,5,5,2,245,192,0,0,0,5,5,4,245,192,0,0,0,192,0,0,0,5,5,3,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,233,192,0,0,0,5,5,5,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,245,192,0,0,0,5,5,81,235,5,5,52,232,5,5,25,229,192,0,0,0,5,5,8,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,245,192,0,0,0,192,0,0,0,5,5,11,245,192,0,0,0,5,5,12,245,192,0,0,0,5,5,13,245,192,0,0,0,5,5,243,229,192,0,0,0,5,5,14,245,5,5,99,228,192,0,0,0,192,0,0,0,5,5,192,227,192,0,0,0,5,5,128,227,192,0,0,0,5,5,16,245,192,0,0,0,5,5,77,236,5,5,26,229,5,5,15,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,245,5,5,64,236,192,0,0,0,5,5,60,234,192,0,0,0,192,0,0,0,5,5,239,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,230,5,5,18,245,192,0,0,0,5,5,65,230,5,5,27,229,5,5,244,229,5,5,191,227,5,5,82,235,5,5,17,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,232,5,5,188,235,5,5,167,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,229,5,5,65,233,192,0,0,0,5,5,22,245,5,5,245,236,5,5,137,229,192,0,0,0,5,5,23,245,5,5,76,231,192,0,0,0,5,5,25,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,230,5,5,96,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,245,192,0,0,0,192,0,0,0,5,5,118,230,5,5,176,228,5,5,16,232,5,5,20,245,5,5,26,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,245,5,5,100,228,192,0,0,0,5,5,29,245,5,5,33,245,5,5,127,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,245,192,0,0,0,192,0,0,0,5,5,28,229,192,0,0,0,192,0,0,0,5,5,165,236,5,5,0,154,5,5,34,245,192,0,0,0,192,0,0,0,5,5,193,227,192,0,0,0,5,5,31,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,245,192,0,0,0,192,0,0,0,5,5,191,233,5,5,30,245,5,5,27,245,192,0,0,0,5,5,192,226,5,5,204,231,192,0,0,0,192,0,0,0,5,5,154,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,228,5,5,89,232,5,5,40,245,5,5,54,232,192,0,0,0,192,0,0,0,5,5,53,245,192,0,0,0,192,0,0,0,5,5,49,245,5,5,43,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,245,5,5,104,230,5,5,0,187,5,5,42,245,5,5,50,245,5,5,54,245,5,5,29,229,5,5,48,236,192,0,0,0,5,5,58,233,5,5,44,245,192,0,0,0,192,0,0,0,5,5,52,245,192,0,0,0,5,5,41,245,5,5,194,232,192,0,0,0,5,5,46,245,5,5,0,155,5,5,36,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,245,192,0,0,0,192,0,0,0,5,5,17,228,5,5,202,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,232,192,0,0,0,5,5,230,236,5,5,187,230,192,0,0,0,192,0,0,0,5,5,93,245,192,0,0,0,192,0,0,0,5,5,55,245,192,0,0,0,5,5,230,231,192,0,0,0,5,5,51,245,5,5,56,245,5,5,58,245,192,0,0,0,5,5,93,233,5,5,61,245,192,0,0,0,192,0,0,0,5,5,57,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,235,5,5,67,227,192,0,0,0,192,0,0,0,5,5,37,236,192,0,0,0,192,0,0,0,5,5,0,188,192,0,0,0,192,0,0,0,5,5,60,245,192,0,0,0,5,5,21,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,226,192,0,0,0,192,0,0,0,5,5,14,234,5,5,62,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,245,5,5,63,245,5,5,70,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,234,192,0,0,0,192,0,0,0,5,5,56,230,5,5,68,245,192,0,0,0,5,5,65,245,5,5,71,245,5,5,64,245,192,0,0,0,192,0,0,0,5,5,144,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,235,192,0,0,0,192,0,0,0,5,5,152,230,192,0,0,0,192,0,0,0,5,5,67,245,5,5,79,245,192,0,0,0,192,0,0,0,5,5,75,245,192,0,0,0,5,5,78,245,192,0,0,0,5,5,76,245,5,5,80,245,5,5,74,245,192,0,0,0,5,5,48,245,5,5,187,231,192,0,0,0,192,0,0,0,5,5,169,234,192,0,0,0,5,5,77,245,192,0,0,0,192,0,0,0,5,5,72,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,231,5,5,102,228,192,0,0,0,5,5,119,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,231,5,5,252,231,5,5,83,245,192,0,0,0,192,0,0,0,5,5,85,245,5,5,86,245,192,0,0,0,192,0,0,0,5,5,82,245,5,5,84,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,245,5,5,81,245,192,0,0,0,5,5,89,245,5,5,88,245,192,0,0,0,192,0,0,0,5,5,244,235,192,0,0,0,192,0,0,0,5,5,63,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,245,192,0,0,0,5,5,91,245,5,5,90,245,5,5,94,245,192,0,0,0,5,5,96,245,192,0,0,0,192,0,0,0,5,5,202,229,5,5,92,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,245,5,5,98,245,192,0,0,0,192,0,0,0,5,5,99,245,192,0,0,0,5,5,105,245,5,5,125,233,5,5,101,245,192,0,0,0,5,5,100,245,5,5,102,245,5,5,103,245,192,0,0,0,5,5,104,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,245,5,5,107,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,227,192,0,0,0,5,5,108,245,192,0,0,0,5,5,109,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,245,5,5,112,245,5,5,113,245,192,0,0,0,5,5,114,245,5,5,115,245,192,0,0,0,192,0,0,0,5,5,117,245,5,5,116,245,192,0,0,0,192,0,0,0,5,5,118,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,245,5,5,120,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,245,5,5,121,245,5,5,122,245,5,5,145,229,5,5,103,228,192,0,0,0,192,0,0,0,5,5,218,232,192,0,0,0,5,5,145,234,192,0,0,0,5,5,188,230,192,0,0,0,192,0,0,0,5,5,77,234,192,0,0,0,5,5,203,234,5,5,124,245,5,5,140,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,245,5,5,127,245,192,0,0,0,5,5,157,236,5,5,126,245,5,5,129,245,5,5,128,245,192,0,0,0,5,5,139,236,192,0,0,0,5,5,130,245,192,0,0,0,5,5,220,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,245,192,0,0,0,192,0,0,0,5,5,133,245,5,5,132,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,245,5,5,70,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,231,5,5,151,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,245,5,5,136,245,192,0,0,0,192,0,0,0,5,5,137,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,245,192,0,0,0,5,5,141,245,5,5,138,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,245,5,5,144,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,245,192,0,0,0,5,5,154,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,230,192,0,0,0,5,5,147,245,5,5,146,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,231,5,5,148,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,245,192,0,0,0,192,0,0,0,5,5,150,245,192,0,0,0,5,5,93,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,227,192,0,0,0,192,0,0,0,5,5,151,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,245,192,0,0,0,5,5,215,235,5,5,155,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,236,5,5,45,237,192,0,0,0,5,5,31,229,5,5,155,245,5,5,66,230,5,5,154,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,245,5,5,23,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,232,192,0,0,0,5,5,157,245,192,0,0,0,192,0,0,0,5,5,30,229,192,0,0,0,5,5,49,236,5,5,158,245,5,5,159,245,192,0,0,0,192,0,0,0,5,5,160,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,230,192,0,0,0,192,0,0,0,5,5,71,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,245,192,0,0,0,5,5,195,232,192,0,0,0,5,5,163,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,231,192,0,0,0,5,5,168,245,192,0,0,0,5,5,169,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,235,5,5,170,245,192,0,0,0,5,5,55,232,5,5,171,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,237,5,5,175,245,192,0,0,0,5,5,174,245,5,5,173,245,5,5,20,233,192,0,0,0,5,5,176,245,5,5,48,231,192,0,0,0,5,5,177,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,245,5,5,46,237,5,5,179,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,245,5,5,182,245,5,5,181,245,5,5,131,234,192,0,0,0,5,5,27,234,192,0,0,0,5,5,52,237,5,5,135,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,245,192,0,0,0,192,0,0,0,5,5,253,230,192,0,0,0,5,5,230,234,192,0,0,0,5,5,185,245,5,5,183,245,192,0,0,0,5,5,70,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,228,5,5,246,229,192,0,0,0,192,0,0,0,5,5,204,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,228,5,5,189,235,192,0,0,0,5,5,188,245,5,5,186,245,192,0,0,0,5,5,32,229,192,0,0,0,5,5,33,229,5,5,0,199,192,0,0,0,5,5,152,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,189,5,5,193,245,192,0,0,0,5,5,196,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,234,192,0,0,0,5,5,129,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,245,192,0,0,0,192,0,0,0,5,5,191,245,5,5,194,245,5,5,189,245,192,0,0,0,5,5,192,245,5,5,160,235,192,0,0,0,192,0,0,0,5,5,199,228,192,0,0,0,192,0,0,0,5,5,0,219,5,5,190,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,245,192,0,0,0,5,5,198,245,192,0,0,0,192,0,0,0,5,5,217,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,245,5,5,61,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,229,192,0,0,0,192,0,0,0,5,5,240,227,5,5,176,231,5,5,60,237,5,5,8,236,5,5,196,245,5,5,188,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,227,5,5,199,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,245,192,0,0,0,5,5,170,232,192,0,0,0,5,5,62,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,245,192,0,0,0,192,0,0,0,5,5,95,231,192,0,0,0,5,5,35,235,5,5,208,245,192,0,0,0,5,5,207,245,5,5,34,229,5,5,73,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,245,5,5,213,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,230,192,0,0,0,192,0,0,0,5,5,211,245,192,0,0,0,5,5,74,229,5,5,210,245,192,0,0,0,192,0,0,0,5,5,214,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,233,5,5,62,235,5,5,233,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,232,5,5,218,245,192,0,0,0,5,5,219,245,5,5,215,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,245,192,0,0,0,5,5,217,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,245,192,0,0,0,5,5,221,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,235,192,0,0,0,5,5,230,235,5,5,228,234,192,0,0,0,192,0,0,0,5,5,220,245,192,0,0,0,192,0,0,0,5,5,223,245,5,5,222,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,235,5,5,226,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,245,192,0,0,0,192,0,0,0,5,5,253,231,192,0,0,0,5,5,228,245,192,0,0,0,192,0,0,0,5,5,230,245,192,0,0,0,5,5,234,245,192,0,0,0,192,0,0,0,5,5,231,245,5,5,229,245,5,5,63,234,5,5,232,245,192,0,0,0,5,5,233,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,226,192,0,0,0,5,5,240,245,5,5,235,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,245,192,0,0,0,5,5,71,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,245,5,5,238,245,5,5,241,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,245,5,5,243,245,192,0,0,0,192,0,0,0,5,5,77,231,192,0,0,0,5,5,163,226,192,0,0,0,5,5,244,245,5,5,237,236,192,0,0,0,5,5,25,230,192,0,0,0,192,0,0,0,5,5,121,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,229,5,5,219,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,245,5,5,246,245,5,5,13,226,192,0,0,0,5,5,247,245,192,0,0,0,192,0,0,0,5,5,248,245,5,5,249,245,192,0,0,0,192,0,0,0,5,5,250,245,192,0,0,0,5,5,251,245,5,5,241,227,5,5,7,241,5,5,252,245,192,0,0,0,5,5,205,231,5,5,253,245,5,5,57,230,192,0,0,0,5,5,254,245,192,0,0,0,5,5,89,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,245,5,5,122,235,5,5,84,227,192,0,0,0,192,0,0,0,5,5,234,231,5,5,164,230,192,0,0,0,5,5,47,235,5,5,122,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,246,5,5,36,229,5,5,3,246,5,5,170,234,192,0,0,0,5,5,17,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,246,192,0,0,0,5,5,111,232,5,5,117,234,5,5,177,228,5,5,4,246,5,5,235,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,246,5,5,7,246,5,5,10,246,192,0,0,0,192,0,0,0,5,5,9,246,192,0,0,0,5,5,11,246,192,0,0,0,192,0,0,0,5,5,13,246,192,0,0,0,5,5,12,246,192,0,0,0,5,5,71,227,192,0,0,0,5,5,14,246,192,0,0,0,5,5,15,246,5,5,16,246,192,0,0,0,192,0,0,0,5,5,97,229,5,5,223,236,192,0,0,0,5,5,18,246,5,5,49,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,226,5,5,19,246,5,5,20,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,208,192,0,0,0,5,5,22,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,230,192,0,0,0,5,5,25,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,226,5,5,0,144,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,246,5,5,27,246,5,5,78,234,192,0,0,0,5,5,78,231,192,0,0,0,5,5,144,226,192,0,0,0,5,5,161,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,228,5,5,18,228,192,0,0,0,5,5,26,246,192,0,0,0,5,5,164,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,226,5,5,31,246,5,5,2,237,5,5,131,232,192,0,0,0,192,0,0,0,5,5,2,235,192,0,0,0,5,5,43,246,192,0,0,0,5,5,145,226,5,5,41,246,192,0,0,0,5,5,39,246,5,5,30,246,192,0,0,0,5,5,28,246,192,0,0,0,5,5,29,246,192,0,0,0,5,5,81,230,5,5,34,228,5,5,251,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,226,192,0,0,0,5,5,33,246,5,5,32,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,246,5,5,34,246,5,5,37,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,236,5,5,36,246,5,5,146,226,5,5,23,227,5,5,40,246,192,0,0,0,192,0,0,0,5,5,42,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,246,5,5,55,246,5,5,56,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,137,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,207,192,0,0,0,192,0,0,0,5,5,54,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,246,192,0,0,0,5,5,48,246,5,5,47,246,192,0,0,0,5,5,45,246,5,5,44,246,5,5,231,232,192,0,0,0,5,5,161,232,5,5,50,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,232,5,5,105,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,226,5,5,51,246,192,0,0,0,5,5,37,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,246,192,0,0,0,5,5,70,246,192,0,0,0,5,5,147,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,226,5,5,67,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,246,192,0,0,0,5,5,65,246,192,0,0,0,5,5,72,246,5,5,66,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,246,192,0,0,0,192,0,0,0,5,5,62,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,227,5,5,60,246,5,5,71,246,192,0,0,0,5,5,61,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,246,192,0,0,0,5,5,59,246,5,5,124,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,227,192,0,0,0,5,5,19,228,192,0,0,0,5,5,77,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,226,192,0,0,0,192,0,0,0,5,5,254,230,192,0,0,0,5,5,80,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,229,192,0,0,0,192,0,0,0,5,5,147,233,5,5,85,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,235,192,0,0,0,5,5,76,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,226,5,5,200,228,5,5,229,234,5,5,86,246,192,0,0,0,5,5,74,246,192,0,0,0,192,0,0,0,5,5,83,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,246,192,0,0,0,5,5,78,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,246,5,5,218,233,192,0,0,0,192,0,0,0,5,5,84,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,246,5,5,162,235,5,5,87,246,5,5,0,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,246,192,0,0,0,5,5,88,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,234,5,5,95,246,192,0,0,0,5,5,106,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,246,192,0,0,0,192,0,0,0,5,5,91,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,246,5,5,166,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,246,192,0,0,0,192,0,0,0,5,5,141,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,235,5,5,111,246,5,5,193,233,192,0,0,0,192,0,0,0,5,5,0,143,192,0,0,0,192,0,0,0,5,5,104,246,192,0,0,0,5,5,100,246,5,5,58,232,5,5,94,246,5,5,102,246,5,5,107,246,192,0,0,0,5,5,44,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,136,192,0,0,0,5,5,99,246,192,0,0,0,5,5,108,246,5,5,54,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,246,192,0,0,0,5,5,98,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,236,192,0,0,0,192,0,0,0,5,5,5,235,192,0,0,0,192,0,0,0,5,5,114,246,192,0,0,0,5,5,123,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,231,5,5,112,246,192,0,0,0,5,5,117,246,5,5,59,232,192,0,0,0,192,0,0,0,5,5,113,246,192,0,0,0,5,5,120,246,192,0,0,0,192,0,0,0,5,5,227,232,192,0,0,0,5,5,121,246,192,0,0,0,192,0,0,0,5,5,142,236,5,5,110,246,5,5,208,226,192,0,0,0,5,5,116,246,192,0,0,0,192,0,0,0,5,5,119,246,5,5,6,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,246,192,0,0,0,192,0,0,0,5,5,115,246,5,5,118,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,235,192,0,0,0,5,5,23,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,246,192,0,0,0,192,0,0,0,5,5,125,246,5,5,49,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,235,192,0,0,0,5,5,250,235,5,5,132,246,5,5,131,246,192,0,0,0,5,5,127,246,5,5,128,246,192,0,0,0,5,5,18,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,246,192,0,0,0,5,5,124,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,246,5,5,0,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,235,192,0,0,0,192,0,0,0,5,5,134,246,5,5,138,246,192,0,0,0,5,5,183,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,246,5,5,2,231,5,5,55,230,5,5,140,246,192,0,0,0,192,0,0,0,5,5,242,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,246,192,0,0,0,5,5,55,235,5,5,136,246,192,0,0,0,5,5,97,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,237,5,5,194,233,5,5,49,235,192,0,0,0,192,0,0,0,5,5,148,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,246,192,0,0,0,5,5,142,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,234,192,0,0,0,192,0,0,0,5,5,152,246,5,5,144,246,192,0,0,0,5,5,146,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,246,5,5,145,246,192,0,0,0,192,0,0,0,5,5,149,246,192,0,0,0,192,0,0,0,5,5,78,226,192,0,0,0,5,5,7,234,192,0,0,0,5,5,150,246,5,5,153,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,246,192,0,0,0,5,5,236,231,192,0,0,0,5,5,147,246,5,5,181,229,5,5,79,231,5,5,68,228,5,5,78,236,192,0,0,0,5,5,83,236,5,5,190,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,246,5,5,158,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,236,192,0,0,0,5,5,159,246,5,5,161,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,246,5,5,163,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,233,5,5,164,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,234,5,5,151,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,230,192,0,0,0,5,5,166,246,5,5,171,246,5,5,60,232,192,0,0,0,192,0,0,0,5,5,170,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,246,5,5,17,232,192,0,0,0,192,0,0,0,5,5,167,246,5,5,169,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,246,192,0,0,0,192,0,0,0,5,5,42,242,5,5,27,242,192,0,0,0,192,0,0,0,5,5,174,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,236,192,0,0,0,5,5,15,244,5,5,175,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,246,5,5,201,228,192,0,0,0,5,5,170,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,246,5,5,228,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,227,192,0,0,0,5,5,208,236,192,0,0,0,5,5,41,228,5,5,180,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,234,192,0,0,0,5,5,0,152,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,226,5,5,187,246,5,5,188,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,246,192,0,0,0,5,5,203,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,246,5,5,66,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,246,5,5,186,246,5,5,196,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,246,5,5,193,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,246,192,0,0,0,5,5,192,246,5,5,70,230,192,0,0,0,5,5,194,246,192,0,0,0,5,5,197,232,192,0,0,0,5,5,106,228,5,5,218,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,226,192,0,0,0,5,5,202,246,192,0,0,0,192,0,0,0,5,5,198,246,5,5,201,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,246,192,0,0,0,192,0,0,0,5,5,200,246,5,5,6,235,5,5,184,234,5,5,203,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,232,5,5,213,246,192,0,0,0,5,5,209,246,192,0,0,0,192,0,0,0,5,5,165,226,192,0,0,0,5,5,207,246,192,0,0,0,5,5,164,235,5,5,208,246,192,0,0,0,192,0,0,0,5,5,205,246,192,0,0,0,5,5,206,246,5,5,211,246,5,5,214,246,192,0,0,0,192,0,0,0,5,5,212,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,246,5,5,204,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,232,192,0,0,0,5,5,221,246,192,0,0,0,5,5,4,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,246,192,0,0,0,192,0,0,0,5,5,217,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,231,192,0,0,0,5,5,47,237,5,5,225,246,192,0,0,0,5,5,226,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,246,192,0,0,0,5,5,52,231,192,0,0,0,5,5,228,246,192,0,0,0,5,5,231,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,246,5,5,222,246,192,0,0,0,192,0,0,0,5,5,233,246,192,0,0,0,192,0,0,0,5,5,150,226,192,0,0,0,5,5,229,246,192,0,0,0,5,5,234,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,246,192,0,0,0,5,5,23,233,192,0,0,0,5,5,224,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,234,192,0,0,0,192,0,0,0,5,5,238,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,246,192,0,0,0,192,0,0,0,5,5,236,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,236,5,5,250,246,192,0,0,0,5,5,241,246,192,0,0,0,192,0,0,0,5,5,242,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,246,192,0,0,0,5,5,249,246,5,5,248,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,246,192,0,0,0,5,5,6,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,246,192,0,0,0,192,0,0,0,5,5,252,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,247,5,5,4,247,192,0,0,0,5,5,194,226,192,0,0,0,5,5,152,227,192,0,0,0,192,0,0,0,5,5,2,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,246,5,5,5,247,5,5,254,246,192,0,0,0,5,5,7,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,247,5,5,8,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,247,5,5,10,247,5,5,195,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,247,192,0,0,0,192,0,0,0,5,5,14,247,192,0,0,0,5,5,16,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,228,192,0,0,0,5,5,18,247,192,0,0,0,5,5,17,247,192,0,0,0,5,5,124,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,229,5,5,126,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,247,5,5,157,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,226,192,0,0,0,5,5,20,247,192,0,0,0,5,5,46,226,192,0,0,0,5,5,3,231,5,5,21,247,192,0,0,0,192,0,0,0,5,5,39,229,5,5,22,247,5,5,0,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,234,192,0,0,0,192,0,0,0,5,5,23,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,231,192,0,0,0,5,5,30,247,192,0,0,0,192,0,0,0,5,5,27,247,192,0,0,0,5,5,243,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,247,5,5,25,247,5,5,20,228,192,0,0,0,5,5,24,247,5,5,31,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,228,192,0,0,0,192,0,0,0,5,5,132,232,192,0,0,0,5,5,37,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,232,5,5,32,247,192,0,0,0,5,5,35,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,247,192,0,0,0,5,5,38,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,234,192,0,0,0,192,0,0,0,5,5,34,247,192,0,0,0,5,5,39,247,5,5,41,247,192,0,0,0,192,0,0,0,5,5,197,228,5,5,29,247,192,0,0,0,5,5,0,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,247,192,0,0,0,5,5,139,229,5,5,14,237,5,5,42,247,5,5,43,247,5,5,61,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,247,5,5,109,236,192,0,0,0,192,0,0,0,5,5,45,247,5,5,46,247,192,0,0,0,192,0,0,0,5,5,128,235,5,5,47,247,192,0,0,0,5,5,112,229,192,0,0,0,5,5,185,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,247,5,5,4,231,5,5,51,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,236,5,5,48,247,192,0,0,0,192,0,0,0,5,5,50,247,5,5,165,231,5,5,136,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,247,192,0,0,0,5,5,54,247,192,0,0,0,192,0,0,0,5,5,63,235,192,0,0,0,192,0,0,0,5,5,56,247,192,0,0,0,5,5,55,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,227,192,0,0,0,5,5,165,235,5,5,57,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,247,5,5,59,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,247,5,5,62,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,247,192,0,0,0,5,5,67,247,192,0,0,0,192,0,0,0,5,5,65,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,247,192,0,0,0,5,5,58,247,5,5,64,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,247,5,5,56,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,247,5,5,21,228,5,5,70,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,247,192,0,0,0,5,5,72,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,247,192,0,0,0,192,0,0,0,5,5,74,247,192,0,0,0,5,5,76,247,192,0,0,0,192,0,0,0,5,5,125,230,192,0,0,0,5,5,77,247,192,0,0,0,192,0,0,0,5,5,78,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,247,5,5,166,231,192,0,0,0,5,5,143,236,192,0,0,0,5,5,80,247,192,0,0,0,192,0,0,0,5,5,64,235,5,5,70,234,5,5,81,247,192,0,0,0,5,5,82,247,5,5,157,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,247,192,0,0,0,192,0,0,0,5,5,249,229,5,5,65,234,5,5,84,247,192,0,0,0,5,5,232,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,247,5,5,175,236,192,0,0,0,5,5,86,247,5,5,80,231,192,0,0,0,5,5,88,247,192,0,0,0,192,0,0,0,5,5,89,247,192,0,0,0,192,0,0,0,5,5,90,247,5,5,73,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,247,192,0,0,0,192,0,0,0,5,5,92,247,192,0,0,0,5,5,93,247,5,5,94,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,247,192,0,0,0,5,5,96,247,5,5,97,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,226,192,0,0,0,192,0,0,0,5,5,50,231,5,5,98,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,228,192,0,0,0,5,5,95,233,5,5,101,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,228,192,0,0,0,5,5,96,231,192,0,0,0,5,5,104,247,192,0,0,0,5,5,196,233,192,0,0,0,5,5,103,247,192,0,0,0,192,0,0,0,5,5,69,228,192,0,0,0,192,0,0,0,5,5,102,247,5,5,157,232,5,5,131,227,192,0,0,0,192,0,0,0,5,5,105,247,192,0,0,0,5,5,106,247,192,0,0,0,5,5,5,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,228,192,0,0,0,5,5,107,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,235,192,0,0,0,192,0,0,0,5,5,199,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,227,192,0,0,0,5,5,79,236,5,5,18,232,192,0,0,0,5,5,108,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,231,5,5,244,232,5,5,6,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,247,192,0,0,0,5,5,113,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,229,5,5,104,232,5,5,111,247,192,0,0,0,5,5,7,231,5,5,250,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,247,192,0,0,0,192,0,0,0,5,5,250,229,192,0,0,0,5,5,47,226,192,0,0,0,5,5,117,247,5,5,108,228,192,0,0,0,192,0,0,0,5,5,252,229,192,0,0,0,192,0,0,0,5,5,251,229,192,0,0,0,5,5,67,237,5,5,116,247,5,5,115,247,5,5,237,231,192,0,0,0,5,5,163,227,5,5,57,237,5,5,210,226,5,5,8,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,247,192,0,0,0,5,5,120,247,5,5,118,247,192,0,0,0,5,5,202,228,192,0,0,0,5,5,120,236,192,0,0,0,192,0,0,0,5,5,253,229,5,5,39,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,247,192,0,0,0,5,5,168,231,192,0,0,0,5,5,198,232,192,0,0,0,192,0,0,0,5,5,110,236,192,0,0,0,5,5,126,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,228,192,0,0,0,5,5,167,231,5,5,122,247,192,0,0,0,5,5,127,247,5,5,223,228,5,5,124,247,5,5,125,247,192,0,0,0,5,5,121,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,231,5,5,233,233,192,0,0,0,192,0,0,0,5,5,179,232,192,0,0,0,5,5,151,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,234,192,0,0,0,192,0,0,0,5,5,153,227,192,0,0,0,192,0,0,0,5,5,24,233,192,0,0,0,192,0,0,0,5,5,130,247,192,0,0,0,5,5,128,247,192,0,0,0,192,0,0,0,5,5,208,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,231,5,5,74,227,5,5,129,247,192,0,0,0,5,5,101,231,192,0,0,0,192,0,0,0,5,5,224,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,247,5,5,142,247,5,5,25,233,192,0,0,0,5,5,141,247,192,0,0,0,5,5,138,247,5,5,146,247,5,5,139,247,192,0,0,0,5,5,135,247,192,0,0,0,5,5,96,233,5,5,134,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,247,192,0,0,0,5,5,89,236,5,5,254,229,192,0,0,0,192,0,0,0,5,5,136,247,192,0,0,0,5,5,133,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,247,5,5,192,230,192,0,0,0,5,5,179,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,232,192,0,0,0,5,5,191,235,5,5,54,226,5,5,0,192,192,0,0,0,5,5,197,233,192,0,0,0,192,0,0,0,5,5,144,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,247,192,0,0,0,5,5,8,234,192,0,0,0,5,5,148,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,247,192,0,0,0,5,5,147,247,5,5,149,247,192,0,0,0,5,5,158,228,5,5,145,247,5,5,40,229,192,0,0,0,5,5,67,230,192,0,0,0,192,0,0,0,5,5,150,247,5,5,144,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,247,192,0,0,0,5,5,156,247,192,0,0,0,192,0,0,0,5,5,154,247,5,5,241,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,247,192,0,0,0,192,0,0,0,5,5,157,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,247,192,0,0,0,192,0,0,0,5,5,158,247,192,0,0,0,5,5,160,247,5,5,159,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,247,192,0,0,0,5,5,31,230,192,0,0,0,5,5,164,247,5,5,163,247,5,5,38,235,192,0,0,0,192,0,0,0,5,5,166,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,247,5,5,167,247,192,0,0,0,192,0,0,0,5,5,168,247,5,5,154,227,5,5,142,245,5,5,37,231,192,0,0,0,5,5,169,247,192,0,0,0,192,0,0,0,5,5,224,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,247,192,0,0,0,192,0,0,0,5,5,171,247,192,0,0,0,192,0,0,0,5,5,204,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,241,192,0,0,0,5,5,172,247,192,0,0,0,5,5,173,247,192,0,0,0,5,5,126,230,192,0,0,0,5,5,174,247,5,5,175,247,192,0,0,0,192,0,0,0,5,5,176,247,192,0,0,0,192,0,0,0,5,5,177,247,5,5,178,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,232,192,0,0,0,192,0,0,0,5,5,179,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,247,192,0,0,0,5,5,180,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,233,192,0,0,0,5,5,182,247,192,0,0,0,5,5,167,235,192,0,0,0,5,5,183,247,192,0,0,0,5,5,184,247,192,0,0,0,5,5,185,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,231,5,5,187,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,229,5,5,87,237,5,5,188,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,247,5,5,251,234,5,5,190,247,192,0,0,0,5,5,198,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,247,192,0,0,0,192,0,0,0,5,5,193,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,247,5,5,194,247,192,0,0,0,5,5,192,235,5,5,195,247,5,5,196,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,226,5,5,75,233,192,0,0,0,5,5,39,235,5,5,146,229,5,5,41,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,235,5,5,153,226,5,5,172,234,5,5,202,247,5,5,75,227,5,5,189,231,5,5,201,247,5,5,206,247,5,5,253,232,5,5,61,236,192,0,0,0,5,5,204,247,5,5,205,247,5,5,132,227,192,0,0,0,5,5,207,247,5,5,99,234,5,5,133,232,192,0,0,0,192,0,0,0,5,5,207,234,5,5,127,233,5,5,203,247,192,0,0,0,5,5,193,235,5,5,166,226,5,5,209,247,5,5,30,237,5,5,38,233,5,5,59,237,192,0,0,0,192,0,0,0,5,5,255,229,5,5,208,247,192,0,0,0,5,5,87,232,192,0,0,0,192,0,0,0,5,5,225,247,5,5,238,231,192,0,0,0,192,0,0,0,5,5,26,234,192,0,0,0,5,5,14,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,247,5,5,205,229,5,5,2,230,192,0,0,0,5,5,10,231,192,0,0,0,5,5,101,234,192,0,0,0,5,5,159,228,5,5,211,247,5,5,210,247,192,0,0,0,5,5,40,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,230,192,0,0,0,192,0,0,0,5,5,148,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,247,5,5,215,247,5,5,42,229,5,5,213,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,247,5,5,217,247,192,0,0,0,5,5,219,247,5,5,73,232,192,0,0,0,5,5,218,247,5,5,94,227,192,0,0,0,5,5,221,247,192,0,0,0,5,5,220,247,5,5,222,247,192,0,0,0,192,0,0,0,5,5,224,247,5,5,226,247,192,0,0,0,5,5,227,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,231,192,0,0,0,5,5,61,230,5,5,228,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,226,192,0,0,0,5,5,229,247,192,0,0,0,192,0,0,0,5,5,62,232,5,5,230,247,192,0,0,0,5,5,231,247,5,5,41,235,192,0,0,0,192,0,0,0,5,5,133,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,247,5,5,240,247,192,0,0,0,192,0,0,0,5,5,237,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,247,5,5,241,247,192,0,0,0,5,5,205,227,192,0,0,0,5,5,245,247,192,0,0,0,5,5,191,231,192,0,0,0,5,5,246,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,228,192,0,0,0,5,5,243,247,5,5,244,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,233,192,0,0,0,5,5,239,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,247,192,0,0,0,192,0,0,0,5,5,250,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,247,5,5,249,247,5,5,145,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,233,5,5,253,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,247,5,5,252,247,5,5,254,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,248,5,5,2,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,247,192,0,0,0,5,5,97,233,192,0,0,0,192,0,0,0,5,5,6,248,5,5,10,248,5,5,7,248,5,5,5,248,192,0,0,0,5,5,8,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,231,5,5,13,248,192,0,0,0,192,0,0,0,5,5,15,248,5,5,12,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,248,192,0,0,0,5,5,127,230,192,0,0,0,5,5,17,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,248,192,0,0,0,192,0,0,0,5,5,23,248,5,5,22,248,192,0,0,0,5,5,21,248,192,0,0,0,192,0,0,0,5,5,25,248,5,5,24,248,192,0,0,0,5,5,80,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,248,192,0,0,0,5,5,26,248,5,5,28,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,248,5,5,82,231,5,5,32,248,192,0,0,0,192,0,0,0,5,5,35,228,5,5,33,248,5,5,35,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,248,5,5,34,248,192,0,0,0,5,5,38,248,192,0,0,0,5,5,68,230,5,5,39,248,5,5,134,227,5,5,71,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,234,192,0,0,0,192,0,0,0,5,5,128,233,5,5,41,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,230,192,0,0,0,192,0,0,0,5,5,43,248,5,5,42,248,5,5,110,228,5,5,45,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,226,192,0,0,0,5,5,47,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,229,5,5,46,248,192,0,0,0,5,5,55,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,248,5,5,51,248,5,5,129,235,5,5,48,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,248,192,0,0,0,5,5,54,248,5,5,52,248,5,5,135,227,192,0,0,0,5,5,53,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,248,192,0,0,0,192,0,0,0,5,5,90,234,5,5,238,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,236,5,5,59,248,192,0,0,0,5,5,58,248,192,0,0,0,192,0,0,0,5,5,62,248,5,5,121,236,192,0,0,0,192,0,0,0,5,5,61,248,192,0,0,0,5,5,7,227,5,5,60,248,5,5,65,248,192,0,0,0,192,0,0,0,5,5,64,248,192,0,0,0,192,0,0,0,5,5,63,248,5,5,116,233,5,5,66,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,248,192,0,0,0,192,0,0,0,5,5,62,229,192,0,0,0,5,5,57,228,5,5,69,248,5,5,70,248,5,5,71,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,231,5,5,72,248,192,0,0,0,5,5,27,230,5,5,73,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,238,5,5,7,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,248,5,5,95,245,5,5,76,248,5,5,168,232,5,5,53,231,5,5,64,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,248,192,0,0,0,192,0,0,0,5,5,113,235,5,5,56,233,5,5,80,229,192,0,0,0,192,0,0,0,5,5,173,232,192,0,0,0,192,0,0,0,5,5,6,226,192,0,0,0,5,5,242,235,5,5,97,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,228,192,0,0,0,192,0,0,0,5,5,23,228,192,0,0,0,192,0,0,0,5,5,114,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,248,192,0,0,0,192,0,0,0,5,5,79,248,5,5,154,226,192,0,0,0,192,0,0,0,5,5,24,234,5,5,81,248,5,5,119,234,192,0,0,0,5,5,117,233,192,0,0,0,5,5,82,248,5,5,158,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,248,192,0,0,0,192,0,0,0,5,5,28,236,5,5,99,248,5,5,86,248,5,5,87,248,192,0,0,0,192,0,0,0,5,5,45,233,192,0,0,0,192,0,0,0,5,5,134,232,5,5,63,232,192,0,0,0,5,5,200,233,192,0,0,0,5,5,85,248,5,5,171,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,248,192,0,0,0,5,5,91,248,5,5,104,248,5,5,201,233,5,5,228,232,5,5,88,248,192,0,0,0,5,5,98,233,5,5,149,233,5,5,89,248,5,5,93,248,5,5,106,231,192,0,0,0,5,5,103,234,5,5,48,233,192,0,0,0,192,0,0,0,5,5,170,231,5,5,92,248,5,5,84,232,5,5,74,232,5,5,90,248,5,5,0,135,5,5,24,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,232,192,0,0,0,192,0,0,0,5,5,129,230,5,5,84,231,192,0,0,0,192,0,0,0,5,5,97,248,5,5,96,248,192,0,0,0,5,5,0,205,5,5,98,248,192,0,0,0,192,0,0,0,5,5,235,234,192,0,0,0,5,5,106,248,192,0,0,0,192,0,0,0,5,5,251,233,5,5,117,231,192,0,0,0,192,0,0,0,5,5,221,232,192,0,0,0,5,5,46,228,192,0,0,0,5,5,105,248,5,5,111,236,5,5,27,226,192,0,0,0,5,5,115,235,5,5,155,226,5,5,100,248,5,5,101,248,5,5,102,248,5,5,103,248,5,5,219,233,5,5,167,232,5,5,0,193,5,5,107,248,192,0,0,0,5,5,108,248,5,5,158,250,192,0,0,0,192,0,0,0,5,5,99,232,192,0,0,0,5,5,109,248,192,0,0,0,5,5,79,226,5,5,20,232,192,0,0,0,5,5,161,228,192,0,0,0,5,5,146,236,192,0,0,0,192,0,0,0,5,5,110,248,5,5,110,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,232,5,5,69,230,5,5,111,248,192,0,0,0,192,0,0,0,5,5,114,248,192,0,0,0,192,0,0,0,5,5,177,230,5,5,112,248,5,5,241,231,5,5,240,231,192,0,0,0,5,5,0,194,192,0,0,0,5,5,225,236,5,5,116,248,192,0,0,0,5,5,208,234,5,5,118,248,5,5,117,248,5,5,115,248,5,5,149,244,5,5,76,227,192,0,0,0,192,0,0,0,5,5,83,248,192,0,0,0,5,5,120,248,5,5,119,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,248,192,0,0,0,5,5,112,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,234,192,0,0,0,192,0,0,0,5,5,168,235,192,0,0,0,5,5,122,248,192,0,0,0,5,5,71,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,248,192,0,0,0,5,5,124,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,248,192,0,0,0,192,0,0,0,5,5,99,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,228,5,5,126,248,192,0,0,0,5,5,127,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,236,192,0,0,0,5,5,243,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,233,192,0,0,0,192,0,0,0,5,5,134,248,192,0,0,0,5,5,133,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,233,5,5,135,248,5,5,130,230,5,5,78,230,5,5,91,234,5,5,245,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,230,192,0,0,0,5,5,118,231,192,0,0,0,5,5,136,248,192,0,0,0,5,5,137,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,231,5,5,138,248,192,0,0,0,5,5,139,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,248,5,5,167,236,192,0,0,0,5,5,131,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,248,5,5,141,248,192,0,0,0,5,5,44,229,192,0,0,0,5,5,69,229,5,5,206,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,230,192,0,0,0,5,5,144,248,192,0,0,0,5,5,143,248,192,0,0,0,5,5,143,232,192,0,0,0,192,0,0,0,5,5,225,228,192,0,0,0,5,5,171,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,248,192,0,0,0,5,5,11,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,248,5,5,147,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,248,5,5,150,248,192,0,0,0,192,0,0,0,5,5,38,231,192,0,0,0,5,5,152,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,248,5,5,154,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,234,5,5,131,229,5,5,79,230,5,5,155,248,192,0,0,0,5,5,156,248,5,5,186,236,5,5,145,230,5,5,72,236,5,5,226,236,5,5,157,248,5,5,24,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,248,192,0,0,0,5,5,101,233,192,0,0,0,192,0,0,0,5,5,161,248,5,5,18,227,5,5,85,231,192,0,0,0,5,5,159,248,192,0,0,0,5,5,160,248,192,0,0,0,5,5,68,233,192,0,0,0,192,0,0,0,5,5,207,235,5,5,50,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,248,5,5,164,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,248,192,0,0,0,192,0,0,0,5,5,166,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,233,5,5,219,226,192,0,0,0,192,0,0,0,5,5,170,248,192,0,0,0,192,0,0,0,5,5,167,248,5,5,169,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,248,192,0,0,0,192,0,0,0,5,5,168,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,237,192,0,0,0,192,0,0,0,5,5,204,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,233,5,5,173,248,192,0,0,0,192,0,0,0,5,5,176,248,5,5,174,248,192,0,0,0,5,5,179,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,248,192,0,0,0,192,0,0,0,5,5,185,248,5,5,80,226,192,0,0,0,192,0,0,0,5,5,171,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,234,192,0,0,0,5,5,175,248,192,0,0,0,5,5,12,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,235,192,0,0,0,5,5,26,228,192,0,0,0,192,0,0,0,5,5,146,230,192,0,0,0,5,5,220,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,231,192,0,0,0,5,5,183,248,192,0,0,0,5,5,177,248,5,5,182,248,192,0,0,0,5,5,29,236,192,0,0,0,5,5,28,233,5,5,184,248,5,5,181,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,248,192,0,0,0,5,5,187,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,248,192,0,0,0,192,0,0,0,5,5,169,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,248,5,5,123,235,192,0,0,0,192,0,0,0,5,5,48,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,235,5,5,246,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,227,192,0,0,0,5,5,191,248,192,0,0,0,5,5,47,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,248,5,5,119,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,231,5,5,194,248,5,5,196,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,231,192,0,0,0,5,5,195,248,5,5,197,248,192,0,0,0,192,0,0,0,5,5,9,228,192,0,0,0,5,5,3,235,192,0,0,0,192,0,0,0,5,5,80,230,5,5,25,237,192,0,0,0,5,5,193,248,5,5,168,229,192,0,0,0,192,0,0,0,5,5,53,237,192,0,0,0,192,0,0,0,5,5,199,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,248,5,5,200,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,234,192,0,0,0,5,5,151,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,233,192,0,0,0,5,5,205,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,232,5,5,201,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,228,192,0,0,0,5,5,204,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,248,192,0,0,0,5,5,13,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,248,192,0,0,0,5,5,111,229,5,5,65,232,192,0,0,0,192,0,0,0,5,5,46,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,248,5,5,208,248,5,5,39,233,192,0,0,0,5,5,206,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,248,5,5,111,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,248,5,5,212,248,5,5,215,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,227,192,0,0,0,192,0,0,0,5,5,220,248,5,5,214,248,192,0,0,0,192,0,0,0,5,5,213,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,248,192,0,0,0,192,0,0,0,5,5,223,248,5,5,222,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,231,5,5,202,233,5,5,221,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,248,5,5,227,248,192,0,0,0,5,5,158,232,192,0,0,0,5,5,231,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,248,192,0,0,0,192,0,0,0,5,5,234,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,227,5,5,233,248,5,5,84,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,248,5,5,235,248,192,0,0,0,192,0,0,0,5,5,238,248,192,0,0,0,5,5,236,248,192,0,0,0,5,5,237,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,248,192,0,0,0,5,5,243,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,248,5,5,244,248,5,5,247,248,5,5,249,248,192,0,0,0,5,5,248,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,236,192,0,0,0,5,5,250,248,5,5,244,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,248,192,0,0,0,5,5,96,235,5,5,252,248,5,5,195,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,226,192,0,0,0,5,5,79,227,192,0,0,0,5,5,78,227,5,5,253,248,192,0,0,0,5,5,254,248,192,0,0,0,5,5,255,248,5,5,2,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,249,192,0,0,0,5,5,80,227,5,5,237,226,5,5,48,229,5,5,148,234,192,0,0,0,5,5,5,249,5,5,4,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,249,192,0,0,0,5,5,8,249,5,5,7,249,192,0,0,0,5,5,10,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,165,192,0,0,0,192,0,0,0,5,5,11,249,192,0,0,0,5,5,15,249,5,5,14,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,249,5,5,16,249,5,5,18,249,192,0,0,0,5,5,206,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,249,5,5,22,249,192,0,0,0,192,0,0,0,5,5,21,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,249,192,0,0,0,5,5,149,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,249,5,5,26,249,192,0,0,0,192,0,0,0,5,5,195,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,130,5,5,113,232,192,0,0,0,5,5,27,249,192,0,0,0,5,5,43,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,249,5,5,28,249,5,5,49,229,192,0,0,0,5,5,29,249,5,5,180,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,235,5,5,32,249,5,5,34,249,5,5,33,249,5,5,35,249,192,0,0,0,192,0,0,0,5,5,0,221,5,5,98,231,5,5,200,230,5,5,81,227,5,5,36,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,234,192,0,0,0,5,5,38,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,222,192,0,0,0,5,5,37,249,5,5,40,233,192,0,0,0,5,5,227,236,5,5,203,233,5,5,31,249,5,5,188,236,192,0,0,0,5,5,163,228,192,0,0,0,192,0,0,0,5,5,147,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,228,5,5,202,236,192,0,0,0,5,5,60,228,192,0,0,0,5,5,136,232,5,5,204,245,192,0,0,0,5,5,39,249,5,5,196,226,5,5,121,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,226,5,5,41,249,192,0,0,0,5,5,42,249,5,5,40,249,5,5,120,228,192,0,0,0,5,5,141,229,5,5,15,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,223,192,0,0,0,192,0,0,0,5,5,239,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,249,5,5,113,248,192,0,0,0,5,5,43,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,249,5,5,45,249,5,5,46,249,192,0,0,0,5,5,48,249,192,0,0,0,5,5,49,249,5,5,4,237,5,5,50,249,5,5,51,249,192,0,0,0,5,5,177,231,5,5,153,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,231,5,5,95,227,192,0,0,0,192,0,0,0,5,5,114,236,5,5,167,226,5,5,132,230,5,5,205,228,192,0,0,0,5,5,54,249,192,0,0,0,5,5,53,249,5,5,3,230,5,5,55,249,5,5,52,249,192,0,0,0,192,0,0,0,5,5,182,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,249,5,5,244,246,192,0,0,0,192,0,0,0,5,5,61,238,192,0,0,0,5,5,129,231,5,5,57,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,236,5,5,19,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,226,192,0,0,0,5,5,203,231,5,5,36,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,235,192,0,0,0,5,5,28,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,237,5,5,163,236,192,0,0,0,5,5,60,249,192,0,0,0,5,5,135,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,249,192,0,0,0,5,5,62,249,5,5,86,231,5,5,63,249,192,0,0,0,5,5,6,237,192,0,0,0,192,0,0,0,5,5,58,249,5,5,65,249,5,5,67,249,192,0,0,0,5,5,66,249,192,0,0,0,5,5,64,249,192,0,0,0,192,0,0,0,5,5,68,249,192,0,0,0,192,0,0,0,5,5,69,249,192,0,0,0,192,0,0,0,5,5,66,232,192,0,0,0,5,5,156,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,249,192,0,0,0,192,0,0,0,5,5,18,236,192,0,0,0,192,0,0,0,5,5,71,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,249,192,0,0,0,5,5,32,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,241,5,5,73,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,249,5,5,75,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,249,192,0,0,0,5,5,76,249,192,0,0,0,5,5,77,249,192,0,0,0,5,5,78,249,5,5,80,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,236,192,0,0,0,192,0,0,0,5,5,173,231,192,0,0,0,192,0,0,0,5,5,81,249,192,0,0,0,5,5,209,234,192,0,0,0,5,5,82,249,5,5,112,250,5,5,38,236,192,0,0,0,5,5,83,249,192,0,0,0,5,5,84,249,192,0,0,0,5,5,85,249,5,5,239,226,192,0,0,0,5,5,87,249,192,0,0,0,5,5,99,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,249,192,0,0,0,192,0,0,0,5,5,56,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,249,5,5,93,249,192,0,0,0,5,5,91,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,249,192,0,0,0,192,0,0,0,5,5,13,227,5,5,90,249,5,5,94,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,249,192,0,0,0,5,5,0,166,192,0,0,0,5,5,96,249,5,5,97,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,227,192,0,0,0,192,0,0,0,5,5,101,249,192,0,0,0,192,0,0,0,5,5,100,249,192,0,0,0,5,5,99,249,192,0,0,0,192,0,0,0,5,5,152,247,192,0,0,0,5,5,120,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,249,5,5,103,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,249,192,0,0,0,192,0,0,0,5,5,105,249,192,0,0,0,5,5,106,249,192,0,0,0,192,0,0,0,5,5,107,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,249,5,5,35,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,249,5,5,117,226,192,0,0,0,5,5,114,249,5,5,113,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,227,192,0,0,0,5,5,99,235,5,5,30,233,5,5,82,229,192,0,0,0,5,5,50,229,5,5,179,230,192,0,0,0,5,5,102,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,249,192,0,0,0,192,0,0,0,5,5,115,249,5,5,122,236,5,5,96,227,5,5,176,234,5,5,252,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,231,5,5,228,236,192,0,0,0,5,5,111,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,249,192,0,0,0,192,0,0,0,5,5,118,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,235,5,5,204,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,226,192,0,0,0,192,0,0,0,5,5,120,249,5,5,117,249,192,0,0,0,192,0,0,0,5,5,15,235,5,5,162,236,5,5,121,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,249,5,5,144,232,5,5,243,226,5,5,244,226,5,5,123,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,227,5,5,164,228,192,0,0,0,192,0,0,0,5,5,98,227,192,0,0,0,192,0,0,0,5,5,129,233,192,0,0,0,192,0,0,0,5,5,246,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,249,5,5,127,249,5,5,128,249,192,0,0,0,5,5,130,249,5,5,129,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,235,192,0,0,0,5,5,131,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,249,192,0,0,0,5,5,133,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,249,5,5,135,249,192,0,0,0,5,5,137,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,234,5,5,153,245,192,0,0,0,192,0,0,0,5,5,51,231,192,0,0,0,192,0,0,0,5,5,136,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,249,192,0,0,0,5,5,139,249,192,0,0,0,5,5,19,238,5,5,52,242,5,5,177,234,192,0,0,0,192,0,0,0,5,5,0,217,192,0,0,0,5,5,0,153,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,230,5,5,170,235,5,5,42,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,249,192,0,0,0,5,5,57,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,249,5,5,148,236,192,0,0,0,5,5,30,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,229,192,0,0,0,5,5,142,249,5,5,168,226,5,5,143,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,249,5,5,147,249,192,0,0,0,5,5,149,249,5,5,145,249,192,0,0,0,192,0,0,0,5,5,148,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,249,192,0,0,0,5,5,151,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,249,5,5,153,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,249,192,0,0,0,192,0,0,0,5,5,156,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,249,192,0,0,0,5,5,158,249,5,5,161,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,249,5,5,159,249,5,5,160,249,192,0,0,0,192,0,0,0,5,5,162,249,192,0,0,0,5,5,246,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,230,5,5,163,249,5,5,164,249,5,5,51,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,249,192,0,0,0,192,0,0,0,5,5,214,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,234,5,5,166,249,5,5,167,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,232,5,5,13,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,234,192,0,0,0,192,0,0,0,5,5,114,232,5,5,52,226,5,5,36,228,192,0,0,0,5,5,37,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,232,5,5,173,249,5,5,38,228,192,0,0,0,192,0,0,0,5,5,169,226,192,0,0,0,192,0,0,0,5,5,172,249,192,0,0,0,192,0,0,0,5,5,170,249,192,0,0,0,5,5,171,249,192,0,0,0,5,5,169,249,192,0,0,0,192,0,0,0,5,5,183,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,249,5,5,175,249,192,0,0,0,192,0,0,0,5,5,176,249,5,5,177,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,249,192,0,0,0,192,0,0,0,5,5,178,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,230,192,0,0,0,5,5,180,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,227,5,5,181,249,192,0,0,0,192,0,0,0,5,5,67,232,5,5,165,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,232,192,0,0,0,192,0,0,0,5,5,185,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,249,192,0,0,0,5,5,189,249,192,0,0,0,5,5,188,249,5,5,190,249,192,0,0,0,5,5,187,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,249,192,0,0,0,5,5,195,249,192,0,0,0,192,0,0,0,5,5,247,227,5,5,194,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,249,192,0,0,0,192,0,0,0,5,5,197,249,192,0,0,0,5,5,199,249,5,5,198,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,249,5,5,202,249,5,5,201,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,249,192,0,0,0,192,0,0,0,5,5,204,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,249,192,0,0,0,5,5,208,249,192,0,0,0,5,5,209,249,5,5,210,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,249,5,5,212,249,192,0,0,0,192,0,0,0,5,5,213,249,5,5,214,249,192,0,0,0,192,0,0,0,5,5,215,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,234,5,5,217,249,192,0,0,0,5,5,226,234,5,5,218,249,5,5,216,249,192,0,0,0,5,5,220,249,192,0,0,0,192,0,0,0,5,5,219,249,192,0,0,0,192,0,0,0,5,5,221,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,249,192,0,0,0,5,5,225,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,249,192,0,0,0,192,0,0,0,5,5,227,249,5,5,228,249,192,0,0,0,5,5,229,249,192,0,0,0,5,5,230,249,5,5,231,249,5,5,232,249,5,5,233,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,249,5,5,235,249,192,0,0,0,5,5,46,242,5,5,236,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,245,5,5,138,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,226,5,5,98,229,5,5,238,249,5,5,237,249,5,5,253,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,249,5,5,241,249,5,5,239,249,192,0,0,0,5,5,242,249,192,0,0,0,192,0,0,0,5,5,220,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,249,192,0,0,0,5,5,209,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,156,192,0,0,0,192,0,0,0,5,5,247,249,5,5,71,235,5,5,245,249,192,0,0,0,192,0,0,0,5,5,248,249,5,5,249,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,249,5,5,251,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,249,192,0,0,0,5,5,232,235,5,5,187,229,192,0,0,0,5,5,170,229,5,5,245,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,250,192,0,0,0,192,0,0,0,5,5,227,228,5,5,255,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,250,192,0,0,0,5,5,5,250,5,5,6,250,192,0,0,0,5,5,10,250,192,0,0,0,5,5,184,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,250,5,5,8,250,5,5,7,250,5,5,9,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,250,5,5,14,250,5,5,13,250,192,0,0,0,192,0,0,0,5,5,0,145,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,250,192,0,0,0,5,5,21,250,192,0,0,0,5,5,22,250,5,5,18,250,5,5,24,250,192,0,0,0,5,5,20,250,5,5,250,226,192,0,0,0,192,0,0,0,5,5,66,237,192,0,0,0,5,5,23,250,5,5,19,250,5,5,17,250,5,5,16,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,250,192,0,0,0,192,0,0,0,5,5,29,250,5,5,28,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,235,5,5,26,250,5,5,0,209,5,5,31,250,192,0,0,0,5,5,33,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,227,5,5,12,250,5,5,19,226,192,0,0,0,192,0,0,0,5,5,35,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,250,5,5,32,250,5,5,177,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,236,192,0,0,0,192,0,0,0,5,5,36,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,250,192,0,0,0,5,5,40,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,233,192,0,0,0,5,5,41,250,192,0,0,0,5,5,149,234,192,0,0,0,5,5,46,250,5,5,42,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,250,192,0,0,0,192,0,0,0,5,5,171,235,5,5,30,236,192,0,0,0,5,5,240,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,250,192,0,0,0,192,0,0,0,5,5,48,250,5,5,222,233,5,5,45,250,5,5,44,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,250,192,0,0,0,192,0,0,0,5,5,55,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,250,192,0,0,0,192,0,0,0,5,5,50,250,192,0,0,0,5,5,21,227,192,0,0,0,5,5,49,250,5,5,32,230,5,5,99,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,229,192,0,0,0,192,0,0,0,5,5,59,250,5,5,58,250,192,0,0,0,5,5,57,250,192,0,0,0,192,0,0,0,5,5,54,250,192,0,0,0,5,5,60,250,192,0,0,0,5,5,61,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,250,5,5,65,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,250,192,0,0,0,192,0,0,0,5,5,9,226,5,5,62,250,5,5,63,250,192,0,0,0,5,5,70,229,5,5,19,236,192,0,0,0,192,0,0,0,5,5,64,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,235,192,0,0,0,192,0,0,0,5,5,72,250,192,0,0,0,192,0,0,0,5,5,68,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,250,192,0,0,0,5,5,69,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,250,192,0,0,0,5,5,71,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,250,192,0,0,0,192,0,0,0,5,5,77,250,192,0,0,0,5,5,69,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,250,192,0,0,0,5,5,82,250,5,5,80,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,250,5,5,85,250,192,0,0,0,5,5,78,250,192,0,0,0,5,5,83,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,250,192,0,0,0,5,5,91,250,192,0,0,0,192,0,0,0,5,5,63,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,250,5,5,145,232,5,5,157,229,192,0,0,0,192,0,0,0,5,5,92,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,250,5,5,94,250,192,0,0,0,192,0,0,0,5,5,95,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,250,192,0,0,0,192,0,0,0,5,5,166,228,5,5,97,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,250,192,0,0,0,5,5,29,230,192,0,0,0,5,5,99,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,250,192,0,0,0,192,0,0,0,5,5,101,250,5,5,102,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,250,5,5,103,250,5,5,50,237,192,0,0,0,5,5,104,250,192,0,0,0,5,5,7,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,250,192,0,0,0,5,5,241,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,250,5,5,126,234,192,0,0,0,192,0,0,0,5,5,108,250,5,5,110,250,192,0,0,0,192,0,0,0,5,5,111,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,250,5,5,63,229,5,5,39,236,5,5,221,235,5,5,216,239,192,0,0,0,5,5,89,242,5,5,245,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,250,5,5,166,227,5,5,114,250,5,5,115,250,5,5,116,250,192,0,0,0,5,5,71,229,192,0,0,0,5,5,117,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,243,5,5,53,236,192,0,0,0,5,5,137,232,5,5,118,250,5,5,120,250,5,5,119,250,192,0,0,0,5,5,121,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,250,192,0,0,0,192,0,0,0,5,5,123,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,250,192,0,0,0,5,5,126,250,5,5,127,250,192,0,0,0,5,5,128,250,192,0,0,0,5,5,129,250,5,5,130,250,5,5,131,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,250,5,5,133,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,228,192,0,0,0,5,5,135,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,232,5,5,136,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,234,192,0,0,0,192,0,0,0,5,5,138,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,250,5,5,104,244,192,0,0,0,192,0,0,0,5,5,223,247,5,5,110,249,192,0,0,0,192,0,0,0,5,5,140,250,192,0,0,0,5,5,141,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,250,5,5,144,250,5,5,145,250,5,5,8,237,5,5,142,250,192,0,0,0,192,0,0,0,5,5,146,250,5,5,147,250,192,0,0,0,192,0,0,0,5,5,149,250,192,0,0,0,5,5,148,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,250,5,5,150,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,250,5,5,133,244,192,0,0,0,192,0,0,0,5,5,155,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,247,5,5,11,229,5,5,68,230,5,5,208,247,5,5,4,227,5,5,48,228,5,5,29,228,5,5,154,250,5,5,154,250,5,5,84,228,5,5,24,228,5,5,142,238,5,5,2,234,5,5,144,240,5,5,237,243,5,5,157,236,5,5,176,246,5,5,158,236,5,5,159,236,5,5,121,248,5,5,244,241,5,5,164,236,5,5,23,243,5,5,121,243,5,5,166,236,5,5,167,236,5,5,176,249,5,5,85,237,5,5,169,236,5,5,171,236,5,5,58,243,5,5,174,236,5,5,95,250,5,5,170,236,5,5,172,236,5,5,173,236,5,5,73,247,5,5,196,240,5,5,239,245,192,0,0,0,5,5,35,237,5,5,37,237,5,5,40,237,5,5,43,237,5,5,48,237,5,5,125,237,5,5,250,236,5,5,16,238,192,0,0,0,5,5,28,237,5,5,57,243,5,5,13,244,5,5,45,237,5,5,172,246,5,5,208,236,5,5,31,237,5,5,32,237,5,5,27,237,5,5,157,229,5,5,68,244,5,5,100,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,230,5,5,54,237,5,5,7,239,5,5,36,237,5,5,213,244,5,5,46,237,5,5,42,237,5,5,80,244,5,5,30,237,5,5,163,236,5,5,3,239,192,0,0,0,5,5,7,242,192,0,0,0,5,5,41,237,5,5,245,236,5,5,78,245,5,5,30,249,5,5,86,249,5,5,52,237,5,5,160,250,5,5,213,236,5,5,221,236,5,5,0,155,5,5,229,234,5,5,227,236,5,5,171,247,5,5,185,240,5,5,244,241,5,5,160,232,5,5,180,232,5,5,43,234,5,5,158,233,5,5,190,236,5,5,0,185,5,5,198,235,192,0,0,0,5,5,116,235,5,5,58,235,5,5,18,235,5,5,197,234,5,5,40,241,5,5,167,229,5,5,59,238,5,5,121,229,5,5,244,230,5,5,141,236,192,0,0,0,5,5,180,229,5,5,168,232,5,5,36,233,5,5,114,230,5,5,81,230,5,5,193,236,5,5,194,236,5,5,210,236,5,5,199,237,5,5,225,237,5,5,216,236,5,5,222,236,5,5,223,236,5,5,224,236,5,5,226,236,5,5,22,238,5,5,26,237,5,5,195,230,5,5,233,239,5,5,207,236,5,5,254,242,5,5,61,244,5,5,6,249,5,5,202,249,5,5,7,237,5,5,114,250,5,5,229,236,192,0,0,0,192,0,0,0,5,5,69,248,5,5,47,234,5,5,17,237,5,5,151,240,5,5,50,234,5,5,18,237,5,5,19,237,192,0,0,0,192,0,0,0,5,5,21,237,5,5,22,237,5,5,56,248,5,5,23,237,5,5,24,237,192,0,0,0,5,5,11,237,5,5,12,237,5,5,0,212,5,5,13,237,5,5,14,237,192,0,0,0,5,5,15,237,5,5,48,234,5,5,49,234,192,0,0,0,5,5,20,237,5,5,111,243,5,5,247,236,5,5,191,238,5,5,43,234,5,5,252,236,5,5,253,236,5,5,254,236,5,5,135,243,5,5,134,245,5,5,166,245,5,5,3,237,5,5,5,237,5,5,78,249,5,5,228,236,5,5,249,236,5,5,106,244,5,5,151,248,5,5,50,249,5,5,71,240,5,5,209,236,5,5,211,236,5,5,214,236,5,5,34,234,5,5,215,236,5,5,244,241,5,5,48,243,5,5,219,236,5,5,133,246,5,5,225,236,5,5,204,236,5,5,81,241,5,5,25,249,5,5,195,236,192,0,0,0,5,5,82,236,5,5,196,236,5,5,197,236,5,5,198,236,5,5,199,236,5,5,200,236,5,5,239,234,5,5,246,236,5,5,49,237,5,5,161,240,5,5,188,236,5,5,231,236,5,5,167,239,5,5,164,242,5,5,238,236,5,5,189,236,5,5,106,240,5,5,62,228,5,5,190,236,5,5,202,236,5,5,176,236,5,5,177,236,5,5,178,236,5,5,0,181,5,5,179,236,5,5,180,236,5,5,103,233,5,5,181,236,5,5,183,236,5,5,140,240,5,5,184,236,5,5,185,236,5,5,186,236,5,5,187,236,5,5,223,233,5,5,112,233,5,5,78,238,5,5,235,236,192,0,0,0,5,5,171,246,5,5,239,236,5,5,240,236,5,5,241,236,5,5,233,236,5,5,234,236,5,5,237,236,5,5,191,236,5,5,246,226,5,5,201,236,192,0,0,0,5,5,12,243,5,5,31,230,5,5,134,230,5,5,231,232,5,5,215,229,5,5,194,231,5,5,155,233,5,5,153,232,5,5,190,233,5,5,150,232,5,5,214,233,5,5,183,235,5,5,58,248,5,5,38,229,5,5,49,229,5,5,157,228,5,5,223,226,5,5,193,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,233,192,0,0,0,5,5,154,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,232,5,5,51,226,5,5,255,236,5,5,74,231,5,5,247,230,5,5,61,235,5,5,81,236,5,5,162,231,5,5,5,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,230,192,0,0,0,192,0,0,0,5,5,0,205,5,5,150,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,234,5,5,4,230,5,5,83,227,5,5,69,233,192,0,0,0,5,5,4,237,5,5,44,235,5,5,22,232,5,5,34,236,5,5,117,235,5,5,6,228,5,5,186,234,5,5,253,226,5,5,182,232,5,5,103,227,5,5,89,235,5,5,201,235,5,5,32,232,5,5,134,239,5,5,179,226,5,5,204,226,5,5,70,232,5,5,12,233,5,5,16,235,5,5,115,227,5,5,183,230,5,5,95,234,5,5,188,226,5,5,185,230,5,5,57,227,5,5,63,230,192,0,0,0,5,5,156,232,5,5,200,234,5,5,64,230,5,5,241,229,5,5,125,227,5,5,108,236,5,5,12,232,5,5,151,230,5,5,140,226,5,5,91,233,5,5,68,229,5,5,237,233,5,5,201,231,5,5,21,237,5,5,69,245,5,5,169,234,5,5,188,230,5,5,66,230,5,5,121,230,192,0,0,0,192,0,0,0,5,5,252,232,5,5,6,227,5,5,249,229,5,5,54,226,5,5,22,228,5,5,14,235,5,5,73,232,192,0,0,0,5,5,0,205,5,5,19,234,5,5,245,227,5,5,15,235,5,5,87,228,192,0,0,0,5,5,84,227,192,0,0,0,192,0,0,0,5,5,94,235,5,5,222,237,5,5,250,231,192,0,0,0,5,5,136,230,5,5,202,237,5,5,94,236,5,5,73,230,5,5,253,226,192,0,0,0,5,5,129,238,192,0,0,0,5,5,49,233,5,5,75,235,5,5,62,226,5,5,213,235,5,5,60,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,229,5,5,21,240,5,5,80,240,5,5,63,231,5,5,86,236,5,5,70,232,192,0,0,0,5,5,12,233,5,5,125,232,5,5,230,240,5,5,208,240,192,0,0,0,5,5,33,241,5,5,154,231,5,5,37,237,5,5,184,235,5,5,31,231,5,5,63,242,5,5,180,229,5,5,196,236,192,0,0,0,5,5,16,230,5,5,57,227,5,5,244,233,5,5,63,230,192,0,0,0,5,5,77,230,5,5,166,234,5,5,250,232,192,0,0,0,192,0,0,0,5,5,162,226,192,0,0,0,5,5,220,243,5,5,51,226,5,5,161,231,5,5,34,233,192,0,0,0,5,5,233,232,192,0,0,0,192,0,0,0,5,5,201,231,192,0,0,0,5,5,37,245,5,5,21,237,192,0,0,0,5,5,66,230,5,5,37,229,5,5,148,226,192,0,0,0,5,5,63,247,5,5,64,235,5,5,249,229,5,5,24,233,5,5,192,230,5,5,169,231,5,5,54,226,5,5,160,232,5,5,89,236,5,5,22,228,5,5,43,241,5,5,73,232,5,5,90,236,5,5,114,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,234,5,5,81,236,192,0,0,0,5,5,245,227,192,0,0,0,5,5,15,235,192,0,0,0,5,5,154,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,14,0,202,193,14,0,202,226,14,0,202,3,15,0,202,36,15,0,202,69,15,0,202,102,15,0,202,135,15,0,202,168,15,0,202,201,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,192,0,0,0,192,0,0,0,133,5,24,9,133,5,70,10,133,5,72,10,133,5,34,7,192,0,0,0,198,65,13,0,198,1,0,0,198,65,0,0,198,129,0,0,198,193,0,0,198,1,1,0,198,97,11,0,198,161,11,0,198,225,11,0,198,193,5,0,192,0,0,0,198,33,0,0,198,97,0,0,198,161,0,0,198,225,0,0,198,33,1,0,198,65,1,0,198,161,1,0,198,1,2,0,198,97,2,0,198,193,2,0,198,33,3,0,198,129,3,0,198,225,3,0,198,65,4,0,198,161,4,0,198,1,5,0,198,97,5,0,198,225,5,0,198,65,6,0,198,161,6,0,198,1,7,0,198,33,7,0,198,65,7,0,198,97,7,0,198,129,7,0,198,161,7,0,198,65,8,0,198,225,8,0,198,129,9,0,198,33,10,0,198,193,10,0,198,225,10,0,198,1,11,0,198,33,11,0,198,65,11,0,198,129,11,0,198,193,11,0,198,1,12,0,198,33,12,0,198,65,12,0,198,97,12,0,198,129,12,0,198,161,12,0,198,225,12,0,198,97,13,0,192,0,0,0,192,0,0,0,198,129,35,0,133,5,6,121,133,5,8,121,133,5,183,121,133,5,10,121,133,5,187,121,133,5,189,121,133,5,12,121,133,5,14,121,133,5,16,121,133,5,195,121,133,5,197,121,133,5,199,121,133,5,201,121,133,5,203,121,133,5,205,121,133,5,52,121,133,5,18,121,133,5,20,121,133,5,22,121,133,5,66,121,133,5,24,121,133,5,26,121,133,5,28,121,133,5,30,121,133,5,32,121,133,5,34,121,133,5,36,121,133,5,38,121,133,5,40,121,133,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,133,5,103,121,133,5,105,121,133,5,107,121,133,5,109,121,133,5,111,121,133,5,113,121,192,0,0,0,192,0,0,0,133,5,115,121,133,5,117,121,133,5,119,121,133,5,121,121,133,5,123,121,133,5,125,121,192,0,0,0,192,0,0,0,133,5,127,121,133,5,129,121,133,5,131,121,133,5,133,121,133,5,135,121,133,5,137,121,192,0,0,0,192,0,0,0,133,5,139,121,133,5,141,121,133,5,143,121,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,13,5,5,140,13,5,5,135,12,5,5,0,4,5,5,139,12,5,5,142,13,5,5,192,13,192,0,0,0,133,5,172,12,133,5,99,12,133,5,103,12,133,5,101,12,133,5,105,12,133,5,180,12,133,5,185,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,234,5,5,22,232,5,5,68,232,192,0,0,0,192,0,0,0,5,5,34,236,5,5,196,237,192,0,0,0,5,5,39,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,229,192,0,0,0,5,5,21,231,5,5,212,237,192,0,0,0,5,5,161,233,5,5,222,237,192,0,0,0,5,5,232,237,5,5,89,231,192,0,0,0,5,5,65,229,192,0,0,0,5,5,252,226,192,0,0,0,192,0,0,0,5,5,94,236,5,5,117,235,5,5,6,228,5,5,73,230,5,5,141,235,5,5,25,238,5,5,198,235,5,5,42,238,5,5,186,234,5,5,110,234,5,5,78,232,192,0,0,0,5,5,222,227,5,5,222,227,5,5,222,227,192,0,0,0,5,5,189,226,5,5,176,227,5,5,62,238,192,0,0,0,5,5,223,227,5,5,38,230,192,0,0,0,192,0,0,0,5,5,177,227,5,5,76,233,5,5,108,230,5,5,95,238,192,0,0,0,5,5,164,233,5,5,80,228,5,5,119,238,5,5,247,231,5,5,247,231,5,5,129,238,5,5,160,227,192,0,0,0,192,0,0,0,5,5,201,238,5,5,182,232,192,0,0,0,192,0,0,0,5,5,74,235,5,5,194,231,5,5,28,232,5,5,23,231,5,5,41,231,192,0,0,0,5,5,83,228,192,0,0,0,5,5,143,235,192,0,0,0,192,0,0,0,5,5,100,234,5,5,63,233,192,0,0,0,5,5,101,232,5,5,14,236,5,5,31,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,239,5,5,82,239,192,0,0,0,5,5,102,239,192,0,0,0,5,5,43,234,5,5,115,239,192,0,0,0,5,5,101,230,5,5,215,230,5,5,184,233,5,5,122,239,192,0,0,0,5,5,141,233,5,5,134,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,230,192,0,0,0,192,0,0,0,5,5,171,232,192,0,0,0,5,5,179,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,230,5,5,35,237,192,0,0,0,5,5,239,239,192,0,0,0,192,0,0,0,5,5,248,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,228,5,5,10,233,192,0,0,0,192,0,0,0,5,5,38,234,5,5,228,229,192,0,0,0,5,5,59,240,192,0,0,0,192,0,0,0,5,5,179,226,192,0,0,0,5,5,247,233,5,5,12,230,5,5,4,229,5,5,63,231,5,5,4,229,192,0,0,0,5,5,70,232,5,5,143,228,5,5,76,235,192,0,0,0,192,0,0,0,5,5,12,233,5,5,144,240,5,5,150,231,5,5,157,240,192,0,0,0,5,5,150,235,5,5,179,240,5,5,205,240,192,0,0,0,5,5,178,234,192,0,0,0,5,5,60,230,5,5,37,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,226,192,0,0,0,5,5,218,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,235,5,5,93,228,192,0,0,0,192,0,0,0,5,5,189,230,5,5,70,241,192,0,0,0,5,5,183,230,192,0,0,0,192,0,0,0,5,5,187,235,5,5,210,237,5,5,119,229,192,0,0,0,5,5,186,245,192,0,0,0,5,5,37,237,5,5,184,235,192,0,0,0,5,5,116,241,5,5,75,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,241,192,0,0,0,5,5,95,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,228,192,0,0,0,5,5,15,230,192,0,0,0,5,5,58,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,229,5,5,228,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,234,192,0,0,0,5,5,68,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,234,5,5,188,226,5,5,196,236,5,5,18,229,5,5,69,231,5,5,145,242,192,0,0,0,192,0,0,0,5,5,19,229,5,5,167,242,192,0,0,0,5,5,16,230,192,0,0,0,192,0,0,0,5,5,146,242,5,5,16,233,192,0,0,0,192,0,0,0,5,5,238,242,192,0,0,0,5,5,244,233,5,5,255,242,192,0,0,0,192,0,0,0,5,5,130,229,192,0,0,0,5,5,190,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,243,5,5,77,230,192,0,0,0,192,0,0,0,5,5,132,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,243,5,5,96,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,243,192,0,0,0,192,0,0,0,5,5,144,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,244,5,5,73,231,5,5,73,231,192,0,0,0,192,0,0,0,5,5,38,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,232,192,0,0,0,192,0,0,0,5,5,61,235,192,0,0,0,192,0,0,0,5,5,68,229,192,0,0,0,5,5,116,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,244,5,5,223,232,192,0,0,0,192,0,0,0,5,5,6,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,227,192,0,0,0,5,5,34,245,192,0,0,0,5,5,45,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,245,192,0,0,0,192,0,0,0,5,5,0,199,192,0,0,0,192,0,0,0,5,5,206,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,245,192,0,0,0,5,5,27,230,192,0,0,0,192,0,0,0,5,5,0,208,5,5,53,230,192,0,0,0,5,5,144,226,5,5,161,235,5,5,164,226,5,5,34,228,192,0,0,0,5,5,81,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,246,5,5,90,246,192,0,0,0,5,5,252,232,192,0,0,0,5,5,156,227,5,5,19,228,5,5,138,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,227,5,5,208,236,5,5,181,246,192,0,0,0,5,5,185,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,231,5,5,89,236,5,5,43,241,5,5,186,247,192,0,0,0,5,5,75,227,5,5,209,247,192,0,0,0,5,5,133,227,192,0,0,0,192,0,0,0,5,5,242,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,235,192,0,0,0,5,5,128,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,234,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,64,3,0,5,0,0,6,122,64,133,0,5,0,0,6,122,64,3,0,5,0,0,8,122,64,133,0,5,0,0,8,122,64,3,0,5,0,0,10,122,64,133,0,5,0,0,10,122,64,3,0,5,0,0,14,122,64,133,0,5,0,0,14,122,64,3,0,5,0,0,16,122,64,133,0,5,0,0,16,122,64,133,0,5,0,0,18,122,64,133,0,5,0,0,18,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,20,122,64,133,0,5,0,0,20,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,22,122,64,133,0,5,0,0,22,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,24,122,64,133,0,5,0,0,24,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,26,122,64,133,0,5,0,0,26,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,28,122,64,133,0,5,0,0,28,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,30,122,64,133,0,5,0,0,30,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,32,122,64,133,0,5,0,0,32,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,34,122,64,133,0,5,0,0,34,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,36,122,64,133,0,5,0,0,36,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,38,122,64,133,0,5,0,0,38,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,40,122,64,133,0,5,0,0,40,122,0,5,0,174,0,0,0,0,64,3,0,5,0,0,42,122,64,133,0,5,0,0,42,122,64,133,0,5,0,0,42,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,44,122,64,133,0,5,0,0,44,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,46,122,64,133,0,5,0,0,46,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,48,122,64,133,0,5,0,0,50,122,64,133,0,5,0,0,52,122,64,133,0,5,0,0,54,122,64,133,0,5,0,0,56,122,64,133,0,5,0,0,58,122,64,133,0,5,0,0,58,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,58,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,60,122,64,133,0,5,0,0,60,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,60,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,62,122,64,133,0,5,0,0,62,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,62,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,64,122,64,133,0,5,0,0,64,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,64,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,66,122,64,133,0,5,0,0,66,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,66,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,68,122,64,133,0,5,0,0,70,122,64,133,0,5,0,0,72,122,64,133,0,5,0,0,74,122,64,133,0,5,0,0,76,122,64,3,0,5,0,0,78,122,64,133,0,5,0,0,78,122,64,3,0,5,0,0,80,122,64,133,0,5,0,0,80,122,64,3,0,5,0,0,82,122,64,133,0,5,0,0,82,122,64,133,0,5,0,0,84,122,64,133,0,5,0,0,86,122,64,133,0,5,0,0,88,122,64,133,0,5,0,0,90,122,64,133,0,5,0,0,92,122,64,3,0,5,0,0,94,122,64,133,0,5,0,0,94,122,64,133,0,5,0,0,96,122,64,133,0,5,0,0,98,122,64,133,0,5,0,0,100,122,64,133,0,5,0,0,102,122,64,133,0,5,0,0,10,122,0,5,0,174,0,0,0,0,64,3,0,5,0,0,18,122,64,3,0,5,0,0,24,122,64,133,0,5,0,0,94,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,96,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,98,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,100,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,6,122,64,2,0,5,0,0,8,122,64,2,0,5,0,0,10,122,64,2,0,5,0,0,14,122,64,2,0,5,0,0,16,122,64,5,0,5,0,0,116,13,64,4,0,5,0,0,6,122,64,4,0,5,0,0,8,122,64,4,0,5,0,0,10,122,64,4,0,5,0,0,14,122,64,4,0,5,0,0,16,122,64,4,0,5,0,0,18,122,0,5,0,5,0,0,18,122,64,2,0,174,0,0,0,0,64,2,0,5,0,0,20,122,64,2,0,5,0,0,22,122,64,4,0,5,0,0,24,122,0,5,0,5,0,0,24,122,64,3,0,174,0,0,0,0,64,2,0,5,0,0,26,122,64,2,0,5,0,0,28,122,64,4,0,5,0,0,30,122,64,4,0,5,0,0,32,122,64,2,0,5,0,0,34,122,64,2,0,5,0,0,36,122,64,2,0,5,0,0,38,122,64,2,0,5,0,0,40,122,64,4,0,5,0,0,42,122,64,2,0,5,0,0,44,122,64,2,0,5,0,0,46,122,64,2,0,5,0,0,48,122,64,2,0,5,0,0,50,122,64,2,0,5,0,0,52,122,64,2,0,5,0,0,54,122,64,2,0,5,0,0,56,122,64,2,0,5,0,0,58,122,64,2,0,5,0,0,60,122,64,2,0,5,0,0,62,122,64,2,0,5,0,0,64,122,64,2,0,5,0,0,66,122,64,4,0,5,0,0,68,122,64,2,0,5,0,0,70,122,64,2,0,5,0,0,72,122,64,4,0,5,0,0,74,122,64,2,0,5,0,0,76,122,64,4,0,5,0,0,78,122,64,4,0,5,0,0,80,122,64,4,0,5,0,0,82,122,64,2,0,5,0,0,84,122,64,2,0,5,0,0,86,122,64,2,0,5,0,0,88,122,64,2,0,5,0,0,90,122,64,2,0,5,0,0,92,122,64,4,0,5,0,0,94,122,64,4,0,5,0,0,96,122,64,4,0,5,0,0,98,122,64,4,0,5,0,0,100,122,64,2,0,5,0,0,102,122,64,5,0,5,0,0,116,13,0,5,0,174,0,0,0,0,64,4,0,5,0,0,6,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,8,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,10,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,14,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,16,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,18,122,0,5,0,174,0,0,0,0,0,5,0,5,0,0,18,122,64,2,0,174,0,0,0,0,0,5,0,174,0,0,0,0,64,2,0,5,0,0,20,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,22,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,24,122,0,5,0,174,0,0,0,0,0,5,0,5,0,0,24,122,64,3,0,174,0,0,0,0,0,5,0,174,0,0,0,0,64,2,0,5,0,0,26,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,28,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,30,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,32,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,34,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,36,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,38,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,40,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,42,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,44,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,46,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,48,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,50,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,52,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,54,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,56,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,58,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,60,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,62,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,64,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,66,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,68,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,70,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,72,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,74,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,76,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,78,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,80,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,82,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,84,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,86,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,88,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,90,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,92,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,94,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,96,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,98,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,100,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,102,122,0,5,0,174,0,0,0,0,64,5,0,5,0,0,26,122,0,5,0,70,0,0,46,122,0,133,0,5,0,247,101,121,0,0,0,0,5,5,18,122,2,174,0,0,5,5,24,122,3,174,0,0,5,5,116,13,5,174,0,0,4,5,6,122,5,174,0,0,4,5,8,122,5,174,0,0,4,5,10,122,5,174,0,0,4,5,14,122,5,174,0,0,4,5,16,122,5,174,0,0,4,5,18,122,5,174,0,0,5,5,18,122,2,174,0,0,5,174,0,0,2,5,20,122,5,174,0,0,2,5,22,122,5,174,0,0,4,5,24,122,5,174,0,0,5,5,24,122,3,174,0,0,5,174,0,0,2,5,26,122,5,174,0,0,2,5,28,122,5,174,0,0,4,5,30,122,5,174,0,0,4,5,32,122,5,174,0,0,2,5,34,122,5,174,0,0,2,5,36,122,5,174,0,0,2,5,38,122,5,174,0,0,2,5,40,122,5,174,0,0,4,5,42,122,5,174,0,0,2,5,44,122,5,174,0,0,2,5,46,122,5,174,0,0,2,5,48,122,5,174,0,0,2,5,50,122,5,174,0,0,2,5,52,122,5,174,0,0,2,5,54,122,5,174,0,0,2,5,56,122,5,174,0,0,2,5,58,122,5,174,0,0,2,5,60,122,5,174,0,0,2,5,62,122,5,174,0,0,2,5,64,122,5,174,0,0,2,5,66,122,5,174,0,0,4,5,68,122,5,174,0,0,2,5,70,122,5,174,0,0,2,5,72,122,5,174,0,0,4,5,74,122,5,174,0,0,2,5,76,122,5,174,0,0,4,5,78,122,5,174,0,0,4,5,80,122,5,174,0,0,4,5,82,122,5,174,0,0,2,5,84,122,5,174,0,0,2,5,86,122,5,174,0,0,2,5,88,122,5,174,0,0,2,5,90,122,5,174,0,0,2,5,92,122,5,174,0,0,4,5,94,122,5,174,0,0,4,5,96,122,5,174,0,0,4,5,98,122,5,174,0,0,4,5,100,122,5,174,0,0,2,5,102,122,5,174,0,0,5,5,82,122,5,70,86,122,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,116,13,5,5,0,0,87,0,109,48,48,1,131,48,204,0,142,48,154,0,147,48,132,0,150,48,118,0,150,48,255,255,24,122,4,5,153,48,22,0,154,48,4,0,111,48,255,255,58,122,2,5,114,48,255,255,60,122,2,5,117,48,255,255,62,122,2,5,120,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,20,0,93,48,48,0,104,48,26,0,117,48,12,0,117,48,255,255,62,122,2,5,120,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,104,48,255,255,46,122,2,5,111,48,255,255,58,122,2,5,114,48,255,255,60,122,2,5,93,48,255,255,36,122,2,5,95,48,255,255,38,122,2,5,97,48,255,255,40,122,2,5,100,48,255,255,42,122,4,5,102,48,255,255,44,122,2,5,83,48,20,0,83,48,255,255,26,122,2,5,85,48,255,255,28,122,2,5,87,48,255,255,30,122,4,5,89,48,255,255,32,122,4,5,91,48,255,255,34,122,2,5,70,48,255,255,10,122,4,5,75,48,197,162,77,48,255,255,20,122,2,5,79,48,255,255,22,122,2,5,81,48,0,192,197,98,147,48,255,255,102,122,2,5,148,48,255,255,10,122,4,5,149,48,255,255,18,122,4,5,142,48,255,255,94,122,4,5,143,48,255,255,94,122,4,5,144,48,255,255,96,122,4,5,145,48,255,255,98,122,4,5,146,48,255,255,100,122,4,5,136,48,26,0,139,48,12,0,139,48,255,255,88,122,2,5,140,48,255,255,90,122,2,5,141,48,255,255,92,122,2,5,136,48,255,255,82,122,4,5,137,48,255,255,84,122,2,5,138,48,255,255,86,122,2,5,131,48,255,255,78,122,4,5,132,48,255,255,78,122,4,5,133,48,255,255,80,122,4,5,134,48,255,255,80,122,4,5,135,48,255,255,82,122,4,5,120,48,48,0,125,48,26,0,128,48,12,0,128,48,255,255,72,122,2,5,129,48,255,255,74,122,4,5,130,48,255,255,76,122,2,5,125,48,255,255,66,122,2,5,126,48,255,255,68,122,4,5,127,48,255,255,70,122,2,5,120,48,255,255,64,122,2,5,121,48,255,255,64,122,2,5,122,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,124,48,255,255,66,122,2,5,114,48,26,0,117,48,12,0,117,48,255,255,62,122,2,5,118,48,255,255,62,122,2,5,119,48,255,255,62,122,2,5,114,48,255,255,60,122,2,5,115,48,255,255,60,122,2,5,116,48,255,255,60,122,2,5,109,48,255,255,54,122,2,5,110,48,255,255,56,122,2,5,111,48,255,255,58,122,2,5,112,48,255,255,58,122,2,5,113,48,255,255,58,122,2,5,87,48,98,0,98,48,48,0,103,48,26,0,106,48,12,0,106,48,255,255,48,122,2,5,107,48,255,255,50,122,2,5,108,48,255,255,52,122,2,5,103,48,255,255,44,122,2,5,104,48,255,255,46,122,2,5,105,48,255,255,46,122,2,5,98,48,255,255,40,122,2,5,99,48,255,255,42,122,4,5,100,48,255,255,42,122,4,5,101,48,255,255,42,122,4,5,102,48,255,255,44,122,2,5,92,48,26,0,95,48,12,0,95,48,255,255,38,122,2,5,96,48,255,255,38,122,2,5,97,48,255,255,40,122,2,5,92,48,255,255,34,122,2,5,93,48,255,255,36,122,2,5,94,48,255,255,36,122,2,5,87,48,255,255,30,122,4,5,88,48,255,255,30,122,4,5,89,48,255,255,32,122,4,5,90,48,255,255,32,122,4,5,91,48,255,255,34,122,2,5,76,48,45,0,81,48,25,0,84,48,12,0,84,48,255,255,26,122,2,5,85,48,255,255,28,122,2,5,86,48,255,255,28,122,2,5,81,48,255,255,24,122,4,5,82,48,0,192,197,98,83,48,255,255,26,122,2,5,76,48,197,162,77,48,255,255,20,122,2,5,78,48,255,255,20,122,2,5,79,48,255,255,22,122,2,5,80,48,255,255,22,122,2,5,70,48,26,0,73,48,12,0,73,48,255,255,16,122,4,5,74,48,255,255,16,122,4,5,75,48,255,255,18,122,4,5,70,48,255,255,10,122,4,5,71,48,255,255,14,122,4,5,72,48,255,255,14,122,4,5,65,48,255,255,6,122,4,5,66,48,255,255,6,122,4,5,67,48,255,255,8,122,4,5,68,48,255,255,8,122,4,5,69,48,255,255,10,122,4,5,0,0,197,162,0,0,87,0,109,48,239,0,131,48,161,0,142,48,122,0,147,48,105,0,150,48,94,0,150,48,3,192,197,66,153,48,17,0,154,48,4,0,111,48,7,192,197,226,114,48,8,192,197,34,117,48,8,192,197,98,120,48,8,192,197,162,123,48,8,192,197,226,20,0,93,48,37,0,104,48,20,0,117,48,9,0,117,48,8,192,197,98,120,48,8,192,197,162,123,48,8,192,197,226,104,48,6,192,197,98,111,48,7,192,197,226,114,48,8,192,197,34,93,48,5,192,197,34,95,48,5,192,197,98,97,48,5,192,197,162,100,48,5,192,197,226,102,48,6,192,197,34,83,48,15,0,83,48,3,192,197,226,85,48,4,192,197,34,87,48,4,192,197,98,89,48,4,192,197,162,91,48,4,192,197,226,70,48,1,192,197,98,75,48,2,192,197,99,77,48,2,192,197,194,79,48,3,192,197,2,81,48,3,192,197,131,147,48,13,192,197,98,148,48,1,192,197,98,149,48,2,192,197,34,142,48,12,192,197,98,143,48,12,192,197,98,144,48,12,192,197,162,145,48,12,192,197,226,146,48,13,192,197,34,136,48,20,0,139,48,9,0,139,48,11,192,197,162,140,48,11,192,197,226,141,48,12,192,197,34,136,48,10,192,197,226,137,48,11,192,197,34,138,48,11,192,197,98,131,48,10,192,197,98,132,48,10,192,197,98,133,48,10,192,197,162,134,48,10,192,197,162,135,48,10,192,197,226,120,48,37,0,125,48,20,0,128,48,9,0,128,48,9,192,197,162,129,48,9,192,197,226,130,48,10,192,197,34,125,48,8,192,197,226,126,48,9,192,197,34,127,48,9,192,197,98,120,48,8,192,197,162,121,48,8,192,197,162,122,48,8,192,197,162,123,48,8,192,197,226,124,48,8,192,197,226,114,48,20,0,117,48,9,0,117,48,8,192,197,98,118,48,8,192,197,98,119,48,8,192,197,98,114,48,8,192,197,34,115,48,8,192,197,34,116,48,8,192,197,34,109,48,7,192,197,98,110,48,7,192,197,162,111,48,7,192,197,226,112,48,7,192,197,226,113,48,7,192,197,226,87,48,76,0,98,48,37,0,103,48,20,0,106,48,9,0,106,48,6,192,197,162,107,48,6,192,197,226,108,48,7,192,197,34,103,48,6,192,197,34,104,48,6,192,197,98,105,48,6,192,197,98,98,48,5,192,197,162,99,48,5,192,197,226,100,48,5,192,197,226,101,48,5,192,197,226,102,48,6,192,197,34,92,48,20,0,95,48,9,0,95,48,5,192,197,98,96,48,5,192,197,98,97,48,5,192,197,162,92,48,4,192,197,226,93,48,5,192,197,34,94,48,5,192,197,34,87,48,4,192,197,98,88,48,4,192,197,98,89,48,4,192,197,162,90,48,4,192,197,162,91,48,4,192,197,226,76,48,37,0,81,48,20,0,84,48,9,0,84,48,3,192,197,226,85,48,4,192,197,34,86,48,4,192,197,34,81,48,3,192,197,66,82,48,3,192,197,131,83,48,3,192,197,226,76,48,2,192,197,99,77,48,2,192,197,194,78,48,2,192,197,194,79,48,3,192,197,2,80,48,3,192,197,2,70,48,20,0,73,48,9,0,73,48,1,192,197,226,74,48,1,192,197,226,75,48,2,192,197,34,70,48,1,192,197,98,71,48,1,192,197,162,72,48,1,192,197,162,65,48,0,192,197,226,66,48,0,192,197,226,67,48,1,192,197,34,68,48,1,192,197,34,69,48,1,192,197,98,118,13,5,5,0,0,245,0,197,48,175,1,248,49,216,0,126,255,107,0,141,255,54,0,149,255,26,0,153,255,12,0,153,255,15,192,198,65,154,255,15,192,198,97,155,255,15,192,198,129,156,255,15,192,198,1,149,255,15,192,198,65,150,255,15,192,198,129,151,255,15,192,198,1,152,255,15,192,198,33,145,255,12,0,145,255,15,192,198,65,146,255,15,192,198,97,147,255,15,192,198,129,148,255,15,192,198,1,141,255,15,192,198,97,142,255,15,192,198,129,143,255,15,192,198,1,144,255,15,192,198,33,133,255,26,0,137,255,12,0,137,255,15,192,198,129,138,255,15,192,198,1,139,255,15,192,198,33,140,255,15,192,198,65,133,255,15,192,198,1,134,255,15,192,198,33,135,255,15,192,198,65,136,255,15,192,198,97,129,255,12,0,129,255,15,192,198,33,130,255,15,192,198,65,131,255,15,192,198,97,132,255,15,192,198,129,126,255,15,192,198,97,127,255,15,192,198,129,128,255,15,192,198,1,109,255,54,0,118,255,26,0,122,255,12,0,122,255,15,192,198,129,123,255,15,192,198,1,124,255,15,192,198,33,125,255,15,192,198,65,118,255,15,192,198,1,119,255,15,192,198,33,120,255,15,192,198,65,121,255,15,192,198,97,114,255,12,0,114,255,15,192,198,33,115,255,15,192,198,65,116,255,15,192,198,97,117,255,15,192,198,129,109,255,15,192,198,65,110,255,15,192,198,129,111,255,15,192,198,65,113,255,15,192,198,1,255,49,26,0,105,255,12,0,105,255,15,192,198,65,106,255,15,192,198,97,107,255,15,192,198,129,108,255,15,192,198,1,255,49,15,192,198,129,102,255,15,192,198,129,103,255,15,192,198,1,104,255,15,192,198,33,251,49,12,0,251,49,15,192,198,1,252,49,15,192,198,33,253,49,15,192,198,65,254,49,15,192,198,97,248,49,15,192,198,97,249,49,15,192,198,129,250,49,15,192,198,65,227,48,107,0,242,48,54,0,240,49,26,0,244,49,12,0,244,49,15,192,198,65,245,49,15,192,198,1,246,49,15,192,198,33,247,49,15,192,198,65,240,49,15,192,198,65,241,49,15,192,198,33,242,49,15,192,198,65,243,49,15,192,198,129,247,48,12,0,247,48,15,192,198,1,248,48,15,192,198,33,249,48,15,192,198,97,250,48,15,192,198,129,242,48,15,192,198,129,244,48,15,192,198,65,245,48,15,192,198,1,246,48,15,192,198,97,234,48,26,0,238,48,12,0,238,48,15,192,198,1,239,48,15,192,198,1,240,48,15,192,198,33,241,48,15,192,198,97,234,48,15,192,198,33,235,48,15,192,198,65,236,48,15,192,198,97,237,48,15,192,198,129,230,48,12,0,230,48,15,192,198,65,231,48,15,192,198,129,232,48,15,192,198,129,233,48,15,192,198,1,227,48,15,192,198,1,228,48,15,192,198,1,229,48,15,192,198,65,212,48,51,0,219,48,26,0,223,48,12,0,223,48,15,192,198,33,224,48,15,192,198,65,225,48,15,192,198,97,226,48,15,192,198,129,219,48,15,192,198,129,220,48,15,192,198,129,221,48,15,192,198,129,222,48,15,192,198,1,215,48,12,0,215,48,15,192,198,65,216,48,15,192,198,97,217,48,15,192,198,97,218,48,15,192,198,97,212,48,15,192,198,33,213,48,15,192,198,65,214,48,15,192,198,65,204,48,26,0,208,48,12,0,208,48,15,192,198,1,209,48,15,192,198,1,210,48,15,192,198,33,211,48,15,192,198,33,204,48,15,192,198,65,205,48,15,192,198,97,206,48,15,192,198,129,207,48,15,192,198,1,200,48,12,0,200,48,15,192,198,129,201,48,15,192,198,129,202,48,15,192,198,1,203,48,15,192,198,33,197,48,15,192,198,65,198,48,15,192,198,97,199,48,15,192,198,97,126,48,206,1,166,48,107,0,181,48,54,0,189,48,26,0,193,48,12,0,193,48,15,192,198,33,194,48,15,192,198,33,195,48,15,192,198,65,196,48,15,192,198,65,189,48,15,192,198,129,190,48,15,192,198,129,191,48,15,192,198,1,192,48,15,192,198,1,185,48,12,0,185,48,15,192,198,65,186,48,15,192,198,65,187,48,15,192,198,97,188,48,15,192,198,97,181,48,15,192,198,1,182,48,15,192,198,1,183,48,15,192,198,33,184,48,15,192,198,33,173,48,26,0,177,48,12,0,177,48,15,192,198,97,178,48,15,192,198,97,179,48,15,192,198,129,180,48,15,192,198,129,173,48,15,192,198,33,174,48,15,192,198,33,175,48,15,192,198,65,176,48,15,192,198,65,169,48,12,0,169,48,15,192,198,129,170,48,15,192,198,129,171,48,15,192,198,1,172,48,15,192,198,1,166,48,15,192,198,65,167,48,15,192,198,97,168,48,15,192,198,97,141,48,29,1,150,48,249,0,162,48,12,0,162,48,15,192,198,1,163,48,15,192,198,33,164,48,15,192,198,33,165,48,15,192,198,65,150,48,255,255,14,122,2,5,153,48,5,0,154,48,189,0,161,48,15,192,198,1,45,0,173,48,81,0,196,48,42,0,216,48,20,0,240,48,9,0,240,48,15,192,198,33,241,48,15,192,198,97,242,48,15,192,198,129,216,48,15,192,198,97,219,48,15,192,198,129,239,48,15,192,198,1,207,48,9,0,207,48,15,192,198,1,210,48,15,192,198,33,213,48,15,192,198,65,196,48,15,192,198,65,198,48,15,192,198,97,200,48,15,192,198,129,183,48,20,0,189,48,9,0,189,48,15,192,198,129,191,48,15,192,198,1,193,48,15,192,198,33,183,48,15,192,198,33,185,48,15,192,198,65,187,48,15,192,198,97,173,48,15,192,198,33,175,48,15,192,198,65,177,48,15,192,198,97,179,48,15,192,198,129,181,48,15,192,198,1,95,48,52,0,114,48,24,0,123,48,10,0,123,48,255,255,16,122,2,5,166,48,15,192,198,65,171,48,15,192,198,1,114,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,102,48,12,0,102,48,255,255,14,122,2,5,104,48,255,255,16,122,2,5,111,48,255,255,6,122,2,5,95,48,255,255,6,122,2,5,97,48,255,255,8,122,2,5,100,48,255,255,10,122,2,5,83,48,26,0,89,48,12,0,89,48,255,255,10,122,2,5,91,48,255,255,14,122,2,5,93,48,255,255,16,122,2,5,83,48,255,255,16,122,2,5,85,48,255,255,6,122,2,5,87,48,255,255,8,122,2,5,70,48,255,255,10,122,2,5,75,48,255,255,6,122,2,5,77,48,255,255,8,122,2,5,79,48,255,255,10,122,2,5,81,48,255,255,14,122,2,5,9,0,207,48,15,0,207,48,15,192,198,1,210,48,15,192,198,33,213,48,15,192,198,65,216,48,15,192,198,97,219,48,15,192,198,129,111,48,255,255,6,122,2,5,114,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,123,48,255,255,16,122,2,5,145,48,16,0,145,48,255,255,14,122,2,5,146,48,255,255,16,122,2,5,148,48,255,255,10,122,2,5,149,48,255,255,6,122,2,5,141,48,255,255,16,122,2,5,142,48,255,255,6,122,2,5,143,48,255,255,6,122,2,5,144,48,255,255,8,122,2,5,133,48,34,0,137,48,16,0,137,48,255,255,6,122,2,5,138,48,255,255,8,122,2,5,139,48,255,255,10,122,2,5,140,48,255,255,14,122,2,5,133,48,255,255,10,122,2,5,134,48,255,255,10,122,2,5,135,48,255,255,16,122,2,5,136,48,255,255,16,122,2,5,129,48,16,0,129,48,255,255,14,122,2,5,130,48,255,255,16,122,2,5,131,48,255,255,6,122,2,5,132,48,255,255,6,122,2,5,126,48,255,255,6,122,2,5,127,48,255,255,8,122,2,5,128,48,255,255,10,122,2,5,95,48,138,0,110,48,70,0,118,48,34,0,122,48,16,0,122,48,255,255,14,122,2,5,123,48,255,255,16,122,2,5,124,48,255,255,16,122,2,5,125,48,255,255,16,122,2,5,118,48,255,255,10,122,2,5,119,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,121,48,255,255,14,122,2,5,114,48,16,0,114,48,255,255,8,122,2,5,115,48,255,255,8,122,2,5,116,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,110,48,255,255,16,122,2,5,111,48,255,255,6,122,2,5,112,48,255,255,6,122,2,5,113,48,255,255,6,122,2,5,102,48,34,0,106,48,16,0,106,48,255,255,6,122,2,5,107,48,255,255,8,122,2,5,108,48,255,255,10,122,2,5,109,48,255,255,14,122,2,5,102,48,255,255,14,122,2,5,103,48,255,255,14,122,2,5,104,48,255,255,16,122,2,5,105,48,255,255,16,122,2,5,98,48,16,0,98,48,255,255,8,122,2,5,99,48,255,255,10,122,2,5,100,48,255,255,10,122,2,5,101,48,255,255,10,122,2,5,95,48,255,255,6,122,2,5,96,48,255,255,6,122,2,5,97,48,255,255,8,122,2,5,80,48,66,0,87,48,34,0,91,48,16,0,91,48,255,255,14,122,2,5,92,48,255,255,14,122,2,5,93,48,255,255,16,122,2,5,94,48,255,255,16,122,2,5,87,48,255,255,8,122,2,5,88,48,255,255,8,122,2,5,89,48,255,255,10,122,2,5,90,48,255,255,10,122,2,5,83,48,16,0,83,48,255,255,16,122,2,5,84,48,255,255,16,122,2,5,85,48,255,255,6,122,2,5,86,48,255,255,6,122,2,5,80,48,255,255,10,122,2,5,81,48,255,255,14,122,2,5,82,48,255,255,14,122,2,5,72,48,34,0,76,48,16,0,76,48,255,255,6,122,2,5,77,48,255,255,8,122,2,5,78,48,255,255,8,122,2,5,79,48,255,255,10,122,2,5,72,48,255,255,14,122,2,5,73,48,255,255,16,122,2,5,74,48,255,255,16,122,2,5,75,48,255,255,6,122,2,5,68,48,16,0,68,48,255,255,8,122,2,5,69,48,255,255,10,122,2,5,70,48,255,255,10,122,2,5,71,48,255,255,14,122,2,5,65,48,255,255,6,122,2,5,66,48,255,255,6,122,2,5,67,48,255,255,8,122,2,5,15,0,198,161,0,0,162,0,240,48,24,1,117,255,139,0,137,255,71,0,147,255,37,0,152,255,20,0,155,255,9,0,155,255,21,192,198,129,156,255,21,192,198,161,157,255,22,192,198,33,152,255,21,192,198,33,153,255,21,192,198,65,154,255,21,192,198,97,147,255,20,192,198,129,148,255,20,192,198,161,149,255,20,192,198,193,150,255,20,192,198,225,151,255,21,192,198,1,142,255,15,0,142,255,19,192,198,225,143,255,20,192,198,1,144,255,20,192,198,33,145,255,20,192,198,65,146,255,20,192,198,97,137,255,19,192,198,65,138,255,19,192,198,97,139,255,19,192,198,129,140,255,19,192,198,161,141,255,19,192,198,193,127,255,32,0,132,255,15,0,132,255,18,192,198,161,133,255,18,192,198,193,134,255,18,192,198,225,135,255,19,192,198,1,136,255,19,192,198,33,127,255,18,192,198,1,128,255,18,192,198,33,129,255,18,192,198,65,130,255,18,192,198,97,131,255,18,192,198,129,122,255,15,0,122,255,17,192,198,97,123,255,17,192,198,129,124,255,17,192,198,161,125,255,17,192,198,193,126,255,17,192,198,225,117,255,16,192,198,65,118,255,16,192,198,97,119,255,16,192,198,193,120,255,16,192,198,225,121,255,17,192,198,1,249,49,71,0,105,255,37,0,110,255,20,0,114,255,9,0,114,255,15,192,198,225,115,255,16,192,198,1,116,255,16,192,198,33,110,255,20,192,198,225,111,255,18,192,198,97,113,255,15,192,198,193,105,255,16,192,198,1,106,255,16,192,198,33,107,255,16,192,198,65,108,255,20,192,198,161,109,255,20,192,198,193,254,49,15,0,254,49,21,192,198,97,255,49,21,192,198,129,102,255,22,192,198,1,103,255,15,192,198,193,104,255,15,192,198,225,249,49,19,192,198,225,250,49,20,192,198,65,251,49,21,192,198,1,252,49,21,192,198,33,253,49,21,192,198,65,250,48,32,0,244,49,15,0,244,49,19,192,198,1,245,49,19,192,198,97,246,49,19,192,198,129,247,49,19,192,198,161,248,49,19,192,198,193,250,48,22,192,198,1,240,49,16,192,198,225,241,49,17,192,198,161,242,49,17,192,198,193,243,49,18,192,198,161,245,48,15,0,245,48,16,192,198,97,246,48,17,192,198,1,247,48,21,192,198,161,248,48,21,192,198,193,249,48,21,192,198,225,240,48,21,192,198,193,241,48,21,192,198,225,242,48,22,192,198,1,243,48,22,192,198,33,244,48,16,192,198,1,199,48,139,0,219,48,71,0,229,48,37,0,234,48,20,0,237,48,9,0,237,48,21,192,198,129,238,48,21,192,198,161,239,48,21,192,198,161,234,48,21,192,198,33,235,48,21,192,198,65,236,48,21,192,198,97,229,48,20,192,198,193,230,48,20,192,198,193,231,48,20,192,198,225,232,48,20,192,198,225,233,48,21,192,198,1,224,48,15,0,224,48,20,192,198,65,225,48,20,192,198,97,226,48,20,192,198,129,227,48,20,192,198,161,228,48,20,192,198,161,219,48,19,192,198,225,220,48,19,192,198,225,221,48,19,192,198,225,222,48,20,192,198,1,223,48,20,192,198,33,209,48,32,0,214,48,15,0,214,48,19,192,198,161,215,48,19,192,198,161,216,48,19,192,198,193,217,48,19,192,198,193,218,48,19,192,198,193,209,48,19,192,198,97,210,48,19,192,198,129,211,48,19,192,198,129,212,48,19,192,198,129,213,48,19,192,198,161,204,48,15,0,204,48,19,192,198,1,205,48,19,192,198,33,206,48,19,192,198,65,207,48,19,192,198,97,208,48,19,192,198,97,199,48,18,192,198,129,200,48,18,192,198,161,201,48,18,192,198,161,202,48,18,192,198,193,203,48,18,192,198,225,179,48,66,0,189,48,32,0,194,48,15,0,194,48,18,192,198,65,195,48,18,192,198,97,196,48,18,192,198,97,197,48,18,192,198,97,198,48,18,192,198,129,189,48,18,192,198,1,190,48,18,192,198,1,191,48,18,192,198,33,192,48,18,192,198,33,193,48,18,192,198,65,184,48,15,0,184,48,17,192,198,161,185,48,17,192,198,193,186,48,17,192,198,193,187,48,17,192,198,225,188,48,17,192,198,225,179,48,17,192,198,97,180,48,17,192,198,97,181,48,17,192,198,129,182,48,17,192,198,129,183,48,17,192,198,161,169,48,32,0,174,48,15,0,174,48,16,192,198,193,175,48,16,192,198,225,176,48,16,192,198,225,177,48,17,192,198,1,178,48,17,192,198,34,169,48,16,192,198,65,170,48,16,192,198,65,171,48,16,192,198,97,172,48,16,192,198,130,173,48,16,192,198,193,164,48,15,0,164,48,15,192,198,225,165,48,16,192,198,1,166,48,16,192,198,1,167,48,16,192,198,33,168,48,16,192,198,33,153,48,11,0,154,48,99,0,161,48,15,192,198,193,162,48,15,192,198,193,163,48,15,192,198,225,24,0,193,48,45,0,213,48,23,0,239,48,12,0,239,48,21,192,198,161,240,48,21,192,198,193,241,48,21,192,198,225,242,48,22,192,198,1,213,48,19,192,198,161,216,48,19,192,198,193,219,48,19,192,198,225,200,48,9,0,200,48,18,192,198,161,207,48,19,192,198,97,210,48,19,192,198,129,193,48,18,192,198,65,196,48,18,192,198,97,198,48,18,192,198,129,181,48,20,0,187,48,9,0,187,48,17,192,198,225,189,48,18,192,198,1,191,48,18,192,198,33,181,48,17,192,198,129,183,48,17,192,198,161,185,48,17,192,198,193,175,48,9,0,175,48,16,192,198,225,177,48,17,192,198,34,179,48,17,192,198,97,166,48,16,192,198,1,171,48,16,192,198,130,173,48,16,192,198,193,4,0,207,48,19,192,198,97,210,48,19,192,198,129,213,48,19,192,198,161,216,48,19,192,198,193,219,48,19,192,198,225,22,0,198,66,0,0,162,0,240,48,24,1,117,255,139,0,137,255,71,0,147,255,37,0,152,255,20,0,155,255,9,0,155,255,33,192,198,194,156,255,34,192,198,2,157,255,35,192,198,2,152,255,33,192,198,2,153,255,33,192,198,66,154,255,33,192,198,130,147,255,31,192,198,194,148,255,32,192,198,2,149,255,32,192,198,66,150,255,32,192,198,130,151,255,32,192,198,194,142,255,15,0,142,255,30,192,198,130,143,255,30,192,198,194,144,255,31,192,198,2,145,255,31,192,198,66,146,255,31,192,198,130,137,255,29,192,198,66,138,255,29,192,198,130,139,255,29,192,198,194,140,255,30,192,198,2,141,255,30,192,198,66,127,255,32,0,132,255,15,0,132,255,28,192,198,2,133,255,28,192,198,66,134,255,28,192,198,130,135,255,28,192,198,194,136,255,29,192,198,2,127,255,26,192,198,194,128,255,27,192,198,2,129,255,27,192,198,66,130,255,27,192,198,130,131,255,27,192,198,194,122,255,15,0,122,255,25,192,198,130,123,255,25,192,198,194,124,255,26,192,198,2,125,255,26,192,198,66,126,255,26,192,198,130,117,255,23,192,198,130,118,255,23,192,198,194,119,255,24,192,198,98,120,255,24,192,198,162,121,255,24,192,198,226,249,49,71,0,105,255,37,0,110,255,20,0,114,255,9,0,114,255,22,192,198,194,115,255,23,192,198,2,116,255,23,192,198,66,110,255,32,192,198,130,111,255,27,192,198,130,113,255,22,192,198,130,105,255,23,192,198,2,106,255,23,192,198,66,107,255,23,192,198,130,108,255,32,192,198,2,109,255,32,192,198,66,254,49,15,0,254,49,33,192,198,130,255,49,33,192,198,194,102,255,34,192,198,194,103,255,22,192,198,130,104,255,22,192,198,194,249,49,30,192,198,130,250,49,31,192,198,66,251,49,32,192,198,194,252,49,33,192,198,2,253,49,33,192,198,66,250,48,32,0,244,49,15,0,244,49,28,192,198,194,245,49,29,192,198,130,246,49,29,192,198,194,247,49,30,192,198,2,248,49,30,192,198,66,250,48,34,192,198,194,240,49,24,192,198,162,241,49,26,192,198,2,242,49,26,192,198,66,243,49,28,192,198,2,245,48,15,0,245,48,23,192,198,194,246,48,24,192,198,226,247,48,34,192,198,2,248,48,34,192,198,66,249,48,34,192,198,130,240,48,34,192,198,66,241,48,34,192,198,130,242,48,34,192,198,194,243,48,35,192,198,2,244,48,23,192,198,2,199,48,139,0,219,48,71,0,229,48,37,0,234,48,20,0,237,48,9,0,237,48,33,192,198,194,238,48,34,192,198,2,239,48,34,192,198,2,234,48,33,192,198,2,235,48,33,192,198,66,236,48,33,192,198,130,229,48,32,192,198,66,230,48,32,192,198,66,231,48,32,192,198,130,232,48,32,192,198,130,233,48,32,192,198,194,224,48,15,0,224,48,31,192,198,66,225,48,31,192,198,130,226,48,31,192,198,194,227,48,32,192,198,2,228,48,32,192,198,2,219,48,30,192,198,130,220,48,30,192,198,130,221,48,30,192,198,130,222,48,30,192,198,194,223,48,31,192,198,2,209,48,32,0,214,48,15,0,214,48,30,192,198,2,215,48,30,192,198,2,216,48,30,192,198,66,217,48,30,192,198,66,218,48,30,192,198,66,209,48,29,192,198,130,210,48,29,192,198,194,211,48,29,192,198,194,212,48,29,192,198,194,213,48,30,192,198,2,204,48,15,0,204,48,28,192,198,194,205,48,29,192,198,2,206,48,29,192,198,66,207,48,29,192,198,130,208,48,29,192,198,130,199,48,27,192,198,194,200,48,28,192,198,2,201,48,28,192,198,2,202,48,28,192,198,66,203,48,28,192,198,130,179,48,66,0,189,48,32,0,194,48,15,0,194,48,27,192,198,66,195,48,27,192,198,130,196,48,27,192,198,130,197,48,27,192,198,130,198,48,27,192,198,194,189,48,26,192,198,194,190,48,26,192,198,194,191,48,27,192,198,2,192,48,27,192,198,2,193,48,27,192,198,66,184,48,15,0,184,48,26,192,198,2,185,48,26,192,198,66,186,48,26,192,198,66,187,48,26,192,198,130,188,48,26,192,198,130,179,48,25,192,198,130,180,48,25,192,198,130,181,48,25,192,198,194,182,48,25,192,198,194,183,48,26,192,198,2,169,48,32,0,174,48,15,0,174,48,24,192,198,98,175,48,24,192,198,162,176,48,24,192,198,162,177,48,24,192,198,226,178,48,25,192,198,35,169,48,23,192,198,130,170,48,23,192,198,130,171,48,23,192,198,194,172,48,24,192,198,3,173,48,24,192,198,98,164,48,15,0,164,48,22,192,198,194,165,48,23,192,198,2,166,48,23,192,198,2,167,48,23,192,198,66,168,48,23,192,198,66,153,48,11,0,154,48,99,0,161,48,22,192,198,130,162,48,22,192,198,130,163,48,22,192,198,194,24,0,193,48,45,0,213,48,23,0,239,48,12,0,239,48,34,192,198,2,240,48,34,192,198,66,241,48,34,192,198,130,242,48,34,192,198,194,213,48,30,192,198,2,216,48,30,192,198,66,219,48,30,192,198,130,200,48,9,0,200,48,28,192,198,2,207,48,29,192,198,130,210,48,29,192,198,194,193,48,27,192,198,66,196,48,27,192,198,130,198,48,27,192,198,194,181,48,20,0,187,48,9,0,187,48,26,192,198,130,189,48,26,192,198,194,191,48,27,192,198,2,181,48,25,192,198,194,183,48,26,192,198,2,185,48,26,192,198,66,175,48,9,0,175,48,24,192,198,162,177,48,25,192,198,35,179,48,25,192,198,130,166,48,23,192,198,2,171,48,24,192,198,3,173,48,24,192,198,98,4,0,207,48,29,192,198,130,210,48,29,192,198,194,213,48,30,192,198,2,216,48,30,192,198,66,219,48,30,192,198,130,170,170,3,0,82,0,56,0,65,0,219,22,0,16,109,20,0,96,1,0,0,96,252,82,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,16,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,76,0,0,0,76,1,0,0,188,31,0,0,188,31,0,0,172,40,0,0,172,40,0,0,168,42,0,0,168,42,0,0,168,78,0,0,224,82,0,0,25,0,0,0,22,0,0,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,94,249,250,251,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,254,255,50,105,114,84,1,0,64,8,222,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,97,0,105,0,113,0,121,0,48,0,129,0,137,0,145,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,149,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,157,0,16,0,165,0,173,0,181,0,189,0,197,0,205,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,14,0,202,193,14,0,202,226,14,0,202,3,15,0,202,36,15,0,202,69,15,0,202,102,15,0,202,135,15,0,202,168,15,0,202,201,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,13,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,14,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,14,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,200,0,0,0,200,32,63,0,197,162,13,0,192,0,0,0,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,198,129,0,0,198,161,0,0,198,193,0,0,198,225,0,0,198,1,1,0,198,33,1,0,198,65,1,0,198,98,1,0,198,161,1,0,198,194,1,0,198,1,2,0,198,34,2,0,198,97,2,0,198,130,2,0,198,193,2,0,198,226,2,0,198,33,3,0,198,66,3,0,198,129,3,0,198,162,3,0,198,225,3,0,198,2,4,0,198,65,4,0,198,98,4,0,198,161,4,0,198,194,4,0,198,1,5,0,198,34,5,0,198,97,5,0,198,130,5,0,198,193,5,0,198,225,5,0,198,2,6,0,198,65,6,0,198,98,6,0,198,161,6,0,198,194,6,0,198,1,7,0,198,33,7,0,198,65,7,0,198,97,7,0,198,129,7,0,198,161,7,0,198,194,7,0,198,2,8,0,198,65,8,0,198,98,8,0,198,162,8,0,198,225,8,0,198,2,9,0,198,66,9,0,198,129,9,0,198,162,9,0,198,226,9,0,198,33,10,0,198,66,10,0,198,130,10,0,198,193,10,0,198,225,10,0,198,1,11,0,198,33,11,0,198,65,11,0,198,97,11,0,198,129,11,0,198,161,11,0,198,193,11,0,198,225,11,0,198,1,12,0,198,33,12,0,198,65,12,0,198,97,12,0,198,129,12,0,198,161,12,0,198,193,12,0,198,225,12,0,198,1,13,0,198,33,13,0,198,65,13,0,198,97,13,0,198,130,13,0,198,193,13,0,198,225,13,0,198,2,14,0,198,66,14,0,198,130,14,0,198,194,14,0,192,0,0,0,200,0,113,0,200,224,3,1,200,0,87,1,198,66,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,5,5,8,121,5,5,183,121,5,5,10,121,5,5,187,121,5,5,189,121,5,5,12,121,5,5,14,121,5,5,16,121,5,5,195,121,5,5,197,121,5,5,199,121,5,5,201,121,5,5,203,121,5,5,205,121,5,5,52,121,5,5,18,121,5,5,20,121,5,5,22,121,5,5,66,121,5,5,24,121,5,5,26,121,5,5,28,121,5,5,30,121,5,5,32,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,5,5,105,121,5,5,107,121,5,5,109,121,5,5,111,121,5,5,113,121,5,5,115,121,5,5,117,121,5,5,119,121,5,5,121,121,5,5,123,121,5,5,125,121,5,5,127,121,5,5,129,121,5,5,131,121,5,5,133,121,5,5,135,121,5,5,137,121,5,5,139,121,5,5,141,121,5,5,143,121,193,247,101,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,170,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,14,0,202,193,14,0,202,226,14,0,202,3,15,0,202,36,15,0,202,69,15,0,202,102,15,0,202,135,15,0,202,168,15,0,202,201,15,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,192,0,0,0,192,0,0,0,133,5,24,9,133,5,70,10,133,5,72,10,133,5,34,7,192,0,0,0,198,65,13,0,198,1,0,0,198,65,0,0,198,129,0,0,198,193,0,0,198,1,1,0,198,97,11,0,198,161,11,0,198,225,11,0,198,193,5,0,192,0,0,0,198,33,0,0,198,97,0,0,198,161,0,0,198,225,0,0,198,33,1,0,198,65,1,0,198,161,1,0,198,1,2,0,198,97,2,0,198,193,2,0,198,33,3,0,198,129,3,0,198,225,3,0,198,65,4,0,198,161,4,0,198,1,5,0,198,97,5,0,198,225,5,0,198,65,6,0,198,161,6,0,198,1,7,0,198,33,7,0,198,65,7,0,198,97,7,0,198,129,7,0,198,161,7,0,198,65,8,0,198,225,8,0,198,129,9,0,198,33,10,0,198,193,10,0,198,225,10,0,198,1,11,0,198,33,11,0,198,65,11,0,198,129,11,0,198,193,11,0,198,1,12,0,198,33,12,0,198,65,12,0,198,97,12,0,198,129,12,0,198,161,12,0,198,225,12,0,198,97,13,0,192,0,0,0,192,0,0,0,198,161,35,0,133,5,6,121,133,5,8,121,133,5,183,121,133,5,10,121,133,5,187,121,133,5,189,121,133,5,12,121,133,5,14,121,133,5,16,121,133,5,195,121,133,5,197,121,133,5,199,121,133,5,201,121,133,5,203,121,133,5,205,121,133,5,52,121,133,5,18,121,133,5,20,121,133,5,22,121,133,5,66,121,133,5,24,121,133,5,26,121,133,5,28,121,133,5,30,121,133,5,32,121,133,5,34,121,133,5,36,121,133,5,38,121,133,5,40,121,133,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,133,5,103,121,133,5,105,121,133,5,107,121,133,5,109,121,133,5,111,121,133,5,113,121,192,0,0,0,192,0,0,0,133,5,115,121,133,5,117,121,133,5,119,121,133,5,121,121,133,5,123,121,133,5,125,121,192,0,0,0,192,0,0,0,133,5,127,121,133,5,129,121,133,5,131,121,133,5,133,121,133,5,135,121,133,5,137,121,192,0,0,0,192,0,0,0,133,5,139,121,133,5,141,121,133,5,143,121,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,13,5,5,140,13,5,5,135,12,5,5,0,4,5,5,139,12,5,5,142,13,5,5,192,13,192,0,0,0,133,5,172,12,133,5,99,12,133,5,103,12,133,5,101,12,133,5,105,12,133,5,180,12,133,5,185,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,64,3,0,5,0,0,6,122,64,133,0,5,0,0,6,122,64,3,0,5,0,0,8,122,64,133,0,5,0,0,8,122,64,3,0,5,0,0,10,122,64,133,0,5,0,0,10,122,64,3,0,5,0,0,14,122,64,133,0,5,0,0,14,122,64,3,0,5,0,0,16,122,64,133,0,5,0,0,16,122,64,133,0,5,0,0,18,122,64,133,0,5,0,0,18,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,20,122,64,133,0,5,0,0,20,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,22,122,64,133,0,5,0,0,22,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,24,122,64,133,0,5,0,0,24,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,26,122,64,133,0,5,0,0,26,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,28,122,64,133,0,5,0,0,28,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,30,122,64,133,0,5,0,0,30,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,32,122,64,133,0,5,0,0,32,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,34,122,64,133,0,5,0,0,34,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,36,122,64,133,0,5,0,0,36,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,38,122,64,133,0,5,0,0,38,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,40,122,64,133,0,5,0,0,40,122,0,5,0,174,0,0,0,0,64,3,0,5,0,0,42,122,64,133,0,5,0,0,42,122,64,133,0,5,0,0,42,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,44,122,64,133,0,5,0,0,44,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,46,122,64,133,0,5,0,0,46,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,48,122,64,133,0,5,0,0,50,122,64,133,0,5,0,0,52,122,64,133,0,5,0,0,54,122,64,133,0,5,0,0,56,122,64,133,0,5,0,0,58,122,64,133,0,5,0,0,58,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,58,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,60,122,64,133,0,5,0,0,60,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,60,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,62,122,64,133,0,5,0,0,62,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,62,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,64,122,64,133,0,5,0,0,64,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,64,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,66,122,64,133,0,5,0,0,66,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,66,122,0,5,0,176,0,0,0,0,64,133,0,5,0,0,68,122,64,133,0,5,0,0,70,122,64,133,0,5,0,0,72,122,64,133,0,5,0,0,74,122,64,133,0,5,0,0,76,122,64,3,0,5,0,0,78,122,64,133,0,5,0,0,78,122,64,3,0,5,0,0,80,122,64,133,0,5,0,0,80,122,64,3,0,5,0,0,82,122,64,133,0,5,0,0,82,122,64,133,0,5,0,0,84,122,64,133,0,5,0,0,86,122,64,133,0,5,0,0,88,122,64,133,0,5,0,0,90,122,64,133,0,5,0,0,92,122,64,3,0,5,0,0,94,122,64,133,0,5,0,0,94,122,64,133,0,5,0,0,96,122,64,133,0,5,0,0,98,122,64,133,0,5,0,0,100,122,64,133,0,5,0,0,102,122,64,133,0,5,0,0,10,122,0,5,0,174,0,0,0,0,64,3,0,5,0,0,18,122,64,3,0,5,0,0,24,122,64,133,0,5,0,0,94,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,96,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,98,122,0,5,0,174,0,0,0,0,64,133,0,5,0,0,100,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,6,122,64,2,0,5,0,0,8,122,64,2,0,5,0,0,10,122,64,2,0,5,0,0,14,122,64,2,0,5,0,0,16,122,64,5,0,5,0,0,116,13,64,4,0,5,0,0,6,122,64,4,0,5,0,0,8,122,64,4,0,5,0,0,10,122,64,4,0,5,0,0,14,122,64,4,0,5,0,0,16,122,64,4,0,5,0,0,18,122,0,5,0,5,0,0,18,122,64,2,0,174,0,0,0,0,64,2,0,5,0,0,20,122,64,2,0,5,0,0,22,122,64,4,0,5,0,0,24,122,0,5,0,5,0,0,24,122,64,3,0,174,0,0,0,0,64,2,0,5,0,0,26,122,64,2,0,5,0,0,28,122,64,4,0,5,0,0,30,122,64,4,0,5,0,0,32,122,64,2,0,5,0,0,34,122,64,2,0,5,0,0,36,122,64,2,0,5,0,0,38,122,64,2,0,5,0,0,40,122,64,4,0,5,0,0,42,122,64,2,0,5,0,0,44,122,64,2,0,5,0,0,46,122,64,2,0,5,0,0,48,122,64,2,0,5,0,0,50,122,64,2,0,5,0,0,52,122,64,2,0,5,0,0,54,122,64,2,0,5,0,0,56,122,64,2,0,5,0,0,58,122,64,2,0,5,0,0,60,122,64,2,0,5,0,0,62,122,64,2,0,5,0,0,64,122,64,2,0,5,0,0,66,122,64,4,0,5,0,0,68,122,64,2,0,5,0,0,70,122,64,2,0,5,0,0,72,122,64,4,0,5,0,0,74,122,64,2,0,5,0,0,76,122,64,4,0,5,0,0,78,122,64,4,0,5,0,0,80,122,64,4,0,5,0,0,82,122,64,2,0,5,0,0,84,122,64,2,0,5,0,0,86,122,64,2,0,5,0,0,88,122,64,2,0,5,0,0,90,122,64,2,0,5,0,0,92,122,64,4,0,5,0,0,94,122,64,4,0,5,0,0,96,122,64,4,0,5,0,0,98,122,64,4,0,5,0,0,100,122,64,2,0,5,0,0,102,122,64,5,0,5,0,0,116,13,0,5,0,174,0,0,0,0,64,4,0,5,0,0,6,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,8,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,10,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,14,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,16,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,18,122,0,5,0,174,0,0,0,0,0,5,0,5,0,0,18,122,64,2,0,174,0,0,0,0,0,5,0,174,0,0,0,0,64,2,0,5,0,0,20,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,22,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,24,122,0,5,0,174,0,0,0,0,0,5,0,5,0,0,24,122,64,3,0,174,0,0,0,0,0,5,0,174,0,0,0,0,64,2,0,5,0,0,26,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,28,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,30,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,32,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,34,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,36,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,38,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,40,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,42,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,44,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,46,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,48,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,50,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,52,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,54,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,56,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,58,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,60,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,62,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,64,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,66,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,68,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,70,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,72,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,74,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,76,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,78,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,80,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,82,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,84,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,86,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,88,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,90,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,92,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,94,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,96,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,98,122,0,5,0,174,0,0,0,0,64,4,0,5,0,0,100,122,0,5,0,174,0,0,0,0,64,2,0,5,0,0,102,122,0,5,0,174,0,0,0,0,64,5,0,5,0,0,26,122,0,5,0,70,0,0,46,122,0,5,0,5,212,55,18,254,0,133,0,5,0,247,101,121,0,0,0,0,5,5,18,122,2,174,0,0,5,5,24,122,3,174,0,0,5,5,116,13,5,174,0,0,4,5,6,122,5,174,0,0,4,5,8,122,5,174,0,0,4,5,10,122,5,174,0,0,4,5,14,122,5,174,0,0,4,5,16,122,5,174,0,0,4,5,18,122,5,174,0,0,5,5,18,122,2,174,0,0,5,174,0,0,2,5,20,122,5,174,0,0,2,5,22,122,5,174,0,0,4,5,24,122,5,174,0,0,5,5,24,122,3,174,0,0,5,174,0,0,2,5,26,122,5,174,0,0,2,5,28,122,5,174,0,0,4,5,30,122,5,174,0,0,4,5,32,122,5,174,0,0,2,5,34,122,5,174,0,0,2,5,36,122,5,174,0,0,2,5,38,122,5,174,0,0,2,5,40,122,5,174,0,0,4,5,42,122,5,174,0,0,2,5,44,122,5,174,0,0,2,5,46,122,5,174,0,0,2,5,48,122,5,174,0,0,2,5,50,122,5,174,0,0,2,5,52,122,5,174,0,0,2,5,54,122,5,174,0,0,2,5,56,122,5,174,0,0,2,5,58,122,5,174,0,0,2,5,60,122,5,174,0,0,2,5,62,122,5,174,0,0,2,5,64,122,5,174,0,0,2,5,66,122,5,174,0,0,4,5,68,122,5,174,0,0,2,5,70,122,5,174,0,0,2,5,72,122,5,174,0,0,4,5,74,122,5,174,0,0,2,5,76,122,5,174,0,0,4,5,78,122,5,174,0,0,4,5,80,122,5,174,0,0,4,5,82,122,5,174,0,0,2,5,84,122,5,174,0,0,2,5,86,122,5,174,0,0,2,5,88,122,5,174,0,0,2,5,90,122,5,174,0,0,2,5,92,122,5,174,0,0,4,5,94,122,5,174,0,0,4,5,96,122,5,174,0,0,4,5,98,122,5,174,0,0,4,5,100,122,5,174,0,0,2,5,102,122,5,174,0,0,5,5,82,122,5,70,86,122,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,116,13,5,5,0,0,87,0,109,48,48,1,131,48,204,0,142,48,154,0,147,48,132,0,150,48,118,0,150,48,255,255,24,122,4,5,153,48,22,0,154,48,4,0,111,48,255,255,58,122,2,5,114,48,255,255,60,122,2,5,117,48,255,255,62,122,2,5,120,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,20,0,93,48,48,0,104,48,26,0,117,48,12,0,117,48,255,255,62,122,2,5,120,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,104,48,255,255,46,122,2,5,111,48,255,255,58,122,2,5,114,48,255,255,60,122,2,5,93,48,255,255,36,122,2,5,95,48,255,255,38,122,2,5,97,48,255,255,40,122,2,5,100,48,255,255,42,122,4,5,102,48,255,255,44,122,2,5,83,48,20,0,83,48,255,255,26,122,2,5,85,48,255,255,28,122,2,5,87,48,255,255,30,122,4,5,89,48,255,255,32,122,4,5,91,48,255,255,34,122,2,5,70,48,255,255,10,122,4,5,75,48,197,162,77,48,255,255,20,122,2,5,79,48,255,255,22,122,2,5,81,48,0,192,197,98,147,48,255,255,102,122,2,5,148,48,255,255,10,122,4,5,149,48,255,255,18,122,4,5,142,48,255,255,94,122,4,5,143,48,255,255,94,122,4,5,144,48,255,255,96,122,4,5,145,48,255,255,98,122,4,5,146,48,255,255,100,122,4,5,136,48,26,0,139,48,12,0,139,48,255,255,88,122,2,5,140,48,255,255,90,122,2,5,141,48,255,255,92,122,2,5,136,48,255,255,82,122,4,5,137,48,255,255,84,122,2,5,138,48,255,255,86,122,2,5,131,48,255,255,78,122,4,5,132,48,255,255,78,122,4,5,133,48,255,255,80,122,4,5,134,48,255,255,80,122,4,5,135,48,255,255,82,122,4,5,120,48,48,0,125,48,26,0,128,48,12,0,128,48,255,255,72,122,2,5,129,48,255,255,74,122,4,5,130,48,255,255,76,122,2,5,125,48,255,255,66,122,2,5,126,48,255,255,68,122,4,5,127,48,255,255,70,122,2,5,120,48,255,255,64,122,2,5,121,48,255,255,64,122,2,5,122,48,255,255,64,122,2,5,123,48,255,255,66,122,2,5,124,48,255,255,66,122,2,5,114,48,26,0,117,48,12,0,117,48,255,255,62,122,2,5,118,48,255,255,62,122,2,5,119,48,255,255,62,122,2,5,114,48,255,255,60,122,2,5,115,48,255,255,60,122,2,5,116,48,255,255,60,122,2,5,109,48,255,255,54,122,2,5,110,48,255,255,56,122,2,5,111,48,255,255,58,122,2,5,112,48,255,255,58,122,2,5,113,48,255,255,58,122,2,5,87,48,98,0,98,48,48,0,103,48,26,0,106,48,12,0,106,48,255,255,48,122,2,5,107,48,255,255,50,122,2,5,108,48,255,255,52,122,2,5,103,48,255,255,44,122,2,5,104,48,255,255,46,122,2,5,105,48,255,255,46,122,2,5,98,48,255,255,40,122,2,5,99,48,255,255,42,122,4,5,100,48,255,255,42,122,4,5,101,48,255,255,42,122,4,5,102,48,255,255,44,122,2,5,92,48,26,0,95,48,12,0,95,48,255,255,38,122,2,5,96,48,255,255,38,122,2,5,97,48,255,255,40,122,2,5,92,48,255,255,34,122,2,5,93,48,255,255,36,122,2,5,94,48,255,255,36,122,2,5,87,48,255,255,30,122,4,5,88,48,255,255,30,122,4,5,89,48,255,255,32,122,4,5,90,48,255,255,32,122,4,5,91,48,255,255,34,122,2,5,76,48,45,0,81,48,25,0,84,48,12,0,84,48,255,255,26,122,2,5,85,48,255,255,28,122,2,5,86,48,255,255,28,122,2,5,81,48,255,255,24,122,4,5,82,48,0,192,197,98,83,48,255,255,26,122,2,5,76,48,197,162,77,48,255,255,20,122,2,5,78,48,255,255,20,122,2,5,79,48,255,255,22,122,2,5,80,48,255,255,22,122,2,5,70,48,26,0,73,48,12,0,73,48,255,255,16,122,4,5,74,48,255,255,16,122,4,5,75,48,255,255,18,122,4,5,70,48,255,255,10,122,4,5,71,48,255,255,14,122,4,5,72,48,255,255,14,122,4,5,65,48,255,255,6,122,4,5,66,48,255,255,6,122,4,5,67,48,255,255,8,122,4,5,68,48,255,255,8,122,4,5,69,48,255,255,10,122,4,5,0,0,197,162,0,0,87,0,109,48,239,0,131,48,161,0,142,48,122,0,147,48,105,0,150,48,94,0,150,48,3,192,197,66,153,48,17,0,154,48,4,0,111,48,7,192,197,226,114,48,8,192,197,34,117,48,8,192,197,98,120,48,8,192,197,162,123,48,8,192,197,226,20,0,93,48,37,0,104,48,20,0,117,48,9,0,117,48,8,192,197,98,120,48,8,192,197,162,123,48,8,192,197,226,104,48,6,192,197,98,111,48,7,192,197,226,114,48,8,192,197,34,93,48,5,192,197,34,95,48,5,192,197,98,97,48,5,192,197,162,100,48,5,192,197,226,102,48,6,192,197,34,83,48,15,0,83,48,3,192,197,226,85,48,4,192,197,34,87,48,4,192,197,98,89,48,4,192,197,162,91,48,4,192,197,226,70,48,1,192,197,98,75,48,2,192,197,99,77,48,2,192,197,194,79,48,3,192,197,2,81,48,3,192,197,131,147,48,13,192,197,98,148,48,1,192,197,98,149,48,2,192,197,34,142,48,12,192,197,98,143,48,12,192,197,98,144,48,12,192,197,162,145,48,12,192,197,226,146,48,13,192,197,34,136,48,20,0,139,48,9,0,139,48,11,192,197,162,140,48,11,192,197,226,141,48,12,192,197,34,136,48,10,192,197,226,137,48,11,192,197,34,138,48,11,192,197,98,131,48,10,192,197,98,132,48,10,192,197,98,133,48,10,192,197,162,134,48,10,192,197,162,135,48,10,192,197,226,120,48,37,0,125,48,20,0,128,48,9,0,128,48,9,192,197,162,129,48,9,192,197,226,130,48,10,192,197,34,125,48,8,192,197,226,126,48,9,192,197,34,127,48,9,192,197,98,120,48,8,192,197,162,121,48,8,192,197,162,122,48,8,192,197,162,123,48,8,192,197,226,124,48,8,192,197,226,114,48,20,0,117,48,9,0,117,48,8,192,197,98,118,48,8,192,197,98,119,48,8,192,197,98,114,48,8,192,197,34,115,48,8,192,197,34,116,48,8,192,197,34,109,48,7,192,197,98,110,48,7,192,197,162,111,48,7,192,197,226,112,48,7,192,197,226,113,48,7,192,197,226,87,48,76,0,98,48,37,0,103,48,20,0,106,48,9,0,106,48,6,192,197,162,107,48,6,192,197,226,108,48,7,192,197,34,103,48,6,192,197,34,104,48,6,192,197,98,105,48,6,192,197,98,98,48,5,192,197,162,99,48,5,192,197,226,100,48,5,192,197,226,101,48,5,192,197,226,102,48,6,192,197,34,92,48,20,0,95,48,9,0,95,48,5,192,197,98,96,48,5,192,197,98,97,48,5,192,197,162,92,48,4,192,197,226,93,48,5,192,197,34,94,48,5,192,197,34,87,48,4,192,197,98,88,48,4,192,197,98,89,48,4,192,197,162,90,48,4,192,197,162,91,48,4,192,197,226,76,48,37,0,81,48,20,0,84,48,9,0,84,48,3,192,197,226,85,48,4,192,197,34,86,48,4,192,197,34,81,48,3,192,197,66,82,48,3,192,197,131,83,48,3,192,197,226,76,48,2,192,197,99,77,48,2,192,197,194,78,48,2,192,197,194,79,48,3,192,197,2,80,48,3,192,197,2,70,48,20,0,73,48,9,0,73,48,1,192,197,226,74,48,1,192,197,226,75,48,2,192,197,34,70,48,1,192,197,98,71,48,1,192,197,162,72,48,1,192,197,162,65,48,0,192,197,226,66,48,0,192,197,226,67,48,1,192,197,34,68,48,1,192,197,34,69,48,1,192,197,98,118,13,5,5,0,0,245,0,197,48,175,1,248,49,216,0,126,255,107,0,141,255,54,0,149,255,26,0,153,255,12,0,153,255,15,192,198,65,154,255,15,192,198,97,155,255,15,192,198,129,156,255,15,192,198,1,149,255,15,192,198,65,150,255,15,192,198,129,151,255,15,192,198,1,152,255,15,192,198,33,145,255,12,0,145,255,15,192,198,65,146,255,15,192,198,97,147,255,15,192,198,129,148,255,15,192,198,1,141,255,15,192,198,97,142,255,15,192,198,129,143,255,15,192,198,1,144,255,15,192,198,33,133,255,26,0,137,255,12,0,137,255,15,192,198,129,138,255,15,192,198,1,139,255,15,192,198,33,140,255,15,192,198,65,133,255,15,192,198,1,134,255,15,192,198,33,135,255,15,192,198,65,136,255,15,192,198,97,129,255,12,0,129,255,15,192,198,33,130,255,15,192,198,65,131,255,15,192,198,97,132,255,15,192,198,129,126,255,15,192,198,97,127,255,15,192,198,129,128,255,15,192,198,1,109,255,54,0,118,255,26,0,122,255,12,0,122,255,15,192,198,129,123,255,15,192,198,1,124,255,15,192,198,33,125,255,15,192,198,65,118,255,15,192,198,1,119,255,15,192,198,33,120,255,15,192,198,65,121,255,15,192,198,97,114,255,12,0,114,255,15,192,198,33,115,255,15,192,198,65,116,255,15,192,198,97,117,255,15,192,198,129,109,255,15,192,198,65,110,255,15,192,198,129,111,255,15,192,198,65,113,255,15,192,198,1,255,49,26,0,105,255,12,0,105,255,15,192,198,65,106,255,15,192,198,97,107,255,15,192,198,129,108,255,15,192,198,1,255,49,15,192,198,129,102,255,15,192,198,129,103,255,15,192,198,1,104,255,15,192,198,33,251,49,12,0,251,49,15,192,198,1,252,49,15,192,198,33,253,49,15,192,198,65,254,49,15,192,198,97,248,49,15,192,198,97,249,49,15,192,198,129,250,49,15,192,198,65,227,48,107,0,242,48,54,0,240,49,26,0,244,49,12,0,244,49,15,192,198,65,245,49,15,192,198,1,246,49,15,192,198,33,247,49,15,192,198,65,240,49,15,192,198,65,241,49,15,192,198,33,242,49,15,192,198,65,243,49,15,192,198,129,247,48,12,0,247,48,15,192,198,1,248,48,15,192,198,33,249,48,15,192,198,97,250,48,15,192,198,129,242,48,15,192,198,129,244,48,15,192,198,65,245,48,15,192,198,1,246,48,15,192,198,97,234,48,26,0,238,48,12,0,238,48,15,192,198,1,239,48,15,192,198,1,240,48,15,192,198,33,241,48,15,192,198,97,234,48,15,192,198,33,235,48,15,192,198,65,236,48,15,192,198,97,237,48,15,192,198,129,230,48,12,0,230,48,15,192,198,65,231,48,15,192,198,129,232,48,15,192,198,129,233,48,15,192,198,1,227,48,15,192,198,1,228,48,15,192,198,1,229,48,15,192,198,65,212,48,51,0,219,48,26,0,223,48,12,0,223,48,15,192,198,33,224,48,15,192,198,65,225,48,15,192,198,97,226,48,15,192,198,129,219,48,15,192,198,129,220,48,15,192,198,129,221,48,15,192,198,129,222,48,15,192,198,1,215,48,12,0,215,48,15,192,198,65,216,48,15,192,198,97,217,48,15,192,198,97,218,48,15,192,198,97,212,48,15,192,198,33,213,48,15,192,198,65,214,48,15,192,198,65,204,48,26,0,208,48,12,0,208,48,15,192,198,1,209,48,15,192,198,1,210,48,15,192,198,33,211,48,15,192,198,33,204,48,15,192,198,65,205,48,15,192,198,97,206,48,15,192,198,129,207,48,15,192,198,1,200,48,12,0,200,48,15,192,198,129,201,48,15,192,198,129,202,48,15,192,198,1,203,48,15,192,198,33,197,48,15,192,198,65,198,48,15,192,198,97,199,48,15,192,198,97,126,48,206,1,166,48,107,0,181,48,54,0,189,48,26,0,193,48,12,0,193,48,15,192,198,33,194,48,15,192,198,33,195,48,15,192,198,65,196,48,15,192,198,65,189,48,15,192,198,129,190,48,15,192,198,129,191,48,15,192,198,1,192,48,15,192,198,1,185,48,12,0,185,48,15,192,198,65,186,48,15,192,198,65,187,48,15,192,198,97,188,48,15,192,198,97,181,48,15,192,198,1,182,48,15,192,198,1,183,48,15,192,198,33,184,48,15,192,198,33,173,48,26,0,177,48,12,0,177,48,15,192,198,97,178,48,15,192,198,97,179,48,15,192,198,129,180,48,15,192,198,129,173,48,15,192,198,33,174,48,15,192,198,33,175,48,15,192,198,65,176,48,15,192,198,65,169,48,12,0,169,48,15,192,198,129,170,48,15,192,198,129,171,48,15,192,198,1,172,48,15,192,198,1,166,48,15,192,198,65,167,48,15,192,198,97,168,48,15,192,198,97,141,48,29,1,150,48,249,0,162,48,12,0,162,48,15,192,198,1,163,48,15,192,198,33,164,48,15,192,198,33,165,48,15,192,198,65,150,48,255,255,14,122,2,5,153,48,5,0,154,48,189,0,161,48,15,192,198,1,45,0,173,48,81,0,196,48,42,0,216,48,20,0,240,48,9,0,240,48,15,192,198,33,241,48,15,192,198,97,242,48,15,192,198,129,216,48,15,192,198,97,219,48,15,192,198,129,239,48,15,192,198,1,207,48,9,0,207,48,15,192,198,1,210,48,15,192,198,33,213,48,15,192,198,65,196,48,15,192,198,65,198,48,15,192,198,97,200,48,15,192,198,129,183,48,20,0,189,48,9,0,189,48,15,192,198,129,191,48,15,192,198,1,193,48,15,192,198,33,183,48,15,192,198,33,185,48,15,192,198,65,187,48,15,192,198,97,173,48,15,192,198,33,175,48,15,192,198,65,177,48,15,192,198,97,179,48,15,192,198,129,181,48,15,192,198,1,95,48,52,0,114,48,24,0,123,48,10,0,123,48,255,255,16,122,2,5,166,48,15,192,198,65,171,48,15,192,198,1,114,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,102,48,12,0,102,48,255,255,14,122,2,5,104,48,255,255,16,122,2,5,111,48,255,255,6,122,2,5,95,48,255,255,6,122,2,5,97,48,255,255,8,122,2,5,100,48,255,255,10,122,2,5,83,48,26,0,89,48,12,0,89,48,255,255,10,122,2,5,91,48,255,255,14,122,2,5,93,48,255,255,16,122,2,5,83,48,255,255,16,122,2,5,85,48,255,255,6,122,2,5,87,48,255,255,8,122,2,5,70,48,255,255,10,122,2,5,75,48,255,255,6,122,2,5,77,48,255,255,8,122,2,5,79,48,255,255,10,122,2,5,81,48,255,255,14,122,2,5,9,0,207,48,15,0,207,48,15,192,198,1,210,48,15,192,198,33,213,48,15,192,198,65,216,48,15,192,198,97,219,48,15,192,198,129,111,48,255,255,6,122,2,5,114,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,123,48,255,255,16,122,2,5,145,48,16,0,145,48,255,255,14,122,2,5,146,48,255,255,16,122,2,5,148,48,255,255,10,122,2,5,149,48,255,255,6,122,2,5,141,48,255,255,16,122,2,5,142,48,255,255,6,122,2,5,143,48,255,255,6,122,2,5,144,48,255,255,8,122,2,5,133,48,34,0,137,48,16,0,137,48,255,255,6,122,2,5,138,48,255,255,8,122,2,5,139,48,255,255,10,122,2,5,140,48,255,255,14,122,2,5,133,48,255,255,10,122,2,5,134,48,255,255,10,122,2,5,135,48,255,255,16,122,2,5,136,48,255,255,16,122,2,5,129,48,16,0,129,48,255,255,14,122,2,5,130,48,255,255,16,122,2,5,131,48,255,255,6,122,2,5,132,48,255,255,6,122,2,5,126,48,255,255,6,122,2,5,127,48,255,255,8,122,2,5,128,48,255,255,10,122,2,5,95,48,138,0,110,48,70,0,118,48,34,0,122,48,16,0,122,48,255,255,14,122,2,5,123,48,255,255,16,122,2,5,124,48,255,255,16,122,2,5,125,48,255,255,16,122,2,5,118,48,255,255,10,122,2,5,119,48,255,255,10,122,2,5,120,48,255,255,14,122,2,5,121,48,255,255,14,122,2,5,114,48,16,0,114,48,255,255,8,122,2,5,115,48,255,255,8,122,2,5,116,48,255,255,8,122,2,5,117,48,255,255,10,122,2,5,110,48,255,255,16,122,2,5,111,48,255,255,6,122,2,5,112,48,255,255,6,122,2,5,113,48,255,255,6,122,2,5,102,48,34,0,106,48,16,0,106,48,255,255,6,122,2,5,107,48,255,255,8,122,2,5,108,48,255,255,10,122,2,5,109,48,255,255,14,122,2,5,102,48,255,255,14,122,2,5,103,48,255,255,14,122,2,5,104,48,255,255,16,122,2,5,105,48,255,255,16,122,2,5,98,48,16,0,98,48,255,255,8,122,2,5,99,48,255,255,10,122,2,5,100,48,255,255,10,122,2,5,101,48,255,255,10,122,2,5,95,48,255,255,6,122,2,5,96,48,255,255,6,122,2,5,97,48,255,255,8,122,2,5,80,48,66,0,87,48,34,0,91,48,16,0,91,48,255,255,14,122,2,5,92,48,255,255,14,122,2,5,93,48,255,255,16,122,2,5,94,48,255,255,16,122,2,5,87,48,255,255,8,122,2,5,88,48,255,255,8,122,2,5,89,48,255,255,10,122,2,5,90,48,255,255,10,122,2,5,83,48,16,0,83,48,255,255,16,122,2,5,84,48,255,255,16,122,2,5,85,48,255,255,6,122,2,5,86,48,255,255,6,122,2,5,80,48,255,255,10,122,2,5,81,48,255,255,14,122,2,5,82,48,255,255,14,122,2,5,72,48,34,0,76,48,16,0,76,48,255,255,6,122,2,5,77,48,255,255,8,122,2,5,78,48,255,255,8,122,2,5,79,48,255,255,10,122,2,5,72,48,255,255,14,122,2,5,73,48,255,255,16,122,2,5,74,48,255,255,16,122,2,5,75,48,255,255,6,122,2,5,68,48,16,0,68,48,255,255,8,122,2,5,69,48,255,255,10,122,2,5,70,48,255,255,10,122,2,5,71,48,255,255,14,122,2,5,65,48,255,255,6,122,2,5,66,48,255,255,6,122,2,5,67,48,255,255,8,122,2,5,15,0,198,161,0,0,162,0,240,48,24,1,117,255,139,0,137,255,71,0,147,255,37,0,152,255,20,0,155,255,9,0,155,255,21,192,198,129,156,255,21,192,198,161,157,255,22,192,198,33,152,255,21,192,198,33,153,255,21,192,198,65,154,255,21,192,198,97,147,255,20,192,198,129,148,255,20,192,198,161,149,255,20,192,198,193,150,255,20,192,198,225,151,255,21,192,198,1,142,255,15,0,142,255,19,192,198,225,143,255,20,192,198,1,144,255,20,192,198,33,145,255,20,192,198,65,146,255,20,192,198,97,137,255,19,192,198,65,138,255,19,192,198,97,139,255,19,192,198,129,140,255,19,192,198,161,141,255,19,192,198,193,127,255,32,0,132,255,15,0,132,255,18,192,198,161,133,255,18,192,198,193,134,255,18,192,198,225,135,255,19,192,198,1,136,255,19,192,198,33,127,255,18,192,198,1,128,255,18,192,198,33,129,255,18,192,198,65,130,255,18,192,198,97,131,255,18,192,198,129,122,255,15,0,122,255,17,192,198,97,123,255,17,192,198,129,124,255,17,192,198,161,125,255,17,192,198,193,126,255,17,192,198,225,117,255,16,192,198,65,118,255,16,192,198,97,119,255,16,192,198,193,120,255,16,192,198,225,121,255,17,192,198,1,249,49,71,0,105,255,37,0,110,255,20,0,114,255,9,0,114,255,15,192,198,225,115,255,16,192,198,1,116,255,16,192,198,33,110,255,20,192,198,225,111,255,18,192,198,97,113,255,15,192,198,193,105,255,16,192,198,1,106,255,16,192,198,33,107,255,16,192,198,65,108,255,20,192,198,161,109,255,20,192,198,193,254,49,15,0,254,49,21,192,198,97,255,49,21,192,198,129,102,255,22,192,198,1,103,255,15,192,198,193,104,255,15,192,198,225,249,49,19,192,198,225,250,49,20,192,198,65,251,49,21,192,198,1,252,49,21,192,198,33,253,49,21,192,198,65,250,48,32,0,244,49,15,0,244,49,19,192,198,1,245,49,19,192,198,97,246,49,19,192,198,129,247,49,19,192,198,161,248,49,19,192,198,193,250,48,22,192,198,1,240,49,16,192,198,225,241,49,17,192,198,161,242,49,17,192,198,193,243,49,18,192,198,161,245,48,15,0,245,48,16,192,198,97,246,48,17,192,198,1,247,48,21,192,198,161,248,48,21,192,198,193,249,48,21,192,198,225,240,48,21,192,198,193,241,48,21,192,198,225,242,48,22,192,198,1,243,48,22,192,198,33,244,48,16,192,198,1,199,48,139,0,219,48,71,0,229,48,37,0,234,48,20,0,237,48,9,0,237,48,21,192,198,129,238,48,21,192,198,161,239,48,21,192,198,161,234,48,21,192,198,33,235,48,21,192,198,65,236,48,21,192,198,97,229,48,20,192,198,193,230,48,20,192,198,193,231,48,20,192,198,225,232,48,20,192,198,225,233,48,21,192,198,1,224,48,15,0,224,48,20,192,198,65,225,48,20,192,198,97,226,48,20,192,198,129,227,48,20,192,198,161,228,48,20,192,198,161,219,48,19,192,198,225,220,48,19,192,198,225,221,48,19,192,198,225,222,48,20,192,198,1,223,48,20,192,198,33,209,48,32,0,214,48,15,0,214,48,19,192,198,161,215,48,19,192,198,161,216,48,19,192,198,193,217,48,19,192,198,193,218,48,19,192,198,193,209,48,19,192,198,97,210,48,19,192,198,129,211,48,19,192,198,129,212,48,19,192,198,129,213,48,19,192,198,161,204,48,15,0,204,48,19,192,198,1,205,48,19,192,198,33,206,48,19,192,198,65,207,48,19,192,198,97,208,48,19,192,198,97,199,48,18,192,198,129,200,48,18,192,198,161,201,48,18,192,198,161,202,48,18,192,198,193,203,48,18,192,198,225,179,48,66,0,189,48,32,0,194,48,15,0,194,48,18,192,198,65,195,48,18,192,198,97,196,48,18,192,198,97,197,48,18,192,198,97,198,48,18,192,198,129,189,48,18,192,198,1,190,48,18,192,198,1,191,48,18,192,198,33,192,48,18,192,198,33,193,48,18,192,198,65,184,48,15,0,184,48,17,192,198,161,185,48,17,192,198,193,186,48,17,192,198,193,187,48,17,192,198,225,188,48,17,192,198,225,179,48,17,192,198,97,180,48,17,192,198,97,181,48,17,192,198,129,182,48,17,192,198,129,183,48,17,192,198,161,169,48,32,0,174,48,15,0,174,48,16,192,198,193,175,48,16,192,198,225,176,48,16,192,198,225,177,48,17,192,198,1,178,48,17,192,198,34,169,48,16,192,198,65,170,48,16,192,198,65,171,48,16,192,198,97,172,48,16,192,198,130,173,48,16,192,198,193,164,48,15,0,164,48,15,192,198,225,165,48,16,192,198,1,166,48,16,192,198,1,167,48,16,192,198,33,168,48,16,192,198,33,153,48,11,0,154,48,99,0,161,48,15,192,198,193,162,48,15,192,198,193,163,48,15,192,198,225,24,0,193,48,45,0,213,48,23,0,239,48,12,0,239,48,21,192,198,161,240,48,21,192,198,193,241,48,21,192,198,225,242,48,22,192,198,1,213,48,19,192,198,161,216,48,19,192,198,193,219,48,19,192,198,225,200,48,9,0,200,48,18,192,198,161,207,48,19,192,198,97,210,48,19,192,198,129,193,48,18,192,198,65,196,48,18,192,198,97,198,48,18,192,198,129,181,48,20,0,187,48,9,0,187,48,17,192,198,225,189,48,18,192,198,1,191,48,18,192,198,33,181,48,17,192,198,129,183,48,17,192,198,161,185,48,17,192,198,193,175,48,9,0,175,48,16,192,198,225,177,48,17,192,198,34,179,48,17,192,198,97,166,48,16,192,198,1,171,48,16,192,198,130,173,48,16,192,198,193,4,0,207,48,19,192,198,97,210,48,19,192,198,129,213,48,19,192,198,161,216,48,19,192,198,193,219,48,19,192,198,225,22,0,198,66,0,0,162,0,240,48,24,1,117,255,139,0,137,255,71,0,147,255,37,0,152,255,20,0,155,255,9,0,155,255,33,192,198,194,156,255,34,192,198,2,157,255,35,192,198,2,152,255,33,192,198,2,153,255,33,192,198,66,154,255,33,192,198,130,147,255,31,192,198,194,148,255,32,192,198,2,149,255,32,192,198,66,150,255,32,192,198,130,151,255,32,192,198,194,142,255,15,0,142,255,30,192,198,130,143,255,30,192,198,194,144,255,31,192,198,2,145,255,31,192,198,66,146,255,31,192,198,130,137,255,29,192,198,66,138,255,29,192,198,130,139,255,29,192,198,194,140,255,30,192,198,2,141,255,30,192,198,66,127,255,32,0,132,255,15,0,132,255,28,192,198,2,133,255,28,192,198,66,134,255,28,192,198,130,135,255,28,192,198,194,136,255,29,192,198,2,127,255,26,192,198,194,128,255,27,192,198,2,129,255,27,192,198,66,130,255,27,192,198,130,131,255,27,192,198,194,122,255,15,0,122,255,25,192,198,130,123,255,25,192,198,194,124,255,26,192,198,2,125,255,26,192,198,66,126,255,26,192,198,130,117,255,23,192,198,130,118,255,23,192,198,194,119,255,24,192,198,98,120,255,24,192,198,162,121,255,24,192,198,226,249,49,71,0,105,255,37,0,110,255,20,0,114,255,9,0,114,255,22,192,198,194,115,255,23,192,198,2,116,255,23,192,198,66,110,255,32,192,198,130,111,255,27,192,198,130,113,255,22,192,198,130,105,255,23,192,198,2,106,255,23,192,198,66,107,255,23,192,198,130,108,255,32,192,198,2,109,255,32,192,198,66,254,49,15,0,254,49,33,192,198,130,255,49,33,192,198,194,102,255,34,192,198,194,103,255,22,192,198,130,104,255,22,192,198,194,249,49,30,192,198,130,250,49,31,192,198,66,251,49,32,192,198,194,252,49,33,192,198,2,253,49,33,192,198,66,250,48,32,0,244,49,15,0,244,49,28,192,198,194,245,49,29,192,198,130,246,49,29,192,198,194,247,49,30,192,198,2,248,49,30,192,198,66,250,48,34,192,198,194,240,49,24,192,198,162,241,49,26,192,198,2,242,49,26,192,198,66,243,49,28,192,198,2,245,48,15,0,245,48,23,192,198,194,246,48,24,192,198,226,247,48,34,192,198,2,248,48,34,192,198,66,249,48,34,192,198,130,240,48,34,192,198,66,241,48,34,192,198,130,242,48,34,192,198,194,243,48,35,192,198,2,244,48,23,192,198,2,199,48,139,0,219,48,71,0,229,48,37,0,234,48,20,0,237,48,9,0,237,48,33,192,198,194,238,48,34,192,198,2,239,48,34,192,198,2,234,48,33,192,198,2,235,48,33,192,198,66,236,48,33,192,198,130,229,48,32,192,198,66,230,48,32,192,198,66,231,48,32,192,198,130,232,48,32,192,198,130,233,48,32,192,198,194,224,48,15,0,224,48,31,192,198,66,225,48,31,192,198,130,226,48,31,192,198,194,227,48,32,192,198,2,228,48,32,192,198,2,219,48,30,192,198,130,220,48,30,192,198,130,221,48,30,192,198,130,222,48,30,192,198,194,223,48,31,192,198,2,209,48,32,0,214,48,15,0,214,48,30,192,198,2,215,48,30,192,198,2,216,48,30,192,198,66,217,48,30,192,198,66,218,48,30,192,198,66,209,48,29,192,198,130,210,48,29,192,198,194,211,48,29,192,198,194,212,48,29,192,198,194,213,48,30,192,198,2,204,48,15,0,204,48,28,192,198,194,205,48,29,192,198,2,206,48,29,192,198,66,207,48,29,192,198,130,208,48,29,192,198,130,199,48,27,192,198,194,200,48,28,192,198,2,201,48,28,192,198,2,202,48,28,192,198,66,203,48,28,192,198,130,179,48,66,0,189,48,32,0,194,48,15,0,194,48,27,192,198,66,195,48,27,192,198,130,196,48,27,192,198,130,197,48,27,192,198,130,198,48,27,192,198,194,189,48,26,192,198,194,190,48,26,192,198,194,191,48,27,192,198,2,192,48,27,192,198,2,193,48,27,192,198,66,184,48,15,0,184,48,26,192,198,2,185,48,26,192,198,66,186,48,26,192,198,66,187,48,26,192,198,130,188,48,26,192,198,130,179,48,25,192,198,130,180,48,25,192,198,130,181,48,25,192,198,194,182,48,25,192,198,194,183,48,26,192,198,2,169,48,32,0,174,48,15,0,174,48,24,192,198,98,175,48,24,192,198,162,176,48,24,192,198,162,177,48,24,192,198,226,178,48,25,192,198,35,169,48,23,192,198,130,170,48,23,192,198,130,171,48,23,192,198,194,172,48,24,192,198,3,173,48,24,192,198,98,164,48,15,0,164,48,22,192,198,194,165,48,23,192,198,2,166,48,23,192,198,2,167,48,23,192,198,66,168,48,23,192,198,66,153,48,11,0,154,48,99,0,161,48,22,192,198,130,162,48,22,192,198,130,163,48,22,192,198,194,24,0,193,48,45,0,213,48,23,0,239,48,12,0,239,48,34,192,198,2,240,48,34,192,198,66,241,48,34,192,198,130,242,48,34,192,198,194,213,48,30,192,198,2,216,48,30,192,198,66,219,48,30,192,198,130,200,48,9,0,200,48,28,192,198,2,207,48,29,192,198,130,210,48,29,192,198,194,193,48,27,192,198,66,196,48,27,192,198,130,198,48,27,192,198,194,181,48,20,0,187,48,9,0,187,48,26,192,198,130,189,48,26,192,198,194,191,48,27,192,198,2,181,48,25,192,198,194,183,48,26,192,198,2,185,48,26,192,198,66,175,48,9,0,175,48,24,192,198,162,177,48,25,192,198,35,179,48,25,192,198,130,166,48,23,192,198,2,171,48,24,192,198,3,173,48,24,192,198,98,4,0,207,48,29,192,198,130,210,48,29,192,198,194,213,48,30,192,198,2,216,48,30,192,198,66,219,48,30,192,198,130,35,0,198,129,0,0,0,1,12,128,107,2,117,152,75,1,254,158,187,0,7,249,74,0,196,249,38,0,10,250,20,0,10,250,255,255,25,253,193,42,30,250,255,255,195,252,193,136,60,250,255,255,135,251,193,8,149,250,255,255,11,252,193,192,206,250,255,255,224,253,193,118,196,249,255,255,224,253,193,12,233,249,255,255,98,253,193,98,247,249,255,255,152,252,193,118,8,250,255,255,15,253,193,118,64,249,16,0,64,249,255,255,209,253,193,178,113,249,255,255,78,253,193,128,129,249,255,255,106,251,193,100,138,249,255,255,42,251,193,8,7,249,255,255,224,253,193,118,8,249,255,255,224,253,193,118,10,249,255,255,98,253,193,242,52,249,255,255,198,252,193,84,127,159,75,0,159,159,57,0,159,159,255,255,224,253,193,218,160,159,255,255,224,253,193,236,126,216,4,0,2,249,255,255,70,253,193,218,9,0,210,221,20,0,210,221,255,255,45,253,193,112,21,222,255,255,213,253,193,94,23,222,255,255,217,253,193,36,24,222,255,255,217,253,193,222,28,222,255,255,219,253,193,240,29,220,255,255,34,251,193,200,117,220,255,255,130,251,193,144,120,220,255,255,135,251,193,8,144,220,255,255,160,251,193,102,196,221,255,255,16,253,193,52,127,159,255,255,223,253,193,110,141,159,255,255,224,253,193,12,153,159,255,255,224,253,193,96,156,159,255,255,224,253,193,118,59,159,16,0,59,159,255,255,219,253,193,240,74,159,255,255,220,253,193,176,80,159,255,255,220,253,193,236,82,159,255,255,220,253,193,248,254,158,255,255,217,253,193,222,14,159,255,255,218,253,193,6,19,159,255,255,218,253,193,62,32,159,255,255,218,253,193,220,50,155,70,0,165,158,34,0,205,158,16,0,205,158,255,255,214,253,193,124,209,158,255,255,214,253,193,252,249,158,255,255,217,253,193,36,253,158,255,255,217,253,193,62,165,158,255,255,211,253,193,56,166,158,255,255,212,253,193,196,187,158,255,255,213,253,193,94,195,158,255,255,213,253,193,210,229,156,16,0,229,156,255,255,195,253,193,218,31,158,255,255,206,253,193,72,117,158,255,255,208,253,193,240,127,158,255,255,209,253,193,178,50,155,255,255,180,253,193,172,60,155,255,255,181,253,193,166,90,155,255,255,184,253,193,2,124,156,255,255,193,253,193,64,153,153,34,0,216,154,16,0,216,154,255,255,175,253,193,232,223,154,255,255,176,253,193,186,37,155,255,255,180,253,193,58,47,155,255,255,180,253,193,136,153,153,255,255,164,253,193,252,172,153,255,255,165,253,193,208,108,154,255,255,171,253,193,244,168,154,255,255,173,253,193,168,222,152,16,0,222,152,255,255,157,253,193,164,223,152,255,255,157,253,193,170,99,153,255,255,163,253,193,20,150,153,255,255,164,253,193,110,117,152,255,255,153,253,193,70,168,152,255,255,154,253,193,82,206,152,255,255,156,253,193,242,219,152,255,255,157,253,193,122,100,141,142,0,127,149,70,0,94,151,34,0,230,151,16,0,230,151,255,255,147,253,193,30,237,151,255,255,147,253,193,108,243,151,255,255,147,253,193,184,1,152,255,255,148,253,193,142,94,151,255,255,140,253,193,44,98,151,255,255,140,253,193,152,105,151,255,255,141,253,193,160,203,151,255,255,145,253,193,196,182,150,16,0,182,150,255,255,131,253,193,186,185,150,255,255,131,253,193,228,232,150,255,255,134,253,193,178,81,151,255,255,139,253,193,216,127,149,255,255,120,253,193,2,128,149,255,255,120,253,193,6,232,149,255,255,124,253,193,84,28,150,255,255,125,253,193,154,181,143,34,0,204,145,16,0,204,145,255,255,98,253,193,98,209,145,255,255,98,253,193,242,133,148,255,255,114,253,193,86,119,149,255,255,118,253,193,200,181,143,255,255,78,253,193,176,145,144,255,255,87,253,193,98,73,145,255,255,93,253,193,148,198,145,255,255,98,253,193,30,202,142,16,0,202,142,255,255,70,253,193,218,102,143,255,255,76,253,193,100,155,143,255,255,77,253,193,186,176,143,255,255,78,253,193,128,100,141,255,255,54,253,193,190,112,141,255,255,55,253,193,84,179,141,255,255,59,253,193,84,171,142,255,255,68,253,193,230,107,134,70,0,0,138,34,0,85,140,16,0,85,140,255,255,45,253,193,112,120,140,255,255,47,253,193,36,157,140,255,255,48,253,193,190,29,141,255,255,53,253,193,202,0,138,255,255,30,253,193,38,160,139,255,255,40,253,193,192,55,140,255,255,43,253,193,160,70,140,255,255,44,253,193,90,126,137,16,0,126,137,255,255,24,253,193,136,139,137,255,255,25,253,193,42,193,137,255,255,27,253,193,148,210,137,255,255,27,253,193,240,107,134,255,255,254,252,193,150,64,136,255,255,14,253,193,202,76,136,255,255,15,253,193,118,99,136,255,255,16,253,193,52,252,129,34,0,110,130,16,0,110,130,255,255,222,252,193,106,114,130,255,255,222,252,193,140,120,130,255,255,223,252,193,6,77,134,255,255,252,252,193,174,252,129,255,255,217,252,193,10,12,130,255,255,218,252,193,106,27,130,255,255,219,252,193,90,31,130,255,255,219,252,193,128,137,128,16,0,137,128,255,255,203,252,193,226,227,129,255,255,215,252,193,90,234,129,255,255,215,252,193,222,243,129,255,255,216,252,193,152,12,128,255,255,198,252,193,214,18,128,255,255,199,252,193,40,51,128,255,255,200,252,193,74,127,128,255,255,203,252,193,128,54,98,30,1,132,115,142,0,226,119,70,0,115,124,34,0,81,127,16,0,81,127,255,255,189,252,193,238,138,127,255,255,193,252,193,14,189,127,255,255,195,252,193,136,1,128,255,255,198,252,193,84,115,124,255,255,168,252,193,76,248,124,255,255,174,252,193,70,159,126,255,255,185,252,193,220,54,127,255,255,188,252,193,198,190,121,16,0,190,121,255,255,140,252,193,156,116,122,255,255,148,252,193,22,203,122,255,255,152,252,193,118,249,122,255,255,154,252,193,154,226,119,255,255,124,252,193,16,243,119,255,255,125,252,193,134,58,121,255,255,134,252,193,210,184,121,255,255,140,252,193,88,139,117,34,0,174,118,16,0,174,118,255,255,109,252,193,26,191,118,255,255,110,252,193,184,238,118,255,255,113,252,193,128,219,119,255,255,123,252,193,54,139,117,255,255,98,252,193,100,146,117,255,255,98,252,193,176,118,118,255,255,106,252,193,156,125,118,255,255,106,252,193,250,24,117,16,0,24,117,255,255,92,252,193,188,31,117,255,255,93,252,193,36,40,117,255,255,93,252,193,208,48,117,255,255,94,252,193,32,132,115,255,255,79,252,193,112,137,115,255,255,79,252,193,132,220,116,255,255,89,252,193,158,230,116,255,255,90,252,193,104,179,107,70,0,42,114,34,0,71,114,16,0,71,114,255,255,66,252,193,252,89,114,255,255,68,252,193,28,91,114,255,255,68,252,193,94,172,114,255,255,72,252,193,46,42,114,255,255,64,252,193,48,54,114,255,255,65,252,193,150,59,114,255,255,65,252,193,218,63,114,255,255,66,252,193,14,15,108,16,0,15,108,255,255,20,252,193,236,20,108,255,255,21,252,193,54,52,108,255,255,21,252,193,230,107,112,255,255,48,252,193,142,179,107,255,255,14,252,193,174,203,107,255,255,16,252,193,104,212,107,255,255,16,252,193,180,219,107,255,255,17,252,193,22,224,101,34,0,40,103,16,0,40,103,255,255,235,251,193,114,32,107,255,255,6,252,193,188,98,107,255,255,9,252,193,190,121,107,255,255,11,252,193,192,224,101,255,255,222,251,193,42,229,101,255,255,222,251,193,86,240,102,255,255,232,251,193,90,8,103,255,255,233,251,193,86,135,101,16,0,135,101,255,255,217,251,193,254,151,101,255,255,218,251,193,178,164,101,255,255,219,251,193,74,185,101,255,255,220,251,193,68,54,98,255,255,190,251,193,162,75,98,255,255,191,251,193,156,47,101,255,255,212,251,193,60,52,101,255,255,212,251,193,230,215,86,142,0,219,93,70,0,254,94,34,0,97,95,16,0,97,95,255,255,165,251,193,122,115,95,255,255,166,251,193,88,195,95,255,255,169,251,193,252,8,98,255,255,188,251,193,76,254,94,255,255,160,251,193,102,11,95,255,255,161,251,193,108,19,95,255,255,161,251,193,216,80,95,255,255,164,251,193,210,114,94,16,0,114,94,255,255,153,251,193,170,122,94,255,255,154,251,193,90,127,94,255,255,154,251,193,218,244,94,255,255,159,251,193,254,219,93,255,255,147,251,193,66,229,93,255,255,147,251,193,210,241,93,255,255,148,251,193,132,254,93,255,255,149,251,193,20,80,91,34,0,34,92,16,0,34,92,255,255,130,251,193,144,56,92,255,255,131,251,193,192,110,92,255,255,135,251,193,8,113,92,255,255,135,251,193,128,80,91,255,255,119,251,193,108,128,91,255,255,121,251,193,174,248,91,255,255,128,251,193,22,15,92,255,255,129,251,193,34,10,89,16,0,10,89,255,255,100,251,193,232,21,89,255,255,101,251,193,136,39,89,255,255,102,251,193,204,115,89,255,255,106,251,193,100,215,86,255,255,83,251,193,76,31,87,255,255,85,251,193,186,235,88,255,255,99,251,193,220,2,89,255,255,100,251,193,178,224,81,70,0,65,83,34,0,130,83,16,0,130,83,255,255,50,251,193,178,182,83,255,255,53,251,193,120,200,83,255,255,54,251,193,122,227,83,255,255,56,251,193,112,65,83,255,255,47,251,193,180,92,83,255,255,49,251,193,44,100,83,255,255,209,253,193,152,105,83,255,255,49,251,193,240,249,82,16,0,249,82,255,255,44,251,193,244,21,83,255,255,45,251,193,234,26,83,255,255,46,251,193,82,56,83,255,255,47,251,193,118,224,81,255,255,33,251,193,196,245,81,255,255,34,251,193,200,0,82,255,255,35,251,193,132,155,82,255,255,42,251,193,8,160,78,34,0,107,81,16,0,107,81,255,255,28,251,193,74,130,81,255,255,29,251,193,104,150,81,255,255,30,251,193,74,171,81,255,255,31,251,193,62,160,78,255,255,8,251,193,232,186,78,255,255,10,251,193,68,63,81,255,255,26,251,193,4,101,81,255,255,27,251,193,188,63,78,16,0,63,78,255,255,4,251,193,252,89,78,255,255,6,251,193,26,133,78,255,255,7,251,193,248,140,78,255,255,8,251,193,74,0,78,255,255,2,251,193,2,40,78,255,255,4,251,193,60,44,78,255,255,66,252,193,246,54,78,255,255,4,251,193,200,26,130,246,1,0,78,1,78,40,78,41,78,44,78,45,78,54,78,55,78,63,78,64,78,89,78,90,78,133,78,134,78,140,78,141,78,160,78,161,78,186,78,187,78,63,81,64,81,101,81,102,81,107,81,108,81,130,81,131,81,150,81,151,81,171,81,172,81,224,81,225,81,245,81,246,81,0,82,1,82,155,82,156,82,249,82,250,82,21,83,22,83,26,83,27,83,56,83,57,83,65,83,66,83,92,83,93,83,100,83,101,83,105,83,106,83,130,83,131,83,182,83,183,83,200,83,201,83,227,83,228,83,215,86,216,86,31,87,32,87,235,88,236,88,2,89,3,89,10,89,11,89,21,89,22,89,39,89,40,89,115,89,116,89,80,91,81,91,128,91,129,91,248,91,249,91,15,92,16,92,34,92,35,92,56,92,57,92,110,92,111,92,113,92,114,92,219,93,220,93,229,93,230,93,241,93,242,93,254,93,255,93,114,94,115,94,122,94,123,94,127,94,128,94,244,94,245,94,254,94,255,94,11,95,12,95,19,95,20,95,80,95,81,95,97,95,98,95,115,95,116,95,195,95,196,95,8,98,9,98,54,98,55,98,75,98,76,98,47,101,48,101,52,101,53,101,135,101,136,101,151,101,152,101,164,101,165,101,185,101,186,101,224,101,225,101,229,101,230,101,240,102,241,102,8,103,9,103,40,103,41,103,32,107,33,107,98,107,99,107,121,107,122,107,179,107,180,107,203,107,204,107,212,107,213,107,219,107,220,107,15,108,16,108,20,108,21,108,52,108,53,108,107,112,108,112,42,114,43,114,54,114,55,114,59,114,60,114,63,114,64,114,71,114,72,114,89,114,90,114,91,114,92,114,172,114,173,114,132,115,133,115,137,115,138,115,220,116,221,116,230,116,231,116,24,117,25,117,31,117,32,117,40,117,41,117,48,117,49,117,139,117,140,117,146,117,147,117,118,118,119,118,125,118,126,118,174,118,175,118,191,118,192,118,238,118,239,118,219,119,220,119,226,119,227,119,243,119,244,119,58,121,59,121,184,121,185,121,190,121,191,121,116,122,117,122,203,122,204,122,249,122,250,122,115,124,116,124,248,124,249,124,159,126,160,126,54,127,55,127,81,127,82,127,138,127,139,127,189,127,190,127,1,128,2,128,12,128,13,128,18,128,19,128,51,128,52,128,127,128,128,128,137,128,138,128,227,129,228,129,234,129,235,129,243,129,244,129,252,129,253,129,12,130,13,130,27,130,28,130,31,130,32,130,110,130,111,130,114,130,115,130,120,130,121,130,77,134,78,134,107,134,108,134,64,136,65,136,76,136,77,136,99,136,100,136,126,137,127,137,139,137,140,137,193,137,194,137,210,137,211,137,0,138,1,138,160,139,161,139,55,140,56,140,70,140,71,140,85,140,86,140,120,140,121,140,157,140,158,140,29,141,30,141,100,141,101,141,112,141,113,141,179,141,180,141,171,142,172,142,202,142,203,142,102,143,103,143,155,143,156,143,176,143,177,143,181,143,182,143,145,144,146,144,73,145,74,145,198,145,199,145,204,145,205,145,209,145,210,145,133,148,134,148,119,149,120,149,127,149,129,149,232,149,233,149,28,150,29,150,182,150,183,150,185,150,186,150,232,150,233,150,81,151,82,151,94,151,95,151,98,151,99,151,105,151,106,151,203,151,204,151,230,151,231,151,237,151,238,151,243,151,244,151,1,152,2,152,117,152,118,152,168,152,169,152,206,152,207,152,219,152,220,152,222,152,224,152,99,153,100,153,150,153,151,153,153,153,154,153,172,153,173,153,108,154,109,154,168,154,169,154,216,154,217,154,223,154,224,154,37,155,38,155,47,155,48,155,50,155,51,155,60,155,61,155,90,155,91,155,124,156,125,156,229,156,230,156,31,158,32,158,117,158,118,158,127,158,128,158,165,158,167,158,187,158,188,158,195,158,196,158,205,158,206,158,209,158,210,158,249,158,250,158,253,158,255,158,14,159,15,159,19,159,20,159,32,159,33,159,59,159,60,159,74,159,75,159,80,159,81,159,82,159,83,159,127,159,128,159,141,159,142,159,153,159,154,159,156,159,157,159,159,159,161,159,126,216,127,216,2,249,3,249,7,249,9,249,10,249,11,249,52,249,53,249,64,249,65,249,113,249,114,249,129,249,130,249,138,249,139,249,196,249,197,249,233,249,234,249,247,249,248,249,8,250,9,250,10,250,11,250,30,250,31,250,60,250,61,250,149,250,150,250,206,250,207,250,2,0,29,248,2,0,30,248,2,0,117,248,2,0,118,248,2,0,120,248,2,0,121,248,2,0,144,248,2,0,145,248,2,0,196,249,2,0,197,249,2,0,210,249,2,0,211,249,2,0,21,250,2,0,22,250,2,0,23,250,2,0,25,250,2,0,28,250,2,0,29,250,3,0,82,0,56,0,65,0,43,122,0,16,4,0,0,96,1,0,0,96,3,0,43,0,73,0,97,0,122,45,0,80,38,122,0,32,235,142,0,32,1,0,32,0,240,142,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,118,0,0,32,7,0,0,0,21,0,0,0,120,0,0,0,120,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,71,0,101,0,111,0,114,0,93,0,0,0,170,170,60,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,36,0,0,0,36,1,0,0,12,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,39,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,111,0,0,32,1,0,32,0,116,0,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,5,7,0,32,7,0,0,0,21,0,0,0,7,7,0,0,7,7,0,0,3,0,0,0,0,0,0,0,48,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,48,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,21,4,60,0,81,4,60,0,60,0,60,0,1,4,38,0,176,4,60,0,175,4,60,0,60,0,60,0,174,4,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,76,4,60,0,86,4,60,0,60,0,60,0,6,4,0,0,170,170,170,170,170,170,170,170,170,170,170,170,40,27,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,160,26,0,0,160,26,0,0,160,26,0,0,160,26,0,0,244,26,0,0,244,26,0,0,16,27,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,141,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,100,0,108,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,124,0,48,0,48,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,116,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,144,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,134,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,231,97,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,97,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,177,97,5,5,177,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,231,97,5,150,0,0,5,5,231,97,5,150,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,40,97,174,5,48,0,8,3,255,255,41,97,134,5,40,97,5,5,48,0,8,3,255,255,41,97,5,5,3,0,69,0,52,0,61,0,51,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,254,6,0,32,1,0,32,0,3,7,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,230,22,0,32,7,0,0,0,23,0,0,0,232,22,0,0,232,22,0,0,3,0,0,0,0,0,0,0,117,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,107,0,108,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,130,220,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,81,0,60,0,60,0,56,1,60,0,60,0,60,0,75,0,39,0,39,0,38,0,116,0,60,0,60,0,60,0,254,0,47,0,104,0,38,0,84,0,60,0,60,0,60,0,222,0,47,0,72,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,101,0,40,3,60,0,60,0,60,0,69,0,40,3,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,229,0,60,0,60,0,60,0,197,0,0,0,170,170,170,170,170,170,170,170,170,170,238,47,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,163,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,148,38,0,0,148,38,0,0,44,41,0,0,44,41,0,0,236,44,0,0,236,44,0,0,204,47,0,0,210,47,0,0,210,47,0,0,50,105,114,84,1,0,64,8,92,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,108,0,116,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,148,0,156,0,162,0,170,0,178,0,186,0,48,0,56,0,185,0,193,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,218,0,48,0,48,0,48,0,226,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,234,0,48,0,48,0,242,0,48,0,248,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,3,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,11,1,48,0,48,0,15,1,48,0,23,1,28,1,36,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,42,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,53,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,208,0,48,0,48,0,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,61,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,69,1,48,0,48,0,75,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,176,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,80,2,136,2,200,2,192,0,228,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,28,0,202,225,28,0,202,2,29,0,202,35,29,0,202,68,29,0,202,101,29,0,202,134,29,0,202,167,29,0,202,200,29,0,202,233,29,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,166,1,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,201,96,2,0,156,5,0,64,156,5,0,66,156,5,0,68,201,70,3,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,102,4,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,6,6,0,5,5,0,44,5,5,0,46,5,5,0,48,201,70,7,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,6,8,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,38,9,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,33,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,97,0,0,5,5,127,12,198,65,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,34,20,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,161,0,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,225,0,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,10,0,201,6,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,74,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,129,0,0,198,1,1,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,38,13,0,201,70,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,15,0,201,134,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,17,0,201,198,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,98,3,0,198,162,3,0,192,0,0,0,192,0,0,0,198,226,3,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,19,0,201,6,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,5,0,197,34,5,0,198,98,5,0,197,98,5,0,198,162,5,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,5,0,198,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,38,22,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,24,0,5,71,238,102,201,230,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,192,0,0,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,7,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,197,99,8,0,197,194,8,0,192,0,0,0,192,0,0,0,197,2,9,0,197,67,9,0,197,162,9,0,192,0,0,0,192,0,0,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,25,0,201,230,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,28,0,201,38,29,0,201,70,30,0,201,102,31,0,201,134,32,0,201,166,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,34,0,201,230,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,37,0,201,38,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,39,0,201,102,40,0,201,134,41,0,201,166,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,43,0,201,230,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,96,2,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,5,0,70,0,2,111,93,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,226,5,0,5,5,10,121,5,5,12,121,197,34,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,197,226,6,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,7,0,5,5,107,121,197,98,7,0,5,5,111,121,197,162,7,0,5,5,115,121,197,226,7,0,5,5,119,121,197,34,8,0,197,99,8,0,197,194,8,0,5,5,127,121,5,5,129,121,197,2,9,0,197,67,9,0,197,162,9,0,5,5,137,121,5,5,139,121,197,226,9,0,5,5,143,121,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,50,156,5,48,0,40,3,0,192,198,65,0,62,156,5,48,0,39,0,255,255,0,74,70,70,0,70,156,5,1,0,8,3,0,192,198,97,11,3,0,192,198,129,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,0,192,198,161,10,3,255,255,111,93,193,4,0,50,5,5,48,0,40,3,0,192,198,193,0,70,5,5,1,0,8,3,0,192,198,225,11,3,1,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,98,10,3,1,192,198,162,5,42,196,162,1,0,8,3,1,192,198,226,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,2,192,198,98,11,3,2,192,198,162,5,70,196,190,1,0,8,3,2,192,198,226,11,3,3,192,198,34,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,4,192,198,34,11,3,4,192,198,98,5,70,196,162,1,0,8,3,4,192,198,162,11,3,4,192,198,226,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,6,192,198,98,10,3,6,192,198,162,5,42,196,200,1,0,8,3,6,192,198,226,10,3,12,192,197,162,156,82,196,198,1,0,8,3,12,192,197,226,11,3,13,192,197,34,5,82,196,198,1,0,8,3,13,192,197,98,11,3,13,192,197,162,156,82,196,208,1,0,8,3,13,192,197,226,11,3,14,192,197,34,5,82,196,208,1,0,8,3,14,192,197,98,11,3,14,192,197,162,156,82,196,204,1,0,8,3,14,192,197,226,11,3,15,192,197,34,5,82,196,204,1,0,8,3,15,192,197,98,11,3,15,192,197,162,156,42,196,196,1,0,8,3,7,192,198,34,10,3,7,192,198,98,5,42,196,196,1,0,8,3,7,192,198,162,10,3,15,192,197,226,156,70,196,196,1,0,8,3,7,192,198,226,11,3,8,192,198,34,5,70,196,196,1,0,8,3,8,192,198,98,11,3,8,192,198,162,16,0,197,35,1,0,8,3,8,192,198,227,11,3,9,192,198,67,16,0,197,131,1,0,8,3,9,192,198,163,11,3,10,192,198,3,156,82,196,196,1,0,8,3,16,192,197,226,11,3,17,192,197,34,5,82,196,196,1,0,8,3,17,192,197,98,11,3,17,192,197,162,17,0,197,227,1,0,8,3,18,192,197,67,11,3,18,192,197,163,19,0,197,3,1,0,8,3,19,192,197,99,11,3,19,192,197,195,2,0,39,0,40,0,170,170,3,0,67,0,50,0,59,0,119,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,132,41,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,30,0,0,100,30,0,0,252,32,0,0,252,32,0,0,216,34,0,0,216,34,0,0,114,37,0,0,120,37,0,0,104,41,0,0,50,105,114,84,1,0,64,8,217,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,108,0,116,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,48,0,48,0,173,0,48,0,181,0,186,0,194,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,208,0,161,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,176,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,13,0,202,193,13,0,202,226,13,0,202,3,14,0,202,36,14,0,202,69,14,0,202,102,14,0,202,135,14,0,202,168,14,0,202,201,14,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,230,0,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,201,160,1,0,156,5,0,64,156,5,0,66,156,5,0,68,201,134,2,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,166,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,5,0,5,5,0,44,5,5,0,46,5,5,0,48,201,134,6,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,70,7,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,8,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,33,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,97,0,0,5,5,127,12,198,65,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,98,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,161,0,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,225,0,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,10,0,201,70,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,74,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,129,0,0,198,1,1,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,102,12,0,201,134,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,14,0,201,198,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,16,0,201,6,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,98,3,0,198,162,3,0,192,0,0,0,192,0,0,0,198,226,3,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,19,0,201,70,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,5,0,197,34,5,0,198,98,5,0,197,98,5,0,198,162,5,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,5,0,198,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,21,0,201,134,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,23,0,201,198,24,0,201,230,25,0,201,6,27,0,201,38,28,0,201,70,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,30,0,201,134,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,32,0,201,198,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,34,0,201,6,36,0,201,38,37,0,201,70,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,39,0,201,134,40,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,160,1,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,5,0,70,0,2,111,93,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,50,156,5,48,0,40,3,0,192,198,65,0,62,156,5,48,0,39,0,255,255,0,74,70,70,0,70,156,5,1,0,8,3,0,192,198,97,11,3,0,192,198,129,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,0,192,198,161,10,3,255,255,111,93,193,4,0,50,5,5,48,0,40,3,0,192,198,193,0,70,5,5,1,0,8,3,0,192,198,225,11,3,1,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,98,10,3,1,192,198,162,5,42,196,162,1,0,8,3,1,192,198,226,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,2,192,198,98,11,3,2,192,198,162,5,70,196,190,1,0,8,3,2,192,198,226,11,3,3,192,198,34,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,4,192,198,34,11,3,4,192,198,98,5,70,196,162,1,0,8,3,4,192,198,162,11,3,4,192,198,226,156,42,196,200,1,0,8,3,6,192,198,98,10,3,6,192,198,162,5,42,196,200,1,0,8,3,6,192,198,226,10,3,5,192,197,226,156,82,196,198,1,0,8,3,6,192,197,34,11,3,6,192,197,98,5,82,196,198,1,0,8,3,6,192,197,162,11,3,6,192,197,226,156,82,196,208,1,0,8,3,7,192,197,34,11,3,7,192,197,98,5,82,196,208,1,0,8,3,7,192,197,162,11,3,7,192,197,226,156,82,196,204,1,0,8,3,8,192,197,34,11,3,8,192,197,98,5,82,196,204,1,0,8,3,8,192,197,162,11,3,8,192,197,226,156,42,196,196,1,0,8,3,7,192,198,34,10,3,7,192,198,98,5,42,196,196,1,0,8,3,7,192,198,162,10,3,9,192,197,34,156,70,196,196,1,0,8,3,7,192,198,226,11,3,8,192,198,34,5,70,196,196,1,0,8,3,8,192,198,98,11,3,8,192,198,162,9,0,197,99,1,0,8,3,8,192,198,227,11,3,9,192,198,67,9,0,197,195,1,0,8,3,9,192,198,163,11,3,10,192,198,3,156,82,196,196,1,0,8,3,10,192,197,34,11,3,10,192,197,98,5,82,196,196,1,0,8,3,10,192,197,162,11,3,10,192,197,226,11,0,197,35,1,0,8,3,11,192,197,131,11,3,11,192,197,227,12,0,197,67,1,0,8,3,12,192,197,163,11,3,13,192,197,3,2,0,39,0,40,0,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,60,185,64,185,68,24,4,185,76,185,80,185,84,186,88,186,96,26,4,185,104,185,108,186,112,30,4,185,124,185,128,185,132,186,136,186,140,32,4,185,152,185,156,185,160,185,164,185,168,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,60,168,64,168,68,36,4,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,38,4,168,124,168,128,168,132,168,136,168,140,40,4,168,152,168,156,168,160,168,164,168,168,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,217,176,185,184,185,176,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,249,121,121,122,217,180,136,14,185,180,185,149,153,149,249,149,217,164,153,165,0,8,2,8,168,57,136,57,232,57,104,58,200,176,168,184,168,176,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,232,121,104,122,200,180,128,14,168,180,168,149,136,149,232,149,200,164,136,165,4,8,72,166,249,58,232,58,217,57,200,57,42,4,44,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,249,176,232,176,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,200,128,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,180,232,180,25,181,8,181,153,133,136,133,185,134,168,134,25,134,8,134,154,137,136,137,250,137,232,137,186,138,168,138,26,138,8,138,186,142,168,142,26,142,8,142,185,144,168,144,121,150,104,150,249,150,232,150,217,149,200,149,57,150,40,150,249,164,232,164,46,4,48,4,249,157,232,157,249,165,232,165,89,166,153,169,136,169,153,170,136,170,25,170,8,170,232,136,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,187,140,185,84,200,136,169,136,169,140,168,84,187,88,187,96,169,88,169,96,169,172,169,112,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,72,255,5,185,100,39,4,209,128,255,5,185,120,255,5,185,148,255,5,168,56,255,5,168,72,255,5,168,120,255,5,168,148,255,5,217,58,255,5,200,58,255,5,217,150,255,5,200,150,255,1,3,0,67,0,50,0,59,0,123,12,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,116,12,0,32,221,22,0,32,1,0,32,0,226,22,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,230,8,0,32,7,0,0,0,21,0,0,0,232,8,0,0,232,8,0,0,3,0,0,0,0,0,0,0,33,1,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,18,222,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,75,0,104,0,109,0,114,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,116,0,101,0,114,0,116,0,105,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,61,0,180,23,61,0,181,23,38,0,212,23,155,23,212,23,60,0,60,0,60,0,216,23,38,0,200,23,60,0,60,0,206,23,60,0,60,0,207,23,60,0,60,0,209,23,60,0,60,0,208,23,60,0,60,0,200,23,60,0,60,0,221,23,60,0,60,0,203,23,60,0,60,0,201,23,60,0,60,0,202,23,60,0,60,0,205,23,38,0,154,23,60,0,171,23,60,0,172,23,38,0,155,23,60,0,173,23,60,0,174,23,38,0,154,23,210,23,128,23,60,0,60,0,128,23,204,23,38,0,154,23,210,23,129,23,60,0,60,0,129,23,204,23,38,0,154,23,210,23,130,23,60,0,60,0,130,23,204,23,38,0,154,23,210,23,131,23,60,0,60,0,131,23,204,23,38,0,154,23,210,23,132,23,60,0,60,0,132,23,204,23,38,0,154,23,210,23,133,23,60,0,60,0,133,23,204,23,38,0,154,23,210,23,134,23,60,0,60,0,134,23,204,23,38,0,154,23,210,23,135,23,60,0,60,0,135,23,204,23,38,0,154,23,210,23,136,23,60,0,60,0,136,23,204,23,38,0,154,23,210,23,137,23,60,0,60,0,137,23,204,23,38,0,154,23,210,23,138,23,60,0,60,0,138,23,204,23,38,0,154,23,210,23,139,23,60,0,60,0,139,23,204,23,38,0,154,23,210,23,140,23,60,0,60,0,140,23,204,23,38,0,154,23,210,23,141,23,60,0,60,0,141,23,204,23,38,0,154,23,210,23,142,23,60,0,60,0,142,23,204,23,38,0,154,23,210,23,143,23,60,0,60,0,143,23,204,23,38,0,154,23,210,23,144,23,60,0,60,0,144,23,204,23,38,0,154,23,210,23,145,23,60,0,60,0,145,23,204,23,38,0,154,23,210,23,146,23,60,0,60,0,146,23,204,23,38,0,154,23,210,23,147,23,60,0,60,0,147,23,204,23,38,0,154,23,210,23,148,23,60,0,60,0,148,23,204,23,38,0,154,23,210,23,149,23,60,0,60,0,149,23,204,23,38,0,154,23,210,23,150,23,60,0,60,0,150,23,204,23,38,0,154,23,210,23,151,23,60,0,60,0,151,23,204,23,38,0,154,23,210,23,152,23,60,0,60,0,152,23,204,23,38,0,154,23,210,23,153,23,60,0,60,0,153,23,204,23,38,0,154,23,210,23,154,23,60,0,60,0,154,23,204,23,38,0,154,23,210,23,171,23,60,0,60,0,171,23,204,23,38,0,154,23,210,23,172,23,60,0,60,0,172,23,204,23,38,0,154,23,210,23,155,23,60,0,60,0,155,23,204,23,38,0,154,23,210,23,173,23,60,0,60,0,173,23,204,23,38,0,154,23,210,23,174,23,60,0,60,0,174,23,204,23,38,0,154,23,210,23,156,23,60,0,60,0,156,23,204,23,38,0,154,23,210,23,157,23,60,0,60,0,157,23,204,23,38,0,154,23,210,23,158,23,60,0,60,0,158,23,204,23,38,0,154,23,210,23,159,23,60,0,60,0,159,23,204,23,38,0,154,23,210,23,160,23,60,0,60,0,160,23,204,23,38,0,154,23,210,23,161,23,60,0,60,0,161,23,204,23,38,0,154,23,210,23,162,23,60,0,60,0,162,23,204,23,61,0,163,23,204,23,38,0,162,23,61,0,163,23,38,0,162,23,182,23,61,0,164,23,38,0,162,23,183,23,60,0,60,0,165,23,38,0,162,23,184,23,60,0,60,0,166,23,38,0,162,23,187,23,60,0,60,0,167,23,38,0,162,23,188,23,60,0,60,0,169,23,38,0,162,23,194,23,60,0,60,0,175,23,38,0,162,23,195,23,60,0,60,0,176,23,38,0,162,23,196,23,60,0,60,0,177,23,38,0,162,23,197,23,60,0,60,0,179,23,38,0,167,23,128,23,60,0,60,0,60,0,168,23,38,0,169,23,156,23,60,0,60,0,60,0,170,23,38,0,177,23,60,0,60,0,60,0,178,23,38,0,197,23,60,0,187,23,198,23,60,0,198,23,60,0,182,23,198,23,60,0,199,23,60,0,183,23,199,23,60,0,187,23,199,23,60,0,193,23,199,23,60,0,196,23,199,23,0,0,170,170,170,170,170,170,170,170,236,30,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,76,0,0,0,76,1,0,0,236,25,0,0,236,25,0,0,76,26,0,0,76,26,0,0,168,28,0,0,168,28,0,0,198,30,0,0,208,30,0,0,23,0,0,0,0,0,98,117,178,255,0,118,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,0,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,129,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,112,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,17,0,202,193,17,0,202,226,17,0,202,3,18,0,202,36,18,0,202,69,18,0,202,102,18,0,202,135,18,0,202,168,18,0,202,201,18,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,16,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,17,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,17,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,0,0,0,201,160,0,0,201,96,1,0,201,32,2,0,201,224,2,0,201,160,3,0,201,96,4,0,201,32,5,0,201,224,5,0,201,160,6,0,201,96,7,0,201,32,8,0,201,224,8,0,201,160,9,0,201,96,10,0,201,32,11,0,201,224,11,0,201,160,12,0,201,96,13,0,201,32,14,0,201,224,14,0,201,160,15,0,201,96,16,0,201,32,17,0,201,224,17,0,201,160,18,0,201,96,19,0,201,32,20,0,201,224,20,0,201,160,21,0,201,96,22,0,201,32,23,0,201,224,23,0,201,160,24,0,201,96,25,0,201,96,25,0,197,66,13,0,197,130,13,0,197,194,13,0,197,2,14,0,197,67,14,0,197,162,14,0,197,227,14,0,201,32,26,0,201,192,26,0,201,128,27,0,201,64,28,0,197,66,15,0,197,130,15,0,197,194,15,0,197,2,16,0,197,66,16,0,0,0,0,0,0,0,0,0,201,0,29,0,201,224,29,0,192,0,0,0,192,0,0,0,192,0,0,0,201,192,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,32,0,192,0,0,0,192,0,0,0,201,0,33,0,192,0,0,0,193,3,237,117,193,5,237,117,194,5,164,245,194,5,167,245,194,5,168,245,194,5,166,245,192,0,0,0,194,5,169,245,194,5,160,245,194,5,161,245,194,5,163,245,194,5,162,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,165,245,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,5,0,0,152,117,0,5,0,5,0,0,238,117,0,5,0,70,0,2,153,117,0,5,0,5,0,0,152,117,0,5,0,5,0,0,238,117,0,5,0,70,0,3,153,117,0,5,0,5,0,0,152,117,0,5,0,5,0,0,238,117,0,5,0,70,0,2,155,117,0,5,0,5,0,0,152,117,0,5,0,5,0,0,238,117,0,5,0,70,0,3,155,117,0,0,0,0,5,5,152,117,5,5,238,117,5,70,100,117,5,5,152,117,5,5,238,117,5,70,102,117,5,5,152,117,5,5,238,117,5,70,104,117,5,5,152,117,5,5,238,117,5,70,106,117,5,5,152,117,5,5,238,117,5,70,108,117,5,5,152,117,5,5,238,117,5,70,110,117,5,5,152,117,5,5,238,117,5,70,112,117,5,5,152,117,5,5,238,117,5,70,114,117,5,5,152,117,5,5,238,117,5,70,116,117,5,5,152,117,5,5,238,117,5,70,118,117,5,5,152,117,5,5,238,117,5,70,120,117,5,5,152,117,5,5,238,117,5,70,122,117,5,5,152,117,5,5,238,117,5,70,124,117,5,5,152,117,5,5,238,117,5,70,126,117,5,5,152,117,5,5,238,117,5,70,128,117,5,5,152,117,5,5,238,117,5,70,130,117,5,5,152,117,5,5,238,117,5,70,132,117,5,5,152,117,5,5,238,117,5,70,134,117,5,5,152,117,5,5,238,117,5,70,136,117,5,5,152,117,5,5,238,117,5,70,138,117,5,5,152,117,5,5,238,117,5,70,140,117,5,5,152,117,5,5,238,117,5,70,142,117,5,5,152,117,5,5,238,117,5,70,144,117,5,5,152,117,5,5,238,117,5,70,146,117,5,5,152,117,5,5,238,117,5,70,148,117,5,5,152,117,5,5,238,117,5,70,150,117,5,5,152,117,5,5,238,117,5,70,152,117,5,5,152,117,5,5,238,117,5,70,154,117,5,5,152,117,5,5,238,117,5,70,156,117,5,5,152,117,5,5,238,117,5,70,158,117,5,5,152,117,5,5,238,117,5,70,160,117,5,5,152,117,5,5,238,117,5,70,162,117,5,5,152,117,5,5,238,117,5,70,164,117,5,5,152,117,5,5,238,117,5,70,166,117,5,5,152,117,5,5,238,117,5,70,168,117,5,5,168,117,5,5,206,117,5,5,168,117,5,70,208,117,5,5,168,117,5,70,210,117,5,5,168,117,5,70,216,117,5,5,168,117,5,70,216,117,6,5,100,117,5,5,168,117,5,70,218,117,5,5,168,117,5,70,218,117,6,5,156,117,5,5,168,117,5,70,230,117,5,5,168,117,5,70,232,117,5,5,168,117,5,70,234,117,5,5,168,117,6,70,234,117,5,5,168,117,5,70,236,117,5,5,48,9,5,5,154,117,6,5,48,9,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,100,117,5,5,48,0,204,23,197,163,102,117,5,5,48,0,204,23,0,192,197,131,104,117,5,5,48,0,204,23,0,192,197,227,106,117,5,5,48,0,204,23,1,192,197,67,108,117,5,5,48,0,204,23,1,192,197,163,110,117,5,5,48,0,204,23,2,192,197,3,112,117,5,5,48,0,204,23,2,192,197,99,114,117,5,5,48,0,204,23,2,192,197,195,116,117,5,5,48,0,204,23,3,192,197,35,118,117,5,5,48,0,204,23,3,192,197,131,120,117,5,5,48,0,204,23,3,192,197,227,122,117,5,5,48,0,204,23,4,192,197,67,124,117,5,5,48,0,204,23,4,192,197,163,126,117,5,5,48,0,204,23,5,192,197,3,128,117,5,5,48,0,204,23,5,192,197,99,130,117,5,5,48,0,204,23,5,192,197,195,132,117,5,5,48,0,204,23,6,192,197,35,134,117,5,5,48,0,204,23,6,192,197,131,136,117,5,5,48,0,204,23,6,192,197,227,138,117,5,5,48,0,204,23,7,192,197,67,140,117,5,5,48,0,204,23,7,192,197,163,142,117,5,5,48,0,204,23,8,192,197,3,144,117,5,5,48,0,204,23,8,192,197,99,146,117,5,5,48,0,204,23,8,192,197,195,148,117,5,5,48,0,204,23,9,192,197,35,150,117,5,5,48,0,204,23,9,192,197,131,152,117,5,5,48,0,204,23,9,192,197,227,154,117,5,5,48,0,204,23,10,192,197,67,156,117,5,5,48,0,204,23,10,192,197,163,158,117,5,5,48,0,204,23,11,192,197,3,160,117,5,5,48,0,204,23,11,192,197,99,162,117,5,5,48,0,204,23,11,192,197,195,164,117,5,5,48,0,204,23,12,192,197,35,166,117,5,5,48,0,204,23,12,192,197,131,168,117,5,5,48,0,204,23,12,192,197,227,153,117,193,2,48,0,204,23,198,131,153,117,193,3,48,0,204,23,0,192,198,99,155,117,193,2,48,0,204,23,0,192,198,195,155,117,193,3,48,0,204,23,1,192,198,35,206,117,5,5,48,0,198,23,255,255,237,117,193,4,208,117,5,5,48,0,199,23,255,255,237,117,193,6,216,117,5,5,1,0,198,23,255,255,237,117,193,2,199,23,255,255,237,117,193,7,228,117,5,5,48,0,199,23,255,255,237,117,193,8,234,117,5,5,48,0,199,23,255,255,237,117,193,9,4,0,198,23,200,23,204,23,205,23,3,0,69,0,52,0,61,0,35,1,0,16,4,0,0,96,1,0,0,96,1,0,43,0,223,8,0,32,1,0,32,0,228,8,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,117,33,0,32,7,0,0,0,24,0,0,0,119,33,0,0,119,33,0,0,3,0,0,0,0,0,0,0,118,9,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,116,114,97,100,105,116,105,111,110,97,108,0,0,0,52,0,50,0,0,0,87,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,75,0,110,0,100,0,97,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,12,60,0,130,12,60,0,131,12,60,0,241,12,60,0,242,12,0,0,239,223,92,18,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,75,0,110,0,100,0,97,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,12,60,0,130,12,60,0,131,12,60,0,241,12,60,0,242,12,60,0,149,12,205,12,60,0,150,12,205,12,60,0,151,12,205,12,60,0,152,12,205,12,60,0,153,12,205,12,60,0,154,12,205,12,60,0,155,12,205,12,60,0,156,12,205,12,60,0,157,12,205,12,60,0,158,12,205,12,60,0,159,12,205,12,60,0,160,12,205,12,60,0,161,12,205,12,60,0,162,12,205,12,60,0,163,12,205,12,60,0,164,12,205,12,60,0,165,12,205,12,60,0,166,12,205,12,60,0,167,12,205,12,60,0,168,12,205,12,60,0,170,12,205,12,60,0,171,12,205,12,60,0,172,12,205,12,60,0,173,12,205,12,60,0,174,12,205,12,60,0,175,12,205,12,60,0,176,12,205,12,60,0,177,12,205,12,60,0,178,12,205,12,60,0,181,12,205,12,60,0,182,12,205,12,60,0,183,12,205,12,60,0,184,12,205,12,60,0,185,12,205,12,60,0,179,12,205,12,60,0,222,12,205,12,38,0,149,12,205,12,133,12,61,0,149,12,38,0,149,12,205,12,134,12,61,0,149,12,190,12,38,0,149,12,205,12,135,12,61,0,149,12,191,12,38,0,149,12,205,12,136,12,61,0,149,12,192,12,38,0,149,12,205,12,137,12,61,0,149,12,193,12,38,0,149,12,205,12,138,12,61,0,149,12,194,12,38,0,149,12,205,12,139,12,61,0,149,12,195,12,38,0,149,12,205,12,224,12,61,0,149,12,196,12,38,0,149,12,205,12,140,12,61,0,149,12,226,12,38,0,149,12,205,12,225,12,61,0,149,12,227,12,38,0,149,12,205,12,142,12,61,0,149,12,198,12,38,0,149,12,205,12,143,12,61,0,149,12,199,12,38,0,149,12,205,12,144,12,61,0,149,12,200,12,38,0,149,12,205,12,146,12,61,0,149,12,202,12,38,0,149,12,205,12,147,12,61,0,149,12,203,12,38,0,149,12,205,12,148,12,61,0,149,12,204,12,38,0,150,12,205,12,133,12,61,0,150,12,38,0,150,12,205,12,134,12,61,0,150,12,190,12,38,0,150,12,205,12,135,12,61,0,150,12,191,12,38,0,150,12,205,12,136,12,61,0,150,12,192,12,38,0,150,12,205,12,137,12,61,0,150,12,193,12,38,0,150,12,205,12,138,12,61,0,150,12,194,12,38,0,150,12,205,12,139,12,61,0,150,12,195,12,38,0,150,12,205,12,224,12,61,0,150,12,196,12,38,0,150,12,205,12,140,12,61,0,150,12,226,12,38,0,150,12,205,12,225,12,61,0,150,12,227,12,38,0,150,12,205,12,142,12,61,0,150,12,198,12,38,0,150,12,205,12,143,12,61,0,150,12,199,12,38,0,150,12,205,12,144,12,61,0,150,12,200,12,38,0,150,12,205,12,146,12,61,0,150,12,202,12,38,0,150,12,205,12,147,12,61,0,150,12,203,12,38,0,150,12,205,12,148,12,61,0,150,12,204,12,38,0,151,12,205,12,133,12,61,0,151,12,38,0,151,12,205,12,134,12,61,0,151,12,190,12,38,0,151,12,205,12,135,12,61,0,151,12,191,12,38,0,151,12,205,12,136,12,61,0,151,12,192,12,38,0,151,12,205,12,137,12,61,0,151,12,193,12,38,0,151,12,205,12,138,12,61,0,151,12,194,12,38,0,151,12,205,12,139,12,61,0,151,12,195,12,38,0,151,12,205,12,224,12,61,0,151,12,196,12,38,0,151,12,205,12,140,12,61,0,151,12,226,12,38,0,151,12,205,12,225,12,61,0,151,12,227,12,38,0,151,12,205,12,142,12,61,0,151,12,198,12,38,0,151,12,205,12,143,12,61,0,151,12,199,12,38,0,151,12,205,12,144,12,61,0,151,12,200,12,38,0,151,12,205,12,146,12,61,0,151,12,202,12,38,0,151,12,205,12,147,12,61,0,151,12,203,12,38,0,151,12,205,12,148,12,61,0,151,12,204,12,38,0,152,12,205,12,133,12,61,0,152,12,38,0,152,12,205,12,134,12,61,0,152,12,190,12,38,0,152,12,205,12,135,12,61,0,152,12,191,12,38,0,152,12,205,12,136,12,61,0,152,12,192,12,38,0,152,12,205,12,137,12,61,0,152,12,193,12,38,0,152,12,205,12,138,12,61,0,152,12,194,12,38,0,152,12,205,12,139,12,61,0,152,12,195,12,38,0,152,12,205,12,224,12,61,0,152,12,196,12,38,0,152,12,205,12,140,12,61,0,152,12,226,12,38,0,152,12,205,12,225,12,61,0,152,12,227,12,38,0,152,12,205,12,142,12,61,0,152,12,198,12,38,0,152,12,205,12,143,12,61,0,152,12,199,12,38,0,152,12,205,12,144,12,61,0,152,12,200,12,38,0,152,12,205,12,146,12,61,0,152,12,202,12,38,0,152,12,205,12,147,12,61,0,152,12,203,12,38,0,152,12,205,12,148,12,61,0,152,12,204,12,38,0,153,12,205,12,133,12,61,0,153,12,38,0,153,12,205,12,134,12,61,0,153,12,190,12,38,0,153,12,205,12,135,12,61,0,153,12,191,12,38,0,153,12,205,12,136,12,61,0,153,12,192,12,38,0,153,12,205,12,137,12,61,0,153,12,193,12,38,0,153,12,205,12,138,12,61,0,153,12,194,12,38,0,153,12,205,12,139,12,61,0,153,12,195,12,38,0,153,12,205,12,224,12,61,0,153,12,196,12,38,0,153,12,205,12,140,12,61,0,153,12,226,12,38,0,153,12,205,12,225,12,61,0,153,12,227,12,38,0,153,12,205,12,142,12,61,0,153,12,198,12,38,0,153,12,205,12,143,12,61,0,153,12,199,12,38,0,153,12,205,12,144,12,61,0,153,12,200,12,38,0,153,12,205,12,146,12,61,0,153,12,202,12,38,0,153,12,205,12,147,12,61,0,153,12,203,12,38,0,153,12,205,12,148,12,61,0,153,12,204,12,38,0,154,12,205,12,133,12,61,0,154,12,38,0,154,12,205,12,134,12,61,0,154,12,190,12,38,0,154,12,205,12,135,12,61,0,154,12,191,12,38,0,154,12,205,12,136,12,61,0,154,12,192,12,38,0,154,12,205,12,137,12,61,0,154,12,193,12,38,0,154,12,205,12,138,12,61,0,154,12,194,12,38,0,154,12,205,12,139,12,61,0,154,12,195,12,38,0,154,12,205,12,224,12,61,0,154,12,196,12,38,0,154,12,205,12,140,12,61,0,154,12,226,12,38,0,154,12,205,12,225,12,61,0,154,12,227,12,38,0,154,12,205,12,142,12,61,0,154,12,198,12,38,0,154,12,205,12,143,12,61,0,154,12,199,12,38,0,154,12,205,12,144,12,61,0,154,12,200,12,38,0,154,12,205,12,146,12,61,0,154,12,202,12,38,0,154,12,205,12,147,12,61,0,154,12,203,12,38,0,154,12,205,12,148,12,61,0,154,12,204,12,38,0,155,12,205,12,133,12,61,0,155,12,38,0,155,12,205,12,134,12,61,0,155,12,190,12,38,0,155,12,205,12,135,12,61,0,155,12,191,12,38,0,155,12,205,12,136,12,61,0,155,12,192,12,38,0,155,12,205,12,137,12,61,0,155,12,193,12,38,0,155,12,205,12,138,12,61,0,155,12,194,12,38,0,155,12,205,12,139,12,61,0,155,12,195,12,38,0,155,12,205,12,224,12,61,0,155,12,196,12,38,0,155,12,205,12,140,12,61,0,155,12,226,12,38,0,155,12,205,12,225,12,61,0,155,12,227,12,38,0,155,12,205,12,142,12,61,0,155,12,198,12,38,0,155,12,205,12,143,12,61,0,155,12,199,12,38,0,155,12,205,12,144,12,61,0,155,12,200,12,38,0,155,12,205,12,146,12,61,0,155,12,202,12,38,0,155,12,205,12,147,12,61,0,155,12,203,12,38,0,155,12,205,12,148,12,61,0,155,12,204,12,38,0,156,12,205,12,133,12,61,0,156,12,38,0,156,12,205,12,134,12,61,0,156,12,190,12,38,0,156,12,205,12,135,12,61,0,156,12,191,12,38,0,156,12,205,12,136,12,61,0,156,12,192,12,38,0,156,12,205,12,137,12,61,0,156,12,193,12,38,0,156,12,205,12,138,12,61,0,156,12,194,12,38,0,156,12,205,12,139,12,61,0,156,12,195,12,38,0,156,12,205,12,224,12,61,0,156,12,196,12,38,0,156,12,205,12,140,12,61,0,156,12,226,12,38,0,156,12,205,12,225,12,61,0,156,12,227,12,38,0,156,12,205,12,142,12,61,0,156,12,198,12,38,0,156,12,205,12,143,12,61,0,156,12,199,12,38,0,156,12,205,12,144,12,61,0,156,12,200,12,38,0,156,12,205,12,146,12,61,0,156,12,202,12,38,0,156,12,205,12,147,12,61,0,156,12,203,12,38,0,156,12,205,12,148,12,61,0,156,12,204,12,38,0,157,12,205,12,133,12,61,0,157,12,38,0,157,12,205,12,134,12,61,0,157,12,190,12,38,0,157,12,205,12,135,12,61,0,157,12,191,12,38,0,157,12,205,12,136,12,61,0,157,12,192,12,38,0,157,12,205,12,137,12,61,0,157,12,193,12,38,0,157,12,205,12,138,12,61,0,157,12,194,12,38,0,157,12,205,12,139,12,61,0,157,12,195,12,38,0,157,12,205,12,224,12,61,0,157,12,196,12,38,0,157,12,205,12,140,12,61,0,157,12,226,12,38,0,157,12,205,12,225,12,61,0,157,12,227,12,38,0,157,12,205,12,142,12,61,0,157,12,198,12,38,0,157,12,205,12,143,12,61,0,157,12,199,12,38,0,157,12,205,12,144,12,61,0,157,12,200,12,38,0,157,12,205,12,146,12,61,0,157,12,202,12,38,0,157,12,205,12,147,12,61,0,157,12,203,12,38,0,157,12,205,12,148,12,61,0,157,12,204,12,38,0,158,12,205,12,133,12,61,0,158,12,38,0,158,12,205,12,134,12,61,0,158,12,190,12,38,0,158,12,205,12,135,12,61,0,158,12,191,12,38,0,158,12,205,12,136,12,61,0,158,12,192,12,38,0,158,12,205,12,137,12,61,0,158,12,193,12,38,0,158,12,205,12,138,12,61,0,158,12,194,12,38,0,158,12,205,12,139,12,61,0,158,12,195,12,38,0,158,12,205,12,224,12,61,0,158,12,196,12,38,0,158,12,205,12,140,12,61,0,158,12,226,12,38,0,158,12,205,12,225,12,61,0,158,12,227,12,38,0,158,12,205,12,142,12,61,0,158,12,198,12,38,0,158,12,205,12,143,12,61,0,158,12,199,12,38,0,158,12,205,12,144,12,61,0,158,12,200,12,38,0,158,12,205,12,146,12,61,0,158,12,202,12,38,0,158,12,205,12,147,12,61,0,158,12,203,12,38,0,158,12,205,12,148,12,61,0,158,12,204,12,38,0,159,12,205,12,133,12,61,0,159,12,38,0,159,12,205,12,134,12,61,0,159,12,190,12,38,0,159,12,205,12,135,12,61,0,159,12,191,12,38,0,159,12,205,12,136,12,61,0,159,12,192,12,38,0,159,12,205,12,137,12,61,0,159,12,193,12,38,0,159,12,205,12,138,12,61,0,159,12,194,12,38,0,159,12,205,12,139,12,61,0,159,12,195,12,38,0,159,12,205,12,224,12,61,0,159,12,196,12,38,0,159,12,205,12,140,12,61,0,159,12,226,12,38,0,159,12,205,12,225,12,61,0,159,12,227,12,38,0,159,12,205,12,142,12,61,0,159,12,198,12,38,0,159,12,205,12,143,12,61,0,159,12,199,12,38,0,159,12,205,12,144,12,61,0,159,12,200,12,38,0,159,12,205,12,146,12,61,0,159,12,202,12,38,0,159,12,205,12,147,12,61,0,159,12,203,12,38,0,159,12,205,12,148,12,61,0,159,12,204,12,38,0,160,12,205,12,133,12,61,0,160,12,38,0,160,12,205,12,134,12,61,0,160,12,190,12,38,0,160,12,205,12,135,12,61,0,160,12,191,12,38,0,160,12,205,12,136,12,61,0,160,12,192,12,38,0,160,12,205,12,137,12,61,0,160,12,193,12,38,0,160,12,205,12,138,12,61,0,160,12,194,12,38,0,160,12,205,12,139,12,61,0,160,12,195,12,38,0,160,12,205,12,224,12,61,0,160,12,196,12,38,0,160,12,205,12,140,12,61,0,160,12,226,12,38,0,160,12,205,12,225,12,61,0,160,12,227,12,38,0,160,12,205,12,142,12,61,0,160,12,198,12,38,0,160,12,205,12,143,12,61,0,160,12,199,12,38,0,160,12,205,12,144,12,61,0,160,12,200,12,38,0,160,12,205,12,146,12,61,0,160,12,202,12,38,0,160,12,205,12,147,12,61,0,160,12,203,12,38,0,160,12,205,12,148,12,61,0,160,12,204,12,38,0,161,12,205,12,133,12,61,0,161,12,38,0,161,12,205,12,134,12,61,0,161,12,190,12,38,0,161,12,205,12,135,12,61,0,161,12,191,12,38,0,161,12,205,12,136,12,61,0,161,12,192,12,38,0,161,12,205,12,137,12,61,0,161,12,193,12,38,0,161,12,205,12,138,12,61,0,161,12,194,12,38,0,161,12,205,12,139,12,61,0,161,12,195,12,38,0,161,12,205,12,224,12,61,0,161,12,196,12,38,0,161,12,205,12,140,12,61,0,161,12,226,12,38,0,161,12,205,12,225,12,61,0,161,12,227,12,38,0,161,12,205,12,142,12,61,0,161,12,198,12,38,0,161,12,205,12,143,12,61,0,161,12,199,12,38,0,161,12,205,12,144,12,61,0,161,12,200,12,38,0,161,12,205,12,146,12,61,0,161,12,202,12,38,0,161,12,205,12,147,12,61,0,161,12,203,12,38,0,161,12,205,12,148,12,61,0,161,12,204,12,38,0,162,12,205,12,133,12,61,0,162,12,38,0,162,12,205,12,134,12,61,0,162,12,190,12,38,0,162,12,205,12,135,12,61,0,162,12,191,12,38,0,162,12,205,12,136,12,61,0,162,12,192,12,38,0,162,12,205,12,137,12,61,0,162,12,193,12,38,0,162,12,205,12,138,12,61,0,162,12,194,12,38,0,162,12,205,12,139,12,61,0,162,12,195,12,38,0,162,12,205,12,224,12,61,0,162,12,196,12,38,0,162,12,205,12,140,12,61,0,162,12,226,12,38,0,162,12,205,12,225,12,61,0,162,12,227,12,38,0,162,12,205,12,142,12,61,0,162,12,198,12,38,0,162,12,205,12,143,12,61,0,162,12,199,12,38,0,162,12,205,12,144,12,61,0,162,12,200,12,38,0,162,12,205,12,146,12,61,0,162,12,202,12,38,0,162,12,205,12,147,12,61,0,162,12,203,12,38,0,162,12,205,12,148,12,61,0,162,12,204,12,38,0,163,12,205,12,133,12,61,0,163,12,38,0,163,12,205,12,134,12,61,0,163,12,190,12,38,0,163,12,205,12,135,12,61,0,163,12,191,12,38,0,163,12,205,12,136,12,61,0,163,12,192,12,38,0,163,12,205,12,137,12,61,0,163,12,193,12,38,0,163,12,205,12,138,12,61,0,163,12,194,12,38,0,163,12,205,12,139,12,61,0,163,12,195,12,38,0,163,12,205,12,224,12,61,0,163,12,196,12,38,0,163,12,205,12,140,12,61,0,163,12,226,12,38,0,163,12,205,12,225,12,61,0,163,12,227,12,38,0,163,12,205,12,142,12,61,0,163,12,198,12,38,0,163,12,205,12,143,12,61,0,163,12,199,12,38,0,163,12,205,12,144,12,61,0,163,12,200,12,38,0,163,12,205,12,146,12,61,0,163,12,202,12,38,0,163,12,205,12,147,12,61,0,163,12,203,12,38,0,163,12,205,12,148,12,61,0,163,12,204,12,38,0,164,12,205,12,133,12,61,0,164,12,38,0,164,12,205,12,134,12,61,0,164,12,190,12,38,0,164,12,205,12,135,12,61,0,164,12,191,12,38,0,164,12,205,12,136,12,61,0,164,12,192,12,38,0,164,12,205,12,137,12,61,0,164,12,193,12,38,0,164,12,205,12,138,12,61,0,164,12,194,12,38,0,164,12,205,12,139,12,61,0,164,12,195,12,38,0,164,12,205,12,224,12,61,0,164,12,196,12,38,0,164,12,205,12,140,12,61,0,164,12,226,12,38,0,164,12,205,12,225,12,61,0,164,12,227,12,38,0,164,12,205,12,142,12,61,0,164,12,198,12,38,0,164,12,205,12,143,12,61,0,164,12,199,12,38,0,164,12,205,12,144,12,61,0,164,12,200,12,38,0,164,12,205,12,146,12,61,0,164,12,202,12,38,0,164,12,205,12,147,12,61,0,164,12,203,12,38,0,164,12,205,12,148,12,61,0,164,12,204,12,38,0,165,12,205,12,133,12,61,0,165,12,38,0,165,12,205,12,134,12,61,0,165,12,190,12,38,0,165,12,205,12,135,12,61,0,165,12,191,12,38,0,165,12,205,12,136,12,61,0,165,12,192,12,38,0,165,12,205,12,137,12,61,0,165,12,193,12,38,0,165,12,205,12,138,12,61,0,165,12,194,12,38,0,165,12,205,12,139,12,61,0,165,12,195,12,38,0,165,12,205,12,224,12,61,0,165,12,196,12,38,0,165,12,205,12,140,12,61,0,165,12,226,12,38,0,165,12,205,12,225,12,61,0,165,12,227,12,38,0,165,12,205,12,142,12,61,0,165,12,198,12,38,0,165,12,205,12,143,12,61,0,165,12,199,12,38,0,165,12,205,12,144,12,61,0,165,12,200,12,38,0,165,12,205,12,146,12,61,0,165,12,202,12,38,0,165,12,205,12,147,12,61,0,165,12,203,12,38,0,165,12,205,12,148,12,61,0,165,12,204,12,38,0,166,12,205,12,133,12,61,0,166,12,38,0,166,12,205,12,134,12,61,0,166,12,190,12,38,0,166,12,205,12,135,12,61,0,166,12,191,12,38,0,166,12,205,12,136,12,61,0,166,12,192,12,38,0,166,12,205,12,137,12,61,0,166,12,193,12,38,0,166,12,205,12,138,12,61,0,166,12,194,12,38,0,166,12,205,12,139,12,61,0,166,12,195,12,38,0,166,12,205,12,224,12,61,0,166,12,196,12,38,0,166,12,205,12,140,12,61,0,166,12,226,12,38,0,166,12,205,12,225,12,61,0,166,12,227,12,38,0,166,12,205,12,142,12,61,0,166,12,198,12,38,0,166,12,205,12,143,12,61,0,166,12,199,12,38,0,166,12,205,12,144,12,61,0,166,12,200,12,38,0,166,12,205,12,146,12,61,0,166,12,202,12,38,0,166,12,205,12,147,12,61,0,166,12,203,12,38,0,166,12,205,12,148,12,61,0,166,12,204,12,38,0,167,12,205,12,133,12,61,0,167,12,38,0,167,12,205,12,134,12,61,0,167,12,190,12,38,0,167,12,205,12,135,12,61,0,167,12,191,12,38,0,167,12,205,12,136,12,61,0,167,12,192,12,38,0,167,12,205,12,137,12,61,0,167,12,193,12,38,0,167,12,205,12,138,12,61,0,167,12,194,12,38,0,167,12,205,12,139,12,61,0,167,12,195,12,38,0,167,12,205,12,224,12,61,0,167,12,196,12,38,0,167,12,205,12,140,12,61,0,167,12,226,12,38,0,167,12,205,12,225,12,61,0,167,12,227,12,38,0,167,12,205,12,142,12,61,0,167,12,198,12,38,0,167,12,205,12,143,12,61,0,167,12,199,12,38,0,167,12,205,12,144,12,61,0,167,12,200,12,38,0,167,12,205,12,146,12,61,0,167,12,202,12,38,0,167,12,205,12,147,12,61,0,167,12,203,12,38,0,167,12,205,12,148,12,61,0,167,12,204,12,38,0,168,12,205,12,133,12,61,0,168,12,38,0,168,12,205,12,134,12,61,0,168,12,190,12,38,0,168,12,205,12,135,12,61,0,168,12,191,12,38,0,168,12,205,12,136,12,61,0,168,12,192,12,38,0,168,12,205,12,137,12,61,0,168,12,193,12,38,0,168,12,205,12,138,12,61,0,168,12,194,12,38,0,168,12,205,12,139,12,61,0,168,12,195,12,38,0,168,12,205,12,224,12,61,0,168,12,196,12,38,0,168,12,205,12,140,12,61,0,168,12,226,12,38,0,168,12,205,12,225,12,61,0,168,12,227,12,38,0,168,12,205,12,142,12,61,0,168,12,198,12,38,0,168,12,205,12,143,12,61,0,168,12,199,12,38,0,168,12,205,12,144,12,61,0,168,12,200,12,38,0,168,12,205,12,146,12,61,0,168,12,202,12,38,0,168,12,205,12,147,12,61,0,168,12,203,12,38,0,168,12,205,12,148,12,61,0,168,12,204,12,38,0,170,12,205,12,133,12,61,0,170,12,38,0,170,12,205,12,134,12,61,0,170,12,190,12,38,0,170,12,205,12,135,12,61,0,170,12,191,12,38,0,170,12,205,12,136,12,61,0,170,12,192,12,38,0,170,12,205,12,137,12,61,0,170,12,193,12,38,0,170,12,205,12,138,12,61,0,170,12,194,12,38,0,170,12,205,12,139,12,61,0,170,12,195,12,38,0,170,12,205,12,224,12,61,0,170,12,196,12,38,0,170,12,205,12,140,12,61,0,170,12,226,12,38,0,170,12,205,12,225,12,61,0,170,12,227,12,38,0,170,12,205,12,142,12,61,0,170,12,198,12,38,0,170,12,205,12,143,12,61,0,170,12,199,12,38,0,170,12,205,12,144,12,61,0,170,12,200,12,38,0,170,12,205,12,146,12,61,0,170,12,202,12,38,0,170,12,205,12,147,12,61,0,170,12,203,12,38,0,170,12,205,12,148,12,61,0,170,12,204,12,38,0,171,12,205,12,133,12,61,0,171,12,38,0,171,12,205,12,134,12,61,0,171,12,190,12,38,0,171,12,205,12,135,12,61,0,171,12,191,12,38,0,171,12,205,12,136,12,61,0,171,12,192,12,38,0,171,12,205,12,137,12,61,0,171,12,193,12,38,0,171,12,205,12,138,12,61,0,171,12,194,12,38,0,171,12,205,12,139,12,61,0,171,12,195,12,38,0,171,12,205,12,224,12,61,0,171,12,196,12,38,0,171,12,205,12,140,12,61,0,171,12,226,12,38,0,171,12,205,12,225,12,61,0,171,12,227,12,38,0,171,12,205,12,142,12,61,0,171,12,198,12,38,0,171,12,205,12,143,12,61,0,171,12,199,12,38,0,171,12,205,12,144,12,61,0,171,12,200,12,38,0,171,12,205,12,146,12,61,0,171,12,202,12,38,0,171,12,205,12,147,12,61,0,171,12,203,12,38,0,171,12,205,12,148,12,61,0,171,12,204,12,38,0,172,12,205,12,133,12,61,0,172,12,38,0,172,12,205,12,134,12,61,0,172,12,190,12,38,0,172,12,205,12,135,12,61,0,172,12,191,12,38,0,172,12,205,12,136,12,61,0,172,12,192,12,38,0,172,12,205,12,137,12,61,0,172,12,193,12,38,0,172,12,205,12,138,12,61,0,172,12,194,12,38,0,172,12,205,12,139,12,61,0,172,12,195,12,38,0,172,12,205,12,224,12,61,0,172,12,196,12,38,0,172,12,205,12,140,12,61,0,172,12,226,12,38,0,172,12,205,12,225,12,61,0,172,12,227,12,38,0,172,12,205,12,142,12,61,0,172,12,198,12,38,0,172,12,205,12,143,12,61,0,172,12,199,12,38,0,172,12,205,12,144,12,61,0,172,12,200,12,38,0,172,12,205,12,146,12,61,0,172,12,202,12,38,0,172,12,205,12,147,12,61,0,172,12,203,12,38,0,172,12,205,12,148,12,61,0,172,12,204,12,38,0,173,12,205,12,133,12,61,0,173,12,38,0,173,12,205,12,134,12,61,0,173,12,190,12,38,0,173,12,205,12,135,12,61,0,173,12,191,12,38,0,173,12,205,12,136,12,61,0,173,12,192,12,38,0,173,12,205,12,137,12,61,0,173,12,193,12,38,0,173,12,205,12,138,12,61,0,173,12,194,12,38,0,173,12,205,12,139,12,61,0,173,12,195,12,38,0,173,12,205,12,224,12,61,0,173,12,196,12,38,0,173,12,205,12,140,12,61,0,173,12,226,12,38,0,173,12,205,12,225,12,61,0,173,12,227,12,38,0,173,12,205,12,142,12,61,0,173,12,198,12,38,0,173,12,205,12,143,12,61,0,173,12,199,12,38,0,173,12,205,12,144,12,61,0,173,12,200,12,38,0,173,12,205,12,146,12,61,0,173,12,202,12,38,0,173,12,205,12,147,12,61,0,173,12,203,12,38,0,173,12,205,12,148,12,61,0,173,12,204,12,38,0,174,12,205,12,133,12,61,0,174,12,38,0,174,12,205,12,134,12,61,0,174,12,190,12,38,0,174,12,205,12,135,12,61,0,174,12,191,12,38,0,174,12,205,12,136,12,61,0,174,12,192,12,38,0,174,12,205,12,137,12,61,0,174,12,193,12,38,0,174,12,205,12,138,12,61,0,174,12,194,12,38,0,174,12,205,12,139,12,61,0,174,12,195,12,38,0,174,12,205,12,224,12,61,0,174,12,196,12,38,0,174,12,205,12,140,12,61,0,174,12,226,12,38,0,174,12,205,12,225,12,61,0,174,12,227,12,38,0,174,12,205,12,142,12,61,0,174,12,198,12,38,0,174,12,205,12,143,12,61,0,174,12,199,12,38,0,174,12,205,12,144,12,61,0,174,12,200,12,38,0,174,12,205,12,146,12,61,0,174,12,202,12,38,0,174,12,205,12,147,12,61,0,174,12,203,12,38,0,174,12,205,12,148,12,61,0,174,12,204,12,38,0,175,12,205,12,133,12,61,0,175,12,38,0,175,12,205,12,134,12,61,0,175,12,190,12,38,0,175,12,205,12,135,12,61,0,175,12,191,12,38,0,175,12,205,12,136,12,61,0,175,12,192,12,38,0,175,12,205,12,137,12,61,0,175,12,193,12,38,0,175,12,205,12,138,12,61,0,175,12,194,12,38,0,175,12,205,12,139,12,61,0,175,12,195,12,38,0,175,12,205,12,224,12,61,0,175,12,196,12,38,0,175,12,205,12,140,12,61,0,175,12,226,12,38,0,175,12,205,12,225,12,61,0,175,12,227,12,38,0,175,12,205,12,142,12,61,0,175,12,198,12,38,0,175,12,205,12,143,12,61,0,175,12,199,12,38,0,175,12,205,12,144,12,61,0,175,12,200,12,38,0,175,12,205,12,146,12,61,0,175,12,202,12,38,0,175,12,205,12,147,12,61,0,175,12,203,12,38,0,175,12,205,12,148,12,61,0,175,12,204,12,38,0,176,12,205,12,133,12,61,0,176,12,38,0,176,12,205,12,134,12,61,0,176,12,190,12,38,0,176,12,205,12,135,12,61,0,176,12,191,12,38,0,176,12,205,12,136,12,61,0,176,12,192,12,38,0,176,12,205,12,137,12,61,0,176,12,193,12,38,0,176,12,205,12,138,12,61,0,176,12,194,12,38,0,176,12,205,12,139,12,61,0,176,12,195,12,38,0,176,12,205,12,224,12,61,0,176,12,196,12,38,0,176,12,205,12,140,12,61,0,176,12,226,12,38,0,176,12,205,12,225,12,61,0,176,12,227,12,38,0,176,12,205,12,142,12,61,0,176,12,198,12,38,0,176,12,205,12,143,12,61,0,176,12,199,12,38,0,176,12,205,12,144,12,61,0,176,12,200,12,38,0,176,12,205,12,146,12,61,0,176,12,202,12,38,0,176,12,205,12,147,12,61,0,176,12,203,12,38,0,176,12,205,12,148,12,61,0,176,12,204,12,38,0,177,12,205,12,133,12,61,0,177,12,38,0,177,12,205,12,134,12,61,0,177,12,190,12,38,0,177,12,205,12,135,12,61,0,177,12,191,12,38,0,177,12,205,12,136,12,61,0,177,12,192,12,38,0,177,12,205,12,137,12,61,0,177,12,193,12,38,0,177,12,205,12,138,12,61,0,177,12,194,12,38,0,177,12,205,12,139,12,61,0,177,12,195,12,38,0,177,12,205,12,224,12,61,0,177,12,196,12,38,0,177,12,205,12,140,12,61,0,177,12,226,12,38,0,177,12,205,12,225,12,61,0,177,12,227,12,38,0,177,12,205,12,142,12,61,0,177,12,198,12,38,0,177,12,205,12,143,12,61,0,177,12,199,12,38,0,177,12,205,12,144,12,61,0,177,12,200,12,38,0,177,12,205,12,146,12,61,0,177,12,202,12,38,0,177,12,205,12,147,12,61,0,177,12,203,12,38,0,177,12,205,12,148,12,61,0,177,12,204,12,38,0,178,12,205,12,133,12,61,0,178,12,38,0,178,12,205,12,134,12,61,0,178,12,190,12,38,0,178,12,205,12,135,12,61,0,178,12,191,12,38,0,178,12,205,12,136,12,61,0,178,12,192,12,38,0,178,12,205,12,137,12,61,0,178,12,193,12,38,0,178,12,205,12,138,12,61,0,178,12,194,12,38,0,178,12,205,12,139,12,61,0,178,12,195,12,38,0,178,12,205,12,224,12,61,0,178,12,196,12,38,0,178,12,205,12,140,12,61,0,178,12,226,12,38,0,178,12,205,12,225,12,61,0,178,12,227,12,38,0,178,12,205,12,142,12,61,0,178,12,198,12,38,0,178,12,205,12,143,12,61,0,178,12,199,12,38,0,178,12,205,12,144,12,61,0,178,12,200,12,38,0,178,12,205,12,146,12,61,0,178,12,202,12,38,0,178,12,205,12,147,12,61,0,178,12,203,12,38,0,178,12,205,12,148,12,61,0,178,12,204,12,38,0,181,12,205,12,133,12,61,0,181,12,38,0,181,12,205,12,134,12,61,0,181,12,190,12,38,0,181,12,205,12,135,12,61,0,181,12,191,12,38,0,181,12,205,12,136,12,61,0,181,12,192,12,38,0,181,12,205,12,137,12,61,0,181,12,193,12,38,0,181,12,205,12,138,12,61,0,181,12,194,12,38,0,181,12,205,12,139,12,61,0,181,12,195,12,38,0,181,12,205,12,224,12,61,0,181,12,196,12,38,0,181,12,205,12,140,12,61,0,181,12,226,12,38,0,181,12,205,12,225,12,61,0,181,12,227,12,38,0,181,12,205,12,142,12,61,0,181,12,198,12,38,0,181,12,205,12,143,12,61,0,181,12,199,12,38,0,181,12,205,12,144,12,61,0,181,12,200,12,38,0,181,12,205,12,146,12,61,0,181,12,202,12,38,0,181,12,205,12,147,12,61,0,181,12,203,12,38,0,181,12,205,12,148,12,61,0,181,12,204,12,38,0,182,12,205,12,133,12,61,0,182,12,38,0,182,12,205,12,134,12,61,0,182,12,190,12,38,0,182,12,205,12,135,12,61,0,182,12,191,12,38,0,182,12,205,12,136,12,61,0,182,12,192,12,38,0,182,12,205,12,137,12,61,0,182,12,193,12,38,0,182,12,205,12,138,12,61,0,182,12,194,12,38,0,182,12,205,12,139,12,61,0,182,12,195,12,38,0,182,12,205,12,224,12,61,0,182,12,196,12,38,0,182,12,205,12,140,12,61,0,182,12,226,12,38,0,182,12,205,12,225,12,61,0,182,12,227,12,38,0,182,12,205,12,142,12,61,0,182,12,198,12,38,0,182,12,205,12,143,12,61,0,182,12,199,12,38,0,182,12,205,12,144,12,61,0,182,12,200,12,38,0,182,12,205,12,146,12,61,0,182,12,202,12,38,0,182,12,205,12,147,12,61,0,182,12,203,12,38,0,182,12,205,12,148,12,61,0,182,12,204,12,38,0,183,12,205,12,133,12,61,0,183,12,38,0,183,12,205,12,134,12,61,0,183,12,190,12,38,0,183,12,205,12,135,12,61,0,183,12,191,12,38,0,183,12,205,12,136,12,61,0,183,12,192,12,38,0,183,12,205,12,137,12,61,0,183,12,193,12,38,0,183,12,205,12,138,12,61,0,183,12,194,12,38,0,183,12,205,12,139,12,61,0,183,12,195,12,38,0,183,12,205,12,224,12,61,0,183,12,196,12,38,0,183,12,205,12,140,12,61,0,183,12,226,12,38,0,183,12,205,12,225,12,61,0,183,12,227,12,38,0,183,12,205,12,142,12,61,0,183,12,198,12,38,0,183,12,205,12,143,12,61,0,183,12,199,12,38,0,183,12,205,12,144,12,61,0,183,12,200,12,38,0,183,12,205,12,146,12,61,0,183,12,202,12,38,0,183,12,205,12,147,12,61,0,183,12,203,12,38,0,183,12,205,12,148,12,61,0,183,12,204,12,38,0,184,12,205,12,133,12,61,0,184,12,38,0,184,12,205,12,134,12,61,0,184,12,190,12,38,0,184,12,205,12,135,12,61,0,184,12,191,12,38,0,184,12,205,12,136,12,61,0,184,12,192,12,38,0,184,12,205,12,137,12,61,0,184,12,193,12,38,0,184,12,205,12,138,12,61,0,184,12,194,12,38,0,184,12,205,12,139,12,61,0,184,12,195,12,38,0,184,12,205,12,224,12,61,0,184,12,196,12,38,0,184,12,205,12,140,12,61,0,184,12,226,12,38,0,184,12,205,12,225,12,61,0,184,12,227,12,38,0,184,12,205,12,142,12,61,0,184,12,198,12,38,0,184,12,205,12,143,12,61,0,184,12,199,12,38,0,184,12,205,12,144,12,61,0,184,12,200,12,38,0,184,12,205,12,146,12,61,0,184,12,202,12,38,0,184,12,205,12,147,12,61,0,184,12,203,12,38,0,184,12,205,12,148,12,61,0,184,12,204,12,38,0,185,12,205,12,133,12,61,0,185,12,38,0,185,12,205,12,134,12,61,0,185,12,190,12,38,0,185,12,205,12,135,12,61,0,185,12,191,12,38,0,185,12,205,12,136,12,61,0,185,12,192,12,38,0,185,12,205,12,137,12,61,0,185,12,193,12,38,0,185,12,205,12,138,12,61,0,185,12,194,12,38,0,185,12,205,12,139,12,61,0,185,12,195,12,38,0,185,12,205,12,224,12,61,0,185,12,196,12,38,0,185,12,205,12,140,12,61,0,185,12,226,12,38,0,185,12,205,12,225,12,61,0,185,12,227,12,38,0,185,12,205,12,142,12,61,0,185,12,198,12,38,0,185,12,205,12,143,12,61,0,185,12,199,12,38,0,185,12,205,12,144,12,61,0,185,12,200,12,38,0,185,12,205,12,146,12,61,0,185,12,202,12,38,0,185,12,205,12,147,12,61,0,185,12,203,12,38,0,185,12,205,12,148,12,61,0,185,12,204,12,38,0,179,12,205,12,133,12,61,0,179,12,38,0,179,12,205,12,134,12,61,0,179,12,190,12,38,0,179,12,205,12,135,12,61,0,179,12,191,12,38,0,179,12,205,12,136,12,61,0,179,12,192,12,38,0,179,12,205,12,137,12,61,0,179,12,193,12,38,0,179,12,205,12,138,12,61,0,179,12,194,12,38,0,179,12,205,12,139,12,61,0,179,12,195,12,38,0,179,12,205,12,224,12,61,0,179,12,196,12,38,0,179,12,205,12,140,12,61,0,179,12,226,12,38,0,179,12,205,12,225,12,61,0,179,12,227,12,38,0,179,12,205,12,142,12,61,0,179,12,198,12,38,0,179,12,205,12,143,12,61,0,179,12,199,12,38,0,179,12,205,12,144,12,61,0,179,12,200,12,38,0,179,12,205,12,146,12,61,0,179,12,202,12,38,0,179,12,205,12,147,12,61,0,179,12,203,12,38,0,179,12,205,12,148,12,61,0,179,12,204,12,38,0,222,12,205,12,133,12,61,0,222,12,38,0,222,12,205,12,134,12,61,0,222,12,190,12,38,0,222,12,205,12,135,12,61,0,222,12,191,12,38,0,222,12,205,12,136,12,61,0,222,12,192,12,38,0,222,12,205,12,137,12,61,0,222,12,193,12,38,0,222,12,205,12,138,12,61,0,222,12,194,12,38,0,222,12,205,12,139,12,61,0,222,12,195,12,38,0,222,12,205,12,224,12,61,0,222,12,196,12,38,0,222,12,205,12,140,12,61,0,222,12,226,12,38,0,222,12,205,12,225,12,61,0,222,12,227,12,38,0,222,12,205,12,142,12,61,0,222,12,198,12,38,0,222,12,205,12,143,12,61,0,222,12,199,12,38,0,222,12,205,12,144,12,61,0,222,12,200,12,38,0,222,12,205,12,146,12,61,0,222,12,202,12,38,0,222,12,205,12,147,12,61,0,222,12,203,12,38,0,222,12,205,12,148,12,61,0,222,12,204,12,38,0,153,12,205,12,149,12,60,0,60,0,60,0,130,12,149,12,38,0,153,12,205,12,150,12,60,0,60,0,60,0,130,12,150,12,38,0,153,12,205,12,151,12,60,0,60,0,60,0,130,12,151,12,38,0,153,12,205,12,152,12,60,0,60,0,60,0,130,12,152,12,38,0,153,12,205,12,153,12,60,0,60,0,60,0,130,12,153,12,38,0,158,12,205,12,154,12,60,0,60,0,60,0,130,12,154,12,38,0,158,12,205,12,155,12,60,0,60,0,60,0,130,12,155,12,38,0,158,12,205,12,156,12,60,0,60,0,60,0,130,12,156,12,38,0,158,12,205,12,157,12,60,0,60,0,60,0,130,12,157,12,38,0,158,12,205,12,158,12,60,0,60,0,60,0,130,12,158,12,38,0,163,12,205,12,159,12,60,0,60,0,60,0,130,12,159,12,38,0,163,12,205,12,160,12,60,0,60,0,60,0,130,12,160,12,38,0,163,12,205,12,161,12,60,0,60,0,60,0,130,12,161,12,38,0,163,12,205,12,162,12,60,0,60,0,60,0,130,12,162,12,38,0,163,12,205,12,163,12,60,0,60,0,60,0,130,12,163,12,38,0,168,12,205,12,164,12,60,0,60,0,60,0,130,12,164,12,38,0,168,12,205,12,165,12,60,0,60,0,60,0,130,12,165,12,38,0,168,12,205,12,166,12,60,0,60,0,60,0,130,12,166,12,38,0,168,12,205,12,167,12,60,0,60,0,60,0,130,12,167,12,38,0,168,12,205,12,168,12,60,0,60,0,60,0,130,12,168,12,38,0,174,12,205,12,170,12,60,0,60,0,60,0,130,12,170,12,38,0,174,12,205,12,171,12,60,0,60,0,60,0,130,12,171,12,38,0,174,12,205,12,172,12,60,0,60,0,60,0,130,12,172,12,38,0,174,12,205,12,173,12,60,0,60,0,60,0,130,12,173,12,38,0,174,12,205,12,174,12,60,0,60,0,60,0,130,12,174,12,38,0,156,12,60,0,60,0,60,0,156,12,188,12,38,0,156,12,190,12,60,0,60,0,60,0,156,12,188,12,190,12,38,0,156,12,191,12,60,0,60,0,60,0,156,12,188,12,191,12,38,0,156,12,192,12,60,0,60,0,60,0,156,12,188,12,192,12,38,0,156,12,193,12,60,0,60,0,60,0,156,12,188,12,193,12,38,0,156,12,194,12,60,0,60,0,60,0,156,12,188,12,194,12,38,0,156,12,195,12,60,0,60,0,60,0,156,12,188,12,195,12,38,0,156,12,196,12,60,0,60,0,60,0,156,12,188,12,196,12,38,0,156,12,226,12,60,0,60,0,60,0,156,12,188,12,226,12,38,0,156,12,227,12,60,0,60,0,60,0,156,12,188,12,227,12,38,0,156,12,198,12,60,0,60,0,60,0,156,12,188,12,198,12,38,0,156,12,199,12,60,0,60,0,60,0,156,12,188,12,199,12,38,0,156,12,200,12,60,0,60,0,60,0,156,12,188,12,200,12,38,0,156,12,202,12,60,0,60,0,60,0,156,12,188,12,202,12,38,0,156,12,203,12,60,0,60,0,60,0,156,12,188,12,203,12,38,0,156,12,204,12,60,0,60,0,60,0,156,12,188,12,204,12,38,0,171,12,60,0,60,0,60,0,171,12,188,12,38,0,171,12,190,12,60,0,60,0,60,0,171,12,188,12,190,12,38,0,171,12,191,12,60,0,60,0,60,0,171,12,188,12,191,12,38,0,171,12,192,12,60,0,60,0,60,0,171,12,188,12,192,12,38,0,171,12,193,12,60,0,60,0,60,0,171,12,188,12,193,12,38,0,171,12,194,12,60,0,60,0,60,0,171,12,188,12,194,12,38,0,171,12,195,12,60,0,60,0,60,0,171,12,188,12,195,12,38,0,171,12,196,12,60,0,60,0,60,0,171,12,188,12,196,12,38,0,171,12,226,12,60,0,60,0,60,0,171,12,188,12,226,12,38,0,171,12,227,12,60,0,60,0,60,0,171,12,188,12,227,12,38,0,171,12,198,12,60,0,60,0,60,0,171,12,188,12,198,12,38,0,171,12,199,12,60,0,60,0,60,0,171,12,188,12,199,12,38,0,171,12,200,12,60,0,60,0,60,0,171,12,188,12,200,12,38,0,171,12,202,12,60,0,60,0,60,0,171,12,188,12,202,12,38,0,171,12,203,12,60,0,60,0,60,0,171,12,188,12,203,12,38,0,171,12,204,12,60,0,60,0,60,0,171,12,188,12,204,12,0,0,170,170,170,170,176,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,116,0,0,0,116,1,0,0,84,25,0,0,84,25,0,0,84,25,0,0,84,25,0,0,152,25,0,0,21,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,111,184,255,0,112,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,45,46,39,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,117,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,100,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,37,111,193,3,37,111,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,37,111,193,5,37,111,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,119,9,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,0,70,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,128,0,0,0,128,1,0,0,144,26,0,0,144,26,0,0,144,26,0,0,144,26,0,0,0,47,0,0,0,47,0,0,202,69,0,0,232,69,0,0,21,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,111,184,255,0,112,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,45,46,39,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,136,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,111,0,119,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,162,0,202,97,162,0,202,130,162,0,202,163,162,0,202,196,162,0,202,229,162,0,202,6,163,0,202,39,163,0,202,72,163,0,202,105,163,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,130,161,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,161,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,2,162,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,0,0,0,193,3,37,111,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,100,11,0,201,164,20,0,201,228,29,0,201,36,39,0,201,100,48,0,201,164,57,0,201,228,66,0,201,36,76,0,201,132,95,0,201,196,104,0,201,4,114,0,201,68,123,0,201,132,132,0,201,196,141,0,201,4,151,0,201,68,160,0,201,132,169,0,201,196,178,0,201,4,188,0,201,68,197,0,192,0,0,0,201,132,206,0,201,196,215,0,201,36,235,0,201,100,244,0,201,164,253,0,201,228,6,1,201,36,16,1,201,100,25,1,201,164,34,1,201,228,43,1,192,0,0,0,201,36,53,1,201,100,62,1,201,164,71,1,201,228,80,1,201,36,90,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,100,99,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,37,111,193,5,37,111,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,193,10,37,111,193,6,37,111,32,5,6,111,193,10,37,111,193,7,37,111,31,5,6,111,193,10,37,111,193,8,37,111,30,5,6,111,193,10,37,111,193,9,37,111,29,5,6,111,193,10,37,111,193,10,37,111,28,5,6,111,193,15,37,111,193,11,37,111,27,5,6,111,193,15,37,111,193,12,37,111,26,5,6,111,193,15,37,111,193,13,37,111,25,5,6,111,193,15,37,111,193,14,37,111,24,5,6,111,193,15,37,111,193,15,37,111,23,5,6,111,193,20,37,111,193,16,37,111,22,5,6,111,193,20,37,111,193,17,37,111,21,5,6,111,193,20,37,111,193,18,37,111,20,5,6,111,193,20,37,111,193,19,37,111,19,5,6,111,193,20,37,111,193,20,37,111,18,5,6,111,193,25,37,111,193,21,37,111,17,5,6,111,193,25,37,111,193,22,37,111,16,5,6,111,193,25,37,111,193,23,37,111,15,5,6,111,193,25,37,111,193,24,37,111,14,5,6,111,193,25,37,111,193,25,37,111,13,5,6,111,193,30,37,111,193,26,37,111,12,5,6,111,193,30,37,111,193,27,37,111,11,5,6,111,193,30,37,111,193,28,37,111,10,5,6,111,193,30,37,111,193,29,37,111,9,5,6,111,193,30,37,111,193,30,37,111,8,5,6,111,193,6,37,111,5,5,6,111,193,6,37,111,5,5,8,111,193,6,37,111,5,5,10,111,193,6,37,111,5,5,12,111,193,6,37,111,5,5,14,111,193,6,37,111,5,5,16,111,193,6,37,111,5,5,18,111,193,6,37,111,5,5,20,111,193,6,37,111,5,5,26,111,193,6,37,111,5,5,32,111,193,6,37,111,5,5,34,111,193,6,37,111,5,5,28,111,193,6,37,111,5,5,30,111,193,6,37,111,5,5,36,111,193,6,37,111,5,5,22,111,193,6,37,111,5,5,24,111,193,7,37,111,5,5,6,111,193,7,37,111,5,5,8,111,193,7,37,111,5,5,10,111,193,7,37,111,5,5,12,111,193,7,37,111,5,5,14,111,193,7,37,111,5,5,16,111,193,7,37,111,5,5,18,111,193,7,37,111,5,5,20,111,193,7,37,111,5,5,26,111,193,7,37,111,5,5,32,111,193,7,37,111,5,5,34,111,193,7,37,111,5,5,28,111,193,7,37,111,5,5,30,111,193,7,37,111,5,5,36,111,193,7,37,111,5,5,22,111,193,7,37,111,5,5,24,111,193,8,37,111,5,5,6,111,193,8,37,111,5,5,8,111,193,8,37,111,5,5,10,111,193,8,37,111,5,5,12,111,193,8,37,111,5,5,14,111,193,8,37,111,5,5,16,111,193,8,37,111,5,5,18,111,193,8,37,111,5,5,20,111,193,8,37,111,5,5,26,111,193,8,37,111,5,5,32,111,193,8,37,111,5,5,34,111,193,8,37,111,5,5,28,111,193,8,37,111,5,5,30,111,193,8,37,111,5,5,36,111,193,8,37,111,5,5,22,111,193,8,37,111,5,5,24,111,193,9,37,111,5,5,6,111,193,9,37,111,5,5,8,111,193,9,37,111,5,5,10,111,193,9,37,111,5,5,12,111,193,9,37,111,5,5,14,111,193,9,37,111,5,5,16,111,193,9,37,111,5,5,18,111,193,9,37,111,5,5,20,111,193,9,37,111,5,5,26,111,193,9,37,111,5,5,32,111,193,9,37,111,5,5,34,111,193,9,37,111,5,5,28,111,193,9,37,111,5,5,30,111,193,9,37,111,5,5,36,111,193,9,37,111,5,5,22,111,193,9,37,111,5,5,24,111,193,10,37,111,5,5,6,111,193,10,37,111,5,5,8,111,193,10,37,111,5,5,10,111,193,10,37,111,5,5,12,111,193,10,37,111,5,5,14,111,193,10,37,111,5,5,16,111,193,10,37,111,5,5,18,111,193,10,37,111,5,5,20,111,193,10,37,111,5,5,26,111,193,10,37,111,5,5,32,111,193,10,37,111,5,5,34,111,193,10,37,111,5,5,28,111,193,10,37,111,5,5,30,111,193,10,37,111,5,5,36,111,193,10,37,111,5,5,22,111,193,10,37,111,5,5,24,111,193,11,37,111,5,5,6,111,193,11,37,111,5,5,8,111,193,11,37,111,5,5,10,111,193,11,37,111,5,5,12,111,193,11,37,111,5,5,14,111,193,11,37,111,5,5,16,111,193,11,37,111,5,5,18,111,193,11,37,111,5,5,20,111,193,11,37,111,5,5,26,111,193,11,37,111,5,5,32,111,193,11,37,111,5,5,34,111,193,11,37,111,5,5,28,111,193,11,37,111,5,5,30,111,193,11,37,111,5,5,36,111,193,11,37,111,5,5,22,111,193,11,37,111,5,5,24,111,193,12,37,111,5,5,6,111,193,12,37,111,5,5,8,111,193,12,37,111,5,5,10,111,193,12,37,111,5,5,12,111,193,12,37,111,5,5,14,111,193,12,37,111,5,5,16,111,193,12,37,111,5,5,18,111,193,12,37,111,5,5,20,111,193,12,37,111,5,5,26,111,193,12,37,111,5,5,32,111,193,12,37,111,5,5,34,111,193,12,37,111,5,5,28,111,193,12,37,111,5,5,30,111,193,12,37,111,5,5,36,111,193,12,37,111,5,5,22,111,193,12,37,111,5,5,24,111,193,13,37,111,5,5,6,111,193,13,37,111,7,5,6,111,193,13,37,111,7,5,8,111,193,13,37,111,7,5,10,111,193,13,37,111,7,5,12,111,193,13,37,111,7,5,14,111,193,13,37,111,7,5,16,111,193,13,37,111,7,5,18,111,193,13,37,111,7,5,20,111,193,13,37,111,7,5,26,111,193,13,37,111,7,5,32,111,193,13,37,111,7,5,34,111,193,13,37,111,7,5,28,111,193,13,37,111,7,5,30,111,193,13,37,111,7,5,36,111,193,13,37,111,7,5,22,111,193,13,37,111,7,5,24,111,193,13,37,111,5,5,8,111,193,13,37,111,5,5,10,111,193,13,37,111,5,5,12,111,193,13,37,111,5,5,14,111,193,13,37,111,5,5,16,111,193,13,37,111,5,5,18,111,193,13,37,111,5,5,20,111,193,13,37,111,5,5,26,111,193,13,37,111,5,5,32,111,193,13,37,111,5,5,34,111,193,13,37,111,5,5,28,111,193,13,37,111,5,5,30,111,193,13,37,111,5,5,36,111,193,13,37,111,5,5,22,111,193,13,37,111,5,5,24,111,193,14,37,111,5,5,6,111,193,14,37,111,5,5,8,111,193,14,37,111,5,5,10,111,193,14,37,111,5,5,12,111,193,14,37,111,5,5,14,111,193,14,37,111,5,5,16,111,193,14,37,111,5,5,18,111,193,14,37,111,5,5,20,111,193,14,37,111,5,5,26,111,193,14,37,111,5,5,32,111,193,14,37,111,5,5,34,111,193,14,37,111,5,5,28,111,193,14,37,111,5,5,30,111,193,14,37,111,5,5,36,111,193,14,37,111,5,5,22,111,193,14,37,111,5,5,24,111,193,15,37,111,5,5,6,111,193,15,37,111,5,5,8,111,193,15,37,111,5,5,10,111,193,15,37,111,5,5,12,111,193,15,37,111,5,5,14,111,193,15,37,111,5,5,16,111,193,15,37,111,5,5,18,111,193,15,37,111,5,5,20,111,193,15,37,111,5,5,26,111,193,15,37,111,5,5,32,111,193,15,37,111,5,5,34,111,193,15,37,111,5,5,28,111,193,15,37,111,5,5,30,111,193,15,37,111,5,5,36,111,193,15,37,111,5,5,22,111,193,15,37,111,5,5,24,111,193,16,37,111,5,5,6,111,193,16,37,111,5,5,8,111,193,16,37,111,5,5,10,111,193,16,37,111,5,5,12,111,193,16,37,111,5,5,14,111,193,16,37,111,5,5,16,111,193,16,37,111,5,5,18,111,193,16,37,111,5,5,20,111,193,16,37,111,5,5,26,111,193,16,37,111,5,5,32,111,193,16,37,111,5,5,34,111,193,16,37,111,5,5,28,111,193,16,37,111,5,5,30,111,193,16,37,111,5,5,36,111,193,16,37,111,5,5,22,111,193,16,37,111,5,5,24,111,193,17,37,111,5,5,6,111,193,17,37,111,5,5,8,111,193,17,37,111,5,5,10,111,193,17,37,111,5,5,12,111,193,17,37,111,5,5,14,111,193,17,37,111,5,5,16,111,193,17,37,111,5,5,18,111,193,17,37,111,5,5,20,111,193,17,37,111,5,5,26,111,193,17,37,111,5,5,32,111,193,17,37,111,5,5,34,111,193,17,37,111,5,5,28,111,193,17,37,111,5,5,30,111,193,17,37,111,5,5,36,111,193,17,37,111,5,5,22,111,193,17,37,111,5,5,24,111,193,18,37,111,5,5,6,111,193,18,37,111,5,5,8,111,193,18,37,111,5,5,10,111,193,18,37,111,5,5,12,111,193,18,37,111,5,5,14,111,193,18,37,111,5,5,16,111,193,18,37,111,5,5,18,111,193,18,37,111,5,5,20,111,193,18,37,111,5,5,26,111,193,18,37,111,5,5,32,111,193,18,37,111,5,5,34,111,193,18,37,111,5,5,28,111,193,18,37,111,5,5,30,111,193,18,37,111,5,5,36,111,193,18,37,111,5,5,22,111,193,18,37,111,5,5,24,111,193,19,37,111,5,5,6,111,193,19,37,111,5,5,8,111,193,19,37,111,5,5,10,111,193,19,37,111,5,5,12,111,193,19,37,111,5,5,14,111,193,19,37,111,5,5,16,111,193,19,37,111,5,5,18,111,193,19,37,111,5,5,20,111,193,19,37,111,5,5,26,111,193,19,37,111,5,5,32,111,193,19,37,111,5,5,34,111,193,19,37,111,5,5,28,111,193,19,37,111,5,5,30,111,193,19,37,111,5,5,36,111,193,19,37,111,5,5,22,111,193,19,37,111,5,5,24,111,193,20,37,111,5,5,6,111,193,20,37,111,5,5,8,111,193,20,37,111,5,5,10,111,193,20,37,111,5,5,12,111,193,20,37,111,5,5,14,111,193,20,37,111,5,5,16,111,193,20,37,111,5,5,18,111,193,20,37,111,5,5,20,111,193,20,37,111,5,5,26,111,193,20,37,111,5,5,32,111,193,20,37,111,5,5,34,111,193,20,37,111,5,5,28,111,193,20,37,111,5,5,30,111,193,20,37,111,5,5,36,111,193,20,37,111,5,5,22,111,193,20,37,111,5,5,24,111,193,21,37,111,5,5,6,111,193,21,37,111,5,5,8,111,193,21,37,111,5,5,10,111,193,21,37,111,5,5,12,111,193,21,37,111,5,5,14,111,193,21,37,111,5,5,16,111,193,21,37,111,5,5,18,111,193,21,37,111,5,5,20,111,193,21,37,111,5,5,26,111,193,21,37,111,5,5,32,111,193,21,37,111,5,5,34,111,193,21,37,111,5,5,28,111,193,21,37,111,5,5,30,111,193,21,37,111,5,5,36,111,193,21,37,111,5,5,22,111,193,21,37,111,5,5,24,111,193,22,37,111,5,5,6,111,193,22,37,111,5,5,8,111,193,22,37,111,5,5,10,111,193,22,37,111,5,5,12,111,193,22,37,111,5,5,14,111,193,22,37,111,5,5,16,111,193,22,37,111,5,5,18,111,193,22,37,111,5,5,20,111,193,22,37,111,5,5,26,111,193,22,37,111,5,5,32,111,193,22,37,111,5,5,34,111,193,22,37,111,5,5,28,111,193,22,37,111,5,5,30,111,193,22,37,111,5,5,36,111,193,22,37,111,5,5,22,111,193,22,37,111,5,5,24,111,193,23,37,111,5,5,6,111,193,23,37,111,5,5,8,111,193,23,37,111,5,5,10,111,193,23,37,111,5,5,12,111,193,23,37,111,5,5,14,111,193,23,37,111,5,5,16,111,193,23,37,111,5,5,18,111,193,23,37,111,5,5,20,111,193,23,37,111,5,5,26,111,193,23,37,111,5,5,32,111,193,23,37,111,5,5,34,111,193,23,37,111,5,5,28,111,193,23,37,111,5,5,30,111,193,23,37,111,5,5,36,111,193,23,37,111,5,5,22,111,193,23,37,111,5,5,24,111,193,24,37,111,5,5,6,111,193,24,37,111,5,5,8,111,193,24,37,111,5,5,10,111,193,24,37,111,5,5,12,111,193,24,37,111,5,5,14,111,193,24,37,111,5,5,16,111,193,24,37,111,5,5,18,111,193,24,37,111,5,5,20,111,193,24,37,111,5,5,26,111,193,24,37,111,5,5,32,111,193,24,37,111,5,5,34,111,193,24,37,111,5,5,28,111,193,24,37,111,5,5,30,111,193,24,37,111,5,5,36,111,193,24,37,111,5,5,22,111,193,24,37,111,5,5,24,111,193,25,37,111,5,5,6,111,193,25,37,111,5,5,8,111,193,25,37,111,5,5,10,111,193,25,37,111,5,5,12,111,193,25,37,111,5,5,14,111,193,25,37,111,5,5,16,111,193,25,37,111,5,5,18,111,193,25,37,111,5,5,20,111,193,25,37,111,5,5,26,111,193,25,37,111,5,5,32,111,193,25,37,111,5,5,34,111,193,25,37,111,5,5,28,111,193,25,37,111,5,5,30,111,193,25,37,111,5,5,36,111,193,25,37,111,5,5,22,111,193,25,37,111,5,5,24,111,193,26,37,111,5,5,6,111,193,26,37,111,5,5,8,111,193,26,37,111,5,5,10,111,193,26,37,111,5,5,12,111,193,26,37,111,5,5,14,111,193,26,37,111,5,5,16,111,193,26,37,111,5,5,18,111,193,26,37,111,5,5,20,111,193,26,37,111,5,5,26,111,193,26,37,111,5,5,32,111,193,26,37,111,5,5,34,111,193,26,37,111,5,5,28,111,193,26,37,111,5,5,30,111,193,26,37,111,5,5,36,111,193,26,37,111,5,5,22,111,193,26,37,111,5,5,24,111,193,27,37,111,5,5,6,111,193,27,37,111,6,5,6,111,193,27,37,111,6,5,8,111,193,27,37,111,6,5,10,111,193,27,37,111,6,5,12,111,193,27,37,111,6,5,14,111,193,27,37,111,6,5,16,111,193,27,37,111,6,5,18,111,193,27,37,111,6,5,20,111,193,27,37,111,6,5,26,111,193,27,37,111,6,5,32,111,193,27,37,111,6,5,34,111,193,27,37,111,6,5,28,111,193,27,37,111,6,5,30,111,193,27,37,111,6,5,36,111,193,27,37,111,6,5,22,111,193,27,37,111,6,5,24,111,193,27,37,111,5,5,8,111,193,27,37,111,5,5,10,111,193,27,37,111,5,5,12,111,193,27,37,111,5,5,14,111,193,27,37,111,5,5,16,111,193,27,37,111,5,5,18,111,193,27,37,111,5,5,20,111,193,27,37,111,5,5,26,111,193,27,37,111,5,5,32,111,193,27,37,111,5,5,34,111,193,27,37,111,5,5,28,111,193,27,37,111,5,5,30,111,193,27,37,111,5,5,36,111,193,27,37,111,5,5,22,111,193,27,37,111,5,5,24,111,193,28,37,111,5,5,6,111,193,28,37,111,5,5,8,111,193,28,37,111,5,5,10,111,193,28,37,111,5,5,12,111,193,28,37,111,5,5,14,111,193,28,37,111,5,5,16,111,193,28,37,111,5,5,18,111,193,28,37,111,5,5,20,111,193,28,37,111,5,5,26,111,193,28,37,111,5,5,32,111,193,28,37,111,5,5,34,111,193,28,37,111,5,5,28,111,193,28,37,111,5,5,30,111,193,28,37,111,5,5,36,111,193,28,37,111,5,5,22,111,193,28,37,111,5,5,24,111,193,29,37,111,5,5,6,111,193,29,37,111,5,5,8,111,193,29,37,111,5,5,10,111,193,29,37,111,5,5,12,111,193,29,37,111,5,5,14,111,193,29,37,111,5,5,16,111,193,29,37,111,5,5,18,111,193,29,37,111,5,5,20,111,193,29,37,111,5,5,26,111,193,29,37,111,5,5,32,111,193,29,37,111,5,5,34,111,193,29,37,111,5,5,28,111,193,29,37,111,5,5,30,111,193,29,37,111,5,5,36,111,193,29,37,111,5,5,22,111,193,29,37,111,5,5,24,111,193,30,37,111,5,5,6,111,193,30,37,111,5,5,8,111,193,30,37,111,5,5,10,111,193,30,37,111,5,5,12,111,193,30,37,111,5,5,14,111,193,30,37,111,5,5,16,111,193,30,37,111,5,5,18,111,193,30,37,111,5,5,20,111,193,30,37,111,5,5,26,111,193,30,37,111,5,5,32,111,193,30,37,111,5,5,34,111,193,30,37,111,5,5,28,111,193,30,37,111,5,5,30,111,193,30,37,111,5,5,36,111,193,30,37,111,5,5,22,111,193,30,37,111,5,5,24,111,193,31,37,111,5,5,6,111,193,31,37,111,5,5,8,111,193,31,37,111,5,5,10,111,193,31,37,111,5,5,12,111,193,31,37,111,5,5,14,111,193,31,37,111,5,5,16,111,193,31,37,111,5,5,18,111,193,31,37,111,5,5,20,111,193,31,37,111,5,5,26,111,193,31,37,111,5,5,32,111,193,31,37,111,5,5,34,111,193,31,37,111,5,5,28,111,193,31,37,111,5,5,30,111,193,31,37,111,5,5,36,111,193,31,37,111,5,5,22,111,193,31,37,111,5,5,24,111,193,32,37,111,5,5,6,111,193,32,37,111,5,5,8,111,193,32,37,111,5,5,10,111,193,32,37,111,5,5,12,111,193,32,37,111,5,5,14,111,193,32,37,111,5,5,16,111,193,32,37,111,5,5,18,111,193,32,37,111,5,5,20,111,193,32,37,111,5,5,26,111,193,32,37,111,5,5,32,111,193,32,37,111,5,5,34,111,193,32,37,111,5,5,28,111,193,32,37,111,5,5,30,111,193,32,37,111,5,5,36,111,193,32,37,111,5,5,22,111,193,32,37,111,5,5,24,111,193,33,37,111,5,5,6,111,193,33,37,111,5,5,8,111,193,33,37,111,5,5,10,111,193,33,37,111,5,5,12,111,193,33,37,111,5,5,14,111,193,33,37,111,5,5,16,111,193,33,37,111,5,5,18,111,193,33,37,111,5,5,20,111,193,33,37,111,5,5,26,111,193,33,37,111,5,5,32,111,193,33,37,111,5,5,34,111,193,33,37,111,5,5,28,111,193,33,37,111,5,5,30,111,193,33,37,111,5,5,36,111,193,33,37,111,5,5,22,111,193,33,37,111,5,5,24,111,193,34,37,111,5,5,6,111,193,34,37,111,5,5,8,111,193,34,37,111,5,5,10,111,193,34,37,111,5,5,12,111,193,34,37,111,5,5,14,111,193,34,37,111,5,5,16,111,193,34,37,111,5,5,18,111,193,34,37,111,5,5,20,111,193,34,37,111,5,5,26,111,193,34,37,111,5,5,32,111,193,34,37,111,5,5,34,111,193,34,37,111,5,5,28,111,193,34,37,111,5,5,30,111,193,34,37,111,5,5,36,111,193,34,37,111,5,5,22,111,193,34,37,111,5,5,24,111,193,40,37,111,5,5,6,111,193,40,37,111,5,5,8,111,193,40,37,111,5,5,10,111,193,40,37,111,5,5,12,111,193,40,37,111,5,5,14,111,193,40,37,111,5,5,16,111,193,40,37,111,5,5,18,111,193,40,37,111,5,5,20,111,193,40,37,111,5,5,26,111,193,40,37,111,5,5,32,111,193,40,37,111,5,5,34,111,193,40,37,111,5,5,28,111,193,40,37,111,5,5,30,111,193,40,37,111,5,5,36,111,193,40,37,111,5,5,22,111,193,40,37,111,5,5,24,111,193,35,37,111,5,5,6,111,193,35,37,111,5,5,8,111,193,35,37,111,5,5,10,111,193,35,37,111,5,5,12,111,193,35,37,111,5,5,14,111,193,35,37,111,5,5,16,111,193,35,37,111,5,5,18,111,193,35,37,111,5,5,20,111,193,35,37,111,5,5,26,111,193,35,37,111,5,5,32,111,193,35,37,111,5,5,34,111,193,35,37,111,5,5,28,111,193,35,37,111,5,5,30,111,193,35,37,111,5,5,36,111,193,35,37,111,5,5,22,111,193,35,37,111,5,5,24,111,193,36,37,111,5,5,6,111,193,36,37,111,5,5,8,111,193,36,37,111,5,5,10,111,193,36,37,111,5,5,12,111,193,36,37,111,5,5,14,111,193,36,37,111,5,5,16,111,193,36,37,111,5,5,18,111,193,36,37,111,5,5,20,111,193,36,37,111,5,5,26,111,193,36,37,111,5,5,32,111,193,36,37,111,5,5,34,111,193,36,37,111,5,5,28,111,193,36,37,111,5,5,30,111,193,36,37,111,5,5,36,111,193,36,37,111,5,5,22,111,193,36,37,111,5,5,24,111,193,37,37,111,5,5,6,111,193,37,37,111,5,5,8,111,193,37,37,111,5,5,10,111,193,37,37,111,5,5,12,111,193,37,37,111,5,5,14,111,193,37,37,111,5,5,16,111,193,37,37,111,5,5,18,111,193,37,37,111,5,5,20,111,193,37,37,111,5,5,26,111,193,37,37,111,5,5,32,111,193,37,37,111,5,5,34,111,193,37,37,111,5,5,28,111,193,37,37,111,5,5,30,111,193,37,37,111,5,5,36,111,193,37,37,111,5,5,22,111,193,37,37,111,5,5,24,111,193,38,37,111,5,5,6,111,193,38,37,111,5,5,8,111,193,38,37,111,5,5,10,111,193,38,37,111,5,5,12,111,193,38,37,111,5,5,14,111,193,38,37,111,5,5,16,111,193,38,37,111,5,5,18,111,193,38,37,111,5,5,20,111,193,38,37,111,5,5,26,111,193,38,37,111,5,5,32,111,193,38,37,111,5,5,34,111,193,38,37,111,5,5,28,111,193,38,37,111,5,5,30,111,193,38,37,111,5,5,36,111,193,38,37,111,5,5,22,111,193,38,37,111,5,5,24,111,193,39,37,111,5,5,6,111,193,39,37,111,5,5,8,111,193,39,37,111,5,5,10,111,193,39,37,111,5,5,12,111,193,39,37,111,5,5,14,111,193,39,37,111,5,5,16,111,193,39,37,111,5,5,18,111,193,39,37,111,5,5,20,111,193,39,37,111,5,5,26,111,193,39,37,111,5,5,32,111,193,39,37,111,5,5,34,111,193,39,37,111,5,5,28,111,193,39,37,111,5,5,30,111,193,39,37,111,5,5,36,111,193,39,37,111,5,5,22,111,193,39,37,111,5,5,24,111,193,41,37,111,5,5,6,111,193,41,37,111,5,5,8,111,193,41,37,111,5,5,10,111,193,41,37,111,5,5,12,111,193,41,37,111,5,5,14,111,193,41,37,111,5,5,16,111,193,41,37,111,5,5,18,111,193,41,37,111,5,5,20,111,193,41,37,111,5,5,26,111,193,41,37,111,5,5,32,111,193,41,37,111,5,5,34,111,193,41,37,111,5,5,28,111,193,41,37,111,5,5,30,111,193,41,37,111,5,5,36,111,193,41,37,111,5,5,22,111,193,41,37,111,5,5,24,111,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,37,111,193,2,24,0,161,12,45,0,167,12,23,0,171,12,12,0,171,12,8,192,197,3,172,12,8,192,197,99,173,12,8,192,197,195,174,12,9,192,197,35,167,12,6,192,197,227,168,12,7,192,197,67,170,12,7,192,197,163,164,12,9,0,164,12,5,192,197,195,165,12,6,192,197,35,166,12,6,192,197,131,161,12,4,192,197,163,162,12,5,192,197,3,163,12,5,192,197,99,155,12,20,0,158,12,9,0,158,12,3,192,197,131,159,12,3,192,197,227,160,12,4,192,197,67,155,12,2,192,197,99,156,12,2,192,197,195,157,12,3,192,197,35,152,12,9,0,152,12,1,192,197,67,153,12,1,192,197,163,154,12,2,192,197,3,149,12,197,163,150,12,0,192,197,131,151,12,0,192,197,227,9,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,12,192,197,194,205,12,255,255,37,111,193,6,226,12,13,192,197,2,227,12,13,192,197,66,199,12,12,192,197,66,200,12,12,192,197,130,202,12,25,0,203,12,12,192,197,2,194,12,25,0,194,12,10,192,197,194,195,12,11,192,197,2,196,12,11,192,197,66,198,12,2,67,197,130,194,12,6,0,213,12,12,192,197,66,214,12,12,192,197,130,48,67,197,194,213,12,12,192,197,2,190,12,9,192,197,194,191,12,6,0,192,12,10,192,197,66,193,12,10,192,197,130,240,66,197,2,213,12,10,192,197,66,13,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,16,192,197,194,205,12,255,255,37,111,193,7,226,12,17,192,197,2,227,12,17,192,197,66,199,12,16,192,197,66,200,12,16,192,197,130,202,12,25,0,203,12,16,192,197,2,194,12,25,0,194,12,14,192,197,194,195,12,15,192,197,2,196,12,15,192,197,66,198,12,2,68,197,130,194,12,6,0,213,12,16,192,197,66,214,12,16,192,197,130,48,68,197,194,213,12,16,192,197,2,190,12,13,192,197,194,191,12,6,0,192,12,14,192,197,66,193,12,14,192,197,130,240,67,197,2,213,12,14,192,197,66,17,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,20,192,197,194,205,12,255,255,37,111,193,8,226,12,21,192,197,2,227,12,21,192,197,66,199,12,20,192,197,66,200,12,20,192,197,130,202,12,25,0,203,12,20,192,197,2,194,12,25,0,194,12,18,192,197,194,195,12,19,192,197,2,196,12,19,192,197,66,198,12,2,69,197,130,194,12,6,0,213,12,20,192,197,66,214,12,20,192,197,130,48,69,197,194,213,12,20,192,197,2,190,12,17,192,197,194,191,12,6,0,192,12,18,192,197,66,193,12,18,192,197,130,240,68,197,2,213,12,18,192,197,66,21,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,24,192,197,194,205,12,255,255,37,111,193,9,226,12,25,192,197,2,227,12,25,192,197,66,199,12,24,192,197,66,200,12,24,192,197,130,202,12,25,0,203,12,24,192,197,2,194,12,25,0,194,12,22,192,197,194,195,12,23,192,197,2,196,12,23,192,197,66,198,12,2,70,197,130,194,12,6,0,213,12,24,192,197,66,214,12,24,192,197,130,48,70,197,194,213,12,24,192,197,2,190,12,21,192,197,194,191,12,6,0,192,12,22,192,197,66,193,12,22,192,197,130,240,69,197,2,213,12,22,192,197,66,25,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,28,192,197,194,205,12,255,255,37,111,193,10,226,12,29,192,197,2,227,12,29,192,197,66,199,12,28,192,197,66,200,12,28,192,197,130,202,12,25,0,203,12,28,192,197,2,194,12,25,0,194,12,26,192,197,194,195,12,27,192,197,2,196,12,27,192,197,66,198,12,2,71,197,130,194,12,6,0,213,12,28,192,197,66,214,12,28,192,197,130,48,71,197,194,213,12,28,192,197,2,190,12,25,192,197,194,191,12,6,0,192,12,26,192,197,66,193,12,26,192,197,130,240,70,197,2,213,12,26,192,197,66,29,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,32,192,197,194,205,12,255,255,37,111,193,11,226,12,33,192,197,2,227,12,33,192,197,66,199,12,32,192,197,66,200,12,32,192,197,130,202,12,25,0,203,12,32,192,197,2,194,12,25,0,194,12,30,192,197,194,195,12,31,192,197,2,196,12,31,192,197,66,198,12,2,72,197,130,194,12,6,0,213,12,32,192,197,66,214,12,32,192,197,130,48,72,197,194,213,12,32,192,197,2,190,12,29,192,197,194,191,12,6,0,192,12,30,192,197,66,193,12,30,192,197,130,240,71,197,2,213,12,30,192,197,66,33,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,36,192,197,194,205,12,255,255,37,111,193,12,226,12,37,192,197,2,227,12,37,192,197,66,199,12,36,192,197,66,200,12,36,192,197,130,202,12,25,0,203,12,36,192,197,2,194,12,25,0,194,12,34,192,197,194,195,12,35,192,197,2,196,12,35,192,197,66,198,12,2,73,197,130,194,12,6,0,213,12,36,192,197,66,214,12,36,192,197,130,48,73,197,194,213,12,36,192,197,2,190,12,33,192,197,194,191,12,6,0,192,12,34,192,197,66,193,12,34,192,197,130,240,72,197,2,213,12,34,192,197,66,37,0,197,130,16,0,198,12,47,0,203,12,16,0,203,12,44,192,197,2,204,12,44,192,197,194,205,12,255,255,37,111,193,13,226,12,45,192,197,2,227,12,45,192,197,66,198,12,12,0,199,12,44,192,197,66,200,12,44,192,197,130,202,12,48,75,197,194,213,12,44,192,197,2,2,75,197,130,194,12,6,0,213,12,44,192,197,66,214,12,44,192,197,130,48,75,197,194,213,12,44,192,197,2,193,12,12,0,193,12,42,192,197,130,194,12,42,192,197,194,195,12,43,192,197,2,196,12,43,192,197,66,188,12,8,0,190,12,41,192,197,194,191,12,77,0,192,12,42,192,197,66,142,73,197,194,198,12,43,0,203,12,12,0,203,12,40,192,197,66,204,12,41,192,197,2,226,12,41,192,197,66,227,12,41,192,197,130,198,12,12,0,199,12,40,192,197,130,200,12,40,192,197,194,202,12,112,74,197,2,213,12,40,192,197,66,2,74,197,194,194,12,6,0,213,12,40,192,197,130,214,12,40,192,197,194,112,74,197,2,213,12,40,192,197,66,193,12,12,0,193,12,38,192,197,194,194,12,39,192,197,2,195,12,39,192,197,66,196,12,39,192,197,130,190,12,38,192,197,2,191,12,3,0,192,12,38,192,197,130,240,73,197,66,213,12,38,192,197,130,240,74,197,2,213,12,42,192,197,66,45,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,48,192,197,194,205,12,255,255,37,111,193,14,226,12,49,192,197,2,227,12,49,192,197,66,199,12,48,192,197,66,200,12,48,192,197,130,202,12,25,0,203,12,48,192,197,2,194,12,25,0,194,12,46,192,197,194,195,12,47,192,197,2,196,12,47,192,197,66,198,12,2,76,197,130,194,12,6,0,213,12,48,192,197,66,214,12,48,192,197,130,48,76,197,194,213,12,48,192,197,2,190,12,45,192,197,194,191,12,6,0,192,12,46,192,197,66,193,12,46,192,197,130,240,75,197,2,213,12,46,192,197,66,49,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,52,192,197,194,205,12,255,255,37,111,193,15,226,12,53,192,197,2,227,12,53,192,197,66,199,12,52,192,197,66,200,12,52,192,197,130,202,12,25,0,203,12,52,192,197,2,194,12,25,0,194,12,50,192,197,194,195,12,51,192,197,2,196,12,51,192,197,66,198,12,2,77,197,130,194,12,6,0,213,12,52,192,197,66,214,12,52,192,197,130,48,77,197,194,213,12,52,192,197,2,190,12,49,192,197,194,191,12,6,0,192,12,50,192,197,66,193,12,50,192,197,130,240,76,197,2,213,12,50,192,197,66,53,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,56,192,197,194,205,12,255,255,37,111,193,16,226,12,57,192,197,2,227,12,57,192,197,66,199,12,56,192,197,66,200,12,56,192,197,130,202,12,25,0,203,12,56,192,197,2,194,12,25,0,194,12,54,192,197,194,195,12,55,192,197,2,196,12,55,192,197,66,198,12,2,78,197,130,194,12,6,0,213,12,56,192,197,66,214,12,56,192,197,130,48,78,197,194,213,12,56,192,197,2,190,12,53,192,197,194,191,12,6,0,192,12,54,192,197,66,193,12,54,192,197,130,240,77,197,2,213,12,54,192,197,66,57,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,60,192,197,194,205,12,255,255,37,111,193,17,226,12,61,192,197,2,227,12,61,192,197,66,199,12,60,192,197,66,200,12,60,192,197,130,202,12,25,0,203,12,60,192,197,2,194,12,25,0,194,12,58,192,197,194,195,12,59,192,197,2,196,12,59,192,197,66,198,12,2,79,197,130,194,12,6,0,213,12,60,192,197,66,214,12,60,192,197,130,48,79,197,194,213,12,60,192,197,2,190,12,57,192,197,194,191,12,6,0,192,12,58,192,197,66,193,12,58,192,197,130,240,78,197,2,213,12,58,192,197,66,61,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,64,192,197,194,205,12,255,255,37,111,193,18,226,12,65,192,197,2,227,12,65,192,197,66,199,12,64,192,197,66,200,12,64,192,197,130,202,12,25,0,203,12,64,192,197,2,194,12,25,0,194,12,62,192,197,194,195,12,63,192,197,2,196,12,63,192,197,66,198,12,2,80,197,130,194,12,6,0,213,12,64,192,197,66,214,12,64,192,197,130,48,80,197,194,213,12,64,192,197,2,190,12,61,192,197,194,191,12,6,0,192,12,62,192,197,66,193,12,62,192,197,130,240,79,197,2,213,12,62,192,197,66,65,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,68,192,197,194,205,12,255,255,37,111,193,19,226,12,69,192,197,2,227,12,69,192,197,66,199,12,68,192,197,66,200,12,68,192,197,130,202,12,25,0,203,12,68,192,197,2,194,12,25,0,194,12,66,192,197,194,195,12,67,192,197,2,196,12,67,192,197,66,198,12,2,81,197,130,194,12,6,0,213,12,68,192,197,66,214,12,68,192,197,130,48,81,197,194,213,12,68,192,197,2,190,12,65,192,197,194,191,12,6,0,192,12,66,192,197,66,193,12,66,192,197,130,240,80,197,2,213,12,66,192,197,66,69,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,72,192,197,194,205,12,255,255,37,111,193,20,226,12,73,192,197,2,227,12,73,192,197,66,199,12,72,192,197,66,200,12,72,192,197,130,202,12,25,0,203,12,72,192,197,2,194,12,25,0,194,12,70,192,197,194,195,12,71,192,197,2,196,12,71,192,197,66,198,12,2,82,197,130,194,12,6,0,213,12,72,192,197,66,214,12,72,192,197,130,48,82,197,194,213,12,72,192,197,2,190,12,69,192,197,194,191,12,6,0,192,12,70,192,197,66,193,12,70,192,197,130,240,81,197,2,213,12,70,192,197,66,73,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,76,192,197,194,205,12,255,255,37,111,193,21,226,12,77,192,197,2,227,12,77,192,197,66,199,12,76,192,197,66,200,12,76,192,197,130,202,12,25,0,203,12,76,192,197,2,194,12,25,0,194,12,74,192,197,194,195,12,75,192,197,2,196,12,75,192,197,66,198,12,2,83,197,130,194,12,6,0,213,12,76,192,197,66,214,12,76,192,197,130,48,83,197,194,213,12,76,192,197,2,190,12,73,192,197,194,191,12,6,0,192,12,74,192,197,66,193,12,74,192,197,130,240,82,197,2,213,12,74,192,197,66,77,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,80,192,197,194,205,12,255,255,37,111,193,22,226,12,81,192,197,2,227,12,81,192,197,66,199,12,80,192,197,66,200,12,80,192,197,130,202,12,25,0,203,12,80,192,197,2,194,12,25,0,194,12,78,192,197,194,195,12,79,192,197,2,196,12,79,192,197,66,198,12,2,84,197,130,194,12,6,0,213,12,80,192,197,66,214,12,80,192,197,130,48,84,197,194,213,12,80,192,197,2,190,12,77,192,197,194,191,12,6,0,192,12,78,192,197,66,193,12,78,192,197,130,240,83,197,2,213,12,78,192,197,66,81,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,84,192,197,194,205,12,255,255,37,111,193,23,226,12,85,192,197,2,227,12,85,192,197,66,199,12,84,192,197,66,200,12,84,192,197,130,202,12,25,0,203,12,84,192,197,2,194,12,25,0,194,12,82,192,197,194,195,12,83,192,197,2,196,12,83,192,197,66,198,12,2,85,197,130,194,12,6,0,213,12,84,192,197,66,214,12,84,192,197,130,48,85,197,194,213,12,84,192,197,2,190,12,81,192,197,194,191,12,6,0,192,12,82,192,197,66,193,12,82,192,197,130,240,84,197,2,213,12,82,192,197,66,85,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,88,192,197,194,205,12,255,255,37,111,193,24,226,12,89,192,197,2,227,12,89,192,197,66,199,12,88,192,197,66,200,12,88,192,197,130,202,12,25,0,203,12,88,192,197,2,194,12,25,0,194,12,86,192,197,194,195,12,87,192,197,2,196,12,87,192,197,66,198,12,2,86,197,130,194,12,6,0,213,12,88,192,197,66,214,12,88,192,197,130,48,86,197,194,213,12,88,192,197,2,190,12,85,192,197,194,191,12,6,0,192,12,86,192,197,66,193,12,86,192,197,130,240,85,197,2,213,12,86,192,197,66,89,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,92,192,197,194,205,12,255,255,37,111,193,25,226,12,93,192,197,2,227,12,93,192,197,66,199,12,92,192,197,66,200,12,92,192,197,130,202,12,25,0,203,12,92,192,197,2,194,12,25,0,194,12,90,192,197,194,195,12,91,192,197,2,196,12,91,192,197,66,198,12,2,87,197,130,194,12,6,0,213,12,92,192,197,66,214,12,92,192,197,130,48,87,197,194,213,12,92,192,197,2,190,12,89,192,197,194,191,12,6,0,192,12,90,192,197,66,193,12,90,192,197,130,240,86,197,2,213,12,90,192,197,66,93,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,96,192,197,194,205,12,255,255,37,111,193,26,226,12,97,192,197,2,227,12,97,192,197,66,199,12,96,192,197,66,200,12,96,192,197,130,202,12,25,0,203,12,96,192,197,2,194,12,25,0,194,12,94,192,197,194,195,12,95,192,197,2,196,12,95,192,197,66,198,12,2,88,197,130,194,12,6,0,213,12,96,192,197,66,214,12,96,192,197,130,48,88,197,194,213,12,96,192,197,2,190,12,93,192,197,194,191,12,6,0,192,12,94,192,197,66,193,12,94,192,197,130,240,87,197,2,213,12,94,192,197,66,97,0,197,130,16,0,198,12,47,0,203,12,16,0,203,12,104,192,197,2,204,12,104,192,197,194,205,12,255,255,37,111,193,27,226,12,105,192,197,2,227,12,105,192,197,66,198,12,12,0,199,12,104,192,197,66,200,12,104,192,197,130,202,12,48,90,197,194,213,12,104,192,197,2,2,90,197,130,194,12,6,0,213,12,104,192,197,66,214,12,104,192,197,130,48,90,197,194,213,12,104,192,197,2,193,12,12,0,193,12,102,192,197,130,194,12,102,192,197,194,195,12,103,192,197,2,196,12,103,192,197,66,188,12,8,0,190,12,101,192,197,194,191,12,77,0,192,12,102,192,197,66,142,88,197,194,198,12,43,0,203,12,12,0,203,12,100,192,197,66,204,12,101,192,197,2,226,12,101,192,197,66,227,12,101,192,197,130,198,12,12,0,199,12,100,192,197,130,200,12,100,192,197,194,202,12,112,89,197,2,213,12,100,192,197,66,2,89,197,194,194,12,6,0,213,12,100,192,197,130,214,12,100,192,197,194,112,89,197,2,213,12,100,192,197,66,193,12,12,0,193,12,98,192,197,194,194,12,99,192,197,2,195,12,99,192,197,66,196,12,99,192,197,130,190,12,98,192,197,2,191,12,3,0,192,12,98,192,197,130,240,88,197,66,213,12,98,192,197,130,240,89,197,2,213,12,102,192,197,66,105,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,108,192,197,194,205,12,255,255,37,111,193,28,226,12,109,192,197,2,227,12,109,192,197,66,199,12,108,192,197,66,200,12,108,192,197,130,202,12,25,0,203,12,108,192,197,2,194,12,25,0,194,12,106,192,197,194,195,12,107,192,197,2,196,12,107,192,197,66,198,12,2,91,197,130,194,12,6,0,213,12,108,192,197,66,214,12,108,192,197,130,48,91,197,194,213,12,108,192,197,2,190,12,105,192,197,194,191,12,6,0,192,12,106,192,197,66,193,12,106,192,197,130,240,90,197,2,213,12,106,192,197,66,109,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,112,192,197,194,205,12,255,255,37,111,193,29,226,12,113,192,197,2,227,12,113,192,197,66,199,12,112,192,197,66,200,12,112,192,197,130,202,12,25,0,203,12,112,192,197,2,194,12,25,0,194,12,110,192,197,194,195,12,111,192,197,2,196,12,111,192,197,66,198,12,2,92,197,130,194,12,6,0,213,12,112,192,197,66,214,12,112,192,197,130,48,92,197,194,213,12,112,192,197,2,190,12,109,192,197,194,191,12,6,0,192,12,110,192,197,66,193,12,110,192,197,130,240,91,197,2,213,12,110,192,197,66,113,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,116,192,197,194,205,12,255,255,37,111,193,30,226,12,117,192,197,2,227,12,117,192,197,66,199,12,116,192,197,66,200,12,116,192,197,130,202,12,25,0,203,12,116,192,197,2,194,12,25,0,194,12,114,192,197,194,195,12,115,192,197,2,196,12,115,192,197,66,198,12,2,93,197,130,194,12,6,0,213,12,116,192,197,66,214,12,116,192,197,130,48,93,197,194,213,12,116,192,197,2,190,12,113,192,197,194,191,12,6,0,192,12,114,192,197,66,193,12,114,192,197,130,240,92,197,2,213,12,114,192,197,66,117,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,120,192,197,194,205,12,255,255,37,111,193,31,226,12,121,192,197,2,227,12,121,192,197,66,199,12,120,192,197,66,200,12,120,192,197,130,202,12,25,0,203,12,120,192,197,2,194,12,25,0,194,12,118,192,197,194,195,12,119,192,197,2,196,12,119,192,197,66,198,12,2,94,197,130,194,12,6,0,213,12,120,192,197,66,214,12,120,192,197,130,48,94,197,194,213,12,120,192,197,2,190,12,117,192,197,194,191,12,6,0,192,12,118,192,197,66,193,12,118,192,197,130,240,93,197,2,213,12,118,192,197,66,121,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,124,192,197,194,205,12,255,255,37,111,193,32,226,12,125,192,197,2,227,12,125,192,197,66,199,12,124,192,197,66,200,12,124,192,197,130,202,12,25,0,203,12,124,192,197,2,194,12,25,0,194,12,122,192,197,194,195,12,123,192,197,2,196,12,123,192,197,66,198,12,2,95,197,130,194,12,6,0,213,12,124,192,197,66,214,12,124,192,197,130,48,95,197,194,213,12,124,192,197,2,190,12,121,192,197,194,191,12,6,0,192,12,122,192,197,66,193,12,122,192,197,130,240,94,197,2,213,12,122,192,197,66,125,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,128,192,197,194,205,12,255,255,37,111,193,33,226,12,129,192,197,2,227,12,129,192,197,66,199,12,128,192,197,66,200,12,128,192,197,130,202,12,25,0,203,12,128,192,197,2,194,12,25,0,194,12,126,192,197,194,195,12,127,192,197,2,196,12,127,192,197,66,198,12,2,96,197,130,194,12,6,0,213,12,128,192,197,66,214,12,128,192,197,130,48,96,197,194,213,12,128,192,197,2,190,12,125,192,197,194,191,12,6,0,192,12,126,192,197,66,193,12,126,192,197,130,240,95,197,2,213,12,126,192,197,66,129,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,132,192,197,194,205,12,255,255,37,111,193,34,226,12,133,192,197,2,227,12,133,192,197,66,199,12,132,192,197,66,200,12,132,192,197,130,202,12,25,0,203,12,132,192,197,2,194,12,25,0,194,12,130,192,197,194,195,12,131,192,197,2,196,12,131,192,197,66,198,12,2,97,197,130,194,12,6,0,213,12,132,192,197,66,214,12,132,192,197,130,48,97,197,194,213,12,132,192,197,2,190,12,129,192,197,194,191,12,6,0,192,12,130,192,197,66,193,12,130,192,197,130,240,96,197,2,213,12,130,192,197,66,133,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,136,192,197,194,205,12,255,255,37,111,193,40,226,12,137,192,197,2,227,12,137,192,197,66,199,12,136,192,197,66,200,12,136,192,197,130,202,12,25,0,203,12,136,192,197,2,194,12,25,0,194,12,134,192,197,194,195,12,135,192,197,2,196,12,135,192,197,66,198,12,2,98,197,130,194,12,6,0,213,12,136,192,197,66,214,12,136,192,197,130,48,98,197,194,213,12,136,192,197,2,190,12,133,192,197,194,191,12,6,0,192,12,134,192,197,66,193,12,134,192,197,130,240,97,197,2,213,12,134,192,197,66,137,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,140,192,197,194,205,12,255,255,37,111,193,35,226,12,141,192,197,2,227,12,141,192,197,66,199,12,140,192,197,66,200,12,140,192,197,130,202,12,25,0,203,12,140,192,197,2,194,12,25,0,194,12,138,192,197,194,195,12,139,192,197,2,196,12,139,192,197,66,198,12,2,99,197,130,194,12,6,0,213,12,140,192,197,66,214,12,140,192,197,130,48,99,197,194,213,12,140,192,197,2,190,12,137,192,197,194,191,12,6,0,192,12,138,192,197,66,193,12,138,192,197,130,240,98,197,2,213,12,138,192,197,66,141,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,144,192,197,194,205,12,255,255,37,111,193,36,226,12,145,192,197,2,227,12,145,192,197,66,199,12,144,192,197,66,200,12,144,192,197,130,202,12,25,0,203,12,144,192,197,2,194,12,25,0,194,12,142,192,197,194,195,12,143,192,197,2,196,12,143,192,197,66,198,12,2,100,197,130,194,12,6,0,213,12,144,192,197,66,214,12,144,192,197,130,48,100,197,194,213,12,144,192,197,2,190,12,141,192,197,194,191,12,6,0,192,12,142,192,197,66,193,12,142,192,197,130,240,99,197,2,213,12,142,192,197,66,145,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,148,192,197,194,205,12,255,255,37,111,193,37,226,12,149,192,197,2,227,12,149,192,197,66,199,12,148,192,197,66,200,12,148,192,197,130,202,12,25,0,203,12,148,192,197,2,194,12,25,0,194,12,146,192,197,194,195,12,147,192,197,2,196,12,147,192,197,66,198,12,2,101,197,130,194,12,6,0,213,12,148,192,197,66,214,12,148,192,197,130,48,101,197,194,213,12,148,192,197,2,190,12,145,192,197,194,191,12,6,0,192,12,146,192,197,66,193,12,146,192,197,130,240,100,197,2,213,12,146,192,197,66,149,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,152,192,197,194,205,12,255,255,37,111,193,38,226,12,153,192,197,2,227,12,153,192,197,66,199,12,152,192,197,66,200,12,152,192,197,130,202,12,25,0,203,12,152,192,197,2,194,12,25,0,194,12,150,192,197,194,195,12,151,192,197,2,196,12,151,192,197,66,198,12,2,102,197,130,194,12,6,0,213,12,152,192,197,66,214,12,152,192,197,130,48,102,197,194,213,12,152,192,197,2,190,12,149,192,197,194,191,12,6,0,192,12,150,192,197,66,193,12,150,192,197,130,240,101,197,2,213,12,150,192,197,66,153,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,156,192,197,194,205,12,255,255,37,111,193,39,226,12,157,192,197,2,227,12,157,192,197,66,199,12,156,192,197,66,200,12,156,192,197,130,202,12,25,0,203,12,156,192,197,2,194,12,25,0,194,12,154,192,197,194,195,12,155,192,197,2,196,12,155,192,197,66,198,12,2,103,197,130,194,12,6,0,213,12,156,192,197,66,214,12,156,192,197,130,48,103,197,194,213,12,156,192,197,2,190,12,153,192,197,194,191,12,6,0,192,12,154,192,197,66,193,12,154,192,197,130,240,102,197,2,213,12,154,192,197,66,157,0,197,130,15,0,199,12,26,0,204,12,13,0,204,12,160,192,197,194,205,12,255,255,37,111,193,41,226,12,161,192,197,2,227,12,161,192,197,66,199,12,160,192,197,66,200,12,160,192,197,130,202,12,25,0,203,12,160,192,197,2,194,12,25,0,194,12,158,192,197,194,195,12,159,192,197,2,196,12,159,192,197,66,198,12,2,104,197,130,194,12,6,0,213,12,160,192,197,66,214,12,160,192,197,130,48,104,197,194,213,12,160,192,197,2,190,12,157,192,197,194,191,12,6,0,192,12,158,192,197,66,193,12,158,192,197,130,240,103,197,2,213,12,158,192,197,66,14,0,150,12,169,12,170,12,175,12,190,12,194,12,195,12,197,12,198,12,201,12,202,12,205,12,226,12,228,12,3,0,69,0,52,0,61,0,235,15,0,16,93,0,0,96,1,0,0,96,2,0,43,0,84,0,170,170,228,15,0,32,108,33,0,32,1,0,32,0,113,33,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,221,26,1,32,7,0,0,0,27,0,0,0,223,26,1,0,223,26,1,0,4,0,0,0,0,0,0,0,73,27,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,101,97,114,99,104,106,108,0,115,116,97,110,100,97,114,100,0,117,110,105,104,97,110,0,170,0,0,52,0,50,0,0,0,51,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,117,0,110,0,105,0,104,0,97,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,103,0,32,0,72,0,97,0,110,0,105,0,93,0,0,0,237,221,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,115,0,117,0,112,0,112,0,114,0,101,0,115,0,115,0,67,0,111,0,110,0,116,0,114,0,97,0,99,0,116,0,105,0,111,0,110,0,115,0,32,0,91,0,64,14,45,0,68,14,32,0,192,14,45,0,196,14,32,0,181,170,32,0,182,170,32,0,185,170,32,0,187,170,32,0,188,170,181,25,45,0,183,25,186,25,93,0,93,0,38,0,39,6,60,0,60,0,60,0,142,254,60,0,60,0,60,0,141,254,60,0,60,0,34,6,60,0,60,0,60,0,130,254,60,0,60,0,60,0,129,254,60,0,60,0,35,6,60,0,60,0,60,0,132,254,60,0,60,0,60,0,131,254,60,0,60,0,37,6,60,0,60,0,60,0,136,254,60,0,60,0,60,0,135,254,38,0,72,6,60,0,60,0,60,0,229,6,60,0,60,0,60,0,238,254,60,0,60,0,60,0,237,254,60,0,60,0,36,6,60,0,60,0,60,0,134,254,60,0,60,0,60,0,133,254,38,0,74,6,60,0,60,0,60,0,230,6,60,0,60,0,60,0,243,254,60,0,60,0,60,0,244,254,60,0,60,0,60,0,242,254,60,0,60,0,60,0,241,254,60,0,60,0,38,6,60,0,60,0,60,0,139,254,60,0,60,0,60,0,140,254,60,0,60,0,60,0,138,254,60,0,60,0,60,0,137,254,60,0,60,0,73,6,60,0,60,0,60,0,232,251,60,0,60,0,60,0,233,251,60,0,60,0,60,0,240,254,60,0,60,0,60,0,239,254,38,0,71,6,60,0,60,0,60,0,235,254,60,0,60,0,60,0,236,254,60,0,60,0,60,0,234,254,60,0,60,0,60,0,233,254,60,0,60,0,41,6,60,0,60,0,60,0,148,254,60,0,60,0,60,0,147,254,38,0,91,0,108,0,97,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,243,5,60,0,60,0,244,5,60,0,60,0,64,6,60,0,60,0,58,14,60,0,60,0,97,17,60,0,60,0,98,17,60,0,60,0,99,17,60,0,60,0,100,17,60,0,60,0,101,17,60,0,60,0,102,17,60,0,60,0,103,17,60,0,60,0,104,17,60,0,60,0,105,17,60,0,60,0,106,17,60,0,60,0,107,17,60,0,60,0,108,17,60,0,60,0,109,17,60,0,60,0,110,17,60,0,60,0,111,17,60,0,60,0,112,17,60,0,60,0,113,17,60,0,60,0,114,17,60,0,60,0,115,17,60,0,60,0,116,17,60,0,60,0,117,17,60,0,60,0,168,17,60,0,60,0,169,17,60,0,60,0,170,17,60,0,60,0,171,17,60,0,60,0,172,17,60,0,60,0,173,17,60,0,60,0,174,17,60,0,60,0,175,17,60,0,60,0,176,17,60,0,60,0,177,17,60,0,60,0,178,17,60,0,60,0,179,17,60,0,60,0,180,17,60,0,60,0,181,17,60,0,60,0,182,17,60,0,60,0,183,17,60,0,60,0,184,17,60,0,60,0,185,17,60,0,60,0,186,17,60,0,60,0,187,17,60,0,60,0,188,17,60,0,60,0,189,17,60,0,60,0,190,17,60,0,60,0,191,17,60,0,60,0,192,17,60,0,60,0,193,17,60,0,60,0,194,17,38,0,91,0,102,0,105,0,114,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,61,0,0,17,124,0,0,17,61,0,3,17,124,0,3,17,61,0,7,17,124,0,7,17,61,0,9,17,124,0,9,17,61,0,12,17,124,0,12,17,38,0,0,17,0,17,61,0,1,17,60,0,60,0,60,0,50,49,38,0,3,17,3,17,61,0,4,17,60,0,60,0,60,0,56,49,38,0,7,17,7,17,61,0,8,17,60,0,60,0,60,0,67,49,38,0,9,17,9,17,61,0,10,17,60,0,60,0,60,0,70,49,38,0,12,17,12,17,61,0,13,17,60,0,60,0,60,0,73,49,0,0,14,223,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,38,0,0,17,2,17,61,0,250,17,38,0,0,17,3,17,61,0,90,17,38,0,0,17,5,17,61,0,195,17,38,0,0,17,7,17,61,0,251,17,38,0,0,17,9,17,0,17,61,0,196,17,38,0,0,17,14,17,61,0,252,17,38,0,0,17,15,17,61,0,253,17,38,0,0,17,18,17,61,0,254,17,38,0,2,17,0,17,61,0,19,17,61,0,197,17,38,0,2,17,2,17,61,0,20,17,61,0,255,17,38,0,2,17,3,17,61,0,21,17,61,0,198,17,38,0,2,17,7,17,61,0,22,17,38,0,2,17,9,17,61,0,91,17,61,0,199,17,38,0,2,17,12,17,61,0,92,17,38,0,2,17,16,17,61,0,201,17,38,0,2,17,18,17,61,0,93,17,38,0,3,17,0,17,61,0,23,17,61,0,202,17,38,0,3,17,5,17,61,0,94,17,61,0,203,17,38,0,5,17,0,17,9,17,61,0,204,17,38,0,5,17,2,17,61,0,24,17,61,0,205,17,38,0,5,17,3,17,61,0,206,17,38,0,5,17,3,17,18,17,61,0,207,17,38,0,5,17,5,17,61,0,25,17,61,0,208,17,38,0,5,17,6,17,0,17,61,0,209,17,38,0,5,17,6,17,9,17,61,0,210,17,38,0,5,17,7,17,9,17,61,0,211,17,38,0,5,17,7,17,11,17,61,0,213,17,38,0,5,17,7,17,18,17,61,0,212,17,38,0,5,17,9,17,9,17,61,0,214,17,38,0,5,17,11,17,61,0,27,17,38,0,5,17,15,17,61,0,216,17,38,0,5,17,18,17,61,0,26,17,38,0,6,17,0,17,61,0,218,17,38,0,6,17,5,17,61,0,219,17,38,0,6,17,7,17,61,0,28,17,61,0,220,17,38,0,6,17,9,17,61,0,221,17,38,0,6,17,9,17,9,17,61,0,222,17,38,0,6,17,11,17,61,0,29,17,61,0,226,17,38,0,6,17,14,17,61,0,224,17,38,0,6,17,18,17,61,0,225,17,38,0,7,17,0,17,61,0,30,17,38,0,7,17,2,17,61,0,31,17,38,0,7,17,3,17,61,0,32,17,38,0,7,17,5,17,61,0,227,17,38,0,7,17,7,17,11,17,61,0,44,17,38,0,7,17,9,17,61,0,33,17,38,0,7,17,9,17,0,17,61,0,34,17,38,0,7,17,9,17,3,17,61,0,35,17,38,0,7,17,9,17,7,17,61,0,36,17,38,0,7,17,9,17,9,17,61,0,37,17,38,0,7,17,9,17,12,17,61,0,38,17,38,0,7,17,11,17,61,0,43,17,61,0,230,17,38,0,7,17,12,17,61,0,39,17,38,0,7,17,14,17,61,0,40,17,38,0,7,17,16,17,61,0,41,17,38,0,7,17,17,17,61,0,42,17,61,0,228,17,38,0,7,17,18,17,61,0,229,17,38,0,9,17,0,17,61,0,45,17,61,0,231,17,38,0,9,17,2,17,61,0,46,17,38,0,9,17,3,17,61,0,47,17,61,0,232,17,38,0,9,17,5,17,61,0,48,17,61,0,233,17,38,0,9,17,6,17,61,0,49,17,38,0,9,17,7,17,61,0,50,17,61,0,234,17,38,0,9,17,7,17,0,17,61,0,51,17,38,0,9,17,9,17,9,17,61,0,52,17,38,0,9,17,11,17,61,0,53,17,38,0,9,17,12,17,61,0,54,17,38,0,9,17,14,17,61,0,55,17,38,0,9,17,15,17,61,0,56,17,38,0,9,17,16,17,61,0,57,17,38,0,9,17,17,17,61,0,58,17,38,0,9,17,18,17,61,0,59,17,38,0,11,17,0,17,61,0,65,17,61,0,236,17,38,0,11,17,0,17,0,17,61,0,237,17,38,0,11,17,3,17,61,0,66,17,38,0,11,17,6,17,61,0,67,17,38,0,11,17,7,17,61,0,68,17,38,0,11,17,9,17,61,0,69,17,38,0,11,17,11,17,61,0,71,17,61,0,238,17,38,0,11,17,12,17,61,0,72,17,38,0,11,17,14,17,61,0,73,17,38,0,11,17,15,17,61,0,239,17,38,0,11,17,16,17,61,0,74,17,38,0,11,17,17,17,61,0,75,17,38,0,12,17,11,17,61,0,77,17,38,0,14,17,15,17,61,0,82,17,38,0,14,17,18,17,61,0,83,17,38,0,17,17,7,17,61,0,86,17,61,0,243,17,38,0,17,17,11,17,61,0,87,17,61,0,244,17,38,0,18,17,2,17,61,0,245,17,38,0,18,17,5,17,61,0,246,17,38,0,18,17,6,17,61,0,247,17,38,0,18,17,7,17,61,0,248,17,38,0,18,17,18,17,61,0,88,17,38,0,97,17,105,17,61,0,118,17,38,0,97,17,110,17,61,0,119,17,38,0,99,17,105,17,61,0,120,17,38,0,99,17,109,17,61,0,121,17,38,0,101,17,105,17,61,0,122,17,38,0,101,17,110,17,61,0,123,17,38,0,101,17,115,17,61,0,124,17,38,0,103,17,105,17,61,0,125,17,38,0,103,17,110,17,61,0,126,17,38,0,105,17,101,17,61,0,127,17,38,0,105,17,101,17,117,17,61,0,128,17,38,0,105,17,103,17,117,17,61,0,129,17,38,0,105,17,105,17,61,0,130,17,38,0,105,17,110,17,61,0,131,17,38,0,109,17,99,17,61,0,132,17,38,0,109,17,99,17,117,17,61,0,133,17,38,0,109,17,103,17,61,0,134,17,38,0,109,17,105,17,61,0,135,17,38,0,109,17,117,17,61,0,136,17,38,0,110,17,97,17,61,0,137,17,38,0,110,17,97,17,117,17,61,0,138,17,38,0,110,17,101,17,115,17,61,0,139,17,38,0,110,17,103,17,117,17,61,0,140,17,38,0,110,17,110,17,61,0,141,17,38,0,114,17,97,17,61,0,142,17,38,0,114,17,101,17,61,0,143,17,38,0,114,17,101,17,117,17,61,0,144,17,38,0,114,17,103,17,61,0,145,17,38,0,114,17,103,17,117,17,61,0,146,17,38,0,114,17,110,17,61,0,147,17,38,0,114,17,117,17,61,0,148,17,38,0,115,17,110,17,61,0,149,17,38,0,115,17,115,17,61,0,150,17,38,0,116,17,110,17,61,0,151,17,38,0,117,17,97,17,61,0,152,17,38,0,117,17,99,17,61,0,153,17,38,0,117,17,105,17,61,0,154,17,38,0,117,17,110,17,61,0,155,17,38,0,117,17,115,17,61,0,156,17,38,0,97,17,115,17,61,0,163,17,38,0,99,17,110,17,61,0,164,17,38,0,103,17,99,17,61,0,165,17,38,0,105,17,99,17,61,0,166,17,38,0,105,17,99,17,117,17,61,0,167,17,0,0,239,223,33,49,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,103,0,32,0,72,0,97,0,110,0,105,0,93,0,91,0,111,0,112,0,116,0,105,0,109,0,105,0,122,0,101,0,32,0,91,0,0,172,45,0,1,172,4,172,7,172,45,0,10,172,16,172,45,0,23,172,25,172,45,0,29,172,32,172,36,172,44,172,45,0,45,172,47,172,45,0,49,172,56,172,45,0,57,172,60,172,64,172,75,172,77,172,84,172,88,172,92,172,112,172,45,0,113,172,116,172,119,172,45,0,120,172,122,172,128,172,45,0,129,172,131,172,45,0,134,172,137,172,45,0,140,172,144,172,148,172,156,172,45,0,157,172,159,172,45,0,161,172,168,172,45,0,170,172,172,172,175,172,45,0,176,172,184,172,45,0,185,172,187,172,45,0,189,172,193,172,196,172,200,172,204,172,213,172,215,172,224,172,45,0,225,172,228,172,231,172,45,0,232,172,234,172,236,172,239,172,45,0,241,172,243,172,245,172,45,0,246,172,252,172,45,0,253,172,0,173,4,173,6,173,12,173,45,0,13,173,15,173,17,173,24,173,28,173,32,173,41,173,44,173,45,0,45,173,52,173,45,0,53,173,56,173,60,173,68,173,45,0,69,173,71,173,73,173,80,173,84,173,88,173,97,173,99,173,108,173,45,0,109,173,112,173,115,173,45,0,118,173,123,173,45,0,125,173,127,173,129,173,45,0,130,173,136,173,45,0,137,173,140,173,144,173,156,173,45,0,157,173,164,173,183,173,192,173,45,0,193,173,196,173,200,173,208,173,45,0,209,173,211,173,220,173,224,173,228,173,248,173,45,0,249,173,252,173,255,173,45,0,1,174,8,174,45,0,9,174,11,174,13,174,20,174,48,174,45,0,49,174,52,174,55,174,45,0,56,174,58,174,64,174,45,0,65,174,67,174,69,174,45,0,70,174,74,174,76,174,45,0,78,174,80,174,84,174,86,174,92,174,45,0,93,174,95,174,45,0,97,174,101,174,104,174,45,0,105,174,108,174,112,174,120,174,45,0,121,174,123,174,45,0,125,174,132,174,45,0,133,174,140,174,188,174,45,0,190,174,192,174,196,174,204,174,45,0,205,174,207,174,45,0,209,174,216,174,45,0,217,174,220,174,232,174,235,174,237,174,244,174,248,174,252,174,7,175,45,0,8,175,13,175,16,175,44,175,45,0,45,175,48,175,50,175,52,175,60,175,45,0,61,175,63,175,65,175,45,0,67,175,72,175,45,0,73,175,80,175,92,175,45,0,93,175,100,175,45,0,101,175,121,175,128,175,132,175,136,175,144,175,45,0,145,175,149,175,156,175,184,175,45,0,185,175,188,175,192,175,199,175,45,0,201,175,203,175,205,175,45,0,206,175,212,175,220,175,232,175,45,0,233,175,240,175,45,0,241,175,244,175,248,175,0,176,45,0,1,176,4,176,12,176,16,176,20,176,28,176,45,0,29,176,40,176,68,176,45,0,69,176,72,176,74,176,76,176,78,176,83,176,45,0,85,176,87,176,89,176,93,176,124,176,45,0,125,176,128,176,132,176,140,176,45,0,141,176,143,176,145,176,152,176,45,0,154,176,156,176,159,176,45,0,162,176,168,176,45,0,169,176,171,176,45,0,175,176,177,176,179,176,45,0,181,176,184,176,188,176,196,176,45,0,197,176,199,176,45,0,201,176,208,176,45,0,209,176,212,176,216,176,224,176,229,176,8,177,45,0,9,177,11,177,45,0,12,177,16,177,18,177,45,0,19,177,24,177,45,0,25,177,27,177,45,0,29,177,35,177,45,0,37,177,40,177,44,177,52,177,45,0,53,177,55,177,45,0,57,177,64,177,45,0,65,177,68,177,72,177,80,177,45,0,81,177,84,177,45,0,85,177,88,177,92,177,96,177,120,177,45,0,121,177,124,177,128,177,130,177,136,177,45,0,137,177,139,177,141,177,146,177,45,0,148,177,152,177,156,177,168,177,204,177,208,177,212,177,220,177,45,0,221,177,223,177,232,177,45,0,233,177,236,177,240,177,249,177,251,177,253,177,4,178,45,0,5,178,8,178,11,178,45,0,12,178,20,178,45,0,21,178,23,178,25,178,32,178,52,178,60,178,88,178,92,178,96,178,104,178,45,0,105,178,116,178,45,0,117,178,124,178,132,178,45,0,133,178,137,178,144,178,45,0,145,178,148,178,152,178,45,0,154,178,160,178,45,0,161,178,163,178,165,178,45,0,166,178,170,178,172,178,176,178,180,178,200,178,45,0,201,178,204,178,208,178,214,178,216,178,45,0,217,178,219,178,221,178,226,178,228,178,45,0,230,178,232,178,235,178,45,0,239,178,243,178,45,0,245,178,247,178,45,0,251,178,255,178,45,0,1,179,4,179,8,179,16,179,45,0,17,179,19,179,45,0,21,179,28,179,84,179,45,0,86,179,88,179,91,179,45,0,92,179,94,179,45,0,95,179,100,179,45,0,101,179,103,179,105,179,107,179,110,179,112,179,45,0,113,179,116,179,120,179,128,179,45,0,129,179,131,179,45,0,133,179,140,179,144,179,148,179,160,179,45,0,161,179,168,179,172,179,196,179,45,0,197,179,200,179,203,179,45,0,204,179,206,179,208,179,212,179,45,0,213,179,215,179,217,179,219,179,221,179,224,179,228,179,232,179,252,179,16,180,24,180,28,180,32,180,40,180,45,0,41,180,43,180,52,180,80,180,45,0,81,180,84,180,88,180,96,180,45,0,97,180,99,180,101,180,108,180,128,180,136,180,157,180,164,180,168,180,172,180,181,180,183,180,185,180,192,180,196,180,200,180,208,180,213,180,220,180,45,0,221,180,224,180,227,180,45,0,228,180,230,180,236,180,45,0,237,180,239,180,241,180,248,180,20,181,45,0,21,181,24,181,27,181,45,0,28,181,36,181,45,0,37,181,39,181,45,0,42,181,48,181,45,0,49,181,52,181,56,181,64,181,45,0,65,181,67,181,45,0,69,181,75,181,45,0,77,181,80,181,84,181,92,181,45,0,93,181,95,181,45,0,97,181,160,181,45,0,161,181,164,181,168,181,170,181,45,0,171,181,176,181,45,0,177,181,179,181,45,0,181,181,187,181,45,0,189,181,192,181,196,181,204,181,45,0,205,181,207,181,45,0,209,181,216,181,236,181,16,182,45,0,17,182,20,182,24,182,37,182,44,182,52,182,72,182,100,182,104,182,156,182,45,0,157,182,160,182,164,182,171,182,45,0,172,182,177,182,212,182,240,182,244,182,248,182,0,183,45,0,1,183,5,183,40,183,45,0,41,183,44,183,47,183,45,0,48,183,56,183,45,0,57,183,59,183,68,183,72,183,76,183,84,183,45,0,85,183,96,183,100,183,104,183,112,183,45,0,113,183,115,183,117,183,124,183,45,0,125,183,128,183,132,183,140,183,45,0,141,183,143,183,45,0,146,183,150,183,45,0,153,183,156,183,160,183,168,183,45,0,169,183,171,183,45,0,173,183,180,183,45,0,181,183,184,183,199,183,201,183,236,183,45,0,237,183,240,183,244,183,252,183,45,0,253,183,255,183,45,0,1,184,7,184,45,0,9,184,12,184,16,184,24,184,45,0,25,184,27,184,29,184,36,184,45,0,37,184,40,184,44,184,52,184,45,0,53,184,55,184,45,0,57,184,64,184,68,184,81,184,83,184,92,184,45,0,93,184,96,184,100,184,108,184,45,0,109,184,111,184,113,184,120,184,124,184,141,184,168,184,176,184,180,184,184,184,192,184,45,0,193,184,195,184,197,184,204,184,208,184,212,184,221,184,223,184,225,184,232,184,45,0,233,184,236,184,240,184,248,184,45,0,249,184,251,184,253,184,4,185,24,185,32,185,60,185,45,0,61,185,64,185,68,185,76,185,79,185,81,185,88,185,45,0,89,185,92,185,96,185,104,185,45,0,105,185,107,185,109,185,116,185,45,0,117,185,120,185,124,185,132,185,45,0,133,185,135,185,137,185,45,0,138,185,141,185,45,0,142,185,172,185,45,0,173,185,176,185,180,185,188,185,45,0,189,185,191,185,193,185,200,185,45,0,201,185,204,185,206,185,45,0,210,185,216,185,45,0,217,185,219,185,221,185,45,0,222,185,225,185,227,185,45,0,229,185,232,185,236,185,244,185,45,0,245,185,247,185,45,0,250,185,0,186,45,0,1,186,8,186,21,186,56,186,45,0,57,186,60,186,64,186,66,186,72,186,45,0,73,186,75,186,77,186,45,0,78,186,83,186,45,0,85,186,88,186,92,186,100,186,45,0,101,186,103,186,45,0,105,186,112,186,45,0,113,186,116,186,120,186,131,186,45,0,133,186,135,186,140,186,168,186,45,0,169,186,171,186,45,0,172,186,176,186,178,186,184,186,45,0,185,186,187,186,189,186,196,186,200,186,216,186,45,0,217,186,252,186,0,187,4,187,13,187,15,187,17,187,24,187,28,187,32,187,41,187,43,187,52,187,45,0,54,187,56,187,59,187,45,0,62,187,68,187,45,0,69,187,71,187,73,187,77,187,79,187,45,0,80,187,84,187,88,187,97,187,99,187,108,187,136,187,140,187,144,187,164,187,168,187,172,187,180,187,183,187,192,187,196,187,200,187,208,187,211,187,248,187,45,0,249,187,252,187,255,187,45,0,0,188,2,188,8,188,45,0,9,188,11,188,45,0,13,188,15,188,17,188,20,188,45,0,24,188,27,188,45,0,31,188,36,188,45,0,37,188,39,188,41,188,45,188,48,188,45,0,49,188,52,188,56,188,64,188,45,0,65,188,67,188,45,0,69,188,73,188,76,188,45,0,77,188,80,188,93,188,132,188,45,0,133,188,136,188,139,188,45,0,140,188,142,188,148,188,45,0,149,188,151,188,153,188,45,0,154,188,160,188,45,0,161,188,164,188,167,188,45,0,168,188,176,188,45,0,177,188,179,188,45,0,181,188,188,188,45,0,189,188,192,188,196,188,205,188,207,188,45,0,209,188,213,188,216,188,220,188,244,188,45,0,246,188,248,188,252,188,4,189,45,0,5,189,7,189,9,189,16,189,20,189,36,189,44,189,64,189,72,189,45,0,73,189,76,189,80,189,88,189,45,0,89,189,100,189,104,189,128,189,45,0,129,189,132,189,135,189,45,0,138,189,144,189,45,0,145,189,147,189,149,189,153,189,45,0,154,189,156,189,164,189,176,189,184,189,212,189,45,0,213,189,216,189,220,189,233,189,240,189,244,189,248,189,0,190,3,190,5,190,12,190,45,0,13,190,16,190,20,190,28,190,45,0,29,190,31,190,68,190,45,0,69,190,72,190,76,190,78,190,84,190,45,0,85,190,87,190,89,190,45,0,91,190,96,190,45,0,97,190,100,190,104,190,106,190,112,190,45,0,113,190,115,190,45,0,117,190,123,190,45,0,125,190,128,190,132,190,140,190,45,0,141,190,143,190,45,0,145,190,152,190,45,0,153,190,168,190,208,190,45,0,209,190,212,190,215,190,45,0,216,190,224,190,227,190,45,0,229,190,236,190,1,191,8,191,45,0,9,191,24,191,45,0,25,191,27,191,45,0,29,191,64,191,45,0,65,191,68,191,72,191,80,191,45,0,81,191,85,191,148,191,176,191,197,191,204,191,45,0,205,191,208,191,212,191,220,191,223,191,225,191,60,192,81,192,88,192,92,192,96,192,104,192,45,0,105,192,144,192,45,0,145,192,148,192,152,192,160,192,45,0,161,192,163,192,165,192,172,192,45,0,173,192,175,192,45,0,176,192,179,192,45,0,182,192,188,192,45,0,189,192,191,192,45,0,193,192,197,192,200,192,45,0,201,192,204,192,208,192,216,192,45,0,217,192,219,192,45,0,221,192,228,192,45,0,229,192,232,192,236,192,244,192,45,0,245,192,247,192,249,192,0,193,4,193,8,193,16,193,21,193,28,193,45,0,32,193,35,193,45,0,36,193,38,193,45,0,39,193,44,193,45,0,45,193,47,193,45,0,49,193,54,193,56,193,45,0,57,193,60,193,64,193,72,193,45,0,73,193,75,193,45,0,77,193,84,193,45,0,85,193,88,193,92,193,100,193,45,0,101,193,103,193,45,0,105,193,112,193,116,193,120,193,133,193,140,193,45,0,142,193,144,193,148,193,150,193,156,193,45,0,157,193,159,193,161,193,165,193,168,193,45,0,169,193,172,193,176,193,189,193,196,193,200,193,204,193,212,193,215,193,45,0,216,193,224,193,228,193,232,193,240,193,45,0,241,193,243,193,252,193,45,0,253,193,0,194,4,194,12,194,45,0,13,194,15,194,17,194,24,194,45,0,25,194,28,194,31,194,45,0,32,194,40,194,45,0,41,194,43,194,45,194,47,194,49,194,45,0,50,194,52,194,72,194,80,194,45,0,81,194,84,194,88,194,96,194,101,194,108,194,45,0,109,194,112,194,116,194,124,194,45,0,125,194,127,194,129,194,136,194,45,0,137,194,144,194,152,194,155,194,157,194,164,194,45,0,165,194,168,194,172,194,45,0,173,194,180,194,45,0,181,194,183,194,185,194,220,194,45,0,221,194,224,194,227,194,45,0,228,194,235,194,45,0,237,194,239,194,241,194,246,194,248,194,45,0,249,194,251,194,45,0,252,194,0,195,8,195,45,0,9,195,12,195,45,0,13,195,19,195,45,0,21,195,24,195,28,195,36,195,45,0,37,195,40,195,45,0,41,195,69,195,104,195,45,0,105,195,108,195,112,195,114,195,120,195,45,0,121,195,124,195,45,0,125,195,132,195,136,195,140,195,192,195,216,195,45,0,217,195,220,195,223,195,45,0,224,195,226,195,232,195,45,0,233,195,237,195,244,195,45,0,245,195,248,195,8,196,16,196,36,196,44,196,48,196,52,196,60,196,45,0,61,196,72,196,100,196,45,0,101,196,104,196,108,196,116,196,45,0,117,196,121,196,128,196,148,196,156,196,184,196,188,196,233,196,240,196,45,0,241,196,244,196,248,196,250,196,255,196,45,0,1,197,12,197,16,197,20,197,28,197,40,197,45,0,41,197,44,197,48,197,56,197,45,0,57,197,59,197,61,197,68,197,45,0,69,197,72,197,45,0,74,197,76,197,45,0,78,197,83,197,45,0,85,197,87,197,45,0,89,197,93,197,45,0,94,197,96,197,45,0,97,197,100,197,104,197,112,197,45,0,113,197,115,197,45,0,117,197,124,197,45,0,125,197,128,197,132,197,135,197,140,197,45,0,141,197,143,197,145,197,149,197,151,197,45,0,152,197,156,197,160,197,169,197,180,197,45,0,181,197,184,197,45,0,185,197,187,197,45,0,190,197,196,197,45,0,202,197,204,197,206,197,208,197,45,0,209,197,212,197,216,197,224,197,45,0,225,197,227,197,229,197,236,197,45,0,238,197,240,197,244,197,246,197,45,0,247,197,252,197,45,0,1,198,5,198,45,0,8,198,12,198,16,198,24,198,45,0,25,198,27,198,45,0,28,198,36,198,45,0,37,198,40,198,44,198,45,0,46,198,48,198,51,198,45,0,53,198,55,198,57,198,59,198,64,198,45,0,65,198,68,198,72,198,80,198,45,0,81,198,83,198,45,0,85,198,92,198,45,0,93,198,96,198,108,198,111,198,113,198,120,198,45,0,121,198,124,198,128,198,136,198,45,0,137,198,139,198,141,198,148,198,45,0,149,198,152,198,156,198,164,198,45,0,165,198,167,198,169,198,176,198,45,0,177,198,180,198,184,198,45,0,186,198,192,198,45,0,193,198,195,198,197,198,204,198,45,0,205,198,208,198,212,198,220,198,45,0,221,198,224,198,45,0,225,198,232,198,45,0,233,198,236,198,240,198,248,198,45,0,249,198,253,198,4,199,45,0,5,199,8,199,12,199,20,199,45,0,21,199,23,199,25,199,32,199,45,0,33,199,36,199,40,199,48,199,45,0,49,199,51,199,53,199,55,199,60,199,45,0,61,199,64,199,68,199,74,199,76,199,45,0,77,199,79,199,81,199,45,0,88,199,92,199,96,199,104,199,107,199,116,199,45,0,117,199,120,199,124,199,45,0,126,199,131,199,45,0,133,199,135,199,45,0,138,199,142,199,144,199,45,0,145,199,148,199,150,199,45,0,152,199,154,199,160,199,45,0,161,199,163,199,45,0,166,199,172,199,45,0,173,199,176,199,180,199,188,199,45,0,189,199,191,199,45,0,193,199,200,199,45,0,201,199,204,199,206,199,208,199,216,199,221,199,228,199,232,199,236,199,0,200,45,0,1,200,4,200,8,200,10,200,16,200,45,0,17,200,19,200,21,200,45,0,22,200,28,200,45,0,29,200,32,200,36,200,44,200,45,0,45,200,47,200,49,200,56,200,60,200,64,200,72,200,45,0,73,200,76,200,45,0,77,200,84,200,112,200,45,0,113,200,116,200,120,200,122,200,128,200,45,0,129,200,131,200,133,200,45,0,135,200,139,200,45,0,141,200,148,200,157,200,159,200,161,200,168,200,188,200,45,0,189,200,196,200,200,200,204,200,212,200,45,0,213,200,215,200,217,200,224,200,45,0,225,200,228,200,245,200,252,200,45,0,253,200,0,201,4,201,45,0,6,201,12,201,45,0,13,201,15,201,17,201,24,201,44,201,52,201,80,201,45,0,81,201,84,201,88,201,96,201,45,0,97,201,99,201,108,201,112,201,116,201,124,201,136,201,45,0,137,201,140,201,144,201,152,201,45,0,153,201,155,201,157,201,192,201,45,0,193,201,196,201,199,201,45,0,200,201,202,201,208,201,45,0,209,201,211,201,213,201,45,0,214,201,217,201,45,0,218,201,220,201,45,0,221,201,224,201,226,201,228,201,231,201,236,201,45,0,237,201,239,201,45,0,241,201,248,201,45,0,249,201,252,201,0,202,8,202,45,0,9,202,11,202,45,0,13,202,20,202,24,202,41,202,76,202,45,0,77,202,80,202,84,202,92,202,45,0,93,202,95,202,45,0,97,202,104,202,125,202,132,202,152,202,188,202,45,0,189,202,192,202,196,202,204,202,45,0,205,202,207,202,209,202,211,202,216,202,45,0,217,202,224,202,236,202,244,202,8,203,16,203,20,203,24,203,32,203,45,0,33,203,65,203,72,203,45,0,73,203,76,203,80,203,88,203,45,0,89,203,93,203,100,203,120,203,45,0,121,203,156,203,184,203,212,203,228,203,231,203,233,203,12,204,45,0,13,204,16,204,20,204,28,204,45,0,29,204,33,204,45,0,34,204,39,204,45,0,41,204,44,204,46,204,48,204,56,204,45,0,57,204,59,204,45,0,62,204,68,204,45,0,69,204,72,204,76,204,84,204,45,0,85,204,87,204,45,0,89,204,96,204,100,204,102,204,104,204,112,204,117,204,152,204,45,0,153,204,156,204,160,204,168,204,45,0,169,204,171,204,45,0,173,204,180,204,45,0,181,204,184,204,188,204,196,204,45,0,197,204,199,204,201,204,208,204,212,204,228,204,236,204,240,204,1,205,8,205,45,0,9,205,12,205,16,205,24,205,45,0,25,205,27,205,29,205,36,205,40,205,44,205,57,205,92,205,96,205,100,205,108,205,45,0,109,205,111,205,113,205,120,205,136,205,148,205,45,0,149,205,152,205,156,205,164,205,45,0,165,205,167,205,169,205,176,205,196,205,204,205,208,205,232,205,236,205,240,205,248,205,45,0,249,205,251,205,253,205,4,206,8,206,12,206,20,206,25,206,32,206,45,0,33,206,36,206,40,206,48,206,45,0,49,206,51,206,53,206,88,206,45,0,89,206,92,206,95,206,45,0,97,206,104,206,45,0,105,206,107,206,109,206,116,206,45,0,117,206,120,206,124,206,132,206,45,0,133,206,135,206,137,206,144,206,45,0,145,206,148,206,152,206,160,206,45,0,161,206,163,206,45,0,165,206,172,206,45,0,173,206,193,206,228,206,45,0,229,206,232,206,235,206,45,0,236,206,244,206,45,0,245,206,247,206,45,0,249,206,0,207,45,0,1,207,4,207,8,207,16,207,45,0,17,207,19,207,21,207,28,207,32,207,36,207,44,207,45,0,45,207,47,207,45,0,49,207,56,207,84,207,45,0,85,207,88,207,92,207,100,207,45,0,101,207,103,207,105,207,112,207,45,0,113,207,116,207,120,207,128,207,133,207,140,207,161,207,168,207,176,207,196,207,224,207,45,0,225,207,228,207,232,207,240,207,45,0,241,207,243,207,245,207,252,207,0,208,4,208,17,208,24,208,45,208,52,208,45,0,53,208,56,208,60,208,68,208,45,0,69,208,71,208,73,208,80,208,84,208,88,208,96,208,108,208,45,0,109,208,112,208,116,208,124,208,45,0,125,208,129,208,164,208,45,0,165,208,168,208,172,208,180,208,45,0,181,208,183,208,185,208,192,208,45,0,193,208,196,208,200,208,45,0,201,208,208,208,45,0,209,208,211,208,45,0,213,208,220,208,45,0,221,208,224,208,228,208,236,208,45,0,237,208,239,208,45,0,241,208,248,208,13,209,48,209,45,0,49,209,52,209,56,209,58,209,64,209,45,0,65,209,67,209,45,0,69,209,76,209,45,0,77,209,80,209,84,209,92,209,45,0,93,209,95,209,97,209,104,209,108,209,124,209,132,209,136,209,160,209,45,0,161,209,164,209,168,209,176,209,45,0,177,209,179,209,181,209,186,209,188,209,192,209,216,209,244,209,248,209,7,210,9,210,16,210,44,210,45,0,45,210,48,210,52,210,60,210,45,0,61,210,63,210,65,210,72,210,92,210,100,210,128,210,45,0,129,210,132,210,136,210,144,210,45,0,145,210,149,210,156,210,160,210,164,210,172,210,177,210,184,210,45,0,185,210,188,210,191,210,45,0,192,210,194,210,200,210,45,0,201,210,203,210,212,210,216,210,220,210,228,210,45,0,229,210,240,210,45,0,241,210,244,210,248,210,0,211,45,0,1,211,3,211,5,211,12,211,45,0,14,211,16,211,20,211,22,211,28,211,45,0,29,211,31,211,45,0,33,211,37,211,40,211,45,0,41,211,44,211,48,211,56,211,45,0,57,211,59,211,45,0,61,211,68,211,45,0,69,211,124,211,45,0,125,211,128,211,132,211,140,211,45,0,141,211,143,211,45,0,145,211,152,211,45,0,153,211,156,211,160,211,168,211,45,0,169,211,171,211,173,211,180,211,184,211,188,211,196,211,45,0,197,211,200,211,45,0,201,211,208,211,216,211,225,211,227,211,236,211,45,0,237,211,240,211,244,211,252,211,45,0,253,211,255,211,1,212,8,212,29,212,64,212,68,212,92,212,96,212,100,212,109,212,111,212,120,212,45,0,121,212,124,212,127,212,45,0,128,212,130,212,136,212,45,0,137,212,139,212,141,212,148,212,169,212,204,212,208,212,212,212,220,212,223,212,232,212,236,212,240,212,248,212,251,212,253,212,4,213,8,213,12,213,20,213,45,0,21,213,23,213,60,213,45,0,61,213,64,213,68,213,76,213,45,0,77,213,79,213,81,213,88,213,45,0,89,213,92,213,96,213,101,213,104,213,45,0,105,213,107,213,109,213,116,213,45,0,117,213,120,213,124,213,132,213,45,0,133,213,135,213,45,0,137,213,144,213,165,213,200,213,45,0,201,213,204,213,208,213,210,213,216,213,45,0,217,213,219,213,221,213,228,213,45,0,229,213,232,213,236,213,244,213,45,0,245,213,247,213,249,213,0,214,45,0,1,214,4,214,8,214,16,214,45,0,17,214,19,214,45,0,21,214,28,214,32,214,36,214,45,214,56,214,45,0,57,214,60,214,64,214,69,214,72,214,45,0,73,214,75,214,77,214,81,214,84,214,45,0,85,214,88,214,92,214,103,214,105,214,112,214,45,0,113,214,116,214,131,214,133,214,140,214,45,0,141,214,144,214,148,214,157,214,159,214,161,214,168,214,172,214,176,214,185,214,187,214,196,214,45,0,197,214,200,214,204,214,209,214,212,214,215,214,217,214,224,214,228,214,232,214,240,214,245,214,252,214,45,0,253,214,0,215,4,215,17,215,24,215,45,0,25,215,28,215,32,215,40,215,45,0,41,215,43,215,45,215,52,215,45,0,53,215,56,215,60,215,68,215,71,215,73,215,80,215,45,0,81,215,84,215,86,215,45,0,89,215,96,215,45,0,97,215,99,215,101,215,105,215,108,215,112,215,116,215,124,215,45,0,125,215,129,215,136,215,45,0,137,215,140,215,144,215,152,215,45,0,153,215,155,215,157,215,93,0,93,0,38,0,0,172,60,0,60,0,42,0,61,79,115,79,71,80,249,80,160,82,239,83,117,84,229,84,9,86,193,90,182,91,135,102,182,103,183,103,239,103,76,107,194,115,194,117,60,122,219,130,4,131,87,136,136,136,54,138,200,140,207,141,251,142,230,143,213,153,238,78,162,80,150,84,255,84,119,87,138,91,157,101,142,105,159,106,200,115,51,123,30,128,56,130,109,132,12,139,38,0,1,172,60,0,60,0,42,0,59,82,116,83,4,84,106,96,100,97,188,107,207,115,26,129,186,137,210,137,163,149,123,83,175,84,198,87,9,100,241,100,119,104,38,0,4,172,60,0,60,0,42,0,131,79,10,82,190,88,120,89,230,89,114,94,121,94,199,97,192,99,70,103,236,103,127,104,151,111,78,118,11,119,245,120,8,122,255,122,33,124,157,128,110,130,113,130,235,138,147,149,88,80,115,97,30,104,166,105,149,115,198,121,27,131,78,136,118,141,192,143,102,159,38,0,8,172,60,0,60,0,42,0,107,78,157,85,247,102,52,110,163,120,237,122,91,132,16,137,78,135,168,151,118,86,108,105,248,121,175,127,13,136,161,157,38,0,16,172,60,0,60,0,42,0,216,82,78,87,42,88,76,93,31,97,190,97,33,98,98,101,209,103,68,106,27,110,24,117,179,117,227,118,176,119,58,125,175,144,81,148,82,148,149,159,105,87,243,87,65,93,7,95,168,97,188,100,63,107,91,107,212,108,230,109,137,111,217,119,87,143,99,145,123,158,38,0,17,172,60,0,60,0,42,0,35,83,172,92,50,117,219,128,64,146,152,149,208,151,38,0,21,172,60,0,60,0,42,0,91,82,8,88,220,89,161,92,23,93,183,94,58,95,74,95,119,97,95,108,122,117,134,117,224,124,115,125,177,125,140,127,84,129,33,130,145,133,65,137,27,139,252,146,77,150,71,156,139,80,245,80,195,88,252,95,91,98,96,103,127,106,173,107,252,119,69,122,72,126,97,127,151,127,171,127,51,131,71,140,193,151,38,0,28,172,60,0,60,0,42,0,203,78,247,78,11,80,241,81,79,88,55,97,62,97,104,97,57,101,234,105,17,111,165,117,134,118,214,118,135,123,165,130,203,132,167,147,139,149,116,82,3,83,233,99,233,105,160,115,213,120,211,149,38,0,29,172,60,0,60,0,42,0,128,85,162,91,38,0,49,172,60,0,60,0,42,0,81,87,179,124,185,127,92,120,225,140,215,147,38,0,57,172,60,0,60,0,181,145,38,0,112,172,60,0,60,0,42,0,40,80,187,83,69,92,232,93,210,98,110,99,218,100,231,100,32,110,172,112,91,121,221,141,30,142,125,144,69,146,248,146,127,84,27,102,236,121,101,123,103,124,224,128,82,129,227,130,146,131,86,133,39,134,170,136,254,136,207,153,38,0,116,172,60,0,60,0,42,0,126,78,246,78,101,80,254,93,250,94,6,97,87,105,113,129,84,134,71,142,117,147,43,154,245,99,141,114,119,119,48,137,7,139,172,151,38,0,120,172,60,0,60,0,42,0,94,78,145,80,112,103,64,104,108,78,5,103,164,105,38,0,128,172,60,0,60,0,42,0,9,81,141,82,146,82,162,106,188,119,16,146,212,158,191,100,161,130,38,0,129,172,60,0,60,0,42,0,171,82,47,96,242,143,38,82,39,82,38,0,140,172,60,0,60,0,42,0,72,80,169,97,237,99,38,0,169,172,60,0,60,0,42,0,202,100,60,104,132,106,192,111,136,129,161,137,148,150,12,99,196,107,195,149,188,154,50,155,3,157,38,0,172,172,60,0,60,0,42,0,5,88,125,114,172,114,4,117,121,125,109,126,169,128,139,137,116,139,99,144,81,157,43,106,247,114,78,117,103,123,51,126,126,126,130,127,50,136,57,156,38,0,176,172,60,0,60,0,42,0,137,98,122,108,84,111,80,125,58,127,35,138,166,115,214,137,203,149,38,0,184,172,60,0,60,0,42,0,124,81,74,97,157,123,25,139,87,146,140,147,148,80,219,85,146,92,209,98,73,107,17,126,185,132,218,158,56,159,38,0,189,172,60,0,60,0,42,0,172,78,211,79,30,80,190,80,6,81,193,82,205,82,127,83,112,87,131,88,154,94,145,95,118,97,172,97,206,100,108,101,111,102,187,102,244,102,151,104,135,109,133,112,241,112,159,116,165,116,202,116,217,117,108,120,236,120,223,122,246,122,69,125,147,125,21,128,63,128,27,129,150,131,102,139,21,143,21,144,225,147,3,152,56,152,90,154,232,155,143,81,68,82,253,84,248,96,188,97,67,98,160,106,98,113,45,113,178,113,74,117,248,122,134,125,72,152,68,127,39,137,38,139,201,153,193,155,229,158,38,0,196,172,60,0,60,0,42,0,194,79,83,85,58,88,81,89,99,91,70,92,184,96,18,98,66,104,176,104,232,104,170,110,76,117,120,118,206,120,61,122,251,124,107,126,124,126,8,138,161,138,63,140,142,150,196,157,38,88,211,112,8,118,138,121,83,123,174,125,24,126,125,127,106,132,138,133,222,150,251,154,38,0,224,172,60,0,60,0,42,0,228,83,233,83,74,84,113,84,250,86,209,89,100,91,59,92,171,94,247,98,55,101,69,101,114,101,160,102,175,103,193,105,189,108,252,117,144,118,126,119,63,122,148,127,3,128,161,128,143,129,230,130,253,130,240,131,193,133,49,136,180,136,165,138,156,143,46,147,199,150,103,152,216,154,19,159,48,79,197,81,51,82,89,88,114,103,50,104,192,105,249,105,220,106,111,114,139,118,236,118,189,119,1,122,141,123,217,123,213,124,95,127,150,127,250,127,239,128,218,137,65,138,220,144,100,145,55,146,96,151,35,157,241,157,38,0,225,172,60,0,60,0,42,0,237,84,155,101,242,102,143,104,64,122,55,140,96,157,179,86,242,105,32,126,243,137,66,143,38,0,228,172,60,0,60,0,42,0,240,86,100,87,17,93,6,102,177,104,205,104,254,110,40,116,158,136,228,155,3,88,16,93,131,96,70,99,196,125,110,136,205,136,12,137,21,147,171,149,225,154,126,157,164,157,107,159,38,0,232,172,60,0,60,0,42,0,104,108,168,154,48,100,190,105,251,119,187,157,38,0,245,172,60,0,60,0,42,0,155,79,108,81,113,81,159,82,84,91,229,93,80,96,109,96,241,98,167,99,59,101,217,115,122,122,163,134,162,140,143,151,37,80,6,93,190,96,49,104,211,105,156,123,233,134,236,134,27,141,235,141,237,145,148,159,38,0,246,172,60,0,60,0,50,78,38,0,252,172,60,0,60,0,42,0,225,91,8,98,156,103,220,116,209,121,211,131,135,138,178,138,232,141,78,144,75,147,70,152,137,79,29,88,37,89,56,89,190,100,19,115,30,122,160,122,76,135,249,136,29,142,153,146,13,154,38,0,253,172,60,0,60,0,42,0,211,94,232,105,255,133,237,144,1,105,104,118,169,142,13,151,185,151,38,0,0,173,60,0,60,0,42,0,160,81,152,91,236,91,99,97,250,104,62,107,76,112,47,116,216,116,161,123,80,127,197,131,192,137,171,140,220,149,40,153,49,78,171,109,31,114,229,118,124,121,190,122,102,123,176,125,40,143,39,147,117,148,218,150,116,152,214,154,27,158,38,0,4,173,60,0,60,0,42,0,46,82,93,96,236,98,2,144,120,79,29,104,72,123,82,128,250,154,48,157,38,0,17,173,60,0,60,0,42,0,138,79,73,81,33,83,217,88,227,94,224,102,56,109,154,112,194,114,214,115,80,123,241,128,91,148,71,96,68,104,70,104,12,114,119,115,250,120,86,125,138,126,42,131,134,138,145,138,38,0,24,173,60,0,60,0,42,0,102,83,155,99,107,127,188,84,2,99,99,127,127,138,38,0,52,173,60,0,60,0,42,0,86,78,128,80,74,88,222,88,42,96,39,97,208,98,208,105,65,155,191,90,229,94,96,96,112,116,157,116,175,132,88,137,38,0,53,173,60,0,60,0,152,153,38,0,73,173,60,0,60,0,42,0,143,91,24,125,177,128,95,143,100,109,229,137,7,138,142,149,38,0,80,173,60,0,60,0,42,0,164,78,209,80,172,84,172,85,12,91,160,93,231,93,42,101,78,101,33,104,75,106,225,114,142,118,239,119,94,125,249,127,160,129,78,133,223,134,3,143,78,143,202,144,3,153,85,154,171,155,124,79,4,86,16,86,109,86,153,86,227,89,141,97,159,100,72,102,158,102,183,105,253,120,150,122,171,141,123,142,120,146,185,154,65,157,105,159,38,0,108,173,60,0,60,0,42,0,24,78,69,78,93,78,199,78,241,79,119,81,254,82,64,83,227,83,229,83,142,84,20,86,117,87,162,87,199,91,135,93,208,94,252,97,216,98,81,101,184,103,233,103,203,105,80,107,198,107,236,107,66,108,157,110,120,112,215,114,150,115,3,116,191,119,233,119,118,122,127,125,9,128,252,129,5,130,10,130,223,130,98,136,51,139,252,140,192,142,17,144,177,144,100,146,182,146,210,153,69,154,233,156,215,157,156,159,73,79,93,79,197,79,180,80,147,81,172,82,54,83,185,83,244,83,120,87,228,89,190,90,215,90,104,92,163,92,64,95,53,98,99,98,68,99,6,100,115,100,43,102,152,105,26,111,134,116,12,117,154,117,192,117,111,118,155,122,182,122,221,123,215,124,202,128,159,132,175,134,216,136,175,137,108,138,88,144,230,145,221,151,237,151,238,151,182,152,200,153,46,155,199,157,28,158,38,0,109,173,60,0,60,0,42,0,11,87,64,92,202,131,160,151,171,151,180,158,10,83,172,99,252,141,175,158,38,0,112,173,60,0,60,0,42,0,27,84,152,122,164,127,217,136,205,142,225,144,67,99,126,104,184,118,38,0,116,173,60,0,60,0,42,0,0,88,72,92,152,99,159,122,20,80,27,93,200,109,88,138,38,0,129,173,60,0,60,0,42,0,174,91,19,95,121,122,174,122,142,130,172,142,179,142,38,0,140,173,60,0,60,0,42,0,38,80,56,82,248,82,119,83,8,87,243,98,114,99,10,107,195,109,55,119,204,82,211,96,236,104,96,119,163,125,55,135,38,0,144,173,60,0,60,0,42,0,165,83,87,115,104,133,118,142,213,149,38,0,164,173,60,0,60,0,42,0,58,103,195,106,112,111,109,138,204,142,75,153,121,79,224,81,130,82,49,83,146,97,133,100,59,106,63,108,11,124,98,126,234,141,224,149,61,153,130,158,38,0,192,173,60,0,60,0,42,0,119,102,120,107,180,140,60,155,38,0,220,173,60,0,60,0,42,0,235,83,45,87,78,89,198,99,251,105,234,115,69,120,186,122,197,122,254,124,117,132,143,137,115,141,53,144,168,149,50,82,226,90,0,91,203,93,140,102,79,105,27,106,89,111,125,119,250,124,108,134,111,134,236,141,189,144,218,149,13,152,151,153,38,0,224,173,60,0,60,0,42,0,251,82,71,87,71,117,96,123,204,131,30,146,247,86,143,158,38,0,228,173,60,0,60,0,88,106,38,0,249,173,60,0,60,0,42,0,75,81,75,82,135,82,31,98,216,104,117,105,153,150,159,78,5,92,80,92,196,144,38,0,252,173,60,0,60,0,42,0,197,80,164,82,228,82,195,97,164,101,57,104,255,105,126,116,75,123,185,130,235,131,178,137,57,139,209,143,73,153,122,83,170,83,144,88,249,93,209,94,12,111,212,137,223,141,255,145,115,151,38,0,8,174,60,0,60,0,42,0,202,78,151,89,210,100,17,102,142,106,52,116,129,121,189,121,169,130,126,136,127,136,95,137,38,147,43,85,100,86,148,93,18,123,197,158,38,0,9,174,60,0,60,0,42,0,11,79,202,83,37,96,113,98,114,108,26,125,102,125,62,87,140,92,128,118,15,121,8,123,168,130,38,0,13,174,60,0,60,0,42,0,152,78,98,81,220,119,175,128,153,78,145,107,38,0,48,174,60,0,60,0,42,0,1,79,14,79,118,81,128,81,220,85,104,86,59,87,250,87,252,87,20,89,71,89,147,89,196,91,144,92,14,93,241,93,126,94,204,95,128,98,215,101,227,101,30,103,31,103,94,103,203,104,196,104,95,106,58,107,35,108,125,108,130,108,199,109,152,115,38,116,42,116,130,116,163,116,120,117,127,117,129,120,239,120,65,121,71,121,72,121,122,121,149,123,0,125,186,125,136,127,6,128,45,128,140,128,24,138,79,139,72,140,119,141,33,147,36,147,226,152,81,153,14,154,15,154,101,154,146,158,219,80,94,82,141,88,122,92,139,94,3,95,238,95,45,97,142,99,50,101,194,101,163,102,193,102,202,104,103,107,129,112,9,115,168,121,165,125,166,125,135,127,181,128,170,130,176,130,4,134,65,134,29,135,227,135,137,137,172,137,194,141,145,150,14,152,16,155,45,156,214,158,38,0,52,174,60,0,60,0,202,125,38,0,56,174,60,0,60,0,42,0,118,79,9,84,238,98,84,104,222,89,227,134,38,0,64,174,60,0,60,0,209,145,38,0,125,176,60,0,60,0,171,85,38,0,152,176,60,0,60,0,42,0,58,81,28,90,230,97,207,98,255,98,163,144,16,99,42,99,155,104,229,124,239,124,38,0,153,176,60,0,60,0,254,138,38,0,156,176,60,0,60,0,42,0,150,102,86,113,227,150,68,80,87,113,103,141,42,153,38,0,160,176,60,0,60,0,42,0,79,99,122,99,38,0,168,176,60,0,60,0,42,0,87,83,143,103,96,105,115,110,55,117,131,85,223,103,38,0,169,176,60,0,60,0,42,0,13,125,114,136,38,0,173,176,60,0,60,0,42,0,202,86,24,90,233,102,38,0,180,176,60,0,60,0,42,0,67,78,103,81,72,89,240,103,16,128,2,83,118,89,45,91,250,143,16,159,38,0,64,177,60,0,60,0,115,89,38,0,65,177,60,0,60,0,196,96,38,0,68,177,60,0,60,0,42,0,116,94,154,100,202,121,190,120,38,0,80,177,60,0,60,0,42,0,245,95,108,96,200,98,123,99,38,0,85,177,60,0,60,0,42,0,231,91,215,91,94,79,28,81,128,86,216,111,38,0,120,177,60,0,60,0,42,0,170,82,116,89,41,95,18,96,89,116,209,153,118,84,101,91,241,92,49,115,47,123,209,129,38,0,141,177,60,0,60,0,42,0,195,111,191,129,178,143,2,81,101,86,96,122,178,145,38,0,204,177,60,0,60,0,42,0,241,96,102,129,18,153,38,0,232,177,60,0,60,0,42,0,63,92,203,90,50,91,214,109,224,120,202,136,3,148,38,0,4,178,60,0,60,0,42,0,66,85,40,128,38,0,8,178,60,0,60,0,233,90,38,0,12,178,60,0,60,0,42,0,37,138,54,84,173,128,38,0,116,178,60,0,60,0,42,0,123,103,16,125,248,95,117,151,38,0,117,178,60,0,60,0,68,136,38,0,165,178,60,0,60,0,253,128,38,0,200,178,60,0,60,0,42,0,60,92,229,108,98,84,41,96,197,103,98,121,176,121,169,129,38,0,201,178,60,0,60,0,42,0,63,83,186,110,53,102,177,102,38,0,228,178,60,0,60,0,42,0,26,89,54,131,57,114,38,0,232,178,60,0,60,0,42,0,57,78,182,78,70,79,174,85,24,87,199,88,86,95,183,101,230,101,128,106,181,107,77,110,237,119,239,122,30,124,222,125,203,134,146,136,50,145,91,147,113,97,197,98,52,105,25,111,73,118,17,128,198,128,118,129,17,135,38,0,236,178,60,0,60,0,42,0,187,100,190,111,122,115,184,117,84,144,178,89,27,96,229,149,124,151,195,151,38,0,244,178,60,0,60,0,42,0,86,85,77,87,186,97,212,100,199,102,225,109,91,110,109,111,185,111,240,117,67,128,189,129,65,133,131,137,199,138,90,139,31,147,11,81,87,85,73,86,176,88,220,88,239,107,171,121,78,127,157,133,239,144,238,158,245,158,38,0,245,178,60,0,60,0,42,0,147,108,83,117,84,123,15,142,93,144,38,0,249,178,60,0,60,0,42,0,16,85,2,88,88,88,98,94,7,98,158,100,224,104,118,117,214,124,179,135,232,158,24,80,59,81,90,81,42,100,148,106,143,110,109,116,171,116,160,119,17,121,247,135,96,137,156,139,220,147,58,148,51,153,57,153,38,0,0,179,60,0,60,0,42,0,227,78,136,87,110,87,39,89,13,92,177,92,54,94,133,95,52,98,225,100,179,115,250,129,139,136,184,140,138,150,219,158,19,81,223,97,242,101,79,108,147,120,19,148,38,0,1,179,60,0,60,0,133,91,38,0,85,179,60,0,60,0,42,0,183,95,179,96,38,0,196,179,60,0,60,0,42,0,18,80,0,82,48,82,22,87,53,88,87,88,14,92,96,92,246,92,139,93,166,94,146,95,188,96,17,99,137,99,23,100,67,104,249,104,194,106,216,109,33,110,212,110,228,111,254,113,220,118,121,119,177,121,59,122,4,132,169,137,237,140,243,141,72,142,3,144,20,144,83,144,253,144,77,147,118,150,220,151,232,83,212,88,34,95,201,95,70,97,143,99,47,100,227,100,174,106,46,109,130,109,12,122,223,131,116,145,205,149,128,151,177,151,85,153,23,159,38,0,197,179,60,0,60,0,42,0,210,107,6,112,88,114,162,114,104,115,99,119,191,121,228,123,155,126,128,139,221,106,247,158,38,0,200,179,60,0,60,0,42,0,169,88,199,96,102,101,253,101,190,102,140,108,30,113,201,113,90,140,19,152,52,95,97,111,137,142,38,0,204,179,60,0,60,0,42,0,109,78,129,122,132,84,23,88,38,0,217,179,60,0,60,0,42,0,221,78,172,81,205,81,213,82,12,84,167,97,113,103,80,104,223,104,30,109,124,111,188,117,179,119,229,122,244,128,99,132,133,146,151,79,238,80,195,84,140,87,210,92,100,95,35,103,102,106,183,109,95,130,243,130,60,131,107,133,64,135,44,147,151,155,38,0,80,180,60,0,60,0,42,0,92,81,151,101,92,103,147,103,216,117,199,122,115,131,70,140,23,144,45,152,150,98,129,101,154,128,48,129,170,134,57,136,97,150,38,0,84,180,60,0,60,0,42,0,111,92,192,129,154,130,65,144,111,144,13,146,128,122,205,143,38,0,88,180,60,0,60,0,103,78,38,0,221,180,60,0,60,0,151,95,38,0,241,180,60,0,60,0,42,0,157,93,89,106,200,113,123,118,73,123,228,133,4,139,39,145,48,154,243,81,177,88,213,110,244,120,80,124,34,126,163,135,25,148,38,0,124,183,60,0,60,0,42,0,135,85,246,97,105,118,133,127,63,134,186,135,248,136,143,144,46,80,201,86,234,102,48,118,34,120,221,129,124,148,62,154,88,154,38,0,125,183,60,0,60,0,42,0,27,109,217,112,222,115,97,125,61,132,106,145,241,153,224,85,150,114,38,0,128,183,60,0,60,0,42,0,130,78,117,83,4,107,18,107,62,112,27,114,45,134,30,158,62,91,113,94,20,101,83,112,116,137,126,148,204,149,38,0,132,183,60,0,60,0,42,0,76,82,163,143,210,87,162,143,38,0,140,183,60,0,60,0,42,0,80,93,229,100,44,101,22,107,235,111,67,124,156,126,205,133,100,137,189,137,106,90,207,96,38,0,141,183,60,0,60,0,42,0,201,98,216,129,31,136,94,148,38,0,145,183,60,0,60,0,42,0,202,94,23,103,106,109,252,114,5,116,111,116,130,135,222,144,148,105,96,120,2,122,168,131,11,135,172,149,38,0,152,183,60,0,60,0,42,0,134,79,13,93,160,95,10,132,246,109,11,154,38,0,173,183,60,0,60,0,183,81,38,0,181,183,60,0,60,0,42,0,160,99,101,117,103,117,38,0,201,183,60,0,60,0,42,0,174,78,6,80,105,81,201,81,129,104,17,106,174,124,177,124,231,124,111,130,210,138,27,143,207,145,168,85,162,96,11,105,188,109,9,142,78,155,38,0,36,184,60,0,60,0,42,0,182,79,55,81,245,82,66,84,236,94,110,97,62,98,197,101,218,106,254,111,42,121,220,133,35,136,173,149,98,154,106,154,151,158,206,158,34,81,178,83,51,85,160,104,88,118,242,124,130,129,218,129,33,136,140,144,98,148,38,0,37,184,60,0,60,0,42,0,155,82,198,102,119,107,29,112,43,121,98,143,66,151,10,101,223,106,234,106,103,118,99,143,72,145,38,0,40,184,60,0,60,0,42,0,144,97,0,98,35,101,35,111,73,113,137,116,244,125,111,128,238,132,38,143,35,144,74,147,76,91,93,105,69,110,224,129,200,147,10,156,49,156,38,0,44,184,60,0,60,0,42,0,189,81,23,82,163,82,12,109,200,112,194,136,18,99,105,99,178,152,38,0,52,184,60,0,60,0,42,0,201,94,130,101,174,107,194,111,62,124,105,89,50,112,207,120,38,0,53,184,60,0,60,0,42,0,117,115,144,142,35,155,38,0,57,184,60,0,60,0,42,0,228,78,54,79,249,86,186,92,186,93,28,96,178,115,45,123,154,127,206,127,70,128,30,144,52,146,246,150,72,151,24,152,97,159,230,83,100,84,200,89,173,92,36,102,30,107,224,108,226,121,211,130,201,134,232,142,18,157,119,158,38,0,64,184,60,0,60,0,42,0,139,79,167,111,174,121,180,145,183,150,184,150,103,156,38,0,92,184,60,0,60,0,42,0,222,82,136,100,196,100,211,106,94,111,24,112,16,114,231,118,1,128,6,134,92,134,239,141,5,143,50,151,111,155,250,157,117,158,218,88,247,110,136,115,70,118,130,122,106,130,107,130,100,143,42,148,106,148,113,152,215,154,120,156,21,158,38,0,93,184,60,0,60,0,42,0,140,120,127,121,160,125,201,131,4,147,127,158,147,158,37,87,84,95,229,109,9,111,15,124,70,143,4,154,38,0,96,184,60,0,60,0,214,138,38,0,113,184,60,0,60,0,42,0,223,88,4,95,39,103,39,112,207,116,96,124,126,128,49,81,15,101,232,102,49,121,34,134,180,150,142,159,38,0,176,184,60,0,60,0,42,0,33,81,40,112,98,114,202,120,194,140,218,140,244,140,247,150,2,101,12,121,39,121,95,124,135,126,77,127,18,128,126,133,132,138,121,145,66,152,38,0,204,184,60,0,60,0,42,0,134,78,218,80,238,91,214,94,153,101,206,113,66,118,173,119,74,128,252,132,124,144,39,155,57,86,253,90,169,100,184,102,102,111,96,115,90,126,139,129,170,145,16,148,194,152,201,152,38,0,225,184,60,0,60,0,42,0,141,159,146,159,38,0,232,184,60,0,60,0,42,0,216,88,65,90,98,92,19,106,218,109,15,111,59,118,47,125,55,126,30,133,56,137,228,147,75,150,194,80,13,86,129,93,122,97,44,128,187,135,207,154,38,0,88,185,60,0,60,0,42,0,137,82,210,101,243,103,180,105,65,109,156,110,15,112,9,116,96,116,89,117,36,118,107,120,44,139,94,152,74,106,50,126,141,126,91,144,185,157,38,0,89,185,60,0,60,0,42,0,109,81,46,98,120,150,224,82,38,0,92,185,60,0,60,0,42,0,150,79,43,80,25,93,234,109,184,125,42,143,132,99,38,0,96,185,60,0,60,0,42,0,139,95,68,97,23,104,66,93,167,110,38,0,109,185,60,0,60,0,42,0,134,150,67,118,191,122,38,0,117,185,60,0,60,0,42,0,210,82,139,128,208,108,38,0,132,185,60,0,60,0,42,0,220,81,219,81,233,94,159,111,38,0,137,185,60,0,60,0,42,0,204,81,94,105,28,122,190,125,241,131,117,150,48,80,6,133,38,0,172,185,60,0,60,0,42,0,218,79,41,82,152,83,15,84,14,85,101,92,167,96,78,103,168,104,108,109,129,114,248,114,6,116,131,116,226,117,108,124,121,127,184,127,137,131,207,136,225,136,204,145,208,145,226,150,201,155,208,79,122,82,233,84,224,90,150,109,19,111,187,121,133,131,10,135,173,135,141,140,144,144,81,155,208,158,38,0,176,185,60,0,60,0,42,0,29,84,126,111,208,113,152,116,250,133,170,142,163,150,87,156,159,158,153,93,139,96,92,115,247,120,166,124,188,124,87,126,153,142,84,143,48,145,251,147,78,154,38,0,188,185,60,0,60,0,42,0,151,103,203,109,51,116,232,129,22,151,243,117,38,0,189,185,60,0,60,0,42,0,44,120,203,122,32,123,146,124,166,92,38,0,200,185,60,0,60,0,42,0,105,100,106,116,242,117,188,120,232,120,172,153,84,155,187,158,152,82,189,90,158,135,199,135,189,158,191,158,38,0,201,185,60,0,60,0,42,0,222,91,85,94,32,111,156,129,171,131,136,144,153,119,204,147,38,0,204,185,60,0,60,0,42,0,7,78,77,83,41,90,210,93,78,95,98,97,61,99,105,102,252,102,255,110,43,111,99,112,158,119,44,132,19,133,59,136,19,143,69,153,59,156,129,88,218,90,84,94,53,126,62,139,99,142,203,147,221,147,24,155,38,0,208,185,60,0,60,0,42,0,28,85,185,98,43,103,171,108,9,131,106,137,122,151,21,94,227,121,38,0,221,185,60,0,60,0,42,0,161,78,132,89,216,95,217,95,27,103,178,125,84,127,146,130,43,131,189,131,30,143,153,144,216,96,82,108,45,111,190,131,210,135,77,155,38,0,228,185,60,0,60,0,42,0,203,87,185,89,146,90,208,91,39,102,154,103,133,104,207,107,100,113,117,127,183,140,227,140,129,144,69,155,70,84,115,105,172,108,171,115,27,119,250,130,147,131,118,145,9,151,38,0,229,185,60,0,60,0,42,0,8,129,138,140,76,150,64,154,165,158,9,129,131,140,152,140,38,0,249,185,60,0,60,0,42,0,95,91,19,108,27,115,242,118,223,118,12,132,26,81,13,117,63,117,123,134,38,0,113,186,60,0,60,0,42,0,170,81,147,137,78,94,248,124,38,0,116,186,60,0,60,0,42,0,77,81,149,81,201,82,201,104,148,108,4,119,32,119,191,125,236,125,98,151,181,158,219,79,78,110,198,124,220,125,170,158,38,0,120,186,60,0,60,0,42,0,197,110,17,133,254,123,74,136,38,0,133,186,60,0,60,0,42,0,165,81,13,84,125,84,14,102,157,102,39,105,159,110,191,118,145,119,23,131,194,132,159,135,105,145,152,146,244,156,58,109,38,0,140,186,60,0,60,0,130,136,38,0,168,186,60,0,60,0,42,0,174,79,146,81,223,82,198,89,61,94,85,97,120,100,121,100,174,102,208,103,33,106,205,107,219,107,95,114,97,114,65,116,56,119,219,119,23,128,188,130,5,131,0,139,40,139,140,140,148,79,229,89,162,90,235,90,72,96,196,101,131,118,10,119,141,124,226,124,4,128,101,135,202,135,126,146,230,154,38,0,169,186,60,0,60,0,42,0,40,103,144,108,103,114,238,118,102,119,70,122,169,157,233,81,220,130,38,0,176,186,60,0,60,0,42,0,127,107,146,108,38,0,189,186,60,0,60,0,42,0,34,89,38,103,153,132,106,94,222,97,218,102,149,110,219,111,162,119,199,119,104,130,250,150,15,158,38,0,24,187,60,0,60,0,42,0,111,83,147,88,153,89,223,94,207,99,52,102,115,103,58,110,43,115,215,122,215,130,40,147,252,109,7,119,208,133,147,140,38,0,52,187,60,0,60,0,42,0,217,82,235,93,174,97,203,97,10,98,199,98,171,100,224,101,89,105,102,107,203,107,33,113,247,115,93,117,70,126,30,130,2,131,106,133,163,138,191,140,39,151,97,157,27,81,56,86,225,94,180,129,22,154,38,0,53,187,60,0,60,0,42,0,168,88,216,158,63,86,38,0,56,187,60,0,60,0,42,0,17,80,14,82,59,84,79,85,135,101,118,108,10,125,11,125,94,128,138,134,128,149,239,150,1,83,151,96,227,97,134,98,107,99,134,112,138,116,38,0,60,187,60,0,60,0,42,0,255,82,149,108,105,114,38,0,248,187,60,0,60,0,42,0,115,84,154,90,62,92,75,93,76,95,174,95,42,103,182,104,99,105,60,110,68,110,9,119,115,124,142,127,135,133,14,139,247,143,97,151,244,158,185,78,19,90,132,90,186,90,37,95,45,95,73,101,48,112,124,115,220,124,59,126,255,130,60,134,139,158,38,0,252,187,60,0,60,0,42,0,183,92,182,96,13,97,171,97,79,101,251,101,252,101,17,108,239,108,159,115,201,115,225,125,148,149,222,95,223,95,139,102,99,110,205,125,96,127,224,130,169,149,53,156,253,158,38,0,0,188,60,0,60,0,42,0,198,91,28,135,16,139,18,106,245,110,38,0,21,188,60,0,60,0,42,0,93,82,90,83,205,98,15,100,178,100,52,103,56,106,202,108,192,115,158,116,148,123,149,124,27,126,138,129,54,130,132,133,235,143,249,150,193,153,179,78,2,107,84,114,155,147,238,153,198,154,38,0,24,188,60,0,60,0,42,0,52,79,74,83,205,83,219,83,204,98,44,100,0,101,145,101,195,105,238,108,88,111,237,115,84,117,34,118,228,118,252,118,208,120,251,120,44,121,70,125,44,130,224,135,212,143,18,152,239,152,187,90,115,98,43,100,61,101,12,103,214,128,140,135,22,152,38,0,28,188,60,0,60,0,42,0,195,82,212,98,165,100,36,110,81,111,124,118,203,141,177,145,98,146,238,154,67,155,241,84,97,109,22,129,56,146,83,157,38,0,41,188,60,0,60,0,42,0,35,80,141,80,74,87,168,89,40,92,71,94,119,95,63,98,62,101,185,101,193,101,9,102,139,103,156,105,194,110,197,120,33,125,170,128,128,129,43,130,179,130,161,132,140,134,42,138,23,139,166,144,50,150,144,159,255,78,150,83,107,94,172,95,18,100,202,101,134,104,83,114,61,130,131,135,138,147,227,154,116,155,38,0,48,188,60,0,60,0,42,0,13,80,243,79,249,87,152,95,220,98,146,99,111,103,67,110,25,113,195,118,204,128,218,128,244,136,245,136,25,137,224,140,41,143,77,145,106,150,79,87,111,87,82,98,50,116,211,132,38,0,49,188,60,0,60,0,42,0,47,79,112,79,27,94,207,103,34,104,125,118,126,118,68,155,168,124,38,0,136,188,60,0,60,0,42,0,97,94,10,106,105,113,212,113,106,117,65,126,67,133,233,133,220,152,89,126,251,127,176,129,41,134,162,136,38,0,140,188,60,0,60,0,42,0,16,79,79,123,112,127,165,149,67,106,120,127,38,0,148,188,60,0,60,0,42,0,225,81,6,94,181,104,62,108,78,108,219,108,175,114,196,123,3,131,53,123,9,138,191,152,38,0,149,188,60,0,60,0,42,0,213,108,58,116,38,0,189,188,60,0,60,0,42,0,251,80,136,82,193,88,216,100,151,106,167,116,86,118,167,120,23,134,226,149,57,151,215,100,19,117,136,117,94,137,255,157,10,159,38,0,192,188,60,0,60,0,42,0,94,83,1,95,138,139,168,143,175,143,138,144,237,95,131,98,105,124,174,143,65,129,198,140,226,153,191,154,24,157,38,0,196,188,60,0,60,0,42,0,37,82,165,119,73,156,8,159,70,95,233,157,38,0,209,188,60,0,60,0,42,0,25,78,2,80,117,81,91,92,119,94,30,102,58,102,196,103,197,104,179,112,1,117,197,117,201,121,221,122,39,143,32,153,8,154,38,78,64,88,99,125,62,127,248,143,53,146,242,146,124,146,38,0,244,188,60,0,60,0,42,0,221,79,33,88,49,88,246,91,110,102,101,107,17,109,122,110,125,111,228,115,43,117,233,131,220,136,19,137,92,139,20,143,204,79,217,118,32,124,70,132,76,151,7,157,252,158,38,0,245,188,60,0,60,0,42,0,15,79,213,80,16,83,92,83,147,91,169,95,13,103,143,121,121,129,47,131,20,133,7,137,134,137,57,143,59,143,165,153,18,156,163,88,94,94,81,98,238,111,153,123,212,131,96,135,110,135,105,157,38,0,248,188,60,0,60,0,44,103,38,0,252,188,60,0,60,0,118,78,38,0,9,189,60,0,60,0,42,0,248,79,73,89,1,92,239,92,240,92,103,99,210,104,253,112,162,113,43,116,43,126,236,132,2,135,34,144,210,146,243,156,48,78,6,89,247,123,152,125,246,131,12,157,38,0,128,189,60,0,60,0,42,0,13,78,216,78,239,79,133,80,86,82,111,82,38,84,144,84,224,87,43,89,102,90,90,91,117,91,204,91,156,94,118,98,119,101,167,101,110,109,165,110,54,114,38,123,63,124,54,127,80,129,81,129,154,129,64,130,153,130,169,131,3,138,160,140,230,140,251,140,116,141,186,141,232,144,220,145,28,150,68,150,217,153,231,156,198,78,216,79,141,90,148,98,202,98,138,99,116,104,145,105,170,109,158,115,84,121,95,123,88,127,102,127,213,128,163,130,251,130,0,133,168,134,9,135,157,136,210,136,215,141,7,146,43,152,146,155,169,158,38,0,129,189,60,0,60,0,23,83,38,0,132,189,60,0,60,0,42,0,6,82,41,84,116,86,179,88,84,89,110,89,255,95,164,97,110,98,16,102,126,108,26,113,198,118,137,124,222,124,27,125,172,130,193,140,240,150,83,79,76,87,9,94,140,103,251,104,252,104,27,108,83,110,198,111,135,114,90,117,15,120,40,123,166,128,185,129,97,133,82,143,250,158,34,159,38,0,136,189,60,0,60,0,42,0,91,79,23,95,127,95,194,98,170,92,83,121,49,125,116,130,0,131,205,151,244,154,251,158,38,0,149,189,60,0,60,0,42,0,41,93,11,103,218,104,124,120,67,126,108,157,11,88,48,111,5,155,38,0,68,190,60,0,60,0,42,0,21,78,153,80,21,83,42,83,81,83,131,89,98,90,135,94,178,96,138,97,73,98,121,98,144,101,135,103,167,105,212,107,214,107,215,107,216,107,184,108,53,116,250,117,18,120,145,120,213,121,216,121,131,124,203,125,225,127,165,128,62,129,194,129,242,131,26,135,232,136,185,138,108,139,187,140,25,145,94,151,219,152,59,159,243,78,254,79,85,82,46,87,228,87,163,89,65,92,179,94,177,96,208,104,17,105,152,108,221,109,224,109,222,111,201,114,210,114,222,117,249,117,101,119,85,121,230,123,21,125,134,127,83,129,152,130,190,130,6,132,214,132,141,134,148,140,20,141,97,143,179,144,235,144,159,149,116,150,15,151,180,151,17,154,27,154,192,154,25,159,38,0,72,190,60,0,60,0,42,0,172,86,42,91,108,95,140,101,179,106,175,107,92,109,241,111,21,112,93,114,173,115,167,140,211,140,59,152,16,81,239,100,201,119,125,126,207,129,11,134,115,140,160,144,76,148,38,151,112,152,2,155,34,155,38,0,89,190,60,0,60,0,42,0,145,97,55,108,88,128,1,154,176,81,237,81,244,81,9,90,38,0,172,192,60,0,60,0,42,0,77,78,139,78,155,78,213,78,58,79,60,79,127,79,223,79,255,80,242,83,248,83,6,85,227,85,219,86,235,88,98,89,17,90,235,91,250,91,4,92,243,93,43,94,153,95,29,96,104,99,156,101,175,101,246,103,251,103,173,104,123,107,153,108,215,108,35,110,9,112,69,115,2,120,62,121,64,121,96,121,193,121,233,123,23,125,114,125,134,128,13,130,142,131,209,132,199,134,223,136,80,138,94,138,29,139,220,140,102,141,173,143,170,144,252,152,223,153,157,158,158,80,90,82,120,83,139,84,210,89,66,105,173,105,92,108,231,117,182,118,226,122,37,123,55,127,33,135,151,137,219,153,102,155,202,155,36,156,38,0,173,192,60,0,60,0,42,0,74,82,20,103,202,105,13,114,180,132,96,148,38,0,176,192,60,0,60,0,42,0,152,80,42,82,113,92,99,101,85,108,202,115,35,117,157,117,151,123,156,132,120,145,48,151,119,82,205,89,127,91,117,106,120,111,152,111,251,114,86,126,21,138,223,147,138,149,255,107,38,0,180,192,60,0,60,0,42,0,119,78,146,100,186,107,94,113,169,133,38,0,188,192,60,0,60,0,42,0,9,78,73,103,238,104,23,110,159,130,24,133,107,136,221,124,228,145,22,155,38,0,189,192,60,0,60,0,42,0,247,99,129,111,18,146,175,152,69,83,60,85,67,107,227,127,100,147,5,151,14,151,38,0,193,192,60,0,60,0,42,0,10,78,183,80,207,80,31,81,70,85,170,85,23,86,64,91,25,92,224,92,56,94,138,94,160,94,194,94,243,96,81,104,97,106,88,110,61,114,64,114,192,114,248,118,101,121,177,123,212,127,243,136,244,137,115,138,97,140,222,140,28,151,125,88,156,95,76,102,164,107,30,117,215,125,159,147,89,152,58,155,38,0,200,192,60,0,60,0,42,0,94,88,189,116,253,140,19,156,38,0,201,192,60,0,60,0,42,0,199,85,97,122,34,125,114,130,237,105,199,111,18,112,38,0,221,192,60,0,60,0,42,0,114,114,31,117,37,117,25,123,26,119,78,146,38,0,28,193,60,0,60,0,42,0,133,88,251,88,188,93,143,94,182,94,144,95,85,96,146,98,127,99,77,101,145,102,217,102,248,102,22,104,242,104,128,114,94,116,110,123,110,125,214,125,114,127,229,128,18,130,175,133,127,137,147,138,29,144,228,146,205,158,32,159,108,86,127,90,223,99,149,100,81,110,168,111,19,125,33,128,167,130,79,146,38,0,29,193,60,0,60,0,42,0,21,89,109,89,45,94,220,96,20,102,115,102,144,103,80,108,197,109,95,111,243,119,169,120,198,132,203,145,43,147,112,102,253,119,74,129,3,130,37,135,80,146,43,159,38,0,32,193,60,0,60,0,42,0,217,78,202,80,72,81,132,85,11,91,163,91,71,98,126,101,203,101,50,110,125,113,1,116,68,116,135,116,191,116,108,118,170,121,218,125,85,126,168,127,122,129,179,129,57,130,26,134,236,135,117,138,227,141,120,144,145,146,37,148,77,153,174,155,161,88,217,90,31,92,32,92,115,92,3,97,90,107,175,113,69,123,171,125,84,139,113,139,199,147,56,154,83,156,123,156,38,0,36,193,60,0,60,0,42,0,104,83,81,92,84,105,196,108,41,109,43,110,12,130,155,133,59,137,45,138,170,138,234,150,103,159,112,80,159,90,242,99,172,102,7,114,159,120,39,122,50,125,38,0,44,193,60,0,60,0,42,0,97,82,185,102,178,107,150,126,254,135,13,141,131,149,93,150,69,91,184,97,123,100,82,119,107,139,155,146,241,151,38,0,45,193,60,0,60,0,42,0,29,101,137,109,238,113,193,86,254,97,68,112,118,128,161,142,119,148,115,152,38,0,49,193,60,0,60,0,42,0,206,87,211,89,172,91,39,96,250,96,16,98,31,102,95,102,41,115,249,115,219,118,1,119,108,123,86,128,114,128,101,129,160,138,146,145,70,116,2,154,38,0,56,193,60,0,60,0,42,0,22,78,226,82,114,107,23,109,5,122,57,123,48,125,176,140,40,94,18,109,80,126,251,134,38,0,140,193,60,0,60,0,42,0,236,83,47,86,81,88,181,91,15,92,17,92,226,93,64,98,131,99,20,100,45,102,179,104,188,108,136,109,175,110,31,112,164,112,210,113,38,117,143,117,142,117,25,118,17,123,224,123,43,124,32,125,57,125,44,133,109,133,7,134,52,138,13,144,97,144,181,144,183,146,246,151,55,154,75,79,207,79,114,83,201,85,253,87,80,88,44,97,78,99,20,106,221,108,113,123,190,123,69,126,219,127,134,129,88,130,248,134,8,142,101,145,4,151,72,155,185,155,58,156,38,0,141,193,60,0,60,0,42,0,215,79,108,92,95,103,145,109,159,124,140,126,22,139,22,141,31,144,44,109,108,144,38,0,144,193,60,0,60,0,42,0,107,91,253,93,13,100,192,132,92,144,225,152,231,152,241,152,38,0,148,193,60,0,60,0,42,0,135,115,163,122,192,135,38,0,161,193,60,0,60,0,42,0,139,91,154,96,126,103,222,109,31,138,166,138,1,144,12,152,215,103,230,122,6,155,38,0,196,193,60,0,60,0,42,0,55,82,81,112,142,120,150,147,226,96,236,102,99,116,38,0,224,193,60,0,60,0,42,0,112,136,215,145,38,0,24,194,60,0,60,0,42,0,238,79,215,83,253,85,218,86,130,87,253,88,194,90,136,91,171,92,192,92,37,94,1,97,13,98,75,98,136,99,28,100,54,101,120,101,57,106,138,107,52,108,25,109,49,111,231,113,233,114,120,115,7,116,178,116,38,118,97,119,192,121,87,122,234,122,185,124,143,125,172,125,97,126,158,127,41,129,49,131,144,132,218,132,234,133,150,136,176,138,144,139,56,143,66,144,131,144,108,145,150,146,185,146,139,150,167,150,168,150,214,150,0,151,8,152,150,153,211,154,26,155,223,83,46,85,203,94,108,102,179,107,197,108,178,110,201,111,95,119,98,119,141,119,95,121,84,124,58,129,132,129,184,129,142,139,78,140,114,150,188,152,72,153,38,0,25,194,60,0,60,0,42,0,212,83,126,88,25,89,112,91,191,91,209,109,90,111,159,113,33,116,185,116,133,128,253,131,246,79,15,80,53,81,76,90,90,106,76,154,235,157,38,0,28,194,60,0,60,0,42,0,225,93,135,95,170,95,66,96,236,101,18,104,111,105,83,106,137,107,53,109,243,109,227,115,254,118,172,119,77,123,20,125,35,129,28,130,64,131,244,132,99,133,98,138,196,138,135,145,30,147,6,152,180,153,154,79,229,114,249,118,52,119,3,125,171,128,232,153,10,155,137,157,38,0,32,194,60,0,60,0,42,0,12,98,83,136,240,143,101,146,73,125,38,0,45,194,60,0,60,0,42,0,7,93,39,93,105,93,216,131,38,0,108,194,60,0,60,0,42,0,5,80,236,109,32,113,38,0,172,194,60,0,60,0,42,0,95,116,157,129,104,135,113,134,38,0,181,194,60,0,60,0,42,0,213,111,254,98,210,127,54,137,114,137,116,97,160,113,176,150,38,0,185,194,60,0,60,0,42,0,30,78,88,78,231,80,221,82,71,83,127,98,7,102,105,126,5,136,94,150,77,88,25,155,38,0,220,194,60,0,60,0,42,0,141,79,25,83,54,86,203,89,164,90,56,92,78,92,77,92,2,94,17,95,67,96,189,101,47,102,66,102,190,103,244,103,28,115,226,119,58,121,197,127,148,132,205,132,150,137,102,138,105,138,225,138,85,140,122,140,114,80,85,81,174,83,123,85,82,88,221,94,178,103,249,103,140,111,230,125,228,127,223,138,240,138,73,140,195,145,73,147,75,152,38,0,221,194,60,0,60,0,42,0,244,87,212,91,15,95,111,96,237,98,13,105,150,107,92,110,132,113,210,123,85,135,88,139,254,142,223,152,254,152,176,85,179,90,59,104,38,0,224,194,60,0,60,0,42,0,56,79,129,79,225,79,123,84,32,90,184,91,60,97,176,101,104,102,252,113,51,117,94,121,51,125,78,129,227,129,152,131,170,133,206,133,3,135,10,138,171,142,155,143,197,143,194,84,122,86,223,86,250,89,91,108,231,119,36,129,16,141,35,152,234,153,38,0,228,194,60,0,60,0,42,0,49,89,164,91,230,91,137,96,203,135,203,152,38,0,236,194,60,0,60,0,42,0,233,91,11,92,195,95,129,108,241,109,11,112,26,117,175,130,246,138,163,104,111,111,214,113,90,132,20,148,79,156,38,0,237,194,60,0,60,0,42,0,192,78,65,83,187,143,38,0,13,195,60,0,60,0,217,150,38,0,40,197,60,0,60,0,15,108,38,0,68,197,60,0,60,0,42,0,158,78,196,79,82,81,94,85,37,90,232,92,17,98,89,114,189,130,170,131,254,134,89,136,29,138,63,150,197,150,19,153,9,157,93,157,43,78,230,84,63,90,64,90,233,92,180,117,17,120,12,123,211,143,15,147,94,157,38,0,69,197,60,0,60,0,42,0,10,88,179,92,189,93,68,94,225,96,21,97,225,99,2,106,37,110,2,145,84,147,78,152,16,156,119,159,83,80,126,83,162,84,148,85,105,86,109,129,60,132,168,137,228,138,154,157,118,159,38,0,72,197,60,0,60,0,42,0,137,91,184,92,9,99,79,102,72,104,60,119,193,150,141,151,84,152,159,155,73,104,180,114,11,141,8,157,38,0,76,197,60,0,60,0,42,0,161,101,1,139,203,142,188,149,14,86,30,98,224,99,117,122,16,138,79,144,30,152,54,157,38,0,84,197,60,0,60,0,42,0,53,85,169,92,214,93,181,94,151,102,76,118,244,131,199,149,125,85,149,90,83,93,123,102,100,129,74,132,237,132,243,138,55,152,163,153,239,158,38,0,85,197,60,0,60,0,42,0,211,88,188,98,206,114,40,157,38,0,89,197,60,0,60,0,42,0,240,78,46,89,15,96,59,102,131,107,231,121,38,157,108,83,113,87,241,108,206,118,133,151,38,0,96,197,60,0,60,0,42,0,147,83,192,84,195,87,22,93,27,97,214,102,175,109,141,120,126,130,152,150,68,151,254,80,9,85,64,85,111,86,45,90,21,93,40,99,113,99,56,107,4,111,67,115,154,118,90,119,185,119,209,120,25,121,134,133,249,133,73,151,3,154,38,0,97,197,60,0,60,0,42,0,132,83,124,98,150,99,178,109,10,126,75,129,77,152,93,84,57,98,36,100,40,150,38,0,117,197,60,0,60,0,42,0,251,106,76,127,175,157,26,158,182,86,200,90,67,127,234,157,38,0,124,197,60,0,60,0,42,0,95,78,59,80,182,81,28,89,249,96,246,99,48,105,58,114,54,128,206,145,220,87,38,0,125,197,60,0,60,0,42,0,49,95,4,125,229,130,111,132,187,132,229,133,141,142,26,114,180,121,219,123,101,124,112,148,47,156,184,157,160,159,38,0,145,197,60,0,60,0,42,0,111,79,228,88,67,91,89,96,218,99,24,101,109,101,152,102,74,105,35,106,11,109,1,112,108,113,210,117,13,118,179,121,112,122,138,127,68,137,147,139,192,145,125,150,10,153,137,95,62,111,60,112,202,112,98,118,59,119,24,134,48,143,114,148,186,152,100,154,38,0,180,197,60,0,60,0,42,0,4,87,161,95,188,101,1,111,0,118,166,121,158,138,173,153,90,155,108,159,9,87,84,101,228,109,235,152,38,0,181,197,60,0,60,0,42,0,4,81,182,97,145,98,141,106,198,129,118,126,38,0,184,197,60,0,60,0,42,0,67,80,48,88,102,95,9,113,0,138,250,138,191,80,61,83,227,90,158,139,34,145,52,159,57,159,38,0,188,197,60,0,60,0,42,0,124,91,22,134,236,129,38,0,196,197,60,0,60,0,42,0,250,79,60,81,180,86,68,89,169,99,249,109,38,93,127,94,238,102,104,127,131,145,185,149,38,0,197,197,60,0,60,0,42,0,170,93,109,105,171,93,52,145,38,0,208,197,60,0,60,0,42,0,90,96,192,102,38,0,212,197,60,0,60,0,134,81,38,0,236,197,60,0,60,0,42,0,136,78,89,79,130,89,95,107,93,108,181,116,22,121,7,130,69,130,57,131,63,143,93,143,24,153,1,130,38,0,237,197,60,0,60,0,42,0,166,78,223,87,121,95,19,102,171,117,121,126,111,139,6,144,91,154,167,93,204,97,226,109,190,149,38,0,240,197,60,0,60,0,42,0,165,86,39,88,248,89,31,90,180,91,246,94,80,99,59,99,61,105,135,108,191,108,142,109,147,109,245,109,20,111,223,112,54,113,89,113,195,113,213,113,79,120,111,120,117,123,227,125,47,126,77,136,223,142,91,146,246,156,87,81,230,86,207,87,63,91,129,96,190,99,227,102,222,106,55,110,217,129,154,131,53,135,21,136,140,139,240,157,38,0,244,197,60,0,60,0,42,0,133,96,133,109,177,113,177,149,78,86,38,0,252,197,60,0,60,0,42,0,173,83,211,103,142,112,48,113,48,116,118,130,210,130,187,149,229,154,125,158,137,81,105,88,213,97,74,98,191,106,182,106,78,112,105,112,197,145,92,153,88,155,246,158,38,0,253,197,60,0,60,0,42,0,196,102,193,113,73,132,197,102,128,113,23,114,104,151,38,0,1,198,60,0,60,0,42,0,75,88,184,93,113,95,32,102,142,102,121,105,174,105,56,108,243,108,54,110,65,111,218,111,27,112,47,112,80,113,223,113,112,115,91,116,212,116,200,118,78,122,147,126,241,130,96,138,206,143,72,147,25,151,143,84,52,91,48,91,103,109,244,111,109,118,164,120,8,126,17,136,15,141,226,144,250,151,38,0,8,198,60,0,60,0,42,0,66,78,42,80,8,82,225,83,243,102,109,108,202,111,10,115,127,119,98,122,174,130,221,133,2,134,212,136,99,138,125,139,107,140,179,146,19,151,16,152,200,86,219,90,253,98,156,99,152,103,105,115,104,119,150,119,68,126,243,127,197,130,74,133,75,133,137,133,139,134,58,135,226,155,214,157,145,158,38,0,36,198,60,0,60,0,42,0,148,78,13,79,201,79,178,80,72,83,62,84,51,84,218,85,98,88,186,88,103,89,27,90,228,91,159,96,202,97,86,101,255,101,100,102,167,104,90,108,179,111,207,112,172,113,82,115,125,123,8,135,164,138,50,156,7,159,245,78,227,79,20,85,247,85,65,86,44,87,170,90,239,90,228,95,96,97,66,99,89,108,185,122,113,128,35,131,86,137,55,139,195,143,213,143,104,144,202,147,214,147,169,150,65,154,47,159,38,0,37,198,60,0,60,0,42,0,75,92,131,108,68,115,137,115,58,146,38,0,40,198,60,0,60,0,42,0,171,110,101,116,31,118,105,122,21,126,10,134,188,90,77,97,55,102,51,108,133,113,128,133,64,143,158,145,222,151,66,153,46,156,38,0,44,198,60,0,60,0,42,0,64,81,226,85,131,129,38,0,57,198,60,0,60,0,42,0,197,88,193,100,238,116,21,117,112,118,193,127,149,144,205,150,84,153,129,85,241,94,195,110,85,118,186,121,75,127,202,132,221,150,82,152,38,0,64,198,60,0,60,0,42,0,38,110,230,116,169,122,170,122,229,129,217,134,120,135,27,138,199,84,238,86,80,90,153,103,60,109,39,115,138,122,53,132,76,139,38,0,68,198,60,0,60,0,42,0,73,90,140,91,155,91,161,104,0,105,99,109,169,115,19,116,44,116,151,120,233,125,235,127,24,129,85,129,158,131,76,140,46,150,17,152,19,82,184,87,167,89,143,92,232,95,203,96,180,109,204,118,38,0,72,198,60,0,60,0,240,102,38,0,85,198,60,0,60,0,42,0,128,95,250,101,137,103,106,108,139,115,43,92,7,112,236,143,38,0,92,198,60,0,60,0,42,0,45,80,3,90,106,107,238,119,167,90,38,0,120,198,60,0,60,0,42,0,22,89,108,93,205,93,37,115,79,117,78,80,52,93,84,93,40,110,104,113,168,120,200,120,117,128,151,150,38,0,148,198,60,0,60,0,42,0,229,80,249,81,47,88,45,89,150,89,218,89,229,91,162,93,215,98,22,100,147,100,254,100,220,102,72,106,255,113,100,116,136,122,175,122,71,126,94,126,0,128,112,129,239,135,129,137,32,139,89,144,128,144,82,153,96,80,147,85,115,87,157,88,8,91,122,94,173,95,188,95,128,107,134,111,69,121,126,122,133,122,88,133,118,144,194,157,38,0,149,198,60,0,60,0,42,0,126,97,50,107,116,109,31,126,37,137,177,143,189,110,208,132,38,0,169,198,60,0,60,0,42,0,209,79,173,80,151,81,199,82,199,87,137,88,185,91,184,94,66,97,149,105,140,109,103,110,182,110,148,113,98,116,40,117,44,117,115,128,56,131,201,132,10,142,148,147,222,147,155,80,130,91,113,93,117,97,131,97,230,105,103,120,2,130,249,134,52,142,38,0,176,198,60,0,60,0,42,0,142,78,81,79,118,80,42,81,200,83,203,83,243,83,135,91,211,91,36,92,26,97,130,97,244,101,91,114,151,115,64,116,194,118,80,121,145,121,185,121,6,125,189,127,139,130,213,133,94,134,194,143,71,144,245,144,234,145,133,150,232,150,233,150,143,78,180,78,193,79,74,80,1,84,35,88,78,93,189,94,69,103,163,117,241,118,253,122,38,128,48,128,35,139,61,142,93,147,128,158,140,158,114,159,38,0,177,198,60,0,60,0,42,0,214,82,103,95,237,101,49,102,47,104,92,113,54,122,193,144,10,152,224,113,38,0,180,198,60,0,60,0,42,0,145,78,82,106,158,107,144,111,137,113,24,128,184,130,83,133,75,144,149,150,242,150,251,151,242,96,132,108,212,123,28,125,35,151,245,151,38,0,184,198,60,0,60,0,42,0,26,133,49,155,144,78,38,0,197,198,60,0,60,0,42,0,138,113,196,150,38,0,208,198,60,0,60,0,42,0,67,81,159,83,225,84,19,87,18,87,163,87,155,90,196,90,195,91,40,96,63,97,244,99,133,108,57,109,114,110,144,110,48,114,63,115,87,116,209,130,129,136,69,143,96,144,98,150,88,152,27,157,164,81,28,87,108,103,101,105,40,115,169,125,171,130,151,133,63,135,28,139,250,146,53,154,119,157,255,158,38,0,212,198,60,0,60,0,42,0,8,103,138,141,94,146,22,82,164,124,38,0,4,199,60,0,60,0,42,0,77,79,73,80,222,80,113,83,13,87,212,89,1,90,9,92,112,97,144,102,45,110,50,114,75,116,239,125,195,128,14,132,102,132,63,133,95,135,91,136,24,137,2,139,85,144,203,151,79,155,159,85,67,94,82,113,168,113,255,117,115,132,94,136,201,138,54,144,200,149,217,151,225,151,39,153,170,154,38,0,32,199,60,0,60,0,42,0,115,78,145,79,18,81,106,81,47,85,169,85,122,91,165,91,124,94,125,94,190,94,160,96,223,96,8,97,9,97,196,99,56,101,9,103,212,103,218,103,97,105,98,105,185,108,39,109,56,110,225,111,54,115,55,115,92,116,49,117,82,118,173,125,254,129,56,132,213,136,152,138,219,138,237,138,48,142,66,142,74,144,62,144,122,144,73,145,201,145,110,147,152,81,102,84,255,86,221,88,55,94,201,99,191,101,209,108,86,114,9,118,16,118,172,122,179,122,114,124,197,124,204,125,116,129,160,131,85,133,100,133,176,134,180,134,100,135,21,137,137,139,12,144,163,151,170,155,221,158,44,159,165,159,38,0,33,199,60,0,60,0,42,0,9,88,211,107,137,128,178,128,37,81,38,0,36,199,60,0,60,0,42,0,65,81,107,89,57,92,100,111,167,115,228,128,7,141,23,146,143,149,0,102,198,146,38,0,40,199,60,0,60,0,42,0,127,128,79,111,222,119,38,0,53,199,60,0,60,0,42,0,14,98,28,112,104,125,141,135,232,114,38,0,64,199,60,0,60,0,42,0,160,87,105,96,71,97,183,107,190,138,128,146,177,150,44,84,154,86,1,87,189,87,150,97,188,106,181,110,250,114,226,115,110,118,20,138,30,145,87,159,38,0,68,199,60,0,60,0,42,0,89,78,230,156,38,0,76,199,60,0,60,0,42,0,31,84,235,109,45,133,112,150,243,151,238,152,145,85,31,93,213,94,20,97,42,151,38,0,77,199,60,0,60,0,42,0,214,99,227,108,145,144,146,96,57,99,101,109,38,0,81,199,60,0,60,0,42,0,221,81,201,97,186,129,249,157,38,0,88,199,60,0,60,0,42,0,157,79,26,80,0,81,156,91,15,97,255,97,236,100,5,105,197,107,145,117,227,119,169,127,100,130,143,133,251,135,99,136,188,138,112,139,171,145,23,81,210,81,147,82,183,93,57,107,42,111,23,115,18,121,152,135,80,153,38,0,116,199,60,0,60,0,42,0,140,78,229,78,10,79,55,89,232,89,242,93,27,95,91,95,33,96,62,114,229,115,112,117,205,117,251,121,12,128,51,128,132,128,225,130,81,131,189,140,179,140,135,144,244,152,12,153,191,84,104,87,20,92,93,95,46,104,31,109,198,115,17,138,81,138,228,143,182,150,38,0,117,199,60,0,60,0,42,0,55,112,202,118,202,127,204,127,252,127,26,139,11,95,164,113,193,157,38,0,120,199,60,0,60,0,42,0,186,78,193,78,3,82,112,83,189,84,224,86,251,89,197,91,21,95,205,95,110,110,106,125,53,131,147,134,141,138,109,151,119,151,222,78,25,88,36,89,99,90,104,98,36,108,7,109,139,121,126,124,162,130,192,136,38,0,124,199,60,0,60,0,42,0,0,78,90,79,126,79,249,88,229,101,162,110,56,144,176,147,185,153,198,108,252,142,38,0,132,199,60,0,60,0,42,0,251,78,236,88,138,89,217,89,65,96,20,122,79,131,195,140,77,125,125,136,139,146,234,152,38,0,133,199,60,0,60,0,42,0,101,81,68,83,255,94,38,0,137,199,60,0,60,0,42,0,205,78,105,82,85,91,191,130,181,90,38,0,144,199,60,0,60,0,42,0,212,78,58,82,168,84,201,89,255,89,80,91,87,91,92,91,99,96,72,97,203,110,153,112,110,113,134,115,247,116,181,117,193,120,43,125,5,128,234,129,40,131,23,133,201,133,238,138,199,140,204,150,112,84,40,91,86,91,118,91,216,103,218,108,120,114,37,119,38,119,162,124,20,128,254,128,8,131,50,131,191,131,120,134,220,137,62,138,178,140,109,141,161,147,63,152,237,154,147,155,191,157,211,157,38,0,145,199,60,0,60,0,42,0,92,79,250,82,188,86,171,101,40,102,124,112,184,112,53,114,189,125,141,130,76,145,192,150,114,157,157,92,13,96,177,101,222,103,75,108,47,113,179,114,143,120,38,0,148,199,60,0,60,0,42,0,113,91,231,104,152,107,122,111,222,118,87,82,20,98,79,154,38,0,160,199,60,0,60,0,42,0,145,92,171,102,91,111,180,123,42,124,54,136,148,109,92,111,243,111,38,0,161,199,60,0,60,0,42,0,220,150,97,83,195,86,40,119,252,120,77,137,38,0,165,199,60,0,60,0,42,0,8,78,215,78,32,83,52,88,187,88,239,88,108,89,7,92,51,94,132,94,53,95,140,99,178,102,86,103,31,106,163,106,12,107,63,111,70,114,80,115,139,116,224,122,167,124,120,129,223,129,231,129,138,131,108,132,35,133,148,133,207,133,221,136,19,141,172,145,119,149,156,150,189,80,88,89,157,89,25,91,130,93,231,94,21,98,51,111,66,114,52,118,218,124,152,127,7,132,197,136,236,140,35,145,216,147,38,153,158,158,38,0,172,199,60,0,60,0,42,0,141,81,201,84,40,87,176,91,77,98,80,103,61,104,147,104,61,110,211,110,125,112,33,126,193,136,161,140,9,143,75,159,78,159,8,89,61,93,87,98,159,105,126,112,148,126,38,0,193,199,60,0,60,0,42,0,45,114,143,123,205,138,26,147,34,93,25,115,36,116,151,147,38,0,0,200,60,0,60,0,42,0,71,79,78,79,50,81,128,84,208,89,149,94,181,98,117,103,110,105,23,106,174,108,26,110,217,114,42,115,189,117,184,123,53,125,231,130,249,131,87,132,247,133,91,138,175,140,135,142,25,144,184,144,206,150,95,159,129,91,168,92,124,103,226,103,16,108,116,111,38,112,116,114,93,127,157,127,244,130,198,134,155,136,26,137,221,137,70,138,108,140,124,150,38,0,1,200,60,0,60,0,42,0,227,82,10,84,225,90,194,91,88,100,117,101,244,110,196,114,132,118,77,122,27,123,77,124,62,126,223,127,123,131,43,139,202,140,100,141,225,141,95,142,234,143,249,143,105,144,209,147,0,106,231,120,244,124,194,131,191,137,22,144,176,153,38,0,4,200,60,0,60,0,42,0,67,79,122,79,179,80,104,81,120,81,77,82,106,82,97,88,124,88,96,89,8,92,85,92,219,94,155,96,48,98,19,104,191,107,8,108,177,111,78,113,32,116,48,117,56,117,81,117,114,118,76,123,139,123,173,123,198,123,143,126,110,138,62,143,73,143,63,146,147,146,34,147,43,148,251,150,90,152,107,152,30,153,46,84,192,86,229,90,71,92,211,93,41,98,195,99,195,101,52,104,199,105,84,110,182,111,75,114,113,116,14,117,75,117,96,117,202,117,92,118,218,120,91,124,182,127,230,127,70,129,158,129,67,131,148,142,7,143,133,144,61,145,209,146,42,147,91,151,102,151,83,152,230,152,48,153,11,155,99,156,7,158,38,0,8,200,60,0,60,0,42,0,7,82,42,98,152,98,89,109,100,118,202,122,192,123,118,125,138,92,98,102,131,122,38,0,16,200,60,0,60,0,42,0,96,83,190,92,151,94,56,111,185,112,152,124,17,151,142,155,222,158,84,79,138,88,183,115,24,123,31,124,235,130,42,133,197,134,152,137,173,152,207,158,38,0,17,200,60,0,60,0,42,0,165,99,122,100,118,135,4,105,106,105,40,135,213,141,64,142,8,156,38,0,21,200,60,0,60,0,42,0,1,78,149,78,173,78,92,80,117,80,72,84,195,89,154,91,64,94,173,94,247,94,129,95,197,96,58,99,63,101,116,101,204,101,118,102,120,102,254,103,104,105,137,106,99,107,64,108,192,109,232,109,31,110,94,110,30,112,161,112,142,115,253,115,58,117,91,119,135,120,142,121,11,122,125,122,190,124,142,125,71,130,2,138,234,138,158,140,45,145,74,145,216,145,102,146,204,146,32,147,6,151,86,151,92,151,2,152,14,159,66,79,238,83,103,90,119,90,20,96,159,99,111,104,131,104,214,104,111,112,245,115,148,117,115,123,155,131,60,138,73,144,114,145,229,146,90,151,38,0,28,200,60,0,60,0,42,0,54,82,145,82,124,85,36,88,29,94,31,95,140,96,208,99,175,104,223,111,109,121,44,123,205,129,186,133,253,136,248,138,68,142,141,145,100,150,155,150,61,151,76,152,74,159,21,81,35,90,224,100,24,115,69,116,71,119,148,121,10,122,249,125,54,142,79,142,139,142,87,147,132,150,242,151,167,155,247,155,38,0,112,200,60,0,60,0,42,0,206,79,70,81,203,81,169,82,50,86,20,95,107,95,170,99,205,100,233,101,65,102,250,102,249,102,29,103,157,104,215,104,253,105,21,111,110,111,103,113,229,113,42,114,170,116,58,119,86,121,90,121,223,121,32,122,149,122,151,124,223,124,68,125,112,126,135,128,251,133,164,134,84,138,191,138,153,141,129,142,32,144,109,144,227,145,59,150,213,150,229,156,123,79,174,80,1,82,157,83,8,86,106,86,37,91,130,95,198,97,126,98,130,107,161,111,49,116,129,118,103,121,200,122,10,123,217,124,246,124,105,125,91,125,217,128,202,129,90,130,38,133,41,135,130,138,95,139,31,146,154,146,253,146,219,155,112,157,2,159,38,0,113,200,60,0,60,0,42,0,207,101,7,124,179,141,195,147,47,118,38,0,116,200,60,0,60,0,42,0,88,91,10,92,245,98,38,0,120,200,60,0,60,0,42,0,82,83,217,98,29,115,38,0,133,200,60,0,60,0,42,0,39,80,151,91,158,95,176,96,107,97,213,104,217,109,46,116,46,122,66,125,156,125,49,126,107,129,42,142,53,142,126,147,24,148,0,79,82,97,202,103,54,105,5,106,125,116,7,118,189,124,189,135,100,142,38,0,140,200,60,0,60,0,42,0,80,79,80,87,230,93,167,94,43,99,73,82,228,117,157,131,253,154,38,0,196,200,60,0,60,0,106,127,38,0,252,200,60,0,60,0,42,0,59,78,79,79,143,79,90,80,221,89,196,128,106,84,104,84,254,85,79,89,153,91,222,93,218,94,93,102,49,103,241,103,42,104,232,108,50,109,74,110,141,111,183,112,224,115,135,117,76,124,2,125,44,125,162,125,31,130,219,134,59,138,133,138,112,141,138,142,51,143,49,144,78,145,82,145,68,148,208,153,31,78,156,79,20,81,12,92,108,94,196,98,67,120,82,124,152,128,96,129,31,133,192,134,239,136,75,138,217,140,142,141,8,143,82,144,82,146,12,151,20,151,4,159,38,0,253,200,60,0,60,0,42,0,249,122,165,124,38,0,0,201,60,0,60,0,42,0,202,79,1,81,198,81,200,87,239,91,251,92,89,102,61,106,90,109,150,110,236,111,12,113,111,117,227,122,34,136,33,144,117,144,203,150,255,153,66,86,251,87,171,88,247,96,153,100,180,118,167,125,71,127,6,142,114,142,15,148,188,150,21,153,82,156,84,157,38,0,4,201,60,0,60,0,42,0,1,131,124,78,38,0,17,201,60,0,60,0,42,0,45,78,242,78,70,136,205,145,62,119,38,0,137,201,60,0,60,0,42,0,125,83,115,83,158,85,38,0,144,201,60,0,60,0,42,0,219,106,45,154,38,0,153,201,60,0,60,0,42,0,107,105,65,108,122,132,157,106,122,133,38,0,157,201,60,0,60,0,42,0,158,88,142,97,254,102,239,98,221,112,17,117,199,117,82,126,184,132,73,139,8,141,146,93,240,119,126,127,38,0,192,201,60,0,60,0,42,0,75,78,234,83,171,84,48,87,64,87,215,95,1,99,7,99,111,100,47,101,232,101,122,102,157,103,179,103,98,107,96,108,154,108,44,111,229,119,37,120,73,121,87,121,25,125,162,128,2,129,243,129,157,130,183,130,24,135,140,138,4,141,190,141,114,144,123,87,128,88,122,98,176,105,220,108,227,117,234,121,234,123,16,130,31,142,147,142,249,142,47,150,168,155,217,157,38,0,193,201,60,0,60,0,42,0,244,118,25,122,55,122,84,126,119,128,157,121,38,0,196,201,60,0,60,0,42,0,7,85,212,85,117,88,47,99,34,100,73,102,75,102,109,104,155,105,132,107,37,109,177,110,205,115,104,116,161,116,91,117,185,117,225,118,30,119,139,119,230,121,9,126,29,126,251,129,47,133,151,136,58,138,209,140,235,142,176,143,50,144,173,147,99,150,115,150,7,151,178,79,24,81,210,115,57,122,193,132,180,135,129,141,65,146,18,155,38,0,200,201,60,0,60,0,42,0,132,79,241,83,234,89,201,90,25,94,78,104,198,116,190,117,233,121,146,122,163,129,237,134,234,140,204,141,237,143,164,87,112,125,186,132,197,144,85,148,38,0,208,201,60,0,60,0,42,0,159,101,21,103,6,157,38,0,209,201,60,0,60,0,42,0,247,87,87,111,221,125,47,143,246,147,198,150,160,84,34,98,38,0,213,201,60,0,60,0,42,0,181,95,242,97,132,111,130,111,19,112,101,118,170,119,38,0,40,204,60,0,60,0,42,0,20,78,152,79,31,80,201,83,223,85,111,93,238,93,33,107,100,107,203,120,154,123,73,142,202,142,110,144,125,79,86,80,83,89,148,92,163,95,206,105,115,116,104,120,38,0,41,204,60,0,60,0,42,0,73,99,62,100,64,119,132,122,47,147,127,148,106,159,51,98,201,100,178,101,38,0,44,204,60,0,60,0,42,0,176,100,175,111,230,113,168,116,218,116,196,122,18,124,130,126,178,124,152,126,154,139,10,141,125,148,16,153,76,153,39,81,57,81,151,82,209,93,34,101,17,107,40,114,178,141,38,0,48,204,60,0,60,0,42,0,57,82,223,91,230,100,45,103,46,125,78,98,246,98,38,0,56,204,60,0,60,0,42,0,237,80,195,83,121,88,88,97,89,97,250,97,172,101,217,122,146,139,150,139,51,81,197,83,132,93,201,93,90,97,175,97,25,101,231,105,3,107,218,107,86,139,232,147,113,148,94,153,66,154,242,158,38,0,61,204,60,0,60,0,42,0,9,80,33,80,117,82,49,85,60,90,224,94,112,95,52,97,94,101,12,102,54,102,162,102,205,105,196,110,50,111,22,115,33,118,147,122,57,129,89,130,214,131,188,132,0,80,150,80,212,81,49,82,181,96,221,96,39,98,54,100,25,105,5,108,114,116,151,122,187,122,76,142,249,146,6,147,182,149,47,155,172,157,38,0,68,204,60,0,60,0,42,0,181,80,240,87,192,91,232,91,105,95,161,99,38,120,181,125,220,131,33,133,199,145,245,145,204,104,29,131,38,0,69,204,60,0,60,0,42,0,138,81,245,103,86,123,172,140,22,86,88,94,212,120,39,123,0,124,177,134,38,0,152,204,60,0,60,0,42,0,196,81,187,89,189,96,85,134,210,109,11,132,4,137,183,137,234,144,38,0,153,204,60,0,60,0,42,0,28,80,84,82,58,92,125,97,26,98,211,98,242,100,165,101,204,110,32,118,10,129,96,142,95,150,187,150,78,84,103,87,73,88,213,96,87,99,109,100,52,135,214,141,145,142,38,0,156,204,60,0,60,0,42,0,223,78,67,83,152,85,41,89,221,93,197,100,201,108,250,109,148,115,127,122,27,130,166,133,228,140,16,142,119,144,231,145,225,149,33,150,198,151,244,79,41,80,226,80,3,81,10,109,250,111,233,116,70,121,129,124,246,129,138,130,28,131,80,131,168,132,70,133,149,134,191,143,93,151,38,0,160,204,60,0,60,0,42,0,248,81,242,84,134,85,185,95,164,100,136,111,180,125,31,143,77,143,53,148,95,82,92,85,209,87,217,96,135,99,96,107,149,146,35,147,251,152,46,153,38,0,168,204,60,0,60,0,42,0,201,80,22,92,190,108,251,109,27,117,187,119,61,124,100,124,121,138,194,138,104,94,221,95,201,96,144,106,252,106,56,112,55,124,92,137,38,0,169,204,60,0,60,0,42,0,30,88,190,89,22,94,119,99,82,114,138,117,107,119,220,138,188,140,18,143,34,80,107,84,139,85,23,96,58,137,38,0,173,204,60,0,60,0,42,0,243,94,116,102,248,109,125,128,193,131,203,138,81,151,214,155,202,81,10,87,59,135,132,157,38,0,180,204,60,0,60,0,42,0,67,82,255,102,149,109,239,110,224,125,230,138,46,144,94,144,212,154,143,86,88,95,227,104,162,107,12,120,130,132,21,133,94,133,198,142,70,151,240,154,38,0,8,205,60,0,60,0,42,0,29,82,127,82,232,84,148,97,132,98,219,98,162,104,18,105,90,105,53,106,146,112,38,113,93,120,1,121,14,121,210,121,13,122,150,128,120,130,213,130,73,131,73,133,130,140,133,141,98,145,139,145,174,145,98,80,236,80,173,82,230,82,77,86,246,90,167,92,237,92,149,93,10,96,132,96,0,97,106,103,203,113,131,125,22,128,154,138,89,139,160,141,250,142,226,143,20,146,107,147,108,147,152,151,102,152,235,154,230,157,96,159,38,0,9,205,60,0,60,0,42,0,195,79,209,86,237,113,215,119,0,135,248,137,239,102,37,114,218,119,165,133,133,142,209,154,38,0,12,205,60,0,60,0,42,0,248,91,214,95,81,103,168,144,11,84,38,0,29,205,60,0,60,0,42,0,226,83,90,88,245,91,164,96,129,97,96,100,61,126,112,128,37,133,131,146,113,132,239,132,230,147,24,154,68,154,38,0,44,205,60,0,60,0,174,100,38,0,92,205,60,0,60,0,42,0,172,80,20,93,0,103,44,86,103,100,177,105,60,111,128,116,234,120,23,126,39,129,38,0,148,205,60,0,60,0,42,0,156,88,189,98,168,99,14,105,120,105,30,106,107,110,186,118,203,121,187,130,41,132,207,138,168,141,253,143,18,145,75,145,156,145,16,147,24,147,154,147,219,150,54,154,13,156,230,80,126,85,53,90,26,94,198,96,118,99,235,99,37,100,3,117,51,118,157,159,146,123,160,123,9,124,11,126,16,126,173,132,108,150,185,150,166,151,5,154,75,155,12,156,123,157,150,157,181,157,132,158,164,158,38,0,149,205,60,0,60,0,42,0,17,78,92,117,93,121,250,122,81,123,201,123,46,126,196,132,89,142,116,142,248,142,16,144,175,89,51,130,86,140,92,142,0,159,38,0,152,205,60,0,60,0,42,0,37,102,63,105,67,116,38,0,156,205,60,0,60,0,42,0,250,81,46,103,220,158,235,121,38,0,169,205,60,0,60,0,42,0,69,81,224,95,150,108,242,135,93,136,119,136,178,81,225,95,235,115,38,0,204,205,60,0,60,0,42,0,180,96,181,129,3,132,5,141,244,96,227,99,169,117,1,118,71,152,38,0,232,205,60,0,60,0,42,0,214,83,57,84,52,86,54,90,49,92,138,112,224,127,90,128,6,129,237,129,163,141,137,145,95,154,242,157,163,81,71,106,243,107,38,0,33,206,60,0,60,0,42,0,116,80,196,78,160,83,251,96,44,110,193,94,3,102,38,0,53,206,60,0,60,0,100,92,38,0,88,206,60,0,60,0,42,0,136,79,36,80,228,85,217,92,95,94,101,96,148,104,187,108,196,109,190,113,212,117,244,117,97,118,26,122,73,122,199,125,251,125,110,127,244,129,169,134,28,143,201,150,179,153,82,159,110,83,198,84,216,91,245,93,100,117,211,117,122,125,209,131,153,133,43,137,120,140,241,141,25,147,36,150,212,155,25,157,31,157,68,157,38,0,89,206,60,0,60,0,42,0,71,82,197,82,237,152,85,101,38,0,92,206,60,0,60,0,42,0,170,137,236,106,253,133,111,137,84,159,38,0,96,206,60,0,60,0,42,0,3,78,210,103,6,111,38,0,104,206,60,0,60,0,42,0,181,79,226,91,149,103,136,108,120,109,27,116,39,120,221,145,124,147,214,91,241,95,57,105,137,108,244,144,223,146,248,153,38,0,105,206,60,0,60,0,196,135,38,0,109,206,60,0,60,0,42,0,228,121,49,122,38,0,140,207,60,0,60,0,42,0,235,95,114,86,44,89,38,0,192,208,60,0,60,0,42,0,214,78,164,84,62,85,174,88,165,89,240,96,83,98,214,98,54,103,85,105,53,130,64,150,177,153,221,153,87,79,158,87,213,98,193,103,98,106,177,108,107,138,206,141,177,142,222,153,128,155,21,157,9,159,38,0,193,208,60,0,60,0,42,0,44,80,83,83,68,85,124,87,88,98,226,100,107,102,221,103,193,111,239,111,34,116,56,116,23,138,56,148,198,98,80,106,176,108,191,109,250,119,92,124,0,134,20,142,52,144,38,0,196,208,60,0,60,0,42,0,81,84,6,86,102,87,72,95,154,97,78,107,88,112,173,112,187,125,149,138,187,97,36,101,171,107,113,118,82,154,38,0,200,208,60,0,60,0,42,0,106,89,43,129,187,79,38,0,208,208,60,0,60,0,42,0,162,99,8,119,61,128,170,140,255,85,208,95,86,145,38,0,209,208,60,0,60,0,42,0,84,88,45,100,187,105,157,80,76,88,40,100,38,0,213,208,60,0,60,0,42,0,149,91,17,94,111,110,105,133,217,113,234,118,173,120,47,134,38,0,220,208,60,0,60,0,42,0,76,81,240,83,42,89,32,96,75,97,134,107,112,108,240,108,30,123,206,128,212,130,198,141,176,144,177,152,237,87,39,90,97,91,172,98,232,143,196,153,216,153,38,0,221,208,60,0,60,0,42,0,199,100,164,111,38,0,241,208,60,0,60,0,42,0,145,100,144,100,90,114,38,0,48,209,60,0,60,0,4,101,38,0,160,209,60,0,60,0,42,0,78,81,16,84,31,87,14,138,38,0,164,209,60,0,60,0,42,0,75,86,120,86,242,116,38,0,181,209,60,0,60,0,42,0,95,97,118,104,219,117,82,123,113,125,26,144,107,96,11,106,105,123,38,0,244,209,60,0,60,0,42,0,6,88,204,105,127,129,42,137,0,144,57,152,164,150,38,0,44,210,60,0,60,0,42,0,120,80,87,89,172,89,149,98,15,144,42,155,146,89,29,110,176,154,38,0,65,210,60,0,60,0,95,79,38,0,185,210,60,0,60,0,42,0,93,97,121,114,210,95,38,0,200,210,60,0,60,0,214,149,38,0,12,211,60,0,60,0,42,0,97,87,70,90,244,93,138,98,173,100,250,100,119,103,226,108,62,109,44,114,54,116,52,120,119,127,173,130,219,141,23,152,245,83,145,89,165,92,21,96,94,112,56,114,187,115,164,118,6,123,56,124,25,128,224,131,105,132,49,145,38,0,16,211,60,0,60,0,42,0,36,82,66,87,127,103,72,114,227,116,169,140,166,143,17,146,42,150,116,108,38,0,20,211,60,0,60,0,42,0,107,81,237,83,76,99,51,103,67,108,38,0,40,211,60,0,60,0,42,0,105,79,4,85,150,96,87,101,155,108,127,109,76,114,253,114,23,122,135,137,157,140,91,91,198,101,238,115,8,151,56,151,38,0,61,211,60,0,60,0,42,0,109,95,142,111,249,112,168,129,48,120,74,121,218,135,219,135,38,0,69,211,60,0,60,0,14,97,38,0,184,211,60,0,60,0,42,0,191,79,79,80,65,98,71,114,199,123,232,125,233,127,77,144,173,151,25,154,62,83,167,95,252,96,246,125,81,130,57,132,89,135,10,137,222,138,38,0,196,211,60,0,60,0,42,0,182,140,45,120,134,122,38,0,201,211,60,0,60,0,42,0,106,87,115,94,176,103,13,132,85,138,38,96,168,98,217,108,249,130,241,132,131,155,38,0,208,211,60,0,60,0,42,0,32,84,22,91,99,94,226,94,10,95,131,101,186,128,61,133,137,149,91,150,93,101,244,114,88,115,72,118,38,0,236,211,60,0,60,0,42,0,72,79,5,83,13,83,15,83,134,84,250,84,3,87,3,94,22,96,155,98,177,98,85,99,225,108,102,109,177,117,50,120,222,128,47,129,222,130,97,132,178,132,141,136,18,137,11,144,234,146,253,152,145,155,36,81,150,94,97,102,211,102,174,112,176,112,22,130,167,138,75,146,132,151,20,153,198,155,38,0,237,211,60,0,60,0,42,0,69,94,180,102,221,102,17,112,6,114,38,0,92,212,60,0,60,0,42,0,245,79,125,82,106,95,83,97,83,103,25,106,2,111,226,116,104,121,104,136,121,140,199,152,196,152,67,154,196,80,225,82,12,86,214,90,125,100,141,107,155,113,57,126,241,136,226,147,99,148,223,154,62,156,38,0,136,212,60,0,60,0,42,0,193,84,31,122,128,121,38,0,141,212,60,0,60,0,42,0,83,105,247,138,74,140,168,152,174,153,11,118,81,132,38,0,60,213,60,0,60,0,42,0,124,95,171,98,178,117,174,118,171,136,127,144,66,150,86,138,159,143,129,151,242,154,38,0,61,213,60,0,60,0,119,129,38,0,68,213,60,0,60,0,42,0,57,83,60,95,197,95,204,108,204,115,98,117,139,117,70,123,254,130,157,153,86,79,135,84,237,110,243,123,124,127,253,132,241,137,85,142,184,151,224,151,220,153,111,157,38,0,77,213,60,0,60,0,42,0,79,78,60,144,106,80,38,0,88,213,60,0,60,0,42,0,11,78,85,79,166,83,15,89,200,94,48,102,179,108,85,116,119,131,102,135,192,140,80,144,30,151,21,156,64,84,135,86,136,92,215,97,70,113,21,118,69,127,92,147,38,0,89,213,60,0,60,0,42,0,209,88,120,91,80,134,20,139,180,157,226,114,39,118,172,118,110,120,221,144,253,157,38,0,92,213,60,0,60,0,42,0,210,91,104,96,141,96,241,101,87,108,34,111,163,111,26,112,85,127,240,127,145,149,146,149,80,150,211,151,233,80,250,90,251,90,77,99,181,102,136,149,251,153,243,157,62,159,38,0,96,213,60,0,60,0,42,0,114,82,68,143,142,119,38,0,104,213,60,0,60,0,42,0,253,81,43,84,184,84,99,85,138,85,187,106,181,109,216,125,102,130,156,146,119,150,121,158,159,131,225,131,244,138,94,143,222,149,38,0,105,213,60,0,60,0,42,0,8,84,200,84,210,118,228,134,164,149,212,149,92,150,12,83,209,85,217,103,188,105,152,110,205,118,195,144,38,0,109,213,60,0,60,0,42,0,162,78,9,79,238,89,230,90,247,93,82,96,151,98,109,103,65,104,134,108,47,110,56,127,155,128,42,130,5,152,47,89,70,96,149,112,63,127,15,152,38,0,116,213,60,0,60,0,42,0,165,78,85,80,179,84,147,87,90,89,105,91,179,91,200,97,119,105,119,109,35,112,249,135,227,137,114,138,231,138,130,144,237,153,184,154,141,84,176,93,232,94,44,107,108,115,78,116,206,117,164,133,162,145,38,152,173,155,38,0,117,213,60,0,60,0,42,0,190,82,56,104,238,127,136,137,38,0,137,213,60,0,60,0,42,0,22,80,120,94,79,103,71,131,76,136,187,96,38,0,165,213,60,0,60,0,42,0,171,78,17,84,174,86,230,115,21,145,255,151,9,153,87,153,153,153,140,133,38,0,200,213,60,0,60,0,42,0,83,86,159,88,91,134,49,138,84,107,38,0,204,213,60,0,60,0,42,0,178,97,246,106,123,115,210,142,218,93,112,94,7,101,38,0,208,213,60,0,60,0,71,107,38,0,216,213,60,0,60,0,42,0,170,150,87,154,174,93,107,115,129,115,38,0,1,214,60,0,60,0,42,0,85,89,0,114,107,141,105,151,8,95,43,109,49,113,41,155,38,0,4,214,60,0,60,0,42,0,212,79,244,92,38,95,248,97,91,102,235,108,171,112,132,115,185,115,254,115,41,119,77,119,67,125,98,125,35,126,55,130,82,136,226,140,73,146,111,152,7,81,27,91,33,102,4,116,195,117,12,119,111,126,254,127,6,135,162,138,215,146,253,153,38,0,8,214,60,0,60,0,42,0,81,91,116,122,64,136,1,152,92,125,144,141,38,0,16,214,60,0,60,0,204,90,38,0,17,214,60,0,60,0,42,0,224,79,84,83,62,89,253,92,62,99,121,109,249,114,5,129,7,129,162,131,207,146,48,152,39,83,246,83,201,87,74,96,143,96,28,97,203,123,38,0,21,214,60,0,60,0,42,0,168,78,68,81,17,82,139,87,98,95,194,108,206,110,5,112,80,112,175,112,146,113,233,115,105,116,74,131,162,135,97,136,8,144,162,144,163,147,168,153,16,89,25,90,87,138,229,143,88,150,38,0,28,214,60,0,60,0,42,0,110,81,87,95,224,96,103,97,179,102,89,133,74,142,175,145,139,151,146,80,18,86,237,91,175,95,229,105,251,118,17,139,127,139,38,0,56,214,60,0,60,0,42,0,78,78,146,78,124,84,213,88,250,88,125,89,181,92,39,95,54,98,72,98,10,102,103,102,235,107,105,109,207,109,86,110,248,110,148,111,224,111,233,111,93,112,208,114,37,116,90,116,224,116,147,118,92,121,202,124,30,126,225,128,166,130,107,132,191,132,78,134,95,134,116,135,119,139,106,140,172,147,0,152,101,152,43,81,177,81,55,86,237,90,238,90,25,96,141,108,200,110,236,110,146,114,34,115,156,118,158,118,142,123,85,128,144,145,44,153,13,155,38,0,57,214,60,0,60,0,42,0,209,96,22,98,119,145,38,0,60,214,60,0,60,0,42,0,90,90,15,102,247,109,62,110,63,116,66,155,2,87,219,96,183,110,28,113,189,149,38,0,64,214,60,0,60,0,42,0,253,95,218,96,15,123,235,86,38,0,77,214,60,0,60,0,42,0,196,84,24,95,94,108,211,108,42,109,216,112,5,125,121,134,12,138,59,157,78,102,146,111,202,123,119,146,40,155,38,0,84,214,60,0,60,0,42,0,22,83,140,84,5,91,58,106,107,112,117,117,141,121,190,121,177,130,239,131,113,138,65,139,168,140,116,151,240,79,41,86,114,90,237,100,107,117,74,154,162,159,38,0,85,214,60,0,60,0,42,0,244,100,43,101,186,120,187,120,107,122,205,119,225,119,45,121,74,148,38,0,88,214,60,0,60,0,42,0,56,78,154,85,80,89,166,91,123,94,163,96,219,99,97,107,101,102,83,104,25,110,101,113,176,116,8,125,132,144,105,154,37,156,240,91,253,97,208,100,219,116,150,118,70,119,89,125,98,140,88,143,112,147,54,148,31,155,38,0,92,214,60,0,60,0,42,0,59,109,209,110,62,115,65,140,202,149,222,134,38,0,105,214,60,0,60,0,42,0,240,81,76,94,168,95,77,96,246,96,48,97,76,97,67,102,68,102,165,105,193,108,95,110,201,110,98,111,76,113,156,116,135,118,193,123,39,124,82,131,87,135,81,144,141,150,195,158,164,85,147,90,51,96,93,116,147,128,186,140,164,147,38,0,140,214,60,0,60,0,42,0,47,83,222,86,251,94,138,95,98,96,148,96,247,97,102,102,3,103,156,106,238,109,174,111,112,112,106,115,106,126,190,129,52,131,212,134,168,138,196,140,106,79,3,104,4,109,217,110,212,118,124,138,244,143,46,152,96,156,38,0,141,214,60,0,60,0,42,0,131,82,114,115,132,86,38,0,161,214,60,0,60,0,42,0,150,91,107,106,4,148,139,111,28,146,204,158,38,0,168,214,60,0,60,0,42,0,238,84,134,86,93,91,72,101,133,101,201,102,159,104,141,109,198,109,59,114,180,128,117,145,77,154,154,80,194,86,36,93,189,107,135,113,155,118,83,134,26,153,38,0,196,214,60,0,60,0,42,0,175,79,25,80,154,83,14,84,60,84,137,85,197,85,63,94,140,95,61,103,102,113,221,115,5,144,61,84,163,85,149,87,32,88,184,109,52,115,204,123,97,138,67,139,87,145,49,153,38,0,200,214,60,0,60,0,42,0,219,82,243,82,100,88,206,88,4,113,143,113,251,113,176,133,19,138,136,102,219,102,11,114,111,115,129,126,119,132,66,148,38,0,204,214,60,0,60,0,59,107,38,0,217,214,60,0,60,0,168,133,38,0,228,214,60,0,60,0,42,0,167,85,132,102,74,113,49,132,220,112,224,138,252,138,38,0,252,214,60,0,60,0,42,0,73,83,153,85,193,107,236,113,148,130,107,134,122,134,38,0,24,215,60,0,60,0,42,0,89,95,189,95,238,99,137,102,71,113,241,138,29,143,190,158,157,100,236,127,38,0,52,215,60,0,60,0,42,0,17,79,58,100,203,112,102,117,103,134,187,84,213,100,179,150,249,154,66,157,38,0,60,215,60,0,60,0,42,0,100,96,78,139,248,157,121,83,38,0,73,215,60,0,60,0,42,0,71,81,246,81,8,83,54,109,248,128,95,96,247,128,38,0,81,215,60,0,60,0,209,158,38,0,84,215,60,0,60,0,42,0,21,102,35,107,152,112,213,117,136,95,251,95,128,99,46,113,34,138,193,145,38,0,88,215,60,0,60,0,42,0,3,84,121,92,7,125,22,138,225,78,84,108,153,117,196,143,85,159,38,0,96,215,60,0,60,0,42,0,32,107,61,107,70,107,222,94,38,0,97,215,60,0,60,0,42,0,56,84,112,96,61,109,213,127,79,86,89,107,93,111,214,127,38,0,101,215,60,0,60,0,8,130,38,0,108,215,60,0,60,0,42,0,214,80,222,81,156,85,107,86,205,86,236,89,9,91,12,94,153,97,152,97,49,98,94,102,230,102,153,113,185,113,186,113,167,114,167,121,0,122,178,127,165,84,15,85,59,86,149,96,50,98,191,102,55,107,249,113,20,114,104,140,60,153,38,0,144,215,60,0,60,0,42,0,112,138,181,114,136,126,109,137,33,152,224,158,0,0,170,170,170,170,170,170,170,170,98,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,31,1,0,0,68,0,0,0,68,0,0,0,68,0,0,0,84,34,0,0,84,34,0,0,84,34,0,0,84,34,0,0,4,40,0,0,4,40,0,0,74,40,0,0,74,40,0,0,74,40,0,0,50,105,114,84,1,0,64,8,24,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,110,0,118,0,48,0,56,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,150,0,48,0,48,0,48,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,174,0,182,0,190,0,198,0,206,0,214,0,222,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,238,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,241,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,140,0,48,0,48,0,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,249,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,1,1,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,184,1,192,0,212,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,44,0,202,97,44,0,202,130,44,0,202,163,44,0,202,196,44,0,202,229,44,0,202,6,45,0,202,39,45,0,202,72,45,0,202,105,45,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,35,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,35,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,35,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,0,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,0,5,71,238,102,201,134,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,197,162,1,0,197,226,1,0,197,34,2,0,197,98,2,0,197,162,2,0,197,226,2,0,197,34,3,0,197,98,3,0,197,162,3,0,197,226,3,0,197,34,4,0,197,98,4,0,197,66,2,0,197,194,0,0,197,163,4,0,197,3,5,0,197,99,5,0,197,195,0,0,197,195,5,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,197,99,7,0,197,194,4,0,197,194,7,0,197,34,5,0,197,2,8,0,197,66,8,0,197,130,5,0,197,131,8,0,197,227,8,0,197,66,9,0,197,2,1,0,197,130,9,0,197,194,9,0,197,2,10,0,197,66,10,0,197,130,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,10,0,197,2,11,0,197,130,3,0,197,2,4,0,197,162,7,0,192,0,0,0,197,66,11,0,197,130,11,0,197,194,11,0,197,2,12,0,197,66,12,0,192,0,0,0,197,162,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,12,0,197,194,12,0,192,0,0,0,192,0,0,0,197,2,7,0,197,2,13,0,197,66,13,0,192,0,0,0,197,66,0,0,197,226,7,0,197,130,13,0,197,194,13,0,197,2,14,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,14,0,192,0,0,0,197,130,14,0,192,0,0,0,197,194,14,0,192,0,0,0,197,2,15,0,192,0,0,0,197,66,15,0,197,131,15,0,197,226,15,0,192,0,0,0,192,0,0,0,197,34,16,0,197,99,16,0,197,194,16,0,192,0,0,0,192,0,0,0,197,2,17,0,192,0,0,0,197,98,15,0,197,66,17,0,197,130,17,0,197,194,17,0,197,2,18,0,197,66,16,0,197,66,18,0,197,130,18,0,197,194,18,0,197,34,18,0,197,3,19,0,197,99,19,0,197,194,19,0,197,2,20,0,197,66,20,0,197,131,20,0,197,226,20,0,197,34,21,0,197,98,21,0,197,162,21,0,197,227,21,0,197,67,22,0,197,163,22,0,197,2,23,0,197,66,23,0,197,130,23,0,197,195,23,0,197,34,24,0,197,99,24,0,197,194,24,0,197,2,25,0,197,130,22,0,197,66,25,0,197,131,25,0,197,34,17,0,197,98,14,0,197,34,15,0,197,2,16,0,197,226,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,25,0,197,34,26,0,197,98,26,0,197,162,17,0,197,163,26,0,5,5,6,121,197,34,0,0,197,194,8,0,5,5,10,121,197,130,13,0,197,194,13,0,5,5,12,121,5,5,16,121,197,2,27,0,197,66,27,0,197,130,27,0,197,34,8,0,197,194,27,0,197,2,28,0,197,34,3,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,197,130,2,0,197,67,28,0,197,98,1,0,197,226,1,0,197,226,7,0,192,0,0,0,197,162,28,0,197,98,2,0,197,2,14,0,197,227,28,0,197,162,2,0,197,66,29,0,197,131,29,0,197,226,2,0,197,227,29,0,197,67,30,0,197,163,30,0,197,3,31,0,197,99,31,0,197,195,31,0,192,0,0,0,197,34,32,0,192,0,0,0,197,2,30,0,197,98,27,0,197,162,3,0,197,98,8,0,197,99,32,0,192,0,0,0,197,194,32,0,197,2,33,0,197,226,3,0,197,162,27,0,197,226,6,0,197,34,31,0,197,34,7,0,197,194,4,0,197,34,5,0,197,2,8,0,197,130,5,0,192,0,0,0,197,194,10,0,197,67,33,0,197,66,11,0,197,162,33,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,7,0,197,2,13,0,197,98,13,0,197,66,3,0,197,226,33,0,197,34,34,0,192,0,0,0,197,130,1,0,197,66,4,0,197,98,34,0,197,162,34,0,197,226,34,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,10,121,5,5,6,121,5,5,10,121,5,5,10,121,5,5,10,121,5,5,12,121,5,5,10,121,5,5,20,121,5,5,12,121,5,5,6,121,5,5,16,121,5,5,10,121,5,5,16,121,5,5,16,121,5,5,16,121,5,5,42,121,5,5,16,121,5,5,28,121,5,5,18,121,5,5,20,121,5,5,18,121,5,5,28,121,5,5,20,121,5,5,6,121,5,5,20,121,5,5,10,121,5,5,20,121,5,5,24,121,5,5,6,121,5,5,20,121,5,5,24,121,5,5,12,121,5,5,20,121,5,5,24,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,30,121,5,5,20,121,5,5,30,121,5,5,20,121,5,5,34,121,5,5,20,121,5,5,38,121,5,5,20,121,5,5,40,121,5,5,20,121,5,5,28,121,5,5,20,121,5,5,20,121,5,5,28,121,5,5,24,121,5,5,10,121,5,5,24,121,5,5,16,121,5,5,24,121,5,5,18,121,5,5,24,121,5,5,20,121,5,5,6,121,5,5,24,121,5,5,24,121,5,5,24,121,5,5,24,121,5,5,28,121,5,5,24,121,5,5,34,121,5,5,24,121,5,5,36,121,5,5,24,121,5,5,38,121,5,5,24,121,5,5,40,121,5,5,24,121,5,5,42,121,5,5,28,121,5,5,6,121,5,5,28,121,5,5,12,121,5,5,28,121,5,5,28,121,5,5,28,121,5,5,30,121,5,5,28,121,5,5,34,121,5,5,28,121,5,5,38,121,5,5,28,121,5,5,40,121,5,5,34,121,5,5,36,121,5,5,34,121,5,5,42,121,5,5,40,121,5,5,28,121,5,5,42,121,5,5,42,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,12,121,5,5,16,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,103,121,5,5,129,121,5,5,107,121,5,5,119,121,5,5,107,121,5,5,127,121,5,5,111,121,5,5,119,121,5,5,111,121,5,5,139,121,5,5,115,121,5,5,119,121,5,5,115,121,5,5,129,121,5,5,119,121,5,5,111,121,5,5,143,121,5,5,119,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,119,121,5,5,119,121,5,5,129,121,5,5,127,121,5,5,107,121,5,5,127,121,5,5,107,121,5,5,143,121,5,5,127,121,5,5,115,121,5,5,127,121,5,5,119,121,5,5,127,121,5,5,143,121,5,5,129,121,5,5,103,121,5,5,129,121,5,5,103,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,139,121,5,5,129,121,5,5,115,121,5,5,143,121,5,5,129,121,5,5,129,121,5,5,137,121,5,5,103,121,5,5,137,121,5,5,111,121,5,5,137,121,5,5,111,121,5,5,143,121,5,5,137,121,5,5,115,121,5,5,137,121,5,5,115,121,5,5,143,121,5,5,137,121,5,5,129,121,5,5,137,121,5,5,143,121,5,5,139,121,5,5,139,121,5,5,139,121,5,5,143,121,5,5,129,121,5,5,103,121,5,5,139,121,5,5,107,121,5,5,129,121,5,5,115,121,5,5,107,121,5,5,119,121,5,5,107,121,5,5,143,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,6,121,5,5,24,121,5,5,6,121,5,5,10,121,5,5,38,121,5,5,16,121,5,5,6,121,5,5,24,121,5,5,16,121,5,5,12,121,5,5,16,121,5,5,12,121,5,5,42,121,5,5,16,121,5,5,18,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,24,121,5,5,16,121,5,5,20,121,5,5,24,121,5,5,16,121,5,5,20,121,5,5,42,121,5,5,16,121,5,5,20,121,5,5,28,121,5,5,16,121,5,5,24,121,5,5,24,121,5,5,16,121,5,5,36,121,5,5,18,121,5,5,24,121,5,5,24,121,5,5,18,121,5,5,34,121,5,5,18,121,5,5,42,121,5,5,28,121,5,5,6,121,5,5,6,121,5,5,28,121,5,5,36,121,5,5,42,121,5,5,18,121,5,5,42,121,5,5,20,121,5,5,6,121,5,5,34,121,5,5,6,121,5,5,36,121,5,5,6,121,5,5,42,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,0,0,5,5,10,121,5,5,12,121,197,98,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,66,14,0,5,5,107,121,197,130,14,0,5,5,111,121,197,194,14,0,5,5,115,121,197,2,15,0,5,5,119,121,197,66,15,0,197,131,15,0,197,226,15,0,5,5,127,121,5,5,129,121,197,34,16,0,197,99,16,0,197,194,16,0,5,5,137,121,5,5,139,121,197,2,17,0,5,5,143,121,5,5,6,121,197,34,0,0,197,194,8,0,5,5,10,121,197,130,13,0,197,194,13,0,5,5,12,121,5,5,16,121,197,2,27,0,197,66,27,0,197,130,27,0,197,34,8,0,197,194,27,0,197,2,28,0,197,34,3,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,170,170,3,0,67,0,50,0,59,0,75,27,0,16,40,2,0,96,1,0,0,96,170,170,170,170,130,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,27,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,84,32,0,0,84,32,0,0,84,32,0,0,84,32,0,0,244,33,0,0,244,33,0,0,106,34,0,0,106,34,0,0,106,34,0,0,50,105,114,84,1,0,64,8,248,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,110,0,118,0,48,0,56,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,150,0,48,0,48,0,48,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,174,0,48,0,180,0,188,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,206,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,209,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,140,0,48,0,48,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,239,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,217,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,225,0,48,0,48,0,231,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,184,1,192,0,212,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,11,0,202,225,11,0,202,2,12,0,202,35,12,0,202,68,12,0,202,101,12,0,202,134,12,0,202,167,12,0,202,200,12,0,202,233,12,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,2,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,2,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,3,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,6,0,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,1,0,5,71,238,102,201,198,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,2,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,200,160,3,0,197,34,0,0,192,0,0,0,200,96,4,0,197,98,0,0,192,0,0,0,192,0,0,0,200,32,5,0,197,162,0,0,200,224,5,0,197,226,0,0,192,0,0,0,200,160,6,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,3,255,194,5,4,255,194,5,5,255,194,5,6,255,194,5,7,255,194,5,8,255,194,5,9,255,194,5,10,255,194,5,11,255,194,5,12,255,194,5,13,255,194,5,14,255,194,5,15,255,194,5,16,255,194,5,17,255,194,5,18,255,194,5,19,255,194,5,20,255,194,5,21,255,194,5,22,255,194,5,23,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,24,255,194,5,25,255,194,5,26,255,194,5,27,255,194,5,28,255,194,5,29,255,194,5,30,255,194,5,31,255,194,5,32,255,194,5,33,255,194,5,34,255,194,5,35,255,194,5,36,255,194,5,37,255,194,5,38,255,194,5,39,255,194,5,40,255,194,5,41,255,194,5,42,255,194,5,43,255,194,5,44,255,194,5,45,255,194,5,46,255,194,5,47,255,194,5,48,255,194,5,49,255,194,5,50,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,1,0,192,0,0,0,192,0,0,0,197,34,2,0,192,0,0,0,192,0,0,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,130,0,0,5,5,12,121,5,130,0,0,5,5,20,121,5,130,0,0,5,5,24,121,5,130,0,0,5,5,30,121,5,130,0,0,5,5,6,121,10,130,0,0,5,5,12,121,9,130,0,0,5,5,20,121,8,130,0,0,5,5,24,121,7,130,0,0,5,5,30,121,6,130,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,200,160,3,0,197,34,0,0,5,5,10,121,200,96,4,0,197,98,0,0,5,5,16,121,5,5,18,121,200,32,5,0,197,162,0,0,200,224,5,0,197,226,0,0,5,5,28,121,200,160,6,0,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,194,5,3,255,194,5,4,255,194,5,5,255,194,5,6,255,194,5,7,255,194,5,8,255,194,5,9,255,194,5,10,255,194,5,11,255,194,5,12,255,194,5,13,255,194,5,14,255,194,5,15,255,194,5,16,255,194,5,17,255,194,5,18,255,194,5,19,255,194,5,20,255,194,5,21,255,194,5,22,255,194,5,23,255,194,5,24,255,194,5,25,255,194,5,26,255,194,5,27,255,194,5,28,255,194,5,29,255,194,5,30,255,194,5,31,255,194,5,32,255,194,5,33,255,194,5,34,255,194,5,35,255,194,5,36,255,194,5,37,255,194,5,38,255,194,5,39,255,194,5,40,255,194,5,41,255,194,5,42,255,194,5,43,255,194,5,44,255,194,5,45,255,194,5,46,255,194,5,47,255,194,5,48,255,194,5,49,255,194,5,50,255,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,6,121,5,5,48,0,0,17,0,192,5,130,12,121,5,5,48,0,3,17,0,192,5,130,20,121,5,5,48,0,7,17,0,192,5,130,24,121,5,5,48,0,9,17,0,192,5,130,30,121,5,5,48,0,12,17,0,192,5,130,170,170,3,0,67,0,50,0,59,0,107,37,0,16,57,0,0,96,1,0,0,96,170,170,170,170,52,140,3,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,60,0,0,0,60,1,0,0,156,95,1,0,156,95,1,0,12,96,3,0,12,96,3,0,24,140,3,0,18,0,0,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,39,246,247,248,249,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,254,255,50,105,114,84,1,0,192,8,205,20,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,112,0,120,0,128,0,136,0,144,0,152,0,160,0,165,0,173,0,181,0,189,0,197,0,205,0,213,0,221,0,229,0,237,0,245,0,253,0,5,1,13,1,21,1,29,1,37,1,45,1,53,1,61,1,69,1,77,1,85,1,93,1,101,1,109,1,117,1,125,1,133,1,141,1,149,1,157,1,165,1,173,1,181,1,189,1,197,1,205,1,213,1,221,1,229,1,237,1,245,1,253,1,5,2,13,2,21,2,29,2,37,2,45,2,53,2,61,2,69,2,76,2,84,2,92,2,98,2,106,2,113,2,121,2,128,2,136,2,144,2,152,2,160,2,168,2,176,2,184,2,192,2,200,2,208,2,216,2,224,2,232,2,240,2,248,2,0,3,8,3,16,3,24,3,32,3,40,3,48,3,56,3,64,3,72,3,80,3,88,3,96,3,104,3,112,3,120,3,128,3,136,3,144,3,152,3,159,3,167,3,175,3,183,3,191,3,199,3,207,3,215,3,223,3,231,3,239,3,246,3,254,3,6,4,14,4,22,4,30,4,38,4,44,4,52,4,60,4,68,4,76,4,84,4,92,4,100,4,108,4,116,4,124,4,132,4,140,4,148,4,156,4,164,4,172,4,180,4,188,4,196,4,204,4,212,4,220,4,228,4,236,4,244,4,252,4,4,5,12,5,20,5,28,5,36,5,44,5,52,5,59,5,67,5,75,5,83,5,91,5,99,5,107,5,115,5,122,5,130,5,138,5,146,5,152,5,160,5,167,5,175,5,183,5,191,5,199,5,206,5,214,5,222,5,230,5,238,5,246,5,254,5,6,6,14,6,22,6,30,6,38,6,46,6,54,6,62,6,70,6,78,6,86,6,94,6,102,6,109,6,117,6,125,6,133,6,141,6,149,6,157,6,165,6,173,6,181,6,189,6,197,6,205,6,213,6,221,6,227,6,235,6,243,6,250,6,2,7,10,7,17,7,25,7,33,7,40,7,48,7,56,7,63,7,71,7,79,7,87,7,95,7,103,7,111,7,119,7,127,7,135,7,143,7,151,7,159,7,167,7,175,7,183,7,190,7,198,7,206,7,214,7,222,7,230,7,237,7,245,7,253,7,4,8,12,8,20,8,28,8,36,8,42,8,50,8,58,8,66,8,74,8,82,8,90,8,97,8,105,8,113,8,120,8,128,8,136,8,144,8,152,8,160,8,168,8,176,8,184,8,192,8,200,8,208,8,216,8,224,8,232,8,239,8,247,8,255,8,7,9,14,9,22,9,30,9,38,9,46,9,54,9,62,9,70,9,78,9,86,9,94,9,102,9,110,9,118,9,126,9,134,9,142,9,150,9,158,9,166,9,174,9,182,9,190,9,198,9,206,9,214,9,222,9,230,9,238,9,246,9,254,9,6,10,14,10,22,10,30,10,38,10,46,10,54,10,62,10,70,10,78,10,86,10,94,10,102,10,110,10,118,10,126,10,134,10,142,10,150,10,158,10,166,10,174,10,182,10,190,10,198,10,206,10,214,10,222,10,230,10,238,10,246,10,254,10,5,11,13,11,21,11,29,11,37,11,45,11,53,11,61,11,69,11,77,11,85,11,93,11,101,11,109,11,117,11,125,11,133,11,140,11,148,11,156,11,164,11,172,11,180,11,188,11,196,11,204,11,212,11,220,11,228,11,236,11,244,11,252,11,4,12,12,12,20,12,28,12,36,12,44,12,52,12,59,12,67,12,75,12,83,12,91,12,48,0,48,0,48,0,48,0,99,12,107,12,115,12,123,12,131,12,139,12,147,12,155,12,163,12,171,12,179,12,187,12,195,12,203,12,211,12,219,12,227,12,235,12,243,12,251,12,3,13,11,13,19,13,27,13,35,13,43,13,51,13,59,13,67,13,75,13,83,13,91,13,99,13,107,13,112,13,119,13,127,13,135,13,143,13,151,13,157,13,165,13,173,13,181,13,189,13,197,13,204,13,212,13,220,13,228,13,236,13,244,13,252,13,4,14,12,14,20,14,28,14,36,14,44,14,51,14,59,14,67,14,75,14,83,14,91,14,99,14,107,14,115,14,123,14,131,14,139,14,147,14,155,14,163,14,171,14,179,14,187,14,195,14,203,14,211,14,218,14,226,14,234,14,242,14,250,14,2,15,10,15,18,15,26,15,34,15,42,15,50,15,58,15,66,15,74,15,82,15,90,15,98,15,106,15,114,15,48,0,48,0,48,0,48,0,122,15,130,15,138,15,146,15,154,15,162,15,170,15,178,15,48,0,48,0,185,15,193,15,201,15,209,15,217,15,225,15,233,15,241,15,249,15,1,16,9,16,17,16,25,16,33,16,41,16,49,16,57,16,59,16,67,16,75,16,83,16,91,16,99,16,107,16,115,16,123,16,131,16,139,16,147,16,155,16,163,16,171,16,179,16,187,16,195,16,203,16,211,16,219,16,227,16,235,16,243,16,251,16,3,17,10,17,18,17,26,17,34,17,40,17,48,17,56,17,64,17,72,17,80,17,88,17,95,17,103,17,111,17,48,0,48,0,48,0,48,0,48,0,48,0,48,0,119,17,127,17,135,17,143,17,151,17,153,17,161,17,169,17,177,17,185,17,193,17,201,17,209,17,217,17,225,17,233,17,241,17,249,17,1,18,9,18,17,18,25,18,33,18,41,18,49,18,48,0,55,18,63,18,71,18,79,18,87,18,95,18,48,0,103,18,111,18,119,18,127,18,135,18,142,18,150,18,158,18,48,0,164,18,172,18,180,18,188,18,196,18,204,18,211,18,219,18,227,18,235,18,243,18,249,18,0,19,8,19,16,19,48,0,48,0,48,0,23,19,31,19,39,19,47,19,55,19,63,19,71,19,79,19,86,19,94,19,48,0,48,0,102,19,110,19,118,19,126,19,134,19,142,19,150,19,158,19,166,19,172,19,180,19,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,188,20,88,0,48,0,48,0,80,0,80,0,80,0,196,20,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,188,19,196,19,204,19,212,19,220,19,228,19,236,19,244,19,252,19,4,20,12,20,20,20,28,20,36,20,44,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,52,20,60,20,68,20,76,20,84,20,92,20,100,20,108,20,116,20,124,20,132,20,140,20,148,20,156,20,164,20,172,20,180,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,95,1,202,65,95,1,202,98,95,1,202,131,95,1,202,164,95,1,202,197,95,1,202,230,95,1,202,7,96,1,202,40,96,1,202,73,96,1,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,94,1,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,94,1,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,94,1,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,0,0,198,99,0,0,192,0,0,0,198,195,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,1,0,198,131,1,0,198,227,1,0,198,67,2,0,197,34,0,0,192,0,0,0,198,162,2,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,2,0,192,0,0,0,192,0,0,0,198,66,3,0,198,130,3,0,198,194,3,0,192,0,0,0,198,2,4,0,198,67,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,4,0,198,2,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,5,0,192,0,0,0,198,227,5,0,192,0,0,0,192,0,0,0,198,67,6,0,198,163,6,0,197,99,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,0,0,198,3,7,0,192,0,0,0,198,98,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,1,0,198,162,7,0,192,0,0,0,198,226,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,198,34,8,0,197,162,1,0,197,227,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,8,0,192,0,0,0,198,163,8,0,198,3,9,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,9,0,198,163,9,0,197,66,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,10,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,10,0,198,195,10,0,198,35,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,2,0,192,0,0,0,192,0,0,0,198,131,11,0,198,227,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,12,0,192,0,0,0,198,163,12,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,13,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,13,0,192,0,0,0,197,194,2,0,192,0,0,0,192,0,0,0,198,162,13,0,198,226,13,0,192,0,0,0,198,34,14,0,198,98,14,0,198,163,14,0,198,3,15,0,197,2,3,0,192,0,0,0,198,98,15,0,198,163,15,0,192,0,0,0,192,0,0,0,198,3,16,0,198,99,16,0,192,0,0,0,198,194,16,0,192,0,0,0,192,0,0,0,198,2,17,0,198,67,17,0,192,0,0,0,198,163,17,0,198,3,18,0,192,0,0,0,198,98,18,0,197,66,3,0,198,163,18,0,192,0,0,0,198,3,19,0,192,0,0,0,192,0,0,0,198,99,19,0,198,195,19,0,198,35,20,0,198,131,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,20,0,198,66,21,0,192,0,0,0,198,131,21,0,192,0,0,0,192,0,0,0,198,226,21,0,198,35,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,22,0,198,227,22,0,192,0,0,0,192,0,0,0,198,67,23,0,192,0,0,0,198,162,23,0,198,226,23,0,192,0,0,0,192,0,0,0,198,35,24,0,198,130,24,0,192,0,0,0,198,195,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,25,0,198,98,25,0,197,130,3,0,198,163,25,0,198,2,26,0,198,67,26,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,26,0,198,3,27,0,198,99,27,0,192,0,0,0,197,195,3,0,192,0,0,0,198,194,27,0,198,3,28,0,198,98,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,28,0,192,0,0,0,198,227,28,0,192,0,0,0,198,67,29,0,198,162,29,0,192,0,0,0,198,226,29,0,198,35,30,0,198,130,30,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,30,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,31,0,198,131,31,0,198,226,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,32,0,198,130,32,0,198,195,32,0,192,0,0,0,198,34,33,0,198,98,33,0,198,163,33,0,198,3,34,0,197,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,34,0,198,194,34,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,35,0,192,0,0,0,198,99,35,0,192,0,0,0,198,195,35,0,192,0,0,0,198,34,36,0,192,0,0,0,198,98,36,0,198,162,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,36,0,198,67,37,0,192,0,0,0,192,0,0,0,198,163,37,0,197,98,4,0,198,2,38,0,198,66,38,0,192,0,0,0,198,130,38,0,192,0,0,0,197,162,4,0,197,226,4,0,198,194,38,0,197,34,5,0,198,2,39,0,192,0,0,0,198,67,39,0,198,163,39,0,197,98,5,0,197,163,5,0,198,2,40,0,192,0,0,0,197,2,6,0,198,67,40,0,198,163,40,0,198,3,41,0,198,98,41,0,198,163,41,0,198,3,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,6,0,197,130,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,42,0,198,195,42,0,192,0,0,0,192,0,0,0,198,34,43,0,192,0,0,0,192,0,0,0,198,99,43,0,192,0,0,0,198,195,43,0,197,194,6,0,198,35,44,0,198,130,44,0,198,194,44,0,198,2,45,0,198,67,45,0,198,162,45,0,192,0,0,0,198,227,45,0,192,0,0,0,198,67,46,0,198,163,46,0,192,0,0,0,198,2,47,0,192,0,0,0,197,2,7,0,198,66,47,0,198,131,47,0,198,226,47,0,192,0,0,0,198,34,48,0,192,0,0,0,198,98,48,0,192,0,0,0,197,66,7,0,192,0,0,0,192,0,0,0,198,162,48,0,192,0,0,0,198,227,48,0,198,67,49,0,198,162,49,0,192,0,0,0,198,227,49,0,198,67,50,0,198,162,50,0,197,130,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,50,0,197,194,7,0,192,0,0,0,192,0,0,0,198,35,51,0,192,0,0,0,192,0,0,0,197,3,8,0,197,98,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,51,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,51,0,192,0,0,0,198,66,52,0,198,130,52,0,198,195,52,0,198,34,53,0,198,98,53,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,53,0,198,227,53,0,192,0,0,0,198,66,54,0,192,0,0,0,198,130,54,0,198,194,54,0,198,2,55,0,198,67,55,0,192,0,0,0,198,163,55,0,198,3,56,0,192,0,0,0,192,0,0,0,198,99,56,0,198,194,56,0,192,0,0,0,198,2,57,0,198,67,57,0,192,0,0,0,198,162,57,0,192,0,0,0,198,226,57,0,197,163,8,0,198,35,58,0,192,0,0,0,198,130,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,58,0,198,2,59,0,197,2,9,0,198,66,59,0,192,0,0,0,198,130,59,0,198,195,59,0,197,66,9,0,198,35,60,0,192,0,0,0,198,131,60,0,192,0,0,0,198,227,60,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,61,0,192,0,0,0,198,131,61,0,192,0,0,0,198,227,61,0,192,0,0,0,192,0,0,0,198,66,62,0,198,131,62,0,192,0,0,0,192,0,0,0,198,227,62,0,192,0,0,0,198,66,63,0,192,0,0,0,198,130,63,0,192,0,0,0,198,195,63,0,192,0,0,0,198,35,64,0,198,130,64,0,192,0,0,0,198,195,64,0,192,0,0,0,198,35,65,0,192,0,0,0,198,131,65,0,197,130,9,0,197,194,9,0,192,0,0,0,198,227,65,0,192,0,0,0,198,67,66,0,198,162,66,0,192,0,0,0,198,227,66,0,198,67,67,0,198,163,67,0,197,2,10,0,198,3,68,0,198,99,68,0,198,195,68,0,198,34,69,0,198,99,69,0,197,66,10,0,198,195,69,0,197,131,10,0,197,226,10,0,198,34,70,0,192,0,0,0,198,99,70,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,70,0,198,35,71,0,192,0,0,0,192,0,0,0,198,130,71,0,198,194,71,0,197,98,11,0,198,2,72,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,11,0,198,67,72,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,72,0,192,0,0,0,197,226,11,0,198,2,73,0,192,0,0,0,198,67,73,0,192,0,0,0,198,162,73,0,192,0,0,0,198,227,73,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,74,0,192,0,0,0,198,130,74,0,192,0,0,0,192,0,0,0,198,195,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,75,0,192,0,0,0,198,130,75,0,192,0,0,0,198,195,75,0,198,35,76,0,198,130,76,0,192,0,0,0,197,130,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,77,0,192,0,0,0,198,163,77,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,78,0,197,194,12,0,192,0,0,0,198,99,78,0,192,0,0,0,198,195,78,0,192,0,0,0,198,35,79,0,198,130,79,0,197,2,13,0,198,195,79,0,192,0,0,0,197,67,13,0,198,34,80,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,13,0,198,163,80,0,198,2,81,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,81,0,198,131,81,0,198,226,81,0,198,34,82,0,192,0,0,0,198,99,82,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,82,0,198,35,83,0,198,131,83,0,192,0,0,0,192,0,0,0,198,226,83,0,192,0,0,0,197,226,13,0,198,35,84,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,84,0,198,227,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,85,0,192,0,0,0,198,162,85,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,85,0,197,34,14,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,86,0,198,130,86,0,192,0,0,0,192,0,0,0,197,98,14,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,86,0,192,0,0,0,192,0,0,0,197,162,14,0,198,34,87,0,198,99,87,0,192,0,0,0,198,195,87,0,192,0,0,0,192,0,0,0,198,34,88,0,198,99,88,0,198,195,88,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,89,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,89,0,192,0,0,0,198,195,89,0,192,0,0,0,192,0,0,0,198,34,90,0,198,98,90,0,197,226,14,0,198,163,90,0,198,3,91,0,198,99,91,0,198,195,91,0,192,0,0,0,198,35,92,0,198,131,92,0,192,0,0,0,198,227,92,0,192,0,0,0,198,67,93,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,93,0,192,0,0,0,197,34,15,0,198,2,94,0,198,66,94,0,197,98,15,0,192,0,0,0,197,162,15,0,198,131,94,0,192,0,0,0,198,227,94,0,198,66,95,0,198,131,95,0,192,0,0,0,192,0,0,0,198,227,95,0,192,0,0,0,198,66,96,0,197,226,15,0,192,0,0,0,198,130,96,0,198,195,96,0,192,0,0,0,198,35,97,0,192,0,0,0,192,0,0,0,198,130,97,0,197,34,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,97,0,197,98,16,0,198,35,98,0,192,0,0,0,198,131,98,0,192,0,0,0,197,162,16,0,192,0,0,0,198,227,98,0,198,66,99,0,198,131,99,0,198,227,99,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,100,0,198,163,100,0,192,0,0,0,198,3,101,0,198,99,101,0,198,195,101,0,198,34,102,0,197,227,16,0,198,99,102,0,198,195,102,0,192,0,0,0,198,35,103,0,197,66,17,0,198,131,103,0,198,226,103,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,104,0,192,0,0,0,192,0,0,0,198,98,104,0,192,0,0,0,198,163,104,0,192,0,0,0,192,0,0,0,198,3,105,0,192,0,0,0,198,98,105,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,105,0,192,0,0,0,192,0,0,0,198,3,106,0,192,0,0,0,198,98,106,0,198,163,106,0,198,3,107,0,197,130,17,0,198,99,107,0,198,195,107,0,198,35,108,0,197,194,17,0,192,0,0,0,192,0,0,0,198,131,108,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,108,0,198,66,109,0,198,130,109,0,198,195,109,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,110,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,110,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,110,0,192,0,0,0,192,0,0,0,198,35,111,0,198,131,111,0,192,0,0,0,192,0,0,0,198,226,111,0,192,0,0,0,198,35,112,0,192,0,0,0,192,0,0,0,198,130,112,0,198,194,112,0,192,0,0,0,198,3,113,0,192,0,0,0,198,99,113,0,197,2,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,113,0,192,0,0,0,192,0,0,0,197,66,18,0,198,35,114,0,198,131,114,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,114,0,192,0,0,0,198,67,115,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,115,0,197,130,18,0,198,3,116,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,18,0,198,99,116,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,116,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,19,0,198,34,117,0,198,99,117,0,192,0,0,0,192,0,0,0,198,195,117,0,198,35,118,0,198,130,118,0,198,195,118,0,198,35,119,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,19,0,192,0,0,0,198,131,119,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,119,0,198,67,120,0,198,163,120,0,197,130,19,0,192,0,0,0,197,194,19,0,198,3,121,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,121,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,121,0,192,0,0,0,192,0,0,0,197,3,20,0,198,34,122,0,192,0,0,0,198,99,122,0,198,195,122,0,192,0,0,0,197,99,20,0,192,0,0,0,198,35,123,0,197,194,20,0,198,131,123,0,192,0,0,0,192,0,0,0,197,3,21,0,192,0,0,0,192,0,0,0,198,226,123,0,198,34,124,0,192,0,0,0,198,99,124,0,192,0,0,0,192,0,0,0,198,195,124,0,198,35,125,0,197,98,21,0,192,0,0,0,198,131,125,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,125,0,192,0,0,0,192,0,0,0,198,67,126,0,192,0,0,0,198,163,126,0,192,0,0,0,192,0,0,0,198,3,127,0,198,99,127,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,127,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,128,0,198,99,128,0,198,195,128,0,198,35,129,0,192,0,0,0,198,130,129,0,198,195,129,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,130,0,192,0,0,0,198,130,130,0,198,195,130,0,198,34,131,0,198,98,131,0,192,0,0,0,192,0,0,0,197,162,21,0,197,226,21,0,198,163,131,0,198,3,132,0,198,98,132,0,198,163,132,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,22,0,198,3,133,0,192,0,0,0,192,0,0,0,198,99,133,0,192,0,0,0,197,98,22,0,198,195,133,0,198,35,134,0,198,131,134,0,198,227,134,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,135,0,198,162,135,0,198,226,135,0,198,35,136,0,192,0,0,0,192,0,0,0,198,130,136,0,198,195,136,0,192,0,0,0,198,35,137,0,198,130,137,0,198,195,137,0,192,0,0,0,198,35,138,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,138,0,198,227,138,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,139,0,192,0,0,0,192,0,0,0,197,163,22,0,192,0,0,0,198,130,139,0,198,195,139,0,192,0,0,0,198,35,140,0,192,0,0,0,192,0,0,0,198,130,140,0,192,0,0,0,192,0,0,0,197,2,23,0,192,0,0,0,198,194,140,0,192,0,0,0,192,0,0,0,197,66,23,0,197,131,23,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,141,0,198,99,141,0,198,194,141,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,142,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,23,0,198,99,142,0,197,34,24,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,142,0,198,34,143,0,192,0,0,0,192,0,0,0,198,99,143,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,143,0,198,34,144,0,192,0,0,0,192,0,0,0,198,99,144,0,198,195,144,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,145,0,198,98,145,0,198,163,145,0,198,2,146,0,198,66,146,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,24,0,192,0,0,0,192,0,0,0,198,131,146,0,192,0,0,0,198,227,146,0,192,0,0,0,198,67,147,0,192,0,0,0,198,163,147,0,192,0,0,0,198,3,148,0,192,0,0,0,192,0,0,0,198,99,148,0,198,195,148,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,149,0,192,0,0,0,192,0,0,0,198,131,149,0,198,227,149,0,192,0,0,0,198,67,150,0,198,162,150,0,192,0,0,0,197,195,24,0,192,0,0,0,198,227,150,0,198,66,151,0,198,130,151,0,198,195,151,0,197,34,25,0,198,34,152,0,198,99,152,0,198,195,152,0,192,0,0,0,198,34,153,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,25,0,192,0,0,0,197,194,25,0,192,0,0,0,192,0,0,0,198,99,153,0,192,0,0,0,198,195,153,0,198,35,154,0,192,0,0,0,192,0,0,0,198,130,154,0,198,195,154,0,192,0,0,0,198,35,155,0,198,130,155,0,198,194,155,0,192,0,0,0,198,2,156,0,192,0,0,0,192,0,0,0,197,3,26,0,192,0,0,0,198,67,156,0,192,0,0,0,197,99,26,0,198,162,156,0,192,0,0,0,198,226,156,0,198,35,157,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,157,0,197,194,26,0,198,195,157,0,192,0,0,0,198,34,158,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,158,0,198,195,158,0,192,0,0,0,198,35,159,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,27,0,192,0,0,0,192,0,0,0,198,130,159,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,27,0,192,0,0,0,197,162,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,159,0,192,0,0,0,192,0,0,0,197,227,27,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,160,0,198,99,160,0,198,195,160,0,198,34,161,0,198,99,161,0,192,0,0,0,198,195,161,0,198,35,162,0,198,131,162,0,192,0,0,0,198,227,162,0,198,66,163,0,197,66,28,0,198,131,163,0,192,0,0,0,192,0,0,0,198,227,163,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,164,0,198,131,164,0,197,131,28,0,197,227,28,0,192,0,0,0,192,0,0,0,198,227,164,0,192,0,0,0,192,0,0,0,198,67,165,0,192,0,0,0,198,163,165,0,192,0,0,0,198,3,166,0,192,0,0,0,198,99,166,0,198,195,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,29,0,192,0,0,0,198,35,167,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,167,0,192,0,0,0,197,130,29,0,198,226,167,0,198,35,168,0,197,194,29,0,198,130,168,0,198,195,168,0,198,35,169,0,198,131,169,0,192,0,0,0,198,227,169,0,198,66,170,0,197,3,30,0,198,131,170,0,198,227,170,0,192,0,0,0,198,67,171,0,198,163,171,0,198,3,172,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,172,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,172,0,192,0,0,0,192,0,0,0,198,3,173,0,192,0,0,0,198,98,173,0,192,0,0,0,197,98,30,0,192,0,0,0,192,0,0,0,198,162,173,0,192,0,0,0,198,227,173,0,198,67,174,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,174,0,197,162,30,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,175,0,192,0,0,0,192,0,0,0,198,99,175,0,198,194,175,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,176,0,192,0,0,0,198,66,176,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,176,0,192,0,0,0,198,227,176,0,192,0,0,0,192,0,0,0,198,66,177,0,198,130,177,0,198,195,177,0,198,34,178,0,192,0,0,0,198,99,178,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,178,0,192,0,0,0,197,34,31,0,198,34,179,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,179,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,179,0,192,0,0,0,197,98,31,0,198,3,180,0,198,98,180,0,198,162,180,0,198,226,180,0,198,35,181,0,192,0,0,0,198,130,181,0,198,194,181,0,197,162,31,0,198,2,182,0,198,66,182,0,198,131,182,0,198,227,182,0,198,66,183,0,197,226,31,0,198,131,183,0,198,226,183,0,198,34,184,0,198,98,184,0,197,34,32,0,197,99,32,0,192,0,0,0,198,162,184,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,184,0,192,0,0,0,197,195,32,0,198,35,185,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,33,0,198,131,185,0,198,227,185,0,198,67,186,0,198,163,186,0,198,3,187,0,197,130,33,0,198,98,187,0,198,162,187,0,198,227,187,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,188,0,192,0,0,0,198,163,188,0,192,0,0,0,198,3,189,0,197,194,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,189,0,192,0,0,0,192,0,0,0,198,163,189,0,192,0,0,0,197,3,34,0,198,3,190,0,192,0,0,0,198,99,190,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,190,0,192,0,0,0,192,0,0,0,198,3,191,0,192,0,0,0,197,99,34,0,197,194,34,0,192,0,0,0,198,99,191,0,197,2,35,0,197,66,35,0,198,194,191,0,192,0,0,0,197,130,35,0,192,0,0,0,197,194,35,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,192,0,192,0,0,0,198,67,192,0,192,0,0,0,198,162,192,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,192,0,192,0,0,0,192,0,0,0,198,67,193,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,193,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,194,0,192,0,0,0,198,67,194,0,192,0,0,0,198,162,194,0,192,0,0,0,198,226,194,0,192,0,0,0,198,34,195,0,198,99,195,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,195,0,198,2,196,0,192,0,0,0,198,66,196,0,192,0,0,0,198,130,196,0,198,194,196,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,197,0,197,2,36,0,198,99,197,0,192,0,0,0,198,194,197,0,197,66,36,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,198,0,192,0,0,0,198,98,198,0,197,131,36,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,198,0,197,226,36,0,197,34,37,0,198,226,198,0,198,35,199,0,198,130,199,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,199,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,200,0,192,0,0,0,198,99,200,0,192,0,0,0,197,98,37,0,197,162,37,0,192,0,0,0,192,0,0,0,198,194,200,0,192,0,0,0,192,0,0,0,197,226,37,0,198,2,201,0,192,0,0,0,192,0,0,0,198,67,201,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,38,0,192,0,0,0,192,0,0,0,197,194,38,0,197,2,39,0,198,163,201,0,192,0,0,0,198,2,202,0,198,66,202,0,197,67,39,0,198,131,202,0,198,227,202,0,197,163,39,0,192,0,0,0,197,2,40,0,197,66,40,0,197,131,40,0,198,66,203,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,203,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,203,0,198,34,204,0,192,0,0,0,198,98,204,0,198,162,204,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,204,0,197,226,40,0,192,0,0,0,192,0,0,0,198,67,205,0,198,163,205,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,206,0,192,0,0,0,192,0,0,0,198,67,206,0,192,0,0,0,198,162,206,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,41,0,192,0,0,0,198,226,206,0,198,35,207,0,192,0,0,0,198,130,207,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,207,0,197,98,41,0,198,3,208,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,209,0,192,0,0,0,192,0,0,0,198,98,209,0,197,162,41,0,192,0,0,0,198,163,209,0,192,0,0,0,197,226,41,0,192,0,0,0,198,3,210,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,210,0,192,0,0,0,197,34,42,0,192,0,0,0,198,194,210,0,192,0,0,0,198,2,211,0,192,0,0,0,197,99,42,0,192,0,0,0,198,67,211,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,211,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,212,0,192,0,0,0,192,0,0,0,198,67,212,0,198,163,212,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,213,0,192,0,0,0,198,98,213,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,213,0,197,34,43,0,198,227,213,0,198,66,214,0,192,0,0,0,198,131,214,0,198,227,214,0,192,0,0,0,198,67,215,0,198,163,215,0,192,0,0,0,198,3,216,0,198,98,216,0,192,0,0,0,197,98,43,0,197,163,43,0,198,163,216,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,217,0,192,0,0,0,198,98,217,0,198,163,217,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,218,0,197,2,44,0,197,67,44,0,192,0,0,0,197,162,44,0,198,99,218,0,198,195,218,0,197,226,44,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,45,0,197,99,45,0,192,0,0,0,192,0,0,0,197,195,45,0,198,35,219,0,197,34,46,0,198,131,219,0,198,227,219,0,198,66,220,0,192,0,0,0,198,131,220,0,192,0,0,0,198,227,220,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,46,0,192,0,0,0,198,67,221,0,192,0,0,0,198,162,221,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,46,0,192,0,0,0,192,0,0,0,198,227,221,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,222,0,198,131,222,0,198,226,222,0,192,0,0,0,192,0,0,0,198,34,223,0,198,99,223,0,192,0,0,0,198,195,223,0,198,34,224,0,197,2,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,224,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,224,0,198,226,224,0,197,67,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,225,0,192,0,0,0,198,99,225,0,192,0,0,0,198,194,225,0,198,2,226,0,192,0,0,0,192,0,0,0,197,162,47,0,198,66,226,0,198,131,226,0,192,0,0,0,198,226,226,0,192,0,0,0,197,226,47,0,192,0,0,0,198,34,227,0,192,0,0,0,198,99,227,0,198,195,227,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,48,0,192,0,0,0,192,0,0,0,197,98,48,0,192,0,0,0,192,0,0,0,198,34,228,0,192,0,0,0,192,0,0,0,198,98,228,0,192,0,0,0,197,162,48,0,192,0,0,0,198,162,228,0,197,226,48,0,198,226,228,0,198,34,229,0,192,0,0,0,197,34,49,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,229,0,192,0,0,0,198,194,229,0,198,3,230,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,230,0,192,0,0,0,198,195,230,0,192,0,0,0,198,34,231,0,198,99,231,0,197,99,49,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,49,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,231,0,198,35,232,0,192,0,0,0,192,0,0,0,198,130,232,0,198,195,232,0,198,34,233,0,197,2,50,0,198,98,233,0,198,162,233,0,192,0,0,0,198,226,233,0,192,0,0,0,192,0,0,0,197,66,50,0,192,0,0,0,198,35,234,0,192,0,0,0,198,131,234,0,192,0,0,0,198,227,234,0,192,0,0,0,198,67,235,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,235,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,50,0,192,0,0,0,197,226,50,0,197,34,51,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,51,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,236,0,198,67,236,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,236,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,237,0,192,0,0,0,198,99,237,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,237,0,198,35,238,0,192,0,0,0,198,131,238,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,238,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,239,0,198,163,239,0,197,162,51,0,198,3,240,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,51,0,198,98,240,0,198,163,240,0,192,0,0,0,192,0,0,0,197,34,52,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,241,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,241,0,198,162,241,0,192,0,0,0,192,0,0,0,197,98,52,0,198,227,241,0,198,67,242,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,242,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,52,0,192,0,0,0,192,0,0,0,197,2,53,0,192,0,0,0,198,3,243,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,243,0,192,0,0,0,198,195,243,0,198,34,244,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,244,0,192,0,0,0,198,163,244,0,198,3,245,0,198,98,245,0,198,162,245,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,245,0,198,66,246,0,198,131,246,0,198,227,246,0,192,0,0,0,197,66,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,247,0,198,163,247,0,192,0,0,0,192,0,0,0,198,2,248,0,192,0,0,0,198,67,248,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,248,0,192,0,0,0,192,0,0,0,198,2,249,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,249,0,192,0,0,0,192,0,0,0,198,162,249,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,249,0,198,34,250,0,198,98,250,0,192,0,0,0,198,162,250,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,250,0,192,0,0,0,192,0,0,0,198,35,251,0,192,0,0,0,198,130,251,0,192,0,0,0,198,195,251,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,252,0,192,0,0,0,192,0,0,0,198,131,252,0,192,0,0,0,198,227,252,0,198,67,253,0,198,163,253,0,198,2,254,0,197,130,53,0,198,67,254,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,53,0,192,0,0,0,192,0,0,0,198,163,254,0,192,0,0,0,198,3,255,0,198,99,255,0,198,194,255,0,198,3,0,1,198,99,0,1,192,0,0,0,192,0,0,0,192,0,0,0,198,194,0,1,198,2,1,1,198,67,1,1,198,163,1,1,192,0,0,0,198,2,2,1,192,0,0,0,198,66,2,1,192,0,0,0,198,130,2,1,198,194,2,1,192,0,0,0,192,0,0,0,198,2,3,1,197,3,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,3,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,3,1,192,0,0,0,192,0,0,0,198,195,3,1,198,35,4,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,54,0,192,0,0,0,197,162,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,4,1,192,0,0,0,198,195,4,1,192,0,0,0,198,34,5,1,198,99,5,1,198,195,5,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,6,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,6,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,6,1,192,0,0,0,192,0,0,0,198,35,7,1,198,131,7,1,198,227,7,1,197,227,54,0,192,0,0,0,198,66,8,1,192,0,0,0,192,0,0,0,198,131,8,1,198,227,8,1,192,0,0,0,198,67,9,1,198,163,9,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,55,0,192,0,0,0,192,0,0,0,198,3,10,1,198,98,10,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,10,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,10,1,192,0,0,0,192,0,0,0,198,34,11,1,192,0,0,0,192,0,0,0,198,99,11,1,198,195,11,1,192,0,0,0,192,0,0,0,198,35,12,1,192,0,0,0,198,130,12,1,198,194,12,1,198,3,13,1,198,98,13,1,198,162,13,1,192,0,0,0,192,0,0,0,198,227,13,1,192,0,0,0,198,67,14,1,198,163,14,1,192,0,0,0,198,3,15,1,197,130,55,0,192,0,0,0,198,99,15,1,198,195,15,1,198,35,16,1,198,131,16,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,16,1,192,0,0,0,198,67,17,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,17,1,197,195,55,0,192,0,0,0,197,34,56,0,198,226,17,1,192,0,0,0,198,34,18,1,197,98,56,0,192,0,0,0,198,98,18,1,198,163,18,1,192,0,0,0,192,0,0,0,198,3,19,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,56,0,198,99,19,1,198,194,19,1,192,0,0,0,192,0,0,0,198,3,20,1,198,98,20,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,20,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,20,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,21,1,198,162,21,1,198,227,21,1,197,227,56,0,198,67,22,1,192,0,0,0,198,162,22,1,198,226,22,1,198,34,23,1,198,98,23,1,192,0,0,0,197,67,57,0,192,0,0,0,192,0,0,0,198,162,23,1,198,227,23,1,198,66,24,1,198,131,24,1,192,0,0,0,192,0,0,0,192,0,0,0,198,226,24,1,192,0,0,0,192,0,0,0,198,35,25,1,198,130,25,1,192,0,0,0,197,163,57,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,25,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,26,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,26,1,192,0,0,0,192,0,0,0,198,227,26,1,198,67,27,1,198,163,27,1,192,0,0,0,198,2,28,1,198,67,28,1,192,0,0,0,198,163,28,1,192,0,0,0,198,2,29,1,192,0,0,0,192,0,0,0,192,0,0,0,198,67,29,1,198,163,29,1,192,0,0,0,192,0,0,0,198,2,30,1,192,0,0,0,192,0,0,0,198,67,30,1,192,0,0,0,192,0,0,0,198,162,30,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,58,0,198,226,30,1,198,35,31,1,197,66,58,0,192,0,0,0,198,131,31,1,192,0,0,0,198,227,31,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,32,1,198,163,32,1,192,0,0,0,198,3,33,1,192,0,0,0,192,0,0,0,197,130,58,0,192,0,0,0,198,99,33,1,198,195,33,1,192,0,0,0,198,35,34,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,34,1,198,195,34,1,192,0,0,0,192,0,0,0,198,35,35,1,192,0,0,0,192,0,0,0,198,131,35,1,192,0,0,0,198,227,35,1,192,0,0,0,198,67,36,1,192,0,0,0,198,163,36,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,58,0,192,0,0,0,192,0,0,0,197,35,59,0,192,0,0,0,198,3,37,1,198,98,37,1,197,130,59,0,192,0,0,0,192,0,0,0,198,162,37,1,198,227,37,1,198,66,38,1,192,0,0,0,198,131,38,1,198,226,38,1,198,34,39,1,198,99,39,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,39,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,40,1,198,99,40,1,192,0,0,0,192,0,0,0,198,195,40,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,41,1,197,194,59,0,198,130,41,1,192,0,0,0,198,194,41,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,42,1,192,0,0,0,198,98,42,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,60,0,198,163,42,1,192,0,0,0,192,0,0,0,192,0,0,0,198,2,43,1,198,67,43,1,197,66,60,0,192,0,0,0,192,0,0,0,198,163,43,1,198,2,44,1,192,0,0,0,197,130,60,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,44,1,192,0,0,0,198,163,44,1,198,2,45,1,192,0,0,0,198,66,45,1,192,0,0,0,198,131,45,1,197,194,60,0,198,226,45,1,197,2,61,0,197,66,61,0,198,35,46,1,198,131,46,1,192,0,0,0,198,227,46,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,47,1,198,130,47,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,47,1,192,0,0,0,192,0,0,0,198,34,48,1,198,98,48,1,198,163,48,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,49,1,198,66,49,1,197,227,61,0,198,130,49,1,192,0,0,0,198,194,49,1,198,3,50,1,197,67,62,0,192,0,0,0,197,162,62,0,198,99,50,1,192,0,0,0,197,226,62,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,50,1,192,0,0,0,198,34,51,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,51,1,192,0,0,0,198,163,51,1,198,3,52,1,198,99,52,1,198,195,52,1,198,35,53,1,198,131,53,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,63,0,198,226,53,1,192,0,0,0,198,34,54,1,192,0,0,0,198,99,54,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,63,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,63,0,198,194,54,1,198,3,55,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,55,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,63,0,197,34,64,0,198,194,55,1,192,0,0,0,192,0,0,0,197,98,64,0,198,3,56,1,192,0,0,0,198,98,56,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,56,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,57,1,192,0,0,0,198,66,57,1,192,0,0,0,198,131,57,1,198,227,57,1,192,0,0,0,192,0,0,0,192,0,0,0,197,162,64,0,192,0,0,0,192,0,0,0,198,67,58,1,192,0,0,0,192,0,0,0,198,163,58,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,59,1,192,0,0,0,197,226,64,0,192,0,0,0,192,0,0,0,197,35,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,59,1,192,0,0,0,192,0,0,0,198,162,59,1,192,0,0,0,198,227,59,1,198,66,60,1,192,0,0,0,198,130,60,1,192,0,0,0,198,195,60,1,192,0,0,0,192,0,0,0,197,130,65,0,198,34,61,1,198,98,61,1,198,163,61,1,197,194,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,62,1,197,2,66,0,192,0,0,0,198,99,62,1,198,194,62,1,198,3,63,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,63,1,198,162,63,1,198,226,63,1,198,35,64,1,192,0,0,0,198,130,64,1,192,0,0,0,198,195,64,1,192,0,0,0,197,66,66,0,192,0,0,0,198,35,65,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,65,1,192,0,0,0,198,227,65,1,198,67,66,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,66,1,192,0,0,0,197,130,66,0,192,0,0,0,197,194,66,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,66,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,67,1,192,0,0,0,198,130,67,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,67,1,198,35,68,1,192,0,0,0,198,130,68,1,198,194,68,1,192,0,0,0,192,0,0,0,198,3,69,1,198,99,69,1,192,0,0,0,192,0,0,0,197,2,67,0,192,0,0,0,198,194,69,1,192,0,0,0,198,2,70,1,192,0,0,0,198,67,70,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,70,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,70,1,197,66,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,71,1,192,0,0,0,192,0,0,0,198,130,71,1,198,194,71,1,198,2,72,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,67,0,192,0,0,0,192,0,0,0,198,67,72,1,192,0,0,0,192,0,0,0,198,163,72,1,192,0,0,0,192,0,0,0,192,0,0,0,197,194,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,73,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,73,1,198,163,73,1,192,0,0,0,192,0,0,0,198,2,74,1,198,67,74,1,192,0,0,0,192,0,0,0,198,163,74,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,76,1,197,67,68,0,192,0,0,0,198,99,76,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,76,1,198,3,77,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,77,1,192,0,0,0,192,0,0,0,198,194,77,1,192,0,0,0,198,2,78,1,192,0,0,0,192,0,0,0,197,162,68,0,192,0,0,0,192,0,0,0,198,66,78,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,78,1,192,0,0,0,198,227,78,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,79,1,198,131,79,1,198,227,79,1,198,66,80,1,198,130,80,1,198,194,80,1,192,0,0,0,198,2,81,1,198,66,81,1,192,0,0,0,198,131,81,1,192,0,0,0,192,0,0,0,192,0,0,0,198,227,81,1,198,67,82,1,192,0,0,0,198,162,82,1,197,227,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,69,0,198,226,82,1,192,0,0,0,198,35,83,1,198,131,83,1,197,130,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,83,1,198,35,84,1,198,130,84,1,198,195,84,1,192,0,0,0,198,35,85,1,198,131,85,1,192,0,0,0,192,0,0,0,198,227,85,1,192,0,0,0,198,66,86,1,192,0,0,0,197,194,69,0,197,2,70,0,198,130,86,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,86,1,192,0,0,0,192,0,0,0,192,0,0,0,198,3,87,1,198,99,87,1,192,0,0,0,198,194,87,1,192,0,0,0,192,0,0,0,198,2,88,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,70,0,192,0,0,0,192,0,0,0,198,66,88,1,197,130,70,0,192,0,0,0,198,131,88,1,198,226,88,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,70,0,192,0,0,0,192,0,0,0,198,35,89,1,192,0,0,0,198,131,89,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,89,1,192,0,0,0,192,0,0,0,198,34,90,1,192,0,0,0,198,99,90,1,192,0,0,0,192,0,0,0,198,194,90,1,192,0,0,0,192,0,0,0,198,3,91,1,192,0,0,0,198,98,91,1,192,0,0,0,198,163,91,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,92,1,198,99,92,1,198,195,92,1,192,0,0,0,192,0,0,0,198,35,93,1,192,0,0,0,198,131,93,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,93,1,192,0,0,0,192,0,0,0,192,0,0,0,198,66,94,1,197,3,71,0,192,0,0,0,192,0,0,0,198,131,94,1,198,227,94,1,198,66,95,1,198,130,95,1,198,195,95,1,192,0,0,0,198,34,96,1,197,98,71,0,198,98,96,1,197,162,71,0,192,0,0,0,198,163,96,1,192,0,0,0,198,2,97,1,192,0,0,0,198,66,97,1,198,130,97,1,198,194,97,1,192,0,0,0,192,0,0,0,192,0,0,0,197,226,71,0,192,0,0,0,198,3,98,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,98,1,198,195,98,1,192,0,0,0,192,0,0,0,192,0,0,0,198,34,99,1,198,98,99,1,192,0,0,0,197,35,72,0,192,0,0,0,197,130,72,0,192,0,0,0,198,163,99,1,192,0,0,0,192,0,0,0,198,3,100,1,192,0,0,0,197,194,72,0,198,99,100,1,192,0,0,0,192,0,0,0,198,195,100,1,192,0,0,0,198,34,101,1,198,98,101,1,198,163,101,1,198,2,102,1,198,67,102,1,198,163,102,1,192,0,0,0,192,0,0,0,198,3,103,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,103,1,192,0,0,0,198,195,103,1,197,3,73,0,198,35,104,1,198,131,104,1,198,226,104,1,198,35,105,1,198,131,105,1,197,98,73,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,105,1,198,67,106,1,198,163,106,1,197,162,73,0,197,227,73,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,107,1,192,0,0,0,198,99,107,1,192,0,0,0,198,194,107,1,192,0,0,0,192,0,0,0,197,66,74,0,198,3,108,1,198,98,108,1,198,162,108,1,192,0,0,0,198,227,108,1,198,67,109,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,109,1,198,2,110,1,192,0,0,0,198,67,110,1,198,163,110,1,198,2,111,1,198,67,111,1,198,163,111,1,198,2,112,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,112,1,192,0,0,0,192,0,0,0,192,0,0,0,198,130,112,1,192,0,0,0,198,195,112,1,198,34,113,1,198,99,113,1,192,0,0,0,197,131,74,0,198,195,113,1,197,226,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,114,1,198,131,114,1,192,0,0,0,197,34,75,0,197,99,75,0,192,0,0,0,198,226,114,1,197,194,75,0,198,35,115,1,198,131,115,1,198,226,115,1,198,35,116,1,192,0,0,0,198,130,116,1,198,195,116,1,197,2,76,0,198,34,117,1,198,99,117,1,197,67,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,117,1,198,34,118,1,192,0,0,0,198,99,118,1,192,0,0,0,198,194,118,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,119,1,192,0,0,0,192,0,0,0,198,98,119,1,198,163,119,1,192,0,0,0,198,3,120,1,198,99,120,1,197,162,76,0,198,195,120,1,198,35,121,1,198,130,121,1,198,194,121,1,198,2,122,1,198,66,122,1,192,0,0,0,198,130,122,1,192,0,0,0,192,0,0,0,198,194,122,1,192,0,0,0,198,3,123,1,192,0,0,0,192,0,0,0,198,99,123,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,123,1,198,35,124,1,192,0,0,0,192,0,0,0,192,0,0,0,198,130,124,1,192,0,0,0,192,0,0,0,192,0,0,0,198,195,124,1,192,0,0,0,192,0,0,0,198,35,125,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,125,1,198,195,125,1,198,35,126,1,198,130,126,1,198,194,126,1,192,0,0,0,198,2,127,1,198,66,127,1,198,131,127,1,198,226,127,1,192,0,0,0,192,0,0,0,192,0,0,0,198,34,128,1,198,98,128,1,198,163,128,1,198,3,129,1,192,0,0,0,192,0,0,0,198,99,129,1,192,0,0,0,198,194,129,1,198,2,130,1,192,0,0,0,198,67,130,1,198,163,130,1,192,0,0,0,192,0,0,0,192,0,0,0,198,3,131,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,131,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,131,1,192,0,0,0,198,2,132,1,192,0,0,0,198,67,132,1,198,162,132,1,192,0,0,0,192,0,0,0,198,226,132,1,192,0,0,0,192,0,0,0,192,0,0,0,198,35,133,1,192,0,0,0,192,0,0,0,198,131,133,1,192,0,0,0,198,227,133,1,192,0,0,0,198,67,134,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,77,0,198,162,134,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,77,0,192,0,0,0,198,227,134,1,192,0,0,0,198,67,135,1,192,0,0,0,192,0,0,0,198,163,135,1,198,2,136,1,198,67,136,1,198,163,136,1,192,0,0,0,198,2,137,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,137,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,137,1,192,0,0,0,198,2,138,1,192,0,0,0,197,194,77,0,198,67,138,1,198,162,138,1,197,2,78,0,198,227,138,1,198,67,139,1,198,162,139,1,198,227,139,1,198,67,140,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,140,1,192,0,0,0,198,227,140,1,192,0,0,0,197,66,78,0,192,0,0,0,198,67,141,1,198,163,141,1,192,0,0,0,198,3,142,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,142,1,192,0,0,0,198,194,142,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,143,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,143,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,143,1,198,2,144,1,192,0,0,0,192,0,0,0,192,0,0,0,198,66,144,1,192,0,0,0,198,131,144,1,198,227,144,1,198,66,145,1,192,0,0,0,192,0,0,0,198,131,145,1,192,0,0,0,198,226,145,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,146,1,192,0,0,0,197,195,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,146,1,198,227,146,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,147,1,198,130,147,1,192,0,0,0,198,195,147,1,198,35,148,1,192,0,0,0,192,0,0,0,197,34,79,0,198,130,148,1,198,194,148,1,198,3,149,1,192,0,0,0,198,99,149,1,192,0,0,0,198,195,149,1,192,0,0,0,192,0,0,0,192,0,0,0,198,35,150,1,192,0,0,0,192,0,0,0,198,131,150,1,192,0,0,0,197,98,79,0,192,0,0,0,198,227,150,1,198,67,151,1,192,0,0,0,198,163,151,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,79,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,152,1,192,0,0,0,192,0,0,0,192,0,0,0,198,67,152,1,198,163,152,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,153,1,198,67,153,1,192,0,0,0,198,162,153,1,192,0,0,0,198,227,153,1,192,0,0,0,192,0,0,0,198,67,154,1,197,226,79,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,154,1,192,0,0,0,192,0,0,0,197,34,80,0,192,0,0,0,192,0,0,0,198,2,155,1,192,0,0,0,198,67,155,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,155,1,198,227,155,1,192,0,0,0,198,67,156,1,192,0,0,0,192,0,0,0,198,162,156,1,192,0,0,0,192,0,0,0,192,0,0,0,198,226,156,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,157,1,192,0,0,0,198,131,157,1,198,226,157,1,192,0,0,0,192,0,0,0,192,0,0,0,198,35,158,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,158,1,192,0,0,0,192,0,0,0,198,226,158,1,192,0,0,0,197,98,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,159,1,192,0,0,0,192,0,0,0,198,131,159,1,198,227,159,1,192,0,0,0,192,0,0,0,197,163,80,0,192,0,0,0,197,2,81,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,81,0,198,67,160,1,192,0,0,0,198,163,160,1,192,0,0,0,198,2,161,1,198,67,161,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,161,1,192,0,0,0,198,2,162,1,192,0,0,0,197,130,81,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,162,1,198,163,162,1,198,3,163,1,192,0,0,0,192,0,0,0,198,99,163,1,192,0,0,0,192,0,0,0,192,0,0,0,198,195,163,1,192,0,0,0,192,0,0,0,198,35,164,1,198,130,164,1,192,0,0,0,192,0,0,0,198,195,164,1,198,34,165,1,192,0,0,0,192,0,0,0,198,99,165,1,197,194,81,0,198,194,165,1,198,2,166,1,192,0,0,0,192,0,0,0,198,66,166,1,192,0,0,0,192,0,0,0,198,130,166,1,192,0,0,0,192,0,0,0,198,194,166,1,198,2,167,1,198,66,167,1,197,2,82,0,197,66,82,0,192,0,0,0,198,131,167,1,192,0,0,0,198,227,167,1,192,0,0,0,192,0,0,0,192,0,0,0,198,67,168,1,198,163,168,1,192,0,0,0,192,0,0,0,192,0,0,0,198,2,169,1,198,66,169,1,192,0,0,0,192,0,0,0,198,131,169,1,192,0,0,0,192,0,0,0,198,227,169,1,192,0,0,0,192,0,0,0,197,130,82,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,170,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,170,1,197,195,82,0,192,0,0,0,192,0,0,0,198,3,171,1,198,98,171,1,198,163,171,1,192,0,0,0,197,34,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,172,1,192,0,0,0,192,0,0,0,198,66,172,1,192,0,0,0,192,0,0,0,198,130,172,1,192,0,0,0,198,195,172,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,173,1,192,0,0,0,192,0,0,0,198,130,173,1,198,194,173,1,198,3,174,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,174,1,192,0,0,0,197,98,83,0,198,163,174,1,192,0,0,0,192,0,0,0,197,162,83,0,198,3,175,1,197,227,83,0,192,0,0,0,198,99,175,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,84,0,192,0,0,0,198,195,175,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,176,1,198,131,176,1,192,0,0,0,192,0,0,0,198,227,176,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,177,1,197,162,84,0,192,0,0,0,198,163,177,1,198,3,178,1,197,226,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,178,1,192,0,0,0,198,195,178,1,198,35,179,1,198,130,179,1,192,0,0,0,192,0,0,0,192,0,0,0,198,195,179,1,198,35,180,1,198,131,180,1,198,227,180,1,198,67,181,1,192,0,0,0,192,0,0,0,198,163,181,1,198,3,182,1,198,99,182,1,198,194,182,1,197,35,85,0,197,130,85,0,197,194,85,0,198,2,183,1,198,67,183,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,183,1,192,0,0,0,192,0,0,0,198,2,184,1,192,0,0,0,192,0,0,0,198,67,184,1,198,162,184,1,192,0,0,0,192,0,0,0,192,0,0,0,198,226,184,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,86,0,198,34,185,1,198,99,185,1,192,0,0,0,192,0,0,0,198,195,185,1,192,0,0,0,198,34,186,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,186,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,186,1,197,66,86,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,187,1,192,0,0,0,198,67,187,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,187,1,192,0,0,0,198,227,187,1,198,66,188,1,198,131,188,1,198,227,188,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,189,1,197,130,86,0,192,0,0,0,192,0,0,0,198,131,189,1,198,227,189,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,86,0,198,67,190,1,198,163,190,1,198,2,191,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,191,1,198,131,191,1,192,0,0,0,198,227,191,1,192,0,0,0,198,67,192,1,198,162,192,1,192,0,0,0,192,0,0,0,192,0,0,0,198,226,192,1,198,35,193,1,192,0,0,0,198,130,193,1,197,3,87,0,198,194,193,1,198,3,194,1,198,98,194,1,197,98,87,0,198,163,194,1,192,0,0,0,198,2,195,1,192,0,0,0,198,67,195,1,197,162,87,0,198,163,195,1,192,0,0,0,192,0,0,0,197,226,87,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,196,1,192,0,0,0,198,99,196,1,192,0,0,0,192,0,0,0,198,195,196,1,198,35,197,1,192,0,0,0,192,0,0,0,198,131,197,1,197,34,88,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,197,1,192,0,0,0,198,67,198,1,192,0,0,0,198,162,198,1,198,227,198,1,192,0,0,0,192,0,0,0,198,67,199,1,197,99,88,0,192,0,0,0,197,194,88,0,198,163,199,1,192,0,0,0,192,0,0,0,192,0,0,0,198,3,200,1,192,0,0,0,198,98,200,1,192,0,0,0,198,163,200,1,198,2,201,1,198,67,201,1,192,0,0,0,198,163,201,1,197,3,89,0,192,0,0,0,192,0,0,0,198,2,202,1,192,0,0,0,192,0,0,0,192,0,0,0,197,98,89,0,192,0,0,0,192,0,0,0,198,66,202,1,192,0,0,0,192,0,0,0,198,130,202,1,198,195,202,1,197,162,89,0,192,0,0,0,198,34,203,1,192,0,0,0,192,0,0,0,192,0,0,0,198,98,203,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,203,1,192,0,0,0,192,0,0,0,198,3,204,1,198,99,204,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,204,1,192,0,0,0,197,227,89,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,205,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,205,1,192,0,0,0,198,195,205,1,192,0,0,0,198,35,206,1,192,0,0,0,198,130,206,1,192,0,0,0,198,195,206,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,207,1,192,0,0,0,198,131,207,1,197,66,90,0,197,130,90,0,197,194,90,0,192,0,0,0,198,226,207,1,192,0,0,0,198,34,208,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,208,1,192,0,0,0,198,195,208,1,192,0,0,0,198,35,209,1,198,131,209,1,192,0,0,0,198,226,209,1,197,2,91,0,198,34,210,1,198,99,210,1,198,195,210,1,192,0,0,0,192,0,0,0,198,35,211,1,198,131,211,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,211,1,192,0,0,0,198,67,212,1,192,0,0,0,192,0,0,0,197,66,91,0,192,0,0,0,192,0,0,0,198,163,212,1,198,3,213,1,198,99,213,1,198,194,213,1,192,0,0,0,192,0,0,0,198,2,214,1,192,0,0,0,198,67,214,1,197,131,91,0,198,163,214,1,197,226,91,0,198,3,215,1,197,34,92,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,215,1,198,163,215,1,198,2,216,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,216,1,198,162,216,1,198,226,216,1,192,0,0,0,192,0,0,0,198,35,217,1,192,0,0,0,198,131,217,1,192,0,0,0,198,226,217,1,198,34,218,1,192,0,0,0,198,98,218,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,218,1,197,99,92,0,198,3,219,1,198,99,219,1,192,0,0,0,198,195,219,1,198,34,220,1,198,98,220,1,197,194,92,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,220,1,192,0,0,0,198,3,221,1,192,0,0,0,198,99,221,1,192,0,0,0,192,0,0,0,198,194,221,1,197,2,93,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,222,1,192,0,0,0,197,67,93,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,222,1,192,0,0,0,192,0,0,0,198,162,222,1,198,227,222,1,192,0,0,0,192,0,0,0,197,163,93,0,192,0,0,0,197,3,94,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,223,1,198,162,223,1,198,227,223,1,198,67,224,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,224,1,198,3,225,1,198,99,225,1,198,195,225,1,198,35,226,1,192,0,0,0,192,0,0,0,198,130,226,1,192,0,0,0,192,0,0,0,192,0,0,0,198,195,226,1,192,0,0,0,192,0,0,0,197,98,94,0,192,0,0,0,198,35,227,1,198,130,227,1,192,0,0,0,192,0,0,0,197,163,94,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,227,1,192,0,0,0,192,0,0,0,198,34,228,1,192,0,0,0,192,0,0,0,197,3,95,0,198,99,228,1,197,99,95,0,192,0,0,0,198,195,228,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,229,1,192,0,0,0,192,0,0,0,198,99,229,1,192,0,0,0,198,195,229,1,192,0,0,0,192,0,0,0,198,34,230,1,192,0,0,0,198,99,230,1,197,194,95,0,198,194,230,1,198,3,231,1,192,0,0,0,197,2,96,0,192,0,0,0,198,99,231,1,198,195,231,1,198,34,232,1,192,0,0,0,192,0,0,0,197,66,96,0,198,98,232,1,192,0,0,0,192,0,0,0,192,0,0,0,198,163,232,1,198,3,233,1,198,99,233,1,198,195,233,1,198,34,234,1,198,98,234,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,234,1,192,0,0,0,192,0,0,0,192,0,0,0,197,131,96,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,235,1,198,99,235,1,198,194,235,1,192,0,0,0,192,0,0,0,198,3,236,1,198,99,236,1,198,194,236,1,192,0,0,0,197,227,96,0,192,0,0,0,192,0,0,0,197,67,97,0,192,0,0,0,192,0,0,0,198,3,237,1,192,0,0,0,198,99,237,1,192,0,0,0,192,0,0,0,198,194,237,1,192,0,0,0,192,0,0,0,192,0,0,0,198,3,238,1,198,98,238,1,192,0,0,0,192,0,0,0,198,163,238,1,192,0,0,0,197,163,97,0,198,2,239,1,192,0,0,0,197,2,98,0,198,66,239,1,197,67,98,0,197,162,98,0,192,0,0,0,192,0,0,0,198,131,239,1,198,227,239,1,198,67,240,1,198,163,240,1,198,3,241,1,198,99,241,1,192,0,0,0,198,195,241,1,197,227,98,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,242,1,192,0,0,0,198,131,242,1,198,226,242,1,198,35,243,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,243,1,192,0,0,0,198,227,243,1,197,66,99,0,198,67,244,1,192,0,0,0,197,131,99,0,192,0,0,0,192,0,0,0,198,163,244,1,192,0,0,0,197,226,99,0,197,34,100,0,197,98,100,0,198,3,245,1,192,0,0,0,192,0,0,0,198,99,245,1,198,195,245,1,192,0,0,0,192,0,0,0,192,0,0,0,198,34,246,1,197,162,100,0,192,0,0,0,198,99,246,1,197,227,100,0,198,195,246,1,192,0,0,0,192,0,0,0,198,34,247,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,247,1,198,194,247,1,198,2,248,1,198,67,248,1,197,66,101,0,198,163,248,1,198,3,249,1,192,0,0,0,198,98,249,1,192,0,0,0,192,0,0,0,198,163,249,1,198,2,250,1,197,130,101,0,198,67,250,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,250,1,198,3,251,1,198,98,251,1,198,163,251,1,192,0,0,0,198,3,252,1,192,0,0,0,198,99,252,1,192,0,0,0,192,0,0,0,192,0,0,0,198,195,252,1,192,0,0,0,197,195,101,0,192,0,0,0,198,35,253,1,192,0,0,0,198,131,253,1,192,0,0,0,192,0,0,0,198,227,253,1,198,67,254,1,197,35,102,0,198,163,254,1,198,3,255,1,198,99,255,1,192,0,0,0,197,130,102,0,197,194,102,0,198,195,255,1,197,2,103,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,0,2,198,98,0,2,198,163,0,2,198,3,1,2,197,66,103,0,192,0,0,0,197,131,103,0,198,99,1,2,198,195,1,2,197,226,103,0,198,35,2,2,198,131,2,2,198,227,2,2,192,0,0,0,192,0,0,0,192,0,0,0,198,66,3,2,198,130,3,2,192,0,0,0,198,195,3,2,192,0,0,0,192,0,0,0,198,35,4,2,192,0,0,0,197,34,104,0,197,98,104,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,4,2,197,163,104,0,197,2,105,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,4,2,198,67,5,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,5,2,198,226,5,2,197,67,105,0,192,0,0,0,192,0,0,0,198,35,6,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,6,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,6,2,198,2,7,2,192,0,0,0,192,0,0,0,197,163,105,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,7,2,192,0,0,0,192,0,0,0,198,162,7,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,7,2,192,0,0,0,198,66,8,2,198,131,8,2,192,0,0,0,192,0,0,0,198,227,8,2,192,0,0,0,198,67,9,2,192,0,0,0,198,162,9,2,198,227,9,2,198,66,10,2,192,0,0,0,198,131,10,2,197,2,106,0,197,67,106,0,198,227,10,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,11,2,197,162,106,0,192,0,0,0,198,162,11,2,192,0,0,0,192,0,0,0,198,227,11,2,198,67,12,2,198,163,12,2,192,0,0,0,192,0,0,0,197,227,106,0,192,0,0,0,198,3,13,2,198,98,13,2,192,0,0,0,198,163,13,2,198,3,14,2,198,99,14,2,192,0,0,0,192,0,0,0,197,66,107,0,198,194,14,2,192,0,0,0,192,0,0,0,198,3,15,2,192,0,0,0,192,0,0,0,197,130,107,0,192,0,0,0,197,194,107,0,198,99,15,2,192,0,0,0,198,195,15,2,198,35,16,2,198,131,16,2,198,227,16,2,198,67,17,2,192,0,0,0,192,0,0,0,198,162,17,2,192,0,0,0,192,0,0,0,198,227,17,2,198,67,18,2,192,0,0,0,192,0,0,0,198,163,18,2,198,2,19,2,198,67,19,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,19,2,192,0,0,0,192,0,0,0,198,226,19,2,198,35,20,2,192,0,0,0,198,131,20,2,198,227,20,2,197,2,108,0,192,0,0,0,198,66,21,2,192,0,0,0,198,131,21,2,192,0,0,0,197,66,108,0,197,130,108,0,198,227,21,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,22,2,192,0,0,0,192,0,0,0,198,163,22,2,198,3,23,2,198,98,23,2,192,0,0,0,198,163,23,2,198,3,24,2,192,0,0,0,198,98,24,2,198,163,24,2,192,0,0,0,192,0,0,0,198,3,25,2,192,0,0,0,192,0,0,0,192,0,0,0,198,99,25,2,192,0,0,0,198,195,25,2,192,0,0,0,198,35,26,2,198,131,26,2,198,227,26,2,192,0,0,0,198,67,27,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,27,2,192,0,0,0,192,0,0,0,198,2,28,2,198,67,28,2,197,194,108,0,198,163,28,2,198,2,29,2,198,66,29,2,198,131,29,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,29,2,192,0,0,0,197,2,109,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,30,2,198,162,30,2,192,0,0,0,192,0,0,0,192,0,0,0,198,227,30,2,192,0,0,0,192,0,0,0,198,66,31,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,31,2,192,0,0,0,192,0,0,0,192,0,0,0,198,226,31,2,197,66,109,0,198,35,32,2,192,0,0,0,198,131,32,2,192,0,0,0,198,226,32,2,197,131,109,0,198,35,33,2,197,226,109,0,198,131,33,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,33,2,197,34,110,0,192,0,0,0,198,66,34,2,192,0,0,0,198,131,34,2,198,226,34,2,198,35,35,2,192,0,0,0,198,131,35,2,198,226,35,2,198,34,36,2,192,0,0,0,198,99,36,2,198,195,36,2,197,99,110,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,37,2,192,0,0,0,192,0,0,0,192,0,0,0,198,131,37,2,198,227,37,2,192,0,0,0,198,67,38,2,198,163,38,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,39,2,192,0,0,0,198,99,39,2,198,195,39,2,192,0,0,0,192,0,0,0,192,0,0,0,198,35,40,2,192,0,0,0,198,131,40,2,197,194,110,0,197,2,111,0,198,227,40,2,198,66,41,2,198,130,41,2,197,66,111,0,192,0,0,0,192,0,0,0,198,195,41,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,111,0,198,35,42,2,198,130,42,2,198,195,42,2,192,0,0,0,198,35,43,2,192,0,0,0,192,0,0,0,192,0,0,0,198,131,43,2,197,194,111,0,198,226,43,2,198,35,44,2,198,130,44,2,192,0,0,0,198,194,44,2,198,3,45,2,192,0,0,0,192,0,0,0,198,99,45,2,198,194,45,2,198,2,46,2,192,0,0,0,192,0,0,0,192,0,0,0,198,66,46,2,198,131,46,2,192,0,0,0,192,0,0,0,198,227,46,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,47,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,47,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,47,2,192,0,0,0,192,0,0,0,198,67,48,2,192,0,0,0,198,163,48,2,192,0,0,0,192,0,0,0,198,2,49,2,192,0,0,0,192,0,0,0,198,66,49,2,198,130,49,2,192,0,0,0,198,195,49,2,192,0,0,0,198,34,50,2,198,99,50,2,198,194,50,2,192,0,0,0,192,0,0,0,198,3,51,2,198,98,51,2,192,0,0,0,198,163,51,2,192,0,0,0,192,0,0,0,198,3,52,2,197,2,112,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,52,2,198,194,52,2,192,0,0,0,198,2,53,2,197,66,112,0,198,66,53,2,198,131,53,2,198,227,53,2,192,0,0,0,192,0,0,0,198,66,54,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,54,2,192,0,0,0,192,0,0,0,197,130,112,0,198,226,54,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,55,2,192,0,0,0,192,0,0,0,192,0,0,0,197,194,112,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,55,2,192,0,0,0,192,0,0,0,198,195,55,2,197,2,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,56,2,192,0,0,0,198,130,56,2,198,195,56,2,198,35,57,2,198,130,57,2,198,195,57,2,198,35,58,2,198,130,58,2,192,0,0,0,198,195,58,2,198,35,59,2,192,0,0,0,198,130,59,2,198,194,59,2,198,3,60,2,198,98,60,2,198,163,60,2,198,3,61,2,198,98,61,2,198,162,61,2,197,66,113,0,198,226,61,2,198,35,62,2,192,0,0,0,198,130,62,2,198,194,62,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,63,2,198,99,63,2,198,195,63,2,198,35,64,2,192,0,0,0,198,131,64,2,192,0,0,0,198,227,64,2,192,0,0,0,198,67,65,2,198,163,65,2,198,2,66,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,113,0,198,67,66,2,198,162,66,2,192,0,0,0,198,226,66,2,197,194,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,67,2,192,0,0,0,198,99,67,2,192,0,0,0,192,0,0,0,198,195,67,2,192,0,0,0,192,0,0,0,192,0,0,0,198,34,68,2,198,98,68,2,198,163,68,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,69,2,192,0,0,0,198,66,69,2,197,2,114,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,69,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,69,2,198,67,70,2,198,163,70,2,192,0,0,0,198,3,71,2,197,67,114,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,71,2,198,163,71,2,198,2,72,2,192,0,0,0,198,67,72,2,192,0,0,0,192,0,0,0,198,163,72,2,192,0,0,0,192,0,0,0,198,3,73,2,198,99,73,2,198,194,73,2,198,3,74,2,198,99,74,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,74,2,192,0,0,0,198,3,75,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,75,2,198,194,75,2,198,3,76,2,192,0,0,0,198,99,76,2,192,0,0,0,192,0,0,0,198,194,76,2,192,0,0,0,192,0,0,0,198,2,77,2,198,67,77,2,192,0,0,0,192,0,0,0,192,0,0,0,198,162,77,2,197,163,114,0,192,0,0,0,192,0,0,0,198,227,77,2,198,67,78,2,192,0,0,0,192,0,0,0,192,0,0,0,198,162,78,2,197,3,115,0,192,0,0,0,192,0,0,0,198,226,78,2,198,35,79,2,192,0,0,0,192,0,0,0,198,131,79,2,198,226,79,2,198,34,80,2,198,98,80,2,192,0,0,0,198,163,80,2,192,0,0,0,198,2,81,2,198,66,81,2,192,0,0,0,192,0,0,0,198,130,81,2,192,0,0,0,192,0,0,0,192,0,0,0,198,195,81,2,192,0,0,0,198,35,82,2,192,0,0,0,192,0,0,0,197,98,115,0,197,162,115,0,192,0,0,0,192,0,0,0,198,131,82,2,198,227,82,2,198,66,83,2,197,227,115,0,192,0,0,0,192,0,0,0,198,131,83,2,192,0,0,0,198,227,83,2,197,66,116,0,198,67,84,2,198,162,84,2,192,0,0,0,198,227,84,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,85,2,192,0,0,0,198,163,85,2,192,0,0,0,192,0,0,0,198,3,86,2,197,130,116,0,192,0,0,0,198,98,86,2,192,0,0,0,192,0,0,0,198,162,86,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,86,2,197,194,116,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,87,2,192,0,0,0,192,0,0,0,192,0,0,0,198,131,87,2,197,3,117,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,87,2,198,35,88,2,198,131,88,2,192,0,0,0,197,98,117,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,88,2,192,0,0,0,198,34,89,2,192,0,0,0,198,98,89,2,197,162,117,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,89,2,192,0,0,0,198,3,90,2,198,99,90,2,197,226,117,0,198,195,90,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,91,2,192,0,0,0,192,0,0,0,198,99,91,2,192,0,0,0,192,0,0,0,192,0,0,0,198,195,91,2,192,0,0,0,198,35,92,2,192,0,0,0,192,0,0,0,198,131,92,2,192,0,0,0,198,226,92,2,192,0,0,0,198,34,93,2,198,98,93,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,93,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,93,2,192,0,0,0,198,67,94,2,198,162,94,2,192,0,0,0,192,0,0,0,197,35,118,0,192,0,0,0,198,227,94,2,198,67,95,2,198,163,95,2,197,131,118,0,192,0,0,0,198,2,96,2,198,67,96,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,96,2,192,0,0,0,192,0,0,0,192,0,0,0,197,226,118,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,97,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,97,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,97,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,119,0,192,0,0,0,198,34,98,2,192,0,0,0,192,0,0,0,192,0,0,0,198,99,98,2,192,0,0,0,198,194,98,2,192,0,0,0,192,0,0,0,192,0,0,0,198,2,99,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,99,2,198,130,99,2,198,195,99,2,198,35,100,2,192,0,0,0,197,98,119,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,119,0,192,0,0,0,192,0,0,0,198,130,100,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,100,2,198,35,101,2,198,131,101,2,198,226,101,2,192,0,0,0,198,34,102,2,192,0,0,0,192,0,0,0,192,0,0,0,198,99,102,2,198,195,102,2,192,0,0,0,192,0,0,0,197,226,119,0,198,35,103,2,198,130,103,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,103,2,198,35,104,2,192,0,0,0,192,0,0,0,192,0,0,0,198,130,104,2,192,0,0,0,198,194,104,2,192,0,0,0,197,34,120,0,198,3,105,2,192,0,0,0,198,99,105,2,192,0,0,0,198,195,105,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,106,2,198,131,106,2,192,0,0,0,198,226,106,2,198,35,107,2,192,0,0,0,198,131,107,2,192,0,0,0,192,0,0,0,198,226,107,2,198,35,108,2,192,0,0,0,197,99,120,0,192,0,0,0,198,131,108,2,198,227,108,2,192,0,0,0,192,0,0,0,198,66,109,2,198,131,109,2,192,0,0,0,198,227,109,2,192,0,0,0,198,67,110,2,192,0,0,0,198,163,110,2,197,194,120,0,192,0,0,0,198,3,111,2,198,99,111,2,192,0,0,0,198,194,111,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,121,0,198,2,112,2,198,67,112,2,198,162,112,2,192,0,0,0,198,227,112,2,198,67,113,2,198,162,113,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,121,0,197,130,121,0,192,0,0,0,198,227,113,2,192,0,0,0,198,67,114,2,198,163,114,2,192,0,0,0,197,195,121,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,122,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,115,2,192,0,0,0,198,67,115,2,192,0,0,0,198,162,115,2,192,0,0,0,197,98,122,0,192,0,0,0,192,0,0,0,198,227,115,2,192,0,0,0,192,0,0,0,198,67,116,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,116,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,117,2,192,0,0,0,192,0,0,0,192,0,0,0,198,99,117,2,198,195,117,2,192,0,0,0,192,0,0,0,192,0,0,0,198,35,118,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,118,2,198,227,118,2,198,67,119,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,119,2,197,163,122,0,198,227,119,2,192,0,0,0,192,0,0,0,198,66,120,2,192,0,0,0,192,0,0,0,198,130,120,2,192,0,0,0,192,0,0,0,192,0,0,0,198,194,120,2,198,2,121,2,197,2,123,0,198,66,121,2,192,0,0,0,198,131,121,2,192,0,0,0,198,227,121,2,198,67,122,2,198,163,122,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,123,2,192,0,0,0,192,0,0,0,197,66,123,0,198,66,123,2,192,0,0,0,192,0,0,0,192,0,0,0,198,130,123,2,198,194,123,2,198,3,124,2,192,0,0,0,198,98,124,2,192,0,0,0,192,0,0,0,198,162,124,2,198,227,124,2,198,66,125,2,197,130,123,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,123,0,198,131,125,2,192,0,0,0,192,0,0,0,192,0,0,0,198,227,125,2,198,67,126,2,192,0,0,0,192,0,0,0,198,163,126,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,127,2,198,99,127,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,127,2,192,0,0,0,198,3,128,2,198,99,128,2,192,0,0,0,198,194,128,2,198,2,129,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,129,2,192,0,0,0,192,0,0,0,198,162,129,2,198,227,129,2,197,2,124,0,192,0,0,0,197,66,124,0,192,0,0,0,198,67,130,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,130,2,192,0,0,0,192,0,0,0,192,0,0,0,198,2,131,2,198,67,131,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,131,2,192,0,0,0,198,226,131,2,192,0,0,0,198,35,132,2,198,130,132,2,198,194,132,2,192,0,0,0,198,3,133,2,192,0,0,0,198,99,133,2,192,0,0,0,192,0,0,0,198,195,133,2,198,35,134,2,192,0,0,0,198,130,134,2,192,0,0,0,192,0,0,0,192,0,0,0,198,195,134,2,198,35,135,2,192,0,0,0,192,0,0,0,198,130,135,2,198,195,135,2,198,35,136,2,198,131,136,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,136,2,192,0,0,0,198,67,137,2,192,0,0,0,192,0,0,0,198,162,137,2,198,226,137,2,192,0,0,0,198,34,138,2,192,0,0,0,198,99,138,2,198,194,138,2,198,3,139,2,198,98,139,2,197,130,124,0,197,194,124,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,139,2,198,3,140,2,198,99,140,2,192,0,0,0,192,0,0,0,198,195,140,2,192,0,0,0,192,0,0,0,198,34,141,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,141,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,141,2,192,0,0,0,192,0,0,0,198,226,141,2,192,0,0,0,198,35,142,2,198,131,142,2,192,0,0,0,198,226,142,2,198,34,143,2,192,0,0,0,192,0,0,0,198,99,143,2,198,195,143,2,192,0,0,0,192,0,0,0,192,0,0,0,198,35,144,2,198,130,144,2,192,0,0,0,198,194,144,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,145,2,198,99,145,2,198,195,145,2,198,35,146,2,192,0,0,0,198,130,146,2,198,195,146,2,192,0,0,0,192,0,0,0,198,35,147,2,192,0,0,0,192,0,0,0,198,131,147,2,198,227,147,2,192,0,0,0,198,67,148,2,197,2,125,0,192,0,0,0,198,163,148,2,192,0,0,0,198,3,149,2,198,99,149,2,198,195,149,2,198,35,150,2,192,0,0,0,198,131,150,2,198,227,150,2,197,67,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,151,2,192,0,0,0,192,0,0,0,198,131,151,2,198,227,151,2,198,67,152,2,198,163,152,2,192,0,0,0,192,0,0,0,198,3,153,2,198,99,153,2,192,0,0,0,198,194,153,2,198,3,154,2,192,0,0,0,192,0,0,0,198,98,154,2,192,0,0,0,198,162,154,2,192,0,0,0,198,226,154,2,197,162,125,0,198,35,155,2,192,0,0,0,192,0,0,0,198,130,155,2,198,195,155,2,198,35,156,2,198,131,156,2,192,0,0,0,192,0,0,0,198,227,156,2,198,67,157,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,157,2,198,226,157,2,197,227,125,0,197,67,126,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,158,2,198,99,158,2,192,0,0,0,198,195,158,2,198,35,159,2,192,0,0,0,198,131,159,2,198,227,159,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,160,2,192,0,0,0,198,163,160,2,192,0,0,0,198,2,161,2,197,162,126,0,198,67,161,2,192,0,0,0,198,162,161,2,198,227,161,2,192,0,0,0,198,66,162,2,197,227,126,0,197,66,127,0,197,130,127,0,198,131,162,2,198,227,162,2,192,0,0,0,198,67,163,2,198,162,163,2,192,0,0,0,198,226,163,2,198,35,164,2,198,131,164,2,192,0,0,0,192,0,0,0,198,227,164,2,198,67,165,2,192,0,0,0,198,163,165,2,198,2,166,2,198,67,166,2,192,0,0,0,198,162,166,2,198,227,166,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,127,0,192,0,0,0,192,0,0,0,198,66,167,2,197,35,128,0,197,130,128,0,192,0,0,0,198,131,167,2,198,226,167,2,192,0,0,0,198,35,168,2,192,0,0,0,197,194,128,0,198,130,168,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,168,2,198,35,169,2,198,131,169,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,169,2,198,66,170,2,192,0,0,0,198,130,170,2,192,0,0,0,198,195,170,2,198,34,171,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,171,2,198,195,171,2,192,0,0,0,198,34,172,2,192,0,0,0,192,0,0,0,198,99,172,2,198,195,172,2,197,2,129,0,197,67,129,0,198,35,173,2,192,0,0,0,192,0,0,0,198,130,173,2,198,195,173,2,192,0,0,0,198,35,174,2,192,0,0,0,192,0,0,0,198,131,174,2,197,162,129,0,198,226,174,2,198,34,175,2,192,0,0,0,192,0,0,0,198,99,175,2,198,195,175,2,198,35,176,2,198,131,176,2,192,0,0,0,197,226,129,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,176,2,192,0,0,0,192,0,0,0,198,34,177,2,192,0,0,0,192,0,0,0,198,98,177,2,198,163,177,2,197,35,130,0,198,2,178,2,197,131,130,0,192,0,0,0,192,0,0,0,198,67,178,2,192,0,0,0,192,0,0,0,198,163,178,2,192,0,0,0,192,0,0,0,197,226,130,0,192,0,0,0,198,3,179,2,198,99,179,2,198,194,179,2,192,0,0,0,197,34,131,0,192,0,0,0,198,3,180,2,198,99,180,2,198,195,180,2,192,0,0,0,198,35,181,2,197,98,131,0,198,131,181,2,192,0,0,0,192,0,0,0,198,227,181,2,198,66,182,2,198,130,182,2,198,194,182,2,192,0,0,0,198,3,183,2,192,0,0,0,198,99,183,2,197,162,131,0,197,226,131,0,192,0,0,0,192,0,0,0,197,34,132,0,192,0,0,0,198,195,183,2,192,0,0,0,192,0,0,0,198,35,184,2,197,98,132,0,192,0,0,0,198,131,184,2,198,227,184,2,198,67,185,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,185,2,198,3,186,2,192,0,0,0,198,99,186,2,192,0,0,0,192,0,0,0,192,0,0,0,198,195,186,2,192,0,0,0,198,34,187,2,198,98,187,2,198,162,187,2,192,0,0,0,192,0,0,0,192,0,0,0,198,227,187,2,192,0,0,0,192,0,0,0,198,67,188,2,198,163,188,2,198,3,189,2,192,0,0,0,198,98,189,2,198,163,189,2,198,3,190,2,198,99,190,2,198,195,190,2,192,0,0,0,192,0,0,0,198,34,191,2,192,0,0,0,198,99,191,2,198,195,191,2,192,0,0,0,198,34,192,2,192,0,0,0,192,0,0,0,192,0,0,0,197,162,132,0,192,0,0,0,192,0,0,0,197,226,132,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,192,2,198,163,192,2,192,0,0,0,192,0,0,0,198,3,193,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,193,2,198,163,193,2,198,2,194,2,198,67,194,2,192,0,0,0,197,34,133,0,192,0,0,0,192,0,0,0,198,163,194,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,195,2,192,0,0,0,198,66,195,2,198,131,195,2,198,227,195,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,196,2,192,0,0,0,198,131,196,2,198,227,196,2,192,0,0,0,198,66,197,2,198,131,197,2,198,227,197,2,198,66,198,2,198,130,198,2,192,0,0,0,197,98,133,0,192,0,0,0,197,162,133,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,198,2,197,226,133,0,192,0,0,0,198,3,199,2,198,99,199,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,199,2,192,0,0,0,198,3,200,2,192,0,0,0,198,99,200,2,198,195,200,2,192,0,0,0,192,0,0,0,198,35,201,2,198,131,201,2,192,0,0,0,192,0,0,0,198,226,201,2,192,0,0,0,197,35,134,0,192,0,0,0,198,35,202,2,197,130,134,0,197,194,134,0,198,130,202,2,192,0,0,0,197,2,135,0,198,194,202,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,203,2,198,67,203,2,192,0,0,0,198,162,203,2,198,226,203,2,192,0,0,0,192,0,0,0,198,34,204,2,198,98,204,2,198,162,204,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,204,2,192,0,0,0,192,0,0,0,198,34,205,2,192,0,0,0,192,0,0,0,198,99,205,2,198,194,205,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,206,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,206,2,198,194,206,2,198,3,207,2,198,99,207,2,198,195,207,2,197,66,135,0,192,0,0,0,192,0,0,0,198,35,208,2,198,130,208,2,197,131,135,0,197,226,135,0,192,0,0,0,192,0,0,0,198,195,208,2,198,35,209,2,198,131,209,2,192,0,0,0,192,0,0,0,197,34,136,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,209,2,192,0,0,0,192,0,0,0,198,35,210,2,192,0,0,0,192,0,0,0,198,130,210,2,198,194,210,2,198,2,211,2,192,0,0,0,198,66,211,2,198,130,211,2,198,195,211,2,198,34,212,2,192,0,0,0,192,0,0,0,198,98,212,2,192,0,0,0,198,162,212,2,192,0,0,0,192,0,0,0,198,227,212,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,136,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,213,2,198,163,213,2,192,0,0,0,192,0,0,0,198,2,214,2,198,67,214,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,214,2,198,3,215,2,192,0,0,0,192,0,0,0,198,98,215,2,198,163,215,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,216,2,192,0,0,0,192,0,0,0,192,0,0,0,198,66,216,2,198,131,216,2,192,0,0,0,198,227,216,2,198,66,217,2,192,0,0,0,198,131,217,2,192,0,0,0,192,0,0,0,192,0,0,0,197,163,136,0,198,227,217,2,192,0,0,0,198,67,218,2,198,163,218,2,198,2,219,2,192,0,0,0,192,0,0,0,198,67,219,2,198,163,219,2,198,2,220,2,198,66,220,2,198,131,220,2,192,0,0,0,198,227,220,2,192,0,0,0,198,67,221,2,198,163,221,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,222,2,192,0,0,0,198,99,222,2,198,195,222,2,192,0,0,0,197,3,137,0,198,35,223,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,223,2,192,0,0,0,198,227,223,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,224,2,192,0,0,0,198,131,224,2,198,227,224,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,225,2,198,163,225,2,192,0,0,0,198,3,226,2,192,0,0,0,198,99,226,2,192,0,0,0,198,194,226,2,198,3,227,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,227,2,192,0,0,0,192,0,0,0,192,0,0,0,198,194,227,2,197,98,137,0,192,0,0,0,192,0,0,0,198,3,228,2,192,0,0,0,192,0,0,0,192,0,0,0,198,98,228,2,192,0,0,0,198,162,228,2,192,0,0,0,197,162,137,0,197,226,137,0,198,227,228,2,198,66,229,2,198,131,229,2,192,0,0,0,192,0,0,0,192,0,0,0,198,226,229,2,198,34,230,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,230,2,192,0,0,0,197,34,138,0,198,162,230,2,198,227,230,2,192,0,0,0,198,66,231,2,192,0,0,0,198,131,231,2,198,226,231,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,232,2,198,99,232,2,192,0,0,0,192,0,0,0,192,0,0,0,198,195,232,2,198,34,233,2,198,98,233,2,198,162,233,2,198,227,233,2,192,0,0,0,192,0,0,0,198,66,234,2,192,0,0,0,198,131,234,2,192,0,0,0,192,0,0,0,198,227,234,2,198,67,235,2,198,162,235,2,198,227,235,2,192,0,0,0,198,67,236,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,236,2,198,3,237,2,192,0,0,0,192,0,0,0,197,98,138,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,237,2,198,194,237,2,192,0,0,0,192,0,0,0,192,0,0,0,198,3,238,2,192,0,0,0,198,99,238,2,192,0,0,0,192,0,0,0,192,0,0,0,198,194,238,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,239,2,198,67,239,2,198,163,239,2,198,3,240,2,192,0,0,0,192,0,0,0,192,0,0,0,198,99,240,2,198,195,240,2,192,0,0,0,192,0,0,0,198,35,241,2,197,162,138,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,241,2,192,0,0,0,198,227,241,2,197,226,138,0,192,0,0,0,192,0,0,0,198,66,242,2,198,130,242,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,242,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,243,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,139,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,243,2,192,0,0,0,198,227,243,2,192,0,0,0,192,0,0,0,197,99,139,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,244,2,192,0,0,0,198,163,244,2,192,0,0,0,192,0,0,0,198,2,245,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,245,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,245,2,192,0,0,0,192,0,0,0,192,0,0,0,198,227,245,2,198,67,246,2,198,162,246,2,192,0,0,0,198,227,246,2,192,0,0,0,198,66,247,2,198,130,247,2,192,0,0,0,192,0,0,0,198,195,247,2,198,35,248,2,192,0,0,0,198,131,248,2,197,194,139,0,197,2,140,0,198,226,248,2,192,0,0,0,198,35,249,2,192,0,0,0,192,0,0,0,198,131,249,2,192,0,0,0,198,227,249,2,198,67,250,2,198,163,250,2,198,3,251,2,197,66,140,0,198,99,251,2,192,0,0,0,192,0,0,0,192,0,0,0,198,194,251,2,192,0,0,0,198,3,252,2,192,0,0,0,197,130,140,0,197,194,140,0,198,99,252,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,252,2,192,0,0,0,192,0,0,0,198,2,253,2,192,0,0,0,192,0,0,0,198,67,253,2,198,163,253,2,192,0,0,0,192,0,0,0,198,2,254,2,192,0,0,0,192,0,0,0,198,67,254,2,198,163,254,2,192,0,0,0,192,0,0,0,198,2,255,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,255,2,197,3,141,0,198,163,255,2,198,2,0,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,0,3,198,131,0,3,192,0,0,0,198,226,0,3,197,98,141,0,192,0,0,0,192,0,0,0,198,34,1,3,192,0,0,0,192,0,0,0,198,98,1,3,192,0,0,0,192,0,0,0,192,0,0,0,197,163,141,0,197,3,142,0,192,0,0,0,198,163,1,3,192,0,0,0,198,2,2,3,198,66,2,3,192,0,0,0,198,131,2,3,192,0,0,0,192,0,0,0,192,0,0,0,198,227,2,3,192,0,0,0,192,0,0,0,198,67,3,3,198,162,3,3,197,98,142,0,198,227,3,3,198,66,4,3,192,0,0,0,198,130,4,3,192,0,0,0,192,0,0,0,198,195,4,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,142,0,198,35,5,3,198,131,5,3,198,227,5,3,198,66,6,3,198,130,6,3,192,0,0,0,192,0,0,0,198,195,6,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,7,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,7,3,192,0,0,0,198,194,7,3,192,0,0,0,198,2,8,3,192,0,0,0,198,67,8,3,198,163,8,3,192,0,0,0,198,3,9,3,192,0,0,0,192,0,0,0,198,99,9,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,9,3,198,35,10,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,10,3,198,227,10,3,198,66,11,3,198,130,11,3,192,0,0,0,192,0,0,0,197,226,142,0,192,0,0,0,197,34,143,0,192,0,0,0,198,194,11,3,192,0,0,0,192,0,0,0,197,98,143,0,198,3,12,3,192,0,0,0,198,98,12,3,192,0,0,0,198,163,12,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,13,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,13,3,192,0,0,0,192,0,0,0,198,163,13,3,198,2,14,3,197,162,143,0,197,226,143,0,192,0,0,0,198,67,14,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,14,3,198,3,15,3,192,0,0,0,192,0,0,0,197,34,144,0,198,98,15,3,192,0,0,0,198,162,15,3,198,226,15,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,16,3,192,0,0,0,198,131,16,3,198,227,16,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,17,3,198,163,17,3,198,3,18,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,18,3,192,0,0,0,198,163,18,3,198,2,19,3,192,0,0,0,192,0,0,0,192,0,0,0,198,67,19,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,144,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,19,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,20,3,198,99,20,3,192,0,0,0,192,0,0,0,192,0,0,0,198,195,20,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,21,3,192,0,0,0,192,0,0,0,192,0,0,0,198,131,21,3,198,227,21,3,192,0,0,0,198,67,22,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,22,3,192,0,0,0,192,0,0,0,198,3,23,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,144,0,198,99,23,3,192,0,0,0,198,194,23,3,198,3,24,3,192,0,0,0,198,99,24,3,198,195,24,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,25,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,25,3,192,0,0,0,192,0,0,0,198,195,25,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,145,0,198,35,26,3,192,0,0,0,192,0,0,0,198,131,26,3,192,0,0,0,192,0,0,0,198,226,26,3,197,98,145,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,27,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,145,0,198,99,27,3,198,194,27,3,198,3,28,3,198,99,28,3,198,195,28,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,29,3,192,0,0,0,198,131,29,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,29,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,30,3,198,163,30,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,31,3,198,99,31,3,198,195,31,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,32,3,192,0,0,0,198,131,32,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,32,3,198,67,33,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,33,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,34,3,192,0,0,0,197,227,145,0,198,98,34,3,192,0,0,0,197,67,146,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,146,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,34,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,146,0,198,2,35,3,197,34,147,0,198,66,35,3,197,99,147,0,192,0,0,0,197,195,147,0,198,131,35,3,198,227,35,3,192,0,0,0,192,0,0,0,192,0,0,0,198,67,36,3,192,0,0,0,192,0,0,0,197,35,148,0,197,131,148,0,192,0,0,0,198,163,36,3,192,0,0,0,192,0,0,0,198,2,37,3,192,0,0,0,198,67,37,3,192,0,0,0,198,162,37,3,192,0,0,0,192,0,0,0,192,0,0,0,197,226,148,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,149,0,198,227,37,3,198,67,38,3,192,0,0,0,192,0,0,0,192,0,0,0,197,130,149,0,198,163,38,3,197,195,149,0,198,2,39,3,198,67,39,3,198,162,39,3,198,226,39,3,198,34,40,3,198,98,40,3,192,0,0,0,192,0,0,0,197,34,150,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,40,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,40,3,198,66,41,3,192,0,0,0,192,0,0,0,198,130,41,3,192,0,0,0,192,0,0,0,192,0,0,0,198,195,41,3,198,34,42,3,192,0,0,0,198,98,42,3,198,163,42,3,198,3,43,3,192,0,0,0,197,98,150,0,192,0,0,0,192,0,0,0,198,99,43,3,198,194,43,3,192,0,0,0,192,0,0,0,197,162,150,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,44,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,44,3,192,0,0,0,198,195,44,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,45,3,192,0,0,0,192,0,0,0,192,0,0,0,197,226,150,0,192,0,0,0,198,131,45,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,45,3,192,0,0,0,198,67,46,3,198,163,46,3,198,3,47,3,192,0,0,0,192,0,0,0,198,99,47,3,198,194,47,3,192,0,0,0,198,3,48,3,192,0,0,0,198,99,48,3,192,0,0,0,192,0,0,0,198,195,48,3,192,0,0,0,198,35,49,3,197,34,151,0,192,0,0,0,198,131,49,3,192,0,0,0,197,98,151,0,192,0,0,0,192,0,0,0,198,227,49,3,197,162,151,0,198,66,50,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,50,3,192,0,0,0,198,194,50,3,192,0,0,0,198,2,51,3,192,0,0,0,192,0,0,0,198,67,51,3,198,163,51,3,198,2,52,3,192,0,0,0,198,66,52,3,198,130,52,3,198,194,52,3,192,0,0,0,198,3,53,3,198,98,53,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,151,0,198,162,53,3,192,0,0,0,192,0,0,0,198,227,53,3,192,0,0,0,192,0,0,0,192,0,0,0,197,34,152,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,54,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,54,3,192,0,0,0,192,0,0,0,198,3,55,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,55,3,197,98,152,0,198,163,55,3,192,0,0,0,198,3,56,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,56,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,56,3,198,3,57,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,57,3,198,194,57,3,192,0,0,0,192,0,0,0,198,3,58,3,198,99,58,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,58,3,197,162,152,0,198,35,59,3,198,131,59,3,198,226,59,3,198,35,60,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,60,3,192,0,0,0,192,0,0,0,198,227,60,3,198,66,61,3,198,131,61,3,192,0,0,0,198,227,61,3,192,0,0,0,197,227,152,0,198,67,62,3,192,0,0,0,198,163,62,3,192,0,0,0,198,2,63,3,198,66,63,3,198,131,63,3,198,226,63,3,197,66,153,0,197,131,153,0,198,35,64,3,198,130,64,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,64,3,192,0,0,0,198,35,65,3,192,0,0,0,192,0,0,0,197,226,153,0,192,0,0,0,192,0,0,0,197,34,154,0,192,0,0,0,198,131,65,3,192,0,0,0,198,227,65,3,192,0,0,0,198,67,66,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,66,3,192,0,0,0,192,0,0,0,198,2,67,3,198,67,67,3,192,0,0,0,192,0,0,0,198,163,67,3,198,2,68,3,198,67,68,3,198,163,68,3,198,3,69,3,198,99,69,3,198,195,69,3,197,99,154,0,197,195,154,0,192,0,0,0,192,0,0,0,198,35,70,3,197,34,155,0,192,0,0,0,192,0,0,0,198,131,70,3,192,0,0,0,198,227,70,3,198,67,71,3,198,163,71,3,198,3,72,3,198,99,72,3,192,0,0,0,198,194,72,3,198,2,73,3,198,66,73,3,197,98,155,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,73,3,198,226,73,3,192,0,0,0,197,162,155,0,192,0,0,0,198,35,74,3,198,130,74,3,192,0,0,0,197,226,155,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,74,3,197,34,156,0,192,0,0,0,197,98,156,0,198,2,75,3,198,66,75,3,198,131,75,3,198,227,75,3,192,0,0,0,197,163,156,0,198,67,76,3,192,0,0,0,198,163,76,3,198,2,77,3,198,67,77,3,192,0,0,0,192,0,0,0,198,163,77,3,198,3,78,3,192,0,0,0,197,3,157,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,78,3,198,194,78,3,192,0,0,0,197,99,157,0,198,3,79,3,198,99,79,3,192,0,0,0,198,194,79,3,192,0,0,0,198,3,80,3,198,98,80,3,198,163,80,3,198,2,81,3,198,66,81,3,192,0,0,0,192,0,0,0,198,131,81,3,198,226,81,3,197,194,157,0,198,35,82,3,192,0,0,0,198,130,82,3,192,0,0,0,192,0,0,0,198,194,82,3,192,0,0,0,192,0,0,0,198,3,83,3,192,0,0,0,192,0,0,0,198,99,83,3,198,195,83,3,197,2,158,0,198,35,84,3,192,0,0,0,198,131,84,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,158,0,192,0,0,0,192,0,0,0,198,227,84,3,192,0,0,0,192,0,0,0,198,67,85,3,198,163,85,3,198,3,86,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,86,3,198,162,86,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,86,3,192,0,0,0,198,34,87,3,192,0,0,0,198,99,87,3,192,0,0,0,192,0,0,0,198,195,87,3,198,34,88,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,88,3,192,0,0,0,197,130,158,0,192,0,0,0,198,195,88,3,197,195,158,0,197,35,159,0,198,35,89,3,192,0,0,0,198,130,89,3,192,0,0,0,192,0,0,0,192,0,0,0,198,194,89,3,192,0,0,0,192,0,0,0,198,3,90,3,197,131,159,0,192,0,0,0,198,99,90,3,198,195,90,3,198,35,91,3,197,227,159,0,197,66,160,0,197,131,160,0,197,226,160,0,192,0,0,0,192,0,0,0,198,130,91,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,91,3,198,35,92,3,192,0,0,0,198,131,92,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,92,3,192,0,0,0,198,67,93,3,198,163,93,3,198,3,94,3,198,98,94,3,198,163,94,3,192,0,0,0,197,34,161,0,198,3,95,3,192,0,0,0,198,98,95,3,192,0,0,0,198,162,95,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,95,3,192,0,0,0,192,0,0,0,197,98,161,0,197,163,161,0,197,3,162,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,162,0,192,0,0,0,192,0,0,0,198,66,96,3,192,0,0,0,192,0,0,0,198,131,96,3,192,0,0,0,198,227,96,3,198,66,97,3,198,131,97,3,192,0,0,0,192,0,0,0,198,227,97,3,197,162,162,0,198,67,98,3,192,0,0,0,192,0,0,0,198,163,98,3,192,0,0,0,198,3,99,3,198,99,99,3,197,226,162,0,198,194,99,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,100,3,198,67,100,3,192,0,0,0,192,0,0,0,192,0,0,0,198,162,100,3,192,0,0,0,192,0,0,0,198,227,100,3,192,0,0,0,198,67,101,3,197,35,163,0,192,0,0,0,198,163,101,3,197,130,163,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,102,3,192,0,0,0,192,0,0,0,198,99,102,3,198,195,102,3,192,0,0,0,192,0,0,0,198,35,103,3,197,194,163,0,198,131,103,3,197,2,164,0,198,226,103,3,198,35,104,3,192,0,0,0,192,0,0,0,198,131,104,3,192,0,0,0,192,0,0,0,192,0,0,0,197,66,164,0,192,0,0,0,198,227,104,3,197,130,164,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,105,3,192,0,0,0,198,130,105,3,198,195,105,3,198,34,106,3,192,0,0,0,192,0,0,0,198,98,106,3,198,163,106,3,192,0,0,0,198,2,107,3,198,67,107,3,198,163,107,3,192,0,0,0,198,2,108,3,198,67,108,3,198,163,108,3,192,0,0,0,198,3,109,3,192,0,0,0,198,99,109,3,198,195,109,3,198,34,110,3,192,0,0,0,197,194,164,0,192,0,0,0,192,0,0,0,198,99,110,3,192,0,0,0,198,195,110,3,192,0,0,0,198,35,111,3,198,130,111,3,198,195,111,3,198,35,112,3,198,131,112,3,198,227,112,3,198,67,113,3,198,162,113,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,113,3,192,0,0,0,197,3,165,0,197,98,165,0,198,67,114,3,192,0,0,0,197,162,165,0,192,0,0,0,198,163,114,3,198,2,115,3,198,66,115,3,192,0,0,0,198,130,115,3,198,195,115,3,198,35,116,3,197,226,165,0,192,0,0,0,197,34,166,0,192,0,0,0,192,0,0,0,198,131,116,3,198,227,116,3,197,98,166,0,192,0,0,0,198,67,117,3,192,0,0,0,192,0,0,0,198,163,117,3,192,0,0,0,198,3,118,3,192,0,0,0,198,99,118,3,198,195,118,3,197,162,166,0,192,0,0,0,198,34,119,3,192,0,0,0,198,98,119,3,198,162,119,3,198,227,119,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,120,3,198,130,120,3,198,195,120,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,121,3,192,0,0,0,192,0,0,0,198,99,121,3,198,195,121,3,192,0,0,0,192,0,0,0,198,34,122,3,192,0,0,0,198,99,122,3,198,195,122,3,192,0,0,0,197,226,166,0,192,0,0,0,198,35,123,3,192,0,0,0,192,0,0,0,198,131,123,3,198,227,123,3,192,0,0,0,198,67,124,3,197,35,167,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,124,3,192,0,0,0,192,0,0,0,192,0,0,0,198,3,125,3,192,0,0,0,192,0,0,0,192,0,0,0,197,130,167,0,192,0,0,0,192,0,0,0,198,99,125,3,198,195,125,3,192,0,0,0,192,0,0,0,198,35,126,3,198,131,126,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,126,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,127,3,198,131,127,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,127,3,198,67,128,3,192,0,0,0,197,195,167,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,128,3,198,226,128,3,192,0,0,0,198,35,129,3,192,0,0,0,192,0,0,0,198,131,129,3,192,0,0,0,192,0,0,0,198,226,129,3,192,0,0,0,198,35,130,3,192,0,0,0,192,0,0,0,198,130,130,3,198,195,130,3,192,0,0,0,192,0,0,0,192,0,0,0,198,34,131,3,192,0,0,0,198,99,131,3,198,194,131,3,192,0,0,0,192,0,0,0,198,3,132,3,198,99,132,3,198,195,132,3,192,0,0,0,192,0,0,0,198,35,133,3,192,0,0,0,192,0,0,0,198,131,133,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,133,3,198,67,134,3,198,163,134,3,198,3,135,3,192,0,0,0,192,0,0,0,197,34,168,0,197,99,168,0,192,0,0,0,198,98,135,3,198,163,135,3,192,0,0,0,198,3,136,3,192,0,0,0,192,0,0,0,197,195,168,0,192,0,0,0,198,98,136,3,198,162,136,3,198,227,136,3,192,0,0,0,192,0,0,0,192,0,0,0,197,34,169,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,169,0,197,163,169,0,192,0,0,0,197,2,170,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,137,3,198,163,137,3,192,0,0,0,198,2,138,3,197,66,170,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,138,3,198,163,138,3,192,0,0,0,198,2,139,3,197,130,170,0,192,0,0,0,198,66,139,3,192,0,0,0,198,131,139,3,192,0,0,0,192,0,0,0,198,227,139,3,192,0,0,0,192,0,0,0,198,67,140,3,192,0,0,0,192,0,0,0,198,162,140,3,192,0,0,0,198,226,140,3,192,0,0,0,198,34,141,3,198,99,141,3,198,194,141,3,192,0,0,0,192,0,0,0,192,0,0,0,198,3,142,3,198,98,142,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,142,3,192,0,0,0,198,3,143,3,198,99,143,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,170,0,198,195,143,3,198,34,144,3,198,99,144,3,192,0,0,0,192,0,0,0,198,195,144,3,198,34,145,3,198,99,145,3,198,195,145,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,146,3,192,0,0,0,192,0,0,0,192,0,0,0,197,2,171,0,192,0,0,0,198,131,146,3,198,227,146,3,192,0,0,0,198,67,147,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,147,3,192,0,0,0,198,3,148,3,192,0,0,0,192,0,0,0,198,99,148,3,192,0,0,0,192,0,0,0,198,195,148,3,198,35,149,3,198,130,149,3,198,195,149,3,198,35,150,3,198,131,150,3,197,67,171,0,198,226,150,3,198,35,151,3,192,0,0,0,198,131,151,3,197,163,171,0,192,0,0,0,198,227,151,3,192,0,0,0,198,66,152,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,152,3,198,226,152,3,198,35,153,3,197,2,172,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,172,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,153,3,192,0,0,0,198,227,153,3,192,0,0,0,198,67,154,3,198,162,154,3,198,227,154,3,192,0,0,0,192,0,0,0,198,67,155,3,198,163,155,3,192,0,0,0,198,3,156,3,192,0,0,0,198,98,156,3,192,0,0,0,198,163,156,3,198,3,157,3,192,0,0,0,197,131,172,0,198,98,157,3,198,162,157,3,198,227,157,3,192,0,0,0,198,67,158,3,192,0,0,0,198,163,158,3,192,0,0,0,197,226,172,0,192,0,0,0,192,0,0,0,198,3,159,3,198,99,159,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,159,3,192,0,0,0,198,34,160,3,192,0,0,0,198,99,160,3,197,35,173,0,192,0,0,0,192,0,0,0,198,194,160,3,198,2,161,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,173,0,198,67,161,3,192,0,0,0,198,163,161,3,192,0,0,0,198,2,162,3,192,0,0,0,192,0,0,0,198,67,162,3,192,0,0,0,192,0,0,0,198,163,162,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,163,3,192,0,0,0,198,99,163,3,198,195,163,3,198,35,164,3,198,131,164,3,192,0,0,0,192,0,0,0,198,227,164,3,198,67,165,3,192,0,0,0,198,162,165,3,197,194,173,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,165,3,192,0,0,0,192,0,0,0,198,67,166,3,192,0,0,0,198,163,166,3,198,3,167,3,192,0,0,0,192,0,0,0,198,98,167,3,197,2,174,0,197,66,174,0,197,130,174,0,192,0,0,0,192,0,0,0,198,162,167,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,174,0,192,0,0,0,198,227,167,3,198,67,168,3,192,0,0,0,198,163,168,3,198,3,169,3,192,0,0,0,198,99,169,3,192,0,0,0,198,195,169,3,198,35,170,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,170,3,192,0,0,0,192,0,0,0,192,0,0,0,197,2,175,0,192,0,0,0,192,0,0,0,198,227,170,3,192,0,0,0,192,0,0,0,192,0,0,0,198,67,171,3,198,163,171,3,198,3,172,3,192,0,0,0,198,98,172,3,192,0,0,0,198,163,172,3,192,0,0,0,192,0,0,0,192,0,0,0,198,2,173,3,192,0,0,0,197,67,175,0,198,67,173,3,198,163,173,3,192,0,0,0,198,3,174,3,192,0,0,0,192,0,0,0,198,98,174,3,192,0,0,0,198,163,174,3,198,3,175,3,198,99,175,3,198,195,175,3,198,35,176,3,198,130,176,3,192,0,0,0,192,0,0,0,192,0,0,0,197,162,175,0,192,0,0,0,192,0,0,0,197,226,175,0,198,195,176,3,198,34,177,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,177,3,198,194,177,3,192,0,0,0,198,3,178,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,178,3,198,195,178,3,192,0,0,0,192,0,0,0,192,0,0,0,198,35,179,3,192,0,0,0,198,131,179,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,179,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,180,3,192,0,0,0,198,163,180,3,192,0,0,0,198,3,181,3,197,34,176,0,192,0,0,0,198,99,181,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,181,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,176,0,197,162,176,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,182,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,182,3,192,0,0,0,197,226,176,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,182,3,197,34,177,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,183,3,192,0,0,0,192,0,0,0,192,0,0,0,198,131,183,3,198,226,183,3,198,34,184,3,192,0,0,0,192,0,0,0,198,98,184,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,184,3,198,3,185,3,192,0,0,0,192,0,0,0,192,0,0,0,197,98,177,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,185,3,192,0,0,0,192,0,0,0,192,0,0,0,198,194,185,3,192,0,0,0,192,0,0,0,198,3,186,3,192,0,0,0,192,0,0,0,197,163,177,0,198,98,186,3,198,163,186,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,187,3,192,0,0,0,192,0,0,0,198,98,187,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,187,3,198,2,188,3,198,67,188,3,198,162,188,3,198,227,188,3,198,66,189,3,192,0,0,0,192,0,0,0,198,131,189,3,192,0,0,0,192,0,0,0,192,0,0,0,198,226,189,3,198,35,190,3,198,131,190,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,190,3,192,0,0,0,198,67,191,3,197,2,178,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,191,3,192,0,0,0,192,0,0,0,192,0,0,0,198,226,191,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,178,0,198,35,192,3,192,0,0,0,192,0,0,0,197,163,178,0,198,131,192,3,192,0,0,0,198,227,192,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,193,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,193,3,192,0,0,0,192,0,0,0,192,0,0,0,198,3,194,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,179,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,194,3,192,0,0,0,192,0,0,0,198,195,194,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,195,3,198,99,195,3,192,0,0,0,198,195,195,3,192,0,0,0,198,35,196,3,192,0,0,0,198,130,196,3,198,194,196,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,197,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,197,3,197,99,179,0,198,163,197,3,198,3,198,3,197,195,179,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,198,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,180,0,197,98,180,0,192,0,0,0,198,195,198,3,197,163,180,0,192,0,0,0,197,3,181,0,192,0,0,0,198,35,199,3,192,0,0,0,198,131,199,3,192,0,0,0,197,98,181,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,199,3,198,67,200,3,192,0,0,0,198,163,200,3,192,0,0,0,192,0,0,0,198,3,201,3,192,0,0,0,198,99,201,3,192,0,0,0,192,0,0,0,192,0,0,0,198,195,201,3,192,0,0,0,198,34,202,3,197,163,181,0,197,2,182,0,198,98,202,3,198,162,202,3,198,227,202,3,192,0,0,0,192,0,0,0,198,67,203,3,192,0,0,0,198,162,203,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,203,3,192,0,0,0,192,0,0,0,198,67,204,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,204,3,198,3,205,3,192,0,0,0,197,66,182,0,192,0,0,0,198,99,205,3,198,195,205,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,182,0,192,0,0,0,192,0,0,0,198,35,206,3,192,0,0,0,198,131,206,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,182,0,192,0,0,0,197,34,183,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,206,3,198,67,207,3,192,0,0,0,198,163,207,3,192,0,0,0,198,3,208,3,192,0,0,0,192,0,0,0,192,0,0,0,197,98,183,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,208,3,192,0,0,0,192,0,0,0,198,163,208,3,192,0,0,0,198,3,209,3,198,99,209,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,183,0,197,226,183,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,184,0,192,0,0,0,192,0,0,0,198,195,209,3,192,0,0,0,198,35,210,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,210,3,198,227,210,3,192,0,0,0,198,66,211,3,192,0,0,0,192,0,0,0,198,130,211,3,192,0,0,0,198,195,211,3,192,0,0,0,198,34,212,3,192,0,0,0,198,99,212,3,198,195,212,3,198,35,213,3,192,0,0,0,192,0,0,0,198,131,213,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,213,3,198,67,214,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,214,3,198,227,214,3,198,66,215,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,184,0,198,131,215,3,198,227,215,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,184,0,192,0,0,0,197,227,184,0,198,67,216,3,192,0,0,0,198,162,216,3,198,226,216,3,197,67,185,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,185,0,198,35,217,3,192,0,0,0,192,0,0,0,192,0,0,0,197,3,186,0,198,131,217,3,198,227,217,3,192,0,0,0,192,0,0,0,198,66,218,3,192,0,0,0,192,0,0,0,192,0,0,0,197,98,186,0,192,0,0,0,192,0,0,0,198,131,218,3,192,0,0,0,192,0,0,0,198,227,218,3,198,67,219,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,219,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,220,3,192,0,0,0,192,0,0,0,198,99,220,3,192,0,0,0,198,194,220,3,192,0,0,0,197,162,186,0,198,3,221,3,192,0,0,0,192,0,0,0,198,99,221,3,192,0,0,0,197,226,186,0,192,0,0,0,192,0,0,0,198,195,221,3,198,34,222,3,192,0,0,0,197,34,187,0,198,98,222,3,197,98,187,0,197,162,187,0,192,0,0,0,198,163,222,3,198,2,223,3,192,0,0,0,198,67,223,3,192,0,0,0,198,163,223,3,192,0,0,0,192,0,0,0,192,0,0,0,198,3,224,3,198,99,224,3,198,195,224,3,192,0,0,0,192,0,0,0,198,35,225,3,197,226,187,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,188,0,198,131,225,3,198,227,225,3,192,0,0,0,198,66,226,3,192,0,0,0,198,131,226,3,198,226,226,3,198,35,227,3,198,130,227,3,192,0,0,0,198,195,227,3,192,0,0,0,198,34,228,3,192,0,0,0,198,98,228,3,198,162,228,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,228,3,192,0,0,0,198,67,229,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,229,3,192,0,0,0,192,0,0,0,198,227,229,3,192,0,0,0,197,130,188,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,230,3,197,195,188,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,230,3,192,0,0,0,192,0,0,0,198,226,230,3,198,34,231,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,231,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,231,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,189,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,232,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,232,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,189,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,232,3,192,0,0,0,192,0,0,0,198,67,233,3,192,0,0,0,192,0,0,0,192,0,0,0,198,163,233,3,198,3,234,3,197,163,189,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,234,3,192,0,0,0,198,195,234,3,192,0,0,0,198,35,235,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,235,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,235,3,192,0,0,0,197,2,190,0,192,0,0,0,198,34,236,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,236,3,192,0,0,0,197,66,190,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,236,3,197,131,190,0,192,0,0,0,192,0,0,0,198,227,236,3,192,0,0,0,192,0,0,0,198,67,237,3,198,162,237,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,190,0,192,0,0,0,192,0,0,0,198,227,237,3,198,66,238,3,197,35,191,0,198,131,238,3,198,227,238,3,198,67,239,3,197,130,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,239,3,197,194,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,239,3,192,0,0,0,192,0,0,0,198,35,240,3,197,2,192,0,197,66,192,0,198,131,240,3,192,0,0,0,198,227,240,3,198,66,241,3,198,131,241,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,192,0,192,0,0,0,192,0,0,0,197,194,192,0,192,0,0,0,197,2,193,0,198,227,241,3,198,67,242,3,197,66,193,0,198,162,242,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,242,3,192,0,0,0,192,0,0,0,197,130,193,0,192,0,0,0,197,194,193,0,197,2,194,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,194,0,198,35,243,3,192,0,0,0,192,0,0,0,192,0,0,0,198,130,243,3,198,195,243,3,198,34,244,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,244,3,192,0,0,0,198,194,244,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,245,3,197,162,194,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,245,3,192,0,0,0,192,0,0,0,192,0,0,0,198,194,245,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,246,3,197,226,194,0,197,34,195,0,197,99,195,0,197,194,195,0,192,0,0,0,192,0,0,0,197,3,196,0,198,99,246,3,192,0,0,0,197,99,196,0,192,0,0,0,192,0,0,0,198,195,246,3,192,0,0,0,198,35,247,3,198,130,247,3,192,0,0,0,198,195,247,3,198,35,248,3,198,130,248,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,196,0,192,0,0,0,192,0,0,0,198,195,248,3,192,0,0,0,198,34,249,3,198,99,249,3,198,194,249,3,198,3,250,3,192,0,0,0,198,99,250,3,192,0,0,0,192,0,0,0,198,195,250,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,251,3,198,131,251,3,198,226,251,3,198,34,252,3,198,98,252,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,252,3,198,227,252,3,198,66,253,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,253,3,198,227,253,3,192,0,0,0,198,67,254,3,192,0,0,0,198,162,254,3,192,0,0,0,198,227,254,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,255,3,198,162,255,3,192,0,0,0,192,0,0,0,192,0,0,0,198,227,255,3,192,0,0,0,198,67,0,4,192,0,0,0,197,34,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,0,4,192,0,0,0,198,2,1,4,192,0,0,0,192,0,0,0,192,0,0,0,198,66,1,4,192,0,0,0,198,130,1,4,198,195,1,4,198,35,2,4,192,0,0,0,197,99,197,0,198,131,2,4,192,0,0,0,198,227,2,4,192,0,0,0,192,0,0,0,198,67,3,4,192,0,0,0,192,0,0,0,192,0,0,0,198,163,3,4,192,0,0,0,192,0,0,0,198,3,4,4,192,0,0,0,192,0,0,0,192,0,0,0,197,194,197,0,198,99,4,4,192,0,0,0,198,194,4,4,192,0,0,0,198,3,5,4,198,99,5,4,198,194,5,4,198,2,6,4,198,67,6,4,192,0,0,0,192,0,0,0,198,163,6,4,198,2,7,4,198,67,7,4,192,0,0,0,198,163,7,4,197,2,198,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,8,4,192,0,0,0,198,98,8,4,192,0,0,0,198,163,8,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,9,4,198,99,9,4,192,0,0,0,192,0,0,0,198,195,9,4,192,0,0,0,198,34,10,4,198,99,10,4,198,195,10,4,198,34,11,4,198,98,11,4,192,0,0,0,198,162,11,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,11,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,198,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,12,4,198,163,12,4,198,3,13,4,192,0,0,0,198,99,13,4,197,162,198,0,198,194,13,4,192,0,0,0,198,3,14,4,192,0,0,0,198,98,14,4,198,163,14,4,198,3,15,4,192,0,0,0,198,99,15,4,198,195,15,4,198,35,16,4,198,130,16,4,198,194,16,4,198,3,17,4,198,99,17,4,198,194,17,4,197,226,198,0,192,0,0,0,198,3,18,4,192,0,0,0,198,99,18,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,18,4,198,34,19,4,198,98,19,4,192,0,0,0,198,163,19,4,198,3,20,4,197,34,199,0,198,99,20,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,199,0,192,0,0,0,192,0,0,0,197,162,199,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,199,0,192,0,0,0,198,195,20,4,192,0,0,0,198,34,21,4,197,34,200,0,198,99,21,4,197,98,200,0,197,163,200,0,198,194,21,4,198,3,22,4,198,98,22,4,192,0,0,0,198,163,22,4,197,2,201,0,198,2,23,4,198,67,23,4,192,0,0,0,192,0,0,0,198,163,23,4,198,3,24,4,198,98,24,4,192,0,0,0,192,0,0,0,198,163,24,4,192,0,0,0,198,3,25,4,198,98,25,4,198,163,25,4,198,3,26,4,198,98,26,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,26,4,198,3,27,4,192,0,0,0,197,66,201,0,192,0,0,0,198,98,27,4,198,162,27,4,192,0,0,0,192,0,0,0,198,226,27,4,198,35,28,4,192,0,0,0,198,131,28,4,198,227,28,4,198,67,29,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,29,4,192,0,0,0,192,0,0,0,192,0,0,0,197,131,201,0,198,2,30,4,198,67,30,4,198,163,30,4,192,0,0,0,198,3,31,4,192,0,0,0,198,98,31,4,192,0,0,0,198,163,31,4,192,0,0,0,198,3,32,4,198,99,32,4,192,0,0,0,198,194,32,4,198,3,33,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,201,0,192,0,0,0,198,98,33,4,192,0,0,0,192,0,0,0,197,66,202,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,33,4,192,0,0,0,192,0,0,0,192,0,0,0,198,2,34,4,192,0,0,0,198,67,34,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,34,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,35,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,35,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,35,4,192,0,0,0,192,0,0,0,192,0,0,0,198,35,36,4,192,0,0,0,198,131,36,4,198,227,36,4,197,130,202,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,202,0,192,0,0,0,197,2,203,0,198,67,37,4,192,0,0,0,192,0,0,0,197,66,203,0,192,0,0,0,192,0,0,0,198,163,37,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,38,4,192,0,0,0,192,0,0,0,192,0,0,0,198,99,38,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,38,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,39,4,192,0,0,0,198,98,39,4,198,163,39,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,40,4,198,67,40,4,198,163,40,4,192,0,0,0,192,0,0,0,198,3,41,4,192,0,0,0,198,99,41,4,192,0,0,0,198,195,41,4,192,0,0,0,192,0,0,0,198,35,42,4,192,0,0,0,198,131,42,4,198,227,42,4,192,0,0,0,192,0,0,0,198,67,43,4,198,163,43,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,44,4,192,0,0,0,198,99,44,4,198,194,44,4,192,0,0,0,198,3,45,4,192,0,0,0,192,0,0,0,198,98,45,4,198,163,45,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,46,4,197,130,203,0,198,99,46,4,198,195,46,4,192,0,0,0,192,0,0,0,192,0,0,0,198,35,47,4,198,131,47,4,192,0,0,0,198,227,47,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,48,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,48,4,192,0,0,0,192,0,0,0,198,3,49,4,198,99,49,4,198,194,49,4,192,0,0,0,198,3,50,4,197,194,203,0,192,0,0,0,198,99,50,4,192,0,0,0,198,195,50,4,198,35,51,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,51,4,198,195,51,4,198,35,52,4,198,131,52,4,198,226,52,4,192,0,0,0,192,0,0,0,198,35,53,4,192,0,0,0,197,3,204,0,192,0,0,0,197,98,204,0,198,131,53,4,197,162,204,0,198,227,53,4,192,0,0,0,192,0,0,0,198,67,54,4,197,226,204,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,54,4,198,2,55,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,205,0,198,67,55,4,192,0,0,0,198,162,55,4,192,0,0,0,198,227,55,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,56,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,56,4,198,226,56,4,198,35,57,4,192,0,0,0,197,99,205,0,197,195,205,0,192,0,0,0,192,0,0,0,198,130,57,4,198,194,57,4,192,0,0,0,197,34,206,0,192,0,0,0,192,0,0,0,198,3,58,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,206,0,198,98,58,4,192,0,0,0,192,0,0,0,198,163,58,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,59,4,192,0,0,0,198,66,59,4,192,0,0,0,192,0,0,0,192,0,0,0,197,194,206,0,192,0,0,0,198,131,59,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,59,4,197,2,207,0,198,35,60,4,198,130,60,4,198,194,60,4,192,0,0,0,192,0,0,0,198,3,61,4,198,99,61,4,192,0,0,0,192,0,0,0,198,195,61,4,197,66,207,0,198,35,62,4,192,0,0,0,198,130,62,4,192,0,0,0,198,194,62,4,198,3,63,4,192,0,0,0,198,99,63,4,192,0,0,0,198,195,63,4,192,0,0,0,192,0,0,0,198,35,64,4,192,0,0,0,192,0,0,0,198,130,64,4,197,130,207,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,64,4,197,194,207,0,197,2,208,0,197,67,208,0,192,0,0,0,192,0,0,0,198,34,65,4,198,99,65,4,192,0,0,0,198,195,65,4,192,0,0,0,192,0,0,0,198,34,66,4,192,0,0,0,192,0,0,0,192,0,0,0,198,98,66,4,198,162,66,4,197,162,208,0,192,0,0,0,192,0,0,0,198,226,66,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,67,4,192,0,0,0,198,130,67,4,198,195,67,4,197,226,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,68,4,198,98,68,4,192,0,0,0,198,162,68,4,192,0,0,0,192,0,0,0,197,34,209,0,198,226,68,4,197,98,209,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,69,4,198,130,69,4,198,194,69,4,192,0,0,0,198,3,70,4,192,0,0,0,198,99,70,4,192,0,0,0,192,0,0,0,198,194,70,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,209,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,71,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,71,4,198,163,71,4,198,3,72,4,198,99,72,4,192,0,0,0,198,194,72,4,192,0,0,0,198,2,73,4,197,227,209,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,73,4,198,162,73,4,192,0,0,0,192,0,0,0,198,226,73,4,198,35,74,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,74,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,74,4,198,3,75,4,192,0,0,0,192,0,0,0,198,98,75,4,192,0,0,0,197,66,210,0,198,163,75,4,192,0,0,0,192,0,0,0,198,3,76,4,192,0,0,0,198,99,76,4,192,0,0,0,192,0,0,0,192,0,0,0,197,130,210,0,192,0,0,0,192,0,0,0,198,195,76,4,198,35,77,4,192,0,0,0,197,194,210,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,77,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,211,0,198,227,77,4,192,0,0,0,198,67,78,4,198,163,78,4,192,0,0,0,198,3,79,4,198,99,79,4,198,194,79,4,192,0,0,0,192,0,0,0,198,3,80,4,198,99,80,4,198,195,80,4,198,34,81,4,198,99,81,4,198,195,81,4,198,35,82,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,82,4,192,0,0,0,192,0,0,0,198,195,82,4,198,35,83,4,198,131,83,4,198,227,83,4,192,0,0,0,198,67,84,4,198,162,84,4,192,0,0,0,198,226,84,4,198,35,85,4,192,0,0,0,198,130,85,4,197,67,211,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,85,4,192,0,0,0,192,0,0,0,198,2,86,4,192,0,0,0,198,66,86,4,192,0,0,0,192,0,0,0,197,162,211,0,192,0,0,0,192,0,0,0,198,131,86,4,192,0,0,0,192,0,0,0,192,0,0,0,198,226,86,4,197,226,211,0,197,34,212,0,192,0,0,0,197,98,212,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,212,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,212,0,192,0,0,0,197,66,213,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,87,4,192,0,0,0,198,130,87,4,192,0,0,0,198,195,87,4,192,0,0,0,197,130,213,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,88,4,192,0,0,0,192,0,0,0,198,130,88,4,198,194,88,4,192,0,0,0,192,0,0,0,198,3,89,4,192,0,0,0,198,99,89,4,192,0,0,0,198,195,89,4,192,0,0,0,198,35,90,4,197,195,213,0,198,131,90,4,192,0,0,0,192,0,0,0,192,0,0,0,197,35,214,0,192,0,0,0,197,130,214,0,192,0,0,0,198,226,90,4,192,0,0,0,192,0,0,0,198,34,91,4,192,0,0,0,198,99,91,4,198,194,91,4,192,0,0,0,198,3,92,4,198,99,92,4,192,0,0,0,198,195,92,4,192,0,0,0,198,35,93,4,198,131,93,4,198,227,93,4,192,0,0,0,198,66,94,4,192,0,0,0,192,0,0,0,198,131,94,4,192,0,0,0,198,226,94,4,192,0,0,0,198,35,95,4,192,0,0,0,192,0,0,0,198,130,95,4,198,195,95,4,192,0,0,0,198,35,96,4,192,0,0,0,192,0,0,0,192,0,0,0,198,131,96,4,198,227,96,4,192,0,0,0,197,194,214,0,198,67,97,4,192,0,0,0,198,163,97,4,192,0,0,0,192,0,0,0,198,3,98,4,192,0,0,0,192,0,0,0,198,99,98,4,192,0,0,0,192,0,0,0,198,194,98,4,197,3,215,0,198,2,99,4,198,66,99,4,198,131,99,4,198,227,99,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,100,4,198,162,100,4,192,0,0,0,192,0,0,0,198,227,100,4,192,0,0,0,198,67,101,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,101,4,198,226,101,4,192,0,0,0,198,35,102,4,198,131,102,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,102,4,192,0,0,0,192,0,0,0,198,67,103,4,198,162,103,4,192,0,0,0,198,226,103,4,198,35,104,4,198,131,104,4,192,0,0,0,198,227,104,4,192,0,0,0,198,67,105,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,105,4,197,98,215,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,106,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,106,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,106,4,198,3,107,4,192,0,0,0,192,0,0,0,192,0,0,0,198,98,107,4,198,163,107,4,198,2,108,4,198,66,108,4,198,131,108,4,192,0,0,0,198,226,108,4,198,35,109,4,192,0,0,0,198,130,109,4,192,0,0,0,192,0,0,0,198,195,109,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,110,4,192,0,0,0,198,130,110,4,192,0,0,0,192,0,0,0,192,0,0,0,198,194,110,4,198,2,111,4,197,162,215,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,111,4,192,0,0,0,198,162,111,4,197,227,215,0,192,0,0,0,192,0,0,0,198,227,111,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,112,4,192,0,0,0,192,0,0,0,198,131,112,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,112,4,192,0,0,0,198,67,113,4,192,0,0,0,198,163,113,4,192,0,0,0,192,0,0,0,198,3,114,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,114,4,192,0,0,0,198,195,114,4,198,34,115,4,192,0,0,0,192,0,0,0,198,99,115,4,192,0,0,0,192,0,0,0,198,195,115,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,116,4,192,0,0,0,198,99,116,4,198,195,116,4,198,34,117,4,192,0,0,0,198,98,117,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,117,4,192,0,0,0,198,3,118,4,192,0,0,0,192,0,0,0,192,0,0,0,197,67,216,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,118,4,192,0,0,0,198,195,118,4,198,35,119,4,198,130,119,4,198,195,119,4,192,0,0,0,198,35,120,4,192,0,0,0,192,0,0,0,197,163,216,0,198,130,120,4,197,2,217,0,192,0,0,0,198,194,120,4,192,0,0,0,198,3,121,4,192,0,0,0,198,98,121,4,192,0,0,0,192,0,0,0,192,0,0,0,198,163,121,4,197,66,217,0,198,2,122,4,198,67,122,4,192,0,0,0,192,0,0,0,198,163,122,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,123,4,198,99,123,4,198,195,123,4,198,35,124,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,124,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,217,0,192,0,0,0,192,0,0,0,198,195,124,4,192,0,0,0,198,34,125,4,198,98,125,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,125,4,192,0,0,0,192,0,0,0,198,226,125,4,198,34,126,4,197,195,217,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,126,4,197,35,218,0,192,0,0,0,192,0,0,0,198,195,126,4,192,0,0,0,198,34,127,4,192,0,0,0,197,130,218,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,127,4,192,0,0,0,198,162,127,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,127,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,128,4,198,162,128,4,192,0,0,0,192,0,0,0,198,227,128,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,129,4,198,162,129,4,192,0,0,0,192,0,0,0,198,226,129,4,198,35,130,4,192,0,0,0,197,195,218,0,198,131,130,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,130,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,131,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,131,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,131,4,198,66,132,4,197,34,219,0,198,131,132,4,192,0,0,0,198,226,132,4,192,0,0,0,198,34,133,4,192,0,0,0,192,0,0,0,192,0,0,0,198,99,133,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,133,4,192,0,0,0,192,0,0,0,192,0,0,0,198,35,134,4,198,131,134,4,192,0,0,0,192,0,0,0,198,227,134,4,198,66,135,4,198,131,135,4,192,0,0,0,192,0,0,0,192,0,0,0,198,227,135,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,219,0,197,195,219,0,198,66,136,4,192,0,0,0,198,131,136,4,192,0,0,0,192,0,0,0,198,226,136,4,192,0,0,0,192,0,0,0,192,0,0,0,198,35,137,4,192,0,0,0,192,0,0,0,198,130,137,4,192,0,0,0,198,194,137,4,198,2,138,4,192,0,0,0,192,0,0,0,198,66,138,4,198,131,138,4,198,227,138,4,198,66,139,4,192,0,0,0,192,0,0,0,198,131,139,4,198,226,139,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,140,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,140,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,140,4,198,34,141,4,192,0,0,0,197,34,220,0,192,0,0,0,198,99,141,4,192,0,0,0,192,0,0,0,198,194,141,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,142,4,198,99,142,4,192,0,0,0,198,195,142,4,192,0,0,0,192,0,0,0,198,35,143,4,198,131,143,4,198,227,143,4,198,66,144,4,192,0,0,0,192,0,0,0,192,0,0,0,198,130,144,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,144,4,192,0,0,0,198,2,145,4,198,67,145,4,192,0,0,0,198,163,145,4,198,2,146,4,192,0,0,0,192,0,0,0,192,0,0,0,197,98,220,0,192,0,0,0,192,0,0,0,198,66,146,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,146,4,192,0,0,0,192,0,0,0,197,162,220,0,198,195,146,4,198,35,147,4,197,227,220,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,147,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,147,4,192,0,0,0,192,0,0,0,192,0,0,0,198,34,148,4,192,0,0,0,198,98,148,4,198,162,148,4,192,0,0,0,192,0,0,0,192,0,0,0,198,226,148,4,198,35,149,4,198,130,149,4,198,194,149,4,198,2,150,4,198,67,150,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,150,4,192,0,0,0,192,0,0,0,198,227,150,4,198,66,151,4,198,130,151,4,198,194,151,4,198,2,152,4,192,0,0,0,192,0,0,0,198,66,152,4,198,130,152,4,197,66,221,0,198,195,152,4,198,35,153,4,198,130,153,4,198,194,153,4,192,0,0,0,198,2,154,4,192,0,0,0,192,0,0,0,198,67,154,4,192,0,0,0,198,162,154,4,197,130,221,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,221,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,154,4,192,0,0,0,198,35,155,4,192,0,0,0,192,0,0,0,198,131,155,4,197,3,222,0,198,227,155,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,156,4,198,131,156,4,192,0,0,0,197,98,222,0,198,227,156,4,198,67,157,4,192,0,0,0,198,162,157,4,192,0,0,0,192,0,0,0,197,162,222,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,157,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,158,4,197,226,222,0,198,130,158,4,192,0,0,0,198,195,158,4,198,35,159,4,192,0,0,0,192,0,0,0,198,130,159,4,192,0,0,0,198,194,159,4,198,2,160,4,192,0,0,0,198,67,160,4,198,163,160,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,161,4,198,67,161,4,198,162,161,4,192,0,0,0,198,227,161,4,197,34,223,0,198,67,162,4,198,162,162,4,198,226,162,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,163,4,192,0,0,0,192,0,0,0,198,131,163,4,198,227,163,4,197,98,223,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,223,0,198,66,164,4,192,0,0,0,192,0,0,0,198,130,164,4,192,0,0,0,192,0,0,0,198,194,164,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,165,4,192,0,0,0,192,0,0,0,198,67,165,4,198,163,165,4,198,3,166,4,192,0,0,0,198,99,166,4,198,195,166,4,192,0,0,0,198,35,167,4,198,130,167,4,198,195,167,4,198,34,168,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,168,4,192,0,0,0,192,0,0,0,198,194,168,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,223,0,198,2,169,4,198,67,169,4,192,0,0,0,192,0,0,0,198,162,169,4,192,0,0,0,192,0,0,0,198,227,169,4,192,0,0,0,197,34,224,0,198,67,170,4,198,162,170,4,198,226,170,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,171,4,192,0,0,0,192,0,0,0,197,98,224,0,192,0,0,0,198,131,171,4,197,162,224,0,192,0,0,0,198,227,171,4,192,0,0,0,198,66,172,4,197,227,224,0,198,130,172,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,172,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,173,4,192,0,0,0,192,0,0,0,198,131,173,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,173,4,198,67,174,4,192,0,0,0,198,163,174,4,192,0,0,0,198,2,175,4,198,66,175,4,198,130,175,4,192,0,0,0,198,194,175,4,198,3,176,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,176,4,198,195,176,4,192,0,0,0,192,0,0,0,197,66,225,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,177,4,198,131,177,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,177,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,178,4,198,131,178,4,197,130,225,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,178,4,192,0,0,0,197,195,225,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,179,4,192,0,0,0,192,0,0,0,192,0,0,0,197,35,226,0,198,163,179,4,198,2,180,4,192,0,0,0,192,0,0,0,198,67,180,4,198,163,180,4,192,0,0,0,192,0,0,0,198,3,181,4,198,98,181,4,198,163,181,4,198,3,182,4,198,99,182,4,198,194,182,4,198,3,183,4,198,99,183,4,198,194,183,4,197,131,226,0,192,0,0,0,198,2,184,4,192,0,0,0,197,226,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,184,4,198,163,184,4,192,0,0,0,198,2,185,4,198,66,185,4,198,131,185,4,198,227,185,4,192,0,0,0,192,0,0,0,198,66,186,4,192,0,0,0,192,0,0,0,192,0,0,0,198,131,186,4,198,226,186,4,192,0,0,0,192,0,0,0,198,35,187,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,227,0,197,98,227,0,192,0,0,0,198,130,187,4,192,0,0,0,198,195,187,4,198,34,188,4,192,0,0,0,192,0,0,0,192,0,0,0,198,98,188,4,192,0,0,0,192,0,0,0,198,162,188,4,192,0,0,0,192,0,0,0,198,226,188,4,198,34,189,4,198,99,189,4,192,0,0,0,192,0,0,0,198,195,189,4,198,35,190,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,190,4,198,226,190,4,192,0,0,0,198,34,191,4,198,98,191,4,192,0,0,0,198,163,191,4,198,3,192,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,192,4,192,0,0,0,198,163,192,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,193,4,192,0,0,0,198,99,193,4,198,195,193,4,192,0,0,0,198,34,194,4,198,99,194,4,192,0,0,0,198,195,194,4,198,35,195,4,192,0,0,0,192,0,0,0,192,0,0,0,198,130,195,4,192,0,0,0,192,0,0,0,198,195,195,4,192,0,0,0,198,35,196,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,196,4,192,0,0,0,198,227,196,4,198,67,197,4,198,163,197,4,192,0,0,0,192,0,0,0,198,2,198,4,192,0,0,0,198,67,198,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,227,0,192,0,0,0,198,163,198,4,192,0,0,0,198,2,199,4,192,0,0,0,198,66,199,4,192,0,0,0,192,0,0,0,197,227,227,0,192,0,0,0,198,130,199,4,198,195,199,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,200,4,198,131,200,4,192,0,0,0,198,227,200,4,192,0,0,0,192,0,0,0,197,66,228,0,192,0,0,0,198,67,201,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,201,4,198,226,201,4,198,35,202,4,198,131,202,4,192,0,0,0,192,0,0,0,192,0,0,0,197,130,228,0,198,227,202,4,192,0,0,0,198,66,203,4,192,0,0,0,192,0,0,0,192,0,0,0,198,130,203,4,192,0,0,0,198,195,203,4,192,0,0,0,192,0,0,0,192,0,0,0,198,34,204,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,204,4,197,195,228,0,192,0,0,0,198,195,204,4,198,35,205,4,192,0,0,0,198,131,205,4,198,227,205,4,198,67,206,4,192,0,0,0,198,163,206,4,198,3,207,4,198,99,207,4,198,195,207,4,198,34,208,4,198,99,208,4,192,0,0,0,198,195,208,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,209,4,198,99,209,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,209,4,198,3,210,4,198,99,210,4,192,0,0,0,198,195,210,4,192,0,0,0,192,0,0,0,198,35,211,4,192,0,0,0,198,130,211,4,192,0,0,0,192,0,0,0,198,194,211,4,192,0,0,0,198,3,212,4,192,0,0,0,198,99,212,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,212,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,213,4,192,0,0,0,192,0,0,0,192,0,0,0,198,67,213,4,192,0,0,0,198,162,213,4,197,34,229,0,198,227,213,4,192,0,0,0,192,0,0,0,198,66,214,4,192,0,0,0,198,131,214,4,198,226,214,4,192,0,0,0,198,35,215,4,192,0,0,0,198,131,215,4,198,226,215,4,192,0,0,0,198,35,216,4,198,131,216,4,192,0,0,0,192,0,0,0,198,226,216,4,198,35,217,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,217,4,192,0,0,0,192,0,0,0,192,0,0,0,198,227,217,4,192,0,0,0,192,0,0,0,198,67,218,4,192,0,0,0,192,0,0,0,192,0,0,0,197,98,229,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,218,4,192,0,0,0,198,227,218,4,197,163,229,0,192,0,0,0,192,0,0,0,198,67,219,4,192,0,0,0,198,163,219,4,198,3,220,4,192,0,0,0,198,99,220,4,198,195,220,4,197,3,230,0,197,98,230,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,221,4,192,0,0,0,198,131,221,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,221,4,192,0,0,0,198,35,222,4,192,0,0,0,198,130,222,4,192,0,0,0,192,0,0,0,198,194,222,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,223,4,192,0,0,0,198,98,223,4,192,0,0,0,192,0,0,0,198,162,223,4,198,226,223,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,230,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,224,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,224,4,192,0,0,0,198,227,224,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,225,4,192,0,0,0,198,162,225,4,192,0,0,0,197,2,231,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,225,4,192,0,0,0,192,0,0,0,198,67,226,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,226,4,198,3,227,4,198,98,227,4,198,163,227,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,231,0,192,0,0,0,192,0,0,0,198,3,228,4,198,98,228,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,228,4,197,162,231,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,229,4,198,99,229,4,198,194,229,4,192,0,0,0,192,0,0,0,192,0,0,0,198,3,230,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,230,4,198,163,230,4,192,0,0,0,192,0,0,0,198,3,231,4,192,0,0,0,198,98,231,4,192,0,0,0,198,162,231,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,231,4,198,67,232,4,192,0,0,0,192,0,0,0,198,162,232,4,198,227,232,4,192,0,0,0,192,0,0,0,192,0,0,0,198,67,233,4,198,163,233,4,192,0,0,0,198,2,234,4,192,0,0,0,198,67,234,4,192,0,0,0,192,0,0,0,198,162,234,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,234,4,198,34,235,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,235,4,192,0,0,0,192,0,0,0,198,195,235,4,192,0,0,0,198,34,236,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,236,4,192,0,0,0,192,0,0,0,192,0,0,0,198,194,236,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,237,4,192,0,0,0,192,0,0,0,198,99,237,4,192,0,0,0,198,194,237,4,198,3,238,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,238,4,192,0,0,0,192,0,0,0,198,194,238,4,192,0,0,0,198,3,239,4,198,99,239,4,198,195,239,4,198,35,240,4,198,131,240,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,240,4,192,0,0,0,192,0,0,0,198,67,241,4,198,163,241,4,198,3,242,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,242,4,192,0,0,0,192,0,0,0,198,163,242,4,198,3,243,4,198,99,243,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,243,4,198,3,244,4,192,0,0,0,192,0,0,0,192,0,0,0,197,226,231,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,244,4,198,163,244,4,198,2,245,4,192,0,0,0,198,66,245,4,198,131,245,4,192,0,0,0,198,226,245,4,198,35,246,4,198,131,246,4,198,226,246,4,198,35,247,4,192,0,0,0,198,130,247,4,192,0,0,0,192,0,0,0,198,194,247,4,192,0,0,0,198,3,248,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,248,4,192,0,0,0,192,0,0,0,197,34,232,0,192,0,0,0,198,163,248,4,192,0,0,0,198,2,249,4,192,0,0,0,198,67,249,4,192,0,0,0,198,162,249,4,198,226,249,4,192,0,0,0,192,0,0,0,198,34,250,4,192,0,0,0,198,98,250,4,192,0,0,0,198,162,250,4,198,227,250,4,198,67,251,4,197,99,232,0,198,162,251,4,197,195,232,0,197,35,233,0,192,0,0,0,198,227,251,4,198,67,252,4,192,0,0,0,198,163,252,4,192,0,0,0,192,0,0,0,198,2,253,4,192,0,0,0,192,0,0,0,198,66,253,4,198,131,253,4,198,226,253,4,192,0,0,0,198,34,254,4,198,99,254,4,198,194,254,4,198,3,255,4,198,99,255,4,198,195,255,4,192,0,0,0,192,0,0,0,192,0,0,0,198,34,0,5,198,99,0,5,198,195,0,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,1,5,198,98,1,5,192,0,0,0,198,163,1,5,198,2,2,5,198,66,2,5,198,131,2,5,198,227,2,5,198,67,3,5,192,0,0,0,197,130,233,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,3,5,198,227,3,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,4,5,198,163,4,5,198,2,5,5,198,67,5,5,198,163,5,5,192,0,0,0,192,0,0,0,198,3,6,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,6,5,192,0,0,0,192,0,0,0,198,195,6,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,7,5,192,0,0,0,192,0,0,0,198,131,7,5,192,0,0,0,198,226,7,5,197,195,233,0,192,0,0,0,198,34,8,5,192,0,0,0,192,0,0,0,198,99,8,5,198,195,8,5,198,35,9,5,192,0,0,0,192,0,0,0,198,131,9,5,192,0,0,0,198,227,9,5,198,66,10,5,198,131,10,5,192,0,0,0,192,0,0,0,192,0,0,0,198,226,10,5,192,0,0,0,198,35,11,5,198,131,11,5,198,226,11,5,198,35,12,5,192,0,0,0,192,0,0,0,198,131,12,5,192,0,0,0,192,0,0,0,198,227,12,5,197,34,234,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,13,5,192,0,0,0,192,0,0,0,192,0,0,0,198,130,13,5,192,0,0,0,192,0,0,0,198,195,13,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,14,5,198,130,14,5,192,0,0,0,192,0,0,0,192,0,0,0,198,195,14,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,15,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,15,5,192,0,0,0,192,0,0,0,192,0,0,0,198,227,15,5,192,0,0,0,198,66,16,5,198,131,16,5,192,0,0,0,198,226,16,5,198,34,17,5,198,99,17,5,192,0,0,0,198,195,17,5,192,0,0,0,198,35,18,5,198,130,18,5,197,98,234,0,198,194,18,5,192,0,0,0,198,3,19,5,198,99,19,5,198,195,19,5,192,0,0,0,198,35,20,5,198,130,20,5,192,0,0,0,192,0,0,0,198,195,20,5,192,0,0,0,198,34,21,5,198,99,21,5,192,0,0,0,198,195,21,5,198,35,22,5,198,131,22,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,22,5,192,0,0,0,192,0,0,0,197,162,234,0,192,0,0,0,192,0,0,0,198,67,23,5,198,162,23,5,198,226,23,5,198,35,24,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,24,5,198,195,24,5,197,227,234,0,192,0,0,0,198,35,25,5,192,0,0,0,198,131,25,5,198,227,25,5,198,67,26,5,192,0,0,0,197,66,235,0,198,163,26,5,192,0,0,0,198,3,27,5,192,0,0,0,192,0,0,0,198,98,27,5,192,0,0,0,198,163,27,5,198,3,28,5,192,0,0,0,192,0,0,0,198,99,28,5,192,0,0,0,192,0,0,0,197,130,235,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,28,5,192,0,0,0,198,35,29,5,192,0,0,0,192,0,0,0,197,194,235,0,192,0,0,0,197,2,236,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,29,5,198,227,29,5,198,67,30,5,198,162,30,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,30,5,198,35,31,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,31,5,192,0,0,0,197,66,236,0,198,226,31,5,192,0,0,0,192,0,0,0,198,35,32,5,192,0,0,0,198,131,32,5,197,130,236,0,198,227,32,5,198,67,33,5,198,162,33,5,198,227,33,5,198,67,34,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,34,5,192,0,0,0,192,0,0,0,198,3,35,5,198,99,35,5,192,0,0,0,198,195,35,5,198,34,36,5,198,99,36,5,192,0,0,0,198,195,36,5,192,0,0,0,198,34,37,5,192,0,0,0,197,194,236,0,192,0,0,0,198,98,37,5,192,0,0,0,198,163,37,5,198,3,38,5,192,0,0,0,192,0,0,0,198,99,38,5,192,0,0,0,198,195,38,5,198,34,39,5,198,98,39,5,198,162,39,5,198,226,39,5,198,35,40,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,40,5,192,0,0,0,198,195,40,5,192,0,0,0,198,35,41,5,198,131,41,5,198,227,41,5,198,67,42,5,192,0,0,0,198,163,42,5,198,2,43,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,43,5,192,0,0,0,192,0,0,0,198,130,43,5,197,2,237,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,43,5,197,66,237,0,198,34,44,5,192,0,0,0,198,99,44,5,192,0,0,0,198,195,44,5,198,34,45,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,45,5,192,0,0,0,192,0,0,0,198,195,45,5,192,0,0,0,192,0,0,0,198,34,46,5,198,99,46,5,198,195,46,5,192,0,0,0,192,0,0,0,197,131,237,0,198,35,47,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,47,5,197,227,237,0,192,0,0,0,198,195,47,5,192,0,0,0,198,35,48,5,198,130,48,5,192,0,0,0,198,195,48,5,192,0,0,0,192,0,0,0,192,0,0,0,198,35,49,5,198,130,49,5,192,0,0,0,198,195,49,5,192,0,0,0,198,35,50,5,192,0,0,0,192,0,0,0,198,131,50,5,198,227,50,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,51,5,198,130,51,5,198,195,51,5,192,0,0,0,198,35,52,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,52,5,198,227,52,5,192,0,0,0,192,0,0,0,192,0,0,0,198,67,53,5,198,163,53,5,197,66,238,0,192,0,0,0,198,3,54,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,54,5,198,195,54,5,198,34,55,5,198,99,55,5,192,0,0,0,198,195,55,5,192,0,0,0,192,0,0,0,192,0,0,0,198,35,56,5,198,131,56,5,192,0,0,0,192,0,0,0,198,226,56,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,238,0,192,0,0,0,198,34,57,5,198,99,57,5,198,195,57,5,192,0,0,0,197,194,238,0,192,0,0,0,192,0,0,0,198,34,58,5,192,0,0,0,198,99,58,5,192,0,0,0,197,2,239,0,197,66,239,0,192,0,0,0,192,0,0,0,197,130,239,0,192,0,0,0,198,195,58,5,192,0,0,0,198,34,59,5,192,0,0,0,192,0,0,0,198,98,59,5,192,0,0,0,197,194,239,0,198,163,59,5,198,2,60,5,192,0,0,0,192,0,0,0,197,3,240,0,198,66,60,5,198,131,60,5,192,0,0,0,192,0,0,0,192,0,0,0,198,227,60,5,192,0,0,0,192,0,0,0,198,66,61,5,198,130,61,5,198,194,61,5,198,2,62,5,192,0,0,0,198,67,62,5,192,0,0,0,198,163,62,5,192,0,0,0,198,2,63,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,63,5,192,0,0,0,198,130,63,5,198,195,63,5,198,35,64,5,192,0,0,0,198,131,64,5,192,0,0,0,192,0,0,0,197,98,240,0,198,226,64,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,65,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,65,5,197,162,240,0,192,0,0,0,198,227,65,5,192,0,0,0,192,0,0,0,192,0,0,0,198,67,66,5,192,0,0,0,192,0,0,0,197,226,240,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,66,5,192,0,0,0,198,2,67,5,198,67,67,5,192,0,0,0,192,0,0,0,192,0,0,0,198,162,67,5,192,0,0,0,192,0,0,0,192,0,0,0,198,227,67,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,68,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,68,5,192,0,0,0,198,227,68,5,192,0,0,0,198,67,69,5,192,0,0,0,192,0,0,0,192,0,0,0,198,163,69,5,192,0,0,0,198,3,70,5,197,35,241,0,197,131,241,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,70,5,192,0,0,0,192,0,0,0,192,0,0,0,198,163,70,5,197,226,241,0,198,2,71,5,192,0,0,0,198,67,71,5,198,162,71,5,192,0,0,0,198,227,71,5,192,0,0,0,192,0,0,0,198,67,72,5,192,0,0,0,198,163,72,5,197,34,242,0,192,0,0,0,197,99,242,0,192,0,0,0,198,3,73,5,192,0,0,0,192,0,0,0,198,98,73,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,73,5,198,226,73,5,198,35,74,5,198,131,74,5,192,0,0,0,198,227,74,5,192,0,0,0,198,66,75,5,198,130,75,5,192,0,0,0,198,194,75,5,198,2,76,5,198,66,76,5,198,130,76,5,192,0,0,0,192,0,0,0,198,194,76,5,192,0,0,0,192,0,0,0,198,2,77,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,77,5,198,131,77,5,198,226,77,5,192,0,0,0,198,34,78,5,198,99,78,5,198,194,78,5,198,2,79,5,198,67,79,5,197,194,242,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,79,5,192,0,0,0,192,0,0,0,198,226,79,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,80,5,192,0,0,0,198,98,80,5,192,0,0,0,192,0,0,0,192,0,0,0,198,162,80,5,198,226,80,5,192,0,0,0,192,0,0,0,198,34,81,5,192,0,0,0,192,0,0,0,198,98,81,5,192,0,0,0,192,0,0,0,197,2,243,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,243,0,192,0,0,0,198,163,81,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,82,5,192,0,0,0,192,0,0,0,198,99,82,5,192,0,0,0,192,0,0,0,192,0,0,0,198,194,82,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,83,5,192,0,0,0,192,0,0,0,198,98,83,5,198,163,83,5,192,0,0,0,198,3,84,5,192,0,0,0,197,162,243,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,84,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,84,5,198,35,85,5,198,130,85,5,198,195,85,5,198,35,86,5,192,0,0,0,198,130,86,5,198,195,86,5,198,35,87,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,87,5,198,227,87,5,198,67,88,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,88,5,198,227,88,5,198,66,89,5,198,130,89,5,192,0,0,0,198,195,89,5,192,0,0,0,198,35,90,5,198,130,90,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,243,0,192,0,0,0,192,0,0,0,198,194,90,5,192,0,0,0,198,2,91,5,192,0,0,0,198,66,91,5,198,131,91,5,192,0,0,0,198,227,91,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,92,5,198,130,92,5,192,0,0,0,192,0,0,0,198,194,92,5,198,3,93,5,192,0,0,0,192,0,0,0,198,99,93,5,198,195,93,5,198,35,94,5,192,0,0,0,198,131,94,5,192,0,0,0,198,227,94,5,192,0,0,0,198,67,95,5,198,163,95,5,192,0,0,0,197,66,244,0,198,2,96,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,244,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,244,0,198,66,96,5,192,0,0,0,198,131,96,5,192,0,0,0,192,0,0,0,192,0,0,0,198,226,96,5,192,0,0,0,198,34,97,5,192,0,0,0,197,2,245,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,97,5,198,163,97,5,192,0,0,0,192,0,0,0,198,2,98,5,198,66,98,5,198,131,98,5,192,0,0,0,192,0,0,0,198,226,98,5,192,0,0,0,198,34,99,5,197,66,245,0,192,0,0,0,192,0,0,0,198,99,99,5,198,194,99,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,100,5,192,0,0,0,198,67,100,5,192,0,0,0,192,0,0,0,198,163,100,5,192,0,0,0,192,0,0,0,197,131,245,0,197,227,245,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,101,5,198,98,101,5,192,0,0,0,192,0,0,0,192,0,0,0,198,162,101,5,192,0,0,0,192,0,0,0,197,67,246,0,197,162,246,0,197,227,246,0,198,227,101,5,198,67,102,5,198,163,102,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,103,5,192,0,0,0,198,99,103,5,192,0,0,0,198,195,103,5,198,35,104,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,104,5,198,227,104,5,192,0,0,0,192,0,0,0,197,66,247,0,192,0,0,0,198,66,105,5,192,0,0,0,198,131,105,5,192,0,0,0,192,0,0,0,192,0,0,0,198,226,105,5,198,34,106,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,106,5,198,194,106,5,192,0,0,0,192,0,0,0,192,0,0,0,198,2,107,5,192,0,0,0,192,0,0,0,198,67,107,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,107,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,108,5,198,99,108,5,192,0,0,0,192,0,0,0,198,195,108,5,192,0,0,0,198,34,109,5,198,98,109,5,198,162,109,5,198,226,109,5,198,35,110,5,198,131,110,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,110,5,192,0,0,0,192,0,0,0,192,0,0,0,198,35,111,5,198,131,111,5,198,226,111,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,112,5,192,0,0,0,198,131,112,5,192,0,0,0,192,0,0,0,198,226,112,5,198,35,113,5,192,0,0,0,192,0,0,0,198,130,113,5,192,0,0,0,198,195,113,5,197,131,247,0,198,35,114,5,198,131,114,5,198,227,114,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,247,0,198,67,115,5,192,0,0,0,197,34,248,0,198,163,115,5,198,2,116,5,192,0,0,0,198,66,116,5,192,0,0,0,198,131,116,5,192,0,0,0,198,227,116,5,198,66,117,5,192,0,0,0,192,0,0,0,192,0,0,0,198,130,117,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,117,5,192,0,0,0,198,3,118,5,198,99,118,5,198,195,118,5,192,0,0,0,198,34,119,5,192,0,0,0,192,0,0,0,198,99,119,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,119,5,198,34,120,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,120,5,192,0,0,0,192,0,0,0,198,195,120,5,198,34,121,5,197,98,248,0,192,0,0,0,192,0,0,0,198,98,121,5,198,163,121,5,198,3,122,5,192,0,0,0,192,0,0,0,198,99,122,5,197,162,248,0,198,195,122,5,198,35,123,5,192,0,0,0,198,130,123,5,192,0,0,0,192,0,0,0,192,0,0,0,198,195,123,5,192,0,0,0,192,0,0,0,192,0,0,0,198,34,124,5,192,0,0,0,192,0,0,0,197,226,248,0,192,0,0,0,198,99,124,5,192,0,0,0,198,194,124,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,125,5,198,99,125,5,197,34,249,0,192,0,0,0,192,0,0,0,198,194,125,5,192,0,0,0,198,3,126,5,198,99,126,5,192,0,0,0,192,0,0,0,198,195,126,5,192,0,0,0,197,98,249,0,192,0,0,0,198,35,127,5,198,131,127,5,192,0,0,0,198,226,127,5,192,0,0,0,198,35,128,5,197,162,249,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,128,5,197,226,249,0,192,0,0,0,198,195,128,5,192,0,0,0,192,0,0,0,192,0,0,0,198,34,129,5,198,99,129,5,198,194,129,5,192,0,0,0,197,34,250,0,192,0,0,0,192,0,0,0,197,98,250,0,198,3,130,5,198,99,130,5,192,0,0,0,198,194,130,5,192,0,0,0,197,162,250,0,197,227,250,0,192,0,0,0,198,2,131,5,192,0,0,0,198,67,131,5,198,162,131,5,192,0,0,0,192,0,0,0,198,226,131,5,192,0,0,0,198,34,132,5,192,0,0,0,192,0,0,0,192,0,0,0,198,98,132,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,132,5,198,3,133,5,192,0,0,0,198,98,133,5,198,162,133,5,192,0,0,0,198,227,133,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,134,5,198,163,134,5,198,3,135,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,135,5,192,0,0,0,198,194,135,5,198,3,136,5,198,99,136,5,198,194,136,5,198,3,137,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,137,5,192,0,0,0,192,0,0,0,198,194,137,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,251,0,192,0,0,0,198,3,138,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,138,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,138,5,198,3,139,5,198,98,139,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,139,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,251,0,192,0,0,0,197,195,251,0,192,0,0,0,198,3,140,5,192,0,0,0,198,98,140,5,198,162,140,5,192,0,0,0,192,0,0,0,198,227,140,5,198,67,141,5,192,0,0,0,198,163,141,5,198,3,142,5,192,0,0,0,198,99,142,5,192,0,0,0,198,195,142,5,192,0,0,0,198,34,143,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,143,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,143,5,198,2,144,5,192,0,0,0,198,67,144,5,198,163,144,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,145,5,192,0,0,0,197,34,252,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,145,5,198,162,145,5,198,227,145,5,192,0,0,0,192,0,0,0,198,66,146,5,192,0,0,0,198,131,146,5,192,0,0,0,198,227,146,5,198,67,147,5,198,162,147,5,192,0,0,0,198,226,147,5,197,98,252,0,198,34,148,5,198,99,148,5,198,195,148,5,198,34,149,5,198,99,149,5,198,195,149,5,197,162,252,0,197,226,252,0,198,35,150,5,198,130,150,5,197,34,253,0,192,0,0,0,198,195,150,5,192,0,0,0,192,0,0,0,192,0,0,0,198,34,151,5,198,99,151,5,198,195,151,5,192,0,0,0,197,98,253,0,198,34,152,5,198,98,152,5,198,162,152,5,198,227,152,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,153,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,153,5,198,227,153,5,198,67,154,5,197,162,253,0,198,162,154,5,192,0,0,0,198,226,154,5,192,0,0,0,192,0,0,0,192,0,0,0,198,34,155,5,198,99,155,5,192,0,0,0,198,194,155,5,198,2,156,5,198,67,156,5,198,162,156,5,192,0,0,0,198,226,156,5,192,0,0,0,198,35,157,5,198,130,157,5,197,226,253,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,157,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,158,5,192,0,0,0,198,131,158,5,197,34,254,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,158,5,198,66,159,5,198,130,159,5,192,0,0,0,198,194,159,5,197,99,254,0,198,2,160,5,198,67,160,5,198,163,160,5,198,2,161,5,198,67,161,5,198,162,161,5,198,226,161,5,192,0,0,0,192,0,0,0,198,34,162,5,198,99,162,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,162,5,192,0,0,0,192,0,0,0,192,0,0,0,198,35,163,5,198,131,163,5,198,226,163,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,164,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,164,5,192,0,0,0,198,163,164,5,198,3,165,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,165,5,192,0,0,0,198,194,165,5,198,2,166,5,198,67,166,5,197,194,254,0,198,163,166,5,198,2,167,5,192,0,0,0,198,67,167,5,197,2,255,0,192,0,0,0,192,0,0,0,198,163,167,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,168,5,192,0,0,0,192,0,0,0,198,99,168,5,192,0,0,0,192,0,0,0,192,0,0,0,198,195,168,5,192,0,0,0,198,34,169,5,198,99,169,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,169,5,198,35,170,5,198,130,170,5,197,67,255,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,170,5,192,0,0,0,192,0,0,0,192,0,0,0,197,162,255,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,171,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,171,5,192,0,0,0,192,0,0,0,192,0,0,0,198,162,171,5,198,227,171,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,172,5,192,0,0,0,192,0,0,0,192,0,0,0,198,130,172,5,198,194,172,5,192,0,0,0,192,0,0,0,198,3,173,5,192,0,0,0,198,99,173,5,192,0,0,0,198,195,173,5,198,35,174,5,192,0,0,0,197,226,255,0,198,131,174,5,197,35,0,1,198,226,174,5,192,0,0,0,197,131,0,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,175,5,198,130,175,5,198,194,175,5,198,3,176,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,176,5,198,195,176,5,198,34,177,5,192,0,0,0,198,99,177,5,198,195,177,5,192,0,0,0,192,0,0,0,198,35,178,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,178,5,198,227,178,5,192,0,0,0,198,67,179,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,0,1,192,0,0,0,197,34,1,1,198,163,179,5,192,0,0,0,198,3,180,5,192,0,0,0,198,99,180,5,192,0,0,0,192,0,0,0,192,0,0,0,198,194,180,5,192,0,0,0,192,0,0,0,198,2,181,5,197,98,1,1,197,163,1,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,181,5,192,0,0,0,198,131,181,5,192,0,0,0,192,0,0,0,192,0,0,0,197,2,2,1,198,226,181,5,198,35,182,5,198,130,182,5,192,0,0,0,198,195,182,5,192,0,0,0,198,35,183,5,192,0,0,0,192,0,0,0,197,66,2,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,183,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,2,1,198,226,183,5,192,0,0,0,198,34,184,5,198,99,184,5,192,0,0,0,192,0,0,0,198,194,184,5,197,194,2,1,198,3,185,5,198,99,185,5,197,2,3,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,3,1,192,0,0,0,192,0,0,0,198,195,185,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,3,1,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,1,192,0,0,0,192,0,0,0,197,34,4,1,198,35,186,5,192,0,0,0,192,0,0,0,198,131,186,5,198,227,186,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,187,5,192,0,0,0,192,0,0,0,198,131,187,5,198,227,187,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,188,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,4,1,192,0,0,0,192,0,0,0,198,163,188,5,198,3,189,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,189,5,192,0,0,0,198,163,189,5,192,0,0,0,192,0,0,0,197,162,4,1,192,0,0,0,192,0,0,0,197,226,4,1,198,2,190,5,197,34,5,1,198,67,190,5,198,162,190,5,192,0,0,0,198,227,190,5,192,0,0,0,198,67,191,5,192,0,0,0,198,162,191,5,192,0,0,0,198,226,191,5,192,0,0,0,197,99,5,1,192,0,0,0,192,0,0,0,198,35,192,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,5,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,192,5,192,0,0,0,192,0,0,0,192,0,0,0,198,194,192,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,193,5,192,0,0,0,192,0,0,0,198,99,193,5,192,0,0,0,192,0,0,0,198,194,193,5,192,0,0,0,198,3,194,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,194,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,194,5,192,0,0,0,198,2,195,5,192,0,0,0,192,0,0,0,198,66,195,5,192,0,0,0,198,131,195,5,192,0,0,0,192,0,0,0,192,0,0,0,198,227,195,5,198,67,196,5,198,163,196,5,198,3,197,5,198,99,197,5,192,0,0,0,192,0,0,0,197,2,6,1,198,195,197,5,198,35,198,5,198,131,198,5,192,0,0,0,198,227,198,5,192,0,0,0,198,67,199,5,192,0,0,0,192,0,0,0,198,163,199,5,198,3,200,5,198,98,200,5,192,0,0,0,198,162,200,5,192,0,0,0,192,0,0,0,198,227,200,5,198,66,201,5,192,0,0,0,198,130,201,5,192,0,0,0,192,0,0,0,198,194,201,5,192,0,0,0,192,0,0,0,192,0,0,0,198,2,202,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,202,5,198,163,202,5,198,3,203,5,198,99,203,5,192,0,0,0,198,195,203,5,192,0,0,0,192,0,0,0,198,35,204,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,204,5,197,67,6,1,192,0,0,0,192,0,0,0,198,194,204,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,205,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,205,5,192,0,0,0,198,195,205,5,198,35,206,5,197,162,6,1,192,0,0,0,198,130,206,5,198,195,206,5,192,0,0,0,198,35,207,5,192,0,0,0,192,0,0,0,192,0,0,0,198,130,207,5,198,194,207,5,192,0,0,0,198,2,208,5,192,0,0,0,198,67,208,5,192,0,0,0,198,163,208,5,198,2,209,5,192,0,0,0,192,0,0,0,192,0,0,0,198,67,209,5,192,0,0,0,198,162,209,5,198,227,209,5,192,0,0,0,198,67,210,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,1,192,0,0,0,197,34,7,1,192,0,0,0,198,163,210,5,192,0,0,0,198,3,211,5,192,0,0,0,192,0,0,0,198,99,211,5,192,0,0,0,192,0,0,0,198,194,211,5,198,2,212,5,198,66,212,5,192,0,0,0,192,0,0,0,198,130,212,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,212,5,192,0,0,0,198,34,213,5,198,98,213,5,192,0,0,0,198,162,213,5,197,98,7,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,1,192,0,0,0,192,0,0,0,198,227,213,5,192,0,0,0,198,67,214,5,198,162,214,5,192,0,0,0,192,0,0,0,192,0,0,0,198,227,214,5,198,67,215,5,198,162,215,5,198,227,215,5,192,0,0,0,198,66,216,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,216,5,192,0,0,0,192,0,0,0,192,0,0,0,198,226,216,5,192,0,0,0,198,35,217,5,192,0,0,0,192,0,0,0,192,0,0,0,198,131,217,5,192,0,0,0,198,226,217,5,198,34,218,5,192,0,0,0,198,98,218,5,198,162,218,5,192,0,0,0,198,227,218,5,192,0,0,0,192,0,0,0,197,226,7,1,192,0,0,0,198,67,219,5,192,0,0,0,192,0,0,0,198,163,219,5,192,0,0,0,192,0,0,0,198,3,220,5,192,0,0,0,197,34,8,1,192,0,0,0,198,99,220,5,192,0,0,0,198,195,220,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,8,1,198,35,221,5,198,131,221,5,192,0,0,0,197,163,8,1,198,227,221,5,198,67,222,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,222,5,197,3,9,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,9,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,222,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,223,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,223,5,198,195,223,5,198,35,224,5,198,130,224,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,224,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,9,1,197,226,9,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,225,5,198,99,225,5,192,0,0,0,192,0,0,0,192,0,0,0,198,195,225,5,198,34,226,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,10,1,192,0,0,0,198,98,226,5,198,163,226,5,198,2,227,5,192,0,0,0,198,67,227,5,192,0,0,0,198,163,227,5,198,3,228,5,192,0,0,0,197,98,10,1,192,0,0,0,198,98,228,5,192,0,0,0,198,162,228,5,198,226,228,5,192,0,0,0,192,0,0,0,198,35,229,5,198,131,229,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,229,5,198,67,230,5,198,163,230,5,192,0,0,0,198,3,231,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,231,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,231,5,192,0,0,0,198,3,232,5,192,0,0,0,192,0,0,0,192,0,0,0,198,99,232,5,192,0,0,0,198,195,232,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,233,5,192,0,0,0,192,0,0,0,198,98,233,5,192,0,0,0,198,162,233,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,10,1,192,0,0,0,197,227,10,1,192,0,0,0,192,0,0,0,197,66,11,1,198,227,233,5,197,130,11,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,11,1,198,66,234,5,192,0,0,0,198,130,234,5,197,2,12,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,12,1,192,0,0,0,192,0,0,0,192,0,0,0,197,130,12,1,198,194,234,5,192,0,0,0,192,0,0,0,198,2,235,5,192,0,0,0,198,67,235,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,235,5,198,227,235,5,197,194,12,1,198,67,236,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,236,5,198,2,237,5,198,67,237,5,198,162,237,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,237,5,192,0,0,0,198,67,238,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,238,5,198,2,239,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,239,5,197,2,13,1,198,130,239,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,239,5,198,2,240,5,198,67,240,5,192,0,0,0,192,0,0,0,198,162,240,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,240,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,241,5,197,66,13,1,198,130,241,5,192,0,0,0,198,195,241,5,192,0,0,0,198,35,242,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,13,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,13,1,192,0,0,0,198,130,242,5,192,0,0,0,192,0,0,0,197,3,14,1,198,194,242,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,243,5,197,99,14,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,243,5,192,0,0,0,192,0,0,0,198,195,243,5,198,35,244,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,244,5,198,195,244,5,192,0,0,0,198,34,245,5,192,0,0,0,192,0,0,0,198,98,245,5,192,0,0,0,198,163,245,5,192,0,0,0,198,3,246,5,198,99,246,5,192,0,0,0,192,0,0,0,198,195,246,5,192,0,0,0,198,34,247,5,198,98,247,5,198,162,247,5,198,227,247,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,248,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,248,5,192,0,0,0,198,226,248,5,192,0,0,0,198,35,249,5,198,130,249,5,192,0,0,0,192,0,0,0,192,0,0,0,198,194,249,5,192,0,0,0,192,0,0,0,192,0,0,0,198,3,250,5,192,0,0,0,192,0,0,0,198,99,250,5,198,194,250,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,251,5,198,99,251,5,192,0,0,0,198,195,251,5,192,0,0,0,192,0,0,0,198,34,252,5,198,99,252,5,192,0,0,0,192,0,0,0,192,0,0,0,198,195,252,5,198,35,253,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,253,5,192,0,0,0,198,195,253,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,254,5,192,0,0,0,197,195,14,1,192,0,0,0,198,131,254,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,15,1,198,227,254,5,192,0,0,0,192,0,0,0,192,0,0,0,198,66,255,5,198,130,255,5,197,98,15,1,192,0,0,0,198,195,255,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,0,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,15,1,192,0,0,0,198,131,0,6,192,0,0,0,197,226,15,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,0,6,198,67,1,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,1,6,198,3,2,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,2,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,2,6,198,227,2,6,192,0,0,0,192,0,0,0,198,67,3,6,198,163,3,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,4,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,4,6,198,163,4,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,5,6,198,66,5,6,192,0,0,0,198,131,5,6,192,0,0,0,192,0,0,0,198,227,5,6,192,0,0,0,192,0,0,0,192,0,0,0,197,35,16,1,192,0,0,0,192,0,0,0,198,66,6,6,192,0,0,0,192,0,0,0,198,130,6,6,198,195,6,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,7,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,7,6,198,227,7,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,8,6,192,0,0,0,192,0,0,0,198,162,8,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,8,6,192,0,0,0,192,0,0,0,198,66,9,6,192,0,0,0,192,0,0,0,198,131,9,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,9,6,192,0,0,0,197,130,16,1,192,0,0,0,197,194,16,1,192,0,0,0,192,0,0,0,198,67,10,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,10,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,11,6,192,0,0,0,192,0,0,0,192,0,0,0,198,99,11,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,11,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,12,6,192,0,0,0,197,2,17,1,198,131,12,6,197,66,17,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,12,6,198,35,13,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,13,6,192,0,0,0,192,0,0,0,198,226,13,6,192,0,0,0,198,35,14,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,17,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,14,6,192,0,0,0,198,227,14,6,192,0,0,0,192,0,0,0,192,0,0,0,198,67,15,6,192,0,0,0,198,163,15,6,198,3,16,6,198,99,16,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,16,6,198,35,17,6,192,0,0,0,192,0,0,0,192,0,0,0,198,130,17,6,192,0,0,0,198,194,17,6,192,0,0,0,197,226,17,1,192,0,0,0,198,3,18,6,198,98,18,6,192,0,0,0,192,0,0,0,198,163,18,6,198,2,19,6,197,34,18,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,18,1,192,0,0,0,192,0,0,0,198,67,19,6,192,0,0,0,192,0,0,0,198,163,19,6,192,0,0,0,198,2,20,6,192,0,0,0,198,67,20,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,20,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,21,6,198,99,21,6,198,195,21,6,192,0,0,0,198,35,22,6,198,130,22,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,22,6,192,0,0,0,192,0,0,0,198,2,23,6,192,0,0,0,198,66,23,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,23,6,192,0,0,0,192,0,0,0,192,0,0,0,198,226,23,6,198,35,24,6,192,0,0,0,192,0,0,0,192,0,0,0,197,162,18,1,192,0,0,0,198,130,24,6,198,195,24,6,192,0,0,0,192,0,0,0,192,0,0,0,198,35,25,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,25,6,197,226,18,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,25,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,26,6,198,98,26,6,198,163,26,6,192,0,0,0,192,0,0,0,198,3,27,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,27,6,192,0,0,0,192,0,0,0,198,163,27,6,192,0,0,0,198,2,28,6,192,0,0,0,192,0,0,0,198,66,28,6,192,0,0,0,197,34,19,1,197,98,19,1,192,0,0,0,192,0,0,0,198,130,28,6,198,195,28,6,192,0,0,0,192,0,0,0,198,34,29,6,198,99,29,6,192,0,0,0,198,194,29,6,192,0,0,0,198,2,30,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,30,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,30,6,192,0,0,0,197,162,19,1,192,0,0,0,198,195,30,6,198,34,31,6,198,98,31,6,192,0,0,0,192,0,0,0,198,162,31,6,198,226,31,6,192,0,0,0,192,0,0,0,192,0,0,0,197,226,19,1,198,34,32,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,20,1,192,0,0,0,192,0,0,0,198,99,32,6,192,0,0,0,192,0,0,0,198,195,32,6,192,0,0,0,198,35,33,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,33,6,192,0,0,0,198,226,33,6,198,34,34,6,192,0,0,0,198,98,34,6,192,0,0,0,192,0,0,0,197,98,20,1,198,162,34,6,197,162,20,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,34,6,192,0,0,0,198,67,35,6,192,0,0,0,192,0,0,0,197,226,20,1,197,34,21,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,35,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,36,6,192,0,0,0,198,98,36,6,192,0,0,0,198,163,36,6,198,3,37,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,37,6,192,0,0,0,192,0,0,0,198,195,37,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,38,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,38,6,192,0,0,0,198,194,38,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,39,6,192,0,0,0,198,99,39,6,198,195,39,6,198,35,40,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,40,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,40,6,192,0,0,0,192,0,0,0,197,99,21,1,192,0,0,0,198,67,41,6,192,0,0,0,192,0,0,0,198,163,41,6,192,0,0,0,198,3,42,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,42,6,192,0,0,0,198,162,42,6,192,0,0,0,198,227,42,6,192,0,0,0,192,0,0,0,198,67,43,6,197,194,21,1,197,3,22,1,198,162,43,6,192,0,0,0,198,227,43,6,192,0,0,0,192,0,0,0,192,0,0,0,198,66,44,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,44,6,192,0,0,0,192,0,0,0,198,226,44,6,198,34,45,6,198,99,45,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,45,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,46,6,198,130,46,6,198,195,46,6,192,0,0,0,198,34,47,6,192,0,0,0,192,0,0,0,198,98,47,6,192,0,0,0,192,0,0,0,198,163,47,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,22,1,192,0,0,0,192,0,0,0,198,3,48,6,192,0,0,0,192,0,0,0,198,99,48,6,192,0,0,0,198,195,48,6,198,35,49,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,49,6,192,0,0,0,198,227,49,6,192,0,0,0,198,67,50,6,192,0,0,0,192,0,0,0,192,0,0,0,198,162,50,6,192,0,0,0,198,226,50,6,198,34,51,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,22,1,192,0,0,0,198,99,51,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,51,6,192,0,0,0,198,35,52,6,198,131,52,6,192,0,0,0,192,0,0,0,192,0,0,0,198,227,52,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,53,6,192,0,0,0,198,163,53,6,198,2,54,6,192,0,0,0,192,0,0,0,192,0,0,0,198,67,54,6,198,162,54,6,198,227,54,6,198,67,55,6,192,0,0,0,198,163,55,6,192,0,0,0,198,2,56,6,192,0,0,0,198,67,56,6,198,162,56,6,192,0,0,0,197,227,22,1,198,227,56,6,198,67,57,6,197,67,23,1,198,163,57,6,198,2,58,6,192,0,0,0,192,0,0,0,197,162,23,1,192,0,0,0,198,66,58,6,192,0,0,0,198,131,58,6,192,0,0,0,192,0,0,0,197,227,23,1,198,227,58,6,192,0,0,0,198,67,59,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,59,6,192,0,0,0,192,0,0,0,198,3,60,6,192,0,0,0,192,0,0,0,192,0,0,0,197,66,24,1,192,0,0,0,192,0,0,0,198,98,60,6,192,0,0,0,198,162,60,6,192,0,0,0,192,0,0,0,192,0,0,0,198,227,60,6,198,66,61,6,198,131,61,6,192,0,0,0,198,226,61,6,192,0,0,0,192,0,0,0,198,34,62,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,62,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,62,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,62,6,198,34,63,6,192,0,0,0,192,0,0,0,198,98,63,6,198,163,63,6,197,130,24,1,198,3,64,6,198,99,64,6,192,0,0,0,192,0,0,0,197,194,24,1,192,0,0,0,192,0,0,0,198,194,64,6,192,0,0,0,198,3,65,6,197,2,25,1,198,99,65,6,197,66,25,1,192,0,0,0,192,0,0,0,198,194,65,6,192,0,0,0,192,0,0,0,198,2,66,6,192,0,0,0,198,66,66,6,198,130,66,6,197,130,25,1,198,195,66,6,192,0,0,0,197,195,25,1,197,34,26,1,197,98,26,1,198,35,67,6,192,0,0,0,198,131,67,6,192,0,0,0,192,0,0,0,192,0,0,0,198,227,67,6,192,0,0,0,192,0,0,0,197,162,26,1,192,0,0,0,192,0,0,0,197,226,26,1,192,0,0,0,192,0,0,0,198,66,68,6,192,0,0,0,198,130,68,6,198,194,68,6,198,3,69,6,197,34,27,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,69,6,198,163,69,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,70,6,192,0,0,0,198,98,70,6,192,0,0,0,198,163,70,6,192,0,0,0,192,0,0,0,197,98,27,1,192,0,0,0,198,2,71,6,192,0,0,0,192,0,0,0,192,0,0,0,198,66,71,6,192,0,0,0,198,131,71,6,198,226,71,6,198,35,72,6,198,130,72,6,198,194,72,6,198,2,73,6,198,67,73,6,198,162,73,6,197,162,27,1,192,0,0,0,198,227,73,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,74,6,192,0,0,0,197,226,27,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,74,6,192,0,0,0,192,0,0,0,197,34,28,1,192,0,0,0,198,195,74,6,198,34,75,6,192,0,0,0,192,0,0,0,198,99,75,6,192,0,0,0,198,195,75,6,192,0,0,0,192,0,0,0,198,35,76,6,192,0,0,0,198,130,76,6,192,0,0,0,198,195,76,6,192,0,0,0,198,35,77,6,192,0,0,0,197,98,28,1,192,0,0,0,192,0,0,0,198,131,77,6,192,0,0,0,192,0,0,0,192,0,0,0,198,227,77,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,28,1,198,67,78,6,192,0,0,0,198,163,78,6,198,2,79,6,197,227,28,1,198,66,79,6,192,0,0,0,192,0,0,0,198,131,79,6,192,0,0,0,197,66,29,1,197,130,29,1,192,0,0,0,192,0,0,0,198,227,79,6,198,67,80,6,192,0,0,0,197,194,29,1,198,162,80,6,192,0,0,0,198,226,80,6,197,2,30,1,192,0,0,0,198,35,81,6,197,67,30,1,192,0,0,0,198,131,81,6,198,227,81,6,197,162,30,1,192,0,0,0,198,67,82,6,192,0,0,0,197,227,30,1,192,0,0,0,198,163,82,6,192,0,0,0,198,2,83,6,198,67,83,6,197,66,31,1,192,0,0,0,198,163,83,6,192,0,0,0,192,0,0,0,198,3,84,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,84,6,192,0,0,0,198,162,84,6,192,0,0,0,198,227,84,6,197,130,31,1,192,0,0,0,192,0,0,0,197,195,31,1,192,0,0,0,198,67,85,6,198,163,85,6,192,0,0,0,198,3,86,6,198,99,86,6,198,195,86,6,198,35,87,6,198,130,87,6,192,0,0,0,192,0,0,0,198,194,87,6,192,0,0,0,192,0,0,0,198,2,88,6,192,0,0,0,192,0,0,0,198,67,88,6,192,0,0,0,198,162,88,6,192,0,0,0,192,0,0,0,198,227,88,6,198,66,89,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,89,6,192,0,0,0,192,0,0,0,192,0,0,0,198,194,89,6,192,0,0,0,198,3,90,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,90,6,192,0,0,0,192,0,0,0,197,34,32,1,192,0,0,0,197,98,32,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,90,6,192,0,0,0,192,0,0,0,197,162,32,1,192,0,0,0,197,227,32,1,198,34,91,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,91,6,192,0,0,0,198,195,91,6,192,0,0,0,198,35,92,6,198,130,92,6,198,195,92,6,192,0,0,0,198,34,93,6,192,0,0,0,192,0,0,0,198,98,93,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,93,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,94,6,198,98,94,6,192,0,0,0,192,0,0,0,198,163,94,6,197,66,33,1,198,3,95,6,192,0,0,0,192,0,0,0,198,99,95,6,192,0,0,0,192,0,0,0,197,130,33,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,33,1,192,0,0,0,197,2,34,1,198,195,95,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,96,6,198,99,96,6,192,0,0,0,198,195,96,6,192,0,0,0,198,34,97,6,192,0,0,0,198,98,97,6,192,0,0,0,198,163,97,6,198,3,98,6,192,0,0,0,192,0,0,0,198,99,98,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,98,6,192,0,0,0,198,35,99,6,192,0,0,0,198,131,99,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,99,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,100,6,192,0,0,0,197,67,34,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,100,6,198,195,100,6,198,34,101,6,198,98,101,6,198,163,101,6,192,0,0,0,198,3,102,6,192,0,0,0,198,98,102,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,102,6,198,227,102,6,192,0,0,0,192,0,0,0,192,0,0,0,198,67,103,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,103,6,198,3,104,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,34,1,192,0,0,0,197,226,34,1,197,34,35,1,198,98,104,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,104,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,35,1,197,162,35,1,198,2,105,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,105,6,198,131,105,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,105,6,192,0,0,0,198,66,106,6,198,130,106,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,106,6,198,2,107,6,192,0,0,0,192,0,0,0,192,0,0,0,198,67,107,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,35,1,198,163,107,6,192,0,0,0,198,2,108,6,198,66,108,6,198,131,108,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,108,6,197,34,36,1,198,67,109,6,197,99,36,1,198,163,109,6,198,3,110,6,192,0,0,0,192,0,0,0,197,194,36,1,198,98,110,6,192,0,0,0,198,162,110,6,198,226,110,6,198,34,111,6,192,0,0,0,197,3,37,1,198,98,111,6,198,162,111,6,192,0,0,0,197,99,37,1,198,226,111,6,198,35,112,6,198,130,112,6,192,0,0,0,198,194,112,6,197,194,37,1,198,3,113,6,198,98,113,6,198,163,113,6,197,2,38,1,192,0,0,0,198,3,114,6,198,98,114,6,198,162,114,6,192,0,0,0,198,227,114,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,115,6,192,0,0,0,198,163,115,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,116,6,198,66,116,6,192,0,0,0,198,130,116,6,192,0,0,0,198,195,116,6,192,0,0,0,198,34,117,6,198,99,117,6,198,195,117,6,198,34,118,6,198,99,118,6,192,0,0,0,198,194,118,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,119,6,192,0,0,0,198,99,119,6,198,194,119,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,120,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,120,6,198,130,120,6,198,194,120,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,121,6,197,66,38,1,192,0,0,0,198,67,121,6,198,163,121,6,192,0,0,0,198,3,122,6,198,99,122,6,192,0,0,0,198,195,122,6,192,0,0,0,198,35,123,6,198,131,123,6,192,0,0,0,192,0,0,0,198,227,123,6,198,66,124,6,192,0,0,0,198,131,124,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,124,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,125,6,192,0,0,0,198,162,125,6,198,227,125,6,192,0,0,0,192,0,0,0,192,0,0,0,197,131,38,1,192,0,0,0,198,66,126,6,192,0,0,0,192,0,0,0,198,130,126,6,192,0,0,0,192,0,0,0,198,194,126,6,198,2,127,6,192,0,0,0,198,67,127,6,198,162,127,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,127,6,192,0,0,0,192,0,0,0,192,0,0,0,198,66,128,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,128,6,192,0,0,0,192,0,0,0,192,0,0,0,198,226,128,6,192,0,0,0,197,227,38,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,129,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,129,6,192,0,0,0,192,0,0,0,197,66,39,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,39,1,192,0,0,0,192,0,0,0,198,162,129,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,129,6,198,67,130,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,130,6,192,0,0,0,192,0,0,0,192,0,0,0,198,226,130,6,192,0,0,0,192,0,0,0,192,0,0,0,198,34,131,6,192,0,0,0,192,0,0,0,192,0,0,0,197,194,39,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,131,6,198,195,131,6,192,0,0,0,198,34,132,6,198,98,132,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,132,6,198,3,133,6,198,98,133,6,192,0,0,0,192,0,0,0,192,0,0,0,197,2,40,1,192,0,0,0,198,162,133,6,192,0,0,0,198,227,133,6,192,0,0,0,198,67,134,6,192,0,0,0,198,163,134,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,40,1,192,0,0,0,197,130,40,1,198,3,135,6,198,98,135,6,192,0,0,0,192,0,0,0,198,162,135,6,192,0,0,0,197,194,40,1,192,0,0,0,198,226,135,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,136,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,136,6,192,0,0,0,198,226,136,6,198,35,137,6,198,131,137,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,137,6,198,67,138,6,192,0,0,0,192,0,0,0,192,0,0,0,198,163,138,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,139,6,198,66,139,6,198,130,139,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,139,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,41,1,192,0,0,0,192,0,0,0,192,0,0,0,198,35,140,6,198,131,140,6,197,66,41,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,140,6,192,0,0,0,192,0,0,0,198,35,141,6,192,0,0,0,197,130,41,1,192,0,0,0,197,194,41,1,192,0,0,0,192,0,0,0,198,131,141,6,198,226,141,6,198,34,142,6,197,2,42,1,192,0,0,0,198,99,142,6,192,0,0,0,192,0,0,0,197,66,42,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,142,6,192,0,0,0,192,0,0,0,192,0,0,0,198,35,143,6,192,0,0,0,192,0,0,0,198,131,143,6,192,0,0,0,192,0,0,0,198,227,143,6,198,67,144,6,192,0,0,0,192,0,0,0,198,163,144,6,198,3,145,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,145,6,192,0,0,0,198,195,145,6,192,0,0,0,198,35,146,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,146,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,146,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,147,6,192,0,0,0,197,130,42,1,192,0,0,0,198,99,147,6,198,194,147,6,197,194,42,1,192,0,0,0,198,3,148,6,192,0,0,0,192,0,0,0,198,99,148,6,198,195,148,6,192,0,0,0,198,34,149,6,198,99,149,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,149,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,150,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,150,6,198,227,150,6,198,67,151,6,198,163,151,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,152,6,192,0,0,0,198,67,152,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,152,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,43,1,192,0,0,0,192,0,0,0,192,0,0,0,198,226,152,6,198,35,153,6,197,66,43,1,198,131,153,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,153,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,154,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,154,6,192,0,0,0,192,0,0,0,198,3,155,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,155,6,198,194,155,6,198,2,156,6,198,66,156,6,198,131,156,6,192,0,0,0,198,227,156,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,157,6,192,0,0,0,198,130,157,6,192,0,0,0,198,195,157,6,198,34,158,6,198,98,158,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,158,6,198,3,159,6,198,98,159,6,198,163,159,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,160,6,197,130,43,1,197,194,43,1,198,99,160,6,198,195,160,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,161,6,198,131,161,6,198,227,161,6,198,66,162,6,198,131,162,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,162,6,198,67,163,6,192,0,0,0,192,0,0,0,198,162,163,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,163,6,198,35,164,6,192,0,0,0,198,131,164,6,192,0,0,0,192,0,0,0,198,227,164,6,197,2,44,1,198,67,165,6,192,0,0,0,198,163,165,6,192,0,0,0,197,67,44,1,198,3,166,6,198,99,166,6,192,0,0,0,192,0,0,0,198,195,166,6,192,0,0,0,192,0,0,0,192,0,0,0,198,35,167,6,198,130,167,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,167,6,192,0,0,0,198,35,168,6,192,0,0,0,192,0,0,0,198,131,168,6,198,227,168,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,44,1,197,227,44,1,198,67,169,6,192,0,0,0,198,162,169,6,198,227,169,6,198,67,170,6,198,162,170,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,170,6,198,66,171,6,192,0,0,0,192,0,0,0,197,66,45,1,192,0,0,0,192,0,0,0,198,131,171,6,198,227,171,6,192,0,0,0,192,0,0,0,198,67,172,6,192,0,0,0,198,163,172,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,173,6,198,67,173,6,198,163,173,6,198,3,174,6,198,99,174,6,198,195,174,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,175,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,175,6,198,227,175,6,192,0,0,0,198,66,176,6,198,130,176,6,197,131,45,1,198,195,176,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,177,6,198,131,177,6,192,0,0,0,192,0,0,0,198,227,177,6,192,0,0,0,198,66,178,6,198,131,178,6,198,226,178,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,179,6,192,0,0,0,198,98,179,6,198,163,179,6,198,2,180,6,192,0,0,0,198,66,180,6,192,0,0,0,198,131,180,6,198,227,180,6,198,67,181,6,198,163,181,6,192,0,0,0,192,0,0,0,198,3,182,6,192,0,0,0,198,99,182,6,192,0,0,0,197,226,45,1,192,0,0,0,192,0,0,0,198,194,182,6,198,3,183,6,198,99,183,6,198,194,183,6,192,0,0,0,192,0,0,0,197,34,46,1,192,0,0,0,192,0,0,0,197,98,46,1,198,3,184,6,198,99,184,6,198,194,184,6,192,0,0,0,197,162,46,1,198,3,185,6,192,0,0,0,198,99,185,6,192,0,0,0,192,0,0,0,198,194,185,6,198,2,186,6,198,66,186,6,192,0,0,0,197,226,46,1,198,131,186,6,198,226,186,6,192,0,0,0,192,0,0,0,198,34,187,6,198,99,187,6,198,195,187,6,198,34,188,6,192,0,0,0,197,34,47,1,198,99,188,6,192,0,0,0,192,0,0,0,198,194,188,6,198,3,189,6,198,99,189,6,198,194,189,6,198,3,190,6,198,99,190,6,198,195,190,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,47,1,192,0,0,0,192,0,0,0,198,34,191,6,198,99,191,6,192,0,0,0,198,195,191,6,198,34,192,6,198,98,192,6,192,0,0,0,198,163,192,6,192,0,0,0,192,0,0,0,192,0,0,0,197,163,47,1,192,0,0,0,197,2,48,1,192,0,0,0,192,0,0,0,198,3,193,6,198,98,193,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,193,6,192,0,0,0,198,227,193,6,197,66,48,1,198,67,194,6,192,0,0,0,198,163,194,6,197,130,48,1,198,3,195,6,197,194,48,1,197,3,49,1,198,98,195,6,198,162,195,6,198,227,195,6,197,98,49,1,192,0,0,0,192,0,0,0,198,66,196,6,198,130,196,6,192,0,0,0,198,194,196,6,198,3,197,6,198,99,197,6,197,162,49,1,192,0,0,0,198,195,197,6,198,34,198,6,192,0,0,0,198,99,198,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,198,6,198,3,199,6,192,0,0,0,192,0,0,0,198,99,199,6,198,194,199,6,198,2,200,6,198,67,200,6,192,0,0,0,192,0,0,0,198,162,200,6,192,0,0,0,192,0,0,0,198,227,200,6,198,66,201,6,198,131,201,6,198,227,201,6,192,0,0,0,197,226,49,1,192,0,0,0,198,66,202,6,198,130,202,6,192,0,0,0,197,34,50,1,198,194,202,6,198,2,203,6,197,98,50,1,198,66,203,6,197,163,50,1,198,131,203,6,192,0,0,0,198,226,203,6,198,35,204,6,192,0,0,0,198,131,204,6,192,0,0,0,197,2,51,1,192,0,0,0,192,0,0,0,198,226,204,6,198,34,205,6,198,99,205,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,205,6,192,0,0,0,192,0,0,0,192,0,0,0,198,35,206,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,206,6,192,0,0,0,198,227,206,6,198,66,207,6,192,0,0,0,192,0,0,0,198,131,207,6,192,0,0,0,198,227,207,6,192,0,0,0,198,66,208,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,208,6,198,226,208,6,198,34,209,6,192,0,0,0,198,98,209,6,192,0,0,0,198,162,209,6,192,0,0,0,192,0,0,0,197,66,51,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,209,6,192,0,0,0,192,0,0,0,192,0,0,0,198,35,210,6,192,0,0,0,197,131,51,1,198,131,210,6,198,227,210,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,211,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,211,6,197,227,51,1,198,195,211,6,192,0,0,0,192,0,0,0,198,35,212,6,198,131,212,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,212,6,192,0,0,0,197,66,52,1,198,34,213,6,192,0,0,0,198,99,213,6,192,0,0,0,198,195,213,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,52,1,198,34,214,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,214,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,214,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,52,1,192,0,0,0,192,0,0,0,198,3,215,6,192,0,0,0,192,0,0,0,192,0,0,0,198,98,215,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,215,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,216,6,198,99,216,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,216,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,217,6,192,0,0,0,192,0,0,0,198,131,217,6,197,34,53,1,198,227,217,6,192,0,0,0,198,67,218,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,218,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,219,6,197,98,53,1,198,99,219,6,197,162,53,1,198,195,219,6,198,34,220,6,198,98,220,6,192,0,0,0,192,0,0,0,192,0,0,0,198,162,220,6,192,0,0,0,192,0,0,0,192,0,0,0,197,227,53,1,197,66,54,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,220,6,198,35,221,6,198,130,221,6,198,194,221,6,192,0,0,0,192,0,0,0,192,0,0,0,198,3,222,6,198,99,222,6,192,0,0,0,198,194,222,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,223,6,192,0,0,0,198,98,223,6,197,130,54,1,198,162,223,6,197,195,54,1,198,227,223,6,198,66,224,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,224,6,192,0,0,0,192,0,0,0,192,0,0,0,198,227,224,6,192,0,0,0,197,34,55,1,192,0,0,0,198,66,225,6,192,0,0,0,197,98,55,1,192,0,0,0,192,0,0,0,198,130,225,6,192,0,0,0,198,195,225,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,55,1,192,0,0,0,198,35,226,6,192,0,0,0,192,0,0,0,192,0,0,0,197,226,55,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,226,6,197,34,56,1,198,195,226,6,192,0,0,0,198,34,227,6,197,98,56,1,192,0,0,0,198,99,227,6,198,195,227,6,192,0,0,0,198,34,228,6,198,99,228,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,228,6,197,163,56,1,192,0,0,0,198,34,229,6,192,0,0,0,198,99,229,6,192,0,0,0,198,194,229,6,192,0,0,0,197,2,57,1,192,0,0,0,198,3,230,6,198,98,230,6,198,163,230,6,197,66,57,1,198,3,231,6,198,98,231,6,198,163,231,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,232,6,198,67,232,6,192,0,0,0,192,0,0,0,192,0,0,0,198,162,232,6,197,131,57,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,232,6,198,35,233,6,192,0,0,0,198,130,233,6,198,195,233,6,192,0,0,0,192,0,0,0,198,34,234,6,192,0,0,0,192,0,0,0,198,99,234,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,234,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,235,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,235,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,235,6,192,0,0,0,192,0,0,0,198,3,236,6,198,99,236,6,198,195,236,6,192,0,0,0,198,34,237,6,192,0,0,0,192,0,0,0,198,99,237,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,57,1,192,0,0,0,198,195,237,6,198,34,238,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,238,6,198,195,238,6,192,0,0,0,198,34,239,6,198,99,239,6,192,0,0,0,198,195,239,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,240,6,198,131,240,6,198,227,240,6,192,0,0,0,192,0,0,0,192,0,0,0,198,66,241,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,241,6,192,0,0,0,198,226,241,6,192,0,0,0,192,0,0,0,198,35,242,6,198,130,242,6,198,195,242,6,192,0,0,0,198,34,243,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,243,6,192,0,0,0,192,0,0,0,192,0,0,0,198,195,243,6,192,0,0,0,192,0,0,0,198,35,244,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,244,6,192,0,0,0,198,226,244,6,198,35,245,6,198,131,245,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,245,6,198,66,246,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,246,6,192,0,0,0,198,226,246,6,192,0,0,0,198,35,247,6,192,0,0,0,192,0,0,0,198,131,247,6,192,0,0,0,198,227,247,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,248,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,248,6,192,0,0,0,198,3,249,6,192,0,0,0,198,99,249,6,198,194,249,6,192,0,0,0,198,3,250,6,198,98,250,6,198,162,250,6,198,227,250,6,197,67,58,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,58,1,192,0,0,0,192,0,0,0,198,66,251,6,198,130,251,6,192,0,0,0,198,194,251,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,252,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,252,6,192,0,0,0,192,0,0,0,197,227,58,1,192,0,0,0,198,195,252,6,198,35,253,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,253,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,59,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,253,6,198,35,254,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,254,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,254,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,255,6,198,99,255,6,198,195,255,6,192,0,0,0,198,35,0,7,198,130,0,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,0,7,192,0,0,0,198,35,1,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,1,7,197,162,59,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,1,7,192,0,0,0,192,0,0,0,197,226,59,1,197,34,60,1,198,35,2,7,192,0,0,0,192,0,0,0,192,0,0,0,198,131,2,7,198,227,2,7,198,67,3,7,198,162,3,7,198,227,3,7,198,67,4,7,198,162,4,7,192,0,0,0,198,227,4,7,198,67,5,7,198,162,5,7,192,0,0,0,198,227,5,7,198,67,6,7,198,163,6,7,192,0,0,0,198,2,7,7,198,67,7,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,7,7,198,2,8,7,198,67,8,7,198,162,8,7,192,0,0,0,198,226,8,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,9,7,192,0,0,0,192,0,0,0,197,98,60,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,9,7,197,162,60,1,198,226,9,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,10,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,10,7,198,194,10,7,192,0,0,0,197,226,60,1,192,0,0,0,198,3,11,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,11,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,61,1,192,0,0,0,198,195,11,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,12,7,192,0,0,0,198,131,12,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,12,7,192,0,0,0,197,130,61,1,198,67,13,7,192,0,0,0,192,0,0,0,197,194,61,1,198,163,13,7,192,0,0,0,192,0,0,0,192,0,0,0,198,3,14,7,192,0,0,0,198,98,14,7,192,0,0,0,198,163,14,7,197,3,62,1,192,0,0,0,192,0,0,0,198,2,15,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,62,1,198,67,15,7,192,0,0,0,192,0,0,0,198,163,15,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,16,7,192,0,0,0,192,0,0,0,192,0,0,0,198,99,16,7,198,195,16,7,192,0,0,0,198,34,17,7,198,99,17,7,198,195,17,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,18,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,18,7,198,195,18,7,198,35,19,7,192,0,0,0,192,0,0,0,192,0,0,0,198,131,19,7,198,227,19,7,198,67,20,7,198,163,20,7,192,0,0,0,198,3,21,7,197,162,62,1,192,0,0,0,198,98,21,7,192,0,0,0,198,163,21,7,192,0,0,0,198,3,22,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,22,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,22,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,23,7,197,227,62,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,23,7,198,194,23,7,192,0,0,0,192,0,0,0,198,2,24,7,198,67,24,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,24,7,198,3,25,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,25,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,25,7,198,3,26,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,26,7,198,195,26,7,192,0,0,0,198,35,27,7,192,0,0,0,198,131,27,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,63,1,192,0,0,0,198,226,27,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,63,1,192,0,0,0,198,35,28,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,28,7,198,227,28,7,192,0,0,0,192,0,0,0,198,67,29,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,29,7,192,0,0,0,192,0,0,0,198,3,30,7,192,0,0,0,198,99,30,7,192,0,0,0,197,2,64,1,197,66,64,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,30,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,31,7,198,99,31,7,198,195,31,7,192,0,0,0,192,0,0,0,198,35,32,7,192,0,0,0,198,131,32,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,32,7,198,35,33,7,198,131,33,7,198,227,33,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,34,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,34,7,192,0,0,0,192,0,0,0,198,3,35,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,35,7,197,130,64,1,198,195,35,7,198,34,36,7,192,0,0,0,192,0,0,0,198,99,36,7,198,195,36,7,192,0,0,0,198,35,37,7,198,131,37,7,198,227,37,7,198,67,38,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,38,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,39,7,192,0,0,0,192,0,0,0,192,0,0,0,198,67,39,7,197,195,64,1,198,163,39,7,192,0,0,0,192,0,0,0,198,2,40,7,198,67,40,7,192,0,0,0,198,163,40,7,198,3,41,7,197,34,65,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,41,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,41,7,192,0,0,0,192,0,0,0,198,35,42,7,192,0,0,0,198,131,42,7,198,227,42,7,198,67,43,7,198,163,43,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,44,7,192,0,0,0,192,0,0,0,192,0,0,0,198,99,44,7,198,194,44,7,192,0,0,0,197,99,65,1,198,3,45,7,198,99,45,7,198,194,45,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,46,7,197,195,65,1,198,67,46,7,197,35,66,1,192,0,0,0,192,0,0,0,192,0,0,0,198,162,46,7,192,0,0,0,198,227,46,7,192,0,0,0,197,131,66,1,192,0,0,0,197,226,66,1,198,67,47,7,198,163,47,7,192,0,0,0,192,0,0,0,198,3,48,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,48,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,48,7,192,0,0,0,192,0,0,0,197,34,67,1,192,0,0,0,192,0,0,0,192,0,0,0,198,3,49,7,192,0,0,0,198,99,49,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,49,7,198,34,50,7,192,0,0,0,192,0,0,0,198,99,50,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,50,7,192,0,0,0,192,0,0,0,192,0,0,0,198,2,51,7,198,66,51,7,192,0,0,0,197,98,67,1,192,0,0,0,198,130,51,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,51,7,198,3,52,7,198,99,52,7,192,0,0,0,192,0,0,0,198,195,52,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,53,7,192,0,0,0,192,0,0,0,197,162,67,1,197,227,67,1,198,131,53,7,198,227,53,7,198,67,54,7,192,0,0,0,198,162,54,7,198,227,54,7,198,67,55,7,197,66,68,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,55,7,192,0,0,0,198,226,55,7,192,0,0,0,192,0,0,0,192,0,0,0,198,35,56,7,192,0,0,0,198,130,56,7,198,195,56,7,198,34,57,7,198,99,57,7,198,194,57,7,197,131,68,1,198,3,58,7,192,0,0,0,192,0,0,0,192,0,0,0,198,98,58,7,198,163,58,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,68,1,198,2,59,7,198,67,59,7,192,0,0,0,192,0,0,0,192,0,0,0,198,162,59,7,198,226,59,7,192,0,0,0,197,35,69,1,198,34,60,7,192,0,0,0,192,0,0,0,198,98,60,7,192,0,0,0,192,0,0,0,198,163,60,7,198,3,61,7,192,0,0,0,198,98,61,7,198,162,61,7,198,227,61,7,192,0,0,0,197,130,69,1,198,67,62,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,62,7,197,194,69,1,192,0,0,0,192,0,0,0,198,2,63,7,198,66,63,7,198,130,63,7,197,3,70,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,63,7,198,35,64,7,192,0,0,0,197,98,70,1,198,131,64,7,192,0,0,0,198,226,64,7,198,34,65,7,198,98,65,7,198,162,65,7,192,0,0,0,198,227,65,7,198,67,66,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,66,7,198,3,67,7,192,0,0,0,192,0,0,0,198,99,67,7,198,194,67,7,198,3,68,7,198,98,68,7,192,0,0,0,197,162,70,1,192,0,0,0,198,163,68,7,198,2,69,7,198,67,69,7,197,226,70,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,69,7,198,226,69,7,192,0,0,0,192,0,0,0,198,35,70,7,198,131,70,7,197,34,71,1,198,227,70,7,198,67,71,7,198,162,71,7,192,0,0,0,192,0,0,0,192,0,0,0,198,226,71,7,198,35,72,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,72,7,198,194,72,7,198,3,73,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,73,7,198,195,73,7,192,0,0,0,198,35,74,7,192,0,0,0,192,0,0,0,192,0,0,0,198,131,74,7,198,226,74,7,192,0,0,0,198,35,75,7,198,131,75,7,198,227,75,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,76,7,192,0,0,0,192,0,0,0,192,0,0,0,198,130,76,7,198,195,76,7,198,35,77,7,198,131,77,7,197,98,71,1,198,226,77,7,192,0,0,0,192,0,0,0,198,34,78,7,198,99,78,7,198,195,78,7,198,34,79,7,192,0,0,0,198,99,79,7,192,0,0,0,197,162,71,1,198,194,79,7,192,0,0,0,198,3,80,7,192,0,0,0,192,0,0,0,198,99,80,7,192,0,0,0,192,0,0,0,198,195,80,7,192,0,0,0,197,226,71,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,81,7,192,0,0,0,192,0,0,0,198,131,81,7,198,226,81,7,192,0,0,0,192,0,0,0,198,35,82,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,82,7,192,0,0,0,198,226,82,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,72,1,198,35,83,7,192,0,0,0,192,0,0,0,192,0,0,0,197,98,72,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,83,7,192,0,0,0,198,226,83,7,192,0,0,0,197,162,72,1,192,0,0,0,198,35,84,7,198,130,84,7,192,0,0,0,192,0,0,0,198,194,84,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,85,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,85,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,85,7,198,35,86,7,198,131,86,7,198,227,86,7,198,66,87,7,192,0,0,0,198,130,87,7,198,194,87,7,198,3,88,7,192,0,0,0,192,0,0,0,192,0,0,0,198,99,88,7,192,0,0,0,198,195,88,7,197,227,72,1,192,0,0,0,192,0,0,0,192,0,0,0,198,35,89,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,89,7,197,66,73,1,198,226,89,7,192,0,0,0,198,35,90,7,192,0,0,0,192,0,0,0,198,131,90,7,192,0,0,0,198,227,90,7,192,0,0,0,192,0,0,0,192,0,0,0,198,66,91,7,197,130,73,1,192,0,0,0,192,0,0,0,198,130,91,7,198,195,91,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,73,1,192,0,0,0,198,35,92,7,192,0,0,0,198,131,92,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,92,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,93,7,192,0,0,0,192,0,0,0,198,130,93,7,192,0,0,0,192,0,0,0,198,194,93,7,192,0,0,0,198,3,94,7,192,0,0,0,192,0,0,0,198,99,94,7,198,195,94,7,198,35,95,7,192,0,0,0,192,0,0,0,192,0,0,0,198,130,95,7,192,0,0,0,192,0,0,0,198,194,95,7,192,0,0,0,192,0,0,0,192,0,0,0,198,3,96,7,198,99,96,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,96,7,192,0,0,0,198,35,97,7,192,0,0,0,192,0,0,0,198,131,97,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,74,1,192,0,0,0,198,227,97,7,192,0,0,0,192,0,0,0,198,67,98,7,192,0,0,0,192,0,0,0,198,163,98,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,99,7,192,0,0,0,192,0,0,0,198,66,99,7,198,130,99,7,198,195,99,7,192,0,0,0,198,35,100,7,198,130,100,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,100,7,198,2,101,7,192,0,0,0,192,0,0,0,198,67,101,7,198,162,101,7,198,227,101,7,192,0,0,0,198,67,102,7,198,162,102,7,192,0,0,0,192,0,0,0,192,0,0,0,198,227,102,7,198,67,103,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,103,7,197,66,74,1,197,131,74,1,198,3,104,7,198,99,104,7,192,0,0,0,198,195,104,7,198,35,105,7,192,0,0,0,198,130,105,7,192,0,0,0,198,195,105,7,192,0,0,0,198,35,106,7,198,130,106,7,198,194,106,7,198,3,107,7,197,226,74,1,198,99,107,7,198,195,107,7,198,35,108,7,192,0,0,0,192,0,0,0,198,131,108,7,197,34,75,1,198,227,108,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,109,7,192,0,0,0,192,0,0,0,197,99,75,1,192,0,0,0,198,163,109,7,192,0,0,0,192,0,0,0,197,194,75,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,110,7,192,0,0,0,198,66,110,7,197,2,76,1,192,0,0,0,197,67,76,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,110,7,198,227,110,7,197,162,76,1,192,0,0,0,198,67,111,7,192,0,0,0,192,0,0,0,192,0,0,0,198,162,111,7,192,0,0,0,192,0,0,0,198,226,111,7,192,0,0,0,192,0,0,0,192,0,0,0,198,34,112,7,197,226,76,1,198,99,112,7,192,0,0,0,192,0,0,0,198,194,112,7,197,34,77,1,198,3,113,7,198,99,113,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,113,7,198,35,114,7,198,131,114,7,192,0,0,0,192,0,0,0,192,0,0,0,198,227,114,7,198,67,115,7,198,163,115,7,192,0,0,0,192,0,0,0,192,0,0,0,198,2,116,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,77,1,198,66,116,7,198,130,116,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,116,7,192,0,0,0,192,0,0,0,192,0,0,0,198,35,117,7,198,131,117,7,198,226,117,7,192,0,0,0,198,35,118,7,198,131,118,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,118,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,119,7,192,0,0,0,198,163,119,7,192,0,0,0,198,2,120,7,198,67,120,7,192,0,0,0,192,0,0,0,192,0,0,0,198,162,120,7,192,0,0,0,192,0,0,0,192,0,0,0,198,227,120,7,192,0,0,0,198,66,121,7,192,0,0,0,192,0,0,0,198,131,121,7,192,0,0,0,192,0,0,0,198,226,121,7,192,0,0,0,197,162,77,1,192,0,0,0,192,0,0,0,197,226,77,1,192,0,0,0,198,34,122,7,192,0,0,0,198,99,122,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,122,7,198,3,123,7,192,0,0,0,192,0,0,0,198,99,123,7,192,0,0,0,198,195,123,7,198,34,124,7,192,0,0,0,192,0,0,0,192,0,0,0,198,99,124,7,198,195,124,7,192,0,0,0,192,0,0,0,198,35,125,7,198,130,125,7,192,0,0,0,198,195,125,7,198,35,126,7,198,131,126,7,192,0,0,0,198,227,126,7,192,0,0,0,192,0,0,0,198,66,127,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,127,7,198,226,127,7,198,34,128,7,198,99,128,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,128,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,129,7,198,99,129,7,192,0,0,0,198,194,129,7,192,0,0,0,192,0,0,0,192,0,0,0,198,3,130,7,192,0,0,0,198,98,130,7,198,162,130,7,198,226,130,7,198,35,131,7,192,0,0,0,192,0,0,0,197,34,78,1,192,0,0,0,197,98,78,1,192,0,0,0,192,0,0,0,192,0,0,0,198,131,131,7,192,0,0,0,198,227,131,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,132,7,198,162,132,7,198,227,132,7,192,0,0,0,198,67,133,7,192,0,0,0,198,162,133,7,192,0,0,0,198,227,133,7,192,0,0,0,198,67,134,7,197,162,78,1,192,0,0,0,198,163,134,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,135,7,192,0,0,0,192,0,0,0,197,226,78,1,197,34,79,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,135,7,192,0,0,0,192,0,0,0,198,195,135,7,192,0,0,0,192,0,0,0,198,34,136,7,198,99,136,7,192,0,0,0,197,98,79,1,198,195,136,7,198,35,137,7,192,0,0,0,192,0,0,0,198,130,137,7,198,194,137,7,198,2,138,7,192,0,0,0,198,67,138,7,198,162,138,7,192,0,0,0,198,227,138,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,139,7,192,0,0,0,198,163,139,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,140,7,198,66,140,7,198,131,140,7,198,227,140,7,192,0,0,0,192,0,0,0,192,0,0,0,197,163,79,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,141,7,192,0,0,0,198,163,141,7,192,0,0,0,192,0,0,0,198,3,142,7,192,0,0,0,192,0,0,0,192,0,0,0,198,98,142,7,198,162,142,7,198,227,142,7,192,0,0,0,198,67,143,7,198,162,143,7,192,0,0,0,197,2,80,1,198,227,143,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,144,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,144,7,192,0,0,0,192,0,0,0,198,2,145,7,192,0,0,0,192,0,0,0,192,0,0,0,198,66,145,7,198,131,145,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,145,7,198,34,146,7,198,98,146,7,198,162,146,7,192,0,0,0,192,0,0,0,198,226,146,7,192,0,0,0,192,0,0,0,198,34,147,7,198,98,147,7,192,0,0,0,198,162,147,7,198,227,147,7,198,66,148,7,198,130,148,7,198,194,148,7,192,0,0,0,192,0,0,0,198,3,149,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,149,7,192,0,0,0,198,195,149,7,192,0,0,0,192,0,0,0,197,66,80,1,198,35,150,7,192,0,0,0,192,0,0,0,198,131,150,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,150,7,192,0,0,0,192,0,0,0,198,67,151,7,192,0,0,0,198,163,151,7,192,0,0,0,198,3,152,7,192,0,0,0,198,99,152,7,198,195,152,7,198,34,153,7,198,99,153,7,198,194,153,7,192,0,0,0,192,0,0,0,198,3,154,7,192,0,0,0,192,0,0,0,198,98,154,7,192,0,0,0,198,162,154,7,198,226,154,7,198,34,155,7,192,0,0,0,198,98,155,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,155,7,192,0,0,0,198,227,155,7,198,67,156,7,192,0,0,0,198,162,156,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,156,7,192,0,0,0,198,67,157,7,192,0,0,0,192,0,0,0,198,163,157,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,158,7,197,130,80,1,198,98,158,7,198,163,158,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,159,7,192,0,0,0,198,67,159,7,198,162,159,7,198,227,159,7,197,194,80,1,198,67,160,7,198,162,160,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,81,1,192,0,0,0,198,227,160,7,197,66,81,1,198,67,161,7,198,163,161,7,192,0,0,0,192,0,0,0,198,3,162,7,192,0,0,0,192,0,0,0,198,98,162,7,192,0,0,0,197,131,81,1,198,162,162,7,192,0,0,0,198,227,162,7,198,67,163,7,192,0,0,0,192,0,0,0,192,0,0,0,197,226,81,1,192,0,0,0,192,0,0,0,197,34,82,1,192,0,0,0,198,163,163,7,198,2,164,7,192,0,0,0,192,0,0,0,192,0,0,0,197,99,82,1,197,194,82,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,164,7,192,0,0,0,198,162,164,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,83,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,83,1,198,226,164,7,192,0,0,0,192,0,0,0,198,35,165,7,192,0,0,0,192,0,0,0,198,131,165,7,198,226,165,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,166,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,166,7,192,0,0,0,198,195,166,7,192,0,0,0,198,34,167,7,197,130,83,1,192,0,0,0,198,99,167,7,198,194,167,7,198,2,168,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,83,1,192,0,0,0,198,67,168,7,192,0,0,0,198,163,168,7,192,0,0,0,198,3,169,7,198,98,169,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,169,7,192,0,0,0,198,226,169,7,198,35,170,7,192,0,0,0,197,2,84,1,192,0,0,0,197,66,84,1,192,0,0,0,198,131,170,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,84,1,198,227,170,7,198,66,171,7,192,0,0,0,197,194,84,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,171,7,192,0,0,0,192,0,0,0,198,227,171,7,198,67,172,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,172,7,198,3,173,7,192,0,0,0,198,98,173,7,192,0,0,0,192,0,0,0,198,162,173,7,192,0,0,0,198,227,173,7,192,0,0,0,192,0,0,0,192,0,0,0,198,67,174,7,192,0,0,0,198,163,174,7,198,3,175,7,198,98,175,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,175,7,192,0,0,0,192,0,0,0,198,3,176,7,198,99,176,7,192,0,0,0,192,0,0,0,192,0,0,0,198,194,176,7,198,3,177,7,197,3,85,1,197,98,85,1,192,0,0,0,192,0,0,0,192,0,0,0,198,98,177,7,198,163,177,7,192,0,0,0,198,3,178,7,198,99,178,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,178,7,192,0,0,0,198,34,179,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,179,7,198,163,179,7,198,3,180,7,198,99,180,7,198,194,180,7,192,0,0,0,192,0,0,0,198,2,181,7,192,0,0,0,192,0,0,0,198,66,181,7,192,0,0,0,198,131,181,7,198,227,181,7,197,162,85,1,192,0,0,0,198,66,182,7,192,0,0,0,192,0,0,0,198,130,182,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,182,7,192,0,0,0,198,34,183,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,183,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,183,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,183,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,184,7,192,0,0,0,192,0,0,0,198,131,184,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,184,7,192,0,0,0,192,0,0,0,198,66,185,7,198,130,185,7,198,194,185,7,192,0,0,0,192,0,0,0,192,0,0,0,198,3,186,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,186,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,186,7,198,2,187,7,192,0,0,0,198,66,187,7,198,130,187,7,192,0,0,0,197,226,85,1,198,195,187,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,188,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,188,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,188,7,192,0,0,0,192,0,0,0,198,2,189,7,198,66,189,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,86,1,192,0,0,0,198,131,189,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,189,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,190,7,192,0,0,0,198,99,190,7,192,0,0,0,192,0,0,0,192,0,0,0,198,195,190,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,191,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,191,7,192,0,0,0,198,195,191,7,192,0,0,0,198,34,192,7,197,98,86,1,192,0,0,0,192,0,0,0,198,99,192,7,192,0,0,0,198,195,192,7,198,34,193,7,192,0,0,0,197,162,86,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,193,7,197,227,86,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,193,7,198,227,193,7,198,67,194,7,192,0,0,0,198,163,194,7,198,2,195,7,192,0,0,0,192,0,0,0,198,67,195,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,195,7,198,2,196,7,198,67,196,7,192,0,0,0,192,0,0,0,197,66,87,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,196,7,192,0,0,0,198,3,197,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,197,7,192,0,0,0,192,0,0,0,198,195,197,7,198,35,198,7,192,0,0,0,192,0,0,0,192,0,0,0,198,131,198,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,87,1,192,0,0,0,192,0,0,0,198,227,198,7,192,0,0,0,192,0,0,0,192,0,0,0,198,66,199,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,130,199,7,192,0,0,0,192,0,0,0,198,195,199,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,200,7,198,99,200,7,198,194,200,7,192,0,0,0,198,2,201,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,201,7,198,163,201,7,192,0,0,0,198,3,202,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,202,7,192,0,0,0,192,0,0,0,198,195,202,7,198,34,203,7,198,99,203,7,198,194,203,7,192,0,0,0,192,0,0,0,198,3,204,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,204,7,192,0,0,0,192,0,0,0,198,194,204,7,192,0,0,0,192,0,0,0,198,3,205,7,197,194,87,1,192,0,0,0,198,99,205,7,192,0,0,0,192,0,0,0,192,0,0,0,197,2,88,1,192,0,0,0,192,0,0,0,192,0,0,0,198,194,205,7,192,0,0,0,192,0,0,0,198,3,206,7,192,0,0,0,198,99,206,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,206,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,207,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,207,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,207,7,197,66,88,1,192,0,0,0,197,130,88,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,208,7,192,0,0,0,198,131,208,7,198,227,208,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,209,7,198,130,209,7,192,0,0,0,198,195,209,7,198,34,210,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,210,7,192,0,0,0,192,0,0,0,198,195,210,7,192,0,0,0,192,0,0,0,198,35,211,7,198,130,211,7,192,0,0,0,198,195,211,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,212,7,192,0,0,0,192,0,0,0,192,0,0,0,198,130,212,7,192,0,0,0,192,0,0,0,198,195,212,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,213,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,213,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,213,7,192,0,0,0,192,0,0,0,192,0,0,0,198,35,214,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,214,7,192,0,0,0,192,0,0,0,198,227,214,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,215,7,192,0,0,0,192,0,0,0,198,163,215,7,192,0,0,0,192,0,0,0,198,3,216,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,88,1,198,98,216,7,192,0,0,0,192,0,0,0,198,163,216,7,198,2,217,7,192,0,0,0,198,67,217,7,192,0,0,0,192,0,0,0,192,0,0,0,198,162,217,7,192,0,0,0,198,227,217,7,198,66,218,7,192,0,0,0,198,130,218,7,192,0,0,0,192,0,0,0,198,194,218,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,219,7,192,0,0,0,192,0,0,0,198,66,219,7,198,130,219,7,192,0,0,0,198,194,219,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,220,7,192,0,0,0,192,0,0,0,198,67,220,7,198,163,220,7,198,3,221,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,221,7,198,194,221,7,197,34,89,1,198,3,222,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,89,1,198,99,222,7,198,194,222,7,192,0,0,0,192,0,0,0,197,195,89,1,192,0,0,0,198,3,223,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,223,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,223,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,224,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,224,7,198,195,224,7,198,34,225,7,192,0,0,0,198,99,225,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,225,7,192,0,0,0,198,3,226,7,192,0,0,0,197,35,90,1,192,0,0,0,198,99,226,7,192,0,0,0,198,195,226,7,192,0,0,0,198,35,227,7,198,130,227,7,192,0,0,0,197,130,90,1,192,0,0,0,198,194,227,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,228,7,198,66,228,7,192,0,0,0,192,0,0,0,198,131,228,7,192,0,0,0,198,226,228,7,198,34,229,7,198,99,229,7,192,0,0,0,192,0,0,0,192,0,0,0,197,194,90,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,229,7,198,3,230,7,198,99,230,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,230,7,198,3,231,7,192,0,0,0,192,0,0,0,192,0,0,0,198,98,231,7,198,163,231,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,232,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,232,7,198,195,232,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,233,7,192,0,0,0,198,98,233,7,197,2,91,1,198,162,233,7,192,0,0,0,192,0,0,0,192,0,0,0,197,67,91,1,192,0,0,0,198,227,233,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,91,1,198,66,234,7,197,2,92,1,198,131,234,7,198,226,234,7,197,67,92,1,192,0,0,0,192,0,0,0,198,35,235,7,192,0,0,0,198,130,235,7,192,0,0,0,198,195,235,7,192,0,0,0,198,35,236,7,198,130,236,7,198,195,236,7,198,34,237,7,198,99,237,7,192,0,0,0,197,163,92,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,237,7,192,0,0,0,192,0,0,0,198,35,238,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,238,7,198,227,238,7,192,0,0,0,192,0,0,0,198,67,239,7,192,0,0,0,198,162,239,7,198,227,239,7,198,67,240,7,198,163,240,7,192,0,0,0,192,0,0,0,198,3,241,7,198,99,241,7,198,194,241,7,198,3,242,7,192,0,0,0,198,99,242,7,198,195,242,7,192,0,0,0,198,34,243,7,192,0,0,0,198,98,243,7,192,0,0,0,192,0,0,0,198,162,243,7,198,227,243,7,198,66,244,7,198,131,244,7,192,0,0,0,192,0,0,0,192,0,0,0,198,227,244,7,192,0,0,0,198,66,245,7,192,0,0,0,192,0,0,0,198,130,245,7,192,0,0,0,192,0,0,0,192,0,0,0,198,194,245,7,192,0,0,0,198,2,246,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,246,7,192,0,0,0,198,131,246,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,246,7,198,66,247,7,192,0,0,0,192,0,0,0,198,130,247,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,247,7,192,0,0,0,192,0,0,0,192,0,0,0,198,35,248,7,198,131,248,7,192,0,0,0,198,226,248,7,192,0,0,0,192,0,0,0,198,35,249,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,93,1,198,130,249,7,192,0,0,0,192,0,0,0,198,194,249,7,192,0,0,0,192,0,0,0,192,0,0,0,197,66,93,1,192,0,0,0,198,3,250,7,197,131,93,1,192,0,0,0,198,99,250,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,93,1,198,194,250,7,198,3,251,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,251,7,198,195,251,7,192,0,0,0,198,34,252,7,198,99,252,7,198,195,252,7,198,34,253,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,253,7,192,0,0,0,192,0,0,0,192,0,0,0,198,163,253,7,198,3,254,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,254,7,198,195,254,7,192,0,0,0,198,35,255,7,192,0,0,0,198,131,255,7,192,0,0,0,198,227,255,7,198,67,0,8,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,0,8,198,226,0,8,192,0,0,0,192,0,0,0,198,35,1,8,192,0,0,0,197,34,94,1,192,0,0,0,192,0,0,0,198,130,1,8,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,101,6,198,131,181,2,198,226,152,6,198,162,114,6,197,195,168,0,197,99,0,0,198,226,180,0,198,162,0,8,198,162,0,8,198,130,49,1,198,163,231,6,198,98,216,0,198,98,48,1,198,226,31,2,198,194,79,4,198,66,61,5,198,98,233,5,198,2,5,6,198,162,31,6,198,226,204,6,198,3,9,3,198,99,87,3,198,35,192,3,198,99,4,4,198,227,186,5,198,99,222,6,198,131,150,7,198,3,13,0,198,131,169,0,198,195,31,3,198,67,219,3,198,99,232,5,198,99,225,7,198,227,153,1,198,227,167,3,198,99,223,5,198,131,40,6,198,35,58,2,198,3,125,5,198,35,12,6,198,163,190,1,198,99,186,2,198,3,95,3,198,67,239,3,192,0,0,0,198,2,47,0,198,99,116,0,198,66,151,0,198,226,107,2,198,34,27,3,198,66,218,3,198,66,94,4,198,130,75,5,198,162,228,5,198,66,234,5,198,162,135,6,198,226,82,7,198,162,183,7,198,194,222,7,198,227,131,4,198,131,155,4,198,227,15,5,198,131,178,5,198,195,0,7,198,35,227,7,198,227,77,6,198,99,39,1,198,227,198,1,198,227,232,4,198,227,87,5,198,162,228,3,198,194,137,4,198,98,113,6,198,226,74,7,198,162,37,1,198,2,132,1,198,66,11,3,198,34,106,3,198,162,140,3,198,2,2,5,198,34,37,5,198,194,51,7,198,35,149,0,198,35,90,5,198,67,120,0,198,195,118,0,198,227,171,4,198,35,22,5,198,35,182,5,198,99,57,7,198,195,95,6,198,130,59,2,198,3,9,3,198,163,82,6,198,3,7,0,198,131,115,1,198,34,230,1,198,99,249,3,198,2,55,4,198,195,157,0,198,131,143,4,198,227,51,0,198,3,219,1,198,162,2,0,197,3,157,0,198,2,129,2,198,195,0,5,198,131,176,0,198,226,24,1,198,3,98,4,198,131,187,5,198,227,73,6,198,195,48,3,198,3,174,6,197,99,154,0,198,67,66,2,198,35,157,5,198,227,82,2,198,131,53,4,198,131,20,0,198,3,107,0,198,195,117,0,198,3,226,2,198,3,248,4,198,67,141,5,198,131,77,6,198,3,231,6,197,194,25,0,197,194,35,0,197,34,63,0,197,226,87,0,197,130,124,0,197,2,175,0,197,162,220,0,197,34,65,1,197,194,82,1,197,194,90,1,197,2,92,1,198,99,143,0,198,35,176,2,198,227,40,3,198,227,169,6,198,67,181,1,198,131,20,2,198,131,33,2,198,195,102,2,198,99,143,3,198,195,198,3,198,131,28,4,198,227,163,4,198,195,28,5,198,195,84,5,198,35,161,6,198,3,203,5,198,195,190,6,198,67,8,7,198,99,127,0,198,99,144,0,198,163,201,0,198,227,190,3,198,163,26,6,198,227,73,6,198,67,190,1,198,195,227,1,198,67,78,2,198,163,46,3,198,99,229,4,198,195,246,3,198,3,28,0,198,195,243,0,198,131,115,1,198,163,160,1,198,195,231,1,198,67,255,3,198,3,24,4,198,131,64,5,198,99,82,5,198,99,238,6,198,131,74,7,198,35,84,7,198,227,108,7,198,226,47,0,198,130,159,4,198,34,228,6,198,98,65,7,198,195,255,1,198,98,13,0,198,66,86,0,198,34,117,1,198,66,127,1,198,226,131,2,198,3,9,3,198,130,211,3,198,194,74,4,198,130,204,5,198,66,202,6,198,99,254,7,197,35,128,0,198,195,49,7,198,194,141,0,198,194,198,2,198,66,211,2,198,130,91,3,198,162,128,3,198,162,11,4,198,130,51,4,198,226,129,4,198,2,253,4,198,2,116,7,198,35,108,0,198,35,40,2,198,3,58,7,198,195,69,0,198,99,149,1,198,99,109,3,198,131,162,6,198,3,215,1,198,67,9,2,198,67,214,2,198,99,249,3,198,67,59,7,198,130,129,0,198,98,187,0,198,162,132,1,198,131,150,2,198,98,193,2,198,34,230,2,198,130,82,3,198,34,11,4,198,98,66,4,198,2,60,5,198,2,28,6,198,2,30,6,198,98,230,6,198,226,71,7,198,195,160,0,198,35,133,3,198,163,188,0,198,195,211,3,198,163,29,4,198,163,226,5,198,163,62,7,198,131,198,7,198,99,230,7,198,35,202,2,198,131,104,3,198,131,127,5,198,3,192,4,198,67,201,4,198,3,237,4,198,99,234,3,198,98,186,3,198,35,92,6,198,131,22,0,198,2,167,5,198,98,132,0,198,35,125,0,198,194,186,1,198,163,60,2,198,163,244,4,198,195,100,1,198,195,87,3,197,67,129,0,198,131,164,6,198,163,15,6,198,99,52,7,198,227,43,6,198,227,191,1,198,67,100,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,24,1,192,0,0,0,198,67,165,2,192,0,0,0,192,0,0,0,197,130,19,0,197,66,193,0,198,195,89,4,192,0,0,0,198,35,153,4,198,67,154,4,198,67,157,4,198,99,85,7,198,99,243,4,198,162,67,5,192,0,0,0,192,0,0,0,192,0,0,0,197,162,30,1,192,0,0,0,192,0,0,0,198,163,192,6,198,98,214,6,192,0,0,0,192,0,0,0,192,0,0,0,198,131,126,7,198,226,127,7,198,227,132,7,197,195,88,1,198,195,211,6,198,34,65,7,198,226,50,0,198,99,87,0,198,131,103,0,198,3,148,0,198,195,152,0,198,66,164,0,198,99,218,0,198,99,225,0,198,130,232,0,198,227,20,1,198,67,32,1,198,67,132,1,192,0,0,0,197,226,99,0,198,194,14,2,198,35,20,2,198,131,31,2,198,3,124,2,192,0,0,0,198,130,168,2,198,194,226,2,197,98,161,0,197,98,165,0,198,3,143,3,198,162,203,3,192,0,0,0,198,3,13,4,198,226,132,4,198,34,148,4,198,2,150,4,198,194,149,4,198,162,150,4,198,194,151,4,198,195,152,4,197,98,222,0,198,227,156,4,198,3,176,4,198,99,182,4,198,227,218,4,198,195,28,5,198,227,29,5,198,99,38,5,198,34,59,5,198,66,76,5,197,162,249,0,192,0,0,0,192,0,0,0,197,98,4,1,198,131,33,6,198,226,44,6,198,67,83,6,198,3,90,6,198,163,115,6,198,163,121,6,192,0,0,0,198,163,192,6,198,35,72,7,198,163,103,7,198,67,111,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,5,0,192,0,0,0,198,163,106,0,192,0,0,0,198,195,101,0,198,130,110,0,198,163,147,0,198,195,153,0,198,99,218,0,192,0,0,0,197,2,44,0,198,195,223,0,198,131,24,1,198,35,34,1,198,195,47,1,198,3,50,1,198,98,73,1,198,34,90,1,192,0,0,0,192,0,0,0,198,226,209,1,198,34,220,1,198,227,253,1,192,0,0,0,197,34,104,0,198,35,20,2,198,98,13,2,198,131,31,2,198,66,41,2,197,130,116,0,198,162,93,2,192,0,0,0,198,66,125,2,198,67,165,2,198,99,186,2,198,195,186,2,198,163,194,2,192,0,0,0,198,195,48,3,198,130,91,3,192,0,0,0,198,98,135,3,198,3,143,3,198,35,176,3,198,162,203,3,192,0,0,0,198,195,221,3,198,67,233,3,197,66,193,0,198,163,25,4,192,0,0,0,192,0,0,0,192,0,0,0,198,67,71,4,198,195,89,4,198,99,91,4,198,35,96,4,192,0,0,0,198,67,105,4,192,0,0,0,192,0,0,0,198,227,218,4,192,0,0,0,198,226,7,5,198,195,28,5,198,131,52,5,198,66,76,5,197,67,255,0,197,2,2,1,192,0,0,0,198,99,37,6,198,67,43,6,198,226,44,6,198,34,75,6,197,162,30,1,198,195,76,6,198,67,83,6,198,163,82,6,197,194,29,1,198,3,90,6,198,99,96,6,198,163,121,6,198,226,163,6,198,162,200,6,192,0,0,0,192,0,0,0,198,98,58,7,198,35,72,7,198,99,85,7,192,0,0,0,198,163,103,7,192,0,0,0,198,67,111,7,198,227,173,7,198,162,0,8,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,254,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,50,0,198,131,51,0,198,227,61,0,192,0,0,0,198,130,79,0,198,99,87,0,198,67,85,0,192,0,0,0,192,0,0,0,198,131,103,0,192,0,0,0,192,0,0,0,198,130,109,0,192,0,0,0,192,0,0,0,198,98,106,0,198,226,111,0,192,0,0,0,198,99,113,0,198,35,114,0,192,0,0,0,198,67,115,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,124,0,192,0,0,0,198,163,132,0,192,0,0,0,197,163,22,0,198,35,140,0,192,0,0,0,198,163,147,0,198,3,148,0,198,195,152,0,198,195,153,0,198,2,156,0,192,0,0,0,198,195,157,0,197,66,28,0,198,66,164,0,198,67,165,0,198,195,168,0,198,67,171,0,198,3,172,0,198,3,172,0,198,3,172,0,192,0,0,0,197,34,177,0,198,195,177,0,198,194,179,0,192,0,0,0,198,2,182,0,198,131,183,0,192,0,0,0,192,0,0,0,197,99,34,0,198,67,192,0,198,226,194,0,198,99,200,0,192,0,0,0,198,3,208,0,198,2,212,0,197,195,42,0,198,163,215,0,198,163,215,0,197,2,44,0,198,227,219,0,192,0,0,0,192,0,0,0,198,2,248,0,198,99,225,0,192,0,0,0,192,0,0,0,198,35,234,0,198,35,125,0,192,0,0,0,198,131,8,1,198,195,11,1,192,0,0,0,198,195,3,1,192,0,0,0,198,194,19,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,3,42,1,198,2,44,1,198,67,44,1,198,34,51,1,192,0,0,0,192,0,0,0,197,66,66,0,198,130,68,1,198,2,70,1,192,0,0,0,198,2,74,1,192,0,0,0,192,0,0,0,198,66,88,1,198,3,92,1,198,3,92,1,192,0,0,0,198,163,110,1,197,226,74,0,198,131,115,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,131,1,192,0,0,0,198,194,142,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,164,1,198,34,165,1,192,0,0,0,198,67,168,1,198,66,172,1,198,98,174,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,187,1,198,66,188,1,198,163,190,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,250,0,198,66,202,1,198,66,202,1,192,0,0,0,192,0,0,0,192,0,0,0,198,99,208,1,198,34,210,1,192,0,0,0,192,0,0,0,198,227,222,1,198,162,223,1,192,0,0,0,198,35,242,1,192,0,0,0,192,0,0,0,197,226,99,0,192,0,0,0,198,163,251,1,198,66,10,2,197,67,106,0,192,0,0,0,197,67,106,0,198,162,17,2,198,35,20,2,198,3,25,2,198,67,22,2,198,163,24,2,198,67,30,2,198,131,31,2,198,226,31,2,198,131,35,2,192,0,0,0,192,0,0,0,198,34,55,2,198,3,61,2,198,99,74,2,192,0,0,0,198,3,71,2,192,0,0,0,198,194,75,2,198,226,78,2,192,0,0,0,192,0,0,0,198,227,93,2,192,0,0,0,198,67,84,2,192,0,0,0,198,34,98,2,192,0,0,0,197,226,119,0,192,0,0,0,192,0,0,0,198,3,124,2,198,3,127,2,192,0,0,0,198,226,141,2,198,66,182,2,198,99,158,2,192,0,0,0,198,130,168,2,192,0,0,0,192,0,0,0,198,130,112,0,198,3,113,0,197,226,131,0,192,0,0,0,198,131,94,5,192,0,0,0,198,99,186,2,198,195,186,2,192,0,0,0,198,66,195,2,197,34,133,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,194,226,2,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,245,2,192,0,0,0,198,130,6,3,192,0,0,0,192,0,0,0,198,99,27,3,192,0,0,0,198,98,34,3,192,0,0,0,197,226,148,0,192,0,0,0,198,162,40,3,192,0,0,0,198,195,48,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,60,3,192,0,0,0,198,227,75,3,192,0,0,0,192,0,0,0,192,0,0,0,197,226,160,0,197,98,161,0,198,130,91,3,197,34,161,0,197,163,161,0,198,131,96,3,192,0,0,0,192,0,0,0,198,67,117,3,198,99,125,3,192,0,0,0,198,98,135,3,192,0,0,0,192,0,0,0,198,131,112,3,198,226,152,3,192,0,0,0,192,0,0,0,198,227,164,3,192,0,0,0,198,35,176,3,198,3,175,3,192,0,0,0,192,0,0,0,198,226,183,3,192,0,0,0,198,67,188,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,220,3,198,195,221,3,192,0,0,0,192,0,0,0,198,226,230,3,192,0,0,0,192,0,0,0,192,0,0,0,198,195,247,3,198,99,250,3,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,200,0,198,163,25,4,192,0,0,0,198,3,35,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,55,4,192,0,0,0,198,194,70,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,96,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,100,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,67,111,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,131,4,192,0,0,0,192,0,0,0,192,0,0,0,198,194,151,4,192,0,0,0,192,0,0,0,198,67,157,4,198,195,167,4,192,0,0,0,198,3,176,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,163,219,4,198,99,220,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,250,4,192,0,0,0,198,35,9,5,192,0,0,0,197,162,234,0,192,0,0,0,198,98,39,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,73,5,198,66,76,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,85,5,192,0,0,0,192,0,0,0,198,163,95,5,192,0,0,0,192,0,0,0,198,2,107,5,198,227,78,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,250,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,144,5,198,66,146,5,192,0,0,0,197,34,253,0,198,195,150,5,198,98,152,5,198,130,157,5,192,0,0,0,198,35,157,5,198,226,163,5,192,0,0,0,192,0,0,0,198,34,164,5,198,99,176,5,192,0,0,0,197,98,4,1,192,0,0,0,198,227,178,5,198,67,179,5,198,194,180,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,195,203,5,192,0,0,0,192,0,0,0,192,0,0,0,198,162,214,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,10,1,198,66,234,5,197,66,12,1,192,0,0,0,197,2,13,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,250,5,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,18,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,131,71,6,197,194,29,1,198,99,96,6,198,162,102,6,192,0,0,0,198,163,109,6,198,3,113,6,198,227,124,6,198,162,127,6,192,0,0,0,192,0,0,0,198,99,131,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,163,6,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,99,239,6,198,131,253,6,192,0,0,0,198,131,246,6,192,0,0,0,192,0,0,0,192,0,0,0,198,34,36,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,81,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,100,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,124,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,227,173,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,233,7,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,248,7,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,89,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,251,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,16,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,180,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,79,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,185,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,102,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,226,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,32,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,25,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,128,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,7,127,0,0,113,121,0,5,0,5,0,0,6,121,0,5,107,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,181,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,49,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,70,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,198,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,117,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,219,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,175,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,154,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,38,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,30,126,0,0,129,121,0,5,0,5,0,0,10,121,0,5,158,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,108,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,128,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,31,127,0,0,125,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,50,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,100,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,109,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,74,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,9,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,81,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,78,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,10,127,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,193,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,176,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,74,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,213,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,2,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,53,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,129,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,47,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,92,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,124,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,112,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,220,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,185,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,252,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,236,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,240,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,130,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,99,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,41,127,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,32,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,51,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,84,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,209,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,10,123,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,35,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,55,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,253,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,107,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,180,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,125,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,39,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,232,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,121,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,63,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,122,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,26,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,14,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,110,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,24,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,168,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,134,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,47,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,131,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,80,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,227,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,176,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,158,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,138,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,145,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,136,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,77,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,48,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,27,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,36,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,220,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,170,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,214,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,214,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,169,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,79,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,234,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,241,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,39,127,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,52,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,49,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,116,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,186,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,40,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,109,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,200,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,152,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,247,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,89,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,78,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,99,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,132,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,133,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,252,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,52,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,32,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,40,126,0,0,185,121,0,5,0,5,0,0,40,121,0,5,6,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,161,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,22,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,31,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,93,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,40,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,59,126,0,0,209,121,0,5,0,5,0,0,38,121,0,5,12,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,90,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,181,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,151,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,162,127,0,0,129,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,229,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,129,121,0,5,97,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,248,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,153,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,253,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,29,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,53,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,33,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,151,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,109,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,39,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,91,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,134,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,100,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,231,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,51,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,130,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,4,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,3,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,16,127,0,0,117,121,0,5,0,5,0,0,24,121,0,5,83,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,32,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,92,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,229,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,175,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,26,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,159,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,27,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,71,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,68,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,240,122,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,15,126,0,0,193,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,85,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,126,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,23,127,0,0,117,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,49,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,100,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,163,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,187,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,249,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,61,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,105,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,23,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,17,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,150,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,56,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,23,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,62,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,15,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,246,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,175,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,45,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,135,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,101,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,215,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,144,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,228,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,111,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,84,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,164,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,55,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,159,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,124,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,171,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,179,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,182,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,11,127,0,0,135,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,108,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,157,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,170,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,83,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,56,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,145,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,138,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,45,127,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,45,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,202,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,61,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,57,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,27,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,158,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,6,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,206,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,43,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,113,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,224,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,60,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,165,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,230,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,229,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,56,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,72,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,75,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,254,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,19,127,0,0,113,121,0,5,0,5,0,0,28,121,0,5,127,126,0,0,129,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,86,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,14,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,40,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,255,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,33,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,254,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,21,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,76,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,215,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,168,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,111,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,25,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,255,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,94,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,32,127,0,0,125,121,0,5,0,5,0,0,20,121,0,5,229,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,150,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,207,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,75,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,48,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,180,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,224,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,129,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,173,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,188,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,28,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,151,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,152,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,188,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,34,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,164,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,11,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,103,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,115,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,58,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,78,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,81,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,80,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,3,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,177,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,104,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,85,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,110,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,54,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,103,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,166,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,2,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,51,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,76,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,77,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,21,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,176,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,151,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,255,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,135,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,59,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,136,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,250,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,223,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,167,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,222,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,59,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,43,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,57,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,254,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,8,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,152,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,72,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,241,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,28,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,63,127,0,0,129,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,230,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,105,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,9,127,0,0,125,121,0,5,0,5,0,0,40,121,0,5,33,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,185,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,197,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,95,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,70,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,31,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,57,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,198,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,241,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,203,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,125,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,114,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,169,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,180,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,11,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,121,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,106,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,178,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,4,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,34,127,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,164,125,0,0,185,121,0,5,0,5,0,0,38,121,0,5,45,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,101,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,112,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,56,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,204,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,88,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,237,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,39,127,0,0,211,121,0,5,0,5,0,0,10,121,0,5,159,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,35,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,109,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,8,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,28,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,221,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,29,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,183,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,41,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,112,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,36,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,42,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,42,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,113,121,0,5,71,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,112,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,84,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,25,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,100,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,69,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,165,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,165,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,152,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,138,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,206,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,6,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,198,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,159,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,146,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,127,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,105,121,0,5,126,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,250,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,248,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,251,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,110,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,153,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,107,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,50,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,160,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,181,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,214,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,213,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,139,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,195,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,196,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,147,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,171,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,150,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,148,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,24,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,19,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,139,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,153,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,123,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,21,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,78,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,232,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,146,125,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,12,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,2,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,108,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,251,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,49,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,104,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,194,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,132,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,133,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,247,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,225,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,49,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,140,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,182,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,70,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,249,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,114,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,44,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,48,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,93,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,101,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,21,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,102,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,35,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,5,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,37,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,62,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,172,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,230,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,118,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,189,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,126,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,161,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,104,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,34,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,170,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,135,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,38,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,231,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,187,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,159,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,236,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,18,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,50,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,36,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,136,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,32,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,58,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,59,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,199,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,215,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,239,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,30,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,2,127,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,252,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,81,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,108,125,0,0,119,121,0,5,0,5,0,0,10,121,0,5,197,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,129,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,166,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,78,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,60,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,206,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,22,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,153,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,166,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,123,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,61,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,218,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,161,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,186,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,66,127,0,0,209,121,0,5,0,5,0,0,18,121,0,5,41,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,52,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,107,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,70,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,224,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,8,127,0,0,113,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,120,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,82,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,79,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,115,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,152,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,105,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,113,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,227,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,157,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,163,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,188,127,0,0,105,121,0,5,0,5,0,0,40,121,0,5,7,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,51,127,0,0,179,121,0,5,0,5,0,0,40,121,0,5,8,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,9,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,111,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,130,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,108,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,84,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,81,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,5,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,134,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,131,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,167,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,79,124,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,95,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,143,121,0,5,26,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,114,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,64,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,146,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,40,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,88,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,53,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,189,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,90,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,181,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,132,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,75,126,0,0,193,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,16,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,162,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,112,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,60,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,50,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,34,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,155,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,43,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,37,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,124,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,24,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,111,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,94,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,3,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,116,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,190,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,95,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,104,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,110,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,15,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,62,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,243,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,48,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,235,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,248,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,154,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,181,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,27,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,36,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,96,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,102,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,113,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,168,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,61,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,22,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,32,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,96,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,28,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,117,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,97,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,91,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,43,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,145,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,92,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,205,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,130,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,115,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,209,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,116,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,94,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,178,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,210,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,55,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,239,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,9,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,53,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,3,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,52,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,137,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,98,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,169,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,138,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,128,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,95,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,30,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,121,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,144,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,162,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,7,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,249,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,46,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,36,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,129,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,208,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,91,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,232,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,22,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,156,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,73,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,191,125,0,0,119,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,129,121,0,5,25,127,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,147,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,190,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,121,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,2,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,211,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,75,125,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,117,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,250,125,0,0,179,121,0,5,0,5,0,0,10,121,0,5,33,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,95,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,37,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,36,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,7,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,73,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,212,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,213,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,4,127,0,0,103,121,0,5,0,5,0,0,10,121,0,5,203,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,102,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,8,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,76,127,0,0,111,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,12,127,0,0,193,121,0,5,0,5,0,0,40,121,0,5,10,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,191,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,117,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,236,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,233,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,29,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,17,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,16,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,49,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,86,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,105,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,125,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,71,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,49,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,122,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,177,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,26,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,182,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,5,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,118,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,51,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,19,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,65,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,217,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,25,126,0,0,193,121,0,5,0,5,0,0,40,121,0,5,11,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,102,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,30,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,139,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,205,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,60,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,250,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,191,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,216,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,236,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,37,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,206,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,160,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,136,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,89,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,61,127,0,0,105,121,0,5,0,5,0,0,10,121,0,5,105,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,106,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,148,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,24,127,0,0,117,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,237,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,255,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,35,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,102,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,114,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,144,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,3,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,91,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,200,124,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,21,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,179,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,26,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,221,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,8,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,97,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,22,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,17,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,147,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,82,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,112,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,120,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,107,125,0,0,219,121,0,5,0,5,0,0,8,121,0,5,0,5,0,0,143,121,0,5,33,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,87,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,41,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,40,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,95,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,25,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,206,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,192,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,49,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,43,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,29,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,8,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,115,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,140,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,217,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,146,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,38,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,110,127,0,0,127,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,118,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,155,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,6,127,0,0,103,121,0,5,0,5,0,0,16,121,0,5,82,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,129,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,111,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,118,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,88,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,108,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,240,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,109,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,85,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,64,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,65,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,188,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,218,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,14,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,2,127,0,0,209,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,114,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,80,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,121,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,38,127,0,0,209,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,224,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,44,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,18,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,156,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,50,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,112,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,62,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,23,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,91,127,0,0,193,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,115,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,123,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,231,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,113,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,157,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,27,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,248,124,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,37,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,72,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,126,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,32,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,153,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,74,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,77,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,35,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,230,126,0,0,103,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,233,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,50,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,147,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,141,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,124,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,126,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,57,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,169,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,111,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,79,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,213,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,158,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,18,122,0,0,185,121,0,5,0,5,0,0,40,121,0,5,12,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,117,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,16,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,154,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,45,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,184,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,183,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,141,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,42,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,207,123,0,0,185,121,0,5,0,5,0,0,38,121,0,5,47,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,232,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,27,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,219,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,56,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,173,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,2,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,45,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,123,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,3,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,105,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,106,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,208,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,41,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,238,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,67,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,102,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,120,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,170,126,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,119,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,76,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,72,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,86,127,0,0,209,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,78,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,138,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,103,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,63,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,44,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,23,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,119,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,31,127,0,0,103,121,0,5,0,5,0,0,6,121,0,5,170,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,32,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,148,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,137,127,0,0,105,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,13,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,178,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,13,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,149,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,120,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,185,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,66,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,3,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,159,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,50,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,106,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,154,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,252,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,107,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,76,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,58,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,36,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,7,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,210,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,234,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,174,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,4,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,12,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,87,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,25,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,11,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,85,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,46,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,15,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,47,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,26,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,41,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,192,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,179,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,193,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,127,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,181,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,254,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,156,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,13,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,139,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,5,127,0,0,121,121,0,5,0,5,0,0,20,121,0,5,46,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,129,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,47,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,28,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,68,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,73,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,47,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,82,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,142,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,25,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,199,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,77,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,33,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,209,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,59,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,172,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,27,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,241,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,115,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,143,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,193,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,250,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,131,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,79,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,39,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,193,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,113,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,207,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,23,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,40,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,133,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,44,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,33,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,199,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,64,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,20,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,155,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,60,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,105,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,97,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,38,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,24,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,205,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,208,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,126,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,186,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,25,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,16,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,3,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,151,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,24,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,194,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,83,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,233,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,137,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,152,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,191,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,43,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,59,127,0,0,211,121,0,5,0,5,0,0,12,121,0,5,179,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,68,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,6,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,124,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,4,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,34,127,0,0,125,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,63,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,249,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,142,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,80,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,84,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,92,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,21,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,149,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,176,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,42,127,0,0,105,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,30,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,48,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,73,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,45,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,238,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,247,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,140,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,6,127,0,0,121,121,0,5,0,5,0,0,12,121,0,5,139,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,148,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,235,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,37,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,66,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,137,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,50,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,7,127,0,0,121,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,127,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,49,127,0,0,143,121,0,5,0,5,0,0,10,121,0,5,160,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,160,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,57,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,39,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,26,127,0,0,117,121,0,5,0,5,0,0,34,121,0,5,41,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,25,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,116,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,41,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,143,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,195,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,222,126,0,0,209,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,13,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,170,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,85,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,74,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,26,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,198,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,164,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,234,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,133,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,33,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,81,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,50,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,25,127,0,0,209,121,0,5,0,5,0,0,18,121,0,5,39,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,117,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,175,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,2,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,4,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,209,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,44,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,19,127,0,0,193,121,0,5,0,5,0,0,18,121,0,5,108,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,3,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,71,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,96,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,50,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,86,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,237,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,214,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,192,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,77,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,82,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,128,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,34,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,33,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,114,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,171,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,93,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,235,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,51,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,53,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,53,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,29,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,125,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,127,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,51,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,149,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,144,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,233,126,0,0,143,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,234,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,31,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,196,125,0,0,119,121,0,5,0,5,0,0,10,121,0,5,242,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,30,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,103,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,103,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,5,127,0,0,105,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,182,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,63,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,4,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,161,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,119,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,120,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,69,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,238,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,58,126,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,12,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,134,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,141,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,236,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,54,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,235,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,55,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,51,127,0,0,111,121,0,5,0,5,0,0,18,121,0,5,234,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,16,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,109,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,145,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,214,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,186,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,169,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,94,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,87,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,220,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,41,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,138,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,235,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,114,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,16,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,216,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,172,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,40,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,7,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,150,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,187,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,33,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,54,126,0,0,193,121,0,5,0,5,0,0,10,121,0,5,78,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,173,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,209,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,200,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,20,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,122,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,71,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,80,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,75,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,54,123,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,129,121,0,5,67,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,95,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,221,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,81,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,77,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,78,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,66,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,72,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,25,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,180,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,88,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,118,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,44,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,157,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,74,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,249,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,165,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,238,124,0,0,219,121,0,5,0,5,0,0,10,121,0,5,79,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,237,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,10,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,59,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,109,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,250,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,178,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,249,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,52,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,31,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,136,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,75,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,53,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,29,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,237,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,54,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,22,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,6,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,27,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,215,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,204,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,168,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,46,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,113,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,238,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,76,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,122,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,238,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,174,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,105,121,0,5,25,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,99,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,151,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,85,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,32,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,65,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,239,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,249,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,113,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,110,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,225,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,139,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,40,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,4,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,240,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,92,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,181,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,138,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,78,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,242,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,28,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,31,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,242,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,8,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,104,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,156,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,47,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,13,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,123,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,188,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,51,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,128,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,222,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,121,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,239,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,110,127,0,0,105,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,62,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,100,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,26,126,0,0,179,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,228,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,210,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,45,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,197,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,139,126,0,0,193,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,227,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,14,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,155,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,145,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,140,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,55,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,253,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,132,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,48,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,140,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,146,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,161,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,147,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,42,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,86,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,42,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,30,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,156,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,73,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,140,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,144,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,243,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,244,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,73,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,4,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,110,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,210,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,211,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,101,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,210,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,188,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,88,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,171,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,63,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,216,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,31,127,0,0,143,121,0,5,0,5,0,0,18,121,0,5,215,126,0,0,143,121,0,5,0,5,0,0,10,121,0,5,77,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,46,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,176,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,62,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,28,127,0,0,117,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,76,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,42,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,204,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,90,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,89,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,43,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,156,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,43,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,184,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,145,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,70,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,120,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,251,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,174,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,63,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,17,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,226,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,212,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,106,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,86,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,124,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,5,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,52,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,70,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,50,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,42,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,164,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,129,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,175,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,101,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,82,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,137,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,185,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,152,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,135,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,97,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,141,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,255,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,122,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,86,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,80,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,51,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,153,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,179,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,111,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,104,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,121,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,83,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,162,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,163,125,0,0,219,121,0,5,0,5,0,0,10,121,0,5,205,126,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,24,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,146,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,254,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,44,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,61,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,131,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,53,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,180,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,171,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,64,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,51,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,130,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,231,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,46,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,98,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,75,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,130,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,62,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,150,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,43,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,88,127,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,248,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,216,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,69,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,130,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,225,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,146,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,63,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,30,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,175,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,83,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,119,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,33,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,122,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,147,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,216,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,39,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,84,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,217,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,141,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,89,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,218,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,55,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,57,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,210,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,81,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,22,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,2,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,34,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,73,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,200,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,183,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,77,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,138,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,59,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,149,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,41,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,132,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,245,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,32,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,90,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,63,127,0,0,111,121,0,5,0,5,0,0,18,121,0,5,42,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,31,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,54,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,52,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,148,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,55,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,98,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,169,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,216,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,91,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,13,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,196,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,42,125,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,111,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,243,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,55,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,5,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,154,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,154,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,15,127,0,0,113,121,0,5,0,5,0,0,24,121,0,5,149,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,75,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,87,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,142,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,112,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,72,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,5,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,3,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,211,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,200,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,201,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,211,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,89,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,127,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,75,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,194,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,13,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,250,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,236,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,74,126,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,60,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,11,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,236,126,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,79,123,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,68,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,185,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,46,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,237,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,26,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,55,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,131,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,88,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,135,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,113,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,107,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,23,127,0,0,111,121,0,5,0,5,0,0,40,121,0,5,34,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,52,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,65,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,240,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,114,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,148,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,217,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,6,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,177,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,139,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,24,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,131,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,157,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,131,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,30,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,115,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,217,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,127,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,207,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,123,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,99,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,56,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,99,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,56,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,42,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,44,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,116,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,40,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,162,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,65,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,7,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,41,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,120,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,215,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,201,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,145,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,32,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,7,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,217,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,41,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,61,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,108,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,64,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,89,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,178,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,27,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,92,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,243,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,110,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,129,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,182,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,53,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,180,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,236,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,25,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,199,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,237,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,228,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,35,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,89,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,132,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,176,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,198,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,120,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,133,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,217,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,184,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,233,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,44,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,54,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,74,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,14,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,180,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,74,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,187,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,15,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,111,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,250,124,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,89,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,163,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,211,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,212,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,211,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,183,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,183,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,8,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,158,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,143,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,133,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,17,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,245,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,25,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,66,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,149,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,10,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,86,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,150,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,134,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,226,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,132,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,7,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,43,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,96,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,114,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,134,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,237,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,27,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,218,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,198,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,111,121,0,5,23,127,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,27,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,28,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,157,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,181,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,56,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,130,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,141,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,4,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,34,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,35,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,14,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,135,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,136,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,122,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,128,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,222,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,6,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,66,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,109,127,0,0,143,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,12,127,0,0,209,121,0,5,0,5,0,0,10,121,0,5,53,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,153,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,27,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,85,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,165,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,38,125,0,0,219,121,0,5,0,5,0,0,10,121,0,5,200,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,56,124,0,0,219,121,0,5,0,5,0,0,40,121,0,5,14,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,9,127,0,0,211,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,20,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,82,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,151,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,55,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,118,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,83,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,79,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,189,123,0,0,185,121,0,5,0,5,0,0,10,121,0,5,34,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,35,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,130,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,83,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,135,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,93,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,67,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,16,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,96,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,33,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,56,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,26,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,251,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,113,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,50,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,42,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,55,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,63,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,150,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,96,127,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,104,123,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,13,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,34,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,28,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,60,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,181,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,86,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,117,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,140,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,218,125,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,64,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,45,127,0,0,211,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,158,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,66,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,45,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,198,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,121,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,133,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,252,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,227,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,178,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,136,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,111,121,0,5,24,127,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,183,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,123,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,29,127,0,0,117,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,50,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,150,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,45,127,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,31,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,9,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,6,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,26,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,15,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,7,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,236,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,124,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,78,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,44,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,37,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,19,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,76,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,184,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,4,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,3,126,0,0,103,121,0,5,0,5,0,0,10,121,0,5,28,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,232,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,116,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,17,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,103,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,80,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,28,125,0,0,179,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,97,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,87,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,155,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,213,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,218,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,124,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,100,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,5,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,102,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,52,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,70,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,36,127,0,0,125,121,0,5,0,5,0,0,24,121,0,5,28,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,110,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,164,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,173,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,105,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,174,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,190,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,158,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,246,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,182,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,151,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,56,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,43,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,17,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,242,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,73,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,24,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,25,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,35,126,0,0,209,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,98,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,223,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,185,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,141,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,97,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,175,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,228,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,58,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,2,127,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,71,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,176,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,67,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,134,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,84,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,64,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,196,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,134,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,103,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,177,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,137,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,115,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,206,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,237,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,142,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,52,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,160,123,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,121,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,28,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,163,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,90,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,20,127,0,0,113,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,125,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,68,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,43,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,36,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,55,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,223,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,179,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,239,126,0,0,209,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,127,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,104,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,71,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,83,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,159,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,238,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,140,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,199,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,44,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,219,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,114,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,251,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,153,127,0,0,105,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,159,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,243,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,199,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,222,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,26,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,26,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,124,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,78,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,238,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,195,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,45,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,147,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,156,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,143,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,81,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,105,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,30,127,0,0,117,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,119,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,121,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,65,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,130,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,37,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,72,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,18,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,185,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,78,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,79,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,222,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,46,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,101,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,144,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,177,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,251,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,213,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,246,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,87,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,105,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,182,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,138,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,115,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,157,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,29,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,49,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,128,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,104,127,0,0,105,121,0,5,0,5,0,0,38,121,0,5,4,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,44,127,0,0,105,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,2,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,154,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,178,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,142,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,29,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,119,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,115,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,241,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,139,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,34,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,244,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,160,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,54,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,57,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,67,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,53,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,160,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,65,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,224,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,27,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,17,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,98,127,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,57,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,80,126,0,0,193,121,0,5,0,5,0,0,40,121,0,5,15,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,84,123,0,0,219,121,0,5,0,5,0,0,38,121,0,5,7,127,0,0,105,121,0,5,0,5,0,0,40,121,0,5,16,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,237,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,60,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,184,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,75,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,59,126,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,12,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,46,127,0,0,129,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,14,127,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,105,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,18,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,93,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,163,126,0,0,179,121,0,5,0,5,0,0,10,121,0,5,244,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,37,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,51,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,64,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,66,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,207,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,14,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,5,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,125,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,76,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,54,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,87,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,51,127,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,29,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,31,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,208,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,35,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,118,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,31,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,50,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,218,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,67,127,0,0,211,121,0,5,0,5,0,0,10,121,0,5,245,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,5,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,6,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,87,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,84,127,0,0,179,121,0,5,0,5,0,0,10,121,0,5,247,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,151,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,2,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,65,127,0,0,105,121,0,5,0,5,0,0,10,121,0,5,248,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,208,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,46,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,10,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,34,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,186,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,224,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,135,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,179,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,182,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,94,125,0,0,179,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,10,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,79,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,29,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,27,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,33,124,0,0,185,121,0,5,0,5,0,0,40,121,0,5,17,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,79,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,164,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,152,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,3,127,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,161,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,65,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,66,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,119,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,7,126,0,0,129,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,28,127,0,0,193,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,15,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,28,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,247,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,235,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,38,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,158,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,152,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,19,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,90,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,111,127,0,0,143,121,0,5,0,5,0,0,12,121,0,5,183,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,88,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,245,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,43,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,57,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,252,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,16,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,24,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,36,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,128,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,112,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,52,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,61,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,239,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,79,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,58,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,41,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,42,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,252,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,52,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,131,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,6,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,189,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,8,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,21,127,0,0,113,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,170,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,191,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,225,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,84,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,180,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,107,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,170,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,164,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,238,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,248,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,153,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,159,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,209,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,252,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,9,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,205,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,116,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,94,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,184,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,61,127,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,186,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,95,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,124,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,135,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,207,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,80,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,7,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,181,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,74,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,75,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,25,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,180,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,108,126,0,0,119,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,105,121,0,5,108,123,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,105,121,0,5,107,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,177,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,53,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,18,123,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,69,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,196,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,116,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,28,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,208,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,67,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,47,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,121,121,0,5,23,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,182,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,165,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,14,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,91,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,8,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,64,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,192,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,109,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,150,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,102,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,77,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,113,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,69,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,2,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,26,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,240,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,146,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,138,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,66,127,0,0,111,121,0,5,0,5,0,0,12,121,0,5,145,127,0,0,105,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,3,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,185,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,226,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,46,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,67,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,9,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,108,127,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,67,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,95,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,17,127,0,0,125,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,61,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,246,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,71,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,12,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,253,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,37,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,74,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,201,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,239,125,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,128,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,91,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,227,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,8,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,112,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,160,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,219,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,176,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,37,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,117,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,214,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,11,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,220,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,238,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,29,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,92,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,126,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,126,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,17,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,24,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,200,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,165,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,73,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,227,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,27,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,70,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,254,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,221,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,12,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,125,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,242,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,161,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,183,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,99,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,218,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,149,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,251,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,140,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,96,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,89,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,57,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,66,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,153,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,33,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,47,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,125,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,84,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,68,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,243,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,154,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,27,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,154,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,106,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,166,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,103,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,45,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,215,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,8,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,94,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,7,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,216,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,113,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,80,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,97,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,239,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,184,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,13,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,115,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,33,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,58,127,0,0,143,121,0,5,0,5,0,0,18,121,0,5,48,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,59,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,93,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,46,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,9,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,114,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,136,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,188,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,65,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,154,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,104,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,184,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,127,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,128,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,28,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,201,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,178,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,31,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,172,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,55,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,217,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,166,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,9,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,13,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,30,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,27,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,212,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,77,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,77,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,186,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,82,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,212,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,45,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,98,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,137,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,111,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,155,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,182,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,249,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,95,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,189,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,42,127,0,0,127,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,143,121,0,5,28,127,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,167,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,18,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,187,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,39,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,115,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,96,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,117,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,210,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,211,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,135,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,5,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,88,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,255,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,27,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,43,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,83,125,0,0,219,121,0,5,0,5,0,0,40,121,0,5,35,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,87,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,202,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,107,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,187,125,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,4,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,208,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,49,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,71,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,88,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,78,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,146,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,14,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,14,127,0,0,135,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,15,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,10,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,147,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,9,127,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,137,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,74,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,213,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,30,127,0,0,111,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,72,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,140,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,255,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,10,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,118,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,222,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,168,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,114,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,71,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,171,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,76,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,143,121,0,5,29,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,91,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,80,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,68,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,171,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,72,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,29,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,113,121,0,5,0,5,0,0,6,121,0,5,115,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,48,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,51,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,240,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,241,126,0,0,209,121,0,5,0,5,0,0,40,121,0,5,36,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,53,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,31,127,0,0,111,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,252,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,8,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,62,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,72,126,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,235,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,231,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,132,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,55,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,113,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,67,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,73,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,83,127,0,0,193,121,0,5,0,5,0,0,24,121,0,5,32,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,117,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,116,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,188,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,207,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,79,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,105,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,151,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,118,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,115,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,103,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,48,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,128,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,36,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,118,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,60,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,61,127,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,181,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,248,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,65,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,189,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,219,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,238,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,59,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,47,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,20,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,44,126,0,0,129,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,11,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,166,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,6,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,132,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,240,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,186,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,253,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,47,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,30,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,142,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,92,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,90,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,62,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,64,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,155,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,88,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,208,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,58,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,89,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,76,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,164,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,251,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,43,127,0,0,127,121,0,5,0,5,0,0,10,121,0,5,51,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,67,125,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,106,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,141,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,185,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,218,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,43,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,17,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,79,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,91,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,207,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,112,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,11,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,223,126,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,80,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,117,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,12,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,10,127,0,0,103,121,0,5,0,5,0,0,6,121,0,5,11,127,0,0,103,121,0,5,0,5,0,0,6,121,0,5,127,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,97,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,15,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,188,125,0,0,219,121,0,5,0,5,0,0,10,121,0,5,35,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,243,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,155,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,77,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,74,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,17,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,103,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,73,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,77,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,5,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,167,125,0,0,179,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,22,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,128,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,241,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,12,127,0,0,103,121,0,5,0,5,0,0,10,121,0,5,161,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,45,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,34,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,98,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,85,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,155,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,118,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,156,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,16,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,137,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,47,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,33,127,0,0,111,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,247,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,54,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,3,127,0,0,185,121,0,5,0,5,0,0,6,121,0,5,93,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,156,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,46,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,75,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,190,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,46,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,252,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,81,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,85,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,42,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,78,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,31,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,77,127,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,59,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,31,127,0,0,117,121,0,5,0,5,0,0,12,121,0,5,154,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,17,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,18,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,89,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,95,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,56,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,165,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,117,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,32,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,212,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,58,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,20,127,0,0,129,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,99,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,109,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,136,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,242,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,111,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,59,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,113,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,240,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,68,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,32,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,74,127,0,0,219,121,0,5,0,5,0,0,10,121,0,5,249,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,119,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,241,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,55,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,164,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,203,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,254,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,157,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,32,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,173,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,250,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,197,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,220,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,64,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,189,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,167,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,116,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,63,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,23,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,174,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,179,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,165,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,229,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,60,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,120,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,38,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,152,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,166,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,197,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,114,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,33,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,125,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,187,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,34,127,0,0,111,121,0,5,0,5,0,0,12,121,0,5,155,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,142,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,44,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,45,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,242,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,60,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,27,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,122,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,30,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,180,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,56,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,187,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,11,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,60,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,244,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,35,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,138,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,193,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,2,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,75,127,0,0,137,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,71,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,157,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,7,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,219,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,49,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,57,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,250,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,51,126,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,18,127,0,0,209,121,0,5,0,5,0,0,18,121,0,5,221,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,209,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,17,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,28,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,19,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,92,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,56,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,138,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,122,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,39,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,214,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,34,127,0,0,103,121,0,5,0,5,0,0,20,121,0,5,21,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,135,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,159,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,183,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,213,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,219,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,45,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,80,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,4,127,0,0,185,121,0,5,0,5,0,0,20,121,0,5,142,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,194,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,215,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,35,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,35,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,119,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,62,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,253,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,224,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,97,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,82,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,104,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,129,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,169,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,44,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,38,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,47,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,178,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,38,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,57,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,190,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,177,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,99,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,73,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,254,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,59,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,121,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,86,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,144,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,7,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,245,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,76,125,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,105,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,112,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,225,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,71,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,30,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,76,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,93,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,78,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,3,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,204,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,58,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,167,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,162,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,2,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,204,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,75,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,46,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,94,127,0,0,127,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,13,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,221,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,139,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,35,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,142,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,59,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,65,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,118,125,0,0,219,121,0,5,0,5,0,0,38,121,0,5,16,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,182,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,239,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,156,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,47,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,79,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,18,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,225,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,28,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,16,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,206,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,139,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,22,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,35,127,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,106,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,60,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,94,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,186,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,252,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,117,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,161,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,116,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,156,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,110,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,71,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,255,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,21,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,63,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,247,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,248,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,133,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,56,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,28,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,17,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,181,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,39,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,4,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,120,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,95,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,202,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,5,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,228,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,99,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,32,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,197,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,67,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,66,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,143,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,92,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,90,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,52,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,13,127,0,0,103,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,122,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,130,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,214,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,93,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,39,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,13,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,19,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,33,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,50,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,50,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,117,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,9,127,0,0,113,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,241,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,15,127,0,0,135,121,0,5,0,5,0,0,24,121,0,5,158,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,230,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,29,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,161,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,40,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,214,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,140,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,163,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,241,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,31,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,115,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,222,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,136,125,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,129,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,157,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,219,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,253,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,172,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,209,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,48,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,152,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,178,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,98,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,48,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,85,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,131,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,51,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,79,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,114,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,11,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,182,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,143,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,144,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,145,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,146,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,40,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,80,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,132,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,5,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,247,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,188,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,49,123,0,0,185,121,0,5,0,5,0,0,26,121,0,5,82,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,129,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,23,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,46,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,67,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,143,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,19,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,164,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,143,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,216,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,198,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,20,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,20,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,133,127,0,0,129,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,12,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,168,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,199,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,155,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,80,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,45,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,228,124,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,66,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,225,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,204,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,126,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,195,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,135,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,14,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,59,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,186,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,120,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,113,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,150,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,66,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,68,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,31,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,158,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,69,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,205,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,233,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,192,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,60,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,36,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,30,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,190,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,231,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,109,127,0,0,211,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,168,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,228,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,123,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,181,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,159,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,15,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,239,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,123,127,0,0,105,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,14,125,0,0,179,121,0,5,0,5,0,0,38,121,0,5,17,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,147,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,251,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,225,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,5,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,37,124,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,15,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,158,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,210,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,98,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,151,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,168,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,220,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,8,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,94,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,95,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,160,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,85,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,78,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,200,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,36,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,31,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,100,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,18,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,43,127,0,0,211,121,0,5,0,5,0,0,10,121,0,5,32,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,47,126,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,28,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,98,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,130,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,45,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,217,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,144,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,168,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,4,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,253,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,51,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,16,127,0,0,113,121,0,5,0,5,0,0,24,121,0,5,10,127,0,0,113,121,0,5,0,5,0,0,24,121,0,5,165,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,255,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,167,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,76,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,215,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,159,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,71,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,187,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,48,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,141,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,9,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,193,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,21,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,36,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,81,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,3,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,254,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,218,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,243,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,253,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,47,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,19,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,239,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,129,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,255,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,244,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,198,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,188,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,118,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,75,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,252,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,75,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,160,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,38,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,65,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,39,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,76,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,21,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,22,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,155,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,54,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,246,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,8,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,183,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,123,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,15,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,21,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,121,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,81,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,70,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,47,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,208,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,48,126,0,0,179,121,0,5,0,5,0,0,10,121,0,5,80,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,157,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,230,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,72,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,182,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,68,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,183,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,242,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,220,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,18,127,0,0,111,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,234,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,95,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,22,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,232,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,92,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,12,127,0,0,135,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,159,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,142,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,40,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,134,127,0,0,105,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,14,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,147,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,129,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,152,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,6,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,49,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,188,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,76,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,23,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,68,127,0,0,111,121,0,5,0,5,0,0,12,121,0,5,158,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,161,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,209,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,8,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,160,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,139,121,0,5,29,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,61,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,185,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,84,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,218,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,64,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,44,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,222,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,33,127,0,0,105,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,15,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,90,127,0,0,105,121,0,5,0,5,0,0,18,121,0,5,223,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,251,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,49,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,49,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,176,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,54,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,47,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,83,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,119,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,243,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,32,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,24,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,138,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,161,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,131,123,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,112,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,194,123,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,19,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,52,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,207,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,195,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,253,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,4,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,37,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,134,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,12,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,94,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,245,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,249,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,34,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,10,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,253,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,216,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,211,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,162,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,162,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,20,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,143,121,0,5,27,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,202,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,220,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,202,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,170,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,232,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,57,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,69,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,16,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,34,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,159,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,152,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,126,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,226,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,125,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,175,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,189,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,9,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,68,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,18,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,235,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,100,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,73,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,178,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,22,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,41,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,122,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,61,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,184,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,212,126,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,67,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,240,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,190,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,16,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,46,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,157,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,166,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,171,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,122,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,53,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,18,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,96,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,219,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,103,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,210,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,67,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,12,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,99,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,77,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,49,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,72,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,77,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,111,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,82,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,36,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,172,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,69,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,244,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,123,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,165,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,240,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,116,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,168,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,53,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,209,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,85,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,201,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,200,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,30,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,29,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,96,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,119,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,50,126,0,0,129,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,90,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,223,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,6,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,243,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,241,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,216,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,162,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,68,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,17,127,0,0,117,121,0,5,0,5,0,0,24,121,0,5,55,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,183,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,50,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,205,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,84,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,245,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,15,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,80,127,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,6,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,220,126,0,0,209,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,220,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,48,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,100,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,212,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,66,127,0,0,211,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,232,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,220,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,254,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,184,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,160,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,229,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,5,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,129,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,7,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,255,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,78,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,240,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,169,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,5,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,17,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,12,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,189,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,162,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,160,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,38,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,101,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,202,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,2,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,112,126,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,69,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,221,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,144,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,242,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,25,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,254,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,66,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,10,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,222,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,239,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,223,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,172,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,18,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,19,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,6,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,79,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,144,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,118,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,18,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,13,126,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,123,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,191,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,119,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,61,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,135,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,156,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,35,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,46,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,118,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,76,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,162,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,104,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,59,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,68,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,58,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,10,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,26,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,255,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,29,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,69,127,0,0,111,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,124,122,0,0,185,121,0,5,0,5,0,0,40,121,0,5,37,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,19,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,38,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,190,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,51,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,157,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,54,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,254,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,20,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,206,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,48,127,0,0,117,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,2,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,209,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,42,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,77,127,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,91,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,166,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,75,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,6,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,91,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,32,125,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,21,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,31,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,13,127,0,0,135,121,0,5,0,5,0,0,18,121,0,5,52,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,60,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,108,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,169,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,105,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,43,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,241,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,51,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,223,124,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,73,126,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,76,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,44,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,191,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,179,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,107,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,115,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,124,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,125,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,77,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,6,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,59,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,186,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,52,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,33,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,20,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,224,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,148,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,20,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,163,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,50,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,72,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,167,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,179,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,207,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,215,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,119,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,109,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,49,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,45,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,143,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,32,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,89,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,58,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,210,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,2,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,78,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,46,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,166,126,0,0,209,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,114,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,224,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,195,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,125,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,184,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,167,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,51,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,76,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,108,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,161,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,7,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,172,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,19,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,105,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,113,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,53,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,235,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,7,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,156,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,56,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,203,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,126,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,71,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,196,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,158,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,246,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,240,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,120,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,56,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,121,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,123,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,97,124,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,88,122,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,107,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,85,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,241,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,182,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,9,127,0,0,137,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,13,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,106,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,105,121,0,5,109,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,105,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,3,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,81,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,82,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,11,127,0,0,125,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,191,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,229,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,2,127,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,96,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,79,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,194,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,35,127,0,0,111,121,0,5,0,5,0,0,16,121,0,5,2,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,49,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,226,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,9,127,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,14,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,195,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,201,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,170,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,96,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,122,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,11,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,127,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,185,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,61,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,186,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,136,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,95,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,160,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,147,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,168,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,205,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,3,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,163,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,242,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,130,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,119,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,9,127,0,0,121,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,172,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,76,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,24,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,99,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,77,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,210,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,84,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,45,127,0,0,127,121,0,5,0,5,0,0,10,121,0,5,206,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,197,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,69,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,206,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,163,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,98,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,208,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,37,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,219,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,70,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,15,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,225,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,102,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,20,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,169,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,16,127,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,57,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,240,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,30,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,60,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,152,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,126,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,207,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,187,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,27,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,153,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,5,127,0,0,185,121,0,5,0,5,0,0,6,121,0,5,137,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,106,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,71,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,23,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,131,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,191,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,71,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,173,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,244,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,124,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,4,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,83,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,146,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,61,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,31,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,169,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,14,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,77,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,36,127,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,132,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,229,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,217,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,99,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,242,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,12,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,38,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,3,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,52,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,164,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,143,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,54,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,57,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,38,123,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,21,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,60,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,129,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,100,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,62,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,53,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,85,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,28,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,32,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,187,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,138,127,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,46,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,131,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,4,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,170,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,39,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,245,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,52,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,51,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,8,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,77,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,72,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,176,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,73,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,168,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,246,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,231,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,145,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,106,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,163,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,105,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,209,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,29,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,148,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,9,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,96,127,0,0,211,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,16,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,107,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,83,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,139,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,188,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,94,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,198,123,0,0,185,121,0,5,0,5,0,0,10,121,0,5,201,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,226,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,36,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,143,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,40,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,164,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,8,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,11,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,218,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,22,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,208,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,208,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,132,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,43,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,86,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,189,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,45,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,246,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,87,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,74,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,5,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,185,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,189,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,242,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,163,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,99,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,211,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,44,127,0,0,125,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,170,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,78,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,219,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,75,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,79,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,140,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,185,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,127,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,209,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,171,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,52,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,80,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,190,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,57,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,80,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,67,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,227,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,146,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,186,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,3,122,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,108,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,170,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,193,124,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,116,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,61,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,191,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,10,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,196,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,186,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,29,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,87,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,210,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,147,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,194,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,77,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,161,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,7,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,137,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,97,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,230,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,98,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,3,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,165,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,55,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,166,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,53,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,136,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,109,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,20,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,54,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,29,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,30,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,107,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,110,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,88,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,35,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,206,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,55,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,110,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,101,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,41,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,50,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,220,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,33,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,54,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,89,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,253,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,254,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,79,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,7,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,58,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,198,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,76,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,136,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,77,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,137,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,53,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,148,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,5,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,4,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,63,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,187,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,231,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,133,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,179,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,213,125,0,0,179,121,0,5,0,5,0,0,40,121,0,5,20,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,78,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,122,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,62,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,17,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,221,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,169,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,58,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,188,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,15,127,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,47,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,192,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,211,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,90,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,59,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,7,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,92,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,81,127,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,100,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,187,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,6,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,37,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,196,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,246,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,209,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,212,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,188,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,149,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,226,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,10,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,247,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,49,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,10,127,0,0,137,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,76,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,8,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,11,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,6,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,12,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,70,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,173,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,102,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,42,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,172,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,119,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,232,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,11,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,124,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,74,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,59,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,59,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,127,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,62,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,141,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,244,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,203,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,141,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,91,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,21,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,82,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,203,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,249,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,61,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,223,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,191,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,241,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,165,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,189,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,195,124,0,0,219,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,130,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,56,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,36,127,0,0,117,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,144,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,211,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,157,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,158,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,125,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,164,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,98,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,128,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,180,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,3,127,0,0,119,121,0,5,0,5,0,0,6,121,0,5,96,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,227,126,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,4,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,70,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,19,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,197,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,137,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,13,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,108,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,92,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,33,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,228,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,173,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,9,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,46,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,181,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,62,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,86,125,0,0,219,121,0,5,0,5,0,0,12,121,0,5,162,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,117,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,26,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,222,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,79,127,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,103,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,157,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,114,126,0,0,119,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,115,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,4,127,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,192,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,134,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,25,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,104,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,123,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,161,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,104,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,144,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,87,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,169,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,50,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,224,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,99,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,245,126,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,48,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,100,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,125,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,223,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,170,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,80,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,81,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,36,127,0,0,211,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,33,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,162,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,122,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,84,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,128,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,22,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,90,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,223,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,96,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,5,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,34,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,181,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,71,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,30,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,213,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,126,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,173,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,214,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,16,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,189,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,193,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,117,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,2,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,227,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,163,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,78,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,228,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,224,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,215,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,14,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,117,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,216,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,192,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,210,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,255,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,195,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,204,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,145,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,60,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,80,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,170,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,72,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,8,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,61,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,5,127,0,0,119,121,0,5,0,5,0,0,6,121,0,5,139,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,2,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,10,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,52,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,97,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,57,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,85,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,238,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,104,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,100,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,17,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,127,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,140,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,50,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,97,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,217,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,83,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,16,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,63,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,158,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,89,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,164,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,51,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,123,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,150,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,233,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,18,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,17,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,97,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,93,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,21,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,76,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,61,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,47,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,123,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,61,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,136,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,179,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,46,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,43,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,82,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,48,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,153,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,78,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,31,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,225,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,55,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,171,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,151,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,156,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,247,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,173,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,85,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,242,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,142,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,125,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,84,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,116,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,210,126,0,0,103,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,71,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,63,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,221,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,125,121,0,5,0,5,0,0,16,121,0,5,12,127,0,0,125,121,0,5,0,5,0,0,34,121,0,5,34,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,37,127,0,0,117,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,224,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,105,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,73,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,90,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,192,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,92,123,0,0,185,121,0,5,0,5,0,0,10,121,0,5,81,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,145,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,211,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,83,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,79,127,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,153,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,246,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,220,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,21,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,106,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,37,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,120,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,62,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,18,127,0,0,125,121,0,5,0,5,0,0,34,121,0,5,63,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,126,127,0,0,211,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,211,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,141,121,0,5,0,5,0,0,28,121,0,5,74,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,19,127,0,0,125,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,243,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,107,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,73,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,101,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,165,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,166,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,80,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,31,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,171,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,81,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,82,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,19,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,94,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,109,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,186,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,24,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,190,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,129,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,20,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,130,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,70,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,34,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,110,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,216,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,167,126,0,0,103,121,0,5,0,5,0,0,10,121,0,5,36,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,124,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,165,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,83,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,158,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,226,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,30,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,50,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,145,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,32,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,116,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,110,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,109,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,11,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,120,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,192,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,6,127,0,0,209,121,0,5,0,5,0,0,16,121,0,5,18,127,0,0,117,121,0,5,0,5,0,0,10,121,0,5,37,127,0,0,143,121,0,5,0,5,0,0,12,121,0,5,164,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,9,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,236,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,111,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,204,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,23,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,31,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,17,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,174,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,168,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,6,127,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,193,125,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,115,121,0,5,70,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,64,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,152,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,153,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,131,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,101,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,244,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,118,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,225,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,41,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,59,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,38,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,22,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,78,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,93,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,60,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,6,127,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,137,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,11,127,0,0,113,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,247,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,33,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,189,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,65,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,84,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,105,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,52,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,10,127,0,0,121,121,0,5,0,5,0,0,30,121,0,5,132,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,174,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,232,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,119,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,192,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,106,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,243,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,165,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,16,127,0,0,103,121,0,5,0,5,0,0,6,121,0,5,38,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,229,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,69,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,159,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,194,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,129,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,229,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,175,126,0,0,129,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,225,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,96,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,13,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,10,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,132,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,141,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,244,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,39,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,34,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,32,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,154,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,23,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,11,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,128,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,88,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,97,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,33,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,9,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,60,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,174,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,133,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,121,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,190,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,130,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,190,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,44,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,11,127,0,0,121,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,153,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,12,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,245,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,10,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,13,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,191,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,226,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,62,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,191,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,159,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,60,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,187,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,63,127,0,0,137,121,0,5,0,5,0,0,12,121,0,5,93,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,166,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,83,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,98,127,0,0,211,121,0,5,0,5,0,0,18,121,0,5,46,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,28,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,194,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,84,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,100,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,198,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,8,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,171,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,74,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,176,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,86,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,51,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,85,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,111,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,113,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,35,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,135,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,248,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,127,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,167,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,124,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,7,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,40,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,62,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,99,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,130,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,99,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,199,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,247,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,91,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,52,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,84,126,0,0,219,121,0,5,0,5,0,0,10,121,0,5,207,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,37,127,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,204,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,12,127,0,0,113,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,216,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,55,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,145,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,88,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,57,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,146,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,201,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,13,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,36,125,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,101,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,51,127,0,0,117,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,111,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,86,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,25,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,108,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,79,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,160,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,207,126,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,106,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,88,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,37,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,32,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,64,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,49,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,209,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,182,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,58,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,7,127,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,72,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,13,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,171,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,84,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,232,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,130,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,35,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,48,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,44,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,14,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,147,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,59,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,125,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,73,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,33,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,84,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,202,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,60,123,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,89,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,37,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,7,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,34,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,234,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,8,127,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,237,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,192,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,8,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,18,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,191,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,169,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,39,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,177,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,234,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,92,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,116,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,15,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,236,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,188,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,52,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,63,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,63,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,249,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,74,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,9,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,19,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,9,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,221,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,248,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,230,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,54,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,131,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,154,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,77,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,217,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,93,123,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,17,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,20,127,0,0,125,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,68,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,10,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,238,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,80,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,68,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,7,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,14,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,225,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,146,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,172,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,154,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,34,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,100,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,100,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,172,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,134,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,55,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,66,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,82,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,109,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,114,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,221,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,101,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,160,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,113,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,114,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,190,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,121,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,177,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,222,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,248,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,35,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,15,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,177,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,9,127,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,199,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,193,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,168,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,125,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,241,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,192,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,35,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,135,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,138,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,101,126,0,0,119,121,0,5,0,5,0,0,10,121,0,5,250,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,115,126,0,0,219,121,0,5,0,5,0,0,10,121,0,5,251,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,146,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,169,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,201,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,79,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,39,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,64,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,85,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,55,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,163,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,229,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,112,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,151,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,152,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,114,127,0,0,211,121,0,5,0,5,0,0,10,121,0,5,52,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,56,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,147,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,192,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,170,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,250,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,21,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,121,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,36,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,235,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,10,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,222,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,97,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,64,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,56,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,48,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,75,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,13,127,0,0,113,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,187,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,175,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,111,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,11,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,81,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,233,123,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,35,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,136,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,86,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,108,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,151,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,87,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,68,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,22,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,6,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,171,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,98,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,4,127,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,36,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,200,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,122,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,145,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,170,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,132,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,38,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,67,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,102,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,171,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,139,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,85,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,197,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,142,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,90,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,112,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,36,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,178,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,87,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,178,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,234,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,227,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,57,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,127,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,121,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,122,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,20,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,211,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,217,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,179,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,52,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,161,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,140,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,37,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,30,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,18,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,233,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,86,127,0,0,143,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,125,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,159,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,53,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,171,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,183,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,79,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,155,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,16,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,139,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,39,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,138,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,193,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,178,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,13,127,0,0,211,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,53,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,133,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,50,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,120,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,90,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,248,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,172,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,243,125,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,98,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,243,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,226,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,247,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,16,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,17,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,53,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,14,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,53,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,173,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,227,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,199,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,74,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,36,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,155,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,37,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,169,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,38,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,51,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,235,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,47,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,208,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,202,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,76,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,242,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,136,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,132,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,80,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,154,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,117,121,0,5,0,5,0,0,24,121,0,5,34,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,55,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,11,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,160,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,17,127,0,0,113,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,212,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,107,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,194,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,243,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,223,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,84,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,71,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,12,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,180,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,56,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,40,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,198,126,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,49,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,137,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,227,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,214,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,41,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,11,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,209,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,189,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,21,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,23,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,67,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,48,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,61,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,230,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,47,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,173,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,191,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,19,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,231,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,249,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,200,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,62,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,69,127,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,201,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,69,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,34,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,114,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,21,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,205,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,29,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,22,127,0,0,125,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,7,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,148,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,38,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,70,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,26,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,10,127,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,140,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,161,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,27,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,133,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,202,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,40,127,0,0,111,121,0,5,0,5,0,0,18,121,0,5,116,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,205,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,8,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,54,127,0,0,117,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,218,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,210,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,224,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,193,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,123,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,87,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,11,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,141,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,226,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,230,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,11,127,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,162,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,126,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,85,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,181,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,131,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,195,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,163,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,94,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,94,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,9,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,122,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,113,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,196,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,102,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,174,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,175,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,86,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,68,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,126,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,35,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,133,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,156,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,91,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,121,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,95,123,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,91,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,249,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,71,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,99,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,12,127,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,85,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,176,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,50,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,13,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,115,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,231,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,102,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,65,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,88,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,143,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,61,126,0,0,143,121,0,5,0,5,0,0,10,121,0,5,162,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,63,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,23,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,83,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,88,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,91,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,86,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,225,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,38,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,57,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,136,126,0,0,129,121,0,5,0,5,0,0,10,121,0,5,106,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,85,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,89,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,137,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,62,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,89,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,247,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,87,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,61,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,56,127,0,0,193,121,0,5,0,5,0,0,42,121,0,5,2,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,89,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,144,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,153,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,244,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,137,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,227,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,90,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,167,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,125,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,80,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,108,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,148,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,69,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,102,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,63,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,53,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,172,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,138,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,183,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,219,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,90,127,0,0,143,121,0,5,0,5,0,0,34,121,0,5,66,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,78,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,100,127,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,63,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,250,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,232,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,22,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,157,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,53,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,199,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,223,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,164,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,129,121,0,5,26,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,239,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,251,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,184,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,124,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,35,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,64,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,194,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,93,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,28,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,119,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,172,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,94,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,137,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,22,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,81,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,174,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,41,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,13,127,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,14,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,172,126,0,0,219,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,139,121,0,5,219,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,84,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,23,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,202,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,207,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,71,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,219,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,250,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,100,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,90,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,148,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,128,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,182,126,0,0,129,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,14,126,0,0,193,121,0,5,0,5,0,0,40,121,0,5,23,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,101,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,175,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,218,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,158,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,70,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,96,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,90,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,248,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,112,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,250,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,251,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,82,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,194,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,142,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,251,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,79,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,148,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,91,125,0,0,219,121,0,5,0,5,0,0,10,121,0,5,29,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,236,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,19,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,14,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,220,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,17,127,0,0,137,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,65,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,102,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,117,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,196,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,224,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,116,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,219,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,36,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,81,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,174,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,72,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,233,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,252,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,213,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,144,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,97,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,100,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,61,126,0,0,193,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,92,123,0,0,219,121,0,5,0,5,0,0,10,121,0,5,38,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,86,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,197,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,66,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,220,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,54,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,141,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,248,126,0,0,209,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,221,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,18,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,159,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,226,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,173,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,12,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,208,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,106,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,65,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,234,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,103,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,252,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,113,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,104,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,210,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,66,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,124,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,24,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,173,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,147,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,228,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,144,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,180,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,91,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,145,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,146,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,161,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,173,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,40,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,42,127,0,0,111,121,0,5,0,5,0,0,40,121,0,5,39,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,155,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,149,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,56,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,58,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,143,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,64,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,225,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,109,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,45,125,0,0,179,121,0,5,0,5,0,0,38,121,0,5,8,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,175,126,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,38,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,39,127,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,198,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,242,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,253,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,37,124,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,99,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,37,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,176,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,174,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,184,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,3,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,129,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,130,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,251,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,116,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,252,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,98,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,188,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,107,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,67,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,56,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,174,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,114,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,160,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,246,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,39,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,195,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,254,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,19,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,25,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,189,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,65,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,147,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,29,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,183,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,58,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,128,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,32,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,125,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,212,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,37,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,162,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,126,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,226,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,26,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,226,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,89,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,87,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,107,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,196,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,137,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,199,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,108,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,102,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,68,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,47,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,17,127,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,197,126,0,0,179,121,0,5,0,5,0,0,40,121,0,5,24,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,147,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,141,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,64,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,83,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,230,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,234,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,64,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,231,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,185,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,86,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,126,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,30,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,235,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,243,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,189,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,73,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,57,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,203,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,18,127,0,0,103,121,0,5,0,5,0,0,18,121,0,5,88,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,85,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,240,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,15,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,7,127,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,175,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,24,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,228,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,67,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,24,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,40,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,118,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,183,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,86,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,164,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,133,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,239,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,168,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,186,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,150,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,98,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,48,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,69,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,23,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,85,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,176,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,65,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,94,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,134,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,24,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,10,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,105,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,174,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,84,127,0,0,111,121,0,5,0,5,0,0,18,121,0,5,127,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,91,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,114,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,66,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,65,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,252,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,18,127,0,0,137,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,138,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,255,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,108,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,214,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,41,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,47,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,87,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,149,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,147,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,149,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,228,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,47,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,109,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,131,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,177,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,64,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,19,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,190,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,56,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,90,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,236,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,54,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,160,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,142,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,179,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,54,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,166,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,197,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,127,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,133,127,0,0,105,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,27,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,81,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,193,125,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,100,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,20,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,5,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,64,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,50,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,149,126,0,0,209,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,77,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,167,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,87,127,0,0,193,121,0,5,0,5,0,0,40,121,0,5,25,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,173,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,55,127,0,0,117,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,106,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,40,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,231,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,140,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,2,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,65,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,21,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,184,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,103,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,249,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,233,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,195,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,227,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,177,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,18,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,45,127,0,0,125,121,0,5,0,5,0,0,40,121,0,5,26,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,106,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,213,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,54,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,68,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,232,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,178,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,171,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,244,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,16,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,39,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,85,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,169,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,206,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,184,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,104,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,203,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,175,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,106,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,198,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,185,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,170,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,150,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,245,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,141,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,87,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,151,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,62,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,31,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,57,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,233,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,194,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,119,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,68,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,190,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,110,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,77,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,80,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,20,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,107,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,138,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,175,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,65,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,12,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,93,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,229,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,249,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,81,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,178,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,70,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,7,127,0,0,117,121,0,5,0,5,0,0,28,121,0,5,8,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,101,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,227,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,19,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,85,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,34,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,55,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,152,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,20,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,38,127,0,0,193,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,113,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,58,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,187,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,13,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,23,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,24,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,21,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,176,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,75,127,0,0,105,121,0,5,0,5,0,0,18,121,0,5,227,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,9,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,56,127,0,0,117,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,44,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,144,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,108,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,213,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,162,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,8,127,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,58,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,156,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,180,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,115,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,43,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,237,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,69,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,232,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,116,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,109,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,51,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,115,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,146,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,233,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,82,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,186,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,76,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,212,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,139,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,134,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,58,127,0,0,179,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,18,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,127,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,116,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,14,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,15,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,13,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,123,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,143,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,23,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,199,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,74,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,86,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,87,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,8,126,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,117,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,244,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,225,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,128,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,221,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,117,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,116,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,80,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,81,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,146,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,88,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,2,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,31,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,154,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,10,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,228,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,199,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,134,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,179,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,40,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,140,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,32,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,102,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,196,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,21,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,93,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,22,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,81,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,66,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,176,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,103,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,54,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,59,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,102,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,34,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,49,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,50,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,62,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,38,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,181,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,18,127,0,0,113,121,0,5,0,5,0,0,28,121,0,5,109,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,53,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,171,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,117,124,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,51,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,210,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,33,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,25,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,139,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,66,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,27,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,161,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,223,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,129,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,201,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,92,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,29,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,176,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,81,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,67,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,128,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,11,127,0,0,117,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,155,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,214,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,188,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,12,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,89,127,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,35,126,0,0,179,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,101,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,132,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,23,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,103,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,145,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,133,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,26,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,133,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,243,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,120,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,146,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,141,121,0,5,0,5,0,0,18,121,0,5,217,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,17,126,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,24,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,156,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,26,127,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,200,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,245,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,226,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,86,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,249,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,154,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,218,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,104,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,141,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,48,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,95,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,105,121,0,5,96,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,110,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,130,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,200,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,15,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,124,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,212,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,174,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,57,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,95,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,244,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,68,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,107,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,9,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,238,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,211,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,75,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,103,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,195,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,137,121,0,5,30,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,221,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,235,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,105,121,0,5,49,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,52,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,8,127,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,39,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,148,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,19,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,110,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,125,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,3,127,0,0,135,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,25,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,148,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,191,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,184,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,7,127,0,0,125,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,115,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,126,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,88,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,33,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,34,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,200,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,15,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,20,127,0,0,103,121,0,5,0,5,0,0,12,121,0,5,148,127,0,0,105,121,0,5,0,5,0,0,40,121,0,5,27,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,55,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,187,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,230,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,34,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,177,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,88,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,87,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,239,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,148,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,37,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,255,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,128,124,0,0,219,121,0,5,0,5,0,0,10,121,0,5,82,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,185,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,11,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,35,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,197,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,132,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,57,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,110,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,177,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,12,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,162,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,82,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,127,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,95,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,96,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,227,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,13,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,88,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,120,126,0,0,179,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,102,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,186,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,88,127,0,0,193,121,0,5,0,5,0,0,40,121,0,5,28,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,58,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,24,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,97,127,0,0,105,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,200,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,115,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,228,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,69,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,78,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,10,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,163,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,145,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,12,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,38,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,229,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,46,127,0,0,125,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,20,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,149,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,35,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,213,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,233,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,241,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,135,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,70,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,14,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,44,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,16,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,250,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,121,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,131,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,200,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,66,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,199,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,105,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,202,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,67,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,82,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,21,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,167,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,132,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,132,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,198,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,91,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,101,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,234,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,148,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,150,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,102,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,101,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,72,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,14,127,0,0,119,121,0,5,0,5,0,0,30,121,0,5,89,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,2,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,254,126,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,2,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,75,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,128,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,54,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,76,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,38,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,2,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,255,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,42,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,205,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,118,124,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,3,123,0,0,219,121,0,5,0,5,0,0,38,121,0,5,48,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,133,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,78,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,166,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,244,124,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,10,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,91,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,111,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,69,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,70,127,0,0,193,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,129,121,0,5,24,127,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,229,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,164,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,15,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,21,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,231,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,60,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,66,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,90,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,15,127,0,0,119,121,0,5,0,5,0,0,30,121,0,5,3,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,83,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,178,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,79,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,141,125,0,0,119,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,82,123,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,32,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,48,127,0,0,193,121,0,5,0,5,0,0,24,121,0,5,179,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,232,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,153,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,106,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,107,126,0,0,143,121,0,5,0,5,0,0,38,121,0,5,18,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,199,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,62,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,129,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,201,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,11,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,177,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,25,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,61,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,25,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,28,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,135,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,26,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,45,127,0,0,111,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,126,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,92,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,12,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,92,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,43,127,0,0,117,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,52,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,59,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,211,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,240,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,70,125,0,0,219,121,0,5,0,5,0,0,40,121,0,5,40,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,165,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,188,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,163,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,153,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,142,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,12,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,154,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,251,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,135,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,150,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,73,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,117,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,236,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,3,127,0,0,211,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,103,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,122,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,108,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,22,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,39,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,253,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,70,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,123,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,151,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,163,126,0,0,209,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,72,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,77,124,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,32,127,0,0,179,121,0,5,0,5,0,0,18,121,0,5,89,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,126,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,147,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,229,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,41,127,0,0,103,121,0,5,0,5,0,0,18,121,0,5,228,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,224,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,68,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,230,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,45,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,177,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,146,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,215,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,180,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,17,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,138,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,116,127,0,0,219,121,0,5,0,5,0,0,18,121,0,5,90,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,135,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,44,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,149,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,230,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,92,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,203,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,214,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,92,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,218,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,41,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,36,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,93,125,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,252,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,59,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,178,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,92,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,182,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,164,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,215,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,219,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,201,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,20,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,25,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,62,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,69,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,221,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,189,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,29,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,13,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,30,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,192,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,214,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,81,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,70,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,44,127,0,0,117,121,0,5,0,5,0,0,12,121,0,5,95,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,165,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,93,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,124,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,73,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,253,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,222,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,109,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,46,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,33,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,130,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,7,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,4,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,14,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,110,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,71,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,208,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,203,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,91,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,27,127,0,0,143,121,0,5,0,5,0,0,18,121,0,5,52,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,200,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,209,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,40,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,3,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,38,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,41,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,5,125,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,109,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,151,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,105,121,0,5,87,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,14,127,0,0,113,121,0,5,0,5,0,0,30,121,0,5,91,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,67,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,16,127,0,0,135,121,0,5,0,5,0,0,18,121,0,5,117,127,0,0,105,121,0,5,0,5,0,0,12,121,0,5,149,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,165,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,4,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,66,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,60,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,38,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,13,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,86,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,71,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,71,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,22,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,136,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,232,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,6,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,84,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,14,127,0,0,125,121,0,5,0,5,0,0,24,121,0,5,181,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,131,125,0,0,219,121,0,5,0,5,0,0,20,121,0,5,98,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,124,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,40,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,118,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,157,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,4,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,63,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,129,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,168,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,15,127,0,0,125,121,0,5,0,5,0,0,20,121,0,5,5,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,150,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,81,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,29,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,175,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,215,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,193,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,97,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,175,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,245,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,129,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,111,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,201,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,69,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,51,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,137,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,182,126,0,0,103,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,77,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,92,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,62,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,67,127,0,0,137,121,0,5,0,5,0,0,20,121,0,5,6,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,9,127,0,0,185,121,0,5,0,5,0,0,6,121,0,5,94,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,246,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,72,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,106,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,85,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,143,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,94,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,122,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,204,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,117,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,7,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,30,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,133,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,212,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,64,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,19,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,23,127,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,30,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,82,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,36,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,71,127,0,0,111,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,102,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,138,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,202,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,52,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,82,127,0,0,137,121,0,5,0,5,0,0,16,121,0,5,118,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,169,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,53,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,22,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,39,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,124,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,170,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,112,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,158,122,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,19,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,14,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,72,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,41,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,237,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,182,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,238,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,139,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,31,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,222,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,170,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,36,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,192,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,3,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,40,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,47,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,139,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,72,125,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,204,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,250,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,23,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,41,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,39,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,123,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,144,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,59,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,37,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,63,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,234,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,103,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,83,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,42,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,99,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,224,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,81,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,62,127,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,213,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,119,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,247,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,20,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,248,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,151,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,37,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,127,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,133,126,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,111,121,0,5,58,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,53,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,104,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,233,122,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,42,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,43,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,95,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,24,127,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,99,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,37,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,103,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,119,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,100,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,86,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,39,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,5,127,0,0,211,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,196,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,60,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,93,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,118,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,42,126,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,31,126,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,246,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,195,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,162,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,99,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,234,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,14,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,24,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,64,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,190,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,122,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,123,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,63,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,22,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,76,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,201,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,237,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,64,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,32,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,104,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,56,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,225,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,98,127,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,8,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,252,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,202,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,244,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,250,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,131,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,120,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,241,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,8,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,6,127,0,0,193,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,110,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,63,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,183,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,69,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,64,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,234,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,201,125,0,0,179,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,222,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,65,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,180,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,10,127,0,0,185,121,0,5,0,5,0,0,28,121,0,5,117,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,231,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,121,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,24,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,233,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,93,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,125,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,111,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,232,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,96,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,80,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,33,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,25,127,0,0,103,121,0,5,0,5,0,0,38,121,0,5,8,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,140,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,177,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,190,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,65,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,149,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,131,127,0,0,211,121,0,5,0,5,0,0,18,121,0,5,229,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,202,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,141,125,0,0,179,121,0,5,0,5,0,0,10,121,0,5,166,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,71,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,52,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,171,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,216,125,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,26,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,29,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,26,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,16,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,43,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,152,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,172,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,94,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,149,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,96,127,0,0,129,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,119,121,0,5,103,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,46,127,0,0,111,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,88,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,70,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,145,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,10,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,172,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,247,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,65,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,235,122,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,20,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,68,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,5,127,0,0,135,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,95,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,20,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,191,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,118,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,67,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,228,123,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,92,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,134,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,87,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,173,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,18,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,200,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,18,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,49,127,0,0,137,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,172,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,113,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,202,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,17,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,202,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,233,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,142,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,72,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,146,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,38,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,21,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,31,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,11,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,35,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,159,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,203,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,63,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,73,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,19,127,0,0,127,121,0,5,0,5,0,0,18,121,0,5,119,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,192,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,101,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,68,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,215,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,65,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,228,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,28,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,44,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,197,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,43,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,15,125,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,27,123,0,0,219,121,0,5,0,5,0,0,10,121,0,5,246,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,231,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,143,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,184,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,82,127,0,0,209,121,0,5,0,5,0,0,38,121,0,5,2,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,153,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,203,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,18,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,83,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,193,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,44,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,69,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,105,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,16,127,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,134,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,134,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,246,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,8,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,204,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,59,127,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,9,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,119,126,0,0,129,121,0,5,0,5,0,0,12,121,0,5,174,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,9,126,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,39,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,166,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,167,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,82,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,130,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,148,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,41,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,226,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,56,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,58,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,102,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,251,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,42,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,161,125,0,0,179,121,0,5,0,5,0,0,20,121,0,5,100,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,66,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,67,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,73,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,99,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,17,127,0,0,119,121,0,5,0,5,0,0,24,121,0,5,40,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,18,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,6,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,193,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,68,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,191,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,128,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,234,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,26,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,134,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,155,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,74,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,3,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,93,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,23,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,73,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,112,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,75,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,213,126,0,0,193,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,119,121,0,5,226,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,19,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,107,121,0,5,90,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,14,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,125,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,120,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,21,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,86,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,13,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,222,123,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,119,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,14,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,143,121,0,5,23,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,8,127,0,0,125,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,43,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,9,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,147,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,193,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,201,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,160,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,120,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,53,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,22,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,103,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,37,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,129,121,0,5,22,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,62,127,0,0,209,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,111,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,86,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,97,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,176,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,110,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,179,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,89,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,203,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,18,127,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,220,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,208,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,65,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,138,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,247,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,74,127,0,0,111,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,41,122,0,0,185,121,0,5,0,5,0,0,40,121,0,5,41,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,105,121,0,5,101,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,59,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,93,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,88,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,46,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,54,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,107,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,214,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,154,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,150,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,44,124,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,8,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,124,127,0,0,127,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,205,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,105,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,154,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,139,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,174,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,89,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,204,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,66,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,40,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,194,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,19,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,15,127,0,0,121,121,0,5,0,5,0,0,30,121,0,5,180,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,183,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,155,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,19,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,195,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,179,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,45,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,103,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,173,125,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,53,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,47,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,69,124,0,0,219,121,0,5,0,5,0,0,40,121,0,5,30,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,204,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,75,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,193,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,216,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,147,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,181,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,229,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,194,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,126,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,187,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,74,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,156,124,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,253,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,46,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,95,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,67,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,41,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,96,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,36,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,163,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,48,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,104,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,87,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,189,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,242,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,98,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,234,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,126,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,248,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,2,127,0,0,121,121,0,5,0,5,0,0,12,121,0,5,175,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,10,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,57,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,140,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,92,127,0,0,211,121,0,5,0,5,0,0,34,121,0,5,98,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,99,125,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,9,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,223,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,239,123,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,244,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,47,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,171,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,105,121,0,5,78,124,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,183,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,139,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,93,126,0,0,103,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,28,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,185,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,236,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,96,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,118,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,220,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,253,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,234,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,205,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,217,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,143,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,235,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,105,121,0,5,125,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,131,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,215,126,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,206,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,127,121,0,5,172,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,245,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,95,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,79,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,142,123,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,42,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,15,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,227,125,0,0,185,121,0,5,0,5,0,0,10,121,0,5,83,127,0,0,127,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,24,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,74,127,0,0,127,121,0,5,0,5,0,0,12,121,0,5,157,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,168,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,119,121,0,5,240,123,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,157,126,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,205,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,132,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,68,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,33,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,10,122,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,11,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,216,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,68,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,16,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,83,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,84,127,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,70,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,15,127,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,108,127,0,0,211,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,107,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,133,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,239,125,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,43,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,25,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,164,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,82,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,235,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,194,122,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,15,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,99,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,113,124,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,155,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,176,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,81,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,246,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,186,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,2,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,137,121,0,5,177,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,72,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,73,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,254,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,134,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,139,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,205,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,103,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,203,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,69,127,0,0,137,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,142,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,188,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,140,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,120,126,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,195,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,135,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,109,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,128,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,22,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,221,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,86,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,143,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,73,127,0,0,193,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,16,126,0,0,185,121,0,5,0,5,0,0,12,121,0,5,192,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,193,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,131,121,0,5,40,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,84,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,152,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,161,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,144,126,0,0,179,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,21,127,0,0,193,121,0,5,0,5,0,0,20,121,0,5,10,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,162,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,253,125,0,0,179,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,103,121,0,5,112,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,254,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,44,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,232,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,148,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,112,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,9,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,11,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,80,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,204,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,148,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,74,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,34,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,177,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,58,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,73,125,0,0,179,121,0,5,0,5,0,0,12,121,0,5,104,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,203,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,237,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,101,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,19,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,94,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,223,126,0,0,129,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,238,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,206,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,139,121,0,5,55,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,176,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,223,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,5,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,15,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,121,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,137,121,0,5,58,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,150,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,196,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,45,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,134,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,83,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,229,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,6,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,57,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,40,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,114,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,214,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,197,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,198,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,236,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,73,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,155,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,75,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,81,126,0,0,143,121,0,5,0,5,0,0,16,121,0,5,20,127,0,0,117,121,0,5,0,5,0,0,16,121,0,5,21,127,0,0,117,121,0,5,0,5,0,0,34,121,0,5,20,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,74,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,25,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,162,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,91,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,149,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,113,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,16,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,243,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,12,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,72,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,198,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,149,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,199,126,0,0,129,121,0,5,0,5,0,0,26,121,0,5,0,5,0,0,103,121,0,5,48,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,165,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,33,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,207,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,57,127,0,0,117,121,0,5,0,5,0,0,16,121,0,5,15,127,0,0,143,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,74,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,122,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,123,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,166,126,0,0,193,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,156,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,39,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,230,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,90,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,16,127,0,0,125,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,178,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,4,126,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,69,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,200,126,0,0,129,121,0,5,0,5,0,0,24,121,0,5,41,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,93,127,0,0,211,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,47,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,239,122,0,0,185,121,0,5,0,5,0,0,18,121,0,5,129,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,89,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,63,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,94,127,0,0,211,121,0,5,0,5,0,0,20,121,0,5,207,126,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,56,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,90,126,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,211,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,235,124,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,132,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,236,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,17,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,61,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,101,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,235,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,120,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,145,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,245,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,58,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,91,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,77,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,65,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,151,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,48,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,70,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,105,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,49,124,0,0,219,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,181,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,167,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,19,127,0,0,119,121,0,5,0,5,0,0,18,121,0,5,230,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,173,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,106,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,54,127,0,0,211,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,136,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,104,126,0,0,185,121,0,5,0,5,0,0,10,121,0,5,54,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,137,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,242,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,22,127,0,0,193,121,0,5,0,5,0,0,12,121,0,5,193,126,0,0,119,121,0,5,0,5,0,0,40,121,0,5,42,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,47,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,92,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,42,127,0,0,219,121,0,5,0,5,0,0,34,121,0,5,100,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,48,127,0,0,179,121,0,5,0,5,0,0,28,121,0,5,27,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,21,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,90,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,49,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,230,126,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,93,122,0,0,185,121,0,5,0,5,0,0,12,121,0,5,194,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,208,126,0,0,143,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,4,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,64,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,166,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,23,127,0,0,193,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,163,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,190,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,140,127,0,0,211,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,75,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,7,127,0,0,135,121,0,5,0,5,0,0,12,121,0,5,177,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,202,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,24,124,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,5,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,8,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,203,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,204,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,184,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,2,127,0,0,113,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,95,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,237,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,20,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,247,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,231,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,40,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,50,124,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,96,127,0,0,219,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,65,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,157,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,201,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,194,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,72,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,85,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,135,127,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,70,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,121,121,0,5,255,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,112,125,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,34,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,121,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,92,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,135,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,130,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,38,127,0,0,129,121,0,5,0,5,0,0,12,121,0,5,97,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,152,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,97,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,7,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,94,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,27,127,0,0,125,121,0,5,0,5,0,0,6,121,0,5,3,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,113,127,0,0,219,121,0,5,0,5,0,0,24,121,0,5,127,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,249,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,11,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,208,124,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,107,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,93,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,204,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,140,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,70,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,45,127,0,0,137,121,0,5,0,5,0,0,34,121,0,5,101,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,244,126,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,71,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,42,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,18,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,134,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,83,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,166,126,0,0,185,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,74,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,68,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,87,127,0,0,211,121,0,5,0,5,0,0,38,121,0,5,3,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,4,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,205,127,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,26,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,224,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,206,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,75,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,76,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,142,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,168,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,111,121,0,5,83,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,38,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,173,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,97,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,108,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,174,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,90,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,19,127,0,0,111,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,23,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,96,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,113,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,175,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,69,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,42,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,185,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,31,125,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,39,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,106,127,0,0,127,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,41,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,16,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,70,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,195,122,0,0,185,121,0,5,0,5,0,0,10,121,0,5,30,127,0,0,125,121,0,5,0,5,0,0,28,121,0,5,114,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,43,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,26,123,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,72,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,196,125,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,132,124,0,0,219,121,0,5,0,5,0,0,28,121,0,5,9,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,153,126,0,0,185,121,0,5,0,5,0,0,10,121,0,5,0,5,0,0,103,121,0,5,78,126,0,0,185,121,0,5,0,5,0,0,42,121,0,5,4,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,43,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,109,123,0,0,185,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,217,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,218,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,25,124,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,197,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,225,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,94,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,196,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,206,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,4,127,0,0,141,121,0,5,0,5,0,0,6,121,0,5,98,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,20,127,0,0,127,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,199,124,0,0,219,121,0,5,0,5,0,0,12,121,0,5,195,126,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,42,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,121,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,44,126,0,0,209,121,0,5,0,5,0,0,24,121,0,5,202,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,86,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,125,121,0,5,55,127,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,107,121,0,5,43,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,153,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,124,126,0,0,179,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,29,123,0,0,219,121,0,5,0,5,0,0,18,121,0,5,212,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,13,127,0,0,111,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,129,121,0,5,75,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,150,125,0,0,179,121,0,5,0,5,0,0,38,121,0,5,10,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,158,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,97,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,179,126,0,0,179,121,0,5,0,5,0,0,38,121,0,5,9,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,206,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,117,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,89,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,69,126,0,0,129,121,0,5,0,5,0,0,10,121,0,5,202,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,156,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,26,127,0,0,103,121,0,5,0,5,0,0,38,121,0,5,10,127,0,0,105,121,0,5,0,5,0,0,20,121,0,5,12,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,203,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,6,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,11,126,0,0,103,121,0,5,0,5,0,0,38,121,0,5,21,126,0,0,103,121,0,5,0,5,0,0,24,121,0,5,186,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,72,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,165,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,131,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,184,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,7,127,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,2,126,0,0,209,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,82,122,0,0,185,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,115,121,0,5,54,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,13,123,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,145,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,95,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,78,127,0,0,105,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,238,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,22,126,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,197,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,135,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,16,127,0,0,121,121,0,5,0,5,0,0,6,121,0,5,99,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,100,127,0,0,143,121,0,5,0,5,0,0,20,121,0,5,209,126,0,0,143,121,0,5,0,5,0,0,18,121,0,5,67,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,143,123,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,94,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,210,126,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,224,126,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,139,121,0,5,72,126,0,0,193,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,139,121,0,5,149,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,217,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,21,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,221,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,236,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,205,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,237,125,0,0,119,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,45,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,144,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,157,127,0,0,129,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,60,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,228,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,120,123,0,0,185,121,0,5,0,5,0,0,38,121,0,5,0,5,0,0,103,121,0,5,131,122,0,0,185,121,0,5,0,5,0,0,6,121,0,5,107,127,0,0,127,121,0,5,0,5,0,0,16,121,0,5,237,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,98,127,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,217,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,27,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,101,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,60,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,10,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,125,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,87,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,73,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,211,126,0,0,143,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,185,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,87,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,119,121,0,5,60,125,0,0,179,121,0,5,0,5,0,0,24,121,0,5,203,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,167,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,135,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,245,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,189,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,245,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,110,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,106,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,102,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,95,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,215,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,191,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,57,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,58,127,0,0,117,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,19,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,158,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,119,121,0,5,75,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,166,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,110,123,0,0,185,121,0,5,0,5,0,0,42,121,0,5,5,125,0,0,119,121,0,5,0,5,0,0,6,121,0,5,136,127,0,0,143,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,248,122,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,194,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,207,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,139,121,0,5,60,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,204,126,0,0,129,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,121,121,0,5,11,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,143,121,0,5,20,125,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,104,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,64,127,0,0,127,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,9,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,207,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,196,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,129,121,0,5,111,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,88,127,0,0,179,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,103,121,0,5,141,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,17,127,0,0,135,121,0,5,0,5,0,0,6,121,0,5,39,127,0,0,125,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,17,122,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,216,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,105,121,0,5,159,126,0,0,179,121,0,5,0,5,0,0,18,121,0,5,120,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,42,126,0,0,119,121,0,5,0,5,0,0,34,121,0,5,23,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,49,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,107,121,0,5,125,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,29,127,0,0,143,121,0,5,0,5,0,0,18,121,0,5,213,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,122,126,0,0,209,121,0,5,0,5,0,0,28,121,0,5,14,127,0,0,111,121,0,5,0,5,0,0,24,121,0,5,204,126,0,0,103,121,0,5,0,5,0,0,16,121,0,5,121,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,246,125,0,0,219,121,0,5,0,5,0,0,38,121,0,5,22,126,0,0,103,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,115,121,0,5,88,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,57,126,0,0,209,121,0,5,0,5,0,0,40,121,0,5,32,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,39,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,96,126,0,0,103,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,190,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,94,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,3,127,0,0,113,121,0,5,0,5,0,0,30,121,0,5,45,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,28,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,108,127,0,0,127,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,207,124,0,0,185,121,0,5,0,5,0,0,24,121,0,5,43,126,0,0,119,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,118,127,0,0,219,121,0,5,0,5,0,0,40,121,0,5,44,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,16,127,0,0,143,121,0,5,0,5,0,0,24,121,0,5,205,126,0,0,103,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,152,123,0,0,219,121,0,5,0,5,0,0,30,121,0,5,182,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,12,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,178,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,99,127,0,0,219,121,0,5,0,5,0,0,30,121,0,5,4,127,0,0,113,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,32,127,0,0,211,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,254,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,24,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,12,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,125,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,82,127,0,0,105,121,0,5,0,5,0,0,24,121,0,5,206,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,137,127,0,0,143,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,119,121,0,5,26,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,240,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,255,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,212,125,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,143,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,212,126,0,0,185,121,0,5,0,5,0,0,24,121,0,5,44,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,103,121,0,5,198,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,149,127,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,196,126,0,0,193,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,143,121,0,5,169,126,0,0,209,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,27,123,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,222,124,0,0,185,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,215,125,0,0,185,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,111,123,0,0,185,121,0,5,0,5,0,0,16,121,0,5,22,127,0,0,117,121,0,5,0,5,0,0,16,121,0,5,136,126,0,0,119,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,223,124,0,0,185,121,0,5,0,5,0,0,30,121,0,5,150,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,101,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,13,127,0,0,129,121,0,5,0,5,0,0,6,121,0,5,158,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,174,125,0,0,219,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,20,126,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,55,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,89,127,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,143,121,0,5,49,126,0,0,209,121,0,5,0,5,0,0,20,121,0,5,66,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,98,124,0,0,185,121,0,5,0,5,0,0,28,121,0,5,115,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,180,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,105,126,0,0,219,121,0,5,0,5,0,0,38,121,0,5,23,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,74,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,205,123,0,0,185,121,0,5,0,5,0,0,6,121,0,5,20,127,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,42,125,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,62,127,0,0,211,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,58,127,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,136,126,0,0,193,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,119,121,0,5,4,123,0,0,219,121,0,5,0,5,0,0,6,121,0,5,126,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,203,126,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,221,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,129,121,0,5,28,123,0,0,185,121,0,5,0,5,0,0,28,121,0,5,116,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,127,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,71,127,0,0,179,121,0,5,0,5,0,0,18,121,0,5,62,127,0,0,129,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,119,121,0,5,134,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,155,125,0,0,219,121,0,5,0,5,0,0,40,121,0,5,0,5,0,0,143,121,0,5,7,126,0,0,193,121,0,5,0,5,0,0,30,121,0,5,183,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,163,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,218,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,25,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,190,126,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,111,121,0,5,156,123,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,167,124,0,0,185,121,0,5,0,5,0,0,34,121,0,5,26,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,23,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,96,127,0,0,193,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,191,126,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,195,126,0,0,179,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,197,123,0,0,219,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,30,125,0,0,219,121,0,5,0,5,0,0,34,121,0,5,27,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,241,125,0,0,179,121,0,5,0,5,0,0,16,121,0,5,50,127,0,0,137,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,64,127,0,0,193,121,0,5,0,5,0,0,30,121,0,5,97,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,143,121,0,5,180,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,36,127,0,0,127,121,0,5,0,5,0,0,6,121,0,5,46,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,208,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,98,126,0,0,103,121,0,5,0,5,0,0,28,121,0,5,13,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,159,127,0,0,129,121,0,5,0,5,0,0,30,121,0,5,46,126,0,0,143,121,0,5,0,5,0,0,34,121,0,5,103,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,199,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,35,125,0,0,219,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,129,121,0,5,61,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,70,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,21,127,0,0,119,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,83,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,142,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,122,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,150,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,112,123,0,0,185,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,119,121,0,5,5,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,137,126,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,105,121,0,5,31,125,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,121,121,0,5,168,126,0,0,185,121,0,5,0,5,0,0,6,121,0,5,209,127,0,0,129,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,103,121,0,5,9,126,0,0,185,121,0,5,0,5,0,0,16,121,0,5,123,126,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,106,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,100,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,111,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,230,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,141,126,0,0,129,121,0,5,0,5,0,0,34,121,0,5,28,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,245,126,0,0,143,121,0,5,0,5,0,0,28,121,0,5,142,126,0,0,129,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,137,121,0,5,112,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,14,127,0,0,117,121,0,5,0,5,0,0,6,121,0,5,102,127,0,0,143,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,231,126,0,0,179,121,0,5,0,5,0,0,24,121,0,5,187,126,0,0,103,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,103,121,0,5,133,124,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,143,121,0,5,216,125,0,0,185,121,0,5,0,5,0,0,34,121,0,5,29,126,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,105,121,0,5,206,126,0,0,179,121,0,5,0,5,0,0,20,121,0,5,40,127,0,0,129,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,179,125,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,54,127,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,129,121,0,5,50,127,0,0,179,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,115,121,0,5,174,125,0,0,185,121,0,5,0,5,0,0,18,121,0,5,214,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,219,126,0,0,103,121,0,5,0,5,0,0,18,121,0,5,220,126,0,0,103,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,139,121,0,5,41,127,0,0,209,121,0,5,0,5,0,0,24,121,0,5,48,127,0,0,111,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,69,126,0,0,209,121,0,5,0,5,0,0,16,121,0,5,30,127,0,0,143,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,111,121,0,5,63,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,138,127,0,0,143,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,129,121,0,5,187,126,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,55,127,0,0,209,121,0,5,0,5,0,0,12,121,0,5,151,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,21,126,0,0,193,121,0,5,0,5,0,0,28,121,0,5,29,127,0,0,137,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,58,126,0,0,209,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,119,127,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,201,126,0,0,219,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,10,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,154,126,0,0,209,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,46,126,0,0,209,121,0,5,0,5,0,0,18,121,0,5,231,126,0,0,143,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,103,121,0,5,11,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,115,121,0,5,123,126,0,0,209,121,0,5,0,5,0,0,12,121,0,5,0,5,0,0,119,121,0,5,22,127,0,0,179,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,57,125,0,0,185,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,192,126,0,0,193,121,0,5,0,5,0,0,20,121,0,5,67,126,0,0,119,121,0,5,0,5,0,0,18,121,0,5,0,5,0,0,143,121,0,5,144,125,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,131,121,0,5,219,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,129,121,0,5,48,125,0,0,179,121,0,5,0,5,0,0,30,121,0,5,184,125,0,0,119,121,0,5,0,5,0,0,30,121,0,5,91,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,213,125,0,0,119,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,197,126,0,0,193,121,0,5,0,5,0,0,38,121,0,5,24,126,0,0,103,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,115,121,0,5,151,126,0,0,179,121,0,5,0,5,0,0,30,121,0,5,0,5,0,0,111,121,0,5,51,124,0,0,219,121,0,5,0,5,0,0,10,121,0,5,167,127,0,0,105,121,0,5,0,5,0,0,6,121,0,5,246,126,0,0,119,121,0,5,0,5,0,0,12,121,0,5,196,126,0,0,119,121,0,5,0,5,0,0,20,121,0,5,212,126,0,0,143,121,0,5,0,5,0,0,24,121,0,5,49,127,0,0,111,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,129,121,0,5,58,125,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,94,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,30,127,0,0,137,121,0,5,0,5,0,0,28,121,0,5,238,125,0,0,119,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,83,124,0,0,185,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,115,121,0,5,56,127,0,0,209,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,111,121,0,5,84,124,0,0,185,121,0,5,0,5,0,0,20,121,0,5,169,126,0,0,143,121,0,5,0,5,0,0,42,121,0,5,0,5,0,0,103,121,0,5,84,122,0,0,185,121,0,5,0,5,0,0,30,121,0,5,40,127,0,0,105,121,0,5,0,5,0,0,30,121,0,5,41,127,0,0,105,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,143,121,0,5,136,122,0,0,185,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,139,121,0,5,168,123,0,0,185,121,0,5,0,5,0,0,34,121,0,5,104,125,0,0,119,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,115,121,0,5,93,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,11,127,0,0,185,121,0,5,0,5,0,0,24,121,0,5,0,5,0,0,111,121,0,5,167,126,0,0,193,121,0,5,0,5,0,0,6,121,0,5,127,127,0,0,127,121,0,5,0,5,0,0,34,121,0,5,0,5,0,0,103,121,0,5,100,125,0,0,179,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,192,126,0,0,185,121,0,5,0,5,0,0,28,121,0,5,15,127,0,0,111,121,0,5,0,5,0,0,28,121,0,5,143,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,24,126,0,0,179,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,103,121,0,5,13,126,0,0,179,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,127,121,0,5,61,126,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,119,121,0,5,76,126,0,0,219,121,0,5,0,5,0,0,20,121,0,5,0,5,0,0,103,121,0,5,233,125,0,0,219,121,0,5,0,5,0,0,16,121,0,5,0,5,0,0,127,121,0,5,62,126,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,119,121,0,5,54,127,0,0,219,121,0,5,0,5,0,0,6,121,0,5,0,5,0,0,103,121,0,5,85,127,0,0,209,121,0,5,0,5,0,0,6,121,0,5,160,127,0,0,129,121,0,5,0,5,0,0,34,121,0,5,12,126,0,0,129,121,0,5,0,5,0,0,28,121,0,5,0,5,0,0,107,121,0,5,242,125,0,0,179,121,0,5,0,5,0,0,28,121,0,5,31,127,0,0,137,121,0,0,0,0,5,5,42,121,5,70,103,121,5,5,6,121,5,5,119,121,5,70,221,121,5,5,42,121,5,5,121,121,5,103,185,121,5,5,28,121,5,101,117,121,5,5,30,121,5,123,143,121,5,5,42,121,5,70,119,121,5,5,40,121,5,5,143,121,5,111,211,121,5,5,28,121,5,70,107,121,5,5,28,121,5,80,137,121,5,5,28,121,5,70,115,121,5,5,42,121,5,71,119,121,5,5,42,121,5,70,105,121,5,5,38,121,5,122,103,121,5,5,42,121,5,5,139,121,5,80,193,121,5,5,42,121,5,70,137,121,5,5,30,121,5,85,111,121,5,5,28,121,5,97,135,121,5,5,30,121,5,86,111,121,5,5,30,121,5,91,121,121,5,5,42,121,5,71,103,121,5,5,40,121,5,5,143,121,5,120,193,121,5,5,28,121,5,71,115,121,5,5,40,121,5,99,105,121,5,5,42,121,5,90,125,121,5,5,6,121,5,92,133,121,5,5,34,121,5,81,143,121,5,5,28,121,5,81,137,121,5,5,28,121,5,101,141,121,5,5,42,121,5,70,129,121,5,5,34,121,5,5,143,121,5,111,209,121,5,5,16,121,5,84,115,121,5,5,42,121,5,5,115,121,5,78,211,121,5,5,42,121,5,84,121,121,5,5,40,121,5,91,127,121,5,5,42,121,5,71,129,121,5,5,28,121,5,102,141,121,5,5,34,121,5,82,143,121,5,5,28,121,5,102,117,121,5,5,38,121,5,5,103,121,5,121,179,121,5,5,28,121,5,73,123,121,5,5,28,121,5,71,107,121,5,5,28,121,5,98,135,121,5,5,28,121,5,123,125,121,5,5,42,121,5,71,105,121,5,5,40,121,5,5,143,121,5,113,211,121,5,5,38,121,5,94,129,121,5,5,42,121,5,79,117,121,5,5,42,121,5,83,127,121,5,5,38,121,5,5,103,121,5,117,211,121,5,5,34,121,5,106,125,121,5,5,40,121,5,105,127,121,5,5,42,121,5,70,141,121,5,5,28,121,5,99,135,121,5,5,28,121,5,118,127,121,5,5,28,121,5,103,141,121,5,5,28,121,5,82,137,121,5,5,30,121,5,113,113,121,5,5,28,121,5,120,141,121,5,5,16,121,5,102,115,121,5,5,42,121,5,111,119,121,5,5,30,121,5,87,111,121,5,5,16,121,5,85,115,121,5,5,42,121,5,5,137,121,5,71,219,121,5,5,38,121,5,115,105,121,5,5,28,121,5,83,137,121,5,5,42,121,5,70,117,121,5,5,28,121,5,126,137,121,5,5,34,121,5,94,135,121,5,5,42,121,5,112,119,121,5,5,28,121,5,72,107,121,5,5,34,121,5,76,111,121,5,5,28,121,5,121,141,121,5,5,42,121,5,71,141,121,5,5,6,121,5,93,133,121,5,5,42,121,5,5,121,121,5,85,219,121,5,5,42,121,5,5,137,121,5,72,219,121,5,5,28,121,5,119,127,121,5,5,42,121,5,5,103,121,5,80,209,121,5,5,28,121,5,103,117,121,5,5,30,121,5,90,113,121,5,5,24,121,5,78,123,121,5,5,34,121,5,70,113,121,5,5,30,121,5,96,121,121,5,5,42,121,5,5,103,121,5,107,193,121,5,5,40,121,5,92,127,121,5,5,6,121,5,94,133,121,5,5,42,121,5,5,125,121,5,71,179,121,5,5,30,121,5,91,113,121,5,5,28,121,5,122,141,121,5,5,42,121,5,5,105,121,5,94,179,121,5,5,42,121,5,5,129,121,5,87,185,121,5,5,40,121,5,106,127,121,5,5,42,121,5,5,129,121,5,88,185,121,5,5,16,121,5,86,115,121,5,5,42,121,5,5,137,121,5,73,219,121,5,5,42,121,5,5,103,121,5,104,211,121,5,5,42,121,5,70,121,121,5,5,42,121,5,5,115,121,5,90,211,121,5,5,42,121,5,70,125,121,5,5,6,121,5,95,133,121,5,5,40,121,5,5,143,121,5,110,193,121,5,5,42,121,5,70,133,121,5,5,38,121,5,5,103,121,5,122,179,121,5,5,42,121,5,5,115,121,5,79,211,121,5,5,6,121,5,85,123,121,5,5,34,121,5,105,143,121,5,5,28,121,5,100,135,121,5,5,42,121,5,5,137,121,5,88,193,121,5,5,42,121,5,72,129,121,5,5,42,121,5,72,103,121,5,5,16,121,5,103,115,121,5,5,34,121,5,80,135,121,5,5,28,121,5,104,117,121,5,5,30,121,5,124,143,121,5,5,38,121,5,116,105,121,5,5,40,121,5,108,103,121,5,5,42,121,5,5,115,121,5,91,211,121,5,5,42,121,5,5,139,121,5,76,193,121,5,5,42,121,5,5,103,121,5,97,211,121,5,5,42,121,5,73,129,121,5,5,40,121,5,87,117,121,5,5,42,121,5,5,103,121,5,81,209,121,5,5,42,121,5,5,139,121,5,70,211,121,5,5,34,121,5,81,135,121,5,5,42,121,5,74,129,121,5,5,42,121,5,83,129,121,5,5,42,121,5,84,103,121,5,5,16,121,5,87,115,121,5,5,42,121,5,72,119,121,5,5,30,121,5,88,111,121,5,5,40,121,5,5,143,121,5,121,193,121,5,5,42,121,5,71,121,121,5,5,42,121,5,88,105,121,5,5,38,121,5,123,103,121,5,5,42,121,5,90,141,121,5,5,30,121,5,125,143,121,5,5,42,121,5,72,105,121,5,5,42,121,5,5,103,121,5,82,209,121,5,5,42,121,5,75,137,121,5,5,6,121,5,88,123,121,5,5,40,121,5,5,129,121,5,97,209,121,5,5,42,121,5,5,119,121,5,116,219,121,5,5,34,121,5,106,143,121,5,5,28,121,5,108,121,121,5,5,42,121,5,5,103,121,5,98,211,121,5,5,42,121,5,70,127,121,5,5,40,121,5,100,105,121,5,5,42,121,5,91,141,121,5,5,28,121,5,84,137,121,5,5,16,121,5,104,115,121,5,5,38,121,5,124,103,121,5,5,38,121,5,5,103,121,5,123,179,121,5,5,42,121,5,5,103,121,5,83,209,121,5,5,30,121,5,92,113,121,5,5,42,121,5,75,129,121,5,5,42,121,5,5,103,121,5,84,209,121,5,5,42,121,5,71,133,121,5,5,42,121,5,5,121,121,5,104,185,121,5,5,42,121,5,72,141,121,5,5,28,121,5,122,135,121,5,5,42,121,5,84,129,121,5,5,42,121,5,5,121,121,5,109,219,121,5,5,42,121,5,5,131,121,5,80,185,121,5,5,28,121,5,85,137,121,5,5,42,121,5,76,129,121,5,5,42,121,5,5,103,121,5,105,211,121,5,5,34,121,5,83,143,121,5,5,38,121,5,5,103,121,5,108,209,121,5,5,40,121,5,107,127,121,5,5,42,121,5,80,117,121,5,5,42,121,5,85,121,121,5,5,34,121,5,109,125,121,5,5,34,121,5,82,135,121,5,5,42,121,5,113,119,121,5,5,42,121,5,92,141,121,5,5,42,121,5,5,139,121,5,74,211,121,5,5,42,121,5,70,111,121,5,5,42,121,5,73,141,121,5,5,36,121,5,71,123,121,5,5,42,121,5,5,125,121,5,73,179,121,5,5,42,121,5,71,127,121,5,5,42,121,5,85,103,121,5,5,34,121,5,79,113,121,5,5,42,121,5,84,127,121,5,5,28,121,5,121,117,121,5,5,42,121,5,74,141,121,5,5,42,121,5,71,125,121,5,5,42,121,5,5,119,121,5,99,193,121,5,5,28,121,5,109,121,121,5,5,28,121,5,101,135,121,5,5,30,121,5,92,121,121,5,5,40,121,5,92,103,121,5,5,38,121,5,5,103,121,5,124,179,121,5,5,42,121,5,73,105,121,5,5,42,121,5,85,129,121,5,5,42,121,5,5,115,121,5,92,211,121,5,5,28,121,5,80,107,121,5,5,38,121,5,99,125,121,5,5,34,121,5,5,111,121,5,121,211,121,5,5,42,121,5,86,129,121,5,5,30,121,5,93,113,121,5,5,28,121,5,120,127,121,5,5,38,121,5,5,103,121,5,118,211,121,5,5,38,121,5,5,103,121,5,114,211,121,5,5,42,121,5,5,129,121,5,89,185,121,5,5,34,121,5,103,129,121,5,5,42,121,5,71,111,121,5,5,38,121,5,125,103,121,5,5,42,121,5,5,129,121,5,90,185,121,5,5,42,121,5,5,103,121,5,98,179,121,5,5,42,121,5,73,119,121,5,5,42,121,5,74,119,121,5,5,42,121,5,73,103,121,5,5,28,121,5,118,125,121,5,5,28,121,5,73,107,121,5,5,38,121,5,117,105,121,5,5,36,121,5,72,123,121,5,5,28,121,5,121,127,121,5,5,42,121,5,5,115,121,5,80,211,121,5,5,42,121,5,5,121,121,5,105,185,121,5,5,42,121,5,5,115,121,5,86,179,121,5,5,38,121,5,95,129,121,5,5,42,121,5,74,105,121,5,5,10,121,5,113,115,121,5,5,42,121,5,75,119,121,5,5,28,121,5,72,115,121,5,5,40,121,5,109,103,121,5,5,38,121,5,100,129,121,5,5,28,121,5,122,127,121,5,5,38,121,5,96,129,121,5,5,34,121,5,77,111,121,5,5,34,121,5,5,111,121,5,122,211,121,5,5,30,121,5,89,111,121,5,5,28,121,5,102,135,121,5,5,28,121,5,123,127,121,5,5,42,121,5,75,141,121,5,5,28,121,5,103,135,121,5,5,28,121,5,74,123,121,5,5,30,121,5,114,113,121,5,5,34,121,5,83,135,121,5,5,40,121,5,93,103,121,5,5,28,121,5,110,121,121,5,5,42,121,5,86,121,121,5,5,42,121,5,5,121,121,5,110,219,121,5,5,28,121,5,77,123,121,5,5,42,121,5,5,115,121,5,74,209,121,5,5,40,121,5,108,127,121,5,5,28,121,5,122,117,121,5,5,42,121,5,114,119,121,5,5,42,121,5,115,119,121,5,5,42,121,5,72,121,121,5,5,42,121,5,76,141,121,5,5,40,121,5,88,117,121,5,5,42,121,5,5,115,121,5,100,193,121,5,5,40,121,5,110,105,121,5,5,42,121,5,72,127,121,5,5,42,121,5,75,105,121,5,5,42,121,5,5,103,121,5,99,179,121,5,5,28,121,5,86,137,121,5,5,30,121,5,113,111,121,5,5,42,121,5,5,125,121,5,79,219,121,5,5,28,121,5,104,141,121,5,5,28,121,5,87,137,121,5,5,42,121,5,5,121,121,5,106,185,121,5,5,42,121,5,76,105,121,5,5,34,121,5,5,143,121,5,120,209,121,5,5,34,121,5,107,143,121,5,5,6,121,5,117,121,121,5,5,34,121,5,5,143,121,5,112,209,121,5,5,28,121,5,124,127,121,5,5,42,121,5,81,117,121,5,5,42,121,5,5,121,121,5,120,185,121,5,5,28,121,5,104,135,121,5,5,34,121,5,84,135,121,5,5,42,121,5,5,139,121,5,77,193,121,5,5,42,121,5,86,103,121,5,5,40,121,5,110,103,121,5,5,30,121,5,114,111,121,5,5,42,121,5,76,119,121,5,5,34,121,5,84,143,121,5,5,42,121,5,5,115,121,5,81,211,121,5,5,34,121,5,107,125,121,5,5,42,121,5,85,127,121,5,5,28,121,5,124,125,121,5,5,28,121,5,125,125,121,5,5,28,121,5,119,125,121,5,5,28,121,5,125,127,121,5,5,42,121,5,5,111,121,5,77,209,121,5,5,42,121,5,89,105,121,5,5,28,121,5,123,141,121,5,5,28,121,5,120,125,121,5,5,30,121,5,93,121,121,5,5,40,121,5,94,103,121,5,5,34,121,5,108,143,121,5,5,42,121,5,77,141,121,5,5,34,121,5,5,111,121,5,123,211,121,5,5,30,121,5,94,113,121,5,5,42,121,5,77,129,121,5,5,28,121,5,123,135,121,5,5,40,121,5,5,119,121,5,110,179,121,5,5,42,121,5,5,121,121,5,86,219,121,5,5,34,121,5,85,143,121,5,5,40,121,5,89,117,121,5,5,42,121,5,5,121,121,5,107,185,121,5,5,28,121,5,88,137,121,5,5,28,121,5,89,137,121,5,5,30,121,5,90,111,121,5,5,30,121,5,94,121,121,5,5,28,121,5,90,137,121,5,5,42,121,5,74,103,121,5,5,42,121,5,5,139,121,5,73,209,121,5,5,40,121,5,90,117,121,5,5,42,121,5,90,105,121,5,5,16,121,5,88,115,121,5,5,42,121,5,72,125,121,5,5,42,121,5,5,115,121,5,90,179,121,5,5,40,121,5,91,117,121,5,5,42,121,5,5,119,121,5,117,219,121,5,5,30,121,5,95,113,121,5,5,42,121,5,77,119,121,5,5,40,121,5,5,143,121,5,111,193,121,5,5,42,121,5,71,117,121,5,5,34,121,5,80,113,121,5,5,42,121,5,70,135,121,5,5,40,121,5,93,127,121,5,5,40,121,5,70,143,121,5,5,42,121,5,5,139,121,5,74,185,121,5,5,42,121,5,73,125,121,5,5,42,121,5,78,129,121,5,5,42,121,5,5,121,121,5,87,219,121,5,5,42,121,5,82,117,121,5,5,42,121,5,71,135,121,5,5,40,121,5,5,143,121,5,112,193,121,5,5,38,121,5,5,103,121,5,109,209,121,5,5,38,121,5,5,139,121,5,118,179,121,5,5,36,121,5,70,123,121,5,5,34,121,5,5,143,121,5,121,209,121,5,5,42,121,5,5,139,121,5,75,185,121,5,5,42,121,5,5,119,121,5,96,193,121,5,5,40,121,5,111,103,121,5,5,42,121,5,116,119,121,5,5,38,121,5,118,105,121,5,5,42,121,5,5,121,121,5,111,219,121,5,5,42,121,5,5,115,121,5,93,211,121,5,5,42,121,5,5,121,121,5,88,219,121,5,5,42,121,5,5,137,121,5,76,219,121,5,5,42,121,5,74,125,121,5,5,42,121,5,5,137,121,5,85,193,121,5,5,34,121,5,86,143,121,5,5,42,121,5,5,139,121,5,71,211,121,5,5,30,121,5,96,113,121,5,5,42,121,5,5,115,121,5,94,211,121,5,5,42,121,5,75,125,121,5,5,42,121,5,93,141,121,5,5,40,121,5,101,105,121,5,5,28,121,5,91,137,121,5,5,42,121,5,5,121,121,5,108,185,121,5,5,34,121,5,77,133,121,5,5,34,121,5,78,111,121,5,5,42,121,5,5,119,121,5,83,179,121,5,5,42,121,5,5,119,121,5,97,193,121,5,5,28,121,5,92,137,121,5,5,42,121,5,72,117,121,5,5,24,121,5,82,123,121,5,5,34,121,5,81,133,121,5,5,42,121,5,5,121,121,5,89,219,121,5,5,28,121,5,74,107,121,5,5,28,121,5,93,137,121,5,5,28,121,5,94,137,121,5,5,40,121,5,5,107,121,5,115,179,121,5,5,28,121,5,105,141,121,5,5,42,121,5,5,115,121,5,95,211,121,5,5,42,121,5,5,121,121,5,90,219,121,5,5,38,121,5,119,105,121,5,5,42,121,5,5,121,121,5,91,219,121,5,5,40,121,5,94,127,121,5,5,38,121,5,5,139,121,5,116,179,121,5,5,42,121,5,73,117,121,5,5,16,121,5,89,115,121,5,5,28,121,5,105,135,121,5,5,6,121,5,96,133,121,5,5,42,121,5,79,141,121,5,5,42,121,5,78,141,121,5,5,42,121,5,77,105,121,5,5,42,121,5,87,103,121,5,5,42,121,5,76,125,121,5,5,42,121,5,5,121,121,5,121,185,121,5,5,28,121,5,106,141,121,5,5,6,121,5,118,121,121,5,5,42,121,5,5,119,121,5,84,179,121,5,5,42,121,5,80,141,121,5,5,42,121,5,94,141,121,5,5,42,121,5,78,119,121,5,5,16,121,5,90,115,121,5,5,42,121,5,79,119,121,5,5,40,121,5,95,103,121,5,5,38,121,5,97,129,121,5,5,40,121,5,71,143,121,5,5,30,121,5,91,111,121,5,5,34,121,5,104,129,121,5,5,28,121,5,126,127,121,5,5,28,121,5,123,117,121,5,5,6,121,5,89,123,121,5,5,30,121,5,95,121,121,5,5,42,121,5,5,115,121,5,82,211,121,5,5,34,121,5,5,111,121,5,124,211,121,5,5,42,121,5,5,139,121,5,76,185,121,5,5,6,121,5,86,123,121,5,5,28,121,5,124,117,121,5,5,38,121,5,5,103,121,5,104,209,121,5,5,34,121,5,105,129,121,5,5,28,121,5,95,137,121,5,5,30,121,5,97,113,121,5,5,42,121,5,5,121,121,5,109,185,121,5,5,34,121,5,82,133,121,5,5,42,121,5,72,135,121,5,5,28,121,5,75,107,121,5,5,38,121,5,5,103,121,5,119,211,121,5,5,38,121,5,5,103,121,5,115,211,121,5,5,42,121,5,71,137,121,5,5,34,121,5,110,125,121,5,5,40,121,5,109,127,121,5,5,6,121,5,97,133,121,5,5,42,121,5,78,135,121,5,5,40,121,5,96,103,121,5,5,38,121,5,5,105,121,5,119,179,121,5,5,42,121,5,76,137,121,5,5,30,121,5,115,113,121,5,5,28,121,5,107,141,121,5,5,42,121,5,87,121,121,5,5,42,121,5,5,121,121,5,74,179,121,5,5,40,121,5,97,103,121,5,5,38,121,5,75,111,121,5,5,42,121,5,5,121,121,5,75,179,121,5,5,28,121,5,96,137,121,5,5,42,121,5,73,127,121,5,5,40,121,5,102,105,121,5,5,40,121,5,97,117,121,5,5,40,121,5,92,117,121,5,5,42,121,5,74,127,121,5,5,16,121,5,91,115,121,5,5,40,121,5,111,105,121,5,5,42,121,5,80,119,121,5,5,42,121,5,5,139,121,5,70,185,121,5,5,42,121,5,75,103,121,5,5,42,121,5,5,121,121,5,92,219,121,5,5,42,121,5,5,121,121,5,93,219,121,5,5,42,121,5,81,141,121,5,5,42,121,5,5,121,121,5,111,185,121,5,5,42,121,5,77,125,121,5,5,42,121,5,81,119,121,5,5,42,121,5,5,131,121,5,81,185,121,5,5,42,121,5,5,129,121,5,96,185,121,5,5,42,121,5,73,135,121,5,5,28,121,5,106,135,121,5,5,42,121,5,74,117,121,5,5,40,121,5,5,119,121,5,111,179,121,5,5,42,121,5,95,141,121,5,5,42,121,5,75,127,121,5,5,42,121,5,5,129,121,5,97,185,121,5,5,40,121,5,5,119,121,5,112,179,121,5,5,42,121,5,82,141,121,5,5,24,121,5,83,123,121,5,5,28,121,5,105,117,121,5,5,34,121,5,71,113,121,5,5,34,121,5,108,125,121,5,5,42,121,5,78,125,121,5,5,28,121,5,97,137,121,5,5,6,121,5,86,133,121,5,5,42,121,5,79,129,121,5,5,40,121,5,95,127,121,5,5,30,121,5,92,111,121,5,5,40,121,5,98,103,121,5,5,30,121,5,115,111,121,5,5,34,121,5,5,143,121,5,113,209,121,5,5,28,121,5,125,117,121,5,5,28,121,5,111,121,121,5,5,6,121,5,119,121,121,5,5,28,121,5,98,137,121,5,5,42,121,5,5,103,121,5,106,211,121,5,5,28,121,5,99,137,121,5,5,30,121,5,116,111,121,5,5,42,121,5,91,125,121,5,5,42,121,5,5,105,121,5,95,179,121,5,5,42,121,5,5,121,121,5,112,185,121,5,5,34,121,5,87,143,121,5,5,42,121,5,76,127,121,5,5,16,121,5,105,115,121,5,5,30,121,5,98,113,121,5,5,34,121,5,81,113,121,5,5,28,121,5,108,141,121,5,5,34,121,5,106,129,121,5,5,28,121,5,76,107,121,5,5,34,121,5,5,143,121,5,122,209,121,5,5,28,121,5,100,137,121,5,5,28,121,5,101,137,121,5,5,30,121,5,93,111,121,5,5,42,121,5,78,105,121,5,5,34,121,5,107,129,121,5,5,42,121,5,5,121,121,5,94,219,121,5,5,34,121,5,111,125,121,5,5,38,121,5,5,103,121,5,116,211,121,5,5,42,121,5,5,103,121,5,107,211,121,5,5,38,121,5,100,125,121,5,5,42,121,5,83,117,121,5,5,30,121,5,94,111,121,5,5,40,121,5,96,127,121,5,5,34,121,5,108,129,121,5,5,42,121,5,73,121,121,5,5,6,121,5,98,133,121,5,5,34,121,5,95,135,121,5,5,42,121,5,5,125,121,5,80,219,121,5,5,42,121,5,79,125,121,5,5,42,121,5,5,103,121,5,85,209,121,5,5,6,121,5,87,133,121,5,5,16,121,5,92,115,121,5,5,42,121,5,5,139,121,5,70,209,121,5,5,42,121,5,5,139,121,5,71,185,121,5,5,42,121,5,91,105,121,5,5,42,121,5,96,141,121,5,5,28,121,5,124,141,121,5,5,42,121,5,5,129,121,5,89,193,121,5,5,42,121,5,5,139,121,5,71,209,121,5,5,42,121,5,5,139,121,5,72,209,121,5,5,42,121,5,5,111,121,5,106,193,121,5,5,42,121,5,74,111,121,5,5,42,121,5,5,139,121,5,75,211,121,5,5,28,121,5,73,115,121,5,5,42,121,5,5,121,121,5,110,185,121,5,5,28,121,5,75,123,121,5,5,38,121,5,120,105,121,5,5,40,121,5,110,127,121,5,5,34,121,5,82,113,121,5,5,42,121,5,86,127,121,5,5,42,121,5,72,133,121,5,5,28,121,5,109,141,121,5,5,42,121,5,82,119,121,5,5,34,121,5,96,135,121,5,5,30,121,5,117,111,121,5,5,6,121,5,99,133,121,5,5,42,121,5,5,139,121,5,81,193,121,5,5,28,121,5,74,115,121,5,5,42,121,5,5,119,121,5,118,219,121,5,5,28,121,5,106,117,121,5,5,38,121,5,121,105,121,5,5,34,121,5,5,143,121,5,114,209,121,5,5,34,121,5,5,143,121,5,123,209,121,5,5,42,121,5,117,119,121,5,5,40,121,5,103,105,121,5,5,30,121,5,95,111,121,5,5,42,121,5,76,103,121,5,5,28,121,5,102,137,121,5,5,34,121,5,88,143,121,5,5,42,121,5,5,121,121,5,95,219,121,5,5,40,121,5,5,143,121,5,113,193,121,5,5,42,121,5,5,119,121,5,119,219,121,5,5,40,121,5,99,103,121,5,5,38,121,5,122,105,121,5,5,42,121,5,92,125,121,5,5,28,121,5,103,137,121,5,5,42,121,5,5,119,121,5,120,219,121,5,5,42,121,5,5,115,121,5,91,179,121,5,5,42,121,5,5,137,121,5,74,219,121,5,5,42,121,5,5,121,121,5,90,193,121,5,5,28,121,5,112,121,121,5,5,42,121,5,5,139,121,5,72,211,121,5,5,40,121,5,100,103,121,5,5,42,121,5,83,119,121,5,5,42,121,5,79,105,121,5,5,34,121,5,5,143,121,5,115,209,121,5,5,42,121,5,5,115,121,5,83,211,121,5,5,40,121,5,104,105,121,5,5,42,121,5,77,127,121,5,5,34,121,5,72,113,121,5,5,42,121,5,5,103,121,5,86,209,121,5,5,42,121,5,87,129,121,5,5,34,121,5,89,143,121,5,5,42,121,5,78,127,121,5,5,42,121,5,84,119,121,5,5,34,121,5,80,111,121,5,5,42,121,5,80,125,121,5,5,42,121,5,5,121,121,5,113,185,121,5,5,30,121,5,96,111,121,5,5,38,121,5,101,129,121,5,5,28,121,5,100,121,121,5,5,28,121,5,126,125,121,5,5,28,121,5,107,135,121,5,5,28,121,5,104,137,121,5,5,42,121,5,85,119,121,5,5,42,121,5,5,121,121,5,96,219,121,5,5,34,121,5,109,129,121,5,5,42,121,5,5,103,121,5,108,211,121,5,5,42,121,5,118,119,121,5,5,42,121,5,5,121,121,5,97,219,121,5,5,42,121,5,5,121,121,5,91,193,121,5,5,42,121,5,93,125,121,5,5,42,121,5,119,119,121,5,5,40,121,5,5,143,121,5,122,193,121,5,5,34,121,5,73,113,121,5,5,42,121,5,86,119,121,5,5,40,121,5,97,127,121,5,5,28,121,5,125,141,121,5,5,34,121,5,112,125,121,5,5,42,121,5,5,139,121,5,76,211,121,5,5,42,121,5,5,121,121,5,98,219,121,5,5,6,121,5,88,133,121,5,5,30,121,5,118,111,121,5,5,42,121,5,5,125,121,5,82,219,121,5,5,42,121,5,87,119,121,5,5,38,121,5,5,105,121,5,120,179,121,5,5,42,121,5,81,125,121,5,5,28,121,5,107,117,121,5,5,30,121,5,99,113,121,5,5,42,121,5,88,119,121,5,5,28,121,5,105,137,121,5,5,42,121,5,89,119,121,5,5,16,121,5,93,115,121,5,5,40,121,5,5,119,121,5,113,179,121,5,5,42,121,5,80,105,121,5,5,30,121,5,119,111,121,5,5,24,121,5,79,123,121,5,5,42,121,5,90,119,121,5,5,40,121,5,112,103,121,5,5,42,121,5,74,121,121,5,5,42,121,5,82,125,121,5,5,34,121,5,85,135,121,5,5,42,121,5,5,139,121,5,72,185,121,5,5,42,121,5,72,137,121,5,5,42,121,5,5,119,121,5,121,219,121,5,5,42,121,5,5,131,121,5,84,185,121,5,5,42,121,5,5,129,121,5,91,185,121,5,5,42,121,5,5,139,121,5,77,185,121,5,5,42,121,5,5,115,121,5,92,179,121,5,5,42,121,5,88,103,121,5,5,42,121,5,74,135,121,5,5,42,121,5,5,131,121,5,82,185,121,5,5,42,121,5,5,121,121,5,99,219,121,5,5,28,121,5,124,135,121,5,5,42,121,5,5,121,121,5,114,185,121,5,5,42,121,5,80,129,121,5,5,42,121,5,87,127,121,5,5,42,121,5,5,129,121,5,92,185,121,5,5,42,121,5,83,141,121,5,5,40,121,5,111,127,121,5,5,28,121,5,125,135,121,5,5,42,121,5,84,141,121,5,5,42,121,5,85,141,121,5,5,34,121,5,90,143,121,5,5,42,121,5,73,133,121,5,5,42,121,5,97,141,121,5,5,42,121,5,5,129,121,5,93,185,121,5,5,42,121,5,5,115,121,5,87,179,121,5,5,40,121,5,5,119,121,5,114,179,121,5,5,42,121,5,5,129,121,5,98,185,121,5,5,42,121,5,98,141,121,5,5,40,121,5,101,103,121,5,5,28,121,5,108,135,121,5,5,40,121,5,113,103,121,5,5,28,121,5,77,107,121,5,5,42,121,5,79,127,121,5,5,40,121,5,105,105,121,5,5,34,121,5,5,111,121,5,125,211,121,5,5,30,121,5,120,111,121,5,5,38,121,5,5,139,121,5,117,179,121,5,5,42,121,5,120,119,121,5,5,42,121,5,86,141,121,5,5,42,121,5,5,143,121,5,71,193,121,5,5,42,121,5,91,119,121,5,5,30,121,5,97,111,121,5,5,42,121,5,5,103,121,5,103,179,121,5,5,40,121,5,98,117,121,5,5,42,121,5,5,115,121,5,84,211,121,5,5,40,121,5,106,105,121,5,5,28,121,5,108,117,121,5,5,28,121,5,126,141,121,5,5,30,121,5,116,113,121,5,5,42,121,5,121,119,121,5,5,28,121,5,121,125,121,5,5,28,121,5,113,121,121,5,5,30,121,5,98,111,121,5,5,42,121,5,88,129,121,5,5,28,121,5,106,137,121,5,5,28,121,5,107,137,121,5,5,42,121,5,5,121,121,5,92,193,121,5,5,40,121,5,99,117,121,5,5,28,121,5,126,117,121,5,5,42,121,5,83,125,121,5,5,42,121,5,5,111,121,5,78,209,121,5,5,42,121,5,92,105,121,5,5,42,121,5,5,129,121,5,99,185,121,5,5,42,121,5,5,125,121,5,72,179,121,5,5,42,121,5,5,111,121,5,79,209,121,5,5,40,121,5,114,103,121,5,5,40,121,5,5,143,121,5,114,193,121,5,5,42,121,5,81,129,121,5,5,40,121,5,112,105,121,5,5,34,121,5,5,143,121,5,116,209,121,5,5,42,121,5,92,119,121,5,5,40,121,5,102,103,121,5,5,30,121,5,117,113,121,5,5,28,121,5,109,135,121,5,5,42,121,5,93,105,121,5,5,42,121,5,77,103,121,5,5,42,121,5,93,119,121,5,5,28,121,5,108,137,121,5,5,42,121,5,5,121,121,5,112,219,121,5,5,24,121,5,84,123,121,5,5,34,121,5,113,125,121,5,5,42,121,5,5,121,121,5,100,219,121,5,5,42,121,5,5,121,121,5,115,185,121,5,5,28,121,5,75,115,121,5,5,6,121,5,120,121,121,5,5,42,121,5,94,119,121,5,5,40,121,5,98,127,121,5,5,28,121,5,101,121,121,5,5,28,121,5,109,137,121,5,5,28,121,5,122,125,121,5,5,40,121,5,5,143,121,5,115,193,121,5,5,34,121,5,109,143,121,5,5,42,121,5,73,137,121,5,5,42,121,5,88,121,121,5,5,42,121,5,75,121,121,5,5,34,121,5,5,111,121,5,126,211,121,5,5,40,121,5,5,143,121,5,116,193,121,5,5,28,121,5,110,141,121,5,5,42,121,5,5,139,121,5,82,193,121,5,5,34,121,5,83,133,121,5,5,40,121,5,72,143,121,5,5,30,121,5,99,111,121,5,5,42,121,5,94,105,121,5,5,34,121,5,110,143,121,5,5,34,121,5,91,143,121,5,5,42,121,5,5,139,121,5,73,185,121,5,5,30,121,5,97,121,121,5,5,34,121,5,92,143,121,5,5,28,121,5,126,135,121,5,5,34,121,5,84,133,121,5,5,42,121,5,89,103,121,5,5,42,121,5,5,103,121,5,104,179,121,5,5,40,121,5,100,117,121,5,5,28,121,5,110,137,121,5,5,16,121,5,106,115,121,5,5,34,121,5,93,143,121,5,5,42,121,5,5,121,121,5,101,219,121,5,5,42,121,5,95,119,121,5,5,42,121,5,88,127,121,5,5,42,121,5,122,119,121,5,5,42,121,5,123,119,121,5,5,40,121,5,115,103,121,5,5,42,121,5,5,103,121,5,105,179,121,5,5,40,121,5,73,143,121,5,5,34,121,5,110,129,121,5,5,42,121,5,5,103,121,5,109,211,121,5,5,42,121,5,5,103,121,5,99,211,121,5,5,42,121,5,94,125,121,5,5,42,121,5,84,117,121,5,5,38,121,5,5,103,121,5,105,209,121,5,5,30,121,5,118,113,121,5,5,28,121,5,109,117,121,5,5,42,121,5,5,103,121,5,109,193,121,5,5,42,121,5,5,121,121,5,79,179,121,5,5,42,121,5,5,121,121,5,80,179,121,5,5,28,121,5,111,141,121,5,5,28,121,5,76,123,121,5,5,34,121,5,83,113,121,5,5,34,121,5,5,143,121,5,117,209,121,5,5,40,121,5,5,115,121,5,101,209,121,5,5,40,121,5,103,103,121,5,5,42,121,5,5,103,121,5,106,179,121,5,5,24,121,5,80,123,121,5,5,42,121,5,5,121,121,5,76,179,121,5,5,42,121,5,5,121,121,5,77,179,121,5,5,34,121,5,114,125,121,5,5,28,121,5,76,115,121,5,5,16,121,5,94,115,121,5,5,42,121,5,5,121,121,5,81,179,121,5,5,42,121,5,96,119,121,5,5,40,121,5,99,127,121,5,5,30,121,5,100,113,121,5,5,40,121,5,5,129,121,5,99,209,121,5,5,42,121,5,76,121,121,5,5,30,121,5,119,113,121,5,5,42,121,5,87,141,121,5,5,42,121,5,77,121,121,5,5,34,121,5,111,129,121,5,5,6,121,5,121,121,121,5,5,42,121,5,88,141,121,5,5,30,121,5,120,113,121,5,5,40,121,5,107,105,121,5,5,34,121,5,94,143,121,5,5,40,121,5,5,129,121,5,98,209,121,5,5,34,121,5,95,143,121,5,5,28,121,5,110,117,121,5,5,42,121,5,5,121,121,5,78,179,121,5,5,42,121,5,5,115,121,5,101,193,121,5,5,40,121,5,5,115,121,5,102,209,121,5,5,28,121,5,114,121,121,5,5,28,121,5,102,121,121,5,5,28,121,5,103,121,121,5,5,40,121,5,116,103,121,5,5,42,121,5,5,119,121,5,98,193,121,5,5,38,121,5,123,105,121,5,5,30,121,5,101,113,121,5,5,40,121,5,5,143,121,5,117,193,121,5,5,42,121,5,124,119,121,5,5,30,121,5,100,111,121,5,5,42,121,5,5,121,121,5,102,219,121,5,5,42,121,5,5,115,121,5,96,211,121,5,5,42,121,5,89,129,121,5,5,40,121,5,5,143,121,5,123,193,121,5,5,6,121,5,100,133,121,5,5,42,121,5,5,121,121,5,103,219,121,5,5,40,121,5,117,103,121,5,5,42,121,5,97,119,121,5,5,16,121,5,107,115,121,5,5,42,121,5,5,119,121,5,122,219,121,5,5,42,121,5,5,139,121,5,78,193,121,5,5,42,121,5,5,121,121,5,116,185,121,5,5,30,121,5,101,111,121,5,5,42,121,5,5,115,121,5,104,193,121,5,5,34,121,5,111,143,121,5,5,28,121,5,111,137,121,5,5,34,121,5,96,143,121,5,5,42,121,5,5,103,121,5,87,209,121,5,5,34,121,5,74,113,121,5,5,28,121,5,110,135,121,5,5,30,121,5,121,113,121,5,5,34,121,5,97,143,121,5,5,34,121,5,115,125,121,5,5,42,121,5,98,119,121,5,5,40,121,5,112,127,121,5,5,6,121,5,101,133,121,5,5,42,121,5,84,125,121,5,5,42,121,5,5,129,121,5,100,185,121,5,5,42,121,5,5,143,121,5,72,193,121,5,5,42,121,5,90,103,121,5,5,30,121,5,121,111,121,5,5,6,121,5,90,123,121,5,5,30,121,5,117,125,121,5,5,6,121,5,87,123,121,5,5,34,121,5,98,143,121,5,5,40,121,5,104,103,121,5,5,40,121,5,5,143,121,5,124,193,121,5,5,30,121,5,122,111,121,5,5,28,121,5,112,141,121,5,5,42,121,5,89,141,121,5,5,42,121,5,5,139,121,5,73,211,121,5,5,42,121,5,5,139,121,5,77,211,121,5,5,34,121,5,86,135,121,5,5,42,121,5,79,135,121,5,5,42,121,5,5,105,121,5,96,179,121,5,5,40,121,5,118,103,121,5,5,28,121,5,78,107,121,5,5,38,121,5,5,103,121,5,106,209,121,5,5,34,121,5,87,135,121,5,5,42,121,5,5,121,121,5,113,219,121,5,5,42,121,5,80,127,121,5,5,40,121,5,93,117,121,5,5,28,121,5,111,135,121,5,5,38,121,5,124,105,121,5,5,42,121,5,99,119,121,5,5,42,121,5,5,137,121,5,77,219,121,5,5,42,121,5,5,137,121,5,75,219,121,5,5,42,121,5,5,115,121,5,85,211,121,5,5,34,121,5,88,135,121,5,5,42,121,5,5,115,121,5,86,211,121,5,5,34,121,5,116,125,121,5,5,40,121,5,5,143,121,5,109,179,121,5,5,38,121,5,101,125,121,5,5,16,121,5,108,115,121,5,5,34,121,5,78,133,121,5,5,42,121,5,85,125,121,5,5,30,121,5,102,113,121,5,5,16,121,5,109,115,121,5,5,28,121,5,104,121,121,5,5,34,121,5,89,135,121,5,5,34,121,5,99,143,121,5,5,28,121,5,112,137,121,5,5,28,121,5,83,115,121,5,5,28,121,5,77,115,121,5,5,42,121,5,5,139,121,5,70,219,121,5,5,28,121,5,78,115,121,5,5,28,121,5,113,141,121,5,5,42,121,5,5,103,121,5,88,209,121,5,5,42,121,5,74,133,121,5,5,42,121,5,100,119,121,5,5,40,121,5,105,103,121,5,5,28,121,5,111,117,121,5,5,42,121,5,78,121,121,5,5,34,121,5,112,129,121,5,5,38,121,5,125,105,121,5,5,30,121,5,102,111,121,5,5,30,121,5,123,111,121,5,5,40,121,5,5,143,121,5,118,193,121,5,5,42,121,5,86,125,121,5,5,28,121,5,79,115,121,5,5,42,121,5,5,121,121,5,104,219,121,5,5,42,121,5,78,103,121,5,5,30,121,5,98,121,121,5,5,42,121,5,5,103,121,5,92,209,121,5,5,42,121,5,5,115,121,5,87,211,121,5,5,34,121,5,112,143,121,5,5,6,121,5,122,121,121,5,5,40,121,5,119,103,121,5,5,42,121,5,5,103,121,5,93,209,121,5,5,42,121,5,79,121,121,5,5,30,121,5,103,111,121,5,5,34,121,5,79,133,121,5,5,34,121,5,81,111,121,5,5,28,121,5,112,135,121,5,5,34,121,5,113,129,121,5,5,42,121,5,5,131,121,5,83,185,121,5,5,28,121,5,115,121,121,5,5,28,121,5,113,137,121,5,5,30,121,5,104,111,121,5,5,28,121,5,113,135,121,5,5,40,121,5,120,103,121,5,5,42,121,5,101,119,121,5,5,42,121,5,5,129,121,5,101,185,121,5,5,34,121,5,84,113,121,5,5,42,121,5,102,119,121,5,5,40,121,5,5,143,121,5,125,193,121,5,5,34,121,5,85,113,121,5,5,40,121,5,94,117,121,5,5,28,121,5,114,135,121,5,5,42,121,5,75,117,121,5,5,34,121,5,86,113,121,5,5,28,121,5,114,141,121,5,5,34,121,5,113,143,121,5,5,42,121,5,95,105,121,5,5,42,121,5,5,129,121,5,78,219,121,5,5,42,121,5,5,129,121,5,94,185,121,5,5,30,121,5,103,113,121,5,5,16,121,5,95,115,121,5,5,28,121,5,112,117,121,5,5,30,121,5,105,111,121,5,5,28,121,5,113,117,121,5,5,42,121,5,103,119,121,5,5,42,121,5,5,103,121,5,100,179,121,5,5,42,121,5,89,127,121,5,5,34,121,5,79,111,121,5,5,42,121,5,72,111,121,5,5,42,121,5,104,119,121,5,5,42,121,5,74,137,121,5,5,42,121,5,75,133,121,5,5,42,121,5,76,133,121,5,5,34,121,5,100,143,121,5,5,30,121,5,124,111,121,5,5,42,121,5,87,125,121,5,5,28,121,5,105,121,121,5,5,42,121,5,5,121,121,5,95,193,121,5,5,42,121,5,5,103,121,5,100,211,121,5,5,42,121,5,5,121,121,5,105,219,121,5,5,28,121,5,115,135,121,5,5,42,121,5,79,103,121,5,5,42,121,5,105,119,121,5,5,28,121,5,106,121,121,5,5,34,121,5,5,143,121,5,120,211,121,5,5,42,121,5,81,105,121,5,5,28,121,5,115,141,121,5,5,16,121,5,110,115,121,5,5,16,121,5,96,115,121,5,5,42,121,5,5,115,121,5,102,193,121,5,5,28,121,5,116,135,121,5,5,28,121,5,116,141,121,5,5,40,121,5,100,127,121,5,5,30,121,5,125,111,121,5,5,40,121,5,74,143,121,5,5,28,121,5,114,117,121,5,5,28,121,5,114,137,121,5,5,40,121,5,113,127,121,5,5,30,121,5,104,113,121,5,5,34,121,5,82,111,121,5,5,28,121,5,117,135,121,5,5,30,121,5,126,111,121,5,5,38,121,5,102,125,121,5,5,34,121,5,114,143,121,5,5,42,121,5,5,143,121,5,73,193,121,5,5,40,121,5,108,105,121,5,5,42,121,5,5,105,121,5,97,179,121,5,5,34,121,5,83,111,121,5,5,42,121,5,82,105,121,5,5,42,121,5,5,129,121,5,95,185,121,5,5,42,121,5,5,139,121,5,79,193,121,5,5,28,121,5,107,121,121,5,5,42,121,5,5,139,121,5,78,185,121,5,5,42,121,5,73,111,121,5,5,40,121,5,77,143,121,5,5,30,121,5,106,111,121,5,5,42,121,5,90,129,121,5,5,28,121,5,115,117,121,5,5,6,121,5,89,133,121,5,5,42,121,5,5,143,121,5,70,193,121,5,5,42,121,5,80,121,121,5,5,42,121,5,83,105,121,5,5,42,121,5,95,125,121,5,5,6,121,5,91,123,121,5,5,6,121,5,123,121,121,5,5,28,121,5,115,137,121,5,5,42,121,5,88,125,121,5,5,6,121,5,124,121,121,5,5,28,121,5,117,141,121,5,5,34,121,5,114,129,121,5,5,28,121,5,116,137,121,5,5,42,121,5,5,131,121,5,85,185,121,5,5,34,121,5,75,113,121,5,5,42,121,5,84,105,121,5,5,28,121,5,117,137,121,5,5,42,121,5,75,135,121,5,5,42,121,5,5,103,121,5,94,209,121,5,5,30,121,5,105,113,121,5,5,42,121,5,5,131,121,5,86,185,121,5,5,28,121,5,118,135,121,5,5,42,121,5,85,117,121,5,5,42,121,5,5,103,121,5,101,179,121,5,5,42,121,5,81,121,121,5,5,42,121,5,91,129,121,5,5,28,121,5,116,121,121,5,5,42,121,5,5,137,121,5,86,193,121,5,5,28,121,5,118,141,121,5,5,42,121,5,106,119,121,5,5,28,121,5,116,117,121,5,5,42,121,5,86,117,121,5,5,42,121,5,5,121,121,5,93,193,121,5,5,42,121,5,99,141,121,5,5,42,121,5,107,119,121,5,5,28,121,5,117,117,121,5,5,34,121,5,115,143,121,5,5,40,121,5,101,127,121,5,5,40,121,5,109,105,121,5,5,42,121,5,82,121,121,5,5,38,121,5,5,103,121,5,107,209,121,5,5,30,121,5,107,111,121,5,5,40,121,5,5,115,121,5,100,209,121,5,5,42,121,5,5,121,121,5,114,219,121,5,5,42,121,5,80,103,121,5,5,42,121,5,89,125,121,5,5,34,121,5,80,133,121,5,5,42,121,5,5,115,121,5,88,179,121,5,5,42,121,5,5,115,121,5,105,193,121,5,5,34,121,5,90,135,121,5,5,34,121,5,115,129,121,5,5,38,121,5,126,105,121,5,5,40,121,5,106,103,121,5,5,6,121,5,125,121,121,5,5,6,121,5,102,133,121,5,5,34,121,5,116,143,121,5,5,28,121,5,118,137,121,5,5,30,121,5,122,113,121,5,5,28,121,5,119,137,121,5,5,30,121,5,106,113,121,5,5,42,121,5,76,117,121,5,5,30,121,5,123,113,121,5,5,30,121,5,108,111,121,5,5,30,121,5,124,113,121,5,5,34,121,5,87,113,121,5,5,6,121,5,90,133,121,5,5,34,121,5,101,143,121,5,5,42,121,5,76,135,121,5,5,28,121,5,80,115,121,5,5,42,121,5,5,103,121,5,108,193,121,5,5,28,121,5,81,115,121,5,5,42,121,5,5,103,121,5,95,209,121,5,5,40,121,5,78,143,121,5,5,42,121,5,5,139,121,5,83,193,121,5,5,42,121,5,96,125,121,5,5,34,121,5,116,129,121,5,5,38,121,5,103,125,121,5,5,42,121,5,82,129,121,5,5,38,121,5,98,129,121,5,5,30,121,5,109,111,121,5,5,34,121,5,76,113,121,5,5,40,121,5,5,143,121,5,112,211,121,5,5,28,121,5,121,137,121,5,5,28,121,5,120,137,121,5,5,6,121,5,126,121,121,5,5,42,121,5,81,103,121,5,5,42,121,5,5,121,121,5,106,219,121,5,5,28,121,5,119,135,121,5,5,34,121,5,77,113,121,5,5,28,121,5,122,137,121,5,5,40,121,5,75,143,121,5,5,42,121,5,85,105,121,5,5,42,121,5,5,121,121,5,117,185,121,5,5,16,121,5,111,115,121,5,5,30,121,5,110,111,121,5,5,42,121,5,5,103,121,5,110,211,121,5,5,42,121,5,5,103,121,5,107,179,121,5,5,34,121,5,84,111,121,5,5,34,121,5,5,143,121,5,124,209,121,5,5,34,121,5,117,129,121,5,5,40,121,5,121,103,121,5,5,28,121,5,123,137,121,5,5,34,121,5,118,129,121,5,5,38,121,5,5,103,121,5,110,209,121,5,5,42,121,5,92,129,121,5,5,42,121,5,81,127,121,5,5,42,121,5,5,119,121,5,85,179,121,5,5,34,121,5,91,135,121,5,5,30,121,5,107,113,121,5,5,34,121,5,119,129,121,5,5,42,121,5,96,105,121,5,5,28,121,5,119,141,121,5,5,42,121,5,77,117,121,5,5,42,121,5,5,139,121,5,79,185,121,5,5,28,121,5,124,137,121,5,5,28,121,5,79,107,121,5,5,34,121,5,5,143,121,5,118,209,121,5,5,42,121,5,5,125,121,5,83,219,121,5,5,42,121,5,5,103,121,5,89,209,121,5,5,28,121,5,118,117,121,5,5,42,121,5,5,115,121,5,88,211,121,5,5,34,121,5,5,143,121,5,125,209,121,5,5,34,121,5,120,129,121,5,5,34,121,5,121,129,121,5,5,34,121,5,117,143,121,5,5,30,121,5,125,113,121,5,5,42,121,5,91,103,121,5,5,28,121,5,125,137,121,5,5,34,121,5,5,143,121,5,119,209,121,5,5,24,121,5,81,123,121,5,5,34,121,5,122,129,121,5,5,42,121,5,5,121,121,5,115,219,121,5,5,42,121,5,108,119,121,5,5,40,121,5,114,127,121,5,5,42,121,5,5,125,121,5,81,219,121,5,5,42,121,5,5,129,121,5,102,185,121,5,5,42,121,5,5,121,121,5,82,179,121,5,5,16,121,5,112,115,121,5,5,40,121,5,115,127,121,5,5,40,121,5,95,117,121,5,5,42,121,5,5,103,121,5,101,211,121,5,5,16,121,5,97,115,121,5,5,42,121,5,5,121,121,5,94,193,121,5,5,42,121,5,5,103,121,5,102,211,121,5,5,38,121,5,5,139,121,5,103,209,121,5,5,42,121,5,5,103,121,5,96,209,121,5,5,6,121,5,103,133,121,5,5,34,121,5,118,143,121,5,5,40,121,5,76,143,121,5,5,40,121,5,96,117,121,5,5,42,121,5,5,103,121,5,103,211,121,5,5,30,121,5,108,113,121,5,5,42,121,5,5,103,121,5,90,209,121,5,5,30,121,5,126,113,121,5,5,42,121,5,5,121,121,5,107,219,121,5,5,30,121,5,109,113,121,5,5,38,121,5,105,125,121,5,5,42,121,5,5,111,121,5,75,209,121,5,5,42,121,5,77,137,121,5,5,34,121,5,102,143,121,5,5,30,121,5,111,111,121,5,5,34,121,5,123,129,121,5,5,40,121,5,113,105,121,5,5,28,121,5,119,117,121,5,5,42,121,5,82,103,121,5,5,40,121,5,114,105,121,5,5,30,121,5,110,113,121,5,5,34,121,5,88,113,121,5,5,42,121,5,5,115,121,5,89,179,121,5,5,42,121,5,83,121,121,5,5,40,121,5,79,143,121,5,5,42,121,5,78,117,121,5,5,28,121,5,120,135,121,5,5,42,121,5,109,119,121,5,5,42,121,5,5,115,121,5,103,193,121,5,5,28,121,5,120,117,121,5,5,40,121,5,107,103,121,5,5,42,121,5,5,143,121,5,74,193,121,5,5,42,121,5,97,105,121,5,5,42,121,5,97,125,121,5,5,42,121,5,5,115,121,5,89,211,121,5,5,38,121,5,104,125,121,5,5,34,121,5,85,133,121,5,5,30,121,5,111,113,121,5,5,42,121,5,110,119,121,5,5,40,121,5,103,127,121,5,5,40,121,5,102,127,121,5,5,28,121,5,82,115,121,5,5,42,121,5,90,127,121,5,5,42,121,5,93,129,121,5,5,42,121,5,100,141,121,5,5,6,121,5,104,133,121,5,5,6,121,5,91,133,121,5,5,40,121,5,5,143,121,5,119,193,121,5,5,34,121,5,103,143,121,5,5,42,121,5,86,105,121,5,5,34,121,5,124,129,121,5,5,40,121,5,104,127,121,5,5,42,121,5,89,121,121,5,5,42,121,5,82,127,121,5,5,42,121,5,5,111,121,5,76,209,121,5,5,34,121,5,92,135,121,5,5,16,121,5,98,115,121,5,5,42,121,5,5,121,121,5,118,185,121,5,5,16,121,5,99,115,121,5,5,38,121,5,102,129,121,5,5,42,121,5,87,105,121,5,5,34,121,5,78,113,121,5,5,40,121,5,116,127,121,5,5,34,121,5,89,113,121,5,5,40,121,5,80,143,121,5,5,42,121,5,78,137,121,5,5,30,121,5,99,121,121,5,5,42,121,5,5,115,121,5,93,179,121,5,5,38,121,5,99,129,121,5,5,28,121,5,121,135,121,5,5,42,121,5,98,105,121,5,5,34,121,5,119,143,121,5,5,34,121,5,125,129,121,5,5,42,121,5,83,103,121,5,5,42,121,5,5,121,121,5,119,185,121,5,5,40,121,5,117,127,121,5,5,42,121,5,98,125,121,5,5,34,121,5,120,143,121,5,5,34,121,5,121,143,121,5,5,42,121,5,79,137,121,5,5,34,121,5,122,143,121,5,5,42,121,5,5,103,121,5,102,179,121,5,5,34,121,5,93,135,121,5,5,42,121,5,5,137,121,5,87,193,121,5,5,42,121,5,5,103,121,5,108,179,121,5,5,42,121,5,5,103,121,5,91,209,121,5,5,6,121,5,105,133,121,5,5,16,121,5,100,115,121,5,5,42,121,5,77,135,121,5,5,42,121,5,5,121,121,5,108,219,121,5,5,42,121,5,5,125,121,5,84,219,121,5,5,16,121,5,101,115,121,5,5,42,121,5,5,139,121,5,70,179,121,5,5,42,121,5,5,143,121,5,75,193,121,5,5,30,121,5,112,113,121,5,5,34,121,5,104,143,121,5,5,42,121,5,5,139,121,5,84,193,121,5,5,30,121,5,112,111,121,5,5,42,121,5,90,121,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,67,0,50,0,59,0,19,46,0,16,56,5,0,96,1,0,0,96,170,170,170,170,162,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,72,0,0,0,72,1,0,0,168,24,0,0,168,24,0,0,176,24,0,0,176,24,0,0,244,24,0,0,244,24,0,0,82,34,0,0,138,38,0,0,18,0,0,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,39,246,247,248,249,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,254,255,50,105,114,84,1,0,64,8,109,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,92,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,5,212,55,18,254,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,0,198,1,0,0,0,1,12,128,107,2,117,152,75,1,254,158,187,0,7,249,74,0,196,249,38,0,10,250,20,0,10,250,255,255,25,253,193,42,30,250,255,255,195,252,193,136,60,250,255,255,135,251,193,8,149,250,255,255,11,252,193,192,206,250,255,255,224,253,193,118,196,249,255,255,224,253,193,12,233,249,255,255,98,253,193,98,247,249,255,255,152,252,193,118,8,250,255,255,15,253,193,118,64,249,16,0,64,249,255,255,209,253,193,178,113,249,255,255,78,253,193,128,129,249,255,255,106,251,193,100,138,249,255,255,42,251,193,8,7,249,255,255,224,253,193,118,8,249,255,255,224,253,193,118,10,249,255,255,98,253,193,242,52,249,255,255,198,252,193,84,127,159,75,0,159,159,57,0,159,159,255,255,224,253,193,218,160,159,255,255,224,253,193,236,126,216,4,0,2,249,255,255,70,253,193,218,9,0,210,221,20,0,210,221,255,255,45,253,193,112,21,222,255,255,213,253,193,94,23,222,255,255,217,253,193,36,24,222,255,255,217,253,193,222,28,222,255,255,219,253,193,240,29,220,255,255,34,251,193,200,117,220,255,255,130,251,193,144,120,220,255,255,135,251,193,8,144,220,255,255,160,251,193,102,196,221,255,255,16,253,193,52,127,159,255,255,223,253,193,110,141,159,255,255,224,253,193,12,153,159,255,255,224,253,193,96,156,159,255,255,224,253,193,118,59,159,16,0,59,159,255,255,219,253,193,240,74,159,255,255,220,253,193,176,80,159,255,255,220,253,193,236,82,159,255,255,220,253,193,248,254,158,255,255,217,253,193,222,14,159,255,255,218,253,193,6,19,159,255,255,218,253,193,62,32,159,255,255,218,253,193,220,50,155,70,0,165,158,34,0,205,158,16,0,205,158,255,255,214,253,193,124,209,158,255,255,214,253,193,252,249,158,255,255,217,253,193,36,253,158,255,255,217,253,193,62,165,158,255,255,211,253,193,56,166,158,255,255,212,253,193,196,187,158,255,255,213,253,193,94,195,158,255,255,213,253,193,210,229,156,16,0,229,156,255,255,195,253,193,218,31,158,255,255,206,253,193,72,117,158,255,255,208,253,193,240,127,158,255,255,209,253,193,178,50,155,255,255,180,253,193,172,60,155,255,255,181,253,193,166,90,155,255,255,184,253,193,2,124,156,255,255,193,253,193,64,153,153,34,0,216,154,16,0,216,154,255,255,175,253,193,232,223,154,255,255,176,253,193,186,37,155,255,255,180,253,193,58,47,155,255,255,180,253,193,136,153,153,255,255,164,253,193,252,172,153,255,255,165,253,193,208,108,154,255,255,171,253,193,244,168,154,255,255,173,253,193,168,222,152,16,0,222,152,255,255,157,253,193,164,223,152,255,255,157,253,193,170,99,153,255,255,163,253,193,20,150,153,255,255,164,253,193,110,117,152,255,255,153,253,193,70,168,152,255,255,154,253,193,82,206,152,255,255,156,253,193,242,219,152,255,255,157,253,193,122,100,141,142,0,127,149,70,0,94,151,34,0,230,151,16,0,230,151,255,255,147,253,193,30,237,151,255,255,147,253,193,108,243,151,255,255,147,253,193,184,1,152,255,255,148,253,193,142,94,151,255,255,140,253,193,44,98,151,255,255,140,253,193,152,105,151,255,255,141,253,193,160,203,151,255,255,145,253,193,196,182,150,16,0,182,150,255,255,131,253,193,186,185,150,255,255,131,253,193,228,232,150,255,255,134,253,193,178,81,151,255,255,139,253,193,216,127,149,255,255,120,253,193,2,128,149,255,255,120,253,193,6,232,149,255,255,124,253,193,84,28,150,255,255,125,253,193,154,181,143,34,0,204,145,16,0,204,145,255,255,98,253,193,98,209,145,255,255,98,253,193,242,133,148,255,255,114,253,193,86,119,149,255,255,118,253,193,200,181,143,255,255,78,253,193,176,145,144,255,255,87,253,193,98,73,145,255,255,93,253,193,148,198,145,255,255,98,253,193,30,202,142,16,0,202,142,255,255,70,253,193,218,102,143,255,255,76,253,193,100,155,143,255,255,77,253,193,186,176,143,255,255,78,253,193,128,100,141,255,255,54,253,193,190,112,141,255,255,55,253,193,84,179,141,255,255,59,253,193,84,171,142,255,255,68,253,193,230,107,134,70,0,0,138,34,0,85,140,16,0,85,140,255,255,45,253,193,112,120,140,255,255,47,253,193,36,157,140,255,255,48,253,193,190,29,141,255,255,53,253,193,202,0,138,255,255,30,253,193,38,160,139,255,255,40,253,193,192,55,140,255,255,43,253,193,160,70,140,255,255,44,253,193,90,126,137,16,0,126,137,255,255,24,253,193,136,139,137,255,255,25,253,193,42,193,137,255,255,27,253,193,148,210,137,255,255,27,253,193,240,107,134,255,255,254,252,193,150,64,136,255,255,14,253,193,202,76,136,255,255,15,253,193,118,99,136,255,255,16,253,193,52,252,129,34,0,110,130,16,0,110,130,255,255,222,252,193,106,114,130,255,255,222,252,193,140,120,130,255,255,223,252,193,6,77,134,255,255,252,252,193,174,252,129,255,255,217,252,193,10,12,130,255,255,218,252,193,106,27,130,255,255,219,252,193,90,31,130,255,255,219,252,193,128,137,128,16,0,137,128,255,255,203,252,193,226,227,129,255,255,215,252,193,90,234,129,255,255,215,252,193,222,243,129,255,255,216,252,193,152,12,128,255,255,198,252,193,214,18,128,255,255,199,252,193,40,51,128,255,255,200,252,193,74,127,128,255,255,203,252,193,128,54,98,30,1,132,115,142,0,226,119,70,0,115,124,34,0,81,127,16,0,81,127,255,255,189,252,193,238,138,127,255,255,193,252,193,14,189,127,255,255,195,252,193,136,1,128,255,255,198,252,193,84,115,124,255,255,168,252,193,76,248,124,255,255,174,252,193,70,159,126,255,255,185,252,193,220,54,127,255,255,188,252,193,198,190,121,16,0,190,121,255,255,140,252,193,156,116,122,255,255,148,252,193,22,203,122,255,255,152,252,193,118,249,122,255,255,154,252,193,154,226,119,255,255,124,252,193,16,243,119,255,255,125,252,193,134,58,121,255,255,134,252,193,210,184,121,255,255,140,252,193,88,139,117,34,0,174,118,16,0,174,118,255,255,109,252,193,26,191,118,255,255,110,252,193,184,238,118,255,255,113,252,193,128,219,119,255,255,123,252,193,54,139,117,255,255,98,252,193,100,146,117,255,255,98,252,193,176,118,118,255,255,106,252,193,156,125,118,255,255,106,252,193,250,24,117,16,0,24,117,255,255,92,252,193,188,31,117,255,255,93,252,193,36,40,117,255,255,93,252,193,208,48,117,255,255,94,252,193,32,132,115,255,255,79,252,193,112,137,115,255,255,79,252,193,132,220,116,255,255,89,252,193,158,230,116,255,255,90,252,193,104,179,107,70,0,42,114,34,0,71,114,16,0,71,114,255,255,66,252,193,252,89,114,255,255,68,252,193,28,91,114,255,255,68,252,193,94,172,114,255,255,72,252,193,46,42,114,255,255,64,252,193,48,54,114,255,255,65,252,193,150,59,114,255,255,65,252,193,218,63,114,255,255,66,252,193,14,15,108,16,0,15,108,255,255,20,252,193,236,20,108,255,255,21,252,193,54,52,108,255,255,21,252,193,230,107,112,255,255,48,252,193,142,179,107,255,255,14,252,193,174,203,107,255,255,16,252,193,104,212,107,255,255,16,252,193,180,219,107,255,255,17,252,193,22,224,101,34,0,40,103,16,0,40,103,255,255,235,251,193,114,32,107,255,255,6,252,193,188,98,107,255,255,9,252,193,190,121,107,255,255,11,252,193,192,224,101,255,255,222,251,193,42,229,101,255,255,222,251,193,86,240,102,255,255,232,251,193,90,8,103,255,255,233,251,193,86,135,101,16,0,135,101,255,255,217,251,193,254,151,101,255,255,218,251,193,178,164,101,255,255,219,251,193,74,185,101,255,255,220,251,193,68,54,98,255,255,190,251,193,162,75,98,255,255,191,251,193,156,47,101,255,255,212,251,193,60,52,101,255,255,212,251,193,230,215,86,142,0,219,93,70,0,254,94,34,0,97,95,16,0,97,95,255,255,165,251,193,122,115,95,255,255,166,251,193,88,195,95,255,255,169,251,193,252,8,98,255,255,188,251,193,76,254,94,255,255,160,251,193,102,11,95,255,255,161,251,193,108,19,95,255,255,161,251,193,216,80,95,255,255,164,251,193,210,114,94,16,0,114,94,255,255,153,251,193,170,122,94,255,255,154,251,193,90,127,94,255,255,154,251,193,218,244,94,255,255,159,251,193,254,219,93,255,255,147,251,193,66,229,93,255,255,147,251,193,210,241,93,255,255,148,251,193,132,254,93,255,255,149,251,193,20,80,91,34,0,34,92,16,0,34,92,255,255,130,251,193,144,56,92,255,255,131,251,193,192,110,92,255,255,135,251,193,8,113,92,255,255,135,251,193,128,80,91,255,255,119,251,193,108,128,91,255,255,121,251,193,174,248,91,255,255,128,251,193,22,15,92,255,255,129,251,193,34,10,89,16,0,10,89,255,255,100,251,193,232,21,89,255,255,101,251,193,136,39,89,255,255,102,251,193,204,115,89,255,255,106,251,193,100,215,86,255,255,83,251,193,76,31,87,255,255,85,251,193,186,235,88,255,255,99,251,193,220,2,89,255,255,100,251,193,178,224,81,70,0,65,83,34,0,130,83,16,0,130,83,255,255,50,251,193,178,182,83,255,255,53,251,193,120,200,83,255,255,54,251,193,122,227,83,255,255,56,251,193,112,65,83,255,255,47,251,193,180,92,83,255,255,49,251,193,44,100,83,255,255,209,253,193,152,105,83,255,255,49,251,193,240,249,82,16,0,249,82,255,255,44,251,193,244,21,83,255,255,45,251,193,234,26,83,255,255,46,251,193,82,56,83,255,255,47,251,193,118,224,81,255,255,33,251,193,196,245,81,255,255,34,251,193,200,0,82,255,255,35,251,193,132,155,82,255,255,42,251,193,8,160,78,34,0,107,81,16,0,107,81,255,255,28,251,193,74,130,81,255,255,29,251,193,104,150,81,255,255,30,251,193,74,171,81,255,255,31,251,193,62,160,78,255,255,8,251,193,232,186,78,255,255,10,251,193,68,63,81,255,255,26,251,193,4,101,81,255,255,27,251,193,188,63,78,16,0,63,78,255,255,4,251,193,252,89,78,255,255,6,251,193,26,133,78,255,255,7,251,193,248,140,78,255,255,8,251,193,74,0,78,255,255,2,251,193,2,40,78,255,255,4,251,193,60,44,78,255,255,66,252,193,246,54,78,255,255,4,251,193,200,26,130,246,1,0,78,1,78,40,78,41,78,44,78,45,78,54,78,55,78,63,78,64,78,89,78,90,78,133,78,134,78,140,78,141,78,160,78,161,78,186,78,187,78,63,81,64,81,101,81,102,81,107,81,108,81,130,81,131,81,150,81,151,81,171,81,172,81,224,81,225,81,245,81,246,81,0,82,1,82,155,82,156,82,249,82,250,82,21,83,22,83,26,83,27,83,56,83,57,83,65,83,66,83,92,83,93,83,100,83,101,83,105,83,106,83,130,83,131,83,182,83,183,83,200,83,201,83,227,83,228,83,215,86,216,86,31,87,32,87,235,88,236,88,2,89,3,89,10,89,11,89,21,89,22,89,39,89,40,89,115,89,116,89,80,91,81,91,128,91,129,91,248,91,249,91,15,92,16,92,34,92,35,92,56,92,57,92,110,92,111,92,113,92,114,92,219,93,220,93,229,93,230,93,241,93,242,93,254,93,255,93,114,94,115,94,122,94,123,94,127,94,128,94,244,94,245,94,254,94,255,94,11,95,12,95,19,95,20,95,80,95,81,95,97,95,98,95,115,95,116,95,195,95,196,95,8,98,9,98,54,98,55,98,75,98,76,98,47,101,48,101,52,101,53,101,135,101,136,101,151,101,152,101,164,101,165,101,185,101,186,101,224,101,225,101,229,101,230,101,240,102,241,102,8,103,9,103,40,103,41,103,32,107,33,107,98,107,99,107,121,107,122,107,179,107,180,107,203,107,204,107,212,107,213,107,219,107,220,107,15,108,16,108,20,108,21,108,52,108,53,108,107,112,108,112,42,114,43,114,54,114,55,114,59,114,60,114,63,114,64,114,71,114,72,114,89,114,90,114,91,114,92,114,172,114,173,114,132,115,133,115,137,115,138,115,220,116,221,116,230,116,231,116,24,117,25,117,31,117,32,117,40,117,41,117,48,117,49,117,139,117,140,117,146,117,147,117,118,118,119,118,125,118,126,118,174,118,175,118,191,118,192,118,238,118,239,118,219,119,220,119,226,119,227,119,243,119,244,119,58,121,59,121,184,121,185,121,190,121,191,121,116,122,117,122,203,122,204,122,249,122,250,122,115,124,116,124,248,124,249,124,159,126,160,126,54,127,55,127,81,127,82,127,138,127,139,127,189,127,190,127,1,128,2,128,12,128,13,128,18,128,19,128,51,128,52,128,127,128,128,128,137,128,138,128,227,129,228,129,234,129,235,129,243,129,244,129,252,129,253,129,12,130,13,130,27,130,28,130,31,130,32,130,110,130,111,130,114,130,115,130,120,130,121,130,77,134,78,134,107,134,108,134,64,136,65,136,76,136,77,136,99,136,100,136,126,137,127,137,139,137,140,137,193,137,194,137,210,137,211,137,0,138,1,138,160,139,161,139,55,140,56,140,70,140,71,140,85,140,86,140,120,140,121,140,157,140,158,140,29,141,30,141,100,141,101,141,112,141,113,141,179,141,180,141,171,142,172,142,202,142,203,142,102,143,103,143,155,143,156,143,176,143,177,143,181,143,182,143,145,144,146,144,73,145,74,145,198,145,199,145,204,145,205,145,209,145,210,145,133,148,134,148,119,149,120,149,127,149,129,149,232,149,233,149,28,150,29,150,182,150,183,150,185,150,186,150,232,150,233,150,81,151,82,151,94,151,95,151,98,151,99,151,105,151,106,151,203,151,204,151,230,151,231,151,237,151,238,151,243,151,244,151,1,152,2,152,117,152,118,152,168,152,169,152,206,152,207,152,219,152,220,152,222,152,224,152,99,153,100,153,150,153,151,153,153,153,154,153,172,153,173,153,108,154,109,154,168,154,169,154,216,154,217,154,223,154,224,154,37,155,38,155,47,155,48,155,50,155,51,155,60,155,61,155,90,155,91,155,124,156,125,156,229,156,230,156,31,158,32,158,117,158,118,158,127,158,128,158,165,158,167,158,187,158,188,158,195,158,196,158,205,158,206,158,209,158,210,158,249,158,250,158,253,158,255,158,14,159,15,159,19,159,20,159,32,159,33,159,59,159,60,159,74,159,75,159,80,159,81,159,82,159,83,159,127,159,128,159,141,159,142,159,153,159,154,159,156,159,157,159,159,159,161,159,126,216,127,216,2,249,3,249,7,249,9,249,10,249,11,249,52,249,53,249,64,249,65,249,113,249,114,249,129,249,130,249,138,249,139,249,196,249,197,249,233,249,234,249,247,249,248,249,8,250,9,250,10,250,11,250,30,250,31,250,60,250,61,250,149,250,150,250,206,250,207,250,2,0,29,248,2,0,30,248,2,0,117,248,2,0,118,248,2,0,120,248,2,0,121,248,2,0,144,248,2,0,145,248,2,0,196,249,2,0,197,249,2,0,210,249,2,0,211,249,2,0,21,250,2,0,22,250,2,0,23,250,2,0,25,250,2,0,28,250,2,0,29,250,170,170,3,0,67,0,50,0,59,0,39,17,1,16,4,0,0,96,1,0,0,96,4,0,43,0,82,0,91,0,100,0,170,170,101,37,0,32,13,46,0,32,33,17,1,32,209,26,1,32,1,0,32,0,214,26,1,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,206,6,0,32,7,0,0,0,21,0,0,0,208,6,0,0,208,6,0,0,3,0,0,0,0,0,0,0,71,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,94,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,80,9,60,0,2,9,60,0,60,0,1,9,60,0,3,9,38,0,57,9,60,0,51,9,60,0,21,9,77,9,55,9,0,0,250,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,120,0,0,0,120,1,0,0,120,25,0,0,120,25,0,0,128,25,0,0,128,25,0,0,204,25,0,0,204,25,0,0,220,25,0,0,226,25,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,39,40,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,119,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,102,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,193,2,7,104,193,3,7,104,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,143,104,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,2,7,104,0,0,0,0,193,2,143,104,194,5,175,240,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,62,104,5,5,49,0,77,9,55,9,255,255,143,104,193,3,2,0,55,9,56,9,170,170,3,0,69,0,52,0,61,0,71,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,199,6,0,32,1,0,32,0,204,6,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,194,10,0,32,7,0,0,0,21,0,0,0,196,10,0,0,196,10,0,0,3,0,0,0,0,0,0,0,72,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,95,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,99,0,60,0,231,0,60,0,60,0,60,0,199,0,38,0,101,0,60,0,234,0,60,0,60,0,60,0,202,0,38,0,105,0,60,0,238,0,60,0,60,0,60,0,206,0,38,0,115,0,60,0,95,1,60,0,60,0,60,0,94,1,38,0,117,0,60,0,251,0,60,0,60,0,60,0,219,0,38,0,234,0,60,0,60,0,233,0,60,0,60,0,60,0,201,0,38,0,238,0,60,0,60,0,237,0,60,0,60,0,60,0,205,0,38,0,251,0,60,0,60,0,250,0,60,0,60,0,60,0,218,0,38,0,250,0,60,0,60,0,249,0,60,0,60,0,60,0,217,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,188,41,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,44,30,0,0,44,30,0,0,44,30,0,0,44,30,0,0,64,33,0,0,64,33,0,0,164,37,0,0,164,37,0,0,164,41,0,0,25,0,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,94,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,197,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,48,0,56,0,118,0,126,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,148,0,155,0,48,0,159,0,48,0,165,0,173,0,180,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,188,0,142,0,48,0,48,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,134,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,192,0,216,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,23,0,202,129,23,0,202,162,23,0,202,195,23,0,202,228,23,0,202,5,24,0,202,38,24,0,202,71,24,0,202,104,24,0,202,137,24,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,201,198,0,0,156,5,0,52,156,5,0,54,156,5,0,56,201,70,2,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,198,3,0,156,5,0,80,201,166,4,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,134,7,0,5,5,0,48,201,70,8,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,9,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,70,11,0,5,5,0,80,201,38,12,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,22,0,134,5,2,47,196,138,156,50,134,70,2,51,134,5,2,51,196,150,156,50,196,138,156,58,134,70,2,59,134,5,2,59,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,134,71,2,83,134,70,2,83,134,5,2,83,196,150,156,82,196,136,156,90,160,5,38,93,197,226,22,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,23,0,5,5,2,47,196,138,5,50,5,70,2,51,5,5,2,51,196,150,5,50,196,138,5,58,5,70,2,59,5,5,2,59,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,5,71,2,83,5,70,2,83,5,5,2,83,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,15,0,201,70,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,17,0,201,70,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,20,0,201,6,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,25,0,201,134,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,29,0,201,70,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,6,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,32,0,201,70,34,0,201,198,35,0,201,70,37,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,38,0,201,70,40,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,41,0,201,6,44,0,201,70,46,0,201,134,48,0,201,198,50,0,201,6,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,55,0,201,198,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,15,0,197,98,15,0,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,98,14,0,197,226,14,0,192,0,0,0,192,0,0,0,201,70,58,0,201,198,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,61,0,201,134,63,0,192,0,0,0,192,0,0,0,197,226,3,0,197,162,4,0,197,162,3,0,197,98,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,65,0,201,6,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,70,2,51,5,162,0,0,134,5,2,51,5,162,0,0,5,70,2,51,5,162,0,0,5,5,2,51,5,162,0,0,134,70,2,59,5,162,0,0,134,5,2,59,5,162,0,0,5,70,2,59,5,162,0,0,5,5,2,59,5,162,0,0,134,71,2,83,5,162,0,0,134,70,2,83,5,162,0,0,134,5,2,83,5,162,0,0,5,71,2,83,5,162,0,0,5,70,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,71,2,83,5,190,0,0,134,70,2,83,5,190,0,0,134,5,2,83,5,190,0,0,5,71,2,83,5,190,0,0,5,70,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,70,2,51,5,160,0,0,134,5,2,51,5,160,0,0,5,70,2,51,5,160,0,0,5,5,2,51,5,160,0,0,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,70,2,51,5,204,0,0,134,5,2,51,5,204,0,0,5,70,2,51,5,204,0,0,5,5,2,51,5,204,0,0,134,70,2,51,5,208,0,0,134,5,2,51,5,208,0,0,5,70,2,51,5,208,0,0,5,5,2,51,5,208,0,0,134,70,2,59,5,208,0,0,134,5,2,59,5,208,0,0,5,70,2,59,5,208,0,0,5,5,2,59,5,208,0,0,134,71,2,83,5,198,0,0,134,70,2,83,5,198,0,0,134,5,2,83,5,198,0,0,5,71,2,83,5,198,0,0,5,70,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,71,2,83,5,208,0,0,134,70,2,83,5,208,0,0,134,5,2,83,5,208,0,0,5,71,2,83,5,208,0,0,5,70,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,71,2,83,5,204,0,0,134,70,2,83,5,204,0,0,134,5,2,83,5,204,0,0,5,71,2,83,5,204,0,0,5,70,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,70,2,51,5,196,0,0,134,5,2,51,5,196,0,0,5,70,2,51,5,196,0,0,5,5,2,51,5,196,0,0,134,5,2,51,5,136,0,0,5,5,2,51,5,136,0,0,134,5,2,51,5,138,0,0,5,5,2,51,5,138,0,0,134,5,2,51,5,182,0,0,5,5,2,51,5,182,0,0,134,5,2,51,5,154,0,0,5,5,2,51,5,154,0,0,134,70,2,59,5,196,0,0,134,5,2,59,5,196,0,0,5,70,2,59,5,196,0,0,5,5,2,59,5,196,0,0,134,71,2,83,5,196,0,0,134,70,2,83,5,196,0,0,134,5,2,83,5,196,0,0,5,71,2,83,5,196,0,0,5,70,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,71,2,83,5,190,0,0,5,196,0,0,134,70,2,83,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,71,2,83,5,190,0,0,5,196,0,0,5,70,2,83,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,39,3,2,239,134,5,0,50,156,5,2,0,1,3,2,243,134,70,2,3,2,243,134,5,65,3,2,243,134,70,0,58,156,5,2,0,1,3,2,251,134,70,2,3,2,251,134,5,65,3,2,251,134,70,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,4,0,0,3,255,255,2,83,134,71,1,3,255,255,2,83,134,70,2,3,255,255,2,83,134,5,64,3,255,255,2,83,134,71,65,3,255,255,2,83,134,70,0,46,5,5,48,0,39,3,2,239,5,5,0,50,5,5,2,0,1,3,2,243,5,70,2,3,2,243,5,5,65,3,2,243,5,70,0,58,5,5,2,0,1,3,2,251,5,70,2,3,2,251,5,5,65,3,2,251,5,70,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,4,0,0,3,255,255,2,83,5,71,1,3,255,255,2,83,5,70,2,3,255,255,2,83,5,5,64,3,255,255,2,83,5,71,65,3,255,255,2,83,5,70,156,50,196,162,2,0,1,3,197,162,2,3,0,192,197,98,65,3,197,162,5,50,196,162,2,0,1,3,0,192,197,162,2,3,0,192,197,226,65,3,0,192,197,162,156,58,196,162,2,0,1,3,1,192,197,34,2,3,1,192,197,98,65,3,1,192,197,34,5,58,196,162,2,0,1,3,1,192,197,162,2,3,1,192,197,226,65,3,1,192,197,162,156,82,196,162,4,0,0,3,2,192,197,34,1,3,2,192,197,98,2,3,2,192,197,162,64,3,2,192,197,34,65,3,2,192,197,98,5,82,196,162,4,0,0,3,2,192,197,226,1,3,3,192,197,34,2,3,3,192,197,98,64,3,2,192,197,226,65,3,3,192,197,34,156,82,196,190,4,0,0,3,3,192,197,162,1,3,3,192,197,226,2,3,4,192,197,34,64,3,3,192,197,162,65,3,3,192,197,226,5,82,196,190,4,0,0,3,4,192,197,98,1,3,4,192,197,162,2,3,4,192,197,226,64,3,4,192,197,98,65,3,4,192,197,162,156,50,196,160,2,0,1,3,5,192,197,34,2,3,5,192,197,98,65,3,5,192,197,34,5,50,196,160,2,0,1,3,5,192,197,162,2,3,5,192,197,226,65,3,5,192,197,162,156,50,196,204,2,0,1,3,6,192,197,162,2,3,6,192,197,226,65,3,6,192,197,162,5,50,196,204,2,0,1,3,7,192,197,34,2,3,7,192,197,98,65,3,7,192,197,34,156,50,196,208,2,0,1,3,7,192,197,162,2,3,7,192,197,226,65,3,7,192,197,162,5,50,196,208,2,0,1,3,8,192,197,34,2,3,8,192,197,98,65,3,8,192,197,34,156,58,196,208,2,0,1,3,8,192,197,162,2,3,8,192,197,226,65,3,8,192,197,162,5,58,196,208,2,0,1,3,9,192,197,34,2,3,9,192,197,98,65,3,9,192,197,34,156,82,196,198,4,0,0,3,9,192,197,162,1,3,9,192,197,226,2,3,10,192,197,34,64,3,9,192,197,162,65,3,9,192,197,226,5,82,196,198,4,0,0,3,10,192,197,98,1,3,10,192,197,162,2,3,10,192,197,226,64,3,10,192,197,98,65,3,10,192,197,162,156,82,196,208,4,0,0,3,11,192,197,34,1,3,11,192,197,98,2,3,11,192,197,162,64,3,11,192,197,34,65,3,11,192,197,98,5,82,196,208,4,0,0,3,11,192,197,226,1,3,12,192,197,34,2,3,12,192,197,98,64,3,11,192,197,226,65,3,12,192,197,34,156,82,196,204,4,0,0,3,12,192,197,162,1,3,12,192,197,226,2,3,13,192,197,34,64,3,12,192,197,162,65,3,12,192,197,226,5,82,196,204,4,0,0,3,13,192,197,98,1,3,13,192,197,162,2,3,13,192,197,226,64,3,13,192,197,98,65,3,13,192,197,162,156,50,196,196,2,0,1,3,14,192,197,34,2,3,14,192,197,98,65,3,14,192,197,34,5,50,196,196,2,0,1,3,14,192,197,162,2,3,14,192,197,226,65,3,14,192,197,162,156,58,196,196,2,0,1,3,17,192,197,34,2,3,17,192,197,98,65,3,17,192,197,34,5,58,196,196,2,0,1,3,17,192,197,162,2,3,17,192,197,226,65,3,17,192,197,162,156,82,196,196,4,0,0,3,18,192,197,34,1,3,18,192,197,98,2,3,18,192,197,162,64,3,18,192,197,34,65,3,18,192,197,98,5,82,196,196,4,0,0,3,18,192,197,226,1,3,19,192,197,34,2,3,19,192,197,98,64,3,18,192,197,226,65,3,19,192,197,34,19,0,197,163,4,0,0,3,20,192,197,3,1,3,20,192,197,99,2,3,20,192,197,195,64,3,20,192,197,3,65,3,20,192,197,99,21,0,197,35,4,0,0,3,21,192,197,131,1,3,21,192,197,227,2,3,22,192,197,67,64,3,21,192,197,131,65,3,21,192,197,227,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,28,4,185,84,185,88,185,92,30,4,186,108,185,112,185,116,185,120,186,124,185,132,185,136,185,140,185,148,32,4,185,160,34,4,185,176,185,180,185,184,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,36,4,168,72,38,4,168,84,168,88,168,92,40,4,168,108,168,112,168,116,168,120,168,124,168,132,168,136,168,140,168,148,42,4,168,160,44,4,168,176,168,180,168,184,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,185,68,186,77,217,80,185,80,90,78,186,97,217,100,185,100,90,98,217,72,154,126,185,133,153,133,249,133,153,134,89,134,136,14,217,134,249,172,217,172,185,172,89,170,153,189,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,168,68,168,77,200,80,168,80,72,78,168,97,200,100,168,100,72,98,200,72,136,126,168,133,136,133,232,133,136,134,72,134,128,14,200,134,232,172,200,172,168,172,72,170,136,189,168,196,72,190,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,46,4,48,4,26,78,8,78,249,89,232,89,217,89,200,89,185,90,168,90,249,90,232,90,249,93,232,93,89,95,72,95,154,98,136,98,58,99,40,99,218,97,200,97,50,4,52,4,186,98,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,144,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,250,126,232,126,26,126,8,126,10,8,185,128,168,128,57,135,40,135,217,133,200,133,121,134,104,134,12,8,14,8,153,149,136,149,249,150,232,150,25,150,8,150,154,153,136,153,250,153,232,153,185,156,168,156,26,154,8,154,249,162,232,162,25,162,8,162,185,164,168,164,153,170,136,170,57,171,40,171,217,169,200,169,57,170,40,170,121,170,104,170,54,4,56,4,249,181,232,181,249,189,232,189,89,190,153,193,136,193,185,194,168,194,25,194,8,194,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,152,169,152,200,56,169,76,187,96,187,108,169,96,169,108,169,200,169,124,217,132,187,76,200,132,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,186,76,255,5,186,96,255,5,186,152,255,5,185,168,255,5,168,64,255,5,168,76,255,5,168,96,255,5,168,152,255,5,168,168,255,5,26,79,255,5,8,79,255,5,26,99,255,5,8,99,255,5,25,171,255,5,8,171,255,1,3,0,69,0,52,0,61,0,75,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,187,10,0,32,1,0,32,0,192,10,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,217,6,0,32,7,0,0,0,21,0,0,0,219,6,0,0,219,6,0,0,3,0,0,0,0,0,0,0,35,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,53,4,60,0,81,4,60,0,60,0,60,0,1,4,0,0,170,170,184,26,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,64,26,0,0,64,26,0,0,64,26,0,0,64,26,0,0,132,26,0,0,132,26,0,0,160,26,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,135,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,118,0,48,0,48,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,134,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,40,97,174,5,48,0,8,3,255,255,41,97,134,5,40,97,5,5,48,0,8,3,255,255,41,97,5,5,3,0,69,0,52,0,61,0,35,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,210,6,0,32,1,0,32,0,215,6,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,204,8,0,32,7,0,0,0,21,0,0,0,206,8,0,0,206,8,0,0,3,0,0,0,0,0,0,0,47,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,46,220,38,0,67,0,60,0,99,0,12,3,60,0,60,0,60,0,67,0,12,3,38,0,71,0,60,0,231,1,60,0,60,0,60,0,230,1,38,0,72,0,60,0,31,2,60,0,60,0,60,0,30,2,38,0,83,0,60,0,115,0,12,3,60,0,60,0,60,0,83,0,12,3,38,0,90,0,60,0,122,0,12,3,60,0,60,0,60,0,90,0,12,3,0,0,82,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,196,27,0,0,196,27,0,0,196,27,0,0,196,27,0,0,192,28,0,0,192,28,0,0,58,30,0,0,58,30,0,0,58,34,0,0,50,105,114,84,1,0,64,8,175,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,146,0,48,0,154,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,139,0,48,0,48,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,6,0,202,193,6,0,202,226,6,0,202,3,7,0,202,36,7,0,202,69,7,0,202,102,7,0,202,135,7,0,202,168,7,0,202,201,7,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,198,0,0,201,134,1,0,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,70,2,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,38,3,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,6,4,0,5,5,0,48,5,5,0,50,5,5,0,52,201,198,4,0,201,134,5,0,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,70,6,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,38,7,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,5,0,201,6,8,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,6,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,6,0,201,166,8,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,9,0,201,38,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,10,0,201,166,11,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,12,0,201,38,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,57,5,5,2,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,13,0,201,166,14,0,192,0,0,0,192,0,0,0,201,102,15,0,201,38,16,0,201,230,16,0,201,166,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,18,0,201,38,19,0,192,0,0,0,192,0,0,0,197,34,4,0,197,98,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,19,0,201,166,20,0,201,102,21,0,201,38,22,0,201,230,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,134,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,134,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,5,5,2,57,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,12,3,2,239,134,5,0,54,156,5,48,0,12,3,2,247,134,5,0,56,156,5,48,0,12,3,2,249,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,48,0,12,3,2,239,5,5,0,54,5,5,48,0,12,3,2,247,5,5,0,56,5,5,48,0,12,3,2,249,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,98,156,54,196,160,48,0,12,3,0,192,197,162,5,54,196,160,48,0,12,3,0,192,197,226,156,78,196,160,48,0,12,3,1,192,197,34,5,78,196,160,48,0,12,3,1,192,197,98,156,78,196,202,48,0,12,3,1,192,197,162,5,78,196,202,48,0,12,3,1,192,197,226,156,56,196,196,48,0,12,3,2,192,197,34,5,56,196,196,48,0,12,3,2,192,197,98,156,56,196,160,48,0,12,3,2,192,197,162,5,56,196,160,48,0,12,3,2,192,197,226,156,56,196,206,48,0,12,3,3,192,197,34,5,56,196,206,48,0,12,3,3,192,197,98,156,78,196,196,48,0,12,3,3,192,197,162,5,78,196,196,48,0,12,3,3,192,197,226,156,92,196,196,48,0,12,3,4,192,197,162,5,92,196,196,48,0,12,3,4,192,197,226,156,92,196,210,48,0,12,3,5,192,197,34,5,92,196,210,48,0,12,3,5,192,197,98,5,56,196,210,48,0,12,3,5,192,197,162,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,28,4,30,4,186,92,186,100,185,104,185,108,185,112,186,116,185,124,185,128,185,132,185,140,32,4,185,152,185,160,185,164,185,168,185,172,185,176,34,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,36,4,168,72,168,76,168,80,38,4,40,4,168,92,168,100,168,104,168,108,168,112,168,116,168,124,168,128,168,132,168,140,42,4,168,152,168,160,168,164,168,168,168,172,168,176,44,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,46,4,186,77,154,77,250,77,90,78,186,93,154,93,250,93,90,94,217,72,154,118,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,161,153,161,249,161,89,162,153,177,185,188,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,48,4,168,77,136,77,232,77,72,78,168,93,136,93,232,93,72,94,200,72,136,118,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,161,136,161,232,161,72,162,136,177,168,188,72,178,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,185,68,168,68,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,50,4,52,4,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,136,153,109,136,109,249,110,232,110,25,110,8,110,121,111,104,111,89,111,72,111,154,117,136,117,250,118,232,118,26,118,8,118,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,54,4,56,4,185,148,168,148,249,154,232,154,25,154,8,154,185,156,168,156,153,162,136,162,57,163,40,163,217,161,200,161,57,162,40,162,121,162,104,162,25,163,8,163,249,169,232,169,249,177,232,177,89,178,153,181,136,181,185,182,168,182,185,184,168,184,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,144,169,144,200,56,169,76,187,92,187,100,169,92,169,100,169,192,169,116,217,124,187,76,200,124,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,84,255,5,185,88,255,5,186,144,255,5,185,180,255,5,168,64,255,5,168,84,255,5,168,88,255,5,168,144,255,5,168,180,255,5,249,66,255,5,232,66,255,5,249,86,255,5,232,86,255,5,250,146,255,5,232,146,255,1,170,170,3,0,69,0,52,0,61,0,47,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,197,8,0,32,1,0,32,0,202,8,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,61,22,0,32,7,0,0,0,24,0,0,0,63,22,0,0,63,22,0,0,3,0,0,0,0,0,0,0,206,0,0,0,99,111,108,108,97,116,105,111,110,115,0,112,104,111,110,101,116,105,99,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,170,170,0,0,52,0,50,0,0,0,38,0,69,0,60,0,91,2,60,0,60,0,60,0,144,1,38,0,79,0,60,0,60,0,84,2,60,0,60,0,60,0,134,1,0,0,83,221,38,0,69,0,60,0,91,2,60,0,60,0,60,0,144,1,38,0,79,0,60,0,60,0,84,2,60,0,60,0,60,0,134,1,38,0,71,0,60,0,103,0,98,0,60,0,60,0,60,0,103,0,66,0,60,0,60,0,60,0,71,0,98,0,60,0,60,0,60,0,71,0,66,0,38,0,75,0,60,0,107,0,112,0,60,0,60,0,60,0,107,0,80,0,60,0,60,0,60,0,75,0,112,0,60,0,60,0,60,0,75,0,80,0,38,0,77,0,60,0,109,0,98,0,60,0,60,0,60,0,109,0,66,0,60,0,60,0,60,0,77,0,98,0,60,0,60,0,60,0,77,0,66,0,60,0,109,0,102,0,60,0,60,0,60,0,109,0,70,0,60,0,60,0,60,0,77,0,102,0,60,0,60,0,60,0,77,0,70,0,60,0,109,0,112,0,60,0,60,0,60,0,109,0,80,0,60,0,60,0,60,0,77,0,112,0,60,0,60,0,60,0,77,0,80,0,60,0,109,0,118,0,60,0,60,0,60,0,109,0,86,0,60,0,60,0,60,0,77,0,118,0,60,0,60,0,60,0,77,0,86,0,38,0,78,0,60,0,110,0,100,0,60,0,60,0,60,0,110,0,68,0,60,0,60,0,60,0,78,0,100,0,60,0,60,0,60,0,78,0,68,0,60,0,110,0,103,0,60,0,60,0,60,0,110,0,71,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,60,0,110,0,103,0,98,0,60,0,60,0,60,0,110,0,103,0,66,0,60,0,60,0,60,0,110,0,71,0,98,0,60,0,60,0,60,0,110,0,71,0,66,0,60,0,60,0,60,0,78,0,103,0,98,0,60,0,60,0,60,0,78,0,103,0,66,0,60,0,60,0,60,0,78,0,71,0,66,0,60,0,110,0,107,0,60,0,60,0,60,0,110,0,75,0,60,0,60,0,60,0,78,0,107,0,60,0,60,0,60,0,78,0,75,0,60,0,110,0,115,0,60,0,60,0,60,0,110,0,83,0,60,0,60,0,60,0,78,0,115,0,60,0,60,0,60,0,78,0,83,0,60,0,110,0,116,0,60,0,60,0,60,0,110,0,84,0,60,0,60,0,60,0,78,0,116,0,60,0,60,0,60,0,78,0,84,0,60,0,110,0,121,0,60,0,60,0,60,0,110,0,89,0,60,0,60,0,60,0,78,0,121,0,60,0,60,0,60,0,78,0,89,0,60,0,110,0,122,0,60,0,60,0,60,0,110,0,90,0,60,0,60,0,60,0,78,0,122,0,60,0,60,0,60,0,78,0,90,0,38,0,83,0,60,0,115,0,104,0,60,0,60,0,60,0,115,0,72,0,60,0,60,0,60,0,83,0,104,0,60,0,60,0,60,0,83,0,72,0,38,0,84,0,60,0,116,0,115,0,60,0,60,0,60,0,116,0,83,0,60,0,60,0,60,0,84,0,115,0,60,0,60,0,60,0,84,0,83,0,0,0,170,170,170,170,170,170,10,60,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,116,25,0,0,116,25,0,0,68,33,0,0,68,33,0,0,20,41,0,0,20,41,0,0,4,53,0,0,166,53,0,0,238,59,0,0,50,105,114,84,1,0,64,8,138,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,91,0,99,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,121,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,115,0,48,0,48,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,64,1,192,0,192,0,108,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,61,0,202,97,61,0,202,130,61,0,202,163,61,0,202,196,61,0,202,229,61,0,202,6,62,0,202,39,62,0,202,72,62,0,202,105,62,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,201,0,0,0,156,5,0,56,156,5,0,58,156,5,0,60,201,128,3,0,156,5,0,64,201,96,6,0,201,128,18,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,32,76,0,201,224,83,0,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,201,0,94,0,5,5,0,56,5,5,0,58,5,5,0,60,201,160,97,0,5,5,0,64,201,128,100,0,201,160,112,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,32,173,0,201,224,180,0,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,130,60,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,60,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,2,61,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,128,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,136,0,5,0,2,5,69,0,136,0,5,0,3,5,69,0,136,0,5,0,4,5,69,0,136,0,5,0,5,5,69,0,136,0,5,0,6,5,69,0,71,0,5,0,2,5,69,0,71,0,5,0,3,5,69,0,71,0,5,0,4,5,69,0,71,0,5,0,5,5,69,0,71,0,5,0,6,5,69,0,136,0,5,0,5,5,69,0,5,0,136,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,136,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,150,0,0,0,0,0,136,0,5,0,2,5,69,0,5,0,160,0,0,0,0,0,71,0,5,0,2,5,69,0,5,0,160,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,142,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,142,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,160,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,160,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,160,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,160,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,144,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,144,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,142,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,142,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,150,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,136,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,136,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,156,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,156,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,144,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,144,0,0,0,0,0,136,0,5,0,2,5,69,0,5,0,144,0,0,0,0,0,71,0,5,0,2,5,69,0,5,0,144,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,202,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,202,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,202,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,202,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,164,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,164,0,0,0,0,0,136,0,5,0,2,5,69,0,5,0,136,0,0,0,0,0,71,0,5,0,2,5,69,0,5,0,136,0,0,0,0,0,136,0,5,0,2,5,69,0,5,0,196,0,0,0,0,0,71,0,5,0,2,5,69,0,5,0,196,0,0,0,0,0,136,0,5,0,2,5,69,0,5,0,210,0,0,0,0,0,71,0,5,0,2,5,69,0,5,0,210,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,156,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,156,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,5,0,156,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,5,0,156,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,5,0,156,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,5,0,156,0,0,0,0,0,136,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,5,0,156,0,0,0,0,0,71,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,5,0,156,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,156,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,156,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,196,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,196,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,210,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,210,0,0,0,0,0,136,0,5,0,4,5,69,0,5,0,204,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,204,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,156,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,156,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,142,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,142,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,196,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,196,0,0,0,0,0,136,0,5,0,6,5,69,0,5,0,210,0,0,0,0,0,71,0,5,0,6,5,69,0,5,0,210,0,0,0,0,0,71,0,5,0,4,5,69,0,5,0,150,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,146,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,138,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,138,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,196,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,196,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,182,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,182,0,0,0,0,0,136,0,5,0,5,5,69,0,5,0,154,0,0,0,0,0,71,0,5,0,5,5,69,0,5,0,154,0,0,0,0,0,70,0,5,0,2,5,69,0,70,0,5,0,3,5,69,0,70,0,5,0,4,5,69,0,70,0,5,0,5,5,69,0,70,0,5,0,6,5,69,0,70,0,5,0,5,5,69,0,5,0,136,0,0,0,0,0,70,0,5,0,2,5,69,0,5,0,160,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,142,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,160,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,160,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,144,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,142,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,150,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,136,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,156,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,144,0,0,0,0,0,70,0,5,0,2,5,69,0,5,0,144,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,202,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,202,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,164,0,0,0,0,0,70,0,5,0,2,5,69,0,5,0,136,0,0,0,0,0,70,0,5,0,2,5,69,0,5,0,196,0,0,0,0,0,70,0,5,0,2,5,69,0,5,0,210,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,156,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,136,0,0,0,0,0,5,0,156,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,144,0,0,0,0,0,5,0,156,0,0,0,0,0,70,0,5,0,3,5,69,0,5,0,196,0,0,0,0,0,5,0,156,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,156,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,196,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,210,0,0,0,0,0,70,0,5,0,4,5,69,0,5,0,204,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,156,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,142,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,196,0,0,0,0,0,70,0,5,0,6,5,69,0,5,0,210,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,138,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,196,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,182,0,0,0,0,0,70,0,5,0,5,5,69,0,5,0,154,0,0,0,0,0,0,0,0,136,5,2,55,5,156,0,0,71,5,2,55,5,156,0,0,136,5,2,55,5,196,0,0,71,5,2,55,5,196,0,0,136,5,2,55,5,210,0,0,71,5,2,55,5,210,0,0,136,5,2,63,5,136,0,0,71,5,2,63,5,136,0,0,136,5,2,63,5,156,0,0,71,5,2,63,5,156,0,0,136,5,2,67,5,156,0,0,71,5,2,67,5,156,0,0,136,5,2,67,5,196,0,0,71,5,2,67,5,196,0,0,136,5,2,67,5,210,0,0,71,5,2,67,5,210,0,0,136,5,3,67,5,156,0,0,71,5,3,67,5,156,0,0,136,5,4,67,5,136,0,0,71,5,4,67,5,136,0,0,136,5,4,67,5,156,0,0,71,5,4,67,5,156,0,0,136,5,5,67,5,154,0,0,71,5,5,67,5,154,0,0,136,5,5,67,5,196,0,0,71,5,5,67,5,196,0,0,139,5,4,69,5,156,0,0,139,5,4,69,5,196,0,0,139,5,4,69,5,210,0,0,74,5,4,69,5,156,0,0,73,5,4,69,5,156,0,0,74,5,4,69,5,196,0,0,73,5,4,69,5,196,0,0,74,5,4,69,5,210,0,0,73,5,4,69,5,210,0,0,136,5,2,69,5,144,0,0,71,5,2,69,5,144,0,0,136,5,3,69,5,142,0,0,71,5,3,69,5,142,0,0,136,5,3,69,5,140,0,0,71,5,3,69,5,140,0,0,136,5,3,69,5,156,0,0,71,5,3,69,5,156,0,0,136,5,3,69,5,160,0,0,71,5,3,69,5,160,0,0,136,5,3,69,5,144,0,0,71,5,3,69,5,144,0,0,136,5,3,69,5,136,0,0,71,5,3,69,5,136,0,0,136,5,2,69,5,156,0,0,71,5,2,69,5,156,0,0,136,5,2,69,5,196,0,0,71,5,2,69,5,196,0,0,136,5,2,69,5,210,0,0,71,5,2,69,5,210,0,0,136,5,2,69,5,160,0,0,71,5,2,69,5,160,0,0,136,5,2,69,5,204,0,0,71,5,2,69,5,204,0,0,136,5,3,69,5,164,0,0,71,5,3,69,5,164,0,0,136,5,2,79,5,142,0,0,71,5,2,79,5,142,0,0,136,5,2,79,5,144,0,0,71,5,2,79,5,144,0,0,136,5,2,79,5,156,0,0,71,5,2,79,5,156,0,0,136,5,2,79,5,196,0,0,71,5,2,79,5,196,0,0,136,5,2,79,5,150,0,0,71,5,2,79,5,150,0,0,136,5,2,79,5,160,0,0,71,5,2,79,5,160,0,0,136,5,2,79,5,206,0,0,71,5,2,79,5,206,0,0,71,5,2,79,5,210,0,0,136,5,2,81,5,136,0,0,71,5,2,81,5,136,0,0,136,5,2,81,5,142,0,0,71,5,2,81,5,142,0,0,136,5,2,81,5,160,0,0,71,5,2,81,5,160,0,0,136,5,2,81,5,144,0,0,71,5,2,81,5,144,0,0,136,5,2,81,5,202,0,0,71,5,2,81,5,202,0,0,136,5,2,81,5,156,0,0,71,5,2,81,5,156,0,0,136,5,2,81,5,196,0,0,71,5,2,81,5,196,0,0,136,5,2,81,5,136,0,0,5,156,0,0,71,5,2,81,5,136,0,0,5,156,0,0,136,5,2,81,5,144,0,0,5,156,0,0,71,5,2,81,5,144,0,0,5,156,0,0,136,5,2,81,5,196,0,0,5,156,0,0,71,5,2,81,5,196,0,0,5,156,0,0,70,5,2,55,5,156,0,0,5,5,2,55,5,156,0,0,70,5,2,55,5,196,0,0,5,5,2,55,5,196,0,0,70,5,2,55,5,210,0,0,5,5,2,55,5,210,0,0,70,5,2,63,5,136,0,0,5,5,2,63,5,136,0,0,70,5,2,63,5,156,0,0,5,5,2,63,5,156,0,0,70,5,2,67,5,156,0,0,5,5,2,67,5,156,0,0,70,5,2,67,5,196,0,0,5,5,2,67,5,196,0,0,70,5,2,67,5,210,0,0,5,5,2,67,5,210,0,0,70,5,3,67,5,156,0,0,5,5,3,67,5,156,0,0,70,5,4,67,5,136,0,0,5,5,4,67,5,136,0,0,70,5,4,67,5,156,0,0,5,5,4,67,5,156,0,0,70,5,5,67,5,154,0,0,5,5,5,67,5,154,0,0,70,5,5,67,5,196,0,0,5,5,5,67,5,196,0,0,72,5,4,69,5,156,0,0,71,5,4,69,5,156,0,0,72,5,4,69,5,196,0,0,71,5,4,69,5,196,0,0,72,5,4,69,5,210,0,0,71,5,4,69,5,210,0,0,70,5,4,69,5,156,0,0,5,5,4,69,5,156,0,0,70,5,4,69,5,196,0,0,5,5,4,69,5,196,0,0,70,5,4,69,5,210,0,0,5,5,4,69,5,210,0,0,193,5,5,69,5,136,0,0,193,5,5,69,5,150,0,0,70,5,2,69,5,144,0,0,5,5,2,69,5,144,0,0,70,5,3,69,5,142,0,0,5,5,3,69,5,142,0,0,70,5,3,69,5,140,0,0,5,5,3,69,5,140,0,0,70,5,3,69,5,156,0,0,5,5,3,69,5,156,0,0,70,5,3,69,5,160,0,0,5,5,3,69,5,160,0,0,193,2,5,69,5,160,0,0,193,3,5,69,5,136,0,0,193,3,5,69,5,142,0,0,193,3,5,69,5,160,0,0,193,3,5,69,5,144,0,0,193,4,5,69,5,160,0,0,193,4,5,69,5,144,0,0,193,5,5,69,5,142,0,0,193,6,5,69,5,136,0,0,193,6,5,69,5,156,0,0,193,6,5,69,5,144,0,0,70,5,3,69,5,144,0,0,5,5,3,69,5,144,0,0,193,2,5,69,5,144,0,0,70,5,3,69,5,136,0,0,5,5,3,69,5,136,0,0,193,3,5,69,5,202,0,0,193,4,5,69,5,202,0,0,193,5,5,69,5,164,0,0,70,5,2,69,5,156,0,0,5,5,2,69,5,156,0,0,70,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,70,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,70,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,70,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,70,5,3,69,5,164,0,0,5,5,3,69,5,164,0,0,193,2,5,69,5,136,0,0,193,2,5,69,5,196,0,0,193,2,5,69,5,210,0,0,193,3,5,69,5,156,0,0,193,3,5,69,5,196,0,0,193,3,5,69,5,136,0,0,5,156,0,0,193,3,5,69,5,144,0,0,5,156,0,0,193,3,5,69,5,196,0,0,5,156,0,0,193,4,5,69,5,156,0,0,193,4,5,69,5,196,0,0,193,4,5,69,5,210,0,0,193,4,5,69,5,204,0,0,193,5,5,69,5,156,0,0,193,6,5,69,5,142,0,0,193,6,5,69,5,196,0,0,193,6,5,69,5,210,0,0,193,4,5,69,5,150,0,0,193,5,5,69,5,146,0,0,193,5,5,69,5,138,0,0,193,5,5,69,5,196,0,0,193,5,5,69,5,182,0,0,193,5,5,69,5,154,0,0,70,5,2,79,5,142,0,0,5,5,2,79,5,142,0,0,70,5,2,79,5,144,0,0,5,5,2,79,5,144,0,0,70,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,70,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,70,5,2,79,5,150,0,0,5,5,2,79,5,150,0,0,70,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,70,5,2,79,5,206,0,0,5,5,2,79,5,206,0,0,5,5,2,79,5,210,0,0,70,5,2,81,5,136,0,0,5,5,2,81,5,136,0,0,70,5,2,81,5,142,0,0,5,5,2,81,5,142,0,0,70,5,2,81,5,160,0,0,5,5,2,81,5,160,0,0,70,5,2,81,5,144,0,0,5,5,2,81,5,144,0,0,70,5,2,81,5,202,0,0,5,5,2,81,5,202,0,0,70,5,2,81,5,156,0,0,5,5,2,81,5,156,0,0,70,5,2,81,5,196,0,0,5,5,2,81,5,196,0,0,70,5,2,81,5,136,0,0,5,156,0,0,5,5,2,81,5,136,0,0,5,156,0,0,70,5,2,81,5,144,0,0,5,156,0,0,5,5,2,81,5,144,0,0,5,156,0,0,70,5,2,81,5,196,0,0,5,156,0,0,5,5,2,81,5,196,0,0,5,156,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,54,156,5,7,0,4,30,12,0,4,30,0,192,197,162,5,30,0,192,197,226,6,30,1,192,197,34,7,30,1,192,197,98,66,0,2,247,136,5,98,0,2,247,71,5,2,30,197,162,3,30,0,192,197,98,0,62,156,5,5,0,85,30,9,0,85,30,1,192,197,226,86,30,2,192,197,34,87,30,2,192,197,98,80,0,2,255,136,5,112,0,2,255,71,5,84,30,1,192,197,162,0,66,156,5,23,0,6,30,42,0,86,30,20,0,125,30,9,0,125,30,5,192,197,226,126,30,6,192,197,34,127,30,6,192,197,98,86,30,5,192,197,34,87,30,5,192,197,98,124,30,5,192,197,162,31,30,9,0,31,30,4,192,197,98,84,30,4,192,197,162,85,30,4,192,197,226,6,30,3,192,197,162,7,30,3,192,197,226,30,30,4,192,197,34,112,0,22,0,3,30,9,0,3,30,2,192,197,226,4,30,3,192,197,34,5,30,3,192,197,98,112,0,255,255,4,67,71,5,118,0,255,255,5,67,71,5,2,30,2,192,197,162,86,0,12,0,86,0,255,255,5,67,136,5,98,0,255,255,2,67,71,5,102,0,255,255,3,67,71,5,66,0,255,255,2,67,136,5,70,0,255,255,3,67,136,5,80,0,255,255,4,67,136,5,0,68,156,5,0,0,116,0,26,2,206,0,103,30,103,0,146,30,50,0,243,30,25,0,247,30,11,0,247,30,20,192,198,66,248,30,20,192,198,130,249,30,20,192,198,194,42,33,198,129,243,30,19,192,198,66,244,30,19,192,198,130,245,30,19,192,198,194,246,30,20,192,198,2,149,30,12,0,149,30,18,192,198,66,151,30,18,192,198,130,153,30,18,192,198,194,242,30,19,192,198,2,146,30,17,192,198,130,147,30,17,192,198,194,148,30,18,192,198,2,110,30,26,0,142,30,12,0,142,30,16,192,198,130,143,30,16,192,198,194,144,30,17,192,198,2,145,30,17,192,198,66,110,30,15,192,198,130,111,30,15,192,198,194,112,30,16,192,198,2,113,30,16,192,198,66,106,30,12,0,106,30,14,192,198,130,107,30,14,192,198,194,108,30,15,192,198,2,109,30,15,192,198,66,103,30,13,192,198,99,104,30,13,192,198,195,105,30,14,192,198,35,32,30,51,0,53,30,26,0,99,30,12,0,99,30,12,192,198,2,100,30,12,192,198,67,101,30,12,192,198,163,102,30,13,192,198,3,53,30,11,192,198,2,96,30,11,192,198,66,97,30,11,192,198,130,98,30,11,192,198,194,49,30,12,0,49,30,10,192,198,2,50,30,10,192,198,66,51,30,10,192,198,130,52,30,10,192,198,194,32,30,14,192,197,226,33,30,15,192,197,34,48,30,9,192,198,194,13,30,23,0,16,30,12,0,16,30,13,192,197,226,17,30,14,192,197,34,18,30,14,192,197,98,19,30,14,192,197,162,13,30,13,192,197,34,14,30,13,192,197,98,15,30,13,192,197,162,51,2,12,0,51,2,9,192,198,130,10,30,12,192,197,98,11,30,12,192,197,162,12,30,12,192,197,226,26,2,8,192,198,194,27,2,9,192,198,2,50,2,9,192,198,66,90,1,101,0,120,1,51,0,230,1,26,0,244,1,12,0,244,1,11,192,197,226,245,1,12,192,197,34,24,2,8,192,198,66,25,2,8,192,198,130,230,1,11,192,197,98,231,1,11,192,197,162,232,1,7,192,198,194,233,1,8,192,198,2,123,1,12,0,123,1,6,192,198,194,124,1,7,192,198,2,125,1,7,192,198,66,126,1,7,192,198,130,120,1,6,192,198,2,121,1,6,192,198,66,122,1,6,192,198,130,97,1,23,0,100,1,12,0,100,1,5,192,198,2,101,1,5,192,198,66,118,1,5,192,198,130,119,1,5,192,198,194,97,1,4,192,198,66,98,1,4,192,198,130,99,1,4,192,198,194,93,1,12,0,93,1,3,192,198,66,94,1,3,192,198,130,95,1,3,192,198,194,96,1,4,192,198,2,90,1,2,192,198,130,91,1,2,192,198,194,92,1,3,192,198,2,221,0,51,0,30,1,26,0,34,1,12,0,34,1,10,192,197,226,35,1,11,192,197,34,54,1,2,192,198,2,55,1,2,192,198,66,30,1,9,192,197,226,31,1,10,192,197,34,32,1,10,192,197,98,33,1,10,192,197,162,14,1,12,0,14,1,8,192,197,226,15,1,9,192,197,34,28,1,9,192,197,98,29,1,9,192,197,162,221,0,1,192,198,66,253,0,1,192,198,130,255,0,1,192,198,194,100,0,54,0,115,0,12,0,115,0,0,192,198,193,116,0,0,192,198,225,121,0,1,192,198,1,122,0,1,192,198,33,100,0,255,255,2,69,71,5,103,0,3,0,107,0,0,192,198,161,199,127,3,69,71,5,4,30,12,0,4,30,7,192,197,226,5,30,8,192,197,34,6,30,8,192,197,98,7,30,8,192,197,162,66,0,255,255,4,69,74,5,98,0,255,255,4,69,73,5,2,30,7,192,197,98,3,30,7,192,197,162,83,0,11,0,83,0,198,161,84,0,0,192,198,65,89,0,0,192,198,97,90,0,0,192,198,129,68,0,255,255,2,69,136,5,71,0,2,0,75,0,198,129,195,127,3,69,136,5,66,0,255,255,4,69,139,5,2,30,6,192,197,162,4,30,6,192,197,226,6,30,7,192,197,34,0,78,156,5,16,0,36,30,29,0,40,30,15,0,40,30,17,192,197,226,41,30,18,192,197,34,42,30,18,192,197,98,43,30,18,192,197,162,150,30,18,192,197,226,36,30,16,192,197,226,37,30,17,192,197,34,38,30,17,192,197,98,39,30,17,192,197,162,30,2,12,0,30,2,15,192,197,226,31,2,16,192,197,34,34,30,16,192,197,98,35,30,16,192,197,162,72,0,255,255,2,79,136,5,104,0,255,255,2,79,71,5,36,1,15,192,197,98,37,1,15,192,197,162,0,80,156,5,21,0,25,2,37,0,100,30,20,0,103,30,9,0,103,30,23,192,197,195,104,30,24,192,197,35,105,30,24,192,197,131,100,30,22,192,197,163,101,30,23,192,197,3,102,30,23,192,197,99,25,2,21,192,197,98,96,30,21,192,197,162,97,30,21,192,197,226,98,30,22,192,197,34,99,30,22,192,197,98,93,1,20,0,96,1,9,0,96,1,20,192,197,162,97,1,20,192,197,226,24,2,21,192,197,34,93,1,19,192,197,226,94,1,20,192,197,34,95,1,20,192,197,98,83,0,255,255,2,81,136,5,115,0,255,255,2,81,71,5,90,1,19,192,197,34,91,1,19,192,197,98,92,1,19,192,197,162,0,54,5,5,7,0,4,30,12,0,4,30,25,192,197,98,5,30,25,192,197,162,6,30,25,192,197,226,7,30,26,192,197,34,66,0,2,247,70,5,98,0,2,247,5,5,2,30,24,192,197,226,3,30,25,192,197,34,0,62,5,5,5,0,85,30,9,0,85,30,26,192,197,162,86,30,26,192,197,226,87,30,27,192,197,34,80,0,2,255,70,5,112,0,2,255,5,5,84,30,26,192,197,98,0,66,5,5,23,0,6,30,42,0,86,30,20,0,125,30,9,0,125,30,30,192,197,162,126,30,30,192,197,226,127,30,31,192,197,34,86,30,29,192,197,226,87,30,30,192,197,34,124,30,30,192,197,98,31,30,9,0,31,30,29,192,197,34,84,30,29,192,197,98,85,30,29,192,197,162,6,30,28,192,197,98,7,30,28,192,197,162,30,30,28,192,197,226,112,0,22,0,3,30,9,0,3,30,27,192,197,162,4,30,27,192,197,226,5,30,28,192,197,34,112,0,255,255,4,67,5,5,118,0,255,255,5,67,5,5,2,30,27,192,197,98,86,0,12,0,86,0,255,255,5,67,70,5,98,0,255,255,2,67,5,5,102,0,255,255,3,67,5,5,66,0,255,255,2,67,70,5,70,0,255,255,3,67,70,5,80,0,255,255,4,67,70,5,0,68,5,5,0,0,116,0,26,2,207,0,103,30,104,0,146,30,51,0,243,30,26,0,247,30,12,0,247,30,50,192,197,130,248,30,31,192,198,2,249,30,50,192,197,194,42,33,21,192,198,1,243,30,50,192,197,2,244,30,30,192,198,130,245,30,50,192,197,66,246,30,30,192,198,194,149,30,12,0,149,30,49,192,197,66,151,30,49,192,197,130,153,30,49,192,197,194,242,30,30,192,198,66,146,30,29,192,198,194,147,30,49,192,197,2,148,30,30,192,198,2,110,30,26,0,142,30,12,0,142,30,29,192,198,66,143,30,48,192,197,130,144,30,29,192,198,130,145,30,48,192,197,194,110,30,28,192,198,194,111,30,48,192,197,2,112,30,29,192,198,2,113,30,48,192,197,66,106,30,12,0,106,30,28,192,198,66,107,30,47,192,197,130,108,30,28,192,198,130,109,30,47,192,197,194,103,30,46,192,197,195,104,30,27,192,198,227,105,30,47,192,197,35,32,30,51,0,53,30,26,0,99,30,12,0,99,30,46,192,197,34,100,30,27,192,198,35,101,30,46,192,197,99,102,30,27,192,198,131,53,30,45,192,197,162,96,30,26,192,198,162,97,30,45,192,197,226,98,30,26,192,198,226,49,30,12,0,49,30,45,192,197,34,50,30,26,192,198,34,51,30,45,192,197,98,52,30,26,192,198,98,32,30,44,192,197,162,33,30,44,192,197,226,48,30,25,192,198,226,13,30,23,0,16,30,12,0,16,30,43,192,197,162,17,30,43,192,197,226,18,30,44,192,197,34,19,30,44,192,197,98,13,30,42,192,197,226,14,30,43,192,197,34,15,30,43,192,197,98,51,2,12,0,51,2,41,192,197,226,10,30,42,192,197,34,11,30,42,192,197,98,12,30,42,192,197,162,26,2,25,192,198,98,27,2,41,192,197,162,50,2,25,192,198,162,90,1,101,0,120,1,51,0,230,1,26,0,244,1,12,0,244,1,40,192,197,226,245,1,41,192,197,34,24,2,25,192,198,34,25,2,41,192,197,98,230,1,40,192,197,34,231,1,40,192,197,98,232,1,24,192,198,226,233,1,40,192,197,162,123,1,12,0,123,1,24,192,198,98,124,1,39,192,197,162,125,1,24,192,198,162,126,1,39,192,197,226,120,1,23,192,198,226,121,1,24,192,198,34,122,1,39,192,197,98,97,1,23,0,100,1,12,0,100,1,23,192,198,98,101,1,38,192,197,226,118,1,23,192,198,162,119,1,39,192,197,34,97,1,38,192,197,98,98,1,23,192,198,34,99,1,38,192,197,162,93,1,12,0,93,1,37,192,197,226,94,1,22,192,198,162,95,1,38,192,197,34,96,1,22,192,198,226,90,1,22,192,198,34,91,1,37,192,197,162,92,1,22,192,198,98,221,0,51,0,30,1,26,0,34,1,12,0,34,1,36,192,197,226,35,1,37,192,197,34,54,1,21,192,198,226,55,1,37,192,197,98,30,1,35,192,197,226,31,1,36,192,197,34,32,1,36,192,197,98,33,1,36,192,197,162,14,1,12,0,14,1,34,192,197,226,15,1,35,192,197,34,28,1,35,192,197,98,29,1,35,192,197,162,221,0,21,192,198,162,253,0,34,192,197,98,255,0,34,192,197,162,100,0,59,0,115,0,16,0,115,0,255,255,5,69,193,3,116,0,255,255,5,69,193,4,121,0,255,255,5,69,193,5,122,0,255,255,5,69,193,6,100,0,255,255,2,69,5,5,103,0,4,0,107,0,255,255,5,69,193,2,199,127,3,69,5,5,4,30,12,0,4,30,33,192,197,98,5,30,33,192,197,162,6,30,33,192,197,226,7,30,34,192,197,34,66,0,255,255,4,69,70,5,98,0,255,255,4,69,5,5,2,30,32,192,197,226,3,30,33,192,197,34,83,0,12,0,83,0,21,192,198,33,84,0,21,192,198,65,89,0,21,192,198,97,90,0,21,192,198,129,68,0,255,255,2,69,70,5,71,0,3,0,75,0,21,192,198,1,199,127,3,69,70,5,4,30,12,0,4,30,31,192,197,226,5,30,32,192,197,34,6,30,32,192,197,98,7,30,32,192,197,162,66,0,255,255,4,69,72,5,98,0,255,255,4,69,71,5,2,30,31,192,197,98,3,30,31,192,197,162,0,78,5,5,16,0,36,30,29,0,40,30,15,0,40,30,53,192,197,130,41,30,53,192,197,194,42,30,54,192,197,2,43,30,54,192,197,66,150,30,54,192,197,130,36,30,52,192,197,130,37,30,52,192,197,194,38,30,53,192,197,2,39,30,53,192,197,66,30,2,12,0,30,2,51,192,197,130,31,2,51,192,197,194,34,30,52,192,197,2,35,30,52,192,197,66,72,0,255,255,2,79,70,5,104,0,255,255,2,79,5,5,36,1,51,192,197,2,37,1,51,192,197,66,0,80,5,5,21,0,25,2,37,0,100,30,20,0,103,30,9,0,103,30,59,192,197,99,104,30,59,192,197,195,105,30,60,192,197,35,100,30,58,192,197,67,101,30,58,192,197,163,102,30,59,192,197,3,25,2,57,192,197,2,96,30,57,192,197,66,97,30,57,192,197,130,98,30,57,192,197,194,99,30,58,192,197,2,93,1,20,0,96,1,9,0,96,1,56,192,197,66,97,1,56,192,197,130,24,2,56,192,197,194,93,1,55,192,197,130,94,1,55,192,197,194,95,1,56,192,197,2,83,0,255,255,2,81,70,5,115,0,255,255,2,81,5,5,90,1,54,192,197,194,91,1,55,192,197,2,92,1,55,192,197,66,80,0,66,0,67,0,68,0,69,0,70,0,73,0,75,0,76,0,80,0,81,0,83,0,85,0,86,0,87,0,89,0,91,0,98,0,99,0,100,0,101,0,102,0,105,0,107,0,108,0,112,0,113,0,115,0,117,0,118,0,119,0,121,0,123,0,221,0,222,0,253,0,254,0,255,0,0,1,14,1,16,1,28,1,38,1,54,1,56,1,90,1,102,1,118,1,127,1,230,1,234,1,244,1,246,1,24,2,28,2,30,2,32,2,50,2,52,2,2,30,8,30,10,30,20,30,30,30,44,30,48,30,54,30,84,30,88,30,96,30,114,30,124,30,128,30,142,30,152,30,153,30,154,30,242,30,250,30,42,33,43,33,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,26,4,185,88,186,92,186,100,32,4,185,112,38,4,56,4,185,172,185,176,185,180,185,188,156,4,166,4,185,212,185,216,185,220,185,224,185,228,185,232,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,188,4,168,88,168,92,168,100,194,4,168,112,200,4,218,4,168,172,168,176,168,180,168,188,62,5,72,5,168,212,168,216,168,220,168,224,168,228,168,232,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,172,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,93,154,93,250,93,90,94,217,68,154,138,185,173,153,173,249,173,153,174,89,174,136,14,217,174,185,213,153,213,249,213,89,214,153,229,185,236,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,93,136,93,232,93,72,94,200,68,136,138,168,173,136,173,232,173,136,174,72,174,128,14,200,174,168,213,136,213,232,213,72,214,136,229,168,236,72,230,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,184,153,113,136,113,249,114,232,114,25,114,8,114,121,115,104,115,89,115,72,115,154,137,136,137,250,138,232,138,26,138,8,138,10,8,185,168,168,168,57,175,40,175,217,173,200,173,121,174,104,174,12,8,14,8,153,189,136,189,249,190,232,190,25,190,8,190,154,193,136,193,250,193,232,193,250,194,232,194,26,194,8,194,249,202,232,202,25,202,8,202,185,208,168,208,153,214,136,214,57,215,40,215,217,213,200,213,57,214,40,214,121,214,104,214,25,215,8,215,249,221,232,221,249,229,232,229,89,230,153,233,136,233,185,234,168,234,25,234,8,234,232,192,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,192,169,192,200,56,169,72,187,92,187,100,169,92,169,100,169,240,169,136,217,172,187,72,200,172,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,80,66,4,187,84,98,4,178,84,255,5,185,104,80,4,187,108,112,4,178,108,255,5,185,116,66,4,187,120,70,4,187,124,80,4,187,128,86,4,187,132,98,4,178,120,102,4,178,124,112,4,178,128,118,4,178,132,255,5,186,136,68,4,187,140,71,2,75,4,187,148,83,4,187,152,84,4,187,156,89,4,187,160,90,4,187,164,100,4,178,140,103,2,107,4,178,148,115,4,178,152,116,4,178,156,121,4,178,160,122,4,178,164,221,4,155,161,253,4,146,161,255,4,82,162,14,5,27,142,15,5,18,142,28,5,251,145,29,5,242,145,30,5,219,145,31,5,210,145,32,5,187,146,33,5,178,146,34,5,251,146,35,5,242,146,54,5,251,150,55,5,242,150,90,5,155,153,91,5,146,153,92,5,251,153,93,5,242,153,94,5,251,154,95,5,242,154,96,5,27,154,97,5,18,154,98,5,251,158,99,5,242,158,100,5,27,158,101,5,18,158,118,5,251,161,119,5,242,161,120,5,91,162,121,5,155,165,122,5,146,165,123,5,187,166,124,5,178,166,125,5,27,166,126,5,18,166,255,5,186,192,72,4,187,196,104,4,178,196,36,5,251,197,37,5,242,197,255,5,185,200,83,4,187,204,115,4,178,204,90,5,155,205,91,5,146,205,92,5,251,205,93,5,242,205,94,5,251,206,95,5,242,206,96,5,27,206,97,5,18,206,255,5,168,80,66,4,177,84,98,4,168,84,255,5,168,104,80,4,177,108,112,4,168,108,255,5,168,116,66,4,177,120,70,4,177,124,80,4,177,128,86,4,177,132,98,4,168,120,102,4,168,124,112,4,168,128,118,4,168,132,255,5,168,136,68,4,177,140,71,2,75,4,177,148,83,4,177,152,84,4,177,156,89,4,177,160,90,4,177,164,100,4,168,140,103,2,107,4,168,148,115,4,168,152,116,4,168,156,121,4,168,160,122,4,168,164,221,4,145,161,253,4,136,161,255,4,72,162,14,5,17,142,15,5,8,142,28,5,241,145,29,5,232,145,30,5,209,145,31,5,200,145,32,5,177,146,33,5,168,146,34,5,241,146,35,5,232,146,54,5,241,150,55,5,232,150,90,5,145,153,91,5,136,153,92,5,241,153,93,5,232,153,94,5,241,154,95,5,232,154,96,5,17,154,97,5,8,154,98,5,241,158,99,5,232,158,100,5,17,158,101,5,8,158,118,5,241,161,119,5,232,161,120,5,81,162,121,5,145,165,122,5,136,165,123,5,177,166,124,5,168,166,125,5,17,166,126,5,8,166,255,5,168,192,72,4,177,196,104,4,168,196,36,5,241,197,37,5,232,197,255,5,168,200,83,4,177,204,115,4,168,204,90,5,145,205,91,5,136,205,92,5,241,205,93,5,232,205,94,5,241,206,95,5,232,206,96,5,17,206,97,5,8,206,255,1,170,170,3,0,69,0,52,0,61,0,207,0,0,16,22,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,96,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,52,0,0,0,52,0,0,0,4,25,0,0,4,25,0,0,4,25,0,0,4,25,0,0,72,25,0,0,50,105,114,84,1,0,64,8,132,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,91,0,99,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,115,0,48,0,48,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,107,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,64,1,192,0,192,0,108,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,219,15,0,16,4,0,0,96,1,0,0,96,2,0,43,0,84,0,170,170,211,15,0,32,52,22,0,32,1,0,32,0,57,22,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,120,0,0,32,7,0,0,0,21,0,0,0,122,0,0,0,122,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,111,0,111,0,93,0,0,0,170,170,68,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,44,0,0,0,44,1,0,0,24,0,0,0,0,0,0,115,180,255,132,115,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,0,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,113,0,0,32,1,0,32,0,118,0,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,250,9,0,32,7,0,0,0,21,0,0,0,252,9,0,0,252,9,0,0,3,0,0,0,0,0,0,0,72,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,96,220,38,0,0,3,61,0,7,3,0,3,38,0,1,3,61,0,7,3,1,3,38,0,3,3,61,0,7,3,3,3,38,0,65,0,60,0,60,0,5,1,60,0,60,0,60,0,4,1,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,38,0,69,0,60,0,60,0,25,1,60,0,60,0,60,0,24,1,60,0,60,0,23,1,60,0,60,0,60,0,22,1,38,0,73,0,60,0,60,0,47,1,60,0,60,0,60,0,46,1,60,0,60,0,121,0,60,0,60,0,60,0,89,0,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,85,0,60,0,60,0,115,1,60,0,60,0,60,0,114,1,60,0,60,0,107,1,60,0,60,0,60,0,106,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,0,0,170,170,170,170,170,170,170,170,170,170,170,170,154,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,212,29,0,0,212,29,0,0,212,29,0,0,212,29,0,0,240,31,0,0,240,31,0,0,98,34,0,0,98,34,0,0,130,38,0,0,50,105,114,84,1,0,64,8,208,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,108,0,116,0,48,0,56,0,121,0,129,0,48,0,56,0,48,0,56,0,48,0,56,0,136,0,144,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,162,0,48,0,48,0,170,0,177,0,184,0,48,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,199,0,160,0,48,0,48,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,152,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,176,1,192,0,228,1,192,0,192,0,192,0,32,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,15,0,202,193,15,0,202,226,15,0,202,3,16,0,202,36,16,0,202,69,16,0,202,102,16,0,202,135,16,0,202,168,16,0,202,201,16,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,198,0,0,156,5,0,48,201,134,1,0,156,5,0,52,156,5,0,54,156,5,0,56,201,166,2,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,102,3,0,156,5,0,80,201,70,4,0,156,5,0,84,160,5,0,86,156,5,0,88,134,71,0,58,201,166,5,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,134,6,0,5,5,0,44,201,70,7,0,5,5,0,48,201,6,8,0,5,5,0,52,5,5,0,54,5,5,0,56,201,38,9,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,230,9,0,5,5,0,80,201,198,10,0,5,5,0,84,5,5,0,86,5,5,0,88,5,71,0,58,201,38,12,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,14,0,201,6,13,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,197,98,0,0,160,5,38,93,197,34,15,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,15,0,201,166,13,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,197,226,0,0,5,5,38,93,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,42,5,70,0,42,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,70,0,50,5,70,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,58,5,70,0,58,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,14,0,201,38,15,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,82,5,71,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,82,5,70,0,82,192,0,0,0,192,0,0,0,197,226,1,0,197,34,2,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,15,0,201,166,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,17,0,201,38,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,18,0,201,166,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,4,0,197,98,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,22,0,201,102,23,0,201,38,24,0,201,230,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,25,0,201,102,26,0,192,0,0,0,192,0,0,0,197,34,6,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,27,0,201,230,27,0,201,166,28,0,201,102,29,0,201,38,30,0,201,230,30,0,192,0,0,0,192,0,0,0,197,34,8,0,197,98,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,8,0,197,226,8,0,192,0,0,0,192,0,0,0,201,166,31,0,201,102,32,0,201,38,33,0,201,230,33,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,34,0,201,102,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,36,0,201,230,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,37,0,201,102,38,0,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,197,162,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,134,71,0,58,5,136,0,0,5,5,2,47,5,160,0,0,5,71,0,58,5,136,0,0,5,71,0,58,5,150,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,71,0,58,5,142,0,0,5,71,0,58,5,142,0,0,134,71,0,58,5,150,0,0,134,71,0,82,5,190,0,0,5,71,0,82,5,190,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,71,0,50,5,160,0,0,5,71,0,50,5,160,0,0,134,71,0,58,5,164,0,0,5,71,0,58,5,164,0,0,134,71,0,50,5,204,0,0,5,71,0,50,5,204,0,0,134,71,0,50,5,208,0,0,5,71,0,50,5,208,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,71,0,82,5,198,0,0,5,71,0,82,5,198,0,0,134,71,0,82,5,208,0,0,5,71,0,82,5,208,0,0,134,71,0,82,5,204,0,0,5,71,0,82,5,204,0,0,134,71,0,82,5,150,0,0,5,71,0,82,5,150,0,0,134,71,0,58,5,156,0,0,5,71,0,58,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,5,71,0,58,5,146,0,0,134,71,0,50,5,196,0,0,5,71,0,50,5,196,0,0,134,71,0,82,5,196,0,0,5,71,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,71,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,71,0,82,5,190,0,0,5,196,0,0,134,71,0,58,5,138,0,0,5,71,0,58,5,138,0,0,134,71,0,58,5,196,0,0,5,71,0,58,5,196,0,0,134,71,0,58,5,182,0,0,5,71,0,58,5,182,0,0,134,71,0,58,5,154,0,0,5,71,0,58,5,154,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,40,3,0,234,134,70,0,46,156,5,48,0,12,3,2,239,134,5,0,50,156,5,1,0,7,3,0,242,134,71,40,3,0,242,134,70,0,58,156,5,48,0,40,3,0,250,134,70,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,82,156,5,1,0,4,3,255,255,0,82,134,71,40,3,255,255,0,82,134,70,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,42,5,5,48,0,40,3,0,234,5,70,0,46,5,5,48,0,12,3,2,239,5,5,0,50,5,5,1,0,7,3,0,242,5,71,40,3,0,242,5,70,0,58,5,5,48,0,40,3,0,250,5,70,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,82,5,5,1,0,4,3,255,255,0,82,5,71,40,3,255,255,0,82,5,70,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,162,156,78,196,160,48,0,12,3,1,192,197,98,5,78,196,160,48,0,12,3,1,192,197,162,156,82,196,190,48,0,4,3,2,192,197,162,5,82,196,190,48,0,4,3,2,192,197,226,156,78,196,202,48,0,12,3,3,192,197,34,5,78,196,202,48,0,12,3,3,192,197,98,156,50,196,160,48,0,7,3,3,192,197,162,5,50,196,160,48,0,7,3,3,192,197,226,0,0,5,156,4,0,0,3,0,192,5,138,1,3,0,192,5,136,3,3,0,192,5,154,64,3,0,192,5,138,65,3,0,192,5,136,156,50,196,204,48,0,7,3,4,192,197,162,5,50,196,204,48,0,7,3,4,192,197,226,156,50,196,208,48,0,7,3,5,192,197,34,5,50,196,208,48,0,7,3,5,192,197,98,156,78,196,196,48,0,12,3,5,192,197,162,5,78,196,196,48,0,12,3,5,192,197,226,156,82,196,198,48,0,4,3,6,192,197,162,5,82,196,198,48,0,4,3,6,192,197,226,156,82,196,208,48,0,4,3,7,192,197,34,5,82,196,208,48,0,4,3,7,192,197,98,156,82,196,204,48,0,4,3,7,192,197,162,5,82,196,204,48,0,4,3,7,192,197,226,156,92,196,196,48,0,12,3,9,192,197,34,5,92,196,196,48,0,12,3,9,192,197,98,156,92,196,210,48,0,12,3,9,192,197,162,5,92,196,210,48,0,12,3,9,192,197,226,156,50,196,196,48,0,7,3,10,192,197,98,5,50,196,196,48,0,7,3,10,192,197,162,156,82,196,196,48,0,4,3,10,192,197,226,5,82,196,196,48,0,4,3,11,192,197,34,11,0,197,99,48,0,4,3,11,192,197,195,12,0,197,35,48,0,4,3,12,192,197,131,5,2,64,12,32,14,192,14,232,14,36,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,38,4,185,60,40,4,185,72,42,4,185,80,185,84,185,88,44,4,186,100,185,104,185,108,185,112,186,116,185,124,185,128,185,132,185,140,46,4,185,152,48,4,185,164,185,168,185,172,249,92,50,4,88,13,168,13,96,13,56,14,80,12,40,14,52,4,168,60,54,4,168,72,56,4,168,80,168,84,168,88,58,4,168,100,168,104,168,108,168,112,168,116,168,124,168,128,168,132,168,140,60,4,168,152,62,4,168,164,168,168,168,172,232,92,64,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,66,4,186,77,154,77,250,77,90,78,186,93,154,93,250,93,90,94,217,72,154,118,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,161,153,161,249,161,89,162,2,8,185,184,4,8,168,57,136,57,232,57,136,58,72,58,40,58,6,8,68,4,168,77,136,77,232,77,72,78,168,93,136,93,232,93,72,94,200,72,136,118,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,161,136,161,232,161,72,162,8,8,168,184,10,8,25,59,8,59,217,57,200,57,217,56,200,56,153,65,136,65,249,65,232,65,185,66,168,66,185,68,168,68,25,74,8,74,57,75,40,75,26,79,8,79,218,77,200,77,249,76,232,76,217,76,200,76,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,249,86,232,86,249,89,232,89,57,91,40,91,154,94,136,94,26,95,8,95,218,93,200,93,217,92,200,92,186,94,168,96,12,8,14,8,250,101,232,101,249,106,232,106,168,136,153,109,136,109,249,110,232,110,25,110,8,110,89,111,72,111,57,111,40,111,154,117,136,117,250,118,232,118,26,118,8,118,16,8,185,120,168,120,25,127,8,127,217,125,200,125,121,126,104,126,18,8,20,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,70,4,72,4,185,148,168,148,249,154,232,154,25,154,8,154,185,156,168,156,153,162,136,162,249,160,232,160,217,161,200,161,57,162,40,162,121,162,104,162,217,160,200,160,249,169,232,169,22,8,24,8,26,8,153,177,136,177,185,178,168,178,185,180,168,180,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,28,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,30,8,1,0,8,14,32,8,1,0,16,14,0,13,8,13,24,14,34,8,200,12,72,12,32,14,249,56,187,76,249,92,136,1,200,144,169,144,232,56,169,76,232,92,136,1,232,92,72,2,187,92,187,100,169,92,169,100,169,188,169,116,217,124,187,76,200,124,169,76,249,92,232,1,232,92,232,1,249,92,72,2,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,64,255,5,186,76,255,5,186,92,255,5,186,144,255,5,185,160,255,5,185,176,255,5,168,56,255,5,168,64,255,5,168,76,255,5,168,92,255,5,168,144,255,5,168,160,255,5,168,176,255,5,249,66,255,5,232,66,255,5,250,146,255,5,232,146,255,1,170,170,3,0,69,0,52,0,61,0,75,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,243,9,0,32,1,0,32,0,248,9,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,48,9,0,32,7,0,0,0,21,0,0,0,50,9,0,0,50,9,0,0,3,0,0,0,0,0,0,0,101,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,153,220,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,68,0,60,0,13,1,60,0,60,0,60,0,12,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,72,0,60,0,35,1,60,0,60,0,60,0,34,1,38,0,73,0,60,0,60,0,121,0,60,0,60,0,60,0,89,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,76,0,60,0,55,1,60,0,60,0,60,0,54,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,77,0,60,0,60,1,60,0,60,0,60,0,59,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,79,0,60,0,70,1,60,0,60,0,60,0,69,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,83,0,60,0,87,1,60,0,60,0,60,0,86,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,84,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,183,1,60,0,126,1,60,0,60,0,60,0,125,1,0,0,170,170,170,170,170,170,170,170,170,170,2,35,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,20,28,0,0,20,28,0,0,20,28,0,0,20,28,0,0,96,29,0,0,96,29,0,0,194,30,0,0,194,30,0,0,234,34,0,0,50,105,114,84,1,0,64,8,180,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,48,0,56,0,48,0,56,0,112,0,120,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,144,0,149,0,48,0,48,0,156,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,163,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,136,0,48,0,48,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,0,192,0,192,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,9,0,202,65,9,0,202,98,9,0,202,131,9,0,202,164,9,0,202,197,9,0,202,230,9,0,202,7,10,0,202,40,10,0,202,73,10,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,198,0,0,156,5,0,56,156,5,0,58,156,5,0,60,201,134,1,0,201,70,2,0,156,5,0,66,201,38,3,0,156,5,0,70,156,5,0,72,160,5,0,74,201,6,4,0,201,230,4,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,134,70,0,58,201,198,5,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,166,6,0,5,5,0,48,5,5,0,50,5,5,0,52,201,102,7,0,5,5,0,56,5,5,0,58,5,5,0,60,201,38,8,0,201,230,8,0,5,5,0,66,201,198,9,0,5,5,0,70,5,5,0,72,5,5,0,74,201,166,10,0,201,134,11,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,70,0,58,201,102,12,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,8,0,201,70,13,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,197,98,0,0,160,5,38,93,197,162,8,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,8,0,201,230,13,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,197,226,0,0,5,5,38,93,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,47,5,5,21,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,27,55,5,5,27,55,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,63,5,5,21,63,192,0,0,0,192,0,0,0,192,0,0,0,134,5,45,65,5,5,45,65,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,33,69,5,5,33,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,63,77,5,5,63,77,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,14,0,201,102,15,0,134,5,35,79,5,5,35,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,1,0,197,34,2,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,25,93,5,5,25,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,16,0,201,230,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,3,0,197,98,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,17,0,201,102,18,0,192,0,0,0,192,0,0,0,197,34,4,0,197,98,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,197,226,4,0,192,0,0,0,192,0,0,0,201,38,19,0,201,230,19,0,201,166,20,0,201,102,21,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,197,98,7,0,197,162,7,0,197,226,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,21,47,5,160,0,0,134,70,0,58,5,136,0,0,5,5,21,47,5,160,0,0,5,70,0,58,5,136,0,0,5,70,0,58,5,150,0,0,134,5,35,79,5,160,0,0,5,5,35,79,5,160,0,0,134,70,0,58,5,142,0,0,5,70,0,58,5,142,0,0,134,70,0,58,5,150,0,0,134,5,35,79,5,202,0,0,5,5,35,79,5,202,0,0,134,70,0,58,5,164,0,0,5,70,0,58,5,164,0,0,134,5,35,79,5,196,0,0,5,5,35,79,5,196,0,0,134,5,35,79,5,156,0,0,5,5,35,79,5,156,0,0,134,70,0,58,5,156,0,0,5,70,0,58,5,156,0,0,134,5,25,93,5,196,0,0,5,5,25,93,5,196,0,0,134,5,25,93,5,210,0,0,5,5,25,93,5,210,0,0,5,70,0,58,5,146,0,0,134,70,0,58,5,138,0,0,5,70,0,58,5,138,0,0,134,70,0,58,5,196,0,0,5,70,0,58,5,196,0,0,134,70,0,58,5,182,0,0,5,70,0,58,5,182,0,0,134,70,0,58,5,154,0,0,5,70,0,58,5,154,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,12,3,21,239,134,5,0,54,156,5,48,0,39,3,27,247,134,5,0,62,156,5,48,0,39,3,21,255,134,5,0,64,156,5,48,0,39,3,255,255,45,65,134,5,0,68,156,5,48,0,39,3,255,255,33,69,134,5,0,76,156,5,48,0,39,3,255,255,63,77,134,5,0,78,156,5,48,0,12,3,255,255,35,79,134,5,0,92,156,5,48,0,12,3,255,255,25,93,134,5,0,46,5,5,48,0,12,3,21,239,5,5,0,54,5,5,48,0,39,3,27,247,5,5,0,62,5,5,48,0,39,3,21,255,5,5,0,64,5,5,48,0,39,3,255,255,45,65,5,5,0,68,5,5,48,0,39,3,255,255,33,69,5,5,0,76,5,5,48,0,39,3,255,255,63,77,5,5,0,78,5,5,48,0,12,3,255,255,35,79,5,5,0,92,5,5,48,0,12,3,255,255,25,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,162,156,78,196,160,48,0,12,3,1,192,197,98,5,78,196,160,48,0,12,3,1,192,197,162,156,78,196,202,48,0,12,3,2,192,197,162,5,78,196,202,48,0,12,3,2,192,197,226,156,78,196,196,48,0,12,3,3,192,197,162,5,78,196,196,48,0,12,3,3,192,197,226,156,92,196,196,48,0,12,3,5,192,197,34,5,92,196,196,48,0,12,3,5,192,197,98,156,92,196,210,48,0,12,3,5,192,197,162,5,92,196,210,48,0,12,3,5,192,197,226,5,2,64,12,32,14,192,14,232,14,36,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,38,4,185,72,186,76,185,80,40,4,185,92,186,96,186,104,42,4,44,4,185,124,46,4,185,140,185,144,185,148,48,4,50,4,185,172,185,180,185,184,185,188,185,192,217,96,52,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,54,4,168,72,168,76,168,80,56,4,168,92,168,96,168,104,58,4,60,4,168,124,62,4,168,140,168,144,168,148,64,4,66,4,168,172,168,180,168,184,168,188,168,192,200,96,68,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,70,4,186,77,154,77,250,77,90,78,186,97,154,97,250,97,90,98,217,72,154,130,185,141,153,141,249,141,153,142,89,142,136,14,217,142,185,181,153,181,249,181,89,182,2,8,185,204,4,8,168,57,136,57,232,57,136,58,72,58,40,58,6,8,72,4,168,77,136,77,232,77,72,78,168,97,136,97,232,97,72,98,200,72,136,130,168,141,136,141,232,141,136,142,72,142,128,14,200,142,168,181,136,181,232,181,72,182,8,8,168,204,10,8,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,185,68,168,68,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,217,85,200,85,185,86,168,86,185,88,168,88,249,93,232,93,89,95,72,95,154,98,136,98,58,99,40,99,218,97,200,97,26,99,8,99,186,98,168,100,12,8,14,8,250,105,232,105,185,112,168,112,168,152,153,117,136,117,185,120,168,120,25,118,8,118,121,119,104,119,89,119,72,119,154,129,136,129,185,136,168,136,26,130,8,130,16,8,185,132,168,132,57,143,40,143,217,141,200,141,121,142,104,142,18,8,20,8,153,157,136,157,185,160,168,160,25,158,8,158,154,165,136,165,250,165,232,165,74,4,76,4,185,168,168,168,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,22,8,24,8,26,8,153,197,136,197,185,198,168,198,185,200,168,200,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,28,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,30,8,1,0,8,14,32,8,1,0,16,14,0,13,8,13,24,14,34,8,200,12,72,12,32,14,217,56,187,76,217,96,136,1,200,164,169,164,200,56,169,76,200,96,136,1,200,96,72,2,187,96,187,104,169,96,169,104,169,208,169,128,217,140,187,76,200,140,169,76,217,96,232,1,200,96,232,1,217,96,72,2,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,84,255,5,185,108,255,5,185,116,255,5,186,128,255,5,185,156,255,5,186,164,255,5,185,196,255,5,168,64,255,5,168,84,255,5,168,108,255,5,168,116,255,5,168,128,255,5,168,156,255,5,168,164,255,5,168,196,255,5,249,66,255,5,232,66,255,5,250,166,255,5,232,166,255,1,170,170,3,0,69,0,52,0,61,0,103,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,41,9,0,32,1,0,32,0,46,9,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,7,0,32,7,0,0,0,21,0,0,0,6,7,0,0,6,7,0,0,3,0,0,0,0,0,0,0,53,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,57,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,91,0,115,0,117,0,112,0,112,0,114,0,101,0,115,0,115,0,67,0,111,0,110,0,116,0,114,0,97,0,99,0,116,0,105,0,111,0,110,0,115,0,32,0,91,0,24,4,56,4,93,0,93,0,38,0,3,5,60,0,83,4,60,0,60,0,60,0,3,4,38,0,91,4,60,0,92,4,60,0,60,0,60,0,12,4,0,0,170,170,170,170,170,170,170,170,170,170,20,27,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,80,26,0,0,80,26,0,0,80,26,0,0,80,26,0,0,164,26,0,0,164,26,0,0,252,26,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,136,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,95,0,103,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,119,0,48,0,48,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,124,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,134,5,37,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,171,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,174,5,70,97,197,34,0,0,201,102,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,97,197,98,0,0,201,38,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,174,5,70,97,5,140,0,0,5,5,70,97,5,140,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,16,97,174,5,1,0,1,3,255,255,37,97,134,5,65,3,255,255,37,97,134,5,84,97,174,5,1,0,1,3,255,255,171,97,134,5,65,3,255,255,171,97,134,5,16,97,5,5,1,0,1,3,255,255,37,97,5,5,65,3,255,255,37,97,5,5,84,97,5,5,1,0,1,3,255,255,171,97,5,5,65,3,255,255,171,97,5,5,3,0,69,0,52,0,61,0,55,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,253,6,0,32,1,0,32,0,2,7,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,104,7,0,32,7,0,0,0,21,0,0,0,106,7,0,0,106,7,0,0,3,0,0,0,0,0,0,0,107,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,165,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,77,0,108,0,121,0,109,0,32,0,76,0,97,0,116,0,110,0,32,0,68,0,101,0,118,0,97,0,32,0,65,0,114,0,97,0,98,0,32,0,84,0,97,0,109,0,108,0,32,0,75,0,110,0,100,0,97,0,32,0,84,0,101,0,108,0,117,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,3,13,60,0,60,0,61,13,38,0,76,13,60,0,60,0,87,13,38,0,21,13,77,13,60,0,60,0,21,13,77,13,13,32,60,0,60,0,60,0,127,13,38,0,35,13,77,13,60,0,60,0,35,13,77,13,13,32,60,0,60,0,60,0,122,13,38,0,40,13,77,13,60,0,60,0,40,13,77,13,13,32,60,0,60,0,60,0,123,13,38,0,48,13,77,13,60,0,60,0,48,13,77,13,13,32,60,0,60,0,60,0,124,13,38,0,50,13,77,13,60,0,60,0,50,13,77,13,13,32,60,0,60,0,60,0,125,13,38,0,51,13,77,13,60,0,60,0,51,13,77,13,13,32,60,0,60,0,60,0,126,13,38,0,46,13,77,13,60,0,60,0,2,13,38,0,40,13,77,13,60,0,60,0,60,0,123,13,77,13,0,0,170,170,210,27,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,160,0,0,0,160,1,0,0,160,26,0,0,160,26,0,0,160,26,0,0,160,26,0,0,84,27,0,0,84,27,0,0,180,27,0,0,186,27,0,0,26,0,0,0,25,0,0,0,10,0,0,0,2,0,0,0,35,0,0,0,21,0,0,0,36,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,33,0,0,0,0,0,0,41,255,255,0,96,7,0,0,102,248,255,0,103,6,0,0,104,245,255,0,105,249,255,0,109,242,255,0,110,243,255,0,111,241,255,0,112,183,255,0,113,245,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,103,104,105,106,107,108,94,109,93,98,99,100,101,95,97,96,39,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,135,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,112,0,118,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,4,0,202,129,4,0,202,162,4,0,202,195,4,0,202,228,4,0,202,5,5,0,202,38,5,0,202,71,5,0,202,104,5,0,202,137,5,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,3,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,3,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,4,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,226,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,194,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,162,2,0,192,0,0,0,201,130,3,0,201,98,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,21,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,148,112,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,1,0,201,70,5,0,197,162,2,0,197,226,2,0,197,34,3,0,197,98,3,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,90,112,5,70,152,112,5,5,40,112,5,76,152,112,5,5,68,112,5,75,152,112,5,5,78,112,5,74,152,112,5,5,94,112,5,73,152,112,5,5,96,112,5,72,152,112,5,5,108,112,5,71,152,112,5,5,68,112,6,75,152,112,5,5,78,112,6,74,152,112,5,5,78,112,6,5,152,112,5,5,94,112,6,73,152,112,5,5,96,112,6,72,152,112,5,5,108,112,6,71,152,112,5,5,40,112,6,76,152,112,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,40,112,5,5,49,0,77,13,13,32,0,192,197,98,68,112,5,5,49,0,77,13,13,32,0,192,197,162,78,112,5,5,49,0,77,13,13,32,0,192,197,226,94,112,5,5,49,0,77,13,13,32,1,192,197,34,96,112,5,5,49,0,77,13,13,32,1,192,197,98,108,112,5,5,49,0,77,13,13,32,1,192,197,162,2,0,197,34,48,0,77,13,2,192,197,98,2,0,13,32,14,32,170,170,3,0,69,0,52,0,61,0,107,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,97,7,0,32,1,0,32,0,102,7,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,127,0,0,32,7,0,0,0,21,0,0,0,129,0,0,0,129,0,0,0,3,0,0,0,0,0,0,0,33,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,32,0,77,0,111,0,110,0,103,0,93,0,0,0,170,170,170,170,170,170,170,170,80,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,56,0,0,0,56,1,0,0,8,0,0,0,27,0,0,0,0,0,0,97,198,255,0,98,0,0,52,118,178,255,56,118,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,0,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,35,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,120,0,0,32,1,0,32,0,125,0,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,10,0,0,0,14,0,0,0,14,0,0,0,1,0,0,0,0,0,0,0,14,0,0,0,37,37,65,76,73,65,83,0,0,0,114,0,111,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,223,6,0,32,7,0,0,0,21,0,0,0,225,6,0,0,225,6,0,0,3,0,0,0,0,0,0,0,73,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,98,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,80,9,60,0,2,9,60,0,60,0,1,9,60,0,3,9,38,0,57,9,60,0,51,9,60,0,21,9,77,9,55,9,60,0,28,9,77,9,30,9,0,0,170,170,170,170,170,170,170,170,46,26,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,120,0,0,0,120,1,0,0,152,25,0,0,152,25,0,0,160,25,0,0,160,25,0,0,236,25,0,0,236,25,0,0,12,26,0,0,22,26,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,39,40,41,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,193,2,7,104,193,3,7,104,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,143,104,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,2,7,104,0,0,0,0,193,2,143,104,194,5,175,240,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,62,104,5,5,49,0,77,9,55,9,255,255,143,104,193,3,78,104,5,5,49,0,77,9,30,9,255,255,143,104,193,4,4,0,30,9,31,9,55,9,56,9,170,170,3,0,69,0,52,0,61,0,75,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,216,6,0,32,1,0,32,0,221,6,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,7,8,0,32,7,0,0,0,21,0,0,0,9,8,0,0,9,8,0,0,3,0,0,0,0,0,0,0,86,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,123,220,91,0,99,0,97,0,115,0,101,0,70,0,105,0,114,0,115,0,116,0,32,0,117,0,112,0,112,0,101,0,114,0,93,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,99,0,60,0,11,1,60,0,60,0,60,0,10,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,103,0,60,0,103,0,7,3,60,0,60,0,60,0,71,0,7,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,104,0,60,0,103,0,39,1,60,0,60,0,60,0,103,0,38,1,60,0,60,0,60,0,71,0,39,1,60,0,60,0,60,0,71,0,38,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,105,0,60,0,39,1,60,0,60,0,60,0,38,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,122,0,60,0,122,0,7,3,60,0,60,0,60,0,90,0,7,3,0,0,170,170,170,170,170,170,160,30,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,35,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,68,25,0,0,68,25,0,0,68,25,0,0,68,25,0,0,200,25,0,0,200,25,0,0,138,26,0,0,144,26,0,0,136,30,0,0,50,105,114,84,1,0,64,8,135,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,90,0,98,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,118,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,126,0,114,0,48,0,48,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,106,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,104,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,2,0,202,1,3,0,202,34,3,0,202,67,3,0,202,100,3,0,202,133,3,0,202,166,3,0,202,199,3,0,202,232,3,0,202,9,4,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,196,0,0,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,70,2,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,38,3,0,5,5,0,48,5,5,0,50,5,5,0,52,201,228,3,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,102,5,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,2,0,201,70,6,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,2,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,2,0,201,230,6,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,25,45,5,5,25,45,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,53,5,5,21,53,201,166,7,0,201,102,8,0,192,0,0,0,192,0,0,0,134,5,27,57,5,5,27,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,17,91,5,5,17,91,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,9,0,201,230,9,0,201,166,10,0,201,102,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,25,45,5,160,0,0,5,5,25,45,5,160,0,0,134,5,21,53,5,160,0,0,5,5,21,53,5,160,0,0,134,5,17,91,5,196,0,0,5,5,17,91,5,196,0,0,134,5,17,91,5,210,0,0,5,5,17,91,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,7,3,25,237,134,5,0,54,156,5,2,0,38,1,27,247,136,5,39,1,27,247,71,5,7,3,21,245,134,5,0,92,156,5,48,0,7,3,255,255,17,91,134,5,0,46,5,5,48,0,7,3,25,237,5,5,0,54,5,5,2,0,38,1,27,247,70,5,39,1,27,247,5,5,7,3,21,245,5,5,0,92,5,5,48,0,7,3,255,255,17,91,5,5,156,46,196,160,48,0,7,3,197,162,5,46,196,160,48,0,7,3,0,192,197,98,156,54,196,160,48,0,7,3,0,192,197,162,5,54,196,160,48,0,7,3,0,192,197,226,156,92,196,196,48,0,7,3,1,192,197,34,5,92,196,196,48,0,7,3,1,192,197,98,156,92,196,210,48,0,7,3,1,192,197,162,5,92,196,210,48,0,7,3,1,192,197,226,2,0,38,1,40,1,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,28,4,185,96,186,104,186,112,185,116,185,120,185,124,186,128,185,136,185,140,185,144,185,152,186,156,185,160,185,168,185,172,185,176,185,180,185,184,34,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,36,4,168,72,168,76,168,80,38,4,168,96,168,104,168,112,168,116,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,168,168,172,168,176,168,180,168,184,44,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,46,4,186,77,154,77,250,77,90,78,186,105,154,105,250,105,90,106,217,72,154,130,185,137,153,137,249,137,153,138,89,138,136,14,217,138,185,169,153,169,249,169,89,170,153,185,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,48,4,168,77,136,77,232,77,72,78,168,105,136,105,232,105,72,106,200,72,136,130,168,137,136,137,232,137,136,138,72,138,128,14,200,138,168,169,136,169,232,169,72,170,136,185,168,196,72,186,57,59,40,59,217,57,200,57,25,59,8,59,153,69,136,69,249,69,232,69,185,64,168,64,25,70,8,70,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,89,232,89,217,89,200,89,185,84,168,84,50,4,52,4,249,97,232,97,185,100,168,100,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,148,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,129,136,129,250,130,232,130,26,130,8,130,10,8,185,132,168,132,57,139,40,139,217,137,200,137,121,138,104,138,12,8,14,8,153,153,136,153,249,154,232,154,25,154,8,154,154,157,136,157,250,157,232,157,250,158,232,158,26,158,8,158,249,162,232,162,25,162,8,162,185,164,168,164,153,170,136,170,57,171,40,171,217,169,200,169,57,170,40,170,121,170,104,170,25,171,8,171,249,177,232,177,249,185,232,185,89,186,153,193,136,193,185,188,168,188,25,194,8,194,232,156,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,156,169,156,200,56,169,76,187,104,187,112,169,104,169,112,169,200,169,128,217,136,187,76,200,136,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,68,255,5,185,88,38,5,187,92,39,5,178,92,255,5,185,192,255,5,168,68,255,5,168,88,38,5,177,92,39,5,168,92,255,5,168,192,255,5,249,70,255,5,232,70,255,5,249,90,255,5,232,90,255,1,3,0,69,0,52,0,61,0,87,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,0,8,0,32,1,0,32,0,5,8,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,84,38,0,32,7,0,0,0,21,0,0,0,86,38,0,0,86,38,0,0,3,0,0,0,0,0,0,0,52,13,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,239,223,55,26,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,77,0,121,0,109,0,114,0,93,0,38,0,140,16,60,0,55,16,60,0,56,16,60,0,55,16,56,16,38,0,44,16,60,0,60,0,43,16,38,0,50,16,60,0,49,16,44,16,60,0,60,0,49,16,43,16,60,0,49,16,44,16,58,16,60,0,60,0,49,16,43,16,58,16,38,0,52,16,60,0,54,16,60,0,45,16,47,16,60,0,0,16,57,16,60,0,60,0,0,16,58,16,60,0,44,16,0,16,57,16,60,0,60,0,44,16,0,16,58,16,60,0,60,0,43,16,0,16,57,16,60,0,60,0,43,16,0,16,58,16,60,0,45,16,0,16,57,16,60,0,60,0,45,16,0,16,58,16,60,0,47,16,0,16,57,16,60,0,60,0,47,16,0,16,58,16,60,0,49,16,0,16,57,16,60,0,60,0,49,16,0,16,58,16,60,0,49,16,44,16,0,16,57,16,60,0,60,0,49,16,44,16,0,16,58,16,60,0,60,0,49,16,43,16,0,16,57,16,60,0,60,0,49,16,43,16,0,16,58,16,60,0,45,16,47,16,0,16,57,16,60,0,60,0,45,16,47,16,0,16,58,16,60,0,1,16,57,16,60,0,60,0,1,16,58,16,60,0,44,16,1,16,57,16,60,0,60,0,44,16,1,16,58,16,60,0,60,0,43,16,1,16,57,16,60,0,60,0,43,16,1,16,58,16,60,0,45,16,1,16,57,16,60,0,60,0,45,16,1,16,58,16,60,0,47,16,1,16,57,16,60,0,60,0,47,16,1,16,58,16,60,0,49,16,1,16,57,16,60,0,60,0,49,16,1,16,58,16,60,0,49,16,44,16,1,16,57,16,60,0,60,0,49,16,44,16,1,16,58,16,60,0,60,0,49,16,43,16,1,16,57,16,60,0,60,0,49,16,43,16,1,16,58,16,60,0,45,16,47,16,1,16,57,16,60,0,60,0,45,16,47,16,1,16,58,16,60,0,2,16,57,16,60,0,60,0,2,16,58,16,60,0,44,16,2,16,57,16,60,0,60,0,44,16,2,16,58,16,60,0,60,0,43,16,2,16,57,16,60,0,60,0,43,16,2,16,58,16,60,0,45,16,2,16,57,16,60,0,60,0,45,16,2,16,58,16,60,0,47,16,2,16,57,16,60,0,60,0,47,16,2,16,58,16,60,0,49,16,2,16,57,16,60,0,60,0,49,16,2,16,58,16,60,0,49,16,44,16,2,16,57,16,60,0,60,0,49,16,44,16,2,16,58,16,60,0,60,0,49,16,43,16,2,16,57,16,60,0,60,0,49,16,43,16,2,16,58,16,60,0,45,16,47,16,2,16,57,16,60,0,60,0,45,16,47,16,2,16,58,16,60,0,3,16,57,16,60,0,60,0,3,16,58,16,60,0,44,16,3,16,57,16,60,0,60,0,44,16,3,16,58,16,60,0,60,0,43,16,3,16,57,16,60,0,60,0,43,16,3,16,58,16,60,0,45,16,3,16,57,16,60,0,60,0,45,16,3,16,58,16,60,0,47,16,3,16,57,16,60,0,60,0,47,16,3,16,58,16,60,0,49,16,3,16,57,16,60,0,60,0,49,16,3,16,58,16,60,0,49,16,44,16,3,16,57,16,60,0,60,0,49,16,44,16,3,16,58,16,60,0,60,0,49,16,43,16,3,16,57,16,60,0,60,0,49,16,43,16,3,16,58,16,60,0,45,16,47,16,3,16,57,16,60,0,60,0,45,16,47,16,3,16,58,16,60,0,4,16,58,16,57,16,60,0,60,0,4,16,58,16,60,0,44,16,4,16,58,16,57,16,60,0,60,0,44,16,4,16,58,16,60,0,60,0,43,16,4,16,58,16,57,16,60,0,60,0,43,16,4,16,58,16,60,0,45,16,4,16,58,16,57,16,60,0,60,0,45,16,4,16,58,16,60,0,47,16,4,16,58,16,57,16,60,0,60,0,47,16,4,16,58,16,60,0,49,16,4,16,58,16,57,16,60,0,60,0,49,16,4,16,58,16,60,0,49,16,44,16,4,16,58,16,57,16,60,0,60,0,49,16,44,16,4,16,58,16,60,0,60,0,49,16,43,16,4,16,58,16,57,16,60,0,60,0,49,16,43,16,4,16,58,16,60,0,45,16,47,16,4,16,58,16,57,16,60,0,60,0,45,16,47,16,4,16,58,16,60,0,5,16,57,16,60,0,60,0,5,16,58,16,60,0,44,16,5,16,57,16,60,0,60,0,44,16,5,16,58,16,60,0,60,0,43,16,5,16,57,16,60,0,60,0,43,16,5,16,58,16,60,0,45,16,5,16,57,16,60,0,60,0,45,16,5,16,58,16,60,0,47,16,5,16,57,16,60,0,60,0,47,16,5,16,58,16,60,0,49,16,5,16,57,16,60,0,60,0,49,16,5,16,58,16,60,0,49,16,44,16,5,16,57,16,60,0,60,0,49,16,44,16,5,16,58,16,60,0,60,0,49,16,43,16,5,16,57,16,60,0,60,0,49,16,43,16,5,16,58,16,60,0,45,16,47,16,5,16,57,16,60,0,60,0,45,16,47,16,5,16,58,16,60,0,6,16,57,16,60,0,60,0,6,16,58,16,60,0,44,16,6,16,57,16,60,0,60,0,44,16,6,16,58,16,60,0,60,0,43,16,6,16,57,16,60,0,60,0,43,16,6,16,58,16,60,0,45,16,6,16,57,16,60,0,60,0,45,16,6,16,58,16,60,0,47,16,6,16,57,16,60,0,60,0,47,16,6,16,58,16,60,0,49,16,6,16,57,16,60,0,60,0,49,16,6,16,58,16,60,0,49,16,44,16,6,16,57,16,60,0,60,0,49,16,44,16,6,16,58,16,60,0,60,0,49,16,43,16,6,16,57,16,60,0,60,0,49,16,43,16,6,16,58,16,60,0,45,16,47,16,6,16,57,16,60,0,60,0,45,16,47,16,6,16,58,16,60,0,7,16,57,16,60,0,60,0,7,16,58,16,60,0,44,16,7,16,57,16,60,0,60,0,44,16,7,16,58,16,60,0,60,0,43,16,7,16,57,16,60,0,60,0,43,16,7,16,58,16,60,0,45,16,7,16,57,16,60,0,60,0,45,16,7,16,58,16,60,0,47,16,7,16,57,16,60,0,60,0,47,16,7,16,58,16,60,0,49,16,7,16,57,16,60,0,60,0,49,16,7,16,58,16,60,0,49,16,44,16,7,16,57,16,60,0,60,0,49,16,44,16,7,16,58,16,60,0,60,0,49,16,43,16,7,16,57,16,60,0,60,0,49,16,43,16,7,16,58,16,60,0,45,16,47,16,7,16,57,16,60,0,60,0,45,16,47,16,7,16,58,16,60,0,8,16,58,16,60,0,44,16,8,16,58,16,60,0,60,0,43,16,8,16,58,16,60,0,45,16,8,16,58,16,60,0,47,16,8,16,58,16,60,0,49,16,8,16,58,16,60,0,49,16,44,16,8,16,58,16,60,0,60,0,49,16,43,16,8,16,58,16,60,0,45,16,47,16,8,16,58,16,60,0,9,16,57,16,60,0,60,0,9,16,58,16,60,0,44,16,9,16,57,16,60,0,60,0,44,16,9,16,58,16,60,0,60,0,43,16,9,16,57,16,60,0,60,0,43,16,9,16,58,16,60,0,45,16,9,16,57,16,60,0,60,0,45,16,9,16,58,16,60,0,47,16,9,16,57,16,60,0,60,0,47,16,9,16,58,16,60,0,49,16,9,16,57,16,60,0,60,0,49,16,9,16,58,16,60,0,49,16,44,16,9,16,57,16,60,0,60,0,49,16,44,16,9,16,58,16,60,0,60,0,49,16,43,16,9,16,57,16,60,0,60,0,49,16,43,16,9,16,58,16,60,0,45,16,47,16,9,16,57,16,60,0,60,0,45,16,47,16,9,16,58,16,60,0,10,16,57,16,60,0,60,0,10,16,58,16,60,0,44,16,10,16,57,16,60,0,60,0,44,16,10,16,58,16,60,0,60,0,43,16,10,16,57,16,60,0,60,0,43,16,10,16,58,16,60,0,45,16,10,16,57,16,60,0,60,0,45,16,10,16,58,16,60,0,47,16,10,16,57,16,60,0,60,0,47,16,10,16,58,16,60,0,49,16,10,16,57,16,60,0,60,0,49,16,10,16,58,16,60,0,49,16,44,16,10,16,57,16,60,0,60,0,49,16,44,16,10,16,58,16,60,0,60,0,49,16,43,16,10,16,57,16,60,0,60,0,49,16,43,16,10,16,58,16,60,0,45,16,47,16,10,16,57,16,60,0,60,0,45,16,47,16,10,16,58,16,60,0,11,16,57,16,60,0,60,0,11,16,58,16,60,0,44,16,11,16,57,16,60,0,60,0,44,16,11,16,58,16,60,0,60,0,43,16,11,16,57,16,60,0,60,0,43,16,11,16,58,16,60,0,45,16,11,16,57,16,60,0,60,0,45,16,11,16,58,16,60,0,47,16,11,16,57,16,60,0,60,0,47,16,11,16,58,16,60,0,49,16,11,16,57,16,60,0,60,0,49,16,11,16,58,16,60,0,49,16,44,16,11,16,57,16,60,0,60,0,49,16,44,16,11,16,58,16,60,0,60,0,49,16,43,16,11,16,57,16,60,0,60,0,49,16,43,16,11,16,58,16,60,0,45,16,47,16,11,16,57,16,60,0,60,0,45,16,47,16,11,16,58,16,60,0,12,16,57,16,60,0,60,0,12,16,58,16,60,0,44,16,12,16,57,16,60,0,60,0,44,16,12,16,58,16,60,0,60,0,43,16,12,16,57,16,60,0,60,0,43,16,12,16,58,16,60,0,45,16,12,16,57,16,60,0,60,0,45,16,12,16,58,16,60,0,47,16,12,16,57,16,60,0,60,0,47,16,12,16,58,16,60,0,49,16,12,16,57,16,60,0,60,0,49,16,12,16,58,16,60,0,49,16,44,16,12,16,57,16,60,0,60,0,49,16,44,16,12,16,58,16,60,0,60,0,49,16,43,16,12,16,57,16,60,0,60,0,49,16,43,16,12,16,58,16,60,0,45,16,47,16,12,16,57,16,60,0,60,0,45,16,47,16,12,16,58,16,60,0,13,16,57,16,60,0,60,0,13,16,58,16,60,0,44,16,13,16,57,16,60,0,60,0,44,16,13,16,58,16,60,0,60,0,43,16,13,16,57,16,60,0,60,0,43,16,13,16,58,16,60,0,45,16,13,16,57,16,60,0,60,0,45,16,13,16,58,16,60,0,47,16,13,16,57,16,60,0,60,0,47,16,13,16,58,16,60,0,49,16,13,16,57,16,60,0,60,0,49,16,13,16,58,16,60,0,49,16,44,16,13,16,57,16,60,0,60,0,49,16,44,16,13,16,58,16,60,0,60,0,49,16,43,16,13,16,57,16,60,0,60,0,49,16,43,16,13,16,58,16,60,0,45,16,47,16,13,16,57,16,60,0,60,0,45,16,47,16,13,16,58,16,60,0,14,16,57,16,60,0,60,0,14,16,58,16,60,0,44,16,14,16,57,16,60,0,60,0,44,16,14,16,58,16,60,0,60,0,43,16,14,16,57,16,60,0,60,0,43,16,14,16,58,16,60,0,45,16,14,16,57,16,60,0,60,0,45,16,14,16,58,16,60,0,47,16,14,16,57,16,60,0,60,0,47,16,14,16,58,16,60,0,49,16,14,16,57,16,60,0,60,0,49,16,14,16,58,16,60,0,49,16,44,16,14,16,57,16,60,0,60,0,49,16,44,16,14,16,58,16,60,0,60,0,49,16,43,16,14,16,57,16,60,0,60,0,49,16,43,16,14,16,58,16,60,0,45,16,47,16,14,16,57,16,60,0,60,0,45,16,47,16,14,16,58,16,60,0,15,16,57,16,60,0,60,0,15,16,58,16,60,0,44,16,15,16,57,16,60,0,60,0,44,16,15,16,58,16,60,0,60,0,43,16,15,16,57,16,60,0,60,0,43,16,15,16,58,16,60,0,45,16,15,16,57,16,60,0,60,0,45,16,15,16,58,16,60,0,47,16,15,16,57,16,60,0,60,0,47,16,15,16,58,16,60,0,49,16,15,16,57,16,60,0,60,0,49,16,15,16,58,16,60,0,49,16,44,16,15,16,57,16,60,0,60,0,49,16,44,16,15,16,58,16,60,0,60,0,49,16,43,16,15,16,57,16,60,0,60,0,49,16,43,16,15,16,58,16,60,0,45,16,47,16,15,16,57,16,60,0,60,0,45,16,47,16,15,16,58,16,60,0,16,16,57,16,60,0,60,0,16,16,58,16,60,0,44,16,16,16,57,16,60,0,60,0,44,16,16,16,58,16,60,0,60,0,43,16,16,16,57,16,60,0,60,0,43,16,16,16,58,16,60,0,45,16,16,16,57,16,60,0,60,0,45,16,16,16,58,16,60,0,47,16,16,16,57,16,60,0,60,0,47,16,16,16,58,16,60,0,49,16,16,16,57,16,60,0,60,0,49,16,16,16,58,16,60,0,49,16,44,16,16,16,57,16,60,0,60,0,49,16,44,16,16,16,58,16,60,0,60,0,49,16,43,16,16,16,57,16,60,0,60,0,49,16,43,16,16,16,58,16,60,0,45,16,47,16,16,16,57,16,60,0,60,0,45,16,47,16,16,16,58,16,60,0,17,16,57,16,60,0,60,0,17,16,58,16,60,0,44,16,17,16,57,16,60,0,60,0,44,16,17,16,58,16,60,0,60,0,43,16,17,16,57,16,60,0,60,0,43,16,17,16,58,16,60,0,45,16,17,16,57,16,60,0,60,0,45,16,17,16,58,16,60,0,47,16,17,16,57,16,60,0,60,0,47,16,17,16,58,16,60,0,49,16,17,16,57,16,60,0,60,0,49,16,17,16,58,16,60,0,49,16,44,16,17,16,57,16,60,0,60,0,49,16,44,16,17,16,58,16,60,0,60,0,49,16,43,16,17,16,57,16,60,0,60,0,49,16,43,16,17,16,58,16,60,0,45,16,47,16,17,16,57,16,60,0,60,0,45,16,47,16,17,16,58,16,60,0,18,16,57,16,60,0,60,0,18,16,58,16,60,0,44,16,18,16,57,16,60,0,60,0,44,16,18,16,58,16,60,0,60,0,43,16,18,16,57,16,60,0,60,0,43,16,18,16,58,16,60,0,45,16,18,16,57,16,60,0,60,0,45,16,18,16,58,16,60,0,47,16,18,16,57,16,60,0,60,0,47,16,18,16,58,16,60,0,49,16,18,16,57,16,60,0,60,0,49,16,18,16,58,16,60,0,49,16,44,16,18,16,57,16,60,0,60,0,49,16,44,16,18,16,58,16,60,0,60,0,49,16,43,16,18,16,57,16,60,0,60,0,49,16,43,16,18,16,58,16,60,0,45,16,47,16,18,16,57,16,60,0,60,0,45,16,47,16,18,16,58,16,60,0,19,16,57,16,60,0,60,0,19,16,58,16,60,0,44,16,19,16,57,16,60,0,60,0,44,16,19,16,58,16,60,0,60,0,43,16,19,16,57,16,60,0,60,0,43,16,19,16,58,16,60,0,45,16,19,16,57,16,60,0,60,0,45,16,19,16,58,16,60,0,47,16,19,16,57,16,60,0,60,0,47,16,19,16,58,16,60,0,49,16,19,16,57,16,60,0,60,0,49,16,19,16,58,16,60,0,49,16,44,16,19,16,57,16,60,0,60,0,49,16,44,16,19,16,58,16,60,0,60,0,49,16,43,16,19,16,57,16,60,0,60,0,49,16,43,16,19,16,58,16,60,0,45,16,47,16,19,16,57,16,60,0,60,0,45,16,47,16,19,16,58,16,60,0,20,16,57,16,60,0,60,0,20,16,58,16,60,0,44,16,20,16,57,16,60,0,60,0,44,16,20,16,58,16,60,0,60,0,43,16,20,16,57,16,60,0,60,0,43,16,20,16,58,16,60,0,45,16,20,16,57,16,60,0,60,0,45,16,20,16,58,16,60,0,47,16,20,16,57,16,60,0,60,0,47,16,20,16,58,16,60,0,49,16,20,16,57,16,60,0,60,0,49,16,20,16,58,16,60,0,49,16,44,16,20,16,57,16,60,0,60,0,49,16,44,16,20,16,58,16,60,0,60,0,49,16,43,16,20,16,57,16,60,0,60,0,49,16,43,16,20,16,58,16,60,0,45,16,47,16,20,16,57,16,60,0,60,0,45,16,47,16,20,16,58,16,60,0,21,16,57,16,60,0,60,0,21,16,58,16,60,0,44,16,21,16,57,16,60,0,60,0,44,16,21,16,58,16,60,0,60,0,43,16,21,16,57,16,60,0,60,0,43,16,21,16,58,16,60,0,45,16,21,16,57,16,60,0,60,0,45,16,21,16,58,16,60,0,47,16,21,16,57,16,60,0,60,0,47,16,21,16,58,16,60,0,49,16,21,16,57,16,60,0,60,0,49,16,21,16,58,16,60,0,49,16,44,16,21,16,57,16,60,0,60,0,49,16,44,16,21,16,58,16,60,0,60,0,49,16,43,16,21,16,57,16,60,0,60,0,49,16,43,16,21,16,58,16,60,0,45,16,47,16,21,16,57,16,60,0,60,0,45,16,47,16,21,16,58,16,60,0,22,16,57,16,60,0,60,0,22,16,58,16,60,0,44,16,22,16,57,16,60,0,60,0,44,16,22,16,58,16,60,0,60,0,43,16,22,16,57,16,60,0,60,0,43,16,22,16,58,16,60,0,45,16,22,16,57,16,60,0,60,0,45,16,22,16,58,16,60,0,47,16,22,16,57,16,60,0,60,0,47,16,22,16,58,16,60,0,49,16,22,16,57,16,60,0,60,0,49,16,22,16,58,16,60,0,49,16,44,16,22,16,57,16,60,0,60,0,49,16,44,16,22,16,58,16,60,0,60,0,49,16,43,16,22,16,57,16,60,0,60,0,49,16,43,16,22,16,58,16,60,0,45,16,47,16,22,16,57,16,60,0,60,0,45,16,47,16,22,16,58,16,60,0,23,16,57,16,60,0,60,0,23,16,58,16,60,0,44,16,23,16,57,16,60,0,60,0,44,16,23,16,58,16,60,0,60,0,43,16,23,16,57,16,60,0,60,0,43,16,23,16,58,16,60,0,45,16,23,16,57,16,60,0,60,0,45,16,23,16,58,16,60,0,47,16,23,16,57,16,60,0,60,0,47,16,23,16,58,16,60,0,49,16,23,16,57,16,60,0,60,0,49,16,23,16,58,16,60,0,49,16,44,16,23,16,57,16,60,0,60,0,49,16,44,16,23,16,58,16,60,0,60,0,49,16,43,16,23,16,57,16,60,0,60,0,49,16,43,16,23,16,58,16,60,0,45,16,47,16,23,16,57,16,60,0,60,0,45,16,47,16,23,16,58,16,60,0,24,16,57,16,60,0,60,0,24,16,58,16,60,0,44,16,24,16,57,16,60,0,60,0,44,16,24,16,58,16,60,0,60,0,43,16,24,16,57,16,60,0,60,0,43,16,24,16,58,16,60,0,45,16,24,16,57,16,60,0,60,0,45,16,24,16,58,16,60,0,47,16,24,16,57,16,60,0,60,0,47,16,24,16,58,16,60,0,49,16,24,16,57,16,60,0,60,0,49,16,24,16,58,16,60,0,49,16,44,16,24,16,57,16,60,0,60,0,49,16,44,16,24,16,58,16,60,0,60,0,49,16,43,16,24,16,57,16,60,0,60,0,49,16,43,16,24,16,58,16,60,0,45,16,47,16,24,16,57,16,60,0,60,0,45,16,47,16,24,16,58,16,60,0,25,16,57,16,60,0,60,0,25,16,58,16,60,0,44,16,25,16,57,16,60,0,60,0,44,16,25,16,58,16,60,0,60,0,43,16,25,16,57,16,60,0,60,0,43,16,25,16,58,16,60,0,45,16,25,16,57,16,60,0,60,0,45,16,25,16,58,16,60,0,47,16,25,16,57,16,60,0,60,0,47,16,25,16,58,16,60,0,49,16,25,16,57,16,60,0,60,0,49,16,25,16,58,16,60,0,49,16,44,16,25,16,57,16,60,0,60,0,49,16,44,16,25,16,58,16,60,0,60,0,49,16,43,16,25,16,57,16,60,0,60,0,49,16,43,16,25,16,58,16,60,0,45,16,47,16,25,16,57,16,60,0,60,0,45,16,47,16,25,16,58,16,60,0,26,16,57,16,60,0,60,0,26,16,58,16,60,0,44,16,26,16,57,16,60,0,60,0,44,16,26,16,58,16,60,0,60,0,43,16,26,16,57,16,60,0,60,0,43,16,26,16,58,16,60,0,45,16,26,16,57,16,60,0,60,0,45,16,26,16,58,16,60,0,47,16,26,16,57,16,60,0,60,0,47,16,26,16,58,16,60,0,49,16,26,16,57,16,60,0,60,0,49,16,26,16,58,16,60,0,49,16,44,16,26,16,57,16,60,0,60,0,49,16,44,16,26,16,58,16,60,0,60,0,49,16,43,16,26,16,57,16,60,0,60,0,49,16,43,16,26,16,58,16,60,0,45,16,47,16,26,16,57,16,60,0,60,0,45,16,47,16,26,16,58,16,60,0,27,16,57,16,60,0,60,0,27,16,58,16,60,0,44,16,27,16,57,16,60,0,60,0,44,16,27,16,58,16,60,0,60,0,43,16,27,16,57,16,60,0,60,0,43,16,27,16,58,16,60,0,45,16,27,16,57,16,60,0,60,0,45,16,27,16,58,16,60,0,47,16,27,16,57,16,60,0,60,0,47,16,27,16,58,16,60,0,49,16,27,16,57,16,60,0,60,0,49,16,27,16,58,16,60,0,49,16,44,16,27,16,57,16,60,0,60,0,49,16,44,16,27,16,58,16,60,0,60,0,49,16,43,16,27,16,57,16,60,0,60,0,49,16,43,16,27,16,58,16,60,0,45,16,47,16,27,16,57,16,60,0,60,0,45,16,47,16,27,16,58,16,60,0,28,16,57,16,60,0,60,0,28,16,58,16,60,0,44,16,28,16,57,16,60,0,60,0,44,16,28,16,58,16,60,0,60,0,43,16,28,16,57,16,60,0,60,0,43,16,28,16,58,16,60,0,45,16,28,16,57,16,60,0,60,0,45,16,28,16,58,16,60,0,47,16,28,16,57,16,60,0,60,0,47,16,28,16,58,16,60,0,49,16,28,16,57,16,60,0,60,0,49,16,28,16,58,16,60,0,49,16,44,16,28,16,57,16,60,0,60,0,49,16,44,16,28,16,58,16,60,0,60,0,49,16,43,16,28,16,57,16,60,0,60,0,49,16,43,16,28,16,58,16,60,0,45,16,47,16,28,16,57,16,60,0,60,0,45,16,47,16,28,16,58,16,60,0,29,16,58,16,60,0,44,16,29,16,58,16,60,0,60,0,43,16,29,16,58,16,60,0,45,16,29,16,58,16,60,0,47,16,29,16,58,16,60,0,49,16,29,16,58,16,60,0,49,16,44,16,29,16,58,16,60,0,60,0,49,16,43,16,29,16,58,16,60,0,45,16,47,16,29,16,58,16,60,0,30,16,57,16,60,0,60,0,30,16,58,16,60,0,44,16,30,16,57,16,60,0,60,0,44,16,30,16,58,16,60,0,60,0,43,16,30,16,57,16,60,0,60,0,43,16,30,16,58,16,60,0,45,16,30,16,57,16,60,0,60,0,45,16,30,16,58,16,60,0,47,16,30,16,57,16,60,0,60,0,47,16,30,16,58,16,60,0,49,16,30,16,57,16,60,0,60,0,49,16,30,16,58,16,60,0,49,16,44,16,30,16,57,16,60,0,60,0,49,16,44,16,30,16,58,16,60,0,60,0,49,16,43,16,30,16,57,16,60,0,60,0,49,16,43,16,30,16,58,16,60,0,45,16,47,16,30,16,57,16,60,0,60,0,45,16,47,16,30,16,58,16,60,0,31,16,57,16,60,0,60,0,31,16,58,16,60,0,44,16,31,16,57,16,60,0,60,0,44,16,31,16,58,16,60,0,60,0,43,16,31,16,57,16,60,0,60,0,43,16,31,16,58,16,60,0,45,16,31,16,57,16,60,0,60,0,45,16,31,16,58,16,60,0,47,16,31,16,57,16,60,0,60,0,47,16,31,16,58,16,60,0,49,16,31,16,57,16,60,0,60,0,49,16,31,16,58,16,60,0,49,16,44,16,31,16,57,16,60,0,60,0,49,16,44,16,31,16,58,16,60,0,60,0,49,16,43,16,31,16,57,16,60,0,60,0,49,16,43,16,31,16,58,16,60,0,45,16,47,16,31,16,57,16,60,0,60,0,45,16,47,16,31,16,58,16,60,0,32,16,58,16,60,0,44,16,32,16,58,16,60,0,60,0,43,16,32,16,58,16,60,0,45,16,32,16,58,16,60,0,47,16,32,16,58,16,60,0,49,16,32,16,58,16,60,0,49,16,44,16,32,16,58,16,60,0,60,0,49,16,43,16,32,16,58,16,60,0,45,16,47,16,32,16,58,16,60,0,33,16,58,16,60,0,44,16,33,16,58,16,60,0,60,0,43,16,33,16,58,16,60,0,45,16,33,16,58,16,60,0,47,16,33,16,58,16,60,0,49,16,33,16,58,16,60,0,49,16,44,16,33,16,58,16,60,0,60,0,49,16,43,16,33,16,58,16,60,0,45,16,47,16,33,16,58,16,60,0,94,16,60,0,95,16,60,0,59,16,60,0,60,16,60,0,96,16,60,0,61,16,60,0,130,16,60,0,62,16,60,0,59,16,61,16,60,0,60,16,61,16,60,0,59,16,62,16,60,0,60,16,62,16,60,0,61,16,62,16,60,0,59,16,61,16,62,16,60,0,60,16,61,16,62,16,38,0,33,16,45,16,60,0,60,0,60,0,35,16,38,0,33,16,46,16,60,0,60,0,60,0,36,16,38,0,33,16,47,16,60,0,60,0,60,0,37,16,38,0,33,16,48,16,60,0,60,0,60,0,38,16,38,0,33,16,49,16,60,0,60,0,60,0,39,16,60,0,60,0,60,0,40,16,38,0,33,16,49,16,44,16,60,0,60,0,60,0,41,16,38,0,33,16,49,16,44,16,58,16,60,0,60,0,60,0,42,16,38,0,45,16,25,16,58,16,60,0,45,16,54,16,60,0,45,16,25,16,58,16,55,16,60,0,45,16,54,16,55,16,60,0,45,16,25,16,58,16,56,16,60,0,45,16,54,16,56,16,38,0,47,16,25,16,58,16,60,0,47,16,54,16,60,0,47,16,25,16,58,16,55,16,60,0,47,16,54,16,55,16,60,0,47,16,25,16,58,16,56,16,60,0,47,16,54,16,56,16,38,0,33,16,47,16,54,16,60,0,60,0,60,0,37,16,47,16,54,16,38,0,33,16,45,16,0,16,57,16,60,0,60,0,60,0,35,16,0,16,57,16,38,0,33,16,45,16,0,16,58,16,60,0,60,0,60,0,35,16,0,16,58,16,38,0,33,16,47,16,0,16,57,16,60,0,60,0,60,0,37,16,0,16,57,16,38,0,33,16,47,16,0,16,58,16,60,0,60,0,60,0,37,16,0,16,58,16,38,0,33,16,49,16,0,16,57,16,60,0,60,0,60,0,39,16,0,16,57,16,38,0,33,16,49,16,0,16,58,16,60,0,60,0,60,0,39,16,0,16,58,16,38,0,33,16,49,16,44,16,0,16,57,16,60,0,60,0,60,0,41,16,0,16,57,16,38,0,33,16,49,16,44,16,0,16,58,16,60,0,60,0,60,0,41,16,0,16,58,16,38,0,33,16,49,16,44,16,0,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,0,16,57,16,38,0,33,16,49,16,44,16,0,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,0,16,58,16,38,0,33,16,45,16,1,16,57,16,60,0,60,0,60,0,35,16,1,16,57,16,38,0,33,16,45,16,1,16,58,16,60,0,60,0,60,0,35,16,1,16,58,16,38,0,33,16,47,16,1,16,57,16,60,0,60,0,60,0,37,16,1,16,57,16,38,0,33,16,47,16,1,16,58,16,60,0,60,0,60,0,37,16,1,16,58,16,38,0,33,16,49,16,1,16,57,16,60,0,60,0,60,0,39,16,1,16,57,16,38,0,33,16,49,16,1,16,58,16,60,0,60,0,60,0,39,16,1,16,58,16,38,0,33,16,49,16,44,16,1,16,57,16,60,0,60,0,60,0,41,16,1,16,57,16,38,0,33,16,49,16,44,16,1,16,58,16,60,0,60,0,60,0,41,16,1,16,58,16,38,0,33,16,49,16,44,16,1,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,1,16,57,16,38,0,33,16,49,16,44,16,1,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,1,16,58,16,38,0,33,16,45,16,2,16,57,16,60,0,60,0,60,0,35,16,2,16,57,16,38,0,33,16,45,16,2,16,58,16,60,0,60,0,60,0,35,16,2,16,58,16,38,0,33,16,47,16,2,16,57,16,60,0,60,0,60,0,37,16,2,16,57,16,38,0,33,16,47,16,2,16,58,16,60,0,60,0,60,0,37,16,2,16,58,16,38,0,33,16,49,16,2,16,57,16,60,0,60,0,60,0,39,16,2,16,57,16,38,0,33,16,49,16,2,16,58,16,60,0,60,0,60,0,39,16,2,16,58,16,38,0,33,16,49,16,44,16,2,16,57,16,60,0,60,0,60,0,41,16,2,16,57,16,38,0,33,16,49,16,44,16,2,16,58,16,60,0,60,0,60,0,41,16,2,16,58,16,38,0,33,16,49,16,44,16,2,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,2,16,57,16,38,0,33,16,49,16,44,16,2,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,2,16,58,16,38,0,33,16,45,16,3,16,57,16,60,0,60,0,60,0,35,16,3,16,57,16,38,0,33,16,45,16,3,16,58,16,60,0,60,0,60,0,35,16,3,16,58,16,38,0,33,16,47,16,3,16,57,16,60,0,60,0,60,0,37,16,3,16,57,16,38,0,33,16,47,16,3,16,58,16,60,0,60,0,60,0,37,16,3,16,58,16,38,0,33,16,49,16,3,16,57,16,60,0,60,0,60,0,39,16,3,16,57,16,38,0,33,16,49,16,3,16,58,16,60,0,60,0,60,0,39,16,3,16,58,16,38,0,33,16,49,16,44,16,3,16,57,16,60,0,60,0,60,0,41,16,3,16,57,16,38,0,33,16,49,16,44,16,3,16,58,16,60,0,60,0,60,0,41,16,3,16,58,16,38,0,33,16,49,16,44,16,3,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,3,16,57,16,38,0,33,16,49,16,44,16,3,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,3,16,58,16,38,0,33,16,45,16,4,16,57,16,60,0,60,0,60,0,35,16,4,16,57,16,38,0,33,16,45,16,4,16,58,16,60,0,60,0,60,0,35,16,4,16,58,16,38,0,33,16,47,16,4,16,57,16,60,0,60,0,60,0,37,16,4,16,57,16,38,0,33,16,47,16,4,16,58,16,60,0,60,0,60,0,37,16,4,16,58,16,38,0,33,16,49,16,4,16,57,16,60,0,60,0,60,0,39,16,4,16,57,16,38,0,33,16,49,16,4,16,58,16,60,0,60,0,60,0,39,16,4,16,58,16,38,0,33,16,49,16,44,16,4,16,57,16,60,0,60,0,60,0,41,16,4,16,57,16,38,0,33,16,49,16,44,16,4,16,58,16,60,0,60,0,60,0,41,16,4,16,58,16,38,0,33,16,49,16,44,16,4,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,4,16,57,16,38,0,33,16,49,16,44,16,4,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,4,16,58,16,38,0,33,16,45,16,5,16,57,16,60,0,60,0,60,0,35,16,5,16,57,16,38,0,33,16,45,16,5,16,58,16,60,0,60,0,60,0,35,16,5,16,58,16,38,0,33,16,47,16,5,16,57,16,60,0,60,0,60,0,37,16,5,16,57,16,38,0,33,16,47,16,5,16,58,16,60,0,60,0,60,0,37,16,5,16,58,16,38,0,33,16,49,16,5,16,57,16,60,0,60,0,60,0,39,16,5,16,57,16,38,0,33,16,49,16,5,16,58,16,60,0,60,0,60,0,39,16,5,16,58,16,38,0,33,16,49,16,44,16,5,16,57,16,60,0,60,0,60,0,41,16,5,16,57,16,38,0,33,16,49,16,44,16,5,16,58,16,60,0,60,0,60,0,41,16,5,16,58,16,38,0,33,16,49,16,44,16,5,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,5,16,57,16,38,0,33,16,49,16,44,16,5,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,5,16,58,16,38,0,33,16,45,16,6,16,57,16,60,0,60,0,60,0,35,16,6,16,57,16,38,0,33,16,45,16,6,16,58,16,60,0,60,0,60,0,35,16,6,16,58,16,38,0,33,16,47,16,6,16,57,16,60,0,60,0,60,0,37,16,6,16,57,16,38,0,33,16,47,16,6,16,58,16,60,0,60,0,60,0,37,16,6,16,58,16,38,0,33,16,49,16,6,16,57,16,60,0,60,0,60,0,39,16,6,16,57,16,38,0,33,16,49,16,6,16,58,16,60,0,60,0,60,0,39,16,6,16,58,16,38,0,33,16,49,16,44,16,6,16,57,16,60,0,60,0,60,0,41,16,6,16,57,16,38,0,33,16,49,16,44,16,6,16,58,16,60,0,60,0,60,0,41,16,6,16,58,16,38,0,33,16,49,16,44,16,6,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,6,16,57,16,38,0,33,16,49,16,44,16,6,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,6,16,58,16,38,0,33,16,45,16,7,16,57,16,60,0,60,0,60,0,35,16,7,16,57,16,38,0,33,16,45,16,7,16,58,16,60,0,60,0,60,0,35,16,7,16,58,16,38,0,33,16,47,16,7,16,57,16,60,0,60,0,60,0,37,16,7,16,57,16,38,0,33,16,47,16,7,16,58,16,60,0,60,0,60,0,37,16,7,16,58,16,38,0,33,16,49,16,7,16,57,16,60,0,60,0,60,0,39,16,7,16,57,16,38,0,33,16,49,16,7,16,58,16,60,0,60,0,60,0,39,16,7,16,58,16,38,0,33,16,49,16,44,16,7,16,57,16,60,0,60,0,60,0,41,16,7,16,57,16,38,0,33,16,49,16,44,16,7,16,58,16,60,0,60,0,60,0,41,16,7,16,58,16,38,0,33,16,49,16,44,16,7,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,7,16,57,16,38,0,33,16,49,16,44,16,7,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,7,16,58,16,38,0,33,16,45,16,9,16,57,16,60,0,60,0,60,0,35,16,9,16,57,16,38,0,33,16,45,16,9,16,58,16,60,0,60,0,60,0,35,16,9,16,58,16,38,0,33,16,47,16,9,16,57,16,60,0,60,0,60,0,37,16,9,16,57,16,38,0,33,16,47,16,9,16,58,16,60,0,60,0,60,0,37,16,9,16,58,16,38,0,33,16,49,16,9,16,57,16,60,0,60,0,60,0,39,16,9,16,57,16,38,0,33,16,49,16,9,16,58,16,60,0,60,0,60,0,39,16,9,16,58,16,38,0,33,16,49,16,44,16,9,16,57,16,60,0,60,0,60,0,41,16,9,16,57,16,38,0,33,16,49,16,44,16,9,16,58,16,60,0,60,0,60,0,41,16,9,16,58,16,38,0,33,16,49,16,44,16,9,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,9,16,57,16,38,0,33,16,49,16,44,16,9,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,9,16,58,16,38,0,33,16,45,16,10,16,57,16,60,0,60,0,60,0,35,16,10,16,57,16,38,0,33,16,45,16,10,16,58,16,60,0,60,0,60,0,35,16,10,16,58,16,38,0,33,16,47,16,10,16,57,16,60,0,60,0,60,0,37,16,10,16,57,16,38,0,33,16,47,16,10,16,58,16,60,0,60,0,60,0,37,16,10,16,58,16,38,0,33,16,49,16,10,16,57,16,60,0,60,0,60,0,39,16,10,16,57,16,38,0,33,16,49,16,10,16,58,16,60,0,60,0,60,0,39,16,10,16,58,16,38,0,33,16,49,16,44,16,10,16,57,16,60,0,60,0,60,0,41,16,10,16,57,16,38,0,33,16,49,16,44,16,10,16,58,16,60,0,60,0,60,0,41,16,10,16,58,16,38,0,33,16,49,16,44,16,10,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,10,16,57,16,38,0,33,16,49,16,44,16,10,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,10,16,58,16,38,0,33,16,45,16,11,16,57,16,60,0,60,0,60,0,35,16,11,16,57,16,38,0,33,16,45,16,11,16,58,16,60,0,60,0,60,0,35,16,11,16,58,16,38,0,33,16,47,16,11,16,57,16,60,0,60,0,60,0,37,16,11,16,57,16,38,0,33,16,47,16,11,16,58,16,60,0,60,0,60,0,37,16,11,16,58,16,38,0,33,16,49,16,11,16,57,16,60,0,60,0,60,0,39,16,11,16,57,16,38,0,33,16,49,16,11,16,58,16,60,0,60,0,60,0,39,16,11,16,58,16,38,0,33,16,49,16,44,16,11,16,57,16,60,0,60,0,60,0,41,16,11,16,57,16,38,0,33,16,49,16,44,16,11,16,58,16,60,0,60,0,60,0,41,16,11,16,58,16,38,0,33,16,49,16,44,16,11,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,11,16,57,16,38,0,33,16,49,16,44,16,11,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,11,16,58,16,38,0,33,16,45,16,12,16,57,16,60,0,60,0,60,0,35,16,12,16,57,16,38,0,33,16,45,16,12,16,58,16,60,0,60,0,60,0,35,16,12,16,58,16,38,0,33,16,47,16,12,16,57,16,60,0,60,0,60,0,37,16,12,16,57,16,38,0,33,16,47,16,12,16,58,16,60,0,60,0,60,0,37,16,12,16,58,16,38,0,33,16,49,16,12,16,57,16,60,0,60,0,60,0,39,16,12,16,57,16,38,0,33,16,49,16,12,16,58,16,60,0,60,0,60,0,39,16,12,16,58,16,38,0,33,16,49,16,44,16,12,16,57,16,60,0,60,0,60,0,41,16,12,16,57,16,38,0,33,16,49,16,44,16,12,16,58,16,60,0,60,0,60,0,41,16,12,16,58,16,38,0,33,16,49,16,44,16,12,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,12,16,57,16,38,0,33,16,49,16,44,16,12,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,12,16,58,16,38,0,33,16,45,16,13,16,57,16,60,0,60,0,60,0,35,16,13,16,57,16,38,0,33,16,45,16,13,16,58,16,60,0,60,0,60,0,35,16,13,16,58,16,38,0,33,16,47,16,13,16,57,16,60,0,60,0,60,0,37,16,13,16,57,16,38,0,33,16,47,16,13,16,58,16,60,0,60,0,60,0,37,16,13,16,58,16,38,0,33,16,49,16,13,16,57,16,60,0,60,0,60,0,39,16,13,16,57,16,38,0,33,16,49,16,13,16,58,16,60,0,60,0,60,0,39,16,13,16,58,16,38,0,33,16,49,16,44,16,13,16,57,16,60,0,60,0,60,0,41,16,13,16,57,16,38,0,33,16,49,16,44,16,13,16,58,16,60,0,60,0,60,0,41,16,13,16,58,16,38,0,33,16,49,16,44,16,13,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,13,16,57,16,38,0,33,16,49,16,44,16,13,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,13,16,58,16,38,0,33,16,45,16,14,16,57,16,60,0,60,0,60,0,35,16,14,16,57,16,38,0,33,16,45,16,14,16,58,16,60,0,60,0,60,0,35,16,14,16,58,16,38,0,33,16,47,16,14,16,57,16,60,0,60,0,60,0,37,16,14,16,57,16,38,0,33,16,47,16,14,16,58,16,60,0,60,0,60,0,37,16,14,16,58,16,38,0,33,16,49,16,14,16,57,16,60,0,60,0,60,0,39,16,14,16,57,16,38,0,33,16,49,16,14,16,58,16,60,0,60,0,60,0,39,16,14,16,58,16,38,0,33,16,49,16,44,16,14,16,57,16,60,0,60,0,60,0,41,16,14,16,57,16,38,0,33,16,49,16,44,16,14,16,58,16,60,0,60,0,60,0,41,16,14,16,58,16,38,0,33,16,49,16,44,16,14,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,14,16,57,16,38,0,33,16,49,16,44,16,14,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,14,16,58,16,38,0,33,16,45,16,15,16,57,16,60,0,60,0,60,0,35,16,15,16,57,16,38,0,33,16,45,16,15,16,58,16,60,0,60,0,60,0,35,16,15,16,58,16,38,0,33,16,47,16,15,16,57,16,60,0,60,0,60,0,37,16,15,16,57,16,38,0,33,16,47,16,15,16,58,16,60,0,60,0,60,0,37,16,15,16,58,16,38,0,33,16,49,16,15,16,57,16,60,0,60,0,60,0,39,16,15,16,57,16,38,0,33,16,49,16,15,16,58,16,60,0,60,0,60,0,39,16,15,16,58,16,38,0,33,16,49,16,44,16,15,16,57,16,60,0,60,0,60,0,41,16,15,16,57,16,38,0,33,16,49,16,44,16,15,16,58,16,60,0,60,0,60,0,41,16,15,16,58,16,38,0,33,16,49,16,44,16,15,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,15,16,57,16,38,0,33,16,49,16,44,16,15,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,15,16,58,16,38,0,33,16,45,16,16,16,57,16,60,0,60,0,60,0,35,16,16,16,57,16,38,0,33,16,45,16,16,16,58,16,60,0,60,0,60,0,35,16,16,16,58,16,38,0,33,16,47,16,16,16,57,16,60,0,60,0,60,0,37,16,16,16,57,16,38,0,33,16,47,16,16,16,58,16,60,0,60,0,60,0,37,16,16,16,58,16,38,0,33,16,49,16,16,16,57,16,60,0,60,0,60,0,39,16,16,16,57,16,38,0,33,16,49,16,16,16,58,16,60,0,60,0,60,0,39,16,16,16,58,16,38,0,33,16,49,16,44,16,16,16,57,16,60,0,60,0,60,0,41,16,16,16,57,16,38,0,33,16,49,16,44,16,16,16,58,16,60,0,60,0,60,0,41,16,16,16,58,16,38,0,33,16,49,16,44,16,16,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,16,16,57,16,38,0,33,16,49,16,44,16,16,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,16,16,58,16,38,0,33,16,45,16,17,16,57,16,60,0,60,0,60,0,35,16,17,16,57,16,38,0,33,16,45,16,17,16,58,16,60,0,60,0,60,0,35,16,17,16,58,16,38,0,33,16,47,16,17,16,57,16,60,0,60,0,60,0,37,16,17,16,57,16,38,0,33,16,47,16,17,16,58,16,60,0,60,0,60,0,37,16,17,16,58,16,38,0,33,16,49,16,17,16,57,16,60,0,60,0,60,0,39,16,17,16,57,16,38,0,33,16,49,16,17,16,58,16,60,0,60,0,60,0,39,16,17,16,58,16,38,0,33,16,49,16,44,16,17,16,57,16,60,0,60,0,60,0,41,16,17,16,57,16,38,0,33,16,49,16,44,16,17,16,58,16,60,0,60,0,60,0,41,16,17,16,58,16,38,0,33,16,49,16,44,16,17,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,17,16,57,16,38,0,33,16,49,16,44,16,17,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,17,16,58,16,38,0,33,16,45,16,18,16,57,16,60,0,60,0,60,0,35,16,18,16,57,16,38,0,33,16,45,16,18,16,58,16,60,0,60,0,60,0,35,16,18,16,58,16,38,0,33,16,47,16,18,16,57,16,60,0,60,0,60,0,37,16,18,16,57,16,38,0,33,16,47,16,18,16,58,16,60,0,60,0,60,0,37,16,18,16,58,16,38,0,33,16,49,16,18,16,57,16,60,0,60,0,60,0,39,16,18,16,57,16,38,0,33,16,49,16,18,16,58,16,60,0,60,0,60,0,39,16,18,16,58,16,38,0,33,16,49,16,44,16,18,16,57,16,60,0,60,0,60,0,41,16,18,16,57,16,38,0,33,16,49,16,44,16,18,16,58,16,60,0,60,0,60,0,41,16,18,16,58,16,38,0,33,16,49,16,44,16,18,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,18,16,57,16,38,0,33,16,49,16,44,16,18,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,18,16,58,16,38,0,33,16,45,16,19,16,57,16,60,0,60,0,60,0,35,16,19,16,57,16,38,0,33,16,45,16,19,16,58,16,60,0,60,0,60,0,35,16,19,16,58,16,38,0,33,16,47,16,19,16,57,16,60,0,60,0,60,0,37,16,19,16,57,16,38,0,33,16,47,16,19,16,58,16,60,0,60,0,60,0,37,16,19,16,58,16,38,0,33,16,49,16,19,16,57,16,60,0,60,0,60,0,39,16,19,16,57,16,38,0,33,16,49,16,19,16,58,16,60,0,60,0,60,0,39,16,19,16,58,16,38,0,33,16,49,16,44,16,19,16,57,16,60,0,60,0,60,0,41,16,19,16,57,16,38,0,33,16,49,16,44,16,19,16,58,16,60,0,60,0,60,0,41,16,19,16,58,16,38,0,33,16,49,16,44,16,19,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,19,16,57,16,38,0,33,16,49,16,44,16,19,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,19,16,58,16,38,0,33,16,45,16,20,16,57,16,60,0,60,0,60,0,35,16,20,16,57,16,38,0,33,16,45,16,20,16,58,16,60,0,60,0,60,0,35,16,20,16,58,16,38,0,33,16,47,16,20,16,57,16,60,0,60,0,60,0,37,16,20,16,57,16,38,0,33,16,47,16,20,16,58,16,60,0,60,0,60,0,37,16,20,16,58,16,38,0,33,16,49,16,20,16,57,16,60,0,60,0,60,0,39,16,20,16,57,16,38,0,33,16,49,16,20,16,58,16,60,0,60,0,60,0,39,16,20,16,58,16,38,0,33,16,49,16,44,16,20,16,57,16,60,0,60,0,60,0,41,16,20,16,57,16,38,0,33,16,49,16,44,16,20,16,58,16,60,0,60,0,60,0,41,16,20,16,58,16,38,0,33,16,49,16,44,16,20,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,20,16,57,16,38,0,33,16,49,16,44,16,20,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,20,16,58,16,38,0,33,16,45,16,21,16,57,16,60,0,60,0,60,0,35,16,21,16,57,16,38,0,33,16,45,16,21,16,58,16,60,0,60,0,60,0,35,16,21,16,58,16,38,0,33,16,47,16,21,16,57,16,60,0,60,0,60,0,37,16,21,16,57,16,38,0,33,16,47,16,21,16,58,16,60,0,60,0,60,0,37,16,21,16,58,16,38,0,33,16,49,16,21,16,57,16,60,0,60,0,60,0,39,16,21,16,57,16,38,0,33,16,49,16,21,16,58,16,60,0,60,0,60,0,39,16,21,16,58,16,38,0,33,16,49,16,44,16,21,16,57,16,60,0,60,0,60,0,41,16,21,16,57,16,38,0,33,16,49,16,44,16,21,16,58,16,60,0,60,0,60,0,41,16,21,16,58,16,38,0,33,16,49,16,44,16,21,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,21,16,57,16,38,0,33,16,49,16,44,16,21,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,21,16,58,16,38,0,33,16,45,16,22,16,57,16,60,0,60,0,60,0,35,16,22,16,57,16,38,0,33,16,45,16,22,16,58,16,60,0,60,0,60,0,35,16,22,16,58,16,38,0,33,16,47,16,22,16,57,16,60,0,60,0,60,0,37,16,22,16,57,16,38,0,33,16,47,16,22,16,58,16,60,0,60,0,60,0,37,16,22,16,58,16,38,0,33,16,49,16,22,16,57,16,60,0,60,0,60,0,39,16,22,16,57,16,38,0,33,16,49,16,22,16,58,16,60,0,60,0,60,0,39,16,22,16,58,16,38,0,33,16,49,16,44,16,22,16,57,16,60,0,60,0,60,0,41,16,22,16,57,16,38,0,33,16,49,16,44,16,22,16,58,16,60,0,60,0,60,0,41,16,22,16,58,16,38,0,33,16,49,16,44,16,22,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,22,16,57,16,38,0,33,16,49,16,44,16,22,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,22,16,58,16,38,0,33,16,45,16,23,16,57,16,60,0,60,0,60,0,35,16,23,16,57,16,38,0,33,16,45,16,23,16,58,16,60,0,60,0,60,0,35,16,23,16,58,16,38,0,33,16,47,16,23,16,57,16,60,0,60,0,60,0,37,16,23,16,57,16,38,0,33,16,47,16,23,16,58,16,60,0,60,0,60,0,37,16,23,16,58,16,38,0,33,16,49,16,23,16,57,16,60,0,60,0,60,0,39,16,23,16,57,16,38,0,33,16,49,16,23,16,58,16,60,0,60,0,60,0,39,16,23,16,58,16,38,0,33,16,49,16,44,16,23,16,57,16,60,0,60,0,60,0,41,16,23,16,57,16,38,0,33,16,49,16,44,16,23,16,58,16,60,0,60,0,60,0,41,16,23,16,58,16,38,0,33,16,49,16,44,16,23,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,23,16,57,16,38,0,33,16,49,16,44,16,23,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,23,16,58,16,38,0,33,16,45,16,24,16,57,16,60,0,60,0,60,0,35,16,24,16,57,16,38,0,33,16,45,16,24,16,58,16,60,0,60,0,60,0,35,16,24,16,58,16,38,0,33,16,47,16,24,16,57,16,60,0,60,0,60,0,37,16,24,16,57,16,38,0,33,16,47,16,24,16,58,16,60,0,60,0,60,0,37,16,24,16,58,16,38,0,33,16,49,16,24,16,57,16,60,0,60,0,60,0,39,16,24,16,57,16,38,0,33,16,49,16,24,16,58,16,60,0,60,0,60,0,39,16,24,16,58,16,38,0,33,16,49,16,44,16,24,16,57,16,60,0,60,0,60,0,41,16,24,16,57,16,38,0,33,16,49,16,44,16,24,16,58,16,60,0,60,0,60,0,41,16,24,16,58,16,38,0,33,16,49,16,44,16,24,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,24,16,57,16,38,0,33,16,49,16,44,16,24,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,24,16,58,16,38,0,33,16,45,16,25,16,57,16,60,0,60,0,60,0,35,16,25,16,57,16,38,0,33,16,45,16,25,16,58,16,60,0,60,0,60,0,35,16,25,16,58,16,38,0,33,16,47,16,25,16,57,16,60,0,60,0,60,0,37,16,25,16,57,16,38,0,33,16,47,16,25,16,58,16,60,0,60,0,60,0,37,16,25,16,58,16,38,0,33,16,49,16,25,16,57,16,60,0,60,0,60,0,39,16,25,16,57,16,38,0,33,16,49,16,25,16,58,16,60,0,60,0,60,0,39,16,25,16,58,16,38,0,33,16,49,16,44,16,25,16,57,16,60,0,60,0,60,0,41,16,25,16,57,16,38,0,33,16,49,16,44,16,25,16,58,16,60,0,60,0,60,0,41,16,25,16,58,16,38,0,33,16,49,16,44,16,25,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,25,16,57,16,38,0,33,16,49,16,44,16,25,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,25,16,58,16,38,0,33,16,45,16,26,16,57,16,60,0,60,0,60,0,35,16,26,16,57,16,38,0,33,16,45,16,26,16,58,16,60,0,60,0,60,0,35,16,26,16,58,16,38,0,33,16,47,16,26,16,57,16,60,0,60,0,60,0,37,16,26,16,57,16,38,0,33,16,47,16,26,16,58,16,60,0,60,0,60,0,37,16,26,16,58,16,38,0,33,16,49,16,26,16,57,16,60,0,60,0,60,0,39,16,26,16,57,16,38,0,33,16,49,16,26,16,58,16,60,0,60,0,60,0,39,16,26,16,58,16,38,0,33,16,49,16,44,16,26,16,57,16,60,0,60,0,60,0,41,16,26,16,57,16,38,0,33,16,49,16,44,16,26,16,58,16,60,0,60,0,60,0,41,16,26,16,58,16,38,0,33,16,49,16,44,16,26,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,26,16,57,16,38,0,33,16,49,16,44,16,26,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,26,16,58,16,38,0,33,16,45,16,27,16,57,16,60,0,60,0,60,0,35,16,27,16,57,16,38,0,33,16,45,16,27,16,58,16,60,0,60,0,60,0,35,16,27,16,58,16,38,0,33,16,47,16,27,16,57,16,60,0,60,0,60,0,37,16,27,16,57,16,38,0,33,16,47,16,27,16,58,16,60,0,60,0,60,0,37,16,27,16,58,16,38,0,33,16,49,16,27,16,57,16,60,0,60,0,60,0,39,16,27,16,57,16,38,0,33,16,49,16,27,16,58,16,60,0,60,0,60,0,39,16,27,16,58,16,38,0,33,16,49,16,44,16,27,16,57,16,60,0,60,0,60,0,41,16,27,16,57,16,38,0,33,16,49,16,44,16,27,16,58,16,60,0,60,0,60,0,41,16,27,16,58,16,38,0,33,16,49,16,44,16,27,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,27,16,57,16,38,0,33,16,49,16,44,16,27,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,27,16,58,16,38,0,33,16,45,16,28,16,57,16,60,0,60,0,60,0,35,16,28,16,57,16,38,0,33,16,45,16,28,16,58,16,60,0,60,0,60,0,35,16,28,16,58,16,38,0,33,16,47,16,28,16,57,16,60,0,60,0,60,0,37,16,28,16,57,16,38,0,33,16,47,16,28,16,58,16,60,0,60,0,60,0,37,16,28,16,58,16,38,0,33,16,49,16,28,16,57,16,60,0,60,0,60,0,39,16,28,16,57,16,38,0,33,16,49,16,28,16,58,16,60,0,60,0,60,0,39,16,28,16,58,16,38,0,33,16,49,16,44,16,28,16,57,16,60,0,60,0,60,0,41,16,28,16,57,16,38,0,33,16,49,16,44,16,28,16,58,16,60,0,60,0,60,0,41,16,28,16,58,16,38,0,33,16,49,16,44,16,28,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,28,16,57,16,38,0,33,16,49,16,44,16,28,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,28,16,58,16,38,0,33,16,45,16,30,16,57,16,60,0,60,0,60,0,35,16,30,16,57,16,38,0,33,16,45,16,30,16,58,16,60,0,60,0,60,0,35,16,30,16,58,16,38,0,33,16,47,16,30,16,57,16,60,0,60,0,60,0,37,16,30,16,57,16,38,0,33,16,47,16,30,16,58,16,60,0,60,0,60,0,37,16,30,16,58,16,38,0,33,16,49,16,30,16,57,16,60,0,60,0,60,0,39,16,30,16,57,16,38,0,33,16,49,16,30,16,58,16,60,0,60,0,60,0,39,16,30,16,58,16,38,0,33,16,49,16,44,16,30,16,57,16,60,0,60,0,60,0,41,16,30,16,57,16,38,0,33,16,49,16,44,16,30,16,58,16,60,0,60,0,60,0,41,16,30,16,58,16,38,0,33,16,49,16,44,16,30,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,30,16,57,16,38,0,33,16,49,16,44,16,30,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,30,16,58,16,38,0,33,16,45,16,31,16,57,16,60,0,60,0,60,0,35,16,31,16,57,16,38,0,33,16,45,16,31,16,58,16,60,0,60,0,60,0,35,16,31,16,58,16,38,0,33,16,47,16,31,16,57,16,60,0,60,0,60,0,37,16,31,16,57,16,38,0,33,16,47,16,31,16,58,16,60,0,60,0,60,0,37,16,31,16,58,16,38,0,33,16,49,16,31,16,57,16,60,0,60,0,60,0,39,16,31,16,57,16,38,0,33,16,49,16,31,16,58,16,60,0,60,0,60,0,39,16,31,16,58,16,38,0,33,16,49,16,44,16,31,16,57,16,60,0,60,0,60,0,41,16,31,16,57,16,38,0,33,16,49,16,44,16,31,16,58,16,60,0,60,0,60,0,41,16,31,16,58,16,38,0,33,16,49,16,44,16,31,16,57,16,60,0,60,0,60,0,41,16,49,16,44,16,31,16,57,16,38,0,33,16,49,16,44,16,31,16,58,16,60,0,60,0,60,0,41,16,49,16,44,16,31,16,58,16,38,0,49,16,44,16,0,16,58,16,0,16,59,16,61,0,49,16,44,16,0,16,58,16,59,16,38,0,20,16,58,16,20,16,47,16,21,16,58,16,61,0,20,16,58,16,47,16,21,16,58,16,38,0,49,16,30,16,57,16,30,16,61,0,49,16,63,16,38,0,45,16,30,16,57,16,30,16,61,0,45,16,63,16,38,0,47,16,30,16,57,16,30,16,61,0,47,16,63,16,38,0,33,16,45,16,30,16,57,16,30,16,60,0,60,0,60,0,35,16,63,16,38,0,33,16,47,16,30,16,57,16,30,16,60,0,60,0,60,0,37,16,63,16,38,0,30,16,57,16,30,16,61,0,63,16,38,0,20,16,62,16,45,16,47,16,0,16,58,16,60,0,60,0,76,16,38,0,27,16,61,16,49,16,55,16,60,0,60,0,77,16,38,0,28,16,10,16,58,16,56,16,0,16,49,16,44,16,4,16,58,16,56,16,60,0,60,0,78,16,4,16,58,16,56,16,38,0,33,16,45,16,60,0,60,0,79,16,38,0,28,16,0,16,58,16,26,16,44,16,61,0,28,16,0,16,58,16,59,16,44,16,38,0,30,16,25,16,46,16,61,0,30,16,57,16,25,16,46,16,38,0,17,16,25,16,4,16,58,16,56,16,61,0,17,16,57,16,25,16,4,16,58,16,56,16,38,0,28,16,0,16,58,16,24,16,0,16,58,16,61,0,28,16,57,16,24,16,0,16,58,16,0,0,170,170,170,170,170,170,170,170,170,170,170,170,82,100,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,76,0,0,0,76,1,0,0,236,26,0,0,236,26,0,0,12,66,0,0,12,66,0,0,172,66,0,0,172,66,0,0,20,100,0,0,54,100,0,0,28,0,0,0,0,0,79,117,178,255,94,117,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,0,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,145,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,112,0,120,0,128,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,136,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,3,0,202,225,3,0,202,2,4,0,202,35,4,0,202,68,4,0,202,101,4,0,202,134,4,0,202,167,4,0,202,200,4,0,202,233,4,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,2,3,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,66,3,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,130,3,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,201,38,1,0,201,38,2,0,201,70,3,0,201,102,4,0,201,134,5,0,201,166,6,0,201,198,7,0,201,230,8,0,201,166,9,0,201,198,10,0,201,230,11,0,201,6,13,0,201,38,14,0,201,70,15,0,201,102,16,0,201,134,17,0,201,166,18,0,201,166,20,0,201,198,21,0,201,230,22,0,201,166,24,0,201,198,25,0,201,230,26,0,201,6,28,0,201,38,29,0,201,70,30,0,201,102,31,0,201,132,32,0,201,102,35,0,201,38,36,0,201,198,37,0,201,230,38,0,201,166,39,0,192,0,0,0,201,100,40,0,198,34,25,0,201,196,75,0,198,98,40,0,201,68,112,0,198,66,56,0,201,36,147,0,198,66,86,0,201,36,217,0,201,4,255,0,201,4,37,1,192,0,0,0,201,228,115,1,192,0,0,0,201,164,156,1,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,150,89,117,201,160,16,2,193,81,93,117,192,0,0,0,192,0,0,0,201,128,17,2,201,32,19,2,201,192,20,2,198,193,153,0,198,226,153,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,35,154,0,198,132,154,0,201,128,21,2,198,194,155,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,156,0,198,33,156,0,198,65,156,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,156,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,5,0,70,0,152,89,117,0,5,0,5,7,154,89,117,0,5,0,70,7,154,89,117,0,5,0,5,14,154,89,117,0,5,0,70,14,154,89,117,0,5,0,5,21,154,89,117,0,5,0,70,21,154,89,117,0,5,0,70,28,154,89,117,0,5,0,5,28,154,89,117,0,5,0,5,35,154,89,117,0,5,0,70,35,154,89,117,0,5,0,5,42,154,89,117,0,5,0,70,42,154,89,117,0,5,0,5,49,154,89,117,0,5,0,70,49,154,89,117,0,5,0,5,56,154,89,117,0,5,0,5,63,154,89,117,0,5,0,70,63,154,89,117,0,5,0,5,70,154,89,117,0,5,0,70,70,154,89,117,0,5,0,5,77,154,89,117,0,5,0,70,77,154,89,117,0,5,0,5,84,154,89,117,0,5,0,70,84,154,89,117,0,5,0,5,91,154,89,117,0,5,0,70,91,154,89,117,0,5,0,5,98,154,89,117,0,5,0,70,98,154,89,117,0,5,0,5,105,154,89,117,0,5,0,70,105,154,89,117,0,5,0,5,112,154,89,117,0,5,0,70,112,154,89,117,0,5,0,5,119,154,89,117,0,5,0,5,0,119,80,117,0,5,0,5,0,33,81,117,0,5,0,70,28,154,89,117,0,5,0,5,0,81,93,117,0,5,0,70,119,154,89,117,0,5,0,5,126,154,89,117,0,5,0,70,126,154,89,117,0,5,0,5,133,154,89,117,0,5,0,70,133,154,89,117,0,5,0,5,140,154,89,117,0,5,0,70,140,154,89,117,0,5,0,70,140,154,89,117,0,5,0,5,0,168,80,117,0,5,0,70,150,154,89,117,0,5,0,5,147,154,89,117,0,5,0,70,147,154,89,117,0,5,0,5,154,154,89,117,0,5,0,70,154,154,89,117,0,5,0,5,161,154,89,117,0,5,0,70,161,154,89,117,0,5,0,5,168,154,89,117,0,5,0,70,168,154,89,117,0,5,0,5,175,154,89,117,0,5,0,70,175,154,89,117,0,5,0,5,192,154,89,117,0,5,0,70,192,154,89,117,0,5,0,5,199,154,89,117,0,5,0,70,199,154,89,117,0,5,0,5,0,89,81,117,0,5,0,70,0,152,89,117,0,5,0,5,0,47,81,117,0,5,0,5,0,0,87,117,0,5,0,5,206,154,89,117,0,5,0,5,0,89,81,117,0,5,0,70,0,152,89,117,0,5,0,5,0,12,81,117,0,5,0,70,0,152,89,117,0,5,0,70,206,154,89,117,0,5,0,5,213,154,89,117,0,5,0,5,220,154,89,117,0,5,0,70,220,154,89,117,0,5,0,5,227,154,89,117,0,5,0,70,227,154,89,117,0,5,0,5,234,154,89,117,0,5,0,5,241,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,0,23,89,117,0,5,0,5,0,100,85,117,0,6,0,5,2,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,2,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,9,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,9,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,16,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,16,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,23,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,23,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,30,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,37,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,37,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,44,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,44,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,51,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,51,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,65,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,65,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,72,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,72,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,79,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,79,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,86,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,86,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,93,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,93,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,100,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,100,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,107,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,107,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,114,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,114,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,121,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,121,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,128,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,128,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,135,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,135,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,142,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,142,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,149,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,149,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,156,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,156,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,163,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,163,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,170,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,170,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,177,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,177,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,194,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,194,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,201,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,201,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,208,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,208,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,222,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,222,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,229,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,229,154,89,117,0,5,0,5,0,100,85,117,0,5,0,5,222,154,89,117,0,7,0,5,0,0,83,117,0,5,0,5,0,100,85,117,0,6,0,5,0,37,89,117,0,5,0,5,0,100,85,117,0,6,0,5,0,51,89,117,0,5,0,5,0,100,85,117,0,6,0,5,3,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,3,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,10,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,10,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,17,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,17,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,24,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,24,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,31,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,38,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,38,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,45,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,45,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,52,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,52,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,66,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,66,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,73,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,73,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,80,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,80,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,87,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,87,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,94,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,94,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,101,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,101,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,108,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,108,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,115,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,115,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,122,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,122,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,129,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,129,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,136,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,136,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,143,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,143,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,150,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,150,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,157,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,157,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,164,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,164,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,171,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,171,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,183,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,183,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,195,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,195,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,202,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,202,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,209,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,209,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,223,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,223,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,230,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,230,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,0,72,89,117,0,5,0,5,0,100,85,117,0,6,0,5,184,154,89,117,0,5,0,5,0,100,85,117,0,5,0,5,223,154,89,117,0,6,0,5,0,0,83,117,0,5,0,5,0,100,85,117,0,6,0,5,0,107,89,117,0,5,0,5,0,100,85,117,0,6,0,5,4,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,4,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,11,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,11,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,18,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,18,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,25,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,25,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,32,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,39,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,39,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,46,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,46,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,53,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,53,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,67,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,67,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,74,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,74,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,81,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,81,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,88,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,88,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,95,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,95,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,102,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,102,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,109,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,109,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,116,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,116,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,123,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,123,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,130,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,130,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,137,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,137,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,144,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,144,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,151,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,151,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,158,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,158,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,165,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,165,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,172,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,172,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,189,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,189,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,196,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,196,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,203,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,203,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,210,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,210,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,224,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,224,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,231,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,231,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,0,107,89,117,0,5,0,5,0,100,85,117,0,6,0,5,0,136,89,117,0,5,0,5,0,100,85,117,0,7,0,5,5,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,5,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,12,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,12,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,19,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,19,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,26,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,26,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,33,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,40,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,40,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,47,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,47,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,54,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,54,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,68,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,68,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,75,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,75,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,82,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,82,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,89,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,89,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,96,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,96,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,103,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,103,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,110,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,110,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,117,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,117,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,124,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,124,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,131,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,131,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,138,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,138,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,145,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,145,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,152,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,152,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,159,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,159,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,166,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,166,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,173,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,173,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,190,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,190,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,197,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,197,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,204,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,204,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,211,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,211,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,225,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,225,154,89,117,0,5,0,5,0,100,85,117,0,7,0,5,232,154,89,117,0,5,0,5,0,100,85,117,0,7,0,70,232,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,5,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,5,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,12,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,12,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,19,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,19,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,26,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,26,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,33,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,40,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,40,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,47,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,47,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,54,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,54,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,68,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,68,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,75,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,75,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,82,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,82,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,89,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,89,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,96,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,96,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,103,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,103,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,110,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,110,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,117,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,117,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,124,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,124,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,131,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,131,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,138,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,138,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,145,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,145,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,152,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,152,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,159,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,159,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,166,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,166,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,173,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,173,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,190,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,190,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,197,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,197,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,204,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,204,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,211,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,211,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,225,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,225,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,232,154,89,117,0,5,0,5,0,100,85,117,0,6,0,70,232,154,89,117,0,5,0,5,0,100,85,117,0,6,0,5,0,137,89,117,0,5,0,71,0,153,89,117,0,5,0,72,0,153,89,117,0,5,0,71,8,154,89,117,0,5,0,72,8,154,89,117,0,5,0,71,15,154,89,117,0,5,0,72,15,154,89,117,0,5,0,71,22,154,89,117,0,5,0,72,22,154,89,117,0,5,0,72,29,154,89,117,0,5,0,71,29,154,89,117,0,5,0,71,36,154,89,117,0,5,0,72,36,154,89,117,0,5,0,71,43,154,89,117,0,5,0,72,43,154,89,117,0,5,0,71,50,154,89,117,0,5,0,72,50,154,89,117,0,5,0,70,57,154,89,117,0,5,0,71,64,154,89,117,0,5,0,72,64,154,89,117,0,5,0,71,71,154,89,117,0,5,0,72,71,154,89,117,0,5,0,71,78,154,89,117,0,5,0,72,78,154,89,117,0,5,0,71,85,154,89,117,0,5,0,72,85,154,89,117,0,5,0,71,92,154,89,117,0,5,0,72,92,154,89,117,0,5,0,71,99,154,89,117,0,5,0,72,99,154,89,117,0,5,0,71,106,154,89,117,0,5,0,72,106,154,89,117,0,5,0,71,113,154,89,117,0,5,0,72,113,154,89,117,0,5,0,71,120,154,89,117,0,5,0,72,120,154,89,117,0,5,0,71,127,154,89,117,0,5,0,72,127,154,89,117,0,5,0,71,134,154,89,117,0,5,0,72,134,154,89,117,0,5,0,71,141,154,89,117,0,5,0,72,141,154,89,117,0,5,0,71,148,154,89,117,0,5,0,72,148,154,89,117,0,5,0,71,155,154,89,117,0,5,0,72,155,154,89,117,0,5,0,71,162,154,89,117,0,5,0,72,162,154,89,117,0,5,0,71,169,154,89,117,0,5,0,72,169,154,89,117,0,5,0,71,176,154,89,117,0,5,0,72,176,154,89,117,0,5,0,71,193,154,89,117,0,5,0,72,193,154,89,117,0,5,0,71,200,154,89,117,0,5,0,72,200,154,89,117,0,5,0,71,207,154,89,117,0,5,0,72,207,154,89,117,0,5,0,70,214,154,89,117,0,5,0,71,221,154,89,117,0,5,0,72,221,154,89,117,0,5,0,71,228,154,89,117,0,5,0,72,228,154,89,117,0,5,0,70,235,154,89,117,0,5,0,70,242,154,89,117,0,5,0,70,0,153,89,117,0,5,0,5,8,154,89,117,0,5,0,70,8,154,89,117,0,5,0,5,15,154,89,117,0,5,0,70,15,154,89,117,0,5,0,5,22,154,89,117,0,5,0,70,22,154,89,117,0,5,0,70,29,154,89,117,0,5,0,5,29,154,89,117,0,5,0,5,36,154,89,117,0,5,0,70,36,154,89,117,0,5,0,5,43,154,89,117,0,5,0,70,43,154,89,117,0,5,0,5,50,154,89,117,0,5,0,70,50,154,89,117,0,5,0,5,57,154,89,117,0,5,0,5,64,154,89,117,0,5,0,70,64,154,89,117,0,5,0,5,71,154,89,117,0,5,0,70,71,154,89,117,0,5,0,5,78,154,89,117,0,5,0,70,78,154,89,117,0,5,0,5,85,154,89,117,0,5,0,70,85,154,89,117,0,5,0,5,92,154,89,117,0,5,0,70,92,154,89,117,0,5,0,5,99,154,89,117,0,5,0,70,99,154,89,117,0,5,0,5,106,154,89,117,0,5,0,70,106,154,89,117,0,5,0,5,113,154,89,117,0,5,0,70,113,154,89,117,0,5,0,5,120,154,89,117,0,5,0,70,120,154,89,117,0,5,0,5,127,154,89,117,0,5,0,70,127,154,89,117,0,5,0,5,134,154,89,117,0,5,0,70,134,154,89,117,0,5,0,5,141,154,89,117,0,5,0,70,141,154,89,117,0,5,0,5,148,154,89,117,0,5,0,70,148,154,89,117,0,5,0,5,155,154,89,117,0,5,0,70,155,154,89,117,0,5,0,5,162,154,89,117,0,5,0,70,162,154,89,117,0,5,0,5,169,154,89,117,0,5,0,70,169,154,89,117,0,5,0,5,176,154,89,117,0,5,0,70,176,154,89,117,0,5,0,5,193,154,89,117,0,5,0,70,193,154,89,117,0,5,0,5,200,154,89,117,0,5,0,70,200,154,89,117,0,5,0,5,207,154,89,117,0,5,0,70,207,154,89,117,0,5,0,5,214,154,89,117,0,5,0,5,221,154,89,117,0,5,0,70,221,154,89,117,0,5,0,5,228,154,89,117,0,5,0,70,228,154,89,117,0,5,0,5,235,154,89,117,0,5,0,5,242,154,89,117,0,5,0,5,2,154,89,117,0,5,0,70,2,154,89,117,0,5,0,5,9,154,89,117,0,5,0,70,9,154,89,117,0,5,0,5,16,154,89,117,0,5,0,70,16,154,89,117,0,5,0,5,23,154,89,117,0,5,0,70,23,154,89,117,0,5,0,70,30,154,89,117,0,5,0,5,30,154,89,117,0,5,0,5,37,154,89,117,0,5,0,70,37,154,89,117,0,5,0,5,44,154,89,117,0,5,0,70,44,154,89,117,0,5,0,5,51,154,89,117,0,5,0,70,51,154,89,117,0,5,0,5,58,154,89,117,0,5,0,5,65,154,89,117,0,5,0,70,65,154,89,117,0,5,0,5,72,154,89,117,0,5,0,70,72,154,89,117,0,5,0,5,79,154,89,117,0,5,0,70,79,154,89,117,0,5,0,5,86,154,89,117,0,5,0,70,86,154,89,117,0,5,0,5,93,154,89,117,0,5,0,70,93,154,89,117,0,5,0,5,100,154,89,117,0,5,0,70,100,154,89,117,0,5,0,5,107,154,89,117,0,5,0,70,107,154,89,117,0,5,0,5,114,154,89,117,0,5,0,70,114,154,89,117,0,5,0,5,121,154,89,117,0,5,0,70,121,154,89,117,0,5,0,5,128,154,89,117,0,5,0,70,128,154,89,117,0,5,0,5,135,154,89,117,0,5,0,70,135,154,89,117,0,5,0,5,142,154,89,117,0,5,0,70,142,154,89,117,0,5,0,5,149,154,89,117,0,5,0,70,149,154,89,117,0,5,0,5,156,154,89,117,0,5,0,70,156,154,89,117,0,5,0,5,163,154,89,117,0,5,0,70,163,154,89,117,0,5,0,5,170,154,89,117,0,5,0,70,170,154,89,117,0,5,0,5,179,154,89,117,0,5,0,5,177,154,89,117,0,5,0,70,177,154,89,117,0,5,0,5,181,154,89,117,0,5,0,5,194,154,89,117,0,5,0,70,194,154,89,117,0,5,0,5,201,154,89,117,0,5,0,70,201,154,89,117,0,5,0,5,208,154,89,117,0,5,0,70,208,154,89,117,0,5,0,5,215,154,89,117,0,5,0,70,222,154,89,117,0,5,0,5,229,154,89,117,0,5,0,70,229,154,89,117,0,5,0,5,236,154,89,117,0,5,0,5,243,154,89,117,0,5,0,5,6,154,89,117,0,5,0,70,6,154,89,117,0,5,0,5,13,154,89,117,0,5,0,70,13,154,89,117,0,5,0,5,20,154,89,117,0,5,0,70,20,154,89,117,0,5,0,5,27,154,89,117,0,5,0,70,27,154,89,117,0,5,0,70,34,154,89,117,0,5,0,5,34,154,89,117,0,5,0,5,41,154,89,117,0,5,0,70,41,154,89,117,0,5,0,5,48,154,89,117,0,5,0,70,48,154,89,117,0,5,0,5,55,154,89,117,0,5,0,70,55,154,89,117,0,5,0,5,62,154,89,117,0,5,0,5,69,154,89,117,0,5,0,70,69,154,89,117,0,5,0,5,76,154,89,117,0,5,0,70,76,154,89,117,0,5,0,5,83,154,89,117,0,5,0,70,83,154,89,117,0,5,0,5,90,154,89,117,0,5,0,70,90,154,89,117,0,5,0,5,97,154,89,117,0,5,0,70,97,154,89,117,0,5,0,5,104,154,89,117,0,5,0,70,104,154,89,117,0,5,0,5,111,154,89,117,0,5,0,70,111,154,89,117,0,5,0,5,118,154,89,117,0,5,0,70,118,154,89,117,0,5,0,5,125,154,89,117,0,5,0,70,125,154,89,117,0,5,0,5,132,154,89,117,0,5,0,70,132,154,89,117,0,5,0,5,139,154,89,117,0,5,0,70,139,154,89,117,0,5,0,5,146,154,89,117,0,5,0,70,146,154,89,117,0,5,0,5,153,154,89,117,0,5,0,70,153,154,89,117,0,5,0,5,160,154,89,117,0,5,0,70,160,154,89,117,0,5,0,5,167,154,89,117,0,5,0,70,167,154,89,117,0,5,0,5,174,154,89,117,0,5,0,70,174,154,89,117,0,5,0,5,191,154,89,117,0,5,0,70,191,154,89,117,0,5,0,5,198,154,89,117,0,5,0,70,198,154,89,117,0,5,0,5,205,154,89,117,0,5,0,70,205,154,89,117,0,5,0,5,212,154,89,117,0,5,0,70,212,154,89,117,0,5,0,5,219,154,89,117,0,5,0,5,226,154,89,117,0,5,0,70,226,154,89,117,0,5,0,5,233,154,89,117,0,5,0,70,233,154,89,117,0,5,0,5,240,154,89,117,0,5,0,5,247,154,89,117,0,5,0,5,178,154,89,117,0,5,0,5,180,154,89,117,0,5,0,5,182,154,89,117,0,5,0,5,222,154,89,117,0,5,0,5,0,0,83,117,0,5,0,5,3,154,89,117,0,5,0,70,3,154,89,117,0,5,0,5,10,154,89,117,0,5,0,70,10,154,89,117,0,5,0,5,17,154,89,117,0,5,0,70,17,154,89,117,0,5,0,5,24,154,89,117,0,5,0,70,24,154,89,117,0,5,0,70,31,154,89,117,0,5,0,5,31,154,89,117,0,5,0,5,38,154,89,117,0,5,0,70,38,154,89,117,0,5,0,5,45,154,89,117,0,5,0,70,45,154,89,117,0,5,0,5,52,154,89,117,0,5,0,70,52,154,89,117,0,5,0,5,59,154,89,117,0,5,0,5,66,154,89,117,0,5,0,70,66,154,89,117,0,5,0,5,73,154,89,117,0,5,0,70,73,154,89,117,0,5,0,5,80,154,89,117,0,5,0,70,80,154,89,117,0,5,0,5,87,154,89,117,0,5,0,70,87,154,89,117,0,5,0,5,94,154,89,117,0,5,0,70,94,154,89,117,0,5,0,5,101,154,89,117,0,5,0,70,101,154,89,117,0,5,0,5,108,154,89,117,0,5,0,70,108,154,89,117,0,5,0,5,115,154,89,117,0,5,0,70,115,154,89,117,0,5,0,5,122,154,89,117,0,5,0,70,122,154,89,117,0,5,0,5,129,154,89,117,0,5,0,70,129,154,89,117,0,5,0,5,136,154,89,117,0,5,0,70,136,154,89,117,0,5,0,5,143,154,89,117,0,5,0,70,143,154,89,117,0,5,0,5,150,154,89,117,0,5,0,5,157,154,89,117,0,5,0,70,157,154,89,117,0,5,0,5,164,154,89,117,0,5,0,70,164,154,89,117,0,5,0,5,171,154,89,117,0,5,0,70,171,154,89,117,0,5,0,5,185,154,89,117,0,5,0,5,183,154,89,117,0,5,0,70,183,154,89,117,0,5,0,5,187,154,89,117,0,5,0,5,195,154,89,117,0,5,0,70,195,154,89,117,0,5,0,5,202,154,89,117,0,5,0,70,202,154,89,117,0,5,0,5,209,154,89,117,0,5,0,70,209,154,89,117,0,5,0,5,216,154,89,117,0,5,0,70,223,154,89,117,0,5,0,5,230,154,89,117,0,5,0,70,230,154,89,117,0,5,0,5,237,154,89,117,0,5,0,5,244,154,89,117,0,5,0,5,184,154,89,117,0,5,0,5,186,154,89,117,0,5,0,5,188,154,89,117,0,5,0,5,223,154,89,117,0,5,0,5,0,0,83,117,0,5,0,5,4,154,89,117,0,5,0,70,4,154,89,117,0,5,0,5,11,154,89,117,0,5,0,70,11,154,89,117,0,5,0,5,18,154,89,117,0,5,0,70,18,154,89,117,0,5,0,5,25,154,89,117,0,5,0,70,25,154,89,117,0,5,0,70,32,154,89,117,0,5,0,5,32,154,89,117,0,5,0,5,39,154,89,117,0,5,0,70,39,154,89,117,0,5,0,5,46,154,89,117,0,5,0,70,46,154,89,117,0,5,0,5,53,154,89,117,0,5,0,70,53,154,89,117,0,5,0,5,60,154,89,117,0,5,0,5,67,154,89,117,0,5,0,70,67,154,89,117,0,5,0,5,74,154,89,117,0,5,0,70,74,154,89,117,0,5,0,5,81,154,89,117,0,5,0,70,81,154,89,117,0,5,0,5,88,154,89,117,0,5,0,70,88,154,89,117,0,5,0,5,95,154,89,117,0,5,0,70,95,154,89,117,0,5,0,5,102,154,89,117,0,5,0,70,102,154,89,117,0,5,0,5,109,154,89,117,0,5,0,70,109,154,89,117,0,5,0,5,116,154,89,117,0,5,0,70,116,154,89,117,0,5,0,5,123,154,89,117,0,5,0,70,123,154,89,117,0,5,0,5,130,154,89,117,0,5,0,70,130,154,89,117,0,5,0,5,137,154,89,117,0,5,0,70,137,154,89,117,0,5,0,5,144,154,89,117,0,5,0,70,144,154,89,117,0,5,0,5,151,154,89,117,0,5,0,70,151,154,89,117,0,5,0,5,158,154,89,117,0,5,0,70,158,154,89,117,0,5,0,5,165,154,89,117,0,5,0,70,165,154,89,117,0,5,0,5,172,154,89,117,0,5,0,70,172,154,89,117,0,5,0,5,189,154,89,117,0,5,0,70,189,154,89,117,0,5,0,5,196,154,89,117,0,5,0,70,196,154,89,117,0,5,0,5,203,154,89,117,0,5,0,70,203,154,89,117,0,5,0,5,210,154,89,117,0,5,0,70,210,154,89,117,0,5,0,5,217,154,89,117,0,5,0,5,224,154,89,117,0,5,0,70,224,154,89,117,0,5,0,5,231,154,89,117,0,5,0,70,231,154,89,117,0,5,0,5,238,154,89,117,0,5,0,5,245,154,89,117,0,5,0,70,0,136,89,117,0,5,0,71,5,154,89,117,0,5,0,72,5,154,89,117,0,5,0,71,12,154,89,117,0,5,0,72,12,154,89,117,0,5,0,71,19,154,89,117,0,5,0,72,19,154,89,117,0,5,0,71,26,154,89,117,0,5,0,72,26,154,89,117,0,5,0,72,33,154,89,117,0,5,0,71,33,154,89,117,0,5,0,71,40,154,89,117,0,5,0,72,40,154,89,117,0,5,0,71,47,154,89,117,0,5,0,72,47,154,89,117,0,5,0,71,54,154,89,117,0,5,0,72,54,154,89,117,0,5,0,70,61,154,89,117,0,5,0,71,68,154,89,117,0,5,0,72,68,154,89,117,0,5,0,71,75,154,89,117,0,5,0,72,75,154,89,117,0,5,0,71,82,154,89,117,0,5,0,72,82,154,89,117,0,5,0,71,89,154,89,117,0,5,0,72,89,154,89,117,0,5,0,71,96,154,89,117,0,5,0,72,96,154,89,117,0,5,0,71,103,154,89,117,0,5,0,72,103,154,89,117,0,5,0,71,110,154,89,117,0,5,0,72,110,154,89,117,0,5,0,71,117,154,89,117,0,5,0,72,117,154,89,117,0,5,0,71,124,154,89,117,0,5,0,72,124,154,89,117,0,5,0,71,131,154,89,117,0,5,0,72,131,154,89,117,0,5,0,71,138,154,89,117,0,5,0,72,138,154,89,117,0,5,0,71,145,154,89,117,0,5,0,72,145,154,89,117,0,5,0,71,152,154,89,117,0,5,0,72,152,154,89,117,0,5,0,71,159,154,89,117,0,5,0,72,159,154,89,117,0,5,0,71,166,154,89,117,0,5,0,72,166,154,89,117,0,5,0,71,173,154,89,117,0,5,0,72,173,154,89,117,0,5,0,71,190,154,89,117,0,5,0,72,190,154,89,117,0,5,0,71,197,154,89,117,0,5,0,72,197,154,89,117,0,5,0,71,204,154,89,117,0,5,0,72,204,154,89,117,0,5,0,71,211,154,89,117,0,5,0,72,211,154,89,117,0,5,0,70,218,154,89,117,0,5,0,71,225,154,89,117,0,5,0,72,225,154,89,117,0,5,0,71,232,154,89,117,0,5,0,72,232,154,89,117,0,5,0,70,239,154,89,117,0,5,0,70,246,154,89,117,0,5,0,70,0,137,89,117,0,5,0,5,5,154,89,117,0,5,0,70,5,154,89,117,0,5,0,70,5,154,89,117,0,5,0,5,0,9,79,117,0,5,0,5,250,154,89,117,0,5,0,5,12,154,89,117,0,5,0,70,12,154,89,117,0,5,0,5,19,154,89,117,0,5,0,70,19,154,89,117,0,5,0,5,26,154,89,117,0,5,0,70,26,154,89,117,0,5,0,70,33,154,89,117,0,5,0,5,33,154,89,117,0,5,0,5,40,154,89,117,0,5,0,70,40,154,89,117,0,5,0,5,47,154,89,117,0,5,0,70,47,154,89,117,0,5,0,5,54,154,89,117,0,5,0,70,54,154,89,117,0,5,0,5,61,154,89,117,0,5,0,5,68,154,89,117,0,5,0,70,68,154,89,117,0,5,0,5,75,154,89,117,0,5,0,70,75,154,89,117,0,5,0,5,82,154,89,117,0,5,0,70,82,154,89,117,0,5,0,5,89,154,89,117,0,5,0,70,89,154,89,117,0,5,0,5,96,154,89,117,0,5,0,70,96,154,89,117,0,5,0,5,103,154,89,117,0,5,0,70,103,154,89,117,0,5,0,5,110,154,89,117,0,5,0,70,110,154,89,117,0,5,0,5,117,154,89,117,0,5,0,70,117,154,89,117,0,5,0,5,124,154,89,117,0,5,0,70,124,154,89,117,0,5,0,5,131,154,89,117,0,5,0,70,131,154,89,117,0,5,0,5,138,154,89,117,0,5,0,70,138,154,89,117,0,5,0,5,145,154,89,117,0,5,0,70,145,154,89,117,0,5,0,5,152,154,89,117,0,5,0,70,152,154,89,117,0,5,0,5,159,154,89,117,0,5,0,70,159,154,89,117,0,5,0,5,166,154,89,117,0,5,0,70,166,154,89,117,0,5,0,5,173,154,89,117,0,5,0,70,173,154,89,117,0,5,0,5,190,154,89,117,0,5,0,70,190,154,89,117,0,5,0,5,197,154,89,117,0,5,0,70,197,154,89,117,0,5,0,5,204,154,89,117,0,5,0,70,204,154,89,117,0,5,0,5,211,154,89,117,0,5,0,70,211,154,89,117,0,5,0,5,218,154,89,117,0,5,0,5,225,154,89,117,0,5,0,70,225,154,89,117,0,5,0,5,232,154,89,117,0,5,0,70,232,154,89,117,0,5,0,5,239,154,89,117,0,5,0,5,246,154,89,117,0,5,0,5,224,154,89,117,0,5,0,5,0,0,83,117,0,5,0,5,2,155,89,117,0,5,0,5,7,155,89,117,0,5,0,5,4,155,89,117,0,5,0,5,251,154,89,117,0,5,0,5,3,155,89,117,0,5,0,5,8,155,89,117,0,5,0,5,5,155,89,117,0,5,0,5,253,154,89,117,0,5,0,5,6,155,89,117,0,5,0,5,255,154,89,117,0,5,0,5,220,154,89,117,0,5,0,5,0,0,83,117,0,5,0,5,0,168,80,117,0,5,0,5,255,154,89,117,0,5,0,71,6,154,89,117,0,5,0,5,0,61,81,117,0,5,0,5,253,154,89,117,0,5,0,5,0,107,89,117,0,5,0,70,0,80,93,117,0,5,0,5,0,89,81,117,0,5,0,70,70,154,89,117,0,5,0,5,0,81,93,117,0,5,0,5,0,9,79,117,0,5,0,70,33,154,89,117,0,5,0,70,0,81,93,117,0,5,0,5,0,100,85,117,0,5,0,70,0,23,89,117,0,5,0,5,248,154,89,117,0,5,0,5,249,154,89,117,0,5,0,5,252,154,89,117,0,5,0,5,254,154,89,117,0,0,0,0,5,5,83,117,193,33,81,117,193,37,89,117,193,100,85,117,193,23,89,117,193,86,79,117,10,5,91,117,193,100,85,117,193,51,89,117,193,86,79,117,9,5,91,117,193,100,85,117,193,107,89,117,193,86,79,117,8,5,91,117,193,100,85,117,193,136,89,117,193,86,79,117,7,5,91,117,193,100,85,117,193,136,89,117,193,86,79,117,6,5,91,117,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,79,117,193,9,1,0,57,16,255,255,89,117,193,152,58,16,198,129,79,117,193,23,1,0,57,16,198,161,58,16,0,192,198,65,79,117,193,37,1,0,57,16,0,192,198,97,58,16,0,192,198,129,79,117,193,65,1,0,57,16,0,192,198,161,58,16,0,192,198,193,79,117,193,86,48,0,58,16,112,64,198,225,57,16,1,192,198,1,79,117,193,100,1,0,57,16,1,192,198,33,58,16,1,192,198,65,79,117,193,121,1,0,57,16,1,192,198,97,58,16,1,192,198,129,79,117,193,149,1,0,57,16,1,192,198,161,58,16,1,192,198,193,79,117,193,184,48,0,58,16,1,192,198,225,79,117,193,233,1,0,57,16,2,192,198,1,58,16,2,192,198,33,80,117,193,7,1,0,57,16,2,192,198,65,58,16,2,192,198,97,80,117,193,14,1,0,57,16,2,192,198,129,58,16,2,192,198,161,80,117,193,28,1,0,57,16,2,192,198,193,58,16,2,192,198,225,80,117,193,42,1,0,57,16,3,192,198,1,58,16,3,192,198,33,80,117,193,63,1,0,57,16,3,192,198,65,58,16,3,192,198,97,80,117,193,84,1,0,57,16,3,192,198,129,58,16,3,192,198,161,80,117,193,112,1,0,57,16,3,192,198,193,58,16,3,192,198,225,80,117,193,119,1,0,57,16,3,0,58,16,4,192,198,161,115,65,198,1,25,16,4,16,58,16,56,16,4,192,198,36,80,117,193,126,1,0,57,16,4,192,198,193,58,16,4,192,198,225,80,117,193,147,1,0,57,16,5,192,198,1,58,16,5,192,198,33,80,117,193,168,1,0,57,16,5,192,198,65,58,16,178,65,198,97,47,16,21,16,58,16,5,192,198,131,80,117,193,196,1,0,57,16,5,192,198,225,58,16,6,192,198,1,80,117,193,203,1,0,57,16,6,192,198,33,58,16,6,192,198,65,80,117,193,245,1,0,57,16,6,192,198,97,58,16,6,192,198,129,81,117,193,12,1,0,57,16,6,192,198,161,58,16,6,192,198,193,81,117,193,33,1,0,57,16,6,192,198,225,58,16,7,192,198,1,81,117,193,47,1,0,57,16,7,192,198,33,58,16,7,192,198,65,81,117,193,61,1,0,57,16,7,192,198,97,58,16,7,192,198,129,81,117,193,89,2,0,0,16,5,0,57,16,9,0,58,16,8,192,198,193,50,0,58,16,59,16,44,16,7,192,198,164,114,66,198,33,24,16,0,16,58,16,8,192,198,68,81,117,193,103,48,0,58,16,8,192,198,225,83,117,5,5,1,0,57,16,3,0,58,16,9,192,198,33,177,66,198,1,25,16,46,16,197,163,85,117,193,9,1,0,57,16,9,192,198,65,58,16,9,192,198,97,85,117,193,51,48,0,58,16,9,192,198,129,85,117,193,100,48,0,58,16,9,192,198,161,9,0,198,194,30,0,16,16,141,0,24,16,67,0,28,16,30,0,28,16,7,0,30,16,12,0,31,16,17,0,63,16,24,192,198,195,1,0,57,16,23,192,198,66,58,16,23,192,198,130,1,0,57,16,23,192,198,194,58,16,24,192,198,2,1,0,57,16,24,192,198,66,58,16,24,192,198,130,24,16,12,0,25,16,17,0,26,16,22,0,27,16,1,0,57,16,22,192,198,194,58,16,23,192,198,2,1,0,57,16,21,192,198,66,58,16,21,192,198,130,1,0,57,16,21,192,198,194,58,16,22,192,198,2,1,0,57,16,22,192,198,66,58,16,22,192,198,130,20,16,35,0,20,16,12,0,21,16,17,0,22,16,22,0,23,16,1,0,57,16,20,192,198,194,58,16,21,192,198,2,1,0,57,16,19,192,198,66,58,16,19,192,198,130,1,0,57,16,19,192,198,194,58,16,20,192,198,2,1,0,57,16,20,192,198,66,58,16,20,192,198,130,16,16,12,0,17,16,17,0,18,16,22,0,19,16,1,0,57,16,18,192,198,194,58,16,19,192,198,2,1,0,57,16,17,192,198,66,58,16,17,192,198,130,1,0,57,16,17,192,198,194,58,16,18,192,198,2,1,0,57,16,18,192,198,66,58,16,18,192,198,130,7,16,72,0,12,16,35,0,12,16,12,0,13,16,17,0,14,16,22,0,15,16,1,0,57,16,16,192,198,194,58,16,17,192,198,2,1,0,57,16,15,192,198,66,58,16,15,192,198,130,1,0,57,16,15,192,198,194,58,16,16,192,198,2,1,0,57,16,16,192,198,66,58,16,16,192,198,130,7,16,12,0,9,16,17,0,10,16,22,0,11,16,1,0,57,16,14,192,198,194,58,16,15,192,198,2,1,0,57,16,13,192,198,66,58,16,13,192,198,130,1,0,57,16,13,192,198,194,58,16,14,192,198,2,1,0,57,16,14,192,198,66,58,16,14,192,198,130,3,16,35,0,3,16,12,0,4,16,17,0,5,16,22,0,6,16,1,0,57,16,12,192,198,194,58,16,13,192,198,2,1,0,57,16,11,192,198,130,58,16,11,192,198,194,1,0,57,16,0,192,197,132,58,16,12,192,198,2,1,0,57,16,12,192,198,66,58,16,12,192,198,130,0,16,10,0,1,16,15,0,2,16,1,0,57,16,11,192,198,2,58,16,11,192,198,66,1,0,57,16,10,192,198,2,58,16,10,192,198,66,1,0,57,16,10,192,198,130,58,16,10,192,198,194,25,0,198,98,32,0,17,16,141,0,25,16,67,0,30,16,30,0,30,16,10,0,31,16,15,0,46,16,40,192,198,98,47,16,17,0,63,16,40,192,198,227,1,0,57,16,39,192,198,98,58,16,39,192,198,162,1,0,57,16,39,192,198,226,58,16,40,192,198,34,48,0,54,16,40,192,198,162,25,16,12,0,26,16,17,0,27,16,22,0,28,16,1,0,57,16,38,192,198,226,58,16,39,192,198,34,1,0,57,16,37,192,198,98,58,16,37,192,198,162,1,0,57,16,37,192,198,226,58,16,38,192,198,34,1,0,57,16,38,192,198,98,58,16,38,192,198,162,21,16,35,0,21,16,12,0,22,16,17,0,23,16,22,0,24,16,1,0,57,16,36,192,198,226,58,16,37,192,198,34,1,0,57,16,35,192,198,98,58,16,35,192,198,162,1,0,57,16,35,192,198,226,58,16,36,192,198,34,1,0,57,16,36,192,198,98,58,16,36,192,198,162,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,34,192,198,226,58,16,35,192,198,34,1,0,57,16,33,192,198,98,58,16,33,192,198,162,1,0,57,16,33,192,198,226,58,16,34,192,198,34,1,0,57,16,34,192,198,98,58,16,34,192,198,162,9,16,72,0,13,16,35,0,13,16,12,0,14,16,17,0,15,16,22,0,16,16,1,0,57,16,32,192,198,226,58,16,33,192,198,34,1,0,57,16,31,192,198,98,58,16,31,192,198,162,1,0,57,16,31,192,198,226,58,16,32,192,198,34,1,0,57,16,32,192,198,98,58,16,32,192,198,162,9,16,12,0,10,16,17,0,11,16,22,0,12,16,1,0,57,16,30,192,198,226,58,16,31,192,198,34,1,0,57,16,29,192,198,98,58,16,29,192,198,162,1,0,57,16,29,192,198,226,58,16,30,192,198,34,1,0,57,16,30,192,198,98,58,16,30,192,198,162,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,28,192,198,226,58,16,29,192,198,34,1,0,57,16,1,192,197,4,58,16,27,192,198,162,1,0,57,16,27,192,198,226,58,16,28,192,198,34,1,0,57,16,28,192,198,98,58,16,28,192,198,162,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,27,192,198,34,58,16,27,192,198,98,1,0,57,16,25,192,198,162,58,16,25,192,198,226,1,0,57,16,26,192,198,34,58,16,26,192,198,98,1,0,57,16,26,192,198,162,58,16,26,192,198,226,41,0,198,66,29,0,16,16,137,0,23,16,72,0,27,16,35,0,27,16,12,0,28,16,17,0,30,16,22,0,31,16,1,0,57,16,55,192,198,194,58,16,56,192,198,2,1,0,57,16,54,192,198,66,58,16,54,192,198,130,1,0,57,16,54,192,198,194,58,16,55,192,198,2,1,0,57,16,55,192,198,66,58,16,55,192,198,130,23,16,12,0,24,16,17,0,25,16,22,0,26,16,1,0,57,16,53,192,198,194,58,16,54,192,198,2,1,0,57,16,52,192,198,66,58,16,52,192,198,130,1,0,57,16,52,192,198,194,58,16,53,192,198,2,1,0,57,16,53,192,198,66,58,16,53,192,198,130,19,16,35,0,19,16,12,0,20,16,17,0,21,16,22,0,22,16,1,0,57,16,51,192,198,194,58,16,52,192,198,2,1,0,57,16,50,192,198,66,58,16,50,192,198,130,1,0,57,16,50,192,198,194,58,16,51,192,198,2,1,0,57,16,51,192,198,66,58,16,51,192,198,130,16,16,10,0,17,16,15,0,18,16,1,0,57,16,49,192,198,194,58,16,50,192,198,2,1,0,57,16,48,192,198,194,58,16,49,192,198,2,1,0,57,16,49,192,198,66,58,16,49,192,198,130,7,16,72,0,12,16,35,0,12,16,12,0,13,16,17,0,14,16,22,0,15,16,1,0,57,16,48,192,198,66,58,16,48,192,198,130,1,0,57,16,46,192,198,194,58,16,47,192,198,2,1,0,57,16,47,192,198,66,58,16,47,192,198,130,1,0,57,16,47,192,198,194,58,16,48,192,198,2,7,16,12,0,9,16,17,0,10,16,22,0,11,16,1,0,57,16,46,192,198,66,58,16,46,192,198,130,1,0,57,16,44,192,198,194,58,16,45,192,198,2,1,0,57,16,45,192,198,66,58,16,45,192,198,130,1,0,57,16,45,192,198,194,58,16,46,192,198,2,3,16,35,0,3,16,12,0,4,16,17,0,5,16,22,0,6,16,1,0,57,16,44,192,198,66,58,16,44,192,198,130,1,0,57,16,43,192,198,2,58,16,43,192,198,66,1,0,57,16,1,192,197,132,58,16,43,192,198,130,1,0,57,16,43,192,198,194,58,16,44,192,198,2,0,16,10,0,1,16,15,0,2,16,1,0,57,16,42,192,198,130,58,16,42,192,198,194,1,0,57,16,41,192,198,130,58,16,41,192,198,194,1,0,57,16,42,192,198,2,58,16,42,192,198,66,56,0,198,130,30,0,16,16,162,1,24,16,88,1,28,16,51,1,28,16,28,1,30,16,33,1,31,16,38,1,49,16,48,0,44,16,29,0,16,16,137,0,23,16,72,0,27,16,35,0,27,16,12,0,28,16,17,0,30,16,22,0,31,16,1,0,57,16,85,192,198,194,58,16,86,192,198,2,1,0,57,16,84,192,198,66,58,16,84,192,198,130,1,0,57,16,84,192,198,194,58,16,85,192,198,2,1,0,57,16,85,192,198,66,58,16,85,192,198,130,23,16,12,0,24,16,17,0,25,16,22,0,26,16,1,0,57,16,83,192,198,194,58,16,84,192,198,2,1,0,57,16,82,192,198,66,58,16,82,192,198,130,1,0,57,16,82,192,198,194,58,16,83,192,198,2,1,0,57,16,83,192,198,66,58,16,83,192,198,130,19,16,35,0,19,16,12,0,20,16,17,0,21,16,22,0,22,16,1,0,57,16,81,192,198,194,58,16,82,192,198,2,1,0,57,16,80,192,198,66,58,16,80,192,198,130,1,0,57,16,80,192,198,194,58,16,81,192,198,2,1,0,57,16,81,192,198,66,58,16,81,192,198,130,16,16,10,0,17,16,15,0,18,16,1,0,57,16,79,192,198,194,58,16,80,192,198,2,1,0,57,16,78,192,198,194,58,16,79,192,198,2,1,0,57,16,79,192,198,66,58,16,79,192,198,130,7,16,72,0,12,16,35,0,12,16,12,0,13,16,17,0,14,16,22,0,15,16,1,0,57,16,78,192,198,66,58,16,78,192,198,130,1,0,57,16,76,192,198,194,58,16,77,192,198,2,1,0,57,16,77,192,198,66,58,16,77,192,198,130,1,0,57,16,77,192,198,194,58,16,78,192,198,2,7,16,12,0,9,16,17,0,10,16,22,0,11,16,1,0,57,16,76,192,198,66,58,16,76,192,198,130,1,0,57,16,74,192,198,194,58,16,75,192,198,2,1,0,57,16,75,192,198,66,58,16,75,192,198,130,1,0,57,16,75,192,198,194,58,16,76,192,198,2,3,16,35,0,3,16,12,0,4,16,17,0,5,16,22,0,6,16,1,0,57,16,74,192,198,66,58,16,74,192,198,130,1,0,57,16,73,192,198,2,58,16,73,192,198,66,1,0,57,16,2,192,197,132,58,16,73,192,198,130,1,0,57,16,73,192,198,194,58,16,74,192,198,2,0,16,10,0,1,16,15,0,2,16,1,0,57,16,72,192,198,130,58,16,72,192,198,194,1,0,57,16,71,192,198,130,58,16,71,192,198,194,1,0,57,16,72,192,198,2,58,16,72,192,198,66,1,0,57,16,70,192,198,2,58,16,70,192,198,66,1,0,57,16,70,192,198,130,58,16,70,192,198,194,1,0,57,16,71,192,198,2,58,16,71,192,198,66,24,16,12,0,25,16,17,0,26,16,22,0,27,16,1,0,57,16,69,192,198,130,58,16,69,192,198,194,1,0,57,16,68,192,198,2,58,16,68,192,198,66,1,0,57,16,68,192,198,130,58,16,68,192,198,194,1,0,57,16,69,192,198,2,58,16,69,192,198,66,20,16,35,0,20,16,12,0,21,16,17,0,22,16,22,0,23,16,1,0,57,16,67,192,198,130,58,16,67,192,198,194,1,0,57,16,66,192,198,2,58,16,66,192,198,66,1,0,57,16,66,192,198,130,58,16,66,192,198,194,1,0,57,16,67,192,198,2,58,16,67,192,198,66,16,16,12,0,17,16,17,0,18,16,22,0,19,16,1,0,57,16,65,192,198,130,58,16,65,192,198,194,1,0,57,16,64,192,198,2,58,16,64,192,198,66,1,0,57,16,64,192,198,130,58,16,64,192,198,194,1,0,57,16,65,192,198,2,58,16,65,192,198,66,7,16,72,0,12,16,35,0,12,16,12,0,13,16,17,0,14,16,22,0,15,16,1,0,57,16,63,192,198,130,58,16,63,192,198,194,1,0,57,16,62,192,198,2,58,16,62,192,198,66,1,0,57,16,62,192,198,130,58,16,62,192,198,194,1,0,57,16,63,192,198,2,58,16,63,192,198,66,7,16,12,0,9,16,17,0,10,16,22,0,11,16,1,0,57,16,61,192,198,130,58,16,61,192,198,194,1,0,57,16,60,192,198,2,58,16,60,192,198,66,1,0,57,16,60,192,198,130,58,16,60,192,198,194,1,0,57,16,61,192,198,2,58,16,61,192,198,66,3,16,35,0,3,16,12,0,4,16,17,0,5,16,22,0,6,16,1,0,57,16,59,192,198,130,58,16,59,192,198,194,1,0,57,16,58,192,198,66,58,16,58,192,198,130,1,0,57,16,2,192,197,4,58,16,58,192,198,194,1,0,57,16,59,192,198,2,58,16,59,192,198,66,0,16,10,0,1,16,15,0,2,16,1,0,57,16,57,192,198,194,58,16,58,192,198,2,1,0,57,16,56,192,198,194,58,16,57,192,198,2,1,0,57,16,57,192,198,66,58,16,57,192,198,130,87,117,5,70,33,0,17,16,146,0,25,16,72,0,29,16,35,0,29,16,11,0,30,16,13,0,31,16,18,0,32,16,23,0,33,16,48,0,58,16,94,192,198,97,48,0,58,16,93,192,198,161,1,0,57,16,93,192,198,193,58,16,93,192,198,225,1,0,57,16,94,192,198,1,58,16,94,192,198,33,48,0,58,16,94,192,198,65,25,16,12,0,26,16,17,0,27,16,22,0,28,16,1,0,57,16,93,192,198,97,58,16,93,192,198,129,1,0,57,16,92,192,198,161,58,16,92,192,198,193,1,0,57,16,92,192,198,225,58,16,93,192,198,1,1,0,57,16,93,192,198,33,58,16,93,192,198,65,21,16,35,0,21,16,12,0,22,16,17,0,23,16,22,0,24,16,1,0,57,16,92,192,198,97,58,16,92,192,198,129,1,0,57,16,91,192,198,161,58,16,91,192,198,193,1,0,57,16,91,192,198,225,58,16,92,192,198,1,1,0,57,16,92,192,198,33,58,16,92,192,198,65,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,91,192,198,97,58,16,91,192,198,129,1,0,57,16,90,192,198,161,58,16,90,192,198,193,1,0,57,16,90,192,198,225,58,16,91,192,198,1,1,0,57,16,91,192,198,33,58,16,91,192,198,65,8,16,78,0,12,16,44,0,12,16,14,0,13,16,19,0,14,16,24,0,15,16,29,0,16,16,1,0,57,16,90,192,198,97,58,16,90,192,198,129,1,0,57,16,89,192,198,97,58,16,89,192,198,129,1,0,57,16,89,192,198,161,58,16,89,192,198,193,1,0,57,16,89,192,198,225,58,16,90,192,198,1,1,0,57,16,90,192,198,33,58,16,90,192,198,65,8,16,12,0,9,16,14,0,10,16,19,0,11,16,1,0,57,16,89,192,198,33,58,16,89,192,198,65,48,0,58,16,88,192,198,129,1,0,57,16,88,192,198,161,58,16,88,192,198,193,1,0,57,16,88,192,198,225,58,16,89,192,198,1,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,88,192,198,65,58,16,88,192,198,97,48,0,58,16,48,86,198,129,57,16,87,192,198,161,1,0,57,16,87,192,198,193,58,16,87,192,198,225,1,0,57,16,88,192,198,1,58,16,88,192,198,33,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,87,192,198,65,58,16,87,192,198,97,1,0,57,16,86,192,198,129,58,16,86,192,198,161,1,0,57,16,86,192,198,193,58,16,86,192,198,225,1,0,57,16,87,192,198,1,58,16,87,192,198,33,87,117,5,5,33,0,17,16,146,0,25,16,72,0,29,16,35,0,29,16,11,0,30,16,13,0,31,16,18,0,32,16,23,0,33,16,48,0,58,16,102,192,198,65,48,0,58,16,101,192,198,129,1,0,57,16,101,192,198,161,58,16,101,192,198,193,1,0,57,16,101,192,198,225,58,16,102,192,198,1,48,0,58,16,102,192,198,33,25,16,12,0,26,16,17,0,27,16,22,0,28,16,1,0,57,16,101,192,198,65,58,16,101,192,198,97,1,0,57,16,100,192,198,129,58,16,100,192,198,161,1,0,57,16,100,192,198,193,58,16,100,192,198,225,1,0,57,16,101,192,198,1,58,16,101,192,198,33,21,16,35,0,21,16,12,0,22,16,17,0,23,16,22,0,24,16,1,0,57,16,100,192,198,65,58,16,100,192,198,97,1,0,57,16,99,192,198,129,58,16,99,192,198,161,1,0,57,16,99,192,198,193,58,16,99,192,198,225,1,0,57,16,100,192,198,1,58,16,100,192,198,33,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,99,192,198,65,58,16,99,192,198,97,1,0,57,16,98,192,198,129,58,16,98,192,198,161,1,0,57,16,98,192,198,193,58,16,98,192,198,225,1,0,57,16,99,192,198,1,58,16,99,192,198,33,8,16,78,0,12,16,44,0,12,16,14,0,13,16,19,0,14,16,24,0,15,16,29,0,16,16,1,0,57,16,98,192,198,65,58,16,98,192,198,97,1,0,57,16,97,192,198,65,58,16,97,192,198,97,1,0,57,16,97,192,198,129,58,16,97,192,198,161,1,0,57,16,97,192,198,193,58,16,97,192,198,225,1,0,57,16,98,192,198,1,58,16,98,192,198,33,8,16,12,0,9,16,14,0,10,16,19,0,11,16,1,0,57,16,97,192,198,1,58,16,97,192,198,33,48,0,58,16,96,192,198,97,1,0,57,16,96,192,198,129,58,16,96,192,198,161,1,0,57,16,96,192,198,193,58,16,96,192,198,225,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,96,192,198,33,58,16,96,192,198,65,48,0,58,16,48,88,198,97,57,16,95,192,198,129,1,0,57,16,95,192,198,161,58,16,95,192,198,193,1,0,57,16,95,192,198,225,58,16,96,192,198,1,0,16,12,0,1,16,18,0,2,16,23,0,3,16,1,0,57,16,95,192,198,33,58,16,95,192,198,65,1,0,57,16,255,255,89,117,193,153,58,16,94,192,198,129,1,0,57,16,94,192,198,161,58,16,94,192,198,193,1,0,57,16,94,192,198,225,58,16,95,192,198,1,89,117,193,23,36,0,18,16,209,1,27,16,117,1,32,16,74,1,32,16,9,0,33,16,11,0,47,16,13,0,54,16,58,1,63,16,118,192,198,226,48,0,58,16,110,192,198,65,48,0,58,16,110,192,198,97,225,127,89,117,193,151,17,16,146,0,25,16,72,0,29,16,35,0,29,16,11,0,30,16,13,0,31,16,18,0,32,16,23,0,33,16,48,0,58,16,118,192,198,97,48,0,58,16,117,192,198,161,1,0,57,16,117,192,198,193,58,16,117,192,198,225,1,0,57,16,118,192,198,1,58,16,118,192,198,33,48,0,58,16,118,192,198,65,25,16,12,0,26,16,17,0,27,16,22,0,28,16,1,0,57,16,117,192,198,97,58,16,117,192,198,129,1,0,57,16,116,192,198,161,58,16,116,192,198,193,1,0,57,16,116,192,198,225,58,16,117,192,198,1,1,0,57,16,117,192,198,33,58,16,117,192,198,65,21,16,35,0,21,16,12,0,22,16,17,0,23,16,22,0,24,16,1,0,57,16,116,192,198,97,58,16,116,192,198,129,1,0,57,16,115,192,198,161,58,16,115,192,198,193,1,0,57,16,115,192,198,225,58,16,116,192,198,1,1,0,57,16,116,192,198,33,58,16,116,192,198,65,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,115,192,198,97,58,16,115,192,198,129,1,0,57,16,114,192,198,161,58,16,114,192,198,193,1,0,57,16,114,192,198,225,58,16,115,192,198,1,1,0,57,16,115,192,198,33,58,16,115,192,198,65,8,16,78,0,12,16,44,0,12,16,14,0,13,16,19,0,14,16,24,0,15,16,29,0,16,16,1,0,57,16,114,192,198,97,58,16,114,192,198,129,1,0,57,16,113,192,198,97,58,16,113,192,198,129,1,0,57,16,113,192,198,161,58,16,113,192,198,193,1,0,57,16,113,192,198,225,58,16,114,192,198,1,1,0,57,16,114,192,198,33,58,16,114,192,198,65,8,16,12,0,9,16,14,0,10,16,19,0,11,16,1,0,57,16,113,192,198,33,58,16,113,192,198,65,48,0,58,16,112,192,198,129,1,0,57,16,112,192,198,161,58,16,112,192,198,193,1,0,57,16,112,192,198,225,58,16,113,192,198,1,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,112,192,198,65,58,16,112,192,198,97,48,0,58,16,48,92,198,129,57,16,111,192,198,161,1,0,57,16,111,192,198,193,58,16,111,192,198,225,1,0,57,16,112,192,198,1,58,16,112,192,198,33,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,111,192,198,65,58,16,111,192,198,97,1,0,57,16,110,192,198,129,58,16,110,192,198,161,1,0,57,16,110,192,198,193,58,16,110,192,198,225,1,0,57,16,111,192,198,1,58,16,111,192,198,33,193,93,198,129,55,16,118,192,198,161,56,16,118,192,198,193,27,16,14,0,28,16,19,0,29,16,24,0,30,16,26,0,31,16,1,0,57,16,110,192,198,1,58,16,110,192,198,33,1,0,57,16,109,192,198,65,58,16,109,192,198,97,1,0,57,16,109,192,198,129,58,16,109,192,198,161,48,0,58,16,109,192,198,193,1,0,57,16,24,192,198,225,58,16,109,192,198,225,22,16,53,0,22,16,14,0,23,16,19,0,24,16,24,0,25,16,29,0,26,16,1,0,57,16,109,192,198,1,58,16,109,192,198,33,1,0,57,16,107,192,198,193,58,16,107,192,198,225,1,0,57,16,108,192,198,1,58,16,108,192,198,33,1,0,57,16,108,192,198,65,58,16,108,192,198,97,2,0,55,16,9,0,57,16,108,192,198,161,58,16,112,91,198,193,56,16,108,192,198,225,48,0,58,16,108,192,198,129,18,16,12,0,19,16,17,0,20,16,22,0,21,16,1,0,57,16,107,192,198,129,58,16,107,192,198,161,1,0,57,16,106,192,198,193,58,16,106,192,198,225,1,0,57,16,107,192,198,1,58,16,107,192,198,33,1,0,57,16,107,192,198,65,58,16,107,192,198,97,9,16,81,0,13,16,44,0,13,16,14,0,14,16,19,0,15,16,24,0,16,16,29,0,17,16,1,0,57,16,106,192,198,129,58,16,106,192,198,161,1,0,57,16,105,192,198,129,58,16,105,192,198,161,1,0,57,16,105,192,198,193,58,16,105,192,198,225,1,0,57,16,106,192,198,1,58,16,106,192,198,33,1,0,57,16,106,192,198,65,58,16,106,192,198,97,9,16,12,0,10,16,17,0,11,16,22,0,12,16,1,0,57,16,105,192,198,65,58,16,105,192,198,97,1,0,57,16,104,192,198,129,58,16,104,192,198,161,1,0,57,16,104,192,198,193,58,16,104,192,198,225,1,0,57,16,105,192,198,1,58,16,105,192,198,33,4,16,41,0,4,16,11,0,5,16,16,0,6,16,21,0,7,16,26,0,8,16,48,0,58,16,104,192,198,97,48,0,58,16,48,90,198,97,57,16,103,192,198,129,1,0,57,16,103,192,198,161,58,16,103,192,198,193,1,0,57,16,103,192,198,225,58,16,104,192,198,1,1,0,57,16,104,192,198,33,58,16,104,192,198,65,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,103,192,198,33,58,16,103,192,198,65,1,0,57,16,102,192,198,97,58,16,102,192,198,129,1,0,57,16,102,192,198,161,58,16,102,192,198,193,1,0,57,16,102,192,198,225,58,16,103,192,198,1,89,117,193,51,35,0,18,16,160,0,27,16,68,0,31,16,34,0,31,16,9,0,32,16,14,0,33,16,16,0,54,16,18,0,63,16,127,192,198,130,1,0,57,16,126,192,198,161,58,16,126,192,198,193,48,0,58,16,126,192,198,225,48,0,58,16,127,192,198,1,1,96,198,33,55,16,127,192,198,65,56,16,127,192,198,97,27,16,12,0,28,16,17,0,29,16,22,0,30,16,1,0,57,16,41,192,198,1,58,16,126,192,198,129,1,0,57,16,125,192,198,225,58,16,126,192,198,1,1,0,57,16,126,192,198,33,58,16,126,192,198,65,48,0,58,16,126,192,198,97,22,16,53,0,22,16,14,0,23,16,19,0,24,16,24,0,25,16,29,0,26,16,1,0,57,16,125,192,198,161,58,16,125,192,198,193,1,0,57,16,124,192,198,97,58,16,124,192,198,129,1,0,57,16,124,192,198,161,58,16,124,192,198,193,1,0,57,16,124,192,198,225,58,16,125,192,198,1,2,0,55,16,9,0,57,16,125,192,198,65,58,16,176,95,198,97,56,16,125,192,198,129,48,0,58,16,125,192,198,33,18,16,12,0,19,16,17,0,20,16,22,0,21,16,1,0,57,16,124,192,198,65,58,16,5,192,198,193,1,0,57,16,123,192,198,129,58,16,123,192,198,161,1,0,57,16,123,192,198,193,58,16,123,192,198,225,1,0,57,16,124,192,198,1,58,16,124,192,198,33,9,16,81,0,13,16,44,0,13,16,14,0,14,16,19,0,15,16,24,0,16,16,29,0,17,16,1,0,57,16,123,192,198,65,58,16,123,192,198,97,1,0,57,16,122,192,198,65,58,16,122,192,198,97,1,0,57,16,122,192,198,129,58,16,122,192,198,161,1,0,57,16,122,192,198,193,58,16,122,192,198,225,1,0,57,16,123,192,198,1,58,16,123,192,198,33,9,16,12,0,10,16,17,0,11,16,22,0,12,16,1,0,57,16,122,192,198,1,58,16,122,192,198,33,1,0,57,16,121,192,198,65,58,16,121,192,198,97,1,0,57,16,121,192,198,129,58,16,121,192,198,161,1,0,57,16,121,192,198,193,58,16,121,192,198,225,4,16,41,0,4,16,11,0,5,16,16,0,6,16,21,0,7,16,26,0,8,16,48,0,58,16,121,192,198,33,48,0,58,16,112,94,198,33,57,16,120,192,198,65,1,0,57,16,120,192,198,97,58,16,120,192,198,129,1,0,57,16,120,192,198,161,58,16,120,192,198,193,1,0,57,16,120,192,198,225,58,16,121,192,198,1,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,119,192,198,225,58,16,120,192,198,1,1,0,57,16,119,192,198,33,58,16,119,192,198,65,1,0,57,16,119,192,198,97,58,16,119,192,198,129,1,0,57,16,119,192,198,161,58,16,119,192,198,193,89,117,193,107,36,0,18,16,250,2,27,16,167,2,32,16,124,2,32,16,9,0,33,16,11,0,43,16,13,0,44,16,61,1,63,16,152,192,198,98,48,0,58,16,135,192,198,129,48,0,58,16,135,192,198,161,34,98,198,193,17,16,150,0,26,16,67,0,30,16,33,0,30,16,9,0,31,16,14,0,32,16,19,0,33,16,21,0,58,16,143,192,198,225,1,0,57,16,143,192,198,33,58,16,143,192,198,65,1,0,57,16,143,192,198,97,58,16,143,192,198,129,48,0,58,16,143,192,198,161,48,0,58,16,143,192,198,193,26,16,9,0,27,16,14,0,28,16,19,0,29,16,48,0,58,16,143,192,198,1,1,0,57,16,142,192,198,65,58,16,142,192,198,97,1,0,57,16,142,192,198,129,58,16,142,192,198,161,1,0,57,16,142,192,198,193,58,16,142,192,198,225,21,16,44,0,21,16,14,0,22,16,19,0,23,16,24,0,24,16,29,0,25,16,1,0,57,16,142,192,198,1,58,16,142,192,198,33,1,0,57,16,141,192,198,1,58,16,141,192,198,33,1,0,57,16,141,192,198,65,58,16,141,192,198,97,1,0,57,16,141,192,198,129,58,16,141,192,198,161,1,0,57,16,141,192,198,193,58,16,141,192,198,225,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,140,192,198,193,58,16,140,192,198,225,1,0,57,16,140,192,198,1,58,16,140,192,198,33,1,0,57,16,140,192,198,65,58,16,140,192,198,97,1,0,57,16,140,192,198,129,58,16,140,192,198,161,8,16,78,0,12,16,44,0,12,16,14,0,13,16,19,0,14,16,24,0,15,16,29,0,16,16,1,0,57,16,139,192,198,193,58,16,139,192,198,225,1,0,57,16,138,192,198,193,58,16,138,192,198,225,1,0,57,16,139,192,198,1,58,16,139,192,198,33,1,0,57,16,139,192,198,65,58,16,139,192,198,97,1,0,57,16,139,192,198,129,58,16,139,192,198,161,8,16,12,0,9,16,14,0,10,16,19,0,11,16,1,0,57,16,138,192,198,129,58,16,138,192,198,161,48,0,58,16,137,192,198,225,1,0,57,16,138,192,198,1,58,16,138,192,198,33,1,0,57,16,138,192,198,65,58,16,138,192,198,97,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,137,192,198,161,58,16,137,192,198,193,48,0,58,16,112,98,198,225,57,16,137,192,198,1,1,0,57,16,137,192,198,33,58,16,137,192,198,65,1,0,57,16,137,192,198,97,58,16,137,192,198,129,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,136,192,198,161,58,16,136,192,198,193,1,0,57,16,135,192,198,225,58,16,136,192,198,1,1,0,57,16,136,192,198,33,58,16,136,192,198,65,1,0,57,16,136,192,198,97,58,16,136,192,198,129,226,127,89,117,193,136,17,16,151,0,26,16,68,0,30,16,34,0,30,16,10,0,31,16,15,0,32,16,20,0,33,16,22,0,58,16,255,255,89,117,193,137,1,0,57,16,151,192,198,161,58,16,151,192,198,193,1,0,57,16,151,192,198,225,58,16,152,192,198,1,48,0,58,16,152,192,198,33,48,0,58,16,152,192,198,65,26,16,9,0,27,16,14,0,28,16,19,0,29,16,48,0,58,16,151,192,198,129,1,0,57,16,150,192,198,193,58,16,150,192,198,225,1,0,57,16,151,192,198,1,58,16,151,192,198,33,1,0,57,16,151,192,198,65,58,16,151,192,198,97,21,16,44,0,21,16,14,0,22,16,19,0,23,16,24,0,24,16,29,0,25,16,1,0,57,16,150,192,198,129,58,16,150,192,198,161,1,0,57,16,149,192,198,129,58,16,149,192,198,161,1,0,57,16,149,192,198,193,58,16,149,192,198,225,1,0,57,16,150,192,198,1,58,16,150,192,198,33,1,0,57,16,150,192,198,65,58,16,150,192,198,97,17,16,12,0,18,16,17,0,19,16,22,0,20,16,1,0,57,16,149,192,198,65,58,16,149,192,198,97,1,0,57,16,148,192,198,129,58,16,148,192,198,161,1,0,57,16,148,192,198,193,58,16,148,192,198,225,1,0,57,16,149,192,198,1,58,16,149,192,198,33,8,16,78,0,12,16,44,0,12,16,14,0,13,16,19,0,14,16,24,0,15,16,29,0,16,16,1,0,57,16,148,192,198,65,58,16,148,192,198,97,1,0,57,16,147,192,198,65,58,16,147,192,198,97,1,0,57,16,147,192,198,129,58,16,147,192,198,161,1,0,57,16,147,192,198,193,58,16,147,192,198,225,1,0,57,16,148,192,198,1,58,16,148,192,198,33,8,16,12,0,9,16,14,0,10,16,19,0,11,16,1,0,57,16,147,192,198,1,58,16,147,192,198,33,48,0,58,16,146,192,198,97,1,0,57,16,146,192,198,129,58,16,146,192,198,161,1,0,57,16,146,192,198,193,58,16,146,192,198,225,4,16,35,0,4,16,12,0,5,16,17,0,6,16,22,0,7,16,1,0,57,16,146,192,198,33,58,16,146,192,198,65,48,0,58,16,176,100,198,97,57,16,145,192,198,129,1,0,57,16,145,192,198,161,58,16,145,192,198,193,1,0,57,16,145,192,198,225,58,16,146,192,198,1,0,16,12,0,1,16,20,0,2,16,25,0,3,16,1,0,57,16,145,192,198,33,58,16,145,192,198,65,1,0,57,16,144,192,198,1,58,16,112,100,198,33,59,16,144,192,198,67,1,0,57,16,144,192,198,161,58,16,144,192,198,193,1,0,57,16,144,192,198,225,58,16,145,192,198,1,27,16,14,0,28,16,19,0,29,16,24,0,30,16,26,0,31,16,1,0,57,16,135,192,198,65,58,16,135,192,198,97,1,0,57,16,134,192,198,97,58,16,134,192,198,129,1,0,57,16,134,192,198,161,58,16,134,192,198,193,48,0,58,16,134,192,198,225,1,0,57,16,135,192,198,1,58,16,135,192,198,33,22,16,44,0,22,16,14,0,23,16,19,0,24,16,24,0,25,16,29,0,26,16,1,0,57,16,134,192,198,33,58,16,134,192,198,65,1,0,57,16,133,192,198,33,58,16,133,192,198,65,1,0,57,16,133,192,198,97,58,16,133,192,198,129,1,0,57,16,133,192,198,161,58,16,133,192,198,193,1,0,57,16,133,192,198,225,58,16,134,192,198,1,18,16,12,0,19,16,17,0,20,16,22,0,21,16,1,0,57,16,132,192,198,225,58,16,133,192,198,1,1,0,57,16,132,192,198,33,58,16,132,192,198,65,1,0,57,16,132,192,198,97,58,16,132,192,198,129,1,0,57,16,132,192,198,161,58,16,132,192,198,193,9,16,81,0,13,16,44,0,13,16,14,0,14,16,19,0,15,16,24,0,16,16,29,0,17,16,1,0,57,16,131,192,198,225,58,16,132,192,198,1,1,0,57,16,130,192,198,225,58,16,131,192,198,1,1,0,57,16,131,192,198,33,58,16,131,192,198,65,1,0,57,16,131,192,198,97,58,16,131,192,198,129,1,0,57,16,131,192,198,161,58,16,131,192,198,193,9,16,12,0,10,16,17,0,11,16,22,0,12,16,1,0,57,16,130,192,198,161,58,16,130,192,198,193,1,0,57,16,129,192,198,225,58,16,130,192,198,1,1,0,57,16,130,192,198,33,58,16,130,192,198,65,1,0,57,16,130,192,198,97,58,16,130,192,198,129,4,16,41,0,4,16,11,0,5,16,16,0,6,16,21,0,7,16,26,0,8,16,48,0,58,16,129,192,198,193,48,0,58,16,112,96,198,193,57,16,128,192,198,225,1,0,57,16,129,192,198,1,58,16,129,192,198,33,1,0,57,16,129,192,198,65,58,16,129,192,198,97,1,0,57,16,129,192,198,129,58,16,129,192,198,161,0,16,12,0,1,16,17,0,2,16,22,0,3,16,1,0,57,16,128,192,198,129,58,16,128,192,198,161,1,0,57,16,127,192,198,193,58,16,127,192,198,225,1,0,57,16,128,192,198,1,58,16,128,192,198,33,1,0,57,16,128,192,198,65,58,16,128,192,198,97,93,117,193,80,48,0,56,16,255,255,93,117,193,82,144,0,198,129,1,0,61,16,3,0,62,16,152,192,198,225,112,102,198,161,62,16,152,192,198,193,153,0,198,1,1,0,61,16,3,0,62,16,153,192,198,97,176,102,198,33,62,16,153,192,198,65,153,0,198,129,48,0,62,16,153,192,198,161,108,11,5,5,50,0,4,16,58,16,56,16,155,192,198,6,16,0,1,16,34,16,43,16,45,16,47,16,48,16,49,16,50,16,54,16,55,16,56,16,57,16,59,16,60,16,61,16,64,16,170,170,3,0,69,0,52,0,61,0,55,13,0,16,4,0,0,96,1,0,0,96,1,0,43,0,77,38,0,32,1,0,32,0,82,38,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,11,0,0,0,15,0,0,0,15,0,0,0,1,0,0,0,0,0,0,0,15,0,0,0,37,37,80,97,114,101,110,116,0,170,170,170,0,0,110,0,111,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,118,0,0,32,7,0,0,0,21,0,0,0,120,0,0,0,120,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,68,0,101,0,118,0,97,0,93,0,0,0,170,170,60,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,36,0,0,0,36,1,0,0,10,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,39,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,111,0,0,32,1,0,32,0,116,0,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,11,0,0,0,15,0,0,0,15,0,0,0,1,0,0,0,0,0,0,0,15,0,0,0,37,37,80,97,114,101,110,116,0,170,170,170,0,0,110,0,111,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,153,27,0,32,7,0,0,0,23,0,0,0,155,27,0,0,155,27,0,0,3,0,0,0,0,0,0,0,118,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,110,0,111,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,133,220,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,116,0,60,0,60,0,60,0,254,0,47,0,104,0,38,0,84,0,60,0,60,0,60,0,222,0,47,0,72,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,101,0,40,3,60,0,60,0,60,0,69,0,40,3,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,60,0,97,0,97,0,60,0,60,0,60,0,65,0,97,0,60,0,60,0,60,0,65,0,65,0,0,0,170,170,170,170,4,57,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,163,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,100,38,0,0,100,38,0,0,140,47,0,0,140,47,0,0,76,51,0,0,76,51,0,0,178,56,0,0,232,56,0,0,232,56,0,0,50,105,114,84,1,0,64,8,89,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,145,0,153,0,159,0,167,0,175,0,183,0,48,0,56,0,182,0,190,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,0,215,0,48,0,48,0,48,0,223,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,231,0,48,0,48,0,239,0,48,0,245,0,253,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,8,1,48,0,48,0,12,1,48,0,20,1,25,1,33,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,39,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,47,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,205,0,48,0,48,0,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,58,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,66,1,48,0,48,0,72,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,68,2,124,2,188,2,192,0,216,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,28,0,202,225,28,0,202,2,29,0,202,35,29,0,202,68,29,0,202,101,29,0,202,134,29,0,202,167,29,0,202,200,29,0,202,233,29,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,196,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,102,29,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,38,30,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,70,31,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,228,32,0,5,5,0,44,5,5,0,46,5,5,0,48,201,166,47,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,48,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,134,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,97,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,225,17,0,5,5,127,12,198,129,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,34,20,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,97,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,33,27,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,51,0,201,102,52,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,193,17,0,198,1,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,18,0,198,65,27,0,198,97,28,0,198,129,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,134,53,0,201,166,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,55,0,201,230,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,58,0,201,38,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,162,29,0,198,226,29,0,192,0,0,0,192,0,0,0,198,34,30,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,60,0,201,102,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,31,0,197,34,5,0,198,162,31,0,197,98,5,0,198,226,31,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,32,0,198,98,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,62,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,64,0,5,71,238,102,201,70,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,192,0,0,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,7,0,192,0,0,0,197,98,7,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,197,99,8,0,197,194,8,0,192,0,0,0,192,0,0,0,197,2,9,0,197,67,9,0,197,162,9,0,192,0,0,0,192,0,0,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,66,0,201,70,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,68,0,201,134,69,0,201,166,70,0,201,198,71,0,201,230,72,0,201,6,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,75,0,201,70,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,77,0,201,134,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,79,0,201,198,80,0,201,230,81,0,201,6,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,84,0,201,70,85,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,135,0,70,0,4,111,93,0,70,0,70,0,4,111,93,0,135,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,135,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,5,0,70,0,4,111,93,0,5,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,226,5,0,5,5,10,121,5,5,12,121,197,34,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,197,226,6,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,7,0,5,5,107,121,197,98,7,0,5,5,111,121,197,162,7,0,5,5,115,121,197,226,7,0,5,5,119,121,197,34,8,0,197,99,8,0,197,194,8,0,5,5,127,121,5,5,129,121,197,2,9,0,197,67,9,0,197,162,9,0,5,5,137,121,5,5,139,121,197,226,9,0,5,5,143,121,5,5,6,121,197,226,5,0,197,34,10,0,5,5,10,121,197,98,10,0,197,162,10,0,5,5,12,121,5,5,16,121,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,5,5,18,121,5,5,20,121,197,130,6,0,5,5,24,121,197,162,6,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,50,156,5,48,0,40,3,17,192,198,193,0,70,156,5,1,0,8,3,17,192,198,225,11,3,18,192,198,1,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,131,179,30,25,192,198,227,181,30,26,192,198,67,183,30,26,192,198,163,169,30,24,192,198,3,171,30,24,192,198,99,173,30,24,192,198,195,175,30,25,192,198,35,161,30,12,0,161,30,22,192,198,194,163,30,23,192,198,2,165,30,23,192,198,67,167,30,23,192,198,163,39,2,10,0,8,3,22,192,198,97,10,3,255,255,111,93,193,4,1,30,22,192,198,130,176,69,198,34,4,3,21,192,198,35,3,1,26,0,225,1,12,0,225,1,21,192,198,35,251,1,21,192,198,131,1,2,21,192,198,226,3,2,22,192,198,34,3,1,20,192,198,2,5,1,20,192,198,66,206,1,20,192,198,130,223,1,20,192,198,195,227,0,12,0,227,0,19,192,198,2,228,0,19,192,198,66,229,0,19,192,198,130,1,1,19,192,198,194,97,0,18,192,198,33,224,0,18,192,198,66,225,0,18,192,198,130,226,0,18,192,198,194,0,50,5,5,48,0,40,3,27,192,198,1,0,70,5,5,1,0,8,3,27,192,198,33,11,3,27,192,198,65,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,162,10,3,27,192,198,226,5,42,196,162,1,0,8,3,28,192,198,34,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,5,70,196,190,1,0,8,3,29,192,198,34,11,3,29,192,198,98,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,5,70,196,162,1,0,8,3,30,192,198,226,11,3,31,192,198,34,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,32,192,198,162,10,3,32,192,198,226,5,42,196,200,1,0,8,3,33,192,198,34,10,3,12,192,197,162,156,82,196,198,1,0,8,3,12,192,197,226,11,3,13,192,197,34,5,82,196,198,1,0,8,3,13,192,197,98,11,3,13,192,197,162,156,82,196,208,1,0,8,3,13,192,197,226,11,3,14,192,197,34,5,82,196,208,1,0,8,3,14,192,197,98,11,3,14,192,197,162,156,82,196,204,1,0,8,3,14,192,197,226,11,3,15,192,197,34,5,82,196,204,1,0,8,3,15,192,197,98,11,3,15,192,197,162,156,42,196,196,1,0,8,3,33,192,198,98,10,3,33,192,198,162,5,42,196,196,1,0,8,3,33,192,198,226,10,3,15,192,197,226,156,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,5,70,196,196,1,0,8,3,34,192,198,162,11,3,34,192,198,226,16,0,197,35,1,0,8,3,35,192,198,35,11,3,35,192,198,131,16,0,197,131,1,0,8,3,35,192,198,227,11,3,36,192,198,67,156,82,196,196,1,0,8,3,16,192,197,226,11,3,17,192,197,34,5,82,196,196,1,0,8,3,17,192,197,98,11,3,17,192,197,162,17,0,197,227,1,0,8,3,18,192,197,67,11,3,18,192,197,163,19,0,197,3,1,0,8,3,19,192,197,99,11,3,19,192,197,195,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,3,0,67,0,50,0,59,0,119,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,64,51,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,52,30,0,0,52,30,0,0,92,39,0,0,92,39,0,0,56,41,0,0,56,41,0,0,88,46,0,0,142,46,0,0,36,51,0,0,50,105,114,84,1,0,64,8,214,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,170,0,48,0,178,0,183,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,197,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,158,0,48,0,48,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,13,0,202,193,13,0,202,226,13,0,202,3,14,0,202,36,14,0,202,69,14,0,202,102,14,0,202,135,14,0,202,168,14,0,202,201,14,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,4,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,166,28,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,102,29,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,134,30,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,36,32,0,5,5,0,44,5,5,0,46,5,5,0,48,201,230,46,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,47,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,198,48,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,129,8,0,198,161,8,0,198,97,27,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,225,17,0,5,5,127,12,198,129,27,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,98,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,198,97,22,0,193,4,111,93,193,2,111,93,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,198,33,27,0,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,50,0,201,166,51,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,193,17,0,198,1,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,18,0,198,65,27,0,198,97,28,0,198,129,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,198,52,0,201,230,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,55,0,201,38,56,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,57,0,201,102,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,197,34,0,0,197,98,0,0,197,226,3,0,197,34,4,0,197,98,4,0,197,162,4,0,192,0,0,0,198,162,29,0,198,226,29,0,192,0,0,0,192,0,0,0,198,34,30,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,59,0,201,166,60,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,31,0,197,34,5,0,198,162,31,0,197,98,5,0,198,226,31,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,34,32,0,198,98,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,61,0,201,230,62,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,64,0,201,38,65,0,201,70,66,0,201,102,67,0,201,134,68,0,201,166,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,70,0,201,230,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,73,0,201,38,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,75,0,201,102,76,0,201,134,77,0,201,166,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,79,0,201,230,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,135,0,70,0,4,111,93,0,70,0,70,0,4,111,93,0,135,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,134,0,70,0,2,111,93,0,134,0,5,0,4,111,93,0,135,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,135,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,70,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,134,0,71,0,2,111,93,0,134,0,70,0,3,111,93,0,134,0,71,0,3,111,93,0,5,0,70,0,4,111,93,0,5,0,70,0,4,111,93,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,144,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,150,0,0,0,0,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,156,0,0,0,0,0,5,0,164,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,146,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,184,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,188,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,70,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,142,0,0,0,0,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,142,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,138,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,182,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,140,0,0,0,0,0,5,0,154,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,140,0,0,0,0,0,5,0,71,0,2,111,93,0,5,0,70,0,3,111,93,0,5,0,71,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,3,111,93,0,5,0,72,0,3,111,93,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,3,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,4,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,2,111,93,5,164,0,0,193,4,111,93,5,136,0,0,193,2,111,93,5,136,0,0,193,3,111,93,5,136,0,0,193,4,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,0,0,62,0,3,2,118,0,169,30,54,0,177,30,26,0,181,30,12,0,181,30,16,192,198,163,182,30,17,192,198,3,183,30,17,192,198,99,43,33,1,192,198,130,177,30,15,192,198,35,178,30,15,192,198,131,179,30,15,192,198,227,180,30,16,192,198,67,173,30,12,0,173,30,13,192,198,163,174,30,14,192,198,3,175,30,14,192,198,99,176,30,14,192,198,195,169,30,12,192,198,35,170,30,12,192,198,131,171,30,12,192,198,227,172,30,13,192,198,67,161,30,26,0,165,30,12,0,165,30,10,192,198,163,166,30,11,192,198,3,167,30,11,192,198,99,168,30,11,192,198,195,161,30,9,192,198,130,162,30,9,192,198,194,163,30,10,192,198,2,164,30,10,192,198,67,10,3,12,0,10,3,8,192,198,161,0,30,8,192,198,194,1,30,9,192,198,2,160,30,9,192,198,66,3,2,8,192,198,66,38,2,5,0,39,2,8,0,8,3,8,192,198,129,240,65,198,2,4,3,6,192,198,3,240,65,198,98,4,3,6,192,198,99,1,1,54,0,223,1,26,0,251,1,12,0,251,1,7,192,198,35,0,2,7,192,198,130,1,2,7,192,198,194,2,2,8,192,198,2,223,1,5,192,198,163,224,1,6,192,198,3,225,1,6,192,198,99,250,1,6,192,198,195,5,1,12,0,5,1,4,192,198,130,205,1,4,192,198,194,206,1,5,192,198,2,222,1,5,192,198,67,1,1,3,192,198,130,2,1,3,192,198,194,3,1,4,192,198,2,4,1,4,192,198,66,197,0,26,0,227,0,12,0,227,0,2,192,198,130,228,0,2,192,198,194,229,0,3,192,198,2,0,1,3,192,198,66,197,0,1,192,198,130,224,0,1,192,198,194,225,0,2,192,198,2,226,0,2,192,198,66,193,0,12,0,193,0,0,192,198,130,194,0,0,192,198,194,195,0,1,192,198,2,196,0,1,192,198,66,65,0,198,129,97,0,198,161,192,0,0,192,198,66,0,50,156,5,48,0,40,3,17,192,198,193,0,70,156,5,1,0,8,3,17,192,198,225,11,3,18,192,198,1,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,31,0,39,2,59,0,169,30,26,0,177,30,12,0,177,30,25,192,198,131,179,30,25,192,198,227,181,30,26,192,198,67,183,30,26,192,198,163,169,30,24,192,198,3,171,30,24,192,198,99,173,30,24,192,198,195,175,30,25,192,198,35,161,30,12,0,161,30,22,192,198,194,163,30,23,192,198,2,165,30,23,192,198,67,167,30,23,192,198,163,39,2,10,0,8,3,22,192,198,97,10,3,255,255,111,93,193,4,1,30,22,192,198,130,176,69,198,34,4,3,21,192,198,35,3,1,26,0,225,1,12,0,225,1,21,192,198,35,251,1,21,192,198,131,1,2,21,192,198,226,3,2,22,192,198,34,3,1,20,192,198,2,5,1,20,192,198,66,206,1,20,192,198,130,223,1,20,192,198,195,227,0,12,0,227,0,19,192,198,2,228,0,19,192,198,66,229,0,19,192,198,130,1,1,19,192,198,194,97,0,18,192,198,33,224,0,18,192,198,66,225,0,18,192,198,130,226,0,18,192,198,194,0,50,5,5,48,0,40,3,27,192,198,1,0,70,5,5,1,0,8,3,27,192,198,33,11,3,27,192,198,65,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,27,192,198,162,10,3,27,192,198,226,5,42,196,162,1,0,8,3,28,192,198,34,10,3,1,192,197,34,156,82,196,162,1,0,8,3,1,192,197,98,11,3,1,192,197,162,5,82,196,162,1,0,8,3,1,192,197,226,11,3,2,192,197,34,156,70,196,190,1,0,8,3,28,192,198,162,11,3,28,192,198,226,5,70,196,190,1,0,8,3,29,192,198,34,11,3,29,192,198,98,156,82,196,190,1,0,8,3,2,192,197,98,11,3,2,192,197,162,5,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,156,70,196,162,1,0,8,3,30,192,198,98,11,3,30,192,198,162,5,70,196,162,1,0,8,3,30,192,198,226,11,3,31,192,198,34,156,42,196,200,1,0,8,3,32,192,198,162,10,3,32,192,198,226,5,42,196,200,1,0,8,3,33,192,198,34,10,3,5,192,197,226,156,82,196,198,1,0,8,3,6,192,197,34,11,3,6,192,197,98,5,82,196,198,1,0,8,3,6,192,197,162,11,3,6,192,197,226,156,82,196,208,1,0,8,3,7,192,197,34,11,3,7,192,197,98,5,82,196,208,1,0,8,3,7,192,197,162,11,3,7,192,197,226,156,82,196,204,1,0,8,3,8,192,197,34,11,3,8,192,197,98,5,82,196,204,1,0,8,3,8,192,197,162,11,3,8,192,197,226,156,42,196,196,1,0,8,3,33,192,198,98,10,3,33,192,198,162,5,42,196,196,1,0,8,3,33,192,198,226,10,3,9,192,197,34,156,70,196,196,1,0,8,3,34,192,198,34,11,3,34,192,198,98,5,70,196,196,1,0,8,3,34,192,198,162,11,3,34,192,198,226,9,0,197,99,1,0,8,3,35,192,198,35,11,3,35,192,198,131,9,0,197,195,1,0,8,3,35,192,198,227,11,3,36,192,198,67,156,82,196,196,1,0,8,3,10,192,197,34,11,3,10,192,197,98,5,82,196,196,1,0,8,3,10,192,197,162,11,3,10,192,197,226,11,0,197,35,1,0,8,3,11,192,197,131,11,3,11,192,197,227,12,0,197,67,1,0,8,3,12,192,197,163,11,3,13,192,197,3,26,0,65,0,66,0,97,0,98,0,192,0,198,0,224,0,230,0,0,1,6,1,205,1,207,1,222,1,226,1,250,1,252,1,0,2,4,2,38,2,40,2,0,30,2,30,160,30,184,30,43,33,44,33,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,60,185,64,185,68,82,4,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,84,4,185,124,185,128,185,136,186,140,186,144,86,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,88,4,168,60,168,64,168,68,119,4,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,121,4,168,124,168,128,168,136,168,140,168,144,123,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,217,180,185,188,185,180,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,249,121,121,122,217,184,136,14,185,184,185,153,153,153,249,153,217,168,153,169,0,8,2,8,168,57,136,57,232,57,104,58,200,180,168,188,168,180,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,232,121,104,122,200,184,128,14,168,184,168,153,136,153,232,153,200,168,136,169,4,8,72,170,249,58,232,58,217,57,200,57,125,4,127,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,249,180,232,180,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,132,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,184,232,184,25,185,8,185,153,137,136,137,185,138,168,138,25,138,8,138,154,141,136,141,250,141,232,141,186,142,168,142,26,142,8,142,186,146,168,146,26,146,8,146,185,148,168,148,121,154,104,154,249,154,232,154,217,153,200,153,57,154,40,154,249,168,232,168,129,4,131,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,153,174,136,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,187,144,185,84,200,140,169,140,169,144,168,84,187,88,187,96,169,88,169,96,169,176,169,112,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,65,4,218,188,97,4,209,188,192,6,218,188,168,1,193,6,218,188,136,1,194,6,218,188,232,1,195,6,218,188,104,2,196,6,218,188,72,2,197,6,218,188,40,2,224,6,209,188,168,1,225,6,209,188,136,1,226,6,209,188,232,1,227,6,209,188,104,2,228,6,209,188,72,2,229,6,209,188,40,2,0,7,218,188,232,2,1,7,209,188,232,2,2,7,218,188,200,1,3,7,209,188,200,1,4,7,218,188,200,2,5,7,209,188,200,2,255,5,185,72,255,5,185,120,255,5,185,152,255,5,168,56,97,4,200,188,224,6,200,188,168,1,225,6,200,188,136,1,226,6,200,188,232,1,227,6,200,188,104,2,228,6,200,188,72,2,229,6,200,188,40,2,1,7,200,188,232,2,3,7,200,188,200,1,5,7,200,188,200,2,255,5,168,72,255,5,168,120,255,5,168,152,255,5,217,58,255,5,200,58,255,5,217,154,255,5,200,154,255,1,3,0,67,0,50,0,59,0,191,14,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,185,14,0,32,144,27,0,32,1,0,32,0,149,27,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,4,0,0,80,7,0,0,0,10,0,0,0,14,0,0,0,14,0,0,0,1,0,0,0,0,0,0,0,14,0,0,0,37,37,65,76,73,65,83,0,0,0,110,0,111,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,10,10,0,32,7,0,0,0,21,0,0,0,12,10,0,0,12,10,0,0,3,0,0,0,0,0,0,0,62,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,75,220,38,0,90,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,60,0,100,0,104,0,60,0,60,0,60,0,68,0,104,0,60,0,60,0,60,0,68,0,72,0,60,0,107,0,104,0,60,0,60,0,60,0,75,0,104,0,60,0,60,0,60,0,75,0,72,0,60,0,110,0,121,0,60,0,60,0,60,0,78,0,121,0,60,0,60,0,60,0,78,0,89,0,60,0,112,0,104,0,60,0,60,0,60,0,80,0,104,0,60,0,60,0,60,0,80,0,72,0,60,0,115,0,104,0,60,0,60,0,60,0,83,0,104,0,0,0,170,170,170,170,170,170,12,39,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,196,23,0,0,196,23,0,0,140,26,0,0,140,26,0,0,200,29,0,0,200,29,0,0,30,34,0,0,96,34,0,0,240,38,0,0,50,105,114,84,1,0,64,8,111,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,94,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,102,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,24,0,202,193,24,0,202,226,24,0,202,3,25,0,202,36,25,0,202,69,25,0,202,102,25,0,202,135,25,0,202,168,25,0,202,201,25,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,201,160,7,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,201,96,15,0,156,5,0,64,156,5,0,66,201,32,23,0,156,5,0,70,201,32,32,0,160,5,0,74,156,5,0,76,201,160,39,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,160,43,0,201,192,47,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,201,224,51,0,5,5,0,64,5,5,0,66,201,0,56,0,5,5,0,70,201,32,61,0,5,5,0,74,5,5,0,76,201,64,65,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,23,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,24,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,24,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,96,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,135,0,5,0,2,5,93,0,70,0,5,0,2,5,93,0,135,0,5,0,2,5,93,0,5,0,136,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,136,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,150,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,142,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,142,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,150,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,164,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,164,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,156,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,156,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,146,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,138,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,138,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,196,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,196,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,182,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,182,0,0,0,0,0,135,0,5,0,2,5,93,0,5,0,154,0,0,0,0,0,70,0,5,0,2,5,93,0,5,0,154,0,0,0,0,0,135,0,5,0,3,5,93,0,70,0,5,0,3,5,93,0,135,0,5,0,3,5,93,0,5,0,142,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,142,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,144,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,144,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,156,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,156,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,196,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,196,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,150,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,150,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,160,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,160,0,0,0,0,0,135,0,5,0,3,5,93,0,5,0,206,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,206,0,0,0,0,0,70,0,5,0,3,5,93,0,5,0,210,0,0,0,0,0,70,0,5,0,4,5,93,0,70,0,5,0,4,5,93,0,5,0,142,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,144,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,156,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,196,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,150,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,160,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,206,0,0,0,0,0,70,0,5,0,4,5,93,0,5,0,210,0,0,0,0,0,0,0,0,135,5,2,93,5,142,0,0,70,5,2,93,5,142,0,0,135,5,2,93,5,144,0,0,70,5,2,93,5,144,0,0,135,5,2,93,5,156,0,0,70,5,2,93,5,156,0,0,135,5,2,93,5,196,0,0,70,5,2,93,5,196,0,0,135,5,2,93,5,150,0,0,70,5,2,93,5,150,0,0,135,5,2,93,5,160,0,0,70,5,2,93,5,160,0,0,135,5,2,93,5,206,0,0,70,5,2,93,5,206,0,0,70,5,2,93,5,210,0,0,135,5,3,93,5,142,0,0,70,5,3,93,5,142,0,0,135,5,3,93,5,144,0,0,70,5,3,93,5,144,0,0,135,5,3,93,5,156,0,0,70,5,3,93,5,156,0,0,135,5,3,93,5,196,0,0,70,5,3,93,5,196,0,0,135,5,3,93,5,150,0,0,70,5,3,93,5,150,0,0,135,5,3,93,5,160,0,0,70,5,3,93,5,160,0,0,135,5,3,93,5,206,0,0,70,5,3,93,5,206,0,0,70,5,3,93,5,210,0,0,135,5,4,93,5,142,0,0,70,5,4,93,5,142,0,0,135,5,4,93,5,144,0,0,70,5,4,93,5,144,0,0,135,5,4,93,5,156,0,0,70,5,4,93,5,156,0,0,135,5,4,93,5,196,0,0,70,5,4,93,5,196,0,0,135,5,4,93,5,150,0,0,70,5,4,93,5,150,0,0,135,5,4,93,5,160,0,0,70,5,4,93,5,160,0,0,135,5,4,93,5,206,0,0,70,5,4,93,5,206,0,0,70,5,4,93,5,210,0,0,5,5,2,93,5,142,0,0,5,5,2,93,5,144,0,0,5,5,2,93,5,156,0,0,5,5,2,93,5,196,0,0,5,5,2,93,5,150,0,0,5,5,2,93,5,160,0,0,5,5,2,93,5,206,0,0,5,5,2,93,5,210,0,0,5,5,3,93,5,142,0,0,5,5,3,93,5,144,0,0,5,5,3,93,5,156,0,0,5,5,3,93,5,196,0,0,5,5,3,93,5,150,0,0,5,5,3,93,5,160,0,0,5,5,3,93,5,206,0,0,5,5,3,93,5,210,0,0,5,5,4,93,5,142,0,0,5,5,4,93,5,144,0,0,5,5,4,93,5,156,0,0,5,5,4,93,5,196,0,0,5,5,4,93,5,150,0,0,5,5,4,93,5,160,0,0,5,5,4,93,5,206,0,0,5,5,4,93,5,210,0,0,193,2,5,93,5,136,0,0,193,2,5,93,5,150,0,0,193,2,5,93,5,142,0,0,193,2,5,93,5,164,0,0,193,2,5,93,5,156,0,0,193,2,5,93,5,146,0,0,193,2,5,93,5,138,0,0,193,2,5,93,5,196,0,0,193,2,5,93,5,182,0,0,193,2,5,93,5,154,0,0,193,3,5,93,5,142,0,0,193,3,5,93,5,144,0,0,193,3,5,93,5,156,0,0,193,3,5,93,5,196,0,0,193,3,5,93,5,150,0,0,193,3,5,93,5,160,0,0,193,3,5,93,5,206,0,0,193,3,5,93,5,210,0,0,193,4,5,93,5,142,0,0,193,4,5,93,5,144,0,0,193,4,5,93,5,156,0,0,193,4,5,93,5,196,0,0,193,4,5,93,5,150,0,0,193,4,5,93,5,160,0,0,193,4,5,93,5,206,0,0,193,4,5,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,255,255,2,93,135,5,104,0,255,255,2,93,70,5,36,1,197,162,37,1,0,192,197,98,0,48,156,5,16,0,36,30,29,0,40,30,15,0,40,30,6,192,197,98,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,30,2,12,0,30,2,4,192,197,98,31,2,4,192,197,162,34,30,4,192,197,226,35,30,5,192,197,34,72,0,255,255,3,93,135,5,104,0,255,255,3,93,70,5,36,1,3,192,197,226,37,1,4,192,197,34,0,62,156,5,16,0,36,30,29,0,40,30,15,0,40,30,10,192,197,34,41,30,10,192,197,98,42,30,10,192,197,162,43,30,10,192,197,226,150,30,11,192,197,34,36,30,9,192,197,34,37,30,9,192,197,98,38,30,9,192,197,162,39,30,9,192,197,226,30,2,12,0,30,2,8,192,197,34,31,2,8,192,197,98,34,30,8,192,197,162,35,30,8,192,197,226,72,0,255,255,4,93,135,5,104,0,255,255,4,93,70,5,36,1,7,192,197,162,37,1,7,192,197,226,0,68,156,5,20,0,142,30,37,0,244,30,20,0,247,30,9,0,247,30,4,192,198,66,248,30,4,192,198,130,249,30,4,192,198,194,244,30,3,192,198,130,245,30,3,192,198,194,246,30,4,192,198,2,142,30,2,192,198,66,143,30,2,192,198,130,153,30,2,192,198,194,242,30,3,192,198,2,243,30,3,192,198,66,118,1,15,0,118,1,1,192,198,2,119,1,1,192,198,66,120,1,1,192,198,130,50,2,1,192,198,194,51,2,2,192,198,2,89,0,198,129,121,0,198,161,221,0,0,192,198,66,253,0,0,192,198,130,255,0,0,192,198,194,0,72,156,5,16,0,36,30,29,0,40,30,15,0,40,30,7,192,198,194,41,30,8,192,198,2,42,30,8,192,198,66,43,30,8,192,198,130,150,30,8,192,198,194,36,30,6,192,198,194,37,30,7,192,198,2,38,30,7,192,198,66,39,30,7,192,198,130,30,2,12,0,30,2,5,192,198,194,31,2,6,192,198,2,34,30,6,192,198,66,35,30,6,192,198,130,72,0,5,192,198,1,104,0,5,192,198,33,36,1,5,192,198,66,37,1,5,192,198,130,0,78,156,5,8,0,37,30,15,0,37,30,9,192,198,226,39,30,10,192,198,34,41,30,10,192,198,98,43,30,10,192,198,162,150,30,10,192,198,226,104,0,9,192,198,1,37,1,9,192,198,34,31,2,9,192,198,98,35,30,9,192,198,162,0,46,5,5,8,0,37,30,15,0,37,30,12,192,197,34,39,30,12,192,197,98,41,30,12,192,197,162,43,30,12,192,197,226,150,30,13,192,197,34,104,0,255,255,2,93,5,5,37,1,11,192,197,98,31,2,11,192,197,162,35,30,11,192,197,226,0,48,5,5,8,0,37,30,15,0,37,30,14,192,197,34,39,30,14,192,197,98,41,30,14,192,197,162,43,30,14,192,197,226,150,30,15,192,197,34,104,0,255,255,3,93,5,5,37,1,13,192,197,98,31,2,13,192,197,162,35,30,13,192,197,226,0,62,5,5,8,0,37,30,15,0,37,30,16,192,197,34,39,30,16,192,197,98,41,30,16,192,197,162,43,30,16,192,197,226,150,30,17,192,197,34,104,0,255,255,4,93,5,5,37,1,15,192,197,98,31,2,15,192,197,162,35,30,15,192,197,226,0,68,5,5,10,0,143,30,20,0,245,30,9,0,245,30,19,192,197,34,247,30,19,192,197,98,249,30,19,192,197,162,143,30,18,192,197,98,153,30,18,192,197,162,243,30,18,192,197,226,121,0,255,255,5,93,193,2,253,0,17,192,197,98,255,0,17,192,197,162,119,1,17,192,197,226,51,2,18,192,197,34,0,72,5,5,8,0,37,30,15,0,37,30,20,192,197,162,39,30,20,192,197,226,41,30,21,192,197,34,43,30,21,192,197,98,150,30,21,192,197,162,104,0,255,255,5,93,193,3,37,1,19,192,197,226,31,2,20,192,197,34,35,30,20,192,197,98,0,78,5,5,8,0,37,30,15,0,37,30,22,192,197,162,39,30,22,192,197,226,41,30,23,192,197,34,43,30,23,192,197,98,150,30,23,192,197,162,104,0,255,255,5,93,193,4,37,1,21,192,197,226,31,2,22,192,197,34,35,30,22,192,197,98,32,0,72,0,73,0,89,0,90,0,104,0,105,0,121,0,122,0,221,0,222,0,253,0,254,0,255,0,0,1,36,1,38,1,118,1,121,1,30,2,32,2,50,2,52,2,34,30,44,30,142,30,144,30,150,30,151,30,153,30,154,30,242,30,250,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,36,4,186,72,185,76,185,80,185,84,186,88,186,96,46,4,185,104,185,108,56,4,185,120,74,4,185,128,185,136,84,4,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,90,4,96,4,168,72,168,76,168,80,168,84,168,88,168,96,102,4,168,104,168,108,108,4,168,120,118,4,168,128,168,136,124,4,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,200,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,200,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,204,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,186,176,104,4,177,176,36,5,250,177,37,5,241,177,255,5,185,68,72,4,186,180,104,4,177,180,36,5,250,181,37,5,241,181,255,5,185,100,72,4,186,184,104,4,177,184,36,5,250,185,37,5,241,185,255,5,186,112,89,4,186,188,121,4,177,188,221,4,154,189,253,4,145,189,255,4,81,190,118,5,250,189,119,5,241,189,120,5,90,190,255,5,185,124,72,4,186,192,104,4,177,192,36,5,250,193,37,5,241,193,255,5,186,140,104,4,177,196,37,5,241,197,255,5,168,64,104,4,168,176,37,5,232,177,255,5,168,68,104,4,168,180,37,5,232,181,255,5,168,100,104,4,168,184,37,5,232,185,255,5,168,112,121,4,168,188,253,4,136,189,255,4,72,190,119,5,232,189,255,5,168,124,104,4,168,192,37,5,232,193,255,5,168,140,104,4,168,196,37,5,232,197,255,1,3,0,69,0,52,0,61,0,63,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,3,10,0,32,1,0,32,0,8,10,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,208,6,0,32,7,0,0,0,21,0,0,0,210,6,0,0,210,6,0,0,3,0,0,0,0,0,0,0,72,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,96,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,20,11,60,0,1,11,60,0,2,11,60,0,3,11,38,0,57,11,60,0,21,11,77,11,55,11,38,0,47,11,60,0,60,0,95,11,0,0,170,170,170,170,170,170,170,170,170,170,170,170,242,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,128,0,0,0,128,1,0,0,128,25,0,0,128,25,0,0,128,25,0,0,128,25,0,0,196,25,0,0,196,25,0,0,212,25,0,0,218,25,0,0,31,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,108,187,255,0,109,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,39,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,119,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,102,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,110,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,33,108,193,3,33,108,193,4,33,108,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,2,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,84,108,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,34,108,5,5,49,0,77,11,55,11,255,255,105,108,5,5,2,0,55,11,56,11,170,170,3,0,69,0,52,0,61,0,75,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,201,6,0,32,1,0,32,0,206,6,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,14,7,0,32,7,0,0,0,21,0,0,0,16,7,0,0,16,7,0,0,3,0,0,0,0,0,0,0,74,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,100,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,71,0,117,0,114,0,117,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,113,10,60,0,60,0,112,10,60,0,60,0,2,10,60,0,60,0,1,10,60,0,60,0,60,10,38,0,92,10,60,0,77,10,0,0,170,170,170,170,236,26,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,128,0,0,0,128,1,0,0,96,26,0,0,96,26,0,0,96,26,0,0,96,26,0,0,212,26,0,0,16,0,0,0,10,0,0,0,4,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,2,0,0,0,0,0,0,41,9,0,0,96,7,0,0,102,203,255,0,103,6,0,0,104,192,255,0,106,189,255,0,107,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,103,104,105,106,107,108,49,109,40,41,39,42,43,44,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,133,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,100,0,108,0,116,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,2,0,202,129,2,0,202,162,2,0,202,195,2,0,202,228,2,0,202,5,3,0,202,38,3,0,202,71,3,0,202,104,3,0,202,137,3,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,1,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,2,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,122,241,194,5,121,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,123,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,106,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,197,226,0,0,197,34,1,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,120,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,94,106,194,5,123,241,5,5,32,106,194,5,123,241,5,5,40,106,194,5,123,241,5,5,42,106,194,5,123,241,5,5,52,106,194,5,123,241,5,5,80,106,194,5,123,241,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,75,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,7,7,0,32,1,0,32,0,12,7,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,112,0,97,0,95,0,71,0,117,0,114,0,117,0,95,0,73,0,78,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,247,9,0,32,7,0,0,0,21,0,0,0,249,9,0,0,249,9,0,0,3,0,0,0,0,0,0,0,59,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,70,220,38,0,65,0,60,0,5,1,60,0,60,0,60,0,4,1,38,0,67,0,60,0,7,1,60,0,60,0,60,0,6,1,38,0,69,0,60,0,25,1,60,0,60,0,60,0,24,1,38,0,76,0,60,0,66,1,60,0,60,0,60,0,65,1,38,0,78,0,60,0,68,1,60,0,60,0,60,0,67,1,38,0,79,0,60,0,243,0,60,0,60,0,60,0,211,0,38,0,83,0,60,0,91,1,60,0,60,0,60,0,90,1,38,0,90,0,60,0,122,1,60,0,60,0,60,0,121,1,60,0,124,1,60,0,60,0,60,0,123,1,0,0,208,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,20,30,0,0,20,30,0,0,20,30,0,0,20,30,0,0,136,31,0,0,136,31,0,0,168,34,0,0,168,34,0,0,184,38,0,0,50,105,114,84,1,0,64,8,212,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,121,0,129,0,132,0,140,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,162,0,48,0,169,0,177,0,181,0,48,0,187,0,195,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,203,0,156,0,48,0,48,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,228,1,16,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,10,0,202,129,10,0,202,162,10,0,202,195,10,0,202,228,10,0,202,5,11,0,202,38,11,0,202,71,11,0,202,104,11,0,202,137,11,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,198,0,0,156,5,0,48,201,230,1,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,166,2,0,201,6,4,0,156,5,0,72,160,5,0,74,156,5,0,76,201,102,5,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,198,6,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,166,8,0,5,5,0,44,201,102,9,0,5,5,0,48,201,134,10,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,70,11,0,201,166,12,0,5,5,0,72,5,5,0,74,5,5,0,76,201,6,14,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,102,15,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,9,0,201,70,17,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,134,5,2,71,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,9,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,10,0,201,38,18,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,5,5,2,71,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,43,5,5,2,43,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,65,5,5,2,65,134,5,2,69,5,5,2,69,201,70,19,0,201,102,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,201,134,21,0,201,166,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,134,5,3,93,5,5,3,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,23,0,201,230,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,26,0,201,38,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,28,0,201,102,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,30,0,201,166,31,0,201,198,32,0,201,230,33,0,201,6,35,0,201,38,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,37,0,201,102,38,0,197,34,5,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,39,0,201,6,41,0,201,134,42,0,201,6,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,45,0,201,166,46,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,1,0,197,226,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,47,0,201,230,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,134,5,3,93,5,196,0,0,5,5,2,93,5,196,0,0,5,5,3,93,5,196,0,0,134,5,2,93,5,210,0,0,134,5,3,93,5,210,0,0,5,5,2,93,5,210,0,0,5,5,3,93,5,210,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,40,3,2,235,134,5,0,46,156,5,1,0,1,3,2,239,134,5,65,3,2,239,134,5,0,50,156,5,48,0,40,3,2,243,134,5,0,68,156,5,1,0,1,3,255,255,2,69,134,5,65,3,255,255,2,69,134,5,0,70,156,5,1,0,1,3,255,255,2,71,134,5,65,3,255,255,2,71,134,5,0,78,156,5,1,0,1,3,255,255,2,79,134,5,65,3,255,255,2,79,134,5,0,92,156,5,2,0,1,3,255,255,2,93,134,5,7,3,255,255,3,93,134,5,65,3,255,255,2,93,134,5,0,42,5,5,48,0,40,3,2,235,5,5,0,46,5,5,1,0,1,3,2,239,5,5,65,3,2,239,5,5,0,50,5,5,48,0,40,3,2,243,5,5,0,68,5,5,1,0,1,3,255,255,2,69,5,5,65,3,255,255,2,69,5,5,0,70,5,5,1,0,1,3,255,255,2,71,5,5,65,3,255,255,2,71,5,5,0,78,5,5,1,0,1,3,255,255,2,79,5,5,65,3,255,255,2,79,5,5,0,92,5,5,2,0,1,3,255,255,2,93,5,5,7,3,255,255,3,93,5,5,65,3,255,255,2,93,5,5,156,46,196,160,1,0,1,3,197,162,65,3,197,162,5,46,196,160,1,0,1,3,0,192,197,98,65,3,0,192,197,98,156,68,196,160,1,0,1,3,0,192,197,162,65,3,0,192,197,162,5,68,196,160,1,0,1,3,0,192,197,226,65,3,0,192,197,226,156,78,196,160,1,0,1,3,1,192,197,34,65,3,1,192,197,34,5,78,196,160,1,0,1,3,1,192,197,98,65,3,1,192,197,98,156,70,196,190,1,0,1,3,1,192,197,162,65,3,1,192,197,162,5,70,196,190,1,0,1,3,1,192,197,226,65,3,1,192,197,226,156,70,196,162,1,0,1,3,2,192,197,34,65,3,2,192,197,34,5,70,196,162,1,0,1,3,2,192,197,98,65,3,2,192,197,98,156,78,196,202,1,0,1,3,2,192,197,162,65,3,2,192,197,162,5,78,196,202,1,0,1,3,2,192,197,226,65,3,2,192,197,226,156,68,196,196,1,0,1,3,3,192,197,34,65,3,3,192,197,34,5,68,196,196,1,0,1,3,3,192,197,98,65,3,3,192,197,98,156,68,196,210,1,0,1,3,3,192,197,162,65,3,3,192,197,162,5,68,196,210,1,0,1,3,3,192,197,226,65,3,3,192,197,226,156,68,196,204,1,0,1,3,4,192,197,34,65,3,4,192,197,34,5,68,196,204,1,0,1,3,4,192,197,98,65,3,4,192,197,98,156,78,196,196,1,0,1,3,4,192,197,162,65,3,4,192,197,162,5,78,196,196,1,0,1,3,4,192,197,226,65,3,4,192,197,226,156,92,196,196,2,0,1,3,5,192,197,162,7,3,5,192,197,226,65,3,5,192,197,162,5,92,196,196,2,0,1,3,6,192,197,34,7,3,6,192,197,98,65,3,6,192,197,34,156,92,196,210,2,0,1,3,6,192,197,162,7,3,6,192,197,226,65,3,6,192,197,162,5,92,196,210,2,0,1,3,7,192,197,34,7,3,7,192,197,98,65,3,7,192,197,34,156,70,196,196,1,0,1,3,7,192,197,162,65,3,7,192,197,162,5,70,196,196,1,0,1,3,7,192,197,226,65,3,7,192,197,226,8,0,197,35,1,0,1,3,8,192,197,131,65,3,8,192,197,131,8,0,197,227,1,0,1,3,9,192,197,67,65,3,9,192,197,67,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,64,28,4,185,76,30,4,185,88,185,92,185,96,186,100,186,108,185,112,185,116,185,124,32,4,34,4,185,148,185,152,185,160,36,4,185,172,185,180,185,184,185,188,185,192,185,196,38,4,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,64,42,4,168,76,44,4,168,88,168,92,168,96,168,100,168,108,168,112,168,116,168,124,46,4,48,4,168,148,168,152,168,160,50,4,168,172,168,180,168,184,168,188,168,192,168,196,52,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,140,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,54,4,186,81,154,81,250,81,90,82,186,101,154,101,250,101,90,102,217,76,154,130,185,141,185,144,249,141,153,142,89,142,136,14,217,142,185,181,153,181,249,181,89,182,153,197,185,212,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,56,4,168,81,136,81,232,81,72,82,168,101,136,101,232,101,72,102,200,76,136,130,168,141,168,144,232,141,136,142,72,142,128,14,200,142,168,181,136,181,232,181,72,182,136,197,168,212,72,198,57,59,40,59,217,57,200,57,185,60,168,60,185,72,168,72,249,69,232,69,185,70,168,70,25,70,8,70,25,78,8,78,89,79,72,79,58,83,40,83,218,81,200,81,186,82,168,82,185,84,168,84,26,82,8,82,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,97,232,97,89,99,72,99,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,156,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,185,120,168,120,185,132,168,132,58,4,60,4,26,130,8,130,10,8,185,136,168,136,57,143,40,143,217,141,200,141,121,142,104,142,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,185,168,168,168,250,165,232,165,62,4,64,4,26,166,8,166,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,249,197,232,197,89,198,185,204,168,204,185,208,168,208,25,202,8,202,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,164,169,164,200,56,169,80,187,100,187,108,169,100,169,108,169,216,169,128,217,140,187,80,200,140,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,68,255,5,186,80,255,5,186,128,255,5,185,140,255,5,186,164,255,5,185,200,255,5,168,56,255,5,168,68,255,5,168,80,255,5,168,128,255,5,168,140,255,5,168,164,255,5,168,200,255,5,249,70,255,5,232,70,255,5,250,130,255,5,232,130,255,5,250,166,255,5,232,166,255,1,3,0,69,0,52,0,61,0,59,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,240,9,0,32,1,0,32,0,245,9,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,220,8,0,32,7,0,0,0,21,0,0,0,222,8,0,0,222,8,0,0,3,0,0,0,0,0,0,0,123,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,197,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,78,6,60,0,60,0,80,6,60,0,60,0,79,6,60,0,60,0,75,6,60,0,60,0,77,6,60,0,60,0,76,6,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,39,6,60,0,34,6,38,0,39,6,60,0,60,0,35,6,60,0,60,0,114,6,60,0,60,0,113,6,60,0,60,0,37,6,60,0,60,0,115,6,60,0,33,6,38,0,42,6,60,0,124,6,60,0,60,0,121,6,38,0,44,6,60,0,129,6,60,0,60,0,45,6,84,6,38,0,134,6,60,0,133,6,38,0,47,6,60,0,137,6,60,0,60,0,136,6,38,0,49,6,60,0,147,6,60,0,60,0,145,6,38,0,152,6,60,0,150,6,38,0,169,6,60,0,60,0,42,0,170,6,67,6,38,0,171,6,60,0,60,0,175,6,38,0,188,6,60,0,60,0,187,6,38,0,72,6,60,0,60,0,36,6,60,0,60,0,199,6,60,0,60,0,201,6,38,0,71,6,60,0,60,0,60,0,192,6,60,0,60,0,60,0,71,6,84,6,60,0,60,0,42,0,213,6,193,6,190,6,41,6,195,6,38,0,204,6,60,0,60,0,42,0,73,6,210,6,74,6,208,6,205,6,60,0,60,0,204,6,84,6,60,0,60,0,60,0,73,6,84,6,60,0,60,0,60,0,38,6,38,0,160,0,60,0,60,0,12,32,60,0,60,0,13,32,0,0,170,170,100,33,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,72,0,0,0,72,1,0,0,184,28,0,0,184,28,0,0,184,28,0,0,184,28,0,0,12,29,0,0,12,29,0,0,140,29,0,0,140,29,0,0,76,33,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,174,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,96,0,104,0,112,0,120,0,128,0,136,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,157,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,152,0,48,0,48,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,128,1,192,1,0,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,102,5,5,25,102,5,70,26,102,5,70,222,102,5,73,26,102,7,75,240,102,201,6,0,0,192,0,0,0,5,73,214,102,192,0,0,0,192,0,0,0,192,0,0,0,201,230,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,71,184,102,192,0,0,0,192,0,0,0,192,0,0,0,201,198,2,0,201,166,3,0,201,134,4,0,201,102,5,0,194,5,210,230,194,5,212,230,194,5,211,230,192,0,0,0,194,5,209,230,194,5,208,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,72,26,102,5,71,26,102,5,74,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,43,102,192,0,0,0,192,0,0,0,5,5,43,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,102,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,102,192,0,0,0,192,0,0,0,5,70,85,102,5,5,85,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,111,102,192,0,0,0,5,5,111,102,192,0,0,0,192,0,0,0,5,5,129,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,184,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,188,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,210,102,192,0,0,0,192,0,0,0,5,72,214,102,192,0,0,0,6,5,214,102,5,71,214,102,197,34,0,0,5,74,214,102,192,0,0,0,192,0,0,0,192,0,0,0,5,71,222,102,192,0,0,0,5,72,222,102,192,0,0,0,192,0,0,0,201,70,6,0,5,74,240,102,192,0,0,0,192,0,0,0,5,73,240,102,192,0,0,0,5,71,240,102,197,98,0,0,192,0,0,0,201,38,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,4,5,71,0,4,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,71,214,102,194,5,128,232,5,71,240,102,194,5,128,232,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,26,102,5,5,2,0,83,6,255,255,25,102,5,5,84,6,255,255,26,102,5,70,85,6,255,255,26,102,5,73,72,102,5,5,48,0,84,6,255,255,59,102,5,70,214,102,5,5,48,0,84,6,255,255,214,102,7,5,222,102,5,5,48,0,84,6,255,255,222,102,5,70,240,102,5,70,48,0,84,6,255,255,240,102,6,75,240,102,5,72,48,0,84,6,255,255,240,102,7,75,240,102,5,5,48,0,84,6,255,255,240,102,5,75,214,102,5,70,48,0,84,6,255,255,214,102,6,5,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,176,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,176,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,1,0,1,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,69,0,52,0,61,0,123,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,213,8,0,32,1,0,32,0,218,8,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,105,1,0,32,7,0,0,0,195,0,0,0,109,1,0,0,109,1,0,0,140,0,0,0,1,0,0,0,105,1,0,0,73,110,115,116,97,108,108,101,100,76,111,99,97,108,101,115,0,97,102,0,97,109,0,97,114,0,97,114,95,83,65,0,97,115,0,97,122,0,98,101,0,98,103,0,98,110,0,98,111,0,98,114,0,98,115,0,98,115,95,67,121,114,108,0,99,97,0,99,101,98,0,99,104,114,0,99,115,0,99,121,0,100,97,0,100,101,0,100,101,95,65,84,0,100,115,98,0,100,122,0,101,101,0,101,108,0,101,110,0,101,110,95,85,83,0,101,110,95,85,83,95,80,79,83,73,88,0,101,111,0,101,116,0,102,97,0,102,97,95,65,70,0,102,102,0,102,102,95,65,100,108,109,0,102,105,0,102,105,108,0,102,111,0,102,114,0,102,114,95,67,65,0,102,121,0,103,97,0,103,108,0,103,117,0,104,97,0,104,97,119,0,104,101,0,104,101,95,73,76,0,104,105,0,104,115,98,0,104,117,0,104,121,0,105,100,0,105,100,95,73,68,0,105,103,0,105,115,0,105,116,0,106,97,0,107,97,0,107,107,0,107,108,0,107,109,0,107,110,0,107,111,0,107,111,107,0,107,117,0,107,121,0,108,98,0,108,107,116,0,108,110,0,108,111,0,108,116,0,108,118,0,109,107,0,109,108,0,109,114,0,109,115,0,109,116,0,109,121,0,110,98,0,110,98,95,78,79,0,110,101,0,110,108,0,110,110,0,111,109,0,111,114,0,112,97,0,112,97,95,71,117,114,117,0,112,97,95,71,117,114,117,95,73,78,0,112,108,0,112,115,0,112,116,0,114,111,0,115,97,0,115,101,0,115,105,0,115,107,0,115,108,0,115,109,110,0,115,113,0,115,114,0,115,114,95,67,121,114,108,0,115,114,95,67,121,114,108,95,66,65,0,115,114,95,67,121,114,108,95,77,69,0,115,114,95,67,121,114,108,95,82,83,0,115,114,95,76,97,116,110,0,115,114,95,76,97,116,110,95,66,65,0,115,114,95,76,97,116,110,95,82,83,0,115,118,0,115,119,0,116,97,0,116,101,0,116,104,0,116,107,0,116,111,0,116,114,0,117,103,0,117,107,0,117,114,0,117,122,0,118,105,0,119,97,101,0,119,111,0,120,104,0,121,105,0,121,111,0,121,117,101,95,72,97,110,115,95,67,78,0,121,117,101,95,72,97,110,116,0,122,104,0,122,104,95,72,97,110,115,0,122,104,95,72,97,110,115,95,67,78,0,122,104,95,72,97,110,115,95,83,71,0,122,104,95,72,97,110,116,0,122,104,95,72,97,110,116,95,72,75,0,122,104,95,72,97,110,116,95,77,79,0,122,104,95,72,97,110,116,95,84,87,0,122,117,0,65,108,105,97,115,76,111,99,97,108,101,115,0,97,114,115,0,105,110,0,105,110,95,73,68,0,105,119,0,105,119,95,73,76,0,109,111,0,110,111,0,110,111,95,78,79,0,112,97,95,73,78,0,115,104,0,115,104,95,66,65,0,115,104,95,67,83,0,115,104,95,89,85,0,115,114,95,66,65,0,115,114,95,77,69,0,115,114,95,82,83,0,121,117,101,0,121,117,101,95,67,78,0,121,117,101,95,72,97,110,115,0,122,104,95,67,78,0,122,104,95,72,75,0,122,104,95,77,79,0,122,104,95,83,71,0,122,104,95,84,87,0,0,0,24,0,139,2,143,2,146,2,152,2,155,2,161,2,164,2,167,2,173,2,179,2,182,2,188,2,194,2,200,2,206,2,212,2,218,2,222,2,229,2,238,2,244,2,250,2,0,3,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,0,49,0,52,0,55,0,58,0,64,0,67,0,70,0,73,0,76,0,79,0,82,0,85,0,88,0,96,0,99,0,103,0,107,0,110,0,113,0,116,0,119,0,125,0,129,0,132,0,135,0,138,0,141,0,147,0,159,0,136,2,162,0,165,0,168,0,174,0,177,0,185,0,188,0,192,0,195,0,198,0,204,0,207,0,210,0,213,0,216,0,219,0,223,0,226,0,232,0,104,0,235,0,239,0,242,0,245,0,248,0,254,0,1,1,4,1,7,1,10,1,13,1,16,1,19,1,22,1,25,1,28,1,32,1,35,1,38,1,41,1,45,1,48,1,51,1,54,1,57,1,60,1,149,1,63,1,66,1,69,1,72,1,75,1,78,1,84,1,87,1,90,1,93,1,96,1,99,1,102,1,110,1,121,1,124,1,127,1,130,1,107,1,133,1,136,1,139,1,142,1,145,1,148,1,152,1,155,1,158,1,166,1,177,1,188,1,199,1,207,1,218,1,229,1,232,1,235,1,238,1,241,1,244,1,247,1,250,1,253,1,0,2,3,2,6,2,9,2,12,2,16,2,19,2,22,2,25,2,28,2,40,2,49,2,52,2,60,2,71,2,82,2,90,2,101,2,112,2,123,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,170,2,0,126,2,32,0,170,170,1,0,0,80,50,0,0,80,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,189,8,0,32,7,0,0,0,21,0,0,0,191,8,0,0,191,8,0,0,3,0,0,0,0,0,0,0,47,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,46,220,38,0,65,0,60,0,3,1,60,0,60,0,60,0,2,1,60,0,226,0,60,0,60,0,60,0,194,0,38,0,73,0,60,0,238,0,60,0,60,0,60,0,206,0,38,0,83,0,60,0,95,1,61,0,25,2,60,0,60,0,60,0,94,1,61,0,24,2,38,0,84,0,60,0,99,1,61,0,27,2,60,0,60,0,60,0,98,1,61,0,26,2,0,0,22,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,116,27,0,0,116,27,0,0,116,27,0,0,116,27,0,0,200,28,0,0,200,28,0,0,14,30,0,0,14,30,0,0,254,33,0,0,50,105,114,84,1,0,64,8,170,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,48,0,56,0,48,0,56,0,102,0,110,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,134,0,139,0,48,0,48,0,48,0,147,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,161,0,126,0,48,0,48,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,118,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,192,0,192,0,152,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,9,0,202,129,9,0,202,162,9,0,202,195,9,0,202,228,9,0,202,5,10,0,202,38,10,0,202,71,10,0,202,104,10,0,202,137,10,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,201,38,1,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,230,1,0,201,70,3,0,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,166,4,0,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,201,198,5,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,134,6,0,201,230,7,0,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,134,5,3,43,196,154,156,42,196,150,156,42,196,146,156,42,197,162,8,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,134,5,2,59,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,8,0,196,138,5,42,196,136,5,42,5,5,3,43,196,154,5,42,196,150,5,42,196,146,5,42,197,34,9,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,5,5,2,59,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,134,5,2,43,5,5,2,43,201,70,9,0,201,70,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,11,0,201,38,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,134,5,2,81,5,5,2,81,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,134,5,2,81,5,5,2,81,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,12,0,201,6,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,15,0,201,230,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,16,0,201,198,17,0,192,0,0,0,192,0,0,0,197,34,4,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,3,0,197,162,3,0,197,34,6,0,197,98,6,0,197,162,6,0,197,226,6,0,197,34,7,0,197,98,7,0,197,162,7,0,197,226,7,0,197,98,3,0,197,226,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,18,0,201,166,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,3,43,5,162,0,0,134,5,2,43,5,162,0,0,5,5,3,43,5,162,0,0,5,5,2,43,5,162,0,0,134,5,2,59,5,162,0,0,5,5,2,59,5,162,0,0,134,5,3,43,5,200,0,0,134,5,2,43,5,200,0,0,5,5,3,43,5,200,0,0,5,5,2,43,5,200,0,0,134,5,2,59,5,208,0,0,5,5,2,59,5,208,0,0,134,5,3,43,5,196,0,0,134,5,2,43,5,196,0,0,5,5,3,43,5,196,0,0,5,5,2,43,5,196,0,0,134,5,3,43,5,136,0,0,5,5,3,43,5,136,0,0,134,5,3,43,5,138,0,0,5,5,3,43,5,138,0,0,134,5,3,43,5,182,0,0,5,5,3,43,5,182,0,0,134,5,3,43,5,154,0,0,5,5,3,43,5,154,0,0,134,5,2,43,5,136,0,0,5,5,2,43,5,136,0,0,134,5,2,43,5,138,0,0,5,5,2,43,5,138,0,0,134,5,2,43,5,182,0,0,5,5,2,43,5,182,0,0,134,5,2,43,5,154,0,0,5,5,2,43,5,154,0,0,134,5,2,59,5,196,0,0,5,5,2,59,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,2,3,3,235,134,5,6,3,2,235,134,5,0,58,156,5,48,0,2,3,2,251,134,5,0,78,156,5,1,0,38,3,255,255,2,79,134,5,39,3,255,255,2,79,134,5,0,80,156,5,1,0,38,3,255,255,2,81,134,5,39,3,255,255,2,81,134,5,0,42,5,5,1,0,2,3,3,235,5,5,6,3,2,235,5,5,0,58,5,5,48,0,2,3,2,251,5,5,0,78,5,5,1,0,38,3,255,255,2,79,5,5,39,3,255,255,2,79,5,5,0,80,5,5,1,0,38,3,255,255,2,81,5,5,39,3,255,255,2,81,5,5,156,42,196,162,1,0,2,3,197,162,6,3,0,192,197,98,5,42,196,162,1,0,2,3,0,192,197,162,6,3,0,192,197,226,156,58,196,162,48,0,2,3,1,192,197,34,5,58,196,162,48,0,2,3,1,192,197,98,156,42,196,200,1,0,2,3,1,192,197,162,6,3,1,192,197,226,5,42,196,200,1,0,2,3,2,192,197,34,6,3,2,192,197,98,156,58,196,208,48,0,2,3,2,192,197,162,5,58,196,208,48,0,2,3,2,192,197,226,156,42,196,196,1,0,2,3,3,192,197,34,6,3,3,192,197,98,5,42,196,196,1,0,2,3,3,192,197,162,6,3,3,192,197,226,156,58,196,196,48,0,2,3,8,192,197,34,5,58,196,196,48,0,2,3,8,192,197,98,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,68,185,72,185,76,186,80,185,84,185,88,185,92,28,4,186,108,185,112,185,116,185,120,186,124,185,132,185,136,185,140,185,148,30,4,32,4,185,172,185,176,185,180,185,184,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,68,168,72,168,76,168,80,168,84,168,88,168,92,36,4,168,108,168,112,168,116,168,120,168,124,168,132,168,136,168,140,168,148,38,4,40,4,168,172,168,176,168,180,168,184,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,153,57,185,64,153,58,89,58,57,58,0,8,249,74,186,81,154,81,250,81,90,82,186,97,154,97,185,100,90,98,217,76,154,126,185,133,153,133,249,133,153,134,89,134,136,14,217,134,185,173,153,173,249,173,89,174,153,189,185,196,2,8,168,57,136,57,168,64,136,58,72,58,40,58,4,8,232,74,168,81,136,81,232,81,72,82,168,97,136,97,168,100,72,98,200,76,136,126,168,133,136,133,232,133,136,134,72,134,128,14,200,134,168,173,136,173,232,173,72,174,136,189,168,196,72,190,57,59,40,59,185,60,168,60,42,4,44,4,153,73,136,73,249,73,232,73,185,74,168,74,25,74,8,74,25,78,8,78,89,79,72,79,58,83,40,83,218,81,200,81,186,82,168,82,26,83,8,83,26,82,8,82,249,89,232,89,217,89,200,89,185,90,168,90,249,90,232,90,249,93,232,93,89,95,72,95,154,98,136,98,58,99,40,99,218,97,200,97,46,4,48,4,186,98,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,144,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,250,126,232,126,26,126,8,126,10,8,185,128,168,128,57,135,40,135,217,133,200,133,121,134,104,134,12,8,14,8,153,149,136,149,249,150,232,150,25,150,8,150,154,153,136,153,250,153,232,153,185,156,168,156,26,154,8,154,185,164,168,164,25,162,8,162,185,168,168,168,153,174,136,174,57,175,40,175,217,173,200,173,57,174,40,174,121,174,104,174,25,175,8,175,249,181,232,181,249,189,232,189,89,190,153,193,136,193,185,194,168,194,25,194,8,194,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,152,169,152,200,56,169,80,187,96,187,108,169,96,169,108,169,200,169,124,217,132,187,80,200,132,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,96,255,5,186,152,255,5,185,160,255,5,168,56,255,5,168,96,255,5,168,152,255,5,168,160,255,5,25,59,255,5,8,59,255,5,26,99,255,5,8,99,255,1,170,170,3,0,69,0,52,0,61,0,47,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,182,8,0,32,1,0,32,0,187,8,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,199,38,1,32,7,0,0,0,39,0,0,0,207,38,1,0,207,38,1,0,6,0,0,0,0,0,0,0,102,238,0,0,85,67,65,82,117,108,101,115,0,86,101,114,115,105,111,110,0,99,111,108,108,97,116,105,111,110,115,0,100,101,102,97,117,108,116,0,101,109,111,106,105,0,83,101,113,117,101,110,99,101,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,101,111,114,0,112,114,105,118,97,116,101,45,117,110,105,104,97,110,0,115,101,97,114,99,104,0,115,116,97,110,100,97,114,100,0,37,37,68,69,80,69,78,68,69,78,67,89,0,100,101,112,101,110,100,115,0,170,170,0,0,52,0,50,0,0,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,0,0,117,0,99,0,97,0,100,0,97,0,116,0,97,0,46,0,105,0,99,0,117,0,0,0,207,221,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,115,0,117,0,112,0,112,0,114,0,101,0,115,0,115,0,67,0,111,0,110,0,116,0,114,0,97,0,99,0,116,0,105,0,111,0,110,0,115,0,32,0,91,0,64,14,45,0,68,14,32,0,192,14,45,0,196,14,32,0,181,170,32,0,182,170,32,0,185,170,32,0,187,170,32,0,188,170,181,25,45,0,183,25,186,25,93,0,93,0,38,0,39,0,61,0,39,0,60,0,39,0,96,34,39,0,38,0,39,6,60,0,60,0,60,0,142,254,60,0,60,0,60,0,141,254,60,0,60,0,34,6,60,0,60,0,60,0,130,254,60,0,60,0,60,0,129,254,60,0,60,0,35,6,60,0,60,0,60,0,132,254,60,0,60,0,60,0,131,254,60,0,60,0,37,6,60,0,60,0,60,0,136,254,60,0,60,0,60,0,135,254,38,0,72,6,60,0,60,0,60,0,229,6,60,0,60,0,60,0,238,254,60,0,60,0,60,0,237,254,60,0,60,0,36,6,60,0,60,0,60,0,134,254,60,0,60,0,60,0,133,254,38,0,74,6,60,0,60,0,60,0,230,6,60,0,60,0,60,0,243,254,60,0,60,0,60,0,244,254,60,0,60,0,60,0,242,254,60,0,60,0,60,0,241,254,60,0,60,0,38,6,60,0,60,0,60,0,139,254,60,0,60,0,60,0,140,254,60,0,60,0,60,0,138,254,60,0,60,0,60,0,137,254,60,0,60,0,73,6,60,0,60,0,60,0,232,251,60,0,60,0,60,0,233,251,60,0,60,0,60,0,240,254,60,0,60,0,60,0,239,254,38,0,71,6,60,0,60,0,60,0,235,254,60,0,60,0,60,0,236,254,60,0,60,0,60,0,234,254,60,0,60,0,60,0,233,254,60,0,60,0,41,6,60,0,60,0,60,0,148,254,60,0,60,0,60,0,147,254,38,0,91,0,108,0,97,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,243,5,60,0,60,0,244,5,60,0,60,0,64,6,60,0,60,0,58,14,38,0,0,17,61,0,168,17,38,0,0,17,0,17,61,0,1,17,61,0,169,17,38,0,0,17,9,17,61,0,170,17,38,0,2,17,61,0,171,17,38,0,2,17,12,17,61,0,172,17,38,0,2,17,18,17,61,0,173,17,38,0,3,17,61,0,174,17,38,0,3,17,3,17,61,0,4,17,38,0,5,17,61,0,175,17,38,0,5,17,0,17,61,0,176,17,38,0,5,17,6,17,61,0,177,17,38,0,5,17,7,17,61,0,178,17,38,0,5,17,9,17,61,0,179,17,38,0,5,17,16,17,61,0,180,17,38,0,5,17,17,17,61,0,181,17,38,0,5,17,18,17,61,0,182,17,38,0,6,17,61,0,183,17,38,0,7,17,61,0,184,17,38,0,7,17,7,17,61,0,8,17,38,0,7,17,9,17,61,0,185,17,38,0,9,17,61,0,186,17,38,0,9,17,9,17,61,0,10,17,61,0,187,17,38,0,11,17,61,0,188,17,38,0,12,17,61,0,189,17,38,0,12,17,12,17,61,0,13,17,38,0,14,17,61,0,190,17,38,0,15,17,61,0,191,17,38,0,16,17,61,0,192,17,38,0,17,17,61,0,193,17,38,0,18,17,61,0,194,17,38,0,97,17,117,17,61,0,98,17,38,0,99,17,117,17,61,0,100,17,38,0,101,17,117,17,61,0,102,17,38,0,103,17,117,17,61,0,104,17,38,0,105,17,97,17,61,0,106,17,38,0,105,17,97,17,117,17,61,0,107,17,38,0,105,17,117,17,61,0,108,17,38,0,110,17,101,17,61,0,111,17,38,0,110,17,101,17,117,17,61,0,112,17,38,0,110,17,117,17,61,0,113,17,38,0,115,17,117,17,61,0,116,17,0,0,239,223,168,4,38,0,0,78,61,0,208,253,0,78,38,0,40,78,61,0,208,253,40,78,38,0,54,78,61,0,208,253,54,78,38,0,63,78,61,0,208,253,63,78,38,0,89,78,61,0,208,253,89,78,38,0,133,78,61,0,208,253,133,78,38,0,140,78,61,0,208,253,140,78,38,0,160,78,61,0,208,253,160,78,38,0,186,78,61,0,208,253,186,78,38,0,63,81,61,0,208,253,63,81,38,0,101,81,61,0,208,253,101,81,38,0,107,81,61,0,208,253,107,81,38,0,130,81,61,0,208,253,130,81,38,0,150,81,61,0,208,253,150,81,38,0,171,81,61,0,208,253,171,81,38,0,224,81,61,0,208,253,224,81,38,0,245,81,61,0,208,253,245,81,38,0,0,82,61,0,208,253,0,82,38,0,155,82,61,0,208,253,155,82,38,0,249,82,61,0,208,253,249,82,38,0,21,83,61,0,208,253,21,83,38,0,26,83,61,0,208,253,26,83,38,0,56,83,61,0,208,253,56,83,38,0,65,83,61,0,208,253,65,83,38,0,92,83,61,0,208,253,92,83,38,0,105,83,61,0,208,253,105,83,38,0,130,83,61,0,208,253,130,83,38,0,182,83,61,0,208,253,182,83,38,0,200,83,61,0,208,253,200,83,38,0,227,83,61,0,208,253,227,83,38,0,215,86,61,0,208,253,215,86,38,0,31,87,61,0,208,253,31,87,38,0,235,88,61,0,208,253,235,88,38,0,2,89,61,0,208,253,2,89,38,0,10,89,61,0,208,253,10,89,38,0,21,89,61,0,208,253,21,89,38,0,39,89,61,0,208,253,39,89,38,0,115,89,61,0,208,253,115,89,38,0,80,91,61,0,208,253,80,91,38,0,128,91,61,0,208,253,128,91,38,0,248,91,61,0,208,253,248,91,38,0,15,92,61,0,208,253,15,92,38,0,34,92,61,0,208,253,34,92,38,0,56,92,61,0,208,253,56,92,38,0,110,92,61,0,208,253,110,92,38,0,113,92,61,0,208,253,113,92,38,0,219,93,61,0,208,253,219,93,38,0,229,93,61,0,208,253,229,93,38,0,241,93,61,0,208,253,241,93,38,0,254,93,61,0,208,253,254,93,38,0,114,94,61,0,208,253,114,94,38,0,97,78,61,0,208,253,122,94,38,0,127,94,61,0,208,253,127,94,38,0,244,94,61,0,208,253,244,94,38,0,254,94,61,0,208,253,254,94,38,0,11,95,61,0,208,253,11,95,38,0,19,95,61,0,208,253,19,95,38,0,80,95,61,0,208,253,80,95,38,0,97,95,61,0,208,253,97,95,38,0,115,95,61,0,208,253,115,95,38,0,195,95,61,0,208,253,195,95,38,0,8,98,61,0,208,253,8,98,38,0,54,98,61,0,208,253,54,98,38,0,75,98,61,0,208,253,75,98,38,0,47,101,61,0,208,253,47,101,38,0,52,101,61,0,208,253,52,101,38,0,135,101,61,0,208,253,135,101,38,0,151,101,61,0,208,253,151,101,38,0,164,101,61,0,208,253,164,101,38,0,185,101,61,0,208,253,185,101,38,0,224,101,61,0,208,253,224,101,38,0,229,101,61,0,208,253,229,101,38,0,240,102,61,0,208,253,240,102,38,0,8,103,61,0,208,253,8,103,38,0,40,103,61,0,208,253,40,103,38,0,32,107,61,0,208,253,32,107,38,0,98,107,61,0,208,253,98,107,38,0,121,107,61,0,208,253,121,107,38,0,179,107,61,0,208,253,179,107,38,0,203,107,61,0,208,253,203,107,38,0,212,107,61,0,208,253,212,107,38,0,219,107,61,0,208,253,219,107,38,0,15,108,61,0,208,253,15,108,38,0,20,108,61,0,208,253,20,108,38,0,52,108,61,0,208,253,52,108,38,0,107,112,61,0,208,253,107,112,38,0,42,114,61,0,208,253,42,114,38,0,54,114,61,0,208,253,54,114,38,0,59,114,61,0,208,253,59,114,38,0,44,78,61,0,208,253,63,114,38,0,130,216,23,220,61,0,208,253,44,78,38,0,71,114,61,0,208,253,71,114,38,0,89,114,61,0,208,253,89,114,38,0,91,114,61,0,208,253,91,114,38,0,172,114,61,0,208,253,172,114,38,0,132,115,61,0,208,253,132,115,38,0,137,115,61,0,208,253,137,115,38,0,220,116,61,0,208,253,220,116,38,0,230,116,61,0,208,253,230,116,38,0,24,117,61,0,208,253,24,117,38,0,31,117,61,0,208,253,31,117,38,0,40,117,61,0,208,253,40,117,38,0,48,117,61,0,208,253,48,117,38,0,139,117,61,0,208,253,139,117,38,0,146,117,61,0,208,253,146,117,38,0,118,118,61,0,208,253,118,118,38,0,125,118,61,0,208,253,125,118,38,0,174,118,61,0,208,253,174,118,38,0,191,118,61,0,208,253,191,118,38,0,238,118,61,0,208,253,238,118,38,0,219,119,61,0,208,253,219,119,38,0,226,119,61,0,208,253,226,119,38,0,243,119,61,0,208,253,243,119,38,0,58,121,61,0,208,253,58,121,38,0,184,121,61,0,208,253,184,121,38,0,190,121,61,0,208,253,190,121,38,0,116,122,61,0,208,253,116,122,38,0,203,122,61,0,208,253,203,122,38,0,249,122,61,0,208,253,249,122,38,0,115,124,61,0,208,253,115,124,38,0,248,124,61,0,208,253,248,124,38,0,159,126,61,0,208,253,159,126,38,0,54,127,61,0,208,253,54,127,38,0,81,127,61,0,208,253,81,127,38,0,138,127,61,0,208,253,138,127,38,0,189,127,61,0,208,253,189,127,38,0,1,128,61,0,208,253,1,128,38,0,12,128,61,0,208,253,12,128,38,0,18,128,61,0,208,253,18,128,38,0,51,128,61,0,208,253,51,128,38,0,127,128,61,0,208,253,127,128,38,0,137,128,61,0,208,253,137,128,38,0,227,129,61,0,208,253,227,129,38,0,234,129,61,0,208,253,234,129,38,0,243,129,61,0,208,253,243,129,38,0,252,129,61,0,208,253,252,129,38,0,12,130,61,0,208,253,12,130,38,0,27,130,61,0,208,253,27,130,38,0,31,130,61,0,208,253,31,130,38,0,110,130,61,0,208,253,110,130,38,0,114,130,61,0,208,253,114,130,38,0,120,130,61,0,208,253,120,130,38,0,77,134,61,0,208,253,77,134,38,0,107,134,61,0,208,253,107,134,38,0,64,136,61,0,208,253,64,136,38,0,76,136,61,0,208,253,76,136,38,0,99,136,61,0,208,253,99,136,38,0,126,137,61,0,208,253,126,137,38,0,139,137,61,0,208,253,139,137,38,0,193,137,61,0,208,253,193,137,38,0,210,137,61,0,208,253,210,137,38,0,0,138,61,0,208,253,0,138,38,0,160,139,61,0,208,253,160,139,38,0,55,140,61,0,208,253,55,140,38,0,70,140,61,0,208,253,70,140,38,0,85,140,61,0,208,253,85,140,38,0,120,140,61,0,208,253,120,140,38,0,157,140,61,0,208,253,157,140,38,0,29,141,61,0,208,253,29,141,38,0,100,141,61,0,208,253,100,141,38,0,112,141,61,0,208,253,112,141,38,0,179,141,61,0,208,253,179,141,38,0,171,142,61,0,208,253,171,142,38,0,202,142,61,0,208,253,202,142,38,0,102,143,61,0,208,253,102,143,38,0,155,143,61,0,208,253,155,143,38,0,176,143,61,0,208,253,176,143,38,0,181,143,61,0,208,253,181,143,38,0,145,144,61,0,208,253,145,144,38,0,73,145,61,0,208,253,73,145,38,0,198,145,61,0,208,253,198,145,38,0,204,145,61,0,208,253,204,145,38,0,209,145,61,0,208,253,209,145,38,0,133,148,61,0,208,253,133,148,38,0,119,149,61,0,208,253,119,149,38,0,127,149,61,0,208,253,127,149,38,0,128,149,61,0,208,253,128,149,38,0,232,149,61,0,208,253,232,149,38,0,28,150,61,0,208,253,28,150,38,0,182,150,61,0,208,253,182,150,38,0,185,150,61,0,208,253,185,150,38,0,232,150,61,0,208,253,232,150,38,0,81,151,61,0,208,253,81,151,38,0,94,151,61,0,208,253,94,151,38,0,98,151,61,0,208,253,98,151,38,0,105,151,61,0,208,253,105,151,38,0,203,151,61,0,208,253,203,151,38,0,230,151,61,0,208,253,230,151,38,0,237,151,61,0,208,253,237,151,38,0,243,151,61,0,208,253,243,151,38,0,1,152,61,0,208,253,1,152,38,0,117,152,61,0,208,253,117,152,38,0,168,152,61,0,208,253,168,152,38,0,206,152,61,0,208,253,206,152,38,0,219,152,61,0,208,253,219,152,38,0,222,152,61,0,208,253,222,152,38,0,223,152,61,0,208,253,223,152,38,0,99,153,61,0,208,253,99,153,38,0,150,153,61,0,208,253,150,153,38,0,153,153,61,0,208,253,153,153,38,0,172,153,61,0,208,253,172,153,38,0,108,154,61,0,208,253,108,154,38,0,168,154,61,0,208,253,168,154,38,0,216,154,61,0,208,253,216,154,38,0,223,154,61,0,208,253,223,154,38,0,37,155,61,0,208,253,37,155,38,0,47,155,61,0,208,253,47,155,38,0,50,155,61,0,208,253,50,155,38,0,60,155,61,0,208,253,60,155,38,0,90,155,61,0,208,253,90,155,38,0,124,156,61,0,208,253,124,156,38,0,229,156,61,0,208,253,229,156,38,0,31,158,61,0,208,253,31,158,38,0,117,158,61,0,208,253,117,158,38,0,132,216,186,222,61,0,208,253,100,83,38,0,127,158,61,0,208,253,127,158,38,0,165,158,61,0,208,253,165,158,38,0,166,158,61,0,208,253,166,158,38,0,187,158,61,0,208,253,187,158,38,0,195,158,61,0,208,253,195,158,38,0,205,158,61,0,208,253,205,158,38,0,209,158,61,0,208,253,209,158,38,0,249,158,61,0,208,253,249,158,38,0,253,158,61,0,208,253,253,158,38,0,254,158,61,0,208,253,254,158,38,0,14,159,61,0,208,253,14,159,38,0,19,159,61,0,208,253,19,159,38,0,32,159,61,0,208,253,32,159,38,0,59,159,61,0,208,253,59,159,38,0,74,159,61,0,208,253,74,159,38,0,80,159,61,0,208,253,80,159,38,0,82,159,61,0,208,253,82,159,38,0,127,159,61,0,208,253,127,159,38,0,141,159,61,0,208,253,141,159,38,0,153,159,61,0,208,253,153,159,38,0,156,159,61,0,208,253,156,159,38,0,159,159,61,0,208,253,159,159,38,0,160,159,61,0,208,253,160,159,0,0,239,223,197,6,38,0,97,0,60,0,60,0,0,29,60,0,60,0,101,44,60,0,60,0,60,0,58,2,60,0,60,0,143,29,60,0,60,0,80,2,60,0,60,0,60,0,111,44,60,0,60,0,60,0,68,29,60,0,60,0,81,2,60,0,60,0,60,0,109,44,60,0,60,0,60,0,69,29,60,0,60,0,144,29,60,0,60,0,82,2,60,0,60,0,60,0,112,44,60,0,60,0,60,0,155,29,38,0,98,0,60,0,60,0,153,2,60,0,60,0,128,1,60,0,60,0,60,0,67,2,60,0,60,0,47,29,60,0,60,0,3,29,60,0,60,0,108,29,60,0,60,0,128,29,60,0,60,0,83,2,60,0,60,0,60,0,129,1,60,0,60,0,131,1,60,0,60,0,60,0,130,1,38,0,99,0,60,0,60,0,4,29,60,0,60,0,60,2,60,0,60,0,60,0,59,2,60,0,60,0,147,167,60,0,60,0,60,0,146,167,60,0,60,0,136,1,60,0,60,0,60,0,135,1,60,0,60,0,85,2,60,0,60,0,60,0,157,29,60,0,60,0,132,33,60,0,60,0,60,0,131,33,60,0,60,0,63,167,60,0,60,0,60,0,62,167,38,0,100,0,60,0,60,0,5,29,60,0,60,0,6,29,60,0,60,0,109,29,60,0,60,0,129,29,60,0,60,0,86,2,60,0,60,0,60,0,137,1,60,0,60,0,87,2,60,0,60,0,60,0,138,1,60,0,60,0,145,29,60,0,60,0,140,1,60,0,60,0,60,0,139,1,60,0,60,0,33,2,60,0,60,0,113,167,60,0,60,0,159,30,60,0,60,0,141,1,38,0,101,0,60,0,60,0,7,29,60,0,60,0,71,2,60,0,60,0,60,0,70,2,60,0,60,0,146,29,60,0,60,0,120,44,60,0,60,0,221,1,60,0,60,0,60,0,142,1,60,0,60,0,60,0,50,29,60,0,60,0,123,44,60,0,60,0,89,2,60,0,60,0,60,0,143,1,60,0,60,0,60,0,74,29,60,0,60,0,60,0,148,32,60,0,60,0,149,29,60,0,60,0,91,2,60,0,60,0,60,0,144,1,60,0,60,0,60,0,7,33,60,0,60,0,60,0,75,29,60,0,60,0,147,29,60,0,60,0,88,2,60,0,60,0,90,2,60,0,60,0,92,2,60,0,60,0,60,0,159,29,60,0,60,0,148,29,60,0,60,0,8,29,60,0,60,0,60,0,76,29,60,0,60,0,93,2,60,0,60,0,94,2,60,0,60,0,154,2,38,0,102,0,60,0,60,0,48,167,60,0,60,0,110,29,60,0,60,0,130,29,60,0,60,0,146,1,60,0,60,0,60,0,145,1,60,0,60,0,78,33,60,0,60,0,60,0,50,33,60,0,60,0,251,167,38,0,103,0,60,0,60,0,97,2,60,0,60,0,60,0,162,29,60,0,60,0,98,2,60,0,60,0,60,0,219,29,60,0,60,0,229,1,60,0,60,0,60,0,228,1,60,0,60,0,131,29,60,0,60,0,96,2,60,0,60,0,60,0,147,1,60,0,60,0,155,2,60,0,60,0,119,29,60,0,60,0,127,167,60,0,60,0,60,0,126,167,60,0,60,0,99,2,60,0,60,0,60,0,148,1,60,0,60,0,60,0,224,2,60,0,60,0,100,2,60,0,60,0,163,1,60,0,60,0,60,0,162,1,38,0,104,0,60,0,60,0,156,2,60,0,60,0,102,2,60,0,60,0,60,0,170,167,60,0,60,0,60,0,177,2,60,0,60,0,104,44,60,0,60,0,60,0,103,44,60,0,60,0,118,44,60,0,60,0,60,0,117,44,60,0,60,0,39,167,60,0,60,0,60,0,38,167,60,0,60,0,103,2,60,0,60,0,101,2,60,0,60,0,60,0,141,167,60,0,60,0,60,0,163,29,60,0,60,0,174,2,60,0,60,0,175,2,38,0,105,0,60,0,60,0,49,1,60,0,60,0,60,0,53,216,164,222,60,0,60,0,106,2,60,0,60,0,60,0,166,29,60,0,60,0,254,167,60,0,60,0,9,29,60,0,60,0,60,0,78,29,60,0,60,0,104,2,60,0,60,0,60,0,151,1,60,0,60,0,60,0,164,29,60,0,60,0,123,29,60,0,60,0,60,0,167,29,60,0,60,0,150,29,60,0,60,0,105,2,60,0,60,0,60,0,150,1,60,0,60,0,60,0,165,29,60,0,60,0,124,29,38,0,106,0,60,0,60,0,55,2,60,0,60,0,60,0,53,216,165,222,60,0,60,0,10,29,60,0,60,0,73,2,60,0,60,0,60,0,72,2,60,0,60,0,157,2,60,0,60,0,60,0,168,29,60,0,60,0,95,2,60,0,60,0,60,0,161,29,60,0,60,0,132,2,38,0,107,0,60,0,60,0,11,29,60,0,60,0,132,29,60,0,60,0,153,1,60,0,60,0,60,0,152,1,60,0,60,0,106,44,60,0,60,0,60,0,105,44,60,0,60,0,65,167,60,0,60,0,60,0,64,167,60,0,60,0,67,167,60,0,60,0,60,0,66,167,60,0,60,0,69,167,60,0,60,0,60,0,68,167,60,0,60,0,56,1,60,0,60,0,158,2,38,0,108,0,60,0,60,0,159,2,60,0,60,0,60,0,222,29,60,0,60,0,60,0,171,29,60,0,60,0,71,167,60,0,60,0,60,0,70,167,60,0,60,0,12,29,60,0,60,0,73,167,60,0,60,0,60,0,72,167,60,0,60,0,154,1,60,0,60,0,60,0,61,2,60,0,60,0,97,44,60,0,60,0,60,0,96,44,60,0,60,0,107,2,60,0,60,0,60,0,98,44,60,0,60,0,108,2,60,0,60,0,133,29,60,0,60,0,60,0,170,29,60,0,60,0,109,2,60,0,60,0,60,0,169,29,60,0,60,0,142,167,60,0,60,0,52,2,60,0,60,0,114,167,60,0,60,0,129,167,60,0,60,0,60,0,128,167,60,0,60,0,155,1,38,0,109,0,60,0,60,0,13,29,60,0,60,0,60,0,223,29,60,0,60,0,111,29,60,0,60,0,134,29,60,0,60,0,113,2,60,0,60,0,60,0,110,44,60,0,60,0,60,0,172,29,60,0,60,0,253,167,60,0,60,0,255,167,60,0,60,0,115,167,60,0,60,0,111,2,60,0,60,0,60,0,156,1,60,0,60,0,60,0,90,29,60,0,60,0,250,167,60,0,60,0,31,29,60,0,60,0,112,2,60,0,60,0,60,0,173,29,38,0,110,0,60,0,60,0,73,1,60,0,60,0,116,2,60,0,60,0,60,0,225,29,60,0,60,0,60,0,176,29,60,0,60,0,59,29,60,0,60,0,14,29,60,0,60,0,112,29,60,0,60,0,114,2,60,0,60,0,60,0,157,1,60,0,60,0,60,0,174,29,60,0,60,0,158,1,60,0,60,0,60,0,32,2,60,0,60,0,145,167,60,0,60,0,60,0,144,167,60,0,60,0,135,29,60,0,60,0,115,2,60,0,60,0,60,0,175,29,60,0,60,0,53,2,60,0,60,0,116,167,60,0,60,0,75,1,60,0,60,0,60,0,74,1,60,0,60,0,60,0,81,29,38,0,111,0,60,0,60,0,15,29,60,0,60,0,17,29,60,0,60,0,19,29,60,0,60,0,84,2,60,0,60,0,60,0,134,1,60,0,60,0,60,0,83,29,60,0,60,0,16,29,60,0,60,0,18,29,60,0,60,0,151,29,60,0,60,0,77,167,60,0,60,0,60,0,76,167,60,0,60,0,22,29,60,0,60,0,60,0,84,29,60,0,60,0,23,29,60,0,60,0,60,0,85,29,60,0,60,0,122,44,60,0,60,0,117,2,60,0,60,0,60,0,159,1,60,0,60,0,60,0,177,29,60,0,60,0,75,167,60,0,60,0,60,0,74,167,60,0,60,0,119,2,60,0,60,0,35,2,60,0,60,0,60,0,34,2,60,0,60,0,60,0,61,29,60,0,60,0,21,29,38,0,112,0,60,0,60,0,24,29,60,0,60,0,125,29,60,0,60,0,60,0,99,44,60,0,60,0,81,167,60,0,60,0,60,0,80,167,60,0,60,0,113,29,60,0,60,0,136,29,60,0,60,0,165,1,60,0,60,0,60,0,164,1,60,0,60,0,83,167,60,0,60,0,60,0,82,167,60,0,60,0,85,167,60,0,60,0,60,0,84,167,60,0,60,0,252,167,60,0,60,0,120,2,60,0,60,0,60,0,178,29,60,0,60,0,119,44,38,0,113,0,60,0,60,0,87,167,60,0,60,0,60,0,86,167,60,0,60,0,89,167,60,0,60,0,60,0,88,167,60,0,60,0,160,2,60,0,60,0,75,2,60,0,60,0,60,0,74,2,38,0,114,0,60,0,60,0,128,2,60,0,60,0,60,0,226,29,60,0,60,0,60,0,166,1,60,0,60,0,91,167,60,0,60,0,60,0,227,29,60,0,60,0,60,0,90,167,60,0,60,0,25,29,60,0,60,0,77,2,60,0,60,0,60,0,76,2,60,0,60,0,114,29,60,0,60,0,121,2,60,0,60,0,60,0,180,2,60,0,60,0,26,29,60,0,60,0,122,2,60,0,60,0,137,29,60,0,60,0,123,2,60,0,60,0,60,0,181,2,60,0,60,0,121,44,60,0,60,0,124,2,60,0,60,0,125,2,60,0,60,0,60,0,100,44,60,0,60,0,126,2,60,0,60,0,115,29,60,0,60,0,127,2,60,0,60,0,129,2,60,0,60,0,60,0,182,2,60,0,60,0,117,167,60,0,60,0,118,167,60,0,60,0,93,167,60,0,60,0,60,0,92,167,38,0,115,0,60,0,60,0,49,167,60,0,60,0,116,29,60,0,60,0,138,29,60,0,60,0,130,2,60,0,60,0,60,0,179,29,60,0,60,0,63,2,60,0,60,0,60,0,126,44,60,0,60,0,156,30,60,0,60,0,157,30,60,0,60,0,131,2,60,0,60,0,60,0,169,1,60,0,60,0,60,0,180,29,60,0,60,0,139,29,60,0,60,0,170,1,60,0,60,0,133,2,60,0,60,0,152,29,60,0,60,0,134,2,38,0,116,0,60,0,60,0,27,29,60,0,60,0,103,1,60,0,60,0,60,0,102,1,60,0,60,0,102,44,60,0,60,0,60,0,62,2,60,0,60,0,117,29,60,0,60,0,171,1,60,0,60,0,60,0,181,29,60,0,60,0,173,1,60,0,60,0,60,0,172,1,60,0,60,0,136,2,60,0,60,0,60,0,174,1,60,0,60,0,54,2,60,0,60,0,119,167,60,0,60,0,135,2,38,0,117,0,60,0,60,0,28,29,60,0,60,0,60,0,184,29,60,0,60,0,29,29,60,0,60,0,60,0,89,29,60,0,60,0,30,29,60,0,60,0,137,2,60,0,60,0,60,0,68,2,60,0,60,0,60,0,182,29,60,0,60,0,126,29,60,0,60,0,153,29,60,0,60,0,138,2,60,0,60,0,60,0,177,1,60,0,60,0,60,0,183,29,60,0,60,0,127,29,38,0,118,0,60,0,60,0,32,29,60,0,60,0,95,167,60,0,60,0,60,0,94,167,60,0,60,0,140,29,60,0,60,0,139,2,60,0,60,0,60,0,178,1,60,0,60,0,60,0,185,29,60,0,60,0,113,44,60,0,60,0,116,44,60,0,60,0,253,30,60,0,60,0,60,0,252,30,60,0,60,0,140,2,60,0,60,0,60,0,69,2,60,0,60,0,60,0,186,29,38,0,119,0,60,0,60,0,33,29,60,0,60,0,115,44,60,0,60,0,60,0,114,44,60,0,60,0,141,2,60,0,60,0,191,1,60,0,60,0,60,0,247,1,38,0,120,0,60,0,60,0,141,29,38,0,121,0,60,0,60,0,143,2,60,0,60,0,79,2,60,0,60,0,60,0,78,2,60,0,60,0,180,1,60,0,60,0,60,0,179,1,60,0,60,0,255,30,60,0,60,0,60,0,254,30,60,0,60,0,142,2,60,0,60,0,29,2,60,0,60,0,60,0,28,2,38,0,122,0,60,0,60,0,34,29,60,0,60,0,182,1,60,0,60,0,60,0,181,1,60,0,60,0,118,29,60,0,60,0,142,29,60,0,60,0,37,2,60,0,60,0,60,0,36,2,60,0,60,0,144,2,60,0,60,0,60,0,188,29,60,0,60,0,145,2,60,0,60,0,60,0,189,29,60,0,60,0,64,2,60,0,60,0,60,0,127,44,60,0,60,0,108,44,60,0,60,0,60,0,107,44,60,0,60,0,99,167,60,0,60,0,60,0,98,167,60,0,60,0,146,2,60,0,60,0,60,0,183,1,60,0,60,0,60,0,190,29,60,0,60,0,239,1,60,0,60,0,60,0,238,1,60,0,60,0,35,29,60,0,60,0,185,1,60,0,60,0,60,0,184,1,60,0,60,0,154,29,60,0,60,0,186,1,60,0,60,0,147,2,38,0,254,0,60,0,60,0,101,167,60,0,60,0,60,0,100,167,60,0,60,0,103,167,60,0,60,0,60,0,102,167,38,0,97,0,101,0,60,0,60,0,1,29,60,0,60,0,2,29,60,0,60,0,60,0,70,29,38,0,100,0,145,2,60,0,60,0,165,2,38,0,100,0,146,2,60,0,60,0,164,2,38,0,104,0,118,0,60,0,60,0,149,1,60,0,60,0,60,0,246,1,38,0,108,0,146,2,60,0,60,0,110,2,38,0,111,0,101,0,60,0,60,0,118,2,60,0,60,0,20,29,38,0,116,0,85,2,60,0,60,0,168,2,38,0,117,0,101,0,60,0,60,0,107,29,38,0,91,0,108,0,97,0,115,0,116,0,32,0,116,0,101,0,114,0,116,0,105,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,61,0,187,2,61,0,189,2,61,0,105,167,61,0,104,167,61,0,107,167,61,0,106,167,61,0,109,167,61,0,108,167,61,0,111,167,61,0,210,29,61,0,110,167,61,0,112,167,61,0,120,167,61,0,187,1,61,0,43,167,61,0,42,167,61,0,45,167,61,0,44,167,61,0,47,167,61,0,46,167,61,0,168,1,61,0,167,1,61,0,189,1,61,0,188,1,61,0,133,1,61,0,132,1,61,0,148,2,61,0,66,2,61,0,65,2,61,0,192,2,61,0,188,2,61,0,238,2,61,0,190,2,61,0,35,167,61,0,34,167,61,0,140,167,61,0,139,167,61,0,149,2,61,0,228,2,61,0,191,2,61,0,193,2,61,0,36,29,61,0,37,29,61,0,92,29,61,0,37,167,61,0,36,167,61,0,161,2,61,0,162,2,61,0,150,2,61,0,192,1,61,0,193,1,61,0,194,1,61,0,195,1,61,0,151,2,61,0,152,2,61,0,172,2,61,0,173,2,38,0,179,3,60,0,60,0,38,29,38,0,187,3,60,0,60,0,39,29,38,0,192,3,60,0,60,0,40,29,38,0,193,3,60,0,60,0,41,29,38,0,200,3,60,0,60,0,42,29,38,0,82,4,60,0,60,0,83,4,60,0,60,0,60,0,3,4,38,0,57,4,60,0,139,4,60,0,60,0,60,0,138,4,38,0,59,4,60,0,60,0,43,29,38,0,91,4,60,0,60,0,92,4,60,0,60,0,60,0,12,4,38,0,132,5,60,0,135,5,0,0,239,223,75,53,38,0,32,0,91,0,108,0,97,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,42,0,62,216,176,221,62,216,177,221,62,216,179,221,62,216,178,221,60,216,251,223,60,216,252,223,60,216,253,223,60,216,254,223,60,216,255,223,38,0,32,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,209,253,172,32,60,0,42,0,61,216,0,222,61,216,3,222,61,216,4,222,61,216,1,222,61,216,6,222,61,216,5,222,62,216,35,221,61,216,2,222,61,216,66,222,61,216,67,222,62,216,224,222,61,216,9,222,61,216,10,222,61,216,7,222,60,0,42,0,62,216,112,221,61,216,13,222,62,216,41,221,61,216,24,222,61,216,23,222,58,38,61,216,26,222,61,216,25,222,62,216,114,221,60,0,42,0,61,216,11,222,61,216,27,222,61,216,28,222,62,216,42,221,61,216,29,222,62,216,17,221,60,0,42,0,62,216,23,221,62,216,45,221,62,216,226,222,62,216,227,222,62,216,43,221,62,216,20,221,62,216,225,222,60,0,42,0,62,216,16,221,62,216,40,221,61,216,16,222,61,216,17,222,61,216,54,222,62,216,229,222,60,0,32,0,61,216,54,222,13,32,60,216,43,223,60,0,42,0,61,216,15,222,61,216,18,222,61,216,68,222,61,216,44,222,60,0,32,0,61,216,46,222,13,32,61,216,168,220,60,0,42,0,62,216,37,221,62,216,232,222,60,0,42,0,61,216,12,222,61,216,20,222,61,216,42,222,62,216,36,221,61,216,52,222,60,0,42,0,61,216,55,222,62,216,18,221,62,216,21,221,62,216,34,221,62,216,46,221,62,216,39,221,62,216,117,221,62,216,118,221,62,216,116,221,61,216,53,222,60,0,32,0,61,216,53,222,13,32,61,216,171,220,60,0,42,0,62,216,47,221,60,0,42,0,62,216,32,221,62,216,115,221,62,216,120,221,60,0,42,0,61,216,14,222,62,216,19,221,62,216,208,221,60,0,42,0,61,216,21,222,62,216,228,222,61,216,31,222,61,216,65,222,57,38,61,216,46,222,61,216,47,222,61,216,50,222,61,216,51,222,62,216,122,221,62,216,121,221,61,216,38,222,61,216,39,222,61,216,40,222,61,216,48,222,61,216,37,222,61,216,34,222,61,216,45,222,61,216,49,222,61,216,22,222,61,216,35,222,61,216,30,222,61,216,19,222,61,216,41,222,61,216,43,222,62,216,113,221,60,0,42,0,61,216,36,222,61,216,33,222,61,216,32,222,62,216,44,221,61,216,8,222,61,216,127,220,61,216,128,220,32,38,60,0,42,0,61,216,169,220,62,216,33,221,61,216,121,220,61,216,122,220,61,216,123,220,61,216,125,220,61,216,126,220,62,216,22,221,60,0,42,0,61,216,58,222,61,216,56,222,61,216,57,222,61,216,59,222,61,216,60,222,61,216,61,222,61,216,64,222,61,216,63,222,61,216,62,222,60,0,42,0,61,216,72,222,61,216,73,222,61,216,74,222,60,0,42,0,61,216,140,220,61,216,152,220,61,216,157,220,61,216,150,220,61,216,151,220,61,216,147,220,61,216,158,220,61,216,149,220,61,216,159,220,99,39,61,216,148,220,60,0,32,0,100,39,13,32,61,216,37,221,32,0,61,0,32,0,100,39,15,254,13,32,61,216,37,221,60,0,32,0,100,39,13,32,62,216,121,222,32,0,61,0,32,0,100,39,15,254,13,32,62,216,121,222,60,0,42,0,100,39,62,216,119,222,62,216,225,221,61,216,155,220,61,216,154,220,61,216,153,220,62,216,117,222,61,216,156,220,62,216,14,221,61,216,164,221,62,216,118,222,62,216,13,221,60,0,42,0,61,216,139,220,61,216,175,220,61,216,162,220,61,216,165,220,61,216,171,220,61,216,166,220,61,216,168,220,61,216,115,221,61,216,172,220,60,0,32,0,61,216,65,220,13,32,61,216,232,221,32,0,61,0,32,0,61,216,65,220,15,254,13,32,61,216,232,221,60,0,42,0,61,216,232,221,61,216,239,221,61,216,173,220,61,216,164,220,60,0,42,0,61,216,75,220,62,216,26,221,61,216,144,221,11,39,61,216,150,221,62,216,241,222,62,216,242,222,62,216,243,222,62,216,244,222,62,216,247,222,62,216,248,222,60,0,42,0,61,216,76,220,62,216,12,221,62,216,15,221,12,39,62,216,30,221,62,216,240,222,62,216,31,221,62,216,24,221,62,216,25,221,60,0,42,0,61,216,72,220,61,216,73,220,61,216,70,220,61,216,149,221,61,216,71,220,29,38,62,216,245,222,60,0,42,0,61,216,77,220,61,216,78,220,10,39,61,216,74,220,62,216,27,221,62,216,28,221,60,0,42,0,61,216,79,220,61,216,76,222,62,216,246,222,61,216,80,220,62,216,50,221,62,216,29,221,61,216,79,222,60,0,42,0,13,39,61,216,133,220,62,216,51,221,60,0,42,0,61,216,170,220,62,216,190,221,62,216,191,221,62,216,181,221,62,216,182,221,61,216,66,220,62,216,187,221,61,216,67,220,62,216,224,221,62,216,192,222,62,216,193,222,62,216,183,221,62,216,180,221,61,216,64,220,61,216,65,220,61,216,69,220,61,216,68,220,62,216,230,222,60,0,42,0,61,216,118,220,62,216,210,221,61,216,102,220,61,216,103,220,62,216,209,221,61,216,113,220,61,216,104,220,62,216,212,221,60,0,32,0,62,216,212,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,212,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,255,223,13,32,64,38,60,0,42,0,61,216,105,220,60,0,32,0,61,216,113,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,255,223,13,32,64,38,60,0,32,0,61,216,113,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,255,223,13,32,66,38,60,0,42,0,62,216,211,221,61,216,116,220,61,216,117,220,60,0,42,0,61,216,77,222,60,0,32,0,61,216,77,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,77,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,77,222,60,216,255,223,13,32,64,38,60,0,42,0,61,216,78,222,60,0,32,0,61,216,78,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,78,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,78,222,60,216,255,223,13,32,64,38,60,0,42,0,61,216,69,222,60,0,32,0,61,216,69,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,69,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,69,222,60,216,255,223,13,32,64,38,60,0,42,0,61,216,70,222,60,0,32,0,61,216,70,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,70,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,70,222,60,216,255,223,13,32,64,38,60,0,42,0,61,216,129,220,60,0,32,0,61,216,129,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,129,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,129,220,60,216,255,223,13,32,64,38,60,0,42,0,61,216,75,222,60,0,32,0,61,216,75,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,75,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,75,222,60,216,255,223,13,32,64,38,60,0,42,0,62,216,207,221,60,0,32,0,62,216,207,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,207,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,207,221,60,216,255,223,13,32,64,38,60,0,42,0,61,216,71,222,60,0,32,0,61,216,71,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,71,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,71,222,60,216,255,223,13,32,64,38,60,0,42,0,62,216,38,221,60,0,32,0,62,216,38,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,38,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,38,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,55,221,60,0,32,0,62,216,55,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,55,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,55,221,60,216,255,223,13,32,64,38,60,0,32,0,62,216,209,221,13,32,149,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,149,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,149,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,149,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,149,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,149,38,60,0,32,0,61,216,104,220,13,32,149,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,149,38,60,0,32,0,61,216,105,220,13,32,149,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,149,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,149,38,60,0,32,0,62,216,209,221,13,32,60,216,147,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,147,223,60,0,32,0,61,216,104,220,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,147,223,60,0,32,0,61,216,105,220,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,147,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,147,223,60,0,32,0,62,216,209,221,13,32,60,216,235,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,235,223,60,0,32,0,61,216,104,220,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,235,223,60,0,32,0,61,216,105,220,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,235,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,235,223,60,0,32,0,62,216,209,221,13,32,150,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,150,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,150,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,150,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,150,38,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,150,38,60,0,32,0,61,216,104,220,13,32,150,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,150,38,60,0,32,0,61,216,105,220,13,32,150,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,150,38,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,150,38,60,0,32,0,62,216,209,221,13,32,60,216,62,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,62,223,60,0,32,0,61,216,104,220,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,62,223,60,0,32,0,61,216,105,220,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,62,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,62,223,60,0,32,0,62,216,209,221,13,32,60,216,115,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,115,223,60,0,32,0,61,216,104,220,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,115,223,60,0,32,0,61,216,105,220,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,115,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,115,223,60,0,32,0,62,216,209,221,13,32,61,216,39,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,39,221,60,0,32,0,61,216,104,220,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,39,221,60,0,32,0,61,216,105,220,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,39,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,39,221,60,0,32,0,62,216,209,221,13,32,60,216,237,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,237,223,60,0,32,0,61,216,104,220,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,237,223,60,0,32,0,61,216,105,220,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,237,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,237,223,60,0,32,0,62,216,209,221,13,32,61,216,188,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,188,220,60,0,32,0,61,216,104,220,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,188,220,60,0,32,0,61,216,105,220,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,188,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,188,220,60,0,32,0,62,216,209,221,13,32,61,216,44,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,44,221,60,0,32,0,61,216,104,220,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,44,221,60,0,32,0,61,216,105,220,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,44,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,44,221,60,0,32,0,62,216,209,221,13,32,61,216,187,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,187,220,60,0,32,0,61,216,104,220,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,187,220,60,0,32,0,61,216,105,220,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,187,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,187,220,60,0,32,0,62,216,209,221,13,32,60,216,164,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,164,223,60,0,32,0,61,216,104,220,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,164,223,60,0,32,0,61,216,105,220,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,164,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,164,223,60,0,32,0,62,216,209,221,13,32,60,216,168,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,168,223,60,0,32,0,61,216,104,220,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,168,223,60,0,32,0,61,216,105,220,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,168,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,168,223,60,0,32,0,62,216,209,221,13,32,8,39,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,8,39,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,8,39,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,8,39,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,8,39,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,8,39,60,0,32,0,61,216,104,220,13,32,8,39,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,8,39,60,0,32,0,61,216,105,220,13,32,8,39,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,8,39,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,8,39,60,0,32,0,62,216,209,221,13,32,61,216,128,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,128,222,60,0,32,0,61,216,104,220,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,128,222,60,0,32,0,61,216,105,220,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,128,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,128,222,60,0,32,0,62,216,209,221,13,32,61,216,146,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,61,216,146,222,60,0,32,0,61,216,104,220,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,61,216,146,222,60,0,32,0,61,216,105,220,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,61,216,146,222,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,61,216,146,222,60,0,42,0,61,216,110,220,60,0,32,0,61,216,110,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,110,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,110,220,60,216,255,223,13,32,64,38,60,0,42,0,61,216,117,221,60,0,32,0,61,216,117,221,13,32,66,38,32,0,61,0,32,0,61,216,117,221,15,254,13,32,66,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,255,223,13,32,66,38,60,0,32,0,61,216,117,221,13,32,64,38,32,0,61,0,32,0,61,216,117,221,15,254,13,32,64,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,117,221,60,216,255,223,13,32,64,38,60,0,42,0,61,216,130,220,60,0,32,0,61,216,130,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,130,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,130,220,60,216,255,223,13,32,64,38,60,0,42,0,62,216,119,221,61,216,119,220,60,0,32,0,61,216,119,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,119,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,119,220,60,216,255,223,13,32,64,38,60,0,42,0,62,216,197,222,62,216,52,221,61,216,120,220,61,216,115,220,60,0,32,0,61,216,115,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,115,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,115,220,60,216,255,223,13,32,64,38,60,0,42,0,61,216,114,220,62,216,213,221,62,216,53,221,60,0,32,0,62,216,53,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,53,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,53,221,60,216,255,223,13,32,64,38,60,0,42,0,61,216,112,220,60,0,32,0,61,216,112,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,112,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,112,220,60,216,255,223,13,32,64,38,60,0,42,0,62,216,48,221,62,216,195,222,62,216,196,222,62,216,49,221,60,0,32,0,61,216,105,220,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,60,216,124,223,60,0,32,0,61,216,104,220,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,60,216,124,223,60,0,32,0,62,216,209,221,13,32,60,216,124,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,124,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,124,223,60,0,42,0,61,216,124,220,60,216,133,223,62,216,54,221,60,0,32,0,62,216,209,221,13,32,60,216,132,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,60,216,132,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,60,216,132,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,60,216,132,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,60,216,132,223,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,60,216,132,223,60,0,42,0,62,216,184,221,60,0,32,0,62,216,184,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,184,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,184,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,185,221,60,0,32,0,62,216,185,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,185,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,185,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,217,221,60,0,32,0,62,216,217,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,217,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,217,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,218,221,60,0,32,0,62,216,218,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,218,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,218,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,219,221,60,0,32,0,62,216,219,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,219,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,219,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,220,221,60,0,32,0,62,216,220,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,220,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,220,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,221,221,60,0,32,0,62,216,221,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,221,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,221,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,222,221,60,0,32,0,62,216,222,221,13,32,66,38,60,0,32,0,62,216,222,221,13,32,64,38,60,0,42,0,62,216,223,221,60,0,32,0,62,216,223,221,13,32,66,38,60,0,32,0,62,216,223,221,13,32,64,38,60,0,42,0,62,216,204,221,60,0,42,0,61,216,134,220,60,0,32,0,61,216,134,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,134,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,134,220,60,216,255,223,13,32,64,38,60,0,42,0,61,216,135,220,60,0,32,0,61,216,135,220,13,32,66,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,255,223,13,32,66,38,60,0,32,0,61,216,135,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,135,220,60,216,255,223,13,32,64,38,60,0,42,0,61,216,182,222,60,0,32,0,61,216,182,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,182,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,182,222,60,216,255,223,13,32,64,38,60,0,42,0,62,216,205,221,60,0,32,0,62,216,205,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,205,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,205,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,206,221,60,0,32,0,62,216,206,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,206,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,206,221,60,216,255,223,13,32,64,38,60,0,32,0,62,216,209,221,13,32,62,216,175,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,62,216,175,221,60,0,32,0,61,216,104,220,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,62,216,175,221,60,0,32,0,61,216,105,220,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,175,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,175,221,60,0,32,0,62,216,209,221,13,32,62,216,188,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,62,216,188,221,60,0,32,0,61,216,104,220,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,62,216,188,221,60,0,32,0,61,216,105,220,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,188,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,188,221,60,0,32,0,62,216,209,221,13,32,62,216,189,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,62,216,189,221,60,0,32,0,61,216,104,220,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,62,216,189,221,60,0,32,0,61,216,105,220,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,189,221,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,189,221,60,0,42,0,60,216,195,223,60,0,32,0,60,216,195,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,255,223,13,32,66,38,60,0,32,0,60,216,195,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,195,223,60,216,255,223,13,32,64,38,60,0,42,0,61,216,131,220,61,216,122,221,61,216,116,221,61,216,111,220,60,0,32,0,61,216,111,220,13,32,66,38,60,0,32,0,61,216,111,220,13,32,64,38,60,0,42,0,62,216,214,221,60,0,32,0,62,216,214,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,214,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,214,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,215,221,60,0,32,0,62,216,215,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,215,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,215,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,58,221,60,216,199,223,247,38,60,216,194,223,60,216,204,223,60,0,32,0,60,216,204,223,13,32,66,38,32,0,61,0,32,0,60,216,204,223,15,254,13,32,66,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,255,223,13,32,66,38,60,0,32,0,60,216,204,223,13,32,64,38,32,0,61,0,32,0,60,216,204,223,15,254,13,32,64,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,204,223,60,216,255,223,13,32,64,38,60,0,42,0,60,216,196,223,60,0,32,0,60,216,196,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,255,223,13,32,66,38,60,0,32,0,60,216,196,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,196,223,60,216,255,223,13,32,64,38,60,0,42,0,61,216,163,222,60,0,32,0,61,216,163,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,163,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,163,222,60,216,255,223,13,32,64,38,60,0,42,0,60,216,202,223,60,0,32,0,60,216,202,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,255,223,13,32,66,38,60,0,32,0,60,216,202,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,202,223,60,216,255,223,13,32,64,38,60,0,42,0,249,38,60,0,32,0,249,38,13,32,66,38,32,0,61,0,32,0,249,38,15,254,13,32,66,38,32,0,60,0,60,0,32,0,249,38,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,249,38,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,249,38,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,249,38,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,249,38,60,216,255,223,13,32,66,38,60,0,32,0,249,38,13,32,64,38,32,0,61,0,32,0,249,38,15,254,13,32,64,38,32,0,60,0,60,0,32,0,249,38,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,249,38,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,249,38,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,249,38,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,249,38,60,216,255,223,13,32,64,38,60,0,42,0,60,216,203,223,60,0,32,0,60,216,203,223,13,32,66,38,32,0,61,0,32,0,60,216,203,223,15,254,13,32,66,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,255,223,13,32,66,38,60,0,32,0,60,216,203,223,13,32,64,38,32,0,61,0,32,0,60,216,203,223,15,254,13,32,64,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,60,216,203,223,60,216,255,223,13,32,64,38,60,0,42,0,61,216,180,222,60,0,32,0,61,216,180,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,180,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,180,222,60,216,255,223,13,32,64,38,60,0,42,0,61,216,181,222,60,0,32,0,61,216,181,222,13,32,66,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,255,223,13,32,66,38,60,0,32,0,61,216,181,222,13,32,64,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,181,222,60,216,255,223,13,32,64,38,60,0,42,0,62,216,56,221,60,0,32,0,62,216,56,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,56,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,56,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,60,221,60,0,32,0,62,216,60,221,13,32,66,38,60,0,32,0,62,216,60,221,13,32,64,38,60,0,42,0,62,216,61,221,60,0,32,0,62,216,61,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,61,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,61,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,62,221,60,0,32,0,62,216,62,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,62,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,62,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,57,221,60,0,32,0,62,216,57,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,57,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,57,221,60,216,255,223,13,32,64,38,60,0,42,0,62,216,216,221,60,0,32,0,62,216,216,221,13,32,66,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,255,223,13,32,66,38,60,0,32,0,62,216,216,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,216,221,60,216,255,223,13,32,64,38,60,0,42,0,61,216,192,222,61,216,204,222,60,0,32,0,62,216,209,221,13,32,62,216,29,221,13,32,62,216,209,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,251,223,13,32,62,216,29,221,13,32,62,216,209,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,252,223,13,32,62,216,29,221,13,32,62,216,209,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,253,223,13,32,62,216,29,221,13,32,62,216,209,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,254,223,13,32,62,216,29,221,13,32,62,216,209,221,32,0,60,0,60,0,32,0,62,216,209,221,60,216,255,223,13,32,62,216,29,221,13,32,62,216,209,221,60,0,32,0,61,216,109,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,105,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,105,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,105,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,105,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,105,220,60,0,32,0,61,216,107,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,104,220,60,0,32,0,61,216,108,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,104,220,32,0,60,0,60,0,32,0,61,216,104,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,104,220,38,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,105,220,60,216,251,223,61,0,61,216,109,220,60,216,251,223,38,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,105,220,60,216,252,223,61,0,61,216,109,220,60,216,252,223,38,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,105,220,60,216,253,223,61,0,61,216,109,220,60,216,253,223,38,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,105,220,60,216,254,223,61,0,61,216,109,220,60,216,254,223,38,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,105,220,60,216,255,223,61,0,61,216,109,220,60,216,255,223,38,0,32,0,61,216,105,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,251,223,61,0,61,216,107,220,60,216,251,223,38,0,32,0,61,216,105,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,252,223,61,0,61,216,107,220,60,216,252,223,38,0,32,0,61,216,105,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,253,223,61,0,61,216,107,220,60,216,253,223,38,0,32,0,61,216,105,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,254,223,61,0,61,216,107,220,60,216,254,223,38,0,32,0,61,216,105,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,255,223,61,0,61,216,107,220,60,216,255,223,38,0,32,0,61,216,104,220,60,216,251,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,251,223,61,0,61,216,108,220,60,216,251,223,38,0,32,0,61,216,104,220,60,216,252,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,252,223,61,0,61,216,108,220,60,216,252,223,38,0,32,0,61,216,104,220,60,216,253,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,253,223,61,0,61,216,108,220,60,216,253,223,38,0,32,0,61,216,104,220,60,216,254,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,254,223,61,0,61,216,108,220,60,216,254,223,38,0,32,0,61,216,104,220,60,216,255,223,13,32,62,216,29,221,13,32,61,216,104,220,60,216,255,223,61,0,61,216,108,220,60,216,255,223,60,0,42,0,61,216,143,220,60,0,32,0,61,216,105,220,13,32,100,39,13,32,61,216,139,220,13,32,61,216,104,220,32,0,61,0,32,0,61,216,105,220,13,32,100,39,15,254,13,32,61,216,139,220,13,32,61,216,104,220,60,0,32,0,61,216,104,220,13,32,100,39,13,32,61,216,139,220,13,32,61,216,104,220,32,0,61,0,32,0,61,216,104,220,13,32,100,39,15,254,13,32,61,216,139,220,13,32,61,216,104,220,60,0,32,0,61,216,105,220,13,32,100,39,13,32,61,216,139,220,13,32,61,216,105,220,32,0,61,0,32,0,61,216,105,220,13,32,100,39,15,254,13,32,61,216,139,220,13,32,61,216,105,220,60,0,42,0,61,216,145,220,60,0,32,0,61,216,105,220,13,32,100,39,13,32,61,216,104,220,32,0,61,0,32,0,61,216,105,220,13,32,100,39,15,254,13,32,61,216,104,220,60,0,32,0,61,216,104,220,13,32,100,39,13,32,61,216,104,220,32,0,61,0,32,0,61,216,104,220,13,32,100,39,15,254,13,32,61,216,104,220,60,0,32,0,61,216,105,220,13,32,100,39,13,32,61,216,105,220,32,0,61,0,32,0,61,216,105,220,13,32,100,39,15,254,13,32,61,216,105,220,60,0,42,0,61,216,106,220,60,0,32,0,61,216,104,220,13,32,61,216,105,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,105,220,13,32,61,216,103,220,60,0,32,0,61,216,104,220,13,32,61,216,105,220,13,32,61,216,103,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,105,220,13,32,61,216,102,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,105,220,13,32,61,216,103,220,13,32,61,216,103,220,60,0,32,0,61,216,104,220,13,32,61,216,104,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,104,220,13,32,61,216,103,220,60,0,32,0,61,216,104,220,13,32,61,216,104,220,13,32,61,216,103,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,104,220,13,32,61,216,102,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,104,220,13,32,61,216,103,220,13,32,61,216,103,220,60,0,32,0,61,216,105,220,13,32,61,216,105,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,105,220,13,32,61,216,103,220,60,0,32,0,61,216,105,220,13,32,61,216,105,220,13,32,61,216,103,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,105,220,13,32,61,216,102,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,105,220,13,32,61,216,103,220,13,32,61,216,103,220,60,0,32,0,61,216,104,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,102,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,103,220,60,0,32,0,61,216,104,220,13,32,61,216,103,220,13,32,61,216,102,220,60,0,32,0,61,216,104,220,13,32,61,216,103,220,13,32,61,216,103,220,60,0,32,0,61,216,105,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,102,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,103,220,60,0,32,0,61,216,105,220,13,32,61,216,103,220,13,32,61,216,102,220,60,0,32,0,61,216,105,220,13,32,61,216,103,220,13,32,61,216,103,220,60,0,42,0,61,216,227,221,61,216,100,220,61,216,101,220,62,216,194,222,61,216,99,220,60,0,42,0,62,216,176,221,62,216,177,221,62,216,179,221,62,216,178,221,60,0,42,0,61,216,53,220,61,216,18,220,62,216,141,221,62,216,167,221,61,216,54,220,61,216,21,220,62,216,174,221,60,0,32,0,61,216,21,220,13,32,62,216,186,221,60,0,42,0,61,216,41,220,61,216,58,220,62,216,138,221,62,216,157,221,61,216,49,220,61,216,8,220,60,0,32,0,61,216,8,220,13,32,27,43,60,0,42,0,62,216,129,221,61,216,47,220,61,216,5,220,61,216,6,220,61,216,52,220,62,216,206,222,62,216,207,222,61,216,14,220,62,216,132,221,62,216,147,221,62,216,140,221,62,216,172,221,61,216,46,220,61,216,2,220,61,216,3,220,61,216,4,220,61,216,55,220,61,216,22,220,61,216,23,220,61,216,61,220,61,216,15,220,61,216,17,220,61,216,16,220,61,216,42,220,61,216,43,220,62,216,153,221,62,216,146,221,61,216,24,220,62,216,163,221,62,216,143,221,62,216,155,221,61,216,45,220,61,216,1,220,61,216,0,220,61,216,57,220,61,216,48,220,61,216,7,220,61,216,63,220,62,216,171,221,62,216,148,221,62,216,135,221,61,216,59,220,60,0,32,0,61,216,59,220,13,32,68,39,60,0,42,0,61,216,40,220,61,216,60,220,62,216,165,221,62,216,166,221,62,216,168,221,62,216,152,221,62,216,161,221,61,216,62,220,60,0,42,0,62,216,131,221,61,216,20,220,61,216,19,220,61,216,35,220,61,216,36,220,61,216,37,220,61,216,38,220,61,216,39,220,61,216,74,221,62,216,133,221,62,216,134,221,62,216,162,221,62,216,137,221,62,216,164,221,62,216,182,222,62,216,169,221,62,216,154,221,62,216,156,221,62,216,189,222,60,0,32,0,61,216,38,220,13,32,27,43,60,0,42,0,62,216,191,222,60,0,42,0,61,216,56,220,60,0,42,0,61,216,10,220,61,216,34,220,62,216,142,221,61,216,13,220,61,216,50,220,61,216,9,220,62,216,149,221,62,216,150,221,60,0,42,0,61,216,51,220,61,216,11,220,61,216,44,220,62,216,173,221,61,216,31,220,61,216,32,220,61,216,33,220,62,216,136,221,61,216,25,220,61,216,26,220,62,216,184,222,62,216,188,222,60,0,42,0,61,216,12,220,62,216,139,221,61,216,27,220,61,216,28,220,61,216,29,220,62,216,178,222,61,216,30,220,62,216,151,221,62,216,179,222,61,216,119,221,61,216,120,221,62,216,130,221,62,216,159,221,62,216,176,222,62,216,177,222,62,216,160,221,60,0,42,0,61,216,144,220,60,216,56,223,61,216,174,220,62,216,183,222,60,216,245,223,60,216,57,223,62,216,64,221,60,216,58,223,60,216,59,223,60,216,60,223,60,216,55,223,62,216,187,222,60,0,42,0,60,216,49,223,62,216,180,222,60,216,50,223,60,216,51,223,60,216,52,223,60,216,53,223,60,216,62,223,60,216,63,223,24,38,60,216,64,223,60,216,65,223,60,216,66,223,60,216,67,223,62,216,185,222,62,216,186,222,60,216,68,223,60,0,42,0,60,216,71,223,60,216,72,223,60,216,73,223,60,216,74,223,60,216,75,223,60,216,76,223,60,216,77,223,62,216,109,221,60,216,78,223,60,216,79,223,60,216,80,223,60,216,81,223,60,216,82,223,60,216,83,223,62,216,208,222,62,216,93,221,60,216,69,223,62,216,210,222,62,216,101,221,60,0,42,0,62,216,81,221,60,216,70,223,62,216,84,221,62,216,85,221,60,216,61,223,60,216,54,223,62,216,209,222,62,216,82,221,62,216,108,221,62,216,102,221,62,216,196,221,62,216,197,221,62,216,92,221,62,216,216,222,60,216,48,223,62,216,218,222,62,216,219,222,60,0,42,0,60,216,94,223,62,216,80,221,62,216,86,221,62,216,211,222,62,216,104,221,62,216,111,221,62,216,94,221,62,216,199,221,62,216,192,221,60,216,86,223,60,216,87,223,62,216,105,221,62,216,83,221,60,216,84,223,60,216,95,223,60,216,85,223,60,216,45,223,62,216,106,221,60,216,46,223,60,216,47,223,62,216,212,222,62,216,89,221,62,216,198,221,62,216,90,221,60,216,115,223,62,216,88,221,60,216,114,223,62,216,213,222,62,216,99,221,62,216,87,221,60,216,127,223,62,216,200,221,62,216,194,221,62,216,107,221,60,0,42,0,60,216,113,223,60,216,88,223,60,216,89,223,60,216,90,223,60,216,91,223,60,216,92,223,60,216,93,223,60,216,96,223,60,216,98,223,60,216,99,223,60,216,100,223,60,216,101,223,62,216,110,221,60,216,97,223,62,216,95,221,62,216,96,221,62,216,97,221,60,0,42,0,62,216,128,221,62,216,158,221,62,216,144,221,62,216,145,221,62,216,170,221,60,0,42,0,60,216,102,223,60,216,103,223,60,216,104,223,60,216,105,223,60,216,106,223,60,216,130,223,60,216,112,223,62,216,193,221,62,216,103,221,60,216,107,223,60,216,108,223,60,216,109,223,60,216,110,223,60,216,111,223,60,0,42,0,60,216,124,223,62,216,91,221,21,38,62,216,214,222,60,216,117,223,60,216,118,223,60,216,126,223,60,216,119,223,60,216,120,223,60,216,121,223,60,216,122,223,60,216,123,223,62,216,66,221,62,216,67,221,62,216,215,222,62,216,100,221,62,216,203,221,62,216,195,221,62,216,201,221,62,216,202,221,60,0,42,0,62,216,98,221,60,216,125,223,60,216,116,223,62,216,68,221,61,216,42,221,62,216,217,222,60,216,250,223,60,0,42,0,60,216,13,223,60,216,14,223,60,216,15,223,60,216,16,223,61,216,250,221,61,216,254,221,62,216,237,221,60,0,42,0,60,216,212,223,240,38,60,216,11,223,61,216,251,221,60,216,213,223,60,216,214,223,60,216,220,223,60,216,221,223,60,216,222,223,60,0,42,0,60,216,223,223,60,216,219,223,60,216,215,223,62,216,241,221,62,216,168,222,62,216,181,222,61,216,214,222,60,216,216,223,60,216,218,223,60,216,224,223,60,216,225,223,60,216,226,223,60,216,227,223,60,216,228,223,60,216,229,223,60,216,230,223,60,216,232,223,60,216,233,223,60,216,234,223,60,216,235,223,60,216,236,223,60,216,237,223,60,216,239,223,60,216,240,223,61,216,146,220,61,216,252,221,61,216,253,221,60,0,42,0,234,38,61,216,76,221,61,216,213,222,61,216,77,221,233,38,61,216,75,221,60,0,42,0,242,38,250,38,60,216,1,223,60,216,3,223,60,216,217,223,60,216,4,223,60,216,5,223,60,216,6,223,60,216,7,223,60,216,9,223,104,38,60,216,160,223,61,216,221,222,60,216,161,223,60,216,162,223,61,216,136,220,60,216,170,223,60,0,42,0,61,216,130,222,61,216,131,222,61,216,132,222,61,216,133,222,61,216,134,222,61,216,135,222,61,216,136,222,61,216,137,222,61,216,138,222,61,216,157,222,61,216,158,222,61,216,139,222,61,216,140,222,61,216,141,222,61,216,142,222,61,216,144,222,61,216,145,222,61,216,146,222,61,216,147,222,61,216,148,222,61,216,149,222,61,216,150,222,61,216,151,222,61,216,152,222,61,216,153,222,61,216,251,222,61,216,154,222,61,216,155,222,61,216,156,222,60,216,206,223,60,216,205,223,61,216,245,222,62,216,189,221,62,216,188,221,61,216,250,222,61,216,178,222,61,216,244,222,61,216,249,222,61,216,252,222,61,216,143,222,61,216,227,222,61,216,228,222,61,216,226,222,253,38,61,216,222,222,61,216,168,222,61,216,165,222,61,216,166,222,61,216,209,222,61,216,167,222,60,0,42,0,147,38,61,216,223,222,245,38,61,216,246,222,61,216,164,222,61,216,243,222,244,38,61,216,229,222,61,216,162,222,60,0,42,0,8,39,61,216,233,222,61,216,235,222,61,216,236,222,62,216,130,222,61,216,186,220,61,216,129,222,61,216,159,222,61,216,160,222,61,216,161,222,61,216,240,222,61,216,128,222,61,216,248,222,60,0,42,0,61,216,206,222,62,216,243,221,60,0,42,0,27,35,243,35,26,35,240,35,241,35,242,35,61,216,112,221,61,216,91,221,61,216,103,221,61,216,80,221,61,216,92,221,61,216,81,221,61,216,93,221,61,216,82,221,61,216,94,221,61,216,83,221,61,216,95,221,61,216,84,221,61,216,96,221,61,216,85,221,61,216,97,221,61,216,86,221,61,216,98,221,61,216,87,221,61,216,99,221,61,216,88,221,61,216,100,221,61,216,89,221,61,216,101,221,61,216,90,221,61,216,102,221,60,0,42,0,60,216,17,223,60,216,18,223,60,216,19,223,60,216,20,223,60,216,21,223,60,216,22,223,60,216,23,223,60,216,24,223,60,216,25,223,60,216,26,223,60,216,27,223,60,216,28,223,60,216,33,223,0,38,60,216,29,223,60,216,30,223,62,216,144,222,80,43,60,216,31,223,60,216,32,223,60,216,12,223,1,38,197,38,200,38,60,216,36,223,60,216,37,223,60,216,38,223,60,216,39,223,60,216,40,223,60,216,41,223,60,216,42,223,60,216,43,223,60,216,44,223,60,216,0,223,60,216,8,223,60,216,2,223,2,38,20,38,241,38,161,38,68,39,3,38,196,38,4,38,61,216,37,221,61,216,167,220,60,216,10,223,60,0,42,0,60,216,131,223,60,216,132,223,60,216,134,223,60,216,135,223,62,216,232,221,40,39,60,216,136,223,60,216,137,223,60,216,138,223,60,216,139,223,60,216,141,223,60,216,142,223,60,216,143,223,60,216,144,223,60,216,145,223,62,216,231,221,60,216,128,223,60,216,129,223,60,216,151,223,60,216,159,223,60,216,171,223,60,0,42,0,60,216,150,223,60,216,198,223,60,216,197,223,62,216,71,221,62,216,72,221,62,216,73,221,60,0,42,0,189,38,190,38,62,216,78,221,60,216,192,223,60,216,208,223,60,216,200,223,60,216,201,223,60,216,190,223,62,216,79,221,60,216,179,223,60,216,207,223,60,216,209,223,60,216,210,223,62,216,77,221,60,216,211,223,60,216,248,223,62,216,74,221,62,216,75,221,62,216,69,221,243,38,248,38,60,216,163,223,62,216,63,221,60,216,189,223,60,216,191,223,61,216,247,222,62,216,76,221,60,0,42,0,60,216,175,223,62,216,128,222,62,216,129,222,61,216,43,221,60,216,177,223,61,216,46,221,62,216,132,222,60,216,174,223,61,216,121,221,60,216,176,223,60,216,178,223,62,216,233,221,62,216,248,221,62,216,133,222,62,216,169,222,62,216,134,222,96,38,101,38,102,38,99,38,95,38,60,216,207,220,60,216,4,220,60,216,180,223,60,0,42,0,60,216,173,223,61,216,188,221,60,216,168,223,62,216,245,221,62,216,161,222,62,216,246,221,62,216,162,222,60,0,42,0,61,216,83,220,61,216,118,221,62,216,125,221,62,216,124,221,62,216,186,221,61,216,84,220,61,216,85,220,61,216,86,220,62,216,227,221,62,216,228,221,62,216,229,221,62,216,230,221,61,216,87,220,61,216,88,220,62,216,123,221,62,216,113,222,62,216,114,222,62,216,115,222,61,216,89,220,61,216,90,220,62,216,173,222,61,216,91,220,61,216,92,220,61,216,93,220,61,216,205,222,60,216,146,223,62,216,116,222,61,216,94,220,61,216,95,220,62,216,126,221,62,216,127,221,61,216,96,220,61,216,97,220,62,216,112,222,61,216,98,220,62,216,174,222,61,216,81,220,61,216,82,220,60,216,169,223,60,216,147,223,62,216,226,221,62,216,150,222,209,38,61,216,255,220,61,216,132,220,61,216,141,220,61,216,142,220,60,0,42,0,61,216,7,221,61,216,8,221,61,216,9,221,61,216,10,221,61,216,226,220,61,216,227,220,61,216,239,220,61,216,20,221,61,216,21,221,60,0,42,0,60,216,188,223,60,216,181,223,60,216,182,223,60,216,153,223,60,216,154,223,60,216,155,223,60,216,164,223,60,216,167,223,61,216,251,220,60,0,42,0,60,216,183,223,62,216,151,222,60,216,184,223,60,216,185,223,60,216,186,223,60,216,187,223,62,216,149,222,62,216,65,221,62,216,152,222,62,216,135,222,62,216,136,222,60,0,42,0,61,216,241,220,61,216,242,220,14,38,61,216,222,220,61,216,223,220,61,216,224,220,60,0,42,0,61,216,11,221,62,216,171,222,61,216,12,221,61,216,187,220,61,216,165,221,61,216,168,221,40,35,61,216,177,221,61,216,178,221,61,216,189,220,61,216,190,220,61,216,191,220,61,216,192,220,62,216,238,221,60,0,42,0,60,216,165,223,60,216,158,223,61,216,253,220,60,216,172,223,61,216,250,220,61,216,247,220,61,216,248,220,61,216,249,220,61,216,252,220,61,216,13,221,61,216,14,221,61,216,111,221,61,216,161,220,61,216,38,221,60,216,238,223,62,216,148,222,60,0,42,0,61,216,212,220,61,216,213,220,61,216,214,220,61,216,215,220,61,216,216,220,61,216,217,220,61,216,218,220,61,216,211,220,61,216,210,220,61,216,195,220,61,216,220,220,61,216,196,220,61,216,240,220,61,216,222,221,61,216,209,220,61,216,22,221,60,216,247,223,60,0,42,0,61,216,176,220,62,216,153,222,61,216,180,220,61,216,181,220,61,216,182,220,61,216,183,220,61,216,184,220,61,216,179,220,62,216,254,221,61,216,185,220,60,0,42,0,9,39,61,216,231,220,61,216,232,220,61,216,233,220,61,216,228,220,61,216,229,220,61,216,230,220,61,216,235,220,61,216,234,220,61,216,236,220,61,216,237,220,61,216,238,220,61,216,243,221,60,0,42,0,15,39,18,39,61,216,139,221,61,216,138,221,61,216,140,221,61,216,141,221,61,216,221,220,60,0,42,0,61,216,188,220,61,216,193,220,61,216,194,220,61,216,194,221,61,216,197,220,61,216,198,220,61,216,210,221,61,216,211,221,61,216,199,220,61,216,200,220,61,216,201,220,61,216,202,220,61,216,203,220,61,216,204,220,61,216,205,220,61,216,206,220,61,216,135,221,61,216,207,220,61,216,208,220,2,39,61,216,195,221,61,216,196,221,61,216,209,221,60,0,42,0,61,216,18,221,61,216,19,221,61,216,15,221,61,216,16,221,61,216,17,221,61,216,221,221,60,0,42,0,61,216,40,221,62,216,147,222,207,38,146,38,61,216,224,222,61,216,225,221,148,38,61,216,163,220,62,216,131,222,60,216,249,223,61,216,225,222,62,216,154,222,61,216,39,221,62,216,155,222,61,216,41,221,153,38,61,216,220,221,150,38,62,216,175,221,61,216,23,221,211,38,62,216,157,222,62,216,240,221,62,216,242,221,62,216,156,222,60,0,42,0,151,38,62,216,234,221,62,216,235,221,62,216,236,221,61,216,44,221,61,216,45,221,61,216,225,220,60,0,42,0,61,216,137,220,62,216,120,222,61,216,138,220,62,216,121,222,62,216,124,222,62,216,122,222,62,216,123,222,60,0,42,0,61,216,170,222,61,216,215,222,62,216,158,222,62,216,159,222,61,216,207,222,61,216,203,222,62,216,145,222,61,216,189,222,62,216,160,222,61,216,191,222,61,216,193,222,62,216,164,222,62,216,146,222,62,216,244,221,62,216,247,221,62,216,249,221,62,216,250,221,62,216,251,221,62,216,163,222,62,216,252,221,62,216,231,222,62,216,165,222,62,216,253,221,62,216,239,221,61,216,210,222,60,0,42,0,61,216,172,222,176,38,62,216,166,222,177,38,62,216,255,221,62,216,172,222,61,216,255,221,62,216,167,222,62,216,170,222,60,0,42,0,60,216,231,223,61,216,174,222,61,216,176,222,127,38,61,216,185,222,61,216,186,222,61,216,187,222,61,216,188,222,61,216,190,222,61,216,194,222,61,216,195,222,61,216,196,222,61,216,197,222,60,0,42,0,160,38,61,216,184,222,212,38,61,216,171,222,61,216,179,222,61,216,173,222,61,216,175,222,61,216,177,222,61,216,183,222,61,216,245,220,61,216,30,221,34,38,35,38,60,0,42,0,6,43,151,33,161,39,152,33,7,43,153,33,5,43,150,33,149,33,148,33,169,33,170,33,52,41,53,41,61,216,3,221,61,216,4,221,61,216,25,221,61,216,26,221,61,216,27,221,61,216,28,221,61,216,29,221,60,0,42,0,61,216,208,222,155,38,61,216,73,221,33,39,56,38,47,38,29,39,38,38,42,38,46,38,61,216,78,221,61,216,47,221,62,216,175,222,60,0,42,0,72,38,73,38,74,38,75,38,76,38,77,38,78,38,79,38,80,38,81,38,82,38,83,38,206,38,60,0,42,0,61,216,0,221,61,216,1,221,61,216,2,221,182,37,233,35,237,35,239,35,192,37,234,35,238,35,61,216,60,221,235,35,61,216,61,221,236,35,248,35,249,35,250,35,207,35,60,216,166,223,61,216,5,221,61,216,6,221,61,216,246,220,61,216,220,222,61,216,243,220,61,216,244,220,60,0,42,0,64,38,66,38,167,38,60,0,42,0,22,39,149,39,150,39,151,39,61,216,240,223,126,38,60,0,42,0,60,32,73,32,83,39,84,39,85,39,87,39,48,48,60,0,42,0,61,216,177,220,61,216,178,220,60,0,42,0,149,38,123,38,156,38,61,216,49,221,61,216,219,220,61,216,48,221,85,43,5,39,17,38,20,39,76,39,78,39,176,39,191,39,61,48,51,39,52,39,71,39,169,0,174,0,34,33,60,0,32,0,39,0,35,0,227,32,39,0,32,0,61,0,32,0,39,0,35,0,15,254,227,32,39,0,60,0,32,0,39,0,42,0,227,32,39,0,32,0,61,0,32,0,39,0,42,0,15,254,227,32,39,0,60,0,32,0,48,0,227,32,32,0,61,0,32,0,48,0,15,254,227,32,60,0,32,0,49,0,227,32,32,0,61,0,32,0,49,0,15,254,227,32,60,0,32,0,50,0,227,32,32,0,61,0,32,0,50,0,15,254,227,32,60,0,32,0,51,0,227,32,32,0,61,0,32,0,51,0,15,254,227,32,60,0,32,0,52,0,227,32,32,0,61,0,32,0,52,0,15,254,227,32,60,0,32,0,53,0,227,32,32,0,61,0,32,0,53,0,15,254,227,32,60,0,32,0,54,0,227,32,32,0,61,0,32,0,54,0,15,254,227,32,60,0,32,0,55,0,227,32,32,0,61,0,32,0,55,0,15,254,227,32,60,0,32,0,56,0,227,32,32,0,61,0,32,0,56,0,15,254,227,32,60,0,32,0,57,0,227,32,32,0,61,0,32,0,57,0,15,254,227,32,60,0,42,0,61,216,31,221,60,0,42,0,61,216,32,221,61,216,33,221,61,216,34,221,61,216,35,221,61,216,36,221,60,216,112,221,60,216,142,221,60,216,113,221,60,216,145,221,60,216,146,221,60,216,147,221,57,33,60,216,148,221,194,36,60,216,149,221,60,216,150,221,60,216,126,221,60,216,151,221,60,216,127,221,60,216,152,221,60,216,153,221,60,216,154,221,60,216,1,222,60,216,2,222,60,216,55,222,60,216,54,222,60,216,47,222,60,216,80,222,60,216,57,222,60,216,26,222,60,216,50,222,60,216,81,222,60,216,56,222,60,216,52,222,60,216,51,222,151,50,153,50,60,216,58,222,60,216,53,222,60,0,42,0,61,216,52,221,61,216,224,223,61,216,225,223,61,216,226,223,61,216,53,221,61,216,227,223,61,216,228,223,171,38,170,38,61,216,229,223,61,216,231,223,61,216,232,223,61,216,233,223,61,216,230,223,61,216,234,223,61,216,235,223,27,43,28,43,252,37,251,37,254,37,253,37,170,37,171,37,61,216,54,221,61,216,55,221,61,216,56,221,61,216,57,221,61,216,58,221,61,216,59,221,61,216,160,220,61,216,24,221,61,216,51,221,61,216,50,221,60,0,42,0,60,216,193,223,61,216,169,222,60,216,140,223,60,216,244,223,60,216,243,223,60,0,32,0,60,216,243,223,13,32,60,216,8,223,32,0,61,0,32,0,60,216,243,223,15,254,13,32,60,216,8,223,60,0,32,0,60,216,243,223,13,32,167,38,32,0,61,0,32,0,60,216,243,223,15,254,13,32,167,38,60,0,32,0,60,216,244,223,13,32,32,38,60,0,42,0,60,216,230,221,60,216,231,221,60,216,232,221,60,216,233,221,60,216,234,221,60,216,235,221,60,216,236,221,60,216,237,221,60,216,238,221,60,216,239,221,60,216,240,221,60,216,241,221,60,216,242,221,60,216,243,221,60,216,244,221,60,216,245,221,60,216,246,221,60,216,247,221,60,216,248,221,60,216,249,221,60,216,250,221,60,216,251,221,60,216,252,221,60,216,253,221,60,216,254,221,60,216,255,221,60,0,32,0,60,216,244,223,64,219,103,220,64,219,98,220,64,219,101,220,64,219,110,220,64,219,103,220,64,219,127,220,60,0,32,0,60,216,244,223,64,219,103,220,64,219,98,220,64,219,115,220,64,219,99,220,64,219,116,220,64,219,127,220,60,0,32,0,60,216,244,223,64,219,103,220,64,219,98,220,64,219,119,220,64,219,108,220,64,219,115,220,64,219,127,220,38,0,32,0,62,216,209,221,32,0,60,0,60,0,32,0,61,216,113,220,38,0,32,0,61,216,104,220,32,0,60,0,60,0,32,0,62,216,212,221,32,0,60,0,60,0,62,216,212,221,13,32,66,38,32,0,60,0,60,0,62,216,212,221,60,216,251,223,13,32,66,38,32,0,60,0,60,0,62,216,212,221,60,216,252,223,13,32,66,38,32,0,60,0,60,0,62,216,212,221,60,216,253,223,13,32,66,38,32,0,60,0,60,0,62,216,212,221,60,216,254,223,13,32,66,38,32,0,60,0,60,0,62,216,212,221,60,216,255,223,13,32,66,38,32,0,60,0,60,0,61,216,113,220,13,32,66,38,32,0,60,0,60,0,61,216,113,220,60,216,251,223,13,32,66,38,32,0,60,0,60,0,61,216,113,220,60,216,252,223,13,32,66,38,32,0,60,0,60,0,61,216,113,220,60,216,253,223,13,32,66,38,32,0,60,0,60,0,61,216,113,220,60,216,254,223,13,32,66,38,32,0,60,0,60,0,61,216,113,220,60,216,255,223,13,32,66,38,38,0,32,0,61,216,105,220,32,0,60,0,60,0,32,0,62,216,212,221,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,62,216,212,221,60,216,255,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,251,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,252,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,253,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,254,223,13,32,64,38,32,0,60,0,60,0,32,0,61,216,113,220,60,216,255,223,13,32,64,38,0,0,240,223,200,153,38,0,91,0,108,0,97,0,115,0,116,0,32,0,116,0,101,0,114,0,116,0,105,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,61,0,39,0,1,0,39,0,61,0,39,0,2,0,39,0,61,0,39,0,3,0,39,0,61,0,39,0,4,0,39,0,61,0,39,0,5,0,39,0,61,0,39,0,6,0,39,0,61,0,39,0,7,0,39,0,61,0,39,0,8,0,39,0,61,0,39,0,14,0,39,0,61,0,39,0,15,0,39,0,61,0,39,0,16,0,39,0,61,0,39,0,17,0,39,0,61,0,39,0,18,0,39,0,61,0,39,0,19,0,39,0,61,0,39,0,20,0,39,0,61,0,39,0,21,0,39,0,61,0,39,0,22,0,39,0,61,0,39,0,23,0,39,0,61,0,39,0,24,0,39,0,61,0,39,0,25,0,39,0,61,0,39,0,26,0,39,0,61,0,39,0,27,0,39,0,61,0,39,0,28,0,39,0,61,0,39,0,29,0,39,0,61,0,39,0,30,0,39,0,61,0,39,0,31,0,39,0,61,0,39,0,127,0,39,0,61,0,39,0,128,0,39,0,61,0,39,0,129,0,39,0,61,0,39,0,130,0,39,0,61,0,39,0,131,0,39,0,61,0,39,0,132,0,39,0,61,0,39,0,134,0,39,0,61,0,39,0,135,0,39,0,61,0,39,0,136,0,39,0,61,0,39,0,137,0,39,0,61,0,39,0,138,0,39,0,61,0,39,0,139,0,39,0,61,0,39,0,140,0,39,0,61,0,39,0,141,0,39,0,61,0,39,0,142,0,39,0,61,0,39,0,143,0,39,0,61,0,39,0,144,0,39,0,61,0,39,0,145,0,39,0,61,0,39,0,146,0,39,0,61,0,39,0,147,0,39,0,61,0,39,0,148,0,39,0,61,0,39,0,149,0,39,0,61,0,39,0,150,0,39,0,61,0,39,0,151,0,39,0,61,0,39,0,152,0,39,0,61,0,39,0,153,0,39,0,61,0,39,0,154,0,39,0,61,0,39,0,155,0,39,0,61,0,39,0,156,0,39,0,61,0,39,0,157,0,39,0,61,0,39,0,158,0,39,0,61,0,39,0,159,0,39,0,61,0,39,0,173,0,39,0,61,0,79,3,61,0,136,4,61,0,137,4,61,0,145,5,61,0,146,5,61,0,147,5,61,0,148,5,61,0,149,5,61,0,150,5,61,0,151,5,61,0,152,5,61,0,153,5,61,0,154,5,61,0,155,5,61,0,156,5,61,0,157,5,61,0,158,5,61,0,159,5,61,0,160,5,61,0,161,5,61,0,162,5,61,0,163,5,61,0,164,5,61,0,165,5,61,0,166,5,61,0,167,5,61,0,168,5,61,0,169,5,61,0,170,5,61,0,171,5,61,0,172,5,61,0,173,5,61,0,174,5,61,0,175,5,61,0,189,5,61,0,196,5,61,0,197,5,61,0,39,0,0,6,39,0,61,0,39,0,1,6,39,0,61,0,39,0,2,6,39,0,61,0,39,0,3,6,39,0,61,0,39,0,4,6,39,0,61,0,39,0,5,6,39,0,61,0,16,6,61,0,17,6,61,0,18,6,61,0,19,6,61,0,20,6,61,0,21,6,61,0,22,6,61,0,23,6,61,0,24,6,61,0,25,6,61,0,26,6,61,0,39,0,28,6,39,0,61,0,14,32,64,6,14,32,61,0,214,6,61,0,215,6,61,0,216,6,61,0,217,6,61,0,218,6,61,0,219,6,61,0,220,6,61,0,39,0,221,6,39,0,61,0,223,6,61,0,224,6,61,0,225,6,61,0,226,6,61,0,227,6,61,0,228,6,61,0,231,6,61,0,232,6,61,0,234,6,61,0,235,6,61,0,236,6,61,0,237,6,61,0,39,0,15,7,39,0,61,0,64,7,61,0,67,7,61,0,68,7,61,0,71,7,61,0,72,7,61,0,73,7,61,0,74,7,61,0,14,32,250,7,14,32,61,0,39,0,144,8,39,0,61,0,39,0,145,8,39,0,61,0,152,8,61,0,153,8,61,0,154,8,61,0,155,8,61,0,156,8,61,0,157,8,61,0,202,8,61,0,203,8,61,0,204,8,61,0,205,8,61,0,206,8,61,0,207,8,61,0,208,8,61,0,209,8,61,0,210,8,61,0,211,8,61,0,212,8,61,0,213,8,61,0,214,8,61,0,215,8,61,0,216,8,61,0,217,8,61,0,218,8,61,0,219,8,61,0,220,8,61,0,221,8,61,0,222,8,61,0,223,8,61,0,224,8,61,0,225,8,61,0,39,0,226,8,39,0,61,0,234,8,61,0,235,8,61,0,236,8,61,0,237,8,61,0,238,8,61,0,239,8,61,0,243,8,61,0,81,9,61,0,82,9,61,0,24,15,61,0,25,15,61,0,53,15,61,0,55,15,61,0,62,15,61,0,63,15,61,0,134,15,61,0,135,15,61,0,198,15,61,0,180,23,61,0,181,23,61,0,211,23,61,0,10,24,61,0,11,24,61,0,12,24,61,0,13,24,61,0,39,0,14,24,39,0,61,0,15,24,61,0,127,26,61,0,107,27,61,0,108,27,61,0,109,27,61,0,110,27,61,0,111,27,61,0,112,27,61,0,113,27,61,0,114,27,61,0,115,27,61,0,208,28,61,0,209,28,61,0,210,28,61,0,211,28,61,0,212,28,61,0,213,28,61,0,214,28,61,0,215,28,61,0,216,28,61,0,217,28,61,0,218,28,61,0,219,28,61,0,220,28,61,0,221,28,61,0,222,28,61,0,223,28,61,0,224,28,61,0,225,28,61,0,226,28,61,0,227,28,61,0,228,28,61,0,229,28,61,0,230,28,61,0,231,28,61,0,232,28,61,0,244,28,61,0,247,28,61,0,248,28,61,0,249,28,61,0,39,0,11,32,39,0,61,0,39,0,12,32,39,0,61,0,39,0,13,32,39,0,61,0,39,0,14,32,39,0,61,0,39,0,15,32,39,0,61,0,39,0,42,32,39,0,61,0,39,0,43,32,39,0,61,0,39,0,44,32,39,0,61,0,39,0,45,32,39,0,61,0,39,0,46,32,39,0,61,0,39,0,96,32,39,0,61,0,39,0,97,32,39,0,61,0,39,0,98,32,39,0,61,0,39,0,99,32,39,0,61,0,39,0,100,32,39,0,61,0,39,0,102,32,39,0,61,0,39,0,103,32,39,0,61,0,39,0,104,32,39,0,61,0,39,0,105,32,39,0,61,0,39,0,106,32,39,0,61,0,39,0,107,32,39,0,61,0,39,0,108,32,39,0,61,0,39,0,109,32,39,0,61,0,39,0,110,32,39,0,61,0,39,0,111,32,39,0,61,0,127,45,61,0,112,166,61,0,113,166,61,0,114,166,61,0,224,168,61,0,225,168,61,0,226,168,61,0,227,168,61,0,228,168,61,0,229,168,61,0,230,168,61,0,231,168,61,0,232,168,61,0,233,168,61,0,234,168,61,0,235,168,61,0,236,168,61,0,237,168,61,0,238,168,61,0,239,168,61,0,240,168,61,0,241,168,61,0,0,254,61,0,1,254,61,0,2,254,61,0,3,254,61,0,4,254,61,0,5,254,61,0,6,254,61,0,7,254,61,0,8,254,61,0,9,254,61,0,10,254,61,0,11,254,61,0,12,254,61,0,13,254,61,0,14,254,61,0,15,254,61,0,33,254,61,0,35,254,61,0,36,254,61,0,37,254,61,0,38,254,61,0,40,254,61,0,42,254,61,0,43,254,61,0,44,254,61,0,45,254,61,0,47,254,61,0,14,32,115,254,14,32,61,0,39,0,255,254,39,0,61,0,39,0,249,255,39,0,61,0,39,0,250,255,39,0,61,0,39,0,251,255,39,0,61,0,0,216,224,222,61,0,3,216,253,222,61,0,3,216,254,222,61,0,3,216,255,222,61,0,39,0,4,216,189,220,39,0,61,0,39,0,4,216,205,220,39,0,61,0,4,216,102,223,61,0,4,216,103,223,61,0,4,216,104,223,61,0,4,216,105,223,61,0,4,216,106,223,61,0,4,216,107,223,61,0,4,216,108,223,61,0,4,216,112,223,61,0,4,216,113,223,61,0,4,216,114,223,61,0,4,216,115,223,61,0,4,216,116,223,61,0,39,0,13,216,48,220,39,0,61,0,39,0,13,216,49,220,39,0,61,0,39,0,13,216,50,220,39,0,61,0,39,0,13,216,51,220,39,0,61,0,39,0,13,216,52,220,39,0,61,0,39,0,13,216,53,220,39,0,61,0,39,0,13,216,54,220,39,0,61,0,39,0,13,216,55,220,39,0,61,0,39,0,13,216,56,220,39,0,61,0,39,0,13,216,57,220,39,0,61,0,39,0,13,216,58,220,39,0,61,0,39,0,13,216,59,220,39,0,61,0,39,0,13,216,60,220,39,0,61,0,39,0,13,216,61,220,39,0,61,0,39,0,13,216,62,220,39,0,61,0,39,0,13,216,63,220,39,0,61,0,13,216,64,220,61,0,13,216,71,220,61,0,13,216,72,220,61,0,13,216,73,220,61,0,13,216,74,220,61,0,13,216,75,220,61,0,13,216,76,220,61,0,13,216,77,220,61,0,13,216,78,220,61,0,13,216,79,220,61,0,13,216,80,220,61,0,13,216,81,220,61,0,13,216,82,220,61,0,13,216,83,220,61,0,13,216,84,220,61,0,13,216,85,220,61,0,27,216,228,223,61,0,39,0,47,216,160,220,39,0,61,0,39,0,47,216,161,220,39,0,61,0,39,0,47,216,162,220,39,0,61,0,39,0,47,216,163,220,39,0,61,0,51,216,0,223,61,0,51,216,1,223,61,0,51,216,2,223,61,0,51,216,3,223,61,0,51,216,4,223,61,0,51,216,5,223,61,0,51,216,6,223,61,0,51,216,7,223,61,0,51,216,8,223,61,0,51,216,9,223,61,0,51,216,10,223,61,0,51,216,11,223,61,0,51,216,12,223,61,0,51,216,13,223,61,0,51,216,14,223,61,0,51,216,15,223,61,0,51,216,16,223,61,0,51,216,17,223,61,0,51,216,18,223,61,0,51,216,19,223,61,0,51,216,20,223,61,0,51,216,21,223,61,0,51,216,22,223,61,0,51,216,23,223,61,0,51,216,24,223,61,0,51,216,25,223,61,0,51,216,26,223,61,0,51,216,27,223,61,0,51,216,28,223,61,0,51,216,29,223,61,0,51,216,30,223,61,0,51,216,31,223,61,0,51,216,32,223,61,0,51,216,33,223,61,0,51,216,34,223,61,0,51,216,35,223,61,0,51,216,36,223,61,0,51,216,37,223,61,0,51,216,38,223,61,0,51,216,39,223,61,0,51,216,40,223,61,0,51,216,41,223,61,0,51,216,42,223,61,0,51,216,43,223,61,0,51,216,44,223,61,0,51,216,45,223,61,0,51,216,48,223,61,0,51,216,49,223,61,0,51,216,50,223,61,0,51,216,51,223,61,0,51,216,52,223,61,0,51,216,53,223,61,0,51,216,54,223,61,0,51,216,55,223,61,0,51,216,56,223,61,0,51,216,57,223,61,0,51,216,58,223,61,0,51,216,59,223,61,0,51,216,60,223,61,0,51,216,61,223,61,0,51,216,62,223,61,0,51,216,63,223,61,0,51,216,64,223,61,0,51,216,65,223,61,0,51,216,66,223,61,0,51,216,67,223,61,0,51,216,68,223,61,0,51,216,69,223,61,0,51,216,70,223,61,0,52,216,101,221,61,0,52,216,102,221,61,0,52,216,103,221,61,0,52,216,104,221,61,0,52,216,105,221,61,0,52,216,109,221,61,0,52,216,110,221,61,0,52,216,111,221,61,0,52,216,112,221,61,0,52,216,113,221,61,0,52,216,114,221,61,0,39,0,52,216,115,221,39,0,61,0,39,0,52,216,116,221,39,0,61,0,39,0,52,216,117,221,39,0,61,0,39,0,52,216,118,221,39,0,61,0,39,0,52,216,119,221,39,0,61,0,39,0,52,216,120,221,39,0,61,0,39,0,52,216,121,221,39,0,61,0,39,0,52,216,122,221,39,0,61,0,52,216,123,221,61,0,52,216,124,221,61,0,52,216,125,221,61,0,52,216,126,221,61,0,52,216,127,221,61,0,52,216,128,221,61,0,52,216,129,221,61,0,52,216,130,221,61,0,52,216,133,221,61,0,52,216,134,221,61,0,52,216,135,221,61,0,52,216,136,221,61,0,52,216,137,221,61,0,52,216,138,221,61,0,52,216,139,221,61,0,52,216,170,221,61,0,52,216,171,221,61,0,52,216,172,221,61,0,52,216,173,221,61,0,52,216,66,222,61,0,52,216,67,222,61,0,52,216,68,222,61,0,54,216,0,222,61,0,54,216,1,222,61,0,54,216,2,222,61,0,54,216,3,222,61,0,54,216,4,222,61,0,54,216,5,222,61,0,54,216,6,222,61,0,54,216,7,222,61,0,54,216,8,222,61,0,54,216,9,222,61,0,54,216,10,222,61,0,54,216,11,222,61,0,54,216,12,222,61,0,54,216,13,222,61,0,54,216,14,222,61,0,54,216,15,222,61,0,54,216,16,222,61,0,54,216,17,222,61,0,54,216,18,222,61,0,54,216,19,222,61,0,54,216,20,222,61,0,54,216,21,222,61,0,54,216,22,222,61,0,54,216,23,222,61,0,54,216,24,222,61,0,54,216,25,222,61,0,54,216,26,222,61,0,54,216,27,222,61,0,54,216,28,222,61,0,54,216,29,222,61,0,54,216,30,222,61,0,54,216,31,222,61,0,54,216,32,222,61,0,54,216,33,222,61,0,54,216,34,222,61,0,54,216,35,222,61,0,54,216,36,222,61,0,54,216,37,222,61,0,54,216,38,222,61,0,54,216,39,222,61,0,54,216,40,222,61,0,54,216,41,222,61,0,54,216,42,222,61,0,54,216,43,222,61,0,54,216,44,222,61,0,54,216,45,222,61,0,54,216,46,222,61,0,54,216,47,222,61,0,54,216,48,222,61,0,54,216,49,222,61,0,54,216,50,222,61,0,54,216,51,222,61,0,54,216,52,222,61,0,54,216,53,222,61,0,54,216,54,222,61,0,54,216,59,222,61,0,54,216,60,222,61,0,54,216,61,222,61,0,54,216,62,222,61,0,54,216,63,222,61,0,54,216,64,222,61,0,54,216,65,222,61,0,54,216,66,222,61,0,54,216,67,222,61,0,54,216,68,222,61,0,54,216,69,222,61,0,54,216,70,222,61,0,54,216,71,222,61,0,54,216,72,222,61,0,54,216,73,222,61,0,54,216,74,222,61,0,54,216,75,222,61,0,54,216,76,222,61,0,54,216,77,222,61,0,54,216,78,222,61,0,54,216,79,222,61,0,54,216,80,222,61,0,54,216,81,222,61,0,54,216,82,222,61,0,54,216,83,222,61,0,54,216,84,222,61,0,54,216,85,222,61,0,54,216,86,222,61,0,54,216,87,222,61,0,54,216,88,222,61,0,54,216,89,222,61,0,54,216,90,222,61,0,54,216,91,222,61,0,54,216,92,222,61,0,54,216,93,222,61,0,54,216,94,222,61,0,54,216,95,222,61,0,54,216,96,222,61,0,54,216,97,222,61,0,54,216,98,222,61,0,54,216,99,222,61,0,54,216,100,222,61,0,54,216,101,222,61,0,54,216,102,222,61,0,54,216,103,222,61,0,54,216,104,222,61,0,54,216,105,222,61,0,54,216,106,222,61,0,54,216,107,222,61,0,54,216,108,222,61,0,54,216,117,222,61,0,54,216,132,222,61,0,54,216,155,222,61,0,54,216,156,222,61,0,54,216,157,222,61,0,54,216,158,222,61,0,54,216,159,222,61,0,54,216,161,222,61,0,54,216,162,222,61,0,54,216,163,222,61,0,54,216,164,222,61,0,54,216,165,222,61,0,54,216,166,222,61,0,54,216,167,222,61,0,54,216,168,222,61,0,54,216,169,222,61,0,54,216,170,222,61,0,54,216,171,222,61,0,54,216,172,222,61,0,54,216,173,222,61,0,54,216,174,222,61,0,54,216,175,222,61,0,58,216,208,220,61,0,58,216,209,220,61,0,58,216,210,220,61,0,58,216,211,220,61,0,58,216,212,220,61,0,58,216,213,220,61,0,58,216,214,220,61,0,39,0,64,219,1,220,39,0,61,0,39,0,64,219,32,220,39,0,61,0,39,0,64,219,33,220,39,0,61,0,39,0,64,219,34,220,39,0,61,0,39,0,64,219,35,220,39,0,61,0,39,0,64,219,36,220,39,0,61,0,39,0,64,219,37,220,39,0,61,0,39,0,64,219,38,220,39,0,61,0,39,0,64,219,39,220,39,0,61,0,39,0,64,219,40,220,39,0,61,0,39,0,64,219,41,220,39,0,61,0,39,0,64,219,42,220,39,0,61,0,39,0,64,219,43,220,39,0,61,0,39,0,64,219,44,220,39,0,61,0,39,0,64,219,45,220,39,0,61,0,39,0,64,219,46,220,39,0,61,0,39,0,64,219,47,220,39,0,61,0,39,0,64,219,48,220,39,0,61,0,39,0,64,219,49,220,39,0,61,0,39,0,64,219,50,220,39,0,61,0,39,0,64,219,51,220,39,0,61,0,39,0,64,219,52,220,39,0,61,0,39,0,64,219,53,220,39,0,61,0,39,0,64,219,54,220,39,0,61,0,39,0,64,219,55,220,39,0,61,0,39,0,64,219,56,220,39,0,61,0,39,0,64,219,57,220,39,0,61,0,39,0,64,219,58,220,39,0,61,0,39,0,64,219,59,220,39,0,61,0,39,0,64,219,60,220,39,0,61,0,39,0,64,219,61,220,39,0,61,0,39,0,64,219,62,220,39,0,61,0,39,0,64,219,63,220,39,0,61,0,39,0,64,219,64,220,39,0,61,0,39,0,64,219,65,220,39,0,61,0,39,0,64,219,66,220,39,0,61,0,39,0,64,219,67,220,39,0,61,0,39,0,64,219,68,220,39,0,61,0,39,0,64,219,69,220,39,0,61,0,39,0,64,219,70,220,39,0,61,0,39,0,64,219,71,220,39,0,61,0,39,0,64,219,72,220,39,0,61,0,39,0,64,219,73,220,39,0,61,0,39,0,64,219,74,220,39,0,61,0,39,0,64,219,75,220,39,0,61,0,39,0,64,219,76,220,39,0,61,0,39,0,64,219,77,220,39,0,61,0,39,0,64,219,78,220,39,0,61,0,39,0,64,219,79,220,39,0,61,0,39,0,64,219,80,220,39,0,61,0,39,0,64,219,81,220,39,0,61,0,39,0,64,219,82,220,39,0,61,0,39,0,64,219,83,220,39,0,61,0,39,0,64,219,84,220,39,0,61,0,39,0,64,219,85,220,39,0,61,0,39,0,64,219,86,220,39,0,61,0,39,0,64,219,87,220,39,0,61,0,39,0,64,219,88,220,39,0,61,0,39,0,64,219,89,220,39,0,61,0,39,0,64,219,90,220,39,0,61,0,39,0,64,219,91,220,39,0,61,0,39,0,64,219,92,220,39,0,61,0,39,0,64,219,93,220,39,0,61,0,39,0,64,219,94,220,39,0,61,0,39,0,64,219,95,220,39,0,61,0,39,0,64,219,96,220,39,0,61,0,39,0,64,219,97,220,39,0,61,0,39,0,64,219,98,220,39,0,61,0,39,0,64,219,99,220,39,0,61,0,39,0,64,219,100,220,39,0,61,0,39,0,64,219,101,220,39,0,61,0,39,0,64,219,102,220,39,0,61,0,39,0,64,219,103,220,39,0,61,0,39,0,64,219,104,220,39,0,61,0,39,0,64,219,105,220,39,0,61,0,39,0,64,219,106,220,39,0,61,0,39,0,64,219,107,220,39,0,61,0,39,0,64,219,108,220,39,0,61,0,39,0,64,219,109,220,39,0,61,0,39,0,64,219,110,220,39,0,61,0,39,0,64,219,111,220,39,0,61,0,39,0,64,219,112,220,39,0,61,0,39,0,64,219,113,220,39,0,61,0,39,0,64,219,114,220,39,0,61,0,39,0,64,219,115,220,39,0,61,0,39,0,64,219,116,220,39,0,61,0,39,0,64,219,117,220,39,0,61,0,39,0,64,219,118,220,39,0,61,0,39,0,64,219,119,220,39,0,61,0,39,0,64,219,120,220,39,0,61,0,39,0,64,219,121,220,39,0,61,0,39,0,64,219,122,220,39,0,61,0,39,0,64,219,123,220,39,0,61,0,39,0,64,219,124,220,39,0,61,0,39,0,64,219,125,220,39,0,61,0,39,0,64,219,126,220,39,0,61,0,39,0,64,219,127,220,39,0,61,0,64,219,0,221,61,0,64,219,1,221,61,0,64,219,2,221,61,0,64,219,3,221,61,0,64,219,4,221,61,0,64,219,5,221,61,0,64,219,6,221,61,0,64,219,7,221,61,0,64,219,8,221,61,0,64,219,9,221,61,0,64,219,10,221,61,0,64,219,11,221,61,0,64,219,12,221,61,0,64,219,13,221,61,0,64,219,14,221,61,0,64,219,15,221,61,0,64,219,16,221,61,0,64,219,17,221,61,0,64,219,18,221,61,0,64,219,19,221,61,0,64,219,20,221,61,0,64,219,21,221,61,0,64,219,22,221,61,0,64,219,23,221,61,0,64,219,24,221,61,0,64,219,25,221,61,0,64,219,26,221,61,0,64,219,27,221,61,0,64,219,28,221,61,0,64,219,29,221,61,0,64,219,30,221,61,0,64,219,31,221,61,0,64,219,32,221,61,0,64,219,33,221,61,0,64,219,34,221,61,0,64,219,35,221,61,0,64,219,36,221,61,0,64,219,37,221,61,0,64,219,38,221,61,0,64,219,39,221,61,0,64,219,40,221,61,0,64,219,41,221,61,0,64,219,42,221,61,0,64,219,43,221,61,0,64,219,44,221,61,0,64,219,45,221,61,0,64,219,46,221,61,0,64,219,47,221,61,0,64,219,48,221,61,0,64,219,49,221,61,0,64,219,50,221,61,0,64,219,51,221,61,0,64,219,52,221,61,0,64,219,53,221,61,0,64,219,54,221,61,0,64,219,55,221,61,0,64,219,56,221,61,0,64,219,57,221,61,0,64,219,58,221,61,0,64,219,59,221,61,0,64,219,60,221,61,0,64,219,61,221,61,0,64,219,62,221,61,0,64,219,63,221,61,0,64,219,64,221,61,0,64,219,65,221,61,0,64,219,66,221,61,0,64,219,67,221,61,0,64,219,68,221,61,0,64,219,69,221,61,0,64,219,70,221,61,0,64,219,71,221,61,0,64,219,72,221,61,0,64,219,73,221,61,0,64,219,74,221,61,0,64,219,75,221,61,0,64,219,76,221,61,0,64,219,77,221,61,0,64,219,78,221,61,0,64,219,79,221,61,0,64,219,80,221,61,0,64,219,81,221,61,0,64,219,82,221,61,0,64,219,83,221,61,0,64,219,84,221,61,0,64,219,85,221,61,0,64,219,86,221,61,0,64,219,87,221,61,0,64,219,88,221,61,0,64,219,89,221,61,0,64,219,90,221,61,0,64,219,91,221,61,0,64,219,92,221,61,0,64,219,93,221,61,0,64,219,94,221,61,0,64,219,95,221,61,0,64,219,96,221,61,0,64,219,97,221,61,0,64,219,98,221,61,0,64,219,99,221,61,0,64,219,100,221,61,0,64,219,101,221,61,0,64,219,102,221,61,0,64,219,103,221,61,0,64,219,104,221,61,0,64,219,105,221,61,0,64,219,106,221,61,0,64,219,107,221,61,0,64,219,108,221,61,0,64,219,109,221,61,0,64,219,110,221,61,0,64,219,111,221,61,0,64,219,112,221,61,0,64,219,113,221,61,0,64,219,114,221,61,0,64,219,115,221,61,0,64,219,116,221,61,0,64,219,117,221,61,0,64,219,118,221,61,0,64,219,119,221,61,0,64,219,120,221,61,0,64,219,121,221,61,0,64,219,122,221,61,0,64,219,123,221,61,0,64,219,124,221,61,0,64,219,125,221,61,0,64,219,126,221,61,0,64,219,127,221,61,0,64,219,128,221,61,0,64,219,129,221,61,0,64,219,130,221,61,0,64,219,131,221,61,0,64,219,132,221,61,0,64,219,133,221,61,0,64,219,134,221,61,0,64,219,135,221,61,0,64,219,136,221,61,0,64,219,137,221,61,0,64,219,138,221,61,0,64,219,139,221,61,0,64,219,140,221,61,0,64,219,141,221,61,0,64,219,142,221,61,0,64,219,143,221,61,0,64,219,144,221,61,0,64,219,145,221,61,0,64,219,146,221,61,0,64,219,147,221,61,0,64,219,148,221,61,0,64,219,149,221,61,0,64,219,150,221,61,0,64,219,151,221,61,0,64,219,152,221,61,0,64,219,153,221,61,0,64,219,154,221,61,0,64,219,155,221,61,0,64,219,156,221,61,0,64,219,157,221,61,0,64,219,158,221,61,0,64,219,159,221,61,0,64,219,160,221,61,0,64,219,161,221,61,0,64,219,162,221,61,0,64,219,163,221,61,0,64,219,164,221,61,0,64,219,165,221,61,0,64,219,166,221,61,0,64,219,167,221,61,0,64,219,168,221,61,0,64,219,169,221,61,0,64,219,170,221,61,0,64,219,171,221,61,0,64,219,172,221,61,0,64,219,173,221,61,0,64,219,174,221,61,0,64,219,175,221,61,0,64,219,176,221,61,0,64,219,177,221,61,0,64,219,178,221,61,0,64,219,179,221,61,0,64,219,180,221,61,0,64,219,181,221,61,0,64,219,182,221,61,0,64,219,183,221,61,0,64,219,184,221,61,0,64,219,185,221,61,0,64,219,186,221,61,0,64,219,187,221,61,0,64,219,188,221,61,0,64,219,189,221,61,0,64,219,190,221,61,0,64,219,191,221,61,0,64,219,192,221,61,0,64,219,193,221,61,0,64,219,194,221,61,0,64,219,195,221,61,0,64,219,196,221,61,0,64,219,197,221,61,0,64,219,198,221,61,0,64,219,199,221,61,0,64,219,200,221,61,0,64,219,201,221,61,0,64,219,202,221,61,0,64,219,203,221,61,0,64,219,204,221,61,0,64,219,205,221,61,0,64,219,206,221,61,0,64,219,207,221,61,0,64,219,208,221,61,0,64,219,209,221,61,0,64,219,210,221,61,0,64,219,211,221,61,0,64,219,212,221,61,0,64,219,213,221,61,0,64,219,214,221,61,0,64,219,215,221,61,0,64,219,216,221,61,0,64,219,217,221,61,0,64,219,218,221,61,0,64,219,219,221,61,0,64,219,220,221,61,0,64,219,221,221,61,0,64,219,222,221,61,0,64,219,223,221,61,0,64,219,224,221,61,0,64,219,225,221,61,0,64,219,226,221,61,0,64,219,227,221,61,0,64,219,228,221,61,0,64,219,229,221,61,0,64,219,230,221,61,0,64,219,231,221,61,0,64,219,232,221,61,0,64,219,233,221,61,0,64,219,234,221,61,0,64,219,235,221,61,0,64,219,236,221,61,0,64,219,237,221,61,0,64,219,238,221,61,0,64,219,239,221,38,0,91,0,108,0,97,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,50,3,60,0,60,0,19,3,61,0,134,4,61,0,241,44,60,0,60,0,20,3,61,0,133,4,61,0,240,44,60,0,60,0,1,3,61,0,84,9,60,0,60,0,0,3,61,0,83,9,60,0,60,0,6,3,60,0,60,0,2,3,60,0,60,0,12,3,60,0,60,0,10,3,60,0,60,0,66,3,60,0,60,0,8,3,60,0,60,0,11,3,60,0,60,0,3,3,60,0,60,0,7,3,60,0,60,0,56,3,60,0,60,0,39,3,60,0,60,0,40,3,60,0,60,0,4,3,60,0,60,0,13,3,61,0,14,3,61,0,18,3,61,0,21,3,61,0,26,3,61,0,61,3,61,0,62,3,61,0,63,3,61,0,70,3,61,0,74,3,61,0,75,3,61,0,76,3,61,0,80,3,61,0,81,3,61,0,82,3,61,0,87,3,61,0,91,3,61,0,93,3,61,0,94,3,61,0,132,4,61,0,135,4,61,0,65,7,61,0,69,7,61,0,85,11,61,0,203,23,61,0,204,23,61,0,205,23,61,0,206,23,61,0,207,23,61,0,208,23,61,0,209,23,61,0,221,23,61,0,176,26,61,0,177,26,61,0,178,26,61,0,179,26,61,0,180,26,61,0,187,26,61,0,188,26,61,0,193,26,61,0,194,26,61,0,197,26,61,0,198,26,61,0,199,26,61,0,200,26,61,0,201,26,61,0,203,26,61,0,192,29,61,0,193,29,61,0,195,29,61,0,196,29,61,0,197,29,61,0,198,29,61,0,199,29,61,0,200,29,61,0,201,29,61,0,203,29,61,0,204,29,61,0,205,29,61,0,206,29,61,0,209,29,61,0,245,29,61,0,246,29,61,0,247,29,61,0,248,29,61,0,251,29,61,0,254,29,61,0,240,32,61,0,239,44,61,0,124,166,61,0,125,166,61,0,2,216,229,222,61,0,3,216,36,221,61,0,3,216,37,221,61,0,3,216,38,221,61,0,3,216,39,221,61,0,3,216,72,223,61,0,3,216,73,223,61,0,3,216,74,223,61,0,3,216,76,223,61,0,3,216,130,223,61,0,3,216,132,223,61,0,47,216,157,220,61,0,56,216,174,222,60,0,60,0,22,3,61,0,23,3,61,0,24,3,61,0,25,3,61,0,28,3,61,0,29,3,61,0,30,3,61,0,31,3,61,0,32,3,61,0,41,3,61,0,42,3,61,0,43,3,61,0,44,3,61,0,47,3,61,0,51,3,61,0,58,3,61,0,59,3,61,0,60,3,61,0,71,3,61,0,72,3,61,0,73,3,61,0,77,3,61,0,78,3,61,0,83,3,61,0,84,3,61,0,85,3,61,0,86,3,61,0,89,3,61,0,90,3,61,0,92,3,61,0,95,3,61,0,98,3,61,0,66,7,61,0,70,7,61,0,253,7,61,0,89,8,61,0,90,8,61,0,91,8,61,0,181,26,61,0,182,26,61,0,183,26,61,0,184,26,61,0,185,26,61,0,186,26,61,0,189,26,61,0,195,26,61,0,196,26,61,0,202,26,61,0,194,29,61,0,207,29,61,0,208,29,61,0,249,29,61,0,250,29,61,0,252,29,61,0,253,29,61,0,255,29,61,0,236,32,61,0,237,32,61,0,238,32,61,0,239,32,61,0,39,254,61,0,0,216,253,221,61,0,2,216,13,222,61,0,2,216,230,222,61,0,3,216,70,223,61,0,3,216,71,223,61,0,3,216,75,223,61,0,3,216,77,223,61,0,3,216,78,223,61,0,3,216,79,223,61,0,3,216,80,223,61,0,3,216,131,223,61,0,3,216,133,223,60,0,60,0,54,3,61,0,55,3,61,0,216,32,61,0,217,32,61,0,218,32,61,0,229,32,61,0,234,32,61,0,235,32,61,0,47,216,158,220,60,0,60,0,190,26,61,0,221,32,61,0,222,32,61,0,223,32,61,0,224,32,61,0,226,32,61,0,227,32,61,0,228,32,60,0,60,0,153,48,60,0,60,0,60,0,158,255,60,0,60,0,154,48,60,0,60,0,60,0,159,255,60,0,60,0,53,3,60,0,60,0,5,3,60,0,60,0,9,3,60,0,60,0,15,3,60,0,60,0,16,3,60,0,60,0,17,3,60,0,60,0,27,3,60,0,60,0,33,3,60,0,60,0,34,3,60,0,60,0,35,3,60,0,60,0,36,3,60,0,60,0,37,3,60,0,60,0,38,3,60,0,60,0,45,3,60,0,60,0,46,3,60,0,60,0,48,3,60,0,60,0,49,3,60,0,60,0,52,3,60,0,60,0,57,3,60,0,60,0,69,3,60,0,60,0,88,3,60,0,60,0,96,3,61,0,34,254,61,0,41,254,60,0,60,0,97,3,61,0,32,254,60,0,60,0,131,4,61,0,46,254,60,0,60,0,111,166,60,0,60,0,176,5,60,0,60,0,177,5,60,0,60,0,178,5,60,0,60,0,179,5,60,0,60,0,180,5,60,0,60,0,181,5,60,0,60,0,182,5,60,0,60,0,183,5,60,0,60,0,184,5,61,0,199,5,60,0,60,0,185,5,61,0,186,5,60,0,60,0,187,5,60,0,60,0,194,5,60,0,60,0,193,5,60,0,60,0,188,5,60,0,60,0,191,5,60,0,60,0,30,251,60,0,60,0,28,8,61,0,29,8,60,0,60,0,30,8,61,0,31,8,61,0,32,8,60,0,60,0,33,8,61,0,34,8,61,0,35,8,60,0,60,0,14,32,36,8,14,32,61,0,37,8,60,0,60,0,38,8,61,0,39,8,60,0,60,0,14,32,40,8,14,32,61,0,41,8,61,0,42,8,60,0,60,0,43,8,60,0,60,0,44,8,60,0,60,0,24,8,60,0,60,0,25,8,60,0,60,0,45,8,60,0,60,0,75,6,60,0,60,0,60,0,14,32,113,254,14,32,60,0,60,0,60,0,14,32,112,254,14,32,60,0,60,0,240,8,60,0,60,0,231,8,60,0,60,0,76,6,60,0,60,0,60,0,14,32,114,254,14,32,60,0,60,0,60,0,14,32,94,252,14,32,47,0,4,216,55,222,60,0,60,0,241,8,60,0,60,0,232,8,60,0,60,0,77,6,60,0,60,0,60,0,14,32,116,254,14,32,60,0,60,0,60,0,14,32,95,252,14,32,47,0,4,216,55,222,60,0,60,0,242,8,60,0,60,0,233,8,60,0,60,0,78,6,60,0,60,0,60,0,14,32,119,254,14,32,60,0,60,0,60,0,14,32,242,252,14,32,47,0,4,216,55,222,60,0,60,0,60,0,14,32,118,254,14,32,60,0,60,0,60,0,14,32,96,252,14,32,47,0,4,216,55,222,60,0,60,0,228,8,60,0,60,0,244,8,60,0,60,0,245,8,60,0,60,0,79,6,60,0,60,0,60,0,14,32,121,254,14,32,60,0,60,0,60,0,14,32,243,252,14,32,47,0,4,216,55,222,60,0,60,0,60,0,14,32,120,254,14,32,60,0,60,0,60,0,14,32,97,252,14,32,47,0,4,216,55,222,60,0,60,0,229,8,60,0,60,0,254,8,60,0,60,0,80,6,60,0,60,0,60,0,14,32,123,254,14,32,60,0,60,0,60,0,14,32,244,252,14,32,47,0,4,216,55,222,60,0,60,0,60,0,14,32,122,254,14,32,60,0,60,0,60,0,14,32,98,252,14,32,47,0,4,216,55,222,60,0,60,0,230,8,60,0,60,0,246,8,60,0,60,0,81,6,61,0,251,10,61,0,4,216,55,222,60,0,60,0,60,0,14,32,125,254,14,32,60,0,60,0,60,0,14,32,124,254,14,32,60,0,60,0,60,0,14,32,99,252,14,32,47,0,112,6,60,0,60,0,82,6,61,0,250,10,61,0,4,216,62,222,60,0,60,0,60,0,14,32,127,254,14,32,60,0,60,0,60,0,14,32,126,254,14,32,60,0,60,0,83,6,61,0,158,8,61,0,159,8,61,0,252,10,61,0,3,216,172,222,60,0,60,0,84,6,61,0,3,216,171,222,60,0,60,0,85,6,60,0,60,0,95,6,60,0,60,0,86,6,60,0,60,0,87,6,60,0,60,0,88,6,60,0,60,0,255,8,60,0,60,0,89,6,60,0,60,0,90,6,60,0,60,0,91,6,60,0,60,0,92,6,60,0,60,0,93,6,60,0,60,0,94,6,60,0,60,0,227,8,60,0,60,0,247,8,60,0,60,0,248,8,60,0,60,0,253,8,60,0,60,0,251,8,60,0,60,0,252,8,60,0,60,0,249,8,60,0,60,0,250,8,60,0,60,0,112,6,60,0,60,0,17,7,60,0,60,0,48,7,60,0,60,0,49,7,60,0,60,0,50,7,60,0,60,0,51,7,60,0,60,0,52,7,60,0,60,0,53,7,60,0,60,0,54,7,60,0,60,0,55,7,60,0,60,0,56,7,60,0,60,0,57,7,60,0,60,0,58,7,60,0,60,0,59,7,60,0,60,0,60,7,60,0,60,0,61,7,60,0,60,0,62,7,60,0,60,0,63,7,60,0,60,0,235,7,60,0,60,0,236,7,60,0,60,0,237,7,60,0,60,0,238,7,60,0,60,0,239,7,60,0,60,0,240,7,60,0,60,0,241,7,60,0,60,0,242,7,60,0,60,0,243,7,60,0,60,0,95,19,60,0,60,0,94,19,60,0,60,0,93,19,60,0,60,0,240,166,60,0,60,0,241,166,60,0,60,0,26,216,240,222,60,0,60,0,26,216,241,222,60,0,60,0,26,216,242,222,60,0,60,0,26,216,243,222,60,0,60,0,26,216,244,222,60,0,60,0,58,216,68,221,61,0,58,216,69,221,61,0,58,216,70,221,60,0,60,0,58,216,74,221,60,0,60,0,58,216,71,221,60,0,60,0,58,216,72,221,60,0,60,0,58,216,73,221,60,0,60,0,60,9,61,0,188,9,61,0,60,10,61,0,188,10,61,0,253,10,61,0,254,10,61,0,255,10,61,0,60,11,61,0,60,12,61,0,188,12,61,0,52,27,61,0,230,27,61,0,55,28,61,0,179,169,61,0,4,216,186,220,61,0,4,216,115,221,61,0,4,216,202,221,61,0,4,216,54,222,61,0,4,216,233,222,61,0,4,216,59,223,61,0,4,216,60,223,61,0,5,216,70,220,61,0,5,216,195,220,61,0,5,216,192,221,61,0,5,216,183,222,61,0,6,216,58,220,61,0,6,216,67,221,61,0,6,216,51,222,61,0,7,216,66,221,60,0,60,0,0,9,61,0,1,9,61,0,129,9,61,0,1,10,61,0,129,10,61,0,1,11,61,0,0,12,61,0,1,12,61,0,129,12,61,0,1,13,61,0,129,13,61,0,130,15,61,0,131,15,61,0,0,27,61,0,1,27,61,0,197,168,61,0,128,169,61,0,4,216,0,220,61,0,4,216,128,220,61,0,4,216,0,221,61,0,4,216,128,221,61,0,4,216,207,221,61,0,4,216,1,223,61,0,5,216,67,220,61,0,5,216,191,220,61,0,5,216,188,221,61,0,5,216,64,222,61,0,6,216,60,221,61,0,6,216,53,222,61,0,6,216,54,222,61,0,6,216,55,222,61,0,7,216,60,220,61,0,7,216,182,220,61,0,7,216,67,221,61,0,7,216,0,223,60,0,60,0,2,9,61,0,130,9,61,0,2,10,61,0,130,10,61,0,2,11,61,0,130,11,61,0,2,12,61,0,4,12,61,0,130,12,61,0,243,12,61,0,0,13,61,0,2,13,61,0,130,13,61,0,126,15,61,0,54,16,61,0,198,23,61,0,116,26,61,0,2,27,61,0,128,27,61,0,237,28,61,0,11,168,61,0,128,168,61,0,129,169,61,0,2,216,14,222,61,0,4,216,1,220,61,0,4,216,129,220,61,0,4,216,1,221,61,0,4,216,129,221,61,0,4,216,52,222,61,0,4,216,223,222,61,0,4,216,0,223,61,0,4,216,2,223,61,0,5,216,68,220,61,0,5,216,192,220,61,0,5,216,189,221,61,0,5,216,61,222,61,0,5,216,171,222,61,0,6,216,55,220,61,0,6,216,59,221,61,0,6,216,222,221,61,0,6,216,56,222,61,0,6,216,150,222,61,0,7,216,61,220,61,0,7,216,181,220,61,0,7,216,64,221,61,0,7,216,149,221,61,0,7,216,1,223,60,0,60,0,3,9,61,0,131,9,61,0,3,10,61,0,131,10,61,0,3,11,61,0,3,12,61,0,131,12,61,0,3,13,61,0,131,13,61,0,127,15,61,0,56,16,61,0,199,23,61,0,4,27,61,0,130,27,61,0,242,28,61,0,243,28,61,0,129,168,61,0,131,169,61,0,2,216,15,222,61,0,4,216,2,220,61,0,4,216,130,220,61,0,4,216,2,221,61,0,4,216,130,221,61,0,4,216,3,223,61,0,5,216,69,220,61,0,5,216,193,220,61,0,5,216,190,221,61,0,5,216,62,222,61,0,5,216,172,222,61,0,6,216,56,220,61,0,6,216,223,221,61,0,6,216,57,222,61,0,6,216,151,222,61,0,7,216,62,220,61,0,7,216,65,221,61,0,7,216,150,221,61,0,7,216,3,223,60,0,60,0,254,9,61,0,4,216,201,221,61,0,5,216,94,220,60,0,60,0,112,10,60,0,60,0,113,10,60,0,60,0,3,27,60,0,60,0,130,169,60,0,60,0,129,27,60,0,60,0,236,171,60,0,60,0,2,216,56,222,60,0,60,0,2,216,57,222,60,0,60,0,2,216,58,222,60,0,60,0,4,216,203,221,60,0,60,0,4,216,204,221,60,0,60,0,6,216,152,222,60,0,60,0,78,14,60,0,60,0,71,14,60,0,60,0,72,14,60,0,60,0,73,14,60,0,60,0,74,14,60,0,60,0,75,14,60,0,60,0,76,14,60,0,60,0,77,14,60,0,60,0,206,14,60,0,60,0,200,14,60,0,60,0,201,14,60,0,60,0,202,14,60,0,60,0,203,14,60,0,60,0,204,14,60,0,60,0,205,14,60,0,60,0,191,170,60,0,60,0,193,170,60,0,60,0,57,15,60,0,60,0,43,169,60,0,60,0,44,169,60,0,60,0,45,169,60,0,60,0,55,16,60,0,60,0,200,23,60,0,60,0,201,23,60,0,60,0,202,23,60,0,60,0,117,26,60,0,60,0,118,26,60,0,60,0,119,26,60,0,60,0,120,26,60,0,60,0,121,26,60,0,60,0,122,26,60,0,60,0,123,26,60,0,60,0,124,26,60,0,60,0,57,25,60,0,60,0,58,25,60,0,60,0,59,25,60,0,60,0,26,216,48,223,61,0,56,216,49,221,60,0,60,0,26,216,49,223,61,0,56,216,54,221,60,0,60,0,26,216,50,223,61,0,56,216,50,221,60,0,60,0,26,216,51,223,61,0,56,216,51,221,60,0,60,0,26,216,52,223,61,0,56,216,48,221,60,0,60,0,26,216,53,223,61,0,56,216,52,221,60,0,60,0,26,216,54,223,61,0,56,216,53,221,60,0,60,0,56,216,236,222,60,0,60,0,56,216,237,222,60,0,60,0,56,216,238,222,60,0,60,0,56,216,239,222,60,0,60,0,57,216,236,220,60,0,60,0,57,216,237,220,60,0,60,0,57,216,238,220,60,0,60,0,57,216,239,220,60,0,60,0,42,48,60,0,60,0,43,48,60,0,60,0,44,48,60,0,60,0,45,48,60,0,60,0,46,48,60,0,60,0,47,48,60,0,60,0,27,216,240,223,60,0,60,0,27,216,241,223,60,0,60,0,208,32,60,0,60,0,209,32,60,0,60,0,210,32,61,0,211,32,60,0,60,0,212,32,60,0,60,0,213,32,60,0,60,0,214,32,60,0,60,0,215,32,60,0,60,0,219,32,60,0,60,0,220,32,60,0,60,0,225,32,60,0,60,0,230,32,60,0,60,0,231,32,60,0,60,0,232,32,60,0,60,0,233,32,60,0,60,0,0,216,253,221,38,0,39,0,47,32,39,0,60,0,39,0,9,0,39,0,60,0,39,0,10,0,39,0,60,0,39,0,11,0,39,0,60,0,39,0,12,0,39,0,60,0,39,0,13,0,39,0,60,0,39,0,133,0,39,0,60,0,39,0,40,32,39,0,60,0,39,0,41,32,39,0,60,0,39,0,32,0,39,0,60,0,60,0,60,0,39,0,0,48,39,0,60,0,60,0,60,0,39,0,128,22,39,0,61,0,39,0,2,32,39,0,61,0,39,0,3,32,39,0,61,0,39,0,4,32,39,0,61,0,39,0,5,32,39,0,61,0,39,0,6,32,39,0,61,0,39,0,8,32,39,0,61,0,39,0,9,32,39,0,61,0,39,0,10,32,39,0,61,0,39,0,95,32,39,0,60,0,60,0,60,0,39,0,160,0,39,0,61,0,39,0,7,32,39,0,61,0,39,0,47,32,39,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,118,0,97,0,114,0,105,0,97,0,98,0,108,0,101,0,93,0,60,0,62,32,60,0,60,0,60,0,73,254,61,0,74,254,61,0,75,254,61,0,76,254,60,0,39,0,95,0,39,0,60,0,60,0,60,0,63,255,60,0,60,0,60,0,77,254,61,0,78,254,61,0,79,254,60,0,60,0,60,0,51,254,61,0,52,254,60,0,23,32,60,0,39,0,45,0,39,0,60,0,60,0,60,0,13,255,60,0,60,0,60,0,99,254,60,0,138,5,60,0,0,20,60,0,96,27,60,0,6,24,60,0,7,24,60,0,16,32,60,0,60,0,60,0,17,32,60,0,18,32,60,0,19,32,60,0,60,0,60,0,50,254,60,0,20,32,60,0,60,0,60,0,88,254,60,0,60,0,60,0,49,254,60,0,21,32,60,0,58,46,60,0,59,46,60,0,83,32,60,0,67,46,60,0,23,46,60,0,64,46,60,0,93,46,60,0,28,48,60,0,48,48,60,0,160,48,60,0,251,48,60,0,60,0,60,0,101,255,60,0,14,32,3,216,173,222,14,32,60,0,39,0,44,0,39,0,60,0,60,0,60,0,12,255,60,0,60,0,60,0,80,254,60,0,60,0,60,0,16,254,60,0,52,46,60,0,50,46,60,0,65,46,60,0,76,46,60,0,78,46,60,0,79,46,60,0,93,5,60,0,12,6,60,0,14,32,13,6,14,32,60,0,107,6,60,0,108,6,60,0,248,7,60,0,2,24,60,0,8,24,60,0,254,164,60,0,13,166,60,0,245,166,60,0,27,216,151,222,60,0,1,48,60,0,60,0,60,0,81,254,60,0,60,0,60,0,100,255,60,0,60,0,60,0,17,254,60,0,69,254,60,0,70,254,60,0,27,216,226,223,60,0,39,0,59,0,39,0,60,0,60,0,60,0,27,255,60,0,60,0,60,0,84,254,60,0,60,0,60,0,20,254,60,0,14,32,27,6,14,32,60,0,79,32,60,0,53,46,60,0,246,166,60,0,73,46,60,0,39,0,58,0,39,0,60,0,60,0,60,0,26,255,60,0,60,0,60,0,116,42,47,0,39,0,58,0,61,0,39,0,60,0,60,0,60,0,85,254,60,0,60,0,60,0,19,254,60,0,137,5,60,0,14,32,30,6,14,32,60,0,14,32,3,7,14,32,60,0,14,32,4,7,14,32,60,0,14,32,5,7,14,32,60,0,14,32,6,7,14,32,60,0,14,32,7,7,14,32,60,0,14,32,8,7,14,32,60,0,14,32,48,8,14,32,60,0,14,32,49,8,14,32,60,0,14,32,50,8,14,32,60,0,14,32,51,8,14,32,60,0,14,32,52,8,14,32,60,0,14,32,53,8,14,32,60,0,14,32,54,8,14,32,60,0,14,32,55,8,14,32,60,0,14,32,56,8,14,32,60,0,14,32,57,8,14,32,60,0,14,32,58,8,14,32,60,0,14,32,59,8,14,32,60,0,14,32,60,8,14,32,60,0,14,32,61,8,14,32,60,0,14,32,62,8,14,32,60,0,97,19,60,0,99,19,60,0,100,19,60,0,101,19,60,0,102,19,60,0,4,24,60,0,5,24,60,0,20,15,60,0,214,23,60,0,93,27,60,0,199,169,60,0,235,22,60,0,236,22,60,0,237,22,60,0,244,166,60,0,39,0,33,0,39,0,60,0,60,0,60,0,1,255,60,0,60,0,60,0,60,32,47,0,39,0,33,0,39,0,60,0,60,0,60,0,73,32,47,0,39,0,63,0,39,0,60,0,60,0,60,0,87,254,60,0,60,0,60,0,21,254,60,0,161,0,60,0,83,46,60,0,92,5,60,0,249,7,60,0,68,25,60,0,14,32,58,216,94,221,14,32,60,0,39,0,63,0,39,0,60,0,60,0,60,0,31,255,60,0,60,0,60,0,72,32,47,0,39,0,33,0,39,0,60,0,60,0,60,0,71,32,47,0,39,0,63,0,39,0,60,0,60,0,60,0,86,254,60,0,60,0,60,0,22,254,60,0,191,0,60,0,46,46,60,0,84,46,60,0,94,5,60,0,14,32,31,6,14,32,60,0,14,32,9,7,14,32,60,0,103,19,60,0,69,25,60,0,250,44,60,0,251,44,60,0,15,166,60,0,247,166,60,0,241,170,60,0,4,216,67,221,60,0,14,32,58,216,95,221,14,32,60,0,61,32,60,0,24,46,60,0,39,0,46,0,39,0,60,0,60,0,60,0,14,255,60,0,60,0,60,0,36,32,60,0,60,0,60,0,37,32,47,0,39,0,46,0,39,0,60,0,60,0,60,0,38,32,47,0,39,0,46,0,46,0,39,0,60,0,60,0,60,0,82,254,60,0,60,0,60,0,48,254,47,0,39,0,46,0,39,0,60,0,60,0,60,0,25,254,47,0,39,0,46,0,46,0,39,0,60,0,1,24,60,0,14,32,212,6,14,32,60,0,14,32,1,7,14,32,60,0,14,32,2,7,14,32,60,0,98,19,60,0,3,24,60,0,9,24,60,0,110,22,60,0,92,27,60,0,249,44,60,0,254,44,60,0,48,46,60,0,60,46,60,0,255,164,60,0,14,166,60,0,243,166,60,0,26,216,245,222,60,0,27,216,152,222,60,0,47,216,159,220,60,0,2,48,60,0,60,0,60,0,97,255,60,0,60,0,60,0,18,254,60,0,183,0,60,0,49,46,60,0,51,46,60,0,100,9,60,0,101,9,60,0,206,168,60,0,207,168,60,0,59,28,60,0,60,28,60,0,118,168,60,0,119,168,60,0,53,23,60,0,54,23,60,0,47,169,60,0,74,16,60,0,75,16,60,0,212,23,60,0,213,23,60,0,168,26,60,0,169,26,60,0,170,26,60,0,171,26,60,0,94,27,60,0,95,27,60,0,200,169,60,0,201,169,60,0,93,170,60,0,94,170,60,0,95,170,60,0,240,170,60,0,235,171,60,0,14,32,2,216,86,222,14,32,60,0,14,32,2,216,87,222,14,32,60,0,4,216,71,220,60,0,4,216,72,220,60,0,4,216,192,220,60,0,4,216,193,220,60,0,4,216,65,221,60,0,4,216,66,221,60,0,4,216,197,221,60,0,4,216,198,221,60,0,4,216,56,222,60,0,4,216,57,222,60,0,5,216,75,220,60,0,5,216,76,220,60,0,5,216,194,221,60,0,5,216,195,221,60,0,5,216,65,222,60,0,5,216,66,222,60,0,5,216,60,223,60,0,5,216,61,223,60,0,6,216,68,221,60,0,7,216,65,220,60,0,7,216,66,220,60,0,7,216,67,223,60,0,7,216,68,223,60,0,26,216,110,222,60,0,26,216,111,222,60,0,126,28,60,0,127,28,60,0,14,32,29,6,14,32,60,0,14,32,0,7,14,32,60,0,247,7,60,0,251,16,60,0,96,19,60,0,104,19,60,0,30,26,60,0,31,26,60,0,90,27,60,0,91,27,60,0,125,27,60,0,126,27,60,0,193,169,60,0,194,169,60,0,195,169,60,0,196,169,60,0,197,169,60,0,198,169,60,0,202,169,60,0,203,169,60,0,204,169,60,0,205,169,60,0,242,166,60,0,95,169,60,0,14,32,2,216,87,220,14,32,60,0,2,216,58,223,60,0,2,216,59,223,60,0,2,216,60,223,60,0,2,216,61,223,60,0,2,216,62,223,60,0,2,216,63,223,60,0,14,32,3,216,85,223,14,32,60,0,14,32,3,216,86,223,14,32,60,0,14,32,3,216,87,223,14,32,60,0,14,32,3,216,88,223,14,32,60,0,14,32,3,216,89,223,14,32,60,0,14,32,3,216,134,223,14,32,60,0,14,32,3,216,135,223,14,32,60,0,14,32,3,216,136,223,14,32,60,0,14,32,3,216,137,223,14,32,60,0,4,216,190,220,60,0,4,216,191,220,60,0,4,216,64,221,60,0,4,216,200,221,60,0,4,216,222,221,60,0,4,216,223,221,60,0,4,216,169,222,60,0,5,216,62,223,60,0,6,216,70,221,60,0,7,216,247,222,60,0,7,216,248,222,60,0,7,216,69,223,60,0,7,216,70,223,60,0,7,216,71,223,60,0,7,216,72,223,60,0,7,216,73,223,60,0,7,216,74,223,60,0,7,216,75,223,60,0,7,216,76,223,60,0,7,216,77,223,60,0,7,216,78,223,60,0,7,216,79,223,60,0,85,32,60,0,86,32,60,0,88,32,60,0,89,32,60,0,90,32,60,0,91,32,60,0,92,32,60,0,93,32,60,0,94,32,60,0,42,46,60,0,43,46,60,0,44,46,60,0,45,46,60,0,61,46,60,0,252,44,60,0,255,44,60,0,25,46,60,0,14,32,2,216,63,221,14,32,60,0,0,216,0,221,60,0,0,216,1,221,60,0,0,216,2,221,60,0,0,216,159,223,60,0,0,216,208,223,60,0,2,216,31,221,60,0,9,216,112,220,60,0,9,216,113,220,60,0,9,216,114,220,60,0,9,216,115,220,60,0,9,216,116,220,60,0,11,216,241,223,60,0,11,216,242,223,60,0,39,0,39,0,60,0,60,0,60,0,7,255,60,0,24,32,60,0,25,32,60,0,26,32,60,0,27,32,60,0,57,32,60,0,58,32,60,0,39,0,34,0,39,0,60,0,60,0,60,0,2,255,60,0,28,32,60,0,29,32,60,0,30,32,60,0,31,32,60,0,66,46,60,0,29,48,60,0,30,48,60,0,31,48,60,0,171,0,60,0,187,0,60,0,39,0,40,0,39,0,60,0,60,0,60,0,8,255,60,0,60,0,60,0,116,36,47,0,14,32,59,216,1,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,125,36,47,0,14,32,59,216,1,221,58,216,80,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,126,36,47,0,14,32,59,216,1,221,59,216,1,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,127,36,47,0,14,32,59,216,1,221,59,216,2,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,128,36,47,0,14,32,59,216,1,221,59,216,3,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,129,36,47,0,14,32,59,216,1,221,59,216,4,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,130,36,47,0,14,32,59,216,1,221,59,216,5,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,131,36,47,0,14,32,59,216,1,221,59,216,6,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,132,36,47,0,14,32,59,216,1,221,59,216,7,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,133,36,47,0,14,32,59,216,1,221,59,216,8,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,134,36,47,0,14,32,59,216,1,221,59,216,9,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,117,36,47,0,14,32,59,216,2,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,135,36,47,0,14,32,59,216,2,221,58,216,80,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,118,36,47,0,14,32,59,216,3,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,119,36,47,0,14,32,59,216,4,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,120,36,47,0,14,32,59,216,5,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,121,36,47,0,14,32,59,216,6,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,122,36,47,0,14,32,59,216,7,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,123,36,47,0,14,32,59,216,8,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,124,36,47,0,14,32,59,216,9,221,39,0,41,0,39,0,14,32,60,0,60,0,60,0,156,36,47,0,97,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,16,221,47,0,65,0,39,0,41,0,39,0,60,0,60,0,60,0,157,36,47,0,98,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,17,221,47,0,66,0,39,0,41,0,39,0,60,0,60,0,60,0,158,36,47,0,99,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,18,221,47,0,67,0,39,0,41,0,39,0,60,0,60,0,60,0,159,36,47,0,100,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,19,221,47,0,68,0,39,0,41,0,39,0,60,0,60,0,60,0,160,36,47,0,101,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,20,221,47,0,69,0,39,0,41,0,39,0,60,0,60,0,60,0,161,36,47,0,102,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,21,221,47,0,70,0,39,0,41,0,39,0,60,0,60,0,60,0,162,36,47,0,103,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,22,221,47,0,71,0,39,0,41,0,39,0,60,0,60,0,60,0,163,36,47,0,104,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,23,221,47,0,72,0,39,0,41,0,39,0,60,0,60,0,60,0,164,36,47,0,105,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,24,221,47,0,73,0,39,0,41,0,39,0,60,0,60,0,60,0,165,36,47,0,106,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,25,221,47,0,74,0,39,0,41,0,39,0,60,0,60,0,60,0,166,36,47,0,107,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,26,221,47,0,75,0,39,0,41,0,39,0,60,0,60,0,60,0,167,36,47,0,108,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,27,221,47,0,76,0,39,0,41,0,39,0,60,0,60,0,60,0,168,36,47,0,109,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,28,221,47,0,77,0,39,0,41,0,39,0,60,0,60,0,60,0,169,36,47,0,110,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,29,221,47,0,78,0,39,0,41,0,39,0,60,0,60,0,60,0,170,36,47,0,111,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,30,221,47,0,79,0,39,0,41,0,39,0,60,0,60,0,60,0,171,36,47,0,112,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,31,221,47,0,80,0,39,0,41,0,39,0,60,0,60,0,60,0,172,36,47,0,113,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,32,221,47,0,81,0,39,0,41,0,39,0,60,0,60,0,60,0,173,36,47,0,114,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,33,221,47,0,82,0,39,0,41,0,39,0,60,0,60,0,60,0,174,36,47,0,115,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,34,221,47,0,83,0,39,0,41,0,39,0,60,0,60,0,60,0,175,36,47,0,116,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,35,221,47,0,84,0,39,0,41,0,39,0,60,0,60,0,60,0,176,36,47,0,117,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,36,221,47,0,85,0,39,0,41,0,39,0,60,0,60,0,60,0,177,36,47,0,118,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,37,221,47,0,86,0,39,0,41,0,39,0,60,0,60,0,60,0,178,36,47,0,119,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,38,221,47,0,87,0,39,0,41,0,39,0,60,0,60,0,60,0,179,36,47,0,120,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,39,221,47,0,88,0,39,0,41,0,39,0,60,0,60,0,60,0,180,36,47,0,121,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,40,221,47,0,89,0,39,0,41,0,39,0,60,0,60,0,60,0,181,36,47,0,122,0,39,0,41,0,39,0,60,0,60,0,60,0,60,216,41,221,47,0,90,0,39,0,41,0,39,0,60,0,60,0,60,0,0,50,47,0,0,17,39,0,41,0,39,0,60,0,60,0,60,0,14,50,47,0,0,172,39,0,41,0,39,0,60,0,60,0,60,0,1,50,47,0,2,17,39,0,41,0,39,0,60,0,60,0,60,0,15,50,47,0,152,176,39,0,41,0,39,0,60,0,60,0,60,0,2,50,47,0,3,17,39,0,41,0,39,0,60,0,60,0,60,0,16,50,47,0,228,178,39,0,41,0,39,0,60,0,60,0,60,0,3,50,47,0,5,17,39,0,41,0,39,0,60,0,60,0,60,0,17,50,47,0,124,183,39,0,41,0,39,0,60,0,60,0,60,0,4,50,47,0,6,17,39,0,41,0,39,0,60,0,60,0,60,0,18,50,47,0,200,185,39,0,41,0,39,0,60,0,60,0,60,0,5,50,47,0,7,17,39,0,41,0,39,0,60,0,60,0,60,0,19,50,47,0,20,188,39,0,41,0,39,0,60,0,60,0,60,0,6,50,47,0,9,17,39,0,41,0,39,0,60,0,60,0,60,0,20,50,47,0,172,192,39,0,41,0,39,0,60,0,60,0,60,0,7,50,47,0,11,17,39,0,41,0,39,0,60,0,60,0,60,0,21,50,47,0,68,197,39,0,41,0,39,0,60,0,60,0,60,0,29,50,47,0,36,198,4,200,39,0,41,0,39,0,60,0,60,0,60,0,30,50,47,0,36,198,196,214,39,0,41,0,39,0,60,0,60,0,60,0,8,50,47,0,12,17,39,0,41,0,39,0,60,0,60,0,60,0,22,50,47,0,144,199,39,0,41,0,39,0,60,0,60,0,60,0,28,50,47,0,252,200,39,0,41,0,39,0,60,0,60,0,60,0,9,50,47,0,14,17,39,0,41,0,39,0,60,0,60,0,60,0,23,50,47,0,40,204,39,0,41,0,39,0,60,0,60,0,60,0,10,50,47,0,15,17,39,0,41,0,39,0,60,0,60,0,60,0,24,50,47,0,116,206,39,0,41,0,39,0,60,0,60,0,60,0,11,50,47,0,16,17,39,0,41,0,39,0,60,0,60,0,60,0,25,50,47,0,192,208,39,0,41,0,39,0,60,0,60,0,60,0,12,50,47,0,17,17,39,0,41,0,39,0,60,0,60,0,60,0,26,50,47,0,12,211,39,0,41,0,39,0,60,0,60,0,60,0,13,50,47,0,18,17,39,0,41,0,39,0,60,0,60,0,60,0,27,50,47,0,88,213,39,0,41,0,39,0,60,0,60,0,60,0,32,50,47,0,0,78,39,0,41,0,39,0,60,0,60,0,60,0,38,50,47,0,3,78,39,0,41,0,39,0,60,0,60,0,60,0,34,50,47,0,9,78,39,0,41,0,39,0,60,0,60,0,60,0,40,50,47,0,93,78,39,0,41,0,39,0,60,0,60,0,60,0,33,50,47,0,140,78,39,0,41,0,39,0,60,0,60,0,60,0,36,50,47,0,148,78,39,0,41,0,39,0,60,0,60,0,60,0,57,50,47,0,227,78,39,0,41,0,39,0,60,0,60,0,60,0,61,50,47,0,1,79,39,0,41,0,39,0,60,0,60,0,60,0,65,50,47,0,17,79,39,0,41,0,39,0,60,0,60,0,60,0,39,50,47,0,107,81,39,0,41,0,39,0,60,0,60,0,60,0,37,50,47,0,109,81,39,0,41,0,39,0,60,0,60,0,60,0,56,50,47,0,180,82,39,0,41,0,39,0,60,0,60,0,60,0,41,50,47,0,65,83,39,0,41,0,39,0,60,0,60,0,60,0,63,50,47,0,84,83,39,0,41,0,39,0,60,0,60,0,60,0,52,50,47,0,13,84,39,0,41,0,39,0,60,0,60,0,60,0,58,50,47,0,124,84,39,0,41,0,39,0,60,0,60,0,60,0,35,50,47,0,219,86,39,0,41,0,39,0,60,0,60,0,60,0,47,50,47,0,31,87,39,0,41,0,39,0,60,0,60,0,60,0,59,50,47,0,102,91,39,0,41,0,39,0,60,0,60,0,60,0,48,50,47,0,229,101,39,0,41,0,39,0,60,0,60,0,60,0,42,50,47,0,8,103,39,0,41,0,39,0,60,0,60,0,60,0,50,50,47,0,9,103,39,0,41,0,39,0,60,0,60,0,60,0,45,50,47,0,40,103,39,0,41,0,39,0,60,0,60,0,60,0,49,50,47,0,42,104,39,0,41,0,39,0,60,0,60,0,60,0,44,50,47,0,52,108,39,0,41,0,39,0,60,0,60,0,60,0,43,50,47,0,107,112,39,0,41,0,39,0,60,0,60,0,60,0,53,50,47,0,121,114,39,0,41,0,39,0,60,0,60,0,60,0,60,50,47,0,227,118,39,0,41,0,39,0,60,0,60,0,60,0,51,50,47,0,62,121,39,0,41,0,39,0,60,0,60,0,60,0,55,50,47,0,93,121,39,0,41,0,39,0,60,0,60,0,60,0,64,50,47,0,109,121,39,0,41,0,39,0,60,0,60,0,60,0,66,50,47,0,234,129,39,0,41,0,39,0,60,0,60,0,60,0,67,50,47,0,243,129,39,0,41,0,39,0,60,0,60,0,60,0,54,50,47,0,161,140,39,0,41,0,39,0,60,0,60,0,60,0,62,50,47,0,199,140,39,0,41,0,39,0,60,0,60,0,60,0,46,50,47,0,209,145,39,0,41,0,39,0,60,0,60,0,60,0,89,254,60,0,60,0,60,0,125,32,60,0,60,0,60,0,141,32,60,0,60,0,60,0,53,254,60,0,39,0,41,0,39,0,60,0,60,0,60,0,9,255,60,0,60,0,60,0,90,254,60,0,60,0,60,0,126,32,60,0,60,0,60,0,142,32,60,0,60,0,60,0,54,254,60,0,39,0,91,0,39,0,60,0,60,0,60,0,59,255,60,0,60,0,60,0,71,254,60,0,39,0,93,0,39,0,60,0,60,0,60,0,61,255,60,0,60,0,60,0,72,254,60,0,39,0,123,0,39,0,60,0,60,0,60,0,91,255,60,0,60,0,60,0,91,254,60,0,60,0,60,0,55,254,60,0,39,0,125,0,39,0,60,0,60,0,60,0,93,255,60,0,60,0,60,0,92,254,60,0,60,0,60,0,56,254,60,0,58,15,60,0,59,15,60,0,60,15,60,0,61,15,60,0,155,22,60,0,156,22,60,0,69,32,60,0,70,32,60,0,8,35,60,0,9,35,60,0,10,35,60,0,11,35,60,0,252,41,60,0,253,41,60,0,131,41,60,0,132,41,60,0,133,41,60,0,60,0,60,0,95,255,60,0,134,41,60,0,60,0,60,0,96,255,60,0,135,41,60,0,136,41,60,0,137,41,60,0,138,41,60,0,139,41,60,0,140,41,60,0,141,41,60,0,142,41,60,0,143,41,60,0,144,41,60,0,145,41,60,0,146,41,60,0,147,41,60,0,148,41,60,0,149,41,60,0,150,41,60,0,151,41,60,0,152,41,60,0,197,39,60,0,198,39,60,0,230,39,60,0,231,39,60,0,232,39,60,0,233,39,60,0,234,39,60,0,235,39,60,0,236,39,60,0,237,39,60,0,238,39,60,0,239,39,60,0,104,39,60,0,105,39,60,0,106,39,60,0,107,39,60,0,108,39,60,0,109,39,60,0,110,39,60,0,111,39,60,0,112,39,60,0,113,39,60,0,114,39,60,0,115,39,60,0,116,39,60,0,117,39,60,0,2,46,60,0,3,46,60,0,4,46,60,0,5,46,60,0,9,46,60,0,10,46,60,0,12,46,60,0,13,46,60,0,28,46,60,0,29,46,60,0,32,46,60,0,33,46,60,0,34,46,60,0,35,46,60,0,36,46,60,0,37,46,60,0,38,46,60,0,39,46,60,0,40,46,60,0,41,46,60,0,85,46,60,0,86,46,60,0,87,46,60,0,88,46,60,0,89,46,60,0,90,46,60,0,91,46,60,0,92,46,60,0,8,48,60,0,60,0,60,0,63,254,60,0,9,48,60,0,60,0,60,0,64,254,60,0,10,48,60,0,60,0,60,0,61,254,60,0,11,48,60,0,60,0,60,0,62,254,60,0,12,48,60,0,60,0,60,0,98,255,60,0,60,0,60,0,65,254,60,0,13,48,60,0,60,0,60,0,99,255,60,0,60,0,60,0,66,254,60,0,14,48,60,0,60,0,60,0,67,254,60,0,15,48,60,0,60,0,60,0,68,254,60,0,16,48,60,0,60,0,60,0,59,254,60,0,17,48,60,0,60,0,60,0,60,254,60,0,20,48,60,0,60,0,60,0,60,216,42,221,47,0,83,0,21,48,60,0,60,0,60,0,60,216,65,222,47,0,9,78,21,48,60,0,60,0,60,0,60,216,66,222,47,0,140,78,21,48,60,0,60,0,60,0,60,216,71,222,47,0,221,82,21,48,60,0,60,0,60,0,60,216,67,222,47,0,137,91,21,48,60,0,60,0,60,0,60,216,69,222,47,0,83,98,21,48,60,0,60,0,60,0,60,216,72,222,47,0,87,101,21,48,60,0,60,0,60,0,60,216,64,222,47,0,44,103,21,48,60,0,60,0,60,0,60,216,68,222,47,0,185,112,21,48,60,0,60,0,60,0,60,216,70,222,47,0,215,118,21,48,60,0,60,0,60,0,93,254,60,0,60,0,60,0,57,254,60,0,21,48,60,0,60,0,60,0,94,254,60,0,60,0,60,0,58,254,60,0,22,48,60,0,60,0,60,0,23,254,60,0,23,48,60,0,60,0,60,0,24,254,60,0,24,48,60,0,25,48,60,0,26,48,60,0,27,48,60,0,62,253,60,0,63,253,60,0,22,32,60,0,62,46,60,0,216,41,60,0,217,41,60,0,218,41,60,0,219,41,60,0,167,0,60,0,57,46,60,0,182,0,60,0,75,32,60,0,77,46,60,0,63,46,60,0,39,0,64,0,39,0,60,0,60,0,60,0,32,255,60,0,60,0,60,0,107,254,60,0,39,0,42,0,39,0,60,0,60,0,60,0,10,255,60,0,60,0,60,0,97,254,60,0,78,32,60,0,81,32,60,0,14,32,109,6,14,32,60,0,115,166,60,0,39,0,47,0,39,0,60,0,60,0,60,0,15,255,60,0,39,0,92,0,39,0,60,0,60,0,60,0,60,255,60,0,60,0,60,0,104,254,60,0,74,46,60,0,39,0,38,0,39,0,60,0,60,0,60,0,6,255,60,0,60,0,60,0,96,254,60,0,74,32,60,0,82,46,60,0,39,0,35,0,39,0,60,0,60,0,60,0,3,255,60,0,60,0,60,0,95,254,60,0,39,0,37,0,39,0,60,0,60,0,60,0,5,255,60,0,60,0,60,0,106,254,60,0,106,6,60,0,48,32,60,0,9,6,60,0,49,32,60,0,10,6,60,0,32,32,60,0,33,32,60,0,54,46,60,0,55,46,60,0,56,46,60,0,75,46,60,0,34,32,60,0,35,32,60,0,39,32,60,0,67,32,60,0,76,32,60,0,77,32,60,0,50,32,60,0,60,0,60,0,51,32,47,0,50,32,60,0,60,0,60,0,52,32,47,0,50,32,50,32,60,0,60,0,60,0,87,32,47,0,50,32,50,32,50,32,60,0,53,32,60,0,60,0,60,0,54,32,47,0,53,32,60,0,60,0,60,0,55,32,47,0,53,32,53,32,60,0,3,48,60,0,61,48,60,0,56,32,60,0,59,32,60,0,63,32,60,0,84,32,60,0,64,32,60,0,80,32,60,0,65,32,60,0,66,32,60,0,0,46,60,0,1,46,60,0,6,46,60,0,7,46,60,0,8,46,60,0,11,46,60,0,14,46,60,0,15,46,60,0,16,46,60,0,17,46,60,0,18,46,60,0,19,46,60,0,20,46,60,0,21,46,60,0,22,46,60,0,26,46,60,0,27,46,60,0,30,46,60,0,31,46,60,0,68,46,60,0,69,46,60,0,70,46,60,0,71,46,60,0,72,46,60,0,126,166,60,0,90,5,60,0,91,5,60,0,95,5,60,0,14,32,190,5,14,32,60,0,14,32,192,5,14,32,60,0,14,32,195,5,14,32,60,0,14,32,198,5,14,32,60,0,14,32,243,5,14,32,60,0,14,32,244,5,14,32,60,0,14,32,10,7,14,32,60,0,14,32,11,7,14,32,60,0,14,32,12,7,14,32,60,0,14,32,13,7,14,32,60,0,14,32,94,8,14,32,60,0,0,24,60,0,5,216,96,222,60,0,5,216,97,222,60,0,5,216,98,222,60,0,5,216,99,222,60,0,5,216,100,222,60,0,5,216,101,222,60,0,5,216,102,222,60,0,5,216,103,222,60,0,5,216,104,222,60,0,5,216,105,222,60,0,5,216,106,222,60,0,5,216,107,222,60,0,5,216,108,222,60,0,112,9,60,0,248,168,60,0,249,168,60,0,250,168,60,0,252,168,60,0,6,216,0,223,60,0,6,216,1,223,60,0,6,216,2,223,60,0,6,216,3,223,60,0,6,216,4,223,60,0,6,216,5,223,60,0,6,216,6,223,60,0,6,216,7,223,60,0,6,216,8,223,60,0,6,216,9,223,60,0,253,9,60,0,118,10,60,0,240,10,60,0,119,12,60,0,132,12,60,0,244,13,60,0,79,14,60,0,90,14,60,0,91,14,60,0,222,170,60,0,223,170,60,0,4,15,60,0,5,15,60,0,6,15,60,0,7,15,60,0,8,15,60,0,9,15,60,0,10,15,60,0,208,15,60,0,209,15,60,0,11,15,60,0,60,0,60,0,12,15,60,0,13,15,60,0,14,15,60,0,15,15,60,0,16,15,60,0,17,15,60,0,18,15,60,0,133,15,60,0,210,15,60,0,211,15,60,0,212,15,60,0,217,15,60,0,218,15,60,0,6,216,63,222,60,0,6,216,64,222,60,0,6,216,65,222,60,0,6,216,66,222,60,0,6,216,67,222,60,0,6,216,68,222,60,0,6,216,69,222,60,0,6,216,70,222,60,0,6,216,154,222,60,0,6,216,155,222,60,0,6,216,156,222,60,0,6,216,158,222,60,0,6,216,159,222,60,0,6,216,160,222,60,0,6,216,161,222,60,0,6,216,162,222,60,0,7,216,112,220,60,0,7,216,113,220,60,0,61,28,60,0,62,28,60,0,63,28,60,0,76,16,60,0,77,16,60,0,78,16,60,0,79,16,60,0,216,23,60,0,217,23,60,0,218,23,60,0,160,26,60,0,161,26,60,0,162,26,60,0,163,26,60,0,164,26,60,0,165,26,60,0,166,26,60,0,172,26,60,0,173,26,60,0,192,28,60,0,193,28,60,0,194,28,60,0,195,28,60,0,196,28,60,0,197,28,60,0,198,28,60,0,199,28,60,0,112,45,60,0,116,168,60,0,117,168,60,0,252,27,60,0,253,27,60,0,254,27,60,0,255,27,60,0,46,169,60,0,222,169,60,0,223,169,60,0,92,170,60,0,1,216,111,221,60,0,4,216,73,220,60,0,4,216,74,220,60,0,4,216,75,220,60,0,4,216,76,220,60,0,4,216,77,220,60,0,14,32,2,216,80,222,14,32,60,0,14,32,2,216,81,222,14,32,60,0,14,32,2,216,82,222,14,32,60,0,14,32,2,216,83,222,14,32,60,0,14,32,2,216,84,222,14,32,60,0,14,32,2,216,85,222,14,32,60,0,14,32,2,216,88,222,14,32,60,0,7,216,67,220,60,0,7,216,68,220,60,0,7,216,69,220,60,0,2,216,57,223,60,0,14,32,2,216,240,222,14,32,60,0,14,32,2,216,241,222,14,32,60,0,14,32,2,216,242,222,14,32,60,0,14,32,2,216,243,222,14,32,60,0,14,32,2,216,244,222,14,32,60,0,14,32,2,216,245,222,14,32,60,0,14,32,2,216,246,222,14,32,60,0,14,32,2,216,153,223,14,32,60,0,14,32,2,216,154,223,14,32,60,0,14,32,2,216,155,223,14,32,60,0,14,32,2,216,156,223,14,32,60,0,4,216,187,220,60,0,4,216,188,220,60,0,4,216,116,221,60,0,4,216,117,221,60,0,4,216,205,221,60,0,4,216,199,221,60,0,4,216,219,221,60,0,4,216,221,221,60,0,4,216,58,222,60,0,4,216,59,222,60,0,4,216,60,222,60,0,4,216,61,222,60,0,5,216,77,220,60,0,5,216,90,220,60,0,5,216,78,220,60,0,5,216,79,220,60,0,5,216,91,220,60,0,5,216,93,220,60,0,5,216,198,220,60,0,5,216,193,221,60,0,5,216,196,221,60,0,5,216,197,221,60,0,5,216,198,221,60,0,5,216,199,221,60,0,5,216,200,221,60,0,5,216,201,221,60,0,5,216,202,221,60,0,5,216,203,221,60,0,5,216,204,221,60,0,5,216,205,221,60,0,5,216,206,221,60,0,5,216,207,221,60,0,5,216,208,221,60,0,5,216,209,221,60,0,5,216,210,221,60,0,5,216,211,221,60,0,5,216,212,221,60,0,5,216,213,221,60,0,5,216,214,221,60,0,5,216,215,221,60,0,5,216,67,222,60,0,5,216,185,222,60,0,6,216,59,220,60,0,6,216,69,221,60,0,6,216,226,221,60,0,7,216,255,223,60,0,26,216,55,223,60,0,26,216,56,223,60,0,26,216,57,223,60,0,26,216,58,223,60,0,26,216,59,223,60,0,26,216,68,223,60,0,27,216,153,222,60,0,27,216,154,222,60,0,54,216,135,222,60,0,54,216,136,222,60,0,54,216,137,222,60,0,54,216,138,222,60,0,54,216,139,222,60,0,14,32,2,216,127,222,14,32,38,0,253,48,60,0,39,0,96,0,39,0,60,0,60,0,60,0,64,255,60,0,180,0,61,0,132,3,60,0,220,2,60,0,39,0,94,0,39,0,60,0,60,0,60,0,62,255,60,0,175,0,60,0,60,0,60,0,227,255,60,0,216,2,60,0,217,2,60,0,168,0,60,0,218,2,60,0,221,2,60,0,184,0,60,0,219,2,60,0,189,31,61,0,191,31,60,0,254,31,60,0,192,31,60,0,155,48,60,0,156,48,60,0,185,2,60,0,117,3,60,0,186,2,60,0,194,2,60,0,195,2,60,0,196,2,60,0,197,2,60,0,198,2,60,0,199,2,60,0,200,2,60,0,201,2,60,0,202,2,60,0,203,2,60,0,204,2,60,0,205,2,60,0,206,2,60,0,207,2,60,0,210,2,60,0,211,2,60,0,212,2,60,0,213,2,60,0,106,171,60,0,107,171,60,0,214,2,60,0,215,2,60,0,222,2,60,0,223,2,60,0,229,2,60,0,230,2,60,0,231,2,60,0,232,2,60,0,233,2,60,0,234,2,60,0,235,2,60,0,236,2,60,0,237,2,60,0,239,2,60,0,240,2,60,0,241,2,60,0,242,2,60,0,243,2,60,0,244,2,60,0,245,2,60,0,246,2,60,0,247,2,60,0,248,2,60,0,249,2,60,0,250,2,60,0,251,2,60,0,252,2,60,0,253,2,60,0,254,2,60,0,255,2,60,0,144,19,60,0,145,19,60,0,146,19,60,0,147,19,60,0,148,19,60,0,149,19,60,0,150,19,60,0,151,19,60,0,152,19,60,0,153,19,60,0,0,167,60,0,1,167,60,0,2,167,60,0,3,167,60,0,4,167,60,0,5,167,60,0,6,167,60,0,7,167,60,0,8,167,60,0,9,167,60,0,10,167,60,0,11,167,60,0,12,167,60,0,13,167,60,0,14,167,60,0,15,167,60,0,16,167,60,0,17,167,60,0,18,167,60,0,19,167,60,0,20,167,60,0,21,167,60,0,22,167,60,0,23,167,60,0,24,167,60,0,25,167,60,0,26,167,60,0,27,167,60,0,28,167,60,0,29,167,60,0,30,167,60,0,31,167,60,0,32,167,60,0,33,167,60,0,136,167,60,0,137,167,60,0,138,167,60,0,91,171,60,0,43,216,240,223,60,0,43,216,241,223,60,0,43,216,242,223,60,0,43,216,243,223,60,0,43,216,245,223,60,0,43,216,246,223,60,0,43,216,247,223,60,0,43,216,248,223,60,0,43,216,249,223,60,0,43,216,250,223,60,0,43,216,251,223,60,0,43,216,253,223,60,0,43,216,254,223,60,0,176,0,60,0,60,0,60,0,3,33,47,0,67,0,60,0,60,0,60,0,9,33,47,0,70,0,60,0,130,4,60,0,141,5,60,0,142,5,60,0,14,32,8,6,14,32,60,0,59,216,240,222,60,0,59,216,241,222,60,0,14,6,60,0,15,6,60,0,222,6,60,0,233,6,60,0,64,253,60,0,65,253,60,0,66,253,60,0,67,253,60,0,68,253,60,0,69,253,60,0,70,253,60,0,71,253,60,0,72,253,60,0,73,253,60,0,74,253,60,0,75,253,60,0,76,253,60,0,77,253,60,0,78,253,60,0,79,253,60,0,207,253,60,0,253,253,60,0,254,253,60,0,255,253,60,0,14,32,136,8,14,32,60,0,14,32,178,251,14,32,60,0,14,32,179,251,14,32,60,0,14,32,180,251,14,32,60,0,14,32,181,251,14,32,60,0,14,32,182,251,14,32,60,0,14,32,183,251,14,32,60,0,14,32,184,251,14,32,60,0,14,32,185,251,14,32,60,0,14,32,186,251,14,32,60,0,14,32,187,251,14,32,60,0,14,32,188,251,14,32,60,0,14,32,189,251,14,32,60,0,14,32,190,251,14,32,60,0,14,32,191,251,14,32,60,0,14,32,192,251,14,32,60,0,14,32,193,251,14,32,60,0,14,32,194,251,14,32,60,0,246,7,60,0,250,9,60,0,112,11,60,0,243,11,60,0,244,11,60,0,245,11,60,0,246,11,60,0,247,11,60,0,248,11,60,0,250,11,60,0,7,216,213,223,60,0,7,216,214,223,60,0,7,216,215,223,60,0,7,216,216,223,60,0,7,216,217,223,60,0,7,216,218,223,60,0,7,216,219,223,60,0,7,216,220,223,60,0,7,216,225,223,60,0,7,216,226,223,60,0,7,216,227,223,60,0,7,216,228,223,60,0,7,216,229,223,60,0,7,216,230,223,60,0,7,216,231,223,60,0,7,216,232,223,60,0,7,216,233,223,60,0,7,216,234,223,60,0,7,216,235,223,60,0,7,216,236,223,60,0,7,216,237,223,60,0,7,216,238,223,60,0,7,216,239,223,60,0,7,216,240,223,60,0,7,216,241,223,60,0,127,12,60,0,79,13,60,0,121,13,60,0,40,168,60,0,41,168,60,0,42,168,60,0,43,168,60,0,54,168,60,0,55,168,60,0,57,168,60,0,1,15,60,0,2,15,60,0,3,15,60,0,19,15,60,0,21,15,60,0,22,15,60,0,23,15,60,0,26,15,60,0,27,15,60,0,28,15,60,0,29,15,60,0,30,15,60,0,31,15,60,0,52,15,60,0,54,15,60,0,56,15,60,0,190,15,60,0,191,15,60,0,192,15,60,0,193,15,60,0,194,15,60,0,195,15,60,0,196,15,60,0,197,15,60,0,199,15,60,0,200,15,60,0,201,15,60,0,202,15,60,0,203,15,60,0,204,15,60,0,206,15,60,0,207,15,60,0,213,15,60,0,214,15,60,0,215,15,60,0,216,15,60,0,109,22,60,0,64,25,60,0,158,16,60,0,159,16,60,0,119,170,60,0,120,170,60,0,121,170,60,0,5,216,63,223,60,0,224,25,60,0,225,25,60,0,226,25,60,0,227,25,60,0,228,25,60,0,229,25,60,0,230,25,60,0,231,25,60,0,232,25,60,0,233,25,60,0,234,25,60,0,235,25,60,0,236,25,60,0,237,25,60,0,238,25,60,0,239,25,60,0,240,25,60,0,241,25,60,0,242,25,60,0,243,25,60,0,244,25,60,0,245,25,60,0,246,25,60,0,247,25,60,0,248,25,60,0,249,25,60,0,250,25,60,0,251,25,60,0,252,25,60,0,253,25,60,0,254,25,60,0,255,25,60,0,97,27,60,0,98,27,60,0,99,27,60,0,100,27,60,0,101,27,60,0,102,27,60,0,103,27,60,0,104,27,60,0,105,27,60,0,106,27,60,0,116,27,60,0,117,27,60,0,118,27,60,0,119,27,60,0,120,27,60,0,121,27,60,0,122,27,60,0,123,27,60,0,124,27,60,0,169,0,60,0,60,216,47,221,60,0,174,0,60,0,60,216,173,221,60,0,4,33,60,0,8,33,60,0,20,33,60,0,23,33,60,0,24,33,60,0,30,33,60,0,31,33,60,0,35,33,60,0,37,33,60,0,39,33,60,0,41,33,60,0,46,33,60,0,58,33,60,0,65,33,60,0,66,33,60,0,67,33,60,0,68,33,60,0,74,33,60,0,76,33,60,0,79,33,60,0,138,33,60,0,139,33,60,0,144,33,60,0,60,0,60,0,233,255,60,0,146,33,60,0,60,0,60,0,235,255,60,0,145,33,60,0,60,0,60,0,234,255,60,0,147,33,60,0,60,0,60,0,236,255,60,0,148,33,60,0,149,33,60,0,150,33,60,0,151,33,60,0,152,33,60,0,153,33,60,0,156,33,60,0,157,33,60,0,158,33,60,0,159,33,60,0,160,33,60,0,161,33,60,0,162,33,60,0,163,33,60,0,164,33,60,0,165,33,60,0,166,33,60,0,167,33,60,0,168,33,60,0,169,33,60,0,170,33,60,0,171,33,60,0,172,33,60,0,173,33,60,0,175,33,60,0,176,33,60,0,177,33,60,0,178,33,60,0,179,33,60,0,180,33,60,0,181,33,60,0,182,33,60,0,183,33,60,0,184,33,60,0,185,33,60,0,186,33,60,0,187,33,60,0,188,33,60,0,189,33,60,0,190,33,60,0,191,33,60,0,192,33,60,0,193,33,60,0,194,33,60,0,195,33,60,0,196,33,60,0,197,33,60,0,198,33,60,0,199,33,60,0,200,33,60,0,201,33,60,0,202,33,60,0,203,33,60,0,204,33,60,0,208,33,60,0,209,33,60,0,210,33,60,0,211,33,60,0,212,33,60,0,213,33,60,0,214,33,60,0,215,33,60,0,216,33,60,0,217,33,60,0,218,33,60,0,219,33,60,0,220,33,60,0,221,33,60,0,222,33,60,0,223,33,60,0,224,33,60,0,225,33,60,0,226,33,60,0,227,33,60,0,228,33,60,0,229,33,60,0,230,33,60,0,231,33,60,0,232,33,60,0,233,33,60,0,234,33,60,0,235,33,60,0,236,33,60,0,237,33,60,0,238,33,60,0,239,33,60,0,240,33,60,0,241,33,60,0,242,33,60,0,243,33,60,0,244,33,60,0,245,33,60,0,246,33,60,0,247,33,60,0,248,33,60,0,249,33,60,0,250,33,60,0,251,33,60,0,252,33,60,0,253,33,60,0,254,33,60,0,255,33,60,0,0,34,60,0,1,34,60,0,2,34,60,0,60,0,60,0,53,216,219,222,61,0,53,216,21,223,61,0,53,216,79,223,61,0,53,216,137,223,61,0,53,216,195,223,60,0,3,34,60,0,5,34,60,0,6,34,60,0,7,34,60,0,60,0,60,0,53,216,193,222,61,0,53,216,251,222,61,0,53,216,53,223,61,0,53,216,111,223,61,0,53,216,169,223,60,0,8,34,60,0,10,34,60,0,11,34,60,0,13,34,60,0,246,3,60,0,14,34,60,0,15,34,60,0,16,34,60,0,17,34,60,0,60,0,60,0,64,33,60,0,39,0,43,0,39,0,60,0,60,0,60,0,11,255,60,0,60,0,60,0,41,251,60,0,60,0,60,0,98,254,60,0,60,0,60,0,122,32,60,0,60,0,60,0,138,32,60,0,177,0,60,0,247,0,60,0,215,0,60,0,39,0,60,0,39,0,60,0,60,0,60,0,28,255,60,0,60,0,60,0,100,254,60,0,39,0,61,0,39,0,60,0,60,0,60,0,29,255,60,0,60,0,60,0,117,42,47,0,39,0,61,0,39,0,60,0,60,0,60,0,118,42,47,0,39,0,61,0,61,0,39,0,60,0,60,0,60,0,102,254,60,0,60,0,60,0,124,32,60,0,60,0,60,0,140,32,60,0,39,0,62,0,39,0,60,0,60,0,60,0,30,255,60,0,60,0,60,0,101,254,60,0,172,0,60,0,60,0,60,0,226,255,60,0,39,0,124,0,39,0,60,0,60,0,60,0,92,255,60,0,166,0,60,0,60,0,60,0,228,255,60,0,39,0,126,0,39,0,60,0,60,0,60,0,94,255,60,0,18,34,60,0,60,0,60,0,123,32,60,0,60,0,60,0,139,32,60,0,82,32,60,0,19,34,60,0,20,34,60,0,21,34,60,0,68,32,60,0,22,34,60,0,23,34,60,0,24,34,60,0,25,34,60,0,26,34,60,0,27,34,60,0,6,6,60,0,28,34,60,0,7,6,60,0,29,34,60,0,30,34,60,0,31,34,60,0,32,34,60,0,33,34,60,0,34,34,60,0,35,34,60,0,37,34,60,0,39,34,60,0,40,34,60,0,41,34,60,0,42,34,60,0,43,34,60,0,60,0,60,0,44,34,47,0,43,34,60,0,60,0,60,0,45,34,47,0,43,34,43,34,60,0,60,0,60,0,12,42,47,0,43,34,43,34,43,34,60,0,46,34,60,0,60,0,60,0,47,34,47,0,46,34,60,0,60,0,60,0,48,34,47,0,46,34,46,34,60,0,49,34,60,0,50,34,60,0,51,34,60,0,52,34,60,0,53,34,60,0,54,34,60,0,55,34,60,0,56,34,60,0,57,34,60,0,58,34,60,0,59,34,60,0,60,34,60,0,61,34,60,0,62,34,60,0,63,34,60,0,64,34,60,0,66,34,60,0,67,34,60,0,69,34,60,0,70,34,60,0,72,34,60,0,74,34,60,0,75,34,60,0,76,34,60,0,77,34,60,0,78,34,60,0,79,34,60,0,80,34,60,0,81,34,60,0,82,34,60,0,83,34,60,0,84,34,60,0,85,34,60,0,86,34,60,0,87,34,60,0,88,34,60,0,89,34,60,0,90,34,60,0,91,34,60,0,92,34,60,0,93,34,60,0,94,34,60,0,95,34,60,0,97,34,60,0,99,34,60,0,100,34,60,0,101,34,60,0,102,34,60,0,103,34,60,0,104,34,60,0,105,34,60,0,106,34,60,0,107,34,60,0,108,34,60,0,114,34,60,0,115,34,60,0,118,34,60,0,119,34,60,0,122,34,60,0,123,34,60,0,124,34,60,0,125,34,60,0,126,34,60,0,127,34,60,0,130,34,60,0,131,34,60,0,134,34,60,0,135,34,60,0,138,34,60,0,139,34,60,0,140,34,60,0,141,34,60,0,142,34,60,0,143,34,60,0,144,34,60,0,145,34,60,0,146,34,60,0,147,34,60,0,148,34,60,0,149,34,60,0,150,34,60,0,151,34,60,0,152,34,60,0,153,34,60,0,154,34,60,0,155,34,60,0,156,34,60,0,157,34,60,0,158,34,60,0,159,34,60,0,160,34,60,0,161,34,60,0,162,34,60,0,163,34,60,0,164,34,60,0,165,34,60,0,166,34,60,0,167,34,60,0,168,34,60,0,169,34,60,0,170,34,60,0,171,34,60,0,176,34,60,0,177,34,60,0,178,34,60,0,179,34,60,0,180,34,60,0,181,34,60,0,182,34,60,0,183,34,60,0,184,34,60,0,185,34,60,0,186,34,60,0,187,34,60,0,188,34,60,0,75,33,60,0,189,34,60,0,190,34,60,0,191,34,60,0,192,34,60,0,193,34,60,0,194,34,60,0,195,34,60,0,196,34,60,0,197,34,60,0,198,34,60,0,199,34,60,0,200,34,60,0,201,34,60,0,202,34,60,0,203,34,60,0,204,34,60,0,205,34,60,0,206,34,60,0,207,34,60,0,208,34,60,0,209,34,60,0,210,34,60,0,211,34,60,0,212,34,60,0,213,34,60,0,214,34,60,0,215,34,60,0,216,34,60,0,217,34,60,0,218,34,60,0,219,34,60,0,220,34,60,0,221,34,60,0,222,34,60,0,223,34,60,0,228,34,60,0,229,34,60,0,230,34,60,0,231,34,60,0,232,34,60,0,233,34,60,0,238,34,60,0,239,34,60,0,240,34,60,0,241,34,60,0,242,34,60,0,243,34,60,0,244,34,60,0,245,34,60,0,246,34,60,0,247,34,60,0,248,34,60,0,249,34,60,0,250,34,60,0,251,34,60,0,252,34,60,0,253,34,60,0,254,34,60,0,255,34,60,0,0,35,60,0,1,35,60,0,2,35,60,0,3,35,60,0,4,35,60,0,5,35,60,0,6,35,60,0,7,35,60,0,12,35,60,0,13,35,60,0,14,35,60,0,15,35,60,0,16,35,60,0,17,35,60,0,18,35,60,0,19,35,60,0,20,35,60,0,21,35,60,0,22,35,60,0,23,35,60,0,24,35,60,0,25,35,60,0,26,35,60,0,27,35,60,0,28,35,60,0,29,35,60,0,30,35,60,0,31,35,60,0,32,35,60,0,33,35,60,0,34,35,60,0,35,35,60,0,36,35,60,0,37,35,60,0,38,35,60,0,39,35,60,0,40,35,60,0,43,35,60,0,44,35,60,0,45,35,60,0,46,35,60,0,47,35,60,0,48,35,60,0,49,35,60,0,50,35,60,0,51,35,60,0,52,35,60,0,53,35,60,0,54,35,60,0,55,35,60,0,56,35,60,0,57,35,60,0,58,35,60,0,59,35,60,0,60,35,60,0,61,35,60,0,62,35,60,0,63,35,60,0,64,35,60,0,65,35,60,0,66,35,60,0,67,35,60,0,68,35,60,0,69,35,60,0,70,35,60,0,71,35,60,0,72,35,60,0,73,35,60,0,74,35,60,0,75,35,60,0,76,35,60,0,77,35,60,0,78,35,60,0,79,35,60,0,80,35,60,0,81,35,60,0,82,35,60,0,83,35,60,0,84,35,60,0,85,35,60,0,86,35,60,0,87,35,60,0,88,35,60,0,89,35,60,0,90,35,60,0,91,35,60,0,92,35,60,0,93,35,60,0,94,35,60,0,95,35,60,0,96,35,60,0,97,35,60,0,98,35,60,0,99,35,60,0,100,35,60,0,101,35,60,0,102,35,60,0,103,35,60,0,104,35,60,0,105,35,60,0,106,35,60,0,107,35,60,0,108,35,60,0,109,35,60,0,110,35,60,0,111,35,60,0,112,35,60,0,113,35,60,0,114,35,60,0,115,35,60,0,116,35,60,0,117,35,60,0,118,35,60,0,119,35,60,0,120,35,60,0,121,35,60,0,122,35,60,0,123,35,60,0,124,35,60,0,125,35,60,0,126,35,60,0,127,35,60,0,128,35,60,0,129,35,60,0,130,35,60,0,131,35,60,0,132,35,60,0,133,35,60,0,134,35,60,0,135,35,60,0,136,35,60,0,137,35,60,0,138,35,60,0,139,35,60,0,140,35,60,0,141,35,60,0,142,35,60,0,143,35,60,0,144,35,60,0,145,35,60,0,146,35,60,0,147,35,60,0,148,35,60,0,149,35,60,0,150,35,60,0,151,35,60,0,152,35,60,0,153,35,60,0,154,35,60,0,155,35,60,0,156,35,60,0,157,35,60,0,158,35,60,0,159,35,60,0,160,35,60,0,161,35,60,0,162,35,60,0,163,35,60,0,164,35,60,0,165,35,60,0,166,35,60,0,167,35,60,0,168,35,60,0,169,35,60,0,170,35,60,0,171,35,60,0,172,35,60,0,173,35,60,0,174,35,60,0,175,35,60,0,176,35,60,0,177,35,60,0,178,35,60,0,179,35,60,0,180,35,60,0,181,35,60,0,182,35,60,0,183,35,60,0,184,35,60,0,185,35,60,0,186,35,60,0,187,35,60,0,188,35,60,0,189,35,60,0,190,35,60,0,191,35,60,0,192,35,60,0,193,35,60,0,194,35,60,0,195,35,60,0,196,35,60,0,197,35,60,0,198,35,60,0,199,35,60,0,200,35,60,0,201,35,60,0,202,35,60,0,203,35,60,0,204,35,60,0,205,35,60,0,206,35,60,0,207,35,60,0,208,35,60,0,209,35,60,0,210,35,60,0,211,35,60,0,212,35,60,0,213,35,60,0,214,35,60,0,215,35,60,0,216,35,60,0,217,35,60,0,218,35,60,0,219,35,60,0,220,35,60,0,221,35,60,0,222,35,60,0,223,35,60,0,224,35,60,0,225,35,60,0,226,35,60,0,227,35,60,0,228,35,60,0,229,35,60,0,230,35,60,0,231,35,60,0,232,35,60,0,233,35,60,0,234,35,60,0,235,35,60,0,236,35,60,0,237,35,60,0,238,35,60,0,239,35,60,0,240,35,60,0,241,35,60,0,242,35,60,0,243,35,60,0,244,35,60,0,245,35,60,0,246,35,60,0,247,35,60,0,248,35,60,0,249,35,60,0,250,35,60,0,251,35,60,0,252,35,60,0,253,35,60,0,254,35,60,0,255,35,60,0,0,36,60,0,1,36,60,0,2,36,60,0,3,36,60,0,4,36,60,0,5,36,60,0,6,36,60,0,7,36,60,0,8,36,60,0,9,36,60,0,10,36,60,0,11,36,60,0,12,36,60,0,13,36,60,0,14,36,60,0,15,36,60,0,16,36,60,0,17,36,60,0,18,36,60,0,19,36,60,0,20,36,60,0,21,36,60,0,22,36,60,0,23,36,60,0,24,36,60,0,25,36,60,0,26,36,60,0,27,36,60,0,28,36,60,0,29,36,60,0,30,36,60,0,31,36,60,0,32,36,60,0,33,36,60,0,34,36,60,0,35,36,60,0,36,36,60,0,37,36,60,0,38,36,60,0,64,36,60,0,65,36,60,0,66,36,60,0,67,36,60,0,68,36,60,0,69,36,60,0,70,36,60,0,71,36,60,0,72,36,60,0,73,36,60,0,74,36,60,0,0,37,60,0,1,37,60,0,2,37,60,0,60,0,60,0,232,255,60,0,3,37,60,0,4,37,60,0,5,37,60,0,6,37,60,0,7,37,60,0,8,37,60,0,9,37,60,0,10,37,60,0,11,37,60,0,12,37,60,0,13,37,60,0,14,37,60,0,15,37,60,0,16,37,60,0,17,37,60,0,18,37,60,0,19,37,60,0,20,37,60,0,21,37,60,0,22,37,60,0,23,37,60,0,24,37,60,0,25,37,60,0,26,37,60,0,27,37,60,0,28,37,60,0,29,37,60,0,30,37,60,0,31,37,60,0,32,37,60,0,33,37,60,0,34,37,60,0,35,37,60,0,36,37,60,0,37,37,60,0,38,37,60,0,39,37,60,0,40,37,60,0,41,37,60,0,42,37,60,0,43,37,60,0,44,37,60,0,45,37,60,0,46,37,60,0,47,37,60,0,48,37,60,0,49,37,60,0,50,37,60,0,51,37,60,0,52,37,60,0,53,37,60,0,54,37,60,0,55,37,60,0,56,37,60,0,57,37,60,0,58,37,60,0,59,37,60,0,60,37,60,0,61,37,60,0,62,37,60,0,63,37,60,0,64,37,60,0,65,37,60,0,66,37,60,0,67,37,60,0,68,37,60,0,69,37,60,0,70,37,60,0,71,37,60,0,72,37,60,0,73,37,60,0,74,37,60,0,75,37,60,0,76,37,60,0,77,37,60,0,78,37,60,0,79,37,60,0,80,37,60,0,81,37,60,0,82,37,60,0,83,37,60,0,84,37,60,0,85,37,60,0,86,37,60,0,87,37,60,0,88,37,60,0,89,37,60,0,90,37,60,0,91,37,60,0,92,37,60,0,93,37,60,0,94,37,60,0,95,37,60,0,96,37,60,0,97,37,60,0,98,37,60,0,99,37,60,0,100,37,60,0,101,37,60,0,102,37,60,0,103,37,60,0,104,37,60,0,105,37,60,0,106,37,60,0,107,37,60,0,108,37,60,0,109,37,60,0,110,37,60,0,111,37,60,0,112,37,60,0,113,37,60,0,114,37,60,0,115,37,60,0,116,37,60,0,117,37,60,0,118,37,60,0,119,37,60,0,120,37,60,0,121,37,60,0,122,37,60,0,123,37,60,0,124,37,60,0,125,37,60,0,126,37,60,0,127,37,60,0,128,37,60,0,129,37,60,0,130,37,60,0,131,37,60,0,132,37,60,0,133,37,60,0,134,37,60,0,135,37,60,0,136,37,60,0,137,37,60,0,138,37,60,0,139,37,60,0,140,37,60,0,141,37,60,0,142,37,60,0,143,37,60,0,144,37,60,0,145,37,60,0,146,37,60,0,147,37,60,0,148,37,60,0,149,37,60,0,150,37,60,0,151,37,60,0,152,37,60,0,153,37,60,0,154,37,60,0,155,37,60,0,156,37,60,0,157,37,60,0,158,37,60,0,159,37,60,0,160,37,60,0,60,0,60,0,237,255,60,0,161,37,60,0,162,37,60,0,163,37,60,0,164,37,60,0,165,37,60,0,166,37,60,0,167,37,60,0,168,37,60,0,169,37,60,0,170,37,60,0,171,37,60,0,172,37,60,0,173,37,60,0,174,37,60,0,175,37,60,0,176,37,60,0,177,37,60,0,178,37,60,0,179,37,60,0,180,37,60,0,181,37,60,0,182,37,60,0,183,37,60,0,184,37,60,0,185,37,60,0,186,37,60,0,187,37,60,0,188,37,60,0,189,37,60,0,190,37,60,0,191,37,60,0,192,37,60,0,193,37,60,0,194,37,60,0,195,37,60,0,196,37,60,0,197,37,60,0,198,37,60,0,199,37,60,0,200,37,60,0,201,37,60,0,202,37,60,0,203,37,60,0,60,0,60,0,238,255,60,0,204,37,60,0,205,37,60,0,206,37,60,0,207,37,60,0,208,37,60,0,209,37,60,0,210,37,60,0,211,37,60,0,212,37,60,0,213,37,60,0,214,37,60,0,215,37,60,0,216,37,60,0,217,37,60,0,218,37,60,0,219,37,60,0,220,37,60,0,221,37,60,0,222,37,60,0,223,37,60,0,224,37,60,0,225,37,60,0,226,37,60,0,227,37,60,0,228,37,60,0,229,37,60,0,230,37,60,0,231,37,60,0,232,37,60,0,233,37,60,0,234,37,60,0,235,37,60,0,236,37,60,0,237,37,60,0,238,37,60,0,239,37,60,0,240,37,60,0,241,37,60,0,242,37,60,0,243,37,60,0,244,37,60,0,245,37,60,0,246,37,60,0,247,37,60,0,248,37,60,0,249,37,60,0,250,37,60,0,251,37,60,0,252,37,60,0,253,37,60,0,254,37,60,0,255,37,60,0,62,216,0,223,60,0,62,216,1,223,60,0,62,216,2,223,60,0,62,216,3,223,60,0,62,216,4,223,60,0,62,216,5,223,60,0,62,216,6,223,60,0,62,216,7,223,60,0,62,216,8,223,60,0,62,216,9,223,60,0,62,216,10,223,60,0,62,216,11,223,60,0,62,216,12,223,60,0,62,216,13,223,60,0,62,216,14,223,60,0,62,216,15,223,60,0,62,216,16,223,60,0,62,216,17,223,60,0,62,216,18,223,60,0,62,216,19,223,60,0,62,216,20,223,60,0,62,216,21,223,60,0,62,216,22,223,60,0,62,216,23,223,60,0,62,216,24,223,60,0,62,216,25,223,60,0,62,216,26,223,60,0,62,216,27,223,60,0,62,216,28,223,60,0,62,216,29,223,60,0,62,216,30,223,60,0,62,216,31,223,60,0,62,216,32,223,60,0,62,216,33,223,60,0,62,216,34,223,60,0,62,216,35,223,60,0,62,216,36,223,60,0,62,216,37,223,60,0,62,216,38,223,60,0,62,216,39,223,60,0,62,216,40,223,60,0,62,216,41,223,60,0,62,216,42,223,60,0,62,216,43,223,60,0,62,216,44,223,60,0,62,216,45,223,60,0,62,216,46,223,60,0,62,216,47,223,60,0,62,216,48,223,60,0,62,216,49,223,60,0,62,216,50,223,60,0,62,216,51,223,60,0,62,216,52,223,60,0,62,216,53,223,60,0,62,216,54,223,60,0,62,216,55,223,60,0,62,216,56,223,60,0,62,216,57,223,60,0,62,216,58,223,60,0,62,216,59,223,60,0,62,216,60,223,60,0,62,216,61,223,60,0,62,216,62,223,60,0,62,216,63,223,60,0,62,216,64,223,60,0,62,216,65,223,60,0,62,216,66,223,60,0,62,216,67,223,60,0,62,216,68,223,60,0,62,216,69,223,60,0,62,216,70,223,60,0,62,216,71,223,60,0,62,216,72,223,60,0,62,216,73,223,60,0,62,216,74,223,60,0,62,216,75,223,60,0,62,216,76,223,60,0,62,216,77,223,60,0,62,216,78,223,60,0,62,216,79,223,60,0,62,216,80,223,60,0,62,216,81,223,60,0,62,216,82,223,60,0,62,216,83,223,60,0,62,216,84,223,60,0,62,216,85,223,60,0,62,216,86,223,60,0,62,216,87,223,60,0,62,216,88,223,60,0,62,216,89,223,60,0,62,216,90,223,60,0,62,216,91,223,60,0,62,216,92,223,60,0,62,216,93,223,60,0,62,216,94,223,60,0,62,216,95,223,60,0,62,216,96,223,60,0,62,216,97,223,60,0,62,216,98,223,60,0,62,216,99,223,60,0,62,216,100,223,60,0,62,216,101,223,60,0,62,216,102,223,60,0,62,216,103,223,60,0,62,216,104,223,60,0,62,216,105,223,60,0,62,216,106,223,60,0,62,216,107,223,60,0,62,216,108,223,60,0,62,216,109,223,60,0,62,216,110,223,60,0,62,216,111,223,60,0,62,216,112,223,60,0,62,216,113,223,60,0,62,216,114,223,60,0,62,216,115,223,60,0,62,216,116,223,60,0,62,216,117,223,60,0,62,216,118,223,60,0,62,216,119,223,60,0,62,216,120,223,60,0,62,216,121,223,60,0,62,216,122,223,60,0,62,216,123,223,60,0,62,216,124,223,60,0,62,216,125,223,60,0,62,216,126,223,60,0,62,216,127,223,60,0,62,216,128,223,60,0,62,216,129,223,60,0,62,216,130,223,60,0,62,216,131,223,60,0,62,216,132,223,60,0,62,216,133,223,60,0,62,216,134,223,60,0,62,216,135,223,60,0,62,216,136,223,60,0,62,216,137,223,60,0,62,216,138,223,60,0,62,216,139,223,60,0,62,216,140,223,60,0,62,216,141,223,60,0,62,216,142,223,60,0,62,216,143,223,60,0,62,216,144,223,60,0,62,216,145,223,60,0,62,216,146,223,60,0,62,216,148,223,60,0,62,216,149,223,60,0,62,216,150,223,60,0,62,216,151,223,60,0,62,216,152,223,60,0,62,216,153,223,60,0,62,216,154,223,60,0,62,216,155,223,60,0,62,216,156,223,60,0,62,216,157,223,60,0,62,216,158,223,60,0,62,216,159,223,60,0,62,216,160,223,60,0,62,216,161,223,60,0,62,216,162,223,60,0,62,216,163,223,60,0,62,216,164,223,60,0,62,216,165,223,60,0,62,216,166,223,60,0,62,216,167,223,60,0,62,216,168,223,60,0,62,216,169,223,60,0,62,216,170,223,60,0,62,216,171,223,60,0,62,216,172,223,60,0,62,216,173,223,60,0,62,216,174,223,60,0,62,216,175,223,60,0,62,216,176,223,60,0,62,216,177,223,60,0,62,216,178,223,60,0,62,216,179,223,60,0,62,216,180,223,60,0,62,216,181,223,60,0,62,216,182,223,60,0,62,216,183,223,60,0,62,216,184,223,60,0,62,216,185,223,60,0,62,216,186,223,60,0,62,216,187,223,60,0,62,216,188,223,60,0,62,216,189,223,60,0,62,216,190,223,60,0,62,216,191,223,60,0,62,216,192,223,60,0,62,216,193,223,60,0,62,216,194,223,60,0,62,216,195,223,60,0,62,216,196,223,60,0,62,216,197,223,60,0,62,216,198,223,60,0,62,216,199,223,60,0,62,216,200,223,60,0,62,216,201,223,60,0,62,216,202,223,60,0,0,38,60,0,1,38,60,0,2,38,60,0,3,38,60,0,4,38,60,0,5,38,60,0,6,38,60,0,7,38,60,0,8,38,60,0,9,38,60,0,10,38,60,0,11,38,60,0,12,38,60,0,13,38,60,0,14,38,60,0,15,38,60,0,16,38,60,0,17,38,60,0,18,38,60,0,19,38,60,0,20,38,60,0,21,38,60,0,22,38,60,0,23,38,60,0,24,38,60,0,25,38,60,0,26,38,60,0,27,38,60,0,28,38,60,0,29,38,60,0,30,38,60,0,31,38,60,0,32,38,60,0,33,38,60,0,34,38,60,0,35,38,60,0,36,38,60,0,37,38,60,0,38,38,60,0,39,38,60,0,40,38,60,0,41,38,60,0,42,38,60,0,43,38,60,0,44,38,60,0,45,38,60,0,46,38,60,0,47,38,60,0,56,38,60,0,57,38,60,0,58,38,60,0,59,38,60,0,60,38,60,0,61,38,60,0,62,38,60,0,63,38,60,0,64,38,60,0,65,38,60,0,66,38,60,0,67,38,60,0,68,38,60,0,69,38,60,0,70,38,60,0,71,38,60,0,72,38,60,0,73,38,60,0,74,38,60,0,75,38,60,0,76,38,60,0,77,38,60,0,78,38,60,0,79,38,60,0,80,38,60,0,81,38,60,0,82,38,60,0,83,38,60,0,84,38,60,0,85,38,60,0,86,38,60,0,87,38,60,0,88,38,60,0,89,38,60,0,90,38,60,0,91,38,60,0,92,38,60,0,93,38,60,0,94,38,60,0,95,38,60,0,96,38,60,0,97,38,60,0,98,38,60,0,99,38,60,0,100,38,60,0,101,38,60,0,102,38,60,0,103,38,60,0,104,38,60,0,105,38,60,0,106,38,60,0,107,38,60,0,108,38,60,0,112,38,60,0,113,38,60,0,114,38,60,0,115,38,60,0,116,38,60,0,117,38,60,0,118,38,60,0,119,38,60,0,120,38,60,0,121,38,60,0,122,38,60,0,123,38,60,0,124,38,60,0,125,38,60,0,126,38,60,0,127,38,60,0,128,38,60,0,129,38,60,0,130,38,60,0,131,38,60,0,132,38,60,0,133,38,60,0,134,38,60,0,135,38,60,0,136,38,60,0,137,38,60,0,144,38,60,0,145,38,60,0,146,38,60,0,147,38,60,0,148,38,60,0,149,38,60,0,150,38,60,0,151,38,60,0,152,38,60,0,153,38,60,0,154,38,60,0,155,38,60,0,156,38,60,0,157,38,60,0,158,38,60,0,159,38,60,0,160,38,60,0,161,38,60,0,162,38,60,0,163,38,60,0,164,38,60,0,165,38,60,0,166,38,60,0,167,38,60,0,168,38,60,0,169,38,60,0,170,38,60,0,171,38,60,0,172,38,60,0,173,38,60,0,174,38,60,0,175,38,60,0,176,38,60,0,177,38,60,0,178,38,60,0,179,38,60,0,180,38,60,0,181,38,60,0,182,38,60,0,183,38,60,0,184,38,60,0,185,38,60,0,186,38,60,0,187,38,60,0,188,38,60,0,189,38,60,0,190,38,60,0,191,38,60,0,192,38,60,0,193,38,60,0,194,38,60,0,195,38,60,0,196,38,60,0,197,38,60,0,198,38,60,0,199,38,60,0,200,38,60,0,201,38,60,0,202,38,60,0,203,38,60,0,204,38,60,0,205,38,60,0,206,38,60,0,207,38,60,0,208,38,60,0,209,38,60,0,210,38,60,0,211,38,60,0,212,38,60,0,213,38,60,0,214,38,60,0,215,38,60,0,216,38,60,0,217,38,60,0,218,38,60,0,219,38,60,0,220,38,60,0,221,38,60,0,222,38,60,0,223,38,60,0,224,38,60,0,225,38,60,0,226,38,60,0,227,38,60,0,228,38,60,0,229,38,60,0,230,38,60,0,231,38,60,0,232,38,60,0,233,38,60,0,234,38,60,0,235,38,60,0,236,38,60,0,237,38,60,0,238,38,60,0,239,38,60,0,240,38,60,0,241,38,60,0,242,38,60,0,243,38,60,0,244,38,60,0,245,38,60,0,246,38,60,0,247,38,60,0,248,38,60,0,249,38,60,0,250,38,60,0,251,38,60,0,252,38,60,0,253,38,60,0,254,38,60,0,255,38,60,0,60,216,230,221,60,0,60,216,231,221,60,0,60,216,232,221,60,0,60,216,233,221,60,0,60,216,234,221,60,0,60,216,235,221,60,0,60,216,236,221,60,0,60,216,237,221,60,0,60,216,238,221,60,0,60,216,239,221,60,0,60,216,240,221,60,0,60,216,241,221,60,0,60,216,242,221,60,0,60,216,243,221,60,0,60,216,244,221,60,0,60,216,245,221,60,0,60,216,246,221,60,0,60,216,247,221,60,0,60,216,248,221,60,0,60,216,249,221,60,0,60,216,250,221,60,0,60,216,251,221,60,0,60,216,252,221,60,0,60,216,253,221,60,0,60,216,254,221,60,0,60,216,255,221,60,0,0,39,60,0,1,39,60,0,2,39,60,0,3,39,60,0,4,39,60,0,5,39,60,0,6,39,60,0,7,39,60,0,8,39,60,0,9,39,60,0,10,39,60,0,11,39,60,0,12,39,60,0,13,39,60,0,14,39,60,0,15,39,60,0,16,39,60,0,17,39,60,0,18,39,60,0,19,39,60,0,20,39,60,0,21,39,60,0,22,39,60,0,23,39,60,0,24,39,60,0,25,39,60,0,26,39,60,0,27,39,60,0,28,39,60,0,29,39,60,0,30,39,60,0,31,39,60,0,32,39,60,0,80,46,60,0,81,46,60,0,33,39,60,0,34,39,60,0,35,39,60,0,36,39,60,0,37,39,60,0,38,39,60,0,39,39,60,0,40,39,60,0,41,39,60,0,42,39,60,0,43,39,60,0,44,39,60,0,45,39,60,0,46,39,60,0,47,39,60,0,48,39,60,0,49,39,60,0,50,39,60,0,51,39,60,0,52,39,60,0,53,39,60,0,54,39,60,0,55,39,60,0,56,39,60,0,57,39,60,0,58,39,60,0,59,39,60,0,60,39,60,0,61,39,60,0,62,39,60,0,63,39,60,0,64,39,60,0,65,39,60,0,66,39,60,0,67,39,60,0,68,39,60,0,69,39,60,0,70,39,60,0,71,39,60,0,72,39,60,0,73,39,60,0,74,39,60,0,75,39,60,0,76,39,60,0,77,39,60,0,78,39,60,0,79,39,60,0,80,39,60,0,81,39,60,0,82,39,60,0,83,39,60,0,84,39,60,0,85,39,60,0,86,39,60,0,87,39,60,0,88,39,60,0,89,39,60,0,90,39,60,0,91,39,60,0,92,39,60,0,93,39,60,0,94,39,60,0,95,39,60,0,96,39,60,0,97,39,60,0,98,39,60,0,99,39,60,0,100,39,60,0,101,39,60,0,102,39,60,0,103,39,60,0,148,39,60,0,149,39,60,0,150,39,60,0,151,39,60,0,152,39,60,0,153,39,60,0,154,39,60,0,155,39,60,0,156,39,60,0,157,39,60,0,158,39,60,0,159,39,60,0,160,39,60,0,161,39,60,0,162,39,60,0,163,39,60,0,164,39,60,0,165,39,60,0,166,39,60,0,167,39,60,0,168,39,60,0,169,39,60,0,170,39,60,0,171,39,60,0,172,39,60,0,173,39,60,0,174,39,60,0,175,39,60,0,176,39,60,0,177,39,60,0,178,39,60,0,179,39,60,0,180,39,60,0,181,39,60,0,182,39,60,0,183,39,60,0,184,39,60,0,185,39,60,0,186,39,60,0,187,39,60,0,188,39,60,0,189,39,60,0,190,39,60,0,191,39,60,0,192,39,60,0,193,39,60,0,194,39,60,0,195,39,60,0,196,39,60,0,199,39,60,0,200,39,60,0,201,39,60,0,202,39,60,0,203,39,60,0,204,39,60,0,205,39,60,0,206,39,60,0,207,39,60,0,208,39,60,0,209,39,60,0,210,39,60,0,211,39,60,0,212,39,60,0,213,39,60,0,214,39,60,0,215,39,60,0,216,39,60,0,217,39,60,0,218,39,60,0,219,39,60,0,220,39,60,0,221,39,60,0,222,39,60,0,223,39,60,0,224,39,60,0,225,39,60,0,226,39,60,0,227,39,60,0,228,39,60,0,229,39,60,0,240,39,60,0,241,39,60,0,242,39,60,0,243,39,60,0,244,39,60,0,245,39,60,0,246,39,60,0,247,39,60,0,248,39,60,0,249,39,60,0,250,39,60,0,251,39,60,0,252,39,60,0,253,39,60,0,254,39,60,0,255,39,60,0,0,41,60,0,1,41,60,0,2,41,60,0,3,41,60,0,4,41,60,0,5,41,60,0,6,41,60,0,7,41,60,0,8,41,60,0,9,41,60,0,10,41,60,0,11,41,60,0,12,41,60,0,13,41,60,0,14,41,60,0,15,41,60,0,16,41,60,0,17,41,60,0,18,41,60,0,19,41,60,0,20,41,60,0,21,41,60,0,22,41,60,0,23,41,60,0,24,41,60,0,25,41,60,0,26,41,60,0,27,41,60,0,28,41,60,0,29,41,60,0,30,41,60,0,31,41,60,0,32,41,60,0,33,41,60,0,34,41,60,0,35,41,60,0,36,41,60,0,37,41,60,0,38,41,60,0,39,41,60,0,40,41,60,0,41,41,60,0,42,41,60,0,43,41,60,0,44,41,60,0,45,41,60,0,46,41,60,0,47,41,60,0,48,41,60,0,49,41,60,0,50,41,60,0,51,41,60,0,52,41,60,0,53,41,60,0,54,41,60,0,55,41,60,0,56,41,60,0,57,41,60,0,58,41,60,0,59,41,60,0,60,41,60,0,61,41,60,0,62,41,60,0,63,41,60,0,64,41,60,0,65,41,60,0,66,41,60,0,67,41,60,0,68,41,60,0,69,41,60,0,70,41,60,0,71,41,60,0,72,41,60,0,73,41,60,0,74,41,60,0,75,41,60,0,76,41,60,0,77,41,60,0,78,41,60,0,79,41,60,0,80,41,60,0,81,41,60,0,82,41,60,0,83,41,60,0,84,41,60,0,85,41,60,0,86,41,60,0,87,41,60,0,88,41,60,0,89,41,60,0,90,41,60,0,91,41,60,0,92,41,60,0,93,41,60,0,94,41,60,0,95,41,60,0,96,41,60,0,97,41,60,0,98,41,60,0,99,41,60,0,100,41,60,0,101,41,60,0,102,41,60,0,103,41,60,0,104,41,60,0,105,41,60,0,106,41,60,0,107,41,60,0,108,41,60,0,109,41,60,0,110,41,60,0,111,41,60,0,112,41,60,0,113,41,60,0,114,41,60,0,115,41,60,0,116,41,60,0,117,41,60,0,118,41,60,0,119,41,60,0,120,41,60,0,121,41,60,0,122,41,60,0,123,41,60,0,124,41,60,0,125,41,60,0,126,41,60,0,127,41,60,0,128,41,60,0,129,41,60,0,130,41,60,0,153,41,60,0,154,41,60,0,155,41,60,0,156,41,60,0,157,41,60,0,158,41,60,0,159,41,60,0,160,41,60,0,161,41,60,0,162,41,60,0,163,41,60,0,164,41,60,0,165,41,60,0,166,41,60,0,167,41,60,0,168,41,60,0,169,41,60,0,170,41,60,0,171,41,60,0,172,41,60,0,173,41,60,0,174,41,60,0,175,41,60,0,176,41,60,0,177,41,60,0,178,41,60,0,179,41,60,0,180,41,60,0,181,41,60,0,182,41,60,0,183,41,60,0,184,41,60,0,185,41,60,0,186,41,60,0,187,41,60,0,188,41,60,0,189,41,60,0,190,41,60,0,191,41,60,0,192,41,60,0,193,41,60,0,194,41,60,0,195,41,60,0,196,41,60,0,197,41,60,0,198,41,60,0,199,41,60,0,200,41,60,0,201,41,60,0,202,41,60,0,203,41,60,0,204,41,60,0,205,41,60,0,206,41,60,0,207,41,60,0,208,41,60,0,209,41,60,0,210,41,60,0,211,41,60,0,212,41,60,0,213,41,60,0,214,41,60,0,215,41,60,0,220,41,60,0,221,41,60,0,222,41,60,0,223,41,60,0,224,41,60,0,225,41,60,0,226,41,60,0,227,41,60,0,228,41,60,0,229,41,60,0,230,41,60,0,231,41,60,0,232,41,60,0,233,41,60,0,234,41,60,0,235,41,60,0,236,41,60,0,237,41,60,0,238,41,60,0,239,41,60,0,240,41,60,0,241,41,60,0,242,41,60,0,243,41,60,0,244,41,60,0,245,41,60,0,246,41,60,0,247,41,60,0,248,41,60,0,249,41,60,0,250,41,60,0,251,41,60,0,254,41,60,0,255,41,60,0,0,42,60,0,1,42,60,0,2,42,60,0,3,42,60,0,4,42,60,0,5,42,60,0,6,42,60,0,7,42,60,0,8,42,60,0,9,42,60,0,10,42,60,0,11,42,60,0,13,42,60,0,14,42,60,0,15,42,60,0,16,42,60,0,17,42,60,0,18,42,60,0,19,42,60,0,20,42,60,0,21,42,60,0,22,42,60,0,23,42,60,0,24,42,60,0,25,42,60,0,26,42,60,0,27,42,60,0,28,42,60,0,29,42,60,0,30,42,60,0,31,42,60,0,32,42,60,0,33,42,60,0,34,42,60,0,35,42,60,0,36,42,60,0,37,42,60,0,38,42,60,0,39,42,60,0,40,42,60,0,41,42,60,0,42,42,60,0,43,42,60,0,44,42,60,0,45,42,60,0,46,42,60,0,47,42,60,0,48,42,60,0,49,42,60,0,50,42,60,0,51,42,60,0,52,42,60,0,53,42,60,0,54,42,60,0,55,42,60,0,56,42,60,0,57,42,60,0,58,42,60,0,59,42,60,0,60,42,60,0,61,42,60,0,62,42,60,0,63,42,60,0,64,42,60,0,65,42,60,0,66,42,60,0,67,42,60,0,68,42,60,0,69,42,60,0,70,42,60,0,71,42,60,0,72,42,60,0,73,42,60,0,74,42,60,0,75,42,60,0,76,42,60,0,77,42,60,0,78,42,60,0,79,42,60,0,80,42,60,0,81,42,60,0,82,42,60,0,83,42,60,0,84,42,60,0,85,42,60,0,86,42,60,0,87,42,60,0,88,42,60,0,89,42,60,0,90,42,60,0,91,42,60,0,92,42,60,0,93,42,60,0,94,42,60,0,95,42,60,0,96,42,60,0,97,42,60,0,98,42,60,0,99,42,60,0,100,42,60,0,101,42,60,0,102,42,60,0,103,42,60,0,104,42,60,0,105,42,60,0,106,42,60,0,107,42,60,0,108,42,60,0,109,42,60,0,110,42,60,0,111,42,60,0,112,42,60,0,113,42,60,0,114,42,60,0,115,42,60,0,119,42,60,0,120,42,60,0,121,42,60,0,122,42,60,0,123,42,60,0,124,42,60,0,125,42,60,0,126,42,60,0,127,42,60,0,128,42,60,0,129,42,60,0,130,42,60,0,131,42,60,0,132,42,60,0,133,42,60,0,134,42,60,0,135,42,60,0,136,42,60,0,137,42,60,0,138,42,60,0,139,42,60,0,140,42,60,0,141,42,60,0,142,42,60,0,143,42,60,0,144,42,60,0,145,42,60,0,146,42,60,0,147,42,60,0,148,42,60,0,149,42,60,0,150,42,60,0,151,42,60,0,152,42,60,0,153,42,60,0,154,42,60,0,155,42,60,0,156,42,60,0,157,42,60,0,158,42,60,0,159,42,60,0,160,42,60,0,161,42,60,0,162,42,60,0,163,42,60,0,164,42,60,0,165,42,60,0,166,42,60,0,167,42,60,0,168,42,60,0,169,42,60,0,170,42,60,0,171,42,60,0,172,42,60,0,173,42,60,0,174,42,60,0,175,42,60,0,176,42,60,0,177,42,60,0,178,42,60,0,179,42,60,0,180,42,60,0,181,42,60,0,182,42,60,0,183,42,60,0,184,42,60,0,185,42,60,0,186,42,60,0,187,42,60,0,188,42,60,0,189,42,60,0,190,42,60,0,191,42,60,0,192,42,60,0,193,42,60,0,194,42,60,0,195,42,60,0,196,42,60,0,197,42,60,0,198,42,60,0,199,42,60,0,200,42,60,0,201,42,60,0,202,42,60,0,203,42,60,0,204,42,60,0,205,42,60,0,206,42,60,0,207,42,60,0,208,42,60,0,209,42,60,0,210,42,60,0,211,42,60,0,212,42,60,0,213,42,60,0,214,42,60,0,215,42,60,0,216,42,60,0,217,42,60,0,218,42,60,0,219,42,60,0,221,42,60,0,222,42,60,0,223,42,60,0,224,42,60,0,225,42,60,0,226,42,60,0,227,42,60,0,228,42,60,0,229,42,60,0,230,42,60,0,231,42,60,0,232,42,60,0,233,42,60,0,234,42,60,0,235,42,60,0,236,42,60,0,237,42,60,0,238,42,60,0,239,42,60,0,240,42,60,0,241,42,60,0,242,42,60,0,243,42,60,0,244,42,60,0,245,42,60,0,246,42,60,0,247,42,60,0,248,42,60,0,249,42,60,0,250,42,60,0,251,42,60,0,252,42,60,0,253,42,60,0,254,42,60,0,255,42,60,0,0,43,60,0,1,43,60,0,2,43,60,0,3,43,60,0,4,43,60,0,5,43,60,0,6,43,60,0,7,43,60,0,8,43,60,0,9,43,60,0,10,43,60,0,11,43,60,0,12,43,60,0,13,43,60,0,14,43,60,0,15,43,60,0,16,43,60,0,17,43,60,0,18,43,60,0,19,43,60,0,20,43,60,0,21,43,60,0,22,43,60,0,23,43,60,0,24,43,60,0,25,43,60,0,26,43,60,0,27,43,60,0,28,43,60,0,29,43,60,0,30,43,60,0,31,43,60,0,32,43,60,0,33,43,60,0,34,43,60,0,35,43,60,0,36,43,60,0,37,43,60,0,38,43,60,0,39,43,60,0,40,43,60,0,41,43,60,0,42,43,60,0,43,43,60,0,44,43,60,0,45,43,60,0,46,43,60,0,47,43,60,0,48,43,60,0,49,43,60,0,50,43,60,0,51,43,60,0,52,43,60,0,53,43,60,0,54,43,60,0,55,43,60,0,56,43,60,0,57,43,60,0,58,43,60,0,59,43,60,0,60,43,60,0,61,43,60,0,62,43,60,0,63,43,60,0,64,43,60,0,65,43,60,0,66,43,60,0,67,43,60,0,68,43,60,0,69,43,60,0,70,43,60,0,71,43,60,0,72,43,60,0,73,43,60,0,74,43,60,0,75,43,60,0,76,43,60,0,77,43,60,0,78,43,60,0,79,43,60,0,80,43,60,0,81,43,60,0,82,43,60,0,83,43,60,0,84,43,60,0,85,43,60,0,86,43,60,0,87,43,60,0,88,43,60,0,89,43,60,0,90,43,60,0,91,43,60,0,92,43,60,0,93,43,60,0,94,43,60,0,95,43,60,0,96,43,60,0,97,43,60,0,98,43,60,0,99,43,60,0,100,43,60,0,101,43,60,0,102,43,60,0,103,43,60,0,104,43,60,0,105,43,60,0,106,43,60,0,107,43,60,0,108,43,60,0,109,43,60,0,110,43,60,0,111,43,60,0,112,43,60,0,113,43,60,0,114,43,60,0,115,43,60,0,118,43,60,0,119,43,60,0,120,43,60,0,121,43,60,0,122,43,60,0,123,43,60,0,124,43,60,0,125,43,60,0,126,43,60,0,127,43,60,0,128,43,60,0,129,43,60,0,130,43,60,0,131,43,60,0,132,43,60,0,133,43,60,0,134,43,60,0,135,43,60,0,136,43,60,0,137,43,60,0,138,43,60,0,139,43,60,0,140,43,60,0,141,43,60,0,142,43,60,0,143,43,60,0,144,43,60,0,145,43,60,0,146,43,60,0,147,43,60,0,148,43,60,0,149,43,60,0,151,43,60,0,152,43,60,0,153,43,60,0,154,43,60,0,155,43,60,0,156,43,60,0,157,43,60,0,158,43,60,0,159,43,60,0,160,43,60,0,161,43,60,0,162,43,60,0,163,43,60,0,164,43,60,0,165,43,60,0,166,43,60,0,167,43,60,0,168,43,60,0,169,43,60,0,170,43,60,0,171,43,60,0,172,43,60,0,173,43,60,0,174,43,60,0,175,43,60,0,176,43,60,0,177,43,60,0,178,43,60,0,179,43,60,0,180,43,60,0,181,43,60,0,182,43,60,0,183,43,60,0,184,43,60,0,185,43,60,0,186,43,60,0,187,43,60,0,188,43,60,0,189,43,60,0,190,43,60,0,191,43,60,0,192,43,60,0,193,43,60,0,194,43,60,0,195,43,60,0,196,43,60,0,197,43,60,0,198,43,60,0,199,43,60,0,200,43,60,0,201,43,60,0,202,43,60,0,203,43,60,0,204,43,60,0,205,43,60,0,206,43,60,0,207,43,60,0,208,43,60,0,209,43,60,0,210,43,60,0,211,43,60,0,212,43,60,0,213,43,60,0,214,43,60,0,215,43,60,0,216,43,60,0,217,43,60,0,218,43,60,0,219,43,60,0,220,43,60,0,221,43,60,0,222,43,60,0,223,43,60,0,224,43,60,0,225,43,60,0,226,43,60,0,227,43,60,0,228,43,60,0,229,43,60,0,230,43,60,0,231,43,60,0,232,43,60,0,233,43,60,0,234,43,60,0,235,43,60,0,236,43,60,0,237,43,60,0,238,43,60,0,239,43,60,0,240,43,60,0,241,43,60,0,242,43,60,0,243,43,60,0,244,43,60,0,245,43,60,0,246,43,60,0,247,43,60,0,248,43,60,0,249,43,60,0,250,43,60,0,251,43,60,0,252,43,60,0,253,43,60,0,254,43,60,0,255,43,60,0,229,44,60,0,230,44,60,0,231,44,60,0,232,44,60,0,233,44,60,0,234,44,60,0,0,40,60,0,1,40,60,0,2,40,60,0,3,40,60,0,4,40,60,0,5,40,60,0,6,40,60,0,7,40,60,0,8,40,60,0,9,40,60,0,10,40,60,0,11,40,60,0,12,40,60,0,13,40,60,0,14,40,60,0,15,40,60,0,16,40,60,0,17,40,60,0,18,40,60,0,19,40,60,0,20,40,60,0,21,40,60,0,22,40,60,0,23,40,60,0,24,40,60,0,25,40,60,0,26,40,60,0,27,40,60,0,28,40,60,0,29,40,60,0,30,40,60,0,31,40,60,0,32,40,60,0,33,40,60,0,34,40,60,0,35,40,60,0,36,40,60,0,37,40,60,0,38,40,60,0,39,40,60,0,40,40,60,0,41,40,60,0,42,40,60,0,43,40,60,0,44,40,60,0,45,40,60,0,46,40,60,0,47,40,60,0,48,40,60,0,49,40,60,0,50,40,60,0,51,40,60,0,52,40,60,0,53,40,60,0,54,40,60,0,55,40,60,0,56,40,60,0,57,40,60,0,58,40,60,0,59,40,60,0,60,40,60,0,61,40,60,0,62,40,60,0,63,40,60,0,64,40,60,0,65,40,60,0,66,40,60,0,67,40,60,0,68,40,60,0,69,40,60,0,70,40,60,0,71,40,60,0,72,40,60,0,73,40,60,0,74,40,60,0,75,40,60,0,76,40,60,0,77,40,60,0,78,40,60,0,79,40,60,0,80,40,60,0,81,40,60,0,82,40,60,0,83,40,60,0,84,40,60,0,85,40,60,0,86,40,60,0,87,40,60,0,88,40,60,0,89,40,60,0,90,40,60,0,91,40,60,0,92,40,60,0,93,40,60,0,94,40,60,0,95,40,60,0,96,40,60,0,97,40,60,0,98,40,60,0,99,40,60,0,100,40,60,0,101,40,60,0,102,40,60,0,103,40,60,0,104,40,60,0,105,40,60,0,106,40,60,0,107,40,60,0,108,40,60,0,109,40,60,0,110,40,60,0,111,40,60,0,112,40,60,0,113,40,60,0,114,40,60,0,115,40,60,0,116,40,60,0,117,40,60,0,118,40,60,0,119,40,60,0,120,40,60,0,121,40,60,0,122,40,60,0,123,40,60,0,124,40,60,0,125,40,60,0,126,40,60,0,127,40,60,0,128,40,60,0,129,40,60,0,130,40,60,0,131,40,60,0,132,40,60,0,133,40,60,0,134,40,60,0,135,40,60,0,136,40,60,0,137,40,60,0,138,40,60,0,139,40,60,0,140,40,60,0,141,40,60,0,142,40,60,0,143,40,60,0,144,40,60,0,145,40,60,0,146,40,60,0,147,40,60,0,148,40,60,0,149,40,60,0,150,40,60,0,151,40,60,0,152,40,60,0,153,40,60,0,154,40,60,0,155,40,60,0,156,40,60,0,157,40,60,0,158,40,60,0,159,40,60,0,160,40,60,0,161,40,60,0,162,40,60,0,163,40,60,0,164,40,60,0,165,40,60,0,166,40,60,0,167,40,60,0,168,40,60,0,169,40,60,0,170,40,60,0,171,40,60,0,172,40,60,0,173,40,60,0,174,40,60,0,175,40,60,0,176,40,60,0,177,40,60,0,178,40,60,0,179,40,60,0,180,40,60,0,181,40,60,0,182,40,60,0,183,40,60,0,184,40,60,0,185,40,60,0,186,40,60,0,187,40,60,0,188,40,60,0,189,40,60,0,190,40,60,0,191,40,60,0,192,40,60,0,193,40,60,0,194,40,60,0,195,40,60,0,196,40,60,0,197,40,60,0,198,40,60,0,199,40,60,0,200,40,60,0,201,40,60,0,202,40,60,0,203,40,60,0,204,40,60,0,205,40,60,0,206,40,60,0,207,40,60,0,208,40,60,0,209,40,60,0,210,40,60,0,211,40,60,0,212,40,60,0,213,40,60,0,214,40,60,0,215,40,60,0,216,40,60,0,217,40,60,0,218,40,60,0,219,40,60,0,220,40,60,0,221,40,60,0,222,40,60,0,223,40,60,0,224,40,60,0,225,40,60,0,226,40,60,0,227,40,60,0,228,40,60,0,229,40,60,0,230,40,60,0,231,40,60,0,232,40,60,0,233,40,60,0,234,40,60,0,235,40,60,0,236,40,60,0,237,40,60,0,238,40,60,0,239,40,60,0,240,40,60,0,241,40,60,0,242,40,60,0,243,40,60,0,244,40,60,0,245,40,60,0,246,40,60,0,247,40,60,0,248,40,60,0,249,40,60,0,250,40,60,0,251,40,60,0,252,40,60,0,253,40,60,0,254,40,60,0,255,40,60,0,138,38,60,0,139,38,60,0,140,38,60,0,141,38,60,0,142,38,60,0,143,38,60,0,48,38,60,0,49,38,60,0,50,38,60,0,51,38,60,0,52,38,60,0,53,38,60,0,54,38,60,0,55,38,60,0,192,77,60,0,193,77,60,0,194,77,60,0,195,77,60,0,196,77,60,0,197,77,60,0,198,77,60,0,199,77,60,0,200,77,60,0,201,77,60,0,202,77,60,0,203,77,60,0,204,77,60,0,205,77,60,0,206,77,60,0,207,77,60,0,208,77,60,0,209,77,60,0,210,77,60,0,211,77,60,0,212,77,60,0,213,77,60,0,214,77,60,0,215,77,60,0,216,77,60,0,217,77,60,0,218,77,60,0,219,77,60,0,220,77,60,0,221,77,60,0,222,77,60,0,223,77,60,0,224,77,60,0,225,77,60,0,226,77,60,0,227,77,60,0,228,77,60,0,229,77,60,0,230,77,60,0,231,77,60,0,232,77,60,0,233,77,60,0,234,77,60,0,235,77,60,0,236,77,60,0,237,77,60,0,238,77,60,0,239,77,60,0,240,77,60,0,241,77,60,0,242,77,60,0,243,77,60,0,244,77,60,0,245,77,60,0,246,77,60,0,247,77,60,0,248,77,60,0,249,77,60,0,250,77,60,0,251,77,60,0,252,77,60,0,253,77,60,0,254,77,60,0,255,77,60,0,52,216,0,223,60,0,52,216,1,223,60,0,52,216,2,223,60,0,52,216,3,223,60,0,52,216,4,223,60,0,52,216,5,223,60,0,52,216,6,223,60,0,52,216,7,223,60,0,52,216,8,223,60,0,52,216,9,223,60,0,52,216,10,223,60,0,52,216,11,223,60,0,52,216,12,223,60,0,52,216,13,223,60,0,52,216,14,223,60,0,52,216,15,223,60,0,52,216,16,223,60,0,52,216,17,223,60,0,52,216,18,223,60,0,52,216,19,223,60,0,52,216,20,223,60,0,52,216,21,223,60,0,52,216,22,223,60,0,52,216,23,223,60,0,52,216,24,223,60,0,52,216,25,223,60,0,52,216,26,223,60,0,52,216,27,223,60,0,52,216,28,223,60,0,52,216,29,223,60,0,52,216,30,223,60,0,52,216,31,223,60,0,52,216,32,223,60,0,52,216,33,223,60,0,52,216,34,223,60,0,52,216,35,223,60,0,52,216,36,223,60,0,52,216,37,223,60,0,52,216,38,223,60,0,52,216,39,223,60,0,52,216,40,223,60,0,52,216,41,223,60,0,52,216,42,223,60,0,52,216,43,223,60,0,52,216,44,223,60,0,52,216,45,223,60,0,52,216,46,223,60,0,52,216,47,223,60,0,52,216,48,223,60,0,52,216,49,223,60,0,52,216,50,223,60,0,52,216,51,223,60,0,52,216,52,223,60,0,52,216,53,223,60,0,52,216,54,223,60,0,52,216,55,223,60,0,52,216,56,223,60,0,52,216,57,223,60,0,52,216,58,223,60,0,52,216,59,223,60,0,52,216,60,223,60,0,52,216,61,223,60,0,52,216,62,223,60,0,52,216,63,223,60,0,52,216,64,223,60,0,52,216,65,223,60,0,52,216,66,223,60,0,52,216,67,223,60,0,52,216,68,223,60,0,52,216,69,223,60,0,52,216,70,223,60,0,52,216,71,223,60,0,52,216,72,223,60,0,52,216,73,223,60,0,52,216,74,223,60,0,52,216,75,223,60,0,52,216,76,223,60,0,52,216,77,223,60,0,52,216,78,223,60,0,52,216,79,223,60,0,52,216,80,223,60,0,52,216,81,223,60,0,52,216,82,223,60,0,52,216,83,223,60,0,52,216,84,223,60,0,52,216,85,223,60,0,52,216,86,223,60,0,144,164,60,0,145,164,60,0,146,164,60,0,147,164,60,0,148,164,60,0,149,164,60,0,150,164,60,0,151,164,60,0,152,164,60,0,153,164,60,0,154,164,60,0,155,164,60,0,156,164,60,0,157,164,60,0,158,164,60,0,159,164,60,0,160,164,60,0,161,164,60,0,162,164,60,0,163,164,60,0,164,164,60,0,165,164,60,0,166,164,60,0,167,164,60,0,168,164,60,0,169,164,60,0,170,164,60,0,171,164,60,0,172,164,60,0,173,164,60,0,174,164,60,0,175,164,60,0,176,164,60,0,177,164,60,0,178,164,60,0,179,164,60,0,180,164,60,0,181,164,60,0,182,164,60,0,183,164,60,0,184,164,60,0,185,164,60,0,186,164,60,0,187,164,60,0,188,164,60,0,189,164,60,0,190,164,60,0,191,164,60,0,192,164,60,0,193,164,60,0,194,164,60,0,195,164,60,0,196,164,60,0,197,164,60,0,198,164,60,0,0,216,55,221,60,0,0,216,56,221,60,0,0,216,57,221,60,0,0,216,58,221,60,0,0,216,59,221,60,0,0,216,60,221,60,0,0,216,61,221,60,0,0,216,62,221,60,0,0,216,63,221,60,0,0,216,121,221,60,0,0,216,122,221,60,0,0,216,123,221,60,0,0,216,124,221,60,0,0,216,125,221,60,0,0,216,126,221,60,0,0,216,127,221,60,0,0,216,128,221,60,0,0,216,129,221,60,0,0,216,130,221,60,0,0,216,131,221,60,0,0,216,132,221,60,0,0,216,133,221,60,0,0,216,134,221,60,0,0,216,135,221,60,0,0,216,136,221,60,0,0,216,137,221,60,0,0,216,140,221,60,0,0,216,141,221,60,0,0,216,142,221,60,0,0,216,144,221,60,0,0,216,145,221,60,0,0,216,146,221,60,0,0,216,147,221,60,0,0,216,148,221,60,0,0,216,149,221,60,0,0,216,150,221,60,0,0,216,151,221,60,0,0,216,152,221,60,0,0,216,153,221,60,0,0,216,154,221,60,0,0,216,155,221,60,0,0,216,156,221,60,0,0,216,160,221,60,0,0,216,208,221,60,0,0,216,209,221,60,0,0,216,210,221,60,0,0,216,211,221,60,0,0,216,212,221,60,0,0,216,213,221,60,0,0,216,214,221,60,0,0,216,215,221,60,0,0,216,216,221,60,0,0,216,217,221,60,0,0,216,218,221,60,0,0,216,219,221,60,0,0,216,220,221,60,0,0,216,221,221,60,0,0,216,222,221,60,0,0,216,223,221,60,0,0,216,224,221,60,0,0,216,225,221,60,0,0,216,226,221,60,0,0,216,227,221,60,0,0,216,228,221,60,0,0,216,229,221,60,0,0,216,230,221,60,0,0,216,231,221,60,0,0,216,232,221,60,0,0,216,233,221,60,0,0,216,234,221,60,0,0,216,235,221,60,0,0,216,236,221,60,0,0,216,237,221,60,0,0,216,238,221,60,0,0,216,239,221,60,0,0,216,240,221,60,0,0,216,241,221,60,0,0,216,242,221,60,0,0,216,243,221,60,0,0,216,244,221,60,0,0,216,245,221,60,0,0,216,246,221,60,0,0,216,247,221,60,0,0,216,248,221,60,0,0,216,249,221,60,0,0,216,250,221,60,0,0,216,251,221,60,0,0,216,252,221,60,0,14,32,2,216,119,220,14,32,60,0,14,32,2,216,120,220,14,32,60,0,26,216,60,223,60,0,26,216,61,223,60,0,26,216,62,223,60,0,26,216,63,223,60,0,26,216,69,223,60,0,56,216,79,221,60,0,51,216,80,223,60,0,51,216,81,223,60,0,51,216,82,223,60,0,51,216,83,223,60,0,51,216,84,223,60,0,51,216,85,223,60,0,51,216,86,223,60,0,51,216,87,223,60,0,51,216,88,223,60,0,51,216,89,223,60,0,51,216,90,223,60,0,51,216,91,223,60,0,51,216,92,223,60,0,51,216,93,223,60,0,51,216,94,223,60,0,51,216,95,223,60,0,51,216,96,223,60,0,51,216,97,223,60,0,51,216,98,223,60,0,51,216,99,223,60,0,51,216,100,223,60,0,51,216,101,223,60,0,51,216,102,223,60,0,51,216,103,223,60,0,51,216,104,223,60,0,51,216,105,223,60,0,51,216,106,223,60,0,51,216,107,223,60,0,51,216,108,223,60,0,51,216,109,223,60,0,51,216,110,223,60,0,51,216,111,223,60,0,51,216,112,223,60,0,51,216,113,223,60,0,51,216,114,223,60,0,51,216,115,223,60,0,51,216,116,223,60,0,51,216,117,223,60,0,51,216,118,223,60,0,51,216,119,223,60,0,51,216,120,223,60,0,51,216,121,223,60,0,51,216,122,223,60,0,51,216,123,223,60,0,51,216,124,223,60,0,51,216,125,223,60,0,51,216,126,223,60,0,51,216,127,223,60,0,51,216,128,223,60,0,51,216,129,223,60,0,51,216,130,223,60,0,51,216,131,223,60,0,51,216,132,223,60,0,51,216,133,223,60,0,51,216,134,223,60,0,51,216,135,223,60,0,51,216,136,223,60,0,51,216,137,223,60,0,51,216,138,223,60,0,51,216,139,223,60,0,51,216,140,223,60,0,51,216,141,223,60,0,51,216,142,223,60,0,51,216,143,223,60,0,51,216,144,223,60,0,51,216,145,223,60,0,51,216,146,223,60,0,51,216,147,223,60,0,51,216,148,223,60,0,51,216,149,223,60,0,51,216,150,223,60,0,51,216,151,223,60,0,51,216,152,223,60,0,51,216,153,223,60,0,51,216,154,223,60,0,51,216,155,223,60,0,51,216,156,223,60,0,51,216,157,223,60,0,51,216,158,223,60,0,51,216,159,223,60,0,51,216,160,223,60,0,51,216,161,223,60,0,51,216,162,223,60,0,51,216,163,223,60,0,51,216,164,223,60,0,51,216,165,223,60,0,51,216,166,223,60,0,51,216,167,223,60,0,51,216,168,223,60,0,51,216,169,223,60,0,51,216,170,223,60,0,51,216,171,223,60,0,51,216,172,223,60,0,51,216,173,223,60,0,51,216,174,223,60,0,51,216,175,223,60,0,51,216,176,223,60,0,51,216,177,223,60,0,51,216,178,223,60,0,51,216,179,223,60,0,51,216,180,223,60,0,51,216,181,223,60,0,51,216,182,223,60,0,51,216,183,223,60,0,51,216,184,223,60,0,51,216,185,223,60,0,51,216,186,223,60,0,51,216,187,223,60,0,51,216,188,223,60,0,51,216,189,223,60,0,51,216,190,223,60,0,51,216,191,223,60,0,51,216,192,223,60,0,51,216,193,223,60,0,51,216,194,223,60,0,51,216,195,223,60,0,52,216,0,220,60,0,52,216,1,220,60,0,52,216,2,220,60,0,52,216,3,220,60,0,52,216,4,220,60,0,52,216,5,220,60,0,52,216,6,220,60,0,52,216,7,220,60,0,52,216,8,220,60,0,52,216,9,220,60,0,52,216,10,220,60,0,52,216,11,220,60,0,52,216,12,220,60,0,52,216,13,220,60,0,52,216,14,220,60,0,52,216,15,220,60,0,52,216,16,220,60,0,52,216,17,220,60,0,52,216,18,220,60,0,52,216,19,220,60,0,52,216,20,220,60,0,52,216,21,220,60,0,52,216,22,220,60,0,52,216,23,220,60,0,52,216,24,220,60,0,52,216,25,220,60,0,52,216,26,220,60,0,52,216,27,220,60,0,52,216,28,220,60,0,52,216,29,220,60,0,52,216,30,220,60,0,52,216,31,220,60,0,52,216,32,220,60,0,52,216,33,220,60,0,52,216,34,220,60,0,52,216,35,220,60,0,52,216,36,220,60,0,52,216,37,220,60,0,52,216,38,220,60,0,52,216,39,220,60,0,52,216,40,220,60,0,52,216,41,220,60,0,52,216,42,220,60,0,52,216,43,220,60,0,52,216,44,220,60,0,52,216,45,220,60,0,52,216,46,220,60,0,52,216,47,220,60,0,52,216,48,220,60,0,52,216,49,220,60,0,52,216,50,220,60,0,52,216,51,220,60,0,52,216,52,220,60,0,52,216,53,220,60,0,52,216,54,220,60,0,52,216,55,220,60,0,52,216,56,220,60,0,52,216,57,220,60,0,52,216,58,220,60,0,52,216,59,220,60,0,52,216,60,220,60,0,52,216,61,220,60,0,52,216,62,220,60,0,52,216,63,220,60,0,52,216,64,220,60,0,52,216,65,220,60,0,52,216,66,220,60,0,52,216,67,220,60,0,52,216,68,220,60,0,52,216,69,220,60,0,52,216,70,220,60,0,52,216,71,220,60,0,52,216,72,220,60,0,52,216,73,220,60,0,52,216,74,220,60,0,52,216,75,220,60,0,52,216,76,220,60,0,52,216,77,220,60,0,52,216,78,220,60,0,52,216,79,220,60,0,52,216,80,220,60,0,52,216,81,220,60,0,52,216,82,220,60,0,52,216,83,220,60,0,52,216,84,220,60,0,52,216,85,220,60,0,52,216,86,220,60,0,52,216,87,220,60,0,52,216,88,220,60,0,52,216,89,220,60,0,52,216,90,220,60,0,52,216,91,220,60,0,52,216,92,220,60,0,52,216,93,220,60,0,52,216,94,220,60,0,52,216,95,220,60,0,52,216,96,220,60,0,52,216,97,220,60,0,52,216,98,220,60,0,52,216,99,220,60,0,52,216,100,220,60,0,52,216,101,220,60,0,52,216,102,220,60,0,52,216,103,220,60,0,52,216,104,220,60,0,52,216,105,220,60,0,52,216,106,220,60,0,52,216,107,220,60,0,52,216,108,220,60,0,52,216,109,220,60,0,52,216,110,220,60,0,52,216,111,220,60,0,52,216,112,220,60,0,52,216,113,220,60,0,52,216,114,220,60,0,52,216,115,220,60,0,52,216,116,220,60,0,52,216,117,220,60,0,52,216,118,220,60,0,52,216,119,220,60,0,52,216,120,220,60,0,52,216,121,220,60,0,52,216,122,220,60,0,52,216,123,220,60,0,52,216,124,220,60,0,52,216,125,220,60,0,52,216,126,220,60,0,52,216,127,220,60,0,52,216,128,220,60,0,52,216,129,220,60,0,52,216,130,220,60,0,52,216,131,220,60,0,52,216,132,220,60,0,52,216,133,220,60,0,52,216,134,220,60,0,52,216,135,220,60,0,52,216,136,220,60,0,52,216,137,220,60,0,52,216,138,220,60,0,52,216,139,220,60,0,52,216,140,220,60,0,52,216,141,220,60,0,52,216,142,220,60,0,52,216,143,220,60,0,52,216,144,220,60,0,52,216,145,220,60,0,52,216,146,220,60,0,52,216,147,220,60,0,52,216,148,220,60,0,52,216,149,220,60,0,52,216,150,220,60,0,52,216,151,220,60,0,52,216,152,220,60,0,52,216,153,220,60,0,52,216,154,220,60,0,52,216,155,220,60,0,52,216,156,220,60,0,52,216,157,220,60,0,52,216,158,220,60,0,52,216,159,220,60,0,52,216,160,220,60,0,52,216,161,220,60,0,52,216,162,220,60,0,52,216,163,220,60,0,52,216,164,220,60,0,52,216,165,220,60,0,52,216,166,220,60,0,52,216,167,220,60,0,52,216,168,220,60,0,52,216,169,220,60,0,52,216,170,220,60,0,52,216,171,220,60,0,52,216,172,220,60,0,52,216,173,220,60,0,52,216,174,220,60,0,52,216,175,220,60,0,52,216,176,220,60,0,52,216,177,220,60,0,52,216,178,220,60,0,52,216,179,220,60,0,52,216,180,220,60,0,52,216,181,220,60,0,52,216,182,220,60,0,52,216,183,220,60,0,52,216,184,220,60,0,52,216,185,220,60,0,52,216,186,220,60,0,52,216,187,220,60,0,52,216,188,220,60,0,52,216,189,220,60,0,52,216,190,220,60,0,52,216,191,220,60,0,52,216,192,220,60,0,52,216,193,220,60,0,52,216,194,220,60,0,52,216,195,220,60,0,52,216,196,220,60,0,52,216,197,220,60,0,52,216,198,220,60,0,52,216,199,220,60,0,52,216,200,220,60,0,52,216,201,220,60,0,52,216,202,220,60,0,52,216,203,220,60,0,52,216,204,220,60,0,52,216,205,220,60,0,52,216,206,220,60,0,52,216,207,220,60,0,52,216,208,220,60,0,52,216,209,220,60,0,52,216,210,220,60,0,52,216,211,220,60,0,52,216,212,220,60,0,52,216,213,220,60,0,52,216,214,220,60,0,52,216,215,220,60,0,52,216,216,220,60,0,52,216,217,220,60,0,52,216,218,220,60,0,52,216,219,220,60,0,52,216,220,220,60,0,52,216,221,220,60,0,52,216,222,220,60,0,52,216,223,220,60,0,52,216,224,220,60,0,52,216,225,220,60,0,52,216,226,220,60,0,52,216,227,220,60,0,52,216,228,220,60,0,52,216,229,220,60,0,52,216,230,220,60,0,52,216,231,220,60,0,52,216,232,220,60,0,52,216,233,220,60,0,52,216,234,220,60,0,52,216,235,220,60,0,52,216,236,220,60,0,52,216,237,220,60,0,52,216,238,220,60,0,52,216,239,220,60,0,52,216,240,220,60,0,52,216,241,220,60,0,52,216,242,220,60,0,52,216,243,220,60,0,52,216,244,220,60,0,52,216,245,220,60,0,52,216,0,221,60,0,52,216,1,221,60,0,52,216,2,221,60,0,52,216,3,221,60,0,52,216,4,221,60,0,52,216,5,221,60,0,52,216,6,221,60,0,52,216,7,221,60,0,52,216,8,221,60,0,52,216,9,221,60,0,52,216,10,221,60,0,52,216,11,221,60,0,52,216,12,221,60,0,52,216,13,221,60,0,52,216,14,221,60,0,52,216,15,221,60,0,52,216,16,221,60,0,52,216,17,221,60,0,52,216,18,221,60,0,52,216,19,221,60,0,52,216,20,221,60,0,52,216,21,221,60,0,52,216,22,221,60,0,52,216,23,221,60,0,52,216,24,221,60,0,52,216,25,221,60,0,52,216,26,221,60,0,52,216,27,221,60,0,52,216,28,221,60,0,52,216,29,221,60,0,52,216,30,221,60,0,52,216,31,221,60,0,52,216,32,221,60,0,52,216,33,221,60,0,52,216,34,221,60,0,52,216,35,221,60,0,52,216,36,221,60,0,52,216,37,221,60,0,52,216,38,221,60,0,109,38,60,0,110,38,60,0,111,38,60,0,52,216,42,221,60,0,52,216,43,221,60,0,52,216,44,221,60,0,52,216,45,221,60,0,52,216,46,221,60,0,52,216,47,221,60,0,52,216,48,221,60,0,52,216,49,221,60,0,52,216,50,221,60,0,52,216,51,221,60,0,52,216,52,221,60,0,52,216,53,221,60,0,52,216,54,221,60,0,52,216,55,221,60,0,52,216,56,221,60,0,52,216,57,221,60,0,52,216,41,221,60,0,52,216,58,221,60,0,52,216,59,221,60,0,52,216,60,221,60,0,52,216,61,221,60,0,52,216,62,221,60,0,52,216,63,221,60,0,52,216,64,221,60,0,52,216,65,221,60,0,52,216,66,221,60,0,52,216,67,221,60,0,52,216,68,221,60,0,52,216,69,221,60,0,52,216,70,221,60,0,52,216,71,221,60,0,52,216,72,221,60,0,52,216,73,221,60,0,52,216,74,221,60,0,52,216,75,221,60,0,52,216,76,221,60,0,52,216,77,221,60,0,52,216,78,221,60,0,52,216,79,221,60,0,52,216,80,221,60,0,52,216,81,221,60,0,52,216,82,221,60,0,52,216,83,221,60,0,52,216,84,221,60,0,52,216,85,221,60,0,52,216,86,221,60,0,52,216,87,221,60,0,52,216,88,221,60,0,52,216,89,221,60,0,52,216,90,221,60,0,52,216,91,221,60,0,52,216,92,221,60,0,52,216,93,221,60,0,52,216,106,221,60,0,52,216,107,221,60,0,52,216,108,221,60,0,52,216,131,221,60,0,52,216,132,221,60,0,52,216,140,221,60,0,52,216,141,221,60,0,52,216,142,221,60,0,52,216,143,221,60,0,52,216,144,221,60,0,52,216,145,221,60,0,52,216,146,221,60,0,52,216,147,221,60,0,52,216,148,221,60,0,52,216,149,221,60,0,52,216,150,221,60,0,52,216,151,221,60,0,52,216,152,221,60,0,52,216,153,221,60,0,52,216,154,221,60,0,52,216,155,221,60,0,52,216,156,221,60,0,52,216,157,221,60,0,52,216,158,221,60,0,52,216,159,221,60,0,52,216,160,221,60,0,52,216,161,221,60,0,52,216,162,221,60,0,52,216,163,221,60,0,52,216,164,221,60,0,52,216,165,221,60,0,52,216,166,221,60,0,52,216,167,221,60,0,52,216,168,221,60,0,52,216,169,221,60,0,52,216,174,221,60,0,52,216,175,221,60,0,52,216,176,221,60,0,52,216,177,221,60,0,52,216,178,221,60,0,52,216,179,221,60,0,52,216,180,221,60,0,52,216,181,221,60,0,52,216,182,221,60,0,52,216,183,221,60,0,52,216,184,221,60,0,52,216,185,221,60,0,52,216,186,221,60,0,52,216,193,221,60,0,52,216,194,221,60,0,52,216,195,221,60,0,52,216,196,221,60,0,52,216,197,221,60,0,52,216,198,221,60,0,52,216,199,221,60,0,52,216,200,221,60,0,52,216,201,221,60,0,52,216,202,221,60,0,52,216,203,221,60,0,52,216,204,221,60,0,52,216,205,221,60,0,52,216,206,221,60,0,52,216,207,221,60,0,52,216,208,221,60,0,52,216,209,221,60,0,52,216,210,221,60,0,52,216,211,221,60,0,52,216,212,221,60,0,52,216,213,221,60,0,52,216,214,221,60,0,52,216,215,221,60,0,52,216,216,221,60,0,52,216,217,221,60,0,52,216,218,221,60,0,52,216,219,221,60,0,52,216,220,221,60,0,52,216,221,221,60,0,52,216,222,221,60,0,52,216,223,221,60,0,52,216,224,221,60,0,52,216,225,221,60,0,52,216,226,221,60,0,52,216,227,221,60,0,52,216,228,221,60,0,52,216,229,221,60,0,52,216,230,221,60,0,52,216,231,221,60,0,52,216,232,221,60,0,52,216,233,221,60,0,52,216,234,221,60,0,52,216,0,222,60,0,52,216,1,222,60,0,52,216,2,222,60,0,52,216,3,222,60,0,52,216,4,222,60,0,52,216,5,222,60,0,52,216,6,222,60,0,52,216,7,222,60,0,52,216,8,222,60,0,52,216,9,222,60,0,52,216,10,222,60,0,52,216,11,222,60,0,52,216,12,222,60,0,52,216,13,222,60,0,52,216,14,222,60,0,52,216,15,222,60,0,52,216,16,222,60,0,52,216,17,222,60,0,52,216,18,222,60,0,52,216,19,222,60,0,52,216,20,222,60,0,52,216,21,222,60,0,52,216,22,222,60,0,52,216,23,222,60,0,52,216,24,222,60,0,52,216,25,222,60,0,52,216,26,222,60,0,52,216,27,222,60,0,52,216,28,222,60,0,52,216,29,222,60,0,52,216,30,222,60,0,52,216,31,222,60,0,52,216,32,222,60,0,52,216,33,222,60,0,52,216,34,222,60,0,52,216,35,222,60,0,52,216,36,222,60,0,52,216,37,222,60,0,52,216,38,222,60,0,52,216,39,222,60,0,52,216,40,222,60,0,52,216,41,222,60,0,52,216,42,222,60,0,52,216,43,222,60,0,52,216,44,222,60,0,52,216,45,222,60,0,52,216,46,222,60,0,52,216,47,222,60,0,52,216,48,222,60,0,52,216,49,222,60,0,52,216,50,222,60,0,52,216,51,222,60,0,52,216,52,222,60,0,52,216,53,222,60,0,52,216,54,222,60,0,52,216,55,222,60,0,52,216,56,222,60,0,52,216,57,222,60,0,52,216,58,222,60,0,52,216,59,222,60,0,52,216,60,222,60,0,52,216,61,222,60,0,52,216,62,222,60,0,52,216,63,222,60,0,52,216,64,222,60,0,52,216,65,222,60,0,52,216,69,222,60,0,47,216,156,220,60,0,14,32,59,216,172,220,14,32,60,0,14,32,59,216,46,221,14,32,60,0,60,216,0,220,60,0,60,216,1,220,60,0,60,216,2,220,60,0,60,216,3,220,60,0,60,216,4,220,60,0,60,216,5,220,60,0,60,216,6,220,60,0,60,216,7,220,60,0,60,216,8,220,60,0,60,216,9,220,60,0,60,216,10,220,60,0,60,216,11,220,60,0,60,216,12,220,60,0,60,216,13,220,60,0,60,216,14,220,60,0,60,216,15,220,60,0,60,216,16,220,60,0,60,216,17,220,60,0,60,216,18,220,60,0,60,216,19,220,60,0,60,216,20,220,60,0,60,216,21,220,60,0,60,216,22,220,60,0,60,216,23,220,60,0,60,216,24,220,60,0,60,216,25,220,60,0,60,216,26,220,60,0,60,216,27,220,60,0,60,216,28,220,60,0,60,216,29,220,60,0,60,216,30,220,60,0,60,216,31,220,60,0,60,216,32,220,60,0,60,216,33,220,60,0,60,216,34,220,60,0,60,216,35,220,60,0,60,216,36,220,60,0,60,216,37,220,60,0,60,216,38,220,60,0,60,216,39,220,60,0,60,216,40,220,60,0,60,216,41,220,60,0,60,216,42,220,60,0,60,216,43,220,60,0,60,216,48,220,60,0,60,216,49,220,60,0,60,216,50,220,60,0,60,216,51,220,60,0,60,216,52,220,60,0,60,216,53,220,60,0,60,216,54,220,60,0,60,216,55,220,60,0,60,216,56,220,60,0,60,216,57,220,60,0,60,216,58,220,60,0,60,216,59,220,60,0,60,216,60,220,60,0,60,216,61,220,60,0,60,216,62,220,60,0,60,216,63,220,60,0,60,216,64,220,60,0,60,216,65,220,60,0,60,216,66,220,60,0,60,216,67,220,60,0,60,216,68,220,60,0,60,216,69,220,60,0,60,216,70,220,60,0,60,216,71,220,60,0,60,216,72,220,60,0,60,216,73,220,60,0,60,216,74,220,60,0,60,216,75,220,60,0,60,216,76,220,60,0,60,216,77,220,60,0,60,216,78,220,60,0,60,216,79,220,60,0,60,216,80,220,60,0,60,216,81,220,60,0,60,216,82,220,60,0,60,216,83,220,60,0,60,216,84,220,60,0,60,216,85,220,60,0,60,216,86,220,60,0,60,216,87,220,60,0,60,216,88,220,60,0,60,216,89,220,60,0,60,216,90,220,60,0,60,216,91,220,60,0,60,216,92,220,60,0,60,216,93,220,60,0,60,216,94,220,60,0,60,216,95,220,60,0,60,216,96,220,60,0,60,216,97,220,60,0,60,216,98,220,60,0,60,216,99,220,60,0,60,216,100,220,60,0,60,216,101,220,60,0,60,216,102,220,60,0,60,216,103,220,60,0,60,216,104,220,60,0,60,216,105,220,60,0,60,216,106,220,60,0,60,216,107,220,60,0,60,216,108,220,60,0,60,216,109,220,60,0,60,216,110,220,60,0,60,216,111,220,60,0,60,216,112,220,60,0,60,216,113,220,60,0,60,216,114,220,60,0,60,216,115,220,60,0,60,216,116,220,60,0,60,216,117,220,60,0,60,216,118,220,60,0,60,216,119,220,60,0,60,216,120,220,60,0,60,216,121,220,60,0,60,216,122,220,60,0,60,216,123,220,60,0,60,216,124,220,60,0,60,216,125,220,60,0,60,216,126,220,60,0,60,216,127,220,60,0,60,216,128,220,60,0,60,216,129,220,60,0,60,216,130,220,60,0,60,216,131,220,60,0,60,216,132,220,60,0,60,216,133,220,60,0,60,216,134,220,60,0,60,216,135,220,60,0,60,216,136,220,60,0,60,216,137,220,60,0,60,216,138,220,60,0,60,216,139,220,60,0,60,216,140,220,60,0,60,216,141,220,60,0,60,216,142,220,60,0,60,216,143,220,60,0,60,216,144,220,60,0,60,216,145,220,60,0,60,216,146,220,60,0,60,216,147,220,60,0,60,216,160,220,60,0,60,216,161,220,60,0,60,216,162,220,60,0,60,216,163,220,60,0,60,216,164,220,60,0,60,216,165,220,60,0,60,216,166,220,60,0,60,216,167,220,60,0,60,216,168,220,60,0,60,216,169,220,60,0,60,216,170,220,60,0,60,216,171,220,60,0,60,216,172,220,60,0,60,216,173,220,60,0,60,216,174,220,60,0,60,216,177,220,60,0,60,216,178,220,60,0,60,216,179,220,60,0,60,216,180,220,60,0,60,216,181,220,60,0,60,216,182,220,60,0,60,216,183,220,60,0,60,216,184,220,60,0,60,216,185,220,60,0,60,216,186,220,60,0,60,216,187,220,60,0,60,216,188,220,60,0,60,216,189,220,60,0,60,216,190,220,60,0,60,216,191,220,60,0,60,216,193,220,60,0,60,216,194,220,60,0,60,216,195,220,60,0,60,216,196,220,60,0,60,216,197,220,60,0,60,216,198,220,60,0,60,216,199,220,60,0,60,216,200,220,60,0,60,216,201,220,60,0,60,216,202,220,60,0,60,216,203,220,60,0,60,216,204,220,60,0,60,216,205,220,60,0,60,216,206,220,60,0,60,216,207,220,60,0,60,216,209,220,60,0,60,216,210,220,60,0,60,216,211,220,60,0,60,216,212,220,60,0,60,216,213,220,60,0,60,216,214,220,60,0,60,216,215,220,60,0,60,216,216,220,60,0,60,216,217,220,60,0,60,216,218,220,60,0,60,216,219,220,60,0,60,216,220,220,60,0,60,216,221,220,60,0,60,216,222,220,60,0,60,216,223,220,60,0,60,216,224,220,60,0,60,216,225,220,60,0,60,216,226,220,60,0,60,216,227,220,60,0,60,216,228,220,60,0,60,216,229,220,60,0,60,216,230,220,60,0,60,216,231,220,60,0,60,216,232,220,60,0,60,216,233,220,60,0,60,216,234,220,60,0,60,216,235,220,60,0,60,216,236,220,60,0,60,216,237,220,60,0,60,216,238,220,60,0,60,216,239,220,60,0,60,216,240,220,60,0,60,216,241,220,60,0,60,216,242,220,60,0,60,216,243,220,60,0,60,216,244,220,60,0,60,216,245,220,60,0,62,216,0,222,60,0,62,216,1,222,60,0,62,216,2,222,60,0,62,216,3,222,60,0,62,216,4,222,60,0,62,216,5,222,60,0,62,216,6,222,60,0,62,216,7,222,60,0,62,216,8,222,60,0,62,216,9,222,60,0,62,216,10,222,60,0,62,216,11,222,60,0,62,216,12,222,60,0,62,216,13,222,60,0,62,216,14,222,60,0,62,216,15,222,60,0,62,216,16,222,60,0,62,216,17,222,60,0,62,216,18,222,60,0,62,216,19,222,60,0,62,216,20,222,60,0,62,216,21,222,60,0,62,216,22,222,60,0,62,216,23,222,60,0,62,216,24,222,60,0,62,216,25,222,60,0,62,216,26,222,60,0,62,216,27,222,60,0,62,216,28,222,60,0,62,216,29,222,60,0,62,216,30,222,60,0,62,216,31,222,60,0,62,216,32,222,60,0,62,216,33,222,60,0,62,216,34,222,60,0,62,216,35,222,60,0,62,216,36,222,60,0,62,216,37,222,60,0,62,216,38,222,60,0,62,216,39,222,60,0,62,216,40,222,60,0,62,216,41,222,60,0,62,216,42,222,60,0,62,216,43,222,60,0,62,216,44,222,60,0,62,216,45,222,60,0,62,216,46,222,60,0,62,216,47,222,60,0,62,216,48,222,60,0,62,216,49,222,60,0,62,216,50,222,60,0,62,216,51,222,60,0,62,216,52,222,60,0,62,216,53,222,60,0,62,216,54,222,60,0,62,216,55,222,60,0,62,216,56,222,60,0,62,216,57,222,60,0,62,216,58,222,60,0,62,216,59,222,60,0,62,216,60,222,60,0,62,216,61,222,60,0,62,216,62,222,60,0,62,216,63,222,60,0,62,216,64,222,60,0,62,216,65,222,60,0,62,216,66,222,60,0,62,216,67,222,60,0,62,216,68,222,60,0,62,216,69,222,60,0,62,216,70,222,60,0,62,216,71,222,60,0,62,216,72,222,60,0,62,216,73,222,60,0,62,216,74,222,60,0,62,216,75,222,60,0,62,216,76,222,60,0,62,216,77,222,60,0,62,216,78,222,60,0,62,216,79,222,60,0,62,216,80,222,60,0,62,216,81,222,60,0,62,216,82,222,60,0,62,216,83,222,60,0,62,216,96,222,60,0,62,216,97,222,60,0,62,216,98,222,60,0,62,216,99,222,60,0,62,216,100,222,60,0,62,216,101,222,60,0,62,216,102,222,60,0,62,216,103,222,60,0,62,216,104,222,60,0,62,216,105,222,60,0,62,216,106,222,60,0,62,216,107,222,60,0,62,216,108,222,60,0,62,216,109,222,60,0,60,216,13,221,60,0,60,216,14,221,60,0,60,216,15,221,60,0,60,216,109,221,60,0,60,216,110,221,60,0,60,216,111,221,60,0,60,216,96,222,60,0,60,216,97,222,60,0,60,216,98,222,60,0,60,216,99,222,60,0,60,216,100,222,60,0,60,216,101,222,60,0,60,216,0,223,60,0,60,216,1,223,60,0,60,216,2,223,60,0,60,216,3,223,60,0,60,216,4,223,60,0,60,216,5,223,60,0,60,216,6,223,60,0,60,216,7,223,60,0,60,216,8,223,60,0,60,216,9,223,60,0,60,216,10,223,60,0,60,216,11,223,60,0,60,216,12,223,60,0,60,216,13,223,60,0,60,216,14,223,60,0,60,216,15,223,60,0,60,216,16,223,60,0,60,216,17,223,60,0,60,216,18,223,60,0,60,216,19,223,60,0,60,216,20,223,60,0,60,216,21,223,60,0,60,216,22,223,60,0,60,216,23,223,60,0,60,216,24,223,60,0,60,216,25,223,60,0,60,216,26,223,60,0,60,216,27,223,60,0,60,216,28,223,60,0,60,216,29,223,60,0,60,216,30,223,60,0,60,216,31,223,60,0,60,216,32,223,60,0,60,216,33,223,60,0,60,216,34,223,60,0,60,216,35,223,60,0,60,216,36,223,60,0,60,216,37,223,60,0,60,216,38,223,60,0,60,216,39,223,60,0,60,216,40,223,60,0,60,216,41,223,60,0,60,216,42,223,60,0,60,216,43,223,60,0,60,216,44,223,60,0,60,216,45,223,60,0,60,216,46,223,60,0,60,216,47,223,60,0,60,216,48,223,60,0,60,216,49,223,60,0,60,216,50,223,60,0,60,216,51,223,60,0,60,216,52,223,60,0,60,216,53,223,60,0,60,216,54,223,60,0,60,216,55,223,60,0,60,216,56,223,60,0,60,216,57,223,60,0,60,216,58,223,60,0,60,216,59,223,60,0,60,216,60,223,60,0,60,216,61,223,60,0,60,216,62,223,60,0,60,216,63,223,60,0,60,216,64,223,60,0,60,216,65,223,60,0,60,216,66,223,60,0,60,216,67,223,60,0,60,216,68,223,60,0,60,216,69,223,60,0,60,216,70,223,60,0,60,216,71,223,60,0,60,216,72,223,60,0,60,216,73,223,60,0,60,216,74,223,60,0,60,216,75,223,60,0,60,216,76,223,60,0,60,216,77,223,60,0,60,216,78,223,60,0,60,216,79,223,60,0,60,216,80,223,60,0,60,216,81,223,60,0,60,216,82,223,60,0,60,216,83,223,60,0,60,216,84,223,60,0,60,216,85,223,60,0,60,216,86,223,60,0,60,216,87,223,60,0,60,216,88,223,60,0,60,216,89,223,60,0,60,216,90,223,60,0,60,216,91,223,60,0,60,216,92,223,60,0,60,216,93,223,60,0,60,216,94,223,60,0,60,216,95,223,60,0,60,216,96,223,60,0,60,216,97,223,60,0,60,216,98,223,60,0,60,216,99,223,60,0,60,216,100,223,60,0,60,216,101,223,60,0,60,216,102,223,60,0,60,216,103,223,60,0,60,216,104,223,60,0,60,216,105,223,60,0,60,216,106,223,60,0,60,216,107,223,60,0,60,216,108,223,60,0,60,216,109,223,60,0,60,216,110,223,60,0,60,216,111,223,60,0,60,216,112,223,60,0,60,216,113,223,60,0,60,216,114,223,60,0,60,216,115,223,60,0,60,216,116,223,60,0,60,216,117,223,60,0,60,216,118,223,60,0,60,216,119,223,60,0,60,216,120,223,60,0,60,216,121,223,60,0,60,216,122,223,60,0,60,216,123,223,60,0,60,216,124,223,60,0,60,216,125,223,60,0,60,216,126,223,60,0,60,216,127,223,60,0,60,216,128,223,60,0,60,216,129,223,60,0,60,216,130,223,60,0,60,216,131,223,60,0,60,216,132,223,60,0,60,216,133,223,60,0,60,216,134,223,60,0,60,216,135,223,60,0,60,216,136,223,60,0,60,216,137,223,60,0,60,216,138,223,60,0,60,216,139,223,60,0,60,216,140,223,60,0,60,216,141,223,60,0,60,216,142,223,60,0,60,216,143,223,60,0,60,216,144,223,60,0,60,216,145,223,60,0,60,216,146,223,60,0,60,216,147,223,60,0,60,216,148,223,60,0,60,216,149,223,60,0,60,216,150,223,60,0,60,216,151,223,60,0,60,216,152,223,60,0,60,216,153,223,60,0,60,216,154,223,60,0,60,216,155,223,60,0,60,216,156,223,60,0,60,216,157,223,60,0,60,216,158,223,60,0,60,216,159,223,60,0,60,216,160,223,60,0,60,216,161,223,60,0,60,216,162,223,60,0,60,216,163,223,60,0,60,216,164,223,60,0,60,216,165,223,60,0,60,216,166,223,60,0,60,216,167,223,60,0,60,216,168,223,60,0,60,216,169,223,60,0,60,216,170,223,60,0,60,216,171,223,60,0,60,216,172,223,60,0,60,216,173,223,60,0,60,216,174,223,60,0,60,216,175,223,60,0,60,216,176,223,60,0,60,216,177,223,60,0,60,216,178,223,60,0,60,216,179,223,60,0,60,216,180,223,60,0,60,216,181,223,60,0,60,216,182,223,60,0,60,216,183,223,60,0,60,216,184,223,60,0,60,216,185,223,60,0,60,216,186,223,60,0,60,216,187,223,60,0,60,216,188,223,60,0,60,216,189,223,60,0,60,216,190,223,60,0,60,216,191,223,60,0,60,216,192,223,60,0,60,216,193,223,60,0,60,216,194,223,60,0,60,216,195,223,60,0,60,216,196,223,60,0,60,216,197,223,60,0,60,216,198,223,60,0,60,216,199,223,60,0,60,216,200,223,60,0,60,216,201,223,60,0,60,216,202,223,60,0,60,216,203,223,60,0,60,216,204,223,60,0,60,216,205,223,60,0,60,216,206,223,60,0,60,216,207,223,60,0,60,216,208,223,60,0,60,216,209,223,60,0,60,216,210,223,60,0,60,216,211,223,60,0,60,216,212,223,60,0,60,216,213,223,60,0,60,216,214,223,60,0,60,216,215,223,60,0,60,216,216,223,60,0,60,216,217,223,60,0,60,216,218,223,60,0,60,216,219,223,60,0,60,216,220,223,60,0,60,216,221,223,60,0,60,216,222,223,60,0,60,216,223,223,60,0,60,216,224,223,60,0,60,216,225,223,60,0,60,216,226,223,60,0,60,216,227,223,60,0,60,216,228,223,60,0,60,216,229,223,60,0,60,216,230,223,60,0,60,216,231,223,60,0,60,216,232,223,60,0,60,216,233,223,60,0,60,216,234,223,60,0,60,216,235,223,60,0,60,216,236,223,60,0,60,216,237,223,60,0,60,216,238,223,60,0,60,216,239,223,60,0,60,216,240,223,60,0,60,216,241,223,60,0,60,216,242,223,60,0,60,216,243,223,60,0,60,216,244,223,60,0,60,216,245,223,60,0,60,216,246,223,60,0,60,216,247,223,60,0,60,216,248,223,60,0,60,216,249,223,60,0,60,216,250,223,60,0,60,216,251,223,60,0,60,216,252,223,60,0,60,216,253,223,60,0,60,216,254,223,60,0,60,216,255,223,60,0,61,216,0,220,60,0,61,216,1,220,60,0,61,216,2,220,60,0,61,216,3,220,60,0,61,216,4,220,60,0,61,216,5,220,60,0,61,216,6,220,60,0,61,216,7,220,60,0,61,216,8,220,60,0,61,216,9,220,60,0,61,216,10,220,60,0,61,216,11,220,60,0,61,216,12,220,60,0,61,216,13,220,60,0,61,216,14,220,60,0,61,216,15,220,60,0,61,216,16,220,60,0,61,216,17,220,60,0,61,216,18,220,60,0,61,216,19,220,60,0,61,216,20,220,60,0,61,216,21,220,60,0,61,216,22,220,60,0,61,216,23,220,60,0,61,216,24,220,60,0,61,216,25,220,60,0,61,216,26,220,60,0,61,216,27,220,60,0,61,216,28,220,60,0,61,216,29,220,60,0,61,216,30,220,60,0,61,216,31,220,60,0,61,216,32,220,60,0,61,216,33,220,60,0,61,216,34,220,60,0,61,216,35,220,60,0,61,216,36,220,60,0,61,216,37,220,60,0,61,216,38,220,60,0,61,216,39,220,60,0,61,216,40,220,60,0,61,216,41,220,60,0,61,216,42,220,60,0,61,216,43,220,60,0,61,216,44,220,60,0,61,216,45,220,60,0,61,216,46,220,60,0,61,216,47,220,60,0,61,216,48,220,60,0,61,216,49,220,60,0,61,216,50,220,60,0,61,216,51,220,60,0,61,216,52,220,60,0,61,216,53,220,60,0,61,216,54,220,60,0,61,216,55,220,60,0,61,216,56,220,60,0,61,216,57,220,60,0,61,216,58,220,60,0,61,216,59,220,60,0,61,216,60,220,60,0,61,216,61,220,60,0,61,216,62,220,60,0,61,216,63,220,60,0,61,216,64,220,60,0,61,216,65,220,60,0,61,216,66,220,60,0,61,216,67,220,60,0,61,216,68,220,60,0,61,216,69,220,60,0,61,216,70,220,60,0,61,216,71,220,60,0,61,216,72,220,60,0,61,216,73,220,60,0,61,216,74,220,60,0,61,216,75,220,60,0,61,216,76,220,60,0,61,216,77,220,60,0,61,216,78,220,60,0,61,216,79,220,60,0,61,216,80,220,60,0,61,216,81,220,60,0,61,216,82,220,60,0,61,216,83,220,60,0,61,216,84,220,60,0,61,216,85,220,60,0,61,216,86,220,60,0,61,216,87,220,60,0,61,216,88,220,60,0,61,216,89,220,60,0,61,216,90,220,60,0,61,216,91,220,60,0,61,216,92,220,60,0,61,216,93,220,60,0,61,216,94,220,60,0,61,216,95,220,60,0,61,216,96,220,60,0,61,216,97,220,60,0,61,216,98,220,60,0,61,216,99,220,60,0,61,216,100,220,60,0,61,216,101,220,60,0,61,216,102,220,60,0,61,216,103,220,60,0,61,216,104,220,60,0,61,216,105,220,60,0,61,216,106,220,60,0,61,216,107,220,60,0,61,216,108,220,60,0,61,216,109,220,60,0,61,216,110,220,60,0,61,216,111,220,60,0,61,216,112,220,60,0,61,216,113,220,60,0,61,216,114,220,60,0,61,216,115,220,60,0,61,216,116,220,60,0,61,216,117,220,60,0,61,216,118,220,60,0,61,216,119,220,60,0,61,216,120,220,60,0,61,216,121,220,60,0,61,216,122,220,60,0,61,216,123,220,60,0,61,216,124,220,60,0,61,216,125,220,60,0,61,216,126,220,60,0,61,216,127,220,60,0,61,216,128,220,60,0,61,216,129,220,60,0,61,216,130,220,60,0,61,216,131,220,60,0,61,216,132,220,60,0,61,216,133,220,60,0,61,216,134,220,60,0,61,216,135,220,60,0,61,216,136,220,60,0,61,216,137,220,60,0,61,216,138,220,60,0,61,216,139,220,60,0,61,216,140,220,60,0,61,216,141,220,60,0,61,216,142,220,60,0,61,216,143,220,60,0,61,216,144,220,60,0,61,216,145,220,60,0,61,216,146,220,60,0,61,216,147,220,60,0,61,216,148,220,60,0,61,216,149,220,60,0,61,216,150,220,60,0,61,216,151,220,60,0,61,216,152,220,60,0,61,216,153,220,60,0,61,216,154,220,60,0,61,216,155,220,60,0,61,216,156,220,60,0,61,216,157,220,60,0,61,216,158,220,60,0,61,216,159,220,60,0,61,216,160,220,60,0,61,216,161,220,60,0,61,216,162,220,60,0,61,216,163,220,60,0,61,216,164,220,60,0,61,216,165,220,60,0,61,216,166,220,60,0,61,216,167,220,60,0,61,216,168,220,60,0,61,216,169,220,60,0,61,216,170,220,60,0,61,216,171,220,60,0,61,216,172,220,60,0,61,216,173,220,60,0,61,216,174,220,60,0,61,216,175,220,60,0,61,216,176,220,60,0,61,216,177,220,60,0,61,216,178,220,60,0,61,216,179,220,60,0,61,216,180,220,60,0,61,216,181,220,60,0,61,216,182,220,60,0,61,216,183,220,60,0,61,216,184,220,60,0,61,216,185,220,60,0,61,216,186,220,60,0,61,216,187,220,60,0,61,216,188,220,60,0,61,216,189,220,60,0,61,216,190,220,60,0,61,216,191,220,60,0,61,216,192,220,60,0,61,216,193,220,60,0,61,216,194,220,60,0,61,216,195,220,60,0,61,216,196,220,60,0,61,216,197,220,60,0,61,216,198,220,60,0,61,216,199,220,60,0,61,216,200,220,60,0,61,216,201,220,60,0,61,216,202,220,60,0,61,216,203,220,60,0,61,216,204,220,60,0,61,216,205,220,60,0,61,216,206,220,60,0,61,216,207,220,60,0,61,216,208,220,60,0,61,216,209,220,60,0,61,216,210,220,60,0,61,216,211,220,60,0,61,216,212,220,60,0,61,216,213,220,60,0,61,216,214,220,60,0,61,216,215,220,60,0,61,216,216,220,60,0,61,216,217,220,60,0,61,216,218,220,60,0,61,216,219,220,60,0,61,216,220,220,60,0,61,216,221,220,60,0,61,216,222,220,60,0,61,216,223,220,60,0,61,216,224,220,60,0,61,216,225,220,60,0,61,216,226,220,60,0,61,216,227,220,60,0,61,216,228,220,60,0,61,216,229,220,60,0,61,216,230,220,60,0,61,216,231,220,60,0,61,216,232,220,60,0,61,216,233,220,60,0,61,216,234,220,60,0,61,216,235,220,60,0,61,216,236,220,60,0,61,216,237,220,60,0,61,216,238,220,60,0,61,216,239,220,60,0,61,216,240,220,60,0,61,216,241,220,60,0,61,216,242,220,60,0,61,216,243,220,60,0,61,216,244,220,60,0,61,216,245,220,60,0,61,216,246,220,60,0,61,216,247,220,60,0,61,216,248,220,60,0,61,216,249,220,60,0,61,216,250,220,60,0,61,216,251,220,60,0,61,216,252,220,60,0,61,216,253,220,60,0,61,216,254,220,60,0,61,216,255,220,60,0,61,216,0,221,60,0,61,216,1,221,60,0,61,216,2,221,60,0,61,216,3,221,60,0,61,216,4,221,60,0,61,216,5,221,60,0,61,216,6,221,60,0,61,216,7,221,60,0,61,216,8,221,60,0,61,216,9,221,60,0,61,216,10,221,60,0,61,216,11,221,60,0,61,216,12,221,60,0,61,216,13,221,60,0,61,216,14,221,60,0,61,216,15,221,60,0,61,216,16,221,60,0,61,216,17,221,60,0,61,216,18,221,60,0,61,216,19,221,60,0,61,216,20,221,60,0,61,216,21,221,60,0,61,216,22,221,60,0,61,216,23,221,60,0,61,216,24,221,60,0,61,216,25,221,60,0,61,216,26,221,60,0,61,216,27,221,60,0,61,216,28,221,60,0,61,216,29,221,60,0,61,216,30,221,60,0,61,216,31,221,60,0,61,216,32,221,60,0,61,216,33,221,60,0,61,216,34,221,60,0,61,216,35,221,60,0,61,216,36,221,60,0,61,216,37,221,60,0,61,216,38,221,60,0,61,216,39,221,60,0,61,216,40,221,60,0,61,216,41,221,60,0,61,216,42,221,60,0,61,216,43,221,60,0,61,216,44,221,60,0,61,216,45,221,60,0,61,216,46,221,60,0,61,216,47,221,60,0,61,216,48,221,60,0,61,216,49,221,60,0,61,216,50,221,60,0,61,216,51,221,60,0,61,216,52,221,60,0,61,216,53,221,60,0,61,216,54,221,60,0,61,216,55,221,60,0,61,216,56,221,60,0,61,216,57,221,60,0,61,216,58,221,60,0,61,216,59,221,60,0,61,216,60,221,60,0,61,216,61,221,60,0,61,216,62,221,60,0,61,216,63,221,60,0,61,216,64,221,60,0,61,216,65,221,60,0,61,216,66,221,60,0,61,216,67,221,60,0,61,216,68,221,60,0,61,216,69,221,60,0,61,216,70,221,60,0,61,216,71,221,60,0,61,216,72,221,60,0,61,216,73,221,60,0,61,216,74,221,60,0,61,216,75,221,60,0,61,216,76,221,60,0,61,216,77,221,60,0,61,216,78,221,60,0,61,216,79,221,60,0,61,216,80,221,60,0,61,216,81,221,60,0,61,216,82,221,60,0,61,216,83,221,60,0,61,216,84,221,60,0,61,216,85,221,60,0,61,216,86,221,60,0,61,216,87,221,60,0,61,216,88,221,60,0,61,216,89,221,60,0,61,216,90,221,60,0,61,216,91,221,60,0,61,216,92,221,60,0,61,216,93,221,60,0,61,216,94,221,60,0,61,216,95,221,60,0,61,216,96,221,60,0,61,216,97,221,60,0,61,216,98,221,60,0,61,216,99,221,60,0,61,216,100,221,60,0,61,216,101,221,60,0,61,216,102,221,60,0,61,216,103,221,60,0,61,216,104,221,60,0,61,216,105,221,60,0,61,216,106,221,60,0,61,216,107,221,60,0,61,216,108,221,60,0,61,216,109,221,60,0,61,216,110,221,60,0,61,216,111,221,60,0,61,216,112,221,60,0,61,216,113,221,60,0,61,216,114,221,60,0,61,216,115,221,60,0,61,216,116,221,60,0,61,216,117,221,60,0,61,216,118,221,60,0,61,216,119,221,60,0,61,216,120,221,60,0,61,216,121,221,60,0,61,216,122,221,60,0,61,216,123,221,60,0,61,216,124,221,60,0,61,216,125,221,60,0,61,216,126,221,60,0,61,216,127,221,60,0,61,216,128,221,60,0,61,216,129,221,60,0,61,216,130,221,60,0,61,216,131,221,60,0,61,216,132,221,60,0,61,216,133,221,60,0,61,216,134,221,60,0,61,216,135,221,60,0,61,216,136,221,60,0,61,216,137,221,60,0,61,216,138,221,60,0,61,216,139,221,60,0,61,216,140,221,60,0,61,216,141,221,60,0,61,216,142,221,60,0,61,216,143,221,60,0,61,216,144,221,60,0,61,216,145,221,60,0,61,216,146,221,60,0,61,216,147,221,60,0,61,216,148,221,60,0,61,216,149,221,60,0,61,216,150,221,60,0,61,216,151,221,60,0,61,216,152,221,60,0,61,216,153,221,60,0,61,216,154,221,60,0,61,216,155,221,60,0,61,216,156,221,60,0,61,216,157,221,60,0,61,216,158,221,60,0,61,216,159,221,60,0,61,216,160,221,60,0,61,216,161,221,60,0,61,216,162,221,60,0,61,216,163,221,60,0,61,216,164,221,60,0,61,216,165,221,60,0,61,216,166,221,60,0,61,216,167,221,60,0,61,216,168,221,60,0,61,216,169,221,60,0,61,216,170,221,60,0,61,216,171,221,60,0,61,216,172,221,60,0,61,216,173,221,60,0,61,216,174,221,60,0,61,216,175,221,60,0,61,216,176,221,60,0,61,216,177,221,60,0,61,216,178,221,60,0,61,216,179,221,60,0,61,216,180,221,60,0,61,216,181,221,60,0,61,216,182,221,60,0,61,216,183,221,60,0,61,216,184,221,60,0,61,216,185,221,60,0,61,216,186,221,60,0,61,216,187,221,60,0,61,216,188,221,60,0,61,216,189,221,60,0,61,216,190,221,60,0,61,216,191,221,60,0,61,216,192,221,60,0,61,216,193,221,60,0,61,216,194,221,60,0,61,216,195,221,60,0,61,216,196,221,60,0,61,216,197,221,60,0,61,216,198,221,60,0,61,216,199,221,60,0,61,216,200,221,60,0,61,216,201,221,60,0,61,216,202,221,60,0,61,216,203,221,60,0,61,216,204,221,60,0,61,216,205,221,60,0,61,216,206,221,60,0,61,216,207,221,60,0,61,216,208,221,60,0,61,216,209,221,60,0,61,216,210,221,60,0,61,216,211,221,60,0,61,216,212,221,60,0,61,216,213,221,60,0,61,216,214,221,60,0,61,216,215,221,60,0,61,216,216,221,60,0,61,216,217,221,60,0,61,216,218,221,60,0,61,216,219,221,60,0,61,216,220,221,60,0,61,216,221,221,60,0,61,216,222,221,60,0,61,216,223,221,60,0,61,216,224,221,60,0,61,216,225,221,60,0,61,216,226,221,60,0,61,216,227,221,60,0,61,216,228,221,60,0,61,216,229,221,60,0,61,216,230,221,60,0,61,216,231,221,60,0,61,216,232,221,60,0,61,216,233,221,60,0,61,216,234,221,60,0,61,216,235,221,60,0,61,216,236,221,60,0,61,216,237,221,60,0,61,216,238,221,60,0,61,216,239,221,60,0,61,216,240,221,60,0,61,216,241,221,60,0,61,216,242,221,60,0,61,216,243,221,60,0,61,216,244,221,60,0,61,216,245,221,60,0,61,216,246,221,60,0,61,216,247,221,60,0,61,216,248,221,60,0,61,216,249,221,60,0,61,216,250,221,60,0,61,216,251,221,60,0,61,216,252,221,60,0,61,216,253,221,60,0,61,216,254,221,60,0,61,216,255,221,60,0,62,216,0,221,60,0,62,216,1,221,60,0,62,216,2,221,60,0,62,216,3,221,60,0,62,216,4,221,60,0,62,216,5,221,60,0,62,216,6,221,60,0,62,216,7,221,60,0,62,216,8,221,60,0,62,216,9,221,60,0,62,216,10,221,60,0,62,216,11,221,60,0,62,216,12,221,60,0,62,216,13,221,60,0,62,216,14,221,60,0,62,216,15,221,60,0,62,216,16,221,60,0,62,216,17,221,60,0,62,216,18,221,60,0,62,216,19,221,60,0,62,216,20,221,60,0,62,216,21,221,60,0,62,216,22,221,60,0,62,216,23,221,60,0,62,216,24,221,60,0,62,216,25,221,60,0,62,216,26,221,60,0,62,216,27,221,60,0,62,216,28,221,60,0,62,216,29,221,60,0,62,216,30,221,60,0,62,216,31,221,60,0,62,216,32,221,60,0,62,216,33,221,60,0,62,216,34,221,60,0,62,216,35,221,60,0,62,216,36,221,60,0,62,216,37,221,60,0,62,216,38,221,60,0,62,216,39,221,60,0,62,216,40,221,60,0,62,216,41,221,60,0,62,216,42,221,60,0,62,216,43,221,60,0,62,216,44,221,60,0,62,216,45,221,60,0,62,216,46,221,60,0,62,216,47,221,60,0,62,216,48,221,60,0,62,216,49,221,60,0,62,216,50,221,60,0,62,216,51,221,60,0,62,216,52,221,60,0,62,216,53,221,60,0,62,216,54,221,60,0,62,216,55,221,60,0,62,216,56,221,60,0,62,216,57,221,60,0,62,216,58,221,60,0,62,216,59,221,60,0,62,216,60,221,60,0,62,216,61,221,60,0,62,216,62,221,60,0,62,216,63,221,60,0,62,216,64,221,60,0,62,216,65,221,60,0,62,216,66,221,60,0,62,216,67,221,60,0,62,216,68,221,60,0,62,216,69,221,60,0,62,216,70,221,60,0,62,216,71,221,60,0,62,216,72,221,60,0,62,216,73,221,60,0,62,216,74,221,60,0,62,216,75,221,60,0,62,216,76,221,60,0,62,216,77,221,60,0,62,216,78,221,60,0,62,216,79,221,60,0,62,216,80,221,60,0,62,216,81,221,60,0,62,216,82,221,60,0,62,216,83,221,60,0,62,216,84,221,60,0,62,216,85,221,60,0,62,216,86,221,60,0,62,216,87,221,60,0,62,216,88,221,60,0,62,216,89,221,60,0,62,216,90,221,60,0,62,216,91,221,60,0,62,216,92,221,60,0,62,216,93,221,60,0,62,216,94,221,60,0,62,216,95,221,60,0,62,216,96,221,60,0,62,216,97,221,60,0,62,216,98,221,60,0,62,216,99,221,60,0,62,216,100,221,60,0,62,216,101,221,60,0,62,216,102,221,60,0,62,216,103,221,60,0,62,216,104,221,60,0,62,216,105,221,60,0,62,216,106,221,60,0,62,216,107,221,60,0,62,216,108,221,60,0,62,216,109,221,60,0,62,216,110,221,60,0,62,216,111,221,60,0,62,216,112,221,60,0,62,216,113,221,60,0,62,216,114,221,60,0,62,216,115,221,60,0,62,216,116,221,60,0,62,216,117,221,60,0,62,216,118,221,60,0,62,216,119,221,60,0,62,216,120,221,60,0,62,216,121,221,60,0,62,216,122,221,60,0,62,216,123,221,60,0,62,216,124,221,60,0,62,216,125,221,60,0,62,216,126,221,60,0,62,216,127,221,60,0,62,216,128,221,60,0,62,216,129,221,60,0,62,216,130,221,60,0,62,216,131,221,60,0,62,216,132,221,60,0,62,216,133,221,60,0,62,216,134,221,60,0,62,216,135,221,60,0,62,216,136,221,60,0,62,216,137,221,60,0,62,216,138,221,60,0,62,216,139,221,60,0,62,216,140,221,60,0,62,216,141,221,60,0,62,216,142,221,60,0,62,216,143,221,60,0,62,216,144,221,60,0,62,216,145,221,60,0,62,216,146,221,60,0,62,216,147,221,60,0,62,216,148,221,60,0,62,216,149,221,60,0,62,216,150,221,60,0,62,216,151,221,60,0,62,216,152,221,60,0,62,216,153,221,60,0,62,216,154,221,60,0,62,216,155,221,60,0,62,216,156,221,60,0,62,216,157,221,60,0,62,216,158,221,60,0,62,216,159,221,60,0,62,216,160,221,60,0,62,216,161,221,60,0,62,216,162,221,60,0,62,216,163,221,60,0,62,216,164,221,60,0,62,216,165,221,60,0,62,216,166,221,60,0,62,216,167,221,60,0,62,216,168,221,60,0,62,216,169,221,60,0,62,216,170,221,60,0,62,216,171,221,60,0,62,216,172,221,60,0,62,216,173,221,60,0,62,216,174,221,60,0,62,216,175,221,60,0,62,216,176,221,60,0,62,216,177,221,60,0,62,216,178,221,60,0,62,216,179,221,60,0,62,216,180,221,60,0,62,216,181,221,60,0,62,216,182,221,60,0,62,216,183,221,60,0,62,216,184,221,60,0,62,216,185,221,60,0,62,216,186,221,60,0,62,216,187,221,60,0,62,216,188,221,60,0,62,216,189,221,60,0,62,216,190,221,60,0,62,216,191,221,60,0,62,216,192,221,60,0,62,216,193,221,60,0,62,216,194,221,60,0,62,216,195,221,60,0,62,216,196,221,60,0,62,216,197,221,60,0,62,216,198,221,60,0,62,216,199,221,60,0,62,216,200,221,60,0,62,216,201,221,60,0,62,216,202,221,60,0,62,216,203,221,60,0,62,216,204,221,60,0,62,216,205,221,60,0,62,216,206,221,60,0,62,216,207,221,60,0,62,216,208,221,60,0,62,216,209,221,60,0,62,216,210,221,60,0,62,216,211,221,60,0,62,216,212,221,60,0,62,216,213,221,60,0,62,216,214,221,60,0,62,216,215,221,60,0,62,216,216,221,60,0,62,216,217,221,60,0,62,216,218,221,60,0,62,216,219,221,60,0,62,216,220,221,60,0,62,216,221,221,60,0,62,216,222,221,60,0,62,216,223,221,60,0,62,216,224,221,60,0,62,216,225,221,60,0,62,216,226,221,60,0,62,216,227,221,60,0,62,216,228,221,60,0,62,216,229,221,60,0,62,216,230,221,60,0,62,216,231,221,60,0,62,216,232,221,60,0,62,216,233,221,60,0,62,216,234,221,60,0,62,216,235,221,60,0,62,216,236,221,60,0,62,216,237,221,60,0,62,216,238,221,60,0,62,216,239,221,60,0,62,216,240,221,60,0,62,216,241,221,60,0,62,216,242,221,60,0,62,216,243,221,60,0,62,216,244,221,60,0,62,216,245,221,60,0,62,216,246,221,60,0,62,216,247,221,60,0,62,216,248,221,60,0,62,216,249,221,60,0,62,216,250,221,60,0,62,216,251,221,60,0,62,216,252,221,60,0,62,216,253,221,60,0,62,216,254,221,60,0,62,216,255,221,60,0,62,216,112,222,60,0,62,216,113,222,60,0,62,216,114,222,60,0,62,216,115,222,60,0,62,216,116,222,60,0,62,216,117,222,60,0,62,216,118,222,60,0,62,216,119,222,60,0,62,216,120,222,60,0,62,216,121,222,60,0,62,216,122,222,60,0,62,216,123,222,60,0,62,216,124,222,60,0,62,216,128,222,60,0,62,216,129,222,60,0,62,216,130,222,60,0,62,216,131,222,60,0,62,216,132,222,60,0,62,216,133,222,60,0,62,216,134,222,60,0,62,216,135,222,60,0,62,216,136,222,60,0,62,216,144,222,60,0,62,216,145,222,60,0,62,216,146,222,60,0,62,216,147,222,60,0,62,216,148,222,60,0,62,216,149,222,60,0,62,216,150,222,60,0,62,216,151,222,60,0,62,216,152,222,60,0,62,216,153,222,60,0,62,216,154,222,60,0,62,216,155,222,60,0,62,216,156,222,60,0,62,216,157,222,60,0,62,216,158,222,60,0,62,216,159,222,60,0,62,216,160,222,60,0,62,216,161,222,60,0,62,216,162,222,60,0,62,216,163,222,60,0,62,216,164,222,60,0,62,216,165,222,60,0,62,216,166,222,60,0,62,216,167,222,60,0,62,216,168,222,60,0,62,216,169,222,60,0,62,216,170,222,60,0,62,216,171,222,60,0,62,216,172,222,60,0,62,216,173,222,60,0,62,216,174,222,60,0,62,216,175,222,60,0,62,216,176,222,60,0,62,216,177,222,60,0,62,216,178,222,60,0,62,216,179,222,60,0,62,216,180,222,60,0,62,216,181,222,60,0,62,216,182,222,60,0,62,216,183,222,60,0,62,216,184,222,60,0,62,216,185,222,60,0,62,216,186,222,60,0,62,216,187,222,60,0,62,216,188,222,60,0,62,216,189,222,60,0,62,216,191,222,60,0,62,216,192,222,60,0,62,216,193,222,60,0,62,216,194,222,60,0,62,216,195,222,60,0,62,216,196,222,60,0,62,216,197,222,60,0,62,216,206,222,60,0,62,216,207,222,60,0,62,216,208,222,60,0,62,216,209,222,60,0,62,216,210,222,60,0,62,216,211,222,60,0,62,216,212,222,60,0,62,216,213,222,60,0,62,216,214,222,60,0,62,216,215,222,60,0,62,216,216,222,60,0,62,216,217,222,60,0,62,216,218,222,60,0,62,216,219,222,60,0,62,216,224,222,60,0,62,216,225,222,60,0,62,216,226,222,60,0,62,216,227,222,60,0,62,216,228,222,60,0,62,216,229,222,60,0,62,216,230,222,60,0,62,216,231,222,60,0,62,216,232,222,60,0,62,216,240,222,60,0,62,216,241,222,60,0,62,216,242,222,60,0,62,216,243,222,60,0,62,216,244,222,60,0,62,216,245,222,60,0,62,216,246,222,60,0,62,216,247,222,60,0,62,216,248,222,60,0,61,216,0,222,60,0,61,216,1,222,60,0,61,216,2,222,60,0,61,216,3,222,60,0,61,216,4,222,60,0,61,216,5,222,60,0,61,216,6,222,60,0,61,216,7,222,60,0,61,216,8,222,60,0,61,216,9,222,60,0,61,216,10,222,60,0,61,216,11,222,60,0,61,216,12,222,60,0,61,216,13,222,60,0,61,216,14,222,60,0,61,216,15,222,60,0,61,216,16,222,60,0,61,216,17,222,60,0,61,216,18,222,60,0,61,216,19,222,60,0,61,216,20,222,60,0,61,216,21,222,60,0,61,216,22,222,60,0,61,216,23,222,60,0,61,216,24,222,60,0,61,216,25,222,60,0,61,216,26,222,60,0,61,216,27,222,60,0,61,216,28,222,60,0,61,216,29,222,60,0,61,216,30,222,60,0,61,216,31,222,60,0,61,216,32,222,60,0,61,216,33,222,60,0,61,216,34,222,60,0,61,216,35,222,60,0,61,216,36,222,60,0,61,216,37,222,60,0,61,216,38,222,60,0,61,216,39,222,60,0,61,216,40,222,60,0,61,216,41,222,60,0,61,216,42,222,60,0,61,216,43,222,60,0,61,216,44,222,60,0,61,216,45,222,60,0,61,216,46,222,60,0,61,216,47,222,60,0,61,216,48,222,60,0,61,216,49,222,60,0,61,216,50,222,60,0,61,216,51,222,60,0,61,216,52,222,60,0,61,216,53,222,60,0,61,216,54,222,60,0,61,216,55,222,60,0,61,216,56,222,60,0,61,216,57,222,60,0,61,216,58,222,60,0,61,216,59,222,60,0,61,216,60,222,60,0,61,216,61,222,60,0,61,216,62,222,60,0,61,216,63,222,60,0,61,216,64,222,60,0,61,216,65,222,60,0,61,216,66,222,60,0,61,216,67,222,60,0,61,216,68,222,60,0,61,216,69,222,60,0,61,216,70,222,60,0,61,216,71,222,60,0,61,216,72,222,60,0,61,216,73,222,60,0,61,216,74,222,60,0,61,216,75,222,60,0,61,216,76,222,60,0,61,216,77,222,60,0,61,216,78,222,60,0,61,216,79,222,60,0,61,216,80,222,60,0,61,216,81,222,60,0,61,216,82,222,60,0,61,216,83,222,60,0,61,216,84,222,60,0,61,216,85,222,60,0,61,216,86,222,60,0,61,216,87,222,60,0,61,216,88,222,60,0,61,216,89,222,60,0,61,216,90,222,60,0,61,216,91,222,60,0,61,216,92,222,60,0,61,216,93,222,60,0,61,216,94,222,60,0,61,216,95,222,60,0,61,216,96,222,60,0,61,216,97,222,60,0,61,216,98,222,60,0,61,216,99,222,60,0,61,216,100,222,60,0,61,216,101,222,60,0,61,216,102,222,60,0,61,216,103,222,60,0,61,216,104,222,60,0,61,216,105,222,60,0,61,216,106,222,60,0,61,216,107,222,60,0,61,216,108,222,60,0,61,216,109,222,60,0,61,216,110,222,60,0,61,216,111,222,60,0,61,216,112,222,60,0,61,216,113,222,60,0,61,216,114,222,60,0,61,216,115,222,60,0,61,216,116,222,60,0,61,216,117,222,60,0,61,216,118,222,60,0,61,216,119,222,60,0,61,216,120,222,60,0,61,216,121,222,60,0,61,216,122,222,60,0,61,216,123,222,60,0,61,216,124,222,60,0,61,216,125,222,60,0,61,216,126,222,60,0,61,216,127,222,60,0,61,216,128,222,60,0,61,216,129,222,60,0,61,216,130,222,60,0,61,216,131,222,60,0,61,216,132,222,60,0,61,216,133,222,60,0,61,216,134,222,60,0,61,216,135,222,60,0,61,216,136,222,60,0,61,216,137,222,60,0,61,216,138,222,60,0,61,216,139,222,60,0,61,216,140,222,60,0,61,216,141,222,60,0,61,216,142,222,60,0,61,216,143,222,60,0,61,216,144,222,60,0,61,216,145,222,60,0,61,216,146,222,60,0,61,216,147,222,60,0,61,216,148,222,60,0,61,216,149,222,60,0,61,216,150,222,60,0,61,216,151,222,60,0,61,216,152,222,60,0,61,216,153,222,60,0,61,216,154,222,60,0,61,216,155,222,60,0,61,216,156,222,60,0,61,216,157,222,60,0,61,216,158,222,60,0,61,216,159,222,60,0,61,216,160,222,60,0,61,216,161,222,60,0,61,216,162,222,60,0,61,216,163,222,60,0,61,216,164,222,60,0,61,216,165,222,60,0,61,216,166,222,60,0,61,216,167,222,60,0,61,216,168,222,60,0,61,216,169,222,60,0,61,216,170,222,60,0,61,216,171,222,60,0,61,216,172,222,60,0,61,216,173,222,60,0,61,216,174,222,60,0,61,216,175,222,60,0,61,216,176,222,60,0,61,216,177,222,60,0,61,216,178,222,60,0,61,216,179,222,60,0,61,216,180,222,60,0,61,216,181,222,60,0,61,216,182,222,60,0,61,216,183,222,60,0,61,216,184,222,60,0,61,216,185,222,60,0,61,216,186,222,60,0,61,216,187,222,60,0,61,216,188,222,60,0,61,216,189,222,60,0,61,216,190,222,60,0,61,216,191,222,60,0,61,216,192,222,60,0,61,216,193,222,60,0,61,216,194,222,60,0,61,216,195,222,60,0,61,216,196,222,60,0,61,216,197,222,60,0,61,216,198,222,60,0,61,216,199,222,60,0,61,216,200,222,60,0,61,216,201,222,60,0,61,216,202,222,60,0,61,216,203,222,60,0,61,216,204,222,60,0,61,216,205,222,60,0,61,216,206,222,60,0,61,216,207,222,60,0,61,216,208,222,60,0,61,216,209,222,60,0,61,216,210,222,60,0,61,216,211,222,60,0,61,216,212,222,60,0,61,216,213,222,60,0,61,216,214,222,60,0,61,216,215,222,60,0,61,216,220,222,60,0,61,216,221,222,60,0,61,216,222,222,60,0,61,216,223,222,60,0,61,216,224,222,60,0,61,216,225,222,60,0,61,216,226,222,60,0,61,216,227,222,60,0,61,216,228,222,60,0,61,216,229,222,60,0,61,216,230,222,60,0,61,216,231,222,60,0,61,216,232,222,60,0,61,216,233,222,60,0,61,216,234,222,60,0,61,216,235,222,60,0,61,216,236,222,60,0,61,216,240,222,60,0,61,216,241,222,60,0,61,216,242,222,60,0,61,216,243,222,60,0,61,216,244,222,60,0,61,216,245,222,60,0,61,216,246,222,60,0,61,216,247,222,60,0,61,216,248,222,60,0,61,216,249,222,60,0,61,216,250,222,60,0,61,216,251,222,60,0,61,216,252,222,60,0,61,216,0,223,60,0,61,216,1,223,60,0,61,216,2,223,60,0,61,216,3,223,60,0,61,216,4,223,60,0,61,216,5,223,60,0,61,216,6,223,60,0,61,216,7,223,60,0,61,216,8,223,60,0,61,216,9,223,60,0,61,216,10,223,60,0,61,216,11,223,60,0,61,216,12,223,60,0,61,216,13,223,60,0,61,216,14,223,60,0,61,216,15,223,60,0,61,216,16,223,60,0,61,216,17,223,60,0,61,216,18,223,60,0,61,216,19,223,60,0,61,216,20,223,60,0,61,216,21,223,60,0,61,216,22,223,60,0,61,216,23,223,60,0,61,216,24,223,60,0,61,216,25,223,60,0,61,216,26,223,60,0,61,216,27,223,60,0,61,216,28,223,60,0,61,216,29,223,60,0,61,216,30,223,60,0,61,216,31,223,60,0,61,216,32,223,60,0,61,216,33,223,60,0,61,216,34,223,60,0,61,216,35,223,60,0,61,216,36,223,60,0,61,216,37,223,60,0,61,216,38,223,60,0,61,216,39,223,60,0,61,216,40,223,60,0,61,216,41,223,60,0,61,216,42,223,60,0,61,216,43,223,60,0,61,216,44,223,60,0,61,216,45,223,60,0,61,216,46,223,60,0,61,216,47,223,60,0,61,216,48,223,60,0,61,216,49,223,60,0,61,216,50,223,60,0,61,216,51,223,60,0,61,216,52,223,60,0,61,216,53,223,60,0,61,216,54,223,60,0,61,216,55,223,60,0,61,216,56,223,60,0,61,216,57,223,60,0,61,216,58,223,60,0,61,216,59,223,60,0,61,216,60,223,60,0,61,216,61,223,60,0,61,216,62,223,60,0,61,216,63,223,60,0,61,216,64,223,60,0,61,216,65,223,60,0,61,216,66,223,60,0,61,216,67,223,60,0,61,216,68,223,60,0,61,216,69,223,60,0,61,216,70,223,60,0,61,216,71,223,60,0,61,216,72,223,60,0,61,216,73,223,60,0,61,216,74,223,60,0,61,216,75,223,60,0,61,216,76,223,60,0,61,216,77,223,60,0,61,216,78,223,60,0,61,216,79,223,60,0,61,216,80,223,60,0,61,216,81,223,60,0,61,216,82,223,60,0,61,216,83,223,60,0,61,216,84,223,60,0,61,216,85,223,60,0,61,216,86,223,60,0,61,216,87,223,60,0,61,216,88,223,60,0,61,216,89,223,60,0,61,216,90,223,60,0,61,216,91,223,60,0,61,216,92,223,60,0,61,216,93,223,60,0,61,216,94,223,60,0,61,216,95,223,60,0,61,216,96,223,60,0,61,216,97,223,60,0,61,216,98,223,60,0,61,216,99,223,60,0,61,216,100,223,60,0,61,216,101,223,60,0,61,216,102,223,60,0,61,216,103,223,60,0,61,216,104,223,60,0,61,216,105,223,60,0,61,216,106,223,60,0,61,216,107,223,60,0,61,216,108,223,60,0,61,216,109,223,60,0,61,216,110,223,60,0,61,216,111,223,60,0,61,216,112,223,60,0,61,216,113,223,60,0,61,216,114,223,60,0,61,216,115,223,60,0,61,216,116,223,60,0,61,216,117,223,60,0,61,216,118,223,60,0,61,216,123,223,60,0,61,216,124,223,60,0,61,216,125,223,60,0,61,216,126,223,60,0,61,216,127,223,60,0,61,216,128,223,60,0,61,216,129,223,60,0,61,216,130,223,60,0,61,216,131,223,60,0,61,216,132,223,60,0,61,216,133,223,60,0,61,216,134,223,60,0,61,216,135,223,60,0,61,216,136,223,60,0,61,216,137,223,60,0,61,216,138,223,60,0,61,216,139,223,60,0,61,216,140,223,60,0,61,216,141,223,60,0,61,216,142,223,60,0,61,216,143,223,60,0,61,216,144,223,60,0,61,216,145,223,60,0,61,216,146,223,60,0,61,216,147,223,60,0,61,216,148,223,60,0,61,216,149,223,60,0,61,216,150,223,60,0,61,216,151,223,60,0,61,216,152,223,60,0,61,216,153,223,60,0,61,216,154,223,60,0,61,216,155,223,60,0,61,216,156,223,60,0,61,216,157,223,60,0,61,216,158,223,60,0,61,216,159,223,60,0,61,216,160,223,60,0,61,216,161,223,60,0,61,216,162,223,60,0,61,216,163,223,60,0,61,216,164,223,60,0,61,216,165,223,60,0,61,216,166,223,60,0,61,216,167,223,60,0,61,216,168,223,60,0,61,216,169,223,60,0,61,216,170,223,60,0,61,216,171,223,60,0,61,216,172,223,60,0,61,216,173,223,60,0,61,216,174,223,60,0,61,216,175,223,60,0,61,216,176,223,60,0,61,216,177,223,60,0,61,216,178,223,60,0,61,216,179,223,60,0,61,216,180,223,60,0,61,216,181,223,60,0,61,216,182,223,60,0,61,216,183,223,60,0,61,216,184,223,60,0,61,216,185,223,60,0,61,216,186,223,60,0,61,216,187,223,60,0,61,216,188,223,60,0,61,216,189,223,60,0,61,216,190,223,60,0,61,216,191,223,60,0,61,216,192,223,60,0,61,216,193,223,60,0,61,216,194,223,60,0,61,216,195,223,60,0,61,216,196,223,60,0,61,216,197,223,60,0,61,216,198,223,60,0,61,216,199,223,60,0,61,216,200,223,60,0,61,216,201,223,60,0,61,216,202,223,60,0,61,216,203,223,60,0,61,216,204,223,60,0,61,216,205,223,60,0,61,216,206,223,60,0,61,216,207,223,60,0,61,216,208,223,60,0,61,216,209,223,60,0,61,216,210,223,60,0,61,216,211,223,60,0,61,216,212,223,60,0,61,216,213,223,60,0,61,216,214,223,60,0,61,216,215,223,60,0,61,216,216,223,60,0,61,216,217,223,60,0,61,216,224,223,60,0,61,216,225,223,60,0,61,216,226,223,60,0,61,216,227,223,60,0,61,216,228,223,60,0,61,216,229,223,60,0,61,216,230,223,60,0,61,216,231,223,60,0,61,216,232,223,60,0,61,216,233,223,60,0,61,216,234,223,60,0,61,216,235,223,60,0,61,216,240,223,60,0,62,216,0,220,60,0,62,216,1,220,60,0,62,216,2,220,60,0,62,216,3,220,60,0,62,216,4,220,60,0,62,216,5,220,60,0,62,216,6,220,60,0,62,216,7,220,60,0,62,216,8,220,60,0,62,216,9,220,60,0,62,216,10,220,60,0,62,216,11,220,60,0,62,216,16,220,60,0,62,216,17,220,60,0,62,216,18,220,60,0,62,216,19,220,60,0,62,216,20,220,60,0,62,216,21,220,60,0,62,216,22,220,60,0,62,216,23,220,60,0,62,216,24,220,60,0,62,216,25,220,60,0,62,216,26,220,60,0,62,216,27,220,60,0,62,216,28,220,60,0,62,216,29,220,60,0,62,216,30,220,60,0,62,216,31,220,60,0,62,216,32,220,60,0,62,216,33,220,60,0,62,216,34,220,60,0,62,216,35,220,60,0,62,216,36,220,60,0,62,216,37,220,60,0,62,216,38,220,60,0,62,216,39,220,60,0,62,216,40,220,60,0,62,216,41,220,60,0,62,216,42,220,60,0,62,216,43,220,60,0,62,216,44,220,60,0,62,216,45,220,60,0,62,216,46,220,60,0,62,216,47,220,60,0,62,216,48,220,60,0,62,216,49,220,60,0,62,216,50,220,60,0,62,216,51,220,60,0,62,216,52,220,60,0,62,216,53,220,60,0,62,216,54,220,60,0,62,216,55,220,60,0,62,216,56,220,60,0,62,216,57,220,60,0,62,216,58,220,60,0,62,216,59,220,60,0,62,216,60,220,60,0,62,216,61,220,60,0,62,216,62,220,60,0,62,216,63,220,60,0,62,216,64,220,60,0,62,216,65,220,60,0,62,216,66,220,60,0,62,216,67,220,60,0,62,216,68,220,60,0,62,216,69,220,60,0,62,216,70,220,60,0,62,216,71,220,60,0,62,216,80,220,60,0,62,216,81,220,60,0,62,216,82,220,60,0,62,216,83,220,60,0,62,216,84,220,60,0,62,216,85,220,60,0,62,216,86,220,60,0,62,216,87,220,60,0,62,216,88,220,60,0,62,216,89,220,60,0,62,216,96,220,60,0,62,216,97,220,60,0,62,216,98,220,60,0,62,216,99,220,60,0,62,216,100,220,60,0,62,216,101,220,60,0,62,216,102,220,60,0,62,216,103,220,60,0,62,216,104,220,60,0,62,216,105,220,60,0,62,216,106,220,60,0,62,216,107,220,60,0,62,216,108,220,60,0,62,216,109,220,60,0,62,216,110,220,60,0,62,216,111,220,60,0,62,216,112,220,60,0,62,216,113,220,60,0,62,216,114,220,60,0,62,216,115,220,60,0,62,216,116,220,60,0,62,216,117,220,60,0,62,216,118,220,60,0,62,216,119,220,60,0,62,216,120,220,60,0,62,216,121,220,60,0,62,216,122,220,60,0,62,216,123,220,60,0,62,216,124,220,60,0,62,216,125,220,60,0,62,216,126,220,60,0,62,216,127,220,60,0,62,216,128,220,60,0,62,216,129,220,60,0,62,216,130,220,60,0,62,216,131,220,60,0,62,216,132,220,60,0,62,216,133,220,60,0,62,216,134,220,60,0,62,216,135,220,60,0,62,216,144,220,60,0,62,216,145,220,60,0,62,216,146,220,60,0,62,216,147,220,60,0,62,216,148,220,60,0,62,216,149,220,60,0,62,216,150,220,60,0,62,216,151,220,60,0,62,216,152,220,60,0,62,216,153,220,60,0,62,216,154,220,60,0,62,216,155,220,60,0,62,216,156,220,60,0,62,216,157,220,60,0,62,216,158,220,60,0,62,216,159,220,60,0,62,216,160,220,60,0,62,216,161,220,60,0,62,216,162,220,60,0,62,216,163,220,60,0,62,216,164,220,60,0,62,216,165,220,60,0,62,216,166,220,60,0,62,216,167,220,60,0,62,216,168,220,60,0,62,216,169,220,60,0,62,216,170,220,60,0,62,216,171,220,60,0,62,216,172,220,60,0,62,216,173,220,60,0,62,216,176,220,60,0,62,216,177,220,60,0,54,216,0,220,60,0,54,216,1,220,60,0,54,216,2,220,60,0,54,216,3,220,60,0,54,216,4,220,60,0,54,216,5,220,60,0,54,216,6,220,60,0,54,216,7,220,60,0,54,216,8,220,60,0,54,216,9,220,60,0,54,216,10,220,60,0,54,216,11,220,60,0,54,216,12,220,60,0,54,216,13,220,60,0,54,216,14,220,60,0,54,216,15,220,60,0,54,216,16,220,60,0,54,216,17,220,60,0,54,216,18,220,60,0,54,216,19,220,60,0,54,216,20,220,60,0,54,216,21,220,60,0,54,216,22,220,60,0,54,216,23,220,60,0,54,216,24,220,60,0,54,216,25,220,60,0,54,216,26,220,60,0,54,216,27,220,60,0,54,216,28,220,60,0,54,216,29,220,60,0,54,216,30,220,60,0,54,216,31,220,60,0,54,216,32,220,60,0,54,216,33,220,60,0,54,216,34,220,60,0,54,216,35,220,60,0,54,216,36,220,60,0,54,216,37,220,60,0,54,216,38,220,60,0,54,216,39,220,60,0,54,216,40,220,60,0,54,216,41,220,60,0,54,216,42,220,60,0,54,216,43,220,60,0,54,216,44,220,60,0,54,216,45,220,60,0,54,216,46,220,60,0,54,216,47,220,60,0,54,216,48,220,60,0,54,216,49,220,60,0,54,216,50,220,60,0,54,216,51,220,60,0,54,216,52,220,60,0,54,216,53,220,60,0,54,216,54,220,60,0,54,216,55,220,60,0,54,216,56,220,60,0,54,216,57,220,60,0,54,216,58,220,60,0,54,216,59,220,60,0,54,216,60,220,60,0,54,216,61,220,60,0,54,216,62,220,60,0,54,216,63,220,60,0,54,216,64,220,60,0,54,216,65,220,60,0,54,216,66,220,60,0,54,216,67,220,60,0,54,216,68,220,60,0,54,216,69,220,60,0,54,216,70,220,60,0,54,216,71,220,60,0,54,216,72,220,60,0,54,216,73,220,60,0,54,216,74,220,60,0,54,216,75,220,60,0,54,216,76,220,60,0,54,216,77,220,60,0,54,216,78,220,60,0,54,216,79,220,60,0,54,216,80,220,60,0,54,216,81,220,60,0,54,216,82,220,60,0,54,216,83,220,60,0,54,216,84,220,60,0,54,216,85,220,60,0,54,216,86,220,60,0,54,216,87,220,60,0,54,216,88,220,60,0,54,216,89,220,60,0,54,216,90,220,60,0,54,216,91,220,60,0,54,216,92,220,60,0,54,216,93,220,60,0,54,216,94,220,60,0,54,216,95,220,60,0,54,216,96,220,60,0,54,216,97,220,60,0,54,216,98,220,60,0,54,216,99,220,60,0,54,216,100,220,60,0,54,216,101,220,60,0,54,216,102,220,60,0,54,216,103,220,60,0,54,216,104,220,60,0,54,216,105,220,60,0,54,216,106,220,60,0,54,216,107,220,60,0,54,216,108,220,60,0,54,216,109,220,60,0,54,216,110,220,60,0,54,216,111,220,60,0,54,216,112,220,60,0,54,216,113,220,60,0,54,216,114,220,60,0,54,216,115,220,60,0,54,216,116,220,60,0,54,216,117,220,60,0,54,216,118,220,60,0,54,216,119,220,60,0,54,216,120,220,60,0,54,216,121,220,60,0,54,216,122,220,60,0,54,216,123,220,60,0,54,216,124,220,60,0,54,216,125,220,60,0,54,216,126,220,60,0,54,216,127,220,60,0,54,216,128,220,60,0,54,216,129,220,60,0,54,216,130,220,60,0,54,216,131,220,60,0,54,216,132,220,60,0,54,216,133,220,60,0,54,216,134,220,60,0,54,216,135,220,60,0,54,216,136,220,60,0,54,216,137,220,60,0,54,216,138,220,60,0,54,216,139,220,60,0,54,216,140,220,60,0,54,216,141,220,60,0,54,216,142,220,60,0,54,216,143,220,60,0,54,216,144,220,60,0,54,216,145,220,60,0,54,216,146,220,60,0,54,216,147,220,60,0,54,216,148,220,60,0,54,216,149,220,60,0,54,216,150,220,60,0,54,216,151,220,60,0,54,216,152,220,60,0,54,216,153,220,60,0,54,216,154,220,60,0,54,216,155,220,60,0,54,216,156,220,60,0,54,216,157,220,60,0,54,216,158,220,60,0,54,216,159,220,60,0,54,216,160,220,60,0,54,216,161,220,60,0,54,216,162,220,60,0,54,216,163,220,60,0,54,216,164,220,60,0,54,216,165,220,60,0,54,216,166,220,60,0,54,216,167,220,60,0,54,216,168,220,60,0,54,216,169,220,60,0,54,216,170,220,60,0,54,216,171,220,60,0,54,216,172,220,60,0,54,216,173,220,60,0,54,216,174,220,60,0,54,216,175,220,60,0,54,216,176,220,60,0,54,216,177,220,60,0,54,216,178,220,60,0,54,216,179,220,60,0,54,216,180,220,60,0,54,216,181,220,60,0,54,216,182,220,60,0,54,216,183,220,60,0,54,216,184,220,60,0,54,216,185,220,60,0,54,216,186,220,60,0,54,216,187,220,60,0,54,216,188,220,60,0,54,216,189,220,60,0,54,216,190,220,60,0,54,216,191,220,60,0,54,216,192,220,60,0,54,216,193,220,60,0,54,216,194,220,60,0,54,216,195,220,60,0,54,216,196,220,60,0,54,216,197,220,60,0,54,216,198,220,60,0,54,216,199,220,60,0,54,216,200,220,60,0,54,216,201,220,60,0,54,216,202,220,60,0,54,216,203,220,60,0,54,216,204,220,60,0,54,216,205,220,60,0,54,216,206,220,60,0,54,216,207,220,60,0,54,216,208,220,60,0,54,216,209,220,60,0,54,216,210,220,60,0,54,216,211,220,60,0,54,216,212,220,60,0,54,216,213,220,60,0,54,216,214,220,60,0,54,216,215,220,60,0,54,216,216,220,60,0,54,216,217,220,60,0,54,216,218,220,60,0,54,216,219,220,60,0,54,216,220,220,60,0,54,216,221,220,60,0,54,216,222,220,60,0,54,216,223,220,60,0,54,216,224,220,60,0,54,216,225,220,60,0,54,216,226,220,60,0,54,216,227,220,60,0,54,216,228,220,60,0,54,216,229,220,60,0,54,216,230,220,60,0,54,216,231,220,60,0,54,216,232,220,60,0,54,216,233,220,60,0,54,216,234,220,60,0,54,216,235,220,60,0,54,216,236,220,60,0,54,216,237,220,60,0,54,216,238,220,60,0,54,216,239,220,60,0,54,216,240,220,60,0,54,216,241,220,60,0,54,216,242,220,60,0,54,216,243,220,60,0,54,216,244,220,60,0,54,216,245,220,60,0,54,216,246,220,60,0,54,216,247,220,60,0,54,216,248,220,60,0,54,216,249,220,60,0,54,216,250,220,60,0,54,216,251,220,60,0,54,216,252,220,60,0,54,216,253,220,60,0,54,216,254,220,60,0,54,216,255,220,60,0,54,216,0,221,60,0,54,216,1,221,60,0,54,216,2,221,60,0,54,216,3,221,60,0,54,216,4,221,60,0,54,216,5,221,60,0,54,216,6,221,60,0,54,216,7,221,60,0,54,216,8,221,60,0,54,216,9,221,60,0,54,216,10,221,60,0,54,216,11,221,60,0,54,216,12,221,60,0,54,216,13,221,60,0,54,216,14,221,60,0,54,216,15,221,60,0,54,216,16,221,60,0,54,216,17,221,60,0,54,216,18,221,60,0,54,216,19,221,60,0,54,216,20,221,60,0,54,216,21,221,60,0,54,216,22,221,60,0,54,216,23,221,60,0,54,216,24,221,60,0,54,216,25,221,60,0,54,216,26,221,60,0,54,216,27,221,60,0,54,216,28,221,60,0,54,216,29,221,60,0,54,216,30,221,60,0,54,216,31,221,60,0,54,216,32,221,60,0,54,216,33,221,60,0,54,216,34,221,60,0,54,216,35,221,60,0,54,216,36,221,60,0,54,216,37,221,60,0,54,216,38,221,60,0,54,216,39,221,60,0,54,216,40,221,60,0,54,216,41,221,60,0,54,216,42,221,60,0,54,216,43,221,60,0,54,216,44,221,60,0,54,216,45,221,60,0,54,216,46,221,60,0,54,216,47,221,60,0,54,216,48,221,60,0,54,216,49,221,60,0,54,216,50,221,60,0,54,216,51,221,60,0,54,216,52,221,60,0,54,216,53,221,60,0,54,216,54,221,60,0,54,216,55,221,60,0,54,216,56,221,60,0,54,216,57,221,60,0,54,216,58,221,60,0,54,216,59,221,60,0,54,216,60,221,60,0,54,216,61,221,60,0,54,216,62,221,60,0,54,216,63,221,60,0,54,216,64,221,60,0,54,216,65,221,60,0,54,216,66,221,60,0,54,216,67,221,60,0,54,216,68,221,60,0,54,216,69,221,60,0,54,216,70,221,60,0,54,216,71,221,60,0,54,216,72,221,60,0,54,216,73,221,60,0,54,216,74,221,60,0,54,216,75,221,60,0,54,216,76,221,60,0,54,216,77,221,60,0,54,216,78,221,60,0,54,216,79,221,60,0,54,216,80,221,60,0,54,216,81,221,60,0,54,216,82,221,60,0,54,216,83,221,60,0,54,216,84,221,60,0,54,216,85,221,60,0,54,216,86,221,60,0,54,216,87,221,60,0,54,216,88,221,60,0,54,216,89,221,60,0,54,216,90,221,60,0,54,216,91,221,60,0,54,216,92,221,60,0,54,216,93,221,60,0,54,216,94,221,60,0,54,216,95,221,60,0,54,216,96,221,60,0,54,216,97,221,60,0,54,216,98,221,60,0,54,216,99,221,60,0,54,216,100,221,60,0,54,216,101,221,60,0,54,216,102,221,60,0,54,216,103,221,60,0,54,216,104,221,60,0,54,216,105,221,60,0,54,216,106,221,60,0,54,216,107,221,60,0,54,216,108,221,60,0,54,216,109,221,60,0,54,216,110,221,60,0,54,216,111,221,60,0,54,216,112,221,60,0,54,216,113,221,60,0,54,216,114,221,60,0,54,216,115,221,60,0,54,216,116,221,60,0,54,216,117,221,60,0,54,216,118,221,60,0,54,216,119,221,60,0,54,216,120,221,60,0,54,216,121,221,60,0,54,216,122,221,60,0,54,216,123,221,60,0,54,216,124,221,60,0,54,216,125,221,60,0,54,216,126,221,60,0,54,216,127,221,60,0,54,216,128,221,60,0,54,216,129,221,60,0,54,216,130,221,60,0,54,216,131,221,60,0,54,216,132,221,60,0,54,216,133,221,60,0,54,216,134,221,60,0,54,216,135,221,60,0,54,216,136,221,60,0,54,216,137,221,60,0,54,216,138,221,60,0,54,216,139,221,60,0,54,216,140,221,60,0,54,216,141,221,60,0,54,216,142,221,60,0,54,216,143,221,60,0,54,216,144,221,60,0,54,216,145,221,60,0,54,216,146,221,60,0,54,216,147,221,60,0,54,216,148,221,60,0,54,216,149,221,60,0,54,216,150,221,60,0,54,216,151,221,60,0,54,216,152,221,60,0,54,216,153,221,60,0,54,216,154,221,60,0,54,216,155,221,60,0,54,216,156,221,60,0,54,216,157,221,60,0,54,216,158,221,60,0,54,216,159,221,60,0,54,216,160,221,60,0,54,216,161,221,60,0,54,216,162,221,60,0,54,216,163,221,60,0,54,216,164,221,60,0,54,216,165,221,60,0,54,216,166,221,60,0,54,216,167,221,60,0,54,216,168,221,60,0,54,216,169,221,60,0,54,216,170,221,60,0,54,216,171,221,60,0,54,216,172,221,60,0,54,216,173,221,60,0,54,216,174,221,60,0,54,216,175,221,60,0,54,216,176,221,60,0,54,216,177,221,60,0,54,216,178,221,60,0,54,216,179,221,60,0,54,216,180,221,60,0,54,216,181,221,60,0,54,216,182,221,60,0,54,216,183,221,60,0,54,216,184,221,60,0,54,216,185,221,60,0,54,216,186,221,60,0,54,216,187,221,60,0,54,216,188,221,60,0,54,216,189,221,60,0,54,216,190,221,60,0,54,216,191,221,60,0,54,216,192,221,60,0,54,216,193,221,60,0,54,216,194,221,60,0,54,216,195,221,60,0,54,216,196,221,60,0,54,216,197,221,60,0,54,216,198,221,60,0,54,216,199,221,60,0,54,216,200,221,60,0,54,216,201,221,60,0,54,216,202,221,60,0,54,216,203,221,60,0,54,216,204,221,60,0,54,216,205,221,60,0,54,216,206,221,60,0,54,216,207,221,60,0,54,216,208,221,60,0,54,216,209,221,60,0,54,216,210,221,60,0,54,216,211,221,60,0,54,216,212,221,60,0,54,216,213,221,60,0,54,216,214,221,60,0,54,216,215,221,60,0,54,216,216,221,60,0,54,216,217,221,60,0,54,216,218,221,60,0,54,216,219,221,60,0,54,216,220,221,60,0,54,216,221,221,60,0,54,216,222,221,60,0,54,216,223,221,60,0,54,216,224,221,60,0,54,216,225,221,60,0,54,216,226,221,60,0,54,216,227,221,60,0,54,216,228,221,60,0,54,216,229,221,60,0,54,216,230,221,60,0,54,216,231,221,60,0,54,216,232,221,60,0,54,216,233,221,60,0,54,216,234,221,60,0,54,216,235,221,60,0,54,216,236,221,60,0,54,216,237,221,60,0,54,216,238,221,60,0,54,216,239,221,60,0,54,216,240,221,60,0,54,216,241,221,60,0,54,216,242,221,60,0,54,216,243,221,60,0,54,216,244,221,60,0,54,216,245,221,60,0,54,216,246,221,60,0,54,216,247,221,60,0,54,216,248,221,60,0,54,216,249,221,60,0,54,216,250,221,60,0,54,216,251,221,60,0,54,216,252,221,60,0,54,216,253,221,60,0,54,216,254,221,60,0,54,216,255,221,60,0,54,216,55,222,60,0,54,216,56,222,60,0,54,216,57,222,60,0,54,216,58,222,60,0,54,216,109,222,60,0,54,216,110,222,60,0,54,216,111,222,60,0,54,216,112,222,60,0,54,216,113,222,60,0,54,216,114,222,60,0,54,216,115,222,60,0,54,216,116,222,60,0,54,216,118,222,60,0,54,216,119,222,60,0,54,216,120,222,60,0,54,216,121,222,60,0,54,216,122,222,60,0,54,216,123,222,60,0,54,216,124,222,60,0,54,216,125,222,60,0,54,216,126,222,60,0,54,216,127,222,60,0,54,216,128,222,60,0,54,216,129,222,60,0,54,216,130,222,60,0,54,216,131,222,60,0,54,216,133,222,60,0,54,216,134,222,60,0,240,47,60,0,241,47,60,0,242,47,60,0,243,47,60,0,244,47,60,0,245,47,60,0,246,47,60,0,247,47,60,0,248,47,60,0,249,47,60,0,250,47,60,0,251,47,60,0,192,49,60,0,193,49,60,0,194,49,60,0,195,49,60,0,196,49,60,0,197,49,60,0,198,49,60,0,199,49,60,0,200,49,60,0,201,49,60,0,202,49,60,0,203,49,60,0,204,49,60,0,205,49,60,0,206,49,60,0,207,49,60,0,208,49,60,0,209,49,60,0,210,49,60,0,211,49,60,0,212,49,60,0,213,49,60,0,214,49,60,0,215,49,60,0,216,49,60,0,217,49,60,0,218,49,60,0,219,49,60,0,220,49,60,0,221,49,60,0,222,49,60,0,223,49,60,0,224,49,60,0,225,49,60,0,226,49,60,0,227,49,60,0,4,48,60,0,18,48,60,0,60,0,60,0,54,48,60,0,19,48,60,0,32,48,60,0,55,48,60,0,62,48,60,0,63,48,60,0,144,49,60,0,145,49,60,0,127,50,60,0,252,255,60,0,208,2,60,0,60,0,60,0,1,216,129,223,60,0,209,2,60,0,60,0,60,0,1,216,130,223,60,0,113,9,60,0,70,14,60,0,198,14,60,0,215,23,60,0,167,26,60,0,207,169,60,0,230,169,60,0,112,170,60,0,221,170,60,0,243,170,60,0,244,170,60,0,26,216,66,223,60,0,26,216,67,223,60,0,56,216,60,221,60,0,56,216,61,221,60,0,5,48,60,0,59,48,60,0,27,216,224,223,60,0,27,216,225,223,60,0,27,216,227,223,60,0,49,48,60,0,60,0,60,0,50,48,47,0,153,48,60,0,51,48,60,0,60,0,60,0,52,48,47,0,153,48,60,0,53,48,60,0,157,48,60,0,252,48,60,0,60,0,60,0,112,255,60,0,253,48,38,0,252,253,60,0,164,0,60,0,162,0,60,0,60,0,60,0,224,255,60,0,39,0,36,0,39,0,60,0,60,0,60,0,4,255,60,0,60,0,60,0,105,254,60,0,163,0,60,0,60,0,60,0,225,255,60,0,165,0,60,0,60,0,60,0,229,255,60,0,143,5,60,0,14,32,11,6,14,32,60,0,14,32,254,7,14,32,60,0,14,32,255,7,14,32,60,0,242,9,60,0,243,9,60,0,251,9,60,0,241,10,60,0,56,168,60,0,249,11,60,0,7,216,221,223,60,0,7,216,222,223,60,0,7,216,223,223,60,0,7,216,224,223,60,0,63,14,60,0,219,23,60,0,56,216,255,222,60,0,160,32,60,0,161,32,60,0,162,32,60,0,163,32,60,0,164,32,60,0,165,32,60,0,166,32,60,0,167,32,60,0,169,32,60,0,60,0,60,0,230,255,60,0,170,32,60,0,171,32,60,0,172,32,60,0,173,32,60,0,174,32,60,0,175,32,60,0,176,32,60,0,177,32,60,0,178,32,60,0,179,32,60,0,180,32,60,0,181,32,60,0,182,32,60,0,183,32,60,0,184,32,60,0,185,32,60,0,14,32,59,216,176,220,14,32,60,0,186,32,60,0,187,32,60,0,188,32,60,0,189,32,60,0,190,32,60,0,191,32,60,0,192,32,60,0,168,32,60,0,14,32,252,253,14,32,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,244,9,60,0,245,9,60,0,246,9,60,0,247,9,60,0,248,9,60,0,249,9,60,0,114,11,60,0,115,11,60,0,116,11,60,0,117,11,60,0,118,11,60,0,119,11,60,0,48,168,60,0,49,168,60,0,50,168,60,0,51,168,60,0,52,168,60,0,53,168,60,0,240,11,60,0,241,11,60,0,242,11,60,0,7,216,192,223,60,0,7,216,193,223,60,0,7,216,194,223,60,0,7,216,195,223,60,0,7,216,196,223,60,0,7,216,197,223,60,0,7,216,198,223,60,0,7,216,199,223,60,0,7,216,200,223,60,0,7,216,201,223,60,0,7,216,202,223,60,0,7,216,203,223,60,0,7,216,204,223,60,0,7,216,205,223,60,0,7,216,206,223,60,0,7,216,207,223,60,0,7,216,208,223,60,0,7,216,209,223,60,0,7,216,210,223,60,0,7,216,211,223,60,0,7,216,212,223,60,0,88,13,60,0,89,13,60,0,90,13,60,0,91,13,60,0,92,13,60,0,93,13,60,0,94,13,60,0,112,13,60,0,113,13,60,0,114,13,60,0,115,13,60,0,116,13,60,0,117,13,60,0,118,13,60,0,119,13,60,0,120,13,60,0,114,19,60,0,115,19,60,0,116,19,60,0,117,19,60,0,118,19,60,0,119,19,60,0,120,19,60,0,121,19,60,0,122,19,60,0,123,19,60,0,124,19,60,0,128,33,60,0,129,33,60,0,130,33,60,0,134,33,60,0,135,33,60,0,136,33,60,0,3,216,105,222,60,0,3,216,106,222,60,0,3,216,107,222,60,0,3,216,108,222,60,0,3,216,109,222,60,0,3,216,110,222,60,0,3,216,111,222,60,0,3,216,112,222,60,0,3,216,113,222,60,0,3,216,114,222,60,0,3,216,115,222,60,0,3,216,116,222,60,0,3,216,117,222,60,0,3,216,118,222,60,0,3,216,119,222,60,0,3,216,120,222,60,0,3,216,121,222,60,0,3,216,122,222,60,0,3,216,123,222,60,0,3,216,124,222,60,0,3,216,125,222,60,0,3,216,126,222,60,0,253,44,60,0,0,216,34,223,60,0,0,216,35,223,60,0,14,32,3,216,252,220,14,32,60,0,14,32,3,216,253,220,14,32,60,0,14,32,3,216,254,220,14,32,60,0,14,32,3,216,255,220,14,32,60,0,0,216,16,221,60,0,0,216,17,221,60,0,0,216,18,221,60,0,0,216,19,221,60,0,0,216,20,221,60,0,0,216,21,221,60,0,0,216,22,221,60,0,0,216,23,221,60,0,0,216,24,221,60,0,0,216,25,221,60,0,0,216,26,221,60,0,0,216,27,221,60,0,0,216,28,221,60,0,0,216,29,221,60,0,0,216,30,221,60,0,0,216,31,221,60,0,0,216,32,221,60,0,0,216,33,221,60,0,0,216,34,221,60,0,0,216,35,221,60,0,0,216,36,221,60,0,0,216,37,221,60,0,0,216,38,221,60,0,0,216,39,221,60,0,0,216,40,221,60,0,0,216,41,221,60,0,0,216,42,221,60,0,0,216,43,221,60,0,0,216,44,221,60,0,0,216,45,221,60,0,0,216,46,221,60,0,0,216,47,221,60,0,0,216,48,221,60,0,0,216,49,221,60,0,0,216,50,221,60,0,0,216,51,221,60,0,0,216,64,221,60,0,0,216,65,221,60,0,0,216,68,221,60,0,0,216,69,221,60,0,0,216,70,221,60,0,0,216,71,221,60,0,0,216,73,221,60,0,0,216,74,221,60,0,0,216,75,221,60,0,0,216,76,221,60,0,0,216,77,221,60,0,0,216,78,221,60,0,0,216,80,221,60,0,0,216,81,221,60,0,0,216,82,221,60,0,0,216,83,221,60,0,0,216,84,221,60,0,0,216,85,221,60,0,0,216,86,221,60,0,0,216,87,221,60,0,0,216,96,221,60,0,0,216,97,221,60,0,0,216,98,221,60,0,0,216,99,221,60,0,0,216,100,221,60,0,0,216,101,221,60,0,0,216,102,221,60,0,0,216,103,221,60,0,0,216,104,221,60,0,0,216,105,221,60,0,0,216,106,221,60,0,0,216,107,221,60,0,0,216,108,221,60,0,0,216,109,221,60,0,0,216,110,221,60,0,0,216,111,221,60,0,0,216,112,221,60,0,0,216,113,221,60,0,0,216,114,221,60,0,0,216,116,221,60,0,0,216,117,221,60,0,0,216,118,221,60,0,0,216,119,221,60,0,0,216,120,221,60,0,0,216,139,221,60,0,0,216,234,222,60,0,0,216,235,222,60,0,0,216,236,222,60,0,0,216,237,222,60,0,0,216,238,222,60,0,0,216,239,222,60,0,0,216,240,222,60,0,0,216,241,222,60,0,0,216,242,222,60,0,0,216,243,222,60,0,0,216,244,222,60,0,0,216,245,222,60,0,0,216,246,222,60,0,0,216,247,222,60,0,0,216,248,222,60,0,0,216,249,222,60,0,0,216,250,222,60,0,0,216,251,222,60,0,0,216,211,223,60,0,0,216,212,223,60,0,0,216,213,223,60,0,14,32,2,216,126,220,14,32,60,0,14,32,2,216,127,220,14,32,60,0,14,32,2,216,173,220,14,32,60,0,14,32,2,216,174,220,14,32,60,0,14,32,2,216,175,220,14,32,60,0,14,32,2,216,253,220,14,32,60,0,14,32,2,216,254,220,14,32,60,0,14,32,2,216,255,220,14,32,60,0,14,32,2,216,126,222,14,32,60,0,14,32,2,216,158,222,14,32,60,0,14,32,2,216,159,222,14,32,60,0,14,32,2,216,23,221,14,32,60,0,14,32,2,216,24,221,14,32,60,0,14,32,2,216,25,221,14,32,60,0,14,32,2,216,91,220,14,32,60,0,14,32,2,216,92,220,14,32,60,0,14,32,2,216,93,220,14,32,60,0,14,32,2,216,94,220,14,32,60,0,14,32,2,216,95,220,14,32,60,0,14,32,2,216,237,222,14,32,60,0,14,32,2,216,238,222,14,32,60,0,14,32,2,216,239,222,14,32,60,0,14,32,2,216,92,223,14,32,60,0,14,32,2,216,93,223,14,32,60,0,14,32,2,216,94,223,14,32,60,0,14,32,2,216,95,223,14,32,60,0,14,32,2,216,124,223,14,32,60,0,14,32,2,216,125,223,14,32,60,0,14,32,2,216,126,223,14,32,60,0,14,32,2,216,127,223,14,32,60,0,14,32,2,216,173,223,14,32,60,0,14,32,2,216,174,223,14,32,60,0,14,32,2,216,175,223,14,32,60,0,14,32,3,216,34,223,14,32,60,0,14,32,3,216,35,223,14,32,60,0,14,32,3,216,36,223,14,32,60,0,14,32,3,216,37,223,14,32,60,0,14,32,3,216,38,223,14,32,60,0,14,32,3,216,82,223,14,32,60,0,14,32,3,216,83,223,14,32,60,0,14,32,3,216,84,223,14,32,60,0,14,32,3,216,201,223,14,32,60,0,14,32,3,216,202,223,14,32,60,0,14,32,3,216,203,223,14,32,60,0,5,216,58,223,60,0,5,216,59,223,60,0,4,216,91,220,60,0,4,216,92,220,60,0,4,216,93,220,60,0,4,216,94,220,60,0,4,216,95,220,60,0,4,216,96,220,60,0,4,216,97,220,60,0,4,216,98,220,60,0,4,216,99,220,60,0,4,216,100,220,60,0,4,216,101,220,60,0,14,32,2,216,68,222,14,32,60,0,14,32,2,216,69,222,14,32,60,0,14,32,2,216,70,222,14,32,60,0,14,32,2,216,71,222,14,32,60,0,14,32,2,216,72,222,14,32,60,0,7,216,99,220,60,0,7,216,100,220,60,0,7,216,101,220,60,0,7,216,102,220,60,0,7,216,103,220,60,0,7,216,104,220,60,0,7,216,105,220,60,0,7,216,106,220,60,0,7,216,107,220,60,0,7,216,108,220,60,0,4,216,234,221,60,0,4,216,235,221,60,0,4,216,236,221,60,0,4,216,237,221,60,0,4,216,238,221,60,0,4,216,239,221,60,0,4,216,240,221,60,0,4,216,241,221,60,0,4,216,242,221,60,0,4,216,243,221,60,0,4,216,244,221,60,0,6,216,234,220,60,0,6,216,235,220,60,0,6,216,236,220,60,0,6,216,237,220,60,0,6,216,238,220,60,0,6,216,239,220,60,0,6,216,240,220,60,0,6,216,241,220,60,0,6,216,242,220,60,0,26,216,91,223,60,0,26,216,92,223,60,0,26,216,93,223,60,0,26,216,94,223,60,0,26,216,95,223,60,0,26,216,96,223,60,0,26,216,97,223,60,0,27,216,138,222,60,0,27,216,139,222,60,0,27,216,140,222,60,0,27,216,141,222,60,0,27,216,142,222,60,0,27,216,143,222,60,0,27,216,144,222,60,0,27,216,145,222,60,0,27,216,146,222,60,0,27,216,147,222,60,0,52,216,202,222,60,0,52,216,203,222,60,0,52,216,204,222,60,0,52,216,205,222,60,0,52,216,206,222,60,0,52,216,207,222,60,0,52,216,208,222,60,0,52,216,209,222,60,0,52,216,210,222,60,0,52,216,211,222,60,0,52,216,234,222,60,0,52,216,235,222,60,0,52,216,236,222,60,0,52,216,237,222,60,0,52,216,238,222,60,0,52,216,239,222,60,0,52,216,240,222,60,0,52,216,241,222,60,0,52,216,242,222,60,0,52,216,243,222,60,0,14,32,59,216,122,220,14,32,60,0,14,32,59,216,123,220,14,32,60,0,14,32,59,216,124,220,14,32,60,0,14,32,59,216,125,220,14,32,60,0,14,32,59,216,126,220,14,32,60,0,14,32,59,216,127,220,14,32,60,0,14,32,59,216,128,220,14,32,60,0,14,32,59,216,129,220,14,32,60,0,14,32,59,216,130,220,14,32,60,0,14,32,59,216,131,220,14,32,60,0,14,32,59,216,132,220,14,32,60,0,14,32,59,216,133,220,14,32,60,0,14,32,59,216,134,220,14,32,60,0,14,32,59,216,135,220,14,32,60,0,14,32,59,216,136,220,14,32,60,0,14,32,59,216,137,220,14,32,60,0,14,32,59,216,138,220,14,32,60,0,14,32,59,216,139,220,14,32,60,0,14,32,59,216,140,220,14,32,60,0,14,32,59,216,141,220,14,32,60,0,14,32,59,216,142,220,14,32,60,0,14,32,59,216,143,220,14,32,60,0,14,32,59,216,144,220,14,32,60,0,14,32,59,216,145,220,14,32,60,0,14,32,59,216,146,220,14,32,60,0,14,32,59,216,147,220,14,32,60,0,14,32,59,216,148,220,14,32,60,0,14,32,59,216,149,220,14,32,60,0,14,32,59,216,150,220,14,32,60,0,14,32,59,216,151,220,14,32,60,0,14,32,59,216,152,220,14,32,60,0,14,32,59,216,153,220,14,32,60,0,14,32,59,216,154,220,14,32,60,0,14,32,59,216,155,220,14,32,60,0,14,32,59,216,156,220,14,32,60,0,14,32,59,216,157,220,14,32,60,0,14,32,59,216,158,220,14,32,60,0,14,32,59,216,159,220,14,32,60,0,14,32,59,216,160,220,14,32,60,0,14,32,59,216,161,220,14,32,60,0,14,32,59,216,162,220,14,32,60,0,14,32,59,216,173,220,14,32,60,0,14,32,59,216,174,220,14,32,60,0,14,32,59,216,175,220,14,32,60,0,14,32,59,216,179,220,14,32,60,0,14,32,59,216,180,220,14,32,60,0,14,32,59,216,10,221,14,32,60,0,14,32,59,216,11,221,14,32,60,0,14,32,59,216,12,221,14,32,60,0,14,32,59,216,13,221,14,32,60,0,14,32,59,216,14,221,14,32,60,0,14,32,59,216,15,221,14,32,60,0,14,32,59,216,16,221,14,32,60,0,14,32,59,216,17,221,14,32,60,0,14,32,59,216,18,221,14,32,60,0,14,32,59,216,19,221,14,32,60,0,14,32,59,216,20,221,14,32,60,0,14,32,59,216,21,221,14,32,60,0,14,32,59,216,22,221,14,32,60,0,14,32,59,216,23,221,14,32,60,0,14,32,59,216,24,221,14,32,60,0,14,32,59,216,25,221,14,32,60,0,14,32,59,216,26,221,14,32,60,0,14,32,59,216,27,221,14,32,60,0,14,32,59,216,28,221,14,32,60,0,14,32,59,216,29,221,14,32,60,0,14,32,59,216,30,221,14,32,60,0,14,32,59,216,31,221,14,32,60,0,14,32,59,216,32,221,14,32,60,0,14,32,59,216,33,221,14,32,60,0,14,32,59,216,34,221,14,32,60,0,14,32,59,216,35,221,14,32,60,0,14,32,59,216,36,221,14,32,60,0,14,32,59,216,37,221,14,32,60,0,14,32,59,216,38,221,14,32,60,0,14,32,59,216,39,221,14,32,60,0,14,32,59,216,40,221,14,32,60,0,14,32,59,216,41,221,14,32,60,0,14,32,59,216,42,221,14,32,60,0,14,32,59,216,43,221,14,32,60,0,14,32,59,216,44,221,14,32,60,0,14,32,59,216,45,221,14,32,60,0,14,32,59,216,55,221,14,32,60,0,14,32,59,216,56,221,14,32,60,0,14,32,59,216,57,221,14,32,60,0,14,32,59,216,58,221,14,32,60,0,14,32,59,216,59,221,14,32,60,0,14,32,59,216,60,221,14,32,60,0,14,32,59,216,61,221,14,32,60,0,14,32,2,216,201,221,14,32,60,0,14,32,2,216,202,221,14,32,60,0,14,32,2,216,203,221,14,32,60,0,14,32,2,216,204,221,14,32,60,0,14,32,2,216,205,221,14,32,60,0,14,32,2,216,206,221,14,32,60,0,14,32,2,216,207,221,14,32,60,0,14,32,2,216,210,221,14,32,60,0,14,32,2,216,211,221,14,32,60,0,14,32,2,216,212,221,14,32,60,0,14,32,2,216,213,221,14,32,60,0,14,32,2,216,214,221,14,32,60,0,14,32,2,216,215,221,14,32,60,0,14,32,2,216,216,221,14,32,60,0,14,32,2,216,217,221,14,32,60,0,14,32,2,216,218,221,14,32,60,0,14,32,2,216,219,221,14,32,60,0,14,32,2,216,220,221,14,32,60,0,14,32,2,216,221,221,14,32,60,0,14,32,2,216,222,221,14,32,60,0,14,32,2,216,223,221,14,32,60,0,14,32,2,216,224,221,14,32,60,0,14,32,2,216,225,221,14,32,60,0,14,32,2,216,226,221,14,32,60,0,14,32,2,216,227,221,14,32,60,0,14,32,2,216,228,221,14,32,60,0,14,32,2,216,229,221,14,32,60,0,14,32,2,216,230,221,14,32,60,0,14,32,2,216,231,221,14,32,60,0,14,32,2,216,232,221,14,32,60,0,14,32,2,216,233,221,14,32,60,0,14,32,2,216,234,221,14,32,60,0,14,32,2,216,235,221,14,32,60,0,14,32,2,216,236,221,14,32,60,0,14,32,2,216,237,221,14,32,60,0,14,32,2,216,238,221,14,32,60,0,14,32,2,216,239,221,14,32,60,0,14,32,2,216,240,221,14,32,60,0,14,32,2,216,241,221,14,32,60,0,14,32,2,216,242,221,14,32,60,0,14,32,2,216,243,221,14,32,60,0,14,32,2,216,244,221,14,32,60,0,14,32,2,216,245,221,14,32,60,0,14,32,2,216,189,221,14,32,60,0,14,32,2,216,246,221,14,32,60,0,14,32,2,216,247,221,14,32,60,0,14,32,2,216,248,221,14,32,60,0,14,32,2,216,249,221,14,32,60,0,14,32,2,216,250,221,14,32,60,0,14,32,2,216,251,221,14,32,60,0,14,32,2,216,252,221,14,32,60,0,14,32,2,216,253,221,14,32,60,0,14,32,2,216,254,221,14,32,60,0,14,32,2,216,255,221,14,32,60,0,14,32,2,216,188,221,14,32,60,0,9,216,50,220,60,0,9,216,51,220,60,0,9,216,90,220,60,0,9,216,91,220,60,0,9,216,92,220,60,0,9,216,93,220,60,0,9,216,94,220,60,0,9,216,95,220,60,0,9,216,96,220,60,0,9,216,97,220,60,0,9,216,98,220,60,0,9,216,99,220,60,0,9,216,100,220,60,0,9,216,101,220,60,0,9,216,102,220,60,0,9,216,103,220,60,0,9,216,104,220,60,0,52,216,105,223,60,0,52,216,106,223,60,0,52,216,107,223,60,0,52,216,108,223,60,0,52,216,109,223,60,0,52,216,110,223,60,0,52,216,111,223,60,0,52,216,112,223,60,0,52,216,113,223,60,0,48,0,61,0,96,6,61,0,240,6,61,0,14,32,192,7,14,32,61,0,102,9,61,0,230,9,61,0,102,10,61,0,230,10,61,0,102,11,61,0,230,11,61,0,102,12,61,0,120,12,61,0,230,12,61,0,102,13,61,0,230,13,61,0,80,14,61,0,208,14,61,0,32,15,61,0,64,16,61,0,144,16,61,0,224,23,61,0,240,23,61,0,16,24,61,0,70,25,61,0,208,25,61,0,128,26,61,0,144,26,61,0,80,27,61,0,176,27,61,0,64,28,61,0,80,28,61,0,7,48,61,0,32,166,61,0,208,168,61,0,0,169,61,0,208,169,61,0,240,169,61,0,80,170,61,0,240,171,61,0,0,216,138,221,61,0,1,216,160,220,61,0,3,216,48,221,61,0,4,216,102,220,61,0,4,216,240,220,61,0,4,216,54,221,61,0,4,216,208,221,61,0,4,216,240,222,61,0,5,216,80,220,61,0,5,216,208,220,61,0,5,216,80,222,61,0,5,216,192,222,61,0,5,216,48,223,61,0,6,216,224,220,61,0,6,216,80,221,61,0,7,216,80,220,61,0,7,216,80,221,61,0,7,216,160,221,61,0,7,216,80,223,61,0,26,216,96,222,61,0,26,216,192,222,61,0,26,216,80,223,61,0,27,216,128,222,61,0,52,216,192,222,61,0,52,216,224,222,61,0,56,216,64,221,61,0,56,216,240,222,61,0,57,216,240,220,61,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,16,255,60,0,60,0,60,0,51,15,60,0,60,0,60,0,60,216,1,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,60,216,0,221,47,0,39,0,46,0,39,0,60,0,60,0,60,0,88,51,47,0,185,112,60,0,60,0,60,0,53,216,206,223,61,0,53,216,216,223,61,0,53,216,226,223,61,0,53,216,236,223,61,0,53,216,246,223,61,0,62,216,240,223,60,0,60,0,60,0,234,36,61,0,255,36,61,0,60,216,11,221,61,0,60,216,12,221,60,0,60,0,60,0,112,32,60,0,60,0,60,0,128,32,60,0,60,0,60,0,137,33,47,0,14,32,68,32,59,216,3,221,14,32,60,0,49,0,61,0,97,6,61,0,241,6,61,0,14,32,193,7,14,32,61,0,103,9,61,0,231,9,61,0,103,10,61,0,231,10,61,0,103,11,61,0,231,11,61,0,103,12,61,0,121,12,61,0,124,12,61,0,231,12,61,0,103,13,61,0,231,13,61,0,81,14,61,0,209,14,61,0,33,15,61,0,65,16,61,0,145,16,61,0,105,19,61,0,225,23,61,0,241,23,61,0,17,24,61,0,71,25,61,0,209,25,61,0,218,25,61,0,129,26,61,0,145,26,61,0,81,27,61,0,177,27,61,0,65,28,61,0,81,28,61,0,33,48,61,0,33,166,61,0,209,168,61,0,1,169,61,0,209,169,61,0,241,169,61,0,81,170,61,0,241,171,61,0,0,216,7,221,61,0,0,216,66,221,61,0,0,216,88,221,61,0,0,216,89,221,61,0,0,216,90,221,61,0,0,216,225,222,61,0,0,216,32,223,61,0,0,216,209,223,61,0,1,216,161,220,61,0,14,32,2,216,88,220,14,32,61,0,14,32,2,216,121,220,14,32,61,0,14,32,2,216,167,220,14,32,61,0,14,32,2,216,251,220,14,32,61,0,14,32,2,216,22,221,14,32,61,0,14,32,2,216,192,221,14,32,61,0,14,32,2,216,64,222,14,32,61,0,14,32,2,216,125,222,14,32,61,0,14,32,2,216,157,222,14,32,61,0,14,32,2,216,235,222,14,32,61,0,14,32,2,216,88,223,14,32,61,0,14,32,2,216,120,223,14,32,61,0,14,32,2,216,169,223,14,32,61,0,14,32,3,216,250,220,14,32,61,0,3,216,49,221,61,0,3,216,96,222,61,0,14,32,3,216,29,223,14,32,61,0,14,32,3,216,81,223,14,32,61,0,14,32,3,216,197,223,14,32,61,0,4,216,82,220,61,0,4,216,103,220,61,0,4,216,241,220,61,0,4,216,55,221,61,0,4,216,209,221,61,0,4,216,225,221,61,0,4,216,241,222,61,0,5,216,81,220,61,0,5,216,209,220,61,0,5,216,81,222,61,0,5,216,193,222,61,0,5,216,49,223,61,0,6,216,225,220,61,0,6,216,81,221,61,0,7,216,81,220,61,0,7,216,90,220,61,0,7,216,81,221,61,0,7,216,161,221,61,0,7,216,81,223,61,0,9,216,21,220,61,0,9,216,30,220,61,0,9,216,44,220,61,0,9,216,52,220,61,0,9,216,79,220,61,0,9,216,88,220,61,0,26,216,97,222,61,0,26,216,193,222,61,0,26,216,81,223,61,0,27,216,129,222,61,0,52,216,193,222,61,0,52,216,225,222,61,0,52,216,96,223,61,0,52,216,114,223,61,0,52,216,119,223,61,0,56,216,65,221,61,0,56,216,241,222,61,0,57,216,241,220,61,0,14,32,58,216,199,220,14,32,61,0,14,32,58,216,81,221,14,32,61,0,14,32,59,216,113,220,14,32,61,0,14,32,59,216,163,220,14,32,61,0,14,32,59,216,1,221,14,32,60,0,60,0,60,0,17,255,60,0,60,0,60,0,42,15,60,0,60,0,60,0,60,216,2,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,136,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,145,36,47,0,14,32,58,216,80,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,233,51,47,0,14,32,58,216,80,221,229,101,14,32,60,0,60,0,60,0,201,50,47,0,14,32,58,216,80,221,8,103,14,32,60,0,60,0,60,0,98,51,47,0,14,32,58,216,80,221,185,112,14,32,60,0,60,0,60,0,146,36,47,0,14,32,59,216,1,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,234,51,47,0,14,32,59,216,1,221,229,101,14,32,60,0,60,0,60,0,202,50,47,0,14,32,59,216,1,221,8,103,14,32,60,0,60,0,60,0,99,51,47,0,14,32,59,216,1,221,185,112,14,32,60,0,60,0,60,0,147,36,47,0,14,32,59,216,2,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,235,51,47,0,14,32,59,216,2,221,229,101,14,32,60,0,60,0,60,0,203,50,47,0,14,32,59,216,2,221,8,103,14,32,60,0,60,0,60,0,100,51,47,0,14,32,59,216,2,221,185,112,14,32,60,0,60,0,60,0,148,36,47,0,14,32,59,216,3,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,236,51,47,0,14,32,59,216,3,221,229,101,14,32,60,0,60,0,60,0,101,51,47,0,14,32,59,216,3,221,185,112,14,32,60,0,60,0,60,0,149,36,47,0,14,32,59,216,4,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,237,51,47,0,14,32,59,216,4,221,229,101,14,32,60,0,60,0,60,0,102,51,47,0,14,32,59,216,4,221,185,112,14,32,60,0,60,0,60,0,150,36,47,0,14,32,59,216,5,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,238,51,47,0,14,32,59,216,5,221,229,101,14,32,60,0,60,0,60,0,103,51,47,0,14,32,59,216,5,221,185,112,14,32,60,0,60,0,60,0,151,36,47,0,14,32,59,216,6,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,239,51,47,0,14,32,59,216,6,221,229,101,14,32,60,0,60,0,60,0,104,51,47,0,14,32,59,216,6,221,185,112,14,32,60,0,60,0,60,0,152,36,47,0,14,32,59,216,7,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,240,51,47,0,14,32,59,216,7,221,229,101,14,32,60,0,60,0,60,0,105,51,47,0,14,32,59,216,7,221,185,112,14,32,60,0,60,0,60,0,153,36,47,0,14,32,59,216,8,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,241,51,47,0,14,32,59,216,8,221,229,101,14,32,60,0,60,0,60,0,106,51,47,0,14,32,59,216,8,221,185,112,14,32,60,0,60,0,60,0,154,36,47,0,14,32,59,216,9,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,242,51,47,0,14,32,59,216,9,221,229,101,14,32,60,0,60,0,60,0,107,51,47,0,14,32,59,216,9,221,185,112,14,32,60,0,60,0,60,0,224,51,47,0,229,101,60,0,60,0,60,0,192,50,47,0,8,103,60,0,60,0,60,0,89,51,47,0,185,112,60,0,60,0,60,0,53,216,207,223,61,0,53,216,217,223,61,0,53,216,227,223,61,0,53,216,237,223,61,0,53,216,247,223,61,0,62,216,241,223,60,0,60,0,60,0,96,36,61,0,245,36,61,0,118,39,61,0,128,39,61,0,138,39,60,0,60,0,60,0,105,36,47,0,14,32,58,216,80,221,14,32,61,0,254,36,47,0,14,32,58,216,80,221,14,32,61,0,127,39,47,0,14,32,58,216,80,221,14,32,61,0,137,39,47,0,14,32,58,216,80,221,14,32,61,0,147,39,47,0,14,32,58,216,80,221,14,32,61,0,72,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,106,36,47,0,14,32,59,216,1,221,14,32,61,0,235,36,47,0,14,32,59,216,1,221,14,32,60,0,60,0,60,0,107,36,47,0,14,32,59,216,2,221,14,32,61,0,236,36,47,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,108,36,47,0,14,32,59,216,3,221,14,32,61,0,237,36,47,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,109,36,47,0,14,32,59,216,4,221,14,32,61,0,238,36,47,0,14,32,59,216,4,221,14,32,60,0,60,0,60,0,110,36,47,0,14,32,59,216,5,221,14,32,61,0,239,36,47,0,14,32,59,216,5,221,14,32,60,0,60,0,60,0,111,36,47,0,14,32,59,216,6,221,14,32,61,0,240,36,47,0,14,32,59,216,6,221,14,32,60,0,60,0,60,0,112,36,47,0,14,32,59,216,7,221,14,32,61,0,241,36,47,0,14,32,59,216,7,221,14,32,60,0,60,0,60,0,113,36,47,0,14,32,59,216,8,221,14,32,61,0,242,36,47,0,14,32,59,216,8,221,14,32,60,0,60,0,60,0,114,36,47,0,14,32,59,216,9,221,14,32,61,0,243,36,47,0,14,32,59,216,9,221,14,32,60,0,60,0,60,0,185,0,60,0,60,0,60,0,129,32,60,0,60,0,60,0,60,216,164,221,47,0,14,32,59,216,2,221,58,216,80,221,80,0,14,32,60,0,60,0,60,0,95,33,47,0,68,32,60,0,60,0,60,0,82,33,47,0,14,32,68,32,59,216,1,221,58,216,80,221,14,32,60,0,60,0,60,0,189,0,47,0,14,32,68,32,59,216,2,221,14,32,60,0,60,0,60,0,83,33,47,0,14,32,68,32,59,216,3,221,14,32,60,0,60,0,60,0,188,0,47,0,14,32,68,32,59,216,4,221,14,32,60,0,60,0,60,0,85,33,47,0,14,32,68,32,59,216,5,221,14,32,60,0,60,0,60,0,89,33,47,0,14,32,68,32,59,216,6,221,14,32,60,0,60,0,60,0,80,33,47,0,14,32,68,32,59,216,7,221,14,32,60,0,60,0,60,0,91,33,47,0,14,32,68,32,59,216,8,221,14,32,60,0,60,0,60,0,81,33,47,0,14,32,68,32,59,216,9,221,14,32,60,0,60,0,27,216,148,222,61,0,14,32,59,216,177,220,14,32,60,0,50,0,61,0,98,6,61,0,242,6,61,0,14,32,194,7,14,32,61,0,104,9,61,0,232,9,61,0,104,10,61,0,232,10,61,0,104,11,61,0,232,11,61,0,104,12,61,0,122,12,61,0,125,12,61,0,232,12,61,0,104,13,61,0,232,13,61,0,82,14,61,0,210,14,61,0,34,15,61,0,66,16,61,0,146,16,61,0,106,19,61,0,226,23,61,0,242,23,61,0,18,24,61,0,72,25,61,0,210,25,61,0,130,26,61,0,146,26,61,0,82,27,61,0,178,27,61,0,66,28,61,0,82,28,61,0,34,48,61,0,34,166,61,0,210,168,61,0,2,169,61,0,210,169,61,0,242,169,61,0,82,170,61,0,242,171,61,0,0,216,8,221,61,0,0,216,91,221,61,0,0,216,92,221,61,0,0,216,93,221,61,0,0,216,94,221,61,0,0,216,226,222,61,0,0,216,210,223,61,0,1,216,162,220,61,0,14,32,2,216,89,220,14,32,61,0,14,32,2,216,122,220,14,32,61,0,14,32,2,216,168,220,14,32,61,0,14,32,2,216,26,221,14,32,61,0,14,32,2,216,193,221,14,32,61,0,14,32,2,216,65,222,14,32,61,0,14,32,2,216,89,223,14,32,61,0,14,32,2,216,121,223,14,32,61,0,14,32,2,216,170,223,14,32,61,0,3,216,50,221,61,0,3,216,97,222,61,0,14,32,3,216,30,223,14,32,61,0,14,32,3,216,198,223,14,32,61,0,4,216,83,220,61,0,4,216,104,220,61,0,4,216,242,220,61,0,4,216,56,221,61,0,4,216,210,221,61,0,4,216,226,221,61,0,4,216,242,222,61,0,5,216,82,220,61,0,5,216,210,220,61,0,5,216,82,222,61,0,5,216,194,222,61,0,5,216,50,223,61,0,6,216,226,220,61,0,6,216,82,221,61,0,7,216,82,220,61,0,7,216,91,220,61,0,7,216,82,221,61,0,7,216,162,221,61,0,7,216,82,223,61,0,9,216,0,220,61,0,9,216,22,220,61,0,9,216,31,220,61,0,9,216,35,220,61,0,9,216,45,220,61,0,9,216,53,220,61,0,9,216,74,220,61,0,9,216,80,220,61,0,9,216,86,220,61,0,9,216,89,220,61,0,26,216,98,222,61,0,26,216,194,222,61,0,26,216,82,223,61,0,27,216,130,222,61,0,52,216,194,222,61,0,52,216,226,222,61,0,52,216,97,223,61,0,52,216,115,223,61,0,56,216,66,221,61,0,56,216,242,222,61,0,57,216,242,220,61,0,14,32,58,216,200,220,14,32,61,0,14,32,58,216,82,221,14,32,61,0,14,32,59,216,114,220,14,32,61,0,14,32,59,216,164,220,14,32,61,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,18,255,60,0,60,0,60,0,43,15,60,0,60,0,60,0,60,216,3,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,137,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,155,36,47,0,14,32,58,216,80,221,39,0,46,0,39,0,14,32,60,0,60,0,60,0,243,51,47,0,14,32,58,216,80,221,229,101,14,32,60,0,60,0,60,0,108,51,47,0,14,32,58,216,80,221,185,112,14,32,60,0,60,0,60,0,244,51,47,0,14,32,59,216,1,221,229,101,14,32,60,0,60,0,60,0,109,51,47,0,14,32,59,216,1,221,185,112,14,32,60,0,60,0,60,0,245,51,47,0,14,32,59,216,2,221,229,101,14,32,60,0,60,0,60,0,110,51,47,0,14,32,59,216,2,221,185,112,14,32,60,0,60,0,60,0,246,51,47,0,14,32,59,216,3,221,229,101,14,32,60,0,60,0,60,0,111,51,47,0,14,32,59,216,3,221,185,112,14,32,60,0,60,0,60,0,247,51,47,0,14,32,59,216,4,221,229,101,14,32,60,0,60,0,60,0,112,51,47,0,14,32,59,216,4,221,185,112,14,32,60,0,60,0,60,0,248,51,47,0,14,32,59,216,5,221,229,101,14,32,60,0,60,0,60,0,249,51,47,0,14,32,59,216,6,221,229,101,14,32,60,0,60,0,60,0,250,51,47,0,14,32,59,216,7,221,229,101,14,32,60,0,60,0,60,0,251,51,47,0,14,32,59,216,8,221,229,101,14,32,60,0,60,0,60,0,252,51,47,0,14,32,59,216,9,221,229,101,14,32,60,0,60,0,60,0,225,51,47,0,229,101,60,0,60,0,60,0,193,50,47,0,8,103,60,0,60,0,60,0,90,51,47,0,185,112,60,0,60,0,60,0,53,216,208,223,61,0,53,216,218,223,61,0,53,216,228,223,61,0,53,216,238,223,61,0,53,216,248,223,61,0,62,216,242,223,60,0,60,0,60,0,97,36,61,0,246,36,61,0,119,39,61,0,129,39,61,0,139,39,60,0,60,0,60,0,115,36,47,0,14,32,58,216,80,221,14,32,61,0,244,36,47,0,14,32,58,216,80,221,14,32,61,0,73,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,81,50,47,0,14,32,59,216,1,221,14,32,60,0,60,0,60,0,82,50,47,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,83,50,47,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,84,50,47,0,14,32,59,216,4,221,14,32,60,0,60,0,60,0,85,50,47,0,14,32,59,216,5,221,14,32,60,0,60,0,60,0,86,50,47,0,14,32,59,216,6,221,14,32,60,0,60,0,60,0,87,50,47,0,14,32,59,216,7,221,14,32,60,0,60,0,60,0,88,50,47,0,14,32,59,216,8,221,14,32,60,0,60,0,60,0,89,50,47,0,14,32,59,216,9,221,14,32,60,0,60,0,60,0,178,0,60,0,60,0,60,0,130,32,60,0,60,0,60,0,60,216,162,221,47,0,14,32,59,216,2,221,39,0,46,0,39,0,59,216,2,221,14,32,60,0,60,0,60,0,60,216,157,221,47,0,75,0,60,0,60,0,60,0,60,216,156,221,47,0,110,0,100,0,39,0,32,0,39,0,83,0,99,0,114,0,60,0,60,0,60,0,84,33,47,0,14,32,68,32,59,216,3,221,14,32,60,0,60,0,60,0,86,33,47,0,14,32,68,32,59,216,5,221,14,32,60,0,60,0,27,216,149,222,61,0,14,32,59,216,178,220,14,32,61,0,14,32,59,216,47,221,14,32,60,0,51,0,61,0,99,6,61,0,243,6,61,0,14,32,195,7,14,32,61,0,105,9,61,0,233,9,61,0,105,10,61,0,233,10,61,0,105,11,61,0,233,11,61,0,105,12,61,0,123,12,61,0,126,12,61,0,233,12,61,0,105,13,61,0,233,13,61,0,83,14,61,0,211,14,61,0,35,15,61,0,67,16,61,0,147,16,61,0,107,19,61,0,227,23,61,0,243,23,61,0,19,24,61,0,73,25,61,0,211,25,61,0,131,26,61,0,147,26,61,0,83,27,61,0,179,27,61,0,67,28,61,0,83,28,61,0,35,48,61,0,35,166,61,0,211,168,61,0,3,169,61,0,211,169,61,0,243,169,61,0,83,170,61,0,243,171,61,0,0,216,9,221,61,0,0,216,227,222,61,0,1,216,163,220,61,0,14,32,2,216,90,220,14,32,61,0,14,32,2,216,123,220,14,32,61,0,14,32,2,216,169,220,14,32,61,0,14,32,2,216,27,221,14,32,61,0,14,32,2,216,194,221,14,32,61,0,14,32,2,216,66,222,14,32,61,0,14,32,2,216,90,223,14,32,61,0,14,32,2,216,122,223,14,32,61,0,14,32,2,216,171,223,14,32,61,0,3,216,51,221,61,0,3,216,98,222,61,0,14,32,3,216,31,223,14,32,61,0,14,32,3,216,199,223,14,32,61,0,4,216,84,220,61,0,4,216,105,220,61,0,4,216,243,220,61,0,4,216,57,221,61,0,4,216,211,221,61,0,4,216,227,221,61,0,4,216,243,222,61,0,5,216,83,220,61,0,5,216,211,220,61,0,5,216,83,222,61,0,5,216,195,222,61,0,5,216,51,223,61,0,6,216,227,220,61,0,6,216,83,221,61,0,7,216,83,220,61,0,7,216,92,220,61,0,7,216,83,221,61,0,7,216,163,221,61,0,7,216,83,223,61,0,9,216,1,220,61,0,9,216,8,220,61,0,9,216,23,220,61,0,9,216,32,220,61,0,9,216,36,220,61,0,9,216,37,220,61,0,9,216,46,220,61,0,9,216,47,220,61,0,9,216,54,220,61,0,9,216,55,220,61,0,9,216,58,220,61,0,9,216,59,220,61,0,9,216,75,220,61,0,9,216,81,220,61,0,9,216,87,220,61,0,26,216,99,222,61,0,26,216,195,222,61,0,26,216,83,223,61,0,27,216,131,222,61,0,52,216,195,222,61,0,52,216,227,222,61,0,52,216,98,223,61,0,52,216,116,223,61,0,56,216,67,221,61,0,56,216,243,222,61,0,57,216,243,220,61,0,14,32,58,216,201,220,14,32,61,0,14,32,58,216,83,221,14,32,61,0,14,32,59,216,115,220,14,32,61,0,14,32,59,216,165,220,14,32,61,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,19,255,60,0,60,0,60,0,44,15,60,0,60,0,60,0,60,216,4,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,138,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,253,51,47,0,14,32,58,216,80,221,229,101,14,32,60,0,60,0,60,0,254,51,47,0,14,32,59,216,1,221,229,101,14,32,60,0,60,0,60,0,226,51,47,0,229,101,60,0,60,0,60,0,194,50,47,0,8,103,60,0,60,0,60,0,91,51,47,0,185,112,60,0,60,0,60,0,53,216,209,223,61,0,53,216,219,223,61,0,53,216,229,223,61,0,53,216,239,223,61,0,53,216,249,223,61,0,62,216,243,223,60,0,60,0,60,0,98,36,61,0,247,36,61,0,120,39,61,0,130,39,61,0,140,39,60,0,60,0,60,0,74,50,47,0,14,32,58,216,80,221,14,32,61,0,90,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,91,50,47,0,14,32,59,216,1,221,14,32,60,0,60,0,60,0,92,50,47,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,93,50,47,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,94,50,47,0,14,32,59,216,4,221,14,32,60,0,60,0,60,0,95,50,47,0,14,32,59,216,5,221,14,32,60,0,60,0,60,0,177,50,47,0,14,32,59,216,6,221,14,32,60,0,60,0,60,0,178,50,47,0,14,32,59,216,7,221,14,32,60,0,60,0,60,0,179,50,47,0,14,32,59,216,8,221,14,32,60,0,60,0,60,0,180,50,47,0,14,32,59,216,9,221,14,32,60,0,60,0,60,0,179,0,60,0,60,0,60,0,131,32,60,0,60,0,60,0,60,216,155,221,47,0,68,0,60,0,60,0,60,0,190,0,47,0,14,32,68,32,59,216,4,221,14,32,60,0,60,0,60,0,87,33,47,0,14,32,68,32,59,216,5,221,14,32,60,0,60,0,60,0,92,33,47,0,14,32,68,32,59,216,8,221,14,32,60,0,60,0,27,216,150,222,60,0,60,0,60,0,14,32,59,216,48,221,14,32,60,0,52,0,61,0,100,6,61,0,244,6,61,0,14,32,196,7,14,32,61,0,106,9,61,0,234,9,61,0,106,10,61,0,234,10,61,0,106,11,61,0,234,11,61,0,106,12,61,0,234,12,61,0,106,13,61,0,234,13,61,0,84,14,61,0,212,14,61,0,36,15,61,0,68,16,61,0,148,16,61,0,108,19,61,0,228,23,61,0,244,23,61,0,20,24,61,0,74,25,61,0,212,25,61,0,132,26,61,0,148,26,61,0,84,27,61,0,180,27,61,0,68,28,61,0,84,28,61,0,36,48,61,0,36,166,61,0,212,168,61,0,4,169,61,0,212,169,61,0,244,169,61,0,84,170,61,0,244,171,61,0,0,216,10,221,61,0,0,216,228,222,61,0,1,216,164,220,61,0,14,32,2,216,124,220,14,32,61,0,14,32,2,216,170,220,14,32,61,0,14,32,2,216,171,220,14,32,61,0,14,32,2,216,195,221,14,32,61,0,14,32,2,216,67,222,14,32,61,0,14,32,2,216,91,223,14,32,61,0,14,32,2,216,123,223,14,32,61,0,14,32,2,216,172,223,14,32,61,0,3,216,52,221,61,0,3,216,99,222,61,0,14,32,3,216,32,223,14,32,61,0,14,32,3,216,200,223,14,32,61,0,4,216,85,220,61,0,4,216,106,220,61,0,4,216,244,220,61,0,4,216,58,221,61,0,4,216,212,221,61,0,4,216,228,221,61,0,4,216,244,222,61,0,5,216,84,220,61,0,5,216,212,220,61,0,5,216,84,222,61,0,5,216,196,222,61,0,5,216,52,223,61,0,6,216,228,220,61,0,6,216,84,221,61,0,7,216,84,220,61,0,7,216,93,220,61,0,7,216,84,221,61,0,7,216,164,221,61,0,7,216,84,223,61,0,9,216,2,220,61,0,9,216,9,220,61,0,9,216,15,220,61,0,9,216,24,220,61,0,9,216,33,220,61,0,9,216,38,220,61,0,9,216,48,220,61,0,9,216,56,220,61,0,9,216,60,220,61,0,9,216,61,220,61,0,9,216,62,220,61,0,9,216,63,220,61,0,9,216,76,220,61,0,9,216,82,220,61,0,9,216,83,220,61,0,9,216,105,220,61,0,26,216,100,222,61,0,26,216,196,222,61,0,26,216,84,223,61,0,27,216,132,222,61,0,52,216,196,222,61,0,52,216,228,222,61,0,52,216,99,223,61,0,52,216,117,223,61,0,56,216,68,221,61,0,56,216,244,222,61,0,57,216,244,220,61,0,14,32,58,216,202,220,14,32,61,0,14,32,58,216,84,221,14,32,61,0,14,32,59,216,116,220,14,32,61,0,14,32,59,216,166,220,14,32,61,0,14,32,59,216,4,221,14,32,60,0,60,0,60,0,20,255,60,0,60,0,60,0,45,15,60,0,60,0,60,0,60,216,5,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,139,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,227,51,47,0,229,101,60,0,60,0,60,0,195,50,47,0,8,103,60,0,60,0,60,0,92,51,47,0,185,112,60,0,60,0,60,0,53,216,210,223,61,0,53,216,220,223,61,0,53,216,230,223,61,0,53,216,240,223,61,0,53,216,250,223,61,0,62,216,244,223,60,0,60,0,60,0,99,36,61,0,248,36,61,0,121,39,61,0,131,39,61,0,141,39,60,0,60,0,60,0,75,50,47,0,14,32,58,216,80,221,14,32,61,0,181,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,182,50,47,0,14,32,59,216,1,221,14,32,60,0,60,0,60,0,183,50,47,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,184,50,47,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,185,50,47,0,14,32,59,216,4,221,14,32,60,0,60,0,60,0,186,50,47,0,14,32,59,216,5,221,14,32,60,0,60,0,60,0,187,50,47,0,14,32,59,216,6,221,14,32,60,0,60,0,60,0,188,50,47,0,14,32,59,216,7,221,14,32,60,0,60,0,60,0,189,50,47,0,14,32,59,216,8,221,14,32,60,0,60,0,60,0,190,50,47,0,14,32,59,216,9,221,14,32,60,0,60,0,60,0,116,32,60,0,60,0,60,0,132,32,60,0,60,0,60,0,60,216,158,221,47,0,75,0,60,0,60,0,60,0,88,33,47,0,14,32,68,32,59,216,5,221,14,32,60,0,60,0,14,32,59,216,49,221,14,32,60,0,53,0,61,0,101,6,61,0,245,6,61,0,14,32,197,7,14,32,61,0,107,9,61,0,235,9,61,0,107,10,61,0,235,10,61,0,107,11,61,0,235,11,61,0,107,12,61,0,235,12,61,0,107,13,61,0,235,13,61,0,85,14,61,0,213,14,61,0,37,15,61,0,69,16,61,0,149,16,61,0,109,19,61,0,229,23,61,0,245,23,61,0,21,24,61,0,75,25,61,0,213,25,61,0,133,26,61,0,149,26,61,0,85,27,61,0,181,27,61,0,69,28,61,0,85,28,61,0,37,48,61,0,37,166,61,0,213,168,61,0,5,169,61,0,213,169,61,0,245,169,61,0,85,170,61,0,245,171,61,0,0,216,11,221,61,0,0,216,67,221,61,0,0,216,72,221,61,0,0,216,79,221,61,0,0,216,95,221,61,0,0,216,115,221,61,0,0,216,229,222,61,0,0,216,33,223,61,0,1,216,165,220,61,0,14,32,2,216,125,220,14,32,61,0,14,32,2,216,172,220,14,32,61,0,14,32,2,216,252,220,14,32,61,0,14,32,2,216,196,221,14,32,61,0,14,32,2,216,236,222,14,32,61,0,14,32,3,216,251,220,14,32,61,0,3,216,53,221,61,0,3,216,100,222,61,0,14,32,3,216,33,223,14,32,61,0,4,216,86,220,61,0,4,216,107,220,61,0,4,216,245,220,61,0,4,216,59,221,61,0,4,216,213,221,61,0,4,216,229,221,61,0,4,216,245,222,61,0,5,216,85,220,61,0,5,216,213,220,61,0,5,216,85,222,61,0,5,216,197,222,61,0,5,216,53,223,61,0,6,216,229,220,61,0,6,216,85,221,61,0,7,216,85,220,61,0,7,216,94,220,61,0,7,216,85,221,61,0,7,216,165,221,61,0,7,216,85,223,61,0,9,216,3,220,61,0,9,216,10,220,61,0,9,216,16,220,61,0,9,216,25,220,61,0,9,216,34,220,61,0,9,216,39,220,61,0,9,216,49,220,61,0,9,216,57,220,61,0,9,216,77,220,61,0,9,216,84,220,61,0,9,216,85,220,61,0,9,216,106,220,61,0,26,216,101,222,61,0,26,216,197,222,61,0,26,216,85,223,61,0,27,216,133,222,61,0,52,216,197,222,61,0,52,216,229,222,61,0,52,216,100,223,61,0,52,216,118,223,61,0,52,216,120,223,61,0,56,216,69,221,61,0,56,216,245,222,61,0,57,216,245,220,61,0,14,32,58,216,203,220,14,32,61,0,14,32,58,216,85,221,14,32,61,0,14,32,59,216,117,220,14,32,61,0,14,32,59,216,167,220,14,32,61,0,14,32,59,216,5,221,14,32,60,0,60,0,60,0,21,255,60,0,60,0,60,0,46,15,60,0,60,0,60,0,60,216,6,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,140,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,228,51,47,0,229,101,60,0,60,0,60,0,196,50,47,0,8,103,60,0,60,0,60,0,93,51,47,0,185,112,60,0,60,0,60,0,53,216,211,223,61,0,53,216,221,223,61,0,53,216,231,223,61,0,53,216,241,223,61,0,53,216,251,223,61,0,62,216,245,223,60,0,60,0,60,0,100,36,61,0,249,36,61,0,122,39,61,0,132,39,61,0,142,39,60,0,60,0,60,0,76,50,47,0,14,32,58,216,80,221,14,32,61,0,191,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,117,32,60,0,60,0,60,0,133,32,60,0,60,0,60,0,60,216,160,221,47,0,14,32,39,0,46,0,39,0,59,216,1,221,14,32,60,0,60,0,60,0,90,33,47,0,14,32,68,32,59,216,6,221,14,32,60,0,60,0,60,0,93,33,47,0,14,32,68,32,59,216,8,221,14,32,60,0,60,0,14,32,59,216,50,221,14,32,60,0,54,0,61,0,102,6,61,0,246,6,61,0,14,32,198,7,14,32,61,0,108,9,61,0,236,9,61,0,108,10,61,0,236,10,61,0,108,11,61,0,236,11,61,0,108,12,61,0,236,12,61,0,108,13,61,0,236,13,61,0,86,14,61,0,214,14,61,0,38,15,61,0,70,16,61,0,150,16,61,0,110,19,61,0,230,23,61,0,246,23,61,0,22,24,61,0,76,25,61,0,214,25,61,0,134,26,61,0,150,26,61,0,86,27,61,0,182,27,61,0,70,28,61,0,86,28,61,0,133,33,61,0,38,48,61,0,38,166,61,0,214,168,61,0,6,169,61,0,214,169,61,0,246,169,61,0,86,170,61,0,246,171,61,0,0,216,12,221,61,0,0,216,230,222,61,0,1,216,166,220,61,0,14,32,2,216,197,221,14,32,61,0,3,216,54,221,61,0,3,216,101,222,61,0,4,216,87,220,61,0,4,216,108,220,61,0,4,216,246,220,61,0,4,216,60,221,61,0,4,216,214,221,61,0,4,216,230,221,61,0,4,216,246,222,61,0,5,216,86,220,61,0,5,216,214,220,61,0,5,216,86,222,61,0,5,216,198,222,61,0,5,216,54,223,61,0,6,216,230,220,61,0,6,216,86,221,61,0,7,216,86,220,61,0,7,216,95,220,61,0,7,216,86,221,61,0,7,216,166,221,61,0,7,216,86,223,61,0,9,216,4,220,61,0,9,216,11,220,61,0,9,216,17,220,61,0,9,216,26,220,61,0,9,216,40,220,61,0,9,216,64,220,61,0,9,216,78,220,61,0,9,216,107,220,61,0,26,216,102,222,61,0,26,216,198,222,61,0,26,216,86,223,61,0,27,216,134,222,61,0,52,216,198,222,61,0,52,216,230,222,61,0,52,216,101,223,61,0,56,216,70,221,61,0,56,216,246,222,61,0,57,216,246,220,61,0,14,32,58,216,204,220,14,32,61,0,14,32,58,216,86,221,14,32,61,0,14,32,59,216,118,220,14,32,61,0,14,32,59,216,168,220,14,32,61,0,14,32,59,216,6,221,14,32,60,0,60,0,60,0,22,255,60,0,60,0,60,0,47,15,60,0,60,0,60,0,60,216,7,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,141,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,229,51,47,0,229,101,60,0,60,0,60,0,197,50,47,0,8,103,60,0,60,0,60,0,94,51,47,0,185,112,60,0,60,0,60,0,53,216,212,223,61,0,53,216,222,223,61,0,53,216,232,223,61,0,53,216,242,223,61,0,53,216,252,223,61,0,62,216,246,223,60,0,60,0,60,0,101,36,61,0,250,36,61,0,123,39,61,0,133,39,61,0,143,39,60,0,60,0,60,0,77,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,118,32,60,0,60,0,60,0,134,32,60,0,60,0,60,0,60,216,163,221,47,0,14,32,58,216,80,221,80,0,14,32,60,0,60,0,14,32,59,216,51,221,14,32,60,0,55,0,61,0,103,6,61,0,247,6,61,0,14,32,199,7,14,32,61,0,109,9,61,0,237,9,61,0,109,10,61,0,237,10,61,0,109,11,61,0,237,11,61,0,109,12,61,0,237,12,61,0,109,13,61,0,237,13,61,0,87,14,61,0,215,14,61,0,39,15,61,0,71,16,61,0,151,16,61,0,111,19,61,0,231,23,61,0,247,23,61,0,23,24,61,0,77,25,61,0,215,25,61,0,135,26,61,0,151,26,61,0,87,27,61,0,183,27,61,0,71,28,61,0,87,28,61,0,39,48,61,0,39,166,61,0,215,168,61,0,7,169,61,0,215,169,61,0,247,169,61,0,87,170,61,0,247,171,61,0,0,216,13,221,61,0,0,216,231,222,61,0,1,216,167,220,61,0,14,32,2,216,198,221,14,32,61,0,3,216,55,221,61,0,3,216,102,222,61,0,4,216,88,220,61,0,4,216,109,220,61,0,4,216,247,220,61,0,4,216,61,221,61,0,4,216,215,221,61,0,4,216,231,221,61,0,4,216,247,222,61,0,5,216,87,220,61,0,5,216,215,220,61,0,5,216,87,222,61,0,5,216,199,222,61,0,5,216,55,223,61,0,6,216,231,220,61,0,6,216,87,221,61,0,7,216,87,220,61,0,7,216,96,220,61,0,7,216,87,221,61,0,7,216,167,221,61,0,7,216,87,223,61,0,9,216,5,220,61,0,9,216,12,220,61,0,9,216,18,220,61,0,9,216,27,220,61,0,9,216,41,220,61,0,9,216,65,220,61,0,9,216,66,220,61,0,9,216,67,220,61,0,9,216,108,220,61,0,26,216,103,222,61,0,26,216,199,222,61,0,26,216,87,223,61,0,27,216,135,222,61,0,52,216,199,222,61,0,52,216,231,222,61,0,52,216,102,223,61,0,56,216,71,221,61,0,56,216,247,222,61,0,57,216,247,220,61,0,14,32,58,216,205,220,14,32,61,0,14,32,58,216,87,221,14,32,61,0,14,32,59,216,119,220,14,32,61,0,14,32,59,216,169,220,14,32,61,0,14,32,59,216,7,221,14,32,60,0,60,0,60,0,23,255,60,0,60,0,60,0,48,15,60,0,60,0,60,0,60,216,8,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,142,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,230,51,47,0,229,101,60,0,60,0,60,0,198,50,47,0,8,103,60,0,60,0,60,0,95,51,47,0,185,112,60,0,60,0,60,0,53,216,213,223,61,0,53,216,223,223,61,0,53,216,233,223,61,0,53,216,243,223,61,0,53,216,253,223,61,0,62,216,247,223,60,0,60,0,60,0,102,36,61,0,251,36,61,0,124,39,61,0,134,39,61,0,144,39,60,0,60,0,60,0,78,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,119,32,60,0,60,0,60,0,135,32,60,0,60,0,60,0,60,216,161,221,47,0,14,32,39,0,46,0,39,0,59,216,1,221,14,32,60,0,60,0,60,0,94,33,47,0,14,32,68,32,59,216,8,221,14,32,60,0,60,0,14,32,59,216,52,221,14,32,60,0,56,0,61,0,104,6,61,0,248,6,61,0,14,32,200,7,14,32,61,0,110,9,61,0,238,9,61,0,110,10,61,0,238,10,61,0,110,11,61,0,238,11,61,0,110,12,61,0,238,12,61,0,110,13,61,0,238,13,61,0,88,14,61,0,216,14,61,0,40,15,61,0,72,16,61,0,152,16,61,0,112,19,61,0,232,23,61,0,248,23,61,0,24,24,61,0,78,25,61,0,216,25,61,0,136,26,61,0,152,26,61,0,88,27,61,0,184,27,61,0,72,28,61,0,88,28,61,0,40,48,61,0,40,166,61,0,216,168,61,0,8,169,61,0,216,169,61,0,248,169,61,0,88,170,61,0,248,171,61,0,0,216,14,221,61,0,0,216,232,222,61,0,1,216,168,220,61,0,14,32,2,216,199,221,14,32,61,0,3,216,56,221,61,0,3,216,103,222,61,0,4,216,89,220,61,0,4,216,110,220,61,0,4,216,248,220,61,0,4,216,62,221,61,0,4,216,216,221,61,0,4,216,232,221,61,0,4,216,248,222,61,0,5,216,88,220,61,0,5,216,216,220,61,0,5,216,88,222,61,0,5,216,200,222,61,0,5,216,56,223,61,0,6,216,232,220,61,0,6,216,88,221,61,0,7,216,88,220,61,0,7,216,97,220,61,0,7,216,88,221,61,0,7,216,168,221,61,0,7,216,88,223,61,0,9,216,6,220,61,0,9,216,13,220,61,0,9,216,19,220,61,0,9,216,28,220,61,0,9,216,42,220,61,0,9,216,68,220,61,0,9,216,69,220,61,0,9,216,109,220,61,0,26,216,104,222,61,0,26,216,200,222,61,0,26,216,88,223,61,0,27,216,136,222,61,0,52,216,200,222,61,0,52,216,232,222,61,0,52,216,103,223,61,0,56,216,72,221,61,0,56,216,248,222,61,0,57,216,248,220,61,0,14,32,58,216,206,220,14,32,61,0,14,32,58,216,88,221,14,32,61,0,14,32,59,216,120,220,14,32,61,0,14,32,59,216,170,220,14,32,61,0,14,32,59,216,8,221,14,32,60,0,60,0,60,0,24,255,60,0,60,0,60,0,49,15,60,0,60,0,60,0,60,216,9,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,143,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,231,51,47,0,229,101,60,0,60,0,60,0,199,50,47,0,8,103,60,0,60,0,60,0,96,51,47,0,185,112,60,0,60,0,60,0,53,216,214,223,61,0,53,216,224,223,61,0,53,216,234,223,61,0,53,216,244,223,61,0,53,216,254,223,61,0,62,216,248,223,60,0,60,0,60,0,103,36,61,0,252,36,61,0,125,39,61,0,135,39,61,0,145,39,60,0,60,0,60,0,79,50,47,0,14,32,58,216,80,221,14,32,60,0,60,0,60,0,120,32,60,0,60,0,60,0,136,32,60,0,60,0,60,0,60,216,159,221,47,0,75,0,60,0,60,0,14,32,59,216,53,221,14,32,60,0,57,0,61,0,105,6,61,0,249,6,61,0,14,32,201,7,14,32,61,0,111,9,61,0,239,9,61,0,111,10,61,0,239,10,61,0,111,11,61,0,239,11,61,0,111,12,61,0,239,12,61,0,111,13,61,0,239,13,61,0,89,14,61,0,217,14,61,0,41,15,61,0,73,16,61,0,153,16,61,0,113,19,61,0,233,23,61,0,249,23,61,0,25,24,61,0,79,25,61,0,217,25,61,0,137,26,61,0,153,26,61,0,89,27,61,0,185,27,61,0,73,28,61,0,89,28,61,0,41,48,61,0,41,166,61,0,217,168,61,0,9,169,61,0,217,169,61,0,249,169,61,0,89,170,61,0,249,171,61,0,0,216,15,221,61,0,0,216,233,222,61,0,1,216,169,220,61,0,14,32,2,216,200,221,14,32,61,0,3,216,57,221,61,0,3,216,104,222,61,0,4,216,90,220,61,0,4,216,111,220,61,0,4,216,249,220,61,0,4,216,63,221,61,0,4,216,217,221,61,0,4,216,233,221,61,0,4,216,249,222,61,0,5,216,89,220,61,0,5,216,217,220,61,0,5,216,89,222,61,0,5,216,201,222,61,0,5,216,57,223,61,0,6,216,233,220,61,0,6,216,89,221,61,0,7,216,89,220,61,0,7,216,98,220,61,0,7,216,89,221,61,0,7,216,169,221,61,0,7,216,89,223,61,0,9,216,7,220,61,0,9,216,14,220,61,0,9,216,20,220,61,0,9,216,29,220,61,0,9,216,43,220,61,0,9,216,70,220,61,0,9,216,71,220,61,0,9,216,72,220,61,0,9,216,73,220,61,0,9,216,110,220,61,0,26,216,105,222,61,0,26,216,201,222,61,0,26,216,89,223,61,0,27,216,137,222,61,0,52,216,201,222,61,0,52,216,233,222,61,0,52,216,104,223,61,0,56,216,73,221,61,0,56,216,249,222,61,0,57,216,249,220,61,0,14,32,58,216,207,220,14,32,61,0,14,32,58,216,89,221,14,32,61,0,14,32,59,216,121,220,14,32,61,0,14,32,59,216,171,220,14,32,61,0,14,32,59,216,9,221,14,32,60,0,60,0,60,0,25,255,60,0,60,0,60,0,50,15,60,0,60,0,60,0,60,216,10,221,47,0,39,0,44,0,39,0,60,0,60,0,60,0,144,36,47,0,39,0,46,0,39,0,60,0,60,0,60,0,232,51,47,0,229,101,60,0,60,0,60,0,200,50,47,0,8,103,60,0,60,0,60,0,97,51,47,0,185,112,60,0,60,0,60,0,53,216,215,223,61,0,53,216,225,223,61,0,53,216,235,223,61,0,53,216,245,223,61,0,53,216,255,223,61,0,62,216,249,223,60,0,60,0,60,0,104,36,61,0,253,36,61,0,126,39,61,0,136,39,61,0,146,39,60,0,60,0,60,0,121,32,60,0,60,0,60,0,137,32,60,0,60,0,14,32,59,216,54,221,14,32,60,0,97,0,60,0,60,0,60,0,65,255,60,0,60,0,60,0,99,3,60,0,60,0,60,0,242,29,47,0,8,3,61,0,155,167,47,0,8,3,60,0,60,0,60,0,193,167,47,0,40,3,60,0,60,0,60,0,0,33,47,0,39,0,47,0,39,0,99,0,60,0,60,0,60,0,1,33,47,0,39,0,47,0,39,0,115,0,60,0,60,0,60,0,51,167,47,0,97,0,60,0,60,0,60,0,213,29,47,0,111,0,61,0,53,167,47,0,111,0,60,0,60,0,60,0,55,167,47,0,117,0,60,0,60,0,60,0,214,29,47,0,118,0,61,0,57,167,47,0,118,0,60,0,60,0,60,0,61,167,47,0,121,0,60,0,60,0,60,0,154,30,47,0,190,2,60,0,60,0,60,0,53,216,26,220,61,0,53,216,78,220,61,0,53,216,130,220,61,0,53,216,182,220,61,0,53,216,234,220,61,0,53,216,30,221,61,0,53,216,82,221,61,0,53,216,134,221,61,0,53,216,186,221,61,0,53,216,238,221,61,0,53,216,34,222,61,0,53,216,86,222,61,0,53,216,138,222,60,0,60,0,60,0,208,36,60,0,60,0,60,0,65,0,60,0,60,0,60,0,33,255,60,0,60,0,60,0,154,167,47,0,8,3,60,0,60,0,60,0,192,167,47,0,40,3,60,0,60,0,60,0,77,33,47,0,39,0,47,0,39,0,83,0,60,0,60,0,60,0,50,167,47,0,65,0,60,0,60,0,60,0,52,167,47,0,79,0,60,0,60,0,60,0,54,167,47,0,85,0,60,0,60,0,60,0,56,167,47,0,86,0,60,0,60,0,60,0,60,167,47,0,89,0,60,0,60,0,60,0,53,216,0,220,61,0,53,216,52,220,61,0,53,216,104,220,61,0,53,216,156,220,61,0,53,216,208,220,61,0,53,216,4,221,61,0,53,216,56,221,61,0,53,216,108,221,61,0,53,216,160,221,61,0,53,216,212,221,61,0,53,216,8,222,61,0,53,216,60,222,61,0,53,216,112,222,60,0,60,0,60,0,182,36,61,0,60,216,80,221,60,0,60,0,60,0,170,0,61,0,67,29,60,0,60,0,60,0,1,216,128,223,47,0,97,0,60,0,60,0,60,0,144,32,60,0,60,0,60,0,194,51,47,0,39,0,46,0,39,0,109,0,39,0,46,0,39,0,60,0,60,0,60,0,44,29,61,0,60,216,48,221,61,0,60,216,112,221,60,0,60,0,60,0,223,51,47,0,21,34,109,0,60,0,60,0,60,0,60,216,142,221,47,0,66,0,60,0,60,0,60,0,115,51,47,0,85,0,60,0,60,0,211,29,60,0,60,0,60,0,230,0,47,0,101,0,61,0,212,29,47,0,101,0,60,0,60,0,60,0,59,167,47,0,118,0,60,0,60,0,60,0,198,0,47,0,69,0,60,0,60,0,60,0,58,167,47,0,86,0,60,0,60,0,60,0,45,29,47,0,101,0,61,0,1,216,131,223,47,0,101,0,60,0,0,29,60,0,101,44,60,0,60,0,60,0,58,2,60,0,143,29,60,0,187,167,60,0,60,0,60,0,186,167,60,0,1,29,60,0,2,29,60,0,60,0,60,0,70,29,60,0,49,171,60,0,80,2,60,0,60,0,60,0,111,44,60,0,60,0,60,0,68,29,60,0,81,2,60,0,60,0,60,0,231,29,60,0,60,0,60,0,109,44,60,0,60,0,60,0,69,29,60,0,48,171,60,0,144,29,60,0,82,2,60,0,60,0,60,0,112,44,60,0,60,0,60,0,155,29,60,0,100,171,60,0,98,0,60,0,60,0,60,0,66,255,60,0,60,0,60,0,232,29,60,0,60,0,60,0,53,216,27,220,61,0,53,216,79,220,61,0,53,216,131,220,61,0,53,216,183,220,61,0,53,216,235,220,61,0,53,216,31,221,61,0,53,216,83,221,61,0,53,216,135,221,61,0,53,216,187,221,61,0,53,216,239,221,61,0,53,216,35,222,61,0,53,216,87,222,61,0,53,216,139,222,60,0,60,0,60,0,209,36,60,0,60,0,60,0,66,0,60,0,60,0,60,0,34,255,60,0,60,0,60,0,44,33,61,0,53,216,1,220,61,0,53,216,53,220,61,0,53,216,105,220,61,0,53,216,209,220,61,0,53,216,5,221,61,0,53,216,57,221,61,0,53,216,109,221,61,0,53,216,161,221,61,0,53,216,213,221,61,0,53,216,9,222,61,0,53,216,61,222,61,0,53,216,113,222,60,0,60,0,60,0,183,36,61,0,60,216,81,221,60,0,60,0,60,0,71,29,60,0,60,0,60,0,116,51,47,0,97,0,114,0,60,0,60,0,60,0,46,29,61,0,60,216,49,221,61,0,60,216,113,221,60,0,60,0,60,0,195,51,47,0,113,0,60,0,153,2,60,0,60,0,60,0,1,216,132,223,60,0,128,1,60,0,60,0,60,0,67,2,60,0,47,29,60,0,3,29,60,0,108,29,60,0,151,167,60,0,60,0,60,0,150,167,60,0,128,29,60,0,83,2,60,0,60,0,60,0,129,1,60,0,60,0,60,0,1,216,133,223,60,0,131,1,60,0,60,0,60,0,130,1,60,0,181,167,60,0,60,0,60,0,233,29,60,0,60,0,60,0,180,167,60,0,99,0,60,0,60,0,60,0,67,255,60,0,60,0,60,0,104,3,61,0,125,33,60,0,60,0,60,0,215,29,47,0,39,3,60,0,60,0,60,0,5,33,47,0,39,0,47,0,39,0,111,0,60,0,60,0,60,0,6,33,47,0,39,0,47,0,39,0,117,0,60,0,60,0,60,0,53,216,28,220,61,0,53,216,80,220,61,0,53,216,132,220,61,0,53,216,184,220,61,0,53,216,236,220,61,0,53,216,32,221,61,0,53,216,84,221,61,0,53,216,136,221,61,0,53,216,188,221,61,0,53,216,240,221,61,0,53,216,36,222,61,0,53,216,88,222,61,0,53,216,140,222,60,0,60,0,60,0,210,36,60,0,60,0,60,0,67,0,60,0,60,0,60,0,35,255,60,0,60,0,60,0,109,33,60,0,60,0,60,0,2,33,61,0,45,33,61,0,53,216,2,220,61,0,53,216,54,220,61,0,53,216,106,220,61,0,53,216,158,220,61,0,53,216,210,220,61,0,53,216,110,221,61,0,53,216,162,221,61,0,53,216,214,221,61,0,53,216,10,222,61,0,53,216,62,222,61,0,53,216,114,222,60,0,60,0,60,0,184,36,61,0,60,216,43,221,61,0,60,216,82,221,60,0,60,0,60,0,60,216,45,221,47,0,68,0,60,0,60,0,60,0,156,29,60,0,60,0,60,0,136,51,47,0,97,0,108,0,60,0,60,0,60,0,196,51,47,0,99,0,60,0,60,0,60,0,197,51,47,0,100,0,60,0,60,0,60,0,157,51,47,0,109,0,60,0,60,0,60,0,160,51,47,0,14,32,109,0,59,216,2,221,14,32,60,0,60,0,60,0,164,51,47,0,14,32,109,0,59,216,3,221,14,32,60,0,60,0,60,0,242,167,61,0,60,216,50,221,61,0,60,216,114,221,60,0,60,0,60,0,198,51,47,0,21,34,107,0,103,0,60,0,60,0,60,0,60,216,145,221,47,0,76,0,60,0,60,0,60,0,199,51,47,0,111,0,39,0,46,0,39,0,60,0,60,0,60,0,60,216,146,221,47,0,79,0,79,0,76,0,60,0,4,29,60,0,60,2,60,0,60,0,60,0,59,2,60,0,147,167,60,0,60,0,60,0,146,167,60,0,148,167,60,0,60,0,60,0,196,167,60,0,55,216,29,223,60,0,136,1,60,0,60,0,60,0,135,1,60,0,85,2,60,0,60,0,60,0,157,29,60,0,132,33,60,0,60,0,60,0,131,33,60,0,63,167,60,0,60,0,60,0,62,167,60,0,100,0,60,0,60,0,60,0,17,1,47,0,53,3,60,0,60,0,60,0,68,255,60,0,60,0,60,0,105,3,61,0,126,33,60,0,60,0,60,0,56,2,47,0,98,0,60,0,60,0,60,0,243,1,47,0,122,0,61,0,163,2,47,0,122,0,60,0,60,0,60,0,198,1,47,0,126,1,60,0,60,0,60,0,102,171,47,0,144,2,60,0,60,0,60,0,165,2,47,0,145,2,60,0,60,0,60,0,164,2,47,0,146,2,60,0,60,0,60,0,55,216,18,223,47,0,55,216,24,223,60,0,60,0,60,0,55,216,25,223,47,0,154,29,60,0,60,0,60,0,70,33,61,0,53,216,29,220,61,0,53,216,81,220,61,0,53,216,133,220,61,0,53,216,185,220,61,0,53,216,237,220,61,0,53,216,33,221,61,0,53,216,85,221,61,0,53,216,137,221,61,0,53,216,189,221,61,0,53,216,241,221,61,0,53,216,37,222,61,0,53,216,89,222,61,0,53,216,141,222,60,0,60,0,60,0,211,36,60,0,60,0,60,0,68,0,60,0,60,0,60,0,16,1,47,0,53,3,60,0,60,0,60,0,36,255,60,0,60,0,60,0,110,33,60,0,60,0,60,0,242,1,47,0,122,0,60,0,60,0,60,0,241,1,47,0,90,0,60,0,60,0,60,0,197,1,47,0,126,1,60,0,60,0,60,0,196,1,47,0,125,1,60,0,60,0,60,0,69,33,61,0,53,216,3,220,61,0,53,216,55,220,61,0,53,216,107,220,61,0,53,216,159,220,61,0,53,216,211,220,61,0,53,216,7,221,61,0,53,216,59,221,61,0,53,216,111,221,61,0,53,216,163,221,61,0,53,216,215,221,61,0,53,216,11,222,61,0,53,216,63,222,61,0,53,216,115,222,60,0,60,0,60,0,185,36,61,0,60,216,83,221,60,0,60,0,60,0,72,29,60,0,60,0,60,0,1,216,135,223,47,0,122,0,60,0,60,0,60,0,1,216,136,223,47,0,144,2,60,0,60,0,60,0,1,216,137,223,47,0,145,2,60,0,60,0,60,0,1,216,138,223,47,0,146,2,60,0,60,0,60,0,60,216,165,221,60,0,60,0,60,0,114,51,47,0,97,0,60,0,60,0,60,0,200,51,47,0,66,0,60,0,60,0,60,0,151,51,47,0,108,0,60,0,60,0,60,0,119,51,47,0,109,0,60,0,60,0,60,0,120,51,47,0,14,32,109,0,59,216,2,221,14,32,60,0,60,0,60,0,121,51,47,0,14,32,109,0,59,216,3,221,14,32,60,0,60,0,60,0,48,29,61,0,60,216,51,221,61,0,60,216,115,221,60,0,60,0,60,0,60,216,144,221,47,0,74,0,60,0,60,0,240,0,61,0,217,29,60,0,60,0,60,0,208,0,60,0,60,0,60,0,158,29,60,0,60,0,216,29,61,0,122,167,60,0,60,0,60,0,121,167,60,0,5,29,60,0,6,29,60,0,200,167,60,0,60,0,60,0,199,167,60,0,109,29,60,0,129,29,60,0,86,2,60,0,60,0,60,0,137,1,60,0,60,0,60,0,1,216,139,223,60,0,87,2,60,0,60,0,60,0,138,1,60,0,60,0,60,0,1,216,140,223,60,0,55,216,37,223,60,0,145,29,60,0,60,0,60,0,1,216,141,223,60,0,140,1,60,0,60,0,60,0,139,1,60,0,33,2,60,0,113,167,60,0,159,30,60,0,101,0,60,0,60,0,60,0,69,255,60,0,60,0,60,0,100,3,60,0,60,0,60,0,47,33,61,0,71,33,61,0,53,216,30,220,61,0,53,216,82,220,61,0,53,216,134,220,61,0,53,216,238,220,61,0,53,216,34,221,61,0,53,216,86,221,61,0,53,216,138,221,61,0,53,216,190,221,61,0,53,216,242,221,61,0,53,216,38,222,61,0,53,216,90,222,61,0,53,216,142,222,60,0,60,0,60,0,212,36,60,0,60,0,60,0,69,0,60,0,60,0,60,0,37,255,60,0,60,0,60,0,48,33,61,0,53,216,4,220,61,0,53,216,56,220,61,0,53,216,108,220,61,0,53,216,212,220,61,0,53,216,8,221,61,0,53,216,60,221,61,0,53,216,112,221,61,0,53,216,164,221,61,0,53,216,216,221,61,0,53,216,12,222,61,0,53,216,64,222,61,0,53,216,116,222,60,0,60,0,60,0,186,36,61,0,60,216,84,221,60,0,60,0,60,0,73,29,60,0,60,0,60,0,145,32,60,0,60,0,60,0,205,50,47,0,114,0,103,0,60,0,60,0,60,0,206,50,47,0,86,0,60,0,60,0,60,0,49,29,61,0,60,216,52,221,61,0,60,216,116,221,60,0,7,29,60,0,50,171,60,0,51,171,60,0,71,2,60,0,60,0,60,0,70,2,60,0,146,29,60,0,52,171,60,0,120,44,60,0,221,1,60,0,60,0,60,0,142,1,60,0,60,0,60,0,50,29,60,0,123,44,60,0,89,2,60,0,60,0,60,0,234,29,60,0,60,0,60,0,143,1,60,0,60,0,60,0,74,29,60,0,60,0,60,0,148,32,60,0,149,29,60,0,91,2,60,0,60,0,60,0,144,1,60,0,60,0,60,0,7,33,60,0,60,0,60,0,75,29,60,0,147,29,60,0,88,2,60,0,60,0,60,0,1,216,142,223,60,0,90,2,60,0,92,2,60,0,60,0,60,0,171,167,60,0,60,0,60,0,159,29,60,0,148,29,60,0,8,29,60,0,60,0,60,0,76,29,60,0,93,2,60,0,94,2,60,0,60,0,60,0,1,216,143,223,60,0,154,2,60,0,100,2,60,0,60,0,60,0,1,216,145,223,60,0,102,0,60,0,60,0,60,0,70,255,60,0,60,0,60,0,235,29,60,0,60,0,60,0,0,251,47,0,102,0,60,0,60,0,60,0,3,251,47,0,102,0,105,0,60,0,60,0,60,0,4,251,47,0,102,0,108,0,60,0,60,0,60,0,1,251,47,0,105,0,60,0,60,0,60,0,2,251,47,0,108,0,60,0,60,0,60,0,169,2,47,0,75,1,60,0,60,0,60,0,53,216,31,220,61,0,53,216,83,220,61,0,53,216,135,220,61,0,53,216,187,220,61,0,53,216,239,220,61,0,53,216,35,221,61,0,53,216,87,221,61,0,53,216,139,221,61,0,53,216,191,221,61,0,53,216,243,221,61,0,53,216,39,222,61,0,53,216,91,222,61,0,53,216,143,222,60,0,60,0,60,0,213,36,60,0,60,0,60,0,70,0,60,0,60,0,60,0,38,255,60,0,60,0,60,0,59,33,47,0,65,0,88,0,60,0,60,0,60,0,49,33,61,0,53,216,5,220,61,0,53,216,57,220,61,0,53,216,109,220,61,0,53,216,213,220,61,0,53,216,9,221,61,0,53,216,61,221,61,0,53,216,113,221,61,0,53,216,165,221,61,0,53,216,217,221,61,0,53,216,13,222,61,0,53,216,65,222,61,0,53,216,117,222,60,0,60,0,60,0,187,36,61,0,60,216,85,221,60,0,60,0,60,0,160,29,60,0,60,0,60,0,1,216,144,223,47,0,75,1,60,0,60,0,60,0,153,51,47,0,109,0,60,0,60,0,60,0,243,167,61,0,60,216,53,221,61,0,60,216,117,221,60,0,60,0,60,0,60,216,147,221,47,0,82,0,69,0,69,0,60,0,60,0,124,167,60,0,60,0,60,0,123,167,60,0,60,0,55,216,0,223,47,0,75,1,60,0,48,167,60,0,53,171,60,0,153,167,60,0,60,0,60,0,152,167,60,0,110,29,60,0,130,29,60,0,146,1,60,0,60,0,60,0,145,1,60,0,78,33,60,0,60,0,60,0,50,33,60,0,251,167,60,0,103,0,60,0,60,0,60,0,71,255,60,0,60,0,60,0,218,29,60,0,60,0,60,0,161,167,47,0,47,216,158,220,60,0,60,0,60,0,10,33,61,0,53,216,32,220,61,0,53,216,84,220,61,0,53,216,136,220,61,0,53,216,240,220,61,0,53,216,36,221,61,0,53,216,88,221,61,0,53,216,140,221,61,0,53,216,192,221,61,0,53,216,244,221,61,0,53,216,40,222,61,0,53,216,92,222,61,0,53,216,144,222,60,0,60,0,60,0,214,36,60,0,60,0,60,0,71,0,60,0,60,0,60,0,39,255,60,0,60,0,60,0,160,167,47,0,47,216,158,220,60,0,60,0,60,0,53,216,6,220,61,0,53,216,58,220,61,0,53,216,110,220,61,0,53,216,162,220,61,0,53,216,214,220,61,0,53,216,10,221,61,0,53,216,62,221,61,0,53,216,114,221,61,0,53,216,166,221,61,0,53,216,218,221,61,0,53,216,14,222,61,0,53,216,66,222,61,0,53,216,118,222,60,0,60,0,60,0,188,36,61,0,60,216,86,221,60,0,60,0,60,0,77,29,60,0,60,0,60,0,255,51,47,0,97,0,108,0,60,0,60,0,60,0,51,29,61,0,60,216,54,221,61,0,60,216,118,221,60,0,60,0,60,0,135,51,47,0,66,0,60,0,60,0,60,0,147,51,47,0,72,0,122,0,60,0,60,0,60,0,172,51,47,0,80,0,97,0,60,0,60,0,60,0,201,51,47,0,121,0,60,0,60,0,204,26,61,0,121,29,60,0,60,0,60,0,125,167,60,0,209,167,60,0,60,0,60,0,208,167,60,0,97,2,60,0,60,0,60,0,172,167,60,0,60,0,60,0,162,29,60,0,55,216,1,223,60,0,54,171,60,0,98,2,60,0,60,0,60,0,219,29,60,0,60,0,60,0,1,216,146,223,60,0,229,1,60,0,60,0,60,0,228,1,60,0,131,29,60,0,96,2,60,0,60,0,60,0,147,1,60,0,60,0,60,0,1,216,147,223,60,0,155,2,60,0,60,0,60,0,1,216,148,223,60,0,119,29,60,0,55,216,2,223,60,0,127,167,60,0,60,0,60,0,126,167,60,0,99,2,60,0,60,0,60,0,148,1,60,0,60,0,60,0,224,2,60,0,163,1,60,0,60,0,60,0,162,1,60,0,104,0,60,0,60,0,60,0,39,1,47,0,53,3,61,0,15,33,47,0,53,3,60,0,60,0,60,0,72,255,60,0,60,0,60,0,106,3,60,0,60,0,60,0,14,33,61,0,53,216,33,220,61,0,53,216,137,220,61,0,53,216,189,220,61,0,53,216,241,220,61,0,53,216,37,221,61,0,53,216,89,221,61,0,53,216,141,221,61,0,53,216,193,221,61,0,53,216,245,221,61,0,53,216,41,222,61,0,53,216,93,222,61,0,53,216,145,222,60,0,60,0,60,0,215,36,60,0,60,0,60,0,72,0,60,0,60,0,60,0,38,1,47,0,53,3,60,0,60,0,60,0,40,255,60,0,60,0,60,0,11,33,61,0,12,33,61,0,13,33,61,0,53,216,7,220,61,0,53,216,59,220,61,0,53,216,111,220,61,0,53,216,215,220,61,0,53,216,115,221,61,0,53,216,167,221,61,0,53,216,219,221,61,0,53,216,15,222,61,0,53,216,67,222,61,0,53,216,119,222,60,0,60,0,60,0,189,36,61,0,60,216,87,221,60,0,60,0,60,0,176,2,60,0,60,0,60,0,248,167,47,0,53,3,61,0,1,216,149,223,47,0,53,3,60,0,60,0,60,0,149,32,60,0,60,0,60,0,202,51,47,0,97,0,60,0,60,0,60,0,113,51,47,0,80,0,97,0,60,0,60,0,60,0,52,29,61,0,60,216,55,221,61,0,60,216,119,221,60,0,60,0,60,0,60,216,166,221,47,0,99,0,60,0,60,0,60,0,60,216,167,221,47,0,100,0,82,0,60,0,60,0,60,0,204,50,47,0,103,0,60,0,60,0,60,0,60,216,168,221,47,0,105,0,39,0,32,0,39,0,82,0,101,0,115,0,60,0,60,0,60,0,203,51,47,0,80,0,60,0,60,0,60,0,60,216,74,221,47,0,86,0,60,0,60,0,60,0,144,51,47,0,122,0,60,0,156,2,60,0,60,0,60,0,1,216,150,223,60,0,149,1,60,0,60,0,60,0,246,1,60,0,149,167,60,0,102,2,60,0,60,0,60,0,170,167,60,0,60,0,60,0,177,2,60,0,104,44,60,0,60,0,60,0,103,44,60,0,118,44,60,0,60,0,60,0,117,44,60,0,246,167,60,0,60,0,60,0,245,167,60,0,39,167,60,0,60,0,60,0,38,167,60,0,60,0,60,0,92,171,60,0,103,2,60,0,60,0,60,0,1,216,151,223,60,0,187,2,60,0,189,2,60,0,105,0,60,0,60,0,60,0,73,255,60,0,60,0,60,0,101,3,61,0,112,33,60,0,60,0,60,0,113,33,47,0,105,0,60,0,60,0,60,0,114,33,47,0,105,0,105,0,60,0,60,0,60,0,51,1,47,0,106,0,60,0,60,0,60,0,115,33,47,0,118,0,60,0,60,0,60,0,120,33,47,0,120,0,60,0,60,0,60,0,57,33,61,0,72,33,61,0,53,216,34,220,61,0,53,216,86,220,61,0,53,216,138,220,61,0,53,216,190,220,61,0,53,216,242,220,61,0,53,216,38,221,61,0,53,216,90,221,61,0,53,216,142,221,61,0,53,216,194,221,61,0,53,216,246,221,61,0,53,216,42,222,61,0,53,216,94,222,61,0,53,216,146,222,60,0,60,0,60,0,216,36,60,0,60,0,60,0,73,0,60,0,60,0,60,0,41,255,60,0,60,0,60,0,96,33,60,0,60,0,60,0,97,33,47,0,73,0,60,0,60,0,60,0,98,33,47,0,73,0,73,0,60,0,60,0,60,0,50,1,47,0,74,0,60,0,60,0,60,0,99,33,47,0,86,0,60,0,60,0,60,0,104,33,47,0,88,0,60,0,60,0,60,0,16,33,61,0,17,33,61,0,53,216,8,220,61,0,53,216,60,220,61,0,53,216,112,220,61,0,53,216,216,220,61,0,53,216,64,221,61,0,53,216,116,221,61,0,53,216,168,221,61,0,53,216,220,221,61,0,53,216,16,222,61,0,53,216,68,222,61,0,53,216,120,222,60,0,60,0,60,0,190,36,61,0,60,216,88,221,60,0,60,0,60,0,113,32,60,0,60,0,60,0,98,29,60,0,60,0,60,0,204,51,47,0,110,0,60,0,60,0,60,0,53,29,61,0,60,216,56,221,61,0,60,216,120,221,60,0,60,0,60,0,60,216,139,221,47,0,67,0,60,0,60,0,60,0,60,216,148,221,47,0,68,0,60,0,60,0,60,0,122,51,47,0,85,0,60,0,49,1,60,0,60,0,60,0,53,216,164,222,60,0,106,2,60,0,60,0,60,0,174,167,60,0,60,0,60,0,166,29,60,0,254,167,60,0,247,167,60,0,9,29,60,0,60,0,60,0,78,29,60,0,104,2,60,0,60,0,60,0,151,1,60,0,60,0,60,0,164,29,60,0,123,29,60,0,60,0,60,0,167,29,60,0,55,216,26,223,60,0,150,29,60,0,189,167,60,0,60,0,60,0,188,167,60,0,105,2,60,0,60,0,60,0,150,1,60,0,60,0,60,0,165,29,60,0,124,29,60,0,106,0,60,0,60,0,60,0,74,255,60,0,60,0,60,0,73,33,61,0,53,216,35,220,61,0,53,216,87,220,61,0,53,216,139,220,61,0,53,216,191,220,61,0,53,216,243,220,61,0,53,216,39,221,61,0,53,216,91,221,61,0,53,216,143,221,61,0,53,216,195,221,61,0,53,216,247,221,61,0,53,216,43,222,61,0,53,216,95,222,61,0,53,216,147,222,60,0,60,0,60,0,217,36,60,0,60,0,60,0,74,0,60,0,60,0,60,0,42,255,60,0,60,0,60,0,53,216,9,220,61,0,53,216,61,220,61,0,53,216,113,220,61,0,53,216,165,220,61,0,53,216,217,220,61,0,53,216,13,221,61,0,53,216,65,221,61,0,53,216,117,221,61,0,53,216,169,221,61,0,53,216,221,221,61,0,53,216,17,222,61,0,53,216,69,222,61,0,53,216,121,222,60,0,60,0,60,0,191,36,61,0,60,216,89,221,60,0,60,0,60,0,178,2,60,0,60,0,60,0,124,44,60,0,60,0,60,0,54,29,61,0,60,216,57,221,61,0,60,216,121,221,60,0,55,2,60,0,60,0,60,0,53,216,165,222,60,0,10,29,60,0,73,2,60,0,60,0,60,0,72,2,60,0,157,2,60,0,60,0,60,0,178,167,60,0,60,0,60,0,168,29,60,0,95,2,60,0,60,0,60,0,161,29,60,0,132,2,60,0,60,0,60,0,1,216,152,223,60,0,107,0,60,0,60,0,60,0,75,255,60,0,60,0,60,0,220,29,60,0,60,0,60,0,163,167,47,0,47,216,158,220,60,0,60,0,60,0,53,216,36,220,61,0,53,216,88,220,61,0,53,216,140,220,61,0,53,216,192,220,61,0,53,216,244,220,61,0,53,216,40,221,61,0,53,216,92,221,61,0,53,216,144,221,61,0,53,216,196,221,61,0,53,216,248,221,61,0,53,216,44,222,61,0,53,216,96,222,61,0,53,216,148,222,60,0,60,0,60,0,218,36,60,0,60,0,60,0,75,0,60,0,60,0,60,0,43,255,60,0,60,0,60,0,162,167,47,0,47,216,158,220,60,0,60,0,60,0,53,216,10,220,61,0,53,216,62,220,61,0,53,216,114,220,61,0,53,216,166,220,61,0,53,216,218,220,61,0,53,216,14,221,61,0,53,216,66,221,61,0,53,216,118,221,61,0,53,216,170,221,61,0,53,216,222,221,61,0,53,216,18,222,61,0,53,216,70,222,61,0,53,216,122,222,60,0,60,0,60,0,192,36,61,0,60,216,90,221,60,0,60,0,60,0,79,29,60,0,60,0,60,0,150,32,60,0,60,0,60,0,132,51,47,0,65,0,60,0,60,0,60,0,137,51,47,0,99,0,97,0,108,0,60,0,60,0,60,0,143,51,47,0,103,0,60,0,60,0,60,0,145,51,47,0,72,0,122,0,60,0,60,0,60,0,152,51,47,0,108,0,60,0,60,0,60,0,158,51,47,0,109,0,60,0,60,0,60,0,162,51,47,0,14,32,109,0,59,216,2,221,14,32,60,0,60,0,60,0,166,51,47,0,14,32,109,0,59,216,3,221,14,32,60,0,60,0,60,0,170,51,47,0,80,0,97,0,60,0,60,0,60,0,207,51,47,0,116,0,60,0,60,0,60,0,184,51,47,0,86,0,60,0,60,0,60,0,190,51,47,0,87,0,60,0,60,0,60,0,192,51,47,0,169,3,60,0,60,0,60,0,55,29,61,0,60,216,58,221,61,0,60,216,122,221,60,0,60,0,60,0,133,51,47,0,66,0,60,0,60,0,60,0,205,51,47,0,75,0,60,0,60,0,60,0,206,51,47,0,77,0,60,0,11,29,60,0,132,29,60,0,153,1,60,0,60,0,60,0,152,1,60,0,106,44,60,0,60,0,60,0,105,44,60,0,65,167,60,0,60,0,60,0,64,167,60,0,67,167,60,0,60,0,60,0,66,167,60,0,69,167,60,0,60,0,60,0,68,167,60,0,55,216,3,223,60,0,158,2,60,0,60,0,60,0,176,167,60,0,55,216,16,223,60,0,108,0,60,0,60,0,60,0,66,1,47,0,53,3,60,0,60,0,60,0,76,255,60,0,60,0,60,0,221,29,61,0,124,33,60,0,60,0,60,0,201,1,47,0,106,0,60,0,60,0,60,0,251,30,47,0,108,0,60,0,60,0,60,0,170,2,47,0,115,0,60,0,60,0,60,0,171,2,47,0,122,0,60,0,60,0,60,0,19,33,61,0,53,216,37,220,61,0,53,216,89,220,61,0,53,216,141,220,61,0,53,216,193,220,61,0,53,216,245,220,61,0,53,216,41,221,61,0,53,216,93,221,61,0,53,216,145,221,61,0,53,216,197,221,61,0,53,216,249,221,61,0,53,216,45,222,61,0,53,216,97,222,61,0,53,216,149,222,60,0,60,0,60,0,219,36,60,0,60,0,60,0,76,0,60,0,60,0,60,0,65,1,47,0,53,3,60,0,60,0,60,0,44,255,60,0,60,0,60,0,108,33,60,0,60,0,60,0,200,1,47,0,106,0,60,0,60,0,60,0,199,1,47,0,74,0,60,0,60,0,60,0,250,30,47,0,76,0,60,0,60,0,60,0,18,33,61,0,53,216,11,220,61,0,53,216,63,220,61,0,53,216,115,220,61,0,53,216,219,220,61,0,53,216,15,221,61,0,53,216,67,221,61,0,53,216,119,221,61,0,53,216,171,221,61,0,53,216,223,221,61,0,53,216,19,222,61,0,53,216,71,222,61,0,53,216,123,222,60,0,60,0,60,0,193,36,61,0,60,216,91,221,60,0,60,0,60,0,225,2,60,0,60,0,60,0,1,216,153,223,47,0,115,0,60,0,60,0,60,0,1,216,154,223,47,0,122,0,60,0,60,0,60,0,151,32,60,0,60,0,60,0,208,51,47,0,109,0,60,0,60,0,60,0,209,51,47,0,110,0,60,0,60,0,60,0,210,51,47,0,111,0,103,0,60,0,60,0,60,0,211,51,47,0,120,0,60,0,60,0,60,0,56,29,61,0,60,216,59,221,61,0,60,216,123,221,60,0,60,0,60,0,60,216,169,221,47,0,111,0,115,0,115,0,108,0,101,0,115,0,115,0,60,0,60,0,60,0,207,50,47,0,84,0,68,0,60,0,60,0,108,0,183,0,61,0,108,0,183,0,61,0,64,1,60,0,60,0,60,0,76,0,183,0,61,0,76,0,183,0,61,0,63,1,60,0,159,2,60,0,60,0,60,0,222,29,60,0,60,0,60,0,171,29,60,0,71,167,60,0,60,0,60,0,70,167,60,0,12,29,60,0,73,167,60,0,60,0,60,0,72,167,60,0,154,1,60,0,60,0,60,0,61,2,60,0,97,44,60,0,60,0,60,0,96,44,60,0,107,2,60,0,60,0,60,0,98,44,60,0,60,0,60,0,94,171,60,0,56,171,60,0,60,0,60,0,236,29,60,0,57,171,60,0,108,2,60,0,60,0,60,0,173,167,60,0,60,0,60,0,1,216,155,223,60,0,55,216,4,223,60,0,60,0,60,0,1,216,156,223,60,0,55,216,19,223,60,0,55,171,60,0,60,0,60,0,93,171,60,0,133,29,60,0,60,0,60,0,170,29,60,0,109,2,60,0,60,0,60,0,169,29,60,0,55,216,38,223,60,0,142,167,60,0,60,0,60,0,1,216,157,223,60,0,55,216,17,223,60,0,52,2,60,0,114,167,60,0,110,2,60,0,60,0,60,0,1,216,158,223,60,0,55,216,5,223,60,0,60,0,60,0,1,216,159,223,60,0,129,167,60,0,60,0,60,0,128,167,60,0,155,1,60,0,142,2,60,0,60,0,60,0,1,216,160,223,60,0,55,216,6,223,60,0,60,0,60,0,1,216,161,223,60,0,109,0,60,0,60,0,60,0,77,255,60,0,60,0,60,0,107,3,61,0,127,33,60,0,60,0,60,0,53,216,38,220,61,0,53,216,90,220,61,0,53,216,142,220,61,0,53,216,194,220,61,0,53,216,246,220,61,0,53,216,42,221,61,0,53,216,94,221,61,0,53,216,146,221,61,0,53,216,198,221,61,0,53,216,250,221,61,0,53,216,46,222,61,0,53,216,98,222,61,0,53,216,150,222,60,0,60,0,60,0,220,36,60,0,60,0,60,0,77,0,60,0,60,0,60,0,45,255,60,0,60,0,60,0,111,33,60,0,60,0,60,0,51,33,61,0,53,216,12,220,61,0,53,216,64,220,61,0,53,216,116,220,61,0,53,216,220,220,61,0,53,216,16,221,61,0,53,216,68,221,61,0,53,216,120,221,61,0,53,216,172,221,61,0,53,216,224,221,61,0,53,216,20,222,61,0,53,216,72,222,61,0,53,216,124,222,60,0,60,0,60,0,194,36,61,0,60,216,92,221,60,0,60,0,60,0,80,29,60,0,60,0,60,0,60,216,106,221,47,0,99,0,60,0,60,0,60,0,60,216,107,221,47,0,100,0,60,0,60,0,60,0,60,216,108,221,47,0,114,0,60,0,60,0,60,0,152,32,60,0,60,0,60,0,167,51,47,0,21,34,115,0,60,0,60,0,60,0,168,51,47,0,14,32,21,34,115,0,59,216,2,221,14,32,60,0,60,0,60,0,161,51,47,0,14,32,59,216,2,221,14,32,60,0,60,0,60,0,165,51,47,0,14,32,59,216,3,221,14,32,60,0,60,0,60,0,131,51,47,0,65,0,60,0,60,0,60,0,212,51,47,0,98,0,60,0,60,0,60,0,142,51,47,0,103,0,60,0,60,0,60,0,213,51,47,0,105,0,108,0,60,0,60,0,60,0,150,51,47,0,108,0,60,0,60,0,60,0,156,51,47,0,109,0,60,0,60,0,60,0,159,51,47,0,14,32,109,0,59,216,2,221,14,32,60,0,60,0,60,0,163,51,47,0,14,32,109,0,59,216,3,221,14,32,60,0,60,0,60,0,214,51,47,0,111,0,108,0,60,0,60,0,60,0,179,51,47,0,115,0,60,0,60,0,60,0,183,51,47,0,86,0,60,0,60,0,60,0,189,51,47,0,87,0,60,0,60,0,60,0,57,29,61,0,60,216,60,221,61,0,60,216,124,221,60,0,60,0,60,0,134,51,47,0,66,0,60,0,60,0,60,0,146,51,47,0,72,0,122,0,60,0,60,0,60,0,171,51,47,0,80,0,97,0,60,0,60,0,60,0,185,51,47,0,86,0,61,0,60,216,75,221,47,0,86,0,60,0,60,0,60,0,191,51,47,0,87,0,60,0,60,0,60,0,193,51,47,0,169,3,60,0,13,29,60,0,60,0,60,0,223,29,60,0,111,29,60,0,134,29,60,0,113,2,60,0,60,0,60,0,110,44,60,0,60,0,60,0,172,29,60,0,58,171,60,0,253,167,60,0,255,167,60,0,115,167,60,0,110,0,60,0,60,0,60,0,78,255,60,0,60,0,60,0,224,29,60,0,60,0,60,0,165,167,47,0,47,216,158,220,60,0,60,0,60,0,204,1,47,0,106,0,60,0,60,0,60,0,53,216,39,220,61,0,53,216,91,220,61,0,53,216,143,220,61,0,53,216,195,220,61,0,53,216,247,220,61,0,53,216,43,221,61,0,53,216,95,221,61,0,53,216,147,221,61,0,53,216,199,221,61,0,53,216,251,221,61,0,53,216,47,222,61,0,53,216,99,222,61,0,53,216,151,222,60,0,60,0,60,0,221,36,60,0,60,0,60,0,78,0,60,0,60,0,60,0,46,255,60,0,60,0,60,0,164,167,47,0,47,216,158,220,60,0,60,0,60,0,203,1,47,0,106,0,60,0,60,0,60,0,202,1,47,0,74,0,60,0,60,0,60,0,22,33,47,0,111,0,60,0,60,0,60,0,21,33,61,0,53,216,13,220,61,0,53,216,65,220,61,0,53,216,117,220,61,0,53,216,169,220,61,0,53,216,221,220,61,0,53,216,17,221,61,0,53,216,121,221,61,0,53,216,173,221,61,0,53,216,225,221,61,0,53,216,21,222,61,0,53,216,73,222,61,0,53,216,125,222,60,0,60,0,60,0,195,36,61,0,60,216,93,221,60,0,60,0,60,0,127,32,60,0,60,0,60,0,153,32,60,0,60,0,60,0,129,51,47,0,65,0,60,0,60,0,60,0,139,51,47,0,70,0,60,0,60,0,60,0,154,51,47,0,109,0,60,0,60,0,60,0,177,51,47,0,115,0,60,0,60,0,60,0,181,51,47,0,86,0,60,0,60,0,60,0,187,51,47,0,87,0,60,0,60,0,60,0,58,29,61,0,60,216,61,221,61,0,60,216,125,221,60,0,60,0,60,0,60,216,149,221,47,0,69,0,87,0,60,0,60,0,60,0,60,216,150,221,47,0,71,0,60,0,116,2,60,0,60,0,60,0,225,29,60,0,60,0,60,0,176,29,60,0,59,29,60,0,14,29,60,0,112,29,60,0,114,2,60,0,60,0,60,0,157,1,60,0,60,0,60,0,174,29,60,0,158,1,60,0,60,0,60,0,32,2,60,0,145,167,60,0,60,0,60,0,144,167,60,0,135,29,60,0,115,2,60,0,60,0,60,0,175,29,60,0,55,216,39,223,60,0,53,2,60,0,59,171,60,0,116,167,60,0,75,1,60,0,60,0,60,0,74,1,60,0,60,0,60,0,81,29,60,0,60,171,60,0,55,216,20,223,60,0,55,216,7,223,60,0,111,0,60,0,60,0,60,0,248,0,47,0,56,3,60,0,60,0,60,0,79,255,60,0,60,0,60,0,102,3,60,0,60,0,60,0,243,29,47,0,8,3,61,0,157,167,47,0,8,3,60,0,60,0,60,0,237,29,47,0,3,216,133,223,60,0,60,0,60,0,79,167,47,0,111,0,60,0,60,0,60,0,52,33,61,0,53,216,40,220,61,0,53,216,92,220,61,0,53,216,144,220,61,0,53,216,248,220,61,0,53,216,44,221,61,0,53,216,96,221,61,0,53,216,148,221,61,0,53,216,200,221,61,0,53,216,252,221,61,0,53,216,48,222,61,0,53,216,100,222,61,0,53,216,152,222,60,0,60,0,60,0,222,36,60,0,60,0,60,0,79,0,60,0,60,0,60,0,216,0,47,0,56,3,60,0,60,0,60,0,47,255,60,0,60,0,60,0,156,167,47,0,8,3,60,0,60,0,60,0,78,167,47,0,79,0,60,0,60,0,60,0,53,216,14,220,61,0,53,216,66,220,61,0,53,216,118,220,61,0,53,216,170,220,61,0,53,216,222,220,61,0,53,216,18,221,61,0,53,216,70,221,61,0,53,216,122,221,61,0,53,216,174,221,61,0,53,216,226,221,61,0,53,216,22,222,61,0,53,216,74,222,61,0,53,216,126,222,60,0,60,0,60,0,196,36,61,0,60,216,94,221,60,0,60,0,60,0,186,0,61,0,82,29,60,0,60,0,60,0,1,216,162,223,47,0,56,3,60,0,60,0,60,0,146,32,60,0,60,0,60,0,117,51,47,0,86,0,60,0,60,0,60,0,60,29,61,0,60,216,62,221,61,0,60,216,126,221,60,0,60,0,60,0,60,216,151,221,47,0,75,0,60,0,60,0,83,1,47,0,101,0,60,0,60,0,60,0,82,1,47,0,69,0,60,0,60,0,60,0,249,167,47,0,101,0,60,0,15,29,60,0,17,29,60,0,61,171,60,0,118,2,60,0,60,0,60,0,1,216,163,223,60,0,20,29,60,0,65,171,60,0,66,171,60,0,64,171,60,0,67,171,60,0,68,171,60,0,19,29,60,0,62,171,60,0,55,216,27,223,60,0,84,2,60,0,60,0,60,0,134,1,60,0,60,0,60,0,83,29,60,0,16,29,60,0,18,29,60,0,63,171,60,0,151,29,60,0,98,171,60,0,77,167,60,0,60,0,60,0,76,167,60,0,22,29,60,0,60,0,60,0,84,29,60,0,23,29,60,0,60,0,60,0,85,29,60,0,122,44,60,0,117,2,60,0,60,0,60,0,159,1,60,0,60,0,60,0,177,29,60,0,75,167,60,0,60,0,60,0,74,167,60,0,119,2,60,0,60,0,60,0,1,216,164,223,60,0,183,167,60,0,60,0,60,0,182,167,60,0,35,2,60,0,60,0,60,0,34,2,60,0,60,0,60,0,61,29,60,0,21,29,60,0,112,0,60,0,60,0,60,0,80,255,60,0,60,0,60,0,238,29,60,0,60,0,60,0,53,216,41,220,61,0,53,216,93,220,61,0,53,216,145,220,61,0,53,216,197,220,61,0,53,216,249,220,61,0,53,216,45,221,61,0,53,216,97,221,61,0,53,216,149,221,61,0,53,216,201,221,61,0,53,216,253,221,61,0,53,216,49,222,61,0,53,216,101,222,61,0,53,216,153,222,60,0,60,0,60,0,223,36,60,0,60,0,60,0,80,0,60,0,60,0,60,0,48,255,60,0,60,0,60,0,25,33,61,0,53,216,15,220,61,0,53,216,67,220,61,0,53,216,119,220,61,0,53,216,171,220,61,0,53,216,223,220,61,0,53,216,19,221,61,0,53,216,123,221,61,0,53,216,175,221,61,0,53,216,227,221,61,0,53,216,23,222,61,0,53,216,75,222,61,0,53,216,127,222,60,0,60,0,60,0,197,36,61,0,60,216,95,221,60,0,60,0,60,0,86,29,60,0,60,0,60,0,154,32,60,0,60,0,60,0,216,51,47,0,39,0,46,0,39,0,109,0,39,0,46,0,39,0,60,0,60,0,60,0,128,51,47,0,65,0,60,0,60,0,60,0,118,51,47,0,99,0,60,0,60,0,60,0,138,51,47,0,70,0,60,0,60,0,60,0,176,51,47,0,115,0,60,0,60,0,60,0,180,51,47,0,86,0,60,0,60,0,60,0,186,51,47,0,87,0,60,0,60,0,60,0,62,29,61,0,60,216,63,221,61,0,60,216,127,221,61,0,60,216,138,221,60,0,60,0,60,0,169,51,47,0,97,0,60,0,60,0,60,0,60,216,140,221,47,0,65,0,60,0,60,0,60,0,215,51,47,0,72,0,60,0,60,0,60,0,217,51,47,0,80,0,77,0,60,0,60,0,60,0,60,216,78,221,47,0,80,0,86,0,60,0,60,0,60,0,218,51,47,0,82,0,60,0,60,0,60,0,80,50,47,0,84,0,69,0,60,0,24,29,60,0,125,29,60,0,60,0,60,0,99,44,60,0,81,167,60,0,60,0,60,0,80,167,60,0,113,29,60,0,136,29,60,0,165,1,60,0,60,0,60,0,164,1,60,0,83,167,60,0,60,0,60,0,82,167,60,0,85,167,60,0,60,0,60,0,84,167,60,0,252,167,60,0,120,2,60,0,60,0,60,0,178,29,60,0,119,44,60,0,113,0,60,0,60,0,60,0,81,255,60,0,60,0,60,0,57,2,47,0,112,0,60,0,60,0,60,0,53,216,42,220,61,0,53,216,94,220,61,0,53,216,146,220,61,0,53,216,198,220,61,0,53,216,250,220,61,0,53,216,46,221,61,0,53,216,98,221,61,0,53,216,150,221,61,0,53,216,202,221,61,0,53,216,254,221,61,0,53,216,50,222,61,0,53,216,102,222,61,0,53,216,154,222,60,0,60,0,60,0,224,36,60,0,60,0,60,0,81,0,60,0,60,0,60,0,49,255,60,0,60,0,60,0,26,33,61,0,53,216,16,220,61,0,53,216,68,220,61,0,53,216,120,220,61,0,53,216,172,220,61,0,53,216,224,220,61,0,53,216,20,221,61,0,53,216,124,221,61,0,53,216,176,221,61,0,53,216,228,221,61,0,53,216,24,222,61,0,53,216,76,222,61,0,53,216,128,222,60,0,60,0,60,0,198,36,61,0,60,216,96,221,60,0,60,0,60,0,1,216,165,223,60,0,60,0,60,0,244,167,61,0,60,216,64,221,61,0,60,216,128,221,60,0,175,167,60,0,87,167,60,0,60,0,60,0,86,167,60,0,89,167,60,0,60,0,60,0,88,167,60,0,160,2,60,0,75,2,60,0,60,0,60,0,74,2,60,0,56,1,60,0,114,0,60,0,60,0,60,0,82,255,60,0,60,0,60,0,108,3,61,0,202,29,60,0,60,0,60,0,167,167,47,0,47,216,158,220,60,0,60,0,60,0,53,216,43,220,61,0,53,216,95,220,61,0,53,216,147,220,61,0,53,216,199,220,61,0,53,216,251,220,61,0,53,216,47,221,61,0,53,216,99,221,61,0,53,216,151,221,61,0,53,216,203,221,61,0,53,216,255,221,61,0,53,216,51,222,61,0,53,216,103,222,61,0,53,216,155,222,60,0,60,0,60,0,225,36,60,0,60,0,60,0,82,0,60,0,60,0,60,0,50,255,60,0,60,0,60,0,166,167,47,0,47,216,158,220,60,0,60,0,60,0,27,33,61,0,28,33,61,0,29,33,61,0,53,216,17,220,61,0,53,216,69,220,61,0,53,216,121,220,61,0,53,216,225,220,61,0,53,216,125,221,61,0,53,216,177,221,61,0,53,216,229,221,61,0,53,216,25,222,61,0,53,216,77,222,61,0,53,216,129,222,60,0,60,0,60,0,199,36,61,0,60,216,44,221,61,0,60,216,97,221,60,0,60,0,60,0,179,2,60,0,60,0,60,0,99,29,60,0,60,0,60,0,173,51,47,0,97,0,100,0,60,0,60,0,60,0,174,51,47,0,97,0,100,0,21,34,115,0,60,0,60,0,60,0,175,51,47,0,14,32,97,0,100,0,21,34,115,0,59,216,2,221,14,32,60,0,60,0,60,0,63,29,61,0,60,216,65,221,61,0,60,216,129,221,60,0,60,0,205,26,61,0,131,167,60,0,60,0,60,0,130,167,60,0,60,0,227,29,61,0,91,167,60,0,60,0,60,0,90,167,60,0,69,171,60,0,128,2,60,0,60,0,60,0,226,29,60,0,60,0,60,0,166,1,60,0,60,0,60,0,1,216,170,223,60,0,70,171,60,0,25,29,60,0,77,2,60,0,60,0,60,0,76,2,60,0,114,29,60,0,121,2,60,0,60,0,60,0,180,2,60,0,26,29,60,0,122,2,60,0,60,0,60,0,1,216,166,223,60,0,55,216,8,223,60,0,60,0,60,0,1,216,167,223,60,0,123,2,60,0,60,0,60,0,181,2,60,0,121,44,60,0,137,29,60,0,124,2,60,0,125,2,60,0,60,0,60,0,100,44,60,0,60,0,60,0,1,216,168,223,60,0,55,216,40,223,60,0,73,171,60,0,126,2,60,0,60,0,60,0,1,216,169,223,60,0,115,29,60,0,55,216,22,223,60,0,127,2,60,0,71,171,60,0,72,171,60,0,74,171,60,0,75,171,60,0,76,171,60,0,129,2,60,0,60,0,60,0,182,2,60,0,104,171,60,0,55,216,21,223,60,0,117,167,60,0,118,167,60,0,93,167,60,0,60,0,60,0,92,167,60,0,115,0,60,0,60,0,60,0,83,255,60,0,60,0,60,0,228,29,60,0,60,0,60,0,169,167,47,0,47,216,158,220,60,0,60,0,60,0,6,251,47,0,116,0,60,0,60,0,60,0,53,216,44,220,61,0,53,216,96,220,61,0,53,216,148,220,61,0,53,216,200,220,61,0,53,216,252,220,61,0,53,216,48,221,61,0,53,216,100,221,61,0,53,216,152,221,61,0,53,216,204,221,61,0,53,216,0,222,61,0,53,216,52,222,61,0,53,216,104,222,61,0,53,216,156,222,60,0,60,0,60,0,226,36,60,0,60,0,60,0,83,0,60,0,60,0,60,0,51,255,60,0,60,0,60,0,168,167,47,0,47,216,158,220,60,0,60,0,60,0,53,216,18,220,61,0,53,216,70,220,61,0,53,216,122,220,61,0,53,216,174,220,61,0,53,216,226,220,61,0,53,216,22,221,61,0,53,216,74,221,61,0,53,216,126,221,61,0,53,216,178,221,61,0,53,216,230,221,61,0,53,216,26,222,61,0,53,216,78,222,61,0,53,216,130,222,60,0,60,0,60,0,200,36,61,0,60,216,98,221,60,0,60,0,60,0,226,2,60,0,60,0,60,0,32,33,47,0,109,0,60,0,60,0,60,0,155,32,60,0,60,0,60,0,219,51,47,0,114,0,60,0,60,0,60,0,60,216,66,221,61,0,60,216,130,221,60,0,60,0,60,0,60,216,141,221,47,0,65,0,60,0,60,0,60,0,60,216,76,221,47,0,68,0,60,0,60,0,60,0,60,216,170,221,47,0,72,0,86,0,60,0,60,0,60,0,60,216,152,221,47,0,79,0,83,0,60,0,60,0,60,0,60,216,77,221,47,0,83,0,60,0,60,0,60,0,220,51,47,0,118,0,60,0,60,0,223,0,47,0,115,0,60,0,60,0,60,0,158,30,47,0,83,0,60,0,60,0,127,1,61,0,229,29,60,0,60,0,60,0,5,251,47,0,116,0,60,0,60,0,133,167,60,0,60,0,60,0,132,167,60,0,60,0,217,167,60,0,60,0,60,0,216,167,60,0,49,167,60,0,202,167,60,0,60,0,60,0,201,167,60,0,116,29,60,0,138,29,60,0,130,2,60,0,60,0,60,0,197,167,60,0,60,0,60,0,179,29,60,0,55,216,41,223,60,0,55,216,30,223,60,0,60,0,60,0,1,216,186,223,60,0,63,2,60,0,60,0,60,0,126,44,60,0,215,167,60,0,60,0,60,0,214,167,60,0,156,30,60,0,157,30,60,0,131,2,60,0,60,0,60,0,239,29,60,0,60,0,60,0,169,1,60,0,60,0,60,0,180,29,60,0,77,171,60,0,139,29,60,0,152,29,60,0,170,1,60,0,133,2,60,0,134,2,60,0,55,216,11,223,60,0,55,216,12,223,60,0,116,0,60,0,60,0,60,0,84,255,60,0,60,0,60,0,109,3,60,0,60,0,60,0,168,2,47,0,85,2,60,0,60,0,60,0,190,1,47,0,115,0,61,0,166,2,47,0,115,0,60,0,60,0,60,0,103,171,47,0,130,2,60,0,60,0,60,0,167,2,47,0,131,2,60,0,60,0,60,0,55,216,23,223,47,0,139,29,60,0,60,0,60,0,55,216,28,223,47,0,152,29,60,0,60,0,60,0,41,167,47,0,122,0,60,0,60,0,60,0,53,216,45,220,61,0,53,216,97,220,61,0,53,216,149,220,61,0,53,216,201,220,61,0,53,216,253,220,61,0,53,216,49,221,61,0,53,216,101,221,61,0,53,216,153,221,61,0,53,216,205,221,61,0,53,216,1,222,61,0,53,216,53,222,61,0,53,216,105,222,61,0,53,216,157,222,60,0,60,0,60,0,227,36,60,0,60,0,60,0,84,0,60,0,60,0,60,0,52,255,60,0,60,0,60,0,33,33,47,0,69,0,76,0,60,0,60,0,60,0,40,167,47,0,122,0,60,0,60,0,60,0,53,216,19,220,61,0,53,216,71,220,61,0,53,216,123,220,61,0,53,216,175,220,61,0,53,216,227,220,61,0,53,216,23,221,61,0,53,216,75,221,61,0,53,216,127,221,61,0,53,216,179,221,61,0,53,216,231,221,61,0,53,216,27,222,61,0,53,216,79,222,61,0,53,216,131,222,60,0,60,0,60,0,201,36,61,0,60,216,99,221,60,0,60,0,60,0,87,29,60,0,60,0,60,0,1,216,171,223,47,0,85,2,60,0,60,0,60,0,34,33,47,0,109,0,60,0,60,0,60,0,1,216,172,223,47,0,115,0,60,0,60,0,60,0,1,216,173,223,47,0,130,2,60,0,60,0,60,0,1,216,174,223,47,0,131,2,60,0,60,0,60,0,156,32,60,0,60,0,60,0,64,29,61,0,60,216,67,221,61,0,60,216,131,221,60,0,60,0,60,0,148,51,47,0,72,0,122,0,60,0,60,0,122,29,47,0,104,0,60,0,60,0,206,26,61,0,135,167,60,0,60,0,60,0,134,167,60,0,27,29,60,0,103,1,60,0,60,0,60,0,102,1,60,0,102,44,60,0,60,0,60,0,62,2,60,0,117,29,60,0,171,1,60,0,60,0,60,0,181,29,60,0,173,1,60,0,60,0,60,0,172,1,60,0,136,2,60,0,60,0,60,0,174,1,60,0,60,0,60,0,1,216,175,223,60,0,55,216,42,223,60,0,55,216,9,223,60,0,54,2,60,0,119,167,60,0,135,2,60,0,60,0,60,0,177,167,60,0,55,216,13,223,60,0,117,0,60,0,60,0,60,0,85,255,60,0,60,0,60,0,103,3,60,0,60,0,60,0,244,29,47,0,8,3,61,0,159,167,47,0,8,3,60,0,60,0,60,0,240,29,47,0,3,216,133,223,60,0,60,0,60,0,53,216,46,220,61,0,53,216,98,220,61,0,53,216,150,220,61,0,53,216,202,220,61,0,53,216,254,220,61,0,53,216,50,221,61,0,53,216,102,221,61,0,53,216,154,221,61,0,53,216,206,221,61,0,53,216,2,222,61,0,53,216,54,222,61,0,53,216,106,222,61,0,53,216,158,222,60,0,60,0,60,0,228,36,60,0,60,0,60,0,85,0,60,0,60,0,60,0,53,255,60,0,60,0,60,0,158,167,47,0,8,3,60,0,60,0,60,0,53,216,20,220,61,0,53,216,72,220,61,0,53,216,124,220,61,0,53,216,176,220,61,0,53,216,228,220,61,0,53,216,24,221,61,0,53,216,76,221,61,0,53,216,128,221,61,0,53,216,180,221,61,0,53,216,232,221,61,0,53,216,28,222,61,0,53,216,80,222,61,0,53,216,132,222,60,0,60,0,60,0,202,36,61,0,60,216,100,221,60,0,60,0,60,0,88,29,60,0,60,0,60,0,100,29,60,0,60,0,60,0,65,29,61,0,60,216,68,221,61,0,60,216,132,221,60,0,60,0,60,0,60,216,171,221,47,0,72,0,68,0,60,0,60,0,60,0,60,216,153,221,47,0,80,0,39,0,33,0,39,0,60,0,28,29,60,0,60,0,60,0,184,29,60,0,78,171,60,0,29,29,60,0,60,0,60,0,89,29,60,0,30,29,60,0,107,29,60,0,80,171,60,0,81,171,60,0,137,2,60,0,60,0,60,0,68,2,60,0,60,0,60,0,182,29,60,0,79,171,60,0,185,167,60,0,60,0,60,0,184,167,60,0,126,29,60,0,153,29,60,0,82,171,60,0,60,0,60,0,95,171,60,0,191,167,60,0,60,0,60,0,190,167,60,0,101,2,60,0,60,0,60,0,141,167,60,0,60,0,60,0,163,29,60,0,174,2,60,0,175,2,60,0,111,2,60,0,60,0,60,0,156,1,60,0,60,0,60,0,90,29,60,0,250,167,60,0,31,29,60,0,112,2,60,0,60,0,60,0,173,29,60,0,138,2,60,0,60,0,60,0,177,1,60,0,60,0,60,0,183,29,60,0,127,29,60,0,118,0,60,0,60,0,60,0,86,255,60,0,60,0,60,0,110,3,61,0,116,33,60,0,60,0,60,0,117,33,47,0,105,0,60,0,60,0,60,0,118,33,47,0,105,0,105,0,60,0,60,0,60,0,119,33,47,0,105,0,105,0,105,0,60,0,60,0,60,0,97,167,47,0,121,0,60,0,60,0,60,0,53,216,47,220,61,0,53,216,99,220,61,0,53,216,151,220,61,0,53,216,203,220,61,0,53,216,255,220,61,0,53,216,51,221,61,0,53,216,103,221,61,0,53,216,155,221,61,0,53,216,207,221,61,0,53,216,3,222,61,0,53,216,55,222,61,0,53,216,107,222,61,0,53,216,159,222,60,0,60,0,60,0,229,36,60,0,60,0,60,0,86,0,60,0,60,0,60,0,54,255,60,0,60,0,60,0,100,33,60,0,60,0,60,0,101,33,47,0,73,0,60,0,60,0,60,0,102,33,47,0,73,0,73,0,60,0,60,0,60,0,103,33,47,0,73,0,73,0,73,0,60,0,60,0,60,0,96,167,47,0,89,0,60,0,60,0,60,0,53,216,21,220,61,0,53,216,73,220,61,0,53,216,125,220,61,0,53,216,177,220,61,0,53,216,229,220,61,0,53,216,25,221,61,0,53,216,77,221,61,0,53,216,129,221,61,0,53,216,181,221,61,0,53,216,233,221,61,0,53,216,29,222,61,0,53,216,81,222,61,0,53,216,133,222,60,0,60,0,60,0,203,36,61,0,60,216,101,221,60,0,60,0,60,0,91,29,60,0,60,0,60,0,101,29,60,0,60,0,60,0,125,44,61,0,60,216,69,221,61,0,60,216,133,221,60,0,60,0,60,0,222,51,47,0,21,34,109,0,60,0,60,0,60,0,60,216,172,221,47,0,79,0,68,0,60,0,60,0,60,0,60,216,154,221,47,0,83,0,60,0,32,29,60,0,95,167,60,0,60,0,60,0,94,167,60,0,140,29,60,0,139,2,60,0,60,0,60,0,178,1,60,0,60,0,60,0,185,29,60,0,113,44,60,0,60,0,60,0,1,216,176,223,60,0,116,44,60,0,253,30,60,0,60,0,60,0,252,30,60,0,140,2,60,0,60,0,60,0,69,2,60,0,60,0,60,0,186,29,60,0,119,0,60,0,60,0,60,0,87,255,60,0,60,0,60,0,191,26,61,0,241,29,60,0,60,0,60,0,53,216,48,220,61,0,53,216,100,220,61,0,53,216,152,220,61,0,53,216,204,220,61,0,53,216,0,221,61,0,53,216,52,221,61,0,53,216,104,221,61,0,53,216,156,221,61,0,53,216,208,221,61,0,53,216,4,222,61,0,53,216,56,222,61,0,53,216,108,222,61,0,53,216,160,222,60,0,60,0,60,0,230,36,60,0,60,0,60,0,87,0,60,0,60,0,60,0,55,255,60,0,60,0,60,0,53,216,22,220,61,0,53,216,74,220,61,0,53,216,126,220,61,0,53,216,178,220,61,0,53,216,230,220,61,0,53,216,26,221,61,0,53,216,78,221,61,0,53,216,130,221,61,0,53,216,182,221,61,0,53,216,234,221,61,0,53,216,30,222,61,0,53,216,82,222,61,0,53,216,134,222,60,0,60,0,60,0,204,36,61,0,60,216,102,221,60,0,60,0,60,0,60,216,46,221,47,0,90,0,60,0,60,0,60,0,183,2,60,0,60,0,60,0,66,29,61,0,60,216,70,221,61,0,60,216,134,221,60,0,60,0,60,0,221,51,47,0,98,0,60,0,60,0,60,0,60,216,79,221,47,0,67,0,61,0,60,216,143,221,47,0,67,0,60,0,60,0,195,167,60,0,60,0,60,0,194,167,60,0,33,29,60,0,115,44,60,0,60,0,60,0,114,44,60,0,141,2,60,0,60,0,60,0,192,26,60,0,60,0,60,0,105,171,60,0,120,0,60,0,60,0,60,0,88,255,60,0,60,0,60,0,111,3,61,0,121,33,60,0,60,0,60,0,122,33,47,0,105,0,60,0,60,0,60,0,123,33,47,0,105,0,105,0,60,0,60,0,60,0,53,216,49,220,61,0,53,216,101,220,61,0,53,216,153,220,61,0,53,216,205,220,61,0,53,216,1,221,61,0,53,216,53,221,61,0,53,216,105,221,61,0,53,216,157,221,61,0,53,216,209,221,61,0,53,216,5,222,61,0,53,216,57,222,61,0,53,216,109,222,61,0,53,216,161,222,60,0,60,0,60,0,231,36,60,0,60,0,60,0,88,0,60,0,60,0,60,0,56,255,60,0,60,0,60,0,105,33,60,0,60,0,60,0,106,33,47,0,73,0,60,0,60,0,60,0,107,33,47,0,73,0,73,0,60,0,60,0,60,0,53,216,23,220,61,0,53,216,75,220,61,0,53,216,127,220,61,0,53,216,179,220,61,0,53,216,231,220,61,0,53,216,27,221,61,0,53,216,79,221,61,0,53,216,131,221,61,0,53,216,183,221,61,0,53,216,235,221,61,0,53,216,31,222,61,0,53,216,83,222,61,0,53,216,135,222,60,0,60,0,60,0,205,36,61,0,60,216,103,221,60,0,60,0,60,0,227,2,60,0,60,0,60,0,147,32,60,0,60,0,60,0,60,216,71,221,61,0,60,216,135,221,60,0,141,29,60,0,86,171,60,0,87,171,60,0,88,171,60,0,89,171,60,0,83,171,60,0,60,0,60,0,179,167,60,0,84,171,60,0,85,171,60,0,121,0,60,0,60,0,60,0,89,255,60,0,60,0,60,0,53,216,50,220,61,0,53,216,102,220,61,0,53,216,154,220,61,0,53,216,206,220,61,0,53,216,2,221,61,0,53,216,54,221,61,0,53,216,106,221,61,0,53,216,158,221,61,0,53,216,210,221,61,0,53,216,6,222,61,0,53,216,58,222,61,0,53,216,110,222,61,0,53,216,162,222,60,0,60,0,60,0,232,36,60,0,60,0,60,0,89,0,60,0,60,0,60,0,57,255,60,0,60,0,60,0,53,216,24,220,61,0,53,216,76,220,61,0,53,216,128,220,61,0,53,216,180,220,61,0,53,216,232,220,61,0,53,216,28,221,61,0,53,216,80,221,61,0,53,216,132,221,61,0,53,216,184,221,61,0,53,216,236,221,61,0,53,216,32,222,61,0,53,216,84,222,61,0,53,216,136,222,60,0,60,0,60,0,206,36,61,0,60,216,104,221,60,0,60,0,60,0,184,2,60,0,60,0,60,0,60,216,72,221,61,0,60,216,136,221,60,0,143,2,60,0,60,0,60,0,1,216,178,223,60,0,79,2,60,0,60,0,60,0,78,2,60,0,180,1,60,0,60,0,60,0,179,1,60,0,255,30,60,0,60,0,60,0,254,30,60,0,90,171,60,0,29,2,60,0,60,0,60,0,28,2,60,0,122,0,60,0,60,0,60,0,90,255,60,0,60,0,60,0,230,29,60,0,60,0,60,0,141,1,47,0,119,0,60,0,60,0,60,0,53,216,51,220,61,0,53,216,103,220,61,0,53,216,155,220,61,0,53,216,207,220,61,0,53,216,3,221,61,0,53,216,55,221,61,0,53,216,107,221,61,0,53,216,159,221,61,0,53,216,211,221,61,0,53,216,7,222,61,0,53,216,59,222,61,0,53,216,111,222,61,0,53,216,163,222,60,0,60,0,60,0,233,36,60,0,60,0,60,0,90,0,60,0,60,0,60,0,58,255,60,0,60,0,60,0,36,33,61,0,40,33,61,0,53,216,25,220,61,0,53,216,77,220,61,0,53,216,129,220,61,0,53,216,181,220,61,0,53,216,233,220,61,0,53,216,133,221,61,0,53,216,185,221,61,0,53,216,237,221,61,0,53,216,33,222,61,0,53,216,85,222,61,0,53,216,137,222,60,0,60,0,60,0,207,36,61,0,60,216,105,221,60,0,60,0,60,0,187,29,60,0,60,0,60,0,60,216,73,221,61,0,60,216,137,221,60,0,34,29,60,0,182,1,60,0,60,0,60,0,181,1,60,0,118,29,60,0,142,29,60,0,60,0,60,0,198,167,60,0,37,2,60,0,60,0,60,0,36,2,60,0,144,2,60,0,60,0,60,0,188,29,60,0,145,2,60,0,60,0,60,0,189,29,60,0,64,2,60,0,60,0,60,0,127,44,60,0,108,44,60,0,60,0,60,0,107,44,60,0,99,167,60,0,60,0,60,0,98,167,60,0,146,2,60,0,60,0,60,0,183,1,60,0,60,0,60,0,190,29,60,0,35,29,60,0,185,1,60,0,60,0,60,0,184,1,60,0,55,216,24,223,60,0,154,29,60,0,186,1,60,0,147,2,60,0,254,0,60,0,60,0,60,0,222,0,60,0,211,167,60,0,101,167,60,0,60,0,60,0,100,167,60,0,103,167,60,0,60,0,60,0,102,167,60,0,191,1,60,0,60,0,60,0,247,1,60,0,213,167,60,0,105,167,60,0,60,0,60,0,104,167,60,0,96,171,60,0,97,171,60,0,99,171,60,0,107,167,60,0,60,0,60,0,106,167,60,0,109,167,60,0,60,0,60,0,108,167,60,0,111,167,60,0,60,0,60,0,210,29,60,0,60,0,60,0,110,167,60,0,60,0,60,0,112,167,60,0,120,167,60,0,187,1,60,0,43,167,60,0,60,0,60,0,42,167,60,0,45,167,60,0,60,0,60,0,44,167,60,0,47,167,60,0,60,0,60,0,46,167,60,0,168,1,60,0,60,0,60,0,167,1,60,0,189,1,60,0,60,0,60,0,188,1,60,0,133,1,60,0,60,0,60,0,132,1,60,0,148,2,60,0,66,2,60,0,60,0,60,0,65,2,60,0,192,2,60,0,188,2,60,0,60,0,60,0,73,1,47,0,110,0,60,0,238,2,60,0,190,2,60,0,35,167,60,0,60,0,60,0,34,167,60,0,140,167,60,0,60,0,60,0,139,167,60,0,143,167,60,0,149,2,60,0,60,0,60,0,228,2,60,0,191,2,60,0,193,2,60,0,36,29,60,0,37,29,60,0,60,0,60,0,92,29,60,0,37,167,60,0,60,0,60,0,36,167,60,0,161,2,60,0,60,0,60,0,1,216,179,223,60,0,162,2,60,0,60,0,60,0,1,216,180,223,60,0,150,2,60,0,55,216,14,223,60,0,192,1,60,0,60,0,60,0,1,216,182,223,60,0,193,1,60,0,60,0,60,0,1,216,183,223,60,0,194,1,60,0,60,0,60,0,1,216,184,223,60,0,195,1,60,0,55,216,10,223,60,0,60,0,60,0,1,216,185,223,60,0,151,2,60,0,55,216,15,223,60,0,152,2,60,0,60,0,60,0,1,216,181,223,60,0,172,2,60,0,173,2,60,0,177,3,60,0,60,0,60,0,53,216,194,222,61,0,53,216,252,222,61,0,53,216,54,223,61,0,53,216,112,223,61,0,53,216,170,223,60,0,60,0,60,0,145,3,60,0,60,0,60,0,53,216,168,222,61,0,53,216,226,222,61,0,53,216,28,223,61,0,53,216,86,223,61,0,53,216,144,223,60,0,178,3,60,0,60,0,60,0,208,3,60,0,60,0,60,0,53,216,195,222,61,0,53,216,253,222,61,0,53,216,55,223,61,0,53,216,113,223,61,0,53,216,171,223,60,0,60,0,60,0,146,3,60,0,60,0,60,0,53,216,169,222,61,0,53,216,227,222,61,0,53,216,29,223,61,0,53,216,87,223,61,0,53,216,145,223,60,0,60,0,60,0,93,29,60,0,60,0,60,0,102,29,60,0,179,3,60,0,60,0,60,0,61,33,61,0,53,216,196,222,61,0,53,216,254,222,61,0,53,216,56,223,61,0,53,216,114,223,61,0,53,216,172,223,60,0,60,0,60,0,147,3,60,0,60,0,60,0,62,33,61,0,53,216,170,222,61,0,53,216,228,222,61,0,53,216,30,223,61,0,53,216,88,223,61,0,53,216,146,223,60,0,60,0,60,0,94,29,60,0,60,0,60,0,103,29,60,0,38,29,60,0,180,3,60,0,60,0,60,0,53,216,197,222,61,0,53,216,255,222,61,0,53,216,57,223,61,0,53,216,115,223,61,0,53,216,173,223,60,0,60,0,60,0,148,3,60,0,60,0,60,0,53,216,171,222,61,0,53,216,229,222,61,0,53,216,31,223,61,0,53,216,89,223,61,0,53,216,147,223,60,0,60,0,60,0,95,29,60,0,181,3,60,0,60,0,60,0,245,3,60,0,60,0,60,0,53,216,198,222,61,0,53,216,220,222,61,0,53,216,0,223,61,0,53,216,22,223,61,0,53,216,58,223,61,0,53,216,80,223,61,0,53,216,116,223,61,0,53,216,138,223,61,0,53,216,174,223,61,0,53,216,196,223,60,0,60,0,60,0,149,3,60,0,60,0,60,0,53,216,172,222,61,0,53,216,230,222,61,0,53,216,32,223,61,0,53,216,90,223,61,0,53,216,148,223,60,0,221,3,60,0,60,0,60,0,53,216,203,223,60,0,60,0,60,0,220,3,60,0,60,0,60,0,53,216,202,223,60,0,119,3,60,0,60,0,60,0,118,3,60,0,219,3,60,0,60,0,60,0,218,3,60,0,182,3,60,0,60,0,60,0,53,216,199,222,61,0,53,216,1,223,61,0,53,216,59,223,61,0,53,216,117,223,61,0,53,216,175,223,60,0,60,0,60,0,150,3,60,0,60,0,60,0,53,216,173,222,61,0,53,216,231,222,61,0,53,216,33,223,61,0,53,216,91,223,61,0,53,216,149,223,60,0,113,3,60,0,60,0,60,0,112,3,60,0,183,3,60,0,60,0,60,0,53,216,200,222,61,0,53,216,2,223,61,0,53,216,60,223,61,0,53,216,118,223,61,0,53,216,176,223,60,0,60,0,60,0,151,3,60,0,60,0,60,0,53,216,174,222,61,0,53,216,232,222,61,0,53,216,34,223,61,0,53,216,92,223,61,0,53,216,150,223,60,0,184,3,60,0,60,0,60,0,209,3,60,0,60,0,60,0,53,216,201,222,61,0,53,216,221,222,61,0,53,216,3,223,61,0,53,216,23,223,61,0,53,216,61,223,61,0,53,216,81,223,61,0,53,216,119,223,61,0,53,216,139,223,61,0,53,216,177,223,61,0,53,216,197,223,60,0,60,0,60,0,152,3,60,0,60,0,60,0,244,3,60,0,60,0,60,0,53,216,175,222,61,0,53,216,185,222,61,0,53,216,233,222,61,0,53,216,243,222,61,0,53,216,35,223,61,0,53,216,45,223,61,0,53,216,93,223,61,0,53,216,103,223,61,0,53,216,151,223,61,0,53,216,161,223,60,0,60,0,60,0,191,29,60,0,185,3,60,0,60,0,60,0,122,3,60,0,60,0,60,0,53,216,202,222,61,0,53,216,4,223,61,0,53,216,62,223,61,0,53,216,120,223,61,0,53,216,178,223,60,0,60,0,60,0,153,3,60,0,60,0,60,0,53,216,176,222,61,0,53,216,234,222,61,0,53,216,36,223,61,0,53,216,94,223,61,0,53,216,152,223,60,0,243,3,60,0,60,0,60,0,127,3,60,0,186,3,60,0,60,0,60,0,240,3,60,0,60,0,60,0,215,3,47,0,177,3,185,3,60,0,60,0,60,0,53,216,203,222,61,0,53,216,222,222,61,0,53,216,5,223,61,0,53,216,24,223,61,0,53,216,63,223,61,0,53,216,82,223,61,0,53,216,121,223,61,0,53,216,140,223,61,0,53,216,179,223,61,0,53,216,198,223,60,0,60,0,60,0,154,3,60,0,60,0,60,0,207,3,47,0,177,3,185,3,60,0,60,0,60,0,53,216,177,222,61,0,53,216,235,222,61,0,53,216,37,223,61,0,53,216,95,223,61,0,53,216,153,223,60,0,187,3,60,0,60,0,60,0,53,216,204,222,61,0,53,216,6,223,61,0,53,216,64,223,61,0,53,216,122,223,61,0,53,216,180,223,60,0,60,0,60,0,155,3,60,0,60,0,60,0,53,216,178,222,61,0,53,216,236,222,61,0,53,216,38,223,61,0,53,216,96,223,61,0,53,216,154,223,60,0,39,29,60,0,188,3,60,0,60,0,60,0,181,0,60,0,60,0,60,0,53,216,205,222,61,0,53,216,7,223,61,0,53,216,65,223,61,0,53,216,123,223,61,0,53,216,181,223,60,0,60,0,60,0,156,3,60,0,60,0,60,0,53,216,179,222,61,0,53,216,237,222,61,0,53,216,39,223,61,0,53,216,97,223,61,0,53,216,155,223,60,0,60,0,60,0,130,51,47,0,65,0,60,0,60,0,60,0,140,51,47,0,70,0,60,0,60,0,60,0,141,51,47,0,103,0,60,0,60,0,60,0,149,51,47,0,108,0,60,0,60,0,60,0,155,51,47,0,109,0,60,0,60,0,60,0,178,51,47,0,115,0,60,0,60,0,60,0,182,51,47,0,86,0,60,0,60,0,60,0,188,51,47,0,87,0,60,0,189,3,60,0,60,0,60,0,53,216,206,222,61,0,53,216,8,223,61,0,53,216,66,223,61,0,53,216,124,223,61,0,53,216,182,223,60,0,60,0,60,0,157,3,60,0,60,0,60,0,53,216,180,222,61,0,53,216,238,222,61,0,53,216,40,223,61,0,53,216,98,223,61,0,53,216,156,223,60,0,190,3,60,0,60,0,60,0,53,216,207,222,61,0,53,216,9,223,61,0,53,216,67,223,61,0,53,216,125,223,61,0,53,216,183,223,60,0,60,0,60,0,158,3,60,0,60,0,60,0,53,216,181,222,61,0,53,216,239,222,61,0,53,216,41,223,61,0,53,216,99,223,61,0,53,216,157,223,60,0,191,3,60,0,60,0,60,0,53,216,208,222,61,0,53,216,10,223,61,0,53,216,68,223,61,0,53,216,126,223,61,0,53,216,184,223,60,0,60,0,60,0,159,3,60,0,60,0,60,0,53,216,182,222,61,0,53,216,240,222,61,0,53,216,42,223,61,0,53,216,100,223,61,0,53,216,158,223,60,0,192,3,60,0,60,0,60,0,214,3,60,0,60,0,60,0,60,33,61,0,53,216,209,222,61,0,53,216,225,222,61,0,53,216,11,223,61,0,53,216,27,223,61,0,53,216,69,223,61,0,53,216,85,223,61,0,53,216,127,223,61,0,53,216,143,223,61,0,53,216,185,223,61,0,53,216,201,223,60,0,60,0,60,0,160,3,60,0,60,0,60,0,63,33,61,0,53,216,183,222,61,0,53,216,241,222,61,0,53,216,43,223,61,0,53,216,101,223,61,0,53,216,159,223,60,0,40,29,60,0,251,3,60,0,60,0,60,0,250,3,60,0,223,3,60,0,60,0,60,0,222,3,60,0,217,3,60,0,60,0,60,0,216,3,60,0,193,3,60,0,60,0,60,0,241,3,60,0,60,0,60,0,53,216,210,222,61,0,53,216,224,222,61,0,53,216,12,223,61,0,53,216,26,223,61,0,53,216,70,223,61,0,53,216,84,223,61,0,53,216,128,223,61,0,53,216,142,223,61,0,53,216,186,223,61,0,53,216,200,223,60,0,60,0,60,0,161,3,60,0,60,0,60,0,53,216,184,222,61,0,53,216,242,222,61,0,53,216,44,223,61,0,53,216,102,223,61,0,53,216,160,223,60,0,60,0,60,0,104,29,60,0,41,29,60,0,252,3,60,0,195,3,60,0,60,0,60,0,242,3,60,0,60,0,60,0,53,216,211,222,61,0,53,216,212,222,61,0,53,216,13,223,61,0,53,216,14,223,61,0,53,216,71,223,61,0,53,216,72,223,61,0,53,216,129,223,61,0,53,216,130,223,61,0,53,216,187,223,61,0,53,216,188,223,60,0,60,0,60,0,163,3,60,0,60,0,60,0,249,3,60,0,60,0,60,0,53,216,186,222,61,0,53,216,244,222,61,0,53,216,46,223,61,0,53,216,104,223,61,0,53,216,162,223,60,0,60,0,60,0,194,3,60,0,124,3,60,0,60,0,60,0,254,3,60,0,123,3,60,0,60,0,60,0,253,3,60,0,125,3,60,0,60,0,60,0,255,3,60,0,196,3,60,0,60,0,60,0,53,216,213,222,61,0,53,216,15,223,61,0,53,216,73,223,61,0,53,216,131,223,61,0,53,216,189,223,60,0,60,0,60,0,164,3,60,0,60,0,60,0,53,216,187,222,61,0,53,216,245,222,61,0,53,216,47,223,61,0,53,216,105,223,61,0,53,216,163,223,60,0,197,3,60,0,60,0,60,0,53,216,214,222,61,0,53,216,16,223,61,0,53,216,74,223,61,0,53,216,132,223,61,0,53,216,190,223,60,0,60,0,60,0,165,3,60,0,60,0,60,0,210,3,60,0,60,0,60,0,53,216,188,222,61,0,53,216,246,222,61,0,53,216,48,223,61,0,53,216,106,223,61,0,53,216,164,223,60,0,198,3,60,0,60,0,60,0,213,3,60,0,60,0,60,0,53,216,215,222,61,0,53,216,223,222,61,0,53,216,17,223,61,0,53,216,25,223,61,0,53,216,75,223,61,0,53,216,83,223,61,0,53,216,133,223,61,0,53,216,141,223,61,0,53,216,191,223,61,0,53,216,199,223,60,0,60,0,60,0,166,3,60,0,60,0,60,0,53,216,189,222,61,0,53,216,247,222,61,0,53,216,49,223,61,0,53,216,107,223,61,0,53,216,165,223,60,0,60,0,60,0,96,29,60,0,60,0,60,0,105,29,60,0,199,3,60,0,60,0,60,0,53,216,216,222,61,0,53,216,18,223,61,0,53,216,76,223,61,0,53,216,134,223,61,0,53,216,192,223,60,0,60,0,60,0,167,3,60,0,60,0,60,0,53,216,190,222,61,0,53,216,248,222,61,0,53,216,50,223,61,0,53,216,108,223,61,0,53,216,166,223,60,0,60,0,60,0,97,29,60,0,60,0,60,0,106,29,60,0,200,3,60,0,60,0,60,0,53,216,217,222,61,0,53,216,19,223,61,0,53,216,77,223,61,0,53,216,135,223,61,0,53,216,193,223,60,0,60,0,60,0,168,3,60,0,60,0,60,0,53,216,191,222,61,0,53,216,249,222,61,0,53,216,51,223,61,0,53,216,109,223,61,0,53,216,167,223,60,0,42,29,60,0,201,3,60,0,60,0,60,0,53,216,218,222,61,0,53,216,20,223,61,0,53,216,78,223,61,0,53,216,136,223,61,0,53,216,194,223,60,0,60,0,60,0,169,3,60,0,60,0,60,0,53,216,192,222,61,0,53,216,250,222,61,0,53,216,52,223,61,0,53,216,110,223,61,0,53,216,168,223,60,0,101,171,60,0,225,3,60,0,60,0,60,0,224,3,60,0,115,3,60,0,60,0,60,0,114,3,60,0,248,3,60,0,60,0,60,0,247,3,60,0,129,44,60,0,60,0,60,0,128,44,60,0,131,44,60,0,60,0,60,0,130,44,60,0,133,44,60,0,60,0,60,0,132,44,60,0,135,44,60,0,60,0,60,0,134,44,60,0,137,44,60,0,60,0,60,0,136,44,60,0,183,44,60,0,60,0,60,0,182,44,60,0,139,44,60,0,60,0,60,0,138,44,60,0,141,44,60,0,60,0,60,0,140,44,60,0,143,44,60,0,60,0,60,0,142,44,60,0,145,44,60,0,60,0,60,0,144,44,60,0,147,44,60,0,60,0,60,0,146,44,60,0,149,44,60,0,60,0,60,0,228,44,47,0,129,44,147,44,60,0,60,0,60,0,148,44,60,0,185,44,60,0,60,0,60,0,184,44,60,0,151,44,60,0,60,0,60,0,150,44,60,0,153,44,60,0,60,0,60,0,152,44,60,0,155,44,60,0,60,0,60,0,154,44,60,0,187,44,60,0,60,0,60,0,186,44,60,0,189,44,60,0,60,0,60,0,188,44,60,0,157,44,60,0,60,0,60,0,156,44,60,0,159,44,60,0,60,0,60,0,158,44,60,0,161,44,60,0,60,0,60,0,160,44,60,0,163,44,60,0,60,0,60,0,162,44,60,0,165,44,60,0,60,0,60,0,164,44,60,0,167,44,60,0,60,0,60,0,166,44,60,0,169,44,60,0,60,0,60,0,168,44,60,0,171,44,60,0,60,0,60,0,170,44,60,0,173,44,60,0,60,0,60,0,172,44,60,0,175,44,60,0,60,0,60,0,174,44,60,0,177,44,60,0,60,0,60,0,176,44,60,0,191,44,60,0,60,0,60,0,190,44,60,0,193,44,60,0,60,0,60,0,192,44,60,0,227,3,60,0,60,0,60,0,226,3,60,0,236,44,60,0,60,0,60,0,235,44,60,0,195,44,60,0,60,0,60,0,194,44,60,0,197,44,60,0,60,0,60,0,196,44,60,0,199,44,60,0,60,0,60,0,198,44,60,0,229,3,60,0,60,0,60,0,228,3,60,0,231,3,60,0,60,0,60,0,230,3,60,0,243,44,60,0,60,0,60,0,242,44,60,0,201,44,60,0,60,0,60,0,200,44,60,0,233,3,60,0,60,0,60,0,232,3,60,0,203,44,60,0,60,0,60,0,202,44,60,0,205,44,60,0,60,0,60,0,204,44,60,0,207,44,60,0,60,0,60,0,206,44,60,0,209,44,60,0,60,0,60,0,208,44,60,0,211,44,60,0,60,0,60,0,210,44,60,0,213,44,60,0,60,0,60,0,212,44,60,0,235,3,60,0,60,0,60,0,234,3,60,0,238,44,60,0,60,0,60,0,237,44,60,0,215,44,60,0,60,0,60,0,214,44,60,0,237,3,60,0,60,0,60,0,236,3,60,0,217,44,60,0,60,0,60,0,216,44,60,0,219,44,60,0,60,0,60,0,218,44,60,0,221,44,60,0,60,0,60,0,220,44,60,0,239,3,60,0,60,0,60,0,238,3,60,0,179,44,60,0,60,0,60,0,178,44,60,0,181,44,60,0,60,0,60,0,180,44,60,0,223,44,60,0,60,0,60,0,222,44,60,0,225,44,60,0,60,0,60,0,224,44,60,0,227,44,60,0,60,0,60,0,226,44,60,0,48,4,60,0,60,0,60,0,246,45,60,0,60,0,60,0,16,4,60,0,60,0,60,0,56,216,48,220,60,0,60,0,60,0,56,216,81,220,60,0,217,4,60,0,60,0,60,0,216,4,60,0,60,0,60,0,56,216,75,220,60,0,213,4,60,0,60,0,60,0,212,4,60,0,49,4,60,0,60,0,60,0,224,45,60,0,60,0,60,0,17,4,60,0,60,0,60,0,56,216,49,220,60,0,60,0,60,0,56,216,82,220,60,0,50,4,60,0,60,0,60,0,128,28,61,0,225,45,60,0,60,0,60,0,18,4,60,0,60,0,60,0,56,216,50,220,60,0,60,0,60,0,56,216,83,220,60,0,51,4,60,0,60,0,60,0,226,45,60,0,60,0,60,0,19,4,60,0,60,0,60,0,56,216,51,220,60,0,60,0,60,0,56,216,84,220,60,0,60,0,56,216,103,220,60,0,60,0,60,0,145,4,60,0,60,0,60,0,144,4,60,0,147,4,60,0,60,0,60,0,146,4,60,0,251,4,60,0,60,0,60,0,250,4,60,0,149,4,60,0,60,0,60,0,148,4,60,0,247,4,60,0,60,0,60,0,246,4,60,0,52,4,60,0,60,0,60,0,129,28,61,0,227,45,60,0,60,0,60,0,20,4,60,0,60,0,60,0,56,216,52,220,60,0,60,0,60,0,56,216,85,220,60,0,1,5,60,0,60,0,60,0,0,5,60,0,129,166,60,0,60,0,60,0,128,166,60,0,82,4,60,0,60,0,60,0,2,4,60,0,99,166,60,0,60,0,60,0,98,166,60,0,3,5,60,0,60,0,60,0,2,5,60,0,153,4,60,0,60,0,60,0,152,4,60,0,53,4,60,0,60,0,60,0,247,45,60,0,60,0,60,0,21,4,60,0,60,0,60,0,56,216,53,220,60,0,60,0,60,0,56,216,86,220,60,0,84,4,60,0,60,0,60,0,116,166,60,0,60,0,60,0,4,4,60,0,54,4,60,0,60,0,60,0,228,45,60,0,60,0,60,0,22,4,60,0,60,0,60,0,56,216,54,220,60,0,60,0,60,0,56,216,87,220,60,0,43,5,60,0,60,0,60,0,42,5,60,0,133,166,60,0,60,0,60,0,132,166,60,0,151,4,60,0,60,0,60,0,150,4,60,0,55,4,60,0,60,0,60,0,229,45,60,0,60,0,60,0,23,4,60,0,60,0,60,0,56,216,55,220,60,0,60,0,60,0,56,216,88,220,60,0,65,166,60,0,60,0,60,0,64,166,60,0,5,5,60,0,60,0,60,0,4,5,60,0,17,5,60,0,60,0,60,0,16,5,60,0,67,166,60,0,60,0,60,0,66,166,60,0,85,4,60,0,60,0,60,0,5,4,60,0,60,0,60,0,56,216,105,220,60,0,69,166,60,0,60,0,60,0,68,166,60,0,225,4,60,0,60,0,60,0,224,4,60,0,137,166,60,0,60,0,60,0,136,166,60,0,60,0,60,0,56,216,74,220,60,0,7,5,60,0,60,0,60,0,6,5,60,0,131,166,60,0,60,0,60,0,130,166,60,0,56,4,60,0,60,0,60,0,117,166,60,0,60,0,60,0,24,4,60,0,60,0,60,0,56,216,56,220,60,0,60,0,60,0,56,216,89,220,60,0,139,4,60,0,60,0,60,0,138,4,60,0,86,4,60,0,60,0,60,0,56,216,143,220,60,0,60,0,60,0,118,166,47,0,8,3,60,0,60,0,60,0,6,4,60,0,60,0,60,0,56,216,76,220,60,0,60,0,60,0,56,216,104,220,60,0,71,166,60,0,60,0,60,0,70,166,60,0,57,4,60,0,60,0,60,0,25,4,60,0,88,4,60,0,60,0,60,0,8,4,60,0,60,0,60,0,56,216,77,220,60,0,73,166,60,0,60,0,60,0,248,45,60,0,60,0,60,0,72,166,60,0,58,4,60,0,60,0,60,0,230,45,60,0,60,0,60,0,26,4,60,0,60,0,60,0,56,216,57,220,60,0,60,0,60,0,56,216,90,220,60,0,155,4,60,0,60,0,60,0,154,4,60,0,196,4,60,0,60,0,60,0,195,4,60,0,161,4,60,0,60,0,60,0,160,4,60,0,159,4,60,0,60,0,60,0,158,4,60,0,157,4,60,0,60,0,60,0,156,4,60,0,31,5,60,0,60,0,60,0,30,5,60,0,27,5,60,0,60,0,60,0,26,5,60,0,59,4,60,0,60,0,60,0,231,45,60,0,60,0,60,0,27,4,60,0,60,0,60,0,56,216,58,220,60,0,60,0,60,0,56,216,91,220,60,0,43,29,60,0,198,4,60,0,60,0,60,0,197,4,60,0,47,5,60,0,60,0,60,0,46,5,60,0,19,5,60,0,60,0,60,0,18,5,60,0,33,5,60,0,60,0,60,0,32,5,60,0,89,4,60,0,60,0,60,0,9,4,60,0,101,166,60,0,60,0,60,0,100,166,60,0,9,5,60,0,60,0,60,0,8,5,60,0,21,5,60,0,60,0,60,0,20,5,60,0,60,4,60,0,60,0,60,0,232,45,60,0,60,0,60,0,28,4,60,0,60,0,60,0,56,216,59,220,60,0,206,4,60,0,60,0,60,0,205,4,60,0,103,166,60,0,60,0,60,0,102,166,60,0,61,4,60,0,60,0,60,0,233,45,60,0,60,0,60,0,29,4,60,0,60,0,60,0,120,29,60,0,41,5,60,0,60,0,60,0,40,5,60,0,202,4,60,0,60,0,60,0,201,4,60,0,163,4,60,0,60,0,60,0,162,4,60,0,200,4,60,0,60,0,60,0,199,4,60,0,35,5,60,0,60,0,60,0,34,5,60,0,165,4,60,0,60,0,60,0,164,4,60,0,90,4,60,0,60,0,60,0,10,4,60,0,11,5,60,0,60,0,60,0,10,5,60,0,62,4,60,0,60,0,60,0,130,28,61,0,234,45,61,0,105,166,61,0,107,166,61,0,109,166,61,0,110,166,61,0,153,166,61,0,155,166,60,0,60,0,60,0,30,4,60,0,60,0,60,0,104,166,61,0,106,166,61,0,108,166,61,0,152,166,61,0,154,166,60,0,60,0,60,0,56,216,60,220,60,0,60,0,60,0,56,216,92,220,60,0,233,4,60,0,60,0,60,0,232,4,60,0,60,0,60,0,56,216,78,220,60,0,63,4,60,0,60,0,60,0,235,45,60,0,60,0,60,0,31,4,60,0,60,0,60,0,56,216,61,220,60,0,60,0,60,0,56,216,93,220,60,0,37,5,60,0,60,0,60,0,36,5,60,0,167,4,60,0,60,0,60,0,166,4,60,0,129,4,60,0,60,0,60,0,128,4,60,0,64,4,60,0,60,0,60,0,236,45,60,0,60,0,60,0,32,4,60,0,60,0,60,0,56,216,62,220,60,0,143,4,60,0,60,0,60,0,142,4,60,0,23,5,60,0,60,0,60,0,22,5,60,0,65,4,60,0,60,0,60,0,131,28,61,0,237,45,60,0,60,0,60,0,245,45,47,0,66,4,60,0,60,0,60,0,33,4,60,0,60,0,60,0,56,216,63,220,60,0,60,0,60,0,56,216,94,220,60,0,13,5,60,0,60,0,60,0,12,5,60,0,171,4,60,0,60,0,60,0,170,4,60,0,60,0,60,0,56,216,107,220,60,0,66,4,60,0,60,0,60,0,132,28,61,0,133,28,61,0,238,45,60,0,60,0,60,0,34,4,60,0,60,0,60,0,56,216,64,220,60,0,141,166,60,0,60,0,60,0,140,166,60,0,15,5,60,0,60,0,60,0,14,5,60,0,173,4,60,0,60,0,60,0,172,4,60,0,139,166,60,0,60,0,60,0,138,166,60,0,91,4,60,0,60,0,60,0,11,4,60,0,67,4,60,0,60,0,60,0,119,166,60,0,60,0,60,0,35,4,60,0,60,0,60,0,56,216,65,220,60,0,60,0,60,0,56,216,95,220,60,0,175,4,60,0,60,0,60,0,174,4,60,0,60,0,60,0,56,216,79,220,60,0,177,4,60,0,60,0,60,0,176,4,60,0,60,0,60,0,56,216,109,220,60,0,75,166,60,0,60,0,60,0,136,28,61,0,249,45,60,0,60,0,60,0,74,166,60,0,121,4,60,0,60,0,60,0,120,4,60,0,68,4,60,0,60,0,60,0,158,166,60,0,60,0,60,0,36,4,60,0,60,0,60,0,56,216,66,220,60,0,60,0,60,0,56,216,96,220,60,0,69,4,60,0,60,0,60,0,239,45,60,0,60,0,60,0,37,4,60,0,60,0,60,0,56,216,67,220,60,0,60,0,60,0,56,216,97,220,60,0,253,4,60,0,60,0,60,0,252,4,60,0,255,4,60,0,60,0,60,0,254,4,60,0,179,4,60,0,60,0,60,0,178,4,60,0,187,4,60,0,60,0,60,0,186,4,60,0,39,5,60,0,60,0,60,0,38,5,60,0,149,166,60,0,60,0,60,0,148,166,60,0,97,4,60,0,60,0,60,0,123,166,60,0,60,0,60,0,96,4,60,0,127,4,60,0,60,0,60,0,126,4,60,0,77,166,60,0,60,0,60,0,76,166,60,0,125,4,60,0,60,0,60,0,124,4,60,0,123,4,60,0,60,0,60,0,122,4,60,0,70,4,60,0,60,0,60,0,240,45,60,0,60,0,60,0,38,4,60,0,60,0,60,0,56,216,68,220,60,0,60,0,60,0,56,216,98,220,60,0,97,166,60,0,60,0,60,0,96,166,60,0,143,166,60,0,60,0,60,0,142,166,60,0,181,4,60,0,60,0,60,0,180,4,60,0,145,166,60,0,60,0,60,0,144,166,60,0,71,4,60,0,60,0,60,0,241,45,60,0,60,0,60,0,39,4,60,0,60,0,60,0,56,216,69,220,60,0,60,0,60,0,56,216,99,220,60,0,45,5,60,0,60,0,60,0,44,5,60,0,147,166,60,0,60,0,60,0,146,166,60,0,183,4,60,0,60,0,60,0,182,4,60,0,204,4,60,0,60,0,60,0,203,4,60,0,185,4,60,0,60,0,60,0,184,4,60,0,135,166,60,0,60,0,60,0,134,166,60,0,189,4,60,0,60,0,60,0,188,4,60,0,191,4,60,0,60,0,60,0,190,4,60,0,95,4,60,0,60,0,60,0,15,4,60,0,60,0,60,0,56,216,106,220,60,0,72,4,60,0,60,0,60,0,242,45,60,0,60,0,60,0,40,4,60,0,60,0,60,0,56,216,70,220,60,0,60,0,60,0,56,216,100,220,60,0,151,166,60,0,60,0,60,0,150,166,60,0,73,4,60,0,60,0,60,0,243,45,60,0,60,0,60,0,41,4,60,0,79,166,60,0,60,0,60,0,78,166,60,0,47,46,60,0,127,166,60,0,74,4,60,0,60,0,60,0,134,28,61,0,120,166,60,0,60,0,60,0,42,4,60,0,60,0,60,0,156,166,60,0,60,0,60,0,56,216,101,220,60,0,81,166,60,0,60,0,60,0,80,166,60,0,60,0,60,0,56,216,108,220,60,0,75,4,60,0,60,0,60,0,121,166,60,0,60,0,60,0,43,4,60,0,60,0,60,0,56,216,71,220,60,0,60,0,60,0,56,216,102,220,60,0,76,4,60,0,60,0,60,0,122,166,60,0,60,0,60,0,44,4,60,0,60,0,60,0,157,166,60,0,141,4,60,0,60,0,60,0,140,4,60,0,99,4,60,0,60,0,60,0,135,28,61,0,250,45,60,0,60,0,60,0,98,4,60,0,83,166,60,0,60,0,60,0,82,166,60,0,77,4,60,0,60,0,60,0,45,4,60,0,60,0,60,0,56,216,72,220,60,0,78,4,60,0,60,0,60,0,251,45,60,0,60,0,60,0,46,4,60,0,60,0,60,0,56,216,73,220,60,0,85,166,60,0,60,0,60,0,84,166,60,0,87,166,60,0,60,0,60,0,252,45,60,0,60,0,60,0,86,166,60,0,79,4,60,0,60,0,60,0,47,4,60,0,25,5,60,0,60,0,60,0,24,5,60,0,101,4,60,0,60,0,60,0,159,166,60,0,60,0,60,0,100,4,60,0,103,4,60,0,60,0,60,0,253,45,60,0,60,0,60,0,102,4,60,0,89,166,60,0,60,0,60,0,88,166,60,0,107,4,60,0,60,0,60,0,254,45,60,0,60,0,60,0,106,4,60,0,91,166,60,0,60,0,60,0,90,166,60,0,105,4,60,0,60,0,60,0,104,4,60,0,93,166,60,0,60,0,60,0,92,166,60,0,109,4,60,0,60,0,60,0,255,45,60,0,60,0,60,0,108,4,60,0,111,4,60,0,60,0,60,0,110,4,60,0,113,4,60,0,60,0,60,0,112,4,60,0,115,4,60,0,60,0,60,0,244,45,60,0,60,0,60,0,114,4,60,0,117,4,60,0,60,0,60,0,116,4,60,0,95,166,60,0,60,0,60,0,94,166,60,0,169,4,60,0,60,0,60,0,168,4,60,0,29,5,60,0,60,0,60,0,28,5,60,0,207,4,60,0,60,0,60,0,192,4,60,0,60,0,60,0,56,216,80,220,60,0,48,44,60,0,60,0,60,0,56,216,0,220,60,0,60,0,60,0,0,44,60,0,49,44,60,0,60,0,60,0,56,216,1,220,60,0,60,0,60,0,1,44,60,0,50,44,60,0,60,0,60,0,56,216,2,220,60,0,60,0,60,0,2,44,60,0,51,44,60,0,60,0,60,0,56,216,3,220,60,0,60,0,60,0,3,44,60,0,52,44,60,0,60,0,60,0,56,216,4,220,60,0,60,0,60,0,4,44,60,0,53,44,60,0,60,0,60,0,56,216,5,220,60,0,60,0,60,0,5,44,60,0,54,44,60,0,60,0,60,0,56,216,6,220,60,0,60,0,60,0,6,44,60,0,55,44,60,0,60,0,60,0,7,44,60,0,56,44,60,0,60,0,60,0,56,216,8,220,60,0,60,0,60,0,8,44,60,0,57,44,60,0,60,0,60,0,56,216,9,220,60,0,60,0,60,0,9,44,60,0,58,44,60,0,60,0,60,0,56,216,10,220,60,0,60,0,60,0,10,44,60,0,59,44,60,0,60,0,60,0,56,216,11,220,60,0,60,0,60,0,11,44,60,0,60,44,60,0,60,0,60,0,56,216,12,220,60,0,60,0,60,0,12,44,60,0,61,44,60,0,60,0,60,0,56,216,13,220,60,0,60,0,60,0,13,44,60,0,62,44,60,0,60,0,60,0,56,216,14,220,60,0,60,0,60,0,14,44,60,0,63,44,60,0,60,0,60,0,56,216,15,220,60,0,60,0,60,0,15,44,60,0,64,44,60,0,60,0,60,0,56,216,16,220,60,0,60,0,60,0,16,44,60,0,65,44,60,0,60,0,60,0,56,216,17,220,60,0,60,0,60,0,17,44,60,0,66,44,60,0,60,0,60,0,56,216,18,220,60,0,60,0,60,0,18,44,60,0,67,44,60,0,60,0,60,0,56,216,19,220,60,0,60,0,60,0,19,44,60,0,68,44,60,0,60,0,60,0,56,216,20,220,60,0,60,0,60,0,20,44,60,0,69,44,60,0,60,0,60,0,56,216,21,220,60,0,60,0,60,0,21,44,60,0,70,44,60,0,60,0,60,0,56,216,22,220,60,0,60,0,60,0,22,44,60,0,71,44,60,0,60,0,60,0,56,216,23,220,60,0,60,0,60,0,23,44,60,0,72,44,60,0,60,0,60,0,56,216,24,220,60,0,60,0,60,0,24,44,60,0,73,44,60,0,60,0,60,0,25,44,60,0,74,44,60,0,60,0,60,0,26,44,60,0,75,44,60,0,60,0,60,0,56,216,27,220,60,0,60,0,60,0,27,44,60,0,76,44,60,0,60,0,60,0,56,216,28,220,60,0,60,0,60,0,28,44,60,0,77,44,60,0,60,0,60,0,56,216,29,220,60,0,60,0,60,0,29,44,60,0,78,44,60,0,60,0,60,0,56,216,30,220,60,0,60,0,60,0,30,44,60,0,79,44,60,0,60,0,60,0,56,216,31,220,60,0,60,0,60,0,31,44,60,0,80,44,60,0,60,0,60,0,56,216,32,220,60,0,60,0,60,0,32,44,60,0,81,44,60,0,60,0,60,0,56,216,33,220,60,0,60,0,60,0,33,44,60,0,82,44,60,0,60,0,60,0,34,44,60,0,83,44,60,0,60,0,60,0,56,216,35,220,60,0,60,0,60,0,35,44,60,0,84,44,60,0,60,0,60,0,56,216,36,220,60,0,60,0,60,0,36,44,60,0,85,44,60,0,60,0,60,0,37,44,60,0,86,44,60,0,60,0,60,0,56,216,38,220,60,0,60,0,60,0,38,44,60,0,87,44,60,0,60,0,60,0,56,216,39,220,60,0,60,0,60,0,39,44,60,0,88,44,60,0,60,0,60,0,56,216,40,220,60,0,60,0,60,0,40,44,60,0,89,44,60,0,60,0,60,0,56,216,41,220,60,0,60,0,60,0,41,44,60,0,90,44,60,0,60,0,60,0,56,216,42,220,60,0,60,0,60,0,42,44,60,0,91,44,60,0,60,0,60,0,43,44,60,0,92,44,60,0,60,0,60,0,44,44,60,0,93,44,60,0,60,0,60,0,45,44,60,0,94,44,60,0,60,0,60,0,46,44,60,0,95,44,60,0,60,0,60,0,47,44,60,0,0,216,80,223,60,0,60,0,60,0,0,216,118,223,60,0,0,216,81,223,60,0,0,216,82,223,60,0,0,216,83,223,60,0,60,0,60,0,0,216,119,223,60,0,0,216,84,223,60,0,0,216,85,223,60,0,0,216,86,223,60,0,0,216,87,223,60,0,60,0,60,0,0,216,120,223,60,0,0,216,88,223,60,0,0,216,89,223,60,0,0,216,90,223,60,0,0,216,91,223,60,0,0,216,92,223,60,0,0,216,93,223,60,0,60,0,60,0,0,216,121,223,60,0,0,216,94,223,60,0,0,216,95,223,60,0,0,216,96,223,60,0,0,216,97,223,60,0,60,0,60,0,0,216,122,223,60,0,0,216,98,223,60,0,0,216,99,223,60,0,0,216,100,223,60,0,0,216,101,223,60,0,0,216,102,223,60,0,0,216,103,223,60,0,0,216,104,223,60,0,0,216,105,223,60,0,0,216,106,223,60,0,0,216,107,223,60,0,0,216,108,223,60,0,0,216,109,223,60,0,0,216,110,223,60,0,0,216,111,223,60,0,0,216,112,223,60,0,0,216,113,223,60,0,0,216,114,223,60,0,0,216,115,223,60,0,0,216,116,223,60,0,0,216,117,223,60,0,208,16,60,0,60,0,60,0,144,28,60,0,0,45,60,0,60,0,60,0,160,16,60,0,209,16,60,0,60,0,60,0,145,28,60,0,1,45,60,0,60,0,60,0,161,16,60,0,210,16,60,0,60,0,60,0,146,28,60,0,2,45,60,0,60,0,60,0,162,16,60,0,211,16,60,0,60,0,60,0,147,28,60,0,3,45,60,0,60,0,60,0,163,16,60,0,212,16,60,0,60,0,60,0,148,28,60,0,4,45,60,0,60,0,60,0,164,16,60,0,213,16,60,0,60,0,60,0,149,28,60,0,5,45,60,0,60,0,60,0,165,16,60,0,214,16,60,0,60,0,60,0,150,28,60,0,6,45,60,0,60,0,60,0,166,16,60,0,241,16,60,0,60,0,60,0,177,28,60,0,33,45,60,0,60,0,60,0,193,16,60,0,215,16,60,0,60,0,60,0,151,28,60,0,7,45,60,0,60,0,60,0,167,16,60,0,216,16,60,0,60,0,60,0,152,28,60,0,8,45,60,0,60,0,60,0,168,16,60,0,217,16,60,0,60,0,60,0,153,28,60,0,9,45,60,0,60,0,60,0,169,16,60,0,218,16,60,0,60,0,60,0,154,28,60,0,10,45,60,0,60,0,60,0,170,16,60,0,219,16,60,0,60,0,60,0,155,28,60,0,11,45,60,0,60,0,60,0,171,16,60,0,220,16,60,0,60,0,60,0,156,28,60,0,60,0,60,0,252,16,60,0,12,45,60,0,60,0,60,0,172,16,60,0,242,16,60,0,60,0,60,0,178,28,60,0,34,45,60,0,60,0,60,0,194,16,60,0,221,16,60,0,60,0,60,0,157,28,60,0,13,45,60,0,60,0,60,0,173,16,60,0,222,16,60,0,60,0,60,0,158,28,60,0,14,45,60,0,60,0,60,0,174,16,60,0,223,16,60,0,60,0,60,0,159,28,60,0,15,45,60,0,60,0,60,0,175,16,60,0,224,16,60,0,60,0,60,0,160,28,60,0,16,45,60,0,60,0,60,0,176,16,60,0,225,16,60,0,60,0,60,0,161,28,60,0,17,45,60,0,60,0,60,0,177,16,60,0,226,16,60,0,60,0,60,0,162,28,60,0,18,45,60,0,60,0,60,0,178,16,60,0,243,16,60,0,60,0,60,0,179,28,60,0,35,45,60,0,60,0,60,0,195,16,60,0,227,16,60,0,60,0,60,0,163,28,60,0,19,45,60,0,60,0,60,0,179,16,60,0,228,16,60,0,60,0,60,0,164,28,60,0,20,45,60,0,60,0,60,0,180,16,60,0,229,16,60,0,60,0,60,0,165,28,60,0,21,45,60,0,60,0,60,0,181,16,60,0,230,16,60,0,60,0,60,0,166,28,60,0,22,45,60,0,60,0,60,0,182,16,60,0,231,16,60,0,60,0,60,0,167,28,60,0,23,45,60,0,60,0,60,0,183,16,60,0,232,16,60,0,60,0,60,0,168,28,60,0,24,45,60,0,60,0,60,0,184,16,60,0,233,16,60,0,60,0,60,0,169,28,60,0,25,45,60,0,60,0,60,0,185,16,60,0,234,16,60,0,60,0,60,0,170,28,60,0,26,45,60,0,60,0,60,0,186,16,60,0,235,16,60,0,60,0,60,0,171,28,60,0,27,45,60,0,60,0,60,0,187,16,60,0,236,16,60,0,60,0,60,0,172,28,60,0,28,45,60,0,60,0,60,0,188,16,60,0,237,16,60,0,60,0,60,0,173,28,60,0,29,45,60,0,60,0,60,0,189,16,60,0,238,16,60,0,60,0,60,0,174,28,60,0,30,45,60,0,60,0,60,0,190,16,60,0,244,16,60,0,60,0,60,0,180,28,60,0,36,45,60,0,60,0,60,0,196,16,60,0,239,16,60,0,60,0,60,0,175,28,60,0,31,45,60,0,60,0,60,0,191,16,60,0,240,16,60,0,60,0,60,0,176,28,60,0,32,45,60,0,60,0,60,0,192,16,60,0,245,16,60,0,60,0,60,0,181,28,60,0,37,45,60,0,60,0,60,0,197,16,60,0,246,16,60,0,60,0,60,0,182,28,60,0,247,16,60,0,60,0,60,0,183,28,60,0,39,45,60,0,60,0,60,0,199,16,60,0,248,16,60,0,60,0,60,0,184,28,60,0,249,16,60,0,60,0,60,0,185,28,60,0,250,16,60,0,60,0,60,0,186,28,60,0,253,16,60,0,60,0,60,0,189,28,60,0,45,45,60,0,60,0,60,0,205,16,60,0,254,16,60,0,60,0,60,0,190,28,60,0,255,16,60,0,60,0,60,0,191,28,60,0,97,5,60,0,60,0,60,0,49,5,60,0,96,5,60,0,98,5,60,0,60,0,60,0,50,5,60,0,99,5,60,0,60,0,60,0,51,5,60,0,100,5,60,0,60,0,60,0,52,5,60,0,101,5,60,0,60,0,60,0,135,5,47,0,130,5,60,0,60,0,60,0,53,5,60,0,102,5,60,0,60,0,60,0,54,5,60,0,103,5,60,0,60,0,60,0,55,5,60,0,104,5,60,0,60,0,60,0,56,5,60,0,105,5,60,0,60,0,60,0,57,5,60,0,106,5,60,0,60,0,60,0,58,5,60,0,107,5,60,0,60,0,60,0,59,5,60,0,108,5,60,0,60,0,60,0,60,5,60,0,109,5,60,0,60,0,60,0,61,5,60,0,110,5,60,0,60,0,60,0,62,5,60,0,111,5,60,0,60,0,60,0,63,5,60,0,112,5,60,0,60,0,60,0,64,5,60,0,113,5,60,0,60,0,60,0,65,5,60,0,114,5,60,0,60,0,60,0,66,5,60,0,115,5,60,0,60,0,60,0,67,5,60,0,116,5,60,0,60,0,60,0,20,251,47,0,101,5,60,0,60,0,60,0,21,251,47,0,107,5,60,0,60,0,60,0,23,251,47,0,109,5,60,0,60,0,60,0,19,251,47,0,118,5,60,0,60,0,60,0,68,5,60,0,117,5,60,0,60,0,60,0,69,5,60,0,136,5,60,0,118,5,60,0,60,0,60,0,70,5,60,0,119,5,60,0,60,0,60,0,71,5,60,0,120,5,60,0,60,0,60,0,72,5,60,0,121,5,60,0,60,0,60,0,73,5,60,0,122,5,60,0,60,0,60,0,74,5,60,0,123,5,60,0,60,0,60,0,75,5,60,0,124,5,60,0,60,0,60,0,76,5,60,0,125,5,60,0,60,0,60,0,77,5,60,0,126,5,60,0,60,0,60,0,22,251,47,0,118,5,60,0,60,0,60,0,78,5,60,0,127,5,60,0,60,0,60,0,79,5,60,0,128,5,60,0,60,0,60,0,80,5,60,0,129,5,60,0,60,0,60,0,81,5,60,0,130,5,60,0,60,0,60,0,82,5,60,0,131,5,60,0,60,0,60,0,83,5,60,0,132,5,60,0,60,0,60,0,84,5,60,0,133,5,60,0,60,0,60,0,85,5,60,0,134,5,60,0,60,0,60,0,86,5,60,0,89,5,60,0,14,32,208,5,14,32,60,0,60,0,60,0,53,33,60,0,60,0,60,0,14,32,79,251,14,32,47,0,14,32,220,5,14,32,60,0,60,0,60,0,14,32,33,251,14,32,60,0,14,32,209,5,14,32,60,0,60,0,60,0,54,33,60,0,14,32,210,5,14,32,60,0,60,0,60,0,55,33,60,0,14,32,211,5,14,32,60,0,60,0,60,0,56,33,60,0,60,0,60,0,14,32,34,251,14,32,60,0,14,32,212,5,14,32,60,0,60,0,60,0,14,32,35,251,14,32,60,0,14,32,213,5,14,32,60,0,60,0,60,0,14,32,240,5,14,32,47,0,14,32,213,5,14,32,60,0,60,0,60,0,14,32,241,5,14,32,47,0,14,32,217,5,14,32,60,0,14,32,214,5,14,32,60,0,14,32,215,5,14,32,60,0,14,32,216,5,14,32,60,0,14,32,217,5,14,32,60,0,60,0,60,0,14,32,239,5,14,32,47,0,14,32,212,5,213,5,212,5,14,32,60,0,60,0,60,0,14,32,242,5,14,32,47,0,14,32,217,5,14,32,60,0,14,32,219,5,14,32,60,0,60,0,60,0,14,32,36,251,14,32,60,0,60,0,60,0,14,32,218,5,14,32,60,0,14,32,220,5,14,32,60,0,60,0,60,0,14,32,37,251,14,32,60,0,14,32,222,5,14,32,60,0,60,0,60,0,14,32,38,251,14,32,60,0,60,0,60,0,14,32,221,5,14,32,60,0,14,32,224,5,14,32,60,0,60,0,60,0,14,32,223,5,14,32,60,0,14,32,225,5,14,32,60,0,14,32,226,5,14,32,60,0,60,0,60,0,14,32,32,251,14,32,60,0,14,32,228,5,14,32,60,0,60,0,60,0,14,32,227,5,14,32,60,0,14,32,230,5,14,32,60,0,60,0,60,0,14,32,229,5,14,32,60,0,14,32,231,5,14,32,60,0,14,32,232,5,14,32,60,0,60,0,60,0,14,32,39,251,14,32,60,0,14,32,233,5,14,32,60,0,14,32,234,5,14,32,60,0,60,0,60,0,14,32,40,251,14,32,60,0,14,32,2,216,0,221,14,32,60,0,14,32,2,216,1,221,14,32,60,0,14,32,2,216,2,221,14,32,60,0,14,32,2,216,3,221,14,32,60,0,14,32,2,216,4,221,14,32,60,0,14,32,2,216,5,221,14,32,60,0,14,32,2,216,6,221,14,32,60,0,14,32,2,216,7,221,14,32,60,0,14,32,2,216,8,221,14,32,60,0,14,32,2,216,9,221,14,32,60,0,14,32,2,216,10,221,14,32,60,0,14,32,2,216,11,221,14,32,60,0,14,32,2,216,12,221,14,32,60,0,14,32,2,216,13,221,14,32,60,0,14,32,2,216,14,221,14,32,60,0,14,32,2,216,15,221,14,32,60,0,14,32,2,216,16,221,14,32,60,0,14,32,2,216,17,221,14,32,60,0,14,32,2,216,18,221,14,32,60,0,14,32,2,216,19,221,14,32,60,0,14,32,2,216,20,221,14,32,60,0,14,32,2,216,21,221,14,32,60,0,14,32,0,8,14,32,60,0,14,32,1,8,14,32,60,0,14,32,2,8,14,32,60,0,14,32,3,8,14,32,60,0,14,32,4,8,14,32,60,0,14,32,5,8,14,32,60,0,14,32,6,8,14,32,60,0,14,32,7,8,14,32,60,0,14,32,8,8,14,32,60,0,14,32,9,8,14,32,60,0,14,32,10,8,14,32,60,0,14,32,11,8,14,32,60,0,14,32,12,8,14,32,60,0,14,32,13,8,14,32,60,0,14,32,14,8,14,32,60,0,14,32,15,8,14,32,60,0,14,32,16,8,14,32,60,0,14,32,17,8,14,32,60,0,14,32,18,8,14,32,60,0,14,32,19,8,14,32,60,0,14,32,20,8,14,32,60,0,14,32,21,8,14,32,60,0,22,8,60,0,23,8,60,0,14,32,26,8,14,32,60,0,27,8,60,0,14,32,33,6,14,32,60,0,60,0,60,0,14,32,116,6,14,32,61,0,14,32,131,8,14,32,61,0,14,32,135,8,14,32,60,0,60,0,60,0,14,32,117,6,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,118,6,14,32,47,0,14,32,72,6,14,32,60,0,60,0,60,0,14,32,119,6,14,32,47,0,14,32,199,6,14,32,60,0,60,0,60,0,14,32,120,6,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,128,254,14,32,60,0,60,0,60,0,14,32,221,251,14,32,47,0,14,32,199,6,14,32,60,0,60,0,14,32,253,6,14,32,60,0,14,32,34,6,14,32,60,0,60,0,60,0,14,32,130,254,14,32,60,0,60,0,60,0,14,32,129,254,14,32,60,0,14,32,35,6,14,32,60,0,60,0,60,0,14,32,132,254,14,32,60,0,60,0,60,0,14,32,131,254,14,32,60,0,14,32,114,6,14,32,60,0,14,32,113,6,14,32,60,0,60,0,60,0,14,32,81,251,14,32,60,0,60,0,60,0,14,32,80,251,14,32,60,0,14,32,36,6,14,32,60,0,60,0,60,0,14,32,134,254,14,32,60,0,60,0,60,0,14,32,133,254,14,32,60,0,14,32,37,6,14,32,60,0,60,0,60,0,14,32,136,254,14,32,60,0,60,0,60,0,14,32,135,254,14,32,60,0,14,32,115,6,14,32,60,0,14,32,115,7,14,32,60,0,14,32,116,7,14,32,60,0,14,32,38,6,14,32,60,0,60,0,60,0,14,32,139,254,14,32,60,0,60,0,60,0,14,32,151,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,152,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,153,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,154,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,155,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,251,251,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,248,251,14,32,47,0,14,32,208,6,14,32,60,0,60,0,60,0,14,32,140,254,14,32,60,0,60,0,60,0,14,32,223,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,224,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,138,254,14,32,60,0,60,0,60,0,14,32,235,251,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,100,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,101,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,102,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,103,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,237,251,14,32,47,0,14,32,213,6,14,32,60,0,60,0,60,0,14,32,239,251,14,32,47,0,14,32,72,6,14,32,60,0,60,0,60,0,14,32,243,251,14,32,47,0,14,32,198,6,14,32,60,0,60,0,60,0,14,32,241,251,14,32,47,0,14,32,199,6,14,32,60,0,60,0,60,0,14,32,245,251,14,32,47,0,14,32,200,6,14,32,60,0,60,0,60,0,14,32,250,251,14,32,47,0,14,32,73,6,14,32,61,0,14,32,104,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,105,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,247,251,14,32,47,0,14,32,208,6,14,32,60,0,60,0,60,0,14,32,137,254,14,32,60,0,60,0,60,0,14,32,234,251,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,0,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,1,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,2,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,236,251,14,32,47,0,14,32,213,6,14,32,60,0,60,0,60,0,14,32,238,251,14,32,47,0,14,32,72,6,14,32,60,0,60,0,60,0,14,32,242,251,14,32,47,0,14,32,198,6,14,32,60,0,60,0,60,0,14,32,240,251,14,32,47,0,14,32,199,6,14,32,60,0,60,0,60,0,14,32,244,251,14,32,47,0,14,32,200,6,14,32,60,0,60,0,60,0,14,32,249,251,14,32,47,0,14,32,73,6,14,32,61,0,14,32,3,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,4,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,246,251,14,32,47,0,14,32,208,6,14,32,60,0,14,32,168,8,14,32,60,0,14,32,169,8,14,32,60,0,14,32,172,8,14,32,60,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,112,8,14,32,61,0,14,32,113,8,14,32,61,0,14,32,114,8,14,32,61,0,14,32,115,8,14,32,61,0,14,32,116,8,14,32,61,0,14,32,117,8,14,32,61,0,14,32,118,8,14,32,61,0,14,32,119,8,14,32,61,0,14,32,120,8,14,32,61,0,14,32,121,8,14,32,61,0,14,32,122,8,14,32,61,0,14,32,123,8,14,32,61,0,14,32,124,8,14,32,61,0,14,32,125,8,14,32,61,0,14,32,126,8,14,32,61,0,14,32,127,8,14,32,61,0,14,32,128,8,14,32,61,0,14,32,129,8,14,32,61,0,14,32,130,8,14,32,61,0,14,32,173,8,14,32,60,0,60,0,60,0,14,32,59,216,0,222,14,32,61,0,14,32,59,216,128,222,14,32,60,0,60,0,60,0,14,32,142,254,14,32,60,0,60,0,60,0,14,32,60,253,14,32,47,0,75,6,60,0,60,0,60,0,14,32,141,254,14,32,60,0,60,0,60,0,14,32,61,253,14,32,47,0,75,6,60,0,60,0,60,0,14,32,243,253,14,32,47,0,14,32,67,6,40,6,49,6,14,32,60,0,60,0,60,0,14,32,242,253,14,32,47,0,14,32,68,6,68,6,71,6,14,32,60,0,14,32,110,6,14,32,60,0,60,0,60,0,14,32,59,216,28,222,14,32,61,0,14,32,59,216,124,222,14,32,60,0,14,32,40,6,14,32,60,0,60,0,60,0,14,32,59,216,1,222,14,32,61,0,14,32,59,216,33,222,14,32,61,0,14,32,59,216,97,222,14,32,61,0,14,32,59,216,129,222,14,32,61,0,14,32,59,216,161,222,14,32,60,0,60,0,60,0,14,32,145,254,14,32,60,0,60,0,60,0,14,32,156,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,157,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,158,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,159,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,160,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,146,254,14,32,60,0,60,0,60,0,14,32,225,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,226,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,144,254,14,32,60,0,60,0,60,0,14,32,194,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,158,253,14,32,47,0,14,32,46,6,74,6,14,32,60,0,60,0,60,0,14,32,106,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,107,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,108,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,109,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,110,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,111,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,143,254,14,32,60,0,60,0,60,0,14,32,5,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,6,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,7,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,8,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,9,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,10,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,123,6,14,32,60,0,60,0,60,0,14,32,84,251,14,32,60,0,60,0,60,0,14,32,85,251,14,32,60,0,60,0,60,0,14,32,83,251,14,32,60,0,60,0,60,0,14,32,82,251,14,32,60,0,14,32,126,6,14,32,60,0,60,0,60,0,14,32,88,251,14,32,60,0,60,0,60,0,14,32,89,251,14,32,60,0,60,0,60,0,14,32,87,251,14,32,60,0,60,0,60,0,14,32,86,251,14,32,60,0,14,32,128,6,14,32,60,0,60,0,60,0,14,32,92,251,14,32,60,0,60,0,60,0,14,32,93,251,14,32,60,0,60,0,60,0,14,32,91,251,14,32,60,0,60,0,60,0,14,32,90,251,14,32,60,0,14,32,80,7,14,32,60,0,14,32,81,7,14,32,60,0,14,32,82,7,14,32,60,0,14,32,83,7,14,32,60,0,14,32,84,7,14,32,60,0,14,32,85,7,14,32,60,0,14,32,160,8,14,32,60,0,14,32,86,7,14,32,60,0,14,32,190,8,14,32,60,0,14,32,161,8,14,32,60,0,14,32,182,8,14,32,60,0,14,32,183,8,14,32,60,0,14,32,41,6,14,32,60,0,60,0,60,0,14,32,148,254,14,32,60,0,60,0,60,0,14,32,147,254,14,32,60,0,14,32,42,6,14,32,60,0,60,0,60,0,14,32,59,216,21,222,14,32,61,0,14,32,59,216,53,222,14,32,61,0,14,32,59,216,117,222,14,32,61,0,14,32,59,216,149,222,14,32,61,0,14,32,59,216,181,222,14,32,60,0,60,0,60,0,14,32,151,254,14,32,60,0,60,0,60,0,14,32,161,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,80,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,162,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,82,253,14,32,47,0,14,32,45,6,44,6,14,32,60,0,60,0,60,0,14,32,83,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,163,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,84,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,164,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,85,253,14,32,47,0,14,32,69,6,44,6,14,32,60,0,60,0,60,0,14,32,86,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,87,253,14,32,47,0,14,32,69,6,46,6,14,32,60,0,60,0,60,0,14,32,165,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,152,254,14,32,60,0,60,0,60,0,14,32,227,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,228,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,150,254,14,32,60,0,60,0,60,0,14,32,160,253,14,32,47,0,14,32,44,6,73,6,14,32,60,0,60,0,60,0,14,32,159,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,81,253,14,32,47,0,14,32,45,6,44,6,14,32,60,0,60,0,60,0,14,32,162,253,14,32,47,0,14,32,46,6,73,6,14,32,60,0,60,0,60,0,14,32,161,253,14,32,47,0,14,32,46,6,74,6,14,32,60,0,60,0,60,0,14,32,112,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,113,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,114,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,164,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,163,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,115,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,116,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,117,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,149,254,14,32,60,0,60,0,60,0,14,32,11,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,12,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,13,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,14,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,15,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,16,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,43,6,14,32,60,0,60,0,60,0,14,32,59,216,22,222,14,32,61,0,14,32,59,216,54,222,14,32,61,0,14,32,59,216,118,222,14,32,61,0,14,32,59,216,150,222,14,32,61,0,14,32,59,216,182,222,14,32,60,0,60,0,60,0,14,32,155,254,14,32,60,0,60,0,60,0,14,32,166,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,156,254,14,32,60,0,60,0,60,0,14,32,229,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,230,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,154,254,14,32,60,0,60,0,60,0,14,32,118,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,119,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,120,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,121,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,122,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,123,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,153,254,14,32,60,0,60,0,60,0,14,32,17,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,18,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,19,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,20,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,121,6,14,32,60,0,60,0,60,0,14,32,104,251,14,32,60,0,60,0,60,0,14,32,105,251,14,32,60,0,60,0,60,0,14,32,103,251,14,32,60,0,60,0,60,0,14,32,102,251,14,32,60,0,14,32,122,6,14,32,60,0,60,0,60,0,14,32,96,251,14,32,60,0,60,0,60,0,14,32,97,251,14,32,60,0,60,0,60,0,14,32,95,251,14,32,60,0,60,0,60,0,14,32,94,251,14,32,60,0,14,32,124,6,14,32,60,0,14,32,125,6,14,32,60,0,14,32,127,6,14,32,60,0,60,0,60,0,14,32,100,251,14,32,60,0,60,0,60,0,14,32,101,251,14,32,60,0,60,0,60,0,14,32,99,251,14,32,60,0,60,0,60,0,14,32,98,251,14,32,60,0,14,32,184,8,14,32,60,0,14,32,191,8,14,32,60,0,14,32,192,8,14,32,60,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,59,216,2,222,14,32,61,0,14,32,59,216,34,222,14,32,61,0,14,32,59,216,66,222,14,32,61,0,14,32,59,216,98,222,14,32,61,0,14,32,59,216,130,222,14,32,61,0,14,32,59,216,162,222,14,32,60,0,60,0,60,0,14,32,159,254,14,32,60,0,60,0,60,0,14,32,167,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,168,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,89,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,160,254,14,32,60,0,60,0,60,0,14,32,158,254,14,32,60,0,60,0,60,0,14,32,166,253,14,32,47,0,14,32,45,6,73,6,14,32,60,0,60,0,60,0,14,32,190,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,88,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,167,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,165,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,29,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,30,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,157,254,14,32,60,0,60,0,60,0,14,32,21,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,251,253,14,32,47,0,14,32,68,6,39,0,32,0,39,0,44,6,68,6,39,6,68,6,71,6,14,32,60,0,60,0,60,0,14,32,22,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,1,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,2,253,14,32,47,0,14,32,74,6,14,32,60,0,14,32,131,6,14,32,60,0,60,0,60,0,14,32,120,251,14,32,60,0,60,0,60,0,14,32,121,251,14,32,60,0,60,0,60,0,14,32,119,251,14,32,60,0,60,0,60,0,14,32,118,251,14,32,60,0,14,32,132,6,14,32,60,0,60,0,60,0,14,32,116,251,14,32,60,0,60,0,60,0,14,32,117,251,14,32,60,0,60,0,60,0,14,32,115,251,14,32,60,0,60,0,60,0,14,32,114,251,14,32,60,0,14,32,138,8,14,32,60,0,14,32,134,6,14,32,60,0,60,0,60,0,14,32,124,251,14,32,60,0,60,0,60,0,14,32,125,251,14,32,60,0,60,0,60,0,14,32,123,251,14,32,60,0,60,0,60,0,14,32,122,251,14,32,60,0,14,32,191,6,14,32,60,0,14,32,135,6,14,32,60,0,60,0,60,0,14,32,128,251,14,32,60,0,60,0,60,0,14,32,129,251,14,32,60,0,60,0,60,0,14,32,127,251,14,32,60,0,60,0,60,0,14,32,126,251,14,32,60,0,14,32,162,8,14,32,60,0,14,32,193,8,14,32,60,0,14,32,197,8,14,32,60,0,14,32,198,8,14,32,60,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,59,216,7,222,14,32,61,0,14,32,59,216,39,222,14,32,61,0,14,32,59,216,71,222,14,32,61,0,14,32,59,216,103,222,14,32,61,0,14,32,59,216,135,222,14,32,61,0,14,32,59,216,167,222,14,32,60,0,60,0,60,0,14,32,163,254,14,32,60,0,60,0,60,0,14,32,169,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,170,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,164,254,14,32,60,0,60,0,60,0,14,32,162,254,14,32,60,0,60,0,60,0,14,32,191,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,91,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,90,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,27,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,28,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,161,254,14,32,60,0,60,0,60,0,14,32,23,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,24,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,255,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,0,253,14,32,47,0,14,32,74,6,14,32,60,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,59,216,23,222,14,32,61,0,14,32,59,216,55,222,14,32,61,0,14,32,59,216,87,222,14,32,61,0,14,32,59,216,119,222,14,32,61,0,14,32,59,216,151,222,14,32,61,0,14,32,59,216,183,222,14,32,60,0,60,0,60,0,14,32,167,254,14,32,60,0,60,0,60,0,14,32,171,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,172,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,168,254,14,32,60,0,60,0,60,0,14,32,166,254,14,32,60,0,60,0,60,0,14,32,31,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,32,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,165,254,14,32,60,0,60,0,60,0,14,32,25,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,26,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,27,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,3,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,4,253,14,32,47,0,14,32,74,6,14,32,60,0,14,32,129,6,14,32,60,0,14,32,130,6,14,32,60,0,14,32,133,6,14,32,60,0,14,32,87,7,14,32,60,0,14,32,88,7,14,32,60,0,14,32,110,7,14,32,60,0,14,32,111,7,14,32,60,0,14,32,114,7,14,32,60,0,14,32,124,7,14,32,60,0,14,32,47,6,14,32,60,0,60,0,60,0,14,32,59,216,3,222,14,32,61,0,14,32,59,216,131,222,14,32,61,0,14,32,59,216,163,222,14,32,60,0,60,0,60,0,14,32,170,254,14,32,60,0,60,0,60,0,14,32,169,254,14,32,60,0,14,32,48,6,14,32,60,0,60,0,60,0,14,32,59,216,24,222,14,32,61,0,14,32,59,216,152,222,14,32,61,0,14,32,59,216,184,222,14,32,60,0,60,0,60,0,14,32,172,254,14,32,60,0,60,0,60,0,14,32,171,254,14,32,60,0,60,0,60,0,14,32,91,252,14,32,47,0,112,6,60,0,14,32,136,6,14,32,60,0,60,0,60,0,14,32,137,251,14,32,60,0,60,0,60,0,14,32,136,251,14,32,60,0,14,32,137,6,14,32,60,0,14,32,138,6,14,32,60,0,14,32,139,6,14,32,60,0,14,32,140,6,14,32,60,0,60,0,60,0,14,32,133,251,14,32,60,0,60,0,60,0,14,32,132,251,14,32,60,0,14,32,141,6,14,32,60,0,60,0,60,0,14,32,131,251,14,32,60,0,60,0,60,0,14,32,130,251,14,32,60,0,14,32,174,8,14,32,60,0,14,32,142,6,14,32,60,0,60,0,60,0,14,32,135,251,14,32,60,0,60,0,60,0,14,32,134,251,14,32,60,0,14,32,143,6,14,32,60,0,14,32,144,6,14,32,60,0,14,32,238,6,14,32,60,0,14,32,89,7,14,32,60,0,14,32,90,7,14,32,60,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,59,216,19,222,14,32,61,0,14,32,59,216,147,222,14,32,61,0,14,32,59,216,179,222,14,32,60,0,60,0,60,0,14,32,174,254,14,32,60,0,60,0,60,0,14,32,173,254,14,32,60,0,60,0,60,0,14,32,92,252,14,32,47,0,112,6,60,0,60,0,60,0,14,32,246,253,14,32,47,0,14,32,51,6,72,6,68,6,14,32,60,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,59,216,6,222,14,32,61,0,14,32,59,216,134,222,14,32,61,0,14,32,59,216,166,222,14,32,60,0,60,0,60,0,14,32,176,254,14,32,60,0,60,0,60,0,14,32,175,254,14,32,60,0,14,32,145,6,14,32,60,0,60,0,60,0,14,32,141,251,14,32,60,0,60,0,60,0,14,32,140,251,14,32,60,0,14,32,146,6,14,32,60,0,14,32,147,6,14,32,60,0,14,32,148,6,14,32,60,0,14,32,149,6,14,32,60,0,14,32,150,6,14,32,60,0,14,32,151,6,14,32,60,0,14,32,152,6,14,32,60,0,60,0,60,0,14,32,139,251,14,32,60,0,60,0,60,0,14,32,138,251,14,32,60,0,14,32,153,6,14,32,60,0,14,32,239,6,14,32,60,0,14,32,91,7,14,32,60,0,14,32,107,7,14,32,60,0,14,32,108,7,14,32,60,0,14,32,113,7,14,32,60,0,14,32,170,8,14,32,60,0,14,32,178,8,14,32,60,0,14,32,185,8,14,32,60,0,14,32,51,6,14,32,60,0,60,0,60,0,14,32,59,216,14,222,14,32,61,0,14,32,59,216,46,222,14,32,61,0,14,32,59,216,78,222,14,32,61,0,14,32,59,216,110,222,14,32,61,0,14,32,59,216,142,222,14,32,61,0,14,32,59,216,174,222,14,32,60,0,60,0,60,0,14,32,179,254,14,32,60,0,60,0,60,0,14,32,173,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,93,253,14,32,47,0,14,32,44,6,45,6,14,32,60,0,60,0,60,0,14,32,174,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,92,253,14,32,47,0,14,32,45,6,44,6,14,32,60,0,60,0,60,0,14,32,175,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,176,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,97,253,14,32,47,0,14,32,69,6,44,6,14,32,60,0,60,0,60,0,14,32,96,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,99,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,49,253,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,180,254,14,32,60,0,60,0,60,0,14,32,52,253,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,53,253,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,54,253,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,231,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,232,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,178,254,14,32,60,0,60,0,60,0,14,32,94,253,14,32,47,0,14,32,44,6,73,6,14,32,60,0,60,0,60,0,14,32,168,253,14,32,47,0,14,32,46,6,73,6,14,32,60,0,60,0,60,0,14,32,198,253,14,32,47,0,14,32,46,6,74,6,14,32,60,0,60,0,60,0,14,32,42,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,95,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,98,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,23,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,24,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,177,254,14,32,60,0,60,0,60,0,14,32,28,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,29,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,30,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,14,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,31,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,251,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,252,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,52,6,14,32,60,0,60,0,60,0,14,32,59,216,20,222,14,32,61,0,14,32,59,216,52,222,14,32,61,0,14,32,59,216,84,222,14,32,61,0,14,32,59,216,116,222,14,32,61,0,14,32,59,216,148,222,14,32,61,0,14,32,59,216,180,222,14,32,60,0,60,0,60,0,14,32,183,254,14,32,60,0,60,0,60,0,14,32,45,253,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,46,253,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,104,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,47,253,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,48,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,107,253,14,32,47,0,14,32,69,6,46,6,14,32,60,0,60,0,60,0,14,32,109,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,50,253,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,184,254,14,32,60,0,60,0,60,0,14,32,55,253,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,56,253,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,57,253,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,233,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,234,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,182,254,14,32,60,0,60,0,60,0,14,32,37,253,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,105,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,38,253,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,103,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,170,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,39,253,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,41,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,40,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,106,253,14,32,47,0,14,32,69,6,46,6,14,32,60,0,60,0,60,0,14,32,108,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,25,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,26,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,181,254,14,32,60,0,60,0,60,0,14,32,9,253,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,10,253,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,11,253,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,13,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,12,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,253,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,254,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,154,6,14,32,60,0,14,32,155,6,14,32,60,0,14,32,156,6,14,32,60,0,14,32,250,6,14,32,60,0,14,32,92,7,14,32,60,0,14,32,109,7,14,32,60,0,14,32,112,7,14,32,60,0,14,32,125,7,14,32,60,0,14,32,126,7,14,32,60,0,14,32,53,6,14,32,60,0,60,0,60,0,14,32,59,216,17,222,14,32,61,0,14,32,59,216,49,222,14,32,61,0,14,32,59,216,81,222,14,32,61,0,14,32,59,216,113,222,14,32,61,0,14,32,59,216,145,222,14,32,61,0,14,32,59,216,177,222,14,32,60,0,60,0,60,0,14,32,187,254,14,32,60,0,60,0,60,0,14,32,177,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,101,253,14,32,47,0,14,32,45,6,45,6,14,32,60,0,60,0,60,0,14,32,178,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,179,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,197,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,188,254,14,32,60,0,60,0,60,0,14,32,186,254,14,32,60,0,60,0,60,0,14,32,100,253,14,32,47,0,14,32,45,6,45,6,14,32,60,0,60,0,60,0,14,32,169,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,43,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,102,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,33,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,34,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,185,254,14,32,60,0,60,0,60,0,14,32,32,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,15,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,245,253,14,32,47,0,14,32,68,6,57,6,69,6,14,32,60,0,60,0,60,0,14,32,249,253,14,32,47,0,14,32,68,6,73,6,14,32,60,0,60,0,60,0,14,32,250,253,14,32,47,0,14,32,68,6,73,6,39,0,32,0,39,0,39,6,68,6,68,6,71,6,39,0,32,0,39,0,57,6,68,6,74,6,71,6,39,0,32,0,39,0,72,6,51,6,68,6,69,6,14,32,60,0,60,0,60,0,14,32,240,253,14,32,47,0,14,32,68,6,210,6,14,32,60,0,60,0,60,0,14,32,33,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,5,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,6,253,14,32,47,0,14,32,74,6,14,32,60,0,14,32,54,6,14,32,60,0,60,0,60,0,14,32,59,216,25,222,14,32,61,0,14,32,59,216,57,222,14,32,61,0,14,32,59,216,89,222,14,32,61,0,14,32,59,216,121,222,14,32,61,0,14,32,59,216,153,222,14,32,61,0,14,32,59,216,185,222,14,32,60,0,60,0,60,0,14,32,191,254,14,32,60,0,60,0,60,0,14,32,180,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,181,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,182,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,112,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,183,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,192,254,14,32,60,0,60,0,60,0,14,32,190,254,14,32,60,0,60,0,60,0,14,32,110,253,14,32,47,0,14,32,45,6,73,6,14,32,60,0,60,0,60,0,14,32,171,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,111,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,44,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,35,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,36,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,189,254,14,32,60,0,60,0,60,0,14,32,34,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,35,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,36,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,16,253,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,37,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,7,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,8,253,14,32,47,0,14,32,74,6,14,32,60,0,14,32,157,6,14,32,60,0,14,32,175,8,14,32,60,0,14,32,158,6,14,32,60,0,14,32,251,6,14,32,60,0,14,32,55,6,14,32,60,0,60,0,60,0,14,32,59,216,8,222,14,32,61,0,14,32,59,216,104,222,14,32,61,0,14,32,59,216,136,222,14,32,61,0,14,32,59,216,168,222,14,32,60,0,60,0,60,0,14,32,195,254,14,32,60,0,60,0,60,0,14,32,184,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,51,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,114,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,115,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,196,254,14,32,60,0,60,0,60,0,14,32,58,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,194,254,14,32,60,0,60,0,60,0,14,32,113,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,116,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,17,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,18,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,193,254,14,32,60,0,60,0,60,0,14,32,38,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,39,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,245,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,246,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,56,6,14,32,60,0,60,0,60,0,14,32,59,216,26,222,14,32,61,0,14,32,59,216,122,222,14,32,61,0,14,32,59,216,154,222,14,32,61,0,14,32,59,216,186,222,14,32,60,0,60,0,60,0,14,32,199,254,14,32,60,0,60,0,60,0,14,32,185,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,200,254,14,32,60,0,60,0,60,0,14,32,59,253,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,198,254,14,32,60,0,60,0,60,0,14,32,197,254,14,32,60,0,60,0,60,0,14,32,40,252,14,32,47,0,14,32,69,6,14,32,60,0,14,32,159,6,14,32,60,0,14,32,163,8,14,32,60,0,14,32,139,8,14,32,60,0,14,32,140,8,14,32,60,0,14,32,57,6,14,32,60,0,60,0,60,0,14,32,59,216,15,222,14,32,61,0,14,32,59,216,47,222,14,32,61,0,14,32,59,216,79,222,14,32,61,0,14,32,59,216,111,222,14,32,61,0,14,32,59,216,143,222,14,32,61,0,14,32,59,216,175,222,14,32,60,0,60,0,60,0,14,32,203,254,14,32,60,0,60,0,60,0,14,32,186,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,196,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,187,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,119,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,204,254,14,32,60,0,60,0,60,0,14,32,202,254,14,32,60,0,60,0,60,0,14,32,117,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,118,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,120,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,182,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,19,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,20,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,201,254,14,32,60,0,60,0,60,0,14,32,41,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,247,253,14,32,47,0,14,32,68,6,74,6,71,6,14,32,60,0,60,0,60,0,14,32,42,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,247,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,248,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,58,6,14,32,60,0,60,0,60,0,14,32,59,216,27,222,14,32,61,0,14,32,59,216,59,222,14,32,61,0,14,32,59,216,91,222,14,32,61,0,14,32,59,216,123,222,14,32,61,0,14,32,59,216,155,222,14,32,61,0,14,32,59,216,187,222,14,32,60,0,60,0,60,0,14,32,207,254,14,32,60,0,60,0,60,0,14,32,188,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,189,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,208,254,14,32,60,0,60,0,60,0,14,32,206,254,14,32,60,0,60,0,60,0,14,32,121,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,123,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,122,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,21,253,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,22,253,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,205,254,14,32,60,0,60,0,60,0,14,32,43,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,44,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,249,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,250,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,160,6,14,32,60,0,14,32,195,8,14,32,60,0,14,32,252,6,14,32,60,0,14,32,93,7,14,32,60,0,14,32,94,7,14,32,60,0,14,32,95,7,14,32,60,0,14,32,179,8,14,32,60,0,14,32,65,6,14,32,60,0,60,0,60,0,14,32,59,216,16,222,14,32,61,0,14,32,59,216,48,222,14,32,61,0,14,32,59,216,112,222,14,32,61,0,14,32,59,216,144,222,14,32,61,0,14,32,59,216,176,222,14,32,60,0,60,0,60,0,14,32,211,254,14,32,60,0,60,0,60,0,14,32,190,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,191,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,192,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,125,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,193,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,212,254,14,32,60,0,60,0,60,0,14,32,210,254,14,32,60,0,60,0,60,0,14,32,124,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,193,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,124,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,125,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,209,254,14,32,60,0,60,0,60,0,14,32,45,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,46,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,47,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,48,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,49,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,50,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,161,6,14,32,60,0,60,0,60,0,14,32,59,216,30,222,14,32,61,0,14,32,59,216,126,222,14,32,60,0,14,32,162,6,14,32,60,0,14,32,187,8,14,32,60,0,14,32,163,6,14,32,60,0,14,32,164,6,14,32,60,0,60,0,60,0,14,32,108,251,14,32,60,0,60,0,60,0,14,32,109,251,14,32,60,0,60,0,60,0,14,32,107,251,14,32,60,0,60,0,60,0,14,32,106,251,14,32,60,0,14,32,164,8,14,32,60,0,14,32,165,6,14,32,60,0,14,32,166,6,14,32,60,0,60,0,60,0,14,32,112,251,14,32,60,0,60,0,60,0,14,32,113,251,14,32,60,0,60,0,60,0,14,32,111,251,14,32,60,0,60,0,60,0,14,32,110,251,14,32,60,0,14,32,96,7,14,32,60,0,14,32,97,7,14,32,60,0,14,32,111,6,14,32,60,0,60,0,60,0,14,32,59,216,31,222,14,32,61,0,14,32,59,216,95,222,14,32,60,0,14,32,66,6,14,32,60,0,60,0,60,0,14,32,59,216,18,222,14,32,61,0,14,32,59,216,50,222,14,32,61,0,14,32,59,216,82,222,14,32,61,0,14,32,59,216,114,222,14,32,61,0,14,32,59,216,146,222,14,32,61,0,14,32,59,216,178,222,14,32,60,0,60,0,60,0,14,32,215,254,14,32,60,0,60,0,60,0,14,32,194,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,195,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,180,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,216,254,14,32,60,0,60,0,60,0,14,32,214,254,14,32,60,0,60,0,60,0,14,32,126,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,127,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,178,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,126,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,127,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,213,254,14,32,60,0,60,0,60,0,14,32,51,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,241,253,14,32,47,0,14,32,68,6,210,6,14,32,60,0,60,0,60,0,14,32,52,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,53,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,54,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,167,6,14,32,60,0,14,32,188,8,14,32,60,0,14,32,168,6,14,32,60,0,14,32,196,8,14,32,60,0,14,32,165,8,14,32,60,0,14,32,181,8,14,32,60,0,14,32,67,6,14,32,60,0,60,0,60,0,14,32,59,216,10,222,14,32,61,0,14,32,59,216,42,222,14,32,61,0,14,32,59,216,106,222,14,32,60,0,60,0,60,0,14,32,219,254,14,32,60,0,60,0,60,0,14,32,196,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,197,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,198,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,199,252,14,32,47,0,14,32,68,6,14,32,60,0,60,0,60,0,14,32,200,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,195,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,220,254,14,32,60,0,60,0,60,0,14,32,235,252,14,32,47,0,14,32,68,6,14,32,60,0,60,0,60,0,14,32,236,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,218,254,14,32,60,0,60,0,60,0,14,32,128,252,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,129,252,14,32,47,0,14,32,68,6,14,32,60,0,60,0,60,0,14,32,130,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,187,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,183,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,131,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,132,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,217,254,14,32,60,0,60,0,60,0,14,32,55,252,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,56,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,57,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,58,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,59,252,14,32,47,0,14,32,68,6,14,32,60,0,60,0,60,0,14,32,60,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,61,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,62,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,169,6,14,32,60,0,60,0,60,0,14,32,144,251,14,32,60,0,60,0,60,0,14,32,145,251,14,32,60,0,60,0,60,0,14,32,143,251,14,32,60,0,60,0,60,0,14,32,142,251,14,32,60,0,14,32,170,6,14,32,60,0,14,32,171,6,14,32,60,0,14,32,172,6,14,32,60,0,14,32,127,7,14,32,60,0,14,32,173,6,14,32,60,0,60,0,60,0,14,32,213,251,14,32,60,0,60,0,60,0,14,32,214,251,14,32,60,0,60,0,60,0,14,32,212,251,14,32,60,0,60,0,60,0,14,32,211,251,14,32,60,0,14,32,174,6,14,32,60,0,14,32,180,8,14,32,60,0,14,32,175,6,14,32,60,0,60,0,60,0,14,32,148,251,14,32,60,0,60,0,60,0,14,32,149,251,14,32,60,0,60,0,60,0,14,32,147,251,14,32,60,0,60,0,60,0,14,32,146,251,14,32,60,0,14,32,176,8,14,32,60,0,14,32,200,8,14,32,60,0,14,32,176,6,14,32,60,0,14,32,177,6,14,32,60,0,60,0,60,0,14,32,156,251,14,32,60,0,60,0,60,0,14,32,157,251,14,32,60,0,60,0,60,0,14,32,155,251,14,32,60,0,60,0,60,0,14,32,154,251,14,32,60,0,14,32,178,6,14,32,60,0,14,32,179,6,14,32,60,0,60,0,60,0,14,32,152,251,14,32,60,0,60,0,60,0,14,32,153,251,14,32,60,0,60,0,60,0,14,32,151,251,14,32,60,0,60,0,60,0,14,32,150,251,14,32,60,0,14,32,180,6,14,32,60,0,14,32,98,7,14,32,60,0,14,32,59,6,14,32,60,0,14,32,141,8,14,32,60,0,14,32,60,6,14,32,60,0,14,32,99,7,14,32,60,0,14,32,100,7,14,32,60,0,14,32,194,8,14,32,60,0,14,32,68,6,14,32,60,0,60,0,60,0,14,32,59,216,11,222,14,32,61,0,14,32,59,216,43,222,14,32,61,0,14,32,59,216,75,222,14,32,61,0,14,32,59,216,139,222,14,32,61,0,14,32,59,216,171,222,14,32,60,0,60,0,60,0,14,32,223,254,14,32,60,0,60,0,60,0,14,32,201,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,131,253,14,32,47,0,14,32,44,6,44,6,14,32,60,0,60,0,60,0,14,32,186,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,202,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,181,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,203,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,134,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,204,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,136,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,205,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,224,254,14,32,60,0,60,0,60,0,14,32,237,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,222,254,14,32,60,0,60,0,60,0,14,32,246,254,14,32,47,0,14,32,34,6,14,32,60,0,60,0,60,0,14,32,248,254,14,32,47,0,14,32,35,6,14,32,60,0,60,0,60,0,14,32,250,254,14,32,47,0,14,32,37,6,14,32,60,0,60,0,60,0,14,32,252,254,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,132,253,14,32,47,0,14,32,44,6,44,6,14,32,60,0,60,0,60,0,14,32,188,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,172,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,128,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,130,253,14,32,47,0,14,32,45,6,73,6,14,32,60,0,60,0,60,0,14,32,129,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,133,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,133,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,135,253,14,32,47,0,14,32,69,6,45,6,14,32,60,0,60,0,60,0,14,32,173,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,134,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,135,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,221,254,14,32,60,0,60,0,60,0,14,32,245,254,14,32,47,0,14,32,34,6,14,32,60,0,60,0,60,0,14,32,247,254,14,32,47,0,14,32,35,6,14,32,60,0,60,0,60,0,14,32,249,254,14,32,47,0,14,32,37,6,14,32,60,0,60,0,60,0,14,32,251,254,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,63,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,64,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,65,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,66,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,67,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,68,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,181,6,14,32,60,0,14,32,182,6,14,32,60,0,14,32,183,6,14,32,60,0,14,32,184,6,14,32,60,0,14,32,106,7,14,32,60,0,14,32,166,8,14,32,60,0,14,32,199,8,14,32,60,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,59,216,12,222,14,32,61,0,14,32,59,216,44,222,14,32,61,0,14,32,59,216,108,222,14,32,61,0,14,32,59,216,140,222,14,32,61,0,14,32,59,216,172,222,14,32,60,0,60,0,60,0,14,32,227,254,14,32,60,0,60,0,60,0,14,32,206,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,140,253,14,32,47,0,14,32,44,6,45,6,14,32,60,0,60,0,60,0,14,32,146,253,14,32,47,0,14,32,44,6,46,6,14,32,60,0,60,0,60,0,14,32,141,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,207,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,137,253,14,32,47,0,14,32,45,6,44,6,14,32,60,0,60,0,60,0,14,32,138,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,208,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,142,253,14,32,47,0,14,32,46,6,44,6,14,32,60,0,60,0,60,0,14,32,143,253,14,32,47,0,14,32,46,6,69,6,14,32,60,0,60,0,60,0,14,32,209,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,228,254,14,32,60,0,60,0,60,0,14,32,226,254,14,32,60,0,60,0,60,0,14,32,136,252,14,32,47,0,14,32,39,6,14,32,60,0,60,0,60,0,14,32,192,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,139,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,185,253,14,32,47,0,14,32,46,6,74,6,14,32,60,0,60,0,60,0,14,32,137,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,177,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,225,254,14,32,60,0,60,0,60,0,14,32,69,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,70,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,244,253,14,32,47,0,14,32,45,6,69,6,47,6,14,32,60,0,60,0,60,0,14,32,71,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,72,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,73,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,74,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,14,32,254,6,14,32,60,0,14,32,101,7,14,32,60,0,14,32,102,7,14,32,60,0,14,32,167,8,14,32,60,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,59,216,13,222,14,32,61,0,14,32,59,216,45,222,14,32,61,0,14,32,59,216,77,222,14,32,61,0,14,32,59,216,109,222,14,32,61,0,14,32,59,216,141,222,14,32,61,0,14,32,59,216,173,222,14,32,60,0,60,0,60,0,14,32,231,254,14,32,60,0,60,0,60,0,14,32,210,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,184,253,14,32,47,0,14,32,44,6,45,6,14,32,60,0,60,0,60,0,14,32,152,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,211,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,149,253,14,32,47,0,14,32,45,6,69,6,14,32,60,0,60,0,60,0,14,32,212,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,213,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,214,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,232,254,14,32,60,0,60,0,60,0,14,32,238,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,239,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,230,254,14,32,60,0,60,0,60,0,14,32,189,253,14,32,47,0,14,32,44,6,45,6,14,32,60,0,60,0,60,0,14,32,151,253,14,32,47,0,14,32,44,6,69,6,14,32,60,0,60,0,60,0,14,32,153,253,14,32,47,0,14,32,44,6,73,6,14,32,60,0,60,0,60,0,14,32,199,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,150,253,14,32,47,0,14,32,45,6,73,6,14,32,60,0,60,0,60,0,14,32,179,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,138,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,139,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,140,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,155,253,14,32,47,0,14,32,69,6,73,6,14,32,60,0,60,0,60,0,14,32,154,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,141,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,142,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,143,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,229,254,14,32,60,0,60,0,60,0,14,32,75,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,76,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,77,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,78,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,79,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,80,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,186,6,14,32,60,0,60,0,60,0,14,32,59,216,29,222,14,32,61,0,14,32,59,216,93,222,14,32,60,0,60,0,60,0,14,32,159,251,14,32,60,0,60,0,60,0,14,32,158,251,14,32,60,0,14,32,189,8,14,32,60,0,14,32,187,6,14,32,60,0,60,0,60,0,14,32,162,251,14,32,60,0,60,0,60,0,14,32,163,251,14,32,60,0,60,0,60,0,14,32,161,251,14,32,60,0,60,0,60,0,14,32,160,251,14,32,60,0,14,32,188,6,14,32,60,0,14,32,189,6,14,32,60,0,14,32,185,6,14,32,60,0,14,32,103,7,14,32,60,0,14,32,104,7,14,32,60,0,14,32,105,7,14,32,60,0,14,32,137,8,14,32,60,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,59,216,36,222,14,32,61,0,14,32,59,216,100,222,14,32,61,0,14,32,59,216,132,222,14,32,60,0,60,0,60,0,14,32,235,254,14,32,60,0,60,0,60,0,14,32,217,252,14,32,47,0,112,6,60,0,60,0,60,0,14,32,215,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,216,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,147,253,14,32,47,0,14,32,69,6,44,6,14,32,60,0,60,0,60,0,14,32,148,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,236,254,14,32,60,0,60,0,60,0,14,32,234,254,14,32,60,0,60,0,60,0,14,32,233,254,14,32,60,0,60,0,60,0,14,32,81,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,82,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,83,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,84,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,190,6,14,32,60,0,60,0,60,0,14,32,172,251,14,32,60,0,60,0,60,0,14,32,173,251,14,32,60,0,60,0,60,0,14,32,171,251,14,32,60,0,60,0,60,0,14,32,170,251,14,32,60,0,14,32,193,6,14,32,60,0,60,0,60,0,14,32,168,251,14,32,60,0,60,0,60,0,14,32,169,251,14,32,60,0,60,0,60,0,14,32,167,251,14,32,60,0,60,0,60,0,14,32,166,251,14,32,60,0,14,32,195,6,14,32,60,0,14,32,255,6,14,32,60,0,14,32,213,6,14,32,60,0,60,0,60,0,14,32,165,251,14,32,47,0,3,216,171,222,60,0,60,0,60,0,14,32,164,251,14,32,47,0,3,216,171,222,60,0,14,32,72,6,14,32,60,0,60,0,60,0,14,32,229,6,14,32,61,0,14,32,132,8,14,32,60,0,60,0,60,0,14,32,59,216,5,222,14,32,61,0,14,32,59,216,133,222,14,32,61,0,14,32,59,216,165,222,14,32,60,0,60,0,60,0,14,32,238,254,14,32,60,0,60,0,60,0,14,32,237,254,14,32,60,0,60,0,60,0,14,32,248,253,14,32,47,0,14,32,51,6,68,6,69,6,14,32,60,0,14,32,196,6,14,32,60,0,14,32,197,6,14,32,60,0,60,0,60,0,14,32,225,251,14,32,60,0,60,0,60,0,14,32,224,251,14,32,60,0,14,32,198,6,14,32,60,0,60,0,60,0,14,32,218,251,14,32,60,0,60,0,60,0,14,32,217,251,14,32,60,0,14,32,199,6,14,32,60,0,60,0,60,0,14,32,216,251,14,32,60,0,60,0,60,0,14,32,215,251,14,32,60,0,14,32,200,6,14,32,60,0,60,0,60,0,14,32,220,251,14,32,60,0,60,0,60,0,14,32,219,251,14,32,60,0,14,32,201,6,14,32,60,0,60,0,60,0,14,32,227,251,14,32,60,0,60,0,60,0,14,32,226,251,14,32,60,0,14,32,202,6,14,32,60,0,14,32,203,6,14,32,60,0,60,0,60,0,14,32,223,251,14,32,60,0,60,0,60,0,14,32,222,251,14,32,60,0,14,32,177,8,14,32,60,0,14,32,207,6,14,32,60,0,14,32,120,7,14,32,60,0,14,32,121,7,14,32,60,0,14,32,171,8,14,32,60,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,232,251,14,32,60,0,60,0,60,0,14,32,233,251,14,32,60,0,60,0,60,0,14,32,240,254,14,32,60,0,60,0,60,0,14,32,144,252,14,32,47,0,112,6,60,0,60,0,60,0,14,32,239,254,14,32,60,0,60,0,60,0,14,32,93,252,14,32,47,0,112,6,60,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,230,6,14,32,61,0,14,32,133,8,14,32,61,0,14,32,134,8,14,32,60,0,60,0,60,0,14,32,59,216,9,222,14,32,61,0,14,32,59,216,41,222,14,32,61,0,14,32,59,216,73,222,14,32,61,0,14,32,59,216,105,222,14,32,61,0,14,32,59,216,137,222,14,32,61,0,14,32,59,216,169,222,14,32,60,0,60,0,60,0,14,32,243,254,14,32,60,0,60,0,60,0,14,32,218,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,219,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,220,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,221,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,157,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,222,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,244,254,14,32,60,0,60,0,60,0,14,32,240,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,241,252,14,32,47,0,14,32,71,6,14,32,60,0,60,0,60,0,14,32,242,254,14,32,60,0,60,0,60,0,14,32,175,253,14,32,47,0,14,32,44,6,74,6,14,32,60,0,60,0,60,0,14,32,174,253,14,32,47,0,14,32,45,6,74,6,14,32,60,0,60,0,60,0,14,32,145,252,14,32,47,0,14,32,49,6,14,32,60,0,60,0,60,0,14,32,146,252,14,32,47,0,14,32,50,6,14,32,60,0,60,0,60,0,14,32,147,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,156,253,14,32,47,0,14,32,69,6,69,6,14,32,60,0,60,0,60,0,14,32,176,253,14,32,47,0,14,32,69,6,74,6,14,32,60,0,60,0,60,0,14,32,148,252,14,32,47,0,14,32,70,6,14,32,60,0,60,0,60,0,14,32,149,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,150,252,14,32,47,0,14,32,74,6,14,32,60,0,60,0,60,0,14,32,241,254,14,32,60,0,60,0,60,0,14,32,85,252,14,32,47,0,14,32,44,6,14,32,60,0,60,0,60,0,14,32,86,252,14,32,47,0,14,32,45,6,14,32,60,0,60,0,60,0,14,32,87,252,14,32,47,0,14,32,46,6,14,32,60,0,60,0,60,0,14,32,88,252,14,32,47,0,14,32,69,6,14,32,60,0,60,0,60,0,14,32,89,252,14,32,47,0,14,32,73,6,14,32,60,0,60,0,60,0,14,32,90,252,14,32,47,0,14,32,74,6,14,32,60,0,14,32,204,6,14,32,60,0,60,0,60,0,14,32,201,8,14,32,60,0,60,0,60,0,14,32,254,251,14,32,60,0,60,0,60,0,14,32,255,251,14,32,60,0,60,0,60,0,14,32,253,251,14,32,60,0,60,0,60,0,14,32,252,251,14,32,60,0,14,32,205,6,14,32,60,0,14,32,206,6,14,32,60,0,14,32,208,6,14,32,60,0,60,0,60,0,14,32,230,251,14,32,60,0,60,0,60,0,14,32,231,251,14,32,60,0,60,0,60,0,14,32,229,251,14,32,60,0,60,0,60,0,14,32,228,251,14,32,60,0,14,32,209,6,14,32,60,0,14,32,61,6,14,32,60,0,14,32,62,6,14,32,60,0,14,32,63,6,14,32,60,0,14,32,32,6,14,32,60,0,14,32,117,7,14,32,60,0,14,32,118,7,14,32,60,0,14,32,119,7,14,32,60,0,14,32,186,8,14,32,60,0,14,32,210,6,14,32,60,0,60,0,60,0,14,32,175,251,14,32,60,0,60,0,60,0,14,32,177,251,14,32,47,0,3,216,171,222,60,0,60,0,60,0,14,32,174,251,14,32,60,0,60,0,60,0,14,32,176,251,14,32,47,0,3,216,171,222,60,0,14,32,122,7,14,32,60,0,14,32,123,7,14,32,60,0,14,32,142,8,14,32,60,0,14,32,16,7,14,32,60,0,14,32,18,7,14,32,60,0,60,0,14,32,45,7,14,32,60,0,14,32,19,7,14,32,60,0,60,0,14,32,20,7,14,32,60,0,60,0,14,32,46,7,14,32,60,0,14,32,22,7,14,32,60,0,14,32,21,7,14,32,60,0,60,0,14,32,47,7,14,32,60,0,14,32,23,7,14,32,60,0,14,32,24,7,14,32,60,0,14,32,25,7,14,32,60,0,14,32,77,7,14,32,60,0,14,32,26,7,14,32,60,0,14,32,27,7,14,32,60,0,60,0,14,32,28,7,14,32,60,0,14,32,29,7,14,32,60,0,14,32,30,7,14,32,60,0,14,32,31,7,14,32,60,0,14,32,78,7,14,32,60,0,14,32,32,7,14,32,60,0,14,32,33,7,14,32,60,0,14,32,34,7,14,32,60,0,14,32,35,7,14,32,60,0,60,0,60,0,14,32,36,7,14,32,60,0,14,32,37,7,14,32,60,0,14,32,38,7,14,32,60,0,60,0,14,32,39,7,14,32,60,0,14,32,79,7,14,32,60,0,14,32,40,7,14,32,60,0,14,32,41,7,14,32,60,0,14,32,42,7,14,32,60,0,14,32,43,7,14,32,60,0,14,32,44,7,14,32,60,0,14,32,96,8,14,32,60,0,14,32,97,8,14,32,60,0,14,32,98,8,14,32,60,0,14,32,99,8,14,32,60,0,14,32,100,8,14,32,60,0,14,32,101,8,14,32,60,0,14,32,102,8,14,32,60,0,14,32,103,8,14,32,60,0,14,32,104,8,14,32,60,0,14,32,105,8,14,32,60,0,14,32,106,8,14,32,60,0,14,32,64,8,14,32,60,0,14,32,65,8,14,32,60,0,14,32,66,8,14,32,60,0,14,32,67,8,14,32,60,0,14,32,68,8,14,32,60,0,14,32,69,8,14,32,60,0,14,32,70,8,14,32,60,0,14,32,71,8,14,32,60,0,14,32,72,8,14,32,60,0,14,32,73,8,14,32,60,0,14,32,74,8,14,32,60,0,14,32,75,8,14,32,60,0,14,32,76,8,14,32,60,0,14,32,77,8,14,32,60,0,14,32,78,8,14,32,60,0,14,32,79,8,14,32,60,0,14,32,80,8,14,32,60,0,14,32,81,8,14,32,60,0,14,32,82,8,14,32,60,0,14,32,83,8,14,32,60,0,14,32,84,8,14,32,60,0,14,32,85,8,14,32,60,0,14,32,86,8,14,32,60,0,14,32,87,8,14,32,60,0,14,32,88,8,14,32,60,0,14,32,128,7,14,32,60,0,14,32,153,7,14,32,60,0,14,32,154,7,14,32,60,0,14,32,129,7,14,32,60,0,14,32,130,7,14,32,60,0,14,32,131,7,14,32,60,0,14,32,156,7,14,32,60,0,14,32,132,7,14,32,60,0,14,32,133,7,14,32,60,0,14,32,134,7,14,32,60,0,14,32,135,7,14,32,60,0,14,32,162,7,14,32,60,0,14,32,163,7,14,32,60,0,14,32,136,7,14,32,60,0,14,32,165,7,14,32,60,0,14,32,137,7,14,32,60,0,14,32,138,7,14,32,60,0,14,32,139,7,14,32,60,0,14,32,155,7,14,32,60,0,14,32,140,7,14,32,60,0,14,32,152,7,14,32,60,0,14,32,160,7,14,32,60,0,14,32,161,7,14,32,60,0,14,32,141,7,14,32,60,0,14,32,142,7,14,32,60,0,14,32,164,7,14,32,60,0,14,32,143,7,14,32,60,0,14,32,144,7,14,32,60,0,14,32,157,7,14,32,60,0,14,32,158,7,14,32,60,0,14,32,159,7,14,32,60,0,14,32,145,7,14,32,60,0,14,32,146,7,14,32,60,0,14,32,147,7,14,32,60,0,14,32,148,7,14,32,60,0,14,32,149,7,14,32,60,0,14,32,150,7,14,32,60,0,14,32,151,7,14,32,60,0,14,32,177,7,14,32,60,0,166,7,60,0,167,7,60,0,168,7,60,0,169,7,60,0,170,7,60,0,171,7,60,0,172,7,60,0,173,7,60,0,174,7,60,0,175,7,60,0,176,7,60,0,14,32,202,7,14,32,60,0,14,32,203,7,14,32,60,0,14,32,204,7,14,32,60,0,14,32,205,7,14,32,60,0,14,32,206,7,14,32,60,0,14,32,207,7,14,32,60,0,14,32,208,7,14,32,60,0,14,32,209,7,14,32,60,0,14,32,210,7,14,32,60,0,14,32,211,7,14,32,60,0,14,32,212,7,14,32,60,0,14,32,213,7,14,32,60,0,14,32,214,7,14,32,60,0,60,0,14,32,232,7,14,32,60,0,14,32,215,7,14,32,60,0,60,0,14,32,233,7,14,32,60,0,14,32,216,7,14,32,60,0,14,32,217,7,14,32,60,0,60,0,14,32,234,7,14,32,60,0,14,32,218,7,14,32,60,0,14,32,219,7,14,32,60,0,14,32,220,7,14,32,60,0,14,32,221,7,14,32,60,0,14,32,222,7,14,32,60,0,14,32,223,7,14,32,60,0,14,32,224,7,14,32,60,0,14,32,225,7,14,32,60,0,14,32,226,7,14,32,60,0,14,32,227,7,14,32,60,0,14,32,228,7,14,32,60,0,14,32,229,7,14,32,60,0,14,32,230,7,14,32,60,0,14,32,231,7,14,32,60,0,14,32,244,7,14,32,60,0,14,32,245,7,14,32,60,0,48,45,60,0,49,45,60,0,50,45,60,0,51,45,60,0,52,45,60,0,53,45,60,0,54,45,60,0,55,45,60,0,56,45,60,0,57,45,60,0,58,45,60,0,59,45,60,0,102,45,60,0,60,45,60,0,61,45,60,0,62,45,60,0,63,45,60,0,64,45,60,0,65,45,60,0,66,45,60,0,67,45,60,0,68,45,60,0,69,45,60,0,70,45,60,0,71,45,60,0,72,45,60,0,73,45,60,0,74,45,60,0,75,45,60,0,76,45,60,0,77,45,60,0,78,45,60,0,79,45,60,0,80,45,60,0,81,45,60,0,82,45,60,0,83,45,60,0,103,45,60,0,84,45,60,0,85,45,60,0,86,45,60,0,87,45,60,0,88,45,60,0,89,45,60,0,90,45,60,0,91,45,60,0,92,45,60,0,93,45,60,0,94,45,60,0,95,45,60,0,96,45,60,0,97,45,60,0,98,45,60,0,99,45,60,0,100,45,60,0,101,45,60,0,111,45,60,0,0,18,60,0,1,18,60,0,2,18,60,0,3,18,60,0,4,18,60,0,5,18,60,0,6,18,60,0,7,18,60,0,8,18,60,0,9,18,60,0,10,18,60,0,11,18,60,0,12,18,60,0,13,18,60,0,14,18,60,0,15,18,60,0,128,45,60,0,16,18,60,0,17,18,60,0,18,18,60,0,19,18,60,0,20,18,60,0,21,18,60,0,22,18,60,0,23,18,60,0,24,18,60,0,25,18,60,0,26,18,60,0,27,18,60,0,28,18,60,0,29,18,60,0,30,18,60,0,31,18,60,0,128,19,60,0,57,216,237,223,60,0,129,19,60,0,57,216,238,223,60,0,130,19,60,0,131,19,60,0,129,45,60,0,32,18,60,0,33,18,60,0,34,18,60,0,35,18,60,0,36,18,60,0,37,18,60,0,38,18,60,0,39,18,60,0,40,18,60,0,41,18,60,0,42,18,60,0,43,18,60,0,44,18,60,0,45,18,60,0,46,18,60,0,47,18,60,0,130,45,60,0,48,18,60,0,49,18,60,0,50,18,60,0,51,18,60,0,52,18,60,0,53,18,60,0,54,18,60,0,55,18,60,0,131,45,60,0,1,171,60,0,2,171,60,0,3,171,60,0,4,171,60,0,5,171,60,0,6,171,60,0,56,18,60,0,57,18,60,0,58,18,60,0,59,18,60,0,60,18,60,0,61,18,60,0,62,18,60,0,63,18,60,0,132,45,60,0,64,18,60,0,65,18,60,0,66,18,60,0,67,18,60,0,68,18,60,0,69,18,60,0,70,18,60,0,71,18,60,0,72,18,60,0,57,216,240,223,60,0,74,18,60,0,75,18,60,0,57,216,241,223,60,0,76,18,60,0,57,216,242,223,60,0,77,18,60,0,80,18,60,0,81,18,60,0,82,18,60,0,83,18,60,0,84,18,60,0,85,18,60,0,86,18,60,0,88,18,60,0,90,18,60,0,91,18,60,0,92,18,60,0,93,18,60,0,96,18,60,0,97,18,60,0,98,18,60,0,99,18,60,0,100,18,60,0,101,18,60,0,102,18,60,0,103,18,60,0,132,19,60,0,57,216,243,223,60,0,133,19,60,0,57,216,244,223,60,0,134,19,60,0,135,19,60,0,133,45,60,0,104,18,60,0,105,18,60,0,106,18,60,0,107,18,60,0,108,18,60,0,109,18,60,0,110,18,60,0,111,18,60,0,112,18,60,0,113,18,60,0,114,18,60,0,115,18,60,0,116,18,60,0,117,18,60,0,118,18,60,0,119,18,60,0,134,45,60,0,120,18,60,0,121,18,60,0,122,18,60,0,123,18,60,0,124,18,60,0,125,18,60,0,126,18,60,0,127,18,60,0,135,45,60,0,128,18,60,0,129,18,60,0,130,18,60,0,131,18,60,0,132,18,60,0,133,18,60,0,134,18,60,0,135,18,60,0,136,18,60,0,138,18,60,0,139,18,60,0,140,18,60,0,141,18,60,0,144,18,60,0,145,18,60,0,146,18,60,0,147,18,60,0,148,18,60,0,149,18,60,0,150,18,60,0,151,18,60,0,136,45,60,0,152,18,60,0,153,18,60,0,154,18,60,0,155,18,60,0,156,18,60,0,157,18,60,0,158,18,60,0,159,18,60,0,137,45,60,0,160,18,60,0,161,18,60,0,162,18,60,0,163,18,60,0,164,18,60,0,165,18,60,0,166,18,60,0,167,18,60,0,138,45,60,0,168,18,60,0,169,18,60,0,170,18,60,0,171,18,60,0,172,18,60,0,173,18,60,0,174,18,60,0,175,18,60,0,176,18,60,0,57,216,245,223,60,0,178,18,60,0,179,18,60,0,57,216,246,223,60,0,180,18,60,0,57,216,247,223,60,0,181,18,60,0,184,18,60,0,185,18,60,0,186,18,60,0,187,18,60,0,188,18,60,0,189,18,60,0,190,18,60,0,57,216,232,223,60,0,192,18,60,0,57,216,233,223,60,0,194,18,60,0,195,18,60,0,57,216,234,223,60,0,196,18,60,0,57,216,235,223,60,0,197,18,60,0,200,18,60,0,201,18,60,0,202,18,60,0,203,18,60,0,204,18,60,0,205,18,60,0,206,18,60,0,207,18,60,0,208,18,60,0,209,18,60,0,210,18,60,0,211,18,60,0,212,18,60,0,213,18,60,0,214,18,60,0,216,18,60,0,217,18,60,0,218,18,60,0,219,18,60,0,220,18,60,0,221,18,60,0,222,18,60,0,223,18,60,0,139,45,60,0,17,171,60,0,18,171,60,0,19,171,60,0,20,171,60,0,21,171,60,0,22,171,60,0,224,18,60,0,225,18,60,0,226,18,60,0,227,18,60,0,228,18,60,0,229,18,60,0,230,18,60,0,231,18,60,0,232,18,60,0,233,18,60,0,234,18,60,0,235,18,60,0,236,18,60,0,237,18,60,0,238,18,60,0,239,18,60,0,240,18,60,0,241,18,60,0,242,18,60,0,243,18,60,0,244,18,60,0,245,18,60,0,246,18,60,0,247,18,60,0,140,45,60,0,9,171,60,0,10,171,60,0,11,171,60,0,12,171,60,0,13,171,60,0,14,171,60,0,248,18,60,0,249,18,60,0,250,18,60,0,251,18,60,0,252,18,60,0,253,18,60,0,254,18,60,0,255,18,60,0,141,45,60,0,0,19,60,0,1,19,60,0,2,19,60,0,3,19,60,0,4,19,60,0,5,19,60,0,6,19,60,0,7,19,60,0,142,45,60,0,8,19,60,0,9,19,60,0,10,19,60,0,11,19,60,0,12,19,60,0,13,19,60,0,14,19,60,0,15,19,60,0,16,19,60,0,57,216,248,223,60,0,18,19,60,0,19,19,60,0,57,216,249,223,60,0,20,19,60,0,57,216,250,223,60,0,21,19,60,0,24,19,60,0,25,19,60,0,26,19,60,0,27,19,60,0,28,19,60,0,29,19,60,0,30,19,60,0,31,19,60,0,147,45,60,0,148,45,60,0,149,45,60,0,150,45,60,0,32,19,60,0,33,19,60,0,34,19,60,0,35,19,60,0,36,19,60,0,37,19,60,0,38,19,60,0,39,19,60,0,143,45,60,0,40,19,60,0,41,19,60,0,42,19,60,0,43,19,60,0,44,19,60,0,45,19,60,0,46,19,60,0,47,19,60,0,144,45,60,0,32,171,60,0,33,171,60,0,34,171,60,0,35,171,60,0,36,171,60,0,37,171,60,0,38,171,60,0,48,19,60,0,49,19,60,0,50,19,60,0,51,19,60,0,52,19,60,0,53,19,60,0,54,19,60,0,55,19,60,0,145,45,60,0,56,19,60,0,57,19,60,0,58,19,60,0,59,19,60,0,60,19,60,0,61,19,60,0,62,19,60,0,63,19,60,0,40,171,60,0,41,171,60,0,42,171,60,0,43,171,60,0,44,171,60,0,45,171,60,0,46,171,60,0,64,19,60,0,65,19,60,0,66,19,60,0,67,19,60,0,68,19,60,0,69,19,60,0,70,19,60,0,71,19,60,0,72,19,60,0,73,19,60,0,74,19,60,0,75,19,60,0,76,19,60,0,77,19,60,0,78,19,60,0,79,19,60,0,136,19,60,0,57,216,251,223,60,0,137,19,60,0,57,216,252,223,60,0,138,19,60,0,139,19,60,0,80,19,60,0,81,19,60,0,82,19,60,0,83,19,60,0,84,19,60,0,85,19,60,0,86,19,60,0,87,19,60,0,140,19,60,0,57,216,253,223,60,0,141,19,60,0,57,216,254,223,60,0,142,19,60,0,143,19,60,0,146,45,60,0,88,19,60,0,89,19,60,0,90,19,60,0,160,45,60,0,161,45,60,0,162,45,60,0,163,45,60,0,164,45,60,0,165,45,60,0,166,45,60,0,168,45,60,0,169,45,60,0,170,45,60,0,171,45,60,0,172,45,60,0,173,45,60,0,174,45,60,0,176,45,60,0,177,45,60,0,178,45,60,0,179,45,60,0,180,45,60,0,181,45,60,0,182,45,60,0,184,45,60,0,185,45,60,0,186,45,60,0,187,45,60,0,188,45,60,0,189,45,60,0,190,45,60,0,192,45,60,0,193,45,60,0,194,45,60,0,195,45,60,0,196,45,60,0,197,45,60,0,198,45,60,0,200,45,60,0,201,45,60,0,202,45,60,0,203,45,60,0,204,45,60,0,205,45,60,0,206,45,60,0,57,216,224,223,60,0,208,45,60,0,57,216,225,223,60,0,209,45,60,0,57,216,226,223,60,0,210,45,60,0,57,216,227,223,60,0,211,45,60,0,57,216,228,223,60,0,212,45,60,0,57,216,229,223,60,0,213,45,60,0,57,216,230,223,60,0,214,45,60,0,216,45,60,0,217,45,60,0,218,45,60,0,219,45,60,0,220,45,60,0,221,45,60,0,222,45,60,0,80,9,60,0,253,168,60,0,114,9,60,0,4,9,60,0,5,9,60,0,6,9,60,0,115,9,60,0,116,9,60,0,117,9,60,0,118,9,60,0,119,9,60,0,7,9,60,0,8,9,60,0,9,9,60,0,10,9,60,0,11,9,60,0,96,9,60,0,12,9,60,0,97,9,60,0,13,9,60,0,14,9,60,0,15,9,60,0,16,9,60,0,254,168,60,0,17,9,60,0,18,9,60,0,19,9,60,0,20,9,60,0,21,9,60,0,22,9,60,0,23,9,60,0,123,9,60,0,24,9,60,0,25,9,60,0,26,9,60,0,27,9,60,0,28,9,60,0,121,9,60,0,124,9,60,0,29,9,60,0,30,9,60,0,31,9,60,0,32,9,60,0,120,9,60,0,33,9,60,0,126,9,60,0,34,9,60,0,35,9,60,0,36,9,60,0,37,9,60,0,38,9,60,0,39,9,60,0,40,9,60,0,42,9,60,0,43,9,60,0,44,9,60,0,127,9,60,0,45,9,60,0,46,9,60,0,47,9,60,0,122,9,60,0,48,9,60,0,50,9,60,0,51,9,60,0,53,9,60,0,54,9,60,0,55,9,60,0,56,9,60,0,57,9,60,0,61,9,60,0,125,9,60,0,233,28,60,0,60,0,60,0,234,28,61,0,235,28,61,0,236,28,61,0,238,28,61,0,239,28,61,0,240,28,61,0,241,28,61,0,250,28,60,0,245,28,60,0,246,28,60,0,242,168,60,0,60,0,60,0,243,168,61,0,244,168,61,0,245,168,61,0,246,168,61,0,247,168,60,0,251,168,60,0,62,9,60,0,58,9,60,0,59,9,60,0,79,9,60,0,86,9,60,0,87,9,60,0,63,9,60,0,64,9,60,0,65,9,60,0,66,9,60,0,67,9,60,0,68,9,60,0,98,9,60,0,99,9,60,0,69,9,60,0,85,9,60,0,70,9,60,0,71,9,60,0,78,9,60,0,72,9,60,0,255,168,60,0,73,9,60,0,74,9,60,0,75,9,60,0,76,9,60,0,77,9,60,0,128,9,60,0,133,9,60,0,134,9,60,0,135,9,60,0,136,9,60,0,137,9,60,0,138,9,60,0,139,9,60,0,224,9,60,0,140,9,60,0,225,9,60,0,143,9,60,0,144,9,60,0,147,9,60,0,148,9,60,0,149,9,60,0,150,9,60,0,151,9,60,0,152,9,60,0,153,9,60,0,154,9,60,0,155,9,60,0,156,9,60,0,157,9,60,0,158,9,60,0,159,9,60,0,160,9,60,0,161,9,60,0,162,9,60,0,163,9,60,0,164,9,60,0,60,0,60,0,206,9,47,0,205,9,60,0,165,9,60,0,166,9,60,0,167,9,60,0,168,9,60,0,170,9,60,0,171,9,60,0,172,9,60,0,173,9,60,0,174,9,60,0,175,9,60,0,176,9,60,0,240,9,60,0,178,9,60,0,241,9,60,0,182,9,60,0,183,9,60,0,184,9,60,0,185,9,60,0,189,9,60,0,190,9,60,0,191,9,60,0,192,9,60,0,193,9,60,0,194,9,60,0,195,9,60,0,196,9,60,0,226,9,60,0,227,9,60,0,199,9,60,0,200,9,60,0,203,9,60,0,204,9,60,0,205,9,60,0,215,9,60,0,252,9,60,0,116,10,60,0,115,10,60,0,9,10,60,0,10,10,60,0,19,10,60,0,5,10,60,0,6,10,60,0,16,10,60,0,20,10,60,0,114,10,60,0,7,10,60,0,8,10,60,0,15,10,60,0,56,10,60,0,57,10,60,0,81,10,60,0,21,10,60,0,22,10,60,0,23,10,60,0,24,10,60,0,25,10,60,0,26,10,60,0,27,10,60,0,28,10,60,0,29,10,60,0,30,10,60,0,31,10,60,0,32,10,60,0,33,10,60,0,34,10,60,0,35,10,60,0,36,10,60,0,37,10,60,0,38,10,60,0,39,10,60,0,40,10,60,0,42,10,60,0,43,10,60,0,44,10,60,0,45,10,60,0,46,10,60,0,47,10,60,0,117,10,60,0,48,10,60,0,50,10,60,0,53,10,60,0,92,10,60,0,62,10,60,0,63,10,60,0,64,10,60,0,65,10,60,0,66,10,60,0,71,10,60,0,72,10,60,0,75,10,60,0,76,10,60,0,77,10,60,0,208,10,60,0,133,10,60,0,134,10,60,0,135,10,60,0,136,10,60,0,137,10,60,0,138,10,60,0,139,10,60,0,224,10,60,0,140,10,60,0,225,10,60,0,141,10,60,0,143,10,60,0,144,10,60,0,145,10,60,0,147,10,60,0,148,10,60,0,149,10,60,0,150,10,60,0,151,10,60,0,152,10,60,0,153,10,60,0,154,10,60,0,155,10,60,0,156,10,60,0,249,10,60,0,157,10,60,0,158,10,60,0,159,10,60,0,160,10,60,0,161,10,60,0,162,10,60,0,163,10,60,0,164,10,60,0,165,10,60,0,166,10,60,0,167,10,60,0,168,10,60,0,170,10,60,0,171,10,60,0,172,10,60,0,173,10,60,0,174,10,60,0,175,10,60,0,176,10,60,0,178,10,60,0,181,10,60,0,182,10,60,0,183,10,60,0,184,10,60,0,185,10,60,0,179,10,60,0,189,10,60,0,190,10,60,0,191,10,60,0,192,10,60,0,193,10,60,0,194,10,60,0,195,10,60,0,196,10,60,0,226,10,60,0,227,10,60,0,197,10,60,0,199,10,60,0,200,10,60,0,201,10,60,0,203,10,60,0,204,10,60,0,205,10,60,0,5,11,60,0,6,11,60,0,7,11,60,0,8,11,60,0,9,11,60,0,10,11,60,0,11,11,60,0,96,11,60,0,12,11,60,0,97,11,60,0,15,11,60,0,16,11,60,0,19,11,60,0,20,11,60,0,21,11,60,0,22,11,60,0,23,11,60,0,24,11,60,0,25,11,60,0,26,11,60,0,27,11,60,0,28,11,60,0,29,11,60,0,30,11,60,0,31,11,60,0,32,11,60,0,33,11,60,0,34,11,60,0,35,11,60,0,36,11,60,0,37,11,60,0,38,11,60,0,39,11,60,0,40,11,60,0,42,11,60,0,43,11,60,0,44,11,60,0,45,11,60,0,46,11,60,0,47,11,60,0,95,11,60,0,48,11,60,0,50,11,60,0,51,11,60,0,53,11,60,0,113,11,60,0,54,11,60,0,55,11,60,0,56,11,60,0,57,11,60,0,61,11,60,0,62,11,60,0,63,11,60,0,64,11,60,0,65,11,60,0,66,11,60,0,67,11,60,0,68,11,60,0,98,11,60,0,99,11,60,0,71,11,60,0,72,11,60,0,75,11,60,0,76,11,60,0,77,11,60,0,86,11,60,0,87,11,60,0,208,11,60,0,133,11,60,0,134,11,60,0,135,11,60,0,136,11,60,0,137,11,60,0,138,11,60,0,142,11,60,0,143,11,60,0,144,11,60,0,146,11,60,0,147,11,60,0,148,11,60,0,131,11,60,0,149,11,60,0,153,11,60,0,154,11,60,0,158,11,60,0,159,11,60,0,163,11,60,0,164,11,60,0,168,11,60,0,170,11,60,0,174,11,60,0,175,11,60,0,176,11,60,0,178,11,60,0,181,11,60,0,180,11,60,0,179,11,60,0,177,11,60,0,169,11,60,0,156,11,60,0,182,11,60,0,183,11,60,0,184,11,60,0,185,11,60,0,190,11,60,0,191,11,60,0,192,11,60,0,193,11,60,0,194,11,60,0,198,11,60,0,199,11,60,0,200,11,60,0,202,11,60,0,203,11,60,0,204,11,60,0,205,11,60,0,215,11,60,0,5,12,60,0,6,12,60,0,7,12,60,0,8,12,60,0,9,12,60,0,10,12,60,0,11,12,60,0,96,12,60,0,12,12,60,0,97,12,60,0,14,12,60,0,15,12,60,0,16,12,60,0,18,12,60,0,19,12,60,0,20,12,60,0,21,12,60,0,22,12,60,0,23,12,60,0,24,12,60,0,25,12,60,0,26,12,60,0,88,12,60,0,27,12,60,0,28,12,60,0,89,12,60,0,29,12,60,0,30,12,60,0,31,12,60,0,32,12,60,0,33,12,60,0,34,12,60,0,35,12,60,0,36,12,60,0,37,12,60,0,38,12,60,0,39,12,60,0,40,12,60,0,60,0,60,0,93,12,47,0,77,12,60,0,42,12,60,0,43,12,60,0,44,12,60,0,45,12,60,0,46,12,60,0,47,12,60,0,48,12,60,0,49,12,60,0,50,12,60,0,53,12,60,0,54,12,60,0,55,12,60,0,56,12,60,0,57,12,60,0,51,12,60,0,52,12,60,0,90,12,60,0,61,12,60,0,62,12,60,0,63,12,60,0,64,12,60,0,65,12,60,0,66,12,60,0,67,12,60,0,68,12,60,0,98,12,60,0,99,12,60,0,70,12,60,0,71,12,60,0,72,12,60,0,74,12,60,0,75,12,60,0,76,12,60,0,77,12,60,0,85,12,60,0,86,12,60,0,133,12,60,0,134,12,60,0,135,12,60,0,136,12,60,0,137,12,60,0,138,12,60,0,139,12,60,0,224,12,60,0,140,12,60,0,225,12,60,0,142,12,60,0,143,12,60,0,144,12,60,0,146,12,60,0,147,12,60,0,148,12,60,0,149,12,60,0,150,12,60,0,151,12,60,0,152,12,60,0,153,12,60,0,154,12,60,0,155,12,60,0,156,12,60,0,157,12,60,0,158,12,60,0,159,12,60,0,160,12,60,0,161,12,60,0,162,12,60,0,163,12,60,0,164,12,60,0,165,12,60,0,166,12,60,0,167,12,60,0,168,12,60,0,60,0,60,0,221,12,47,0,205,12,60,0,170,12,60,0,171,12,60,0,172,12,60,0,173,12,60,0,174,12,60,0,175,12,60,0,176,12,60,0,177,12,60,0,178,12,60,0,181,12,60,0,182,12,60,0,183,12,60,0,184,12,60,0,185,12,60,0,179,12,60,0,222,12,60,0,189,12,60,0,241,12,60,0,242,12,60,0,128,12,60,0,190,12,60,0,191,12,60,0,192,12,60,0,193,12,60,0,194,12,60,0,195,12,60,0,196,12,60,0,226,12,60,0,227,12,60,0,198,12,60,0,199,12,60,0,200,12,60,0,202,12,60,0,203,12,61,0,203,12,60,0,204,12,60,0,205,12,60,0,213,12,60,0,214,12,60,0,5,13,60,0,6,13,60,0,7,13,60,0,8,13,60,0,95,13,60,0,9,13,60,0,10,13,60,0,11,13,60,0,96,13,60,0,12,13,60,0,97,13,60,0,14,13,60,0,15,13,60,0,16,13,60,0,18,13,60,0,19,13,60,0,20,13,60,0,21,13,60,0,60,0,60,0,127,13,47,0,77,13,60,0,22,13,60,0,23,13,60,0,24,13,60,0,25,13,60,0,26,13,60,0,27,13,60,0,28,13,60,0,29,13,60,0,30,13,60,0,31,13,60,0,32,13,60,0,33,13,60,0,34,13,60,0,35,13,60,0,60,0,60,0,122,13,47,0,77,13,60,0,36,13,60,0,37,13,60,0,38,13,60,0,39,13,60,0,40,13,60,0,60,0,60,0,123,13,47,0,77,13,60,0,41,13,60,0,42,13,60,0,43,13,60,0,44,13,60,0,45,13,60,0,46,13,60,0,60,0,60,0,84,13,47,0,77,13,60,0,47,13,60,0,60,0,60,0,85,13,47,0,77,13,60,0,48,13,60,0,60,0,60,0,78,13,47,0,77,13,61,0,124,13,47,0,77,13,60,0,50,13,60,0,60,0,60,0,125,13,47,0,77,13,60,0,53,13,60,0,54,13,60,0,55,13,60,0,56,13,60,0,57,13,60,0,51,13,60,0,60,0,60,0,126,13,47,0,77,13,60,0,52,13,60,0,60,0,60,0,86,13,47,0,77,13,60,0,49,13,60,0,58,13,60,0,61,13,60,0,4,13,60,0,62,13,60,0,63,13,60,0,64,13,60,0,65,13,60,0,66,13,60,0,67,13,60,0,68,13,60,0,98,13,60,0,99,13,60,0,70,13,60,0,71,13,60,0,72,13,60,0,74,13,60,0,75,13,60,0,76,13,60,0,87,13,60,0,77,13,60,0,60,0,60,0,59,13,61,0,60,13,60,0,133,13,60,0,134,13,60,0,135,13,60,0,136,13,60,0,137,13,60,0,138,13,60,0,139,13,60,0,140,13,60,0,141,13,60,0,142,13,60,0,143,13,60,0,144,13,60,0,145,13,60,0,146,13,60,0,147,13,60,0,148,13,60,0,149,13,60,0,150,13,60,0,154,13,60,0,155,13,60,0,156,13,60,0,157,13,60,0,158,13,60,0,159,13,60,0,160,13,60,0,161,13,60,0,162,13,60,0,163,13,60,0,164,13,60,0,165,13,60,0,166,13,60,0,167,13,60,0,168,13,60,0,169,13,60,0,170,13,60,0,171,13,60,0,172,13,60,0,173,13,60,0,174,13,60,0,175,13,60,0,176,13,60,0,177,13,60,0,179,13,60,0,180,13,60,0,181,13,60,0,182,13,60,0,183,13,60,0,184,13,60,0,185,13,60,0,186,13,60,0,187,13,60,0,189,13,60,0,192,13,60,0,193,13,60,0,194,13,60,0,195,13,60,0,196,13,60,0,197,13,60,0,198,13,60,0,207,13,60,0,208,13,60,0,209,13,60,0,210,13,60,0,211,13,60,0,212,13,60,0,214,13,60,0,216,13,60,0,242,13,60,0,223,13,60,0,243,13,60,0,217,13,60,0,218,13,60,0,219,13,60,0,220,13,60,0,221,13,61,0,221,13,60,0,222,13,60,0,202,13,60,0,242,170,60,0,192,171,60,0,193,171,60,0,194,171,60,0,195,171,60,0,196,171,60,0,197,171,60,0,198,171,60,0,199,171,60,0,200,171,60,0,201,171,60,0,202,171,60,0,203,171,60,0,204,171,60,0,205,171,60,0,206,171,60,0,207,171,60,0,208,171,60,0,209,171,60,0,210,171,60,0,211,171,60,0,212,171,60,0,213,171,60,0,214,171,60,0,215,171,60,0,216,171,60,0,217,171,60,0,218,171,60,0,224,170,60,0,225,170,60,0,226,170,60,0,227,170,60,0,228,170,60,0,229,170,60,0,230,170,60,0,231,170,60,0,232,170,60,0,233,170,60,0,234,170,60,0,227,171,60,0,228,171,60,0,229,171,60,0,230,171,60,0,231,171,60,0,232,171,60,0,233,171,60,0,234,171,60,0,235,170,60,0,236,170,60,0,237,170,60,0,238,170,60,0,239,170,60,0,245,170,60,0,219,171,60,0,220,171,60,0,221,171,60,0,222,171,60,0,223,171,60,0,224,171,60,0,225,171,60,0,226,171,60,0,237,171,60,0,246,170,60,0,0,168,60,0,1,168,60,0,2,168,60,0,3,168,60,0,4,168,60,0,5,168,60,0,6,168,60,0,44,168,60,0,7,168,60,0,8,168,60,0,9,168,60,0,10,168,60,0,12,168,60,0,13,168,60,0,14,168,60,0,15,168,60,0,16,168,60,0,17,168,60,0,18,168,60,0,19,168,60,0,20,168,60,0,21,168,60,0,22,168,60,0,23,168,60,0,24,168,60,0,25,168,60,0,26,168,60,0,27,168,60,0,28,168,60,0,29,168,60,0,30,168,60,0,31,168,60,0,32,168,60,0,33,168,60,0,34,168,60,0,35,168,60,0,36,168,60,0,37,168,60,0,38,168,60,0,39,168,60,0,130,168,60,0,131,168,60,0,132,168,60,0,133,168,60,0,134,168,60,0,135,168,60,0,136,168,60,0,137,168,60,0,138,168,60,0,139,168,60,0,140,168,60,0,141,168,60,0,142,168,60,0,143,168,60,0,144,168,60,0,145,168,60,0,146,168,60,0,147,168,60,0,148,168,60,0,149,168,60,0,150,168,60,0,151,168,60,0,152,168,60,0,153,168,60,0,154,168,60,0,155,168,60,0,156,168,60,0,157,168,60,0,158,168,60,0,159,168,60,0,160,168,60,0,161,168,60,0,162,168,60,0,163,168,60,0,164,168,60,0,165,168,60,0,166,168,60,0,167,168,60,0,168,168,60,0,169,168,60,0,170,168,60,0,171,168,60,0,172,168,60,0,173,168,60,0,174,168,60,0,175,168,60,0,176,168,60,0,177,168,60,0,178,168,60,0,179,168,60,0,180,168,60,0,181,168,60,0,182,168,60,0,183,168,60,0,184,168,60,0,185,168,60,0,186,168,60,0,187,168,60,0,188,168,60,0,189,168,60,0,190,168,60,0,191,168,60,0,192,168,60,0,193,168,60,0,194,168,60,0,195,168,60,0,196,168,60,0,4,216,131,220,60,0,4,216,132,220,60,0,4,216,133,220,60,0,4,216,134,220,60,0,4,216,135,220,60,0,4,216,136,220,60,0,4,216,137,220,60,0,4,216,138,220,60,0,4,216,139,220,60,0,4,216,140,220,60,0,4,216,141,220,60,0,4,216,142,220,60,0,4,216,143,220,60,0,4,216,144,220,60,0,4,216,145,220,60,0,4,216,146,220,60,0,4,216,147,220,60,0,4,216,148,220,60,0,4,216,149,220,60,0,4,216,150,220,60,0,4,216,151,220,60,0,4,216,152,220,60,0,4,216,153,220,60,0,4,216,155,220,60,0,4,216,157,220,60,0,4,216,158,220,60,0,4,216,159,220,60,0,4,216,160,220,60,0,4,216,161,220,60,0,4,216,162,220,60,0,4,216,163,220,60,0,4,216,164,220,60,0,4,216,165,220,60,0,4,216,166,220,60,0,4,216,167,220,60,0,4,216,168,220,60,0,4,216,169,220,60,0,4,216,170,220,60,0,4,216,172,220,60,0,4,216,173,220,60,0,4,216,174,220,60,0,4,216,175,220,60,0,4,216,176,220,60,0,4,216,177,220,60,0,4,216,178,220,60,0,4,216,179,220,60,0,4,216,180,220,60,0,4,216,194,220,60,0,4,216,181,220,60,0,4,216,182,220,60,0,4,216,183,220,60,0,4,216,184,220,60,0,4,216,185,220,60,0,4,216,80,221,60,0,4,216,81,221,60,0,4,216,82,221,60,0,4,216,83,221,60,0,4,216,84,221,60,0,4,216,85,221,60,0,4,216,86,221,60,0,4,216,87,221,60,0,4,216,88,221,60,0,4,216,89,221,60,0,4,216,90,221,60,0,4,216,91,221,60,0,4,216,92,221,60,0,4,216,93,221,60,0,4,216,94,221,60,0,4,216,95,221,60,0,4,216,96,221,60,0,4,216,97,221,60,0,4,216,98,221,60,0,4,216,99,221,60,0,4,216,100,221,60,0,4,216,101,221,60,0,4,216,102,221,60,0,4,216,103,221,60,0,4,216,104,221,60,0,4,216,105,221,60,0,4,216,106,221,60,0,4,216,107,221,60,0,4,216,108,221,60,0,4,216,109,221,60,0,4,216,110,221,60,0,4,216,111,221,60,0,4,216,118,221,60,0,4,216,112,221,60,0,4,216,113,221,60,0,4,216,114,221,60,0,4,216,196,221,60,0,4,216,218,221,60,0,4,216,131,221,60,0,4,216,132,221,60,0,4,216,133,221,60,0,4,216,134,221,60,0,4,216,135,221,60,0,4,216,136,221,60,0,4,216,137,221,60,0,4,216,138,221,60,0,4,216,139,221,60,0,4,216,140,221,60,0,4,216,141,221,60,0,4,216,142,221,60,0,4,216,143,221,60,0,4,216,144,221,60,0,4,216,145,221,60,0,4,216,146,221,60,0,4,216,147,221,60,0,4,216,148,221,60,0,4,216,149,221,60,0,4,216,150,221,60,0,4,216,151,221,60,0,4,216,152,221,60,0,4,216,153,221,60,0,4,216,154,221,60,0,4,216,155,221,60,0,4,216,156,221,60,0,4,216,157,221,60,0,4,216,158,221,60,0,4,216,159,221,60,0,4,216,160,221,60,0,4,216,161,221,60,0,4,216,162,221,60,0,4,216,163,221,60,0,4,216,164,221,60,0,4,216,165,221,60,0,4,216,166,221,60,0,4,216,167,221,60,0,4,216,168,221,60,0,4,216,169,221,60,0,4,216,170,221,60,0,4,216,171,221,60,0,4,216,172,221,60,0,4,216,173,221,60,0,4,216,174,221,60,0,4,216,175,221,60,0,4,216,176,221,60,0,4,216,177,221,60,0,4,216,178,221,60,0,4,216,193,221,60,0,4,216,194,221,60,0,4,216,195,221,60,0,4,216,220,221,60,0,4,216,179,221,60,0,4,216,180,221,60,0,4,216,181,221,60,0,4,216,182,221,60,0,4,216,183,221,60,0,4,216,184,221,60,0,4,216,185,221,60,0,4,216,186,221,60,0,4,216,187,221,60,0,4,216,188,221,60,0,4,216,206,221,60,0,4,216,189,221,60,0,4,216,190,221,60,0,4,216,191,221,60,0,4,216,192,221,60,0,4,216,0,222,60,0,4,216,1,222,60,0,4,216,64,222,60,0,4,216,2,222,60,0,4,216,3,222,60,0,4,216,4,222,60,0,4,216,5,222,60,0,4,216,6,222,60,0,4,216,7,222,60,0,4,216,8,222,60,0,4,216,63,222,60,0,4,216,9,222,60,0,4,216,10,222,60,0,4,216,11,222,60,0,4,216,12,222,60,0,4,216,13,222,60,0,4,216,14,222,60,0,4,216,15,222,60,0,4,216,16,222,60,0,4,216,17,222,60,0,4,216,19,222,60,0,4,216,20,222,60,0,4,216,21,222,60,0,4,216,22,222,60,0,4,216,23,222,60,0,4,216,24,222,60,0,4,216,25,222,60,0,4,216,26,222,60,0,4,216,27,222,60,0,4,216,28,222,60,0,4,216,29,222,60,0,4,216,30,222,60,0,4,216,31,222,60,0,4,216,32,222,60,0,4,216,33,222,60,0,4,216,34,222,60,0,4,216,35,222,60,0,4,216,36,222,60,0,4,216,37,222,60,0,4,216,38,222,60,0,4,216,39,222,60,0,4,216,40,222,60,0,4,216,41,222,60,0,4,216,42,222,60,0,4,216,43,222,60,0,4,216,44,222,60,0,4,216,45,222,60,0,4,216,46,222,60,0,4,216,47,222,60,0,4,216,65,222,60,0,4,216,48,222,60,0,4,216,49,222,60,0,4,216,50,222,60,0,4,216,51,222,60,0,4,216,53,222,60,0,4,216,176,222,60,0,4,216,177,222,60,0,4,216,178,222,60,0,4,216,179,222,60,0,4,216,180,222,60,0,4,216,181,222,60,0,4,216,182,222,60,0,4,216,183,222,60,0,4,216,184,222,60,0,4,216,185,222,60,0,4,216,186,222,60,0,4,216,187,222,60,0,4,216,188,222,60,0,4,216,189,222,60,0,4,216,190,222,60,0,4,216,191,222,60,0,4,216,192,222,60,0,4,216,193,222,60,0,4,216,194,222,60,0,4,216,195,222,60,0,4,216,196,222,60,0,4,216,197,222,60,0,4,216,198,222,60,0,4,216,199,222,60,0,4,216,200,222,60,0,4,216,201,222,60,0,4,216,202,222,60,0,4,216,203,222,60,0,4,216,204,222,60,0,4,216,205,222,60,0,4,216,206,222,60,0,4,216,207,222,60,0,4,216,208,222,60,0,4,216,209,222,60,0,4,216,210,222,60,0,4,216,211,222,60,0,4,216,212,222,60,0,4,216,213,222,60,0,4,216,214,222,60,0,4,216,215,222,60,0,4,216,216,222,60,0,4,216,217,222,60,0,4,216,218,222,60,0,4,216,219,222,60,0,4,216,220,222,60,0,4,216,221,222,60,0,4,216,222,222,60,0,4,216,224,222,60,0,4,216,225,222,60,0,4,216,226,222,60,0,4,216,227,222,60,0,4,216,228,222,60,0,4,216,229,222,60,0,4,216,230,222,60,0,4,216,231,222,60,0,4,216,232,222,60,0,4,216,234,222,60,0,4,216,128,222,60,0,4,216,129,222,60,0,4,216,130,222,60,0,4,216,131,222,60,0,4,216,165,222,60,0,4,216,166,222,60,0,4,216,132,222,60,0,4,216,133,222,60,0,4,216,134,222,60,0,4,216,136,222,60,0,4,216,138,222,60,0,4,216,139,222,60,0,4,216,140,222,60,0,4,216,141,222,60,0,4,216,143,222,60,0,4,216,144,222,60,0,4,216,145,222,60,0,4,216,146,222,60,0,4,216,147,222,60,0,4,216,148,222,60,0,4,216,149,222,60,0,4,216,150,222,60,0,4,216,151,222,60,0,4,216,152,222,60,0,4,216,153,222,60,0,4,216,154,222,60,0,4,216,155,222,60,0,4,216,156,222,60,0,4,216,157,222,60,0,4,216,159,222,60,0,4,216,160,222,60,0,4,216,161,222,60,0,4,216,162,222,60,0,4,216,163,222,60,0,4,216,164,222,60,0,4,216,167,222,60,0,4,216,168,222,60,0,4,216,80,223,60,0,4,216,5,223,60,0,4,216,6,223,60,0,4,216,7,223,60,0,4,216,8,223,60,0,4,216,9,223,60,0,4,216,10,223,60,0,4,216,11,223,60,0,4,216,96,223,60,0,4,216,12,223,60,0,4,216,97,223,60,0,4,216,15,223,60,0,4,216,16,223,60,0,4,216,19,223,60,0,4,216,20,223,60,0,4,216,21,223,60,0,4,216,22,223,60,0,4,216,23,223,60,0,4,216,24,223,60,0,4,216,25,223,60,0,4,216,26,223,60,0,4,216,27,223,60,0,4,216,28,223,60,0,4,216,29,223,60,0,4,216,30,223,60,0,4,216,31,223,60,0,4,216,32,223,60,0,4,216,33,223,60,0,4,216,34,223,60,0,4,216,35,223,60,0,4,216,36,223,60,0,4,216,37,223,60,0,4,216,38,223,60,0,4,216,39,223,60,0,4,216,40,223,60,0,4,216,42,223,60,0,4,216,43,223,60,0,4,216,44,223,60,0,4,216,45,223,60,0,4,216,46,223,60,0,4,216,47,223,60,0,4,216,48,223,60,0,4,216,50,223,60,0,4,216,51,223,60,0,4,216,53,223,60,0,4,216,54,223,60,0,4,216,55,223,60,0,4,216,56,223,60,0,4,216,57,223,60,0,4,216,61,223,60,0,4,216,94,223,60,0,4,216,95,223,60,0,4,216,62,223,60,0,4,216,63,223,60,0,4,216,64,223,60,0,4,216,65,223,60,0,4,216,66,223,60,0,4,216,67,223,60,0,4,216,68,223,60,0,4,216,98,223,60,0,4,216,99,223,60,0,4,216,71,223,60,0,4,216,72,223,60,0,4,216,75,223,60,0,4,216,76,223,60,0,4,216,77,223,60,0,4,216,87,223,60,0,4,216,93,223,60,0,5,216,73,220,60,0,5,216,74,220,60,0,5,216,0,220,60,0,5,216,1,220,60,0,5,216,2,220,60,0,5,216,3,220,60,0,5,216,4,220,60,0,5,216,5,220,60,0,5,216,6,220,60,0,5,216,7,220,60,0,5,216,8,220,60,0,5,216,9,220,60,0,5,216,10,220,60,0,5,216,11,220,60,0,5,216,12,220,60,0,5,216,13,220,60,0,5,216,14,220,60,0,5,216,15,220,60,0,5,216,16,220,60,0,5,216,17,220,60,0,5,216,18,220,60,0,5,216,19,220,60,0,5,216,20,220,60,0,5,216,21,220,60,0,5,216,22,220,60,0,5,216,23,220,60,0,5,216,24,220,60,0,5,216,25,220,60,0,5,216,26,220,60,0,5,216,27,220,60,0,5,216,28,220,60,0,5,216,29,220,60,0,5,216,30,220,60,0,5,216,31,220,60,0,5,216,32,220,60,0,5,216,33,220,60,0,5,216,34,220,60,0,5,216,35,220,60,0,5,216,36,220,60,0,5,216,37,220,60,0,5,216,38,220,60,0,5,216,39,220,60,0,5,216,40,220,60,0,5,216,41,220,60,0,5,216,42,220,60,0,5,216,43,220,60,0,5,216,44,220,60,0,5,216,45,220,60,0,5,216,46,220,60,0,5,216,47,220,60,0,5,216,48,220,60,0,5,216,49,220,60,0,5,216,50,220,60,0,5,216,51,220,60,0,5,216,52,220,60,0,5,216,71,220,60,0,5,216,96,220,60,0,5,216,97,220,60,0,5,216,72,220,60,0,5,216,95,220,60,0,5,216,53,220,60,0,5,216,54,220,60,0,5,216,55,220,60,0,5,216,56,220,60,0,5,216,57,220,60,0,5,216,58,220,60,0,5,216,59,220,60,0,5,216,60,220,60,0,5,216,61,220,60,0,5,216,62,220,60,0,5,216,63,220,60,0,5,216,64,220,60,0,5,216,65,220,60,0,5,216,66,220,60,0,5,216,199,220,60,0,5,216,128,220,60,0,5,216,129,220,60,0,5,216,130,220,60,0,5,216,131,220,60,0,5,216,132,220,60,0,5,216,133,220,60,0,5,216,134,220,60,0,5,216,135,220,60,0,5,216,136,220,60,0,5,216,137,220,60,0,5,216,138,220,60,0,5,216,139,220,60,0,5,216,140,220,60,0,5,216,141,220,60,0,5,216,142,220,60,0,5,216,143,220,60,0,5,216,144,220,60,0,5,216,145,220,60,0,5,216,146,220,60,0,5,216,147,220,60,0,5,216,148,220,60,0,5,216,149,220,60,0,5,216,150,220,60,0,5,216,151,220,60,0,5,216,152,220,60,0,5,216,153,220,60,0,5,216,154,220,60,0,5,216,155,220,60,0,5,216,156,220,60,0,5,216,157,220,60,0,5,216,158,220,60,0,5,216,159,220,60,0,5,216,160,220,60,0,5,216,161,220,60,0,5,216,162,220,60,0,5,216,163,220,60,0,5,216,164,220,60,0,5,216,165,220,60,0,5,216,166,220,60,0,5,216,167,220,60,0,5,216,168,220,60,0,5,216,169,220,60,0,5,216,170,220,60,0,5,216,171,220,60,0,5,216,172,220,60,0,5,216,173,220,60,0,5,216,174,220,60,0,5,216,175,220,60,0,5,216,196,220,60,0,5,216,197,220,60,0,5,216,176,220,60,0,5,216,177,220,60,0,5,216,178,220,60,0,5,216,179,220,60,0,5,216,180,220,60,0,5,216,181,220,60,0,5,216,182,220,60,0,5,216,183,220,60,0,5,216,184,220,60,0,5,216,185,220,60,0,5,216,186,220,60,0,5,216,187,220,60,0,5,216,188,220,60,0,5,216,189,220,60,0,5,216,190,220,60,0,5,216,194,220,60,0,5,216,128,221,60,0,5,216,129,221,60,0,5,216,130,221,60,0,60,0,5,216,216,221,60,0,60,0,5,216,217,221,60,0,5,216,131,221,60,0,60,0,5,216,218,221,60,0,5,216,132,221,60,0,60,0,5,216,219,221,60,0,5,216,133,221,60,0,5,216,134,221,60,0,5,216,135,221,60,0,5,216,136,221,60,0,5,216,137,221,60,0,5,216,138,221,60,0,5,216,139,221,60,0,5,216,140,221,60,0,5,216,141,221,60,0,5,216,142,221,60,0,5,216,143,221,60,0,5,216,144,221,60,0,5,216,145,221,60,0,5,216,146,221,60,0,5,216,147,221,60,0,5,216,148,221,60,0,5,216,149,221,60,0,5,216,150,221,60,0,5,216,151,221,60,0,5,216,152,221,60,0,5,216,153,221,60,0,5,216,154,221,60,0,5,216,155,221,60,0,5,216,156,221,60,0,5,216,157,221,60,0,5,216,158,221,60,0,5,216,159,221,60,0,5,216,160,221,60,0,5,216,161,221,60,0,5,216,162,221,60,0,5,216,163,221,60,0,5,216,164,221,60,0,5,216,165,221,60,0,5,216,166,221,60,0,5,216,167,221,60,0,5,216,168,221,60,0,5,216,169,221,60,0,5,216,170,221,60,0,5,216,171,221,60,0,5,216,172,221,60,0,5,216,173,221,60,0,5,216,174,221,60,0,5,216,175,221,60,0,5,216,176,221,60,0,5,216,177,221,60,0,5,216,178,221,60,0,60,0,5,216,220,221,60,0,5,216,179,221,60,0,60,0,5,216,221,221,60,0,5,216,180,221,60,0,5,216,181,221,60,0,5,216,184,221,60,0,5,216,185,221,60,0,5,216,186,221,60,0,5,216,187,221,60,0,5,216,191,221,60,0,5,216,0,222,60,0,5,216,1,222,60,0,5,216,2,222,60,0,5,216,3,222,60,0,5,216,4,222,60,0,5,216,5,222,60,0,5,216,6,222,60,0,5,216,7,222,60,0,5,216,8,222,60,0,5,216,9,222,60,0,5,216,10,222,60,0,5,216,11,222,60,0,5,216,12,222,60,0,5,216,13,222,60,0,5,216,14,222,60,0,5,216,15,222,60,0,5,216,16,222,60,0,5,216,17,222,60,0,5,216,18,222,60,0,5,216,19,222,60,0,5,216,20,222,60,0,5,216,21,222,60,0,5,216,22,222,60,0,5,216,23,222,60,0,5,216,24,222,60,0,5,216,25,222,60,0,5,216,26,222,60,0,5,216,27,222,60,0,5,216,28,222,60,0,5,216,29,222,60,0,5,216,30,222,60,0,5,216,31,222,60,0,5,216,32,222,60,0,5,216,33,222,60,0,5,216,34,222,60,0,5,216,35,222,60,0,5,216,36,222,60,0,5,216,37,222,60,0,5,216,38,222,60,0,5,216,39,222,60,0,5,216,40,222,60,0,5,216,41,222,60,0,5,216,42,222,60,0,5,216,43,222,60,0,5,216,44,222,60,0,5,216,45,222,60,0,5,216,46,222,60,0,5,216,47,222,60,0,5,216,48,222,60,0,5,216,49,222,60,0,5,216,50,222,60,0,5,216,51,222,60,0,5,216,52,222,60,0,5,216,53,222,60,0,5,216,54,222,60,0,5,216,55,222,60,0,5,216,56,222,60,0,5,216,57,222,60,0,5,216,58,222,60,0,5,216,59,222,60,0,5,216,60,222,60,0,5,216,63,222,60,0,5,216,68,222,60,0,5,216,128,222,60,0,5,216,129,222,60,0,5,216,130,222,60,0,5,216,131,222,60,0,5,216,132,222,60,0,5,216,133,222,60,0,5,216,134,222,60,0,5,216,135,222,60,0,5,216,136,222,60,0,5,216,137,222,60,0,5,216,168,222,60,0,5,216,167,222,60,0,5,216,169,222,60,0,5,216,138,222,60,0,5,216,139,222,60,0,5,216,184,222,60,0,5,216,140,222,60,0,5,216,141,222,60,0,5,216,142,222,60,0,5,216,143,222,60,0,5,216,144,222,60,0,5,216,145,222,60,0,5,216,146,222,60,0,5,216,147,222,60,0,5,216,148,222,60,0,5,216,149,222,60,0,5,216,150,222,60,0,5,216,151,222,60,0,5,216,152,222,60,0,5,216,153,222,60,0,5,216,154,222,60,0,5,216,155,222,60,0,5,216,156,222,60,0,5,216,157,222,60,0,5,216,158,222,60,0,5,216,159,222,60,0,5,216,160,222,60,0,5,216,161,222,60,0,5,216,162,222,60,0,5,216,163,222,60,0,5,216,164,222,60,0,5,216,165,222,60,0,5,216,166,222,60,0,5,216,170,222,60,0,5,216,173,222,60,0,5,216,174,222,60,0,5,216,175,222,60,0,5,216,176,222,60,0,5,216,177,222,60,0,5,216,178,222,60,0,5,216,179,222,60,0,5,216,180,222,60,0,5,216,181,222,60,0,5,216,182,222,60,0,6,216,0,221,60,0,6,216,1,221,60,0,6,216,2,221,60,0,6,216,3,221,60,0,6,216,4,221,60,0,6,216,5,221,60,0,6,216,6,221,60,0,6,216,9,221,60,0,6,216,12,221,60,0,6,216,13,221,60,0,6,216,14,221,60,0,6,216,15,221,60,0,6,216,16,221,60,0,6,216,63,221,60,0,6,216,17,221,60,0,6,216,18,221,60,0,6,216,19,221,60,0,6,216,21,221,60,0,6,216,22,221,60,0,6,216,24,221,60,0,6,216,25,221,60,0,6,216,26,221,60,0,6,216,27,221,60,0,6,216,28,221,60,0,6,216,29,221,60,0,6,216,30,221,60,0,6,216,31,221,60,0,6,216,32,221,60,0,6,216,33,221,60,0,6,216,34,221,60,0,6,216,35,221,60,0,6,216,36,221,60,0,6,216,37,221,60,0,6,216,64,221,60,0,6,216,38,221,60,0,6,216,65,221,60,0,6,216,39,221,60,0,6,216,66,221,60,0,6,216,40,221,60,0,6,216,41,221,60,0,6,216,42,221,60,0,6,216,43,221,60,0,6,216,44,221,60,0,6,216,45,221,60,0,6,216,46,221,60,0,6,216,47,221,60,0,6,216,48,221,60,0,6,216,49,221,60,0,6,216,50,221,60,0,6,216,51,221,60,0,6,216,52,221,60,0,6,216,53,221,60,0,6,216,55,221,60,0,6,216,56,221,60,0,6,216,61,221,60,0,6,216,62,221,60,0,6,216,160,221,60,0,6,216,161,221,60,0,6,216,162,221,60,0,6,216,163,221,60,0,6,216,164,221,60,0,6,216,165,221,60,0,6,216,166,221,60,0,6,216,167,221,60,0,6,216,170,221,60,0,6,216,171,221,60,0,6,216,172,221,60,0,6,216,173,221,60,0,6,216,174,221,60,0,6,216,175,221,60,0,6,216,176,221,60,0,6,216,177,221,60,0,6,216,178,221,60,0,6,216,179,221,60,0,6,216,180,221,60,0,6,216,181,221,60,0,6,216,182,221,60,0,6,216,183,221,60,0,6,216,184,221,60,0,6,216,185,221,60,0,6,216,186,221,60,0,6,216,187,221,60,0,6,216,188,221,60,0,6,216,189,221,60,0,6,216,190,221,60,0,6,216,191,221,60,0,6,216,192,221,60,0,6,216,193,221,60,0,6,216,194,221,60,0,6,216,195,221,60,0,6,216,196,221,60,0,6,216,197,221,60,0,6,216,198,221,60,0,6,216,199,221,60,0,6,216,200,221,60,0,6,216,201,221,60,0,6,216,202,221,60,0,6,216,203,221,60,0,6,216,204,221,60,0,6,216,205,221,60,0,6,216,206,221,60,0,6,216,207,221,60,0,6,216,208,221,60,0,6,216,225,221,60,0,6,216,227,221,60,0,6,216,209,221,60,0,6,216,210,221,60,0,6,216,211,221,60,0,6,216,212,221,60,0,6,216,213,221,60,0,6,216,214,221,60,0,6,216,215,221,60,0,6,216,218,221,60,0,6,216,228,221,60,0,6,216,219,221,60,0,6,216,220,221,60,0,6,216,221,221,60,0,6,216,224,221,60,0,6,216,0,220,60,0,6,216,1,220,60,0,6,216,2,220,60,0,6,216,3,220,60,0,6,216,4,220,60,0,6,216,5,220,60,0,6,216,6,220,60,0,6,216,7,220,60,0,6,216,8,220,60,0,6,216,9,220,60,0,6,216,10,220,60,0,6,216,11,220,60,0,6,216,12,220,60,0,6,216,13,220,60,0,6,216,14,220,60,0,6,216,15,220,60,0,6,216,16,220,60,0,6,216,17,220,60,0,6,216,18,220,60,0,6,216,19,220,60,0,6,216,20,220,60,0,6,216,21,220,60,0,6,216,22,220,60,0,6,216,23,220,60,0,6,216,24,220,60,0,6,216,25,220,60,0,6,216,26,220,60,0,6,216,27,220,60,0,6,216,28,220,60,0,6,216,29,220,60,0,6,216,30,220,60,0,6,216,31,220,60,0,6,216,32,220,60,0,6,216,33,220,60,0,6,216,34,220,60,0,6,216,35,220,60,0,6,216,36,220,60,0,6,216,37,220,60,0,6,216,38,220,60,0,6,216,39,220,60,0,6,216,40,220,60,0,6,216,41,220,60,0,6,216,42,220,60,0,6,216,43,220,60,0,6,216,44,220,60,0,6,216,45,220,60,0,6,216,46,220,60,0,6,216,47,220,60,0,6,216,48,220,60,0,6,216,49,220,60,0,6,216,50,220,60,0,6,216,51,220,60,0,6,216,52,220,60,0,6,216,53,220,60,0,6,216,54,220,60,0,6,216,57,220,60,0,5,216,0,223,60,0,5,216,1,223,60,0,5,216,2,223,60,0,5,216,3,223,60,0,5,216,4,223,60,0,60,0,5,216,5,223,60,0,5,216,6,223,60,0,5,216,7,223,60,0,5,216,8,223,60,0,60,0,5,216,26,223,60,0,5,216,9,223,60,0,5,216,10,223,60,0,5,216,11,223,60,0,5,216,12,223,60,0,5,216,13,223,60,0,5,216,14,223,60,0,5,216,15,223,60,0,5,216,16,223,60,0,5,216,17,223,60,0,5,216,18,223,60,0,5,216,19,223,60,0,5,216,20,223,60,0,5,216,21,223,60,0,60,0,5,216,22,223,60,0,5,216,23,223,60,0,5,216,24,223,60,0,5,216,25,223,60,0,5,216,64,223,60,0,5,216,65,223,60,0,5,216,66,223,60,0,5,216,67,223,60,0,5,216,68,223,60,0,5,216,69,223,60,0,5,216,70,223,60,0,5,216,32,223,60,0,5,216,33,223,60,0,5,216,34,223,60,0,5,216,35,223,60,0,5,216,36,223,60,0,5,216,37,223,60,0,5,216,38,223,60,0,5,216,39,223,60,0,5,216,40,223,60,0,5,216,41,223,60,0,5,216,42,223,60,0,5,216,43,223,60,0,5,216,29,223,60,0,5,216,30,223,60,0,5,216,31,223,60,0,7,216,0,221,60,0,7,216,1,221,60,0,7,216,2,221,60,0,7,216,3,221,60,0,7,216,4,221,60,0,7,216,5,221,60,0,7,216,6,221,60,0,7,216,8,221,60,0,7,216,9,221,60,0,7,216,11,221,60,0,7,216,12,221,60,0,7,216,13,221,60,0,7,216,14,221,60,0,7,216,15,221,60,0,7,216,16,221,60,0,7,216,17,221,60,0,7,216,18,221,60,0,7,216,19,221,60,0,7,216,20,221,60,0,7,216,21,221,60,0,7,216,22,221,60,0,7,216,23,221,60,0,7,216,24,221,60,0,7,216,25,221,60,0,7,216,26,221,60,0,7,216,27,221,60,0,7,216,28,221,60,0,7,216,29,221,60,0,7,216,30,221,60,0,7,216,31,221,60,0,7,216,32,221,60,0,7,216,33,221,60,0,7,216,34,221,60,0,7,216,35,221,60,0,7,216,36,221,60,0,7,216,37,221,60,0,7,216,38,221,60,0,60,0,60,0,7,216,70,221,60,0,60,0,60,0,7,216,71,221,60,0,7,216,39,221,60,0,7,216,40,221,60,0,7,216,41,221,60,0,7,216,42,221,60,0,7,216,43,221,60,0,7,216,44,221,60,0,7,216,45,221,60,0,7,216,46,221,60,0,7,216,47,221,60,0,7,216,48,221,60,0,7,216,49,221,60,0,7,216,50,221,60,0,7,216,51,221,60,0,7,216,52,221,60,0,7,216,53,221,60,0,7,216,54,221,60,0,7,216,58,221,60,0,7,216,60,221,60,0,7,216,61,221,60,0,7,216,63,221,60,0,7,216,68,221,60,0,7,216,69,221,60,0,7,216,152,221,60,0,7,216,96,221,60,0,7,216,97,221,60,0,7,216,98,221,60,0,7,216,99,221,60,0,7,216,100,221,60,0,7,216,101,221,60,0,7,216,103,221,60,0,7,216,104,221,60,0,7,216,106,221,60,0,7,216,107,221,60,0,7,216,108,221,60,0,7,216,109,221,60,0,7,216,110,221,60,0,7,216,111,221,60,0,7,216,112,221,60,0,7,216,113,221,60,0,7,216,114,221,60,0,7,216,115,221,60,0,7,216,116,221,60,0,7,216,117,221,60,0,7,216,118,221,60,0,7,216,119,221,60,0,7,216,120,221,60,0,7,216,121,221,60,0,7,216,122,221,60,0,7,216,123,221,60,0,7,216,124,221,60,0,7,216,125,221,60,0,7,216,126,221,60,0,7,216,127,221,60,0,7,216,128,221,60,0,7,216,129,221,60,0,7,216,130,221,60,0,7,216,131,221,60,0,7,216,132,221,60,0,7,216,133,221,60,0,7,216,134,221,60,0,7,216,135,221,60,0,7,216,136,221,60,0,7,216,137,221,60,0,7,216,138,221,60,0,7,216,139,221,60,0,7,216,140,221,60,0,7,216,141,221,60,0,7,216,142,221,60,0,7,216,144,221,60,0,7,216,145,221,60,0,7,216,147,221,60,0,7,216,148,221,60,0,7,216,151,221,60,0,131,27,60,0,60,0,60,0,186,27,60,0,132,27,60,0,133,27,60,0,134,27,60,0,135,27,60,0,136,27,60,0,137,27,60,0,138,27,60,0,60,0,60,0,190,27,60,0,174,27,60,0,139,27,60,0,140,27,60,0,141,27,60,0,142,27,60,0,143,27,60,0,144,27,60,0,145,27,60,0,146,27,60,0,147,27,60,0,148,27,60,0,149,27,60,0,150,27,60,0,151,27,60,0,152,27,60,0,189,27,60,0,153,27,60,0,60,0,60,0,191,27,60,0,172,27,60,0,154,27,60,0,161,27,60,0,155,27,60,0,162,27,60,0,187,27,60,0,156,27,60,0,163,27,60,0,188,27,60,0,157,27,60,0,173,27,60,0,158,27,60,0,159,27,60,0,175,27,60,0,160,27,60,0,164,27,60,0,165,27,60,0,166,27,60,0,167,27,60,0,168,27,60,0,169,27,60,0,170,27,60,0,171,27,60,0,4,216,5,220,60,0,4,216,6,220,60,0,4,216,7,220,60,0,4,216,8,220,60,0,4,216,9,220,60,0,4,216,10,220,60,0,4,216,11,220,60,0,4,216,12,220,60,0,4,216,13,220,60,0,4,216,14,220,60,0,4,216,113,220,60,0,4,216,15,220,60,0,4,216,16,220,60,0,4,216,114,220,60,0,4,216,17,220,60,0,4,216,18,220,60,0,4,216,19,220,60,0,4,216,20,220,60,0,4,216,21,220,60,0,4,216,22,220,60,0,4,216,23,220,60,0,4,216,24,220,60,0,4,216,25,220,60,0,4,216,26,220,60,0,4,216,27,220,60,0,4,216,28,220,60,0,4,216,29,220,60,0,4,216,30,220,60,0,4,216,31,220,60,0,4,216,32,220,60,0,4,216,33,220,60,0,4,216,34,220,60,0,4,216,35,220,60,0,4,216,36,220,60,0,4,216,37,220,60,0,4,216,38,220,60,0,4,216,39,220,60,0,4,216,40,220,60,0,4,216,41,220,60,0,4,216,42,220,60,0,4,216,43,220,60,0,4,216,44,220,60,0,4,216,45,220,60,0,4,216,46,220,60,0,4,216,47,220,60,0,4,216,48,220,60,0,4,216,49,220,60,0,4,216,50,220,60,0,4,216,51,220,60,0,4,216,3,220,60,0,4,216,4,220,60,0,4,216,52,220,60,0,4,216,53,220,60,0,4,216,117,220,60,0,4,216,54,220,60,0,4,216,55,220,60,0,4,216,56,220,60,0,4,216,57,220,60,0,4,216,58,220,60,0,4,216,59,220,60,0,4,216,60,220,60,0,4,216,61,220,60,0,4,216,62,220,60,0,4,216,63,220,60,0,4,216,64,220,60,0,4,216,65,220,60,0,4,216,115,220,60,0,4,216,66,220,60,0,4,216,67,220,60,0,4,216,116,220,60,0,4,216,68,220,60,0,4,216,69,220,60,0,4,216,70,220,60,0,4,216,127,220,60,0,4,216,112,220,60,0,14,32,2,216,0,222,14,32,60,0,2,216,1,222,60,0,2,216,2,222,60,0,2,216,3,222,60,0,2,216,5,222,60,0,2,216,6,222,60,0,2,216,12,222,60,0,14,32,2,216,16,222,14,32,60,0,14,32,2,216,50,222,14,32,60,0,14,32,2,216,17,222,14,32,60,0,14,32,2,216,18,222,14,32,60,0,14,32,2,216,19,222,14,32,60,0,14,32,2,216,21,222,14,32,60,0,14,32,2,216,22,222,14,32,60,0,14,32,2,216,23,222,14,32,60,0,14,32,2,216,25,222,14,32,60,0,14,32,2,216,26,222,14,32,60,0,14,32,2,216,52,222,14,32,60,0,14,32,2,216,27,222,14,32,60,0,14,32,2,216,51,222,14,32,60,0,14,32,2,216,28,222,14,32,60,0,14,32,2,216,29,222,14,32,60,0,14,32,2,216,30,222,14,32,60,0,14,32,2,216,31,222,14,32,60,0,14,32,2,216,32,222,14,32,60,0,14,32,2,216,33,222,14,32,60,0,14,32,2,216,34,222,14,32,60,0,14,32,2,216,35,222,14,32,60,0,14,32,2,216,36,222,14,32,60,0,14,32,2,216,37,222,14,32,60,0,14,32,2,216,38,222,14,32,60,0,14,32,2,216,39,222,14,32,60,0,14,32,2,216,40,222,14,32,60,0,14,32,2,216,41,222,14,32,60,0,14,32,2,216,42,222,14,32,60,0,14,32,2,216,43,222,14,32,60,0,14,32,2,216,44,222,14,32,60,0,14,32,2,216,53,222,14,32,60,0,14,32,2,216,45,222,14,32,60,0,14,32,2,216,46,222,14,32,60,0,14,32,2,216,47,222,14,32,60,0,14,32,2,216,48,222,14,32,60,0,14,32,2,216,49,222,14,32,60,0,2,216,63,222,60,0,7,216,0,220,60,0,7,216,1,220,60,0,7,216,2,220,60,0,7,216,3,220,60,0,7,216,4,220,60,0,7,216,5,220,60,0,7,216,6,220,60,0,7,216,7,220,60,0,7,216,8,220,60,0,7,216,10,220,60,0,7,216,11,220,60,0,7,216,12,220,60,0,7,216,13,220,60,0,7,216,14,220,60,0,7,216,15,220,60,0,7,216,16,220,60,0,7,216,17,220,60,0,7,216,18,220,60,0,7,216,19,220,60,0,7,216,20,220,60,0,7,216,21,220,60,0,7,216,22,220,60,0,7,216,23,220,60,0,7,216,24,220,60,0,7,216,25,220,60,0,7,216,26,220,60,0,7,216,27,220,60,0,7,216,28,220,60,0,7,216,29,220,60,0,7,216,30,220,60,0,7,216,31,220,60,0,7,216,32,220,60,0,7,216,33,220,60,0,7,216,34,220,60,0,7,216,35,220,60,0,7,216,36,220,60,0,7,216,37,220,60,0,7,216,38,220,60,0,7,216,39,220,60,0,7,216,40,220,60,0,7,216,41,220,60,0,7,216,42,220,60,0,7,216,43,220,60,0,7,216,44,220,60,0,7,216,45,220,60,0,7,216,46,220,60,0,7,216,64,220,60,0,7,216,47,220,60,0,7,216,48,220,60,0,7,216,49,220,60,0,7,216,50,220,60,0,7,216,51,220,60,0,7,216,52,220,60,0,7,216,53,220,60,0,7,216,54,220,60,0,7,216,56,220,60,0,7,216,57,220,60,0,7,216,58,220,60,0,7,216,59,220,60,0,7,216,63,220,60,0,1,14,60,0,2,14,60,0,3,14,60,0,4,14,60,0,5,14,60,0,6,14,60,0,7,14,60,0,8,14,60,0,9,14,60,0,10,14,60,0,11,14,60,0,12,14,60,0,13,14,60,0,14,14,60,0,15,14,60,0,16,14,60,0,17,14,60,0,18,14,60,0,19,14,60,0,20,14,60,0,21,14,60,0,22,14,60,0,23,14,60,0,24,14,60,0,25,14,60,0,26,14,60,0,27,14,60,0,28,14,60,0,29,14,60,0,30,14,60,0,31,14,60,0,32,14,60,0,33,14,60,0,34,14,60,0,35,14,60,0,36,14,60,0,37,14,60,0,38,14,60,0,39,14,60,0,40,14,60,0,41,14,60,0,42,14,60,0,43,14,60,0,44,14,60,0,45,14,60,0,46,14,60,0,47,14,60,0,48,14,60,0,49,14,60,0,50,14,60,0,51,14,61,0,77,14,50,14,60,0,52,14,60,0,53,14,60,0,54,14,60,0,55,14,60,0,56,14,60,0,57,14,60,0,58,14,60,0,64,14,60,0,65,14,60,0,66,14,60,0,67,14,60,0,68,14,60,0,69,14,60,0,222,14,60,0,129,14,60,0,130,14,60,0,132,14,60,0,134,14,60,0,135,14,60,0,136,14,60,0,137,14,60,0,170,14,60,0,138,14,60,0,140,14,60,0,142,14,60,0,223,14,60,0,141,14,60,0,143,14,60,0,144,14,60,0,145,14,60,0,146,14,60,0,147,14,60,0,148,14,60,0,149,14,60,0,150,14,60,0,151,14,60,0,152,14,60,0,153,14,60,0,154,14,60,0,155,14,60,0,156,14,60,0,157,14,60,0,158,14,60,0,159,14,60,0,160,14,60,0,161,14,60,0,162,14,60,0,163,14,60,0,165,14,60,0,167,14,60,0,168,14,60,0,169,14,60,0,171,14,60,0,60,0,60,0,220,14,47,0,153,14,60,0,60,0,60,0,221,14,47,0,161,14,60,0,172,14,60,0,173,14,60,0,174,14,60,0,175,14,60,0,176,14,60,0,177,14,60,0,178,14,60,0,179,14,61,0,205,14,178,14,60,0,180,14,60,0,181,14,60,0,182,14,60,0,183,14,60,0,184,14,60,0,185,14,60,0,186,14,60,0,187,14,60,0,188,14,60,0,189,14,60,0,192,14,60,0,193,14,60,0,194,14,60,0,195,14,60,0,196,14,60,0,128,170,60,0,129,170,60,0,130,170,60,0,131,170,60,0,132,170,60,0,133,170,60,0,134,170,60,0,135,170,60,0,136,170,60,0,137,170,60,0,138,170,60,0,139,170,60,0,140,170,60,0,141,170,60,0,142,170,60,0,143,170,60,0,144,170,60,0,145,170,60,0,146,170,60,0,147,170,60,0,148,170,60,0,149,170,60,0,150,170,60,0,151,170,60,0,152,170,60,0,153,170,60,0,154,170,60,0,155,170,60,0,156,170,60,0,157,170,60,0,158,170,60,0,159,170,60,0,160,170,60,0,161,170,60,0,162,170,60,0,163,170,60,0,164,170,60,0,165,170,60,0,166,170,60,0,167,170,60,0,168,170,60,0,169,170,60,0,170,170,60,0,171,170,60,0,172,170,60,0,173,170,60,0,174,170,60,0,175,170,60,0,176,170,60,0,177,170,60,0,178,170,60,0,179,170,60,0,180,170,60,0,181,170,60,0,182,170,60,0,183,170,60,0,184,170,60,0,185,170,60,0,186,170,60,0,187,170,60,0,188,170,60,0,189,170,60,0,190,170,60,0,192,170,60,0,194,170,60,0,219,170,60,0,220,170,60,0,64,15,60,0,144,15,60,0,107,15,60,0,65,15,60,0,145,15,60,0,66,15,60,0,146,15,60,0,68,15,60,0,148,15,60,0,69,15,60,0,149,15,60,0,70,15,60,0,150,15,60,0,71,15,60,0,151,15,60,0,73,15,60,0,153,15,60,0,74,15,60,0,154,15,60,0,75,15,60,0,155,15,60,0,76,15,60,0,156,15,60,0,78,15,60,0,158,15,60,0,79,15,60,0,159,15,60,0,80,15,60,0,160,15,60,0,81,15,60,0,161,15,60,0,83,15,60,0,163,15,60,0,84,15,60,0,164,15,60,0,85,15,60,0,165,15,60,0,86,15,60,0,166,15,60,0,88,15,60,0,168,15,60,0,89,15,60,0,169,15,60,0,90,15,60,0,170,15,60,0,91,15,60,0,171,15,60,0,93,15,60,0,173,15,60,0,60,0,186,15,60,0,94,15,60,0,174,15,60,0,95,15,60,0,175,15,60,0,96,15,60,0,176,15,60,0,97,15,60,0,177,15,60,0,60,0,187,15,60,0,98,15,60,0,60,0,106,15,60,0,178,15,60,0,60,0,60,0,178,15,113,15,47,0,113,15,60,0,60,0,60,0,178,15,113,15,114,15,47,0,113,15,114,15,61,0,178,15,113,15,114,15,47,0,113,15,114,15,60,0,60,0,60,0,178,15,113,15,116,15,47,0,113,15,116,15,61,0,178,15,113,15,116,15,47,0,113,15,116,15,60,0,60,0,188,15,60,0,108,15,60,0,99,15,60,0,179,15,60,0,60,0,60,0,179,15,113,15,47,0,113,15,60,0,60,0,60,0,179,15,113,15,114,15,47,0,113,15,114,15,61,0,179,15,113,15,114,15,47,0,113,15,114,15,60,0,60,0,60,0,179,15,113,15,116,15,47,0,113,15,116,15,61,0,179,15,113,15,116,15,47,0,113,15,116,15,60,0,100,15,60,0,180,15,60,0,101,15,60,0,181,15,60,0,102,15,60,0,182,15,60,0,103,15,60,0,183,15,60,0,104,15,60,0,60,0,60,0,0,15,47,0,124,15,7,216,1,223,60,0,184,15,60,0,136,15,60,0,141,15,60,0,137,15,60,0,142,15,60,0,140,15,60,0,143,15,60,0,138,15,60,0,139,15,60,0,113,15,60,0,114,15,60,0,113,15,114,15,60,0,128,15,60,0,113,15,128,15,60,0,116,15,60,0,113,15,116,15,60,0,178,15,128,15,60,0,119,15,61,0,178,15,113,15,128,15,61,0,178,15,113,15,128,15,60,0,179,15,128,15,60,0,121,15,61,0,179,15,113,15,128,15,61,0,179,15,113,15,128,15,60,0,122,15,60,0,123,15,60,0,124,15,60,0,125,15,60,0,132,15,60,0,6,216,11,222,60,0,6,216,50,222,60,0,6,216,12,222,60,0,6,216,13,222,60,0,6,216,14,222,60,0,6,216,15,222,60,0,6,216,16,222,60,0,6,216,17,222,60,0,6,216,18,222,60,0,6,216,19,222,60,0,6,216,20,222,60,0,6,216,21,222,60,0,6,216,22,222,60,0,6,216,23,222,60,0,6,216,24,222,60,0,6,216,25,222,60,0,6,216,26,222,60,0,6,216,27,222,60,0,6,216,28,222,60,0,6,216,29,222,60,0,6,216,30,222,60,0,6,216,31,222,60,0,6,216,32,222,60,0,6,216,33,222,60,0,6,216,34,222,60,0,6,216,35,222,60,0,6,216,36,222,60,0,6,216,37,222,60,0,6,216,38,222,60,0,6,216,39,222,60,0,6,216,40,222,60,0,6,216,41,222,60,0,6,216,42,222,60,0,60,0,60,0,6,216,59,222,60,0,6,216,43,222,60,0,60,0,60,0,6,216,58,222,60,0,60,0,60,0,6,216,60,222,60,0,6,216,44,222,60,0,60,0,60,0,6,216,61,222,60,0,6,216,45,222,60,0,60,0,60,0,6,216,62,222,60,0,6,216,46,222,60,0,6,216,47,222,60,0,6,216,48,222,60,0,6,216,49,222,60,0,6,216,0,222,60,0,6,216,1,222,60,0,6,216,2,222,60,0,6,216,3,222,60,0,6,216,4,222,60,0,6,216,5,222,60,0,6,216,6,222,60,0,6,216,7,222,60,0,6,216,8,222,60,0,6,216,9,222,60,0,6,216,10,222,60,0,6,216,52,222,60,0,6,216,71,222,60,0,6,216,80,222,60,0,6,216,81,222,60,0,6,216,82,222,60,0,6,216,83,222,60,0,6,216,89,222,60,0,6,216,90,222,60,0,6,216,84,222,60,0,6,216,86,222,60,0,6,216,85,222,60,0,6,216,87,222,60,0,6,216,88,222,60,0,6,216,91,222,60,0,6,216,92,222,60,0,60,0,60,0,6,216,138,222,60,0,6,216,131,222,60,0,6,216,93,222,60,0,60,0,60,0,6,216,139,222,60,0,6,216,94,222,60,0,6,216,95,222,60,0,6,216,96,222,60,0,60,0,60,0,6,216,140,222,60,0,6,216,97,222,60,0,6,216,98,222,60,0,6,216,99,222,60,0,6,216,100,222,60,0,6,216,101,222,60,0,6,216,102,222,60,0,6,216,103,222,60,0,6,216,104,222,60,0,6,216,105,222,60,0,6,216,106,222,60,0,6,216,107,222,60,0,60,0,60,0,6,216,141,222,60,0,6,216,108,222,60,0,6,216,109,222,60,0,6,216,110,222,60,0,6,216,111,222,60,0,60,0,60,0,6,216,142,222,60,0,6,216,112,222,60,0,60,0,60,0,6,216,143,222,60,0,6,216,113,222,60,0,6,216,114,222,60,0,6,216,115,222,60,0,6,216,116,222,60,0,60,0,60,0,6,216,144,222,60,0,6,216,117,222,60,0,6,216,118,222,60,0,6,216,119,222,60,0,6,216,120,222,60,0,6,216,121,222,60,0,6,216,122,222,60,0,60,0,60,0,6,216,149,222,60,0,6,216,123,222,60,0,6,216,124,222,60,0,60,0,60,0,6,216,134,222,60,0,60,0,60,0,6,216,145,222,60,0,6,216,125,222,60,0,60,0,60,0,6,216,135,222,60,0,60,0,60,0,6,216,146,222,60,0,6,216,126,222,60,0,6,216,127,222,60,0,60,0,60,0,6,216,136,222,60,0,60,0,60,0,6,216,147,222,60,0,6,216,128,222,60,0,6,216,129,222,60,0,60,0,60,0,6,216,137,222,60,0,60,0,60,0,6,216,148,222,60,0,6,216,130,222,60,0,6,216,132,222,60,0,6,216,133,222,60,0,6,216,153,222,60,0,6,216,157,222,60,0,7,216,114,220,60,0,7,216,146,220,60,0,7,216,115,220,60,0,7,216,147,220,60,0,7,216,116,220,60,0,7,216,148,220,60,0,7,216,117,220,60,0,7,216,149,220,60,0,7,216,118,220,60,0,7,216,150,220,60,0,7,216,119,220,60,0,7,216,151,220,60,0,7,216,120,220,60,0,7,216,152,220,60,0,7,216,121,220,60,0,7,216,153,220,60,0,7,216,122,220,60,0,7,216,154,220,60,0,7,216,123,220,60,0,7,216,155,220,60,0,7,216,124,220,60,0,7,216,156,220,60,0,7,216,125,220,60,0,7,216,157,220,60,0,7,216,126,220,60,0,7,216,158,220,60,0,7,216,127,220,60,0,7,216,159,220,60,0,7,216,128,220,60,0,7,216,160,220,60,0,7,216,129,220,60,0,7,216,161,220,60,0,7,216,130,220,60,0,7,216,162,220,60,0,7,216,131,220,60,0,7,216,163,220,60,0,7,216,132,220,60,0,7,216,164,220,60,0,7,216,133,220,60,0,7,216,165,220,60,0,7,216,134,220,60,0,7,216,166,220,60,0,7,216,135,220,60,0,7,216,167,220,60,0,7,216,136,220,60,0,7,216,137,220,60,0,7,216,169,220,60,0,7,216,138,220,60,0,7,216,170,220,60,0,7,216,139,220,60,0,7,216,171,220,60,0,7,216,140,220,60,0,7,216,172,220,60,0,7,216,141,220,60,0,7,216,173,220,60,0,7,216,142,220,60,0,7,216,174,220,60,0,7,216,143,220,60,0,7,216,175,220,60,0,7,216,176,220,60,0,7,216,177,220,60,0,7,216,178,220,60,0,7,216,179,220,60,0,7,216,180,220,60,0,0,28,60,0,1,28,60,0,2,28,60,0,3,28,60,0,4,28,60,0,5,28,60,0,6,28,60,0,7,28,60,0,8,28,60,0,9,28,60,0,77,28,60,0,78,28,60,0,79,28,60,0,10,28,60,0,11,28,60,0,12,28,60,0,13,28,60,0,14,28,60,0,15,28,60,0,16,28,60,0,17,28,60,0,18,28,60,0,19,28,60,0,20,28,60,0,21,28,60,0,22,28,60,0,23,28,60,0,24,28,60,0,25,28,60,0,26,28,60,0,36,28,60,0,27,28,60,0,37,28,60,0,28,28,60,0,29,28,60,0,30,28,60,0,31,28,60,0,32,28,60,0,33,28,60,0,34,28,60,0,35,28,60,0,54,28,60,0,38,28,60,0,39,28,60,0,40,28,60,0,41,28,60,0,42,28,60,0,43,28,60,0,44,28,60,0,45,28,60,0,46,28,60,0,47,28,60,0,48,28,60,0,49,28,60,0,50,28,60,0,51,28,60,0,52,28,60,0,53,28,60,0,64,168,60,0,65,168,60,0,66,168,60,0,67,168,60,0,68,168,60,0,69,168,60,0,70,168,60,0,71,168,60,0,105,168,60,0,106,168,60,0,107,168,60,0,108,168,60,0,72,168,60,0,73,168,60,0,74,168,60,0,75,168,60,0,76,168,60,0,77,168,60,0,78,168,60,0,79,168,60,0,80,168,60,0,81,168,60,0,82,168,60,0,83,168,60,0,103,168,60,0,84,168,60,0,85,168,60,0,86,168,60,0,87,168,60,0,104,168,60,0,109,168,60,0,88,168,60,0,113,168,60,0,114,168,60,0,89,168,60,0,90,168,60,0,110,168,60,0,91,168,60,0,92,168,60,0,111,168,60,0,112,168,60,0,93,168,60,0,98,168,60,0,99,168,60,0,100,168,60,0,101,168,60,0,94,168,60,0,95,168,60,0,96,168,60,0,97,168,60,0,102,168,60,0,115,168,60,0,0,25,60,0,1,25,60,0,2,25,60,0,3,25,60,0,4,25,60,0,5,25,60,0,6,25,60,0,7,25,60,0,8,25,60,0,60,0,60,0,29,25,47,0,41,25,60,0,9,25,60,0,10,25,60,0,11,25,60,0,60,0,60,0,30,25,47,0,42,25,60,0,12,25,60,0,13,25,60,0,14,25,60,0,15,25,60,0,16,25,60,0,17,25,60,0,18,25,60,0,19,25,60,0,20,25,60,0,21,25,60,0,22,25,60,0,23,25,60,0,24,25,60,0,25,25,60,0,26,25,60,0,27,25,60,0,28,25,60,0,32,25,60,0,33,25,60,0,34,25,60,0,35,25,60,0,36,25,60,0,37,25,60,0,38,25,60,0,39,25,60,0,40,25,60,0,41,25,60,0,42,25,60,0,43,25,60,0,48,25,60,0,49,25,60,0,50,25,60,0,51,25,60,0,52,25,60,0,53,25,60,0,54,25,60,0,55,25,60,0,56,25,60,0,0,23,60,0,1,23,60,0,2,23,60,0,3,23,60,0,4,23,60,0,5,23,60,0,6,23,60,0,7,23,60,0,8,23,60,0,9,23,60,0,10,23,60,0,11,23,60,0,12,23,60,0,13,23,60,0,31,23,60,0,14,23,60,0,15,23,60,0,16,23,60,0,17,23,60,0,18,23,60,0,19,23,60,0,20,23,60,0,21,23,60,0,32,23,60,0,33,23,60,0,34,23,60,0,35,23,60,0,36,23,60,0,37,23,60,0,38,23,60,0,39,23,60,0,40,23,60,0,41,23,60,0,42,23,60,0,43,23,60,0,44,23,60,0,45,23,60,0,46,23,60,0,47,23,60,0,48,23,60,0,49,23,60,0,50,23,60,0,51,23,60,0,52,23,60,0,64,23,60,0,65,23,60,0,66,23,60,0,67,23,60,0,68,23,60,0,69,23,60,0,70,23,60,0,71,23,60,0,72,23,60,0,73,23,60,0,74,23,60,0,75,23,60,0,76,23,60,0,77,23,60,0,78,23,60,0,79,23,60,0,80,23,60,0,81,23,60,0,82,23,60,0,83,23,60,0,96,23,60,0,97,23,60,0,98,23,60,0,99,23,60,0,100,23,60,0,101,23,60,0,102,23,60,0,103,23,60,0,104,23,60,0,105,23,60,0,106,23,60,0,107,23,60,0,108,23,60,0,110,23,60,0,111,23,60,0,112,23,60,0,114,23,60,0,115,23,60,0,0,26,60,0,1,26,60,0,2,26,60,0,3,26,60,0,4,26,60,0,5,26,60,0,6,26,60,0,7,26,60,0,8,26,60,0,9,26,60,0,10,26,60,0,11,26,60,0,12,26,60,0,13,26,60,0,14,26,60,0,15,26,60,0,16,26,60,0,17,26,60,0,18,26,60,0,19,26,60,0,20,26,60,0,21,26,60,0,22,26,60,0,23,26,60,0,24,26,60,0,25,26,60,0,26,26,60,0,27,26,60,0,7,216,224,222,60,0,7,216,225,222,60,0,7,216,226,222,60,0,7,216,227,222,60,0,7,216,228,222,60,0,7,216,229,222,60,0,7,216,230,222,60,0,7,216,231,222,60,0,7,216,232,222,60,0,7,216,233,222,60,0,7,216,234,222,60,0,7,216,235,222,60,0,7,216,236,222,60,0,7,216,237,222,60,0,7,216,238,222,60,0,7,216,239,222,60,0,7,216,240,222,60,0,7,216,241,222,60,0,7,216,242,222,60,0,7,216,243,222,60,0,7,216,244,222,60,0,7,216,245,222,60,0,7,216,246,222,60,0,192,27,60,0,60,0,60,0,193,27,60,0,194,27,60,0,60,0,60,0,195,27,61,0,196,27,60,0,197,27,60,0,60,0,60,0,198,27,60,0,199,27,60,0,60,0,60,0,200,27,60,0,201,27,60,0,60,0,60,0,202,27,60,0,203,27,60,0,60,0,60,0,204,27,61,0,205,27,60,0,206,27,60,0,60,0,60,0,207,27,60,0,208,27,60,0,209,27,60,0,210,27,60,0,60,0,60,0,211,27,60,0,212,27,60,0,60,0,60,0,213,27,60,0,214,27,60,0,60,0,60,0,215,27,60,0,216,27,60,0,60,0,60,0,217,27,61,0,218,27,60,0,219,27,60,0,60,0,60,0,220,27,60,0,221,27,60,0,222,27,60,0,60,0,60,0,223,27,60,0,224,27,60,0,225,27,60,0,226,27,60,0,227,27,60,0,228,27,60,0,229,27,60,0,231,27,60,0,60,0,60,0,232,27,60,0,233,27,60,0,234,27,60,0,60,0,60,0,235,27,60,0,236,27,60,0,60,0,60,0,237,27,60,0,238,27,60,0,60,0,60,0,239,27,60,0,240,27,60,0,241,27,60,0,242,27,60,0,243,27,60,0,48,169,60,0,49,169,60,0,50,169,60,0,51,169,60,0,52,169,60,0,53,169,60,0,54,169,60,0,55,169,60,0,56,169,60,0,57,169,60,0,58,169,60,0,59,169,60,0,60,169,60,0,61,169,60,0,62,169,60,0,63,169,60,0,64,169,60,0,65,169,60,0,66,169,60,0,67,169,60,0,68,169,60,0,69,169,60,0,70,169,60,0,71,169,60,0,72,169,60,0,73,169,60,0,74,169,60,0,75,169,60,0,76,169,60,0,77,169,60,0,78,169,60,0,79,169,60,0,80,169,60,0,81,169,60,0,82,169,60,0,83,169,60,0,10,169,60,0,11,169,60,0,12,169,60,0,13,169,60,0,14,169,60,0,15,169,60,0,16,169,60,0,17,169,60,0,18,169,60,0,19,169,60,0,20,169,60,0,21,169,60,0,22,169,60,0,23,169,60,0,24,169,60,0,25,169,60,0,26,169,60,0,27,169,60,0,28,169,60,0,29,169,60,0,30,169,60,0,31,169,60,0,32,169,60,0,33,169,60,0,34,169,60,0,35,169,60,0,36,169,60,0,37,169,60,0,38,169,60,0,39,169,60,0,40,169,60,0,41,169,60,0,42,169,60,0,0,16,60,0,117,16,60,0,1,16,60,0,118,16,60,0,2,16,60,0,119,16,60,0,96,170,60,0,233,169,60,0,3,16,60,0,224,169,60,0,234,169,60,0,4,16,60,0,90,16,60,0,5,16,60,0,120,16,60,0,97,170,60,0,6,16,60,0,225,169,60,0,98,170,60,0,126,170,60,0,7,16,60,0,99,170,60,0,235,169,60,0,121,16,60,0,114,170,60,0,8,16,60,0,91,16,60,0,226,169,60,0,100,170,60,0,236,169,60,0,97,16,60,0,127,170,60,0,9,16,60,0,122,16,60,0,101,170,60,0,231,169,60,0,10,16,60,0,11,16,60,0,102,170,60,0,12,16,60,0,103,170,60,0,13,16,60,0,104,170,60,0,237,169,60,0,14,16,60,0,105,170,60,0,238,169,60,0,15,16,60,0,110,16,60,0,227,169,60,0,239,169,60,0,16,16,60,0,17,16,60,0,18,16,60,0,123,16,60,0,251,169,60,0,19,16,60,0,106,170,60,0,252,169,60,0,20,16,60,0,124,16,60,0,107,170,60,0,94,16,60,0,21,16,60,0,22,16,60,0,125,16,60,0,126,16,60,0,111,170,60,0,142,16,60,0,232,169,60,0,23,16,60,0,127,16,60,0,253,169,60,0,24,16,60,0,228,169,60,0,254,169,60,0,25,16,60,0,95,16,60,0,26,16,60,0,59,16,60,0,27,16,60,0,115,170,60,0,122,170,60,0,60,16,60,0,28,16,60,0,96,16,60,0,29,16,60,0,61,16,60,0,130,16,60,0,128,16,60,0,80,16,60,0,81,16,60,0,101,16,60,0,30,16,60,0,60,0,60,0,63,16,47,0,57,16,30,16,60,0,108,170,60,0,31,16,60,0,129,16,60,0,109,170,60,0,62,16,60,0,110,170,60,0,113,170,60,0,32,16,60,0,250,169,60,0,92,16,60,0,93,16,60,0,111,16,60,0,112,16,60,0,102,16,60,0,33,16,60,0,34,16,60,0,35,16,60,0,36,16,60,0,37,16,60,0,38,16,60,0,82,16,60,0,83,16,60,0,84,16,60,0,85,16,60,0,39,16,60,0,40,16,60,0,41,16,60,0,42,16,60,0,44,16,60,0,60,0,60,0,43,16,60,0,131,16,60,0,114,16,60,0,156,16,60,0,45,16,60,0,113,16,60,0,46,16,60,0,51,16,60,0,47,16,60,0,115,16,60,0,116,16,60,0,48,16,60,0,86,16,60,0,87,16,60,0,88,16,60,0,89,16,60,0,49,16,60,0,132,16,60,0,53,16,60,0,133,16,60,0,50,16,60,0,157,16,60,0,134,16,60,0,52,16,60,0,98,16,60,0,103,16,60,0,104,16,60,0,229,169,60,0,57,16,60,0,58,16,60,0,99,16,60,0,100,16,60,0,105,16,60,0,106,16,60,0,107,16,60,0,108,16,60,0,109,16,60,0,135,16,60,0,139,16,60,0,136,16,60,0,140,16,60,0,141,16,60,0,137,16,60,0,138,16,60,0,143,16,60,0,154,16,60,0,155,16,60,0,123,170,60,0,124,170,60,0,125,170,60,0,116,170,60,0,117,170,60,0,118,170,60,0,14,32,3,216,0,221,14,32,60,0,14,32,3,216,29,221,14,32,60,0,14,32,3,216,30,221,14,32,60,0,14,32,3,216,31,221,14,32,60,0,14,32,3,216,32,221,14,32,60,0,14,32,3,216,33,221,14,32,60,0,14,32,3,216,1,221,14,32,60,0,14,32,3,216,2,221,14,32,60,0,14,32,3,216,3,221,14,32,60,0,14,32,3,216,4,221,14,32,60,0,14,32,3,216,5,221,14,32,60,0,14,32,3,216,6,221,14,32,60,0,14,32,3,216,7,221,14,32,60,0,14,32,3,216,8,221,14,32,60,0,14,32,3,216,9,221,14,32,60,0,14,32,3,216,10,221,14,32,60,0,14,32,3,216,11,221,14,32,60,0,14,32,3,216,12,221,14,32,60,0,14,32,3,216,13,221,14,32,60,0,14,32,3,216,14,221,14,32,60,0,14,32,3,216,15,221,14,32,60,0,14,32,3,216,16,221,14,32,60,0,14,32,3,216,17,221,14,32,60,0,14,32,3,216,18,221,14,32,60,0,14,32,3,216,19,221,14,32,60,0,14,32,3,216,20,221,14,32,60,0,14,32,3,216,21,221,14,32,60,0,14,32,3,216,22,221,14,32,60,0,14,32,3,216,23,221,14,32,60,0,14,32,3,216,24,221,14,32,60,0,14,32,3,216,25,221,14,32,60,0,14,32,3,216,26,221,14,32,60,0,14,32,3,216,27,221,14,32,60,0,14,32,3,216,28,221,14,32,60,0,14,32,3,216,34,221,14,32,60,0,14,32,3,216,35,221,14,32,60,0,4,216,3,221,60,0,4,216,4,221,60,0,4,216,5,221,60,0,4,216,6,221,60,0,4,216,7,221,60,0,4,216,8,221,60,0,4,216,9,221,60,0,4,216,10,221,60,0,4,216,11,221,60,0,4,216,12,221,60,0,4,216,13,221,60,0,4,216,14,221,60,0,4,216,15,221,60,0,4,216,16,221,60,0,4,216,17,221,60,0,4,216,18,221,60,0,4,216,19,221,60,0,4,216,20,221,60,0,4,216,21,221,60,0,4,216,22,221,60,0,4,216,23,221,60,0,4,216,24,221,60,0,4,216,25,221,60,0,4,216,26,221,60,0,4,216,27,221,60,0,4,216,28,221,60,0,4,216,29,221,60,0,4,216,30,221,60,0,4,216,31,221,60,0,4,216,32,221,60,0,4,216,33,221,60,0,4,216,34,221,60,0,4,216,35,221,60,0,4,216,71,221,60,0,4,216,36,221,60,0,4,216,37,221,60,0,4,216,38,221,60,0,4,216,68,221,60,0,4,216,39,221,60,0,4,216,40,221,60,0,4,216,41,221,60,0,4,216,42,221,60,0,4,216,43,221,60,0,4,216,44,221,60,0,4,216,45,221,60,0,4,216,46,221,60,0,4,216,47,221,60,0,4,216,48,221,60,0,4,216,49,221,60,0,4,216,50,221,60,0,4,216,69,221,60,0,4,216,70,221,60,0,4,216,51,221,60,0,4,216,52,221,60,0,128,23,60,0,129,23,60,0,130,23,60,0,131,23,60,0,132,23,60,0,133,23,60,0,134,23,60,0,135,23,60,0,136,23,60,0,137,23,60,0,138,23,60,0,139,23,60,0,140,23,60,0,141,23,60,0,142,23,60,0,143,23,60,0,144,23,60,0,145,23,60,0,146,23,60,0,147,23,60,0,148,23,60,0,149,23,60,0,150,23,60,0,151,23,60,0,152,23,60,0,153,23,60,0,154,23,60,0,155,23,60,0,156,23,60,0,157,23,60,0,158,23,60,0,159,23,60,0,160,23,60,0,161,23,60,0,162,23,60,0,220,23,60,0,163,23,60,0,164,23,60,0,165,23,60,0,166,23,60,0,167,23,60,0,168,23,60,0,169,23,60,0,170,23,60,0,171,23,60,0,172,23,60,0,173,23,60,0,174,23,60,0,175,23,60,0,176,23,60,0,177,23,60,0,178,23,60,0,179,23,60,0,182,23,60,0,183,23,60,0,184,23,60,0,185,23,60,0,186,23,60,0,187,23,60,0,188,23,60,0,189,23,60,0,190,23,60,0,191,23,60,0,192,23,60,0,193,23,60,0,194,23,60,0,195,23,60,0,196,23,60,0,197,23,60,0,210,23,60,0,80,25,60,0,81,25,60,0,82,25,60,0,83,25,60,0,84,25,60,0,85,25,60,0,86,25,60,0,87,25,60,0,88,25,60,0,89,25,60,0,90,25,60,0,91,25,60,0,92,25,60,0,93,25,60,0,94,25,60,0,95,25,60,0,96,25,60,0,97,25,60,0,98,25,60,0,99,25,60,0,100,25,60,0,101,25,60,0,102,25,60,0,103,25,60,0,104,25,60,0,105,25,60,0,106,25,60,0,107,25,60,0,108,25,60,0,109,25,60,0,112,25,60,0,113,25,60,0,114,25,60,0,115,25,60,0,116,25,60,0,128,25,60,0,129,25,60,0,130,25,60,0,131,25,60,0,132,25,60,0,133,25,60,0,134,25,60,0,135,25,60,0,136,25,60,0,137,25,60,0,138,25,60,0,139,25,60,0,140,25,60,0,141,25,60,0,142,25,60,0,143,25,60,0,144,25,60,0,145,25,60,0,146,25,60,0,147,25,60,0,148,25,60,0,149,25,60,0,150,25,60,0,151,25,60,0,152,25,60,0,153,25,60,0,154,25,60,0,155,25,60,0,156,25,60,0,60,0,60,0,222,25,47,0,182,25,60,0,60,0,60,0,223,25,47,0,182,25,193,25,60,0,157,25,60,0,158,25,60,0,159,25,60,0,160,25,60,0,161,25,60,0,162,25,60,0,163,25,60,0,164,25,60,0,165,25,60,0,166,25,60,0,167,25,60,0,168,25,60,0,169,25,60,0,170,25,60,0,171,25,60,0,176,25,60,0,177,25,60,0,178,25,60,0,179,25,60,0,180,25,60,0,181,25,60,0,182,25,60,0,183,25,60,0,184,25,60,0,185,25,60,0,186,25,60,0,187,25,60,0,188,25,60,0,189,25,60,0,190,25,60,0,191,25,60,0,192,25,60,0,193,25,60,0,194,25,60,0,195,25,60,0,196,25,60,0,197,25,60,0,198,25,60,0,199,25,60,0,200,25,60,0,201,25,60,0,32,26,60,0,33,26,60,0,34,26,60,0,35,26,60,0,36,26,60,0,37,26,60,0,38,26,60,0,60,0,60,0,88,26,61,0,89,26,60,0,39,26,60,0,40,26,60,0,41,26,60,0,42,26,60,0,43,26,60,0,44,26,60,0,45,26,60,0,46,26,60,0,47,26,60,0,48,26,60,0,49,26,60,0,50,26,60,0,51,26,60,0,52,26,60,0,53,26,60,0,54,26,60,0,55,26,60,0,56,26,60,0,57,26,60,0,58,26,60,0,59,26,60,0,60,0,60,0,90,26,61,0,91,26,60,0,60,26,60,0,61,26,60,0,62,26,60,0,63,26,60,0,64,26,60,0,65,26,60,0,66,26,60,0,67,26,60,0,68,26,60,0,69,26,60,0,70,26,60,0,60,0,60,0,84,26,47,0,96,26,70,26,60,0,71,26,60,0,72,26,60,0,73,26,60,0,74,26,60,0,75,26,60,0,76,26,60,0,83,26,60,0,107,26,60,0,85,26,60,0,86,26,60,0,87,26,60,0,92,26,60,0,93,26,60,0,94,26,60,0,77,26,60,0,78,26,60,0,79,26,60,0,80,26,60,0,81,26,60,0,82,26,60,0,97,26,60,0,108,26,60,0,98,26,60,0,99,26,60,0,60,0,60,0,100,26,60,0,101,26,60,0,102,26,60,0,103,26,60,0,104,26,60,0,105,26,60,0,106,26,60,0,110,26,60,0,111,26,60,0,115,26,60,0,112,26,60,0,113,26,60,0,114,26,60,0,109,26,60,0,96,26,60,0,0,170,60,0,1,170,60,0,2,170,60,0,3,170,60,0,4,170,60,0,5,170,60,0,6,170,60,0,7,170,60,0,8,170,60,0,9,170,60,0,10,170,60,0,11,170,60,0,12,170,60,0,13,170,60,0,14,170,60,0,15,170,60,0,16,170,60,0,17,170,60,0,18,170,60,0,19,170,60,0,20,170,60,0,21,170,60,0,22,170,60,0,23,170,60,0,24,170,60,0,25,170,60,0,26,170,60,0,27,170,60,0,28,170,60,0,29,170,60,0,30,170,60,0,31,170,60,0,32,170,60,0,33,170,60,0,34,170,60,0,35,170,60,0,36,170,60,0,37,170,60,0,38,170,60,0,39,170,60,0,40,170,60,0,51,170,60,0,52,170,60,0,53,170,60,0,54,170,60,0,41,170,60,0,42,170,60,0,43,170,60,0,44,170,60,0,45,170,60,0,46,170,60,0,47,170,60,0,48,170,60,0,49,170,60,0,50,170,60,0,64,170,60,0,65,170,60,0,66,170,60,0,67,170,60,0,68,170,60,0,69,170,60,0,70,170,60,0,71,170,60,0,72,170,60,0,73,170,60,0,74,170,60,0,75,170,60,0,76,170,60,0,77,170,60,0,5,27,60,0,6,27,60,0,7,27,60,0,8,27,60,0,9,27,60,0,10,27,60,0,11,27,60,0,12,27,60,0,13,27,60,0,14,27,60,0,15,27,60,0,16,27,60,0,17,27,60,0,18,27,60,0,19,27,60,0,69,27,60,0,70,27,60,0,20,27,60,0,21,27,60,0,22,27,60,0,23,27,60,0,24,27,60,0,25,27,60,0,26,27,60,0,60,0,60,0,76,27,47,0,68,27,28,27,60,0,27,27,60,0,28,27,60,0,29,27,60,0,30,27,60,0,31,27,60,0,32,27,60,0,33,27,60,0,34,27,60,0,71,27,60,0,35,27,60,0,36,27,60,0,37,27,60,0,38,27,60,0,39,27,60,0,72,27,60,0,40,27,60,0,41,27,60,0,42,27,60,0,43,27,60,0,44,27,60,0,45,27,60,0,46,27,60,0,47,27,60,0,73,27,60,0,48,27,60,0,49,27,60,0,50,27,60,0,74,27,60,0,75,27,60,0,51,27,60,0,53,27,60,0,54,27,60,0,55,27,60,0,56,27,60,0,57,27,60,0,58,27,60,0,59,27,60,0,60,27,60,0,61,27,60,0,62,27,60,0,63,27,60,0,64,27,60,0,65,27,60,0,66,27,60,0,67,27,60,0,68,27,60,0,132,169,60,0,133,169,60,0,134,169,60,0,135,169,60,0,136,169,60,0,137,169,60,0,138,169,60,0,139,169,60,0,140,169,60,0,141,169,60,0,142,169,60,0,143,169,60,0,144,169,60,0,145,169,60,0,146,169,60,0,147,169,60,0,148,169,60,0,149,169,60,0,150,169,60,0,151,169,60,0,152,169,60,0,153,169,60,0,154,169,60,0,155,169,60,0,156,169,60,0,157,169,60,0,158,169,60,0,159,169,60,0,160,169,60,0,161,169,60,0,162,169,60,0,163,169,60,0,164,169,60,0,165,169,60,0,166,169,60,0,167,169,60,0,168,169,60,0,169,169,60,0,170,169,60,0,190,169,60,0,171,169,60,0,60,0,60,0,172,169,60,0,191,169,60,0,173,169,60,0,174,169,60,0,175,169,60,0,176,169,60,0,177,169,60,0,178,169,60,0,180,169,60,0,60,0,60,0,181,169,60,0,188,169,60,0,182,169,60,0,183,169,60,0,184,169,60,0,185,169,60,0,189,169,60,0,186,169,60,0,187,169,60,0,192,169,60,0,7,216,4,223,60,0,7,216,5,223,60,0,7,216,6,223,60,0,7,216,7,223,60,0,7,216,8,223,60,0,7,216,9,223,60,0,7,216,10,223,60,0,7,216,11,223,60,0,7,216,12,223,60,0,7,216,13,223,60,0,7,216,14,223,60,0,7,216,15,223,60,0,7,216,16,223,60,0,7,216,18,223,60,0,7,216,19,223,60,0,7,216,20,223,60,0,7,216,21,223,60,0,7,216,22,223,60,0,7,216,23,223,60,0,7,216,24,223,60,0,7,216,25,223,60,0,7,216,26,223,60,0,7,216,27,223,60,0,7,216,28,223,60,0,7,216,29,223,60,0,7,216,30,223,60,0,7,216,31,223,60,0,7,216,32,223,60,0,7,216,33,223,60,0,7,216,34,223,60,0,7,216,35,223,60,0,7,216,36,223,60,0,7,216,37,223,60,0,7,216,38,223,60,0,7,216,39,223,60,0,7,216,40,223,60,0,7,216,41,223,60,0,7,216,42,223,60,0,7,216,43,223,60,0,7,216,44,223,60,0,7,216,2,223,60,0,7,216,45,223,60,0,7,216,46,223,60,0,7,216,47,223,60,0,7,216,48,223,60,0,7,216,49,223,60,0,7,216,50,223,60,0,7,216,51,223,60,0,7,216,52,223,60,0,7,216,53,223,60,0,7,216,54,223,60,0,7,216,55,223,60,0,7,216,56,223,60,0,7,216,57,223,60,0,7,216,58,223,60,0,7,216,62,223,60,0,7,216,63,223,60,0,7,216,64,223,60,0,7,216,65,223,60,0,7,216,66,223,60,0,128,24,60,0,129,24,60,0,130,24,60,0,131,24,60,0,132,24,60,0,133,24,60,0,134,24,60,0,67,24,60,0,32,24,60,0,135,24,60,0,33,24,60,0,68,24,60,0,93,24,60,0,34,24,60,0,69,24,60,0,94,24,60,0,115,24,60,0,136,24,60,0,95,24,60,0,35,24,60,0,70,24,60,0,36,24,60,0,71,24,60,0,97,24,60,0,37,24,60,0,72,24,60,0,38,24,60,0,73,24,60,0,96,24,60,0,39,24,60,0,40,24,60,0,41,24,60,0,74,24,60,0,98,24,60,0,138,24,60,0,155,24,60,0,42,24,60,0,75,24,60,0,43,24,60,0,76,24,60,0,102,24,60,0,44,24,60,0,77,24,60,0,45,24,60,0,78,24,60,0,100,24,60,0,154,24,60,0,101,24,60,0,46,24,60,0,79,24,60,0,47,24,60,0,48,24,60,0,49,24,60,0,103,24,60,0,156,24,60,0,157,24,60,0,162,24,60,0,164,24,60,0,165,24,60,0,50,24,60,0,80,24,60,0,104,24,60,0,51,24,60,0,81,24,60,0,105,24,60,0,52,24,60,0,82,24,60,0,113,24,60,0,120,24,60,0,92,24,60,0,139,24,60,0,53,24,60,0,83,24,60,0,106,24,60,0,119,24,60,0,54,24,60,0,85,24,60,0,114,24,60,0,55,24,60,0,117,24,60,0,56,24,60,0,86,24,60,0,57,24,60,0,107,24,60,0,118,24,60,0,58,24,60,0,87,24,60,0,99,24,60,0,116,24,60,0,137,24,60,0,59,24,60,0,60,24,60,0,84,24,60,0,110,24,60,0,61,24,60,0,111,24,60,0,88,24,60,0,108,24,60,0,62,24,60,0,89,24,60,0,109,24,60,0,63,24,60,0,64,24,60,0,65,24,60,0,66,24,60,0,90,24,60,0,91,24,60,0,112,24,60,0,140,24,60,0,158,24,60,0,141,24,60,0,142,24,60,0,159,24,60,0,143,24,60,0,144,24,60,0,152,24,60,0,160,24,60,0,145,24,60,0,161,24,60,0,146,24,60,0,147,24,60,0,168,24,60,0,148,24,60,0,163,24,60,0,149,24,60,0,153,24,60,0,150,24,60,0,151,24,60,0,166,24,60,0,167,24,60,0,170,24,60,0,169,24,60,0,90,28,60,0,91,28,60,0,92,28,60,0,93,28,60,0,94,28,60,0,95,28,60,0,96,28,60,0,97,28,60,0,98,28,60,0,99,28,60,0,100,28,60,0,101,28,60,0,102,28,60,0,103,28,60,0,104,28,60,0,105,28,60,0,106,28,60,0,107,28,60,0,108,28,60,0,109,28,60,0,110,28,60,0,111,28,60,0,112,28,60,0,113,28,60,0,114,28,60,0,115,28,60,0,116,28,60,0,117,28,60,0,118,28,60,0,119,28,60,0,120,28,60,0,121,28,60,0,122,28,60,0,123,28,60,0,124,28,60,0,125,28,60,0,112,171,60,0,60,0,60,0,160,19,60,0,113,171,60,0,60,0,60,0,161,19,60,0,114,171,60,0,60,0,60,0,162,19,60,0,115,171,60,0,60,0,60,0,163,19,60,0,116,171,60,0,60,0,60,0,164,19,60,0,117,171,60,0,60,0,60,0,165,19,60,0,118,171,60,0,60,0,60,0,166,19,60,0,119,171,60,0,60,0,60,0,167,19,60,0,120,171,60,0,60,0,60,0,168,19,60,0,121,171,60,0,60,0,60,0,169,19,60,0,122,171,60,0,60,0,60,0,170,19,60,0,123,171,60,0,60,0,60,0,171,19,60,0,124,171,60,0,60,0,60,0,172,19,60,0,125,171,60,0,60,0,60,0,173,19,60,0,126,171,60,0,60,0,60,0,174,19,60,0,127,171,60,0,60,0,60,0,175,19,60,0,128,171,60,0,60,0,60,0,176,19,60,0,129,171,60,0,60,0,60,0,177,19,60,0,130,171,60,0,60,0,60,0,178,19,60,0,131,171,60,0,60,0,60,0,179,19,60,0,132,171,60,0,60,0,60,0,180,19,60,0,133,171,60,0,60,0,60,0,181,19,60,0,134,171,60,0,60,0,60,0,182,19,60,0,135,171,60,0,60,0,60,0,183,19,60,0,136,171,60,0,60,0,60,0,184,19,60,0,137,171,60,0,60,0,60,0,185,19,60,0,138,171,60,0,60,0,60,0,186,19,60,0,139,171,60,0,60,0,60,0,187,19,60,0,140,171,60,0,60,0,60,0,188,19,60,0,141,171,60,0,60,0,60,0,189,19,60,0,142,171,60,0,60,0,60,0,190,19,60,0,143,171,60,0,60,0,60,0,191,19,60,0,144,171,60,0,60,0,60,0,192,19,60,0,145,171,60,0,60,0,60,0,193,19,60,0,146,171,60,0,60,0,60,0,194,19,60,0,147,171,60,0,60,0,60,0,195,19,60,0,148,171,60,0,60,0,60,0,196,19,60,0,149,171,60,0,60,0,60,0,197,19,60,0,150,171,60,0,60,0,60,0,198,19,60,0,151,171,60,0,60,0,60,0,199,19,60,0,152,171,60,0,60,0,60,0,200,19,60,0,153,171,60,0,60,0,60,0,201,19,60,0,154,171,60,0,60,0,60,0,202,19,60,0,155,171,60,0,60,0,60,0,203,19,60,0,156,171,60,0,60,0,60,0,204,19,60,0,157,171,60,0,60,0,60,0,205,19,60,0,158,171,60,0,60,0,60,0,206,19,60,0,159,171,60,0,60,0,60,0,207,19,60,0,160,171,60,0,60,0,60,0,208,19,60,0,161,171,60,0,60,0,60,0,209,19,60,0,162,171,60,0,60,0,60,0,210,19,60,0,163,171,60,0,60,0,60,0,211,19,60,0,164,171,60,0,60,0,60,0,212,19,60,0,165,171,60,0,60,0,60,0,213,19,60,0,166,171,60,0,60,0,60,0,214,19,60,0,167,171,60,0,60,0,60,0,215,19,60,0,168,171,60,0,60,0,60,0,216,19,60,0,169,171,60,0,60,0,60,0,217,19,60,0,170,171,60,0,60,0,60,0,218,19,60,0,171,171,60,0,60,0,60,0,219,19,60,0,172,171,60,0,60,0,60,0,220,19,60,0,173,171,60,0,60,0,60,0,221,19,60,0,174,171,60,0,60,0,60,0,222,19,60,0,175,171,60,0,60,0,60,0,223,19,60,0,176,171,60,0,60,0,60,0,224,19,60,0,177,171,60,0,60,0,60,0,225,19,60,0,178,171,60,0,60,0,60,0,226,19,60,0,179,171,60,0,60,0,60,0,227,19,60,0,180,171,60,0,60,0,60,0,228,19,60,0,181,171,60,0,60,0,60,0,229,19,60,0,182,171,60,0,60,0,60,0,230,19,60,0,183,171,60,0,60,0,60,0,231,19,60,0,184,171,60,0,60,0,60,0,232,19,60,0,185,171,60,0,60,0,60,0,233,19,60,0,186,171,60,0,60,0,60,0,234,19,60,0,187,171,60,0,60,0,60,0,235,19,60,0,188,171,60,0,60,0,60,0,236,19,60,0,189,171,60,0,60,0,60,0,237,19,60,0,190,171,60,0,60,0,60,0,238,19,60,0,191,171,60,0,60,0,60,0,239,19,60,0,248,19,60,0,60,0,60,0,240,19,60,0,249,19,60,0,60,0,60,0,241,19,60,0,250,19,60,0,60,0,60,0,242,19,60,0,251,19,60,0,60,0,60,0,243,19,60,0,252,19,60,0,60,0,60,0,244,19,60,0,253,19,60,0,60,0,60,0,245,19,60,0,1,216,216,220,60,0,60,0,60,0,1,216,176,220,60,0,1,216,217,220,60,0,60,0,60,0,1,216,177,220,60,0,1,216,218,220,60,0,60,0,60,0,1,216,178,220,60,0,1,216,219,220,60,0,60,0,60,0,1,216,179,220,60,0,1,216,220,220,60,0,60,0,60,0,1,216,180,220,60,0,1,216,221,220,60,0,60,0,60,0,1,216,181,220,60,0,1,216,222,220,60,0,60,0,60,0,1,216,182,220,60,0,1,216,223,220,60,0,60,0,60,0,1,216,183,220,60,0,1,216,224,220,60,0,60,0,60,0,1,216,184,220,60,0,1,216,225,220,60,0,60,0,60,0,1,216,185,220,60,0,1,216,226,220,60,0,60,0,60,0,1,216,186,220,60,0,1,216,227,220,60,0,60,0,60,0,1,216,187,220,60,0,1,216,228,220,60,0,60,0,60,0,1,216,188,220,60,0,1,216,229,220,60,0,60,0,60,0,1,216,189,220,60,0,1,216,230,220,60,0,60,0,60,0,1,216,190,220,60,0,1,216,231,220,60,0,60,0,60,0,1,216,191,220,60,0,1,216,232,220,60,0,60,0,60,0,1,216,192,220,60,0,1,216,233,220,60,0,60,0,60,0,1,216,193,220,60,0,1,216,234,220,60,0,60,0,60,0,1,216,194,220,60,0,1,216,235,220,60,0,60,0,60,0,1,216,195,220,60,0,1,216,236,220,60,0,60,0,60,0,1,216,196,220,60,0,1,216,237,220,60,0,60,0,60,0,1,216,197,220,60,0,1,216,238,220,60,0,60,0,60,0,1,216,198,220,60,0,1,216,239,220,60,0,60,0,60,0,1,216,199,220,60,0,1,216,240,220,60,0,60,0,60,0,1,216,200,220,60,0,1,216,241,220,60,0,60,0,60,0,1,216,201,220,60,0,1,216,242,220,60,0,60,0,60,0,1,216,202,220,60,0,1,216,243,220,60,0,60,0,60,0,1,216,203,220,60,0,1,216,244,220,60,0,60,0,60,0,1,216,204,220,60,0,1,216,245,220,60,0,60,0,60,0,1,216,205,220,60,0,1,216,246,220,60,0,60,0,60,0,1,216,206,220,60,0,1,216,247,220,60,0,60,0,60,0,1,216,207,220,60,0,1,216,248,220,60,0,60,0,60,0,1,216,208,220,60,0,1,216,249,220,60,0,60,0,60,0,1,216,209,220,60,0,1,216,250,220,60,0,60,0,60,0,1,216,210,220,60,0,1,216,251,220,60,0,60,0,60,0,1,216,211,220,60,0,1,20,60,0,2,20,60,0,3,20,60,0,4,20,60,0,5,20,60,0,6,20,60,0,7,20,60,0,8,20,60,0,9,20,60,0,10,20,60,0,11,20,60,0,12,20,60,0,13,20,60,0,14,20,60,0,15,20,60,0,16,20,60,0,17,20,60,0,18,20,60,0,19,20,60,0,20,20,60,0,21,20,60,0,22,20,60,0,23,20,60,0,24,20,60,0,25,20,60,0,26,20,60,0,27,20,60,0,28,20,60,0,29,20,60,0,30,20,60,0,31,20,60,0,32,20,60,0,33,20,60,0,34,20,60,0,35,20,60,0,36,20,60,0,37,20,60,0,38,20,60,0,39,20,60,0,40,20,60,0,41,20,60,0,42,20,60,0,43,20,60,0,44,20,60,0,45,20,60,0,46,20,60,0,47,20,60,0,48,20,60,0,49,20,60,0,50,20,60,0,51,20,60,0,52,20,60,0,53,20,60,0,54,20,60,0,55,20,60,0,56,20,60,0,57,20,60,0,58,20,60,0,59,20,60,0,60,20,60,0,61,20,60,0,62,20,60,0,63,20,60,0,64,20,60,0,65,20,60,0,66,20,60,0,67,20,60,0,68,20,60,0,69,20,60,0,70,20,60,0,71,20,60,0,72,20,60,0,73,20,60,0,74,20,60,0,75,20,60,0,76,20,60,0,77,20,60,0,78,20,60,0,79,20,60,0,80,20,60,0,81,20,60,0,82,20,60,0,83,20,60,0,84,20,60,0,85,20,60,0,86,20,60,0,87,20,60,0,88,20,60,0,89,20,60,0,90,20,60,0,91,20,60,0,92,20,60,0,93,20,60,0,94,20,60,0,95,20,60,0,96,20,60,0,97,20,60,0,98,20,60,0,99,20,60,0,100,20,60,0,101,20,60,0,102,20,60,0,103,20,60,0,104,20,60,0,105,20,60,0,106,20,60,0,107,20,60,0,108,20,60,0,109,20,60,0,110,20,60,0,111,20,60,0,112,20,60,0,113,20,60,0,114,20,60,0,115,20,60,0,116,20,60,0,117,20,60,0,118,20,60,0,119,20,60,0,120,20,60,0,121,20,60,0,122,20,60,0,123,20,60,0,124,20,60,0,125,20,60,0,126,20,60,0,127,20,60,0,128,20,60,0,129,20,60,0,130,20,60,0,131,20,60,0,132,20,60,0,133,20,60,0,134,20,60,0,135,20,60,0,136,20,60,0,137,20,60,0,138,20,60,0,139,20,60,0,140,20,60,0,141,20,60,0,142,20,60,0,143,20,60,0,144,20,60,0,145,20,60,0,146,20,60,0,147,20,60,0,148,20,60,0,149,20,60,0,150,20,60,0,151,20,60,0,152,20,60,0,153,20,60,0,154,20,60,0,155,20,60,0,156,20,60,0,157,20,60,0,158,20,60,0,159,20,60,0,160,20,60,0,161,20,60,0,162,20,60,0,163,20,60,0,164,20,60,0,165,20,60,0,166,20,60,0,167,20,60,0,168,20,60,0,169,20,60,0,170,20,60,0,171,20,60,0,172,20,60,0,173,20,60,0,174,20,60,0,175,20,60,0,176,20,60,0,177,20,60,0,178,20,60,0,179,20,60,0,180,20,60,0,181,20,60,0,182,20,60,0,183,20,60,0,184,20,60,0,185,20,60,0,186,20,60,0,187,20,60,0,188,20,60,0,189,20,60,0,190,20,60,0,191,20,60,0,192,20,60,0,193,20,60,0,194,20,60,0,195,20,60,0,196,20,60,0,197,20,60,0,198,20,60,0,199,20,60,0,200,20,60,0,201,20,60,0,202,20,60,0,203,20,60,0,204,20,60,0,205,20,60,0,206,20,60,0,207,20,60,0,208,20,60,0,209,20,60,0,210,20,60,0,211,20,60,0,212,20,60,0,213,20,60,0,214,20,60,0,215,20,60,0,216,20,60,0,217,20,60,0,218,20,60,0,219,20,60,0,220,20,60,0,221,20,60,0,222,20,60,0,223,20,60,0,224,20,60,0,225,20,60,0,226,20,60,0,227,20,60,0,228,20,60,0,229,20,60,0,230,20,60,0,231,20,60,0,232,20,60,0,233,20,60,0,234,20,60,0,235,20,60,0,236,20,60,0,237,20,60,0,238,20,60,0,239,20,60,0,240,20,60,0,241,20,60,0,242,20,60,0,243,20,60,0,244,20,60,0,245,20,60,0,246,20,60,0,247,20,60,0,248,20,60,0,249,20,60,0,250,20,60,0,251,20,60,0,252,20,60,0,253,20,60,0,254,20,60,0,255,20,60,0,0,21,60,0,1,21,60,0,2,21,60,0,3,21,60,0,4,21,60,0,5,21,60,0,6,21,60,0,7,21,60,0,8,21,60,0,9,21,60,0,10,21,60,0,11,21,60,0,12,21,60,0,13,21,60,0,14,21,60,0,15,21,60,0,16,21,60,0,17,21,60,0,18,21,60,0,19,21,60,0,20,21,60,0,21,21,60,0,22,21,60,0,23,21,60,0,24,21,60,0,25,21,60,0,26,21,60,0,27,21,60,0,28,21,60,0,29,21,60,0,30,21,60,0,31,21,60,0,32,21,60,0,33,21,60,0,34,21,60,0,35,21,60,0,36,21,60,0,37,21,60,0,38,21,60,0,39,21,60,0,40,21,60,0,41,21,60,0,42,21,60,0,43,21,60,0,44,21,60,0,45,21,60,0,46,21,60,0,47,21,60,0,48,21,60,0,49,21,60,0,50,21,60,0,51,21,60,0,52,21,60,0,53,21,60,0,54,21,60,0,55,21,60,0,56,21,60,0,57,21,60,0,58,21,60,0,59,21,60,0,60,21,60,0,61,21,60,0,62,21,60,0,63,21,60,0,64,21,60,0,65,21,60,0,66,21,60,0,67,21,60,0,68,21,60,0,69,21,60,0,70,21,60,0,71,21,60,0,72,21,60,0,73,21,60,0,74,21,60,0,75,21,60,0,76,21,60,0,77,21,60,0,78,21,60,0,79,21,60,0,80,21,60,0,81,21,60,0,82,21,60,0,83,21,60,0,84,21,60,0,85,21,60,0,86,21,60,0,87,21,60,0,88,21,60,0,89,21,60,0,90,21,60,0,91,21,60,0,92,21,60,0,93,21,60,0,94,21,60,0,95,21,60,0,96,21,60,0,97,21,60,0,98,21,60,0,99,21,60,0,100,21,60,0,101,21,60,0,102,21,60,0,103,21,60,0,104,21,60,0,105,21,60,0,106,21,60,0,107,21,60,0,108,21,60,0,109,21,60,0,110,21,60,0,111,21,60,0,112,21,60,0,113,21,60,0,114,21,60,0,115,21,60,0,116,21,60,0,117,21,60,0,118,21,60,0,119,21,60,0,120,21,60,0,121,21,60,0,122,21,60,0,123,21,60,0,125,21,60,0,111,22,60,0,126,21,60,0,127,21,60,0,128,21,60,0,129,21,60,0,130,21,60,0,131,21,60,0,132,21,60,0,133,21,60,0,134,21,60,0,135,21,60,0,136,21,60,0,137,21,60,0,138,21,60,0,139,21,60,0,140,21,60,0,141,21,60,0,112,22,60,0,142,21,60,0,143,21,60,0,144,21,60,0,145,21,60,0,146,21,60,0,147,21,60,0,148,21,60,0,149,21,60,0,113,22,60,0,114,22,60,0,115,22,60,0,116,22,60,0,117,22,60,0,118,22,60,0,150,21,60,0,151,21,60,0,152,21,60,0,153,21,60,0,154,21,60,0,155,21,60,0,156,21,60,0,157,21,60,0,158,21,60,0,159,21,60,0,160,21,60,0,161,21,60,0,162,21,60,0,163,21,60,0,164,21,60,0,165,21,60,0,166,21,60,0,124,21,60,0,167,21,60,0,168,21,60,0,169,21,60,0,170,21,60,0,171,21,60,0,172,21,60,0,173,21,60,0,174,21,60,0,175,21,60,0,176,21,60,0,177,21,60,0,178,21,60,0,179,21,60,0,180,21,60,0,181,21,60,0,182,21,60,0,183,21,60,0,184,21,60,0,185,21,60,0,186,21,60,0,187,21,60,0,188,21,60,0,189,21,60,0,190,21,60,0,191,21,60,0,192,21,60,0,193,21,60,0,194,21,60,0,195,21,60,0,196,21,60,0,197,21,60,0,198,21,60,0,199,21,60,0,200,21,60,0,201,21,60,0,202,21,60,0,203,21,60,0,204,21,60,0,205,21,60,0,206,21,60,0,207,21,60,0,208,21,60,0,209,21,60,0,210,21,60,0,211,21,60,0,212,21,60,0,213,21,60,0,214,21,60,0,215,21,60,0,216,21,60,0,217,21,60,0,218,21,60,0,219,21,60,0,220,21,60,0,221,21,60,0,222,21,60,0,223,21,60,0,224,21,60,0,225,21,60,0,226,21,60,0,227,21,60,0,228,21,60,0,229,21,60,0,230,21,60,0,231,21,60,0,232,21,60,0,233,21,60,0,234,21,60,0,235,21,60,0,236,21,60,0,237,21,60,0,238,21,60,0,239,21,60,0,240,21,60,0,241,21,60,0,242,21,60,0,243,21,60,0,244,21,60,0,245,21,60,0,246,21,60,0,247,21,60,0,248,21,60,0,249,21,60,0,250,21,60,0,251,21,60,0,252,21,60,0,253,21,60,0,254,21,60,0,255,21,60,0,0,22,60,0,1,22,60,0,2,22,60,0,3,22,60,0,4,22,60,0,5,22,60,0,6,22,60,0,7,22,60,0,8,22,60,0,9,22,60,0,10,22,60,0,11,22,60,0,12,22,60,0,13,22,60,0,14,22,60,0,15,22,60,0,16,22,60,0,17,22,60,0,18,22,60,0,19,22,60,0,20,22,60,0,21,22,60,0,22,22,60,0,23,22,60,0,24,22,60,0,25,22,60,0,26,22,60,0,27,22,60,0,28,22,60,0,29,22,60,0,30,22,60,0,31,22,60,0,32,22,60,0,33,22,60,0,34,22,60,0,35,22,60,0,36,22,60,0,37,22,60,0,38,22,60,0,39,22,60,0,40,22,60,0,41,22,60,0,42,22,60,0,43,22,60,0,44,22,60,0,45,22,60,0,46,22,60,0,47,22,60,0,48,22,60,0,49,22,60,0,50,22,60,0,51,22,60,0,52,22,60,0,53,22,60,0,54,22,60,0,55,22,60,0,56,22,60,0,57,22,60,0,58,22,60,0,59,22,60,0,60,22,60,0,61,22,60,0,62,22,60,0,63,22,60,0,64,22,60,0,65,22,60,0,66,22,60,0,67,22,60,0,68,22,60,0,69,22,60,0,70,22,60,0,71,22,60,0,72,22,60,0,73,22,60,0,74,22,60,0,75,22,60,0,76,22,60,0,77,22,60,0,78,22,60,0,79,22,60,0,80,22,60,0,81,22,60,0,82,22,60,0,83,22,60,0,84,22,60,0,85,22,60,0,86,22,60,0,87,22,60,0,88,22,60,0,89,22,60,0,90,22,60,0,91,22,60,0,92,22,60,0,93,22,60,0,94,22,60,0,95,22,60,0,96,22,60,0,97,22,60,0,98,22,60,0,99,22,60,0,100,22,60,0,101,22,60,0,102,22,60,0,103,22,60,0,104,22,60,0,105,22,60,0,106,22,60,0,107,22,60,0,108,22,60,0,119,22,60,0,120,22,60,0,121,22,60,0,122,22,60,0,123,22,60,0,124,22,60,0,125,22,60,0,126,22,60,0,127,22,60,0,176,24,60,0,177,24,60,0,178,24,60,0,179,24,60,0,180,24,60,0,181,24,60,0,182,24,60,0,183,24,60,0,184,24,60,0,185,24,60,0,186,24,60,0,187,24,60,0,188,24,60,0,189,24,60,0,190,24,60,0,191,24,60,0,192,24,60,0,193,24,60,0,194,24,60,0,195,24,60,0,196,24,60,0,197,24,60,0,198,24,60,0,199,24,60,0,200,24,60,0,201,24,60,0,202,24,60,0,203,24,60,0,204,24,60,0,205,24,60,0,206,24,60,0,207,24,60,0,208,24,60,0,209,24,60,0,210,24,60,0,211,24,60,0,212,24,60,0,213,24,60,0,214,24,60,0,215,24,60,0,216,24,60,0,217,24,60,0,218,24,60,0,219,24,60,0,220,24,60,0,221,24,60,0,222,24,60,0,223,24,60,0,224,24,60,0,225,24,60,0,226,24,60,0,227,24,60,0,228,24,60,0,229,24,60,0,230,24,60,0,231,24,60,0,232,24,60,0,233,24,60,0,234,24,60,0,235,24,60,0,236,24,60,0,237,24,60,0,238,24,60,0,239,24,60,0,240,24,60,0,241,24,60,0,242,24,60,0,243,24,60,0,244,24,60,0,245,24,60,0,6,216,176,222,60,0,6,216,177,222,60,0,6,216,178,222,60,0,6,216,179,222,60,0,6,216,180,222,60,0,6,216,181,222,60,0,6,216,182,222,60,0,6,216,183,222,60,0,6,216,184,222,60,0,6,216,185,222,60,0,6,216,186,222,60,0,6,216,187,222,60,0,6,216,188,222,60,0,6,216,189,222,60,0,6,216,190,222,60,0,6,216,191,222,60,0,129,22,60,0,130,22,60,0,131,22,60,0,132,22,60,0,133,22,60,0,134,22,60,0,135,22,60,0,136,22,60,0,137,22,60,0,138,22,60,0,139,22,60,0,140,22,60,0,141,22,60,0,142,22,60,0,143,22,60,0,144,22,60,0,145,22,60,0,146,22,60,0,147,22,60,0,148,22,60,0,149,22,60,0,150,22,60,0,151,22,60,0,152,22,60,0,153,22,60,0,154,22,60,0,160,22,60,0,60,0,161,22,60,0,162,22,60,0,60,0,164,22,60,0,60,0,165,22,60,0,166,22,60,0,60,0,60,0,240,22,47,0,166,22,60,0,60,0,167,22,60,0,168,22,60,0,60,0,169,22,60,0,60,0,172,22,60,0,60,0,173,22,60,0,60,0,174,22,60,0,244,22,60,0,175,22,60,0,176,22,60,0,177,22,60,0,178,22,60,0,60,0,179,22,60,0,60,0,180,22,60,0,60,0,181,22,60,0,60,0,182,22,60,0,241,22,60,0,183,22,60,0,185,22,60,0,60,0,233,22,60,0,186,22,60,0,60,0,187,22,60,0,60,0,188,22,60,0,60,0,189,22,60,0,190,22,60,0,60,0,191,22,60,0,60,0,192,22,60,0,193,22,60,0,60,0,194,22,60,0,245,22,60,0,195,22,60,0,60,0,196,22,60,0,197,22,60,0,60,0,60,0,238,22,47,0,218,22,60,0,60,0,198,22,60,0,199,22,60,0,200,22,60,0,60,0,213,22,60,0,201,22,60,0,202,22,60,0,60,0,203,22,60,0,60,0,234,22,60,0,60,0,204,22,60,0,60,0,205,22,60,0,60,0,206,22,60,0,242,22,60,0,207,22,60,0,60,0,208,22,60,0,60,0,209,22,60,0,210,22,60,0,60,0,211,22,60,0,60,0,212,22,60,0,214,22,60,0,246,22,60,0,215,22,60,0,60,0,216,22,60,0,60,0,60,0,239,22,47,0,215,22,60,0,60,0,217,22,60,0,218,22,60,0,60,0,219,22,60,0,220,22,60,0,60,0,221,22,60,0,222,22,60,0,223,22,60,0,243,22,60,0,170,22,60,0,247,22,60,0,171,22,60,0,248,22,60,0,163,22,60,0,224,22,60,0,227,22,60,0,184,22,60,0,228,22,60,0,225,22,60,0,226,22,60,0,229,22,60,0,230,22,60,0,60,0,231,22,60,0,60,0,232,22,60,0,14,32,3,216,192,220,14,32,60,0,60,0,60,0,14,32,3,216,128,220,14,32,60,0,60,0,14,32,3,216,193,220,14,32,60,0,60,0,60,0,14,32,3,216,129,220,14,32,60,0,14,32,3,216,194,220,14,32,60,0,60,0,60,0,14,32,3,216,130,220,14,32,60,0,14,32,3,216,195,220,14,32,60,0,60,0,60,0,14,32,3,216,131,220,14,32,60,0,14,32,3,216,196,220,14,32,60,0,60,0,60,0,14,32,3,216,132,220,14,32,60,0,14,32,3,216,197,220,14,32,60,0,60,0,60,0,14,32,3,216,133,220,14,32,60,0,14,32,3,216,198,220,14,32,60,0,60,0,60,0,14,32,3,216,134,220,14,32,60,0,14,32,3,216,199,220,14,32,60,0,60,0,60,0,14,32,3,216,135,220,14,32,60,0,14,32,3,216,200,220,14,32,60,0,60,0,60,0,14,32,3,216,136,220,14,32,60,0,14,32,3,216,201,220,14,32,60,0,60,0,60,0,14,32,3,216,137,220,14,32,60,0,60,0,14,32,3,216,202,220,14,32,60,0,60,0,60,0,14,32,3,216,138,220,14,32,60,0,60,0,14,32,3,216,203,220,14,32,60,0,60,0,60,0,14,32,3,216,139,220,14,32,60,0,14,32,3,216,204,220,14,32,60,0,60,0,60,0,14,32,3,216,140,220,14,32,60,0,14,32,3,216,205,220,14,32,60,0,60,0,60,0,14,32,3,216,141,220,14,32,60,0,14,32,3,216,206,220,14,32,60,0,60,0,60,0,14,32,3,216,142,220,14,32,60,0,14,32,3,216,207,220,14,32,60,0,60,0,60,0,14,32,3,216,143,220,14,32,60,0,14,32,3,216,208,220,14,32,60,0,60,0,60,0,14,32,3,216,144,220,14,32,60,0,60,0,14,32,3,216,209,220,14,32,60,0,60,0,60,0,14,32,3,216,145,220,14,32,60,0,14,32,3,216,210,220,14,32,60,0,60,0,60,0,14,32,3,216,146,220,14,32,60,0,14,32,3,216,211,220,14,32,60,0,60,0,60,0,14,32,3,216,147,220,14,32,60,0,14,32,3,216,212,220,14,32,60,0,60,0,60,0,14,32,3,216,148,220,14,32,60,0,14,32,3,216,213,220,14,32,60,0,60,0,60,0,14,32,3,216,149,220,14,32,60,0,14,32,3,216,214,220,14,32,60,0,60,0,60,0,14,32,3,216,150,220,14,32,60,0,14,32,3,216,215,220,14,32,60,0,60,0,60,0,14,32,3,216,151,220,14,32,60,0,14,32,3,216,216,220,14,32,60,0,60,0,60,0,14,32,3,216,152,220,14,32,60,0,14,32,3,216,217,220,14,32,60,0,60,0,60,0,14,32,3,216,153,220,14,32,60,0,14,32,3,216,218,220,14,32,60,0,60,0,60,0,14,32,3,216,154,220,14,32,60,0,14,32,3,216,219,220,14,32,60,0,60,0,60,0,14,32,3,216,155,220,14,32,60,0,60,0,14,32,3,216,220,220,14,32,60,0,60,0,60,0,14,32,3,216,156,220,14,32,60,0,14,32,3,216,221,220,14,32,60,0,60,0,60,0,14,32,3,216,157,220,14,32,60,0,60,0,14,32,3,216,222,220,14,32,60,0,60,0,60,0,14,32,3,216,158,220,14,32,60,0,60,0,14,32,3,216,223,220,14,32,60,0,60,0,60,0,14,32,3,216,159,220,14,32,60,0,14,32,3,216,224,220,14,32,60,0,60,0,60,0,14,32,3,216,160,220,14,32,60,0,14,32,3,216,225,220,14,32,60,0,60,0,60,0,14,32,3,216,161,220,14,32,60,0,14,32,3,216,226,220,14,32,60,0,60,0,60,0,14,32,3,216,162,220,14,32,60,0,60,0,14,32,3,216,227,220,14,32,60,0,60,0,60,0,14,32,3,216,163,220,14,32,60,0,14,32,3,216,228,220,14,32,60,0,60,0,60,0,14,32,3,216,164,220,14,32,60,0,14,32,3,216,229,220,14,32,60,0,60,0,60,0,14,32,3,216,165,220,14,32,60,0,14,32,3,216,230,220,14,32,60,0,60,0,60,0,14,32,3,216,166,220,14,32,60,0,14,32,3,216,231,220,14,32,60,0,60,0,60,0,14,32,3,216,167,220,14,32,60,0,14,32,3,216,232,220,14,32,60,0,60,0,60,0,14,32,3,216,168,220,14,32,60,0,14,32,3,216,233,220,14,32,60,0,60,0,60,0,14,32,3,216,169,220,14,32,60,0,14,32,3,216,234,220,14,32,60,0,60,0,60,0,14,32,3,216,170,220,14,32,60,0,60,0,14,32,3,216,235,220,14,32,60,0,60,0,60,0,14,32,3,216,171,220,14,32,60,0,14,32,3,216,236,220,14,32,60,0,60,0,60,0,14,32,3,216,172,220,14,32,60,0,60,0,14,32,3,216,237,220,14,32,60,0,60,0,60,0,14,32,3,216,173,220,14,32,60,0,14,32,3,216,238,220,14,32,60,0,60,0,60,0,14,32,3,216,174,220,14,32,60,0,14,32,3,216,239,220,14,32,60,0,60,0,60,0,14,32,3,216,175,220,14,32,60,0,14,32,3,216,240,220,14,32,60,0,60,0,60,0,14,32,3,216,176,220,14,32,60,0,14,32,3,216,241,220,14,32,60,0,60,0,60,0,14,32,3,216,177,220,14,32,60,0,14,32,3,216,242,220,14,32,60,0,60,0,60,0,14,32,3,216,178,220,14,32,60,0,14,32,3,216,0,220,14,32,60,0,60,0,14,32,3,216,1,220,14,32,60,0,14,32,3,216,2,220,14,32,60,0,14,32,3,216,3,220,14,32,60,0,60,0,14,32,3,216,4,220,14,32,60,0,14,32,3,216,5,220,14,32,60,0,14,32,3,216,6,220,14,32,60,0,14,32,3,216,7,220,14,32,60,0,60,0,14,32,3,216,8,220,14,32,60,0,14,32,3,216,9,220,14,32,60,0,60,0,14,32,3,216,10,220,14,32,60,0,14,32,3,216,11,220,14,32,60,0,60,0,14,32,3,216,12,220,14,32,60,0,14,32,3,216,13,220,14,32,60,0,60,0,14,32,3,216,14,220,14,32,60,0,14,32,3,216,15,220,14,32,60,0,60,0,14,32,3,216,16,220,14,32,60,0,14,32,3,216,17,220,14,32,60,0,60,0,14,32,3,216,18,220,14,32,60,0,14,32,3,216,19,220,14,32,60,0,14,32,3,216,20,220,14,32,60,0,60,0,14,32,3,216,21,220,14,32,60,0,14,32,3,216,22,220,14,32,60,0,60,0,14,32,3,216,23,220,14,32,60,0,14,32,3,216,24,220,14,32,60,0,60,0,14,32,3,216,25,220,14,32,60,0,14,32,3,216,26,220,14,32,60,0,60,0,14,32,3,216,27,220,14,32,60,0,14,32,3,216,28,220,14,32,60,0,60,0,14,32,3,216,29,220,14,32,60,0,14,32,3,216,30,220,14,32,60,0,60,0,14,32,3,216,31,220,14,32,60,0,14,32,3,216,32,220,14,32,60,0,14,32,3,216,33,220,14,32,60,0,14,32,3,216,34,220,14,32,60,0,14,32,3,216,35,220,14,32,60,0,14,32,3,216,36,220,14,32,60,0,60,0,14,32,3,216,37,220,14,32,60,0,14,32,3,216,38,220,14,32,60,0,60,0,14,32,3,216,39,220,14,32,60,0,14,32,3,216,40,220,14,32,60,0,60,0,14,32,3,216,41,220,14,32,60,0,14,32,3,216,42,220,14,32,60,0,60,0,14,32,3,216,43,220,14,32,60,0,14,32,3,216,44,220,14,32,60,0,14,32,3,216,45,220,14,32,60,0,60,0,14,32,3,216,46,220,14,32,60,0,14,32,3,216,47,220,14,32,60,0,14,32,3,216,48,220,14,32,60,0,14,32,3,216,49,220,14,32,60,0,14,32,3,216,50,220,14,32,60,0,60,0,14,32,3,216,51,220,14,32,60,0,14,32,3,216,52,220,14,32,60,0,60,0,14,32,3,216,53,220,14,32,60,0,14,32,3,216,54,220,14,32,60,0,60,0,14,32,3,216,55,220,14,32,60,0,14,32,3,216,56,220,14,32,60,0,60,0,14,32,3,216,57,220,14,32,60,0,14,32,3,216,58,220,14,32,60,0,60,0,14,32,3,216,59,220,14,32,60,0,14,32,3,216,60,220,14,32,60,0,14,32,3,216,61,220,14,32,60,0,14,32,3,216,62,220,14,32,60,0,14,32,3,216,63,220,14,32,60,0,60,0,14,32,3,216,64,220,14,32,60,0,14,32,3,216,65,220,14,32,60,0,60,0,14,32,3,216,66,220,14,32,60,0,14,32,3,216,67,220,14,32,60,0,60,0,14,32,3,216,68,220,14,32,60,0,14,32,3,216,69,220,14,32,60,0,60,0,14,32,3,216,70,220,14,32,60,0,14,32,3,216,71,220,14,32,60,0,14,32,3,216,72,220,14,32,60,0,0,165,60,0,1,165,60,0,2,165,60,0,3,165,60,0,4,165,60,0,5,165,60,0,6,165,60,0,7,165,60,0,8,165,60,0,9,165,60,0,10,165,60,0,11,165,60,0,12,165,60,0,60,0,60,0,19,166,47,0,11,166,60,0,13,165,60,0,14,165,60,0,15,165,60,0,16,165,60,0,17,165,60,0,18,165,60,0,19,165,60,0,20,165,60,0,21,165,60,0,22,165,60,0,23,165,60,0,24,165,60,0,25,165,60,0,26,165,60,0,27,165,60,0,28,165,60,0,29,165,60,0,30,165,60,0,60,0,60,0,20,166,47,0,11,166,60,0,31,165,60,0,32,165,60,0,33,165,60,0,34,165,60,0,35,165,60,0,36,165,60,0,37,165,60,0,38,165,60,0,39,165,60,0,40,165,60,0,41,165,60,0,42,165,60,0,43,165,60,0,44,165,60,0,45,165,60,0,46,165,60,0,47,165,60,0,48,165,60,0,49,165,60,0,50,165,60,0,51,165,60,0,60,0,60,0,21,166,47,0,11,166,60,0,52,165,60,0,53,165,60,0,54,165,60,0,55,165,60,0,56,165,60,0,57,165,60,0,58,165,60,0,59,165,60,0,60,165,60,0,61,165,60,0,62,165,60,0,63,165,60,0,64,165,60,0,65,165,60,0,66,165,60,0,67,165,60,0,68,165,60,0,69,165,60,0,70,165,60,0,71,165,60,0,60,0,60,0,22,166,47,0,12,166,60,0,72,165,60,0,73,165,60,0,74,165,60,0,75,165,60,0,76,165,60,0,77,165,60,0,78,165,60,0,79,165,60,0,80,165,60,0,81,165,60,0,82,165,60,0,60,0,60,0,23,166,47,0,11,166,60,0,83,165,60,0,84,165,60,0,85,165,60,0,86,165,60,0,87,165,60,0,88,165,60,0,60,0,60,0,16,166,60,0,60,0,60,0,24,166,47,0,12,166,60,0,89,165,60,0,90,165,60,0,60,0,60,0,25,166,47,0,12,166,60,0,91,165,60,0,92,165,60,0,93,165,60,0,94,165,60,0,95,165,60,0,96,165,60,0,60,0,60,0,26,166,47,0,11,166,60,0,97,165,60,0,98,165,60,0,99,165,60,0,100,165,60,0,101,165,60,0,102,165,60,0,103,165,60,0,104,165,60,0,105,165,60,0,106,165,60,0,60,0,60,0,17,166,60,0,107,165,60,0,108,165,60,0,109,165,60,0,110,165,60,0,60,0,60,0,42,166,60,0,111,165,60,0,112,165,60,0,113,165,60,0,114,165,60,0,115,165,60,0,116,165,60,0,117,165,60,0,118,165,60,0,119,165,60,0,120,165,60,0,121,165,60,0,122,165,60,0,123,165,60,0,124,165,60,0,125,165,60,0,126,165,60,0,127,165,60,0,128,165,60,0,129,165,60,0,130,165,60,0,131,165,60,0,132,165,60,0,133,165,60,0,60,0,60,0,27,166,47,0,11,166,60,0,134,165,60,0,135,165,60,0,60,0,60,0,18,166,60,0,136,165,60,0,137,165,60,0,138,165,60,0,139,165,60,0,140,165,60,0,141,165,60,0,142,165,60,0,143,165,60,0,144,165,60,0,145,165,60,0,146,165,60,0,147,165,60,0,148,165,60,0,149,165,60,0,150,165,60,0,151,165,60,0,152,165,60,0,153,165,60,0,154,165,60,0,155,165,60,0,156,165,60,0,157,165,60,0,158,165,60,0,159,165,60,0,160,165,60,0,161,165,60,0,162,165,60,0,163,165,60,0,164,165,60,0,165,165,60,0,166,165,60,0,167,165,60,0,168,165,60,0,169,165,60,0,170,165,60,0,171,165,60,0,172,165,60,0,173,165,60,0,174,165,60,0,175,165,60,0,176,165,60,0,177,165,60,0,178,165,60,0,179,165,60,0,180,165,60,0,60,0,60,0,28,166,47,0,11,166,60,0,181,165,60,0,182,165,60,0,183,165,60,0,184,165,60,0,185,165,60,0,186,165,60,0,187,165,60,0,188,165,60,0,189,165,60,0,190,165,60,0,191,165,60,0,192,165,60,0,193,165,60,0,194,165,60,0,195,165,60,0,196,165,60,0,197,165,60,0,198,165,60,0,199,165,60,0,200,165,60,0,201,165,60,0,202,165,60,0,203,165,60,0,60,0,60,0,29,166,47,0,11,166,60,0,204,165,60,0,205,165,60,0,206,165,60,0,207,165,60,0,208,165,60,0,209,165,60,0,60,0,60,0,43,166,60,0,60,0,60,0,30,166,47,0,12,166,60,0,210,165,60,0,211,165,60,0,212,165,60,0,213,165,60,0,214,165,60,0,215,165,60,0,216,165,60,0,60,0,60,0,31,166,47,0,11,166,60,0,217,165,60,0,218,165,60,0,219,165,60,0,220,165,60,0,221,165,60,0,222,165,60,0,223,165,60,0,224,165,60,0,225,165,60,0,226,165,60,0,227,165,60,0,228,165,60,0,229,165,60,0,230,165,60,0,231,165,60,0,232,165,60,0,233,165,60,0,234,165,60,0,235,165,60,0,236,165,60,0,237,165,60,0,238,165,60,0,239,165,60,0,240,165,60,0,241,165,60,0,242,165,60,0,243,165,60,0,244,165,60,0,245,165,60,0,246,165,60,0,247,165,60,0,248,165,60,0,249,165,60,0,250,165,60,0,251,165,60,0,252,165,60,0,253,165,60,0,254,165,60,0,255,165,60,0,0,166,60,0,1,166,60,0,2,166,60,0,3,166,60,0,4,166,60,0,5,166,60,0,6,166,60,0,7,166,60,0,8,166,60,0,9,166,60,0,10,166,60,0,11,166,60,0,12,166,60,0,160,166,60,0,161,166,60,0,162,166,60,0,163,166,60,0,164,166,60,0,165,166,60,0,166,166,60,0,167,166,60,0,168,166,60,0,169,166,60,0,170,166,60,0,171,166,60,0,172,166,60,0,173,166,60,0,174,166,60,0,175,166,60,0,176,166,60,0,177,166,60,0,178,166,60,0,179,166,60,0,180,166,60,0,181,166,60,0,182,166,60,0,183,166,60,0,184,166,60,0,185,166,60,0,186,166,60,0,187,166,60,0,188,166,60,0,189,166,60,0,190,166,60,0,191,166,60,0,192,166,60,0,193,166,60,0,194,166,60,0,195,166,60,0,196,166,60,0,197,166,60,0,198,166,60,0,199,166,60,0,200,166,60,0,201,166,60,0,202,166,60,0,203,166,60,0,204,166,60,0,205,166,60,0,206,166,60,0,207,166,60,0,208,166,60,0,209,166,60,0,210,166,60,0,211,166,60,0,212,166,60,0,213,166,60,0,214,166,60,0,215,166,60,0,216,166,60,0,217,166,60,0,218,166,60,0,219,166,60,0,220,166,60,0,221,166,60,0,222,166,60,0,223,166,60,0,224,166,60,0,225,166,60,0,226,166,60,0,227,166,60,0,228,166,60,0,229,166,60,0,230,166,60,0,231,166,60,0,232,166,60,0,233,166,60,0,234,166,60,0,235,166,60,0,236,166,60,0,237,166,60,0,238,166,60,0,239,166,60,0,26,216,0,220,60,0,26,216,1,220,60,0,26,216,2,220,60,0,26,216,3,220,60,0,26,216,4,220,60,0,26,216,5,220,60,0,26,216,6,220,60,0,26,216,7,220,60,0,26,216,8,220,60,0,26,216,9,220,60,0,26,216,10,220,60,0,26,216,11,220,60,0,26,216,12,220,60,0,26,216,13,220,60,0,26,216,14,220,60,0,26,216,15,220,60,0,26,216,16,220,60,0,26,216,17,220,60,0,26,216,18,220,60,0,26,216,19,220,60,0,26,216,20,220,60,0,26,216,21,220,60,0,26,216,22,220,60,0,26,216,23,220,60,0,26,216,24,220,60,0,26,216,25,220,60,0,26,216,26,220,60,0,26,216,27,220,60,0,26,216,28,220,60,0,26,216,29,220,60,0,26,216,30,220,60,0,26,216,31,220,60,0,26,216,32,220,60,0,26,216,33,220,60,0,26,216,34,220,60,0,26,216,35,220,60,0,26,216,36,220,60,0,26,216,37,220,60,0,26,216,38,220,60,0,26,216,39,220,60,0,26,216,40,220,60,0,26,216,41,220,60,0,26,216,42,220,60,0,26,216,43,220,60,0,26,216,44,220,60,0,26,216,45,220,60,0,26,216,46,220,60,0,26,216,47,220,60,0,26,216,48,220,60,0,26,216,49,220,60,0,26,216,50,220,60,0,26,216,51,220,60,0,26,216,52,220,60,0,26,216,53,220,60,0,26,216,54,220,60,0,26,216,55,220,60,0,26,216,56,220,60,0,26,216,57,220,60,0,26,216,58,220,60,0,26,216,59,220,60,0,26,216,60,220,60,0,26,216,61,220,60,0,26,216,62,220,60,0,26,216,63,220,60,0,26,216,64,220,60,0,26,216,65,220,60,0,26,216,66,220,60,0,26,216,67,220,60,0,26,216,68,220,60,0,26,216,69,220,60,0,26,216,70,220,60,0,26,216,71,220,60,0,26,216,72,220,60,0,26,216,73,220,60,0,26,216,74,220,60,0,26,216,75,220,60,0,26,216,76,220,60,0,26,216,77,220,60,0,26,216,78,220,60,0,26,216,79,220,60,0,26,216,80,220,60,0,26,216,81,220,60,0,26,216,82,220,60,0,26,216,83,220,60,0,26,216,84,220,60,0,26,216,85,220,60,0,26,216,86,220,60,0,26,216,87,220,60,0,26,216,88,220,60,0,26,216,89,220,60,0,26,216,90,220,60,0,26,216,91,220,60,0,26,216,92,220,60,0,26,216,93,220,60,0,26,216,94,220,60,0,26,216,95,220,60,0,26,216,96,220,60,0,26,216,97,220,60,0,26,216,98,220,60,0,26,216,99,220,60,0,26,216,100,220,60,0,26,216,101,220,60,0,26,216,102,220,60,0,26,216,103,220,60,0,26,216,104,220,60,0,26,216,105,220,60,0,26,216,106,220,60,0,26,216,107,220,60,0,26,216,108,220,60,0,26,216,109,220,60,0,26,216,110,220,60,0,26,216,111,220,60,0,26,216,112,220,60,0,26,216,113,220,60,0,26,216,114,220,60,0,26,216,115,220,60,0,26,216,116,220,60,0,26,216,117,220,60,0,26,216,118,220,60,0,26,216,119,220,60,0,26,216,120,220,60,0,26,216,121,220,60,0,26,216,122,220,60,0,26,216,123,220,60,0,26,216,124,220,60,0,26,216,125,220,60,0,26,216,126,220,60,0,26,216,127,220,60,0,26,216,128,220,60,0,26,216,129,220,60,0,26,216,130,220,60,0,26,216,131,220,60,0,26,216,132,220,60,0,26,216,133,220,60,0,26,216,134,220,60,0,26,216,135,220,60,0,26,216,136,220,60,0,26,216,137,220,60,0,26,216,138,220,60,0,26,216,139,220,60,0,26,216,140,220,60,0,26,216,141,220,60,0,26,216,142,220,60,0,26,216,143,220,60,0,26,216,144,220,60,0,26,216,145,220,60,0,26,216,146,220,60,0,26,216,147,220,60,0,26,216,148,220,60,0,26,216,149,220,60,0,26,216,150,220,60,0,26,216,151,220,60,0,26,216,152,220,60,0,26,216,153,220,60,0,26,216,154,220,60,0,26,216,155,220,60,0,26,216,156,220,60,0,26,216,157,220,60,0,26,216,158,220,60,0,26,216,159,220,60,0,26,216,160,220,60,0,26,216,161,220,60,0,26,216,162,220,60,0,26,216,163,220,60,0,26,216,164,220,60,0,26,216,165,220,60,0,26,216,166,220,60,0,26,216,167,220,60,0,26,216,168,220,60,0,26,216,169,220,60,0,26,216,170,220,60,0,26,216,171,220,60,0,26,216,172,220,60,0,26,216,173,220,60,0,26,216,174,220,60,0,26,216,175,220,60,0,26,216,176,220,60,0,26,216,177,220,60,0,26,216,178,220,60,0,26,216,179,220,60,0,26,216,180,220,60,0,26,216,181,220,60,0,26,216,182,220,60,0,26,216,183,220,60,0,26,216,184,220,60,0,26,216,185,220,60,0,26,216,186,220,60,0,26,216,187,220,60,0,26,216,188,220,60,0,26,216,189,220,60,0,26,216,190,220,60,0,26,216,191,220,60,0,26,216,192,220,60,0,26,216,193,220,60,0,26,216,194,220,60,0,26,216,195,220,60,0,26,216,196,220,60,0,26,216,197,220,60,0,26,216,198,220,60,0,26,216,199,220,60,0,26,216,200,220,60,0,26,216,201,220,60,0,26,216,202,220,60,0,26,216,203,220,60,0,26,216,204,220,60,0,26,216,205,220,60,0,26,216,206,220,60,0,26,216,207,220,60,0,26,216,208,220,60,0,26,216,209,220,60,0,26,216,210,220,60,0,26,216,211,220,60,0,26,216,212,220,60,0,26,216,213,220,60,0,26,216,214,220,60,0,26,216,215,220,60,0,26,216,216,220,60,0,26,216,217,220,60,0,26,216,218,220,60,0,26,216,219,220,60,0,26,216,220,220,60,0,26,216,221,220,60,0,26,216,222,220,60,0,26,216,223,220,60,0,26,216,224,220,60,0,26,216,225,220,60,0,26,216,226,220,60,0,26,216,227,220,60,0,26,216,228,220,60,0,26,216,229,220,60,0,26,216,230,220,60,0,26,216,231,220,60,0,26,216,232,220,60,0,26,216,233,220,60,0,26,216,234,220,60,0,26,216,235,220,60,0,26,216,236,220,60,0,26,216,237,220,60,0,26,216,238,220,60,0,26,216,239,220,60,0,26,216,240,220,60,0,26,216,241,220,60,0,26,216,242,220,60,0,26,216,243,220,60,0,26,216,244,220,60,0,26,216,245,220,60,0,26,216,246,220,60,0,26,216,247,220,60,0,26,216,248,220,60,0,26,216,249,220,60,0,26,216,250,220,60,0,26,216,251,220,60,0,26,216,252,220,60,0,26,216,253,220,60,0,26,216,254,220,60,0,26,216,255,220,60,0,26,216,0,221,60,0,26,216,1,221,60,0,26,216,2,221,60,0,26,216,3,221,60,0,26,216,4,221,60,0,26,216,5,221,60,0,26,216,6,221,60,0,26,216,7,221,60,0,26,216,8,221,60,0,26,216,9,221,60,0,26,216,10,221,60,0,26,216,11,221,60,0,26,216,12,221,60,0,26,216,13,221,60,0,26,216,14,221,60,0,26,216,15,221,60,0,26,216,16,221,60,0,26,216,17,221,60,0,26,216,18,221,60,0,26,216,19,221,60,0,26,216,20,221,60,0,26,216,21,221,60,0,26,216,22,221,60,0,26,216,23,221,60,0,26,216,24,221,60,0,26,216,25,221,60,0,26,216,26,221,60,0,26,216,27,221,60,0,26,216,28,221,60,0,26,216,29,221,60,0,26,216,30,221,60,0,26,216,31,221,60,0,26,216,32,221,60,0,26,216,33,221,60,0,26,216,34,221,60,0,26,216,35,221,60,0,26,216,36,221,60,0,26,216,37,221,60,0,26,216,38,221,60,0,26,216,39,221,60,0,26,216,40,221,60,0,26,216,41,221,60,0,26,216,42,221,60,0,26,216,43,221,60,0,26,216,44,221,60,0,26,216,45,221,60,0,26,216,46,221,60,0,26,216,47,221,60,0,26,216,48,221,60,0,26,216,49,221,60,0,26,216,50,221,60,0,26,216,51,221,60,0,26,216,52,221,60,0,26,216,53,221,60,0,26,216,54,221,60,0,26,216,55,221,60,0,26,216,56,221,60,0,26,216,57,221,60,0,26,216,58,221,60,0,26,216,59,221,60,0,26,216,60,221,60,0,26,216,61,221,60,0,26,216,62,221,60,0,26,216,63,221,60,0,26,216,64,221,60,0,26,216,65,221,60,0,26,216,66,221,60,0,26,216,67,221,60,0,26,216,68,221,60,0,26,216,69,221,60,0,26,216,70,221,60,0,26,216,71,221,60,0,26,216,72,221,60,0,26,216,73,221,60,0,26,216,74,221,60,0,26,216,75,221,60,0,26,216,76,221,60,0,26,216,77,221,60,0,26,216,78,221,60,0,26,216,79,221,60,0,26,216,80,221,60,0,26,216,81,221,60,0,26,216,82,221,60,0,26,216,83,221,60,0,26,216,84,221,60,0,26,216,85,221,60,0,26,216,86,221,60,0,26,216,87,221,60,0,26,216,88,221,60,0,26,216,89,221,60,0,26,216,90,221,60,0,26,216,91,221,60,0,26,216,92,221,60,0,26,216,93,221,60,0,26,216,94,221,60,0,26,216,95,221,60,0,26,216,96,221,60,0,26,216,97,221,60,0,26,216,98,221,60,0,26,216,99,221,60,0,26,216,100,221,60,0,26,216,101,221,60,0,26,216,102,221,60,0,26,216,103,221,60,0,26,216,104,221,60,0,26,216,105,221,60,0,26,216,106,221,60,0,26,216,107,221,60,0,26,216,108,221,60,0,26,216,109,221,60,0,26,216,110,221,60,0,26,216,111,221,60,0,26,216,112,221,60,0,26,216,113,221,60,0,26,216,114,221,60,0,26,216,115,221,60,0,26,216,116,221,60,0,26,216,117,221,60,0,26,216,118,221,60,0,26,216,119,221,60,0,26,216,120,221,60,0,26,216,121,221,60,0,26,216,122,221,60,0,26,216,123,221,60,0,26,216,124,221,60,0,26,216,125,221,60,0,26,216,126,221,60,0,26,216,127,221,60,0,26,216,128,221,60,0,26,216,129,221,60,0,26,216,130,221,60,0,26,216,131,221,60,0,26,216,132,221,60,0,26,216,133,221,60,0,26,216,134,221,60,0,26,216,135,221,60,0,26,216,136,221,60,0,26,216,137,221,60,0,26,216,138,221,60,0,26,216,139,221,60,0,26,216,140,221,60,0,26,216,141,221,60,0,26,216,142,221,60,0,26,216,143,221,60,0,26,216,144,221,60,0,26,216,145,221,60,0,26,216,146,221,60,0,26,216,147,221,60,0,26,216,148,221,60,0,26,216,149,221,60,0,26,216,150,221,60,0,26,216,151,221,60,0,26,216,152,221,60,0,26,216,153,221,60,0,26,216,154,221,60,0,26,216,155,221,60,0,26,216,156,221,60,0,26,216,157,221,60,0,26,216,158,221,60,0,26,216,159,221,60,0,26,216,160,221,60,0,26,216,161,221,60,0,26,216,162,221,60,0,26,216,163,221,60,0,26,216,164,221,60,0,26,216,165,221,60,0,26,216,166,221,60,0,26,216,167,221,60,0,26,216,168,221,60,0,26,216,169,221,60,0,26,216,170,221,60,0,26,216,171,221,60,0,26,216,172,221,60,0,26,216,173,221,60,0,26,216,174,221,60,0,26,216,175,221,60,0,26,216,176,221,60,0,26,216,177,221,60,0,26,216,178,221,60,0,26,216,179,221,60,0,26,216,180,221,60,0,26,216,181,221,60,0,26,216,182,221,60,0,26,216,183,221,60,0,26,216,184,221,60,0,26,216,185,221,60,0,26,216,186,221,60,0,26,216,187,221,60,0,26,216,188,221,60,0,26,216,189,221,60,0,26,216,190,221,60,0,26,216,191,221,60,0,26,216,192,221,60,0,26,216,193,221,60,0,26,216,194,221,60,0,26,216,195,221,60,0,26,216,196,221,60,0,26,216,197,221,60,0,26,216,198,221,60,0,26,216,199,221,60,0,26,216,200,221,60,0,26,216,201,221,60,0,26,216,202,221,60,0,26,216,203,221,60,0,26,216,204,221,60,0,26,216,205,221,60,0,26,216,206,221,60,0,26,216,207,221,60,0,26,216,208,221,60,0,26,216,209,221,60,0,26,216,210,221,60,0,26,216,211,221,60,0,26,216,212,221,60,0,26,216,213,221,60,0,26,216,214,221,60,0,26,216,215,221,60,0,26,216,216,221,60,0,26,216,217,221,60,0,26,216,218,221,60,0,26,216,219,221,60,0,26,216,220,221,60,0,26,216,221,221,60,0,26,216,222,221,60,0,26,216,223,221,60,0,26,216,224,221,60,0,26,216,225,221,60,0,26,216,226,221,60,0,26,216,227,221,60,0,26,216,228,221,60,0,26,216,229,221,60,0,26,216,230,221,60,0,26,216,231,221,60,0,26,216,232,221,60,0,26,216,233,221,60,0,26,216,234,221,60,0,26,216,235,221,60,0,26,216,236,221,60,0,26,216,237,221,60,0,26,216,238,221,60,0,26,216,239,221,60,0,26,216,240,221,60,0,26,216,241,221,60,0,26,216,242,221,60,0,26,216,243,221,60,0,26,216,244,221,60,0,26,216,245,221,60,0,26,216,246,221,60,0,26,216,247,221,60,0,26,216,248,221,60,0,26,216,249,221,60,0,26,216,250,221,60,0,26,216,251,221,60,0,26,216,252,221,60,0,26,216,253,221,60,0,26,216,254,221,60,0,26,216,255,221,60,0,26,216,0,222,60,0,26,216,1,222,60,0,26,216,2,222,60,0,26,216,3,222,60,0,26,216,4,222,60,0,26,216,5,222,60,0,26,216,6,222,60,0,26,216,7,222,60,0,26,216,8,222,60,0,26,216,9,222,60,0,26,216,10,222,60,0,26,216,11,222,60,0,26,216,12,222,60,0,26,216,13,222,60,0,26,216,14,222,60,0,26,216,15,222,60,0,26,216,16,222,60,0,26,216,17,222,60,0,26,216,18,222,60,0,26,216,19,222,60,0,26,216,20,222,60,0,26,216,21,222,60,0,26,216,22,222,60,0,26,216,23,222,60,0,26,216,24,222,60,0,26,216,25,222,60,0,26,216,26,222,60,0,26,216,27,222,60,0,26,216,28,222,60,0,26,216,29,222,60,0,26,216,30,222,60,0,26,216,31,222,60,0,26,216,32,222,60,0,26,216,33,222,60,0,26,216,34,222,60,0,26,216,35,222,60,0,26,216,36,222,60,0,26,216,37,222,60,0,26,216,38,222,60,0,26,216,39,222,60,0,26,216,40,222,60,0,26,216,41,222,60,0,26,216,42,222,60,0,26,216,43,222,60,0,26,216,44,222,60,0,26,216,45,222,60,0,26,216,46,222,60,0,26,216,47,222,60,0,26,216,48,222,60,0,26,216,49,222,60,0,26,216,50,222,60,0,26,216,51,222,60,0,26,216,52,222,60,0,26,216,53,222,60,0,26,216,54,222,60,0,26,216,55,222,60,0,26,216,56,222,60,0,26,216,208,222,60,0,26,216,209,222,60,0,26,216,210,222,60,0,26,216,211,222,60,0,26,216,212,222,60,0,26,216,213,222,60,0,26,216,214,222,60,0,26,216,215,222,60,0,26,216,216,222,60,0,26,216,217,222,60,0,26,216,218,222,60,0,26,216,219,222,60,0,26,216,220,222,60,0,26,216,221,222,60,0,26,216,222,222,60,0,26,216,223,222,60,0,26,216,224,222,60,0,26,216,225,222,60,0,26,216,226,222,60,0,26,216,227,222,60,0,26,216,228,222,60,0,26,216,229,222,60,0,26,216,230,222,60,0,26,216,231,222,60,0,26,216,232,222,60,0,26,216,233,222,60,0,26,216,234,222,60,0,26,216,235,222,60,0,26,216,236,222,60,0,26,216,237,222,60,0,14,32,58,216,0,220,14,32,60,0,14,32,58,216,1,220,14,32,60,0,14,32,58,216,2,220,14,32,60,0,14,32,58,216,3,220,14,32,60,0,14,32,58,216,4,220,14,32,60,0,14,32,58,216,5,220,14,32,60,0,14,32,58,216,6,220,14,32,60,0,14,32,58,216,7,220,14,32,60,0,14,32,58,216,8,220,14,32,60,0,14,32,58,216,9,220,14,32,60,0,14,32,58,216,10,220,14,32,60,0,14,32,58,216,11,220,14,32,60,0,14,32,58,216,12,220,14,32,60,0,14,32,58,216,13,220,14,32,60,0,14,32,58,216,14,220,14,32,60,0,14,32,58,216,15,220,14,32,60,0,14,32,58,216,16,220,14,32,60,0,14,32,58,216,17,220,14,32,60,0,14,32,58,216,18,220,14,32,60,0,14,32,58,216,19,220,14,32,60,0,14,32,58,216,20,220,14,32,60,0,14,32,58,216,21,220,14,32,60,0,14,32,58,216,22,220,14,32,60,0,14,32,58,216,23,220,14,32,60,0,14,32,58,216,24,220,14,32,60,0,14,32,58,216,25,220,14,32,60,0,14,32,58,216,26,220,14,32,60,0,14,32,58,216,27,220,14,32,60,0,14,32,58,216,28,220,14,32,60,0,14,32,58,216,29,220,14,32,60,0,14,32,58,216,30,220,14,32,60,0,14,32,58,216,31,220,14,32,60,0,14,32,58,216,32,220,14,32,60,0,14,32,58,216,33,220,14,32,60,0,14,32,58,216,34,220,14,32,60,0,14,32,58,216,35,220,14,32,60,0,14,32,58,216,36,220,14,32,60,0,14,32,58,216,37,220,14,32,60,0,14,32,58,216,38,220,14,32,60,0,14,32,58,216,39,220,14,32,60,0,14,32,58,216,40,220,14,32,60,0,14,32,58,216,41,220,14,32,60,0,14,32,58,216,42,220,14,32,60,0,14,32,58,216,43,220,14,32,60,0,14,32,58,216,44,220,14,32,60,0,14,32,58,216,45,220,14,32,60,0,14,32,58,216,46,220,14,32,60,0,14,32,58,216,47,220,14,32,60,0,14,32,58,216,48,220,14,32,60,0,14,32,58,216,49,220,14,32,60,0,14,32,58,216,50,220,14,32,60,0,14,32,58,216,51,220,14,32,60,0,14,32,58,216,52,220,14,32,60,0,14,32,58,216,53,220,14,32,60,0,14,32,58,216,54,220,14,32,60,0,14,32,58,216,55,220,14,32,60,0,14,32,58,216,56,220,14,32,60,0,14,32,58,216,57,220,14,32,60,0,14,32,58,216,58,220,14,32,60,0,14,32,58,216,59,220,14,32,60,0,14,32,58,216,60,220,14,32,60,0,14,32,58,216,61,220,14,32,60,0,14,32,58,216,62,220,14,32,60,0,14,32,58,216,63,220,14,32,60,0,14,32,58,216,64,220,14,32,60,0,14,32,58,216,65,220,14,32,60,0,14,32,58,216,66,220,14,32,60,0,14,32,58,216,67,220,14,32,60,0,14,32,58,216,68,220,14,32,60,0,14,32,58,216,69,220,14,32,60,0,14,32,58,216,70,220,14,32,60,0,14,32,58,216,71,220,14,32,60,0,14,32,58,216,72,220,14,32,60,0,14,32,58,216,73,220,14,32,60,0,14,32,58,216,74,220,14,32,60,0,14,32,58,216,75,220,14,32,60,0,14,32,58,216,76,220,14,32,60,0,14,32,58,216,77,220,14,32,60,0,14,32,58,216,78,220,14,32,60,0,14,32,58,216,79,220,14,32,60,0,14,32,58,216,80,220,14,32,60,0,14,32,58,216,81,220,14,32,60,0,14,32,58,216,82,220,14,32,60,0,14,32,58,216,83,220,14,32,60,0,14,32,58,216,84,220,14,32,60,0,14,32,58,216,85,220,14,32,60,0,14,32,58,216,86,220,14,32,60,0,14,32,58,216,87,220,14,32,60,0,14,32,58,216,88,220,14,32,60,0,14,32,58,216,89,220,14,32,60,0,14,32,58,216,90,220,14,32,60,0,14,32,58,216,91,220,14,32,60,0,14,32,58,216,92,220,14,32,60,0,14,32,58,216,93,220,14,32,60,0,14,32,58,216,94,220,14,32,60,0,14,32,58,216,95,220,14,32,60,0,14,32,58,216,96,220,14,32,60,0,14,32,58,216,97,220,14,32,60,0,14,32,58,216,98,220,14,32,60,0,14,32,58,216,99,220,14,32,60,0,14,32,58,216,100,220,14,32,60,0,14,32,58,216,101,220,14,32,60,0,14,32,58,216,102,220,14,32,60,0,14,32,58,216,103,220,14,32,60,0,14,32,58,216,104,220,14,32,60,0,14,32,58,216,105,220,14,32,60,0,14,32,58,216,106,220,14,32,60,0,14,32,58,216,107,220,14,32,60,0,14,32,58,216,108,220,14,32,60,0,14,32,58,216,109,220,14,32,60,0,14,32,58,216,110,220,14,32,60,0,14,32,58,216,111,220,14,32,60,0,14,32,58,216,112,220,14,32,60,0,14,32,58,216,113,220,14,32,60,0,14,32,58,216,114,220,14,32,60,0,14,32,58,216,115,220,14,32,60,0,14,32,58,216,116,220,14,32,60,0,14,32,58,216,117,220,14,32,60,0,14,32,58,216,118,220,14,32,60,0,14,32,58,216,119,220,14,32,60,0,14,32,58,216,120,220,14,32,60,0,14,32,58,216,121,220,14,32,60,0,14,32,58,216,122,220,14,32,60,0,14,32,58,216,123,220,14,32,60,0,14,32,58,216,124,220,14,32,60,0,14,32,58,216,125,220,14,32,60,0,14,32,58,216,126,220,14,32,60,0,14,32,58,216,127,220,14,32,60,0,14,32,58,216,128,220,14,32,60,0,14,32,58,216,129,220,14,32,60,0,14,32,58,216,130,220,14,32,60,0,14,32,58,216,131,220,14,32,60,0,14,32,58,216,132,220,14,32,60,0,14,32,58,216,133,220,14,32,60,0,14,32,58,216,134,220,14,32,60,0,14,32,58,216,135,220,14,32,60,0,14,32,58,216,136,220,14,32,60,0,14,32,58,216,137,220,14,32,60,0,14,32,58,216,138,220,14,32,60,0,14,32,58,216,139,220,14,32,60,0,14,32,58,216,140,220,14,32,60,0,14,32,58,216,141,220,14,32,60,0,14,32,58,216,142,220,14,32,60,0,14,32,58,216,143,220,14,32,60,0,14,32,58,216,144,220,14,32,60,0,14,32,58,216,145,220,14,32,60,0,14,32,58,216,146,220,14,32,60,0,14,32,58,216,147,220,14,32,60,0,14,32,58,216,148,220,14,32,60,0,14,32,58,216,149,220,14,32,60,0,14,32,58,216,150,220,14,32,60,0,14,32,58,216,151,220,14,32,60,0,14,32,58,216,152,220,14,32,60,0,14,32,58,216,153,220,14,32,60,0,14,32,58,216,154,220,14,32,60,0,14,32,58,216,155,220,14,32,60,0,14,32,58,216,156,220,14,32,60,0,14,32,58,216,157,220,14,32,60,0,14,32,58,216,158,220,14,32,60,0,14,32,58,216,159,220,14,32,60,0,14,32,58,216,160,220,14,32,60,0,14,32,58,216,161,220,14,32,60,0,14,32,58,216,162,220,14,32,60,0,14,32,58,216,163,220,14,32,60,0,14,32,58,216,164,220,14,32,60,0,14,32,58,216,165,220,14,32,60,0,14,32,58,216,166,220,14,32,60,0,14,32,58,216,167,220,14,32,60,0,14,32,58,216,168,220,14,32,60,0,14,32,58,216,169,220,14,32,60,0,14,32,58,216,170,220,14,32,60,0,14,32,58,216,171,220,14,32,60,0,14,32,58,216,172,220,14,32,60,0,14,32,58,216,173,220,14,32,60,0,14,32,58,216,174,220,14,32,60,0,14,32,58,216,175,220,14,32,60,0,14,32,58,216,176,220,14,32,60,0,14,32,58,216,177,220,14,32,60,0,14,32,58,216,178,220,14,32,60,0,14,32,58,216,179,220,14,32,60,0,14,32,58,216,180,220,14,32,60,0,14,32,58,216,181,220,14,32,60,0,14,32,58,216,182,220,14,32,60,0,14,32,58,216,183,220,14,32,60,0,14,32,58,216,184,220,14,32,60,0,14,32,58,216,185,220,14,32,60,0,14,32,58,216,186,220,14,32,60,0,14,32,58,216,187,220,14,32,60,0,14,32,58,216,188,220,14,32,60,0,14,32,58,216,189,220,14,32,60,0,14,32,58,216,190,220,14,32,60,0,14,32,58,216,191,220,14,32,60,0,14,32,58,216,192,220,14,32,60,0,14,32,58,216,193,220,14,32,60,0,14,32,58,216,194,220,14,32,60,0,14,32,58,216,195,220,14,32,60,0,14,32,58,216,196,220,14,32,60,0,27,216,96,222,60,0,60,0,60,0,27,216,64,222,60,0,27,216,97,222,60,0,60,0,60,0,27,216,65,222,60,0,27,216,98,222,60,0,60,0,60,0,27,216,66,222,60,0,27,216,99,222,60,0,60,0,60,0,27,216,67,222,60,0,27,216,100,222,60,0,60,0,60,0,27,216,68,222,60,0,27,216,101,222,60,0,60,0,60,0,27,216,69,222,60,0,27,216,102,222,60,0,60,0,60,0,27,216,70,222,60,0,27,216,103,222,60,0,60,0,60,0,27,216,71,222,60,0,27,216,104,222,60,0,60,0,60,0,27,216,72,222,60,0,27,216,105,222,60,0,60,0,60,0,27,216,73,222,60,0,27,216,106,222,60,0,60,0,60,0,27,216,74,222,60,0,27,216,107,222,60,0,60,0,60,0,27,216,75,222,60,0,27,216,108,222,60,0,60,0,60,0,27,216,76,222,60,0,27,216,109,222,60,0,60,0,60,0,27,216,77,222,60,0,27,216,110,222,60,0,60,0,60,0,27,216,78,222,60,0,27,216,111,222,60,0,60,0,60,0,27,216,79,222,60,0,27,216,112,222,60,0,60,0,60,0,27,216,80,222,60,0,27,216,113,222,60,0,60,0,60,0,27,216,81,222,60,0,27,216,114,222,60,0,60,0,60,0,27,216,82,222,60,0,27,216,115,222,60,0,60,0,60,0,27,216,83,222,60,0,27,216,116,222,60,0,60,0,60,0,27,216,84,222,60,0,27,216,117,222,60,0,60,0,60,0,27,216,85,222,60,0,27,216,118,222,60,0,60,0,60,0,27,216,86,222,60,0,27,216,119,222,60,0,60,0,60,0,27,216,87,222,60,0,27,216,120,222,60,0,60,0,60,0,27,216,88,222,60,0,27,216,121,222,60,0,60,0,60,0,27,216,89,222,60,0,27,216,122,222,60,0,60,0,60,0,27,216,90,222,60,0,27,216,123,222,60,0,60,0,60,0,27,216,91,222,60,0,27,216,124,222,60,0,60,0,60,0,27,216,92,222,60,0,27,216,125,222,60,0,60,0,60,0,27,216,93,222,60,0,27,216,126,222,60,0,60,0,60,0,27,216,94,222,60,0,27,216,127,222,60,0,60,0,60,0,27,216,95,222,60,0,14,32,58,216,34,221,14,32,60,0,60,0,60,0,14,32,58,216,0,221,14,32,60,0,14,32,58,216,35,221,14,32,60,0,60,0,60,0,14,32,58,216,1,221,14,32,60,0,14,32,58,216,36,221,14,32,60,0,60,0,60,0,14,32,58,216,2,221,14,32,60,0,14,32,58,216,37,221,14,32,60,0,60,0,60,0,14,32,58,216,3,221,14,32,60,0,14,32,58,216,38,221,14,32,60,0,60,0,60,0,14,32,58,216,4,221,14,32,60,0,14,32,58,216,39,221,14,32,60,0,60,0,60,0,14,32,58,216,5,221,14,32,60,0,14,32,58,216,40,221,14,32,60,0,60,0,60,0,14,32,58,216,6,221,14,32,60,0,14,32,58,216,41,221,14,32,60,0,60,0,60,0,14,32,58,216,7,221,14,32,60,0,14,32,58,216,42,221,14,32,60,0,60,0,60,0,14,32,58,216,8,221,14,32,60,0,14,32,58,216,43,221,14,32,60,0,60,0,60,0,14,32,58,216,9,221,14,32,60,0,14,32,58,216,44,221,14,32,60,0,60,0,60,0,14,32,58,216,10,221,14,32,60,0,14,32,58,216,45,221,14,32,60,0,60,0,60,0,14,32,58,216,11,221,14,32,60,0,14,32,58,216,46,221,14,32,60,0,60,0,60,0,14,32,58,216,12,221,14,32,60,0,14,32,58,216,47,221,14,32,60,0,60,0,60,0,14,32,58,216,13,221,14,32,60,0,14,32,58,216,48,221,14,32,60,0,60,0,60,0,14,32,58,216,14,221,14,32,60,0,14,32,58,216,49,221,14,32,60,0,60,0,60,0,14,32,58,216,15,221,14,32,60,0,14,32,58,216,50,221,14,32,60,0,60,0,60,0,14,32,58,216,16,221,14,32,60,0,14,32,58,216,51,221,14,32,60,0,60,0,60,0,14,32,58,216,17,221,14,32,60,0,14,32,58,216,52,221,14,32,60,0,60,0,60,0,14,32,58,216,18,221,14,32,60,0,14,32,58,216,53,221,14,32,60,0,60,0,60,0,14,32,58,216,19,221,14,32,60,0,14,32,58,216,54,221,14,32,60,0,60,0,60,0,14,32,58,216,20,221,14,32,60,0,14,32,58,216,55,221,14,32,60,0,60,0,60,0,14,32,58,216,21,221,14,32,60,0,14,32,58,216,56,221,14,32,60,0,60,0,60,0,14,32,58,216,22,221,14,32,60,0,14,32,58,216,57,221,14,32,60,0,60,0,60,0,14,32,58,216,23,221,14,32,60,0,14,32,58,216,58,221,14,32,60,0,60,0,60,0,14,32,58,216,24,221,14,32,60,0,14,32,58,216,59,221,14,32,60,0,60,0,60,0,14,32,58,216,25,221,14,32,60,0,14,32,58,216,60,221,14,32,60,0,60,0,60,0,14,32,58,216,26,221,14,32,60,0,14,32,58,216,61,221,14,32,60,0,60,0,60,0,14,32,58,216,27,221,14,32,60,0,14,32,58,216,62,221,14,32,60,0,60,0,60,0,14,32,58,216,28,221,14,32,60,0,14,32,58,216,63,221,14,32,60,0,60,0,60,0,14,32,58,216,29,221,14,32,60,0,14,32,58,216,64,221,14,32,60,0,60,0,60,0,14,32,58,216,30,221,14,32,60,0,14,32,58,216,65,221,14,32,60,0,60,0,60,0,14,32,58,216,31,221,14,32,60,0,14,32,58,216,66,221,14,32,60,0,60,0,60,0,14,32,58,216,32,221,14,32,60,0,14,32,58,216,67,221,14,32,60,0,60,0,60,0,14,32,58,216,33,221,14,32,60,0,14,32,58,216,75,221,14,32,60,0,0,17,60,0,60,0,60,0,49,49,60,0,60,0,60,0,96,50,60,0,60,0,60,0,110,50,47,0,97,17,60,0,60,0,60,0,161,255,60,0,1,17,60,0,60,0,60,0,50,49,60,0,60,0,60,0,162,255,60,0,2,17,60,0,60,0,60,0,52,49,60,0,60,0,60,0,97,50,60,0,60,0,60,0,111,50,47,0,97,17,60,0,60,0,60,0,164,255,60,0,3,17,60,0,60,0,60,0,55,49,60,0,60,0,60,0,98,50,60,0,60,0,60,0,112,50,47,0,97,17,60,0,60,0,60,0,167,255,60,0,4,17,60,0,60,0,60,0,56,49,60,0,60,0,60,0,168,255,60,0,5,17,60,0,60,0,60,0,57,49,60,0,60,0,60,0,99,50,60,0,60,0,60,0,113,50,47,0,97,17,60,0,60,0,60,0,169,255,60,0,6,17,60,0,60,0,60,0,65,49,60,0,60,0,60,0,100,50,60,0,60,0,60,0,114,50,47,0,97,17,60,0,60,0,60,0,177,255,60,0,7,17,60,0,60,0,60,0,66,49,60,0,60,0,60,0,101,50,60,0,60,0,60,0,115,50,47,0,97,17,60,0,60,0,60,0,178,255,60,0,8,17,60,0,60,0,60,0,67,49,60,0,60,0,60,0,179,255,60,0,9,17,60,0,60,0,60,0,69,49,60,0,60,0,60,0,102,50,60,0,60,0,60,0,116,50,47,0,97,17,60,0,60,0,60,0,181,255,60,0,10,17,60,0,60,0,60,0,70,49,60,0,60,0,60,0,182,255,60,0,11,17,60,0,60,0,60,0,71,49,60,0,60,0,60,0,103,50,60,0,60,0,60,0,117,50,47,0,97,17,60,0,60,0,60,0,126,50,47,0,110,17,60,0,60,0,60,0,183,255,60,0,12,17,60,0,60,0,60,0,72,49,60,0,60,0,60,0,104,50,60,0,60,0,60,0,118,50,47,0,97,17,60,0,60,0,60,0,125,50,47,0,110,17,88,199,60,0,60,0,60,0,184,255,60,0,13,17,60,0,60,0,60,0,73,49,60,0,60,0,60,0,185,255,60,0,14,17,60,0,60,0,60,0,74,49,60,0,60,0,60,0,105,50,60,0,60,0,60,0,119,50,47,0,97,17,60,0,60,0,60,0,124,50,47,0,97,17,183,17,224,172,60,0,60,0,60,0,186,255,60,0,15,17,60,0,60,0,60,0,75,49,60,0,60,0,60,0,106,50,60,0,60,0,60,0,120,50,47,0,97,17,60,0,60,0,60,0,187,255,60,0,16,17,60,0,60,0,60,0,76,49,60,0,60,0,60,0,107,50,60,0,60,0,60,0,121,50,47,0,97,17,60,0,60,0,60,0,188,255,60,0,17,17,60,0,60,0,60,0,77,49,60,0,60,0,60,0,108,50,60,0,60,0,60,0,122,50,47,0,97,17,60,0,60,0,60,0,189,255,60,0,18,17,60,0,60,0,60,0,78,49,60,0,60,0,60,0,109,50,60,0,60,0,60,0,123,50,47,0,97,17,60,0,60,0,60,0,190,255,60,0,19,17,60,0,20,17,60,0,60,0,60,0,101,49,60,0,21,17,60,0,60,0,60,0,102,49,60,0,22,17,60,0,23,17,60,0,24,17,60,0,25,17,60,0,26,17,60,0,60,0,60,0,64,49,60,0,60,0,60,0,176,255,60,0,27,17,60,0,28,17,60,0,60,0,60,0,110,49,60,0,29,17,60,0,60,0,60,0,113,49,60,0,30,17,60,0,60,0,60,0,114,49,60,0,31,17,60,0,32,17,60,0,60,0,60,0,115,49,60,0,33,17,60,0,60,0,60,0,68,49,60,0,60,0,60,0,180,255,60,0,34,17,60,0,60,0,60,0,116,49,60,0,35,17,60,0,60,0,60,0,117,49,60,0,36,17,60,0,37,17,60,0,38,17,60,0,39,17,60,0,60,0,60,0,118,49,60,0,40,17,60,0,41,17,60,0,60,0,60,0,119,49,60,0,42,17,60,0,43,17,60,0,60,0,60,0,120,49,60,0,44,17,60,0,60,0,60,0,121,49,60,0,45,17,60,0,60,0,60,0,122,49,60,0,46,17,60,0,60,0,60,0,123,49,60,0,47,17,60,0,60,0,60,0,124,49,60,0,48,17,60,0,49,17,60,0,50,17,60,0,60,0,60,0,125,49,60,0,51,17,60,0,52,17,60,0,53,17,60,0,54,17,60,0,60,0,60,0,126,49,60,0,55,17,60,0,56,17,60,0,57,17,60,0,58,17,60,0,59,17,60,0,60,17,60,0,61,17,60,0,62,17,60,0,63,17,60,0,64,17,60,0,60,0,60,0,127,49,60,0,65,17,60,0,66,17,60,0,67,17,60,0,68,17,60,0,69,17,60,0,70,17,60,0,71,17,60,0,60,0,60,0,128,49,60,0,72,17,60,0,73,17,60,0,74,17,60,0,75,17,60,0,76,17,60,0,60,0,60,0,129,49,60,0,77,17,60,0,78,17,60,0,79,17,60,0,80,17,60,0,81,17,60,0,82,17,60,0,83,17,60,0,84,17,60,0,85,17,60,0,86,17,60,0,87,17,60,0,60,0,60,0,132,49,60,0,88,17,60,0,60,0,60,0,133,49,60,0,89,17,60,0,60,0,60,0,134,49,60,0,90,17,60,0,91,17,60,0,92,17,60,0,93,17,60,0,94,17,60,0,96,169,60,0,97,169,60,0,98,169,60,0,99,169,60,0,100,169,60,0,101,169,60,0,102,169,60,0,103,169,60,0,104,169,60,0,105,169,60,0,106,169,60,0,107,169,60,0,108,169,60,0,109,169,60,0,110,169,60,0,111,169,60,0,112,169,60,0,113,169,60,0,114,169,60,0,115,169,60,0,116,169,60,0,117,169,60,0,118,169,60,0,119,169,60,0,120,169,60,0,121,169,60,0,122,169,60,0,123,169,60,0,124,169,60,0,95,17,60,0,96,17,60,0,60,0,60,0,100,49,60,0,60,0,60,0,160,255,60,0,97,17,60,0,60,0,60,0,79,49,60,0,60,0,60,0,194,255,60,0,98,17,60,0,60,0,60,0,80,49,60,0,60,0,60,0,195,255,60,0,99,17,60,0,60,0,60,0,81,49,60,0,60,0,60,0,196,255,60,0,100,17,60,0,60,0,60,0,82,49,60,0,60,0,60,0,197,255,60,0,101,17,60,0,60,0,60,0,83,49,60,0,60,0,60,0,198,255,60,0,102,17,60,0,60,0,60,0,84,49,60,0,60,0,60,0,199,255,60,0,103,17,60,0,60,0,60,0,85,49,60,0,60,0,60,0,202,255,60,0,104,17,60,0,60,0,60,0,86,49,60,0,60,0,60,0,203,255,60,0,105,17,60,0,60,0,60,0,87,49,60,0,60,0,60,0,204,255,60,0,106,17,60,0,60,0,60,0,88,49,60,0,60,0,60,0,205,255,60,0,107,17,60,0,60,0,60,0,89,49,60,0,60,0,60,0,206,255,60,0,108,17,60,0,60,0,60,0,90,49,60,0,60,0,60,0,207,255,60,0,109,17,60,0,60,0,60,0,91,49,60,0,60,0,60,0,210,255,60,0,110,17,60,0,60,0,60,0,92,49,60,0,60,0,60,0,211,255,60,0,111,17,60,0,60,0,60,0,93,49,60,0,60,0,60,0,212,255,60,0,112,17,60,0,60,0,60,0,94,49,60,0,60,0,60,0,213,255,60,0,113,17,60,0,60,0,60,0,95,49,60,0,60,0,60,0,214,255,60,0,114,17,60,0,60,0,60,0,96,49,60,0,60,0,60,0,215,255,60,0,115,17,60,0,60,0,60,0,97,49,60,0,60,0,60,0,218,255,60,0,116,17,60,0,60,0,60,0,98,49,60,0,60,0,60,0,219,255,60,0,117,17,60,0,60,0,60,0,99,49,60,0,60,0,60,0,220,255,60,0,118,17,60,0,119,17,60,0,120,17,60,0,121,17,60,0,122,17,60,0,123,17,60,0,124,17,60,0,125,17,60,0,126,17,60,0,127,17,60,0,128,17,60,0,129,17,60,0,130,17,60,0,131,17,60,0,132,17,60,0,60,0,60,0,135,49,60,0,133,17,60,0,60,0,60,0,136,49,60,0,134,17,60,0,135,17,60,0,136,17,60,0,60,0,60,0,137,49,60,0,137,17,60,0,138,17,60,0,139,17,60,0,140,17,60,0,141,17,60,0,142,17,60,0,143,17,60,0,144,17,60,0,145,17,60,0,60,0,60,0,138,49,60,0,146,17,60,0,60,0,60,0,139,49,60,0,147,17,60,0,148,17,60,0,60,0,60,0,140,49,60,0,149,17,60,0,150,17,60,0,151,17,60,0,152,17,60,0,153,17,60,0,154,17,60,0,155,17,60,0,156,17,60,0,157,17,60,0,158,17,60,0,60,0,60,0,141,49,60,0,159,17,60,0,160,17,60,0,161,17,60,0,60,0,60,0,142,49,60,0,162,17,60,0,163,17,60,0,164,17,60,0,165,17,60,0,166,17,60,0,167,17,60,0,176,215,60,0,177,215,60,0,178,215,60,0,179,215,60,0,180,215,60,0,181,215,60,0,182,215,60,0,183,215,60,0,184,215,60,0,185,215,60,0,186,215,60,0,187,215,60,0,188,215,60,0,189,215,60,0,190,215,60,0,191,215,60,0,192,215,60,0,193,215,60,0,194,215,60,0,195,215,60,0,196,215,60,0,197,215,60,0,198,215,60,0,168,17,60,0,169,17,60,0,170,17,60,0,60,0,60,0,51,49,60,0,60,0,60,0,163,255,60,0,171,17,60,0,172,17,60,0,60,0,60,0,53,49,60,0,60,0,60,0,165,255,60,0,173,17,60,0,60,0,60,0,54,49,60,0,60,0,60,0,166,255,60,0,174,17,60,0,175,17,60,0,176,17,60,0,60,0,60,0,58,49,60,0,60,0,60,0,170,255,60,0,177,17,60,0,60,0,60,0,59,49,60,0,60,0,60,0,171,255,60,0,178,17,60,0,60,0,60,0,60,49,60,0,60,0,60,0,172,255,60,0,179,17,60,0,60,0,60,0,61,49,60,0,60,0,60,0,173,255,60,0,180,17,60,0,60,0,60,0,62,49,60,0,60,0,60,0,174,255,60,0,181,17,60,0,60,0,60,0,63,49,60,0,60,0,60,0,175,255,60,0,182,17,60,0,183,17,60,0,184,17,60,0,185,17,60,0,186,17,60,0,187,17,60,0,188,17,60,0,189,17,60,0,190,17,60,0,191,17,60,0,192,17,60,0,193,17,60,0,194,17,60,0,195,17,60,0,196,17,60,0,197,17,60,0,198,17,60,0,199,17,60,0,60,0,60,0,103,49,60,0,200,17,60,0,60,0,60,0,104,49,60,0,201,17,60,0,202,17,60,0,203,17,60,0,204,17,60,0,60,0,60,0,105,49,60,0,205,17,60,0,206,17,60,0,60,0,60,0,106,49,60,0,207,17,60,0,208,17,60,0,209,17,60,0,210,17,60,0,211,17,60,0,60,0,60,0,107,49,60,0,212,17,60,0,213,17,60,0,214,17,60,0,215,17,60,0,60,0,60,0,108,49,60,0,216,17,60,0,217,17,60,0,60,0,60,0,109,49,60,0,218,17,60,0,219,17,60,0,220,17,60,0,221,17,60,0,60,0,60,0,111,49,60,0,222,17,60,0,223,17,60,0,60,0,60,0,112,49,60,0,224,17,60,0,225,17,60,0,226,17,60,0,227,17,60,0,228,17,60,0,229,17,60,0,230,17,60,0,231,17,60,0,232,17,60,0,233,17,60,0,234,17,60,0,235,17,60,0,236,17,60,0,237,17,60,0,238,17,60,0,239,17,60,0,240,17,60,0,241,17,60,0,60,0,60,0,130,49,60,0,242,17,60,0,60,0,60,0,131,49,60,0,243,17,60,0,244,17,60,0,245,17,60,0,246,17,60,0,247,17,60,0,248,17,60,0,249,17,60,0,250,17,60,0,251,17,60,0,252,17,60,0,253,17,60,0,254,17,60,0,255,17,60,0,203,215,60,0,204,215,60,0,205,215,60,0,206,215,60,0,207,215,60,0,208,215,60,0,209,215,60,0,210,215,60,0,211,215,60,0,212,215,60,0,213,215,60,0,214,215,60,0,215,215,60,0,216,215,60,0,217,215,60,0,218,215,60,0,219,215,60,0,220,215,60,0,221,215,60,0,222,215,60,0,223,215,60,0,224,215,60,0,225,215,60,0,226,215,60,0,227,215,60,0,228,215,60,0,229,215,60,0,230,215,60,0,231,215,60,0,232,215,60,0,233,215,60,0,234,215,60,0,235,215,60,0,236,215,60,0,237,215,60,0,238,215,60,0,239,215,60,0,240,215,60,0,241,215,60,0,242,215,60,0,243,215,60,0,244,215,60,0,245,215,60,0,246,215,60,0,247,215,60,0,248,215,60,0,249,215,60,0,250,215,60,0,251,215,60,0,65,48,60,0,60,0,60,0,66,48,60,0,60,0,60,0,161,48,60,0,60,0,60,0,103,255,60,0,60,0,60,0,162,48,60,0,60,0,60,0,113,255,60,0,60,0,60,0,208,50,60,0,60,0,60,0,3,51,47,0,252,48,139,48,60,0,60,0,60,0,0,51,47,0,113,48,252,48,104,48,60,0,60,0,60,0,1,51,47,0,139,48,117,48,66,48,60,0,60,0,60,0,2,51,47,0,147,48,122,48,66,48,60,0,67,48,60,0,60,0,60,0,68,48,60,0,60,0,60,0,163,48,60,0,60,0,60,0,104,255,60,0,60,0,60,0,164,48,60,0,60,0,60,0,114,255,60,0,60,0,60,0,209,50,60,0,60,0,60,0,4,51,47,0,107,48,147,48,80,48,60,0,60,0,60,0,5,51,47,0,147,48,97,48,60,0,69,48,60,0,60,0,60,0,70,48,60,0,60,0,60,0,165,48,60,0,60,0,60,0,105,255,60,0,60,0,60,0,166,48,60,0,60,0,60,0,115,255,60,0,60,0,60,0,210,50,60,0,60,0,60,0,6,51,47,0,74,48,147,48,60,0,44,216,0,220,60,0,71,48,60,0,60,0,60,0,72,48,60,0,60,0,60,0,167,48,60,0,60,0,60,0,106,255,60,0,60,0,60,0,168,48,60,0,60,0,60,0,116,255,60,0,60,0,60,0,211,50,60,0,60,0,60,0,8,51,47,0,252,48,75,48,252,48,60,0,60,0,60,0,7,51,47,0,89,48,79,48,252,48,105,48,60,0,73,48,60,0,60,0,60,0,74,48,60,0,60,0,60,0,169,48,60,0,60,0,60,0,107,255,60,0,60,0,60,0,170,48,60,0,60,0,60,0,117,255,60,0,60,0,60,0,212,50,60,0,60,0,60,0,10,51,47,0,252,48,128,48,60,0,60,0,60,0,9,51,47,0,147,48,89,48,60,0,149,48,60,0,60,0,60,0,75,48,60,0,60,0,60,0,245,48,60,0,60,0,60,0,171,48,60,0,60,0,60,0,118,255,60,0,60,0,60,0,213,50,60,0,60,0,60,0,11,51,47,0,68,48,138,48,60,0,60,0,60,0,12,51,47,0,137,48,100,48,104,48,60,0,60,0,60,0,13,51,47,0,141,48,138,48,252,48,60,0,60,0,60,0,14,51,47,0,153,48,141,48,147,48,60,0,60,0,60,0,15,51,47,0,153,48,147,48,126,48,60,0,77,48,60,0,60,0,60,0,173,48,60,0,60,0,60,0,119,255,60,0,60,0,60,0,214,50,60,0,60,0,60,0,16,51,47,0,153,48,76,48,60,0,60,0,60,0,17,51,47,0,153,48,107,48,252,48,60,0,60,0,60,0,18,51,47,0,134,48,138,48,252,48,60,0,60,0,60,0,19,51,47,0,153,48,139,48,96,48,252,48,60,0,60,0,60,0,20,51,47,0,141,48,60,0,60,0,60,0,21,51,47,0,141,48,80,48,137,48,128,48,60,0,60,0,60,0,22,51,47,0,141,48,129,48,252,48,104,48,139,48,60,0,60,0,60,0,23,51,47,0,141,48,143,48,100,48,104,48,60,0,79,48,60,0,60,0,60,0,240,49,60,0,60,0,60,0,175,48,60,0,60,0,60,0,120,255,60,0,60,0,60,0,215,50,60,0,60,0,60,0,24,51,47,0,153,48,137,48,128,48,60,0,60,0,60,0,25,51,47,0,153,48,137,48,128,48,104,48,147,48,60,0,60,0,60,0,26,51,47,0,139,48,92,48,68,48,141,48,60,0,60,0,60,0,27,51,47,0,141,48,252,48,109,48,60,0,150,48,60,0,60,0,60,0,81,48,60,0,60,0,60,0,246,48,60,0,60,0,60,0,177,48,60,0,60,0,60,0,121,255,60,0,60,0,60,0,216,50,60,0,60,0,60,0,28,51,47,0,252,48,89,48,60,0,44,216,50,221,60,0,60,0,60,0,83,48,60,0,60,0,60,0,44,216,85,221,60,0,60,0,60,0,179,48,60,0,60,0,60,0,122,255,60,0,60,0,60,0,217,50,60,0,60,0,60,0,255,48,47,0,104,48,60,0,60,0,60,0,30,51,47,0,252,48,125,48,60,0,60,0,60,0,60,216,1,222,47,0,83,48,60,0,60,0,60,0,29,51,47,0,139,48,106,48,60,0,85,48,60,0,60,0,60,0,181,48,60,0,60,0,60,0,123,255,60,0,60,0,60,0,218,50,60,0,60,0,60,0,60,216,2,222,60,0,60,0,60,0,31,51,47,0,68,48,79,48,139,48,60,0,60,0,60,0,32,51,47,0,147,48,97,48,252,48,128,48,60,0,6,48,47,0,129,48,60,0,60,0,60,0,87,48,60,0,60,0,60,0,241,49,60,0,60,0,60,0,183,48,60,0,60,0,60,0,124,255,60,0,60,0,60,0,219,50,60,0,60,0,60,0,33,51,47,0,138,48,147,48,80,48,60,0,89,48,60,0,60,0,60,0,242,49,60,0,60,0,60,0,185,48,60,0,60,0,60,0,125,255,60,0,60,0,60,0,220,50,60,0,91,48,60,0,60,0,60,0,187,48,60,0,60,0,60,0,126,255,60,0,60,0,60,0,221,50,60,0,60,0,60,0,34,51,47,0,147,48,97,48,60,0,60,0,60,0,35,51,47,0,147,48,104,48,60,0,93,48,60,0,60,0,60,0,189,48,60,0,60,0,60,0,127,255,60,0,60,0,60,0,222,50,60,0,95,48,60,0,60,0,60,0,191,48,60,0,60,0,60,0,128,255,60,0,60,0,60,0,223,50,60,0,60,0,60,0,36,51,47,0,153,48,252,48,89,48,60,0,97,48,60,0,60,0,60,0,193,48,60,0,60,0,60,0,129,255,60,0,60,0,60,0,224,50,60,0,99,48,60,0,60,0,60,0,100,48,60,0,60,0,60,0,195,48,60,0,60,0,60,0,111,255,60,0,60,0,60,0,196,48,60,0,60,0,60,0,130,255,60,0,60,0,60,0,225,50,60,0,102,48,60,0,60,0,60,0,198,48,60,0,60,0,60,0,131,255,60,0,60,0,60,0,226,50,60,0,60,0,60,0,60,216,19,222,47,0,153,48,60,0,60,0,60,0,37,51,47,0,153,48,87,48,60,0,104,48,60,0,60,0,60,0,243,49,60,0,60,0,60,0,200,48,60,0,60,0,60,0,132,255,60,0,60,0,60,0,227,50,60,0,60,0,60,0,38,51,47,0,153,48,139,48,60,0,60,0,60,0,39,51,47,0,147,48,60,0,106,48,60,0,60,0,60,0,202,48,60,0,60,0,60,0,133,255,60,0,60,0,60,0,228,50,60,0,60,0,60,0,40,51,47,0,110,48,60,0,107,48,60,0,60,0,60,0,203,48,60,0,60,0,60,0,134,255,60,0,60,0,60,0,229,50,60,0,108,48,60,0,60,0,60,0,244,49,60,0,60,0,60,0,204,48,60,0,60,0,60,0,135,255,60,0,60,0,60,0,230,50,60,0,109,48,60,0,60,0,60,0,205,48,60,0,60,0,60,0,136,255,60,0,60,0,60,0,231,50,60,0,110,48,60,0,60,0,60,0,206,48,60,0,60,0,60,0,137,255,60,0,60,0,60,0,232,50,60,0,60,0,60,0,41,51,47,0,100,48,104,48,60,0,111,48,60,0,60,0,60,0,245,49,60,0,60,0,60,0,207,48,60,0,60,0,60,0,138,255,60,0,60,0,60,0,233,50,60,0,60,0,60,0,43,51,47,0,154,48,252,48,91,48,147,48,104,48,60,0,60,0,60,0,44,51,47,0,154,48,252,48,100,48,60,0,60,0,60,0,45,51,47,0,153,48,252,48,140,48,139,48,60,0,60,0,60,0,42,51,47,0,68,48,100,48,60,0,114,48,60,0,60,0,60,0,246,49,60,0,60,0,60,0,210,48,60,0,60,0,60,0,139,255,60,0,60,0,60,0,234,50,60,0,60,0,60,0,46,51,47,0,154,48,66,48,89,48,104,48,139,48,60,0,60,0,60,0,47,51,47,0,154,48,79,48,139,48,60,0,60,0,60,0,48,51,47,0,154,48,83,48,60,0,60,0,60,0,49,51,47,0,153,48,139,48,60,0,117,48,60,0,60,0,60,0,247,49,60,0,60,0,60,0,213,48,60,0,60,0,60,0,140,255,60,0,60,0,60,0,235,50,60,0,60,0,60,0,50,51,47,0,66,48,137,48,100,48,105,48,60,0,60,0,60,0,51,51,47,0,68,48,252,48,104,48,60,0,60,0,60,0,52,51,47,0,153,48,100,48,87,48,72,48,139,48,60,0,60,0,60,0,53,51,47,0,137,48,147,48,60,0,120,48,60,0,60,0,60,0,248,49,60,0,60,0,60,0,216,48,60,0,60,0,60,0,141,255,60,0,60,0,60,0,236,50,60,0,60,0,60,0,59,51,47,0,154,48,252,48,88,48,60,0,60,0,60,0,60,51,47,0,153,48,252,48,95,48,60,0,60,0,60,0,54,51,47,0,79,48,95,48,252,48,139,48,60,0,60,0,60,0,55,51,47,0,154,48,93,48,60,0,60,0,60,0,56,51,47,0,154,48,107,48,114,48,60,0,60,0,60,0,57,51,47,0,139,48,100,48,60,0,60,0,60,0,58,51,47,0,154,48,147,48,89,48,60,0,123,48,60,0,60,0,60,0,249,49,60,0,60,0,60,0,219,48,60,0,60,0,60,0,142,255,60,0,60,0,60,0,237,50,60,0,60,0,60,0,65,51,47,0,252,48,139,48,60,0,60,0,60,0,66,51,47,0,252,48,147,48,60,0,60,0,60,0,61,51,47,0,154,48,68,48,147,48,104,48,60,0,60,0,60,0,60,216,0,222,47,0,75,48,60,0,60,0,60,0,62,51,47,0,153,48,139,48,104,48,60,0,60,0,60,0,63,51,47,0,147,48,60,0,60,0,60,0,64,51,47,0,154,48,147,48,105,48,60,0,60,48,47,0,89,48,60,0,60,0,60,0,126,48,60,0,60,0,60,0,222,48,60,0,60,0,60,0,143,255,60,0,60,0,60,0,238,50,60,0,60,0,60,0,67,51,47,0,68,48,79,48,141,48,60,0,60,0,60,0,68,51,47,0,68,48,139,48,60,0,60,0,60,0,69,51,47,0,100,48,111,48,60,0,60,0,60,0,70,51,47,0,139,48,79,48,60,0,60,0,60,0,71,51,47,0,147,48,87,48,136,48,147,48,60,0,127,48,60,0,60,0,60,0,223,48,60,0,60,0,60,0,144,255,60,0,60,0,60,0,239,50,60,0,60,0,60,0,72,51,47,0,79,48,141,48,147,48,60,0,60,0,60,0,73,51,47,0,138,48,60,0,60,0,60,0,74,51,47,0,138,48,112,48,252,48,139,48,60,0,128,48,60,0,60,0,60,0,250,49,60,0,60,0,60,0,224,48,60,0,60,0,60,0,145,255,60,0,60,0,60,0,240,50,60,0,129,48,60,0,60,0,60,0,225,48,60,0,60,0,60,0,146,255,60,0,60,0,60,0,241,50,60,0,60,0,60,0,77,51,47,0,252,48,104,48,139,48,60,0,60,0,60,0,75,51,47,0,76,48,60,0,60,0,60,0,76,51,47,0,76,48,104,48,147,48,60,0,130,48,60,0,60,0,60,0,226,48,60,0,60,0,60,0,147,255,60,0,60,0,60,0,242,50,60,0,131,48,60,0,60,0,60,0,132,48,60,0,60,0,60,0,227,48,60,0,60,0,60,0,108,255,60,0,60,0,60,0,228,48,60,0,60,0,60,0,148,255,60,0,60,0,60,0,243,50,60,0,60,0,60,0,78,51,47,0,252,48,105,48,60,0,60,0,60,0,79,51,47,0,252,48,139,48,60,0,44,216,32,221,60,0,133,48,60,0,60,0,60,0,134,48,60,0,60,0,60,0,229,48,60,0,60,0,60,0,109,255,60,0,60,0,60,0,230,48,60,0,60,0,60,0,149,255,60,0,60,0,60,0,244,50,60,0,60,0,60,0,80,51,47,0,66,48,147,48,60,0,44,216,33,221,60,0,135,48,60,0,60,0,60,0,136,48,60,0,60,0,60,0,231,48,60,0,60,0,60,0,110,255,60,0,60,0,60,0,232,48,60,0,60,0,60,0,150,255,60,0,60,0,60,0,245,50,60,0,60,0,60,0,159,48,47,0,138,48,60,0,137,48,60,0,60,0,60,0,251,49,60,0,60,0,60,0,233,48,60,0,60,0,60,0,151,255,60,0,60,0,60,0,246,50,60,0,138,48,60,0,60,0,60,0,252,49,60,0,60,0,60,0,234,48,60,0,60,0,60,0,152,255,60,0,60,0,60,0,247,50,60,0,60,0,60,0,81,51,47,0,100,48,104,48,139,48,60,0,60,0,60,0,82,51,47,0,137,48,60,0,139,48,60,0,60,0,60,0,253,49,60,0,60,0,60,0,235,48,60,0,60,0,60,0,153,255,60,0,60,0,60,0,248,50,60,0,60,0,60,0,84,51,47,0,252,48,118,48,139,48,60,0,60,0,60,0,83,51,47,0,116,48,252,48,60,0,140,48,60,0,60,0,60,0,254,49,60,0,60,0,60,0,236,48,60,0,60,0,60,0,154,255,60,0,60,0,60,0,249,50,60,0,60,0,60,0,85,51,47,0,128,48,60,0,60,0,60,0,86,51,47,0,147,48,104,48,82,48,147,48,60,0,141,48,60,0,60,0,60,0,255,49,60,0,60,0,60,0,237,48,60,0,60,0,60,0,155,255,60,0,60,0,60,0,250,50,60,0,142,48,60,0,60,0,60,0,143,48,60,0,60,0,60,0,238,48,60,0,60,0,60,0,239,48,60,0,60,0,60,0,156,255,60,0,60,0,60,0,251,50,60,0,60,0,60,0,87,51,47,0,100,48,104,48,60,0,44,216,80,221,60,0,60,0,60,0,144,48,60,0,60,0,60,0,44,216,100,221,60,0,60,0,60,0,240,48,60,0,60,0,60,0,252,50,60,0,44,216,31,221,60,0,60,0,60,0,44,216,34,221,60,0,44,216,81,221,60,0,60,0,60,0,145,48,60,0,60,0,60,0,44,216,101,221,60,0,60,0,60,0,241,48,60,0,60,0,60,0,253,50,60,0,44,216,82,221,60,0,60,0,60,0,146,48,60,0,60,0,60,0,44,216,102,221,60,0,60,0,60,0,242,48,60,0,60,0,60,0,102,255,60,0,60,0,60,0,254,50,60,0,147,48,60,0,60,0,60,0,44,216,103,221,60,0,60,0,60,0,243,48,60,0,60,0,60,0,157,255,60,0,44,216,2,220,60,0,44,216,3,220,60,0,44,216,4,220,60,0,44,216,5,220,60,0,44,216,6,220,60,0,44,216,7,220,60,0,44,216,8,220,60,0,44,216,9,220,60,0,44,216,10,220,60,0,44,216,11,220,60,0,44,216,12,220,60,0,44,216,13,220,60,0,44,216,14,220,60,0,44,216,1,220,60,0,44,216,15,220,60,0,44,216,16,220,60,0,44,216,17,220,60,0,44,216,18,220,60,0,44,216,19,220,60,0,44,216,20,220,60,0,44,216,21,220,60,0,44,216,22,220,60,0,44,216,23,220,60,0,44,216,24,220,60,0,44,216,25,220,60,0,44,216,26,220,60,0,44,216,27,220,60,0,44,216,28,220,60,0,44,216,29,220,60,0,44,216,30,220,60,0,44,216,31,220,60,0,44,216,32,220,60,0,44,216,33,220,60,0,44,216,34,220,60,0,44,216,35,220,60,0,44,216,36,220,60,0,44,216,37,220,60,0,44,216,38,220,60,0,44,216,39,220,60,0,44,216,40,220,60,0,44,216,41,220,60,0,44,216,42,220,60,0,44,216,43,220,60,0,44,216,44,220,60,0,44,216,45,220,60,0,44,216,46,220,60,0,44,216,47,220,60,0,44,216,48,220,60,0,44,216,49,220,60,0,44,216,50,220,60,0,44,216,51,220,60,0,44,216,52,220,60,0,44,216,53,220,60,0,44,216,54,220,60,0,44,216,55,220,60,0,44,216,56,220,60,0,44,216,57,220,60,0,44,216,58,220,60,0,44,216,59,220,60,0,44,216,60,220,60,0,44,216,61,220,60,0,44,216,62,220,60,0,44,216,63,220,60,0,44,216,64,220,60,0,44,216,65,220,60,0,44,216,66,220,60,0,44,216,67,220,60,0,44,216,68,220,60,0,44,216,69,220,60,0,44,216,70,220,60,0,44,216,71,220,60,0,44,216,72,220,60,0,44,216,73,220,60,0,44,216,74,220,60,0,44,216,75,220,60,0,44,216,76,220,60,0,44,216,77,220,60,0,44,216,78,220,60,0,44,216,79,220,60,0,44,216,80,220,60,0,44,216,81,220,60,0,44,216,82,220,60,0,44,216,83,220,60,0,44,216,84,220,60,0,44,216,85,220,60,0,44,216,86,220,60,0,44,216,87,220,60,0,44,216,88,220,60,0,44,216,89,220,60,0,44,216,90,220,60,0,44,216,91,220,60,0,44,216,92,220,60,0,44,216,93,220,60,0,44,216,94,220,60,0,44,216,95,220,60,0,44,216,96,220,60,0,44,216,97,220,60,0,44,216,98,220,60,0,44,216,99,220,60,0,44,216,100,220,60,0,44,216,101,220,60,0,44,216,102,220,60,0,44,216,103,220,60,0,44,216,104,220,60,0,44,216,105,220,60,0,44,216,106,220,60,0,44,216,107,220,60,0,44,216,108,220,60,0,44,216,109,220,60,0,44,216,110,220,60,0,44,216,111,220,60,0,44,216,112,220,60,0,44,216,113,220,60,0,44,216,114,220,60,0,44,216,115,220,60,0,44,216,116,220,60,0,44,216,117,220,60,0,44,216,118,220,60,0,44,216,119,220,60,0,44,216,120,220,60,0,44,216,121,220,60,0,44,216,122,220,60,0,44,216,123,220,60,0,44,216,124,220,60,0,44,216,125,220,60,0,44,216,126,220,60,0,44,216,127,220,60,0,44,216,128,220,60,0,44,216,129,220,60,0,44,216,130,220,60,0,44,216,131,220,60,0,44,216,132,220,60,0,44,216,133,220,60,0,44,216,134,220,60,0,44,216,135,220,60,0,44,216,136,220,60,0,44,216,137,220,60,0,44,216,138,220,60,0,44,216,139,220,60,0,44,216,140,220,60,0,44,216,141,220,60,0,44,216,142,220,60,0,44,216,143,220,60,0,44,216,144,220,60,0,44,216,145,220,60,0,44,216,146,220,60,0,44,216,147,220,60,0,44,216,148,220,60,0,44,216,149,220,60,0,44,216,150,220,60,0,44,216,151,220,60,0,44,216,152,220,60,0,44,216,153,220,60,0,44,216,154,220,60,0,44,216,155,220,60,0,44,216,156,220,60,0,44,216,157,220,60,0,44,216,158,220,60,0,44,216,159,220,60,0,44,216,160,220,60,0,44,216,161,220,60,0,44,216,162,220,60,0,44,216,163,220,60,0,44,216,164,220,60,0,44,216,165,220,60,0,44,216,166,220,60,0,44,216,167,220,60,0,44,216,168,220,60,0,44,216,169,220,60,0,44,216,170,220,60,0,44,216,171,220,60,0,44,216,172,220,60,0,44,216,173,220,60,0,44,216,174,220,60,0,44,216,175,220,60,0,44,216,176,220,60,0,44,216,177,220,60,0,44,216,178,220,60,0,44,216,179,220,60,0,44,216,180,220,60,0,44,216,181,220,60,0,44,216,182,220,60,0,44,216,183,220,60,0,44,216,184,220,60,0,44,216,185,220,60,0,44,216,186,220,60,0,44,216,187,220,60,0,44,216,188,220,60,0,44,216,189,220,60,0,44,216,190,220,60,0,44,216,191,220,60,0,44,216,192,220,60,0,44,216,193,220,60,0,44,216,194,220,60,0,44,216,195,220,60,0,44,216,196,220,60,0,44,216,197,220,60,0,44,216,198,220,60,0,44,216,199,220,60,0,44,216,200,220,60,0,44,216,201,220,60,0,44,216,202,220,60,0,44,216,203,220,60,0,44,216,204,220,60,0,44,216,205,220,60,0,44,216,206,220,60,0,44,216,207,220,60,0,44,216,208,220,60,0,44,216,209,220,60,0,44,216,210,220,60,0,44,216,211,220,60,0,44,216,212,220,60,0,44,216,213,220,60,0,44,216,214,220,60,0,44,216,215,220,60,0,44,216,216,220,60,0,44,216,217,220,60,0,44,216,218,220,60,0,44,216,219,220,60,0,44,216,220,220,60,0,44,216,221,220,60,0,44,216,222,220,60,0,44,216,223,220,60,0,44,216,224,220,60,0,44,216,225,220,60,0,44,216,226,220,60,0,44,216,227,220,60,0,44,216,228,220,60,0,44,216,229,220,60,0,44,216,230,220,60,0,44,216,231,220,60,0,44,216,232,220,60,0,44,216,233,220,60,0,44,216,234,220,60,0,44,216,235,220,60,0,44,216,236,220,60,0,44,216,237,220,60,0,44,216,238,220,60,0,44,216,239,220,60,0,44,216,240,220,60,0,44,216,241,220,60,0,44,216,242,220,60,0,44,216,243,220,60,0,44,216,244,220,60,0,44,216,245,220,60,0,44,216,246,220,60,0,44,216,247,220,60,0,44,216,248,220,60,0,44,216,249,220,60,0,44,216,250,220,60,0,44,216,251,220,60,0,44,216,252,220,60,0,44,216,253,220,60,0,44,216,254,220,60,0,44,216,255,220,60,0,44,216,0,221,60,0,44,216,1,221,60,0,44,216,2,221,60,0,44,216,3,221,60,0,44,216,4,221,60,0,44,216,5,221,60,0,44,216,6,221,60,0,44,216,7,221,60,0,44,216,8,221,60,0,44,216,9,221,60,0,44,216,10,221,60,0,44,216,11,221,60,0,44,216,12,221,60,0,44,216,13,221,60,0,44,216,14,221,60,0,44,216,15,221,60,0,44,216,16,221,60,0,44,216,17,221,60,0,44,216,18,221,60,0,44,216,19,221,60,0,44,216,20,221,60,0,44,216,21,221,60,0,44,216,22,221,60,0,44,216,23,221,60,0,44,216,24,221,60,0,44,216,25,221,60,0,44,216,26,221,60,0,44,216,27,221,60,0,44,216,28,221,60,0,44,216,29,221,60,0,44,216,30,221,60,0,5,49,60,0,60,0,160,49,60,0,6,49,60,0,60,0,60,0,180,49,60,0,7,49,60,0,172,49,60,0,8,49,60,0,42,49,60,0,9,49,60,0,10,49,60,0,60,0,60,0,181,49,60,0,11,49,60,0,47,49,60,0,12,49,60,0,13,49,60,0,60,0,60,0,187,49,60,0,60,0,163,49,60,0,14,49,60,0,60,0,60,0,182,49,60,0,43,49,60,0,173,49,60,0,15,49,60,0,60,0,60,0,183,49,60,0,16,49,60,0,60,0,162,49,60,0,17,49,60,0,18,49,60,0,44,49,60,0,188,49,60,0,189,49,60,0,19,49,60,0,20,49,60,0,21,49,60,0,22,49,60,0,23,49,60,0,60,0,161,49,60,0,24,49,60,0,25,49,60,0,184,49,60,0,185,49,60,0,186,49,60,0,26,49,60,0,60,0,169,49,60,0,27,49,60,0,60,0,167,49,60,0,166,49,60,0,28,49,60,0,60,0,60,0,46,49,60,0,29,49,60,0,164,49,60,0,60,0,165,49,60,0,30,49,60,0,60,0,174,49,60,0,31,49,60,0,32,49,60,0,60,0,175,49,60,0,33,49,60,0,34,49,60,0,35,49,60,0,36,49,60,0,178,49,60,0,37,49,60,0,176,49,60,0,177,49,60,0,38,49,60,0,39,49,60,0,60,0,170,49,60,0,60,0,60,0,179,49,60,0,40,49,60,0,60,0,171,49,60,0,60,0,168,49,60,0,41,49,60,0,45,49,60,0,190,49,60,0,191,49,60,0,0,160,60,0,1,160,60,0,2,160,60,0,3,160,60,0,4,160,60,0,5,160,60,0,6,160,60,0,7,160,60,0,8,160,60,0,9,160,60,0,10,160,60,0,11,160,60,0,12,160,60,0,13,160,60,0,14,160,60,0,15,160,60,0,16,160,60,0,17,160,60,0,18,160,60,0,19,160,60,0,20,160,60,0,21,160,60,0,22,160,60,0,23,160,60,0,24,160,60,0,25,160,60,0,26,160,60,0,27,160,60,0,28,160,60,0,29,160,60,0,30,160,60,0,31,160,60,0,32,160,60,0,33,160,60,0,34,160,60,0,35,160,60,0,36,160,60,0,37,160,60,0,38,160,60,0,39,160,60,0,40,160,60,0,41,160,60,0,42,160,60,0,43,160,60,0,44,160,60,0,45,160,60,0,46,160,60,0,47,160,60,0,48,160,60,0,49,160,60,0,50,160,60,0,51,160,60,0,52,160,60,0,53,160,60,0,54,160,60,0,55,160,60,0,56,160,60,0,57,160,60,0,58,160,60,0,59,160,60,0,60,160,60,0,61,160,60,0,62,160,60,0,63,160,60,0,64,160,60,0,65,160,60,0,66,160,60,0,67,160,60,0,68,160,60,0,69,160,60,0,70,160,60,0,71,160,60,0,72,160,60,0,73,160,60,0,74,160,60,0,75,160,60,0,76,160,60,0,77,160,60,0,78,160,60,0,79,160,60,0,80,160,60,0,81,160,60,0,82,160,60,0,83,160,60,0,84,160,60,0,85,160,60,0,86,160,60,0,87,160,60,0,88,160,60,0,89,160,60,0,90,160,60,0,91,160,60,0,92,160,60,0,93,160,60,0,94,160,60,0,95,160,60,0,96,160,60,0,97,160,60,0,98,160,60,0,99,160,60,0,100,160,60,0,101,160,60,0,102,160,60,0,103,160,60,0,104,160,60,0,105,160,60,0,106,160,60,0,107,160,60,0,108,160,60,0,109,160,60,0,110,160,60,0,111,160,60,0,112,160,60,0,113,160,60,0,114,160,60,0,115,160,60,0,116,160,60,0,117,160,60,0,118,160,60,0,119,160,60,0,120,160,60,0,121,160,60,0,122,160,60,0,123,160,60,0,124,160,60,0,125,160,60,0,126,160,60,0,127,160,60,0,128,160,60,0,129,160,60,0,130,160,60,0,131,160,60,0,132,160,60,0,133,160,60,0,134,160,60,0,135,160,60,0,136,160,60,0,137,160,60,0,138,160,60,0,139,160,60,0,140,160,60,0,141,160,60,0,142,160,60,0,143,160,60,0,144,160,60,0,145,160,60,0,146,160,60,0,147,160,60,0,148,160,60,0,149,160,60,0,150,160,60,0,151,160,60,0,152,160,60,0,153,160,60,0,154,160,60,0,155,160,60,0,156,160,60,0,157,160,60,0,158,160,60,0,159,160,60,0,160,160,60,0,161,160,60,0,162,160,60,0,163,160,60,0,164,160,60,0,165,160,60,0,166,160,60,0,167,160,60,0,168,160,60,0,169,160,60,0,170,160,60,0,171,160,60,0,172,160,60,0,173,160,60,0,174,160,60,0,175,160,60,0,176,160,60,0,177,160,60,0,178,160,60,0,179,160,60,0,180,160,60,0,181,160,60,0,182,160,60,0,183,160,60,0,184,160,60,0,185,160,60,0,186,160,60,0,187,160,60,0,188,160,60,0,189,160,60,0,190,160,60,0,191,160,60,0,192,160,60,0,193,160,60,0,194,160,60,0,195,160,60,0,196,160,60,0,197,160,60,0,198,160,60,0,199,160,60,0,200,160,60,0,201,160,60,0,202,160,60,0,203,160,60,0,204,160,60,0,205,160,60,0,206,160,60,0,207,160,60,0,208,160,60,0,209,160,60,0,210,160,60,0,211,160,60,0,212,160,60,0,213,160,60,0,214,160,60,0,215,160,60,0,216,160,60,0,217,160,60,0,218,160,60,0,219,160,60,0,220,160,60,0,221,160,60,0,222,160,60,0,223,160,60,0,224,160,60,0,225,160,60,0,226,160,60,0,227,160,60,0,228,160,60,0,229,160,60,0,230,160,60,0,231,160,60,0,232,160,60,0,233,160,60,0,234,160,60,0,235,160,60,0,236,160,60,0,237,160,60,0,238,160,60,0,239,160,60,0,240,160,60,0,241,160,60,0,242,160,60,0,243,160,60,0,244,160,60,0,245,160,60,0,246,160,60,0,247,160,60,0,248,160,60,0,249,160,60,0,250,160,60,0,251,160,60,0,252,160,60,0,253,160,60,0,254,160,60,0,255,160,60,0,0,161,60,0,1,161,60,0,2,161,60,0,3,161,60,0,4,161,60,0,5,161,60,0,6,161,60,0,7,161,60,0,8,161,60,0,9,161,60,0,10,161,60,0,11,161,60,0,12,161,60,0,13,161,60,0,14,161,60,0,15,161,60,0,16,161,60,0,17,161,60,0,18,161,60,0,19,161,60,0,20,161,60,0,21,161,60,0,22,161,60,0,23,161,60,0,24,161,60,0,25,161,60,0,26,161,60,0,27,161,60,0,28,161,60,0,29,161,60,0,30,161,60,0,31,161,60,0,32,161,60,0,33,161,60,0,34,161,60,0,35,161,60,0,36,161,60,0,37,161,60,0,38,161,60,0,39,161,60,0,40,161,60,0,41,161,60,0,42,161,60,0,43,161,60,0,44,161,60,0,45,161,60,0,46,161,60,0,47,161,60,0,48,161,60,0,49,161,60,0,50,161,60,0,51,161,60,0,52,161,60,0,53,161,60,0,54,161,60,0,55,161,60,0,56,161,60,0,57,161,60,0,58,161,60,0,59,161,60,0,60,161,60,0,61,161,60,0,62,161,60,0,63,161,60,0,64,161,60,0,65,161,60,0,66,161,60,0,67,161,60,0,68,161,60,0,69,161,60,0,70,161,60,0,71,161,60,0,72,161,60,0,73,161,60,0,74,161,60,0,75,161,60,0,76,161,60,0,77,161,60,0,78,161,60,0,79,161,60,0,80,161,60,0,81,161,60,0,82,161,60,0,83,161,60,0,84,161,60,0,85,161,60,0,86,161,60,0,87,161,60,0,88,161,60,0,89,161,60,0,90,161,60,0,91,161,60,0,92,161,60,0,93,161,60,0,94,161,60,0,95,161,60,0,96,161,60,0,97,161,60,0,98,161,60,0,99,161,60,0,100,161,60,0,101,161,60,0,102,161,60,0,103,161,60,0,104,161,60,0,105,161,60,0,106,161,60,0,107,161,60,0,108,161,60,0,109,161,60,0,110,161,60,0,111,161,60,0,112,161,60,0,113,161,60,0,114,161,60,0,115,161,60,0,116,161,60,0,117,161,60,0,118,161,60,0,119,161,60,0,120,161,60,0,121,161,60,0,122,161,60,0,123,161,60,0,124,161,60,0,125,161,60,0,126,161,60,0,127,161,60,0,128,161,60,0,129,161,60,0,130,161,60,0,131,161,60,0,132,161,60,0,133,161,60,0,134,161,60,0,135,161,60,0,136,161,60,0,137,161,60,0,138,161,60,0,139,161,60,0,140,161,60,0,141,161,60,0,142,161,60,0,143,161,60,0,144,161,60,0,145,161,60,0,146,161,60,0,147,161,60,0,148,161,60,0,149,161,60,0,150,161,60,0,151,161,60,0,152,161,60,0,153,161,60,0,154,161,60,0,155,161,60,0,156,161,60,0,157,161,60,0,158,161,60,0,159,161,60,0,160,161,60,0,161,161,60,0,162,161,60,0,163,161,60,0,164,161,60,0,165,161,60,0,166,161,60,0,167,161,60,0,168,161,60,0,169,161,60,0,170,161,60,0,171,161,60,0,172,161,60,0,173,161,60,0,174,161,60,0,175,161,60,0,176,161,60,0,177,161,60,0,178,161,60,0,179,161,60,0,180,161,60,0,181,161,60,0,182,161,60,0,183,161,60,0,184,161,60,0,185,161,60,0,186,161,60,0,187,161,60,0,188,161,60,0,189,161,60,0,190,161,60,0,191,161,60,0,192,161,60,0,193,161,60,0,194,161,60,0,195,161,60,0,196,161,60,0,197,161,60,0,198,161,60,0,199,161,60,0,200,161,60,0,201,161,60,0,202,161,60,0,203,161,60,0,204,161,60,0,205,161,60,0,206,161,60,0,207,161,60,0,208,161,60,0,209,161,60,0,210,161,60,0,211,161,60,0,212,161,60,0,213,161,60,0,214,161,60,0,215,161,60,0,216,161,60,0,217,161,60,0,218,161,60,0,219,161,60,0,220,161,60,0,221,161,60,0,222,161,60,0,223,161,60,0,224,161,60,0,225,161,60,0,226,161,60,0,227,161,60,0,228,161,60,0,229,161,60,0,230,161,60,0,231,161,60,0,232,161,60,0,233,161,60,0,234,161,60,0,235,161,60,0,236,161,60,0,237,161,60,0,238,161,60,0,239,161,60,0,240,161,60,0,241,161,60,0,242,161,60,0,243,161,60,0,244,161,60,0,245,161,60,0,246,161,60,0,247,161,60,0,248,161,60,0,249,161,60,0,250,161,60,0,251,161,60,0,252,161,60,0,253,161,60,0,254,161,60,0,255,161,60,0,0,162,60,0,1,162,60,0,2,162,60,0,3,162,60,0,4,162,60,0,5,162,60,0,6,162,60,0,7,162,60,0,8,162,60,0,9,162,60,0,10,162,60,0,11,162,60,0,12,162,60,0,13,162,60,0,14,162,60,0,15,162,60,0,16,162,60,0,17,162,60,0,18,162,60,0,19,162,60,0,20,162,60,0,21,162,60,0,22,162,60,0,23,162,60,0,24,162,60,0,25,162,60,0,26,162,60,0,27,162,60,0,28,162,60,0,29,162,60,0,30,162,60,0,31,162,60,0,32,162,60,0,33,162,60,0,34,162,60,0,35,162,60,0,36,162,60,0,37,162,60,0,38,162,60,0,39,162,60,0,40,162,60,0,41,162,60,0,42,162,60,0,43,162,60,0,44,162,60,0,45,162,60,0,46,162,60,0,47,162,60,0,48,162,60,0,49,162,60,0,50,162,60,0,51,162,60,0,52,162,60,0,53,162,60,0,54,162,60,0,55,162,60,0,56,162,60,0,57,162,60,0,58,162,60,0,59,162,60,0,60,162,60,0,61,162,60,0,62,162,60,0,63,162,60,0,64,162,60,0,65,162,60,0,66,162,60,0,67,162,60,0,68,162,60,0,69,162,60,0,70,162,60,0,71,162,60,0,72,162,60,0,73,162,60,0,74,162,60,0,75,162,60,0,76,162,60,0,77,162,60,0,78,162,60,0,79,162,60,0,80,162,60,0,81,162,60,0,82,162,60,0,83,162,60,0,84,162,60,0,85,162,60,0,86,162,60,0,87,162,60,0,88,162,60,0,89,162,60,0,90,162,60,0,91,162,60,0,92,162,60,0,93,162,60,0,94,162,60,0,95,162,60,0,96,162,60,0,97,162,60,0,98,162,60,0,99,162,60,0,100,162,60,0,101,162,60,0,102,162,60,0,103,162,60,0,104,162,60,0,105,162,60,0,106,162,60,0,107,162,60,0,108,162,60,0,109,162,60,0,110,162,60,0,111,162,60,0,112,162,60,0,113,162,60,0,114,162,60,0,115,162,60,0,116,162,60,0,117,162,60,0,118,162,60,0,119,162,60,0,120,162,60,0,121,162,60,0,122,162,60,0,123,162,60,0,124,162,60,0,125,162,60,0,126,162,60,0,127,162,60,0,128,162,60,0,129,162,60,0,130,162,60,0,131,162,60,0,132,162,60,0,133,162,60,0,134,162,60,0,135,162,60,0,136,162,60,0,137,162,60,0,138,162,60,0,139,162,60,0,140,162,60,0,141,162,60,0,142,162,60,0,143,162,60,0,144,162,60,0,145,162,60,0,146,162,60,0,147,162,60,0,148,162,60,0,149,162,60,0,150,162,60,0,151,162,60,0,152,162,60,0,153,162,60,0,154,162,60,0,155,162,60,0,156,162,60,0,157,162,60,0,158,162,60,0,159,162,60,0,160,162,60,0,161,162,60,0,162,162,60,0,163,162,60,0,164,162,60,0,165,162,60,0,166,162,60,0,167,162,60,0,168,162,60,0,169,162,60,0,170,162,60,0,171,162,60,0,172,162,60,0,173,162,60,0,174,162,60,0,175,162,60,0,176,162,60,0,177,162,60,0,178,162,60,0,179,162,60,0,180,162,60,0,181,162,60,0,182,162,60,0,183,162,60,0,184,162,60,0,185,162,60,0,186,162,60,0,187,162,60,0,188,162,60,0,189,162,60,0,190,162,60,0,191,162,60,0,192,162,60,0,193,162,60,0,194,162,60,0,195,162,60,0,196,162,60,0,197,162,60,0,198,162,60,0,199,162,60,0,200,162,60,0,201,162,60,0,202,162,60,0,203,162,60,0,204,162,60,0,205,162,60,0,206,162,60,0,207,162,60,0,208,162,60,0,209,162,60,0,210,162,60,0,211,162,60,0,212,162,60,0,213,162,60,0,214,162,60,0,215,162,60,0,216,162,60,0,217,162,60,0,218,162,60,0,219,162,60,0,220,162,60,0,221,162,60,0,222,162,60,0,223,162,60,0,224,162,60,0,225,162,60,0,226,162,60,0,227,162,60,0,228,162,60,0,229,162,60,0,230,162,60,0,231,162,60,0,232,162,60,0,233,162,60,0,234,162,60,0,235,162,60,0,236,162,60,0,237,162,60,0,238,162,60,0,239,162,60,0,240,162,60,0,241,162,60,0,242,162,60,0,243,162,60,0,244,162,60,0,245,162,60,0,246,162,60,0,247,162,60,0,248,162,60,0,249,162,60,0,250,162,60,0,251,162,60,0,252,162,60,0,253,162,60,0,254,162,60,0,255,162,60,0,0,163,60,0,1,163,60,0,2,163,60,0,3,163,60,0,4,163,60,0,5,163,60,0,6,163,60,0,7,163,60,0,8,163,60,0,9,163,60,0,10,163,60,0,11,163,60,0,12,163,60,0,13,163,60,0,14,163,60,0,15,163,60,0,16,163,60,0,17,163,60,0,18,163,60,0,19,163,60,0,20,163,60,0,21,163,60,0,22,163,60,0,23,163,60,0,24,163,60,0,25,163,60,0,26,163,60,0,27,163,60,0,28,163,60,0,29,163,60,0,30,163,60,0,31,163,60,0,32,163,60,0,33,163,60,0,34,163,60,0,35,163,60,0,36,163,60,0,37,163,60,0,38,163,60,0,39,163,60,0,40,163,60,0,41,163,60,0,42,163,60,0,43,163,60,0,44,163,60,0,45,163,60,0,46,163,60,0,47,163,60,0,48,163,60,0,49,163,60,0,50,163,60,0,51,163,60,0,52,163,60,0,53,163,60,0,54,163,60,0,55,163,60,0,56,163,60,0,57,163,60,0,58,163,60,0,59,163,60,0,60,163,60,0,61,163,60,0,62,163,60,0,63,163,60,0,64,163,60,0,65,163,60,0,66,163,60,0,67,163,60,0,68,163,60,0,69,163,60,0,70,163,60,0,71,163,60,0,72,163,60,0,73,163,60,0,74,163,60,0,75,163,60,0,76,163,60,0,77,163,60,0,78,163,60,0,79,163,60,0,80,163,60,0,81,163,60,0,82,163,60,0,83,163,60,0,84,163,60,0,85,163,60,0,86,163,60,0,87,163,60,0,88,163,60,0,89,163,60,0,90,163,60,0,91,163,60,0,92,163,60,0,93,163,60,0,94,163,60,0,95,163,60,0,96,163,60,0,97,163,60,0,98,163,60,0,99,163,60,0,100,163,60,0,101,163,60,0,102,163,60,0,103,163,60,0,104,163,60,0,105,163,60,0,106,163,60,0,107,163,60,0,108,163,60,0,109,163,60,0,110,163,60,0,111,163,60,0,112,163,60,0,113,163,60,0,114,163,60,0,115,163,60,0,116,163,60,0,117,163,60,0,118,163,60,0,119,163,60,0,120,163,60,0,121,163,60,0,122,163,60,0,123,163,60,0,124,163,60,0,125,163,60,0,126,163,60,0,127,163,60,0,128,163,60,0,129,163,60,0,130,163,60,0,131,163,60,0,132,163,60,0,133,163,60,0,134,163,60,0,135,163,60,0,136,163,60,0,137,163,60,0,138,163,60,0,139,163,60,0,140,163,60,0,141,163,60,0,142,163,60,0,143,163,60,0,144,163,60,0,145,163,60,0,146,163,60,0,147,163,60,0,148,163,60,0,149,163,60,0,150,163,60,0,151,163,60,0,152,163,60,0,153,163,60,0,154,163,60,0,155,163,60,0,156,163,60,0,157,163,60,0,158,163,60,0,159,163,60,0,160,163,60,0,161,163,60,0,162,163,60,0,163,163,60,0,164,163,60,0,165,163,60,0,166,163,60,0,167,163,60,0,168,163,60,0,169,163,60,0,170,163,60,0,171,163,60,0,172,163,60,0,173,163,60,0,174,163,60,0,175,163,60,0,176,163,60,0,177,163,60,0,178,163,60,0,179,163,60,0,180,163,60,0,181,163,60,0,182,163,60,0,183,163,60,0,184,163,60,0,185,163,60,0,186,163,60,0,187,163,60,0,188,163,60,0,189,163,60,0,190,163,60,0,191,163,60,0,192,163,60,0,193,163,60,0,194,163,60,0,195,163,60,0,196,163,60,0,197,163,60,0,198,163,60,0,199,163,60,0,200,163,60,0,201,163,60,0,202,163,60,0,203,163,60,0,204,163,60,0,205,163,60,0,206,163,60,0,207,163,60,0,208,163,60,0,209,163,60,0,210,163,60,0,211,163,60,0,212,163,60,0,213,163,60,0,214,163,60,0,215,163,60,0,216,163,60,0,217,163,60,0,218,163,60,0,219,163,60,0,220,163,60,0,221,163,60,0,222,163,60,0,223,163,60,0,224,163,60,0,225,163,60,0,226,163,60,0,227,163,60,0,228,163,60,0,229,163,60,0,230,163,60,0,231,163,60,0,232,163,60,0,233,163,60,0,234,163,60,0,235,163,60,0,236,163,60,0,237,163,60,0,238,163,60,0,239,163,60,0,240,163,60,0,241,163,60,0,242,163,60,0,243,163,60,0,244,163,60,0,245,163,60,0,246,163,60,0,247,163,60,0,248,163,60,0,249,163,60,0,250,163,60,0,251,163,60,0,252,163,60,0,253,163,60,0,254,163,60,0,255,163,60,0,0,164,60,0,1,164,60,0,2,164,60,0,3,164,60,0,4,164,60,0,5,164,60,0,6,164,60,0,7,164,60,0,8,164,60,0,9,164,60,0,10,164,60,0,11,164,60,0,12,164,60,0,13,164,60,0,14,164,60,0,15,164,60,0,16,164,60,0,17,164,60,0,18,164,60,0,19,164,60,0,20,164,60,0,21,164,60,0,22,164,60,0,23,164,60,0,24,164,60,0,25,164,60,0,26,164,60,0,27,164,60,0,28,164,60,0,29,164,60,0,30,164,60,0,31,164,60,0,32,164,60,0,33,164,60,0,34,164,60,0,35,164,60,0,36,164,60,0,37,164,60,0,38,164,60,0,39,164,60,0,40,164,60,0,41,164,60,0,42,164,60,0,43,164,60,0,44,164,60,0,45,164,60,0,46,164,60,0,47,164,60,0,48,164,60,0,49,164,60,0,50,164,60,0,51,164,60,0,52,164,60,0,53,164,60,0,54,164,60,0,55,164,60,0,56,164,60,0,57,164,60,0,58,164,60,0,59,164,60,0,60,164,60,0,61,164,60,0,62,164,60,0,63,164,60,0,64,164,60,0,65,164,60,0,66,164,60,0,67,164,60,0,68,164,60,0,69,164,60,0,70,164,60,0,71,164,60,0,72,164,60,0,73,164,60,0,74,164,60,0,75,164,60,0,76,164,60,0,77,164,60,0,78,164,60,0,79,164,60,0,80,164,60,0,81,164,60,0,82,164,60,0,83,164,60,0,84,164,60,0,85,164,60,0,86,164,60,0,87,164,60,0,88,164,60,0,89,164,60,0,90,164,60,0,91,164,60,0,92,164,60,0,93,164,60,0,94,164,60,0,95,164,60,0,96,164,60,0,97,164,60,0,98,164,60,0,99,164,60,0,100,164,60,0,101,164,60,0,102,164,60,0,103,164,60,0,104,164,60,0,105,164,60,0,106,164,60,0,107,164,60,0,108,164,60,0,109,164,60,0,110,164,60,0,111,164,60,0,112,164,60,0,113,164,60,0,114,164,60,0,115,164,60,0,116,164,60,0,117,164,60,0,118,164,60,0,119,164,60,0,120,164,60,0,121,164,60,0,122,164,60,0,123,164,60,0,124,164,60,0,125,164,60,0,126,164,60,0,127,164,60,0,128,164,60,0,129,164,60,0,130,164,60,0,131,164,60,0,132,164,60,0,133,164,60,0,134,164,60,0,135,164,60,0,136,164,60,0,137,164,60,0,138,164,60,0,139,164,60,0,140,164,60,0,248,164,60,0,249,164,60,0,250,164,60,0,251,164,60,0,253,164,60,0,252,164,60,0,208,164,60,0,209,164,60,0,210,164,60,0,211,164,60,0,212,164,60,0,213,164,60,0,214,164,60,0,215,164,60,0,216,164,60,0,217,164,60,0,218,164,60,0,219,164,60,0,220,164,60,0,221,164,60,0,222,164,60,0,223,164,60,0,224,164,60,0,225,164,60,0,226,164,60,0,227,164,60,0,228,164,60,0,229,164,60,0,230,164,60,0,231,164,60,0,232,164,60,0,233,164,60,0,235,164,60,0,237,164,60,0,234,164,60,0,236,164,60,0,7,216,176,223,60,0,238,164,60,0,239,164,60,0,240,164,60,0,241,164,60,0,242,164,60,0,243,164,60,0,244,164,60,0,245,164,60,0,246,164,60,0,247,164,60,0,27,216,0,223,60,0,27,216,1,223,60,0,27,216,2,223,60,0,27,216,3,223,60,0,27,216,69,223,60,0,27,216,4,223,60,0,60,0,60,0,27,216,6,223,60,0,27,216,5,223,60,0,27,216,7,223,60,0,27,216,8,223,60,0,27,216,9,223,60,0,27,216,10,223,60,0,27,216,11,223,60,0,27,216,12,223,60,0,27,216,13,223,60,0,27,216,72,223,60,0,27,216,14,223,60,0,27,216,15,223,60,0,27,216,74,223,60,0,27,216,16,223,60,0,60,0,60,0,27,216,19,223,60,0,27,216,17,223,60,0,27,216,18,223,60,0,27,216,20,223,60,0,27,216,21,223,60,0,27,216,22,223,60,0,27,216,23,223,60,0,27,216,24,223,60,0,27,216,25,223,60,0,27,216,26,223,60,0,27,216,27,223,60,0,27,216,28,223,60,0,27,216,29,223,60,0,27,216,30,223,60,0,27,216,31,223,60,0,27,216,32,223,60,0,27,216,33,223,60,0,27,216,34,223,60,0,27,216,35,223,60,0,60,0,60,0,27,216,37,223,60,0,27,216,36,223,60,0,27,216,38,223,60,0,27,216,39,223,60,0,27,216,40,223,60,0,27,216,41,223,60,0,27,216,42,223,60,0,27,216,43,223,60,0,27,216,44,223,60,0,27,216,45,223,60,0,27,216,46,223,60,0,27,216,47,223,60,0,27,216,48,223,60,0,27,216,49,223,60,0,27,216,50,223,60,0,27,216,71,223,60,0,27,216,51,223,60,0,27,216,70,223,60,0,27,216,52,223,60,0,27,216,53,223,60,0,27,216,54,223,60,0,27,216,55,223,60,0,27,216,56,223,60,0,27,216,57,223,60,0,27,216,73,223,60,0,27,216,58,223,60,0,27,216,59,223,60,0,27,216,60,223,60,0,27,216,61,223,60,0,60,0,60,0,27,216,63,223,60,0,27,216,62,223,60,0,27,216,64,223,60,0,27,216,65,223,60,0,27,216,66,223,60,0,27,216,67,223,60,0,27,216,68,223,60,0,27,216,80,223,60,0,27,216,81,223,60,0,27,216,82,223,60,0,27,216,83,223,60,0,27,216,79,223,60,0,27,216,84,223,60,0,27,216,85,223,60,0,27,216,86,223,60,0,27,216,87,223,60,0,27,216,88,223,60,0,27,216,129,223,60,0,27,216,89,223,60,0,27,216,90,223,60,0,27,216,91,223,60,0,27,216,92,223,60,0,27,216,131,223,60,0,27,216,93,223,60,0,27,216,94,223,60,0,27,216,95,223,60,0,27,216,96,223,60,0,27,216,132,223,60,0,27,216,97,223,60,0,27,216,98,223,60,0,27,216,99,223,60,0,27,216,100,223,60,0,27,216,101,223,60,0,27,216,134,223,60,0,27,216,102,223,60,0,27,216,103,223,60,0,27,216,104,223,60,0,27,216,105,223,60,0,27,216,106,223,60,0,27,216,107,223,60,0,27,216,108,223,60,0,27,216,109,223,60,0,27,216,127,223,60,0,27,216,135,223,60,0,27,216,110,223,60,0,27,216,111,223,60,0,27,216,112,223,60,0,27,216,113,223,60,0,27,216,114,223,60,0,27,216,128,223,60,0,27,216,115,223,60,0,27,216,116,223,60,0,27,216,133,223,60,0,27,216,130,223,60,0,27,216,117,223,60,0,27,216,118,223,60,0,27,216,119,223,60,0,27,216,120,223,60,0,27,216,121,223,60,0,27,216,122,223,60,0,27,216,123,223,60,0,27,216,124,223,60,0,27,216,125,223,60,0,27,216,126,223,60,0,27,216,143,223,60,0,27,216,144,223,60,0,27,216,145,223,60,0,27,216,146,223,60,0,27,216,147,223,60,0,27,216,148,223,60,0,27,216,149,223,60,0,27,216,150,223,60,0,27,216,151,223,60,0,27,216,152,223,60,0,27,216,153,223,60,0,27,216,154,223,60,0,27,216,155,223,60,0,27,216,156,223,60,0,27,216,157,223,60,0,27,216,158,223,60,0,27,216,159,223,60,0,6,216,255,220,60,0,6,216,192,220,60,0,60,0,60,0,6,216,160,220,60,0,6,216,193,220,60,0,60,0,60,0,6,216,161,220,60,0,6,216,194,220,60,0,60,0,60,0,6,216,162,220,60,0,6,216,195,220,60,0,60,0,60,0,6,216,163,220,60,0,6,216,196,220,60,0,60,0,60,0,6,216,164,220,60,0,6,216,197,220,60,0,60,0,60,0,6,216,165,220,60,0,6,216,198,220,60,0,60,0,60,0,6,216,166,220,60,0,6,216,199,220,60,0,60,0,60,0,6,216,167,220,60,0,6,216,200,220,60,0,60,0,60,0,6,216,168,220,60,0,6,216,201,220,60,0,60,0,60,0,6,216,169,220,60,0,6,216,202,220,60,0,60,0,60,0,6,216,170,220,60,0,6,216,203,220,60,0,60,0,60,0,6,216,171,220,60,0,6,216,204,220,60,0,60,0,60,0,6,216,172,220,60,0,6,216,205,220,60,0,60,0,60,0,6,216,173,220,60,0,6,216,206,220,60,0,60,0,60,0,6,216,174,220,60,0,6,216,207,220,60,0,60,0,60,0,6,216,175,220,60,0,6,216,208,220,60,0,60,0,60,0,6,216,176,220,60,0,6,216,209,220,60,0,60,0,60,0,6,216,177,220,60,0,6,216,210,220,60,0,60,0,60,0,6,216,178,220,60,0,6,216,211,220,60,0,60,0,60,0,6,216,179,220,60,0,6,216,212,220,60,0,60,0,60,0,6,216,180,220,60,0,6,216,213,220,60,0,60,0,60,0,6,216,181,220,60,0,6,216,214,220,60,0,60,0,60,0,6,216,182,220,60,0,6,216,215,220,60,0,60,0,60,0,6,216,183,220,60,0,6,216,216,220,60,0,60,0,60,0,6,216,184,220,60,0,6,216,217,220,60,0,60,0,60,0,6,216,185,220,60,0,6,216,218,220,60,0,60,0,60,0,6,216,186,220,60,0,6,216,219,220,60,0,60,0,60,0,6,216,187,220,60,0,6,216,220,220,60,0,60,0,60,0,6,216,188,220,60,0,6,216,221,220,60,0,60,0,60,0,6,216,189,220,60,0,6,216,222,220,60,0,60,0,60,0,6,216,190,220,60,0,6,216,223,220,60,0,60,0,60,0,6,216,191,220,60,0,6,216,213,222,60,0,6,216,214,222,60,0,6,216,215,222,60,0,6,216,216,222,60,0,6,216,217,222,60,0,6,216,218,222,60,0,6,216,219,222,60,0,6,216,192,222,60,0,6,216,193,222,60,0,6,216,194,222,60,0,6,216,195,222,60,0,6,216,196,222,60,0,6,216,197,222,60,0,6,216,198,222,60,0,6,216,199,222,60,0,6,216,200,222,60,0,6,216,201,222,60,0,6,216,202,222,60,0,6,216,203,222,60,0,6,216,204,222,60,0,6,216,205,222,60,0,6,216,206,222,60,0,6,216,207,222,60,0,6,216,208,222,60,0,6,216,209,222,60,0,6,216,210,222,60,0,6,216,211,222,60,0,6,216,212,222,60,0,6,216,220,222,60,0,6,216,221,222,60,0,6,216,223,222,60,0,6,216,224,222,60,0,6,216,225,222,60,0,6,216,226,222,60,0,6,216,227,222,60,0,6,216,222,222,60,0,6,216,228,222,60,0,6,216,239,222,60,0,6,216,242,222,60,0,6,216,241,222,60,0,6,216,230,222,60,0,6,216,233,222,60,0,6,216,229,222,60,0,6,216,232,222,60,0,6,216,244,222,60,0,6,216,247,222,60,0,6,216,243,222,60,0,6,216,246,222,60,0,6,216,236,222,60,0,6,216,238,222,60,0,6,216,235,222,60,0,6,216,237,222,60,0,6,216,245,222,60,0,6,216,248,222,60,0,6,216,231,222,60,0,6,216,234,222,60,0,6,216,240,222,60,0,26,216,0,223,60,0,26,216,1,223,60,0,26,216,2,223,60,0,26,216,3,223,60,0,26,216,4,223,60,0,26,216,5,223,60,0,26,216,6,223,60,0,26,216,7,223,60,0,26,216,8,223,60,0,26,216,9,223,60,0,26,216,10,223,60,0,26,216,11,223,60,0,26,216,12,223,60,0,26,216,13,223,60,0,26,216,14,223,60,0,26,216,15,223,60,0,26,216,16,223,60,0,26,216,17,223,60,0,26,216,18,223,60,0,26,216,19,223,60,0,26,216,20,223,60,0,26,216,21,223,60,0,26,216,22,223,60,0,26,216,23,223,60,0,26,216,24,223,60,0,26,216,25,223,60,0,26,216,26,223,60,0,26,216,27,223,60,0,26,216,28,223,60,0,26,216,29,223,60,0,26,216,30,223,60,0,26,216,31,223,60,0,26,216,32,223,60,0,26,216,33,223,60,0,26,216,34,223,60,0,26,216,35,223,60,0,26,216,36,223,60,0,26,216,37,223,60,0,26,216,38,223,60,0,26,216,39,223,60,0,26,216,40,223,60,0,26,216,41,223,60,0,26,216,42,223,60,0,26,216,43,223,60,0,26,216,44,223,60,0,26,216,45,223,60,0,26,216,46,223,60,0,26,216,47,223,60,0,26,216,64,223,60,0,26,216,65,223,60,0,26,216,99,223,60,0,26,216,100,223,60,0,26,216,101,223,60,0,26,216,102,223,60,0,26,216,103,223,60,0,26,216,104,223,60,0,26,216,105,223,60,0,26,216,106,223,60,0,26,216,107,223,60,0,26,216,108,223,60,0,26,216,109,223,60,0,26,216,110,223,60,0,26,216,111,223,60,0,26,216,112,223,60,0,26,216,113,223,60,0,26,216,114,223,60,0,26,216,115,223,60,0,26,216,116,223,60,0,26,216,117,223,60,0,26,216,118,223,60,0,26,216,119,223,60,0,26,216,125,223,60,0,26,216,126,223,60,0,26,216,127,223,60,0,26,216,128,223,60,0,26,216,129,223,60,0,26,216,130,223,60,0,26,216,131,223,60,0,26,216,132,223,60,0,26,216,133,223,60,0,26,216,134,223,60,0,26,216,135,223,60,0,26,216,136,223,60,0,26,216,137,223,60,0,26,216,138,223,60,0,26,216,139,223,60,0,26,216,140,223,60,0,26,216,141,223,60,0,26,216,142,223,60,0,26,216,143,223,60,0,56,216,0,221,60,0,56,216,1,221,60,0,56,216,2,221,60,0,56,216,3,221,60,0,56,216,4,221,60,0,56,216,5,221,60,0,56,216,6,221,60,0,56,216,7,221,60,0,56,216,8,221,60,0,56,216,9,221,60,0,56,216,10,221,60,0,56,216,11,221,60,0,56,216,12,221,60,0,56,216,13,221,60,0,56,216,14,221,60,0,56,216,15,221,60,0,56,216,16,221,60,0,56,216,17,221,60,0,56,216,18,221,60,0,56,216,19,221,60,0,56,216,20,221,60,0,56,216,21,221,60,0,56,216,22,221,60,0,56,216,23,221,60,0,56,216,24,221,60,0,56,216,25,221,60,0,56,216,26,221,60,0,56,216,27,221,60,0,56,216,28,221,60,0,56,216,29,221,60,0,56,216,30,221,60,0,56,216,31,221,60,0,56,216,32,221,60,0,56,216,33,221,60,0,56,216,34,221,60,0,56,216,35,221,60,0,56,216,36,221,60,0,56,216,37,221,60,0,56,216,38,221,60,0,56,216,39,221,60,0,56,216,40,221,60,0,56,216,41,221,60,0,56,216,42,221,60,0,56,216,43,221,60,0,56,216,44,221,60,0,56,216,55,221,60,0,56,216,56,221,60,0,56,216,57,221,60,0,56,216,58,221,60,0,56,216,59,221,60,0,56,216,78,221,60,0,56,216,144,222,60,0,56,216,145,222,60,0,56,216,146,222,60,0,56,216,147,222,60,0,56,216,148,222,60,0,56,216,149,222,60,0,56,216,150,222,60,0,56,216,151,222,60,0,56,216,152,222,60,0,56,216,153,222,60,0,56,216,154,222,60,0,56,216,155,222,60,0,56,216,156,222,60,0,56,216,157,222,60,0,56,216,158,222,60,0,56,216,159,222,60,0,56,216,160,222,60,0,56,216,161,222,60,0,56,216,162,222,60,0,56,216,163,222,60,0,56,216,164,222,60,0,56,216,165,222,60,0,56,216,166,222,60,0,56,216,167,222,60,0,56,216,168,222,60,0,56,216,169,222,60,0,56,216,170,222,60,0,56,216,171,222,60,0,56,216,172,222,60,0,56,216,173,222,60,0,56,216,192,222,60,0,56,216,193,222,60,0,56,216,194,222,60,0,56,216,195,222,60,0,56,216,196,222,60,0,56,216,197,222,60,0,56,216,198,222,60,0,56,216,199,222,60,0,56,216,200,222,60,0,56,216,201,222,60,0,56,216,202,222,60,0,56,216,203,222,60,0,56,216,204,222,60,0,56,216,205,222,60,0,56,216,206,222,60,0,56,216,207,222,60,0,56,216,208,222,60,0,56,216,209,222,60,0,56,216,210,222,60,0,56,216,211,222,60,0,56,216,212,222,60,0,56,216,213,222,60,0,56,216,214,222,60,0,56,216,215,222,60,0,56,216,216,222,60,0,56,216,217,222,60,0,56,216,218,222,60,0,56,216,219,222,60,0,56,216,220,222,60,0,56,216,221,222,60,0,56,216,222,222,60,0,56,216,223,222,60,0,56,216,224,222,60,0,56,216,225,222,60,0,56,216,226,222,60,0,56,216,227,222,60,0,56,216,228,222,60,0,56,216,229,222,60,0,56,216,230,222,60,0,56,216,231,222,60,0,56,216,232,222,60,0,56,216,233,222,60,0,56,216,234,222,60,0,56,216,235,222,60,0,57,216,208,220,60,0,57,216,209,220,60,0,57,216,210,220,60,0,57,216,211,220,60,0,57,216,212,220,60,0,57,216,213,220,60,0,57,216,214,220,60,0,57,216,215,220,60,0,57,216,216,220,60,0,57,216,217,220,60,0,57,216,218,220,60,0,57,216,219,220,60,0,57,216,220,220,60,0,57,216,221,220,60,0,57,216,222,220,60,0,57,216,223,220,60,0,57,216,224,220,60,0,57,216,225,220,60,0,57,216,226,220,60,0,57,216,227,220,60,0,57,216,228,220,60,0,57,216,229,220,60,0,57,216,230,220,60,0,57,216,231,220,60,0,57,216,232,220,60,0,57,216,233,220,60,0,57,216,234,220,60,0,57,216,235,220,60,0,0,216,128,222,60,0,0,216,129,222,60,0,0,216,130,222,60,0,0,216,131,222,60,0,0,216,132,222,60,0,0,216,133,222,60,0,0,216,134,222,60,0,0,216,135,222,60,0,0,216,136,222,60,0,0,216,137,222,60,0,0,216,138,222,60,0,0,216,139,222,60,0,0,216,140,222,60,0,0,216,141,222,60,0,0,216,142,222,60,0,0,216,143,222,60,0,0,216,144,222,60,0,0,216,145,222,60,0,0,216,146,222,60,0,0,216,147,222,60,0,0,216,148,222,60,0,0,216,149,222,60,0,0,216,150,222,60,0,0,216,151,222,60,0,0,216,152,222,60,0,0,216,153,222,60,0,0,216,154,222,60,0,0,216,155,222,60,0,0,216,156,222,60,0,0,216,160,222,60,0,0,216,161,222,60,0,0,216,162,222,60,0,0,216,163,222,60,0,0,216,164,222,60,0,0,216,165,222,60,0,0,216,166,222,60,0,0,216,167,222,60,0,0,216,168,222,60,0,0,216,169,222,60,0,0,216,170,222,60,0,0,216,171,222,60,0,0,216,172,222,60,0,0,216,173,222,60,0,0,216,174,222,60,0,0,216,175,222,60,0,0,216,176,222,60,0,0,216,177,222,60,0,0,216,178,222,60,0,0,216,179,222,60,0,0,216,180,222,60,0,0,216,181,222,60,0,0,216,182,222,60,0,0,216,183,222,60,0,0,216,184,222,60,0,0,216,185,222,60,0,0,216,186,222,60,0,0,216,187,222,60,0,0,216,188,222,60,0,0,216,189,222,60,0,0,216,190,222,60,0,0,216,191,222,60,0,0,216,192,222,60,0,0,216,193,222,60,0,0,216,194,222,60,0,0,216,195,222,60,0,0,216,196,222,60,0,0,216,197,222,60,0,0,216,198,222,60,0,0,216,199,222,60,0,0,216,200,222,60,0,0,216,201,222,60,0,0,216,202,222,60,0,0,216,203,222,60,0,0,216,204,222,60,0,0,216,205,222,60,0,0,216,206,222,60,0,0,216,207,222,60,0,0,216,208,222,60,0,14,32,2,216,32,221,14,32,60,0,14,32,2,216,33,221,14,32,60,0,14,32,2,216,34,221,14,32,60,0,14,32,2,216,35,221,14,32,60,0,14,32,2,216,36,221,14,32,60,0,14,32,2,216,37,221,14,32,60,0,14,32,2,216,38,221,14,32,60,0,14,32,2,216,39,221,14,32,60,0,14,32,2,216,40,221,14,32,60,0,14,32,2,216,41,221,14,32,60,0,14,32,2,216,42,221,14,32,60,0,14,32,2,216,43,221,14,32,60,0,14,32,2,216,44,221,14,32,60,0,14,32,2,216,45,221,14,32,60,0,14,32,2,216,46,221,14,32,60,0,14,32,2,216,47,221,14,32,60,0,14,32,2,216,48,221,14,32,60,0,14,32,2,216,49,221,14,32,60,0,14,32,2,216,50,221,14,32,60,0,14,32,2,216,51,221,14,32,60,0,14,32,2,216,52,221,14,32,60,0,14,32,2,216,53,221,14,32,60,0,14,32,2,216,54,221,14,32,60,0,14,32,2,216,55,221,14,32,60,0,14,32,2,216,56,221,14,32,60,0,14,32,2,216,57,221,14,32,60,0,0,216,0,223,60,0,0,216,1,223,60,0,0,216,2,223,60,0,0,216,3,223,60,0,0,216,4,223,60,0,0,216,5,223,60,0,0,216,6,223,60,0,0,216,7,223,60,0,0,216,8,223,60,0,0,216,9,223,60,0,0,216,10,223,60,0,0,216,11,223,60,0,0,216,12,223,60,0,0,216,13,223,60,0,0,216,14,223,60,0,0,216,31,223,60,0,0,216,15,223,60,0,0,216,16,223,60,0,0,216,17,223,60,0,0,216,18,223,60,0,0,216,19,223,60,0,0,216,20,223,60,0,0,216,21,223,60,0,0,216,22,223,60,0,0,216,23,223,60,0,0,216,24,223,60,0,0,216,25,223,60,0,0,216,26,223,60,0,0,216,27,223,60,0,0,216,28,223,60,0,0,216,29,223,60,0,0,216,30,223,60,0,0,216,45,223,60,0,0,216,46,223,60,0,0,216,47,223,60,0,0,216,48,223,60,0,0,216,49,223,60,0,0,216,50,223,60,0,0,216,51,223,60,0,0,216,52,223,60,0,0,216,53,223,60,0,0,216,54,223,60,0,0,216,55,223,60,0,0,216,56,223,60,0,0,216,57,223,60,0,0,216,58,223,60,0,0,216,59,223,60,0,0,216,60,223,60,0,0,216,61,223,60,0,0,216,62,223,60,0,0,216,63,223,60,0,0,216,64,223,60,0,0,216,65,223,60,0,0,216,66,223,60,0,0,216,67,223,60,0,0,216,68,223,60,0,0,216,69,223,60,0,0,216,70,223,60,0,0,216,71,223,60,0,0,216,72,223,60,0,0,216,73,223,60,0,0,216,74,223,60,0,1,216,40,220,60,0,60,0,60,0,1,216,0,220,60,0,1,216,41,220,60,0,60,0,60,0,1,216,1,220,60,0,1,216,42,220,60,0,60,0,60,0,1,216,2,220,60,0,1,216,43,220,60,0,60,0,60,0,1,216,3,220,60,0,1,216,44,220,60,0,60,0,60,0,1,216,4,220,60,0,1,216,45,220,60,0,60,0,60,0,1,216,5,220,60,0,1,216,46,220,60,0,60,0,60,0,1,216,6,220,60,0,1,216,47,220,60,0,60,0,60,0,1,216,7,220,60,0,1,216,48,220,60,0,60,0,60,0,1,216,8,220,60,0,1,216,49,220,60,0,60,0,60,0,1,216,9,220,60,0,1,216,50,220,60,0,60,0,60,0,1,216,10,220,60,0,1,216,51,220,60,0,60,0,60,0,1,216,11,220,60,0,1,216,52,220,60,0,60,0,60,0,1,216,12,220,60,0,1,216,53,220,60,0,60,0,60,0,1,216,13,220,60,0,1,216,54,220,60,0,60,0,60,0,1,216,14,220,60,0,1,216,55,220,60,0,60,0,60,0,1,216,15,220,60,0,1,216,56,220,60,0,60,0,60,0,1,216,16,220,60,0,1,216,57,220,60,0,60,0,60,0,1,216,17,220,60,0,1,216,58,220,60,0,60,0,60,0,1,216,18,220,60,0,1,216,59,220,60,0,60,0,60,0,1,216,19,220,60,0,1,216,60,220,60,0,60,0,60,0,1,216,20,220,60,0,1,216,61,220,60,0,60,0,60,0,1,216,21,220,60,0,1,216,62,220,60,0,60,0,60,0,1,216,22,220,60,0,1,216,63,220,60,0,60,0,60,0,1,216,23,220,60,0,1,216,64,220,60,0,60,0,60,0,1,216,24,220,60,0,1,216,65,220,60,0,60,0,60,0,1,216,25,220,60,0,1,216,66,220,60,0,60,0,60,0,1,216,26,220,60,0,1,216,67,220,60,0,60,0,60,0,1,216,27,220,60,0,1,216,68,220,60,0,60,0,60,0,1,216,28,220,60,0,1,216,69,220,60,0,60,0,60,0,1,216,29,220,60,0,1,216,70,220,60,0,60,0,60,0,1,216,30,220,60,0,1,216,71,220,60,0,60,0,60,0,1,216,31,220,60,0,1,216,72,220,60,0,60,0,60,0,1,216,32,220,60,0,1,216,73,220,60,0,60,0,60,0,1,216,33,220,60,0,1,216,74,220,60,0,60,0,60,0,1,216,34,220,60,0,1,216,75,220,60,0,60,0,60,0,1,216,35,220,60,0,1,216,76,220,60,0,60,0,60,0,1,216,36,220,60,0,1,216,77,220,60,0,60,0,60,0,1,216,37,220,60,0,1,216,78,220,60,0,60,0,60,0,1,216,38,220,60,0,1,216,79,220,60,0,60,0,60,0,1,216,39,220,60,0,1,216,80,220,60,0,1,216,81,220,60,0,1,216,82,220,60,0,1,216,83,220,60,0,1,216,84,220,60,0,1,216,85,220,60,0,1,216,86,220,60,0,1,216,87,220,60,0,1,216,88,220,60,0,1,216,89,220,60,0,1,216,90,220,60,0,1,216,91,220,60,0,1,216,92,220,60,0,1,216,93,220,60,0,1,216,94,220,60,0,1,216,95,220,60,0,1,216,96,220,60,0,1,216,97,220,60,0,1,216,98,220,60,0,1,216,99,220,60,0,1,216,100,220,60,0,1,216,101,220,60,0,1,216,102,220,60,0,1,216,103,220,60,0,1,216,104,220,60,0,1,216,105,220,60,0,1,216,106,220,60,0,1,216,107,220,60,0,1,216,108,220,60,0,1,216,109,220,60,0,1,216,110,220,60,0,1,216,111,220,60,0,1,216,112,220,60,0,1,216,113,220,60,0,1,216,114,220,60,0,1,216,115,220,60,0,1,216,116,220,60,0,1,216,117,220,60,0,1,216,118,220,60,0,1,216,119,220,60,0,1,216,120,220,60,0,1,216,121,220,60,0,1,216,122,220,60,0,1,216,123,220,60,0,1,216,124,220,60,0,1,216,125,220,60,0,1,216,126,220,60,0,1,216,127,220,60,0,47,216,0,220,60,0,47,216,1,220,60,0,47,216,2,220,60,0,47,216,3,220,60,0,47,216,4,220,60,0,47,216,5,220,60,0,47,216,6,220,60,0,47,216,7,220,60,0,47,216,8,220,60,0,47,216,9,220,60,0,47,216,10,220,60,0,47,216,11,220,60,0,47,216,12,220,60,0,47,216,13,220,60,0,47,216,14,220,60,0,47,216,15,220,60,0,47,216,16,220,60,0,47,216,17,220,60,0,47,216,18,220,60,0,47,216,19,220,60,0,47,216,20,220,60,0,47,216,21,220,60,0,47,216,22,220,60,0,47,216,23,220,60,0,47,216,24,220,60,0,47,216,25,220,60,0,47,216,26,220,60,0,47,216,27,220,60,0,47,216,28,220,60,0,47,216,29,220,60,0,47,216,30,220,60,0,47,216,31,220,60,0,47,216,32,220,60,0,47,216,33,220,60,0,47,216,34,220,60,0,47,216,35,220,60,0,47,216,36,220,60,0,47,216,37,220,60,0,47,216,38,220,60,0,47,216,39,220,60,0,47,216,40,220,60,0,47,216,41,220,60,0,47,216,42,220,60,0,47,216,43,220,60,0,47,216,44,220,60,0,47,216,45,220,60,0,47,216,46,220,60,0,47,216,47,220,60,0,47,216,48,220,60,0,47,216,49,220,60,0,47,216,50,220,60,0,47,216,51,220,60,0,47,216,52,220,60,0,47,216,53,220,60,0,47,216,54,220,60,0,47,216,55,220,60,0,47,216,56,220,60,0,47,216,57,220,60,0,47,216,58,220,60,0,47,216,59,220,60,0,47,216,60,220,60,0,47,216,61,220,60,0,47,216,62,220,60,0,47,216,63,220,60,0,47,216,64,220,60,0,47,216,65,220,60,0,47,216,66,220,60,0,47,216,67,220,60,0,47,216,68,220,60,0,47,216,69,220,60,0,47,216,70,220,60,0,47,216,71,220,60,0,47,216,72,220,60,0,47,216,73,220,60,0,47,216,74,220,60,0,47,216,75,220,60,0,47,216,76,220,60,0,47,216,77,220,60,0,47,216,78,220,60,0,47,216,79,220,60,0,47,216,80,220,60,0,47,216,81,220,60,0,47,216,82,220,60,0,47,216,83,220,60,0,47,216,84,220,60,0,47,216,85,220,60,0,47,216,86,220,60,0,47,216,87,220,60,0,47,216,88,220,60,0,47,216,89,220,60,0,47,216,90,220,60,0,47,216,91,220,60,0,47,216,92,220,60,0,47,216,93,220,60,0,47,216,94,220,60,0,47,216,95,220,60,0,47,216,96,220,60,0,47,216,97,220,60,0,47,216,98,220,60,0,47,216,99,220,60,0,47,216,100,220,60,0,47,216,101,220,60,0,47,216,102,220,60,0,47,216,103,220,60,0,47,216,104,220,60,0,47,216,105,220,60,0,47,216,106,220,60,0,47,216,112,220,60,0,47,216,113,220,60,0,47,216,114,220,60,0,47,216,115,220,60,0,47,216,116,220,60,0,47,216,117,220,60,0,47,216,118,220,60,0,47,216,119,220,60,0,47,216,120,220,60,0,47,216,121,220,60,0,47,216,122,220,60,0,47,216,123,220,60,0,47,216,124,220,60,0,47,216,128,220,60,0,47,216,129,220,60,0,47,216,130,220,60,0,47,216,131,220,60,0,47,216,132,220,60,0,47,216,133,220,60,0,47,216,134,220,60,0,47,216,135,220,60,0,47,216,136,220,60,0,47,216,144,220,60,0,47,216,145,220,60,0,47,216,146,220,60,0,47,216,147,220,60,0,47,216,148,220,60,0,47,216,149,220,60,0,47,216,150,220,60,0,47,216,151,220,60,0,47,216,152,220,60,0,47,216,153,220,60,0,1,216,128,220,60,0,1,216,129,220,60,0,1,216,130,220,60,0,1,216,131,220,60,0,1,216,132,220,60,0,1,216,133,220,60,0,1,216,134,220,60,0,1,216,135,220,60,0,1,216,136,220,60,0,1,216,137,220,60,0,1,216,138,220,60,0,1,216,139,220,60,0,1,216,140,220,60,0,1,216,141,220,60,0,1,216,142,220,60,0,1,216,143,220,60,0,1,216,144,220,60,0,1,216,145,220,60,0,1,216,146,220,60,0,1,216,147,220,60,0,1,216,148,220,60,0,1,216,149,220,60,0,1,216,150,220,60,0,1,216,151,220,60,0,1,216,152,220,60,0,1,216,153,220,60,0,1,216,154,220,60,0,1,216,155,220,60,0,1,216,156,220,60,0,1,216,157,220,60,0,1,216,0,221,60,0,1,216,1,221,60,0,1,216,2,221,60,0,1,216,3,221,60,0,1,216,4,221,60,0,1,216,5,221,60,0,1,216,6,221,60,0,1,216,7,221,60,0,1,216,8,221,60,0,1,216,9,221,60,0,1,216,10,221,60,0,1,216,11,221,60,0,1,216,12,221,60,0,1,216,13,221,60,0,1,216,14,221,60,0,1,216,15,221,60,0,1,216,16,221,60,0,1,216,17,221,60,0,1,216,18,221,60,0,1,216,19,221,60,0,1,216,20,221,60,0,1,216,21,221,60,0,1,216,22,221,60,0,1,216,23,221,60,0,1,216,24,221,60,0,1,216,25,221,60,0,1,216,26,221,60,0,1,216,27,221,60,0,1,216,28,221,60,0,1,216,29,221,60,0,1,216,30,221,60,0,1,216,31,221,60,0,1,216,32,221,60,0,1,216,33,221,60,0,1,216,34,221,60,0,1,216,35,221,60,0,1,216,36,221,60,0,1,216,37,221,60,0,1,216,38,221,60,0,1,216,39,221,60,0,1,216,48,221,60,0,1,216,49,221,60,0,1,216,50,221,60,0,1,216,51,221,60,0,1,216,52,221,60,0,1,216,53,221,60,0,1,216,54,221,60,0,1,216,55,221,60,0,1,216,56,221,60,0,1,216,57,221,60,0,1,216,58,221,60,0,1,216,59,221,60,0,1,216,60,221,60,0,1,216,61,221,60,0,1,216,62,221,60,0,1,216,63,221,60,0,1,216,64,221,60,0,1,216,65,221,60,0,1,216,66,221,60,0,1,216,67,221,60,0,1,216,68,221,60,0,1,216,69,221,60,0,1,216,70,221,60,0,1,216,71,221,60,0,1,216,72,221,60,0,1,216,73,221,60,0,1,216,74,221,60,0,1,216,75,221,60,0,1,216,76,221,60,0,1,216,77,221,60,0,1,216,78,221,60,0,1,216,79,221,60,0,1,216,80,221,60,0,1,216,81,221,60,0,1,216,82,221,60,0,1,216,83,221,60,0,1,216,84,221,60,0,1,216,85,221,60,0,1,216,86,221,60,0,1,216,87,221,60,0,1,216,88,221,60,0,1,216,89,221,60,0,1,216,90,221,60,0,1,216,91,221,60,0,1,216,92,221,60,0,1,216,93,221,60,0,1,216,94,221,60,0,1,216,95,221,60,0,1,216,96,221,60,0,1,216,97,221,60,0,1,216,98,221,60,0,1,216,99,221,60,0,1,216,151,221,60,0,60,0,60,0,1,216,112,221,60,0,1,216,152,221,60,0,60,0,60,0,1,216,113,221,60,0,1,216,153,221,60,0,60,0,60,0,1,216,114,221,60,0,1,216,154,221,60,0,60,0,60,0,1,216,115,221,60,0,1,216,155,221,60,0,60,0,60,0,1,216,116,221,60,0,1,216,156,221,60,0,60,0,60,0,1,216,117,221,60,0,1,216,157,221,60,0,60,0,60,0,1,216,118,221,60,0,1,216,158,221,60,0,60,0,60,0,1,216,119,221,60,0,1,216,159,221,60,0,60,0,60,0,1,216,120,221,60,0,1,216,160,221,60,0,60,0,60,0,1,216,121,221,60,0,1,216,161,221,60,0,60,0,60,0,1,216,122,221,60,0,1,216,163,221,60,0,60,0,60,0,1,216,124,221,60,0,1,216,164,221,60,0,60,0,60,0,1,216,125,221,60,0,1,216,165,221,60,0,60,0,60,0,1,216,126,221,60,0,1,216,166,221,60,0,60,0,60,0,1,216,127,221,60,0,1,216,167,221,60,0,60,0,60,0,1,216,128,221,60,0,1,216,168,221,60,0,60,0,60,0,1,216,129,221,60,0,1,216,169,221,60,0,60,0,60,0,1,216,130,221,60,0,1,216,170,221,60,0,60,0,60,0,1,216,131,221,60,0,1,216,171,221,60,0,60,0,60,0,1,216,132,221,60,0,1,216,172,221,60,0,60,0,60,0,1,216,133,221,60,0,1,216,173,221,60,0,60,0,60,0,1,216,134,221,60,0,1,216,174,221,60,0,60,0,60,0,1,216,135,221,60,0,1,216,175,221,60,0,60,0,60,0,1,216,136,221,60,0,1,216,176,221,60,0,60,0,60,0,1,216,137,221,60,0,1,216,177,221,60,0,60,0,60,0,1,216,138,221,60,0,1,216,179,221,60,0,60,0,60,0,1,216,140,221,60,0,1,216,180,221,60,0,60,0,60,0,1,216,141,221,60,0,1,216,181,221,60,0,60,0,60,0,1,216,142,221,60,0,1,216,182,221,60,0,60,0,60,0,1,216,143,221,60,0,1,216,183,221,60,0,60,0,60,0,1,216,144,221,60,0,1,216,184,221,60,0,60,0,60,0,1,216,145,221,60,0,1,216,185,221,60,0,60,0,60,0,1,216,146,221,60,0,1,216,187,221,60,0,60,0,60,0,1,216,148,221,60,0,1,216,188,221,60,0,60,0,60,0,1,216,149,221,60,0,4,216,208,220,60,0,4,216,209,220,60,0,4,216,210,220,60,0,4,216,211,220,60,0,4,216,212,220,60,0,4,216,213,220,60,0,4,216,214,220,60,0,4,216,215,220,60,0,4,216,216,220,60,0,4,216,217,220,60,0,4,216,218,220,60,0,4,216,219,220,60,0,4,216,220,220,60,0,4,216,221,220,60,0,4,216,222,220,60,0,4,216,223,220,60,0,4,216,224,220,60,0,4,216,225,220,60,0,4,216,226,220,60,0,4,216,227,220,60,0,4,216,228,220,60,0,4,216,229,220,60,0,4,216,230,220,60,0,4,216,231,220,60,0,4,216,232,220,60,0,26,216,64,222,60,0,26,216,65,222,60,0,26,216,66,222,60,0,26,216,67,222,60,0,26,216,68,222,60,0,26,216,69,222,60,0,26,216,70,222,60,0,26,216,71,222,60,0,26,216,72,222,60,0,26,216,73,222,60,0,26,216,74,222,60,0,26,216,75,222,60,0,26,216,76,222,60,0,26,216,77,222,60,0,26,216,78,222,60,0,26,216,79,222,60,0,26,216,80,222,60,0,26,216,81,222,60,0,26,216,82,222,60,0,26,216,83,222,60,0,26,216,84,222,60,0,26,216,85,222,60,0,26,216,86,222,60,0,26,216,87,222,60,0,26,216,88,222,60,0,26,216,89,222,60,0,26,216,90,222,60,0,26,216,91,222,60,0,26,216,92,222,60,0,26,216,93,222,60,0,26,216,94,222,60,0,26,216,112,222,60,0,26,216,113,222,60,0,26,216,114,222,60,0,26,216,115,222,60,0,26,216,116,222,60,0,26,216,117,222,60,0,26,216,118,222,60,0,26,216,119,222,60,0,26,216,120,222,60,0,26,216,121,222,60,0,26,216,122,222,60,0,26,216,123,222,60,0,26,216,124,222,60,0,26,216,125,222,60,0,26,216,126,222,60,0,26,216,127,222,60,0,26,216,128,222,60,0,26,216,129,222,60,0,26,216,130,222,60,0,26,216,131,222,60,0,26,216,132,222,60,0,26,216,133,222,60,0,26,216,134,222,60,0,26,216,135,222,60,0,26,216,136,222,60,0,26,216,137,222,60,0,26,216,138,222,60,0,26,216,139,222,60,0,26,216,140,222,60,0,26,216,141,222,60,0,26,216,142,222,60,0,26,216,143,222,60,0,26,216,144,222,60,0,26,216,145,222,60,0,26,216,146,222,60,0,26,216,147,222,60,0,26,216,148,222,60,0,26,216,149,222,60,0,26,216,150,222,60,0,26,216,151,222,60,0,26,216,152,222,60,0,26,216,153,222,60,0,26,216,154,222,60,0,26,216,155,222,60,0,26,216,156,222,60,0,26,216,157,222,60,0,26,216,158,222,60,0,26,216,159,222,60,0,26,216,160,222,60,0,26,216,161,222,60,0,26,216,162,222,60,0,26,216,163,222,60,0,26,216,164,222,60,0,26,216,165,222,60,0,26,216,166,222,60,0,26,216,167,222,60,0,26,216,168,222,60,0,26,216,169,222,60,0,26,216,170,222,60,0,26,216,171,222,60,0,26,216,172,222,60,0,26,216,173,222,60,0,26,216,174,222,60,0,26,216,175,222,60,0,26,216,176,222,60,0,26,216,177,222,60,0,26,216,178,222,60,0,26,216,179,222,60,0,26,216,180,222,60,0,26,216,181,222,60,0,26,216,182,222,60,0,26,216,183,222,60,0,26,216,184,222,60,0,26,216,185,222,60,0,26,216,186,222,60,0,26,216,187,222,60,0,26,216,188,222,60,0,26,216,189,222,60,0,26,216,190,222,60,0,0,216,0,220,60,0,0,216,1,220,60,0,0,216,2,220,60,0,0,216,3,220,60,0,0,216,4,220,60,0,0,216,5,220,60,0,0,216,6,220,60,0,0,216,7,220,60,0,0,216,8,220,60,0,0,216,9,220,60,0,0,216,10,220,60,0,0,216,11,220,60,0,0,216,13,220,60,0,0,216,14,220,60,0,0,216,15,220,60,0,0,216,16,220,60,0,0,216,17,220,60,0,0,216,18,220,60,0,0,216,19,220,60,0,0,216,20,220,60,0,0,216,21,220,60,0,0,216,22,220,60,0,0,216,23,220,60,0,0,216,24,220,60,0,0,216,25,220,60,0,0,216,26,220,60,0,0,216,27,220,60,0,0,216,28,220,60,0,0,216,29,220,60,0,0,216,30,220,60,0,0,216,31,220,60,0,0,216,32,220,60,0,0,216,33,220,60,0,0,216,34,220,60,0,0,216,35,220,60,0,0,216,36,220,60,0,0,216,37,220,60,0,0,216,38,220,60,0,0,216,40,220,60,0,0,216,41,220,60,0,0,216,42,220,60,0,0,216,43,220,60,0,0,216,44,220,60,0,0,216,45,220,60,0,0,216,46,220,60,0,0,216,47,220,60,0,0,216,48,220,60,0,0,216,49,220,60,0,0,216,50,220,60,0,0,216,51,220,60,0,0,216,52,220,60,0,0,216,53,220,60,0,0,216,54,220,60,0,0,216,55,220,60,0,0,216,56,220,60,0,0,216,57,220,60,0,0,216,58,220,60,0,0,216,60,220,60,0,0,216,61,220,60,0,0,216,63,220,60,0,0,216,64,220,60,0,0,216,65,220,60,0,0,216,66,220,60,0,0,216,67,220,60,0,0,216,68,220,60,0,0,216,69,220,60,0,0,216,70,220,60,0,0,216,71,220,60,0,0,216,72,220,60,0,0,216,73,220,60,0,0,216,74,220,60,0,0,216,75,220,60,0,0,216,76,220,60,0,0,216,77,220,60,0,0,216,80,220,60,0,0,216,81,220,60,0,0,216,82,220,60,0,0,216,83,220,60,0,0,216,84,220,60,0,0,216,85,220,60,0,0,216,86,220,60,0,0,216,87,220,60,0,0,216,88,220,60,0,0,216,89,220,60,0,0,216,90,220,60,0,0,216,91,220,60,0,0,216,92,220,60,0,0,216,93,220,60,0,0,216,128,220,60,0,0,216,129,220,60,0,0,216,130,220,60,0,0,216,131,220,60,0,0,216,132,220,60,0,0,216,133,220,60,0,0,216,134,220,60,0,0,216,135,220,60,0,0,216,136,220,60,0,0,216,137,220,60,0,0,216,138,220,60,0,0,216,139,220,60,0,0,216,140,220,60,0,0,216,141,220,60,0,0,216,142,220,60,0,0,216,143,220,60,0,0,216,144,220,60,0,0,216,145,220,60,0,0,216,146,220,60,0,0,216,147,220,60,0,0,216,148,220,60,0,0,216,149,220,60,0,0,216,150,220,60,0,0,216,151,220,60,0,0,216,152,220,60,0,0,216,153,220,60,0,0,216,154,220,60,0,0,216,155,220,60,0,0,216,156,220,60,0,0,216,157,220,60,0,0,216,158,220,60,0,0,216,159,220,60,0,0,216,160,220,60,0,0,216,161,220,60,0,0,216,162,220,60,0,0,216,163,220,60,0,0,216,164,220,60,0,0,216,165,220,60,0,0,216,166,220,60,0,0,216,167,220,60,0,0,216,168,220,60,0,0,216,169,220,60,0,0,216,170,220,60,0,0,216,171,220,60,0,0,216,172,220,60,0,0,216,173,220,60,0,0,216,174,220,60,0,0,216,175,220,60,0,0,216,176,220,60,0,0,216,177,220,60,0,0,216,178,220,60,0,0,216,179,220,60,0,0,216,180,220,60,0,0,216,181,220,60,0,0,216,182,220,60,0,0,216,183,220,60,0,0,216,184,220,60,0,0,216,185,220,60,0,0,216,186,220,60,0,0,216,187,220,60,0,0,216,188,220,60,0,0,216,189,220,60,0,0,216,190,220,60,0,0,216,191,220,60,0,0,216,192,220,60,0,0,216,193,220,60,0,0,216,194,220,60,0,0,216,195,220,60,0,0,216,196,220,60,0,0,216,197,220,60,0,0,216,198,220,60,0,0,216,199,220,60,0,0,216,200,220,60,0,0,216,201,220,60,0,0,216,202,220,60,0,0,216,203,220,60,0,0,216,204,220,60,0,0,216,205,220,60,0,0,216,206,220,60,0,0,216,207,220,60,0,0,216,208,220,60,0,0,216,209,220,60,0,0,216,210,220,60,0,0,216,211,220,60,0,0,216,212,220,60,0,0,216,213,220,60,0,0,216,214,220,60,0,0,216,215,220,60,0,0,216,216,220,60,0,0,216,217,220,60,0,0,216,218,220,60,0,0,216,219,220,60,0,0,216,220,220,60,0,0,216,221,220,60,0,0,216,222,220,60,0,0,216,223,220,60,0,0,216,224,220,60,0,0,216,225,220,60,0,0,216,226,220,60,0,0,216,227,220,60,0,0,216,228,220,60,0,0,216,229,220,60,0,0,216,230,220,60,0,0,216,231,220,60,0,0,216,232,220,60,0,0,216,233,220,60,0,0,216,234,220,60,0,0,216,235,220,60,0,0,216,236,220,60,0,0,216,237,220,60,0,0,216,238,220,60,0,0,216,239,220,60,0,0,216,240,220,60,0,0,216,241,220,60,0,0,216,242,220,60,0,0,216,243,220,60,0,0,216,244,220,60,0,0,216,245,220,60,0,0,216,246,220,60,0,0,216,247,220,60,0,0,216,248,220,60,0,0,216,249,220,60,0,0,216,250,220,60,0,1,216,0,222,60,0,1,216,1,222,60,0,1,216,2,222,60,0,1,216,3,222,60,0,1,216,4,222,60,0,1,216,5,222,60,0,1,216,6,222,60,0,1,216,7,222,60,0,1,216,8,222,60,0,1,216,9,222,60,0,1,216,10,222,60,0,1,216,11,222,60,0,1,216,12,222,60,0,1,216,13,222,60,0,1,216,14,222,60,0,1,216,15,222,60,0,1,216,16,222,60,0,1,216,17,222,60,0,1,216,18,222,60,0,1,216,19,222,60,0,1,216,20,222,60,0,1,216,21,222,60,0,1,216,22,222,60,0,1,216,23,222,60,0,1,216,24,222,60,0,1,216,25,222,60,0,1,216,26,222,60,0,1,216,27,222,60,0,1,216,28,222,60,0,1,216,29,222,60,0,1,216,30,222,60,0,1,216,31,222,60,0,1,216,32,222,60,0,1,216,33,222,60,0,1,216,34,222,60,0,1,216,35,222,60,0,1,216,36,222,60,0,1,216,37,222,60,0,1,216,38,222,60,0,1,216,39,222,60,0,1,216,40,222,60,0,1,216,41,222,60,0,1,216,42,222,60,0,1,216,43,222,60,0,1,216,44,222,60,0,1,216,45,222,60,0,1,216,46,222,60,0,1,216,47,222,60,0,1,216,48,222,60,0,1,216,49,222,60,0,1,216,50,222,60,0,1,216,51,222,60,0,1,216,52,222,60,0,1,216,53,222,60,0,1,216,54,222,60,0,1,216,55,222,60,0,1,216,56,222,60,0,1,216,57,222,60,0,1,216,58,222,60,0,1,216,59,222,60,0,1,216,60,222,60,0,1,216,61,222,60,0,1,216,62,222,60,0,1,216,63,222,60,0,1,216,64,222,60,0,1,216,65,222,60,0,1,216,66,222,60,0,1,216,67,222,60,0,1,216,68,222,60,0,1,216,69,222,60,0,1,216,70,222,60,0,1,216,71,222,60,0,1,216,72,222,60,0,1,216,73,222,60,0,1,216,74,222,60,0,1,216,75,222,60,0,1,216,76,222,60,0,1,216,77,222,60,0,1,216,78,222,60,0,1,216,79,222,60,0,1,216,80,222,60,0,1,216,81,222,60,0,1,216,82,222,60,0,1,216,83,222,60,0,1,216,84,222,60,0,1,216,85,222,60,0,1,216,86,222,60,0,1,216,87,222,60,0,1,216,88,222,60,0,1,216,89,222,60,0,1,216,90,222,60,0,1,216,91,222,60,0,1,216,92,222,60,0,1,216,93,222,60,0,1,216,94,222,60,0,1,216,95,222,60,0,1,216,96,222,60,0,1,216,97,222,60,0,1,216,98,222,60,0,1,216,99,222,60,0,1,216,100,222,60,0,1,216,101,222,60,0,1,216,102,222,60,0,1,216,103,222,60,0,1,216,104,222,60,0,1,216,105,222,60,0,1,216,106,222,60,0,1,216,107,222,60,0,1,216,108,222,60,0,1,216,109,222,60,0,1,216,110,222,60,0,1,216,111,222,60,0,1,216,112,222,60,0,1,216,113,222,60,0,1,216,114,222,60,0,1,216,115,222,60,0,1,216,116,222,60,0,1,216,117,222,60,0,1,216,118,222,60,0,1,216,119,222,60,0,1,216,120,222,60,0,1,216,121,222,60,0,1,216,122,222,60,0,1,216,123,222,60,0,1,216,124,222,60,0,1,216,125,222,60,0,1,216,126,222,60,0,1,216,127,222,60,0,1,216,128,222,60,0,1,216,129,222,60,0,1,216,130,222,60,0,1,216,131,222,60,0,1,216,132,222,60,0,1,216,133,222,60,0,1,216,134,222,60,0,1,216,135,222,60,0,1,216,136,222,60,0,1,216,137,222,60,0,1,216,138,222,60,0,1,216,139,222,60,0,1,216,140,222,60,0,1,216,141,222,60,0,1,216,142,222,60,0,1,216,143,222,60,0,1,216,144,222,60,0,1,216,145,222,60,0,1,216,146,222,60,0,1,216,147,222,60,0,1,216,148,222,60,0,1,216,149,222,60,0,1,216,150,222,60,0,1,216,151,222,60,0,1,216,152,222,60,0,1,216,153,222,60,0,1,216,154,222,60,0,1,216,155,222,60,0,1,216,156,222,60,0,1,216,157,222,60,0,1,216,158,222,60,0,1,216,159,222,60,0,1,216,160,222,60,0,1,216,161,222,60,0,1,216,162,222,60,0,1,216,163,222,60,0,1,216,164,222,60,0,1,216,165,222,60,0,1,216,166,222,60,0,1,216,167,222,60,0,1,216,168,222,60,0,1,216,169,222,60,0,1,216,170,222,60,0,1,216,171,222,60,0,1,216,172,222,60,0,1,216,173,222,60,0,1,216,174,222,60,0,1,216,175,222,60,0,1,216,176,222,60,0,1,216,177,222,60,0,1,216,178,222,60,0,1,216,179,222,60,0,1,216,180,222,60,0,1,216,181,222,60,0,1,216,182,222,60,0,1,216,183,222,60,0,1,216,184,222,60,0,1,216,185,222,60,0,1,216,186,222,60,0,1,216,187,222,60,0,1,216,188,222,60,0,1,216,189,222,60,0,1,216,190,222,60,0,1,216,191,222,60,0,1,216,192,222,60,0,1,216,193,222,60,0,1,216,194,222,60,0,1,216,195,222,60,0,1,216,196,222,60,0,1,216,197,222,60,0,1,216,198,222,60,0,1,216,199,222,60,0,1,216,200,222,60,0,1,216,201,222,60,0,1,216,202,222,60,0,1,216,203,222,60,0,1,216,204,222,60,0,1,216,205,222,60,0,1,216,206,222,60,0,1,216,207,222,60,0,1,216,208,222,60,0,1,216,209,222,60,0,1,216,210,222,60,0,1,216,211,222,60,0,1,216,212,222,60,0,1,216,213,222,60,0,1,216,214,222,60,0,1,216,215,222,60,0,1,216,216,222,60,0,1,216,217,222,60,0,1,216,218,222,60,0,1,216,219,222,60,0,1,216,220,222,60,0,1,216,221,222,60,0,1,216,222,222,60,0,1,216,223,222,60,0,1,216,224,222,60,0,1,216,225,222,60,0,1,216,226,222,60,0,1,216,227,222,60,0,1,216,228,222,60,0,1,216,229,222,60,0,1,216,230,222,60,0,1,216,231,222,60,0,1,216,232,222,60,0,1,216,233,222,60,0,1,216,234,222,60,0,1,216,235,222,60,0,1,216,236,222,60,0,1,216,237,222,60,0,1,216,238,222,60,0,1,216,239,222,60,0,1,216,240,222,60,0,1,216,241,222,60,0,1,216,242,222,60,0,1,216,243,222,60,0,1,216,244,222,60,0,1,216,245,222,60,0,1,216,246,222,60,0,1,216,247,222,60,0,1,216,248,222,60,0,1,216,249,222,60,0,1,216,250,222,60,0,1,216,251,222,60,0,1,216,252,222,60,0,1,216,253,222,60,0,1,216,254,222,60,0,1,216,255,222,60,0,1,216,0,223,60,0,1,216,1,223,60,0,1,216,2,223,60,0,1,216,3,223,60,0,1,216,4,223,60,0,1,216,5,223,60,0,1,216,6,223,60,0,1,216,7,223,60,0,1,216,8,223,60,0,1,216,9,223,60,0,1,216,10,223,60,0,1,216,11,223,60,0,1,216,12,223,60,0,1,216,13,223,60,0,1,216,14,223,60,0,1,216,15,223,60,0,1,216,16,223,60,0,1,216,17,223,60,0,1,216,18,223,60,0,1,216,19,223,60,0,1,216,20,223,60,0,1,216,21,223,60,0,1,216,22,223,60,0,1,216,23,223,60,0,1,216,24,223,60,0,1,216,25,223,60,0,1,216,26,223,60,0,1,216,27,223,60,0,1,216,28,223,60,0,1,216,29,223,60,0,1,216,30,223,60,0,1,216,31,223,60,0,1,216,32,223,60,0,1,216,33,223,60,0,1,216,34,223,60,0,1,216,35,223,60,0,1,216,36,223,60,0,1,216,37,223,60,0,1,216,38,223,60,0,1,216,39,223,60,0,1,216,40,223,60,0,1,216,41,223,60,0,1,216,42,223,60,0,1,216,43,223,60,0,1,216,44,223,60,0,1,216,45,223,60,0,1,216,46,223,60,0,1,216,47,223,60,0,1,216,48,223,60,0,1,216,49,223,60,0,1,216,50,223,60,0,1,216,51,223,60,0,1,216,52,223,60,0,1,216,53,223,60,0,1,216,54,223,60,0,1,216,64,223,60,0,1,216,65,223,60,0,1,216,66,223,60,0,1,216,67,223,60,0,1,216,68,223,60,0,1,216,69,223,60,0,1,216,70,223,60,0,1,216,71,223,60,0,1,216,72,223,60,0,1,216,73,223,60,0,1,216,74,223,60,0,1,216,75,223,60,0,1,216,76,223,60,0,1,216,77,223,60,0,1,216,78,223,60,0,1,216,79,223,60,0,1,216,80,223,60,0,1,216,81,223,60,0,1,216,82,223,60,0,1,216,83,223,60,0,1,216,84,223,60,0,1,216,85,223,60,0,1,216,96,223,60,0,1,216,97,223,60,0,1,216,98,223,60,0,1,216,99,223,60,0,1,216,100,223,60,0,1,216,101,223,60,0,1,216,102,223,60,0,1,216,103,223,60,0,14,32,2,216,0,220,14,32,60,0,14,32,2,216,1,220,14,32,60,0,14,32,2,216,2,220,14,32,60,0,14,32,2,216,3,220,14,32,60,0,14,32,2,216,4,220,14,32,60,0,14,32,2,216,5,220,14,32,60,0,14,32,2,216,8,220,14,32,60,0,14,32,2,216,10,220,14,32,60,0,14,32,2,216,11,220,14,32,60,0,14,32,2,216,12,220,14,32,60,0,14,32,2,216,13,220,14,32,60,0,14,32,2,216,14,220,14,32,60,0,14,32,2,216,15,220,14,32,60,0,14,32,2,216,16,220,14,32,60,0,14,32,2,216,17,220,14,32,60,0,14,32,2,216,18,220,14,32,60,0,14,32,2,216,19,220,14,32,60,0,14,32,2,216,20,220,14,32,60,0,14,32,2,216,21,220,14,32,60,0,14,32,2,216,22,220,14,32,60,0,14,32,2,216,23,220,14,32,60,0,14,32,2,216,24,220,14,32,60,0,14,32,2,216,25,220,14,32,60,0,14,32,2,216,26,220,14,32,60,0,14,32,2,216,27,220,14,32,60,0,14,32,2,216,28,220,14,32,60,0,14,32,2,216,29,220,14,32,60,0,14,32,2,216,30,220,14,32,60,0,14,32,2,216,31,220,14,32,60,0,14,32,2,216,32,220,14,32,60,0,14,32,2,216,33,220,14,32,60,0,14,32,2,216,34,220,14,32,60,0,14,32,2,216,35,220,14,32,60,0,14,32,2,216,36,220,14,32,60,0,14,32,2,216,37,220,14,32,60,0,14,32,2,216,38,220,14,32,60,0,14,32,2,216,39,220,14,32,60,0,14,32,2,216,40,220,14,32,60,0,14,32,2,216,41,220,14,32,60,0,14,32,2,216,42,220,14,32,60,0,14,32,2,216,43,220,14,32,60,0,14,32,2,216,44,220,14,32,60,0,14,32,2,216,45,220,14,32,60,0,14,32,2,216,46,220,14,32,60,0,14,32,2,216,47,220,14,32,60,0,14,32,2,216,48,220,14,32,60,0,14,32,2,216,49,220,14,32,60,0,14,32,2,216,50,220,14,32,60,0,14,32,2,216,51,220,14,32,60,0,14,32,2,216,52,220,14,32,60,0,14,32,2,216,53,220,14,32,60,0,14,32,2,216,55,220,14,32,60,0,14,32,2,216,56,220,14,32,60,0,14,32,2,216,60,220,14,32,60,0,14,32,2,216,63,220,14,32,60,0,11,216,144,223,60,0,11,216,145,223,60,0,11,216,146,223,60,0,11,216,147,223,60,0,11,216,148,223,60,0,11,216,149,223,60,0,11,216,150,223,60,0,11,216,151,223,60,0,11,216,152,223,60,0,11,216,153,223,60,0,11,216,154,223,60,0,11,216,155,223,60,0,11,216,156,223,60,0,11,216,157,223,60,0,11,216,158,223,60,0,11,216,159,223,60,0,11,216,160,223,60,0,11,216,161,223,60,0,11,216,162,223,60,0,11,216,163,223,60,0,11,216,164,223,60,0,11,216,165,223,60,0,11,216,166,223,60,0,11,216,167,223,60,0,11,216,168,223,60,0,11,216,169,223,60,0,11,216,170,223,60,0,11,216,171,223,60,0,11,216,172,223,60,0,11,216,173,223,60,0,11,216,174,223,60,0,11,216,175,223,60,0,11,216,176,223,60,0,11,216,177,223,60,0,11,216,178,223,60,0,11,216,179,223,60,0,11,216,180,223,60,0,11,216,181,223,60,0,11,216,182,223,60,0,11,216,183,223,60,0,11,216,184,223,60,0,11,216,185,223,60,0,11,216,186,223,60,0,11,216,187,223,60,0,11,216,188,223,60,0,11,216,189,223,60,0,11,216,190,223,60,0,11,216,191,223,60,0,11,216,192,223,60,0,11,216,193,223,60,0,11,216,194,223,60,0,11,216,195,223,60,0,11,216,196,223,60,0,11,216,197,223,60,0,11,216,198,223,60,0,11,216,199,223,60,0,11,216,200,223,60,0,11,216,201,223,60,0,11,216,202,223,60,0,11,216,203,223,60,0,11,216,204,223,60,0,11,216,205,223,60,0,11,216,206,223,60,0,11,216,207,223,60,0,11,216,208,223,60,0,11,216,209,223,60,0,11,216,210,223,60,0,11,216,211,223,60,0,11,216,212,223,60,0,11,216,213,223,60,0,11,216,214,223,60,0,11,216,215,223,60,0,11,216,216,223,60,0,11,216,217,223,60,0,11,216,218,223,60,0,11,216,219,223,60,0,11,216,220,223,60,0,11,216,221,223,60,0,11,216,222,223,60,0,11,216,223,223,60,0,11,216,224,223,60,0,11,216,225,223,60,0,11,216,226,223,60,0,11,216,227,223,60,0,11,216,228,223,60,0,11,216,229,223,60,0,11,216,230,223,60,0,11,216,231,223,60,0,11,216,232,223,60,0,11,216,233,223,60,0,11,216,234,223,60,0,11,216,235,223,60,0,11,216,236,223,60,0,11,216,237,223,60,0,11,216,238,223,60,0,11,216,239,223,60,0,11,216,240,223,60,0,14,32,2,216,96,222,14,32,60,0,14,32,2,216,97,222,14,32,60,0,14,32,2,216,98,222,14,32,60,0,14,32,2,216,99,222,14,32,60,0,14,32,2,216,100,222,14,32,60,0,14,32,2,216,101,222,14,32,60,0,14,32,2,216,102,222,14,32,60,0,14,32,2,216,103,222,14,32,60,0,14,32,2,216,104,222,14,32,60,0,14,32,2,216,105,222,14,32,60,0,14,32,2,216,106,222,14,32,60,0,14,32,2,216,107,222,14,32,60,0,14,32,2,216,108,222,14,32,60,0,14,32,2,216,109,222,14,32,60,0,14,32,2,216,110,222,14,32,60,0,14,32,2,216,111,222,14,32,60,0,14,32,2,216,112,222,14,32,60,0,14,32,2,216,113,222,14,32,60,0,14,32,2,216,114,222,14,32,60,0,14,32,2,216,115,222,14,32,60,0,14,32,2,216,116,222,14,32,60,0,14,32,2,216,117,222,14,32,60,0,14,32,2,216,118,222,14,32,60,0,14,32,2,216,119,222,14,32,60,0,14,32,2,216,120,222,14,32,60,0,14,32,2,216,121,222,14,32,60,0,14,32,2,216,122,222,14,32,60,0,14,32,2,216,123,222,14,32,60,0,14,32,2,216,124,222,14,32,60,0,14,32,2,216,128,222,14,32,60,0,14,32,2,216,129,222,14,32,60,0,14,32,2,216,130,222,14,32,60,0,14,32,2,216,131,222,14,32,60,0,14,32,2,216,132,222,14,32,60,0,14,32,2,216,133,222,14,32,60,0,14,32,2,216,134,222,14,32,60,0,14,32,2,216,135,222,14,32,60,0,14,32,2,216,136,222,14,32,60,0,14,32,2,216,137,222,14,32,60,0,14,32,2,216,138,222,14,32,60,0,14,32,2,216,139,222,14,32,60,0,14,32,2,216,140,222,14,32,60,0,14,32,2,216,141,222,14,32,60,0,14,32,2,216,142,222,14,32,60,0,14,32,2,216,143,222,14,32,60,0,14,32,2,216,144,222,14,32,60,0,14,32,2,216,145,222,14,32,60,0,14,32,2,216,146,222,14,32,60,0,14,32,2,216,147,222,14,32,60,0,14,32,2,216,148,222,14,32,60,0,14,32,2,216,149,222,14,32,60,0,14,32,2,216,150,222,14,32,60,0,14,32,2,216,151,222,14,32,60,0,14,32,2,216,152,222,14,32,60,0,14,32,2,216,153,222,14,32,60,0,14,32,2,216,154,222,14,32,60,0,14,32,2,216,155,222,14,32,60,0,14,32,2,216,156,222,14,32,60,0,14,32,2,216,0,223,14,32,60,0,14,32,2,216,1,223,14,32,60,0,14,32,2,216,2,223,14,32,60,0,14,32,2,216,3,223,14,32,60,0,14,32,2,216,4,223,14,32,60,0,14,32,2,216,5,223,14,32,60,0,14,32,2,216,6,223,14,32,60,0,14,32,2,216,7,223,14,32,60,0,14,32,2,216,8,223,14,32,60,0,14,32,2,216,9,223,14,32,60,0,14,32,2,216,10,223,14,32,60,0,14,32,2,216,11,223,14,32,60,0,14,32,2,216,12,223,14,32,60,0,14,32,2,216,13,223,14,32,60,0,14,32,2,216,14,223,14,32,60,0,14,32,2,216,15,223,14,32,60,0,14,32,2,216,16,223,14,32,60,0,14,32,2,216,17,223,14,32,60,0,14,32,2,216,18,223,14,32,60,0,14,32,2,216,19,223,14,32,60,0,14,32,2,216,20,223,14,32,60,0,14,32,2,216,21,223,14,32,60,0,14,32,2,216,22,223,14,32,60,0,14,32,2,216,23,223,14,32,60,0,14,32,2,216,24,223,14,32,60,0,14,32,2,216,25,223,14,32,60,0,14,32,2,216,26,223,14,32,60,0,14,32,2,216,27,223,14,32,60,0,14,32,2,216,28,223,14,32,60,0,14,32,2,216,29,223,14,32,60,0,14,32,2,216,30,223,14,32,60,0,14,32,2,216,31,223,14,32,60,0,14,32,2,216,32,223,14,32,60,0,14,32,2,216,33,223,14,32,60,0,14,32,2,216,34,223,14,32,60,0,14,32,2,216,35,223,14,32,60,0,14,32,2,216,36,223,14,32,60,0,14,32,2,216,37,223,14,32,60,0,14,32,2,216,38,223,14,32,60,0,14,32,2,216,39,223,14,32,60,0,14,32,2,216,40,223,14,32,60,0,14,32,2,216,41,223,14,32,60,0,14,32,2,216,42,223,14,32,60,0,14,32,2,216,43,223,14,32,60,0,14,32,2,216,44,223,14,32,60,0,14,32,2,216,45,223,14,32,60,0,60,0,14,32,2,216,46,223,14,32,60,0,14,32,2,216,47,223,14,32,60,0,14,32,2,216,48,223,14,32,60,0,14,32,2,216,49,223,14,32,60,0,14,32,2,216,50,223,14,32,60,0,14,32,2,216,51,223,14,32,60,0,14,32,2,216,52,223,14,32,60,0,14,32,2,216,53,223,14,32,60,0,14,32,2,216,96,220,14,32,60,0,14,32,2,216,97,220,14,32,60,0,14,32,2,216,98,220,14,32,60,0,14,32,2,216,99,220,14,32,60,0,14,32,2,216,100,220,14,32,60,0,14,32,2,216,101,220,14,32,60,0,14,32,2,216,102,220,14,32,60,0,14,32,2,216,103,220,14,32,60,0,14,32,2,216,104,220,14,32,60,0,14,32,2,216,105,220,14,32,60,0,14,32,2,216,106,220,14,32,60,0,14,32,2,216,107,220,14,32,60,0,14,32,2,216,108,220,14,32,60,0,14,32,2,216,110,220,14,32,60,0,60,0,60,0,14,32,2,216,109,220,14,32,60,0,14,32,2,216,111,220,14,32,60,0,14,32,2,216,112,220,14,32,60,0,14,32,2,216,113,220,14,32,60,0,14,32,2,216,114,220,14,32,60,0,14,32,2,216,115,220,14,32,60,0,14,32,2,216,116,220,14,32,60,0,14,32,2,216,117,220,14,32,60,0,14,32,2,216,118,220,14,32,60,0,14,32,2,216,129,220,14,32,60,0,60,0,60,0,14,32,2,216,128,220,14,32,60,0,14,32,2,216,131,220,14,32,60,0,60,0,60,0,14,32,2,216,130,220,14,32,60,0,14,32,2,216,132,220,14,32,60,0,14,32,2,216,133,220,14,32,60,0,14,32,2,216,135,220,14,32,60,0,60,0,60,0,14,32,2,216,134,220,14,32,60,0,14,32,2,216,136,220,14,32,60,0,14,32,2,216,137,220,14,32,60,0,14,32,2,216,138,220,14,32,60,0,14,32,2,216,139,220,14,32,60,0,14,32,2,216,141,220,14,32,60,0,60,0,60,0,14,32,2,216,140,220,14,32,60,0,14,32,2,216,143,220,14,32,60,0,60,0,60,0,14,32,2,216,142,220,14,32,60,0,14,32,2,216,145,220,14,32,60,0,60,0,60,0,14,32,2,216,144,220,14,32,60,0,14,32,2,216,147,220,14,32,60,0,60,0,60,0,14,32,2,216,146,220,14,32,60,0,14,32,2,216,149,220,14,32,60,0,60,0,60,0,14,32,2,216,148,220,14,32,60,0,14,32,2,216,150,220,14,32,60,0,14,32,2,216,151,220,14,32,60,0,14,32,2,216,152,220,14,32,60,0,14,32,2,216,153,220,14,32,60,0,14,32,2,216,154,220,14,32,60,0,14,32,2,216,155,220,14,32,60,0,14,32,2,216,157,220,14,32,60,0,60,0,60,0,14,32,2,216,156,220,14,32,60,0,14,32,2,216,158,220,14,32,60,0,14,32,2,216,224,220,14,32,60,0,14,32,2,216,225,220,14,32,60,0,14,32,2,216,226,220,14,32,60,0,14,32,2,216,227,220,14,32,60,0,14,32,2,216,228,220,14,32,60,0,14,32,2,216,229,220,14,32,60,0,14,32,2,216,230,220,14,32,60,0,14,32,2,216,231,220,14,32,60,0,14,32,2,216,232,220,14,32,60,0,14,32,2,216,233,220,14,32,60,0,14,32,2,216,234,220,14,32,60,0,14,32,2,216,235,220,14,32,60,0,14,32,2,216,236,220,14,32,60,0,14,32,2,216,237,220,14,32,60,0,14,32,2,216,238,220,14,32,60,0,14,32,2,216,239,220,14,32,60,0,14,32,2,216,240,220,14,32,60,0,14,32,2,216,241,220,14,32,60,0,14,32,2,216,242,220,14,32,60,0,14,32,2,216,244,220,14,32,60,0,14,32,2,216,245,220,14,32,60,0,14,32,2,216,64,220,14,32,60,0,14,32,2,216,65,220,14,32,60,0,14,32,2,216,66,220,14,32,60,0,14,32,2,216,67,220,14,32,60,0,14,32,2,216,68,220,14,32,60,0,14,32,2,216,69,220,14,32,60,0,14,32,2,216,70,220,14,32,60,0,14,32,2,216,71,220,14,32,60,0,14,32,2,216,72,220,14,32,60,0,14,32,2,216,73,220,14,32,60,0,14,32,2,216,74,220,14,32,60,0,14,32,2,216,75,220,14,32,60,0,14,32,2,216,76,220,14,32,60,0,14,32,2,216,77,220,14,32,60,0,14,32,2,216,78,220,14,32,60,0,14,32,2,216,79,220,14,32,60,0,14,32,2,216,80,220,14,32,60,0,14,32,2,216,81,220,14,32,60,0,14,32,2,216,82,220,14,32,60,0,14,32,2,216,83,220,14,32,60,0,14,32,2,216,84,220,14,32,60,0,14,32,2,216,85,220,14,32,60,0,14,32,2,216,64,223,14,32,60,0,14,32,2,216,65,223,14,32,60,0,14,32,2,216,66,223,14,32,60,0,14,32,2,216,67,223,14,32,60,0,14,32,2,216,68,223,14,32,60,0,14,32,2,216,69,223,14,32,60,0,14,32,2,216,70,223,14,32,60,0,14,32,2,216,71,223,14,32,60,0,14,32,2,216,72,223,14,32,60,0,14,32,2,216,73,223,14,32,60,0,14,32,2,216,74,223,14,32,60,0,14,32,2,216,75,223,14,32,60,0,14,32,2,216,76,223,14,32,60,0,14,32,2,216,77,223,14,32,60,0,14,32,2,216,78,223,14,32,60,0,14,32,2,216,79,223,14,32,60,0,14,32,2,216,80,223,14,32,60,0,14,32,2,216,81,223,14,32,60,0,14,32,2,216,82,223,14,32,60,0,14,32,2,216,83,223,14,32,60,0,14,32,2,216,84,223,14,32,60,0,14,32,2,216,85,223,14,32,60,0,14,32,2,216,96,223,14,32,60,0,14,32,2,216,97,223,14,32,60,0,14,32,2,216,98,223,14,32,60,0,14,32,2,216,99,223,14,32,60,0,14,32,2,216,100,223,14,32,60,0,14,32,2,216,101,223,14,32,60,0,14,32,2,216,102,223,14,32,60,0,14,32,2,216,103,223,14,32,60,0,14,32,2,216,104,223,14,32,60,0,14,32,2,216,105,223,14,32,60,0,14,32,2,216,106,223,14,32,60,0,14,32,2,216,107,223,14,32,60,0,14,32,2,216,108,223,14,32,60,0,14,32,2,216,109,223,14,32,60,0,14,32,2,216,110,223,14,32,60,0,14,32,2,216,111,223,14,32,60,0,14,32,2,216,112,223,14,32,60,0,14,32,2,216,113,223,14,32,60,0,14,32,2,216,114,223,14,32,60,0,14,32,2,216,128,223,14,32,60,0,14,32,2,216,129,223,14,32,60,0,14,32,2,216,130,223,14,32,60,0,14,32,2,216,131,223,14,32,60,0,14,32,2,216,132,223,14,32,60,0,14,32,2,216,133,223,14,32,60,0,14,32,2,216,134,223,14,32,60,0,14,32,2,216,135,223,14,32,60,0,14,32,2,216,136,223,14,32,60,0,14,32,2,216,137,223,14,32,60,0,14,32,2,216,138,223,14,32,60,0,14,32,2,216,139,223,14,32,60,0,14,32,2,216,140,223,14,32,60,0,14,32,2,216,141,223,14,32,60,0,14,32,2,216,142,223,14,32,60,0,14,32,2,216,143,223,14,32,60,0,14,32,2,216,144,223,14,32,60,0,14,32,2,216,145,223,14,32,60,0,14,32,3,216,224,223,14,32,60,0,14,32,3,216,225,223,14,32,60,0,14,32,3,216,226,223,14,32,60,0,14,32,3,216,227,223,14,32,60,0,14,32,3,216,228,223,14,32,60,0,14,32,3,216,229,223,14,32,60,0,14,32,3,216,230,223,14,32,60,0,60,0,60,0,14,32,3,216,246,223,14,32,47,0,14,32,3,216,233,223,14,32,60,0,14,32,3,216,231,223,14,32,60,0,14,32,3,216,232,223,14,32,60,0,14,32,3,216,233,223,14,32,60,0,14,32,3,216,234,223,14,32,60,0,14,32,3,216,235,223,14,32,60,0,14,32,3,216,236,223,14,32,60,0,14,32,3,216,237,223,14,32,60,0,14,32,3,216,238,223,14,32,60,0,14,32,3,216,239,223,14,32,60,0,14,32,3,216,240,223,14,32,60,0,14,32,3,216,241,223,14,32,60,0,14,32,3,216,242,223,14,32,60,0,14,32,3,216,243,223,14,32,60,0,14,32,3,216,244,223,14,32,60,0,14,32,3,216,245,223,14,32,60,0,14,32,2,216,192,222,14,32,60,0,14,32,2,216,193,222,14,32,60,0,14,32,2,216,194,222,14,32,60,0,14,32,2,216,195,222,14,32,60,0,14,32,2,216,196,222,14,32,60,0,14,32,2,216,197,222,14,32,60,0,14,32,2,216,198,222,14,32,60,0,14,32,2,216,199,222,14,32,60,0,60,0,14,32,2,216,200,222,14,32,60,0,14,32,2,216,201,222,14,32,60,0,14,32,2,216,202,222,14,32,60,0,14,32,2,216,203,222,14,32,60,0,14,32,2,216,204,222,14,32,60,0,14,32,2,216,205,222,14,32,60,0,14,32,2,216,206,222,14,32,60,0,14,32,2,216,207,222,14,32,60,0,14,32,2,216,208,222,14,32,60,0,14,32,2,216,209,222,14,32,60,0,14,32,2,216,210,222,14,32,60,0,14,32,2,216,211,222,14,32,60,0,14,32,2,216,212,222,14,32,60,0,14,32,2,216,213,222,14,32,60,0,14,32,2,216,214,222,14,32,60,0,14,32,2,216,215,222,14,32,60,0,14,32,2,216,216,222,14,32,60,0,14,32,2,216,217,222,14,32,60,0,14,32,2,216,218,222,14,32,60,0,14,32,2,216,219,222,14,32,60,0,14,32,2,216,220,222,14,32,60,0,14,32,2,216,221,222,14,32,60,0,14,32,2,216,222,222,14,32,60,0,14,32,2,216,223,222,14,32,60,0,14,32,2,216,224,222,14,32,60,0,14,32,2,216,225,222,14,32,60,0,14,32,2,216,226,222,14,32,60,0,14,32,2,216,227,222,14,32,60,0,14,32,2,216,228,222,14,32,60,0,14,32,3,216,0,223,14,32,60,0,60,0,60,0,14,32,3,216,1,223,14,32,60,0,14,32,3,216,2,223,14,32,60,0,60,0,60,0,14,32,3,216,3,223,14,32,60,0,14,32,3,216,4,223,14,32,60,0,14,32,3,216,5,223,14,32,60,0,60,0,60,0,14,32,3,216,6,223,14,32,60,0,14,32,3,216,7,223,14,32,60,0,14,32,3,216,8,223,14,32,60,0,14,32,3,216,9,223,14,32,60,0,14,32,3,216,10,223,14,32,60,0,14,32,3,216,11,223,14,32,60,0,14,32,3,216,12,223,14,32,60,0,14,32,3,216,13,223,14,32,60,0,14,32,3,216,14,223,14,32,60,0,60,0,60,0,14,32,3,216,15,223,14,32,60,0,60,0,14,32,3,216,16,223,14,32,60,0,14,32,3,216,17,223,14,32,60,0,14,32,3,216,18,223,14,32,60,0,60,0,60,0,14,32,3,216,39,223,14,32,47,0,14,32,3,216,24,223,14,32,60,0,60,0,14,32,3,216,19,223,14,32,60,0,14,32,3,216,20,223,14,32,60,0,14,32,3,216,21,223,14,32,60,0,60,0,60,0,14,32,3,216,22,223,14,32,60,0,60,0,14,32,3,216,23,223,14,32,60,0,14,32,3,216,24,223,14,32,60,0,14,32,3,216,25,223,14,32,60,0,14,32,3,216,26,223,14,32,60,0,60,0,60,0,14,32,3,216,27,223,14,32,60,0,60,0,14,32,3,216,28,223,14,32,60,0,14,32,3,216,48,223,14,32,60,0,14,32,3,216,49,223,14,32,60,0,14,32,3,216,50,223,14,32,60,0,14,32,3,216,51,223,14,32,60,0,14,32,3,216,52,223,14,32,60,0,14,32,3,216,53,223,14,32,60,0,14,32,3,216,54,223,14,32,60,0,14,32,3,216,55,223,14,32,60,0,14,32,3,216,56,223,14,32,60,0,14,32,3,216,57,223,14,32,60,0,14,32,3,216,58,223,14,32,60,0,14,32,3,216,59,223,14,32,60,0,14,32,3,216,60,223,14,32,60,0,14,32,3,216,61,223,14,32,60,0,14,32,3,216,62,223,14,32,60,0,14,32,3,216,63,223,14,32,60,0,14,32,3,216,64,223,14,32,60,0,14,32,3,216,65,223,14,32,60,0,60,0,14,32,3,216,69,223,14,32,60,0,14,32,3,216,66,223,14,32,60,0,14,32,3,216,67,223,14,32,60,0,14,32,3,216,68,223,14,32,60,0,14,32,3,216,112,223,14,32,60,0,14,32,3,216,113,223,14,32,60,0,14,32,3,216,114,223,14,32,60,0,14,32,3,216,115,223,14,32,60,0,14,32,3,216,116,223,14,32,60,0,14,32,3,216,117,223,14,32,60,0,14,32,3,216,118,223,14,32,60,0,14,32,3,216,119,223,14,32,60,0,14,32,3,216,120,223,14,32,60,0,14,32,3,216,121,223,14,32,60,0,14,32,3,216,122,223,14,32,60,0,14,32,3,216,123,223,14,32,60,0,14,32,3,216,124,223,14,32,60,0,14,32,3,216,125,223,14,32,60,0,14,32,3,216,126,223,14,32,60,0,14,32,3,216,127,223,14,32,60,0,14,32,3,216,128,223,14,32,60,0,14,32,3,216,129,223,14,32,60,0,14,32,3,216,128,222,14,32,60,0,14,32,3,216,129,222,14,32,60,0,14,32,3,216,130,222,14,32,60,0,14,32,3,216,131,222,14,32,60,0,14,32,3,216,132,222,14,32,60,0,14,32,3,216,133,222,14,32,60,0,14,32,3,216,134,222,14,32,60,0,14,32,3,216,135,222,14,32,60,0,14,32,3,216,136,222,14,32,60,0,14,32,3,216,137,222,14,32,60,0,14,32,3,216,138,222,14,32,60,0,14,32,3,216,139,222,14,32,60,0,14,32,3,216,140,222,14,32,60,0,14,32,3,216,141,222,14,32,60,0,14,32,3,216,142,222,14,32,60,0,14,32,3,216,143,222,14,32,60,0,14,32,3,216,144,222,14,32,60,0,14,32,3,216,145,222,14,32,60,0,14,32,3,216,146,222,14,32,60,0,14,32,3,216,147,222,14,32,60,0,14,32,3,216,148,222,14,32,60,0,14,32,3,216,149,222,14,32,60,0,14,32,3,216,150,222,14,32,60,0,14,32,3,216,151,222,14,32,60,0,14,32,3,216,152,222,14,32,60,0,14,32,3,216,153,222,14,32,60,0,14,32,3,216,154,222,14,32,60,0,14,32,3,216,155,222,14,32,60,0,14,32,3,216,156,222,14,32,60,0,14,32,3,216,157,222,14,32,60,0,14,32,3,216,158,222,14,32,60,0,14,32,3,216,159,222,14,32,60,0,14,32,3,216,160,222,14,32,60,0,14,32,3,216,176,222,14,32,60,0,14,32,3,216,161,222,14,32,60,0,14,32,3,216,162,222,14,32,60,0,14,32,3,216,163,222,14,32,60,0,14,32,3,216,164,222,14,32,60,0,14,32,3,216,165,222,14,32,60,0,14,32,3,216,166,222,14,32,60,0,14,32,3,216,167,222,14,32,60,0,14,32,3,216,168,222,14,32,60,0,14,32,3,216,177,222,14,32,60,0,14,32,3,216,169,222,14,32,60,0,14,32,3,216,176,223,14,32,60,0,14,32,3,216,177,223,14,32,60,0,14,32,3,216,178,223,14,32,60,0,14,32,3,216,179,223,14,32,60,0,14,32,3,216,180,223,14,32,60,0,14,32,3,216,181,223,14,32,60,0,14,32,3,216,182,223,14,32,60,0,14,32,3,216,183,223,14,32,60,0,14,32,3,216,184,223,14,32,60,0,14,32,3,216,185,223,14,32,60,0,14,32,3,216,186,223,14,32,60,0,14,32,3,216,187,223,14,32,60,0,14,32,3,216,188,223,14,32,60,0,14,32,3,216,189,223,14,32,60,0,14,32,3,216,190,223,14,32,60,0,14,32,3,216,191,223,14,32,60,0,14,32,3,216,192,223,14,32,60,0,14,32,3,216,193,223,14,32,60,0,14,32,3,216,194,223,14,32,60,0,14,32,3,216,195,223,14,32,60,0,14,32,3,216,196,223,14,32,60,0,0,216,128,223,60,0,0,216,129,223,60,0,0,216,130,223,60,0,0,216,131,223,60,0,0,216,132,223,60,0,0,216,133,223,60,0,0,216,134,223,60,0,0,216,135,223,60,0,0,216,136,223,60,0,0,216,137,223,60,0,0,216,138,223,60,0,0,216,139,223,60,0,0,216,140,223,60,0,0,216,141,223,60,0,0,216,142,223,60,0,0,216,143,223,60,0,0,216,144,223,60,0,0,216,145,223,60,0,0,216,146,223,60,0,0,216,147,223,60,0,0,216,148,223,60,0,0,216,149,223,60,0,0,216,150,223,60,0,0,216,151,223,60,0,0,216,152,223,60,0,0,216,153,223,60,0,0,216,154,223,60,0,0,216,155,223,60,0,0,216,156,223,60,0,0,216,157,223,60,0,0,216,160,223,60,0,0,216,161,223,60,0,0,216,162,223,60,0,0,216,163,223,60,0,0,216,164,223,60,0,0,216,165,223,60,0,0,216,166,223,60,0,0,216,167,223,60,0,0,216,168,223,60,0,0,216,169,223,60,0,0,216,170,223,60,0,0,216,171,223,60,0,0,216,172,223,60,0,0,216,173,223,60,0,0,216,174,223,60,0,0,216,175,223,60,0,0,216,176,223,60,0,0,216,177,223,60,0,0,216,178,223,60,0,0,216,179,223,60,0,0,216,180,223,60,0,0,216,181,223,60,0,0,216,182,223,60,0,0,216,183,223,60,0,0,216,184,223,60,0,0,216,185,223,60,0,0,216,186,223,60,0,0,216,187,223,60,0,0,216,188,223,60,0,0,216,189,223,60,0,0,216,190,223,60,0,0,216,191,223,60,0,0,216,192,223,60,0,0,216,193,223,60,0,0,216,194,223,60,0,0,216,195,223,60,0,0,216,200,223,60,0,0,216,201,223,60,0,0,216,202,223,60,0,0,216,203,223,60,0,0,216,204,223,60,0,0,216,205,223,60,0,0,216,206,223,60,0,0,216,207,223,60,0,8,216,0,220,60,0,8,216,1,220,60,0,8,216,2,220,60,0,8,216,3,220,60,0,8,216,4,220,60,0,8,216,5,220,60,0,8,216,6,220,60,0,8,216,7,220,60,0,8,216,8,220,60,0,8,216,9,220,60,0,8,216,10,220,60,0,8,216,11,220,60,0,8,216,12,220,60,0,8,216,13,220,60,0,8,216,14,220,60,0,8,216,15,220,60,0,8,216,16,220,60,0,8,216,17,220,60,0,8,216,18,220,60,0,8,216,19,220,60,0,8,216,20,220,60,0,8,216,21,220,60,0,8,216,22,220,60,0,8,216,23,220,60,0,8,216,24,220,60,0,8,216,25,220,60,0,8,216,26,220,60,0,8,216,27,220,60,0,8,216,28,220,60,0,8,216,29,220,60,0,8,216,30,220,60,0,8,216,31,220,60,0,8,216,32,220,60,0,8,216,33,220,60,0,8,216,34,220,60,0,8,216,35,220,60,0,8,216,36,220,60,0,8,216,37,220,60,0,8,216,38,220,60,0,8,216,39,220,60,0,8,216,40,220,60,0,8,216,41,220,60,0,8,216,42,220,60,0,8,216,43,220,60,0,8,216,44,220,60,0,8,216,45,220,60,0,8,216,46,220,60,0,8,216,47,220,60,0,8,216,48,220,60,0,8,216,49,220,60,0,8,216,50,220,60,0,8,216,51,220,60,0,8,216,52,220,60,0,8,216,53,220,60,0,8,216,54,220,60,0,8,216,55,220,60,0,8,216,56,220,60,0,8,216,57,220,60,0,8,216,58,220,60,0,8,216,59,220,60,0,8,216,60,220,60,0,8,216,61,220,60,0,8,216,62,220,60,0,8,216,63,220,60,0,8,216,64,220,60,0,8,216,65,220,60,0,8,216,66,220,60,0,8,216,67,220,60,0,8,216,68,220,60,0,8,216,69,220,60,0,8,216,70,220,60,0,8,216,71,220,60,0,8,216,72,220,60,0,8,216,73,220,60,0,8,216,74,220,60,0,8,216,75,220,60,0,8,216,76,220,60,0,8,216,77,220,60,0,8,216,78,220,60,0,8,216,79,220,60,0,8,216,80,220,60,0,8,216,81,220,60,0,8,216,82,220,60,0,8,216,83,220,60,0,8,216,84,220,60,0,8,216,85,220,60,0,8,216,86,220,60,0,8,216,87,220,60,0,8,216,88,220,60,0,8,216,89,220,60,0,8,216,90,220,60,0,8,216,91,220,60,0,8,216,92,220,60,0,8,216,93,220,60,0,8,216,94,220,60,0,8,216,95,220,60,0,8,216,96,220,60,0,8,216,97,220,60,0,8,216,98,220,60,0,8,216,99,220,60,0,8,216,100,220,60,0,8,216,101,220,60,0,8,216,102,220,60,0,8,216,103,220,60,0,8,216,104,220,60,0,8,216,105,220,60,0,8,216,106,220,60,0,8,216,107,220,60,0,8,216,108,220,60,0,8,216,109,220,60,0,8,216,110,220,60,0,8,216,111,220,60,0,8,216,112,220,60,0,8,216,113,220,60,0,8,216,114,220,60,0,8,216,115,220,60,0,8,216,116,220,60,0,8,216,117,220,60,0,8,216,118,220,60,0,8,216,119,220,60,0,8,216,120,220,60,0,8,216,121,220,60,0,8,216,122,220,60,0,8,216,123,220,60,0,8,216,124,220,60,0,8,216,125,220,60,0,8,216,126,220,60,0,8,216,127,220,60,0,8,216,128,220,60,0,8,216,129,220,60,0,8,216,130,220,60,0,8,216,131,220,60,0,8,216,132,220,60,0,8,216,133,220,60,0,8,216,134,220,60,0,8,216,135,220,60,0,8,216,136,220,60,0,8,216,137,220,60,0,8,216,138,220,60,0,8,216,139,220,60,0,8,216,140,220,60,0,8,216,141,220,60,0,8,216,142,220,60,0,8,216,143,220,60,0,8,216,144,220,60,0,8,216,145,220,60,0,8,216,146,220,60,0,8,216,147,220,60,0,8,216,148,220,60,0,8,216,149,220,60,0,8,216,150,220,60,0,8,216,151,220,60,0,8,216,152,220,60,0,8,216,153,220,60,0,8,216,154,220,60,0,8,216,155,220,60,0,8,216,156,220,60,0,8,216,157,220,60,0,8,216,158,220,60,0,8,216,159,220,60,0,8,216,160,220,60,0,8,216,161,220,60,0,8,216,162,220,60,0,8,216,163,220,60,0,8,216,164,220,60,0,8,216,165,220,60,0,8,216,166,220,60,0,8,216,167,220,60,0,8,216,168,220,60,0,8,216,169,220,60,0,8,216,170,220,60,0,8,216,171,220,60,0,8,216,172,220,60,0,8,216,173,220,60,0,8,216,174,220,60,0,8,216,175,220,60,0,8,216,176,220,60,0,8,216,177,220,60,0,8,216,178,220,60,0,8,216,179,220,60,0,8,216,180,220,60,0,8,216,181,220,60,0,8,216,182,220,60,0,8,216,183,220,60,0,8,216,184,220,60,0,8,216,185,220,60,0,8,216,186,220,60,0,8,216,187,220,60,0,8,216,188,220,60,0,8,216,189,220,60,0,8,216,190,220,60,0,8,216,191,220,60,0,8,216,192,220,60,0,8,216,193,220,60,0,8,216,194,220,60,0,8,216,195,220,60,0,8,216,196,220,60,0,8,216,197,220,60,0,8,216,198,220,60,0,8,216,199,220,60,0,8,216,200,220,60,0,8,216,201,220,60,0,8,216,202,220,60,0,8,216,203,220,60,0,8,216,204,220,60,0,8,216,205,220,60,0,8,216,206,220,60,0,8,216,207,220,60,0,8,216,208,220,60,0,8,216,209,220,60,0,8,216,210,220,60,0,8,216,211,220,60,0,8,216,212,220,60,0,8,216,213,220,60,0,8,216,214,220,60,0,8,216,215,220,60,0,8,216,216,220,60,0,8,216,217,220,60,0,8,216,218,220,60,0,8,216,219,220,60,0,8,216,220,220,60,0,8,216,221,220,60,0,8,216,222,220,60,0,8,216,223,220,60,0,8,216,224,220,60,0,8,216,225,220,60,0,8,216,226,220,60,0,8,216,227,220,60,0,8,216,228,220,60,0,8,216,229,220,60,0,8,216,230,220,60,0,8,216,231,220,60,0,8,216,232,220,60,0,8,216,233,220,60,0,8,216,234,220,60,0,8,216,235,220,60,0,8,216,236,220,60,0,8,216,237,220,60,0,8,216,238,220,60,0,8,216,239,220,60,0,8,216,240,220,60,0,8,216,241,220,60,0,8,216,242,220,60,0,8,216,243,220,60,0,8,216,244,220,60,0,8,216,245,220,60,0,8,216,246,220,60,0,8,216,247,220,60,0,8,216,248,220,60,0,8,216,249,220,60,0,8,216,250,220,60,0,8,216,251,220,60,0,8,216,252,220,60,0,8,216,253,220,60,0,8,216,254,220,60,0,8,216,255,220,60,0,8,216,0,221,60,0,8,216,1,221,60,0,8,216,2,221,60,0,8,216,3,221,60,0,8,216,4,221,60,0,8,216,5,221,60,0,8,216,6,221,60,0,8,216,7,221,60,0,8,216,8,221,60,0,8,216,9,221,60,0,8,216,10,221,60,0,8,216,11,221,60,0,8,216,12,221,60,0,8,216,13,221,60,0,8,216,14,221,60,0,8,216,15,221,60,0,8,216,16,221,60,0,8,216,17,221,60,0,8,216,18,221,60,0,8,216,19,221,60,0,8,216,20,221,60,0,8,216,21,221,60,0,8,216,22,221,60,0,8,216,23,221,60,0,8,216,24,221,60,0,8,216,25,221,60,0,8,216,26,221,60,0,8,216,27,221,60,0,8,216,28,221,60,0,8,216,29,221,60,0,8,216,30,221,60,0,8,216,31,221,60,0,8,216,32,221,60,0,8,216,33,221,60,0,8,216,34,221,60,0,8,216,35,221,60,0,8,216,36,221,60,0,8,216,37,221,60,0,8,216,38,221,60,0,8,216,39,221,60,0,8,216,40,221,60,0,8,216,41,221,60,0,8,216,42,221,60,0,8,216,43,221,60,0,8,216,44,221,60,0,8,216,45,221,60,0,8,216,46,221,60,0,8,216,47,221,60,0,8,216,48,221,60,0,8,216,49,221,60,0,8,216,50,221,60,0,8,216,51,221,60,0,8,216,52,221,60,0,8,216,53,221,60,0,8,216,54,221,60,0,8,216,55,221,60,0,8,216,56,221,60,0,8,216,57,221,60,0,8,216,58,221,60,0,8,216,59,221,60,0,8,216,60,221,60,0,8,216,61,221,60,0,8,216,62,221,60,0,8,216,63,221,60,0,8,216,64,221,60,0,8,216,65,221,60,0,8,216,66,221,60,0,8,216,67,221,60,0,8,216,68,221,60,0,8,216,69,221,60,0,8,216,70,221,60,0,8,216,71,221,60,0,8,216,72,221,60,0,8,216,73,221,60,0,8,216,74,221,60,0,8,216,75,221,60,0,8,216,76,221,60,0,8,216,77,221,60,0,8,216,78,221,60,0,8,216,79,221,60,0,8,216,80,221,60,0,8,216,81,221,60,0,8,216,82,221,60,0,8,216,83,221,60,0,8,216,84,221,60,0,8,216,85,221,60,0,8,216,86,221,60,0,8,216,87,221,60,0,8,216,88,221,60,0,8,216,89,221,60,0,8,216,90,221,60,0,8,216,91,221,60,0,8,216,92,221,60,0,8,216,93,221,60,0,8,216,94,221,60,0,8,216,95,221,60,0,8,216,96,221,60,0,8,216,97,221,60,0,8,216,98,221,60,0,8,216,99,221,60,0,8,216,100,221,60,0,8,216,101,221,60,0,8,216,102,221,60,0,8,216,103,221,60,0,8,216,104,221,60,0,8,216,105,221,60,0,8,216,106,221,60,0,8,216,107,221,60,0,8,216,108,221,60,0,8,216,109,221,60,0,8,216,110,221,60,0,8,216,111,221,60,0,8,216,112,221,60,0,8,216,113,221,60,0,8,216,114,221,60,0,8,216,115,221,60,0,8,216,116,221,60,0,8,216,117,221,60,0,8,216,118,221,60,0,8,216,119,221,60,0,8,216,120,221,60,0,8,216,121,221,60,0,8,216,122,221,60,0,8,216,123,221,60,0,8,216,124,221,60,0,8,216,125,221,60,0,8,216,126,221,60,0,8,216,127,221,60,0,8,216,128,221,60,0,8,216,129,221,60,0,8,216,130,221,60,0,8,216,131,221,60,0,8,216,132,221,60,0,8,216,133,221,60,0,8,216,134,221,60,0,8,216,135,221,60,0,8,216,136,221,60,0,8,216,137,221,60,0,8,216,138,221,60,0,8,216,139,221,60,0,8,216,140,221,60,0,8,216,141,221,60,0,8,216,142,221,60,0,8,216,143,221,60,0,8,216,144,221,60,0,8,216,145,221,60,0,8,216,146,221,60,0,8,216,147,221,60,0,8,216,148,221,60,0,8,216,149,221,60,0,8,216,150,221,60,0,8,216,151,221,60,0,8,216,152,221,60,0,8,216,153,221,60,0,8,216,154,221,60,0,8,216,155,221,60,0,8,216,156,221,60,0,8,216,157,221,60,0,8,216,158,221,60,0,8,216,159,221,60,0,8,216,160,221,60,0,8,216,161,221,60,0,8,216,162,221,60,0,8,216,163,221,60,0,8,216,164,221,60,0,8,216,165,221,60,0,8,216,166,221,60,0,8,216,167,221,60,0,8,216,168,221,60,0,8,216,169,221,60,0,8,216,170,221,60,0,8,216,171,221,60,0,8,216,172,221,60,0,8,216,173,221,60,0,8,216,174,221,60,0,8,216,175,221,60,0,8,216,176,221,60,0,8,216,177,221,60,0,8,216,178,221,60,0,8,216,179,221,60,0,8,216,180,221,60,0,8,216,181,221,60,0,8,216,182,221,60,0,8,216,183,221,60,0,8,216,184,221,60,0,8,216,185,221,60,0,8,216,186,221,60,0,8,216,187,221,60,0,8,216,188,221,60,0,8,216,189,221,60,0,8,216,190,221,60,0,8,216,191,221,60,0,8,216,192,221,60,0,8,216,193,221,60,0,8,216,194,221,60,0,8,216,195,221,60,0,8,216,196,221,60,0,8,216,197,221,60,0,8,216,198,221,60,0,8,216,199,221,60,0,8,216,200,221,60,0,8,216,201,221,60,0,8,216,202,221,60,0,8,216,203,221,60,0,8,216,204,221,60,0,8,216,205,221,60,0,8,216,206,221,60,0,8,216,207,221,60,0,8,216,208,221,60,0,8,216,209,221,60,0,8,216,210,221,60,0,8,216,211,221,60,0,8,216,212,221,60,0,8,216,213,221,60,0,8,216,214,221,60,0,8,216,215,221,60,0,8,216,216,221,60,0,8,216,217,221,60,0,8,216,218,221,60,0,8,216,219,221,60,0,8,216,220,221,60,0,8,216,221,221,60,0,8,216,222,221,60,0,8,216,223,221,60,0,8,216,224,221,60,0,8,216,225,221,60,0,8,216,226,221,60,0,8,216,227,221,60,0,8,216,228,221,60,0,8,216,229,221,60,0,8,216,230,221,60,0,8,216,231,221,60,0,8,216,232,221,60,0,8,216,233,221,60,0,8,216,234,221,60,0,8,216,235,221,60,0,8,216,236,221,60,0,8,216,237,221,60,0,8,216,238,221,60,0,8,216,239,221,60,0,8,216,240,221,60,0,8,216,241,221,60,0,8,216,242,221,60,0,8,216,243,221,60,0,8,216,244,221,60,0,8,216,245,221,60,0,8,216,246,221,60,0,8,216,247,221,60,0,8,216,248,221,60,0,8,216,249,221,60,0,8,216,250,221,60,0,8,216,251,221,60,0,8,216,252,221,60,0,8,216,253,221,60,0,8,216,254,221,60,0,8,216,255,221,60,0,8,216,0,222,60,0,8,216,1,222,60,0,8,216,2,222,60,0,8,216,3,222,60,0,8,216,4,222,60,0,8,216,5,222,60,0,8,216,6,222,60,0,8,216,7,222,60,0,8,216,8,222,60,0,8,216,9,222,60,0,8,216,10,222,60,0,8,216,11,222,60,0,8,216,12,222,60,0,8,216,13,222,60,0,8,216,14,222,60,0,8,216,15,222,60,0,8,216,16,222,60,0,8,216,17,222,60,0,8,216,18,222,60,0,8,216,19,222,60,0,8,216,20,222,60,0,8,216,21,222,60,0,8,216,22,222,60,0,8,216,23,222,60,0,8,216,24,222,60,0,8,216,25,222,60,0,8,216,26,222,60,0,8,216,27,222,60,0,8,216,28,222,60,0,8,216,29,222,60,0,8,216,30,222,60,0,8,216,31,222,60,0,8,216,32,222,60,0,8,216,33,222,60,0,8,216,34,222,60,0,8,216,35,222,60,0,8,216,36,222,60,0,8,216,37,222,60,0,8,216,38,222,60,0,8,216,39,222,60,0,8,216,40,222,60,0,8,216,41,222,60,0,8,216,42,222,60,0,8,216,43,222,60,0,8,216,44,222,60,0,8,216,45,222,60,0,8,216,46,222,60,0,8,216,47,222,60,0,8,216,48,222,60,0,8,216,49,222,60,0,8,216,50,222,60,0,8,216,51,222,60,0,8,216,52,222,60,0,8,216,53,222,60,0,8,216,54,222,60,0,8,216,55,222,60,0,8,216,56,222,60,0,8,216,57,222,60,0,8,216,58,222,60,0,8,216,59,222,60,0,8,216,60,222,60,0,8,216,61,222,60,0,8,216,62,222,60,0,8,216,63,222,60,0,8,216,64,222,60,0,8,216,65,222,60,0,8,216,66,222,60,0,8,216,67,222,60,0,8,216,68,222,60,0,8,216,69,222,60,0,8,216,70,222,60,0,8,216,71,222,60,0,8,216,72,222,60,0,8,216,73,222,60,0,8,216,74,222,60,0,8,216,75,222,60,0,8,216,76,222,60,0,8,216,77,222,60,0,8,216,78,222,60,0,8,216,79,222,60,0,8,216,80,222,60,0,8,216,81,222,60,0,8,216,82,222,60,0,8,216,83,222,60,0,8,216,84,222,60,0,8,216,85,222,60,0,8,216,86,222,60,0,8,216,87,222,60,0,8,216,88,222,60,0,8,216,89,222,60,0,8,216,90,222,60,0,8,216,91,222,60,0,8,216,92,222,60,0,8,216,93,222,60,0,8,216,94,222,60,0,8,216,95,222,60,0,8,216,96,222,60,0,8,216,97,222,60,0,8,216,98,222,60,0,8,216,212,222,60,0,8,216,213,222,60,0,8,216,99,222,60,0,8,216,100,222,60,0,8,216,101,222,60,0,8,216,102,222,60,0,8,216,103,222,60,0,8,216,104,222,60,0,8,216,105,222,60,0,8,216,106,222,60,0,8,216,107,222,60,0,8,216,108,222,60,0,8,216,109,222,60,0,8,216,110,222,60,0,8,216,111,222,60,0,8,216,112,222,60,0,8,216,113,222,60,0,8,216,114,222,60,0,8,216,115,222,60,0,8,216,116,222,60,0,8,216,117,222,60,0,8,216,118,222,60,0,8,216,119,222,60,0,8,216,120,222,60,0,8,216,121,222,60,0,8,216,122,222,60,0,8,216,123,222,60,0,8,216,124,222,60,0,8,216,125,222,60,0,8,216,126,222,60,0,8,216,127,222,60,0,8,216,128,222,60,0,8,216,129,222,60,0,8,216,130,222,60,0,8,216,131,222,60,0,8,216,132,222,60,0,8,216,133,222,60,0,8,216,134,222,60,0,8,216,135,222,60,0,8,216,136,222,60,0,8,216,137,222,60,0,8,216,138,222,60,0,8,216,139,222,60,0,8,216,140,222,60,0,8,216,141,222,60,0,8,216,142,222,60,0,8,216,143,222,60,0,8,216,144,222,60,0,8,216,145,222,60,0,8,216,146,222,60,0,8,216,147,222,60,0,8,216,148,222,60,0,8,216,149,222,60,0,8,216,150,222,60,0,8,216,151,222,60,0,8,216,152,222,60,0,8,216,153,222,60,0,8,216,154,222,60,0,8,216,155,222,60,0,8,216,156,222,60,0,8,216,157,222,60,0,8,216,158,222,60,0,8,216,159,222,60,0,8,216,160,222,60,0,8,216,161,222,60,0,8,216,162,222,60,0,8,216,163,222,60,0,8,216,164,222,60,0,8,216,165,222,60,0,8,216,166,222,60,0,8,216,167,222,60,0,8,216,168,222,60,0,8,216,169,222,60,0,8,216,170,222,60,0,8,216,171,222,60,0,8,216,172,222,60,0,8,216,173,222,60,0,8,216,174,222,60,0,8,216,175,222,60,0,8,216,176,222,60,0,8,216,177,222,60,0,8,216,178,222,60,0,8,216,179,222,60,0,8,216,180,222,60,0,8,216,181,222,60,0,8,216,182,222,60,0,8,216,183,222,60,0,8,216,184,222,60,0,8,216,185,222,60,0,8,216,186,222,60,0,8,216,187,222,60,0,8,216,188,222,60,0,8,216,189,222,60,0,8,216,190,222,60,0,8,216,191,222,60,0,8,216,192,222,60,0,8,216,193,222,60,0,8,216,194,222,60,0,8,216,195,222,60,0,8,216,196,222,60,0,8,216,197,222,60,0,8,216,198,222,60,0,8,216,199,222,60,0,8,216,200,222,60,0,8,216,201,222,60,0,8,216,202,222,60,0,8,216,203,222,60,0,8,216,204,222,60,0,8,216,205,222,60,0,8,216,206,222,60,0,8,216,207,222,60,0,8,216,208,222,60,0,8,216,209,222,60,0,8,216,210,222,60,0,8,216,211,222,60,0,8,216,214,222,60,0,8,216,215,222,60,0,8,216,216,222,60,0,8,216,217,222,60,0,8,216,218,222,60,0,8,216,219,222,60,0,8,216,220,222,60,0,8,216,221,222,60,0,8,216,222,222,60,0,8,216,223,222,60,0,8,216,224,222,60,0,8,216,225,222,60,0,8,216,226,222,60,0,8,216,227,222,60,0,8,216,228,222,60,0,8,216,229,222,60,0,8,216,230,222,60,0,8,216,231,222,60,0,8,216,232,222,60,0,8,216,233,222,60,0,8,216,234,222,60,0,8,216,235,222,60,0,8,216,236,222,60,0,8,216,237,222,60,0,8,216,238,222,60,0,8,216,239,222,60,0,8,216,240,222,60,0,8,216,241,222,60,0,8,216,242,222,60,0,8,216,243,222,60,0,8,216,244,222,60,0,8,216,245,222,60,0,8,216,246,222,60,0,8,216,247,222,60,0,8,216,248,222,60,0,8,216,249,222,60,0,8,216,250,222,60,0,8,216,251,222,60,0,8,216,252,222,60,0,8,216,253,222,60,0,8,216,254,222,60,0,8,216,255,222,60,0,8,216,0,223,60,0,8,216,1,223,60,0,8,216,2,223,60,0,8,216,3,223,60,0,8,216,4,223,60,0,8,216,5,223,60,0,8,216,6,223,60,0,8,216,7,223,60,0,8,216,8,223,60,0,8,216,9,223,60,0,8,216,10,223,60,0,8,216,11,223,60,0,8,216,12,223,60,0,8,216,13,223,60,0,8,216,14,223,60,0,8,216,15,223,60,0,8,216,16,223,60,0,8,216,17,223,60,0,8,216,18,223,60,0,8,216,19,223,60,0,8,216,20,223,60,0,8,216,21,223,60,0,8,216,22,223,60,0,8,216,23,223,60,0,8,216,24,223,60,0,8,216,25,223,60,0,8,216,26,223,60,0,8,216,27,223,60,0,8,216,28,223,60,0,8,216,29,223,60,0,8,216,30,223,60,0,8,216,31,223,60,0,8,216,32,223,60,0,8,216,33,223,60,0,8,216,34,223,60,0,8,216,35,223,60,0,8,216,36,223,60,0,8,216,37,223,60,0,8,216,38,223,60,0,8,216,39,223,60,0,8,216,40,223,60,0,8,216,41,223,60,0,8,216,42,223,60,0,8,216,43,223,60,0,8,216,44,223,60,0,8,216,45,223,60,0,8,216,46,223,60,0,8,216,47,223,60,0,8,216,48,223,60,0,8,216,49,223,60,0,8,216,50,223,60,0,8,216,51,223,60,0,8,216,52,223,60,0,8,216,53,223,60,0,8,216,54,223,60,0,8,216,55,223,60,0,8,216,56,223,60,0,8,216,57,223,60,0,8,216,58,223,60,0,8,216,59,223,60,0,8,216,60,223,60,0,8,216,61,223,60,0,8,216,62,223,60,0,8,216,63,223,60,0,8,216,64,223,60,0,8,216,65,223,60,0,8,216,66,223,60,0,8,216,67,223,60,0,8,216,68,223,60,0,8,216,69,223,60,0,8,216,70,223,60,0,8,216,71,223,60,0,8,216,72,223,60,0,8,216,73,223,60,0,8,216,74,223,60,0,8,216,75,223,60,0,8,216,76,223,60,0,8,216,77,223,60,0,8,216,78,223,60,0,8,216,79,223,60,0,8,216,80,223,60,0,8,216,81,223,60,0,8,216,82,223,60,0,8,216,83,223,60,0,8,216,84,223,60,0,8,216,85,223,60,0,8,216,86,223,60,0,8,216,87,223,60,0,8,216,88,223,60,0,8,216,89,223,60,0,8,216,90,223,60,0,8,216,91,223,60,0,8,216,92,223,60,0,8,216,93,223,60,0,8,216,94,223,60,0,8,216,95,223,60,0,8,216,96,223,60,0,8,216,97,223,60,0,8,216,98,223,60,0,8,216,99,223,60,0,8,216,100,223,60,0,8,216,101,223,60,0,8,216,102,223,60,0,8,216,103,223,60,0,8,216,104,223,60,0,8,216,105,223,60,0,8,216,106,223,60,0,8,216,107,223,60,0,8,216,108,223,60,0,8,216,109,223,60,0,8,216,110,223,60,0,8,216,111,223,60,0,8,216,112,223,60,0,8,216,113,223,60,0,8,216,114,223,60,0,8,216,115,223,60,0,8,216,116,223,60,0,8,216,117,223,60,0,8,216,118,223,60,0,8,216,119,223,60,0,8,216,120,223,60,0,8,216,121,223,60,0,8,216,122,223,60,0,8,216,123,223,60,0,8,216,124,223,60,0,8,216,125,223,60,0,8,216,126,223,60,0,8,216,127,223,60,0,8,216,128,223,60,0,8,216,129,223,60,0,8,216,130,223,60,0,8,216,131,223,60,0,8,216,132,223,60,0,8,216,133,223,60,0,8,216,134,223,60,0,8,216,135,223,60,0,8,216,136,223,60,0,8,216,137,223,60,0,8,216,138,223,60,0,8,216,139,223,60,0,8,216,140,223,60,0,8,216,141,223,60,0,8,216,142,223,60,0,8,216,143,223,60,0,8,216,144,223,60,0,8,216,145,223,60,0,8,216,146,223,60,0,8,216,147,223,60,0,8,216,148,223,60,0,8,216,149,223,60,0,8,216,150,223,60,0,8,216,151,223,60,0,8,216,152,223,60,0,8,216,153,223,60,0,9,216,128,220,60,0,9,216,129,220,60,0,9,216,130,220,60,0,9,216,131,220,60,0,9,216,132,220,60,0,9,216,133,220,60,0,9,216,134,220,60,0,9,216,135,220,60,0,9,216,136,220,60,0,9,216,137,220,60,0,9,216,138,220,60,0,9,216,139,220,60,0,9,216,140,220,60,0,9,216,141,220,60,0,9,216,142,220,60,0,9,216,143,220,60,0,9,216,144,220,60,0,9,216,145,220,60,0,9,216,146,220,60,0,9,216,147,220,60,0,9,216,148,220,60,0,9,216,149,220,60,0,9,216,150,220,60,0,9,216,151,220,60,0,9,216,152,220,60,0,9,216,153,220,60,0,9,216,154,220,60,0,9,216,155,220,60,0,9,216,156,220,60,0,9,216,157,220,60,0,9,216,158,220,60,0,9,216,159,220,60,0,9,216,160,220,60,0,9,216,161,220,60,0,9,216,162,220,60,0,9,216,163,220,60,0,9,216,164,220,60,0,9,216,165,220,60,0,9,216,166,220,60,0,9,216,167,220,60,0,9,216,168,220,60,0,9,216,169,220,60,0,9,216,170,220,60,0,9,216,171,220,60,0,9,216,172,220,60,0,9,216,173,220,60,0,9,216,174,220,60,0,9,216,175,220,60,0,9,216,176,220,60,0,9,216,177,220,60,0,9,216,178,220,60,0,9,216,179,220,60,0,9,216,180,220,60,0,9,216,181,220,60,0,9,216,182,220,60,0,9,216,183,220,60,0,9,216,184,220,60,0,9,216,185,220,60,0,9,216,186,220,60,0,9,216,187,220,60,0,9,216,188,220,60,0,9,216,189,220,60,0,9,216,190,220,60,0,9,216,191,220,60,0,9,216,192,220,60,0,9,216,193,220,60,0,9,216,194,220,60,0,9,216,195,220,60,0,9,216,196,220,60,0,9,216,197,220,60,0,9,216,198,220,60,0,9,216,199,220,60,0,9,216,200,220,60,0,9,216,201,220,60,0,9,216,202,220,60,0,9,216,203,220,60,0,9,216,204,220,60,0,9,216,205,220,60,0,9,216,206,220,60,0,9,216,207,220,60,0,9,216,208,220,60,0,9,216,209,220,60,0,9,216,210,220,60,0,9,216,211,220,60,0,9,216,212,220,60,0,9,216,213,220,60,0,9,216,214,220,60,0,9,216,215,220,60,0,9,216,216,220,60,0,9,216,217,220,60,0,9,216,218,220,60,0,9,216,219,220,60,0,9,216,220,220,60,0,9,216,221,220,60,0,9,216,222,220,60,0,9,216,223,220,60,0,9,216,224,220,60,0,9,216,225,220,60,0,9,216,226,220,60,0,9,216,227,220,60,0,9,216,228,220,60,0,9,216,229,220,60,0,9,216,230,220,60,0,9,216,231,220,60,0,9,216,232,220,60,0,9,216,233,220,60,0,9,216,234,220,60,0,9,216,235,220,60,0,9,216,236,220,60,0,9,216,237,220,60,0,9,216,238,220,60,0,9,216,239,220,60,0,9,216,240,220,60,0,9,216,241,220,60,0,9,216,242,220,60,0,9,216,243,220,60,0,9,216,244,220,60,0,9,216,245,220,60,0,9,216,246,220,60,0,9,216,247,220,60,0,9,216,248,220,60,0,9,216,249,220,60,0,9,216,250,220,60,0,9,216,251,220,60,0,9,216,252,220,60,0,9,216,253,220,60,0,9,216,254,220,60,0,9,216,255,220,60,0,9,216,0,221,60,0,9,216,1,221,60,0,9,216,2,221,60,0,9,216,3,221,60,0,9,216,4,221,60,0,9,216,5,221,60,0,9,216,6,221,60,0,9,216,7,221,60,0,9,216,8,221,60,0,9,216,9,221,60,0,9,216,10,221,60,0,9,216,11,221,60,0,9,216,12,221,60,0,9,216,13,221,60,0,9,216,14,221,60,0,9,216,15,221,60,0,9,216,16,221,60,0,9,216,17,221,60,0,9,216,18,221,60,0,9,216,19,221,60,0,9,216,20,221,60,0,9,216,21,221,60,0,9,216,22,221,60,0,9,216,23,221,60,0,9,216,24,221,60,0,9,216,25,221,60,0,9,216,26,221,60,0,9,216,27,221,60,0,9,216,28,221,60,0,9,216,29,221,60,0,9,216,30,221,60,0,9,216,31,221,60,0,9,216,32,221,60,0,9,216,33,221,60,0,9,216,34,221,60,0,9,216,35,221,60,0,9,216,36,221,60,0,9,216,37,221,60,0,9,216,38,221,60,0,9,216,39,221,60,0,9,216,40,221,60,0,9,216,41,221,60,0,9,216,42,221,60,0,9,216,43,221,60,0,9,216,44,221,60,0,9,216,45,221,60,0,9,216,46,221,60,0,9,216,47,221,60,0,9,216,48,221,60,0,9,216,49,221,60,0,9,216,50,221,60,0,9,216,51,221,60,0,9,216,52,221,60,0,9,216,53,221,60,0,9,216,54,221,60,0,9,216,55,221,60,0,9,216,56,221,60,0,9,216,57,221,60,0,9,216,58,221,60,0,9,216,59,221,60,0,9,216,60,221,60,0,9,216,61,221,60,0,9,216,62,221,60,0,9,216,63,221,60,0,9,216,64,221,60,0,9,216,65,221,60,0,9,216,66,221,60,0,9,216,67,221,60,0,12,216,0,220,60,0,12,216,1,220,60,0,12,216,2,220,60,0,12,216,3,220,60,0,12,216,4,220,60,0,12,216,5,220,60,0,12,216,6,220,60,0,12,216,7,220,60,0,12,216,8,220,60,0,12,216,9,220,60,0,12,216,10,220,60,0,12,216,11,220,60,0,12,216,12,220,60,0,12,216,13,220,60,0,12,216,14,220,60,0,12,216,15,220,60,0,12,216,16,220,60,0,12,216,17,220,60,0,12,216,18,220,60,0,12,216,19,220,60,0,12,216,20,220,60,0,12,216,21,220,60,0,12,216,22,220,60,0,12,216,23,220,60,0,12,216,24,220,60,0,12,216,25,220,60,0,12,216,26,220,60,0,12,216,27,220,60,0,12,216,28,220,60,0,12,216,29,220,60,0,12,216,30,220,60,0,12,216,31,220,60,0,12,216,32,220,60,0,12,216,33,220,60,0,12,216,34,220,60,0,12,216,35,220,60,0,12,216,36,220,60,0,12,216,37,220,60,0,12,216,38,220,60,0,12,216,39,220,60,0,12,216,40,220,60,0,12,216,41,220,60,0,12,216,42,220,60,0,12,216,43,220,60,0,12,216,44,220,60,0,12,216,45,220,60,0,12,216,46,220,60,0,12,216,47,220,60,0,12,216,48,220,60,0,12,216,49,220,60,0,12,216,50,220,60,0,12,216,51,220,60,0,12,216,52,220,60,0,12,216,53,220,60,0,12,216,54,220,60,0,12,216,55,220,60,0,12,216,56,220,60,0,12,216,57,220,60,0,12,216,58,220,60,0,12,216,59,220,60,0,12,216,60,220,60,0,12,216,61,220,60,0,12,216,62,220,60,0,12,216,63,220,60,0,12,216,64,220,60,0,12,216,65,220,60,0,12,216,66,220,60,0,12,216,67,220,60,0,12,216,68,220,60,0,12,216,69,220,60,0,12,216,70,220,60,0,12,216,71,220,60,0,12,216,72,220,60,0,12,216,73,220,60,0,12,216,74,220,60,0,12,216,75,220,60,0,12,216,76,220,60,0,12,216,77,220,60,0,12,216,78,220,60,0,12,216,79,220,60,0,12,216,80,220,60,0,12,216,81,220,60,0,12,216,82,220,60,0,12,216,83,220,60,0,12,216,84,220,60,0,12,216,85,220,60,0,12,216,86,220,60,0,12,216,87,220,60,0,12,216,88,220,60,0,12,216,89,220,60,0,12,216,90,220,60,0,12,216,91,220,60,0,12,216,92,220,60,0,12,216,93,220,60,0,12,216,94,220,60,0,12,216,95,220,60,0,12,216,96,220,60,0,12,216,97,220,60,0,12,216,98,220,60,0,12,216,99,220,60,0,12,216,100,220,60,0,12,216,101,220,60,0,12,216,102,220,60,0,12,216,103,220,60,0,12,216,104,220,60,0,12,216,105,220,60,0,12,216,106,220,60,0,12,216,107,220,60,0,12,216,108,220,60,0,12,216,109,220,60,0,12,216,110,220,60,0,12,216,111,220,60,0,12,216,112,220,60,0,12,216,113,220,60,0,12,216,114,220,60,0,12,216,115,220,60,0,12,216,116,220,60,0,12,216,117,220,60,0,12,216,118,220,60,0,12,216,119,220,60,0,12,216,120,220,60,0,12,216,121,220,60,0,12,216,122,220,60,0,12,216,123,220,60,0,12,216,124,220,60,0,12,216,125,220,60,0,12,216,126,220,60,0,12,216,127,220,60,0,12,216,128,220,60,0,12,216,129,220,60,0,12,216,130,220,60,0,12,216,131,220,60,0,12,216,132,220,60,0,12,216,133,220,60,0,12,216,134,220,60,0,12,216,135,220,60,0,12,216,136,220,60,0,12,216,137,220,60,0,12,216,138,220,60,0,12,216,139,220,60,0,12,216,140,220,60,0,12,216,141,220,60,0,12,216,142,220,60,0,12,216,143,220,60,0,12,216,144,220,60,0,12,216,145,220,60,0,12,216,146,220,60,0,12,216,147,220,60,0,12,216,148,220,60,0,12,216,149,220,60,0,12,216,150,220,60,0,12,216,151,220,60,0,12,216,152,220,60,0,12,216,153,220,60,0,12,216,154,220,60,0,12,216,155,220,60,0,12,216,156,220,60,0,12,216,157,220,60,0,12,216,158,220,60,0,12,216,159,220,60,0,12,216,160,220,60,0,12,216,161,220,60,0,12,216,162,220,60,0,12,216,163,220,60,0,12,216,164,220,60,0,12,216,165,220,60,0,12,216,166,220,60,0,12,216,167,220,60,0,12,216,168,220,60,0,12,216,169,220,60,0,12,216,170,220,60,0,12,216,171,220,60,0,12,216,172,220,60,0,12,216,173,220,60,0,12,216,174,220,60,0,12,216,175,220,60,0,12,216,176,220,60,0,12,216,177,220,60,0,12,216,178,220,60,0,12,216,179,220,60,0,12,216,180,220,60,0,12,216,181,220,60,0,12,216,182,220,60,0,12,216,183,220,60,0,12,216,184,220,60,0,12,216,185,220,60,0,12,216,186,220,60,0,12,216,187,220,60,0,12,216,188,220,60,0,12,216,189,220,60,0,12,216,190,220,60,0,12,216,191,220,60,0,12,216,192,220,60,0,12,216,193,220,60,0,12,216,194,220,60,0,12,216,195,220,60,0,12,216,196,220,60,0,12,216,197,220,60,0,12,216,198,220,60,0,12,216,199,220,60,0,12,216,200,220,60,0,12,216,201,220,60,0,12,216,202,220,60,0,12,216,203,220,60,0,12,216,204,220,60,0,12,216,205,220,60,0,12,216,206,220,60,0,12,216,207,220,60,0,12,216,208,220,60,0,12,216,209,220,60,0,12,216,210,220,60,0,12,216,211,220,60,0,12,216,212,220,60,0,12,216,213,220,60,0,12,216,214,220,60,0,12,216,215,220,60,0,12,216,216,220,60,0,12,216,217,220,60,0,12,216,218,220,60,0,12,216,219,220,60,0,12,216,220,220,60,0,12,216,221,220,60,0,12,216,222,220,60,0,12,216,223,220,60,0,12,216,224,220,60,0,12,216,225,220,60,0,12,216,226,220,60,0,12,216,227,220,60,0,12,216,228,220,60,0,12,216,229,220,60,0,12,216,230,220,60,0,12,216,231,220,60,0,12,216,232,220,60,0,12,216,233,220,60,0,12,216,234,220,60,0,12,216,235,220,60,0,12,216,236,220,60,0,12,216,237,220,60,0,12,216,238,220,60,0,12,216,239,220,60,0,12,216,240,220,60,0,12,216,241,220,60,0,12,216,242,220,60,0,12,216,243,220,60,0,12,216,244,220,60,0,12,216,245,220,60,0,12,216,246,220,60,0,12,216,247,220,60,0,12,216,248,220,60,0,12,216,249,220,60,0,12,216,250,220,60,0,12,216,251,220,60,0,12,216,252,220,60,0,12,216,253,220,60,0,12,216,254,220,60,0,12,216,255,220,60,0,12,216,0,221,60,0,12,216,1,221,60,0,12,216,2,221,60,0,12,216,3,221,60,0,12,216,4,221,60,0,12,216,5,221,60,0,12,216,6,221,60,0,12,216,7,221,60,0,12,216,8,221,60,0,12,216,9,221,60,0,12,216,10,221,60,0,12,216,11,221,60,0,12,216,12,221,60,0,12,216,13,221,60,0,12,216,14,221,60,0,12,216,15,221,60,0,12,216,16,221,60,0,12,216,17,221,60,0,12,216,18,221,60,0,12,216,19,221,60,0,12,216,20,221,60,0,12,216,21,221,60,0,12,216,22,221,60,0,12,216,23,221,60,0,12,216,24,221,60,0,12,216,25,221,60,0,12,216,26,221,60,0,12,216,27,221,60,0,12,216,28,221,60,0,12,216,29,221,60,0,12,216,30,221,60,0,12,216,31,221,60,0,12,216,32,221,60,0,12,216,33,221,60,0,12,216,34,221,60,0,12,216,35,221,60,0,12,216,36,221,60,0,12,216,37,221,60,0,12,216,38,221,60,0,12,216,39,221,60,0,12,216,40,221,60,0,12,216,41,221,60,0,12,216,42,221,60,0,12,216,43,221,60,0,12,216,44,221,60,0,12,216,45,221,60,0,12,216,46,221,60,0,12,216,47,221,60,0,12,216,48,221,60,0,12,216,49,221,60,0,12,216,50,221,60,0,12,216,51,221,60,0,12,216,52,221,60,0,12,216,53,221,60,0,12,216,54,221,60,0,12,216,55,221,60,0,12,216,56,221,60,0,12,216,57,221,60,0,12,216,58,221,60,0,12,216,59,221,60,0,12,216,60,221,60,0,12,216,61,221,60,0,12,216,62,221,60,0,12,216,63,221,60,0,12,216,64,221,60,0,12,216,65,221,60,0,12,216,66,221,60,0,12,216,67,221,60,0,12,216,68,221,60,0,12,216,69,221,60,0,12,216,70,221,60,0,12,216,71,221,60,0,12,216,72,221,60,0,12,216,73,221,60,0,12,216,74,221,60,0,12,216,75,221,60,0,12,216,76,221,60,0,12,216,77,221,60,0,12,216,78,221,60,0,12,216,79,221,60,0,12,216,80,221,60,0,12,216,81,221,60,0,12,216,82,221,60,0,12,216,83,221,60,0,12,216,84,221,60,0,12,216,85,221,60,0,12,216,86,221,60,0,12,216,87,221,60,0,12,216,88,221,60,0,12,216,89,221,60,0,12,216,90,221,60,0,12,216,91,221,60,0,12,216,92,221,60,0,12,216,93,221,60,0,12,216,94,221,60,0,12,216,95,221,60,0,12,216,96,221,60,0,12,216,97,221,60,0,12,216,98,221,60,0,12,216,99,221,60,0,12,216,100,221,60,0,12,216,101,221,60,0,12,216,102,221,60,0,12,216,103,221,60,0,12,216,104,221,60,0,12,216,105,221,60,0,12,216,106,221,60,0,12,216,107,221,60,0,12,216,108,221,60,0,12,216,109,221,60,0,12,216,110,221,60,0,12,216,111,221,60,0,12,216,112,221,60,0,12,216,113,221,60,0,12,216,114,221,60,0,12,216,115,221,60,0,12,216,116,221,60,0,12,216,117,221,60,0,12,216,118,221,60,0,12,216,119,221,60,0,12,216,120,221,60,0,12,216,121,221,60,0,12,216,122,221,60,0,12,216,123,221,60,0,12,216,124,221,60,0,12,216,125,221,60,0,12,216,126,221,60,0,12,216,127,221,60,0,12,216,128,221,60,0,12,216,129,221,60,0,12,216,130,221,60,0,12,216,131,221,60,0,12,216,132,221,60,0,12,216,133,221,60,0,12,216,134,221,60,0,12,216,135,221,60,0,12,216,136,221,60,0,12,216,137,221,60,0,12,216,138,221,60,0,12,216,139,221,60,0,12,216,140,221,60,0,12,216,141,221,60,0,12,216,142,221,60,0,12,216,143,221,60,0,12,216,144,221,60,0,12,216,145,221,60,0,12,216,146,221,60,0,12,216,147,221,60,0,12,216,148,221,60,0,12,216,149,221,60,0,12,216,150,221,60,0,12,216,151,221,60,0,12,216,152,221,60,0,12,216,153,221,60,0,12,216,154,221,60,0,12,216,155,221,60,0,12,216,156,221,60,0,12,216,157,221,60,0,12,216,158,221,60,0,12,216,159,221,60,0,12,216,160,221,60,0,12,216,161,221,60,0,12,216,162,221,60,0,12,216,163,221,60,0,12,216,164,221,60,0,12,216,165,221,60,0,12,216,166,221,60,0,12,216,167,221,60,0,12,216,168,221,60,0,12,216,169,221,60,0,12,216,170,221,60,0,12,216,171,221,60,0,12,216,172,221,60,0,12,216,173,221,60,0,12,216,174,221,60,0,12,216,175,221,60,0,12,216,176,221,60,0,12,216,177,221,60,0,12,216,178,221,60,0,12,216,179,221,60,0,12,216,180,221,60,0,12,216,181,221,60,0,12,216,182,221,60,0,12,216,183,221,60,0,12,216,184,221,60,0,12,216,185,221,60,0,12,216,186,221,60,0,12,216,187,221,60,0,12,216,188,221,60,0,12,216,189,221,60,0,12,216,190,221,60,0,12,216,191,221,60,0,12,216,192,221,60,0,12,216,193,221,60,0,12,216,194,221,60,0,12,216,195,221,60,0,12,216,196,221,60,0,12,216,197,221,60,0,12,216,198,221,60,0,12,216,199,221,60,0,12,216,200,221,60,0,12,216,201,221,60,0,12,216,202,221,60,0,12,216,203,221,60,0,12,216,204,221,60,0,12,216,205,221,60,0,12,216,206,221,60,0,12,216,207,221,60,0,12,216,208,221,60,0,12,216,209,221,60,0,12,216,210,221,60,0,12,216,211,221,60,0,12,216,212,221,60,0,12,216,213,221,60,0,12,216,214,221,60,0,12,216,215,221,60,0,12,216,216,221,60,0,12,216,217,221,60,0,12,216,218,221,60,0,12,216,219,221,60,0,12,216,220,221,60,0,12,216,221,221,60,0,12,216,222,221,60,0,12,216,223,221,60,0,12,216,224,221,60,0,12,216,225,221,60,0,12,216,226,221,60,0,12,216,227,221,60,0,12,216,228,221,60,0,12,216,229,221,60,0,12,216,230,221,60,0,12,216,231,221,60,0,12,216,232,221,60,0,12,216,233,221,60,0,12,216,234,221,60,0,12,216,235,221,60,0,12,216,236,221,60,0,12,216,237,221,60,0,12,216,238,221,60,0,12,216,239,221,60,0,12,216,240,221,60,0,12,216,241,221,60,0,12,216,242,221,60,0,12,216,243,221,60,0,12,216,244,221,60,0,12,216,245,221,60,0,12,216,246,221,60,0,12,216,247,221,60,0,12,216,248,221,60,0,12,216,249,221,60,0,12,216,250,221,60,0,12,216,251,221,60,0,12,216,252,221,60,0,12,216,253,221,60,0,12,216,254,221,60,0,12,216,255,221,60,0,12,216,0,222,60,0,12,216,1,222,60,0,12,216,2,222,60,0,12,216,3,222,60,0,12,216,4,222,60,0,12,216,5,222,60,0,12,216,6,222,60,0,12,216,7,222,60,0,12,216,8,222,60,0,12,216,9,222,60,0,12,216,10,222,60,0,12,216,11,222,60,0,12,216,12,222,60,0,12,216,13,222,60,0,12,216,14,222,60,0,12,216,15,222,60,0,12,216,16,222,60,0,12,216,17,222,60,0,12,216,18,222,60,0,12,216,19,222,60,0,12,216,20,222,60,0,12,216,21,222,60,0,12,216,22,222,60,0,12,216,23,222,60,0,12,216,24,222,60,0,12,216,25,222,60,0,12,216,26,222,60,0,12,216,27,222,60,0,12,216,28,222,60,0,12,216,29,222,60,0,12,216,30,222,60,0,12,216,31,222,60,0,12,216,32,222,60,0,12,216,33,222,60,0,12,216,34,222,60,0,12,216,35,222,60,0,12,216,36,222,60,0,12,216,37,222,60,0,12,216,38,222,60,0,12,216,39,222,60,0,12,216,40,222,60,0,12,216,41,222,60,0,12,216,42,222,60,0,12,216,43,222,60,0,12,216,44,222,60,0,12,216,45,222,60,0,12,216,46,222,60,0,12,216,47,222,60,0,12,216,48,222,60,0,12,216,49,222,60,0,12,216,50,222,60,0,12,216,51,222,60,0,12,216,52,222,60,0,12,216,53,222,60,0,12,216,54,222,60,0,12,216,55,222,60,0,12,216,56,222,60,0,12,216,57,222,60,0,12,216,58,222,60,0,12,216,59,222,60,0,12,216,60,222,60,0,12,216,61,222,60,0,12,216,62,222,60,0,12,216,63,222,60,0,12,216,64,222,60,0,12,216,65,222,60,0,12,216,66,222,60,0,12,216,67,222,60,0,12,216,68,222,60,0,12,216,69,222,60,0,12,216,70,222,60,0,12,216,71,222,60,0,12,216,72,222,60,0,12,216,73,222,60,0,12,216,74,222,60,0,12,216,75,222,60,0,12,216,76,222,60,0,12,216,77,222,60,0,12,216,78,222,60,0,12,216,79,222,60,0,12,216,80,222,60,0,12,216,81,222,60,0,12,216,82,222,60,0,12,216,83,222,60,0,12,216,84,222,60,0,12,216,85,222,60,0,12,216,86,222,60,0,12,216,87,222,60,0,12,216,88,222,60,0,12,216,89,222,60,0,12,216,90,222,60,0,12,216,91,222,60,0,12,216,92,222,60,0,12,216,93,222,60,0,12,216,94,222,60,0,12,216,95,222,60,0,12,216,96,222,60,0,12,216,97,222,60,0,12,216,98,222,60,0,12,216,99,222,60,0,12,216,100,222,60,0,12,216,101,222,60,0,12,216,102,222,60,0,12,216,103,222,60,0,12,216,104,222,60,0,12,216,105,222,60,0,12,216,106,222,60,0,12,216,107,222,60,0,12,216,108,222,60,0,12,216,109,222,60,0,12,216,110,222,60,0,12,216,111,222,60,0,12,216,112,222,60,0,12,216,113,222,60,0,12,216,114,222,60,0,12,216,115,222,60,0,12,216,116,222,60,0,12,216,117,222,60,0,12,216,118,222,60,0,12,216,119,222,60,0,12,216,120,222,60,0,12,216,121,222,60,0,12,216,122,222,60,0,12,216,123,222,60,0,12,216,124,222,60,0,12,216,125,222,60,0,12,216,126,222,60,0,12,216,127,222,60,0,12,216,128,222,60,0,12,216,129,222,60,0,12,216,130,222,60,0,12,216,131,222,60,0,12,216,132,222,60,0,12,216,133,222,60,0,12,216,134,222,60,0,12,216,135,222,60,0,12,216,136,222,60,0,12,216,137,222,60,0,12,216,138,222,60,0,12,216,139,222,60,0,12,216,140,222,60,0,12,216,141,222,60,0,12,216,142,222,60,0,12,216,143,222,60,0,12,216,144,222,60,0,12,216,145,222,60,0,12,216,146,222,60,0,12,216,147,222,60,0,12,216,148,222,60,0,12,216,149,222,60,0,12,216,150,222,60,0,12,216,151,222,60,0,12,216,152,222,60,0,12,216,153,222,60,0,12,216,154,222,60,0,12,216,155,222,60,0,12,216,156,222,60,0,12,216,157,222,60,0,12,216,158,222,60,0,12,216,159,222,60,0,12,216,160,222,60,0,12,216,161,222,60,0,12,216,162,222,60,0,12,216,163,222,60,0,12,216,164,222,60,0,12,216,165,222,60,0,12,216,166,222,60,0,12,216,167,222,60,0,12,216,168,222,60,0,12,216,169,222,60,0,12,216,170,222,60,0,12,216,171,222,60,0,12,216,172,222,60,0,12,216,173,222,60,0,12,216,174,222,60,0,12,216,175,222,60,0,12,216,176,222,60,0,12,216,177,222,60,0,12,216,178,222,60,0,12,216,179,222,60,0,12,216,180,222,60,0,12,216,181,222,60,0,12,216,182,222,60,0,12,216,183,222,60,0,12,216,184,222,60,0,12,216,185,222,60,0,12,216,186,222,60,0,12,216,187,222,60,0,12,216,188,222,60,0,12,216,189,222,60,0,12,216,190,222,60,0,12,216,191,222,60,0,12,216,192,222,60,0,12,216,193,222,60,0,12,216,194,222,60,0,12,216,195,222,60,0,12,216,196,222,60,0,12,216,197,222,60,0,12,216,198,222,60,0,12,216,199,222,60,0,12,216,200,222,60,0,12,216,201,222,60,0,12,216,202,222,60,0,12,216,203,222,60,0,12,216,204,222,60,0,12,216,205,222,60,0,12,216,206,222,60,0,12,216,207,222,60,0,12,216,208,222,60,0,12,216,209,222,60,0,12,216,210,222,60,0,12,216,211,222,60,0,12,216,212,222,60,0,12,216,213,222,60,0,12,216,214,222,60,0,12,216,215,222,60,0,12,216,216,222,60,0,12,216,217,222,60,0,12,216,218,222,60,0,12,216,219,222,60,0,12,216,220,222,60,0,12,216,221,222,60,0,12,216,222,222,60,0,12,216,223,222,60,0,12,216,224,222,60,0,12,216,225,222,60,0,12,216,226,222,60,0,12,216,227,222,60,0,12,216,228,222,60,0,12,216,229,222,60,0,12,216,230,222,60,0,12,216,231,222,60,0,12,216,232,222,60,0,12,216,233,222,60,0,12,216,234,222,60,0,12,216,235,222,60,0,12,216,236,222,60,0,12,216,237,222,60,0,12,216,238,222,60,0,12,216,239,222,60,0,12,216,240,222,60,0,12,216,241,222,60,0,12,216,242,222,60,0,12,216,243,222,60,0,12,216,244,222,60,0,12,216,245,222,60,0,12,216,246,222,60,0,12,216,247,222,60,0,12,216,248,222,60,0,12,216,249,222,60,0,12,216,250,222,60,0,12,216,251,222,60,0,12,216,252,222,60,0,12,216,253,222,60,0,12,216,254,222,60,0,12,216,255,222,60,0,12,216,0,223,60,0,12,216,1,223,60,0,12,216,2,223,60,0,12,216,3,223,60,0,12,216,4,223,60,0,12,216,5,223,60,0,12,216,6,223,60,0,12,216,7,223,60,0,12,216,8,223,60,0,12,216,9,223,60,0,12,216,10,223,60,0,12,216,11,223,60,0,12,216,12,223,60,0,12,216,13,223,60,0,12,216,14,223,60,0,12,216,15,223,60,0,12,216,16,223,60,0,12,216,17,223,60,0,12,216,18,223,60,0,12,216,19,223,60,0,12,216,20,223,60,0,12,216,21,223,60,0,12,216,22,223,60,0,12,216,23,223,60,0,12,216,24,223,60,0,12,216,25,223,60,0,12,216,26,223,60,0,12,216,27,223,60,0,12,216,28,223,60,0,12,216,29,223,60,0,12,216,30,223,60,0,12,216,31,223,60,0,12,216,32,223,60,0,12,216,33,223,60,0,12,216,34,223,60,0,12,216,35,223,60,0,12,216,36,223,60,0,12,216,37,223,60,0,12,216,38,223,60,0,12,216,39,223,60,0,12,216,40,223,60,0,12,216,41,223,60,0,12,216,42,223,60,0,12,216,43,223,60,0,12,216,44,223,60,0,12,216,45,223,60,0,12,216,46,223,60,0,12,216,47,223,60,0,12,216,48,223,60,0,12,216,49,223,60,0,12,216,50,223,60,0,12,216,51,223,60,0,12,216,52,223,60,0,12,216,53,223,60,0,12,216,54,223,60,0,12,216,55,223,60,0,12,216,56,223,60,0,12,216,57,223,60,0,12,216,58,223,60,0,12,216,59,223,60,0,12,216,60,223,60,0,12,216,61,223,60,0,12,216,62,223,60,0,12,216,63,223,60,0,12,216,64,223,60,0,12,216,65,223,60,0,12,216,66,223,60,0,12,216,67,223,60,0,12,216,68,223,60,0,12,216,69,223,60,0,12,216,70,223,60,0,12,216,71,223,60,0,12,216,72,223,60,0,12,216,73,223,60,0,12,216,74,223,60,0,12,216,75,223,60,0,12,216,76,223,60,0,12,216,77,223,60,0,12,216,78,223,60,0,12,216,79,223,60,0,12,216,80,223,60,0,12,216,81,223,60,0,12,216,82,223,60,0,12,216,83,223,60,0,12,216,84,223,60,0,12,216,85,223,60,0,12,216,86,223,60,0,12,216,87,223,60,0,12,216,88,223,60,0,12,216,89,223,60,0,12,216,90,223,60,0,12,216,91,223,60,0,12,216,92,223,60,0,12,216,93,223,60,0,12,216,94,223,60,0,12,216,95,223,60,0,12,216,96,223,60,0,12,216,97,223,60,0,12,216,98,223,60,0,12,216,99,223,60,0,12,216,100,223,60,0,12,216,101,223,60,0,12,216,102,223,60,0,12,216,103,223,60,0,12,216,104,223,60,0,12,216,105,223,60,0,12,216,106,223,60,0,12,216,107,223,60,0,12,216,108,223,60,0,12,216,109,223,60,0,12,216,110,223,60,0,12,216,111,223,60,0,12,216,112,223,60,0,12,216,113,223,60,0,12,216,114,223,60,0,12,216,115,223,60,0,12,216,116,223,60,0,12,216,117,223,60,0,12,216,118,223,60,0,12,216,119,223,60,0,12,216,120,223,60,0,12,216,121,223,60,0,12,216,122,223,60,0,12,216,123,223,60,0,12,216,124,223,60,0,12,216,125,223,60,0,12,216,126,223,60,0,12,216,127,223,60,0,12,216,128,223,60,0,12,216,129,223,60,0,12,216,130,223,60,0,12,216,131,223,60,0,12,216,132,223,60,0,12,216,133,223,60,0,12,216,134,223,60,0,12,216,135,223,60,0,12,216,136,223,60,0,12,216,137,223,60,0,12,216,138,223,60,0,12,216,139,223,60,0,12,216,140,223,60,0,12,216,141,223,60,0,12,216,142,223,60,0,12,216,143,223,60,0,12,216,144,223,60,0,12,216,145,223,60,0,12,216,146,223,60,0,12,216,147,223,60,0,12,216,148,223,60,0,12,216,149,223,60,0,12,216,150,223,60,0,12,216,151,223,60,0,12,216,152,223,60,0,12,216,153,223,60,0,12,216,154,223,60,0,12,216,155,223,60,0,12,216,156,223,60,0,12,216,157,223,60,0,12,216,158,223,60,0,12,216,159,223,60,0,12,216,160,223,60,0,12,216,161,223,60,0,12,216,162,223,60,0,12,216,163,223,60,0,12,216,164,223,60,0,12,216,165,223,60,0,12,216,166,223,60,0,12,216,167,223,60,0,12,216,168,223,60,0,12,216,169,223,60,0,12,216,170,223,60,0,12,216,171,223,60,0,12,216,172,223,60,0,12,216,173,223,60,0,12,216,174,223,60,0,12,216,175,223,60,0,12,216,176,223,60,0,12,216,177,223,60,0,12,216,178,223,60,0,12,216,179,223,60,0,12,216,180,223,60,0,12,216,181,223,60,0,12,216,182,223,60,0,12,216,183,223,60,0,12,216,184,223,60,0,12,216,185,223,60,0,12,216,186,223,60,0,12,216,187,223,60,0,12,216,188,223,60,0,12,216,189,223,60,0,12,216,190,223,60,0,12,216,191,223,60,0,12,216,192,223,60,0,12,216,193,223,60,0,12,216,194,223,60,0,12,216,195,223,60,0,12,216,196,223,60,0,12,216,197,223,60,0,12,216,198,223,60,0,12,216,199,223,60,0,12,216,200,223,60,0,12,216,201,223,60,0,12,216,202,223,60,0,12,216,203,223,60,0,12,216,204,223,60,0,12,216,205,223,60,0,12,216,206,223,60,0,12,216,207,223,60,0,12,216,208,223,60,0,12,216,209,223,60,0,12,216,210,223,60,0,12,216,211,223,60,0,12,216,212,223,60,0,12,216,213,223,60,0,12,216,214,223,60,0,12,216,215,223,60,0,12,216,216,223,60,0,12,216,217,223,60,0,12,216,218,223,60,0,12,216,219,223,60,0,12,216,220,223,60,0,12,216,221,223,60,0,12,216,222,223,60,0,12,216,223,223,60,0,12,216,224,223,60,0,12,216,225,223,60,0,12,216,226,223,60,0,12,216,227,223,60,0,12,216,228,223,60,0,12,216,229,223,60,0,12,216,230,223,60,0,12,216,231,223,60,0,12,216,232,223,60,0,12,216,233,223,60,0,12,216,234,223,60,0,12,216,235,223,60,0,12,216,236,223,60,0,12,216,237,223,60,0,12,216,238,223,60,0,12,216,239,223,60,0,12,216,240,223,60,0,12,216,241,223,60,0,12,216,242,223,60,0,12,216,243,223,60,0,12,216,244,223,60,0,12,216,245,223,60,0,12,216,246,223,60,0,12,216,247,223,60,0,12,216,248,223,60,0,12,216,249,223,60,0,12,216,250,223,60,0,12,216,251,223,60,0,12,216,252,223,60,0,12,216,253,223,60,0,12,216,254,223,60,0,12,216,255,223,60,0,13,216,0,220,60,0,13,216,1,220,60,0,13,216,2,220,60,0,13,216,3,220,60,0,13,216,4,220,60,0,13,216,5,220,60,0,13,216,6,220,60,0,13,216,7,220,60,0,13,216,8,220,60,0,13,216,9,220,60,0,13,216,10,220,60,0,13,216,11,220,60,0,13,216,12,220,60,0,13,216,13,220,60,0,13,216,14,220,60,0,13,216,15,220,60,0,13,216,16,220,60,0,13,216,17,220,60,0,13,216,18,220,60,0,13,216,19,220,60,0,13,216,20,220,60,0,13,216,21,220,60,0,13,216,22,220,60,0,13,216,23,220,60,0,13,216,24,220,60,0,13,216,25,220,60,0,13,216,26,220,60,0,13,216,27,220,60,0,13,216,28,220,60,0,13,216,29,220,60,0,13,216,30,220,60,0,13,216,31,220,60,0,13,216,32,220,60,0,13,216,33,220,60,0,13,216,34,220,60,0,13,216,35,220,60,0,13,216,36,220,60,0,13,216,37,220,60,0,13,216,38,220,60,0,13,216,39,220,60,0,13,216,40,220,60,0,13,216,41,220,60,0,13,216,42,220,60,0,13,216,43,220,60,0,13,216,44,220,60,0,13,216,45,220,60,0,13,216,46,220,60,0,13,216,47,220,60,0,13,216,65,220,60,0,13,216,66,220,60,0,13,216,67,220,60,0,13,216,68,220,60,0,13,216,69,220,60,0,13,216,70,220,60,0,14,32,2,216,160,221,14,32,60,0,60,0,14,32,2,216,128,221,14,32,60,0,14,32,2,216,161,221,14,32,60,0,60,0,14,32,2,216,129,221,14,32,60,0,14,32,2,216,162,221,14,32,60,0,60,0,14,32,2,216,130,221,14,32,60,0,14,32,2,216,163,221,14,32,60,0,60,0,14,32,2,216,131,221,14,32,60,0,14,32,2,216,164,221,14,32,60,0,60,0,14,32,2,216,132,221,14,32,60,0,14,32,2,216,165,221,14,32,60,0,60,0,14,32,2,216,133,221,14,32,60,0,14,32,2,216,166,221,14,32,60,0,60,0,14,32,2,216,134,221,14,32,60,0,60,0,14,32,2,216,135,221,14,32,60,0,14,32,2,216,167,221,14,32,60,0,60,0,14,32,2,216,136,221,14,32,60,0,14,32,2,216,168,221,14,32,60,0,60,0,14,32,2,216,137,221,14,32,60,0,14,32,2,216,169,221,14,32,60,0,60,0,14,32,2,216,138,221,14,32,60,0,60,0,14,32,2,216,139,221,14,32,60,0,14,32,2,216,170,221,14,32,60,0,60,0,14,32,2,216,140,221,14,32,60,0,60,0,14,32,2,216,141,221,14,32,60,0,14,32,2,216,171,221,14,32,60,0,60,0,14,32,2,216,142,221,14,32,60,0,60,0,14,32,2,216,143,221,14,32,60,0,14,32,2,216,172,221,14,32,60,0,60,0,14,32,2,216,144,221,14,32,60,0,14,32,2,216,173,221,14,32,60,0,60,0,14,32,2,216,145,221,14,32,60,0,14,32,2,216,174,221,14,32,60,0,60,0,14,32,2,216,146,221,14,32,60,0,14,32,2,216,175,221,14,32,60,0,60,0,14,32,2,216,176,221,14,32,60,0,60,0,14,32,2,216,147,221,14,32,60,0,60,0,14,32,2,216,148,221,14,32,60,0,14,32,2,216,177,221,14,32,60,0,60,0,14,32,2,216,149,221,14,32,60,0,14,32,2,216,178,221,14,32,60,0,60,0,14,32,2,216,150,221,14,32,60,0,14,32,2,216,179,221,14,32,60,0,60,0,14,32,2,216,151,221,14,32,60,0,14,32,2,216,180,221,14,32,60,0,60,0,14,32,2,216,152,221,14,32,60,0,60,0,14,32,2,216,153,221,14,32,60,0,14,32,2,216,181,221,14,32,60,0,60,0,14,32,2,216,154,221,14,32,60,0,60,0,14,32,2,216,155,221,14,32,60,0,14,32,2,216,182,221,14,32,60,0,60,0,14,32,2,216,156,221,14,32,60,0,14,32,2,216,183,221,14,32,60,0,60,0,14,32,2,216,157,221,14,32,60,0,14,32,2,216,190,221,14,32,60,0,14,32,2,216,191,221,14,32,60,0,14,32,2,216,158,221,14,32,60,0,14,32,2,216,159,221,14,32,60,0,17,216,0,220,60,0,17,216,1,220,60,0,17,216,2,220,60,0,17,216,3,220,60,0,17,216,4,220,60,0,17,216,5,220,60,0,17,216,6,220,60,0,17,216,7,220,60,0,17,216,8,220,60,0,17,216,9,220,60,0,17,216,10,220,60,0,17,216,11,220,60,0,17,216,12,220,60,0,17,216,13,220,60,0,17,216,14,220,60,0,17,216,15,220,60,0,17,216,16,220,60,0,17,216,17,220,60,0,17,216,18,220,60,0,17,216,19,220,60,0,17,216,20,220,60,0,17,216,21,220,60,0,17,216,22,220,60,0,17,216,23,220,60,0,17,216,24,220,60,0,17,216,25,220,60,0,17,216,26,220,60,0,17,216,27,220,60,0,17,216,28,220,60,0,17,216,29,220,60,0,17,216,30,220,60,0,17,216,31,220,60,0,17,216,32,220,60,0,17,216,33,220,60,0,17,216,34,220,60,0,17,216,35,220,60,0,17,216,36,220,60,0,17,216,37,220,60,0,17,216,38,220,60,0,17,216,39,220,60,0,17,216,40,220,60,0,17,216,41,220,60,0,17,216,42,220,60,0,17,216,43,220,60,0,17,216,44,220,60,0,17,216,45,220,60,0,17,216,46,220,60,0,17,216,47,220,60,0,17,216,48,220,60,0,17,216,49,220,60,0,17,216,50,220,60,0,17,216,51,220,60,0,17,216,52,220,60,0,17,216,53,220,60,0,17,216,54,220,60,0,17,216,55,220,60,0,17,216,56,220,60,0,17,216,57,220,60,0,17,216,58,220,60,0,17,216,59,220,60,0,17,216,60,220,60,0,17,216,61,220,60,0,17,216,62,220,60,0,17,216,63,220,60,0,17,216,64,220,60,0,17,216,65,220,60,0,17,216,66,220,60,0,17,216,67,220,60,0,17,216,68,220,60,0,17,216,69,220,60,0,17,216,70,220,60,0,17,216,71,220,60,0,17,216,72,220,60,0,17,216,73,220,60,0,17,216,74,220,60,0,17,216,75,220,60,0,17,216,76,220,60,0,17,216,77,220,60,0,17,216,78,220,60,0,17,216,79,220,60,0,17,216,80,220,60,0,17,216,81,220,60,0,17,216,82,220,60,0,17,216,83,220,60,0,17,216,84,220,60,0,17,216,85,220,60,0,17,216,86,220,60,0,17,216,87,220,60,0,17,216,88,220,60,0,17,216,89,220,60,0,17,216,90,220,60,0,17,216,91,220,60,0,17,216,92,220,60,0,17,216,93,220,60,0,17,216,94,220,60,0,17,216,95,220,60,0,17,216,96,220,60,0,17,216,97,220,60,0,17,216,98,220,60,0,17,216,99,220,60,0,17,216,100,220,60,0,17,216,101,220,60,0,17,216,102,220,60,0,17,216,103,220,60,0,17,216,104,220,60,0,17,216,105,220,60,0,17,216,106,220,60,0,17,216,107,220,60,0,17,216,108,220,60,0,17,216,109,220,60,0,17,216,110,220,60,0,17,216,111,220,60,0,17,216,112,220,60,0,17,216,113,220,60,0,17,216,114,220,60,0,17,216,115,220,60,0,17,216,116,220,60,0,17,216,117,220,60,0,17,216,118,220,60,0,17,216,119,220,60,0,17,216,120,220,60,0,17,216,121,220,60,0,17,216,122,220,60,0,17,216,123,220,60,0,17,216,124,220,60,0,17,216,125,220,60,0,17,216,126,220,60,0,17,216,127,220,60,0,17,216,128,220,60,0,17,216,129,220,60,0,17,216,130,220,60,0,17,216,131,220,60,0,17,216,132,220,60,0,17,216,133,220,60,0,17,216,134,220,60,0,17,216,135,220,60,0,17,216,136,220,60,0,17,216,137,220,60,0,17,216,138,220,60,0,17,216,139,220,60,0,17,216,140,220,60,0,17,216,141,220,60,0,17,216,142,220,60,0,17,216,143,220,60,0,17,216,144,220,60,0,17,216,145,220,60,0,17,216,146,220,60,0,17,216,147,220,60,0,17,216,148,220,60,0,17,216,149,220,60,0,17,216,150,220,60,0,17,216,151,220,60,0,17,216,152,220,60,0,17,216,153,220,60,0,17,216,154,220,60,0,17,216,155,220,60,0,17,216,156,220,60,0,17,216,157,220,60,0,17,216,158,220,60,0,17,216,159,220,60,0,17,216,160,220,60,0,17,216,161,220,60,0,17,216,162,220,60,0,17,216,163,220,60,0,17,216,164,220,60,0,17,216,165,220,60,0,17,216,166,220,60,0,17,216,167,220,60,0,17,216,168,220,60,0,17,216,169,220,60,0,17,216,170,220,60,0,17,216,171,220,60,0,17,216,172,220,60,0,17,216,173,220,60,0,17,216,174,220,60,0,17,216,175,220,60,0,17,216,176,220,60,0,17,216,177,220,60,0,17,216,178,220,60,0,17,216,179,220,60,0,17,216,180,220,60,0,17,216,181,220,60,0,17,216,182,220,60,0,17,216,183,220,60,0,17,216,184,220,60,0,17,216,185,220,60,0,17,216,186,220,60,0,17,216,187,220,60,0,17,216,188,220,60,0,17,216,189,220,60,0,17,216,190,220,60,0,17,216,191,220,60,0,17,216,192,220,60,0,17,216,193,220,60,0,17,216,194,220,60,0,17,216,195,220,60,0,17,216,196,220,60,0,17,216,197,220,60,0,17,216,198,220,60,0,17,216,199,220,60,0,17,216,200,220,60,0,17,216,201,220,60,0,17,216,202,220,60,0,17,216,203,220,60,0,17,216,204,220,60,0,17,216,205,220,60,0,17,216,206,220,60,0,17,216,207,220,60,0,17,216,208,220,60,0,17,216,209,220,60,0,17,216,210,220,60,0,17,216,211,220,60,0,17,216,212,220,60,0,17,216,213,220,60,0,17,216,214,220,60,0,17,216,215,220,60,0,17,216,216,220,60,0,17,216,217,220,60,0,17,216,218,220,60,0,17,216,219,220,60,0,17,216,220,220,60,0,17,216,221,220,60,0,17,216,222,220,60,0,17,216,223,220,60,0,17,216,224,220,60,0,17,216,225,220,60,0,17,216,226,220,60,0,17,216,227,220,60,0,17,216,228,220,60,0,17,216,229,220,60,0,17,216,230,220,60,0,17,216,231,220,60,0,17,216,232,220,60,0,17,216,233,220,60,0,17,216,234,220,60,0,17,216,235,220,60,0,17,216,236,220,60,0,17,216,237,220,60,0,17,216,238,220,60,0,17,216,239,220,60,0,17,216,240,220,60,0,17,216,241,220,60,0,17,216,242,220,60,0,17,216,243,220,60,0,17,216,244,220,60,0,17,216,245,220,60,0,17,216,246,220,60,0,17,216,247,220,60,0,17,216,248,220,60,0,17,216,249,220,60,0,17,216,250,220,60,0,17,216,251,220,60,0,17,216,252,220,60,0,17,216,253,220,60,0,17,216,254,220,60,0,17,216,255,220,60,0,17,216,0,221,60,0,17,216,1,221,60,0,17,216,2,221,60,0,17,216,3,221,60,0,17,216,4,221,60,0,17,216,5,221,60,0,17,216,6,221,60,0,17,216,7,221,60,0,17,216,8,221,60,0,17,216,9,221,60,0,17,216,10,221,60,0,17,216,11,221,60,0,17,216,12,221,60,0,17,216,13,221,60,0,17,216,14,221,60,0,17,216,15,221,60,0,17,216,16,221,60,0,17,216,17,221,60,0,17,216,18,221,60,0,17,216,19,221,60,0,17,216,20,221,60,0,17,216,21,221,60,0,17,216,22,221,60,0,17,216,23,221,60,0,17,216,24,221,60,0,17,216,25,221,60,0,17,216,26,221,60,0,17,216,27,221,60,0,17,216,28,221,60,0,17,216,29,221,60,0,17,216,30,221,60,0,17,216,31,221,60,0,17,216,32,221,60,0,17,216,33,221,60,0,17,216,34,221,60,0,17,216,35,221,60,0,17,216,36,221,60,0,17,216,37,221,60,0,17,216,38,221,60,0,17,216,39,221,60,0,17,216,40,221,60,0,17,216,41,221,60,0,17,216,42,221,60,0,17,216,43,221,60,0,17,216,44,221,60,0,17,216,45,221,60,0,17,216,46,221,60,0,17,216,47,221,60,0,17,216,48,221,60,0,17,216,49,221,60,0,17,216,50,221,60,0,17,216,51,221,60,0,17,216,52,221,60,0,17,216,53,221,60,0,17,216,54,221,60,0,17,216,55,221,60,0,17,216,56,221,60,0,17,216,57,221,60,0,17,216,58,221,60,0,17,216,59,221,60,0,17,216,60,221,60,0,17,216,61,221,60,0,17,216,62,221,60,0,17,216,63,221,60,0,17,216,64,221,60,0,17,216,65,221,60,0,17,216,66,221,60,0,17,216,67,221,60,0,17,216,68,221,60,0,17,216,69,221,60,0,17,216,70,221,60,0,17,216,71,221,60,0,17,216,72,221,60,0,17,216,73,221,60,0,17,216,74,221,60,0,17,216,75,221,60,0,17,216,76,221,60,0,17,216,77,221,60,0,17,216,78,221,60,0,17,216,79,221,60,0,17,216,80,221,60,0,17,216,81,221,60,0,17,216,82,221,60,0,17,216,83,221,60,0,17,216,84,221,60,0,17,216,85,221,60,0,17,216,86,221,60,0,17,216,87,221,60,0,17,216,88,221,60,0,17,216,89,221,60,0,17,216,90,221,60,0,17,216,91,221,60,0,17,216,92,221,60,0,17,216,93,221,60,0,17,216,94,221,60,0,17,216,95,221,60,0,17,216,96,221,60,0,17,216,97,221,60,0,17,216,98,221,60,0,17,216,99,221,60,0,17,216,100,221,60,0,17,216,101,221,60,0,17,216,102,221,60,0,17,216,103,221,60,0,17,216,104,221,60,0,17,216,105,221,60,0,17,216,106,221,60,0,17,216,107,221,60,0,17,216,108,221,60,0,17,216,109,221,60,0,17,216,110,221,60,0,17,216,111,221,60,0,17,216,112,221,60,0,17,216,113,221,60,0,17,216,114,221,60,0,17,216,115,221,60,0,17,216,116,221,60,0,17,216,117,221,60,0,17,216,118,221,60,0,17,216,119,221,60,0,17,216,120,221,60,0,17,216,121,221,60,0,17,216,122,221,60,0,17,216,123,221,60,0,17,216,124,221,60,0,17,216,125,221,60,0,17,216,126,221,60,0,17,216,127,221,60,0,17,216,128,221,60,0,17,216,129,221,60,0,17,216,130,221,60,0,17,216,131,221,60,0,17,216,132,221,60,0,17,216,133,221,60,0,17,216,134,221,60,0,17,216,135,221,60,0,17,216,136,221,60,0,17,216,137,221,60,0,17,216,138,221,60,0,17,216,139,221,60,0,17,216,140,221,60,0,17,216,141,221,60,0,17,216,142,221,60,0,17,216,143,221,60,0,17,216,144,221,60,0,17,216,145,221,60,0,17,216,146,221,60,0,17,216,147,221,60,0,17,216,148,221,60,0,17,216,149,221,60,0,17,216,150,221,60,0,17,216,151,221,60,0,17,216,152,221,60,0,17,216,153,221,60,0,17,216,154,221,60,0,17,216,155,221,60,0,17,216,156,221,60,0,17,216,157,221,60,0,17,216,158,221,60,0,17,216,159,221,60,0,17,216,160,221,60,0,17,216,161,221,60,0,17,216,162,221,60,0,17,216,163,221,60,0,17,216,164,221,60,0,17,216,165,221,60,0,17,216,166,221,60,0,17,216,167,221,60,0,17,216,168,221,60,0,17,216,169,221,60,0,17,216,170,221,60,0,17,216,171,221,60,0,17,216,172,221,60,0,17,216,173,221,60,0,17,216,174,221,60,0,17,216,175,221,60,0,17,216,176,221,60,0,17,216,177,221,60,0,17,216,178,221,60,0,17,216,179,221,60,0,17,216,180,221,60,0,17,216,181,221,60,0,17,216,182,221,60,0,17,216,183,221,60,0,17,216,184,221,60,0,17,216,185,221,60,0,17,216,186,221,60,0,17,216,187,221,60,0,17,216,188,221,60,0,17,216,189,221,60,0,17,216,190,221,60,0,17,216,191,221,60,0,17,216,192,221,60,0,17,216,193,221,60,0,17,216,194,221,60,0,17,216,195,221,60,0,17,216,196,221,60,0,17,216,197,221,60,0,17,216,198,221,60,0,17,216,199,221,60,0,17,216,200,221,60,0,17,216,201,221,60,0,17,216,202,221,60,0,17,216,203,221,60,0,17,216,204,221,60,0,17,216,205,221,60,0,17,216,206,221,60,0,17,216,207,221,60,0,17,216,208,221,60,0,17,216,209,221,60,0,17,216,210,221,60,0,17,216,211,221,60,0,17,216,212,221,60,0,17,216,213,221,60,0,17,216,214,221,60,0,17,216,215,221,60,0,17,216,216,221,60,0,17,216,217,221,60,0,17,216,218,221,60,0,17,216,219,221,60,0,17,216,220,221,60,0,17,216,221,221,60,0,17,216,222,221,60,0,17,216,223,221,60,0,17,216,224,221,60,0,17,216,225,221,60,0,17,216,226,221,60,0,17,216,227,221,60,0,17,216,228,221,60,0,17,216,229,221,60,0,17,216,230,221,60,0,17,216,231,221,60,0,17,216,232,221,60,0,17,216,233,221,60,0,17,216,234,221,60,0,17,216,235,221,60,0,17,216,236,221,60,0,17,216,237,221,60,0,17,216,238,221,60,0,17,216,239,221,60,0,17,216,240,221,60,0,17,216,241,221,60,0,17,216,242,221,60,0,17,216,243,221,60,0,17,216,244,221,60,0,17,216,245,221,60,0,17,216,246,221,60,0,17,216,247,221,60,0,17,216,248,221,60,0,17,216,249,221,60,0,17,216,250,221,60,0,17,216,251,221,60,0,17,216,252,221,60,0,17,216,253,221,60,0,17,216,254,221,60,0,17,216,255,221,60,0,17,216,0,222,60,0,17,216,1,222,60,0,17,216,2,222,60,0,17,216,3,222,60,0,17,216,4,222,60,0,17,216,5,222,60,0,17,216,6,222,60,0,17,216,7,222,60,0,17,216,8,222,60,0,17,216,9,222,60,0,17,216,10,222,60,0,17,216,11,222,60,0,17,216,12,222,60,0,17,216,13,222,60,0,17,216,14,222,60,0,17,216,15,222,60,0,17,216,16,222,60,0,17,216,17,222,60,0,17,216,18,222,60,0,17,216,19,222,60,0,17,216,20,222,60,0,17,216,21,222,60,0,17,216,22,222,60,0,17,216,23,222,60,0,17,216,24,222,60,0,17,216,25,222,60,0,17,216,26,222,60,0,17,216,27,222,60,0,17,216,28,222,60,0,17,216,29,222,60,0,17,216,30,222,60,0,17,216,31,222,60,0,17,216,32,222,60,0,17,216,33,222,60,0,17,216,34,222,60,0,17,216,35,222,60,0,17,216,36,222,60,0,17,216,37,222,60,0,17,216,38,222,60,0,17,216,39,222,60,0,17,216,40,222,60,0,17,216,41,222,60,0,17,216,42,222,60,0,17,216,43,222,60,0,17,216,44,222,60,0,17,216,45,222,60,0,17,216,46,222,60,0,17,216,47,222,60,0,17,216,48,222,60,0,17,216,49,222,60,0,17,216,50,222,60,0,17,216,51,222,60,0,17,216,52,222,60,0,17,216,53,222,60,0,17,216,54,222,60,0,17,216,55,222,60,0,17,216,56,222,60,0,17,216,57,222,60,0,17,216,58,222,60,0,17,216,59,222,60,0,17,216,60,222,60,0,17,216,61,222,60,0,17,216,62,222,60,0,17,216,63,222,60,0,17,216,64,222,60,0,17,216,65,222,60,0,17,216,66,222,60,0,17,216,67,222,60,0,17,216,68,222,60,0,17,216,69,222,60,0,17,216,70,222,38,0,0,78,60,0,60,0,60,0,0,47,60,0,60,0,60,0,128,50,60,0,60,0,60,0,146,49,60,0,60,0,60,0,60,216,41,222,38,0,1,78,60,0,60,0,60,0,156,49,38,0,3,78,60,0,60,0,60,0,134,50,38,0,9,78,60,0,60,0,60,0,130,50,60,0,60,0,60,0,148,49,60,0,60,0,60,0,60,216,42,222,38,0,10,78,60,0,60,0,60,0,164,50,60,0,60,0,60,0,150,49,38,0,11,78,60,0,60,0,60,0,166,50,60,0,60,0,60,0,152,49,38,0,25,78,60,0,60,0,60,0,155,49,38,0,40,78,60,0,60,0,60,0,1,47,38,0,44,78,60,0,60,0,60,0,166,46,38,0,45,78,60,0,60,0,60,0,165,50,60,0,60,0,60,0,151,49,60,0,60,0,60,0,60,216,45,222,38,0,54,78,60,0,60,0,60,0,2,47,60,0,60,0,128,46,38,0,63,78,60,0,60,0,60,0,3,47,38,0,89,78,60,0,60,0,60,0,4,47,60,0,60,0,60,0,154,49,60,0,60,0,132,46,38,0,90,78,60,0,60,0,60,0,131,46,38,0,91,78,60,0,60,0,60,0,130,46,38,0,93,78,60,0,60,0,60,0,136,50,38,0,133,78,60,0,60,0,60,0,5,47,38,0,140,78,60,0,60,0,60,0,6,47,60,0,60,0,60,0,129,50,60,0,60,0,60,0,147,49,60,0,60,0,60,0,60,216,20,222,38,0,148,78,60,0,60,0,60,0,132,50,38,0,160,78,60,0,60,0,60,0,7,47,38,0,164,78,60,0,60,0,60,0,60,216,24,222,38,0,186,78,60,0,60,0,60,0,8,47,60,0,60,0,60,0,159,49,38,0,187,78,60,0,60,0,60,0,133,46,38,0,228,78,60,0,255,50,47,0,140,84,38,0,1,79,60,0,60,0,60,0,173,50,38,0,17,79,60,0,60,0,60,0,161,50,38,0,42,81,60,0,60,0,60,0,157,50,38,0,63,81,60,0,60,0,60,0,9,47,38,0,101,81,60,0,60,0,60,0,10,47,38,0,107,81,60,0,60,0,60,0,11,47,60,0,60,0,60,0,135,50,38,0,109,81,60,0,60,0,60,0,133,50,38,0,130,81,60,0,60,0,60,0,12,47,60,0,60,0,134,46,38,0,141,81,60,0,60,0,60,0,60,216,30,222,38,0,150,81,60,0,60,0,60,0,13,47,38,0,153,81,60,0,60,0,60,0,162,50,38,0,171,81,60,0,60,0,60,0,14,47,38,0,224,81,60,0,60,0,60,0,15,47,60,0,60,0,135,46,38,0,245,81,60,0,60,0,60,0,16,47,38,0,0,82,60,0,60,0,60,0,17,47,60,0,60,0,136,46,38,0,2,82,60,0,60,0,60,0,137,46,38,0,29,82,60,0,60,0,60,0,60,216,32,222,38,0,77,82,60,0,60,0,60,0,60,216,28,222,38,0,114,82,60,0,60,0,60,0,60,216,57,222,38,0,155,82,60,0,60,0,60,0,18,47,38,0,180,82,60,0,60,0,60,0,152,50,38,0,249,82,60,0,60,0,60,0,19,47,38,0,21,83,60,0,60,0,60,0,20,47,38,0,26,83,60,0,60,0,60,0,21,47,38,0,56,83,60,0,60,0,60,0,22,47,38,0,59,83,60,0,60,0,60,0,169,50,38,0,65,83,60,0,60,0,60,0,23,47,61,0,56,48,60,0,60,0,60,0,137,50,38,0,68,83,60,0,60,0,60,0,57,48,38,0,69,83,60,0,60,0,60,0,58,48,38,0,84,83,60,0,60,0,60,0,175,50,38,0,92,83,60,0,60,0,60,0,24,47,60,0,60,0,138,46,38,0,105,83,60,0,60,0,60,0,25,47,60,0,60,0,139,46,38,0,112,83,60,0,60,0,60,0,158,50,38,0,130,83,60,0,60,0,60,0,26,47,60,0,60,0,129,46,38,0,182,83,60,0,60,0,60,0,27,47,38,0,200,83,60,0,60,0,60,0,28,47,38,0,204,83,60,0,60,0,60,0,60,216,18,222,38,0,227,83,60,0,60,0,60,0,29,47,38,0,239,83,60,0,60,0,60,0,60,216,81,222,38,0,243,83,60,0,60,0,60,0,168,50,60,0,60,0,60,0,60,216,46,222,38,0,8,84,60,0,60,0,60,0,60,216,52,222,38,0,13,84,60,0,60,0,60,0,148,50,38,0,57,84,60,0,60,0,60,0,60,216,37,222,38,0,79,85,60,0,60,0,60,0,68,50,38,0,182,85,60,0,60,0,60,0,60,216,58,222,38,0,215,86,60,0,60,0,60,0,30,47,38,0,219,86,60,0,60,0,60,0,131,50,60,0,60,0,60,0,149,49,38,0,31,87,60,0,60,0,60,0,31,47,60,0,60,0,60,0,143,50,38,0,48,87,60,0,60,0,60,0,158,49,38,0,235,88,60,0,60,0,60,0,32,47,38,0,240,88,60,0,60,0,60,0,60,216,36,222,38,0,2,89,60,0,60,0,60,0,33,47,38,0,10,89,60,0,60,0,60,0,34,47,38,0,21,89,60,0,60,0,60,0,35,47,38,0,26,89,60,0,60,0,60,0,60,216,21,222,38,0,28,89,60,0,60,0,60,0,176,50,38,0,39,89,60,0,60,0,60,0,36,47,60,0,60,0,60,0,125,51,47,0,99,107,38,0,41,89,60,0,60,0,60,0,157,49,60,0,60,0,60,0,60,216,23,222,38,0,115,89,60,0,60,0,60,0,37,47,60,0,60,0,60,0,155,50,38,0,80,91,60,0,60,0,60,0,38,47,38,0,87,91,60,0,60,0,60,0,60,216,17,222,38,0,102,91,60,0,60,0,60,0,171,50,38,0,128,91,60,0,60,0,60,0,39,47,38,0,151,91,60,0,60,0,60,0,170,50,38,0,248,91,60,0,60,0,60,0,40,47,38,0,15,92,60,0,60,0,60,0,41,47,60,0,60,0,140,46,60,0,60,0,141,46,38,0,34,92,60,0,60,0,60,0,144,46,61,0,42,47,60,0,60,0,142,46,38,0,35,92,60,0,60,0,60,0,143,46,60,0,60,0,145,46,38,0,56,92,60,0,60,0,60,0,43,47,38,0,110,92,60,0,60,0,60,0,44,47,38,0,113,92,60,0,60,0,60,0,45,47,38,0,219,93,60,0,60,0,60,0,46,47,38,0,229,93,60,0,60,0,60,0,47,47,38,0,230,93,60,0,60,0,60,0,167,50,60,0,60,0,60,0,60,216,44,222,38,0,241,93,60,0,60,0,60,0,48,47,38,0,243,93,60,0,60,0,60,0,146,46,38,0,254,93,60,0,60,0,60,0,49,47,38,0,114,94,60,0,60,0,60,0,50,47,38,0,115,94,60,0,123,51,47,0,16,98,38,0,122,94,60,0,60,0,60,0,147,46,61,0,51,47,38,0,124,94,60,0,60,0,60,0,69,50,38,0,127,94,60,0,60,0,60,0,52,47,38,0,244,94,60,0,60,0,60,0,53,47,38,0,254,94,60,0,60,0,60,0,54,47,38,0,11,95,60,0,60,0,60,0,55,47,38,0,19,95,60,0,60,0,60,0,56,47,38,0,80,95,60,0,60,0,60,0,57,47,60,0,60,0,149,46,38,0,81,95,60,0,60,0,60,0,148,46,38,0,97,95,60,0,60,0,60,0,58,47,38,0,115,95,60,0,60,0,60,0,59,47,38,0,140,95,60,0,60,0,60,0,60,216,29,222,38,0,151,95,60,0,60,0,60,0,60,216,80,222,38,0,195,95,60,0,60,0,60,0,60,47,60,0,60,0,151,46,38,0,196,95,60,0,60,0,60,0,150,46,38,0,8,98,60,0,60,0,60,0,61,47,38,0,54,98,60,0,60,0,60,0,62,47,38,0,75,98,60,0,60,0,60,0,63,47,60,0,60,0,60,0,60,216,16,222,38,0,76,98,60,0,60,0,60,0,152,46,38,0,83,98,60,0,60,0,60,0,60,216,49,222,38,0,149,98,60,0,60,0,60,0,60,216,39,222,38,0,7,99,60,0,60,0,60,0,60,216,47,222,38,0,85,99,60,0,60,0,60,0,60,216,40,222,38,0,47,101,60,0,60,0,60,0,64,47,38,0,52,101,60,0,60,0,60,0,65,47,38,0,53,101,60,0,60,0,60,0,153,46,38,0,135,101,60,0,60,0,60,0,66,47,60,0,60,0,60,0,70,50,38,0,151,101,60,0,60,0,60,0,67,47,38,0,153,101,60,0,60,0,60,0,60,216,27,222,38,0,164,101,60,0,60,0,60,0,68,47,38,0,176,101,60,0,60,0,60,0,60,216,31,222,38,0,185,101,60,0,60,0,60,0,69,47,38,0,224,101,60,0,60,0,60,0,70,47,38,0,225,101,60,0,60,0,60,0,155,46,38,0,229,101,60,0,60,0,60,0,71,47,60,0,60,0,60,0,144,50,60,0,60,0,156,46,38,0,14,102,60,0,126,51,47,0,187,108,38,0,32,102,60,0,60,0,60,0,60,216,25,222,38,0,45,102,60,0,124,51,47,0,140,84,38,0,240,102,60,0,60,0,60,0,72,47,38,0,8,103,60,0,60,0,60,0,73,47,60,0,60,0,60,0,138,50,60,0,60,0,60,0,60,216,55,222,60,0,60,0,157,46,38,0,9,103,60,0,60,0,60,0,146,50,60,0,60,0,60,0,60,216,54,222,38,0,40,103,60,0,60,0,60,0,74,47,60,0,60,0,60,0,141,50,38,0,42,104,60,0,60,0,60,0,145,50,60,0,60,0,60,0,127,51,47,0,15,95,26,79,62,121,38,0,32,107,60,0,60,0,60,0,75,47,38,0,98,107,60,0,60,0,60,0,76,47,38,0,99,107,60,0,60,0,60,0,163,50,38,0,121,107,60,0,60,0,60,0,77,47,38,0,122,107,60,0,60,0,158,46,38,0,179,107,60,0,60,0,60,0,78,47,38,0,203,107,60,0,60,0,60,0,79,47,38,0,205,107,60,0,60,0,60,0,159,46,38,0,212,107,60,0,60,0,60,0,80,47,38,0,219,107,60,0,60,0,60,0,81,47,38,0,15,108,60,0,60,0,60,0,82,47,38,0,17,108,60,0,60,0,60,0,160,46,38,0,20,108,60,0,60,0,60,0,83,47,38,0,52,108,60,0,60,0,60,0,84,47,60,0,60,0,60,0,140,50,38,0,53,108,60,0,60,0,60,0,161,46,38,0,58,108,60,0,60,0,60,0,162,46,38,0,232,108,60,0,60,0,60,0,159,50,38,0,128,110,60,0,60,0,60,0,60,216,53,222,38,0,20,111,60,0,60,0,60,0,60,216,38,222,38,0,107,112,60,0,60,0,60,0,85,47,60,0,60,0,60,0,139,50,38,0,108,112,60,0,60,0,60,0,163,46,38,0,33,113,60,0,60,0,60,0,60,216,26,222,38,0,42,114,60,0,60,0,60,0,86,47,38,0,43,114,60,0,60,0,60,0,164,46,60,0,60,0,165,46,38,0,54,114,60,0,60,0,60,0,87,47,38,0,59,114,60,0,60,0,60,0,88,47,38,0,63,114,60,0,60,0,60,0,89,47,38,0,71,114,60,0,60,0,60,0,90,47,38,0,89,114,60,0,60,0,60,0,91,47,38,0,91,114,60,0,60,0,60,0,92,47,60,0,60,0,167,46,38,0,121,114,60,0,60,0,60,0,149,50,38,0,172,114,60,0,60,0,60,0,93,47,38,0,173,114,60,0,60,0,60,0,168,46,38,0,132,115,60,0,60,0,60,0,94,47,38,0,137,115,60,0,60,0,60,0,95,47,38,0,139,115,60,0,60,0,169,46,38,0,220,116,60,0,60,0,60,0,96,47,38,0,230,116,60,0,60,0,60,0,97,47,38,0,24,117,60,0,60,0,60,0,98,47,38,0,31,117,60,0,60,0,60,0,99,47,60,0,60,0,60,0,60,216,34,222,38,0,40,117,60,0,60,0,60,0,100,47,38,0,48,117,60,0,60,0,60,0,101,47,38,0,50,117,60,0,60,0,60,0,153,49,38,0,51,117,60,0,60,0,60,0,60,216,56,222,38,0,55,117,60,0,60,0,60,0,154,50,38,0,139,117,60,0,60,0,60,0,102,47,60,0,60,0,170,46,38,0,146,117,60,0,60,0,60,0,103,47,38,0,118,118,60,0,60,0,60,0,104,47,38,0,125,118,60,0,60,0,60,0,105,47,38,0,174,118,60,0,60,0,60,0,106,47,38,0,191,118,60,0,60,0,60,0,107,47,38,0,227,118,60,0,60,0,60,0,172,50,38,0,238,118,60,0,60,0,60,0,108,47,60,0,60,0,171,46,38,0,219,119,60,0,60,0,60,0,109,47,38,0,226,119,60,0,60,0,60,0,110,47,38,0,243,119,60,0,60,0,60,0,111,47,38,0,58,121,60,0,60,0,60,0,112,47,60,0,60,0,172,46,38,0,59,121,60,0,60,0,60,0,173,46,38,0,62,121,60,0,60,0,60,0,147,50,38,0,93,121,60,0,60,0,60,0,151,50,38,0,129,121,60,0,60,0,60,0,60,216,50,222,38,0,184,121,60,0,60,0,60,0,113,47,38,0,190,121,60,0,60,0,60,0,114,47,38,0,216,121,60,0,60,0,60,0,153,50,38,0,116,122,60,0,60,0,60,0,115,47,38,0,122,122,60,0,60,0,60,0,60,216,51,222,38,0,203,122,60,0,60,0,60,0,116,47,38,0,249,122,60,0,60,0,60,0,117,47,60,0,60,0,174,46,38,0,143,123,60,0,60,0,60,0,71,50,38,0,115,124,60,0,60,0,60,0,118,47,38,0,248,124,60,0,60,0,60,0,119,47,38,0,249,124,60,0,60,0,60,0,175,46,38,0,66,125,60,0,60,0,60,0,60,216,33,222,38,0,159,126,60,0,60,0,60,0,176,46,38,0,54,127,60,0,60,0,60,0,120,47,38,0,81,127,60,0,60,0,60,0,121,47,38,0,82,127,60,0,60,0,60,0,178,46,60,0,60,0,181,46,38,0,83,127,60,0,60,0,60,0,177,46,60,0,60,0,179,46,60,0,60,0,180,46,38,0,138,127,60,0,60,0,60,0,122,47,60,0,60,0,182,46,60,0,60,0,183,46,38,0,139,127,60,0,60,0,60,0,184,46,38,0,189,127,60,0,60,0,60,0,123,47,38,0,1,128,60,0,60,0,60,0,124,47,38,0,2,128,60,0,60,0,60,0,185,46,38,0,12,128,60,0,60,0,60,0,125,47,38,0,18,128,60,0,60,0,60,0,126,47,38,0,51,128,60,0,60,0,60,0,127,47,38,0,127,128,60,0,60,0,60,0,128,47,60,0,60,0,187,46,38,0,128,128,60,0,60,0,60,0,186,46,38,0,137,128,60,0,60,0,60,0,129,47,60,0,60,0,188,46,38,0,227,129,60,0,60,0,60,0,130,47,38,0,234,129,60,0,60,0,60,0,131,47,38,0,243,129,60,0,60,0,60,0,132,47,38,0,252,129,60,0,60,0,60,0,133,47,60,0,60,0,189,46,38,0,12,130,60,0,60,0,60,0,134,47,38,0,27,130,60,0,60,0,60,0,135,47,38,0,31,130,60,0,60,0,60,0,136,47,38,0,110,130,60,0,60,0,60,0,137,47,38,0,114,130,60,0,60,0,60,0,138,47,38,0,120,130,60,0,60,0,60,0,139,47,38,0,121,130,60,0,60,0,60,0,190,46,60,0,60,0,191,46,60,0,60,0,192,46,38,0,77,134,60,0,60,0,60,0,140,47,38,0,78,134,60,0,60,0,60,0,193,46,38,0,107,134,60,0,60,0,60,0,141,47,38,0,64,136,60,0,60,0,60,0,142,47,38,0,76,136,60,0,60,0,60,0,143,47,38,0,99,136,60,0,60,0,60,0,144,47,38,0,100,136,60,0,60,0,60,0,194,46,38,0,126,137,60,0,60,0,60,0,145,47,38,0,127,137,60,0,60,0,60,0,196,46,38,0,128,137,60,0,60,0,60,0,195,46,38,0,139,137,60,0,60,0,60,0,146,47,38,0,193,137,60,0,60,0,60,0,197,46,38,0,210,137,60,0,60,0,60,0,198,46,61,0,147,47,60,0,60,0,199,46,38,0,227,137,60,0,60,0,60,0,60,216,22,222,38,0,0,138,60,0,60,0,60,0,148,47,38,0,160,139,60,0,60,0,60,0,200,46,38,0,55,140,60,0,60,0,60,0,149,47,38,0,70,140,60,0,60,0,60,0,150,47,38,0,85,140,60,0,60,0,60,0,151,47,38,0,120,140,60,0,60,0,60,0,152,47,38,0,157,140,60,0,60,0,60,0,153,47,38,0,161,140,60,0,60,0,60,0,150,50,38,0,169,140,60,0,60,0,60,0,60,216,35,222,38,0,199,140,60,0,60,0,60,0,174,50,38,0,29,141,60,0,60,0,60,0,201,46,38,0,100,141,60,0,60,0,60,0,154,47,38,0,112,141,60,0,60,0,60,0,155,47,60,0,60,0,60,0,60,216,48,222,38,0,179,141,60,0,60,0,60,0,156,47,60,0,60,0,202,46,38,0,171,142,60,0,60,0,60,0,157,47,38,0,202,142,60,0,60,0,60,0,158,47,38,0,102,143,60,0,60,0,60,0,203,46,38,0,155,143,60,0,60,0,60,0,159,47,38,0,176,143,60,0,60,0,60,0,160,47,38,0,181,143,60,0,60,0,60,0,161,47,38,0,182,143,60,0,60,0,60,0,204,46,60,0,60,0,205,46,60,0,60,0,206,46,38,0,74,144,60,0,60,0,60,0,60,216,43,222,38,0,105,144,60,0,60,0,60,0,156,50,38,0,145,144,60,0,60,0,60,0,162,47,60,0,60,0,207,46,38,0,73,145,60,0,60,0,60,0,163,47,38,0,77,145,60,0,60,0,60,0,60,216,59,222,38,0,198,145,60,0,60,0,60,0,164,47,38,0,204,145,60,0,60,0,60,0,165,47,38,0,209,145,60,0,60,0,60,0,166,47,60,0,60,0,60,0,142,50,38,0,133,148,60,0,60,0,60,0,208,46,38,0,119,149,60,0,60,0,60,0,209,46,61,0,167,47,38,0,120,149,60,0,60,0,60,0,210,46,38,0,127,149,60,0,60,0,60,0,211,46,38,0,128,149,60,0,60,0,60,0,168,47,38,0,232,149,60,0,60,0,60,0,212,46,38,0,28,150,60,0,60,0,60,0,169,47,60,0,60,0,213,46,38,0,29,150,60,0,60,0,60,0,214,46,38,0,182,150,60,0,60,0,60,0,170,47,38,0,185,150,60,0,60,0,60,0,171,47,38,0,232,150,60,0,60,0,60,0,172,47,60,0,60,0,215,46,38,0,81,151,60,0,60,0,60,0,173,47,38,0,82,151,60,0,60,0,60,0,216,46,38,0,94,151,60,0,60,0,60,0,174,47,38,0,98,151,60,0,60,0,60,0,175,47,38,0,105,151,60,0,60,0,60,0,176,47,38,0,203,151,60,0,60,0,60,0,177,47,38,0,230,151,60,0,60,0,60,0,217,46,38,0,237,151,60,0,60,0,60,0,178,47,38,0,243,151,60,0,60,0,60,0,179,47,38,0,1,152,60,0,60,0,60,0,180,47,38,0,5,152,60,0,60,0,60,0,160,50,38,0,117,152,60,0,60,0,60,0,218,46,38,0,168,152,60,0,60,0,60,0,181,47,38,0,206,152,60,0,60,0,60,0,219,46,38,0,219,152,60,0,60,0,60,0,182,47,38,0,222,152,60,0,60,0,60,0,220,46,38,0,223,152,60,0,60,0,60,0,221,46,61,0,183,47,38,0,224,152,60,0,60,0,60,0,223,46,60,0,60,0,222,46,38,0,99,153,60,0,60,0,60,0,224,46,38,0,150,153,60,0,60,0,60,0,184,47,60,0,60,0,225,46,38,0,153,153,60,0,60,0,60,0,185,47,38,0,172,153,60,0,60,0,60,0,186,47,38,0,108,154,60,0,60,0,60,0,226,46,38,0,168,154,60,0,60,0,60,0,187,47,60,0,60,0,227,46,38,0,216,154,60,0,60,0,60,0,188,47,38,0,223,154,60,0,60,0,60,0,189,47,38,0,37,155,60,0,60,0,60,0,190,47,38,0,47,155,60,0,60,0,60,0,191,47,38,0,50,155,60,0,60,0,60,0,192,47,38,0,60,155,60,0,60,0,60,0,193,47,60,0,60,0,228,46,38,0,90,155,60,0,60,0,60,0,194,47,38,0,124,156,60,0,60,0,60,0,229,46,38,0,229,156,60,0,60,0,60,0,195,47,38,0,31,158,60,0,60,0,60,0,230,46,38,0,117,158,60,0,60,0,60,0,196,47,60,0,60,0,231,46,38,0,127,158,60,0,60,0,60,0,197,47,38,0,165,158,60,0,60,0,60,0,198,47,38,0,166,158,60,0,60,0,60,0,232,46,38,0,187,158,60,0,60,0,60,0,199,47,38,0,195,158,60,0,60,0,60,0,200,47,38,0,196,158,60,0,60,0,60,0,233,46,38,0,205,158,60,0,60,0,60,0,201,47,38,0,209,158,60,0,60,0,60,0,202,47,38,0,249,158,60,0,60,0,60,0,203,47,38,0,253,158,60,0,60,0,60,0,204,47,38,0,254,158,60,0,60,0,60,0,234,46,38,0,14,159,60,0,60,0,60,0,205,47,38,0,19,159,60,0,60,0,60,0,206,47,38,0,32,159,60,0,60,0,60,0,207,47,38,0,59,159,60,0,60,0,60,0,208,47,38,0,74,159,60,0,60,0,60,0,209,47,60,0,60,0,235,46,38,0,80,159,60,0,60,0,60,0,236,46,38,0,82,159,60,0,60,0,60,0,210,47,60,0,60,0,237,46,38,0,127,159,60,0,60,0,60,0,238,46,38,0,141,159,60,0,60,0,60,0,211,47,60,0,60,0,239,46,38,0,153,159,60,0,60,0,60,0,240,46,38,0,156,159,60,0,60,0,60,0,212,47,60,0,60,0,241,46,60,0,60,0,242,46,38,0,159,159,60,0,60,0,60,0,243,46,38,0,160,159,60,0,60,0,60,0,213,47,38,0,14,250,61,0,14,250,38,0,15,250,61,0,15,250,38,0,17,250,61,0,17,250,38,0,19,250,61,0,19,250,38,0,20,250,61,0,20,250,38,0,31,250,61,0,31,250,38,0,33,250,61,0,33,250,38,0,35,250,61,0,35,250,38,0,36,250,61,0,36,250,38,0,39,250,61,0,39,250,38,0,40,250,61,0,40,250,38,0,41,250,61,0,41,250,38,0,1,14,64,14,61,0,64,14,1,14,38,0,1,14,65,14,61,0,65,14,1,14,38,0,1,14,66,14,61,0,66,14,1,14,38,0,1,14,67,14,61,0,67,14,1,14,38,0,1,14,68,14,61,0,68,14,1,14,38,0,2,14,64,14,61,0,64,14,2,14,38,0,2,14,65,14,61,0,65,14,2,14,38,0,2,14,66,14,61,0,66,14,2,14,38,0,2,14,67,14,61,0,67,14,2,14,38,0,2,14,68,14,61,0,68,14,2,14,38,0,3,14,64,14,61,0,64,14,3,14,38,0,3,14,65,14,61,0,65,14,3,14,38,0,3,14,66,14,61,0,66,14,3,14,38,0,3,14,67,14,61,0,67,14,3,14,38,0,3,14,68,14,61,0,68,14,3,14,38,0,4,14,64,14,61,0,64,14,4,14,38,0,4,14,65,14,61,0,65,14,4,14,38,0,4,14,66,14,61,0,66,14,4,14,38,0,4,14,67,14,61,0,67,14,4,14,38,0,4,14,68,14,61,0,68,14,4,14,38,0,5,14,64,14,61,0,64,14,5,14,38,0,5,14,65,14,61,0,65,14,5,14,38,0,5,14,66,14,61,0,66,14,5,14,38,0,5,14,67,14,61,0,67,14,5,14,38,0,5,14,68,14,61,0,68,14,5,14,38,0,6,14,64,14,61,0,64,14,6,14,38,0,6,14,65,14,61,0,65,14,6,14,38,0,6,14,66,14,61,0,66,14,6,14,38,0,6,14,67,14,61,0,67,14,6,14,38,0,6,14,68,14,61,0,68,14,6,14,38,0,7,14,64,14,61,0,64,14,7,14,38,0,7,14,65,14,61,0,65,14,7,14,38,0,7,14,66,14,61,0,66,14,7,14,38,0,7,14,67,14,61,0,67,14,7,14,38,0,7,14,68,14,61,0,68,14,7,14,38,0,8,14,64,14,61,0,64,14,8,14,38,0,8,14,65,14,61,0,65,14,8,14,38,0,8,14,66,14,61,0,66,14,8,14,38,0,8,14,67,14,61,0,67,14,8,14,38,0,8,14,68,14,61,0,68,14,8,14,38,0,9,14,64,14,61,0,64,14,9,14,38,0,9,14,65,14,61,0,65,14,9,14,38,0,9,14,66,14,61,0,66,14,9,14,38,0,9,14,67,14,61,0,67,14,9,14,38,0,9,14,68,14,61,0,68,14,9,14,38,0,10,14,64,14,61,0,64,14,10,14,38,0,10,14,65,14,61,0,65,14,10,14,38,0,10,14,66,14,61,0,66,14,10,14,38,0,10,14,67,14,61,0,67,14,10,14,38,0,10,14,68,14,61,0,68,14,10,14,38,0,11,14,64,14,61,0,64,14,11,14,38,0,11,14,65,14,61,0,65,14,11,14,38,0,11,14,66,14,61,0,66,14,11,14,38,0,11,14,67,14,61,0,67,14,11,14,38,0,11,14,68,14,61,0,68,14,11,14,38,0,12,14,64,14,61,0,64,14,12,14,38,0,12,14,65,14,61,0,65,14,12,14,38,0,12,14,66,14,61,0,66,14,12,14,38,0,12,14,67,14,61,0,67,14,12,14,38,0,12,14,68,14,61,0,68,14,12,14,38,0,13,14,64,14,61,0,64,14,13,14,38,0,13,14,65,14,61,0,65,14,13,14,38,0,13,14,66,14,61,0,66,14,13,14,38,0,13,14,67,14,61,0,67,14,13,14,38,0,13,14,68,14,61,0,68,14,13,14,38,0,14,14,64,14,61,0,64,14,14,14,38,0,14,14,65,14,61,0,65,14,14,14,38,0,14,14,66,14,61,0,66,14,14,14,38,0,14,14,67,14,61,0,67,14,14,14,38,0,14,14,68,14,61,0,68,14,14,14,38,0,15,14,64,14,61,0,64,14,15,14,38,0,15,14,65,14,61,0,65,14,15,14,38,0,15,14,66,14,61,0,66,14,15,14,38,0,15,14,67,14,61,0,67,14,15,14,38,0,15,14,68,14,61,0,68,14,15,14,38,0,16,14,64,14,61,0,64,14,16,14,38,0,16,14,65,14,61,0,65,14,16,14,38,0,16,14,66,14,61,0,66,14,16,14,38,0,16,14,67,14,61,0,67,14,16,14,38,0,16,14,68,14,61,0,68,14,16,14,38,0,17,14,64,14,61,0,64,14,17,14,38,0,17,14,65,14,61,0,65,14,17,14,38,0,17,14,66,14,61,0,66,14,17,14,38,0,17,14,67,14,61,0,67,14,17,14,38,0,17,14,68,14,61,0,68,14,17,14,38,0,18,14,64,14,61,0,64,14,18,14,38,0,18,14,65,14,61,0,65,14,18,14,38,0,18,14,66,14,61,0,66,14,18,14,38,0,18,14,67,14,61,0,67,14,18,14,38,0,18,14,68,14,61,0,68,14,18,14,38,0,19,14,64,14,61,0,64,14,19,14,38,0,19,14,65,14,61,0,65,14,19,14,38,0,19,14,66,14,61,0,66,14,19,14,38,0,19,14,67,14,61,0,67,14,19,14,38,0,19,14,68,14,61,0,68,14,19,14,38,0,20,14,64,14,61,0,64,14,20,14,38,0,20,14,65,14,61,0,65,14,20,14,38,0,20,14,66,14,61,0,66,14,20,14,38,0,20,14,67,14,61,0,67,14,20,14,38,0,20,14,68,14,61,0,68,14,20,14,38,0,21,14,64,14,61,0,64,14,21,14,38,0,21,14,65,14,61,0,65,14,21,14,38,0,21,14,66,14,61,0,66,14,21,14,38,0,21,14,67,14,61,0,67,14,21,14,38,0,21,14,68,14,61,0,68,14,21,14,38,0,22,14,64,14,61,0,64,14,22,14,38,0,22,14,65,14,61,0,65,14,22,14,38,0,22,14,66,14,61,0,66,14,22,14,38,0,22,14,67,14,61,0,67,14,22,14,38,0,22,14,68,14,61,0,68,14,22,14,38,0,23,14,64,14,61,0,64,14,23,14,38,0,23,14,65,14,61,0,65,14,23,14,38,0,23,14,66,14,61,0,66,14,23,14,38,0,23,14,67,14,61,0,67,14,23,14,38,0,23,14,68,14,61,0,68,14,23,14,38,0,24,14,64,14,61,0,64,14,24,14,38,0,24,14,65,14,61,0,65,14,24,14,38,0,24,14,66,14,61,0,66,14,24,14,38,0,24,14,67,14,61,0,67,14,24,14,38,0,24,14,68,14,61,0,68,14,24,14,38,0,25,14,64,14,61,0,64,14,25,14,38,0,25,14,65,14,61,0,65,14,25,14,38,0,25,14,66,14,61,0,66,14,25,14,38,0,25,14,67,14,61,0,67,14,25,14,38,0,25,14,68,14,61,0,68,14,25,14,38,0,26,14,64,14,61,0,64,14,26,14,38,0,26,14,65,14,61,0,65,14,26,14,38,0,26,14,66,14,61,0,66,14,26,14,38,0,26,14,67,14,61,0,67,14,26,14,38,0,26,14,68,14,61,0,68,14,26,14,38,0,27,14,64,14,61,0,64,14,27,14,38,0,27,14,65,14,61,0,65,14,27,14,38,0,27,14,66,14,61,0,66,14,27,14,38,0,27,14,67,14,61,0,67,14,27,14,38,0,27,14,68,14,61,0,68,14,27,14,38,0,28,14,64,14,61,0,64,14,28,14,38,0,28,14,65,14,61,0,65,14,28,14,38,0,28,14,66,14,61,0,66,14,28,14,38,0,28,14,67,14,61,0,67,14,28,14,38,0,28,14,68,14,61,0,68,14,28,14,38,0,29,14,64,14,61,0,64,14,29,14,38,0,29,14,65,14,61,0,65,14,29,14,38,0,29,14,66,14,61,0,66,14,29,14,38,0,29,14,67,14,61,0,67,14,29,14,38,0,29,14,68,14,61,0,68,14,29,14,38,0,30,14,64,14,61,0,64,14,30,14,38,0,30,14,65,14,61,0,65,14,30,14,38,0,30,14,66,14,61,0,66,14,30,14,38,0,30,14,67,14,61,0,67,14,30,14,38,0,30,14,68,14,61,0,68,14,30,14,38,0,31,14,64,14,61,0,64,14,31,14,38,0,31,14,65,14,61,0,65,14,31,14,38,0,31,14,66,14,61,0,66,14,31,14,38,0,31,14,67,14,61,0,67,14,31,14,38,0,31,14,68,14,61,0,68,14,31,14,38,0,32,14,64,14,61,0,64,14,32,14,38,0,32,14,65,14,61,0,65,14,32,14,38,0,32,14,66,14,61,0,66,14,32,14,38,0,32,14,67,14,61,0,67,14,32,14,38,0,32,14,68,14,61,0,68,14,32,14,38,0,33,14,64,14,61,0,64,14,33,14,38,0,33,14,65,14,61,0,65,14,33,14,38,0,33,14,66,14,61,0,66,14,33,14,38,0,33,14,67,14,61,0,67,14,33,14,38,0,33,14,68,14,61,0,68,14,33,14,38,0,34,14,64,14,61,0,64,14,34,14,38,0,34,14,65,14,61,0,65,14,34,14,38,0,34,14,66,14,61,0,66,14,34,14,38,0,34,14,67,14,61,0,67,14,34,14,38,0,34,14,68,14,61,0,68,14,34,14,38,0,35,14,64,14,61,0,64,14,35,14,38,0,35,14,65,14,61,0,65,14,35,14,38,0,35,14,66,14,61,0,66,14,35,14,38,0,35,14,67,14,61,0,67,14,35,14,38,0,35,14,68,14,61,0,68,14,35,14,38,0,36,14,64,14,61,0,64,14,36,14,38,0,36,14,65,14,61,0,65,14,36,14,38,0,36,14,66,14,61,0,66,14,36,14,38,0,36,14,67,14,61,0,67,14,36,14,38,0,36,14,68,14,61,0,68,14,36,14,38,0,37,14,64,14,61,0,64,14,37,14,38,0,37,14,65,14,61,0,65,14,37,14,38,0,37,14,66,14,61,0,66,14,37,14,38,0,37,14,67,14,61,0,67,14,37,14,38,0,37,14,68,14,61,0,68,14,37,14,38,0,38,14,64,14,61,0,64,14,38,14,38,0,38,14,65,14,61,0,65,14,38,14,38,0,38,14,66,14,61,0,66,14,38,14,38,0,38,14,67,14,61,0,67,14,38,14,38,0,38,14,68,14,61,0,68,14,38,14,38,0,39,14,64,14,61,0,64,14,39,14,38,0,39,14,65,14,61,0,65,14,39,14,38,0,39,14,66,14,61,0,66,14,39,14,38,0,39,14,67,14,61,0,67,14,39,14,38,0,39,14,68,14,61,0,68,14,39,14,38,0,40,14,64,14,61,0,64,14,40,14,38,0,40,14,65,14,61,0,65,14,40,14,38,0,40,14,66,14,61,0,66,14,40,14,38,0,40,14,67,14,61,0,67,14,40,14,38,0,40,14,68,14,61,0,68,14,40,14,38,0,41,14,64,14,61,0,64,14,41,14,38,0,41,14,65,14,61,0,65,14,41,14,38,0,41,14,66,14,61,0,66,14,41,14,38,0,41,14,67,14,61,0,67,14,41,14,38,0,41,14,68,14,61,0,68,14,41,14,38,0,42,14,64,14,61,0,64,14,42,14,38,0,42,14,65,14,61,0,65,14,42,14,38,0,42,14,66,14,61,0,66,14,42,14,38,0,42,14,67,14,61,0,67,14,42,14,38,0,42,14,68,14,61,0,68,14,42,14,38,0,43,14,64,14,61,0,64,14,43,14,38,0,43,14,65,14,61,0,65,14,43,14,38,0,43,14,66,14,61,0,66,14,43,14,38,0,43,14,67,14,61,0,67,14,43,14,38,0,43,14,68,14,61,0,68,14,43,14,38,0,44,14,64,14,61,0,64,14,44,14,38,0,44,14,65,14,61,0,65,14,44,14,38,0,44,14,66,14,61,0,66,14,44,14,38,0,44,14,67,14,61,0,67,14,44,14,38,0,44,14,68,14,61,0,68,14,44,14,38,0,45,14,64,14,61,0,64,14,45,14,38,0,45,14,65,14,61,0,65,14,45,14,38,0,45,14,66,14,61,0,66,14,45,14,38,0,45,14,67,14,61,0,67,14,45,14,38,0,45,14,68,14,61,0,68,14,45,14,38,0,46,14,64,14,61,0,64,14,46,14,38,0,46,14,65,14,61,0,65,14,46,14,38,0,46,14,66,14,61,0,66,14,46,14,38,0,46,14,67,14,61,0,67,14,46,14,38,0,46,14,68,14,61,0,68,14,46,14,38,0,222,14,192,14,61,0,192,14,222,14,38,0,222,14,193,14,61,0,193,14,222,14,38,0,222,14,194,14,61,0,194,14,222,14,38,0,222,14,195,14,61,0,195,14,222,14,38,0,222,14,196,14,61,0,196,14,222,14,38,0,129,14,192,14,61,0,192,14,129,14,38,0,129,14,193,14,61,0,193,14,129,14,38,0,129,14,194,14,61,0,194,14,129,14,38,0,129,14,195,14,61,0,195,14,129,14,38,0,129,14,196,14,61,0,196,14,129,14,38,0,130,14,192,14,61,0,192,14,130,14,38,0,130,14,193,14,61,0,193,14,130,14,38,0,130,14,194,14,61,0,194,14,130,14,38,0,130,14,195,14,61,0,195,14,130,14,38,0,130,14,196,14,61,0,196,14,130,14,38,0,132,14,192,14,61,0,192,14,132,14,38,0,132,14,193,14,61,0,193,14,132,14,38,0,132,14,194,14,61,0,194,14,132,14,38,0,132,14,195,14,61,0,195,14,132,14,38,0,132,14,196,14,61,0,196,14,132,14,38,0,134,14,192,14,61,0,192,14,134,14,38,0,134,14,193,14,61,0,193,14,134,14,38,0,134,14,194,14,61,0,194,14,134,14,38,0,134,14,195,14,61,0,195,14,134,14,38,0,134,14,196,14,61,0,196,14,134,14,38,0,135,14,192,14,61,0,192,14,135,14,38,0,135,14,193,14,61,0,193,14,135,14,38,0,135,14,194,14,61,0,194,14,135,14,38,0,135,14,195,14,61,0,195,14,135,14,38,0,135,14,196,14,61,0,196,14,135,14,38,0,136,14,192,14,61,0,192,14,136,14,38,0,136,14,193,14,61,0,193,14,136,14,38,0,136,14,194,14,61,0,194,14,136,14,38,0,136,14,195,14,61,0,195,14,136,14,38,0,136,14,196,14,61,0,196,14,136,14,38,0,137,14,192,14,61,0,192,14,137,14,38,0,137,14,193,14,61,0,193,14,137,14,38,0,137,14,194,14,61,0,194,14,137,14,38,0,137,14,195,14,61,0,195,14,137,14,38,0,137,14,196,14,61,0,196,14,137,14,38,0,170,14,192,14,61,0,192,14,170,14,38,0,170,14,193,14,61,0,193,14,170,14,38,0,170,14,194,14,61,0,194,14,170,14,38,0,170,14,195,14,61,0,195,14,170,14,38,0,170,14,196,14,61,0,196,14,170,14,38,0,138,14,192,14,61,0,192,14,138,14,38,0,138,14,193,14,61,0,193,14,138,14,38,0,138,14,194,14,61,0,194,14,138,14,38,0,138,14,195,14,61,0,195,14,138,14,38,0,138,14,196,14,61,0,196,14,138,14,38,0,140,14,192,14,61,0,192,14,140,14,38,0,140,14,193,14,61,0,193,14,140,14,38,0,140,14,194,14,61,0,194,14,140,14,38,0,140,14,195,14,61,0,195,14,140,14,38,0,140,14,196,14,61,0,196,14,140,14,38,0,142,14,192,14,61,0,192,14,142,14,38,0,142,14,193,14,61,0,193,14,142,14,38,0,142,14,194,14,61,0,194,14,142,14,38,0,142,14,195,14,61,0,195,14,142,14,38,0,142,14,196,14,61,0,196,14,142,14,38,0,223,14,192,14,61,0,192,14,223,14,38,0,223,14,193,14,61,0,193,14,223,14,38,0,223,14,194,14,61,0,194,14,223,14,38,0,223,14,195,14,61,0,195,14,223,14,38,0,223,14,196,14,61,0,196,14,223,14,38,0,141,14,192,14,61,0,192,14,141,14,38,0,141,14,193,14,61,0,193,14,141,14,38,0,141,14,194,14,61,0,194,14,141,14,38,0,141,14,195,14,61,0,195,14,141,14,38,0,141,14,196,14,61,0,196,14,141,14,38,0,143,14,192,14,61,0,192,14,143,14,38,0,143,14,193,14,61,0,193,14,143,14,38,0,143,14,194,14,61,0,194,14,143,14,38,0,143,14,195,14,61,0,195,14,143,14,38,0,143,14,196,14,61,0,196,14,143,14,38,0,144,14,192,14,61,0,192,14,144,14,38,0,144,14,193,14,61,0,193,14,144,14,38,0,144,14,194,14,61,0,194,14,144,14,38,0,144,14,195,14,61,0,195,14,144,14,38,0,144,14,196,14,61,0,196,14,144,14,38,0,145,14,192,14,61,0,192,14,145,14,38,0,145,14,193,14,61,0,193,14,145,14,38,0,145,14,194,14,61,0,194,14,145,14,38,0,145,14,195,14,61,0,195,14,145,14,38,0,145,14,196,14,61,0,196,14,145,14,38,0,146,14,192,14,61,0,192,14,146,14,38,0,146,14,193,14,61,0,193,14,146,14,38,0,146,14,194,14,61,0,194,14,146,14,38,0,146,14,195,14,61,0,195,14,146,14,38,0,146,14,196,14,61,0,196,14,146,14,38,0,147,14,192,14,61,0,192,14,147,14,38,0,147,14,193,14,61,0,193,14,147,14,38,0,147,14,194,14,61,0,194,14,147,14,38,0,147,14,195,14,61,0,195,14,147,14,38,0,147,14,196,14,61,0,196,14,147,14,38,0,148,14,192,14,61,0,192,14,148,14,38,0,148,14,193,14,61,0,193,14,148,14,38,0,148,14,194,14,61,0,194,14,148,14,38,0,148,14,195,14,61,0,195,14,148,14,38,0,148,14,196,14,61,0,196,14,148,14,38,0,149,14,192,14,61,0,192,14,149,14,38,0,149,14,193,14,61,0,193,14,149,14,38,0,149,14,194,14,61,0,194,14,149,14,38,0,149,14,195,14,61,0,195,14,149,14,38,0,149,14,196,14,61,0,196,14,149,14,38,0,150,14,192,14,61,0,192,14,150,14,38,0,150,14,193,14,61,0,193,14,150,14,38,0,150,14,194,14,61,0,194,14,150,14,38,0,150,14,195,14,61,0,195,14,150,14,38,0,150,14,196,14,61,0,196,14,150,14,38,0,151,14,192,14,61,0,192,14,151,14,38,0,151,14,193,14,61,0,193,14,151,14,38,0,151,14,194,14,61,0,194,14,151,14,38,0,151,14,195,14,61,0,195,14,151,14,38,0,151,14,196,14,61,0,196,14,151,14,38,0,152,14,192,14,61,0,192,14,152,14,38,0,152,14,193,14,61,0,193,14,152,14,38,0,152,14,194,14,61,0,194,14,152,14,38,0,152,14,195,14,61,0,195,14,152,14,38,0,152,14,196,14,61,0,196,14,152,14,38,0,153,14,192,14,61,0,192,14,153,14,38,0,153,14,193,14,61,0,193,14,153,14,38,0,153,14,194,14,61,0,194,14,153,14,38,0,153,14,195,14,61,0,195,14,153,14,38,0,153,14,196,14,61,0,196,14,153,14,38,0,154,14,192,14,61,0,192,14,154,14,38,0,154,14,193,14,61,0,193,14,154,14,38,0,154,14,194,14,61,0,194,14,154,14,38,0,154,14,195,14,61,0,195,14,154,14,38,0,154,14,196,14,61,0,196,14,154,14,38,0,155,14,192,14,61,0,192,14,155,14,38,0,155,14,193,14,61,0,193,14,155,14,38,0,155,14,194,14,61,0,194,14,155,14,38,0,155,14,195,14,61,0,195,14,155,14,38,0,155,14,196,14,61,0,196,14,155,14,38,0,156,14,192,14,61,0,192,14,156,14,38,0,156,14,193,14,61,0,193,14,156,14,38,0,156,14,194,14,61,0,194,14,156,14,38,0,156,14,195,14,61,0,195,14,156,14,38,0,156,14,196,14,61,0,196,14,156,14,38,0,157,14,192,14,61,0,192,14,157,14,38,0,157,14,193,14,61,0,193,14,157,14,38,0,157,14,194,14,61,0,194,14,157,14,38,0,157,14,195,14,61,0,195,14,157,14,38,0,157,14,196,14,61,0,196,14,157,14,38,0,158,14,192,14,61,0,192,14,158,14,38,0,158,14,193,14,61,0,193,14,158,14,38,0,158,14,194,14,61,0,194,14,158,14,38,0,158,14,195,14,61,0,195,14,158,14,38,0,158,14,196,14,61,0,196,14,158,14,38,0,159,14,192,14,61,0,192,14,159,14,38,0,159,14,193,14,61,0,193,14,159,14,38,0,159,14,194,14,61,0,194,14,159,14,38,0,159,14,195,14,61,0,195,14,159,14,38,0,159,14,196,14,61,0,196,14,159,14,38,0,160,14,192,14,61,0,192,14,160,14,38,0,160,14,193,14,61,0,193,14,160,14,38,0,160,14,194,14,61,0,194,14,160,14,38,0,160,14,195,14,61,0,195,14,160,14,38,0,160,14,196,14,61,0,196,14,160,14,38,0,161,14,192,14,61,0,192,14,161,14,38,0,161,14,193,14,61,0,193,14,161,14,38,0,161,14,194,14,61,0,194,14,161,14,38,0,161,14,195,14,61,0,195,14,161,14,38,0,161,14,196,14,61,0,196,14,161,14,38,0,162,14,192,14,61,0,192,14,162,14,38,0,162,14,193,14,61,0,193,14,162,14,38,0,162,14,194,14,61,0,194,14,162,14,38,0,162,14,195,14,61,0,195,14,162,14,38,0,162,14,196,14,61,0,196,14,162,14,38,0,163,14,192,14,61,0,192,14,163,14,38,0,163,14,193,14,61,0,193,14,163,14,38,0,163,14,194,14,61,0,194,14,163,14,38,0,163,14,195,14,61,0,195,14,163,14,38,0,163,14,196,14,61,0,196,14,163,14,38,0,165,14,192,14,61,0,192,14,165,14,38,0,165,14,193,14,61,0,193,14,165,14,38,0,165,14,194,14,61,0,194,14,165,14,38,0,165,14,195,14,61,0,195,14,165,14,38,0,165,14,196,14,61,0,196,14,165,14,38,0,167,14,192,14,61,0,192,14,167,14,38,0,167,14,193,14,61,0,193,14,167,14,38,0,167,14,194,14,61,0,194,14,167,14,38,0,167,14,195,14,61,0,195,14,167,14,38,0,167,14,196,14,61,0,196,14,167,14,38,0,168,14,192,14,61,0,192,14,168,14,38,0,168,14,193,14,61,0,193,14,168,14,38,0,168,14,194,14,61,0,194,14,168,14,38,0,168,14,195,14,61,0,195,14,168,14,38,0,168,14,196,14,61,0,196,14,168,14,38,0,169,14,192,14,61,0,192,14,169,14,38,0,169,14,193,14,61,0,193,14,169,14,38,0,169,14,194,14,61,0,194,14,169,14,38,0,169,14,195,14,61,0,195,14,169,14,38,0,169,14,196,14,61,0,196,14,169,14,38,0,171,14,192,14,61,0,192,14,171,14,38,0,171,14,193,14,61,0,193,14,171,14,38,0,171,14,194,14,61,0,194,14,171,14,38,0,171,14,195,14,61,0,195,14,171,14,38,0,171,14,196,14,61,0,196,14,171,14,38,0,220,14,192,14,61,0,192,14,220,14,38,0,220,14,193,14,61,0,193,14,220,14,38,0,220,14,194,14,61,0,194,14,220,14,38,0,220,14,195,14,61,0,195,14,220,14,38,0,220,14,196,14,61,0,196,14,220,14,38,0,221,14,192,14,61,0,192,14,221,14,38,0,221,14,193,14,61,0,193,14,221,14,38,0,221,14,194,14,61,0,194,14,221,14,38,0,221,14,195,14,61,0,195,14,221,14,38,0,221,14,196,14,61,0,196,14,221,14,38,0,172,14,192,14,61,0,192,14,172,14,38,0,172,14,193,14,61,0,193,14,172,14,38,0,172,14,194,14,61,0,194,14,172,14,38,0,172,14,195,14,61,0,195,14,172,14,38,0,172,14,196,14,61,0,196,14,172,14,38,0,173,14,192,14,61,0,192,14,173,14,38,0,173,14,193,14,61,0,193,14,173,14,38,0,173,14,194,14,61,0,194,14,173,14,38,0,173,14,195,14,61,0,195,14,173,14,38,0,173,14,196,14,61,0,196,14,173,14,38,0,174,14,192,14,61,0,192,14,174,14,38,0,174,14,193,14,61,0,193,14,174,14,38,0,174,14,194,14,61,0,194,14,174,14,38,0,174,14,195,14,61,0,195,14,174,14,38,0,174,14,196,14,61,0,196,14,174,14,38,0,128,170,181,170,61,0,181,170,128,170,38,0,128,170,182,170,61,0,182,170,128,170,38,0,128,170,185,170,61,0,185,170,128,170,38,0,128,170,187,170,61,0,187,170,128,170,38,0,128,170,188,170,61,0,188,170,128,170,38,0,129,170,181,170,61,0,181,170,129,170,38,0,129,170,182,170,61,0,182,170,129,170,38,0,129,170,185,170,61,0,185,170,129,170,38,0,129,170,187,170,61,0,187,170,129,170,38,0,129,170,188,170,61,0,188,170,129,170,38,0,130,170,181,170,61,0,181,170,130,170,38,0,130,170,182,170,61,0,182,170,130,170,38,0,130,170,185,170,61,0,185,170,130,170,38,0,130,170,187,170,61,0,187,170,130,170,38,0,130,170,188,170,61,0,188,170,130,170,38,0,131,170,181,170,61,0,181,170,131,170,38,0,131,170,182,170,61,0,182,170,131,170,38,0,131,170,185,170,61,0,185,170,131,170,38,0,131,170,187,170,61,0,187,170,131,170,38,0,131,170,188,170,61,0,188,170,131,170,38,0,132,170,181,170,61,0,181,170,132,170,38,0,132,170,182,170,61,0,182,170,132,170,38,0,132,170,185,170,61,0,185,170,132,170,38,0,132,170,187,170,61,0,187,170,132,170,38,0,132,170,188,170,61,0,188,170,132,170,38,0,133,170,181,170,61,0,181,170,133,170,38,0,133,170,182,170,61,0,182,170,133,170,38,0,133,170,185,170,61,0,185,170,133,170,38,0,133,170,187,170,61,0,187,170,133,170,38,0,133,170,188,170,61,0,188,170,133,170,38,0,134,170,181,170,61,0,181,170,134,170,38,0,134,170,182,170,61,0,182,170,134,170,38,0,134,170,185,170,61,0,185,170,134,170,38,0,134,170,187,170,61,0,187,170,134,170,38,0,134,170,188,170,61,0,188,170,134,170,38,0,135,170,181,170,61,0,181,170,135,170,38,0,135,170,182,170,61,0,182,170,135,170,38,0,135,170,185,170,61,0,185,170,135,170,38,0,135,170,187,170,61,0,187,170,135,170,38,0,135,170,188,170,61,0,188,170,135,170,38,0,136,170,181,170,61,0,181,170,136,170,38,0,136,170,182,170,61,0,182,170,136,170,38,0,136,170,185,170,61,0,185,170,136,170,38,0,136,170,187,170,61,0,187,170,136,170,38,0,136,170,188,170,61,0,188,170,136,170,38,0,137,170,181,170,61,0,181,170,137,170,38,0,137,170,182,170,61,0,182,170,137,170,38,0,137,170,185,170,61,0,185,170,137,170,38,0,137,170,187,170,61,0,187,170,137,170,38,0,137,170,188,170,61,0,188,170,137,170,38,0,138,170,181,170,61,0,181,170,138,170,38,0,138,170,182,170,61,0,182,170,138,170,38,0,138,170,185,170,61,0,185,170,138,170,38,0,138,170,187,170,61,0,187,170,138,170,38,0,138,170,188,170,61,0,188,170,138,170,38,0,139,170,181,170,61,0,181,170,139,170,38,0,139,170,182,170,61,0,182,170,139,170,38,0,139,170,185,170,61,0,185,170,139,170,38,0,139,170,187,170,61,0,187,170,139,170,38,0,139,170,188,170,61,0,188,170,139,170,38,0,140,170,181,170,61,0,181,170,140,170,38,0,140,170,182,170,61,0,182,170,140,170,38,0,140,170,185,170,61,0,185,170,140,170,38,0,140,170,187,170,61,0,187,170,140,170,38,0,140,170,188,170,61,0,188,170,140,170,38,0,141,170,181,170,61,0,181,170,141,170,38,0,141,170,182,170,61,0,182,170,141,170,38,0,141,170,185,170,61,0,185,170,141,170,38,0,141,170,187,170,61,0,187,170,141,170,38,0,141,170,188,170,61,0,188,170,141,170,38,0,142,170,181,170,61,0,181,170,142,170,38,0,142,170,182,170,61,0,182,170,142,170,38,0,142,170,185,170,61,0,185,170,142,170,38,0,142,170,187,170,61,0,187,170,142,170,38,0,142,170,188,170,61,0,188,170,142,170,38,0,143,170,181,170,61,0,181,170,143,170,38,0,143,170,182,170,61,0,182,170,143,170,38,0,143,170,185,170,61,0,185,170,143,170,38,0,143,170,187,170,61,0,187,170,143,170,38,0,143,170,188,170,61,0,188,170,143,170,38,0,144,170,181,170,61,0,181,170,144,170,38,0,144,170,182,170,61,0,182,170,144,170,38,0,144,170,185,170,61,0,185,170,144,170,38,0,144,170,187,170,61,0,187,170,144,170,38,0,144,170,188,170,61,0,188,170,144,170,38,0,145,170,181,170,61,0,181,170,145,170,38,0,145,170,182,170,61,0,182,170,145,170,38,0,145,170,185,170,61,0,185,170,145,170,38,0,145,170,187,170,61,0,187,170,145,170,38,0,145,170,188,170,61,0,188,170,145,170,38,0,146,170,181,170,61,0,181,170,146,170,38,0,146,170,182,170,61,0,182,170,146,170,38,0,146,170,185,170,61,0,185,170,146,170,38,0,146,170,187,170,61,0,187,170,146,170,38,0,146,170,188,170,61,0,188,170,146,170,38,0,147,170,181,170,61,0,181,170,147,170,38,0,147,170,182,170,61,0,182,170,147,170,38,0,147,170,185,170,61,0,185,170,147,170,38,0,147,170,187,170,61,0,187,170,147,170,38,0,147,170,188,170,61,0,188,170,147,170,38,0,148,170,181,170,61,0,181,170,148,170,38,0,148,170,182,170,61,0,182,170,148,170,38,0,148,170,185,170,61,0,185,170,148,170,38,0,148,170,187,170,61,0,187,170,148,170,38,0,148,170,188,170,61,0,188,170,148,170,38,0,149,170,181,170,61,0,181,170,149,170,38,0,149,170,182,170,61,0,182,170,149,170,38,0,149,170,185,170,61,0,185,170,149,170,38,0,149,170,187,170,61,0,187,170,149,170,38,0,149,170,188,170,61,0,188,170,149,170,38,0,150,170,181,170,61,0,181,170,150,170,38,0,150,170,182,170,61,0,182,170,150,170,38,0,150,170,185,170,61,0,185,170,150,170,38,0,150,170,187,170,61,0,187,170,150,170,38,0,150,170,188,170,61,0,188,170,150,170,38,0,151,170,181,170,61,0,181,170,151,170,38,0,151,170,182,170,61,0,182,170,151,170,38,0,151,170,185,170,61,0,185,170,151,170,38,0,151,170,187,170,61,0,187,170,151,170,38,0,151,170,188,170,61,0,188,170,151,170,38,0,152,170,181,170,61,0,181,170,152,170,38,0,152,170,182,170,61,0,182,170,152,170,38,0,152,170,185,170,61,0,185,170,152,170,38,0,152,170,187,170,61,0,187,170,152,170,38,0,152,170,188,170,61,0,188,170,152,170,38,0,153,170,181,170,61,0,181,170,153,170,38,0,153,170,182,170,61,0,182,170,153,170,38,0,153,170,185,170,61,0,185,170,153,170,38,0,153,170,187,170,61,0,187,170,153,170,38,0,153,170,188,170,61,0,188,170,153,170,38,0,154,170,181,170,61,0,181,170,154,170,38,0,154,170,182,170,61,0,182,170,154,170,38,0,154,170,185,170,61,0,185,170,154,170,38,0,154,170,187,170,61,0,187,170,154,170,38,0,154,170,188,170,61,0,188,170,154,170,38,0,155,170,181,170,61,0,181,170,155,170,38,0,155,170,182,170,61,0,182,170,155,170,38,0,155,170,185,170,61,0,185,170,155,170,38,0,155,170,187,170,61,0,187,170,155,170,38,0,155,170,188,170,61,0,188,170,155,170,38,0,156,170,181,170,61,0,181,170,156,170,38,0,156,170,182,170,61,0,182,170,156,170,38,0,156,170,185,170,61,0,185,170,156,170,38,0,156,170,187,170,61,0,187,170,156,170,38,0,156,170,188,170,61,0,188,170,156,170,38,0,157,170,181,170,61,0,181,170,157,170,38,0,157,170,182,170,61,0,182,170,157,170,38,0,157,170,185,170,61,0,185,170,157,170,38,0,157,170,187,170,61,0,187,170,157,170,38,0,157,170,188,170,61,0,188,170,157,170,38,0,158,170,181,170,61,0,181,170,158,170,38,0,158,170,182,170,61,0,182,170,158,170,38,0,158,170,185,170,61,0,185,170,158,170,38,0,158,170,187,170,61,0,187,170,158,170,38,0,158,170,188,170,61,0,188,170,158,170,38,0,159,170,181,170,61,0,181,170,159,170,38,0,159,170,182,170,61,0,182,170,159,170,38,0,159,170,185,170,61,0,185,170,159,170,38,0,159,170,187,170,61,0,187,170,159,170,38,0,159,170,188,170,61,0,188,170,159,170,38,0,160,170,181,170,61,0,181,170,160,170,38,0,160,170,182,170,61,0,182,170,160,170,38,0,160,170,185,170,61,0,185,170,160,170,38,0,160,170,187,170,61,0,187,170,160,170,38,0,160,170,188,170,61,0,188,170,160,170,38,0,161,170,181,170,61,0,181,170,161,170,38,0,161,170,182,170,61,0,182,170,161,170,38,0,161,170,185,170,61,0,185,170,161,170,38,0,161,170,187,170,61,0,187,170,161,170,38,0,161,170,188,170,61,0,188,170,161,170,38,0,162,170,181,170,61,0,181,170,162,170,38,0,162,170,182,170,61,0,182,170,162,170,38,0,162,170,185,170,61,0,185,170,162,170,38,0,162,170,187,170,61,0,187,170,162,170,38,0,162,170,188,170,61,0,188,170,162,170,38,0,163,170,181,170,61,0,181,170,163,170,38,0,163,170,182,170,61,0,182,170,163,170,38,0,163,170,185,170,61,0,185,170,163,170,38,0,163,170,187,170,61,0,187,170,163,170,38,0,163,170,188,170,61,0,188,170,163,170,38,0,164,170,181,170,61,0,181,170,164,170,38,0,164,170,182,170,61,0,182,170,164,170,38,0,164,170,185,170,61,0,185,170,164,170,38,0,164,170,187,170,61,0,187,170,164,170,38,0,164,170,188,170,61,0,188,170,164,170,38,0,165,170,181,170,61,0,181,170,165,170,38,0,165,170,182,170,61,0,182,170,165,170,38,0,165,170,185,170,61,0,185,170,165,170,38,0,165,170,187,170,61,0,187,170,165,170,38,0,165,170,188,170,61,0,188,170,165,170,38,0,166,170,181,170,61,0,181,170,166,170,38,0,166,170,182,170,61,0,182,170,166,170,38,0,166,170,185,170,61,0,185,170,166,170,38,0,166,170,187,170,61,0,187,170,166,170,38,0,166,170,188,170,61,0,188,170,166,170,38,0,167,170,181,170,61,0,181,170,167,170,38,0,167,170,182,170,61,0,182,170,167,170,38,0,167,170,185,170,61,0,185,170,167,170,38,0,167,170,187,170,61,0,187,170,167,170,38,0,167,170,188,170,61,0,188,170,167,170,38,0,168,170,181,170,61,0,181,170,168,170,38,0,168,170,182,170,61,0,182,170,168,170,38,0,168,170,185,170,61,0,185,170,168,170,38,0,168,170,187,170,61,0,187,170,168,170,38,0,168,170,188,170,61,0,188,170,168,170,38,0,169,170,181,170,61,0,181,170,169,170,38,0,169,170,182,170,61,0,182,170,169,170,38,0,169,170,185,170,61,0,185,170,169,170,38,0,169,170,187,170,61,0,187,170,169,170,38,0,169,170,188,170,61,0,188,170,169,170,38,0,170,170,181,170,61,0,181,170,170,170,38,0,170,170,182,170,61,0,182,170,170,170,38,0,170,170,185,170,61,0,185,170,170,170,38,0,170,170,187,170,61,0,187,170,170,170,38,0,170,170,188,170,61,0,188,170,170,170,38,0,171,170,181,170,61,0,181,170,171,170,38,0,171,170,182,170,61,0,182,170,171,170,38,0,171,170,185,170,61,0,185,170,171,170,38,0,171,170,187,170,61,0,187,170,171,170,38,0,171,170,188,170,61,0,188,170,171,170,38,0,172,170,181,170,61,0,181,170,172,170,38,0,172,170,182,170,61,0,182,170,172,170,38,0,172,170,185,170,61,0,185,170,172,170,38,0,172,170,187,170,61,0,187,170,172,170,38,0,172,170,188,170,61,0,188,170,172,170,38,0,173,170,181,170,61,0,181,170,173,170,38,0,173,170,182,170,61,0,182,170,173,170,38,0,173,170,185,170,61,0,185,170,173,170,38,0,173,170,187,170,61,0,187,170,173,170,38,0,173,170,188,170,61,0,188,170,173,170,38,0,174,170,181,170,61,0,181,170,174,170,38,0,174,170,182,170,61,0,182,170,174,170,38,0,174,170,185,170,61,0,185,170,174,170,38,0,174,170,187,170,61,0,187,170,174,170,38,0,174,170,188,170,61,0,188,170,174,170,38,0,175,170,181,170,61,0,181,170,175,170,38,0,175,170,182,170,61,0,182,170,175,170,38,0,175,170,185,170,61,0,185,170,175,170,38,0,175,170,187,170,61,0,187,170,175,170,38,0,175,170,188,170,61,0,188,170,175,170,38,0,128,25,181,25,61,0,181,25,128,25,38,0,128,25,182,25,61,0,182,25,128,25,38,0,128,25,183,25,61,0,183,25,128,25,38,0,128,25,186,25,61,0,186,25,128,25,38,0,129,25,181,25,61,0,181,25,129,25,38,0,129,25,182,25,61,0,182,25,129,25,38,0,129,25,183,25,61,0,183,25,129,25,38,0,129,25,186,25,61,0,186,25,129,25,38,0,130,25,181,25,61,0,181,25,130,25,38,0,130,25,182,25,61,0,182,25,130,25,38,0,130,25,183,25,61,0,183,25,130,25,38,0,130,25,186,25,61,0,186,25,130,25,38,0,131,25,181,25,61,0,181,25,131,25,38,0,131,25,182,25,61,0,182,25,131,25,38,0,131,25,183,25,61,0,183,25,131,25,38,0,131,25,186,25,61,0,186,25,131,25,38,0,132,25,181,25,61,0,181,25,132,25,38,0,132,25,182,25,61,0,182,25,132,25,38,0,132,25,183,25,61,0,183,25,132,25,38,0,132,25,186,25,61,0,186,25,132,25,38,0,133,25,181,25,61,0,181,25,133,25,38,0,133,25,182,25,61,0,182,25,133,25,38,0,133,25,183,25,61,0,183,25,133,25,38,0,133,25,186,25,61,0,186,25,133,25,38,0,134,25,181,25,61,0,181,25,134,25,38,0,134,25,182,25,61,0,182,25,134,25,38,0,134,25,183,25,61,0,183,25,134,25,38,0,134,25,186,25,61,0,186,25,134,25,38,0,135,25,181,25,61,0,181,25,135,25,38,0,135,25,182,25,61,0,182,25,135,25,38,0,135,25,183,25,61,0,183,25,135,25,38,0,135,25,186,25,61,0,186,25,135,25,38,0,136,25,181,25,61,0,181,25,136,25,38,0,136,25,182,25,61,0,182,25,136,25,38,0,136,25,183,25,61,0,183,25,136,25,38,0,136,25,186,25,61,0,186,25,136,25,38,0,137,25,181,25,61,0,181,25,137,25,38,0,137,25,182,25,61,0,182,25,137,25,38,0,137,25,183,25,61,0,183,25,137,25,38,0,137,25,186,25,61,0,186,25,137,25,38,0,138,25,181,25,61,0,181,25,138,25,38,0,138,25,182,25,61,0,182,25,138,25,38,0,138,25,183,25,61,0,183,25,138,25,38,0,138,25,186,25,61,0,186,25,138,25,38,0,139,25,181,25,61,0,181,25,139,25,38,0,139,25,182,25,61,0,182,25,139,25,38,0,139,25,183,25,61,0,183,25,139,25,38,0,139,25,186,25,61,0,186,25,139,25,38,0,140,25,181,25,61,0,181,25,140,25,38,0,140,25,182,25,61,0,182,25,140,25,38,0,140,25,183,25,61,0,183,25,140,25,38,0,140,25,186,25,61,0,186,25,140,25,38,0,141,25,181,25,61,0,181,25,141,25,38,0,141,25,182,25,61,0,182,25,141,25,38,0,141,25,183,25,61,0,183,25,141,25,38,0,141,25,186,25,61,0,186,25,141,25,38,0,142,25,181,25,61,0,181,25,142,25,38,0,142,25,182,25,61,0,182,25,142,25,38,0,142,25,183,25,61,0,183,25,142,25,38,0,142,25,186,25,61,0,186,25,142,25,38,0,143,25,181,25,61,0,181,25,143,25,38,0,143,25,182,25,61,0,182,25,143,25,38,0,143,25,183,25,61,0,183,25,143,25,38,0,143,25,186,25,61,0,186,25,143,25,38,0,144,25,181,25,61,0,181,25,144,25,38,0,144,25,182,25,61,0,182,25,144,25,38,0,144,25,183,25,61,0,183,25,144,25,38,0,144,25,186,25,61,0,186,25,144,25,38,0,145,25,181,25,61,0,181,25,145,25,38,0,145,25,182,25,61,0,182,25,145,25,38,0,145,25,183,25,61,0,183,25,145,25,38,0,145,25,186,25,61,0,186,25,145,25,38,0,146,25,181,25,61,0,181,25,146,25,38,0,146,25,182,25,61,0,182,25,146,25,38,0,146,25,183,25,61,0,183,25,146,25,38,0,146,25,186,25,61,0,186,25,146,25,38,0,147,25,181,25,61,0,181,25,147,25,38,0,147,25,182,25,61,0,182,25,147,25,38,0,147,25,183,25,61,0,183,25,147,25,38,0,147,25,186,25,61,0,186,25,147,25,38,0,148,25,181,25,61,0,181,25,148,25,38,0,148,25,182,25,61,0,182,25,148,25,38,0,148,25,183,25,61,0,183,25,148,25,38,0,148,25,186,25,61,0,186,25,148,25,38,0,149,25,181,25,61,0,181,25,149,25,38,0,149,25,182,25,61,0,182,25,149,25,38,0,149,25,183,25,61,0,183,25,149,25,38,0,149,25,186,25,61,0,186,25,149,25,38,0,150,25,181,25,61,0,181,25,150,25,38,0,150,25,182,25,61,0,182,25,150,25,38,0,150,25,183,25,61,0,183,25,150,25,38,0,150,25,186,25,61,0,186,25,150,25,38,0,151,25,181,25,61,0,181,25,151,25,38,0,151,25,182,25,61,0,182,25,151,25,38,0,151,25,183,25,61,0,183,25,151,25,38,0,151,25,186,25,61,0,186,25,151,25,38,0,152,25,181,25,61,0,181,25,152,25,38,0,152,25,182,25,61,0,182,25,152,25,38,0,152,25,183,25,61,0,183,25,152,25,38,0,152,25,186,25,61,0,186,25,152,25,38,0,153,25,181,25,61,0,181,25,153,25,38,0,153,25,182,25,61,0,182,25,153,25,38,0,153,25,183,25,61,0,183,25,153,25,38,0,153,25,186,25,61,0,186,25,153,25,38,0,154,25,181,25,61,0,181,25,154,25,38,0,154,25,182,25,61,0,182,25,154,25,38,0,154,25,183,25,61,0,183,25,154,25,38,0,154,25,186,25,61,0,186,25,154,25,38,0,155,25,181,25,61,0,181,25,155,25,38,0,155,25,182,25,61,0,182,25,155,25,38,0,155,25,183,25,61,0,183,25,155,25,38,0,155,25,186,25,61,0,186,25,155,25,38,0,156,25,181,25,61,0,181,25,156,25,38,0,156,25,182,25,61,0,182,25,156,25,38,0,156,25,183,25,61,0,183,25,156,25,38,0,156,25,186,25,61,0,186,25,156,25,38,0,157,25,181,25,61,0,181,25,157,25,38,0,157,25,182,25,61,0,182,25,157,25,38,0,157,25,183,25,61,0,183,25,157,25,38,0,157,25,186,25,61,0,186,25,157,25,38,0,158,25,181,25,61,0,181,25,158,25,38,0,158,25,182,25,61,0,182,25,158,25,38,0,158,25,183,25,61,0,183,25,158,25,38,0,158,25,186,25,61,0,186,25,158,25,38,0,159,25,181,25,61,0,181,25,159,25,38,0,159,25,182,25,61,0,182,25,159,25,38,0,159,25,183,25,61,0,183,25,159,25,38,0,159,25,186,25,61,0,186,25,159,25,38,0,160,25,181,25,61,0,181,25,160,25,38,0,160,25,182,25,61,0,182,25,160,25,38,0,160,25,183,25,61,0,183,25,160,25,38,0,160,25,186,25,61,0,186,25,160,25,38,0,161,25,181,25,61,0,181,25,161,25,38,0,161,25,182,25,61,0,182,25,161,25,38,0,161,25,183,25,61,0,183,25,161,25,38,0,161,25,186,25,61,0,186,25,161,25,38,0,162,25,181,25,61,0,181,25,162,25,38,0,162,25,182,25,61,0,182,25,162,25,38,0,162,25,183,25,61,0,183,25,162,25,38,0,162,25,186,25,61,0,186,25,162,25,38,0,163,25,181,25,61,0,181,25,163,25,38,0,163,25,182,25,61,0,182,25,163,25,38,0,163,25,183,25,61,0,183,25,163,25,38,0,163,25,186,25,61,0,186,25,163,25,38,0,164,25,181,25,61,0,181,25,164,25,38,0,164,25,182,25,61,0,182,25,164,25,38,0,164,25,183,25,61,0,183,25,164,25,38,0,164,25,186,25,61,0,186,25,164,25,38,0,165,25,181,25,61,0,181,25,165,25,38,0,165,25,182,25,61,0,182,25,165,25,38,0,165,25,183,25,61,0,183,25,165,25,38,0,165,25,186,25,61,0,186,25,165,25,38,0,166,25,181,25,61,0,181,25,166,25,38,0,166,25,182,25,61,0,182,25,166,25,38,0,166,25,183,25,61,0,183,25,166,25,38,0,166,25,186,25,61,0,186,25,166,25,38,0,167,25,181,25,61,0,181,25,167,25,38,0,167,25,182,25,61,0,182,25,167,25,38,0,167,25,183,25,61,0,183,25,167,25,38,0,167,25,186,25,61,0,186,25,167,25,38,0,168,25,181,25,61,0,181,25,168,25,38,0,168,25,182,25,61,0,182,25,168,25,38,0,168,25,183,25,61,0,183,25,168,25,38,0,168,25,186,25,61,0,186,25,168,25,38,0,169,25,181,25,61,0,181,25,169,25,38,0,169,25,182,25,61,0,182,25,169,25,38,0,169,25,183,25,61,0,183,25,169,25,38,0,169,25,186,25,61,0,186,25,169,25,38,0,170,25,181,25,61,0,181,25,170,25,38,0,170,25,182,25,61,0,182,25,170,25,38,0,170,25,183,25,61,0,183,25,170,25,38,0,170,25,186,25,61,0,186,25,170,25,38,0,171,25,181,25,61,0,181,25,171,25,38,0,171,25,182,25,61,0,182,25,171,25,38,0,171,25,183,25,61,0,183,25,171,25,38,0,171,25,186,25,61,0,186,25,171,25,0,0,1,0,13,0,2,0,74,0,41,0,234,1,1,0,170,170,170,170,170,170,26,139,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,64,0,0,164,64,0,0,28,91,0,0,28,91,0,0,104,91,0,0,104,91,0,0,174,133,0,0,18,135,0,0,254,138,0,0,50,105,114,84,1,0,224,8,233,2,64,0,192,0,64,0,0,0,8,0,16,0,24,0,54,0,62,0,70,0,78,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,95,0,103,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,48,0,48,0,118,0,125,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,129,0,136,0,48,0,48,0,48,0,48,0,141,0,147,0,48,0,48,0,48,0,48,0,48,0,48,0,155,0,48,0,48,0,48,0,48,0,48,0,48,0,161,0,169,0,171,0,179,0,187,0,195,0,203,0,211,0,219,0,227,0,233,0,241,0,249,0,0,1,8,1,11,1,19,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,27,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,34,1,48,0,42,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,56,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,216,2,94,0,48,0,48,0,86,0,224,2,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,86,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,216,0,24,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,96,8,160,8,63,1,48,0,48,0,48,0,48,0,48,0,68,1,48,0,48,0,48,0,48,0,72,1,80,1,48,0,48,0,87,1,95,1,102,1,109,1,48,0,48,0,48,0,48,0,48,0,117,1,125,1,133,1,141,1,149,1,157,1,165,1,173,1,181,1,189,1,197,1,205,1,213,1,221,1,229,1,237,1,245,1,253,1,5,2,13,2,20,2,27,2,35,2,43,2,51,2,59,2,67,2,48,0,75,2,83,2,91,2,99,2,48,0,48,0,48,0,48,0,48,0,48,0,48,0,107,2,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,2,120,2,128,2,136,2,144,2,152,2,160,2,168,2,48,0,48,0,48,0,176,2,184,2,192,2,200,2,208,2,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,201,0,0,0,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,201,96,1,0,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,232,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,233,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,205,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,206,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,234,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,5,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,133,130,13,193,132,130,13,193,131,130,13,193,125,130,13,193,127,130,13,193,129,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,134,130,13,193,135,130,13,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,184,128,13,193,182,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,179,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,188,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,175,130,13,193,179,130,13,193,182,130,13,193,184,130,13,193,176,130,13,193,180,130,13,193,177,130,13,193,185,128,13,193,186,128,13,193,187,128,13,193,183,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,185,130,13,193,186,130,13,193,187,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,55,131,13,193,56,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,174,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,178,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,52,131,13,193,51,131,13,193,54,131,13,193,53,131,13,192,0,0,0,193,226,128,13,193,234,128,13,193,249,128,13,193,254,128,13,193,2,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,169,129,13,192,0,0,0,192,0,0,0,193,222,130,13,192,0,0,0,192,0,0,0,193,250,128,13,193,17,128,13,192,0,0,0,192,0,0,0,193,155,127,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,189,125,13,192,0,0,0,192,0,0,0,193,104,125,13,192,0,0,0,193,122,130,13,193,123,130,13,192,0,0,0,192,0,0,0,193,152,130,13,192,0,0,0,192,0,0,0,192,0,0,0,193,153,130,13,192,0,0,0,192,0,0,0,192,0,0,0,193,154,130,13,193,150,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,149,130,13,193,75,125,13,193,17,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,196,130,13,192,0,0,0,193,197,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,158,130,13,193,159,130,13,193,160,130,13,193,161,130,13,193,162,130,13,193,163,130,13,193,164,130,13,193,165,130,13,193,166,130,13,193,167,130,13,193,168,130,13,193,169,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,80,129,13,193,76,129,13,192,0,0,0,192,0,0,0,193,79,129,13,192,0,0,0,193,77,129,13,193,78,129,13,192,0,0,0,193,101,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,215,130,13,192,0,0,0,192,0,0,0,193,204,130,13,193,101,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,28,130,13,193,158,128,13,193,31,130,13,193,214,130,13,193,42,130,13,193,50,130,13,192,0,0,0,193,40,130,13,192,0,0,0,193,146,130,13,193,216,130,13,192,0,0,0,192,0,0,0,192,0,0,0,193,111,130,13,193,252,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,198,130,13,192,0,0,0,192,0,0,0,193,41,131,13,193,40,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,90,130,13,193,92,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,33,129,13,193,34,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,255,128,13,193,235,128,13,192,0,0,0,192,0,0,0,193,236,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,170,130,13,193,27,130,13,192,0,0,0,193,133,129,13,192,0,0,0,193,45,130,13,193,113,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,89,128,13,193,85,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,50,128,13,193,251,128,13,193,91,128,13,193,52,129,13,193,164,128,13,193,160,128,13,192,0,0,0,193,172,126,13,193,53,129,13,201,128,16,0,193,92,128,13,192,0,0,0,192,0,0,0,193,151,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,15,130,13,192,0,0,0,192,0,0,0,193,221,130,13,192,0,0,0,192,0,0,0,193,167,128,13,193,230,129,13,193,193,125,13,193,167,125,13,193,178,125,13,193,204,125,13,192,0,0,0,193,243,129,13,192,0,0,0,192,0,0,0,193,244,129,13,192,0,0,0,193,223,130,13,192,0,0,0,193,199,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,151,130,13,192,0,0,0,192,0,0,0,192,0,0,0,193,148,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,11,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,229,130,13,193,230,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,253,128,13,192,0,0,0,192,0,0,0,193,231,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,224,130,13,192,0,0,0,193,225,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,207,130,13,193,208,130,13,193,209,130,13,192,0,0,0,193,210,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,134,125,13,201,96,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,200,130,13,193,201,130,13,193,202,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,226,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,227,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,136,130,13,193,137,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,130,130,13,193,124,130,13,193,128,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,49,131,13,193,50,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,230,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,220,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,211,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,228,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,29,131,13,192,0,0,0,193,30,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,82,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,81,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,1,0,198,129,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,1,0,198,193,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,225,1,0,192,0,0,0,192,0,0,0,198,1,2,0,198,33,2,0,198,65,2,0,198,97,2,0,198,129,2,0,198,161,2,0,198,193,2,0,198,225,2,0,198,1,3,0,198,33,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,75,131,13,193,76,131,13,193,77,131,13,193,78,131,13,193,79,131,13,193,80,131,13,193,81,131,13,193,82,131,13,193,83,131,13,193,84,131,13,193,85,131,13,193,86,131,13,193,87,131,13,193,88,131,13,193,89,131,13,193,90,131,13,193,91,131,13,193,92,131,13,193,93,131,13,193,94,131,13,193,95,131,13,193,96,131,13,193,97,131,13,193,98,131,13,193,99,131,13,193,100,131,13,192,0,0,0,193,16,131,13,193,17,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,23,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,20,131,13,192,0,0,0,192,0,0,0,193,24,131,13,193,28,131,13,193,27,131,13,193,32,131,13,193,19,131,13,193,18,131,13,193,26,131,13,193,22,131,13,193,31,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,21,131,13,193,25,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,246,128,13,193,93,128,13,193,248,128,13,193,94,128,13,193,96,128,13,193,97,128,13,193,98,128,13,193,99,128,13,193,247,128,13,193,100,128,13,193,5,129,13,193,51,128,13,193,233,128,13,193,42,128,13,193,43,128,13,193,44,128,13,193,45,128,13,193,213,128,13,193,214,128,13,193,215,128,13,193,216,128,13,193,217,128,13,193,218,128,13,193,219,128,13,193,220,128,13,193,221,128,13,193,222,128,13,193,223,128,13,193,224,128,13,193,227,128,13,193,228,128,13,193,231,128,13,193,232,128,13,193,225,128,13,192,0,0,0,192,0,0,0,193,237,128,13,193,238,128,13,193,239,128,13,193,240,128,13,193,241,128,13,193,242,128,13,193,243,128,13,193,244,128,13,193,245,128,13,193,215,127,13,193,217,127,13,193,218,127,13,193,196,127,13,193,147,127,13,193,149,127,13,193,150,127,13,193,151,127,13,193,152,127,13,193,187,127,13,193,145,127,13,193,136,127,13,193,140,127,13,193,142,127,13,193,143,127,13,193,144,127,13,193,186,127,13,193,153,127,13,193,154,127,13,193,156,127,13,193,157,127,13,193,158,127,13,193,159,127,13,193,162,127,13,193,179,127,13,193,183,127,13,193,163,127,13,193,164,127,13,193,165,127,13,193,166,127,13,193,167,127,13,193,168,127,13,193,169,127,13,193,171,127,13,193,172,127,13,193,173,127,13,193,174,127,13,193,175,127,13,193,176,127,13,193,212,127,13,193,214,127,13,193,208,127,13,193,209,127,13,193,234,127,13,193,235,127,13,193,236,127,13,193,237,127,13,193,238,127,13,193,239,127,13,193,199,127,13,193,213,127,13,193,240,127,13,193,246,127,13,193,241,127,13,193,242,127,13,193,243,127,13,193,244,127,13,193,255,127,13,193,2,128,13,193,3,128,13,193,4,128,13,193,5,128,13,193,10,128,13,193,11,128,13,193,12,128,13,193,13,128,13,193,14,128,13,193,7,128,13,193,233,127,13,193,225,127,13,193,223,127,13,193,37,128,13,193,19,128,13,193,20,128,13,193,22,128,13,193,23,128,13,193,24,128,13,193,25,128,13,193,26,128,13,193,15,128,13,193,36,128,13,193,21,128,13,193,229,127,13,193,22,129,13,193,23,129,13,193,6,128,13,193,6,129,13,193,7,129,13,193,100,126,13,193,8,129,13,193,9,129,13,193,12,129,13,193,13,129,13,193,14,129,13,193,15,129,13,193,69,131,13,193,16,129,13,193,17,129,13,193,18,129,13,193,19,129,13,193,20,129,13,193,116,129,13,193,130,129,13,192,0,0,0,192,0,0,0,193,27,129,13,193,24,129,13,192,0,0,0,193,150,129,13,193,151,129,13,193,152,129,13,192,0,0,0,192,0,0,0,193,188,129,13,193,25,129,13,193,102,128,13,193,104,128,13,193,105,128,13,193,54,129,13,193,153,129,13,193,187,129,13,193,189,130,13,193,154,129,13,193,86,129,13,193,129,129,13,193,107,128,13,193,26,129,13,193,190,129,13,193,84,129,13,193,67,129,13,193,60,129,13,193,69,129,13,193,64,129,13,193,70,129,13,193,42,129,13,193,83,129,13,193,148,129,13,193,149,129,13,193,156,129,13,193,158,129,13,193,159,129,13,193,160,129,13,193,161,129,13,193,147,129,13,193,56,129,13,193,40,129,13,193,57,129,13,193,36,129,13,193,67,131,13,193,173,126,13,201,224,27,0,201,96,36,0,193,29,129,13,193,28,129,13,193,171,126,13,193,38,129,13,193,39,129,13,201,224,44,0,201,96,53,0,201,96,62,0,193,138,128,13,193,137,128,13,193,43,129,13,193,37,129,13,193,44,129,13,193,45,129,13,193,47,129,13,193,49,128,13,193,53,128,13,193,54,128,13,193,60,128,13,193,65,128,13,193,95,128,13,193,66,128,13,193,59,128,13,193,55,128,13,193,56,128,13,193,57,128,13,193,58,128,13,193,67,128,13,193,68,128,13,193,69,128,13,193,70,128,13,193,71,128,13,193,72,128,13,193,73,128,13,193,98,130,13,193,74,128,13,193,75,128,13,193,76,128,13,193,77,128,13,193,78,128,13,193,79,128,13,193,201,129,13,193,80,128,13,193,81,128,13,192,0,0,0,192,0,0,0,201,96,71,0,201,128,73,0,193,139,127,13,192,0,0,0,193,219,129,13,193,48,129,13,193,34,130,13,193,41,128,13,194,5,224,251,5,252,0,0,5,253,0,0,5,254,0,0,5,255,0,0,193,59,127,13,193,58,127,13,193,39,127,13,193,40,127,13,193,41,127,13,193,28,127,13,193,29,127,13,193,62,127,13,201,128,79,0,193,104,127,13,193,99,127,13,193,108,127,13,193,119,127,13,193,102,127,13,193,33,127,13,193,46,127,13,193,48,127,13,193,47,127,13,193,12,127,13,193,79,127,13,193,78,127,13,201,96,80,0,193,43,127,13,193,44,127,13,193,53,127,13,193,115,127,13,193,116,127,13,193,121,127,13,193,122,127,13,193,123,127,13,193,125,127,13,193,111,127,13,193,112,127,13,193,113,127,13,193,100,127,13,193,80,127,13,193,81,127,13,193,82,127,13,201,96,81,0,193,84,127,13,193,69,127,13,193,19,127,13,193,49,127,13,193,50,127,13,193,109,127,13,193,57,127,13,193,38,127,13,193,27,127,13,193,61,127,13,193,23,127,13,193,103,127,13,193,107,127,13,193,30,127,13,193,11,127,13,193,15,127,13,193,42,127,13,193,98,127,13,193,60,127,13,193,20,127,13,201,64,82,0,193,70,127,13,193,45,127,13,193,76,127,13,193,63,127,13,193,220,125,13,201,32,83,0,193,212,125,13,193,214,125,13,193,223,125,13,193,222,125,13,193,186,125,13,193,188,125,13,193,184,125,13,193,185,125,13,193,194,125,13,193,164,125,13,193,175,125,13,193,191,125,13,193,192,125,13,193,197,125,13,193,200,125,13,193,127,129,13,193,128,129,13,193,91,129,13,193,96,129,13,193,97,129,13,193,98,129,13,193,103,129,13,193,104,129,13,193,109,129,13,193,110,129,13,193,112,129,13,193,113,129,13,193,114,129,13,193,118,129,13,193,119,129,13,193,122,129,13,193,123,129,13,193,125,129,13,193,6,127,13,193,3,127,13,193,4,127,13,193,227,125,13,193,228,125,13,201,64,85,0,201,32,164,0,193,230,126,13,201,160,243,0,201,32,246,0,201,160,248,0,201,32,251,0,201,160,3,1,201,0,5,1,201,128,13,1,193,84,126,13,201,0,22,1,193,239,125,13,193,240,125,13,193,225,125,13,201,128,30,1,193,80,126,13,193,107,125,13,193,108,125,13,193,109,125,13,193,99,126,13,193,110,125,13,193,111,125,13,193,102,125,13,193,103,125,13,201,0,39,1,201,128,47,1,193,158,126,13,193,135,129,13,193,205,125,13,201,0,56,1,201,128,64,1,193,106,128,13,193,57,130,13,193,59,130,13,193,150,125,13,193,125,125,13,193,136,129,13,193,137,129,13,193,222,126,13,193,135,127,13,193,226,126,13,193,82,128,13,193,130,125,13,193,135,125,13,193,132,125,13,193,128,125,13,193,129,125,13,193,126,125,13,193,143,125,13,193,142,125,13,193,141,125,13,193,145,125,13,193,127,125,13,193,131,125,13,193,133,125,13,193,63,131,13,193,199,129,13,193,152,125,13,193,32,130,13,193,163,125,13,193,153,125,13,193,155,125,13,193,4,129,13,193,156,125,13,193,105,125,13,193,207,125,13,193,154,125,13,193,158,125,13,193,162,125,13,193,137,127,13,193,151,125,13,193,220,129,13,193,212,130,13,193,213,130,13,193,227,129,13,193,222,129,13,193,223,129,13,193,224,129,13,193,225,129,13,193,226,129,13,193,229,129,13,193,172,128,13,193,176,129,13,193,250,129,13,193,182,129,13,193,183,129,13,193,184,129,13,193,185,129,13,193,251,129,13,193,252,129,13,193,212,129,13,193,214,129,13,193,254,129,13,193,255,129,13,193,4,130,13,193,5,130,13,193,6,130,13,193,7,130,13,193,8,130,13,193,9,130,13,193,10,130,13,193,11,130,13,193,13,130,13,193,14,130,13,193,217,129,13,193,211,129,13,193,210,129,13,193,203,129,13,193,204,129,13,193,205,129,13,193,206,129,13,193,207,129,13,193,208,129,13,193,209,129,13,193,218,130,13,193,213,129,13,193,249,129,13,193,170,129,13,193,171,129,13,193,172,129,13,193,56,130,13,193,142,129,13,193,143,129,13,193,234,129,13,193,235,129,13,193,236,129,13,193,231,129,13,193,232,129,13,193,233,129,13,193,238,129,13,193,237,129,13,193,239,129,13,193,240,129,13,193,241,129,13,193,144,129,13,193,215,129,13,193,167,129,13,193,168,129,13,193,194,130,13,193,195,130,13,193,120,130,13,193,192,130,13,193,192,129,13,193,193,129,13,193,194,129,13,193,191,129,13,193,155,129,13,193,195,129,13,193,189,129,13,192,0,0,0,193,134,129,13,193,171,130,13,193,172,130,13,193,173,130,13,193,138,130,13,193,139,130,13,193,190,130,13,193,191,130,13,193,138,129,13,193,139,129,13,193,140,129,13,193,141,129,13,193,173,129,13,193,175,129,13,193,196,129,13,193,197,129,13,193,21,130,13,193,22,130,13,193,23,130,13,193,19,130,13,193,20,130,13,193,145,129,13,193,146,129,13,193,218,129,13,193,44,130,13,193,64,131,13,193,140,130,13,193,141,130,13,193,142,130,13,193,143,130,13,193,144,130,13,193,121,130,13,193,247,130,13,193,248,130,13,193,249,130,13,193,250,130,13,193,251,130,13,193,252,130,13,193,3,129,13,193,200,129,13,193,37,130,13,193,25,130,13,193,39,130,13,193,39,128,13,193,63,129,13,193,54,130,13,193,55,130,13,193,65,129,13,193,156,130,13,193,219,130,13,193,217,130,13,193,66,131,13,193,65,131,13,193,33,131,13,193,37,131,13,193,57,131,13,193,58,131,13,193,59,131,13,193,60,131,13,193,61,131,13,193,62,131,13,193,181,130,13,193,183,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,147,130,13,193,85,127,13,193,90,128,13,193,86,128,13,193,88,128,13,193,155,130,13,192,0,0,0,193,191,128,13,193,193,128,13,193,195,128,13,193,197,128,13,193,199,128,13,193,201,128,13,193,203,128,13,193,205,128,13,193,207,128,13,193,209,128,13,193,211,128,13,193,189,128,13,193,192,128,13,193,194,128,13,193,196,128,13,193,198,128,13,193,200,128,13,193,202,128,13,193,204,128,13,193,206,128,13,193,208,128,13,193,210,128,13,193,212,128,13,193,190,128,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,198,129,13,193,188,128,13,192,0,0,0,192,0,0,0,193,157,125,13,193,160,126,13,201,0,73,1,193,92,129,13,193,128,127,13,193,129,127,13,193,68,129,13,193,159,126,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,12,130,13,192,0,0,0,192,0,0,0,193,246,129,13,193,245,129,13,193,247,129,13,193,248,129,13,192,0,0,0,192,0,0,0,193,166,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,187,125,13,193,168,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,147,125,13,193,177,129,13,192,0,0,0,192,0,0,0,193,178,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,180,129,13,193,181,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,85,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,253,129,13,193,16,130,13,193,17,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,18,130,13,193,2,130,13,193,3,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,41,130,13,193,24,130,13,193,216,129,13,192,0,0,0,192,0,0,0,193,30,130,13,192,0,0,0,193,2,127,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,160,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,161,125,13,192,0,0,0,192,0,0,0,192,0,0,0,193,242,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,46,128,13,193,52,128,13,193,83,128,13,193,84,128,13,193,47,128,13,193,95,130,13,5,5,121,13,5,5,124,13,193,5,125,13,5,5,122,13,5,5,123,13,193,3,125,13,193,2,125,13,193,11,125,13,193,101,125,13,193,9,125,13,193,10,125,13,193,21,125,13,193,48,125,13,193,13,125,13,193,68,125,13,193,41,125,13,193,36,125,13,193,37,125,13,193,42,125,13,193,93,125,13,193,49,125,13,193,71,125,13,193,90,125,13,193,16,125,13,193,15,125,13,193,19,125,13,193,18,125,13,193,22,125,13,193,23,125,13,193,25,125,13,193,92,125,13,193,73,125,13,193,99,125,13,193,98,125,13,193,87,125,13,193,91,125,13,193,97,125,13,193,86,125,13,193,82,125,13,193,83,125,13,193,84,125,13,193,94,125,13,193,50,125,13,193,95,125,13,193,44,125,13,193,88,125,13,201,0,82,1,193,77,125,13,193,85,125,13,193,89,125,13,193,78,125,13,193,79,125,13,193,52,125,13,201,0,83,1,201,0,84,1,193,53,125,13,193,114,125,13,193,115,125,13,193,113,125,13,193,116,125,13,193,117,125,13,193,118,125,13,193,121,125,13,193,120,125,13,193,119,125,13,193,74,125,13,193,6,125,13,193,7,125,13,193,43,125,13,201,0,85,1,201,128,93,1,201,0,102,1,193,122,125,13,193,123,125,13,193,124,125,13,201,128,110,1,193,198,125,13,201,0,119,1,201,128,127,1,193,203,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,178,128,13,193,173,128,13,193,108,128,13,193,109,128,13,193,110,128,13,193,111,128,13,193,112,128,13,193,113,128,13,193,114,128,13,193,115,128,13,193,116,128,13,193,119,128,13,193,120,128,13,193,121,128,13,193,122,128,13,193,147,128,13,193,123,128,13,193,124,128,13,193,125,128,13,193,126,128,13,193,127,128,13,193,128,128,13,193,129,128,13,193,130,128,13,193,131,128,13,193,132,128,13,193,134,128,13,193,135,128,13,193,136,128,13,193,117,128,13,193,118,128,13,193,174,128,13,193,175,128,13,193,176,128,13,193,166,128,13,201,0,136,1,193,162,128,13,193,154,128,13,193,155,128,13,193,157,128,13,193,153,128,13,193,68,131,13,193,64,130,13,193,114,130,13,193,89,130,13,193,116,130,13,193,99,130,13,193,117,130,13,193,100,130,13,193,118,130,13,193,143,128,13,193,115,130,13,201,128,144,1,201,0,153,1,201,128,161,1,193,119,130,13,193,112,130,13,193,102,130,13,193,103,130,13,193,104,130,13,193,105,130,13,193,71,130,13,193,106,130,13,193,73,130,13,193,216,126,13,193,74,130,13,193,107,130,13,193,108,130,13,193,109,130,13,193,110,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,69,130,13,193,217,126,13,193,115,129,13,193,180,128,13,193,68,130,13,193,145,130,13,193,156,128,13,193,88,130,13,192,0,0,0,192,0,0,0,193,87,128,13,193,64,128,13,193,65,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,193,130,13,193,103,128,13,193,152,128,13,193,159,128,13,193,29,130,13,193,35,130,13,193,150,128,13,193,148,128,13,193,149,128,13,193,165,128,13,192,0,0,0,192,0,0,0,192,0,0,0,193,168,128,13,192,0,0,0,193,169,128,13,193,170,128,13,192,0,0,0,192,0,0,0,192,0,0,0,193,177,128,13,192,0,0,0,192,0,0,0,193,163,128,13,193,144,128,13,193,139,128,13,193,161,128,13,193,58,129,13,193,179,128,13,193,145,128,13,193,142,128,13,193,133,128,13,193,146,128,13,192,0,0,0,192,0,0,0,192,0,0,0,193,34,131,13,193,35,131,13,193,36,131,13,193,38,131,13,193,39,131,13,193,42,131,13,193,46,131,13,193,43,131,13,193,44,131,13,193,45,131,13,193,47,131,13,193,48,131,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,203,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,176,125,13,193,149,125,13,193,146,125,13,193,177,125,13,193,34,125,13,193,26,125,13,193,54,125,13,193,69,125,13,193,32,125,13,193,55,125,13,193,112,125,13,193,27,125,13,193,182,125,13,193,183,125,13,193,165,125,13,193,195,125,13,193,196,125,13,193,202,125,13,193,179,125,13,193,181,125,13,193,65,125,13,193,106,125,13,193,56,125,13,193,4,125,13,193,51,125,13,193,46,125,13,201,0,170,1,193,58,125,13,193,35,125,13,193,14,125,13,193,24,125,13,193,31,125,13,193,100,125,13,193,28,125,13,193,57,125,13,193,64,125,13,193,92,126,13,193,95,126,13,193,201,125,13,193,206,125,13,193,79,126,13,201,128,178,1,193,101,126,13,201,0,187,1,201,128,195,1,201,0,204,1,193,170,126,13,192,0,0,0,201,128,212,1,201,224,213,1,201,96,222,1,193,55,129,13,193,141,127,13,193,163,129,13,193,27,128,13,193,28,128,13,193,38,128,13,193,51,129,13,192,0,0,0,193,30,129,13,193,31,129,13,193,32,129,13,193,49,129,13,193,50,129,13,193,59,129,13,193,46,129,13,193,35,129,13,193,41,129,13,193,200,127,13,193,182,127,13,193,189,127,13,193,211,127,13,193,184,127,13,193,185,127,13,193,201,127,13,193,228,127,13,193,224,127,13,193,220,127,13,193,222,127,13,193,16,128,13,193,194,127,13,193,178,127,13,193,205,127,13,193,247,127,13,193,248,127,13,193,249,127,13,193,35,128,13,193,227,127,13,193,30,128,13,193,181,127,13,193,191,127,13,193,9,128,13,193,203,127,13,193,210,127,13,193,216,127,13,193,232,127,13,193,190,127,13,193,170,127,13,193,245,127,13,193,204,127,13,193,12,125,13,193,96,125,13,193,20,125,13,193,66,125,13,193,61,125,13,193,59,125,13,193,60,125,13,193,74,126,13,193,67,125,13,193,81,125,13,193,80,125,13,193,105,129,13,193,94,129,13,193,93,129,13,193,120,129,13,193,121,129,13,193,250,127,13,193,26,127,13,193,130,127,13,193,77,127,13,193,34,127,13,193,86,127,13,193,87,127,13,193,66,127,13,193,114,127,13,193,89,127,13,193,21,127,13,193,120,127,13,193,36,127,13,193,13,127,13,193,101,127,13,193,55,127,13,193,252,127,13,193,253,127,13,193,52,127,13,193,35,127,13,193,65,127,13,193,105,127,13,193,106,127,13,193,126,127,13,193,74,127,13,193,51,127,13,193,93,127,13,193,56,127,13,193,94,127,13,193,22,127,13,193,251,127,13,193,131,127,13,193,134,127,13,193,75,127,13,193,88,127,13,193,54,127,13,193,90,127,13,193,71,127,13,193,72,127,13,193,14,127,13,193,73,127,13,193,92,127,13,193,254,127,13,193,64,127,13,193,37,127,13,193,110,127,13,193,17,127,13,193,43,130,13,193,7,127,13,193,8,127,13,193,10,127,13,193,9,127,13,193,219,125,13,193,210,125,13,193,211,125,13,193,218,125,13,201,224,230,1,201,96,239,1,193,95,129,13,193,213,125,13,193,141,128,13,193,140,128,13,193,208,125,13,193,209,125,13,193,207,127,13,193,8,128,13,193,231,127,13,193,32,128,13,193,192,127,13,193,193,127,13,193,221,127,13,193,206,127,13,193,230,127,13,193,33,128,13,193,34,128,13,193,31,128,13,193,130,126,13,201,224,247,1,201,96,0,2,201,224,8,2,193,70,125,13,201,96,17,2,193,226,125,13,193,238,125,13,201,32,85,2,193,85,126,13,201,160,93,2,201,32,102,2,201,160,110,2,201,32,119,2,201,160,127,2,201,32,136,2,201,160,144,2,201,32,153,2,201,160,161,2,201,0,163,2,193,215,125,13,193,140,125,13,193,131,129,13,193,99,129,13,193,100,129,13,193,101,129,13,193,102,129,13,193,21,129,13,193,10,129,13,193,71,129,13,193,51,130,13,193,52,130,13,193,53,130,13,193,48,128,13,193,186,129,13,193,87,130,13,193,47,130,13,193,61,128,13,193,48,130,13,193,181,128,13,193,77,130,13,193,87,129,13,193,89,129,13,193,78,130,13,193,72,129,13,193,79,130,13,193,80,130,13,193,81,130,13,193,83,130,13,193,86,130,13,193,228,129,13,193,93,130,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,124,129,13,193,106,129,13,193,107,129,13,193,108,129,13,193,117,129,13,193,144,125,13,193,148,125,13,193,139,125,13,193,58,130,13,193,60,130,13,193,62,130,13,193,63,130,13,193,61,130,13,192,0,0,0,192,0,0,0,192,0,0,0,193,61,129,13,193,62,129,13,193,171,128,13,193,33,130,13,193,66,129,13,193,73,129,13,193,75,129,13,193,165,129,13,193,166,129,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,229,128,13,193,70,130,13,193,76,130,13,193,26,130,13,193,202,129,13,193,162,129,13,193,132,129,13,193,157,129,13,193,164,129,13,193,221,129,13,193,36,130,13,193,38,130,13,193,49,130,13,193,46,130,13,193,66,130,13,193,67,130,13,193,72,130,13,193,88,129,13,193,90,129,13,193,82,130,13,193,75,130,13,193,85,130,13,193,91,130,13,193,96,130,13,193,62,128,13,193,74,129,13,193,97,130,13,193,174,129,13,193,94,130,13,193,111,129,13,193,126,129,13,193,157,130,13,193,132,127,13,193,133,127,13,193,124,127,13,193,127,127,13,193,148,127,13,193,63,128,13,193,91,127,13,193,138,127,13,193,117,127,13,193,160,127,13,193,161,127,13,193,146,127,13,193,118,127,13,193,95,127,13,192,0,0,0,193,97,127,13,193,216,125,13,193,217,125,13,193,5,127,13,193,93,126,13,193,94,126,13,193,78,126,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,31,127,13,193,32,127,13,193,177,127,13,193,188,127,13,193,180,127,13,193,202,127,13,193,219,127,13,193,226,127,13,193,18,128,13,193,29,128,13,193,195,127,13,193,40,128,13,193,197,127,13,193,198,127,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,8,125,13,193,33,125,13,193,29,125,13,193,30,125,13,193,72,125,13,193,39,125,13,193,224,125,13,193,84,130,13,193,47,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,180,125,13,193,169,125,13,193,170,125,13,193,171,125,13,193,172,125,13,193,190,125,13,193,199,125,13,193,173,125,13,193,174,125,13,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,133,0,5,0,7,131,13,0,5,0,70,0,188,126,13,0,5,0,70,0,187,126,13,0,5,0,71,0,188,126,13,0,5,0,71,0,187,126,13,0,5,0,72,0,188,126,13,0,5,0,72,0,187,126,13,0,5,0,73,0,188,126,13,0,5,0,73,0,187,126,13,0,5,0,74,0,188,126,13,0,5,0,74,0,187,126,13,0,133,0,5,0,253,130,13,0,133,0,5,0,255,130,13,0,133,0,5,0,10,131,13,0,133,0,5,0,12,131,13,0,133,0,5,0,254,130,13,0,133,0,5,0,2,131,13,0,133,0,5,0,3,131,13,0,133,0,5,0,4,131,13,0,133,0,5,0,6,131,13,0,133,0,5,0,8,131,13,0,133,0,5,0,9,131,13,0,133,0,5,0,11,131,13,0,133,0,5,0,13,131,13,0,69,0,5,0,14,131,13,0,133,0,5,0,15,131,13,0,5,0,70,0,157,126,13,0,5,0,70,0,156,126,13,0,5,0,71,0,157,126,13,0,5,0,71,0,156,126,13,0,5,0,72,0,157,126,13,0,5,0,72,0,156,126,13,0,5,0,73,0,157,126,13,0,5,0,73,0,156,126,13,0,5,0,74,0,157,126,13,0,5,0,74,0,156,126,13,0,5,0,70,0,179,126,13,0,5,0,70,0,178,126,13,0,5,0,71,0,179,126,13,0,5,0,71,0,178,126,13,0,5,0,72,0,179,126,13,0,5,0,72,0,178,126,13,0,5,0,73,0,179,126,13,0,5,0,73,0,178,126,13,0,5,0,74,0,179,126,13,0,5,0,74,0,178,126,13,0,5,0,70,0,185,126,13,0,5,0,70,0,184,126,13,0,5,0,71,0,185,126,13,0,5,0,71,0,184,126,13,0,5,0,72,0,185,126,13,0,5,0,72,0,184,126,13,0,5,0,73,0,185,126,13,0,5,0,73,0,184,126,13,0,5,0,74,0,185,126,13,0,5,0,74,0,184,126,13,0,5,0,70,0,191,126,13,0,5,0,70,0,190,126,13,0,5,0,71,0,191,126,13,0,5,0,71,0,190,126,13,0,5,0,72,0,191,126,13,0,5,0,72,0,190,126,13,0,5,0,73,0,191,126,13,0,5,0,73,0,190,126,13,0,5,0,74,0,191,126,13,0,5,0,74,0,190,126,13,0,5,0,70,0,176,126,13,0,5,0,70,0,175,126,13,0,5,0,71,0,176,126,13,0,5,0,71,0,175,126,13,0,5,0,72,0,176,126,13,0,5,0,72,0,175,126,13,0,5,0,73,0,176,126,13,0,5,0,73,0,175,126,13,0,5,0,74,0,176,126,13,0,5,0,74,0,175,126,13,0,5,0,70,0,18,126,13,0,5,0,70,0,27,126,13,0,5,0,70,0,57,126,13,0,5,0,70,0,30,126,13,0,5,0,70,0,33,126,13,0,5,0,70,0,97,126,13,0,5,0,70,0,21,126,13,0,5,0,70,0,51,126,13,0,5,0,70,0,54,126,13,0,5,0,70,0,24,126,13,0,5,0,70,0,39,126,13,0,5,0,70,0,48,126,13,0,5,0,70,0,42,126,13,0,5,0,70,0,36,126,13,0,5,0,70,0,45,126,13,0,5,0,70,0,60,126,13,0,5,0,70,0,63,126,13,0,5,0,70,0,221,126,13,0,5,0,70,0,147,126,13,0,5,0,70,0,150,126,13,0,5,0,70,0,153,126,13,0,5,0,71,0,18,126,13,0,5,0,71,0,27,126,13,0,5,0,71,0,57,126,13,0,5,0,71,0,30,126,13,0,5,0,71,0,33,126,13,0,5,0,71,0,97,126,13,0,5,0,71,0,21,126,13,0,5,0,71,0,51,126,13,0,5,0,71,0,54,126,13,0,5,0,71,0,24,126,13,0,5,0,71,0,39,126,13,0,5,0,71,0,48,126,13,0,5,0,71,0,42,126,13,0,5,0,71,0,36,126,13,0,5,0,71,0,45,126,13,0,5,0,71,0,60,126,13,0,5,0,71,0,63,126,13,0,5,0,71,0,221,126,13,0,5,0,71,0,147,126,13,0,5,0,71,0,150,126,13,0,5,0,71,0,153,126,13,0,5,0,72,0,18,126,13,0,5,0,72,0,27,126,13,0,5,0,72,0,57,126,13,0,5,0,72,0,30,126,13,0,5,0,72,0,33,126,13,0,5,0,72,0,97,126,13,0,5,0,72,0,21,126,13,0,5,0,72,0,51,126,13,0,5,0,72,0,54,126,13,0,5,0,72,0,24,126,13,0,5,0,72,0,39,126,13,0,5,0,72,0,48,126,13,0,5,0,72,0,42,126,13,0,5,0,72,0,36,126,13,0,5,0,72,0,45,126,13,0,5,0,72,0,60,126,13,0,5,0,72,0,63,126,13,0,5,0,72,0,221,126,13,0,5,0,72,0,147,126,13,0,5,0,72,0,150,126,13,0,5,0,72,0,153,126,13,0,5,0,73,0,18,126,13,0,5,0,73,0,27,126,13,0,5,0,73,0,57,126,13,0,5,0,73,0,30,126,13,0,5,0,73,0,33,126,13,0,5,0,73,0,97,126,13,0,5,0,73,0,21,126,13,0,5,0,73,0,51,126,13,0,5,0,73,0,54,126,13,0,5,0,73,0,24,126,13,0,5,0,73,0,39,126,13,0,5,0,73,0,48,126,13,0,5,0,73,0,42,126,13,0,5,0,73,0,36,126,13,0,5,0,73,0,45,126,13,0,5,0,73,0,60,126,13,0,5,0,73,0,63,126,13,0,5,0,73,0,221,126,13,0,5,0,73,0,147,126,13,0,5,0,73,0,150,126,13,0,5,0,73,0,153,126,13,0,5,0,74,0,18,126,13,0,5,0,74,0,27,126,13,0,5,0,74,0,57,126,13,0,5,0,74,0,30,126,13,0,5,0,74,0,33,126,13,0,5,0,74,0,97,126,13,0,5,0,74,0,21,126,13,0,5,0,74,0,51,126,13,0,5,0,74,0,54,126,13,0,5,0,74,0,24,126,13,0,5,0,74,0,39,126,13,0,5,0,74,0,48,126,13,0,5,0,74,0,42,126,13,0,5,0,74,0,36,126,13,0,5,0,74,0,45,126,13,0,5,0,74,0,60,126,13,0,5,0,74,0,63,126,13,0,5,0,74,0,221,126,13,0,5,0,74,0,147,126,13,0,5,0,74,0,150,126,13,0,5,0,74,0,153,126,13,0,5,0,70,0,19,126,13,0,5,0,70,0,28,126,13,0,5,0,70,0,58,126,13,0,5,0,70,0,31,126,13,0,5,0,70,0,34,126,13,0,5,0,70,0,96,126,13,0,5,0,70,0,22,126,13,0,5,0,70,0,52,126,13,0,5,0,70,0,55,126,13,0,5,0,70,0,25,126,13,0,5,0,70,0,40,126,13,0,5,0,70,0,49,126,13,0,5,0,70,0,43,126,13,0,5,0,70,0,37,126,13,0,5,0,70,0,46,126,13,0,5,0,70,0,61,126,13,0,5,0,70,0,64,126,13,0,5,0,70,0,220,126,13,0,5,0,70,0,219,126,13,0,5,0,70,0,148,126,13,0,5,0,70,0,151,126,13,0,5,0,70,0,154,126,13,0,5,0,71,0,19,126,13,0,5,0,71,0,28,126,13,0,5,0,71,0,58,126,13,0,5,0,71,0,31,126,13,0,5,0,71,0,34,126,13,0,5,0,71,0,96,126,13,0,5,0,71,0,22,126,13,0,5,0,71,0,52,126,13,0,5,0,71,0,55,126,13,0,5,0,71,0,25,126,13,0,5,0,71,0,40,126,13,0,5,0,71,0,49,126,13,0,5,0,71,0,43,126,13,0,5,0,71,0,37,126,13,0,5,0,71,0,46,126,13,0,5,0,71,0,61,126,13,0,5,0,71,0,64,126,13,0,5,0,71,0,220,126,13,0,5,0,71,0,219,126,13,0,5,0,71,0,148,126,13,0,5,0,71,0,151,126,13,0,5,0,71,0,154,126,13,0,5,0,72,0,19,126,13,0,5,0,72,0,28,126,13,0,5,0,72,0,58,126,13,0,5,0,72,0,31,126,13,0,5,0,72,0,34,126,13,0,5,0,72,0,96,126,13,0,5,0,72,0,22,126,13,0,5,0,72,0,52,126,13,0,5,0,72,0,55,126,13,0,5,0,72,0,25,126,13,0,5,0,72,0,40,126,13,0,5,0,72,0,49,126,13,0,5,0,72,0,43,126,13,0,5,0,72,0,37,126,13,0,5,0,72,0,46,126,13,0,5,0,72,0,61,126,13,0,5,0,72,0,64,126,13,0,5,0,72,0,220,126,13,0,5,0,72,0,219,126,13,0,5,0,72,0,148,126,13,0,5,0,72,0,151,126,13,0,5,0,72,0,154,126,13,0,5,0,73,0,19,126,13,0,5,0,73,0,28,126,13,0,5,0,73,0,58,126,13,0,5,0,73,0,31,126,13,0,5,0,73,0,34,126,13,0,5,0,73,0,96,126,13,0,5,0,73,0,22,126,13,0,5,0,73,0,52,126,13,0,5,0,73,0,55,126,13,0,5,0,73,0,25,126,13,0,5,0,73,0,40,126,13,0,5,0,73,0,49,126,13,0,5,0,73,0,43,126,13,0,5,0,73,0,37,126,13,0,5,0,73,0,46,126,13,0,5,0,73,0,61,126,13,0,5,0,73,0,64,126,13,0,5,0,73,0,220,126,13,0,5,0,73,0,219,126,13,0,5,0,73,0,148,126,13,0,5,0,73,0,151,126,13,0,5,0,73,0,154,126,13,0,5,0,74,0,19,126,13,0,5,0,74,0,28,126,13,0,5,0,74,0,58,126,13,0,5,0,74,0,31,126,13,0,5,0,74,0,34,126,13,0,5,0,74,0,96,126,13,0,5,0,74,0,22,126,13,0,5,0,74,0,52,126,13,0,5,0,74,0,55,126,13,0,5,0,74,0,25,126,13,0,5,0,74,0,40,126,13,0,5,0,74,0,49,126,13,0,5,0,74,0,43,126,13,0,5,0,74,0,37,126,13,0,5,0,74,0,46,126,13,0,5,0,74,0,61,126,13,0,5,0,74,0,64,126,13,0,5,0,74,0,220,126,13,0,5,0,74,0,219,126,13,0,5,0,74,0,148,126,13,0,5,0,74,0,151,126,13,0,5,0,74,0,154,126,13,0,5,0,70,0,220,126,13,0,5,224,251,0,0,0,0,0,5,0,71,0,220,126,13,0,5,0,252,0,0,0,0,0,5,0,72,0,220,126,13,0,5,0,253,0,0,0,0,0,5,0,73,0,220,126,13,0,5,0,254,0,0,0,0,0,5,0,74,0,220,126,13,0,5,0,255,0,0,0,0,0,5,0,70,0,221,126,13,0,5,224,251,0,0,0,0,0,5,0,71,0,221,126,13,0,5,0,252,0,0,0,0,0,5,0,72,0,221,126,13,0,5,0,253,0,0,0,0,0,5,0,73,0,221,126,13,0,5,0,254,0,0,0,0,0,5,0,74,0,221,126,13,0,5,0,255,0,0,0,0,0,5,0,70,0,219,126,13,0,5,224,251,0,0,0,0,0,5,0,71,0,219,126,13,0,5,0,252,0,0,0,0,0,5,0,72,0,219,126,13,0,5,0,253,0,0,0,0,0,5,0,73,0,219,126,13,0,5,0,254,0,0,0,0,0,5,0,74,0,219,126,13,0,5,0,255,0,0,0,0,0,5,0,70,0,67,126,13,0,5,0,70,0,66,126,13,0,5,0,71,0,67,126,13,0,5,0,71,0,66,126,13,0,5,0,72,0,67,126,13,0,5,0,72,0,66,126,13,0,5,0,73,0,67,126,13,0,5,0,73,0,66,126,13,0,5,0,74,0,67,126,13,0,5,0,74,0,66,126,13,0,5,0,70,0,91,126,13,0,5,0,70,0,90,126,13,0,5,0,71,0,91,126,13,0,5,0,71,0,90,126,13,0,5,0,72,0,91,126,13,0,5,0,72,0,90,126,13,0,5,0,73,0,91,126,13,0,5,0,73,0,90,126,13,0,5,0,74,0,91,126,13,0,5,0,74,0,90,126,13,0,5,0,70,0,229,125,13,0,5,0,76,0,235,125,13,0,5,0,77,0,231,125,13,0,5,0,77,0,235,125,13,0,5,0,78,0,231,125,13,0,5,0,78,0,235,125,13,0,5,0,79,0,231,125,13,0,5,0,79,0,235,125,13,0,5,0,80,0,231,125,13,0,5,0,80,0,235,125,13,0,5,0,81,0,231,125,13,0,5,0,81,0,235,125,13,0,5,0,82,0,231,125,13,0,5,0,70,0,83,126,13,0,5,0,70,0,82,126,13,0,5,0,71,0,83,126,13,0,5,0,71,0,82,126,13,0,5,0,72,0,83,126,13,0,5,0,72,0,82,126,13,0,5,0,73,0,83,126,13,0,5,0,73,0,82,126,13,0,5,0,74,0,83,126,13,0,5,0,74,0,82,126,13,0,5,0,70,0,77,126,13,0,5,0,70,0,76,126,13,0,5,0,71,0,77,126,13,0,5,0,71,0,76,126,13,0,5,0,72,0,77,126,13,0,5,0,72,0,76,126,13,0,5,0,73,0,77,126,13,0,5,0,73,0,76,126,13,0,5,0,74,0,77,126,13,0,5,0,74,0,76,126,13,0,5,0,70,0,255,125,13,0,5,0,70,0,254,125,13,0,5,0,71,0,255,125,13,0,5,0,71,0,254,125,13,0,5,0,72,0,255,125,13,0,5,0,72,0,254,125,13,0,5,0,73,0,255,125,13,0,5,0,73,0,254,125,13,0,5,0,74,0,255,125,13,0,5,0,74,0,254,125,13,0,5,0,70,0,73,126,13,0,5,0,70,0,72,126,13,0,5,0,71,0,73,126,13,0,5,0,71,0,72,126,13,0,5,0,72,0,73,126,13,0,5,0,72,0,72,126,13,0,5,0,73,0,73,126,13,0,5,0,73,0,72,126,13,0,5,0,74,0,73,126,13,0,5,0,74,0,72,126,13,0,5,0,70,0,133,126,13,0,5,0,70,0,132,126,13,0,5,0,71,0,133,126,13,0,5,0,71,0,132,126,13,0,5,0,72,0,133,126,13,0,5,0,72,0,132,126,13,0,5,0,73,0,133,126,13,0,5,0,73,0,132,126,13,0,5,0,74,0,133,126,13,0,5,0,74,0,132,126,13,0,5,0,70,0,136,126,13,0,5,0,70,0,135,126,13,0,5,0,71,0,136,126,13,0,5,0,71,0,135,126,13,0,5,0,72,0,136,126,13,0,5,0,72,0,135,126,13,0,5,0,73,0,136,126,13,0,5,0,73,0,135,126,13,0,5,0,74,0,136,126,13,0,5,0,74,0,135,126,13,0,5,0,70,0,70,126,13,0,5,0,70,0,69,126,13,0,5,0,71,0,70,126,13,0,5,0,71,0,69,126,13,0,5,0,72,0,70,126,13,0,5,0,72,0,69,126,13,0,5,0,73,0,70,126,13,0,5,0,73,0,69,126,13,0,5,0,74,0,70,126,13,0,5,0,74,0,69,126,13,0,5,0,70,0,249,125,13,0,5,0,70,0,248,125,13,0,5,0,71,0,249,125,13,0,5,0,71,0,248,125,13,0,5,0,72,0,249,125,13,0,5,0,72,0,248,125,13,0,5,0,73,0,249,125,13,0,5,0,73,0,248,125,13,0,5,0,74,0,249,125,13,0,5,0,74,0,248,125,13,0,5,0,70,0,252,125,13,0,5,0,70,0,251,125,13,0,5,0,71,0,252,125,13,0,5,0,71,0,251,125,13,0,5,0,72,0,252,125,13,0,5,0,72,0,251,125,13,0,5,0,73,0,252,125,13,0,5,0,73,0,251,125,13,0,5,0,74,0,252,125,13,0,5,0,74,0,251,125,13,0,5,0,70,0,10,126,13,0,5,0,70,0,9,126,13,0,5,0,71,0,10,126,13,0,5,0,71,0,9,126,13,0,5,0,72,0,10,126,13,0,5,0,72,0,9,126,13,0,5,0,73,0,10,126,13,0,5,0,73,0,9,126,13,0,5,0,74,0,10,126,13,0,5,0,74,0,9,126,13,0,5,0,70,0,4,126,13,0,5,0,70,0,3,126,13,0,5,0,71,0,4,126,13,0,5,0,71,0,3,126,13,0,5,0,72,0,4,126,13,0,5,0,72,0,3,126,13,0,5,0,73,0,4,126,13,0,5,0,73,0,3,126,13,0,5,0,74,0,4,126,13,0,5,0,74,0,3,126,13,0,5,0,70,0,243,125,13,0,5,0,70,0,242,125,13,0,5,0,71,0,243,125,13,0,5,0,71,0,242,125,13,0,5,0,72,0,243,125,13,0,5,0,72,0,242,125,13,0,5,0,73,0,243,125,13,0,5,0,73,0,242,125,13,0,5,0,74,0,243,125,13,0,5,0,74,0,242,125,13,0,5,0,70,0,246,125,13,0,5,0,70,0,245,125,13,0,5,0,71,0,246,125,13,0,5,0,71,0,245,125,13,0,5,0,72,0,246,125,13,0,5,0,72,0,245,125,13,0,5,0,73,0,246,125,13,0,5,0,73,0,245,125,13,0,5,0,74,0,246,125,13,0,5,0,74,0,245,125,13,0,5,0,70,0,182,126,13,0,5,0,70,0,181,126,13,0,5,0,71,0,182,126,13,0,5,0,71,0,181,126,13,0,5,0,72,0,182,126,13,0,5,0,72,0,181,126,13,0,5,0,73,0,182,126,13,0,5,0,73,0,181,126,13,0,5,0,74,0,182,126,13,0,5,0,74,0,181,126,13,0,5,0,70,0,194,126,13,0,5,0,70,0,193,126,13,0,5,0,71,0,194,126,13,0,5,0,71,0,193,126,13,0,5,0,72,0,194,126,13,0,5,0,72,0,193,126,13,0,5,0,73,0,194,126,13,0,5,0,73,0,193,126,13,0,5,0,74,0,194,126,13,0,5,0,74,0,193,126,13,0,5,0,70,0,197,126,13,0,5,0,70,0,196,126,13,0,5,0,71,0,197,126,13,0,5,0,71,0,196,126,13,0,5,0,72,0,197,126,13,0,5,0,72,0,196,126,13,0,5,0,73,0,197,126,13,0,5,0,73,0,196,126,13,0,5,0,74,0,197,126,13,0,5,0,74,0,196,126,13,0,5,0,70,0,139,126,13,0,5,0,70,0,138,126,13,0,5,0,71,0,139,126,13,0,5,0,71,0,138,126,13,0,5,0,72,0,139,126,13,0,5,0,72,0,138,126,13,0,5,0,73,0,139,126,13,0,5,0,73,0,138,126,13,0,5,0,74,0,139,126,13,0,5,0,74,0,138,126,13,0,5,0,70,0,13,126,13,0,5,0,70,0,12,126,13,0,5,0,71,0,13,126,13,0,5,0,71,0,12,126,13,0,5,0,72,0,13,126,13,0,5,0,72,0,12,126,13,0,5,0,73,0,13,126,13,0,5,0,73,0,12,126,13,0,5,0,74,0,13,126,13,0,5,0,74,0,12,126,13,0,5,0,70,0,88,126,13,0,5,0,70,0,87,126,13,0,5,0,71,0,88,126,13,0,5,0,71,0,87,126,13,0,5,0,72,0,88,126,13,0,5,0,72,0,87,126,13,0,5,0,73,0,88,126,13,0,5,0,73,0,87,126,13,0,5,0,74,0,88,126,13,0,5,0,74,0,87,126,13,0,5,0,70,0,16,126,13,0,5,0,70,0,15,126,13,0,5,0,71,0,16,126,13,0,5,0,71,0,15,126,13,0,5,0,72,0,16,126,13,0,5,0,72,0,15,126,13,0,5,0,73,0,16,126,13,0,5,0,73,0,15,126,13,0,5,0,74,0,16,126,13,0,5,0,74,0,15,126,13,0,5,0,70,0,200,126,13,0,5,0,70,0,199,126,13,0,5,0,71,0,200,126,13,0,5,0,71,0,199,126,13,0,5,0,72,0,200,126,13,0,5,0,72,0,199,126,13,0,5,0,73,0,200,126,13,0,5,0,73,0,199,126,13,0,5,0,74,0,200,126,13,0,5,0,74,0,199,126,13,0,5,0,70,0,212,126,13,0,5,0,70,0,211,126,13,0,5,0,71,0,212,126,13,0,5,0,71,0,211,126,13,0,5,0,72,0,212,126,13,0,5,0,72,0,211,126,13,0,5,0,73,0,212,126,13,0,5,0,73,0,211,126,13,0,5,0,74,0,212,126,13,0,5,0,74,0,211,126,13,0,5,0,70,0,206,126,13,0,5,0,70,0,205,126,13,0,5,0,71,0,206,126,13,0,5,0,71,0,205,126,13,0,5,0,72,0,206,126,13,0,5,0,72,0,205,126,13,0,5,0,73,0,206,126,13,0,5,0,73,0,205,126,13,0,5,0,74,0,206,126,13,0,5,0,74,0,205,126,13,0,5,0,70,0,209,126,13,0,5,0,70,0,208,126,13,0,5,0,71,0,209,126,13,0,5,0,71,0,208,126,13,0,5,0,72,0,209,126,13,0,5,0,72,0,208,126,13,0,5,0,73,0,209,126,13,0,5,0,73,0,208,126,13,0,5,0,74,0,209,126,13,0,5,0,74,0,208,126,13,0,5,0,70,0,105,126,13,0,5,0,70,0,104,126,13,0,5,0,71,0,105,126,13,0,5,0,71,0,104,126,13,0,5,0,72,0,105,126,13,0,5,0,72,0,104,126,13,0,5,0,73,0,105,126,13,0,5,0,73,0,104,126,13,0,5,0,74,0,105,126,13,0,5,0,74,0,104,126,13,0,5,0,70,0,108,126,13,0,5,0,70,0,107,126,13,0,5,0,71,0,108,126,13,0,5,0,71,0,107,126,13,0,5,0,72,0,108,126,13,0,5,0,72,0,107,126,13,0,5,0,73,0,108,126,13,0,5,0,73,0,107,126,13,0,5,0,74,0,108,126,13,0,5,0,74,0,107,126,13,0,5,0,70,0,142,126,13,0,5,0,70,0,141,126,13,0,5,0,71,0,142,126,13,0,5,0,71,0,141,126,13,0,5,0,72,0,142,126,13,0,5,0,72,0,141,126,13,0,5,0,73,0,142,126,13,0,5,0,73,0,141,126,13,0,5,0,74,0,142,126,13,0,5,0,74,0,141,126,13,0,5,0,70,0,145,126,13,0,5,0,70,0,144,126,13,0,5,0,71,0,145,126,13,0,5,0,71,0,144,126,13,0,5,0,72,0,145,126,13,0,5,0,72,0,144,126,13,0,5,0,73,0,145,126,13,0,5,0,73,0,144,126,13,0,5,0,74,0,145,126,13,0,5,0,74,0,144,126,13,0,5,0,70,0,7,126,13,0,5,0,70,0,6,126,13,0,5,0,71,0,7,126,13,0,5,0,71,0,6,126,13,0,5,0,72,0,7,126,13,0,5,0,72,0,6,126,13,0,5,0,73,0,7,126,13,0,5,0,73,0,6,126,13,0,5,0,74,0,7,126,13,0,5,0,74,0,6,126,13,0,5,0,70,0,17,126,13,0,5,0,70,0,26,126,13,0,5,0,70,0,56,126,13,0,5,0,70,0,29,126,13,0,5,0,70,0,32,126,13,0,5,0,70,0,98,126,13,0,5,0,70,0,102,126,13,0,5,0,70,0,20,126,13,0,5,0,70,0,50,126,13,0,5,0,70,0,53,126,13,0,5,0,70,0,23,126,13,0,5,0,70,0,38,126,13,0,5,0,70,0,47,126,13,0,5,0,70,0,41,126,13,0,5,0,70,0,35,126,13,0,5,0,70,0,44,126,13,0,5,0,70,0,59,126,13,0,5,0,70,0,62,126,13,0,5,0,70,0,218,126,13,0,5,0,70,0,146,126,13,0,5,0,70,0,149,126,13,0,5,0,70,0,152,126,13,0,5,0,71,0,17,126,13,0,5,0,71,0,26,126,13,0,5,0,71,0,56,126,13,0,5,0,71,0,29,126,13,0,5,0,71,0,32,126,13,0,5,0,71,0,98,126,13,0,5,0,71,0,102,126,13,0,5,0,71,0,20,126,13,0,5,0,71,0,50,126,13,0,5,0,71,0,53,126,13,0,5,0,71,0,23,126,13,0,5,0,71,0,38,126,13,0,5,0,71,0,47,126,13,0,5,0,71,0,41,126,13,0,5,0,71,0,35,126,13,0,5,0,71,0,44,126,13,0,5,0,71,0,59,126,13,0,5,0,71,0,62,126,13,0,5,0,71,0,218,126,13,0,5,0,71,0,146,126,13,0,5,0,71,0,149,126,13,0,5,0,71,0,152,126,13,0,5,0,72,0,17,126,13,0,5,0,72,0,26,126,13,0,5,0,72,0,56,126,13,0,5,0,72,0,29,126,13,0,5,0,72,0,32,126,13,0,5,0,72,0,98,126,13,0,5,0,72,0,102,126,13,0,5,0,72,0,20,126,13,0,5,0,72,0,50,126,13,0,5,0,72,0,53,126,13,0,5,0,72,0,23,126,13,0,5,0,72,0,38,126,13,0,5,0,72,0,47,126,13,0,5,0,72,0,41,126,13,0,5,0,72,0,35,126,13,0,5,0,72,0,44,126,13,0,5,0,72,0,59,126,13,0,5,0,72,0,62,126,13,0,5,0,72,0,218,126,13,0,5,0,72,0,146,126,13,0,5,0,72,0,149,126,13,0,5,0,72,0,152,126,13,0,5,0,73,0,17,126,13,0,5,0,73,0,26,126,13,0,5,0,73,0,56,126,13,0,5,0,73,0,29,126,13,0,5,0,73,0,32,126,13,0,5,0,73,0,98,126,13,0,5,0,73,0,102,126,13,0,5,0,73,0,20,126,13,0,5,0,73,0,50,126,13,0,5,0,73,0,53,126,13,0,5,0,73,0,23,126,13,0,5,0,73,0,38,126,13,0,5,0,73,0,47,126,13,0,5,0,73,0,41,126,13,0,5,0,73,0,35,126,13,0,5,0,73,0,44,126,13,0,5,0,73,0,59,126,13,0,5,0,73,0,62,126,13,0,5,0,73,0,218,126,13,0,5,0,73,0,146,126,13,0,5,0,73,0,149,126,13,0,5,0,73,0,152,126,13,0,5,0,74,0,17,126,13,0,5,0,74,0,26,126,13,0,5,0,74,0,56,126,13,0,5,0,74,0,29,126,13,0,5,0,74,0,32,126,13,0,5,0,74,0,98,126,13,0,5,0,74,0,102,126,13,0,5,0,74,0,20,126,13,0,5,0,74,0,50,126,13,0,5,0,74,0,53,126,13,0,5,0,74,0,23,126,13,0,5,0,74,0,38,126,13,0,5,0,74,0,47,126,13,0,5,0,74,0,41,126,13,0,5,0,74,0,35,126,13,0,5,0,74,0,44,126,13,0,5,0,74,0,59,126,13,0,5,0,74,0,62,126,13,0,5,0,74,0,218,126,13,0,5,0,74,0,146,126,13,0,5,0,74,0,149,126,13,0,5,0,74,0,152,126,13,0,5,0,70,0,231,125,13,0,5,0,70,0,235,125,13,0,5,0,71,0,231,125,13,0,5,0,71,0,235,125,13,0,5,0,72,0,231,125,13,0,5,0,72,0,235,125,13,0,5,0,73,0,231,125,13,0,5,0,73,0,235,125,13,0,5,0,74,0,231,125,13,0,5,0,74,0,235,125,13,0,5,0,75,0,231,125,13,0,5,0,75,0,235,125,13,0,5,0,76,0,231,125,13,0,5,0,70,0,166,126,13,0,5,0,70,0,165,126,13,0,5,0,71,0,166,126,13,0,5,0,71,0,165,126,13,0,5,0,72,0,166,126,13,0,5,0,72,0,165,126,13,0,5,0,73,0,166,126,13,0,5,0,73,0,165,126,13,0,5,0,74,0,166,126,13,0,5,0,74,0,165,126,13,0,5,0,70,0,169,126,13,0,5,0,70,0,168,126,13,0,5,0,71,0,169,126,13,0,5,0,71,0,168,126,13,0,5,0,72,0,169,126,13,0,5,0,72,0,168,126,13,0,5,0,73,0,169,126,13,0,5,0,73,0,168,126,13,0,5,0,74,0,169,126,13,0,5,0,74,0,168,126,13,0,5,0,70,0,215,126,13,0,5,0,70,0,214,126,13,0,5,0,71,0,215,126,13,0,5,0,71,0,214,126,13,0,5,0,72,0,215,126,13,0,5,0,72,0,214,126,13,0,5,0,73,0,215,126,13,0,5,0,73,0,214,126,13,0,5,0,74,0,215,126,13,0,5,0,74,0,214,126,13,0,5,0,70,0,111,126,13,0,5,0,70,0,110,126,13,0,5,0,71,0,111,126,13,0,5,0,71,0,110,126,13,0,5,0,72,0,111,126,13,0,5,0,72,0,110,126,13,0,5,0,73,0,111,126,13,0,5,0,73,0,110,126,13,0,5,0,74,0,111,126,13,0,5,0,74,0,110,126,13,0,5,0,70,0,114,126,13,0,5,0,70,0,113,126,13,0,5,0,71,0,114,126,13,0,5,0,71,0,113,126,13,0,5,0,72,0,114,126,13,0,5,0,72,0,113,126,13,0,5,0,73,0,114,126,13,0,5,0,73,0,113,126,13,0,5,0,74,0,114,126,13,0,5,0,74,0,113,126,13,0,5,0,70,0,117,126,13,0,5,0,70,0,116,126,13,0,5,0,71,0,117,126,13,0,5,0,71,0,116,126,13,0,5,0,72,0,117,126,13,0,5,0,72,0,116,126,13,0,5,0,73,0,117,126,13,0,5,0,73,0,116,126,13,0,5,0,74,0,117,126,13,0,5,0,74,0,116,126,13,0,5,0,70,0,120,126,13,0,5,0,70,0,119,126,13,0,5,0,71,0,120,126,13,0,5,0,71,0,119,126,13,0,5,0,72,0,120,126,13,0,5,0,72,0,119,126,13,0,5,0,73,0,120,126,13,0,5,0,73,0,119,126,13,0,5,0,74,0,120,126,13,0,5,0,74,0,119,126,13,0,5,0,70,0,123,126,13,0,5,0,70,0,122,126,13,0,5,0,71,0,123,126,13,0,5,0,71,0,122,126,13,0,5,0,72,0,123,126,13,0,5,0,72,0,122,126,13,0,5,0,73,0,123,126,13,0,5,0,73,0,122,126,13,0,5,0,74,0,123,126,13,0,5,0,74,0,122,126,13,0,0,0,0,193,133,130,13,5,158,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,201,192,2,0,201,32,4,0,201,128,5,0,201,224,6,0,201,64,8,0,201,160,9,0,201,0,11,0,201,96,12,0,201,192,13,0,201,32,15,0,150,10,5,5,1,0,227,32,130,205,193,235,15,254,48,0,227,32,130,205,193,235,128,10,5,5,1,0,227,32,130,205,193,236,15,254,48,0,227,32,130,205,193,236,0,19,5,5,1,0,227,32,130,205,193,237,15,254,48,0,227,32,130,205,193,237,0,21,5,5,1,0,227,32,130,205,193,238,15,254,48,0,227,32,130,205,193,238,0,23,5,5,1,0,227,32,130,205,193,239,15,254,48,0,227,32,130,205,193,239,0,25,5,5,1,0,227,32,130,205,193,240,15,254,48,0,227,32,130,205,193,240,0,27,5,5,1,0,227,32,130,205,193,241,15,254,48,0,227,32,130,205,193,241,0,29,5,5,1,0,227,32,130,205,193,242,15,254,48,0,227,32,130,205,193,242,0,31,5,5,1,0,227,32,130,205,193,243,15,254,48,0,227,32,130,205,193,243,0,33,5,5,1,0,227,32,130,205,193,244,15,254,48,0,227,32,130,205,193,244,0,35,5,5,1,0,227,32,130,205,193,245,15,254,48,0,227,32,130,205,193,245,0,37,5,5,1,0,227,32,130,205,193,246,15,254,48,0,227,32,130,205,193,246,126,13,193,186,2,0,13,32,5,0,60,216,10,0,15,254,48,0,13,32,1,0,64,38,126,205,193,188,66,38,126,205,193,187,4,0,251,223,16,0,252,223,22,0,253,223,29,0,254,223,36,0,255,223,48,0,13,32,1,0,64,38,1,192,198,33,66,38,1,192,198,65,48,0,13,32,1,0,64,38,198,161,66,38,0,192,198,65,48,0,13,32,1,0,64,38,0,192,198,97,66,38,0,192,198,129,48,0,13,32,1,0,64,38,0,192,198,161,66,38,0,192,198,193,48,0,13,32,1,0,64,38,0,192,198,225,66,38,1,192,198,1,125,13,193,138,1,0,13,32,3,0,15,254,48,0,13,32,1,0,61,216,5,0,62,216,48,0,121,222,125,205,193,137,48,0,37,221,125,205,193,136,126,13,193,155,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,4,192,198,65,66,38,4,192,198,97,48,0,13,32,1,0,64,38,3,192,198,65,66,38,3,192,198,97,48,0,13,32,1,0,64,38,3,192,198,129,66,38,3,192,198,161,48,0,13,32,1,0,64,38,3,192,198,193,66,38,3,192,198,225,48,0,13,32,1,0,64,38,4,192,198,1,66,38,4,192,198,33,1,0,64,38,126,205,193,157,66,38,126,205,193,156,126,13,193,177,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,5,192,198,129,66,38,5,192,198,161,48,0,13,32,1,0,64,38,4,192,198,129,66,38,4,192,198,161,48,0,13,32,1,0,64,38,4,192,198,193,66,38,4,192,198,225,48,0,13,32,1,0,64,38,5,192,198,1,66,38,5,192,198,33,48,0,13,32,1,0,64,38,5,192,198,65,66,38,5,192,198,97,1,0,64,38,126,205,193,179,66,38,126,205,193,178,126,13,193,183,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,6,192,198,193,66,38,6,192,198,225,48,0,13,32,1,0,64,38,5,192,198,193,66,38,5,192,198,225,48,0,13,32,1,0,64,38,6,192,198,1,66,38,6,192,198,33,48,0,13,32,1,0,64,38,6,192,198,65,66,38,6,192,198,97,48,0,13,32,1,0,64,38,6,192,198,129,66,38,6,192,198,161,1,0,64,38,126,205,193,185,66,38,126,205,193,184,126,13,193,189,2,0,13,32,5,0,60,216,10,0,15,254,48,0,13,32,1,0,64,38,126,205,193,191,66,38,126,205,193,190,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,8,192,198,1,66,38,8,192,198,33,48,0,13,32,1,0,64,38,7,192,198,1,66,38,7,192,198,33,48,0,13,32,1,0,64,38,7,192,198,65,66,38,7,192,198,97,48,0,13,32,1,0,64,38,7,192,198,129,66,38,7,192,198,161,48,0,13,32,1,0,64,38,7,192,198,193,66,38,7,192,198,225,126,13,193,174,2,0,13,32,5,0,60,216,10,0,15,254,48,0,13,32,1,0,64,38,126,205,193,176,66,38,126,205,193,175,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,9,192,198,65,66,38,9,192,198,97,48,0,13,32,1,0,64,38,8,192,198,65,66,38,8,192,198,97,48,0,13,32,1,0,64,38,8,192,198,129,66,38,8,192,198,161,48,0,13,32,1,0,64,38,8,192,198,193,66,38,8,192,198,225,48,0,13,32,1,0,64,38,9,192,198,1,66,38,9,192,198,33,131,13,193,71,1,0,13,32,3,0,15,254,48,0,13,32,1,0,167,38,131,205,193,73,60,216,48,0,8,223,131,205,193,72,131,13,193,70,1,0,13,32,39,0,64,219,51,0,103,220,64,219,98,220,64,219,2,0,101,220,12,0,115,220,19,0,119,220,53,0,64,219,108,220,64,219,115,220,64,219,127,220,131,205,193,103,53,0,64,219,110,220,64,219,103,220,64,219,127,220,131,205,193,101,53,0,64,219,99,220,64,219,116,220,64,219,127,220,131,205,193,102,48,0,32,38,131,205,193,74,127,13,193,24,49,0,13,32,27,43,127,205,193,25,127,13,193,16,50,0,13,32,62,216,186,221,127,205,193,18,127,13,193,83,49,0,13,32,27,43,127,205,193,96,127,13,193,67,49,0,13,32,68,39,127,205,193,68,125,13,193,221,1,0,13,32,7,0,15,254,50,0,13,32,61,216,232,221,125,205,193,159,49,0,61,216,232,221,125,205,193,159,125,13,193,231,1,0,13,32,180,1,60,216,4,0,251,223,92,0,252,223,175,0,253,223,2,1,254,223,85,1,255,223,48,0,13,32,5,0,60,216,71,0,60,216,21,0,61,216,46,0,62,216,3,0,29,221,9,0,175,221,22,192,198,65,188,221,22,192,198,97,189,221,22,192,198,129,50,0,13,32,61,216,104,220,22,192,198,33,7,0,164,223,12,0,164,223,20,192,198,225,168,223,21,192,198,1,235,223,21,192,198,33,237,223,21,192,198,65,62,223,20,192,198,97,115,223,20,192,198,129,124,223,20,192,198,161,147,223,20,192,198,193,5,0,44,221,9,0,44,221,21,192,198,193,128,222,21,192,198,225,146,222,22,192,198,1,187,220,21,192,198,97,188,220,21,192,198,129,39,221,21,192,198,161,149,38,20,192,198,1,150,38,20,192,198,33,8,39,20,192,198,65,48,0,13,32,5,0,60,216,71,0,60,216,21,0,61,216,46,0,62,216,3,0,29,221,9,0,175,221,11,192,198,193,188,221,11,192,198,225,189,221,12,192,198,1,50,0,13,32,61,216,104,220,11,192,198,161,7,0,164,223,12,0,164,223,10,192,198,97,168,223,10,192,198,129,235,223,10,192,198,161,237,223,10,192,198,193,62,223,9,192,198,225,115,223,10,192,198,1,124,223,10,192,198,33,147,223,10,192,198,65,5,0,44,221,9,0,44,221,11,192,198,65,128,222,11,192,198,97,146,222,11,192,198,129,187,220,10,192,198,225,188,220,11,192,198,1,39,221,11,192,198,33,149,38,9,192,198,129,150,38,9,192,198,161,8,39,9,192,198,193,48,0,13,32,5,0,60,216,71,0,60,216,21,0,61,216,46,0,62,216,3,0,29,221,9,0,175,221,14,192,198,97,188,221,14,192,198,129,189,221,14,192,198,161,50,0,13,32,61,216,104,220,14,192,198,65,7,0,164,223,12,0,164,223,13,192,198,1,168,223,13,192,198,33,235,223,13,192,198,65,237,223,13,192,198,97,62,223,12,192,198,129,115,223,12,192,198,161,124,223,12,192,198,193,147,223,12,192,198,225,5,0,44,221,9,0,44,221,13,192,198,225,128,222,14,192,198,1,146,222,14,192,198,33,187,220,13,192,198,129,188,220,13,192,198,161,39,221,13,192,198,193,149,38,12,192,198,33,150,38,12,192,198,65,8,39,12,192,198,97,48,0,13,32,5,0,60,216,71,0,60,216,21,0,61,216,46,0,62,216,3,0,29,221,9,0,175,221,17,192,198,1,188,221,17,192,198,33,189,221,17,192,198,65,50,0,13,32,61,216,104,220,16,192,198,225,7,0,164,223,12,0,164,223,15,192,198,161,168,223,15,192,198,193,235,223,15,192,198,225,237,223,16,192,198,1,62,223,15,192,198,33,115,223,15,192,198,65,124,223,15,192,198,97,147,223,15,192,198,129,5,0,44,221,9,0,44,221,16,192,198,129,128,222,16,192,198,161,146,222,16,192,198,193,187,220,16,192,198,33,188,220,16,192,198,65,39,221,16,192,198,97,149,38,14,192,198,193,150,38,14,192,198,225,8,39,15,192,198,1,48,0,13,32,5,0,60,216,71,0,60,216,21,0,61,216,46,0,62,216,3,0,29,221,9,0,175,221,19,192,198,161,188,221,19,192,198,193,189,221,19,192,198,225,50,0,13,32,61,216,104,220,19,192,198,129,7,0,164,223,12,0,164,223,18,192,198,65,168,223,18,192,198,97,235,223,18,192,198,129,237,223,18,192,198,161,62,223,17,192,198,193,115,223,17,192,198,225,124,223,18,192,198,1,147,223,18,192,198,33,5,0,44,221,9,0,44,221,19,192,198,33,128,222,19,192,198,65,146,222,19,192,198,97,187,220,18,192,198,193,188,220,18,192,198,225,39,221,19,192,198,1,149,38,17,192,198,97,150,38,17,192,198,129,8,39,17,192,198,161,6,0,100,39,178,0,100,39,15,0,60,216,44,0,61,216,69,0,62,216,2,0,175,221,126,205,193,147,188,221,126,205,193,150,189,221,126,205,193,153,1,0,13,32,15,0,15,254,49,0,13,32,61,216,1,0,104,220,126,205,193,228,139,220,50,0,13,32,61,216,104,220,126,205,193,224,48,0,61,216,1,0,104,220,126,205,193,228,139,220,50,0,13,32,61,216,104,220,126,205,193,224,7,0,164,223,12,0,164,223,126,205,193,51,168,223,126,205,193,54,235,223,126,205,193,24,237,223,126,205,193,39,62,223,126,205,193,30,115,223,126,205,193,33,124,223,126,205,193,97,147,223,126,205,193,21,9,0,188,220,15,0,188,220,126,205,193,42,39,221,126,205,193,36,44,221,126,205,193,45,128,222,126,205,193,60,146,222,126,205,193,63,102,220,9,0,103,220,15,0,104,220,25,0,105,220,50,0,187,220,126,205,193,48,242,127,126,13,193,246,13,32,61,216,102,220,126,205,193,247,241,127,126,13,193,248,13,32,61,216,1,0,102,220,126,205,193,249,103,220,126,205,193,250,49,0,13,32,61,216,1,0,102,220,13,0,103,220,241,127,126,13,193,237,13,32,61,216,1,0,102,220,126,205,193,238,103,220,126,205,193,240,242,127,126,13,193,236,13,32,61,216,102,220,126,205,193,239,49,0,13,32,61,216,1,0,102,220,13,0,103,220,241,127,126,13,193,232,13,32,61,216,1,0,102,220,126,205,193,233,103,220,126,205,193,235,242,127,126,13,193,231,13,32,61,216,102,220,126,205,193,234,149,38,126,205,193,18,150,38,126,205,193,27,8,39,126,205,193,57,125,13,193,235,1,0,13,32,200,1,60,216,4,0,251,223,96,0,252,223,183,0,253,223,14,1,254,223,101,1,255,223,48,0,13,32,5,0,60,216,75,0,60,216,25,0,61,216,50,0,62,216,3,0,29,221,9,0,175,221,36,192,198,1,188,221,36,192,198,33,189,221,36,192,198,65,49,0,13,32,61,216,1,0,104,220,35,192,198,193,105,220,35,192,198,225,7,0,164,223,12,0,164,223,34,192,198,129,168,223,34,192,198,161,235,223,34,192,198,193,237,223,34,192,198,225,62,223,34,192,198,1,115,223,34,192,198,33,124,223,34,192,198,65,147,223,34,192,198,97,5,0,44,221,9,0,44,221,35,192,198,97,128,222,35,192,198,129,146,222,35,192,198,161,187,220,35,192,198,1,188,220,35,192,198,33,39,221,35,192,198,65,149,38,33,192,198,161,150,38,33,192,198,193,8,39,33,192,198,225,48,0,13,32,5,0,60,216,75,0,60,216,25,0,61,216,50,0,62,216,3,0,29,221,9,0,175,221,25,192,198,1,188,221,25,192,198,33,189,221,25,192,198,65,49,0,13,32,61,216,1,0,104,220,24,192,198,193,105,220,24,192,198,225,7,0,164,223,12,0,164,223,23,192,198,129,168,223,23,192,198,161,235,223,23,192,198,193,237,223,23,192,198,225,62,223,23,192,198,1,115,223,23,192,198,33,124,223,23,192,198,65,147,223,23,192,198,97,5,0,44,221,9,0,44,221,24,192,198,97,128,222,24,192,198,129,146,222,24,192,198,161,187,220,24,192,198,1,188,220,24,192,198,33,39,221,24,192,198,65,149,38,22,192,198,161,150,38,22,192,198,193,8,39,22,192,198,225,48,0,13,32,5,0,60,216,75,0,60,216,25,0,61,216,50,0,62,216,3,0,29,221,9,0,175,221,27,192,198,193,188,221,27,192,198,225,189,221,28,192,198,1,49,0,13,32,61,216,1,0,104,220,27,192,198,129,105,220,27,192,198,161,7,0,164,223,12,0,164,223,26,192,198,65,168,223,26,192,198,97,235,223,26,192,198,129,237,223,26,192,198,161,62,223,25,192,198,193,115,223,25,192,198,225,124,223,26,192,198,1,147,223,26,192,198,33,5,0,44,221,9,0,44,221,27,192,198,33,128,222,27,192,198,65,146,222,27,192,198,97,187,220,26,192,198,193,188,220,26,192,198,225,39,221,27,192,198,1,149,38,25,192,198,97,150,38,25,192,198,129,8,39,25,192,198,161,48,0,13,32,5,0,60,216,75,0,60,216,25,0,61,216,50,0,62,216,3,0,29,221,9,0,175,221,30,192,198,129,188,221,30,192,198,161,189,221,30,192,198,193,49,0,13,32,61,216,1,0,104,220,30,192,198,65,105,220,30,192,198,97,7,0,164,223,12,0,164,223,29,192,198,1,168,223,29,192,198,33,235,223,29,192,198,65,237,223,29,192,198,97,62,223,28,192,198,129,115,223,28,192,198,161,124,223,28,192,198,193,147,223,28,192,198,225,5,0,44,221,9,0,44,221,29,192,198,225,128,222,30,192,198,1,146,222,30,192,198,33,187,220,29,192,198,129,188,220,29,192,198,161,39,221,29,192,198,193,149,38,28,192,198,33,150,38,28,192,198,65,8,39,28,192,198,97,48,0,13,32,5,0,60,216,75,0,60,216,25,0,61,216,50,0,62,216,3,0,29,221,9,0,175,221,33,192,198,65,188,221,33,192,198,97,189,221,33,192,198,129,49,0,13,32,61,216,1,0,104,220,33,192,198,1,105,220,33,192,198,33,7,0,164,223,12,0,164,223,31,192,198,193,168,223,31,192,198,225,235,223,32,192,198,1,237,223,32,192,198,33,62,223,31,192,198,65,115,223,31,192,198,97,124,223,31,192,198,129,147,223,31,192,198,161,5,0,44,221,9,0,44,221,32,192,198,161,128,222,32,192,198,193,146,222,32,192,198,225,187,220,32,192,198,65,188,220,32,192,198,97,39,221,32,192,198,129,149,38,30,192,198,225,150,38,31,192,198,1,8,39,31,192,198,33,6,0,100,39,163,0,100,39,15,0,60,216,58,0,61,216,83,0,62,216,2,0,175,221,126,205,193,148,188,221,126,205,193,151,189,221,126,205,193,154,1,0,13,32,22,0,15,254,49,0,13,32,61,216,2,0,104,220,126,205,193,227,105,220,126,205,193,229,139,220,49,0,13,32,61,216,1,0,104,220,126,205,193,223,105,220,126,205,193,225,48,0,61,216,2,0,104,220,126,205,193,227,105,220,126,205,193,229,139,220,49,0,13,32,61,216,1,0,104,220,126,205,193,223,105,220,126,205,193,225,7,0,164,223,12,0,164,223,126,205,193,52,168,223,126,205,193,55,235,223,126,205,193,25,237,223,126,205,193,40,62,223,126,205,193,31,115,223,126,205,193,34,124,223,126,205,193,96,147,223,126,205,193,22,8,0,188,220,15,0,188,220,126,205,193,43,39,221,126,205,193,37,44,221,126,205,193,46,128,222,126,205,193,61,146,222,126,205,193,64,102,220,7,0,103,220,13,0,105,220,23,0,187,220,126,205,193,49,242,127,126,13,193,251,13,32,61,216,102,220,126,205,193,252,241,127,126,13,193,253,13,32,61,216,1,0,102,220,126,205,193,254,103,220,126,205,193,255,49,0,13,32,61,216,1,0,102,220,13,0,103,220,241,127,126,13,193,242,13,32,61,216,1,0,102,220,126,205,193,243,103,220,126,205,193,245,242,127,126,13,193,241,13,32,61,216,102,220,126,205,193,244,149,38,126,205,193,19,150,38,126,205,193,28,8,39,126,205,193,58,126,13,193,220,48,0,60,216,4,0,251,223,36,192,198,98,252,223,36,192,198,162,253,223,36,192,198,226,254,223,37,192,198,34,255,223,37,192,198,98,126,13,193,221,48,0,60,216,4,0,251,223,37,192,198,162,252,223,37,192,198,226,253,223,38,192,198,34,254,223,38,192,198,98,255,223,38,192,198,162,126,13,193,219,48,0,60,216,4,0,251,223,38,192,198,226,252,223,39,192,198,34,253,223,39,192,198,98,254,223,39,192,198,162,255,223,39,192,198,226,126,13,193,65,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,41,192,198,33,66,38,41,192,198,65,48,0,13,32,1,0,64,38,40,192,198,33,66,38,40,192,198,65,48,0,13,32,1,0,64,38,40,192,198,97,66,38,40,192,198,129,48,0,13,32,1,0,64,38,40,192,198,161,66,38,40,192,198,193,48,0,13,32,1,0,64,38,40,192,198,225,66,38,41,192,198,1,1,0,64,38,126,205,193,67,66,38,126,205,193,66,126,13,193,161,48,0,13,32,1,0,64,38,126,205,193,163,66,38,126,205,193,162,126,13,193,89,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,42,192,198,97,66,38,42,192,198,129,48,0,13,32,1,0,64,38,41,192,198,97,66,38,41,192,198,129,48,0,13,32,1,0,64,38,41,192,198,161,66,38,41,192,198,193,48,0,13,32,1,0,64,38,41,192,198,225,66,38,42,192,198,1,48,0,13,32,1,0,64,38,42,192,198,33,66,38,42,192,198,65,1,0,64,38,126,205,193,91,66,38,126,205,193,90,42,0,198,161,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,44,192,198,1,66,38,44,192,198,33,48,0,13,32,1,0,64,38,43,192,198,1,66,38,43,192,198,33,48,0,13,32,1,0,64,38,43,192,198,65,66,38,43,192,198,97,48,0,13,32,1,0,64,38,43,192,198,129,66,38,43,192,198,161,48,0,13,32,1,0,64,38,43,192,198,193,66,38,43,192,198,225,1,0,64,38,42,192,198,193,66,38,42,192,198,225,126,13,193,81,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,45,192,198,65,66,38,45,192,198,97,48,0,13,32,1,0,64,38,44,192,198,65,66,38,44,192,198,97,48,0,13,32,1,0,64,38,44,192,198,129,66,38,44,192,198,161,48,0,13,32,1,0,64,38,44,192,198,193,66,38,44,192,198,225,48,0,13,32,1,0,64,38,45,192,198,1,66,38,45,192,198,33,1,0,64,38,126,205,193,83,66,38,126,205,193,82,126,13,193,75,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,46,192,198,129,66,38,46,192,198,161,48,0,13,32,1,0,64,38,45,192,198,129,66,38,45,192,198,161,48,0,13,32,1,0,64,38,45,192,198,193,66,38,45,192,198,225,48,0,13,32,1,0,64,38,46,192,198,1,66,38,46,192,198,33,48,0,13,32,1,0,64,38,46,192,198,65,66,38,46,192,198,97,1,0,64,38,126,205,193,77,66,38,126,205,193,76,125,13,193,253,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,47,192,198,193,66,38,47,192,198,225,48,0,13,32,1,0,64,38,46,192,198,193,66,38,46,192,198,225,48,0,13,32,1,0,64,38,47,192,198,1,66,38,47,192,198,33,48,0,13,32,1,0,64,38,47,192,198,65,66,38,47,192,198,97,48,0,13,32,1,0,64,38,47,192,198,129,66,38,47,192,198,161,1,0,64,38,125,205,193,255,66,38,125,205,193,254,126,13,193,71,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,49,192,198,1,66,38,49,192,198,33,48,0,13,32,1,0,64,38,48,192,198,1,66,38,48,192,198,33,48,0,13,32,1,0,64,38,48,192,198,65,66,38,48,192,198,97,48,0,13,32,1,0,64,38,48,192,198,129,66,38,48,192,198,161,48,0,13,32,1,0,64,38,48,192,198,193,66,38,48,192,198,225,1,0,64,38,126,205,193,73,66,38,126,205,193,72,126,13,193,131,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,50,192,198,65,66,38,50,192,198,97,48,0,13,32,1,0,64,38,49,192,198,65,66,38,49,192,198,97,48,0,13,32,1,0,64,38,49,192,198,129,66,38,49,192,198,161,48,0,13,32,1,0,64,38,49,192,198,193,66,38,49,192,198,225,48,0,13,32,1,0,64,38,50,192,198,1,66,38,50,192,198,33,1,0,64,38,126,205,193,133,66,38,126,205,193,132,126,13,193,134,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,51,192,198,129,66,38,51,192,198,161,48,0,13,32,1,0,64,38,50,192,198,129,66,38,50,192,198,161,48,0,13,32,1,0,64,38,50,192,198,193,66,38,50,192,198,225,48,0,13,32,1,0,64,38,51,192,198,1,66,38,51,192,198,33,48,0,13,32,1,0,64,38,51,192,198,65,66,38,51,192,198,97,1,0,64,38,126,205,193,136,66,38,126,205,193,135,126,13,193,68,2,0,13,32,5,0,60,216,10,0,15,254,48,0,13,32,1,0,64,38,126,205,193,70,66,38,126,205,193,69,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,52,192,198,193,66,38,52,192,198,225,48,0,13,32,1,0,64,38,51,192,198,193,66,38,51,192,198,225,48,0,13,32,1,0,64,38,52,192,198,1,66,38,52,192,198,33,48,0,13,32,1,0,64,38,52,192,198,65,66,38,52,192,198,97,48,0,13,32,1,0,64,38,52,192,198,129,66,38,52,192,198,161,125,13,193,76,50,0,13,32,61,216,168,220,125,205,193,45,125,13,193,62,50,0,13,32,61,216,171,220,125,205,193,63,125,13,193,38,50,0,13,32,60,216,43,223,125,205,193,40,125,13,193,247,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,54,192,198,1,66,38,54,192,198,33,48,0,13,32,1,0,64,38,53,192,198,1,66,38,53,192,198,33,48,0,13,32,1,0,64,38,53,192,198,65,66,38,53,192,198,97,48,0,13,32,1,0,64,38,53,192,198,129,66,38,53,192,198,161,48,0,13,32,1,0,64,38,53,192,198,193,66,38,53,192,198,225,1,0,64,38,125,205,193,249,66,38,125,205,193,248,125,13,193,250,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,55,192,198,65,66,38,55,192,198,97,48,0,13,32,1,0,64,38,54,192,198,65,66,38,54,192,198,97,48,0,13,32,1,0,64,38,54,192,198,129,66,38,54,192,198,161,48,0,13,32,1,0,64,38,54,192,198,193,66,38,54,192,198,225,48,0,13,32,1,0,64,38,55,192,198,1,66,38,55,192,198,33,1,0,64,38,125,205,193,252,66,38,125,205,193,251,126,13,193,8,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,56,192,198,129,66,38,56,192,198,161,48,0,13,32,1,0,64,38,55,192,198,129,66,38,55,192,198,161,48,0,13,32,1,0,64,38,55,192,198,193,66,38,55,192,198,225,48,0,13,32,1,0,64,38,56,192,198,1,66,38,56,192,198,33,48,0,13,32,1,0,64,38,56,192,198,65,66,38,56,192,198,97,1,0,64,38,126,205,193,10,66,38,126,205,193,9,126,13,193,2,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,57,192,198,193,66,38,57,192,198,225,48,0,13,32,1,0,64,38,56,192,198,193,66,38,56,192,198,225,48,0,13,32,1,0,64,38,57,192,198,1,66,38,57,192,198,33,48,0,13,32,1,0,64,38,57,192,198,65,66,38,57,192,198,97,48,0,13,32,1,0,64,38,57,192,198,129,66,38,57,192,198,161,1,0,64,38,126,205,193,4,66,38,126,205,193,3,125,13,193,241,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,59,192,198,1,66,38,59,192,198,33,48,0,13,32,1,0,64,38,58,192,198,1,66,38,58,192,198,33,48,0,13,32,1,0,64,38,58,192,198,65,66,38,58,192,198,97,48,0,13,32,1,0,64,38,58,192,198,129,66,38,58,192,198,161,48,0,13,32,1,0,64,38,58,192,198,193,66,38,58,192,198,225,1,0,64,38,125,205,193,243,66,38,125,205,193,242,125,13,193,244,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,60,192,198,65,66,38,60,192,198,97,48,0,13,32,1,0,64,38,59,192,198,65,66,38,59,192,198,97,48,0,13,32,1,0,64,38,59,192,198,129,66,38,59,192,198,161,48,0,13,32,1,0,64,38,59,192,198,193,66,38,59,192,198,225,48,0,13,32,1,0,64,38,60,192,198,1,66,38,60,192,198,33,1,0,64,38,125,205,193,246,66,38,125,205,193,245,126,13,193,180,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,61,192,198,129,66,38,61,192,198,161,48,0,13,32,1,0,64,38,60,192,198,129,66,38,60,192,198,161,48,0,13,32,1,0,64,38,60,192,198,193,66,38,60,192,198,225,48,0,13,32,1,0,64,38,61,192,198,1,66,38,61,192,198,33,48,0,13,32,1,0,64,38,61,192,198,65,66,38,61,192,198,97,1,0,64,38,126,205,193,182,66,38,126,205,193,181,126,13,193,192,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,62,192,198,193,66,38,62,192,198,225,48,0,13,32,1,0,64,38,61,192,198,193,66,38,61,192,198,225,48,0,13,32,1,0,64,38,62,192,198,1,66,38,62,192,198,33,48,0,13,32,1,0,64,38,62,192,198,65,66,38,62,192,198,97,48,0,13,32,1,0,64,38,62,192,198,129,66,38,62,192,198,161,1,0,64,38,126,205,193,194,66,38,126,205,193,193,126,13,193,195,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,64,192,198,1,66,38,64,192,198,33,48,0,13,32,1,0,64,38,63,192,198,1,66,38,63,192,198,33,48,0,13,32,1,0,64,38,63,192,198,65,66,38,63,192,198,97,48,0,13,32,1,0,64,38,63,192,198,129,66,38,63,192,198,161,48,0,13,32,1,0,64,38,63,192,198,193,66,38,63,192,198,225,1,0,64,38,126,205,193,197,66,38,126,205,193,196,126,13,193,137,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,65,192,198,65,66,38,65,192,198,97,48,0,13,32,1,0,64,38,64,192,198,65,66,38,64,192,198,97,48,0,13,32,1,0,64,38,64,192,198,129,66,38,64,192,198,161,48,0,13,32,1,0,64,38,64,192,198,193,66,38,64,192,198,225,48,0,13,32,1,0,64,38,65,192,198,1,66,38,65,192,198,33,1,0,64,38,126,205,193,139,66,38,126,205,193,138,126,13,193,11,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,66,192,198,129,66,38,66,192,198,161,48,0,13,32,1,0,64,38,65,192,198,129,66,38,65,192,198,161,48,0,13,32,1,0,64,38,65,192,198,193,66,38,65,192,198,225,48,0,13,32,1,0,64,38,66,192,198,1,66,38,66,192,198,33,48,0,13,32,1,0,64,38,66,192,198,65,66,38,66,192,198,97,1,0,64,38,126,205,193,13,66,38,126,205,193,12,126,13,193,86,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,67,192,198,193,66,38,67,192,198,225,48,0,13,32,1,0,64,38,66,192,198,193,66,38,66,192,198,225,48,0,13,32,1,0,64,38,67,192,198,1,66,38,67,192,198,33,48,0,13,32,1,0,64,38,67,192,198,65,66,38,67,192,198,97,48,0,13,32,1,0,64,38,67,192,198,129,66,38,67,192,198,161,1,0,64,38,126,205,193,88,66,38,126,205,193,87,126,13,193,14,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,69,192,198,1,66,38,69,192,198,33,48,0,13,32,1,0,64,38,68,192,198,1,66,38,68,192,198,33,48,0,13,32,1,0,64,38,68,192,198,65,66,38,68,192,198,97,48,0,13,32,1,0,64,38,68,192,198,129,66,38,68,192,198,161,48,0,13,32,1,0,64,38,68,192,198,193,66,38,68,192,198,225,1,0,64,38,126,205,193,16,66,38,126,205,193,15,126,13,193,198,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,70,192,198,65,66,38,70,192,198,97,48,0,13,32,1,0,64,38,69,192,198,65,66,38,69,192,198,97,48,0,13,32,1,0,64,38,69,192,198,129,66,38,69,192,198,161,48,0,13,32,1,0,64,38,69,192,198,193,66,38,69,192,198,225,48,0,13,32,1,0,64,38,70,192,198,1,66,38,70,192,198,33,1,0,64,38,126,205,193,200,66,38,126,205,193,199,126,13,193,210,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,71,192,198,129,66,38,71,192,198,161,48,0,13,32,1,0,64,38,70,192,198,129,66,38,70,192,198,161,48,0,13,32,1,0,64,38,70,192,198,193,66,38,70,192,198,225,48,0,13,32,1,0,64,38,71,192,198,1,66,38,71,192,198,33,48,0,13,32,1,0,64,38,71,192,198,65,66,38,71,192,198,97,1,0,64,38,126,205,193,212,66,38,126,205,193,211,126,13,193,201,48,0,13,32,1,0,64,38,126,205,193,203,66,38,126,205,193,202,126,13,193,204,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,72,192,198,193,66,38,72,192,198,225,48,0,13,32,1,0,64,38,71,192,198,193,66,38,71,192,198,225,48,0,13,32,1,0,64,38,72,192,198,1,66,38,72,192,198,33,48,0,13,32,1,0,64,38,72,192,198,65,66,38,72,192,198,97,48,0,13,32,1,0,64,38,72,192,198,129,66,38,72,192,198,161,1,0,64,38,126,205,193,206,66,38,126,205,193,205,126,13,193,207,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,74,192,198,1,66,38,74,192,198,33,48,0,13,32,1,0,64,38,73,192,198,1,66,38,73,192,198,33,48,0,13,32,1,0,64,38,73,192,198,65,66,38,73,192,198,97,48,0,13,32,1,0,64,38,73,192,198,129,66,38,73,192,198,161,48,0,13,32,1,0,64,38,73,192,198,193,66,38,73,192,198,225,1,0,64,38,126,205,193,209,66,38,126,205,193,208,126,13,193,103,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,75,192,198,65,66,38,75,192,198,97,48,0,13,32,1,0,64,38,74,192,198,65,66,38,74,192,198,97,48,0,13,32,1,0,64,38,74,192,198,129,66,38,74,192,198,161,48,0,13,32,1,0,64,38,74,192,198,193,66,38,74,192,198,225,48,0,13,32,1,0,64,38,75,192,198,1,66,38,75,192,198,33,1,0,64,38,126,205,193,105,66,38,126,205,193,104,126,13,193,106,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,76,192,198,129,66,38,76,192,198,161,48,0,13,32,1,0,64,38,75,192,198,129,66,38,75,192,198,161,48,0,13,32,1,0,64,38,75,192,198,193,66,38,75,192,198,225,48,0,13,32,1,0,64,38,76,192,198,1,66,38,76,192,198,33,48,0,13,32,1,0,64,38,76,192,198,65,66,38,76,192,198,97,1,0,64,38,126,205,193,108,66,38,126,205,193,107,126,13,193,140,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,77,192,198,193,66,38,77,192,198,225,48,0,13,32,1,0,64,38,76,192,198,193,66,38,76,192,198,225,48,0,13,32,1,0,64,38,77,192,198,1,66,38,77,192,198,33,48,0,13,32,1,0,64,38,77,192,198,65,66,38,77,192,198,97,48,0,13,32,1,0,64,38,77,192,198,129,66,38,77,192,198,161,1,0,64,38,126,205,193,142,66,38,126,205,193,141,126,13,193,143,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,79,192,198,1,66,38,79,192,198,33,48,0,13,32,1,0,64,38,78,192,198,1,66,38,78,192,198,33,48,0,13,32,1,0,64,38,78,192,198,65,66,38,78,192,198,97,48,0,13,32,1,0,64,38,78,192,198,129,66,38,78,192,198,161,48,0,13,32,1,0,64,38,78,192,198,193,66,38,78,192,198,225,1,0,64,38,126,205,193,145,66,38,126,205,193,144,126,13,193,5,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,80,192,198,65,66,38,80,192,198,97,48,0,13,32,1,0,64,38,79,192,198,65,66,38,79,192,198,97,48,0,13,32,1,0,64,38,79,192,198,129,66,38,79,192,198,161,48,0,13,32,1,0,64,38,79,192,198,193,66,38,79,192,198,225,48,0,13,32,1,0,64,38,80,192,198,1,66,38,80,192,198,33,1,0,64,38,126,205,193,7,66,38,126,205,193,6,125,13,193,229,1,0,13,32,195,1,60,216,4,0,251,223,95,0,252,223,181,0,253,223,11,1,254,223,97,1,255,223,48,0,13,32,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,93,192,198,225,188,221,94,192,198,1,189,221,94,192,198,33,50,0,13,32,62,216,209,221,93,192,198,193,8,0,147,223,15,0,147,223,92,192,198,97,164,223,92,192,198,129,168,223,92,192,198,161,235,223,92,192,198,193,237,223,92,192,198,225,62,223,91,192,198,225,115,223,92,192,198,1,124,223,92,192,198,33,132,223,92,192,198,65,5,0,44,221,9,0,44,221,93,192,198,97,128,222,93,192,198,129,146,222,93,192,198,161,187,220,93,192,198,1,188,220,93,192,198,33,39,221,93,192,198,65,149,38,91,192,198,129,150,38,91,192,198,161,8,39,91,192,198,193,48,0,13,32,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,82,192,198,225,188,221,83,192,198,1,189,221,83,192,198,33,50,0,13,32,62,216,209,221,82,192,198,193,8,0,147,223,15,0,147,223,81,192,198,97,164,223,81,192,198,129,168,223,81,192,198,161,235,223,81,192,198,193,237,223,81,192,198,225,62,223,80,192,198,225,115,223,81,192,198,1,124,223,81,192,198,33,132,223,81,192,198,65,5,0,44,221,9,0,44,221,82,192,198,97,128,222,82,192,198,129,146,222,82,192,198,161,187,220,82,192,198,1,188,220,82,192,198,33,39,221,82,192,198,65,149,38,80,192,198,129,150,38,80,192,198,161,8,39,80,192,198,193,48,0,13,32,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,85,192,198,161,188,221,85,192,198,193,189,221,85,192,198,225,50,0,13,32,62,216,209,221,85,192,198,129,8,0,147,223,15,0,147,223,84,192,198,33,164,223,84,192,198,65,168,223,84,192,198,97,235,223,84,192,198,129,237,223,84,192,198,161,62,223,83,192,198,161,115,223,83,192,198,193,124,223,83,192,198,225,132,223,84,192,198,1,5,0,44,221,9,0,44,221,85,192,198,33,128,222,85,192,198,65,146,222,85,192,198,97,187,220,84,192,198,193,188,220,84,192,198,225,39,221,85,192,198,1,149,38,83,192,198,65,150,38,83,192,198,97,8,39,83,192,198,129,48,0,13,32,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,88,192,198,97,188,221,88,192,198,129,189,221,88,192,198,161,50,0,13,32,62,216,209,221,88,192,198,65,8,0,147,223,15,0,147,223,86,192,198,225,164,223,87,192,198,1,168,223,87,192,198,33,235,223,87,192,198,65,237,223,87,192,198,97,62,223,86,192,198,97,115,223,86,192,198,129,124,223,86,192,198,161,132,223,86,192,198,193,5,0,44,221,9,0,44,221,87,192,198,225,128,222,88,192,198,1,146,222,88,192,198,33,187,220,87,192,198,129,188,220,87,192,198,161,39,221,87,192,198,193,149,38,86,192,198,1,150,38,86,192,198,33,8,39,86,192,198,65,48,0,13,32,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,91,192,198,33,188,221,91,192,198,65,189,221,91,192,198,97,50,0,13,32,62,216,209,221,91,192,198,1,8,0,147,223,15,0,147,223,89,192,198,161,164,223,89,192,198,193,168,223,89,192,198,225,235,223,90,192,198,1,237,223,90,192,198,33,62,223,89,192,198,33,115,223,89,192,198,65,124,223,89,192,198,97,132,223,89,192,198,129,5,0,44,221,9,0,44,221,90,192,198,161,128,222,90,192,198,193,146,222,90,192,198,225,187,220,90,192,198,65,188,220,90,192,198,97,39,221,90,192,198,129,149,38,88,192,198,193,150,38,88,192,198,225,8,39,89,192,198,1,5,0,60,216,74,0,60,216,21,0,61,216,49,0,62,216,3,0,29,221,9,0,175,221,126,205,193,146,188,221,126,205,193,149,189,221,126,205,193,152,50,0,13,32,62,216,209,221,126,205,193,218,8,0,147,223,15,0,147,223,126,205,193,20,164,223,126,205,193,50,168,223,126,205,193,53,235,223,126,205,193,23,237,223,126,205,193,38,62,223,126,205,193,29,115,223,126,205,193,32,124,223,126,205,193,98,132,223,126,205,193,102,5,0,44,221,9,0,44,221,126,205,193,44,128,222,126,205,193,59,146,222,126,205,193,62,187,220,126,205,193,47,188,220,126,205,193,41,39,221,126,205,193,35,149,38,126,205,193,17,150,38,126,205,193,26,8,39,126,205,193,56,94,0,198,65,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,95,192,198,161,66,38,95,192,198,193,48,0,13,32,1,0,64,38,94,192,198,161,66,38,94,192,198,193,48,0,13,32,1,0,64,38,94,192,198,225,66,38,95,192,198,1,48,0,13,32,1,0,64,38,95,192,198,33,66,38,95,192,198,65,48,0,13,32,1,0,64,38,95,192,198,97,66,38,95,192,198,129,1,0,64,38,94,192,198,97,66,38,94,192,198,129,126,13,193,164,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,96,192,198,225,66,38,97,192,198,1,48,0,13,32,1,0,64,38,95,192,198,225,66,38,96,192,198,1,48,0,13,32,1,0,64,38,96,192,198,33,66,38,96,192,198,65,48,0,13,32,1,0,64,38,96,192,198,97,66,38,96,192,198,129,48,0,13,32,1,0,64,38,96,192,198,161,66,38,96,192,198,193,1,0,64,38,126,205,193,166,66,38,126,205,193,165,126,13,193,167,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,98,192,198,33,66,38,98,192,198,65,48,0,13,32,1,0,64,38,97,192,198,33,66,38,97,192,198,65,48,0,13,32,1,0,64,38,97,192,198,97,66,38,97,192,198,129,48,0,13,32,1,0,64,38,97,192,198,161,66,38,97,192,198,193,48,0,13,32,1,0,64,38,97,192,198,225,66,38,98,192,198,1,1,0,64,38,126,205,193,169,66,38,126,205,193,168,126,13,193,213,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,99,192,198,97,66,38,99,192,198,129,48,0,13,32,1,0,64,38,98,192,198,97,66,38,98,192,198,129,48,0,13,32,1,0,64,38,98,192,198,161,66,38,98,192,198,193,48,0,13,32,1,0,64,38,98,192,198,225,66,38,99,192,198,1,48,0,13,32,1,0,64,38,99,192,198,33,66,38,99,192,198,65,1,0,64,38,126,205,193,215,66,38,126,205,193,214,126,13,193,109,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,100,192,198,161,66,38,100,192,198,193,48,0,13,32,1,0,64,38,99,192,198,161,66,38,99,192,198,193,48,0,13,32,1,0,64,38,99,192,198,225,66,38,100,192,198,1,48,0,13,32,1,0,64,38,100,192,198,33,66,38,100,192,198,65,48,0,13,32,1,0,64,38,100,192,198,97,66,38,100,192,198,129,1,0,64,38,126,205,193,111,66,38,126,205,193,110,126,13,193,112,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,101,192,198,225,66,38,102,192,198,1,48,0,13,32,1,0,64,38,100,192,198,225,66,38,101,192,198,1,48,0,13,32,1,0,64,38,101,192,198,33,66,38,101,192,198,65,48,0,13,32,1,0,64,38,101,192,198,97,66,38,101,192,198,129,48,0,13,32,1,0,64,38,101,192,198,161,66,38,101,192,198,193,1,0,64,38,126,205,193,114,66,38,126,205,193,113,126,13,193,115,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,103,192,198,33,66,38,103,192,198,65,48,0,13,32,1,0,64,38,102,192,198,33,66,38,102,192,198,65,48,0,13,32,1,0,64,38,102,192,198,97,66,38,102,192,198,129,48,0,13,32,1,0,64,38,102,192,198,161,66,38,102,192,198,193,48,0,13,32,1,0,64,38,102,192,198,225,66,38,103,192,198,1,1,0,64,38,126,205,193,117,66,38,126,205,193,116,126,13,193,118,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,104,192,198,97,66,38,104,192,198,129,48,0,13,32,1,0,64,38,103,192,198,97,66,38,103,192,198,129,48,0,13,32,1,0,64,38,103,192,198,161,66,38,103,192,198,193,48,0,13,32,1,0,64,38,103,192,198,225,66,38,104,192,198,1,48,0,13,32,1,0,64,38,104,192,198,33,66,38,104,192,198,65,1,0,64,38,126,205,193,120,66,38,126,205,193,119,126,13,193,121,1,0,13,32,56,0,60,216,4,0,251,223,16,0,252,223,23,0,253,223,30,0,254,223,37,0,255,223,48,0,13,32,1,0,64,38,105,192,198,161,66,38,105,192,198,193,48,0,13,32,1,0,64,38,104,192,198,161,66,38,104,192,198,193,48,0,13,32,1,0,64,38,104,192,198,225,66,38,105,192,198,1,48,0,13,32,1,0,64,38,105,192,198,33,66,38,105,192,198,65,48,0,13,32,1,0,64,38,105,192,198,97,66,38,105,192,198,129,1,0,64,38,126,205,193,123,66,38,126,205,193,122,126,13,193,124,48,0,13,32,1,0,64,38,126,205,193,126,66,38,126,205,193,125,126,13,193,127,48,0,13,32,1,0,64,38,126,205,193,129,66,38,126,205,193,128,176,128,28,0,13,32,14,32,227,32,228,32,32,38,33,38,64,38,65,38,66,38,67,38,149,38,151,38,167,38,168,38,8,39,9,39,68,39,69,39,100,39,101,39,27,43,28,43,60,216,63,216,64,219,65,219,15,254,16,254,1,0,8,243,1,0,9,243,1,0,43,243,1,0,44,243,1,0,62,243,1,0,63,243,1,0,115,243,1,0,116,243,1,0,124,243,1,0,125,243,1,0,132,243,1,0,133,243,1,0,147,243,1,0,148,243,1,0,164,243,1,0,165,243,1,0,168,243,1,0,169,243,1,0,235,243,1,0,236,243,1,0,237,243,1,0,238,243,1,0,251,243,1,0,0,244,1,0,102,244,1,0,106,244,1,0,139,244,1,0,140,244,1,0,168,244,1,0,169,244,1,0,171,244,1,0,172,244,1,0,187,244,1,0,189,244,1,0,37,245,1,0,38,245,1,0,39,245,1,0,40,245,1,0,44,245,1,0,45,245,1,0,232,245,1,0,233,245,1,0,128,246,1,0,129,246,1,0,146,246,1,0,147,246,1,0,29,249,1,0,30,249,1,0,175,249,1,0,176,249,1,0,186,249,1,0,187,249,1,0,188,249,1,0,190,249,1,0,209,249,1,0,210,249,1,0,121,250,1,0,122,250,14,0,98,0,14,0,100,0,14,0,101,0,14,0,102,0,14,0,103,0,14,0,104,0,14,0,108,0,14,0,109,0,14,0,110,0,14,0,111,0,14,0,115,0,14,0,117,0,14,0,119,0,14,0,120,0,14,0,127,0,14,0,128,0,5,2,64,12,32,14,200,14,240,14,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,24,4,224,14,192,13,176,13,216,12,72,13,80,13,26,4,96,14,144,12,96,12,208,12,160,13,28,4,30,4,32,4,34,4,36,4,38,4,40,4,42,4,44,4,46,4,160,12,152,12,128,14,136,14,144,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,160,14,112,13,176,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,216,14,232,14,208,14,240,14,168,14,128,13,72,14,192,14,170,56,56,13,152,14,0,0,200,14,64,14,88,14,104,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,120,14,217,122,185,153,153,153,249,153,89,154,153,169,185,176,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,112,14,200,122,168,153,136,153,232,153,72,154,136,169,168,176,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,184,14,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,255,5,0,0,255,5,184,13,255,5,152,13,255,5,168,16,255,5,168,20,255,5,168,24,255,5,168,28,255,5,168,32,255,5,168,36,255,5,168,40,255,5,168,44,255,5,168,48,255,5,168,52,255,1,170,170,3,0,83,0,74,0,41,0,103,238,0,16,93,13,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,56,51,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,76,46,0,0,76,46,0,0,76,46,0,0,76,46,0,0,240,46,0,0,240,46,0,0,100,47,0,0,100,47,0,0,32,51,0,0,50,105,114,84,1,0,156,8,204,1,64,0,192,0,59,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,111,0,119,0,127,0,135,0,141,0,149,0,157,0,165,0,173,0,181,0,189,0,197,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,205,0,213,0,220,0,228,0,234,0,242,0,48,0,56,0,48,0,56,0,48,0,56,0,249,0,1,1,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,25,1,33,1,41,1,49,1,57,1,65,1,73,1,81,1,48,0,48,0,48,0,48,0,82,1,48,0,48,0,90,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,98,1,48,0,48,0,48,0,105,1,109,1,114,1,48,0,122,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,130,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,138,1,146,1,154,1,162,1,168,1,48,0,171,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,17,1,48,0,48,0,9,1,195,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,188,1,252,1,52,2,116,2,180,2,244,2,192,0,192,0,192,0,192,0,52,3,112,3,168,3,192,0,192,0,192,0,228,3,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,91,8,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,179,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,255,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,3,0,202,1,4,0,202,34,4,0,202,67,4,0,202,100,4,0,202,133,4,0,202,166,4,0,202,199,4,0,202,232,4,0,202,9,5,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,3,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,3,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,3,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,58,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,77,0,62,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,68,134,82,0,68,5,82,0,68,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,80,5,71,0,80,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,71,0,44,134,76,0,44,134,77,0,44,5,77,0,44,0,0,0,0,0,0,0,0,134,73,0,70,134,73,0,46,5,73,0,46,134,74,0,48,134,75,0,48,134,77,0,48,5,77,0,48,5,81,0,48,134,79,0,50,134,81,0,50,134,83,0,50,134,73,0,52,5,73,0,52,134,74,0,54,134,78,0,54,197,34,0,0,134,77,0,58,134,74,0,58,134,72,0,62,5,72,0,62,5,74,0,64,5,84,0,64,134,77,0,66,134,75,0,68,5,76,0,68,134,81,0,70,192,0,0,0,192,0,0,0,134,80,0,54,5,80,0,54,134,75,0,72,5,75,0,72,135,70,0,76,0,0,0,0,0,0,0,0,134,77,0,78,5,79,0,78,5,74,0,80,134,75,0,80,5,75,0,80,134,76,0,80,192,0,0,0,192,0,0,0,134,76,0,82,134,74,0,84,134,72,0,90,5,72,0,90,134,71,0,92,5,71,0,92,201,6,0,0,134,86,0,92,5,86,0,92,5,88,0,92,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,5,73,0,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,79,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,72,0,54,5,72,0,54,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,84,0,92,5,84,0,92,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,0,0,134,73,0,86,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,75,0,90,5,75,0,90,192,0,0,0,192,0,0,0,134,76,0,68,5,78,0,48,134,84,0,70,5,84,0,70,134,74,0,92,5,74,0,92,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,81,0,64,5,80,0,68,5,77,0,80,5,70,0,60,192,0,0,0,192,0,0,0,134,71,0,42,134,71,0,46,5,71,0,46,134,74,0,64,134,72,0,80,5,74,0,78,5,78,0,92,0,0,0,0,0,0,0,0,134,71,0,44,134,73,0,82,134,78,0,84,134,76,0,50,5,76,0,50,134,72,0,60,5,72,0,60,134,73,0,74,5,73,0,74,134,73,0,76,5,73,0,76,134,71,0,90,5,71,0,90,5,73,0,42,5,74,0,42,5,76,0,42,5,76,0,44,5,73,0,70,5,74,0,46,5,74,0,48,5,75,0,48,5,85,0,50,5,81,0,50,5,86,0,50,5,83,0,50,5,87,0,50,5,90,0,50,5,91,0,50,5,74,0,60,5,74,0,54,5,70,0,54,5,71,0,54,5,78,0,54,5,79,0,54,5,76,0,56,5,71,0,56,5,75,0,56,5,74,0,58,5,77,0,58,5,71,0,58,5,76,0,64,5,77,0,64,5,79,0,64,197,162,0,0,5,77,0,66,5,80,0,66,5,73,0,66,5,75,0,68,5,79,0,68,5,71,0,68,5,81,0,70,197,226,0,0,5,83,0,70,5,79,0,72,5,75,0,76,5,77,0,76,5,79,0,76,5,81,0,76,5,82,0,76,5,83,0,76,5,85,0,76,5,70,0,76,5,86,0,76,5,73,0,78,5,77,0,78,5,75,0,60,5,80,0,78,5,82,0,78,5,79,0,80,5,76,0,80,5,73,0,82,5,76,0,82,5,74,0,84,5,78,0,84,5,72,0,86,5,74,0,90,5,70,0,90,5,75,0,92,5,76,0,92,201,230,0,0,5,89,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,70,0,44,5,92,0,50,5,75,0,54,5,70,0,56,5,73,0,60,5,78,0,62,5,70,0,64,5,72,0,74,0,0,0,0,0,0,0,0,192,0,0,0,197,34,1,0,197,98,1,0,192,0,0,0,192,0,0,0,197,162,1,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,5,77,0,56,5,78,0,56,192,0,0,0,7,71,0,56,192,0,0,0,192,0,0,0,6,75,0,76,6,79,0,76,6,86,0,76,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,78,0,54,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,32,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,170,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,32,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,170,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,79,97,5,5,79,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,100,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,0,42,197,226,1,0,197,34,2,0,5,73,0,44,5,70,0,46,5,70,0,48,5,71,0,48,5,75,0,50,5,89,0,50,5,73,0,58,5,71,0,60,5,70,0,62,5,72,0,64,5,70,0,66,5,73,0,68,5,70,0,70,5,74,0,70,5,71,0,70,5,75,0,70,5,72,0,70,197,98,2,0,5,85,0,70,5,78,0,70,5,79,0,70,5,70,0,72,5,72,0,76,5,76,0,76,5,70,0,80,5,70,0,82,5,71,0,82,5,72,0,82,5,79,0,66,5,71,0,84,5,70,0,86,5,70,0,92,5,85,0,92,0,0,0,0,0,0,0,0,5,70,10,96,5,70,38,96,5,70,50,96,5,70,60,96,5,70,82,96,5,70,98,97,192,0,0,0,192,0,0,0,192,0,0,0,5,72,0,44,192,0,0,0,192,0,0,0,135,79,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,72,0,68,192,0,0,0,135,84,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,73,0,42,7,74,0,42,197,162,2,0,192,0,0,0,192,0,0,0,192,0,0,0,7,81,0,50,8,83,0,50,6,89,0,50,192,0,0,0,6,73,0,58,192,0,0,0,192,0,0,0,7,82,0,68,192,0,0,0,7,73,0,70,6,78,0,70,6,79,0,70,192,0,0,0,192,0,0,0,192,0,0,0,6,71,0,82,7,77,0,66,192,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,2,0,5,74,0,44,5,72,0,48,5,71,0,52,5,71,0,66,5,74,0,68,5,73,0,72,5,74,0,76,5,84,0,76,5,71,0,78,5,73,0,80,5,72,0,92,5,76,0,54,192,0,0,0,192,0,0,0,192,0,0,0,5,75,0,58,5,78,0,58,5,71,0,72,5,74,0,82,5,77,0,82,5,75,0,44,5,73,0,48,5,72,0,52,5,73,0,54,5,71,0,62,5,78,0,64,5,72,0,66,5,78,0,68,5,74,0,72,5,78,0,76,5,72,0,78,5,78,0,78,5,73,0,84,5,70,0,88,5,73,0,92,5,72,0,42,5,75,0,42,5,76,0,48,5,77,0,50,5,84,0,50,5,88,0,50,5,82,0,50,5,76,0,58,5,76,0,70,5,81,0,78,5,75,0,82,5,87,0,92,7,76,0,42,192,0,0,0,6,74,0,46,192,0,0,0,6,87,0,50,192,0,0,0,6,74,0,60,6,70,0,54,7,76,0,56,7,74,0,58,7,77,0,58,6,71,0,58,6,75,0,58,6,73,0,60,6,79,0,64,6,78,0,64,7,70,0,64,7,73,0,66,6,80,0,66,7,75,0,68,6,79,0,68,7,71,0,68,7,81,0,70,6,79,0,72,6,73,0,78,7,77,0,78,6,74,0,80,7,73,0,82,7,76,0,82,6,70,0,82,7,74,0,84,7,78,0,84,192,0,0,0,6,75,0,92,6,76,0,92,7,81,0,92,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,0,54,192,0,0,0,192,0,0,0,6,70,0,64,6,70,0,66,192,0,0,0,6,71,0,68,6,70,0,76,6,71,0,76,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,75,0,78,5,76,0,78,192,0,0,0,5,80,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,77,0,84,5,77,0,84,134,73,0,90,5,73,0,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,8,81,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,135,83,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,74,0,52,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,74,0,52,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,76,0,46,5,76,0,46,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,75,0,64,5,75,0,64,134,76,0,64,134,71,0,72,134,82,0,76,5,71,0,42,5,72,0,80,134,72,0,56,5,72,0,56,134,73,0,62,5,73,0,62,134,79,0,92,5,79,0,92,134,74,0,42,134,73,0,66,134,73,0,42,134,76,0,42,5,75,0,84,134,71,0,86,5,71,0,86,5,76,0,84,134,73,0,56,5,73,0,56,5,80,0,72,5,78,0,50,5,80,0,76,5,80,0,70,5,80,0,50,192,0,0,0,192,0,0,0,134,74,0,78,134,78,0,92,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,74,0,56,5,74,0,56,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,70,0,52,5,70,0,78,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,77,0,46,5,77,0,46,134,74,0,62,5,74,0,62,134,75,0,62,5,75,0,62,134,76,0,62,5,76,0,62,134,71,0,64,5,71,0,64,134,73,0,64,5,73,0,64,134,82,0,70,5,82,0,70,134,77,0,70,5,77,0,70,192,0,0,0,192,0,0,0,134,72,0,72,5,72,0,72,134,76,0,72,5,76,0,72,134,77,0,72,5,77,0,72,134,70,0,74,5,70,0,74,134,71,0,74,5,71,0,74,135,71,0,76,5,71,0,76,134,89,0,76,5,89,0,76,134,72,0,84,5,72,0,84,192,0,0,0,192,0,0,0,134,80,0,92,5,80,0,92,134,70,38,93,5,70,38,93,134,71,38,93,5,71,38,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,79,0,48,5,82,0,64,5,76,0,66,5,81,0,68,5,87,0,76,5,88,0,76,5,78,0,80,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,77,0,54,5,77,0,54,134,83,0,64,5,83,0,64,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,134,76,0,56,5,80,0,64,192,0,0,0,134,77,0,68,5,77,0,68,134,72,0,46,5,72,0,46,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,56,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,78,0,66,5,75,0,52,5,78,0,72,5,74,0,66,5,72,0,58,5,75,0,66,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,70,0,58,6,70,0,60,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,0,56,5,70,0,84,133,5,0,56,6,70,0,84,5,5,0,64,5,82,0,92,5,5,0,70,5,71,0,50,5,5,0,48,5,83,0,92,5,5,0,48,5,77,0,92,5,5,0,80,5,75,0,46,5,5,0,42,5,73,0,50,5,5,0,42,5,74,0,50,5,5,0,70,5,72,0,50,5,5,0,42,6,74,0,50,5,5,0,82,5,70,0,50,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,92,134,81,48,0,12,3,255,255,0,92,134,84,0,92,5,81,48,0,12,3,255,255,0,92,5,84,16,97,174,5,1,0,1,3,255,255,32,97,134,70,65,3,255,255,32,97,134,70,84,97,174,5,1,0,1,3,255,255,170,97,134,70,65,3,255,255,170,97,134,70,16,97,5,5,1,0,1,3,255,255,32,97,5,70,65,3,255,255,32,97,5,70,84,97,5,5,1,0,1,3,255,255,170,97,5,70,65,3,255,255,170,97,5,70,5,2,64,12,32,14,192,14,232,14,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,92,185,96,185,100,185,104,185,108,185,112,185,116,185,120,185,124,186,128,185,132,185,136,185,140,185,144,185,148,185,152,185,156,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,92,168,96,168,100,168,104,168,108,168,112,168,116,168,120,168,124,168,128,168,132,168,136,168,140,168,144,168,148,168,152,168,156,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,112,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,153,110,185,113,153,113,249,113,153,114,89,114,136,14,217,114,185,137,153,137,249,137,89,138,153,153,185,160,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,110,168,113,136,113,232,113,136,114,72,114,128,14,200,114,168,137,136,137,232,137,72,138,136,153,168,160,72,154,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,200,88,6,8,8,8,250,93,232,93,249,98,232,98,200,96,153,101,136,101,249,102,232,102,25,102,8,102,121,103,104,103,89,103,72,103,153,109,136,109,249,110,232,110,25,110,8,110,200,108,249,108,232,108,57,115,40,115,217,113,200,113,121,114,104,114,10,8,12,8,153,125,136,125,249,126,232,126,25,126,8,126,154,129,136,129,250,129,232,129,250,130,232,130,26,130,8,130,249,134,232,134,25,134,8,134,217,132,200,132,153,138,136,138,57,139,40,139,217,137,200,137,57,138,40,138,121,138,104,138,25,139,8,139,249,145,232,145,249,153,232,153,89,154,153,157,136,157,185,158,168,158,25,158,8,158,232,128,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,14,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,16,8,1,0,8,14,18,8,1,0,16,14,0,13,8,13,24,14,20,8,200,12,72,12,32,14,217,56,187,72,200,128,169,128,200,56,169,72,187,88,187,92,169,88,169,92,217,112,187,72,200,112,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,3,0,83,0,74,0,41,0,55,17,1,16,149,6,0,96,1,0,0,96,106,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,61,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,228,31,0,0,228,31,0,0,228,31,0,0,228,31,0,0,12,34,0,0,12,34,0,0,82,34,0,0,82,34,0,0,82,34,0,0,50,105,114,84,1,0,64,8,241,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,110,0,118,0,48,0,56,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,150,0,48,0,48,0,48,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,174,0,48,0,180,0,188,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,199,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,140,0,48,0,48,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,224,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,184,1,192,0,212,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,16,0,202,33,16,0,202,66,16,0,202,99,16,0,202,132,16,0,202,165,16,0,202,198,16,0,202,231,16,0,202,8,17,0,202,41,17,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,6,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,0,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,0,5,71,238,102,201,134,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,197,162,1,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,197,163,2,0,197,2,3,0,192,0,0,0,192,0,0,0,197,66,3,0,197,131,3,0,197,226,3,0,192,0,0,0,192,0,0,0,197,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,0,0,5,5,10,121,5,5,12,121,197,98,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,98,1,0,5,5,107,121,197,162,1,0,5,5,111,121,197,226,1,0,5,5,115,121,197,34,2,0,5,5,119,121,197,98,2,0,197,163,2,0,197,2,3,0,5,5,127,121,5,5,129,121,197,66,3,0,197,131,3,0,197,226,3,0,5,5,137,121,5,5,139,121,197,34,4,0,5,5,143,121,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,170,170,3,0,83,0,74,0,41,0,11,30,1,16,25,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,32,0,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,2,0,0,0,16,32,2,15,3,0,83,0,74,0,41,0,175,38,1,16,0,0,0,0,1,0,0,96,6,0,60,0,68,0,98,0,102,0,117,0,124,0,170,170,4,0,0,96,47,17,1,32,6,30,1,32,120,220,1,80,167,38,1,32,184,38,1,32,5,0,133,0,32,0,41,0,49,0,146,0,118,220,1,144,171,66,0,96,1,0,0,96,189,38,1,32,13,0,0,96,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,118,0,0,32,7,0,0,0,21,0,0,0,120,0,0,0,120,0,0,0,3,0,0,0,0,0,0,0,31,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,0,0,170,170,60,1,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,8,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,32,0,0,0,36,0,0,0,36,1,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,69,0,52,0,61,0,31,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,111,0,0,32,1,0,32,0,116,0,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,101,28,0,32,7,0,0,0,23,0,0,0,103,28,0,0,103,28,0,0,3,0,0,0,0,0,0,0,203,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,115,0,101,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,47,221,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,98,0,60,0,225,0,60,0,60,0,60,0,193,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,100,0,60,0,13,1,60,0,60,0,60,0,12,1,60,0,146,2,60,0,60,0,60,0,183,1,60,0,239,1,60,0,60,0,60,0,238,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,101,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,104,0,60,0,231,1,60,0,60,0,60,0,230,1,60,0,229,1,60,0,60,0,60,0,228,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,108,0,60,0,233,1,60,0,60,0,60,0,232,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,111,0,60,0,75,1,60,0,60,0,60,0,74,1,60,0,60,0,68,1,60,0,60,0,60,0,67,1,60,0,60,0,241,0,60,0,60,0,60,0,209,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,116,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,117,0,60,0,103,1,60,0,60,0,60,0,102,1,60,0,60,0,254,0,60,0,60,0,60,0,222,0,38,0,121,0,60,0,60,0,252,0,60,0,60,0,60,0,220,0,60,0,60,0,113,1,60,0,60,0,60,0,112,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,126,1,60,0,60,0,60,0,125,1,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,229,0,60,0,60,0,60,0,197,0,60,0,60,0,39,2,60,0,60,0,60,0,38,2,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,227,0,60,0,60,0,60,0,195,0,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,245,0,60,0,60,0,60,0,213,0,60,0,60,0,244,0,60,0,60,0,60,0,212,0,60,0,60,0,235,1,60,0,60,0,60,0,234,1,0,0,248,57,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,6,1,0,0,68,0,0,0,68,0,0,0,68,0,0,0,148,40,0,0,148,40,0,0,236,45,0,0,236,45,0,0,56,51,0,0,56,51,0,0,220,57,0,0,220,57,0,0,220,57,0,0,50,105,114,84,1,0,64,8,124,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,126,0,134,0,142,0,150,0,48,0,56,0,154,0,162,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,159,0,167,0,173,0,181,0,189,0,197,0,48,0,56,0,196,0,204,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,229,0,48,0,48,0,48,0,237,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,245,0,48,0,48,0,253,0,48,0,3,1,11,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,14,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,22,1,26,1,33,1,41,1,47,1,55,1,60,1,68,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,74,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,82,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,85,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,212,0,219,0,48,0,48,0,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,93,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,101,1,48,0,48,0,107,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,248,1,56,2,192,0,104,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,124,2,180,2,244,2,192,0,16,3,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,41,0,202,65,41,0,202,98,41,0,202,131,41,0,202,164,41,0,202,197,41,0,202,230,41,0,202,7,42,0,202,40,42,0,202,73,42,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,201,102,3,0,156,5,0,48,156,5,0,50,156,5,0,52,201,38,4,0,156,5,0,56,156,5,0,58,156,5,0,60,201,230,4,0,156,5,0,64,156,5,0,66,201,166,5,0,201,134,7,0,156,5,0,72,160,5,0,74,156,5,0,76,201,198,9,0,156,5,0,80,201,166,10,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,70,12,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,6,13,0,5,5,0,44,201,38,16,0,5,5,0,48,5,5,0,50,5,5,0,52,201,230,16,0,5,5,0,56,5,5,0,58,5,5,0,60,201,166,17,0,5,5,0,64,5,5,0,66,201,102,18,0,201,70,20,0,5,5,0,72,5,5,0,74,5,5,0,76,201,166,22,0,5,5,0,80,201,134,23,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,70,25,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,5,31,43,196,142,156,42,198,1,0,0,198,65,0,0,198,97,0,0,198,1,2,0,201,38,26,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,70,29,49,134,71,33,69,196,138,156,70,196,136,156,70,198,129,0,0,198,161,0,0,198,193,0,0,5,5,127,12,198,33,2,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,134,70,25,81,197,130,32,0,196,138,5,42,5,5,31,43,196,142,5,42,198,65,1,0,193,6,111,93,193,5,111,93,193,4,111,93,201,230,26,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,70,29,49,5,71,33,69,196,138,5,70,196,136,5,70,198,129,1,0,198,161,1,0,193,7,111,93,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,5,70,25,81,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,27,0,201,134,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,47,5,5,21,47,192,0,0,0,192,0,0,0,134,5,29,49,5,5,29,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,33,0,201,38,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,34,0,201,166,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,33,69,5,70,33,69,201,102,36,0,201,230,37,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,33,69,5,5,33,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,225,0,0,198,193,1,0,198,193,3,0,198,225,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,39,0,201,38,40,0,134,5,35,79,5,5,35,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,25,81,5,5,25,81,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,230,40,0,201,6,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,1,0,193,2,111,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,43,0,201,6,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,46,0,201,6,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,49,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,197,34,7,0,197,34,0,0,197,98,0,0,197,98,7,0,197,162,7,0,197,226,7,0,197,34,8,0,192,0,0,0,198,194,5,0,197,98,8,0,198,2,6,0,198,66,6,0,198,130,6,0,197,162,8,0,134,5,28,55,5,5,28,55,134,5,27,55,5,5,27,55,134,5,21,63,5,5,21,63,201,230,49,0,201,198,51,0,198,130,8,0,198,194,8,0,134,5,23,47,5,5,23,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,9,0,197,34,9,0,198,66,9,0,197,98,9,0,198,130,9,0,197,162,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,53,0,201,102,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,97,1,0,192,0,0,0,192,0,0,0,198,194,9,0,197,98,10,0,198,2,10,0,198,66,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,55,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,230,55,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,57,0,5,71,238,102,201,166,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,10,0,192,0,0,0,192,0,0,0,197,226,10,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,192,0,0,0,197,98,11,0,192,0,0,0,192,0,0,0,197,162,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,11,0,192,0,0,0,197,34,12,0,192,0,0,0,197,98,12,0,192,0,0,0,197,162,12,0,192,0,0,0,197,226,12,0,197,35,13,0,197,130,13,0,192,0,0,0,192,0,0,0,197,194,13,0,197,3,14,0,197,98,14,0,192,0,0,0,192,0,0,0,197,162,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,10,0,197,226,14,0,5,5,10,121,197,34,15,0,197,98,15,0,5,5,12,121,5,5,16,121,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,5,5,18,121,5,5,20,121,197,66,11,0,5,5,24,121,197,98,11,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,59,0,201,102,62,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,65,0,201,6,66,0,201,198,66,0,201,134,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,68,0,201,198,69,0,201,70,71,0,201,198,72,0,201,70,74,0,201,198,75,0,198,2,12,0,198,66,12,0,198,130,12,0,198,194,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,77,0,201,6,78,0,192,0,0,0,192,0,0,0,197,226,22,0,197,34,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,78,0,201,230,79,0,201,6,81,0,201,38,82,0,201,70,83,0,201,102,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,85,0,201,70,86,0,201,6,87,0,201,198,87,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,88,0,201,102,91,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,94,0,201,38,96,0,192,0,0,0,192,0,0,0,198,194,16,0,198,2,17,0,198,66,17,0,198,130,17,0,198,194,17,0,198,2,18,0,198,66,18,0,198,130,18,0,198,2,15,0,198,2,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,4,0,198,66,5,0,201,6,98,0,201,230,99,0,201,198,101,0,201,230,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,104,0,201,38,105,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,4,0,198,97,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,6,111,93,0,134,0,70,0,5,111,93,0,134,0,5,0,6,111,93,0,134,0,5,0,5,111,93,0,134,0,72,0,7,111,93,0,134,0,71,0,7,111,93,0,134,0,5,0,7,111,93,0,134,0,70,0,7,111,93,0,134,0,73,0,7,111,93,0,134,0,5,0,2,111,93,0,5,0,70,0,6,111,93,0,5,0,70,0,5,111,93,0,5,0,72,0,7,111,93,0,5,0,71,0,7,111,93,0,5,0,70,0,7,111,93,0,5,0,73,0,7,111,93,0,134,0,5,0,4,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,6,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,70,0,3,111,93,0,134,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,73,0,7,111,93,0,5,0,164,0,0,0,0,0,5,0,73,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,164,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,6,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,200,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,136,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,136,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,150,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,150,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,210,0,0,0,0,0,134,0,70,0,6,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,136,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,136,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,138,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,138,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,182,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,182,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,154,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,154,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,134,5,21,47,5,160,0,0,5,5,21,47,5,160,0,0,134,5,31,43,5,162,0,0,5,5,31,43,5,162,0,0,193,6,111,93,5,162,0,0,193,5,111,93,5,162,0,0,134,5,27,55,5,160,0,0,5,5,27,55,5,160,0,0,134,5,21,63,5,160,0,0,5,5,21,63,5,160,0,0,134,70,33,69,5,160,0,0,134,71,33,69,5,160,0,0,5,70,33,69,5,160,0,0,5,71,33,69,5,160,0,0,134,5,35,79,5,160,0,0,5,5,35,79,5,160,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,193,7,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,6,111,93,5,164,0,0,193,4,111,93,5,164,0,0,193,7,111,93,5,162,0,0,193,5,111,93,5,136,0,0,193,4,111,93,5,136,0,0,193,3,111,93,5,136,0,0,134,5,35,79,5,202,0,0,5,5,35,79,5,202,0,0,193,7,111,93,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,31,43,5,200,0,0,5,5,31,43,5,200,0,0,193,6,111,93,5,200,0,0,193,5,111,93,5,200,0,0,134,5,21,63,5,196,0,0,5,5,21,63,5,196,0,0,134,5,21,63,5,210,0,0,5,5,21,63,5,210,0,0,134,70,33,69,5,196,0,0,134,71,33,69,5,196,0,0,5,70,33,69,5,196,0,0,5,71,33,69,5,196,0,0,134,70,33,69,5,210,0,0,134,71,33,69,5,210,0,0,5,70,33,69,5,210,0,0,5,71,33,69,5,210,0,0,134,70,33,69,5,204,0,0,134,71,33,69,5,204,0,0,5,70,33,69,5,204,0,0,5,71,33,69,5,204,0,0,134,5,35,79,5,196,0,0,5,5,35,79,5,196,0,0,134,5,35,79,5,156,0,0,5,5,35,79,5,156,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,2,111,93,5,196,0,0,193,2,111,93,5,210,0,0,134,5,31,43,5,196,0,0,5,5,31,43,5,196,0,0,193,6,111,93,5,196,0,0,193,5,111,93,5,196,0,0,193,7,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,7,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,162,10,0,5,5,10,121,5,5,12,121,197,226,10,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,11,0,5,5,24,121,197,98,11,0,5,5,28,121,5,5,30,121,197,162,11,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,11,0,5,5,107,121,197,34,12,0,5,5,111,121,197,98,12,0,5,5,115,121,197,162,12,0,5,5,119,121,197,226,12,0,197,35,13,0,197,130,13,0,5,5,127,121,5,5,129,121,197,194,13,0,197,3,14,0,197,98,14,0,5,5,137,121,5,5,139,121,197,162,14,0,5,5,143,121,5,5,6,121,197,162,10,0,197,226,14,0,5,5,10,121,197,34,15,0,197,98,15,0,5,5,12,121,5,5,16,121,197,162,15,0,197,226,15,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,5,5,18,121,5,5,20,121,197,66,11,0,5,5,24,121,197,98,11,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,5,0,8,3,9,0,8,3,0,192,198,65,10,3,0,192,198,97,65,3,31,235,134,5,1,3,31,235,134,5,3,3,198,129,7,3,198,161,0,46,156,5,48,0,12,3,21,239,134,5,0,54,156,5,48,0,12,3,27,247,134,5,0,62,156,5,48,0,12,3,21,255,134,5,0,68,156,5,2,0,1,3,255,255,33,69,134,70,3,3,255,255,33,69,134,71,65,3,255,255,33,69,134,70,0,70,156,5,4,0,2,3,0,192,198,129,3,3,0,192,198,161,8,3,0,192,198,193,11,3,0,192,198,225,40,3,1,192,198,1,0,78,156,5,48,0,12,3,255,255,35,79,134,5,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,92,156,5,48,0,12,3,1,192,198,33,0,42,5,5,5,0,8,3,11,0,8,3,255,255,111,93,193,6,10,3,255,255,111,93,193,5,65,3,31,235,5,5,1,3,31,235,5,5,3,3,1,192,198,65,7,3,1,192,198,97,0,46,5,5,48,0,12,3,21,239,5,5,0,54,5,5,48,0,12,3,27,247,5,5,0,62,5,5,48,0,12,3,21,255,5,5,0,68,5,5,2,0,1,3,255,255,33,69,5,70,3,3,255,255,33,69,5,71,65,3,255,255,33,69,5,70,0,70,5,5,4,0,2,3,1,192,198,129,3,3,1,192,198,161,8,3,255,255,111,93,193,7,11,3,1,192,198,193,40,3,1,192,198,225,0,78,5,5,48,0,12,3,255,255,35,79,5,5,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,0,92,5,5,48,0,12,3,255,255,111,93,193,2,156,46,196,160,48,0,12,3,0,192,197,162,5,46,196,160,48,0,12,3,0,192,197,226,156,42,196,162,5,0,8,3,9,0,8,3,2,192,198,194,10,3,3,192,198,2,65,3,1,192,197,34,1,3,1,192,197,34,3,3,2,192,198,66,7,3,2,192,198,130,5,42,196,162,5,0,8,3,9,0,8,3,1,192,197,162,10,3,1,192,197,226,65,3,1,192,197,98,1,3,1,192,197,98,3,3,3,192,198,66,7,3,3,192,198,130,156,54,196,160,48,0,12,3,2,192,197,34,5,54,196,160,48,0,12,3,2,192,197,98,156,62,196,160,48,0,12,3,2,192,197,162,5,62,196,160,48,0,12,3,2,192,197,226,156,68,196,160,2,0,1,3,3,192,197,34,3,3,3,192,197,98,65,3,3,192,197,34,5,68,196,160,2,0,1,3,3,192,197,162,3,3,3,192,197,226,65,3,3,192,197,162,156,78,196,160,48,0,12,3,4,192,197,34,5,78,196,160,48,0,12,3,4,192,197,98,156,82,196,162,1,0,8,3,4,192,197,162,11,3,4,192,197,226,5,82,196,162,1,0,8,3,5,192,197,34,11,3,5,192,197,98,156,70,196,190,3,0,2,3,4,192,198,2,3,3,4,192,198,66,8,3,4,192,198,130,11,3,4,192,198,194,5,70,196,190,3,0,2,3,5,192,198,2,3,3,5,192,198,66,8,3,5,192,197,162,11,3,5,192,198,130,156,82,196,190,1,0,8,3,5,192,197,226,11,3,6,192,197,34,5,82,196,190,1,0,8,3,6,192,197,98,11,3,6,192,197,162,22,47,134,5,48,0,12,3,23,239,134,5,1,0,198,1,3,0,2,3,6,192,198,194,3,3,7,192,198,2,8,3,7,192,198,66,11,3,7,192,198,130,1,0,198,225,3,0,2,3,7,192,198,194,3,3,8,192,198,2,8,3,8,192,197,226,11,3,8,192,198,66,156,78,196,202,48,0,12,3,9,192,197,226,5,78,196,202,48,0,12,3,10,192,197,34,22,47,5,5,48,0,12,3,23,239,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,5,0,8,3,9,0,8,3,11,192,198,2,10,3,11,192,198,66,65,3,17,192,197,98,1,3,17,192,197,98,3,3,10,192,198,130,7,3,10,192,198,194,5,42,196,200,5,0,8,3,9,0,8,3,17,192,197,226,10,3,18,192,197,34,65,3,17,192,197,162,1,3,17,192,197,162,3,3,11,192,198,130,7,3,11,192,198,194,156,62,196,196,48,0,12,3,18,192,197,98,5,62,196,196,48,0,12,3,18,192,197,162,156,62,196,210,48,0,12,3,18,192,197,226,5,62,196,210,48,0,12,3,19,192,197,34,156,68,196,196,2,0,1,3,19,192,197,98,3,3,19,192,197,162,65,3,19,192,197,98,5,68,196,196,2,0,1,3,19,192,197,226,3,3,20,192,197,34,65,3,19,192,197,226,156,68,196,210,2,0,1,3,20,192,197,98,3,3,20,192,197,162,65,3,20,192,197,98,5,68,196,210,2,0,1,3,20,192,197,226,3,3,21,192,197,34,65,3,20,192,197,226,156,68,196,204,2,0,1,3,21,192,197,98,3,3,21,192,197,162,65,3,21,192,197,98,5,68,196,204,2,0,1,3,21,192,197,226,3,3,22,192,197,34,65,3,21,192,197,226,156,78,196,196,48,0,12,3,22,192,197,98,5,78,196,196,48,0,12,3,22,192,197,162,156,82,196,198,1,0,8,3,23,192,197,98,11,3,23,192,197,162,5,82,196,198,1,0,8,3,23,192,197,226,11,3,24,192,197,34,156,82,196,208,1,0,8,3,24,192,197,98,11,3,24,192,197,162,5,82,196,208,1,0,8,3,24,192,197,226,11,3,25,192,197,34,156,82,196,204,1,0,8,3,25,192,197,98,11,3,25,192,197,162,5,82,196,204,1,0,8,3,25,192,197,226,11,3,26,192,197,34,156,92,196,196,48,0,12,3,13,192,198,2,5,92,196,196,48,0,12,3,26,192,197,98,156,92,196,210,48,0,12,3,13,192,198,66,5,92,196,210,48,0,12,3,26,192,197,162,156,42,196,196,5,0,8,3,9,0,8,3,14,192,198,2,10,3,14,192,198,66,65,3,26,192,197,226,1,3,26,192,197,226,3,3,13,192,198,130,7,3,13,192,198,194,5,42,196,196,5,0,8,3,9,0,8,3,27,192,197,98,10,3,27,192,197,162,65,3,27,192,197,34,1,3,27,192,197,34,3,3,14,192,198,130,7,3,14,192,198,194,156,70,196,196,3,0,2,3,15,192,198,2,3,3,15,192,198,66,8,3,15,192,198,130,11,3,15,192,198,194,5,70,196,196,3,0,2,3,16,192,198,2,3,3,16,192,198,66,8,3,27,192,197,226,11,3,16,192,198,130,28,0,197,35,3,0,2,3,18,192,198,195,3,3,19,192,198,35,8,3,19,192,198,131,11,3,19,192,198,227,28,0,197,131,3,0,2,3,20,192,198,67,3,3,20,192,198,163,8,3,28,192,197,227,11,3,21,192,198,3,156,82,196,196,1,0,8,3,29,192,197,66,11,3,29,192,197,130,5,82,196,196,1,0,8,3,29,192,197,194,11,3,30,192,197,2,30,0,197,67,1,0,8,3,30,192,197,163,11,3,31,192,197,3,31,0,197,99,1,0,8,3,31,192,197,195,11,3,32,192,197,35,3,0,67,0,50,0,59,0,203,0,0,16,4,0,0,96,1,0,0,96,46,52,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,196,32,0,0,196,32,0,0,28,38,0,0,28,38,0,0,132,41,0,0,132,41,0,0,226,47,0,0,226,47,0,0,18,52,0,0,50,105,114,84,1,0,64,8,255,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,126,0,134,0,142,0,150,0,48,0,56,0,154,0,162,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,186,0,190,0,197,0,205,0,211,0,219,0,224,0,232,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,238,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,246,0,178,0,48,0,48,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,248,1,56,2,192,0,104,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,26,0,202,33,26,0,202,66,26,0,202,99,26,0,202,132,26,0,202,165,26,0,202,198,26,0,202,231,26,0,202,8,27,0,202,41,27,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,166,2,0,156,5,0,48,156,5,0,50,156,5,0,52,201,102,3,0,156,5,0,56,156,5,0,58,156,5,0,60,201,38,4,0,156,5,0,64,156,5,0,66,201,230,4,0,201,198,6,0,156,5,0,72,160,5,0,74,156,5,0,76,201,6,9,0,156,5,0,80,201,230,9,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,134,11,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,12,0,5,5,0,44,201,102,15,0,5,5,0,48,5,5,0,50,5,5,0,52,201,38,16,0,5,5,0,56,5,5,0,58,5,5,0,60,201,230,16,0,5,5,0,64,5,5,0,66,201,166,17,0,201,134,19,0,5,5,0,72,5,5,0,74,5,5,0,76,201,230,21,0,5,5,0,80,201,198,22,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,134,24,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,5,31,43,196,142,156,42,198,1,0,0,198,65,0,0,198,97,0,0,198,1,2,0,201,102,25,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,70,29,49,134,71,33,69,196,138,156,70,196,136,156,70,198,129,0,0,198,161,0,0,198,193,0,0,5,5,127,12,198,33,2,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,134,70,25,81,197,194,25,0,196,138,5,42,5,5,31,43,196,142,5,42,198,65,1,0,193,6,111,93,193,5,111,93,193,4,111,93,201,38,26,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,70,29,49,5,71,33,69,196,138,5,70,196,136,5,70,198,129,1,0,198,161,1,0,193,7,111,93,5,5,125,12,193,3,111,93,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,5,70,25,81,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,26,0,201,198,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,21,47,5,5,21,47,192,0,0,0,192,0,0,0,134,5,29,49,5,5,29,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,32,0,201,102,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,34,0,201,230,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,33,69,5,70,33,69,201,166,35,0,201,38,37,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,33,69,5,5,33,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,225,0,0,198,193,1,0,198,193,3,0,198,225,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,38,0,201,102,39,0,134,5,35,79,5,5,35,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,25,81,5,5,25,81,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,38,40,0,201,70,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,1,0,193,2,111,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,42,0,201,70,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,46,0,201,70,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,197,34,7,0,197,34,0,0,197,98,0,0,197,98,7,0,197,162,7,0,197,226,7,0,197,34,8,0,192,0,0,0,198,194,5,0,197,98,8,0,198,2,6,0,198,66,6,0,198,130,6,0,197,162,8,0,134,5,28,55,5,5,28,55,134,5,27,55,5,5,27,55,134,5,21,63,5,5,21,63,201,38,49,0,201,6,51,0,198,130,8,0,198,194,8,0,134,5,23,47,5,5,23,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,2,9,0,197,34,9,0,198,66,9,0,197,98,9,0,198,130,9,0,197,162,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,52,0,201,166,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,97,1,0,192,0,0,0,192,0,0,0,198,194,9,0,197,98,10,0,198,2,10,0,198,66,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,55,0,201,6,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,60,0,201,166,61,0,201,102,62,0,201,38,63,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,63,0,201,102,65,0,201,230,66,0,201,102,68,0,201,230,69,0,201,102,71,0,198,2,12,0,198,66,12,0,198,130,12,0,198,194,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,72,0,201,166,73,0,192,0,0,0,192,0,0,0,197,34,16,0,197,98,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,74,0,201,134,75,0,201,166,76,0,201,198,77,0,201,230,78,0,201,6,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,81,0,201,230,81,0,201,166,82,0,201,102,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,84,0,201,6,87,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,89,0,201,198,91,0,192,0,0,0,192,0,0,0,198,194,16,0,198,2,17,0,198,66,17,0,198,130,17,0,198,194,17,0,198,2,18,0,198,66,18,0,198,130,18,0,198,2,15,0,198,2,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,66,4,0,198,66,5,0,201,166,93,0,201,134,95,0,201,102,97,0,201,134,98,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,99,0,201,198,100,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,4,0,198,97,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,70,0,6,111,93,0,134,0,70,0,5,111,93,0,134,0,5,0,6,111,93,0,134,0,5,0,5,111,93,0,134,0,72,0,7,111,93,0,134,0,71,0,7,111,93,0,134,0,5,0,7,111,93,0,134,0,70,0,7,111,93,0,134,0,73,0,7,111,93,0,134,0,5,0,2,111,93,0,5,0,70,0,6,111,93,0,5,0,70,0,5,111,93,0,5,0,72,0,7,111,93,0,5,0,71,0,7,111,93,0,5,0,70,0,7,111,93,0,5,0,73,0,7,111,93,0,134,0,5,0,4,111,93,0,134,0,5,0,3,111,93,0,134,0,70,0,6,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,70,0,3,111,93,0,134,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,162,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,162,0,0,0,0,0,134,0,73,0,7,111,93,0,5,0,164,0,0,0,0,0,5,0,73,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,164,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,6,111,93,0,5,0,200,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,200,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,200,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,136,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,136,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,150,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,150,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,210,0,0,0,0,0,134,0,70,0,6,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,5,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,5,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,6,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,5,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,196,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,196,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,136,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,136,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,138,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,138,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,182,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,182,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,154,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,154,0,0,0,0,0,134,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,72,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,70,0,7,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,134,5,21,47,5,160,0,0,5,5,21,47,5,160,0,0,134,5,31,43,5,162,0,0,5,5,31,43,5,162,0,0,193,6,111,93,5,162,0,0,193,5,111,93,5,162,0,0,134,5,27,55,5,160,0,0,5,5,27,55,5,160,0,0,134,5,21,63,5,160,0,0,5,5,21,63,5,160,0,0,134,70,33,69,5,160,0,0,134,71,33,69,5,160,0,0,5,70,33,69,5,160,0,0,5,71,33,69,5,160,0,0,134,5,35,79,5,160,0,0,5,5,35,79,5,160,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,193,7,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,6,111,93,5,164,0,0,193,4,111,93,5,164,0,0,193,7,111,93,5,162,0,0,193,5,111,93,5,136,0,0,193,4,111,93,5,136,0,0,193,3,111,93,5,136,0,0,134,5,35,79,5,202,0,0,5,5,35,79,5,202,0,0,193,7,111,93,5,164,0,0,134,5,31,43,5,200,0,0,5,5,31,43,5,200,0,0,193,6,111,93,5,200,0,0,193,5,111,93,5,200,0,0,134,5,21,63,5,196,0,0,5,5,21,63,5,196,0,0,134,5,21,63,5,210,0,0,5,5,21,63,5,210,0,0,134,70,33,69,5,196,0,0,134,71,33,69,5,196,0,0,5,70,33,69,5,196,0,0,5,71,33,69,5,196,0,0,134,70,33,69,5,210,0,0,134,71,33,69,5,210,0,0,5,70,33,69,5,210,0,0,5,71,33,69,5,210,0,0,134,70,33,69,5,204,0,0,134,71,33,69,5,204,0,0,5,70,33,69,5,204,0,0,5,71,33,69,5,204,0,0,134,5,35,79,5,196,0,0,5,5,35,79,5,196,0,0,134,5,35,79,5,156,0,0,5,5,35,79,5,156,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,2,111,93,5,196,0,0,193,2,111,93,5,210,0,0,134,5,31,43,5,196,0,0,5,5,31,43,5,196,0,0,193,6,111,93,5,196,0,0,193,5,111,93,5,196,0,0,193,7,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,7,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,5,0,8,3,9,0,8,3,0,192,198,65,10,3,0,192,198,97,65,3,31,235,134,5,1,3,31,235,134,5,3,3,198,129,7,3,198,161,0,46,156,5,48,0,12,3,21,239,134,5,0,54,156,5,48,0,12,3,27,247,134,5,0,62,156,5,48,0,12,3,21,255,134,5,0,68,156,5,2,0,1,3,255,255,33,69,134,70,3,3,255,255,33,69,134,71,65,3,255,255,33,69,134,70,0,70,156,5,4,0,2,3,0,192,198,129,3,3,0,192,198,161,8,3,0,192,198,193,11,3,0,192,198,225,40,3,1,192,198,1,0,78,156,5,48,0,12,3,255,255,35,79,134,5,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,92,156,5,48,0,12,3,1,192,198,33,0,42,5,5,5,0,8,3,11,0,8,3,255,255,111,93,193,6,10,3,255,255,111,93,193,5,65,3,31,235,5,5,1,3,31,235,5,5,3,3,1,192,198,65,7,3,1,192,198,97,0,46,5,5,48,0,12,3,21,239,5,5,0,54,5,5,48,0,12,3,27,247,5,5,0,62,5,5,48,0,12,3,21,255,5,5,0,68,5,5,2,0,1,3,255,255,33,69,5,70,3,3,255,255,33,69,5,71,65,3,255,255,33,69,5,70,0,70,5,5,4,0,2,3,1,192,198,129,3,3,1,192,198,161,8,3,255,255,111,93,193,7,11,3,1,192,198,193,40,3,1,192,198,225,0,78,5,5,48,0,12,3,255,255,35,79,5,5,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,0,92,5,5,48,0,12,3,255,255,111,93,193,2,156,46,196,160,48,0,12,3,0,192,197,162,5,46,196,160,48,0,12,3,0,192,197,226,156,42,196,162,5,0,8,3,9,0,8,3,2,192,198,194,10,3,3,192,198,2,65,3,1,192,197,34,1,3,1,192,197,34,3,3,2,192,198,66,7,3,2,192,198,130,5,42,196,162,5,0,8,3,9,0,8,3,1,192,197,162,10,3,1,192,197,226,65,3,1,192,197,98,1,3,1,192,197,98,3,3,3,192,198,66,7,3,3,192,198,130,156,54,196,160,48,0,12,3,2,192,197,34,5,54,196,160,48,0,12,3,2,192,197,98,156,62,196,160,48,0,12,3,2,192,197,162,5,62,196,160,48,0,12,3,2,192,197,226,156,68,196,160,2,0,1,3,3,192,197,34,3,3,3,192,197,98,65,3,3,192,197,34,5,68,196,160,2,0,1,3,3,192,197,162,3,3,3,192,197,226,65,3,3,192,197,162,156,78,196,160,48,0,12,3,4,192,197,34,5,78,196,160,48,0,12,3,4,192,197,98,156,82,196,162,1,0,8,3,4,192,197,162,11,3,4,192,197,226,5,82,196,162,1,0,8,3,5,192,197,34,11,3,5,192,197,98,156,70,196,190,3,0,2,3,4,192,198,2,3,3,4,192,198,66,8,3,4,192,198,130,11,3,4,192,198,194,5,70,196,190,3,0,2,3,5,192,198,2,3,3,5,192,198,66,8,3,5,192,197,162,11,3,5,192,198,130,156,82,196,190,1,0,8,3,5,192,197,226,11,3,6,192,197,34,5,82,196,190,1,0,8,3,6,192,197,98,11,3,6,192,197,162,22,47,134,5,48,0,12,3,23,239,134,5,1,0,198,1,3,0,2,3,6,192,198,194,3,3,7,192,198,2,8,3,7,192,198,66,11,3,7,192,198,130,1,0,198,225,3,0,2,3,7,192,198,194,3,3,8,192,198,2,8,3,8,192,197,226,11,3,8,192,198,66,156,78,196,202,48,0,12,3,9,192,197,226,5,78,196,202,48,0,12,3,10,192,197,34,22,47,5,5,48,0,12,3,23,239,5,5,156,42,196,200,5,0,8,3,9,0,8,3,11,192,198,2,10,3,11,192,198,66,65,3,10,192,197,162,1,3,10,192,197,162,3,3,10,192,198,130,7,3,10,192,198,194,5,42,196,200,5,0,8,3,9,0,8,3,11,192,197,34,10,3,11,192,197,98,65,3,10,192,197,226,1,3,10,192,197,226,3,3,11,192,198,130,7,3,11,192,198,194,156,62,196,196,48,0,12,3,11,192,197,162,5,62,196,196,48,0,12,3,11,192,197,226,156,62,196,210,48,0,12,3,12,192,197,34,5,62,196,210,48,0,12,3,12,192,197,98,156,68,196,196,2,0,1,3,12,192,197,162,3,3,12,192,197,226,65,3,12,192,197,162,5,68,196,196,2,0,1,3,13,192,197,34,3,3,13,192,197,98,65,3,13,192,197,34,156,68,196,210,2,0,1,3,13,192,197,162,3,3,13,192,197,226,65,3,13,192,197,162,5,68,196,210,2,0,1,3,14,192,197,34,3,3,14,192,197,98,65,3,14,192,197,34,156,68,196,204,2,0,1,3,14,192,197,162,3,3,14,192,197,226,65,3,14,192,197,162,5,68,196,204,2,0,1,3,15,192,197,34,3,3,15,192,197,98,65,3,15,192,197,34,156,78,196,196,48,0,12,3,15,192,197,162,5,78,196,196,48,0,12,3,15,192,197,226,156,82,196,198,1,0,8,3,16,192,197,162,11,3,16,192,197,226,5,82,196,198,1,0,8,3,17,192,197,34,11,3,17,192,197,98,156,82,196,208,1,0,8,3,17,192,197,162,11,3,17,192,197,226,5,82,196,208,1,0,8,3,18,192,197,34,11,3,18,192,197,98,156,82,196,204,1,0,8,3,18,192,197,162,11,3,18,192,197,226,5,82,196,204,1,0,8,3,19,192,197,34,11,3,19,192,197,98,156,92,196,196,48,0,12,3,13,192,198,2,5,92,196,196,48,0,12,3,19,192,197,162,156,92,196,210,48,0,12,3,13,192,198,66,5,92,196,210,48,0,12,3,19,192,197,226,156,42,196,196,5,0,8,3,9,0,8,3,14,192,198,2,10,3,14,192,198,66,65,3,20,192,197,34,1,3,20,192,197,34,3,3,13,192,198,130,7,3,13,192,198,194,5,42,196,196,5,0,8,3,9,0,8,3,20,192,197,162,10,3,20,192,197,226,65,3,20,192,197,98,1,3,20,192,197,98,3,3,14,192,198,130,7,3,14,192,198,194,156,70,196,196,3,0,2,3,15,192,198,2,3,3,15,192,198,66,8,3,15,192,198,130,11,3,15,192,198,194,5,70,196,196,3,0,2,3,16,192,198,2,3,3,16,192,198,66,8,3,21,192,197,34,11,3,16,192,198,130,21,0,197,99,3,0,2,3,18,192,198,195,3,3,19,192,198,35,8,3,19,192,198,131,11,3,19,192,198,227,21,0,197,195,3,0,2,3,20,192,198,67,3,3,20,192,198,163,8,3,22,192,197,35,11,3,21,192,198,3,156,82,196,196,1,0,8,3,22,192,197,130,11,3,22,192,197,194,5,82,196,196,1,0,8,3,23,192,197,2,11,3,23,192,197,66,23,0,197,131,1,0,8,3,23,192,197,227,11,3,24,192,197,67,24,0,197,163,1,0,8,3,25,192,197,3,11,3,25,192,197,99,5,2,64,12,32,14,192,14,232,14,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,18,4,185,64,20,4,185,76,185,84,185,88,22,4,185,96,186,100,186,108,24,4,185,116,185,120,26,4,28,4,185,136,185,140,185,148,30,4,185,160,32,4,185,172,185,176,185,180,185,184,34,4,88,13,168,13,96,13,56,14,80,12,40,14,36,4,168,64,38,4,168,76,168,84,168,88,40,4,168,96,168,100,168,108,42,4,168,116,168,120,44,4,46,4,168,136,168,140,168,148,48,4,168,160,50,4,168,172,168,176,168,180,168,184,52,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,185,60,249,57,217,212,185,212,185,208,185,204,54,4,185,85,153,85,249,85,89,86,186,101,154,101,250,101,90,102,217,80,249,128,185,133,153,133,25,217,249,216,185,216,136,14,185,200,185,169,153,169,249,169,217,184,153,185,217,164,0,8,168,57,168,60,232,57,200,212,168,212,168,208,168,204,56,4,168,85,136,85,232,85,72,86,168,101,136,101,232,101,72,102,200,80,232,128,168,133,136,133,8,217,232,216,168,216,128,14,168,200,168,169,136,169,232,169,200,184,136,185,200,164,72,186,249,58,232,58,217,57,200,57,58,4,60,4,153,69,136,69,249,69,232,69,153,70,136,70,185,72,168,72,25,78,8,78,185,80,168,80,249,86,232,86,217,85,200,85,153,86,136,86,217,86,200,86,25,86,8,86,249,93,232,93,217,93,200,93,153,94,136,94,62,4,64,4,249,97,232,97,25,99,8,99,122,102,104,102,250,102,232,102,218,101,200,101,218,102,200,102,154,102,168,104,2,8,4,8,250,109,232,109,66,4,68,4,168,144,153,117,136,117,185,118,168,118,25,118,8,118,57,119,40,119,25,119,8,119,217,128,200,128,70,4,72,4,26,126,8,126,6,8,185,128,168,128,249,134,232,134,217,133,200,133,217,216,200,216,217,200,200,200,153,149,136,149,185,150,168,150,25,150,8,150,154,153,136,153,250,153,232,153,74,4,76,4,185,156,168,156,185,162,168,162,25,162,8,162,185,164,168,164,121,170,104,170,249,170,232,170,217,169,200,169,57,170,40,170,249,184,232,184,78,4,80,4,249,177,232,177,249,185,232,185,89,186,153,189,136,189,153,190,136,190,185,196,168,196,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,8,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,10,8,1,0,8,14,12,8,1,0,16,14,0,13,8,13,24,14,14,8,200,12,72,12,32,14,200,152,169,152,187,100,187,108,169,100,169,108,169,192,169,124,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,68,255,5,185,92,255,5,185,112,255,5,186,124,255,5,185,132,255,5,186,152,255,5,185,168,255,5,185,188,255,5,168,56,255,5,168,68,255,5,168,92,255,5,168,112,255,5,168,124,255,5,168,132,255,5,168,152,255,5,168,168,255,5,168,188,255,5,185,70,255,5,168,70,255,5,217,58,255,5,200,58,255,5,185,94,255,5,168,94,255,5,185,114,255,5,168,114,255,5,186,126,255,5,168,126,255,5,186,154,255,5,168,154,255,5,217,170,255,5,200,170,255,1,170,170,3,0,67,0,50,0,59,0,79,15,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,74,15,0,32,92,28,0,32,1,0,32,0,97,28,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,65,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,83,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,83,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,120,13,0,32,7,0,0,0,24,0,0,0,122,13,0,0,122,13,0,0,3,0,0,0,0,0,0,0,117,0,0,0,99,111,108,108,97,116,105,111,110,115,0,100,105,99,116,105,111,110,97,114,121,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,87,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,83,0,105,0,110,0,104,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,93,0,38,0,150,13,60,0,130,13,60,0,131,13,38,0,165,13,60,0,164,13,0,0,90,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,83,0,105,0,110,0,104,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,93,0,38,0,150,13,60,0,130,13,60,0,131,13,38,0,162,13,202,13,164,13,60,0,60,0,165,13,0,0,170,170,170,170,170,170,170,170,170,170,232,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,112,0,0,0,112,1,0,0,128,25,0,0,128,25,0,0,128,25,0,0,128,25,0,0,208,25,0,0,33,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,113,182,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,45,46,47,48,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,120,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,103,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,1,0,202,97,1,0,202,130,1,0,202,163,1,0,202,196,1,0,202,229,1,0,202,6,2,0,202,39,2,0,202,72,2,0,202,105,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,130,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,2,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,41,113,193,3,41,113,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,58,113,5,5,158,113,5,70,62,113,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,71,0,54,0,63,0,119,0,0,16,93,0,0,96,1,0,0,96,220,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,112,0,0,0,112,1,0,0,128,25,0,0,128,25,0,0,128,25,0,0,128,25,0,0,196,25,0,0,33,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,113,182,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,45,46,47,48,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,120,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,103,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,111,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,41,113,193,3,41,113,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,113,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,71,0,54,0,63,0,247,6,0,16,4,0,0,96,1,0,0,96,2,0,43,0,86,0,170,170,242,6,0,32,111,13,0,32,1,0,32,0,116,13,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,25,0,32,7,0,0,0,23,0,0,0,2,25,0,0,2,25,0,0,3,0,0,0,0,0,0,0,153,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,80,220,38,0,65,0,60,0,97,0,8,3,60,0,60,0,60,0,65,0,8,3,38,0,67,0,60,0,99,0,12,3,60,0,60,0,60,0,67,0,12,3,38,0,72,0,60,0,99,0,104,0,60,0,60,0,60,0,99,0,72,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,79,0,60,0,111,0,2,3,60,0,60,0,60,0,79,0,2,3,38,0,82,0,60,0,114,0,12,3,60,0,60,0,60,0,82,0,12,3,38,0,83,0,60,0,115,0,12,3,60,0,60,0,60,0,83,0,12,3,38,0,90,0,60,0,122,0,12,3,60,0,60,0,60,0,90,0,12,3,0,0,172,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,38,0,65,0,60,0,225,0,60,0,60,0,60,0,193,0,60,0,228,0,60,0,60,0,60,0,196,0,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,38,0,68,0,60,0,15,1,60,0,60,0,60,0,14,1,38,0,69,0,60,0,233,0,60,0,60,0,60,0,201,0,60,0,27,1,60,0,60,0,60,0,26,1,38,0,73,0,60,0,237,0,60,0,60,0,60,0,205,0,38,0,76,0,60,0,58,1,60,0,60,0,60,0,57,1,60,0,62,1,60,0,60,0,60,0,61,1,38,0,78,0,60,0,72,1,60,0,60,0,60,0,71,1,38,0,79,0,60,0,243,0,60,0,60,0,60,0,211,0,60,0,244,0,60,0,60,0,60,0,212,0,38,0,82,0,60,0,85,1,60,0,60,0,60,0,84,1,60,0,89,1,60,0,60,0,60,0,88,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,84,0,60,0,101,1,60,0,60,0,60,0,100,1,38,0,85,0,60,0,250,0,60,0,60,0,60,0,218,0,60,0,111,1,60,0,60,0,60,0,110,1,38,0,89,0,60,0,253,0,60,0,60,0,60,0,221,0,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,0,0,170,170,170,170,170,170,170,170,48,57,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,149,1,0,0,68,0,0,0,68,0,0,0,68,0,0,0,212,39,0,0,212,39,0,0,212,39,0,0,212,39,0,0,92,47,0,0,92,47,0,0,24,57,0,0,24,57,0,0,24,57,0,0,50,105,114,84,1,0,64,8,112,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,125,0,133,0,136,0,144,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,147,0,155,0,161,0,169,0,177,0,185,0,48,0,56,0,184,0,192,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,209,0,217,0,48,0,48,0,48,0,225,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,233,0,48,0,48,0,241,0,48,0,247,0,255,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,2,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,10,1,17,1,25,1,33,1,39,1,47,1,54,1,62,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,70,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,73,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,200,0,207,0,48,0,48,0,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,81,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,89,1,48,0,48,0,95,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,244,1,32,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,76,2,132,2,196,2,192,0,224,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,59,0,202,33,59,0,202,66,59,0,202,99,59,0,202,132,59,0,202,165,59,0,202,198,59,0,202,231,59,0,202,8,60,0,202,41,60,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,201,70,2,0,201,6,3,0,201,198,3,0,156,5,0,52,156,5,0,54,156,5,0,56,201,70,5,0,156,5,0,60,156,5,0,62,201,102,6,0,156,5,0,66,201,70,8,0,201,38,9,0,156,5,0,72,160,5,0,74,201,6,11,0,201,230,12,0,201,198,13,0,201,166,14,0,156,5,0,84,160,5,0,86,156,5,0,88,201,134,16,0,201,230,17,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,18,0,5,5,0,44,201,70,20,0,201,6,21,0,201,198,21,0,5,5,0,52,5,5,0,54,5,5,0,56,201,70,23,0,5,5,0,60,5,5,0,62,201,102,24,0,5,5,0,66,201,70,26,0,201,38,27,0,5,5,0,72,5,5,0,74,201,6,29,0,201,230,30,0,201,198,31,0,201,166,32,0,5,5,0,84,5,5,0,86,5,5,0,88,201,134,34,0,201,230,35,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,5,2,43,196,142,156,42,196,154,156,42,134,5,3,43,196,146,156,42,197,226,49,0,201,198,36,0,196,138,156,50,134,5,2,51,196,142,156,50,196,150,156,50,196,138,156,58,134,5,2,59,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,134,5,2,71,134,5,3,71,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,134,5,2,83,196,142,156,82,196,150,156,82,134,5,2,91,160,5,38,93,197,34,50,0,196,138,5,42,5,5,2,43,196,142,5,42,196,154,5,42,5,5,3,43,196,146,5,42,197,98,50,0,201,102,37,0,196,138,5,50,5,5,2,51,196,142,5,50,196,150,5,50,196,138,5,58,5,5,2,59,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,5,5,2,71,5,5,3,71,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,5,5,2,83,196,142,5,82,196,150,5,82,5,5,2,91,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,38,0,201,166,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,41,0,201,166,42,0,134,5,3,51,5,5,3,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,44,0,201,70,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,65,5,5,2,65,201,102,46,0,201,230,47,0,134,5,3,65,5,5,3,65,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,49,0,201,38,50,0,134,5,2,69,5,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,77,5,5,2,77,201,230,50,0,201,102,52,0,134,5,3,77,5,5,3,77,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,53,0,201,166,54,0,134,5,2,79,5,5,2,79,201,102,55,0,201,38,56,0,134,5,2,81,5,5,2,81,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,83,5,5,3,83,192,0,0,0,192,0,0,0,201,230,56,0,201,102,58,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,59,0,201,102,61,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,62,0,201,102,64,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,9,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,65,0,201,102,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,68,0,201,166,69,0,201,102,70,0,201,38,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,71,0,201,102,73,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,230,74,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,76,0,5,71,238,102,201,166,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,13,0,192,0,0,0,192,0,0,0,197,98,13,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,13,0,192,0,0,0,197,226,13,0,192,0,0,0,192,0,0,0,197,34,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,14,0,192,0,0,0,197,162,14,0,192,0,0,0,197,226,14,0,192,0,0,0,197,34,15,0,192,0,0,0,197,98,15,0,197,163,15,0,197,2,16,0,192,0,0,0,192,0,0,0,197,66,16,0,197,131,16,0,197,226,16,0,192,0,0,0,192,0,0,0,197,34,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,34,13,0,197,98,17,0,5,5,10,121,197,162,17,0,197,226,17,0,5,5,12,121,5,5,16,121,197,34,18,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,197,98,19,0,197,162,19,0,5,5,18,121,5,5,20,121,197,194,13,0,5,5,24,121,197,226,13,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,78,0,201,6,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,81,0,201,70,82,0,201,6,83,0,201,198,83,0,201,134,84,0,201,70,85,0,201,6,86,0,201,198,86,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,87,0,201,6,89,0,201,134,90,0,201,6,92,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,93,0,201,166,94,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,95,0,201,70,97,0,192,0,0,0,192,0,0,0,201,198,98,0,201,70,100,0,201,198,101,0,201,70,103,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,104,0,201,134,105,0,201,70,106,0,201,6,107,0,201,198,107,0,201,134,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,109,0,201,198,110,0,192,0,0,0,192,0,0,0,201,70,112,0,201,198,113,0,192,0,0,0,192,0,0,0,201,70,115,0,201,6,116,0,192,0,0,0,192,0,0,0,197,98,32,0,197,162,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,116,0,201,134,117,0,201,70,118,0,201,6,119,0,201,198,119,0,201,134,120,0,201,70,121,0,201,198,122,0,201,70,124,0,201,198,125,0,201,70,127,0,201,198,128,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,130,0,201,6,131,0,201,198,131,0,201,134,132,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,133,0,201,198,134,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,136,0,201,198,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,139,0,201,102,140,0,201,134,141,0,201,6,143,0,192,0,0,0,192,0,0,0,197,226,41,0,197,34,42,0,197,98,42,0,197,162,42,0,197,226,42,0,197,34,43,0,197,98,43,0,197,162,43,0,197,34,41,0,197,162,41,0,197,162,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,144,0,201,6,146,0,201,134,147,0,201,6,149,0,192,0,0,0,192,0,0,0,197,162,8,0,197,34,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,150,0,201,6,152,0,192,0,0,0,192,0,0,0,201,134,153,0,201,166,154,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,43,5,162,0,0,134,5,3,43,5,162,0,0,5,5,2,43,5,162,0,0,5,5,3,43,5,162,0,0,134,5,2,51,5,162,0,0,134,5,3,51,5,162,0,0,5,5,2,51,5,162,0,0,5,5,3,51,5,162,0,0,134,5,2,59,5,162,0,0,5,5,2,59,5,162,0,0,134,5,2,65,5,160,0,0,134,5,3,65,5,160,0,0,5,5,2,65,5,160,0,0,5,5,3,65,5,160,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,77,5,160,0,0,134,5,3,77,5,160,0,0,5,5,2,77,5,160,0,0,5,5,3,77,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,81,5,160,0,0,5,5,2,81,5,160,0,0,134,5,2,83,5,162,0,0,134,5,3,83,5,162,0,0,5,5,2,83,5,162,0,0,5,5,3,83,5,162,0,0,134,5,2,71,5,190,0,0,134,5,3,71,5,190,0,0,5,5,2,71,5,190,0,0,5,5,3,71,5,190,0,0,134,5,2,83,5,190,0,0,134,5,3,83,5,190,0,0,5,5,2,83,5,190,0,0,5,5,3,83,5,190,0,0,134,5,3,43,5,164,0,0,5,5,3,43,5,164,0,0,134,5,2,71,5,162,0,0,134,5,3,71,5,162,0,0,5,5,2,71,5,162,0,0,5,5,3,71,5,162,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,81,5,202,0,0,5,5,2,81,5,202,0,0,134,5,2,51,5,160,0,0,134,5,3,51,5,160,0,0,5,5,2,51,5,160,0,0,5,5,3,51,5,160,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,43,5,200,0,0,134,5,3,43,5,200,0,0,5,5,2,43,5,200,0,0,5,5,3,43,5,200,0,0,134,5,2,49,5,196,0,0,5,5,2,49,5,196,0,0,134,5,2,49,5,210,0,0,5,5,2,49,5,210,0,0,134,5,2,49,5,160,0,0,5,5,2,49,5,160,0,0,134,5,2,49,5,204,0,0,5,5,2,49,5,204,0,0,134,5,2,51,5,204,0,0,134,5,3,51,5,204,0,0,5,5,2,51,5,204,0,0,5,5,3,51,5,204,0,0,134,5,2,51,5,208,0,0,134,5,3,51,5,208,0,0,5,5,2,51,5,208,0,0,5,5,3,51,5,208,0,0,134,5,2,59,5,208,0,0,5,5,2,59,5,208,0,0,134,5,2,65,5,196,0,0,134,5,3,65,5,196,0,0,5,5,2,65,5,196,0,0,5,5,3,65,5,196,0,0,134,5,2,65,5,210,0,0,134,5,3,65,5,210,0,0,5,5,2,65,5,210,0,0,5,5,3,65,5,210,0,0,134,5,2,65,5,204,0,0,134,5,3,65,5,204,0,0,5,5,2,65,5,204,0,0,5,5,3,65,5,204,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,77,5,196,0,0,134,5,3,77,5,196,0,0,5,5,2,77,5,196,0,0,5,5,3,77,5,196,0,0,134,5,2,77,5,210,0,0,134,5,3,77,5,210,0,0,5,5,2,77,5,210,0,0,5,5,3,77,5,210,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,81,5,196,0,0,5,5,2,81,5,196,0,0,134,5,2,81,5,210,0,0,5,5,2,81,5,210,0,0,134,5,2,81,5,204,0,0,5,5,2,81,5,204,0,0,134,5,2,83,5,198,0,0,134,5,3,83,5,198,0,0,5,5,2,83,5,198,0,0,5,5,3,83,5,198,0,0,134,5,2,83,5,208,0,0,134,5,3,83,5,208,0,0,5,5,2,83,5,208,0,0,5,5,3,83,5,208,0,0,134,5,2,83,5,204,0,0,134,5,3,83,5,204,0,0,5,5,2,83,5,204,0,0,5,5,3,83,5,204,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,134,5,2,43,5,196,0,0,134,5,3,43,5,196,0,0,5,5,2,43,5,196,0,0,5,5,3,43,5,196,0,0,134,5,2,51,5,196,0,0,134,5,3,51,5,196,0,0,5,5,2,51,5,196,0,0,5,5,3,51,5,196,0,0,134,5,2,59,5,196,0,0,5,5,2,59,5,196,0,0,134,5,2,71,5,196,0,0,134,5,3,71,5,196,0,0,5,5,2,71,5,196,0,0,5,5,3,71,5,196,0,0,134,5,3,71,5,136,0,0,5,5,3,71,5,136,0,0,134,5,3,71,5,138,0,0,5,5,3,71,5,138,0,0,134,5,3,71,5,182,0,0,5,5,3,71,5,182,0,0,134,5,3,71,5,154,0,0,5,5,3,71,5,154,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,134,5,3,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,5,5,3,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,134,5,3,83,5,196,0,0,5,5,2,83,5,196,0,0,5,5,3,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,134,5,3,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,5,5,3,83,5,190,0,0,5,196,0,0,134,5,2,91,5,196,0,0,5,5,2,91,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,13,0,5,5,10,121,5,5,12,121,197,98,13,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,13,0,5,5,24,121,197,226,13,0,5,5,28,121,5,5,30,121,197,34,14,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,98,14,0,5,5,107,121,197,162,14,0,5,5,111,121,197,226,14,0,5,5,115,121,197,34,15,0,5,5,119,121,197,98,15,0,197,163,15,0,197,2,16,0,5,5,127,121,5,5,129,121,197,66,16,0,197,131,16,0,197,226,16,0,5,5,137,121,5,5,139,121,197,34,17,0,5,5,143,121,5,5,6,121,197,34,13,0,197,98,17,0,5,5,10,121,197,162,17,0,197,226,17,0,5,5,12,121,5,5,16,121,197,34,18,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,197,98,19,0,197,162,19,0,5,5,18,121,5,5,20,121,197,194,13,0,5,5,24,121,197,226,13,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,2,0,1,3,2,235,134,5,8,3,3,235,134,5,65,3,2,235,134,5,0,46,156,5,48,0,12,3,2,239,134,5,0,48,156,5,48,0,12,3,2,241,134,5,0,50,156,5,2,0,1,3,2,243,134,5,12,3,3,243,134,5,65,3,2,243,134,5,0,58,156,5,1,0,1,3,2,251,134,5,65,3,2,251,134,5,0,64,156,5,2,0,1,3,255,255,2,65,134,5,12,3,255,255,3,65,134,5,65,3,255,255,2,65,134,5,0,68,156,5,48,0,12,3,255,255,2,69,134,5,0,70,156,5,2,0,1,3,255,255,2,71,134,5,2,3,255,255,3,71,134,5,65,3,255,255,2,71,134,5,0,76,156,5,2,0,1,3,255,255,2,77,134,5,12,3,255,255,3,77,134,5,65,3,255,255,2,77,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,80,156,5,48,0,12,3,255,255,2,81,134,5,0,82,156,5,2,0,1,3,255,255,2,83,134,5,10,3,255,255,3,83,134,5,65,3,255,255,2,83,134,5,0,90,156,5,1,0,1,3,255,255,2,91,134,5,65,3,255,255,2,91,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,42,5,5,2,0,1,3,2,235,5,5,8,3,3,235,5,5,65,3,2,235,5,5,0,46,5,5,48,0,12,3,2,239,5,5,0,48,5,5,48,0,12,3,2,241,5,5,0,50,5,5,2,0,1,3,2,243,5,5,12,3,3,243,5,5,65,3,2,243,5,5,0,58,5,5,1,0,1,3,2,251,5,5,65,3,2,251,5,5,0,64,5,5,2,0,1,3,255,255,2,65,5,5,12,3,255,255,3,65,5,5,65,3,255,255,2,65,5,5,0,68,5,5,48,0,12,3,255,255,2,69,5,5,0,70,5,5,2,0,1,3,255,255,2,71,5,5,2,3,255,255,3,71,5,5,65,3,255,255,2,71,5,5,0,76,5,5,2,0,1,3,255,255,2,77,5,5,12,3,255,255,3,77,5,5,65,3,255,255,2,77,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,80,5,5,48,0,12,3,255,255,2,81,5,5,0,82,5,5,2,0,1,3,255,255,2,83,5,5,10,3,255,255,3,83,5,5,65,3,255,255,2,83,5,5,0,90,5,5,1,0,1,3,255,255,2,91,5,5,65,3,255,255,2,91,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,98,156,42,196,162,2,0,1,3,0,192,197,162,8,3,0,192,197,226,65,3,0,192,197,162,5,42,196,162,2,0,1,3,1,192,197,34,8,3,1,192,197,98,65,3,1,192,197,34,156,50,196,162,2,0,1,3,1,192,197,162,12,3,1,192,197,226,65,3,1,192,197,162,5,50,196,162,2,0,1,3,2,192,197,34,12,3,2,192,197,98,65,3,2,192,197,34,156,58,196,162,1,0,1,3,2,192,197,162,65,3,2,192,197,162,5,58,196,162,1,0,1,3,2,192,197,226,65,3,2,192,197,226,156,64,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,5,64,196,160,2,0,1,3,3,192,197,162,12,3,3,192,197,226,65,3,3,192,197,162,156,68,196,160,48,0,12,3,4,192,197,34,5,68,196,160,48,0,12,3,4,192,197,98,156,76,196,160,2,0,1,3,4,192,197,162,12,3,4,192,197,226,65,3,4,192,197,162,5,76,196,160,2,0,1,3,5,192,197,34,12,3,5,192,197,98,65,3,5,192,197,34,156,78,196,160,48,0,12,3,5,192,197,162,5,78,196,160,48,0,12,3,5,192,197,226,156,80,196,160,48,0,12,3,6,192,197,34,5,80,196,160,48,0,12,3,6,192,197,98,156,82,196,162,2,0,1,3,6,192,197,162,10,3,6,192,197,226,65,3,6,192,197,162,5,82,196,162,2,0,1,3,7,192,197,34,10,3,7,192,197,98,65,3,7,192,197,34,156,70,196,190,2,0,1,3,7,192,197,162,2,3,7,192,197,226,65,3,7,192,197,162,5,70,196,190,2,0,1,3,8,192,197,34,2,3,8,192,197,98,65,3,8,192,197,34,156,82,196,190,2,0,1,3,8,192,197,162,10,3,8,192,197,226,65,3,8,192,197,162,5,82,196,190,2,0,1,3,9,192,197,34,10,3,9,192,197,98,65,3,9,192,197,34,156,70,196,162,2,0,1,3,10,192,197,34,2,3,10,192,197,98,65,3,10,192,197,34,5,70,196,162,2,0,1,3,10,192,197,162,2,3,10,192,197,226,65,3,10,192,197,162,156,78,196,202,48,0,12,3,11,192,197,34,5,78,196,202,48,0,12,3,11,192,197,98,156,80,196,202,48,0,12,3,11,192,197,162,5,80,196,202,48,0,12,3,11,192,197,226,156,50,196,160,2,0,1,3,12,192,197,34,12,3,12,192,197,98,65,3,12,192,197,34,5,50,196,160,2,0,1,3,12,192,197,162,12,3,12,192,197,226,65,3,12,192,197,162,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,2,0,1,3,19,192,197,226,8,3,20,192,197,34,65,3,19,192,197,226,5,42,196,200,2,0,1,3,20,192,197,98,8,3,20,192,197,162,65,3,20,192,197,98,156,48,196,196,48,0,12,3,20,192,197,226,5,48,196,196,48,0,12,3,21,192,197,34,156,48,196,210,48,0,12,3,21,192,197,98,5,48,196,210,48,0,12,3,21,192,197,162,156,48,196,160,48,0,12,3,21,192,197,226,5,48,196,160,48,0,12,3,22,192,197,34,156,48,196,204,48,0,12,3,22,192,197,98,5,48,196,204,48,0,12,3,22,192,197,162,156,50,196,204,2,0,1,3,22,192,197,226,12,3,23,192,197,34,65,3,22,192,197,226,5,50,196,204,2,0,1,3,23,192,197,98,12,3,23,192,197,162,65,3,23,192,197,98,156,50,196,208,2,0,1,3,23,192,197,226,12,3,24,192,197,34,65,3,23,192,197,226,5,50,196,208,2,0,1,3,24,192,197,98,12,3,24,192,197,162,65,3,24,192,197,98,156,58,196,208,1,0,1,3,24,192,197,226,65,3,24,192,197,226,5,58,196,208,1,0,1,3,25,192,197,34,65,3,25,192,197,34,156,64,196,196,2,0,1,3,25,192,197,98,12,3,25,192,197,162,65,3,25,192,197,98,5,64,196,196,2,0,1,3,25,192,197,226,12,3,26,192,197,34,65,3,25,192,197,226,156,64,196,210,2,0,1,3,26,192,197,98,12,3,26,192,197,162,65,3,26,192,197,98,5,64,196,210,2,0,1,3,26,192,197,226,12,3,27,192,197,34,65,3,26,192,197,226,156,64,196,204,2,0,1,3,27,192,197,98,12,3,27,192,197,162,65,3,27,192,197,98,5,64,196,204,2,0,1,3,27,192,197,226,12,3,28,192,197,34,65,3,27,192,197,226,156,68,196,196,48,0,12,3,28,192,197,98,5,68,196,196,48,0,12,3,28,192,197,162,156,68,196,210,48,0,12,3,28,192,197,226,5,68,196,210,48,0,12,3,29,192,197,34,156,68,196,204,48,0,12,3,29,192,197,98,5,68,196,204,48,0,12,3,29,192,197,162,156,76,196,196,2,0,1,3,29,192,197,226,12,3,30,192,197,34,65,3,29,192,197,226,5,76,196,196,2,0,1,3,30,192,197,98,12,3,30,192,197,162,65,3,30,192,197,98,156,76,196,210,2,0,1,3,30,192,197,226,12,3,31,192,197,34,65,3,30,192,197,226,5,76,196,210,2,0,1,3,31,192,197,98,12,3,31,192,197,162,65,3,31,192,197,98,156,78,196,196,48,0,12,3,31,192,197,226,5,78,196,196,48,0,12,3,32,192,197,34,156,80,196,196,48,0,12,3,32,192,197,226,5,80,196,196,48,0,12,3,33,192,197,34,156,80,196,210,48,0,12,3,33,192,197,98,5,80,196,210,48,0,12,3,33,192,197,162,156,80,196,204,48,0,12,3,33,192,197,226,5,80,196,204,48,0,12,3,34,192,197,34,156,82,196,198,2,0,1,3,34,192,197,98,10,3,34,192,197,162,65,3,34,192,197,98,5,82,196,198,2,0,1,3,34,192,197,226,10,3,35,192,197,34,65,3,34,192,197,226,156,82,196,208,2,0,1,3,35,192,197,98,10,3,35,192,197,162,65,3,35,192,197,98,5,82,196,208,2,0,1,3,35,192,197,226,10,3,36,192,197,34,65,3,35,192,197,226,156,82,196,204,2,0,1,3,36,192,197,98,10,3,36,192,197,162,65,3,36,192,197,98,5,82,196,204,2,0,1,3,36,192,197,226,10,3,37,192,197,34,65,3,36,192,197,226,156,92,196,196,48,0,12,3,37,192,197,98,5,92,196,196,48,0,12,3,37,192,197,162,156,92,196,210,48,0,12,3,37,192,197,226,5,92,196,210,48,0,12,3,38,192,197,34,156,42,196,196,2,0,1,3,38,192,197,98,8,3,38,192,197,162,65,3,38,192,197,98,5,42,196,196,2,0,1,3,38,192,197,226,8,3,39,192,197,34,65,3,38,192,197,226,156,50,196,196,2,0,1,3,39,192,197,98,12,3,39,192,197,162,65,3,39,192,197,98,5,50,196,196,2,0,1,3,39,192,197,226,12,3,40,192,197,34,65,3,39,192,197,226,156,58,196,196,1,0,1,3,40,192,197,98,65,3,40,192,197,98,5,58,196,196,1,0,1,3,40,192,197,162,65,3,40,192,197,162,156,70,196,196,2,0,1,3,40,192,197,226,2,3,41,192,197,34,65,3,40,192,197,226,5,70,196,196,2,0,1,3,41,192,197,98,2,3,41,192,197,162,65,3,41,192,197,98,43,0,197,227,2,0,1,3,44,192,197,67,2,3,44,192,197,163,65,3,44,192,197,67,45,0,197,3,2,0,1,3,45,192,197,99,2,3,45,192,197,195,65,3,45,192,197,99,156,82,196,196,2,0,1,3,46,192,197,34,10,3,46,192,197,98,65,3,46,192,197,34,5,82,196,196,2,0,1,3,46,192,197,162,10,3,46,192,197,226,65,3,46,192,197,162,47,0,197,35,2,0,1,3,47,192,197,131,10,3,47,192,197,227,65,3,47,192,197,131,48,0,197,67,2,0,1,3,48,192,197,163,10,3,49,192,197,3,65,3,48,192,197,163,156,90,196,196,1,0,1,3,49,192,197,98,65,3,49,192,197,98,5,90,196,196,1,0,1,3,49,192,197,162,65,3,49,192,197,162,3,0,67,0,50,0,59,0,155,0,0,16,86,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,28,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,4,30,0,0,4,30,0,0,4,30,0,0,4,30,0,0,184,32,0,0,184,32,0,0,186,35,0,0,212,35,0,0,4,40,0,0,50,105,114,84,1,0,64,8,211,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,91,0,99,0,107,0,115,0,116,0,124,0,127,0,135,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,159,0,48,0,161,0,169,0,173,0,181,0,186,0,194,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,202,0,151,0,48,0,48,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,143,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,108,1,172,1,208,1,252,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,20,0,202,129,20,0,202,162,20,0,202,195,20,0,202,228,20,0,202,5,21,0,202,38,21,0,202,71,21,0,202,104,21,0,202,137,21,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,196,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,134,8,0,156,5,0,72,160,5,0,74,201,102,9,0,201,70,10,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,38,11,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,6,12,0,5,5,0,44,201,196,12,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,20,0,5,5,0,72,5,5,0,74,201,134,21,0,201,102,22,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,70,23,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,134,5,2,43,196,146,156,42,197,162,19,0,201,38,24,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,134,5,2,71,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,19,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,5,5,2,43,196,146,5,42,197,34,20,0,201,230,24,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,5,5,2,71,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,25,0,201,102,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,27,0,201,230,27,0,134,5,2,77,5,5,2,77,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,28,0,201,102,29,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,30,0,201,230,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,10,0,197,98,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,31,0,201,102,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,33,0,201,230,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,34,0,201,102,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,36,0,201,230,36,0,192,0,0,0,192,0,0,0,201,166,37,0,201,102,38,0,192,0,0,0,192,0,0,0,201,38,39,0,201,230,39,0,192,0,0,0,192,0,0,0,197,162,13,0,197,226,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,40,0,201,102,41,0,201,38,42,0,201,230,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,43,0,201,102,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,45,0,201,230,45,0,192,0,0,0,192,0,0,0,197,34,16,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,197,98,17,0,197,162,17,0,197,226,17,0,197,162,15,0,197,226,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,46,0,201,102,47,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,136,5,2,57,5,142,0,0,71,5,2,57,5,142,0,0,136,5,2,57,5,144,0,0,71,5,2,57,5,144,0,0,136,5,2,57,5,156,0,0,71,5,2,57,5,156,0,0,136,5,2,57,5,196,0,0,71,5,2,57,5,196,0,0,136,5,2,57,5,150,0,0,71,5,2,57,5,150,0,0,136,5,2,57,5,160,0,0,71,5,2,57,5,160,0,0,136,5,2,57,5,206,0,0,71,5,2,57,5,206,0,0,71,5,2,57,5,210,0,0,70,5,2,57,5,142,0,0,5,5,2,57,5,142,0,0,70,5,2,57,5,144,0,0,5,5,2,57,5,144,0,0,70,5,2,57,5,156,0,0,5,5,2,57,5,156,0,0,70,5,2,57,5,196,0,0,5,5,2,57,5,196,0,0,70,5,2,57,5,150,0,0,5,5,2,57,5,150,0,0,70,5,2,57,5,160,0,0,5,5,2,57,5,160,0,0,70,5,2,57,5,206,0,0,5,5,2,57,5,206,0,0,5,5,2,57,5,210,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,43,5,162,0,0,5,5,2,43,5,162,0,0,134,5,2,77,5,160,0,0,5,5,2,77,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,43,5,164,0,0,5,5,2,43,5,164,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,43,5,200,0,0,5,5,2,43,5,200,0,0,134,5,2,77,5,196,0,0,5,5,2,77,5,196,0,0,134,5,2,77,5,210,0,0,5,5,2,77,5,210,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,134,5,2,43,5,196,0,0,5,5,2,43,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,134,5,2,71,5,136,0,0,5,5,2,71,5,136,0,0,134,5,2,71,5,138,0,0,5,5,2,71,5,138,0,0,134,5,2,71,5,182,0,0,5,5,2,71,5,182,0,0,134,5,2,71,5,154,0,0,5,5,2,71,5,154,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,8,3,2,235,134,5,0,46,156,5,17,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,15,0,30,2,0,192,197,162,31,2,0,192,197,226,12,3,2,239,134,5,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,249,136,5,104,0,2,249,71,5,36,1,197,162,37,1,0,192,197,98,0,70,156,5,48,0,2,3,255,255,2,71,134,5,0,76,156,5,48,0,12,3,255,255,2,77,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,42,5,5,48,0,8,3,2,235,5,5,0,46,5,5,17,0,36,30,29,0,40,30,15,0,40,30,6,192,197,98,41,30,6,192,197,162,42,30,6,192,197,226,43,30,7,192,197,34,150,30,7,192,197,98,36,30,5,192,197,98,37,30,5,192,197,162,38,30,5,192,197,226,39,30,6,192,197,34,30,2,15,0,30,2,4,192,197,98,31,2,4,192,197,162,12,3,2,239,5,5,34,30,4,192,197,226,35,30,5,192,197,34,72,0,2,249,70,5,104,0,2,249,5,5,36,1,3,192,197,226,37,1,4,192,197,34,0,70,5,5,48,0,2,3,255,255,2,71,5,5,0,76,5,5,48,0,12,3,255,255,2,77,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,7,192,197,162,5,46,196,160,48,0,12,3,7,192,197,226,156,42,196,162,48,0,8,3,8,192,197,34,5,42,196,162,48,0,8,3,8,192,197,98,156,76,196,160,48,0,12,3,8,192,197,162,5,76,196,160,48,0,12,3,8,192,197,226,156,78,196,160,48,0,12,3,9,192,197,34,5,78,196,160,48,0,12,3,9,192,197,98,156,70,196,190,48,0,2,3,9,192,197,162,5,70,196,190,48,0,2,3,9,192,197,226,156,70,196,162,48,0,2,3,10,192,197,162,5,70,196,162,48,0,2,3,10,192,197,226,156,78,196,202,48,0,12,3,11,192,197,34,5,78,196,202,48,0,12,3,11,192,197,98,156,42,196,200,48,0,8,3,11,192,197,162,5,42,196,200,48,0,8,3,11,192,197,226,156,76,196,196,48,0,12,3,12,192,197,34,5,76,196,196,48,0,12,3,12,192,197,98,156,76,196,210,48,0,12,3,12,192,197,162,5,76,196,210,48,0,12,3,12,192,197,226,156,78,196,196,48,0,12,3,13,192,197,34,5,78,196,196,48,0,12,3,13,192,197,98,156,92,196,196,48,0,12,3,14,192,197,34,5,92,196,196,48,0,12,3,14,192,197,98,156,92,196,210,48,0,12,3,14,192,197,162,5,92,196,210,48,0,12,3,14,192,197,226,156,42,196,196,48,0,8,3,15,192,197,34,5,42,196,196,48,0,8,3,15,192,197,98,156,70,196,196,48,0,2,3,15,192,197,162,5,70,196,196,48,0,2,3,15,192,197,226,18,0,197,35,48,0,2,3,18,192,197,131,18,0,197,227,48,0,2,3,19,192,197,67,12,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,34,30,44,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,64,28,4,185,76,186,80,185,84,185,88,185,92,186,100,186,108,185,112,185,116,185,120,186,124,38,4,185,140,185,144,40,4,42,4,185,168,185,176,185,180,185,184,185,188,185,192,44,4,88,13,168,13,96,13,56,14,80,12,40,14,46,4,168,64,48,4,168,76,168,80,168,84,168,88,168,92,168,100,168,108,168,112,168,116,168,120,168,124,58,4,168,140,168,144,60,4,62,4,168,168,168,176,168,180,168,184,168,188,168,192,64,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,185,60,57,58,0,8,66,4,186,81,154,81,250,81,90,82,186,101,154,101,250,101,90,102,217,76,154,126,185,133,153,133,185,136,153,134,89,134,136,14,217,134,185,177,153,177,249,177,89,178,153,193,185,204,2,8,168,57,136,57,232,57,136,58,168,60,40,58,4,8,68,4,168,81,136,81,232,81,72,82,168,101,136,101,232,101,72,102,200,76,136,126,168,133,136,133,168,136,136,134,72,134,128,14,200,134,168,177,136,177,232,177,72,178,136,193,168,204,72,194,57,59,40,59,217,57,200,57,70,4,72,4,153,69,136,69,249,69,232,69,185,70,168,70,185,72,168,72,25,78,8,78,89,79,72,79,58,83,40,83,218,81,200,81,186,82,168,82,26,83,8,83,26,82,8,82,249,89,232,89,217,89,200,89,185,90,168,90,249,90,232,90,249,93,232,93,89,95,72,95,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,148,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,250,126,232,126,26,126,8,126,10,8,185,128,168,128,57,135,40,135,217,133,200,133,121,134,104,134,12,8,14,8,153,153,136,153,74,4,76,4,185,156,168,156,154,161,136,161,250,161,232,161,78,4,80,4,185,164,168,164,249,170,232,170,25,170,8,170,185,172,168,172,153,178,136,178,57,179,40,179,217,177,200,177,57,178,40,178,121,178,104,178,25,179,8,179,249,185,232,185,249,193,232,193,89,194,153,197,136,197,185,198,168,198,185,200,168,200,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,160,169,160,200,56,169,80,187,100,187,108,169,100,169,108,169,208,169,124,217,132,187,80,200,132,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,68,72,4,187,96,104,4,178,96,36,5,251,97,37,5,242,97,255,5,185,132,255,5,185,152,255,5,186,160,255,5,185,196,255,5,168,56,255,5,168,68,72,4,177,96,104,4,168,96,36,5,241,97,37,5,232,97,255,5,168,132,255,5,168,152,255,5,168,160,255,5,168,196,255,5,249,70,255,5,232,70,255,5,25,59,255,5,8,59,255,5,249,154,255,5,232,154,255,5,250,162,255,5,232,162,255,1,3,0,67,0,50,0,59,0,239,14,0,16,4,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,232,14,0,32,247,24,0,32,1,0,32,0,252,24,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,108,8,0,32,7,0,0,0,21,0,0,0,110,8,0,0,110,8,0,0,3,0,0,0,0,0,0,0,43,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,60,0,7,1,60,0,60,0,60,0,6,1,38,0,68,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,0,0,170,170,228,32,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,20,27,0,0,20,27,0,0,20,27,0,0,20,27,0,0,216,27,0,0,216,27,0,0,228,28,0,0,228,28,0,0,204,32,0,0,50,105,114,84,1,0,64,8,164,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,48,0,56,0,105,0,113,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,135,0,48,0,48,0,143,0,147,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,155,0,129,0,48,0,48,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,121,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,192,0,164,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,4,0,202,1,5,0,202,34,5,0,202,67,5,0,202,100,5,0,202,133,5,0,202,166,5,0,202,199,5,0,202,232,5,0,202,9,6,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,134,1,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,102,2,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,70,3,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,198,4,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,166,5,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,4,0,201,134,6,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,4,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,4,0,201,198,7,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,9,0,201,6,10,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,10,0,201,134,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,197,162,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,12,0,201,6,13,0,192,0,0,0,192,0,0,0,197,162,2,0,197,226,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,13,0,201,134,14,0,201,70,15,0,201,6,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,197,162,12,3,0,192,197,98,65,3,197,162,5,46,196,160,2,0,1,3,0,192,197,162,12,3,0,192,197,226,65,3,0,192,197,162,156,78,196,160,48,0,12,3,1,192,197,34,5,78,196,160,48,0,12,3,1,192,197,98,156,78,196,202,48,0,12,3,1,192,197,162,5,78,196,202,48,0,12,3,1,192,197,226,156,78,196,196,48,0,12,3,2,192,197,34,5,78,196,196,48,0,12,3,2,192,197,98,156,92,196,196,48,0,12,3,3,192,197,34,5,92,196,196,48,0,12,3,3,192,197,98,156,92,196,210,48,0,12,3,3,192,197,162,5,92,196,210,48,0,12,3,3,192,197,226,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,76,186,84,185,88,185,92,185,96,186,100,186,108,185,112,185,116,185,120,186,124,185,132,185,136,185,140,185,148,28,4,185,160,185,168,185,172,185,176,185,180,185,184,30,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,32,4,168,76,168,84,168,88,168,92,168,96,168,100,168,108,168,112,168,116,168,120,168,124,168,132,168,136,168,140,168,148,34,4,168,160,168,168,168,172,168,176,168,180,168,184,36,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,38,4,186,85,154,85,250,85,90,86,186,101,154,101,250,101,90,102,217,76,154,126,185,133,153,133,249,133,153,134,89,134,136,14,217,134,185,169,153,169,249,169,89,170,153,185,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,40,4,168,85,136,85,232,85,72,86,168,101,136,101,232,101,72,102,200,76,136,126,168,133,136,133,232,133,136,134,72,134,128,14,200,134,168,169,136,169,232,169,72,170,136,185,168,196,72,186,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,185,80,168,80,58,87,40,87,218,85,200,85,186,86,168,86,26,87,8,87,26,86,8,86,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,97,232,97,89,99,72,99,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,144,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,250,126,232,126,26,126,8,126,10,8,185,128,168,128,57,135,40,135,217,133,200,133,121,134,104,134,12,8,14,8,153,149,136,149,249,150,232,150,25,150,8,150,154,153,136,153,250,153,232,153,42,4,44,4,185,156,168,156,249,162,232,162,25,162,8,162,185,164,168,164,153,170,136,170,57,171,40,171,217,169,200,169,57,170,40,170,121,170,104,170,25,171,8,171,249,177,232,177,249,185,232,185,89,186,153,189,136,189,185,190,168,190,185,192,168,192,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,84,200,152,169,152,200,56,169,84,187,100,187,108,169,100,169,108,169,200,169,124,217,132,187,84,200,132,169,84,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,186,152,255,5,185,188,255,5,168,64,255,5,168,152,255,5,168,188,255,5,249,66,255,5,232,66,255,5,250,154,255,5,232,154,255,1,3,0,69,0,52,0,61,0,43,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,101,8,0,32,1,0,32,0,106,8,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,231,23,0,32,7,0,0,0,23,0,0,0,233,23,0,0,233,23,0,0,3,0,0,0,0,0,0,0,105,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,50,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,115,0,109,0,110,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,105,220,38,0,65,0,60,0,226,0,60,0,60,0,60,0,194,0,60,0,60,0,224,0,60,0,60,0,60,0,192,0,38,0,67,0,60,0,13,1,60,0,60,0,60,0,12,1,38,0,68,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,74,1,60,0,60,0,241,0,60,0,60,0,60,0,209,0,60,0,60,0,68,1,60,0,60,0,60,0,67,1,38,0,83,0,60,0,97,1,60,0,60,0,60,0,96,1,38,0,90,0,60,0,126,1,60,0,60,0,60,0,125,1,60,0,230,0,60,0,60,0,60,0,198,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,229,0,60,0,60,0,60,0,197,0,60,0,227,0,60,0,60,0,60,0,195,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,225,0,60,0,60,0,60,0,193,0,60,0,246,0,60,0,60,0,60,0,214,0,0,0,170,170,170,170,170,170,170,170,170,170,250,49,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,214,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,132,39,0,0,132,39,0,0,228,40,0,0,228,40,0,0,112,45,0,0,112,45,0,0,222,49,0,0,222,49,0,0,222,49,0,0,50,105,114,84,1,0,64,8,107,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,148,0,156,0,162,0,170,0,178,0,186,0,48,0,56,0,185,0,193,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,218,0,48,0,48,0,48,0,226,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,234,0,48,0,48,0,242,0,48,0,248,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,3,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,11,1,48,0,18,1,26,1,30,1,38,1,43,1,51,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,57,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,65,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,68,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,201,0,208,0,48,0,48,0,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,76,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,84,1,48,0,48,0,90,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,80,2,136,2,200,2,192,0,228,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,35,0,202,65,35,0,202,98,35,0,202,131,35,0,202,164,35,0,202,197,35,0,202,230,35,0,202,7,36,0,202,40,36,0,202,73,36,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,201,6,4,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,198,4,0,201,166,6,0,156,5,0,72,160,5,0,74,156,5,0,76,201,102,7,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,70,8,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,38,9,0,5,5,0,44,201,102,13,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,38,14,0,201,6,16,0,5,5,0,72,5,5,0,74,5,5,0,76,201,230,16,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,198,17,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,2,43,198,1,0,0,134,5,2,43,198,33,0,0,198,65,0,0,198,97,0,0,134,5,3,93,201,166,18,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,70,30,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,129,0,0,5,5,127,12,134,5,4,93,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,130,26,0,5,70,2,43,193,5,5,93,5,5,2,43,193,3,5,93,193,4,5,93,193,2,5,93,5,5,3,93,201,70,19,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,70,30,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,193,6,5,93,5,5,125,12,5,5,4,93,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,20,0,201,166,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,30,69,5,71,30,69,201,70,27,0,201,198,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,30,0,201,6,31,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,31,0,201,134,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,1,0,197,98,4,0,192,0,0,0,192,0,0,0,197,162,4,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,33,0,201,6,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,2,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,34,0,201,134,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,2,0,197,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,70,36,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,38,0,5,71,238,102,201,6,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,192,0,0,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,192,0,0,0,192,0,0,0,197,98,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,8,0,192,0,0,0,197,226,8,0,192,0,0,0,197,34,9,0,192,0,0,0,197,98,9,0,192,0,0,0,197,162,9,0,197,227,9,0,197,66,10,0,192,0,0,0,192,0,0,0,197,130,10,0,197,195,10,0,197,34,11,0,192,0,0,0,192,0,0,0,197,98,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,98,7,0,197,162,11,0,5,5,10,121,197,226,11,0,197,34,12,0,5,5,12,121,5,5,16,121,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,5,5,18,121,5,5,20,121,197,2,8,0,5,5,24,121,197,34,8,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,39,0,201,134,43,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,47,0,201,166,48,0,201,38,50,0,201,166,51,0,201,38,53,0,201,166,54,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,56,0,201,230,56,0,192,0,0,0,192,0,0,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,57,0,201,102,58,0,201,38,59,0,201,230,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,60,0,201,70,64,0,192,0,0,0,192,0,0,0,197,34,23,0,197,98,23,0,197,162,23,0,197,226,23,0,197,34,24,0,197,98,24,0,197,162,24,0,197,226,24,0,197,98,21,0,197,34,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,67,0,201,166,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,69,0,201,38,70,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,5,5,93,0,134,0,5,0,3,5,93,0,134,0,5,0,4,5,93,0,134,0,5,0,2,5,93,0,134,0,5,0,6,5,93,0,134,0,5,0,5,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,164,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,136,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,164,0,0,0,0,0,134,0,5,0,5,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,5,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,70,2,43,5,162,0,0,134,5,2,43,5,162,0,0,5,70,2,43,5,162,0,0,193,5,5,93,5,162,0,0,5,5,2,43,5,162,0,0,193,3,5,93,5,162,0,0,193,4,5,93,5,162,0,0,193,2,5,93,5,162,0,0,134,71,30,69,5,160,0,0,134,70,30,69,5,160,0,0,5,71,30,69,5,160,0,0,5,70,30,69,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,193,6,5,93,5,190,0,0,193,4,5,93,5,164,0,0,134,5,3,93,5,164,0,0,5,5,3,93,5,164,0,0,193,6,5,93,5,162,0,0,193,2,5,93,5,136,0,0,134,5,3,93,5,136,0,0,5,5,3,93,5,136,0,0,134,5,4,93,5,136,0,0,5,5,4,93,5,136,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,193,6,5,93,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,70,2,43,5,200,0,0,134,5,2,43,5,200,0,0,5,70,2,43,5,200,0,0,193,5,5,93,5,200,0,0,5,5,2,43,5,200,0,0,193,3,5,93,5,200,0,0,193,4,5,93,5,200,0,0,193,2,5,93,5,200,0,0,134,71,30,69,5,196,0,0,134,70,30,69,5,196,0,0,5,71,30,69,5,196,0,0,5,70,30,69,5,196,0,0,134,71,30,69,5,210,0,0,134,70,30,69,5,210,0,0,5,71,30,69,5,210,0,0,5,70,30,69,5,210,0,0,134,71,30,69,5,204,0,0,134,70,30,69,5,204,0,0,5,71,30,69,5,204,0,0,5,70,30,69,5,204,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,134,70,2,43,5,196,0,0,134,5,2,43,5,196,0,0,5,70,2,43,5,196,0,0,193,5,5,93,5,196,0,0,5,5,2,43,5,196,0,0,193,3,5,93,5,196,0,0,193,4,5,93,5,196,0,0,193,2,5,93,5,196,0,0,134,5,2,43,5,136,0,0,5,5,2,43,5,136,0,0,134,5,2,43,5,138,0,0,5,5,2,43,5,138,0,0,134,5,2,43,5,182,0,0,5,5,2,43,5,182,0,0,134,5,2,43,5,154,0,0,5,5,2,43,5,154,0,0,193,6,5,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,6,5,93,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,98,7,0,5,5,10,121,5,5,12,121,197,162,7,0,5,5,16,121,5,5,18,121,5,5,20,121,197,226,7,0,5,5,24,121,197,34,8,0,5,5,28,121,5,5,30,121,197,98,8,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,162,8,0,5,5,107,121,197,226,8,0,5,5,111,121,197,34,9,0,5,5,115,121,197,98,9,0,5,5,119,121,197,162,9,0,197,227,9,0,197,66,10,0,5,5,127,121,5,5,129,121,197,130,10,0,197,195,10,0,197,34,11,0,5,5,137,121,5,5,139,121,197,98,11,0,5,5,143,121,5,5,6,121,197,98,7,0,197,162,11,0,5,5,10,121,197,226,11,0,197,34,12,0,5,5,12,121,5,5,16,121,197,98,12,0,197,162,12,0,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,5,5,18,121,5,5,20,121,197,2,8,0,5,5,24,121,197,34,8,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,7,0,8,3,11,0,8,3,0,192,198,65,10,3,0,192,198,97,64,3,2,235,134,70,65,3,198,129,0,3,2,235,134,70,1,3,198,129,2,3,2,235,134,5,3,3,198,161,0,46,156,5,48,0,12,3,2,239,134,5,0,68,156,5,2,0,1,3,255,255,30,69,134,71,3,3,255,255,30,69,134,70,65,3,255,255,30,69,134,71,0,70,156,5,48,0,8,3,0,192,198,129,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,42,5,5,7,0,8,3,15,0,8,3,255,255,5,93,193,4,10,3,255,255,5,93,193,2,64,3,2,235,5,70,65,3,255,255,5,93,193,5,0,3,2,235,5,70,1,3,255,255,5,93,193,5,2,3,2,235,5,5,3,3,255,255,5,93,193,3,0,46,5,5,48,0,12,3,2,239,5,5,0,68,5,5,2,0,1,3,255,255,30,69,5,71,3,3,255,255,30,69,5,70,65,3,255,255,30,69,5,71,0,70,5,5,48,0,8,3,255,255,5,93,193,6,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,98,156,42,196,162,7,0,8,3,12,0,8,3,1,192,198,34,10,3,1,192,198,98,64,3,0,192,197,162,65,3,0,192,198,162,0,3,0,192,197,162,1,3,0,192,198,162,2,3,0,192,197,226,3,3,0,192,198,226,5,42,196,162,7,0,8,3,12,0,8,3,2,192,197,34,10,3,2,192,197,98,64,3,1,192,197,34,65,3,1,192,197,98,0,3,1,192,197,34,1,3,1,192,197,98,2,3,1,192,197,162,3,3,1,192,197,226,156,68,196,160,2,0,1,3,2,192,197,162,3,3,2,192,197,226,65,3,2,192,197,162,5,68,196,160,2,0,1,3,3,192,197,34,3,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,70,196,190,48,0,8,3,1,192,198,162,5,70,196,190,48,0,8,3,4,192,197,34,156,70,196,162,48,0,8,3,2,192,198,34,5,70,196,162,48,0,8,3,5,192,197,34,156,78,196,202,48,0,12,3,6,192,197,162,5,78,196,202,48,0,12,3,6,192,197,226,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,7,0,8,3,12,0,8,3,3,192,198,98,10,3,3,192,198,162,64,3,14,192,197,34,65,3,2,192,198,226,0,3,14,192,197,34,1,3,2,192,198,226,2,3,14,192,197,98,3,3,3,192,198,34,5,42,196,200,7,0,8,3,12,0,8,3,15,192,197,162,10,3,15,192,197,226,64,3,14,192,197,162,65,3,14,192,197,226,0,3,14,192,197,162,1,3,14,192,197,226,2,3,15,192,197,34,3,3,15,192,197,98,156,68,196,196,2,0,1,3,16,192,197,34,3,3,16,192,197,98,65,3,16,192,197,34,5,68,196,196,2,0,1,3,16,192,197,162,3,3,16,192,197,226,65,3,16,192,197,162,156,68,196,210,2,0,1,3,17,192,197,34,3,3,17,192,197,98,65,3,17,192,197,34,5,68,196,210,2,0,1,3,17,192,197,162,3,3,17,192,197,226,65,3,17,192,197,162,156,68,196,204,2,0,1,3,18,192,197,34,3,3,18,192,197,98,65,3,18,192,197,34,5,68,196,204,2,0,1,3,18,192,197,162,3,3,18,192,197,226,65,3,18,192,197,162,156,78,196,196,48,0,12,3,19,192,197,34,5,78,196,196,48,0,12,3,19,192,197,98,156,92,196,196,48,0,12,3,20,192,197,34,5,92,196,196,48,0,12,3,20,192,197,98,156,92,196,210,48,0,12,3,20,192,197,162,5,92,196,210,48,0,12,3,20,192,197,226,156,42,196,196,7,0,8,3,12,0,8,3,4,192,198,98,10,3,4,192,198,162,64,3,21,192,197,34,65,3,3,192,198,226,0,3,21,192,197,34,1,3,3,192,198,226,2,3,21,192,197,98,3,3,4,192,198,34,5,42,196,196,7,0,8,3,12,0,8,3,22,192,197,162,10,3,22,192,197,226,64,3,21,192,197,162,65,3,21,192,197,226,0,3,21,192,197,162,1,3,21,192,197,226,2,3,22,192,197,34,3,3,22,192,197,98,156,70,196,196,48,0,8,3,4,192,198,226,5,70,196,196,48,0,8,3,25,192,197,34,25,0,197,99,48,0,8,3,5,192,198,35,25,0,197,195,48,0,8,3,26,192,197,35,170,170,3,0,67,0,50,0,59,0,107,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,168,43,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,31,0,0,84,31,0,0,180,32,0,0,180,32,0,0,92,35,0,0,92,35,0,0,132,39,0,0,132,39,0,0,140,43,0,0,50,105,114,84,1,0,64,8,232,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,121,0,129,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,48,0,176,0,184,0,188,0,196,0,201,0,209,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,215,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,161,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,192,1,228,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,20,0,202,33,20,0,202,66,20,0,202,99,20,0,202,132,20,0,202,165,20,0,202,198,20,0,202,231,20,0,202,8,21,0,202,41,21,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,70,3,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,6,4,0,201,230,5,0,156,5,0,72,160,5,0,74,156,5,0,76,201,166,6,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,134,7,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,102,8,0,5,5,0,44,201,166,12,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,102,13,0,201,70,15,0,5,5,0,72,5,5,0,74,5,5,0,76,201,38,16,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,6,17,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,2,43,198,1,0,0,134,5,2,43,198,33,0,0,198,65,0,0,198,97,0,0,134,5,3,93,201,230,17,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,70,30,69,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,198,129,0,0,5,5,127,12,134,5,4,93,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,194,19,0,5,70,2,43,193,5,5,93,5,5,2,43,193,3,5,93,193,4,5,93,193,2,5,93,5,5,3,93,201,134,18,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,70,30,69,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,193,6,5,93,5,5,125,12,5,5,4,93,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,19,0,201,230,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,30,69,5,71,30,69,201,134,26,0,201,6,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,29,0,201,70,30,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,31,0,201,198,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,1,0,197,98,4,0,192,0,0,0,192,0,0,0,197,162,4,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,32,0,201,70,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,98,2,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,34,0,201,198,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,2,0,197,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,35,0,201,38,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,42,0,201,70,44,0,201,198,45,0,201,70,47,0,201,198,48,0,201,70,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,51,0,201,134,52,0,192,0,0,0,192,0,0,0,197,226,12,0,197,34,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,53,0,201,6,54,0,201,198,54,0,201,134,55,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,56,0,201,230,59,0,192,0,0,0,192,0,0,0,197,98,16,0,197,162,16,0,197,226,16,0,197,34,17,0,197,98,17,0,197,162,17,0,197,226,17,0,197,34,18,0,197,162,14,0,197,98,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,63,0,201,70,64,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,65,0,201,198,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,97,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,5,5,93,0,134,0,5,0,3,5,93,0,134,0,5,0,4,5,93,0,134,0,5,0,2,5,93,0,134,0,5,0,6,5,93,0,134,0,5,0,5,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,164,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,136,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,164,0,0,0,0,0,134,0,5,0,5,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,200,0,0,0,0,0,134,0,5,0,5,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,3,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,196,0,0,0,0,0,134,0,5,0,6,5,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,5,2,47,5,160,0,0,5,5,2,47,5,160,0,0,134,70,2,43,5,162,0,0,134,5,2,43,5,162,0,0,5,70,2,43,5,162,0,0,193,5,5,93,5,162,0,0,5,5,2,43,5,162,0,0,193,3,5,93,5,162,0,0,193,4,5,93,5,162,0,0,193,2,5,93,5,162,0,0,134,71,30,69,5,160,0,0,134,70,30,69,5,160,0,0,5,71,30,69,5,160,0,0,5,70,30,69,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,193,6,5,93,5,190,0,0,193,4,5,93,5,164,0,0,134,5,3,93,5,164,0,0,5,5,3,93,5,164,0,0,193,6,5,93,5,162,0,0,193,2,5,93,5,136,0,0,134,5,3,93,5,136,0,0,5,5,3,93,5,136,0,0,134,5,4,93,5,136,0,0,5,5,4,93,5,136,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,193,6,5,93,5,164,0,0,134,70,2,43,5,200,0,0,134,5,2,43,5,200,0,0,5,70,2,43,5,200,0,0,193,5,5,93,5,200,0,0,5,5,2,43,5,200,0,0,193,3,5,93,5,200,0,0,193,4,5,93,5,200,0,0,193,2,5,93,5,200,0,0,134,71,30,69,5,196,0,0,134,70,30,69,5,196,0,0,5,71,30,69,5,196,0,0,5,70,30,69,5,196,0,0,134,71,30,69,5,210,0,0,134,70,30,69,5,210,0,0,5,71,30,69,5,210,0,0,5,70,30,69,5,210,0,0,134,71,30,69,5,204,0,0,134,70,30,69,5,204,0,0,5,71,30,69,5,204,0,0,5,70,30,69,5,204,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,134,70,2,43,5,196,0,0,134,5,2,43,5,196,0,0,5,70,2,43,5,196,0,0,193,5,5,93,5,196,0,0,5,5,2,43,5,196,0,0,193,3,5,93,5,196,0,0,193,4,5,93,5,196,0,0,193,2,5,93,5,196,0,0,134,5,2,43,5,136,0,0,5,5,2,43,5,136,0,0,134,5,2,43,5,138,0,0,5,5,2,43,5,138,0,0,134,5,2,43,5,182,0,0,5,5,2,43,5,182,0,0,134,5,2,43,5,154,0,0,5,5,2,43,5,154,0,0,193,6,5,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,6,5,93,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,7,0,8,3,11,0,8,3,0,192,198,65,10,3,0,192,198,97,64,3,2,235,134,70,65,3,198,129,0,3,2,235,134,70,1,3,198,129,2,3,2,235,134,5,3,3,198,161,0,46,156,5,48,0,12,3,2,239,134,5,0,68,156,5,2,0,1,3,255,255,30,69,134,71,3,3,255,255,30,69,134,70,65,3,255,255,30,69,134,71,0,70,156,5,48,0,8,3,0,192,198,129,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,42,5,5,7,0,8,3,15,0,8,3,255,255,5,93,193,4,10,3,255,255,5,93,193,2,64,3,2,235,5,70,65,3,255,255,5,93,193,5,0,3,2,235,5,70,1,3,255,255,5,93,193,5,2,3,2,235,5,5,3,3,255,255,5,93,193,3,0,46,5,5,48,0,12,3,2,239,5,5,0,68,5,5,2,0,1,3,255,255,30,69,5,71,3,3,255,255,30,69,5,70,65,3,255,255,30,69,5,71,0,70,5,5,48,0,8,3,255,255,5,93,193,6,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,48,0,12,3,197,162,5,46,196,160,48,0,12,3,0,192,197,98,156,42,196,162,7,0,8,3,12,0,8,3,1,192,198,34,10,3,1,192,198,98,64,3,0,192,197,162,65,3,0,192,198,162,0,3,0,192,197,162,1,3,0,192,198,162,2,3,0,192,197,226,3,3,0,192,198,226,5,42,196,162,7,0,8,3,12,0,8,3,2,192,197,34,10,3,2,192,197,98,64,3,1,192,197,34,65,3,1,192,197,98,0,3,1,192,197,34,1,3,1,192,197,98,2,3,1,192,197,162,3,3,1,192,197,226,156,68,196,160,2,0,1,3,2,192,197,162,3,3,2,192,197,226,65,3,2,192,197,162,5,68,196,160,2,0,1,3,3,192,197,34,3,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,70,196,190,48,0,8,3,1,192,198,162,5,70,196,190,48,0,8,3,4,192,197,34,156,70,196,162,48,0,8,3,2,192,198,34,5,70,196,162,48,0,8,3,5,192,197,34,156,78,196,202,48,0,12,3,6,192,197,162,5,78,196,202,48,0,12,3,6,192,197,226,156,42,196,200,7,0,8,3,12,0,8,3,3,192,198,98,10,3,3,192,198,162,64,3,7,192,197,98,65,3,2,192,198,226,0,3,7,192,197,98,1,3,2,192,198,226,2,3,7,192,197,162,3,3,3,192,198,34,5,42,196,200,7,0,8,3,12,0,8,3,8,192,197,226,10,3,9,192,197,34,64,3,7,192,197,226,65,3,8,192,197,34,0,3,7,192,197,226,1,3,8,192,197,34,2,3,8,192,197,98,3,3,8,192,197,162,156,68,196,196,2,0,1,3,9,192,197,98,3,3,9,192,197,162,65,3,9,192,197,98,5,68,196,196,2,0,1,3,9,192,197,226,3,3,10,192,197,34,65,3,9,192,197,226,156,68,196,210,2,0,1,3,10,192,197,98,3,3,10,192,197,162,65,3,10,192,197,98,5,68,196,210,2,0,1,3,10,192,197,226,3,3,11,192,197,34,65,3,10,192,197,226,156,68,196,204,2,0,1,3,11,192,197,98,3,3,11,192,197,162,65,3,11,192,197,98,5,68,196,204,2,0,1,3,11,192,197,226,3,3,12,192,197,34,65,3,11,192,197,226,156,78,196,196,48,0,12,3,12,192,197,98,5,78,196,196,48,0,12,3,12,192,197,162,156,92,196,196,48,0,12,3,13,192,197,98,5,92,196,196,48,0,12,3,13,192,197,162,156,92,196,210,48,0,12,3,13,192,197,226,5,92,196,210,48,0,12,3,14,192,197,34,156,42,196,196,7,0,8,3,12,0,8,3,4,192,198,98,10,3,4,192,198,162,64,3,14,192,197,98,65,3,3,192,198,226,0,3,14,192,197,98,1,3,3,192,198,226,2,3,14,192,197,162,3,3,4,192,198,34,5,42,196,196,7,0,8,3,12,0,8,3,15,192,197,226,10,3,16,192,197,34,64,3,14,192,197,226,65,3,15,192,197,34,0,3,14,192,197,226,1,3,15,192,197,34,2,3,15,192,197,98,3,3,15,192,197,162,156,70,196,196,48,0,8,3,4,192,198,226,5,70,196,196,48,0,8,3,18,192,197,98,18,0,197,163,48,0,8,3,5,192,198,35,19,0,197,3,48,0,8,3,19,192,197,99,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,64,24,4,185,76,186,84,185,88,185,92,185,96,186,100,186,108,185,112,185,116,185,120,26,4,28,4,185,136,185,140,185,148,30,4,185,160,185,168,185,172,185,176,185,180,185,184,32,4,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,64,36,4,168,76,168,84,168,88,168,92,168,96,168,100,168,108,168,112,168,116,168,120,38,4,40,4,168,136,168,140,168,148,42,4,168,160,168,168,168,172,168,176,168,180,168,184,44,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,132,64,13,1,0,1,0,1,0,192,12,217,60,185,216,185,60,185,208,185,212,185,204,185,196,46,4,186,85,154,85,250,85,90,86,186,101,154,101,250,101,90,102,217,76,217,128,185,133,153,133,249,133,153,134,185,220,136,14,185,200,185,169,153,169,249,169,89,170,153,185,185,224,0,8,200,60,168,216,168,60,168,208,168,212,168,204,168,196,48,4,168,85,136,85,232,85,72,86,168,101,136,101,232,101,72,102,200,76,200,128,168,133,136,133,232,133,136,134,168,220,128,14,168,200,168,169,136,169,232,169,72,170,136,185,168,224,72,186,25,59,8,59,217,57,200,57,50,4,52,4,153,69,136,69,249,69,232,69,185,70,168,70,185,72,168,72,25,78,8,78,185,80,168,80,26,87,8,87,218,85,200,85,186,86,168,86,250,86,232,86,26,86,8,86,249,93,232,93,217,93,200,93,185,94,168,94,217,94,200,94,249,97,232,97,57,99,40,99,154,102,136,102,26,103,8,103,218,101,200,101,250,102,232,102,186,102,168,104,2,8,4,8,250,109,232,109,217,114,200,114,168,144,153,117,136,117,217,118,200,118,25,118,8,118,89,119,72,119,57,119,40,119,249,128,232,128,54,4,56,4,26,126,8,126,6,8,185,128,168,128,25,135,8,135,217,133,200,133,121,134,104,134,8,8,10,8,153,149,136,149,217,150,200,150,25,150,8,150,154,153,136,153,250,153,232,153,58,4,60,4,185,156,168,156,217,162,200,162,25,162,8,162,185,164,168,164,153,170,136,170,25,171,8,171,217,169,200,169,57,170,40,170,121,170,104,170,249,170,232,170,249,177,232,177,249,185,232,185,89,186,153,189,136,189,185,190,168,190,185,192,168,192,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,200,152,169,152,187,100,187,108,169,100,169,108,169,228,169,124,217,132,187,84,200,132,169,84,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,68,255,5,186,124,255,5,185,132,255,5,186,152,255,5,185,188,255,5,168,56,255,5,168,68,255,5,168,124,255,5,168,132,255,5,168,152,255,5,168,188,255,5,217,70,255,5,200,70,255,5,249,58,255,5,232,58,255,5,218,126,255,5,200,126,255,5,218,154,255,5,200,154,255,1,3,0,67,0,50,0,59,0,243,12,0,16,56,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,235,12,0,32,222,23,0,32,1,0,32,0,227,23,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,143,11,0,32,7,0,0,0,21,0,0,0,145,11,0,0,145,11,0,0,3,0,0,0,0,0,0,0,155,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,5,221,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,68,0,60,0,231,0,60,0,60,0,60,0,199,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,69,0,60,0,100,0,104,0,60,0,60,0,60,0,68,0,104,0,60,0,60,0,60,0,68,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,70,0,60,0,235,0,60,0,60,0,60,0,203,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,72,0,60,0,103,0,106,0,60,0,60,0,60,0,71,0,106,0,60,0,60,0,60,0,71,0,74,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,77,0,60,0,108,0,108,0,60,0,60,0,60,0,76,0,108,0,60,0,60,0,60,0,76,0,76,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,79,0,60,0,110,0,106,0,60,0,60,0,60,0,78,0,106,0,60,0,60,0,60,0,78,0,74,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,83,0,60,0,114,0,114,0,60,0,60,0,60,0,82,0,114,0,60,0,60,0,60,0,82,0,82,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,84,0,60,0,115,0,104,0,60,0,60,0,60,0,83,0,104,0,60,0,60,0,60,0,83,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,85,0,60,0,116,0,104,0,60,0,60,0,60,0,84,0,104,0,60,0,60,0,60,0,84,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,89,0,60,0,120,0,104,0,60,0,60,0,60,0,88,0,104,0,60,0,60,0,60,0,88,0,72,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,183,1,60,0,122,0,104,0,60,0,60,0,60,0,90,0,104,0,60,0,60,0,60,0,90,0,72,0,0,0,170,170,174,43,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,164,25,0,0,164,25,0,0,164,25,0,0,164,25,0,0,200,31,0,0,200,31,0,0,36,38,0,0,110,38,0,0,150,43,0,0,50,105,114,84,1,0,64,8,141,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,87,0,95,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,117,0,48,0,48,0,48,0,48,0,124,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,111,0,48,0,48,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,103,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,192,0,192,0,192,0,92,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,47,0,202,1,48,0,202,34,48,0,202,67,48,0,202,100,48,0,202,133,48,0,202,166,48,0,202,199,48,0,202,232,48,0,202,9,49,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,201,192,0,0,201,38,8,0,156,5,0,52,201,224,8,0,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,32,11,0,156,5,0,66,201,128,18,0,156,5,0,70,156,5,0,72,160,5,0,74,201,0,21,0,201,224,29,0,201,160,37,0,156,5,0,82,156,5,0,84,160,5,0,86,201,96,45,0,156,5,0,90,201,32,53,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,230,60,0,201,160,61,0,201,166,65,0,5,5,0,52,201,96,66,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,224,67,0,5,5,0,66,201,160,71,0,5,5,0,70,5,5,0,72,5,5,0,74,201,64,73,0,201,192,77,0,201,224,81,0,5,5,0,82,5,5,0,84,5,5,0,86,201,0,86,0,5,5,0,90,201,32,90,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,47,0,134,5,21,47,196,138,156,50,196,136,156,50,196,142,156,50,134,5,49,51,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,47,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,47,0,5,5,21,47,196,138,5,50,196,136,5,50,196,142,5,50,5,5,49,51,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,94,0,201,6,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,95,0,201,134,96,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,45,0,197,98,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,97,0,201,6,98,0,201,198,98,0,201,134,99,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,100,0,201,6,101,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,29,49,5,142,0,0,70,5,29,49,5,142,0,0,135,5,29,49,5,144,0,0,70,5,29,49,5,144,0,0,135,5,29,49,5,156,0,0,70,5,29,49,5,156,0,0,135,5,29,49,5,196,0,0,70,5,29,49,5,196,0,0,135,5,29,49,5,150,0,0,70,5,29,49,5,150,0,0,135,5,29,49,5,160,0,0,70,5,29,49,5,160,0,0,135,5,29,49,5,206,0,0,70,5,29,49,5,206,0,0,70,5,29,49,5,210,0,0,135,5,27,55,5,142,0,0,70,5,27,55,5,142,0,0,70,5,27,55,5,144,0,0,135,5,45,65,5,136,0,0,70,5,45,65,5,136,0,0,135,5,45,65,5,160,0,0,70,5,45,65,5,160,0,0,135,5,45,65,5,144,0,0,70,5,45,65,5,144,0,0,135,5,45,65,5,196,0,0,70,5,45,65,5,196,0,0,135,5,45,65,5,196,0,0,5,164,0,0,70,5,45,65,5,196,0,0,5,164,0,0,135,5,45,65,5,210,0,0,70,5,45,65,5,210,0,0,135,5,45,65,5,204,0,0,70,5,45,65,5,204,0,0,135,5,33,69,5,142,0,0,70,5,33,69,5,142,0,0,70,5,33,69,5,144,0,0,135,5,63,77,5,136,0,0,70,5,63,77,5,136,0,0,135,5,63,77,5,160,0,0,70,5,63,77,5,160,0,0,135,5,63,77,5,144,0,0,70,5,63,77,5,144,0,0,135,5,63,77,5,184,0,0,70,5,63,77,5,184,0,0,135,5,63,77,5,188,0,0,70,5,63,77,5,188,0,0,135,5,63,77,5,156,0,0,70,5,63,77,5,156,0,0,135,5,63,77,5,196,0,0,70,5,63,77,5,196,0,0,135,5,63,77,5,196,0,0,5,164,0,0,70,5,63,77,5,196,0,0,5,164,0,0,135,5,63,77,5,210,0,0,70,5,63,77,5,210,0,0,135,5,35,79,5,142,0,0,70,5,35,79,5,142,0,0,135,5,35,79,5,144,0,0,70,5,35,79,5,144,0,0,135,5,35,79,5,156,0,0,70,5,35,79,5,156,0,0,135,5,35,79,5,196,0,0,70,5,35,79,5,196,0,0,135,5,35,79,5,150,0,0,70,5,35,79,5,150,0,0,135,5,35,79,5,160,0,0,70,5,35,79,5,160,0,0,135,5,35,79,5,206,0,0,70,5,35,79,5,206,0,0,70,5,35,79,5,210,0,0,135,5,25,81,5,142,0,0,70,5,25,81,5,142,0,0,135,5,25,81,5,144,0,0,70,5,25,81,5,144,0,0,135,5,25,81,5,156,0,0,70,5,25,81,5,156,0,0,135,5,25,81,5,196,0,0,70,5,25,81,5,196,0,0,135,5,25,81,5,150,0,0,70,5,25,81,5,150,0,0,135,5,25,81,5,160,0,0,70,5,25,81,5,160,0,0,135,5,25,81,5,206,0,0,70,5,25,81,5,206,0,0,70,5,25,81,5,210,0,0,135,5,21,89,5,142,0,0,70,5,21,89,5,142,0,0,135,5,21,89,5,144,0,0,70,5,21,89,5,144,0,0,135,5,21,89,5,156,0,0,70,5,21,89,5,156,0,0,135,5,21,89,5,196,0,0,70,5,21,89,5,196,0,0,135,5,21,89,5,150,0,0,70,5,21,89,5,150,0,0,135,5,21,89,5,160,0,0,70,5,21,89,5,160,0,0,135,5,21,89,5,206,0,0,70,5,21,89,5,206,0,0,70,5,21,89,5,210,0,0,135,5,25,93,5,142,0,0,70,5,25,93,5,142,0,0,135,5,25,93,5,144,0,0,70,5,25,93,5,144,0,0,135,5,25,93,5,156,0,0,70,5,25,93,5,156,0,0,135,5,25,93,5,196,0,0,70,5,25,93,5,196,0,0,135,5,25,93,5,150,0,0,70,5,25,93,5,150,0,0,135,5,25,93,5,160,0,0,70,5,25,93,5,160,0,0,135,5,25,93,5,206,0,0,70,5,25,93,5,206,0,0,70,5,25,93,5,210,0,0,5,5,29,49,5,142,0,0,5,5,29,49,5,144,0,0,5,5,29,49,5,156,0,0,5,5,29,49,5,196,0,0,5,5,29,49,5,150,0,0,5,5,29,49,5,160,0,0,5,5,29,49,5,206,0,0,5,5,29,49,5,210,0,0,5,5,27,55,5,142,0,0,5,5,27,55,5,144,0,0,5,5,45,65,5,136,0,0,5,5,45,65,5,160,0,0,5,5,45,65,5,144,0,0,5,5,45,65,5,196,0,0,5,5,45,65,5,196,0,0,5,164,0,0,5,5,45,65,5,210,0,0,5,5,45,65,5,204,0,0,5,5,33,69,5,142,0,0,5,5,33,69,5,144,0,0,5,5,63,77,5,136,0,0,5,5,63,77,5,160,0,0,5,5,63,77,5,144,0,0,5,5,63,77,5,184,0,0,5,5,63,77,5,188,0,0,5,5,63,77,5,156,0,0,5,5,63,77,5,196,0,0,5,5,63,77,5,196,0,0,5,164,0,0,5,5,63,77,5,210,0,0,5,5,35,79,5,142,0,0,5,5,35,79,5,144,0,0,5,5,35,79,5,156,0,0,5,5,35,79,5,196,0,0,5,5,35,79,5,150,0,0,5,5,35,79,5,160,0,0,5,5,35,79,5,206,0,0,5,5,35,79,5,210,0,0,5,5,25,81,5,142,0,0,5,5,25,81,5,144,0,0,5,5,25,81,5,156,0,0,5,5,25,81,5,196,0,0,5,5,25,81,5,150,0,0,5,5,25,81,5,160,0,0,5,5,25,81,5,206,0,0,5,5,25,81,5,210,0,0,5,5,21,89,5,142,0,0,5,5,21,89,5,144,0,0,5,5,21,89,5,156,0,0,5,5,21,89,5,196,0,0,5,5,21,89,5,150,0,0,5,5,21,89,5,160,0,0,5,5,21,89,5,206,0,0,5,5,21,89,5,210,0,0,5,5,25,93,5,142,0,0,5,5,25,93,5,144,0,0,5,5,25,93,5,156,0,0,5,5,25,93,5,196,0,0,5,5,25,93,5,150,0,0,5,5,25,93,5,160,0,0,5,5,25,93,5,206,0,0,5,5,25,93,5,210,0,0,134,5,49,51,5,162,0,0,5,5,49,51,5,162,0,0,134,5,49,51,5,160,0,0,5,5,49,51,5,160,0,0,134,5,21,47,5,136,0,0,5,5,21,47,5,136,0,0,134,5,49,51,5,204,0,0,5,5,49,51,5,204,0,0,134,5,49,51,5,208,0,0,5,5,49,51,5,208,0,0,134,5,49,51,5,196,0,0,5,5,49,51,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,39,3,21,239,134,5,0,48,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,29,241,135,5,104,0,29,241,70,5,36,1,197,162,37,1,0,192,197,98,0,50,156,5,48,0,8,3,49,243,134,5,0,54,156,5,4,0,74,0,27,247,135,5,106,0,27,247,70,5,52,1,3,192,197,226,53,1,4,192,197,34,240,1,4,192,197,98,0,64,156,5,15,0,54,30,26,0,58,30,12,0,58,30,7,192,197,98,59,30,7,192,197,162,60,30,7,192,197,226,61,30,8,192,197,34,54,30,6,192,197,34,55,30,6,192,197,98,56,30,6,192,197,163,57,30,7,192,197,3,59,1,12,0,59,1,5,192,197,34,60,1,5,192,197,98,61,1,5,192,197,162,62,1,5,192,197,226,76,0,255,255,45,65,135,5,108,0,255,255,45,65,70,5,57,1,4,192,197,162,58,1,4,192,197,226,0,68,156,5,4,0,74,0,255,255,33,69,135,5,106,0,255,255,33,69,70,5,52,1,8,192,197,98,53,1,8,192,197,162,240,1,8,192,197,226,0,76,156,5,19,0,18,2,32,0,91,30,15,0,91,30,12,192,197,98,92,30,12,192,197,163,93,30,13,192,197,3,94,30,13,192,197,98,95,30,13,192,197,162,18,2,11,192,197,34,19,2,11,192,197,98,88,30,11,192,197,162,89,30,11,192,197,226,90,30,12,192,197,34,87,1,15,0,87,1,9,192,197,226,88,1,10,192,197,34,89,1,10,192,197,98,16,2,10,192,197,162,17,2,10,192,197,226,82,0,255,255,63,77,135,5,114,0,255,255,63,77,70,5,84,1,9,192,197,34,85,1,9,192,197,98,86,1,9,192,197,162,0,78,156,5,16,0,36,30,29,0,40,30,15,0,40,30,16,192,197,98,41,30,16,192,197,162,42,30,16,192,197,226,43,30,17,192,197,34,150,30,17,192,197,98,36,30,15,192,197,98,37,30,15,192,197,162,38,30,15,192,197,226,39,30,16,192,197,34,30,2,12,0,30,2,14,192,197,98,31,2,14,192,197,162,34,30,14,192,197,226,35,30,15,192,197,34,72,0,255,255,35,79,135,5,104,0,255,255,35,79,70,5,36,1,13,192,197,226,37,1,14,192,197,34,0,80,156,5,16,0,36,30,29,0,40,30,15,0,40,30,20,192,197,34,41,30,20,192,197,98,42,30,20,192,197,162,43,30,20,192,197,226,150,30,21,192,197,34,36,30,19,192,197,34,37,30,19,192,197,98,38,30,19,192,197,162,39,30,19,192,197,226,30,2,12,0,30,2,18,192,197,34,31,2,18,192,197,98,34,30,18,192,197,162,35,30,18,192,197,226,72,0,255,255,25,81,135,5,104,0,255,255,25,81,70,5,36,1,17,192,197,162,37,1,17,192,197,226,0,88,156,5,16,0,36,30,29,0,40,30,15,0,40,30,23,192,197,226,41,30,24,192,197,34,42,30,24,192,197,98,43,30,24,192,197,162,150,30,24,192,197,226,36,30,22,192,197,226,37,30,23,192,197,34,38,30,23,192,197,98,39,30,23,192,197,162,30,2,12,0,30,2,21,192,197,226,31,2,22,192,197,34,34,30,22,192,197,98,35,30,22,192,197,162,72,0,255,255,21,89,135,5,104,0,255,255,21,89,70,5,36,1,21,192,197,98,37,1,21,192,197,162,0,92,156,5,16,0,36,30,29,0,40,30,15,0,40,30,27,192,197,162,41,30,27,192,197,226,42,30,28,192,197,34,43,30,28,192,197,98,150,30,28,192,197,162,36,30,26,192,197,162,37,30,26,192,197,226,38,30,27,192,197,34,39,30,27,192,197,98,30,2,12,0,30,2,25,192,197,162,31,2,25,192,197,226,34,30,26,192,197,34,35,30,26,192,197,98,72,0,255,255,25,93,135,5,104,0,255,255,25,93,70,5,36,1,25,192,197,34,37,1,25,192,197,98,0,46,5,5,48,0,39,3,21,239,5,5,0,48,5,5,8,0,37,30,15,0,37,30,29,192,197,162,39,30,29,192,197,226,41,30,30,192,197,34,43,30,30,192,197,98,150,30,30,192,197,162,104,0,29,241,5,5,37,1,28,192,197,226,31,2,29,192,197,34,35,30,29,192,197,98,0,50,5,5,48,0,8,3,49,243,5,5,0,54,5,5,2,0,106,0,27,247,5,5,53,1,30,192,197,226,240,1,31,192,197,34,0,64,5,5,7,0,55,30,12,0,55,30,32,192,197,34,57,30,32,192,197,99,59,30,32,192,197,194,61,30,33,192,197,2,108,0,255,255,45,65,5,5,58,1,31,192,197,98,60,1,31,192,197,162,62,1,31,192,197,226,0,68,5,5,2,0,106,0,255,255,33,69,5,5,53,1,33,192,197,66,240,1,33,192,197,130,0,76,5,5,9,0,19,2,15,0,19,2,34,192,197,194,89,30,35,192,197,2,91,30,35,192,197,66,93,30,35,192,197,131,95,30,35,192,197,226,114,0,255,255,63,77,5,5,85,1,33,192,197,194,87,1,34,192,197,2,89,1,34,192,197,66,17,2,34,192,197,130,0,78,5,5,8,0,37,30,15,0,37,30,36,192,197,226,39,30,37,192,197,34,41,30,37,192,197,98,43,30,37,192,197,162,150,30,37,192,197,226,104,0,255,255,35,79,5,5,37,1,36,192,197,34,31,2,36,192,197,98,35,30,36,192,197,162,0,80,5,5,8,0,37,30,15,0,37,30,38,192,197,226,39,30,39,192,197,34,41,30,39,192,197,98,43,30,39,192,197,162,150,30,39,192,197,226,104,0,255,255,25,81,5,5,37,1,38,192,197,34,31,2,38,192,197,98,35,30,38,192,197,162,0,88,5,5,8,0,37,30,15,0,37,30,40,192,197,226,39,30,41,192,197,34,41,30,41,192,197,98,43,30,41,192,197,162,150,30,41,192,197,226,104,0,255,255,21,89,5,5,37,1,40,192,197,34,31,2,40,192,197,98,35,30,40,192,197,162,0,92,5,5,8,0,37,30,15,0,37,30,42,192,197,226,39,30,43,192,197,34,41,30,43,192,197,98,43,30,43,192,197,162,150,30,43,192,197,226,104,0,255,255,25,93,5,5,37,1,42,192,197,34,31,2,42,192,197,98,35,30,42,192,197,162,156,50,196,162,48,0,8,3,44,192,197,34,5,50,196,162,48,0,8,3,44,192,197,98,156,50,196,160,48,0,8,3,44,192,197,162,5,50,196,160,48,0,8,3,44,192,197,226,156,50,196,204,48,0,8,3,45,192,197,162,5,50,196,204,48,0,8,3,45,192,197,226,156,50,196,208,48,0,8,3,46,192,197,34,5,50,196,208,48,0,8,3,46,192,197,98,156,50,196,196,48,0,8,3,46,192,197,162,5,50,196,196,48,0,8,3,46,192,197,226,36,0,72,0,73,0,74,0,75,0,82,0,83,0,104,0,105,0,106,0,107,0,108,0,109,0,114,0,115,0,36,1,38,1,52,1,54,1,57,1,63,1,84,1,90,1,240,1,241,1,16,2,20,2,30,2,32,2,34,30,44,30,54,30,62,30,88,30,96,30,150,30,151,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,28,4,38,4,185,88,40,4,185,100,186,104,186,112,185,116,50,4,185,128,68,4,185,144,185,148,185,152,78,4,96,4,106,4,185,188,185,192,185,196,116,4,185,208,126,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,136,4,138,4,144,4,168,88,146,4,168,100,168,104,168,112,168,116,152,4,168,128,162,4,168,144,168,148,168,152,168,4,178,4,184,4,168,188,168,192,168,196,190,4,168,208,196,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,144,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,185,68,186,81,154,81,250,81,185,84,186,105,154,105,250,105,90,106,217,72,154,134,185,145,153,145,249,145,153,146,89,146,136,14,217,146,185,189,153,189,249,189,89,190,153,209,185,220,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,168,68,168,81,136,81,232,81,168,84,168,105,136,105,232,105,72,106,200,72,136,134,168,145,136,145,232,145,136,146,72,146,128,14,200,146,168,189,136,189,232,189,72,190,136,209,168,220,72,210,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,83,40,83,218,81,200,81,186,82,168,82,202,4,204,4,26,82,8,82,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,136,168,136,57,147,40,147,217,145,200,145,121,146,104,146,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,154,169,136,169,250,169,232,169,250,170,232,170,26,170,8,170,249,178,232,178,25,178,8,178,185,180,168,180,153,190,136,190,57,191,40,191,217,189,200,189,57,190,40,190,121,190,104,190,25,191,8,191,249,197,232,197,249,209,232,209,89,210,153,213,136,213,185,214,168,214,25,214,8,214,232,168,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,80,200,168,169,168,200,56,169,80,187,104,187,112,169,104,169,112,169,224,169,132,217,144,187,80,200,144,169,80,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,72,72,4,186,76,104,4,177,76,36,5,250,77,37,5,241,77,255,5,186,80,255,5,185,92,74,4,186,96,106,4,177,96,52,5,250,97,53,5,241,97,255,5,185,120,76,4,186,124,108,4,177,124,57,5,154,125,58,5,145,125,59,5,250,126,60,5,241,126,61,5,26,126,62,5,17,126,255,5,186,132,74,4,186,140,106,4,177,140,52,5,250,141,53,5,241,141,255,5,185,160,82,4,186,164,114,4,177,164,84,5,154,165,85,5,145,165,86,5,250,166,87,5,241,166,88,5,26,166,89,5,17,166,255,5,186,168,72,4,186,172,104,4,177,172,36,5,250,173,37,5,241,173,255,5,185,176,72,4,186,184,104,4,177,184,36,5,250,185,37,5,241,185,255,5,185,200,72,4,186,204,104,4,177,204,36,5,250,205,37,5,241,205,255,5,185,212,72,4,186,216,104,4,177,216,36,5,250,217,37,5,241,217,255,5,168,64,255,5,168,72,104,4,168,76,37,5,232,77,255,5,168,80,255,5,168,92,106,4,168,96,53,5,232,97,255,5,168,120,108,4,168,124,58,5,136,125,60,5,232,126,62,5,8,126,255,5,168,132,106,4,168,140,53,5,232,141,255,5,168,160,114,4,168,164,85,5,136,165,87,5,232,166,89,5,8,166,255,5,168,168,104,4,168,172,37,5,232,173,255,5,168,176,104,4,168,184,37,5,232,185,255,5,168,200,104,4,168,204,37,5,232,205,255,5,168,212,104,4,168,216,37,5,232,217,255,5,26,83,255,5,8,83,255,1,170,170,3,0,69,0,52,0,61,0,155,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,136,11,0,32,1,0,32,0,141,11,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,168,6,0,32,7,0,0,0,21,0,0,0,170,6,0,0,170,6,0,0,3,0,0,0,0,0,0,0,45,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,41,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,91,0,115,0,117,0,112,0,112,0,114,0,101,0,115,0,115,0,67,0,111,0,110,0,116,0,114,0,97,0,99,0,116,0,105,0,111,0,110,0,115,0,32,0,91,0,24,4,56,4,93,0,93,0,0,0,170,170,170,170,170,170,170,170,170,170,196,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,56,0,0,0,56,1,0,0,88,25,0,0,88,25,0,0,88,25,0,0,88,25,0,0,172,25,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,1,0,202,129,1,0,202,162,1,0,202,195,1,0,202,228,1,0,202,5,2,0,202,38,2,0,202,71,2,0,202,104,2,0,202,137,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,174,5,70,97,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,97,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,174,5,70,97,5,140,0,0,5,5,70,97,5,140,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,47,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,161,6,0,32,1,0,32,0,166,6,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,66,0,65,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,132,19,0,32,7,0,0,0,23,0,0,0,134,19,0,0,134,19,0,0,3,0,0,0,0,0,0,0,43,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,104,0,114,0,93,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,104,0,114,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,0,0,252,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,113,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,180,35,0,0,180,35,0,0,180,35,0,0,180,35,0,0,172,38,0,0,172,38,0,0,198,40,0,0,228,40,0,0,228,40,0,0,50,105,114,84,1,0,64,8,46,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,122,0,130,0,136,0,144,0,152,0,160,0,48,0,56,0,159,0,167,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,184,0,192,0,48,0,48,0,48,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,0,48,0,48,0,216,0,48,0,222,0,230,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,233,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,240,0,48,0,48,0,248,0,252,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,7,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,182,0,48,0,48,0,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,15,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,23,1,48,0,48,0,29,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,232,1,32,2,96,2,192,0,124,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,22,0,202,161,22,0,202,194,22,0,202,227,22,0,202,4,23,0,202,37,23,0,202,70,23,0,202,103,23,0,202,136,23,0,202,169,23,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,198,0,0,201,68,2,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,224,4,0,156,5,0,66,201,64,7,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,198,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,166,10,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,134,11,0,201,4,13,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,128,14,0,5,5,0,66,201,32,16,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,198,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,166,18,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,13,0,201,134,19,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,13,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,13,0,201,6,21,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,22,0,201,70,23,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,24,0,201,198,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,134,25,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,27,0,5,71,238,102,201,70,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,5,0,192,0,0,0,197,98,5,0,192,0,0,0,192,0,0,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,192,0,0,0,197,34,6,0,192,0,0,0,197,98,6,0,192,0,0,0,197,162,6,0,192,0,0,0,197,226,6,0,197,35,7,0,197,130,7,0,192,0,0,0,192,0,0,0,197,194,7,0,197,3,8,0,197,98,8,0,192,0,0,0,192,0,0,0,197,162,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,29,0,201,230,29,0,192,0,0,0,192,0,0,0,197,226,11,0,197,34,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,30,0,201,102,31,0,201,38,32,0,201,230,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,162,4,0,5,5,10,121,5,5,12,121,197,226,4,0,5,5,16,121,5,5,18,121,5,5,20,121,197,34,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,197,162,5,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,226,5,0,5,5,107,121,197,34,6,0,5,5,111,121,197,98,6,0,5,5,115,121,197,162,6,0,5,5,119,121,197,226,6,0,197,35,7,0,197,130,7,0,5,5,127,121,5,5,129,121,197,194,7,0,197,3,8,0,197,98,8,0,5,5,137,121,5,5,139,121,197,162,8,0,5,5,143,121,5,5,6,121,197,162,4,0,197,226,8,0,5,5,10,121,197,34,9,0,197,98,9,0,5,5,12,121,5,5,16,121,197,162,9,0,197,226,9,0,197,34,10,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,5,5,18,121,5,5,20,121,197,66,5,0,5,5,24,121,197,98,5,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,78,196,196,48,0,12,3,11,192,197,98,5,78,196,196,48,0,12,3,11,192,197,162,156,92,196,196,48,0,12,3,12,192,197,98,5,92,196,196,48,0,12,3,12,192,197,162,156,92,196,210,48,0,12,3,12,192,197,226,5,92,196,210,48,0,12,3,13,192,197,34,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,3,0,67,0,50,0,59,0,43,0,0,16,16,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,28,36,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,188,28,0,0,188,28,0,0,188,28,0,0,188,28,0,0,208,29,0,0,208,29,0,0,164,31,0,0,194,31,0,0,4,36,0,0,25,0,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,94,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,174,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,48,0,56,0,105,0,113,0,115,0,123,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,145,0,48,0,48,0,153,0,157,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,165,0,139,0,48,0,48,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,131,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,192,0,164,1,204,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,7,0,202,129,7,0,202,162,7,0,202,195,7,0,202,228,7,0,202,5,8,0,202,38,8,0,202,71,8,0,202,104,8,0,202,137,8,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,201,132,1,0,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,201,32,4,0,156,5,0,66,201,128,6,0,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,201,6,9,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,201,230,9,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,198,10,0,201,68,12,0,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,201,192,13,0,5,5,0,66,201,96,15,0,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,201,6,17,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,201,230,17,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,6,0,201,198,18,0,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,6,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,7,0,201,70,20,0,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,47,5,5,3,47,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,47,5,5,2,47,192,0,0,0,192,0,0,0,134,5,3,49,5,5,3,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,21,0,201,134,22,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,93,5,5,2,93,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,138,5,2,49,72,5,2,49,6,5,2,49,138,5,2,65,72,5,2,65,6,5,2,65,138,5,2,69,72,5,2,69,6,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,23,0,201,6,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,2,0,197,34,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,24,0,201,134,25,0,192,0,0,0,192,0,0,0,197,34,5,0,197,98,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,26,0,201,6,27,0,201,198,27,0,201,134,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,137,5,2,65,5,142,0,0,71,5,2,65,5,142,0,0,71,5,2,65,5,144,0,0,137,5,2,69,5,142,0,0,71,5,2,69,5,142,0,0,71,5,2,69,5,144,0,0,5,5,2,65,5,142,0,0,5,5,2,65,5,144,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,144,0,0,134,5,3,47,5,160,0,0,134,5,2,47,5,160,0,0,5,5,3,47,5,160,0,0,5,5,2,47,5,160,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,79,5,202,0,0,5,5,2,79,5,202,0,0,134,5,2,79,5,196,0,0,5,5,2,79,5,196,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,93,5,196,0,0,5,5,2,93,5,196,0,0,134,5,2,93,5,210,0,0,5,5,2,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,2,0,1,3,3,239,134,5,12,3,2,239,134,5,65,3,3,239,134,5,0,48,156,5,3,0,90,0,8,0,122,0,10,0,125,1,2,241,137,5,126,1,2,241,71,5,48,0,12,3,2,241,137,5,48,0,12,3,2,241,71,5,0,64,156,5,4,0,74,0,255,255,2,65,137,5,106,0,255,255,2,65,71,5,52,1,197,162,53,1,0,192,197,98,240,1,0,192,197,162,0,68,156,5,4,0,74,0,255,255,2,69,137,5,106,0,255,255,2,69,71,5,52,1,0,192,197,226,53,1,1,192,197,34,240,1,1,192,197,98,0,78,156,5,48,0,12,3,255,255,2,79,134,5,0,92,156,5,48,0,12,3,255,255,2,93,134,5,0,46,5,5,2,0,1,3,3,239,5,5,12,3,2,239,5,5,65,3,3,239,5,5,0,48,5,5,1,0,122,0,3,0,126,1,2,241,5,5,48,0,12,3,2,241,5,5,0,64,5,5,2,0,106,0,255,255,2,65,5,5,53,1,1,192,197,162,240,1,1,192,197,226,0,68,5,5,2,0,106,0,255,255,2,69,5,5,53,1,2,192,197,34,240,1,2,192,197,98,0,78,5,5,48,0,12,3,255,255,2,79,5,5,0,92,5,5,48,0,12,3,255,255,2,93,5,5,156,46,196,160,2,0,1,3,2,192,197,162,12,3,2,192,197,226,65,3,2,192,197,162,5,46,196,160,2,0,1,3,3,192,197,34,12,3,3,192,197,98,65,3,3,192,197,34,156,78,196,160,48,0,12,3,3,192,197,162,5,78,196,160,48,0,12,3,3,192,197,226,156,78,196,202,48,0,12,3,4,192,197,34,5,78,196,202,48,0,12,3,4,192,197,98,156,78,196,196,48,0,12,3,4,192,197,162,5,78,196,196,48,0,12,3,4,192,197,226,156,92,196,196,48,0,12,3,5,192,197,162,5,92,196,196,48,0,12,3,5,192,197,226,156,92,196,210,48,0,12,3,6,192,197,34,5,92,196,210,48,0,12,3,6,192,197,98,14,0,74,0,75,0,90,0,91,0,106,0,107,0,122,0,123,0,52,1,54,1,125,1,127,1,240,1,241,1,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,28,4,186,88,185,92,185,96,185,100,186,104,186,112,185,116,36,4,185,128,46,4,185,144,185,148,185,152,185,160,56,4,185,172,185,180,185,184,185,188,185,192,185,196,58,4,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,60,4,62,4,168,88,168,92,168,96,168,100,168,104,168,112,168,116,67,4,168,128,73,4,168,144,168,148,168,152,168,160,79,4,168,172,168,180,168,184,168,188,168,192,168,196,81,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,144,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,83,4,186,89,154,89,250,89,90,90,186,105,154,105,250,105,90,106,217,76,154,134,185,145,153,145,249,145,153,146,89,146,136,14,217,146,185,181,153,181,249,181,89,182,153,197,185,208,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,85,4,168,89,136,89,232,89,72,90,168,105,136,105,232,105,72,106,200,76,136,134,168,145,136,145,232,145,136,146,72,146,128,14,200,146,168,181,136,181,232,181,72,182,136,197,168,208,72,198,57,59,40,59,217,57,200,57,25,59,8,59,185,72,168,72,249,65,232,65,185,66,168,66,185,68,168,68,25,78,8,78,185,84,168,84,58,91,40,91,218,89,200,89,186,90,168,90,26,91,8,91,26,90,8,90,249,97,232,97,217,97,200,97,185,98,168,98,249,98,232,98,249,101,232,101,89,103,72,103,154,106,136,106,58,107,40,107,218,105,200,105,26,107,8,107,186,106,168,108,6,8,8,8,250,113,232,113,249,118,232,118,168,156,153,121,136,121,249,122,232,122,25,122,8,122,121,123,104,123,89,123,72,123,154,133,136,133,250,134,232,134,26,134,8,134,10,8,185,140,168,140,57,147,40,147,217,145,200,145,121,146,104,146,12,8,14,8,153,161,136,161,249,162,232,162,25,162,8,162,154,165,136,165,250,165,232,165,87,4,89,4,185,168,168,168,249,174,232,174,25,174,8,174,185,176,168,176,153,182,136,182,57,183,40,183,217,181,200,181,57,182,40,182,121,182,104,182,25,183,8,183,249,189,232,189,249,197,232,197,89,198,153,201,136,201,185,202,168,202,185,204,168,204,232,164,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,88,200,164,169,164,200,56,169,88,187,104,187,112,169,104,169,112,169,212,169,132,217,144,187,88,200,144,169,88,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,76,90,2,122,2,125,5,186,80,126,5,177,80,255,5,185,120,74,4,186,124,106,4,177,124,52,5,250,125,53,5,241,125,255,5,186,132,74,4,186,136,106,4,177,136,52,5,250,137,53,5,241,137,255,5,186,164,255,5,185,200,255,5,168,64,255,5,168,76,122,2,126,5,168,80,255,5,168,120,106,4,168,124,53,5,232,125,255,5,168,132,106,4,168,136,53,5,232,137,255,5,168,164,255,5,168,200,255,5,249,66,255,5,232,66,255,5,250,166,255,5,232,166,255,1,3,0,67,0,50,0,59,0,115,10,0,16,4,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,107,10,0,32,123,19,0,32,1,0,32,0,128,19,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,77,0,69,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,83,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,133,34,0,32,7,0,0,0,28,0,0,0,135,34,0,0,135,34,0,0,4,0,0,0,0,0,0,0,195,0,0,0,99,111,108,108,97,116,105,111,110,115,0,100,101,102,97,117,108,116,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,116,114,97,100,105,116,105,111,110,97,108,0,170,0,0,52,0,50,0,0,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,115,0,118,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,126,220,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,116,0,60,0,60,0,60,0,254,0,47,0,104,0,38,0,84,0,60,0,60,0,60,0,222,0,47,0,72,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,101,0,40,3,60,0,60,0,60,0,69,0,40,3,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,60,0,244,0,60,0,60,0,60,0,212,0,0,0,139,220,38,0,68,0,60,0,60,0,17,1,60,0,60,0,60,0,16,1,60,0,60,0,240,0,60,0,60,0,60,0,208,0,38,0,116,0,60,0,60,0,60,0,254,0,47,0,104,0,38,0,84,0,60,0,60,0,60,0,222,0,47,0,72,0,38,0,118,0,60,0,60,0,60,0,86,0,60,0,60,0,119,0,60,0,60,0,60,0,87,0,38,0,89,0,60,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,60,0,60,0,117,0,11,3,60,0,60,0,60,0,85,0,11,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,192,1,60,0,229,0,60,0,60,0,60,0,197,0,60,0,228,0,60,0,60,0,60,0,196,0,60,0,60,0,230,0,60,0,60,0,60,0,198,0,60,0,60,0,101,0,40,3,60,0,60,0,60,0,69,0,40,3,60,0,246,0,60,0,60,0,60,0,214,0,60,0,60,0,248,0,60,0,60,0,60,0,216,0,60,0,60,0,81,1,60,0,60,0,60,0,80,1,60,0,60,0,83,1,60,0,60,0,60,0,82,1,60,0,60,0,244,0,60,0,60,0,60,0,212,0,0,0,170,170,214,48,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,176,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,100,38,0,0,100,38,0,0,180,41,0,0,180,41,0,0,168,45,0,0,168,45,0,0,186,48,0,0,186,48,0,0,186,48,0,0,50,105,114,84,1,0,64,8,89,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,145,0,153,0,159,0,167,0,175,0,183,0,48,0,56,0,182,0,190,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,0,215,0,48,0,48,0,48,0,223,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,231,0,48,0,48,0,239,0,48,0,245,0,253,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,0,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,8,1,48,0,48,0,12,1,48,0,20,1,25,1,33,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,39,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,47,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,198,0,205,0,48,0,48,0,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,58,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,66,1,48,0,48,0,72,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,68,2,124,2,188,2,192,0,216,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,30,0,202,129,30,0,202,162,30,0,202,195,30,0,202,228,30,0,202,5,31,0,202,38,31,0,202,71,31,0,202,104,31,0,202,137,31,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,201,198,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,166,1,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,102,2,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,230,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,134,5,0,5,5,0,44,5,5,0,46,5,5,0,48,201,230,6,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,7,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,70,9,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,33,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,198,97,0,0,196,154,156,70,198,129,0,0,5,5,127,12,198,65,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,194,21,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,97,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,198,225,0,0,196,154,5,70,193,4,111,93,5,5,125,12,198,129,1,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,11,0,201,38,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,0,0,198,1,1,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,70,13,0,201,102,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,15,0,201,6,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,18,0,201,166,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,0,197,34,4,0,197,34,0,0,197,98,0,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,192,0,0,0,198,162,3,0,197,98,5,0,192,0,0,0,192,0,0,0,198,226,3,0,198,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,20,0,201,70,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,5,0,197,226,5,0,198,226,5,0,198,34,6,0,198,98,6,0,198,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,6,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,23,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,25,0,5,71,238,102,201,134,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,6,0,192,0,0,0,192,0,0,0,197,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,197,34,7,0,192,0,0,0,192,0,0,0,197,98,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,0,192,0,0,0,197,226,7,0,192,0,0,0,197,34,8,0,192,0,0,0,197,98,8,0,192,0,0,0,197,162,8,0,197,227,8,0,197,66,9,0,192,0,0,0,192,0,0,0,197,130,9,0,197,195,9,0,197,34,10,0,192,0,0,0,192,0,0,0,197,98,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,98,6,0,197,162,10,0,5,5,10,121,197,226,10,0,197,34,11,0,5,5,12,121,5,5,16,121,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,5,5,18,121,5,5,20,121,197,2,7,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,27,0,201,134,28,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,29,0,201,198,30,0,201,230,31,0,201,6,33,0,201,38,34,0,201,70,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,36,0,201,134,37,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,38,0,201,38,40,0,192,0,0,0,192,0,0,0,198,98,9,0,198,162,9,0,198,226,9,0,198,34,10,0,198,98,10,0,198,162,10,0,198,226,10,0,198,34,11,0,198,34,8,0,198,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,41,0,201,38,43,0,201,166,44,0,201,198,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,46,0,201,6,48,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,71,0,3,111,93,0,134,0,73,0,4,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,4,111,93,0,5,0,71,0,3,111,93,0,5,0,73,0,4,111,93,0,5,0,71,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,72,0,4,111,93,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,193,4,111,93,5,162,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,6,121,197,98,6,0,5,5,10,121,5,5,12,121,197,162,6,0,5,5,16,121,5,5,18,121,5,5,20,121,197,226,6,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,197,98,7,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,162,7,0,5,5,107,121,197,226,7,0,5,5,111,121,197,34,8,0,5,5,115,121,197,98,8,0,5,5,119,121,197,162,8,0,197,227,8,0,197,66,9,0,5,5,127,121,5,5,129,121,197,130,9,0,197,195,9,0,197,34,10,0,5,5,137,121,5,5,139,121,197,98,10,0,5,5,143,121,5,5,6,121,197,98,6,0,197,162,10,0,5,5,10,121,197,226,10,0,197,34,11,0,5,5,12,121,5,5,16,121,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,197,226,12,0,5,5,18,121,5,5,20,121,197,2,7,0,5,5,24,121,197,34,7,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,50,156,5,48,0,40,3,0,192,198,65,0,70,156,5,2,0,2,3,0,192,198,97,8,3,0,192,198,129,11,3,0,192,198,161,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,50,5,5,48,0,40,3,0,192,198,193,0,70,5,5,2,0,2,3,0,192,198,225,8,3,255,255,111,93,193,4,11,3,1,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,162,10,3,1,192,198,226,5,42,196,162,1,0,8,3,1,192,197,34,10,3,1,192,197,98,156,82,196,162,1,0,8,3,1,192,197,162,11,3,1,192,197,226,5,82,196,162,1,0,8,3,2,192,197,34,11,3,2,192,197,98,156,70,196,190,2,0,2,3,2,192,198,98,8,3,2,192,198,162,11,3,2,192,198,226,5,70,196,190,2,0,2,3,3,192,198,34,8,3,2,192,197,162,11,3,3,192,198,98,156,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,5,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,156,70,196,162,2,0,2,3,4,192,198,98,8,3,4,192,198,162,11,3,4,192,198,226,5,70,196,162,2,0,2,3,5,192,198,34,8,3,5,192,197,162,11,3,5,192,198,98,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,156,42,196,200,1,0,8,3,7,192,198,34,10,3,7,192,198,98,5,42,196,200,1,0,8,3,13,192,197,34,10,3,13,192,197,98,156,82,196,198,1,0,8,3,13,192,197,162,11,3,13,192,197,226,5,82,196,198,1,0,8,3,14,192,197,34,11,3,14,192,197,98,156,82,196,208,1,0,8,3,14,192,197,162,11,3,14,192,197,226,5,82,196,208,1,0,8,3,15,192,197,34,11,3,15,192,197,98,156,82,196,204,1,0,8,3,15,192,197,162,11,3,15,192,197,226,5,82,196,204,1,0,8,3,16,192,197,34,11,3,16,192,197,98,156,42,196,196,1,0,8,3,7,192,198,162,10,3,7,192,198,226,5,42,196,196,1,0,8,3,16,192,197,162,10,3,16,192,197,226,156,70,196,196,2,0,2,3,8,192,198,34,8,3,8,192,198,98,11,3,8,192,198,162,5,70,196,196,2,0,2,3,8,192,198,226,8,3,17,192,197,34,11,3,9,192,198,34,17,0,197,99,2,0,2,3,11,192,198,99,8,3,11,192,198,195,11,3,12,192,198,35,17,0,197,195,2,0,2,3,12,192,198,131,8,3,18,192,197,35,11,3,12,192,198,227,156,82,196,196,1,0,8,3,18,192,197,130,11,3,18,192,197,194,5,82,196,196,1,0,8,3,19,192,197,2,11,3,19,192,197,66,19,0,197,131,1,0,8,3,19,192,197,227,11,3,20,192,197,67,20,0,197,163,1,0,8,3,21,192,197,3,11,3,21,192,197,99,170,170,3,0,75,0,58,0,67,0,195,0,0,16,13,0,0,96,1,0,0,96,100,42,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,52,30,0,0,52,30,0,0,132,33,0,0,132,33,0,0,148,35,0,0,148,35,0,0,96,38,0,0,96,38,0,0,72,42,0,0,50,105,114,84,1,0,64,8,214,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,105,0,113,0,118,0,126,0,134,0,142,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,170,0,48,0,178,0,183,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,197,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,205,0,158,0,48,0,48,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,150,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,164,1,216,1,24,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,15,0,202,97,15,0,202,130,15,0,202,163,15,0,202,196,15,0,202,229,15,0,202,6,16,0,202,39,16,0,202,72,16,0,202,105,16,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,230,0,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,1,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,38,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,4,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,6,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,230,6,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,134,8,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,33,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,198,97,0,0,196,154,156,70,198,129,0,0,5,5,127,12,198,65,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,2,15,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,97,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,198,225,0,0,196,154,5,70,193,4,111,93,5,5,125,12,198,129,1,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,10,0,201,102,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,0,0,198,1,1,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,134,12,0,201,166,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,14,0,201,70,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,17,0,201,230,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,3,0,197,34,4,0,197,34,0,0,197,98,0,0,197,98,4,0,197,162,4,0,197,226,4,0,197,34,5,0,192,0,0,0,198,162,3,0,197,98,5,0,192,0,0,0,192,0,0,0,198,226,3,0,198,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,20,0,201,134,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,5,0,197,226,5,0,198,226,5,0,198,34,6,0,198,98,6,0,198,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,6,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,38,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,25,0,201,102,26,0,201,134,27,0,201,166,28,0,201,198,29,0,201,230,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,32,0,201,38,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,34,0,201,198,35,0,192,0,0,0,192,0,0,0,198,98,9,0,198,162,9,0,198,226,9,0,198,34,10,0,198,98,10,0,198,162,10,0,198,226,10,0,198,34,11,0,198,34,8,0,198,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,37,0,201,198,38,0,201,70,40,0,201,102,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,42,0,201,166,43,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,71,0,3,111,93,0,134,0,73,0,4,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,4,111,93,0,5,0,71,0,3,111,93,0,5,0,73,0,4,111,93,0,5,0,71,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,72,0,4,111,93,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,193,4,111,93,5,162,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,50,156,5,48,0,40,3,0,192,198,65,0,70,156,5,2,0,2,3,0,192,198,97,8,3,0,192,198,129,11,3,0,192,198,161,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,50,5,5,48,0,40,3,0,192,198,193,0,70,5,5,2,0,2,3,0,192,198,225,8,3,255,255,111,93,193,4,11,3,1,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,162,10,3,1,192,198,226,5,42,196,162,1,0,8,3,1,192,197,34,10,3,1,192,197,98,156,82,196,162,1,0,8,3,1,192,197,162,11,3,1,192,197,226,5,82,196,162,1,0,8,3,2,192,197,34,11,3,2,192,197,98,156,70,196,190,2,0,2,3,2,192,198,98,8,3,2,192,198,162,11,3,2,192,198,226,5,70,196,190,2,0,2,3,3,192,198,34,8,3,2,192,197,162,11,3,3,192,198,98,156,82,196,190,1,0,8,3,2,192,197,226,11,3,3,192,197,34,5,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,156,70,196,162,2,0,2,3,4,192,198,98,8,3,4,192,198,162,11,3,4,192,198,226,5,70,196,162,2,0,2,3,5,192,198,34,8,3,5,192,197,162,11,3,5,192,198,98,156,42,196,200,1,0,8,3,7,192,198,34,10,3,7,192,198,98,5,42,196,200,1,0,8,3,6,192,197,98,10,3,6,192,197,162,156,82,196,198,1,0,8,3,6,192,197,226,11,3,7,192,197,34,5,82,196,198,1,0,8,3,7,192,197,98,11,3,7,192,197,162,156,82,196,208,1,0,8,3,7,192,197,226,11,3,8,192,197,34,5,82,196,208,1,0,8,3,8,192,197,98,11,3,8,192,197,162,156,82,196,204,1,0,8,3,8,192,197,226,11,3,9,192,197,34,5,82,196,204,1,0,8,3,9,192,197,98,11,3,9,192,197,162,156,42,196,196,1,0,8,3,7,192,198,162,10,3,7,192,198,226,5,42,196,196,1,0,8,3,9,192,197,226,10,3,10,192,197,34,156,70,196,196,2,0,2,3,8,192,198,34,8,3,8,192,198,98,11,3,8,192,198,162,5,70,196,196,2,0,2,3,8,192,198,226,8,3,10,192,197,98,11,3,9,192,198,34,10,0,197,163,2,0,2,3,11,192,198,99,8,3,11,192,198,195,11,3,12,192,198,35,11,0,197,3,2,0,2,3,12,192,198,131,8,3,11,192,197,99,11,3,12,192,198,227,156,82,196,196,1,0,8,3,11,192,197,194,11,3,12,192,197,2,5,82,196,196,1,0,8,3,12,192,197,66,11,3,12,192,197,130,12,0,197,195,1,0,8,3,13,192,197,35,11,3,13,192,197,131,13,0,197,227,1,0,8,3,14,192,197,67,11,3,14,192,197,163,5,2,64,12,32,14,192,14,232,14,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,22,4,185,60,185,64,185,68,24,4,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,26,4,185,124,185,128,185,136,186,140,186,144,28,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,30,4,168,60,168,64,168,68,32,4,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,34,4,168,124,168,128,168,136,168,140,168,144,36,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,185,184,185,180,217,184,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,57,189,121,122,185,188,136,14,217,188,185,153,153,153,249,153,217,168,153,169,0,8,2,8,168,57,136,57,232,57,104,58,168,184,168,180,200,184,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,40,189,104,122,168,188,128,14,200,188,168,153,136,153,232,153,200,168,136,169,4,8,72,170,249,58,232,58,217,57,200,57,38,4,40,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,249,184,232,184,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,132,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,188,232,188,25,189,8,189,153,137,136,137,185,138,168,138,25,138,8,138,154,141,136,141,250,141,232,141,186,142,168,142,26,142,8,142,186,146,168,146,26,146,8,146,185,148,168,148,121,154,104,154,249,154,232,154,217,153,200,153,57,154,40,154,249,168,232,168,42,4,44,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,153,174,136,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,12,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,14,8,1,0,8,14,16,8,1,0,16,14,0,13,8,13,24,14,18,8,200,12,72,12,32,14,187,144,185,84,200,140,169,140,169,144,168,84,187,88,187,96,169,88,169,96,169,176,169,112,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,72,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,120,255,5,168,152,255,5,217,58,255,5,200,58,255,5,217,154,255,5,200,154,255,1,3,0,75,0,58,0,67,0,255,12,0,16,64,0,0,96,1,0,0,96,170,170,170,170,100,43,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,196,30,0,0,196,30,0,0,20,34,0,0,20,34,0,0,140,36,0,0,140,36,0,0,88,39,0,0,88,39,0,0,72,43,0,0,50,105,114,84,1,0,64,8,223,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,92,0,100,0,106,0,114,0,119,0,127,0,135,0,143,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,167,0,48,0,48,0,171,0,179,0,187,0,192,0,200,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,206,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,214,0,159,0,48,0,48,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,112,1,168,1,220,1,28,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,18,0,202,161,18,0,202,194,18,0,202,227,18,0,202,4,19,0,202,37,19,0,202,70,19,0,202,103,19,0,202,136,19,0,202,169,19,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,230,0,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,166,1,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,38,3,0,134,5,0,84,134,70,0,84,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,198,4,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,6,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,230,6,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,134,8,0,5,5,0,84,5,70,0,84,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,198,1,0,0,198,33,0,0,198,33,1,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,134,71,0,48,196,154,156,68,196,138,156,70,196,136,156,70,198,97,0,0,196,154,156,70,198,129,0,0,5,5,127,12,198,65,1,0,196,138,156,82,196,136,156,82,196,142,156,82,134,70,0,90,196,136,156,90,197,162,0,0,197,66,18,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,193,3,111,93,193,2,111,93,198,97,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,71,0,48,196,154,5,68,196,138,5,70,196,136,5,70,198,225,0,0,196,154,5,70,193,4,111,93,5,5,125,12,198,129,1,0,196,138,5,82,196,136,5,82,196,142,5,82,5,70,0,90,196,136,5,90,197,226,0,0,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,10,0,201,102,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,70,0,48,5,70,0,48,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,65,0,0,198,193,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,161,0,0,198,1,1,0,198,33,2,0,198,65,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,90,5,71,0,90,201,134,12,0,201,166,13,0,197,162,2,0,197,226,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,14,0,201,70,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,17,0,201,230,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,4,0,197,162,4,0,197,34,0,0,197,98,0,0,197,226,4,0,197,34,5,0,197,98,5,0,197,162,5,0,192,0,0,0,198,162,3,0,197,226,5,0,192,0,0,0,192,0,0,0,198,226,3,0,198,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,20,0,201,134,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,162,5,0,197,98,6,0,198,226,5,0,198,34,6,0,198,98,6,0,198,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,226,6,0,197,162,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,38,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,25,0,201,102,26,0,201,134,27,0,201,166,28,0,201,198,29,0,201,230,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,154,134,84,192,0,0,0,196,196,134,84,192,0,0,0,197,98,10,0,197,162,10,0,197,226,10,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,197,34,12,0,197,98,12,0,197,162,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,32,0,201,38,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,34,0,201,198,35,0,192,0,0,0,192,0,0,0,198,98,9,0,198,162,9,0,198,226,9,0,198,34,10,0,198,98,10,0,198,162,10,0,198,226,10,0,198,34,11,0,198,34,8,0,198,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,37,0,201,198,38,0,201,70,40,0,201,102,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,42,0,201,166,43,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,0,5,0,3,111,93,0,134,0,5,0,2,111,93,0,134,0,71,0,3,111,93,0,134,0,73,0,4,111,93,0,134,0,5,0,4,111,93,0,134,0,71,0,4,111,93,0,5,0,71,0,3,111,93,0,5,0,73,0,4,111,93,0,5,0,71,0,4,111,93,0,134,0,70,0,3,111,93,0,134,0,70,0,4,111,93,0,5,0,70,0,3,111,93,0,5,0,70,0,4,111,93,0,134,0,5,0,3,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,162,0,0,0,0,0,134,0,72,0,4,111,93,0,5,0,72,0,4,111,93,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,164,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,162,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,162,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,3,111,93,0,5,0,136,0,0,0,0,0,134,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,70,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,164,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,200,0,0,0,0,0,134,0,5,0,3,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,2,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,196,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,136,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,138,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,182,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,154,0,0,0,0,0,134,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,5,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,73,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,71,0,4,111,93,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,70,0,90,5,136,0,0,5,70,0,90,5,136,0,0,157,5,0,80,156,5,0,56,6,5,0,80,5,5,0,56,193,3,111,93,5,162,0,0,193,2,111,93,5,162,0,0,134,70,0,90,5,162,0,0,134,71,0,90,5,162,0,0,5,70,0,90,5,162,0,0,5,71,0,90,5,162,0,0,134,70,0,84,5,142,0,0,5,70,0,84,5,142,0,0,193,4,111,93,5,190,0,0,134,70,0,90,5,190,0,0,134,71,0,90,5,190,0,0,5,70,0,90,5,190,0,0,5,71,0,90,5,190,0,0,134,70,0,90,5,164,0,0,5,70,0,90,5,164,0,0,134,70,0,90,5,144,0,0,5,70,0,90,5,144,0,0,134,70,0,90,5,138,0,0,5,70,0,90,5,138,0,0,193,3,111,93,5,164,0,0,193,4,111,93,5,162,0,0,193,2,111,93,5,136,0,0,193,4,111,93,5,164,0,0,193,3,111,93,5,200,0,0,193,2,111,93,5,200,0,0,134,70,0,90,5,198,0,0,134,71,0,90,5,198,0,0,5,70,0,90,5,198,0,0,5,71,0,90,5,198,0,0,134,70,0,90,5,208,0,0,134,71,0,90,5,208,0,0,5,70,0,90,5,208,0,0,5,71,0,90,5,208,0,0,134,70,0,90,5,204,0,0,134,71,0,90,5,204,0,0,5,70,0,90,5,204,0,0,5,71,0,90,5,204,0,0,134,70,0,84,5,138,0,0,5,70,0,84,5,138,0,0,134,70,0,84,5,136,0,0,5,70,0,84,5,136,0,0,134,70,0,84,5,150,0,0,5,70,0,84,5,150,0,0,134,70,0,84,5,156,0,0,5,70,0,84,5,156,0,0,134,70,0,84,5,196,0,0,5,70,0,84,5,196,0,0,5,70,0,84,5,146,0,0,193,3,111,93,5,196,0,0,193,2,111,93,5,196,0,0,193,4,111,93,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,193,4,111,93,5,190,0,0,5,196,0,0,134,70,0,90,5,196,0,0,134,71,0,90,5,196,0,0,5,70,0,90,5,196,0,0,5,71,0,90,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,90,5,190,0,0,5,196,0,0,134,71,0,90,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,90,5,190,0,0,5,196,0,0,5,71,0,90,5,190,0,0,5,196,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,8,3,198,129,10,3,198,161,0,50,156,5,48,0,40,3,0,192,198,65,0,70,156,5,2,0,2,3,0,192,198,97,8,3,0,192,198,129,11,3,0,192,198,161,0,82,156,5,2,0,8,3,255,255,0,90,134,70,11,3,255,255,0,90,134,71,68,3,197,162,0,42,5,5,1,0,8,3,255,255,111,93,193,3,10,3,255,255,111,93,193,2,0,50,5,5,48,0,40,3,0,192,198,193,0,70,5,5,2,0,2,3,0,192,198,225,8,3,255,255,111,93,193,4,11,3,1,192,198,1,0,82,5,5,2,0,8,3,255,255,0,90,5,70,11,3,255,255,0,90,5,71,68,3,0,192,197,98,156,42,196,162,1,0,8,3,1,192,198,162,10,3,1,192,198,226,5,42,196,162,1,0,8,3,1,192,197,34,10,3,1,192,197,98,156,82,196,162,1,0,8,3,1,192,197,162,11,3,1,192,197,226,5,82,196,162,1,0,8,3,2,192,197,34,11,3,2,192,197,98,156,70,196,190,2,0,2,3,2,192,198,98,8,3,2,192,198,162,11,3,2,192,198,226,5,70,196,190,2,0,2,3,3,192,198,34,8,3,3,192,197,34,11,3,3,192,198,98,156,82,196,190,1,0,8,3,3,192,197,98,11,3,3,192,197,162,5,82,196,190,1,0,8,3,3,192,197,226,11,3,4,192,197,34,156,70,196,162,2,0,2,3,4,192,198,98,8,3,4,192,198,162,11,3,4,192,198,226,5,70,196,162,2,0,2,3,5,192,198,34,8,3,6,192,197,34,11,3,5,192,198,98,156,42,196,200,1,0,8,3,7,192,198,34,10,3,7,192,198,98,5,42,196,200,1,0,8,3,6,192,197,226,10,3,7,192,197,34,156,82,196,198,1,0,8,3,7,192,197,98,11,3,7,192,197,162,5,82,196,198,1,0,8,3,7,192,197,226,11,3,8,192,197,34,156,82,196,208,1,0,8,3,8,192,197,98,11,3,8,192,197,162,5,82,196,208,1,0,8,3,8,192,197,226,11,3,9,192,197,34,156,82,196,204,1,0,8,3,9,192,197,98,11,3,9,192,197,162,5,82,196,204,1,0,8,3,9,192,197,226,11,3,10,192,197,34,156,42,196,196,1,0,8,3,7,192,198,162,10,3,7,192,198,226,5,42,196,196,1,0,8,3,13,192,197,34,10,3,13,192,197,98,156,70,196,196,2,0,2,3,8,192,198,34,8,3,8,192,198,98,11,3,8,192,198,162,5,70,196,196,2,0,2,3,8,192,198,226,8,3,13,192,197,162,11,3,9,192,198,34,13,0,197,227,2,0,2,3,11,192,198,99,8,3,11,192,198,195,11,3,12,192,198,35,14,0,197,67,2,0,2,3,12,192,198,131,8,3,14,192,197,163,11,3,12,192,198,227,156,82,196,196,1,0,8,3,15,192,197,2,11,3,15,192,197,66,5,82,196,196,1,0,8,3,15,192,197,130,11,3,15,192,197,194,16,0,197,3,1,0,8,3,16,192,197,99,11,3,16,192,197,195,17,0,197,35,1,0,8,3,17,192,197,131,11,3,17,192,197,227,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,30,4,185,124,185,128,185,136,186,140,186,144,32,4,185,156,217,156,185,160,185,164,185,168,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,60,168,64,168,68,36,4,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,38,4,168,124,168,128,168,136,168,140,168,144,40,4,168,156,200,156,168,160,168,164,168,168,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,121,58,185,180,185,176,217,180,185,66,185,73,153,73,249,73,89,74,186,89,154,89,250,89,90,90,249,68,122,114,185,121,153,121,57,185,121,122,185,184,136,14,217,184,185,153,153,153,249,153,217,164,153,165,0,8,2,8,168,57,136,57,232,57,104,58,168,180,168,176,200,180,168,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,232,68,104,114,168,121,136,121,40,185,104,122,168,184,128,14,200,184,168,153,136,153,232,153,200,164,136,165,4,8,72,166,249,58,232,58,217,57,200,57,42,4,44,4,153,65,136,65,249,65,232,65,153,66,136,66,25,66,8,66,25,70,8,70,217,68,200,68,249,74,232,74,217,73,200,73,153,74,136,74,249,180,232,180,25,74,8,74,249,81,232,81,217,81,200,81,153,82,136,82,185,82,168,82,249,85,232,85,25,87,8,87,122,90,104,90,250,90,232,90,218,89,200,89,218,90,200,90,154,90,168,92,6,8,8,8,250,97,232,97,185,102,168,102,168,132,153,105,136,105,185,106,168,106,25,106,8,106,57,107,40,107,25,107,8,107,154,113,136,113,186,114,168,114,26,114,8,114,10,8,185,116,168,116,249,122,232,122,217,121,200,121,249,184,232,184,25,185,8,185,153,137,136,137,185,138,168,138,25,138,8,138,154,141,136,141,250,141,232,141,186,142,168,142,26,142,8,142,186,146,168,146,26,146,8,146,185,148,168,148,121,154,104,154,249,154,232,154,217,153,200,153,57,154,40,154,249,164,232,164,46,4,48,4,12,8,14,8,249,165,232,165,89,166,153,169,136,169,153,170,136,170,25,170,8,170,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,187,144,185,84,200,140,169,140,169,144,168,84,187,88,187,96,169,88,169,96,169,172,169,112,217,156,232,1,200,156,232,1,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,72,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,120,255,5,168,152,255,5,217,58,255,5,200,58,255,5,217,154,255,5,200,154,255,1,3,0,75,0,58,0,67,0,159,23,0,16,192,0,0,96,1,0,0,96,4,0,43,0,51,0,90,0,99,0,170,170,4,0,0,96,250,12,0,32,153,23,0,32,121,34,0,32,1,0,32,0,126,34,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,216,7,0,32,7,0,0,0,21,0,0,0,218,7,0,0,218,7,0,0,3,0,0,0,0,0,0,0,251,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,197,221,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,84,0,97,0,109,0,108,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,101,0,108,0,117,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,148,11,60,0,130,11,60,0,131,11,38,0,185,11,60,0,149,11,205,11,183,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,149,11,60,0,149,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,153,11,60,0,153,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,154,11,60,0,154,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,158,11,60,0,158,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,159,11,60,0,159,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,163,11,60,0,163,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,164,11,60,0,164,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,168,11,60,0,168,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,170,11,60,0,170,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,174,11,60,0,174,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,175,11,60,0,175,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,176,11,60,0,176,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,178,11,60,0,178,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,181,11,60,0,181,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,180,11,60,0,180,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,179,11,60,0,179,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,177,11,60,0,177,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,169,11,60,0,169,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,156,11,60,0,156,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,182,11,60,0,182,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,183,11,60,0,183,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,184,11,60,0,184,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,185,11,60,0,185,11,205,11,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,149,11,205,11,183,11,60,0,149,11,205,11,183,11,205,11,0,0,170,170,84,27,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,128,0,0,0,128,1,0,0,160,25,0,0,160,25,0,0,160,25,0,0,160,25,0,0,228,25,0,0,228,25,0,0,54,27,0,0,60,27,0,0,35,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,36,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,109,186,255,0,110,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,39,45,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,121,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,104,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,31,109,193,3,31,109,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,1,0,201,198,2,0,192,0,0,0,201,166,3,0,192,0,0,0,201,134,4,0,201,102,5,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,6,0,201,38,7,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,8,0,201,230,8,0,201,198,9,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,10,0,201,134,11,0,201,102,12,0,201,70,13,0,201,38,14,0,201,6,15,0,201,230,15,0,201,198,16,0,201,166,17,0,201,134,18,0,201,102,19,0,201,70,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,34,109,5,5,48,0,205,11,240,127,33,109,5,5,183,11,240,127,79,109,193,3,205,11,255,255,79,109,193,2,36,109,5,5,48,0,205,11,255,255,35,109,5,5,38,109,5,5,48,0,205,11,255,255,37,109,5,5,70,109,5,5,48,0,205,11,255,255,69,109,5,5,40,109,5,5,48,0,205,11,255,255,39,109,5,5,42,109,5,5,48,0,205,11,255,255,41,109,5,5,44,109,5,5,48,0,205,11,255,255,43,109,5,5,46,109,5,5,48,0,205,11,255,255,45,109,5,5,48,109,5,5,48,0,205,11,255,255,47,109,5,5,68,109,5,5,48,0,205,11,255,255,67,109,5,5,50,109,5,5,48,0,205,11,255,255,49,109,5,5,52,109,5,5,48,0,205,11,255,255,51,109,5,5,54,109,5,5,48,0,205,11,255,255,53,109,5,5,56,109,5,5,48,0,205,11,255,255,55,109,5,5,66,109,5,5,48,0,205,11,255,255,65,109,5,5,58,109,5,5,48,0,205,11,255,255,57,109,5,5,64,109,5,5,48,0,205,11,255,255,63,109,5,5,62,109,5,5,48,0,205,11,255,255,61,109,5,5,60,109,5,5,48,0,205,11,255,255,59,109,5,5,72,109,5,5,48,0,205,11,255,255,71,109,5,5,74,109,5,5,48,0,205,11,255,255,73,109,5,5,76,109,5,5,48,0,205,11,255,255,75,109,5,5,78,109,5,5,48,0,205,11,255,255,77,109,5,5,2,0,183,11,184,11,3,0,69,0,52,0,61,0,251,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,209,7,0,32,1,0,32,0,214,7,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,167,6,0,32,7,0,0,0,21,0,0,0,169,6,0,0,169,6,0,0,3,0,0,0,0,0,0,0,67,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,85,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,84,0,101,0,108,0,117,0,32,0,68,0,101,0,118,0,97,0,32,0,66,0,101,0,110,0,103,0,32,0,71,0,117,0,114,0,117,0,32,0,71,0,117,0,106,0,114,0,32,0,79,0,114,0,121,0,97,0,32,0,84,0,97,0,109,0,108,0,32,0,75,0,110,0,100,0,97,0,32,0,77,0,108,0,121,0,109,0,32,0,83,0,105,0,110,0,104,0,93,0,38,0,20,12,60,0,1,12,60,0,2,12,60,0,3,12,0,0,170,170,112,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,13,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,52,0,0,0,116,0,0,0,116,1,0,0,20,25,0,0,20,25,0,0,20,25,0,0,20,25,0,0,88,25,0,0,36,0,0,0,10,0,0,0,4,0,0,0,16,0,0,0,15,0,0,0,31,0,0,0,35,0,0,0,21,0,0,0,26,0,0,0,33,0,0,0,0,0,0,41,8,0,0,96,6,0,0,104,192,255,0,110,185,255,0,111,191,255,160,113,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,102,103,104,105,106,107,108,109,40,41,42,43,44,45,39,46,47,0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,113,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,104,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,37,110,193,3,37,110,193,4,37,110,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,3,0,69,0,52,0,61,0,67,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,160,6,0,32,1,0,32,0,165,6,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,199,6,0,32,7,0,0,0,21,0,0,0,201,6,0,0,201,6,0,0,3,0,0,0,0,0,0,0,83,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,118,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,97,0,108,0,116,0,101,0,114,0,110,0,97,0,116,0,101,0,32,0,115,0,104,0,105,0,102,0,116,0,101,0,100,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,84,0,104,0,97,0,105,0,93,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,90,14,60,0,47,14,38,0,91,14,60,0,70,14,38,0,78,14,60,0,60,0,76,14,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,48,14,60,0,77,14,38,0,50,14,60,0,60,0,60,0,69,14,38,0,50,14,77,14,60,0,60,0,60,0,77,14,50,14,60,0,60,0,60,0,51,14,38,0,69,14,77,14,60,0,60,0,60,0,77,14,69,14,38,0,68,14,60,0,58,14,0,0,176,25,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,21,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,68,0,0,0,68,1,0,0,36,25,0,0,36,25,0,0,36,25,0,0,36,25,0,0,128,25,0,0,128,25,0,0,146,25,0,0,152,25,0,0,38,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,39,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,117,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,93,0,100,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,108,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,1,0,202,193,1,0,202,226,1,0,202,3,2,0,202,36,2,0,202,69,2,0,202,102,2,0,202,135,2,0,202,168,2,0,202,201,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,1,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,1,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,11,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,104,114,5,5,55,11,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,229,242,201,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,104,114,8,5,99,114,5,5,104,114,7,5,99,114,6,5,104,114,6,5,99,114,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,99,114,5,5,1,0,50,14,0,192,197,98,69,14,0,192,197,162,2,0,69,14,70,14,3,0,69,0,52,0,61,0,83,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,192,6,0,32,1,0,32,0,197,6,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,74,10,0,32,7,0,0,0,21,0,0,0,76,10,0,0,76,10,0,0,3,0,0,0,0,0,0,0,56,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,64,220,38,0,67,0,60,0,231,0,60,0,60,0,60,0,199,0,38,0,69,0,60,0,228,0,60,0,60,0,60,0,196,0,38,0,74,0,60,0,126,1,60,0,60,0,60,0,125,1,38,0,78,0,60,0,72,1,60,0,60,0,60,0,71,1,38,0,79,0,60,0,246,0,60,0,60,0,60,0,214,0,38,0,83,0,60,0,95,1,60,0,60,0,60,0,94,1,38,0,85,0,60,0,252,0,60,0,60,0,60,0,220,0,38,0,89,0,60,0,253,0,60,0,60,0,60,0,221,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,26,40,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,180,30,0,0,180,30,0,0,180,30,0,0,180,30,0,0,248,32,0,0,248,32,0,0,234,35,0,0,234,35,0,0,2,40,0,0,50,105,114,84,1,0,64,8,222,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,111,0,119,0,124,0,132,0,135,0,143,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,167,0,48,0,174,0,178,0,184,0,192,0,197,0,205,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,213,0,159,0,48,0,48,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,151,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,188,1,240,1,28,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,16,0,202,1,17,0,202,34,17,0,202,67,17,0,202,100,17,0,202,133,17,0,202,166,17,0,202,199,17,0,202,232,17,0,202,9,18,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,198,0,0,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,134,1,0,201,102,2,0,156,5,0,72,160,5,0,74,156,5,0,76,201,70,3,0,156,5,0,80,201,38,4,0,156,5,0,84,160,5,0,86,156,5,0,88,201,70,5,0,201,166,6,0,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,102,7,0,5,5,0,44,201,38,8,0,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,230,8,0,201,198,9,0,5,5,0,72,5,5,0,74,5,5,0,76,201,166,10,0,5,5,0,80,201,134,11,0,5,5,0,84,5,5,0,86,5,5,0,88,201,198,12,0,201,38,14,0,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,134,5,2,51,196,146,156,42,197,34,16,0,134,5,2,47,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,134,5,2,91,160,5,38,93,197,98,16,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,5,5,2,51,196,146,5,42,197,162,16,0,5,5,2,47,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,5,5,2,91,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,14,0,201,166,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,16,0,201,38,17,0,134,5,2,69,5,5,2,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,17,0,201,166,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,61,5,5,2,61,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,19,0,201,38,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,20,0,201,166,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,3,0,197,98,3,0,197,34,0,0,197,98,0,0,197,162,3,0,197,226,3,0,197,34,4,0,197,98,4,0,192,0,0,0,197,162,4,0,197,226,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,22,0,201,38,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,226,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,23,0,201,166,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,6,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,25,0,201,38,26,0,201,230,26,0,201,166,27,0,201,102,28,0,201,38,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,29,0,201,166,30,0,201,102,31,0,201,38,32,0,201,230,32,0,201,166,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,34,0,201,38,35,0,201,230,35,0,201,166,36,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,37,0,201,38,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,38,0,201,166,39,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,40,0,201,38,41,0,201,230,41,0,201,166,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,43,0,201,38,44,0,192,0,0,0,192,0,0,0,201,230,44,0,201,6,46,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,51,5,164,0,0,5,5,2,51,5,164,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,134,5,2,51,5,200,0,0,5,5,2,51,5,200,0,0,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,5,2,61,5,196,0,0,5,5,2,61,5,196,0,0,134,5,2,61,5,210,0,0,5,5,2,61,5,210,0,0,134,5,2,51,5,196,0,0,5,5,2,51,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,134,5,2,91,5,196,0,0,5,5,2,91,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,48,0,8,3,2,243,134,5,0,46,156,5,48,0,39,3,2,239,134,5,0,68,156,5,48,0,12,3,255,255,2,69,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,90,156,5,1,0,1,3,255,255,2,91,134,5,65,3,255,255,2,91,134,5,0,92,156,5,48,0,12,3,2,253,134,5,0,42,5,5,48,0,8,3,2,243,5,5,0,46,5,5,48,0,39,3,2,239,5,5,0,68,5,5,48,0,12,3,255,255,2,69,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,0,90,5,5,1,0,1,3,255,255,2,91,5,5,65,3,255,255,2,91,5,5,0,92,5,5,48,0,12,3,2,253,5,5,156,42,196,162,48,0,8,3,0,192,197,162,5,42,196,162,48,0,8,3,0,192,197,226,156,68,196,160,48,0,12,3,1,192,197,34,5,68,196,160,48,0,12,3,1,192,197,98,156,82,196,162,48,0,8,3,1,192,197,162,5,82,196,162,48,0,8,3,1,192,197,226,156,70,196,190,48,0,8,3,2,192,197,34,5,70,196,190,48,0,8,3,2,192,197,98,156,82,196,190,48,0,8,3,2,192,197,162,5,82,196,190,48,0,8,3,2,192,197,226,156,70,196,162,48,0,8,3,5,192,197,34,5,70,196,162,48,0,8,3,5,192,197,98,156,42,196,200,48,0,8,3,6,192,197,34,5,42,196,200,48,0,8,3,6,192,197,98,156,68,196,196,48,0,12,3,7,192,197,34,5,68,196,196,48,0,12,3,7,192,197,98,156,68,196,210,48,0,12,3,7,192,197,162,5,68,196,210,48,0,12,3,7,192,197,226,156,68,196,204,48,0,12,3,8,192,197,34,5,68,196,204,48,0,12,3,8,192,197,98,156,82,196,198,48,0,8,3,8,192,197,162,5,82,196,198,48,0,8,3,8,192,197,226,156,82,196,208,48,0,8,3,9,192,197,34,5,82,196,208,48,0,8,3,9,192,197,98,156,82,196,204,48,0,8,3,9,192,197,162,5,82,196,204,48,0,8,3,9,192,197,226,156,92,196,196,48,0,12,3,10,192,197,34,5,92,196,196,48,0,12,3,10,192,197,98,156,92,196,210,48,0,12,3,10,192,197,162,5,92,196,210,48,0,12,3,10,192,197,226,156,42,196,196,48,0,8,3,11,192,197,34,5,42,196,196,48,0,8,3,11,192,197,98,156,70,196,196,48,0,8,3,11,192,197,162,5,70,196,196,48,0,8,3,11,192,197,226,12,0,197,35,48,0,8,3,12,192,197,131,12,0,197,227,48,0,8,3,13,192,197,67,156,82,196,196,48,0,8,3,13,192,197,162,5,82,196,196,48,0,8,3,13,192,197,226,14,0,197,35,48,0,8,3,14,192,197,131,14,0,197,227,48,0,8,3,15,192,197,67,156,90,196,196,1,0,1,3,15,192,197,162,65,3,15,192,197,162,5,90,196,196,1,0,1,3,15,192,197,226,65,3,15,192,197,226,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,28,4,185,72,186,76,185,84,185,88,185,92,186,96,186,104,185,112,185,116,185,120,30,4,32,4,185,144,185,148,185,156,34,4,185,168,36,4,185,184,185,188,185,192,38,4,40,4,88,13,168,13,96,13,56,14,80,12,40,14,42,4,168,60,44,4,168,72,168,76,168,84,168,88,168,92,168,96,168,104,168,112,168,116,168,120,46,4,48,4,168,144,168,148,168,156,50,4,168,168,52,4,168,184,168,188,168,192,54,4,56,4,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,185,80,57,58,0,8,185,68,186,77,154,77,250,77,90,78,186,97,154,97,250,97,90,98,217,72,154,126,185,137,153,137,249,137,153,138,185,140,136,14,217,138,185,177,153,177,249,177,185,180,185,200,185,208,2,8,168,57,136,57,232,57,136,58,168,80,40,58,4,8,168,68,168,77,136,77,232,77,72,78,168,97,136,97,232,97,72,98,200,72,136,126,168,137,136,137,232,137,136,138,168,140,128,14,200,138,168,177,136,177,232,177,168,180,168,200,168,208,72,198,57,59,40,59,217,57,200,57,58,4,60,4,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,89,232,89,217,89,200,89,185,90,168,90,249,90,232,90,249,93,232,93,89,95,72,95,154,98,136,98,58,99,40,99,218,97,200,97,26,99,8,99,186,98,168,100,6,8,8,8,250,105,232,105,249,114,232,114,168,152,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,62,4,64,4,185,128,168,128,10,8,185,132,168,132,57,139,40,139,217,137,200,137,121,138,104,138,12,8,14,8,153,157,136,157,249,158,232,158,25,158,8,158,154,161,136,161,250,161,232,161,185,164,168,164,26,162,8,162,249,170,232,170,25,170,8,170,185,172,168,172,153,178,136,178,57,179,40,179,217,177,200,177,57,178,40,178,121,178,104,178,66,4,68,4,249,189,232,189,249,197,232,197,89,198,153,205,136,205,185,206,168,206,185,108,168,108,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,160,169,160,200,56,169,76,187,96,187,104,169,96,169,104,169,212,169,124,217,136,187,76,200,136,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,64,255,5,186,124,255,5,185,136,255,5,186,160,255,5,185,176,255,5,185,196,255,5,185,204,255,5,168,56,255,5,168,64,255,5,168,124,255,5,168,136,255,5,168,160,255,5,168,176,255,5,168,196,255,5,168,204,255,5,25,59,255,5,8,59,255,5,250,126,255,5,232,126,255,5,25,179,255,5,8,179,255,1,170,170,3,0,69,0,52,0,61,0,59,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,67,10,0,32,1,0,32,0,72,10,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,213,11,0,32,7,0,0,0,21,0,0,0,215,11,0,0,215,11,0,0,3,0,0,0,0,0,0,0,80,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,111,220,38,0,110,0,60,0,110,0,103,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,60,0,60,0,60,0,75,1,60,0,60,0,60,0,74,1,38,0,122,0,60,0,187,2,60,0,60,0,60,0,189,2,38,0,97,0,60,0,60,0,225,0,60,0,60,0,60,0,193,0,60,0,60,0,1,1,60,0,60,0,60,0,0,1,38,0,101,0,60,0,60,0,233,0,60,0,60,0,60,0,201,0,60,0,60,0,19,1,60,0,60,0,60,0,18,1,38,0,105,0,60,0,60,0,237,0,60,0,60,0,60,0,205,0,60,0,60,0,43,1,60,0,60,0,60,0,42,1,38,0,111,0,60,0,60,0,243,0,60,0,60,0,60,0,211,0,60,0,60,0,77,1,60,0,60,0,60,0,76,1,38,0,117,0,60,0,60,0,250,0,60,0,60,0,60,0,218,0,60,0,60,0,107,1,60,0,60,0,60,0,106,1,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,230,45,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,68,31,0,0,68,31,0,0,68,31,0,0,68,31,0,0,144,35,0,0,144,35,0,0,104,41,0,0,130,41,0,0,206,45,0,0,50,105,114,84,1,0,64,8,231,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,94,0,102,0,107,0,115,0,120,0,128,0,132,0,140,0,48,0,56,0,143,0,151,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,182,0,186,0,191,0,48,0,199,0,206,0,214,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,167,0,48,0,48,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,159,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,120,1,172,1,224,1,16,2,192,0,60,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,33,0,202,65,33,0,202,98,33,0,202,131,33,0,202,164,33,0,202,197,33,0,202,230,33,0,202,7,34,0,202,40,34,0,202,73,34,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,1,0,156,5,0,52,156,5,0,54,156,5,0,56,201,6,3,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,128,4,0,201,198,11,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,166,13,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,134,15,0,5,5,0,44,5,5,0,46,5,5,0,48,201,6,17,0,5,5,0,52,5,5,0,54,5,5,0,56,201,134,18,0,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,0,20,0,201,198,23,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,166,25,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,134,70,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,32,0,196,160,156,46,196,138,156,50,134,70,0,50,196,142,156,50,196,150,156,50,196,138,156,58,134,70,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,134,70,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,134,70,0,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,32,0,196,138,5,42,5,70,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,32,0,196,160,5,46,196,138,5,50,5,70,0,50,196,142,5,50,196,150,5,50,196,138,5,58,5,70,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,5,70,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,5,70,0,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,134,71,0,42,5,71,0,42,192,0,0,0,192,0,0,0,201,134,27,0,201,6,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,30,0,201,6,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,58,5,71,0,58,192,0,0,0,192,0,0,0,201,134,33,0,201,6,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,137,5,2,69,8,5,2,69,134,71,0,70,5,71,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,82,5,71,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,36,0,201,6,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,39,0,201,6,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,42,0,201,6,44,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,45,0,201,6,47,0,197,162,11,0,197,34,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,48,0,201,6,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,93,192,0,0,0,6,5,2,93,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,51,0,201,6,53,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,14,0,197,162,14,0,197,226,14,0,197,34,15,0,201,134,54,0,201,6,56,0,201,134,57,0,201,6,59,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,60,0,201,6,62,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,18,0,197,162,18,0,197,226,18,0,197,34,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,63,0,201,6,65,0,201,134,66,0,201,6,68,0,201,134,69,0,201,6,71,0,192,0,0,0,192,0,0,0,197,98,22,0,197,162,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,72,0,201,6,74,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,75,0,201,6,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,78,0,201,6,80,0,201,134,81,0,201,6,83,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,9,0,197,226,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,84,0,201,6,86,0,201,134,87,0,201,6,89,0,192,0,0,0,192,0,0,0,197,98,10,0,197,226,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,90,0,201,6,92,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,69,5,142,0,0,70,5,2,69,5,142,0,0,135,5,2,69,5,140,0,0,70,5,2,69,5,140,0,0,135,5,2,69,5,156,0,0,70,5,2,69,5,156,0,0,135,5,2,69,5,160,0,0,70,5,2,69,5,160,0,0,135,5,2,69,5,144,0,0,70,5,2,69,5,144,0,0,135,5,2,69,5,136,0,0,70,5,2,69,5,136,0,0,135,5,2,69,5,164,0,0,70,5,2,69,5,164,0,0,5,5,2,69,5,142,0,0,5,5,2,69,5,140,0,0,5,5,2,69,5,156,0,0,5,5,2,69,5,160,0,0,5,5,2,69,5,144,0,0,5,5,2,69,5,136,0,0,5,5,2,69,5,164,0,0,134,70,0,42,5,162,0,0,134,71,0,42,5,162,0,0,5,70,0,42,5,162,0,0,5,71,0,42,5,162,0,0,134,70,0,50,5,162,0,0,134,71,0,50,5,162,0,0,5,70,0,50,5,162,0,0,5,71,0,50,5,162,0,0,134,70,0,58,5,162,0,0,134,71,0,58,5,162,0,0,5,70,0,58,5,162,0,0,5,71,0,58,5,162,0,0,134,70,0,82,5,162,0,0,134,71,0,82,5,162,0,0,5,70,0,82,5,162,0,0,5,71,0,82,5,162,0,0,134,70,0,70,5,190,0,0,134,71,0,70,5,190,0,0,5,70,0,70,5,190,0,0,5,71,0,70,5,190,0,0,134,70,0,82,5,190,0,0,134,71,0,82,5,190,0,0,5,70,0,82,5,190,0,0,5,71,0,82,5,190,0,0,134,70,0,70,5,162,0,0,134,71,0,70,5,162,0,0,5,70,0,70,5,162,0,0,5,71,0,70,5,162,0,0,134,70,0,50,5,160,0,0,134,71,0,50,5,160,0,0,5,70,0,50,5,160,0,0,5,71,0,50,5,160,0,0,134,70,0,42,5,200,0,0,134,71,0,42,5,200,0,0,5,70,0,42,5,200,0,0,5,71,0,42,5,200,0,0,134,71,0,50,5,138,0,0,5,71,0,50,5,138,0,0,134,71,0,50,5,136,0,0,5,71,0,50,5,136,0,0,134,70,0,50,5,204,0,0,134,71,0,50,5,204,0,0,5,70,0,50,5,204,0,0,5,71,0,50,5,204,0,0,134,70,0,50,5,208,0,0,134,71,0,50,5,208,0,0,5,70,0,50,5,208,0,0,5,71,0,50,5,208,0,0,134,70,0,58,5,208,0,0,134,71,0,58,5,208,0,0,5,70,0,58,5,208,0,0,5,71,0,58,5,208,0,0,134,71,0,70,5,138,0,0,5,71,0,70,5,138,0,0,134,71,0,70,5,136,0,0,5,71,0,70,5,136,0,0,134,70,0,82,5,198,0,0,134,71,0,82,5,198,0,0,5,70,0,82,5,198,0,0,5,71,0,82,5,198,0,0,134,70,0,82,5,208,0,0,134,71,0,82,5,208,0,0,5,70,0,82,5,208,0,0,5,71,0,82,5,208,0,0,134,70,0,82,5,204,0,0,134,71,0,82,5,204,0,0,5,70,0,82,5,204,0,0,5,71,0,82,5,204,0,0,134,71,0,82,5,150,0,0,5,71,0,82,5,150,0,0,134,70,0,42,5,196,0,0,134,71,0,42,5,196,0,0,5,70,0,42,5,196,0,0,5,71,0,42,5,196,0,0,134,70,0,50,5,196,0,0,134,71,0,50,5,196,0,0,5,70,0,50,5,196,0,0,5,71,0,50,5,196,0,0,134,70,0,58,5,196,0,0,134,71,0,58,5,196,0,0,5,70,0,58,5,196,0,0,5,71,0,58,5,196,0,0,134,70,0,70,5,196,0,0,134,71,0,70,5,196,0,0,5,70,0,70,5,196,0,0,5,71,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,70,0,70,5,190,0,0,5,196,0,0,134,71,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,70,0,70,5,190,0,0,5,196,0,0,5,71,0,70,5,190,0,0,5,196,0,0,134,70,0,82,5,196,0,0,134,71,0,82,5,196,0,0,5,70,0,82,5,196,0,0,5,71,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,70,0,82,5,190,0,0,5,196,0,0,134,71,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,70,0,82,5,190,0,0,5,196,0,0,5,71,0,82,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,2,0,1,3,0,234,134,70,4,3,0,234,134,71,65,3,0,234,134,70,0,50,156,5,2,0,1,3,0,242,134,70,4,3,0,242,134,71,65,3,0,242,134,70,0,58,156,5,2,0,1,3,0,250,134,70,4,3,0,250,134,71,65,3,0,250,134,70,0,68,156,5,15,0,34,1,26,0,244,1,12,0,244,1,2,192,197,162,245,1,2,192,197,226,32,30,3,192,197,34,33,30,3,192,197,98,34,1,1,192,197,162,35,1,1,192,197,226,230,1,2,192,197,34,231,1,2,192,197,98,30,1,12,0,30,1,0,192,197,162,31,1,0,192,197,226,32,1,1,192,197,34,33,1,1,192,197,98,71,0,255,255,2,69,135,5,103,0,255,255,2,69,70,5,28,1,197,162,29,1,0,192,197,98,0,70,156,5,2,0,1,3,255,255,0,70,134,70,4,3,255,255,0,70,134,71,65,3,255,255,0,70,134,70,0,82,156,5,2,0,1,3,255,255,0,82,134,70,4,3,255,255,0,82,134,71,65,3,255,255,0,82,134,70,0,42,5,5,2,0,1,3,0,234,5,70,4,3,0,234,5,71,65,3,0,234,5,70,0,50,5,5,2,0,1,3,0,242,5,70,4,3,0,242,5,71,65,3,0,242,5,70,0,58,5,5,2,0,1,3,0,250,5,70,4,3,0,250,5,71,65,3,0,250,5,70,0,68,5,5,7,0,35,1,12,0,35,1,4,192,197,98,231,1,4,192,197,162,245,1,4,192,197,226,33,30,5,192,197,34,103,0,255,255,2,69,5,5,29,1,3,192,197,162,31,1,3,192,197,226,33,1,4,192,197,34,0,70,5,5,2,0,1,3,255,255,0,70,5,70,4,3,255,255,0,70,5,71,65,3,255,255,0,70,5,70,0,82,5,5,2,0,1,3,255,255,0,82,5,70,4,3,255,255,0,82,5,71,65,3,255,255,0,82,5,70,156,42,196,162,2,0,1,3,5,192,197,98,4,3,5,192,197,162,65,3,5,192,197,98,5,42,196,162,2,0,1,3,5,192,197,226,4,3,6,192,197,34,65,3,5,192,197,226,156,50,196,162,2,0,1,3,6,192,197,98,4,3,6,192,197,162,65,3,6,192,197,98,5,50,196,162,2,0,1,3,6,192,197,226,4,3,7,192,197,34,65,3,6,192,197,226,156,58,196,162,2,0,1,3,7,192,197,98,4,3,7,192,197,162,65,3,7,192,197,98,5,58,196,162,2,0,1,3,7,192,197,226,4,3,8,192,197,34,65,3,7,192,197,226,156,82,196,162,2,0,1,3,8,192,197,98,4,3,8,192,197,162,65,3,8,192,197,98,5,82,196,162,2,0,1,3,8,192,197,226,4,3,9,192,197,34,65,3,8,192,197,226,156,70,196,190,2,0,1,3,9,192,197,98,4,3,9,192,197,162,65,3,9,192,197,98,5,70,196,190,2,0,1,3,9,192,197,226,4,3,10,192,197,34,65,3,9,192,197,226,156,82,196,190,2,0,1,3,10,192,197,98,4,3,10,192,197,162,65,3,10,192,197,98,5,82,196,190,2,0,1,3,10,192,197,226,4,3,11,192,197,34,65,3,10,192,197,226,156,70,196,162,2,0,1,3,11,192,197,98,4,3,11,192,197,162,65,3,11,192,197,98,5,70,196,162,2,0,1,3,11,192,197,226,4,3,12,192,197,34,65,3,11,192,197,226,156,50,196,160,2,0,1,3,12,192,197,98,4,3,12,192,197,162,65,3,12,192,197,98,5,50,196,160,2,0,1,3,12,192,197,226,4,3,13,192,197,34,65,3,12,192,197,226,156,42,196,200,2,0,1,3,13,192,197,98,4,3,13,192,197,162,65,3,13,192,197,98,5,42,196,200,2,0,1,3,13,192,197,226,4,3,14,192,197,34,65,3,13,192,197,226,156,50,196,204,2,0,1,3,15,192,197,98,4,3,15,192,197,162,65,3,15,192,197,98,5,50,196,204,2,0,1,3,15,192,197,226,4,3,16,192,197,34,65,3,15,192,197,226,156,50,196,208,2,0,1,3,16,192,197,98,4,3,16,192,197,162,65,3,16,192,197,98,5,50,196,208,2,0,1,3,16,192,197,226,4,3,17,192,197,34,65,3,16,192,197,226,156,58,196,208,2,0,1,3,17,192,197,98,4,3,17,192,197,162,65,3,17,192,197,98,5,58,196,208,2,0,1,3,17,192,197,226,4,3,18,192,197,34,65,3,17,192,197,226,156,82,196,198,2,0,1,3,19,192,197,98,4,3,19,192,197,162,65,3,19,192,197,98,5,82,196,198,2,0,1,3,19,192,197,226,4,3,20,192,197,34,65,3,19,192,197,226,156,82,196,208,2,0,1,3,20,192,197,98,4,3,20,192,197,162,65,3,20,192,197,98,5,82,196,208,2,0,1,3,20,192,197,226,4,3,21,192,197,34,65,3,20,192,197,226,156,82,196,204,2,0,1,3,21,192,197,98,4,3,21,192,197,162,65,3,21,192,197,98,5,82,196,204,2,0,1,3,21,192,197,226,4,3,22,192,197,34,65,3,21,192,197,226,156,42,196,196,2,0,1,3,22,192,197,226,4,3,23,192,197,34,65,3,22,192,197,226,5,42,196,196,2,0,1,3,23,192,197,98,4,3,23,192,197,162,65,3,23,192,197,98,156,50,196,196,2,0,1,3,23,192,197,226,4,3,24,192,197,34,65,3,23,192,197,226,5,50,196,196,2,0,1,3,24,192,197,98,4,3,24,192,197,162,65,3,24,192,197,98,156,58,196,196,2,0,1,3,24,192,197,226,4,3,25,192,197,34,65,3,24,192,197,226,5,58,196,196,2,0,1,3,25,192,197,98,4,3,25,192,197,162,65,3,25,192,197,98,156,70,196,196,2,0,1,3,25,192,197,226,4,3,26,192,197,34,65,3,25,192,197,226,5,70,196,196,2,0,1,3,26,192,197,98,4,3,26,192,197,162,65,3,26,192,197,98,26,0,197,227,2,0,1,3,27,192,197,67,4,3,27,192,197,163,65,3,27,192,197,67,28,0,197,3,2,0,1,3,28,192,197,99,4,3,28,192,197,195,65,3,28,192,197,99,156,82,196,196,2,0,1,3,29,192,197,34,4,3,29,192,197,98,65,3,29,192,197,34,5,82,196,196,2,0,1,3,29,192,197,162,4,3,29,192,197,226,65,3,29,192,197,162,30,0,197,35,2,0,1,3,30,192,197,131,4,3,30,192,197,227,65,3,30,192,197,131,31,0,197,67,2,0,1,3,31,192,197,163,4,3,32,192,197,3,65,3,31,192,197,163,12,0,71,0,72,0,103,0,104,0,28,1,36,1,230,1,232,1,244,1,246,1,32,30,34,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,185,108,32,4,54,4,185,124,185,128,185,136,186,140,185,144,56,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,58,4,168,60,168,64,168,68,60,4,168,76,168,80,168,84,62,4,168,96,168,100,168,104,168,108,64,4,76,4,168,124,168,128,168,136,168,140,168,144,78,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,217,56,249,57,153,58,89,58,57,58,0,8,249,66,186,73,217,72,250,73,90,74,186,89,217,88,250,89,90,90,217,68,154,114,185,121,217,120,249,121,153,122,89,122,136,14,217,122,185,153,217,152,249,153,89,154,153,169,185,176,2,8,168,57,200,56,232,57,136,58,72,58,40,58,4,8,232,66,168,73,200,72,232,73,72,74,168,89,200,88,232,89,72,90,200,68,136,114,168,121,200,120,232,121,136,122,72,122,128,14,200,122,168,153,200,152,232,153,72,154,136,169,168,176,72,170,249,56,232,56,217,57,200,57,80,4,82,4,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,57,71,40,71,249,72,232,72,218,73,200,73,186,74,168,74,84,4,86,4,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,57,87,40,87,154,90,136,90,249,88,232,88,218,89,200,89,88,4,90,4,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,89,107,72,107,57,107,40,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,188,116,171,116,249,120,232,120,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,249,152,232,152,217,153,200,153,57,154,40,154,121,154,104,154,92,4,94,4,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,25,57,187,72,200,140,169,140,8,57,169,72,187,88,187,96,169,88,169,96,169,180,169,112,25,121,187,72,8,121,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,186,112,71,4,186,116,103,4,177,116,28,5,250,117,29,5,241,117,30,5,218,117,31,5,209,117,32,5,186,118,33,5,177,118,34,5,250,118,35,5,241,118,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,112,103,4,168,116,29,5,232,117,31,5,200,117,33,5,168,118,35,5,232,118,255,5,168,120,255,5,168,152,255,5,25,59,255,5,8,59,255,5,26,75,255,5,8,75,255,5,26,91,255,5,8,91,255,5,25,155,255,5,8,155,255,1,170,170,3,0,69,0,52,0,61,0,83,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,206,11,0,32,1,0,32,0,211,11,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,212,20,0,32,7,0,0,0,23,0,0,0,214,20,0,0,214,20,0,0,3,0,0,0,0,0,0,0,89,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,49,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,116,0,114,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,116,0,97,0,110,0,100,0,97,0,114,0,100,0,93,0,0,0,74,220,38,0,67,0,60,0,99,0,39,3,60,0,60,0,60,0,67,0,39,3,38,0,71,0,60,0,103,0,6,3,60,0,60,0,60,0,71,0,6,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,105,0,60,0,49,1,60,0,60,0,60,0,73,0,38,0,105,0,60,0,60,0,60,0,48,1,38,0,79,0,60,0,111,0,8,3,60,0,60,0,60,0,79,0,8,3,38,0,83,0,60,0,115,0,39,3,60,0,60,0,60,0,83,0,39,3,38,0,85,0,60,0,117,0,8,3,60,0,60,0,60,0,85,0,8,3,0,0,170,170,170,170,170,170,170,170,170,170,4,44,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,180,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,196,37,0,0,196,37,0,0,196,37,0,0,196,37,0,0,200,41,0,0,200,41,0,0,236,43,0,0,236,43,0,0,236,43,0,0,50,105,114,84,1,0,64,8,79,1,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,93,0,101,0,106,0,114,0,119,0,127,0,133,0,141,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,144,0,152,0,158,0,166,0,174,0,182,0,48,0,56,0,181,0,189,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,206,0,214,0,48,0,48,0,48,0,222,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,230,0,48,0,48,0,238,0,48,0,244,0,252,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,6,1,11,1,48,0,15,1,48,0,48,0,21,1,29,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,37,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,40,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,197,0,204,0,48,0,48,0,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,56,1,48,0,48,0,62,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,116,1,168,1,220,1,20,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,2,120,2,184,2,192,0,212,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,30,0,202,1,31,0,202,34,31,0,202,67,31,0,202,100,31,0,202,133,31,0,202,166,31,0,202,199,31,0,202,232,31,0,202,9,32,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,198,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,134,1,0,156,5,0,56,201,70,2,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,6,3,0,156,5,0,72,160,5,0,74,156,5,0,76,201,230,3,0,156,5,0,80,201,198,4,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,230,5,0,5,5,0,48,5,5,0,50,5,5,0,52,201,166,6,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,102,7,0,5,5,0,72,5,5,0,74,5,5,0,76,201,70,8,0,5,5,0,80,201,38,9,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,194,21,0,134,5,2,47,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,2,22,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,66,22,0,5,5,2,47,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,201,102,10,0,201,38,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,201,230,11,0,192,0,0,0,134,5,0,58,5,5,27,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,12,0,201,102,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,14,0,201,230,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,15,0,201,102,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,4,0,197,34,5,0,197,34,0,0,197,98,0,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,17,0,201,230,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,197,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,252,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,166,18,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,20,0,5,71,238,102,201,102,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,192,0,0,0,192,0,0,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,8,0,192,0,0,0,197,162,8,0,192,0,0,0,192,0,0,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,9,0,192,0,0,0,197,98,9,0,192,0,0,0,197,162,9,0,192,0,0,0,197,226,9,0,192,0,0,0,197,34,10,0,197,99,10,0,197,194,10,0,192,0,0,0,192,0,0,0,197,2,11,0,197,67,11,0,197,162,11,0,192,0,0,0,192,0,0,0,197,226,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,226,7,0,197,34,12,0,5,5,10,121,197,98,12,0,197,162,12,0,5,5,12,121,5,5,16,121,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,5,5,18,121,5,5,20,121,197,130,8,0,5,5,24,121,197,162,8,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,14,0,197,226,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,22,0,192,0,0,0,197,99,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,23,0,201,198,23,0,201,134,24,0,201,70,25,0,201,6,26,0,201,198,26,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,17,0,192,0,0,0,201,134,27,0,192,0,0,0,201,70,28,0,201,6,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,29,0,201,134,30,0,201,70,31,0,201,6,32,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,32,0,201,134,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,134,5,27,57,5,138,0,0,134,5,27,57,5,136,0,0,134,5,27,57,5,142,0,0,134,5,27,57,5,150,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,27,57,5,154,0,0,134,5,27,57,5,164,0,0,134,5,27,57,5,140,0,0,134,5,27,57,5,162,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,27,57,5,144,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,27,57,5,184,0,0,134,5,27,57,5,188,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,5,27,57,5,208,0,0,134,5,27,57,5,150,0,0,5,136,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,5,27,57,5,182,0,0,134,5,27,57,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,226,7,0,5,5,10,121,5,5,12,121,197,34,8,0,5,5,16,121,5,5,18,121,5,5,20,121,197,98,8,0,5,5,24,121,197,162,8,0,5,5,28,121,5,5,30,121,197,226,8,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,34,9,0,5,5,107,121,197,98,9,0,5,5,111,121,197,162,9,0,5,5,115,121,197,226,9,0,5,5,119,121,197,34,10,0,197,99,10,0,197,194,10,0,5,5,127,121,5,5,129,121,197,2,11,0,197,67,11,0,197,162,11,0,5,5,137,121,5,5,139,121,197,226,11,0,5,5,143,121,5,5,6,121,197,226,7,0,197,34,12,0,5,5,10,121,197,98,12,0,197,162,12,0,5,5,12,121,5,5,16,121,197,226,12,0,197,34,13,0,197,98,13,0,197,162,13,0,197,226,13,0,197,34,14,0,197,98,14,0,5,5,18,121,5,5,20,121,197,130,8,0,5,5,24,121,197,162,8,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,0,46,156,5,48,0,39,3,2,239,134,5,0,54,156,5,48,0,6,3,2,247,134,5,27,57,134,5,48,0,7,3,0,250,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,46,5,5,48,0,39,3,2,239,5,5,0,54,5,5,48,0,6,3,2,247,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,156,54,196,160,48,0,6,3,1,192,197,162,5,54,196,160,48,0,6,3,1,192,197,226,2,0,197,226,48,0,7,3,134,250,196,162,156,82,196,162,48,0,8,3,3,192,197,34,5,82,196,162,48,0,8,3,3,192,197,98,156,70,196,190,48,0,8,3,3,192,197,162,5,70,196,190,48,0,8,3,3,192,197,226,156,82,196,190,48,0,8,3,4,192,197,34,5,82,196,190,48,0,8,3,4,192,197,98,156,70,196,162,48,0,8,3,6,192,197,98,5,70,196,162,48,0,8,3,6,192,197,162,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,15,0,197,34,48,0,7,3,134,250,196,208,156,82,196,198,48,0,8,3,15,192,197,194,5,82,196,198,48,0,8,3,16,192,197,2,156,82,196,208,48,0,8,3,16,192,197,66,5,82,196,208,48,0,8,3,16,192,197,130,156,82,196,204,48,0,8,3,16,192,197,194,5,82,196,204,48,0,8,3,17,192,197,2,17,0,197,130,48,0,7,3,134,250,196,196,156,70,196,196,48,0,8,3,17,192,197,194,5,70,196,196,48,0,8,3,18,192,197,2,18,0,197,67,48,0,8,3,18,192,197,163,19,0,197,3,48,0,8,3,19,192,197,99,156,82,196,196,48,0,8,3,19,192,197,194,5,82,196,196,48,0,8,3,20,192,197,2,20,0,197,67,48,0,8,3,20,192,197,163,21,0,197,3,48,0,8,3,21,192,197,99,3,0,67,0,50,0,59,0,91,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,154,37,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,132,29,0,0,132,29,0,0,132,29,0,0,132,29,0,0,164,31,0,0,164,31,0,0,130,33,0,0,130,33,0,0,130,37,0,0,50,105,114,84,1,0,64,8,203,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,93,0,101,0,106,0,114,0,119,0,127,0,133,0,141,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,163,0,168,0,48,0,172,0,48,0,48,0,178,0,186,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,194,0,157,0,48,0,48,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,149,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,116,1,168,1,220,1,20,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,192,15,0,202,225,15,0,202,2,16,0,202,35,16,0,202,68,16,0,202,101,16,0,202,134,16,0,202,167,16,0,202,200,16,0,202,233,16,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,6,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,198,0,0,156,5,0,56,201,134,1,0,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,70,2,0,156,5,0,72,160,5,0,74,156,5,0,76,201,38,3,0,156,5,0,80,201,6,4,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,38,5,0,5,5,0,48,5,5,0,50,5,5,0,52,201,230,5,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,6,0,5,5,0,72,5,5,0,74,5,5,0,76,201,134,7,0,5,5,0,80,201,102,8,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,2,15,0,134,5,2,47,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,197,162,0,0,197,226,0,0,197,34,1,0,197,98,1,0,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,134,5,2,71,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,134,5,2,83,196,136,156,90,160,5,38,93,197,66,15,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,130,15,0,5,5,2,47,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,5,5,2,71,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,5,5,2,83,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,55,5,5,2,55,192,0,0,0,192,0,0,0,201,166,9,0,201,102,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,192,0,0,0,197,162,2,0,192,0,0,0,201,38,11,0,192,0,0,0,134,5,0,58,5,5,27,57,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,11,0,201,166,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,13,0,201,38,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,14,0,201,166,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,4,0,197,34,5,0,197,34,0,0,197,98,0,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,16,0,201,38,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,6,0,192,0,0,0,197,34,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,7,0,197,162,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,7,0,197,34,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,17,0,192,0,0,0,197,163,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,18,0,201,102,19,0,201,38,20,0,201,230,20,0,201,166,21,0,201,102,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,10,0,192,0,0,0,201,38,23,0,192,0,0,0,201,230,23,0,201,166,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,25,0,201,38,26,0,201,230,26,0,201,166,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,28,0,201,38,29,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,83,5,136,0,0,5,5,2,83,5,136,0,0,134,5,27,57,5,138,0,0,134,5,27,57,5,136,0,0,134,5,27,57,5,142,0,0,134,5,27,57,5,150,0,0,134,5,2,55,5,160,0,0,5,5,2,55,5,160,0,0,134,5,27,57,5,154,0,0,134,5,27,57,5,164,0,0,134,5,27,57,5,140,0,0,134,5,27,57,5,162,0,0,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,83,5,190,0,0,5,5,2,83,5,190,0,0,134,5,27,57,5,144,0,0,134,5,2,83,5,164,0,0,5,5,2,83,5,164,0,0,134,5,2,83,5,144,0,0,5,5,2,83,5,144,0,0,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,27,57,5,184,0,0,134,5,27,57,5,188,0,0,134,5,2,71,5,164,0,0,5,5,2,71,5,164,0,0,134,5,2,47,5,136,0,0,5,5,2,47,5,136,0,0,134,5,27,57,5,208,0,0,134,5,27,57,5,150,0,0,5,136,0,0,134,5,2,83,5,198,0,0,5,5,2,83,5,198,0,0,134,5,2,83,5,208,0,0,5,5,2,83,5,208,0,0,134,5,2,83,5,204,0,0,5,5,2,83,5,204,0,0,134,5,27,57,5,182,0,0,134,5,27,57,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,134,5,2,83,5,196,0,0,5,5,2,83,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,5,2,83,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,5,2,83,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,48,0,39,3,2,239,134,5,0,54,156,5,48,0,6,3,2,247,134,5,27,57,134,5,48,0,7,3,0,250,134,5,0,70,156,5,48,0,8,3,255,255,2,71,134,5,0,78,156,5,48,0,39,3,255,255,2,79,134,5,0,82,156,5,1,0,8,3,255,255,2,83,134,5,68,3,197,162,0,46,5,5,48,0,39,3,2,239,5,5,0,54,5,5,48,0,6,3,2,247,5,5,0,70,5,5,48,0,8,3,255,255,2,71,5,5,0,78,5,5,48,0,39,3,255,255,2,79,5,5,0,82,5,5,1,0,8,3,255,255,2,83,5,5,68,3,0,192,197,98,156,54,196,160,48,0,6,3,1,192,197,162,5,54,196,160,48,0,6,3,1,192,197,226,2,0,197,226,48,0,7,3,134,250,196,162,156,82,196,162,48,0,8,3,3,192,197,34,5,82,196,162,48,0,8,3,3,192,197,98,156,70,196,190,48,0,8,3,3,192,197,162,5,70,196,190,48,0,8,3,3,192,197,226,156,82,196,190,48,0,8,3,4,192,197,34,5,82,196,190,48,0,8,3,4,192,197,98,156,70,196,162,48,0,8,3,6,192,197,98,5,70,196,162,48,0,8,3,6,192,197,162,8,0,197,98,48,0,7,3,134,250,196,208,156,82,196,198,48,0,8,3,9,192,197,2,5,82,196,198,48,0,8,3,9,192,197,66,156,82,196,208,48,0,8,3,9,192,197,130,5,82,196,208,48,0,8,3,9,192,197,194,156,82,196,204,48,0,8,3,10,192,197,2,5,82,196,204,48,0,8,3,10,192,197,66,10,0,197,194,48,0,7,3,134,250,196,196,156,70,196,196,48,0,8,3,11,192,197,2,5,70,196,196,48,0,8,3,11,192,197,66,11,0,197,131,48,0,8,3,11,192,197,227,12,0,197,67,48,0,8,3,12,192,197,163,156,82,196,196,48,0,8,3,13,192,197,2,5,82,196,196,48,0,8,3,13,192,197,66,13,0,197,131,48,0,8,3,13,192,197,227,14,0,197,67,48,0,8,3,14,192,197,163,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,72,186,76,185,80,28,4,185,92,30,4,186,104,185,108,185,112,185,116,186,120,32,4,185,136,185,140,185,148,34,4,185,160,36,4,185,176,185,180,185,184,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,38,4,168,72,168,76,168,80,40,4,168,92,168,100,168,104,168,108,168,112,168,116,168,120,42,4,168,136,168,140,168,148,44,4,168,160,46,4,168,176,168,180,168,184,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,128,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,185,68,186,77,154,77,250,77,90,78,185,97,153,97,249,97,89,98,217,72,154,122,185,129,153,129,249,129,153,130,185,132,136,14,217,130,185,169,153,169,249,169,185,172,153,189,185,196,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,168,68,168,77,136,77,232,77,72,78,168,101,136,101,232,101,72,102,200,72,136,122,168,129,136,129,232,129,136,130,168,132,128,14,200,130,168,169,136,169,232,169,168,172,136,189,168,196,72,190,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,26,79,8,79,26,78,8,78,249,85,232,85,185,88,168,88,185,86,168,86,48,4,50,4,249,93,232,93,89,95,72,95,153,98,136,102,57,99,40,103,217,97,200,101,52,4,8,103,185,100,168,96,6,8,8,8,250,105,232,105,249,110,232,110,168,144,153,113,136,113,249,114,232,114,25,114,8,114,121,115,104,115,89,115,72,115,154,121,136,121,250,122,232,122,26,122,8,122,10,8,185,124,168,124,57,131,40,131,217,129,200,129,121,130,104,130,12,8,14,8,153,149,136,149,249,150,232,150,25,150,8,150,154,153,136,153,250,153,232,153,185,156,168,156,26,154,8,154,249,162,232,162,25,162,8,162,185,164,168,164,153,170,136,170,57,171,40,171,217,169,200,169,57,170,40,170,121,170,104,170,54,4,56,4,249,181,232,181,249,189,232,189,89,190,153,193,136,193,185,194,168,194,25,194,8,194,232,152,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,152,169,152,200,56,169,76,187,100,187,104,170,100,169,104,169,200,169,120,217,128,187,76,200,128,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,255,5,185,84,255,5,185,96,255,5,185,128,255,5,186,152,255,5,185,168,255,5,168,64,255,5,168,84,255,5,168,128,255,5,168,152,255,5,168,168,255,5,249,86,255,5,232,86,255,5,25,99,255,5,25,171,255,5,8,171,255,1,170,170,3,0,67,0,50,0,59,0,99,11,0,16,55,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,93,11,0,32,203,20,0,32,1,0,32,0,208,20,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,0,0,0,0,0,0,0,0,0,0,20,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,106,23,0,0,80,0,0,0,80,0,0,0,80,0,0,0,24,35,7,0,24,35,7,0,80,96,7,0,80,96,7,0,124,191,7,0,184,39,8,0,182,73,8,0,90,78,8,0,26,82,8,0,254,84,8,0,254,85,8,0,254,85,8,0,50,105,114,84,1,0,4,23,75,111,224,6,192,0,193,1,0,0,8,0,16,0,24,0,64,0,72,0,80,0,88,0,96,0,104,0,112,0,120,0,128,0,136,0,144,0,152,0,160,0,168,0,176,0,184,0,192,0,200,0,208,0,216,0,224,0,232,0,240,0,248,0,0,1,8,1,16,1,24,1,32,1,40,1,48,1,56,1,64,1,72,1,80,1,88,1,96,1,104,1,112,1,120,1,128,1,136,1,144,1,152,1,160,1,168,1,176,1,184,1,192,1,200,1,208,1,216,1,224,1,232,1,240,1,248,1,0,2,8,2,16,2,24,2,232,89,240,89,184,89,169,103,48,0,25,103,27,88,35,88,248,90,72,90,43,88,72,93,0,91,80,90,41,104,8,92,8,91,88,90,49,104,16,92,16,91,96,90,57,104,16,90,24,91,104,90,112,89,116,95,176,91,73,104,65,104,123,95,32,91,89,104,81,104,175,94,40,91,112,90,97,104,59,100,48,91,105,104,139,95,147,95,56,91,113,104,121,104,183,94,43,105,97,99,40,92,48,0,51,105,59,105,48,92,48,0,51,88,59,88,75,105,184,91,67,88,163,95,75,88,48,0,163,105,192,91,96,93,171,105,171,95,209,102,193,102,160,93,50,107,90,107,94,107,110,107,126,107,134,107,150,107,154,107,185,103,201,103,217,103,225,103,233,103,241,103,249,103,1,104,9,104,17,104,40,90,8,93,39,95,32,106,48,106,64,106,176,92,86,106,86,106,86,106,86,106,86,106,86,106,86,106,86,106,86,106,86,106,87,106,95,106,102,106,104,106,104,106,104,106,104,106,104,106,64,93,136,92,123,106,131,106,32,93,131,105,88,93,139,105,147,105,187,105,83,88,91,88,67,100,99,88,8,106,0,106,16,106,248,105,24,106,112,106,115,106,123,105,80,92,40,93,195,105,203,105,211,105,75,100,187,95,168,93,219,105,226,105,107,88,83,100,120,89,33,102,48,0,64,91,120,90,16,93,115,88,200,91,91,100,155,105,128,90,107,105,136,90,99,100,152,93,113,102,217,102,123,88,129,88,129,101,89,101,81,101,169,101,145,101,225,101,128,89,136,89,105,101,241,101,17,102,25,102,121,101,97,101,217,101,9,102,41,102,65,102,73,102,57,102,49,102,23,95,15,95,7,95,137,88,145,88,144,92,153,88,8,94,105,99,200,89,144,89,79,95,203,95,211,95,177,101,219,95,226,95,231,95,239,95,247,95,87,96,103,96,79,96,111,96,127,96,135,96,119,96,88,94,135,94,143,96,143,96,143,96,143,96,143,96,143,96,143,96,150,96,158,96,16,94,24,94,40,94,57,101,171,100,166,96,167,96,167,96,167,96,167,96,175,96,181,96,184,96,227,96,231,96,237,96,242,96,248,96,252,96,252,96,252,96,12,97,20,97,21,97,127,94,29,97,34,97,112,94,119,94,98,97,98,97,98,97,98,97,98,97,98,97,98,97,98,97,42,97,42,97,42,97,42,97,104,94,50,97,159,94,96,94,95,96,58,97,58,97,0,93,66,97,66,97,67,97,75,97,75,97,75,97,75,97,78,97,84,97,90,97,90,97,90,97,153,102,137,102,161,102,137,101,81,102,89,102,97,102,104,89,201,102,225,102,177,103,161,88,193,103,25,104,33,104,105,102,200,92,184,92,192,92,48,0,42,110,26,110,10,111,58,111,242,109,138,110,194,110,234,110,2,111,42,111,66,111,50,99,128,92,112,92,170,107,210,107,208,89,208,92,218,107,216,92,2,108,58,107,74,107,82,107,73,99,10,108,58,99,65,99,56,94,64,94,72,94,81,99,250,109,235,100,211,100,226,107,178,107,202,107,179,100,219,100,185,101,193,101,113,101,203,100,144,2,96,3,253,3,87,4,240,4,120,5,64,6,48,7,168,7,8,8,224,8,136,9,35,10,151,10,206,10,26,11,224,7,150,12,75,13,246,13,141,14,84,15,193,15,169,15,90,16,136,16,28,17,172,17,140,18,243,18,82,19,174,19,2,20,80,20,216,20,45,21,140,21,18,22,161,22,9,23,101,23,198,23,22,24,83,24,152,24,13,25,178,25,31,26,172,26,12,27,63,27,170,27,26,28,130,28,2,29,154,29,250,29,105,30,9,31,134,31,211,31,13,32,132,32,140,32,54,33,172,33,220,33,60,34,146,34,14,35,138,35,209,35,58,36,135,36,243,36,113,37,185,37,45,38,177,38,84,39,188,39,131,40,201,40,25,41,110,41,213,41,43,42,128,42,230,42,70,43,117,43,213,43,75,44,105,44,167,44,53,45,157,45,37,46,83,46,146,46,254,46,131,47,214,47,11,48,131,48,17,49,129,49,176,49,238,49,62,50,154,50,7,51,71,51,137,51,186,51,231,51,140,52,244,52,72,53,159,53,228,53,86,54,220,54,68,55,210,55,26,56,136,56,238,56,69,57,134,57,183,57,94,58,150,58,246,58,52,59,147,59,6,60,56,60,119,60,48,61,156,61,244,61,127,62,247,62,59,63,194,63,33,64,121,64,199,64,47,65,111,65,204,65,43,66,135,66,20,67,131,67,227,67,106,68,154,68,248,68,41,69,141,69,33,70,120,70,232,70,120,71,71,72,175,72,33,73,176,73,104,74,207,74,94,75,34,76,145,76,6,77,228,52,213,77,60,78,138,78,202,78,25,79,97,79,149,79,237,79,75,80,119,80,207,80,103,81,179,81,243,81,99,82,200,82,61,83,180,83,233,83,71,84,214,84,22,85,91,85,174,85,106,86,176,86,248,86,110,87,208,2,106,97,106,97,64,2,152,2,248,2,56,3,104,2,160,3,224,3,229,3,233,3,238,3,13,4,245,3,37,4,42,4,74,4,79,4,127,4,127,4,162,4,162,4,194,4,200,4,232,4,32,5,64,5,80,5,152,5,184,5,24,6,80,6,120,6,184,6,8,7,40,7,64,7,104,7,160,7,216,7,248,7,32,8,64,8,104,8,112,2,176,8,240,8,24,9,72,9,144,9,192,9,216,9,217,9,239,9,247,9,19,10,27,10,80,10,80,10,86,10,135,10,143,10,186,10,190,10,10,11,18,11,66,11,74,11,198,10,138,11,218,11,225,11,70,12,134,12,158,12,206,12,222,12,230,12,21,13,45,13,51,13,122,13,125,13,164,13,172,13,201,13,238,13,46,14,70,14,176,9,173,14,229,14,29,15,76,15,156,15,161,15,185,15,217,15,224,15,0,16,16,16,24,16,72,16,77,16,82,16,128,16,160,16,197,16,244,16,20,17,92,17,116,17,164,17,180,17,36,18,16,3,164,18,211,18,34,19,66,19,74,19,98,19,114,19,166,19,204,19,226,19,250,19,24,20,72,20,136,20,192,20,232,20,13,21,37,21,109,21,132,21,164,21,218,21,50,22,106,22,153,22,217,22,249,22,33,23,85,23,125,23,133,23,157,23,189,23,190,23,226,23,234,23,10,24,14,24,60,24,67,24,112,24,75,24,144,24,204,24,224,24,5,25,99,25,130,25,170,25,218,25,234,25,241,25,17,26,23,26,70,26,76,26,105,26,112,26,160,26,164,26,202,26,204,26,211,26,4,27,219,26,48,27,55,27,98,27,105,27,146,27,162,27,234,27,42,28,90,28,154,28,234,28,42,29,106,29,122,29,146,29,170,29,210,29,242,29,49,30,89,30,218,29,56,6,233,30,25,31,41,31,49,31,54,31,92,31,92,31,96,31,120,31,120,31,126,31,166,31,166,31,174,31,198,31,198,31,203,31,255,31,255,31,5,32,76,32,76,32,84,32,116,32,89,32,189,32,124,32,225,32,233,32,17,33,46,33,101,33,156,33,204,33,244,33,52,34,106,34,154,34,218,34,54,35,216,5,101,35,108,35,124,35,130,35,154,35,161,35,192,35,198,35,201,35,241,35,243,35,250,35,35,36,35,36,43,36,113,36,113,36,50,36,121,36,176,36,127,36,184,36,190,36,227,36,235,36,43,37,51,37,105,37,59,37,137,37,177,37,209,37,247,37,29,38,61,38,101,38,109,38,138,38,169,38,217,38,225,38,230,38,61,39,68,39,140,39,180,39,211,39,19,40,83,40,171,40,193,40,249,40,17,41,62,41,86,41,102,41,126,41,190,41,229,41,245,41,5,42,29,42,35,42,91,42,120,42,158,42,182,42,206,42,254,42,38,43,94,43,141,43,157,43,205,43,243,43,43,44,67,44,97,44,129,44,145,44,183,44,238,44,30,45,77,45,141,45,197,45,5,46,29,46,53,46,106,46,130,46,180,46,223,46,22,47,84,47,115,47,123,47,158,47,198,47,206,47,230,47,251,47,43,48,75,48,107,48,155,48,177,48,241,48,65,49,89,49,121,49,152,49,168,49,6,50,46,50,92,50,130,50,194,50,226,50,255,50,23,51,47,51,55,51,101,51,63,51,163,51,167,51,223,51,7,52,61,52,116,52,132,52,164,52,236,52,58,53,64,53,96,53,128,53,144,53,182,53,151,53,214,53,220,53,3,54,27,54,59,54,109,54,140,54,164,54,188,54,196,54,212,54,252,54,44,55,84,55,139,55,194,55,234,55,10,56,50,56,82,56,98,56,176,56,200,56,208,56,224,56,230,56,22,57,61,57,93,57,126,57,249,30,175,57,230,57,30,58,86,58,110,58,158,58,190,58,222,58,230,58,14,59,18,59,238,58,39,59,44,59,71,59,76,59,131,59,131,59,131,59,49,49,139,59,195,59,199,59,76,39,247,59,254,59,47,60,48,60,103,60,111,60,180,60,186,60,248,60,40,61,89,61,0,61,16,9,204,61,236,61,252,61,12,62,60,62,82,62,88,62,95,62,156,62,164,62,211,62,215,62,172,62,239,62,75,63,130,63,170,63,186,63,210,63,226,63,250,63,25,64,81,64,105,64,137,64,185,48,207,64,123,48,39,65,87,65,103,65,135,65,143,65,175,65,183,65,220,65,227,65,11,66,35,66,79,66,103,66,127,66,158,66,166,66,198,66,204,66,228,66,12,67,52,67,108,67,155,67,171,67,211,67,170,28,34,68,50,68,58,68,98,68,132,68,224,68,240,68,14,69,33,69,65,69,125,69,133,69,219,69,17,70,49,70,81,70,97,70,136,70,200,70,248,70,8,71,32,71,48,71,88,71,104,71,160,71,176,71,227,71,42,72,63,72,87,72,127,72,159,72,205,72,251,72,17,73,49,73,88,73,136,73,160,73,168,73,192,73,195,73,203,73,207,73,223,73,226,73,17,74,23,74,30,74,51,74,57,74,96,74,125,74,129,74,166,74,172,74,199,74,227,74,40,75,46,75,70,75,86,75,102,75,118,75,125,75,165,75,228,75,244,75,26,76,81,76,121,76,137,76,161,76,201,76,225,76,254,76,76,77,122,77,176,77,205,77,12,78,52,78,116,78,146,78,210,78,1,79,49,79,89,79,125,79,165,79,213,79,229,79,19,80,83,80,111,80,135,80,175,80,239,80,7,81,47,81,79,81,95,81,131,81,171,81,203,81,235,81,19,82,59,82,83,82,147,82,176,82,246,82,45,83,132,83,164,83,172,83,204,83,209,83,250,83,2,84,55,84,111,84,158,84,174,84,206,84,230,84,246,84,14,85,50,85,71,65,83,85,126,85,144,85,63,84,195,85,2,86,34,86,50,86,98,86,153,86,108,39,8,87,62,87,126,87,158,87,197,87,2,22,48,3,176,2,180,21,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,18,108,138,97,142,97,149,97,232,92,187,106,195,106,202,106,210,106,217,106,220,106,226,106,233,106,240,92,107,100,129,102,169,88,121,102,241,106,241,106,48,90,47,95,55,95,1,102,209,101,63,95,153,101,201,101,233,101,208,91,155,95,115,105,80,93,216,91,137,104,72,91,177,88,115,100,72,92,176,93,102,107,80,91,144,90,24,93,89,99,234,105,240,105,104,93,179,95,67,105,56,92,64,92,48,93,209,103,161,101,71,95,31,95,40,106,56,106,129,104,24,92,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,200,96,48,2,142,107,162,107,40,2,158,98,151,98,143,98,63,98,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,122,97,216,97,122,97,122,97,122,97,122,97,122,97,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,34,110,82,110,58,110,10,110,114,110,66,110,90,110,74,110,152,9,20,62,186,110,18,110,154,110,226,110,34,111,48,0,224,89,71,96,233,102,105,103,137,103,100,95,108,95,249,102,9,103,153,103,248,89,8,90,1,103,81,103,17,103,0,90,129,103,151,94,89,103,145,103,73,103,97,103,56,2,92,95,72,89,80,89,152,92,88,89,241,102,121,103,161,103,96,89,168,92,160,92,80,94,224,92,216,89,66,107,118,107,32,2,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,0,1,64,1,128,1,192,1,0,2,64,2,128,2,192,2,0,3,64,3,128,3,192,3,0,4,64,4,128,4,192,4,0,5,64,5,128,5,192,5,0,6,64,6,128,6,192,6,0,7,64,7,128,7,192,7,0,8,64,8,33,18,97,20,97,18,161,20,33,21,224,6,161,18,224,6,1,22,224,6,224,6,224,6,224,6,225,18,65,22,65,22,66,22,130,22,224,6,224,6,224,6,224,6,225,21,33,19,224,6,224,6,97,19,161,19,225,20,225,19,97,21,161,21,33,10,97,11,161,13,225,12,33,12,225,13,225,14,161,12,161,14,161,11,225,11,161,16,97,13,33,15,97,17,97,14,33,14,97,15,33,16,225,15,225,9,33,13,225,10,33,11,97,16,97,10,97,12,161,15,33,17,161,17,224,6,194,22,161,10,225,16,225,17,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,224,6,33,20,34,85,58,85,64,85,67,85,99,85,102,85,134,85,136,85,152,85,157,85,161,85,166,85,182,85,187,85,203,85,219,85,227,85,234,85,250,85,82,86,90,86,114,86,121,86,137,86,189,14,161,86,168,86,184,86,200,86,216,86,224,86,232,86,240,86,0,87,16,87,24,87,32,87,38,87,46,87,70,87,86,87,118,87,134,87,142,87,150,87,166,87,174,87,181,87,205,87,212,87,219,87,235,87,243,87,3,88,72,2,48,0,120,2,168,3,111,4,16,5,176,5,128,6,24,7,24,8,80,2,160,2,184,2,232,2,0,3,24,3,32,3,64,3,112,3,136,3,152,3,176,3,184,3,216,3,5,4,21,4,29,4,50,4,95,4,103,4,135,4,142,4,146,4,170,4,208,4,216,4,248,4,0,5,40,5,8,5,48,5,72,5,88,5,104,5,136,5,144,5,160,5,192,5,208,5,224,5,240,5,8,6,32,6,48,6,72,6,96,6,112,6,136,6,152,6,176,6,192,6,216,6,224,6,0,7,16,7,56,7,72,7,88,7,112,7,120,7,128,7,136,7,152,7,176,7,44,62,231,62,162,63,57,64,239,64,127,65,63,66,182,66,220,66,244,66,76,67,235,67,66,68,208,68,85,69,235,69,208,70,72,71,211,71,2,72,103,72,213,72,120,73,1,74,158,74,32,75,78,75,141,75,181,75,113,76,185,76,44,77,197,77,84,78,57,79,221,79,59,80,223,80,15,81,55,81,35,82,139,82,85,83,47,84,150,84,222,84,6,85,110,85,10,86,58,86,129,86,78,87,251,87,88,2,168,2,200,2,8,3,72,3,144,3,208,3,58,4,154,4,224,4,24,5,96,2,240,2,88,3,200,3,66,4,186,4,112,5,0,6,144,6,32,7,184,7,96,8,168,8,40,9,128,9,72,10,2,11,130,11,22,12,37,13,156,13,38,14,125,14,53,15,248,15,12,17,156,17,252,17,227,18,158,19,104,20,61,21,210,21,177,22,117,23,2,24,136,24,67,25,9,26,97,26,194,26,90,27,2,28,18,29,202,29,57,30,161,30,158,31,68,32,181,32,85,33,12,34,83,34,6,35,93,35,233,35,105,36,168,36,35,37,169,37,93,38,209,38,53,39,172,39,115,48,1,49,200,49,186,50,93,51,255,51,156,52,112,53,43,54,172,54,28,55,178,55,74,56,45,57,17,31,166,58,107,59,171,59,23,60,164,60,24,61,180,61,119,62,43,63,49,64,223,64,251,65,174,66,252,66,243,67,216,68,179,69,176,70,64,71,203,71,119,72,104,73,249,73,150,74,24,75,133,75,4,76,177,76,160,77,76,78,117,79,35,80,255,80,63,81,27,82,216,82,225,83,127,84,182,84,75,85,18,86,66,86,102,87,128,2,14,14,58,29,201,38,4,53,212,66,157,75,136,2,224,2,40,3,192,3,119,4,178,4,56,5,128,5,200,5,104,6,208,6,96,7,208,7,72,8,160,8,248,8,56,9,120,9,11,10,119,10,170,10,242,10,106,11,210,11,46,12,110,12,5,13,148,13,22,14,157,14,45,15,132,15,240,15,56,16,152,16,220,16,4,17,132,17,196,17,236,17,20,18,100,18,195,18,142,19,96,20,208,20,101,21,234,21,66,22,185,22,61,23,218,23,104,24,188,24,75,25,146,25,54,26,144,26,244,26,82,27,242,27,106,28,194,28,192,7,200,7,240,7,0,8,16,8,40,8,56,8,80,8,88,8,192,2,112,8,120,8,136,8,144,8,80,3,192,8,208,8,232,8,248,5,8,9,32,9,48,9,64,9,200,6,88,9,112,9,200,8,16,6,160,9,184,9,200,9,225,9,231,9,255,9,3,10,43,10,43,10,48,10,94,10,101,10,104,10,111,10,159,10,159,10,159,10,162,10,214,10,222,10,223,10,226,10,34,11,42,11,47,11,47,11,50,11,82,11,82,11,82,11,82,11,90,11,146,11,153,11,160,11,186,11,134,41,158,41,174,41,182,41,198,41,205,41,221,41,237,41,253,41,13,42,51,42,67,42,99,42,104,42,136,42,142,42,166,42,190,42,198,42,214,42,238,42,6,43,14,43,22,43,46,43,62,43,78,43,102,43,109,43,125,43,116,18,193,22,149,43,165,43,181,43,104,3,221,43,227,43,216,2,3,44,11,44,35,44,51,44,83,44,89,44,113,44,121,44,137,44,153,44,159,44,175,44,191,44,199,44,223,44,230,44,246,44,254,44,14,45,38,45,45,45,61,45,93,45,101,45,117,45,125,45,133,45,149,45,165,45,189,45,168,6,213,45,237,45,245,45,13,46,45,46,61,46,67,46,91,46,98,46,10,29,114,46,138,46,154,46,157,46,164,46,188,46,191,46,231,46,239,46,246,46,6,47,14,47,30,47,38,47,54,47,60,47,76,47,92,47,99,47,139,47,144,47,150,47,166,47,222,47,238,47,243,47,3,48,19,48,51,48,67,48,83,48,91,48,99,48,139,48,163,48,169,48,193,48,209,48,233,48,249,48,9,49,33,49,120,3,81,49,97,49,137,49,144,49,160,49,152,20,160,20,184,20,200,20,224,20,240,20,245,20,5,21,21,21,29,21,53,21,69,21,85,21,128,3,248,6,117,21,124,21,52,17,156,21,172,21,188,21,194,21,226,21,250,21,10,22,26,22,58,22,232,6,82,22,98,22,114,22,121,22,129,22,169,22,201,22,168,20,225,22,233,22,241,22,17,23,25,23,41,23,46,23,53,23,77,23,93,23,109,23,141,23,165,23,173,23,206,23,210,23,242,23,242,23,30,24,30,24,30,24,36,24,91,24,91,24,96,24,120,24,120,24,160,24,96,5,168,5,232,5,40,6,88,6,160,6,240,6,80,7,144,7,232,7,48,8,128,8,0,9,80,9,208,9,64,10,127,10,178,10,250,10,58,11,114,11,122,11,178,11,246,11,14,12,54,12,94,12,174,12,13,13,114,13,193,13,30,14,109,14,205,14,253,14,100,15,64,16,189,16,36,17,108,17,204,17,12,18,68,18,203,18,26,19,150,19,242,19,48,20,144,20,253,20,93,21,148,21,242,21,74,22,145,22,1,23,69,23,181,23,250,23,52,24,128,24,196,24,253,24,83,25,109,33,116,33,132,33,13,15,164,33,180,33,196,33,212,33,228,33,236,33,252,33,152,8,90,22,88,20,36,34,68,34,75,34,91,34,98,34,114,34,130,34,162,34,178,34,194,34,202,34,210,34,226,34,242,34,248,34,254,34,22,35,30,35,62,35,69,35,77,35,85,35,116,35,146,35,169,35,176,35,217,35,2,36,2,36,5,36,66,36,66,36,11,36,74,36,81,36,143,36,144,36,198,36,198,36,198,36,203,36,251,36,209,22,3,37,11,37,67,37,67,37,73,37,81,37,121,37,120,16,112,16,144,16,168,16,173,16,205,16,212,16,228,16,236,16,252,16,184,8,44,17,68,17,84,17,100,17,124,17,140,17,148,17,188,17,212,17,168,9,228,17,244,17,4,18,28,18,44,18,52,18,76,18,92,18,108,18,124,18,132,18,148,18,156,18,172,18,180,18,187,18,219,18,235,18,251,18,11,19,18,19,42,19,50,19,58,19,90,19,106,19,122,19,126,19,182,19,182,19,188,19,212,19,218,19,234,19,10,20,16,20,32,20,40,20,56,20,140,15,64,20,112,20,128,20,216,8,104,9,56,10,234,10,98,11,38,12,253,12,106,13,230,13,93,14,5,15,116,15,48,16,181,16,76,17,220,17,84,18,3,19,196,19,120,20,77,21,202,21,137,22,149,23,44,24,180,24,59,25,1,26,136,26,32,27,194,27,202,28,82,29,186,29,73,30,201,30,112,31,231,31,44,32,165,32,9,33,124,33,82,28,38,35,19,36,152,36,19,37,129,37,7,38,130,38,250,38,100,39,235,39,115,40,118,41,75,42,150,42,222,42,133,43,251,43,69,45,253,45,207,46,174,47,136,53,167,53,174,53,190,53,236,53,243,53,251,53,11,54,19,54,35,54,67,54,70,54,94,54,101,54,117,54,124,54,132,54,236,54,4,55,12,55,20,55,134,19,52,55,42,22,76,55,100,55,124,55,131,55,96,9,147,55,154,55,162,55,186,55,218,55,172,24,242,55,250,55,2,56,18,56,42,56,58,56,66,56,90,56,106,56,112,56,120,56,144,56,152,56,160,56,184,56,193,30,216,56,246,56,254,56,6,57,30,57,37,57,225,30,77,57,101,57,103,57,142,57,110,57,150,57,163,11,170,11,233,11,233,11,238,11,254,11,254,11,6,12,30,12,62,12,78,12,86,12,102,12,126,12,142,12,166,12,182,12,198,12,214,12,238,12,245,12,29,13,59,13,67,13,83,13,90,13,133,13,140,13,180,13,185,13,209,13,214,13,254,13,54,14,62,14,78,14,85,14,101,14,117,14,133,14,149,14,165,14,181,14,197,14,213,14,237,14,245,14,21,15,37,15,61,15,68,15,92,15,108,15,148,15,177,15,201,15,209,15,232,15,8,16,32,16,40,16,98,16,98,16,104,16,160,24,164,24,212,24,212,24,216,24,232,24,237,24,21,25,28,25,35,25,51,25,91,25,107,25,114,25,122,25,138,25,194,11,154,25,186,25,202,25,226,25,249,25,39,26,46,26,84,26,89,26,120,26,120,26,128,26,180,26,180,26,186,26,227,26,228,26,236,26,20,27,20,27,24,27,71,27,71,27,74,27,113,27,113,27,114,27,138,27,138,27,122,27,154,27,178,27,186,27,210,27,218,27,226,27,250,27,221,14,10,28,34,28,50,28,66,28,74,28,114,28,98,28,138,28,146,28,0,69,6,69,22,69,25,69,49,69,73,69,77,69,101,69,109,69,149,69,155,69,163,69,171,69,187,69,195,69,211,69,227,69,243,69,249,69,1,70,25,70,41,70,57,70,73,70,89,70,105,70,112,70,128,70,144,70,168,70,184,70,216,70,224,70,210,25,16,71,40,71,56,71,80,71,96,71,112,71,128,71,136,71,168,71,184,71,192,71,195,71,202,11,235,71,242,71,192,70,18,72,26,72,50,72,55,72,79,72,95,72,111,72,135,72,151,72,167,72,183,72,190,72,197,72,229,72,184,64,191,64,215,64,231,64,247,64,255,64,23,65,31,65,55,65,63,65,79,65,95,65,119,65,151,65,159,65,191,65,196,65,212,65,235,65,243,65,19,66,51,66,55,66,71,66,87,66,95,66,111,66,143,66,150,66,118,12,4,67,222,13,28,67,44,67,60,67,84,67,92,67,100,67,116,67,123,67,139,67,147,67,163,67,179,67,195,67,219,67,92,55,251,67,11,68,18,68,26,68,74,68,82,68,90,68,114,68,119,68,124,68,140,68,146,68,162,68,168,68,184,68,200,68,232,68,121,37,176,20,145,37,153,37,193,37,201,37,217,37,223,37,255,37,15,38,21,38,37,38,53,38,77,38,117,38,122,38,146,38,153,38,185,38,193,38,238,38,242,38,18,39,22,39,29,39,92,39,37,39,116,39,124,39,148,39,156,39,124,15,196,39,203,39,219,39,251,39,3,40,11,40,27,40,35,40,190,12,59,40,67,40,75,40,107,40,123,40,139,40,147,40,155,40,179,40,185,40,209,40,28,34,233,40,170,34,241,40,1,41,9,41,33,41,38,41,70,41,78,41,94,41,194,25,162,28,178,28,58,28,218,28,226,28,250,28,26,29,50,29,66,29,90,29,114,29,130,29,162,29,178,29,226,29,234,29,2,30,9,30,33,30,34,22,60,18,97,30,65,30,113,30,137,30,145,30,169,30,185,30,217,30,1,31,33,31,62,31,68,31,104,31,142,31,98,13,182,31,182,31,190,31,219,31,219,31,223,31,21,32,28,32,30,32,36,32,97,32,97,32,100,32,148,32,152,32,157,32,197,32,197,32,197,32,201,32,241,32,249,32,1,33,25,33,30,33,62,33,69,33,93,33,158,57,159,57,245,24,167,57,207,57,214,57,222,57,246,57,254,57,6,58,6,14,22,58,57,49,227,39,46,58,62,58,78,58,102,58,118,58,134,58,142,58,221,45,174,58,182,58,198,58,254,58,26,59,31,59,60,59,63,59,84,59,88,59,93,59,99,59,155,59,155,59,155,59,155,59,163,59,207,59,207,59,211,36,215,59,223,59,14,60,14,60,14,60,15,60,64,60,72,60,80,60,80,60,87,60,127,60,43,25,135,60,143,60,151,60,194,60,156,60,202,60,208,60,8,61,216,60,235,72,3,73,9,73,25,73,41,73,57,73,73,73,80,73,96,73,112,73,144,73,184,73,126,58,215,73,234,73,241,73,38,74,43,74,65,74,65,74,72,74,112,74,117,74,137,74,142,74,180,74,183,74,215,74,219,74,235,74,241,74,1,75,8,75,16,75,54,75,189,75,197,75,213,75,220,75,236,75,252,75,12,76,18,76,42,76,58,76,65,76,89,76,97,76,105,76,153,76,169,76,60,17,209,76,233,76,241,76,246,76,14,77,20,77,36,77,52,77,68,77,84,77,90,77,98,77,162,25,62,26,152,26,252,26,40,27,130,27,202,27,18,28,122,28,242,28,74,29,138,29,194,29,25,30,41,30,81,30,129,30,177,30,241,30,84,31,150,31,247,31,60,32,173,32,217,32,77,33,140,33,4,34,44,34,122,34,186,34,46,35,184,35,27,36,97,36,160,36,27,37,97,37,161,37,239,37,69,38,161,38,10,39,45,39,164,39,243,39,91,40,225,40,54,41,142,41,21,42,112,42,246,42,86,43,189,43,235,43,19,44,207,44,22,45,85,45,173,45,21,46,122,46,215,46,247,80,186,28,39,81,71,81,87,81,111,81,115,81,139,81,163,81,147,81,187,81,195,81,211,81,219,81,227,81,3,82,43,82,67,82,75,82,91,82,107,82,115,82,123,82,131,82,155,82,160,82,184,82,208,82,224,82,230,82,238,82,254,82,6,83,14,83,22,83,29,83,37,83,53,83,69,83,77,83,101,83,108,83,124,83,148,83,156,83,140,83,196,83,217,83,241,83,242,83,10,84,18,84,34,84,39,84,79,84,87,84,95,84,119,84,135,84,142,84,188,83,238,84,254,84,30,85,106,77,130,77,137,77,144,77,152,77,168,77,184,77,189,77,221,77,250,71,245,77,253,77,4,78,20,78,28,78,44,78,68,78,92,78,100,78,108,78,124,78,130,78,154,78,162,78,170,78,186,78,194,78,218,78,226,78,242,78,249,78,9,79,17,79,33,79,41,79,65,79,81,79,105,79,109,79,133,79,141,79,157,79,173,79,181,79,197,79,210,28,245,79,251,79,11,80,27,80,43,80,51,80,91,80,97,80,103,80,127,80,143,80,151,80,167,80,183,80,191,80,199,80,215,80,231,80,34,29,98,29,17,30,153,30,209,30,76,31,239,31,52,32,108,32,209,32,38,33,188,33,20,34,138,34,234,34,225,35,89,36,219,36,89,37,231,37,85,38,2,39,132,39,43,40,99,40,217,40,166,41,59,42,174,42,30,43,173,43,59,44,6,45,181,45,229,45,172,46,107,47,59,48,217,48,73,49,254,49,210,50,39,51,155,51,77,52,180,52,34,53,198,53,78,54,180,54,228,54,60,55,170,55,128,56,53,57,238,57,38,58,206,58,179,59,31,60,95,60,224,60,73,61,140,61,184,49,192,49,208,49,224,49,230,49,246,49,14,50,22,50,148,33,38,50,54,50,70,50,76,50,100,50,106,50,114,50,122,50,138,50,162,50,178,50,202,50,218,50,121,30,234,50,239,50,15,51,31,51,79,51,85,51,109,51,113,51,145,51,147,51,175,51,175,51,178,51,194,51,194,51,202,51,239,51,207,51,247,51,15,52,22,52,29,52,45,52,69,52,85,52,92,52,108,52,124,52,148,52,172,52,196,52,204,52,220,52,252,52,12,53,18,53,26,53,50,53,80,53,88,53,104,53,51,40,163,40,46,41,150,41,83,42,54,43,197,43,27,44,215,44,109,45,205,45,75,46,199,46,68,47,190,47,35,48,201,48,113,49,30,50,170,50,129,51,53,52,212,52,120,53,156,54,204,54,244,54,202,55,192,56,14,57,118,57,199,57,54,58,214,58,123,59,239,59,240,60,196,61,148,62,51,63,17,64,15,65,27,66,190,66,236,66,36,67,203,67,42,68,176,68,93,69,9,70,160,70,240,70,0,71,152,71,34,72,221,72,152,73,88,74,62,75,110,75,149,75,173,75,50,76,46,47,182,47,27,48,147,48,225,48,25,49,105,49,216,49,84,50,146,50,247,50,121,51,215,51,37,52,100,52,188,52,42,53,206,53,51,54,148,54,36,55,116,55,226,55,34,56,168,56,85,57,191,57,14,58,70,58,6,59,115,59,187,59,231,59,39,60,172,60,232,60,32,61,81,61,118,61,172,61,52,62,203,62,21,63,138,63,242,63,73,64,176,64,7,65,167,65,3,66,119,66,68,67,187,67,3,68,192,68,57,69,117,69,203,69,65,70,152,70,24,71,144,71,219,71,10,72,16,61,56,61,56,61,58,61,97,61,97,61,65,61,105,61,110,61,126,61,132,61,148,61,41,49,164,61,188,61,212,61,220,61,228,61,4,62,28,62,36,62,68,62,74,62,103,62,111,62,135,62,140,62,180,62,180,62,188,62,195,62,223,62,255,62,108,55,7,63,8,63,13,63,29,63,35,63,67,63,83,63,91,63,99,63,106,63,114,63,122,63,146,63,154,63,178,63,202,63,218,63,234,63,2,64,9,64,41,64,65,64,89,64,97,64,113,64,129,64,145,64,152,64,160,64,168,64,143,72,243,72,65,73,128,73,9,74,80,74,191,74,249,74,205,75,73,76,193,76,28,77,114,77,229,77,36,78,178,78,73,79,189,79,159,80,31,81,123,81,251,81,168,82,93,83,26,84,190,84,118,85,242,85,192,86,54,87,189,87,19,88,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,129,76,217,76,60,77,237,77,234,78,205,79,3,80,67,80,23,81,155,81,11,82,51,82,192,82,116,83,103,84,166,84,198,84,42,85,211,85,26,86,42,86,74,86,145,86,208,86,94,87,227,87,11,88,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,242,108,249,108,1,109,48,0,9,109,9,109,9,109,11,109,224,93,157,97,137,99,165,97,172,97,180,97,184,97,120,92,48,0,48,0,48,0,48,0,138,108,146,108,150,108,185,88,158,108,121,99,177,102,185,102,232,93,105,109,240,93,48,0,174,108,166,108,182,108,186,108,208,108,123,100,72,106,78,106,216,108,222,108,226,108,215,94,48,0,48,0,48,0,48,0,19,109,19,109,19,109,19,109,19,109,19,109,19,109,19,109,19,109,22,109,30,109,38,109,48,0,48,0,48,0,48,0,88,91,27,105,120,93,209,99,96,91,193,88,201,88,131,100,104,91,139,100,56,93,152,90,112,91,145,104,160,90,217,99,153,104,24,90,48,0,48,0,161,104,200,93,224,91,168,90,120,91,176,90,169,104,209,88,48,0,48,0,48,0,48,0,177,104,180,104,184,90,188,104,196,104,128,91,192,90,48,0,48,0,48,0,48,0,48,0,204,104,136,91,200,90,48,0,212,104,232,91,144,91,167,94,220,104,208,90,147,100,48,0,252,104,128,93,48,0,48,0,48,0,48,0,48,0,48,0,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,165,109,217,88,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,249,106,251,106,234,108,144,93,48,0,48,0,2,107,56,90,106,108,88,92,247,94,233,99,114,108,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,26,107,18,107,248,92,48,0,48,0,48,0,34,108,50,108,42,108,66,108,58,108,48,0,48,0,225,88,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,194,108,194,108,194,108,200,108,176,89,233,88,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,97,208,97,208,97,208,97,208,97,208,97,208,97,224,97,232,97,239,97,246,97,241,88,249,88,255,88,254,97,6,98,14,98,22,98,7,89,48,0,48,0,48,0,48,0,241,99,114,97,114,97,130,97,51,100,48,0,48,0,48,0,48,0,243,100,43,101,246,100,46,101,254,100,6,101,65,101,14,101,22,101,17,101,30,101,45,101,15,101,243,100,43,101,38,101,46,101,41,101,49,101,44,101,14,101,249,101,255,95,39,96,7,96,47,96,15,96,55,96,23,96,63,96,31,96,155,100,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,42,99,15,89,18,89,15,89,25,89,32,89,40,89,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,10,107,10,107,10,107,10,107,10,107,10,107,48,89,48,0,42,107,34,107,64,90,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,246,99,254,99,30,98,48,0,48,0,6,100,38,98,48,0,48,0,48,0,48,0,48,0,48,0,33,103,57,103,113,103,49,103,41,103,65,103,48,0,87,95,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,56,89,15,89,15,89,15,89,48,0,48,0,48,0,48,0,15,89,15,89,15,89,15,89,15,89,15,89,15,89,64,89,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,46,109,49,109,184,93,192,97,65,109,145,99,48,0,153,99,248,93,216,93,48,0,48,0,173,109,27,100,14,100,19,100,192,89,32,92,112,93,255,94,161,99,48,0,81,109,152,89,57,109,192,93,169,99,177,99,223,94,185,99,48,0,48,0,163,106,171,106,179,106,48,0,147,106,155,106,139,106,129,99,179,105,160,89,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,113,99,89,109,32,90,48,0,48,0,187,100,193,99,168,89,48,0,48,0,97,109,201,99,73,109,244,104,216,90,48,0,48,0,48,0,82,108,74,108,225,99,228,104,152,91,224,90,48,0,48,0,236,104,240,91,231,94,83,105,232,90,191,94,91,105,248,91,199,94,90,108,98,108,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,35,105,160,91,136,93,207,94,99,105,168,91,48,0,48,0,4,105,11,105,240,90,19,105,0,92,147,100,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,93,48,0,48,0,48,0,48,0,48,0,26,108,131,95,239,94,145,102,169,102,48,0,48,0,48,0,48,0,48,0,48,0,122,108,96,92,200,97,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,130,108,104,92,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,113,109,121,109,132,109,132,109,124,109,140,109,140,109,140,109,140,109,140,109,142,109,48,0,48,0,48,0,195,100,35,100,43,100,0,94,150,109,150,109,150,109,150,109,150,109,150,109,157,109,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,46,98,51,98,55,98,55,98,71,98,79,98,87,98,92,98,32,94,48,94,73,101,119,98,227,100,195,95,48,0,4,97,194,107,2,110,143,94,127,98,48,0,48,0,48,0,48,0,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,135,98,214,98,214,98,214,98,214,98,214,98,214,98,216,98,224,98,232,98,232,98,232,98,235,98,243,98,243,98,245,98,253,98,5,99,9,99,15,99,23,99,29,99,34,99,48,0,48,0,166,98,166,98,166,98,168,98,175,98,175,98,180,98,184,98,100,98,100,98,103,98,111,98,192,98,198,98,206,98,48,0,192,96,192,96,192,96,192,96,208,96,213,96,219,96,163,100,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,186,107,249,107,249,107,249,107,249,107,249,107,249,107,249,107,250,107,48,0,234,107,241,107,222,109,222,109,222,109,222,109,222,109,222,109,222,109,222,109,222,109,222,109,222,109,223,109,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,181,109,188,109,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,196,109,198,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,206,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,231,109,234,109,48,0,214,109,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,110,122,110,106,110,146,110,162,110,178,110,98,110,202,110,210,110,218,110,242,110,250,110,130,110,18,111,26,111,170,110,50,111,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,255,255,255,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,5,0,4,5,5,92,7,5,5,136,13,5,5,140,13,5,5,134,13,5,5,142,13,5,5,139,12,5,5,114,10,5,5,16,12,5,5,91,12,43,5,0,42,5,5,138,9,5,5,135,12,0,0,0,0,5,5,95,12,5,5,12,12,5,5,83,12,5,5,123,12,36,5,0,23,36,5,0,25,5,5,6,12,16,5,42,96,5,5,118,10,200,0,0,0,5,5,20,12,36,5,0,21,43,5,0,70,5,5,140,9,197,35,69,0,197,99,68,0,197,227,83,0,5,5,100,7,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,108,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,192,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,108,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,196,164,156,42,196,164,5,42,196,140,156,42,196,140,5,42,196,162,156,42,196,162,5,42,196,136,156,46,196,136,5,46,196,142,156,46,196,142,5,46,196,156,156,46,196,156,5,46,196,144,156,46,196,144,5,46,196,144,156,48,196,144,5,48,196,178,156,48,196,178,5,48,196,164,156,50,196,164,5,50,196,140,156,50,196,140,5,50,196,156,156,50,196,156,5,50,196,162,156,50,196,162,5,50,196,144,156,50,196,144,5,50,196,142,156,54,196,142,5,54,196,140,156,54,196,140,5,54,196,156,156,54,196,156,5,54,196,160,156,54,196,160,5,54,196,142,156,56,196,142,5,56,196,178,156,56,196,178,5,56,196,154,156,58,196,154,5,58,196,164,156,58,196,164,5,58,196,140,156,58,196,140,5,58,196,162,156,58,196,162,5,58,196,156,156,58,5,5,6,59,197,66,141,0,197,2,141,0,196,142,156,60,196,142,5,60,196,160,156,62,196,160,5,62,5,5,16,75,196,136,156,64,196,136,5,64,196,160,156,64,196,160,5,64,196,144,156,64,196,144,5,64,197,2,149,0,197,194,148,0,196,178,156,64,196,178,5,64,196,136,156,68,196,136,5,68,196,160,156,68,196,160,5,68,196,144,156,68,196,144,5,68,197,162,212,0,158,5,30,69,5,5,30,69,196,164,156,70,196,164,5,70,196,140,156,70,196,140,5,70,196,152,156,70,196,152,5,70,197,2,179,0,197,194,178,0,196,136,156,76,196,136,5,76,196,160,156,76,196,160,5,76,196,144,156,76,196,144,5,76,196,136,156,78,196,136,5,78,196,142,156,78,196,142,5,78,196,160,156,78,196,160,5,78,196,144,156,78,196,144,5,78,196,160,156,80,196,160,5,80,196,144,156,80,196,144,5,80,160,5,8,81,5,5,8,81,196,154,156,82,196,154,5,82,196,164,156,82,196,164,5,82,196,140,156,82,196,140,5,82,196,146,156,82,196,146,5,82,196,152,156,82,196,152,5,82,196,162,156,82,196,162,5,82,196,142,160,86,196,142,5,86,196,142,156,90,196,142,5,90,196,150,156,90,196,136,156,92,196,136,5,92,196,156,156,92,196,156,5,92,196,144,156,92,196,144,5,92,5,120,0,78,5,5,8,45,160,5,20,45,160,5,22,45,5,5,22,45,160,5,74,93,5,5,74,93,160,5,30,71,160,5,14,47,5,5,14,47,160,5,16,49,160,5,18,49,160,5,22,49,5,5,22,49,197,226,211,0,160,5,20,51,155,5,24,51,144,5,28,51,160,5,16,53,5,5,16,53,160,5,16,55,160,5,24,55,5,5,8,57,160,5,24,59,160,5,16,59,160,5,10,63,5,5,10,63,5,5,14,65,5,5,42,65,160,5,40,83,160,5,14,69,5,5,16,69,160,5,50,71,196,190,156,70,196,190,5,70,160,5,26,55,5,5,26,55,160,5,16,73,5,5,16,73,174,5,8,77,160,5,70,93,5,5,70,93,158,5,22,79,5,5,28,79,5,5,14,81,160,5,16,81,5,5,16,81,160,5,18,81,196,190,156,82,196,190,5,82,160,5,48,83,160,5,12,85,160,5,10,91,5,5,10,91,160,5,8,93,5,5,8,93,158,5,26,93,160,5,30,93,5,5,30,93,5,5,34,93,5,5,62,93,160,5,72,93,5,5,72,93,197,34,195,0,5,5,44,93,5,5,112,93,5,5,114,93,5,5,116,93,5,5,118,93,197,67,123,0,197,227,122,0,197,131,122,0,197,194,149,0,197,130,149,0,197,66,149,0,197,66,162,0,197,2,162,0,197,194,161,0,196,144,156,42,196,144,5,42,196,144,156,58,196,144,5,58,196,144,156,70,196,144,5,70,196,144,156,82,196,144,5,82,197,131,199,0,197,35,199,0,197,67,197,0,197,227,196,0,197,195,198,0,197,99,198,0,197,3,198,0,197,163,197,0,5,5,20,51,197,195,102,0,197,99,102,0,197,131,103,0,197,35,103,0,197,3,110,0,197,163,109,0,160,5,12,55,5,5,12,55,196,144,156,54,196,144,5,54,196,144,156,62,196,144,5,62,196,162,156,70,196,162,5,70,197,35,172,0,197,195,171,0,197,98,212,0,197,34,212,0,196,144,5,60,197,66,122,0,197,2,122,0,197,194,121,0,196,136,156,54,196,136,5,54,160,5,8,57,160,5,44,93,196,138,156,68,196,138,5,68,197,131,101,0,197,35,101,0,197,67,109,0,197,227,108,0,197,99,171,0,197,3,171,0,196,184,156,42,196,184,5,42,196,188,156,42,196,188,5,42,196,184,156,50,196,184,5,50,196,188,156,50,196,188,5,50,196,184,156,58,196,184,5,58,196,188,156,58,196,188,5,58,196,184,156,70,196,184,5,70,196,188,156,70,196,188,5,70,196,184,156,76,196,184,5,76,196,188,156,76,196,188,5,76,196,184,156,82,196,184,5,82,196,188,156,82,196,188,5,82,196,202,156,78,196,202,5,78,196,202,156,80,196,202,5,80,160,5,16,91,5,5,16,91,196,144,156,56,196,144,5,56,160,5,16,69,5,5,24,49,160,5,58,71,5,5,58,71,160,5,14,93,5,5,14,93,196,156,156,42,196,156,5,42,196,160,156,50,196,160,5,50,197,163,167,0,197,67,167,0,197,227,169,0,197,131,169,0,196,156,156,70,196,156,5,70,197,163,170,0,197,67,170,0,196,164,156,90,196,164,5,90,5,5,34,65,5,5,24,69,5,5,20,81,5,5,6,61,197,194,119,0,197,98,184,0,160,5,8,43,160,5,8,47,5,5,8,47,160,5,14,65,160,5,10,81,5,5,16,79,5,5,20,93,160,5,78,93,5,5,78,93,160,5,8,45,160,5,20,83,160,5,20,85,160,5,12,51,5,5,12,51,160,5,10,61,5,5,10,61,160,5,14,75,5,5,14,75,160,5,16,77,5,5,16,77,160,5,8,91,5,5,8,91,5,5,20,43,5,5,22,43,5,5,28,43,5,5,20,45,5,5,30,71,5,5,16,47,5,5,16,49,5,5,18,49,5,5,32,51,5,5,24,51,5,5,34,51,5,5,28,51,5,5,36,51,5,5,42,51,5,5,44,51,5,5,14,61,5,5,16,55,5,5,6,55,5,5,10,55,5,5,24,55,5,5,48,51,5,5,34,83,5,5,12,57,5,5,22,57,5,5,16,59,5,5,24,59,5,5,8,59,5,5,18,65,5,5,24,65,5,5,30,65,5,5,38,65,5,5,40,83,5,5,46,83,5,5,12,67,5,5,14,69,5,5,22,69,5,5,6,69,5,5,50,71,5,5,12,71,5,5,54,71,5,5,24,73,5,5,20,77,5,5,24,77,5,5,28,77,5,5,32,77,5,5,34,77,5,5,38,77,5,5,42,77,5,5,8,77,5,5,54,77,5,5,14,79,5,5,22,79,5,5,16,61,5,5,30,79,5,5,34,79,5,5,24,81,5,5,18,81,5,5,20,83,5,5,48,83,5,5,12,85,5,5,20,85,5,5,12,87,5,5,44,65,5,5,6,91,5,5,16,93,5,5,18,93,5,5,26,93,5,5,36,93,5,5,76,93,5,5,94,93,5,5,110,93,5,5,120,93,5,5,122,93,5,5,6,45,5,5,46,51,5,5,18,55,5,5,6,57,5,5,12,61,5,5,20,63,5,5,6,65,5,5,12,75,5,5,106,93,5,5,108,93,197,194,121,0,197,34,124,0,197,226,123,0,197,34,195,0,197,162,195,0,197,162,193,0,197,162,132,0,197,98,152,0,197,66,153,0,5,5,124,93,5,5,126,93,5,5,36,83,5,5,38,83,43,5,0,56,46,5,12,57,43,5,0,60,43,5,0,76,32,5,20,77,32,5,28,77,32,5,54,77,52,5,0,86,43,5,0,90,5,5,24,12,5,5,28,12,5,5,24,57,5,5,82,93,5,5,26,57,5,5,86,93,5,5,96,93,5,5,80,93,5,5,98,93,193,2,30,12,193,9,30,12,193,16,30,12,193,23,30,12,5,5,32,12,5,5,34,12,5,5,36,12,5,5,38,12,5,5,40,12,5,5,42,12,5,5,44,12,5,5,46,12,5,5,48,12,5,5,50,12,5,5,80,13,5,5,82,13,193,2,52,12,193,9,52,12,193,16,52,12,193,23,52,12,193,44,52,12,193,51,52,12,193,2,14,12,193,9,14,12,193,2,18,12,193,2,22,12,5,5,8,12,193,9,18,12,193,58,52,12,193,65,52,12,46,5,24,55,43,5,0,64,43,5,0,78,43,5,0,88,32,5,94,93,193,72,52,12,193,79,52,12,193,86,52,12,193,93,52,12,193,100,52,12,193,107,52,12,193,114,52,12,5,5,54,12,193,2,56,12,5,5,84,93,193,9,56,12,193,16,56,12,193,23,56,12,193,30,56,12,193,37,56,12,193,44,56,12,193,51,56,12,193,58,56,12,193,65,56,12,193,72,56,12,193,79,56,12,193,86,56,12,193,93,56,12,193,100,56,12,193,107,56,12,193,114,56,12,193,121,56,12,5,138,0,0,5,136,0,0,5,142,0,0,5,154,0,0,5,164,0,0,5,180,0,0,5,140,0,0,5,156,0,0,5,150,0,0,5,182,0,0,5,146,0,0,5,152,0,0,5,144,0,0,5,166,0,0,5,166,0,0,5,184,0,0,5,186,0,0,5,188,0,0,5,166,0,0,5,132,0,0,5,134,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,190,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,192,0,0,5,194,0,0,5,196,0,0,5,198,0,0,5,200,0,0,5,202,0,0,5,160,0,0,5,162,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,204,0,0,5,206,0,0,5,168,0,0,5,208,0,0,5,210,0,0,5,130,0,0,5,168,0,0,5,212,0,0,5,178,0,0,5,170,0,0,5,170,0,0,5,158,0,0,5,214,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,138,0,0,5,136,0,0,5,148,0,0,5,132,0,0,197,34,0,0,5,216,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,168,0,0,0,0,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,218,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,220,0,0,5,222,0,0,5,168,0,0,19,5,0,42,19,5,0,50,19,5,0,58,19,5,0,70,19,5,0,82,19,5,0,46,19,5,0,48,19,5,0,56,19,5,0,66,19,5,0,76,19,5,0,80,19,5,0,84,19,5,0,88,160,5,26,96,5,5,26,96,160,5,92,96,5,5,92,96,5,5,24,12,5,5,26,12,160,5,20,96,5,5,20,96,255,255,255,255,255,255,255,255,16,5,32,96,5,5,70,96,5,5,68,96,5,5,72,96,5,5,42,7,160,5,34,96,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,6,12,197,98,49,0,197,34,226,0,200,0,0,0,197,2,234,0,197,2,248,0,197,98,0,1,255,255,255,255,197,2,11,1,255,255,255,255,197,226,16,1,197,66,34,1,197,99,2,1,166,5,6,96,158,5,8,96,152,5,10,96,155,5,14,96,166,5,16,96,158,5,24,96,158,5,28,96,158,5,30,96,166,5,32,96,160,5,36,96,158,5,38,96,160,5,42,96,158,5,44,96,158,5,46,96,158,5,48,96,166,5,50,96,160,5,60,96,255,255,255,255,158,5,66,96,158,5,74,96,155,5,76,96,158,5,78,96,152,5,80,96,158,5,82,96,155,5,86,96,197,34,2,1,197,226,18,1,197,226,225,0,197,194,233,0,197,194,247,0,197,34,0,1,197,99,19,1,5,5,6,96,5,5,8,96,5,5,10,96,5,5,14,96,5,5,16,96,5,5,24,96,5,5,28,96,5,5,30,96,5,5,32,96,5,5,36,96,5,5,38,96,5,5,42,96,5,5,44,96,5,5,46,96,5,5,48,96,5,5,50,96,5,5,60,96,51,5,66,96,5,5,66,96,5,5,74,96,5,5,76,96,5,5,78,96,5,5,80,96,5,5,82,96,5,5,86,96,197,226,1,1,197,162,18,1,197,194,10,1,197,162,16,1,197,2,34,1,197,99,4,1,16,5,8,96,16,5,30,96,166,5,76,96,197,34,17,1,197,34,19,1,16,5,78,96,16,5,50,96,197,3,4,1,160,5,58,96,5,5,58,96,160,5,22,96,5,5,22,96,158,5,18,96,5,5,18,96,160,5,56,96,5,5,56,96,160,5,90,96,5,5,90,96,160,5,160,96,5,5,160,96,160,5,170,96,5,5,170,96,160,5,172,96,5,5,172,96,160,5,178,96,5,5,178,96,160,5,192,96,5,5,192,96,160,5,198,96,5,5,198,96,160,5,206,96,5,5,206,96,16,5,36,96,16,5,60,96,16,5,66,96,5,5,34,96,165,5,30,96,16,5,16,96,193,30,117,12,160,5,94,96,5,5,94,96,165,5,66,96,160,5,54,96,5,5,54,96,5,5,64,96,160,5,70,96,160,5,68,96,160,5,72,96,197,130,39,1,197,130,40,1,160,5,32,97,197,2,39,1,174,5,42,97,160,5,58,97,174,5,74,97,197,66,44,1,160,5,80,97,160,5,106,97,160,5,134,97,160,5,170,97,197,194,44,1,197,130,42,1,197,130,46,1,160,5,216,97,174,5,6,97,174,5,12,97,174,5,14,97,174,5,16,97,174,5,26,97,174,5,40,97,174,5,44,97,174,5,50,97,201,102,1,0,160,5,78,97,174,5,84,97,174,5,98,97,174,5,114,97,158,5,120,97,158,5,138,97,174,5,142,97,174,5,150,97,174,5,156,97,174,5,162,97,174,5,172,97,174,5,180,97,174,5,182,97,174,5,192,97,174,5,200,97,174,5,218,97,174,5,222,97,158,5,226,97,174,5,230,97,158,5,232,97,160,5,238,97,174,5,240,97,160,5,244,97,5,5,6,97,5,5,12,97,5,5,14,97,5,5,16,97,5,5,26,97,5,5,40,97,5,5,44,97,5,5,50,97,201,70,2,0,5,5,78,97,5,5,84,97,5,5,98,97,5,5,114,97,5,5,120,97,5,5,138,97,5,5,142,97,5,5,150,97,5,5,156,97,5,5,162,97,5,5,172,97,5,5,180,97,5,5,182,97,5,5,192,97,5,5,200,97,5,5,218,97,5,5,222,97,5,5,226,97,5,5,230,97,5,5,232,97,5,5,238,97,5,5,240,97,5,5,244,97,197,66,39,1,197,66,40,1,5,5,32,97,197,194,38,1,5,5,42,97,5,5,58,97,5,5,74,97,197,194,43,1,5,5,80,97,5,5,106,97,5,5,134,97,5,5,170,97,197,130,44,1,197,66,42,1,197,66,46,1,5,5,216,97,198,225,155,0,193,16,190,97,198,65,157,0,193,2,236,97,198,33,158,0,193,9,246,97,198,97,158,0,193,16,246,97,198,1,159,0,193,44,246,97,198,193,158,0,193,30,246,97,198,97,159,0,193,58,246,97,198,129,159,0,193,65,246,97,198,161,159,0,193,72,246,97,198,225,159,0,193,79,246,97,198,1,160,0,193,86,246,97,198,34,160,0,197,194,49,1,198,33,155,0,193,9,178,97,198,97,156,0,193,44,190,97,198,65,156,0,193,37,190,97,198,1,156,0,193,23,190,97,160,5,148,97,5,5,148,97,193,2,85,12,5,224,0,0,5,166,0,0,5,134,0,0,5,132,0,0,5,166,0,0,0,0,0,0,0,0,0,0,160,5,72,97,5,5,72,97,160,5,234,97,5,5,234,97,160,5,152,97,5,5,152,97,160,112,16,97,5,112,16,97,160,5,18,97,5,5,18,97,160,5,22,97,5,5,22,97,160,5,48,97,5,5,48,97,160,5,38,97,5,5,38,97,160,5,86,97,5,5,86,97,160,5,94,97,5,5,94,97,160,5,92,97,5,5,92,97,160,5,90,97,5,5,90,97,160,5,126,97,5,5,126,97,160,5,132,97,5,5,132,97,160,5,146,97,5,5,146,97,160,5,248,97,5,5,248,97,160,5,160,97,5,5,160,97,160,5,166,97,5,5,166,97,160,5,174,97,5,5,174,97,160,5,176,97,5,5,176,97,160,5,186,97,5,5,186,97,160,5,196,97,5,5,196,97,160,5,204,97,5,5,204,97,160,5,208,97,5,5,208,97,160,5,188,97,5,5,188,97,160,5,212,97,5,5,212,97,160,5,214,97,5,5,214,97,160,5,252,97,197,2,41,1,197,194,40,1,160,5,88,97,5,5,88,97,160,5,102,97,5,5,102,97,160,5,128,97,5,5,128,97,160,5,124,97,5,5,124,97,160,5,206,97,5,5,206,97,160,5,116,97,5,5,116,97,5,5,252,97,197,130,37,1,197,66,37,1,197,2,38,1,197,194,37,1,160,5,10,97,5,5,10,97,197,2,40,1,197,194,39,1,160,5,8,97,5,5,8,97,197,130,38,1,197,66,38,1,197,130,41,1,197,66,41,1,197,2,42,1,197,194,41,1,160,5,62,97,5,5,62,97,197,130,43,1,197,66,43,1,197,2,43,1,197,194,42,1,197,66,45,1,197,2,45,1,160,5,140,97,5,5,140,97,197,194,45,1,197,130,45,1,197,130,49,1,197,66,49,1,197,2,48,1,197,194,47,1,197,2,47,1,197,194,46,1,197,130,47,1,197,66,47,1,197,130,48,1,197,66,48,1,160,5,24,97,5,5,24,97,197,2,49,1,197,194,48,1,160,5,20,97,5,5,20,97,198,65,155,0,193,2,184,97,198,97,155,0,193,9,184,97,160,5,28,97,5,5,28,97,160,5,36,97,5,5,36,97,160,5,54,97,5,5,54,97,160,5,66,97,5,5,66,97,160,5,110,97,5,5,110,97,160,5,136,97,5,5,136,97,160,5,158,97,5,5,158,97,198,193,154,0,193,9,164,97,198,193,153,0,193,2,56,97,198,97,154,0,193,9,104,97,160,5,112,97,5,5,112,97,160,5,154,97,5,5,154,97,198,225,157,0,193,2,246,97,198,33,154,0,193,9,96,97,160,5,250,97,5,5,250,97,198,1,154,0,193,2,96,97,198,129,154,0,193,16,104,97,160,5,130,97,5,5,130,97,160,5,144,97,5,5,144,97,198,129,155,0,193,2,190,97,160,5,122,97,5,5,122,97,198,129,153,0,193,2,46,97,198,193,156,0,193,2,202,97,198,65,154,0,193,2,104,97,255,255,255,255,160,5,6,100,160,5,10,100,160,5,12,100,160,5,14,100,174,5,16,100,160,5,18,100,160,5,20,100,160,5,22,100,160,5,24,100,160,5,26,100,174,5,28,100,160,5,30,100,174,5,32,100,160,5,34,100,160,5,36,100,160,5,38,100,160,5,40,100,160,5,42,100,160,5,44,100,174,5,46,100,160,5,48,100,174,5,52,100,160,5,54,100,160,5,56,100,160,5,58,100,160,5,60,100,160,5,62,100,160,5,64,100,160,5,66,100,174,5,68,100,160,5,70,100,160,5,72,100,160,5,74,100,174,5,76,100,160,5,78,100,160,5,80,100,160,5,82,100,160,5,84,100,255,255,255,255,255,255,255,255,5,5,86,100,5,5,8,11,5,5,10,11,5,5,94,7,5,5,18,7,5,5,104,7,5,5,12,11,5,5,8,100,5,5,6,100,5,5,10,100,5,5,12,100,5,5,14,100,5,5,16,100,5,5,18,100,5,5,20,100,5,5,22,100,5,5,24,100,5,5,26,100,5,5,28,100,5,5,30,100,5,5,32,100,5,5,34,100,5,5,36,100,5,5,38,100,5,5,40,100,5,5,42,100,5,5,44,100,5,5,46,100,5,5,48,100,5,5,52,100,5,5,54,100,5,5,56,100,5,5,58,100,5,5,60,100,5,5,62,100,5,5,64,100,5,5,66,100,5,5,68,100,5,5,70,100,5,5,72,100,5,5,74,100,5,5,76,100,5,5,78,100,5,5,80,100,5,5,82,100,5,5,84,100,197,2,50,1,5,5,50,100,5,5,56,7,5,5,16,5,255,255,255,255,255,255,255,255,193,9,85,12,193,16,85,12,5,5,144,13,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,5,35,226,194,5,68,226,194,5,101,226,194,5,134,226,194,5,167,226,194,5,200,226,194,5,233,226,194,5,12,227,194,5,45,227,194,5,78,227,194,5,78,227,194,5,111,227,194,5,210,227,0,0,0,0,5,5,14,11,194,5,243,227,5,5,16,11,194,5,177,227,194,5,144,227,5,5,18,11,0,0,0,0,0,0,0,0,5,5,20,11,194,5,45,227,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,6,101,5,5,8,101,5,5,10,101,5,5,12,101,5,5,14,101,5,5,16,101,5,5,18,101,5,5,20,101,5,5,22,101,5,5,24,101,46,5,26,101,5,5,26,101,5,5,28,101,46,5,30,101,5,5,30,101,32,5,32,101,5,5,32,101,5,5,34,101,5,5,36,101,32,5,38,101,5,5,38,101,32,5,40,101,5,5,40,101,5,5,42,101,5,5,44,101,5,5,46,101,5,5,48,101,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,196,55,1,197,66,54,1,197,130,54,1,197,66,56,1,5,5,22,11,5,5,24,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,44,151,12,193,58,151,12,193,23,85,12,5,5,158,10,5,5,162,10,5,5,146,13,5,5,20,7,5,5,22,7,193,44,85,12,193,51,85,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,44,7,0,0,0,0,255,255,255,255,5,5,58,7,5,5,106,7,193,30,248,102,5,5,6,102,5,5,8,102,5,5,10,102,5,5,16,102,5,5,18,102,5,5,22,102,201,38,3,0,5,5,30,102,5,5,40,102,5,5,42,102,5,5,44,102,5,5,58,102,5,5,72,102,5,5,74,102,5,5,84,102,5,5,86,102,5,5,110,102,5,5,112,102,5,5,134,102,5,5,136,102,5,5,146,102,5,5,148,102,5,5,158,102,5,5,160,102,5,5,166,102,5,5,168,102,193,51,194,102,193,58,194,102,193,9,248,102,193,16,248,102,193,23,248,102,0,0,0,0,5,5,174,102,5,5,178,102,5,5,182,102,5,5,196,102,5,5,200,102,5,5,204,102,5,5,214,102,201,6,5,0,5,5,236,102,201,230,5,0,194,5,164,229,194,5,9,230,194,5,108,230,194,5,207,230,194,5,85,231,194,5,184,231,194,5,29,232,194,5,62,232,194,5,95,232,194,5,128,232,194,5,161,232,194,5,227,232,194,5,6,233,194,5,39,233,194,5,105,233,194,5,138,233,194,5,171,233,194,5,204,233,194,5,237,233,194,5,16,234,194,5,194,232,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,154,10,5,5,24,7,5,5,26,7,5,5,134,10,5,5,28,102,193,72,176,102,194,5,59,235,5,5,14,102,5,5,12,102,193,2,20,102,32,5,6,102,197,226,69,1,197,98,183,1,197,162,183,1,197,162,184,1,5,5,46,102,5,5,48,102,5,5,32,102,5,5,50,102,5,5,52,102,5,5,34,102,5,5,54,102,5,5,36,102,5,5,76,102,5,5,78,102,5,5,60,102,5,5,62,102,5,5,80,102,5,5,64,102,5,5,68,102,5,5,88,102,5,5,90,102,5,5,92,102,5,5,94,102,5,5,96,102,5,5,98,102,5,5,102,102,5,5,104,102,5,5,106,102,5,5,114,102,5,5,116,102,5,5,118,102,5,5,120,102,5,5,122,102,5,5,124,102,5,5,126,102,5,5,128,102,5,5,130,102,5,5,138,102,5,5,140,102,5,5,142,102,5,5,150,102,5,5,154,102,5,5,162,102,5,5,170,102,193,2,176,102,193,9,176,102,193,23,176,102,193,30,176,102,193,44,176,102,193,51,176,102,193,2,180,102,193,16,180,102,5,5,184,102,5,5,186,102,5,5,188,102,193,2,190,102,193,16,190,102,193,23,190,102,5,5,192,102,193,9,194,102,193,16,194,102,193,23,194,102,193,30,194,102,193,37,194,102,193,2,198,102,193,9,198,102,193,16,198,102,193,23,198,102,193,9,212,102,5,5,206,102,193,9,208,102,5,5,210,102,193,2,212,102,5,5,216,102,5,5,66,102,197,34,183,1,5,5,218,102,197,226,182,1,193,2,220,102,5,5,224,102,193,2,226,102,193,9,226,102,5,5,228,102,5,5,230,102,5,5,232,102,193,2,234,102,193,9,234,102,5,5,240,102,5,5,242,102,5,5,244,102,193,23,234,102,5,5,246,102,193,2,248,102,5,5,250,102,197,194,190,1,5,5,8,9,193,16,220,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,58,85,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,222,102,16,5,238,102,0,0,0,0,0,0,0,0,193,65,85,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,2,108,102,193,2,132,102,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,2,144,102,5,5,156,102,193,9,172,102,5,112,6,102,5,112,200,102,193,9,220,102,193,28,53,9,193,2,10,9,193,9,10,9,193,2,60,7,193,9,60,7,193,16,60,7,193,23,60,7,193,30,60,7,193,37,60,7,5,5,108,7,193,2,26,11,193,9,26,11,193,16,26,11,193,23,26,11,255,255,255,255,0,0,0,0,193,9,4,103,194,5,92,235,5,5,6,103,5,5,8,103,5,112,8,103,5,5,12,103,5,5,10,103,193,2,14,103,193,9,14,103,193,16,14,103,193,30,14,103,5,5,16,103,5,112,16,103,193,2,18,103,193,9,18,103,193,16,18,103,193,30,18,103,193,37,18,103,193,44,18,103,5,5,20,103,32,5,20,103,5,5,22,103,5,5,24,103,5,112,24,103,193,9,26,103,193,16,26,103,193,23,26,103,193,30,26,103,193,37,26,103,5,112,6,103,5,120,8,103,5,112,12,103,194,5,125,235,194,5,158,235,194,5,191,235,194,5,224,235,194,5,3,236,194,5,36,236,194,5,69,236,194,5,102,236,194,5,135,236,194,5,168,236,194,5,201,236,194,5,234,236,194,5,13,237,194,5,46,237,194,5,79,237,194,5,112,237,0,0,0,0,5,166,0,0,5,168,0,0,0,0,0,0,0,0,0,0,5,166,0,0,5,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,193,23,14,103,193,23,18,103,193,2,26,103,193,2,38,102,193,9,38,102,193,16,38,102,193,23,38,102,193,30,38,102,193,37,38,102,193,51,38,102,193,2,82,102,193,9,82,102,193,9,108,102,193,16,108,102,193,9,132,102,193,9,144,102,193,16,172,102,193,23,172,102,193,30,172,102,193,58,176,102,193,65,176,102,193,44,194,102,193,65,194,102,193,72,194,102,193,2,202,102,193,9,202,102,193,16,212,102,193,23,212,102,193,30,212,102,193,30,198,102,193,16,132,102,193,23,132,102,193,16,144,102,193,16,82,102,193,23,82,102,193,23,144,102,193,30,132,102,193,30,82,102,193,9,20,102,193,16,20,102,193,37,248,102,193,44,248,102,193,51,248,102,193,30,234,102,193,37,234,102,193,2,252,102,193,9,252,102,193,37,82,102,193,30,144,102,193,37,144,102,193,9,190,102,5,5,30,103,5,5,36,103,5,5,38,103,5,5,40,103,5,5,44,103,5,5,46,103,5,5,48,103,5,5,50,103,5,5,56,103,5,5,60,103,5,5,62,103,5,5,64,103,5,5,68,103,5,5,76,103,5,5,78,103,5,5,82,103,5,5,84,103,5,5,92,103,5,5,94,103,5,5,96,103,5,5,98,103,5,5,100,103,5,5,102,103,5,5,104,103,5,5,70,103,5,5,32,103,5,5,34,103,5,5,66,103,5,5,42,103,5,5,86,103,5,5,88,103,5,5,90,103,5,5,72,103,5,5,74,103,5,5,52,103,5,5,54,103,5,5,80,103,5,5,58,103,5,5,108,103,5,5,110,103,5,5,112,103,5,5,114,103,5,5,116,103,5,5,118,103,5,5,120,103,5,5,122,103,5,5,124,103,5,5,126,103,5,5,128,103,5,5,106,103,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,9,130,103,193,16,130,103,193,23,130,103,193,30,130,103,193,37,130,103,193,44,130,103,193,51,130,103,193,58,130,103,193,65,130,103,193,72,130,103,193,79,130,103,193,86,130,103,5,5,132,103,5,5,134,103,5,5,136,103,5,5,138,103,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,206,32,227,0,5,112,132,103,5,112,134,103,5,112,138,103,194,5,145,237,194,5,178,237,194,5,211,237,194,5,244,237,194,5,23,238,194,5,56,238,194,5,89,238,194,5,122,238,194,5,155,238,193,100,140,103,193,107,140,103,193,191,85,12,193,35,53,9,5,5,28,7,193,2,96,7,0,0,0,0,255,255,255,255,255,255,255,255,5,168,0,0,193,2,148,13,193,9,148,13,32,5,136,13,32,5,140,13,32,5,135,12,32,5,12,12,32,5,139,12,32,5,142,13,32,5,192,13,255,255,255,255,160,5,172,12,160,5,99,12,160,5,103,12,160,5,101,12,160,5,105,12,160,5,180,12,160,5,185,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,193,58,78,13,5,5,253,255,5,5,0,2,5,5,255,255,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,197,67,167,1,197,67,144,1,197,35,72,1,197,131,153,1,197,227,134,1,197,35,123,1,197,195,102,1,197,35,174,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,201,192,184,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,2,2,251,193,6,2,251,193,8,2,251,193,10,2,251,193,12,2,251,193,14,2,251,193,16,2,251,193,28,2,251,193,30,2,251,193,32,2,251,193,34,2,251,193,36,2,251,193,38,2,251,193,76,2,251,193,78,2,251,193,80,2,251,193,82,2,251,193,84,2,251,193,86,2,251,193,88,2,251,193,124,2,251,193,126,2,251,193,128,2,251,193,90,2,251,193,130,2,251,193,132,2,251,193,134,2,251,193,136,2,251,193,138,2,251,193,140,2,251,193,186,2,251,193,188,2,251,193,194,224,253,193,198,224,253,193,200,224,253,193,202,224,253,193,204,224,253,193,208,224,253,193,210,224,253,193,214,224,253,193,216,224,253,193,122,224,253,193,242,224,253,193,254,224,253,193,2,225,253,193,4,225,253,193,16,225,253,193,18,225,253,193,20,225,253,193,22,225,253,193,26,225,253,193,28,225,253,193,34,225,253,193,36,225,253,193,38,225,253,193,96,57,251,193,108,83,251,193,4,2,251,193,52,2,251,193,198,131,251,193,212,147,251,193,208,33,251,255,255,255,255,255,255,255,255,193,18,2,251,193,20,2,251,193,22,2,251,193,44,2,251,193,46,2,251,193,48,2,251,193,50,2,251,193,92,2,251,193,94,2,251,193,96,2,251,193,98,2,251,193,100,2,251,193,102,2,251,193,144,2,251,193,146,2,251,193,148,2,251,193,150,2,251,193,152,2,251,193,154,2,251,193,156,2,251,193,158,2,251,193,160,2,251,193,162,2,251,193,164,2,251,193,200,2,251,193,202,2,251,193,204,2,251,193,32,103,251,193,206,2,251,193,64,49,251,193,208,2,251,193,210,2,251,193,6,225,253,193,32,225,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,24,2,251,193,60,2,251,193,62,2,251,193,64,2,251,193,66,2,251,193,108,2,251,193,110,2,251,193,112,2,251,193,114,2,251,193,116,2,251,193,170,2,251,193,172,2,251,193,174,2,251,193,176,2,251,193,178,2,251,193,220,2,251,193,26,2,251,193,68,2,251,193,70,2,251,193,72,2,251,193,74,2,251,193,118,2,251,193,120,2,251,193,122,2,251,193,180,2,251,193,182,2,251,193,184,2,251,193,242,2,251,193,46,3,251,193,90,3,251,193,118,3,251,193,120,3,251,193,122,3,251,193,124,3,251,193,152,3,251,193,154,3,251,193,156,3,251,193,158,3,251,193,206,3,251,193,208,3,251,193,210,3,251,193,240,3,251,193,242,3,251,193,6,4,251,193,8,4,251,193,22,4,251,193,46,4,251,193,56,4,251,193,146,7,251,193,184,7,251,193,202,7,251,193,204,7,251,193,206,7,251,193,248,7,251,193,252,7,251,193,8,8,251,193,18,8,251,193,30,8,251,193,38,8,251,193,48,8,251,193,74,8,251,193,82,8,251,193,84,8,251,193,86,8,251,193,40,2,251,193,90,8,251,193,92,8,251,193,94,8,251,193,96,8,251,193,98,8,251,193,100,8,251,193,106,8,251,193,110,8,251,193,112,8,251,193,114,8,251,193,132,8,251,193,134,8,251,193,146,8,251,193,148,8,251,193,150,8,251,193,168,47,251,193,180,47,251,193,182,47,251,193,184,47,251,193,42,2,251,193,186,47,251,193,188,47,251,193,190,47,251,193,192,47,251,193,208,47,251,193,210,47,251,193,226,47,251,193,212,47,251,193,228,47,251,193,230,47,251,193,232,47,251,193,234,47,251,193,46,48,251,193,48,48,251,193,50,48,251,193,52,48,251,193,54,48,251,193,56,48,251,193,92,48,251,193,94,48,251,193,132,48,251,193,154,48,251,193,30,49,251,193,44,49,251,193,48,49,251,193,50,49,251,193,54,49,251,193,54,2,251,193,56,2,251,193,104,2,251,193,68,3,251,193,104,3,251,193,136,3,251,193,170,3,251,193,40,4,251,193,92,4,251,193,142,4,251,193,204,4,251,193,234,4,251,193,154,5,251,193,196,5,251,193,216,5,251,193,218,5,251,193,140,6,251,193,200,6,251,193,248,6,251,193,250,6,251,193,40,7,251,193,88,7,251,193,122,7,251,193,124,7,251,193,168,7,251,193,190,7,251,193,192,7,251,193,212,7,251,193,46,8,251,193,64,8,251,193,216,8,251,193,224,8,251,193,58,2,251,193,214,2,251,193,18,3,251,193,254,3,251,193,52,5,251,193,18,9,251,193,234,10,251,193,52,14,251,193,54,14,251,193,64,17,251,193,196,18,251,193,56,21,251,193,158,26,251,193,236,29,251,193,58,32,251,193,192,32,251,193,8,38,251,193,48,44,251,193,36,48,251,193,84,48,251,193,96,48,251,193,50,51,251,193,234,51,251,193,236,51,251,193,98,57,251,193,196,61,251,193,188,73,251,193,176,75,251,193,182,78,251,193,230,79,251,193,104,82,251,193,50,93,251,193,112,161,251,193,106,2,251,193,166,2,251,193,168,2,251,193,216,2,251,193,218,2,251,193,20,3,251,193,22,3,251,193,24,3,251,193,26,3,251,193,70,3,251,193,72,3,251,193,74,3,251,193,76,3,251,193,106,3,251,193,138,3,251,193,140,3,251,193,142,3,251,193,144,3,251,193,172,3,251,193,174,3,251,193,176,3,251,193,198,3,251,193,216,3,251,193,218,3,251,193,220,3,251,193,222,3,251,193,224,3,251,193,226,3,251,193,2,4,251,193,16,4,251,193,18,4,251,193,142,2,251,193,196,2,251,193,198,2,251,193,72,4,251,193,74,4,251,193,10,5,251,193,132,5,251,193,62,6,251,193,64,6,251,193,66,6,251,193,86,6,251,193,88,6,251,193,120,6,251,193,122,6,251,193,124,6,251,193,126,6,251,193,178,6,251,193,180,6,251,193,182,6,251,193,184,6,251,193,186,6,251,193,188,6,251,193,234,6,251,193,236,6,251,193,238,6,251,193,28,7,251,193,30,7,251,193,32,7,251,193,64,7,251,193,66,7,251,193,68,7,251,193,70,7,251,193,190,2,251,193,192,2,251,193,194,2,251,193,244,2,251,193,246,2,251,193,248,2,251,193,48,3,251,193,50,3,251,193,60,4,251,193,62,4,251,193,68,4,251,193,70,4,251,193,14,66,252,193,82,4,251,193,84,4,251,193,86,4,251,193,88,4,251,193,98,4,251,193,112,4,251,193,120,4,251,193,134,4,251,193,148,4,251,193,200,4,251,193,202,4,251,193,206,4,251,193,216,4,251,193,218,4,251,193,222,4,251,193,224,4,251,193,250,2,251,193,236,4,251,193,252,4,251,193,212,2,251,193,254,2,251,193,2,3,251,193,4,3,251,193,6,3,251,193,136,8,251,193,8,3,251,193,10,3,251,193,12,3,251,193,32,8,251,193,14,3,251,193,16,3,251,193,52,3,251,193,54,3,251,193,56,3,251,193,14,84,251,193,58,3,251,193,60,3,251,193,62,3,251,193,64,3,251,193,66,3,251,193,94,3,251,193,96,3,251,193,242,60,251,193,98,3,251,193,244,60,251,193,100,3,251,193,102,3,251,193,24,101,251,193,126,3,251,193,128,3,251,193,130,3,251,193,222,2,251,193,224,2,251,193,226,2,251,193,228,2,251,193,230,2,251,193,232,2,251,193,234,2,251,193,236,2,251,193,238,2,251,193,240,2,251,193,28,3,251,193,30,3,251,193,32,3,251,193,34,3,251,193,36,3,251,193,38,3,251,193,40,3,251,193,42,3,251,193,44,3,251,193,78,3,251,193,80,3,251,193,82,3,251,193,84,3,251,193,86,3,251,193,88,3,251,193,108,3,251,193,110,3,251,193,112,3,251,193,114,3,251,193,116,3,251,193,146,3,251,193,148,3,251,193,236,250,252,193,174,32,253,193,186,74,253,193,130,116,252,193,190,239,251,193,142,139,252,193,54,135,252,193,182,13,251,193,136,166,251,193,138,166,251,193,84,228,252,193,128,22,253,193,98,32,252,193,170,88,251,193,164,127,252,193,110,116,253,193,106,189,253,193,160,31,251,193,156,226,252,193,140,233,252,193,184,117,253,193,102,193,253,193,252,2,251,193,92,3,251,193,102,19,251,193,154,20,251,193,188,23,251,193,192,33,251,193,168,211,251,193,144,6,252,193,142,14,252,193,208,142,252,193,132,3,251,193,160,3,251,193,162,3,251,193,164,3,251,193,166,3,251,193,168,3,251,193,188,3,251,193,190,3,251,193,192,3,251,193,140,34,251,193,194,3,251,193,196,3,251,193,212,3,251,193,214,3,251,193,244,3,251,193,246,3,251,193,248,3,251,193,250,3,251,193,252,3,251,193,12,4,251,193,14,4,251,193,24,4,251,193,44,4,251,193,26,4,251,193,28,4,251,193,30,4,251,193,32,4,251,193,34,4,251,193,76,29,251,193,36,4,251,193,216,230,251,193,48,4,251,193,44,46,251,193,46,46,251,193,134,3,251,193,60,46,251,193,62,46,251,193,66,46,251,193,70,46,251,193,72,46,251,193,74,46,251,193,76,46,251,193,78,46,251,193,22,218,252,193,84,46,251,193,86,46,251,193,114,46,251,193,116,46,251,193,118,46,251,193,120,46,251,193,126,47,251,193,140,46,251,193,142,46,251,193,144,46,251,193,146,46,251,193,148,46,251,193,166,46,251,193,168,46,251,193,170,46,251,193,172,46,251,193,186,46,251,193,188,46,251,193,190,46,251,193,192,46,251,193,150,3,251,193,178,3,251,193,180,3,251,193,182,3,251,193,184,3,251,193,186,3,251,193,200,3,251,193,202,3,251,193,204,3,251,193,228,3,251,193,230,3,251,193,232,3,251,193,234,3,251,193,236,3,251,193,238,3,251,193,4,4,251,193,20,4,251,193,58,4,251,193,106,4,251,193,108,4,251,193,144,4,251,193,158,4,251,193,160,4,251,193,162,4,251,193,174,4,251,193,176,4,251,193,214,4,251,193,232,4,251,193,238,4,251,193,244,4,251,193,248,4,251,193,22,5,251,193,98,222,253,193,100,222,253,193,102,222,253,193,160,222,253,193,162,222,253,193,206,222,253,193,208,222,253,193,236,222,253,193,26,223,253,193,44,223,253,193,46,223,253,193,98,223,253,193,56,224,253,193,102,224,253,193,104,224,253,193,136,224,253,193,142,224,253,193,168,224,253,193,170,224,253,193,240,224,253,193,252,224,253,193,24,225,253,193,10,4,251,193,188,56,251,193,30,57,251,193,10,135,251,193,134,233,251,193,136,233,251,193,48,234,251,193,108,234,251,193,110,7,252,193,196,157,253,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,193,76,97,252,193,78,97,252,193,80,97,252,193,82,97,252,193,84,97,252,193,86,97,252,193,88,97,252,193,38,4,251,193,90,97,252,193,92,97,252,193,130,97,252,193,132,97,252,193,134,97,252,193,136,97,252,193,138,97,252,193,140,97,252,193,142,97,252,193,144,97,252,193,146,97,252,193,76,98,253,206,128,56,0,206,128,56,0,206,128,56,0,206,128,56,0,193,42,4,251,193,50,4,251,193,52,4,251,193,76,4,251,193,78,4,251,193,94,4,251,193,118,4,251,193,130,4,251,193,154,4,251,193,156,4,251,193,180,4,251,193,184,4,251,193,186,4,251,193,194,4,251,193,198,4,251,193,54,5,251,193,116,5,251,193,156,5,251,193,158,5,251,193,160,5,251,193,168,5,251,193,180,5,251,193,182,5,251,193,184,5,251,193,186,5,251,193,198,5,251,193,200,5,251,193,220,5,251,193,222,5,251,193,240,5,251,193,248,5,251,193,10,6,251,193,54,4,251,193,64,4,251,193,66,4,251,193,90,4,251,193,98,83,251,193,100,4,251,193,104,4,251,193,114,4,251,193,116,4,251,193,122,4,251,193,124,4,251,193,126,4,251,193,128,4,251,193,136,4,251,193,138,4,251,193,140,4,251,193,150,4,251,193,152,4,251,193,2,126,253,193,168,4,251,193,170,4,251,193,172,4,251,193,178,4,251,193,132,72,251,193,182,4,251,193,188,4,251,193,192,4,251,193,196,4,251,193,210,4,251,193,212,4,251,193,90,6,251,193,220,4,251,193,80,4,251,193,96,4,251,193,102,4,251,193,110,4,251,193,132,4,251,193,146,4,251,193,164,4,251,193,166,4,251,193,190,4,251,193,242,4,251,193,30,5,251,193,32,5,251,193,122,5,251,193,250,5,251,193,252,5,251,193,254,5,251,193,76,6,251,193,116,6,251,193,152,6,251,193,154,6,251,193,156,6,251,193,158,6,251,193,216,6,251,193,218,6,251,193,220,6,251,193,222,6,251,193,224,6,251,193,226,6,251,193,228,6,251,193,8,7,251,193,10,7,251,193,12,7,251,193,254,4,251,193,2,5,251,193,4,5,251,193,6,5,251,193,8,5,251,193,34,5,251,193,36,5,251,193,38,5,251,193,40,5,251,193,208,4,251,193,42,5,251,193,58,5,251,193,60,5,251,193,80,5,251,193,82,5,251,193,84,5,251,193,86,5,251,193,124,5,251,193,126,5,251,193,128,5,251,193,130,5,251,193,164,5,251,193,172,5,251,193,190,5,251,193,202,5,251,193,26,6,251,193,28,6,251,193,30,6,251,193,46,6,251,193,48,6,251,193,56,6,251,193,58,6,251,193,226,4,251,193,228,4,251,193,230,4,251,193,240,4,251,193,246,4,251,193,250,4,251,193,12,5,251,193,14,5,251,193,16,5,251,193,18,5,251,193,20,5,251,193,44,5,251,193,46,5,251,193,48,5,251,193,50,5,251,193,64,5,251,193,66,5,251,193,68,5,251,193,70,5,251,193,72,5,251,193,88,5,251,193,90,5,251,193,92,5,251,193,94,5,251,193,96,5,251,193,98,5,251,193,100,5,251,193,102,5,251,193,104,5,251,193,106,5,251,193,108,5,251,193,110,5,251,193,24,5,251,193,26,5,251,193,28,5,251,193,56,5,251,193,74,5,251,193,76,5,251,193,78,5,251,193,118,5,251,193,120,5,251,193,162,5,251,193,170,5,251,193,188,5,251,193,224,5,251,193,226,5,251,193,228,5,251,193,230,5,251,193,242,5,251,193,6,6,251,193,14,6,251,193,16,6,251,193,18,6,251,193,20,6,251,193,74,6,251,193,112,6,251,193,114,6,251,193,144,6,251,193,146,6,251,193,148,6,251,193,150,6,251,193,204,6,251,193,206,6,251,193,208,6,251,193,18,130,251,193,36,130,251,193,144,130,251,193,146,130,251,193,152,130,251,193,172,130,251,193,174,130,251,193,176,130,251,193,190,130,251,193,192,130,251,193,194,130,251,193,196,130,251,193,198,130,251,193,226,130,251,193,254,130,251,193,2,131,251,193,72,131,251,193,74,131,251,193,102,131,251,193,104,131,251,193,106,131,251,193,146,131,251,193,172,131,251,193,174,131,251,193,192,131,251,193,62,5,251,193,196,131,251,193,202,131,251,193,204,131,251,193,222,131,251,193,252,131,251,193,254,131,251,193,112,5,251,193,114,5,251,193,134,5,251,193,136,5,251,193,138,5,251,193,140,5,251,193,142,5,251,193,144,5,251,193,130,219,252,193,146,5,251,193,148,5,251,193,150,5,251,193,232,50,251,193,152,5,251,193,234,50,251,193,166,5,251,193,26,51,251,193,184,16,252,193,174,5,251,193,176,5,251,193,192,5,251,193,224,93,252,193,178,5,251,193,194,5,251,193,74,7,251,193,204,5,251,193,206,5,251,193,208,5,251,193,210,5,251,193,212,5,251,193,214,5,251,193,232,5,251,193,234,5,251,193,236,5,251,193,238,5,251,193,244,5,251,193,246,5,251,193,4,6,251,193,2,6,251,193,8,6,251,193,22,6,251,193,32,6,251,193,34,6,251,193,36,6,251,193,38,6,251,193,40,6,251,193,42,6,251,193,52,6,251,193,54,6,251,193,44,6,251,193,68,6,251,193,70,6,251,193,72,6,251,193,92,6,251,193,94,6,251,193,96,6,251,193,98,6,251,193,100,6,251,193,102,6,251,193,104,6,251,193,106,6,251,193,108,6,251,193,128,6,251,193,130,6,251,193,12,6,251,193,24,6,251,193,110,6,251,193,142,6,251,193,202,6,251,193,252,6,251,193,254,6,251,193,2,7,251,193,42,7,251,193,90,7,251,193,126,7,251,193,128,7,251,193,130,7,251,193,170,7,251,193,172,7,251,193,214,7,251,193,216,7,251,193,128,8,251,193,144,8,251,193,164,8,251,193,196,8,251,193,208,8,251,193,210,8,251,193,218,8,251,193,228,8,251,193,230,8,251,193,42,9,251,193,114,9,251,193,176,9,251,193,212,9,251,193,214,9,251,193,228,9,251,193,236,224,253,193,238,224,253,193,246,224,253,193,250,224,253,193,12,225,253,193,14,225,253,193,74,58,252,193,12,230,251,193,218,46,251,193,176,243,252,193,102,55,253,193,214,71,253,193,86,104,253,193,62,170,253,193,182,171,253,193,212,100,253,193,192,9,252,193,94,83,251,193,84,107,253,193,78,97,251,193,50,6,251,193,162,191,251,193,192,85,251,193,14,223,252,193,60,129,251,193,110,28,251,193,58,48,251,193,66,38,253,193,252,97,251,193,76,58,252,193,202,109,252,193,208,230,252,193,60,6,251,193,90,154,251,193,130,135,251,193,78,6,251,193,80,6,251,193,82,6,251,193,84,6,251,193,118,6,251,193,160,6,251,193,162,6,251,193,164,6,251,193,166,6,251,193,168,6,251,193,170,6,251,193,172,6,251,193,174,6,251,193,176,6,251,193,230,6,251,193,232,6,251,193,16,7,251,193,18,7,251,193,20,7,251,193,22,7,251,193,24,7,251,193,26,7,251,193,56,7,251,193,58,7,251,193,60,7,251,193,62,7,251,193,110,7,251,193,142,7,251,193,144,7,251,193,132,6,251,193,134,6,251,193,136,6,251,193,138,6,251,193,190,6,251,193,192,6,251,193,194,6,251,193,196,6,251,193,198,6,251,193,240,6,251,193,242,6,251,193,72,94,252,193,244,6,251,193,34,7,251,193,36,7,251,193,38,7,251,193,226,93,252,193,238,119,251,193,76,7,251,193,78,7,251,193,80,7,251,193,82,7,251,193,84,7,251,193,86,7,251,193,112,7,251,193,114,7,251,193,116,7,251,193,118,7,251,193,154,7,251,193,156,7,251,193,158,7,251,193,160,7,251,193,210,6,251,193,212,6,251,193,214,6,251,193,4,7,251,193,6,7,251,193,44,7,251,193,46,7,251,193,48,7,251,193,92,7,251,193,94,7,251,193,96,7,251,193,98,7,251,193,132,7,251,193,134,7,251,193,174,7,251,193,176,7,251,193,178,7,251,193,180,7,251,193,194,7,251,193,196,7,251,193,198,7,251,193,218,7,251,193,12,8,251,193,14,8,251,193,16,8,251,193,36,8,251,193,54,8,251,193,66,8,251,193,72,8,251,193,88,8,251,193,166,8,251,193,176,8,251,193,214,48,251,193,216,48,251,193,218,48,251,193,220,48,251,193,222,48,251,193,238,48,251,193,240,48,251,193,242,48,251,193,244,48,251,193,2,49,251,193,4,49,251,193,6,49,251,193,8,49,251,193,10,49,251,193,22,49,251,193,32,49,251,193,36,49,251,193,40,49,251,193,46,49,251,193,62,49,251,193,66,49,251,193,68,49,251,193,70,49,251,193,72,49,251,193,74,49,251,193,82,49,251,193,84,49,251,193,86,49,251,193,88,49,251,193,246,6,251,193,104,49,251,193,106,49,251,193,14,7,251,193,50,7,251,193,52,7,251,193,54,7,251,193,100,7,251,193,102,7,251,193,104,7,251,193,106,7,251,193,108,7,251,193,136,7,251,193,138,7,251,193,140,7,251,193,182,7,251,193,200,7,251,193,230,7,251,193,232,7,251,193,236,7,251,193,240,7,251,193,28,8,251,193,58,8,251,193,60,8,251,193,104,8,251,193,108,8,251,193,130,8,251,193,180,8,251,193,212,8,251,193,220,8,251,193,226,8,251,193,22,9,251,193,150,9,251,193,182,9,251,193,184,9,251,193,72,7,251,193,148,7,251,193,150,7,251,193,152,7,251,193,186,7,251,193,234,7,251,193,242,7,251,193,20,8,251,193,50,8,251,193,152,8,251,193,4,9,251,193,6,9,251,193,30,9,251,193,54,9,251,193,190,9,251,193,34,10,251,193,202,10,251,193,204,10,251,193,206,10,251,193,208,10,251,193,210,10,251,193,212,10,251,193,214,10,251,193,216,10,251,193,130,11,251,193,132,11,251,193,134,11,251,193,136,11,251,193,138,11,251,193,140,11,251,193,142,11,251,193,144,11,251,193,112,95,252,193,120,7,251,193,114,95,252,193,116,95,252,193,118,95,252,193,178,95,252,193,180,95,252,193,182,95,252,193,184,95,252,193,186,95,252,193,188,95,252,193,190,95,252,193,192,95,252,193,194,95,252,193,196,95,252,193,198,95,252,193,200,95,252,193,202,95,252,193,204,95,252,193,206,95,252,193,208,95,252,193,210,95,252,193,212,95,252,193,214,95,252,193,216,95,252,193,218,95,252,193,220,95,252,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,193,162,7,251,193,164,7,251,193,166,7,251,193,208,7,251,193,210,7,251,193,220,7,251,193,222,7,251,193,224,7,251,193,226,7,251,193,238,7,251,193,244,7,251,193,246,7,251,193,250,7,251,193,254,7,251,193,2,8,251,193,4,8,251,193,6,8,251,193,10,8,251,193,22,8,251,193,24,8,251,193,26,8,251,193,34,8,251,193,40,8,251,193,42,8,251,193,44,8,251,193,52,8,251,193,56,8,251,193,62,8,251,193,68,8,251,193,70,8,251,193,76,8,251,193,78,8,251,193,188,7,251,193,116,140,252,193,118,140,252,193,120,140,252,193,126,140,252,193,128,140,252,193,130,140,252,193,132,140,252,193,140,140,252,193,142,140,252,193,148,140,252,193,154,140,252,193,158,140,252,193,160,140,252,193,162,140,252,193,164,140,252,193,182,140,252,193,184,140,252,193,186,140,252,193,188,140,252,193,222,140,252,193,224,140,252,193,226,140,252,193,228,140,252,193,230,140,252,193,232,140,252,193,234,140,252,193,236,140,252,193,238,140,252,193,240,140,252,193,242,140,252,193,244,140,252,193,26,154,251,193,228,7,251,193,38,154,251,193,106,102,251,193,40,154,251,193,54,154,251,193,62,154,251,193,64,154,251,193,66,154,251,193,68,154,251,193,72,154,251,193,80,154,251,193,84,154,251,193,86,154,251,193,88,154,251,193,96,154,251,193,98,154,251,193,100,154,251,193,108,154,251,193,110,154,251,193,112,154,251,193,114,154,251,193,122,154,251,193,126,154,251,193,128,154,251,193,130,154,251,193,132,154,251,193,136,154,251,193,138,154,251,193,140,154,251,193,142,154,251,193,146,154,251,193,80,8,251,193,102,8,251,193,116,8,251,193,118,8,251,193,120,8,251,193,122,8,251,193,124,8,251,193,126,8,251,193,138,8,251,193,140,8,251,193,142,8,251,193,154,8,251,193,156,8,251,193,158,8,251,193,160,8,251,193,162,8,251,193,168,8,251,193,170,8,251,193,172,8,251,193,174,8,251,193,216,162,251,193,182,8,251,193,184,8,251,193,186,8,251,193,188,8,251,193,192,8,251,193,194,8,251,193,198,8,251,193,202,8,251,193,204,8,251,193,206,8,251,193,214,8,251,193,178,8,251,193,190,8,251,193,200,8,251,193,248,8,251,193,20,9,251,193,44,9,251,193,46,9,251,193,48,9,251,193,70,9,251,193,72,9,251,193,92,9,251,193,94,9,251,193,96,9,251,193,116,9,251,193,140,9,251,193,142,9,251,193,144,9,251,193,146,9,251,193,148,9,251,193,178,9,251,193,180,9,251,193,216,9,251,193,218,9,251,193,220,9,251,193,222,9,251,193,252,9,251,193,254,9,251,193,30,10,251,193,32,10,251,193,40,10,251,193,42,10,251,193,56,10,251,193,222,8,251,193,240,8,251,193,242,8,251,193,8,9,251,193,10,9,251,193,12,9,251,193,14,9,251,193,16,9,251,193,32,9,251,193,34,9,251,193,36,9,251,193,38,9,251,193,56,9,251,193,58,9,251,193,60,9,251,193,62,9,251,193,64,9,251,193,66,9,251,193,68,9,251,193,86,9,251,193,88,9,251,193,90,9,251,193,100,9,251,193,210,101,251,193,102,9,251,193,104,9,251,193,106,9,251,193,108,9,251,193,110,9,251,193,112,9,251,193,118,9,251,193,120,9,251,193,232,8,251,193,234,8,251,193,236,8,251,193,238,8,251,193,250,8,251,193,252,8,251,193,254,8,251,193,2,9,251,193,24,9,251,193,26,9,251,193,28,9,251,193,50,9,251,193,52,9,251,193,74,9,251,193,76,9,251,193,78,9,251,193,80,9,251,193,82,9,251,193,84,9,251,193,98,9,251,193,152,9,251,193,154,9,251,193,186,9,251,193,188,9,251,193,4,10,251,193,52,10,251,193,68,10,251,193,70,10,251,193,74,10,251,193,76,10,251,193,78,10,251,193,80,10,251,193,244,8,251,193,246,8,251,193,40,9,251,193,138,9,251,193,174,9,251,193,250,9,251,193,48,10,251,193,136,10,251,193,214,11,251,193,216,11,251,193,218,11,251,193,220,11,251,193,226,12,251,193,228,12,251,193,230,12,251,193,232,12,251,193,234,12,251,193,236,12,251,193,238,12,251,193,240,12,251,193,242,12,251,193,40,14,251,193,42,14,251,193,44,14,251,193,46,14,251,193,48,14,251,193,50,14,251,193,132,15,251,193,134,15,251,193,136,15,251,193,138,15,251,193,140,15,251,193,122,9,251,193,124,9,251,193,126,9,251,193,128,9,251,193,130,9,251,193,132,9,251,193,134,9,251,193,136,9,251,193,156,9,251,193,158,9,251,193,160,9,251,193,162,9,251,193,164,9,251,193,166,9,251,193,168,9,251,193,170,9,251,193,162,124,252,193,22,102,251,193,172,9,251,193,192,9,251,193,194,9,251,193,196,9,251,193,198,9,251,193,200,9,251,193,202,9,251,193,186,154,251,193,204,9,251,193,206,9,251,193,208,9,251,193,20,130,251,193,224,9,251,193,226,9,251,193,210,9,251,193,232,9,251,193,234,9,251,193,236,9,251,193,238,9,251,193,240,9,251,193,242,9,251,193,244,9,251,193,246,9,251,193,248,9,251,193,194,74,251,193,6,10,251,193,8,10,251,193,10,10,251,193,12,10,251,193,14,10,251,193,16,10,251,193,18,10,251,193,20,10,251,193,140,102,251,193,22,10,251,193,142,102,251,193,24,10,251,193,26,10,251,193,28,10,251,193,160,102,251,193,44,10,251,193,64,231,251,193,200,220,253,193,46,10,251,193,54,10,251,193,62,10,251,193,230,9,251,193,36,10,251,193,38,10,251,193,50,10,251,193,58,10,251,193,88,10,251,193,138,10,251,193,140,10,251,193,142,10,251,193,236,10,251,193,238,10,251,193,222,11,251,193,224,11,251,193,226,11,251,193,228,11,251,193,230,11,251,193,232,11,251,193,244,12,251,193,246,12,251,193,248,12,251,193,250,12,251,193,252,12,251,193,254,12,251,193,2,13,251,193,4,13,251,193,56,14,251,193,58,14,251,193,60,14,251,193,62,14,251,193,64,14,251,193,148,15,251,193,150,15,251,193,2,10,251,193,148,10,251,193,252,10,251,193,254,10,251,193,244,11,251,193,246,11,251,193,248,11,251,193,250,11,251,193,252,11,251,193,254,11,251,193,2,12,251,193,32,13,251,193,34,13,251,193,36,13,251,193,38,13,251,193,40,13,251,193,42,13,251,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,193,60,10,251,193,144,10,251,193,146,10,251,193,240,10,251,193,242,10,251,193,244,10,251,193,246,10,251,193,248,10,251,193,250,10,251,193,234,11,251,193,236,11,251,193,238,11,251,193,240,11,251,193,242,11,251,193,6,13,251,193,8,13,251,193,10,13,251,193,12,13,251,193,14,13,251,193,16,13,251,193,18,13,251,193,20,13,251,193,22,13,251,193,24,13,251,193,26,13,251,193,28,13,251,193,30,13,251,206,192,0,0,206,192,0,0,206,192,0,0,206,192,0,0,206,192,0,0,193,64,10,251,193,66,10,251,193,72,10,251,193,82,10,251,193,84,10,251,193,86,10,251,193,130,10,251,193,132,10,251,193,134,10,251,193,218,10,251,193,220,10,251,193,222,10,251,193,224,10,251,193,226,10,251,193,40,42,251,193,228,10,251,193,230,10,251,193,214,47,251,193,228,154,251,193,232,10,251,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,193,90,10,251,193,92,10,251,193,94,10,251,193,96,10,251,193,98,10,251,193,100,10,251,193,102,10,251,193,104,10,251,193,106,10,251,193,108,10,251,193,110,10,251,193,112,10,251,193,114,10,251,193,116,10,251,193,118,10,251,193,120,10,251,193,122,10,251,193,124,10,251,193,126,10,251,193,128,10,251,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,0,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,32,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,193,128,11,251,193,114,12,251,193,116,12,251,193,118,12,251,193,120,12,251,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,193,146,11,251,193,122,12,251,193,124,12,251,193,126,12,251,193,128,12,251,193,130,12,251,193,132,12,251,193,134,12,251,193,136,12,251,193,184,13,251,193,186,13,251,193,188,13,251,193,190,13,251,193,192,13,251,193,194,13,251,193,196,13,251,193,198,13,251,193,200,13,251,193,202,13,251,193,204,13,251,193,206,13,251,193,208,13,251,193,210,13,251,193,254,14,251,193,2,15,251,193,4,15,251,193,6,15,251,193,8,15,251,193,10,15,251,193,12,15,251,193,14,15,251,193,16,15,251,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,206,64,0,0,193,216,27,251,193,208,11,251,193,210,11,251,193,212,11,251,193,138,12,251,193,140,12,251,193,142,12,251,193,144,12,251,193,146,12,251,193,148,12,251,193,150,12,251,193,152,12,251,193,154,12,251,193,156,12,251,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,206,96,0,0,193,158,12,251,193,160,12,251,193,162,12,251,193,164,12,251,193,166,12,251,193,168,12,251,193,170,12,251,193,172,12,251,193,174,12,251,193,176,12,251,193,178,12,251,193,180,12,251,193,182,12,251,193,184,12,251,193,186,12,251,193,188,12,251,193,190,12,251,193,192,12,251,193,194,12,251,193,196,12,251,193,198,12,251,193,200,12,251,193,202,12,251,193,204,12,251,193,206,12,251,193,208,12,251,193,210,12,251,193,212,12,251,193,214,12,251,193,216,12,251,193,218,12,251,193,220,12,251,193,222,12,251,193,224,12,251,193,46,58,251,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,128,0,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,160,0,0,206,160,0,0,206,160,0,0,206,160,0,0,193,116,129,251,193,24,14,251,193,26,14,251,193,28,14,251,193,30,14,251,193,32,14,251,193,34,14,251,193,36,14,251,193,38,14,251,193,24,15,251,193,26,15,251,193,28,15,251,193,30,15,251,193,32,15,251,193,34,15,251,193,36,15,251,193,38,15,251,193,40,15,251,193,42,15,251,193,44,15,251,193,46,15,251,193,48,15,251,193,50,15,251,193,52,15,251,193,54,15,251,193,56,15,251,193,58,15,251,193,60,15,251,206,192,0,0,206,192,0,0,206,192,0,0,206,192,0,0,206,192,0,0,193,172,15,251,193,174,15,251,193,176,15,251,193,178,15,251,193,180,15,251,193,182,15,251,193,184,15,251,193,186,15,251,193,188,15,251,193,190,15,251,193,192,15,251,193,194,15,251,193,196,15,251,193,198,15,251,193,200,15,251,193,202,15,251,193,204,15,251,193,206,15,251,193,208,15,251,193,210,15,251,193,212,15,251,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,206,224,0,0,193,214,15,251,193,216,15,251,193,218,15,251,193,220,15,251,193,222,15,251,193,224,15,251,193,226,15,251,193,228,15,251,193,230,15,251,193,232,15,251,193,136,17,251,193,138,17,251,193,140,17,251,193,142,17,251,193,144,17,251,193,146,17,251,193,148,17,251,193,150,17,251,193,250,18,251,193,252,18,251,193,254,18,251,193,2,19,251,193,4,19,251,193,6,19,251,193,8,19,251,193,10,19,251,193,12,19,251,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,0,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,193,18,15,251,193,20,15,251,193,22,15,251,193,144,16,251,193,26,18,251,193,146,16,251,193,148,16,251,193,150,16,251,193,152,16,251,193,154,16,251,193,156,16,251,193,158,16,251,193,160,16,251,193,162,16,251,193,28,18,251,193,30,18,251,193,32,18,251,193,34,18,251,193,36,18,251,193,104,19,251,193,106,19,251,193,108,19,251,193,110,19,251,193,112,19,251,193,114,19,251,193,116,19,251,193,118,19,251,193,156,20,251,193,158,20,251,193,160,20,251,193,162,20,251,193,164,20,251,193,62,15,251,193,64,15,251,193,66,15,251,193,68,15,251,193,70,15,251,193,72,15,251,193,74,15,251,193,76,15,251,193,78,15,251,193,80,15,251,193,82,15,251,193,84,15,251,193,86,15,251,193,88,15,251,193,90,15,251,193,92,15,251,193,94,15,251,193,96,15,251,193,98,15,251,193,100,15,251,193,102,15,251,193,104,15,251,193,106,15,251,193,108,15,251,193,110,15,251,193,112,15,251,193,114,15,251,193,116,15,251,193,118,15,251,193,120,15,251,193,122,15,251,193,124,15,251,193,126,15,251,193,128,15,251,193,130,15,251,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,193,142,15,251,193,144,15,251,193,146,15,251,193,48,17,251,193,50,17,251,193,52,17,251,193,54,17,251,193,56,17,251,193,58,17,251,193,60,17,251,193,62,17,251,193,174,18,251,193,176,18,251,193,178,18,251,193,180,18,251,193,182,18,251,193,184,18,251,193,186,18,251,193,188,18,251,193,190,18,251,193,192,18,251,193,194,18,251,193,236,19,251,193,238,19,251,193,240,19,251,193,242,19,251,193,244,19,251,193,246,19,251,193,248,19,251,193,250,19,251,193,252,19,251,193,254,19,251,193,152,15,251,193,154,15,251,193,156,15,251,193,158,15,251,193,160,15,251,193,162,15,251,193,164,15,251,193,166,15,251,193,168,15,251,193,170,15,251,193,66,17,251,193,68,17,251,193,70,17,251,193,72,17,251,193,74,17,251,193,76,17,251,193,78,17,251,193,80,17,251,193,82,17,251,193,84,17,251,193,86,17,251,193,88,17,251,193,90,17,251,193,92,17,251,193,94,17,251,193,96,17,251,193,98,17,251,193,100,17,251,193,102,17,251,193,198,18,251,193,200,18,251,193,202,18,251,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,32,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,64,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,206,160,1,0,193,174,157,253,193,122,18,251,193,124,18,251,193,126,18,251,193,128,18,251,193,130,18,251,193,132,18,251,193,134,18,251,193,136,18,251,193,138,18,251,193,140,18,251,193,142,18,251,193,144,18,251,193,146,18,251,193,46,17,251,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,206,96,1,0,193,212,18,251,193,214,18,251,193,216,18,251,193,218,18,251,193,220,18,251,193,222,18,251,193,224,18,251,193,226,18,251,193,228,18,251,193,230,18,251,193,232,18,251,193,234,18,251,193,236,18,251,193,238,18,251,193,240,18,251,193,242,18,251,193,244,18,251,193,246,18,251,193,248,18,251,193,28,20,251,193,30,20,251,193,32,20,251,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,206,128,1,0,193,148,18,251,193,150,18,251,193,152,18,251,193,154,18,251,193,156,18,251,193,158,18,251,193,160,18,251,193,162,18,251,193,164,18,251,193,166,18,251,193,168,18,251,193,170,18,251,193,172,18,251,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,193,204,18,251,193,206,18,251,193,208,18,251,193,210,18,251,193,2,20,251,193,4,20,251,193,6,20,251,193,8,20,251,193,10,20,251,193,12,20,251,193,14,20,251,193,16,20,251,193,18,20,251,193,20,20,251,193,22,20,251,193,24,20,251,193,26,20,251,193,58,21,251,193,60,21,251,193,62,21,251,193,64,21,251,193,66,21,251,193,68,21,251,193,118,22,251,193,120,22,251,193,122,22,251,193,124,22,251,193,126,22,251,193,128,22,251,193,130,22,251,193,132,22,251,193,134,22,251,193,14,19,251,193,16,19,251,193,66,20,251,193,68,20,251,193,70,20,251,193,72,20,251,193,74,20,251,193,76,20,251,193,78,20,251,193,80,20,251,193,104,21,251,193,106,21,251,193,108,21,251,193,170,22,251,193,172,22,251,193,174,22,251,193,176,22,251,193,178,22,251,193,180,22,251,193,142,23,251,193,144,23,251,193,146,23,251,193,148,23,251,193,150,23,251,193,152,23,251,193,154,23,251,193,40,24,251,193,42,24,251,193,44,24,251,193,46,24,251,193,160,24,251,193,162,24,251,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,192,1,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,206,224,1,0,193,36,28,251,193,170,19,251,193,172,19,251,193,174,19,251,193,176,19,251,193,178,19,251,193,180,19,251,193,182,19,251,193,184,19,251,193,186,19,251,193,188,19,251,193,190,19,251,193,192,19,251,193,194,19,251,193,196,19,251,193,198,19,251,193,200,19,251,193,202,19,251,193,204,19,251,193,206,19,251,193,208,19,251,193,210,19,251,193,212,19,251,193,214,19,251,193,50,101,251,193,226,107,252,193,216,19,251,193,218,19,251,193,220,19,251,193,222,19,251,193,224,19,251,193,226,19,251,193,228,19,251,193,230,19,251,193,232,19,251,193,234,19,251,193,206,115,252,193,170,20,251,193,172,20,251,193,174,20,251,193,176,20,251,193,178,20,251,193,180,20,251,193,182,20,251,193,184,20,251,193,186,20,251,193,188,20,251,193,190,20,251,193,192,20,251,193,194,20,251,193,196,20,251,193,198,20,251,193,200,20,251,193,202,20,251,193,204,20,251,193,206,20,251,193,208,20,251,193,210,20,251,193,34,20,251,193,36,20,251,193,38,20,251,193,40,20,251,193,42,20,251,193,44,20,251,193,46,20,251,193,48,20,251,193,50,20,251,193,52,20,251,193,54,20,251,193,56,20,251,193,58,20,251,193,60,20,251,193,62,20,251,193,64,20,251,193,70,21,251,193,72,21,251,193,74,21,251,193,76,21,251,193,78,21,251,193,80,21,251,193,82,21,251,193,84,21,251,193,86,21,251,193,88,21,251,193,90,21,251,193,92,21,251,193,94,21,251,193,96,21,251,193,98,21,251,193,100,21,251,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,0,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,193,166,20,251,193,168,20,251,193,188,21,251,193,190,21,251,193,192,21,251,193,194,21,251,193,196,21,251,193,198,21,251,193,200,21,251,193,202,21,251,193,204,21,251,193,206,21,251,193,208,21,251,193,210,21,251,193,212,21,251,193,214,21,251,193,216,21,251,193,236,22,251,193,238,22,251,193,240,22,251,193,242,22,251,193,244,22,251,193,246,22,251,193,248,22,251,193,250,22,251,193,190,23,251,193,192,23,251,193,194,23,251,193,196,23,251,193,74,24,251,193,76,24,251,193,180,24,251,193,212,20,251,193,214,20,251,193,216,20,251,193,218,20,251,193,220,20,251,193,222,20,251,193,224,20,251,193,226,20,251,193,228,20,251,193,230,20,251,193,232,20,251,193,234,20,251,193,236,20,251,193,238,20,251,193,240,20,251,193,242,20,251,193,244,20,251,193,246,20,251,193,248,20,251,193,250,20,251,193,252,20,251,193,254,20,251,193,2,21,251,193,4,21,251,193,6,21,251,193,8,21,251,193,10,21,251,193,12,21,251,193,14,21,251,193,16,21,251,193,18,21,251,193,20,21,251,193,22,21,251,193,24,21,251,193,140,123,252,193,26,21,251,193,28,21,251,193,218,21,251,193,30,21,251,193,32,21,251,193,34,21,251,193,36,21,251,193,38,21,251,193,40,21,251,193,42,21,251,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,193,62,22,251,193,64,22,251,193,66,22,251,193,68,22,251,193,70,22,251,193,72,22,251,193,74,22,251,193,76,22,251,193,78,22,251,193,80,22,251,193,82,22,251,193,84,22,251,193,86,22,251,193,88,22,251,193,90,22,251,193,92,22,251,193,94,22,251,193,96,22,251,193,98,22,251,193,100,22,251,193,102,22,251,193,44,21,251,193,210,189,251,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,193,46,21,251,193,48,21,251,193,50,21,251,193,52,21,251,193,54,21,251,193,106,22,251,193,108,22,251,193,110,22,251,193,112,22,251,193,114,22,251,193,116,22,251,193,88,23,251,193,90,23,251,193,92,23,251,193,94,23,251,193,96,23,251,193,10,24,251,193,12,24,251,193,14,24,251,193,16,24,251,193,130,24,251,193,132,24,251,193,134,24,251,193,232,24,251,193,234,24,251,193,236,24,251,193,76,25,251,193,78,25,251,193,80,25,251,193,132,25,251,193,180,25,251,193,128,26,251,193,102,21,251,193,142,22,251,193,144,22,251,193,146,22,251,193,148,22,251,193,150,22,251,193,152,22,251,193,154,22,251,193,156,22,251,193,158,22,251,193,160,22,251,193,162,22,251,193,164,22,251,193,166,22,251,193,168,22,251,193,118,23,251,193,120,23,251,193,122,23,251,193,124,23,251,193,126,23,251,193,128,23,251,193,130,23,251,193,132,23,251,193,134,23,251,193,136,23,251,193,138,23,251,193,140,23,251,193,28,24,251,193,30,24,251,193,32,24,251,193,34,24,251,193,36,24,251,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,206,32,2,0,193,182,22,251,193,182,21,251,193,184,21,251,193,184,22,251,193,186,22,251,193,186,21,251,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,206,64,2,0,193,122,140,252,193,52,22,251,193,54,22,251,193,250,65,252,193,96,221,253,193,56,22,251,193,58,22,251,193,60,22,251,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,206,128,2,0,193,104,22,251,193,48,23,251,193,198,23,251,193,196,74,251,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,193,136,22,251,193,138,22,251,193,140,22,251,193,98,23,251,193,100,23,251,193,102,23,251,193,104,23,251,193,106,23,251,193,108,23,251,193,110,23,251,193,112,23,251,193,114,23,251,193,116,23,251,193,18,24,251,193,20,24,251,193,22,24,251,193,24,24,251,193,26,24,251,193,136,24,251,193,138,24,251,193,140,24,251,193,142,24,251,193,144,24,251,193,146,24,251,193,148,24,251,206,224,2,0,206,224,2,0,206,224,2,0,206,224,2,0,206,224,2,0,206,224,2,0,206,224,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,206,96,2,0,193,156,23,251,193,158,23,251,193,160,23,251,193,162,23,251,193,164,23,251,193,166,23,251,193,168,23,251,193,170,23,251,193,172,23,251,193,174,23,251,193,176,23,251,193,178,23,251,193,180,23,251,193,182,23,251,193,184,23,251,193,48,24,251,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,206,160,2,0,193,198,74,251,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,193,50,24,251,193,52,24,251,193,54,24,251,193,56,24,251,193,58,24,251,193,60,24,251,193,62,24,251,193,64,24,251,193,66,24,251,193,68,24,251,193,70,24,251,193,186,23,251,193,72,24,251,193,168,24,251,193,170,24,251,193,172,24,251,193,174,24,251,193,176,24,251,193,178,24,251,193,30,25,251,193,32,25,251,193,34,25,251,193,102,25,251,193,144,25,251,193,146,25,251,193,148,25,251,193,150,25,251,193,194,25,251,193,196,25,251,193,212,25,251,193,240,25,251,193,4,26,251,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,206,192,2,0,193,78,24,251,193,80,24,251,193,82,24,251,193,84,24,251,193,86,24,251,193,88,24,251,193,90,24,251,193,92,24,251,193,94,24,251,193,96,24,251,193,98,24,251,193,100,24,251,193,102,24,251,193,104,24,251,193,106,24,251,193,108,24,251,193,110,24,251,193,112,24,251,193,114,24,251,193,116,24,251,193,166,36,253,193,118,24,251,193,120,24,251,193,122,24,251,193,38,24,251,193,150,24,251,193,152,24,251,193,154,24,251,193,156,24,251,193,158,24,251,193,6,25,251,193,8,25,251,193,10,25,251,193,12,25,251,193,14,25,251,193,16,25,251,193,18,25,251,193,92,25,251,193,94,25,251,193,96,25,251,193,140,25,251,193,142,25,251,193,210,25,251,193,234,25,251,193,236,25,251,193,246,25,251,193,16,26,251,193,18,26,251,193,20,26,251,193,28,26,251,193,30,26,251,193,32,26,251,193,34,26,251,193,36,26,251,193,90,26,251,193,92,26,251,193,124,24,251,193,126,24,251,193,128,24,251,193,184,24,251,193,186,24,251,193,188,24,251,193,190,24,251,193,192,24,251,193,194,24,251,193,196,24,251,193,198,24,251,193,200,24,251,193,202,24,251,193,204,24,251,193,206,24,251,193,208,24,251,193,210,24,251,193,212,24,251,193,214,24,251,193,216,24,251,193,218,24,251,193,220,24,251,193,222,24,251,193,224,24,251,193,226,24,251,193,228,24,251,193,230,24,251,193,42,25,251,193,44,25,251,193,46,25,251,193,48,25,251,193,50,25,251,193,164,24,251,193,166,24,251,193,20,25,251,193,22,25,251,193,24,25,251,193,26,25,251,193,28,25,251,193,98,25,251,193,100,25,251,193,238,25,251,193,38,26,251,193,96,26,251,193,140,26,251,193,218,26,251,193,250,26,251,193,14,27,251,193,16,27,251,193,50,27,251,193,52,27,251,193,96,27,251,193,98,27,251,193,156,27,251,193,226,27,251,193,254,27,251,193,2,28,251,193,4,28,251,193,16,28,251,193,18,28,251,193,34,28,251,193,126,28,251,193,128,28,251,193,130,28,251,193,182,24,251,193,36,25,251,193,38,25,251,193,40,25,251,193,104,25,251,193,106,25,251,193,108,25,251,193,152,25,251,193,154,25,251,193,214,25,251,193,250,25,251,193,52,26,251,193,108,26,251,193,168,26,251,193,196,26,251,193,126,27,251,193,202,27,251,193,204,27,251,193,214,27,251,193,228,27,251,193,230,27,251,193,134,28,251,193,136,28,251,193,138,28,251,193,182,28,251,193,98,29,251,193,202,29,251,193,12,30,251,193,14,30,251,193,24,30,251,193,38,30,251,193,70,30,251,206,224,2,0,206,224,2,0,206,224,2,0,206,224,2,0,193,82,25,251,193,84,25,251,193,86,25,251,193,88,25,251,193,90,25,251,193,134,25,251,193,136,25,251,193,138,25,251,193,182,25,251,193,184,25,251,193,186,25,251,193,188,25,251,193,190,25,251,193,192,25,251,193,228,25,251,193,230,25,251,193,232,25,251,193,244,25,251,193,248,25,251,193,62,26,251,193,130,26,251,193,160,26,251,193,212,26,251,193,214,26,251,193,236,26,251,193,238,26,251,193,8,27,251,193,38,27,251,193,52,25,251,193,54,25,251,193,8,66,252,193,56,25,251,193,58,25,251,193,60,25,251,193,62,25,251,193,64,25,251,193,66,25,251,193,68,25,251,193,70,25,251,193,72,25,251,193,74,25,251,193,110,25,251,193,112,25,251,193,114,25,251,193,116,25,251,193,118,25,251,193,120,25,251,193,122,25,251,193,124,25,251,193,126,25,251,193,128,25,251,193,156,25,251,193,158,25,251,193,160,25,251,193,162,25,251,193,164,25,251,193,166,25,251,193,168,25,251,193,130,25,251,193,170,25,251,193,172,25,251,193,174,25,251,193,176,25,251,193,178,25,251,193,198,25,251,193,200,25,251,193,202,25,251,193,204,25,251,193,206,25,251,193,208,25,251,193,216,25,251,193,218,25,251,193,220,25,251,193,222,25,251,193,224,25,251,193,226,25,251,193,242,25,251,193,78,233,251,193,252,25,251,193,254,25,251,193,170,14,253,193,2,26,251,193,14,26,251,193,24,26,251,193,26,26,251,193,54,26,251,193,56,26,251,193,58,26,251,193,60,26,251,193,78,26,251,193,80,26,251,193,82,26,251,193,6,26,251,193,8,26,251,193,10,26,251,193,12,26,251,193,22,26,251,193,40,26,251,193,42,26,251,193,44,26,251,193,46,26,251,193,48,26,251,193,50,26,251,193,64,26,251,193,66,26,251,193,68,26,251,193,70,26,251,193,72,26,251,193,74,26,251,193,76,26,251,193,98,26,251,193,100,26,251,193,102,26,251,193,104,26,251,193,106,26,251,193,142,26,251,193,144,26,251,193,146,26,251,193,164,26,251,193,166,26,251,193,190,26,251,193,192,26,251,193,194,26,251,193,220,26,251,193,84,26,251,193,86,26,251,193,88,26,251,193,110,26,251,193,112,26,251,193,114,26,251,193,116,26,251,193,118,26,251,193,120,26,251,193,122,26,251,193,124,26,251,193,126,26,251,193,148,26,251,193,150,26,251,193,152,26,251,193,154,26,251,193,170,26,251,193,172,26,251,193,174,26,251,193,176,26,251,193,178,26,251,193,180,26,251,193,182,26,251,193,198,26,251,193,200,26,251,193,202,26,251,193,204,26,251,193,206,26,251,193,208,26,251,193,210,26,251,193,224,26,251,193,226,26,251,193,94,26,251,193,132,26,251,193,134,26,251,193,136,26,251,193,138,26,251,193,162,26,251,193,186,26,251,193,188,26,251,193,216,26,251,193,240,26,251,193,242,26,251,193,244,26,251,193,246,26,251,193,248,26,251,193,10,27,251,193,12,27,251,193,42,27,251,193,44,27,251,193,46,27,251,193,48,27,251,193,74,27,251,193,94,27,251,193,120,27,251,193,122,27,251,193,124,27,251,193,144,27,251,193,146,27,251,193,208,27,251,193,242,27,251,193,244,27,251,193,246,27,251,193,252,27,251,193,156,26,251,193,184,26,251,193,6,27,251,193,68,27,251,193,70,27,251,193,72,27,251,193,152,27,251,193,28,28,251,193,116,28,251,193,8,29,251,193,36,29,251,193,54,29,251,193,58,29,251,193,74,29,251,193,198,29,251,193,132,30,251,193,134,30,251,193,150,30,251,193,202,30,251,193,224,30,251,193,248,30,251,193,16,31,251,193,92,31,251,193,124,31,251,193,126,31,251,193,128,31,251,193,130,31,251,193,184,31,251,193,186,31,251,193,188,31,251,193,242,31,251,193,52,32,251,193,222,26,251,193,252,26,251,193,18,27,251,193,76,27,251,193,164,27,251,193,188,27,251,193,190,27,251,193,194,27,251,193,210,27,251,193,248,27,251,193,6,28,251,193,74,28,251,193,78,28,251,193,80,28,251,193,82,28,251,193,84,28,251,193,94,28,251,193,102,28,251,193,104,28,251,193,106,28,251,193,108,28,251,193,132,28,251,193,154,28,251,193,156,28,251,193,158,28,251,193,178,28,251,193,204,28,251,193,180,28,251,193,206,28,251,193,226,28,251,193,18,29,251,193,20,29,251,193,228,26,251,193,230,26,251,193,232,26,251,193,234,26,251,193,254,26,251,193,2,27,251,193,4,27,251,193,20,27,251,193,22,27,251,193,24,27,251,193,26,27,251,193,28,27,251,193,30,27,251,193,32,27,251,193,34,27,251,193,36,27,251,193,54,27,251,193,56,27,251,193,58,27,251,193,78,27,251,193,60,27,251,193,62,27,251,193,64,27,251,193,66,27,251,193,80,27,251,193,82,27,251,193,84,27,251,193,86,27,251,193,88,27,251,193,90,27,251,193,92,27,251,193,100,27,251,193,40,27,251,193,116,27,251,193,118,27,251,193,136,27,251,193,138,27,251,193,140,27,251,193,142,27,251,193,154,27,251,193,174,27,251,193,30,28,251,193,42,28,251,193,118,28,251,193,120,28,251,193,166,28,251,193,214,28,251,193,216,28,251,193,232,28,251,193,10,29,251,193,38,29,251,193,84,29,251,193,92,29,251,193,94,29,251,193,102,29,251,193,44,30,251,193,136,30,251,193,170,30,251,193,172,30,251,193,20,31,251,193,42,31,251,193,50,31,251,193,66,31,251,193,94,31,251,193,102,27,251,193,104,27,251,193,106,27,251,193,108,27,251,193,110,27,251,193,112,27,251,193,128,27,251,193,114,27,251,193,130,27,251,193,132,27,251,193,134,27,251,193,148,27,251,193,116,159,251,193,158,27,251,193,150,27,251,193,160,27,251,193,162,27,251,193,166,27,251,193,168,27,251,193,170,27,251,193,172,27,251,193,176,27,251,193,178,27,251,193,180,27,251,193,182,27,251,193,184,27,251,193,186,27,251,193,192,27,251,193,196,27,251,193,198,27,251,193,200,27,251,193,206,27,251,193,106,21,252,193,108,21,252,193,110,21,252,193,130,21,252,193,132,21,252,193,134,21,252,193,136,21,252,193,138,21,252,193,140,21,252,193,142,21,252,193,152,21,252,193,154,21,252,193,164,21,252,193,166,21,252,193,168,21,252,193,170,21,252,193,172,21,252,193,182,21,252,193,192,21,252,193,194,21,252,193,230,21,252,193,232,21,252,193,242,21,252,193,244,21,252,193,246,21,252,193,248,21,252,193,234,21,252,193,6,22,252,193,8,22,252,193,212,27,251,193,10,22,252,193,12,22,252,193,218,27,251,193,220,27,251,193,222,27,251,193,224,27,251,193,232,27,251,193,234,27,251,193,236,27,251,193,238,27,251,193,240,27,251,193,250,27,251,193,8,28,251,193,10,28,251,193,12,28,251,193,20,28,251,193,22,28,251,193,24,28,251,193,26,28,251,193,32,28,251,193,38,28,251,193,40,28,251,193,44,28,251,193,46,28,251,193,48,28,251,193,50,28,251,193,52,28,251,193,54,28,251,193,56,28,251,193,58,28,251,193,60,28,251,193,64,28,251,193,68,28,251,193,70,28,251,193,14,28,251,193,62,28,251,193,66,28,251,193,72,28,251,193,100,28,251,193,122,28,251,193,124,28,251,193,152,28,251,193,168,28,251,193,170,28,251,193,172,28,251,193,174,28,251,193,196,28,251,193,198,28,251,193,200,28,251,193,218,28,251,193,220,28,251,193,234,28,251,193,236,28,251,193,238,28,251,193,12,29,251,193,14,29,251,193,16,29,251,193,40,29,251,193,42,29,251,193,56,29,251,193,60,29,251,193,62,29,251,193,64,29,251,193,96,29,251,193,100,29,251,193,130,29,251,193,76,28,251,193,86,28,251,193,88,28,251,193,90,28,251,193,92,28,251,193,96,28,251,193,98,28,251,193,180,78,253,193,112,28,251,193,114,28,251,193,140,28,251,193,142,28,251,193,144,28,251,193,146,28,251,193,148,28,251,193,150,28,251,193,160,28,251,193,162,28,251,193,184,28,251,193,186,28,251,193,188,28,251,193,190,28,251,193,192,28,251,193,194,28,251,193,218,162,251,193,208,28,251,193,210,28,251,193,212,28,251,193,228,28,251,193,230,28,251,193,242,28,251,193,244,28,251,193,28,51,251,193,30,51,251,193,32,51,251,193,34,51,251,193,36,51,251,193,38,51,251,193,40,51,251,193,42,51,251,193,44,51,251,193,46,51,251,193,74,51,251,193,76,51,251,193,78,51,251,193,80,51,251,193,82,51,251,193,84,51,251,193,86,51,251,193,88,51,251,193,90,51,251,193,92,51,251,193,94,51,251,193,96,51,251,193,164,28,251,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,193,176,28,251,193,202,28,251,193,222,28,251,193,224,28,251,193,240,28,251,193,44,29,251,193,108,29,251,193,180,29,251,193,182,29,251,193,6,30,251,193,8,30,251,193,36,30,251,193,54,30,251,193,56,30,251,193,102,30,251,193,138,30,251,193,140,30,251,193,218,30,251,193,6,31,251,193,58,31,251,193,60,31,251,193,76,31,251,193,140,31,251,193,142,31,251,193,144,31,251,193,204,31,251,193,206,31,251,193,4,32,251,193,6,32,251,193,8,32,251,193,70,32,251,193,148,32,251,193,246,28,251,193,248,28,251,193,250,28,251,193,252,28,251,193,254,28,251,193,2,29,251,193,4,29,251,193,6,29,251,193,22,29,251,193,24,29,251,193,26,29,251,193,28,29,251,193,30,29,251,193,32,29,251,193,34,29,251,193,46,29,251,193,48,29,251,193,50,29,251,193,80,54,251,193,68,29,251,193,70,29,251,193,72,29,251,193,80,29,251,193,82,29,251,193,86,29,251,193,88,29,251,193,90,29,251,193,104,218,252,193,106,29,251,193,122,29,251,193,124,29,251,193,126,29,251,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,193,200,55,251,193,202,55,251,193,204,55,251,193,206,55,251,193,208,55,251,193,210,55,251,193,212,55,251,193,214,55,251,193,216,55,251,193,218,55,251,193,240,55,251,193,242,55,251,193,244,55,251,193,246,55,251,193,248,55,251,193,250,55,251,193,252,55,251,193,56,101,251,193,254,55,251,193,2,56,251,193,4,56,251,193,6,56,251,193,52,29,251,193,18,56,251,193,20,56,251,193,22,56,251,193,24,56,251,193,66,29,251,193,78,29,251,193,104,29,251,193,110,29,251,193,112,29,251,193,114,29,251,193,116,29,251,193,118,29,251,193,120,29,251,193,132,29,251,193,134,29,251,193,136,29,251,193,138,29,251,193,162,29,251,193,164,29,251,193,184,29,251,193,200,29,251,193,228,29,251,193,230,29,251,193,242,29,251,193,244,29,251,193,10,30,251,193,74,30,251,193,76,30,251,193,78,30,251,193,88,30,251,193,90,30,251,193,104,30,251,193,106,30,251,193,122,30,251,193,142,30,251,193,154,30,251,193,128,29,251,193,140,29,251,193,142,29,251,193,144,29,251,193,146,29,251,193,148,29,251,193,150,29,251,193,152,29,251,193,154,29,251,193,156,29,251,193,158,29,251,193,166,29,251,193,168,29,251,193,170,29,251,193,172,29,251,193,174,29,251,193,186,29,251,193,188,29,251,193,190,29,251,193,192,29,251,193,194,29,251,193,196,29,251,193,204,29,251,193,206,29,251,193,208,29,251,193,210,29,251,193,212,29,251,193,232,29,251,193,234,29,251,193,246,29,251,193,248,29,251,193,250,29,251,193,160,29,251,193,176,29,251,193,178,29,251,193,214,29,251,193,216,29,251,193,218,29,251,193,220,29,251,193,222,29,251,193,224,29,251,193,226,29,251,193,238,29,251,193,240,29,251,193,252,29,251,193,254,29,251,193,2,30,251,193,4,30,251,193,32,30,251,193,34,30,251,193,66,30,251,193,100,30,251,193,152,30,251,193,204,30,251,193,206,30,251,193,208,30,251,193,210,30,251,193,212,30,251,193,214,30,251,193,216,30,251,193,226,30,251,193,228,30,251,193,230,30,251,193,232,30,251,193,16,30,251,193,18,30,251,193,20,30,251,193,26,30,251,193,28,30,251,193,30,30,251,193,40,30,251,193,42,30,251,193,46,30,251,193,48,30,251,193,50,30,251,193,228,181,251,193,52,30,251,193,58,30,251,193,60,30,251,193,62,30,251,193,64,30,251,193,68,30,251,193,72,30,251,193,84,30,251,193,86,30,251,193,92,30,251,193,94,30,251,193,96,30,251,193,98,30,251,193,108,30,251,193,110,30,251,193,112,30,251,193,114,30,251,193,116,30,251,193,118,30,251,193,120,30,251,193,22,30,251,193,198,232,251,193,200,232,251,193,220,232,251,193,232,232,251,193,234,232,251,193,20,233,251,193,72,233,251,193,86,233,251,193,90,233,251,193,124,233,251,193,126,233,251,193,128,233,251,193,130,233,251,193,168,233,251,193,170,233,251,193,172,233,251,193,62,205,252,193,204,233,251,193,206,233,251,193,208,233,251,193,210,233,251,193,238,233,251,193,240,233,251,193,242,233,251,193,244,233,251,193,246,233,251,193,248,233,251,193,38,234,251,193,40,234,251,193,42,234,251,193,44,234,251,193,80,30,251,193,82,30,251,193,158,30,251,193,234,30,251,193,18,31,251,193,68,31,251,193,108,31,251,193,110,31,251,193,162,31,251,193,218,31,251,193,220,31,251,193,222,31,251,193,224,31,251,193,226,31,251,193,16,32,251,193,18,32,251,193,94,32,251,193,96,32,251,193,98,32,251,193,160,32,251,193,224,32,251,193,226,32,251,193,14,33,251,193,58,33,251,193,114,34,251,193,238,34,251,193,190,35,251,193,192,35,251,193,194,35,251,193,6,36,251,193,8,36,251,193,124,36,251,193,124,30,251,193,126,30,251,193,128,30,251,193,130,30,251,193,144,30,251,193,146,30,251,193,148,30,251,193,160,30,251,193,162,30,251,193,164,30,251,193,166,30,251,193,168,30,251,193,188,30,251,193,190,30,251,193,192,30,251,193,194,30,251,193,196,30,251,193,198,30,251,193,200,30,251,193,222,30,251,193,236,30,251,193,238,30,251,193,240,30,251,193,242,30,251,193,244,30,251,193,246,30,251,193,252,30,251,193,254,30,251,193,10,31,251,193,12,31,251,193,14,31,251,193,146,138,252,193,156,30,251,193,174,30,251,193,176,30,251,193,178,30,251,193,180,30,251,193,182,30,251,193,184,30,251,193,186,30,251,193,220,30,251,193,8,31,251,193,28,31,251,193,62,31,251,193,78,31,251,193,80,31,251,193,82,31,251,193,84,31,251,193,98,31,251,193,100,31,251,193,102,31,251,193,104,31,251,193,106,31,251,193,146,31,251,193,148,31,251,193,150,31,251,193,152,31,251,193,154,31,251,193,156,31,251,193,158,31,251,193,208,31,251,193,210,31,251,193,212,31,251,193,214,31,251,193,250,30,251,193,2,31,251,193,4,31,251,193,22,31,251,193,24,31,251,193,26,31,251,193,72,31,251,193,74,31,251,193,96,31,251,193,200,31,251,193,202,31,251,193,250,31,251,193,252,31,251,193,254,31,251,193,2,32,251,193,66,32,251,193,68,32,251,193,138,32,251,193,140,32,251,193,142,32,251,193,144,32,251,193,146,32,251,193,202,32,251,193,204,32,251,193,206,32,251,193,254,32,251,193,2,33,251,193,4,33,251,193,44,33,251,193,46,33,251,193,48,33,251,193,78,33,251,193,30,31,251,193,32,31,251,193,34,31,251,193,36,31,251,193,38,31,251,193,40,31,251,193,44,31,251,193,46,31,251,193,48,31,251,193,52,31,251,193,54,31,251,193,56,31,251,193,64,31,251,193,70,31,251,193,86,31,251,193,88,31,251,193,90,31,251,193,112,31,251,193,114,31,251,193,116,31,251,193,118,31,251,193,120,31,251,193,122,31,251,193,164,31,251,193,166,31,251,193,168,31,251,193,170,31,251,193,172,31,251,193,174,31,251,193,176,31,251,193,178,31,251,193,180,31,251,193,132,31,251,193,134,31,251,193,136,31,251,193,138,31,251,193,190,31,251,193,192,31,251,193,194,31,251,193,196,31,251,193,198,31,251,193,244,31,251,193,246,31,251,193,248,31,251,193,60,32,251,193,62,32,251,193,64,32,251,193,134,32,251,193,136,32,251,193,194,32,251,193,196,32,251,193,198,32,251,193,200,32,251,193,250,32,251,193,252,32,251,193,40,33,251,193,42,33,251,193,76,33,251,193,114,33,251,193,116,33,251,193,118,33,251,193,176,33,251,193,20,34,251,193,22,34,251,193,228,31,251,193,182,31,251,193,230,31,251,193,232,31,251,193,234,31,251,193,236,31,251,193,238,31,251,193,240,31,251,193,20,32,251,193,22,32,251,193,24,32,251,193,26,32,251,193,28,32,251,193,30,32,251,193,32,32,251,193,34,32,251,193,36,32,251,193,38,32,251,193,40,32,251,193,42,32,251,193,44,32,251,193,46,32,251,193,48,32,251,193,50,32,251,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,193,216,31,251,193,10,32,251,193,12,32,251,193,14,32,251,193,72,32,251,193,74,32,251,193,76,32,251,193,78,32,251,193,80,32,251,193,82,32,251,193,84,32,251,193,86,32,251,193,88,32,251,193,90,32,251,193,92,32,251,193,154,32,251,193,156,32,251,193,158,32,251,193,214,32,251,193,216,32,251,193,218,32,251,193,220,32,251,193,222,32,251,193,12,33,251,193,56,33,251,193,88,33,251,193,90,33,251,193,92,33,251,193,94,33,251,193,128,33,251,193,130,33,251,193,142,33,251,193,54,32,251,193,56,32,251,193,126,32,251,193,128,32,251,193,130,32,251,193,132,32,251,193,186,32,251,193,188,32,251,193,190,32,251,193,246,32,251,193,248,32,251,193,36,33,251,193,38,33,251,193,74,33,251,193,112,33,251,193,138,33,251,193,184,33,251,193,18,34,251,193,52,34,251,193,106,34,251,193,128,34,251,193,164,34,251,193,234,34,251,193,22,35,251,193,38,35,251,193,64,35,251,193,72,35,251,193,74,35,251,193,114,35,251,193,118,35,251,193,56,36,251,193,58,36,251,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,206,0,3,0,193,162,32,251,193,164,32,251,193,166,32,251,193,168,32,251,193,170,32,251,193,172,32,251,193,174,32,251,193,176,32,251,193,178,32,251,193,180,32,251,193,182,32,251,193,184,32,251,193,228,32,251,193,230,32,251,193,232,32,251,193,234,32,251,193,236,32,251,193,238,32,251,193,240,32,251,193,242,32,251,193,244,32,251,206,32,3,0,206,32,3,0,206,32,3,0,206,32,3,0,206,32,3,0,206,32,3,0,193,150,32,251,193,152,32,251,193,208,32,251,193,210,32,251,193,212,32,251,193,6,33,251,193,8,33,251,193,10,33,251,193,50,33,251,193,52,33,251,193,54,33,251,193,84,33,251,193,86,33,251,193,126,33,251,193,162,33,251,193,164,33,251,193,110,34,251,193,214,34,251,193,24,35,251,193,44,35,251,193,46,35,251,193,58,35,251,193,94,35,251,193,102,35,251,193,104,35,251,193,176,35,251,193,178,35,251,193,226,35,251,193,228,35,251,193,230,35,251,193,78,36,251,193,80,36,251,206,32,3,0,206,32,3,0,206,32,3,0,206,32,3,0,193,60,33,251,193,62,33,251,193,64,33,251,193,66,33,251,193,68,33,251,193,70,33,251,193,96,33,251,193,98,33,251,193,100,33,251,193,102,33,251,193,104,33,251,193,106,33,251,193,108,33,251,193,110,33,251,193,132,33,251,193,72,33,251,193,134,33,251,193,136,33,251,193,144,33,251,193,146,33,251,193,148,33,251,193,150,33,251,193,152,33,251,193,154,33,251,193,156,33,251,193,166,33,251,193,168,33,251,193,170,33,251,193,80,33,251,193,82,33,251,193,120,33,251,193,122,33,251,193,124,33,251,193,140,33,251,193,160,33,251,193,178,33,251,193,186,33,251,193,228,33,251,193,230,33,251,193,232,33,251,193,234,33,251,193,24,34,251,193,26,34,251,193,28,34,251,193,54,34,251,193,82,34,251,193,84,34,251,193,92,34,251,193,94,34,251,193,132,34,251,193,134,34,251,193,154,34,251,193,168,34,251,193,170,34,251,193,192,34,251,193,12,35,251,193,42,35,251,193,56,35,251,193,70,35,251,193,92,35,251,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,193,166,112,252,193,168,112,252,193,170,112,252,193,172,112,252,193,174,112,252,193,176,112,252,193,178,112,252,193,180,112,252,193,182,112,252,193,184,112,252,193,186,112,252,193,188,112,252,193,190,112,252,193,192,112,252,193,158,33,251,193,194,112,252,193,196,112,252,193,198,112,252,193,200,112,252,193,220,112,252,193,222,112,252,193,224,112,252,193,248,112,252,193,226,112,252,193,228,112,252,193,230,112,252,193,232,112,252,193,172,33,251,193,174,33,251,193,180,33,251,193,182,33,251,193,188,33,251,193,190,33,251,193,194,33,251,193,198,33,251,193,200,33,251,193,212,33,251,193,214,33,251,193,216,33,251,193,218,33,251,193,220,33,251,193,222,33,251,193,224,33,251,193,226,33,251,193,242,33,251,193,244,33,251,193,246,33,251,193,248,33,251,193,4,34,251,193,6,34,251,193,8,34,251,193,10,34,251,193,12,34,251,193,14,34,251,193,16,34,251,206,64,3,0,206,64,3,0,206,64,3,0,206,64,3,0,193,196,33,251,193,202,33,251,193,204,33,251,193,206,33,251,193,210,33,251,193,236,33,251,193,238,33,251,193,240,33,251,193,250,33,251,193,252,33,251,193,254,33,251,193,2,34,251,193,30,34,251,193,56,34,251,193,58,34,251,193,60,34,251,193,112,34,251,193,136,34,251,193,138,34,251,193,172,34,251,193,174,34,251,193,200,34,251,193,206,34,251,193,216,34,251,193,218,34,251,193,220,34,251,193,222,34,251,193,224,34,251,193,236,34,251,193,14,35,251,193,26,35,251,193,60,35,251,206,64,3,0,206,64,3,0,206,64,3,0,206,64,3,0,206,64,3,0,206,64,3,0,193,62,34,251,193,64,34,251,193,66,34,251,193,68,34,251,193,70,34,251,193,72,34,251,193,74,34,251,193,76,34,251,193,78,34,251,193,86,34,251,193,88,34,251,193,90,34,251,193,96,34,251,193,98,34,251,193,100,34,251,193,102,34,251,193,104,34,251,193,148,147,251,193,116,34,251,193,118,34,251,193,218,100,251,193,120,34,251,193,122,34,251,193,124,34,251,193,126,34,251,193,142,34,251,193,170,53,251,193,172,53,251,193,174,53,251,193,176,53,251,193,178,53,251,193,180,53,251,193,188,53,251,193,190,53,251,193,192,53,251,193,202,53,251,193,204,53,251,193,206,53,251,193,208,53,251,193,210,53,251,193,80,34,251,193,212,53,251,193,214,53,251,193,216,53,251,193,218,53,251,193,68,55,251,193,220,53,251,193,222,53,251,193,224,53,251,193,226,53,251,193,228,53,251,193,246,53,251,193,248,53,251,193,250,53,251,193,252,53,251,193,22,54,251,193,24,54,251,193,34,54,251,193,108,34,251,193,130,34,251,193,152,34,251,193,166,34,251,193,40,35,251,193,66,35,251,193,68,35,251,193,76,35,251,193,78,35,251,193,80,35,251,193,88,35,251,193,90,35,251,193,98,35,251,193,120,35,251,193,122,35,251,193,124,35,251,193,216,35,251,193,218,35,251,193,62,36,251,193,64,36,251,193,66,36,251,193,182,36,251,193,184,36,251,193,186,36,251,193,188,36,251,193,190,36,251,193,192,36,251,193,194,36,251,193,108,37,251,193,110,37,251,193,112,37,251,193,114,37,251,193,144,34,251,193,146,34,251,193,148,34,251,193,150,34,251,193,156,34,251,193,158,34,251,193,160,34,251,193,162,34,251,193,176,34,251,193,178,34,251,193,180,34,251,193,182,34,251,193,238,154,253,193,184,34,251,193,186,34,251,193,188,34,251,193,190,34,251,193,194,34,251,193,196,34,251,193,198,34,251,193,202,34,251,193,204,34,251,193,208,34,251,193,210,34,251,193,212,34,251,193,226,34,251,193,228,34,251,193,230,34,251,193,190,56,251,193,232,34,251,193,240,34,251,193,242,34,251,193,244,34,251,193,246,34,251,193,248,34,251,193,250,34,251,193,252,34,251,193,254,34,251,193,2,35,251,193,4,35,251,193,6,35,251,193,8,35,251,193,10,35,251,193,16,35,251,193,18,35,251,193,20,35,251,193,28,35,251,193,30,35,251,193,32,35,251,193,156,140,253,193,34,35,251,193,36,35,251,193,48,35,251,193,50,35,251,193,52,35,251,193,54,35,251,193,62,35,251,193,82,35,251,193,84,35,251,193,84,96,251,193,96,35,251,193,106,35,251,193,108,35,251,193,116,35,251,193,14,161,251,193,16,161,251,193,22,161,251,193,24,161,251,193,26,161,251,193,28,161,251,193,38,161,251,193,40,161,251,193,42,161,251,193,44,161,251,193,46,161,251,193,48,161,251,193,56,161,251,193,86,35,251,193,62,161,251,193,64,161,251,193,66,161,251,193,68,161,251,193,80,161,251,193,82,161,251,193,84,161,251,193,92,161,251,193,96,161,251,193,102,161,251,193,104,161,251,193,106,161,251,193,110,161,251,193,116,161,251,193,118,161,251,193,134,161,251,193,136,161,251,193,140,161,251,193,100,35,251,193,110,35,251,193,170,35,251,193,172,35,251,193,174,35,251,193,220,35,251,193,222,35,251,193,224,35,251,193,68,36,251,193,70,36,251,193,72,36,251,193,74,36,251,193,76,36,251,193,196,36,251,193,198,36,251,193,200,36,251,193,202,36,251,193,204,36,251,193,206,36,251,193,208,36,251,193,210,36,251,193,116,37,251,193,118,37,251,193,120,37,251,193,122,37,251,193,124,37,251,193,126,37,251,193,128,37,251,193,130,37,251,193,132,37,251,193,134,37,251,193,136,37,251,193,178,132,251,193,158,154,251,193,148,154,251,193,160,154,251,193,162,154,251,193,164,154,251,193,166,154,251,193,168,154,251,193,170,154,251,193,172,154,251,193,180,154,251,193,188,154,251,193,196,154,251,193,198,154,251,193,200,154,251,193,202,154,251,193,204,154,251,193,206,154,251,193,208,154,251,193,210,154,251,193,114,130,251,193,112,35,251,193,216,154,251,193,250,154,251,193,252,154,251,193,254,154,251,193,2,155,251,193,4,155,251,193,6,155,251,193,8,155,251,193,10,155,251,193,12,155,251,193,126,35,251,193,128,35,251,193,130,35,251,193,138,35,251,193,144,35,251,193,154,35,251,193,156,35,251,193,158,35,251,193,160,35,251,193,162,35,251,193,164,35,251,193,166,35,251,193,168,35,251,193,196,35,251,193,198,35,251,193,200,35,251,193,202,35,251,193,204,35,251,193,206,35,251,193,208,35,251,193,210,35,251,193,10,36,251,193,212,35,251,193,12,36,251,193,14,36,251,193,16,36,251,193,18,36,251,193,214,35,251,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,193,132,35,251,193,134,35,251,193,136,35,251,193,140,35,251,193,142,35,251,193,146,35,251,193,148,35,251,193,150,35,251,193,152,35,251,193,180,35,251,193,182,35,251,193,184,35,251,193,186,35,251,193,188,35,251,193,232,35,251,193,234,35,251,193,236,35,251,193,238,35,251,193,240,35,251,193,242,35,251,193,244,35,251,193,246,35,251,193,248,35,251,193,250,35,251,193,252,35,251,193,254,35,251,193,2,36,251,193,4,36,251,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,96,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,193,60,36,251,193,178,36,251,193,180,36,251,193,102,37,251,193,104,37,251,193,106,37,251,193,4,38,251,193,6,38,251,193,186,38,251,193,188,38,251,193,72,39,251,193,74,39,251,193,76,39,251,193,78,39,251,193,218,39,251,193,220,39,251,193,222,39,251,193,74,40,251,193,76,40,251,193,78,40,251,193,52,41,251,193,110,41,251,193,112,41,251,193,150,42,251,193,152,42,251,193,154,42,251,193,220,42,251,193,222,42,251,193,38,43,251,193,112,43,251,193,114,43,251,193,116,43,251,193,82,36,251,193,84,36,251,193,86,36,251,193,212,36,251,193,214,36,251,193,216,36,251,193,218,36,251,193,142,37,251,193,144,37,251,193,146,37,251,193,148,37,251,193,150,37,251,193,28,38,251,193,30,38,251,193,32,38,251,193,34,38,251,193,36,38,251,193,38,38,251,193,40,38,251,193,220,38,251,193,222,38,251,193,224,38,251,193,226,38,251,193,116,39,251,193,118,39,251,193,120,39,251,193,122,39,251,193,106,40,251,193,108,40,251,193,110,40,251,193,230,40,251,193,232,40,251,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,206,128,3,0,193,220,36,251,193,222,36,251,193,224,36,251,193,226,36,251,193,228,36,251,193,230,36,251,193,232,36,251,193,234,36,251,193,236,36,251,193,238,36,251,193,240,36,251,193,242,36,251,193,244,36,251,193,246,36,251,193,248,36,251,193,250,36,251,193,252,36,251,193,254,36,251,193,126,36,251,193,8,37,251,193,10,37,251,193,12,37,251,193,14,37,251,193,16,37,251,193,18,37,251,193,182,37,251,193,184,37,251,193,186,37,251,193,188,37,251,193,190,37,251,193,86,38,251,193,88,38,251,193,90,38,251,193,92,38,251,193,94,38,251,193,248,38,251,193,250,38,251,193,252,38,251,193,254,38,251,193,2,39,251,193,4,39,251,193,134,39,251,193,136,39,251,193,138,39,251,193,140,39,251,193,142,39,251,193,12,40,251,193,14,40,251,193,122,40,251,193,124,40,251,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,160,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,193,2,37,251,193,4,37,251,193,6,37,251,193,152,37,251,193,154,37,251,193,156,37,251,193,158,37,251,193,160,37,251,193,162,37,251,193,164,37,251,193,166,37,251,193,168,37,251,193,170,37,251,193,172,37,251,193,174,37,251,193,176,37,251,193,178,37,251,193,180,37,251,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,192,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,193,138,37,251,193,140,37,251,193,14,38,251,193,16,38,251,193,18,38,251,193,20,38,251,193,22,38,251,193,24,38,251,193,26,38,251,193,198,38,251,193,200,38,251,193,202,38,251,193,204,38,251,193,206,38,251,193,208,38,251,193,210,38,251,193,212,38,251,193,214,38,251,193,216,38,251,193,218,38,251,193,94,39,251,193,96,39,251,193,98,39,251,193,100,39,251,193,102,39,251,193,104,39,251,193,106,39,251,193,108,39,251,193,110,39,251,193,112,39,251,193,114,39,251,193,234,39,251,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,224,3,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,193,10,38,251,193,12,38,251,193,190,38,251,193,192,38,251,193,194,38,251,193,196,38,251,193,80,39,251,193,82,39,251,193,84,39,251,193,86,39,251,193,88,39,251,193,90,39,251,193,92,39,251,193,224,39,251,193,226,39,251,193,228,39,251,193,230,39,251,193,232,39,251,193,80,40,251,193,82,40,251,193,84,40,251,193,216,40,251,193,218,40,251,193,220,40,251,193,222,40,251,193,224,40,251,193,54,41,251,193,162,41,251,193,188,41,251,193,190,41,251,193,192,41,251,193,208,41,251,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,206,0,4,0,193,228,38,251,193,124,39,251,193,230,38,251,193,232,38,251,193,234,38,251,193,236,38,251,193,238,38,251,193,240,38,251,193,242,38,251,193,244,38,251,193,126,39,251,193,128,39,251,193,130,39,251,193,132,39,251,193,246,38,251,193,248,39,251,193,250,39,251,193,252,39,251,193,254,39,251,193,2,40,251,193,4,40,251,193,6,40,251,193,8,40,251,193,10,40,251,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,206,32,4,0,193,6,39,251,193,8,39,251,193,10,39,251,193,12,39,251,193,14,39,251,193,16,39,251,193,18,39,251,193,20,39,251,193,22,39,251,193,24,39,251,193,26,39,251,193,28,39,251,193,30,39,251,193,32,39,251,193,34,39,251,193,36,39,251,193,38,39,251,193,40,39,251,193,42,39,251,193,44,39,251,193,46,39,251,193,48,39,251,193,50,39,251,193,52,39,251,193,54,39,251,193,184,38,251,193,56,39,251,193,58,39,251,193,60,39,251,193,62,39,251,193,64,39,251,193,66,39,251,193,68,39,251,193,70,39,251,193,144,39,251,193,146,39,251,193,148,39,251,193,150,39,251,193,152,39,251,193,154,39,251,193,156,39,251,193,158,39,251,193,160,39,251,193,162,39,251,193,164,39,251,193,166,39,251,193,168,39,251,193,170,39,251,193,172,39,251,193,174,39,251,193,176,39,251,193,178,39,251,193,180,39,251,193,182,39,251,193,184,39,251,193,186,39,251,193,188,39,251,193,190,39,251,193,192,39,251,193,194,39,251,193,196,39,251,193,198,39,251,193,200,39,251,193,228,142,252,193,202,39,251,193,204,39,251,193,206,39,251,193,208,39,251,193,210,39,251,193,212,39,251,193,214,39,251,193,216,39,251,193,16,40,251,193,18,40,251,193,20,40,251,193,22,40,251,193,24,40,251,193,26,40,251,193,28,40,251,193,30,40,251,193,32,40,251,193,34,40,251,193,36,40,251,193,38,40,251,193,40,40,251,193,42,40,251,193,44,40,251,193,46,40,251,193,48,40,251,193,50,40,251,193,52,40,251,193,54,40,251,193,56,40,251,193,58,40,251,193,60,40,251,193,62,40,251,193,64,40,251,193,66,40,251,193,68,40,251,193,236,39,251,193,238,39,251,193,240,39,251,193,242,39,251,193,244,39,251,193,246,39,251,193,86,40,251,193,88,40,251,193,90,40,251,193,92,40,251,193,94,40,251,193,96,40,251,193,98,40,251,193,100,40,251,193,102,40,251,193,104,40,251,193,226,40,251,193,228,40,251,193,56,41,251,193,114,41,251,193,116,41,251,193,118,41,251,193,120,41,251,193,122,41,251,193,164,41,251,193,166,41,251,193,194,41,251,193,196,41,251,193,212,41,251,193,252,41,251,193,26,42,251,193,48,42,251,193,70,40,251,193,72,40,251,193,146,40,251,193,148,40,251,193,150,40,251,193,152,40,251,193,154,40,251,193,156,40,251,193,158,40,251,193,160,40,251,193,162,40,251,193,164,40,251,193,166,40,251,193,168,40,251,193,170,40,251,193,172,40,251,193,174,40,251,193,176,40,251,193,178,40,251,193,180,40,251,193,182,40,251,193,184,40,251,193,186,40,251,193,188,40,251,193,190,40,251,193,192,40,251,193,194,40,251,193,196,40,251,193,198,40,251,193,200,40,251,193,202,40,251,193,204,40,251,193,112,40,251,193,114,40,251,193,116,40,251,193,118,40,251,193,120,40,251,193,240,40,251,193,242,40,251,193,244,40,251,193,246,40,251,193,248,40,251,193,250,40,251,193,252,40,251,193,254,40,251,193,2,41,251,193,4,41,251,193,6,41,251,193,60,41,251,193,62,41,251,193,64,41,251,193,66,41,251,193,68,41,251,193,126,41,251,193,198,41,251,193,226,41,251,193,228,41,251,193,240,41,251,193,242,41,251,193,8,42,251,193,10,42,251,193,16,42,251,193,18,42,251,193,28,42,251,193,126,40,251,193,128,40,251,193,130,40,251,193,132,40,251,193,134,40,251,193,136,40,251,193,138,40,251,193,140,40,251,193,142,40,251,193,144,40,251,193,8,41,251,193,70,41,251,193,72,41,251,193,74,41,251,193,128,41,251,193,130,41,251,193,174,41,251,193,200,41,251,193,214,41,251,193,36,42,251,193,64,42,251,193,66,42,251,193,68,42,251,193,116,42,251,193,118,42,251,193,188,42,251,193,190,42,251,193,192,42,251,193,10,43,251,193,74,43,251,193,76,43,251,193,78,43,251,193,10,41,251,193,206,40,251,193,208,40,251,193,210,40,251,193,212,40,251,193,214,40,251,193,12,41,251,193,14,41,251,193,16,41,251,193,18,41,251,193,20,41,251,193,22,41,251,193,24,41,251,193,26,41,251,193,28,41,251,193,30,41,251,193,32,41,251,193,34,41,251,193,36,41,251,193,38,41,251,193,40,41,251,193,42,41,251,193,44,41,251,193,46,41,251,193,48,41,251,193,50,41,251,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,193,234,40,251,193,236,40,251,193,238,40,251,193,58,41,251,193,124,41,251,193,168,41,251,193,170,41,251,193,172,41,251,193,248,41,251,193,90,42,251,193,160,42,251,193,162,42,251,193,164,42,251,193,236,42,251,193,238,42,251,193,142,43,251,193,144,43,251,193,196,43,251,193,198,43,251,193,200,43,251,193,254,43,251,193,64,44,251,193,128,44,251,193,130,44,251,193,160,44,251,193,216,44,251,193,232,44,251,193,14,45,251,193,102,45,251,193,104,45,251,193,154,45,251,193,156,45,251,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,206,64,4,0,193,144,51,253,193,132,41,251,193,134,41,251,193,136,41,251,193,138,41,251,193,140,41,251,193,142,41,251,193,144,41,251,193,146,41,251,193,148,41,251,193,150,41,251,193,152,41,251,193,154,41,251,193,156,41,251,193,158,41,251,193,160,41,251,193,176,41,251,193,178,41,251,193,180,41,251,193,182,41,251,193,184,41,251,193,186,41,251,193,202,41,251,193,204,41,251,193,206,41,251,193,216,41,251,193,230,41,251,193,218,41,251,193,220,41,251,193,222,41,251,193,224,41,251,193,232,41,251,193,234,41,251,193,236,41,251,193,238,41,251,193,244,41,251,193,250,41,251,193,2,42,251,193,4,42,251,193,12,42,251,193,20,42,251,193,22,42,251,193,24,42,251,193,42,42,251,193,44,42,251,193,46,42,251,193,70,42,251,193,72,42,251,193,74,42,251,193,76,42,251,193,78,42,251,193,80,42,251,193,82,42,251,193,210,41,251,193,246,41,251,193,254,41,251,193,6,42,251,193,14,42,251,193,88,42,251,193,156,42,251,193,158,42,251,193,224,42,251,193,40,43,251,193,42,43,251,193,44,43,251,193,46,43,251,193,48,43,251,193,118,43,251,193,120,43,251,193,122,43,251,193,124,43,251,193,126,43,251,193,186,43,251,193,244,43,251,193,246,43,251,193,50,44,251,193,52,44,251,193,116,44,251,193,156,44,251,193,158,44,251,193,170,44,251,193,172,44,251,193,212,44,251,193,214,44,251,193,240,44,251,193,30,42,251,193,32,42,251,193,34,42,251,193,52,42,251,193,54,42,251,193,56,42,251,193,58,42,251,193,60,42,251,193,62,42,251,193,92,42,251,193,94,42,251,193,96,42,251,193,98,42,251,193,100,42,251,193,102,42,251,193,104,42,251,193,106,42,251,193,108,42,251,193,110,42,251,193,112,42,251,193,114,42,251,193,166,42,251,193,168,42,251,193,170,42,251,193,172,42,251,193,174,42,251,193,176,42,251,193,178,42,251,193,180,42,251,193,182,42,251,193,184,42,251,193,186,42,251,206,160,8,0,206,160,8,0,206,160,8,0,206,160,8,0,206,160,8,0,193,2,78,251,193,4,78,251,193,6,78,251,193,8,78,251,193,40,79,251,193,42,79,251,193,44,79,251,193,46,79,251,193,48,79,251,193,50,79,251,193,52,79,251,193,84,80,251,193,86,80,251,193,88,80,251,193,40,81,251,193,42,81,251,193,192,81,251,193,194,81,251,193,196,81,251,193,52,82,251,193,136,82,251,193,138,82,251,193,238,82,251,193,14,83,251,193,96,83,251,193,38,42,251,193,128,83,251,193,50,42,251,193,226,42,251,193,228,42,251,193,230,42,251,193,232,42,251,193,234,42,251,193,50,43,251,193,52,43,251,193,54,43,251,193,56,43,251,193,58,43,251,193,60,43,251,193,128,43,251,193,130,43,251,193,132,43,251,193,134,43,251,193,136,43,251,193,138,43,251,193,140,43,251,193,188,43,251,193,190,43,251,193,192,43,251,193,194,43,251,193,248,43,251,193,250,43,251,193,252,43,251,193,54,44,251,193,56,44,251,193,58,44,251,193,60,44,251,193,62,44,251,193,118,44,251,193,84,42,251,193,86,42,251,193,120,42,251,193,122,42,251,193,124,42,251,193,126,42,251,193,128,42,251,193,130,42,251,193,132,42,251,193,134,42,251,193,136,42,251,193,138,42,251,193,140,42,251,193,142,42,251,193,144,42,251,193,146,42,251,193,148,42,251,193,194,42,251,193,196,42,251,193,198,42,251,193,200,42,251,193,202,42,251,193,204,42,251,193,206,42,251,193,208,42,251,193,210,42,251,193,212,42,251,193,214,42,251,193,216,42,251,193,218,42,251,193,12,43,251,193,14,43,251,193,240,42,251,193,242,42,251,193,244,42,251,193,246,42,251,193,248,42,251,193,250,42,251,193,252,42,251,193,254,42,251,193,2,43,251,193,4,43,251,193,6,43,251,193,8,43,251,193,62,43,251,193,64,43,251,193,66,43,251,193,68,43,251,193,70,43,251,193,72,43,251,193,146,43,251,193,148,43,251,193,150,43,251,193,152,43,251,193,154,43,251,193,106,225,251,193,156,43,251,193,158,43,251,193,160,43,251,193,202,43,251,193,204,43,251,193,206,43,251,193,208,43,251,193,2,44,251,193,16,43,251,193,18,43,251,193,20,43,251,193,22,43,251,193,24,43,251,193,26,43,251,193,28,43,251,193,30,43,251,193,32,43,251,193,34,43,251,193,36,43,251,193,80,43,251,193,82,43,251,193,84,43,251,193,86,43,251,193,88,43,251,193,90,43,251,193,92,43,251,193,94,43,251,193,96,43,251,193,98,43,251,193,100,43,251,193,102,43,251,193,104,43,251,193,106,43,251,193,108,43,251,193,110,43,251,206,96,4,0,206,96,4,0,206,96,4,0,206,96,4,0,206,96,4,0,193,162,43,251,193,210,43,251,193,78,44,251,193,180,44,251,193,182,44,251,193,184,44,251,193,186,44,251,193,202,44,251,193,136,45,251,193,162,45,251,193,176,45,251,193,242,45,251,193,14,46,251,193,54,46,251,193,226,214,252,193,136,46,251,193,138,46,251,193,246,46,251,193,20,47,251,193,22,47,251,193,24,47,251,193,42,47,251,193,112,47,251,193,136,47,251,193,170,47,251,193,194,47,251,193,236,47,251,193,238,47,251,193,170,48,251,193,102,49,251,193,248,49,251,193,250,49,251,206,96,4,0,206,96,4,0,206,96,4,0,206,96,4,0,206,96,4,0,193,212,43,251,193,214,43,251,193,216,43,251,193,218,43,251,193,220,43,251,193,222,43,251,193,224,43,251,193,226,43,251,193,228,43,251,193,230,43,251,193,232,43,251,193,234,43,251,193,236,43,251,193,238,43,251,193,20,44,251,193,22,44,251,193,24,44,251,193,26,44,251,193,28,44,251,193,30,44,251,193,32,44,251,193,34,44,251,193,36,44,251,193,38,44,251,193,40,44,251,193,42,44,251,193,44,44,251,193,184,43,251,193,240,43,251,193,242,43,251,193,46,44,251,193,112,44,251,193,114,44,251,193,154,44,251,193,230,44,251,193,238,45,251,193,254,45,251,193,36,46,251,193,68,46,251,193,122,46,251,193,150,46,251,193,152,46,251,193,210,46,251,193,230,46,251,193,50,47,251,193,106,47,251,193,34,48,251,193,124,48,251,193,146,48,251,193,190,48,251,193,206,48,251,193,224,48,251,193,226,48,251,193,246,48,251,193,12,49,251,193,26,49,251,193,52,49,251,193,92,49,251,193,172,49,251,193,4,44,251,193,6,44,251,193,8,44,251,193,10,44,251,193,12,44,251,193,14,44,251,193,16,44,251,193,18,44,251,193,66,44,251,193,68,44,251,193,70,44,251,193,72,44,251,193,74,44,251,193,76,44,251,193,132,44,251,193,134,44,251,193,136,44,251,193,138,44,251,193,140,44,251,193,162,44,251,193,174,44,251,193,176,44,251,193,178,44,251,193,218,44,251,193,224,44,251,193,244,44,251,193,246,44,251,193,248,44,251,193,250,44,251,193,252,44,251,193,254,44,251,193,2,45,251,193,80,44,251,193,82,44,251,193,84,44,251,193,86,44,251,193,88,44,251,193,90,44,251,193,92,44,251,193,94,44,251,193,96,44,251,193,98,44,251,193,100,44,251,193,102,44,251,193,104,44,251,193,106,44,251,193,108,44,251,193,110,44,251,193,142,44,251,193,144,44,251,193,146,44,251,193,148,44,251,193,150,44,251,193,152,44,251,193,164,44,251,193,166,44,251,193,168,44,251,193,188,44,251,193,190,44,251,193,192,44,251,193,194,44,251,193,196,44,251,193,198,44,251,193,200,44,251,193,120,44,251,193,122,44,251,193,124,44,251,193,126,44,251,193,12,45,251,193,38,45,251,193,48,45,251,193,60,45,251,193,62,45,251,193,82,45,251,193,84,45,251,193,100,45,251,193,152,45,251,193,172,45,251,193,188,45,251,193,190,45,251,193,2,46,251,193,18,46,251,193,38,46,251,193,48,46,251,193,90,46,251,193,102,46,251,193,104,46,251,193,158,46,251,193,160,46,251,193,176,46,251,193,178,46,251,193,234,46,251,193,252,46,251,193,254,46,251,193,54,47,251,193,158,47,251,193,204,44,251,193,206,44,251,193,208,44,251,193,210,44,251,193,220,44,251,193,222,44,251,193,226,44,251,193,228,44,251,193,234,44,251,193,236,44,251,193,238,44,251,193,242,44,251,193,10,45,251,193,26,45,251,193,28,45,251,193,30,45,251,193,32,45,251,193,42,45,251,193,44,45,251,193,46,45,251,193,52,45,251,193,54,45,251,193,56,45,251,193,58,45,251,193,70,45,251,193,72,45,251,193,74,45,251,193,76,45,251,193,78,45,251,193,80,45,251,193,88,45,251,193,90,45,251,193,4,45,251,193,6,45,251,193,8,45,251,193,16,45,251,193,18,45,251,193,20,45,251,193,22,45,251,193,24,45,251,193,40,45,251,193,50,45,251,193,64,45,251,193,66,45,251,193,68,45,251,193,86,45,251,193,106,45,251,193,132,45,251,193,134,45,251,193,158,45,251,193,160,45,251,193,174,45,251,193,206,45,251,193,234,45,251,193,240,45,251,193,248,45,251,193,50,46,251,193,52,46,251,193,82,46,251,193,92,46,251,193,94,46,251,193,96,46,251,193,98,46,251,193,106,46,251,193,34,45,251,193,36,45,251,193,128,45,251,193,130,45,251,193,170,45,251,193,210,45,251,193,220,45,251,193,246,45,251,193,56,46,251,193,58,46,251,193,80,46,251,193,88,46,251,193,100,46,251,193,124,46,251,193,126,46,251,193,128,46,251,193,154,46,251,193,174,46,251,193,156,46,251,193,212,46,251,193,232,46,251,193,16,47,251,193,32,47,251,193,52,47,251,193,70,47,251,193,72,47,251,193,80,47,251,193,84,47,251,193,86,47,251,193,110,47,251,193,38,48,251,193,86,48,251,193,92,45,251,193,94,45,251,193,96,45,251,193,98,45,251,193,108,45,251,193,110,45,251,193,112,45,251,193,114,45,251,193,116,45,251,193,118,45,251,193,120,45,251,193,122,45,251,193,124,45,251,193,126,45,251,193,138,45,251,193,140,45,251,193,142,45,251,193,144,45,251,193,146,45,251,193,148,45,251,193,150,45,251,193,164,45,251,193,166,45,251,193,168,45,251,193,178,45,251,193,180,45,251,193,182,45,251,193,184,45,251,193,186,45,251,193,192,45,251,193,194,45,251,193,196,45,251,193,198,45,251,193,200,45,251,193,202,45,251,193,208,45,251,193,212,45,251,193,214,45,251,193,216,45,251,193,218,45,251,193,222,45,251,193,224,45,251,193,226,45,251,193,228,45,251,193,230,45,251,193,232,45,251,193,236,45,251,193,244,45,251,193,250,45,251,193,4,46,251,193,6,46,251,193,8,46,251,193,10,46,251,193,12,46,251,193,16,46,251,193,22,46,251,193,24,46,251,193,26,46,251,193,28,46,251,193,30,46,251,193,32,46,251,193,34,46,251,193,40,46,251,193,42,46,251,193,204,45,251,193,252,45,251,193,20,46,251,193,64,46,251,193,162,46,251,193,236,46,251,193,238,46,251,193,2,47,251,193,34,47,251,193,92,47,251,193,132,47,251,193,144,47,251,193,162,47,251,193,204,47,251,193,206,47,251,193,224,47,251,193,16,48,251,193,18,48,251,193,40,48,251,193,42,48,251,193,44,48,251,193,90,48,251,193,106,48,251,193,108,48,251,193,128,48,251,193,130,48,251,193,150,48,251,193,152,48,251,193,198,48,251,193,210,48,251,193,212,48,251,193,254,48,251,193,108,46,251,193,110,46,251,193,112,46,251,193,130,46,251,193,132,46,251,193,134,46,251,193,164,46,251,193,180,46,251,193,182,46,251,193,184,46,251,193,214,46,251,193,216,46,251,193,240,46,251,193,242,46,251,193,244,46,251,193,18,47,251,193,36,47,251,193,38,47,251,193,40,47,251,193,56,47,251,193,74,47,251,193,82,47,251,193,94,47,251,193,100,47,251,193,118,47,251,193,120,47,251,193,122,47,251,193,134,47,251,193,146,47,251,193,150,47,251,193,164,47,251,193,166,47,251,193,194,46,251,193,196,46,251,193,198,46,251,193,152,47,251,193,200,46,251,193,202,46,251,193,204,46,251,193,206,46,251,193,208,46,251,193,220,46,251,193,222,46,251,193,224,46,251,193,226,46,251,193,228,46,251,193,248,46,251,193,250,46,251,193,4,47,251,193,6,47,251,193,8,47,251,193,10,47,251,193,12,47,251,193,14,47,251,193,26,47,251,193,28,47,251,193,30,47,251,193,44,47,251,193,46,47,251,193,48,47,251,193,58,47,251,193,60,47,251,193,62,47,251,193,64,47,251,193,66,47,251,193,68,47,251,193,76,47,251,193,78,47,251,193,88,47,251,193,90,47,251,193,96,47,251,193,98,47,251,193,102,47,251,193,104,47,251,193,108,47,251,193,114,47,251,193,116,47,251,193,124,47,251,193,128,47,251,193,130,47,251,193,138,47,251,193,140,47,251,193,142,47,251,193,148,47,251,193,154,47,251,193,156,47,251,193,160,47,251,193,172,47,251,193,174,47,251,193,176,47,251,193,178,47,251,193,196,47,251,193,198,47,251,193,216,47,251,193,218,47,251,193,200,47,251,193,202,47,251,193,102,48,251,193,104,48,251,193,126,48,251,193,148,48,251,193,166,48,251,193,168,48,251,193,196,48,251,193,232,48,251,193,234,48,251,193,236,48,251,193,14,49,251,193,16,49,251,193,28,49,251,193,38,49,251,193,76,49,251,193,94,49,251,193,190,49,251,193,252,49,251,193,12,50,251,193,24,50,251,193,44,50,251,193,78,50,251,193,80,50,251,193,82,50,251,193,84,50,251,193,86,50,251,193,112,50,251,193,114,50,251,193,146,50,251,193,148,50,251,193,156,50,251,193,220,47,251,193,222,47,251,193,240,47,251,193,242,47,251,193,244,47,251,193,246,47,251,193,248,47,251,193,250,47,251,193,252,47,251,193,254,47,251,193,2,48,251,193,4,48,251,193,6,48,251,193,8,48,251,193,10,48,251,193,12,48,251,193,14,48,251,193,20,48,251,193,22,48,251,193,24,48,251,193,26,48,251,193,28,48,251,193,30,48,251,193,32,48,251,193,60,48,251,193,62,48,251,193,64,48,251,193,66,48,251,193,68,48,251,193,70,48,251,193,72,48,251,193,74,48,251,193,76,48,251,193,78,48,251,193,80,48,251,193,110,48,251,193,112,48,251,193,114,48,251,193,116,48,251,193,118,48,251,193,120,48,251,193,122,48,251,193,134,48,251,193,136,48,251,193,138,48,251,193,140,48,251,193,142,48,251,193,144,48,251,193,156,48,251,193,158,48,251,193,160,48,251,193,162,48,251,193,172,48,251,193,174,48,251,193,176,48,251,193,178,48,251,193,180,48,251,193,182,48,251,193,184,48,251,193,186,48,251,193,188,48,251,193,200,48,251,193,202,48,251,193,204,48,251,193,38,10,252,193,40,10,252,193,68,10,252,193,70,10,252,193,72,10,252,193,82,48,251,193,96,10,252,193,98,10,252,193,100,10,252,193,102,10,252,193,104,10,252,193,106,10,252,193,108,10,252,193,110,10,252,193,112,10,252,193,114,10,252,193,116,10,252,193,118,10,252,193,198,165,251,193,140,10,252,193,142,10,252,193,144,10,252,193,146,10,252,193,148,10,252,193,150,10,252,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,193,88,48,251,193,98,48,251,193,100,48,251,193,164,48,251,193,192,48,251,193,194,48,251,193,208,48,251,193,228,48,251,193,230,48,251,193,248,48,251,193,250,48,251,193,252,48,251,193,24,49,251,193,34,49,251,193,126,49,251,193,152,49,251,193,174,49,251,193,200,49,251,193,202,49,251,193,210,49,251,193,212,49,251,193,220,49,251,193,230,49,251,193,232,49,251,193,234,49,251,193,10,50,251,193,42,50,251,193,120,50,251,193,132,50,251,193,144,50,251,193,152,50,251,193,154,50,251,193,18,49,251,193,20,49,251,193,42,49,251,193,128,49,251,193,154,49,251,193,156,49,251,193,158,49,251,193,204,49,251,193,206,49,251,193,228,49,251,193,242,49,251,193,14,50,251,193,46,50,251,193,48,50,251,193,62,50,251,193,88,50,251,193,108,50,251,193,122,50,251,193,124,50,251,193,158,50,251,193,162,50,251,193,216,50,251,193,8,51,251,193,10,51,251,193,60,51,251,193,172,51,251,193,174,51,251,193,246,51,251,193,248,51,251,193,250,51,251,193,252,51,251,193,254,51,251,193,56,49,251,193,58,49,251,193,60,49,251,193,78,49,251,193,80,49,251,193,96,49,251,193,98,49,251,193,100,49,251,193,176,49,251,193,240,49,251,193,244,49,251,193,246,49,251,193,254,49,251,193,16,50,251,193,18,50,251,193,20,50,251,193,26,50,251,193,28,50,251,193,50,50,251,193,52,50,251,193,54,50,251,193,56,50,251,193,64,50,251,193,66,50,251,193,68,50,251,193,70,50,251,193,72,50,251,193,90,50,251,193,92,50,251,193,94,50,251,193,116,50,251,193,118,50,251,193,128,119,251,193,130,119,251,193,132,119,251,193,156,119,251,193,158,119,251,193,160,119,251,193,186,119,251,193,188,119,251,193,190,119,251,193,192,119,251,193,194,119,251,193,90,49,251,193,196,119,251,193,198,119,251,193,240,119,251,193,242,119,251,193,244,119,251,193,246,119,251,193,248,119,251,193,250,119,251,193,252,119,251,193,254,119,251,193,2,120,251,193,4,120,251,193,6,120,251,193,8,120,251,193,10,120,251,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,193,108,49,251,193,110,49,251,193,112,49,251,193,114,49,251,193,116,49,251,193,118,49,251,193,120,49,251,193,122,49,251,193,124,49,251,193,130,49,251,193,132,49,251,193,134,49,251,193,136,49,251,193,138,49,251,193,140,49,251,193,142,49,251,193,144,49,251,193,146,49,251,193,148,49,251,193,160,49,251,193,162,49,251,193,164,49,251,193,166,49,251,193,168,49,251,193,242,208,253,193,170,49,251,193,178,49,251,193,180,49,251,193,182,49,251,193,184,49,251,193,186,49,251,193,188,49,251,193,72,55,251,193,74,55,251,193,76,55,251,193,78,55,251,193,80,55,251,193,82,55,251,193,84,55,251,193,86,55,251,193,88,55,251,193,150,49,251,193,112,55,251,193,114,55,251,193,116,55,251,193,118,55,251,193,120,55,251,193,122,55,251,193,124,55,251,193,126,55,251,193,128,55,251,193,130,55,251,193,132,55,251,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,206,192,4,0,193,192,49,251,193,194,49,251,193,196,49,251,193,24,102,251,193,198,49,251,193,208,49,251,193,214,49,251,193,216,49,251,193,222,49,251,193,224,49,251,193,226,49,251,193,236,49,251,193,238,49,251,193,2,50,251,193,4,50,251,193,6,50,251,193,8,50,251,193,22,50,251,193,30,50,251,193,32,50,251,193,34,50,251,193,36,50,251,193,38,50,251,193,40,50,251,193,60,50,251,193,96,50,251,193,98,50,251,193,100,50,251,193,102,50,251,193,104,50,251,193,110,50,251,193,126,50,251,193,218,49,251,193,76,50,251,193,106,50,251,193,210,50,251,193,48,51,251,193,98,51,251,193,100,51,251,193,158,51,251,193,160,51,251,193,162,51,251,193,164,51,251,193,226,51,251,193,228,51,251,193,230,51,251,193,232,51,251,193,40,52,251,193,42,52,251,193,92,52,251,193,94,52,251,193,158,52,251,193,160,52,251,193,162,52,251,193,232,52,251,193,234,52,251,193,26,53,251,193,28,53,251,193,60,53,251,193,86,53,251,193,230,53,251,193,254,53,251,193,26,54,251,193,50,54,251,193,58,50,251,193,74,50,251,193,226,50,251,193,228,50,251,193,230,50,251,193,20,51,251,193,22,51,251,193,24,51,251,193,70,51,251,193,72,51,251,193,124,51,251,193,186,51,251,193,188,51,251,193,190,51,251,193,70,52,251,193,138,52,251,193,188,52,251,193,190,52,251,193,254,52,251,193,56,53,251,193,104,53,251,193,136,53,251,193,244,53,251,193,18,54,251,193,20,54,251,193,92,54,251,193,138,54,251,193,140,54,251,193,190,54,251,193,230,54,251,193,24,55,251,193,66,55,251,193,128,50,251,193,130,50,251,193,138,50,251,193,140,50,251,193,142,50,251,193,150,50,251,193,164,50,251,193,166,50,251,193,168,50,251,193,170,50,251,193,172,50,251,193,176,50,251,193,188,50,251,193,196,50,251,193,198,50,251,193,200,50,251,193,202,50,251,193,204,50,251,193,206,50,251,193,208,50,251,193,236,50,251,193,238,50,251,193,240,50,251,193,242,50,251,193,244,50,251,193,246,50,251,193,248,50,251,193,250,50,251,193,252,50,251,193,254,50,251,193,2,51,251,193,4,51,251,193,134,50,251,193,136,50,251,193,178,50,251,193,180,50,251,193,182,50,251,193,184,50,251,193,186,50,251,193,190,50,251,193,192,50,251,193,194,50,251,193,218,50,251,193,220,50,251,193,222,50,251,193,224,50,251,193,12,51,251,193,14,51,251,193,16,51,251,193,18,51,251,193,62,51,251,193,64,51,251,193,66,51,251,193,68,51,251,193,112,51,251,193,114,51,251,193,116,51,251,193,118,51,251,193,120,51,251,193,122,51,251,193,176,51,251,193,178,51,251,193,180,51,251,193,182,51,251,193,160,50,251,193,174,50,251,193,212,50,251,193,52,51,251,193,54,51,251,193,102,51,251,193,104,51,251,193,106,51,251,193,108,51,251,193,166,51,251,193,168,51,251,193,238,51,251,193,44,52,251,193,46,52,251,193,48,52,251,193,50,52,251,193,52,52,251,193,96,52,251,193,98,52,251,193,100,52,251,193,102,52,251,193,104,52,251,193,106,52,251,193,108,52,251,193,164,52,251,193,166,52,251,193,168,52,251,193,170,52,251,193,236,52,251,193,238,52,251,193,30,53,251,193,32,53,251,193,214,50,251,193,6,51,251,193,56,51,251,193,58,51,251,193,110,51,251,193,170,51,251,193,240,51,251,193,242,51,251,193,244,51,251,193,54,52,251,193,56,52,251,193,58,52,251,193,110,52,251,193,112,52,251,193,114,52,251,193,116,52,251,193,118,52,251,193,172,52,251,193,174,52,251,193,240,52,251,193,242,52,251,193,244,52,251,193,34,53,251,193,52,53,251,193,110,53,251,193,182,53,251,193,184,53,251,193,236,53,251,193,238,53,251,193,240,53,251,193,4,54,251,193,6,54,251,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,206,128,4,0,193,192,51,251,193,194,51,251,193,196,51,251,193,198,51,251,193,200,51,251,193,202,51,251,193,204,51,251,193,206,51,251,193,208,51,251,193,210,51,251,193,212,51,251,193,214,51,251,193,216,51,251,193,218,51,251,193,220,51,251,193,222,51,251,193,224,51,251,193,12,52,251,193,14,52,251,193,16,52,251,193,18,52,251,193,20,52,251,193,22,52,251,193,24,52,251,193,140,52,251,193,128,251,252,193,130,251,252,193,224,251,252,193,226,251,252,193,228,251,252,193,230,251,252,193,38,252,252,193,40,252,252,193,42,252,252,193,44,252,252,193,112,252,252,193,150,252,252,193,152,252,252,193,174,252,252,193,178,252,252,193,180,252,252,193,194,252,252,193,214,252,252,193,184,51,251,193,216,252,252,193,218,252,252,193,2,253,252,193,4,253,252,193,6,253,252,193,8,253,252,193,10,253,252,193,12,253,252,193,54,253,252,193,56,253,252,193,58,253,252,193,98,253,252,193,100,253,252,193,2,52,251,193,4,52,251,193,6,52,251,193,8,52,251,193,60,52,251,193,62,52,251,193,64,52,251,193,66,52,251,193,68,52,251,193,10,52,251,193,134,52,251,193,136,52,251,193,178,52,251,193,180,52,251,193,182,52,251,193,184,52,251,193,186,52,251,193,250,52,251,193,252,52,251,193,54,53,251,193,82,53,251,193,114,53,251,193,120,53,251,193,130,53,251,193,132,53,251,193,134,53,251,193,144,53,251,193,146,53,251,193,148,53,251,193,162,53,251,193,164,53,251,193,186,53,251,193,26,52,251,193,28,52,251,193,30,52,251,193,32,52,251,193,34,52,251,193,36,52,251,193,38,52,251,193,72,52,251,193,74,52,251,193,76,52,251,193,78,52,251,193,80,52,251,193,82,52,251,193,84,52,251,193,86,52,251,193,88,52,251,193,90,52,251,193,142,52,251,193,144,52,251,193,146,52,251,193,148,52,251,193,150,52,251,193,152,52,251,193,154,52,251,193,156,52,251,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,193,120,52,251,193,122,52,251,193,124,52,251,193,126,52,251,193,128,52,251,193,130,52,251,193,132,52,251,193,176,52,251,193,246,52,251,193,248,52,251,193,64,53,251,193,66,53,251,193,90,53,251,193,160,53,251,193,242,53,251,193,52,54,251,193,186,54,251,193,216,54,251,193,218,54,251,193,220,54,251,193,222,54,251,193,224,54,251,193,226,54,251,193,6,55,251,193,8,55,251,193,10,55,251,193,12,55,251,193,50,55,251,193,52,55,251,193,54,55,251,193,104,55,251,193,106,55,251,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,206,160,4,0,193,2,53,251,193,4,53,251,193,6,53,251,193,8,53,251,193,10,53,251,193,12,53,251,193,14,53,251,193,16,53,251,193,18,53,251,193,20,53,251,193,22,53,251,193,24,53,251,193,226,91,252,193,36,53,251,193,38,53,251,193,40,53,251,193,42,53,251,193,44,53,251,193,58,53,251,193,46,53,251,193,48,53,251,193,50,53,251,193,62,53,251,193,88,53,251,193,108,53,251,193,142,53,251,193,194,53,251,193,232,53,251,193,234,53,251,193,2,54,251,193,28,54,251,193,70,54,251,193,72,54,251,193,74,54,251,193,108,54,251,193,110,54,251,193,120,54,251,193,160,54,251,193,210,54,251,193,250,54,251,193,252,54,251,193,254,54,251,193,2,55,251,193,4,55,251,193,42,55,251,193,94,55,251,193,96,55,251,193,138,55,251,193,140,55,251,193,142,55,251,193,144,55,251,193,68,53,251,193,70,53,251,193,72,53,251,193,74,53,251,193,76,53,251,193,78,53,251,193,80,53,251,193,84,53,251,193,178,20,252,193,92,53,251,193,94,53,251,193,96,53,251,193,98,53,251,193,100,53,251,193,102,53,251,193,106,53,251,193,112,53,251,193,116,53,251,193,118,53,251,193,122,53,251,193,124,53,251,193,126,53,251,193,128,53,251,193,138,53,251,193,140,53,251,193,150,53,251,193,152,53,251,193,154,53,251,193,156,53,251,193,158,53,251,193,166,53,251,193,168,53,251,193,196,53,251,193,198,53,251,193,200,53,251,193,14,54,251,193,16,54,251,193,32,54,251,193,78,54,251,193,90,54,251,193,122,54,251,193,124,54,251,193,128,54,251,193,130,54,251,193,132,54,251,193,134,54,251,193,136,54,251,193,162,54,251,193,164,54,251,193,166,54,251,193,188,54,251,193,228,54,251,193,14,55,251,193,16,55,251,193,18,55,251,193,20,55,251,193,22,55,251,193,56,55,251,193,58,55,251,193,60,55,251,193,62,55,251,193,64,55,251,193,108,55,251,193,110,55,251,193,8,54,251,193,10,54,251,193,12,54,251,193,30,54,251,193,76,54,251,193,126,54,251,193,184,54,251,193,212,54,251,193,214,54,251,193,44,55,251,193,46,55,251,193,48,55,251,193,98,55,251,193,100,55,251,193,102,55,251,193,146,55,251,193,148,55,251,193,190,55,251,193,192,55,251,193,228,55,251,193,230,55,251,193,40,56,251,193,42,56,251,193,56,56,251,193,222,56,251,193,224,56,251,193,112,57,251,193,114,57,251,193,116,57,251,193,118,57,251,193,120,57,251,193,122,57,251,193,36,54,251,193,38,54,251,193,40,54,251,193,42,54,251,193,44,54,251,193,46,54,251,193,54,54,251,193,56,54,251,193,58,54,251,193,60,54,251,193,62,54,251,193,64,54,251,193,66,54,251,193,82,54,251,193,84,54,251,193,86,54,251,193,88,54,251,193,94,54,251,193,96,54,251,193,100,54,251,193,112,54,251,193,102,54,251,193,104,54,251,193,106,54,251,193,114,54,251,193,116,54,251,193,142,54,251,193,144,54,251,193,146,54,251,193,148,54,251,193,150,54,251,193,152,54,251,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,193,48,54,251,193,16,194,252,193,18,194,252,193,20,194,252,193,22,194,252,193,24,194,252,193,26,194,252,193,28,194,252,193,30,194,252,193,32,194,252,193,34,194,252,193,36,194,252,193,38,194,252,193,40,194,252,193,42,194,252,193,44,194,252,193,46,194,252,193,48,194,252,193,68,194,252,193,70,194,252,193,72,194,252,193,74,194,252,193,76,194,252,193,78,194,252,193,80,194,252,193,82,194,252,193,84,194,252,193,68,54,251,193,98,54,251,193,118,54,251,193,156,54,251,193,158,54,251,193,208,54,251,193,248,54,251,193,38,55,251,193,40,55,251,193,90,55,251,193,92,55,251,193,134,55,251,193,136,55,251,193,220,55,251,193,222,55,251,193,8,56,251,193,34,56,251,193,72,56,251,193,216,56,251,193,170,58,251,193,172,58,251,193,174,58,251,193,4,60,251,193,6,60,251,193,8,60,251,193,10,60,251,206,128,5,0,206,128,5,0,206,128,5,0,206,128,5,0,206,128,5,0,206,128,5,0,193,154,54,251,193,168,54,251,193,170,54,251,193,172,54,251,193,174,54,251,193,176,54,251,193,178,54,251,193,180,54,251,193,182,54,251,193,192,54,251,193,194,54,251,193,196,54,251,193,198,54,251,193,200,54,251,193,202,54,251,193,204,54,251,193,206,54,251,193,232,54,251,193,234,54,251,193,236,54,251,193,238,54,251,193,240,54,251,193,242,54,251,193,244,54,251,193,246,54,251,193,26,55,251,193,28,55,251,193,30,55,251,193,32,55,251,193,34,55,251,193,36,55,251,193,70,55,251,193,182,55,251,193,184,55,251,193,186,55,251,193,188,55,251,193,224,55,251,193,226,55,251,193,10,56,251,193,12,56,251,193,36,56,251,193,38,56,251,193,54,56,251,193,74,56,251,193,76,56,251,193,84,56,251,193,86,56,251,193,126,56,251,193,218,56,251,193,220,56,251,193,100,57,251,193,102,57,251,193,104,57,251,193,106,57,251,193,108,57,251,193,110,57,251,193,176,58,251,193,178,58,251,193,180,58,251,193,182,58,251,193,184,58,251,193,186,58,251,193,188,58,251,193,12,60,251,193,194,55,251,193,196,55,251,193,232,55,251,193,234,55,251,193,14,56,251,193,44,56,251,193,98,56,251,193,226,56,251,193,130,57,251,193,132,57,251,193,212,58,251,193,214,58,251,193,216,58,251,193,218,58,251,193,68,60,251,193,70,60,251,193,72,60,251,193,74,60,251,193,76,60,251,193,78,60,251,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,193,198,55,251,193,16,56,251,193,144,50,253,193,182,56,251,193,184,56,251,193,186,56,251,193,24,57,251,193,26,57,251,193,28,57,251,193,18,58,251,193,20,58,251,193,22,58,251,193,24,58,251,193,26,58,251,193,28,58,251,193,30,58,251,193,32,58,251,193,34,58,251,193,36,58,251,193,38,58,251,193,40,58,251,193,42,58,251,193,44,58,251,193,96,59,251,193,98,59,251,193,100,59,251,193,102,59,251,193,104,59,251,193,106,59,251,193,108,59,251,193,110,59,251,193,112,59,251,193,236,55,251,193,58,56,251,193,88,56,251,193,112,56,251,193,128,56,251,193,130,56,251,193,132,56,251,193,134,56,251,193,136,56,251,193,138,56,251,193,140,56,251,193,142,56,251,193,144,56,251,193,146,56,251,193,148,56,251,193,150,56,251,193,152,56,251,193,154,56,251,193,156,56,251,193,158,56,251,193,160,56,251,193,162,56,251,193,164,56,251,193,166,56,251,193,168,56,251,193,170,56,251,193,172,56,251,193,174,56,251,193,176,56,251,193,178,56,251,193,180,56,251,193,228,56,251,193,150,35,251,193,212,155,251,193,206,193,251,193,236,171,252,193,200,121,251,193,114,25,252,193,60,229,251,193,206,73,253,193,118,15,253,193,174,126,253,193,42,25,253,193,252,157,251,193,6,26,251,193,160,69,251,193,238,55,251,193,192,89,251,193,182,93,251,193,118,141,251,193,96,226,251,193,232,245,251,193,110,248,251,193,130,33,251,193,54,75,252,193,12,111,252,193,216,134,252,193,160,135,252,193,36,136,252,193,246,137,252,193,234,139,253,193,186,170,252,193,136,195,252,193,178,243,252,193,26,56,251,193,28,56,251,193,30,56,251,193,46,56,251,193,48,56,251,193,50,56,251,193,52,56,251,193,60,56,251,193,62,56,251,193,64,56,251,193,66,56,251,193,68,56,251,193,70,56,251,193,78,56,251,193,80,56,251,193,82,56,251,193,90,56,251,193,94,56,251,193,96,56,251,193,100,56,251,193,102,56,251,193,104,56,251,193,106,56,251,193,108,56,251,193,110,56,251,193,114,56,251,193,116,56,251,193,118,56,251,193,120,56,251,193,122,56,251,193,124,56,251,193,192,56,251,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,193,32,56,251,193,56,126,251,193,234,98,251,193,92,56,251,193,236,98,251,193,58,99,251,193,60,99,251,193,62,99,251,193,104,99,251,193,166,99,251,193,168,99,251,193,182,99,251,193,202,99,251,193,220,99,251,193,222,99,251,193,224,99,251,193,228,99,251,193,232,99,251,193,234,99,251,193,236,99,251,193,238,99,251,193,240,99,251,193,252,99,251,193,254,99,251,193,12,100,251,193,32,100,251,193,34,100,251,193,44,100,251,193,46,100,251,193,48,100,251,193,62,100,251,193,80,100,251,193,82,100,251,193,104,100,251,193,194,56,251,193,196,56,251,193,198,56,251,193,200,56,251,193,202,56,251,193,204,56,251,193,206,56,251,193,208,56,251,193,210,56,251,193,212,56,251,193,214,56,251,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,193,230,56,251,193,232,56,251,193,234,56,251,193,236,56,251,193,238,56,251,193,240,56,251,193,242,56,251,193,244,56,251,193,246,56,251,193,248,56,251,193,250,56,251,193,252,56,251,193,254,56,251,193,2,57,251,193,4,57,251,193,6,57,251,193,8,57,251,193,10,57,251,193,12,57,251,193,14,57,251,193,16,57,251,193,18,57,251,193,20,57,251,193,22,57,251,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,224,4,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,193,124,57,251,193,126,57,251,193,128,57,251,193,190,58,251,193,192,58,251,193,194,58,251,193,196,58,251,193,198,58,251,193,200,58,251,193,202,58,251,193,204,58,251,193,206,58,251,193,208,58,251,193,210,58,251,193,36,60,251,193,38,60,251,193,40,60,251,193,42,60,251,193,44,60,251,193,46,60,251,193,48,60,251,193,50,60,251,193,52,60,251,193,54,60,251,193,56,60,251,193,58,60,251,193,60,60,251,193,62,60,251,193,64,60,251,193,66,60,251,193,234,61,251,193,236,61,251,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,206,0,5,0,193,220,58,251,193,222,58,251,193,224,58,251,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,32,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,193,226,58,251,193,228,58,251,193,230,58,251,193,232,58,251,193,234,58,251,193,236,58,251,193,238,58,251,193,240,58,251,193,242,58,251,193,244,58,251,193,246,58,251,193,248,58,251,193,250,58,251,193,252,58,251,193,254,58,251,193,2,59,251,193,4,59,251,193,6,59,251,193,8,59,251,193,10,59,251,193,12,59,251,193,14,59,251,193,16,59,251,193,18,59,251,193,20,59,251,193,22,59,251,193,24,59,251,193,26,59,251,193,28,59,251,193,30,59,251,193,32,59,251,193,34,59,251,193,36,59,251,193,38,59,251,193,40,59,251,193,42,59,251,193,44,59,251,193,46,59,251,193,48,59,251,193,50,59,251,193,52,59,251,193,54,59,251,193,56,59,251,193,58,59,251,193,60,59,251,193,62,59,251,193,64,59,251,193,66,59,251,193,68,59,251,193,70,59,251,193,72,59,251,193,74,59,251,193,76,59,251,193,78,59,251,193,80,59,251,193,82,59,251,193,84,59,251,193,86,59,251,193,88,59,251,193,90,59,251,193,92,59,251,193,94,59,251,193,80,60,251,193,82,60,251,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,64,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,193,14,60,251,193,16,60,251,193,18,60,251,193,20,60,251,193,22,60,251,193,24,60,251,193,26,60,251,193,28,60,251,193,30,60,251,193,32,60,251,193,34,60,251,193,198,61,251,193,200,61,251,193,202,61,251,193,204,61,251,193,206,61,251,193,208,61,251,193,210,61,251,193,212,61,251,193,214,61,251,193,216,61,251,193,218,61,251,193,220,61,251,193,222,61,251,193,224,61,251,193,226,61,251,193,228,61,251,193,230,61,251,193,232,61,251,193,242,63,251,193,244,63,251,193,246,63,251,193,84,60,251,193,86,60,251,193,88,60,251,193,90,60,251,193,92,60,251,193,94,60,251,193,96,60,251,193,98,60,251,193,100,60,251,193,102,60,251,193,104,60,251,193,106,60,251,193,108,60,251,193,110,60,251,193,112,60,251,193,114,60,251,193,116,60,251,193,118,60,251,193,120,60,251,193,122,60,251,193,124,60,251,193,126,60,251,193,128,60,251,193,130,60,251,193,132,60,251,193,134,60,251,193,136,60,251,193,138,60,251,193,140,60,251,193,142,60,251,193,144,60,251,193,146,60,251,193,148,60,251,193,150,60,251,193,152,60,251,193,154,60,251,193,156,60,251,193,158,60,251,193,160,60,251,193,162,60,251,193,164,60,251,193,166,60,251,193,168,60,251,193,170,60,251,193,172,60,251,193,174,60,251,193,176,60,251,193,178,60,251,193,180,60,251,193,182,60,251,193,184,60,251,193,186,60,251,193,188,60,251,193,190,60,251,193,192,60,251,193,194,60,251,193,196,60,251,193,198,60,251,193,200,60,251,193,202,60,251,193,204,60,251,193,206,60,251,193,208,60,251,193,210,60,251,193,212,60,251,193,214,60,251,193,216,60,251,193,218,60,251,193,220,60,251,193,222,60,251,193,224,60,251,193,226,60,251,193,228,60,251,193,230,60,251,193,232,60,251,193,234,60,251,193,236,60,251,193,238,60,251,193,240,60,251,193,202,62,251,193,204,62,251,193,206,62,251,193,208,62,251,193,210,62,251,193,212,62,251,193,214,62,251,193,216,62,251,193,218,62,251,193,220,62,251,193,222,62,251,193,224,62,251,193,226,62,251,193,228,62,251,193,230,62,251,193,232,62,251,193,6,65,251,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,96,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,128,5,0,206,128,5,0,206,128,5,0,206,128,5,0,193,220,63,251,193,222,63,251,193,224,63,251,193,226,63,251,193,228,63,251,193,230,63,251,193,232,63,251,193,234,63,251,193,236,63,251,193,238,63,251,193,240,63,251,193,88,66,251,193,90,66,251,193,92,66,251,193,94,66,251,193,96,66,251,193,98,66,251,193,100,66,251,193,102,66,251,193,104,66,251,193,106,66,251,193,108,66,251,193,110,66,251,193,112,66,251,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,193,238,61,251,193,240,61,251,193,242,61,251,193,244,61,251,193,246,61,251,193,248,61,251,193,250,61,251,193,252,61,251,193,254,61,251,193,2,62,251,193,4,62,251,193,6,62,251,193,8,62,251,193,10,62,251,193,12,62,251,193,14,62,251,193,16,62,251,193,18,62,251,193,20,62,251,193,22,62,251,193,24,62,251,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,160,5,0,206,160,5,0,206,160,5,0,206,160,5,0,193,76,64,251,193,78,64,251,193,80,64,251,193,82,64,251,193,84,64,251,193,86,64,251,193,88,64,251,193,90,64,251,193,92,64,251,193,94,64,251,193,96,64,251,193,98,64,251,193,100,64,251,193,246,66,251,193,248,66,251,193,250,66,251,193,252,66,251,193,254,66,251,193,2,67,251,193,4,67,251,193,6,67,251,193,8,67,251,193,10,67,251,193,12,67,251,193,14,67,251,193,16,67,251,193,18,67,251,193,120,69,251,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,192,5,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,206,224,5,0,193,52,65,251,193,94,63,251,193,96,63,251,193,98,63,251,193,100,63,251,193,102,63,251,193,248,93,252,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,206,0,6,0,193,158,81,252,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,193,248,63,251,193,250,63,251,193,252,63,251,193,254,63,251,193,2,64,251,193,4,64,251,193,6,64,251,193,8,64,251,193,10,64,251,193,12,64,251,193,14,64,251,193,16,64,251,193,18,64,251,193,20,64,251,193,22,64,251,193,24,64,251,193,26,64,251,193,28,64,251,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,32,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,206,64,6,0,193,20,67,251,193,200,64,251,193,202,64,251,193,204,64,251,193,206,64,251,193,208,64,251,193,30,214,251,193,210,64,251,193,212,64,251,193,214,64,251,193,216,64,251,193,218,64,251,193,220,64,251,193,222,64,251,193,224,64,251,193,226,64,251,193,228,64,251,193,230,64,251,193,22,67,251,193,232,64,251,193,234,64,251,193,236,64,251,193,238,64,251,193,240,64,251,193,242,64,251,193,244,64,251,193,246,64,251,193,248,64,251,193,250,64,251,193,252,64,251,193,254,64,251,193,2,65,251,193,4,65,251,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,193,8,65,251,193,10,65,251,193,12,65,251,193,14,65,251,193,16,65,251,193,18,65,251,193,20,65,251,193,22,65,251,193,24,65,251,193,26,65,251,193,28,65,251,193,30,65,251,193,32,65,251,193,34,65,251,193,36,65,251,193,38,65,251,193,40,65,251,193,42,65,251,193,44,65,251,193,46,65,251,193,48,65,251,193,50,65,251,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,206,96,6,0,193,218,67,251,193,220,67,251,193,222,67,251,193,224,67,251,193,226,67,251,193,228,67,251,193,230,67,251,193,232,67,251,193,234,67,251,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,206,128,6,0,193,252,68,251,193,254,68,251,193,2,69,251,193,4,69,251,193,6,69,251,193,8,69,251,193,10,69,251,193,12,69,251,193,14,69,251,193,16,69,251,193,18,69,251,193,20,69,251,193,22,69,251,193,24,69,251,193,26,69,251,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,160,6,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,206,192,6,0,193,156,69,251,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,206,224,6,0,193,158,69,251,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,193,160,67,251,193,130,74,251,193,132,74,251,193,134,74,251,193,136,74,251,193,138,74,251,193,140,74,251,193,142,74,251,193,144,74,251,193,146,74,251,193,148,74,251,193,150,74,251,193,98,72,251,193,152,74,251,193,100,72,251,193,154,74,251,193,22,65,252,193,156,74,251,193,158,74,251,193,160,74,251,193,162,74,251,193,164,74,251,193,166,74,251,193,168,74,251,193,170,74,251,193,30,76,251,193,32,76,251,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,206,0,7,0,193,14,70,251,193,16,70,251,193,18,70,251,193,20,70,251,193,22,70,251,193,24,70,251,193,26,70,251,193,28,70,251,193,30,70,251,193,32,70,251,193,34,70,251,193,36,70,251,193,38,70,251,193,40,70,251,193,236,67,251,193,238,67,251,193,240,67,251,193,242,67,251,193,244,67,251,193,246,67,251,193,248,67,251,193,250,67,251,193,252,67,251,193,254,67,251,193,2,68,251,193,4,68,251,193,6,68,251,193,8,68,251,193,10,68,251,193,12,68,251,193,14,68,251,193,16,68,251,193,18,68,251,193,20,68,251,193,22,68,251,193,24,68,251,193,26,68,251,193,28,68,251,193,30,68,251,193,32,68,251,193,34,68,251,193,36,68,251,193,38,68,251,193,40,68,251,193,42,68,251,193,44,68,251,193,46,68,251,193,48,68,251,193,46,70,251,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,206,32,7,0,193,48,70,251,193,50,70,251,193,52,70,251,193,54,70,251,193,56,70,251,193,216,68,251,193,218,68,251,193,220,68,251,193,222,68,251,193,58,70,251,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,206,64,7,0,193,96,71,251,193,98,71,251,193,100,71,251,193,102,71,251,193,104,71,251,193,106,71,251,193,108,71,251,193,110,71,251,193,112,71,251,193,114,71,251,193,116,71,251,193,118,71,251,193,120,71,251,193,122,71,251,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,193,28,69,251,193,30,69,251,193,32,69,251,193,124,71,251,193,126,71,251,193,128,71,251,193,130,71,251,193,132,71,251,193,134,71,251,193,136,71,251,193,138,71,251,193,140,71,251,193,142,71,251,193,144,71,251,193,146,71,251,193,148,71,251,193,150,71,251,193,152,71,251,193,154,71,251,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,96,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,193,122,69,251,193,124,69,251,193,126,69,251,193,128,69,251,193,130,69,251,193,132,69,251,193,134,69,251,193,136,69,251,193,138,69,251,193,140,69,251,193,142,69,251,193,144,69,251,193,146,69,251,193,148,69,251,193,150,69,251,193,152,69,251,193,154,69,251,193,228,71,251,193,230,71,251,193,232,71,251,193,234,71,251,193,236,71,251,193,238,71,251,193,240,71,251,193,242,71,251,193,244,71,251,193,246,71,251,193,248,71,251,193,250,71,251,193,252,71,251,193,254,71,251,193,48,74,251,193,160,69,251,193,162,69,251,193,164,69,251,193,166,69,251,193,168,69,251,193,170,69,251,193,172,69,251,193,174,69,251,193,176,69,251,193,178,69,251,193,180,69,251,193,182,69,251,193,184,69,251,193,186,69,251,193,188,69,251,193,190,69,251,193,192,69,251,193,194,69,251,193,196,69,251,193,198,69,251,193,200,69,251,193,202,69,251,193,204,69,251,193,206,69,251,193,208,69,251,193,210,69,251,193,212,69,251,193,214,69,251,193,216,69,251,193,218,69,251,193,220,69,251,193,222,69,251,193,224,69,251,193,226,69,251,193,228,69,251,193,230,69,251,193,232,69,251,193,234,69,251,193,236,69,251,193,238,69,251,193,240,69,251,193,242,69,251,193,244,69,251,193,246,69,251,193,248,69,251,193,250,69,251,193,252,69,251,193,254,69,251,193,2,70,251,193,4,70,251,193,6,70,251,193,8,70,251,193,10,70,251,193,12,70,251,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,193,42,70,251,193,44,70,251,193,102,72,251,193,104,72,251,193,106,72,251,193,108,72,251,193,110,72,251,193,112,72,251,193,114,72,251,193,116,72,251,193,118,72,251,193,120,72,251,193,122,72,251,193,124,72,251,193,126,72,251,193,128,72,251,193,130,72,251,193,174,74,251,193,176,74,251,193,178,74,251,193,180,74,251,193,182,74,251,193,184,74,251,193,186,74,251,193,188,74,251,193,190,74,251,193,192,74,251,206,160,8,0,206,160,8,0,206,160,8,0,206,160,8,0,206,160,8,0,193,60,70,251,193,62,70,251,193,64,70,251,193,66,70,251,193,68,70,251,193,70,70,251,193,72,70,251,193,74,70,251,193,76,70,251,193,78,70,251,193,80,70,251,193,82,70,251,193,84,70,251,193,86,70,251,193,88,70,251,193,90,70,251,193,92,70,251,193,94,70,251,193,96,70,251,193,98,70,251,193,100,70,251,193,102,70,251,193,104,70,251,193,106,70,251,193,108,70,251,193,110,70,251,193,112,70,251,193,114,70,251,193,116,70,251,193,118,70,251,193,120,70,251,193,122,70,251,193,124,70,251,193,126,70,251,193,128,70,251,193,130,70,251,193,132,70,251,193,134,70,251,193,136,70,251,193,138,70,251,193,140,70,251,193,142,70,251,193,144,70,251,193,146,70,251,193,148,70,251,193,150,70,251,193,152,70,251,193,154,70,251,193,200,74,251,193,202,74,251,193,204,74,251,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,128,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,206,160,7,0,193,232,73,251,193,234,73,251,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,206,192,7,0,193,68,74,251,193,70,74,251,193,84,72,251,193,86,72,251,193,88,72,251,193,90,72,251,193,92,72,251,193,94,72,251,193,96,72,251,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,64,8,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,224,7,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,206,0,8,0,193,158,75,251,193,160,75,251,193,162,75,251,193,164,75,251,193,166,75,251,193,168,75,251,193,170,75,251,193,172,75,251,193,174,75,251,193,92,77,251,193,94,77,251,193,96,77,251,193,98,77,251,193,100,77,251,193,102,77,251,193,104,77,251,193,174,78,251,193,176,78,251,193,178,78,251,193,180,78,251,193,218,79,251,193,220,79,251,193,222,79,251,193,224,79,251,193,226,79,251,193,228,79,251,193,184,80,251,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,206,32,8,0,193,178,75,251,193,180,75,251,193,182,75,251,193,184,75,251,193,186,75,251,193,188,75,251,193,190,75,251,193,192,75,251,193,194,75,251,193,196,75,251,193,198,75,251,193,200,75,251,193,202,75,251,193,204,75,251,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,193,236,73,251,193,238,73,251,193,240,73,251,193,242,73,251,193,244,73,251,193,246,73,251,193,248,73,251,193,250,73,251,193,252,73,251,193,254,73,251,193,2,74,251,193,4,74,251,193,6,74,251,193,8,74,251,193,10,74,251,193,12,74,251,193,14,74,251,193,16,74,251,193,18,74,251,193,20,74,251,193,22,74,251,193,24,74,251,193,26,74,251,193,28,74,251,193,30,74,251,193,32,74,251,193,34,74,251,193,36,74,251,193,38,74,251,193,40,74,251,193,42,74,251,193,44,74,251,193,46,74,251,193,206,75,251,193,208,75,251,193,210,75,251,193,212,75,251,193,214,75,251,193,216,75,251,193,218,75,251,193,220,75,251,193,222,75,251,193,224,75,251,193,226,75,251,193,228,75,251,193,230,75,251,193,232,75,251,193,234,75,251,193,236,75,251,193,238,75,251,193,240,75,251,193,242,75,251,193,244,75,251,193,246,75,251,193,248,75,251,193,250,75,251,193,252,75,251,193,254,75,251,193,2,76,251,193,4,76,251,193,6,76,251,193,8,76,251,193,10,76,251,193,12,76,251,193,50,74,251,193,52,74,251,193,54,74,251,193,56,74,251,193,58,74,251,193,60,74,251,193,62,74,251,193,64,74,251,193,66,74,251,193,18,76,251,193,20,76,251,193,22,76,251,193,24,76,251,193,26,76,251,193,28,76,251,193,192,77,251,193,194,77,251,193,196,77,251,193,198,77,251,193,200,77,251,193,202,77,251,193,204,77,251,193,206,77,251,193,246,78,251,193,248,78,251,193,250,78,251,193,252,78,251,193,254,78,251,193,2,79,251,193,4,79,251,193,50,80,251,193,52,80,251,193,34,76,251,193,36,76,251,193,38,76,251,193,40,76,251,193,42,76,251,193,44,76,251,193,46,76,251,193,48,76,251,193,50,76,251,193,52,76,251,193,54,76,251,193,56,76,251,193,58,76,251,193,60,76,251,193,62,76,251,193,64,76,251,193,66,76,251,193,68,76,251,193,70,76,251,193,72,76,251,193,172,74,251,193,74,76,251,193,76,76,251,193,78,76,251,193,80,76,251,193,82,76,251,193,84,76,251,193,86,76,251,193,88,76,251,193,208,77,251,193,210,77,251,193,212,77,251,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,206,96,8,0,193,124,140,252,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,128,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,193,154,75,251,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,206,224,8,0,193,156,75,251,193,44,77,251,193,46,77,251,193,48,77,251,193,50,77,251,193,52,77,251,193,54,77,251,193,56,77,251,193,58,77,251,193,60,77,251,193,62,77,251,193,64,77,251,193,66,77,251,193,68,77,251,193,70,77,251,193,72,77,251,193,74,77,251,193,76,77,251,193,78,77,251,193,80,77,251,193,82,77,251,193,84,77,251,193,86,77,251,206,32,9,0,206,32,9,0,206,32,9,0,193,14,76,251,193,16,76,251,193,140,77,251,193,142,77,251,193,144,77,251,193,146,77,251,193,148,77,251,193,150,77,251,193,152,77,251,193,154,77,251,193,156,77,251,193,158,77,251,193,160,77,251,193,162,77,251,193,164,77,251,193,166,77,251,193,168,77,251,193,170,77,251,193,172,77,251,193,174,77,251,193,176,77,251,193,178,77,251,193,180,77,251,193,182,77,251,193,184,77,251,193,186,77,251,193,188,77,251,193,190,77,251,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,192,8,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,193,70,190,251,193,72,190,251,193,74,190,251,193,76,190,251,193,78,190,251,193,80,190,251,193,82,190,251,193,84,190,251,193,86,190,251,193,88,77,251,193,88,190,251,193,90,190,251,193,120,190,251,193,122,190,251,193,124,190,251,193,126,190,251,193,128,190,251,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,193,90,77,251,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,206,0,9,0,193,184,78,251,193,186,78,251,193,188,78,251,193,190,78,251,193,192,78,251,193,194,78,251,193,196,78,251,193,198,78,251,193,200,78,251,193,202,78,251,193,204,78,251,193,232,79,251,193,234,79,251,193,236,79,251,193,238,79,251,193,240,79,251,193,242,79,251,193,244,79,251,193,246,79,251,193,248,79,251,193,250,79,251,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,193,214,77,251,193,216,77,251,193,218,77,251,193,220,77,251,193,222,77,251,193,224,77,251,193,226,77,251,193,228,77,251,193,230,77,251,193,232,77,251,193,234,77,251,193,236,77,251,193,238,77,251,193,240,77,251,193,242,77,251,193,244,77,251,193,246,77,251,193,248,77,251,193,250,77,251,193,252,77,251,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,206,96,9,0,193,60,80,251,193,62,80,251,193,64,80,251,193,66,80,251,193,68,80,251,193,70,80,251,193,72,80,251,193,74,80,251,193,76,80,251,193,78,80,251,193,80,80,251,193,82,80,251,193,22,81,251,193,24,81,251,193,26,81,251,193,28,81,251,193,30,81,251,193,32,81,251,193,34,81,251,193,36,81,251,193,38,81,251,193,254,77,251,206,32,10,0,206,32,10,0,206,32,10,0,206,32,10,0,206,32,10,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,32,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,64,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,206,128,9,0,193,90,80,251,193,92,80,251,193,94,80,251,193,96,80,251,193,98,80,251,193,100,80,251,193,102,80,251,193,104,80,251,193,106,80,251,193,108,80,251,193,110,80,251,193,112,80,251,193,114,80,251,193,116,80,251,193,118,80,251,193,120,80,251,193,216,79,251,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,206,160,9,0,193,222,80,251,193,224,80,251,193,226,80,251,193,228,80,251,193,230,80,251,193,232,80,251,193,234,80,251,193,236,80,251,193,238,80,251,193,240,80,251,193,242,80,251,193,244,80,251,193,246,80,251,193,248,80,251,193,250,80,251,193,252,80,251,193,254,80,251,193,2,81,251,193,4,81,251,193,6,81,251,193,8,81,251,193,10,81,251,193,54,80,251,193,56,80,251,193,58,80,251,193,16,81,251,193,18,81,251,193,20,81,251,193,162,81,251,193,164,81,251,193,166,81,251,193,168,81,251,193,32,82,251,193,34,82,251,193,128,82,251,193,242,83,251,193,244,83,251,193,42,84,251,193,44,84,251,193,206,84,251,193,38,85,251,193,90,85,251,193,116,85,251,193,202,85,251,193,246,85,251,193,248,85,251,193,70,87,251,193,72,87,251,193,74,87,251,193,76,87,251,193,78,87,251,193,80,87,251,193,82,87,251,193,70,88,251,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,206,192,9,0,193,10,66,252,193,170,80,251,193,172,80,251,193,174,80,251,193,176,80,251,193,178,80,251,193,180,80,251,193,182,80,251,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,193,186,80,251,193,188,80,251,193,108,81,251,193,110,81,251,193,112,81,251,193,102,82,251,193,212,82,251,193,214,82,251,193,232,83,251,193,34,84,251,193,80,84,251,193,136,84,251,193,190,84,251,193,192,84,251,193,32,85,251,193,76,85,251,193,130,85,251,193,236,85,251,193,238,85,251,193,64,86,251,193,66,86,251,193,68,86,251,193,70,86,251,193,72,86,251,193,14,87,251,193,16,87,251,193,18,87,251,193,20,87,251,193,22,87,251,193,24,87,251,193,26,87,251,193,28,87,251,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,206,224,9,0,193,114,81,251,193,116,81,251,193,118,81,251,193,120,81,251,193,122,81,251,193,124,81,251,193,126,81,251,193,128,81,251,193,130,81,251,193,132,81,251,193,18,82,251,193,20,82,251,193,22,82,251,193,106,82,251,193,158,82,251,193,160,82,251,193,162,82,251,193,216,82,251,193,218,82,251,193,220,82,251,193,12,81,251,193,14,81,251,193,134,81,251,193,136,81,251,193,138,81,251,193,140,81,251,193,142,81,251,193,144,81,251,193,146,81,251,193,148,81,251,193,150,81,251,193,152,81,251,193,154,81,251,193,156,81,251,193,158,81,251,193,160,81,251,193,24,82,251,193,26,82,251,193,28,82,251,193,30,82,251,193,108,82,251,193,110,82,251,193,112,82,251,193,114,82,251,193,116,82,251,193,118,82,251,193,120,82,251,193,122,82,251,193,124,82,251,193,126,82,251,193,164,82,251,193,166,82,251,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,0,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,32,10,0,206,32,10,0,206,32,10,0,206,32,10,0,206,32,10,0,193,36,82,251,193,38,82,251,193,40,82,251,193,42,82,251,193,44,82,251,193,46,82,251,193,48,82,251,193,130,82,251,193,190,81,251,193,50,82,251,193,132,82,251,193,134,82,251,193,180,82,251,193,182,82,251,193,184,82,251,193,234,82,251,193,236,82,251,193,54,83,251,193,76,83,251,193,84,83,251,193,86,83,251,193,88,83,251,193,90,83,251,193,92,83,251,193,114,83,251,193,116,83,251,193,118,83,251,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,206,64,10,0,193,160,100,251,193,82,195,252,193,54,82,251,193,56,82,251,193,58,82,251,193,60,82,251,193,62,82,251,193,64,82,251,193,66,82,251,193,68,82,251,193,70,82,251,193,72,82,251,193,74,82,251,193,76,82,251,193,16,82,251,193,78,82,251,193,80,82,251,193,82,82,251,193,84,82,251,193,86,82,251,193,88,82,251,193,90,82,251,193,92,82,251,193,94,82,251,193,96,82,251,193,98,82,251,193,100,82,251,193,140,82,251,193,142,82,251,193,144,82,251,193,146,82,251,193,148,82,251,193,150,82,251,193,152,82,251,193,154,82,251,193,156,82,251,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,193,168,82,251,193,170,82,251,193,172,82,251,193,174,82,251,193,176,82,251,193,178,82,251,193,222,82,251,193,224,82,251,193,226,82,251,193,228,82,251,193,230,82,251,193,232,82,251,193,6,83,251,193,8,83,251,193,10,83,251,193,12,83,251,193,36,83,251,193,38,83,251,193,40,83,251,193,50,83,251,193,52,83,251,193,64,83,251,193,66,83,251,193,68,83,251,193,70,83,251,193,74,83,251,193,112,83,251,193,238,83,251,193,240,83,251,193,40,84,251,193,86,84,251,193,88,84,251,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,206,96,10,0,193,240,82,251,193,242,82,251,193,244,82,251,193,246,82,251,193,248,82,251,193,250,82,251,193,252,82,251,193,254,82,251,193,2,83,251,193,16,83,251,193,18,83,251,193,20,83,251,193,22,83,251,193,24,83,251,193,26,83,251,193,28,83,251,193,30,83,251,193,32,83,251,193,34,83,251,193,42,83,251,193,44,83,251,193,56,83,251,193,58,83,251,193,60,83,251,193,46,83,251,193,72,83,251,193,4,83,251,193,48,83,251,193,110,83,251,193,234,83,251,193,236,83,251,193,36,84,251,193,38,84,251,193,82,84,251,193,84,84,251,193,138,84,251,193,140,84,251,193,194,84,251,193,196,84,251,193,244,84,251,193,246,84,251,193,248,84,251,193,34,85,251,193,78,85,251,193,108,85,251,193,132,85,251,193,146,85,251,193,174,85,251,193,200,85,251,193,240,85,251,193,242,85,251,193,74,86,251,193,76,86,251,206,192,10,0,206,192,10,0,206,192,10,0,206,192,10,0,206,192,10,0,193,166,40,253,193,168,40,253,193,170,40,253,193,172,40,253,193,174,40,253,193,62,83,251,193,176,40,253,193,178,40,253,193,184,40,253,193,190,40,253,193,82,41,253,193,162,43,253,193,174,43,253,193,176,43,253,193,178,43,253,193,186,43,253,193,188,43,253,193,190,43,253,193,192,43,253,193,202,43,253,193,204,43,253,193,214,43,253,193,216,43,253,193,218,43,253,193,228,43,253,193,230,43,253,193,238,43,253,193,240,43,253,193,242,43,253,193,244,43,253,193,246,43,253,193,248,43,253,193,78,83,251,193,80,83,251,193,82,83,251,193,100,83,251,193,102,83,251,193,104,83,251,193,106,83,251,193,130,83,251,193,132,83,251,193,134,83,251,193,136,83,251,193,138,83,251,193,140,83,251,193,142,83,251,193,144,83,251,193,146,83,251,193,148,83,251,193,150,83,251,193,152,83,251,193,154,83,251,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,193,120,83,251,193,122,83,251,193,124,83,251,193,126,83,251,193,156,83,251,193,158,83,251,193,160,83,251,193,162,83,251,193,164,83,251,193,166,83,251,193,168,83,251,193,170,83,251,193,172,83,251,193,174,83,251,193,176,83,251,193,178,83,251,193,180,83,251,193,182,83,251,193,184,83,251,193,186,83,251,193,188,83,251,193,190,83,251,193,246,83,251,193,248,83,251,193,250,83,251,193,252,83,251,193,254,83,251,193,2,84,251,193,4,84,251,193,6,84,251,193,8,84,251,193,46,84,251,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,206,128,10,0,193,16,84,251,193,18,84,251,193,20,84,251,193,22,84,251,193,24,84,251,193,120,94,252,193,26,84,251,193,28,84,251,193,30,84,251,193,32,84,251,193,52,84,251,193,54,84,251,193,56,84,251,193,58,84,251,193,60,84,251,193,62,84,251,193,64,84,251,193,66,84,251,193,68,84,251,193,70,84,251,193,72,84,251,193,74,84,251,193,76,84,251,193,78,84,251,193,10,84,251,193,12,84,251,193,50,84,251,193,102,84,251,193,48,85,251,193,160,85,251,193,216,85,251,193,160,86,251,193,162,86,251,193,164,86,251,193,166,86,251,193,168,86,251,193,170,86,251,193,172,86,251,193,174,86,251,193,176,86,251,193,178,86,251,193,168,87,251,193,170,87,251,193,172,87,251,193,174,87,251,193,176,87,251,193,172,88,251,193,174,88,251,193,176,88,251,193,178,88,251,193,180,88,251,193,182,88,251,193,184,88,251,193,186,88,251,193,188,88,251,193,194,89,251,193,48,84,251,193,90,84,251,193,92,84,251,193,94,84,251,193,96,84,251,193,98,84,251,193,100,84,251,193,152,84,251,193,154,84,251,193,156,84,251,193,158,84,251,193,160,84,251,193,208,84,251,193,210,84,251,193,212,84,251,193,162,84,251,193,214,84,251,193,254,84,251,193,2,85,251,193,4,85,251,193,6,85,251,193,8,85,251,193,40,85,251,193,42,85,251,193,44,85,251,193,46,85,251,193,92,85,251,193,118,85,251,193,120,85,251,193,178,85,251,193,180,85,251,193,186,85,251,193,104,84,251,193,106,84,251,193,108,84,251,193,110,84,251,193,112,84,251,193,114,84,251,193,116,84,251,193,118,84,251,193,120,84,251,193,122,84,251,193,124,84,251,193,126,84,251,193,128,84,251,193,130,84,251,193,132,84,251,193,134,84,251,193,164,84,251,193,166,84,251,193,168,84,251,193,170,84,251,193,172,84,251,193,174,84,251,193,176,84,251,193,178,84,251,193,180,84,251,193,182,84,251,193,184,84,251,193,186,84,251,193,216,84,251,193,218,84,251,193,220,84,251,193,222,84,251,193,142,84,251,193,144,84,251,193,146,84,251,193,148,84,251,193,150,84,251,193,198,84,251,193,200,84,251,193,202,84,251,193,204,84,251,193,250,84,251,193,252,84,251,193,36,85,251,193,80,85,251,193,82,85,251,193,84,85,251,193,86,85,251,193,88,85,251,193,110,85,251,193,112,85,251,193,114,85,251,193,134,85,251,193,148,85,251,193,152,85,251,193,158,85,251,193,176,85,251,193,184,85,251,193,244,85,251,193,78,86,251,193,80,86,251,193,82,86,251,193,56,87,251,193,58,87,251,193,188,84,251,193,224,84,251,193,226,84,251,193,228,84,251,193,230,84,251,193,232,84,251,193,234,84,251,193,236,84,251,193,238,84,251,193,240,84,251,193,10,85,251,193,12,85,251,193,14,85,251,193,16,85,251,193,18,85,251,193,20,85,251,193,22,85,251,193,24,85,251,193,26,85,251,193,28,85,251,193,30,85,251,193,50,85,251,193,52,85,251,193,54,85,251,193,56,85,251,193,58,85,251,193,60,85,251,193,62,85,251,193,64,85,251,193,66,85,251,193,68,85,251,193,70,85,251,193,110,64,252,193,112,64,252,193,114,64,252,193,116,64,252,193,118,64,252,193,120,64,252,193,122,64,252,193,124,64,252,193,126,64,252,193,128,64,252,193,130,64,252,193,132,64,252,193,144,64,252,193,146,64,252,193,148,64,252,193,150,64,252,193,170,64,252,193,172,64,252,193,174,64,252,193,176,64,252,193,190,64,252,193,192,64,252,193,194,64,252,193,242,84,251,193,196,64,252,193,198,64,252,193,200,64,252,193,202,64,252,193,226,64,252,193,228,64,252,193,230,64,252,193,232,64,252,193,72,85,251,193,74,85,251,193,94,85,251,193,96,85,251,193,98,85,251,193,122,85,251,193,100,85,251,193,102,85,251,193,104,85,251,193,106,85,251,193,124,85,251,193,126,85,251,193,128,85,251,193,136,85,251,193,138,85,251,193,140,85,251,193,142,85,251,193,144,85,251,193,150,85,251,193,154,85,251,193,156,85,251,193,162,85,251,193,164,85,251,193,166,85,251,193,168,85,251,193,170,85,251,193,172,85,251,193,182,85,251,193,194,85,251,193,196,85,251,193,198,85,251,193,218,85,251,193,188,85,251,193,190,85,251,193,204,85,251,193,206,85,251,193,208,85,251,193,210,85,251,193,212,85,251,193,214,85,251,193,250,85,251,193,252,85,251,193,254,85,251,193,2,86,251,193,4,86,251,193,6,86,251,193,8,86,251,193,10,86,251,193,12,86,251,193,14,86,251,193,16,86,251,193,18,86,251,193,20,86,251,193,22,86,251,193,24,86,251,193,26,86,251,193,28,86,251,193,30,86,251,193,32,86,251,193,84,86,251,193,86,86,251,193,88,86,251,193,90,86,251,193,92,86,251,193,220,85,251,193,222,85,251,193,224,85,251,193,226,85,251,193,228,85,251,193,230,85,251,193,232,85,251,193,234,85,251,193,34,86,251,193,36,86,251,193,38,86,251,193,40,86,251,193,42,86,251,193,44,86,251,193,46,86,251,193,48,86,251,193,50,86,251,193,52,86,251,193,54,86,251,193,56,86,251,193,58,86,251,193,60,86,251,193,62,86,251,193,154,119,251,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,193,94,86,251,193,96,86,251,193,98,86,251,193,100,86,251,193,102,86,251,193,104,86,251,193,106,86,251,193,108,86,251,193,110,86,251,193,112,86,251,193,114,86,251,193,116,86,251,193,118,86,251,193,120,86,251,193,122,86,251,193,124,86,251,193,126,86,251,193,128,86,251,193,130,86,251,193,132,86,251,193,134,86,251,193,136,86,251,193,138,86,251,193,140,86,251,193,142,86,251,193,144,86,251,193,146,86,251,193,148,86,251,193,150,86,251,193,152,86,251,193,154,86,251,193,156,86,251,193,158,86,251,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,160,10,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,193,30,87,251,193,32,87,251,193,34,87,251,193,26,88,251,193,28,88,251,193,30,88,251,193,32,88,251,193,34,88,251,193,36,88,251,193,38,88,251,193,40,88,251,193,42,89,251,193,44,89,251,193,46,89,251,193,48,89,251,193,50,89,251,193,52,89,251,193,54,89,251,193,56,89,251,193,58,89,251,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,206,192,10,0,206,192,10,0,206,192,10,0,206,192,10,0,206,192,10,0,193,42,88,251,193,44,88,251,193,46,88,251,193,48,88,251,193,60,89,251,193,62,89,251,193,64,89,251,193,66,89,251,193,68,89,251,193,70,89,251,193,72,89,251,193,104,90,251,193,106,90,251,193,108,90,251,193,110,90,251,193,112,90,251,193,114,90,251,193,116,90,251,193,118,90,251,193,120,90,251,193,122,90,251,193,124,90,251,193,126,90,251,206,64,12,0,206,64,12,0,206,64,12,0,206,64,12,0,193,60,87,251,193,62,87,251,193,64,87,251,193,66,87,251,193,68,87,251,193,50,88,251,193,52,88,251,193,54,88,251,193,56,88,251,193,58,88,251,193,60,88,251,193,62,88,251,193,64,88,251,193,66,88,251,193,68,88,251,193,74,89,251,193,76,89,251,193,78,89,251,193,80,89,251,193,82,89,251,193,84,89,251,193,86,89,251,193,88,89,251,193,90,89,251,193,92,89,251,193,94,89,251,193,96,89,251,193,98,89,251,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,224,10,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,0,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,193,72,88,251,193,74,88,251,193,76,88,251,193,78,88,251,193,80,88,251,193,100,89,251,193,102,89,251,193,104,89,251,193,106,89,251,193,108,89,251,193,110,89,251,193,112,89,251,193,114,89,251,193,116,89,251,193,154,90,251,193,156,90,251,193,158,90,251,193,160,90,251,193,162,90,251,193,164,90,251,193,166,90,251,193,168,90,251,193,170,90,251,193,244,91,251,193,246,91,251,193,248,91,251,193,250,91,251,193,252,91,251,193,254,91,251,193,2,92,251,193,4,92,251,193,6,92,251,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,32,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,206,96,11,0,193,168,88,251,193,166,89,251,193,168,89,251,193,170,89,251,193,172,89,251,193,174,89,251,193,176,89,251,193,178,89,251,193,180,89,251,193,182,89,251,193,184,89,251,193,186,89,251,193,188,89,251,193,190,89,251,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,206,64,11,0,193,168,205,252,193,10,89,251,193,12,89,251,193,14,89,251,193,16,89,251,193,18,89,251,193,20,89,251,193,22,89,251,193,24,89,251,193,26,89,251,193,28,89,251,193,30,89,251,193,32,89,251,193,34,89,251,193,36,89,251,193,38,89,251,193,40,89,251,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,193,196,89,251,193,198,89,251,193,200,89,251,193,202,89,251,193,204,89,251,193,206,89,251,193,208,89,251,193,32,91,251,193,34,91,251,193,36,91,251,193,38,91,251,193,40,91,251,193,42,91,251,193,44,91,251,193,110,92,251,193,112,92,251,193,114,92,251,193,116,92,251,193,118,92,251,193,120,92,251,193,122,92,251,193,124,92,251,193,126,92,251,193,128,92,251,193,130,92,251,193,230,93,251,193,232,93,251,193,234,93,251,193,236,93,251,193,238,93,251,193,240,93,251,193,242,93,251,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,128,11,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,193,70,90,251,193,70,240,251,193,72,240,251,193,74,240,251,193,76,240,251,193,78,240,251,193,80,240,251,193,82,240,251,193,84,240,251,193,86,240,251,193,88,240,251,193,90,240,251,193,92,240,251,193,94,240,251,193,96,240,251,193,98,240,251,193,100,240,251,193,102,240,251,193,104,240,251,193,106,240,251,193,108,240,251,193,110,240,251,193,112,240,251,193,114,240,251,206,160,36,0,206,160,11,0,206,160,11,0,206,160,11,0,206,160,11,0,193,170,91,251,193,172,91,251,193,174,91,251,193,176,91,251,193,178,91,251,193,180,91,251,193,182,91,251,193,184,91,251,193,186,91,251,193,188,91,251,193,190,91,251,193,192,91,251,193,194,91,251,193,196,91,251,193,26,93,251,193,28,93,251,193,30,93,251,193,32,93,251,193,34,93,251,193,36,93,251,193,38,93,251,193,40,93,251,193,42,93,251,193,44,93,251,193,46,93,251,193,48,93,251,193,118,94,251,193,120,94,251,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,206,192,11,0,193,218,91,251,193,220,91,251,193,222,91,251,193,224,91,251,193,226,91,251,193,228,91,251,193,230,91,251,193,232,91,251,193,234,91,251,193,236,91,251,193,238,91,251,193,240,91,251,193,242,91,251,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,206,224,11,0,193,10,92,251,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,0,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,32,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,64,12,0,206,64,12,0,206,64,12,0,206,64,12,0,206,64,12,0,206,64,12,0,193,52,93,251,193,54,93,251,193,56,93,251,193,58,93,251,193,60,93,251,193,62,93,251,193,64,93,251,193,66,93,251,193,68,93,251,193,70,93,251,193,72,93,251,193,74,93,251,193,150,94,251,193,152,94,251,193,154,94,251,193,156,94,251,193,158,94,251,193,160,94,251,193,162,94,251,193,164,94,251,193,166,94,251,193,194,95,251,193,196,95,251,193,198,95,251,193,200,95,251,193,202,95,251,193,8,92,251,193,120,93,251,193,122,93,251,193,124,93,251,193,126,93,251,193,128,93,251,193,130,93,251,193,132,93,251,193,134,93,251,193,136,93,251,193,138,93,251,193,140,93,251,193,142,93,251,193,202,94,251,193,204,94,251,193,206,94,251,193,208,94,251,193,210,94,251,193,212,94,251,193,214,94,251,193,216,94,251,193,218,94,251,193,220,94,251,193,222,94,251,193,224,94,251,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,206,96,12,0,193,144,93,251,193,90,92,251,193,92,92,251,193,94,92,251,193,96,92,251,193,98,92,251,193,146,93,251,193,100,92,251,193,102,92,251,193,104,92,251,193,106,92,251,193,108,92,251,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,128,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,206,160,12,0,193,168,94,251,193,170,94,251,193,172,94,251,193,174,94,251,193,176,94,251,193,178,94,251,193,180,94,251,193,182,94,251,193,184,94,251,193,186,94,251,193,188,94,251,193,190,94,251,193,192,94,251,193,194,94,251,193,196,94,251,193,198,94,251,193,200,94,251,193,210,95,251,193,212,95,251,193,214,95,251,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,192,12,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,224,12,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,193,122,44,253,193,124,44,253,193,126,44,253,193,128,44,253,193,130,44,253,193,144,44,253,193,146,44,253,193,116,94,251,193,148,44,253,193,162,44,253,193,164,44,253,193,166,44,253,193,168,44,253,193,184,44,253,193,186,44,253,193,188,44,253,193,190,44,253,193,192,44,253,193,194,44,253,193,196,44,253,193,198,44,253,193,200,44,253,193,202,44,253,193,218,44,253,193,220,44,253,193,222,44,253,193,224,44,253,193,226,44,253,193,238,44,253,193,240,44,253,193,242,44,253,193,244,44,253,193,122,94,251,193,124,94,251,193,126,94,251,193,128,94,251,193,130,94,251,193,132,94,251,193,134,94,251,193,136,94,251,193,138,94,251,193,140,94,251,193,142,94,251,193,144,94,251,193,146,94,251,193,148,94,251,193,170,95,251,193,172,95,251,193,174,95,251,193,176,95,251,193,178,95,251,193,180,95,251,193,182,95,251,193,184,95,251,193,186,95,251,193,188,95,251,193,190,95,251,193,214,96,251,193,216,96,251,193,218,96,251,193,220,96,251,193,222,96,251,193,224,96,251,193,178,97,251,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,0,13,0,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,193,56,95,251,193,58,95,251,193,60,95,251,193,62,95,251,193,64,95,251,193,66,95,251,193,68,95,251,193,66,96,251,193,68,96,251,193,70,96,251,193,72,96,251,193,74,96,251,193,76,96,251,193,78,96,251,193,80,96,251,193,82,96,251,193,80,97,251,193,82,97,251,193,84,97,251,193,86,97,251,193,88,97,251,193,90,97,251,193,92,97,251,193,254,97,251,193,2,98,251,193,4,98,251,193,6,98,251,193,122,98,251,193,124,98,251,193,126,98,251,193,238,98,251,193,240,98,251,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,206,32,13,0,193,86,96,251,193,88,96,251,193,200,216,252,193,210,216,252,193,216,216,252,193,218,216,252,193,220,216,252,193,228,216,252,193,230,216,252,193,232,216,252,193,168,95,251,193,236,216,252,193,238,216,252,193,240,216,252,193,242,216,252,193,244,216,252,193,250,216,252,193,252,216,252,193,254,216,252,193,12,217,252,193,14,217,252,193,16,217,252,193,18,217,252,193,24,217,252,193,26,217,252,193,34,217,252,193,36,217,252,193,28,217,252,193,38,217,252,193,40,217,252,193,42,217,252,193,56,217,252,193,58,217,252,193,60,217,252,193,192,95,251,193,192,97,251,193,166,101,251,193,178,101,251,193,126,104,251,193,4,106,251,193,140,107,251,193,122,109,251,193,124,109,251,193,164,110,251,193,166,110,251,193,168,110,251,193,128,113,251,193,144,115,251,193,160,116,251,193,62,121,251,193,250,125,251,193,128,126,251,193,250,131,251,193,32,136,251,193,130,138,251,193,150,139,251,193,8,157,251,193,10,157,251,193,180,165,251,193,142,171,251,193,138,194,251,193,14,196,251,193,6,202,251,193,226,203,251,193,208,205,251,193,64,210,251,193,204,95,251,193,206,95,251,193,208,95,251,193,226,96,251,193,228,96,251,193,230,96,251,193,232,96,251,193,234,96,251,193,236,96,251,193,238,96,251,193,240,96,251,193,242,96,251,193,244,96,251,193,194,97,251,193,196,97,251,193,198,97,251,193,96,98,251,193,98,98,251,193,100,98,251,193,102,98,251,193,104,98,251,193,106,98,251,193,196,98,251,193,198,98,251,193,200,98,251,193,36,99,251,193,38,99,251,193,40,99,251,193,42,99,251,193,90,99,251,193,92,99,251,193,94,99,251,193,216,95,251,193,218,95,251,193,220,95,251,193,222,95,251,193,224,95,251,193,226,95,251,193,228,95,251,193,230,95,251,193,232,95,251,193,234,95,251,193,246,96,251,193,248,96,251,193,250,96,251,193,252,96,251,193,254,96,251,193,2,97,251,193,4,97,251,193,6,97,251,193,8,97,251,193,10,97,251,193,12,97,251,193,14,97,251,193,200,97,251,193,202,97,251,193,204,97,251,193,206,97,251,193,208,97,251,193,210,97,251,193,212,97,251,193,214,97,251,193,108,98,251,193,110,98,251,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,206,64,13,0,193,16,97,251,193,18,97,251,193,20,97,251,193,22,97,251,193,24,97,251,193,26,97,251,193,28,97,251,193,30,97,251,193,32,97,251,193,34,97,251,193,36,97,251,193,38,97,251,193,216,97,251,193,218,97,251,193,220,97,251,193,222,97,251,193,224,97,251,193,226,97,251,193,228,97,251,193,114,98,251,193,116,98,251,193,210,98,251,193,212,98,251,193,214,98,251,193,216,98,251,193,218,98,251,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,206,96,13,0,193,16,215,253,193,32,96,251,193,34,96,251,193,36,96,251,193,38,96,251,193,40,96,251,193,42,96,251,193,44,96,251,193,46,96,251,193,48,96,251,193,50,96,251,193,52,96,251,193,54,96,251,193,56,96,251,193,58,96,251,193,60,96,251,193,62,96,251,193,64,96,251,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,193,90,96,251,193,92,96,251,193,94,96,251,193,96,96,251,193,98,96,251,193,100,96,251,193,102,96,251,193,104,96,251,193,106,96,251,193,108,96,251,193,110,96,251,193,112,96,251,193,114,96,251,193,116,96,251,193,118,96,251,193,120,96,251,193,122,96,251,193,124,96,251,193,126,96,251,193,128,96,251,193,130,96,251,193,132,96,251,193,134,96,251,193,136,96,251,193,138,96,251,193,140,96,251,193,142,96,251,193,144,96,251,193,146,96,251,193,148,96,251,193,150,96,251,193,152,96,251,193,154,96,251,193,156,96,251,193,158,96,251,193,160,96,251,193,162,96,251,193,164,96,251,193,166,96,251,193,168,96,251,193,170,96,251,193,172,96,251,193,174,96,251,193,176,96,251,193,178,96,251,193,180,96,251,193,182,96,251,193,184,96,251,193,186,96,251,193,188,96,251,193,190,96,251,193,192,96,251,193,194,96,251,193,196,96,251,193,198,96,251,193,200,96,251,193,202,96,251,193,204,96,251,193,206,96,251,193,208,96,251,193,210,96,251,193,212,96,251,193,94,97,251,193,96,97,251,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,206,128,13,0,193,230,97,251,193,232,97,251,193,234,97,251,193,236,97,251,193,238,97,251,193,240,97,251,193,242,97,251,193,244,97,251,193,246,97,251,193,248,97,251,193,250,97,251,193,118,98,251,193,120,98,251,193,222,98,251,193,224,98,251,193,226,98,251,193,228,98,251,193,230,98,251,193,232,98,251,193,98,97,251,193,100,97,251,193,102,97,251,193,104,97,251,193,106,97,251,193,108,97,251,193,110,97,251,193,112,97,251,193,114,97,251,193,116,97,251,193,118,97,251,193,120,97,251,193,122,97,251,193,124,97,251,193,126,97,251,193,128,97,251,193,130,97,251,193,132,97,251,193,134,97,251,193,136,97,251,193,138,97,251,193,140,97,251,193,142,97,251,193,144,97,251,193,146,97,251,193,148,97,251,193,126,119,253,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,206,160,13,0,193,8,98,251,193,10,98,251,193,12,98,251,193,14,98,251,193,16,98,251,193,18,98,251,193,20,98,251,193,22,98,251,193,24,98,251,193,26,98,251,193,28,98,251,193,30,98,251,193,32,98,251,193,34,98,251,193,36,98,251,193,38,98,251,193,40,98,251,193,42,98,251,193,44,98,251,193,46,98,251,193,48,98,251,193,50,98,251,193,52,98,251,193,180,97,251,193,182,97,251,193,184,97,251,193,186,97,251,193,188,97,251,193,190,97,251,193,84,98,251,193,86,98,251,193,88,98,251,193,90,98,251,193,92,98,251,193,94,98,251,193,188,98,251,193,190,98,251,193,192,98,251,193,194,98,251,193,34,99,251,193,88,99,251,193,28,100,251,193,74,100,251,193,168,100,251,193,230,100,251,193,66,101,251,193,164,101,251,193,194,101,251,193,206,101,251,193,236,101,251,193,8,102,251,193,46,102,251,193,108,102,251,193,130,102,251,193,152,102,251,193,54,98,251,193,74,218,253,193,56,98,251,193,58,98,251,193,60,98,251,193,62,98,251,193,64,98,251,193,66,98,251,193,68,98,251,193,70,98,251,193,72,98,251,193,74,98,251,193,76,98,251,193,78,98,251,193,80,98,251,193,82,98,251,193,128,98,251,193,130,98,251,193,132,98,251,193,134,98,251,193,136,98,251,193,138,98,251,193,140,98,251,193,142,98,251,193,144,98,251,193,146,98,251,193,148,98,251,193,150,98,251,193,152,98,251,193,154,98,251,193,156,98,251,193,158,98,251,193,112,98,251,193,202,98,251,193,204,98,251,193,206,98,251,193,208,98,251,193,44,99,251,193,46,99,251,193,48,99,251,193,50,99,251,193,52,99,251,193,96,99,251,193,98,99,251,193,138,99,251,193,140,99,251,193,142,99,251,193,162,99,251,193,200,99,251,193,208,99,251,193,250,99,251,193,56,100,251,193,58,100,251,193,60,100,251,193,76,100,251,193,98,100,251,193,116,100,251,193,134,100,251,193,150,100,251,193,172,100,251,193,176,100,251,193,190,100,251,193,214,100,251,193,234,100,251,193,242,98,251,193,160,98,251,193,162,98,251,193,164,98,251,193,166,98,251,193,168,98,251,193,170,98,251,193,172,98,251,193,174,98,251,193,176,98,251,193,178,98,251,193,180,98,251,193,244,98,251,193,182,98,251,193,184,98,251,193,186,98,251,193,246,98,251,193,248,98,251,193,250,98,251,193,252,98,251,193,254,98,251,193,2,99,251,193,4,99,251,193,6,99,251,193,8,99,251,193,10,99,251,193,12,99,251,193,50,44,253,206,192,13,0,206,192,13,0,206,192,13,0,206,192,13,0,193,220,98,251,193,54,99,251,193,56,99,251,193,100,99,251,193,102,99,251,193,164,99,251,193,180,99,251,193,210,99,251,193,246,99,251,193,30,100,251,193,78,100,251,193,100,100,251,193,102,100,251,193,158,100,251,193,216,100,251,193,54,101,251,193,200,101,251,193,58,102,251,193,60,102,251,193,74,102,251,193,118,102,251,193,120,102,251,193,138,102,251,193,158,102,251,193,172,102,251,193,8,103,251,193,56,103,251,193,126,103,251,193,128,103,251,193,236,103,251,193,238,103,251,193,240,103,251,206,192,13,0,206,192,13,0,206,192,13,0,206,192,13,0,206,192,13,0,206,192,13,0,193,66,99,251,193,68,99,251,193,70,99,251,193,72,99,251,193,74,99,251,193,76,99,251,193,78,99,251,193,80,99,251,193,82,99,251,193,84,99,251,193,86,99,251,193,106,99,251,193,108,99,251,193,110,99,251,193,112,99,251,193,114,99,251,193,116,99,251,193,232,161,253,193,118,99,251,193,120,99,251,193,144,99,251,193,122,99,251,193,124,99,251,193,126,99,251,193,128,99,251,193,130,99,251,193,64,99,251,193,184,99,251,193,204,99,251,193,50,100,251,193,108,100,251,193,210,100,251,193,10,101,251,193,12,101,251,193,144,101,251,193,186,101,251,193,20,102,251,193,84,102,251,193,86,102,251,193,174,102,251,193,242,102,251,193,26,103,251,193,28,103,251,193,30,103,251,193,70,103,251,193,72,103,251,193,150,103,251,193,152,103,251,193,154,103,251,193,156,103,251,193,158,103,251,193,160,103,251,193,6,104,251,193,8,104,251,193,152,104,251,193,154,104,251,193,156,104,251,193,234,104,251,193,132,99,251,193,134,99,251,193,146,99,251,193,148,99,251,193,150,99,251,193,152,99,251,193,154,99,251,193,156,99,251,193,158,99,251,193,160,99,251,193,170,99,251,193,172,99,251,193,174,99,251,193,176,99,251,193,178,99,251,193,186,99,251,193,188,99,251,193,190,99,251,193,192,99,251,193,194,99,251,193,196,99,251,193,198,99,251,193,206,99,251,193,212,99,251,193,214,99,251,193,216,99,251,193,218,99,251,193,226,99,251,193,230,99,251,193,242,99,251,193,244,99,251,193,248,99,251,193,136,99,251,193,8,100,251,193,10,100,251,193,94,100,251,193,96,100,251,193,114,100,251,193,154,100,251,193,156,100,251,193,170,100,251,193,174,100,251,193,228,100,251,193,28,101,251,193,30,101,251,193,196,101,251,193,238,101,251,193,10,102,251,193,12,102,251,193,48,102,251,193,50,102,251,193,110,102,251,193,112,102,251,193,132,102,251,193,154,102,251,193,156,102,251,193,168,102,251,193,194,102,251,193,200,102,251,193,226,102,251,193,52,103,251,193,116,103,251,193,118,103,251,193,120,103,251,193,2,100,251,193,4,100,251,193,6,100,251,193,14,100,251,193,16,100,251,193,18,100,251,193,20,100,251,193,22,100,251,193,24,100,251,193,26,100,251,193,36,100,251,193,38,100,251,193,40,100,251,193,42,100,251,193,52,100,251,193,54,100,251,193,64,100,251,193,236,104,251,193,66,100,251,193,68,100,251,193,70,100,251,193,72,100,251,193,84,100,251,193,66,218,253,193,86,100,251,193,88,100,251,193,90,100,251,193,92,100,251,193,110,100,251,193,112,100,251,193,120,100,251,193,122,100,251,193,106,100,251,193,118,100,251,193,178,100,251,193,182,100,251,193,184,100,251,193,192,100,251,193,198,100,251,193,206,100,251,193,208,100,251,193,6,101,251,193,232,100,251,193,240,100,251,193,246,100,251,193,8,101,251,193,20,101,251,193,22,101,251,193,72,101,251,193,106,101,251,193,120,101,251,193,108,101,251,193,128,101,251,193,136,101,251,193,138,101,251,193,140,101,251,193,142,101,251,193,152,101,251,193,154,101,251,193,156,101,251,193,182,101,251,193,184,101,251,193,208,101,251,193,240,101,251,193,124,100,251,193,126,100,251,193,128,100,251,193,130,100,251,193,132,100,251,193,136,100,251,193,4,45,253,193,138,100,251,193,140,100,251,193,142,100,251,193,144,100,251,193,146,100,251,193,148,100,251,193,152,100,251,193,240,133,252,193,162,100,251,193,164,100,251,193,166,100,251,193,180,100,251,193,186,100,251,193,188,100,251,193,194,100,251,193,196,100,251,193,200,100,251,193,202,100,251,193,204,100,251,193,212,100,251,193,220,100,251,193,222,100,251,193,226,100,251,193,236,100,251,193,238,100,251,193,66,211,253,193,76,211,253,193,78,211,253,193,80,211,253,193,82,211,253,193,96,211,253,193,98,211,253,193,100,211,253,193,102,211,253,193,104,211,253,193,106,211,253,193,108,211,253,193,110,211,253,193,112,211,253,193,114,211,253,193,116,211,253,193,118,211,253,193,120,211,253,193,122,211,253,193,124,211,253,193,140,211,253,193,142,211,253,193,144,211,253,193,146,211,253,193,148,211,253,193,150,211,253,193,152,211,253,193,224,100,251,193,154,211,253,193,156,211,253,193,158,211,253,193,160,211,253,193,242,100,251,193,244,100,251,193,248,100,251,193,250,100,251,193,252,100,251,193,254,100,251,193,26,101,251,193,36,101,251,193,38,101,251,193,40,101,251,193,42,101,251,193,44,101,251,193,46,101,251,193,52,101,251,193,58,101,251,193,60,101,251,193,62,101,251,193,64,101,251,193,74,101,251,193,76,101,251,193,78,101,251,193,80,101,251,193,86,101,251,193,88,101,251,193,92,101,251,193,94,101,251,193,96,101,251,193,102,101,251,193,110,101,251,193,112,101,251,193,114,101,251,193,116,101,251,193,2,101,251,193,4,101,251,193,14,101,251,193,16,101,251,193,18,101,251,193,32,101,251,193,34,101,251,193,48,101,251,193,68,101,251,193,70,101,251,193,82,101,251,193,84,101,251,193,90,101,251,193,98,101,251,193,100,101,251,193,104,101,251,193,118,101,251,193,124,101,251,193,130,101,251,193,168,101,251,193,170,101,251,193,180,101,251,193,198,101,251,193,14,102,251,193,16,102,251,193,52,102,251,193,54,102,251,193,56,102,251,193,114,102,251,193,116,102,251,193,134,102,251,193,136,102,251,193,122,101,251,193,126,101,251,193,132,101,251,193,134,101,251,193,146,101,251,193,148,101,251,193,150,101,251,193,158,101,251,193,160,101,251,193,162,101,251,193,172,101,251,193,174,101,251,193,176,101,251,193,188,101,251,193,190,101,251,193,192,101,251,193,202,101,251,193,204,101,251,193,212,101,251,193,214,101,251,193,216,101,251,193,218,101,251,193,220,101,251,193,222,101,251,193,224,101,251,193,226,101,251,193,228,101,251,193,230,101,251,193,232,101,251,193,244,101,251,193,246,101,251,193,248,101,251,193,100,212,251,193,110,212,251,193,112,212,251,193,114,212,251,193,116,212,251,193,118,212,251,193,120,212,251,193,122,212,251,193,234,101,251,193,124,212,251,193,130,212,251,193,132,212,251,193,134,212,251,193,136,212,251,193,144,212,251,193,146,212,251,193,148,212,251,193,150,212,251,193,152,212,251,193,154,212,251,193,156,212,251,193,158,212,251,193,160,212,251,193,162,212,251,193,164,212,251,193,166,212,251,193,174,212,251,193,176,212,251,193,178,212,251,193,182,212,251,193,184,212,251,193,186,212,251,193,242,101,251,193,18,102,251,193,76,102,251,193,78,102,251,193,80,102,251,193,82,102,251,193,122,102,251,193,204,102,251,193,206,102,251,193,208,102,251,193,210,102,251,193,212,102,251,193,214,102,251,193,216,102,251,193,228,102,251,193,230,102,251,193,232,102,251,193,234,102,251,193,236,102,251,193,238,102,251,193,240,102,251,193,10,103,251,193,12,103,251,193,14,103,251,193,16,103,251,193,18,103,251,193,20,103,251,193,22,103,251,193,24,103,251,193,58,103,251,193,60,103,251,193,62,103,251,193,250,101,251,193,252,101,251,193,254,101,251,193,2,102,251,193,4,102,251,193,6,102,251,193,26,102,251,193,28,102,251,193,30,102,251,193,32,102,251,193,34,102,251,193,36,102,251,193,38,102,251,193,40,102,251,193,42,102,251,193,62,102,251,193,44,102,251,193,64,102,251,193,66,102,251,193,68,102,251,193,70,102,251,193,72,102,251,193,88,102,251,193,90,102,251,193,92,102,251,193,94,102,251,193,96,102,251,193,98,102,251,193,100,102,251,193,102,102,251,193,104,102,251,193,124,102,251,193,126,102,251,193,128,102,251,193,144,102,251,193,146,102,251,193,148,102,251,193,150,102,251,193,162,102,251,193,164,102,251,193,166,102,251,193,176,102,251,193,178,102,251,193,182,102,251,193,184,102,251,193,188,102,251,193,190,102,251,193,196,102,251,193,186,102,251,193,202,102,251,193,218,102,251,193,220,102,251,193,222,102,251,193,244,102,251,193,246,102,251,193,248,102,251,193,250,102,251,193,252,102,251,193,254,102,251,193,2,103,251,193,52,72,252,193,34,103,251,193,36,103,251,193,38,103,251,193,170,102,251,193,180,102,251,193,6,103,251,193,54,103,251,193,122,103,251,193,124,103,251,193,224,103,251,193,226,103,251,193,228,103,251,193,230,103,251,193,232,103,251,193,234,103,251,193,54,104,251,193,56,104,251,193,58,104,251,193,132,104,251,193,134,104,251,193,136,104,251,193,138,104,251,193,204,104,251,193,206,104,251,193,208,104,251,193,210,104,251,193,44,105,251,193,46,105,251,193,48,105,251,193,50,105,251,193,52,105,251,193,122,105,251,193,124,105,251,193,126,105,251,193,128,105,251,193,192,102,251,193,224,102,251,193,4,103,251,193,50,103,251,193,110,103,251,193,112,103,251,193,114,103,251,193,206,103,251,193,208,103,251,193,210,103,251,193,212,103,251,193,214,103,251,193,216,103,251,193,42,104,251,193,44,104,251,193,46,104,251,193,120,104,251,193,122,104,251,193,124,104,251,193,196,104,251,193,198,104,251,193,200,104,251,193,24,105,251,193,26,105,251,193,28,105,251,193,106,105,251,193,108,105,251,193,110,105,251,193,164,105,251,193,166,105,251,193,168,105,251,193,214,105,251,193,94,6,252,193,96,6,252,193,98,6,252,193,100,6,252,193,102,6,252,193,104,6,252,193,106,6,252,193,108,6,252,193,110,6,252,193,120,6,252,193,122,6,252,193,124,6,252,193,126,6,252,193,128,6,252,193,112,6,252,193,130,6,252,193,132,6,252,193,134,6,252,193,146,6,252,193,198,102,251,193,148,6,252,193,150,6,252,193,160,6,252,193,162,6,252,193,164,6,252,193,168,6,252,193,172,6,252,193,174,6,252,193,176,6,252,193,182,6,252,193,184,6,252,193,186,6,252,193,40,103,251,193,42,103,251,193,44,103,251,193,46,103,251,193,48,103,251,193,74,103,251,193,76,103,251,193,78,103,251,193,80,103,251,193,82,103,251,193,84,103,251,193,86,103,251,193,88,103,251,193,90,103,251,193,92,103,251,193,94,103,251,193,96,103,251,193,98,103,251,193,100,103,251,193,102,103,251,193,104,103,251,193,106,103,251,193,108,103,251,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,193,64,103,251,193,66,103,251,193,68,103,251,193,130,103,251,193,132,103,251,193,134,103,251,193,136,103,251,193,138,103,251,193,140,103,251,193,142,103,251,193,64,104,251,193,144,103,251,193,146,103,251,193,148,103,251,193,242,103,251,193,244,103,251,193,246,103,251,193,248,103,251,193,250,103,251,193,252,103,251,193,254,103,251,193,2,104,251,193,4,104,251,193,66,104,251,193,68,104,251,193,70,104,251,193,72,104,251,193,144,104,251,193,146,104,251,193,148,104,251,193,150,104,251,193,220,104,251,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,206,224,13,0,193,10,104,251,193,12,104,251,193,14,104,251,193,16,104,251,193,18,104,251,193,20,104,251,193,22,104,251,193,24,104,251,193,26,104,251,193,28,104,251,193,30,104,251,193,32,104,251,193,34,104,251,193,36,104,251,193,38,104,251,193,40,104,251,193,74,104,251,193,76,104,251,193,78,104,251,193,218,103,251,193,220,103,251,193,222,103,251,193,48,104,251,193,50,104,251,193,52,104,251,193,128,104,251,193,130,104,251,193,202,104,251,193,30,105,251,193,32,105,251,193,34,105,251,193,36,105,251,193,38,105,251,193,40,105,251,193,42,105,251,193,112,105,251,193,114,105,251,193,116,105,251,193,118,105,251,193,120,105,251,193,170,105,251,193,172,105,251,193,174,105,251,193,220,105,251,193,222,105,251,193,224,105,251,193,226,105,251,193,228,105,251,193,6,106,251,193,8,106,251,193,10,106,251,193,60,104,251,193,62,104,251,193,140,104,251,193,142,104,251,193,212,104,251,193,214,104,251,193,216,104,251,193,218,104,251,193,54,105,251,193,56,105,251,193,58,105,251,193,60,105,251,193,62,105,251,193,130,105,251,193,132,105,251,193,178,105,251,193,180,105,251,193,230,105,251,193,20,106,251,193,22,106,251,193,72,106,251,193,106,106,251,193,142,106,251,193,234,106,251,193,236,106,251,193,170,107,251,193,172,107,251,193,174,107,251,193,158,108,251,193,162,109,251,193,164,109,251,193,166,109,251,193,80,104,251,193,82,104,251,193,84,104,251,193,86,104,251,193,88,104,251,193,90,104,251,193,92,104,251,193,94,104,251,193,96,104,251,193,98,104,251,193,100,104,251,193,102,104,251,193,104,104,251,193,106,104,251,193,108,104,251,193,110,104,251,193,112,104,251,193,114,104,251,193,116,104,251,193,118,104,251,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,206,0,14,0,193,238,104,251,193,240,104,251,193,242,104,251,193,244,104,251,193,246,104,251,193,248,104,251,193,250,104,251,193,252,104,251,193,254,104,251,193,2,105,251,193,4,105,251,193,6,105,251,193,8,105,251,193,10,105,251,193,12,105,251,193,14,105,251,193,16,105,251,193,18,105,251,193,20,105,251,193,22,105,251,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,193,222,104,251,193,224,104,251,193,226,104,251,193,228,104,251,193,230,104,251,193,232,104,251,193,64,105,251,193,66,105,251,193,68,105,251,193,134,105,251,193,136,105,251,193,138,105,251,193,140,105,251,193,182,105,251,193,232,105,251,193,234,105,251,193,44,106,251,193,78,106,251,193,92,106,251,193,100,106,251,193,108,106,251,193,110,106,251,193,112,106,251,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,193,70,105,251,193,236,105,251,193,114,106,251,193,180,106,251,193,182,106,251,193,184,106,251,193,186,106,251,193,188,106,251,193,190,106,251,193,52,107,251,193,54,107,251,193,56,107,251,193,58,107,251,193,60,107,251,193,62,107,251,193,64,107,251,193,10,108,251,193,12,108,251,193,14,108,251,193,16,108,251,193,18,108,251,193,20,108,251,193,22,108,251,193,24,108,251,193,26,108,251,193,28,108,251,193,30,108,251,193,32,108,251,193,34,108,251,193,36,108,251,193,38,108,251,193,40,108,251,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,206,32,14,0,193,142,105,251,193,144,105,251,193,146,105,251,193,148,105,251,193,150,105,251,193,152,105,251,193,154,105,251,193,156,105,251,193,158,105,251,193,160,105,251,193,162,105,251,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,193,176,105,251,193,14,106,251,193,16,106,251,193,18,106,251,193,42,106,251,193,52,106,251,193,62,106,251,193,132,106,251,193,134,106,251,193,136,106,251,193,138,106,251,193,140,106,251,193,230,106,251,193,232,106,251,193,166,107,251,193,168,107,251,193,146,108,251,193,148,108,251,193,150,108,251,193,152,108,251,193,154,108,251,193,156,108,251,193,154,109,251,193,156,109,251,193,158,109,251,193,160,109,251,193,196,110,251,193,198,110,251,193,200,110,251,193,202,110,251,193,204,110,251,193,206,110,251,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,206,64,14,0,193,238,105,251,193,240,105,251,193,242,105,251,193,244,105,251,193,246,105,251,193,248,105,251,193,250,105,251,193,252,105,251,193,254,105,251,193,24,106,251,193,26,106,251,193,28,106,251,193,30,106,251,193,32,106,251,193,34,106,251,193,36,106,251,193,38,106,251,193,46,106,251,193,54,106,251,193,56,106,251,193,58,106,251,193,64,106,251,193,74,106,251,193,76,106,251,193,80,106,251,193,82,106,251,193,216,105,251,193,218,105,251,193,50,106,251,193,66,106,251,193,220,106,251,193,222,106,251,193,126,107,251,193,128,107,251,193,130,107,251,193,132,107,251,193,134,107,251,193,136,107,251,193,138,107,251,193,128,108,251,193,130,108,251,193,132,108,251,193,134,108,251,193,112,109,251,193,114,109,251,193,116,109,251,193,118,109,251,193,120,109,251,193,154,110,251,193,156,110,251,193,158,110,251,193,160,110,251,193,162,110,251,206,160,15,0,206,160,15,0,206,160,15,0,206,160,15,0,206,160,15,0,193,2,106,251,193,44,60,252,193,46,60,252,193,48,60,252,193,50,60,252,193,52,60,252,193,54,60,252,193,56,60,252,193,58,60,252,193,60,60,252,193,62,60,252,193,64,60,252,193,66,60,252,193,68,60,252,193,70,60,252,193,72,60,252,193,74,60,252,193,76,60,252,193,78,60,252,193,80,60,252,193,82,60,252,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,193,12,106,251,193,40,106,251,193,60,106,251,193,68,106,251,193,70,106,251,193,90,106,251,193,104,106,251,193,130,106,251,193,224,106,251,193,226,106,251,193,228,106,251,193,142,107,251,193,144,107,251,193,146,107,251,193,148,107,251,193,150,107,251,193,152,107,251,193,154,107,251,193,156,107,251,193,158,107,251,193,160,107,251,193,162,107,251,193,164,107,251,193,136,108,251,193,138,108,251,193,140,108,251,193,142,108,251,193,144,108,251,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,193,192,145,251,193,194,145,251,193,228,145,251,193,230,145,251,193,232,145,251,193,234,145,251,193,236,145,251,193,238,145,251,193,240,145,251,193,242,145,251,193,244,145,251,193,246,145,251,193,248,145,251,193,250,145,251,193,252,145,251,193,254,145,251,193,2,146,251,193,4,146,251,193,6,146,251,193,8,146,251,193,10,146,251,193,12,146,251,193,14,146,251,193,48,106,251,193,56,146,251,193,58,146,251,193,60,146,251,193,62,146,251,193,64,146,251,193,66,146,251,193,68,146,251,193,70,146,251,193,84,106,251,193,86,106,251,193,88,106,251,193,94,106,251,193,96,106,251,193,98,106,251,193,102,106,251,193,116,106,251,193,118,106,251,193,120,106,251,193,122,106,251,193,124,106,251,193,126,106,251,193,128,106,251,193,192,106,251,193,194,106,251,193,196,106,251,193,198,106,251,193,200,106,251,193,202,106,251,193,204,106,251,193,206,106,251,193,208,106,251,193,210,106,251,193,212,106,251,193,214,106,251,193,216,106,251,193,218,106,251,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,206,96,14,0,193,238,106,251,193,240,106,251,193,242,106,251,193,244,106,251,193,160,108,251,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,128,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,193,66,107,251,193,50,110,251,193,52,110,251,193,54,110,251,193,56,110,251,193,90,111,251,193,92,111,251,193,94,111,251,193,96,111,251,193,98,111,251,193,100,111,251,193,102,111,251,193,104,111,251,193,106,111,251,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,206,160,14,0,193,46,108,251,193,48,108,251,193,50,108,251,193,52,108,251,193,54,108,251,193,56,108,251,193,58,108,251,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,192,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,193,42,108,251,193,44,108,251,193,2,109,251,193,4,109,251,193,6,109,251,193,8,109,251,193,10,109,251,193,12,109,251,193,14,109,251,193,16,109,251,193,18,109,251,193,20,109,251,193,22,109,251,193,12,110,251,193,14,110,251,193,16,110,251,193,18,110,251,193,20,110,251,193,22,110,251,193,24,110,251,193,26,110,251,193,28,110,251,193,30,110,251,193,32,110,251,193,34,110,251,193,36,110,251,193,38,110,251,193,40,110,251,193,42,110,251,193,44,110,251,193,46,110,251,193,48,110,251,193,60,108,251,193,62,108,251,193,64,108,251,193,66,108,251,193,68,108,251,193,70,108,251,193,72,108,251,193,74,108,251,193,76,108,251,193,78,108,251,193,80,108,251,193,82,108,251,193,84,108,251,193,86,108,251,193,88,108,251,193,90,108,251,193,92,108,251,193,94,108,251,193,96,108,251,193,98,108,251,193,100,108,251,193,102,108,251,193,104,108,251,193,106,108,251,193,108,108,251,193,110,108,251,193,112,108,251,193,114,108,251,193,116,108,251,193,118,108,251,193,120,108,251,193,122,108,251,193,124,108,251,193,126,108,251,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,206,224,14,0,193,176,109,251,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,206,0,15,0,193,114,168,252,193,248,108,251,193,250,108,251,193,252,108,251,193,254,108,251,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,32,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,206,64,15,0,193,170,110,251,193,172,110,251,193,174,110,251,193,176,110,251,193,178,110,251,193,180,110,251,193,182,110,251,193,184,110,251,193,186,110,251,193,188,110,251,193,190,110,251,193,192,110,251,193,194,110,251,193,254,111,251,193,2,112,251,193,4,112,251,193,6,112,251,193,8,112,251,193,10,112,251,193,12,112,251,193,14,112,251,193,16,112,251,193,168,109,251,193,170,109,251,193,172,109,251,193,174,109,251,193,208,110,251,193,210,110,251,193,34,112,251,193,36,112,251,193,38,112,251,193,40,112,251,193,42,112,251,193,44,112,251,193,174,113,251,193,176,113,251,193,178,113,251,193,174,114,251,193,176,114,251,193,178,114,251,193,180,114,251,193,182,114,251,193,184,114,251,193,196,115,251,193,194,116,251,193,196,116,251,193,144,117,251,193,146,117,251,193,148,117,251,193,54,119,251,193,168,119,251,193,170,119,251,193,208,119,251,193,210,119,251,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,206,96,15,0,193,212,110,251,193,248,109,251,193,250,109,251,193,252,109,251,193,254,109,251,193,2,110,251,193,4,110,251,193,6,110,251,193,8,110,251,193,214,110,251,193,216,110,251,193,218,110,251,193,220,110,251,193,222,110,251,193,224,110,251,193,226,110,251,193,228,110,251,193,10,110,251,193,230,110,251,193,232,110,251,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,206,128,15,0,193,108,111,251,193,110,111,251,193,234,110,251,193,236,110,251,193,238,110,251,193,240,110,251,193,242,110,251,193,244,110,251,193,246,110,251,193,248,110,251,193,250,110,251,193,252,110,251,193,254,110,251,193,2,111,251,193,4,111,251,193,6,111,251,193,8,111,251,193,10,111,251,193,12,111,251,193,14,111,251,193,16,111,251,193,18,111,251,193,20,111,251,193,22,111,251,193,24,111,251,193,26,111,251,193,28,111,251,193,30,111,251,193,32,111,251,193,34,111,251,193,36,111,251,193,38,111,251,193,40,111,251,193,42,111,251,193,44,111,251,193,46,111,251,193,48,111,251,193,50,111,251,193,52,111,251,193,54,111,251,193,56,111,251,193,58,111,251,193,60,111,251,193,62,111,251,193,64,111,251,193,66,111,251,193,68,111,251,193,70,111,251,193,72,111,251,193,74,111,251,193,76,111,251,193,78,111,251,193,80,111,251,193,82,111,251,193,84,111,251,193,86,111,251,193,88,111,251,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,193,112,111,251,193,114,111,251,193,116,111,251,193,118,111,251,193,120,111,251,193,122,111,251,193,124,111,251,193,126,111,251,193,128,111,251,193,130,111,251,193,132,111,251,193,134,111,251,193,136,111,251,193,138,111,251,193,140,111,251,193,142,111,251,193,144,111,251,193,146,111,251,193,148,111,251,193,150,111,251,193,152,111,251,193,154,111,251,193,156,111,251,193,158,111,251,193,160,111,251,193,162,111,251,193,164,111,251,193,166,111,251,193,168,111,251,193,170,111,251,193,172,111,251,193,174,111,251,193,176,111,251,193,178,111,251,193,180,111,251,193,182,111,251,193,184,111,251,193,186,111,251,193,188,111,251,193,190,111,251,193,192,111,251,193,194,111,251,193,196,111,251,193,198,111,251,193,200,111,251,193,202,111,251,193,204,111,251,193,206,111,251,193,208,111,251,193,210,111,251,193,212,111,251,193,214,111,251,193,216,111,251,193,218,111,251,193,220,111,251,193,222,111,251,193,224,111,251,193,226,111,251,193,228,111,251,193,230,111,251,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,160,15,0,206,160,15,0,206,160,15,0,206,160,15,0,206,160,15,0,206,160,15,0,193,106,113,251,193,108,113,251,193,110,113,251,193,112,113,251,193,114,113,251,193,116,113,251,193,118,113,251,193,120,113,251,193,122,113,251,193,124,113,251,193,126,113,251,193,124,114,251,193,126,114,251,193,128,114,251,193,130,114,251,193,132,114,251,193,134,114,251,193,126,115,251,193,128,115,251,193,130,115,251,193,132,115,251,193,134,115,251,193,136,115,251,193,138,115,251,193,140,115,251,193,142,115,251,193,18,112,251,193,20,112,251,193,22,112,251,193,130,113,251,193,132,113,251,193,134,113,251,193,136,113,251,193,138,113,251,193,140,113,251,193,142,113,251,193,144,113,251,193,146,113,251,193,148,113,251,193,150,113,251,193,152,113,251,193,154,113,251,193,156,113,251,193,136,114,251,193,138,114,251,193,140,114,251,193,142,114,251,193,144,114,251,193,146,114,251,193,148,114,251,193,150,114,251,193,152,114,251,193,154,114,251,193,156,114,251,193,158,114,251,193,160,114,251,193,162,114,251,193,146,115,251,193,24,112,251,193,26,112,251,193,28,112,251,193,30,112,251,193,32,112,251,193,158,113,251,193,160,113,251,193,162,113,251,193,164,113,251,193,166,113,251,193,168,113,251,193,170,113,251,193,172,113,251,193,164,114,251,193,166,114,251,193,168,114,251,193,170,114,251,193,172,114,251,193,172,115,251,193,174,115,251,193,176,115,251,193,178,115,251,193,180,115,251,193,182,115,251,193,184,115,251,193,186,115,251,193,188,115,251,193,190,115,251,193,192,115,251,193,194,115,251,193,186,116,251,193,188,116,251,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,206,192,15,0,193,180,113,251,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,224,15,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,206,64,16,0,193,158,112,251,193,244,113,251,193,246,113,251,193,248,113,251,193,250,113,251,193,252,113,251,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,206,0,16,0,193,254,113,251,193,2,114,251,193,4,114,251,193,6,114,251,193,8,114,251,193,10,114,251,193,12,114,251,193,14,114,251,193,16,114,251,193,18,114,251,193,20,114,251,193,22,114,251,193,24,114,251,193,26,114,251,193,28,114,251,193,30,114,251,193,246,114,251,193,248,114,251,193,250,114,251,193,252,114,251,193,254,114,251,193,2,115,251,193,4,115,251,193,6,115,251,193,8,115,251,193,10,115,251,193,12,115,251,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,32,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,193,36,115,251,193,38,115,251,193,40,115,251,193,104,113,251,193,42,115,251,193,44,115,251,193,46,115,251,193,48,115,251,193,50,115,251,193,52,115,251,193,54,115,251,193,56,115,251,193,58,115,251,193,60,115,251,193,62,115,251,193,64,115,251,193,66,115,251,193,68,115,251,193,18,116,251,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,206,96,16,0,193,14,116,251,193,20,115,251,193,16,116,251,193,22,115,251,193,24,115,251,193,26,115,251,193,28,115,251,193,30,115,251,193,32,115,251,193,34,115,251,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,128,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,193,14,115,251,193,16,115,251,193,18,115,251,193,2,116,251,193,4,116,251,193,6,116,251,193,8,116,251,193,10,116,251,193,12,116,251,193,238,116,251,193,240,116,251,193,242,116,251,193,244,116,251,193,246,116,251,193,190,117,251,193,192,117,251,193,46,118,251,193,48,118,251,193,126,118,251,193,128,118,251,193,130,118,251,193,132,118,251,193,202,118,251,193,204,118,251,193,206,118,251,193,250,118,251,193,28,119,251,193,94,119,251,193,96,119,251,193,152,119,251,193,182,119,251,193,184,119,251,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,160,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,193,148,115,251,193,150,115,251,193,152,115,251,193,154,115,251,193,156,115,251,193,158,115,251,193,160,115,251,193,162,115,251,193,164,115,251,193,166,115,251,193,168,115,251,193,170,115,251,193,162,116,251,193,164,116,251,193,166,116,251,193,168,116,251,193,170,116,251,193,172,116,251,193,174,116,251,193,176,116,251,193,178,116,251,193,180,116,251,193,182,116,251,193,184,116,251,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,206,192,16,0,193,198,116,251,193,200,116,251,193,202,116,251,193,204,116,251,193,206,116,251,193,208,116,251,193,210,116,251,193,212,116,251,193,214,116,251,193,216,116,251,193,218,116,251,193,220,116,251,193,222,116,251,193,224,116,251,193,226,116,251,193,228,116,251,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,206,224,16,0,193,248,116,251,193,112,171,252,193,146,116,251,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,193,148,116,251,193,150,116,251,193,152,116,251,193,154,116,251,193,156,116,251,193,158,116,251,193,100,117,251,193,102,117,251,193,104,117,251,193,106,117,251,193,108,117,251,193,12,118,251,193,88,118,251,193,90,118,251,193,92,118,251,193,94,118,251,193,170,118,251,193,172,118,251,193,228,118,251,193,14,119,251,193,16,119,251,193,64,119,251,193,200,119,251,193,202,119,251,193,204,119,251,193,206,119,251,193,12,120,251,193,68,120,251,193,144,120,251,193,146,120,251,193,148,120,251,193,204,120,251,193,190,116,251,193,192,116,251,193,136,117,251,193,138,117,251,193,140,117,251,193,142,117,251,193,30,118,251,193,32,118,251,193,34,118,251,193,110,118,251,193,112,118,251,193,114,118,251,193,116,118,251,193,118,118,251,193,186,118,251,193,234,118,251,193,236,118,251,193,238,118,251,193,240,118,251,193,242,118,251,193,84,119,251,193,92,119,251,193,136,119,251,193,138,119,251,193,140,119,251,193,142,119,251,193,162,119,251,193,164,119,251,193,166,119,251,193,20,120,251,193,22,120,251,193,24,120,251,193,230,116,251,193,232,116,251,193,234,116,251,193,150,117,251,193,152,117,251,193,154,117,251,193,156,117,251,193,158,117,251,193,160,117,251,193,162,117,251,193,164,117,251,193,166,117,251,193,168,117,251,193,170,117,251,193,172,117,251,193,174,117,251,193,176,117,251,193,178,117,251,193,180,117,251,193,182,117,251,193,236,116,251,193,184,117,251,193,186,117,251,193,188,117,251,193,36,118,251,193,120,118,251,193,38,118,251,193,40,118,251,193,42,118,251,193,44,118,251,193,122,118,251,193,124,118,251,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,206,0,17,0,193,194,117,251,193,196,117,251,193,198,117,251,193,200,117,251,193,202,117,251,193,204,117,251,193,206,117,251,193,208,117,251,193,210,117,251,193,212,117,251,193,214,117,251,193,216,117,251,193,218,117,251,193,220,117,251,193,222,117,251,193,224,117,251,193,226,117,251,193,228,117,251,193,230,117,251,193,232,117,251,193,234,117,251,193,236,117,251,193,238,117,251,193,240,117,251,193,242,117,251,193,244,117,251,193,246,117,251,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,206,32,17,0,193,14,118,251,193,16,118,251,193,18,118,251,193,20,118,251,193,22,118,251,193,24,118,251,193,26,118,251,193,28,118,251,193,96,118,251,193,98,118,251,193,100,118,251,193,102,118,251,193,104,118,251,193,106,118,251,193,108,118,251,193,174,118,251,193,176,118,251,193,178,118,251,193,180,118,251,193,182,118,251,193,184,118,251,193,230,118,251,193,232,118,251,193,18,119,251,193,20,119,251,193,50,119,251,193,52,119,251,193,248,117,251,193,250,117,251,193,184,98,253,193,252,117,251,193,254,117,251,193,2,118,251,193,4,118,251,193,6,118,251,193,8,118,251,193,10,118,251,193,50,118,251,193,52,118,251,193,54,118,251,193,56,118,251,193,58,118,251,193,60,118,251,193,62,118,251,193,64,118,251,193,66,118,251,193,68,118,251,193,70,118,251,193,72,118,251,193,74,118,251,193,76,118,251,193,78,118,251,193,80,118,251,193,82,118,251,193,84,118,251,193,86,118,251,193,134,118,251,193,136,118,251,193,138,118,251,193,140,118,251,193,142,118,251,193,144,118,251,193,146,118,251,193,148,118,251,193,150,118,251,193,152,118,251,193,154,118,251,193,156,118,251,193,158,118,251,193,160,118,251,193,162,118,251,193,164,118,251,193,166,118,251,193,208,118,251,193,210,118,251,193,212,118,251,193,214,118,251,193,216,118,251,193,218,118,251,193,220,118,251,193,222,118,251,193,224,118,251,193,226,118,251,193,252,118,251,193,254,118,251,193,2,119,251,193,4,119,251,193,6,119,251,193,8,119,251,193,168,118,251,193,10,119,251,193,188,118,251,193,190,118,251,193,192,118,251,193,194,118,251,193,196,118,251,193,198,118,251,193,200,118,251,193,244,118,251,193,246,118,251,193,248,118,251,193,22,119,251,193,24,119,251,193,26,119,251,193,56,119,251,193,68,119,251,193,70,119,251,193,108,119,251,193,110,119,251,193,112,119,251,193,114,119,251,193,118,119,251,193,122,119,251,193,144,119,251,193,146,119,251,193,148,119,251,193,150,119,251,193,172,119,251,193,174,119,251,193,176,119,251,193,178,119,251,193,180,119,251,193,218,119,251,193,12,119,251,193,30,119,251,193,32,119,251,193,34,119,251,193,36,119,251,193,38,119,251,193,40,119,251,193,42,119,251,193,44,119,251,193,46,119,251,193,48,119,251,193,58,119,251,193,60,119,251,193,62,119,251,193,72,119,251,193,74,119,251,193,76,119,251,193,78,119,251,193,80,119,251,193,82,119,251,193,86,119,251,193,88,119,251,193,90,119,251,193,98,119,251,193,100,119,251,193,102,119,251,193,104,119,251,193,106,119,251,193,116,119,251,193,120,119,251,193,124,119,251,193,126,119,251,193,66,119,251,193,134,119,251,193,14,120,251,193,16,120,251,193,18,120,251,193,70,120,251,193,106,120,251,193,150,120,251,193,152,120,251,193,206,120,251,193,208,120,251,193,6,121,251,193,8,121,251,193,36,121,251,193,38,121,251,193,64,121,251,193,66,121,251,193,98,121,251,193,100,121,251,193,138,121,251,193,166,121,251,193,242,121,251,193,244,121,251,193,52,122,251,193,54,122,251,193,56,122,251,193,58,122,251,193,60,122,251,193,62,122,251,193,64,122,251,193,152,122,251,193,154,122,251,193,212,119,251,193,214,119,251,193,216,119,251,193,28,120,251,193,30,120,251,193,32,120,251,193,76,120,251,193,78,120,251,193,118,120,251,193,168,120,251,193,170,120,251,193,172,120,251,193,222,120,251,193,224,120,251,193,14,121,251,193,44,121,251,193,106,121,251,193,126,121,251,193,158,121,251,193,198,121,251,193,248,121,251,193,250,121,251,193,72,122,251,193,74,122,251,193,76,122,251,193,174,122,251,193,176,122,251,193,26,123,251,193,28,123,251,193,30,123,251,193,182,123,251,193,184,123,251,193,220,119,251,193,222,119,251,193,224,119,251,193,226,119,251,193,228,119,251,193,230,119,251,193,232,119,251,193,234,119,251,193,34,120,251,193,36,120,251,193,38,120,251,193,80,120,251,193,82,120,251,193,84,120,251,193,120,120,251,193,122,120,251,193,124,120,251,193,174,120,251,193,126,120,251,193,226,120,251,193,228,120,251,193,16,121,251,193,18,121,251,193,20,121,251,193,68,121,251,193,70,121,251,193,108,121,251,193,110,121,251,193,128,121,251,193,142,121,251,193,144,121,251,193,162,121,251,193,236,119,251,193,40,120,251,193,86,120,251,193,88,120,251,193,176,120,251,193,230,120,251,193,46,121,251,193,72,121,251,193,168,121,251,193,176,121,251,193,188,121,251,193,190,121,251,193,210,121,251,193,212,121,251,193,16,122,251,193,18,122,251,193,20,122,251,193,22,122,251,193,108,122,251,193,196,122,251,193,198,122,251,193,200,122,251,193,202,122,251,193,72,123,251,193,74,123,251,193,76,123,251,193,78,123,251,193,210,123,251,193,212,123,251,193,214,123,251,193,216,123,251,193,218,123,251,193,26,120,251,193,72,120,251,193,74,120,251,193,108,120,251,193,110,120,251,193,112,120,251,193,114,120,251,193,116,120,251,193,154,120,251,193,156,120,251,193,158,120,251,193,160,120,251,193,162,120,251,193,164,120,251,193,166,120,251,193,210,120,251,193,212,120,251,193,214,120,251,193,216,120,251,193,218,120,251,193,220,120,251,193,10,121,251,193,12,121,251,193,40,121,251,193,42,121,251,193,102,121,251,193,104,121,251,193,118,121,251,193,140,121,251,193,172,121,251,193,246,121,251,193,66,122,251,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,206,64,17,0,193,90,120,251,193,92,120,251,193,94,120,251,193,96,120,251,193,98,120,251,193,100,120,251,193,128,120,251,193,130,120,251,193,132,120,251,193,134,120,251,193,136,120,251,193,138,120,251,193,140,120,251,193,142,120,251,193,178,120,251,193,180,120,251,193,182,120,251,193,184,120,251,193,186,120,251,193,188,120,251,193,190,120,251,193,192,120,251,193,194,120,251,193,196,120,251,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,193,102,120,251,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,193,104,120,251,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,193,198,120,251,193,200,120,251,193,202,120,251,193,232,120,251,193,234,120,251,193,236,120,251,193,238,120,251,193,240,120,251,193,242,120,251,193,244,120,251,193,246,120,251,193,248,120,251,193,250,120,251,193,252,120,251,193,254,120,251,193,2,121,251,193,4,121,251,193,22,121,251,193,24,121,251,193,26,121,251,193,28,121,251,193,30,121,251,193,32,121,251,193,48,121,251,193,50,121,251,193,52,121,251,193,54,121,251,193,56,121,251,193,58,121,251,193,60,121,251,193,74,121,251,193,76,121,251,193,34,121,251,193,96,121,251,193,114,121,251,193,116,121,251,193,160,121,251,193,46,122,251,193,48,122,251,193,50,122,251,193,148,122,251,193,150,122,251,193,250,122,251,193,252,122,251,193,254,122,251,193,148,123,251,193,150,123,251,193,152,123,251,193,154,123,251,193,24,124,251,193,26,124,251,193,28,124,251,193,182,124,251,193,184,124,251,193,186,124,251,193,188,124,251,193,190,124,251,193,192,124,251,193,194,124,251,193,72,125,251,193,74,125,251,193,76,125,251,193,78,125,251,193,80,125,251,193,78,121,251,193,80,121,251,193,82,121,251,193,84,121,251,193,86,121,251,193,88,121,251,193,90,121,251,193,92,121,251,193,94,121,251,193,112,121,251,193,120,121,251,193,122,121,251,193,124,121,251,193,130,121,251,193,132,121,251,193,134,121,251,193,136,121,251,193,146,121,251,193,148,121,251,193,150,121,251,193,152,121,251,193,154,121,251,193,156,121,251,193,164,121,251,193,170,121,251,193,178,121,251,193,192,121,251,193,194,121,251,193,196,121,251,193,214,121,251,193,216,121,251,193,218,121,251,193,174,121,251,193,180,121,251,193,182,121,251,193,184,121,251,193,186,121,251,193,200,121,251,193,202,121,251,193,204,121,251,193,206,121,251,193,208,121,251,193,252,121,251,193,254,121,251,193,2,122,251,193,4,122,251,193,6,122,251,193,8,122,251,193,10,122,251,193,12,122,251,193,14,122,251,193,78,122,251,193,80,122,251,193,82,122,251,193,84,122,251,193,86,122,251,193,88,122,251,193,90,122,251,193,92,122,251,193,94,122,251,193,96,122,251,193,98,122,251,193,100,122,251,193,102,122,251,193,220,121,251,193,222,121,251,193,224,121,251,193,226,121,251,193,228,121,251,193,230,121,251,193,232,121,251,193,234,121,251,193,236,121,251,193,238,121,251,193,240,121,251,193,24,122,251,193,26,122,251,193,28,122,251,193,30,122,251,193,32,122,251,193,34,122,251,193,36,122,251,193,38,122,251,193,40,122,251,193,42,122,251,193,44,122,251,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,193,68,122,251,193,70,122,251,193,158,122,251,193,160,122,251,193,162,122,251,193,164,122,251,193,166,122,251,193,168,122,251,193,170,122,251,193,172,122,251,193,14,123,251,193,16,123,251,193,18,123,251,193,20,123,251,193,22,123,251,193,24,123,251,193,174,123,251,193,176,123,251,193,178,123,251,193,180,123,251,193,50,124,251,193,52,124,251,193,54,124,251,193,56,124,251,193,58,124,251,193,60,124,251,193,62,124,251,193,64,124,251,193,66,124,251,193,68,124,251,193,70,124,251,193,72,124,251,193,104,122,251,193,106,122,251,193,178,122,251,193,180,122,251,193,182,122,251,193,184,122,251,193,186,122,251,193,32,123,251,193,188,122,251,193,190,122,251,193,192,122,251,193,194,122,251,193,34,123,251,193,36,123,251,193,38,123,251,193,40,123,251,193,42,123,251,193,44,123,251,193,46,123,251,193,48,123,251,193,50,123,251,193,52,123,251,193,54,123,251,193,56,123,251,193,58,123,251,193,60,123,251,193,62,123,251,193,64,123,251,193,66,123,251,193,68,123,251,193,70,123,251,193,188,123,251,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,206,96,17,0,193,204,122,251,193,206,122,251,193,208,122,251,193,210,122,251,193,212,122,251,193,214,122,251,193,216,122,251,193,218,122,251,193,220,122,251,193,222,122,251,193,224,122,251,193,226,122,251,193,228,122,251,193,230,122,251,193,232,122,251,193,234,122,251,193,236,122,251,193,238,122,251,193,240,122,251,193,242,122,251,193,244,122,251,193,246,122,251,193,248,122,251,193,156,122,251,193,2,123,251,193,4,123,251,193,6,123,251,193,8,123,251,193,10,123,251,193,12,123,251,193,156,123,251,193,158,123,251,193,160,123,251,193,162,123,251,193,164,123,251,193,166,123,251,193,168,123,251,193,170,123,251,193,172,123,251,193,30,124,251,193,32,124,251,193,34,124,251,193,36,124,251,193,38,124,251,193,40,124,251,193,42,124,251,193,44,124,251,193,46,124,251,193,48,124,251,206,128,17,0,206,128,17,0,206,128,17,0,206,128,17,0,206,128,17,0,206,128,17,0,193,80,123,251,193,82,123,251,193,84,123,251,193,86,123,251,193,88,123,251,193,90,123,251,193,92,123,251,193,94,123,251,193,96,123,251,193,98,123,251,193,100,123,251,193,102,123,251,193,104,123,251,193,106,123,251,193,108,123,251,193,110,123,251,193,112,123,251,193,114,123,251,193,116,123,251,193,118,123,251,193,120,123,251,193,122,123,251,193,124,123,251,193,126,123,251,193,128,123,251,193,130,123,251,193,132,123,251,193,134,123,251,193,136,123,251,193,138,123,251,193,140,123,251,193,142,123,251,193,144,123,251,193,146,123,251,193,224,123,251,193,226,123,251,193,228,123,251,193,230,123,251,193,232,123,251,193,234,123,251,193,236,123,251,193,238,123,251,193,240,123,251,193,242,123,251,193,244,123,251,193,246,123,251,193,248,123,251,193,250,123,251,193,252,123,251,193,254,123,251,193,2,124,251,193,4,124,251,193,6,124,251,193,8,124,251,193,10,124,251,193,12,124,251,193,14,124,251,193,16,124,251,193,18,124,251,193,20,124,251,193,22,124,251,193,114,124,251,193,116,124,251,193,118,124,251,193,186,123,251,193,74,124,251,193,76,124,251,193,78,124,251,193,80,124,251,193,82,124,251,193,228,124,251,193,230,124,251,193,232,124,251,193,234,124,251,193,236,124,251,193,238,124,251,193,240,124,251,193,242,124,251,193,120,125,251,193,122,125,251,193,124,125,251,193,126,125,251,193,128,125,251,193,130,125,251,193,132,125,251,193,134,125,251,193,136,125,251,193,138,125,251,193,34,126,251,193,36,126,251,193,38,126,251,193,152,126,251,193,154,126,251,193,240,126,251,193,242,126,251,193,244,126,251,193,190,123,251,193,192,123,251,193,194,123,251,193,196,123,251,193,198,123,251,193,200,123,251,193,202,123,251,193,204,123,251,193,206,123,251,193,208,123,251,193,84,124,251,193,86,124,251,193,88,124,251,193,90,124,251,193,92,124,251,193,94,124,251,193,96,124,251,193,98,124,251,193,100,124,251,193,102,124,251,193,104,124,251,193,106,124,251,193,244,124,251,193,246,124,251,193,248,124,251,193,250,124,251,193,252,124,251,193,254,124,251,193,2,125,251,193,4,125,251,193,140,125,251,193,142,125,251,193,220,123,251,193,222,123,251,193,110,124,251,193,112,124,251,193,6,125,251,193,8,125,251,193,10,125,251,193,12,125,251,193,14,125,251,193,162,125,251,193,164,125,251,193,166,125,251,193,168,125,251,193,50,126,251,193,52,126,251,193,54,126,251,193,52,127,251,193,172,127,251,193,254,127,251,193,28,128,251,193,48,128,251,193,54,128,251,193,108,128,251,193,152,128,251,193,172,129,251,193,244,129,251,193,38,130,251,193,62,130,251,193,178,130,251,193,200,130,251,193,228,130,251,193,230,130,251,193,144,125,251,193,146,125,251,193,148,125,251,193,150,125,251,193,152,125,251,193,154,125,251,193,156,125,251,193,158,125,251,193,160,125,251,193,40,126,251,193,108,124,251,193,42,126,251,193,44,126,251,193,46,126,251,193,48,126,251,193,156,126,251,193,158,126,251,193,246,126,251,193,248,126,251,193,104,127,251,193,106,127,251,193,108,127,251,193,146,127,251,193,170,127,251,193,22,128,251,193,26,128,251,193,30,128,251,193,32,128,251,193,34,128,251,193,42,128,251,193,44,128,251,193,46,128,251,193,120,124,251,193,122,124,251,193,124,124,251,193,126,124,251,193,128,124,251,193,130,124,251,193,132,124,251,193,134,124,251,193,136,124,251,193,138,124,251,193,140,124,251,193,142,124,251,193,144,124,251,193,146,124,251,193,148,124,251,193,150,124,251,193,152,124,251,193,154,124,251,193,156,124,251,193,158,124,251,193,160,124,251,193,162,124,251,193,164,124,251,193,166,124,251,193,168,124,251,193,170,124,251,193,172,124,251,193,174,124,251,193,176,124,251,193,178,124,251,193,180,124,251,193,16,125,251,206,128,17,0,206,128,17,0,206,128,17,0,206,128,17,0,193,84,125,251,193,86,125,251,193,88,125,251,193,90,125,251,193,92,125,251,193,94,125,251,193,96,125,251,193,98,125,251,193,100,125,251,193,102,125,251,193,104,125,251,193,252,125,251,193,254,125,251,193,2,126,251,193,4,126,251,193,6,126,251,193,8,126,251,193,10,126,251,193,12,126,251,193,14,126,251,193,16,126,251,193,18,126,251,193,20,126,251,193,22,126,251,193,24,126,251,193,130,126,251,193,132,126,251,193,134,126,251,193,216,124,251,193,218,124,251,193,220,124,251,193,222,124,251,193,224,124,251,193,226,124,251,193,106,125,251,193,108,125,251,193,110,125,251,193,112,125,251,193,114,125,251,193,116,125,251,193,118,125,251,193,26,126,251,193,28,126,251,193,30,126,251,193,32,126,251,193,140,126,251,193,142,126,251,193,144,126,251,193,146,126,251,193,148,126,251,193,150,126,251,193,234,126,251,193,236,126,251,193,238,126,251,193,40,127,251,193,42,127,251,193,44,127,251,193,46,127,251,193,48,127,251,193,96,127,251,193,18,125,251,193,20,125,251,193,22,125,251,193,24,125,251,193,26,125,251,193,28,125,251,193,30,125,251,193,32,125,251,193,34,125,251,193,36,125,251,193,38,125,251,193,40,125,251,193,42,125,251,193,44,125,251,193,46,125,251,193,48,125,251,193,50,125,251,193,52,125,251,193,54,125,251,193,56,125,251,193,58,125,251,193,60,125,251,193,62,125,251,193,64,125,251,193,66,125,251,193,68,125,251,193,70,125,251,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,206,160,17,0,193,82,125,251,193,240,125,251,193,242,125,251,193,244,125,251,193,246,125,251,193,248,125,251,193,118,126,251,193,120,126,251,193,122,126,251,193,124,126,251,193,126,126,251,193,198,126,251,193,200,126,251,193,202,126,251,193,204,126,251,193,22,127,251,193,82,127,251,193,84,127,251,193,86,127,251,193,158,127,251,193,160,127,251,193,190,127,251,193,236,127,251,193,38,128,251,193,136,128,251,193,138,128,251,193,166,128,251,193,242,128,251,193,244,128,251,193,8,129,251,193,18,129,251,193,100,129,251,193,58,126,251,193,60,126,251,193,62,126,251,193,64,126,251,193,66,126,251,193,68,126,251,193,70,126,251,193,72,126,251,193,74,126,251,193,76,126,251,193,78,126,251,193,80,126,251,193,82,126,251,193,84,126,251,193,86,126,251,193,88,126,251,193,90,126,251,193,92,126,251,193,94,126,251,193,96,126,251,193,98,126,251,193,100,126,251,193,102,126,251,193,104,126,251,193,106,126,251,193,108,126,251,193,110,126,251,193,112,126,251,193,114,126,251,193,116,126,251,193,160,126,251,193,162,126,251,193,136,126,251,193,138,126,251,193,206,126,251,193,208,126,251,193,210,126,251,193,212,126,251,193,214,126,251,193,216,126,251,193,218,126,251,193,220,126,251,193,222,126,251,193,224,126,251,193,226,126,251,193,228,126,251,193,230,126,251,193,232,126,251,193,24,127,251,193,26,127,251,193,28,127,251,193,30,127,251,193,32,127,251,193,34,127,251,193,36,127,251,193,38,127,251,193,88,127,251,193,90,127,251,193,92,127,251,193,94,127,251,193,132,127,251,193,134,127,251,193,136,127,251,193,138,127,251,193,164,126,251,193,166,126,251,193,168,126,251,193,170,126,251,193,172,126,251,193,174,126,251,193,176,126,251,193,178,126,251,193,180,126,251,193,182,126,251,193,184,126,251,193,186,126,251,193,188,126,251,193,190,126,251,193,192,126,251,193,194,126,251,193,196,126,251,193,250,126,251,193,252,126,251,193,254,126,251,193,2,127,251,193,4,127,251,193,6,127,251,193,8,127,251,193,10,127,251,193,12,127,251,193,14,127,251,193,16,127,251,193,18,127,251,193,20,127,251,193,54,127,251,193,56,127,251,193,50,127,251,193,102,127,251,193,168,127,251,193,228,127,251,193,244,127,251,193,222,128,251,193,254,128,251,193,40,129,251,193,42,129,251,193,66,129,251,193,110,129,251,193,170,129,251,193,118,130,251,193,252,130,251,193,18,131,251,193,44,131,251,193,200,131,251,193,42,132,251,193,44,132,251,193,110,132,251,193,112,132,251,193,204,132,251,193,206,132,251,193,208,132,251,193,36,133,251,193,38,133,251,193,40,133,251,193,42,133,251,193,122,133,251,193,124,133,251,193,126,133,251,193,198,133,251,193,58,127,251,193,60,127,251,193,62,127,251,193,64,127,251,193,66,127,251,193,68,127,251,193,70,127,251,193,72,127,251,193,74,127,251,193,76,127,251,193,78,127,251,193,80,127,251,193,110,127,251,193,112,127,251,193,114,127,251,193,116,127,251,193,118,127,251,193,120,127,251,193,122,127,251,193,124,127,251,193,126,127,251,193,128,127,251,193,130,127,251,193,148,127,251,193,150,127,251,193,152,127,251,193,154,127,251,193,156,127,251,206,192,17,0,206,192,17,0,206,192,17,0,206,192,17,0,193,98,127,251,193,100,127,251,193,140,127,251,193,142,127,251,193,144,127,251,193,164,127,251,193,166,127,251,193,198,127,251,193,220,127,251,193,40,128,251,193,50,128,251,193,72,128,251,193,74,128,251,193,96,128,251,193,98,128,251,193,100,128,251,193,114,128,251,193,116,128,251,193,118,128,251,193,140,128,251,193,142,128,251,193,144,128,251,193,172,128,251,193,174,128,251,193,176,128,251,193,194,128,251,193,196,128,251,193,198,128,251,193,200,128,251,193,216,128,251,193,218,128,251,193,220,128,251,193,162,127,251,193,192,127,251,193,194,127,251,193,196,127,251,193,216,127,251,193,218,127,251,193,224,127,251,193,226,127,251,193,238,127,251,193,240,127,251,193,242,127,251,193,18,128,251,193,94,128,251,193,112,128,251,193,168,128,251,193,170,128,251,193,186,128,251,193,188,128,251,193,190,128,251,193,192,128,251,193,246,128,251,193,248,128,251,193,30,129,251,193,32,129,251,193,102,129,251,193,104,129,251,193,130,129,251,193,132,129,251,193,164,129,251,193,166,129,251,193,230,129,251,193,232,129,251,206,192,17,0,206,192,17,0,206,192,17,0,206,192,17,0,193,200,127,251,193,202,127,251,193,204,127,251,193,206,127,251,193,208,127,251,193,210,127,251,193,212,127,251,193,214,127,251,193,222,127,251,193,230,127,251,193,8,128,251,193,232,127,251,193,234,127,251,193,246,127,251,193,14,128,251,193,248,127,251,193,250,127,251,193,252,127,251,193,2,128,251,193,4,128,251,193,6,128,251,193,10,128,251,193,12,128,251,193,16,128,251,193,20,128,251,193,24,128,251,193,36,128,251,193,56,128,251,193,52,128,251,193,76,128,251,193,78,128,251,193,102,128,251,193,104,128,251,193,106,128,251,193,80,128,251,193,120,128,251,193,122,128,251,193,124,128,251,193,146,128,251,193,148,128,251,193,150,128,251,193,202,128,251,193,224,128,251,193,34,129,251,193,44,129,251,193,46,129,251,193,52,129,251,193,54,129,251,193,56,129,251,193,58,129,251,193,68,129,251,193,70,129,251,193,72,129,251,193,112,129,251,193,114,129,251,193,138,129,251,193,140,129,251,193,142,129,251,193,242,129,251,193,16,130,251,193,58,128,251,193,60,128,251,193,62,128,251,193,64,128,251,193,66,128,251,193,68,128,251,193,70,128,251,193,82,128,251,193,84,128,251,193,86,128,251,193,88,128,251,193,90,128,251,193,92,128,251,193,110,128,251,193,126,128,251,193,128,128,251,193,130,128,251,193,132,128,251,193,134,128,251,193,154,128,251,193,156,128,251,193,158,128,251,193,160,128,251,193,162,128,251,193,164,128,251,193,178,128,251,193,180,128,251,193,182,128,251,193,184,128,251,193,204,128,251,193,206,128,251,193,208,128,251,193,210,128,251,193,212,128,251,193,214,128,251,193,226,128,251,193,228,128,251,193,230,128,251,193,232,128,251,193,234,128,251,193,236,128,251,193,238,128,251,193,2,129,251,193,4,129,251,193,6,129,251,193,12,129,251,193,14,129,251,193,16,129,251,193,20,129,251,193,22,129,251,193,26,129,251,193,28,129,251,193,36,129,251,193,48,129,251,193,50,129,251,193,62,129,251,193,64,129,251,193,74,129,251,193,76,129,251,193,78,129,251,193,80,129,251,193,84,129,251,193,86,129,251,193,88,129,251,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,193,32,230,251,193,108,229,251,193,110,229,251,193,112,229,251,193,114,229,251,193,116,229,251,193,118,229,251,193,120,229,251,193,122,229,251,193,240,128,251,193,124,229,251,193,126,229,251,193,128,229,251,193,130,229,251,193,132,229,251,193,134,229,251,193,136,229,251,193,138,229,251,193,140,229,251,193,142,229,251,193,144,229,251,193,34,230,251,193,36,230,251,193,250,128,251,193,252,128,251,193,10,129,251,193,24,129,251,193,38,129,251,193,82,129,251,193,106,129,251,193,108,129,251,193,134,129,251,193,136,129,251,193,168,129,251,193,34,130,251,193,106,130,251,193,188,130,251,193,250,130,251,193,68,131,251,193,70,131,251,193,130,131,251,193,132,131,251,193,144,131,251,193,220,131,251,193,102,132,251,193,104,132,251,193,106,132,251,193,108,132,251,193,194,132,251,193,196,132,251,193,198,132,251,193,200,132,251,193,202,132,251,193,32,133,251,193,34,133,251,193,90,129,251,193,92,129,251,193,94,129,251,193,96,129,251,193,98,129,251,193,118,129,251,193,120,129,251,193,122,129,251,193,124,129,251,193,126,129,251,193,144,129,251,193,146,129,251,193,148,129,251,193,150,129,251,193,152,129,251,193,154,129,251,193,156,129,251,193,158,129,251,193,160,129,251,193,162,129,251,193,174,129,251,193,176,129,251,193,178,129,251,193,180,129,251,193,182,129,251,193,184,129,251,193,186,129,251,193,188,129,251,193,190,129,251,193,196,129,251,193,198,129,251,193,200,129,251,193,128,129,251,193,192,129,251,193,194,129,251,193,56,130,251,193,84,130,251,193,98,130,251,193,116,130,251,193,100,131,251,193,128,131,251,193,30,132,251,193,32,132,251,193,34,132,251,193,94,132,251,193,180,132,251,193,182,132,251,193,24,133,251,193,26,133,251,193,110,133,251,193,250,133,251,193,252,133,251,193,254,133,251,193,188,133,251,193,190,133,251,193,192,133,251,193,194,133,251,193,58,134,251,193,60,134,251,193,118,134,251,193,120,134,251,193,158,134,251,193,172,134,251,193,206,134,251,193,202,129,251,193,204,129,251,193,206,129,251,193,208,129,251,193,210,129,251,193,212,129,251,193,214,129,251,193,216,129,251,193,218,129,251,193,220,129,251,193,222,129,251,193,224,129,251,193,226,129,251,193,228,129,251,193,246,129,251,193,248,129,251,193,250,129,251,193,252,129,251,193,254,129,251,193,2,130,251,193,4,130,251,193,6,130,251,193,8,130,251,193,10,130,251,193,22,130,251,193,24,130,251,193,26,130,251,193,28,130,251,193,30,130,251,193,32,130,251,193,40,130,251,193,42,130,251,193,234,129,251,193,236,129,251,193,238,129,251,193,240,129,251,193,12,130,251,193,14,130,251,193,58,130,251,193,60,130,251,193,86,130,251,193,88,130,251,193,100,130,251,193,102,130,251,193,104,130,251,193,138,130,251,193,170,130,251,193,224,130,251,193,248,130,251,193,66,131,251,193,160,131,251,193,36,132,251,193,38,132,251,193,40,132,251,193,96,132,251,193,98,132,251,193,100,132,251,193,184,132,251,193,186,132,251,193,188,132,251,193,190,132,251,193,192,132,251,193,28,133,251,193,30,133,251,193,44,130,251,193,46,130,251,193,48,130,251,193,50,130,251,193,52,130,251,193,54,130,251,193,64,130,251,193,66,130,251,193,68,130,251,193,70,130,251,193,72,130,251,193,74,130,251,193,76,130,251,193,78,130,251,193,80,130,251,193,82,130,251,193,90,130,251,193,92,130,251,193,94,130,251,193,96,130,251,193,108,130,251,193,110,130,251,193,112,130,251,193,120,130,251,193,122,130,251,193,124,130,251,193,126,130,251,193,128,130,251,193,132,130,251,193,134,130,251,193,136,130,251,193,140,130,251,193,208,92,252,193,212,92,252,193,214,92,252,193,216,92,252,193,218,92,252,193,228,92,252,193,238,92,252,193,250,92,252,193,4,93,252,193,14,93,252,193,16,93,252,193,20,93,252,193,22,93,252,193,26,93,252,193,28,93,252,193,130,130,251,193,30,93,252,193,32,93,252,193,34,93,252,193,38,93,252,193,40,93,252,193,44,93,252,193,46,93,252,193,48,93,252,193,58,93,252,193,60,93,252,193,62,93,252,193,64,93,252,193,66,93,252,193,68,93,252,193,70,93,252,193,78,93,252,193,142,130,251,193,148,130,251,193,150,130,251,193,154,130,251,193,156,130,251,193,158,130,251,193,160,130,251,193,162,130,251,193,164,130,251,193,166,130,251,193,168,130,251,193,180,130,251,193,182,130,251,193,184,130,251,193,186,130,251,193,202,130,251,193,204,130,251,193,206,130,251,193,208,130,251,193,210,130,251,193,212,130,251,193,214,130,251,193,216,130,251,193,218,130,251,193,220,130,251,193,222,130,251,193,232,130,251,193,234,130,251,193,236,130,251,193,238,130,251,193,240,130,251,193,242,130,251,193,244,130,251,193,246,130,251,193,8,131,251,193,10,131,251,193,12,131,251,193,240,254,252,193,14,131,251,193,16,131,251,193,22,131,251,193,24,131,251,193,26,131,251,193,28,131,251,193,30,131,251,193,32,131,251,193,34,131,251,193,36,131,251,193,38,131,251,193,40,131,251,193,42,131,251,193,54,131,251,193,56,131,251,193,58,131,251,193,60,131,251,193,62,131,251,193,64,131,251,193,80,131,251,193,82,131,251,193,84,131,251,193,86,131,251,193,88,131,251,193,90,131,251,193,92,131,251,193,4,131,251,193,6,131,251,193,20,131,251,193,46,131,251,193,48,131,251,193,50,131,251,193,52,131,251,193,76,131,251,193,78,131,251,193,108,131,251,193,110,131,251,193,206,131,251,193,224,131,251,193,226,131,251,193,10,132,251,193,60,132,251,193,62,132,251,193,64,132,251,193,124,132,251,193,126,132,251,193,128,132,251,193,130,132,251,193,132,132,251,193,228,132,251,193,54,133,251,193,56,133,251,193,136,133,251,193,138,133,251,193,28,134,251,193,30,134,251,193,32,134,251,193,84,134,251,193,94,131,251,193,96,131,251,193,98,131,251,193,112,131,251,193,114,131,251,193,116,131,251,193,118,131,251,193,120,131,251,193,122,131,251,193,124,131,251,193,126,131,251,193,134,131,251,193,136,131,251,193,138,131,251,193,140,131,251,193,142,131,251,193,148,131,251,193,150,131,251,193,152,131,251,193,154,131,251,193,156,131,251,193,158,131,251,193,162,131,251,193,164,131,251,193,166,131,251,193,168,131,251,193,170,131,251,193,176,131,251,193,178,131,251,193,180,131,251,193,182,131,251,193,184,131,251,193,186,131,251,193,188,131,251,193,190,131,251,193,194,131,251,193,208,131,251,193,210,131,251,193,212,131,251,193,214,131,251,193,216,131,251,193,228,131,251,193,230,131,251,193,232,131,251,193,234,131,251,193,236,131,251,193,238,131,251,193,240,131,251,193,242,131,251,193,244,131,251,193,246,131,251,193,248,131,251,193,218,131,251,193,12,132,251,193,14,132,251,193,16,132,251,193,18,132,251,193,20,132,251,193,22,132,251,193,24,132,251,193,26,132,251,193,28,132,251,193,66,132,251,193,68,132,251,193,2,132,251,193,4,132,251,193,6,132,251,193,8,132,251,193,46,132,251,193,48,132,251,193,50,132,251,193,52,132,251,193,54,132,251,193,56,132,251,193,58,132,251,193,114,132,251,193,116,132,251,193,118,132,251,193,120,132,251,193,122,132,251,193,210,132,251,193,212,132,251,193,214,132,251,193,216,132,251,193,218,132,251,193,220,132,251,193,222,132,251,193,224,132,251,193,226,132,251,193,44,133,251,193,46,133,251,193,48,133,251,193,50,133,251,193,52,133,251,193,128,133,251,193,130,133,251,193,70,132,251,193,72,132,251,193,74,132,251,193,76,132,251,193,78,132,251,193,80,132,251,193,82,132,251,193,84,132,251,193,86,132,251,193,88,132,251,193,90,132,251,193,92,132,251,193,134,132,251,193,136,132,251,193,138,132,251,193,140,132,251,193,142,132,251,193,144,132,251,193,146,132,251,193,148,132,251,193,150,132,251,193,152,132,251,193,154,132,251,193,156,132,251,193,158,132,251,193,160,132,251,193,162,132,251,193,164,132,251,193,166,132,251,193,168,132,251,193,170,132,251,193,172,132,251,193,174,132,251,193,176,132,251,193,230,132,251,193,232,132,251,193,234,132,251,193,236,132,251,193,238,132,251,193,240,132,251,193,242,132,251,193,244,132,251,193,246,132,251,193,248,132,251,193,250,132,251,193,252,132,251,193,254,132,251,193,2,133,251,193,4,133,251,193,6,133,251,193,8,133,251,193,10,133,251,193,12,133,251,193,14,133,251,193,16,133,251,193,18,133,251,193,20,133,251,193,22,133,251,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,224,17,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,193,112,133,251,193,2,134,251,193,62,134,251,193,64,134,251,193,66,134,251,193,68,134,251,193,160,134,251,193,162,134,251,193,174,134,251,193,186,134,251,193,210,134,251,193,212,134,251,193,236,134,251,193,238,134,251,193,84,135,251,193,110,135,251,193,112,135,251,193,186,135,251,193,188,135,251,193,190,135,251,193,192,135,251,193,34,136,251,193,212,136,251,193,214,136,251,193,176,137,251,193,178,137,251,193,132,138,251,193,134,138,251,193,152,139,251,193,154,139,251,193,156,139,251,193,158,139,251,193,114,133,251,193,116,133,251,193,118,133,251,193,120,133,251,193,196,133,251,193,4,134,251,193,6,134,251,193,8,134,251,193,10,134,251,193,12,134,251,193,14,134,251,193,16,134,251,193,18,134,251,193,20,134,251,193,70,134,251,193,72,134,251,193,122,134,251,193,124,134,251,193,126,134,251,193,128,134,251,193,130,134,251,193,132,134,251,193,176,134,251,193,188,134,251,193,190,134,251,193,214,134,251,193,216,134,251,193,240,134,251,193,250,134,251,193,2,135,251,193,20,135,251,193,36,135,251,193,132,133,251,193,134,133,251,193,24,134,251,193,26,134,251,193,76,134,251,193,78,134,251,193,80,134,251,193,82,134,251,193,166,134,251,193,178,134,251,193,180,134,251,193,192,134,251,193,228,134,251,193,252,134,251,193,8,135,251,193,14,135,251,193,22,135,251,193,128,135,251,193,132,135,251,193,140,135,251,193,142,135,251,193,144,135,251,193,146,135,251,193,148,135,251,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,0,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,193,200,133,251,193,22,134,251,193,74,134,251,193,134,134,251,193,136,134,251,193,138,134,251,193,164,134,251,193,218,134,251,193,104,135,251,193,44,136,251,193,228,136,251,193,230,136,251,193,232,136,251,193,234,136,251,193,200,137,251,193,202,137,251,193,204,137,251,193,206,137,251,193,208,137,251,193,210,137,251,193,156,138,251,193,158,138,251,193,160,138,251,193,162,138,251,193,164,138,251,193,166,138,251,193,168,138,251,193,170,138,251,193,172,138,251,193,174,138,251,193,176,138,251,193,182,139,251,206,32,18,0,206,32,18,0,206,32,18,0,206,32,18,0,193,34,134,251,193,36,134,251,193,38,134,251,193,40,134,251,193,42,134,251,193,44,134,251,193,46,134,251,193,48,134,251,193,50,134,251,193,52,134,251,193,54,134,251,193,56,134,251,193,88,134,251,193,90,134,251,193,92,134,251,193,94,134,251,193,96,134,251,193,98,134,251,193,100,134,251,193,102,134,251,193,104,134,251,193,106,134,251,193,108,134,251,193,110,134,251,193,112,134,251,193,114,134,251,193,116,134,251,193,140,134,251,193,86,134,251,193,194,134,251,193,16,135,251,193,38,135,251,193,150,135,251,193,152,135,251,193,154,135,251,193,156,135,251,193,220,135,251,193,222,135,251,193,224,135,251,193,226,135,251,193,228,135,251,193,230,135,251,193,232,135,251,193,234,135,251,193,94,136,251,193,96,136,251,193,98,136,251,193,100,136,251,193,102,136,251,193,104,136,251,193,106,136,251,193,40,135,251,193,108,136,251,206,128,18,0,206,128,18,0,206,128,18,0,206,128,18,0,206,128,18,0,206,128,18,0,206,128,18,0,193,142,134,251,193,144,134,251,193,146,134,251,193,148,134,251,193,150,134,251,193,152,134,251,193,154,134,251,193,156,134,251,193,168,134,251,193,170,134,251,193,182,134,251,193,184,134,251,193,196,134,251,193,198,134,251,193,200,134,251,193,202,134,251,193,204,134,251,193,220,134,251,193,222,134,251,193,224,134,251,193,226,134,251,193,230,134,251,193,232,134,251,193,234,134,251,193,242,134,251,193,244,134,251,193,246,134,251,193,254,134,251,193,4,135,251,193,6,135,251,193,12,135,251,193,18,135,251,193,208,134,251,193,248,134,251,193,24,136,251,193,26,136,251,193,28,136,251,193,30,136,251,193,206,136,251,193,208,136,251,193,210,136,251,193,164,137,251,193,166,137,251,193,168,137,251,193,170,137,251,193,172,137,251,193,174,137,251,193,118,138,251,193,120,138,251,193,122,138,251,193,124,138,251,193,126,138,251,193,128,138,251,193,138,139,251,193,140,139,251,193,142,139,251,193,144,139,251,193,146,139,251,193,148,139,251,193,234,140,251,193,236,140,251,193,238,140,251,193,240,140,251,193,242,140,251,193,24,135,251,193,26,135,251,193,28,135,251,193,30,135,251,193,32,135,251,193,34,135,251,193,42,135,251,193,44,135,251,193,46,135,251,193,48,135,251,193,50,135,251,193,52,135,251,193,54,135,251,193,56,135,251,193,58,135,251,193,60,135,251,193,62,135,251,193,64,135,251,193,66,135,251,193,68,135,251,193,70,135,251,193,72,135,251,193,74,135,251,193,76,135,251,193,78,135,251,193,80,135,251,193,82,135,251,206,64,18,0,206,64,18,0,206,64,18,0,206,64,18,0,206,64,18,0,193,106,135,251,193,108,135,251,193,114,135,251,193,116,135,251,193,118,135,251,193,120,135,251,193,122,135,251,193,124,135,251,193,126,135,251,193,134,135,251,193,136,135,251,193,138,135,251,193,158,135,251,193,160,135,251,193,162,135,251,193,164,135,251,193,166,135,251,193,168,135,251,193,170,135,251,193,172,135,251,193,174,135,251,193,176,135,251,193,178,135,251,193,180,135,251,193,182,135,251,193,184,135,251,193,236,135,251,193,238,135,251,193,194,135,251,193,36,136,251,193,38,136,251,193,40,136,251,193,42,136,251,193,216,136,251,193,218,136,251,193,220,136,251,193,222,136,251,193,224,136,251,193,226,136,251,193,180,137,251,193,182,137,251,193,184,137,251,193,186,137,251,193,188,137,251,193,190,137,251,193,192,137,251,193,194,137,251,193,196,137,251,193,198,137,251,193,136,138,251,193,138,138,251,193,140,138,251,193,142,138,251,193,144,138,251,193,146,138,251,193,148,138,251,193,150,138,251,193,152,138,251,193,154,138,251,193,162,139,251,206,96,18,0,206,96,18,0,206,96,18,0,206,96,18,0,193,46,136,251,193,48,136,251,193,50,136,251,193,52,136,251,193,54,136,251,193,56,136,251,193,58,136,251,193,60,136,251,193,62,136,251,193,212,137,251,193,64,136,251,193,66,136,251,193,68,136,251,193,70,136,251,193,72,136,251,193,74,136,251,193,76,136,251,193,78,136,251,193,80,136,251,193,82,136,251,193,84,136,251,193,86,136,251,193,88,136,251,193,90,136,251,193,92,136,251,193,236,136,251,193,238,136,251,193,240,136,251,193,240,135,251,193,242,135,251,193,244,135,251,193,246,135,251,193,248,135,251,193,250,135,251,193,252,135,251,193,254,135,251,193,2,136,251,193,4,136,251,193,6,136,251,193,8,136,251,193,10,136,251,193,12,136,251,193,14,136,251,193,16,136,251,193,18,136,251,193,20,136,251,193,22,136,251,193,110,136,251,193,112,136,251,193,114,136,251,193,116,136,251,193,118,136,251,193,120,136,251,193,122,136,251,193,124,136,251,193,126,136,251,193,128,136,251,193,130,136,251,193,132,136,251,193,134,136,251,193,136,136,251,193,138,136,251,193,140,136,251,193,142,136,251,193,144,136,251,193,146,136,251,193,148,136,251,193,150,136,251,193,152,136,251,193,154,136,251,193,156,136,251,193,158,136,251,193,160,136,251,193,162,136,251,193,164,136,251,193,166,136,251,193,168,136,251,193,170,136,251,193,172,136,251,193,174,136,251,193,176,136,251,193,178,136,251,193,180,136,251,193,182,136,251,193,184,136,251,193,186,136,251,193,188,136,251,193,190,136,251,193,192,136,251,193,194,136,251,193,196,136,251,193,198,136,251,193,200,136,251,193,202,136,251,193,204,136,251,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,193,242,136,251,193,244,136,251,193,246,136,251,193,248,136,251,193,250,136,251,193,252,136,251,193,254,136,251,193,2,137,251,193,4,137,251,193,6,137,251,193,8,137,251,193,10,137,251,193,12,137,251,193,14,137,251,193,16,137,251,193,18,137,251,193,20,137,251,193,22,137,251,193,24,137,251,193,26,137,251,193,28,137,251,193,30,137,251,193,32,137,251,193,34,137,251,193,36,137,251,193,38,137,251,193,40,137,251,193,42,137,251,193,44,137,251,193,46,137,251,193,48,137,251,193,50,137,251,193,52,137,251,193,54,137,251,193,56,137,251,193,58,137,251,193,60,137,251,193,62,137,251,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,128,18,0,206,128,18,0,206,128,18,0,206,128,18,0,193,28,138,251,193,30,138,251,193,32,138,251,193,238,138,251,193,240,138,251,193,242,138,251,193,244,138,251,193,246,138,251,193,248,138,251,193,250,138,251,193,252,138,251,193,254,138,251,193,2,139,251,193,4,139,251,193,6,139,251,193,8,139,251,193,10,139,251,193,12,139,251,193,14,139,251,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,160,18,0,206,160,18,0,206,160,18,0,206,160,18,0,193,228,93,252,193,152,137,251,193,154,137,251,193,156,137,251,193,158,137,251,193,160,137,251,193,162,137,251,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,192,18,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,224,18,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,0,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,32,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,193,136,139,251,193,180,190,252,193,182,190,252,193,184,190,252,193,186,190,252,193,188,190,252,193,214,190,252,193,216,190,252,193,218,190,252,193,220,190,252,193,222,190,252,193,224,190,252,193,226,190,252,193,228,190,252,193,230,190,252,193,190,190,252,193,232,190,252,193,234,190,252,193,236,190,252,193,238,190,252,193,240,190,252,193,242,190,252,193,244,190,252,193,246,190,252,206,160,72,0,206,160,72,0,206,160,72,0,206,160,72,0,193,160,139,251,193,248,140,251,193,250,140,251,193,252,140,251,193,254,140,251,193,2,141,251,193,26,142,251,193,28,142,251,193,30,142,251,193,32,142,251,193,242,142,251,193,244,142,251,193,246,142,251,193,248,142,251,193,250,142,251,193,252,142,251,193,254,142,251,193,208,143,251,193,210,143,251,193,212,143,251,193,214,143,251,193,176,144,251,193,178,144,251,193,72,145,251,193,74,145,251,193,76,145,251,193,78,145,251,193,80,145,251,193,82,145,251,193,204,145,251,193,18,146,251,193,102,146,251,193,164,139,251,193,166,139,251,193,168,139,251,193,170,139,251,193,172,139,251,193,174,139,251,193,176,139,251,193,178,139,251,193,180,139,251,193,4,141,251,193,6,141,251,193,8,141,251,193,10,141,251,193,12,141,251,193,14,141,251,193,16,141,251,193,18,141,251,193,20,141,251,193,34,142,251,193,36,142,251,193,38,142,251,193,40,142,251,193,42,142,251,193,44,142,251,193,46,142,251,193,48,142,251,193,50,142,251,193,52,142,251,193,54,142,251,193,56,142,251,193,58,142,251,193,60,142,251,193,184,139,251,193,186,139,251,193,188,139,251,193,190,139,251,193,192,139,251,193,22,141,251,193,24,141,251,193,26,141,251,193,28,141,251,193,62,142,251,193,64,142,251,193,66,142,251,193,68,142,251,193,70,142,251,193,16,143,251,193,18,143,251,193,20,143,251,193,242,143,251,193,244,143,251,193,246,143,251,193,248,143,251,193,202,144,251,193,204,144,251,193,206,144,251,193,208,144,251,193,88,145,251,193,90,145,251,193,214,145,251,193,34,146,251,193,36,146,251,193,38,146,251,193,124,146,251,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,64,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,206,96,19,0,193,120,141,251,193,122,141,251,193,124,141,251,193,126,141,251,193,128,141,251,193,130,141,251,193,132,141,251,193,134,141,251,193,136,141,251,193,138,141,251,193,124,142,251,193,126,142,251,193,128,142,251,193,130,142,251,193,132,142,251,193,134,142,251,193,136,142,251,193,138,142,251,193,140,142,251,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,128,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,193,244,140,251,193,246,140,251,193,14,142,251,193,16,142,251,193,18,142,251,193,20,142,251,193,22,142,251,193,24,142,251,193,234,142,251,193,236,142,251,193,238,142,251,193,240,142,251,193,194,143,251,193,196,143,251,193,198,143,251,193,200,143,251,193,202,143,251,193,204,143,251,193,206,143,251,193,168,144,251,193,170,144,251,193,172,144,251,193,174,144,251,193,64,145,251,193,66,145,251,193,68,145,251,193,70,145,251,193,198,145,251,193,200,145,251,193,202,145,251,193,100,146,251,193,210,146,251,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,206,160,19,0,193,72,142,251,193,80,141,251,193,82,141,251,193,84,141,251,193,86,141,251,193,88,141,251,193,90,141,251,193,92,141,251,193,94,141,251,193,96,141,251,193,98,141,251,193,100,141,251,193,102,141,251,193,104,141,251,193,106,141,251,193,108,141,251,193,110,141,251,193,112,141,251,193,114,141,251,193,116,141,251,193,74,142,251,193,76,142,251,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,192,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,193,78,142,251,193,80,142,251,193,82,142,251,193,84,142,251,193,86,142,251,193,88,142,251,193,90,142,251,193,92,142,251,193,94,142,251,193,96,142,251,193,98,142,251,193,100,142,251,193,102,142,251,193,104,142,251,193,106,142,251,193,108,142,251,193,110,142,251,193,112,142,251,193,114,142,251,193,116,142,251,193,118,142,251,193,120,142,251,193,122,142,251,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,224,19,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,193,2,143,251,193,4,143,251,193,6,143,251,193,8,143,251,193,10,143,251,193,12,143,251,193,14,143,251,193,216,143,251,193,218,143,251,193,220,143,251,193,222,143,251,193,224,143,251,193,226,143,251,193,228,143,251,193,230,143,251,193,232,143,251,193,234,143,251,193,236,143,251,193,238,143,251,193,240,143,251,193,180,144,251,193,182,144,251,193,184,144,251,193,186,144,251,193,188,144,251,193,190,144,251,193,192,144,251,193,194,144,251,193,196,144,251,193,198,144,251,193,200,144,251,193,84,145,251,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,0,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,206,32,20,0,193,42,144,251,193,44,144,251,193,46,144,251,193,48,144,251,193,50,144,251,193,52,144,251,193,54,144,251,193,56,144,251,193,58,144,251,193,60,144,251,193,62,144,251,193,64,144,251,193,244,144,251,193,246,144,251,193,248,144,251,193,250,144,251,193,252,144,251,193,254,144,251,193,2,145,251,193,108,145,251,193,110,145,251,193,112,145,251,193,114,145,251,193,116,145,251,193,222,145,251,193,224,145,251,193,226,145,251,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,64,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,206,96,20,0,193,210,144,251,193,212,144,251,193,214,144,251,193,216,144,251,193,218,144,251,193,220,144,251,193,222,144,251,193,224,144,251,193,226,144,251,193,228,144,251,193,230,144,251,193,232,144,251,193,234,144,251,193,236,144,251,193,238,144,251,193,240,144,251,193,242,144,251,193,92,145,251,193,94,145,251,193,96,145,251,193,98,145,251,193,40,146,251,193,100,145,251,193,102,145,251,193,104,145,251,193,106,145,251,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,206,128,20,0,193,4,145,251,193,6,145,251,193,8,145,251,193,10,145,251,193,12,145,251,193,14,145,251,193,16,145,251,193,18,145,251,193,20,145,251,193,22,145,251,193,24,145,251,193,26,145,251,193,118,145,251,193,28,145,251,193,30,145,251,193,32,145,251,193,34,145,251,193,36,145,251,193,38,145,251,193,40,145,251,193,42,145,251,193,44,145,251,193,46,145,251,193,48,145,251,193,50,145,251,193,52,145,251,193,54,145,251,193,56,145,251,193,58,145,251,193,60,145,251,193,62,145,251,193,120,145,251,193,122,145,251,193,124,145,251,193,126,145,251,193,86,145,251,193,206,145,251,193,208,145,251,193,210,145,251,193,212,145,251,193,20,146,251,193,22,146,251,193,24,146,251,193,26,146,251,193,28,146,251,193,30,146,251,193,32,146,251,193,112,146,251,193,114,146,251,193,116,146,251,193,118,146,251,193,120,146,251,193,122,146,251,193,172,146,251,193,174,146,251,193,176,146,251,193,214,146,251,193,216,146,251,193,4,147,251,193,18,147,251,193,40,147,251,193,80,147,251,193,98,147,251,193,100,147,251,193,112,147,251,193,114,147,251,193,128,147,251,193,128,145,251,193,130,145,251,193,132,145,251,193,134,145,251,193,136,145,251,193,138,145,251,193,140,145,251,193,142,145,251,193,144,145,251,193,146,145,251,193,148,145,251,193,150,145,251,193,152,145,251,193,154,145,251,193,156,145,251,193,158,145,251,193,160,145,251,193,162,145,251,193,164,145,251,193,166,145,251,193,168,145,251,193,170,145,251,193,172,145,251,193,174,145,251,193,176,145,251,193,178,145,251,193,180,145,251,193,182,145,251,193,184,145,251,193,186,145,251,193,188,145,251,193,190,145,251,193,16,146,251,193,72,146,251,193,74,146,251,193,76,146,251,193,78,146,251,193,80,146,251,193,82,146,251,193,84,146,251,193,86,146,251,193,88,146,251,193,90,146,251,193,92,146,251,193,94,146,251,193,96,146,251,193,146,146,251,193,148,146,251,193,150,146,251,193,152,146,251,193,154,146,251,193,156,146,251,193,158,146,251,193,160,146,251,193,162,146,251,193,164,146,251,193,166,146,251,193,168,146,251,193,170,146,251,193,196,145,251,206,160,20,0,206,160,20,0,206,160,20,0,206,160,20,0,193,216,145,251,193,218,145,251,193,220,145,251,193,42,146,251,193,44,146,251,193,46,146,251,193,130,146,251,193,132,146,251,193,134,146,251,193,136,146,251,193,138,146,251,193,140,146,251,193,142,146,251,193,178,146,251,193,218,146,251,193,180,146,251,193,182,146,251,193,220,146,251,193,222,146,251,193,224,146,251,193,226,146,251,193,228,146,251,193,6,147,251,193,230,146,251,193,8,147,251,193,10,147,251,193,12,147,251,193,66,147,251,193,68,147,251,193,70,147,251,193,82,147,251,193,84,147,251,193,48,146,251,193,50,146,251,193,52,146,251,193,54,146,251,193,144,146,251,193,184,146,251,193,186,146,251,193,232,146,251,193,60,147,251,193,86,147,251,193,214,147,251,193,44,148,251,193,46,148,251,193,62,148,251,193,86,148,251,193,142,148,251,193,160,148,251,193,204,148,251,193,36,149,251,193,38,149,251,193,60,149,251,193,62,149,251,193,64,149,251,193,120,149,251,193,122,149,251,193,124,149,251,193,126,149,251,193,128,149,251,193,130,149,251,193,216,149,251,193,218,149,251,193,220,149,251,193,98,11,252,193,118,11,252,193,120,11,252,193,122,11,252,193,124,11,252,193,126,11,252,193,142,11,252,193,144,11,252,193,146,11,252,193,148,11,252,193,150,11,252,193,152,11,252,193,158,11,252,193,98,146,251,193,166,11,252,193,178,11,252,193,180,11,252,193,182,11,252,193,184,11,252,193,186,11,252,193,188,11,252,193,194,11,252,193,196,11,252,193,200,11,252,193,206,11,252,193,208,11,252,193,210,11,252,193,212,11,252,193,214,11,252,193,216,11,252,193,218,11,252,193,228,11,252,193,104,146,251,193,106,146,251,193,108,146,251,193,110,146,251,193,212,146,251,193,38,147,251,193,48,147,251,193,76,147,251,193,154,147,251,193,168,147,251,193,198,147,251,193,14,148,251,193,24,148,251,193,36,148,251,193,56,148,251,193,78,148,251,193,84,148,251,193,96,148,251,193,104,148,251,193,106,148,251,193,114,148,251,193,150,148,251,193,200,148,251,193,216,148,251,193,236,148,251,193,238,148,251,193,6,149,251,193,12,149,251,193,14,149,251,193,48,149,251,193,50,149,251,193,176,149,251,193,126,146,251,193,128,146,251,193,50,147,251,193,144,147,251,193,146,147,251,193,174,147,251,193,180,147,251,193,4,148,251,193,16,148,251,193,18,148,251,193,20,148,251,193,28,148,251,193,58,148,251,193,108,148,251,193,120,148,251,193,202,148,251,193,218,148,251,193,52,149,251,193,102,149,251,193,188,149,251,193,190,149,251,193,28,150,251,193,30,150,251,193,142,150,251,193,144,150,251,193,238,150,251,193,226,151,251,193,228,151,251,193,230,151,251,193,60,152,251,193,140,152,251,193,224,152,251,206,160,20,0,206,160,20,0,206,160,20,0,206,160,20,0,206,160,20,0,206,160,20,0,206,160,20,0,193,234,146,251,193,236,146,251,193,238,146,251,193,240,146,251,193,242,146,251,193,244,146,251,193,246,146,251,193,248,146,251,193,250,146,251,193,252,146,251,193,254,146,251,193,14,147,251,193,16,147,251,193,20,147,251,193,22,147,251,193,24,147,251,193,26,147,251,193,28,147,251,193,30,147,251,193,32,147,251,193,34,147,251,193,36,147,251,193,42,147,251,193,44,147,251,193,46,147,251,193,2,147,251,193,110,147,251,193,140,147,251,193,250,147,251,193,54,148,251,193,68,148,251,193,76,148,251,193,82,148,251,193,112,148,251,193,118,148,251,193,130,148,251,193,166,148,251,193,154,148,251,193,232,148,251,193,234,148,251,193,246,148,251,193,2,149,251,193,4,149,251,193,46,149,251,193,226,150,251,193,80,151,251,193,82,151,251,193,84,151,251,193,86,151,251,193,200,151,251,193,202,151,251,193,204,151,251,193,132,152,251,193,220,152,251,193,22,153,251,193,66,153,251,193,112,153,251,193,52,147,251,193,54,147,251,193,62,147,251,193,56,147,251,193,58,147,251,193,64,147,251,193,72,147,251,193,78,147,251,193,74,147,251,193,88,147,251,193,90,147,251,193,92,147,251,193,94,147,251,193,96,147,251,193,104,147,251,193,106,147,251,193,108,147,251,193,116,147,251,193,118,147,251,193,120,147,251,193,122,147,251,193,124,147,251,193,126,147,251,193,130,147,251,193,132,147,251,193,134,147,251,193,136,147,251,193,138,147,251,193,150,147,251,193,152,147,251,193,162,147,251,193,164,147,251,193,102,147,251,193,212,78,253,193,158,147,251,193,160,147,251,193,176,147,251,193,210,147,251,193,228,147,251,193,230,147,251,193,232,147,251,193,242,147,251,193,244,147,251,193,6,148,251,193,30,148,251,193,32,148,251,193,42,148,251,193,60,148,251,193,70,148,251,193,132,148,251,193,134,148,251,193,136,148,251,193,138,148,251,193,152,148,251,193,158,148,251,193,172,148,251,193,174,148,251,193,176,148,251,193,178,148,251,193,180,148,251,193,190,148,251,193,220,148,251,193,20,149,251,193,22,149,251,193,142,147,251,193,156,147,251,193,226,147,251,193,252,147,251,193,254,147,251,193,2,148,251,193,26,148,251,193,38,148,251,193,40,148,251,193,80,148,251,193,156,148,251,193,168,148,251,193,170,148,251,193,188,148,251,193,240,148,251,193,242,148,251,193,16,149,251,193,98,149,251,193,100,149,251,193,184,149,251,193,186,149,251,193,16,150,251,193,18,150,251,193,20,150,251,193,22,150,251,193,24,150,251,193,26,150,251,193,134,150,251,193,136,150,251,193,138,150,251,193,140,150,251,193,228,150,251,193,166,147,251,193,170,147,251,193,172,147,251,193,178,147,251,193,182,147,251,193,184,147,251,193,186,147,251,193,188,147,251,193,190,147,251,193,192,147,251,193,194,147,251,193,196,147,251,193,200,147,251,193,202,147,251,193,204,147,251,193,206,147,251,193,208,147,251,193,216,147,251,193,218,147,251,193,220,147,251,193,222,147,251,193,224,147,251,193,234,147,251,193,236,147,251,193,238,147,251,193,240,147,251,193,246,147,251,193,248,147,251,193,8,148,251,193,10,148,251,193,12,148,251,193,22,148,251,193,34,148,251,193,48,148,251,193,50,148,251,193,52,148,251,193,64,148,251,193,66,148,251,193,72,148,251,193,74,148,251,193,88,148,251,193,90,148,251,193,92,148,251,193,94,148,251,193,98,148,251,193,110,148,251,193,116,148,251,193,122,148,251,193,124,148,251,193,126,148,251,193,128,148,251,193,140,148,251,193,144,148,251,193,146,148,251,193,148,148,251,193,162,148,251,193,164,148,251,193,182,148,251,193,184,148,251,193,186,148,251,193,192,148,251,193,194,148,251,193,196,148,251,193,198,148,251,193,16,165,251,193,18,165,251,193,26,165,251,193,28,165,251,193,30,165,251,193,44,165,251,193,46,165,251,193,48,165,251,193,54,165,251,193,56,165,251,193,58,165,251,193,60,165,251,193,62,165,251,193,64,165,251,193,66,165,251,193,80,165,251,193,100,148,251,193,82,165,251,193,84,165,251,193,90,165,251,193,92,165,251,193,94,165,251,193,96,165,251,193,102,165,251,193,104,165,251,193,106,165,251,193,108,165,251,193,110,165,251,193,112,165,251,193,114,165,251,193,116,165,251,193,120,165,251,206,32,47,0,206,32,47,0,193,102,148,251,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,193,206,148,251,193,208,148,251,193,210,148,251,193,212,148,251,193,214,148,251,193,222,148,251,193,224,148,251,193,226,148,251,193,228,148,251,193,230,148,251,193,244,148,251,193,248,148,251,193,250,148,251,193,252,148,251,193,8,149,251,193,254,148,251,193,10,149,251,193,18,149,251,193,40,149,251,193,42,149,251,193,44,149,251,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,193,24,149,251,193,26,149,251,193,28,149,251,193,30,149,251,193,32,149,251,193,34,149,251,193,54,149,251,193,56,149,251,193,58,149,251,193,104,149,251,193,106,149,251,193,108,149,251,193,110,149,251,193,112,149,251,193,114,149,251,193,116,149,251,193,118,149,251,193,192,149,251,193,194,149,251,193,196,149,251,193,198,149,251,193,200,149,251,193,202,149,251,193,204,149,251,193,206,149,251,193,208,149,251,193,210,149,251,193,212,149,251,193,214,149,251,193,32,150,251,193,34,150,251,193,36,150,251,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,206,192,20,0,193,132,149,251,193,134,149,251,193,136,149,251,193,138,149,251,193,140,149,251,193,142,149,251,193,144,149,251,193,146,149,251,193,148,149,251,193,150,149,251,193,152,149,251,193,154,149,251,193,156,149,251,193,158,149,251,193,160,149,251,193,162,149,251,193,164,149,251,193,166,149,251,193,168,149,251,193,170,149,251,193,172,149,251,193,174,149,251,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,193,178,149,251,193,180,149,251,193,182,149,251,193,12,150,251,193,14,150,251,193,132,150,251,193,88,151,251,193,90,151,251,193,206,151,251,193,208,151,251,193,42,152,251,193,44,152,251,193,46,152,251,193,48,152,251,193,50,152,251,193,52,152,251,193,24,153,251,193,26,153,251,193,114,153,251,193,116,153,251,193,180,153,251,193,194,153,251,193,196,153,251,193,254,153,251,193,32,154,251,193,34,154,251,193,36,154,251,193,42,154,251,193,58,154,251,193,60,154,251,193,76,154,251,193,152,154,251,193,222,149,251,193,54,150,251,193,56,150,251,193,58,150,251,193,60,150,251,193,62,150,251,193,64,150,251,193,166,150,251,193,168,150,251,193,8,151,251,193,10,151,251,193,12,151,251,193,14,151,251,193,16,151,251,193,18,151,251,193,122,151,251,193,124,151,251,193,126,151,251,193,128,151,251,193,130,151,251,193,132,151,251,193,134,151,251,193,136,151,251,193,244,151,251,193,246,151,251,193,248,151,251,193,250,151,251,193,252,151,251,193,84,152,251,193,86,152,251,193,88,152,251,193,90,152,251,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,224,20,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,193,38,150,251,193,40,150,251,193,42,150,251,193,44,150,251,193,46,150,251,193,48,150,251,193,50,150,251,193,52,150,251,193,146,150,251,193,148,150,251,193,150,150,251,193,152,150,251,193,154,150,251,193,156,150,251,193,158,150,251,193,160,150,251,193,162,150,251,193,164,150,251,193,240,150,251,193,242,150,251,193,244,150,251,193,246,150,251,193,248,150,251,193,250,150,251,193,252,150,251,193,254,150,251,193,2,151,251,193,4,151,251,193,6,151,251,193,98,151,251,193,100,151,251,193,102,151,251,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,0,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,32,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,193,230,150,251,193,232,150,251,193,234,150,251,193,236,150,251,193,92,151,251,193,94,151,251,193,96,151,251,193,210,151,251,193,212,151,251,193,214,151,251,193,216,151,251,193,218,151,251,193,220,151,251,193,222,151,251,193,224,151,251,193,54,152,251,193,56,152,251,193,58,152,251,193,134,152,251,193,136,152,251,193,138,152,251,193,222,152,251,193,28,153,251,193,30,153,251,193,32,153,251,193,82,153,251,193,84,153,251,193,86,153,251,193,118,153,251,193,156,153,251,193,182,153,251,193,214,153,251,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,64,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,193,104,151,251,193,106,151,251,193,108,151,251,193,110,151,251,193,112,151,251,193,114,151,251,193,116,151,251,193,118,151,251,193,62,152,251,193,120,151,251,193,232,151,251,193,234,151,251,193,236,151,251,193,238,151,251,193,240,151,251,193,242,151,251,193,114,209,252,193,64,152,251,193,66,152,251,193,68,152,251,193,70,152,251,193,72,152,251,193,74,152,251,193,76,152,251,193,78,152,251,193,80,152,251,193,142,152,251,193,82,152,251,206,128,21,0,206,128,21,0,206,128,21,0,206,128,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,206,96,21,0,193,254,151,251,193,2,152,251,193,4,152,251,193,6,152,251,193,8,152,251,193,10,152,251,193,12,152,251,193,14,152,251,193,16,152,251,193,18,152,251,193,20,152,251,193,22,152,251,193,24,152,251,193,26,152,251,193,28,152,251,193,30,152,251,193,32,152,251,193,34,152,251,193,36,152,251,193,38,152,251,193,40,152,251,193,92,152,251,193,94,152,251,193,96,152,251,193,98,152,251,193,100,152,251,193,102,152,251,193,104,152,251,193,106,152,251,193,108,152,251,193,110,152,251,193,112,152,251,193,114,152,251,193,116,152,251,193,118,152,251,193,120,152,251,193,122,152,251,193,124,152,251,193,126,152,251,193,128,152,251,193,130,152,251,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,128,21,0,206,128,21,0,206,128,21,0,206,128,21,0,206,128,21,0,206,128,21,0,193,226,152,251,193,228,152,251,193,230,152,251,193,232,152,251,193,36,153,251,193,38,153,251,193,40,153,251,193,68,153,251,193,70,153,251,193,72,153,251,193,88,153,251,193,120,153,251,193,170,153,251,193,172,153,251,193,176,153,251,193,178,153,251,193,200,153,251,193,202,153,251,193,204,153,251,193,20,154,251,193,92,154,251,193,94,154,251,193,106,154,251,193,144,154,251,193,174,154,251,193,218,154,251,193,164,152,251,193,166,152,251,193,234,152,251,193,236,152,251,193,238,152,251,193,42,153,251,193,44,153,251,193,122,153,251,193,124,153,251,193,142,153,251,193,144,153,251,193,176,154,251,193,178,154,251,193,194,154,251,193,214,154,251,193,244,154,251,193,246,154,251,193,248,154,251,193,60,155,251,193,62,155,251,193,130,155,251,193,132,155,251,193,134,155,251,193,136,155,251,193,138,155,251,193,140,155,251,193,142,155,251,193,144,155,251,193,214,155,251,193,216,155,251,193,218,155,251,193,220,155,251,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,206,160,21,0,193,240,152,251,193,242,152,251,193,244,152,251,193,246,152,251,193,248,152,251,193,250,152,251,193,252,152,251,193,254,152,251,193,2,153,251,193,4,153,251,193,6,153,251,193,8,153,251,193,10,153,251,193,12,153,251,193,14,153,251,193,16,153,251,193,18,153,251,193,20,153,251,193,46,153,251,193,34,153,251,193,140,153,251,193,184,153,251,193,198,153,251,193,218,153,251,193,244,153,251,193,246,153,251,193,2,154,251,193,4,154,251,193,14,154,251,193,16,154,251,193,18,154,251,193,50,154,251,193,52,154,251,193,70,154,251,193,118,154,251,193,120,154,251,193,156,154,251,193,28,155,251,193,196,155,251,193,198,155,251,193,22,156,251,193,24,156,251,193,140,156,251,193,142,156,251,193,28,157,251,193,30,157,251,193,32,157,251,193,148,157,251,193,150,157,251,193,236,157,251,193,92,158,251,193,48,153,251,193,50,153,251,193,52,153,251,193,54,153,251,193,56,153,251,193,58,153,251,193,60,153,251,193,62,153,251,193,64,153,251,193,74,153,251,193,76,153,251,193,78,153,251,193,80,153,251,193,90,153,251,193,92,153,251,193,94,153,251,193,96,153,251,193,98,153,251,193,100,153,251,193,102,153,251,193,104,153,251,193,106,153,251,193,108,153,251,193,110,153,251,193,126,153,251,193,128,153,251,193,130,153,251,193,134,153,251,193,136,153,251,193,138,153,251,193,146,153,251,193,148,153,251,193,132,153,251,193,192,153,251,193,250,153,251,193,252,153,251,193,12,154,251,193,28,154,251,193,30,154,251,193,56,154,251,193,74,154,251,193,82,154,251,193,124,154,251,193,150,154,251,193,94,155,251,193,96,155,251,193,188,155,251,193,190,155,251,193,10,156,251,193,12,156,251,193,104,156,251,193,106,156,251,193,108,156,251,193,110,156,251,193,112,156,251,193,114,156,251,193,4,157,251,193,6,157,251,193,128,157,251,193,130,157,251,193,216,157,251,193,218,157,251,193,66,158,251,193,68,158,251,193,150,153,251,193,152,153,251,193,154,153,251,193,158,153,251,193,160,153,251,193,162,153,251,193,164,153,251,193,166,153,251,193,168,153,251,193,174,153,251,193,186,153,251,193,188,153,251,193,190,153,251,193,206,153,251,193,208,153,251,193,210,153,251,193,212,153,251,193,220,153,251,193,222,153,251,193,224,153,251,193,226,153,251,193,228,153,251,193,232,153,251,193,234,153,251,193,236,153,251,193,238,153,251,193,248,153,251,193,6,154,251,193,8,154,251,193,10,154,251,193,22,154,251,193,24,154,251,193,216,153,251,193,230,153,251,193,240,153,251,193,242,153,251,193,44,154,251,193,46,154,251,193,48,154,251,193,78,154,251,193,102,154,251,193,104,154,251,193,116,154,251,193,134,154,251,193,154,154,251,193,232,154,251,193,234,154,251,193,236,154,251,193,22,155,251,193,24,155,251,193,26,155,251,193,100,155,251,193,102,155,251,193,104,155,251,193,106,155,251,193,108,155,251,193,192,155,251,193,194,155,251,193,18,156,251,193,20,156,251,193,128,156,251,193,130,156,251,193,132,156,251,193,134,156,251,193,182,154,251,193,184,154,251,193,190,154,251,193,192,154,251,193,212,154,251,193,230,154,251,193,20,155,251,193,98,155,251,193,14,156,251,193,16,156,251,193,116,156,251,193,118,156,251,193,120,156,251,193,122,156,251,193,124,156,251,193,126,156,251,193,12,157,251,193,14,157,251,193,16,157,251,193,18,157,251,193,20,157,251,193,22,157,251,193,132,157,251,193,134,157,251,193,136,157,251,193,138,157,251,193,220,157,251,193,222,157,251,193,72,158,251,193,74,158,251,193,76,158,251,193,78,158,251,193,220,154,251,193,222,154,251,193,224,154,251,193,226,154,251,193,238,154,251,193,240,154,251,193,242,154,251,193,30,155,251,193,32,155,251,193,34,155,251,193,36,155,251,193,38,155,251,193,40,155,251,193,42,155,251,193,44,155,251,193,46,155,251,193,48,155,251,193,50,155,251,193,52,155,251,193,54,155,251,193,56,155,251,193,110,155,251,193,112,155,251,193,114,155,251,193,58,155,251,193,116,155,251,193,118,155,251,193,120,155,251,193,122,155,251,193,124,155,251,193,126,155,251,193,128,155,251,193,14,155,251,193,16,155,251,193,18,155,251,193,64,155,251,193,66,155,251,193,68,155,251,193,70,155,251,193,72,155,251,193,74,155,251,193,76,155,251,193,78,155,251,193,80,155,251,193,82,155,251,193,84,155,251,193,86,155,251,193,88,155,251,193,90,155,251,193,92,155,251,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,206,192,21,0,193,228,155,251,193,230,155,251,193,232,155,251,193,234,155,251,193,236,155,251,193,238,155,251,193,240,155,251,193,242,155,251,193,244,155,251,193,246,155,251,193,248,155,251,193,250,155,251,193,252,155,251,193,254,155,251,193,2,156,251,193,4,156,251,193,6,156,251,193,8,156,251,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,206,224,21,0,193,200,155,251,193,202,155,251,193,204,155,251,193,206,155,251,193,208,155,251,193,210,155,251,193,212,155,251,193,26,156,251,193,28,156,251,193,30,156,251,193,32,156,251,193,34,156,251,193,36,156,251,193,38,156,251,193,40,156,251,193,42,156,251,193,144,156,251,193,146,156,251,193,148,156,251,193,150,156,251,193,152,156,251,193,154,156,251,193,156,156,251,193,158,156,251,193,160,156,251,193,162,156,251,193,164,156,251,193,166,156,251,193,168,156,251,193,34,157,251,193,36,157,251,193,38,157,251,193,222,155,251,193,224,155,251,193,226,155,251,193,44,156,251,193,46,156,251,193,48,156,251,193,50,156,251,193,52,156,251,193,170,156,251,193,172,156,251,193,174,156,251,193,176,156,251,193,178,156,251,193,50,157,251,193,52,157,251,193,54,157,251,193,56,157,251,193,168,157,251,193,10,158,251,193,12,158,251,193,14,158,251,193,16,158,251,193,122,158,251,193,124,158,251,193,126,158,251,193,210,158,251,193,212,158,251,193,214,158,251,193,216,158,251,193,114,159,251,193,160,159,251,193,6,160,251,193,136,156,251,193,138,156,251,193,24,157,251,193,26,157,251,193,140,157,251,193,142,157,251,193,144,157,251,193,146,157,251,193,224,157,251,193,226,157,251,193,228,157,251,193,230,157,251,193,232,157,251,193,234,157,251,193,80,158,251,193,82,158,251,193,84,158,251,193,86,158,251,193,88,158,251,193,90,158,251,193,178,158,251,193,180,158,251,193,182,158,251,193,184,158,251,193,186,158,251,193,188,158,251,193,190,158,251,193,192,158,251,206,128,22,0,206,128,22,0,206,128,22,0,206,128,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,206,0,22,0,193,180,209,253,193,250,156,251,193,252,156,251,193,254,156,251,193,2,157,251,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,193,40,157,251,193,42,157,251,193,44,157,251,193,46,157,251,193,238,157,251,193,152,157,251,193,154,157,251,193,156,157,251,193,158,157,251,193,160,157,251,193,48,157,251,193,162,157,251,193,164,157,251,193,240,157,251,193,242,157,251,193,244,157,251,193,246,157,251,193,248,157,251,193,250,157,251,193,252,157,251,193,254,157,251,193,2,158,251,193,4,158,251,193,6,158,251,193,8,158,251,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,206,32,22,0,193,170,157,251,193,124,157,251,193,126,157,251,193,172,157,251,193,168,147,252,193,12,193,252,193,186,201,252,193,26,202,252,193,228,202,252,193,138,222,252,193,238,250,252,193,176,131,253,193,160,139,253,193,254,192,253,193,220,60,252,193,214,21,252,193,208,126,252,193,86,115,253,193,166,157,251,193,242,171,252,193,98,39,252,193,20,80,252,193,154,44,253,193,78,190,253,193,178,193,253,193,72,194,253,193,74,194,253,193,244,194,253,193,110,195,253,193,112,195,253,193,102,207,253,193,36,219,253,193,38,219,253,255,255,255,255,255,255,255,255,255,255,255,255,193,174,157,251,193,176,157,251,193,178,157,251,193,180,157,251,193,182,157,251,193,184,157,251,193,186,157,251,193,188,157,251,193,190,157,251,193,192,157,251,193,194,157,251,193,196,157,251,193,198,157,251,193,200,157,251,193,202,157,251,193,204,157,251,193,206,157,251,193,208,157,251,193,210,157,251,193,212,157,251,193,214,157,251,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,206,64,22,0,193,128,158,251,193,130,158,251,193,132,158,251,193,134,158,251,193,136,158,251,193,138,158,251,193,140,158,251,193,142,158,251,193,144,158,251,193,146,158,251,193,148,158,251,193,150,158,251,193,152,158,251,193,154,158,251,193,156,158,251,193,158,158,251,193,160,158,251,193,162,158,251,193,164,158,251,193,70,158,251,193,170,158,251,193,172,158,251,193,174,158,251,193,248,158,251,193,250,158,251,193,48,159,251,193,50,159,251,193,52,159,251,193,94,159,251,193,144,159,251,193,192,159,251,193,14,160,251,193,42,160,251,193,44,160,251,193,70,160,251,193,76,160,251,193,88,160,251,193,96,160,251,193,152,160,251,193,170,160,251,193,226,160,251,193,18,161,251,193,30,161,251,193,86,161,251,193,98,161,251,193,58,162,251,193,176,162,251,193,252,162,251,193,254,162,251,193,58,163,251,193,136,163,251,193,94,158,251,193,96,158,251,193,194,158,251,193,196,158,251,193,64,159,251,193,106,159,251,193,220,159,251,193,128,160,251,193,130,160,251,193,154,160,251,193,236,160,251,193,238,160,251,193,58,161,251,193,154,161,251,193,172,161,251,193,174,161,251,193,176,161,251,193,200,161,251,193,206,161,251,193,190,162,251,193,192,162,251,193,22,163,251,193,24,163,251,193,78,163,251,193,80,163,251,193,150,163,251,193,152,163,251,193,154,163,251,193,216,163,251,193,218,163,251,193,220,163,251,193,40,164,251,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,206,96,22,0,193,198,158,251,193,200,158,251,193,202,158,251,193,204,158,251,193,206,158,251,193,208,158,251,193,66,159,251,193,108,159,251,193,110,159,251,193,154,159,251,193,156,159,251,193,158,159,251,193,184,159,251,193,200,159,251,193,240,159,251,193,254,159,251,193,4,160,251,193,18,160,251,193,20,160,251,193,30,160,251,193,32,160,251,193,48,160,251,193,50,160,251,193,52,160,251,193,56,160,251,193,102,160,251,193,106,160,251,193,166,158,251,193,168,158,251,193,218,158,251,193,220,158,251,193,222,158,251,193,224,158,251,193,226,158,251,193,228,158,251,193,230,158,251,193,232,158,251,193,234,158,251,193,236,158,251,193,238,158,251,193,240,158,251,193,242,158,251,193,244,158,251,193,246,158,251,193,18,159,251,193,20,159,251,193,22,159,251,193,24,159,251,193,26,159,251,193,28,159,251,193,30,159,251,193,32,159,251,193,34,159,251,193,36,159,251,193,38,159,251,193,130,9,253,193,40,159,251,193,42,159,251,193,44,159,251,193,176,158,251,193,252,158,251,193,254,158,251,193,54,159,251,193,56,159,251,193,58,159,251,193,60,159,251,193,96,159,251,193,146,159,251,193,180,159,251,193,194,159,251,193,212,159,251,193,214,159,251,193,232,159,251,193,234,159,251,193,242,159,251,193,246,159,251,193,16,160,251,193,78,160,251,193,80,160,251,193,98,160,251,193,100,160,251,193,126,160,251,193,172,160,251,193,174,160,251,193,176,160,251,193,228,160,251,193,230,160,251,193,252,160,251,193,254,160,251,193,20,161,251,193,32,161,251,206,128,22,0,206,128,22,0,206,128,22,0,206,128,22,0,193,62,159,251,193,98,159,251,193,100,159,251,193,102,159,251,193,104,159,251,193,148,159,251,193,150,159,251,193,152,159,251,193,182,159,251,193,196,159,251,193,198,159,251,193,216,159,251,193,218,159,251,193,238,159,251,193,24,160,251,193,26,160,251,193,28,160,251,193,46,160,251,193,208,160,251,193,232,160,251,193,234,160,251,193,34,161,251,193,50,161,251,193,74,161,251,193,76,161,251,193,78,161,251,193,100,161,251,193,122,161,251,193,46,159,251,193,68,159,251,193,70,159,251,193,72,159,251,193,74,159,251,193,76,159,251,193,78,159,251,193,80,159,251,193,82,159,251,193,84,159,251,193,86,159,251,193,88,159,251,193,90,159,251,193,92,159,251,193,118,159,251,193,120,159,251,193,122,159,251,193,124,159,251,193,126,159,251,193,128,159,251,193,130,159,251,193,132,159,251,193,134,159,251,193,136,159,251,193,138,159,251,193,140,159,251,193,142,159,251,206,160,22,0,206,160,22,0,206,160,22,0,206,160,22,0,206,160,22,0,193,112,223,253,193,114,223,253,193,118,223,253,193,132,223,253,193,134,223,253,193,136,223,253,193,138,223,253,193,160,223,253,193,162,223,253,193,188,223,253,193,190,223,253,193,226,223,253,193,228,223,253,193,12,224,253,193,14,224,253,193,16,224,253,193,112,159,251,193,30,224,253,193,44,224,253,193,50,224,253,193,52,224,253,193,54,224,253,193,88,224,253,193,90,224,253,193,92,224,253,193,96,224,253,193,110,224,253,193,112,224,253,193,118,224,253,193,166,224,253,193,206,224,253,193,218,224,253,206,160,22,0,206,160,22,0,206,160,22,0,206,160,22,0,193,186,159,251,193,188,159,251,193,190,159,251,193,16,47,252,193,202,159,251,193,204,159,251,193,206,159,251,193,208,159,251,193,210,159,251,193,222,159,251,193,224,159,251,193,226,159,251,193,228,159,251,193,230,159,251,193,236,159,251,193,244,159,251,193,248,159,251,193,250,159,251,193,252,159,251,193,2,160,251,193,8,160,251,193,10,160,251,193,12,160,251,193,36,160,251,193,22,160,251,193,38,160,251,193,40,160,251,193,54,160,251,193,34,160,251,193,36,161,251,193,54,161,251,193,60,161,251,193,138,161,251,193,156,161,251,193,188,161,251,193,228,161,251,193,26,162,251,193,28,162,251,193,30,162,251,193,32,162,251,193,76,162,251,193,78,162,251,193,140,162,251,193,142,162,251,193,144,162,251,193,146,162,251,193,204,162,251,193,206,162,251,193,208,162,251,193,210,162,251,193,212,162,251,193,214,162,251,193,34,163,251,193,36,163,251,193,94,163,251,193,96,163,251,193,98,163,251,193,166,163,251,193,168,163,251,193,170,163,251,193,58,160,251,193,60,160,251,193,62,160,251,193,64,160,251,193,66,160,251,193,68,160,251,193,72,160,251,193,74,160,251,193,82,160,251,193,84,160,251,193,86,160,251,193,90,160,251,193,104,160,251,193,110,160,251,193,114,160,251,193,116,160,251,193,120,160,251,193,122,160,251,193,124,160,251,193,138,160,251,193,182,160,251,193,140,160,251,193,142,160,251,193,144,160,251,193,146,160,251,193,148,160,251,193,150,160,251,193,158,160,251,193,184,160,251,193,160,160,251,193,162,160,251,193,164,160,251,193,172,228,251,193,92,160,251,193,174,228,251,193,176,228,251,193,178,228,251,193,180,228,251,193,182,228,251,193,184,228,251,193,186,228,251,193,188,228,251,193,190,228,251,193,192,228,251,193,194,228,251,193,196,228,251,193,198,228,251,193,200,228,251,193,202,228,251,193,204,228,251,193,206,228,251,193,208,228,251,193,210,228,251,193,212,228,251,193,214,228,251,193,216,228,251,193,218,228,251,193,220,228,251,193,222,228,251,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,206,224,34,0,193,164,191,252,193,166,191,252,193,168,191,252,193,170,191,252,193,172,191,252,193,174,191,252,193,176,191,252,193,178,191,252,193,180,191,252,193,182,191,252,193,94,160,251,193,184,191,252,193,186,191,252,193,188,191,252,193,190,191,252,193,208,191,252,193,210,191,252,193,212,191,252,193,214,191,252,193,216,191,252,193,218,191,252,193,220,191,252,193,222,191,252,193,224,191,252,193,226,191,252,193,228,191,252,193,230,191,252,193,232,191,252,193,234,191,252,193,22,192,252,193,24,192,252,193,26,192,252,193,108,160,251,193,112,160,251,193,118,160,251,193,132,160,251,193,134,160,251,193,136,160,251,193,156,160,251,193,178,160,251,193,180,160,251,193,210,160,251,193,52,161,251,193,108,161,251,193,114,161,251,193,120,161,251,193,128,161,251,193,130,161,251,193,132,161,251,193,182,161,251,193,186,161,251,193,216,161,251,193,222,161,251,193,224,161,251,193,226,161,251,193,250,161,251,193,252,161,251,193,18,162,251,193,20,162,251,193,22,162,251,193,24,162,251,193,68,162,251,193,70,162,251,193,72,162,251,193,166,160,251,193,168,160,251,193,186,160,251,193,188,160,251,193,190,160,251,193,192,160,251,193,194,160,251,193,196,160,251,193,198,160,251,193,200,160,251,193,202,160,251,193,204,160,251,193,206,160,251,193,212,160,251,193,214,160,251,193,216,160,251,193,218,160,251,193,220,160,251,193,222,160,251,193,224,160,251,193,240,160,251,193,242,160,251,193,244,160,251,193,246,160,251,193,248,160,251,193,250,160,251,193,2,161,251,193,4,161,251,193,6,161,251,193,8,161,251,193,10,161,251,193,12,161,251,193,70,161,251,193,72,161,251,193,88,161,251,193,90,161,251,193,94,161,251,193,60,162,251,193,62,162,251,193,64,162,251,193,110,162,251,193,112,162,251,193,114,162,251,193,178,162,251,193,180,162,251,193,182,162,251,193,2,163,251,193,4,163,251,193,6,163,251,193,8,163,251,193,10,163,251,193,60,163,251,193,62,163,251,193,64,163,251,193,66,163,251,193,138,163,251,193,140,163,251,193,196,163,251,193,198,163,251,193,36,164,251,193,68,164,251,193,70,164,251,193,96,164,251,193,98,164,251,193,124,161,251,193,126,161,251,193,180,161,251,193,196,161,251,193,198,161,251,193,248,161,251,193,66,162,251,193,116,162,251,193,118,162,251,193,184,162,251,193,186,162,251,193,188,162,251,193,12,163,251,193,14,163,251,193,16,163,251,193,18,163,251,193,20,163,251,193,68,163,251,193,70,163,251,193,72,163,251,193,74,163,251,193,76,163,251,193,142,163,251,193,144,163,251,193,146,163,251,193,148,163,251,193,200,163,251,193,202,163,251,193,204,163,251,193,206,163,251,193,208,163,251,193,210,163,251,193,142,161,251,193,144,161,251,193,146,161,251,193,148,161,251,193,150,161,251,193,152,161,251,193,158,161,251,193,160,161,251,193,162,161,251,193,164,161,251,193,166,161,251,193,168,161,251,193,170,161,251,193,178,161,251,193,184,161,251,193,190,161,251,193,192,161,251,193,202,161,251,193,204,161,251,193,208,161,251,193,210,161,251,193,212,161,251,193,214,161,251,193,218,161,251,193,220,161,251,193,230,161,251,193,232,161,251,193,234,161,251,193,236,161,251,193,238,161,251,193,240,161,251,193,242,161,251,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,206,224,40,0,193,238,10,252,193,240,10,252,193,242,10,252,193,244,10,252,193,250,220,253,193,246,10,252,193,248,10,252,193,250,10,252,193,194,161,251,193,28,11,252,193,30,11,252,193,32,11,252,193,34,11,252,193,54,11,252,193,56,11,252,193,58,11,252,193,60,11,252,193,62,11,252,193,64,11,252,193,66,11,252,193,68,11,252,193,90,11,252,193,92,11,252,193,94,11,252,193,96,11,252,193,244,161,251,193,246,161,251,193,254,161,251,193,2,162,251,193,4,162,251,193,6,162,251,193,8,162,251,193,10,162,251,193,12,162,251,193,14,162,251,193,16,162,251,193,34,162,251,193,36,162,251,193,38,162,251,193,40,162,251,193,42,162,251,193,44,162,251,193,46,162,251,193,48,162,251,193,50,162,251,193,52,162,251,193,54,162,251,193,56,162,251,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,193,74,162,251,193,120,162,251,193,122,162,251,193,124,162,251,193,126,162,251,193,128,162,251,193,130,162,251,193,132,162,251,193,134,162,251,193,136,162,251,193,138,162,251,193,194,162,251,193,196,162,251,193,198,162,251,193,200,162,251,193,202,162,251,193,26,163,251,193,28,163,251,193,30,163,251,193,32,163,251,193,82,163,251,193,84,163,251,193,86,163,251,193,88,163,251,193,90,163,251,193,92,163,251,193,156,163,251,193,158,163,251,193,160,163,251,193,162,163,251,193,164,163,251,193,222,163,251,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,206,192,22,0,193,148,162,251,193,150,162,251,193,152,162,251,193,154,162,251,193,156,162,251,193,158,162,251,193,160,162,251,193,162,162,251,193,164,162,251,193,166,162,251,193,168,162,251,193,170,162,251,193,172,162,251,193,174,162,251,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,206,224,22,0,193,38,163,251,193,40,163,251,193,42,163,251,193,44,163,251,193,46,163,251,193,48,163,251,193,50,163,251,193,52,163,251,193,54,163,251,193,56,163,251,193,100,163,251,193,102,163,251,193,104,163,251,193,106,163,251,193,108,163,251,193,110,163,251,193,112,163,251,193,114,163,251,193,116,163,251,193,118,163,251,193,120,163,251,193,122,163,251,193,124,163,251,193,126,163,251,193,128,163,251,193,130,163,251,193,132,163,251,193,134,163,251,193,172,163,251,193,174,163,251,193,176,163,251,193,178,163,251,193,180,163,251,193,182,163,251,193,184,163,251,193,186,163,251,193,188,163,251,193,190,163,251,193,236,163,251,193,238,163,251,193,240,163,251,193,242,163,251,193,244,163,251,193,246,163,251,193,248,163,251,193,250,163,251,193,10,164,251,193,12,164,251,193,14,164,251,193,16,164,251,193,18,164,251,193,20,164,251,193,22,164,251,193,24,164,251,193,26,164,251,193,28,164,251,193,30,164,251,193,32,164,251,193,54,164,251,193,56,164,251,193,192,163,251,193,194,163,251,193,34,164,251,193,118,164,251,193,188,164,251,193,204,164,251,193,226,164,251,193,98,165,251,193,200,165,251,193,48,166,251,193,68,166,251,193,172,166,251,193,226,166,251,193,132,167,251,193,134,167,251,193,254,167,251,193,2,168,251,193,96,168,251,193,98,168,251,193,100,168,251,193,200,168,251,193,202,168,251,193,24,169,251,193,26,169,251,193,28,169,251,193,142,169,251,193,170,169,251,193,192,169,251,193,194,169,251,193,38,170,251,193,142,170,251,193,128,171,251,193,212,163,251,193,214,163,251,193,252,163,251,193,254,163,251,193,38,164,251,193,72,164,251,193,74,164,251,193,76,164,251,193,100,164,251,193,102,164,251,193,122,164,251,193,124,164,251,193,142,164,251,193,242,164,251,193,244,164,251,193,2,165,251,193,20,165,251,193,36,165,251,193,38,165,251,193,170,165,251,193,14,166,251,193,16,166,251,193,28,166,251,193,30,166,251,193,32,166,251,193,50,166,251,193,52,166,251,193,54,166,251,193,118,166,251,193,120,166,251,193,182,166,251,193,230,166,251,193,224,163,251,193,226,163,251,193,228,163,251,193,2,164,251,193,4,164,251,193,6,164,251,193,42,164,251,193,44,164,251,193,46,164,251,193,48,164,251,193,80,164,251,193,82,164,251,193,104,164,251,193,126,164,251,193,194,164,251,193,198,164,251,193,210,164,251,193,212,164,251,193,214,164,251,193,216,164,251,193,230,164,251,193,232,164,251,193,246,164,251,193,10,165,251,193,24,165,251,193,40,165,251,193,42,165,251,193,74,165,251,193,76,165,251,193,86,165,251,193,88,165,251,193,100,165,251,193,230,163,251,193,232,163,251,193,234,163,251,193,8,164,251,193,50,164,251,193,52,164,251,193,178,164,251,193,234,164,251,193,78,165,251,193,130,165,251,193,146,165,251,193,154,165,251,193,156,165,251,193,158,165,251,193,214,165,251,193,238,165,251,193,240,165,251,193,22,166,251,193,36,166,251,193,56,166,251,193,94,166,251,193,106,166,251,193,140,166,251,193,142,166,251,193,202,166,251,193,204,166,251,193,14,167,251,193,16,167,251,193,18,167,251,193,20,167,251,193,22,167,251,193,24,167,251,193,58,164,251,193,60,164,251,193,62,164,251,193,64,164,251,193,66,164,251,193,84,164,251,193,86,164,251,193,88,164,251,193,90,164,251,193,92,164,251,193,94,164,251,193,250,171,252,193,106,164,251,193,108,164,251,193,110,164,251,193,112,164,251,193,114,164,251,193,116,164,251,193,128,164,251,193,130,164,251,193,132,164,251,193,134,164,251,193,136,164,251,193,138,164,251,193,144,164,251,193,146,164,251,193,148,164,251,193,150,164,251,193,152,164,251,193,154,164,251,193,156,164,251,193,160,164,251,193,78,164,251,193,176,164,251,193,192,164,251,193,22,165,251,193,50,165,251,193,52,165,251,193,152,165,251,193,172,165,251,193,182,165,251,193,204,165,251,193,206,165,251,193,254,165,251,193,122,166,251,193,246,166,251,193,150,167,251,193,152,167,251,193,26,168,251,193,28,168,251,193,30,168,251,193,32,168,251,193,124,168,251,193,126,168,251,193,212,168,251,193,40,169,251,193,150,169,251,193,202,169,251,193,12,170,251,193,46,170,251,193,48,170,251,193,160,170,251,193,162,170,251,193,164,170,251,193,120,164,251,193,140,164,251,193,174,164,251,193,190,164,251,193,240,164,251,193,32,165,251,193,34,165,251,193,70,165,251,193,72,165,251,193,202,165,251,193,70,166,251,193,100,166,251,193,116,166,251,193,174,166,251,193,176,166,251,193,178,166,251,193,180,166,251,193,228,166,251,193,58,167,251,193,60,167,251,193,136,167,251,193,138,167,251,193,4,168,251,193,6,168,251,193,8,168,251,193,102,168,251,193,104,168,251,193,106,168,251,193,108,168,251,193,110,168,251,193,204,168,251,193,206,168,251,193,88,93,252,193,90,93,252,193,92,93,252,193,94,93,252,193,96,93,252,193,98,93,252,193,116,93,252,193,118,93,252,193,120,93,252,193,122,93,252,193,124,93,252,193,126,93,252,193,134,93,252,193,136,93,252,193,138,93,252,193,140,93,252,193,142,93,252,193,144,93,252,193,160,93,252,193,162,93,252,193,164,93,252,193,176,93,252,193,180,93,252,193,182,93,252,193,184,93,252,193,186,93,252,193,188,93,252,193,194,93,252,193,196,93,252,193,158,164,251,193,198,93,252,193,200,93,252,193,162,164,251,193,164,164,251,193,166,164,251,193,168,164,251,193,170,164,251,193,172,164,251,193,180,164,251,193,182,164,251,193,184,164,251,193,186,164,251,193,196,164,251,193,200,164,251,193,202,164,251,193,206,164,251,193,208,164,251,193,218,164,251,193,220,164,251,193,222,164,251,193,224,164,251,193,228,164,251,193,236,164,251,193,238,164,251,193,122,94,252,193,248,164,251,193,250,164,251,193,252,164,251,193,254,164,251,193,4,165,251,193,6,165,251,193,8,165,251,193,12,165,251,193,14,165,251,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,193,68,165,251,193,220,37,252,193,222,37,252,193,224,37,252,193,226,37,252,193,228,37,252,193,230,37,252,193,118,165,251,193,122,165,251,193,140,165,251,193,142,165,251,193,144,165,251,193,174,165,251,193,176,165,251,193,184,165,251,193,186,165,251,193,208,165,251,193,192,252,252,193,210,165,251,193,212,165,251,193,236,165,251,193,2,166,251,193,18,166,251,193,20,166,251,193,34,166,251,193,78,166,251,193,88,166,251,193,102,166,251,193,104,166,251,193,124,166,251,193,126,166,251,193,128,166,251,193,130,166,251,193,132,166,251,193,134,166,251,206,0,23,0,206,0,23,0,206,0,23,0,206,0,23,0,193,124,165,251,193,126,165,251,193,128,165,251,193,132,165,251,193,134,165,251,193,136,165,251,193,138,165,251,193,148,165,251,193,150,165,251,193,160,165,251,193,162,165,251,193,164,165,251,193,166,165,251,193,168,165,251,193,178,165,251,193,188,165,251,193,190,165,251,193,192,165,251,193,194,165,251,193,196,165,251,193,216,165,251,193,218,165,251,193,220,165,251,193,222,165,251,193,224,165,251,193,226,165,251,193,228,165,251,193,230,165,251,193,232,165,251,193,234,165,251,193,242,165,251,193,244,165,251,193,246,165,251,193,248,165,251,193,250,165,251,193,252,165,251,193,4,166,251,193,6,166,251,193,8,166,251,193,10,166,251,193,12,166,251,193,24,166,251,193,26,166,251,193,38,166,251,193,40,166,251,193,42,166,251,193,44,166,251,193,46,166,251,193,58,166,251,193,60,166,251,193,62,166,251,193,64,166,251,193,66,166,251,193,72,166,251,193,76,166,251,193,74,166,251,193,80,166,251,193,82,166,251,193,84,166,251,193,86,166,251,193,90,166,251,193,92,166,251,193,96,166,251,193,98,166,251,193,108,166,251,193,110,166,251,193,112,166,251,193,114,166,251,193,144,166,251,193,146,166,251,193,148,166,251,193,150,166,251,193,152,166,251,193,154,166,251,193,156,166,251,193,158,166,251,193,160,166,251,193,162,166,251,193,164,166,251,193,166,166,251,193,168,166,251,193,170,166,251,193,206,166,251,193,208,166,251,193,210,166,251,193,212,166,251,193,214,166,251,193,216,166,251,193,218,166,251,193,220,166,251,193,222,166,251,193,224,166,251,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,0,23,0,206,0,23,0,206,0,23,0,206,0,23,0,206,0,23,0,193,248,166,251,193,250,166,251,193,252,166,251,193,254,166,251,193,2,167,251,193,4,167,251,193,6,167,251,193,8,167,251,193,10,167,251,193,68,167,251,193,70,167,251,193,72,167,251,193,74,167,251,193,76,167,251,193,78,167,251,193,12,167,251,193,80,167,251,193,154,167,251,193,156,167,251,193,158,167,251,193,160,167,251,193,34,168,251,206,64,23,0,206,64,23,0,206,64,23,0,206,64,23,0,206,64,23,0,193,232,166,251,193,234,166,251,193,236,166,251,193,238,166,251,193,240,166,251,193,242,166,251,193,244,166,251,193,62,167,251,193,64,167,251,193,66,167,251,193,140,167,251,193,142,167,251,193,144,167,251,193,146,167,251,193,148,167,251,193,10,168,251,193,12,168,251,193,14,168,251,193,16,168,251,193,18,168,251,193,20,168,251,193,22,168,251,193,24,168,251,193,112,168,251,193,114,168,251,193,116,168,251,193,118,168,251,193,120,168,251,193,122,168,251,193,210,168,251,193,34,169,251,193,36,169,251,193,26,167,251,193,28,167,251,193,82,167,251,193,84,167,251,193,182,167,251,193,184,167,251,193,186,167,251,193,188,167,251,193,190,167,251,193,192,167,251,193,50,168,251,193,52,168,251,193,54,168,251,193,56,168,251,193,58,168,251,193,138,168,251,193,220,168,251,193,222,168,251,193,224,168,251,193,56,169,251,193,58,169,251,193,110,169,251,193,112,169,251,193,156,169,251,193,206,169,251,193,222,169,251,193,8,170,251,193,22,170,251,193,86,170,251,193,88,170,251,193,90,170,251,193,92,170,251,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,206,32,23,0,193,86,167,251,193,88,167,251,193,90,167,251,193,92,167,251,193,94,167,251,193,96,167,251,193,98,167,251,193,100,167,251,193,102,167,251,193,104,167,251,193,106,167,251,193,108,167,251,193,110,167,251,193,112,167,251,193,114,167,251,193,116,167,251,193,118,167,251,193,120,167,251,193,122,167,251,193,124,167,251,193,126,167,251,193,128,167,251,193,130,167,251,193,194,167,251,193,196,167,251,193,198,167,251,193,200,167,251,193,202,167,251,193,204,167,251,193,206,167,251,193,208,167,251,193,210,167,251,193,212,167,251,193,214,167,251,193,216,167,251,193,218,167,251,193,220,167,251,193,222,167,251,193,224,167,251,193,226,167,251,193,228,167,251,193,230,167,251,193,232,167,251,193,234,167,251,193,236,167,251,193,238,167,251,193,240,167,251,193,242,167,251,193,244,167,251,193,246,167,251,193,248,167,251,193,250,167,251,193,252,167,251,193,60,168,251,206,64,23,0,206,64,23,0,206,64,23,0,206,64,23,0,206,64,23,0,193,36,168,251,193,38,168,251,193,40,168,251,193,42,168,251,193,44,168,251,193,46,168,251,193,48,168,251,193,128,168,251,193,130,168,251,193,132,168,251,193,134,168,251,193,136,168,251,193,214,168,251,193,42,169,251,193,216,168,251,193,218,168,251,193,44,169,251,193,46,169,251,193,48,169,251,193,50,169,251,193,52,169,251,193,54,169,251,193,106,169,251,193,108,169,251,193,152,169,251,193,154,169,251,193,204,169,251,193,62,168,251,193,64,168,251,193,66,168,251,193,68,168,251,193,70,168,251,193,72,168,251,193,74,168,251,193,76,168,251,193,78,168,251,193,80,168,251,193,82,168,251,193,84,168,251,193,186,15,253,193,86,168,251,193,88,168,251,193,90,168,251,193,92,168,251,193,94,168,251,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,96,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,206,128,23,0,193,198,168,251,193,20,169,251,193,22,169,251,193,60,169,251,193,62,169,251,193,64,169,251,193,66,169,251,193,68,169,251,193,70,169,251,193,72,169,251,193,74,169,251,193,76,169,251,193,78,169,251,193,80,169,251,193,82,169,251,193,84,169,251,193,86,169,251,193,88,169,251,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,193,208,168,251,193,30,169,251,193,32,169,251,193,90,169,251,193,92,169,251,193,94,169,251,193,172,169,251,193,196,169,251,193,198,169,251,193,240,169,251,193,246,169,251,193,40,170,251,193,42,170,251,193,44,170,251,193,144,170,251,193,146,170,251,193,148,170,251,193,150,170,251,193,144,171,251,193,146,171,251,193,148,171,251,193,150,171,251,193,152,171,251,193,154,171,251,193,156,171,251,193,158,171,251,193,206,172,251,193,208,172,251,193,210,172,251,193,212,172,251,193,214,172,251,193,216,172,251,193,38,169,251,193,96,169,251,193,98,169,251,193,100,169,251,193,102,169,251,193,104,169,251,193,144,169,251,193,146,169,251,193,148,169,251,193,200,169,251,193,216,169,251,193,152,170,251,193,154,170,251,193,156,170,251,193,158,170,251,193,160,171,251,193,162,171,251,193,164,171,251,193,166,171,251,193,168,171,251,193,170,171,251,193,172,171,251,193,174,171,251,193,176,171,251,193,178,171,251,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,206,160,23,0,193,14,16,253,193,138,169,251,193,140,169,251,193,158,169,251,193,160,169,251,193,162,169,251,193,18,16,253,193,164,169,251,193,166,169,251,193,168,169,251,193,174,169,251,193,176,169,251,193,178,169,251,193,180,169,251,193,182,169,251,193,184,169,251,193,186,169,251,193,188,169,251,193,190,169,251,193,208,169,251,193,210,169,251,193,212,169,251,193,176,215,253,193,214,169,251,193,224,169,251,193,226,169,251,193,228,169,251,193,218,169,251,193,220,169,251,193,234,169,251,193,252,169,251,193,254,169,251,193,4,170,251,193,6,170,251,193,14,170,251,193,16,170,251,193,18,170,251,193,20,170,251,193,50,170,251,193,52,170,251,193,54,170,251,193,56,170,251,193,58,170,251,193,60,170,251,193,62,170,251,193,64,170,251,193,66,170,251,193,68,170,251,193,70,170,251,193,72,170,251,193,74,170,251,193,76,170,251,193,78,170,251,193,80,170,251,193,82,170,251,193,84,170,251,193,168,170,251,193,170,170,251,193,172,170,251,193,230,169,251,193,40,16,253,193,232,169,251,193,236,169,251,193,238,169,251,193,242,169,251,193,244,169,251,193,248,169,251,193,250,169,251,193,2,170,251,193,10,170,251,193,24,170,251,193,26,170,251,193,28,170,251,193,30,170,251,193,32,170,251,193,34,170,251,193,36,170,251,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,193,94,170,251,193,252,170,251,193,254,170,251,193,2,171,251,193,4,171,251,193,6,171,251,193,8,171,251,193,10,171,251,193,12,171,251,193,14,171,251,193,16,171,251,193,18,171,251,193,58,172,251,193,60,172,251,193,62,172,251,193,64,172,251,193,66,172,251,193,68,172,251,193,70,172,251,193,72,172,251,193,74,172,251,193,76,172,251,193,78,172,251,193,80,172,251,193,82,172,251,193,84,172,251,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,192,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,193,166,170,251,193,180,171,251,193,182,171,251,193,184,171,251,193,186,171,251,193,188,171,251,193,190,171,251,193,192,171,251,193,194,171,251,193,196,171,251,193,248,172,251,193,250,172,251,193,252,172,251,193,254,172,251,193,2,173,251,193,4,173,251,193,6,173,251,193,8,173,251,193,10,173,251,193,12,173,251,193,116,174,251,193,118,174,251,193,120,174,251,193,122,174,251,193,124,174,251,193,126,174,251,193,128,174,251,193,130,174,251,206,224,24,0,206,224,24,0,206,224,24,0,206,224,24,0,193,174,170,251,193,176,170,251,193,178,170,251,193,180,170,251,193,182,170,251,193,184,170,251,193,186,170,251,193,188,170,251,193,190,170,251,193,192,170,251,193,194,170,251,193,196,170,251,193,198,170,251,193,200,170,251,193,202,170,251,193,204,170,251,193,206,170,251,193,208,170,251,193,210,170,251,193,212,170,251,193,214,170,251,193,216,170,251,193,218,170,251,193,220,170,251,193,222,170,251,193,224,170,251,193,226,170,251,193,228,170,251,193,230,170,251,193,232,170,251,193,234,170,251,193,236,170,251,193,238,170,251,193,240,170,251,193,242,170,251,193,244,170,251,193,246,170,251,193,248,170,251,193,250,170,251,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,206,224,23,0,193,86,172,251,193,130,171,251,193,132,171,251,193,134,171,251,193,136,171,251,193,138,171,251,193,140,171,251,193,192,172,251,193,194,172,251,193,196,172,251,193,198,172,251,193,200,172,251,193,202,172,251,193,204,172,251,193,48,174,251,193,50,174,251,193,52,174,251,193,54,174,251,193,56,174,251,193,58,174,251,193,60,174,251,193,62,174,251,193,166,175,251,193,168,175,251,193,170,175,251,193,172,175,251,193,174,175,251,193,176,175,251,193,178,175,251,193,180,175,251,193,182,175,251,193,184,175,251,193,156,177,251,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,206,0,24,0,193,88,172,251,193,90,172,251,193,92,172,251,193,94,172,251,193,96,172,251,193,98,172,251,193,100,172,251,193,102,172,251,193,104,172,251,193,106,172,251,193,108,172,251,193,110,172,251,193,112,172,251,193,114,172,251,193,116,172,251,193,118,172,251,193,120,172,251,193,122,172,251,193,124,172,251,193,126,172,251,193,128,172,251,193,130,172,251,193,132,172,251,193,134,172,251,193,136,172,251,193,138,172,251,193,140,172,251,193,142,172,251,193,144,172,251,193,146,172,251,193,148,172,251,193,150,172,251,193,152,172,251,193,154,172,251,193,156,172,251,193,158,172,251,193,160,172,251,193,162,172,251,193,164,172,251,193,166,172,251,193,168,172,251,193,170,172,251,193,172,172,251,193,174,172,251,193,176,172,251,193,178,172,251,193,180,172,251,193,182,172,251,193,184,172,251,193,186,172,251,193,188,172,251,193,190,172,251,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,206,32,24,0,193,88,174,251,193,90,174,251,193,92,174,251,193,94,174,251,193,96,174,251,193,98,174,251,193,100,174,251,193,102,174,251,193,104,174,251,193,106,174,251,193,108,174,251,193,110,174,251,193,112,174,251,193,114,174,251,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,206,64,24,0,193,132,174,251,193,134,174,251,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,206,96,24,0,193,232,174,251,193,234,174,251,193,236,174,251,193,238,174,251,193,240,174,251,193,242,174,251,193,244,174,251,193,246,174,251,193,248,174,251,193,250,174,251,193,252,174,251,193,254,174,251,193,178,173,251,193,2,175,251,193,4,175,251,193,6,175,251,193,146,176,251,193,148,176,251,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,128,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,193,64,174,251,193,66,174,251,193,68,174,251,193,70,174,251,193,72,174,251,193,74,174,251,193,76,174,251,193,78,174,251,193,80,174,251,193,82,174,251,193,84,174,251,193,86,174,251,193,186,175,251,193,188,175,251,193,190,175,251,193,192,175,251,193,194,175,251,193,196,175,251,193,198,175,251,193,200,175,251,193,202,175,251,193,204,175,251,193,172,177,251,193,174,177,251,193,176,177,251,193,178,177,251,193,180,177,251,193,182,177,251,193,184,177,251,193,186,177,251,193,188,177,251,193,190,177,251,193,136,174,251,193,138,174,251,193,140,174,251,193,142,174,251,193,144,174,251,193,146,174,251,193,148,174,251,193,150,174,251,193,152,174,251,193,154,174,251,193,156,174,251,193,158,174,251,193,160,174,251,193,162,174,251,193,164,174,251,193,166,174,251,193,168,174,251,193,170,174,251,193,172,174,251,193,174,174,251,193,176,174,251,193,178,174,251,193,180,174,251,193,182,174,251,193,184,174,251,193,186,174,251,193,188,174,251,193,190,174,251,193,192,174,251,193,194,174,251,193,196,174,251,193,198,174,251,193,200,174,251,193,202,174,251,193,204,174,251,193,206,174,251,193,208,174,251,193,210,174,251,193,212,174,251,193,214,174,251,193,216,174,251,193,218,174,251,193,220,174,251,193,222,174,251,193,224,174,251,193,226,174,251,193,228,174,251,193,230,174,251,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,160,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,206,192,24,0,193,192,177,251,193,194,177,251,193,196,177,251,193,198,177,251,193,200,177,251,193,202,177,251,193,204,177,251,193,206,177,251,193,208,177,251,193,210,177,251,193,212,177,251,193,214,177,251,193,216,177,251,193,218,177,251,193,220,177,251,193,222,177,251,193,224,177,251,193,226,177,251,193,228,177,251,193,230,177,251,206,224,24,0,206,224,24,0,206,224,24,0,206,224,24,0,206,224,24,0,206,224,24,0,206,224,24,0,193,234,177,251,193,236,177,251,193,238,177,251,193,240,177,251,193,242,177,251,193,244,177,251,193,246,177,251,193,248,177,251,193,250,177,251,193,190,179,251,193,192,179,251,193,194,179,251,193,196,179,251,193,198,179,251,193,200,179,251,193,202,179,251,193,204,179,251,193,206,179,251,193,208,179,251,193,210,179,251,193,212,179,251,206,0,26,0,206,0,26,0,206,0,26,0,206,0,26,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,0,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,193,150,176,251,193,152,176,251,193,154,176,251,193,156,176,251,193,158,176,251,193,160,176,251,193,162,176,251,193,164,176,251,193,166,176,251,193,168,176,251,193,170,176,251,193,172,176,251,193,174,176,251,193,176,176,251,193,178,176,251,193,180,176,251,193,182,176,251,193,184,176,251,193,186,176,251,193,188,176,251,193,190,176,251,193,192,176,251,193,194,176,251,193,196,176,251,193,198,176,251,193,200,176,251,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,32,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,193,158,177,251,193,160,177,251,193,162,177,251,193,164,177,251,193,166,177,251,193,168,177,251,193,170,177,251,193,94,179,251,193,96,179,251,193,98,179,251,193,100,179,251,193,102,179,251,193,104,179,251,193,106,179,251,193,108,179,251,193,110,179,251,193,112,179,251,193,114,179,251,193,116,179,251,193,244,180,251,193,246,180,251,193,248,180,251,193,250,180,251,193,252,180,251,193,254,180,251,193,2,181,251,193,4,181,251,193,6,181,251,193,8,181,251,193,10,181,251,193,12,181,251,193,140,182,251,193,232,177,251,193,146,179,251,193,148,179,251,193,150,179,251,193,152,179,251,193,154,179,251,193,156,179,251,193,158,179,251,193,160,179,251,193,162,179,251,193,164,179,251,193,166,179,251,193,168,179,251,193,170,179,251,193,172,179,251,193,174,179,251,193,176,179,251,193,178,179,251,193,180,179,251,193,182,179,251,193,184,179,251,193,186,179,251,193,188,179,251,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,64,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,193,108,178,251,193,140,181,251,193,142,181,251,193,144,181,251,193,146,181,251,193,242,182,251,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,206,96,25,0,193,46,180,251,193,48,180,251,193,50,180,251,193,52,180,251,193,54,180,251,193,56,180,251,193,58,180,251,193,60,180,251,193,62,180,251,193,64,180,251,193,66,180,251,193,68,180,251,193,70,180,251,193,72,180,251,193,74,180,251,193,76,180,251,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,128,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,193,118,179,251,193,120,179,251,193,122,179,251,193,124,179,251,193,126,179,251,193,128,179,251,193,130,179,251,193,132,179,251,193,134,179,251,193,136,179,251,193,138,179,251,193,140,179,251,193,142,179,251,193,144,179,251,193,14,181,251,193,16,181,251,193,18,181,251,193,20,181,251,193,22,181,251,193,24,181,251,193,26,181,251,193,28,181,251,193,30,181,251,193,32,181,251,193,158,182,251,193,160,182,251,193,162,182,251,193,164,182,251,193,166,182,251,193,168,182,251,193,170,182,251,193,172,182,251,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,160,25,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,32,26,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,192,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,224,25,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,0,26,0,206,0,26,0,206,0,26,0,206,0,26,0,206,0,26,0,193,230,182,251,193,232,182,251,193,234,182,251,193,236,182,251,193,238,182,251,193,240,182,251,193,110,184,251,193,112,184,251,193,114,184,251,193,116,184,251,193,118,184,251,193,120,184,251,193,122,184,251,193,124,184,251,193,126,184,251,193,118,185,251,193,120,185,251,193,122,185,251,193,44,186,251,193,46,186,251,193,48,186,251,193,50,186,251,193,214,186,251,193,216,186,251,193,218,186,251,193,220,186,251,193,84,187,251,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,64,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,206,96,26,0,193,76,183,251,193,78,183,251,193,80,183,251,193,82,183,251,193,84,183,251,193,86,183,251,193,88,183,251,193,90,183,251,193,92,183,251,193,94,183,251,193,96,183,251,193,98,183,251,193,100,183,251,193,102,183,251,193,192,184,251,193,194,184,251,193,196,184,251,193,166,185,251,193,168,185,251,193,170,185,251,193,172,185,251,193,174,185,251,193,176,185,251,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,128,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,193,232,196,252,193,194,196,252,193,234,196,252,193,236,196,252,193,238,196,252,193,240,196,252,193,242,196,252,193,244,196,252,193,246,196,252,193,248,196,252,193,250,196,252,193,252,196,252,193,138,182,251,193,254,196,252,193,2,197,252,193,4,197,252,193,6,197,252,193,8,197,252,193,10,197,252,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,193,142,182,251,193,144,182,251,193,146,182,251,193,148,182,251,193,150,182,251,193,152,182,251,193,154,182,251,193,156,182,251,193,44,184,251,193,46,184,251,193,48,184,251,193,50,184,251,193,52,184,251,193,54,184,251,193,66,185,251,193,68,185,251,193,70,185,251,193,72,185,251,193,74,185,251,193,76,185,251,193,78,185,251,193,80,185,251,193,82,185,251,193,16,186,251,193,18,186,251,193,20,186,251,193,168,186,251,193,170,186,251,193,172,186,251,193,174,186,251,193,176,186,251,193,60,187,251,193,174,182,251,193,176,182,251,193,178,182,251,193,56,184,251,193,58,184,251,193,60,184,251,193,62,184,251,193,64,184,251,193,66,184,251,193,68,184,251,193,84,185,251,193,86,185,251,193,88,185,251,193,90,185,251,193,92,185,251,193,94,185,251,193,22,186,251,193,24,186,251,193,26,186,251,193,178,186,251,193,180,186,251,193,182,186,251,193,184,186,251,193,186,186,251,193,188,186,251,193,190,186,251,193,64,187,251,193,66,187,251,193,68,187,251,193,128,187,251,193,130,187,251,193,132,187,251,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,206,160,26,0,193,70,184,251,193,72,184,251,193,74,184,251,193,76,184,251,193,78,184,251,193,80,184,251,193,82,184,251,193,84,184,251,193,86,184,251,193,88,184,251,193,90,184,251,193,92,184,251,193,94,184,251,193,96,184,251,193,98,184,251,193,100,184,251,193,102,184,251,193,104,184,251,193,106,184,251,193,108,184,251,206,64,27,0,206,64,27,0,206,64,27,0,206,64,27,0,206,64,27,0,206,64,27,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,206,192,26,0,193,128,184,251,193,130,184,251,193,132,184,251,193,134,184,251,193,136,184,251,193,138,184,251,193,140,184,251,193,124,185,251,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,224,26,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,0,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,32,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,193,118,213,252,193,120,213,252,193,122,213,252,193,124,213,252,193,8,213,252,193,126,213,252,193,128,213,252,193,130,213,252,193,132,213,252,193,134,213,252,193,136,213,252,193,138,213,252,193,140,213,252,193,142,213,252,193,250,213,252,193,144,213,252,193,146,213,252,193,148,213,252,193,150,213,252,193,152,213,252,193,154,213,252,193,156,213,252,193,30,235,251,193,64,185,251,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,64,27,0,206,64,27,0,206,64,27,0,206,64,27,0,206,64,27,0,193,28,186,251,193,30,186,251,193,32,186,251,193,34,186,251,193,36,186,251,193,38,186,251,193,40,186,251,193,42,186,251,193,192,186,251,193,194,186,251,193,196,186,251,193,198,186,251,193,200,186,251,193,202,186,251,193,204,186,251,193,206,186,251,193,208,186,251,193,210,186,251,193,212,186,251,193,70,187,251,193,72,187,251,193,74,187,251,193,76,187,251,193,78,187,251,193,80,187,251,193,82,187,251,193,138,187,251,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,206,96,27,0,193,52,186,251,193,54,186,251,193,56,186,251,193,58,186,251,193,60,186,251,193,62,186,251,193,64,186,251,193,66,186,251,193,68,186,251,193,70,186,251,193,72,186,251,193,74,186,251,193,222,186,251,193,224,186,251,193,226,186,251,193,228,186,251,193,88,187,251,193,90,187,251,193,92,187,251,193,152,187,251,193,154,187,251,193,156,187,251,193,158,187,251,193,178,185,251,193,76,186,251,193,78,186,251,193,230,186,251,193,232,186,251,193,234,186,251,193,236,186,251,193,238,186,251,193,94,187,251,193,96,187,251,193,98,187,251,193,212,187,251,193,214,187,251,193,58,188,251,193,122,188,251,193,124,188,251,193,154,188,251,193,156,188,251,193,158,188,251,193,200,188,251,193,254,188,251,193,2,189,251,193,4,189,251,193,46,189,251,193,92,189,251,193,152,189,251,193,208,189,251,193,6,190,251,193,8,190,251,193,118,190,251,193,190,190,251,193,212,190,251,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,128,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,160,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,193,166,186,251,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,206,192,27,0,193,100,187,251,193,102,187,251,193,104,187,251,193,106,187,251,193,108,187,251,193,110,187,251,193,112,187,251,193,114,187,251,193,116,187,251,193,118,187,251,193,120,187,251,193,122,187,251,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,193,62,187,251,193,124,187,251,193,126,187,251,193,188,187,251,193,190,187,251,193,236,187,251,193,238,187,251,193,16,188,251,193,44,188,251,193,88,188,251,193,110,188,251,193,236,188,251,193,238,188,251,193,22,189,251,193,24,189,251,193,66,189,251,193,68,189,251,193,118,189,251,193,182,189,251,193,242,189,251,193,92,190,251,193,94,190,251,193,96,190,251,193,160,190,251,193,22,191,251,193,72,191,251,193,126,191,251,193,146,191,251,193,60,192,251,193,52,193,251,193,54,193,251,193,56,193,251,193,86,187,251,193,146,187,251,193,148,187,251,193,150,187,251,193,194,188,251,193,196,188,251,193,246,188,251,193,248,188,251,193,250,188,251,193,36,189,251,193,84,189,251,193,138,189,251,193,190,189,251,193,192,189,251,193,194,189,251,193,250,189,251,193,64,190,251,193,66,190,251,193,110,190,251,193,112,190,251,193,102,191,251,193,130,191,251,193,136,191,251,193,210,191,251,193,212,191,251,193,214,191,251,193,216,191,251,193,218,191,251,193,72,192,251,193,74,192,251,193,86,193,251,193,88,193,251,193,134,187,251,193,136,187,251,193,192,187,251,193,194,187,251,193,196,187,251,193,66,188,251,193,112,188,251,193,114,188,251,193,142,188,251,193,184,188,251,193,186,188,251,193,240,188,251,193,242,188,251,193,26,189,251,193,28,189,251,193,30,189,251,193,32,189,251,193,34,189,251,193,70,189,251,193,72,189,251,193,74,189,251,193,76,189,251,193,78,189,251,193,120,189,251,193,122,189,251,193,124,189,251,193,126,189,251,193,128,189,251,193,130,189,251,193,132,189,251,193,134,189,251,193,184,189,251,193,140,187,251,193,142,187,251,193,144,187,251,193,198,187,251,193,200,187,251,193,202,187,251,193,204,187,251,193,240,187,251,193,38,188,251,193,40,188,251,193,42,188,251,193,46,188,251,193,48,188,251,193,54,188,251,193,90,188,251,193,144,188,251,193,188,188,251,193,190,188,251,193,192,188,251,193,244,188,251,193,80,189,251,193,82,189,251,193,136,189,251,193,188,189,251,193,246,189,251,193,248,189,251,193,58,190,251,193,60,190,251,193,62,190,251,193,108,190,251,193,130,190,251,193,174,190,251,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,206,224,27,0,193,216,187,251,193,218,187,251,193,220,187,251,193,222,187,251,193,224,187,251,193,226,187,251,193,228,187,251,193,230,187,251,193,232,187,251,193,234,187,251,193,246,187,251,193,248,187,251,193,250,187,251,193,252,187,251,193,254,187,251,193,2,188,251,193,4,188,251,193,6,188,251,193,8,188,251,193,10,188,251,193,12,188,251,193,14,188,251,193,22,188,251,193,24,188,251,193,26,188,251,193,28,188,251,193,30,188,251,193,206,187,251,193,208,187,251,193,210,187,251,193,242,187,251,193,244,187,251,193,18,188,251,193,20,188,251,193,56,188,251,193,76,188,251,193,78,188,251,193,80,188,251,193,82,188,251,193,92,188,251,193,94,188,251,193,96,188,251,193,98,188,251,193,100,188,251,193,116,188,251,193,118,188,251,193,120,188,251,193,146,188,251,193,148,188,251,193,150,188,251,193,152,188,251,193,198,188,251,193,252,188,251,193,38,189,251,193,40,189,251,193,42,189,251,193,44,189,251,193,86,189,251,193,88,189,251,193,32,188,251,193,34,188,251,193,36,188,251,193,50,188,251,193,52,188,251,193,60,188,251,193,62,188,251,193,64,188,251,193,68,188,251,193,70,188,251,193,72,188,251,193,74,188,251,193,84,188,251,193,86,188,251,193,102,188,251,193,104,188,251,193,106,188,251,193,108,188,251,193,126,188,251,193,128,188,251,193,130,188,251,193,132,188,251,193,134,188,251,193,136,188,251,193,138,188,251,193,140,188,251,206,0,28,0,206,0,28,0,206,0,28,0,206,0,28,0,206,0,28,0,206,0,28,0,206,0,28,0,206,0,28,0,193,202,188,251,193,204,188,251,193,206,188,251,193,208,188,251,193,210,188,251,193,212,188,251,193,214,188,251,193,216,188,251,193,218,188,251,193,220,188,251,193,222,188,251,193,224,188,251,193,226,188,251,193,228,188,251,193,230,188,251,193,232,188,251,193,234,188,251,193,6,189,251,193,8,189,251,193,10,189,251,193,12,189,251,193,14,189,251,193,16,189,251,193,18,189,251,193,20,189,251,193,48,189,251,193,50,189,251,193,52,189,251,193,54,189,251,193,56,189,251,193,58,189,251,193,60,189,251,193,62,189,251,193,64,189,251,193,94,189,251,193,96,189,251,193,98,189,251,193,100,189,251,193,102,189,251,193,104,189,251,193,106,189,251,193,108,189,251,193,110,189,251,193,112,189,251,193,114,189,251,193,116,189,251,193,154,189,251,193,156,189,251,193,158,189,251,193,160,189,251,193,162,189,251,193,164,189,251,193,166,189,251,193,168,189,251,193,170,189,251,193,172,189,251,193,174,189,251,193,176,189,251,193,140,189,251,193,142,189,251,193,144,189,251,193,146,189,251,193,148,189,251,193,150,189,251,193,90,189,251,193,196,189,251,193,198,189,251,193,200,189,251,193,202,189,251,193,204,189,251,193,206,189,251,193,252,189,251,193,254,189,251,193,2,190,251,193,68,190,251,193,4,190,251,193,114,190,251,193,132,190,251,193,116,190,251,193,158,190,251,193,162,190,251,193,164,190,251,193,166,190,251,193,168,190,251,193,184,190,251,193,186,190,251,193,188,190,251,193,204,190,251,193,206,190,251,193,208,190,251,193,178,189,251,193,180,189,251,193,212,189,251,193,214,189,251,193,216,189,251,193,218,189,251,193,220,189,251,193,222,189,251,193,10,190,251,193,224,189,251,193,226,189,251,193,228,189,251,193,230,189,251,193,232,189,251,193,234,189,251,193,236,189,251,193,238,189,251,193,240,189,251,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,206,32,28,0,193,186,189,251,193,244,189,251,193,54,190,251,193,56,190,251,193,98,190,251,193,100,190,251,193,102,190,251,193,104,190,251,193,106,190,251,193,230,190,251,193,24,191,251,193,58,191,251,193,60,191,251,193,74,191,251,193,76,191,251,193,92,191,251,193,94,191,251,193,110,191,251,193,154,191,251,193,174,191,251,193,206,191,251,193,62,192,251,193,64,192,251,193,66,192,251,193,66,193,251,193,68,193,251,193,70,193,251,193,72,193,251,193,140,194,251,193,142,194,251,193,144,194,251,193,146,194,251,206,64,28,0,206,64,28,0,206,64,28,0,206,64,28,0,193,170,190,251,193,172,190,251,193,176,190,251,193,178,190,251,193,180,190,251,193,182,190,251,193,192,190,251,193,194,190,251,193,196,190,251,193,198,190,251,193,200,190,251,193,216,190,251,193,218,190,251,193,220,190,251,193,222,190,251,193,224,190,251,193,226,190,251,193,228,190,251,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,193,202,190,251,193,232,190,251,193,234,190,251,193,26,191,251,193,28,191,251,193,30,191,251,193,32,191,251,193,96,191,251,193,98,191,251,193,100,191,251,193,128,191,251,193,134,191,251,193,152,191,251,193,164,191,251,193,208,191,251,193,68,192,251,193,70,192,251,193,74,193,251,193,76,193,251,193,78,193,251,193,80,193,251,193,82,193,251,193,84,193,251,193,152,194,251,193,154,194,251,193,156,194,251,193,158,194,251,193,160,194,251,193,162,194,251,193,164,194,251,193,166,194,251,193,168,194,251,193,210,190,251,193,236,190,251,193,238,190,251,193,240,190,251,193,34,191,251,193,36,191,251,193,38,191,251,193,40,191,251,193,62,191,251,193,78,191,251,193,80,191,251,193,156,191,251,193,158,191,251,193,160,191,251,193,166,191,251,193,220,191,251,193,176,191,251,193,178,191,251,193,180,191,251,193,182,191,251,193,184,191,251,193,186,191,251,193,188,191,251,193,222,191,251,193,224,191,251,193,226,191,251,193,228,191,251,193,230,191,251,193,232,191,251,193,234,191,251,193,236,191,251,193,76,192,251,193,214,190,251,193,242,190,251,193,244,190,251,193,190,191,251,193,192,191,251,193,194,191,251,193,10,192,251,193,12,192,251,193,14,192,251,193,190,192,251,193,192,192,251,193,194,192,251,193,196,192,251,193,198,192,251,193,200,192,251,193,202,192,251,193,204,192,251,193,206,192,251,193,252,193,251,193,254,193,251,193,2,194,251,193,4,194,251,193,6,194,251,193,8,194,251,193,10,194,251,193,12,194,251,193,14,194,251,193,16,194,251,193,18,194,251,193,20,194,251,193,22,194,251,193,24,194,251,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,206,96,28,0,193,42,191,251,193,44,191,251,193,46,191,251,193,48,191,251,193,50,191,251,193,52,191,251,193,54,191,251,193,56,191,251,193,64,191,251,193,66,191,251,193,68,191,251,193,70,191,251,193,82,191,251,193,84,191,251,193,86,191,251,193,88,191,251,193,90,191,251,193,104,191,251,193,106,191,251,193,112,191,251,193,114,191,251,193,116,191,251,193,118,191,251,193,120,191,251,193,122,191,251,193,124,191,251,193,132,191,251,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,193,108,191,251,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,193,138,191,251,193,140,191,251,193,144,191,251,193,148,191,251,193,150,191,251,193,168,191,251,193,170,191,251,193,172,191,251,193,196,191,251,193,198,191,251,193,200,191,251,193,202,191,251,193,204,191,251,193,16,192,251,193,18,192,251,193,20,192,251,193,22,192,251,193,24,192,251,193,26,192,251,193,28,192,251,193,30,192,251,193,32,192,251,193,34,192,251,193,36,192,251,193,38,192,251,193,40,192,251,193,42,192,251,193,44,192,251,193,46,192,251,193,48,192,251,193,50,192,251,193,52,192,251,193,36,78,253,193,38,78,253,193,40,78,253,193,42,78,253,193,44,78,253,193,46,78,253,193,48,78,253,193,50,78,253,193,56,78,253,193,58,78,253,193,60,78,253,193,62,78,253,193,64,78,253,193,66,78,253,193,68,78,253,193,70,78,253,193,74,78,253,193,76,78,253,193,78,78,253,193,142,191,251,193,204,97,252,193,86,78,253,193,88,78,253,193,90,78,253,193,92,78,253,193,94,78,253,193,102,78,253,193,104,78,253,193,106,78,253,193,112,78,253,193,116,78,253,193,118,78,253,193,238,191,251,193,240,191,251,193,242,191,251,193,244,191,251,193,246,191,251,193,248,191,251,193,250,191,251,193,252,191,251,193,254,191,251,193,2,192,251,193,4,192,251,193,6,192,251,193,8,192,251,193,78,192,251,193,80,192,251,193,82,192,251,193,84,192,251,193,86,192,251,193,88,192,251,193,90,192,251,193,92,192,251,193,94,192,251,193,96,192,251,193,98,192,251,193,114,193,251,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,193,54,192,251,193,56,192,251,193,58,192,251,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,128,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,160,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,193,58,193,251,193,60,193,251,193,62,193,251,193,64,193,251,193,124,194,251,193,126,194,251,193,128,194,251,193,130,194,251,193,132,194,251,193,134,194,251,193,136,194,251,193,250,195,251,193,252,195,251,193,254,195,251,193,2,196,251,193,4,196,251,193,6,196,251,193,8,196,251,193,10,196,251,193,12,196,251,193,166,197,251,193,168,197,251,193,170,197,251,193,172,197,251,193,174,197,251,193,176,197,251,193,178,197,251,193,180,197,251,193,182,197,251,193,184,197,251,193,186,197,251,193,188,197,251,193,90,193,251,193,92,193,251,193,94,193,251,193,96,193,251,193,98,193,251,193,100,193,251,193,102,193,251,193,104,193,251,193,106,193,251,193,108,193,251,193,110,193,251,193,112,193,251,193,174,194,251,193,176,194,251,193,178,194,251,193,180,194,251,193,182,194,251,193,184,194,251,193,186,194,251,193,188,194,251,193,190,194,251,193,192,194,251,193,194,194,251,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,192,28,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,193,26,194,251,193,66,195,251,193,68,195,251,193,70,195,251,193,72,195,251,193,74,195,251,193,76,195,251,193,78,195,251,193,80,195,251,193,82,195,251,193,84,195,251,193,86,195,251,193,88,195,251,193,90,195,251,193,92,195,251,193,94,195,251,193,96,195,251,193,98,195,251,193,242,196,251,193,244,196,251,193,246,196,251,193,248,196,251,193,250,196,251,193,252,196,251,193,254,196,251,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,224,28,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,193,148,194,251,193,150,194,251,193,16,196,251,193,18,196,251,193,20,196,251,193,22,196,251,193,24,196,251,193,26,196,251,193,28,196,251,193,30,196,251,193,32,196,251,193,34,196,251,193,36,196,251,193,38,196,251,193,40,196,251,193,42,196,251,193,44,196,251,193,192,197,251,193,194,197,251,193,196,197,251,193,198,197,251,193,200,197,251,193,202,197,251,193,204,197,251,193,206,197,251,193,208,197,251,193,210,197,251,193,212,197,251,193,214,197,251,193,216,197,251,193,218,197,251,193,220,197,251,193,170,194,251,193,172,194,251,193,46,196,251,193,48,196,251,193,50,196,251,193,52,196,251,193,54,196,251,193,56,196,251,193,58,196,251,193,60,196,251,193,62,196,251,193,64,196,251,193,66,196,251,193,68,196,251,193,70,196,251,193,72,196,251,193,74,196,251,193,76,196,251,193,78,196,251,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,0,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,32,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,206,64,29,0,193,14,198,251,193,16,198,251,193,18,198,251,193,20,198,251,193,22,198,251,193,24,198,251,193,26,198,251,193,28,198,251,193,30,198,251,193,32,198,251,193,34,198,251,193,36,198,251,193,38,198,251,193,40,198,251,193,42,198,251,206,32,30,0,206,32,30,0,206,32,30,0,206,32,30,0,206,32,30,0,206,32,30,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,96,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,128,29,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,193,190,197,251,193,206,199,251,193,208,199,251,193,210,199,251,193,212,199,251,193,214,199,251,193,216,199,251,193,218,199,251,193,220,199,251,193,222,199,251,193,224,199,251,193,226,199,251,193,238,201,251,193,240,201,251,193,242,201,251,193,244,201,251,193,246,201,251,193,248,201,251,193,250,201,251,193,252,201,251,193,254,201,251,193,2,202,251,193,4,202,251,193,202,203,251,193,204,203,251,193,206,203,251,193,208,203,251,193,210,203,251,193,212,203,251,193,214,203,251,193,216,203,251,193,218,203,251,193,222,197,251,193,228,199,251,193,230,199,251,193,232,199,251,193,234,199,251,193,236,199,251,193,238,199,251,193,240,199,251,193,242,199,251,193,244,199,251,193,246,199,251,193,248,199,251,193,250,199,251,193,252,199,251,193,254,199,251,193,2,200,251,193,4,200,251,193,6,200,251,193,8,200,251,193,10,200,251,193,12,200,251,193,14,200,251,193,16,200,251,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,206,160,29,0,193,18,200,251,193,20,200,251,193,22,200,251,193,24,200,251,193,26,200,251,193,28,200,251,193,30,200,251,193,32,200,251,193,34,200,251,193,36,200,251,193,38,200,251,193,40,200,251,193,42,200,251,193,44,200,251,193,46,200,251,193,48,200,251,193,50,200,251,193,52,200,251,193,54,200,251,193,56,200,251,193,58,200,251,193,44,202,251,193,46,202,251,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,206,192,29,0,193,82,200,251,193,198,198,251,193,200,198,251,193,202,198,251,193,204,198,251,193,206,198,251,193,208,198,251,193,210,198,251,193,212,198,251,193,214,198,251,193,216,198,251,193,218,198,251,193,84,200,251,193,86,200,251,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,206,224,29,0,193,228,200,251,193,230,200,251,193,232,200,251,193,234,200,251,193,236,200,251,193,238,200,251,193,240,200,251,193,242,200,251,193,244,200,251,193,246,200,251,193,248,200,251,193,250,200,251,193,252,200,251,193,246,202,251,193,254,200,251,193,2,201,251,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,0,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,32,30,0,206,32,30,0,206,32,30,0,206,32,30,0,206,32,30,0,193,84,202,251,193,86,202,251,193,88,202,251,193,90,202,251,193,92,202,251,193,94,202,251,193,96,202,251,193,98,202,251,193,100,202,251,193,102,202,251,193,104,202,251,193,106,202,251,193,108,202,251,193,44,204,251,193,46,204,251,193,48,204,251,193,50,204,251,193,52,204,251,193,54,204,251,193,56,204,251,193,58,204,251,193,60,204,251,193,62,204,251,193,64,204,251,193,66,204,251,193,68,204,251,193,10,206,251,193,88,200,251,193,90,200,251,193,92,200,251,193,94,200,251,193,96,200,251,193,70,204,251,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,64,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,193,72,204,251,193,74,204,251,193,76,204,251,193,78,204,251,193,80,204,251,193,82,204,251,193,84,204,251,193,226,200,251,193,86,204,251,193,88,204,251,193,90,204,251,193,26,206,251,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,206,96,30,0,193,148,117,252,193,176,201,251,193,178,201,251,193,180,201,251,193,182,201,251,193,184,201,251,193,186,201,251,193,188,201,251,193,190,201,251,193,192,201,251,193,194,201,251,193,196,201,251,193,198,201,251,193,200,201,251,193,202,201,251,193,204,201,251,193,206,201,251,193,208,201,251,193,210,201,251,193,212,201,251,193,214,201,251,193,216,201,251,193,218,201,251,193,220,201,251,193,222,201,251,193,224,201,251,193,226,201,251,193,228,201,251,193,230,201,251,193,232,201,251,193,234,201,251,193,236,201,251,206,0,31,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,206,128,30,0,193,228,203,251,193,230,203,251,193,232,203,251,193,234,203,251,193,236,203,251,193,238,203,251,193,240,203,251,193,242,203,251,193,244,203,251,193,246,203,251,193,248,203,251,193,250,203,251,193,252,203,251,193,254,203,251,193,210,205,251,193,212,205,251,193,214,205,251,193,216,205,251,193,218,205,251,193,220,205,251,193,222,205,251,193,224,205,251,193,226,205,251,193,48,202,251,193,50,202,251,193,52,202,251,193,54,202,251,193,56,202,251,193,58,202,251,193,60,202,251,193,62,202,251,193,64,202,251,193,66,202,251,193,68,202,251,193,70,202,251,193,72,202,251,193,74,202,251,193,76,202,251,193,78,202,251,193,80,202,251,193,82,202,251,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,206,160,30,0,193,24,206,251,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,192,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,206,224,30,0,193,186,204,251,193,188,204,251,193,190,204,251,193,192,204,251,193,194,204,251,193,196,204,251,193,198,204,251,193,200,204,251,193,202,204,251,193,204,204,251,193,206,204,251,193,208,204,251,193,210,204,251,193,212,204,251,193,214,204,251,193,216,204,251,193,218,204,251,193,220,204,251,193,222,204,251,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,0,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,193,220,203,251,193,222,203,251,193,224,203,251,193,192,205,251,193,194,205,251,193,196,205,251,193,198,205,251,193,200,205,251,193,202,205,251,193,204,205,251,193,206,205,251,193,106,207,251,193,108,207,251,193,110,207,251,193,112,207,251,193,114,207,251,193,116,207,251,193,118,207,251,193,120,207,251,193,122,207,251,193,124,207,251,193,156,208,251,193,158,208,251,193,160,208,251,193,102,209,251,193,104,209,251,193,106,209,251,193,52,210,251,193,54,210,251,193,56,210,251,193,58,210,251,193,60,210,251,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,206,32,31,0,193,232,205,251,193,234,205,251,193,236,205,251,193,238,205,251,193,240,205,251,193,242,205,251,193,244,205,251,193,246,205,251,193,248,205,251,193,250,205,251,193,252,205,251,193,254,205,251,193,2,206,251,193,4,206,251,193,6,206,251,193,8,206,251,193,142,207,251,193,144,207,251,193,146,207,251,193,148,207,251,193,150,207,251,193,152,207,251,193,154,207,251,193,156,207,251,193,158,207,251,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,206,64,31,0,193,28,206,251,193,30,206,251,193,184,204,251,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,193,224,204,251,193,226,204,251,193,228,204,251,193,136,206,251,193,138,206,251,193,140,206,251,193,142,206,251,193,144,206,251,193,146,206,251,193,148,206,251,193,150,206,251,193,152,206,251,193,154,206,251,193,156,206,251,193,158,206,251,193,160,206,251,193,162,206,251,193,164,206,251,193,244,207,251,193,246,207,251,193,248,207,251,193,250,207,251,193,252,207,251,193,254,207,251,193,2,208,251,193,4,208,251,193,4,209,251,193,6,209,251,193,8,209,251,193,10,209,251,193,12,209,251,193,14,209,251,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,206,96,31,0,193,166,206,251,193,172,205,251,193,174,205,251,193,176,205,251,193,178,205,251,193,180,205,251,193,182,205,251,193,184,205,251,193,186,205,251,193,188,205,251,193,190,205,251,193,228,205,251,193,230,205,251,193,126,207,251,193,128,207,251,193,130,207,251,193,132,207,251,193,134,207,251,193,136,207,251,193,138,207,251,193,140,207,251,193,162,208,251,193,164,208,251,193,166,208,251,193,168,208,251,193,170,208,251,193,172,208,251,193,108,209,251,193,110,209,251,193,112,209,251,193,66,210,251,193,68,210,251,193,70,210,251,193,72,210,251,193,74,210,251,193,76,210,251,193,206,210,251,193,208,210,251,193,60,211,251,193,136,211,251,193,138,211,251,193,140,211,251,193,212,211,251,193,12,206,251,193,14,206,251,193,16,206,251,193,18,206,251,193,20,206,251,193,22,206,251,193,166,207,251,193,168,207,251,193,170,207,251,193,172,207,251,193,204,208,251,193,206,208,251,193,208,208,251,193,210,208,251,193,212,208,251,193,214,208,251,193,216,208,251,193,218,208,251,193,220,208,251,193,138,209,251,193,140,209,251,193,142,209,251,193,144,209,251,193,146,209,251,193,90,210,251,193,92,210,251,193,226,210,251,193,72,211,251,193,74,211,251,193,146,211,251,193,148,211,251,193,216,211,251,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,128,31,0,206,192,31,0,206,192,31,0,206,192,31,0,206,192,31,0,206,192,31,0,206,192,31,0,206,192,31,0,193,134,206,251,193,196,207,251,193,198,207,251,193,200,207,251,193,202,207,251,193,204,207,251,193,206,207,251,193,208,207,251,193,210,207,251,193,212,207,251,193,214,207,251,193,216,207,251,193,218,207,251,193,220,207,251,193,222,207,251,193,224,207,251,193,226,207,251,193,228,207,251,193,230,207,251,193,232,207,251,193,234,207,251,193,236,207,251,193,238,207,251,193,240,207,251,193,242,207,251,193,222,208,251,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,160,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,193,104,207,251,193,146,208,251,193,148,208,251,193,150,208,251,193,152,208,251,193,154,208,251,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,193,160,207,251,193,162,207,251,193,164,207,251,193,174,208,251,193,176,208,251,193,178,208,251,193,180,208,251,193,182,208,251,193,184,208,251,193,186,208,251,193,188,208,251,193,190,208,251,193,192,208,251,193,194,208,251,193,196,208,251,193,198,208,251,193,200,208,251,193,202,208,251,193,114,209,251,193,116,209,251,193,118,209,251,193,120,209,251,193,122,209,251,193,124,209,251,193,126,209,251,193,128,209,251,193,130,209,251,193,132,209,251,193,134,209,251,193,136,209,251,193,78,210,251,193,80,210,251,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,206,224,31,0,193,224,208,251,193,226,208,251,193,228,208,251,193,230,208,251,193,232,208,251,193,148,209,251,193,234,208,251,193,236,208,251,193,238,208,251,193,240,208,251,193,242,208,251,193,244,208,251,193,246,208,251,193,248,208,251,193,250,208,251,193,252,208,251,193,254,208,251,193,2,209,251,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,206,0,32,0,193,216,209,251,193,218,209,251,193,220,209,251,193,222,209,251,193,224,209,251,193,226,209,251,193,228,209,251,193,230,209,251,193,232,209,251,193,234,209,251,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,206,32,32,0,193,94,210,251,193,96,210,251,193,98,210,251,193,100,210,251,193,102,210,251,193,104,210,251,193,106,210,251,193,108,210,251,193,110,210,251,193,112,210,251,193,228,210,251,193,114,210,251,193,230,210,251,193,232,210,251,193,234,210,251,193,236,210,251,193,238,210,251,193,240,210,251,193,242,210,251,193,244,210,251,193,76,211,251,193,78,211,251,193,80,211,251,193,150,211,251,193,152,211,251,193,192,209,251,193,194,209,251,193,196,209,251,193,198,209,251,193,200,209,251,193,202,209,251,193,204,209,251,193,206,209,251,193,208,209,251,193,210,209,251,193,212,209,251,193,214,209,251,193,116,210,251,193,118,210,251,193,246,210,251,193,248,210,251,193,250,210,251,193,82,211,251,193,84,211,251,193,86,211,251,193,88,211,251,193,228,211,251,193,230,211,251,193,232,211,251,193,36,212,251,193,38,212,251,193,76,212,251,193,106,212,251,193,108,212,251,193,128,212,251,193,142,212,251,193,254,212,251,193,236,209,251,193,238,209,251,193,240,209,251,193,242,209,251,193,244,209,251,193,246,209,251,193,248,209,251,193,250,209,251,193,252,209,251,193,254,209,251,193,2,210,251,193,4,210,251,193,6,210,251,193,8,210,251,193,10,210,251,193,12,210,251,193,14,210,251,193,16,210,251,193,18,210,251,193,20,210,251,193,22,210,251,193,24,210,251,193,26,210,251,193,28,210,251,193,30,210,251,193,32,210,251,193,34,210,251,193,36,210,251,193,38,210,251,193,40,210,251,193,42,210,251,193,44,210,251,193,46,210,251,193,48,210,251,193,50,210,251,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,193,62,210,251,193,204,210,251,193,58,211,251,193,210,211,251,193,250,211,251,193,138,212,251,193,92,212,251,193,188,212,251,193,80,213,251,193,148,213,251,193,150,213,251,193,248,213,251,193,250,213,251,193,142,214,251,193,48,215,251,193,50,215,251,193,182,215,251,193,40,216,251,193,42,216,251,193,136,216,251,193,138,216,251,193,140,216,251,193,142,216,251,193,244,216,251,193,246,216,251,193,248,216,251,193,54,217,251,193,102,217,251,193,104,217,251,193,200,217,251,193,202,217,251,193,232,217,251,193,82,210,251,193,84,210,251,193,86,210,251,193,88,210,251,193,210,210,251,193,212,210,251,193,214,210,251,193,216,210,251,193,218,210,251,193,220,210,251,193,222,210,251,193,224,210,251,193,62,211,251,193,64,211,251,193,66,211,251,193,68,211,251,193,70,211,251,193,142,211,251,193,144,211,251,193,56,212,251,193,62,212,251,193,68,212,251,193,72,212,251,193,102,212,251,193,104,212,251,193,168,212,251,193,170,212,251,193,190,212,251,193,206,212,251,193,208,212,251,193,220,212,251,193,224,212,251,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,206,64,32,0,193,252,210,251,193,254,210,251,193,2,211,251,193,4,211,251,193,6,211,251,193,8,211,251,193,10,211,251,193,12,211,251,193,14,211,251,193,16,211,251,193,18,211,251,193,20,211,251,193,22,211,251,193,24,211,251,193,26,211,251,193,28,211,251,193,30,211,251,193,32,211,251,193,34,211,251,193,36,211,251,193,38,211,251,193,90,211,251,193,40,211,251,193,42,211,251,193,44,211,251,193,46,211,251,193,48,211,251,193,50,211,251,193,52,211,251,193,54,211,251,193,56,211,251,193,92,211,251,193,94,211,251,193,96,211,251,193,98,211,251,193,100,211,251,193,102,211,251,193,104,211,251,193,106,211,251,193,108,211,251,193,110,211,251,193,112,211,251,193,114,211,251,193,116,211,251,193,118,211,251,193,120,211,251,193,122,211,251,193,124,211,251,193,126,211,251,193,128,211,251,193,130,211,251,193,132,211,251,193,134,211,251,193,170,211,251,193,172,211,251,193,174,211,251,193,176,211,251,193,178,211,251,193,180,211,251,193,182,211,251,193,184,211,251,193,186,211,251,193,188,211,251,193,190,211,251,193,192,211,251,193,194,211,251,193,196,211,251,193,198,211,251,193,200,211,251,193,202,211,251,193,204,211,251,193,206,211,251,193,208,211,251,193,234,211,251,193,236,211,251,193,238,211,251,193,240,211,251,193,242,211,251,193,244,211,251,193,246,211,251,193,248,211,251,193,4,212,251,193,6,212,251,193,154,211,251,193,156,211,251,193,158,211,251,193,160,211,251,193,162,211,251,193,218,211,251,193,164,211,251,193,166,211,251,193,220,211,251,193,222,211,251,193,224,211,251,193,226,211,251,193,254,211,251,193,2,212,251,193,34,212,251,193,60,212,251,193,64,212,251,193,94,212,251,193,140,212,251,193,192,212,251,193,230,212,251,193,232,212,251,193,234,212,251,193,236,212,251,193,244,212,251,193,246,212,251,193,248,212,251,193,250,212,251,193,252,212,251,193,26,213,251,193,28,213,251,193,30,213,251,193,214,211,251,193,252,211,251,193,32,212,251,193,180,212,251,193,204,212,251,193,222,212,251,193,238,212,251,193,20,213,251,193,82,213,251,193,152,213,251,193,252,213,251,193,254,213,251,193,2,214,251,193,4,214,251,193,6,214,251,193,8,214,251,193,10,214,251,193,146,214,251,193,148,214,251,193,150,214,251,193,152,214,251,193,154,214,251,193,156,214,251,193,158,214,251,193,160,214,251,193,52,215,251,193,54,215,251,193,56,215,251,193,58,215,251,193,60,215,251,193,62,215,251,193,64,215,251,193,8,212,251,193,10,212,251,193,12,212,251,193,14,212,251,193,16,212,251,193,18,212,251,193,20,212,251,193,22,212,251,193,24,212,251,193,26,212,251,193,28,212,251,193,30,212,251,193,40,212,251,193,42,212,251,193,44,212,251,193,46,212,251,193,48,212,251,193,50,212,251,193,52,212,251,193,54,212,251,193,58,212,251,193,66,212,251,193,70,212,251,193,78,212,251,193,80,212,251,193,82,212,251,193,84,212,251,193,86,212,251,193,88,212,251,193,90,212,251,193,96,212,251,193,98,212,251,193,74,212,251,193,126,212,251,193,172,212,251,193,242,212,251,193,86,213,251,193,88,213,251,193,90,213,251,193,164,213,251,193,28,214,251,193,170,214,251,193,172,214,251,193,80,215,251,193,82,215,251,193,84,215,251,193,86,215,251,193,212,215,251,193,214,215,251,193,64,216,251,193,160,216,251,193,162,216,251,193,10,217,251,193,12,217,251,193,66,217,251,193,68,217,251,193,146,217,251,193,186,217,251,193,52,218,251,193,128,218,251,193,158,218,251,193,108,219,251,193,110,219,251,193,186,219,251,193,194,212,251,193,196,212,251,193,198,212,251,193,200,212,251,193,202,212,251,193,210,212,251,193,212,212,251,193,214,212,251,193,216,212,251,193,218,212,251,193,226,212,251,193,4,213,251,193,6,213,251,193,8,213,251,193,10,213,251,193,12,213,251,193,14,213,251,193,16,213,251,193,18,213,251,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,193,228,212,251,193,240,212,251,193,22,213,251,193,24,213,251,193,84,213,251,193,154,213,251,193,156,213,251,193,158,213,251,193,160,213,251,193,162,213,251,193,12,214,251,193,14,214,251,193,16,214,251,193,18,214,251,193,20,214,251,193,22,214,251,193,24,214,251,193,26,214,251,193,162,214,251,193,164,214,251,193,166,214,251,193,168,214,251,193,68,215,251,193,70,215,251,193,72,215,251,193,74,215,251,193,76,215,251,193,78,215,251,193,198,215,251,193,200,215,251,193,202,215,251,193,204,215,251,193,2,213,251,193,32,213,251,193,34,213,251,193,104,213,251,193,106,213,251,193,108,213,251,193,110,213,251,193,180,213,251,193,182,213,251,193,184,213,251,193,62,214,251,193,64,214,251,193,66,214,251,193,68,214,251,193,70,214,251,193,206,214,251,193,208,214,251,193,210,214,251,193,212,214,251,193,214,214,251,193,216,214,251,193,218,214,251,193,220,214,251,193,222,214,251,193,224,214,251,193,226,214,251,193,228,214,251,193,98,215,251,193,100,215,251,193,102,215,251,193,104,215,251,193,106,215,251,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,206,96,32,0,193,112,213,251,193,114,213,251,193,116,213,251,193,118,213,251,193,120,213,251,193,122,213,251,193,124,213,251,193,126,213,251,193,128,213,251,193,130,213,251,193,132,213,251,193,134,213,251,193,136,213,251,193,138,213,251,193,140,213,251,193,142,213,251,193,144,213,251,193,146,213,251,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,193,92,213,251,193,94,213,251,193,96,213,251,193,98,213,251,193,100,213,251,193,102,213,251,193,166,213,251,193,168,213,251,193,170,213,251,193,172,213,251,193,174,213,251,193,176,213,251,193,178,213,251,193,32,214,251,193,34,214,251,193,36,214,251,193,38,214,251,193,40,214,251,193,42,214,251,193,44,214,251,193,46,214,251,193,48,214,251,193,50,214,251,193,52,214,251,193,54,214,251,193,56,214,251,193,58,214,251,193,60,214,251,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,128,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,193,252,217,251,193,2,218,251,193,10,218,251,193,18,218,251,193,20,218,251,193,22,218,251,193,28,218,251,193,30,218,251,193,32,218,251,193,34,218,251,193,60,218,251,193,246,213,251,193,62,218,251,193,64,218,251,193,78,218,251,193,80,218,251,193,82,218,251,193,84,218,251,193,86,218,251,193,88,218,251,193,96,218,251,193,98,218,251,193,100,218,251,193,114,218,251,193,116,218,251,193,118,218,251,193,90,218,251,193,134,216,251,193,130,218,251,193,132,218,251,193,134,218,251,193,136,218,251,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,206,160,32,0,193,230,214,251,193,232,214,251,193,138,214,251,193,234,214,251,193,236,214,251,193,238,214,251,193,240,214,251,193,242,214,251,193,244,214,251,193,246,214,251,193,248,214,251,193,250,214,251,193,252,214,251,193,254,214,251,193,2,215,251,193,4,215,251,193,6,215,251,193,8,215,251,193,10,215,251,193,12,215,251,193,14,215,251,193,16,215,251,193,18,215,251,193,20,215,251,193,22,215,251,193,24,215,251,193,26,215,251,193,28,215,251,193,30,215,251,193,140,214,251,193,32,215,251,193,34,215,251,193,36,215,251,193,38,215,251,193,40,215,251,193,42,215,251,193,44,215,251,193,108,215,251,193,126,12,252,193,128,12,252,193,190,12,252,193,192,12,252,193,22,13,252,193,122,13,252,193,230,13,252,193,104,14,252,193,222,14,252,193,224,14,252,193,144,214,251,193,24,15,252,193,64,15,252,193,66,15,252,193,68,15,252,193,120,15,252,193,186,15,252,193,14,16,252,193,16,16,252,193,94,16,252,193,164,16,252,193,252,16,252,193,26,17,252,193,108,17,252,193,110,17,252,193,206,17,252,193,208,17,252,193,38,18,252,193,40,18,252,193,222,18,252,193,224,18,252,193,72,19,252,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,206,192,32,0,193,88,215,251,193,90,215,251,193,204,214,251,193,92,215,251,193,94,215,251,193,96,215,251,193,216,215,251,193,218,215,251,193,220,215,251,193,66,216,251,193,68,216,251,193,70,216,251,193,72,216,251,193,74,216,251,193,76,216,251,193,78,216,251,193,80,216,251,193,164,216,251,193,166,216,251,193,168,216,251,193,170,216,251,193,174,215,251,193,176,215,251,193,178,215,251,193,46,215,251,193,180,215,251,193,150,117,252,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,193,66,215,251,193,184,215,251,193,186,215,251,193,188,215,251,193,190,215,251,193,192,215,251,193,194,215,251,193,196,215,251,193,44,216,251,193,46,216,251,193,48,216,251,193,50,216,251,193,52,216,251,193,144,216,251,193,146,216,251,193,148,216,251,193,150,216,251,193,250,216,251,193,252,216,251,193,254,216,251,193,2,217,251,193,4,217,251,193,6,217,251,193,8,217,251,193,56,217,251,193,58,217,251,193,60,217,251,193,106,217,251,193,108,217,251,193,110,217,251,193,136,217,251,193,138,217,251,193,110,215,251,193,112,215,251,193,114,215,251,193,116,215,251,193,118,215,251,193,120,215,251,193,122,215,251,193,124,215,251,193,126,215,251,193,128,215,251,193,130,215,251,193,132,215,251,193,134,215,251,193,136,215,251,193,138,215,251,193,140,215,251,193,142,215,251,193,144,215,251,193,146,215,251,193,148,215,251,193,150,215,251,193,152,215,251,193,154,215,251,193,156,215,251,193,158,215,251,193,160,215,251,193,162,215,251,193,164,215,251,193,166,215,251,193,168,215,251,193,170,215,251,193,172,215,251,193,206,215,251,193,208,215,251,193,210,215,251,193,54,216,251,193,56,216,251,193,58,216,251,193,60,216,251,193,62,216,251,193,152,216,251,193,154,216,251,193,156,216,251,193,158,216,251,193,62,217,251,193,64,217,251,193,112,217,251,193,114,217,251,193,208,217,251,193,210,217,251,193,218,217,251,193,244,217,251,193,14,218,251,193,42,218,251,193,44,218,251,193,46,218,251,193,48,218,251,193,50,218,251,193,150,218,251,193,152,218,251,193,42,219,251,193,48,219,251,193,72,219,251,193,80,219,251,193,222,215,251,193,224,215,251,193,226,215,251,193,228,215,251,193,82,216,251,193,84,216,251,193,86,216,251,193,172,216,251,193,174,216,251,193,176,216,251,193,178,216,251,193,74,217,251,193,76,217,251,193,152,217,251,193,188,217,251,193,8,218,251,193,58,218,251,193,112,218,251,193,182,218,251,193,184,218,251,193,190,218,251,193,198,218,251,193,210,218,251,193,228,218,251,193,244,218,251,193,30,219,251,193,52,219,251,193,70,219,251,193,116,219,251,193,118,219,251,193,128,219,251,193,130,219,251,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,206,224,32,0,193,24,138,252,193,88,216,251,193,90,216,251,193,92,216,251,193,94,216,251,193,96,216,251,193,98,216,251,193,100,216,251,193,102,216,251,193,104,216,251,193,106,216,251,193,108,216,251,193,110,216,251,193,112,216,251,193,114,216,251,193,116,216,251,193,118,216,251,193,120,216,251,193,122,216,251,193,124,216,251,193,126,216,251,193,128,216,251,193,130,216,251,193,132,216,251,193,180,216,251,193,182,216,251,193,184,216,251,193,186,216,251,193,188,216,251,193,190,216,251,193,192,216,251,193,194,216,251,193,196,216,251,193,198,216,251,193,200,216,251,193,202,216,251,193,204,216,251,193,206,216,251,193,208,216,251,193,210,216,251,193,212,216,251,193,214,216,251,193,216,216,251,193,218,216,251,193,220,216,251,193,222,216,251,193,224,216,251,193,226,216,251,193,228,216,251,193,230,216,251,193,232,216,251,193,234,216,251,193,236,216,251,193,238,216,251,193,240,216,251,193,242,216,251,193,20,217,251,193,22,217,251,193,14,217,251,193,16,217,251,193,18,217,251,193,70,217,251,193,116,217,251,193,148,217,251,193,150,217,251,193,254,217,251,193,6,218,251,193,16,218,251,193,54,218,251,193,56,218,251,193,70,218,251,193,72,218,251,193,74,218,251,193,76,218,251,193,92,218,251,193,94,218,251,193,110,218,251,193,142,218,251,193,160,218,251,193,168,218,251,193,174,218,251,193,178,218,251,193,186,218,251,193,206,218,251,193,208,218,251,193,224,218,251,193,226,218,251,193,242,218,251,193,4,219,251,193,6,219,251,193,24,217,251,193,26,217,251,193,28,217,251,193,30,217,251,193,78,217,251,193,32,217,251,193,34,217,251,193,36,217,251,193,38,217,251,193,40,217,251,193,42,217,251,193,44,217,251,193,46,217,251,193,48,217,251,193,50,217,251,193,52,217,251,193,80,217,251,193,82,217,251,193,84,217,251,193,86,217,251,193,88,217,251,193,90,217,251,193,92,217,251,193,94,217,251,193,96,217,251,193,98,217,251,193,100,217,251,193,118,217,251,193,120,217,251,193,122,217,251,193,124,217,251,193,126,217,251,193,52,52,253,193,72,217,251,193,54,52,253,193,56,52,253,193,58,52,253,193,60,52,253,193,144,52,253,193,146,52,253,193,148,52,253,193,150,52,253,193,152,52,253,193,154,52,253,193,156,52,253,193,242,52,253,193,244,52,253,193,246,52,253,193,34,53,253,193,36,53,253,193,38,53,253,193,40,53,253,193,42,53,253,193,86,53,253,193,88,53,253,193,90,53,253,193,92,53,253,193,136,53,253,193,138,53,253,193,168,53,253,193,178,53,253,193,202,53,253,193,204,53,253,193,206,53,253,193,128,217,251,193,130,217,251,193,132,217,251,193,154,217,251,193,156,217,251,193,158,217,251,193,160,217,251,193,162,217,251,193,164,217,251,193,166,217,251,193,168,217,251,193,170,217,251,193,172,217,251,193,174,217,251,193,190,217,251,193,192,217,251,193,194,217,251,193,196,217,251,193,198,217,251,193,212,217,251,193,214,217,251,193,220,217,251,193,222,217,251,193,224,217,251,193,226,217,251,193,228,217,251,193,230,217,251,193,240,217,251,193,242,217,251,193,246,217,251,193,248,217,251,193,250,217,251,193,160,164,253,193,168,164,253,193,170,164,253,193,172,164,253,193,174,164,253,193,176,164,253,193,178,164,253,193,180,164,253,193,194,164,253,193,196,164,253,193,208,164,253,193,210,164,253,193,212,164,253,193,214,164,253,193,134,217,251,193,222,164,253,193,176,217,251,193,224,164,253,193,230,164,253,193,234,164,253,193,236,164,253,193,240,164,253,193,242,164,253,193,244,164,253,193,248,164,253,193,250,164,253,193,254,164,253,193,4,165,253,193,6,165,253,193,8,165,253,193,22,165,253,193,24,165,253,193,140,217,251,193,142,217,251,193,144,217,251,193,178,217,251,193,180,217,251,193,182,217,251,193,184,217,251,193,204,217,251,193,206,217,251,193,216,217,251,193,234,217,251,193,236,217,251,193,238,217,251,193,4,218,251,193,38,218,251,193,40,218,251,193,68,218,251,193,108,218,251,193,166,218,251,193,222,218,251,193,240,218,251,193,2,219,251,193,40,219,251,193,46,219,251,193,60,219,251,193,148,219,251,193,150,219,251,193,182,219,251,193,184,219,251,193,12,220,251,193,54,220,251,193,60,220,251,193,12,218,251,193,24,218,251,193,26,218,251,193,36,218,251,193,66,218,251,193,102,218,251,193,104,218,251,193,106,218,251,193,122,218,251,193,124,218,251,193,126,218,251,193,204,218,251,193,220,218,251,193,28,219,251,193,38,219,251,193,58,219,251,193,68,219,251,193,104,219,251,193,100,220,251,193,102,220,251,193,138,220,251,193,206,220,251,193,208,220,251,193,210,220,251,193,22,221,251,193,68,221,251,193,70,221,251,193,72,221,251,193,74,221,251,193,112,221,251,193,144,221,251,193,166,221,251,193,110,154,253,193,112,154,253,193,126,154,253,193,128,154,253,193,130,154,253,193,132,154,253,193,134,154,253,193,136,154,253,193,138,154,253,193,140,154,253,193,142,154,253,193,144,154,253,193,146,154,253,193,148,154,253,193,150,154,253,193,152,154,253,193,120,218,251,193,154,154,253,193,156,154,253,193,158,154,253,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,193,138,218,251,193,140,218,251,193,144,218,251,193,146,218,251,193,148,218,251,193,154,218,251,193,156,218,251,193,162,218,251,193,164,218,251,193,170,218,251,193,172,218,251,193,176,218,251,193,180,218,251,193,188,218,251,193,192,218,251,193,194,218,251,193,196,218,251,193,200,218,251,193,202,218,251,193,212,218,251,193,214,218,251,193,216,218,251,193,218,218,251,193,230,218,251,193,232,218,251,193,234,218,251,193,236,218,251,193,238,218,251,193,246,218,251,193,248,218,251,193,250,218,251,193,252,218,251,193,254,218,251,193,8,219,251,193,20,219,251,193,10,219,251,193,12,219,251,193,14,219,251,193,22,219,251,193,24,219,251,193,26,219,251,193,32,219,251,193,34,219,251,193,36,219,251,193,54,219,251,193,56,219,251,193,62,219,251,193,64,219,251,193,66,219,251,193,76,219,251,193,82,219,251,193,84,219,251,193,94,219,251,193,96,219,251,193,98,219,251,193,100,219,251,193,102,219,251,193,120,219,251,193,122,219,251,193,132,219,251,193,134,219,251,193,136,219,251,193,142,219,251,193,144,219,251,193,16,219,251,193,18,219,251,193,44,219,251,193,50,219,251,193,74,219,251,193,78,219,251,193,86,219,251,193,88,219,251,193,90,219,251,193,92,219,251,193,112,219,251,193,114,219,251,193,138,219,251,193,140,219,251,193,152,219,251,193,154,219,251,193,188,219,251,193,190,219,251,193,216,219,251,193,234,219,251,193,250,219,251,193,18,220,251,193,20,220,251,193,34,220,251,193,64,220,251,193,68,220,251,193,86,220,251,193,88,220,251,193,90,220,251,193,110,220,251,193,112,220,251,193,114,220,251,193,106,219,251,193,124,219,251,193,126,219,251,193,210,219,251,193,212,219,251,193,230,219,251,193,32,220,251,193,70,220,251,193,76,220,251,193,78,220,251,193,80,220,251,193,106,220,251,193,108,220,251,193,140,220,251,193,142,220,251,193,144,220,251,193,146,220,251,193,148,220,251,193,150,220,251,193,152,220,251,193,154,220,251,193,224,220,251,193,226,220,251,193,228,220,251,193,230,220,251,193,232,220,251,193,30,221,251,193,80,221,251,193,82,221,251,193,84,221,251,193,86,221,251,193,122,221,251,193,146,219,251,193,158,219,251,193,160,219,251,193,162,219,251,193,164,219,251,193,166,219,251,193,168,219,251,193,170,219,251,193,172,219,251,193,174,219,251,193,176,219,251,193,208,136,252,193,178,219,251,193,180,219,251,193,192,219,251,193,194,219,251,193,196,219,251,193,198,219,251,193,200,219,251,193,202,219,251,193,204,219,251,193,206,219,251,193,220,219,251,193,222,219,251,193,224,219,251,193,226,219,251,193,228,219,251,193,238,219,251,193,240,219,251,193,242,219,251,193,244,219,251,193,246,219,251,193,156,219,251,193,218,219,251,193,236,219,251,193,72,220,251,193,92,220,251,193,172,220,251,193,118,220,251,193,174,220,251,193,176,220,251,193,178,220,251,193,252,220,251,193,254,220,251,193,2,221,251,193,42,221,251,193,156,221,251,193,158,221,251,193,116,222,251,193,118,222,251,193,164,222,251,193,166,222,251,193,168,222,251,193,170,222,251,193,172,222,251,193,174,222,251,193,46,223,251,193,48,223,251,193,50,223,251,206,128,33,0,206,128,33,0,206,128,33,0,206,128,33,0,206,128,33,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,193,38,117,252,193,224,117,252,193,226,117,252,193,228,117,252,193,230,117,252,193,232,117,252,193,234,117,252,193,236,117,252,193,238,117,252,193,208,219,251,193,240,117,252,193,242,117,252,193,244,117,252,193,246,117,252,193,248,117,252,193,250,117,252,193,252,117,252,193,254,117,252,193,2,118,252,193,4,118,252,193,6,118,252,193,214,219,251,193,232,219,251,193,248,219,251,193,14,220,251,193,16,220,251,193,46,220,251,193,66,220,251,193,156,220,251,193,234,220,251,193,32,221,251,193,34,221,251,193,36,221,251,193,88,221,251,193,90,221,251,193,126,221,251,193,154,221,251,193,48,222,251,193,142,222,251,193,144,222,251,193,232,222,251,193,160,223,251,193,162,223,251,193,164,223,251,193,166,223,251,193,118,224,251,193,120,224,251,193,122,224,251,193,124,224,251,193,126,224,251,193,128,224,251,193,130,224,251,193,90,225,251,193,252,219,251,193,254,219,251,193,2,220,251,193,4,220,251,193,6,220,251,193,8,220,251,193,10,220,251,193,22,220,251,193,24,220,251,193,26,220,251,193,28,220,251,193,30,220,251,193,36,220,251,193,38,220,251,193,40,220,251,193,42,220,251,193,44,220,251,193,48,220,251,193,50,220,251,193,52,220,251,193,56,220,251,193,58,220,251,193,62,220,251,193,74,220,251,193,82,220,251,193,84,220,251,193,94,220,251,193,96,220,251,193,98,220,251,193,120,220,251,193,122,220,251,193,124,220,251,193,104,220,251,193,212,220,251,193,214,220,251,193,216,220,251,193,218,220,251,193,220,220,251,193,222,220,251,193,26,221,251,193,28,221,251,193,76,221,251,193,78,221,251,193,116,221,251,193,118,221,251,193,120,221,251,193,146,221,251,193,148,221,251,193,150,221,251,193,170,221,251,193,172,221,251,193,200,221,251,193,202,221,251,193,204,221,251,193,206,221,251,193,214,221,251,193,232,221,251,193,234,221,251,193,236,221,251,193,238,221,251,193,2,222,251,193,4,222,251,193,14,222,251,193,16,222,251,193,116,220,251,193,158,220,251,193,160,220,251,193,162,220,251,193,164,220,251,193,166,220,251,193,168,220,251,193,236,220,251,193,238,220,251,193,240,220,251,193,170,220,251,193,242,220,251,193,244,220,251,193,246,220,251,193,248,220,251,193,250,220,251,193,38,221,251,193,40,221,251,193,92,221,251,193,94,221,251,193,96,221,251,193,98,221,251,193,128,221,251,193,130,221,251,193,180,221,251,193,182,221,251,193,210,221,251,193,218,221,251,193,244,221,251,193,246,221,251,193,248,221,251,193,8,222,251,193,126,220,251,193,128,220,251,193,130,220,251,193,132,220,251,193,134,220,251,193,136,220,251,193,180,220,251,193,182,220,251,193,184,220,251,193,186,220,251,193,188,220,251,193,190,220,251,193,192,220,251,193,194,220,251,193,196,220,251,193,198,220,251,193,200,220,251,193,202,220,251,193,204,220,251,193,4,221,251,193,6,221,251,193,8,221,251,193,10,221,251,193,12,221,251,193,14,221,251,193,16,221,251,193,18,221,251,193,20,221,251,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,193,24,221,251,193,114,221,251,193,82,224,251,193,84,224,251,193,32,225,251,193,222,233,251,193,80,234,251,193,82,234,251,193,120,237,251,193,142,240,251,193,144,240,251,193,168,249,251,193,170,249,251,193,212,251,251,193,214,251,251,193,216,251,251,193,36,254,251,193,182,255,251,193,230,2,252,193,4,11,252,193,26,14,252,193,242,20,252,193,246,20,252,193,94,28,252,193,252,30,252,193,254,35,252,193,2,36,252,193,4,36,252,193,178,40,252,193,152,42,252,193,18,46,252,193,200,51,252,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,206,0,33,0,193,100,221,251,193,102,221,251,193,104,221,251,193,106,221,251,193,108,221,251,193,110,221,251,193,132,221,251,193,134,221,251,193,136,221,251,193,138,221,251,193,140,221,251,193,142,221,251,193,160,221,251,193,162,221,251,193,164,221,251,193,184,221,251,193,186,221,251,193,188,221,251,193,190,221,251,193,192,221,251,193,194,221,251,193,212,221,251,193,220,221,251,193,222,221,251,193,124,221,251,193,152,221,251,193,174,221,251,193,176,221,251,193,178,221,251,193,208,221,251,193,216,221,251,193,240,221,251,193,242,221,251,193,6,222,251,193,84,222,251,193,98,222,251,193,136,222,251,193,138,222,251,193,140,222,251,193,226,222,251,193,228,222,251,193,230,222,251,193,130,223,251,193,132,223,251,193,134,223,251,193,136,223,251,193,138,223,251,193,140,223,251,193,142,223,251,193,144,223,251,193,146,223,251,193,148,223,251,193,150,223,251,193,152,223,251,193,154,223,251,193,156,223,251,193,168,221,251,193,196,221,251,193,198,221,251,193,252,221,251,193,254,221,251,193,12,222,251,193,218,222,251,193,220,222,251,193,110,223,251,193,112,223,251,193,114,223,251,193,116,223,251,193,118,223,251,193,120,223,251,193,122,223,251,193,62,224,251,193,64,224,251,193,66,224,251,193,68,224,251,193,70,224,251,193,72,224,251,193,74,224,251,193,76,224,251,193,78,224,251,193,80,224,251,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,193,224,221,251,193,226,221,251,193,228,221,251,193,230,221,251,193,250,221,251,193,10,222,251,193,20,222,251,193,24,222,251,193,26,222,251,193,30,222,251,193,34,222,251,193,36,222,251,193,38,222,251,193,46,222,251,193,50,222,251,193,52,222,251,193,56,222,251,193,58,222,251,193,60,222,251,193,62,222,251,193,68,222,251,193,70,222,251,193,74,222,251,193,76,222,251,193,78,222,251,193,80,222,251,193,82,222,251,193,92,222,251,193,94,222,251,193,96,222,251,193,120,222,251,193,122,222,251,193,18,222,251,193,22,222,251,193,28,222,251,193,32,222,251,193,40,222,251,193,66,222,251,193,134,222,251,193,222,222,251,193,224,222,251,193,124,223,251,193,126,223,251,193,128,223,251,193,86,224,251,193,88,224,251,193,90,224,251,193,34,225,251,193,36,225,251,193,38,225,251,193,40,225,251,193,42,225,251,193,44,225,251,193,10,226,251,193,12,226,251,193,14,226,251,193,16,226,251,193,18,226,251,193,20,226,251,193,44,227,251,193,46,227,251,193,48,227,251,193,50,227,251,193,52,227,251,193,42,222,251,193,44,222,251,193,54,222,251,193,64,222,251,193,72,222,251,193,86,222,251,193,88,222,251,193,90,222,251,193,100,222,251,193,102,222,251,193,104,222,251,193,106,222,251,193,108,222,251,193,110,222,251,193,112,222,251,193,114,222,251,193,146,222,251,193,148,222,251,193,150,222,251,193,152,222,251,193,154,222,251,193,156,222,251,193,158,222,251,193,160,222,251,193,162,222,251,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,193,124,222,251,193,126,222,251,193,128,222,251,193,130,222,251,193,176,222,251,193,132,222,251,193,178,222,251,193,180,222,251,193,182,222,251,193,184,222,251,193,186,222,251,193,188,222,251,193,190,222,251,193,192,222,251,193,194,222,251,193,196,222,251,193,198,222,251,193,200,222,251,193,202,222,251,193,204,222,251,193,206,222,251,193,208,222,251,193,210,222,251,193,212,222,251,193,214,222,251,193,216,222,251,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,32,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,64,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,193,158,223,251,193,92,224,251,193,94,224,251,193,96,224,251,193,98,224,251,193,100,224,251,193,102,224,251,193,104,224,251,193,106,224,251,193,108,224,251,193,110,224,251,193,112,224,251,193,114,224,251,193,116,224,251,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,96,33,0,206,128,33,0,206,128,33,0,206,128,33,0,206,128,33,0,206,128,33,0,193,178,224,251,193,180,224,251,193,182,224,251,193,184,224,251,193,186,224,251,193,188,224,251,193,190,224,251,193,192,224,251,193,194,224,251,193,196,224,251,193,148,225,251,193,150,225,251,193,152,225,251,193,154,225,251,193,156,225,251,193,158,225,251,193,130,226,251,193,132,226,251,193,134,226,251,193,136,226,251,193,138,226,251,193,140,226,251,193,142,226,251,193,144,226,251,193,146,226,251,193,148,226,251,193,150,226,251,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,206,160,33,0,193,128,232,251,193,46,224,251,193,48,224,251,193,50,224,251,193,52,224,251,193,54,224,251,193,56,224,251,193,58,224,251,193,60,224,251,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,193,132,224,251,193,134,224,251,193,136,224,251,193,138,224,251,193,140,224,251,193,142,224,251,193,144,224,251,193,146,224,251,193,148,224,251,193,150,224,251,193,152,224,251,193,154,224,251,193,156,224,251,193,158,224,251,193,160,224,251,193,162,224,251,193,164,224,251,193,166,224,251,193,168,224,251,193,170,224,251,193,172,224,251,193,174,224,251,193,176,224,251,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,206,192,33,0,193,160,225,251,193,162,225,251,193,164,225,251,193,166,225,251,193,168,225,251,193,170,225,251,193,172,225,251,193,174,225,251,193,176,225,251,193,178,225,251,193,180,225,251,193,182,225,251,193,184,225,251,193,186,225,251,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,206,224,33,0,193,2,226,251,193,4,226,251,193,6,226,251,193,8,226,251,193,32,227,251,193,34,227,251,193,36,227,251,193,38,227,251,193,40,227,251,193,42,227,251,193,10,228,251,193,12,228,251,193,14,228,251,193,16,228,251,193,18,228,251,193,20,228,251,193,22,228,251,193,24,228,251,193,26,228,251,193,224,228,251,193,226,228,251,193,228,228,251,193,230,228,251,193,232,228,251,193,234,228,251,193,148,229,251,193,150,229,251,206,0,34,0,206,0,34,0,206,0,34,0,206,0,34,0,193,22,226,251,193,24,226,251,193,26,226,251,193,28,226,251,193,30,226,251,193,32,226,251,193,34,226,251,193,36,226,251,193,38,226,251,193,40,226,251,193,42,226,251,193,44,226,251,193,46,226,251,193,48,226,251,193,50,226,251,193,52,226,251,193,54,226,251,193,56,226,251,193,58,226,251,193,60,226,251,193,62,226,251,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,193,92,225,251,193,94,225,251,193,96,225,251,193,98,225,251,193,100,225,251,193,102,225,251,193,104,225,251,193,64,226,251,193,66,226,251,193,68,226,251,193,70,226,251,193,72,226,251,193,74,226,251,193,88,227,251,193,90,227,251,193,92,227,251,193,94,227,251,193,96,227,251,193,98,227,251,193,100,227,251,193,102,227,251,193,104,227,251,193,96,228,251,193,98,228,251,193,100,228,251,193,102,228,251,193,104,228,251,193,26,229,251,193,28,229,251,193,30,229,251,193,32,229,251,193,34,229,251,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,32,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,193,150,231,251,193,152,231,251,193,154,231,251,193,198,231,251,193,200,231,251,193,202,231,251,193,204,231,251,193,206,231,251,193,208,231,251,193,242,231,251,193,38,232,251,193,40,232,251,193,42,232,251,193,52,232,251,193,54,232,251,193,70,232,251,193,90,232,251,193,92,232,251,193,94,232,251,193,96,232,251,193,102,232,251,193,104,232,251,193,114,232,251,193,126,232,251,193,146,232,251,193,176,232,251,193,148,232,251,193,178,232,251,193,180,232,251,193,146,225,251,193,194,232,251,193,196,232,251,193,188,225,251,193,190,225,251,193,192,225,251,193,194,225,251,193,196,225,251,193,198,225,251,193,200,225,251,193,202,225,251,193,204,225,251,193,206,225,251,193,208,225,251,193,210,225,251,193,212,225,251,193,214,225,251,193,216,225,251,193,218,225,251,193,220,225,251,193,222,225,251,193,224,225,251,193,226,225,251,193,228,225,251,193,230,225,251,193,232,225,251,193,234,225,251,193,236,225,251,193,238,225,251,193,240,225,251,193,242,225,251,193,244,225,251,193,246,225,251,193,248,225,251,193,250,225,251,193,252,225,251,193,254,225,251,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,64,34,0,206,64,34,0,206,64,34,0,206,64,34,0,193,106,227,251,193,108,227,251,193,110,227,251,193,112,227,251,193,114,227,251,193,116,227,251,193,118,227,251,193,120,227,251,193,122,227,251,193,124,227,251,193,126,227,251,193,128,227,251,193,130,227,251,193,128,226,251,193,132,227,251,193,134,227,251,193,136,227,251,193,138,227,251,193,140,227,251,193,142,227,251,193,144,227,251,193,146,227,251,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,193,152,226,251,193,148,227,251,193,150,227,251,193,152,227,251,193,154,227,251,193,156,227,251,193,158,227,251,193,160,227,251,193,162,227,251,193,164,227,251,193,166,227,251,193,168,227,251,193,170,227,251,193,136,228,251,193,138,228,251,193,140,228,251,193,142,228,251,193,68,229,251,193,70,229,251,193,72,229,251,193,74,229,251,193,76,229,251,193,78,229,251,193,14,230,251,193,16,230,251,193,18,230,251,193,20,230,251,193,22,230,251,193,24,230,251,193,26,230,251,193,28,230,251,193,30,230,251,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,96,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,193,54,227,251,193,56,227,251,193,28,228,251,193,30,228,251,193,32,228,251,193,34,228,251,193,36,228,251,193,38,228,251,193,40,228,251,193,42,228,251,193,236,228,251,193,238,228,251,193,240,228,251,193,242,228,251,193,244,228,251,193,246,228,251,193,164,229,251,193,166,229,251,193,168,229,251,193,130,230,251,193,132,230,251,193,134,230,251,193,136,230,251,193,138,230,251,193,140,230,251,193,10,231,251,193,12,231,251,193,14,231,251,193,114,231,251,193,230,231,251,193,232,231,251,193,110,232,251,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,206,128,34,0,193,44,228,251,193,46,228,251,193,48,228,251,193,50,228,251,193,52,228,251,193,54,228,251,193,56,228,251,193,58,228,251,193,60,228,251,193,62,228,251,193,64,228,251,193,66,228,251,193,68,228,251,193,70,228,251,193,72,228,251,193,74,228,251,193,76,228,251,193,78,228,251,193,80,228,251,193,82,228,251,193,84,228,251,193,86,228,251,193,88,228,251,193,90,228,251,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,206,160,34,0,193,144,228,251,193,146,228,251,193,148,228,251,193,150,228,251,193,152,228,251,193,154,228,251,193,156,228,251,193,158,228,251,193,160,228,251,193,162,228,251,193,164,228,251,193,166,228,251,193,168,228,251,193,170,228,251,193,92,228,251,193,94,228,251,193,248,228,251,193,250,228,251,193,252,228,251,193,254,228,251,193,2,229,251,193,4,229,251,193,6,229,251,193,8,229,251,193,10,229,251,193,12,229,251,193,14,229,251,193,16,229,251,193,18,229,251,193,20,229,251,193,22,229,251,193,24,229,251,193,170,229,251,193,172,229,251,193,174,229,251,193,176,229,251,193,178,229,251,193,180,229,251,193,182,229,251,193,184,229,251,193,186,229,251,193,188,229,251,193,190,229,251,193,192,229,251,193,194,229,251,193,196,229,251,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,206,192,34,0,193,38,229,251,193,40,229,251,193,42,229,251,193,44,229,251,193,46,229,251,193,48,229,251,193,50,229,251,193,52,229,251,193,54,229,251,193,56,229,251,193,58,229,251,193,60,229,251,193,62,229,251,193,64,229,251,193,66,229,251,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,193,36,229,251,193,202,229,251,193,204,229,251,193,206,229,251,193,208,229,251,193,210,229,251,193,212,229,251,193,214,229,251,193,216,229,251,193,218,229,251,193,220,229,251,193,180,230,251,193,182,230,251,193,184,230,251,193,186,230,251,193,36,231,251,193,38,231,251,193,40,231,251,193,42,231,251,193,138,231,251,193,140,231,251,193,142,231,251,193,192,231,251,193,194,231,251,193,196,231,251,193,8,232,251,193,10,232,251,193,12,232,251,193,36,232,251,193,50,232,251,193,82,232,251,193,216,232,251,193,102,230,251,193,104,230,251,193,106,230,251,193,108,230,251,193,110,230,251,193,112,230,251,193,114,230,251,193,146,229,251,193,116,230,251,193,218,230,251,193,220,230,251,193,222,230,251,193,224,230,251,193,226,230,251,193,228,230,251,193,230,230,251,193,232,230,251,193,234,230,251,193,236,230,251,193,238,230,251,193,240,230,251,193,242,230,251,193,244,230,251,193,246,230,251,193,248,230,251,193,250,230,251,193,252,230,251,193,254,230,251,193,2,231,251,193,4,231,251,193,66,231,251,193,68,231,251,193,152,229,251,193,154,229,251,193,156,229,251,193,158,229,251,193,160,229,251,193,162,229,251,193,6,231,251,193,118,230,251,193,120,230,251,193,122,230,251,193,124,230,251,193,126,230,251,193,128,230,251,193,8,231,251,193,108,231,251,193,110,231,251,193,112,231,251,193,254,231,251,193,2,232,251,193,4,232,251,193,64,232,251,193,8,233,251,193,32,233,251,193,34,233,251,193,60,233,251,193,94,233,251,193,112,233,251,193,142,233,251,193,188,233,251,193,190,233,251,193,220,233,251,193,162,234,251,193,198,229,251,193,200,229,251,193,142,230,251,193,144,230,251,193,146,230,251,193,148,230,251,193,150,230,251,193,152,230,251,193,154,230,251,193,156,230,251,193,158,230,251,193,160,230,251,193,162,230,251,193,164,230,251,193,166,230,251,193,168,230,251,193,170,230,251,193,172,230,251,193,174,230,251,193,176,230,251,193,178,230,251,193,16,231,251,193,18,231,251,193,20,231,251,193,22,231,251,193,24,231,251,193,26,231,251,193,28,231,251,193,30,231,251,193,32,231,251,193,34,231,251,193,116,231,251,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,206,0,35,0,193,188,230,251,193,190,230,251,193,192,230,251,193,194,230,251,193,196,230,251,193,198,230,251,193,200,230,251,193,202,230,251,193,204,230,251,193,206,230,251,193,44,231,251,193,46,231,251,193,208,230,251,193,48,231,251,193,50,231,251,193,144,231,251,193,146,231,251,193,148,231,251,193,38,230,251,193,40,230,251,193,42,230,251,193,44,230,251,193,46,230,251,193,48,230,251,193,50,230,251,193,52,230,251,193,54,230,251,193,56,230,251,193,58,230,251,193,60,230,251,193,62,230,251,193,64,230,251,193,66,230,251,193,68,230,251,193,70,230,251,193,72,230,251,193,74,230,251,193,76,230,251,193,78,230,251,193,80,230,251,193,82,230,251,193,84,230,251,193,86,230,251,193,88,230,251,193,90,230,251,193,92,230,251,193,94,230,251,193,96,230,251,193,98,230,251,193,100,230,251,193,210,230,251,193,212,230,251,193,214,230,251,193,52,231,251,193,54,231,251,193,56,231,251,193,58,231,251,193,60,231,251,193,62,231,251,193,156,231,251,193,158,231,251,193,210,231,251,193,14,232,251,193,16,232,251,193,44,232,251,193,72,232,251,193,98,232,251,193,22,233,251,193,36,233,251,193,132,233,251,193,212,233,251,193,214,233,251,193,250,233,251,193,252,233,251,193,46,234,251,193,112,208,252,193,148,234,251,193,150,234,251,193,192,234,251,193,194,234,251,193,196,234,251,193,234,234,251,193,70,231,251,193,72,231,251,193,74,231,251,193,76,231,251,193,78,231,251,193,80,231,251,193,82,231,251,193,84,231,251,193,86,231,251,193,88,231,251,193,90,231,251,193,92,231,251,193,94,231,251,193,96,231,251,193,98,231,251,193,100,231,251,193,102,231,251,193,104,231,251,193,160,231,251,193,162,231,251,193,164,231,251,193,166,231,251,193,168,231,251,193,170,231,251,193,172,231,251,193,174,231,251,193,176,231,251,193,178,231,251,193,180,231,251,193,182,231,251,193,184,231,251,193,212,231,251,193,86,154,252,193,88,154,252,193,106,231,251,193,90,154,252,193,92,154,252,193,98,154,252,193,100,154,252,193,102,154,252,193,112,154,252,193,114,154,252,193,116,154,252,193,118,154,252,193,120,154,252,193,122,154,252,193,126,154,252,193,128,154,252,193,134,154,252,193,136,154,252,193,146,154,252,193,140,154,252,193,142,154,252,193,148,154,252,193,150,154,252,193,156,154,252,193,158,154,252,193,164,154,252,193,166,154,252,193,168,154,252,193,170,154,252,193,194,154,252,193,196,154,252,193,198,154,252,193,118,231,251,193,120,231,251,193,122,231,251,193,124,231,251,193,126,231,251,193,128,231,251,193,130,231,251,193,132,231,251,193,134,231,251,193,136,231,251,193,186,231,251,193,188,231,251,193,190,231,251,193,234,231,251,193,236,231,251,193,238,231,251,193,240,231,251,193,6,232,251,193,48,232,251,193,66,232,251,193,68,232,251,193,78,232,251,193,80,232,251,193,84,232,251,193,100,232,251,193,142,232,251,193,144,232,251,193,172,232,251,193,174,232,251,193,214,232,251,193,248,232,251,193,12,233,251,193,214,231,251,193,216,231,251,193,218,231,251,193,220,231,251,193,222,231,251,193,224,231,251,193,226,231,251,193,228,231,251,193,244,231,251,193,246,231,251,193,248,231,251,193,250,231,251,193,252,231,251,193,18,232,251,193,20,232,251,193,22,232,251,193,24,232,251,193,26,232,251,193,28,232,251,193,30,232,251,193,32,232,251,193,34,232,251,193,46,232,251,193,56,232,251,193,58,232,251,193,60,232,251,193,82,40,253,193,62,232,251,193,74,232,251,193,76,232,251,193,128,195,252,193,86,232,251,193,88,232,251,193,106,232,251,193,108,232,251,193,116,232,251,193,118,232,251,193,120,232,251,193,122,232,251,193,130,232,251,193,132,232,251,193,134,232,251,193,136,232,251,193,138,232,251,193,140,232,251,193,150,232,251,193,152,232,251,193,154,232,251,193,156,232,251,193,158,232,251,193,160,232,251,193,162,232,251,193,164,232,251,193,166,232,251,193,168,232,251,193,182,232,251,193,184,232,251,193,186,232,251,193,188,232,251,193,202,232,251,193,204,232,251,193,206,232,251,193,222,232,251,193,224,232,251,193,112,232,251,193,124,232,251,193,170,232,251,193,190,232,251,193,192,232,251,193,208,232,251,193,210,232,251,193,212,232,251,193,242,232,251,193,244,232,251,193,246,232,251,193,10,233,251,193,42,233,251,193,66,233,251,193,68,233,251,193,70,233,251,193,96,233,251,193,114,233,251,193,116,233,251,193,118,233,251,193,144,233,251,193,146,233,251,193,148,233,251,193,150,233,251,193,152,233,251,193,192,233,251,193,224,233,251,193,226,233,251,193,228,233,251,193,18,234,251,193,20,234,251,193,22,234,251,193,218,232,251,193,250,232,251,193,54,233,251,193,80,233,251,193,166,233,251,193,202,233,251,193,234,233,251,193,236,233,251,193,102,234,251,193,104,234,251,193,144,234,251,193,188,234,251,193,226,234,251,193,228,234,251,193,12,235,251,193,72,235,251,193,206,235,251,193,208,235,251,193,210,235,251,193,106,236,251,193,144,237,251,193,146,237,251,193,148,237,251,193,150,237,251,193,4,239,251,193,6,239,251,193,8,239,251,193,10,239,251,206,96,36,0,206,96,36,0,206,96,36,0,206,96,36,0,193,226,232,251,193,228,232,251,193,230,232,251,193,236,232,251,193,238,232,251,193,240,232,251,193,252,232,251,193,254,232,251,193,2,233,251,193,4,233,251,193,6,233,251,193,24,233,251,193,26,233,251,193,28,233,251,193,30,233,251,193,38,233,251,193,40,233,251,193,44,233,251,193,46,233,251,193,48,233,251,193,50,233,251,193,52,233,251,193,56,233,251,193,58,233,251,193,62,233,251,193,64,233,251,193,76,233,251,193,82,233,251,193,84,233,251,193,88,233,251,193,92,233,251,193,102,233,251,193,14,233,251,193,16,233,251,193,18,233,251,193,74,233,251,193,98,233,251,193,100,233,251,193,120,233,251,193,122,233,251,193,154,233,251,193,156,233,251,193,158,233,251,193,160,233,251,193,162,233,251,193,164,233,251,193,194,233,251,193,196,233,251,193,198,233,251,193,200,233,251,193,230,233,251,193,232,233,251,193,28,234,251,193,30,234,251,193,32,234,251,193,34,234,251,193,36,234,251,193,92,234,251,193,94,234,251,193,96,234,251,193,98,234,251,193,100,234,251,193,138,234,251,193,140,234,251,193,104,233,251,193,106,233,251,193,108,233,251,193,110,233,251,193,138,233,251,193,174,233,251,193,176,233,251,193,178,233,251,193,170,205,252,193,180,233,251,193,182,233,251,193,184,233,251,193,186,233,251,193,216,233,251,193,218,233,251,193,160,206,252,193,162,206,252,193,254,233,251,193,2,234,251,193,4,234,251,193,6,234,251,193,8,234,251,193,10,234,251,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,193,196,204,252,193,198,204,252,193,200,204,252,193,202,204,252,193,204,204,252,193,206,204,252,193,208,204,252,193,210,204,252,193,212,204,252,193,214,204,252,193,216,204,252,193,218,204,252,193,220,204,252,193,222,204,252,193,224,204,252,193,226,204,252,193,228,204,252,193,230,204,252,193,232,204,252,193,234,204,252,193,236,204,252,193,238,204,252,193,240,204,252,193,140,233,251,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,193,12,234,251,193,14,234,251,193,16,234,251,193,78,234,251,193,128,234,251,193,130,234,251,193,132,234,251,193,134,234,251,193,164,234,251,193,166,234,251,193,168,234,251,193,214,234,251,193,216,234,251,193,252,234,251,193,92,235,251,193,94,235,251,193,108,235,251,193,84,236,251,193,86,236,251,193,88,236,251,193,90,236,251,193,92,236,251,193,112,237,251,193,114,237,251,193,116,237,251,193,118,237,251,193,202,238,251,193,204,238,251,193,206,238,251,193,208,238,251,193,210,238,251,193,212,238,251,193,24,234,251,193,26,234,251,193,84,234,251,193,86,234,251,193,88,234,251,193,90,234,251,193,136,234,251,193,170,234,251,193,172,234,251,193,174,234,251,193,176,234,251,193,178,234,251,193,180,234,251,193,218,234,251,193,220,234,251,193,254,234,251,193,2,235,251,193,32,235,251,193,34,235,251,193,36,235,251,193,38,235,251,193,62,235,251,193,64,235,251,193,74,235,251,193,76,235,251,193,96,235,251,193,112,235,251,193,122,235,251,193,144,235,251,193,94,236,251,193,96,236,251,193,98,236,251,206,32,35,0,206,32,35,0,206,32,35,0,206,32,35,0,193,110,234,251,193,112,234,251,193,114,234,251,193,116,234,251,193,118,234,251,193,120,234,251,193,122,234,251,193,124,234,251,193,126,234,251,193,152,234,251,193,154,234,251,193,156,234,251,193,158,234,251,193,160,234,251,193,198,234,251,193,200,234,251,193,202,234,251,193,204,234,251,193,206,234,251,193,208,234,251,193,210,234,251,193,212,234,251,193,236,234,251,193,238,234,251,193,16,235,251,193,240,234,251,193,242,234,251,193,244,234,251,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,193,76,234,251,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,193,106,234,251,193,116,209,252,193,146,234,251,193,230,234,251,193,232,234,251,193,88,212,252,193,50,235,251,193,86,235,251,193,114,235,251,193,116,235,251,193,124,235,251,193,126,235,251,193,128,235,251,193,130,235,251,193,132,235,251,193,134,235,251,193,136,235,251,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,193,142,234,251,193,182,234,251,193,184,234,251,193,186,234,251,193,222,234,251,193,224,234,251,193,4,235,251,193,6,235,251,193,8,235,251,193,10,235,251,193,40,235,251,193,42,235,251,193,44,235,251,193,46,235,251,193,48,235,251,193,66,235,251,193,68,235,251,193,70,235,251,193,78,235,251,193,80,235,251,193,82,235,251,193,84,235,251,193,104,235,251,193,110,235,251,193,146,235,251,193,100,236,251,193,102,236,251,193,104,236,251,193,132,237,251,193,134,237,251,193,136,237,251,193,138,237,251,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,193,190,234,251,193,90,212,252,193,92,212,252,193,94,212,252,193,96,212,252,193,98,212,252,193,100,212,252,193,102,212,252,193,104,212,252,193,106,212,252,193,108,212,252,193,110,212,252,193,112,212,252,193,114,212,252,193,116,212,252,193,118,212,252,193,120,212,252,193,122,212,252,193,124,212,252,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,193,246,234,251,193,248,234,251,193,250,234,251,193,18,235,251,193,20,235,251,193,22,235,251,193,24,235,251,193,26,235,251,193,28,235,251,193,52,235,251,193,54,235,251,193,56,235,251,193,58,235,251,193,60,235,251,193,88,235,251,193,90,235,251,193,98,235,251,193,100,235,251,193,106,235,251,193,118,235,251,193,120,235,251,193,138,235,251,193,140,235,251,193,142,235,251,193,188,235,251,193,190,235,251,193,192,235,251,193,194,235,251,193,196,235,251,193,198,235,251,193,200,235,251,193,202,235,251,193,14,235,251,193,186,235,251,193,36,236,251,193,38,236,251,193,40,236,251,193,42,236,251,193,44,236,251,193,242,236,251,193,244,236,251,193,246,236,251,193,248,236,251,193,250,236,251,193,252,236,251,193,254,236,251,193,2,237,251,193,4,237,251,193,6,237,251,193,98,238,251,193,100,238,251,193,102,238,251,193,104,238,251,193,106,238,251,193,108,238,251,193,110,238,251,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,193,212,214,252,193,250,214,252,193,20,215,252,193,102,235,251,193,88,215,252,193,116,215,252,193,148,215,252,193,154,215,252,193,166,215,252,193,206,215,252,193,52,216,252,193,88,216,252,193,110,216,252,193,150,216,252,193,212,216,252,193,222,216,252,193,224,216,252,193,2,217,252,193,14,218,252,193,86,218,252,193,116,218,252,193,198,218,252,193,200,218,252,193,38,219,252,193,68,219,252,193,80,219,252,193,180,219,252,193,240,220,252,193,66,221,252,193,68,221,252,193,180,221,252,193,244,221,252,206,64,35,0,206,64,35,0,206,64,35,0,206,64,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,193,204,235,251,193,46,236,251,193,48,236,251,193,50,236,251,193,52,236,251,193,54,236,251,193,56,236,251,193,58,236,251,193,60,236,251,193,62,236,251,193,64,236,251,193,66,236,251,193,68,236,251,193,70,236,251,193,72,236,251,193,74,236,251,193,76,236,251,193,78,236,251,193,80,236,251,193,82,236,251,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,206,96,35,0,193,108,236,251,193,110,236,251,193,112,236,251,193,114,236,251,193,116,236,251,193,118,236,251,193,120,236,251,193,122,236,251,193,124,236,251,193,126,236,251,193,128,236,251,193,130,236,251,193,132,236,251,193,134,236,251,193,136,236,251,193,138,236,251,193,140,236,251,193,142,236,251,193,144,236,251,193,146,236,251,193,148,236,251,193,150,236,251,193,152,236,251,193,34,236,251,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,128,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,160,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,193,122,237,251,193,124,237,251,193,126,237,251,193,128,237,251,193,130,237,251,193,220,238,251,193,222,238,251,193,146,240,251,193,148,240,251,193,150,240,251,193,152,240,251,193,154,240,251,193,156,240,251,193,158,240,251,193,160,240,251,193,162,240,251,193,164,240,251,193,166,240,251,193,82,242,251,193,84,242,251,193,86,242,251,193,88,242,251,193,90,242,251,193,92,242,251,193,94,242,251,193,96,242,251,193,98,242,251,193,100,242,251,193,102,242,251,193,172,244,251,193,174,244,251,193,176,244,251,193,140,237,251,193,142,237,251,193,224,238,251,193,226,238,251,193,228,238,251,193,230,238,251,193,232,238,251,193,234,238,251,193,236,238,251,193,238,238,251,193,240,238,251,193,242,238,251,193,244,238,251,193,246,238,251,193,248,238,251,193,250,238,251,193,252,238,251,193,254,238,251,193,2,239,251,193,168,240,251,193,170,240,251,193,172,240,251,193,174,240,251,193,176,240,251,193,178,240,251,193,180,240,251,193,182,240,251,193,184,240,251,193,186,240,251,193,188,240,251,193,190,240,251,193,192,240,251,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,192,35,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,224,35,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,193,214,238,251,193,216,238,251,193,218,238,251,193,116,240,251,193,118,240,251,193,120,240,251,193,122,240,251,193,124,240,251,193,126,240,251,193,128,240,251,193,130,240,251,193,132,240,251,193,134,240,251,193,136,240,251,193,138,240,251,193,140,240,251,193,52,242,251,193,54,242,251,193,56,242,251,193,58,242,251,193,60,242,251,193,62,242,251,193,64,242,251,193,66,242,251,193,68,242,251,193,70,242,251,193,72,242,251,193,74,242,251,193,76,242,251,193,78,242,251,193,80,242,251,193,138,244,251,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,0,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,206,32,36,0,193,144,241,251,193,146,241,251,193,148,241,251,193,150,241,251,193,152,241,251,193,154,241,251,193,156,241,251,193,158,241,251,193,160,241,251,193,162,241,251,193,164,241,251,193,166,241,251,193,168,241,251,193,170,241,251,193,128,243,251,193,172,241,251,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,206,64,36,0,193,194,240,251,193,196,240,251,193,198,240,251,193,104,242,251,193,106,242,251,193,108,242,251,193,110,242,251,193,112,242,251,193,114,242,251,193,116,242,251,193,118,242,251,193,120,242,251,193,122,242,251,193,124,242,251,193,126,242,251,193,128,242,251,193,130,242,251,193,132,242,251,193,134,242,251,193,136,242,251,193,138,242,251,193,140,242,251,193,142,242,251,193,144,242,251,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,96,36,0,206,96,36,0,206,96,36,0,206,96,36,0,206,96,36,0,206,96,36,0,206,96,36,0,193,146,242,251,193,148,242,251,193,150,242,251,193,152,242,251,193,154,242,251,193,156,242,251,193,158,242,251,193,160,242,251,193,162,242,251,193,164,242,251,193,24,245,251,193,26,245,251,193,28,245,251,193,30,245,251,193,32,245,251,193,34,245,251,193,36,245,251,193,38,245,251,193,40,245,251,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,128,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,160,36,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,192,36,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,206,224,36,0,193,234,245,251,193,236,245,251,193,238,245,251,193,240,245,251,193,242,245,251,193,244,245,251,193,246,245,251,193,248,245,251,193,250,245,251,193,252,245,251,193,254,245,251,193,2,246,251,193,4,246,251,193,6,246,251,193,8,246,251,193,10,246,251,193,12,246,251,193,14,246,251,193,16,246,251,193,18,246,251,193,20,246,251,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,0,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,193,140,244,251,193,142,244,251,193,144,244,251,193,146,244,251,193,148,244,251,193,150,244,251,193,152,244,251,193,154,244,251,193,156,244,251,193,158,244,251,193,160,244,251,193,162,244,251,193,164,244,251,193,166,244,251,193,168,244,251,193,170,244,251,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,193,178,244,251,193,180,244,251,193,182,244,251,193,184,244,251,193,186,244,251,193,188,244,251,193,190,244,251,193,192,244,251,193,194,244,251,193,196,244,251,193,198,244,251,193,200,244,251,193,202,244,251,193,204,244,251,193,206,244,251,193,208,244,251,193,210,244,251,193,212,244,251,193,214,244,251,193,216,244,251,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,32,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,206,64,37,0,193,192,247,251,193,224,245,251,193,226,245,251,193,194,247,251,193,196,247,251,193,198,247,251,193,200,247,251,193,202,247,251,193,204,247,251,193,206,247,251,193,228,245,251,193,208,247,251,193,210,247,251,193,212,247,251,193,230,245,251,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,193,22,246,251,193,108,55,252,193,24,246,251,193,26,246,251,193,112,248,251,193,114,248,251,193,116,248,251,193,118,248,251,193,120,248,251,193,122,248,251,193,124,248,251,193,126,248,251,193,128,248,251,193,130,248,251,193,132,248,251,193,134,248,251,193,136,248,251,193,138,248,251,193,140,248,251,193,142,248,251,193,144,248,251,193,146,248,251,193,148,248,251,193,150,248,251,193,152,248,251,193,154,248,251,193,156,248,251,193,158,248,251,193,160,248,251,193,162,248,251,193,190,250,251,193,192,250,251,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,206,96,37,0,193,164,248,251,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,128,37,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,206,160,37,0,193,126,249,251,193,128,249,251,193,130,249,251,193,132,249,251,193,134,249,251,193,136,249,251,193,138,249,251,193,140,249,251,193,142,249,251,193,144,249,251,193,146,249,251,193,148,249,251,193,150,249,251,193,152,249,251,193,154,249,251,193,156,249,251,193,158,249,251,193,160,249,251,193,162,249,251,193,164,249,251,193,166,249,251,193,180,251,251,193,182,251,251,193,184,251,251,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,192,37,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,206,224,37,0,193,220,249,251,193,222,249,251,193,224,249,251,193,226,249,251,193,228,249,251,193,230,249,251,193,232,249,251,193,234,249,251,193,236,249,251,193,238,249,251,193,240,249,251,193,242,249,251,193,244,249,251,193,246,249,251,193,248,249,251,193,250,249,251,193,252,249,251,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,206,0,38,0,193,254,249,251,193,2,250,251,193,4,250,251,193,6,250,251,193,8,250,251,193,10,250,251,193,12,250,251,193,14,250,251,193,16,250,251,193,18,250,251,193,20,250,251,193,22,250,251,193,24,250,251,193,26,250,251,193,28,250,251,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,206,32,38,0,193,30,250,251,193,32,250,251,193,34,250,251,193,36,250,251,193,38,250,251,193,40,250,251,193,42,250,251,193,106,248,251,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,193,108,248,251,193,180,250,251,193,182,250,251,193,184,250,251,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,64,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,206,96,38,0,193,218,251,251,193,220,251,251,193,222,251,251,193,224,251,251,193,226,251,251,193,228,251,251,193,230,251,251,193,232,251,251,193,234,251,251,193,236,251,251,193,238,251,251,193,240,251,251,193,242,251,251,193,244,251,251,193,246,251,251,193,248,251,251,193,250,251,251,193,252,251,251,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,128,38,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,193,186,250,251,193,186,252,251,193,188,252,251,193,190,252,251,193,192,252,251,193,194,252,251,193,196,252,251,193,198,252,251,193,200,252,251,193,202,252,251,193,204,252,251,193,206,252,251,193,208,252,251,193,210,252,251,193,212,252,251,193,188,250,251,193,214,252,251,193,216,252,251,193,218,252,251,193,220,252,251,193,222,252,251,193,224,252,251,193,226,252,251,193,228,252,251,193,134,254,251,193,136,254,251,193,138,254,251,193,194,250,251,193,196,250,251,193,198,250,251,193,200,250,251,193,202,250,251,193,204,250,251,193,206,250,251,193,208,250,251,193,210,250,251,193,212,250,251,193,214,250,251,193,216,250,251,193,218,250,251,193,220,250,251,193,222,250,251,193,224,250,251,193,230,252,251,193,226,250,251,193,228,250,251,193,232,252,251,193,234,252,251,193,236,252,251,193,238,252,251,193,240,252,251,193,242,252,251,193,244,252,251,193,246,252,251,193,248,252,251,193,250,252,251,193,252,252,251,193,254,252,251,193,2,253,251,193,230,250,251,193,4,253,251,193,6,253,251,193,8,253,251,193,10,253,251,193,12,253,251,193,14,253,251,193,16,253,251,193,18,253,251,193,20,253,251,193,226,254,251,193,228,254,251,193,230,254,251,193,232,254,251,193,234,254,251,193,236,254,251,193,238,254,251,193,240,254,251,193,242,254,251,193,244,254,251,193,246,254,251,193,248,254,251,193,250,254,251,193,48,2,252,193,50,2,252,193,52,2,252,193,54,2,252,193,56,2,252,193,58,2,252,193,60,2,252,193,88,3,252,193,90,3,252,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,206,160,38,0,193,22,253,251,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,192,38,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,193,186,251,251,193,188,251,251,193,190,251,251,193,192,251,251,193,194,251,251,193,196,251,251,193,198,251,251,193,200,251,251,193,202,251,251,193,204,251,251,193,206,251,251,193,208,251,251,193,210,251,251,193,4,254,251,193,6,254,251,193,8,254,251,193,10,254,251,193,12,254,251,193,14,254,251,193,16,254,251,193,18,254,251,193,20,254,251,193,22,254,251,193,24,254,251,193,26,254,251,193,28,254,251,193,30,254,251,193,32,254,251,193,34,254,251,193,158,255,251,193,160,255,251,193,162,255,251,193,254,251,251,193,2,252,251,193,4,252,251,193,6,252,251,193,8,252,251,193,10,252,251,193,12,252,251,193,14,252,251,193,16,252,251,193,18,252,251,193,20,252,251,193,22,252,251,193,24,252,251,193,26,252,251,193,28,252,251,193,30,252,251,193,32,252,251,193,34,252,251,193,36,252,251,193,38,252,251,193,40,252,251,193,42,252,251,193,44,252,251,193,46,252,251,193,48,252,251,193,50,252,251,193,52,252,251,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,206,224,38,0,193,106,254,251,193,108,254,251,193,110,254,251,193,112,254,251,193,114,254,251,193,116,254,251,193,118,254,251,193,120,254,251,193,122,254,251,193,124,254,251,193,126,254,251,193,128,254,251,193,130,254,251,193,132,254,251,193,222,255,251,193,224,255,251,193,226,255,251,193,228,255,251,193,230,255,251,193,232,255,251,193,234,255,251,193,236,255,251,193,22,3,252,193,24,3,252,193,26,3,252,193,14,4,252,193,16,4,252,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,0,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,206,32,39,0,193,252,254,251,193,254,254,251,193,2,255,251,193,4,255,251,193,6,255,251,193,8,255,251,193,10,255,251,193,12,255,251,193,14,255,251,193,16,255,251,193,18,255,251,193,20,255,251,193,22,255,251,193,24,255,251,193,26,255,251,193,28,255,251,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,206,64,39,0,193,184,255,251,193,186,255,251,193,188,255,251,193,190,255,251,193,192,255,251,193,194,255,251,193,196,255,251,193,198,255,251,193,200,255,251,193,202,255,251,193,204,255,251,193,232,2,252,193,234,2,252,193,236,2,252,193,238,2,252,193,240,2,252,193,242,2,252,193,244,2,252,193,246,2,252,193,248,2,252,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,206,96,39,0,193,206,255,251,193,208,255,251,193,210,255,251,193,212,255,251,193,214,255,251,193,216,255,251,193,218,255,251,193,220,255,251,193,252,2,252,193,254,2,252,193,2,3,252,193,4,3,252,193,6,3,252,193,8,3,252,193,10,3,252,193,12,3,252,193,14,3,252,193,16,3,252,193,18,3,252,193,20,3,252,193,246,3,252,193,248,3,252,193,140,254,251,193,142,254,251,193,144,254,251,193,146,254,251,193,148,254,251,193,150,254,251,193,152,254,251,193,154,254,251,193,156,254,251,193,158,254,251,193,160,254,251,193,162,254,251,193,164,254,251,193,166,254,251,193,168,254,251,193,170,254,251,193,172,254,251,193,174,254,251,193,176,254,251,193,178,254,251,193,180,254,251,193,182,254,251,193,184,254,251,193,186,254,251,193,188,254,251,193,190,254,251,193,192,254,251,193,194,254,251,193,196,254,251,193,198,254,251,193,200,254,251,193,202,254,251,193,204,254,251,193,206,254,251,193,208,254,251,193,210,254,251,193,212,254,251,193,214,254,251,193,216,254,251,193,218,254,251,193,220,254,251,193,222,254,251,193,224,254,251,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,193,30,255,251,193,32,255,251,193,34,255,251,193,36,255,251,193,38,255,251,193,40,255,251,193,42,255,251,193,44,255,251,193,46,255,251,193,48,255,251,193,50,255,251,193,52,255,251,193,54,255,251,193,56,255,251,193,58,255,251,193,60,255,251,193,62,255,251,193,64,255,251,193,66,255,251,193,68,255,251,193,70,255,251,193,72,255,251,193,74,255,251,193,76,255,251,193,78,255,251,193,80,255,251,193,82,255,251,193,84,255,251,193,86,255,251,193,88,255,251,193,90,255,251,193,92,255,251,193,94,255,251,193,96,255,251,193,138,140,252,193,98,255,251,193,100,255,251,193,102,255,251,193,104,255,251,193,106,255,251,193,108,255,251,193,110,255,251,193,112,255,251,193,114,255,251,193,116,255,251,193,118,255,251,193,120,255,251,193,122,255,251,193,124,255,251,193,126,255,251,193,128,255,251,193,130,255,251,193,132,255,251,193,134,255,251,193,136,255,251,193,138,255,251,193,140,255,251,193,142,255,251,193,144,255,251,193,146,255,251,193,148,255,251,193,150,255,251,193,152,255,251,193,154,255,251,193,156,255,251,193,62,2,252,193,64,2,252,193,66,2,252,193,68,2,252,193,70,2,252,193,72,2,252,193,74,2,252,193,76,2,252,193,78,2,252,193,80,2,252,193,82,2,252,193,84,2,252,193,86,2,252,193,88,2,252,193,90,2,252,193,92,2,252,193,94,2,252,193,96,2,252,193,98,2,252,193,100,2,252,193,102,2,252,193,104,2,252,193,106,2,252,193,108,2,252,193,110,3,252,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,193,164,255,251,193,166,255,251,193,168,255,251,193,170,255,251,193,172,255,251,193,174,255,251,193,176,255,251,193,178,255,251,193,180,255,251,193,216,2,252,193,218,2,252,193,220,2,252,193,222,2,252,193,224,2,252,193,226,2,252,193,228,2,252,193,218,3,252,193,220,3,252,193,222,3,252,193,224,3,252,193,226,3,252,193,228,3,252,193,164,4,252,193,166,4,252,193,168,4,252,193,170,4,252,193,172,4,252,193,62,5,252,193,64,5,252,193,66,5,252,193,68,5,252,193,180,5,252,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,128,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,206,160,39,0,193,72,133,252,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,193,250,2,252,193,230,3,252,193,232,3,252,193,234,3,252,193,236,3,252,193,238,3,252,193,240,3,252,193,242,3,252,193,244,3,252,193,174,4,252,193,176,4,252,193,70,5,252,193,72,5,252,193,74,5,252,193,76,5,252,193,78,5,252,193,186,5,252,193,188,5,252,193,190,5,252,193,192,5,252,193,6,6,252,193,70,6,252,193,72,6,252,193,74,6,252,193,76,6,252,193,138,6,252,193,140,6,252,193,154,6,252,193,178,6,252,193,220,6,252,193,222,6,252,193,16,7,252,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,206,192,39,0,193,28,4,252,193,30,4,252,193,32,4,252,193,34,4,252,193,84,3,252,193,36,4,252,193,86,3,252,193,38,4,252,193,40,4,252,193,42,4,252,193,44,4,252,193,46,4,252,193,48,4,252,193,50,4,252,193,52,4,252,193,54,4,252,193,96,5,252,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,193,92,3,252,193,94,3,252,193,96,3,252,193,98,3,252,193,100,3,252,193,102,3,252,193,104,3,252,193,106,3,252,193,108,3,252,193,56,4,252,193,58,4,252,193,60,4,252,193,62,4,252,193,64,4,252,193,66,4,252,193,68,4,252,193,70,4,252,193,72,4,252,193,74,4,252,193,76,4,252,193,230,4,252,193,232,4,252,193,78,4,252,193,114,5,252,193,116,5,252,193,208,5,252,193,210,5,252,193,212,5,252,193,214,5,252,193,200,6,252,193,202,6,252,193,232,6,252,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,206,224,39,0,193,80,4,252,193,82,4,252,193,84,4,252,193,86,4,252,193,88,4,252,193,90,4,252,193,92,4,252,193,94,4,252,193,96,4,252,193,98,4,252,193,100,4,252,193,102,4,252,193,104,4,252,193,216,3,252,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,193,250,3,252,193,252,3,252,193,254,3,252,193,2,4,252,193,4,4,252,193,6,4,252,193,8,4,252,193,10,4,252,193,12,4,252,193,178,4,252,193,180,4,252,193,182,4,252,193,184,4,252,193,186,4,252,193,188,4,252,193,190,4,252,193,192,4,252,193,194,4,252,193,196,4,252,193,198,4,252,193,80,5,252,193,82,5,252,193,84,5,252,193,86,5,252,193,194,5,252,193,196,5,252,193,198,5,252,193,8,6,252,193,10,6,252,193,12,6,252,193,14,6,252,193,16,6,252,193,18,4,252,193,20,4,252,193,22,4,252,193,24,4,252,193,26,4,252,193,88,5,252,193,90,5,252,193,92,5,252,193,94,5,252,193,166,6,252,193,22,7,252,193,24,7,252,193,84,7,252,193,230,7,252,193,232,7,252,193,60,8,252,193,62,8,252,193,64,8,252,193,148,8,252,193,150,8,252,193,152,8,252,193,154,8,252,193,226,8,252,193,228,8,252,193,30,9,252,193,106,9,252,193,220,9,252,193,240,9,252,193,242,9,252,193,52,10,252,193,54,10,252,193,56,10,252,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,206,0,40,0,193,234,4,252,193,236,4,252,193,238,4,252,193,240,4,252,193,242,4,252,193,244,4,252,193,246,4,252,193,248,4,252,193,250,4,252,193,252,4,252,193,254,4,252,193,2,5,252,193,4,5,252,193,6,5,252,193,8,5,252,193,10,5,252,193,12,5,252,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,206,32,40,0,193,98,5,252,193,100,5,252,193,102,5,252,193,104,5,252,193,106,5,252,193,108,5,252,193,228,4,252,193,110,5,252,193,112,5,252,193,200,5,252,193,202,5,252,193,204,5,252,193,206,5,252,193,20,6,252,193,22,6,252,193,24,6,252,193,78,6,252,193,80,6,252,193,82,6,252,193,84,6,252,193,86,6,252,193,88,6,252,193,116,6,252,193,118,6,252,193,156,6,252,193,158,6,252,193,14,5,252,193,16,5,252,193,118,5,252,193,18,5,252,193,20,5,252,193,22,5,252,193,24,5,252,193,26,5,252,193,28,5,252,193,30,5,252,193,32,5,252,193,34,5,252,193,36,5,252,193,38,5,252,193,40,5,252,193,42,5,252,193,44,5,252,193,46,5,252,193,48,5,252,193,50,5,252,193,52,5,252,193,54,5,252,193,56,5,252,193,58,5,252,193,60,5,252,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,64,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,193,182,5,252,193,184,5,252,193,2,6,252,193,4,6,252,193,66,6,252,193,68,6,252,193,114,6,252,193,152,6,252,193,136,6,252,193,14,7,252,193,76,7,252,193,78,7,252,193,214,7,252,193,216,7,252,193,48,8,252,193,136,8,252,193,138,8,252,193,216,8,252,193,24,9,252,193,144,9,252,193,180,9,252,193,42,10,252,193,120,10,252,193,152,10,252,193,206,10,252,193,254,10,252,193,2,11,252,193,36,11,252,193,70,11,252,193,100,11,252,193,102,11,252,193,128,11,252,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,206,96,40,0,193,26,6,252,193,28,6,252,193,30,6,252,193,32,6,252,193,34,6,252,193,36,6,252,193,38,6,252,193,40,6,252,193,42,6,252,193,44,6,252,193,46,6,252,193,48,6,252,193,50,6,252,193,52,6,252,193,54,6,252,193,56,6,252,193,58,6,252,193,60,6,252,193,62,6,252,193,90,6,252,193,92,6,252,193,18,6,252,193,142,6,252,193,170,6,252,193,180,6,252,193,196,6,252,193,18,7,252,193,20,7,252,193,154,7,252,193,156,7,252,193,158,7,252,193,160,7,252,193,162,7,252,193,228,7,252,193,54,8,252,193,56,8,252,193,58,8,252,193,144,8,252,193,146,8,252,193,224,8,252,193,26,9,252,193,28,9,252,193,70,9,252,193,72,9,252,193,146,9,252,193,214,9,252,193,216,9,252,193,218,9,252,193,46,10,252,193,48,10,252,193,50,10,252,193,78,10,252,193,80,10,252,193,178,147,252,193,180,147,252,193,182,147,252,193,184,147,252,193,186,147,252,193,188,147,252,193,208,147,252,193,210,147,252,193,212,147,252,193,214,147,252,193,220,147,252,193,222,147,252,193,224,147,252,193,226,147,252,193,228,147,252,193,230,147,252,193,232,147,252,193,234,147,252,193,236,147,252,193,242,147,252,193,64,6,252,193,244,147,252,193,246,147,252,193,252,147,252,193,254,147,252,193,2,148,252,193,4,148,252,193,6,148,252,193,8,148,252,193,10,148,252,193,12,148,252,193,14,148,252,193,188,6,252,193,190,6,252,193,192,6,252,193,224,6,252,193,198,6,252,193,226,6,252,193,228,6,252,193,230,6,252,193,26,7,252,193,28,7,252,193,30,7,252,193,86,7,252,193,88,7,252,193,90,7,252,193,92,7,252,193,94,7,252,193,96,7,252,193,98,7,252,193,164,7,252,193,166,7,252,193,168,7,252,193,170,7,252,193,172,7,252,193,174,7,252,193,176,7,252,193,234,7,252,193,236,7,252,193,238,7,252,193,240,7,252,193,242,7,252,193,244,7,252,193,246,7,252,193,194,6,252,193,204,6,252,193,206,6,252,193,208,6,252,193,210,6,252,193,212,6,252,193,214,6,252,193,216,6,252,193,218,6,252,193,240,6,252,193,242,6,252,193,244,6,252,193,246,6,252,193,248,6,252,193,250,6,252,193,252,6,252,193,254,6,252,193,2,7,252,193,4,7,252,193,6,7,252,193,8,7,252,193,10,7,252,193,12,7,252,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,193,234,6,252,193,236,6,252,193,238,6,252,193,32,7,252,193,34,7,252,193,36,7,252,193,38,7,252,193,40,7,252,193,42,7,252,193,100,7,252,193,102,7,252,193,104,7,252,193,106,7,252,193,108,7,252,193,178,7,252,193,180,7,252,193,182,7,252,193,184,7,252,193,248,7,252,193,250,7,252,193,252,7,252,193,254,7,252,193,2,8,252,193,148,12,252,193,4,8,252,193,84,8,252,193,86,8,252,193,88,8,252,193,90,8,252,193,92,8,252,193,94,8,252,193,166,8,252,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,206,128,40,0,193,112,7,252,193,114,7,252,193,116,7,252,193,118,7,252,193,120,7,252,193,122,7,252,193,124,7,252,193,126,7,252,193,128,7,252,193,130,7,252,193,132,7,252,193,134,7,252,193,136,7,252,193,138,7,252,193,140,7,252,193,142,7,252,193,144,7,252,193,146,7,252,193,148,7,252,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,193,80,7,252,193,82,7,252,193,150,7,252,193,152,7,252,193,218,7,252,193,220,7,252,193,222,7,252,193,224,7,252,193,226,7,252,193,50,8,252,193,52,8,252,193,140,8,252,193,142,8,252,193,218,8,252,193,220,8,252,193,222,8,252,193,66,9,252,193,68,9,252,193,104,9,252,193,120,9,252,193,156,9,252,193,176,9,252,193,210,9,252,193,212,9,252,193,238,9,252,193,44,10,252,193,74,10,252,193,76,10,252,193,122,10,252,193,124,10,252,193,154,10,252,193,156,10,252,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,206,160,40,0,193,6,8,252,193,8,8,252,193,10,8,252,193,12,8,252,193,14,8,252,193,16,8,252,193,18,8,252,193,20,8,252,193,22,8,252,193,24,8,252,193,26,8,252,193,28,8,252,193,30,8,252,193,32,8,252,193,34,8,252,193,36,8,252,193,38,8,252,193,40,8,252,193,42,8,252,193,44,8,252,193,46,8,252,193,96,8,252,193,98,8,252,193,100,8,252,193,66,8,252,193,68,8,252,193,70,8,252,193,72,8,252,193,74,8,252,193,76,8,252,193,78,8,252,193,80,8,252,193,82,8,252,193,156,8,252,193,158,8,252,193,160,8,252,193,162,8,252,193,164,8,252,193,230,8,252,193,232,8,252,193,234,8,252,193,236,8,252,193,238,8,252,193,240,8,252,193,32,9,252,193,34,9,252,193,36,9,252,193,38,9,252,193,40,9,252,193,42,9,252,193,44,9,252,193,74,9,252,193,76,9,252,193,78,9,252,193,108,9,252,193,110,9,252,193,102,8,252,193,104,8,252,193,106,8,252,193,108,8,252,193,110,8,252,193,112,8,252,193,114,8,252,193,116,8,252,193,118,8,252,193,120,8,252,193,122,8,252,193,124,8,252,193,30,50,253,193,126,8,252,193,128,8,252,193,130,8,252,193,132,8,252,193,134,8,252,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,193,168,8,252,193,170,8,252,193,242,8,252,193,244,8,252,193,46,9,252,193,48,9,252,193,80,9,252,193,82,9,252,193,84,9,252,193,86,9,252,193,124,9,252,193,136,9,252,193,160,9,252,193,172,9,252,193,182,9,252,193,204,9,252,193,224,9,252,193,226,9,252,193,62,10,252,193,64,10,252,193,66,10,252,193,174,10,252,193,176,10,252,193,26,11,252,193,140,11,252,193,204,11,252,193,10,12,252,193,12,12,252,193,14,12,252,193,16,12,252,193,78,12,252,193,80,12,252,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,206,192,40,0,193,246,8,252,193,248,8,252,193,250,8,252,193,252,8,252,193,254,8,252,193,2,9,252,193,4,9,252,193,6,9,252,193,8,9,252,193,10,9,252,193,12,9,252,193,14,9,252,193,16,9,252,193,18,9,252,193,20,9,252,193,22,9,252,193,50,9,252,193,52,9,252,193,54,9,252,193,56,9,252,193,58,9,252,193,60,9,252,193,62,9,252,193,64,9,252,193,88,9,252,193,90,9,252,193,92,9,252,193,94,9,252,193,96,9,252,193,98,9,252,193,100,9,252,193,102,9,252,193,112,9,252,193,114,9,252,193,116,9,252,193,118,9,252,193,126,9,252,193,128,9,252,193,130,9,252,193,132,9,252,193,134,9,252,193,138,9,252,193,140,9,252,193,142,9,252,193,148,9,252,193,150,9,252,193,162,9,252,193,152,9,252,193,154,9,252,193,164,9,252,193,166,9,252,193,168,9,252,193,170,9,252,193,174,9,252,193,178,9,252,193,184,9,252,193,122,9,252,193,158,9,252,193,190,9,252,193,196,9,252,193,202,9,252,193,222,9,252,193,244,9,252,193,246,9,252,193,248,9,252,193,250,9,252,193,58,10,252,193,60,10,252,193,92,10,252,193,94,10,252,193,170,10,252,193,172,10,252,193,230,10,252,193,232,10,252,193,234,10,252,193,236,10,252,193,24,11,252,193,50,11,252,193,52,11,252,193,88,11,252,193,138,11,252,193,192,11,252,193,198,11,252,193,202,11,252,193,226,11,252,193,254,11,252,193,2,12,252,193,4,12,252,193,186,9,252,193,188,9,252,193,194,9,252,193,198,9,252,193,200,9,252,193,206,9,252,193,208,9,252,193,228,9,252,193,230,9,252,193,252,9,252,193,232,9,252,193,234,9,252,193,236,9,252,193,254,9,252,193,2,10,252,193,4,10,252,193,6,10,252,193,8,10,252,193,10,10,252,193,12,10,252,193,14,10,252,193,16,10,252,193,18,10,252,193,20,10,252,193,22,10,252,193,24,10,252,193,26,10,252,193,28,10,252,193,30,10,252,193,32,10,252,193,34,10,252,193,36,10,252,193,82,10,252,193,126,10,252,193,160,10,252,193,162,10,252,193,164,10,252,193,166,10,252,193,214,10,252,193,216,10,252,193,218,10,252,193,220,10,252,193,10,11,252,193,12,11,252,193,42,11,252,193,44,11,252,193,76,11,252,193,78,11,252,193,80,11,252,193,82,11,252,193,108,11,252,193,110,11,252,193,112,11,252,193,134,11,252,193,136,11,252,193,156,11,252,193,168,11,252,193,170,11,252,193,172,11,252,193,174,11,252,193,190,11,252,193,220,11,252,193,222,11,252,193,224,11,252,193,84,10,252,193,86,10,252,193,88,10,252,193,90,10,252,193,128,10,252,193,130,10,252,193,132,10,252,193,134,10,252,193,136,10,252,193,138,10,252,193,168,10,252,193,222,10,252,193,224,10,252,193,226,10,252,193,228,10,252,193,14,11,252,193,16,11,252,193,18,11,252,193,20,11,252,193,22,11,252,193,46,11,252,193,48,11,252,193,84,11,252,193,86,11,252,193,114,11,252,193,116,11,252,193,164,11,252,193,176,11,252,193,252,11,252,193,218,12,252,193,220,12,252,193,38,13,252,193,158,10,252,193,208,10,252,193,210,10,252,193,212,10,252,193,6,11,252,193,8,11,252,193,38,11,252,193,40,11,252,193,72,11,252,193,74,11,252,193,104,11,252,193,106,11,252,193,130,11,252,193,132,11,252,193,154,11,252,193,160,11,252,193,162,11,252,193,130,12,252,193,132,12,252,193,194,12,252,193,196,12,252,193,198,12,252,193,24,13,252,193,26,13,252,193,124,13,252,193,126,13,252,193,128,13,252,193,186,13,252,193,140,14,252,193,154,14,252,193,178,14,252,193,190,14,252,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,193,126,70,252,193,128,70,252,193,130,70,252,193,132,70,252,193,134,70,252,193,136,70,252,193,138,70,252,193,140,70,252,193,142,70,252,193,144,70,252,193,146,70,252,193,148,70,252,193,150,70,252,193,152,70,252,193,154,70,252,193,252,10,252,193,156,70,252,193,158,70,252,193,160,70,252,193,230,11,252,193,232,11,252,193,234,11,252,193,236,11,252,193,238,11,252,193,240,11,252,193,242,11,252,193,244,11,252,193,246,11,252,193,18,12,252,193,20,12,252,193,22,12,252,193,24,12,252,193,26,12,252,193,28,12,252,193,30,12,252,193,32,12,252,193,34,12,252,193,36,12,252,193,38,12,252,193,40,12,252,193,42,12,252,193,44,12,252,193,46,12,252,193,48,12,252,193,50,12,252,193,52,12,252,193,54,12,252,193,56,12,252,193,84,12,252,193,86,12,252,193,88,12,252,193,248,11,252,193,250,11,252,193,58,12,252,193,60,12,252,193,62,12,252,193,64,12,252,193,134,12,252,193,136,12,252,193,138,12,252,193,200,12,252,193,202,12,252,193,204,12,252,193,206,12,252,193,208,12,252,193,210,12,252,193,212,12,252,193,214,12,252,193,216,12,252,193,28,13,252,193,30,13,252,193,32,13,252,193,34,13,252,193,36,13,252,193,130,13,252,193,132,13,252,193,188,13,252,193,190,13,252,193,192,13,252,193,232,13,252,193,28,14,252,193,30,14,252,193,72,14,252,193,6,12,252,193,8,12,252,193,66,12,252,193,68,12,252,193,70,12,252,193,72,12,252,193,74,12,252,193,76,12,252,193,140,12,252,193,142,12,252,193,144,12,252,193,146,12,252,193,222,12,252,193,224,12,252,193,226,12,252,193,228,12,252,193,230,12,252,193,232,12,252,193,234,12,252,193,236,12,252,193,42,13,252,193,44,13,252,193,46,13,252,193,48,13,252,193,50,13,252,193,52,13,252,193,54,13,252,193,134,13,252,193,136,13,252,193,194,13,252,193,196,13,252,193,198,13,252,193,82,12,252,193,150,12,252,193,238,12,252,193,240,12,252,193,56,13,252,193,58,13,252,193,60,13,252,193,62,13,252,193,64,13,252,193,66,13,252,193,138,13,252,193,140,13,252,193,142,13,252,193,144,13,252,193,146,13,252,193,204,13,252,193,206,13,252,193,208,13,252,193,210,13,252,193,244,13,252,193,246,13,252,193,44,14,252,193,46,14,252,193,48,14,252,193,88,14,252,193,144,14,252,193,146,14,252,193,166,14,252,193,176,14,252,193,182,14,252,193,212,14,252,193,214,14,252,193,90,12,252,193,92,12,252,193,94,12,252,193,96,12,252,193,98,12,252,193,100,12,252,193,102,12,252,193,104,12,252,193,106,12,252,193,108,12,252,193,110,12,252,193,112,12,252,193,114,12,252,193,116,12,252,193,118,12,252,193,120,12,252,193,122,12,252,193,124,12,252,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,206,0,41,0,193,242,12,252,193,244,12,252,193,246,12,252,193,248,12,252,193,250,12,252,193,252,12,252,193,254,12,252,193,2,13,252,193,4,13,252,193,6,13,252,193,8,13,252,193,10,13,252,193,12,13,252,193,14,13,252,193,16,13,252,193,18,13,252,193,20,13,252,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,193,40,13,252,193,32,14,252,193,156,14,252,193,134,15,252,193,136,15,252,193,138,15,252,193,198,15,252,193,200,15,252,193,2,16,252,193,22,16,252,193,60,16,252,193,230,16,252,193,242,16,252,193,62,17,252,193,120,17,252,193,122,17,252,193,124,17,252,193,126,17,252,193,222,17,252,193,224,17,252,193,226,17,252,193,228,17,252,193,44,18,252,193,46,18,252,193,122,18,252,193,124,18,252,193,126,18,252,193,128,18,252,193,130,18,252,193,132,18,252,193,232,18,252,193,234,18,252,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,32,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,206,64,41,0,193,212,13,252,193,214,13,252,193,216,13,252,193,218,13,252,193,220,13,252,193,222,13,252,193,224,13,252,193,226,13,252,193,228,13,252,193,248,13,252,193,250,13,252,193,252,13,252,193,254,13,252,193,2,14,252,193,4,14,252,193,6,14,252,193,8,14,252,193,10,14,252,193,12,14,252,193,14,14,252,193,16,14,252,193,18,14,252,193,20,14,252,193,22,14,252,193,24,14,252,193,50,14,252,193,52,14,252,193,54,14,252,193,200,13,252,193,202,13,252,193,234,13,252,193,236,13,252,193,238,13,252,193,240,13,252,193,242,13,252,193,34,14,252,193,36,14,252,193,38,14,252,193,40,14,252,193,42,14,252,193,82,14,252,193,84,14,252,193,86,14,252,193,106,14,252,193,132,14,252,193,134,14,252,193,158,14,252,193,174,14,252,193,180,14,252,193,196,14,252,193,198,14,252,193,210,14,252,193,240,14,252,193,242,14,252,193,244,14,252,193,246,14,252,193,40,15,252,193,42,15,252,193,82,15,252,193,84,15,252,193,56,14,252,193,58,14,252,193,60,14,252,193,62,14,252,193,64,14,252,193,66,14,252,193,68,14,252,193,70,14,252,193,90,14,252,193,92,14,252,193,94,14,252,193,96,14,252,193,98,14,252,193,100,14,252,193,102,14,252,193,108,14,252,193,110,14,252,193,112,14,252,193,114,14,252,193,116,14,252,193,118,14,252,193,120,14,252,193,122,14,252,193,136,14,252,193,138,14,252,193,148,14,252,193,150,14,252,193,152,14,252,193,160,14,252,193,162,14,252,193,164,14,252,193,168,14,252,193,74,14,252,193,76,14,252,193,78,14,252,193,80,14,252,193,124,14,252,193,126,14,252,193,128,14,252,193,130,14,252,193,194,14,252,193,230,14,252,193,232,14,252,193,234,14,252,193,236,14,252,193,238,14,252,193,32,15,252,193,34,15,252,193,36,15,252,193,38,15,252,193,72,15,252,193,74,15,252,193,76,15,252,193,78,15,252,193,80,15,252,193,130,15,252,193,132,15,252,193,164,15,252,193,166,15,252,193,168,15,252,193,194,15,252,193,196,15,252,193,248,15,252,193,250,15,252,193,170,14,252,193,172,14,252,193,184,14,252,193,186,14,252,193,188,14,252,193,200,14,252,193,202,14,252,193,204,14,252,193,216,14,252,193,218,14,252,193,220,14,252,193,250,14,252,193,252,14,252,193,254,14,252,193,2,15,252,193,4,15,252,193,6,15,252,193,8,15,252,193,10,15,252,193,12,15,252,193,14,15,252,193,16,15,252,193,18,15,252,193,20,15,252,193,22,15,252,193,50,15,252,193,52,15,252,193,54,15,252,193,56,15,252,193,58,15,252,193,60,15,252,193,62,15,252,193,192,14,252,193,206,14,252,193,208,14,252,193,226,14,252,193,228,14,252,193,26,15,252,193,28,15,252,193,30,15,252,193,70,15,252,193,122,15,252,193,124,15,252,193,126,15,252,193,128,15,252,193,162,15,252,193,188,15,252,193,190,15,252,193,192,15,252,193,246,15,252,193,18,16,252,193,20,16,252,193,72,16,252,193,102,16,252,193,136,16,252,193,152,16,252,193,174,16,252,193,232,16,252,193,240,16,252,193,12,17,252,193,60,17,252,193,112,17,252,193,114,17,252,193,116,17,252,193,248,14,252,193,44,15,252,193,46,15,252,193,48,15,252,193,92,15,252,193,144,15,252,193,206,15,252,193,208,15,252,193,210,15,252,193,4,16,252,193,24,16,252,193,204,16,252,193,28,17,252,193,68,17,252,193,70,17,252,193,72,17,252,193,74,17,252,193,76,17,252,193,132,17,252,193,248,17,252,193,56,18,252,193,58,18,252,193,60,18,252,193,62,18,252,193,64,18,252,193,66,18,252,193,68,18,252,193,150,18,252,193,152,18,252,193,154,18,252,193,156,18,252,193,4,19,252,193,86,15,252,193,88,15,252,193,90,15,252,193,140,15,252,193,142,15,252,193,170,15,252,193,172,15,252,193,202,15,252,193,204,15,252,193,44,16,252,193,74,16,252,193,104,16,252,193,106,16,252,193,110,16,252,193,112,16,252,193,118,16,252,193,120,16,252,193,124,16,252,193,126,16,252,193,154,16,252,193,180,16,252,193,182,16,252,193,198,16,252,193,200,16,252,193,202,16,252,193,208,16,252,193,6,17,252,193,22,17,252,193,40,17,252,193,42,17,252,193,64,17,252,193,66,17,252,193,94,15,252,193,96,15,252,193,98,15,252,193,100,15,252,193,102,15,252,193,104,15,252,193,106,15,252,193,108,15,252,193,110,15,252,193,112,15,252,193,114,15,252,193,116,15,252,193,118,15,252,193,152,117,252,193,146,15,252,193,148,15,252,193,150,15,252,193,152,15,252,193,154,15,252,193,156,15,252,193,158,15,252,193,160,15,252,193,174,15,252,193,176,15,252,193,178,15,252,193,180,15,252,193,182,15,252,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,193,4,71,252,193,6,71,252,193,8,71,252,193,10,71,252,193,12,71,252,193,14,71,252,193,16,71,252,193,18,71,252,193,20,71,252,193,22,71,252,193,60,71,252,193,62,71,252,193,64,71,252,193,66,71,252,193,68,71,252,193,70,71,252,193,72,71,252,193,74,71,252,193,76,71,252,193,78,71,252,193,80,71,252,193,82,71,252,193,84,71,252,193,184,15,252,193,86,71,252,193,88,71,252,193,90,71,252,193,92,71,252,193,94,71,252,193,96,71,252,193,98,71,252,193,100,71,252,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,206,96,41,0,193,6,16,252,193,8,16,252,193,10,16,252,193,12,16,252,193,26,16,252,193,28,16,252,193,30,16,252,193,32,16,252,193,34,16,252,193,36,16,252,193,38,16,252,193,40,16,252,193,46,16,252,193,48,16,252,193,50,16,252,193,52,16,252,193,54,16,252,193,56,16,252,193,62,16,252,193,64,16,252,193,252,15,252,193,254,15,252,193,42,16,252,193,58,16,252,193,66,16,252,193,90,16,252,193,96,16,252,193,116,16,252,193,138,16,252,193,166,16,252,193,206,16,252,193,216,16,252,193,218,16,252,193,220,16,252,193,222,16,252,193,228,16,252,193,234,16,252,193,236,16,252,193,118,17,252,193,212,17,252,193,214,17,252,193,216,17,252,193,218,17,252,193,220,17,252,193,42,18,252,193,118,18,252,193,120,18,252,193,226,18,252,193,228,18,252,193,230,18,252,193,76,19,252,193,78,19,252,193,68,16,252,193,70,16,252,193,76,16,252,193,78,16,252,193,80,16,252,193,82,16,252,193,84,16,252,193,86,16,252,193,88,16,252,193,92,16,252,193,98,16,252,193,100,16,252,193,108,16,252,193,114,16,252,193,122,16,252,193,128,16,252,193,130,16,252,193,132,16,252,193,134,16,252,193,140,16,252,193,142,16,252,193,144,16,252,193,146,16,252,193,148,16,252,193,150,16,252,193,156,16,252,193,158,16,252,193,160,16,252,193,162,16,252,193,168,16,252,193,170,16,252,193,172,16,252,193,176,16,252,193,178,16,252,193,186,16,252,193,188,16,252,193,190,16,252,193,192,16,252,193,194,16,252,193,196,16,252,193,210,16,252,193,212,16,252,193,214,16,252,193,224,16,252,193,226,16,252,193,238,16,252,193,244,16,252,193,246,16,252,193,248,16,252,193,250,16,252,193,254,16,252,193,2,17,252,193,4,17,252,193,8,17,252,193,10,17,252,193,14,17,252,193,16,17,252,193,18,17,252,193,20,17,252,193,24,17,252,193,30,17,252,193,32,17,252,193,34,17,252,193,36,17,252,193,38,17,252,193,44,17,252,193,46,17,252,193,48,17,252,193,50,17,252,193,52,17,252,193,54,17,252,193,56,17,252,193,58,17,252,193,78,17,252,193,80,17,252,193,82,17,252,193,84,17,252,193,86,17,252,193,88,17,252,193,90,17,252,193,92,17,252,193,94,17,252,193,96,17,252,193,98,17,252,193,100,17,252,193,102,17,252,193,104,17,252,193,106,17,252,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,193,128,17,252,193,130,17,252,193,230,17,252,193,232,17,252,193,234,17,252,193,236,17,252,193,238,17,252,193,240,17,252,193,242,17,252,193,244,17,252,193,246,17,252,193,48,18,252,193,50,18,252,193,52,18,252,193,54,18,252,193,134,18,252,193,136,18,252,193,138,18,252,193,140,18,252,193,142,18,252,193,144,18,252,193,146,18,252,193,148,18,252,193,244,18,252,193,246,18,252,193,248,18,252,193,250,18,252,193,252,18,252,193,254,18,252,193,2,19,252,193,86,19,252,193,188,19,252,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,128,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,193,210,17,252,193,116,18,252,193,74,19,252,193,162,19,252,193,164,19,252,193,240,19,252,193,50,20,252,193,98,20,252,193,150,20,252,193,250,20,252,193,4,21,252,193,6,21,252,193,18,21,252,193,24,21,252,193,42,21,252,193,94,21,252,193,124,21,252,193,146,21,252,193,200,21,252,193,220,21,252,193,162,22,252,193,164,22,252,193,166,22,252,193,168,22,252,193,172,23,252,193,174,23,252,193,176,23,252,193,244,24,252,193,246,24,252,193,248,24,252,193,250,24,252,193,252,24,252,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,160,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,192,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,224,41,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,193,236,18,252,193,238,18,252,193,240,18,252,193,242,18,252,193,80,19,252,193,82,19,252,193,84,19,252,193,172,19,252,193,174,19,252,193,176,19,252,193,178,19,252,193,180,19,252,193,182,19,252,193,184,19,252,193,186,19,252,193,242,19,252,193,244,19,252,193,246,19,252,193,58,20,252,193,154,20,252,193,156,20,252,193,176,20,252,193,214,20,252,193,248,20,252,193,20,21,252,193,26,21,252,193,48,21,252,193,68,21,252,193,98,21,252,193,100,21,252,193,126,21,252,193,128,21,252,193,6,19,252,193,8,19,252,193,10,19,252,193,12,19,252,193,88,19,252,193,90,19,252,193,92,19,252,193,94,19,252,193,96,19,252,193,98,19,252,193,4,20,252,193,6,20,252,193,8,20,252,193,10,20,252,193,12,20,252,193,110,20,252,193,112,20,252,193,160,20,252,193,226,20,252,193,22,21,252,193,84,21,252,193,156,21,252,193,202,21,252,193,210,21,252,193,250,21,252,193,34,22,252,193,36,22,252,193,38,22,252,193,40,22,252,193,120,22,252,193,122,22,252,193,124,22,252,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,206,0,42,0,193,100,19,252,193,102,19,252,193,104,19,252,193,106,19,252,193,108,19,252,193,110,19,252,193,112,19,252,193,114,19,252,193,116,19,252,193,118,19,252,193,120,19,252,193,122,19,252,193,124,19,252,193,126,19,252,193,128,19,252,193,130,19,252,193,132,19,252,193,134,19,252,193,136,19,252,193,138,19,252,193,140,19,252,193,142,19,252,193,144,19,252,193,146,19,252,193,148,19,252,193,150,19,252,193,152,19,252,193,154,19,252,193,156,19,252,193,158,19,252,193,196,19,252,193,198,19,252,193,200,19,252,193,202,19,252,193,204,19,252,193,206,19,252,193,208,19,252,193,210,19,252,193,212,19,252,193,214,19,252,193,216,19,252,193,218,19,252,193,220,19,252,193,222,19,252,193,224,19,252,193,226,19,252,193,228,19,252,193,230,19,252,193,232,19,252,193,234,19,252,193,236,19,252,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,193,160,19,252,193,238,19,252,193,148,20,252,193,92,21,252,193,122,21,252,193,160,21,252,193,190,21,252,193,198,21,252,193,64,22,252,193,154,22,252,193,156,22,252,193,158,22,252,193,160,22,252,193,164,23,252,193,166,23,252,193,168,23,252,193,170,23,252,193,232,24,252,193,234,24,252,193,236,24,252,193,238,24,252,193,240,24,252,193,242,24,252,193,116,26,252,193,118,26,252,193,120,26,252,193,122,26,252,193,124,26,252,193,126,26,252,193,128,26,252,193,66,28,252,193,68,28,252,193,166,19,252,193,168,19,252,193,170,19,252,193,52,20,252,193,54,20,252,193,56,20,252,193,100,20,252,193,102,20,252,193,104,20,252,193,106,20,252,193,152,20,252,193,174,20,252,193,190,20,252,193,212,20,252,193,222,20,252,193,232,20,252,193,8,21,252,193,36,21,252,193,96,21,252,193,208,21,252,193,212,21,252,193,224,21,252,193,170,22,252,193,172,22,252,193,178,23,252,193,180,23,252,193,182,23,252,193,184,23,252,193,186,23,252,193,254,24,252,193,2,25,252,193,4,25,252,193,190,19,252,193,192,19,252,193,194,19,252,193,248,19,252,193,250,19,252,193,252,19,252,193,254,19,252,193,2,20,252,193,60,20,252,193,62,20,252,193,64,20,252,193,108,20,252,193,158,20,252,193,202,20,252,193,224,20,252,193,236,20,252,193,238,20,252,193,240,20,252,193,244,20,252,193,252,20,252,193,54,21,252,193,56,21,252,193,58,21,252,193,60,21,252,193,62,21,252,193,70,21,252,193,72,21,252,193,78,21,252,193,80,21,252,193,82,21,252,193,102,21,252,193,104,21,252,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,206,32,42,0,193,66,20,252,193,68,20,252,193,70,20,252,193,72,20,252,193,74,20,252,193,76,20,252,193,78,20,252,193,80,20,252,193,82,20,252,193,84,20,252,193,86,20,252,193,88,20,252,193,90,20,252,193,92,20,252,193,94,20,252,193,96,20,252,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,206,64,42,0,193,162,20,252,193,164,20,252,193,166,20,252,193,168,20,252,193,170,20,252,193,172,20,252,193,180,20,252,193,182,20,252,193,184,20,252,193,186,20,252,193,188,20,252,193,192,20,252,193,194,20,252,193,196,20,252,193,198,20,252,193,200,20,252,193,204,20,252,193,206,20,252,193,208,20,252,193,210,20,252,193,216,20,252,193,218,20,252,193,220,20,252,193,228,20,252,193,230,20,252,193,234,20,252,193,254,20,252,193,2,21,252,193,10,21,252,193,12,21,252,193,14,21,252,193,16,21,252,193,28,21,252,193,30,21,252,193,32,21,252,193,34,21,252,193,38,21,252,193,40,21,252,193,44,21,252,193,46,21,252,193,50,21,252,193,52,21,252,193,64,21,252,193,66,21,252,193,74,21,252,193,76,21,252,193,86,21,252,193,88,21,252,193,90,21,252,193,112,21,252,193,114,21,252,193,116,21,252,193,118,21,252,193,120,21,252,193,144,21,252,193,174,21,252,193,158,21,252,193,176,21,252,193,178,21,252,193,184,21,252,193,186,21,252,193,188,21,252,193,196,21,252,193,204,21,252,193,206,21,252,193,216,21,252,193,218,21,252,193,222,21,252,193,226,21,252,193,228,21,252,193,236,21,252,193,252,21,252,193,254,21,252,193,2,22,252,193,42,22,252,193,44,22,252,193,46,22,252,193,48,22,252,193,50,22,252,193,52,22,252,193,54,22,252,193,56,22,252,193,58,22,252,193,60,22,252,193,62,22,252,193,148,21,252,193,150,21,252,193,162,21,252,193,180,21,252,193,238,21,252,193,240,21,252,193,4,22,252,193,174,22,252,193,176,22,252,193,178,22,252,193,180,22,252,193,182,22,252,193,188,23,252,193,190,23,252,193,192,23,252,193,194,23,252,193,196,23,252,193,198,23,252,193,30,25,252,193,32,25,252,193,34,25,252,193,36,25,252,193,38,25,252,193,40,25,252,193,42,25,252,193,44,25,252,193,46,25,252,193,48,25,252,193,50,25,252,193,52,25,252,193,166,26,252,193,168,26,252,193,14,22,252,193,16,22,252,193,18,22,252,193,20,22,252,193,22,22,252,193,24,22,252,193,26,22,252,193,28,22,252,193,30,22,252,193,32,22,252,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,96,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,193,126,22,252,193,128,22,252,193,130,22,252,193,132,22,252,193,134,22,252,193,136,22,252,193,138,22,252,193,140,22,252,193,142,22,252,193,144,22,252,193,146,22,252,193,148,22,252,193,150,22,252,193,152,22,252,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,128,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,193,70,23,252,193,72,23,252,193,74,23,252,193,76,23,252,193,78,23,252,193,80,23,252,193,82,23,252,193,84,23,252,193,86,23,252,193,88,23,252,193,90,23,252,193,110,24,252,193,112,24,252,193,114,24,252,193,116,24,252,193,118,24,252,193,120,24,252,193,122,24,252,193,124,24,252,193,126,24,252,193,128,24,252,193,130,24,252,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,160,42,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,206,192,42,0,193,54,25,252,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,206,224,42,0,193,226,125,252,193,92,24,252,193,94,24,252,193,96,24,252,193,98,24,252,193,100,24,252,193,102,24,252,193,104,24,252,193,106,24,252,193,108,24,252,193,56,25,252,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,0,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,193,6,25,252,193,8,25,252,193,10,25,252,193,12,25,252,193,14,25,252,193,16,25,252,193,18,25,252,193,20,25,252,193,22,25,252,193,24,25,252,193,26,25,252,193,28,25,252,193,144,26,252,193,146,26,252,193,148,26,252,193,150,26,252,193,152,26,252,193,154,26,252,193,156,26,252,193,158,26,252,193,160,26,252,193,162,26,252,193,164,26,252,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,193,58,25,252,193,60,25,252,193,62,25,252,193,64,25,252,193,66,25,252,193,68,25,252,193,70,25,252,193,72,25,252,193,74,25,252,193,76,25,252,193,78,25,252,193,80,25,252,193,82,25,252,193,192,26,252,193,84,25,252,193,86,25,252,193,88,25,252,193,90,25,252,193,92,25,252,193,94,25,252,193,96,25,252,193,98,25,252,193,194,26,252,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,32,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,64,43,0,206,64,43,0,206,64,43,0,206,64,43,0,193,108,27,252,193,110,27,252,193,112,27,252,193,114,27,252,193,116,27,252,193,118,27,252,193,120,27,252,193,122,27,252,193,124,27,252,193,126,27,252,193,128,27,252,193,130,27,252,193,132,27,252,193,134,27,252,193,136,27,252,193,138,27,252,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,96,43,0,206,192,43,0,206,192,43,0,193,130,26,252,193,132,26,252,193,134,26,252,193,136,26,252,193,138,26,252,193,140,26,252,193,142,26,252,193,96,28,252,193,98,28,252,193,100,28,252,193,102,28,252,193,104,28,252,193,106,28,252,193,108,28,252,193,110,28,252,193,112,28,252,193,114,28,252,193,116,28,252,193,118,28,252,193,120,28,252,193,122,28,252,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,193,170,26,252,193,172,26,252,193,174,26,252,193,176,26,252,193,178,26,252,193,180,26,252,193,182,26,252,193,184,26,252,193,186,26,252,193,188,26,252,193,190,26,252,193,158,28,252,193,160,28,252,193,162,28,252,193,164,28,252,193,166,28,252,193,168,28,252,193,170,28,252,193,172,28,252,193,174,28,252,193,176,28,252,193,178,28,252,193,180,28,252,193,182,28,252,193,184,28,252,193,186,28,252,193,188,28,252,193,190,28,252,193,192,28,252,193,86,31,252,193,88,31,252,193,90,31,252,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,206,128,43,0,193,194,28,252,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,160,43,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,192,43,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,193,64,28,252,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,193,70,28,252,193,72,28,252,193,74,28,252,193,76,28,252,193,78,28,252,193,80,28,252,193,82,28,252,193,84,28,252,193,86,28,252,193,88,28,252,193,90,28,252,193,92,28,252,193,230,30,252,193,232,30,252,193,234,30,252,193,236,30,252,193,238,30,252,193,240,30,252,193,242,30,252,193,244,30,252,193,246,30,252,193,248,30,252,193,250,30,252,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,206,224,43,0,193,32,31,252,193,34,31,252,193,36,31,252,193,38,31,252,193,40,31,252,193,42,31,252,193,44,31,252,193,46,31,252,193,48,31,252,193,50,31,252,193,52,31,252,193,54,31,252,193,56,31,252,193,58,31,252,193,60,31,252,193,62,31,252,193,64,31,252,193,66,31,252,193,68,31,252,193,70,31,252,193,72,31,252,193,74,31,252,193,76,31,252,193,78,31,252,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,206,0,44,0,193,116,31,252,193,120,29,252,193,122,29,252,193,124,29,252,193,126,29,252,193,128,29,252,193,130,29,252,193,132,29,252,193,134,29,252,193,136,29,252,193,138,29,252,193,140,29,252,193,142,29,252,193,144,29,252,193,146,29,252,193,148,29,252,193,150,29,252,193,152,29,252,193,154,29,252,193,156,29,252,193,158,29,252,193,118,31,252,193,120,31,252,193,160,29,252,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,193,162,29,252,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,32,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,64,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,96,44,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,206,0,45,0,193,228,30,252,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,206,128,44,0,193,120,33,252,193,122,33,252,193,124,33,252,193,126,33,252,193,128,33,252,193,130,33,252,193,132,33,252,193,134,33,252,193,136,33,252,193,138,33,252,193,140,33,252,193,142,33,252,193,144,33,252,193,146,33,252,193,148,33,252,193,150,33,252,193,152,33,252,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,193,80,31,252,193,82,31,252,193,84,31,252,193,154,33,252,193,156,33,252,193,158,33,252,193,160,33,252,193,162,33,252,193,164,33,252,193,166,33,252,193,168,33,252,193,170,33,252,193,172,33,252,193,174,33,252,193,176,33,252,193,178,33,252,193,180,33,252,193,182,33,252,193,184,33,252,193,186,33,252,193,188,33,252,193,190,33,252,193,192,33,252,193,194,33,252,193,196,33,252,193,198,33,252,193,200,33,252,193,202,33,252,193,204,33,252,193,206,33,252,193,208,33,252,193,210,33,252,193,92,31,252,193,94,31,252,193,96,31,252,193,98,31,252,193,100,31,252,193,102,31,252,193,104,31,252,193,106,31,252,193,108,31,252,193,110,31,252,193,112,31,252,193,114,31,252,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,160,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,192,44,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,193,94,32,252,193,100,36,252,193,136,34,252,193,138,34,252,193,140,34,252,193,142,34,252,193,144,34,252,193,146,34,252,193,148,34,252,193,150,34,252,193,152,34,252,193,154,34,252,193,156,34,252,193,158,34,252,193,160,34,252,193,102,36,252,193,162,34,252,193,164,34,252,193,166,34,252,193,96,32,252,193,168,34,252,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,206,224,44,0,193,194,34,252,193,196,34,252,193,198,34,252,193,200,34,252,193,202,34,252,193,204,34,252,193,206,34,252,193,208,34,252,193,210,34,252,193,212,34,252,193,214,34,252,193,216,34,252,193,218,34,252,193,220,34,252,193,222,34,252,193,224,34,252,193,226,34,252,193,228,34,252,193,230,34,252,193,232,34,252,193,234,34,252,193,236,34,252,193,238,34,252,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,32,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,206,64,45,0,193,212,35,252,193,214,35,252,193,216,35,252,193,218,35,252,193,220,35,252,193,222,35,252,193,224,35,252,193,226,35,252,193,228,35,252,193,230,35,252,193,232,35,252,193,234,35,252,193,236,35,252,193,238,35,252,193,240,35,252,193,242,35,252,193,244,35,252,193,246,35,252,193,248,35,252,193,250,35,252,193,252,35,252,193,48,38,252,193,212,33,252,193,214,33,252,193,36,36,252,193,38,36,252,193,40,36,252,193,42,36,252,193,44,36,252,193,46,36,252,193,48,36,252,193,50,36,252,193,52,36,252,193,54,36,252,193,56,36,252,193,58,36,252,193,60,36,252,193,62,36,252,193,64,36,252,193,66,36,252,193,68,36,252,193,70,36,252,193,72,36,252,193,74,36,252,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,206,96,45,0,193,76,36,252,193,78,36,252,193,80,36,252,193,82,36,252,193,84,36,252,193,86,36,252,193,88,36,252,193,90,36,252,193,92,36,252,193,94,36,252,193,96,36,252,193,98,36,252,193,154,38,252,193,156,38,252,193,158,38,252,193,160,38,252,193,162,38,252,193,164,38,252,193,166,38,252,193,168,38,252,193,170,38,252,193,172,38,252,193,174,38,252,193,176,38,252,193,178,38,252,193,180,38,252,193,182,38,252,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,206,128,45,0,193,170,34,252,193,172,34,252,193,174,34,252,193,176,34,252,193,178,34,252,193,180,34,252,193,182,34,252,193,184,34,252,193,186,34,252,193,188,34,252,193,190,34,252,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,206,224,45,0,193,190,38,252,193,168,36,252,193,170,36,252,193,172,36,252,193,174,36,252,193,176,36,252,193,178,36,252,193,180,36,252,193,192,34,252,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,160,45,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,193,210,35,252,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,206,192,45,0,193,72,38,252,193,74,38,252,193,76,38,252,193,78,38,252,193,80,38,252,193,82,38,252,193,84,38,252,193,86,38,252,193,88,38,252,193,90,38,252,193,92,38,252,193,94,38,252,193,96,38,252,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,206,0,46,0,193,192,38,252,193,10,37,252,193,12,37,252,193,14,37,252,193,16,37,252,193,18,37,252,193,20,37,252,193,22,37,252,193,24,37,252,193,26,37,252,193,28,37,252,193,30,37,252,193,32,37,252,193,34,37,252,193,36,37,252,193,38,37,252,193,40,37,252,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,206,32,46,0,193,100,39,252,193,102,39,252,193,104,39,252,193,106,39,252,193,108,39,252,193,110,39,252,193,112,39,252,193,114,39,252,193,116,39,252,193,118,39,252,193,120,39,252,193,122,39,252,193,124,39,252,193,126,39,252,193,128,39,252,193,130,39,252,193,132,39,252,193,134,39,252,193,136,39,252,193,160,41,252,193,162,41,252,193,164,41,252,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,206,64,46,0,193,138,39,252,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,206,96,46,0,193,232,37,252,193,234,37,252,193,236,37,252,193,238,37,252,193,240,37,252,193,242,37,252,193,244,37,252,193,246,37,252,193,248,37,252,193,250,37,252,193,252,37,252,193,254,37,252,193,2,38,252,193,4,38,252,193,6,38,252,193,8,38,252,193,10,38,252,193,12,38,252,193,14,38,252,193,16,38,252,193,18,38,252,193,20,38,252,193,22,38,252,193,24,38,252,193,26,38,252,193,28,38,252,193,30,38,252,193,32,38,252,193,34,38,252,193,36,38,252,193,38,38,252,193,40,38,252,193,42,38,252,193,44,38,252,193,46,38,252,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,193,50,38,252,193,52,38,252,193,54,38,252,193,56,38,252,193,58,38,252,193,60,38,252,193,62,38,252,193,64,38,252,193,66,38,252,193,68,38,252,193,70,38,252,193,142,40,252,193,144,40,252,193,146,40,252,193,148,40,252,193,150,40,252,193,152,40,252,193,154,40,252,193,156,40,252,193,158,40,252,193,160,40,252,193,162,40,252,193,164,40,252,193,166,40,252,193,168,40,252,193,170,40,252,193,172,40,252,193,174,40,252,193,176,40,252,193,130,42,252,193,132,42,252,193,134,42,252,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,128,46,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,193,184,38,252,193,186,38,252,193,188,38,252,193,22,41,252,193,24,41,252,193,26,41,252,193,28,41,252,193,30,41,252,193,32,41,252,193,34,41,252,193,36,41,252,193,38,41,252,193,40,41,252,193,42,41,252,193,44,41,252,193,46,41,252,193,48,41,252,193,208,42,252,193,210,42,252,193,212,42,252,193,214,42,252,193,216,42,252,193,218,42,252,193,220,42,252,193,222,42,252,193,18,44,252,193,20,44,252,193,22,44,252,193,24,44,252,193,26,44,252,193,28,44,252,193,30,44,252,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,206,160,46,0,193,224,42,252,193,40,39,252,193,42,39,252,193,44,39,252,193,46,39,252,193,48,39,252,193,50,39,252,193,52,39,252,193,54,39,252,193,56,39,252,193,58,39,252,193,60,39,252,193,62,39,252,193,64,39,252,193,66,39,252,193,68,39,252,193,70,39,252,193,72,39,252,193,74,39,252,193,76,39,252,193,78,39,252,193,80,39,252,193,82,39,252,193,84,39,252,193,86,39,252,193,50,41,252,193,88,39,252,193,90,39,252,193,92,39,252,193,94,39,252,193,52,41,252,193,54,41,252,193,120,41,252,193,122,41,252,193,124,41,252,193,126,41,252,193,128,41,252,193,130,41,252,193,132,41,252,193,134,41,252,193,136,41,252,193,138,41,252,193,140,41,252,193,142,41,252,193,144,41,252,193,146,41,252,193,148,41,252,193,150,41,252,193,96,39,252,193,152,41,252,193,154,41,252,193,156,41,252,193,226,42,252,193,228,42,252,193,158,41,252,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,206,192,46,0,193,196,41,252,193,90,40,252,193,92,40,252,193,94,40,252,193,96,40,252,193,98,40,252,193,100,40,252,193,102,40,252,193,104,40,252,193,106,40,252,193,108,40,252,193,110,40,252,193,112,40,252,193,114,40,252,193,116,40,252,193,118,40,252,193,120,40,252,193,122,40,252,193,124,40,252,193,126,40,252,193,128,40,252,193,130,40,252,193,132,40,252,193,70,43,252,193,134,40,252,193,136,40,252,193,138,40,252,193,140,40,252,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,206,224,46,0,193,154,42,252,193,156,42,252,193,158,42,252,193,160,42,252,193,162,42,252,193,164,42,252,193,166,42,252,193,168,42,252,193,170,42,252,193,172,42,252,193,174,42,252,193,216,43,252,193,218,43,252,193,220,43,252,193,222,43,252,193,224,43,252,193,226,43,252,193,228,43,252,193,230,43,252,193,28,45,252,193,30,45,252,193,32,45,252,193,34,45,252,193,20,46,252,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,206,0,47,0,193,176,42,252,193,178,42,252,193,180,42,252,193,182,42,252,193,184,42,252,193,186,42,252,193,188,42,252,193,190,42,252,193,192,42,252,193,194,42,252,193,196,42,252,193,198,42,252,193,200,42,252,193,202,42,252,193,204,42,252,193,206,42,252,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,193,56,41,252,193,58,41,252,193,60,41,252,193,62,41,252,193,64,41,252,193,66,41,252,193,68,41,252,193,70,41,252,193,72,41,252,193,74,41,252,193,76,41,252,193,78,41,252,193,80,41,252,193,82,41,252,193,84,41,252,193,86,41,252,193,88,41,252,193,90,41,252,193,92,41,252,193,94,41,252,193,96,41,252,193,98,41,252,193,100,41,252,193,102,41,252,193,104,41,252,193,106,41,252,193,108,41,252,193,110,41,252,193,112,41,252,193,114,41,252,193,116,41,252,193,118,41,252,193,166,41,252,193,168,41,252,193,170,41,252,193,172,41,252,193,174,41,252,193,176,41,252,193,178,41,252,193,180,41,252,193,182,41,252,193,184,41,252,193,186,41,252,193,188,41,252,193,190,41,252,193,192,41,252,193,194,41,252,193,42,43,252,193,44,43,252,193,46,43,252,193,48,43,252,193,50,43,252,193,52,43,252,193,54,43,252,193,56,43,252,193,58,43,252,193,60,43,252,193,62,43,252,193,64,43,252,193,66,43,252,193,68,43,252,193,92,44,252,193,94,44,252,193,96,44,252,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,206,32,47,0,193,136,42,252,193,138,42,252,193,140,42,252,193,142,42,252,193,144,42,252,193,146,42,252,193,148,42,252,193,150,42,252,193,194,43,252,193,196,43,252,193,198,43,252,193,200,43,252,193,202,43,252,193,204,43,252,193,206,43,252,193,208,43,252,193,210,43,252,193,212,43,252,193,214,43,252,193,14,45,252,193,16,45,252,193,18,45,252,193,20,45,252,193,22,45,252,193,24,45,252,193,26,45,252,193,6,46,252,193,8,46,252,193,10,46,252,193,12,46,252,193,14,46,252,193,16,46,252,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,206,64,47,0,193,80,45,252,193,32,43,252,193,34,43,252,193,36,43,252,193,38,43,252,193,40,43,252,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,206,96,47,0,193,106,44,252,193,190,43,252,193,192,43,252,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,206,128,47,0,193,36,45,252,193,38,45,252,193,40,45,252,193,42,45,252,193,44,45,252,193,46,45,252,193,48,45,252,193,50,45,252,193,52,45,252,193,54,45,252,193,56,45,252,193,58,45,252,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,193,32,44,252,193,34,44,252,193,60,45,252,193,62,45,252,193,64,45,252,193,66,45,252,193,68,45,252,193,70,45,252,193,72,45,252,193,74,45,252,193,76,45,252,193,78,45,252,193,64,46,252,193,66,46,252,193,68,46,252,193,70,46,252,193,224,46,252,193,226,46,252,193,128,47,252,193,204,47,252,193,206,47,252,193,130,48,252,193,198,48,252,193,40,49,252,193,42,49,252,193,44,49,252,193,46,49,252,193,48,49,252,193,50,49,252,193,228,49,252,193,230,49,252,193,232,49,252,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,160,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,193,98,44,252,193,100,44,252,193,102,44,252,193,104,44,252,193,134,45,252,193,136,45,252,193,138,45,252,193,140,45,252,193,142,45,252,193,144,45,252,193,146,45,252,193,148,45,252,193,110,46,252,193,112,46,252,193,114,46,252,193,116,46,252,193,118,46,252,193,120,46,252,193,2,47,252,193,4,47,252,193,6,47,252,193,8,47,252,193,10,47,252,193,12,47,252,193,14,47,252,193,146,47,252,193,148,47,252,193,216,47,252,193,218,47,252,193,220,47,252,193,26,48,252,193,28,48,252,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,206,192,47,0,193,150,45,252,193,228,44,252,193,230,44,252,193,232,44,252,193,152,45,252,193,234,44,252,193,236,44,252,193,238,44,252,193,240,44,252,193,242,44,252,193,244,44,252,193,246,44,252,193,248,44,252,193,250,44,252,193,252,44,252,193,254,44,252,193,2,45,252,193,4,45,252,193,6,45,252,193,8,45,252,193,10,45,252,193,12,45,252,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,206,224,47,0,193,72,46,252,193,74,46,252,193,76,46,252,193,78,46,252,193,80,46,252,193,82,46,252,193,84,46,252,193,86,46,252,193,88,46,252,193,90,46,252,193,92,46,252,193,94,46,252,193,96,46,252,193,98,46,252,193,100,46,252,193,102,46,252,193,104,46,252,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,0,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,193,22,46,252,193,24,46,252,193,26,46,252,193,28,46,252,193,30,46,252,193,204,46,252,193,206,46,252,193,208,46,252,193,210,46,252,193,212,46,252,193,214,46,252,193,108,47,252,193,110,47,252,193,112,47,252,193,194,47,252,193,196,47,252,193,50,48,252,193,52,48,252,193,126,48,252,193,138,48,252,193,16,49,252,193,18,49,252,193,20,49,252,193,22,49,252,193,24,49,252,193,26,49,252,193,28,49,252,193,196,49,252,193,198,49,252,193,200,49,252,193,202,49,252,193,204,49,252,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,206,32,48,0,193,216,46,252,193,218,46,252,193,220,46,252,193,222,46,252,193,114,47,252,193,116,47,252,193,118,47,252,193,120,47,252,193,122,47,252,193,124,47,252,193,126,47,252,193,198,47,252,193,200,47,252,193,202,47,252,193,54,48,252,193,56,48,252,193,58,48,252,193,60,48,252,193,134,48,252,193,152,48,252,193,106,46,252,193,108,46,252,193,228,46,252,193,230,46,252,193,232,46,252,193,234,46,252,193,236,46,252,193,238,46,252,193,240,46,252,193,242,46,252,193,244,46,252,193,246,46,252,193,248,46,252,193,250,46,252,193,80,48,252,193,252,46,252,193,254,46,252,193,130,47,252,193,132,47,252,193,134,47,252,193,136,47,252,193,138,47,252,193,140,47,252,193,142,47,252,193,144,47,252,193,208,47,252,193,210,47,252,193,212,47,252,193,214,47,252,193,16,48,252,193,18,48,252,193,20,48,252,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,64,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,193,198,46,252,193,200,46,252,193,202,46,252,193,98,47,252,193,100,47,252,193,102,47,252,193,104,47,252,193,106,47,252,193,190,47,252,193,192,47,252,193,12,48,252,193,14,48,252,193,48,48,252,193,150,48,252,193,10,49,252,193,12,49,252,193,14,49,252,193,182,49,252,193,184,49,252,193,186,49,252,193,188,49,252,193,190,49,252,193,192,49,252,193,194,49,252,193,174,50,252,193,176,50,252,193,178,50,252,193,180,50,252,193,182,50,252,193,184,50,252,193,186,50,252,193,188,50,252,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,96,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,206,128,48,0,193,222,47,252,193,224,47,252,193,226,47,252,193,228,47,252,193,230,47,252,193,232,47,252,193,234,47,252,193,236,47,252,193,238,47,252,193,240,47,252,193,242,47,252,193,244,47,252,193,246,47,252,193,248,47,252,193,250,47,252,193,252,47,252,193,254,47,252,193,2,48,252,193,4,48,252,193,6,48,252,193,8,48,252,193,10,48,252,193,22,48,252,193,24,48,252,193,62,48,252,193,64,48,252,193,82,48,252,193,84,48,252,193,86,48,252,193,104,48,252,193,106,48,252,193,128,48,252,193,132,48,252,193,142,48,252,193,144,48,252,193,146,48,252,193,154,48,252,193,156,48,252,193,158,48,252,193,160,48,252,193,162,48,252,193,164,48,252,193,200,48,252,193,202,48,252,193,204,48,252,193,206,48,252,193,208,48,252,193,210,48,252,193,212,48,252,193,214,48,252,193,216,48,252,193,218,48,252,193,220,48,252,193,222,48,252,193,30,48,252,193,32,48,252,193,34,48,252,193,36,48,252,193,38,48,252,193,40,48,252,193,42,48,252,193,44,48,252,193,46,48,252,193,66,48,252,193,68,48,252,193,70,48,252,193,72,48,252,193,74,48,252,193,76,48,252,193,78,48,252,193,90,48,252,193,92,48,252,193,94,48,252,193,96,48,252,193,98,48,252,193,100,48,252,193,102,48,252,193,108,48,252,193,110,48,252,193,112,48,252,193,114,48,252,193,116,48,252,193,118,48,252,193,120,48,252,193,122,48,252,193,124,48,252,193,88,48,252,193,168,48,252,193,170,48,252,193,226,48,252,193,228,48,252,193,230,48,252,193,110,49,252,193,112,49,252,193,114,49,252,193,116,49,252,193,118,49,252,193,56,50,252,193,58,50,252,193,60,50,252,193,62,50,252,193,64,50,252,193,66,50,252,193,68,50,252,193,70,50,252,193,64,51,252,193,66,51,252,193,68,51,252,193,70,51,252,193,72,51,252,193,74,51,252,193,110,52,252,193,112,52,252,193,114,52,252,193,116,52,252,193,118,52,252,193,120,52,252,193,122,52,252,193,136,48,252,193,140,48,252,193,148,48,252,193,172,48,252,193,174,48,252,193,176,48,252,193,178,48,252,193,180,48,252,193,182,48,252,193,184,48,252,193,186,48,252,193,188,48,252,193,190,48,252,193,232,48,252,193,234,48,252,193,236,48,252,193,238,48,252,193,240,48,252,193,242,48,252,193,244,48,252,193,246,48,252,193,248,48,252,193,250,48,252,193,252,48,252,193,254,48,252,193,2,49,252,193,4,49,252,193,6,49,252,193,8,49,252,193,120,49,252,193,122,49,252,193,124,49,252,193,224,48,252,193,52,49,252,193,54,49,252,193,56,49,252,193,58,49,252,193,60,49,252,193,62,49,252,193,166,48,252,193,64,49,252,193,66,49,252,193,68,49,252,193,70,49,252,193,72,49,252,193,74,49,252,193,76,49,252,193,78,49,252,193,80,49,252,193,82,49,252,193,84,49,252,193,86,49,252,193,88,49,252,193,90,49,252,193,92,49,252,193,94,49,252,193,96,49,252,193,98,49,252,193,100,49,252,193,102,49,252,193,104,49,252,193,106,49,252,193,108,49,252,193,236,49,252,193,192,48,252,193,194,48,252,193,196,48,252,193,30,49,252,193,32,49,252,193,34,49,252,193,36,49,252,193,38,49,252,193,208,49,252,193,210,49,252,193,212,49,252,193,214,49,252,193,216,49,252,193,218,49,252,193,220,49,252,193,222,49,252,193,224,49,252,193,226,49,252,193,200,50,252,193,202,50,252,193,204,50,252,193,206,50,252,193,208,50,252,193,210,50,252,193,212,50,252,193,214,50,252,193,216,50,252,206,0,49,0,206,0,49,0,206,0,49,0,206,0,49,0,206,0,49,0,193,126,49,252,193,128,49,252,193,130,49,252,193,132,49,252,193,134,49,252,193,136,49,252,193,138,49,252,193,140,49,252,193,142,49,252,193,144,49,252,193,146,49,252,193,148,49,252,193,150,49,252,193,152,49,252,193,154,49,252,193,156,49,252,193,158,49,252,193,160,49,252,193,162,49,252,193,164,49,252,193,166,49,252,193,168,49,252,193,170,49,252,193,172,49,252,193,174,49,252,193,176,49,252,193,178,49,252,193,180,49,252,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,193,206,49,252,193,196,50,252,193,198,50,252,193,202,51,252,193,204,51,252,193,206,51,252,193,208,51,252,193,210,51,252,193,212,51,252,193,14,53,252,193,16,53,252,193,18,53,252,193,20,53,252,193,22,53,252,193,24,53,252,193,26,53,252,193,28,53,252,193,30,53,252,193,32,53,252,193,34,53,252,193,36,53,252,193,38,53,252,193,40,53,252,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,193,234,49,252,193,218,50,252,193,220,50,252,193,222,50,252,193,224,50,252,193,226,50,252,193,228,50,252,193,230,50,252,193,236,51,252,193,238,51,252,193,240,51,252,193,242,51,252,193,244,51,252,193,246,51,252,193,248,51,252,193,250,51,252,193,252,51,252,193,254,51,252,193,2,52,252,193,4,52,252,193,6,52,252,193,8,52,252,193,10,52,252,193,12,52,252,193,14,52,252,193,16,52,252,193,18,52,252,193,20,52,252,193,22,52,252,193,24,52,252,193,26,52,252,193,78,53,252,193,238,49,252,193,240,49,252,193,242,49,252,193,244,49,252,193,246,49,252,193,248,49,252,193,250,49,252,193,252,49,252,193,254,49,252,193,2,50,252,193,4,50,252,193,6,50,252,193,8,50,252,193,10,50,252,193,12,50,252,193,14,50,252,193,16,50,252,193,18,50,252,193,20,50,252,193,22,50,252,193,24,50,252,193,26,50,252,193,28,50,252,193,30,50,252,193,32,50,252,193,34,50,252,193,36,50,252,193,38,50,252,193,40,50,252,193,42,50,252,193,44,50,252,193,46,50,252,193,48,50,252,193,50,50,252,193,52,50,252,193,54,50,252,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,160,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,193,190,50,252,193,192,50,252,193,194,50,252,193,184,51,252,193,186,51,252,193,188,51,252,193,190,51,252,193,192,51,252,193,194,51,252,193,196,51,252,193,198,51,252,193,250,52,252,193,252,52,252,193,254,52,252,193,2,53,252,193,4,53,252,193,6,53,252,193,8,53,252,193,10,53,252,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,192,48,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,206,224,48,0,193,128,52,252,193,130,52,252,193,132,52,252,193,134,52,252,193,136,52,252,193,138,52,252,193,140,52,252,193,142,52,252,193,144,52,252,193,146,52,252,193,148,52,252,193,150,52,252,193,152,52,252,193,154,52,252,193,156,52,252,193,158,52,252,193,160,52,252,193,162,52,252,193,164,52,252,193,166,52,252,193,168,52,252,193,170,52,252,193,172,52,252,193,174,52,252,193,176,52,252,193,178,52,252,193,180,52,252,206,0,49,0,206,0,49,0,206,0,49,0,206,0,49,0,206,0,49,0,206,0,49,0,193,42,53,252,193,44,53,252,193,46,53,252,193,48,53,252,193,50,53,252,193,52,53,252,193,54,53,252,193,56,53,252,193,58,53,252,193,60,53,252,193,62,53,252,193,64,53,252,193,66,53,252,193,68,53,252,193,70,53,252,193,72,53,252,193,74,53,252,193,76,53,252,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,206,32,49,0,193,106,53,252,193,102,52,252,193,104,52,252,193,106,52,252,193,108,52,252,193,108,53,252,193,110,53,252,193,112,53,252,193,114,53,252,193,116,53,252,193,118,53,252,193,120,53,252,193,124,52,252,193,126,52,252,193,190,53,252,193,192,53,252,193,194,53,252,193,196,53,252,193,198,53,252,193,200,53,252,193,202,53,252,193,204,53,252,193,206,53,252,193,208,53,252,193,210,53,252,193,212,53,252,193,110,55,252,193,112,55,252,193,114,55,252,193,116,55,252,193,118,55,252,193,120,55,252,193,122,55,252,193,124,55,252,193,126,55,252,193,128,55,252,193,130,55,252,193,132,55,252,193,134,55,252,193,136,55,252,193,138,55,252,193,140,55,252,193,142,55,252,193,250,56,252,193,182,52,252,193,184,52,252,193,186,52,252,193,188,52,252,193,190,52,252,193,192,52,252,193,194,52,252,193,196,52,252,193,198,52,252,193,200,52,252,193,202,52,252,193,204,52,252,193,206,52,252,193,208,52,252,193,210,52,252,193,212,52,252,193,214,52,252,193,216,52,252,193,218,52,252,193,220,52,252,193,222,52,252,193,224,52,252,193,226,52,252,193,228,52,252,193,230,52,252,193,232,52,252,193,234,52,252,193,236,52,252,193,238,52,252,193,240,52,252,193,242,52,252,193,244,52,252,193,246,52,252,193,248,52,252,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,193,12,53,252,193,192,57,252,193,84,69,252,193,132,73,252,193,132,75,252,193,94,80,252,193,244,81,252,193,216,83,252,193,214,85,252,193,162,86,252,193,220,92,252,193,226,95,252,193,40,100,252,193,192,103,252,193,152,107,252,193,214,110,252,193,2,111,252,193,232,111,252,193,108,115,252,193,56,116,252,193,128,136,252,193,24,137,252,193,114,139,252,193,154,142,252,193,232,143,252,193,42,148,252,193,84,152,252,193,132,152,252,193,52,153,252,193,148,160,252,193,150,160,252,193,152,160,252,193,80,53,252,193,82,53,252,193,84,53,252,193,86,53,252,193,88,53,252,193,90,53,252,193,92,53,252,193,94,53,252,193,96,53,252,193,98,53,252,193,100,53,252,193,102,53,252,193,104,53,252,193,224,54,252,193,226,54,252,193,228,54,252,193,230,54,252,193,232,54,252,193,234,54,252,193,236,54,252,193,238,54,252,193,240,54,252,193,242,54,252,193,244,54,252,193,246,54,252,193,248,54,252,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,193,122,53,252,193,124,53,252,193,126,53,252,193,128,53,252,193,130,53,252,193,132,53,252,193,134,53,252,193,136,53,252,193,138,53,252,193,140,53,252,193,142,53,252,193,144,53,252,193,146,53,252,193,148,53,252,193,150,53,252,193,152,53,252,193,154,53,252,193,156,53,252,193,158,53,252,193,160,53,252,193,162,53,252,193,164,53,252,193,166,53,252,193,168,53,252,193,170,53,252,193,172,53,252,193,174,53,252,193,176,53,252,193,178,53,252,193,180,53,252,193,182,53,252,193,184,53,252,193,186,53,252,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,206,192,49,0,193,188,53,252,193,86,55,252,193,88,55,252,193,90,55,252,193,92,55,252,193,94,55,252,193,96,55,252,193,98,55,252,193,100,55,252,193,102,55,252,193,104,55,252,193,182,56,252,193,106,55,252,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,64,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,96,49,0,206,96,49,0,206,96,49,0,206,96,49,0,193,60,56,252,193,62,56,252,193,64,56,252,193,66,56,252,193,68,56,252,193,70,56,252,193,72,56,252,193,74,56,252,193,76,56,252,193,78,56,252,193,80,56,252,193,82,56,252,193,84,56,252,193,86,56,252,193,162,57,252,193,164,57,252,193,166,57,252,193,168,57,252,193,170,57,252,193,172,57,252,193,174,57,252,193,176,57,252,193,178,57,252,193,180,57,252,193,182,57,252,193,184,57,252,193,186,57,252,193,188,57,252,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,206,128,49,0,193,88,56,252,193,90,56,252,193,92,56,252,193,94,56,252,193,96,56,252,193,98,56,252,193,100,56,252,193,102,56,252,193,104,56,252,193,194,57,252,193,196,57,252,193,198,57,252,193,200,57,252,193,202,57,252,193,204,57,252,193,206,57,252,193,208,57,252,193,210,57,252,193,212,57,252,193,214,57,252,193,216,57,252,193,218,57,252,193,8,59,252,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,206,160,49,0,193,106,56,252,193,108,56,252,193,110,56,252,193,112,56,252,193,114,56,252,193,116,56,252,193,118,56,252,193,120,56,252,193,122,56,252,193,124,56,252,193,126,56,252,193,128,56,252,193,130,56,252,193,132,56,252,193,134,56,252,193,136,56,252,193,138,56,252,193,140,56,252,193,142,56,252,193,144,56,252,193,146,56,252,193,148,56,252,193,150,56,252,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,206,224,49,0,193,4,184,253,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,0,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,193,58,56,252,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,193,152,56,252,193,154,56,252,193,220,57,252,193,222,57,252,193,224,57,252,193,226,57,252,193,228,57,252,193,230,57,252,193,232,57,252,193,234,57,252,193,236,57,252,193,238,57,252,193,240,57,252,193,242,57,252,193,244,57,252,193,246,57,252,193,248,57,252,193,250,57,252,193,252,57,252,193,20,59,252,193,22,59,252,193,24,59,252,193,26,59,252,193,28,59,252,193,30,59,252,193,32,59,252,193,34,59,252,193,36,59,252,193,38,59,252,193,120,60,252,193,122,60,252,193,124,60,252,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,206,32,50,0,193,254,57,252,193,2,58,252,193,4,58,252,193,6,58,252,193,8,58,252,193,10,58,252,193,12,58,252,193,14,58,252,193,16,58,252,193,40,59,252,193,42,59,252,193,44,59,252,193,46,59,252,193,48,59,252,193,50,59,252,193,52,59,252,193,54,59,252,193,56,59,252,193,150,60,252,193,152,60,252,193,154,60,252,193,156,60,252,193,158,60,252,193,160,60,252,193,162,60,252,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,64,50,0,206,160,50,0,206,160,50,0,206,160,50,0,206,160,50,0,206,160,50,0,206,160,50,0,206,160,50,0,206,160,50,0,193,246,56,252,193,42,58,252,193,44,58,252,193,46,58,252,193,48,58,252,193,50,58,252,193,52,58,252,193,54,58,252,193,56,58,252,193,58,58,252,193,60,58,252,193,62,58,252,193,64,58,252,193,66,58,252,193,68,58,252,193,70,58,252,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,193,248,56,252,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,193,252,56,252,193,254,56,252,193,2,57,252,193,4,57,252,193,6,57,252,193,8,57,252,193,10,57,252,193,12,57,252,193,14,57,252,193,16,57,252,193,18,57,252,193,78,58,252,193,80,58,252,193,82,58,252,193,84,58,252,193,86,58,252,193,88,58,252,193,90,58,252,193,92,58,252,193,140,59,252,193,142,59,252,193,144,59,252,193,146,59,252,193,148,59,252,193,150,59,252,193,152,59,252,193,154,59,252,193,156,59,252,193,158,59,252,193,160,59,252,193,222,60,252,193,224,60,252,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,206,96,50,0,193,94,58,252,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,206,128,50,0,193,190,57,252,193,244,58,252,193,246,58,252,193,248,58,252,193,250,58,252,193,252,58,252,193,254,58,252,193,2,59,252,193,4,59,252,193,6,59,252,193,84,60,252,193,86,60,252,193,88,60,252,193,90,60,252,193,92,60,252,193,94,60,252,193,96,60,252,193,98,60,252,193,100,60,252,193,102,60,252,193,74,61,252,193,76,61,252,193,78,61,252,193,80,61,252,193,82,61,252,193,84,61,252,193,86,61,252,193,88,61,252,193,6,62,252,193,8,62,252,193,10,62,252,193,12,62,252,193,160,213,253,193,172,213,253,193,198,213,253,193,210,213,253,193,212,213,253,193,220,213,253,193,222,213,253,193,238,213,253,193,240,213,253,193,242,213,253,193,250,213,253,193,252,213,253,193,110,214,253,193,124,214,253,193,132,214,253,193,158,214,253,193,218,214,253,193,252,214,253,193,254,214,253,193,18,215,253,193,40,215,253,193,42,215,253,193,44,215,253,193,46,215,253,193,48,215,253,193,72,58,252,193,84,215,253,193,86,215,253,193,88,215,253,193,90,215,253,193,92,215,253,193,128,215,253,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,206,192,50,0,193,162,59,252,193,146,58,252,193,148,58,252,193,150,58,252,193,152,58,252,193,154,58,252,193,156,58,252,193,158,58,252,193,160,58,252,193,162,58,252,193,164,58,252,193,166,58,252,193,168,58,252,193,170,58,252,193,172,58,252,193,174,58,252,193,176,58,252,193,178,58,252,193,180,58,252,193,182,58,252,193,184,58,252,193,186,58,252,193,188,58,252,193,96,236,252,193,190,58,252,193,228,140,253,193,192,58,252,193,194,58,252,193,196,58,252,193,198,58,252,193,200,58,252,193,202,58,252,193,204,58,252,193,206,58,252,193,208,58,252,193,210,58,252,193,212,58,252,193,214,58,252,193,216,58,252,193,218,58,252,193,220,58,252,193,222,58,252,193,224,58,252,193,226,58,252,193,228,58,252,193,230,58,252,193,232,58,252,193,234,58,252,193,236,58,252,193,238,58,252,193,240,58,252,193,242,58,252,193,164,59,252,193,166,59,252,193,168,59,252,193,10,59,252,193,12,59,252,193,14,59,252,193,16,59,252,193,18,59,252,193,104,60,252,193,106,60,252,193,108,60,252,193,110,60,252,193,112,60,252,193,114,60,252,193,116,60,252,193,118,60,252,193,90,61,252,193,92,61,252,193,94,61,252,193,96,61,252,193,16,62,252,193,18,62,252,193,20,62,252,193,148,62,252,193,150,62,252,193,152,62,252,193,154,62,252,193,156,62,252,193,44,63,252,193,46,63,252,193,48,63,252,193,50,63,252,193,52,63,252,193,214,63,252,193,6,64,252,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,206,224,50,0,193,170,60,252,193,170,59,252,193,172,59,252,193,174,59,252,193,176,59,252,193,178,59,252,193,180,59,252,193,182,59,252,193,184,59,252,193,186,59,252,193,188,59,252,193,190,59,252,193,192,59,252,193,194,59,252,193,196,59,252,193,198,59,252,193,200,59,252,193,202,59,252,193,204,59,252,193,206,59,252,193,208,59,252,193,210,59,252,193,212,59,252,193,214,59,252,193,216,59,252,193,218,59,252,193,220,59,252,193,222,59,252,193,224,59,252,193,226,59,252,193,228,59,252,193,230,59,252,193,232,59,252,193,234,59,252,193,236,59,252,193,238,59,252,193,240,59,252,193,242,59,252,193,244,59,252,193,246,59,252,193,248,59,252,193,250,59,252,193,252,59,252,193,254,59,252,193,2,60,252,193,4,60,252,193,6,60,252,193,8,60,252,193,10,60,252,193,12,60,252,193,14,60,252,193,16,60,252,193,18,60,252,193,20,60,252,193,22,60,252,193,24,60,252,193,26,60,252,193,28,60,252,193,30,60,252,193,32,60,252,193,34,60,252,193,36,60,252,193,38,60,252,193,40,60,252,193,42,60,252,193,126,60,252,193,128,60,252,193,130,60,252,193,132,60,252,193,134,60,252,193,136,60,252,193,138,60,252,193,140,60,252,193,142,60,252,193,144,60,252,193,146,60,252,193,148,60,252,193,98,61,252,193,100,61,252,193,102,61,252,193,104,61,252,193,106,61,252,193,108,61,252,193,110,61,252,193,112,61,252,193,114,61,252,193,116,61,252,193,118,61,252,193,120,61,252,193,122,61,252,193,124,61,252,193,22,62,252,193,24,62,252,193,26,62,252,193,28,62,252,193,30,62,252,193,32,62,252,193,164,60,252,193,166,60,252,193,168,60,252,193,126,61,252,193,128,61,252,193,130,61,252,193,132,61,252,193,134,61,252,193,136,61,252,193,138,61,252,193,38,62,252,193,40,62,252,193,42,62,252,193,44,62,252,193,46,62,252,193,48,62,252,193,162,62,252,193,164,62,252,193,166,62,252,193,168,62,252,193,60,63,252,193,62,63,252,193,64,63,252,193,66,63,252,193,68,63,252,193,70,63,252,193,126,63,252,193,234,63,252,193,96,64,252,193,140,64,252,193,164,64,252,193,166,64,252,193,172,60,252,193,174,60,252,193,176,60,252,193,178,60,252,193,180,60,252,193,182,60,252,193,184,60,252,193,186,60,252,193,188,60,252,193,190,60,252,193,192,60,252,193,194,60,252,193,196,60,252,193,198,60,252,193,200,60,252,193,202,60,252,193,204,60,252,193,206,60,252,193,208,60,252,193,210,60,252,193,212,60,252,193,214,60,252,193,216,60,252,193,218,60,252,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,193,226,60,252,193,228,60,252,193,230,60,252,193,232,60,252,193,164,61,252,193,166,61,252,193,72,62,252,193,74,62,252,193,190,62,252,193,76,62,252,193,192,62,252,193,194,62,252,193,196,62,252,193,78,63,252,193,138,63,252,193,176,63,252,193,178,63,252,193,10,64,252,193,72,64,252,193,74,64,252,193,168,64,252,193,2,65,252,193,170,65,252,193,178,65,252,193,188,65,252,193,204,65,252,193,222,65,252,193,52,66,252,193,120,66,252,193,10,67,252,193,12,67,252,193,66,67,252,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,206,0,51,0,193,168,61,252,193,170,61,252,193,172,61,252,193,174,61,252,193,176,61,252,193,178,61,252,193,180,61,252,193,182,61,252,193,184,61,252,193,186,61,252,193,188,61,252,193,190,61,252,193,192,61,252,193,194,61,252,193,196,61,252,193,198,61,252,193,200,61,252,193,202,61,252,193,204,61,252,193,206,61,252,193,208,61,252,193,210,61,252,193,212,61,252,193,214,61,252,193,216,61,252,193,218,61,252,193,220,61,252,193,222,61,252,206,32,51,0,206,32,51,0,206,32,51,0,206,32,51,0,193,50,62,252,193,52,62,252,193,54,62,252,193,56,62,252,193,58,62,252,193,60,62,252,193,62,62,252,193,170,62,252,193,64,62,252,193,66,62,252,193,68,62,252,193,172,62,252,193,174,62,252,193,176,62,252,193,178,62,252,193,180,62,252,193,182,62,252,193,70,62,252,193,184,62,252,193,186,62,252,193,188,62,252,193,72,63,252,193,74,63,252,193,76,63,252,193,128,63,252,193,130,63,252,193,132,63,252,193,134,63,252,193,224,61,252,193,226,61,252,193,228,61,252,193,248,213,252,193,230,61,252,193,232,61,252,193,234,61,252,193,236,61,252,193,238,61,252,193,240,61,252,193,242,61,252,193,244,61,252,193,246,61,252,193,248,61,252,193,250,61,252,193,252,61,252,193,254,61,252,193,2,62,252,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,193,248,217,252,193,254,217,252,193,2,218,252,193,4,218,252,193,6,218,252,193,8,218,252,193,10,218,252,193,12,218,252,193,4,62,252,193,24,218,252,193,26,218,252,193,28,218,252,193,30,218,252,193,38,218,252,193,40,218,252,193,32,218,252,193,42,218,252,193,44,218,252,193,46,218,252,193,48,218,252,193,50,218,252,193,52,218,252,193,54,218,252,193,56,218,252,193,58,218,252,193,60,218,252,193,64,218,252,193,66,218,252,193,72,218,252,193,76,218,252,193,78,218,252,193,80,218,252,193,14,62,252,193,144,62,252,193,146,62,252,193,38,63,252,193,40,63,252,193,42,63,252,193,166,63,252,193,168,63,252,193,212,63,252,193,228,63,252,193,2,64,252,193,4,64,252,193,24,64,252,193,66,64,252,193,134,64,252,193,178,64,252,193,204,64,252,193,206,64,252,193,208,64,252,193,210,64,252,193,238,64,252,193,240,64,252,193,40,65,252,193,42,65,252,193,86,65,252,193,88,65,252,193,148,65,252,193,184,65,252,193,192,65,252,193,226,65,252,193,110,66,252,193,138,66,252,193,34,62,252,193,36,62,252,193,158,62,252,193,160,62,252,193,54,63,252,193,56,63,252,193,58,63,252,193,170,63,252,193,230,63,252,193,232,63,252,193,94,64,252,193,138,64,252,193,156,64,252,193,158,64,252,193,160,64,252,193,162,64,252,193,184,64,252,193,216,64,252,193,246,64,252,193,248,64,252,193,18,65,252,193,20,65,252,193,48,65,252,193,64,65,252,193,66,65,252,193,104,65,252,193,154,65,252,193,162,65,252,193,194,65,252,193,216,65,252,193,28,66,252,193,30,66,252,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,206,64,51,0,193,198,62,252,193,200,62,252,193,202,62,252,193,204,62,252,193,206,62,252,193,208,62,252,193,210,62,252,193,212,62,252,193,214,62,252,193,216,62,252,193,218,62,252,193,220,62,252,193,222,62,252,193,224,62,252,193,226,62,252,193,228,62,252,193,230,62,252,193,232,62,252,193,234,62,252,193,236,62,252,193,238,62,252,193,240,62,252,193,242,62,252,193,244,62,252,193,246,62,252,193,248,62,252,193,250,62,252,193,252,62,252,193,254,62,252,193,2,63,252,193,4,63,252,193,6,63,252,193,8,63,252,193,10,63,252,193,12,63,252,193,14,63,252,193,16,63,252,193,18,63,252,193,20,63,252,193,22,63,252,193,24,63,252,193,26,63,252,193,28,63,252,193,30,63,252,193,32,63,252,193,34,63,252,193,80,63,252,193,82,63,252,193,84,63,252,193,86,63,252,193,88,63,252,193,90,63,252,193,92,63,252,193,36,63,252,193,140,63,252,193,94,63,252,193,96,63,252,193,98,63,252,193,100,63,252,193,102,63,252,193,104,63,252,193,106,63,252,193,108,63,252,193,110,63,252,193,112,63,252,193,114,63,252,193,116,63,252,193,118,63,252,193,120,63,252,193,122,63,252,193,124,63,252,193,142,63,252,193,144,63,252,193,180,63,252,193,146,63,252,193,148,63,252,193,150,63,252,193,136,63,252,193,172,63,252,193,174,63,252,193,216,63,252,193,236,63,252,193,238,63,252,193,240,63,252,193,26,64,252,193,36,64,252,193,42,64,252,193,48,64,252,193,50,64,252,193,68,64,252,193,70,64,252,193,98,64,252,193,100,64,252,193,102,64,252,193,142,64,252,193,188,64,252,193,254,64,252,193,24,65,252,193,94,65,252,193,150,65,252,193,152,65,252,193,164,65,252,193,176,65,252,193,202,65,252,193,218,65,252,193,228,65,252,193,238,65,252,193,248,65,252,193,16,66,252,193,152,63,252,193,154,63,252,193,156,63,252,193,158,63,252,193,160,63,252,193,162,63,252,193,164,63,252,193,182,63,252,193,184,63,252,193,186,63,252,193,188,63,252,193,190,63,252,193,192,63,252,193,194,63,252,193,196,63,252,193,30,215,252,193,198,63,252,193,200,63,252,193,202,63,252,193,204,63,252,193,206,63,252,193,208,63,252,193,210,63,252,193,218,63,252,193,220,63,252,193,222,63,252,193,224,63,252,193,226,63,252,193,242,63,252,193,244,63,252,193,246,63,252,193,70,218,252,193,248,63,252,193,250,63,252,193,252,63,252,193,254,63,252,193,12,64,252,193,14,64,252,193,16,64,252,193,18,64,252,193,20,64,252,193,22,64,252,193,28,64,252,193,38,64,252,193,30,64,252,193,40,64,252,193,44,64,252,193,52,64,252,193,54,64,252,193,56,64,252,193,58,64,252,193,60,64,252,193,62,64,252,193,64,64,252,193,76,64,252,193,78,64,252,193,80,64,252,193,82,64,252,193,84,64,252,193,86,64,252,193,88,64,252,193,104,64,252,193,106,64,252,193,108,64,252,193,8,64,252,193,32,64,252,193,34,64,252,193,46,64,252,193,90,64,252,193,92,64,252,193,136,64,252,193,152,64,252,193,154,64,252,193,180,64,252,193,182,64,252,193,212,64,252,193,214,64,252,193,242,64,252,193,244,64,252,193,14,65,252,193,16,65,252,193,44,65,252,193,46,65,252,193,60,65,252,193,62,65,252,193,90,65,252,193,92,65,252,193,112,65,252,193,126,65,252,193,128,65,252,193,146,65,252,193,160,65,252,193,212,65,252,193,6,66,252,193,12,66,252,193,62,66,252,193,186,64,252,193,218,64,252,193,220,64,252,193,222,64,252,193,224,64,252,193,250,64,252,193,252,64,252,193,50,65,252,193,68,65,252,193,138,65,252,193,140,65,252,193,174,65,252,193,186,65,252,193,200,65,252,193,44,66,252,193,46,66,252,193,48,66,252,193,72,66,252,193,90,66,252,193,116,66,252,193,118,66,252,193,152,66,252,193,186,66,252,193,246,66,252,193,248,66,252,193,30,67,252,193,32,67,252,193,60,67,252,193,62,67,252,193,64,67,252,193,108,67,252,193,152,67,252,193,234,64,252,193,236,64,252,193,4,65,252,193,6,65,252,193,8,65,252,193,10,65,252,193,12,65,252,193,26,65,252,193,28,65,252,193,30,65,252,193,32,65,252,193,34,65,252,193,36,65,252,193,38,65,252,193,52,65,252,193,54,65,252,193,56,65,252,193,58,65,252,193,70,65,252,193,72,65,252,193,74,65,252,193,76,65,252,193,78,65,252,193,80,65,252,193,82,65,252,193,96,65,252,193,106,65,252,193,98,65,252,193,84,65,252,193,100,65,252,193,102,65,252,193,108,65,252,193,110,65,252,193,182,189,252,193,114,65,252,193,116,65,252,193,118,65,252,193,120,65,252,193,122,65,252,193,124,65,252,193,130,65,252,193,132,65,252,193,134,65,252,193,136,65,252,193,142,65,252,193,144,65,252,193,156,65,252,193,158,65,252,193,166,65,252,193,168,65,252,193,172,65,252,193,180,65,252,193,182,65,252,193,190,65,252,193,196,65,252,193,198,65,252,193,206,65,252,193,208,65,252,193,210,65,252,193,214,65,252,193,220,65,252,193,224,65,252,193,230,65,252,193,232,65,252,193,234,65,252,193,236,65,252,193,240,65,252,193,242,65,252,193,244,65,252,193,246,65,252,193,252,65,252,193,254,65,252,193,2,66,252,193,4,66,252,193,18,66,252,193,20,66,252,193,22,66,252,193,24,66,252,193,26,66,252,193,34,66,252,193,36,66,252,193,38,66,252,193,54,66,252,193,56,66,252,193,58,66,252,193,60,66,252,193,76,66,252,193,78,66,252,193,80,66,252,193,82,66,252,193,84,66,252,206,96,51,0,206,96,51,0,206,96,51,0,206,96,51,0,206,96,51,0,193,32,66,252,193,50,66,252,193,74,66,252,193,154,66,252,193,162,66,252,193,174,66,252,193,206,66,252,193,252,66,252,193,8,67,252,193,34,67,252,193,36,67,252,193,110,67,252,193,112,67,252,193,114,67,252,193,154,67,252,193,156,67,252,193,158,67,252,193,160,67,252,193,162,67,252,193,184,67,252,193,186,67,252,193,202,67,252,193,204,67,252,193,206,67,252,193,18,68,252,193,28,68,252,193,68,68,252,193,94,68,252,193,96,68,252,193,102,68,252,193,104,68,252,193,106,68,252,193,40,66,252,193,42,66,252,193,68,66,252,193,70,66,252,193,86,66,252,193,88,66,252,193,114,66,252,193,216,66,252,193,222,66,252,193,28,67,252,193,56,67,252,193,58,67,252,193,106,67,252,193,4,68,252,193,16,68,252,193,40,68,252,193,44,68,252,193,56,68,252,193,80,68,252,193,100,68,252,193,118,68,252,193,238,68,252,193,240,68,252,193,242,68,252,193,244,68,252,193,246,68,252,193,88,69,252,193,90,69,252,193,92,69,252,193,94,69,252,193,158,69,252,193,160,69,252,193,64,66,252,193,66,66,252,193,112,66,252,193,140,66,252,193,142,66,252,193,144,66,252,193,146,66,252,193,148,66,252,193,150,66,252,193,172,66,252,193,184,66,252,193,200,66,252,193,202,66,252,193,204,66,252,193,220,66,252,193,228,66,252,193,232,66,252,193,234,66,252,193,250,66,252,193,24,67,252,193,26,67,252,193,104,67,252,193,26,68,252,193,54,68,252,193,86,68,252,193,116,68,252,193,146,68,252,193,234,68,252,193,236,68,252,193,86,69,252,193,154,69,252,193,156,69,252,206,96,51,0,206,96,51,0,206,96,51,0,206,96,51,0,193,122,66,252,193,124,66,252,193,126,66,252,193,128,66,252,193,130,66,252,193,132,66,252,193,134,66,252,193,136,66,252,193,156,66,252,193,158,66,252,193,160,66,252,193,164,66,252,193,166,66,252,193,168,66,252,193,170,66,252,193,176,66,252,193,178,66,252,193,180,66,252,193,188,66,252,193,190,66,252,193,192,66,252,193,194,66,252,193,196,66,252,193,198,66,252,193,208,66,252,193,210,66,252,193,212,66,252,193,214,66,252,193,182,66,252,193,218,66,252,193,84,67,252,193,100,67,252,193,102,67,252,193,150,67,252,193,244,67,252,193,38,68,252,193,78,68,252,193,144,68,252,193,80,69,252,193,82,69,252,193,148,69,252,193,150,69,252,193,152,69,252,193,78,70,252,193,182,70,252,193,24,71,252,193,26,71,252,193,28,71,252,193,104,71,252,193,160,71,252,193,6,72,252,193,238,72,252,193,128,73,252,193,130,73,252,193,46,74,252,193,48,74,252,193,212,74,252,193,214,74,252,193,124,75,252,193,126,75,252,193,224,66,252,193,226,66,252,193,230,66,252,193,236,66,252,193,238,66,252,193,240,66,252,193,242,66,252,193,244,66,252,193,254,66,252,193,2,67,252,193,4,67,252,193,6,67,252,193,14,67,252,193,16,67,252,193,18,67,252,193,20,67,252,193,22,67,252,193,38,67,252,193,40,67,252,193,42,67,252,193,44,67,252,193,46,67,252,193,48,67,252,193,50,67,252,193,52,67,252,193,54,67,252,193,72,67,252,193,74,67,252,193,76,67,252,193,78,67,252,193,80,67,252,193,82,67,252,193,68,67,252,193,70,67,252,193,188,67,252,193,246,67,252,193,6,68,252,193,22,68,252,193,30,68,252,193,48,68,252,193,108,68,252,193,132,68,252,193,134,68,252,193,168,68,252,193,170,68,252,193,172,68,252,193,174,68,252,193,176,68,252,193,20,69,252,193,22,69,252,193,24,69,252,193,26,69,252,193,28,69,252,193,120,69,252,193,122,69,252,193,124,69,252,193,126,69,252,193,176,69,252,193,178,69,252,193,180,69,252,193,182,69,252,193,184,69,252,193,186,69,252,193,188,69,252,193,86,67,252,193,88,67,252,193,90,67,252,193,92,67,252,193,94,67,252,193,96,67,252,193,98,67,252,193,116,67,252,193,118,67,252,193,120,67,252,193,122,67,252,193,124,67,252,193,126,67,252,193,128,67,252,193,130,67,252,193,132,67,252,193,134,67,252,193,136,67,252,193,138,67,252,193,140,67,252,193,142,67,252,193,144,67,252,193,146,67,252,193,148,67,252,193,164,67,252,193,166,67,252,193,168,67,252,193,170,67,252,193,172,67,252,193,174,67,252,193,176,67,252,193,178,67,252,193,180,67,252,193,182,67,252,193,190,67,252,193,192,67,252,193,194,67,252,193,196,67,252,193,198,67,252,193,200,67,252,193,208,67,252,193,210,67,252,193,212,67,252,193,214,67,252,193,216,67,252,193,218,67,252,193,220,67,252,193,222,67,252,193,224,67,252,193,226,67,252,193,228,67,252,193,230,67,252,193,232,67,252,193,234,67,252,193,236,67,252,193,238,67,252,193,240,67,252,193,242,67,252,193,248,67,252,193,250,67,252,193,252,67,252,193,254,67,252,193,2,68,252,193,8,68,252,193,10,68,252,193,12,68,252,193,14,68,252,193,20,68,252,193,24,68,252,193,32,68,252,193,36,68,252,193,42,68,252,193,50,68,252,193,52,68,252,193,62,68,252,193,64,68,252,193,70,68,252,193,72,68,252,193,74,68,252,193,76,68,252,193,82,68,252,193,84,68,252,193,88,68,252,193,90,68,252,193,98,68,252,193,110,68,252,193,112,68,252,193,114,68,252,193,136,68,252,193,138,68,252,193,140,68,252,193,142,68,252,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,193,34,68,252,193,46,68,252,193,58,68,252,193,60,68,252,193,66,68,252,193,92,68,252,193,120,68,252,193,148,68,252,193,150,68,252,193,248,68,252,193,250,68,252,193,252,68,252,193,254,68,252,193,96,69,252,193,98,69,252,193,100,69,252,193,102,69,252,193,104,69,252,193,106,69,252,193,108,69,252,193,162,69,252,193,242,69,252,193,102,70,252,193,104,70,252,193,192,70,252,193,38,71,252,193,40,71,252,193,116,71,252,193,166,71,252,193,126,72,252,193,128,72,252,193,250,72,252,193,122,68,252,193,124,68,252,193,126,68,252,193,128,68,252,193,130,68,252,193,152,68,252,193,154,68,252,193,156,68,252,193,158,68,252,193,160,68,252,193,162,68,252,193,164,68,252,193,166,68,252,193,2,69,252,193,4,69,252,193,6,69,252,193,8,69,252,193,10,69,252,193,12,69,252,193,14,69,252,193,16,69,252,193,18,69,252,193,110,69,252,193,112,69,252,193,114,69,252,193,116,69,252,193,118,69,252,193,164,69,252,193,166,69,252,193,168,69,252,193,170,69,252,193,172,69,252,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,128,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,206,160,51,0,193,128,69,252,193,130,69,252,193,132,69,252,193,134,69,252,193,136,69,252,193,138,69,252,193,140,69,252,193,142,69,252,193,144,69,252,193,146,69,252,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,193,244,69,252,193,174,69,252,193,246,69,252,193,248,69,252,193,250,69,252,193,252,69,252,193,254,69,252,193,2,70,252,193,4,70,252,193,6,70,252,193,8,70,252,193,10,70,252,193,106,70,252,193,108,70,252,193,110,70,252,193,112,70,252,193,114,70,252,193,116,70,252,193,194,70,252,193,196,70,252,193,198,70,252,193,200,70,252,193,202,70,252,193,204,70,252,193,42,71,252,193,44,71,252,193,46,71,252,193,48,71,252,193,118,71,252,193,120,71,252,193,122,71,252,193,124,71,252,193,190,69,252,193,12,70,252,193,14,70,252,193,16,70,252,193,206,70,252,193,118,70,252,193,120,70,252,193,122,70,252,193,124,70,252,193,208,70,252,193,210,70,252,193,212,70,252,193,50,71,252,193,52,71,252,193,54,71,252,193,56,71,252,193,58,71,252,193,126,71,252,193,128,71,252,193,130,71,252,193,170,71,252,193,172,71,252,193,174,71,252,193,196,71,252,193,198,71,252,193,216,71,252,193,248,71,252,193,10,72,252,193,162,72,252,193,164,72,252,193,166,72,252,193,168,72,252,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,192,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,206,224,51,0,193,232,69,252,193,80,70,252,193,82,70,252,193,184,70,252,193,186,70,252,193,188,70,252,193,30,71,252,193,32,71,252,193,106,71,252,193,56,72,252,193,120,72,252,193,122,72,252,193,134,73,252,193,136,73,252,193,50,74,252,193,52,74,252,193,54,74,252,193,56,74,252,193,216,74,252,193,218,74,252,193,220,74,252,193,134,75,252,193,136,75,252,193,138,75,252,193,80,76,252,193,82,76,252,193,84,76,252,193,86,76,252,193,88,76,252,193,252,76,252,193,254,76,252,193,2,77,252,193,234,69,252,193,236,69,252,193,238,69,252,193,240,69,252,193,84,70,252,193,86,70,252,193,88,70,252,193,90,70,252,193,92,70,252,193,94,70,252,193,96,70,252,193,98,70,252,193,100,70,252,193,190,70,252,193,34,71,252,193,36,71,252,193,108,71,252,193,110,71,252,193,112,71,252,193,114,71,252,193,162,71,252,193,164,71,252,193,232,71,252,193,28,72,252,193,74,72,252,193,124,72,252,193,240,72,252,193,242,72,252,193,244,72,252,193,246,72,252,193,248,72,252,193,138,73,252,193,162,70,252,193,164,70,252,193,166,70,252,193,168,70,252,193,170,70,252,193,172,70,252,193,174,70,252,193,176,70,252,193,178,70,252,193,214,70,252,193,216,70,252,193,218,70,252,193,220,70,252,193,222,70,252,193,224,70,252,193,226,70,252,193,228,70,252,193,230,70,252,193,232,70,252,193,234,70,252,193,236,70,252,193,238,70,252,193,240,70,252,193,242,70,252,193,244,70,252,193,246,70,252,193,248,70,252,193,250,70,252,193,252,70,252,193,254,70,252,193,2,71,252,193,180,70,252,193,102,71,252,193,132,71,252,193,134,71,252,193,136,71,252,193,138,71,252,193,140,71,252,193,142,71,252,193,144,71,252,193,146,71,252,193,148,71,252,193,150,71,252,193,152,71,252,193,154,71,252,193,156,71,252,193,158,71,252,193,176,71,252,193,178,71,252,193,180,71,252,193,182,71,252,193,184,71,252,193,186,71,252,193,188,71,252,193,190,71,252,193,192,71,252,193,194,71,252,193,200,71,252,193,202,71,252,193,218,71,252,193,220,71,252,193,222,71,252,193,224,71,252,193,226,71,252,193,168,71,252,193,204,71,252,193,206,71,252,193,208,71,252,193,210,71,252,193,212,71,252,193,214,71,252,193,234,71,252,193,236,71,252,193,8,72,252,193,30,72,252,193,42,72,252,193,46,72,252,193,48,72,252,193,50,72,252,193,58,72,252,193,60,72,252,193,76,72,252,193,78,72,252,193,80,72,252,193,82,72,252,193,84,72,252,193,86,72,252,193,88,72,252,193,90,72,252,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,193,228,71,252,193,230,71,252,193,238,71,252,193,240,71,252,193,242,71,252,193,244,71,252,193,246,71,252,193,250,71,252,193,252,71,252,193,254,71,252,193,2,72,252,193,4,72,252,193,12,72,252,193,14,72,252,193,16,72,252,193,18,72,252,193,20,72,252,193,22,72,252,193,24,72,252,193,26,72,252,193,32,72,252,193,34,72,252,193,36,72,252,193,38,72,252,193,40,72,252,193,44,72,252,193,54,72,252,193,62,72,252,193,64,72,252,193,66,72,252,193,68,72,252,193,70,72,252,193,72,72,252,193,92,72,252,193,94,72,252,193,96,72,252,193,98,72,252,193,100,72,252,193,102,72,252,193,104,72,252,193,106,72,252,193,108,72,252,193,110,72,252,193,112,72,252,193,114,72,252,193,116,72,252,193,118,72,252,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,206,0,52,0,193,2,73,252,193,4,73,252,193,6,73,252,193,8,73,252,193,10,73,252,193,12,73,252,193,14,73,252,193,16,73,252,193,18,73,252,193,20,73,252,193,22,73,252,193,24,73,252,193,26,73,252,193,28,73,252,193,30,73,252,193,32,73,252,193,34,73,252,193,36,73,252,193,38,73,252,193,40,73,252,193,42,73,252,193,44,73,252,193,162,73,252,193,170,72,252,193,46,73,252,193,48,73,252,193,50,73,252,193,52,73,252,193,54,73,252,193,56,73,252,193,58,73,252,193,60,73,252,193,62,73,252,193,64,73,252,193,202,73,252,193,204,73,252,193,206,73,252,193,208,73,252,193,210,73,252,193,212,73,252,193,114,74,252,193,116,74,252,193,118,74,252,193,120,74,252,193,122,74,252,193,124,74,252,193,126,74,252,193,128,74,252,193,58,75,252,193,60,75,252,193,62,75,252,193,64,75,252,193,66,75,252,193,68,75,252,193,70,75,252,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,32,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,206,64,52,0,193,236,72,252,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,193,252,72,252,193,254,72,252,193,148,73,252,193,150,73,252,193,152,73,252,193,154,73,252,193,156,73,252,193,158,73,252,193,160,73,252,193,70,74,252,193,72,74,252,193,74,74,252,193,76,74,252,193,78,74,252,193,238,74,252,193,240,74,252,193,242,74,252,193,244,74,252,193,246,74,252,193,150,75,252,193,152,75,252,193,154,75,252,193,156,75,252,193,158,75,252,193,160,75,252,193,162,75,252,193,164,75,252,193,166,75,252,193,168,75,252,193,170,75,252,193,110,76,252,193,112,76,252,193,140,73,252,193,142,73,252,193,144,73,252,193,146,73,252,193,58,74,252,193,60,74,252,193,62,74,252,193,64,74,252,193,66,74,252,193,68,74,252,193,222,74,252,193,224,74,252,193,226,74,252,193,228,74,252,193,230,74,252,193,232,74,252,193,234,74,252,193,236,74,252,193,140,75,252,193,142,75,252,193,144,75,252,193,146,75,252,193,148,75,252,193,90,76,252,193,92,76,252,193,94,76,252,193,96,76,252,193,98,76,252,193,100,76,252,193,102,76,252,193,104,76,252,193,106,76,252,193,164,73,252,193,166,73,252,193,168,73,252,193,170,73,252,193,172,73,252,193,174,73,252,193,176,73,252,193,178,73,252,193,180,73,252,193,182,73,252,193,184,73,252,193,186,73,252,193,188,73,252,193,190,73,252,193,192,73,252,193,194,73,252,193,196,73,252,193,198,73,252,193,200,73,252,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,206,96,52,0,193,130,74,252,193,132,74,252,193,134,74,252,193,136,74,252,193,138,74,252,193,140,74,252,193,142,74,252,193,144,74,252,193,146,74,252,193,148,74,252,193,44,74,252,193,150,74,252,193,152,74,252,193,154,74,252,193,156,74,252,193,158,74,252,193,160,74,252,193,162,74,252,193,164,74,252,193,166,74,252,193,168,74,252,193,170,74,252,193,172,74,252,193,174,74,252,193,176,74,252,193,178,74,252,193,180,74,252,193,182,74,252,193,184,74,252,193,186,74,252,193,188,74,252,193,190,74,252,193,192,74,252,193,194,74,252,193,196,74,252,193,198,74,252,193,200,74,252,193,202,74,252,193,204,74,252,206,128,52,0,206,128,52,0,206,128,52,0,206,128,52,0,193,248,74,252,193,250,74,252,193,252,74,252,193,254,74,252,193,2,75,252,193,4,75,252,193,6,75,252,193,8,75,252,193,10,75,252,193,12,75,252,193,14,75,252,193,16,75,252,193,18,75,252,193,20,75,252,193,22,75,252,193,24,75,252,193,26,75,252,193,28,75,252,193,30,75,252,193,32,75,252,193,34,75,252,193,36,75,252,193,38,75,252,193,40,75,252,193,42,75,252,193,44,75,252,193,46,75,252,193,48,75,252,193,206,74,252,193,208,74,252,193,210,74,252,193,74,75,252,193,76,75,252,193,78,75,252,193,80,75,252,193,82,75,252,193,84,75,252,193,86,75,252,193,88,75,252,193,90,75,252,193,92,75,252,193,94,75,252,193,96,75,252,193,98,75,252,193,100,75,252,193,102,75,252,193,104,75,252,193,106,75,252,193,108,75,252,193,110,75,252,193,112,75,252,193,114,75,252,193,116,75,252,193,118,75,252,193,120,75,252,193,122,75,252,206,160,52,0,206,160,52,0,206,160,52,0,206,160,52,0,193,50,75,252,193,52,75,252,193,172,75,252,193,174,75,252,193,176,75,252,193,178,75,252,193,180,75,252,193,182,75,252,193,184,75,252,193,186,75,252,193,54,75,252,193,56,75,252,193,188,75,252,193,190,75,252,193,192,75,252,193,194,75,252,193,196,75,252,193,198,75,252,193,200,75,252,193,202,75,252,193,204,75,252,193,206,75,252,193,208,75,252,193,210,75,252,193,212,75,252,193,214,75,252,193,116,76,252,193,118,76,252,193,120,76,252,193,122,76,252,193,124,76,252,193,126,76,252,193,72,75,252,193,218,75,252,193,220,75,252,193,222,75,252,193,224,75,252,193,226,75,252,193,228,75,252,193,146,76,252,193,148,76,252,193,150,76,252,193,152,76,252,193,154,76,252,193,156,76,252,193,158,76,252,193,32,77,252,193,34,77,252,193,36,77,252,193,38,77,252,193,40,77,252,193,42,77,252,193,192,77,252,193,194,77,252,193,196,77,252,193,198,77,252,193,200,77,252,193,202,77,252,193,70,78,252,193,72,78,252,193,74,78,252,193,150,78,252,193,152,78,252,193,154,78,252,193,128,75,252,193,130,75,252,193,72,76,252,193,74,76,252,193,76,76,252,193,78,76,252,193,248,76,252,193,250,76,252,193,128,77,252,193,32,78,252,193,184,78,252,193,236,78,252,193,18,79,252,193,166,79,252,193,80,80,252,193,82,80,252,193,84,80,252,193,86,80,252,193,88,80,252,193,90,80,252,193,92,80,252,193,30,81,252,193,32,81,252,193,226,81,252,193,228,81,252,193,230,81,252,193,232,81,252,193,234,81,252,193,236,81,252,193,238,81,252,193,240,81,252,193,242,81,252,193,128,76,252,193,216,75,252,193,130,76,252,193,132,76,252,193,10,77,252,193,134,76,252,193,136,76,252,193,138,76,252,193,140,76,252,193,142,76,252,193,144,76,252,193,160,77,252,193,12,77,252,193,14,77,252,193,16,77,252,193,18,77,252,193,20,77,252,193,22,77,252,193,24,77,252,193,26,77,252,193,28,77,252,193,30,77,252,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,192,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,193,108,76,252,193,6,77,252,193,140,77,252,193,142,77,252,193,144,77,252,193,146,77,252,193,148,77,252,193,150,77,252,193,38,78,252,193,40,78,252,193,42,78,252,193,44,78,252,193,46,78,252,193,134,78,252,193,188,78,252,193,190,78,252,193,240,78,252,193,242,78,252,193,48,79,252,193,66,79,252,193,110,79,252,193,168,79,252,193,106,80,252,193,108,80,252,193,110,80,252,193,112,80,252,193,114,80,252,193,116,80,252,206,0,54,0,206,0,54,0,206,0,54,0,206,0,54,0,193,114,76,252,193,8,77,252,193,152,77,252,193,154,77,252,193,156,77,252,193,158,77,252,193,48,78,252,193,50,78,252,193,244,78,252,193,20,79,252,193,22,79,252,193,24,79,252,193,68,79,252,193,170,79,252,193,172,79,252,193,118,80,252,193,120,80,252,193,122,80,252,193,124,80,252,193,126,80,252,193,64,81,252,193,66,81,252,193,68,81,252,193,22,82,252,193,24,82,252,193,26,82,252,193,28,82,252,193,30,82,252,193,32,82,252,193,226,82,252,193,228,82,252,193,230,82,252,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,206,224,52,0,193,44,77,252,193,46,77,252,193,48,77,252,193,50,77,252,193,52,77,252,193,54,77,252,193,56,77,252,193,4,77,252,193,130,77,252,193,132,77,252,193,134,77,252,193,136,77,252,193,138,77,252,193,34,78,252,193,36,78,252,193,128,78,252,193,130,78,252,193,132,78,252,193,186,78,252,193,238,78,252,193,46,79,252,193,104,79,252,193,130,79,252,193,226,79,252,193,228,79,252,193,96,80,252,193,98,80,252,193,100,80,252,193,102,80,252,193,104,80,252,193,34,81,252,193,36,81,252,193,38,81,252,193,40,81,252,193,42,81,252,193,44,81,252,193,46,81,252,193,246,81,252,193,248,81,252,193,58,77,252,193,60,77,252,193,62,77,252,193,64,77,252,193,66,77,252,193,68,77,252,193,70,77,252,193,72,77,252,193,74,77,252,193,76,77,252,193,78,77,252,193,80,77,252,193,82,77,252,193,84,77,252,193,86,77,252,193,88,77,252,193,90,77,252,193,92,77,252,193,94,77,252,193,96,77,252,193,98,77,252,193,100,77,252,193,102,77,252,193,104,77,252,193,106,77,252,193,108,77,252,193,110,77,252,193,112,77,252,193,114,77,252,193,116,77,252,193,118,77,252,193,120,77,252,193,122,77,252,193,124,77,252,193,126,77,252,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,206,0,53,0,193,52,78,252,193,54,78,252,193,56,78,252,193,58,78,252,193,60,78,252,193,62,78,252,193,64,78,252,193,66,78,252,193,68,78,252,193,136,78,252,193,138,78,252,193,140,78,252,193,142,78,252,193,144,78,252,193,146,78,252,193,148,78,252,193,192,78,252,193,194,78,252,193,196,78,252,193,198,78,252,193,246,78,252,193,248,78,252,193,250,78,252,193,26,79,252,193,28,79,252,193,50,79,252,193,52,79,252,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,32,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,206,64,53,0,193,156,78,252,193,158,78,252,193,160,78,252,193,162,78,252,193,164,78,252,193,166,78,252,193,168,78,252,193,170,78,252,193,172,78,252,193,174,78,252,193,176,78,252,193,178,78,252,193,180,78,252,193,182,78,252,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,193,200,78,252,193,252,78,252,193,254,78,252,193,30,79,252,193,32,79,252,193,34,79,252,193,36,79,252,193,94,79,252,193,152,79,252,193,154,79,252,193,156,79,252,193,158,79,252,193,194,79,252,193,196,79,252,193,198,79,252,193,200,79,252,193,22,80,252,193,24,80,252,193,26,80,252,193,28,80,252,193,30,80,252,193,32,80,252,193,34,80,252,193,192,80,252,193,194,80,252,193,196,80,252,193,198,80,252,193,200,80,252,193,202,80,252,193,204,80,252,193,206,80,252,193,138,81,252,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,206,96,53,0,193,2,79,252,193,4,79,252,193,6,79,252,193,8,79,252,193,10,79,252,193,12,79,252,193,14,79,252,193,16,79,252,193,38,79,252,193,40,79,252,193,42,79,252,193,44,79,252,193,54,79,252,193,56,79,252,193,58,79,252,193,60,79,252,193,62,79,252,193,64,79,252,193,72,79,252,193,74,79,252,193,76,79,252,193,78,79,252,193,86,79,252,193,88,79,252,193,90,79,252,193,92,79,252,193,96,79,252,193,70,79,252,193,80,79,252,193,82,79,252,193,84,79,252,193,112,79,252,193,116,79,252,193,120,79,252,193,122,79,252,193,124,79,252,193,132,79,252,193,138,79,252,193,134,79,252,193,140,79,252,193,142,79,252,193,144,79,252,193,146,79,252,193,148,79,252,193,150,79,252,193,174,79,252,193,176,79,252,193,178,79,252,193,180,79,252,193,182,79,252,193,184,79,252,193,186,79,252,193,188,79,252,193,190,79,252,193,192,79,252,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,193,98,79,252,193,100,79,252,193,102,79,252,193,106,79,252,193,108,79,252,193,114,79,252,193,118,79,252,193,126,79,252,193,128,79,252,193,136,79,252,193,160,79,252,193,162,79,252,193,164,79,252,193,202,79,252,193,204,79,252,193,206,79,252,193,208,79,252,193,210,79,252,193,212,79,252,193,214,79,252,193,216,79,252,193,218,79,252,193,220,79,252,193,222,79,252,193,224,79,252,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,128,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,160,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,192,53,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,224,53,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,0,54,0,206,0,54,0,206,0,54,0,206,0,54,0,193,6,82,252,193,8,82,252,193,10,82,252,193,12,82,252,193,14,82,252,193,16,82,252,193,18,82,252,193,20,82,252,193,208,82,252,193,210,82,252,193,212,82,252,193,214,82,252,193,216,82,252,193,218,82,252,193,220,82,252,193,222,82,252,193,224,82,252,193,238,83,252,193,240,83,252,193,242,83,252,193,244,83,252,193,246,83,252,193,248,83,252,193,250,83,252,193,252,83,252,193,254,83,252,193,2,84,252,193,4,84,252,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,206,32,54,0,193,34,82,252,193,36,82,252,193,38,82,252,193,40,82,252,193,234,82,252,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,206,96,54,0,193,136,81,252,193,76,82,252,193,78,82,252,193,80,82,252,193,82,82,252,193,84,82,252,193,86,82,252,193,88,82,252,193,90,82,252,193,92,82,252,193,94,82,252,193,236,82,252,193,238,82,252,193,240,82,252,193,242,82,252,193,244,82,252,193,246,82,252,193,248,82,252,193,250,82,252,193,252,82,252,193,254,82,252,193,20,84,252,193,2,83,252,193,140,81,252,193,142,81,252,193,144,81,252,193,146,81,252,193,148,81,252,193,150,81,252,193,152,81,252,193,154,81,252,193,156,81,252,193,96,82,252,193,98,82,252,193,100,82,252,193,102,82,252,193,104,82,252,193,106,82,252,193,108,82,252,193,110,82,252,193,62,83,252,193,64,83,252,193,66,83,252,193,68,83,252,193,70,83,252,193,72,83,252,193,74,83,252,193,76,83,252,193,78,83,252,193,80,83,252,193,82,83,252,193,84,83,252,193,92,84,252,193,94,84,252,193,96,84,252,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,64,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,193,250,81,252,193,252,81,252,193,254,81,252,193,2,82,252,193,4,82,252,193,198,82,252,193,200,82,252,193,202,82,252,193,204,82,252,193,206,82,252,193,218,83,252,193,220,83,252,193,222,83,252,193,224,83,252,193,226,83,252,193,228,83,252,193,230,83,252,193,232,83,252,193,234,83,252,193,236,83,252,193,8,85,252,193,10,85,252,193,12,85,252,193,14,85,252,193,16,85,252,193,18,85,252,193,20,85,252,206,0,55,0,206,0,55,0,206,0,55,0,206,0,55,0,206,0,55,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,128,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,193,186,82,252,193,188,82,252,193,190,82,252,193,192,82,252,193,194,82,252,193,196,82,252,193,190,83,252,193,192,83,252,193,194,83,252,193,196,83,252,193,198,83,252,193,200,83,252,193,202,83,252,193,204,83,252,193,206,83,252,193,208,83,252,193,210,83,252,193,212,83,252,193,214,83,252,193,230,84,252,193,232,84,252,193,234,84,252,193,236,84,252,193,238,84,252,193,240,84,252,193,242,84,252,193,244,84,252,193,246,84,252,193,248,84,252,193,250,84,252,193,252,84,252,193,254,84,252,193,232,82,252,193,12,84,252,193,14,84,252,193,16,84,252,193,18,84,252,193,38,85,252,193,40,85,252,193,42,85,252,193,44,85,252,193,244,85,252,193,246,85,252,193,190,86,252,193,192,86,252,193,194,86,252,193,140,87,252,193,142,87,252,193,144,87,252,193,146,87,252,193,148,87,252,193,44,88,252,193,46,88,252,193,238,88,252,193,240,88,252,193,42,89,252,193,44,89,252,193,82,89,252,193,106,89,252,193,160,89,252,193,210,89,252,193,244,89,252,193,8,90,252,193,10,90,252,193,4,83,252,193,6,83,252,193,8,83,252,193,10,83,252,193,12,83,252,193,14,83,252,193,16,83,252,193,18,83,252,193,20,83,252,193,22,83,252,193,24,83,252,193,26,83,252,193,28,83,252,193,30,83,252,193,32,83,252,193,34,83,252,193,36,83,252,193,38,83,252,193,40,83,252,193,42,83,252,193,44,83,252,193,46,83,252,193,48,83,252,193,50,83,252,193,52,83,252,193,54,83,252,193,56,83,252,193,58,83,252,193,60,83,252,193,22,84,252,193,24,84,252,193,26,84,252,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,160,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,193,6,84,252,193,8,84,252,193,10,84,252,193,22,85,252,193,24,85,252,193,26,85,252,193,28,85,252,193,30,85,252,193,32,85,252,193,34,85,252,193,36,85,252,193,236,85,252,193,238,85,252,193,240,85,252,193,242,85,252,193,176,86,252,193,178,86,252,193,180,86,252,193,182,86,252,193,184,86,252,193,186,86,252,193,188,86,252,193,120,87,252,193,122,87,252,193,124,87,252,193,126,87,252,193,128,87,252,193,130,87,252,193,132,87,252,193,134,87,252,193,136,87,252,193,138,87,252,193,28,84,252,193,30,84,252,193,32,84,252,193,34,84,252,193,36,84,252,193,38,84,252,193,40,84,252,193,42,84,252,193,44,84,252,193,46,84,252,193,48,84,252,193,50,84,252,193,52,84,252,193,54,84,252,193,56,84,252,193,58,84,252,193,60,84,252,193,62,84,252,193,64,84,252,193,66,84,252,193,68,84,252,193,70,84,252,193,72,84,252,193,74,84,252,193,76,84,252,193,78,84,252,193,80,84,252,193,82,84,252,193,84,84,252,193,86,84,252,193,88,84,252,193,90,84,252,193,98,84,252,193,100,84,252,193,102,84,252,193,104,84,252,193,106,84,252,193,108,84,252,193,110,84,252,193,96,85,252,193,98,85,252,193,100,85,252,193,102,85,252,193,38,86,252,193,40,86,252,193,42,86,252,193,44,86,252,193,46,86,252,193,48,86,252,193,50,86,252,193,52,86,252,193,54,86,252,193,56,86,252,193,238,86,252,193,240,86,252,193,242,86,252,193,244,86,252,193,246,86,252,193,248,86,252,193,250,86,252,193,252,86,252,193,184,87,252,193,186,87,252,193,188,87,252,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,192,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,193,2,85,252,193,4,85,252,193,6,85,252,193,188,85,252,193,190,85,252,193,192,85,252,193,194,85,252,193,196,85,252,193,198,85,252,193,200,85,252,193,202,85,252,193,204,85,252,193,206,85,252,193,208,85,252,193,210,85,252,193,212,85,252,193,148,86,252,193,150,86,252,193,152,86,252,193,154,86,252,193,156,86,252,193,158,86,252,193,160,86,252,193,84,87,252,193,86,87,252,193,88,87,252,193,90,87,252,193,92,87,252,193,94,87,252,193,96,87,252,193,98,87,252,193,100,87,252,193,46,85,252,193,48,85,252,193,50,85,252,193,52,85,252,193,54,85,252,193,56,85,252,193,58,85,252,193,60,85,252,193,62,85,252,193,64,85,252,193,66,85,252,193,68,85,252,193,70,85,252,193,72,85,252,193,74,85,252,193,76,85,252,193,78,85,252,193,80,85,252,193,82,85,252,193,84,85,252,193,86,85,252,193,88,85,252,193,90,85,252,193,92,85,252,193,94,85,252,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,224,54,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,0,55,0,206,0,55,0,206,0,55,0,206,0,55,0,206,0,55,0,193,164,86,252,193,166,86,252,193,168,86,252,193,170,86,252,193,172,86,252,193,174,86,252,193,104,87,252,193,106,87,252,193,108,87,252,193,110,87,252,193,112,87,252,193,114,87,252,193,116,87,252,193,118,87,252,193,18,88,252,193,20,88,252,193,22,88,252,193,24,88,252,193,142,88,252,193,144,88,252,193,146,88,252,193,228,88,252,193,34,89,252,193,36,89,252,193,38,89,252,193,134,89,252,193,146,89,252,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,206,32,55,0,193,196,86,252,193,34,86,252,193,198,86,252,193,200,86,252,193,202,86,252,193,204,86,252,193,36,86,252,193,206,86,252,193,208,86,252,193,210,86,252,193,212,86,252,193,214,86,252,193,216,86,252,193,218,86,252,193,220,86,252,193,222,86,252,193,224,86,252,193,226,86,252,193,228,86,252,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,206,64,55,0,193,254,86,252,193,146,86,252,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,193,230,86,252,193,232,86,252,193,150,87,252,193,234,86,252,193,236,86,252,193,152,87,252,193,154,87,252,193,156,87,252,193,158,87,252,193,160,87,252,193,162,87,252,193,164,87,252,193,166,87,252,193,168,87,252,193,170,87,252,193,172,87,252,193,174,87,252,193,176,87,252,193,178,87,252,193,180,87,252,193,182,87,252,193,48,88,252,193,50,88,252,193,52,88,252,193,54,88,252,193,56,88,252,193,58,88,252,193,60,88,252,193,62,88,252,193,64,88,252,193,66,88,252,193,68,88,252,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,96,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,193,102,87,252,193,6,88,252,193,8,88,252,193,10,88,252,193,12,88,252,193,14,88,252,193,16,88,252,193,138,88,252,193,140,88,252,193,222,88,252,193,224,88,252,193,226,88,252,193,26,89,252,193,28,89,252,193,30,89,252,193,32,89,252,193,76,89,252,193,126,89,252,193,132,89,252,193,166,89,252,193,182,89,252,193,6,90,252,193,136,90,252,193,176,90,252,193,178,90,252,193,226,90,252,193,136,91,252,193,138,91,252,193,206,91,252,193,252,91,252,193,254,91,252,193,160,92,252,193,190,87,252,193,192,87,252,193,194,87,252,193,174,88,252,193,176,88,252,193,178,88,252,193,180,88,252,193,2,89,252,193,110,89,252,193,168,89,252,193,170,89,252,193,190,89,252,193,192,89,252,193,214,89,252,193,216,89,252,193,228,89,252,193,12,90,252,193,14,90,252,193,16,90,252,193,28,90,252,193,30,90,252,193,60,90,252,193,96,90,252,193,112,90,252,193,124,90,252,193,126,90,252,193,158,90,252,193,160,90,252,193,194,90,252,193,196,90,252,193,198,90,252,193,200,90,252,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,128,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,193,26,88,252,193,28,88,252,193,30,88,252,193,32,88,252,193,34,88,252,193,36,88,252,193,38,88,252,193,40,88,252,193,42,88,252,193,148,88,252,193,150,88,252,193,152,88,252,193,154,88,252,193,230,88,252,193,232,88,252,193,234,88,252,193,236,88,252,193,40,89,252,193,78,89,252,193,80,89,252,193,100,89,252,193,102,89,252,193,104,89,252,193,184,89,252,193,208,89,252,193,56,90,252,193,68,90,252,193,106,90,252,193,108,90,252,193,184,90,252,193,28,91,252,193,30,91,252,193,70,88,252,193,72,88,252,193,74,88,252,193,156,88,252,193,158,88,252,193,160,88,252,193,162,88,252,193,164,88,252,193,166,88,252,193,168,88,252,193,170,88,252,193,172,88,252,193,242,88,252,193,244,88,252,193,246,88,252,193,248,88,252,193,250,88,252,193,252,88,252,193,254,88,252,193,46,89,252,193,48,89,252,193,50,89,252,193,52,89,252,193,84,89,252,193,86,89,252,193,88,89,252,193,108,89,252,193,128,89,252,193,158,89,252,193,162,89,252,193,186,89,252,193,188,89,252,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,206,160,55,0,193,182,88,252,193,184,88,252,193,186,88,252,193,188,88,252,193,190,88,252,193,192,88,252,193,194,88,252,193,196,88,252,193,198,88,252,193,200,88,252,193,202,88,252,193,136,88,252,193,204,88,252,193,206,88,252,193,208,88,252,193,210,88,252,193,212,88,252,193,214,88,252,193,216,88,252,193,218,88,252,193,220,88,252,193,4,89,252,193,6,89,252,193,8,89,252,193,10,89,252,193,12,89,252,193,14,89,252,193,16,89,252,193,18,89,252,193,20,89,252,193,22,89,252,193,24,89,252,193,54,89,252,193,56,89,252,193,58,89,252,193,60,89,252,193,62,89,252,193,64,89,252,193,66,89,252,193,68,89,252,193,70,89,252,193,72,89,252,193,74,89,252,193,90,89,252,193,92,89,252,193,94,89,252,193,96,89,252,193,98,89,252,193,112,89,252,193,114,89,252,193,116,89,252,193,118,89,252,193,120,89,252,193,122,89,252,193,124,89,252,193,130,89,252,193,226,189,252,193,150,89,252,193,136,89,252,193,138,89,252,193,140,89,252,193,142,89,252,193,144,89,252,193,152,89,252,193,156,89,252,193,164,89,252,193,172,89,252,193,174,89,252,193,176,89,252,193,178,89,252,193,180,89,252,193,194,89,252,193,196,89,252,193,198,89,252,193,200,89,252,193,202,89,252,193,218,89,252,193,220,89,252,193,222,89,252,193,224,89,252,193,226,89,252,193,230,89,252,193,232,89,252,193,234,89,252,193,236,89,252,193,238,89,252,193,240,89,252,193,148,89,252,193,154,89,252,193,204,89,252,193,206,89,252,193,118,90,252,193,138,90,252,193,180,90,252,193,182,90,252,193,20,91,252,193,22,91,252,193,24,91,252,193,26,91,252,193,140,91,252,193,142,91,252,193,208,91,252,193,2,92,252,193,122,92,252,193,252,92,252,193,6,93,252,193,72,93,252,193,102,93,252,193,104,93,252,193,128,93,252,193,152,93,252,193,154,93,252,193,156,93,252,193,166,93,252,193,168,93,252,193,170,93,252,193,234,93,252,193,236,93,252,193,92,94,252,193,212,89,252,193,246,89,252,193,48,90,252,193,72,90,252,193,80,90,252,193,92,90,252,193,104,90,252,193,110,90,252,193,120,90,252,193,122,90,252,193,140,90,252,193,142,90,252,193,144,90,252,193,146,90,252,193,148,90,252,193,150,90,252,193,152,90,252,193,154,90,252,193,156,90,252,193,188,90,252,193,190,90,252,193,192,90,252,193,228,90,252,193,230,90,252,193,232,90,252,193,36,91,252,193,38,91,252,193,40,91,252,193,42,91,252,193,84,91,252,193,86,91,252,193,88,91,252,193,242,89,252,193,248,89,252,193,250,89,252,193,252,89,252,193,254,89,252,193,2,90,252,193,4,90,252,193,32,90,252,193,18,90,252,193,20,90,252,193,22,90,252,193,24,90,252,193,26,90,252,193,34,90,252,193,50,90,252,193,52,90,252,193,36,90,252,193,38,90,252,193,40,90,252,193,42,90,252,193,44,90,252,193,46,90,252,193,54,90,252,193,58,90,252,193,62,90,252,193,64,90,252,193,66,90,252,193,74,90,252,193,76,90,252,193,78,90,252,193,82,90,252,193,84,90,252,193,70,90,252,193,86,90,252,193,186,90,252,193,146,91,252,193,148,91,252,193,210,91,252,193,212,91,252,193,222,92,252,193,224,92,252,193,236,92,252,193,242,92,252,193,74,93,252,193,82,93,252,193,106,93,252,193,132,93,252,193,172,93,252,193,246,93,252,193,252,93,252,193,254,93,252,193,6,94,252,193,54,94,252,193,94,94,252,193,96,94,252,193,98,94,252,193,152,94,252,193,32,95,252,193,34,95,252,193,36,95,252,193,38,95,252,193,40,95,252,193,42,95,252,193,142,95,252,193,88,90,252,193,90,90,252,193,94,90,252,193,98,90,252,193,100,90,252,193,102,90,252,193,114,90,252,193,116,90,252,193,128,90,252,193,130,90,252,193,132,90,252,193,134,90,252,193,162,90,252,193,164,90,252,193,166,90,252,193,168,90,252,193,170,90,252,193,172,90,252,193,174,90,252,193,204,90,252,193,206,90,252,193,208,90,252,193,210,90,252,193,212,90,252,193,214,90,252,193,216,90,252,193,218,90,252,193,220,90,252,193,222,90,252,193,224,90,252,193,246,90,252,193,248,90,252,193,202,90,252,193,234,90,252,193,236,90,252,193,238,90,252,193,240,90,252,193,242,90,252,193,244,90,252,193,44,91,252,193,46,91,252,193,48,91,252,193,50,91,252,193,94,91,252,193,96,91,252,193,98,91,252,193,100,91,252,193,102,91,252,193,104,91,252,193,106,91,252,193,160,91,252,193,162,91,252,193,164,91,252,193,166,91,252,193,168,91,252,193,170,91,252,193,220,91,252,193,222,91,252,193,224,91,252,193,16,92,252,193,18,92,252,193,20,92,252,193,22,92,252,193,50,92,252,193,250,90,252,193,252,90,252,193,254,90,252,193,2,91,252,193,4,91,252,193,6,91,252,193,8,91,252,193,10,91,252,193,12,91,252,193,14,91,252,193,16,91,252,193,18,91,252,193,52,91,252,193,54,91,252,193,56,91,252,193,58,91,252,193,60,91,252,193,62,91,252,193,64,91,252,193,66,91,252,193,68,91,252,193,70,91,252,193,72,91,252,193,74,91,252,193,76,91,252,193,78,91,252,193,80,91,252,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,193,32,91,252,193,34,91,252,193,82,91,252,193,144,91,252,193,4,92,252,193,108,92,252,193,110,92,252,193,132,92,252,193,134,92,252,193,162,92,252,193,192,92,252,193,194,92,252,193,234,92,252,193,254,92,252,193,8,93,252,193,10,93,252,193,18,93,252,193,50,93,252,193,52,93,252,193,54,93,252,193,80,93,252,193,130,93,252,193,190,93,252,193,192,93,252,193,238,93,252,193,244,93,252,193,4,94,252,193,12,94,252,193,20,94,252,193,52,94,252,193,14,95,252,193,16,95,252,193,90,91,252,193,92,91,252,193,150,91,252,193,152,91,252,193,154,91,252,193,156,91,252,193,158,91,252,193,214,91,252,193,216,91,252,193,218,91,252,193,6,92,252,193,8,92,252,193,10,92,252,193,12,92,252,193,14,92,252,193,42,92,252,193,44,92,252,193,46,92,252,193,48,92,252,193,82,92,252,193,84,92,252,193,86,92,252,193,112,92,252,193,136,92,252,193,188,92,252,193,196,92,252,193,210,92,252,193,230,92,252,193,232,92,252,193,244,92,252,193,246,92,252,193,36,93,252,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,206,192,55,0,193,172,91,252,193,174,91,252,193,176,91,252,193,178,91,252,193,180,91,252,193,182,91,252,193,184,91,252,193,186,91,252,193,188,91,252,193,190,91,252,193,192,91,252,193,132,91,252,193,194,91,252,193,196,91,252,193,198,91,252,193,200,91,252,193,202,91,252,193,204,91,252,206,224,55,0,206,224,55,0,206,224,55,0,206,224,55,0,206,224,55,0,206,224,55,0,206,224,55,0,206,224,55,0,193,24,92,252,193,26,92,252,193,28,92,252,193,30,92,252,193,32,92,252,193,34,92,252,193,36,92,252,193,38,92,252,193,40,92,252,193,64,92,252,193,66,92,252,193,68,92,252,193,70,92,252,193,72,92,252,193,74,92,252,193,76,92,252,193,78,92,252,193,134,91,252,193,80,92,252,193,92,92,252,193,94,92,252,193,96,92,252,193,98,92,252,193,100,92,252,193,102,92,252,193,104,92,252,193,106,92,252,193,52,92,252,193,54,92,252,193,56,92,252,193,58,92,252,193,60,92,252,193,62,92,252,193,88,92,252,193,90,92,252,193,114,92,252,193,116,92,252,193,152,92,252,193,176,92,252,193,180,92,252,193,226,92,252,193,248,92,252,193,2,93,252,193,12,93,252,193,24,93,252,193,114,93,252,193,174,93,252,193,178,93,252,193,66,94,252,193,68,94,252,193,70,94,252,193,182,94,252,193,184,94,252,193,186,94,252,193,68,95,252,193,70,95,252,193,174,95,252,193,176,95,252,193,24,96,252,193,118,92,252,193,120,92,252,193,124,92,252,193,126,92,252,193,128,92,252,193,130,92,252,193,138,92,252,193,140,92,252,193,142,92,252,193,144,92,252,193,146,92,252,193,148,92,252,193,150,92,252,193,154,92,252,193,156,92,252,193,158,92,252,193,164,92,252,193,166,92,252,193,168,92,252,193,170,92,252,193,172,92,252,193,174,92,252,193,178,92,252,193,182,92,252,193,184,92,252,193,186,92,252,193,190,92,252,193,198,92,252,193,200,92,252,193,202,92,252,193,204,92,252,193,206,92,252,193,240,92,252,193,42,93,252,193,100,93,252,193,146,93,252,193,148,93,252,193,150,93,252,193,216,93,252,193,90,94,252,193,148,94,252,193,4,95,252,193,6,95,252,193,8,95,252,193,10,95,252,193,120,95,252,193,122,95,252,193,124,95,252,193,126,95,252,193,222,95,252,193,224,95,252,193,72,96,252,193,74,96,252,193,76,96,252,193,78,96,252,193,80,96,252,193,178,96,252,193,180,96,252,193,182,96,252,193,232,96,252,193,234,96,252,193,40,97,252,193,42,97,252,193,94,97,252,193,56,93,252,193,76,93,252,193,84,93,252,193,86,93,252,193,108,93,252,193,110,93,252,193,112,93,252,193,158,93,252,193,208,93,252,193,210,93,252,193,212,93,252,193,218,93,252,193,220,93,252,193,240,93,252,193,242,93,252,193,8,94,252,193,32,94,252,193,34,94,252,193,36,94,252,193,38,94,252,193,40,94,252,193,42,94,252,193,46,94,252,193,56,94,252,193,58,94,252,193,60,94,252,193,62,94,252,193,100,94,252,193,64,94,252,193,102,94,252,193,104,94,252,193,106,94,252,193,202,93,252,193,204,93,252,193,206,93,252,193,214,93,252,193,222,93,252,193,230,93,252,193,232,93,252,193,250,93,252,193,2,94,252,193,10,94,252,193,14,94,252,193,16,94,252,193,18,94,252,193,22,94,252,193,24,94,252,193,26,94,252,193,30,94,252,193,28,94,252,193,44,94,252,193,48,94,252,193,50,94,252,193,74,94,252,193,76,94,252,193,78,94,252,193,80,94,252,193,82,94,252,193,84,94,252,193,86,94,252,193,88,94,252,193,124,94,252,193,126,94,252,193,128,94,252,193,108,94,252,193,110,94,252,193,112,94,252,193,114,94,252,193,116,94,252,193,118,94,252,193,154,94,252,193,156,94,252,193,158,94,252,193,160,94,252,193,162,94,252,193,164,94,252,193,166,94,252,193,168,94,252,193,170,94,252,193,172,94,252,193,174,94,252,193,176,94,252,193,178,94,252,193,180,94,252,193,44,95,252,193,46,95,252,193,48,95,252,193,50,95,252,193,52,95,252,193,54,95,252,193,56,95,252,193,58,95,252,193,60,95,252,193,62,95,252,193,64,95,252,193,66,95,252,193,130,94,252,193,132,94,252,193,134,94,252,193,136,94,252,193,138,94,252,193,140,94,252,193,142,94,252,193,144,94,252,193,146,94,252,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,193,150,94,252,193,12,95,252,193,128,95,252,193,130,95,252,193,228,95,252,193,230,95,252,193,232,95,252,193,82,96,252,193,84,96,252,193,86,96,252,193,88,96,252,193,184,96,252,193,44,97,252,193,46,97,252,193,48,97,252,193,50,97,252,193,52,97,252,193,54,97,252,193,56,97,252,193,100,97,252,193,102,97,252,193,166,97,252,193,208,97,252,193,210,97,252,193,58,98,252,193,144,98,252,193,180,98,252,193,2,99,252,193,4,99,252,193,122,99,252,193,124,99,252,193,126,99,252,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,206,0,56,0,193,72,95,252,193,74,95,252,193,76,95,252,193,78,95,252,193,80,95,252,193,82,95,252,193,84,95,252,193,86,95,252,193,88,95,252,193,90,95,252,193,92,95,252,193,94,95,252,193,96,95,252,193,98,95,252,193,100,95,252,193,102,95,252,193,104,95,252,193,106,95,252,193,108,95,252,193,110,95,252,193,18,95,252,193,20,95,252,193,22,95,252,193,24,95,252,193,26,95,252,193,28,95,252,193,30,95,252,193,132,95,252,193,134,95,252,193,136,95,252,193,138,95,252,193,140,95,252,193,234,95,252,193,236,95,252,193,238,95,252,193,240,95,252,193,242,95,252,193,244,95,252,193,246,95,252,193,248,95,252,193,90,96,252,193,92,96,252,193,94,96,252,193,96,96,252,193,98,96,252,193,100,96,252,193,102,96,252,193,186,96,252,193,188,96,252,193,190,96,252,193,192,96,252,193,194,96,252,193,144,95,252,193,146,95,252,193,148,95,252,193,150,95,252,193,152,95,252,193,154,95,252,193,250,95,252,193,252,95,252,193,254,95,252,193,2,96,252,193,4,96,252,193,104,96,252,193,196,96,252,193,246,96,252,193,248,96,252,193,62,97,252,193,64,97,252,193,66,97,252,193,120,97,252,193,122,97,252,193,174,97,252,193,176,97,252,193,178,97,252,193,180,97,252,193,182,97,252,193,184,97,252,193,186,97,252,193,244,97,252,193,16,98,252,193,36,98,252,193,88,98,252,193,92,98,252,193,110,107,252,193,156,95,252,193,158,95,252,193,160,95,252,193,162,95,252,193,164,95,252,193,166,95,252,193,168,95,252,193,16,169,252,193,170,95,252,193,6,96,252,193,8,96,252,193,10,96,252,193,12,96,252,193,14,96,252,193,16,96,252,193,172,95,252,193,198,96,252,193,18,96,252,193,20,96,252,193,22,96,252,193,106,96,252,193,108,96,252,193,110,96,252,193,112,96,252,193,114,96,252,193,116,96,252,193,200,96,252,193,202,96,252,193,204,96,252,193,250,96,252,193,252,96,252,193,26,96,252,193,118,96,252,193,120,96,252,193,122,96,252,193,124,96,252,193,206,96,252,193,254,96,252,193,2,97,252,193,4,97,252,193,74,97,252,193,128,97,252,193,190,97,252,193,192,97,252,193,220,97,252,193,248,97,252,193,50,98,252,193,138,98,252,193,192,98,252,193,194,98,252,193,232,98,252,193,234,98,252,193,236,98,252,193,238,98,252,193,38,99,252,193,40,99,252,193,42,99,252,193,44,99,252,193,46,99,252,193,48,99,252,193,198,99,252,193,200,99,252,193,202,99,252,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,32,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,206,64,56,0,193,208,96,252,193,210,96,252,193,212,96,252,193,214,96,252,193,216,96,252,193,218,96,252,193,220,96,252,193,222,96,252,193,224,96,252,193,226,96,252,193,228,96,252,193,230,96,252,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,206,96,56,0,193,236,96,252,193,238,96,252,193,240,96,252,193,242,96,252,193,244,96,252,193,58,97,252,193,60,97,252,193,104,97,252,193,106,97,252,193,108,97,252,193,110,97,252,193,112,97,252,193,114,97,252,193,116,97,252,193,118,97,252,193,168,97,252,193,170,97,252,193,172,97,252,193,212,97,252,193,214,97,252,193,240,97,252,193,242,97,252,193,12,98,252,193,14,98,252,193,34,98,252,193,48,98,252,193,60,98,252,193,66,98,252,193,82,98,252,193,86,98,252,193,108,98,252,193,116,98,252,193,68,97,252,193,70,97,252,193,72,97,252,193,124,97,252,193,126,97,252,193,188,97,252,193,216,97,252,193,218,97,252,193,246,97,252,193,38,98,252,193,40,98,252,193,100,98,252,193,110,98,252,193,118,98,252,193,128,98,252,193,130,98,252,193,150,98,252,193,152,98,252,193,176,98,252,193,182,98,252,193,184,98,252,193,186,98,252,193,188,98,252,193,190,98,252,193,214,98,252,193,216,98,252,193,218,98,252,193,220,98,252,193,222,98,252,193,224,98,252,193,226,98,252,193,228,98,252,193,96,97,252,193,98,97,252,193,164,97,252,193,206,97,252,193,10,98,252,193,30,98,252,193,32,98,252,193,170,98,252,193,114,99,252,193,116,99,252,193,118,99,252,193,120,99,252,193,34,100,252,193,36,100,252,193,38,100,252,193,166,100,252,193,100,101,252,193,102,101,252,193,60,102,252,193,246,102,252,193,248,102,252,193,250,102,252,193,188,103,252,193,190,103,252,193,254,104,252,193,2,105,252,193,206,105,252,193,96,107,252,193,98,107,252,193,150,107,252,193,254,107,252,193,2,108,252,206,128,56,0,206,128,56,0,206,128,56,0,206,128,56,0,193,194,97,252,193,196,97,252,193,198,97,252,193,200,97,252,193,202,97,252,193,222,97,252,193,224,97,252,193,226,97,252,193,228,97,252,193,230,97,252,193,232,97,252,193,234,97,252,193,236,97,252,193,250,97,252,193,238,97,252,193,252,97,252,193,254,97,252,193,2,98,252,193,4,98,252,193,6,98,252,193,8,98,252,193,18,98,252,193,20,98,252,193,22,98,252,193,24,98,252,193,26,98,252,193,28,98,252,193,42,98,252,193,44,98,252,193,46,98,252,193,52,98,252,193,54,98,252,193,56,98,252,193,62,98,252,193,64,98,252,193,68,98,252,193,70,98,252,193,72,98,252,193,74,98,252,193,76,98,252,193,78,98,252,193,80,98,252,193,84,98,252,193,90,98,252,193,94,98,252,193,96,98,252,193,98,98,252,193,102,98,252,193,104,98,252,193,106,98,252,193,112,98,252,193,120,98,252,193,114,98,252,193,132,98,252,193,134,98,252,193,136,98,252,193,140,98,252,193,142,98,252,193,158,98,252,193,162,98,252,193,122,98,252,193,124,98,252,193,146,98,252,193,154,98,252,193,156,98,252,193,160,98,252,193,130,99,252,193,132,99,252,193,54,100,252,193,56,100,252,193,180,100,252,193,182,100,252,193,184,100,252,193,186,100,252,193,114,101,252,193,116,101,252,193,118,101,252,193,120,101,252,193,122,101,252,193,70,102,252,193,72,102,252,193,74,102,252,193,76,102,252,193,4,103,252,193,6,103,252,193,8,103,252,193,10,103,252,193,12,103,252,193,14,103,252,193,16,103,252,193,196,103,252,193,90,104,252,193,126,98,252,193,148,98,252,193,134,99,252,193,136,99,252,193,138,99,252,193,140,99,252,193,142,99,252,193,144,99,252,193,146,99,252,193,58,100,252,193,60,100,252,193,188,100,252,193,190,100,252,193,124,101,252,193,126,101,252,193,128,101,252,193,78,102,252,193,80,102,252,193,82,102,252,193,84,102,252,193,86,102,252,193,18,103,252,193,20,103,252,193,22,103,252,193,24,103,252,193,26,103,252,193,198,103,252,193,200,103,252,193,202,103,252,193,204,103,252,193,108,104,252,193,110,104,252,193,164,98,252,193,166,98,252,193,168,98,252,193,172,98,252,193,174,98,252,193,178,98,252,193,196,98,252,193,198,98,252,193,200,98,252,193,202,98,252,193,204,98,252,193,206,98,252,193,208,98,252,193,210,98,252,193,212,98,252,193,240,98,252,193,242,98,252,193,244,98,252,193,246,98,252,193,248,98,252,193,250,98,252,193,252,98,252,193,254,98,252,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,193,230,98,252,193,6,99,252,193,8,99,252,193,10,99,252,193,12,99,252,193,14,99,252,193,16,99,252,193,18,99,252,193,20,99,252,193,22,99,252,193,24,99,252,193,26,99,252,193,28,99,252,193,30,99,252,193,32,99,252,193,34,99,252,193,148,99,252,193,150,99,252,193,152,99,252,193,154,99,252,193,156,99,252,193,158,99,252,193,160,99,252,193,162,99,252,193,164,99,252,193,166,99,252,193,36,99,252,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,160,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,193,128,99,252,193,42,100,252,193,44,100,252,193,46,100,252,193,48,100,252,193,50,100,252,193,52,100,252,193,168,100,252,193,170,100,252,193,172,100,252,193,174,100,252,193,176,100,252,193,178,100,252,193,104,101,252,193,106,101,252,193,108,101,252,193,110,101,252,193,112,101,252,193,62,102,252,193,64,102,252,193,66,102,252,193,68,102,252,193,252,102,252,193,254,102,252,193,2,103,252,193,194,103,252,193,86,104,252,193,88,104,252,193,4,105,252,193,6,105,252,193,126,105,252,193,54,106,252,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,206,192,56,0,193,62,100,252,193,64,100,252,193,66,100,252,193,68,100,252,193,70,100,252,193,72,100,252,193,74,100,252,193,76,100,252,193,78,100,252,193,80,100,252,193,82,100,252,193,84,100,252,193,86,100,252,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,193,204,99,252,193,206,99,252,193,208,99,252,193,210,99,252,193,212,99,252,193,214,99,252,193,216,99,252,193,218,99,252,193,220,99,252,193,222,99,252,193,88,100,252,193,90,100,252,193,92,100,252,193,94,100,252,193,96,100,252,193,98,100,252,193,100,100,252,193,102,100,252,193,104,100,252,193,234,100,252,193,236,100,252,193,238,100,252,193,240,100,252,193,242,100,252,193,244,100,252,193,246,100,252,193,248,100,252,193,250,100,252,193,252,100,252,193,254,100,252,193,2,101,252,193,4,101,252,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,224,56,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,206,0,57,0,193,10,101,252,193,12,101,252,193,14,101,252,193,16,101,252,193,18,101,252,193,20,101,252,193,22,101,252,193,24,101,252,193,26,101,252,193,28,101,252,193,30,101,252,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,32,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,193,6,101,252,193,8,101,252,193,184,101,252,193,186,101,252,193,188,101,252,193,190,101,252,193,192,101,252,193,194,101,252,193,196,101,252,193,198,101,252,193,128,102,252,193,130,102,252,193,132,102,252,193,134,102,252,193,136,102,252,193,138,102,252,193,140,102,252,193,142,102,252,193,144,102,252,193,146,102,252,193,148,102,252,193,150,102,252,193,62,103,252,193,64,103,252,193,66,103,252,193,68,103,252,193,70,103,252,193,72,103,252,193,74,103,252,193,76,103,252,193,78,103,252,193,80,103,252,193,32,101,252,193,34,101,252,193,36,101,252,193,38,101,252,193,40,101,252,193,42,101,252,193,44,101,252,193,46,101,252,193,48,101,252,193,50,101,252,193,52,101,252,193,54,101,252,193,56,101,252,193,58,101,252,193,60,101,252,193,62,101,252,193,64,101,252,193,66,101,252,193,68,101,252,193,70,101,252,193,72,101,252,193,74,101,252,193,76,101,252,193,78,101,252,193,80,101,252,193,82,101,252,193,84,101,252,193,86,101,252,193,88,101,252,193,90,101,252,193,92,101,252,193,94,101,252,193,96,101,252,193,98,101,252,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,206,64,57,0,193,88,102,252,193,90,102,252,193,92,102,252,193,94,102,252,193,96,102,252,193,98,102,252,193,100,102,252,193,102,102,252,193,104,102,252,193,106,102,252,193,108,102,252,193,110,102,252,193,112,102,252,193,114,102,252,193,116,102,252,193,118,102,252,193,120,102,252,193,122,102,252,193,28,103,252,193,30,103,252,193,32,103,252,193,34,103,252,193,36,103,252,193,38,103,252,193,124,102,252,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,96,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,193,40,103,252,193,42,103,252,193,44,103,252,193,46,103,252,193,48,103,252,193,50,103,252,193,52,103,252,193,126,102,252,193,54,103,252,193,56,103,252,193,58,103,252,193,60,103,252,193,206,103,252,193,208,103,252,193,210,103,252,193,212,103,252,193,214,103,252,193,216,103,252,193,218,103,252,193,220,103,252,193,222,103,252,193,224,103,252,193,226,103,252,193,228,103,252,193,230,103,252,193,232,103,252,193,234,103,252,193,236,103,252,193,238,103,252,193,240,103,252,193,242,103,252,193,244,103,252,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,128,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,193,82,103,252,193,84,103,252,193,248,103,252,193,250,103,252,193,252,103,252,193,254,103,252,193,2,104,252,193,4,104,252,193,6,104,252,193,142,104,252,193,144,104,252,193,60,105,252,193,62,105,252,193,64,105,252,193,66,105,252,193,68,105,252,193,70,105,252,193,146,105,252,193,148,105,252,193,150,105,252,193,228,105,252,193,26,106,252,193,28,106,252,193,30,106,252,193,66,106,252,193,86,106,252,193,108,106,252,193,110,106,252,193,144,106,252,193,18,107,252,193,62,107,252,193,122,107,252,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,206,160,57,0,193,8,104,252,193,10,104,252,193,12,104,252,193,114,104,252,193,116,104,252,193,118,104,252,193,120,104,252,193,122,104,252,193,124,104,252,193,126,104,252,193,128,104,252,193,130,104,252,193,132,104,252,193,246,103,252,193,134,104,252,193,136,104,252,193,138,104,252,193,140,104,252,193,28,105,252,193,30,105,252,193,32,105,252,193,34,105,252,193,36,105,252,193,38,105,252,193,40,105,252,193,42,105,252,193,44,105,252,193,46,105,252,193,48,105,252,193,50,105,252,193,52,105,252,193,54,105,252,193,56,105,252,193,58,105,252,193,138,105,252,193,14,104,252,193,16,104,252,193,18,104,252,193,20,104,252,193,22,104,252,193,24,104,252,193,26,104,252,193,28,104,252,193,30,104,252,193,32,104,252,193,34,104,252,193,36,104,252,193,38,104,252,193,40,104,252,193,42,104,252,193,44,104,252,193,46,104,252,193,48,104,252,193,50,104,252,193,52,104,252,193,54,104,252,193,56,104,252,193,58,104,252,193,60,104,252,193,62,104,252,193,64,104,252,193,66,104,252,193,68,104,252,193,70,104,252,193,72,104,252,193,74,104,252,193,76,104,252,193,78,104,252,193,80,104,252,193,82,104,252,193,146,104,252,193,148,104,252,193,150,104,252,193,152,104,252,193,154,104,252,193,156,104,252,193,158,104,252,193,160,104,252,193,162,104,252,193,164,104,252,193,166,104,252,193,168,104,252,193,170,104,252,193,172,104,252,193,174,104,252,193,176,104,252,193,178,104,252,193,180,104,252,193,182,104,252,193,184,104,252,193,186,104,252,193,188,104,252,193,190,104,252,193,192,104,252,193,194,104,252,193,196,104,252,193,198,104,252,193,84,104,252,193,200,104,252,193,92,104,252,193,94,104,252,193,96,104,252,193,98,104,252,193,100,104,252,193,102,104,252,193,104,104,252,193,106,104,252,193,8,105,252,193,10,105,252,193,12,105,252,193,14,105,252,193,16,105,252,193,18,105,252,193,128,105,252,193,130,105,252,193,208,105,252,193,210,105,252,193,212,105,252,193,214,105,252,193,216,105,252,193,8,106,252,193,10,106,252,193,12,106,252,193,58,106,252,193,120,106,252,193,122,106,252,193,140,106,252,193,148,106,252,193,158,106,252,193,180,106,252,193,182,106,252,193,112,104,252,193,20,105,252,193,22,105,252,193,24,105,252,193,26,105,252,193,132,105,252,193,134,105,252,193,136,105,252,193,218,105,252,193,14,106,252,193,80,106,252,193,154,106,252,193,166,106,252,193,168,106,252,193,184,106,252,193,192,106,252,193,218,106,252,193,228,106,252,193,8,107,252,193,50,107,252,193,52,107,252,193,170,107,252,193,210,107,252,193,212,107,252,193,214,107,252,193,8,108,252,193,68,108,252,193,70,108,252,193,72,108,252,193,186,108,252,193,32,109,252,193,110,109,252,193,202,104,252,193,204,104,252,193,206,104,252,193,208,104,252,193,210,104,252,193,212,104,252,193,214,104,252,193,216,104,252,193,218,104,252,193,220,104,252,193,222,104,252,193,224,104,252,193,226,104,252,193,228,104,252,193,230,104,252,193,232,104,252,193,234,104,252,193,236,104,252,193,238,104,252,193,240,104,252,193,242,104,252,193,244,104,252,193,246,104,252,193,248,104,252,193,250,104,252,193,252,104,252,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,192,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,193,140,105,252,193,142,105,252,193,220,105,252,193,144,105,252,193,222,105,252,193,224,105,252,193,226,105,252,193,16,106,252,193,18,106,252,193,20,106,252,193,22,106,252,193,24,106,252,193,60,106,252,193,62,106,252,193,64,106,252,193,82,106,252,193,84,106,252,193,104,106,252,193,106,106,252,193,130,106,252,193,142,106,252,193,152,106,252,193,156,106,252,193,164,106,252,193,170,106,252,193,172,106,252,193,174,106,252,193,202,106,252,193,204,106,252,193,250,106,252,193,252,106,252,193,254,106,252,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,206,224,57,0,193,230,105,252,193,232,105,252,193,234,105,252,193,236,105,252,193,238,105,252,193,240,105,252,193,242,105,252,193,244,105,252,193,246,105,252,193,248,105,252,193,250,105,252,193,252,105,252,193,254,105,252,193,2,106,252,193,4,106,252,193,6,106,252,193,32,106,252,193,34,106,252,193,36,106,252,193,38,106,252,193,40,106,252,193,42,106,252,193,44,106,252,193,46,106,252,193,48,106,252,193,50,106,252,193,52,106,252,193,68,106,252,193,70,106,252,193,72,106,252,193,74,106,252,193,76,106,252,193,88,106,252,193,90,106,252,193,92,106,252,193,94,106,252,193,96,106,252,193,98,106,252,193,100,106,252,193,102,106,252,193,112,106,252,193,114,106,252,193,116,106,252,193,118,106,252,193,124,106,252,193,126,106,252,193,128,106,252,193,132,106,252,193,56,106,252,193,78,106,252,193,214,106,252,193,6,107,252,193,100,107,252,193,102,107,252,193,154,107,252,193,156,107,252,193,198,107,252,193,200,107,252,193,4,108,252,193,52,108,252,193,54,108,252,193,56,108,252,193,58,108,252,193,106,108,252,193,108,108,252,193,10,109,252,193,72,109,252,193,102,109,252,193,104,109,252,193,190,109,252,193,38,110,252,193,216,110,252,193,4,111,252,193,6,111,252,193,72,111,252,193,74,111,252,193,138,111,252,193,140,111,252,193,142,111,252,193,182,111,252,193,134,106,252,193,136,106,252,193,138,106,252,193,146,106,252,193,150,106,252,193,160,106,252,193,162,106,252,193,176,106,252,193,178,106,252,193,186,106,252,193,188,106,252,193,190,106,252,193,194,106,252,193,196,106,252,193,198,106,252,193,206,106,252,193,208,106,252,193,210,106,252,193,212,106,252,193,220,106,252,193,222,106,252,193,224,106,252,193,230,106,252,193,234,106,252,193,236,106,252,193,240,106,252,193,242,106,252,193,248,106,252,193,244,106,252,193,2,107,252,193,4,107,252,193,20,107,252,193,200,106,252,193,216,106,252,193,226,106,252,193,232,106,252,193,238,106,252,193,246,106,252,193,26,107,252,193,42,107,252,193,44,107,252,193,46,107,252,193,48,107,252,193,104,107,252,193,106,107,252,193,108,107,252,193,158,107,252,193,160,107,252,193,162,107,252,193,164,107,252,193,166,107,252,193,168,107,252,193,202,107,252,193,204,107,252,193,206,107,252,193,208,107,252,193,6,108,252,193,60,108,252,193,62,108,252,193,64,108,252,193,66,108,252,193,110,108,252,193,112,108,252,193,142,108,252,193,10,107,252,193,12,107,252,193,14,107,252,193,16,107,252,193,28,107,252,193,54,107,252,193,56,107,252,193,58,107,252,193,60,107,252,193,112,107,252,193,114,107,252,193,116,107,252,193,118,107,252,193,120,107,252,193,172,107,252,193,174,107,252,193,176,107,252,193,178,107,252,193,216,107,252,193,218,107,252,193,220,107,252,193,222,107,252,193,224,107,252,193,10,108,252,193,12,108,252,193,14,108,252,193,114,108,252,193,116,108,252,193,118,108,252,193,120,108,252,193,122,108,252,193,144,108,252,193,22,107,252,193,24,107,252,193,30,107,252,193,32,107,252,193,34,107,252,193,36,107,252,193,38,107,252,193,40,107,252,193,64,107,252,193,66,107,252,193,68,107,252,193,70,107,252,193,72,107,252,193,74,107,252,193,76,107,252,193,78,107,252,193,80,107,252,193,82,107,252,193,84,107,252,193,86,107,252,193,88,107,252,193,90,107,252,193,92,107,252,193,94,107,252,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,206,0,58,0,193,184,107,252,193,186,107,252,193,188,107,252,193,190,107,252,193,192,107,252,193,194,107,252,193,196,107,252,193,228,107,252,193,230,107,252,193,232,107,252,193,234,107,252,193,236,107,252,193,238,107,252,193,240,107,252,193,242,107,252,193,244,107,252,193,246,107,252,193,248,107,252,193,250,107,252,193,252,107,252,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,193,180,107,252,193,182,107,252,193,16,108,252,193,74,108,252,193,76,108,252,193,124,108,252,193,150,108,252,193,208,108,252,193,242,108,252,193,20,109,252,193,36,109,252,193,52,109,252,193,54,109,252,193,78,109,252,193,80,109,252,193,120,109,252,193,122,109,252,193,166,109,252,193,204,109,252,193,206,109,252,193,4,110,252,193,6,110,252,193,48,110,252,193,50,110,252,193,78,110,252,193,118,110,252,193,154,110,252,193,202,110,252,193,232,110,252,193,234,110,252,193,28,111,252,193,30,111,252,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,206,32,58,0,193,78,108,252,193,80,108,252,193,82,108,252,193,84,108,252,193,86,108,252,193,88,108,252,193,90,108,252,193,92,108,252,193,94,108,252,193,96,108,252,193,98,108,252,193,100,108,252,193,126,108,252,193,128,108,252,193,130,108,252,193,132,108,252,193,134,108,252,193,136,108,252,193,138,108,252,193,152,108,252,193,154,108,252,193,156,108,252,193,158,108,252,193,160,108,252,193,48,108,252,193,50,108,252,193,102,108,252,193,104,108,252,193,140,108,252,193,250,108,252,193,50,109,252,193,70,109,252,193,34,110,252,193,36,110,252,193,252,110,252,193,254,110,252,193,68,111,252,193,70,111,252,193,136,111,252,193,178,111,252,193,180,111,252,193,228,111,252,193,230,111,252,193,20,112,252,193,22,112,252,193,82,112,252,193,146,112,252,193,202,112,252,193,204,112,252,193,236,112,252,193,8,113,252,193,58,113,252,193,82,113,252,193,106,113,252,193,122,113,252,193,228,113,252,193,146,108,252,193,148,108,252,193,164,108,252,193,166,108,252,193,168,108,252,193,170,108,252,193,188,108,252,193,190,108,252,193,192,108,252,193,206,108,252,193,228,108,252,193,230,108,252,193,240,108,252,193,4,109,252,193,26,109,252,193,34,109,252,193,74,109,252,193,76,109,252,193,118,109,252,193,162,109,252,193,164,109,252,193,200,109,252,193,250,109,252,193,252,109,252,193,254,109,252,193,2,110,252,193,46,110,252,193,76,110,252,193,106,110,252,193,116,110,252,193,152,110,252,193,184,110,252,193,162,108,252,193,202,108,252,193,204,108,252,193,106,109,252,193,108,109,252,193,140,109,252,193,142,109,252,193,144,109,252,193,146,109,252,193,148,109,252,193,150,109,252,193,192,109,252,193,236,109,252,193,238,109,252,193,240,109,252,193,40,110,252,193,42,110,252,193,66,110,252,193,68,110,252,193,70,110,252,193,102,110,252,193,104,110,252,193,114,110,252,193,138,110,252,193,148,110,252,193,150,110,252,193,176,110,252,193,182,110,252,193,8,111,252,193,76,111,252,193,78,111,252,193,80,111,252,193,172,108,252,193,174,108,252,193,176,108,252,193,178,108,252,193,180,108,252,193,182,108,252,193,184,108,252,193,194,108,252,193,196,108,252,193,198,108,252,193,200,108,252,193,210,108,252,193,212,108,252,193,214,108,252,193,216,108,252,193,218,108,252,193,220,108,252,193,222,108,252,193,224,108,252,193,226,108,252,193,232,108,252,193,234,108,252,193,236,108,252,193,238,108,252,193,244,108,252,193,246,108,252,193,248,108,252,193,252,108,252,193,254,108,252,193,2,109,252,193,6,109,252,193,8,109,252,193,12,109,252,193,14,109,252,193,16,109,252,193,18,109,252,193,22,109,252,193,24,109,252,193,28,109,252,193,30,109,252,193,38,109,252,193,40,109,252,193,42,109,252,193,44,109,252,193,46,109,252,193,48,109,252,193,56,109,252,193,58,109,252,193,60,109,252,193,62,109,252,193,64,109,252,193,66,109,252,193,68,109,252,193,82,109,252,193,84,109,252,193,86,109,252,193,88,109,252,193,90,109,252,193,92,109,252,193,94,109,252,193,96,109,252,193,98,109,252,193,100,109,252,193,124,109,252,193,112,109,252,193,114,109,252,193,116,109,252,193,152,109,252,193,154,109,252,193,156,109,252,193,158,109,252,193,160,109,252,193,194,109,252,193,196,109,252,193,198,109,252,193,242,109,252,193,244,109,252,193,246,109,252,193,248,109,252,193,44,110,252,193,72,110,252,193,74,110,252,193,194,110,252,193,196,110,252,193,198,110,252,193,218,110,252,193,82,111,252,193,84,111,252,193,86,111,252,193,88,111,252,193,190,111,252,193,192,111,252,193,254,111,252,193,50,112,252,193,52,112,252,193,54,112,252,193,126,109,252,193,128,109,252,193,130,109,252,193,132,109,252,193,134,109,252,193,136,109,252,193,138,109,252,193,168,109,252,193,170,109,252,193,172,109,252,193,174,109,252,193,176,109,252,193,178,109,252,193,180,109,252,193,182,109,252,193,208,109,252,193,184,109,252,193,186,109,252,193,188,109,252,193,210,109,252,193,212,109,252,193,214,109,252,193,216,109,252,193,218,109,252,193,220,109,252,193,222,109,252,193,224,109,252,193,226,109,252,193,228,109,252,193,230,109,252,193,232,109,252,193,234,109,252,193,8,110,252,193,10,110,252,193,12,110,252,193,14,110,252,193,16,110,252,193,18,110,252,193,20,110,252,193,22,110,252,193,24,110,252,193,26,110,252,193,28,110,252,193,30,110,252,193,32,110,252,193,52,110,252,193,54,110,252,193,56,110,252,193,58,110,252,193,60,110,252,193,62,110,252,193,64,110,252,193,80,110,252,193,82,110,252,193,84,110,252,193,86,110,252,193,88,110,252,193,90,110,252,193,92,110,252,193,94,110,252,193,96,110,252,193,98,110,252,193,100,110,252,193,108,110,252,193,110,110,252,193,112,110,252,193,120,110,252,193,122,110,252,193,124,110,252,193,126,110,252,193,128,110,252,193,130,110,252,193,132,110,252,193,134,110,252,193,136,110,252,193,140,110,252,193,142,110,252,193,144,110,252,193,146,110,252,193,156,110,252,193,158,110,252,193,160,110,252,193,162,110,252,193,164,110,252,193,166,110,252,193,168,110,252,193,170,110,252,193,172,110,252,193,174,110,252,193,178,110,252,193,180,110,252,193,196,218,253,193,208,218,253,193,214,218,253,193,218,218,253,193,190,110,252,193,186,110,252,193,188,110,252,193,200,110,252,193,220,110,252,193,222,110,252,193,224,110,252,193,226,110,252,193,228,110,252,193,230,110,252,193,10,111,252,193,12,111,252,193,14,111,252,193,16,111,252,193,18,111,252,193,20,111,252,193,22,111,252,193,24,111,252,193,26,111,252,193,90,111,252,193,92,111,252,193,94,111,252,193,96,111,252,193,98,111,252,193,100,111,252,193,102,111,252,193,148,111,252,193,150,111,252,193,104,111,252,193,152,111,252,193,194,111,252,193,196,111,252,193,198,111,252,193,192,110,252,193,204,110,252,193,206,110,252,193,208,110,252,193,210,110,252,193,212,110,252,193,236,110,252,193,238,110,252,193,240,110,252,193,242,110,252,193,244,110,252,193,246,110,252,193,248,110,252,193,250,110,252,193,34,111,252,193,36,111,252,193,38,111,252,193,40,111,252,193,42,111,252,193,44,111,252,193,46,111,252,193,48,111,252,193,50,111,252,193,52,111,252,193,54,111,252,193,56,111,252,193,58,111,252,193,60,111,252,193,62,111,252,193,64,111,252,193,110,111,252,193,112,111,252,193,32,111,252,193,106,111,252,193,108,111,252,193,154,111,252,193,200,111,252,193,202,111,252,193,10,112,252,193,106,112,252,193,108,112,252,193,164,112,252,193,246,112,252,193,52,113,252,193,70,113,252,193,120,113,252,193,136,113,252,193,138,113,252,193,184,113,252,193,186,113,252,193,188,113,252,193,190,113,252,193,192,113,252,193,46,114,252,193,48,114,252,193,50,114,252,193,52,114,252,193,54,114,252,193,56,114,252,193,58,114,252,193,60,114,252,193,62,114,252,193,64,114,252,193,2,115,252,193,114,111,252,193,116,111,252,193,118,111,252,193,120,111,252,193,122,111,252,193,124,111,252,193,126,111,252,193,128,111,252,193,130,111,252,193,132,111,252,193,134,111,252,193,66,111,252,193,156,111,252,193,158,111,252,193,160,111,252,193,162,111,252,193,164,111,252,193,166,111,252,193,168,111,252,193,170,111,252,193,172,111,252,193,174,111,252,193,176,111,252,193,204,111,252,193,206,111,252,193,208,111,252,193,210,111,252,193,212,111,252,193,214,111,252,193,216,111,252,193,218,111,252,193,220,111,252,193,144,111,252,193,146,111,252,193,188,111,252,193,246,111,252,193,248,111,252,193,250,111,252,193,252,111,252,193,40,112,252,193,42,112,252,193,44,112,252,193,46,112,252,193,48,112,252,193,86,112,252,193,88,112,252,193,90,112,252,193,92,112,252,193,150,112,252,193,214,112,252,193,242,112,252,193,20,113,252,193,22,113,252,193,66,113,252,193,96,113,252,193,164,113,252,193,166,113,252,193,168,113,252,193,234,113,252,193,236,113,252,193,238,113,252,193,240,113,252,193,168,114,252,193,170,114,252,193,184,111,252,193,186,111,252,193,234,111,252,193,236,111,252,193,238,111,252,193,240,111,252,193,242,111,252,193,244,111,252,193,24,112,252,193,26,112,252,193,28,112,252,193,30,112,252,193,32,112,252,193,34,112,252,193,36,112,252,193,38,112,252,193,84,112,252,193,148,112,252,193,206,112,252,193,208,112,252,193,210,112,252,193,212,112,252,193,238,112,252,193,240,112,252,193,10,113,252,193,12,113,252,193,14,113,252,193,16,113,252,193,18,113,252,193,50,113,252,193,60,113,252,193,62,113,252,193,222,111,252,193,224,111,252,193,226,111,252,193,12,112,252,193,14,112,252,193,16,112,252,193,18,112,252,193,58,112,252,193,60,112,252,193,62,112,252,193,64,112,252,193,66,112,252,193,68,112,252,193,70,112,252,193,72,112,252,193,74,112,252,193,76,112,252,193,78,112,252,193,80,112,252,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,206,64,58,0,193,2,112,252,193,4,112,252,193,6,112,252,193,8,112,252,193,56,112,252,193,100,112,252,193,102,112,252,193,104,112,252,193,158,112,252,193,160,112,252,193,162,112,252,193,216,112,252,193,218,112,252,193,26,113,252,193,128,113,252,193,134,113,252,193,172,113,252,193,174,113,252,193,176,113,252,193,178,113,252,193,180,113,252,193,182,113,252,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,193,94,112,252,193,96,112,252,193,98,112,252,193,152,112,252,193,154,112,252,193,156,112,252,193,244,112,252,193,24,113,252,193,68,113,252,193,88,113,252,193,118,113,252,193,170,113,252,193,242,113,252,193,244,113,252,193,246,113,252,193,248,113,252,193,250,113,252,193,184,114,252,193,186,114,252,193,188,114,252,193,190,114,252,193,136,115,252,193,138,115,252,193,140,115,252,193,142,115,252,193,144,115,252,193,146,115,252,193,148,115,252,193,150,115,252,193,86,116,252,193,88,116,252,193,90,116,252,193,234,112,252,193,250,112,252,193,252,112,252,193,254,112,252,193,2,113,252,193,4,113,252,193,6,113,252,193,28,113,252,193,30,113,252,193,32,113,252,193,34,113,252,193,36,113,252,193,38,113,252,193,40,113,252,193,42,113,252,193,44,113,252,193,46,113,252,193,48,113,252,193,54,113,252,193,72,113,252,193,74,113,252,193,76,113,252,193,78,113,252,193,80,113,252,193,90,113,252,193,92,113,252,193,98,113,252,193,100,113,252,193,102,113,252,193,104,113,252,193,94,113,252,193,108,113,252,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,193,4,222,252,193,6,222,252,193,8,222,252,193,10,222,252,193,12,222,252,193,14,222,252,193,16,222,252,193,18,222,252,193,20,222,252,193,32,222,252,193,34,222,252,193,36,222,252,193,38,222,252,193,40,222,252,193,46,222,252,193,48,222,252,193,50,222,252,193,56,113,252,193,52,222,252,193,54,222,252,193,56,222,252,193,64,222,252,193,66,222,252,193,68,222,252,193,64,113,252,193,84,113,252,193,86,113,252,193,112,113,252,193,114,113,252,193,232,113,252,193,164,114,252,193,166,114,252,193,110,115,252,193,112,115,252,193,114,115,252,193,116,115,252,193,118,115,252,193,120,115,252,193,122,115,252,193,124,115,252,193,58,116,252,193,60,116,252,193,62,116,252,193,64,116,252,193,66,116,252,193,68,116,252,193,44,117,252,193,46,117,252,193,20,118,252,193,22,118,252,193,24,118,252,193,26,118,252,193,18,119,252,193,20,119,252,193,224,119,252,193,226,119,252,193,110,113,252,193,116,113,252,193,124,113,252,193,126,113,252,193,130,113,252,193,132,113,252,193,140,113,252,193,142,113,252,193,144,113,252,193,146,113,252,193,148,113,252,193,150,113,252,193,152,113,252,193,154,113,252,193,156,113,252,193,158,113,252,193,160,113,252,193,162,113,252,193,194,113,252,193,196,113,252,193,198,113,252,193,200,113,252,193,202,113,252,193,204,113,252,193,206,113,252,193,208,113,252,193,210,113,252,193,212,113,252,193,214,113,252,193,216,113,252,193,218,113,252,193,220,113,252,193,222,113,252,193,224,113,252,193,226,113,252,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,193,230,113,252,193,158,114,252,193,160,114,252,193,162,114,252,193,100,115,252,193,102,115,252,193,104,115,252,193,106,115,252,193,50,116,252,193,52,116,252,193,54,116,252,193,40,117,252,193,42,117,252,193,12,118,252,193,14,118,252,193,16,118,252,193,18,118,252,193,10,119,252,193,12,119,252,193,14,119,252,193,16,119,252,193,216,119,252,193,218,119,252,193,220,119,252,193,222,119,252,193,162,120,252,193,164,120,252,193,166,120,252,193,94,121,252,193,96,121,252,193,98,121,252,193,100,121,252,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,96,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,128,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,193,172,114,252,193,174,114,252,193,176,114,252,193,178,114,252,193,180,114,252,193,182,114,252,193,126,115,252,193,128,115,252,193,130,115,252,193,132,115,252,193,134,115,252,193,70,116,252,193,72,116,252,193,74,116,252,193,76,116,252,193,78,116,252,193,80,116,252,193,82,116,252,193,84,116,252,193,48,117,252,193,50,117,252,193,52,117,252,193,54,117,252,193,56,117,252,193,58,117,252,193,28,118,252,193,30,118,252,193,32,118,252,193,34,118,252,193,36,118,252,193,38,118,252,193,40,118,252,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,206,160,58,0,193,152,115,252,193,154,115,252,193,156,115,252,193,158,115,252,193,160,115,252,193,162,115,252,193,164,115,252,193,166,115,252,193,168,115,252,193,170,115,252,193,172,115,252,193,174,115,252,193,176,115,252,193,178,115,252,193,180,115,252,193,182,115,252,193,184,115,252,193,186,115,252,193,254,114,252,193,4,115,252,193,6,115,252,193,8,115,252,193,10,115,252,193,12,115,252,193,14,115,252,193,16,115,252,193,190,115,252,193,192,115,252,193,194,115,252,193,196,115,252,193,198,115,252,193,200,115,252,193,202,115,252,193,204,115,252,193,132,116,252,193,134,116,252,193,136,116,252,193,138,116,252,193,140,116,252,193,142,116,252,193,144,116,252,193,146,116,252,193,148,116,252,193,150,116,252,193,152,116,252,193,154,116,252,193,156,116,252,193,158,116,252,193,160,116,252,193,162,116,252,193,164,116,252,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,192,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,193,96,116,252,193,188,115,252,193,98,116,252,193,100,116,252,193,102,116,252,193,104,116,252,193,106,116,252,193,108,116,252,193,110,116,252,193,112,116,252,193,114,116,252,193,116,116,252,193,118,116,252,193,120,116,252,193,122,116,252,193,124,116,252,193,126,116,252,193,128,116,252,193,76,117,252,193,78,117,252,193,80,117,252,193,82,117,252,193,84,117,252,193,86,117,252,193,88,117,252,193,90,117,252,193,92,117,252,193,94,117,252,193,96,117,252,193,98,117,252,193,100,117,252,193,102,117,252,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,224,58,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,193,92,116,252,193,94,116,252,193,60,117,252,193,62,117,252,193,64,117,252,193,66,117,252,193,68,117,252,193,70,117,252,193,72,117,252,193,74,117,252,193,48,118,252,193,50,118,252,193,52,118,252,193,54,118,252,193,56,118,252,193,58,118,252,193,60,118,252,193,62,118,252,193,64,118,252,193,66,118,252,193,68,118,252,193,48,119,252,193,50,119,252,193,52,119,252,193,246,119,252,193,248,119,252,193,250,119,252,193,252,119,252,193,254,119,252,193,2,120,252,193,192,120,252,193,194,120,252,193,166,116,252,193,130,117,252,193,132,117,252,193,134,117,252,193,136,117,252,193,138,117,252,193,140,117,252,193,142,117,252,193,144,117,252,193,146,117,252,193,122,118,252,193,124,118,252,193,126,118,252,193,128,118,252,193,130,118,252,193,132,118,252,193,134,118,252,193,136,118,252,193,138,118,252,193,140,118,252,193,142,118,252,193,144,118,252,193,146,118,252,193,80,119,252,193,82,119,252,193,84,119,252,193,86,119,252,193,88,119,252,193,90,119,252,193,92,119,252,193,94,119,252,193,96,119,252,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,206,0,59,0,193,154,117,252,193,32,117,252,193,34,117,252,193,36,117,252,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,206,32,59,0,193,104,117,252,193,70,118,252,193,106,117,252,193,108,117,252,193,110,117,252,193,112,117,252,193,114,117,252,193,116,117,252,193,118,117,252,193,120,117,252,193,122,117,252,193,124,117,252,193,126,117,252,193,128,117,252,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,193,8,118,252,193,10,118,252,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,193,42,118,252,193,44,118,252,193,46,118,252,193,22,119,252,193,24,119,252,193,26,119,252,193,28,119,252,193,30,119,252,193,32,119,252,193,34,119,252,193,36,119,252,193,38,119,252,193,40,119,252,193,42,119,252,193,44,119,252,193,46,119,252,193,236,119,252,193,238,119,252,193,240,119,252,193,242,119,252,193,244,119,252,193,176,120,252,193,178,120,252,193,180,120,252,193,182,120,252,193,184,120,252,193,186,120,252,193,188,120,252,193,190,120,252,193,108,121,252,193,110,121,252,193,112,121,252,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,206,64,59,0,193,54,119,252,193,56,119,252,193,58,119,252,193,60,119,252,193,62,119,252,193,64,119,252,193,66,119,252,193,68,119,252,193,70,119,252,193,72,119,252,193,74,119,252,193,76,119,252,193,78,119,252,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,96,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,193,98,119,252,193,100,119,252,193,36,120,252,193,38,120,252,193,40,120,252,193,42,120,252,193,44,120,252,193,46,120,252,193,48,120,252,193,50,120,252,193,52,120,252,193,240,120,252,193,242,120,252,193,244,120,252,193,246,120,252,193,248,120,252,193,250,120,252,193,252,120,252,193,254,120,252,193,2,121,252,193,144,121,252,193,146,121,252,193,148,121,252,193,150,121,252,193,152,121,252,193,154,121,252,193,156,121,252,193,98,122,252,193,100,122,252,193,102,122,252,193,104,122,252,193,156,122,252,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,128,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,206,192,59,0,193,214,119,252,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,193,228,119,252,193,230,119,252,193,232,119,252,193,234,119,252,193,168,120,252,193,170,120,252,193,172,120,252,193,174,120,252,193,104,121,252,193,106,121,252,193,72,122,252,193,192,122,252,193,24,123,252,193,68,123,252,193,150,123,252,193,180,123,252,193,92,124,252,193,94,124,252,193,184,124,252,193,186,124,252,193,232,124,252,193,86,125,252,193,98,125,252,193,112,125,252,193,122,125,252,193,162,125,252,193,214,125,252,193,216,125,252,193,218,125,252,193,102,126,252,193,104,126,252,193,106,126,252,206,160,59,0,206,160,59,0,206,160,59,0,206,160,59,0,193,200,120,252,193,202,120,252,193,204,120,252,193,206,120,252,193,208,120,252,193,210,120,252,193,212,120,252,193,214,120,252,193,216,120,252,193,218,120,252,193,220,120,252,193,222,120,252,193,224,120,252,193,226,120,252,193,228,120,252,193,230,120,252,193,232,120,252,193,234,120,252,193,236,120,252,193,238,120,252,193,122,121,252,193,124,121,252,193,126,121,252,193,128,121,252,193,130,121,252,193,132,121,252,193,134,121,252,193,136,121,252,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,224,59,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,206,0,60,0,193,160,120,252,193,92,121,252,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,193,196,120,252,193,198,120,252,193,118,121,252,193,120,121,252,193,250,121,252,193,252,121,252,193,254,121,252,193,84,122,252,193,86,122,252,193,146,122,252,193,202,122,252,193,232,122,252,193,52,123,252,193,62,123,252,193,80,123,252,193,100,123,252,193,114,123,252,193,152,123,252,193,18,124,252,193,28,124,252,193,64,124,252,193,66,124,252,193,98,124,252,193,188,124,252,193,238,124,252,193,240,124,252,193,10,125,252,193,40,125,252,193,42,125,252,193,44,125,252,193,58,125,252,193,60,125,252,193,102,121,252,193,70,122,252,193,144,122,252,193,188,122,252,193,190,122,252,193,48,123,252,193,78,123,252,193,136,123,252,193,56,124,252,193,58,124,252,193,150,124,252,193,230,124,252,193,6,125,252,193,30,125,252,193,32,125,252,193,116,125,252,193,120,125,252,193,96,126,252,193,98,126,252,193,100,126,252,193,66,127,252,193,68,127,252,193,70,127,252,193,72,127,252,193,74,127,252,193,36,128,252,193,38,128,252,193,40,128,252,193,42,128,252,193,44,128,252,193,214,128,252,193,216,128,252,193,114,121,252,193,116,121,252,193,236,121,252,193,238,121,252,193,240,121,252,193,242,121,252,193,244,121,252,193,246,121,252,193,248,121,252,193,74,122,252,193,76,122,252,193,78,122,252,193,80,122,252,193,82,122,252,193,194,122,252,193,196,122,252,193,198,122,252,193,200,122,252,193,230,122,252,193,12,123,252,193,14,123,252,193,56,123,252,193,60,123,252,193,96,123,252,193,98,123,252,193,110,123,252,193,112,123,252,193,198,123,252,193,208,123,252,193,26,124,252,193,60,124,252,193,62,124,252,193,138,121,252,193,140,121,252,193,142,121,252,193,2,122,252,193,4,122,252,193,6,122,252,193,8,122,252,193,10,122,252,193,12,122,252,193,14,122,252,193,16,122,252,193,88,122,252,193,90,122,252,193,92,122,252,193,94,122,252,193,96,122,252,193,148,122,252,193,150,122,252,193,152,122,252,193,154,122,252,193,234,122,252,193,254,122,252,193,26,123,252,193,2,123,252,193,16,123,252,193,18,123,252,193,28,123,252,193,54,123,252,193,70,123,252,193,82,123,252,193,116,123,252,193,118,123,252,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,206,32,60,0,193,18,122,252,193,20,122,252,193,22,122,252,193,24,122,252,193,26,122,252,193,28,122,252,193,30,122,252,193,32,122,252,193,34,122,252,193,36,122,252,193,38,122,252,193,40,122,252,193,42,122,252,193,44,122,252,193,46,122,252,193,48,122,252,193,50,122,252,193,52,122,252,193,54,122,252,193,56,122,252,193,58,122,252,193,60,122,252,193,48,144,253,193,62,122,252,193,64,122,252,193,66,122,252,193,68,122,252,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,206,64,60,0,193,160,122,252,193,162,122,252,193,164,122,252,193,166,122,252,193,168,122,252,193,170,122,252,193,172,122,252,193,174,122,252,193,176,122,252,193,178,122,252,193,180,122,252,193,182,122,252,193,184,122,252,193,206,122,252,193,208,122,252,193,210,122,252,193,212,122,252,193,214,122,252,193,216,122,252,193,158,122,252,193,204,122,252,193,236,122,252,193,238,122,252,193,20,123,252,193,50,123,252,193,64,123,252,193,72,123,252,193,102,123,252,193,154,123,252,193,210,123,252,193,212,123,252,193,214,123,252,193,246,123,252,193,8,124,252,193,70,124,252,193,72,124,252,193,104,124,252,193,106,124,252,193,160,124,252,193,192,124,252,193,242,124,252,193,136,125,252,193,148,125,252,193,186,125,252,193,188,125,252,193,28,126,252,193,30,126,252,193,32,126,252,193,34,126,252,193,36,126,252,193,210,126,252,193,218,122,252,193,220,122,252,193,186,122,252,193,222,122,252,193,88,27,253,193,224,122,252,193,226,122,252,193,228,122,252,193,240,122,252,193,242,122,252,193,244,122,252,193,246,122,252,193,248,122,252,193,250,122,252,193,252,122,252,193,4,123,252,193,6,123,252,193,8,123,252,193,10,123,252,193,22,123,252,193,30,123,252,193,32,123,252,193,34,123,252,193,36,123,252,193,38,123,252,193,40,123,252,193,42,123,252,193,44,123,252,193,46,123,252,193,58,123,252,193,66,123,252,193,74,123,252,193,76,123,252,193,84,123,252,193,86,123,252,193,88,123,252,193,90,123,252,193,92,123,252,193,94,123,252,193,104,123,252,193,106,123,252,193,108,123,252,193,120,123,252,193,122,123,252,193,124,123,252,193,126,123,252,193,128,123,252,193,130,123,252,193,132,123,252,193,134,123,252,193,142,123,252,193,144,123,252,193,146,123,252,193,148,123,252,193,156,123,252,193,158,123,252,193,160,123,252,193,162,123,252,193,164,123,252,193,166,123,252,193,168,123,252,193,170,123,252,193,172,123,252,193,174,123,252,193,138,123,252,193,10,124,252,193,16,124,252,193,20,124,252,193,30,124,252,193,32,124,252,193,36,124,252,193,38,124,252,193,40,124,252,193,68,124,252,193,100,124,252,193,102,124,252,193,156,124,252,193,158,124,252,193,190,124,252,193,68,125,252,193,70,125,252,193,102,125,252,193,114,125,252,193,134,125,252,193,142,125,252,193,144,125,252,193,146,125,252,193,164,125,252,193,166,125,252,193,168,125,252,193,170,125,252,193,172,125,252,193,174,125,252,193,176,125,252,193,178,125,252,193,180,125,252,193,176,123,252,193,178,123,252,193,182,123,252,193,184,123,252,193,186,123,252,193,188,123,252,193,190,123,252,193,192,123,252,193,194,123,252,193,196,123,252,193,200,123,252,193,202,123,252,193,204,123,252,193,206,123,252,193,224,123,252,193,216,123,252,193,218,123,252,193,220,123,252,193,222,123,252,193,226,123,252,193,228,123,252,193,230,123,252,193,232,123,252,193,234,123,252,193,236,123,252,193,238,123,252,193,240,123,252,193,242,123,252,193,244,123,252,193,254,123,252,193,248,123,252,193,250,123,252,193,252,123,252,193,2,124,252,193,4,124,252,193,6,124,252,193,12,124,252,193,14,124,252,193,22,124,252,193,24,124,252,193,34,124,252,193,42,124,252,193,44,124,252,193,46,124,252,193,48,124,252,193,50,124,252,193,52,124,252,193,54,124,252,193,74,124,252,193,76,124,252,193,78,124,252,193,80,124,252,193,82,124,252,193,84,124,252,193,86,124,252,193,88,124,252,193,90,124,252,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,193,96,124,252,193,152,124,252,193,154,124,252,193,234,124,252,193,236,124,252,193,8,125,252,193,34,125,252,193,36,125,252,193,38,125,252,193,56,125,252,193,118,125,252,193,220,125,252,193,222,125,252,193,114,126,252,193,116,126,252,193,88,127,252,193,90,127,252,193,92,127,252,193,94,127,252,193,96,127,252,193,98,127,252,193,54,128,252,193,56,128,252,193,58,128,252,193,60,128,252,193,236,128,252,193,238,128,252,193,240,128,252,193,242,128,252,193,244,128,252,193,246,128,252,193,248,128,252,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,206,96,60,0,193,164,124,252,193,166,124,252,193,168,124,252,193,170,124,252,193,172,124,252,193,174,124,252,193,176,124,252,193,178,124,252,193,180,124,252,193,182,124,252,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,206,128,60,0,193,244,124,252,193,246,124,252,193,248,124,252,193,250,124,252,193,252,124,252,193,254,124,252,193,2,125,252,193,4,125,252,193,12,125,252,193,14,125,252,193,16,125,252,193,18,125,252,193,20,125,252,193,22,125,252,193,24,125,252,193,26,125,252,193,28,125,252,193,46,125,252,193,48,125,252,193,50,125,252,193,52,125,252,193,54,125,252,193,62,125,252,193,64,125,252,193,66,125,252,193,100,125,252,193,224,125,252,193,118,126,252,193,120,126,252,193,122,126,252,193,124,126,252,193,126,126,252,193,128,126,252,193,130,126,252,193,132,126,252,193,100,127,252,193,102,127,252,193,104,127,252,193,106,127,252,193,108,127,252,193,110,127,252,193,62,128,252,193,64,128,252,193,66,128,252,193,68,128,252,193,70,128,252,193,72,128,252,193,74,128,252,193,76,128,252,193,78,128,252,206,64,61,0,206,64,61,0,206,64,61,0,206,64,61,0,193,72,125,252,193,74,125,252,193,76,125,252,193,78,125,252,193,80,125,252,193,82,125,252,193,84,125,252,193,88,125,252,193,90,125,252,193,92,125,252,193,94,125,252,193,96,125,252,193,104,125,252,193,106,125,252,193,108,125,252,193,110,125,252,193,128,125,252,193,124,125,252,193,126,125,252,193,130,125,252,193,132,125,252,193,138,125,252,193,140,125,252,193,150,125,252,193,152,125,252,193,154,125,252,193,156,125,252,193,158,125,252,193,160,125,252,193,190,125,252,193,192,125,252,193,194,125,252,193,182,125,252,193,184,125,252,193,228,125,252,193,230,125,252,193,232,125,252,193,234,125,252,193,236,125,252,193,238,125,252,193,240,125,252,193,242,125,252,193,244,125,252,193,246,125,252,193,248,125,252,193,250,125,252,193,252,125,252,193,254,125,252,193,2,126,252,193,4,126,252,193,6,126,252,193,8,126,252,193,10,126,252,193,12,126,252,193,14,126,252,193,16,126,252,193,18,126,252,193,20,126,252,193,22,126,252,193,24,126,252,193,26,126,252,193,134,126,252,193,136,126,252,193,138,126,252,193,196,125,252,193,198,125,252,193,200,125,252,193,202,125,252,193,204,125,252,193,206,125,252,193,208,125,252,193,210,125,252,193,212,125,252,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,160,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,193,108,126,252,193,110,126,252,193,112,126,252,193,76,127,252,193,78,127,252,193,80,127,252,193,82,127,252,193,84,127,252,193,86,127,252,193,46,128,252,193,48,128,252,193,50,128,252,193,52,128,252,193,226,128,252,193,228,128,252,193,230,128,252,193,232,128,252,193,234,128,252,193,236,129,252,193,238,129,252,193,240,129,252,193,242,129,252,193,204,130,252,193,206,130,252,193,208,130,252,193,210,130,252,193,212,130,252,193,140,131,252,193,52,132,252,193,54,132,252,193,56,132,252,193,240,132,252,193,140,126,252,193,142,126,252,193,144,126,252,193,146,126,252,193,148,126,252,193,150,126,252,193,152,126,252,193,154,126,252,193,156,126,252,193,158,126,252,193,160,126,252,193,162,126,252,193,164,126,252,193,166,126,252,193,168,126,252,193,170,126,252,193,172,126,252,193,174,126,252,193,176,126,252,193,178,126,252,193,180,126,252,193,182,126,252,193,184,126,252,193,186,126,252,193,188,126,252,193,190,126,252,193,192,126,252,193,194,126,252,193,196,126,252,193,198,126,252,193,200,126,252,193,202,126,252,193,204,126,252,193,206,126,252,193,112,127,252,193,114,127,252,193,116,127,252,193,118,127,252,193,120,127,252,193,122,127,252,193,124,127,252,193,126,127,252,193,128,127,252,193,130,127,252,193,132,127,252,193,134,127,252,193,136,127,252,193,138,127,252,193,140,127,252,193,142,127,252,193,144,127,252,193,146,127,252,193,148,127,252,193,150,127,252,193,152,127,252,193,154,127,252,193,156,127,252,193,158,127,252,193,160,127,252,193,162,127,252,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,193,212,126,252,193,214,126,252,193,216,126,252,193,218,126,252,193,220,126,252,193,222,126,252,193,224,126,252,193,226,126,252,193,228,126,252,193,166,127,252,193,168,127,252,193,170,127,252,193,172,127,252,193,174,127,252,193,176,127,252,193,178,127,252,193,136,128,252,193,138,128,252,193,140,128,252,193,142,128,252,193,144,128,252,193,146,128,252,193,148,128,252,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,192,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,224,60,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,206,0,61,0,193,20,129,252,193,22,129,252,193,24,129,252,193,26,129,252,193,28,129,252,193,30,129,252,193,20,130,252,193,32,129,252,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,32,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,193,218,128,252,193,220,128,252,193,222,128,252,193,224,128,252,193,224,129,252,193,226,129,252,193,228,129,252,193,230,129,252,193,232,129,252,193,234,129,252,193,200,130,252,193,202,130,252,193,134,131,252,193,136,131,252,193,138,131,252,193,40,132,252,193,42,132,252,193,44,132,252,193,46,132,252,193,48,132,252,193,50,132,252,193,234,132,252,193,236,132,252,193,238,132,252,193,112,133,252,193,114,133,252,193,116,133,252,193,192,133,252,193,194,133,252,193,196,133,252,193,86,134,252,193,154,134,252,193,250,128,252,193,252,128,252,193,244,129,252,193,246,129,252,193,248,129,252,193,250,129,252,193,252,129,252,193,254,129,252,193,2,130,252,193,4,130,252,193,6,130,252,193,8,130,252,193,214,130,252,193,216,130,252,193,218,130,252,193,220,130,252,193,222,130,252,193,224,130,252,193,226,130,252,193,228,130,252,193,230,130,252,193,232,130,252,193,142,131,252,193,144,131,252,193,146,131,252,193,148,131,252,193,150,131,252,206,0,62,0,206,0,62,0,206,0,62,0,206,0,62,0,206,0,62,0,206,64,61,0,206,64,61,0,206,64,61,0,206,64,61,0,206,64,61,0,206,64,61,0,193,10,130,252,193,12,130,252,193,14,130,252,193,16,130,252,193,18,130,252,193,234,130,252,193,236,130,252,193,238,130,252,193,240,130,252,193,242,130,252,193,244,130,252,193,152,131,252,193,154,131,252,193,156,131,252,193,158,131,252,193,160,131,252,193,162,131,252,193,164,131,252,193,166,131,252,193,76,132,252,193,78,132,252,193,80,132,252,193,82,132,252,193,84,132,252,193,86,132,252,193,88,132,252,193,34,129,252,193,36,129,252,193,38,129,252,193,40,129,252,193,42,129,252,193,44,129,252,193,46,129,252,193,48,129,252,193,50,129,252,193,52,129,252,193,54,129,252,193,56,129,252,193,58,129,252,193,60,129,252,193,62,129,252,193,64,129,252,193,66,129,252,193,68,129,252,193,70,129,252,193,72,129,252,193,74,129,252,193,76,129,252,193,78,129,252,193,80,129,252,193,82,129,252,193,84,129,252,193,86,129,252,193,88,129,252,193,90,129,252,193,22,130,252,193,24,130,252,193,26,130,252,193,28,130,252,193,30,130,252,193,32,130,252,193,34,130,252,193,36,130,252,193,38,130,252,193,40,130,252,193,42,130,252,193,44,130,252,193,46,130,252,193,48,130,252,193,50,130,252,193,52,130,252,193,54,130,252,193,56,130,252,193,58,130,252,193,92,129,252,193,60,130,252,193,62,130,252,193,64,130,252,193,66,130,252,193,68,130,252,193,70,130,252,193,72,130,252,193,74,130,252,193,76,130,252,193,246,130,252,193,248,130,252,193,250,130,252,193,252,130,252,193,254,130,252,193,2,131,252,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,206,96,61,0,193,80,130,252,193,82,130,252,193,84,130,252,193,86,130,252,193,88,130,252,193,90,130,252,193,92,130,252,193,94,130,252,193,96,130,252,193,58,131,252,193,60,131,252,193,62,131,252,193,64,131,252,193,66,131,252,193,68,131,252,193,70,131,252,193,206,131,252,193,208,131,252,193,210,131,252,193,212,131,252,193,214,131,252,193,216,131,252,193,218,131,252,193,138,132,252,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,128,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,193,4,131,252,193,78,130,252,193,6,131,252,193,8,131,252,193,10,131,252,193,12,131,252,193,14,131,252,193,16,131,252,193,18,131,252,193,20,131,252,193,22,131,252,193,24,131,252,193,26,131,252,193,28,131,252,193,30,131,252,193,32,131,252,193,34,131,252,193,36,131,252,193,38,131,252,193,40,131,252,193,42,131,252,193,44,131,252,193,46,131,252,193,48,131,252,193,50,131,252,193,52,131,252,193,168,131,252,193,170,131,252,193,54,131,252,193,172,131,252,193,174,131,252,193,176,131,252,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,160,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,193,178,131,252,193,180,131,252,193,182,131,252,193,184,131,252,193,56,131,252,193,186,131,252,193,188,131,252,193,190,131,252,193,192,131,252,193,194,131,252,193,196,131,252,193,198,131,252,193,200,131,252,193,202,131,252,193,204,131,252,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,192,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,193,220,131,252,193,140,132,252,193,142,132,252,193,144,132,252,193,146,132,252,193,148,132,252,193,150,132,252,193,152,132,252,193,154,132,252,193,58,133,252,193,60,133,252,193,62,133,252,193,64,133,252,193,66,133,252,193,68,133,252,193,70,133,252,193,156,133,252,193,234,133,252,193,236,133,252,193,238,133,252,193,56,134,252,193,58,134,252,193,60,134,252,193,62,134,252,193,92,134,252,193,94,134,252,193,164,134,252,193,184,134,252,193,222,134,252,193,56,135,252,193,58,135,252,193,60,135,252,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,224,61,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,0,62,0,206,0,62,0,206,0,62,0,206,0,62,0,193,250,132,252,193,252,132,252,193,254,132,252,193,2,133,252,193,4,133,252,193,6,133,252,193,122,133,252,193,124,133,252,193,126,133,252,193,128,133,252,193,130,133,252,193,132,133,252,193,202,133,252,193,204,133,252,193,206,133,252,193,208,133,252,193,36,134,252,193,88,134,252,193,156,134,252,193,158,134,252,193,160,134,252,193,176,134,252,193,178,134,252,193,194,134,252,193,236,134,252,193,238,134,252,193,20,135,252,193,120,135,252,193,90,132,252,193,8,133,252,193,10,133,252,193,12,133,252,193,14,133,252,193,16,133,252,193,18,133,252,193,20,133,252,193,22,133,252,193,210,133,252,193,38,134,252,193,128,134,252,193,130,134,252,193,22,135,252,193,24,135,252,193,26,135,252,193,28,135,252,193,126,135,252,193,128,135,252,193,26,136,252,193,28,136,252,193,30,136,252,193,156,136,252,193,158,136,252,193,160,136,252,193,162,136,252,193,164,136,252,193,166,136,252,193,168,136,252,193,170,136,252,193,172,136,252,193,174,136,252,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,206,32,62,0,193,24,133,252,193,26,133,252,193,28,133,252,193,30,133,252,193,32,133,252,193,34,133,252,193,36,133,252,193,38,133,252,193,40,133,252,193,42,133,252,193,44,133,252,193,46,133,252,193,48,133,252,193,50,133,252,193,52,133,252,193,54,133,252,193,56,133,252,193,134,133,252,193,136,133,252,193,138,133,252,193,140,133,252,193,142,133,252,193,144,133,252,193,146,133,252,193,148,133,252,193,150,133,252,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,64,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,193,242,132,252,193,244,132,252,193,246,132,252,193,248,132,252,193,118,133,252,193,120,133,252,193,198,133,252,193,200,133,252,193,34,134,252,193,124,134,252,193,126,134,252,193,174,134,252,193,18,135,252,193,112,135,252,193,114,135,252,193,116,135,252,193,118,135,252,193,252,135,252,193,254,135,252,193,2,136,252,193,130,136,252,193,132,136,252,193,26,137,252,193,28,137,252,193,30,137,252,193,32,137,252,193,34,137,252,193,36,137,252,193,38,137,252,193,40,137,252,193,186,137,252,193,188,137,252,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,206,96,62,0,193,158,133,252,193,160,133,252,193,162,133,252,193,164,133,252,193,166,133,252,193,168,133,252,193,170,133,252,193,172,133,252,193,174,133,252,193,176,133,252,193,178,133,252,193,180,133,252,193,182,133,252,193,184,133,252,193,186,133,252,193,188,133,252,193,190,133,252,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,193,152,133,252,193,154,133,252,193,212,133,252,193,214,133,252,193,216,133,252,193,218,133,252,193,220,133,252,193,222,133,252,193,224,133,252,193,226,133,252,193,228,133,252,193,230,133,252,193,232,133,252,193,40,134,252,193,42,134,252,193,44,134,252,193,46,134,252,193,48,134,252,193,50,134,252,193,52,134,252,193,54,134,252,193,90,134,252,193,132,134,252,193,134,134,252,193,162,134,252,193,180,134,252,193,210,134,252,193,212,134,252,193,216,134,252,193,220,134,252,193,240,134,252,193,242,134,252,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,206,128,62,0,193,64,134,252,193,66,134,252,193,68,134,252,193,70,134,252,193,72,134,252,193,74,134,252,193,76,134,252,193,78,134,252,193,80,134,252,193,82,134,252,193,84,134,252,193,96,134,252,193,98,134,252,193,100,134,252,193,102,134,252,193,104,134,252,193,106,134,252,193,108,134,252,193,110,134,252,193,112,134,252,193,114,134,252,193,116,134,252,193,118,134,252,193,120,134,252,193,122,134,252,193,136,134,252,193,138,134,252,193,140,134,252,193,142,134,252,193,144,134,252,193,146,134,252,193,148,134,252,193,150,134,252,193,152,134,252,193,166,134,252,193,168,134,252,193,196,165,253,193,170,134,252,193,172,134,252,193,182,134,252,193,186,134,252,193,188,134,252,193,190,134,252,193,192,134,252,193,196,134,252,193,198,134,252,193,200,134,252,193,202,134,252,193,204,134,252,193,206,134,252,193,208,134,252,193,214,134,252,193,218,134,252,193,224,134,252,193,226,134,252,193,228,134,252,193,230,134,252,193,232,134,252,193,234,134,252,193,252,134,252,193,254,134,252,193,2,135,252,193,4,135,252,193,6,135,252,193,8,135,252,193,10,135,252,193,12,135,252,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,193,244,134,252,193,246,134,252,193,248,134,252,193,250,134,252,193,30,135,252,193,32,135,252,193,34,135,252,193,36,135,252,193,38,135,252,193,40,135,252,193,42,135,252,193,44,135,252,193,46,135,252,193,48,135,252,193,50,135,252,193,130,135,252,193,132,135,252,193,134,135,252,193,136,135,252,193,138,135,252,193,140,135,252,193,142,135,252,193,144,135,252,193,146,135,252,193,148,135,252,193,150,135,252,193,152,135,252,193,154,135,252,193,156,135,252,193,158,135,252,193,160,135,252,193,162,135,252,193,14,135,252,193,16,135,252,193,108,135,252,193,110,135,252,193,246,135,252,193,248,135,252,193,250,135,252,193,120,136,252,193,122,136,252,193,124,136,252,193,126,136,252,193,14,137,252,193,16,137,252,193,18,137,252,193,20,137,252,193,22,137,252,193,166,137,252,193,168,137,252,193,170,137,252,193,172,137,252,193,174,137,252,193,176,137,252,193,178,137,252,193,180,137,252,193,182,137,252,193,184,137,252,193,88,138,252,193,90,138,252,193,186,138,252,193,188,138,252,193,190,138,252,193,192,138,252,193,114,27,253,193,148,27,253,193,150,27,253,193,154,27,253,193,156,27,253,193,158,27,253,193,52,135,252,193,160,27,253,193,162,27,253,193,164,27,253,193,180,27,253,193,188,27,253,193,198,27,253,193,200,27,253,193,204,27,253,193,216,27,253,193,222,27,253,193,224,27,253,193,240,27,253,193,252,27,253,193,254,27,253,193,24,28,253,193,26,28,253,193,28,28,253,193,30,28,253,193,32,28,253,193,92,28,253,193,94,28,253,193,142,28,253,193,96,28,253,193,98,28,253,193,144,28,253,193,62,135,252,193,170,135,252,193,172,135,252,193,174,135,252,193,56,136,252,193,58,136,252,193,60,136,252,193,200,136,252,193,202,136,252,193,204,136,252,193,206,136,252,193,90,137,252,193,92,137,252,193,94,137,252,193,96,137,252,193,98,137,252,193,100,137,252,193,102,137,252,193,104,137,252,193,14,138,252,193,16,138,252,193,18,138,252,193,20,138,252,193,22,138,252,193,142,138,252,193,144,138,252,193,222,138,252,193,224,138,252,193,226,138,252,193,228,138,252,193,230,138,252,193,70,139,252,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,160,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,193,122,135,252,193,124,135,252,193,4,136,252,193,6,136,252,193,8,136,252,193,10,136,252,193,12,136,252,193,14,136,252,193,16,136,252,193,18,136,252,193,20,136,252,193,22,136,252,193,24,136,252,193,134,136,252,193,136,136,252,193,138,136,252,193,140,136,252,193,142,136,252,193,144,136,252,193,146,136,252,193,148,136,252,193,150,136,252,193,152,136,252,193,154,136,252,193,42,137,252,193,44,137,252,193,46,137,252,193,48,137,252,193,50,137,252,193,52,137,252,193,54,137,252,193,208,137,252,193,164,135,252,193,166,135,252,193,168,135,252,193,32,136,252,193,34,136,252,193,36,136,252,193,176,136,252,193,38,136,252,193,40,136,252,193,42,136,252,193,44,136,252,193,46,136,252,193,48,136,252,193,50,136,252,193,52,136,252,193,54,136,252,193,178,136,252,193,180,136,252,193,182,136,252,193,184,136,252,193,186,136,252,193,188,136,252,193,190,136,252,193,192,136,252,193,194,136,252,206,32,63,0,206,32,63,0,206,32,63,0,206,32,63,0,206,32,63,0,206,32,63,0,206,32,63,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,192,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,224,62,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,32,63,0,206,32,63,0,206,32,63,0,206,32,63,0,193,196,136,252,193,86,137,252,193,88,137,252,193,230,137,252,193,232,137,252,193,234,137,252,193,236,137,252,193,238,137,252,193,240,137,252,193,242,137,252,193,244,137,252,193,246,137,252,193,248,137,252,193,250,137,252,193,252,137,252,193,254,137,252,193,2,138,252,193,4,138,252,193,6,138,252,193,8,138,252,193,10,138,252,193,12,138,252,206,128,63,0,206,128,63,0,206,128,63,0,206,128,63,0,206,128,63,0,206,128,63,0,193,140,24,253,193,150,24,253,193,170,24,253,193,186,24,253,193,188,24,253,193,206,24,253,193,4,25,253,193,12,25,253,193,14,25,253,193,32,25,253,193,36,25,253,193,42,25,253,193,48,25,253,193,54,25,253,193,56,25,253,193,74,25,253,193,76,25,253,193,78,25,253,193,80,25,253,193,82,25,253,193,84,25,253,193,124,25,253,193,198,136,252,193,126,25,253,193,128,25,253,193,50,25,253,193,130,25,253,193,176,25,253,193,178,25,253,193,230,25,253,193,232,25,253,193,234,25,253,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,0,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,193,56,137,252,193,58,137,252,193,60,137,252,193,62,137,252,193,218,137,252,193,220,137,252,193,222,137,252,193,224,137,252,193,226,137,252,193,228,137,252,193,114,138,252,193,116,138,252,193,118,138,252,193,120,138,252,193,210,138,252,193,212,138,252,193,214,138,252,193,56,139,252,193,58,139,252,193,132,139,252,193,186,139,252,193,240,139,252,193,242,139,252,193,2,140,252,193,30,140,252,193,80,140,252,193,108,140,252,193,194,140,252,193,2,141,252,193,130,141,252,193,132,141,252,193,16,142,252,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,64,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,193,190,137,252,193,192,137,252,193,194,137,252,193,196,137,252,193,198,137,252,193,200,137,252,193,202,137,252,193,204,137,252,193,206,137,252,193,92,138,252,193,94,138,252,193,96,138,252,193,98,138,252,193,100,138,252,193,194,138,252,193,196,138,252,193,198,138,252,193,26,139,252,193,28,139,252,193,30,139,252,193,32,139,252,193,34,139,252,193,36,139,252,193,38,139,252,193,116,139,252,193,118,139,252,193,120,139,252,193,180,139,252,193,212,139,252,193,18,140,252,193,136,140,252,193,150,140,252,193,210,137,252,193,212,137,252,193,214,137,252,193,216,137,252,193,102,138,252,193,104,138,252,193,106,138,252,193,108,138,252,193,110,138,252,193,112,138,252,193,200,138,252,193,202,138,252,193,204,138,252,193,206,138,252,193,208,138,252,193,40,139,252,193,42,139,252,193,44,139,252,193,46,139,252,193,48,139,252,193,50,139,252,193,52,139,252,193,54,139,252,193,122,139,252,193,124,139,252,193,126,139,252,193,128,139,252,193,130,139,252,193,182,139,252,193,184,139,252,193,214,139,252,193,216,139,252,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,206,96,63,0,193,148,138,252,193,150,138,252,193,152,138,252,193,154,138,252,193,156,138,252,193,158,138,252,193,160,138,252,193,162,138,252,193,164,138,252,193,166,138,252,193,168,138,252,193,170,138,252,193,172,138,252,193,174,138,252,193,176,138,252,193,178,138,252,193,180,138,252,193,182,138,252,193,184,138,252,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,128,63,0,206,128,63,0,206,128,63,0,206,128,63,0,193,216,138,252,193,218,138,252,193,220,138,252,193,60,139,252,193,62,139,252,193,64,139,252,193,66,139,252,193,68,139,252,193,134,139,252,193,136,139,252,193,138,139,252,193,140,139,252,193,188,139,252,193,190,139,252,193,218,139,252,193,4,140,252,193,6,140,252,193,32,140,252,193,48,140,252,193,50,140,252,193,88,140,252,193,92,140,252,193,94,140,252,193,98,140,252,193,102,140,252,193,110,140,252,193,156,140,252,193,168,140,252,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,206,160,63,0,193,72,139,252,193,74,139,252,193,76,139,252,193,78,139,252,193,80,139,252,193,82,139,252,193,84,139,252,193,86,139,252,193,88,139,252,193,90,139,252,193,92,139,252,193,94,139,252,193,96,139,252,193,98,139,252,193,100,139,252,193,102,139,252,193,104,139,252,193,106,139,252,193,22,139,252,193,24,139,252,193,178,139,252,193,210,139,252,193,70,140,252,193,144,140,252,193,166,140,252,193,252,140,252,193,100,141,252,193,102,141,252,193,244,141,252,193,246,141,252,193,248,141,252,193,250,141,252,193,146,142,252,193,148,142,252,193,150,142,252,193,152,142,252,193,28,143,252,193,30,143,252,193,32,143,252,193,34,143,252,193,36,143,252,193,38,143,252,193,40,143,252,193,226,143,252,193,228,143,252,193,230,143,252,193,176,144,252,193,178,144,252,193,180,144,252,193,182,144,252,193,108,139,252,193,110,139,252,193,112,139,252,193,148,139,252,193,150,139,252,193,152,139,252,193,154,139,252,193,156,139,252,193,158,139,252,193,160,139,252,193,162,139,252,193,164,139,252,193,166,139,252,193,168,139,252,193,170,139,252,193,172,139,252,193,174,139,252,193,176,139,252,193,194,139,252,193,196,139,252,193,198,139,252,193,200,139,252,193,202,139,252,193,204,139,252,193,206,139,252,193,208,139,252,193,222,139,252,193,224,139,252,193,226,139,252,193,228,139,252,193,230,139,252,193,232,139,252,193,144,139,252,193,146,139,252,193,192,139,252,193,220,139,252,193,244,139,252,193,86,140,252,193,178,140,252,193,180,140,252,193,210,140,252,193,212,140,252,193,214,140,252,193,216,140,252,193,218,140,252,193,220,140,252,193,30,141,252,193,32,141,252,193,34,141,252,193,36,141,252,193,38,141,252,193,40,141,252,193,42,141,252,193,44,141,252,193,184,141,252,193,186,141,252,193,188,141,252,193,190,141,252,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,193,234,139,252,193,236,139,252,193,238,139,252,193,20,140,252,193,22,140,252,193,24,140,252,193,26,140,252,193,28,140,252,193,46,140,252,193,60,140,252,193,62,140,252,193,64,140,252,193,106,140,252,193,146,140,252,193,152,140,252,193,192,140,252,193,254,140,252,193,112,141,252,193,114,141,252,193,116,141,252,193,118,141,252,193,120,141,252,193,122,141,252,193,124,141,252,193,126,141,252,193,128,141,252,193,2,142,252,193,4,142,252,193,6,142,252,193,8,142,252,193,10,142,252,193,12,142,252,193,246,139,252,193,248,139,252,193,250,139,252,193,252,139,252,193,254,139,252,193,8,140,252,193,10,140,252,193,12,140,252,193,14,140,252,193,16,140,252,193,34,140,252,193,36,140,252,193,38,140,252,193,40,140,252,193,42,140,252,193,44,140,252,193,52,140,252,193,54,140,252,193,56,140,252,193,58,140,252,193,66,140,252,193,68,140,252,193,72,140,252,193,74,140,252,193,76,140,252,193,82,140,252,193,84,140,252,193,90,140,252,193,96,140,252,193,100,140,252,193,104,140,252,193,114,140,252,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,193,78,140,252,193,120,252,252,193,122,252,252,193,124,252,252,193,126,252,252,193,128,252,252,193,130,252,252,193,132,252,252,193,134,252,252,193,142,252,252,193,144,252,252,193,146,252,252,193,148,252,252,193,170,252,252,193,154,252,252,193,156,252,252,193,160,252,252,193,164,252,252,193,172,252,252,193,168,252,252,193,162,252,252,193,184,252,252,193,198,252,252,193,200,252,252,193,202,252,252,193,228,252,252,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,193,192,232,252,193,194,232,252,193,196,232,252,193,112,140,252,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,64,76,0,206,64,76,0,206,64,76,0,206,64,76,0,206,64,76,0,193,180,217,252,193,182,217,252,193,184,217,252,193,186,217,252,193,188,217,252,193,190,217,252,193,192,217,252,193,194,217,252,193,196,217,252,193,198,217,252,193,214,217,252,193,216,217,252,193,218,217,252,193,220,217,252,193,222,217,252,193,134,140,252,193,224,217,252,193,226,217,252,193,228,217,252,193,232,217,252,193,234,217,252,193,236,217,252,193,238,217,252,193,240,217,252,193,242,217,252,193,244,217,252,193,246,217,252,193,170,140,252,193,172,140,252,193,174,140,252,193,176,140,252,193,196,140,252,193,198,140,252,193,200,140,252,193,202,140,252,193,204,140,252,193,206,140,252,193,208,140,252,193,4,141,252,193,6,141,252,193,8,141,252,193,10,141,252,193,12,141,252,193,14,141,252,193,16,141,252,193,18,141,252,193,20,141,252,193,22,141,252,193,24,141,252,193,26,141,252,193,28,141,252,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,193,190,140,252,193,104,141,252,193,106,141,252,193,108,141,252,193,110,141,252,193,252,141,252,193,254,141,252,193,156,142,252,193,158,142,252,193,160,142,252,193,42,143,252,193,44,143,252,193,46,143,252,193,234,143,252,193,236,143,252,193,238,143,252,193,240,143,252,193,186,144,252,193,188,144,252,193,190,144,252,193,192,144,252,193,106,145,252,193,108,145,252,193,110,145,252,193,112,145,252,193,114,145,252,193,20,146,252,193,22,146,252,193,24,146,252,193,26,146,252,193,170,146,252,193,172,146,252,193,246,140,252,193,248,140,252,193,250,140,252,193,46,141,252,193,48,141,252,193,50,141,252,193,52,141,252,193,54,141,252,193,56,141,252,193,58,141,252,193,60,141,252,193,62,141,252,193,64,141,252,193,66,141,252,193,68,141,252,193,70,141,252,193,72,141,252,193,74,141,252,193,76,141,252,193,78,141,252,193,80,141,252,193,82,141,252,193,84,141,252,193,86,141,252,193,88,141,252,193,90,141,252,193,92,141,252,193,94,141,252,193,96,141,252,193,98,141,252,193,192,141,252,193,194,141,252,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,206,192,63,0,193,28,142,252,193,30,142,252,193,32,142,252,193,34,142,252,193,36,142,252,193,38,142,252,193,40,142,252,193,42,142,252,193,44,142,252,193,46,142,252,193,48,142,252,193,50,142,252,193,52,142,252,193,54,142,252,193,178,142,252,193,196,141,252,193,198,141,252,193,200,141,252,193,202,141,252,193,204,141,252,193,206,141,252,193,208,141,252,193,210,141,252,193,212,141,252,193,214,141,252,193,216,141,252,193,218,141,252,193,220,141,252,193,222,141,252,193,224,141,252,193,226,141,252,193,228,141,252,193,230,141,252,193,232,141,252,193,234,141,252,193,236,141,252,193,238,141,252,193,240,141,252,193,242,141,252,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,193,14,142,252,193,162,142,252,193,164,142,252,193,166,142,252,193,168,142,252,193,48,143,252,193,50,143,252,193,242,143,252,193,244,143,252,193,246,143,252,193,248,143,252,193,250,143,252,193,252,143,252,193,254,143,252,193,2,144,252,193,4,144,252,193,6,144,252,193,8,144,252,193,10,144,252,193,194,144,252,193,196,144,252,193,198,144,252,193,200,144,252,193,202,144,252,193,204,144,252,193,206,144,252,193,208,144,252,193,116,145,252,193,118,145,252,193,120,145,252,193,122,145,252,193,124,145,252,193,18,142,252,193,20,142,252,193,22,142,252,193,24,142,252,193,26,142,252,193,170,142,252,193,172,142,252,193,174,142,252,193,176,142,252,193,52,143,252,193,54,143,252,193,56,143,252,193,58,143,252,193,12,144,252,193,14,144,252,193,16,144,252,193,210,144,252,193,132,145,252,193,134,145,252,193,136,145,252,193,138,145,252,193,46,146,252,193,48,146,252,193,50,146,252,193,188,146,252,193,190,146,252,193,192,146,252,193,194,146,252,193,38,147,252,193,40,147,252,193,164,147,252,193,166,147,252,193,180,142,252,193,182,142,252,193,184,142,252,193,186,142,252,193,188,142,252,193,190,142,252,193,56,142,252,193,192,142,252,193,194,142,252,193,196,142,252,193,198,142,252,193,200,142,252,193,202,142,252,193,204,142,252,193,206,142,252,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,206,224,63,0,193,210,142,252,193,212,142,252,193,214,142,252,193,216,142,252,193,218,142,252,193,220,142,252,193,222,142,252,193,224,142,252,193,226,142,252,193,106,143,252,193,108,143,252,193,110,143,252,193,112,143,252,193,114,143,252,193,116,143,252,193,118,143,252,193,120,143,252,193,122,143,252,193,124,143,252,193,126,143,252,193,128,143,252,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,0,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,206,32,64,0,193,144,142,252,193,14,143,252,193,16,143,252,193,18,143,252,193,20,143,252,193,22,143,252,193,24,143,252,193,26,143,252,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,206,64,64,0,193,18,144,252,193,20,144,252,193,22,144,252,193,24,144,252,193,26,144,252,193,28,144,252,193,30,144,252,193,32,144,252,193,34,144,252,193,36,144,252,193,38,144,252,193,40,144,252,193,42,144,252,193,44,144,252,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,206,96,64,0,193,72,144,252,193,74,144,252,193,76,144,252,206,128,64,0,206,128,64,0,206,128,64,0,206,128,64,0,193,140,145,252,193,142,145,252,193,144,145,252,193,146,145,252,193,148,145,252,193,52,146,252,193,46,144,252,193,150,145,252,193,152,145,252,193,154,145,252,193,156,145,252,193,158,145,252,193,160,145,252,193,162,145,252,193,164,145,252,193,54,146,252,193,56,146,252,193,58,146,252,193,60,146,252,193,62,146,252,193,64,146,252,193,66,146,252,193,68,146,252,193,70,146,252,193,72,146,252,193,74,146,252,193,76,146,252,193,196,146,252,193,48,144,252,193,50,144,252,193,52,144,252,193,54,144,252,193,56,144,252,193,58,144,252,193,60,144,252,193,62,144,252,193,64,144,252,193,66,144,252,193,68,144,252,193,70,144,252,193,244,144,252,193,246,144,252,193,248,144,252,193,250,144,252,193,252,144,252,193,254,144,252,193,2,145,252,193,4,145,252,193,6,145,252,193,8,145,252,193,10,145,252,193,166,145,252,193,168,145,252,193,170,145,252,193,172,145,252,193,174,145,252,193,176,145,252,193,178,145,252,193,78,146,252,193,80,146,252,193,78,144,252,193,80,144,252,193,82,144,252,193,84,144,252,193,86,144,252,193,88,144,252,193,90,144,252,193,92,144,252,193,94,144,252,193,96,144,252,193,98,144,252,193,100,144,252,193,102,144,252,193,104,144,252,193,106,144,252,193,108,144,252,193,110,144,252,193,112,144,252,193,114,144,252,193,116,144,252,193,118,144,252,193,120,144,252,193,122,144,252,193,124,144,252,193,126,144,252,193,128,144,252,193,130,144,252,193,132,144,252,193,134,144,252,193,136,144,252,193,138,144,252,193,140,144,252,193,142,144,252,193,144,144,252,193,146,144,252,193,148,144,252,193,150,144,252,193,152,144,252,193,154,144,252,193,156,144,252,193,158,144,252,193,160,144,252,193,162,144,252,193,164,144,252,193,166,144,252,193,168,144,252,193,170,144,252,193,172,144,252,193,174,144,252,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,193,184,144,252,193,98,145,252,193,100,145,252,193,102,145,252,193,104,145,252,193,18,146,252,193,168,146,252,193,30,147,252,193,32,147,252,193,160,147,252,193,146,148,252,193,234,148,252,193,70,149,252,193,72,149,252,193,182,149,252,193,184,149,252,193,186,149,252,193,42,150,252,193,44,150,252,193,46,150,252,193,134,150,252,193,136,150,252,193,226,150,252,193,80,151,252,193,82,151,252,193,84,151,252,193,86,151,252,193,184,151,252,193,226,151,252,193,92,152,252,193,146,152,252,193,186,152,252,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,160,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,193,126,145,252,193,128,145,252,193,130,145,252,193,28,146,252,193,30,146,252,193,32,146,252,193,34,146,252,193,36,146,252,193,38,146,252,193,40,146,252,193,42,146,252,193,44,146,252,193,176,146,252,193,178,146,252,193,180,146,252,193,182,146,252,193,184,146,252,193,186,146,252,193,36,147,252,193,98,147,252,193,192,147,252,193,194,147,252,193,248,147,252,193,250,147,252,193,82,148,252,193,152,148,252,193,238,148,252,193,240,148,252,193,78,149,252,193,192,149,252,193,194,149,252,193,196,149,252,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,192,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,193,82,146,252,193,206,146,252,193,208,146,252,193,210,146,252,193,212,146,252,193,214,146,252,193,216,146,252,193,218,146,252,193,108,147,252,193,110,147,252,193,170,147,252,193,172,147,252,193,174,147,252,193,176,147,252,193,204,147,252,193,206,147,252,193,16,148,252,193,32,148,252,193,54,148,252,193,100,148,252,193,102,148,252,193,104,148,252,193,106,148,252,193,178,148,252,193,180,148,252,193,182,148,252,193,12,149,252,193,14,149,252,193,16,149,252,193,18,149,252,193,20,149,252,193,22,149,252,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,224,64,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,193,174,146,252,193,34,147,252,193,96,147,252,193,162,147,252,193,190,147,252,193,44,148,252,193,148,148,252,193,150,148,252,193,236,148,252,193,74,149,252,193,76,149,252,193,188,149,252,193,190,149,252,193,48,150,252,193,228,150,252,193,230,150,252,193,88,151,252,193,90,151,252,193,92,151,252,193,94,151,252,193,228,151,252,193,72,152,252,193,122,152,252,193,148,152,252,193,188,152,252,193,190,152,252,193,192,152,252,193,6,153,252,193,8,153,252,193,54,153,252,193,108,153,252,193,110,153,252,193,198,146,252,193,200,146,252,193,202,146,252,193,204,146,252,193,42,147,252,193,44,147,252,193,46,147,252,193,48,147,252,193,50,147,252,193,52,147,252,193,54,147,252,193,56,147,252,193,100,147,252,193,102,147,252,193,104,147,252,193,106,147,252,193,200,147,252,193,218,147,252,193,240,147,252,193,202,147,252,193,22,148,252,193,26,148,252,193,28,148,252,193,30,148,252,193,46,148,252,193,48,148,252,193,50,148,252,193,52,148,252,206,32,65,0,206,32,65,0,206,32,65,0,206,32,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,206,0,65,0,193,58,147,252,193,10,147,252,193,12,147,252,193,14,147,252,193,16,147,252,193,18,147,252,193,20,147,252,193,22,147,252,193,24,147,252,193,26,147,252,193,28,147,252,193,60,147,252,193,62,147,252,193,64,147,252,193,66,147,252,193,68,147,252,193,70,147,252,193,72,147,252,193,74,147,252,193,76,147,252,193,78,147,252,193,80,147,252,193,82,147,252,193,84,147,252,193,112,147,252,193,86,147,252,193,88,147,252,193,90,147,252,193,92,147,252,193,94,147,252,193,114,147,252,193,116,147,252,193,118,147,252,193,120,147,252,193,122,147,252,193,124,147,252,193,126,147,252,193,128,147,252,193,130,147,252,193,132,147,252,193,134,147,252,193,136,147,252,193,138,147,252,193,140,147,252,193,142,147,252,193,216,98,253,193,144,147,252,193,146,147,252,193,148,147,252,193,150,147,252,193,152,147,252,193,154,147,252,193,156,147,252,193,158,147,252,193,196,147,252,193,198,147,252,193,216,147,252,193,238,147,252,193,154,148,252,193,242,148,252,193,244,148,252,193,246,148,252,193,248,148,252,193,250,148,252,193,80,149,252,193,200,149,252,193,202,149,252,193,204,149,252,193,206,149,252,193,208,149,252,193,64,150,252,193,66,150,252,193,68,150,252,193,146,150,252,193,148,150,252,193,150,150,252,193,238,150,252,193,240,150,252,193,110,151,252,193,112,151,252,193,196,151,252,193,198,151,252,193,236,151,252,193,238,151,252,193,240,151,252,193,76,152,252,193,18,148,252,193,20,148,252,193,24,148,252,193,34,148,252,193,36,148,252,193,38,148,252,193,40,148,252,193,56,148,252,193,58,148,252,193,60,148,252,193,62,148,252,193,64,148,252,193,66,148,252,193,68,148,252,193,70,148,252,193,72,148,252,193,74,148,252,193,76,148,252,193,78,148,252,193,80,148,252,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,32,65,0,206,32,65,0,206,32,65,0,206,32,65,0,193,156,148,252,193,158,148,252,193,160,148,252,193,162,148,252,193,164,148,252,193,166,148,252,193,168,148,252,193,170,148,252,193,172,148,252,193,174,148,252,193,176,148,252,193,252,148,252,193,254,148,252,193,2,149,252,193,4,149,252,193,6,149,252,193,8,149,252,193,10,149,252,193,82,149,252,193,84,149,252,193,86,149,252,193,88,149,252,193,90,149,252,193,92,149,252,193,94,149,252,193,96,149,252,193,210,149,252,193,212,149,252,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,206,64,65,0,193,184,148,252,193,186,148,252,193,188,148,252,193,190,148,252,193,192,148,252,193,194,148,252,193,196,148,252,193,198,148,252,193,200,148,252,193,202,148,252,193,204,148,252,193,206,148,252,193,208,148,252,193,210,148,252,193,212,148,252,193,214,148,252,193,216,148,252,193,218,148,252,193,220,148,252,193,222,148,252,193,224,148,252,193,226,148,252,193,228,148,252,193,230,148,252,193,232,148,252,193,24,149,252,193,98,149,252,193,100,149,252,193,102,149,252,193,104,149,252,193,106,149,252,193,230,149,252,193,232,149,252,193,234,149,252,193,236,149,252,193,82,150,252,193,84,150,252,193,166,150,252,193,168,150,252,193,170,150,252,193,6,151,252,193,8,151,252,193,10,151,252,193,12,151,252,193,14,151,252,193,16,151,252,193,126,151,252,193,128,151,252,193,130,151,252,193,132,151,252,193,134,151,252,193,136,151,252,193,138,151,252,193,204,151,252,193,206,151,252,193,244,151,252,193,246,151,252,193,26,149,252,193,28,149,252,193,30,149,252,193,32,149,252,193,34,149,252,193,36,149,252,193,38,149,252,193,40,149,252,193,42,149,252,193,44,149,252,193,46,149,252,193,48,149,252,193,50,149,252,193,52,149,252,193,54,149,252,193,56,149,252,193,58,149,252,193,60,149,252,193,62,149,252,193,64,149,252,193,66,149,252,193,68,149,252,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,96,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,193,198,149,252,193,50,150,252,193,52,150,252,193,54,150,252,193,56,150,252,193,58,150,252,193,60,150,252,193,62,150,252,193,138,150,252,193,140,150,252,193,142,150,252,193,144,150,252,193,232,150,252,193,234,150,252,193,236,150,252,193,96,151,252,193,98,151,252,193,100,151,252,193,102,151,252,193,104,151,252,193,106,151,252,193,108,151,252,193,186,151,252,193,188,151,252,193,190,151,252,193,192,151,252,193,194,151,252,193,230,151,252,193,232,151,252,193,234,151,252,193,8,152,252,193,10,152,252,193,214,149,252,193,216,149,252,193,218,149,252,193,220,149,252,193,222,149,252,193,224,149,252,193,226,149,252,193,228,149,252,193,70,150,252,193,72,150,252,193,74,150,252,193,76,150,252,193,78,150,252,193,80,150,252,193,152,150,252,193,154,150,252,193,156,150,252,193,158,150,252,193,160,150,252,193,162,150,252,193,164,150,252,193,242,150,252,193,244,150,252,193,246,150,252,193,248,150,252,193,250,150,252,193,252,150,252,193,254,150,252,193,2,151,252,193,4,151,252,193,114,151,252,193,116,151,252,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,128,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,206,160,65,0,193,172,150,252,193,174,150,252,193,176,150,252,193,178,150,252,193,180,150,252,193,182,150,252,193,184,150,252,193,186,150,252,193,188,150,252,193,190,150,252,193,192,150,252,193,194,150,252,193,196,150,252,193,198,150,252,193,200,150,252,193,202,150,252,193,204,150,252,193,206,150,252,193,32,202,252,193,208,150,252,193,210,150,252,193,212,150,252,193,214,150,252,193,216,150,252,193,218,150,252,193,220,150,252,193,222,150,252,193,224,150,252,193,18,151,252,193,20,151,252,193,22,151,252,193,24,151,252,193,26,151,252,193,28,151,252,193,30,151,252,193,32,151,252,193,34,151,252,193,36,151,252,193,38,151,252,193,40,151,252,193,42,151,252,193,44,151,252,193,46,151,252,193,48,151,252,193,140,151,252,193,50,151,252,193,52,151,252,193,54,151,252,193,56,151,252,193,58,151,252,193,60,151,252,193,62,151,252,193,64,151,252,193,66,151,252,193,68,151,252,193,70,151,252,193,72,151,252,193,74,151,252,193,76,151,252,193,78,151,252,193,142,151,252,193,144,151,252,193,146,151,252,193,148,151,252,193,150,151,252,193,152,151,252,193,154,151,252,193,156,151,252,193,158,151,252,193,160,151,252,193,162,151,252,193,164,151,252,193,166,151,252,193,168,151,252,193,170,151,252,193,172,151,252,193,174,151,252,193,176,151,252,193,178,151,252,193,180,151,252,193,118,151,252,193,120,151,252,193,122,151,252,193,124,151,252,193,200,151,252,193,202,151,252,193,242,151,252,193,16,152,252,193,38,152,252,193,40,152,252,193,78,152,252,193,118,152,252,193,124,152,252,193,126,152,252,193,134,152,252,193,136,152,252,193,152,152,252,193,154,152,252,193,156,152,252,193,158,152,252,193,160,152,252,193,162,152,252,193,164,152,252,193,166,152,252,193,200,152,252,193,202,152,252,193,204,152,252,193,206,152,252,193,208,152,252,193,210,152,252,193,212,152,252,193,186,147,253,193,208,151,252,193,210,151,252,193,212,151,252,193,214,151,252,193,216,151,252,193,218,151,252,193,220,151,252,193,222,151,252,193,224,151,252,193,182,151,252,193,248,151,252,193,250,151,252,193,252,151,252,193,254,151,252,193,2,152,252,193,4,152,252,193,20,152,252,193,22,152,252,193,6,152,252,193,24,152,252,193,26,152,252,193,42,152,252,193,28,152,252,193,30,152,252,193,32,152,252,193,34,152,252,193,36,152,252,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,193,12,152,252,193,14,152,252,193,74,152,252,193,86,152,252,193,94,152,252,193,96,152,252,193,108,152,252,193,150,152,252,193,194,152,252,193,10,153,252,193,12,153,252,193,14,153,252,193,16,153,252,193,56,153,252,193,58,153,252,193,114,153,252,193,116,153,252,193,172,153,252,193,174,153,252,193,176,153,252,193,222,153,252,193,224,153,252,193,226,153,252,193,6,154,252,193,28,154,252,193,30,154,252,193,32,154,252,193,70,154,252,193,72,154,252,193,106,154,252,193,124,154,252,193,152,154,252,193,18,152,252,193,80,152,252,193,120,152,252,193,138,152,252,193,140,152,252,193,168,152,252,193,170,152,252,193,214,152,252,193,216,152,252,193,218,152,252,193,220,152,252,193,22,153,252,193,76,153,252,193,78,153,252,193,126,153,252,193,128,153,252,193,130,153,252,193,132,153,252,193,12,154,252,193,44,154,252,193,76,154,252,193,94,154,252,193,192,154,252,193,18,155,252,193,20,155,252,193,22,155,252,193,24,155,252,193,26,155,252,193,28,155,252,193,30,155,252,193,210,155,252,193,212,155,252,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,206,192,65,0,193,82,152,252,193,88,152,252,193,90,152,252,193,98,152,252,193,100,152,252,193,110,152,252,193,102,152,252,193,104,152,252,193,106,152,252,193,112,152,252,193,114,152,252,193,116,152,252,193,128,152,252,193,130,152,252,193,142,152,252,193,144,152,252,193,172,152,252,193,174,152,252,193,176,152,252,193,178,152,252,193,180,152,252,193,182,152,252,193,184,152,252,193,196,152,252,193,198,152,252,193,18,153,252,193,60,153,252,193,62,153,252,193,228,153,252,193,230,153,252,193,232,153,252,193,234,153,252,193,34,154,252,193,36,154,252,193,144,154,252,193,234,154,252,193,236,154,252,193,120,155,252,193,122,155,252,193,124,155,252,193,126,155,252,193,64,156,252,193,66,156,252,193,68,156,252,193,70,156,252,193,72,156,252,193,74,156,252,193,28,157,252,193,30,157,252,193,32,157,252,193,40,158,252,193,42,158,252,193,44,158,252,193,46,158,252,193,104,159,252,193,222,152,252,193,224,152,252,193,226,152,252,193,228,152,252,193,230,152,252,193,232,152,252,193,234,152,252,193,236,152,252,193,238,152,252,193,240,152,252,193,242,152,252,193,244,152,252,193,246,152,252,193,248,152,252,193,250,152,252,193,252,152,252,193,254,152,252,193,24,153,252,193,26,153,252,193,28,153,252,193,30,153,252,193,32,153,252,193,34,153,252,193,36,153,252,193,38,153,252,193,40,153,252,193,42,153,252,193,44,153,252,193,46,153,252,193,48,153,252,193,80,153,252,193,82,153,252,193,2,153,252,193,4,153,252,193,50,153,252,193,104,153,252,193,106,153,252,193,162,153,252,193,164,153,252,193,212,153,252,193,214,153,252,193,252,153,252,193,254,153,252,193,2,154,252,193,22,154,252,193,66,154,252,193,104,154,252,193,138,154,252,193,172,154,252,193,230,154,252,193,90,155,252,193,92,155,252,193,94,155,252,193,96,155,252,193,98,155,252,193,100,155,252,193,36,156,252,193,38,156,252,193,40,156,252,193,42,156,252,193,242,156,252,193,244,156,252,193,250,157,252,193,252,157,252,193,188,147,253,193,20,153,252,193,64,153,252,193,66,153,252,193,68,153,252,193,70,153,252,193,72,153,252,193,74,153,252,193,118,153,252,193,120,153,252,193,122,153,252,193,124,153,252,193,178,153,252,193,180,153,252,193,8,154,252,193,182,153,252,193,184,153,252,193,10,154,252,193,38,154,252,193,40,154,252,193,42,154,252,193,74,154,252,193,108,154,252,193,110,154,252,193,132,154,252,193,154,154,252,193,160,154,252,193,162,154,252,206,0,66,0,206,0,66,0,206,0,66,0,206,0,66,0,193,84,153,252,193,86,153,252,193,88,153,252,193,90,153,252,193,92,153,252,193,94,153,252,193,96,153,252,193,98,153,252,193,100,153,252,193,102,153,252,193,134,153,252,193,136,153,252,193,138,153,252,193,140,153,252,193,142,153,252,193,144,153,252,193,146,153,252,193,148,153,252,193,150,153,252,193,152,153,252,193,154,153,252,193,156,153,252,193,158,153,252,193,160,153,252,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,193,112,153,252,193,166,153,252,193,168,153,252,193,170,153,252,193,216,153,252,193,218,153,252,193,220,153,252,193,4,154,252,193,24,154,252,193,26,154,252,193,68,154,252,193,130,154,252,193,174,154,252,193,232,154,252,193,102,155,252,193,104,155,252,193,106,155,252,193,108,155,252,193,110,155,252,193,44,156,252,193,46,156,252,193,48,156,252,193,50,156,252,193,52,156,252,193,54,156,252,193,56,156,252,193,246,156,252,193,248,156,252,193,250,156,252,193,252,156,252,193,254,156,252,193,2,157,252,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,206,224,65,0,193,236,153,252,193,238,153,252,193,240,153,252,193,242,153,252,193,244,153,252,193,246,153,252,193,248,153,252,193,250,153,252,193,14,154,252,193,16,154,252,193,46,154,252,193,18,154,252,193,20,154,252,193,48,154,252,193,50,154,252,193,52,154,252,193,54,154,252,193,56,154,252,193,58,154,252,193,60,154,252,193,62,154,252,193,96,154,252,193,64,154,252,193,78,154,252,193,80,154,252,193,82,154,252,193,84,154,252,206,0,66,0,206,0,66,0,206,0,66,0,206,0,66,0,193,76,156,252,193,238,154,252,193,240,154,252,193,242,154,252,193,244,154,252,193,246,154,252,193,248,154,252,193,250,154,252,193,252,154,252,193,254,154,252,193,2,155,252,193,4,155,252,193,6,155,252,193,8,155,252,193,10,155,252,193,12,155,252,193,14,155,252,193,16,155,252,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,193,200,154,252,193,202,154,252,193,204,154,252,193,206,154,252,193,208,154,252,193,210,154,252,193,212,154,252,193,214,154,252,193,216,154,252,193,218,154,252,193,220,154,252,193,222,154,252,193,224,154,252,193,226,154,252,193,228,154,252,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,32,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,193,112,155,252,193,114,155,252,193,116,155,252,193,118,155,252,193,58,156,252,193,60,156,252,193,62,156,252,193,8,157,252,193,10,157,252,193,12,157,252,193,14,157,252,193,16,157,252,193,18,157,252,193,20,157,252,193,22,157,252,193,24,157,252,193,26,157,252,193,32,158,252,193,34,158,252,193,36,158,252,193,38,158,252,193,80,159,252,193,82,159,252,193,84,159,252,193,86,159,252,193,88,159,252,193,90,159,252,193,92,159,252,193,94,159,252,193,96,159,252,193,98,159,252,193,100,159,252,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,206,64,66,0,193,78,156,252,193,214,155,252,193,216,155,252,193,218,155,252,193,220,155,252,193,222,155,252,193,224,155,252,193,226,155,252,193,140,156,252,193,142,156,252,193,144,156,252,193,146,156,252,193,148,156,252,193,150,156,252,193,152,156,252,193,154,156,252,193,156,156,252,193,158,156,252,193,160,156,252,193,162,156,252,193,164,156,252,193,166,156,252,193,106,157,252,193,108,157,252,193,110,157,252,193,112,157,252,193,114,157,252,193,116,157,252,193,118,157,252,193,120,157,252,193,122,157,252,193,124,157,252,193,126,157,252,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,206,96,66,0,193,168,156,252,193,170,156,252,193,172,156,252,193,174,156,252,193,176,156,252,193,178,156,252,193,180,156,252,193,182,156,252,193,184,156,252,193,186,156,252,193,188,156,252,193,190,156,252,193,192,156,252,193,194,156,252,193,196,156,252,193,198,156,252,193,200,156,252,193,202,156,252,193,204,156,252,193,206,156,252,193,208,156,252,193,34,156,252,193,80,156,252,193,82,156,252,193,84,156,252,193,86,156,252,193,88,156,252,193,90,156,252,193,92,156,252,193,94,156,252,193,96,156,252,193,98,156,252,193,100,156,252,193,102,156,252,193,104,156,252,193,106,156,252,193,108,156,252,193,110,156,252,193,112,156,252,193,114,156,252,193,116,156,252,193,118,156,252,193,120,156,252,193,122,156,252,193,124,156,252,193,126,156,252,193,128,156,252,193,130,156,252,193,132,156,252,193,134,156,252,193,136,156,252,193,138,156,252,193,34,157,252,193,36,157,252,193,210,156,252,193,212,156,252,193,214,156,252,193,216,156,252,193,218,156,252,193,220,156,252,193,222,156,252,193,224,156,252,193,226,156,252,193,228,156,252,193,230,156,252,193,232,156,252,193,234,156,252,193,236,156,252,193,238,156,252,193,240,156,252,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,193,4,157,252,193,6,157,252,193,8,158,252,193,10,158,252,193,12,158,252,193,14,158,252,193,16,158,252,193,18,158,252,193,20,158,252,193,22,158,252,193,24,158,252,193,26,158,252,193,28,158,252,193,30,158,252,193,56,159,252,193,58,159,252,193,60,159,252,193,62,159,252,193,64,159,252,193,66,159,252,193,68,159,252,193,70,159,252,193,72,159,252,193,74,159,252,193,76,159,252,193,78,159,252,193,154,160,252,193,156,160,252,193,158,160,252,193,160,160,252,193,162,160,252,193,164,160,252,193,38,157,252,193,40,157,252,193,42,157,252,193,44,157,252,193,46,157,252,193,48,157,252,193,50,157,252,193,52,157,252,193,54,157,252,193,56,157,252,193,58,157,252,193,60,157,252,193,62,157,252,193,64,157,252,193,66,157,252,193,68,157,252,193,70,157,252,193,72,157,252,193,74,157,252,193,76,157,252,193,78,157,252,193,80,157,252,193,82,157,252,193,84,157,252,193,86,157,252,193,88,157,252,193,90,157,252,193,92,157,252,193,94,157,252,193,96,157,252,193,98,157,252,193,100,157,252,193,102,157,252,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,193,104,157,252,193,156,159,252,193,158,159,252,193,160,159,252,193,162,159,252,193,164,159,252,193,166,159,252,193,168,159,252,193,170,159,252,193,218,160,252,193,172,159,252,193,174,159,252,193,176,159,252,193,178,159,252,193,180,159,252,193,182,159,252,193,184,159,252,193,186,159,252,193,188,159,252,193,190,159,252,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,193,128,157,252,193,134,158,252,193,136,158,252,193,138,158,252,193,140,158,252,193,142,158,252,193,144,158,252,193,146,158,252,193,148,158,252,193,150,158,252,193,152,158,252,193,154,158,252,193,156,158,252,193,158,158,252,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,206,128,66,0,193,160,158,252,193,242,157,252,193,244,157,252,193,246,157,252,193,248,157,252,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,193,254,157,252,193,2,158,252,193,4,158,252,193,6,158,252,193,44,159,252,193,46,159,252,193,48,159,252,193,50,159,252,193,52,159,252,193,54,159,252,193,136,160,252,193,138,160,252,193,140,160,252,193,142,160,252,193,144,160,252,193,146,160,252,193,240,161,252,193,242,161,252,193,244,161,252,193,246,161,252,193,248,161,252,193,250,161,252,193,252,161,252,193,254,161,252,193,56,163,252,193,58,163,252,193,60,163,252,193,62,163,252,193,64,163,252,193,66,163,252,193,68,163,252,193,70,163,252,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,206,160,66,0,193,116,159,252,193,118,159,252,193,120,159,252,193,122,159,252,193,124,159,252,193,126,159,252,193,128,159,252,193,130,159,252,193,132,159,252,193,134,159,252,193,136,159,252,193,138,159,252,193,140,159,252,193,142,159,252,193,144,159,252,193,146,159,252,193,148,159,252,193,150,159,252,193,152,159,252,193,154,159,252,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,192,66,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,193,102,159,252,193,170,160,252,193,172,160,252,193,174,160,252,193,176,160,252,193,178,160,252,193,180,160,252,193,182,160,252,193,184,160,252,193,186,160,252,193,188,160,252,193,190,160,252,193,192,160,252,193,194,160,252,193,196,160,252,193,16,162,252,193,18,162,252,193,20,162,252,193,22,162,252,193,24,162,252,193,26,162,252,193,28,162,252,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,193,106,159,252,193,108,159,252,193,110,159,252,193,112,159,252,193,114,159,252,193,198,160,252,193,200,160,252,193,202,160,252,193,204,160,252,193,206,160,252,193,208,160,252,193,210,160,252,193,212,160,252,193,214,160,252,193,216,160,252,193,30,162,252,193,32,162,252,193,34,162,252,193,36,162,252,193,38,162,252,193,114,163,252,193,116,163,252,193,118,163,252,193,188,164,252,193,190,164,252,193,192,164,252,193,152,165,252,193,154,165,252,193,36,166,252,193,38,166,252,193,208,166,252,193,210,166,252,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,206,224,66,0,193,26,161,252,193,28,161,252,193,30,161,252,193,32,161,252,193,34,161,252,193,36,161,252,193,38,161,252,193,40,161,252,193,42,161,252,193,44,161,252,193,46,161,252,193,48,161,252,193,50,161,252,193,52,161,252,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,0,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,193,166,160,252,193,168,160,252,193,2,162,252,193,4,162,252,193,6,162,252,193,8,162,252,193,10,162,252,193,12,162,252,193,14,162,252,193,72,163,252,193,74,163,252,193,76,163,252,193,78,163,252,193,150,164,252,193,152,164,252,193,154,164,252,193,156,164,252,193,158,164,252,193,160,164,252,193,114,165,252,193,116,165,252,193,118,165,252,193,120,165,252,193,122,165,252,193,124,165,252,193,126,165,252,193,128,165,252,193,170,166,252,193,172,166,252,193,174,166,252,193,176,166,252,193,178,166,252,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,32,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,206,96,67,0,193,22,161,252,193,106,162,252,193,108,162,252,193,110,162,252,193,24,161,252,193,112,162,252,193,114,162,252,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,64,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,206,128,67,0,193,174,163,252,193,176,163,252,193,178,163,252,193,180,163,252,193,182,163,252,193,184,163,252,193,186,163,252,193,226,164,252,193,188,163,252,193,190,163,252,193,192,163,252,193,194,163,252,193,196,163,252,193,198,163,252,193,200,163,252,193,202,163,252,193,204,163,252,193,206,163,252,193,208,163,252,193,228,164,252,193,230,164,252,193,232,164,252,193,234,164,252,193,236,164,252,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,206,160,67,0,193,212,163,252,193,46,163,252,193,48,163,252,193,50,163,252,193,52,163,252,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,193,54,163,252,193,104,164,252,193,106,164,252,193,108,164,252,193,110,164,252,193,112,164,252,193,114,164,252,193,116,164,252,193,118,164,252,193,120,164,252,193,122,164,252,193,124,164,252,193,126,164,252,193,128,164,252,193,130,164,252,193,132,164,252,193,134,164,252,193,136,164,252,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,206,192,67,0,193,162,164,252,193,164,164,252,193,166,164,252,193,168,164,252,193,170,164,252,193,172,164,252,193,174,164,252,193,176,164,252,193,178,164,252,193,180,164,252,193,182,164,252,193,184,164,252,193,186,164,252,193,130,165,252,193,132,165,252,193,134,165,252,193,136,165,252,193,138,165,252,193,140,165,252,193,142,165,252,193,144,165,252,193,146,165,252,193,148,165,252,193,150,165,252,193,18,166,252,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,206,224,67,0,193,194,164,252,193,196,164,252,193,198,164,252,193,200,164,252,193,202,164,252,193,204,164,252,193,206,164,252,193,208,164,252,193,210,164,252,193,212,164,252,193,214,164,252,193,216,164,252,193,218,164,252,193,238,164,252,193,240,164,252,193,242,164,252,193,210,163,252,193,244,164,252,193,186,165,252,193,50,166,252,193,52,166,252,193,54,166,252,193,56,166,252,193,58,166,252,193,60,166,252,193,62,166,252,193,64,166,252,193,240,166,252,193,242,166,252,193,244,166,252,193,246,166,252,193,100,167,252,193,102,167,252,193,104,167,252,193,134,162,253,193,154,167,252,193,244,167,252,193,12,168,252,193,64,168,252,193,140,168,252,193,204,168,252,193,206,168,252,193,44,169,252,193,46,169,252,193,48,169,252,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,206,0,68,0,193,138,164,252,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,193,140,164,252,193,142,164,252,193,144,164,252,193,146,164,252,193,148,164,252,193,110,165,252,193,112,165,252,193,16,166,252,193,162,166,252,193,164,166,252,193,166,166,252,193,168,166,252,193,56,167,252,193,146,167,252,193,196,167,252,193,234,167,252,193,48,168,252,193,98,168,252,193,100,168,252,193,158,168,252,193,160,168,252,193,236,168,252,193,238,168,252,193,240,168,252,193,102,169,252,193,104,169,252,193,106,169,252,193,108,169,252,193,110,169,252,193,240,169,252,193,242,169,252,193,244,169,252,193,220,164,252,193,222,164,252,193,224,164,252,193,156,165,252,193,158,165,252,193,160,165,252,193,162,165,252,193,164,165,252,193,166,165,252,193,168,165,252,193,170,165,252,193,172,165,252,193,174,165,252,193,176,165,252,193,178,165,252,193,180,165,252,193,40,166,252,193,42,166,252,193,44,166,252,193,46,166,252,193,48,166,252,193,182,165,252,193,184,165,252,193,218,166,252,193,220,166,252,193,222,166,252,193,224,166,252,193,226,166,252,193,228,166,252,193,230,166,252,193,232,166,252,193,234,166,252,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,32,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,64,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,193,20,166,252,193,22,166,252,193,24,166,252,193,26,166,252,193,28,166,252,193,30,166,252,193,32,166,252,193,34,166,252,193,180,166,252,193,182,166,252,193,184,166,252,193,186,166,252,193,188,166,252,193,190,166,252,193,192,166,252,193,194,166,252,193,196,166,252,193,198,166,252,193,200,166,252,193,202,166,252,193,204,166,252,193,206,166,252,193,70,167,252,193,72,167,252,193,74,167,252,193,76,167,252,193,78,167,252,193,80,167,252,193,82,167,252,193,84,167,252,193,236,167,252,193,238,167,252,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,96,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,193,212,166,252,193,214,166,252,193,216,166,252,193,150,167,252,193,10,168,252,193,36,168,252,193,112,168,252,193,166,168,252,193,168,168,252,193,170,168,252,193,172,168,252,193,4,169,252,193,6,169,252,193,8,169,252,193,10,169,252,193,12,169,252,193,14,169,252,193,140,169,252,193,142,169,252,193,144,169,252,193,146,169,252,193,148,169,252,193,24,170,252,193,26,170,252,193,28,170,252,193,30,170,252,193,32,170,252,193,34,170,252,193,36,170,252,193,168,170,252,193,64,171,252,193,66,171,252,193,236,166,252,193,238,166,252,193,86,167,252,193,88,167,252,193,90,167,252,193,92,167,252,193,94,167,252,193,96,167,252,193,98,167,252,193,200,167,252,193,152,167,252,193,202,167,252,193,204,167,252,193,206,167,252,193,208,167,252,193,240,167,252,193,242,167,252,193,62,168,252,193,72,168,252,193,76,168,252,193,84,168,252,193,86,168,252,193,88,168,252,193,116,168,252,193,118,168,252,193,120,168,252,193,122,168,252,193,124,168,252,193,126,168,252,193,128,168,252,193,130,168,252,193,132,168,252,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,128,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,193,58,167,252,193,60,167,252,193,62,167,252,193,64,167,252,193,66,167,252,193,68,167,252,193,148,167,252,193,198,167,252,193,28,168,252,193,30,168,252,193,32,168,252,193,82,168,252,193,102,168,252,193,104,168,252,193,106,168,252,193,162,168,252,193,242,168,252,193,244,168,252,193,246,168,252,193,112,169,252,193,114,169,252,193,116,169,252,193,118,169,252,193,120,169,252,193,122,169,252,193,248,169,252,193,250,169,252,193,252,169,252,193,254,169,252,193,146,170,252,193,148,170,252,193,150,170,252,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,206,160,68,0,193,156,167,252,193,158,167,252,193,160,167,252,193,162,167,252,193,164,167,252,193,166,167,252,193,168,167,252,193,170,167,252,193,172,167,252,193,174,167,252,193,176,167,252,193,178,167,252,193,180,167,252,193,182,167,252,193,184,167,252,193,186,167,252,193,188,167,252,193,190,167,252,193,192,167,252,193,194,167,252,206,192,68,0,206,192,68,0,206,192,68,0,206,192,68,0,206,192,68,0,206,192,68,0,206,192,68,0,206,192,68,0,193,246,167,252,193,248,167,252,193,250,167,252,193,252,167,252,193,254,167,252,193,2,168,252,193,4,168,252,193,6,168,252,193,14,168,252,193,16,168,252,193,18,168,252,193,20,168,252,193,22,168,252,193,24,168,252,193,26,168,252,193,38,168,252,193,50,168,252,193,52,168,252,193,40,168,252,193,42,168,252,193,44,168,252,193,46,168,252,193,54,168,252,193,56,168,252,193,8,168,252,193,34,168,252,193,60,168,252,193,108,168,252,193,110,168,252,193,164,168,252,193,248,168,252,193,250,168,252,193,252,168,252,193,254,168,252,193,2,169,252,193,124,169,252,193,126,169,252,193,128,169,252,193,130,169,252,193,132,169,252,193,134,169,252,193,136,169,252,193,138,169,252,193,2,170,252,193,4,170,252,193,6,170,252,193,8,170,252,193,10,170,252,193,12,170,252,193,14,170,252,193,16,170,252,193,18,170,252,193,20,170,252,193,22,170,252,193,154,170,252,193,156,170,252,193,58,168,252,193,66,168,252,193,68,168,252,193,70,168,252,193,74,168,252,193,78,168,252,193,80,168,252,193,90,168,252,193,92,168,252,193,94,168,252,193,96,168,252,193,142,168,252,193,144,168,252,193,146,168,252,193,148,168,252,193,150,168,252,193,152,168,252,193,154,168,252,193,156,168,252,193,208,168,252,193,210,168,252,193,212,168,252,193,214,168,252,193,216,168,252,193,218,168,252,193,220,168,252,193,222,168,252,193,224,168,252,193,226,168,252,193,228,168,252,193,230,168,252,193,232,168,252,193,134,168,252,193,136,168,252,193,138,168,252,193,174,168,252,193,176,168,252,193,178,168,252,193,180,168,252,193,182,168,252,193,184,168,252,193,186,168,252,193,188,168,252,193,190,168,252,193,192,168,252,193,194,168,252,193,196,168,252,193,198,168,252,193,200,168,252,193,202,168,252,193,18,169,252,193,20,169,252,193,22,169,252,193,24,169,252,193,26,169,252,193,28,169,252,193,30,169,252,193,32,169,252,193,34,169,252,193,36,169,252,193,38,169,252,193,40,169,252,193,150,169,252,193,152,169,252,193,234,168,252,193,52,169,252,193,54,169,252,193,56,169,252,193,58,169,252,193,60,169,252,193,62,169,252,193,64,169,252,193,66,169,252,193,68,169,252,193,70,169,252,193,72,169,252,193,74,169,252,193,76,169,252,193,78,169,252,193,80,169,252,193,82,169,252,193,84,169,252,193,86,169,252,193,88,169,252,193,90,169,252,193,92,169,252,193,94,169,252,193,192,169,252,193,96,169,252,193,98,169,252,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,193,154,169,252,193,156,169,252,193,158,169,252,193,42,169,252,193,160,169,252,193,162,169,252,193,164,169,252,193,166,169,252,193,168,169,252,193,170,169,252,193,172,169,252,193,174,169,252,193,176,169,252,193,178,169,252,193,38,170,252,193,40,170,252,193,42,170,252,193,44,170,252,193,46,170,252,193,48,170,252,193,50,170,252,193,52,170,252,193,170,170,252,193,172,170,252,193,174,170,252,193,176,170,252,193,178,170,252,193,180,170,252,193,182,170,252,193,184,170,252,193,186,170,252,193,188,170,252,193,50,169,252,193,180,169,252,193,182,169,252,193,184,169,252,193,186,169,252,193,188,169,252,193,190,169,252,193,56,170,252,193,58,170,252,193,60,170,252,193,62,170,252,193,64,170,252,193,66,170,252,193,192,170,252,193,194,170,252,193,196,170,252,193,198,170,252,193,200,170,252,193,202,170,252,193,98,171,252,193,100,171,252,193,102,171,252,193,104,171,252,193,106,171,252,193,108,171,252,193,110,171,252,193,244,171,252,193,246,171,252,193,122,172,252,193,124,172,252,193,126,172,252,193,128,172,252,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,206,224,68,0,193,100,169,252,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,193,246,169,252,193,144,170,252,193,32,171,252,193,34,171,252,193,36,171,252,193,38,171,252,193,184,171,252,193,186,171,252,193,188,171,252,193,52,172,252,193,54,172,252,193,56,172,252,193,58,172,252,193,184,172,252,193,186,172,252,193,42,173,252,193,44,173,252,193,46,173,252,193,134,173,252,193,136,173,252,193,138,173,252,193,140,173,252,193,174,173,252,193,244,173,252,193,246,173,252,193,248,173,252,193,102,174,252,193,104,174,252,193,162,174,252,193,164,174,252,193,96,175,252,193,32,176,252,193,54,170,252,193,190,170,252,193,72,171,252,193,74,171,252,193,76,171,252,193,78,171,252,193,80,171,252,193,82,171,252,193,84,171,252,193,86,171,252,193,88,171,252,193,90,171,252,193,92,171,252,193,94,171,252,193,96,171,252,193,222,171,252,193,224,171,252,193,226,171,252,193,228,171,252,193,230,171,252,193,232,171,252,193,234,171,252,193,236,171,252,193,238,171,252,193,240,171,252,193,100,172,252,193,102,172,252,193,104,172,252,193,106,172,252,193,108,172,252,193,110,172,252,193,112,172,252,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,206,0,69,0,193,204,170,252,193,206,170,252,193,208,170,252,193,210,170,252,193,212,170,252,193,214,170,252,193,216,170,252,193,218,170,252,193,152,170,252,193,40,171,252,193,42,171,252,193,44,171,252,193,46,171,252,193,48,171,252,193,190,171,252,193,192,171,252,193,194,171,252,193,196,171,252,193,198,171,252,193,60,172,252,193,62,172,252,193,64,172,252,193,66,172,252,193,68,172,252,193,70,172,252,193,72,172,252,193,74,172,252,193,190,172,252,193,192,172,252,193,194,172,252,193,48,173,252,193,50,173,252,193,52,173,252,193,54,173,252,193,56,173,252,193,142,173,252,193,176,173,252,193,178,173,252,193,180,173,252,193,214,173,252,193,158,170,252,193,160,170,252,193,162,170,252,193,164,170,252,193,166,170,252,193,50,171,252,193,52,171,252,193,54,171,252,193,56,171,252,193,58,171,252,193,60,171,252,193,62,171,252,193,200,171,252,193,202,171,252,193,204,171,252,193,206,171,252,193,208,171,252,193,210,171,252,193,212,171,252,193,76,172,252,193,78,172,252,193,80,172,252,193,82,172,252,193,84,172,252,193,86,172,252,193,88,172,252,193,196,172,252,193,58,173,252,193,60,173,252,193,144,173,252,193,146,173,252,193,216,173,252,193,220,170,252,193,222,170,252,193,224,170,252,193,226,170,252,193,228,170,252,193,230,170,252,193,232,170,252,193,234,170,252,193,236,170,252,193,238,170,252,193,240,170,252,193,242,170,252,193,244,170,252,193,246,170,252,193,248,170,252,193,250,170,252,193,252,170,252,193,254,170,252,193,2,171,252,193,4,171,252,193,6,171,252,193,8,171,252,193,10,171,252,193,12,171,252,193,14,171,252,193,16,171,252,193,18,171,252,193,20,171,252,193,22,171,252,193,24,171,252,193,26,171,252,193,28,171,252,193,30,171,252,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,193,68,171,252,193,70,171,252,193,214,171,252,193,216,171,252,193,218,171,252,193,220,171,252,193,90,172,252,193,92,172,252,193,94,172,252,193,96,172,252,193,98,172,252,193,198,172,252,193,200,172,252,193,202,172,252,193,204,172,252,193,206,172,252,193,208,172,252,193,62,173,252,193,64,173,252,193,66,173,252,193,182,173,252,193,184,173,252,193,254,173,252,193,106,174,252,193,174,174,252,193,176,174,252,193,108,175,252,193,110,175,252,193,112,175,252,193,114,175,252,193,56,176,252,193,58,176,252,206,32,69,0,206,32,69,0,206,32,69,0,206,32,69,0,193,252,171,252,193,254,171,252,193,2,172,252,193,4,172,252,193,6,172,252,193,8,172,252,193,10,172,252,193,12,172,252,193,14,172,252,193,16,172,252,193,18,172,252,193,20,172,252,193,22,172,252,193,24,172,252,193,26,172,252,193,28,172,252,193,30,172,252,193,32,172,252,193,34,172,252,193,36,172,252,193,38,172,252,193,40,172,252,193,42,172,252,193,44,172,252,193,46,172,252,193,48,172,252,193,50,172,252,193,136,172,252,193,248,171,252,193,102,133,253,193,104,133,253,193,180,133,253,193,220,133,253,193,2,134,253,193,4,134,253,193,6,134,253,193,80,134,253,193,148,134,253,193,172,134,253,193,198,134,253,193,240,134,253,193,242,134,253,193,60,135,253,193,118,135,253,193,120,135,253,193,122,135,253,193,124,135,253,193,126,135,253,193,128,135,253,193,130,135,253,193,132,135,253,193,202,135,253,193,204,135,253,193,206,135,253,193,64,136,253,193,66,136,253,193,68,136,253,193,70,136,253,193,202,136,253,193,204,136,253,193,114,172,252,193,116,172,252,193,118,172,252,193,210,172,252,193,212,172,252,193,214,172,252,193,216,172,252,193,218,172,252,193,120,172,252,193,68,173,252,193,70,173,252,193,72,173,252,193,74,173,252,193,76,173,252,193,148,173,252,193,150,173,252,193,152,173,252,193,218,173,252,193,186,173,252,193,220,173,252,193,222,173,252,193,2,174,252,193,30,174,252,193,58,174,252,193,70,174,252,193,72,174,252,193,74,174,252,193,76,174,252,193,78,174,252,193,80,174,252,193,82,174,252,193,84,174,252,193,130,172,252,193,132,172,252,193,134,172,252,193,220,172,252,193,222,172,252,193,224,172,252,193,226,172,252,193,228,172,252,193,230,172,252,193,232,172,252,193,78,173,252,193,80,173,252,193,82,173,252,193,154,173,252,193,156,173,252,193,188,173,252,193,224,173,252,193,4,174,252,193,6,174,252,193,32,174,252,193,34,174,252,193,86,174,252,193,128,174,252,193,130,174,252,193,132,174,252,193,134,174,252,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,193,138,172,252,193,140,172,252,193,142,172,252,193,144,172,252,193,146,172,252,193,148,172,252,193,150,172,252,193,152,172,252,193,154,172,252,193,156,172,252,193,158,172,252,193,160,172,252,193,162,172,252,193,164,172,252,193,166,172,252,193,168,172,252,193,170,172,252,193,172,172,252,193,174,172,252,193,176,172,252,193,178,172,252,193,180,172,252,193,182,172,252,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,193,188,172,252,193,130,180,252,193,106,183,252,193,198,186,252,193,28,187,252,193,126,187,252,193,232,187,252,193,182,188,252,193,58,193,252,193,102,200,252,193,92,211,252,193,110,217,252,193,208,225,252,193,210,225,252,193,104,227,252,193,134,229,252,193,136,229,252,193,138,229,252,193,20,235,252,193,22,235,252,193,198,237,252,193,110,240,252,193,214,242,252,193,162,12,253,193,252,15,253,193,26,16,253,193,66,19,253,193,198,24,253,193,102,27,253,193,2,40,253,193,22,41,253,193,96,41,253,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,64,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,206,96,69,0,193,158,173,252,193,160,173,252,193,162,173,252,193,164,173,252,193,166,173,252,193,168,173,252,193,170,173,252,193,172,173,252,193,190,173,252,193,192,173,252,193,194,173,252,193,196,173,252,193,198,173,252,193,200,173,252,193,202,173,252,193,204,173,252,193,206,173,252,193,208,173,252,193,226,173,252,193,210,173,252,193,212,173,252,193,228,173,252,193,230,173,252,193,232,173,252,193,234,173,252,193,236,173,252,193,238,173,252,193,240,173,252,193,242,173,252,193,8,174,252,193,10,174,252,193,12,174,252,193,14,174,252,193,16,174,252,193,18,174,252,193,20,174,252,193,22,174,252,193,24,174,252,193,26,174,252,193,36,174,252,193,38,174,252,193,40,174,252,193,42,174,252,193,44,174,252,193,48,174,252,193,50,174,252,193,52,174,252,193,54,174,252,193,56,174,252,193,250,173,252,193,252,173,252,193,28,174,252,193,166,174,252,193,168,174,252,193,98,175,252,193,100,175,252,193,38,176,252,193,40,176,252,193,42,176,252,193,44,176,252,193,8,177,252,193,10,177,252,193,12,177,252,193,14,177,252,193,16,177,252,193,18,177,252,193,20,177,252,193,22,177,252,193,24,177,252,193,26,177,252,193,252,177,252,193,254,177,252,193,2,178,252,193,4,178,252,193,6,178,252,193,8,178,252,193,10,178,252,193,12,178,252,193,14,178,252,193,16,178,252,193,52,179,252,193,46,174,252,193,170,174,252,193,172,174,252,193,102,175,252,193,104,175,252,193,106,175,252,193,46,176,252,193,48,176,252,193,50,176,252,193,52,176,252,193,54,176,252,193,28,177,252,193,30,177,252,193,32,177,252,193,34,177,252,193,36,177,252,193,38,177,252,193,18,178,252,193,20,178,252,193,22,178,252,193,24,178,252,193,26,178,252,193,70,179,252,193,72,179,252,193,74,179,252,193,76,179,252,193,78,179,252,193,80,179,252,193,82,179,252,193,84,179,252,193,86,179,252,193,88,179,252,193,60,174,252,193,62,174,252,193,64,174,252,193,66,174,252,193,68,174,252,193,88,174,252,193,90,174,252,193,92,174,252,193,94,174,252,193,96,174,252,193,98,174,252,193,100,174,252,193,136,174,252,193,138,174,252,193,140,174,252,193,142,174,252,193,144,174,252,193,146,174,252,193,148,174,252,193,150,174,252,193,152,174,252,193,154,174,252,193,156,174,252,193,158,174,252,193,160,174,252,193,12,175,252,193,14,175,252,193,16,175,252,193,18,175,252,193,20,175,252,193,22,175,252,193,24,175,252,193,108,174,252,193,110,174,252,193,112,174,252,193,114,174,252,193,116,174,252,193,118,174,252,193,120,174,252,193,122,174,252,193,124,174,252,193,126,174,252,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,128,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,206,160,69,0,193,190,175,252,193,192,175,252,193,194,175,252,193,196,175,252,193,198,175,252,193,200,175,252,193,202,175,252,193,204,175,252,193,206,175,252,193,208,175,252,193,210,175,252,193,212,175,252,193,214,175,252,193,148,176,252,193,150,176,252,193,152,176,252,193,154,176,252,193,156,176,252,193,158,176,252,193,160,176,252,193,162,176,252,193,164,176,252,193,166,176,252,193,122,177,252,193,26,175,252,193,28,175,252,193,30,175,252,193,32,175,252,193,34,175,252,193,36,175,252,193,38,175,252,193,40,175,252,193,42,175,252,193,44,175,252,193,46,175,252,193,48,175,252,193,50,175,252,193,52,175,252,193,54,175,252,193,56,175,252,193,58,175,252,193,60,175,252,193,62,175,252,193,64,175,252,193,66,175,252,193,68,175,252,193,70,175,252,193,72,175,252,193,74,175,252,193,76,175,252,193,78,175,252,193,80,175,252,193,82,175,252,193,84,175,252,193,86,175,252,193,88,175,252,193,90,175,252,193,92,175,252,193,94,175,252,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,206,192,69,0,193,64,176,252,193,66,176,252,193,68,176,252,193,70,176,252,193,72,176,252,193,74,176,252,193,76,176,252,193,78,176,252,193,80,176,252,193,82,176,252,193,84,176,252,193,86,176,252,193,88,176,252,193,90,176,252,193,46,177,252,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,224,69,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,193,34,176,252,193,36,176,252,193,2,177,252,193,4,177,252,193,6,177,252,193,242,177,252,193,244,177,252,193,246,177,252,193,248,177,252,193,250,177,252,193,34,179,252,193,36,179,252,193,38,179,252,193,40,179,252,193,42,179,252,193,44,179,252,193,46,179,252,193,48,179,252,193,50,179,252,193,120,180,252,193,122,180,252,193,124,180,252,193,126,180,252,193,128,180,252,193,146,181,252,193,148,181,252,193,150,181,252,193,152,181,252,193,154,181,252,193,122,182,252,193,124,182,252,193,126,182,252,193,60,176,252,193,62,176,252,193,40,177,252,193,42,177,252,193,44,177,252,193,28,178,252,193,30,178,252,193,32,178,252,193,34,178,252,193,96,179,252,193,98,179,252,193,100,179,252,193,102,179,252,193,104,179,252,193,174,180,252,193,176,180,252,193,180,181,252,193,168,182,252,193,170,182,252,193,134,183,252,193,136,183,252,193,4,185,252,193,6,185,252,193,8,185,252,193,80,185,252,193,82,185,252,193,120,185,252,193,210,185,252,193,228,185,252,193,60,186,252,193,62,186,252,193,64,186,252,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,0,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,32,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,64,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,193,120,177,252,193,140,178,252,193,142,178,252,193,106,179,252,193,144,178,252,193,146,178,252,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,193,124,177,252,193,126,177,252,193,128,177,252,193,130,177,252,193,132,177,252,193,134,177,252,193,136,177,252,193,148,178,252,193,150,178,252,193,152,178,252,193,154,178,252,193,156,178,252,193,158,178,252,193,160,178,252,193,162,178,252,193,164,178,252,193,166,178,252,193,168,178,252,193,170,178,252,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,96,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,128,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,206,160,70,0,193,54,179,252,193,56,179,252,193,58,179,252,193,60,179,252,193,62,179,252,193,64,179,252,193,66,179,252,193,68,179,252,193,132,180,252,193,134,180,252,193,136,180,252,193,138,180,252,193,140,180,252,193,142,180,252,193,144,180,252,193,156,181,252,193,158,181,252,193,160,181,252,193,162,181,252,193,130,182,252,193,132,182,252,193,134,182,252,193,136,182,252,193,138,182,252,193,140,182,252,193,142,182,252,193,144,182,252,193,108,183,252,193,110,183,252,193,112,183,252,193,114,183,252,193,116,183,252,193,90,179,252,193,92,179,252,193,94,179,252,193,146,180,252,193,148,180,252,193,150,180,252,193,152,180,252,193,154,180,252,193,156,180,252,193,158,180,252,193,160,180,252,193,162,180,252,193,164,180,252,193,166,180,252,193,168,180,252,193,170,180,252,193,172,180,252,193,164,181,252,193,166,181,252,193,168,181,252,193,170,181,252,193,172,181,252,193,174,181,252,193,176,181,252,193,178,181,252,206,128,71,0,206,128,71,0,206,128,71,0,206,128,71,0,206,128,71,0,206,128,71,0,206,128,71,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,192,70,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,206,224,70,0,193,244,180,252,193,246,180,252,193,248,180,252,193,250,180,252,193,252,180,252,193,254,180,252,193,2,181,252,193,252,181,252,193,254,181,252,193,2,182,252,193,4,182,252,193,6,182,252,193,8,182,252,193,10,182,252,193,12,182,252,193,14,182,252,193,16,182,252,193,226,182,252,193,228,182,252,193,230,182,252,193,232,182,252,193,234,182,252,193,236,182,252,193,178,183,252,193,180,183,252,193,182,183,252,193,184,183,252,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,206,0,71,0,193,4,181,252,193,68,180,252,193,70,180,252,193,72,180,252,193,74,180,252,193,76,180,252,193,78,180,252,193,80,180,252,193,82,180,252,193,84,180,252,193,86,180,252,193,88,180,252,193,90,180,252,193,92,180,252,193,94,180,252,193,96,180,252,193,98,180,252,193,100,180,252,193,102,180,252,193,104,180,252,193,106,180,252,193,108,180,252,193,110,180,252,193,112,180,252,193,114,180,252,193,116,180,252,193,118,180,252,193,6,181,252,193,8,181,252,193,10,181,252,193,12,181,252,193,14,181,252,193,16,181,252,193,18,181,252,193,20,181,252,193,22,181,252,193,24,181,252,193,26,181,252,193,28,181,252,193,30,181,252,193,32,181,252,193,34,181,252,193,36,181,252,193,38,181,252,193,40,181,252,193,42,181,252,193,44,181,252,193,46,181,252,193,48,181,252,193,50,181,252,193,52,181,252,193,54,181,252,193,56,181,252,193,58,181,252,193,60,181,252,193,62,181,252,193,64,181,252,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,32,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,193,66,181,252,193,68,181,252,193,70,181,252,193,72,181,252,193,74,181,252,193,76,181,252,193,78,181,252,193,80,181,252,193,82,181,252,193,84,181,252,193,86,181,252,193,88,181,252,193,90,181,252,193,92,181,252,193,94,181,252,193,96,181,252,193,98,181,252,193,100,181,252,193,102,181,252,193,104,181,252,193,106,181,252,193,108,181,252,193,110,181,252,193,112,181,252,193,114,181,252,193,116,181,252,193,118,181,252,193,120,181,252,193,122,181,252,193,124,181,252,193,126,181,252,193,128,181,252,193,130,181,252,193,132,181,252,193,18,182,252,193,134,181,252,193,136,181,252,193,138,181,252,193,140,181,252,193,142,181,252,193,144,181,252,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,206,64,71,0,193,172,182,252,193,244,181,252,193,246,181,252,193,138,183,252,193,248,181,252,193,250,181,252,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,96,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,193,128,182,252,193,98,183,252,193,100,183,252,193,102,183,252,193,104,183,252,193,18,184,252,193,20,184,252,193,22,184,252,193,24,184,252,193,26,184,252,193,28,184,252,193,30,184,252,193,128,184,252,193,130,184,252,193,132,184,252,193,236,184,252,193,238,184,252,193,240,184,252,193,62,185,252,193,64,185,252,193,66,185,252,193,112,185,252,193,174,185,252,193,184,185,252,193,202,185,252,193,222,185,252,193,42,186,252,193,44,186,252,193,46,186,252,193,48,186,252,193,112,186,252,193,114,186,252,206,128,71,0,206,128,71,0,206,128,71,0,206,128,71,0,193,122,183,252,193,124,183,252,193,126,183,252,193,128,183,252,193,130,183,252,193,132,183,252,193,34,184,252,193,36,184,252,193,38,184,252,193,40,184,252,193,42,184,252,193,44,184,252,193,146,184,252,193,148,184,252,193,150,184,252,193,250,184,252,193,252,184,252,193,254,184,252,193,2,185,252,193,74,185,252,193,76,185,252,193,78,185,252,193,118,185,252,193,152,185,252,193,154,185,252,193,176,185,252,193,178,185,252,193,204,185,252,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,206,160,71,0,193,140,183,252,193,222,182,252,193,142,183,252,193,144,183,252,193,146,183,252,193,148,183,252,193,150,183,252,193,152,183,252,193,154,183,252,193,156,183,252,193,158,183,252,193,224,182,252,193,160,183,252,193,162,183,252,193,164,183,252,193,166,183,252,193,168,183,252,193,170,183,252,193,172,183,252,193,174,183,252,193,176,183,252,206,0,72,0,206,0,72,0,206,0,72,0,206,0,72,0,206,0,72,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,192,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,193,118,183,252,193,120,183,252,193,32,184,252,193,134,184,252,193,136,184,252,193,138,184,252,193,140,184,252,193,142,184,252,193,144,184,252,193,242,184,252,193,244,184,252,193,246,184,252,193,248,184,252,193,68,185,252,193,70,185,252,193,72,185,252,193,114,185,252,193,116,185,252,193,150,185,252,193,2,186,252,193,50,186,252,193,52,186,252,193,54,186,252,193,56,186,252,193,58,186,252,193,116,186,252,193,118,186,252,193,120,186,252,193,122,186,252,193,124,186,252,193,126,186,252,193,200,186,252,193,186,183,252,193,188,183,252,193,190,183,252,193,64,184,252,193,66,184,252,193,68,184,252,193,70,184,252,193,72,184,252,193,178,184,252,193,180,184,252,193,14,185,252,193,16,185,252,193,18,185,252,193,20,185,252,193,92,185,252,193,124,185,252,193,126,185,252,193,128,185,252,193,130,185,252,193,164,185,252,193,166,185,252,193,190,185,252,193,254,185,252,193,106,186,252,193,40,186,252,193,108,186,252,193,184,186,252,193,186,186,252,193,8,187,252,193,112,187,252,193,212,187,252,193,214,187,252,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,224,71,0,206,32,72,0,206,32,72,0,206,32,72,0,206,32,72,0,193,182,184,252,193,16,184,252,193,90,184,252,193,92,184,252,193,184,184,252,193,94,184,252,193,96,184,252,193,186,184,252,193,98,184,252,193,100,184,252,193,102,184,252,193,104,184,252,193,106,184,252,193,108,184,252,193,110,184,252,193,112,184,252,193,114,184,252,193,116,184,252,193,118,184,252,193,120,184,252,193,122,184,252,193,124,184,252,193,126,184,252,193,188,184,252,193,190,184,252,193,192,184,252,193,194,184,252,193,196,184,252,206,0,72,0,206,0,72,0,206,0,72,0,206,0,72,0,193,152,184,252,193,154,184,252,193,156,184,252,193,158,184,252,193,160,184,252,193,162,184,252,193,164,184,252,193,166,184,252,193,168,184,252,193,170,184,252,193,172,184,252,193,174,184,252,193,176,184,252,193,10,185,252,193,12,185,252,193,84,185,252,193,86,185,252,193,88,185,252,193,90,185,252,193,122,185,252,193,156,185,252,193,158,185,252,193,160,185,252,193,162,185,252,193,186,185,252,193,188,185,252,193,212,185,252,193,220,185,252,193,198,184,252,193,200,184,252,193,22,185,252,193,202,184,252,193,204,184,252,193,206,184,252,193,208,184,252,193,210,184,252,193,212,184,252,193,214,184,252,193,216,184,252,193,218,184,252,193,220,184,252,193,222,184,252,193,224,184,252,193,226,184,252,193,228,184,252,193,230,184,252,193,232,184,252,193,234,184,252,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,206,64,72,0,193,94,185,252,193,96,185,252,193,98,185,252,193,100,185,252,193,102,185,252,193,104,185,252,193,106,185,252,193,108,185,252,193,110,185,252,193,132,185,252,193,134,185,252,193,136,185,252,193,138,185,252,193,140,185,252,193,142,185,252,193,144,185,252,193,146,185,252,193,168,185,252,193,148,185,252,193,170,185,252,193,172,185,252,193,180,185,252,193,182,185,252,193,192,185,252,193,194,185,252,193,196,185,252,193,198,185,252,193,200,185,252,193,206,185,252,193,208,185,252,193,214,185,252,193,216,185,252,193,218,185,252,193,110,186,252,193,188,186,252,193,10,187,252,193,12,187,252,193,14,187,252,193,114,187,252,193,116,187,252,193,118,187,252,193,120,187,252,193,216,187,252,193,218,187,252,193,220,187,252,193,222,187,252,193,224,187,252,193,38,188,252,193,40,188,252,193,42,188,252,193,44,188,252,193,82,188,252,193,118,188,252,193,120,188,252,193,122,188,252,193,162,188,252,193,164,188,252,193,224,185,252,193,230,185,252,193,232,185,252,193,234,185,252,193,236,185,252,193,238,185,252,193,240,185,252,193,242,185,252,193,244,185,252,193,246,185,252,193,248,185,252,193,250,185,252,193,4,186,252,193,6,186,252,193,8,186,252,193,10,186,252,193,12,186,252,193,14,186,252,193,16,186,252,193,18,186,252,193,20,186,252,193,22,186,252,193,252,185,252,193,24,186,252,193,26,186,252,193,28,186,252,193,30,186,252,193,32,186,252,193,34,186,252,193,36,186,252,193,38,186,252,193,70,186,252,193,226,185,252,193,128,186,252,193,130,186,252,193,132,186,252,193,218,186,252,193,220,186,252,193,222,186,252,193,38,187,252,193,40,187,252,193,42,187,252,193,136,187,252,193,138,187,252,193,140,187,252,193,252,187,252,193,102,188,252,193,104,188,252,193,218,188,252,193,238,188,252,193,16,189,252,193,48,189,252,193,50,189,252,193,82,189,252,193,108,189,252,193,132,189,252,193,152,189,252,193,170,189,252,193,172,189,252,193,174,189,252,193,2,190,252,193,62,190,252,193,106,190,252,193,108,190,252,193,66,186,252,193,68,186,252,193,134,186,252,193,136,186,252,193,138,186,252,193,140,186,252,193,142,186,252,193,144,186,252,193,146,186,252,193,148,186,252,193,150,186,252,193,152,186,252,193,224,186,252,193,226,186,252,193,228,186,252,193,230,186,252,193,232,186,252,193,234,186,252,193,236,186,252,193,238,186,252,193,240,186,252,193,242,186,252,193,44,187,252,193,46,187,252,193,48,187,252,193,50,187,252,193,52,187,252,193,54,187,252,193,56,187,252,193,58,187,252,193,60,187,252,193,142,187,252,193,72,186,252,193,74,186,252,193,76,186,252,193,78,186,252,193,80,186,252,193,82,186,252,193,84,186,252,193,86,186,252,193,88,186,252,193,90,186,252,193,92,186,252,193,94,186,252,193,96,186,252,193,98,186,252,193,100,186,252,193,102,186,252,193,104,186,252,193,154,186,252,193,156,186,252,193,158,186,252,193,160,186,252,193,162,186,252,193,164,186,252,193,166,186,252,193,168,186,252,193,170,186,252,193,172,186,252,193,174,186,252,193,176,186,252,193,178,186,252,193,180,186,252,193,182,186,252,193,190,186,252,193,192,186,252,193,194,186,252,193,196,186,252,193,16,187,252,193,18,187,252,193,20,187,252,193,22,187,252,193,24,187,252,193,26,187,252,193,122,187,252,193,124,187,252,193,226,187,252,193,228,187,252,193,230,187,252,193,46,188,252,193,48,188,252,193,84,188,252,193,86,188,252,193,88,188,252,193,90,188,252,193,124,188,252,193,126,188,252,193,166,188,252,193,180,188,252,193,196,188,252,193,46,189,252,193,78,189,252,193,100,189,252,193,102,189,252,193,128,189,252,193,192,189,252,193,202,186,252,193,204,186,252,193,206,186,252,193,208,186,252,193,210,186,252,193,212,186,252,193,214,186,252,193,216,186,252,193,30,187,252,193,32,187,252,193,34,187,252,193,36,187,252,193,128,187,252,193,130,187,252,193,132,187,252,193,134,187,252,193,234,187,252,193,236,187,252,193,238,187,252,193,240,187,252,193,242,187,252,193,244,187,252,193,246,187,252,193,248,187,252,193,250,187,252,193,50,188,252,193,52,188,252,193,54,188,252,193,56,188,252,193,58,188,252,193,92,188,252,193,94,188,252,193,244,186,252,193,246,186,252,193,248,186,252,193,250,186,252,193,252,186,252,193,254,186,252,193,2,187,252,193,4,187,252,193,6,187,252,193,62,187,252,193,64,187,252,193,66,187,252,193,68,187,252,193,70,187,252,193,72,187,252,193,74,187,252,193,76,187,252,193,78,187,252,193,80,187,252,193,82,187,252,193,84,187,252,193,86,187,252,193,88,187,252,193,90,187,252,193,92,187,252,193,94,187,252,193,96,187,252,193,98,187,252,193,100,187,252,193,102,187,252,193,104,187,252,193,106,187,252,193,108,187,252,193,110,187,252,193,166,187,252,193,168,187,252,193,170,187,252,193,172,187,252,193,174,187,252,193,176,187,252,193,178,187,252,193,180,187,252,193,182,187,252,193,184,187,252,193,186,187,252,193,188,187,252,193,190,187,252,193,192,187,252,193,194,187,252,193,196,187,252,193,198,187,252,193,200,187,252,193,202,187,252,193,204,187,252,193,206,187,252,193,208,187,252,193,210,187,252,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,193,144,187,252,193,146,187,252,193,148,187,252,193,150,187,252,193,152,187,252,193,154,187,252,193,156,187,252,193,158,187,252,193,160,187,252,193,162,187,252,193,164,187,252,193,254,187,252,193,2,188,252,193,4,188,252,193,6,188,252,193,8,188,252,193,10,188,252,193,60,188,252,193,62,188,252,193,64,188,252,193,66,188,252,193,106,188,252,193,108,188,252,193,140,188,252,193,142,188,252,193,144,188,252,193,146,188,252,193,148,188,252,193,170,188,252,193,172,188,252,193,174,188,252,193,184,188,252,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,206,96,72,0,193,68,188,252,193,70,188,252,193,72,188,252,193,74,188,252,193,76,188,252,193,78,188,252,193,80,188,252,193,110,188,252,193,112,188,252,193,114,188,252,193,116,188,252,193,150,188,252,193,152,188,252,193,154,188,252,193,156,188,252,193,158,188,252,193,192,188,252,193,198,188,252,193,202,188,252,193,208,188,252,193,220,188,252,193,222,188,252,193,240,188,252,193,224,188,252,193,242,188,252,193,18,189,252,193,20,189,252,193,36,188,252,193,160,188,252,193,210,188,252,193,226,188,252,193,244,188,252,193,246,188,252,193,248,188,252,193,250,188,252,193,252,188,252,193,254,188,252,193,24,189,252,193,56,189,252,193,58,189,252,193,112,189,252,193,216,189,252,193,244,189,252,193,30,190,252,193,32,190,252,193,70,190,252,193,72,190,252,193,74,190,252,193,130,190,252,193,132,190,252,193,134,190,252,193,212,190,252,193,16,191,252,193,18,191,252,193,68,191,252,193,70,191,252,193,72,191,252,193,74,191,252,193,156,191,252,193,96,188,252,193,98,188,252,193,100,188,252,193,128,188,252,193,130,188,252,193,132,188,252,193,134,188,252,193,136,188,252,193,138,188,252,193,168,188,252,193,186,188,252,193,194,188,252,193,234,188,252,193,236,188,252,193,14,189,252,193,36,189,252,193,80,189,252,193,104,189,252,193,106,189,252,193,130,189,252,193,194,189,252,193,20,190,252,193,56,190,252,193,58,190,252,193,60,190,252,193,104,190,252,193,194,190,252,193,196,190,252,193,198,190,252,193,254,190,252,193,40,191,252,193,42,191,252,193,176,188,252,193,178,188,252,193,200,188,252,193,212,188,252,193,214,188,252,193,216,188,252,193,228,188,252,193,230,188,252,193,232,188,252,193,2,189,252,193,4,189,252,193,6,189,252,193,8,189,252,193,10,189,252,193,12,189,252,193,26,189,252,193,28,189,252,193,30,189,252,193,32,189,252,193,34,189,252,193,38,189,252,193,40,189,252,193,42,189,252,193,44,189,252,193,60,189,252,193,62,189,252,193,64,189,252,193,66,189,252,193,68,189,252,193,70,189,252,193,72,189,252,193,74,189,252,193,188,188,252,193,190,188,252,193,204,188,252,193,206,188,252,193,84,189,252,193,154,189,252,193,176,189,252,193,208,189,252,193,112,190,252,193,208,190,252,193,4,191,252,193,6,191,252,193,8,191,252,193,46,191,252,193,48,191,252,193,140,191,252,193,142,191,252,193,144,191,252,193,4,192,252,193,6,192,252,193,8,192,252,193,78,192,252,193,252,192,252,193,34,193,252,193,124,193,252,193,250,193,252,193,154,194,252,193,194,194,252,193,196,194,252,193,140,195,252,193,244,195,252,193,246,195,252,193,22,189,252,193,52,189,252,193,54,189,252,193,110,189,252,193,134,189,252,193,136,189,252,193,138,189,252,193,156,189,252,193,158,189,252,193,160,189,252,193,178,189,252,193,180,189,252,193,196,189,252,193,202,189,252,193,210,189,252,193,212,189,252,193,224,189,252,193,238,189,252,193,240,189,252,193,242,189,252,193,22,190,252,193,24,190,252,193,26,190,252,193,28,190,252,193,64,190,252,193,66,190,252,193,68,190,252,193,114,190,252,193,116,190,252,193,118,190,252,193,120,190,252,193,122,190,252,193,76,189,252,193,86,189,252,193,88,189,252,193,90,189,252,193,92,189,252,193,94,189,252,193,96,189,252,193,98,189,252,193,114,189,252,193,116,189,252,193,118,189,252,193,120,189,252,193,122,189,252,193,124,189,252,193,126,189,252,193,140,189,252,193,142,189,252,193,144,189,252,193,146,189,252,193,148,189,252,193,150,189,252,193,162,189,252,193,164,189,252,193,166,189,252,193,168,189,252,193,184,189,252,193,186,189,252,193,188,189,252,193,190,189,252,193,198,189,252,193,200,189,252,193,204,189,252,193,206,189,252,193,214,189,252,193,218,189,252,193,220,189,252,193,222,189,252,193,228,189,252,193,230,189,252,193,232,189,252,193,234,189,252,193,236,189,252,193,246,189,252,193,248,189,252,193,4,190,252,193,250,189,252,193,6,190,252,193,254,189,252,193,252,189,252,193,8,190,252,193,10,190,252,193,12,190,252,193,14,190,252,193,16,190,252,193,18,190,252,193,34,190,252,193,36,190,252,193,38,190,252,193,40,190,252,193,42,190,252,193,44,190,252,193,46,190,252,193,48,190,252,193,50,190,252,193,52,190,252,193,76,190,252,193,78,190,252,193,80,190,252,193,82,190,252,193,84,190,252,193,86,190,252,193,88,190,252,193,90,190,252,193,92,190,252,193,94,190,252,193,96,190,252,193,98,190,252,193,100,190,252,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,206,128,72,0,193,54,190,252,193,102,190,252,193,192,190,252,193,248,190,252,193,250,190,252,193,252,190,252,193,122,191,252,193,124,191,252,193,192,191,252,193,236,191,252,193,64,192,252,193,154,192,252,193,192,192,252,193,216,192,252,193,32,193,252,193,186,193,252,193,188,193,252,193,190,193,252,193,192,193,252,193,236,193,252,193,238,193,252,193,50,194,252,193,140,194,252,193,142,194,252,193,144,194,252,193,180,194,252,193,228,194,252,193,230,194,252,193,232,194,252,193,28,195,252,193,30,195,252,193,76,195,252,193,110,190,252,193,200,190,252,193,202,190,252,193,204,190,252,193,206,190,252,193,2,191,252,193,44,191,252,193,134,191,252,193,136,191,252,193,138,191,252,193,194,191,252,193,196,191,252,193,198,191,252,193,244,191,252,193,246,191,252,193,248,191,252,193,250,191,252,193,252,191,252,193,254,191,252,193,2,192,252,193,66,192,252,193,68,192,252,193,70,192,252,193,72,192,252,193,74,192,252,193,76,192,252,193,124,192,252,193,126,192,252,193,158,192,252,193,194,192,252,193,196,192,252,193,220,192,252,193,124,190,252,193,126,190,252,193,128,190,252,193,210,190,252,193,10,191,252,193,12,191,252,193,14,191,252,193,50,191,252,193,52,191,252,193,54,191,252,193,56,191,252,193,58,191,252,193,60,191,252,193,62,191,252,193,64,191,252,193,146,191,252,193,148,191,252,193,150,191,252,193,66,191,252,193,152,191,252,193,154,191,252,193,200,191,252,193,202,191,252,193,204,191,252,193,206,191,252,193,10,192,252,193,12,192,252,193,14,192,252,193,16,192,252,193,80,192,252,193,82,192,252,193,84,192,252,206,160,72,0,206,160,72,0,206,160,72,0,206,160,72,0,206,160,72,0,193,76,191,252,193,78,191,252,193,80,191,252,193,82,191,252,193,84,191,252,193,86,191,252,193,88,191,252,193,90,191,252,193,92,191,252,193,94,191,252,193,96,191,252,193,98,191,252,193,38,191,252,193,100,191,252,193,102,191,252,193,104,191,252,193,106,191,252,193,108,191,252,193,110,191,252,193,112,191,252,193,114,191,252,193,116,191,252,193,118,191,252,193,120,191,252,193,158,191,252,193,160,191,252,193,162,191,252,193,126,191,252,193,128,191,252,193,130,191,252,193,132,191,252,193,238,191,252,193,240,191,252,193,242,191,252,193,120,192,252,193,122,192,252,193,156,192,252,193,218,192,252,193,226,192,252,193,60,193,252,193,118,193,252,193,120,193,252,193,122,193,252,193,194,193,252,193,240,193,252,193,242,193,252,193,244,193,252,193,52,194,252,193,90,194,252,193,92,194,252,193,146,194,252,193,148,194,252,193,182,194,252,193,184,194,252,193,186,194,252,193,234,194,252,193,236,194,252,193,32,195,252,193,58,195,252,193,18,192,252,193,20,192,252,193,90,192,252,193,130,192,252,193,168,192,252,193,210,192,252,193,234,192,252,193,82,193,252,193,84,193,252,193,86,193,252,193,140,193,252,193,142,193,252,193,144,193,252,193,146,193,252,193,206,193,252,193,208,193,252,193,210,193,252,193,14,194,252,193,58,194,252,193,60,194,252,193,62,194,252,193,64,194,252,193,66,194,252,193,112,194,252,193,160,194,252,193,162,194,252,193,198,194,252,193,244,194,252,193,246,194,252,193,102,195,252,193,192,195,252,193,194,195,252,193,28,192,252,193,30,192,252,193,32,192,252,193,34,192,252,193,36,192,252,193,38,192,252,193,40,192,252,193,42,192,252,193,44,192,252,193,46,192,252,193,48,192,252,193,50,192,252,193,52,192,252,193,54,192,252,193,56,192,252,193,58,192,252,193,60,192,252,193,62,192,252,193,92,192,252,193,94,192,252,193,96,192,252,193,98,192,252,193,100,192,252,193,102,192,252,193,104,192,252,193,106,192,252,193,108,192,252,193,110,192,252,193,112,192,252,193,114,192,252,193,116,192,252,193,132,192,252,193,86,192,252,193,88,192,252,193,128,192,252,193,160,192,252,193,162,192,252,193,164,192,252,193,166,192,252,193,222,192,252,193,230,192,252,193,232,192,252,193,14,193,252,193,22,193,252,193,24,193,252,193,36,193,252,193,38,193,252,193,40,193,252,193,42,193,252,193,44,193,252,193,68,193,252,193,70,193,252,193,72,193,252,193,126,193,252,193,74,193,252,193,76,193,252,193,78,193,252,193,80,193,252,193,128,193,252,193,130,193,252,193,132,193,252,193,134,193,252,193,136,193,252,193,138,193,252,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,193,118,192,252,193,186,51,253,193,188,51,253,193,190,51,253,193,192,51,253,193,194,51,253,193,196,51,253,193,242,51,253,193,244,51,253,193,246,51,253,193,248,51,253,193,250,51,253,193,252,51,253,193,254,51,253,193,2,52,253,193,4,52,253,193,6,52,253,193,8,52,253,193,10,52,253,193,12,52,253,193,14,52,253,193,16,52,253,193,18,52,253,193,20,52,253,193,22,52,253,193,64,52,253,193,66,52,253,193,134,192,252,193,136,192,252,193,138,192,252,193,140,192,252,193,142,192,252,193,144,192,252,193,146,192,252,193,148,192,252,193,150,192,252,193,248,194,252,193,170,192,252,193,172,192,252,193,174,192,252,193,176,192,252,193,178,192,252,193,180,192,252,193,182,192,252,193,184,192,252,193,186,192,252,193,188,192,252,193,190,192,252,193,198,192,252,193,200,192,252,193,202,192,252,193,204,192,252,193,206,192,252,193,208,192,252,193,212,192,252,193,214,192,252,193,224,192,252,193,236,192,252,193,238,192,252,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,193,152,192,252,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,193,228,192,252,193,254,192,252,193,62,193,252,193,64,193,252,193,66,193,252,193,196,193,252,193,198,193,252,193,246,193,252,193,248,193,252,193,54,194,252,193,94,194,252,193,96,194,252,193,98,194,252,193,100,194,252,193,150,194,252,193,152,194,252,193,188,194,252,193,190,194,252,193,192,194,252,193,34,195,252,193,60,195,252,193,98,195,252,193,100,195,252,193,114,195,252,193,236,195,252,193,238,195,252,193,240,195,252,193,242,195,252,193,64,196,252,193,140,196,252,193,142,196,252,193,144,196,252,193,240,192,252,193,242,192,252,193,244,192,252,193,246,192,252,193,248,192,252,193,250,192,252,193,2,193,252,193,4,193,252,193,6,193,252,193,8,193,252,193,10,193,252,193,16,193,252,193,18,193,252,193,20,193,252,193,26,193,252,193,28,193,252,193,30,193,252,193,46,193,252,193,48,193,252,193,50,193,252,193,52,193,252,193,54,193,252,193,56,193,252,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,206,192,72,0,193,148,193,252,193,150,193,252,193,152,193,252,193,154,193,252,193,156,193,252,193,158,193,252,193,160,193,252,193,162,193,252,193,164,193,252,193,116,193,252,193,166,193,252,193,168,193,252,193,170,193,252,193,172,193,252,193,174,193,252,193,176,193,252,193,178,193,252,193,180,193,252,193,182,193,252,193,184,193,252,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,206,224,72,0,193,200,193,252,193,202,193,252,193,204,193,252,193,252,193,252,193,254,193,252,193,2,194,252,193,4,194,252,193,6,194,252,193,8,194,252,193,10,194,252,193,12,194,252,193,56,194,252,193,102,194,252,193,104,194,252,193,106,194,252,193,108,194,252,193,110,194,252,193,156,194,252,193,158,194,252,193,238,194,252,193,240,194,252,193,242,194,252,193,36,195,252,193,38,195,252,193,40,195,252,193,42,195,252,193,62,195,252,193,78,195,252,193,80,195,252,193,136,195,252,193,144,195,252,193,146,195,252,193,86,194,252,193,88,194,252,193,114,194,252,193,116,194,252,193,118,194,252,193,120,194,252,193,122,194,252,193,124,194,252,193,126,194,252,193,128,194,252,193,130,194,252,193,132,194,252,193,134,194,252,193,136,194,252,193,138,194,252,193,164,194,252,193,166,194,252,193,168,194,252,193,170,194,252,193,172,194,252,193,174,194,252,193,176,194,252,193,178,194,252,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,206,0,73,0,193,250,194,252,193,252,194,252,193,254,194,252,193,2,195,252,193,4,195,252,193,6,195,252,193,8,195,252,193,10,195,252,193,12,195,252,193,14,195,252,193,16,195,252,193,18,195,252,193,20,195,252,193,22,195,252,193,24,195,252,193,26,195,252,193,44,195,252,193,46,195,252,193,48,195,252,193,50,195,252,193,52,195,252,193,54,195,252,193,56,195,252,193,64,195,252,193,66,195,252,193,68,195,252,193,70,195,252,193,72,195,252,193,74,195,252,193,84,195,252,193,86,195,252,193,88,195,252,193,90,195,252,193,92,195,252,193,94,195,252,193,104,195,252,193,106,195,252,193,116,195,252,193,118,195,252,193,120,195,252,193,122,195,252,193,124,195,252,193,130,195,252,193,132,195,252,193,134,195,252,193,142,195,252,193,138,195,252,193,148,195,252,193,150,195,252,193,152,195,252,193,154,195,252,193,156,195,252,193,158,195,252,193,160,195,252,193,162,195,252,193,164,195,252,193,166,195,252,193,168,195,252,193,170,195,252,193,96,195,252,193,112,195,252,193,126,195,252,193,200,196,252,193,14,197,252,193,160,197,252,193,162,197,252,193,210,197,252,193,212,197,252,193,96,198,252,193,98,198,252,193,148,198,252,193,174,198,252,193,200,198,252,193,206,198,252,193,16,199,252,193,126,199,252,193,50,200,252,193,118,200,252,193,120,200,252,193,10,201,252,193,12,201,252,193,14,201,252,193,86,201,252,193,88,201,252,193,90,201,252,193,152,201,252,193,154,201,252,193,156,201,252,193,158,201,252,193,252,201,252,193,254,201,252,193,108,195,252,193,110,195,252,193,176,195,252,193,234,195,252,193,62,196,252,193,134,196,252,193,136,196,252,193,138,196,252,193,196,196,252,193,198,196,252,193,12,197,252,193,94,197,252,193,96,197,252,193,156,197,252,193,158,197,252,193,208,197,252,193,12,198,252,193,14,198,252,193,76,198,252,193,144,198,252,193,146,198,252,193,172,198,252,193,180,198,252,193,188,198,252,193,204,198,252,193,102,199,252,193,122,199,252,193,124,199,252,193,146,199,252,193,214,199,252,193,238,199,252,193,36,200,252,193,172,195,252,193,174,195,252,193,196,195,252,193,198,195,252,193,200,195,252,193,202,195,252,193,204,195,252,193,206,195,252,193,208,195,252,193,210,195,252,193,212,195,252,193,214,195,252,193,216,195,252,193,218,195,252,193,220,195,252,193,222,195,252,193,224,195,252,193,226,195,252,193,228,195,252,193,230,195,252,193,232,195,252,193,34,196,252,193,36,196,252,193,38,196,252,193,40,196,252,193,42,196,252,193,44,196,252,193,46,196,252,193,48,196,252,193,50,196,252,193,52,196,252,193,54,196,252,193,178,195,252,193,180,195,252,193,182,195,252,193,184,195,252,193,186,195,252,193,188,195,252,193,190,195,252,193,250,195,252,193,252,195,252,193,254,195,252,193,2,196,252,193,4,196,252,193,6,196,252,193,8,196,252,193,10,196,252,193,12,196,252,193,14,196,252,193,16,196,252,193,18,196,252,193,68,196,252,193,70,196,252,193,72,196,252,193,74,196,252,193,76,196,252,193,78,196,252,193,80,196,252,193,82,196,252,193,154,196,252,193,156,196,252,193,158,196,252,193,208,196,252,193,210,196,252,193,248,195,252,193,66,196,252,193,152,196,252,193,206,196,252,193,24,197,252,193,174,197,252,193,78,198,252,193,90,198,252,193,108,198,252,193,110,198,252,193,152,198,252,193,182,198,252,193,238,198,252,193,2,199,252,193,4,199,252,193,32,199,252,193,78,199,252,193,80,199,252,193,52,200,252,193,126,200,252,193,198,200,252,193,200,200,252,193,202,200,252,193,204,200,252,193,18,201,252,193,20,201,252,193,22,201,252,193,28,203,252,193,136,203,252,193,160,203,252,193,232,203,252,193,16,204,252,193,20,196,252,193,22,196,252,193,24,196,252,193,26,196,252,193,28,196,252,193,30,196,252,193,32,196,252,193,84,196,252,193,86,196,252,193,88,196,252,193,90,196,252,193,160,196,252,193,162,196,252,193,164,196,252,193,166,196,252,193,222,196,252,193,224,196,252,193,226,196,252,193,228,196,252,193,230,196,252,193,114,197,252,193,116,197,252,193,228,197,252,193,230,197,252,193,232,197,252,193,36,198,252,193,54,198,252,193,100,198,252,193,158,198,252,193,160,198,252,193,162,198,252,193,234,198,252,193,56,196,252,193,58,196,252,193,60,196,252,193,92,196,252,193,94,196,252,193,96,196,252,193,98,196,252,193,100,196,252,193,102,196,252,193,104,196,252,193,106,196,252,193,108,196,252,193,110,196,252,193,112,196,252,193,114,196,252,193,116,196,252,193,118,196,252,193,120,196,252,193,122,196,252,193,124,196,252,193,126,196,252,193,128,196,252,193,130,196,252,193,132,196,252,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,206,32,73,0,193,146,196,252,193,148,196,252,193,150,196,252,193,202,196,252,193,204,196,252,193,16,197,252,193,18,197,252,193,20,197,252,193,22,197,252,193,98,197,252,193,100,197,252,193,102,197,252,193,104,197,252,193,164,197,252,193,166,197,252,193,168,197,252,193,170,197,252,193,172,197,252,193,214,197,252,193,216,197,252,193,28,198,252,193,30,198,252,193,50,198,252,193,52,198,252,193,64,198,252,193,66,198,252,193,82,198,252,193,150,198,252,193,166,198,252,193,168,198,252,193,176,198,252,193,254,198,252,193,212,196,252,193,214,196,252,193,216,196,252,193,218,196,252,193,220,196,252,193,26,197,252,193,28,197,252,193,30,197,252,193,32,197,252,193,34,197,252,193,36,197,252,193,38,197,252,193,40,197,252,193,42,197,252,193,106,197,252,193,108,197,252,193,110,197,252,193,112,197,252,193,176,197,252,193,178,197,252,193,180,197,252,193,182,197,252,193,184,197,252,193,218,197,252,193,220,197,252,193,222,197,252,193,224,197,252,193,226,197,252,193,186,197,252,193,16,198,252,193,18,198,252,193,32,198,252,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,206,64,73,0,193,118,197,252,193,120,197,252,193,122,197,252,193,124,197,252,193,126,197,252,193,128,197,252,193,130,197,252,193,132,197,252,193,134,197,252,193,136,197,252,193,138,197,252,193,92,197,252,193,140,197,252,193,142,197,252,193,144,197,252,193,146,197,252,193,148,197,252,193,150,197,252,193,152,197,252,193,188,197,252,193,190,197,252,193,192,197,252,193,194,197,252,193,196,197,252,193,198,197,252,193,200,197,252,193,202,197,252,193,204,197,252,193,206,197,252,193,234,197,252,193,236,197,252,193,238,197,252,193,240,197,252,193,242,197,252,193,244,197,252,193,246,197,252,193,248,197,252,193,250,197,252,193,252,197,252,193,254,197,252,193,2,198,252,193,4,198,252,193,6,198,252,193,8,198,252,193,20,198,252,193,22,198,252,193,154,197,252,193,10,198,252,193,24,198,252,193,26,198,252,193,38,198,252,193,40,198,252,193,42,198,252,193,44,198,252,193,56,198,252,193,68,198,252,193,58,198,252,193,60,198,252,193,46,198,252,193,48,198,252,193,62,198,252,193,70,198,252,193,72,198,252,193,74,198,252,193,80,198,252,193,92,198,252,193,94,198,252,193,102,198,252,193,104,198,252,193,106,198,252,193,118,198,252,193,120,198,252,193,122,198,252,193,124,198,252,193,132,198,252,193,134,198,252,193,136,198,252,193,138,198,252,193,140,198,252,193,142,198,252,193,34,198,252,193,84,198,252,193,86,198,252,193,88,198,252,193,112,198,252,193,114,198,252,193,116,198,252,193,126,198,252,193,128,198,252,193,130,198,252,193,154,198,252,193,156,198,252,193,214,198,252,193,224,198,252,193,226,198,252,193,228,198,252,193,230,198,252,193,232,198,252,193,40,199,252,193,44,199,252,193,54,199,252,193,64,199,252,193,66,199,252,193,68,199,252,193,70,199,252,193,72,199,252,193,82,199,252,193,84,199,252,193,86,199,252,193,88,199,252,193,90,199,252,193,92,199,252,193,164,198,252,193,170,198,252,193,178,198,252,193,194,198,252,193,184,198,252,193,186,198,252,193,190,198,252,193,192,198,252,193,196,198,252,193,198,198,252,193,202,198,252,193,208,198,252,193,210,198,252,193,212,198,252,193,218,198,252,193,220,198,252,193,216,198,252,193,222,198,252,193,242,198,252,193,244,198,252,193,246,198,252,193,248,198,252,193,250,198,252,193,252,198,252,193,6,199,252,193,8,199,252,193,10,199,252,193,12,199,252,193,14,199,252,193,18,199,252,193,20,199,252,193,26,199,252,193,236,198,252,193,240,198,252,193,56,199,252,193,94,199,252,193,136,199,252,193,138,199,252,193,156,199,252,193,158,199,252,193,160,199,252,193,162,199,252,193,164,199,252,193,192,199,252,193,194,199,252,193,244,199,252,193,246,199,252,193,248,199,252,193,16,200,252,193,58,200,252,193,78,200,252,193,150,200,252,193,152,200,252,193,228,200,252,193,230,200,252,193,40,201,252,193,100,201,252,193,102,201,252,193,188,201,252,193,190,201,252,193,192,201,252,193,194,201,252,193,196,201,252,193,28,202,252,193,22,199,252,193,24,199,252,193,36,199,252,193,52,199,252,193,76,199,252,193,104,199,252,193,106,199,252,193,108,199,252,193,128,199,252,193,130,199,252,193,148,199,252,193,38,200,252,193,122,200,252,193,124,200,252,193,196,200,252,193,16,201,252,193,160,201,252,193,162,201,252,193,164,201,252,193,4,202,252,193,6,202,252,193,8,202,252,193,94,202,252,193,96,202,252,193,98,202,252,193,162,202,252,193,216,202,252,193,26,203,252,193,82,203,252,193,84,203,252,193,96,203,252,193,98,203,252,193,28,199,252,193,30,199,252,193,34,199,252,193,38,199,252,193,42,199,252,193,46,199,252,193,48,199,252,193,50,199,252,193,58,199,252,193,60,199,252,193,62,199,252,193,74,199,252,193,96,199,252,193,98,199,252,193,100,199,252,193,112,199,252,193,114,199,252,193,116,199,252,193,118,199,252,193,120,199,252,193,140,199,252,193,142,199,252,193,144,199,252,193,166,199,252,193,168,199,252,193,170,199,252,193,172,199,252,193,174,199,252,193,176,199,252,193,178,199,252,193,180,199,252,193,182,199,252,193,110,199,252,193,132,199,252,193,134,199,252,193,150,199,252,193,152,199,252,193,154,199,252,193,188,199,252,193,190,199,252,193,216,199,252,193,218,199,252,193,220,199,252,193,240,199,252,193,242,199,252,193,12,200,252,193,14,200,252,193,54,200,252,193,56,200,252,193,64,200,252,193,66,200,252,193,74,200,252,193,76,200,252,193,82,200,252,193,104,200,252,193,106,200,252,193,128,200,252,193,130,200,252,193,132,200,252,193,134,200,252,193,136,200,252,193,138,200,252,193,140,200,252,193,142,200,252,193,184,199,252,193,186,199,252,193,196,199,252,193,198,199,252,193,200,199,252,193,202,199,252,193,204,199,252,193,206,199,252,193,208,199,252,193,210,199,252,193,212,199,252,193,222,199,252,193,224,199,252,193,226,199,252,193,228,199,252,193,230,199,252,193,232,199,252,193,234,199,252,193,236,199,252,193,250,199,252,193,252,199,252,193,254,199,252,193,2,200,252,193,4,200,252,193,6,200,252,193,8,200,252,193,10,200,252,193,18,200,252,193,20,200,252,193,22,200,252,193,24,200,252,193,40,200,252,193,26,200,252,193,28,200,252,193,30,200,252,193,32,200,252,193,34,200,252,193,42,200,252,193,44,200,252,193,46,200,252,193,48,200,252,193,60,200,252,193,62,200,252,193,68,200,252,193,70,200,252,193,72,200,252,193,80,200,252,193,84,200,252,193,86,200,252,193,88,200,252,193,90,200,252,193,92,200,252,193,94,200,252,193,96,200,252,193,98,200,252,193,108,200,252,193,110,200,252,193,112,200,252,193,114,200,252,193,116,200,252,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,193,100,200,252,193,194,200,252,193,82,201,252,193,84,201,252,193,146,201,252,193,148,201,252,193,150,201,252,193,248,201,252,193,250,201,252,193,88,202,252,193,148,202,252,193,150,202,252,193,152,202,252,193,154,202,252,193,212,202,252,193,214,202,252,193,18,203,252,193,20,203,252,193,54,203,252,193,124,203,252,193,180,203,252,193,196,203,252,193,24,205,252,193,26,205,252,193,28,205,252,193,20,206,252,193,22,206,252,193,24,206,252,193,26,206,252,193,20,207,252,193,22,207,252,193,254,207,252,193,144,200,252,193,146,200,252,193,148,200,252,193,206,200,252,193,208,200,252,193,210,200,252,193,212,200,252,193,214,200,252,193,216,200,252,193,218,200,252,193,220,200,252,193,222,200,252,193,224,200,252,193,226,200,252,193,24,201,252,193,26,201,252,193,28,201,252,193,30,201,252,193,32,201,252,193,34,201,252,193,36,201,252,193,92,201,252,193,94,201,252,193,96,201,252,193,98,201,252,193,166,201,252,193,168,201,252,193,170,201,252,193,172,201,252,193,174,201,252,193,176,201,252,193,178,201,252,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,206,96,73,0,193,232,200,252,193,234,200,252,193,236,200,252,193,238,200,252,193,240,200,252,193,242,200,252,193,244,200,252,193,246,200,252,193,248,200,252,193,250,200,252,193,252,200,252,193,254,200,252,193,2,201,252,193,4,201,252,193,6,201,252,193,8,201,252,193,38,201,252,193,180,201,252,193,182,201,252,193,184,201,252,193,10,202,252,193,12,202,252,193,14,202,252,193,16,202,252,193,18,202,252,193,20,202,252,193,22,202,252,193,24,202,252,193,100,202,252,193,102,202,252,193,218,202,252,193,164,202,252,193,166,202,252,193,168,202,252,193,170,202,252,193,172,202,252,193,220,202,252,193,222,202,252,193,224,202,252,193,226,202,252,193,30,203,252,193,56,203,252,193,58,203,252,193,60,203,252,193,62,203,252,193,100,203,252,193,102,203,252,193,128,203,252,193,42,201,252,193,44,201,252,193,46,201,252,193,104,201,252,193,48,201,252,193,50,201,252,193,52,201,252,193,54,201,252,193,56,201,252,193,58,201,252,193,60,201,252,193,62,201,252,193,64,201,252,193,66,201,252,193,68,201,252,193,70,201,252,193,72,201,252,193,74,201,252,193,76,201,252,193,78,201,252,193,80,201,252,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,206,128,73,0,193,198,201,252,193,200,201,252,193,202,201,252,193,204,201,252,193,206,201,252,193,208,201,252,193,210,201,252,193,212,201,252,193,214,201,252,193,216,201,252,193,218,201,252,193,220,201,252,193,222,201,252,193,224,201,252,193,226,201,252,193,144,201,252,193,228,201,252,193,230,201,252,193,232,201,252,193,234,201,252,193,236,201,252,193,238,201,252,193,240,201,252,193,242,201,252,193,244,201,252,193,246,201,252,193,34,202,252,193,36,202,252,193,38,202,252,193,40,202,252,193,42,202,252,193,44,202,252,193,46,202,252,193,48,202,252,193,50,202,252,193,52,202,252,193,54,202,252,193,56,202,252,193,58,202,252,193,60,202,252,193,62,202,252,193,64,202,252,193,66,202,252,193,68,202,252,193,70,202,252,193,72,202,252,193,74,202,252,193,76,202,252,193,78,202,252,193,80,202,252,193,82,202,252,193,84,202,252,206,160,73,0,206,160,73,0,206,160,73,0,206,160,73,0,193,2,202,252,193,90,202,252,193,92,202,252,193,156,202,252,193,158,202,252,193,160,202,252,193,22,203,252,193,24,203,252,193,80,203,252,193,126,203,252,193,140,203,252,193,182,203,252,193,204,203,252,193,212,203,252,193,214,203,252,193,84,204,252,193,30,205,252,193,32,205,252,193,34,205,252,193,36,205,252,193,28,206,252,193,30,206,252,193,32,206,252,193,24,207,252,193,26,207,252,193,28,207,252,193,30,207,252,193,6,208,252,193,8,208,252,193,10,208,252,193,12,208,252,193,14,208,252,193,30,202,252,193,104,202,252,193,106,202,252,193,108,202,252,193,174,202,252,193,176,202,252,193,178,202,252,193,180,202,252,193,230,202,252,193,64,203,252,193,104,203,252,193,174,203,252,193,244,203,252,193,246,203,252,193,58,204,252,193,60,204,252,193,166,204,252,193,168,204,252,193,170,204,252,193,172,204,252,193,174,204,252,193,176,204,252,193,178,204,252,193,180,204,252,193,182,204,252,193,184,204,252,193,186,204,252,193,188,204,252,193,190,204,252,193,192,204,252,193,152,205,252,193,154,205,252,206,160,73,0,206,160,73,0,206,160,73,0,206,160,73,0,206,160,73,0,206,160,73,0,206,160,73,0,193,86,202,252,193,132,202,252,193,134,202,252,193,136,202,252,193,138,202,252,193,140,202,252,193,142,202,252,193,144,202,252,193,146,202,252,193,182,202,252,193,184,202,252,193,186,202,252,193,188,202,252,193,190,202,252,193,192,202,252,193,194,202,252,193,196,202,252,193,198,202,252,193,200,202,252,193,202,202,252,193,204,202,252,193,206,202,252,193,208,202,252,193,210,202,252,193,232,202,252,193,234,202,252,193,236,202,252,193,238,202,252,193,240,202,252,193,242,202,252,193,244,202,252,193,246,202,252,193,248,202,252,193,250,202,252,193,252,202,252,193,254,202,252,193,2,203,252,193,4,203,252,193,6,203,252,193,8,203,252,193,10,203,252,193,12,203,252,193,14,203,252,193,16,203,252,193,32,203,252,193,34,203,252,193,36,203,252,193,38,203,252,193,40,203,252,193,42,203,252,193,44,203,252,193,46,203,252,193,48,203,252,193,50,203,252,193,52,203,252,193,66,203,252,193,68,203,252,193,70,203,252,193,72,203,252,193,74,203,252,193,76,203,252,193,78,203,252,193,86,203,252,193,88,203,252,193,90,203,252,193,92,203,252,193,94,203,252,193,106,203,252,193,108,203,252,193,110,203,252,193,112,203,252,193,114,203,252,193,116,203,252,193,120,203,252,193,122,203,252,193,132,203,252,193,138,203,252,193,144,203,252,193,154,203,252,193,156,203,252,193,158,203,252,193,162,203,252,193,164,203,252,193,166,203,252,193,176,203,252,193,178,203,252,193,190,203,252,193,192,203,252,193,194,203,252,193,118,203,252,193,134,203,252,193,142,203,252,193,146,203,252,193,184,203,252,193,206,203,252,193,208,203,252,193,228,203,252,193,86,204,252,193,88,204,252,193,90,204,252,193,38,205,252,193,34,206,252,193,36,206,252,193,38,206,252,193,40,206,252,193,32,207,252,193,34,207,252,193,36,207,252,193,38,207,252,193,20,208,252,193,22,208,252,193,24,208,252,193,26,208,252,193,28,208,252,193,30,208,252,193,80,209,252,193,82,209,252,193,84,209,252,193,86,209,252,193,88,209,252,193,90,209,252,193,130,203,252,193,148,203,252,193,150,203,252,193,152,203,252,193,168,203,252,193,170,203,252,193,172,203,252,193,186,203,252,193,188,203,252,193,226,203,252,193,230,203,252,193,234,203,252,193,236,203,252,193,238,203,252,193,240,203,252,193,242,203,252,193,24,204,252,193,26,204,252,193,28,204,252,193,30,204,252,193,32,204,252,193,34,204,252,193,36,204,252,193,38,204,252,193,40,204,252,193,42,204,252,193,44,204,252,193,46,204,252,193,48,204,252,193,50,204,252,193,52,204,252,193,54,204,252,193,198,203,252,193,200,203,252,193,202,203,252,193,210,203,252,193,216,203,252,193,218,203,252,193,220,203,252,193,222,203,252,193,224,203,252,193,248,203,252,193,250,203,252,193,252,203,252,193,254,203,252,193,2,204,252,193,4,204,252,193,6,204,252,193,8,204,252,193,10,204,252,193,12,204,252,193,14,204,252,193,62,204,252,193,64,204,252,193,66,204,252,193,68,204,252,193,70,204,252,193,72,204,252,193,74,204,252,193,76,204,252,193,78,204,252,193,80,204,252,193,82,204,252,193,194,204,252,193,18,204,252,193,20,204,252,193,22,204,252,193,92,204,252,193,94,204,252,193,96,204,252,193,98,204,252,193,40,205,252,193,42,205,252,193,44,205,252,193,46,205,252,193,48,205,252,193,50,205,252,193,52,205,252,193,54,205,252,193,56,205,252,193,58,205,252,193,60,205,252,193,42,206,252,193,44,206,252,193,46,206,252,193,48,206,252,193,50,206,252,193,52,206,252,193,54,206,252,193,56,206,252,193,58,206,252,193,60,206,252,193,62,206,252,193,40,207,252,193,42,207,252,193,44,207,252,193,56,204,252,193,100,204,252,193,102,204,252,193,104,204,252,193,106,204,252,193,108,204,252,193,110,204,252,193,112,204,252,193,114,204,252,193,116,204,252,193,118,204,252,193,120,204,252,193,122,204,252,193,124,204,252,193,126,204,252,193,128,204,252,193,130,204,252,193,132,204,252,193,134,204,252,193,136,204,252,193,138,204,252,193,140,204,252,193,142,204,252,193,144,204,252,193,146,204,252,193,148,204,252,193,150,204,252,193,152,204,252,193,154,204,252,193,156,204,252,193,158,204,252,193,160,204,252,193,162,204,252,193,164,204,252,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,192,73,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,224,73,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,206,32,74,0,193,150,205,252,193,120,206,252,193,122,206,252,193,124,206,252,193,126,206,252,193,128,206,252,193,130,206,252,193,132,206,252,193,134,206,252,193,136,206,252,193,138,206,252,193,140,206,252,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,193,156,205,252,193,158,205,252,193,160,205,252,193,162,205,252,193,164,205,252,193,166,205,252,193,142,206,252,193,144,206,252,193,146,206,252,193,148,206,252,193,150,206,252,193,152,206,252,193,154,206,252,193,156,206,252,193,158,206,252,193,128,207,252,193,130,207,252,193,132,207,252,193,134,207,252,193,136,207,252,193,138,207,252,193,140,207,252,193,142,207,252,193,144,207,252,193,146,207,252,193,148,207,252,193,150,207,252,193,152,207,252,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,206,0,74,0,193,164,206,252,193,166,206,252,193,168,206,252,193,170,206,252,193,172,206,252,193,174,206,252,193,176,206,252,193,178,206,252,193,180,206,252,193,182,206,252,193,184,206,252,193,186,206,252,193,188,206,252,193,190,206,252,193,192,206,252,193,194,206,252,193,196,206,252,193,198,206,252,193,200,206,252,193,202,206,252,193,204,206,252,193,206,206,252,193,208,206,252,193,210,206,252,193,212,206,252,193,214,206,252,193,216,206,252,193,218,206,252,193,220,206,252,193,222,206,252,193,224,206,252,193,226,206,252,193,228,206,252,193,230,206,252,193,232,206,252,193,234,206,252,193,236,206,252,193,238,206,252,193,240,206,252,193,242,206,252,193,244,206,252,193,246,206,252,193,248,206,252,193,250,206,252,193,252,206,252,193,254,206,252,193,2,207,252,193,4,207,252,193,6,207,252,193,8,207,252,193,10,207,252,193,12,207,252,193,14,207,252,193,16,207,252,193,18,207,252,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,193,46,207,252,193,48,207,252,193,50,207,252,193,52,207,252,193,54,207,252,193,32,208,252,193,34,208,252,193,36,208,252,193,38,208,252,193,40,208,252,193,42,208,252,193,94,209,252,193,96,209,252,193,98,209,252,193,100,209,252,193,102,209,252,193,104,209,252,193,106,209,252,193,108,209,252,193,110,209,252,193,112,209,252,193,120,210,252,193,122,210,252,193,124,210,252,193,126,210,252,193,128,210,252,193,130,210,252,193,132,210,252,193,134,210,252,193,136,210,252,193,138,210,252,193,140,210,252,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,64,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,96,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,206,192,74,0,193,2,208,252,193,4,208,252,193,60,209,252,193,62,209,252,193,64,209,252,193,66,209,252,193,96,210,252,193,98,210,252,193,100,210,252,193,80,211,252,193,82,211,252,193,84,211,252,193,86,211,252,193,88,211,252,193,90,211,252,193,32,212,252,193,34,212,252,193,36,212,252,193,38,212,252,193,40,212,252,193,42,212,252,193,12,213,252,193,14,213,252,193,16,213,252,193,18,213,252,193,204,213,252,193,206,213,252,193,208,213,252,193,50,214,252,193,52,214,252,193,142,214,252,193,144,214,252,193,16,208,252,193,18,208,252,193,68,209,252,193,70,209,252,193,72,209,252,193,74,209,252,193,76,209,252,193,78,209,252,193,102,210,252,193,104,210,252,193,106,210,252,193,108,210,252,193,94,211,252,193,96,211,252,193,98,211,252,193,44,212,252,193,46,212,252,193,48,212,252,193,50,212,252,193,52,212,252,193,20,213,252,193,22,213,252,193,24,213,252,193,26,213,252,193,28,213,252,193,210,213,252,193,212,213,252,193,214,213,252,193,54,214,252,193,56,214,252,193,214,214,252,193,252,214,252,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,128,74,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,206,160,74,0,193,190,209,252,193,192,209,252,193,194,209,252,193,196,209,252,193,198,209,252,193,200,209,252,193,202,209,252,193,204,209,252,193,206,209,252,193,208,209,252,193,210,209,252,193,212,209,252,193,214,209,252,193,216,209,252,193,218,209,252,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,224,74,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,193,92,209,252,193,110,210,252,193,112,210,252,193,114,210,252,193,116,210,252,193,118,210,252,193,100,211,252,193,102,211,252,193,104,211,252,193,106,211,252,193,108,211,252,193,110,211,252,193,112,211,252,193,114,211,252,193,116,211,252,193,118,211,252,193,120,211,252,193,54,212,252,193,56,212,252,193,58,212,252,193,60,212,252,193,62,212,252,193,64,212,252,193,66,212,252,193,68,212,252,193,70,212,252,193,30,213,252,193,32,213,252,193,34,213,252,193,36,213,252,193,38,213,252,193,40,213,252,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,206,0,75,0,193,144,210,252,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,32,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,193,92,210,252,193,94,210,252,193,74,211,252,193,76,211,252,193,78,211,252,193,200,211,252,193,202,211,252,193,204,211,252,193,206,211,252,193,208,211,252,193,210,211,252,193,212,211,252,193,214,211,252,193,142,210,252,193,122,211,252,193,124,211,252,193,126,211,252,193,128,211,252,193,130,211,252,193,132,211,252,193,134,211,252,193,136,211,252,193,138,211,252,193,140,211,252,193,142,211,252,193,72,212,252,193,74,212,252,193,76,212,252,193,78,212,252,193,80,212,252,193,82,212,252,193,84,212,252,193,86,212,252,193,42,213,252,193,44,213,252,193,46,213,252,193,48,213,252,193,50,213,252,193,52,213,252,193,54,213,252,193,56,213,252,193,58,213,252,193,60,213,252,193,220,213,252,193,222,213,252,193,146,210,252,193,148,210,252,193,150,210,252,193,152,210,252,193,154,210,252,193,156,210,252,193,158,210,252,193,160,210,252,193,162,210,252,193,164,210,252,193,166,210,252,193,168,210,252,193,170,210,252,193,172,210,252,193,174,210,252,193,176,210,252,193,178,210,252,193,180,210,252,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,128,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,206,64,75,0,193,180,211,252,193,182,211,252,193,184,211,252,193,186,211,252,193,188,211,252,193,190,211,252,193,192,211,252,193,194,211,252,193,196,211,252,193,198,211,252,193,126,212,252,193,128,212,252,193,130,212,252,193,132,212,252,193,134,212,252,193,136,212,252,193,138,212,252,193,140,212,252,193,142,212,252,193,106,213,252,193,108,213,252,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,206,96,75,0,193,216,211,252,193,218,211,252,193,220,211,252,193,222,211,252,193,224,211,252,193,226,211,252,193,228,211,252,193,230,211,252,193,232,211,252,193,234,211,252,193,236,211,252,193,238,211,252,193,240,211,252,193,242,211,252,193,244,211,252,193,246,211,252,193,248,211,252,193,250,211,252,193,252,211,252,193,254,211,252,193,2,212,252,193,4,212,252,193,6,212,252,193,8,212,252,193,10,212,252,193,12,212,252,193,14,212,252,193,16,212,252,193,18,212,252,193,20,212,252,193,22,212,252,193,24,212,252,193,26,212,252,193,28,212,252,193,30,212,252,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,206,160,75,0,193,114,213,252,193,116,213,252,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,206,224,75,0,193,10,213,252,193,202,213,252,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,206,192,75,0,193,226,213,252,193,228,213,252,193,230,213,252,193,232,213,252,193,234,213,252,193,236,213,252,193,238,213,252,193,74,214,252,193,76,214,252,193,160,214,252,193,78,214,252,193,80,214,252,193,162,214,252,193,164,214,252,193,166,214,252,193,168,214,252,193,224,214,252,193,254,214,252,193,2,215,252,193,110,213,252,193,112,213,252,193,240,213,252,193,242,213,252,193,244,213,252,193,246,213,252,193,82,214,252,193,84,214,252,193,86,214,252,193,170,214,252,193,172,214,252,193,228,214,252,193,230,214,252,193,232,214,252,193,234,214,252,193,4,215,252,193,124,215,252,193,200,215,252,193,164,216,252,193,208,216,252,193,54,217,252,193,78,217,252,193,148,217,252,193,178,217,252,193,212,217,252,193,126,218,252,193,128,218,252,193,150,218,252,193,248,218,252,193,102,219,252,193,108,219,252,193,114,219,252,193,216,213,252,193,218,213,252,193,58,214,252,193,60,214,252,193,62,214,252,193,64,214,252,193,66,214,252,193,146,214,252,193,148,214,252,193,150,214,252,193,216,214,252,193,68,215,252,193,94,215,252,193,102,215,252,193,132,215,252,193,134,215,252,193,168,215,252,193,170,215,252,193,172,215,252,193,188,215,252,193,16,216,252,193,18,216,252,193,30,216,252,193,32,216,252,193,34,216,252,193,54,216,252,193,60,216,252,193,62,216,252,193,72,216,252,193,136,216,252,193,138,216,252,193,146,216,252,193,224,213,252,193,68,214,252,193,70,214,252,193,72,214,252,193,152,214,252,193,154,214,252,193,156,214,252,193,158,214,252,193,218,214,252,193,220,214,252,193,222,214,252,193,22,215,252,193,74,215,252,193,86,215,252,193,106,215,252,193,122,215,252,193,136,215,252,193,152,215,252,193,174,215,252,193,176,215,252,193,242,215,252,193,36,216,252,193,56,216,252,193,124,216,252,193,172,217,252,193,174,217,252,193,206,217,252,193,18,218,252,193,62,218,252,193,168,218,252,193,170,218,252,193,172,218,252,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,0,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,206,32,76,0,193,174,214,252,193,176,214,252,193,178,214,252,193,180,214,252,193,182,214,252,193,184,214,252,193,186,214,252,193,188,214,252,193,190,214,252,193,192,214,252,193,194,214,252,193,196,214,252,193,198,214,252,193,200,214,252,193,202,214,252,193,204,214,252,193,206,214,252,193,208,214,252,193,210,214,252,193,236,214,252,193,238,214,252,193,240,214,252,193,242,214,252,193,244,214,252,193,246,214,252,193,248,214,252,193,6,215,252,193,8,215,252,193,10,215,252,193,12,215,252,193,14,215,252,193,16,215,252,193,18,215,252,193,32,215,252,193,34,215,252,193,36,215,252,193,38,215,252,193,40,215,252,193,42,215,252,193,44,215,252,193,46,215,252,193,48,215,252,193,50,215,252,193,52,215,252,193,56,215,252,193,58,215,252,193,60,215,252,193,62,215,252,193,64,215,252,193,70,215,252,193,72,215,252,193,76,215,252,193,78,215,252,193,80,215,252,193,82,215,252,193,84,215,252,193,96,215,252,193,92,215,252,193,104,215,252,193,24,215,252,193,26,215,252,193,28,215,252,193,90,215,252,193,98,215,252,193,100,215,252,193,138,215,252,193,158,215,252,193,190,215,252,193,192,215,252,193,222,215,252,193,226,215,252,193,244,215,252,193,246,215,252,193,38,216,252,193,40,216,252,193,42,216,252,193,74,216,252,193,90,216,252,193,152,216,252,193,162,216,252,193,190,216,252,193,192,216,252,193,194,216,252,193,196,216,252,193,206,216,252,193,214,216,252,193,234,216,252,193,10,217,252,193,20,217,252,193,22,217,252,193,32,217,252,193,54,215,252,193,66,215,252,193,118,215,252,193,120,215,252,193,130,215,252,193,150,215,252,193,156,215,252,193,182,215,252,193,184,215,252,193,198,215,252,193,212,215,252,193,216,215,252,193,28,216,252,193,70,216,252,193,106,216,252,193,122,216,252,193,134,216,252,193,160,216,252,193,176,216,252,193,202,216,252,193,246,216,252,193,248,216,252,193,4,217,252,193,8,217,252,193,46,217,252,193,48,217,252,193,140,217,252,193,200,217,252,193,230,217,252,193,250,217,252,193,16,218,252,193,34,218,252,193,108,215,252,193,110,215,252,193,112,215,252,193,114,215,252,193,126,215,252,193,128,215,252,193,140,215,252,193,142,215,252,193,144,215,252,193,146,215,252,193,186,215,252,193,160,215,252,193,162,215,252,193,178,215,252,193,164,215,252,193,180,215,252,193,194,215,252,193,196,215,252,193,202,215,252,193,204,215,252,193,208,215,252,193,210,215,252,193,214,215,252,193,218,215,252,193,220,215,252,193,224,215,252,193,228,215,252,193,230,215,252,193,232,215,252,193,234,215,252,193,236,215,252,193,238,215,252,193,240,215,252,193,248,215,252,193,250,215,252,193,252,215,252,193,254,215,252,193,2,216,252,193,4,216,252,193,6,216,252,193,8,216,252,193,10,216,252,193,12,216,252,193,14,216,252,193,20,216,252,193,22,216,252,193,24,216,252,193,26,216,252,193,44,216,252,193,46,216,252,193,48,216,252,193,50,216,252,193,58,216,252,193,64,216,252,193,66,216,252,193,68,216,252,193,76,216,252,193,78,216,252,193,80,216,252,193,82,216,252,193,84,216,252,193,86,216,252,193,92,216,252,193,94,216,252,193,96,216,252,193,98,216,252,193,100,216,252,193,102,216,252,193,104,216,252,193,108,216,252,193,112,216,252,193,114,216,252,193,116,216,252,193,118,216,252,193,120,216,252,193,126,216,252,193,128,216,252,193,130,216,252,193,132,216,252,193,140,216,252,193,142,216,252,193,144,216,252,193,148,216,252,193,154,216,252,193,156,216,252,193,158,216,252,193,166,216,252,193,168,216,252,193,170,216,252,193,172,216,252,193,174,216,252,193,182,216,252,193,184,216,252,193,186,216,252,193,188,216,252,193,198,216,252,193,178,216,252,193,180,216,252,193,204,216,252,193,226,216,252,193,6,217,252,193,30,217,252,193,72,217,252,193,74,217,252,193,112,217,252,193,114,217,252,193,116,217,252,193,118,217,252,193,120,217,252,193,142,217,252,193,144,217,252,193,170,217,252,193,202,217,252,193,204,217,252,193,82,218,252,193,94,218,252,193,120,218,252,193,122,218,252,193,164,218,252,193,166,218,252,193,204,218,252,193,240,218,252,193,16,219,252,193,18,219,252,193,20,219,252,193,22,219,252,193,24,219,252,193,40,219,252,193,62,217,252,193,64,217,252,193,66,217,252,193,68,217,252,193,70,217,252,193,80,217,252,193,82,217,252,193,44,217,252,193,84,217,252,193,86,217,252,193,88,217,252,193,90,217,252,193,92,217,252,193,98,217,252,193,100,217,252,193,102,217,252,193,104,217,252,193,106,217,252,193,108,217,252,193,124,217,252,193,126,217,252,193,128,217,252,193,130,217,252,193,132,217,252,193,134,217,252,193,136,217,252,193,138,217,252,206,64,76,0,206,64,76,0,206,64,76,0,206,64,76,0,206,64,76,0,193,50,217,252,193,52,217,252,193,76,217,252,193,94,217,252,193,96,217,252,193,122,217,252,193,208,217,252,193,146,217,252,193,176,217,252,193,210,217,252,193,252,217,252,193,20,218,252,193,106,218,252,193,110,218,252,193,112,218,252,193,114,218,252,193,124,218,252,193,148,218,252,193,174,218,252,193,216,218,252,193,218,218,252,193,220,218,252,193,244,218,252,193,246,218,252,193,28,219,252,193,52,219,252,193,64,219,252,193,90,219,252,193,96,219,252,193,98,219,252,193,100,219,252,193,128,219,252,193,36,218,252,193,68,218,252,193,74,218,252,193,88,218,252,193,96,218,252,193,160,218,252,193,162,218,252,193,202,218,252,193,238,218,252,193,8,219,252,193,10,219,252,193,12,219,252,193,14,219,252,193,48,219,252,193,60,219,252,193,70,219,252,193,72,219,252,193,150,219,252,193,182,219,252,193,104,220,252,193,162,220,252,193,242,220,252,193,244,220,252,193,70,221,252,193,128,221,252,193,130,221,252,193,132,221,252,193,182,221,252,193,58,222,252,193,176,222,252,193,200,222,252,193,4,223,252,193,84,218,252,193,90,218,252,193,92,218,252,193,98,218,252,193,100,218,252,193,102,218,252,193,108,218,252,193,118,218,252,193,130,218,252,193,132,218,252,193,134,218,252,193,136,218,252,193,138,218,252,193,140,218,252,193,142,218,252,193,144,218,252,193,146,218,252,193,152,218,252,193,154,218,252,193,156,218,252,193,158,218,252,193,176,218,252,193,178,218,252,193,180,218,252,193,182,218,252,193,184,218,252,193,186,218,252,193,188,218,252,193,190,218,252,193,194,218,252,193,196,218,252,193,222,218,252,193,192,218,252,193,206,218,252,193,208,218,252,193,210,218,252,193,212,218,252,193,214,218,252,193,242,218,252,193,26,219,252,193,50,219,252,193,62,219,252,193,94,219,252,193,242,219,252,193,58,220,252,193,174,220,252,193,250,220,252,193,72,221,252,193,74,221,252,193,76,221,252,193,134,221,252,193,246,221,252,193,114,222,252,193,146,222,252,193,170,222,252,193,172,222,252,193,184,222,252,193,202,222,252,193,234,222,252,193,240,222,252,193,72,223,252,193,74,223,252,193,76,223,252,193,78,223,252,193,224,218,252,193,226,218,252,193,228,218,252,193,230,218,252,193,232,218,252,193,234,218,252,193,236,218,252,193,250,218,252,193,252,218,252,193,254,218,252,193,2,219,252,193,4,219,252,193,6,219,252,193,30,219,252,193,32,219,252,193,34,219,252,193,36,219,252,193,42,219,252,193,44,219,252,193,46,219,252,193,54,219,252,193,56,219,252,193,58,219,252,193,66,219,252,193,74,219,252,193,76,219,252,193,78,219,252,193,82,219,252,193,84,219,252,193,88,219,252,193,104,219,252,193,106,219,252,193,86,219,252,193,92,219,252,193,124,219,252,193,238,219,252,193,240,219,252,193,46,220,252,193,48,220,252,193,50,220,252,193,52,220,252,193,54,220,252,193,56,220,252,193,106,220,252,193,108,220,252,193,164,220,252,193,166,220,252,193,168,220,252,193,170,220,252,193,172,220,252,193,246,220,252,193,248,220,252,193,184,221,252,193,60,222,252,193,82,222,252,193,84,222,252,193,124,222,252,193,126,222,252,193,134,222,252,193,142,222,252,193,144,222,252,193,216,222,252,193,250,222,252,193,152,224,252,193,110,219,252,193,112,219,252,193,118,219,252,193,116,219,252,193,120,219,252,193,122,219,252,193,126,219,252,193,132,219,252,193,138,219,252,193,140,219,252,193,142,219,252,193,144,219,252,193,146,219,252,193,148,219,252,193,166,219,252,193,168,219,252,193,170,219,252,193,172,219,252,193,174,219,252,193,176,219,252,193,178,219,252,193,214,219,252,193,216,219,252,193,218,219,252,193,220,219,252,193,222,219,252,193,224,219,252,193,226,219,252,193,228,219,252,193,230,219,252,193,232,219,252,193,234,219,252,193,134,219,252,193,152,219,252,193,154,219,252,193,156,219,252,193,158,219,252,193,184,219,252,193,186,219,252,193,188,219,252,193,190,219,252,193,192,219,252,193,194,219,252,193,196,219,252,193,198,219,252,193,200,219,252,193,202,219,252,193,204,219,252,193,206,219,252,193,208,219,252,193,244,219,252,193,246,219,252,193,248,219,252,193,250,219,252,193,252,219,252,193,254,219,252,193,2,220,252,193,4,220,252,193,6,220,252,193,8,220,252,193,60,220,252,193,62,220,252,193,64,220,252,193,66,220,252,193,136,219,252,193,160,219,252,193,162,219,252,193,164,219,252,193,210,219,252,193,212,219,252,193,10,220,252,193,12,220,252,193,14,220,252,193,16,220,252,193,68,220,252,193,70,220,252,193,72,220,252,193,74,220,252,193,76,220,252,193,130,220,252,193,132,220,252,193,184,220,252,193,186,220,252,193,188,220,252,193,190,220,252,193,192,220,252,193,194,220,252,193,196,220,252,193,198,220,252,193,12,221,252,193,14,221,252,193,16,221,252,193,88,221,252,193,90,221,252,193,92,221,252,193,144,221,252,193,236,219,252,193,18,220,252,193,20,220,252,193,22,220,252,193,24,220,252,193,26,220,252,193,28,220,252,193,30,220,252,193,32,220,252,193,34,220,252,193,36,220,252,193,38,220,252,193,40,220,252,193,42,220,252,193,44,220,252,193,78,220,252,193,80,220,252,193,82,220,252,193,84,220,252,193,134,220,252,193,86,220,252,193,88,220,252,193,90,220,252,193,92,220,252,193,94,220,252,193,96,220,252,193,98,220,252,193,100,220,252,193,102,220,252,193,136,220,252,193,138,220,252,193,140,220,252,193,110,220,252,193,112,220,252,193,114,220,252,193,116,220,252,193,118,220,252,193,120,220,252,193,122,220,252,193,124,220,252,193,126,220,252,193,128,220,252,193,176,220,252,193,178,220,252,193,180,220,252,193,182,220,252,193,252,220,252,193,254,220,252,193,2,221,252,193,4,221,252,193,6,221,252,193,8,221,252,193,10,221,252,193,78,221,252,193,80,221,252,193,82,221,252,193,84,221,252,193,86,221,252,193,136,221,252,193,138,221,252,193,140,221,252,193,142,221,252,193,186,221,252,193,188,221,252,193,142,220,252,193,144,220,252,193,146,220,252,193,148,220,252,193,150,220,252,193,152,220,252,193,154,220,252,193,156,220,252,193,158,220,252,193,160,220,252,193,200,220,252,193,202,220,252,193,204,220,252,193,206,220,252,193,208,220,252,193,210,220,252,193,212,220,252,193,214,220,252,193,216,220,252,193,218,220,252,193,220,220,252,193,222,220,252,193,224,220,252,193,226,220,252,193,228,220,252,193,230,220,252,193,232,220,252,193,234,220,252,193,236,220,252,193,18,221,252,193,20,221,252,193,22,221,252,193,20,101,253,193,22,101,253,193,194,101,253,193,196,101,253,193,198,101,253,193,200,101,253,193,202,101,253,193,204,101,253,193,206,101,253,193,208,101,253,193,210,101,253,193,212,101,253,193,214,101,253,193,216,101,253,193,218,101,253,193,220,101,253,193,222,101,253,193,224,101,253,193,226,101,253,193,228,101,253,193,230,101,253,193,232,101,253,193,234,101,253,193,236,101,253,193,238,101,253,193,240,101,253,193,242,101,253,193,244,101,253,193,246,101,253,193,248,101,253,193,238,220,252,193,250,101,253,193,24,221,252,193,26,221,252,193,28,221,252,193,30,221,252,193,32,221,252,193,34,221,252,193,36,221,252,193,38,221,252,193,40,221,252,193,42,221,252,193,44,221,252,193,46,221,252,193,48,221,252,193,50,221,252,193,52,221,252,193,54,221,252,193,56,221,252,193,58,221,252,193,60,221,252,193,62,221,252,193,94,221,252,193,96,221,252,193,98,221,252,193,100,221,252,193,102,221,252,193,104,221,252,193,106,221,252,193,108,221,252,193,110,221,252,193,112,221,252,193,114,221,252,193,64,221,252,193,116,221,252,193,118,221,252,193,120,221,252,193,122,221,252,193,124,221,252,193,126,221,252,193,158,221,252,193,160,221,252,193,162,221,252,193,164,221,252,193,166,221,252,193,168,221,252,193,170,221,252,193,172,221,252,193,174,221,252,193,176,221,252,193,178,221,252,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,206,96,76,0,193,146,221,252,193,148,221,252,193,150,221,252,193,152,221,252,193,154,221,252,193,156,221,252,193,192,221,252,193,194,221,252,193,196,221,252,193,30,222,252,193,148,222,252,193,156,222,252,193,218,222,252,193,220,222,252,193,236,222,252,193,238,222,252,193,252,222,252,193,10,223,252,193,38,223,252,193,40,223,252,193,42,223,252,193,122,223,252,193,124,223,252,193,126,223,252,193,128,223,252,193,130,223,252,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,193,190,221,252,193,248,221,252,193,250,221,252,193,252,221,252,193,254,221,252,193,2,222,252,193,22,222,252,193,24,222,252,193,26,222,252,193,28,222,252,193,44,222,252,193,62,222,252,193,86,222,252,193,92,222,252,193,106,222,252,193,108,222,252,193,110,222,252,193,130,222,252,193,140,222,252,193,152,222,252,193,154,222,252,193,186,222,252,193,242,222,252,193,254,222,252,193,6,223,252,193,8,223,252,193,12,223,252,193,22,223,252,193,24,223,252,193,26,223,252,193,28,223,252,193,30,223,252,193,42,222,252,193,76,222,252,193,78,222,252,193,80,222,252,193,232,222,252,193,66,223,252,193,68,223,252,193,168,223,252,193,170,223,252,193,136,224,252,193,138,224,252,193,140,224,252,193,142,224,252,193,144,224,252,193,192,225,252,193,194,225,252,193,196,225,252,193,198,225,252,193,200,225,252,193,202,225,252,193,204,225,252,193,206,225,252,193,86,227,252,193,88,227,252,193,90,227,252,193,92,227,252,193,94,227,252,193,96,227,252,193,98,227,252,193,100,227,252,193,102,227,252,193,100,229,252,193,70,222,252,193,72,222,252,193,74,222,252,193,88,222,252,193,90,222,252,193,94,222,252,193,96,222,252,193,98,222,252,193,102,222,252,193,100,222,252,193,104,222,252,193,112,222,252,193,116,222,252,193,118,222,252,193,120,222,252,193,122,222,252,193,128,222,252,193,132,222,252,193,136,222,252,193,150,222,252,193,158,222,252,193,160,222,252,193,162,222,252,193,164,222,252,193,166,222,252,193,168,222,252,193,174,222,252,193,178,222,252,193,180,222,252,193,182,222,252,193,188,222,252,193,190,222,252,193,192,222,252,193,194,222,252,193,196,222,252,193,198,222,252,193,204,222,252,193,206,222,252,193,208,222,252,193,210,222,252,193,212,222,252,193,214,222,252,193,222,222,252,193,224,222,252,193,226,222,252,193,228,222,252,193,230,222,252,193,244,222,252,193,246,222,252,193,248,222,252,193,2,223,252,193,16,223,252,193,18,223,252,193,20,223,252,193,44,223,252,193,46,223,252,193,48,223,252,193,50,223,252,193,52,223,252,193,54,223,252,193,56,223,252,193,58,223,252,193,60,223,252,193,62,223,252,193,32,223,252,193,34,223,252,193,36,223,252,193,80,223,252,193,82,223,252,193,84,223,252,193,86,223,252,193,88,223,252,193,90,223,252,193,92,223,252,193,94,223,252,193,96,223,252,193,98,223,252,193,100,223,252,193,102,223,252,193,104,223,252,193,106,223,252,193,108,223,252,193,110,223,252,193,112,223,252,193,114,223,252,193,116,223,252,193,118,223,252,193,120,223,252,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,193,64,223,252,193,132,223,252,193,134,223,252,193,136,223,252,193,138,223,252,193,140,223,252,193,142,223,252,193,144,223,252,193,146,223,252,193,148,223,252,193,150,223,252,193,152,223,252,193,154,223,252,193,156,223,252,193,158,223,252,193,160,223,252,193,162,223,252,193,164,223,252,193,166,223,252,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,193,70,223,252,193,172,223,252,193,174,223,252,193,146,224,252,193,148,224,252,193,150,224,252,193,212,225,252,193,214,225,252,193,106,227,252,193,108,227,252,193,110,227,252,193,112,227,252,193,114,227,252,193,116,227,252,193,118,227,252,193,140,229,252,193,142,229,252,193,144,229,252,193,146,229,252,193,148,229,252,193,150,229,252,193,152,229,252,193,154,229,252,193,156,229,252,193,158,229,252,193,160,229,252,193,162,229,252,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,193,176,223,252,193,178,223,252,193,180,223,252,193,162,224,252,193,164,224,252,193,166,224,252,193,168,224,252,193,170,224,252,193,172,224,252,193,174,224,252,193,176,224,252,193,222,225,252,193,224,225,252,193,226,225,252,193,228,225,252,193,230,225,252,193,232,225,252,193,234,225,252,193,156,227,252,193,158,227,252,193,160,227,252,193,162,227,252,193,164,227,252,193,166,227,252,193,168,227,252,193,170,227,252,193,172,227,252,193,174,227,252,193,176,227,252,193,178,227,252,193,210,229,252,193,212,229,252,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,206,128,76,0,193,178,224,252,193,6,224,252,193,8,224,252,193,10,224,252,193,12,224,252,193,14,224,252,193,16,224,252,193,18,224,252,193,20,224,252,193,22,224,252,193,24,224,252,193,26,224,252,193,28,224,252,193,30,224,252,193,32,224,252,193,34,224,252,193,36,224,252,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,193,2,226,252,193,4,226,252,193,6,226,252,193,182,227,252,193,8,226,252,193,10,226,252,193,12,226,252,193,14,226,252,193,16,226,252,193,18,226,252,193,20,226,252,193,22,226,252,193,24,226,252,193,26,226,252,193,28,226,252,193,30,226,252,193,32,226,252,193,34,226,252,193,36,226,252,193,38,226,252,193,40,226,252,193,42,226,252,193,44,226,252,193,46,226,252,193,48,226,252,193,50,226,252,193,52,226,252,193,54,226,252,193,56,226,252,193,58,226,252,193,38,224,252,193,60,226,252,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,206,160,76,0,193,64,225,252,193,66,225,252,193,68,225,252,193,70,225,252,193,72,225,252,193,74,225,252,193,76,225,252,193,78,225,252,193,80,225,252,193,82,225,252,193,158,226,252,193,160,226,252,193,162,226,252,193,164,226,252,193,166,226,252,193,168,226,252,193,170,226,252,193,172,226,252,193,174,226,252,193,176,226,252,193,178,226,252,193,180,226,252,193,182,226,252,193,184,226,252,193,186,226,252,193,188,226,252,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,192,76,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,193,154,224,252,193,156,224,252,193,158,224,252,193,160,224,252,193,216,225,252,193,218,225,252,193,220,225,252,193,120,227,252,193,122,227,252,193,124,227,252,193,126,227,252,193,128,227,252,193,130,227,252,193,132,227,252,193,134,227,252,193,136,227,252,193,138,227,252,193,140,227,252,193,142,227,252,193,144,227,252,193,146,227,252,193,148,227,252,193,150,227,252,193,152,227,252,193,154,227,252,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,206,224,76,0,193,236,225,252,193,58,225,252,193,60,225,252,193,62,225,252,193,238,225,252,193,240,225,252,193,242,225,252,193,244,225,252,193,246,225,252,193,248,225,252,193,250,225,252,193,180,227,252,193,252,225,252,193,254,225,252,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,0,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,193,62,226,252,193,64,226,252,193,66,226,252,193,68,226,252,193,70,226,252,193,72,226,252,193,74,226,252,193,76,226,252,193,78,226,252,193,80,226,252,193,82,226,252,193,84,226,252,193,86,226,252,193,88,226,252,193,90,226,252,193,92,226,252,193,94,226,252,193,96,226,252,193,98,226,252,193,244,229,252,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,32,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,193,190,226,252,193,192,226,252,193,86,228,252,193,88,228,252,193,90,228,252,193,92,228,252,193,94,228,252,193,96,228,252,193,98,228,252,193,100,228,252,193,102,228,252,193,104,228,252,193,106,228,252,193,108,228,252,193,110,228,252,193,112,228,252,193,114,228,252,193,116,228,252,193,118,228,252,193,120,228,252,193,122,228,252,193,210,230,252,193,124,228,252,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,64,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,206,96,77,0,193,190,232,252,193,52,228,252,193,54,228,252,193,56,228,252,193,58,228,252,193,60,228,252,193,62,228,252,193,64,228,252,193,66,228,252,193,68,228,252,193,70,228,252,193,72,228,252,193,74,228,252,193,76,228,252,193,78,228,252,193,80,228,252,193,82,228,252,206,0,78,0,206,0,78,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,206,128,77,0,193,4,231,252,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,206,160,77,0,193,6,231,252,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,192,77,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,193,102,229,252,193,104,229,252,193,106,229,252,193,108,229,252,193,110,229,252,193,112,229,252,193,114,229,252,193,116,229,252,193,118,229,252,193,120,229,252,193,122,229,252,193,124,229,252,193,126,229,252,193,128,229,252,193,130,229,252,193,132,229,252,193,56,232,252,193,58,232,252,193,60,232,252,193,62,232,252,193,64,232,252,193,66,232,252,193,68,232,252,193,70,232,252,193,72,232,252,193,74,232,252,193,76,232,252,193,78,232,252,193,80,232,252,193,82,232,252,193,84,232,252,193,86,232,252,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,206,224,77,0,193,124,232,252,193,126,232,252,193,128,232,252,193,130,232,252,193,132,232,252,193,134,232,252,193,136,232,252,193,138,232,252,193,140,232,252,193,142,232,252,193,144,232,252,193,146,232,252,193,148,232,252,193,150,232,252,193,152,232,252,193,154,232,252,193,214,229,252,193,216,229,252,193,218,229,252,193,220,229,252,193,222,229,252,193,224,229,252,193,226,229,252,193,228,229,252,193,230,229,252,193,232,229,252,193,234,229,252,193,236,229,252,193,238,229,252,193,240,229,252,193,242,229,252,193,162,232,252,193,164,232,252,193,166,232,252,193,168,232,252,193,170,232,252,193,172,232,252,193,174,232,252,193,176,232,252,193,178,232,252,193,180,232,252,193,182,232,252,193,184,232,252,193,186,232,252,193,188,232,252,193,116,235,252,193,118,235,252,193,120,235,252,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,0,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,206,128,78,0,193,206,230,252,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,206,32,78,0,193,142,233,252,193,144,233,252,193,146,233,252,193,148,233,252,193,150,233,252,193,152,233,252,193,154,233,252,193,156,233,252,193,158,233,252,193,160,233,252,193,162,233,252,193,164,233,252,193,166,233,252,193,168,233,252,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,64,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,193,88,232,252,193,232,234,252,193,234,234,252,193,236,234,252,193,238,234,252,193,240,234,252,193,242,234,252,193,244,234,252,193,246,234,252,193,248,234,252,193,250,234,252,193,252,234,252,193,254,234,252,193,2,235,252,193,4,235,252,193,6,235,252,193,8,235,252,193,10,235,252,193,12,235,252,193,14,235,252,193,16,235,252,193,18,235,252,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,206,96,78,0,193,24,235,252,193,26,235,252,193,28,235,252,193,30,235,252,193,32,235,252,193,34,235,252,193,36,235,252,193,38,235,252,193,40,235,252,193,42,235,252,193,44,235,252,193,46,235,252,193,48,235,252,193,50,235,252,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,193,156,232,252,193,158,232,252,193,160,232,252,193,52,235,252,193,54,235,252,193,56,235,252,193,58,235,252,193,60,235,252,193,62,235,252,193,64,235,252,193,66,235,252,193,68,235,252,193,70,235,252,193,72,235,252,193,74,235,252,193,76,235,252,193,78,235,252,193,80,235,252,193,82,235,252,193,84,235,252,193,86,235,252,193,88,235,252,193,90,235,252,193,92,235,252,193,94,235,252,193,96,235,252,193,98,235,252,193,100,235,252,193,102,235,252,193,104,235,252,193,106,235,252,193,108,235,252,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,160,78,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,0,79,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,192,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,206,224,78,0,193,98,236,252,193,182,234,252,193,184,234,252,193,186,234,252,193,188,234,252,193,190,234,252,193,192,234,252,193,194,234,252,193,196,234,252,193,198,234,252,193,200,234,252,193,202,234,252,193,204,234,252,193,206,234,252,193,208,234,252,193,210,234,252,193,212,234,252,193,214,234,252,193,216,234,252,193,218,234,252,193,220,234,252,193,222,234,252,193,224,234,252,193,226,234,252,193,228,234,252,193,230,234,252,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,193,110,235,252,193,112,235,252,193,114,235,252,193,254,237,252,193,2,238,252,193,4,238,252,193,6,238,252,193,8,238,252,193,10,238,252,193,12,238,252,193,14,238,252,193,16,238,252,193,18,238,252,193,20,238,252,193,22,238,252,193,24,238,252,193,26,238,252,193,28,238,252,193,30,238,252,193,32,238,252,193,34,238,252,193,36,238,252,193,38,238,252,193,40,238,252,193,42,238,252,193,44,238,252,193,46,238,252,193,48,238,252,193,50,238,252,193,52,238,252,193,54,238,252,193,56,238,252,193,122,235,252,193,124,235,252,193,126,235,252,193,128,235,252,193,130,235,252,193,132,235,252,193,134,235,252,193,136,235,252,193,138,235,252,193,140,235,252,193,142,235,252,193,60,238,252,193,62,238,252,193,64,238,252,193,66,238,252,193,68,238,252,193,70,238,252,193,72,238,252,193,210,240,252,193,212,240,252,193,214,240,252,193,216,240,252,193,52,243,252,193,54,243,252,193,56,243,252,193,58,243,252,193,60,243,252,193,62,243,252,193,64,243,252,193,98,245,252,193,100,245,252,193,102,245,252,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,206,32,79,0,193,74,238,252,193,58,236,252,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,64,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,206,96,79,0,193,56,239,252,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,206,128,79,0,193,68,240,252,193,70,240,252,193,72,240,252,193,74,240,252,193,76,240,252,193,78,240,252,193,80,240,252,193,82,240,252,193,84,240,252,193,86,240,252,193,88,240,252,193,90,240,252,193,92,240,252,193,94,240,252,193,96,240,252,193,98,240,252,193,100,240,252,193,102,240,252,193,104,240,252,193,106,240,252,193,108,240,252,193,198,242,252,193,200,242,252,193,202,242,252,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,160,79,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,193,58,238,252,193,162,240,252,193,164,240,252,193,166,240,252,193,168,240,252,193,170,240,252,193,172,240,252,193,174,240,252,193,176,240,252,193,178,240,252,193,180,240,252,193,182,240,252,193,184,240,252,193,186,240,252,193,188,240,252,193,190,240,252,193,192,240,252,193,194,240,252,193,196,240,252,193,198,240,252,193,200,240,252,193,202,240,252,193,204,240,252,193,206,240,252,193,208,240,252,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,206,192,79,0,193,218,240,252,193,220,240,252,193,222,240,252,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,224,79,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,193,58,239,252,193,60,239,252,193,62,239,252,193,64,239,252,193,66,239,252,193,68,239,252,193,70,239,252,193,72,239,252,193,74,239,252,193,76,239,252,193,78,239,252,193,80,239,252,193,82,239,252,193,84,239,252,193,86,239,252,193,88,239,252,193,90,239,252,193,92,239,252,193,94,239,252,193,96,239,252,193,98,239,252,193,100,239,252,193,102,239,252,193,104,239,252,193,106,239,252,193,108,239,252,193,110,239,252,193,112,239,252,193,114,239,252,193,116,239,252,193,118,239,252,193,120,239,252,193,122,239,252,193,124,239,252,193,126,239,252,193,128,239,252,193,130,239,252,193,132,239,252,193,134,239,252,193,136,239,252,193,138,239,252,193,140,239,252,193,142,239,252,193,144,239,252,193,146,239,252,193,148,239,252,193,150,239,252,193,152,239,252,193,154,239,252,193,156,239,252,193,158,239,252,193,160,239,252,193,162,239,252,193,164,239,252,193,166,239,252,193,168,239,252,193,170,239,252,193,172,239,252,193,174,239,252,193,176,239,252,193,178,239,252,193,126,241,252,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,206,0,80,0,193,158,252,252,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,206,32,80,0,193,216,242,252,193,218,242,252,193,220,242,252,193,222,242,252,193,224,242,252,193,226,242,252,193,228,242,252,193,230,242,252,193,232,242,252,193,234,242,252,193,236,242,252,193,238,242,252,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,193,224,240,252,193,226,240,252,193,228,240,252,193,230,240,252,193,232,240,252,193,234,240,252,193,236,240,252,193,238,240,252,193,240,240,252,193,242,240,252,193,244,240,252,193,246,240,252,193,248,240,252,193,250,240,252,193,252,240,252,193,254,240,252,193,2,241,252,193,4,241,252,193,6,241,252,193,8,241,252,193,10,241,252,193,12,241,252,193,14,241,252,193,16,241,252,193,18,241,252,193,20,241,252,193,22,241,252,193,24,241,252,193,26,241,252,193,28,241,252,193,30,241,252,193,32,241,252,193,34,241,252,193,36,241,252,193,38,241,252,193,40,241,252,193,42,241,252,193,44,241,252,193,46,241,252,193,48,241,252,193,50,241,252,193,52,241,252,193,54,241,252,193,56,241,252,193,58,241,252,193,60,241,252,193,62,241,252,193,64,241,252,193,66,241,252,193,68,241,252,193,70,241,252,193,72,241,252,193,74,241,252,193,76,241,252,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,206,64,80,0,193,180,243,252,193,182,243,252,193,184,243,252,193,186,243,252,193,188,243,252,193,190,243,252,193,192,243,252,193,194,243,252,193,196,243,252,193,198,243,252,193,200,243,252,193,202,243,252,193,204,243,252,193,200,245,252,193,202,245,252,193,204,245,252,193,206,245,252,193,208,245,252,193,210,245,252,193,212,245,252,193,214,245,252,193,216,245,252,193,218,245,252,193,220,245,252,193,222,245,252,193,134,247,252,193,136,247,252,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,96,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,206,128,80,0,193,206,243,252,193,112,242,252,193,114,242,252,193,116,242,252,193,118,242,252,193,120,242,252,193,122,242,252,193,124,242,252,193,126,242,252,193,128,242,252,193,130,242,252,193,132,242,252,193,134,242,252,193,136,242,252,193,138,242,252,193,140,242,252,193,142,242,252,193,144,242,252,193,146,242,252,193,148,242,252,193,150,242,252,193,152,242,252,193,154,242,252,193,156,242,252,193,158,242,252,193,160,242,252,193,162,242,252,193,164,242,252,193,166,242,252,193,168,242,252,193,170,242,252,193,172,242,252,193,174,242,252,193,176,242,252,193,178,242,252,193,180,242,252,193,182,242,252,193,184,242,252,193,186,242,252,193,188,242,252,193,190,242,252,193,192,242,252,193,194,242,252,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,193,196,242,252,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,193,204,242,252,193,206,242,252,193,208,242,252,193,210,242,252,193,212,242,252,193,214,244,252,193,216,244,252,193,218,244,252,193,220,244,252,193,222,244,252,193,224,244,252,193,226,244,252,193,228,244,252,193,230,244,252,193,232,244,252,193,234,244,252,193,236,244,252,193,238,244,252,193,240,244,252,193,242,244,252,193,244,244,252,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,160,80,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,206,192,80,0,193,120,245,252,193,168,243,252,193,170,243,252,193,172,243,252,193,122,245,252,193,174,243,252,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,224,80,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,0,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,193,72,246,252,193,210,244,252,193,74,246,252,193,76,246,252,193,78,246,252,193,80,246,252,193,82,246,252,193,84,246,252,193,86,246,252,193,88,246,252,193,90,246,252,193,92,246,252,193,94,246,252,193,96,246,252,193,98,246,252,193,100,246,252,193,102,246,252,193,104,246,252,193,106,246,252,193,108,246,252,193,110,246,252,193,112,246,252,193,114,246,252,193,116,246,252,193,212,244,252,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,206,32,81,0,193,228,246,252,193,230,246,252,193,232,246,252,193,234,246,252,193,236,246,252,193,238,246,252,193,240,246,252,193,242,246,252,193,244,246,252,193,246,246,252,193,248,246,252,193,250,246,252,193,252,246,252,193,254,246,252,193,2,247,252,193,4,247,252,193,6,247,252,193,8,247,252,193,100,248,252,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,64,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,193,104,245,252,193,106,245,252,193,108,245,252,193,110,245,252,193,112,245,252,193,114,245,252,193,116,245,252,193,118,245,252,193,64,247,252,193,66,247,252,193,166,248,252,193,168,248,252,193,170,248,252,193,172,248,252,193,174,248,252,193,176,248,252,193,178,248,252,193,234,249,252,193,236,249,252,193,238,249,252,193,220,250,252,193,222,250,252,193,108,251,252,193,110,252,252,193,250,252,252,193,252,252,252,193,254,252,252,193,48,253,252,193,50,253,252,193,52,253,252,193,94,253,252,193,96,253,252,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,96,81,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,193,10,250,252,193,12,250,252,193,242,248,252,193,14,250,252,193,198,245,252,193,16,250,252,193,18,250,252,193,20,250,252,193,22,250,252,193,24,250,252,193,26,250,252,193,28,250,252,193,30,250,252,193,32,250,252,193,34,250,252,193,36,250,252,193,38,250,252,193,110,251,252,193,224,250,252,193,226,250,252,193,228,250,252,193,230,250,252,193,232,250,252,193,234,250,252,193,112,251,252,193,114,251,252,193,116,251,252,193,118,251,252,193,120,251,252,193,122,251,252,193,124,251,252,193,126,251,252,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,206,128,81,0,193,150,247,252,193,152,247,252,193,54,246,252,193,56,246,252,193,58,246,252,193,60,246,252,193,62,246,252,193,64,246,252,193,66,246,252,193,154,247,252,193,68,246,252,193,70,246,252,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,160,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,206,192,81,0,193,86,248,252,193,88,248,252,193,90,248,252,193,92,248,252,193,94,248,252,193,96,248,252,193,98,248,252,193,180,249,252,193,182,249,252,193,184,249,252,193,186,249,252,193,176,250,252,193,178,250,252,193,180,250,252,193,182,250,252,193,74,251,252,193,76,251,252,193,78,251,252,193,202,251,252,193,28,252,252,193,30,252,252,193,32,252,252,193,104,252,252,193,106,252,252,193,204,252,252,193,206,252,252,193,236,252,252,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,224,81,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,206,0,82,0,193,180,248,252,193,120,247,252,193,122,247,252,193,124,247,252,193,126,247,252,193,128,247,252,193,130,247,252,193,132,247,252,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,193,138,247,252,193,140,247,252,193,142,247,252,193,144,247,252,193,146,247,252,193,148,247,252,193,244,248,252,193,246,248,252,193,248,248,252,193,250,248,252,193,252,248,252,193,254,248,252,193,2,249,252,193,4,249,252,193,6,249,252,193,8,249,252,193,10,249,252,193,12,249,252,193,14,249,252,193,40,250,252,193,42,250,252,193,44,250,252,193,46,250,252,193,48,250,252,193,240,250,252,193,242,250,252,193,244,250,252,193,132,251,252,193,134,251,252,193,136,251,252,193,232,251,252,193,46,252,252,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,32,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,193,84,248,252,193,50,250,252,193,178,249,252,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,193,102,248,252,193,104,248,252,193,106,248,252,193,108,248,252,193,110,248,252,193,112,248,252,193,114,248,252,193,116,248,252,193,118,248,252,193,120,248,252,193,122,248,252,193,124,248,252,193,126,248,252,193,128,248,252,193,188,249,252,193,190,249,252,193,192,249,252,193,194,249,252,193,196,249,252,193,198,249,252,193,200,249,252,193,202,249,252,193,184,250,252,193,186,250,252,193,188,250,252,193,190,250,252,193,192,250,252,193,194,250,252,193,80,251,252,193,82,251,252,193,84,251,252,193,86,251,252,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,206,64,82,0,193,204,249,252,193,206,249,252,193,208,249,252,193,210,249,252,193,212,249,252,193,214,249,252,193,216,249,252,193,218,249,252,193,220,249,252,193,222,249,252,193,224,249,252,193,226,249,252,193,228,249,252,193,230,249,252,193,232,249,252,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,206,96,82,0,193,240,249,252,193,238,248,252,193,240,248,252,193,242,249,252,193,244,249,252,193,246,249,252,193,248,249,252,193,250,249,252,193,252,249,252,193,254,249,252,193,2,250,252,193,4,250,252,193,6,250,252,193,8,250,252,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,128,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,160,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,192,82,0,206,192,82,0,206,192,82,0,206,192,82,0,193,88,251,252,193,90,251,252,193,92,251,252,193,94,251,252,193,96,251,252,193,98,251,252,193,100,251,252,193,102,251,252,193,104,251,252,193,106,251,252,193,214,251,252,193,216,251,252,193,218,251,252,193,220,251,252,193,222,251,252,193,36,252,252,193,74,252,252,193,76,252,252,193,108,252,252,193,176,252,252,193,186,252,252,193,188,252,252,193,190,252,252,193,210,252,252,193,212,252,252,193,242,252,252,193,244,252,252,193,246,252,252,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,224,82,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,0,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,193,204,251,252,193,206,251,252,193,208,251,252,193,210,251,252,193,212,251,252,193,34,252,252,193,72,252,252,193,208,252,252,193,238,252,252,193,240,252,252,193,86,253,252,193,126,253,252,193,128,253,252,193,130,253,252,193,18,254,252,193,20,254,252,193,22,254,252,193,84,254,252,193,104,254,252,193,144,254,252,193,30,255,252,193,32,255,252,193,210,255,252,193,212,255,252,193,214,255,252,193,216,255,252,193,218,255,252,193,220,255,252,193,198,2,253,193,200,2,253,193,202,2,253,193,204,2,253,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,206,32,83,0,193,50,252,252,193,52,252,252,193,54,252,252,193,56,252,252,193,58,252,252,193,60,252,252,193,62,252,252,193,140,252,252,193,64,252,252,193,66,252,252,193,68,252,252,193,70,252,252,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,206,64,83,0,193,48,252,252,193,78,252,252,193,114,252,252,193,116,252,252,193,118,252,252,193,136,252,252,193,138,252,252,193,166,252,252,193,182,252,252,193,196,252,252,193,220,252,252,193,222,252,252,193,224,252,252,193,226,252,252,193,14,253,252,193,16,253,252,193,60,253,252,193,62,253,252,193,102,253,252,193,104,253,252,193,106,253,252,193,108,253,252,193,110,253,252,193,188,253,252,193,228,253,252,193,32,254,252,193,62,254,252,193,64,254,252,193,88,254,252,193,156,254,252,193,234,254,252,193,236,254,252,193,230,252,252,193,232,252,252,193,234,252,252,193,18,253,252,193,20,253,252,193,22,253,252,193,24,253,252,193,26,253,252,193,28,253,252,193,30,253,252,193,32,253,252,193,34,253,252,193,36,253,252,193,38,253,252,193,40,253,252,193,42,253,252,193,44,253,252,193,64,253,252,193,66,253,252,193,68,253,252,193,70,253,252,193,72,253,252,193,74,253,252,193,76,253,252,193,78,253,252,193,80,253,252,193,112,253,252,193,114,253,252,193,116,253,252,193,118,253,252,193,120,253,252,193,122,253,252,193,248,252,252,193,46,253,252,193,88,253,252,193,90,253,252,193,92,253,252,193,132,253,252,193,134,253,252,193,216,253,252,193,218,253,252,193,24,254,252,193,26,254,252,193,56,254,252,193,58,254,252,193,86,254,252,193,106,254,252,193,118,254,252,193,152,254,252,193,162,254,252,193,196,254,252,193,34,255,252,193,36,255,252,193,38,255,252,193,40,255,252,193,42,255,252,193,222,255,252,193,224,255,252,193,226,255,252,193,228,255,252,193,230,255,252,193,210,2,253,193,212,2,253,193,214,2,253,193,82,253,252,193,84,253,252,193,176,253,252,193,54,254,252,193,194,254,252,193,26,255,252,193,28,255,252,193,200,255,252,193,202,255,252,193,204,255,252,193,206,255,252,193,208,255,252,193,184,2,253,193,186,2,253,193,188,2,253,193,190,2,253,193,192,2,253,193,194,2,253,193,196,2,253,193,176,3,253,193,178,3,253,193,180,3,253,193,182,3,253,193,184,3,253,193,186,3,253,193,188,3,253,193,190,3,253,193,192,3,253,193,194,3,253,193,190,4,253,193,192,4,253,193,194,4,253,193,124,253,252,193,148,253,252,193,150,253,252,193,152,253,252,193,154,253,252,193,156,253,252,193,158,253,252,193,160,253,252,193,162,253,252,193,164,253,252,193,166,253,252,193,168,253,252,193,170,253,252,193,172,253,252,193,174,253,252,193,190,253,252,193,192,253,252,193,194,253,252,193,196,253,252,193,198,253,252,193,200,253,252,193,202,253,252,193,204,253,252,193,206,253,252,193,208,253,252,193,210,253,252,193,212,253,252,193,214,253,252,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,193,136,253,252,193,138,253,252,193,140,253,252,193,142,253,252,193,178,253,252,193,180,253,252,193,182,253,252,193,220,253,252,193,134,254,252,193,198,254,252,193,44,255,252,193,232,255,252,193,234,255,252,193,236,255,252,193,238,255,252,193,240,255,252,193,242,255,252,193,244,255,252,193,246,255,252,193,218,2,253,193,220,2,253,193,222,2,253,193,224,2,253,193,226,2,253,193,224,3,253,193,226,3,253,193,240,4,253,193,242,4,253,193,244,4,253,193,246,4,253,193,248,4,253,193,80,6,253,193,144,253,252,193,146,253,252,193,184,253,252,193,186,253,252,193,222,253,252,193,224,253,252,193,226,253,252,193,28,254,252,193,30,254,252,193,60,254,252,193,146,254,252,193,150,254,252,193,154,254,252,193,164,254,252,193,166,254,252,193,168,254,252,193,170,254,252,193,172,254,252,193,174,254,252,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,206,96,83,0,193,34,254,252,193,36,254,252,193,38,254,252,193,40,254,252,193,42,254,252,193,44,254,252,193,46,254,252,193,48,254,252,193,50,254,252,193,52,254,252,193,66,254,252,193,68,254,252,193,70,254,252,193,72,254,252,193,74,254,252,193,76,254,252,193,78,254,252,193,90,254,252,193,80,254,252,193,82,254,252,193,92,254,252,193,94,254,252,193,96,254,252,193,98,254,252,193,100,254,252,193,102,254,252,193,108,254,252,193,110,254,252,193,112,254,252,193,114,254,252,193,116,254,252,193,110,161,253,193,120,254,252,193,122,254,252,193,124,254,252,193,126,254,252,193,128,254,252,193,130,254,252,193,132,254,252,193,136,254,252,193,138,254,252,193,140,254,252,193,142,254,252,193,148,254,252,193,158,254,252,193,160,254,252,193,176,254,252,193,178,254,252,193,180,254,252,193,182,254,252,193,184,254,252,193,186,254,252,193,188,254,252,193,190,254,252,193,192,254,252,193,242,254,252,193,244,254,252,193,246,254,252,193,248,254,252,193,250,254,252,193,252,254,252,193,254,254,252,193,2,255,252,193,4,255,252,193,6,255,252,193,8,255,252,193,10,255,252,193,12,255,252,193,14,255,252,193,16,255,252,193,18,255,252,193,20,255,252,193,22,255,252,193,24,255,252,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,128,83,0,206,128,83,0,206,128,83,0,206,128,83,0,193,46,255,252,193,48,255,252,193,50,255,252,193,52,255,252,193,228,2,253,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,193,238,254,252,193,124,255,252,193,126,255,252,193,128,255,252,193,68,2,253,193,70,2,253,193,72,2,253,193,74,2,253,193,76,2,253,193,78,2,253,193,80,2,253,193,82,2,253,193,84,2,253,193,48,3,253,193,50,3,253,193,52,3,253,193,54,3,253,193,56,3,253,193,58,3,253,193,60,3,253,193,62,3,253,193,64,3,253,193,50,4,253,193,52,4,253,193,54,4,253,193,56,4,253,193,58,4,253,193,60,4,253,193,62,4,253,193,64,4,253,193,66,4,253,193,96,5,253,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,206,160,83,0,193,248,255,252,193,122,255,252,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,206,192,83,0,193,86,2,253,193,88,2,253,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,206,224,83,0,193,230,2,253,193,232,2,253,193,234,2,253,193,236,2,253,193,238,2,253,193,240,2,253,193,228,3,253,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,193,240,249,252,193,66,2,253,193,156,35,253,193,178,55,253,193,86,79,253,193,170,81,253,193,102,90,253,193,218,102,253,193,88,104,253,193,30,129,253,193,14,158,253,193,98,158,253,193,188,159,253,193,250,201,253,193,66,89,253,193,204,131,253,193,126,14,251,193,160,21,251,193,68,26,251,193,4,43,251,193,12,44,251,193,46,48,251,193,92,67,251,193,34,72,251,193,50,76,251,193,94,92,251,193,16,215,253,193,76,134,251,193,8,135,251,193,176,174,251,193,108,178,251,193,254,182,251,193,90,2,253,193,92,2,253,193,94,2,253,193,96,2,253,193,98,2,253,193,100,2,253,193,102,2,253,193,104,2,253,193,106,2,253,193,108,2,253,193,110,2,253,193,112,2,253,193,114,2,253,193,116,2,253,193,118,2,253,193,120,2,253,193,122,2,253,193,124,2,253,193,126,2,253,193,128,2,253,193,130,2,253,193,132,2,253,193,134,2,253,193,136,2,253,193,138,2,253,193,140,2,253,193,142,2,253,193,144,2,253,193,146,2,253,193,148,2,253,193,150,2,253,193,152,2,253,193,154,2,253,193,156,2,253,193,158,2,253,193,160,2,253,193,162,2,253,193,164,2,253,193,166,2,253,193,168,2,253,193,170,2,253,193,172,2,253,193,174,2,253,193,176,2,253,193,178,2,253,193,180,2,253,193,182,2,253,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,193,206,2,253,193,208,2,253,193,196,3,253,193,198,3,253,193,200,3,253,193,202,3,253,193,204,3,253,193,206,3,253,193,200,4,253,193,202,4,253,193,204,4,253,193,206,4,253,193,208,4,253,193,210,4,253,193,40,6,253,193,42,6,253,193,44,6,253,193,46,6,253,193,48,6,253,193,50,6,253,193,52,6,253,193,54,6,253,193,56,6,253,193,58,6,253,193,60,6,253,193,62,6,253,193,64,6,253,193,148,7,253,193,150,7,253,193,152,7,253,193,154,7,253,193,218,8,253,193,216,2,253,193,208,3,253,193,210,3,253,193,212,3,253,193,214,3,253,193,216,3,253,193,218,3,253,193,220,3,253,193,222,3,253,193,212,4,253,193,214,4,253,193,216,4,253,193,218,4,253,193,220,4,253,193,222,4,253,193,224,4,253,193,226,4,253,193,228,4,253,193,230,4,253,193,232,4,253,193,234,4,253,193,236,4,253,193,238,4,253,193,66,6,253,193,68,6,253,193,70,6,253,193,72,6,253,193,74,6,253,193,76,6,253,193,78,6,253,193,156,7,253,193,158,7,253,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,0,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,206,32,84,0,193,68,4,253,193,122,3,253,193,124,3,253,193,70,4,253,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,206,64,84,0,193,72,4,253,193,74,4,253,193,76,4,253,193,78,4,253,193,80,4,253,193,82,4,253,193,84,4,253,193,86,4,253,193,88,4,253,193,90,4,253,193,92,4,253,193,94,4,253,193,96,4,253,193,98,4,253,193,100,4,253,193,102,4,253,193,104,4,253,193,106,4,253,193,108,4,253,193,110,4,253,193,112,4,253,193,114,4,253,193,122,5,253,193,116,4,253,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,96,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,206,128,84,0,193,46,4,253,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,206,160,84,0,193,48,4,253,193,86,5,253,193,88,5,253,193,90,5,253,193,92,5,253,193,94,5,253,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,193,118,4,253,193,120,4,253,193,122,4,253,193,124,4,253,193,126,4,253,193,128,4,253,193,130,4,253,193,132,4,253,193,134,4,253,193,136,4,253,193,138,4,253,193,140,4,253,193,142,4,253,193,144,4,253,193,146,4,253,193,148,4,253,193,150,4,253,193,152,4,253,193,154,4,253,193,156,4,253,193,158,4,253,193,160,4,253,193,162,4,253,193,164,4,253,193,166,4,253,193,168,4,253,193,170,4,253,193,172,4,253,193,174,4,253,193,176,4,253,193,178,4,253,193,180,4,253,193,182,4,253,193,184,4,253,193,186,4,253,193,124,5,253,193,126,5,253,193,128,5,253,193,130,5,253,193,132,5,253,193,134,5,253,193,136,5,253,193,138,5,253,193,140,5,253,193,142,5,253,193,144,5,253,193,146,5,253,193,148,5,253,193,150,5,253,193,152,5,253,193,154,5,253,193,156,5,253,193,158,5,253,193,160,5,253,193,162,5,253,193,164,5,253,193,166,5,253,193,168,5,253,193,170,5,253,193,172,5,253,193,174,5,253,193,176,5,253,193,188,4,253,193,178,5,253,193,196,4,253,193,198,4,253,193,24,6,253,193,26,6,253,193,28,6,253,193,30,6,253,193,32,6,253,193,34,6,253,193,36,6,253,193,38,6,253,193,138,7,253,193,140,7,253,193,142,7,253,193,144,7,253,193,146,7,253,193,204,8,253,193,206,8,253,193,208,8,253,193,210,8,253,193,212,8,253,193,214,8,253,193,216,8,253,193,28,10,253,193,30,10,253,193,32,10,253,193,34,10,253,193,42,11,253,193,44,11,253,193,46,11,253,193,48,11,253,193,50,11,253,193,10,12,253,193,98,5,253,193,100,5,253,193,102,5,253,193,104,5,253,193,106,5,253,193,108,5,253,193,110,5,253,193,112,5,253,193,114,5,253,193,116,5,253,193,118,5,253,193,208,6,253,193,210,6,253,193,212,6,253,193,214,6,253,193,216,6,253,193,218,6,253,193,220,6,253,193,222,6,253,193,224,6,253,193,226,6,253,193,120,5,253,193,228,6,253,193,16,8,253,193,18,8,253,193,20,8,253,193,22,8,253,193,24,8,253,193,26,8,253,193,28,8,253,193,30,8,253,193,98,9,253,193,180,5,253,193,182,5,253,193,184,5,253,193,186,5,253,193,188,5,253,193,190,5,253,193,192,5,253,193,194,5,253,193,196,5,253,193,198,5,253,193,200,5,253,193,202,5,253,193,204,5,253,193,206,5,253,193,208,5,253,193,210,5,253,193,230,6,253,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,192,84,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,193,82,6,253,193,84,6,253,193,86,6,253,193,88,6,253,193,90,6,253,193,92,6,253,193,94,6,253,193,96,6,253,193,98,6,253,193,100,6,253,193,176,7,253,193,178,7,253,193,180,7,253,193,182,7,253,193,252,8,253,193,254,8,253,193,2,9,253,193,4,9,253,193,6,9,253,193,8,9,253,193,10,9,253,193,12,9,253,193,60,10,253,193,62,10,253,193,64,10,253,193,66,10,253,193,68,10,253,193,78,11,253,193,80,11,253,193,36,12,253,193,38,12,253,193,40,12,253,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,206,224,84,0,193,184,7,253,193,192,6,253,193,194,6,253,193,196,6,253,193,198,6,253,193,200,6,253,193,202,6,253,193,204,6,253,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,193,94,10,253,193,206,6,253,193,96,10,253,193,98,10,253,193,100,10,253,193,102,10,253,193,104,10,253,193,106,10,253,193,108,10,253,193,110,10,253,193,112,10,253,193,114,10,253,193,116,10,253,193,118,10,253,193,120,10,253,193,122,10,253,193,124,10,253,193,126,10,253,193,128,10,253,193,130,10,253,193,132,10,253,193,134,10,253,193,82,11,253,193,84,11,253,193,86,11,253,193,88,11,253,193,90,11,253,193,92,11,253,193,94,11,253,193,96,11,253,193,98,11,253,193,100,11,253,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,0,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,206,64,85,0,193,136,7,253,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,193,160,7,253,193,162,7,253,193,164,7,253,193,166,7,253,193,168,7,253,193,170,7,253,193,172,7,253,193,174,7,253,193,230,8,253,193,232,8,253,193,234,8,253,193,236,8,253,193,238,8,253,193,240,8,253,193,242,8,253,193,244,8,253,193,246,8,253,193,248,8,253,193,250,8,253,193,44,10,253,193,46,10,253,193,48,10,253,193,50,10,253,193,52,10,253,193,54,10,253,193,56,10,253,193,58,10,253,193,64,11,253,193,66,11,253,193,68,11,253,193,70,11,253,193,72,11,253,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,32,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,206,128,85,0,193,70,10,253,193,72,10,253,193,74,10,253,193,76,10,253,193,14,8,253,193,78,10,253,193,80,10,253,193,82,10,253,193,84,10,253,193,86,10,253,193,88,10,253,193,90,10,253,193,92,10,253,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,96,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,193,220,8,253,193,222,8,253,193,224,8,253,193,226,8,253,193,228,8,253,193,36,10,253,193,38,10,253,193,40,10,253,193,42,10,253,193,52,11,253,193,54,11,253,193,56,11,253,193,58,11,253,193,60,11,253,193,62,11,253,193,18,12,253,193,20,12,253,193,22,12,253,193,164,12,253,193,166,12,253,193,168,12,253,193,170,12,253,193,172,12,253,193,174,12,253,193,58,13,253,193,178,13,253,193,250,13,253,193,96,14,253,193,16,15,253,193,120,15,253,193,158,15,253,193,160,15,253,193,102,11,253,193,96,9,253,193,104,11,253,193,106,11,253,193,108,11,253,193,110,11,253,193,112,11,253,193,114,11,253,193,116,11,253,193,118,11,253,193,120,11,253,193,122,11,253,193,124,11,253,193,126,11,253,193,136,10,253,193,128,11,253,193,44,12,253,193,46,12,253,193,48,12,253,193,50,12,253,193,52,12,253,193,54,12,253,193,56,12,253,193,58,12,253,193,60,12,253,193,62,12,253,206,64,86,0,206,64,86,0,206,64,86,0,206,64,86,0,206,64,86,0,206,64,86,0,193,100,9,253,193,102,9,253,193,104,9,253,193,106,9,253,193,108,9,253,193,110,9,253,193,112,9,253,193,114,9,253,193,116,9,253,193,118,9,253,193,120,9,253,193,122,9,253,193,124,9,253,193,126,9,253,193,128,9,253,193,138,10,253,193,140,10,253,193,142,10,253,193,144,10,253,193,146,10,253,193,130,11,253,193,132,11,253,193,134,11,253,193,136,11,253,193,138,11,253,193,140,11,253,193,142,11,253,193,144,11,253,193,64,12,253,193,66,12,253,193,68,12,253,193,70,12,253,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,160,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,192,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,224,85,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,193,74,11,253,193,76,11,253,193,24,12,253,193,26,12,253,193,28,12,253,193,30,12,253,193,32,12,253,193,34,12,253,193,176,12,253,193,178,12,253,193,180,12,253,193,182,12,253,193,60,13,253,193,62,13,253,193,64,13,253,193,66,13,253,193,68,13,253,193,70,13,253,193,180,13,253,193,252,13,253,193,254,13,253,193,2,14,253,193,4,14,253,193,60,14,253,193,98,14,253,193,100,14,253,193,120,14,253,193,168,14,253,193,204,14,253,193,212,14,253,193,252,14,253,193,254,14,253,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,0,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,193,12,12,253,193,14,12,253,193,16,12,253,193,156,12,253,193,158,12,253,193,160,12,253,193,54,13,253,193,56,13,253,193,176,13,253,193,180,14,253,193,238,14,253,193,250,14,253,193,78,15,253,193,174,15,253,193,202,15,253,193,250,15,253,193,32,16,253,193,48,16,253,193,20,17,253,193,22,17,253,193,24,17,253,193,204,17,253,193,206,17,253,193,208,17,253,193,136,18,253,193,138,18,253,193,140,18,253,193,142,18,253,193,144,18,253,193,64,19,253,193,40,20,253,193,42,20,253,193,42,12,253,193,184,12,253,193,186,12,253,193,188,12,253,193,72,13,253,193,182,13,253,193,62,14,253,193,2,15,253,193,20,15,253,193,80,15,253,193,204,15,253,193,222,15,253,193,224,15,253,193,226,15,253,193,234,15,253,193,34,16,253,193,84,16,253,193,46,17,253,193,240,17,253,193,242,17,253,193,244,17,253,193,246,17,253,193,248,17,253,193,250,17,253,193,252,17,253,193,178,18,253,193,180,18,253,193,106,19,253,193,108,19,253,193,110,19,253,193,112,19,253,193,114,19,253,193,72,12,253,193,74,12,253,193,214,12,253,193,216,12,253,193,218,12,253,193,90,13,253,193,92,13,253,193,94,13,253,193,96,13,253,193,98,13,253,193,198,13,253,193,200,13,253,193,202,13,253,193,66,14,253,193,152,14,253,193,218,14,253,193,226,14,253,193,242,14,253,193,22,15,253,193,34,15,253,193,50,15,253,193,148,15,253,193,184,15,253,193,10,16,253,193,12,16,253,193,38,16,253,193,62,16,253,193,64,16,253,193,100,16,253,193,102,16,253,193,104,16,253,193,204,16,253,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,32,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,64,86,0,206,64,86,0,206,64,86,0,206,64,86,0,206,64,86,0,193,74,13,253,193,76,13,253,193,78,13,253,193,80,13,253,193,82,13,253,193,84,13,253,193,86,13,253,193,88,13,253,193,184,13,253,193,186,13,253,193,188,13,253,193,190,13,253,193,192,13,253,193,194,13,253,193,196,13,253,193,212,12,253,193,6,14,253,193,8,14,253,193,10,14,253,193,12,14,253,193,14,14,253,193,16,14,253,193,64,14,253,193,102,14,253,193,122,14,253,193,124,14,253,193,150,14,253,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,206,96,86,0,193,100,13,253,193,102,13,253,193,104,13,253,193,106,13,253,193,108,13,253,193,110,13,253,193,112,13,253,193,114,13,253,193,116,13,253,193,118,13,253,193,120,13,253,193,122,13,253,193,124,13,253,193,126,13,253,193,128,13,253,193,130,13,253,193,132,13,253,193,134,13,253,193,136,13,253,193,138,13,253,193,140,13,253,193,142,13,253,193,144,13,253,193,146,13,253,193,148,13,253,193,150,13,253,193,152,13,253,193,154,13,253,193,156,13,253,193,158,13,253,193,160,13,253,193,162,13,253,193,164,13,253,193,166,13,253,193,168,13,253,193,170,13,253,193,172,13,253,193,174,13,253,193,204,13,253,193,206,13,253,193,208,13,253,193,210,13,253,193,212,13,253,193,214,13,253,193,216,13,253,193,218,13,253,193,220,13,253,193,222,13,253,193,224,13,253,193,226,13,253,193,228,13,253,193,230,13,253,193,232,13,253,193,234,13,253,193,18,14,253,193,236,13,253,193,238,13,253,193,240,13,253,193,242,13,253,193,244,13,253,193,246,13,253,193,248,13,253,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,206,128,86,0,193,68,14,253,193,70,14,253,193,72,14,253,193,74,14,253,193,76,14,253,193,78,14,253,193,80,14,253,193,82,14,253,193,84,14,253,193,86,14,253,193,88,14,253,193,90,14,253,193,92,14,253,193,94,14,253,193,104,14,253,193,106,14,253,193,108,14,253,193,110,14,253,193,112,14,253,193,114,14,253,193,116,14,253,193,126,14,253,193,128,14,253,193,130,14,253,193,132,14,253,193,134,14,253,193,136,14,253,193,118,14,253,193,138,14,253,193,140,14,253,193,142,14,253,193,144,14,253,193,146,14,253,193,148,14,253,193,154,14,253,193,156,14,253,193,158,14,253,193,160,14,253,193,162,14,253,193,164,14,253,193,166,14,253,193,172,14,253,193,174,14,253,193,176,14,253,193,178,14,253,193,182,14,253,193,184,14,253,193,186,14,253,193,188,14,253,193,18,206,253,193,190,14,253,193,192,14,253,193,194,14,253,193,196,14,253,193,198,14,253,193,200,14,253,193,206,14,253,193,208,14,253,193,210,14,253,193,220,14,253,193,228,14,253,193,230,14,253,193,232,14,253,193,234,14,253,193,236,14,253,193,244,14,253,193,246,14,253,193,248,14,253,193,12,15,253,193,14,15,253,193,24,15,253,193,26,15,253,193,28,15,253,193,30,15,253,193,32,15,253,193,36,15,253,193,38,15,253,193,40,15,253,193,42,15,253,193,44,15,253,193,46,15,253,193,202,14,253,193,214,14,253,193,216,14,253,193,222,14,253,193,224,14,253,193,240,14,253,193,4,15,253,193,6,15,253,193,8,15,253,193,10,15,253,193,102,15,253,193,114,15,253,193,118,15,253,193,130,15,253,193,132,15,253,193,146,15,253,193,162,15,253,193,164,15,253,193,166,15,253,193,168,15,253,193,170,15,253,193,176,15,253,193,178,15,253,193,180,15,253,193,182,15,253,193,206,15,253,193,236,15,253,193,238,15,253,193,240,15,253,193,242,15,253,193,2,16,253,193,4,16,253,193,18,15,253,193,106,15,253,193,144,15,253,193,220,15,253,193,58,16,253,193,78,16,253,193,80,16,253,193,82,16,253,193,148,16,253,193,32,17,253,193,34,17,253,193,36,17,253,193,38,17,253,193,40,17,253,193,42,17,253,193,44,17,253,193,222,17,253,193,224,17,253,193,226,17,253,193,228,17,253,193,230,17,253,193,232,17,253,193,234,17,253,193,236,17,253,193,238,17,253,193,162,18,253,193,164,18,253,193,166,18,253,193,168,18,253,193,170,18,253,193,172,18,253,193,174,18,253,193,52,15,253,193,54,15,253,193,56,15,253,193,58,15,253,193,48,15,253,193,60,15,253,193,62,15,253,193,64,15,253,193,66,15,253,193,68,15,253,193,70,15,253,193,72,15,253,193,74,15,253,193,76,15,253,193,82,15,253,193,84,15,253,193,86,15,253,193,88,15,253,193,90,15,253,193,92,15,253,193,94,15,253,193,96,15,253,193,98,15,253,193,100,15,253,193,104,15,253,193,108,15,253,193,110,15,253,193,112,15,253,193,116,15,253,193,122,15,253,193,124,15,253,193,126,15,253,193,128,15,253,193,134,15,253,193,136,15,253,193,138,15,253,193,140,15,253,193,142,15,253,193,150,15,253,193,152,15,253,193,154,15,253,193,156,15,253,193,172,15,253,193,188,15,253,193,190,15,253,193,192,15,253,193,194,15,253,193,196,15,253,193,198,15,253,193,200,15,253,193,208,15,253,193,210,15,253,193,212,15,253,193,214,15,253,193,216,15,253,193,218,15,253,193,228,15,253,193,244,15,253,193,230,15,253,193,232,15,253,193,246,15,253,193,248,15,253,193,16,16,253,193,20,16,253,193,254,15,253,193,44,16,253,193,76,16,253,193,138,16,253,193,140,16,253,193,142,16,253,193,144,16,253,193,146,16,253,193,26,17,253,193,28,17,253,193,30,17,253,193,210,17,253,193,212,17,253,193,214,17,253,193,216,17,253,193,218,17,253,193,220,17,253,193,146,18,253,193,148,18,253,193,150,18,253,193,152,18,253,193,154,18,253,193,156,18,253,193,158,18,253,193,160,18,253,193,68,19,253,193,70,19,253,193,72,19,253,193,74,19,253,193,76,19,253,193,54,20,253,193,56,20,253,193,6,16,253,193,8,16,253,193,50,16,253,193,52,16,253,193,54,16,253,193,60,16,253,193,86,16,253,193,88,16,253,193,90,16,253,193,92,16,253,193,94,16,253,193,96,16,253,193,98,16,253,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,193,22,16,253,193,24,16,253,193,28,16,253,193,30,16,253,193,36,16,253,193,42,16,253,193,46,16,253,193,56,16,253,193,66,16,253,193,68,16,253,193,70,16,253,193,72,16,253,193,74,16,253,193,106,16,253,193,108,16,253,193,110,16,253,193,112,16,253,193,114,16,253,193,116,16,253,193,118,16,253,193,120,16,253,193,122,16,253,193,124,16,253,193,126,16,253,193,128,16,253,193,130,16,253,193,132,16,253,193,134,16,253,193,136,16,253,193,210,16,253,193,212,16,253,193,214,16,253,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,160,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,193,206,16,253,193,208,16,253,193,128,17,253,193,130,17,253,193,132,17,253,193,134,17,253,193,136,17,253,193,138,17,253,193,52,18,253,193,54,18,253,193,56,18,253,193,58,18,253,193,60,18,253,193,62,18,253,193,64,18,253,193,238,18,253,193,240,18,253,193,242,18,253,193,244,18,253,193,178,19,253,193,180,19,253,193,182,19,253,193,184,19,253,193,186,19,253,193,188,19,253,193,190,19,253,193,192,19,253,193,194,19,253,193,196,19,253,193,198,19,253,193,200,19,253,193,202,19,253,193,216,16,253,193,218,16,253,193,220,16,253,193,222,16,253,193,224,16,253,193,226,16,253,193,228,16,253,193,230,16,253,193,232,16,253,193,234,16,253,193,236,16,253,193,238,16,253,193,240,16,253,193,242,16,253,193,244,16,253,193,246,16,253,193,248,16,253,193,250,16,253,193,252,16,253,193,254,16,253,193,2,17,253,193,4,17,253,193,6,17,253,193,8,17,253,193,10,17,253,193,12,17,253,193,14,17,253,193,16,17,253,193,18,17,253,193,140,17,253,193,66,18,253,193,142,17,253,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,206,192,86,0,193,254,17,253,193,126,17,253,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,193,144,17,253,193,146,17,253,193,148,17,253,193,150,17,253,193,152,17,253,193,154,17,253,193,156,17,253,193,158,17,253,193,160,17,253,193,162,17,253,193,164,17,253,193,166,17,253,193,168,17,253,193,170,17,253,193,172,17,253,193,174,17,253,193,176,17,253,193,178,17,253,193,180,17,253,193,182,17,253,193,184,17,253,193,186,17,253,193,188,17,253,193,190,17,253,193,192,17,253,193,194,17,253,193,196,17,253,193,198,17,253,193,200,17,253,193,202,17,253,193,68,18,253,193,70,18,253,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,224,86,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,193,72,18,253,193,74,18,253,193,76,18,253,193,78,18,253,193,80,18,253,193,82,18,253,193,84,18,253,193,86,18,253,193,88,18,253,193,90,18,253,193,92,18,253,193,94,18,253,193,96,18,253,193,98,18,253,193,100,18,253,193,102,18,253,193,104,18,253,193,106,18,253,193,108,18,253,193,110,18,253,193,112,18,253,193,114,18,253,193,116,18,253,193,118,18,253,193,120,18,253,193,122,18,253,193,124,18,253,193,126,18,253,193,128,18,253,193,130,18,253,193,132,18,253,193,134,18,253,193,176,18,253,193,78,19,253,193,80,19,253,193,82,19,253,193,84,19,253,193,86,19,253,193,88,19,253,193,90,19,253,193,92,19,253,193,94,19,253,193,96,19,253,193,98,19,253,193,100,19,253,193,102,19,253,193,104,19,253,193,68,20,253,193,70,20,253,193,72,20,253,193,74,20,253,193,76,20,253,193,248,20,253,193,250,20,253,193,252,20,253,193,254,20,253,193,2,21,253,193,4,21,253,193,6,21,253,193,8,21,253,193,10,21,253,193,12,21,253,193,14,21,253,193,16,21,253,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,206,0,87,0,193,82,20,253,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,206,32,87,0,193,210,19,253,193,212,19,253,193,214,19,253,193,216,19,253,193,218,19,253,193,220,19,253,193,222,19,253,193,224,19,253,193,226,19,253,193,228,19,253,193,230,19,253,193,232,19,253,193,234,19,253,193,236,19,253,193,238,19,253,193,240,19,253,193,242,19,253,193,244,19,253,193,246,19,253,193,248,19,253,193,250,19,253,193,252,19,253,193,254,19,253,193,156,20,253,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,193,116,19,253,193,78,20,253,193,80,20,253,193,182,21,253,193,184,21,253,193,186,21,253,193,92,22,253,193,94,22,253,193,96,22,253,193,34,24,253,193,100,24,253,193,234,24,253,193,254,24,253,193,30,25,253,193,170,25,253,193,172,25,253,193,174,25,253,193,32,26,253,193,104,26,253,193,216,26,253,193,66,27,253,193,176,27,253,193,178,27,253,193,192,27,253,193,194,27,253,193,196,27,253,193,214,27,253,193,220,27,253,193,230,27,253,193,234,27,253,193,238,27,253,193,244,27,253,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,206,64,87,0,193,84,20,253,193,86,20,253,193,88,20,253,193,90,20,253,193,92,20,253,193,94,20,253,193,96,20,253,193,98,20,253,193,100,20,253,193,102,20,253,193,104,20,253,193,106,20,253,193,108,20,253,193,110,20,253,193,112,20,253,193,114,20,253,193,116,20,253,193,118,20,253,193,120,20,253,193,122,20,253,193,124,20,253,193,126,20,253,193,128,20,253,193,130,20,253,193,132,20,253,193,20,21,253,193,22,21,253,193,204,19,253,193,206,19,253,193,208,19,253,193,134,20,253,193,136,20,253,193,138,20,253,193,140,20,253,193,142,20,253,193,144,20,253,193,146,20,253,193,148,20,253,193,150,20,253,193,152,20,253,193,154,20,253,193,64,21,253,193,66,21,253,193,68,21,253,193,70,21,253,193,72,21,253,193,74,21,253,193,226,21,253,193,228,21,253,193,230,21,253,193,232,21,253,193,234,21,253,193,236,21,253,193,238,21,253,193,240,21,253,193,242,21,253,193,244,21,253,193,130,22,253,193,132,22,253,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,96,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,193,44,20,253,193,46,20,253,193,48,20,253,193,50,20,253,193,52,20,253,193,240,20,253,193,242,20,253,193,152,21,253,193,154,21,253,193,156,21,253,193,62,22,253,193,64,22,253,193,66,22,253,193,68,22,253,193,70,22,253,193,72,22,253,193,238,22,253,193,240,22,253,193,242,22,253,193,96,23,253,193,98,23,253,193,182,23,253,193,238,23,253,193,56,24,253,193,76,24,253,193,78,24,253,193,180,24,253,193,252,24,253,193,72,25,253,193,164,25,253,193,222,25,253,193,22,26,253,193,58,20,253,193,60,20,253,193,62,20,253,193,64,20,253,193,66,20,253,193,244,20,253,193,246,20,253,193,158,21,253,193,160,21,253,193,162,21,253,193,74,22,253,193,76,22,253,193,78,22,253,193,80,22,253,193,244,22,253,193,246,22,253,193,100,23,253,193,102,23,253,193,184,23,253,193,186,23,253,193,188,23,253,193,240,23,253,193,242,23,253,193,32,24,253,193,168,24,253,193,212,24,253,193,230,24,253,193,10,25,253,193,120,25,253,193,166,25,253,193,92,26,253,193,94,26,253,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,128,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,193,18,21,253,193,164,21,253,193,166,21,253,193,168,21,253,193,170,21,253,193,172,21,253,193,174,21,253,193,176,21,253,193,178,21,253,193,180,21,253,193,82,22,253,193,84,22,253,193,86,22,253,193,88,22,253,193,90,22,253,193,248,22,253,193,250,22,253,193,252,22,253,193,254,22,253,193,2,23,253,193,4,23,253,193,6,23,253,193,8,23,253,193,104,23,253,193,106,23,253,193,108,23,253,193,110,23,253,193,190,23,253,193,192,23,253,193,244,23,253,193,246,23,253,193,182,24,253,193,24,21,253,193,26,21,253,193,28,21,253,193,30,21,253,193,32,21,253,193,34,21,253,193,36,21,253,193,38,21,253,193,40,21,253,193,42,21,253,193,44,21,253,193,46,21,253,193,48,21,253,193,50,21,253,193,52,21,253,193,54,21,253,193,56,21,253,193,58,21,253,193,60,21,253,193,188,21,253,193,62,21,253,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,206,160,87,0,193,246,21,253,193,248,21,253,193,250,21,253,193,252,21,253,193,254,21,253,193,2,22,253,193,4,22,253,193,6,22,253,193,8,22,253,193,10,22,253,193,12,22,253,193,150,21,253,193,14,22,253,193,16,22,253,193,18,22,253,193,20,22,253,193,142,22,253,193,22,22,253,193,24,22,253,193,26,22,253,193,28,22,253,193,30,22,253,193,32,22,253,193,34,22,253,193,36,22,253,193,38,22,253,193,40,22,253,193,42,22,253,193,44,22,253,193,46,22,253,193,48,22,253,193,50,22,253,193,52,22,253,193,54,22,253,193,56,22,253,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,206,192,87,0,193,98,22,253,193,100,22,253,193,102,22,253,193,104,22,253,193,106,22,253,193,108,22,253,193,110,22,253,193,112,22,253,193,114,22,253,193,116,22,253,193,118,22,253,193,120,22,253,193,122,22,253,193,124,22,253,193,224,21,253,193,126,22,253,193,10,23,253,193,12,23,253,193,14,23,253,193,16,23,253,193,18,23,253,193,20,23,253,193,22,23,253,193,24,23,253,193,26,23,253,193,28,23,253,193,58,22,253,193,60,22,253,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,193,134,22,253,193,136,22,253,193,138,22,253,193,140,22,253,193,36,23,253,193,38,23,253,193,124,23,253,193,126,23,253,193,128,23,253,193,130,23,253,193,206,23,253,193,2,24,253,193,42,24,253,193,44,24,253,193,64,24,253,193,66,24,253,193,90,24,253,193,112,24,253,193,152,24,253,193,160,24,253,193,172,24,253,193,190,24,253,193,192,24,253,193,58,25,253,193,60,25,253,193,86,25,253,193,88,25,253,193,90,25,253,193,132,25,253,193,134,25,253,193,136,25,253,193,138,25,253,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,224,87,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,193,30,23,253,193,32,23,253,193,34,23,253,193,112,23,253,193,114,23,253,193,116,23,253,193,118,23,253,193,120,23,253,193,122,23,253,193,194,23,253,193,196,23,253,193,198,23,253,193,200,23,253,193,202,23,253,193,204,23,253,193,248,23,253,193,250,23,253,193,252,23,253,193,254,23,253,193,36,24,253,193,38,24,253,193,58,24,253,193,60,24,253,193,62,24,253,193,80,24,253,193,82,24,253,193,84,24,253,193,86,24,253,193,88,24,253,193,40,24,253,193,136,24,253,193,138,24,253,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,206,0,88,0,193,132,23,253,193,134,23,253,193,136,23,253,193,138,23,253,193,140,23,253,193,142,23,253,193,144,23,253,193,146,23,253,193,148,23,253,193,150,23,253,193,208,23,253,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,206,32,88,0,193,210,23,253,193,212,23,253,193,214,23,253,193,216,23,253,193,218,23,253,193,220,23,253,193,222,23,253,193,224,23,253,193,226,23,253,193,228,23,253,193,230,23,253,193,4,24,253,193,232,23,253,193,234,23,253,193,236,23,253,193,6,24,253,193,8,24,253,193,10,24,253,193,12,24,253,193,14,24,253,193,16,24,253,193,18,24,253,193,20,24,253,193,22,24,253,193,24,24,253,193,26,24,253,193,28,24,253,193,30,24,253,193,46,24,253,193,48,24,253,193,50,24,253,193,52,24,253,193,54,24,253,193,68,24,253,193,70,24,253,193,72,24,253,193,74,24,253,193,92,24,253,193,94,24,253,193,96,24,253,193,98,24,253,193,102,24,253,193,104,24,253,193,106,24,253,193,108,24,253,193,110,24,253,193,114,24,253,193,116,24,253,193,118,24,253,193,120,24,253,193,122,24,253,193,124,24,253,193,126,24,253,193,128,24,253,193,130,24,253,193,132,24,253,193,134,24,253,193,142,24,253,193,144,24,253,193,146,24,253,193,148,24,253,193,154,24,253,193,156,24,253,193,158,24,253,193,162,24,253,193,164,24,253,193,166,24,253,193,174,24,253,193,176,24,253,193,178,24,253,193,194,24,253,193,196,24,253,193,208,24,253,193,210,24,253,193,214,24,253,193,216,24,253,193,218,24,253,193,220,24,253,193,222,24,253,193,224,24,253,193,226,24,253,193,228,24,253,193,236,24,253,193,238,24,253,193,240,24,253,193,246,24,253,193,248,24,253,193,250,24,253,193,2,25,253,193,184,24,253,193,200,24,253,193,202,24,253,193,204,24,253,193,232,24,253,193,242,24,253,193,244,24,253,193,18,25,253,193,22,25,253,193,26,25,253,193,28,25,253,193,34,25,253,193,40,25,253,193,122,25,253,193,168,25,253,193,224,25,253,193,226,25,253,193,228,25,253,193,26,26,253,193,28,26,253,193,30,26,253,193,98,26,253,193,100,26,253,193,102,26,253,193,172,26,253,193,214,26,253,193,36,27,253,193,38,27,253,193,40,27,253,193,42,27,253,193,64,27,253,193,248,27,253,193,6,25,253,193,8,25,253,193,16,25,253,193,20,25,253,193,24,25,253,193,38,25,253,193,44,25,253,193,46,25,253,193,52,25,253,193,62,25,253,193,64,25,253,193,66,25,253,193,68,25,253,193,70,25,253,193,92,25,253,193,94,25,253,193,96,25,253,193,98,25,253,193,100,25,253,193,102,25,253,193,104,25,253,193,106,25,253,193,108,25,253,193,110,25,253,193,112,25,253,193,114,25,253,193,116,25,253,193,118,25,253,206,64,88,0,206,64,88,0,206,64,88,0,206,64,88,0,206,64,88,0,206,64,88,0,206,64,88,0,206,64,88,0,193,184,25,253,193,186,25,253,193,188,25,253,193,190,25,253,193,192,25,253,193,194,25,253,193,196,25,253,193,198,25,253,193,200,25,253,193,202,25,253,193,204,25,253,193,206,25,253,193,208,25,253,193,210,25,253,193,212,25,253,193,214,25,253,193,216,25,253,193,218,25,253,193,220,25,253,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,193,180,25,253,193,182,25,253,193,240,25,253,193,242,25,253,193,42,26,253,193,44,26,253,193,116,26,253,193,118,26,253,193,120,26,253,193,122,26,253,193,184,26,253,193,186,26,253,193,188,26,253,193,226,26,253,193,228,26,253,193,10,27,253,193,12,27,253,193,14,27,253,193,16,27,253,193,18,27,253,193,72,27,253,193,132,27,253,193,140,27,253,193,34,28,253,193,162,28,253,193,164,28,253,193,166,28,253,193,206,28,253,193,252,28,253,193,254,28,253,193,2,29,253,193,4,29,253,193,236,25,253,193,238,25,253,193,34,26,253,193,36,26,253,193,38,26,253,193,40,26,253,193,106,26,253,193,108,26,253,193,110,26,253,193,112,26,253,193,114,26,253,193,174,26,253,193,176,26,253,193,178,26,253,193,180,26,253,193,182,26,253,193,218,26,253,193,220,26,253,193,222,26,253,193,224,26,253,193,254,26,253,193,2,27,253,193,4,27,253,193,6,27,253,193,8,27,253,193,44,27,253,193,46,27,253,193,48,27,253,193,68,27,253,193,70,27,253,193,84,27,253,193,86,27,253,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,206,96,88,0,193,46,26,253,193,48,26,253,193,50,26,253,193,52,26,253,193,54,26,253,193,56,26,253,193,58,26,253,193,60,26,253,193,62,26,253,193,64,26,253,193,66,26,253,193,68,26,253,193,70,26,253,193,72,26,253,193,74,26,253,193,76,26,253,193,78,26,253,193,80,26,253,193,82,26,253,193,84,26,253,193,86,26,253,193,24,26,253,193,90,26,253,193,168,26,253,193,170,26,253,193,250,26,253,193,62,27,253,193,128,27,253,193,130,27,253,193,166,27,253,193,168,27,253,193,182,27,253,193,206,27,253,193,226,27,253,193,236,27,253,193,182,28,253,193,184,28,253,193,104,29,253,193,106,29,253,193,154,30,253,193,156,30,253,193,90,31,253,193,92,31,253,193,54,32,253,193,56,32,253,193,58,32,253,193,60,32,253,193,40,33,253,193,42,33,253,193,34,34,253,193,36,34,253,193,38,34,253,193,60,35,253,193,88,26,253,193,124,26,253,193,126,26,253,193,128,26,253,193,130,26,253,193,132,26,253,193,134,26,253,193,136,26,253,193,138,26,253,193,140,26,253,193,142,26,253,193,144,26,253,193,146,26,253,193,148,26,253,193,150,26,253,193,152,26,253,193,154,26,253,193,156,26,253,193,158,26,253,193,160,26,253,193,162,26,253,193,164,26,253,193,166,26,253,193,190,26,253,193,192,26,253,193,194,26,253,193,196,26,253,193,198,26,253,193,200,26,253,193,202,26,253,193,204,26,253,193,206,26,253,193,96,26,253,193,212,26,253,193,252,26,253,193,32,27,253,193,34,27,253,193,82,27,253,193,104,27,253,193,152,27,253,193,170,27,253,193,172,27,253,193,174,27,253,193,184,27,253,193,190,27,253,193,186,27,253,193,202,27,253,193,208,27,253,193,210,27,253,193,212,27,253,193,218,27,253,193,228,27,253,193,232,27,253,193,132,28,253,193,186,28,253,193,232,28,253,193,54,29,253,193,238,29,253,193,76,30,253,193,78,30,253,193,158,30,253,193,160,30,253,193,162,30,253,193,94,31,253,193,208,26,253,193,210,26,253,193,230,26,253,193,232,26,253,193,234,26,253,193,236,26,253,193,238,26,253,193,240,26,253,193,242,26,253,193,244,26,253,193,246,26,253,193,248,26,253,193,20,27,253,193,22,27,253,193,24,27,253,193,26,27,253,193,28,27,253,193,30,27,253,193,50,27,253,193,52,27,253,193,54,27,253,193,56,27,253,193,58,27,253,193,60,27,253,193,74,27,253,193,76,27,253,193,78,27,253,193,80,27,253,193,90,27,253,193,92,27,253,193,94,27,253,193,96,27,253,193,98,27,253,193,100,27,253,193,106,27,253,193,108,27,253,193,110,27,253,193,112,27,253,193,116,27,253,193,118,27,253,193,120,27,253,193,122,27,253,193,124,27,253,193,126,27,253,193,134,27,253,193,136,27,253,193,138,27,253,193,142,27,253,193,144,27,253,193,146,27,253,193,242,27,253,193,246,27,253,193,2,28,253,193,4,28,253,193,6,28,253,193,10,28,253,193,12,28,253,193,14,28,253,193,16,28,253,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,193,250,27,253,193,18,28,253,193,20,28,253,193,80,28,253,193,82,28,253,193,84,28,253,193,86,28,253,193,88,28,253,193,90,28,253,193,134,28,253,193,136,28,253,193,188,28,253,193,190,28,253,193,192,28,253,193,194,28,253,193,196,28,253,193,234,28,253,193,236,28,253,193,238,28,253,193,56,29,253,193,154,29,253,193,156,29,253,193,216,29,253,193,80,30,253,193,82,30,253,193,164,30,253,193,166,30,253,193,98,31,253,193,100,31,253,193,102,31,253,193,104,31,253,193,66,32,253,193,8,28,253,193,22,28,253,193,138,28,253,193,140,28,253,193,240,28,253,193,242,28,253,193,218,29,253,193,52,30,253,193,84,30,253,193,86,30,253,193,106,31,253,193,84,32,253,193,86,32,253,193,72,33,253,193,74,33,253,193,76,33,253,193,78,33,253,193,80,33,253,193,82,33,253,193,84,33,253,193,86,33,253,193,88,33,253,193,90,33,253,193,92,33,253,193,94,33,253,193,64,34,253,193,66,34,253,193,68,34,253,193,96,35,253,193,98,35,253,193,84,36,253,193,86,36,253,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,206,128,88,0,193,100,28,253,193,102,28,253,193,104,28,253,193,106,28,253,193,108,28,253,193,110,28,253,193,112,28,253,193,114,28,253,193,116,28,253,193,118,28,253,193,120,28,253,193,122,28,253,193,124,28,253,193,126,28,253,193,128,28,253,193,130,28,253,193,168,28,253,193,170,28,253,193,172,28,253,193,174,28,253,193,176,28,253,193,178,28,253,193,180,28,253,193,208,28,253,193,210,28,253,193,212,28,253,193,214,28,253,193,216,28,253,193,218,28,253,193,220,28,253,193,222,28,253,193,224,28,253,193,226,28,253,193,228,28,253,193,230,28,253,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,193,146,28,253,193,148,28,253,193,150,28,253,193,152,28,253,193,154,28,253,193,156,28,253,193,158,28,253,193,160,28,253,193,198,28,253,193,200,28,253,193,202,28,253,193,204,28,253,193,244,28,253,193,246,28,253,193,248,28,253,193,250,28,253,193,58,29,253,193,60,29,253,193,108,29,253,193,110,29,253,193,158,29,253,193,186,29,253,193,188,29,253,193,220,29,253,193,222,29,253,193,224,29,253,193,240,29,253,193,250,29,253,193,252,29,253,193,10,30,253,193,12,30,253,193,22,30,253,193,6,29,253,193,62,29,253,193,64,29,253,193,66,29,253,193,68,29,253,193,112,29,253,193,114,29,253,193,162,29,253,193,190,29,253,193,192,29,253,193,226,29,253,193,228,29,253,193,194,29,253,193,24,30,253,193,68,30,253,193,70,30,253,193,72,30,253,193,124,30,253,193,126,30,253,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,206,160,88,0,193,70,29,253,193,72,29,253,193,74,29,253,193,76,29,253,193,78,29,253,193,80,29,253,193,82,29,253,193,84,29,253,193,86,29,253,193,88,29,253,193,90,29,253,193,92,29,253,193,94,29,253,193,96,29,253,193,98,29,253,193,100,29,253,193,116,29,253,193,118,29,253,193,120,29,253,193,122,29,253,193,124,29,253,193,126,29,253,193,128,29,253,193,102,29,253,193,130,29,253,193,132,29,253,193,134,29,253,193,136,29,253,193,138,29,253,193,140,29,253,193,142,29,253,193,144,29,253,193,146,29,253,193,148,29,253,193,150,29,253,193,152,29,253,193,164,29,253,193,166,29,253,193,168,29,253,193,170,29,253,193,172,29,253,193,174,29,253,193,176,29,253,193,178,29,253,193,180,29,253,193,182,29,253,193,184,29,253,206,192,88,0,206,192,88,0,206,192,88,0,206,192,88,0,206,192,88,0,206,192,88,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,193,160,29,253,193,66,199,253,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,192,88,0,206,192,88,0,206,192,88,0,206,192,88,0,193,230,29,253,193,232,29,253,193,234,29,253,193,236,29,253,193,242,29,253,193,244,29,253,193,246,29,253,193,248,29,253,193,254,29,253,193,2,30,253,193,4,30,253,193,6,30,253,193,8,30,253,193,14,30,253,193,16,30,253,193,18,30,253,193,20,30,253,193,26,30,253,193,28,30,253,193,30,30,253,193,32,30,253,193,34,30,253,193,36,30,253,193,42,30,253,193,44,30,253,193,46,30,253,193,48,30,253,193,50,30,253,193,38,30,253,193,40,30,253,193,54,30,253,193,56,30,253,193,58,30,253,193,60,30,253,193,62,30,253,193,64,30,253,193,66,30,253,193,88,30,253,193,90,30,253,193,92,30,253,193,94,30,253,193,96,30,253,193,98,30,253,193,100,30,253,193,102,30,253,193,104,30,253,193,106,30,253,193,108,30,253,193,110,30,253,193,112,30,253,193,114,30,253,193,116,30,253,193,118,30,253,193,120,30,253,193,122,30,253,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,193,74,30,253,193,128,30,253,193,130,30,253,193,132,30,253,193,134,30,253,193,136,30,253,193,138,30,253,193,140,30,253,193,142,30,253,193,144,30,253,193,146,30,253,193,148,30,253,193,150,30,253,193,152,30,253,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,206,224,88,0,193,108,31,253,193,110,31,253,193,112,31,253,193,114,31,253,193,116,31,253,193,118,31,253,193,120,31,253,193,122,31,253,193,124,31,253,193,126,31,253,193,128,31,253,193,130,31,253,206,0,89,0,206,0,89,0,206,0,89,0,206,0,89,0,193,198,31,253,193,200,31,253,193,202,31,253,193,204,31,253,193,206,31,253,193,208,31,253,193,210,31,253,193,212,31,253,193,214,31,253,193,216,31,253,193,218,31,253,193,220,31,253,193,222,31,253,193,224,31,253,193,226,31,253,193,228,31,253,193,176,32,253,193,178,32,253,193,180,32,253,193,182,32,253,193,184,32,253,193,186,32,253,193,188,32,253,193,190,32,253,193,192,32,253,193,166,33,253,193,168,33,253,193,170,33,253,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,206,32,89,0,193,230,31,253,193,232,31,253,193,234,31,253,193,236,31,253,193,96,31,253,193,62,32,253,193,64,32,253,193,44,33,253,193,46,33,253,193,48,33,253,193,50,33,253,193,52,33,253,193,54,33,253,193,56,33,253,193,40,34,253,193,42,34,253,193,44,34,253,193,46,34,253,193,64,35,253,193,66,35,253,193,68,35,253,193,70,35,253,193,72,35,253,193,74,35,253,193,52,36,253,193,54,36,253,193,56,36,253,193,58,36,253,193,60,36,253,193,62,36,253,206,64,90,0,206,64,90,0,206,64,90,0,206,64,90,0,206,64,90,0,206,64,90,0,193,132,31,253,193,134,31,253,193,136,31,253,193,138,31,253,193,140,31,253,193,142,31,253,193,144,31,253,193,146,31,253,193,148,31,253,193,150,31,253,193,152,31,253,193,154,31,253,193,156,31,253,193,158,31,253,193,160,31,253,193,162,31,253,193,164,31,253,193,166,31,253,193,168,31,253,193,170,31,253,193,172,31,253,193,174,31,253,193,176,31,253,193,178,31,253,193,180,31,253,193,182,31,253,193,184,31,253,193,186,31,253,193,188,31,253,193,190,31,253,193,192,31,253,193,194,31,253,193,196,31,253,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,193,238,31,253,193,240,31,253,193,242,31,253,193,244,31,253,193,246,31,253,193,248,31,253,193,250,31,253,193,252,31,253,193,254,31,253,193,2,32,253,193,4,32,253,193,6,32,253,193,8,32,253,193,10,32,253,193,12,32,253,193,14,32,253,193,16,32,253,193,18,32,253,193,20,32,253,193,22,32,253,193,24,32,253,193,26,32,253,193,28,32,253,193,30,32,253,193,32,32,253,193,34,32,253,193,36,32,253,193,38,32,253,193,40,32,253,193,42,32,253,193,44,32,253,193,46,32,253,193,48,32,253,193,50,32,253,193,52,32,253,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,193,68,32,253,193,70,32,253,193,72,32,253,193,74,32,253,193,76,32,253,193,78,32,253,193,80,32,253,193,82,32,253,193,58,33,253,193,60,33,253,193,62,33,253,193,64,33,253,193,66,33,253,193,68,33,253,193,70,33,253,193,48,34,253,193,50,34,253,193,52,34,253,193,54,34,253,193,56,34,253,193,58,34,253,193,60,34,253,193,62,34,253,193,76,35,253,193,78,35,253,193,80,35,253,193,82,35,253,193,84,35,253,193,86,35,253,193,88,35,253,193,90,35,253,193,92,35,253,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,206,64,89,0,193,96,33,253,193,98,33,253,193,100,33,253,193,102,33,253,193,104,33,253,193,106,33,253,193,108,33,253,193,110,33,253,193,112,33,253,193,114,33,253,193,116,33,253,193,118,33,253,193,120,33,253,193,122,33,253,193,124,33,253,193,126,33,253,193,128,33,253,193,130,33,253,193,132,33,253,193,134,33,253,193,136,33,253,193,172,32,253,193,138,33,253,193,140,33,253,193,142,33,253,193,144,33,253,193,146,33,253,193,148,33,253,193,150,33,253,193,152,33,253,193,154,33,253,193,156,33,253,193,158,33,253,193,160,33,253,193,162,33,253,193,164,33,253,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,96,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,206,128,89,0,193,38,33,253,193,16,34,253,193,18,34,253,193,20,34,253,193,172,33,253,193,174,33,253,193,176,33,253,193,178,33,253,193,180,33,253,193,182,33,253,193,184,33,253,193,186,33,253,193,188,33,253,193,160,34,253,193,162,34,253,193,164,34,253,193,166,34,253,193,168,34,253,193,170,34,253,193,172,34,253,193,174,34,253,193,176,34,253,193,178,34,253,193,180,34,253,193,182,34,253,193,184,34,253,193,186,34,253,193,188,34,253,193,190,34,253,193,180,35,253,193,182,35,253,193,184,35,253,193,186,35,253,193,188,35,253,193,156,36,253,193,158,36,253,193,22,34,253,193,24,34,253,193,26,34,253,193,28,34,253,193,30,34,253,193,32,34,253,193,192,34,253,193,194,34,253,193,196,34,253,193,198,34,253,193,200,34,253,193,202,34,253,193,204,34,253,193,206,34,253,193,208,34,253,193,210,34,253,193,212,34,253,193,214,34,253,193,216,34,253,193,218,34,253,193,220,34,253,193,222,34,253,193,224,34,253,193,226,34,253,193,228,34,253,193,230,34,253,193,232,34,253,193,234,34,253,193,236,34,253,193,238,34,253,193,240,34,253,193,242,34,253,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,160,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,206,192,89,0,193,158,34,253,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,193,244,34,253,193,246,34,253,193,248,34,253,193,250,34,253,193,252,34,253,193,254,34,253,193,2,35,253,193,4,35,253,193,6,35,253,193,8,35,253,193,10,35,253,193,12,35,253,193,14,35,253,193,16,35,253,193,18,35,253,193,20,35,253,193,22,35,253,193,24,35,253,193,26,35,253,193,28,35,253,193,30,35,253,193,32,35,253,193,34,35,253,193,36,35,253,193,38,35,253,193,40,35,253,193,42,35,253,193,44,35,253,193,46,35,253,193,48,35,253,193,50,35,253,193,52,35,253,193,54,35,253,193,56,35,253,193,58,35,253,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,193,62,35,253,193,42,36,253,193,44,36,253,193,46,36,253,193,48,36,253,193,50,36,253,193,30,37,253,193,32,37,253,193,34,37,253,193,232,37,253,193,234,37,253,193,236,37,253,193,238,37,253,193,164,38,253,193,166,38,253,193,168,38,253,193,54,39,253,193,56,39,253,193,156,39,253,193,64,40,253,193,108,40,253,193,110,40,253,193,112,40,253,193,154,40,253,193,180,40,253,193,230,40,253,193,18,41,253,193,20,41,253,193,84,41,253,193,86,41,253,193,88,41,253,193,90,41,253,193,94,35,253,193,64,36,253,193,66,36,253,193,68,36,253,193,70,36,253,193,72,36,253,193,74,36,253,193,76,36,253,193,78,36,253,193,80,36,253,193,82,36,253,193,58,37,253,193,60,37,253,193,62,37,253,193,64,37,253,193,66,37,253,193,242,37,253,193,244,37,253,193,246,37,253,193,248,37,253,193,250,37,253,193,252,37,253,193,254,37,253,193,2,38,253,193,4,38,253,193,178,38,253,193,180,38,253,193,182,38,253,193,184,38,253,193,186,38,253,193,62,39,253,193,64,39,253,206,224,89,0,206,224,89,0,206,224,89,0,206,224,89,0,193,94,36,253,193,96,36,253,193,98,36,253,193,100,36,253,193,102,36,253,193,104,36,253,193,106,36,253,193,108,36,253,193,110,36,253,193,112,36,253,193,114,36,253,193,116,36,253,193,118,36,253,193,120,36,253,193,122,36,253,193,124,36,253,193,126,36,253,193,128,36,253,193,130,36,253,193,132,36,253,193,134,36,253,193,136,36,253,193,138,36,253,193,140,36,253,193,142,36,253,193,144,36,253,193,146,36,253,193,148,36,253,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,0,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,193,88,36,253,193,90,36,253,193,92,36,253,193,68,37,253,193,70,37,253,193,6,38,253,193,188,38,253,193,190,38,253,193,192,38,253,193,174,39,253,193,204,40,253,193,236,40,253,193,238,40,253,193,34,41,253,193,36,41,253,193,38,41,253,193,40,41,253,193,42,41,253,193,44,41,253,193,114,41,253,193,116,41,253,193,118,41,253,193,120,41,253,193,122,41,253,193,124,41,253,193,126,41,253,193,128,41,253,193,130,41,253,193,132,41,253,193,134,41,253,193,136,41,253,193,138,41,253,193,150,36,253,193,152,36,253,193,154,36,253,193,72,37,253,193,74,37,253,193,76,37,253,193,78,37,253,193,80,37,253,193,82,37,253,193,84,37,253,193,86,37,253,193,88,37,253,193,90,37,253,193,92,37,253,193,94,37,253,193,96,37,253,193,98,37,253,193,100,37,253,193,102,37,253,193,104,37,253,193,106,37,253,193,108,37,253,193,110,37,253,193,112,37,253,193,114,37,253,193,116,37,253,193,118,37,253,193,120,37,253,193,122,37,253,193,124,37,253,193,126,37,253,193,8,38,253,193,160,36,253,193,162,36,253,193,164,36,253,193,128,37,253,193,130,37,253,193,132,37,253,193,134,37,253,193,136,37,253,193,138,37,253,193,140,37,253,193,142,37,253,193,68,38,253,193,70,38,253,193,72,38,253,193,74,38,253,193,76,38,253,193,78,38,253,193,80,38,253,193,240,38,253,193,242,38,253,193,244,38,253,193,246,38,253,193,248,38,253,193,250,38,253,193,252,38,253,193,94,39,253,193,96,39,253,193,98,39,253,193,100,39,253,193,102,39,253,193,104,39,253,193,192,39,253,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,32,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,64,90,0,206,64,90,0,206,64,90,0,206,64,90,0,206,64,90,0,193,240,37,253,193,170,38,253,193,172,38,253,193,174,38,253,193,176,38,253,193,58,39,253,193,60,39,253,193,158,39,253,193,160,39,253,193,162,39,253,193,164,39,253,193,166,39,253,193,168,39,253,193,4,40,253,193,6,40,253,193,8,40,253,193,66,40,253,193,114,40,253,193,186,40,253,193,188,40,253,193,232,40,253,193,234,40,253,193,24,41,253,193,26,41,253,193,28,41,253,193,30,41,253,193,32,41,253,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,206,96,90,0,193,82,38,253,193,84,38,253,193,10,38,253,193,12,38,253,193,14,38,253,193,16,38,253,193,18,38,253,193,20,38,253,193,22,38,253,193,24,38,253,193,26,38,253,193,28,38,253,193,30,38,253,193,32,38,253,193,34,38,253,193,194,38,253,193,36,38,253,193,38,38,253,193,40,38,253,193,42,38,253,193,44,38,253,193,46,38,253,193,48,38,253,193,50,38,253,193,52,38,253,193,54,38,253,193,56,38,253,193,58,38,253,193,60,38,253,193,62,38,253,193,64,38,253,193,196,38,253,193,198,38,253,193,200,38,253,193,86,38,253,193,88,38,253,193,90,38,253,193,92,38,253,193,94,38,253,193,96,38,253,193,98,38,253,193,100,38,253,193,102,38,253,193,104,38,253,193,106,38,253,193,108,38,253,193,110,38,253,193,112,38,253,193,114,38,253,193,116,38,253,193,118,38,253,193,120,38,253,193,122,38,253,193,124,38,253,193,126,38,253,193,128,38,253,193,130,38,253,193,132,38,253,193,134,38,253,193,136,38,253,193,138,38,253,193,140,38,253,193,142,38,253,193,144,38,253,193,146,38,253,193,148,38,253,193,150,38,253,193,152,38,253,193,154,38,253,193,156,38,253,193,158,38,253,193,160,38,253,193,162,38,253,193,254,38,253,193,2,39,253,193,4,39,253,193,6,39,253,193,8,39,253,193,10,39,253,193,12,39,253,193,14,39,253,193,16,39,253,193,18,39,253,193,20,39,253,193,22,39,253,193,24,39,253,193,26,39,253,193,28,39,253,193,30,39,253,193,32,39,253,193,34,39,253,193,36,39,253,193,38,39,253,193,40,39,253,193,42,39,253,193,44,39,253,193,46,39,253,193,48,39,253,193,202,38,253,193,204,38,253,193,206,38,253,193,208,38,253,193,210,38,253,193,212,38,253,193,214,38,253,193,216,38,253,193,218,38,253,193,220,38,253,193,222,38,253,193,224,38,253,193,226,38,253,193,228,38,253,193,230,38,253,193,232,38,253,193,234,38,253,193,236,38,253,193,238,38,253,193,72,39,253,193,74,39,253,193,76,39,253,193,78,39,253,193,80,39,253,193,82,39,253,193,84,39,253,193,86,39,253,193,88,39,253,193,90,39,253,193,92,39,253,193,176,39,253,193,178,39,253,193,50,39,253,193,52,39,253,193,106,39,253,193,108,39,253,193,110,39,253,193,112,39,253,193,114,39,253,193,116,39,253,193,118,39,253,193,120,39,253,193,122,39,253,193,124,39,253,193,126,39,253,193,128,39,253,193,130,39,253,193,132,39,253,193,134,39,253,193,198,39,253,193,136,39,253,193,138,39,253,193,140,39,253,193,142,39,253,193,144,39,253,193,146,39,253,193,148,39,253,193,150,39,253,193,152,39,253,193,154,39,253,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,193,66,39,253,193,68,39,253,193,70,39,253,193,170,39,253,193,172,39,253,193,10,40,253,193,12,40,253,193,68,40,253,193,138,40,253,193,34,42,253,193,92,43,253,193,144,43,253,193,196,43,253,193,220,43,253,193,232,43,253,193,254,43,253,193,18,44,253,193,68,44,253,193,132,44,253,193,170,44,253,193,172,44,253,193,228,44,253,193,18,45,253,193,40,45,253,193,70,45,253,193,80,45,253,193,128,45,253,193,182,45,253,193,214,45,253,193,216,45,253,193,218,45,253,193,8,46,253,193,180,39,253,193,182,39,253,193,184,39,253,193,186,39,253,193,188,39,253,193,190,39,253,193,14,40,253,193,16,40,253,193,18,40,253,193,20,40,253,193,22,40,253,193,24,40,253,193,26,40,253,193,28,40,253,193,30,40,253,193,32,40,253,193,34,40,253,193,70,40,253,193,72,40,253,193,74,40,253,193,76,40,253,193,78,40,253,193,80,40,253,193,116,40,253,193,118,40,253,193,120,40,253,193,140,40,253,193,142,40,253,193,156,40,253,193,158,40,253,193,160,40,253,193,182,40,253,193,194,39,253,193,196,39,253,193,36,40,253,193,16,41,253,193,190,41,253,193,94,42,253,193,234,42,253,193,236,42,253,193,34,43,253,193,146,43,253,193,164,43,253,193,172,43,253,193,198,43,253,193,200,43,253,193,226,43,253,193,236,43,253,193,30,44,253,193,44,44,253,193,80,44,253,193,92,44,253,193,110,44,253,193,120,44,253,193,142,44,253,193,156,44,253,193,158,44,253,193,160,44,253,193,182,44,253,193,208,44,253,193,210,44,253,193,212,44,253,193,214,44,253,193,216,44,253,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,128,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,206,160,90,0,193,84,40,253,193,86,40,253,193,88,40,253,193,90,40,253,193,92,40,253,193,94,40,253,193,96,40,253,193,98,40,253,193,100,40,253,193,102,40,253,193,104,40,253,193,106,40,253,193,122,40,253,193,124,40,253,193,126,40,253,193,128,40,253,193,130,40,253,193,132,40,253,193,134,40,253,193,136,40,253,193,144,40,253,193,146,40,253,193,148,40,253,193,150,40,253,193,152,40,253,193,162,40,253,193,164,40,253,193,192,40,253,193,194,40,253,193,196,40,253,193,198,40,253,193,200,40,253,193,202,40,253,193,206,40,253,193,208,40,253,193,210,40,253,193,212,40,253,193,214,40,253,193,216,40,253,193,218,40,253,193,220,40,253,193,222,40,253,193,224,40,253,193,226,40,253,193,228,40,253,193,240,40,253,193,242,40,253,193,244,40,253,193,246,40,253,193,248,40,253,193,250,40,253,193,252,40,253,193,254,40,253,193,2,41,253,193,4,41,253,193,6,41,253,193,8,41,253,193,10,41,253,193,12,41,253,193,14,41,253,193,46,41,253,193,48,41,253,193,50,41,253,193,52,41,253,193,54,41,253,193,56,41,253,193,58,41,253,193,60,41,253,193,62,41,253,193,64,41,253,193,66,41,253,193,68,41,253,193,70,41,253,193,72,41,253,193,74,41,253,193,76,41,253,193,78,41,253,193,80,41,253,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,193,92,41,253,193,94,41,253,193,192,41,253,193,194,41,253,193,196,41,253,193,198,41,253,193,200,41,253,193,8,42,253,193,10,42,253,193,12,42,253,193,14,42,253,193,96,42,253,193,98,42,253,193,100,42,253,193,102,42,253,193,186,42,253,193,188,42,253,193,190,42,253,193,192,42,253,193,194,42,253,193,196,42,253,193,238,42,253,193,240,42,253,193,242,42,253,193,244,42,253,193,36,43,253,193,38,43,253,193,70,43,253,193,72,43,253,193,110,43,253,193,124,43,253,193,140,43,253,193,98,41,253,193,100,41,253,193,102,41,253,193,104,41,253,193,106,41,253,193,108,41,253,193,110,41,253,193,112,41,253,193,202,41,253,193,204,41,253,193,206,41,253,193,208,41,253,193,210,41,253,193,212,41,253,193,214,41,253,193,216,41,253,193,218,41,253,193,220,41,253,193,222,41,253,193,224,41,253,193,16,42,253,193,18,42,253,193,20,42,253,193,22,42,253,193,24,42,253,193,26,42,253,193,28,42,253,193,30,42,253,193,32,42,253,193,108,42,253,193,110,42,253,193,112,42,253,193,140,41,253,193,142,41,253,193,226,41,253,193,228,41,253,193,230,41,253,193,232,41,253,193,234,41,253,193,36,42,253,193,38,42,253,193,40,42,253,193,42,42,253,193,44,42,253,193,46,42,253,193,48,42,253,193,50,42,253,193,52,42,253,193,128,42,253,193,130,42,253,193,132,42,253,193,134,42,253,193,136,42,253,193,138,42,253,193,140,42,253,193,142,42,253,193,144,42,253,193,10,43,253,193,12,43,253,193,14,43,253,193,16,43,253,193,18,43,253,193,20,43,253,193,22,43,253,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,206,192,90,0,193,236,41,253,193,238,41,253,193,240,41,253,193,242,41,253,193,244,41,253,193,246,41,253,193,248,41,253,193,250,41,253,193,252,41,253,193,254,41,253,193,2,42,253,193,4,42,253,193,6,42,253,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,206,224,90,0,193,146,42,253,193,148,42,253,193,150,42,253,193,152,42,253,193,154,42,253,193,156,42,253,193,158,42,253,193,160,42,253,193,162,42,253,193,164,42,253,193,166,42,253,193,168,42,253,193,170,42,253,193,172,42,253,193,174,42,253,193,176,42,253,193,178,42,253,193,180,42,253,193,182,42,253,193,184,42,253,193,216,42,253,193,104,42,253,193,106,42,253,193,246,42,253,193,222,66,253,193,204,76,253,193,116,77,253,193,160,77,253,193,206,78,253,193,62,83,253,193,64,83,253,193,224,85,253,193,132,88,253,193,64,90,253,193,208,90,253,193,212,94,253,193,104,98,253,193,38,102,253,193,12,108,253,193,104,114,253,193,138,114,253,193,230,114,253,193,232,114,253,193,108,115,253,193,110,115,253,193,4,116,253,193,6,116,253,193,8,116,253,193,10,116,253,193,124,116,253,193,250,116,253,193,94,117,253,193,96,117,253,193,114,42,253,193,116,42,253,193,118,42,253,193,120,42,253,193,122,42,253,193,124,42,253,193,126,42,253,193,198,42,253,193,200,42,253,193,202,42,253,193,204,42,253,193,206,42,253,193,208,42,253,193,210,42,253,193,212,42,253,193,214,42,253,193,248,42,253,193,250,42,253,193,252,42,253,193,254,42,253,193,2,43,253,193,4,43,253,193,6,43,253,193,8,43,253,193,40,43,253,193,42,43,253,193,44,43,253,193,46,43,253,193,48,43,253,193,74,43,253,193,76,43,253,193,78,43,253,193,218,42,253,193,220,42,253,193,222,42,253,193,224,42,253,193,226,42,253,193,228,42,253,193,230,42,253,193,232,42,253,193,24,43,253,193,26,43,253,193,28,43,253,193,30,43,253,193,32,43,253,193,58,43,253,193,60,43,253,193,62,43,253,193,64,43,253,193,66,43,253,193,68,43,253,193,104,43,253,193,106,43,253,193,108,43,253,193,150,43,253,193,160,43,253,193,170,43,253,193,180,43,253,193,182,43,253,193,184,43,253,193,212,43,253,193,224,43,253,193,234,43,253,193,24,44,253,193,50,43,253,193,52,43,253,193,54,43,253,193,56,43,253,193,94,43,253,193,96,43,253,193,98,43,253,193,100,43,253,193,102,43,253,193,118,43,253,193,120,43,253,193,122,43,253,193,134,43,253,193,136,43,253,193,138,43,253,193,154,43,253,193,168,43,253,193,208,43,253,193,210,43,253,193,222,43,253,193,2,44,253,193,20,44,253,193,22,44,253,193,94,44,253,193,118,44,253,193,134,44,253,193,136,44,253,193,152,44,253,193,174,44,253,193,206,44,253,193,254,44,253,193,20,45,253,193,80,43,253,193,82,43,253,193,84,43,253,193,86,43,253,193,88,43,253,193,90,43,253,193,112,43,253,193,114,43,253,193,116,43,253,193,126,43,253,193,128,43,253,193,130,43,253,193,132,43,253,193,142,43,253,193,148,43,253,193,152,43,253,193,156,43,253,193,158,43,253,193,206,43,253,193,252,43,253,193,16,44,253,193,40,44,253,193,116,44,253,193,150,44,253,193,38,45,253,193,60,45,253,193,88,45,253,193,126,45,253,193,178,45,253,193,180,45,253,193,46,46,253,193,48,46,253,193,166,43,253,193,194,43,253,193,250,43,253,193,204,44,253,193,16,45,253,193,122,45,253,193,176,45,253,193,42,46,253,193,44,46,253,193,134,46,253,193,54,47,253,193,182,47,253,193,48,48,253,193,84,48,253,193,210,48,253,193,244,48,253,193,246,48,253,193,248,48,253,193,74,49,253,193,76,49,253,193,222,49,253,193,224,49,253,193,100,50,253,193,196,50,253,193,198,50,253,193,200,50,253,193,76,51,253,193,78,51,253,193,198,51,253,193,200,51,253,193,202,51,253,193,24,52,253,193,4,44,253,193,6,44,253,193,8,44,253,193,10,44,253,193,12,44,253,193,14,44,253,193,32,44,253,193,34,44,253,193,36,44,253,193,38,44,253,193,46,44,253,193,52,44,253,193,54,44,253,193,56,44,253,193,58,44,253,193,60,44,253,193,62,44,253,193,64,44,253,193,66,44,253,193,70,44,253,193,72,44,253,193,74,44,253,193,76,44,253,193,84,44,253,193,86,44,253,193,88,44,253,193,96,44,253,193,102,44,253,193,104,44,253,193,106,44,253,193,112,44,253,193,114,44,253,193,26,44,253,193,28,44,253,193,42,44,253,193,48,44,253,193,78,44,253,193,82,44,253,193,90,44,253,193,98,44,253,193,100,44,253,193,108,44,253,193,138,44,253,193,140,44,253,193,176,44,253,193,178,44,253,193,180,44,253,193,230,44,253,193,2,45,253,193,46,45,253,193,94,45,253,193,102,45,253,193,108,45,253,193,112,45,253,193,118,45,253,193,134,45,253,193,146,45,253,193,148,45,253,193,150,45,253,193,152,45,253,193,154,45,253,193,156,45,253,193,184,45,253,193,186,45,253,193,232,44,253,193,234,44,253,193,236,44,253,193,64,45,253,193,96,45,253,193,136,45,253,193,158,45,253,193,160,45,253,193,192,45,253,193,232,45,253,193,52,46,253,193,54,46,253,193,56,46,253,193,110,46,253,193,112,46,253,193,188,46,253,193,208,46,253,193,210,46,253,193,238,46,253,193,250,46,253,193,18,47,253,193,20,47,253,193,60,47,253,193,62,47,253,193,64,47,253,193,66,47,253,193,100,47,253,193,102,47,253,193,192,47,253,193,230,47,253,193,232,47,253,193,18,48,253,193,246,44,253,193,248,44,253,193,250,44,253,193,6,45,253,193,8,45,253,193,10,45,253,193,12,45,253,193,14,45,253,193,252,44,253,193,22,45,253,193,24,45,253,193,26,45,253,193,28,45,253,193,30,45,253,193,32,45,253,193,34,45,253,193,36,45,253,193,48,45,253,193,50,45,253,193,52,45,253,193,54,45,253,193,56,45,253,193,58,45,253,193,66,45,253,193,68,45,253,193,72,45,253,193,74,45,253,193,76,45,253,193,78,45,253,193,82,45,253,193,84,45,253,193,86,45,253,193,42,45,253,193,44,45,253,193,62,45,253,193,90,45,253,193,130,45,253,193,132,45,253,193,220,45,253,193,96,46,253,193,98,46,253,193,100,46,253,193,142,46,253,193,144,46,253,193,146,46,253,193,148,46,253,193,182,46,253,193,236,46,253,193,32,47,253,193,216,48,253,193,4,49,253,193,100,49,253,193,102,49,253,193,104,49,253,193,106,49,253,193,108,49,253,193,110,49,253,193,112,49,253,193,114,49,253,193,116,49,253,193,244,49,253,193,246,49,253,193,248,49,253,193,250,49,253,193,92,45,253,193,98,45,253,193,100,45,253,193,104,45,253,193,106,45,253,193,110,45,253,193,120,45,253,193,114,45,253,193,116,45,253,193,124,45,253,193,138,45,253,193,140,45,253,193,142,45,253,193,144,45,253,193,162,45,253,193,164,45,253,193,166,45,253,193,168,45,253,193,170,45,253,193,172,45,253,193,174,45,253,193,194,45,253,193,196,45,253,193,198,45,253,193,200,45,253,193,202,45,253,193,204,45,253,193,206,45,253,193,208,45,253,193,210,45,253,193,212,45,253,193,234,45,253,193,188,45,253,193,190,45,253,193,222,45,253,193,224,45,253,193,226,45,253,193,228,45,253,193,230,45,253,193,12,46,253,193,14,46,253,193,16,46,253,193,18,46,253,193,102,46,253,193,104,46,253,193,106,46,253,193,108,46,253,193,150,46,253,193,152,46,253,193,154,46,253,193,156,46,253,193,158,46,253,193,184,46,253,193,186,46,253,193,222,46,253,193,206,46,253,193,36,47,253,193,44,47,253,193,46,47,253,193,48,47,253,193,56,47,253,193,58,47,253,193,88,47,253,193,90,47,253,193,236,45,253,193,238,45,253,193,240,45,253,193,242,45,253,193,244,45,253,193,246,45,253,193,248,45,253,193,250,45,253,193,252,45,253,193,254,45,253,193,2,46,253,193,4,46,253,193,6,46,253,193,20,46,253,193,22,46,253,193,24,46,253,193,26,46,253,193,28,46,253,193,30,46,253,193,32,46,253,193,34,46,253,193,36,46,253,193,38,46,253,193,40,46,253,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,193,10,46,253,193,136,46,253,193,138,46,253,193,140,46,253,193,204,46,253,193,42,47,253,193,84,47,253,193,86,47,253,193,140,47,253,193,142,47,253,193,224,47,253,193,50,48,253,193,152,48,253,193,214,48,253,193,250,48,253,193,252,48,253,193,254,48,253,193,2,49,253,193,86,49,253,193,88,49,253,193,90,49,253,193,92,49,253,193,94,49,253,193,96,49,253,193,98,49,253,193,228,49,253,193,230,49,253,193,232,49,253,193,234,49,253,193,236,49,253,193,238,49,253,193,240,49,253,193,50,46,253,193,90,46,253,193,92,46,253,193,94,46,253,193,178,46,253,193,180,46,253,193,234,46,253,193,248,46,253,193,184,47,253,193,8,48,253,193,116,48,253,193,118,48,253,193,150,48,253,193,176,48,253,193,212,48,253,193,78,49,253,193,80,49,253,193,82,49,253,193,84,49,253,193,226,49,253,193,102,50,253,193,104,50,253,193,202,50,253,193,204,50,253,193,206,50,253,193,208,50,253,193,210,50,253,193,80,51,253,193,82,51,253,193,84,51,253,193,86,51,253,193,88,51,253,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,206,0,91,0,193,114,46,253,193,116,46,253,193,118,46,253,193,120,46,253,193,122,46,253,193,124,46,253,193,126,46,253,193,128,46,253,193,130,46,253,193,132,46,253,193,160,46,253,193,162,46,253,193,164,46,253,193,166,46,253,193,168,46,253,193,170,46,253,193,172,46,253,193,174,46,253,193,176,46,253,193,190,46,253,193,192,46,253,193,194,46,253,193,196,46,253,193,198,46,253,193,200,46,253,193,202,46,253,193,212,46,253,193,214,46,253,193,216,46,253,193,218,46,253,193,220,46,253,193,224,46,253,193,226,46,253,193,228,46,253,193,230,46,253,193,232,46,253,193,240,46,253,193,242,46,253,193,244,46,253,193,246,46,253,193,252,46,253,193,254,46,253,193,2,47,253,193,4,47,253,193,8,47,253,193,10,47,253,193,12,47,253,193,6,47,253,193,14,47,253,193,16,47,253,193,22,47,253,193,24,47,253,193,26,47,253,193,28,47,253,193,30,47,253,193,34,47,253,193,38,47,253,193,40,47,253,193,50,47,253,193,52,47,253,193,68,47,253,193,70,47,253,193,72,47,253,193,74,47,253,193,76,47,253,193,78,47,253,193,80,47,253,193,82,47,253,193,104,47,253,193,106,47,253,193,108,47,253,193,110,47,253,193,112,47,253,193,114,47,253,193,116,47,253,193,118,47,253,193,120,47,253,193,122,47,253,193,124,47,253,193,126,47,253,193,128,47,253,193,130,47,253,193,132,47,253,193,134,47,253,193,136,47,253,193,138,47,253,193,158,47,253,193,160,47,253,193,92,47,253,193,94,47,253,193,96,47,253,193,98,47,253,193,144,47,253,193,146,47,253,193,148,47,253,193,150,47,253,193,152,47,253,193,154,47,253,193,156,47,253,193,186,47,253,193,188,47,253,193,190,47,253,193,226,47,253,193,228,47,253,193,10,48,253,193,12,48,253,193,14,48,253,193,16,48,253,193,52,48,253,193,54,48,253,193,56,48,253,193,86,48,253,193,88,48,253,193,90,48,253,193,120,48,253,193,184,48,253,193,186,48,253,193,190,48,253,193,192,48,253,193,194,48,253,193,162,47,253,193,164,47,253,193,166,47,253,193,168,47,253,193,170,47,253,193,172,47,253,193,174,47,253,193,176,47,253,193,178,47,253,193,180,47,253,193,194,47,253,193,196,47,253,193,198,47,253,193,200,47,253,193,202,47,253,193,204,47,253,193,206,47,253,193,208,47,253,193,210,47,253,193,212,47,253,193,214,47,253,193,216,47,253,193,218,47,253,193,220,47,253,193,222,47,253,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,206,32,91,0,193,20,48,253,193,22,48,253,193,24,48,253,193,26,48,253,193,28,48,253,193,30,48,253,193,32,48,253,193,34,48,253,193,36,48,253,193,38,48,253,193,40,48,253,193,6,48,253,193,42,48,253,193,44,48,253,193,46,48,253,193,60,48,253,193,62,48,253,193,64,48,253,193,66,48,253,193,68,48,253,193,70,48,253,193,72,48,253,193,74,48,253,193,76,48,253,193,78,48,253,193,80,48,253,193,58,48,253,193,92,48,253,193,94,48,253,193,122,48,253,193,124,48,253,193,126,48,253,193,128,48,253,193,26,49,253,193,28,49,253,193,156,49,253,193,158,49,253,193,160,49,253,193,162,49,253,193,164,49,253,193,166,49,253,193,168,49,253,193,24,50,253,193,26,50,253,193,28,50,253,193,146,50,253,193,148,50,253,193,150,50,253,193,12,51,253,193,14,51,253,193,16,51,253,193,18,51,253,193,20,51,253,193,22,51,253,193,24,51,253,193,26,51,253,193,28,51,253,193,30,51,253,193,82,48,253,193,96,48,253,193,98,48,253,193,100,48,253,193,102,48,253,193,104,48,253,193,130,48,253,193,106,48,253,193,108,48,253,193,110,48,253,193,112,48,253,193,114,48,253,193,132,48,253,193,134,48,253,193,136,48,253,193,138,48,253,193,154,48,253,193,140,48,253,193,142,48,253,193,144,48,253,193,146,48,253,193,148,48,253,193,156,48,253,193,158,48,253,193,160,48,253,193,162,48,253,193,164,48,253,193,166,48,253,193,168,48,253,193,170,48,253,193,172,48,253,193,174,48,253,193,178,48,253,193,180,48,253,193,182,48,253,193,188,48,253,193,198,48,253,193,200,48,253,193,202,48,253,193,204,48,253,193,206,48,253,193,208,48,253,193,226,48,253,193,228,48,253,193,230,48,253,193,232,48,253,193,234,48,253,193,236,48,253,193,238,48,253,193,240,48,253,193,242,48,253,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,193,196,48,253,193,218,48,253,193,220,48,253,193,222,48,253,193,224,48,253,193,6,49,253,193,8,49,253,193,10,49,253,193,12,49,253,193,14,49,253,193,16,49,253,193,18,49,253,193,20,49,253,193,22,49,253,193,24,49,253,193,118,49,253,193,120,49,253,193,122,49,253,193,124,49,253,193,126,49,253,193,128,49,253,193,130,49,253,193,132,49,253,193,134,49,253,193,136,49,253,193,138,49,253,193,140,49,253,193,142,49,253,193,144,49,253,193,146,49,253,193,148,49,253,193,150,49,253,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,206,64,91,0,193,170,49,253,193,172,49,253,193,174,49,253,193,176,49,253,193,178,49,253,193,180,49,253,193,182,49,253,193,184,49,253,193,186,49,253,193,188,49,253,193,190,49,253,193,192,49,253,193,194,49,253,193,196,49,253,193,198,49,253,193,200,49,253,193,202,49,253,193,204,49,253,193,206,49,253,193,208,49,253,193,210,49,253,193,212,49,253,193,214,49,253,193,152,49,253,193,154,49,253,193,252,49,253,193,254,49,253,193,2,50,253,193,4,50,253,193,6,50,253,193,8,50,253,193,10,50,253,193,12,50,253,193,14,50,253,193,16,50,253,193,18,50,253,193,20,50,253,193,22,50,253,193,124,50,253,193,126,50,253,193,128,50,253,193,130,50,253,193,132,50,253,193,134,50,253,193,136,50,253,193,138,50,253,193,140,50,253,193,142,50,253,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,193,216,49,253,193,218,49,253,193,220,49,253,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,193,242,49,253,193,106,50,253,193,108,50,253,193,110,50,253,193,112,50,253,193,212,50,253,193,214,50,253,193,216,50,253,193,218,50,253,193,220,50,253,193,222,50,253,193,90,51,253,193,92,51,253,193,94,51,253,193,96,51,253,193,98,51,253,193,100,51,253,193,102,51,253,193,104,51,253,193,106,51,253,193,108,51,253,193,210,51,253,193,212,51,253,193,214,51,253,193,216,51,253,193,218,51,253,193,34,52,253,193,36,52,253,193,38,52,253,193,40,52,253,193,130,52,253,193,132,52,253,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,206,96,91,0,193,152,50,253,193,154,50,253,193,156,50,253,193,158,50,253,193,160,50,253,193,162,50,253,193,164,50,253,193,166,50,253,193,168,50,253,193,170,50,253,193,172,50,253,193,174,50,253,193,176,50,253,193,178,50,253,193,180,50,253,193,182,50,253,193,184,50,253,193,186,50,253,193,188,50,253,193,190,50,253,193,192,50,253,193,194,50,253,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,193,114,50,253,193,116,50,253,193,118,50,253,193,120,50,253,193,122,50,253,193,224,50,253,193,110,51,253,193,112,51,253,193,114,51,253,193,220,51,253,193,42,52,253,193,44,52,253,193,46,52,253,193,136,52,253,193,138,52,253,193,140,52,253,193,142,52,253,193,228,52,253,193,230,52,253,193,232,52,253,193,234,52,253,193,236,52,253,193,238,52,253,193,240,52,253,193,80,53,253,193,82,53,253,193,84,53,253,193,134,53,253,193,184,53,253,193,186,53,253,193,214,53,253,193,216,53,253,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,206,128,91,0,193,116,51,253,193,118,51,253,193,120,51,253,193,122,51,253,193,124,51,253,193,126,51,253,193,128,51,253,193,130,51,253,193,132,51,253,193,222,51,253,193,224,51,253,193,226,51,253,193,228,51,253,193,230,51,253,193,232,51,253,193,234,51,253,193,236,51,253,193,48,52,253,193,50,52,253,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,160,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,206,192,91,0,193,134,51,253,193,136,51,253,193,138,51,253,193,140,51,253,193,142,51,253,193,238,51,253,193,240,51,253,193,62,52,253,193,158,52,253,193,248,52,253,193,94,53,253,193,140,53,253,193,58,54,253,193,98,54,253,193,100,54,253,193,122,54,253,193,124,54,253,193,198,54,253,193,226,54,253,193,242,54,253,193,244,54,253,193,60,55,253,193,124,55,253,193,126,55,253,193,128,55,253,193,180,55,253,193,182,55,253,193,184,55,253,193,186,55,253,193,22,56,253,193,24,56,253,193,26,56,253,193,204,51,253,193,206,51,253,193,208,51,253,193,28,52,253,193,30,52,253,193,32,52,253,193,126,52,253,193,128,52,253,193,214,52,253,193,28,53,253,193,66,53,253,193,68,53,253,193,70,53,253,193,72,53,253,193,126,53,253,193,128,53,253,193,130,53,253,193,164,53,253,193,200,53,253,193,248,53,253,193,28,54,253,193,30,54,253,193,32,54,253,193,60,54,253,193,74,54,253,193,110,54,253,193,128,54,253,193,130,54,253,193,132,54,253,193,134,54,253,193,148,54,253,193,180,54,253,193,26,52,253,193,124,52,253,193,212,52,253,193,122,53,253,193,124,53,253,193,162,53,253,193,24,54,253,193,26,54,253,193,72,54,253,193,108,54,253,193,126,54,253,193,168,54,253,193,178,54,253,193,218,54,253,193,234,54,253,193,10,55,253,193,48,55,253,193,238,55,253,193,90,56,253,193,198,56,253,193,200,56,253,193,54,57,253,193,56,57,253,193,58,57,253,193,152,57,253,193,154,57,253,193,156,57,253,193,248,57,253,193,250,57,253,193,62,58,253,193,144,58,253,193,146,58,253,193,68,52,253,193,70,52,253,193,72,52,253,193,74,52,253,193,76,52,253,193,78,52,253,193,80,52,253,193,82,52,253,193,84,52,253,193,86,52,253,193,88,52,253,193,90,52,253,193,92,52,253,193,94,52,253,193,96,52,253,193,98,52,253,193,100,52,253,193,102,52,253,193,104,52,253,193,106,52,253,193,108,52,253,193,110,52,253,193,112,52,253,193,114,52,253,193,116,52,253,193,118,52,253,193,120,52,253,193,122,52,253,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,193,134,52,253,193,216,52,253,193,218,52,253,193,220,52,253,193,222,52,253,193,224,52,253,193,226,52,253,193,30,53,253,193,32,53,253,193,74,53,253,193,76,53,253,193,78,53,253,193,132,53,253,193,166,53,253,193,194,53,253,193,196,53,253,193,198,53,253,193,32,55,253,193,92,55,253,193,160,55,253,193,246,55,253,193,248,55,253,193,98,56,253,193,100,56,253,193,206,56,253,193,208,56,253,193,68,57,253,193,70,57,253,193,6,58,253,193,74,58,253,193,76,58,253,193,214,58,253,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,224,91,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,206,0,92,0,193,44,53,253,193,46,53,253,193,48,53,253,193,50,53,253,193,52,53,253,193,54,53,253,193,56,53,253,193,58,53,253,193,60,53,253,193,62,53,253,193,64,53,253,193,96,53,253,193,98,53,253,193,100,53,253,193,102,53,253,193,104,53,253,193,106,53,253,193,108,53,253,193,110,53,253,193,112,53,253,193,114,53,253,193,116,53,253,193,118,53,253,193,142,53,253,193,144,53,253,193,120,53,253,193,146,53,253,193,148,53,253,193,150,53,253,193,152,53,253,193,154,53,253,193,156,53,253,193,158,53,253,193,160,53,253,193,170,53,253,193,172,53,253,193,174,53,253,193,176,53,253,193,180,53,253,193,182,53,253,193,188,53,253,193,190,53,253,193,192,53,253,193,246,53,253,193,22,54,253,193,70,54,253,193,102,54,253,193,104,54,253,193,106,54,253,193,158,54,253,193,192,54,253,193,194,54,253,193,196,54,253,193,206,54,253,193,208,54,253,193,212,54,253,193,214,54,253,193,216,54,253,193,208,53,253,193,210,53,253,193,212,53,253,193,220,53,253,193,222,53,253,193,224,53,253,193,226,53,253,193,228,53,253,193,230,53,253,193,232,53,253,193,234,53,253,193,236,53,253,193,238,53,253,193,240,53,253,193,242,53,253,193,244,53,253,193,252,53,253,193,254,53,253,193,2,54,253,193,4,54,253,193,6,54,253,193,8,54,253,193,10,54,253,193,12,54,253,193,14,54,253,193,16,54,253,193,18,54,253,193,20,54,253,206,32,92,0,206,32,92,0,206,32,92,0,206,32,92,0,193,218,53,253,193,250,53,253,193,34,54,253,193,112,54,253,193,114,54,253,193,116,54,253,193,136,54,253,193,138,54,253,193,150,54,253,193,152,54,253,193,154,54,253,193,170,54,253,193,176,54,253,193,182,54,253,193,184,54,253,193,238,54,253,193,82,55,253,193,162,55,253,193,250,55,253,193,102,56,253,193,104,56,253,193,210,56,253,193,212,56,253,193,214,56,253,193,162,57,253,193,164,57,253,193,8,58,253,193,78,58,253,193,80,58,253,193,82,58,253,193,152,58,253,193,216,58,253,206,32,92,0,206,32,92,0,206,32,92,0,206,32,92,0,206,32,92,0,206,32,92,0,206,32,92,0,193,62,54,253,193,64,54,253,193,66,54,253,193,68,54,253,193,76,54,253,193,78,54,253,193,80,54,253,193,82,54,253,193,84,54,253,193,86,54,253,193,88,54,253,193,90,54,253,193,92,54,253,193,94,54,253,193,96,54,253,193,118,54,253,193,120,54,253,193,140,54,253,193,142,54,253,193,144,54,253,193,146,54,253,193,156,54,253,193,160,54,253,193,162,54,253,193,164,54,253,193,166,54,253,193,172,54,253,193,174,54,253,193,186,54,253,193,190,54,253,193,200,54,253,193,202,54,253,193,204,54,253,193,220,54,253,193,222,54,253,193,224,54,253,193,240,54,253,193,12,55,253,193,14,55,253,193,16,55,253,193,34,55,253,193,84,55,253,193,86,55,253,193,94,55,253,193,96,55,253,193,98,55,253,193,100,55,253,193,118,55,253,193,120,55,253,193,122,55,253,193,164,55,253,193,166,55,253,193,168,55,253,193,170,55,253,193,172,55,253,193,174,55,253,193,176,55,253,193,188,54,253,193,210,54,253,193,236,54,253,193,30,55,253,193,72,55,253,193,158,55,253,193,240,55,253,193,242,55,253,193,244,55,253,193,92,56,253,193,94,56,253,193,96,56,253,193,202,56,253,193,204,56,253,193,60,57,253,193,62,57,253,193,64,57,253,193,66,57,253,193,158,57,253,193,160,57,253,193,252,57,253,193,254,57,253,193,2,58,253,193,4,58,253,193,64,58,253,193,66,58,253,193,68,58,253,193,70,58,253,193,72,58,253,193,148,58,253,193,150,58,253,193,212,58,253,193,228,54,253,193,230,54,253,193,232,54,253,193,246,54,253,193,248,54,253,193,250,54,253,193,252,54,253,193,254,54,253,193,2,55,253,193,4,55,253,193,6,55,253,193,8,55,253,193,18,55,253,193,20,55,253,193,22,55,253,193,24,55,253,193,26,55,253,193,28,55,253,193,36,55,253,193,38,55,253,193,40,55,253,193,42,55,253,193,44,55,253,193,46,55,253,193,50,55,253,193,52,55,253,193,54,55,253,193,56,55,253,193,58,55,253,193,62,55,253,193,64,55,253,193,66,55,253,193,68,55,253,193,70,55,253,193,74,55,253,193,76,55,253,193,78,55,253,193,80,55,253,193,88,55,253,193,90,55,253,193,104,55,253,193,106,55,253,193,108,55,253,193,110,55,253,193,112,55,253,193,114,55,253,193,116,55,253,193,130,55,253,193,132,55,253,193,134,55,253,193,136,55,253,193,138,55,253,193,140,55,253,193,142,55,253,193,144,55,253,193,146,55,253,193,148,55,253,193,150,55,253,193,152,55,253,193,154,55,253,193,156,55,253,193,188,55,253,193,190,55,253,193,192,55,253,193,194,55,253,193,196,55,253,193,198,55,253,193,200,55,253,193,202,55,253,193,204,55,253,193,206,55,253,193,208,55,253,193,210,55,253,193,212,55,253,193,214,55,253,193,216,55,253,193,218,55,253,193,220,55,253,193,222,55,253,193,224,55,253,193,226,55,253,193,228,55,253,193,230,55,253,193,232,55,253,193,234,55,253,193,236,55,253,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,193,252,55,253,193,254,55,253,193,2,56,253,193,4,56,253,193,6,56,253,193,8,56,253,193,10,56,253,193,12,56,253,193,14,56,253,193,16,56,253,193,18,56,253,193,20,56,253,193,106,56,253,193,108,56,253,193,110,56,253,193,112,56,253,193,114,56,253,193,116,56,253,193,118,56,253,193,120,56,253,193,122,56,253,193,216,56,253,193,218,56,253,193,220,56,253,193,222,56,253,193,224,56,253,193,226,56,253,206,160,92,0,206,160,92,0,206,160,92,0,206,160,92,0,206,160,92,0,193,28,56,253,193,30,56,253,193,32,56,253,193,34,56,253,193,36,56,253,193,124,56,253,193,126,56,253,193,128,56,253,193,130,56,253,193,132,56,253,193,134,56,253,193,228,56,253,193,230,56,253,193,232,56,253,193,234,56,253,193,236,56,253,193,238,56,253,193,240,56,253,193,242,56,253,193,92,57,253,193,94,57,253,193,96,57,253,193,98,57,253,193,100,57,253,193,102,57,253,193,172,57,253,193,174,57,253,193,176,57,253,193,178,57,253,193,12,58,253,193,14,58,253,193,16,58,253,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,64,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,96,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,206,128,92,0,193,104,57,253,193,106,57,253,193,108,57,253,193,110,57,253,193,112,57,253,193,114,57,253,193,116,57,253,193,118,57,253,193,120,57,253,193,122,57,253,193,124,57,253,193,126,57,253,193,128,57,253,193,130,57,253,193,132,57,253,193,52,57,253,193,134,57,253,193,180,57,253,206,160,92,0,206,160,92,0,206,160,92,0,206,160,92,0,206,160,92,0,193,166,57,253,193,168,57,253,193,170,57,253,193,10,58,253,193,154,58,253,193,156,58,253,193,158,58,253,193,160,58,253,193,162,58,253,193,218,58,253,193,254,58,253,193,2,59,253,193,44,59,253,193,78,59,253,193,84,59,253,193,94,59,253,193,120,59,253,193,122,59,253,193,124,59,253,193,126,59,253,193,190,59,253,193,192,59,253,193,194,59,253,193,2,61,253,193,196,59,253,193,198,59,253,193,200,59,253,193,136,57,253,193,138,57,253,193,140,57,253,193,142,57,253,193,144,57,253,193,146,57,253,193,148,57,253,193,150,57,253,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,206,192,92,0,193,20,58,253,193,22,58,253,193,24,58,253,193,26,58,253,193,28,58,253,193,30,58,253,193,32,58,253,193,34,58,253,193,36,58,253,193,38,58,253,193,40,58,253,193,42,58,253,193,44,58,253,193,46,58,253,193,48,58,253,193,50,58,253,193,52,58,253,193,54,58,253,193,56,58,253,193,58,58,253,193,60,58,253,193,96,58,253,193,98,58,253,193,18,58,253,193,84,58,253,193,86,58,253,193,88,58,253,193,90,58,253,193,92,58,253,193,94,58,253,193,164,58,253,193,220,58,253,193,222,58,253,193,224,58,253,193,226,58,253,193,4,59,253,193,22,59,253,193,24,59,253,193,26,59,253,193,46,59,253,193,60,59,253,193,66,59,253,193,96,59,253,193,98,59,253,193,128,59,253,193,130,59,253,193,212,59,253,193,214,59,253,193,216,59,253,193,218,59,253,193,220,59,253,193,222,59,253,193,224,59,253,193,226,59,253,193,126,60,253,193,100,58,253,193,102,58,253,193,104,58,253,193,106,58,253,193,108,58,253,193,110,58,253,193,112,58,253,193,114,58,253,193,116,58,253,193,118,58,253,193,120,58,253,193,122,58,253,193,124,58,253,193,126,58,253,193,128,58,253,193,130,58,253,193,132,58,253,193,134,58,253,193,136,58,253,193,138,58,253,193,140,58,253,193,142,58,253,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,206,224,92,0,193,228,58,253,193,230,58,253,193,232,58,253,193,234,58,253,193,236,58,253,193,238,58,253,193,240,58,253,193,242,58,253,193,244,58,253,193,246,58,253,193,248,58,253,193,250,58,253,193,6,59,253,193,8,59,253,193,10,59,253,193,12,59,253,193,14,59,253,193,16,59,253,193,18,59,253,193,252,58,253,193,118,59,253,193,184,59,253,193,186,59,253,193,188,59,253,193,66,60,253,193,68,60,253,193,70,60,253,193,184,61,253,193,186,61,253,193,188,61,253,193,190,61,253,193,192,61,253,193,194,61,253,193,196,61,253,193,198,61,253,193,136,62,253,193,138,62,253,193,140,62,253,193,142,62,253,193,122,63,253,193,124,63,253,193,126,63,253,193,128,63,253,193,130,63,253,193,132,63,253,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,193,20,59,253,193,28,59,253,193,30,59,253,193,32,59,253,193,34,59,253,193,36,59,253,193,38,59,253,193,40,59,253,193,48,59,253,193,50,59,253,193,52,59,253,193,54,59,253,193,56,59,253,193,58,59,253,193,62,59,253,193,64,59,253,193,68,59,253,193,70,59,253,193,72,59,253,193,74,59,253,193,76,59,253,193,80,59,253,193,82,59,253,193,86,59,253,193,88,59,253,193,90,59,253,193,100,59,253,193,102,59,253,193,104,59,253,193,106,59,253,193,108,59,253,193,110,59,253,193,42,59,253,193,92,59,253,193,116,59,253,193,172,59,253,193,174,59,253,193,176,59,253,193,178,59,253,193,180,59,253,193,182,59,253,193,54,60,253,193,56,60,253,193,58,60,253,193,60,60,253,193,62,60,253,193,64,60,253,193,240,60,253,193,242,60,253,193,244,60,253,193,246,60,253,193,248,60,253,193,250,60,253,193,252,60,253,193,254,60,253,193,180,61,253,193,182,61,253,193,122,62,253,193,124,62,253,193,126,62,253,193,128,62,253,193,130,62,253,193,132,62,253,193,134,62,253,193,112,59,253,193,132,59,253,193,134,59,253,193,136,59,253,193,138,59,253,193,140,59,253,193,142,59,253,193,144,59,253,193,146,59,253,193,148,59,253,193,150,59,253,193,152,59,253,193,154,59,253,193,156,59,253,193,158,59,253,193,160,59,253,193,162,59,253,193,164,59,253,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,193,114,59,253,193,168,59,253,193,170,59,253,193,44,60,253,193,46,60,253,193,48,60,253,193,50,60,253,193,52,60,253,193,232,60,253,193,234,60,253,193,236,60,253,193,238,60,253,193,168,61,253,193,170,61,253,193,172,61,253,193,174,61,253,193,176,61,253,193,178,61,253,193,114,62,253,193,116,62,253,193,118,62,253,193,120,62,253,193,80,63,253,193,82,63,253,193,84,63,253,193,86,63,253,193,88,63,253,193,90,63,253,206,32,94,0,206,32,94,0,206,32,94,0,206,32,94,0,193,166,59,253,193,38,60,253,193,40,60,253,193,42,60,253,193,226,60,253,193,228,60,253,193,230,60,253,193,158,61,253,193,160,61,253,193,162,61,253,193,164,61,253,193,166,61,253,193,108,62,253,193,110,62,253,193,112,62,253,193,70,63,253,193,72,63,253,193,74,63,253,193,76,63,253,193,78,63,253,193,50,64,253,193,52,64,253,193,54,64,253,193,56,64,253,193,58,64,253,193,24,65,253,193,26,65,253,193,28,65,253,193,6,66,253,193,8,66,253,193,10,66,253,193,12,66,253,193,202,59,253,193,204,59,253,193,206,59,253,193,208,59,253,193,210,59,253,193,72,60,253,193,74,60,253,193,76,60,253,193,78,60,253,193,80,60,253,193,82,60,253,193,84,60,253,193,86,60,253,193,88,60,253,193,90,60,253,193,92,60,253,193,94,60,253,193,96,60,253,193,98,60,253,193,100,60,253,193,102,60,253,193,104,60,253,193,106,60,253,193,108,60,253,193,110,60,253,193,112,60,253,193,114,60,253,193,116,60,253,193,118,60,253,193,120,60,253,193,122,60,253,193,4,61,253,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,0,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,193,6,61,253,193,8,61,253,193,10,61,253,193,12,61,253,193,14,61,253,193,16,61,253,193,18,61,253,193,20,61,253,193,22,61,253,193,24,61,253,193,26,61,253,193,28,61,253,193,30,61,253,193,32,61,253,193,34,61,253,193,36,61,253,193,38,61,253,193,40,61,253,193,42,61,253,193,44,61,253,193,46,61,253,193,124,60,253,193,48,61,253,193,50,61,253,193,52,61,253,193,54,61,253,193,56,61,253,193,58,61,253,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,193,128,60,253,193,130,60,253,193,132,60,253,193,134,60,253,193,136,60,253,193,138,60,253,193,140,60,253,193,142,60,253,193,144,60,253,193,146,60,253,193,148,60,253,193,150,60,253,193,152,60,253,193,154,60,253,193,60,61,253,193,62,61,253,193,64,61,253,193,66,61,253,193,68,61,253,193,70,61,253,193,238,61,253,193,240,61,253,193,242,61,253,193,244,61,253,193,246,61,253,193,248,61,253,193,250,61,253,193,252,61,253,193,210,62,253,193,254,61,253,193,212,62,253,193,214,62,253,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,32,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,64,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,96,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,128,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,206,160,93,0,193,134,63,253,193,200,62,253,193,202,62,253,193,204,62,253,193,206,62,253,193,136,63,253,193,138,63,253,193,140,63,253,193,142,63,253,193,144,63,253,193,146,63,253,193,148,63,253,193,150,63,253,193,152,63,253,193,154,63,253,193,208,62,253,206,224,93,0,206,224,93,0,206,224,93,0,206,224,93,0,206,224,93,0,193,216,62,253,193,218,62,253,193,220,62,253,193,222,62,253,193,224,62,253,193,226,62,253,193,228,62,253,193,230,62,253,193,232,62,253,193,234,62,253,193,236,62,253,193,238,62,253,193,240,62,253,193,178,63,253,193,180,63,253,193,182,63,253,193,184,63,253,193,186,63,253,193,188,63,253,193,190,63,253,193,192,63,253,193,194,63,253,193,196,63,253,193,166,64,253,193,168,64,253,193,170,64,253,193,172,64,253,193,174,64,253,193,176,64,253,193,178,64,253,193,108,65,253,193,110,65,253,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,206,192,93,0,193,198,63,253,193,200,63,253,193,68,63,253,193,92,63,253,193,94,63,253,193,96,63,253,193,98,63,253,193,100,63,253,193,102,63,253,193,104,63,253,193,106,63,253,193,108,63,253,193,110,63,253,193,112,63,253,193,114,63,253,193,116,63,253,193,118,63,253,193,120,63,253,193,76,64,253,193,78,64,253,193,80,64,253,193,82,64,253,193,84,64,253,193,86,64,253,193,88,64,253,193,90,64,253,193,92,64,253,193,94,64,253,193,96,64,253,193,98,64,253,193,100,64,253,193,102,64,253,193,104,64,253,193,106,64,253,193,108,64,253,206,224,93,0,206,224,93,0,206,224,93,0,206,224,93,0,206,224,93,0,206,224,93,0,193,138,64,253,193,140,64,253,193,142,64,253,193,144,64,253,193,146,64,253,193,148,64,253,193,150,64,253,193,152,64,253,193,154,64,253,193,156,64,253,193,158,64,253,193,160,64,253,193,162,64,253,193,164,64,253,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,206,0,94,0,193,180,64,253,193,182,64,253,193,184,64,253,193,186,64,253,193,188,64,253,193,190,64,253,193,192,64,253,193,194,64,253,193,196,64,253,193,198,64,253,193,200,64,253,193,202,64,253,193,204,64,253,206,32,94,0,206,32,94,0,206,32,94,0,206,32,94,0,193,30,65,253,193,32,65,253,193,34,65,253,193,36,65,253,193,38,65,253,193,40,65,253,193,14,66,253,193,16,66,253,193,18,66,253,193,20,66,253,193,22,66,253,193,24,66,253,193,26,66,253,193,224,66,253,193,226,66,253,193,228,66,253,193,230,66,253,193,110,67,253,193,112,67,253,193,114,67,253,193,194,67,253,193,16,68,253,193,78,68,253,193,80,68,253,193,122,68,253,193,196,68,253,193,212,68,253,193,220,68,253,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,206,64,94,0,193,60,65,253,193,62,65,253,193,50,66,253,193,242,66,253,193,244,66,253,193,246,66,253,193,248,66,253,193,250,66,253,193,122,67,253,193,124,67,253,193,126,67,253,193,206,67,253,193,208,67,253,193,210,67,253,193,28,68,253,193,30,68,253,193,166,68,253,193,198,68,253,193,46,69,253,193,94,69,253,193,96,69,253,193,98,69,253,193,4,70,253,193,6,70,253,193,206,64,253,193,208,64,253,193,210,64,253,193,212,64,253,193,214,64,253,193,216,64,253,193,218,64,253,193,220,64,253,193,222,64,253,193,224,64,253,193,226,64,253,193,228,64,253,193,230,64,253,193,232,64,253,193,234,64,253,193,236,64,253,193,238,64,253,193,240,64,253,193,242,64,253,193,244,64,253,193,246,64,253,193,248,64,253,193,250,64,253,193,252,64,253,193,254,64,253,193,2,65,253,193,4,65,253,193,6,65,253,193,8,65,253,193,10,65,253,193,12,65,253,193,14,65,253,193,16,65,253,193,18,65,253,193,20,65,253,193,118,65,253,193,22,65,253,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,193,42,65,253,193,44,65,253,193,46,65,253,193,48,65,253,193,50,65,253,193,52,65,253,193,54,65,253,193,56,65,253,193,58,65,253,193,28,66,253,193,30,66,253,193,32,66,253,193,34,66,253,193,36,66,253,193,38,66,253,193,40,66,253,193,42,66,253,193,44,66,253,193,46,66,253,193,48,66,253,193,232,66,253,193,234,66,253,193,236,66,253,193,238,66,253,193,240,66,253,193,116,67,253,193,118,67,253,193,120,67,253,193,196,67,253,193,198,67,253,193,200,67,253,193,202,67,253,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,206,96,94,0,193,52,66,253,193,54,66,253,193,56,66,253,193,58,66,253,193,60,66,253,193,62,66,253,193,104,65,253,193,64,66,253,193,66,66,253,193,68,66,253,193,70,66,253,193,72,66,253,193,74,66,253,193,76,66,253,193,78,66,253,193,80,66,253,193,82,66,253,193,84,66,253,193,86,66,253,193,88,66,253,193,90,66,253,193,92,66,253,193,94,66,253,193,96,66,253,193,106,65,253,193,252,66,253,193,254,66,253,193,2,67,253,193,4,67,253,193,6,67,253,193,8,67,253,193,10,67,253,193,12,67,253,193,14,67,253,193,128,67,253,193,130,67,253,193,132,67,253,193,134,67,253,193,136,67,253,193,138,67,253,193,212,67,253,193,214,67,253,193,216,67,253,193,218,67,253,193,220,67,253,193,222,67,253,193,224,67,253,193,32,68,253,193,34,68,253,193,36,68,253,193,38,68,253,193,40,68,253,193,42,68,253,193,92,68,253,193,94,68,253,193,96,68,253,193,112,65,253,193,114,65,253,193,116,65,253,193,98,66,253,193,100,66,253,193,102,66,253,193,104,66,253,193,106,66,253,193,16,67,253,193,18,67,253,193,140,67,253,193,142,67,253,193,226,67,253,193,44,68,253,193,46,68,253,193,100,68,253,193,138,68,253,193,202,68,253,193,50,69,253,193,52,69,253,193,54,69,253,193,56,69,253,193,58,69,253,193,104,69,253,193,106,69,253,193,108,69,253,193,110,69,253,193,214,69,253,193,14,70,253,193,52,70,253,193,54,70,253,193,120,70,253,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,206,128,94,0,193,108,66,253,193,110,66,253,193,112,66,253,193,114,66,253,193,116,66,253,193,118,66,253,193,120,66,253,193,122,66,253,193,124,66,253,193,126,66,253,193,128,66,253,193,130,66,253,193,132,66,253,193,134,66,253,193,136,66,253,193,138,66,253,193,4,66,253,193,140,66,253,193,142,66,253,193,144,66,253,193,146,66,253,193,148,66,253,193,150,66,253,193,152,66,253,193,154,66,253,193,156,66,253,193,158,66,253,193,160,66,253,193,162,66,253,193,164,66,253,193,166,66,253,193,168,66,253,193,170,66,253,193,172,66,253,193,174,66,253,193,176,66,253,193,178,66,253,193,180,66,253,193,182,66,253,193,184,66,253,193,186,66,253,193,188,66,253,193,190,66,253,193,192,66,253,193,194,66,253,193,196,66,253,193,198,66,253,193,200,66,253,193,202,66,253,193,204,66,253,193,206,66,253,193,208,66,253,193,210,66,253,193,212,66,253,193,214,66,253,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,193,216,66,253,193,218,66,253,193,220,66,253,193,102,67,253,193,104,67,253,193,106,67,253,193,108,67,253,193,190,67,253,193,192,67,253,193,76,68,253,193,144,69,253,193,146,69,253,193,190,69,253,193,80,70,253,193,82,70,253,193,108,70,253,193,150,70,253,193,172,70,253,193,38,71,253,193,146,71,253,193,22,72,253,193,24,72,253,193,248,72,253,193,250,72,253,193,252,72,253,193,138,73,253,193,34,74,253,193,36,74,253,193,152,74,253,193,154,74,253,193,254,74,253,193,2,75,253,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,206,160,94,0,193,144,67,253,193,146,67,253,193,148,67,253,193,150,67,253,193,152,67,253,193,154,67,253,193,156,67,253,193,158,67,253,193,160,67,253,193,162,67,253,193,164,67,253,193,166,67,253,193,168,67,253,193,170,67,253,193,172,67,253,193,174,67,253,193,176,67,253,193,178,67,253,193,180,67,253,193,182,67,253,193,184,67,253,193,186,67,253,193,188,67,253,193,228,67,253,193,230,67,253,193,232,67,253,193,234,67,253,193,236,67,253,193,238,67,253,193,240,67,253,193,242,67,253,193,244,67,253,193,246,67,253,193,248,67,253,193,250,67,253,193,252,67,253,193,254,67,253,193,2,68,253,193,4,68,253,193,6,68,253,193,8,68,253,193,10,68,253,193,12,68,253,193,14,68,253,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,193,204,67,253,193,18,68,253,193,20,68,253,193,22,68,253,193,24,68,253,193,26,68,253,193,82,68,253,193,84,68,253,193,86,68,253,193,88,68,253,193,90,68,253,193,124,68,253,193,126,68,253,193,184,68,253,193,254,68,253,193,44,69,253,193,92,69,253,193,150,69,253,193,152,69,253,193,154,69,253,193,156,69,253,193,158,69,253,193,192,69,253,193,194,69,253,193,196,69,253,193,198,69,253,193,174,70,253,193,176,70,253,193,178,70,253,193,204,70,253,193,212,70,253,193,40,71,253,206,192,94,0,206,192,94,0,206,192,94,0,206,192,94,0,193,102,68,253,193,104,68,253,193,106,68,253,193,108,68,253,193,110,68,253,193,112,68,253,193,114,68,253,193,116,68,253,193,118,68,253,193,120,68,253,193,140,68,253,193,142,68,253,193,144,68,253,193,146,68,253,193,148,68,253,193,150,68,253,193,152,68,253,193,154,68,253,193,156,68,253,193,158,68,253,193,160,68,253,193,162,68,253,193,164,68,253,193,172,68,253,193,174,68,253,193,176,68,253,193,178,68,253,193,180,68,253,193,98,68,253,193,128,68,253,193,130,68,253,193,132,68,253,193,134,68,253,193,136,68,253,193,168,68,253,193,170,68,253,193,200,68,253,193,186,68,253,193,188,68,253,193,230,68,253,193,242,68,253,193,2,69,253,193,4,69,253,193,6,69,253,193,48,69,253,193,100,69,253,193,102,69,253,193,160,69,253,193,162,69,253,193,164,69,253,193,200,69,253,193,202,69,253,193,204,69,253,193,206,69,253,193,208,69,253,193,210,69,253,193,212,69,253,193,10,70,253,193,12,70,253,193,50,70,253,193,182,68,253,193,190,68,253,193,192,68,253,193,194,68,253,193,204,68,253,193,206,68,253,193,208,68,253,193,210,68,253,193,214,68,253,193,216,68,253,193,218,68,253,193,222,68,253,193,224,68,253,193,226,68,253,193,228,68,253,193,232,68,253,193,234,68,253,193,236,68,253,193,240,68,253,193,244,68,253,193,246,68,253,193,248,68,253,193,250,68,253,193,252,68,253,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,193,238,68,253,193,42,69,253,193,90,69,253,193,148,69,253,193,244,69,253,193,246,69,253,193,248,69,253,193,250,69,253,193,252,69,253,193,254,69,253,193,2,70,253,193,38,70,253,193,84,70,253,193,86,70,253,193,88,70,253,193,110,70,253,193,152,70,253,193,148,71,253,193,26,72,253,193,28,72,253,193,30,72,253,193,148,72,253,193,140,73,253,193,142,73,253,193,38,74,253,193,40,74,253,193,156,74,253,193,4,75,253,193,6,75,253,193,8,75,253,193,148,75,253,193,240,75,253,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,206,224,94,0,193,60,69,253,193,62,69,253,193,64,69,253,193,66,69,253,193,68,69,253,193,70,69,253,193,72,69,253,193,74,69,253,193,76,69,253,193,78,69,253,193,80,69,253,193,82,69,253,193,84,69,253,193,86,69,253,193,88,69,253,206,0,95,0,206,0,95,0,206,0,95,0,206,0,95,0,206,0,95,0,206,0,95,0,206,0,95,0,206,0,95,0,193,166,69,253,193,168,69,253,193,170,69,253,193,172,69,253,193,174,69,253,193,176,69,253,193,178,69,253,193,180,69,253,193,182,69,253,193,184,69,253,193,186,69,253,193,188,69,253,193,216,69,253,193,218,69,253,193,220,69,253,193,222,69,253,193,224,69,253,193,226,69,253,193,228,69,253,193,230,69,253,193,232,69,253,193,234,69,253,193,236,69,253,193,238,69,253,193,240,69,253,193,242,69,253,193,16,70,253,193,18,70,253,193,20,70,253,193,22,70,253,193,56,70,253,193,24,70,253,193,26,70,253,193,28,70,253,193,30,70,253,193,32,70,253,193,34,70,253,193,36,70,253,193,58,70,253,193,60,70,253,193,62,70,253,193,64,70,253,193,66,70,253,193,68,70,253,193,70,70,253,193,72,70,253,193,74,70,253,193,76,70,253,193,78,70,253,193,96,70,253,193,98,70,253,193,100,70,253,193,102,70,253,193,104,70,253,193,106,70,253,193,122,70,253,193,8,70,253,193,40,70,253,193,42,70,253,193,44,70,253,193,46,70,253,193,48,70,253,193,90,70,253,193,154,70,253,193,222,70,253,193,224,70,253,193,42,71,253,193,44,71,253,193,162,71,253,193,46,72,253,193,48,72,253,193,50,72,253,193,52,72,253,193,160,72,253,193,4,73,253,193,162,73,253,193,164,73,253,193,166,73,253,193,168,73,253,193,170,73,253,193,172,73,253,193,174,73,253,193,176,73,253,193,48,74,253,193,50,74,253,193,52,74,253,193,54,74,253,193,164,74,253,193,92,70,253,193,94,70,253,193,112,70,253,193,114,70,253,193,116,70,253,193,118,70,253,193,156,70,253,193,180,70,253,193,206,70,253,193,216,70,253,193,218,70,253,193,220,70,253,193,226,70,253,193,228,70,253,193,250,70,253,193,252,70,253,193,254,70,253,193,2,71,253,193,4,71,253,193,6,71,253,193,8,71,253,193,10,71,253,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,193,124,70,253,193,126,70,253,193,128,70,253,193,130,70,253,193,132,70,253,193,134,70,253,193,136,70,253,193,138,70,253,193,140,70,253,193,142,70,253,193,144,70,253,193,146,70,253,193,148,70,253,193,160,70,253,193,162,70,253,193,164,70,253,193,166,70,253,193,168,70,253,193,170,70,253,193,182,70,253,193,184,70,253,193,186,70,253,193,188,70,253,193,190,70,253,193,192,70,253,193,194,70,253,193,196,70,253,193,200,70,253,193,202,70,253,193,208,70,253,193,210,70,253,193,214,70,253,193,158,70,253,193,198,70,253,193,230,70,253,193,232,70,253,193,234,70,253,193,12,71,253,193,74,71,253,193,76,71,253,193,78,71,253,193,80,71,253,193,82,71,253,193,84,71,253,193,86,71,253,193,88,71,253,193,90,71,253,193,216,71,253,193,218,71,253,193,220,71,253,193,222,71,253,193,86,72,253,193,88,72,253,193,90,72,253,193,92,72,253,193,94,72,253,193,180,72,253,193,182,72,253,193,184,72,253,193,186,72,253,193,52,73,253,193,54,73,253,193,56,73,253,193,58,73,253,193,236,70,253,193,238,70,253,193,240,70,253,193,242,70,253,193,244,70,253,193,246,70,253,193,248,70,253,193,14,71,253,193,16,71,253,193,18,71,253,193,20,71,253,193,22,71,253,193,24,71,253,193,26,71,253,193,28,71,253,193,30,71,253,193,32,71,253,193,34,71,253,193,36,71,253,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,32,95,0,206,32,95,0,206,32,95,0,206,32,95,0,193,164,71,253,193,166,71,253,193,168,71,253,193,170,71,253,193,172,71,253,193,174,71,253,193,176,71,253,193,178,71,253,193,180,71,253,193,54,72,253,193,182,71,253,193,184,71,253,193,186,71,253,193,188,71,253,193,190,71,253,193,192,71,253,193,194,71,253,193,196,71,253,193,198,71,253,193,200,71,253,193,202,71,253,193,204,71,253,193,206,71,253,193,208,71,253,193,210,71,253,193,212,71,253,193,56,72,253,193,58,72,253,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,64,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,193,150,71,253,193,152,71,253,193,154,71,253,193,156,71,253,193,158,71,253,193,160,71,253,193,32,72,253,193,34,72,253,193,36,72,253,193,38,72,253,193,40,72,253,193,42,72,253,193,44,72,253,193,150,72,253,193,152,72,253,193,154,72,253,193,156,72,253,193,158,72,253,193,254,72,253,193,2,73,253,193,144,73,253,193,146,73,253,193,148,73,253,193,150,73,253,193,152,73,253,193,154,73,253,193,156,73,253,193,158,73,253,193,160,73,253,193,42,74,253,193,44,74,253,193,46,74,253,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,206,96,95,0,193,96,72,253,193,98,72,253,193,100,72,253,193,102,72,253,193,104,72,253,193,106,72,253,193,108,72,253,193,110,72,253,193,112,72,253,193,114,72,253,193,116,72,253,193,118,72,253,193,120,72,253,193,122,72,253,193,124,72,253,193,126,72,253,193,128,72,253,193,130,72,253,193,132,72,253,193,134,72,253,193,136,72,253,193,138,72,253,193,140,72,253,193,142,72,253,193,60,72,253,193,62,72,253,193,64,72,253,193,66,72,253,193,68,72,253,193,70,72,253,193,72,72,253,193,74,72,253,193,76,72,253,193,78,72,253,193,80,72,253,193,82,72,253,193,84,72,253,193,162,72,253,193,164,72,253,193,166,72,253,193,168,72,253,193,170,72,253,193,172,72,253,193,174,72,253,193,176,72,253,193,178,72,253,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,193,144,72,253,193,146,72,253,193,188,72,253,193,190,72,253,193,192,72,253,193,194,72,253,193,196,72,253,193,198,72,253,193,200,72,253,193,202,72,253,193,204,72,253,193,206,72,253,193,208,72,253,193,210,72,253,193,212,72,253,193,214,72,253,193,216,72,253,193,218,72,253,193,220,72,253,193,222,72,253,193,224,72,253,193,226,72,253,193,228,72,253,193,230,72,253,193,232,72,253,193,234,72,253,193,236,72,253,193,238,72,253,193,240,72,253,193,242,72,253,193,244,72,253,193,246,72,253,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,206,128,95,0,193,178,73,253,193,180,73,253,193,182,73,253,193,184,73,253,193,186,73,253,193,188,73,253,193,190,73,253,193,192,73,253,193,194,73,253,193,196,73,253,193,198,73,253,193,200,73,253,193,202,73,253,193,204,73,253,193,206,73,253,193,208,73,253,193,56,74,253,193,58,74,253,193,60,74,253,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,160,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,193,210,73,253,193,212,73,253,193,214,73,253,193,216,73,253,193,218,73,253,193,74,74,253,193,76,74,253,193,78,74,253,193,80,74,253,193,82,74,253,193,84,74,253,193,188,74,253,193,190,74,253,193,192,74,253,193,194,74,253,193,196,74,253,193,198,74,253,193,200,74,253,193,34,75,253,193,36,75,253,193,38,75,253,193,40,75,253,193,98,75,253,193,168,75,253,193,170,75,253,193,172,75,253,193,210,75,253,193,212,75,253,193,26,76,253,193,54,76,253,193,70,76,253,193,90,76,253,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,192,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,193,62,74,253,193,64,74,253,193,66,74,253,193,68,74,253,193,70,74,253,193,72,74,253,193,172,74,253,193,174,74,253,193,176,74,253,193,178,74,253,193,180,74,253,193,182,74,253,193,184,74,253,193,18,75,253,193,20,75,253,193,22,75,253,193,24,75,253,193,26,75,253,193,28,75,253,193,30,75,253,193,32,75,253,193,86,75,253,193,88,75,253,193,90,75,253,193,92,75,253,193,94,75,253,193,96,75,253,193,158,75,253,193,160,75,253,193,162,75,253,193,164,75,253,193,166,75,253,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,224,95,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,193,158,74,253,193,160,74,253,193,162,74,253,193,10,75,253,193,12,75,253,193,14,75,253,193,72,75,253,193,74,75,253,193,76,75,253,193,150,75,253,193,152,75,253,193,154,75,253,193,194,75,253,193,196,75,253,193,198,75,253,193,200,75,253,193,244,75,253,193,246,75,253,193,248,75,253,193,158,76,253,193,210,76,253,193,254,76,253,193,24,77,253,193,96,77,253,193,98,77,253,193,164,77,253,193,166,77,253,193,6,78,253,193,20,78,253,193,80,78,253,193,134,78,253,193,160,78,253,193,166,74,253,193,168,74,253,193,170,74,253,193,16,75,253,193,78,75,253,193,80,75,253,193,82,75,253,193,84,75,253,193,156,75,253,193,202,75,253,193,250,75,253,193,252,75,253,193,52,76,253,193,66,76,253,193,94,76,253,193,104,76,253,193,108,76,253,193,110,76,253,193,124,76,253,193,126,76,253,193,128,76,253,193,130,76,253,193,160,76,253,193,162,76,253,193,164,76,253,193,166,76,253,193,168,76,253,193,170,76,253,206,64,96,0,206,64,96,0,206,64,96,0,206,64,96,0,206,0,96,0,206,0,96,0,206,0,96,0,206,0,96,0,193,42,75,253,193,44,75,253,193,46,75,253,193,48,75,253,193,50,75,253,193,52,75,253,193,54,75,253,193,56,75,253,193,58,75,253,193,60,75,253,193,62,75,253,193,64,75,253,193,66,75,253,193,68,75,253,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,193,70,75,253,193,146,75,253,193,192,75,253,193,96,76,253,193,120,76,253,193,122,76,253,193,148,76,253,193,150,76,253,193,198,76,253,193,200,76,253,193,202,76,253,193,246,76,253,193,248,76,253,193,14,77,253,193,46,77,253,193,48,77,253,193,50,77,253,193,52,77,253,193,86,77,253,193,88,77,253,193,114,77,253,193,128,77,253,193,130,77,253,193,146,77,253,193,158,77,253,193,176,77,253,193,216,77,253,193,238,77,253,193,240,77,253,193,108,78,253,193,184,78,253,193,22,79,253,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,206,32,96,0,193,174,75,253,193,176,75,253,193,178,75,253,193,180,75,253,193,182,75,253,193,184,75,253,193,186,75,253,193,188,75,253,193,190,75,253,193,214,75,253,193,216,75,253,193,218,75,253,193,220,75,253,193,222,75,253,193,224,75,253,193,226,75,253,193,228,75,253,193,230,75,253,193,232,75,253,193,234,75,253,193,236,75,253,193,238,75,253,193,4,76,253,193,6,76,253,193,78,86,253,193,124,86,253,193,126,86,253,193,128,86,253,193,130,86,253,193,132,86,253,193,134,86,253,193,136,86,253,193,138,86,253,193,140,86,253,193,142,86,253,193,144,86,253,193,146,86,253,193,148,86,253,193,150,86,253,193,152,86,253,193,154,86,253,193,156,86,253,193,158,86,253,193,160,86,253,193,162,86,253,193,164,86,253,193,166,86,253,193,198,86,253,193,200,86,253,193,202,86,253,193,204,86,253,193,206,86,253,193,144,75,253,193,208,86,253,193,210,86,253,193,212,86,253,193,204,75,253,193,206,75,253,193,208,75,253,193,254,75,253,193,2,76,253,193,68,76,253,193,100,76,253,193,102,76,253,193,106,76,253,193,112,76,253,193,114,76,253,193,116,76,253,193,132,76,253,193,134,76,253,193,136,76,253,193,138,76,253,193,140,76,253,193,172,76,253,193,174,76,253,193,176,76,253,193,178,76,253,193,180,76,253,193,182,76,253,193,184,76,253,193,186,76,253,193,188,76,253,193,190,76,253,193,192,76,253,206,96,96,0,206,96,96,0,206,96,96,0,206,96,96,0,193,242,75,253,193,152,76,253,193,154,76,253,193,156,76,253,193,206,76,253,193,208,76,253,193,250,76,253,193,252,76,253,193,16,77,253,193,18,77,253,193,20,77,253,193,22,77,253,193,54,77,253,193,90,77,253,193,92,77,253,193,94,77,253,193,118,77,253,193,120,77,253,193,132,77,253,193,134,77,253,193,162,77,253,193,172,77,253,193,192,77,253,193,218,77,253,193,220,77,253,193,222,77,253,193,4,78,253,193,120,78,253,193,208,78,253,193,164,79,253,193,166,79,253,193,168,79,253,193,8,76,253,193,10,76,253,193,12,76,253,193,14,76,253,193,16,76,253,193,18,76,253,193,20,76,253,193,22,76,253,193,24,76,253,193,28,76,253,193,30,76,253,193,32,76,253,193,34,76,253,193,36,76,253,193,38,76,253,193,40,76,253,193,42,76,253,193,44,76,253,193,46,76,253,193,48,76,253,193,50,76,253,193,56,76,253,193,58,76,253,193,60,76,253,193,62,76,253,193,72,76,253,193,78,76,253,193,74,76,253,193,80,76,253,193,64,76,253,193,76,76,253,193,82,76,253,193,84,76,253,193,86,76,253,193,88,76,253,193,92,76,253,193,98,76,253,193,144,76,253,193,146,76,253,193,196,76,253,193,244,76,253,193,144,77,253,193,184,77,253,193,188,77,253,193,190,77,253,193,194,77,253,193,196,77,253,193,200,77,253,193,202,77,253,193,204,77,253,193,212,77,253,193,214,77,253,193,230,77,253,193,232,77,253,193,234,77,253,193,236,77,253,193,250,77,253,193,252,77,253,193,254,77,253,193,2,78,253,193,12,78,253,193,14,78,253,193,16,78,253,193,18,78,253,193,118,76,253,193,142,76,253,193,194,76,253,193,10,78,253,193,100,78,253,193,140,78,253,193,150,78,253,193,154,78,253,193,168,78,253,193,170,78,253,193,238,78,253,193,240,78,253,193,88,79,253,193,90,79,253,193,92,79,253,193,94,79,253,193,218,79,253,193,220,79,253,193,116,80,253,193,118,80,253,193,120,80,253,193,122,80,253,193,124,80,253,193,126,80,253,193,128,80,253,193,18,81,253,193,20,81,253,193,22,81,253,193,178,81,253,193,180,81,253,193,182,81,253,193,184,81,253,206,64,96,0,206,64,96,0,206,64,96,0,206,64,96,0,193,2,77,253,193,4,77,253,193,6,77,253,193,26,77,253,193,28,77,253,193,56,77,253,193,58,77,253,193,60,77,253,193,62,77,253,193,64,77,253,193,66,77,253,193,68,77,253,193,70,77,253,193,72,77,253,193,100,77,253,193,102,77,253,193,104,77,253,193,106,77,253,193,122,77,253,193,124,77,253,193,136,77,253,193,138,77,253,193,148,77,253,193,150,77,253,193,152,77,253,193,154,77,253,193,156,77,253,193,168,77,253,206,96,96,0,206,96,96,0,206,96,96,0,206,96,96,0,193,8,77,253,193,10,77,253,193,12,77,253,193,30,77,253,193,32,77,253,193,34,77,253,193,36,77,253,193,38,77,253,193,40,77,253,193,42,77,253,193,44,77,253,193,74,77,253,193,76,77,253,193,78,77,253,193,80,77,253,193,82,77,253,193,84,77,253,193,108,77,253,193,110,77,253,193,112,77,253,193,126,77,253,193,140,77,253,193,142,77,253,193,186,77,253,193,208,77,253,193,210,77,253,193,224,77,253,193,226,77,253,193,170,77,253,193,174,77,253,193,178,77,253,193,180,77,253,193,182,77,253,193,198,77,253,193,206,77,253,193,242,77,253,193,22,78,253,193,52,78,253,193,82,78,253,193,96,78,253,193,114,78,253,193,148,78,253,193,210,78,253,193,30,79,253,193,32,79,253,193,34,79,253,193,36,79,253,193,38,79,253,193,176,79,253,193,178,79,253,193,68,80,253,193,206,80,253,193,208,80,253,193,210,80,253,193,212,80,253,193,132,81,253,193,134,81,253,193,136,81,253,193,100,82,253,193,102,82,253,193,228,77,253,193,244,77,253,193,246,77,253,193,248,77,253,193,8,78,253,193,24,78,253,193,26,78,253,193,28,78,253,193,30,78,253,193,32,78,253,193,34,78,253,193,54,78,253,193,72,78,253,193,84,78,253,193,98,78,253,193,110,78,253,193,128,78,253,193,136,78,253,193,138,78,253,193,152,78,253,193,164,78,253,193,176,78,253,193,178,78,253,193,182,78,253,193,186,78,253,193,188,78,253,193,190,78,253,193,192,78,253,193,194,78,253,193,196,78,253,193,214,78,253,193,216,78,253,193,122,78,253,193,124,78,253,193,126,78,253,193,130,78,253,193,132,78,253,193,142,78,253,193,144,78,253,193,146,78,253,193,156,78,253,193,158,78,253,193,166,78,253,193,172,78,253,193,174,78,253,193,198,78,253,193,200,78,253,193,202,78,253,193,204,78,253,193,242,78,253,193,244,78,253,193,246,78,253,193,248,78,253,193,250,78,253,193,252,78,253,193,254,78,253,193,2,79,253,193,4,79,253,193,6,79,253,193,8,79,253,193,10,79,253,193,12,79,253,193,14,79,253,193,16,79,253,193,162,78,253,193,24,79,253,193,26,79,253,193,28,79,253,193,172,79,253,193,174,79,253,193,50,80,253,193,52,80,253,193,54,80,253,193,56,80,253,193,58,80,253,193,60,80,253,193,62,80,253,193,64,80,253,193,66,80,253,193,200,80,253,193,202,80,253,193,204,80,253,193,124,81,253,193,126,81,253,193,128,81,253,193,130,81,253,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,193,218,78,253,193,220,78,253,193,222,78,253,193,224,78,253,193,226,78,253,193,228,78,253,193,230,78,253,193,232,78,253,193,234,78,253,193,236,78,253,193,40,79,253,193,42,79,253,193,44,79,253,193,46,79,253,193,48,79,253,193,50,79,253,193,52,79,253,193,54,79,253,193,56,79,253,193,58,79,253,193,60,79,253,193,62,79,253,193,64,79,253,193,66,79,253,193,68,79,253,193,70,79,253,193,72,79,253,193,74,79,253,193,76,79,253,193,78,79,253,193,80,79,253,193,82,79,253,193,18,79,253,193,20,79,253,193,96,79,253,193,98,79,253,193,100,79,253,193,102,79,253,193,104,79,253,193,106,79,253,193,108,79,253,193,110,79,253,193,112,79,253,193,114,79,253,193,116,79,253,193,118,79,253,193,120,79,253,193,122,79,253,193,124,79,253,193,126,79,253,193,128,79,253,193,130,79,253,193,132,79,253,193,134,79,253,193,136,79,253,193,138,79,253,193,140,79,253,193,142,79,253,193,144,79,253,193,146,79,253,193,148,79,253,193,150,79,253,193,152,79,253,193,154,79,253,193,180,79,253,193,182,79,253,193,184,79,253,193,186,79,253,193,188,79,253,193,190,79,253,193,192,79,253,193,194,79,253,193,196,79,253,193,198,79,253,193,200,79,253,193,202,79,253,193,84,79,253,193,204,79,253,193,206,79,253,193,208,79,253,193,210,79,253,193,212,79,253,193,214,79,253,193,216,79,253,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,193,156,79,253,193,158,79,253,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,193,160,79,253,193,162,79,253,193,38,80,253,193,40,80,253,193,42,80,253,193,194,80,253,193,100,81,253,193,102,81,253,193,104,81,253,193,106,81,253,193,108,81,253,193,34,82,253,193,36,82,253,193,38,82,253,193,40,82,253,193,42,82,253,193,44,82,253,193,46,82,253,193,48,82,253,193,48,83,253,193,50,83,253,193,52,83,253,193,54,83,253,193,56,83,253,193,58,83,253,193,60,83,253,193,230,83,253,193,232,83,253,193,234,83,253,193,236,83,253,193,146,84,253,193,148,84,253,193,170,79,253,193,44,80,253,193,46,80,253,193,48,80,253,193,196,80,253,193,198,80,253,193,110,81,253,193,112,81,253,193,114,81,253,193,116,81,253,193,118,81,253,193,120,81,253,193,122,81,253,193,50,82,253,193,52,82,253,193,54,82,253,193,56,82,253,193,58,82,253,193,60,82,253,193,66,83,253,193,68,83,253,193,70,83,253,193,72,83,253,193,74,83,253,193,76,83,253,193,78,83,253,193,238,83,253,193,240,83,253,193,242,83,253,193,244,83,253,193,246,83,253,193,248,83,253,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,128,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,160,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,192,96,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,206,224,96,0,193,138,81,253,193,140,81,253,193,142,81,253,193,144,81,253,193,146,81,253,193,148,81,253,193,150,81,253,193,152,81,253,193,154,81,253,193,156,81,253,193,158,81,253,193,160,81,253,193,162,81,253,193,164,81,253,193,166,81,253,193,168,81,253,193,170,81,253,193,172,81,253,193,174,81,253,193,176,81,253,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,0,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,193,186,81,253,193,172,82,253,193,140,83,253,193,142,83,253,193,144,83,253,193,146,83,253,193,46,84,253,193,48,84,253,193,50,84,253,193,52,84,253,193,230,84,253,193,232,84,253,193,234,84,253,193,236,84,253,193,152,85,253,193,24,86,253,193,26,86,253,193,122,86,253,193,70,87,253,193,106,87,253,193,136,87,253,193,200,87,253,193,202,87,253,193,204,87,253,193,66,88,253,193,68,88,253,193,70,88,253,193,206,88,253,193,208,88,253,193,210,88,253,193,212,88,253,193,214,88,253,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,206,32,97,0,193,174,82,253,193,4,82,253,193,6,82,253,193,8,82,253,193,10,82,253,193,12,82,253,193,14,82,253,193,16,82,253,193,18,82,253,193,20,82,253,193,22,82,253,193,24,82,253,193,26,82,253,193,28,82,253,193,30,82,253,193,176,82,253,193,178,82,253,193,180,82,253,193,32,82,253,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,206,64,97,0,193,80,83,253,193,82,83,253,193,84,83,253,193,86,83,253,193,88,83,253,193,90,83,253,193,92,83,253,193,94,83,253,193,96,83,253,193,98,83,253,193,100,83,253,193,102,83,253,193,104,83,253,193,250,83,253,193,252,83,253,193,254,83,253,193,2,84,253,193,4,84,253,193,6,84,253,193,8,84,253,193,176,84,253,193,178,84,253,193,180,84,253,193,104,82,253,193,106,82,253,193,108,82,253,193,110,82,253,193,112,82,253,193,114,82,253,193,106,83,253,193,108,83,253,193,110,83,253,193,10,84,253,193,12,84,253,193,14,84,253,193,16,84,253,193,18,84,253,193,200,84,253,193,202,84,253,193,204,84,253,193,206,84,253,193,124,85,253,193,126,85,253,193,128,85,253,193,130,85,253,193,10,86,253,193,12,86,253,193,14,86,253,193,16,86,253,193,18,86,253,193,230,86,253,193,52,87,253,193,94,87,253,193,96,87,253,193,166,87,253,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,96,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,206,128,97,0,193,148,83,253,193,150,83,253,193,152,83,253,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,206,160,97,0,193,20,84,253,193,22,84,253,193,24,84,253,193,26,84,253,193,28,84,253,193,30,84,253,193,32,84,253,193,34,84,253,193,36,84,253,193,38,84,253,193,40,84,253,193,42,84,253,193,208,84,253,193,44,84,253,193,210,84,253,193,212,84,253,193,214,84,253,193,216,84,253,193,218,84,253,193,220,84,253,193,222,84,253,193,224,84,253,193,226,84,253,193,132,85,253,193,134,85,253,193,136,85,253,193,154,83,253,193,156,83,253,193,158,83,253,193,160,83,253,193,162,83,253,193,164,83,253,193,166,83,253,193,168,83,253,193,170,83,253,193,172,83,253,193,174,83,253,193,176,83,253,193,178,83,253,193,180,83,253,193,182,83,253,193,184,83,253,193,186,83,253,193,188,83,253,193,190,83,253,193,192,83,253,193,194,83,253,193,196,83,253,193,198,83,253,193,200,83,253,193,202,83,253,193,204,83,253,193,206,83,253,193,208,83,253,193,210,83,253,193,212,83,253,193,214,83,253,193,216,83,253,193,218,83,253,193,220,83,253,193,222,83,253,193,224,83,253,193,226,83,253,193,228,83,253,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,192,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,206,224,97,0,193,150,84,253,193,152,84,253,193,154,84,253,193,156,84,253,193,80,85,253,193,82,85,253,193,84,85,253,193,86,85,253,193,88,85,253,193,90,85,253,193,92,85,253,193,222,85,253,193,82,86,253,193,84,86,253,193,86,86,253,193,88,86,253,193,168,86,253,193,170,86,253,193,12,87,253,193,14,87,253,193,16,87,253,193,18,87,253,193,40,87,253,193,160,87,253,193,10,88,253,193,12,88,253,193,128,88,253,193,130,88,253,193,24,89,253,193,164,89,253,193,166,89,253,193,168,89,253,193,158,84,253,193,160,84,253,193,162,84,253,193,164,84,253,193,166,84,253,193,168,84,253,193,170,84,253,193,172,84,253,193,174,84,253,193,94,85,253,193,96,85,253,193,98,85,253,193,100,85,253,193,102,85,253,193,104,85,253,193,106,85,253,193,108,85,253,193,226,85,253,193,228,85,253,193,230,85,253,193,232,85,253,193,234,85,253,193,236,85,253,193,238,85,253,193,240,85,253,193,242,85,253,193,244,85,253,193,246,85,253,206,64,98,0,206,64,98,0,206,64,98,0,206,64,98,0,193,182,84,253,193,184,84,253,193,186,84,253,193,188,84,253,193,190,84,253,193,192,84,253,193,194,84,253,193,196,84,253,193,198,84,253,193,110,85,253,193,112,85,253,193,114,85,253,193,116,85,253,193,118,85,253,193,120,85,253,193,122,85,253,193,248,85,253,193,250,85,253,193,252,85,253,193,254,85,253,193,2,86,253,193,4,86,253,193,6,86,253,193,8,86,253,193,106,86,253,193,108,86,253,193,110,86,253,193,112,86,253,193,114,86,253,193,186,86,253,193,188,86,253,193,190,86,253,193,138,85,253,193,140,85,253,193,142,85,253,193,144,85,253,193,146,85,253,193,148,85,253,193,228,84,253,193,20,86,253,193,22,86,253,193,150,85,253,193,116,86,253,193,118,86,253,193,120,86,253,193,196,86,253,193,232,86,253,193,54,87,253,193,56,87,253,193,98,87,253,193,102,87,253,193,104,87,253,193,116,87,253,193,118,87,253,193,120,87,253,193,122,87,253,193,124,87,253,193,126,87,253,193,128,87,253,193,130,87,253,193,132,87,253,193,134,87,253,193,170,87,253,193,172,87,253,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,0,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,206,32,98,0,193,28,86,253,193,30,86,253,193,32,86,253,193,34,86,253,193,36,86,253,193,38,86,253,193,40,86,253,193,42,86,253,193,44,86,253,193,46,86,253,193,48,86,253,193,50,86,253,193,52,86,253,193,54,86,253,193,56,86,253,193,58,86,253,193,60,86,253,193,62,86,253,193,64,86,253,193,66,86,253,193,68,86,253,193,70,86,253,193,72,86,253,193,74,86,253,193,76,86,253,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,193,80,86,253,193,132,137,253,193,134,137,253,193,136,137,253,193,138,137,253,193,140,137,253,193,142,137,253,193,144,137,253,193,146,137,253,193,148,137,253,193,150,137,253,193,152,137,253,193,154,137,253,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,64,98,0,206,64,98,0,206,64,98,0,206,64,98,0,193,172,86,253,193,174,86,253,193,176,86,253,193,178,86,253,193,180,86,253,193,182,86,253,193,184,86,253,193,218,86,253,193,220,86,253,193,222,86,253,193,224,86,253,193,42,87,253,193,44,87,253,193,46,87,253,193,48,87,253,193,112,87,253,193,114,87,253,193,14,88,253,193,16,88,253,193,134,88,253,193,136,88,253,193,138,88,253,193,26,89,253,193,28,89,253,193,30,89,253,193,32,89,253,193,170,89,253,193,172,89,253,193,192,86,253,193,194,86,253,193,226,86,253,193,228,86,253,193,20,87,253,193,22,87,253,193,24,87,253,193,50,87,253,193,86,87,253,193,90,87,253,193,162,87,253,193,164,87,253,193,18,88,253,193,20,88,253,193,22,88,253,193,140,88,253,193,142,88,253,193,144,88,253,193,146,88,253,193,148,88,253,193,150,88,253,193,152,88,253,193,154,88,253,193,34,89,253,193,36,89,253,193,38,89,253,193,40,89,253,193,184,89,253,193,186,89,253,193,78,90,253,193,80,90,253,193,82,90,253,193,214,86,253,193,216,86,253,193,234,86,253,193,236,86,253,193,238,86,253,193,240,86,253,193,242,86,253,193,244,86,253,193,246,86,253,193,248,86,253,193,250,86,253,193,252,86,253,193,254,86,253,193,2,87,253,193,4,87,253,193,6,87,253,193,8,87,253,193,10,87,253,193,26,87,253,193,28,87,253,193,30,87,253,193,32,87,253,193,34,87,253,193,36,87,253,193,38,87,253,193,58,87,253,193,60,87,253,193,62,87,253,193,64,87,253,193,66,87,253,193,68,87,253,193,72,87,253,193,74,87,253,193,76,87,253,193,78,87,253,193,80,87,253,193,82,87,253,193,84,87,253,193,88,87,253,193,92,87,253,193,100,87,253,193,108,87,253,193,110,87,253,193,138,87,253,193,140,87,253,193,142,87,253,193,144,87,253,193,146,87,253,193,148,87,253,193,150,87,253,193,152,87,253,193,154,87,253,193,156,87,253,193,158,87,253,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,193,168,87,253,193,24,88,253,193,26,88,253,193,28,88,253,193,30,88,253,193,32,88,253,193,34,88,253,193,156,88,253,193,158,88,253,193,42,89,253,193,188,89,253,193,190,89,253,193,192,89,253,193,84,90,253,193,86,90,253,193,88,90,253,193,90,90,253,193,92,90,253,193,228,90,253,193,230,90,253,193,76,91,253,193,78,91,253,193,80,91,253,193,82,91,253,193,84,91,253,193,206,91,253,193,208,91,253,193,210,91,253,193,76,92,253,193,158,92,253,193,212,92,253,193,20,93,253,193,174,87,253,193,176,87,253,193,178,87,253,193,180,87,253,193,182,87,253,193,184,87,253,193,186,87,253,193,188,87,253,193,190,87,253,193,192,87,253,193,194,87,253,193,196,87,253,193,198,87,253,193,36,88,253,193,38,88,253,193,40,88,253,193,42,88,253,193,44,88,253,193,46,88,253,193,48,88,253,193,50,88,253,193,52,88,253,193,54,88,253,193,56,88,253,193,58,88,253,193,60,88,253,193,62,88,253,193,64,88,253,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,96,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,128,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,206,160,98,0,193,44,89,253,193,204,88,253,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,193,216,88,253,193,218,88,253,193,220,88,253,193,86,89,253,193,88,89,253,193,90,89,253,193,92,89,253,193,94,89,253,193,96,89,253,193,98,89,253,193,228,89,253,193,230,89,253,193,232,89,253,193,234,89,253,193,236,89,253,193,238,89,253,193,130,90,253,193,132,90,253,193,134,90,253,193,4,91,253,193,6,91,253,193,8,91,253,193,10,91,253,193,12,91,253,193,114,91,253,193,116,91,253,193,118,91,253,193,120,91,253,193,122,91,253,193,238,91,253,193,240,91,253,193,242,91,253,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,192,98,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,206,224,98,0,193,194,89,253,193,196,89,253,193,198,89,253,193,200,89,253,193,202,89,253,193,204,89,253,193,206,89,253,193,208,89,253,193,210,89,253,193,212,89,253,193,214,89,253,193,216,89,253,193,218,89,253,193,220,89,253,193,222,89,253,193,224,89,253,193,226,89,253,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,0,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,193,174,89,253,193,176,89,253,193,178,89,253,193,180,89,253,193,182,89,253,193,66,90,253,193,68,90,253,193,70,90,253,193,72,90,253,193,74,90,253,193,76,90,253,193,210,90,253,193,212,90,253,193,214,90,253,193,216,90,253,193,218,90,253,193,220,90,253,193,196,91,253,193,198,91,253,193,200,91,253,193,202,91,253,193,66,92,253,193,68,92,253,193,138,92,253,193,140,92,253,193,142,92,253,193,144,92,253,193,146,92,253,193,206,92,253,193,10,93,253,193,12,93,253,193,14,93,253,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,206,32,99,0,193,136,90,253,193,138,90,253,193,140,90,253,193,142,90,253,193,144,90,253,193,146,90,253,193,148,90,253,193,150,90,253,193,14,91,253,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,193,58,90,253,193,60,90,253,193,62,90,253,193,204,90,253,193,206,90,253,193,66,91,253,193,68,91,253,193,190,91,253,193,192,91,253,193,194,91,253,193,134,92,253,193,136,92,253,193,204,92,253,193,8,93,253,193,52,93,253,193,54,93,253,193,56,93,253,193,106,93,253,193,144,93,253,193,190,93,253,193,208,94,253,193,210,94,253,193,48,95,253,193,50,95,253,193,52,95,253,193,164,95,253,193,146,96,253,193,234,96,253,193,68,97,253,193,70,97,253,193,166,97,253,193,222,97,253,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,206,64,99,0,193,232,90,253,193,234,90,253,193,236,90,253,193,238,90,253,193,240,90,253,193,242,90,253,193,244,90,253,193,246,90,253,193,248,90,253,193,250,90,253,193,252,90,253,193,254,90,253,193,2,91,253,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,96,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,193,222,90,253,193,224,90,253,193,226,90,253,193,70,91,253,193,72,91,253,193,74,91,253,193,204,91,253,193,70,92,253,193,72,92,253,193,74,92,253,193,148,92,253,193,150,92,253,193,152,92,253,193,154,92,253,193,156,92,253,193,208,92,253,193,210,92,253,193,16,93,253,193,18,93,253,193,90,93,253,193,108,93,253,193,150,93,253,193,160,93,253,193,162,93,253,193,192,93,253,193,194,93,253,193,196,93,253,193,30,94,253,193,32,94,253,193,34,94,253,193,36,94,253,193,38,94,253,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,128,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,206,160,99,0,193,212,91,253,193,214,91,253,193,216,91,253,193,218,91,253,193,220,91,253,193,222,91,253,193,224,91,253,193,226,91,253,193,228,91,253,193,230,91,253,193,232,91,253,193,234,91,253,193,236,91,253,193,78,92,253,193,80,92,253,193,82,92,253,193,84,92,253,193,86,92,253,193,160,92,253,193,162,92,253,193,214,92,253,193,216,92,253,193,218,92,253,193,220,92,253,193,222,92,253,193,22,93,253,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,206,192,99,0,193,246,91,253,193,248,91,253,193,250,91,253,193,252,91,253,193,254,91,253,193,2,92,253,193,4,92,253,193,6,92,253,193,8,92,253,193,10,92,253,193,12,92,253,193,14,92,253,193,16,92,253,193,18,92,253,193,188,91,253,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,193,244,91,253,193,88,92,253,193,164,92,253,193,122,93,253,193,124,93,253,193,156,93,253,193,158,93,253,193,178,93,253,193,180,93,253,193,224,93,253,193,226,93,253,193,228,93,253,193,230,93,253,193,232,93,253,193,58,94,253,193,60,94,253,193,62,94,253,193,64,94,253,193,66,94,253,193,68,94,253,193,158,94,253,193,160,94,253,193,162,94,253,193,164,94,253,193,166,94,253,193,168,94,253,193,2,95,253,193,4,95,253,193,98,95,253,193,100,95,253,193,102,95,253,193,104,95,253,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,224,99,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,206,0,100,0,193,166,92,253,193,168,92,253,193,170,92,253,193,172,92,253,193,174,92,253,193,176,92,253,193,178,92,253,193,180,92,253,193,182,92,253,193,184,92,253,193,186,92,253,193,188,92,253,193,190,92,253,193,192,92,253,193,194,92,253,193,196,92,253,193,198,92,253,193,200,92,253,193,202,92,253,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,206,32,100,0,193,28,93,253,193,30,93,253,193,32,93,253,193,34,93,253,193,36,93,253,193,38,93,253,193,40,93,253,193,42,93,253,193,44,93,253,193,46,93,253,193,48,93,253,193,50,93,253,193,72,93,253,193,74,93,253,193,76,93,253,193,78,93,253,193,80,93,253,193,82,93,253,193,84,93,253,193,24,93,253,193,68,93,253,193,26,93,253,193,70,93,253,193,92,93,253,193,94,93,253,193,96,93,253,193,110,93,253,193,112,93,253,193,148,93,253,193,152,93,253,193,154,93,253,193,164,93,253,193,166,93,253,193,168,93,253,193,170,93,253,193,172,93,253,193,174,93,253,193,176,93,253,193,200,93,253,193,202,93,253,193,204,93,253,193,206,93,253,193,208,93,253,193,210,93,253,193,212,93,253,193,214,93,253,193,216,93,253,193,218,93,253,193,220,93,253,193,222,93,253,193,44,94,253,193,58,93,253,193,60,93,253,193,62,93,253,193,86,93,253,193,88,93,253,193,140,93,253,193,26,94,253,193,28,94,253,193,120,94,253,193,214,94,253,193,54,95,253,193,56,95,253,193,58,95,253,193,28,96,253,193,30,96,253,193,32,96,253,193,34,96,253,193,36,96,253,193,148,96,253,193,150,96,253,193,152,96,253,193,154,96,253,193,236,96,253,193,130,97,253,193,132,97,253,193,134,97,253,193,36,98,253,193,56,98,253,193,136,98,253,193,138,98,253,193,146,98,253,193,192,98,253,193,64,93,253,193,66,93,253,193,146,93,253,193,198,93,253,193,42,94,253,193,130,94,253,193,132,94,253,193,66,95,253,193,68,95,253,193,70,95,253,193,180,95,253,193,182,95,253,193,184,95,253,193,52,96,253,193,54,96,253,193,158,96,253,193,246,96,253,193,248,96,253,193,250,96,253,193,80,97,253,193,82,97,253,193,176,97,253,193,202,97,253,193,48,98,253,193,100,98,253,193,122,98,253,193,176,98,253,193,178,98,253,193,180,98,253,193,182,98,253,193,196,98,253,193,120,99,253,193,98,93,253,193,100,93,253,193,102,93,253,193,104,93,253,193,114,93,253,193,116,93,253,193,118,93,253,193,120,93,253,193,126,93,253,193,128,93,253,193,130,93,253,193,132,93,253,193,134,93,253,193,136,93,253,193,138,93,253,193,142,93,253,193,182,93,253,193,184,93,253,193,186,93,253,193,188,93,253,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,64,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,193,40,94,253,193,122,94,253,193,124,94,253,193,126,94,253,193,128,94,253,193,216,94,253,193,218,94,253,193,220,94,253,193,222,94,253,193,224,94,253,193,226,94,253,193,60,95,253,193,62,95,253,193,64,95,253,193,166,95,253,193,168,95,253,193,170,95,253,193,172,95,253,193,174,95,253,193,176,95,253,193,178,95,253,193,38,96,253,193,40,96,253,193,42,96,253,193,44,96,253,193,46,96,253,193,48,96,253,193,50,96,253,193,156,96,253,193,238,96,253,193,240,96,253,193,242,96,253,193,46,94,253,193,48,94,253,193,50,94,253,193,52,94,253,193,54,94,253,193,56,94,253,193,134,94,253,193,136,94,253,193,138,94,253,193,140,94,253,193,142,94,253,193,144,94,253,193,146,94,253,193,148,94,253,193,150,94,253,193,152,94,253,193,154,94,253,193,156,94,253,193,228,94,253,193,230,94,253,193,232,94,253,193,234,94,253,193,236,94,253,193,238,94,253,193,240,94,253,193,242,94,253,193,244,94,253,193,246,94,253,193,248,94,253,193,250,94,253,193,252,94,253,193,254,94,253,206,96,100,0,206,96,100,0,206,96,100,0,206,96,100,0,193,170,94,253,193,172,94,253,193,174,94,253,193,176,94,253,193,178,94,253,193,180,94,253,193,182,94,253,193,184,94,253,193,186,94,253,193,188,94,253,193,190,94,253,193,192,94,253,193,194,94,253,193,196,94,253,193,198,94,253,193,200,94,253,193,202,94,253,193,204,94,253,193,206,94,253,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,128,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,193,72,95,253,193,74,95,253,193,76,95,253,193,78,95,253,193,80,95,253,193,82,95,253,193,84,95,253,193,86,95,253,193,88,95,253,193,90,95,253,193,92,95,253,193,94,95,253,193,96,95,253,193,186,95,253,193,188,95,253,193,190,95,253,193,192,95,253,193,194,95,253,193,196,95,253,193,198,95,253,193,200,95,253,193,202,95,253,193,204,95,253,193,206,95,253,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,160,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,193,208,95,253,193,210,95,253,193,212,95,253,193,214,95,253,193,216,95,253,193,218,95,253,193,220,95,253,193,222,95,253,193,224,95,253,193,82,96,253,193,84,96,253,193,86,96,253,193,88,96,253,193,176,96,253,193,8,97,253,193,10,97,253,193,12,97,253,193,14,97,253,193,16,97,253,193,146,97,253,193,148,97,253,193,178,97,253,193,180,97,253,193,232,97,253,193,234,97,253,193,18,98,253,193,112,98,253,193,24,99,253,193,88,99,253,193,220,99,253,193,222,99,253,193,224,99,253,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,206,192,100,0,193,90,96,253,193,92,96,253,193,94,96,253,193,96,96,253,193,98,96,253,193,100,96,253,193,102,96,253,193,104,96,253,193,106,96,253,193,108,96,253,193,110,96,253,193,112,96,253,193,114,96,253,193,116,96,253,193,118,96,253,193,120,96,253,193,122,96,253,193,124,96,253,193,126,96,253,193,128,96,253,193,130,96,253,193,132,96,253,193,134,96,253,193,136,96,253,193,138,96,253,193,140,96,253,193,142,96,253,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,206,224,100,0,193,160,96,253,193,162,96,253,193,164,96,253,193,166,96,253,193,168,96,253,193,170,96,253,193,172,96,253,193,174,96,253,193,252,96,253,193,254,96,253,193,2,97,253,193,4,97,253,193,6,97,253,193,84,97,253,193,86,97,253,193,88,97,253,193,90,97,253,193,92,97,253,193,94,97,253,193,96,97,253,193,140,97,253,193,142,97,253,193,144,97,253,193,204,97,253,193,224,97,253,193,226,97,253,193,228,97,253,193,144,96,253,193,178,96,253,193,180,96,253,193,182,96,253,193,184,96,253,193,186,96,253,193,188,96,253,193,190,96,253,193,192,96,253,193,194,96,253,193,196,96,253,193,198,96,253,193,200,96,253,193,202,96,253,193,204,96,253,193,206,96,253,193,208,96,253,193,210,96,253,193,212,96,253,193,214,96,253,193,216,96,253,193,218,96,253,193,220,96,253,193,222,96,253,193,224,96,253,193,226,96,253,193,228,96,253,193,230,96,253,193,232,96,253,193,18,97,253,193,20,97,253,193,22,97,253,193,244,96,253,193,72,97,253,193,74,97,253,193,76,97,253,193,78,97,253,193,136,97,253,193,138,97,253,193,168,97,253,193,170,97,253,193,172,97,253,193,174,97,253,193,198,97,253,193,200,97,253,193,246,97,253,193,38,98,253,193,46,98,253,193,74,98,253,193,86,98,253,193,120,98,253,193,140,98,253,193,148,98,253,193,150,98,253,193,152,98,253,193,158,98,253,193,160,98,253,193,168,98,253,193,174,98,253,193,208,98,253,193,212,98,253,193,214,98,253,193,222,98,253,193,224,98,253,193,24,97,253,193,26,97,253,193,28,97,253,193,30,97,253,193,32,97,253,193,34,97,253,193,36,97,253,193,38,97,253,193,40,97,253,193,42,97,253,193,44,97,253,193,46,97,253,193,48,97,253,193,50,97,253,193,52,97,253,193,54,97,253,193,56,97,253,193,58,97,253,193,60,97,253,193,62,97,253,193,64,97,253,193,66,97,253,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,206,0,101,0,193,150,97,253,193,152,97,253,193,154,97,253,193,156,97,253,193,158,97,253,193,160,97,253,193,162,97,253,193,164,97,253,193,182,97,253,193,184,97,253,193,186,97,253,193,188,97,253,193,190,97,253,193,192,97,253,193,194,97,253,193,196,97,253,193,206,97,253,193,208,97,253,193,210,97,253,193,212,97,253,193,214,97,253,193,216,97,253,193,218,97,253,193,220,97,253,193,236,97,253,193,238,97,253,193,230,97,253,193,248,97,253,193,250,97,253,193,2,98,253,193,4,98,253,193,10,98,253,193,30,98,253,193,32,98,253,193,40,98,253,193,50,98,253,193,52,98,253,193,88,98,253,193,98,98,253,193,102,98,253,193,110,98,253,193,124,98,253,193,198,98,253,193,242,98,253,193,244,98,253,193,246,98,253,193,248,98,253,193,250,98,253,193,252,98,253,193,254,98,253,193,2,99,253,193,4,99,253,193,6,99,253,193,8,99,253,193,10,99,253,193,12,99,253,193,14,99,253,193,16,99,253,193,240,97,253,193,242,97,253,193,244,97,253,193,252,97,253,193,254,97,253,193,6,98,253,193,8,98,253,193,12,98,253,193,14,98,253,193,16,98,253,193,20,98,253,193,22,98,253,193,24,98,253,193,26,98,253,193,28,98,253,193,34,98,253,193,42,98,253,193,44,98,253,193,58,98,253,193,60,98,253,193,62,98,253,193,64,98,253,193,66,98,253,193,68,98,253,193,70,98,253,193,72,98,253,193,78,98,253,193,80,98,253,193,82,98,253,193,84,98,253,193,90,98,253,193,92,98,253,193,54,98,253,193,118,98,253,193,134,98,253,193,156,98,253,193,190,98,253,193,210,98,253,193,106,99,253,193,108,99,253,193,110,99,253,193,112,99,253,193,28,100,253,193,30,100,253,193,32,100,253,193,34,100,253,193,36,100,253,193,24,101,253,193,26,101,253,193,28,101,253,193,30,101,253,193,32,101,253,193,34,101,253,193,22,102,253,193,24,102,253,193,26,102,253,193,28,102,253,193,30,102,253,193,32,102,253,193,34,102,253,193,36,102,253,193,98,103,253,193,100,103,253,193,102,103,253,193,94,98,253,193,96,98,253,193,114,98,253,193,106,98,253,193,108,98,253,193,116,98,253,193,126,98,253,193,128,98,253,193,130,98,253,193,132,98,253,193,142,98,253,193,144,98,253,193,154,98,253,193,162,98,253,193,164,98,253,193,166,98,253,193,170,98,253,193,172,98,253,193,186,98,253,193,188,98,253,193,200,98,253,193,202,98,253,193,204,98,253,193,206,98,253,193,218,98,253,193,232,98,253,193,234,98,253,193,238,98,253,193,240,98,253,193,26,99,253,193,28,99,253,193,30,99,253,193,194,98,253,193,220,98,253,193,38,100,253,193,40,100,253,193,42,100,253,193,44,100,253,193,36,101,253,193,38,101,253,193,40,101,253,193,42,101,253,193,44,101,253,193,46,101,253,193,48,101,253,193,40,102,253,193,42,102,253,193,44,102,253,193,46,102,253,193,48,102,253,193,50,102,253,193,52,102,253,193,116,103,253,193,118,103,253,193,120,103,253,193,122,103,253,193,124,103,253,193,126,103,253,193,128,103,253,193,130,103,253,193,132,103,253,193,134,103,253,193,136,103,253,193,138,103,253,193,226,98,253,193,228,98,253,193,230,98,253,193,236,98,253,193,114,99,253,193,116,99,253,193,118,99,253,193,46,100,253,193,48,100,253,193,50,100,253,193,52,100,253,193,54,100,253,193,56,100,253,193,58,100,253,193,50,101,253,193,52,101,253,193,54,101,253,193,54,102,253,193,56,102,253,193,58,102,253,193,60,102,253,193,62,102,253,193,64,102,253,193,66,102,253,193,142,103,253,193,144,103,253,193,146,103,253,193,148,103,253,193,150,103,253,193,152,103,253,193,154,103,253,193,156,103,253,193,18,99,253,193,20,99,253,193,22,99,253,193,36,99,253,193,38,99,253,193,40,99,253,193,42,99,253,193,44,99,253,193,46,99,253,193,48,99,253,193,50,99,253,193,52,99,253,193,54,99,253,193,56,99,253,193,58,99,253,193,60,99,253,193,62,99,253,193,64,99,253,193,66,99,253,193,68,99,253,193,70,99,253,193,72,99,253,193,74,99,253,193,76,99,253,193,78,99,253,193,80,99,253,193,82,99,253,193,84,99,253,193,86,99,253,193,124,99,253,193,126,99,253,193,128,99,253,193,32,99,253,193,34,99,253,193,90,99,253,193,92,99,253,193,94,99,253,193,96,99,253,193,98,99,253,193,100,99,253,193,102,99,253,193,104,99,253,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,193,122,99,253,193,60,100,253,193,62,100,253,193,64,100,253,193,56,101,253,193,58,101,253,193,60,101,253,193,68,102,253,193,70,102,253,193,72,102,253,193,74,102,253,193,76,102,253,193,78,102,253,193,162,103,253,193,164,103,253,193,166,103,253,193,168,103,253,193,170,103,253,193,172,103,253,193,174,103,253,193,176,103,253,193,80,105,253,193,82,105,253,193,84,105,253,193,86,105,253,193,88,105,253,193,90,105,253,193,214,106,253,193,216,106,253,193,218,106,253,193,220,106,253,193,222,106,253,193,130,99,253,193,132,99,253,193,134,99,253,193,136,99,253,193,138,99,253,193,140,99,253,193,142,99,253,193,144,99,253,193,146,99,253,193,148,99,253,193,150,99,253,193,152,99,253,193,154,99,253,193,156,99,253,193,158,99,253,193,160,99,253,193,162,99,253,193,164,99,253,193,166,99,253,193,168,99,253,193,170,99,253,193,172,99,253,193,174,99,253,193,176,99,253,193,178,99,253,193,180,99,253,193,182,99,253,193,184,99,253,193,186,99,253,193,188,99,253,193,190,99,253,193,192,99,253,193,194,99,253,193,196,99,253,193,198,99,253,193,200,99,253,193,202,99,253,193,204,99,253,193,206,99,253,193,208,99,253,193,210,99,253,193,212,99,253,193,214,99,253,193,216,99,253,193,218,99,253,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,193,226,99,253,193,214,100,253,193,216,100,253,193,218,100,253,193,180,101,253,193,182,101,253,193,184,101,253,193,186,101,253,193,188,101,253,193,190,101,253,193,192,101,253,193,220,102,253,193,222,102,253,193,224,102,253,193,226,102,253,193,228,102,253,193,230,102,253,193,232,102,253,193,234,102,253,193,90,104,253,193,92,104,253,193,94,104,253,193,96,104,253,193,222,105,253,193,224,105,253,193,226,105,253,193,228,105,253,193,230,105,253,193,232,105,253,193,86,107,253,193,88,107,253,193,90,107,253,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,206,32,101,0,193,220,100,253,193,222,100,253,193,224,100,253,193,226,100,253,193,228,100,253,193,230,100,253,193,232,100,253,193,234,100,253,193,236,100,253,193,238,100,253,193,240,100,253,193,242,100,253,193,244,100,253,193,246,100,253,193,248,100,253,193,250,100,253,193,252,100,253,193,254,100,253,193,2,101,253,193,4,101,253,193,6,101,253,193,8,101,253,193,10,101,253,193,12,101,253,193,14,101,253,193,16,101,253,193,18,101,253,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,206,64,101,0,193,62,101,253,193,64,101,253,193,66,101,253,193,68,101,253,193,70,101,253,193,72,101,253,193,74,101,253,193,178,103,253,193,76,101,253,193,78,101,253,193,80,101,253,193,82,101,253,193,84,101,253,193,86,101,253,193,88,101,253,193,90,101,253,193,92,101,253,193,94,101,253,193,96,101,253,193,98,101,253,193,100,101,253,193,102,101,253,193,104,101,253,193,106,101,253,193,108,101,253,193,110,101,253,193,210,100,253,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,96,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,193,252,101,253,193,254,101,253,193,2,102,253,193,4,102,253,193,6,102,253,193,8,102,253,193,10,102,253,193,12,102,253,193,14,102,253,193,16,102,253,193,18,102,253,193,20,102,253,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,128,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,160,101,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,193,104,103,253,193,106,103,253,193,108,103,253,193,110,103,253,193,112,103,253,193,114,103,253,193,244,104,253,193,246,104,253,193,248,104,253,193,250,104,253,193,252,104,253,193,254,104,253,193,2,105,253,193,4,105,253,193,6,105,253,193,8,105,253,193,156,106,253,193,158,106,253,193,160,106,253,193,162,106,253,193,164,106,253,193,166,106,253,193,168,106,253,193,170,106,253,193,252,107,253,193,254,107,253,193,2,108,253,193,4,108,253,193,6,108,253,193,8,108,253,193,10,108,253,193,66,109,253,193,140,103,253,193,10,105,253,193,12,105,253,193,14,105,253,193,16,105,253,193,18,105,253,193,20,105,253,193,22,105,253,193,24,105,253,193,26,105,253,193,28,105,253,193,30,105,253,193,32,105,253,193,172,106,253,193,174,106,253,193,176,106,253,193,178,106,253,193,180,106,253,193,182,106,253,193,14,108,253,193,16,108,253,193,18,108,253,193,20,108,253,193,22,108,253,193,24,108,253,193,26,108,253,193,28,108,253,193,30,108,253,193,32,108,253,193,34,108,253,193,36,108,253,193,76,109,253,193,158,103,253,193,160,103,253,193,34,105,253,193,36,105,253,193,38,105,253,193,40,105,253,193,42,105,253,193,44,105,253,193,46,105,253,193,48,105,253,193,50,105,253,193,52,105,253,193,54,105,253,193,56,105,253,193,58,105,253,193,60,105,253,193,62,105,253,193,64,105,253,193,66,105,253,193,68,105,253,193,70,105,253,193,72,105,253,193,74,105,253,193,76,105,253,193,78,105,253,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,206,192,101,0,193,92,105,253,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,206,224,101,0,193,94,105,253,193,84,104,253,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,0,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,32,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,64,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,206,96,102,0,193,38,108,253,193,40,108,253,193,42,108,253,193,44,108,253,193,46,108,253,193,48,108,253,193,50,108,253,193,52,108,253,193,54,108,253,193,56,108,253,193,58,108,253,193,60,108,253,193,88,109,253,193,90,109,253,193,92,109,253,193,94,109,253,193,96,109,253,193,98,109,253,193,100,109,253,193,102,109,253,193,104,109,253,193,106,109,253,193,156,110,253,193,158,110,253,193,224,106,253,193,226,106,253,193,62,108,253,193,64,108,253,193,108,109,253,193,110,109,253,193,190,110,253,193,192,110,253,193,194,110,253,193,196,110,253,193,198,110,253,193,200,110,253,193,202,110,253,193,194,111,253,193,106,112,253,193,108,112,253,193,110,112,253,193,112,112,253,193,8,113,253,193,68,114,253,193,84,114,253,193,106,114,253,193,108,114,253,193,150,114,253,193,152,114,253,193,154,114,253,193,156,114,253,193,158,114,253,206,0,104,0,206,0,104,0,206,0,104,0,206,0,104,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,206,128,102,0,193,66,108,253,193,40,107,253,193,42,107,253,193,44,107,253,193,46,107,253,193,48,107,253,193,50,107,253,193,52,107,253,193,54,107,253,193,56,107,253,193,58,107,253,193,60,107,253,193,62,107,253,193,64,107,253,193,66,107,253,193,68,107,253,193,70,107,253,193,72,107,253,193,74,107,253,193,76,107,253,193,78,107,253,193,80,107,253,193,82,107,253,193,92,107,253,193,94,107,253,193,96,107,253,193,98,107,253,193,100,107,253,193,102,107,253,193,104,107,253,193,106,107,253,193,172,108,253,193,174,108,253,193,176,108,253,193,178,108,253,193,180,108,253,193,182,108,253,193,184,108,253,193,186,108,253,193,188,108,253,193,190,108,253,193,192,108,253,193,194,108,253,193,216,109,253,193,218,109,253,193,220,109,253,193,222,109,253,193,224,109,253,193,226,109,253,193,228,109,253,193,230,109,253,193,232,109,253,193,2,111,253,193,4,111,253,193,6,111,253,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,160,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,206,192,102,0,193,112,109,253,193,204,110,253,193,114,109,253,193,116,109,253,193,118,109,253,193,120,109,253,193,170,108,253,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,206,224,102,0,193,234,109,253,193,236,109,253,193,238,109,253,193,240,109,253,193,242,109,253,193,244,109,253,193,246,109,253,193,248,109,253,193,22,111,253,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,193,68,109,253,193,70,109,253,193,72,109,253,193,74,109,253,193,122,110,253,193,124,110,253,193,126,110,253,193,128,110,253,193,130,110,253,193,132,110,253,193,134,110,253,193,136,110,253,193,138,110,253,193,140,110,253,193,142,110,253,193,146,111,253,193,148,111,253,193,150,111,253,193,152,111,253,193,154,111,253,193,156,111,253,193,158,111,253,193,74,112,253,193,76,112,253,193,78,112,253,193,80,112,253,193,82,112,253,193,236,112,253,193,238,112,253,193,84,113,253,193,86,113,253,193,88,113,253,193,78,109,253,193,80,109,253,193,82,109,253,193,84,109,253,193,86,109,253,193,144,110,253,193,146,110,253,193,148,110,253,193,150,110,253,193,152,110,253,193,154,110,253,193,160,111,253,193,162,111,253,193,164,111,253,193,166,111,253,193,168,111,253,193,170,111,253,193,172,111,253,193,84,112,253,193,86,112,253,193,88,112,253,193,90,112,253,193,92,112,253,193,94,112,253,193,240,112,253,193,242,112,253,193,244,112,253,193,246,112,253,193,90,113,253,193,92,113,253,193,94,113,253,193,160,113,253,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,206,0,103,0,193,206,110,253,193,208,110,253,193,210,110,253,193,212,110,253,193,214,110,253,193,216,110,253,193,218,110,253,193,220,110,253,193,222,110,253,193,224,110,253,193,226,110,253,193,228,110,253,193,230,110,253,193,232,110,253,193,234,110,253,193,236,110,253,193,238,110,253,193,240,110,253,193,242,110,253,193,244,110,253,193,246,110,253,193,248,110,253,193,250,110,253,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,32,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,193,160,110,253,193,162,110,253,193,164,110,253,193,166,110,253,193,168,110,253,193,170,110,253,193,172,110,253,193,174,110,253,193,176,110,253,193,178,110,253,193,180,110,253,193,182,110,253,193,184,110,253,193,186,110,253,193,188,110,253,193,174,111,253,193,176,111,253,193,178,111,253,193,180,111,253,193,182,111,253,193,184,111,253,193,186,111,253,193,188,111,253,193,190,111,253,193,192,111,253,193,96,112,253,193,98,112,253,193,100,112,253,193,102,112,253,193,104,112,253,193,248,112,253,193,250,112,253,193,252,110,253,193,254,110,253,193,196,111,253,193,198,111,253,193,200,111,253,193,202,111,253,193,204,111,253,193,206,111,253,193,208,111,253,193,210,111,253,193,212,111,253,193,214,111,253,193,216,111,253,193,218,111,253,193,220,111,253,193,222,111,253,193,224,111,253,193,226,111,253,193,228,111,253,193,230,111,253,193,232,111,253,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,193,8,111,253,193,10,111,253,193,12,111,253,193,14,111,253,193,16,111,253,193,18,111,253,193,20,111,253,193,236,111,253,193,238,111,253,193,240,111,253,193,242,111,253,193,244,111,253,193,246,111,253,193,248,111,253,193,250,111,253,193,150,112,253,193,152,112,253,193,154,112,253,193,156,112,253,193,158,112,253,193,160,112,253,193,20,113,253,193,22,113,253,193,24,113,253,193,120,113,253,193,46,114,253,193,208,114,253,193,210,114,253,193,212,114,253,193,88,115,253,193,90,115,253,193,92,115,253,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,64,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,206,128,103,0,193,234,111,253,193,10,113,253,193,12,113,253,193,14,113,253,193,16,113,253,193,18,113,253,193,106,113,253,193,108,113,253,193,110,113,253,193,112,113,253,193,114,113,253,193,116,113,253,193,118,113,253,193,168,113,253,193,170,113,253,193,172,113,253,193,174,113,253,193,176,113,253,193,178,113,253,193,180,113,253,193,234,113,253,193,236,113,253,193,238,113,253,193,240,113,253,193,242,113,253,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,96,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,206,160,103,0,193,26,113,253,193,28,113,253,193,30,113,253,193,252,112,253,193,254,112,253,193,2,113,253,193,4,113,253,193,6,113,253,193,96,113,253,193,98,113,253,193,100,113,253,193,102,113,253,193,104,113,253,193,164,113,253,193,166,113,253,193,230,113,253,193,232,113,253,193,14,114,253,193,40,114,253,193,76,114,253,193,82,114,253,193,148,114,253,193,4,115,253,193,140,116,253,193,24,117,253,193,214,117,253,193,138,118,253,193,214,118,253,193,244,118,253,193,246,118,253,193,26,119,253,193,62,119,253,193,64,119,253,193,82,119,253,193,84,119,253,193,32,113,253,193,34,113,253,193,36,113,253,193,38,113,253,193,40,113,253,193,42,113,253,193,44,113,253,193,46,113,253,193,48,113,253,193,50,113,253,193,52,113,253,193,54,113,253,193,56,113,253,193,58,113,253,193,60,113,253,193,62,113,253,193,64,113,253,193,66,113,253,193,68,113,253,193,70,113,253,193,72,113,253,193,74,113,253,193,76,113,253,193,78,113,253,193,80,113,253,193,82,113,253,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,206,192,103,0,193,182,113,253,193,184,113,253,193,186,113,253,193,188,113,253,193,190,113,253,193,192,113,253,193,194,113,253,193,196,113,253,193,198,113,253,193,200,113,253,193,202,113,253,193,204,113,253,193,206,113,253,193,208,113,253,193,210,113,253,193,212,113,253,193,214,113,253,193,216,113,253,193,218,113,253,193,220,113,253,193,222,113,253,193,244,113,253,193,246,113,253,193,248,113,253,193,250,113,253,193,252,113,253,193,254,113,253,193,2,114,253,193,4,114,253,193,6,114,253,193,8,114,253,193,10,114,253,193,22,114,253,193,24,114,253,193,26,114,253,193,28,114,253,193,30,114,253,193,32,114,253,193,34,114,253,193,36,114,253,193,152,113,253,193,48,114,253,193,50,114,253,193,52,114,253,193,54,114,253,193,56,114,253,193,60,114,253,193,62,114,253,193,64,114,253,193,70,114,253,193,74,114,253,193,78,114,253,193,80,114,253,193,132,114,253,193,134,114,253,193,154,113,253,193,156,113,253,193,158,113,253,193,224,113,253,193,12,114,253,193,102,114,253,193,136,114,253,193,220,114,253,193,222,114,253,193,224,114,253,193,226,114,253,193,228,114,253,193,102,115,253,193,104,115,253,193,106,115,253,193,246,115,253,193,248,115,253,193,250,115,253,193,252,115,253,193,254,115,253,193,2,116,253,193,118,116,253,193,120,116,253,193,122,116,253,193,234,116,253,193,236,116,253,193,238,116,253,193,240,116,253,193,242,116,253,193,244,116,253,193,246,116,253,193,248,116,253,193,162,113,253,193,226,113,253,193,228,113,253,193,38,114,253,193,58,114,253,193,66,114,253,193,72,114,253,193,140,114,253,193,142,114,253,193,144,114,253,193,146,114,253,193,234,114,253,193,236,114,253,193,238,114,253,193,240,114,253,193,242,114,253,193,244,114,253,193,246,114,253,193,248,114,253,193,250,114,253,193,252,114,253,193,254,114,253,193,2,115,253,193,112,115,253,193,114,115,253,193,116,115,253,193,118,115,253,193,120,115,253,193,122,115,253,193,124,115,253,193,126,115,253,193,128,115,253,193,16,114,253,193,18,114,253,193,20,114,253,193,42,114,253,193,44,114,253,193,86,114,253,193,88,114,253,193,90,114,253,193,92,114,253,193,94,114,253,193,96,114,253,193,98,114,253,193,100,114,253,193,110,114,253,193,112,114,253,193,114,114,253,193,116,114,253,193,118,114,253,193,120,114,253,193,122,114,253,193,124,114,253,193,126,114,253,193,128,114,253,193,130,114,253,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,224,103,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,193,214,114,253,193,216,114,253,193,218,114,253,193,94,115,253,193,96,115,253,193,98,115,253,193,100,115,253,193,114,116,253,193,116,116,253,193,226,116,253,193,228,116,253,193,230,116,253,193,232,116,253,193,188,117,253,193,82,117,253,193,190,117,253,193,2,118,253,193,58,118,253,193,4,118,253,193,60,118,253,193,62,118,253,193,122,118,253,193,124,118,253,193,204,118,253,193,206,118,253,193,208,118,253,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,206,0,104,0,206,0,104,0,206,0,104,0,206,0,104,0,206,0,104,0,193,136,115,253,193,138,115,253,193,140,115,253,193,142,115,253,193,144,115,253,193,146,115,253,193,148,115,253,193,150,115,253,193,152,115,253,193,154,115,253,193,156,115,253,193,158,115,253,193,160,115,253,193,26,116,253,193,28,116,253,193,30,116,253,193,32,116,253,193,34,116,253,193,36,116,253,193,38,116,253,193,40,116,253,193,42,116,253,193,44,116,253,193,46,116,253,193,48,116,253,193,142,116,253,193,144,116,253,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,32,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,193,130,115,253,193,132,115,253,193,134,115,253,193,12,116,253,193,14,116,253,193,16,116,253,193,18,116,253,193,20,116,253,193,22,116,253,193,24,116,253,193,126,116,253,193,128,116,253,193,130,116,253,193,132,116,253,193,134,116,253,193,136,116,253,193,138,116,253,193,252,116,253,193,254,116,253,193,2,117,253,193,4,117,253,193,6,117,253,193,8,117,253,193,10,117,253,193,12,117,253,193,14,117,253,193,16,117,253,193,18,117,253,193,20,117,253,193,22,117,253,193,98,117,253,193,100,117,253,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,64,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,193,244,115,253,193,112,116,253,193,186,117,253,193,52,118,253,193,54,118,253,193,56,118,253,193,196,118,253,193,212,118,253,193,252,118,253,193,254,118,253,193,28,119,253,193,170,119,253,193,52,120,253,193,54,120,253,193,110,120,253,193,112,120,253,193,114,120,253,193,116,120,253,193,208,120,253,193,210,120,253,193,212,120,253,193,54,121,253,193,56,121,253,193,58,121,253,193,60,121,253,193,62,121,253,193,64,121,253,193,66,121,253,193,146,121,253,193,148,121,253,193,150,121,253,193,152,121,253,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,96,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,193,146,116,253,193,148,116,253,193,150,116,253,193,152,116,253,193,154,116,253,193,156,116,253,193,158,116,253,193,160,116,253,193,162,116,253,193,164,116,253,193,166,116,253,193,168,116,253,193,26,117,253,193,28,117,253,193,30,117,253,193,32,117,253,193,34,117,253,193,36,117,253,193,38,117,253,193,40,117,253,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,128,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,206,160,104,0,193,152,117,253,193,154,117,253,193,156,117,253,193,158,117,253,193,160,117,253,193,162,117,253,193,164,117,253,193,166,117,253,193,168,117,253,193,170,117,253,193,172,117,253,193,174,117,253,193,176,117,253,193,178,117,253,193,180,117,253,193,182,117,253,193,234,117,253,193,236,117,253,193,238,117,253,193,240,117,253,193,242,117,253,193,244,117,253,193,246,117,253,193,248,117,253,193,250,117,253,193,252,117,253,193,84,117,253,193,86,117,253,193,88,117,253,193,90,117,253,193,92,117,253,193,192,117,253,193,194,117,253,193,196,117,253,193,198,117,253,193,6,118,253,193,8,118,253,193,64,118,253,193,66,118,253,193,68,118,253,193,70,118,253,193,72,118,253,193,126,118,253,193,128,118,253,193,150,118,253,193,170,118,253,193,186,118,253,193,190,118,253,193,58,119,253,193,118,119,253,193,18,120,253,193,70,120,253,193,174,120,253,193,176,120,253,193,12,121,253,193,14,121,253,193,16,121,253,193,18,121,253,193,102,117,253,193,104,117,253,193,106,117,253,193,108,117,253,193,110,117,253,193,112,117,253,193,202,117,253,193,204,117,253,193,206,117,253,193,208,117,253,193,210,117,253,193,212,117,253,193,10,118,253,193,12,118,253,193,14,118,253,193,16,118,253,193,18,118,253,193,20,118,253,193,22,118,253,193,74,118,253,193,76,118,253,193,78,118,253,193,80,118,253,193,82,118,253,193,84,118,253,193,86,118,253,193,130,118,253,193,132,118,253,193,134,118,253,193,136,118,253,193,154,118,253,193,162,118,253,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,206,192,104,0,193,216,117,253,193,218,117,253,193,220,117,253,193,222,117,253,193,224,117,253,193,226,117,253,193,228,117,253,193,230,117,253,193,232,117,253,193,24,118,253,193,26,118,253,193,28,118,253,193,88,118,253,193,90,118,253,193,92,118,253,193,94,118,253,193,96,118,253,193,98,118,253,193,100,118,253,193,102,118,253,193,104,118,253,193,106,118,253,193,108,118,253,193,140,118,253,193,142,118,253,193,200,117,253,193,152,118,253,193,182,124,253,193,234,128,253,193,42,146,253,193,84,147,253,193,110,153,253,193,250,156,253,193,16,157,253,193,212,165,253,193,76,172,253,193,104,173,253,193,140,173,253,193,2,190,253,193,12,192,253,193,118,193,253,193,194,193,253,193,8,195,253,193,120,195,253,193,220,195,253,193,6,198,253,193,138,203,253,193,132,206,253,193,160,209,253,193,60,219,253,193,56,221,253,193,140,223,253,193,136,222,253,193,208,223,253,193,212,224,253,255,255,255,255,255,255,255,255,193,254,117,253,193,30,118,253,193,32,118,253,193,34,118,253,193,36,118,253,193,38,118,253,193,40,118,253,193,42,118,253,193,44,118,253,193,46,118,253,193,48,118,253,193,50,118,253,193,110,118,253,193,112,118,253,193,114,118,253,193,116,118,253,193,118,118,253,193,120,118,253,193,148,118,253,193,158,118,253,193,160,118,253,193,178,118,253,193,180,118,253,193,200,118,253,193,202,118,253,193,210,118,253,193,218,118,253,193,250,118,253,193,92,119,253,193,196,119,253,193,224,119,253,193,2,120,253,193,144,118,253,193,146,118,253,193,156,118,253,193,164,118,253,193,166,118,253,193,168,118,253,193,174,118,253,193,176,118,253,193,184,118,253,193,188,118,253,193,194,118,253,193,216,118,253,193,248,118,253,193,66,119,253,193,86,119,253,193,88,119,253,193,90,119,253,193,124,119,253,193,148,119,253,193,168,119,253,193,192,119,253,193,194,119,253,193,4,120,253,193,40,120,253,193,76,120,253,193,78,120,253,193,80,120,253,193,82,120,253,193,186,120,253,193,188,120,253,193,32,121,253,193,124,121,253,193,172,118,253,193,182,118,253,193,192,118,253,193,198,118,253,193,60,119,253,193,38,120,253,193,72,120,253,193,178,120,253,193,180,120,253,193,22,121,253,193,228,121,253,193,230,121,253,193,232,121,253,193,206,122,253,193,208,122,253,193,42,123,253,193,44,123,253,193,46,123,253,193,100,123,253,193,164,123,253,193,232,123,253,193,234,123,253,193,6,124,253,193,26,124,253,193,92,124,253,193,116,124,253,193,118,124,253,193,120,124,253,193,154,124,253,193,156,124,253,193,158,124,253,193,160,124,253,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,206,224,104,0,193,2,119,253,193,4,119,253,193,6,119,253,193,8,119,253,193,10,119,253,193,12,119,253,193,14,119,253,193,16,119,253,193,18,119,253,193,20,119,253,193,22,119,253,193,24,119,253,193,30,119,253,193,32,119,253,193,34,119,253,193,36,119,253,193,38,119,253,193,40,119,253,193,42,119,253,193,44,119,253,193,46,119,253,193,48,119,253,193,50,119,253,193,52,119,253,193,54,119,253,193,56,119,253,193,68,119,253,193,70,119,253,193,72,119,253,193,74,119,253,193,76,119,253,193,78,119,253,193,80,119,253,193,94,119,253,193,96,119,253,193,98,119,253,193,100,119,253,193,102,119,253,193,104,119,253,193,106,119,253,193,108,119,253,193,110,119,253,193,112,119,253,193,114,119,253,193,116,119,253,193,128,119,253,193,130,119,253,193,132,119,253,193,150,119,253,193,134,119,253,193,136,119,253,193,138,119,253,193,140,119,253,193,142,119,253,193,144,119,253,193,146,119,253,193,152,119,253,193,154,119,253,193,120,119,253,193,122,119,253,193,166,119,253,193,188,119,253,193,190,119,253,193,220,119,253,193,222,119,253,193,74,120,253,193,182,120,253,193,184,120,253,193,24,121,253,193,26,121,253,193,28,121,253,193,30,121,253,193,120,121,253,193,122,121,253,193,88,122,253,193,90,122,253,193,92,122,253,193,94,122,253,193,96,122,253,193,98,122,253,193,100,122,253,193,210,122,253,193,212,122,253,193,214,122,253,193,216,122,253,193,218,122,253,193,48,123,253,193,50,123,253,193,52,123,253,193,102,123,253,193,156,119,253,193,158,119,253,193,160,119,253,193,162,119,253,193,164,119,253,193,172,119,253,193,174,119,253,193,176,119,253,193,178,119,253,193,180,119,253,193,182,119,253,193,184,119,253,193,186,119,253,193,198,119,253,193,200,119,253,193,202,119,253,193,204,119,253,193,206,119,253,193,208,119,253,193,210,119,253,193,212,119,253,193,214,119,253,193,216,119,253,193,218,119,253,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,206,0,105,0,193,8,120,253,193,10,120,253,193,16,120,253,193,26,120,253,193,28,120,253,193,30,120,253,193,32,120,253,193,34,120,253,193,36,120,253,193,56,120,253,193,58,120,253,193,60,120,253,193,62,120,253,193,64,120,253,193,66,120,253,193,68,120,253,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,193,6,120,253,193,12,120,253,193,14,120,253,193,20,120,253,193,22,120,253,193,24,120,253,193,42,120,253,193,44,120,253,193,46,120,253,193,48,120,253,193,50,120,253,193,84,120,253,193,86,120,253,193,88,120,253,193,90,120,253,193,92,120,253,193,94,120,253,193,96,120,253,193,98,120,253,193,100,120,253,193,102,120,253,193,104,120,253,193,106,120,253,193,108,120,253,193,190,120,253,193,192,120,253,193,194,120,253,193,196,120,253,193,198,120,253,193,200,120,253,193,202,120,253,193,204,120,253,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,32,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,193,206,120,253,193,34,121,253,193,36,121,253,193,38,121,253,193,40,121,253,193,42,121,253,193,44,121,253,193,46,121,253,193,48,121,253,193,50,121,253,193,52,121,253,193,126,121,253,193,128,121,253,193,130,121,253,193,132,121,253,193,134,121,253,193,136,121,253,193,138,121,253,193,140,121,253,193,142,121,253,193,144,121,253,193,234,121,253,193,236,121,253,193,108,122,253,193,238,121,253,193,240,121,253,193,242,121,253,193,244,121,253,193,246,121,253,193,248,121,253,193,250,121,253,193,252,121,253,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,64,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,193,20,121,253,193,220,121,253,193,222,121,253,193,224,121,253,193,226,121,253,193,82,122,253,193,84,122,253,193,86,122,253,193,204,122,253,193,98,123,253,193,230,123,253,193,66,124,253,193,114,124,253,193,148,124,253,193,150,124,253,193,152,124,253,193,180,124,253,193,220,124,253,193,248,124,253,193,250,124,253,193,28,125,253,193,102,125,253,193,104,125,253,193,112,125,253,193,114,125,253,193,146,125,253,193,200,125,253,193,36,126,253,193,144,126,253,193,146,126,253,193,248,126,253,193,250,126,253,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,96,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,128,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,193,254,121,253,193,2,122,253,193,4,122,253,193,110,122,253,193,112,122,253,193,114,122,253,193,116,122,253,193,118,122,253,193,120,122,253,193,122,122,253,193,124,122,253,193,126,122,253,193,128,122,253,193,130,122,253,193,132,122,253,193,134,122,253,193,222,122,253,193,224,122,253,193,226,122,253,193,228,122,253,193,230,122,253,193,232,122,253,193,234,122,253,193,236,122,253,193,238,122,253,193,54,123,253,193,56,123,253,193,58,123,253,193,60,123,253,193,62,123,253,193,108,123,253,193,110,123,253,193,6,122,253,193,8,122,253,193,10,122,253,193,12,122,253,193,14,122,253,193,16,122,253,193,18,122,253,193,20,122,253,193,22,122,253,193,136,122,253,193,138,122,253,193,140,122,253,193,142,122,253,193,144,122,253,193,146,122,253,193,148,122,253,193,64,123,253,193,116,123,253,193,184,123,253,193,186,123,253,193,188,123,253,193,242,123,253,193,214,124,253,193,246,124,253,193,64,125,253,193,164,125,253,193,166,125,253,193,190,125,253,193,246,125,253,193,248,125,253,193,250,125,253,193,252,125,253,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,206,160,105,0,193,150,122,253,193,152,122,253,193,154,122,253,193,156,122,253,193,158,122,253,193,160,122,253,193,162,122,253,193,164,122,253,193,166,122,253,193,168,122,253,193,170,122,253,193,172,122,253,193,174,122,253,193,176,122,253,193,178,122,253,193,180,122,253,193,182,122,253,193,184,122,253,193,186,122,253,193,188,122,253,193,190,122,253,193,192,122,253,193,194,122,253,193,196,122,253,193,198,122,253,193,200,122,253,193,202,122,253,193,102,122,253,193,104,122,253,193,106,122,253,193,220,122,253,193,10,124,253,193,88,124,253,193,96,124,253,193,126,124,253,193,168,124,253,193,170,124,253,193,172,124,253,193,174,124,253,193,192,124,253,193,194,124,253,193,236,124,253,193,4,125,253,193,6,125,253,193,48,125,253,193,50,125,253,193,52,125,253,193,84,125,253,193,86,125,253,193,88,125,253,193,106,125,253,193,108,125,253,193,120,125,253,193,122,125,253,193,134,125,253,193,136,125,253,193,140,125,253,193,142,125,253,193,148,125,253,193,240,122,253,193,242,122,253,193,244,122,253,193,246,122,253,193,248,122,253,193,250,122,253,193,252,122,253,193,254,122,253,193,2,123,253,193,4,123,253,193,6,123,253,193,8,123,253,193,10,123,253,193,12,123,253,193,14,123,253,193,16,123,253,193,18,123,253,193,20,123,253,193,22,123,253,193,24,123,253,193,26,123,253,193,28,123,253,193,30,123,253,193,32,123,253,193,34,123,253,193,36,123,253,193,38,123,253,193,40,123,253,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,206,192,105,0,193,118,123,253,193,120,123,253,193,122,123,253,193,124,123,253,193,126,123,253,193,128,123,253,193,130,123,253,193,132,123,253,193,134,123,253,193,136,123,253,193,138,123,253,193,140,123,253,193,142,123,253,193,144,123,253,193,146,123,253,193,148,123,253,193,150,123,253,193,152,123,253,193,154,123,253,193,156,123,253,193,104,123,253,193,106,123,253,193,166,123,253,193,168,123,253,193,170,123,253,193,172,123,253,193,236,123,253,193,238,123,253,193,8,124,253,193,48,124,253,193,68,124,253,193,94,124,253,193,122,124,253,193,124,124,253,193,162,124,253,193,164,124,253,193,166,124,253,193,188,124,253,193,190,124,253,193,234,124,253,193,42,125,253,193,44,125,253,193,46,125,253,193,82,125,253,193,132,125,253,193,204,125,253,193,44,126,253,193,46,126,253,193,150,126,253,193,152,126,253,193,154,126,253,193,156,126,253,193,112,123,253,193,114,123,253,193,174,123,253,193,176,123,253,193,178,123,253,193,180,123,253,193,182,123,253,193,240,123,253,193,84,124,253,193,86,124,253,193,90,124,253,193,98,124,253,193,100,124,253,193,102,124,253,193,104,124,253,193,106,124,253,193,128,124,253,193,130,124,253,193,132,124,253,193,134,124,253,193,136,124,253,193,138,124,253,193,140,124,253,193,142,124,253,193,176,124,253,193,178,124,253,193,196,124,253,193,198,124,253,193,200,124,253,193,202,124,253,193,204,124,253,193,206,124,253,193,158,123,253,193,160,123,253,193,162,123,253,193,190,123,253,193,192,123,253,193,194,123,253,193,196,123,253,193,198,123,253,193,200,123,253,193,202,123,253,193,204,123,253,193,206,123,253,193,208,123,253,193,210,123,253,193,212,123,253,193,214,123,253,193,216,123,253,193,218,123,253,193,220,123,253,193,222,123,253,193,244,123,253,193,224,123,253,193,226,123,253,193,228,123,253,193,246,123,253,193,248,123,253,193,250,123,253,193,252,123,253,193,254,123,253,193,2,124,253,193,4,124,253,193,12,124,253,193,14,124,253,193,16,124,253,193,18,124,253,193,20,124,253,193,22,124,253,193,24,124,253,193,28,124,253,193,30,124,253,193,32,124,253,193,34,124,253,193,36,124,253,193,38,124,253,193,40,124,253,193,42,124,253,193,44,124,253,193,50,124,253,193,52,124,253,193,54,124,253,193,56,124,253,193,58,124,253,193,60,124,253,193,62,124,253,193,46,124,253,193,70,124,253,193,64,124,253,193,72,124,253,193,74,124,253,193,76,124,253,193,78,124,253,193,80,124,253,193,82,124,253,193,108,124,253,193,110,124,253,193,112,124,253,193,144,124,253,193,146,124,253,193,216,124,253,193,218,124,253,193,66,125,253,193,68,125,253,193,70,125,253,193,98,125,253,193,100,125,253,193,124,125,253,193,126,125,253,193,144,125,253,193,152,125,253,193,158,125,253,193,168,125,253,193,170,125,253,193,172,125,253,193,174,125,253,193,176,125,253,193,178,125,253,193,192,125,253,193,194,125,253,193,196,125,253,193,198,125,253,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,193,184,124,253,193,186,124,253,193,222,124,253,193,224,124,253,193,226,124,253,193,228,124,253,193,230,124,253,193,232,124,253,193,252,124,253,193,254,124,253,193,2,125,253,193,30,125,253,193,32,125,253,193,34,125,253,193,36,125,253,193,38,125,253,193,40,125,253,193,72,125,253,193,74,125,253,193,76,125,253,193,78,125,253,193,80,125,253,193,116,125,253,193,118,125,253,193,128,125,253,193,130,125,253,193,202,125,253,193,38,126,253,193,40,126,253,193,42,126,253,193,148,126,253,193,254,126,253,193,208,124,253,193,210,124,253,193,212,124,253,193,238,124,253,193,240,124,253,193,242,124,253,193,244,124,253,193,8,125,253,193,10,125,253,193,12,125,253,193,14,125,253,193,16,125,253,193,18,125,253,193,20,125,253,193,22,125,253,193,24,125,253,193,26,125,253,193,54,125,253,193,56,125,253,193,58,125,253,193,60,125,253,193,62,125,253,193,90,125,253,193,92,125,253,193,94,125,253,193,96,125,253,193,110,125,253,193,138,125,253,193,154,125,253,193,156,125,253,193,160,125,253,193,162,125,253,193,150,125,253,193,206,125,253,193,208,125,253,193,48,126,253,193,50,126,253,193,52,126,253,193,158,126,253,193,160,126,253,193,162,126,253,193,164,126,253,193,166,126,253,193,16,127,253,193,18,127,253,193,20,127,253,193,22,127,253,193,24,127,253,193,26,127,253,193,160,127,253,193,162,127,253,193,164,127,253,193,166,127,253,193,168,127,253,193,170,127,253,193,80,128,253,193,82,128,253,193,84,128,253,193,86,128,253,193,88,128,253,193,90,128,253,193,92,128,253,193,94,128,253,193,96,128,253,193,180,125,253,193,182,125,253,193,184,125,253,193,186,125,253,193,188,125,253,193,210,125,253,193,212,125,253,193,214,125,253,193,216,125,253,193,218,125,253,193,220,125,253,193,222,125,253,193,224,125,253,193,226,125,253,193,228,125,253,193,230,125,253,193,232,125,253,193,234,125,253,193,236,125,253,193,238,125,253,193,240,125,253,193,242,125,253,193,244,125,253,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,193,254,125,253,193,92,126,253,193,94,126,253,193,96,126,253,193,192,126,253,193,194,126,253,193,196,126,253,193,198,126,253,193,200,126,253,193,66,127,253,193,68,127,253,193,70,127,253,193,72,127,253,193,74,127,253,193,76,127,253,193,78,127,253,193,208,127,253,193,210,127,253,193,212,127,253,193,214,127,253,193,216,127,253,193,218,127,253,193,220,127,253,193,144,128,253,193,146,128,253,193,148,128,253,193,32,129,253,193,34,129,253,193,36,129,253,193,38,129,253,193,40,129,253,193,42,129,253,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,206,224,105,0,193,98,126,253,193,100,126,253,193,102,126,253,193,104,126,253,193,106,126,253,193,108,126,253,193,110,126,253,193,112,126,253,193,114,126,253,193,116,126,253,193,118,126,253,193,120,126,253,193,122,126,253,193,124,126,253,193,126,126,253,193,128,126,253,193,130,126,253,193,132,126,253,193,134,126,253,193,136,126,253,193,138,126,253,193,140,126,253,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,206,0,106,0,193,168,126,253,193,170,126,253,193,172,126,253,193,174,126,253,193,176,126,253,193,178,126,253,193,180,126,253,193,182,126,253,193,184,126,253,193,186,126,253,193,188,126,253,193,190,126,253,193,28,127,253,193,30,127,253,193,32,127,253,193,34,127,253,193,172,127,253,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,193,142,126,253,193,202,126,253,193,204,126,253,193,206,126,253,193,208,126,253,193,210,126,253,193,212,126,253,193,214,126,253,193,216,126,253,193,218,126,253,193,220,126,253,193,222,126,253,193,224,126,253,193,226,126,253,193,228,126,253,193,230,126,253,193,232,126,253,193,234,126,253,193,236,126,253,193,238,126,253,193,240,126,253,193,242,126,253,193,244,126,253,193,246,126,253,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,206,64,106,0,193,252,126,253,193,136,127,253,193,138,127,253,193,140,127,253,193,50,128,253,193,52,128,253,193,218,128,253,193,220,128,253,193,222,128,253,193,224,128,253,193,226,128,253,193,228,128,253,193,230,128,253,193,232,128,253,193,136,129,253,193,138,129,253,193,248,129,253,193,250,129,253,193,252,129,253,193,254,129,253,193,112,130,253,193,114,130,253,193,116,130,253,193,118,130,253,193,102,131,253,193,202,131,253,193,82,132,253,193,216,132,253,193,208,133,253,193,188,134,253,193,218,134,253,193,22,135,253,193,2,127,253,193,142,127,253,193,144,127,253,193,146,127,253,193,54,128,253,193,56,128,253,193,58,128,253,193,60,128,253,193,62,128,253,193,64,128,253,193,66,128,253,193,236,128,253,193,238,128,253,193,240,128,253,193,242,128,253,193,244,128,253,193,140,129,253,193,142,129,253,193,144,129,253,193,146,129,253,193,2,130,253,193,4,130,253,193,6,130,253,193,8,130,253,193,10,130,253,193,120,130,253,193,122,130,253,193,124,130,253,193,208,130,253,193,210,130,253,193,212,130,253,193,214,130,253,193,4,127,253,193,6,127,253,193,8,127,253,193,10,127,253,193,12,127,253,193,14,127,253,193,148,127,253,193,150,127,253,193,152,127,253,193,154,127,253,193,156,127,253,193,158,127,253,193,68,128,253,193,70,128,253,193,72,128,253,193,74,128,253,193,76,128,253,193,78,128,253,193,246,128,253,193,148,129,253,193,150,129,253,193,152,129,253,193,154,129,253,193,156,129,253,193,158,129,253,193,160,129,253,193,162,129,253,193,12,130,253,193,14,130,253,193,16,130,253,193,18,130,253,193,20,130,253,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,206,32,106,0,193,174,127,253,193,176,127,253,193,178,127,253,193,180,127,253,193,182,127,253,193,184,127,253,193,186,127,253,193,188,127,253,193,190,127,253,193,192,127,253,193,194,127,253,193,196,127,253,193,198,127,253,193,200,127,253,193,202,127,253,193,204,127,253,193,206,127,253,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,206,96,106,0,193,150,128,253,193,152,128,253,193,98,128,253,193,248,128,253,193,250,128,253,193,252,128,253,193,254,128,253,193,2,129,253,193,4,129,253,193,6,129,253,193,8,129,253,193,10,129,253,193,164,129,253,193,166,129,253,193,22,130,253,193,24,130,253,193,26,130,253,193,28,130,253,193,30,130,253,193,136,130,253,193,138,130,253,193,140,130,253,193,142,130,253,193,144,130,253,193,146,130,253,193,226,130,253,193,228,130,253,193,230,130,253,193,232,130,253,193,40,131,253,193,66,131,253,193,68,131,253,193,70,131,253,193,72,131,253,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,206,128,106,0,193,12,129,253,193,14,129,253,193,16,129,253,193,18,129,253,193,20,129,253,193,22,129,253,193,24,129,253,193,26,129,253,193,28,129,253,193,168,129,253,193,170,129,253,193,172,129,253,193,174,129,253,193,176,129,253,193,178,129,253,193,154,128,253,193,156,128,253,193,158,128,253,193,160,128,253,193,162,128,253,193,164,128,253,193,166,128,253,193,168,128,253,193,170,128,253,193,172,128,253,193,174,128,253,193,176,128,253,193,178,128,253,193,180,128,253,193,182,128,253,193,184,128,253,193,186,128,253,193,188,128,253,193,190,128,253,193,192,128,253,193,194,128,253,193,196,128,253,193,198,128,253,193,200,128,253,193,202,128,253,193,204,128,253,193,206,128,253,193,208,128,253,193,210,128,253,193,212,128,253,193,214,128,253,193,216,128,253,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,160,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,193,180,129,253,193,182,129,253,193,32,130,253,193,34,130,253,193,36,130,253,193,38,130,253,193,148,130,253,193,150,130,253,193,152,130,253,193,154,130,253,193,156,130,253,193,158,130,253,193,234,130,253,193,236,130,253,193,238,130,253,193,240,130,253,193,242,130,253,193,244,130,253,193,246,130,253,193,42,131,253,193,74,131,253,193,112,131,253,193,186,131,253,193,204,131,253,193,212,131,253,193,228,131,253,193,230,131,253,193,232,131,253,193,234,131,253,193,236,131,253,193,238,131,253,193,250,131,253,193,184,129,253,193,186,129,253,193,188,129,253,193,190,129,253,193,40,130,253,193,42,130,253,193,44,130,253,193,160,130,253,193,162,130,253,193,46,130,253,193,164,130,253,193,248,130,253,193,250,130,253,193,252,130,253,193,76,131,253,193,114,131,253,193,132,131,253,193,240,131,253,193,254,131,253,193,2,132,253,193,48,132,253,193,50,132,253,193,52,132,253,193,110,132,253,193,112,132,253,193,114,132,253,193,116,132,253,193,164,132,253,193,224,132,253,193,226,132,253,193,24,133,253,193,26,133,253,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,192,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,206,224,106,0,193,166,130,253,193,168,130,253,193,170,130,253,193,172,130,253,193,174,130,253,193,176,130,253,193,178,130,253,193,180,130,253,193,182,130,253,193,184,130,253,193,186,130,253,193,188,130,253,193,190,130,253,193,192,130,253,193,194,130,253,193,196,130,253,193,198,130,253,193,200,130,253,193,202,130,253,193,204,130,253,193,206,130,253,193,254,130,253,193,126,130,253,193,128,130,253,193,130,130,253,193,132,130,253,193,134,130,253,193,216,130,253,193,218,130,253,193,220,130,253,193,222,130,253,193,224,130,253,193,30,131,253,193,32,131,253,193,34,131,253,193,36,131,253,193,38,131,253,193,64,131,253,193,104,131,253,193,130,131,253,193,166,131,253,193,174,131,253,193,188,131,253,193,216,131,253,193,24,132,253,193,86,132,253,193,88,132,253,193,90,132,253,193,92,132,253,193,156,132,253,193,18,133,253,193,94,133,253,193,96,133,253,193,98,133,253,193,2,131,253,193,4,131,253,193,6,131,253,193,8,131,253,193,10,131,253,193,12,131,253,193,14,131,253,193,16,131,253,193,18,131,253,193,20,131,253,193,22,131,253,193,24,131,253,193,26,131,253,193,44,131,253,193,46,131,253,193,48,131,253,193,50,131,253,193,52,131,253,193,54,131,253,193,56,131,253,193,58,131,253,193,60,131,253,193,78,131,253,193,80,131,253,193,82,131,253,193,84,131,253,193,86,131,253,193,88,131,253,193,90,131,253,193,92,131,253,193,94,131,253,193,96,131,253,193,28,131,253,193,62,131,253,193,124,131,253,193,126,131,253,193,128,131,253,193,146,131,253,193,148,131,253,193,150,131,253,193,160,131,253,193,172,131,253,193,84,132,253,193,154,132,253,193,218,132,253,193,220,132,253,193,16,133,253,193,90,133,253,193,92,133,253,193,154,133,253,193,46,134,253,193,48,134,253,193,50,134,253,193,100,134,253,193,102,134,253,193,128,134,253,193,220,134,253,193,26,135,253,193,28,135,253,193,98,135,253,193,12,136,253,193,14,136,253,193,146,136,253,193,148,136,253,193,98,131,253,193,100,131,253,193,116,131,253,193,118,131,253,193,120,131,253,193,122,131,253,193,134,131,253,193,136,131,253,193,138,131,253,193,140,131,253,193,142,131,253,193,144,131,253,193,156,131,253,193,158,131,253,193,162,131,253,193,164,131,253,193,168,131,253,193,170,131,253,193,178,131,253,193,180,131,253,193,182,131,253,193,184,131,253,193,190,131,253,193,192,131,253,193,194,131,253,193,196,131,253,193,198,131,253,193,200,131,253,193,206,131,253,193,208,131,253,193,210,131,253,193,214,131,253,193,106,131,253,193,108,131,253,193,110,131,253,193,152,131,253,193,154,131,253,193,248,131,253,193,26,132,253,193,28,132,253,193,30,132,253,193,94,132,253,193,158,133,253,193,212,133,253,193,254,133,253,193,52,134,253,193,104,134,253,193,106,134,253,193,164,134,253,193,190,134,253,193,108,135,253,193,110,135,253,193,24,136,253,193,26,136,253,193,28,136,253,193,30,136,253,193,32,136,253,193,34,136,253,193,36,136,253,193,174,136,253,193,176,136,253,193,178,136,253,193,180,136,253,193,182,136,253,193,218,131,253,193,220,131,253,193,222,131,253,193,224,131,253,193,226,131,253,193,242,131,253,193,244,131,253,193,246,131,253,193,4,132,253,193,6,132,253,193,8,132,253,193,10,132,253,193,12,132,253,193,14,132,253,193,16,132,253,193,18,132,253,193,20,132,253,193,22,132,253,193,54,132,253,193,56,132,253,193,58,132,253,193,60,132,253,193,62,132,253,193,64,132,253,193,66,132,253,193,68,132,253,193,70,132,253,193,72,132,253,193,74,132,253,193,76,132,253,193,78,132,253,193,80,132,253,193,252,131,253,193,32,132,253,193,34,132,253,193,36,132,253,193,38,132,253,193,40,132,253,193,42,132,253,193,44,132,253,193,46,132,253,193,96,132,253,193,98,132,253,193,100,132,253,193,102,132,253,193,104,132,253,193,106,132,253,193,108,132,253,193,158,132,253,193,160,132,253,193,162,132,253,193,222,132,253,193,20,133,253,193,22,133,253,193,100,133,253,193,160,133,253,193,162,133,253,193,164,133,253,193,166,133,253,193,168,133,253,193,170,133,253,193,172,133,253,193,174,133,253,193,176,133,253,193,118,132,253,193,120,132,253,193,122,132,253,193,124,132,253,193,126,132,253,193,128,132,253,193,130,132,253,193,132,132,253,193,134,132,253,193,136,132,253,193,138,132,253,193,140,132,253,193,142,132,253,193,144,132,253,193,146,132,253,193,148,132,253,193,150,132,253,193,152,132,253,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,206,0,107,0,193,228,132,253,193,230,132,253,193,232,132,253,193,234,132,253,193,236,132,253,193,238,132,253,193,240,132,253,193,242,132,253,193,244,132,253,193,246,132,253,193,248,132,253,193,250,132,253,193,252,132,253,193,254,132,253,193,2,133,253,193,4,133,253,193,6,133,253,193,8,133,253,193,10,133,253,193,12,133,253,193,14,133,253,193,28,133,253,193,30,133,253,193,32,133,253,193,34,133,253,193,36,133,253,193,38,133,253,193,40,133,253,193,42,133,253,193,44,133,253,193,46,133,253,193,48,133,253,193,50,133,253,193,52,133,253,193,54,133,253,193,56,133,253,193,58,133,253,193,60,133,253,193,62,133,253,193,64,133,253,193,66,133,253,193,68,133,253,193,70,133,253,193,72,133,253,193,74,133,253,193,76,133,253,193,78,133,253,193,80,133,253,193,82,133,253,193,84,133,253,193,86,133,253,193,88,133,253,193,106,133,253,193,108,133,253,193,110,133,253,193,112,133,253,193,114,133,253,193,116,133,253,193,118,133,253,193,120,133,253,193,122,133,253,193,124,133,253,193,126,133,253,193,128,133,253,193,130,133,253,193,132,133,253,193,134,133,253,193,136,133,253,193,138,133,253,193,140,133,253,193,142,133,253,193,144,133,253,193,146,133,253,193,148,133,253,193,150,133,253,193,152,133,253,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,193,156,133,253,193,210,133,253,193,146,134,253,193,162,134,253,193,180,134,253,193,222,134,253,193,30,135,253,193,32,135,253,193,34,135,253,193,36,135,253,193,100,135,253,193,102,135,253,193,104,135,253,193,106,135,253,193,180,135,253,193,182,135,253,193,16,136,253,193,18,136,253,193,20,136,253,193,22,136,253,193,158,136,253,193,160,136,253,193,162,136,253,193,164,136,253,193,166,136,253,193,168,136,253,193,170,136,253,193,172,136,253,206,192,107,0,206,192,107,0,206,192,107,0,206,192,107,0,193,178,133,253,193,214,133,253,193,216,133,253,193,218,133,253,193,54,134,253,193,130,134,253,193,132,134,253,193,166,134,253,193,178,134,253,193,192,134,253,193,194,134,253,193,196,134,253,193,224,134,253,193,226,134,253,193,228,134,253,193,230,134,253,193,232,134,253,193,234,134,253,193,236,134,253,193,238,134,253,193,38,135,253,193,40,135,253,193,42,135,253,193,44,135,253,193,46,135,253,193,48,135,253,193,50,135,253,193,52,135,253,193,54,135,253,193,56,135,253,193,58,135,253,193,112,135,253,206,32,107,0,206,32,107,0,206,32,107,0,206,32,107,0,193,222,133,253,193,224,133,253,193,226,133,253,193,228,133,253,193,230,133,253,193,232,133,253,193,234,133,253,193,236,133,253,193,238,133,253,193,240,133,253,193,242,133,253,193,244,133,253,193,246,133,253,193,248,133,253,193,250,133,253,193,252,133,253,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,206,64,107,0,193,56,134,253,193,58,134,253,193,60,134,253,193,62,134,253,193,64,134,253,193,66,134,253,193,68,134,253,193,70,134,253,193,72,134,253,193,74,134,253,193,76,134,253,193,78,134,253,193,82,134,253,193,84,134,253,193,86,134,253,193,88,134,253,193,90,134,253,193,92,134,253,193,94,134,253,193,96,134,253,193,98,134,253,206,96,107,0,206,96,107,0,206,96,107,0,206,96,107,0,206,96,107,0,206,96,107,0,193,134,134,253,193,136,134,253,193,138,134,253,193,140,134,253,193,142,134,253,193,144,134,253,193,150,134,253,193,152,134,253,193,154,134,253,193,156,134,253,193,158,134,253,193,160,134,253,193,168,134,253,193,170,134,253,193,174,134,253,193,176,134,253,193,182,134,253,193,184,134,253,193,186,134,253,193,200,134,253,193,202,134,253,193,204,134,253,193,206,134,253,193,208,134,253,193,210,134,253,193,212,134,253,193,214,134,253,193,216,134,253,193,244,134,253,193,246,134,253,193,248,134,253,193,250,134,253,193,252,134,253,193,254,134,253,193,2,135,253,193,4,135,253,193,6,135,253,193,8,135,253,193,10,135,253,193,12,135,253,193,14,135,253,193,16,135,253,193,18,135,253,193,20,135,253,193,62,135,253,193,64,135,253,193,66,135,253,193,68,135,253,193,70,135,253,193,72,135,253,193,74,135,253,193,76,135,253,193,78,135,253,193,80,135,253,193,82,135,253,193,84,135,253,193,86,135,253,193,88,135,253,193,24,135,253,193,94,135,253,193,96,135,253,193,176,135,253,193,178,135,253,193,8,136,253,193,10,136,253,193,142,136,253,193,144,136,253,193,28,137,253,193,30,137,253,193,156,137,253,193,16,138,253,193,18,138,253,193,108,138,253,193,110,138,253,193,112,138,253,193,114,138,253,193,190,138,253,193,6,139,253,193,8,139,253,193,96,139,253,193,98,139,253,193,186,139,253,193,222,139,253,193,244,139,253,193,246,139,253,193,22,140,253,193,32,140,253,193,102,140,253,193,142,140,253,193,148,140,253,193,90,135,253,193,92,135,253,193,134,135,253,193,136,135,253,193,138,135,253,193,140,135,253,193,142,135,253,193,144,135,253,193,146,135,253,193,148,135,253,193,150,135,253,193,152,135,253,193,154,135,253,193,156,135,253,193,158,135,253,193,160,135,253,193,162,135,253,193,164,135,253,193,166,135,253,193,168,135,253,193,170,135,253,193,172,135,253,193,174,135,253,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,193,114,135,253,193,116,135,253,193,184,135,253,193,186,135,253,193,188,135,253,193,190,135,253,193,192,135,253,193,194,135,253,193,196,135,253,193,198,135,253,193,200,135,253,193,38,136,253,193,40,136,253,193,42,136,253,193,44,136,253,193,46,136,253,193,48,136,253,193,50,136,253,193,52,136,253,193,54,136,253,193,56,136,253,193,58,136,253,193,60,136,253,193,62,136,253,193,184,136,253,193,186,136,253,193,188,136,253,193,190,136,253,193,192,136,253,193,194,136,253,193,196,136,253,193,198,136,253,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,128,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,206,160,107,0,193,216,136,253,193,218,136,253,193,220,136,253,193,222,136,253,193,224,136,253,193,226,136,253,193,228,136,253,193,230,136,253,193,232,136,253,193,84,137,253,193,234,136,253,193,150,136,253,193,152,136,253,193,154,136,253,193,156,136,253,193,32,137,253,193,34,137,253,193,36,137,253,193,38,137,253,193,158,137,253,193,20,138,253,193,22,138,253,193,116,138,253,193,118,138,253,193,120,138,253,193,192,138,253,193,194,138,253,193,196,138,253,193,10,139,253,193,12,139,253,193,14,139,253,193,16,139,253,193,164,139,253,193,188,139,253,193,248,139,253,193,250,139,253,193,64,140,253,193,92,140,253,193,94,140,253,193,118,140,253,193,124,140,253,193,128,140,253,193,144,140,253,193,200,136,253,193,62,137,253,193,64,137,253,193,66,137,253,193,68,137,253,193,70,137,253,193,176,137,253,193,178,137,253,193,180,137,253,193,182,137,253,193,184,137,253,193,186,137,253,193,188,137,253,193,190,137,253,193,28,138,253,193,30,138,253,193,32,138,253,193,34,138,253,193,36,138,253,193,38,138,253,193,40,138,253,193,134,138,253,193,136,138,253,193,138,138,253,193,140,138,253,193,142,138,253,193,144,138,253,193,146,138,253,193,206,138,253,193,208,138,253,193,210,138,253,193,212,138,253,193,206,136,253,193,208,136,253,193,210,136,253,193,212,136,253,193,214,136,253,193,72,137,253,193,74,137,253,193,76,137,253,193,78,137,253,193,80,137,253,193,82,137,253,193,192,137,253,193,194,137,253,193,196,137,253,193,198,137,253,193,200,137,253,193,42,138,253,193,44,138,253,193,216,138,253,193,218,138,253,193,220,138,253,193,32,139,253,193,34,139,253,193,78,139,253,193,106,139,253,193,162,139,253,193,202,139,253,193,212,139,253,193,38,140,253,193,52,140,253,193,54,140,253,193,68,140,253,193,236,136,253,193,238,136,253,193,240,136,253,193,242,136,253,193,244,136,253,193,246,136,253,193,248,136,253,193,250,136,253,193,252,136,253,193,254,136,253,193,2,137,253,193,4,137,253,193,6,137,253,193,8,137,253,193,10,137,253,193,12,137,253,193,14,137,253,193,16,137,253,193,18,137,253,193,20,137,253,193,22,137,253,193,24,137,253,193,26,137,253,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,224,107,0,206,192,107,0,206,192,107,0,206,192,107,0,206,192,107,0,193,160,137,253,193,162,137,253,193,164,137,253,193,166,137,253,193,168,137,253,193,170,137,253,193,172,137,253,193,174,137,253,193,24,138,253,193,122,138,253,193,124,138,253,193,126,138,253,193,128,138,253,193,130,138,253,193,132,138,253,193,198,138,253,193,200,138,253,193,202,138,253,193,204,138,253,193,18,139,253,193,20,139,253,193,22,139,253,193,24,139,253,193,26,139,253,193,54,139,253,193,100,139,253,193,128,139,253,193,150,139,253,193,56,137,253,193,58,137,253,193,60,137,253,193,26,138,253,193,28,139,253,193,56,139,253,193,58,139,253,193,60,139,253,193,62,139,253,193,102,139,253,193,194,139,253,193,200,139,253,193,214,139,253,193,10,140,253,193,12,140,253,193,140,140,253,193,68,141,253,193,198,141,253,193,22,142,253,193,120,142,253,193,208,142,253,193,210,142,253,193,42,143,253,193,142,143,253,193,16,144,253,193,18,144,253,193,20,144,253,193,126,144,253,193,128,144,253,193,20,145,253,193,146,145,253,193,210,145,253,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,206,0,108,0,193,46,138,253,193,48,138,253,193,50,138,253,193,52,138,253,193,54,138,253,193,56,138,253,193,58,138,253,193,60,138,253,193,62,138,253,193,64,138,253,193,66,138,253,193,68,138,253,193,70,138,253,193,72,138,253,193,74,138,253,193,76,138,253,193,78,138,253,193,80,138,253,193,82,138,253,193,84,138,253,193,86,138,253,193,88,138,253,193,90,138,253,193,92,138,253,193,94,138,253,193,96,138,253,193,98,138,253,193,100,138,253,193,102,138,253,193,104,138,253,193,106,138,253,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,32,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,193,214,138,253,193,30,139,253,193,64,139,253,193,66,139,253,193,68,139,253,193,70,139,253,193,72,139,253,193,74,139,253,193,76,139,253,193,104,139,253,193,130,139,253,193,152,139,253,193,154,139,253,193,156,139,253,193,158,139,253,193,174,139,253,193,206,139,253,193,216,139,253,193,218,139,253,193,224,139,253,193,226,139,253,193,232,139,253,193,234,139,253,193,254,139,253,193,2,140,253,193,4,140,253,193,8,140,253,193,14,140,253,193,16,140,253,193,26,140,253,193,44,140,253,193,66,140,253,206,64,108,0,206,64,108,0,206,64,108,0,206,64,108,0,193,36,139,253,193,38,139,253,193,40,139,253,193,42,139,253,193,44,139,253,193,46,139,253,193,48,139,253,193,50,139,253,193,52,139,253,193,80,139,253,193,82,139,253,193,84,139,253,193,86,139,253,193,88,139,253,193,90,139,253,193,92,139,253,193,94,139,253,193,108,139,253,193,110,139,253,193,112,139,253,193,114,139,253,193,116,139,253,193,118,139,253,193,120,139,253,193,122,139,253,193,124,139,253,193,126,139,253,193,132,139,253,193,134,139,253,193,136,139,253,193,138,139,253,193,140,139,253,193,142,139,253,193,144,139,253,193,146,139,253,193,148,139,253,193,170,139,253,193,172,139,253,193,176,139,253,193,178,139,253,193,180,139,253,193,182,139,253,193,184,139,253,193,192,139,253,193,196,139,253,193,198,139,253,193,204,139,253,193,208,139,253,193,210,139,253,193,220,139,253,193,228,139,253,193,230,139,253,193,236,139,253,193,238,139,253,193,240,139,253,193,242,139,253,193,6,140,253,193,18,140,253,193,20,140,253,193,24,140,253,193,166,139,253,193,168,139,253,193,190,139,253,193,252,139,253,193,86,140,253,193,96,140,253,193,98,140,253,193,104,140,253,193,146,140,253,193,164,140,253,193,222,140,253,193,224,140,253,193,248,140,253,193,24,141,253,193,44,141,253,193,60,141,253,193,88,141,253,193,116,141,253,193,118,141,253,193,162,141,253,193,20,142,253,193,114,142,253,193,116,142,253,193,118,142,253,193,204,142,253,193,206,142,253,193,34,143,253,193,36,143,253,193,38,143,253,193,40,143,253,193,140,143,253,193,8,144,253,193,28,140,253,193,30,140,253,193,34,140,253,193,36,140,253,193,40,140,253,193,42,140,253,193,46,140,253,193,48,140,253,193,50,140,253,193,56,140,253,193,58,140,253,193,60,140,253,193,62,140,253,193,70,140,253,193,72,140,253,193,74,140,253,193,76,140,253,193,78,140,253,193,80,140,253,193,82,140,253,193,84,140,253,193,88,140,253,193,90,140,253,193,100,140,253,193,110,140,253,193,112,140,253,193,114,140,253,193,116,140,253,193,120,140,253,193,122,140,253,193,132,140,253,193,134,140,253,193,106,140,253,193,126,140,253,193,152,140,253,193,154,140,253,193,186,140,253,193,226,140,253,193,250,140,253,193,90,141,253,193,126,141,253,193,160,141,253,193,164,141,253,193,170,141,253,193,172,141,253,193,174,141,253,193,176,141,253,193,178,141,253,193,180,141,253,193,182,141,253,193,200,141,253,193,202,141,253,193,204,141,253,193,206,141,253,193,208,141,253,193,210,141,253,193,212,141,253,193,214,141,253,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,193,108,140,253,193,130,140,253,193,166,140,253,193,168,140,253,193,170,140,253,193,188,140,253,193,190,140,253,193,192,140,253,193,252,140,253,193,254,140,253,193,26,141,253,193,70,141,253,193,92,141,253,193,94,141,253,193,120,141,253,193,138,141,253,193,184,141,253,193,186,141,253,193,188,141,253,193,216,141,253,193,218,141,253,193,220,141,253,193,222,141,253,193,224,141,253,193,226,141,253,193,50,142,253,193,52,142,253,193,54,142,253,193,56,142,253,193,58,142,253,193,60,142,253,193,146,142,253,193,136,140,253,193,138,140,253,193,150,140,253,193,158,140,253,193,160,140,253,193,162,140,253,193,172,140,253,193,174,140,253,193,176,140,253,193,178,140,253,193,180,140,253,193,182,140,253,193,184,140,253,193,194,140,253,193,196,140,253,193,198,140,253,193,200,140,253,193,202,140,253,193,204,140,253,193,206,140,253,193,208,140,253,193,210,140,253,193,212,140,253,193,214,140,253,193,216,140,253,193,230,140,253,193,232,140,253,193,234,140,253,193,236,140,253,193,238,140,253,193,240,140,253,193,242,140,253,193,218,140,253,193,246,140,253,193,22,141,253,193,58,141,253,193,114,141,253,193,110,142,253,193,112,142,253,193,198,142,253,193,200,142,253,193,202,144,253,193,10,145,253,193,70,145,253,193,204,145,253,193,224,145,253,193,110,146,253,193,202,146,253,193,10,147,253,193,38,147,253,193,60,147,253,193,74,147,253,193,92,147,253,193,94,147,253,193,96,147,253,193,214,147,253,193,230,147,253,193,58,148,253,193,102,148,253,193,110,148,253,193,134,148,253,193,16,149,253,193,120,149,253,193,144,150,253,193,220,140,253,193,42,141,253,193,84,141,253,193,86,141,253,193,202,142,253,193,32,143,253,193,138,143,253,193,6,144,253,193,12,145,253,193,14,145,253,193,226,145,253,193,44,146,253,193,46,146,253,193,48,146,253,193,148,146,253,193,254,146,253,193,16,147,253,193,34,147,253,193,40,147,253,193,52,147,253,193,54,147,253,193,86,147,253,193,98,147,253,193,100,147,253,193,106,147,253,193,232,147,253,193,234,147,253,193,236,147,253,193,4,148,253,193,28,148,253,193,136,148,253,193,160,148,253,193,244,140,253,193,2,141,253,193,4,141,253,193,6,141,253,193,8,141,253,193,10,141,253,193,12,141,253,193,14,141,253,193,16,141,253,193,18,141,253,193,20,141,253,193,28,141,253,193,30,141,253,193,32,141,253,193,34,141,253,193,36,141,253,193,38,141,253,193,40,141,253,193,46,141,253,193,48,141,253,193,50,141,253,193,52,141,253,193,54,141,253,193,56,141,253,193,62,141,253,193,64,141,253,193,66,141,253,193,72,141,253,193,74,141,253,193,76,141,253,193,78,141,253,193,80,141,253,193,82,141,253,193,96,141,253,193,98,141,253,193,100,141,253,193,102,141,253,193,104,141,253,193,106,141,253,193,108,141,253,193,110,141,253,193,112,141,253,193,122,141,253,193,124,141,253,193,128,141,253,193,130,141,253,193,132,141,253,193,134,141,253,193,136,141,253,193,140,141,253,193,142,141,253,193,144,141,253,193,146,141,253,193,148,141,253,193,150,141,253,193,152,141,253,193,154,141,253,193,156,141,253,193,158,141,253,193,166,141,253,193,168,141,253,193,190,141,253,193,192,141,253,193,194,141,253,193,196,141,253,193,228,141,253,193,230,141,253,193,232,141,253,193,234,141,253,193,236,141,253,193,238,141,253,193,240,141,253,193,242,141,253,193,244,141,253,193,246,141,253,193,248,141,253,193,250,141,253,193,252,141,253,193,254,141,253,193,2,142,253,193,4,142,253,193,6,142,253,193,8,142,253,193,10,142,253,193,12,142,253,193,14,142,253,193,16,142,253,193,18,142,253,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,206,96,108,0,193,122,142,253,193,124,142,253,193,126,142,253,193,128,142,253,193,130,142,253,193,132,142,253,193,134,142,253,193,136,142,253,193,138,142,253,193,140,142,253,193,142,142,253,193,144,142,253,193,212,142,253,193,214,142,253,193,216,142,253,193,218,142,253,193,220,142,253,193,222,142,253,193,224,142,253,193,44,143,253,193,46,143,253,193,48,143,253,193,50,143,253,193,52,143,253,193,54,143,253,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,128,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,206,160,108,0,193,242,142,253,193,244,142,253,193,246,142,253,193,248,142,253,193,250,142,253,193,252,142,253,193,254,142,253,193,2,143,253,193,4,143,253,193,6,143,253,193,8,143,253,193,10,143,253,193,12,143,253,193,14,143,253,193,16,143,253,193,18,143,253,193,20,143,253,193,22,143,253,193,24,143,253,193,26,143,253,193,28,143,253,193,30,143,253,193,74,143,253,193,226,142,253,193,228,142,253,193,230,142,253,193,232,142,253,193,234,142,253,193,236,142,253,193,238,142,253,193,240,142,253,193,60,143,253,193,62,143,253,193,64,143,253,193,66,143,253,193,68,143,253,193,70,143,253,193,72,143,253,193,174,143,253,193,176,143,253,193,178,143,253,193,180,143,253,193,182,143,253,193,184,143,253,193,186,143,253,193,36,144,253,193,38,144,253,193,40,144,253,193,42,144,253,193,44,144,253,193,46,144,253,193,138,144,253,193,140,144,253,193,142,144,253,193,220,144,253,193,56,143,253,193,58,143,253,193,144,143,253,193,146,143,253,193,148,143,253,193,150,143,253,193,152,143,253,193,154,143,253,193,156,143,253,193,158,143,253,193,160,143,253,193,162,143,253,193,164,143,253,193,166,143,253,193,168,143,253,193,170,143,253,193,172,143,253,193,22,144,253,193,24,144,253,193,26,144,253,193,28,144,253,193,30,144,253,193,32,144,253,193,34,144,253,193,130,144,253,193,132,144,253,193,134,144,253,193,136,144,253,193,212,144,253,193,214,144,253,193,216,144,253,193,218,144,253,193,76,143,253,193,78,143,253,193,80,143,253,193,82,143,253,193,84,143,253,193,86,143,253,193,88,143,253,193,90,143,253,193,92,143,253,193,94,143,253,193,96,143,253,193,98,143,253,193,100,143,253,193,102,143,253,193,104,143,253,193,106,143,253,193,108,143,253,193,110,143,253,193,112,143,253,193,114,143,253,193,116,143,253,193,118,143,253,193,120,143,253,193,122,143,253,193,124,143,253,193,126,143,253,193,128,143,253,193,130,143,253,193,132,143,253,193,134,143,253,193,136,143,253,193,188,143,253,193,190,143,253,193,192,143,253,193,194,143,253,193,196,143,253,193,198,143,253,193,200,143,253,193,202,143,253,193,204,143,253,193,206,143,253,193,208,143,253,193,210,143,253,193,212,143,253,193,214,143,253,193,216,143,253,193,218,143,253,193,220,143,253,193,222,143,253,193,224,143,253,193,226,143,253,193,228,143,253,193,230,143,253,193,232,143,253,193,234,143,253,193,236,143,253,193,238,143,253,193,240,143,253,193,242,143,253,193,244,143,253,193,246,143,253,193,248,143,253,193,250,143,253,193,252,143,253,193,254,143,253,193,2,144,253,193,4,144,253,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,193,10,144,253,193,12,144,253,193,14,144,253,193,120,144,253,193,122,144,253,193,124,144,253,193,204,144,253,193,206,144,253,193,208,144,253,193,210,144,253,193,16,145,253,193,18,145,253,193,72,145,253,193,74,145,253,193,198,145,253,193,200,145,253,193,202,145,253,193,50,146,253,193,150,146,253,193,226,146,253,193,42,147,253,193,62,147,253,193,198,147,253,193,200,147,253,193,238,147,253,193,6,148,253,193,8,148,253,193,30,148,253,193,60,148,253,193,82,148,253,193,112,148,253,193,126,148,253,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,206,192,108,0,193,144,144,253,193,146,144,253,193,148,144,253,193,150,144,253,193,152,144,253,193,154,144,253,193,156,144,253,193,158,144,253,193,160,144,253,193,162,144,253,193,164,144,253,193,166,144,253,193,168,144,253,193,170,144,253,193,172,144,253,193,174,144,253,193,176,144,253,193,178,144,253,193,180,144,253,193,182,144,253,193,184,144,253,193,186,144,253,193,188,144,253,193,190,144,253,193,192,144,253,193,194,144,253,193,196,144,253,193,198,144,253,193,200,144,253,193,232,144,253,193,234,144,253,193,236,144,253,193,238,144,253,193,240,144,253,193,242,144,253,193,244,144,253,193,246,144,253,193,248,144,253,193,250,144,253,193,252,144,253,193,254,144,253,193,2,145,253,193,4,145,253,193,6,145,253,193,8,145,253,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,193,222,144,253,193,224,144,253,193,226,144,253,193,228,144,253,193,230,144,253,193,30,145,253,193,32,145,253,193,80,145,253,193,82,145,253,193,116,145,253,193,130,145,253,193,132,145,253,193,150,145,253,193,152,145,253,193,170,145,253,193,212,145,253,193,234,145,253,193,236,145,253,193,238,145,253,193,240,145,253,193,54,146,253,193,82,146,253,193,122,146,253,193,124,146,253,193,126,146,253,193,160,146,253,193,162,146,253,193,208,146,253,193,230,146,253,193,244,146,253,193,112,147,253,193,122,147,253,193,22,145,253,193,24,145,253,193,26,145,253,193,28,145,253,193,76,145,253,193,78,145,253,193,110,145,253,193,112,145,253,193,114,145,253,193,148,145,253,193,180,145,253,193,196,145,253,193,206,145,253,193,230,145,253,193,232,145,253,193,14,146,253,193,16,146,253,193,18,146,253,193,52,146,253,193,76,146,253,193,78,146,253,193,80,146,253,193,112,146,253,193,114,146,253,193,116,146,253,193,118,146,253,193,120,146,253,193,182,146,253,193,152,146,253,193,154,146,253,193,156,146,253,193,158,146,253,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,206,224,108,0,193,84,145,253,193,86,145,253,193,88,145,253,193,90,145,253,193,92,145,253,193,94,145,253,193,96,145,253,193,98,145,253,193,100,145,253,193,102,145,253,193,104,145,253,193,106,145,253,193,108,145,253,193,118,145,253,193,120,145,253,193,122,145,253,193,124,145,253,193,126,145,253,193,128,145,253,193,134,145,253,193,136,145,253,193,138,145,253,193,102,181,253,193,140,145,253,193,142,145,253,193,144,145,253,193,154,145,253,193,156,145,253,193,158,145,253,193,160,145,253,193,162,145,253,193,164,145,253,193,166,145,253,193,168,145,253,193,172,145,253,193,174,145,253,193,176,145,253,193,178,145,253,193,182,145,253,193,184,145,253,193,186,145,253,193,188,145,253,193,190,145,253,193,192,145,253,193,194,145,253,193,208,145,253,193,214,145,253,193,216,145,253,193,218,145,253,193,220,145,253,193,222,145,253,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,193,228,145,253,193,12,146,253,193,74,146,253,193,44,147,253,193,56,147,253,193,58,147,253,193,64,147,253,193,66,147,253,193,68,147,253,193,70,147,253,193,88,147,253,193,102,147,253,193,104,147,253,193,118,147,253,193,160,147,253,193,202,147,253,193,32,148,253,193,34,148,253,193,62,148,253,193,64,148,253,193,24,149,253,193,26,149,253,193,246,149,253,193,248,149,253,193,160,150,253,193,162,150,253,193,252,151,253,193,254,151,253,193,2,152,253,193,152,152,253,193,244,152,253,193,52,153,253,206,0,109,0,206,0,109,0,206,0,109,0,206,0,109,0,193,20,146,253,193,22,146,253,193,24,146,253,193,26,146,253,193,28,146,253,193,30,146,253,193,32,146,253,193,34,146,253,193,36,146,253,193,38,146,253,193,40,146,253,193,56,146,253,193,58,146,253,193,60,146,253,193,62,146,253,193,64,146,253,193,66,146,253,193,68,146,253,193,70,146,253,193,72,146,253,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,206,32,109,0,193,128,146,253,193,130,146,253,193,132,146,253,193,134,146,253,193,136,146,253,193,138,146,253,193,140,146,253,193,142,146,253,193,144,146,253,193,146,146,253,193,164,146,253,193,166,146,253,193,168,146,253,193,170,146,253,193,172,146,253,193,174,146,253,193,176,146,253,193,178,146,253,193,180,146,253,193,186,146,253,193,188,146,253,193,190,146,253,193,192,146,253,193,194,146,253,193,196,146,253,193,198,146,253,193,200,146,253,193,184,146,253,193,204,146,253,193,206,146,253,193,228,146,253,193,2,147,253,193,4,147,253,193,30,147,253,193,32,147,253,193,46,147,253,193,72,147,253,193,76,147,253,193,78,147,253,193,90,147,253,193,108,147,253,193,110,147,253,193,120,147,253,193,126,147,253,193,130,147,253,193,142,147,253,193,184,147,253,193,204,147,253,193,206,147,253,193,216,147,253,193,218,147,253,193,10,148,253,193,44,148,253,193,46,148,253,193,66,148,253,193,68,148,253,193,84,148,253,193,86,148,253,193,88,148,253,193,210,146,253,193,212,146,253,193,214,146,253,193,216,146,253,193,218,146,253,193,220,146,253,193,222,146,253,193,224,146,253,193,232,146,253,193,234,146,253,193,236,146,253,193,238,146,253,193,240,146,253,193,242,146,253,193,246,146,253,193,248,146,253,193,250,146,253,193,252,146,253,193,6,147,253,193,8,147,253,193,12,147,253,193,14,147,253,193,18,147,253,193,20,147,253,193,22,147,253,193,24,147,253,193,26,147,253,193,28,147,253,193,36,147,253,193,48,147,253,193,50,147,253,193,80,147,253,193,82,147,253,193,114,147,253,193,116,147,253,193,124,147,253,193,128,147,253,193,134,147,253,193,136,147,253,193,138,147,253,193,140,147,253,193,148,147,253,193,150,147,253,193,154,147,253,193,164,147,253,193,156,147,253,193,158,147,253,193,166,147,253,193,168,147,253,193,170,147,253,193,172,147,253,193,174,147,253,193,178,147,253,193,180,147,253,193,182,147,253,193,196,147,253,193,210,147,253,193,212,147,253,193,222,147,253,193,224,147,253,193,226,147,253,193,228,147,253,193,240,147,253,193,242,147,253,193,132,147,253,193,144,147,253,193,146,147,253,193,152,147,253,193,162,147,253,193,176,147,253,193,190,147,253,193,192,147,253,193,194,147,253,193,208,147,253,193,220,147,253,193,12,148,253,193,14,148,253,193,48,148,253,193,70,148,253,193,72,148,253,193,114,148,253,193,172,148,253,193,174,148,253,193,218,148,253,193,220,148,253,193,222,148,253,193,40,149,253,193,42,149,253,193,44,149,253,193,46,149,253,193,48,149,253,193,50,149,253,193,52,149,253,193,54,149,253,193,56,149,253,193,166,149,253,193,244,147,253,193,246,147,253,193,248,147,253,193,250,147,253,193,252,147,253,193,254,147,253,193,2,148,253,193,16,148,253,193,18,148,253,193,20,148,253,193,22,148,253,193,24,148,253,193,26,148,253,193,36,148,253,193,38,148,253,193,40,148,253,193,42,148,253,193,50,148,253,193,52,148,253,193,54,148,253,193,56,148,253,193,74,148,253,193,76,148,253,193,78,148,253,193,80,148,253,193,90,148,253,193,92,148,253,193,94,148,253,193,96,148,253,193,98,148,253,193,100,148,253,193,104,148,253,193,106,148,253,193,108,148,253,193,116,148,253,193,118,148,253,193,120,148,253,193,122,148,253,193,124,148,253,193,130,148,253,193,132,148,253,193,138,148,253,193,140,148,253,193,144,148,253,193,152,148,253,193,154,148,253,193,156,148,253,193,158,148,253,193,176,148,253,193,178,148,253,193,180,148,253,193,182,148,253,193,184,148,253,193,186,148,253,193,188,148,253,193,190,148,253,193,192,148,253,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,193,128,148,253,193,142,148,253,193,146,148,253,193,148,148,253,193,150,148,253,193,162,148,253,193,164,148,253,193,166,148,253,193,168,148,253,193,170,148,253,193,196,148,253,193,198,148,253,193,200,148,253,193,202,148,253,193,204,148,253,193,206,148,253,193,208,148,253,193,210,148,253,193,212,148,253,193,214,148,253,193,28,149,253,193,30,149,253,193,32,149,253,193,34,149,253,193,36,149,253,193,216,148,253,193,38,149,253,206,128,109,0,206,128,109,0,206,128,109,0,206,128,109,0,206,128,109,0,193,194,148,253,193,122,149,253,193,124,149,253,193,236,149,253,193,148,150,253,193,150,150,253,193,152,150,253,193,154,150,253,193,24,151,253,193,26,151,253,193,142,151,253,193,144,151,253,193,70,152,253,193,72,152,253,193,146,152,253,193,194,152,253,193,16,153,253,193,50,153,253,193,68,153,253,193,76,153,253,193,112,153,253,193,114,153,253,193,130,153,253,193,132,153,253,193,134,153,253,193,136,153,253,193,138,153,253,193,164,153,253,193,166,153,253,193,168,153,253,193,170,153,253,193,172,153,253,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,64,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,193,18,149,253,193,20,149,253,193,22,149,253,193,126,149,253,193,128,149,253,193,130,149,253,193,132,149,253,193,238,149,253,193,240,149,253,193,242,149,253,193,244,149,253,193,156,150,253,193,158,150,253,193,28,151,253,193,30,151,253,193,32,151,253,193,34,151,253,193,36,151,253,193,38,151,253,193,40,151,253,193,42,151,253,193,146,151,253,193,148,151,253,193,242,151,253,193,244,151,253,193,246,151,253,193,248,151,253,193,250,151,253,193,74,152,253,193,76,152,253,193,148,152,253,193,150,152,253,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,96,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,128,109,0,206,128,109,0,206,128,109,0,206,128,109,0,193,250,149,253,193,252,149,253,193,152,149,253,193,154,149,253,193,156,149,253,193,158,149,253,193,160,149,253,193,162,149,253,193,164,149,253,193,254,149,253,193,2,150,253,193,4,150,253,193,6,150,253,193,8,150,253,193,10,150,253,193,12,150,253,193,14,150,253,193,16,150,253,193,18,150,253,193,20,150,253,193,22,150,253,193,24,150,253,193,26,150,253,193,28,150,253,193,30,150,253,193,32,150,253,193,44,151,253,193,164,150,253,193,168,149,253,193,170,149,253,193,172,149,253,193,34,150,253,193,36,150,253,193,38,150,253,193,40,150,253,193,42,150,253,193,44,150,253,193,46,150,253,193,48,150,253,193,188,150,253,193,190,150,253,193,192,150,253,193,194,150,253,193,196,150,253,193,198,150,253,193,200,150,253,193,202,150,253,193,204,150,253,193,68,151,253,193,70,151,253,193,72,151,253,193,74,151,253,193,76,151,253,193,78,151,253,193,80,151,253,193,82,151,253,193,84,151,253,193,86,151,253,193,168,151,253,193,170,151,253,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,160,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,206,192,109,0,193,206,150,253,193,208,150,253,193,210,150,253,193,146,150,253,193,22,151,253,193,138,151,253,193,140,151,253,193,240,151,253,193,66,152,253,193,68,152,253,193,144,152,253,193,192,152,253,193,14,153,253,193,86,153,253,193,108,153,253,193,126,153,253,193,128,153,253,193,156,153,253,193,158,153,253,193,160,153,253,193,162,153,253,193,206,153,253,193,208,153,253,193,230,153,253,193,232,153,253,193,234,153,253,193,16,154,253,193,38,154,253,193,54,154,253,193,76,154,253,193,160,154,253,193,220,154,253,193,160,155,253,193,240,155,253,193,242,155,253,193,166,150,253,193,168,150,253,193,170,150,253,193,172,150,253,193,174,150,253,193,176,150,253,193,178,150,253,193,180,150,253,193,182,150,253,193,184,150,253,193,186,150,253,193,46,151,253,193,48,151,253,193,50,151,253,193,52,151,253,193,54,151,253,193,56,151,253,193,58,151,253,193,60,151,253,193,62,151,253,193,64,151,253,193,66,151,253,193,150,151,253,193,152,151,253,193,154,151,253,193,156,151,253,193,158,151,253,193,160,151,253,193,162,151,253,193,164,151,253,193,166,151,253,193,4,152,253,193,212,150,253,193,214,150,253,193,216,150,253,193,218,150,253,193,220,150,253,193,222,150,253,193,224,150,253,193,226,150,253,193,228,150,253,193,230,150,253,193,232,150,253,193,234,150,253,193,236,150,253,193,238,150,253,193,240,150,253,193,242,150,253,193,244,150,253,193,246,150,253,193,248,150,253,193,250,150,253,193,252,150,253,193,254,150,253,193,2,151,253,193,4,151,253,193,6,151,253,193,8,151,253,193,10,151,253,193,12,151,253,193,14,151,253,193,16,151,253,193,18,151,253,193,20,151,253,193,88,151,253,193,90,151,253,193,92,151,253,193,94,151,253,193,96,151,253,193,98,151,253,193,100,151,253,193,102,151,253,193,104,151,253,193,106,151,253,193,108,151,253,193,110,151,253,193,112,151,253,193,114,151,253,193,116,151,253,193,118,151,253,193,120,151,253,193,122,151,253,193,124,151,253,193,126,151,253,193,128,151,253,193,130,151,253,193,132,151,253,193,134,151,253,193,136,151,253,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,193,172,151,253,193,174,151,253,193,176,151,253,193,178,151,253,193,180,151,253,193,182,151,253,193,184,151,253,193,186,151,253,193,14,152,253,193,16,152,253,193,18,152,253,193,20,152,253,193,88,152,253,193,90,152,253,193,92,152,253,193,94,152,253,193,96,152,253,193,98,152,253,193,160,152,253,193,162,152,253,193,164,152,253,193,248,152,253,193,250,152,253,193,26,153,253,193,84,154,253,193,96,154,253,193,118,154,253,193,120,154,253,193,122,154,253,193,124,154,253,193,176,154,253,193,178,154,253,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,224,109,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,193,6,152,253,193,8,152,253,193,10,152,253,193,12,152,253,193,78,152,253,193,80,152,253,193,82,152,253,193,84,152,253,193,86,152,253,193,154,152,253,193,156,152,253,193,158,152,253,193,200,152,253,193,202,152,253,193,204,152,253,193,206,152,253,193,246,152,253,193,22,153,253,193,24,153,253,193,54,153,253,193,56,153,253,193,70,153,253,193,72,153,253,193,74,153,253,193,78,153,253,193,80,153,253,193,82,153,253,193,84,153,253,206,32,110,0,206,32,110,0,206,32,110,0,206,32,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,206,0,110,0,193,100,152,253,193,102,152,253,193,104,152,253,193,106,152,253,193,108,152,253,193,110,152,253,193,112,152,253,193,114,152,253,193,116,152,253,193,118,152,253,193,120,152,253,193,122,152,253,193,124,152,253,193,126,152,253,193,128,152,253,193,130,152,253,193,132,152,253,193,134,152,253,193,136,152,253,193,138,152,253,193,140,152,253,193,142,152,253,193,166,152,253,193,168,152,253,193,170,152,253,193,172,152,253,193,174,152,253,193,176,152,253,193,178,152,253,193,180,152,253,193,182,152,253,193,184,152,253,193,186,152,253,193,188,152,253,193,190,152,253,193,208,152,253,193,210,152,253,193,212,152,253,193,214,152,253,193,216,152,253,193,218,152,253,193,220,152,253,193,222,152,253,193,224,152,253,193,226,152,253,193,228,152,253,193,230,152,253,193,232,152,253,193,234,152,253,193,236,152,253,193,238,152,253,193,240,152,253,193,242,152,253,193,252,152,253,193,254,152,253,193,196,152,253,193,198,152,253,193,18,153,253,193,20,153,253,193,34,153,253,193,36,153,253,193,90,154,253,193,162,154,253,193,222,154,253,193,16,155,253,193,18,155,253,193,20,155,253,193,78,155,253,193,162,155,253,193,164,155,253,193,166,155,253,193,58,156,253,193,96,156,253,193,168,156,253,193,230,156,253,193,62,157,253,193,98,157,253,193,166,157,253,193,246,157,253,193,248,157,253,193,194,158,253,193,196,158,253,193,198,158,253,193,48,159,253,193,52,160,253,193,54,160,253,193,56,160,253,193,2,153,253,193,4,153,253,193,6,153,253,193,8,153,253,193,10,153,253,193,12,153,253,193,28,153,253,193,30,153,253,193,32,153,253,193,38,153,253,193,40,153,253,193,42,153,253,193,44,153,253,193,46,153,253,193,48,153,253,193,58,153,253,193,60,153,253,193,62,153,253,193,64,153,253,193,66,153,253,193,36,206,253,193,226,153,253,193,228,153,253,193,68,154,253,193,86,154,253,193,88,154,253,193,98,154,253,193,100,154,253,193,102,154,253,193,104,154,253,193,106,154,253,193,108,154,253,193,88,153,253,193,116,153,253,193,140,153,253,193,180,153,253,193,182,153,253,193,184,153,253,193,186,153,253,193,188,153,253,193,190,153,253,193,216,153,253,193,218,153,253,193,220,153,253,193,222,153,253,193,250,153,253,193,252,153,253,193,254,153,253,193,2,154,253,193,24,154,253,193,26,154,253,193,28,154,253,193,42,154,253,193,44,154,253,193,46,154,253,193,48,154,253,193,50,154,253,193,52,154,253,193,56,154,253,193,64,154,253,193,164,154,253,193,224,154,253,193,226,154,253,193,228,154,253,206,32,110,0,206,32,110,0,206,32,110,0,206,32,110,0,206,32,110,0,193,118,153,253,193,120,153,253,193,122,153,253,193,124,153,253,193,142,153,253,193,144,153,253,193,146,153,253,193,148,153,253,193,150,153,253,193,152,153,253,193,154,153,253,193,192,153,253,193,194,153,253,193,196,153,253,193,198,153,253,193,200,153,253,193,202,153,253,193,204,153,253,193,224,153,253,193,4,154,253,193,6,154,253,193,8,154,253,193,10,154,253,193,12,154,253,193,14,154,253,193,30,154,253,193,32,154,253,193,174,153,253,193,176,153,253,193,178,153,253,193,210,153,253,193,212,153,253,193,214,153,253,193,236,153,253,193,238,153,253,193,240,153,253,193,242,153,253,193,244,153,253,193,246,153,253,193,248,153,253,193,18,154,253,193,20,154,253,193,22,154,253,193,40,154,253,193,62,154,253,193,72,154,253,193,80,154,253,193,244,155,253,193,252,156,253,193,254,156,253,193,2,157,253,193,18,157,253,193,20,157,253,193,22,157,253,193,24,157,253,193,30,157,253,193,42,157,253,193,56,157,253,193,58,157,253,193,34,154,253,193,36,154,253,193,58,154,253,193,60,154,253,193,66,154,253,193,70,154,253,193,74,154,253,193,78,154,253,193,82,154,253,193,92,154,253,193,94,154,253,193,114,154,253,193,116,154,253,193,166,154,253,193,168,154,253,193,170,154,253,193,172,154,253,193,174,154,253,193,230,154,253,193,232,154,253,193,22,155,253,193,24,155,253,193,86,155,253,193,88,155,253,193,176,155,253,193,178,155,253,193,180,155,253,193,252,155,253,193,254,155,253,193,2,156,253,193,4,156,253,193,6,156,253,193,180,154,253,193,182,154,253,193,184,154,253,193,186,154,253,193,234,154,253,193,236,154,253,193,26,155,253,193,28,155,253,193,30,155,253,193,32,155,253,193,34,155,253,193,90,155,253,193,92,155,253,193,94,155,253,193,96,155,253,193,98,155,253,193,100,155,253,193,182,155,253,193,184,155,253,193,186,155,253,193,188,155,253,193,190,155,253,193,192,155,253,193,194,155,253,193,10,156,253,193,12,156,253,193,14,156,253,193,70,156,253,193,72,156,253,193,116,156,253,193,174,156,253,193,184,156,253,206,64,110,0,206,64,110,0,206,64,110,0,206,64,110,0,193,240,154,253,193,242,154,253,193,244,154,253,193,246,154,253,193,248,154,253,193,250,154,253,193,252,154,253,193,254,154,253,193,2,155,253,193,4,155,253,193,6,155,253,193,8,155,253,193,10,155,253,193,12,155,253,193,14,155,253,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,96,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,193,80,155,253,193,82,155,253,193,84,155,253,193,168,155,253,193,170,155,253,193,172,155,253,193,174,155,253,193,246,155,253,193,248,155,253,193,250,155,253,193,60,156,253,193,98,156,253,193,100,156,253,193,102,156,253,193,170,156,253,193,172,156,253,193,198,156,253,193,214,156,253,193,224,156,253,193,226,156,253,193,246,156,253,193,4,157,253,193,26,157,253,193,28,157,253,193,32,157,253,193,34,157,253,193,36,157,253,193,44,157,253,193,64,157,253,193,66,157,253,193,82,157,253,193,100,157,253,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,206,128,110,0,193,196,155,253,193,198,155,253,193,200,155,253,193,202,155,253,193,204,155,253,193,206,155,253,193,208,155,253,193,210,155,253,193,212,155,253,193,16,156,253,193,214,155,253,193,216,155,253,193,218,155,253,193,220,155,253,193,222,155,253,193,224,155,253,193,226,155,253,193,228,155,253,193,230,155,253,193,232,155,253,193,234,155,253,193,236,155,253,193,238,155,253,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,193,8,156,253,193,62,156,253,193,64,156,253,193,66,156,253,193,68,156,253,193,104,156,253,193,106,156,253,193,108,156,253,193,110,156,253,193,112,156,253,193,114,156,253,193,150,156,253,193,216,156,253,193,218,156,253,193,242,156,253,193,244,156,253,193,6,157,253,193,8,157,253,193,10,157,253,193,46,157,253,193,68,157,253,193,84,157,253,193,70,157,253,193,86,157,253,193,96,157,253,193,102,157,253,193,104,157,253,193,122,157,253,193,148,157,253,193,160,157,253,193,164,157,253,193,170,157,253,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,206,160,110,0,193,74,156,253,193,76,156,253,193,78,156,253,193,80,156,253,193,82,156,253,193,84,156,253,193,86,156,253,193,88,156,253,193,90,156,253,193,92,156,253,193,94,156,253,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,193,52,156,253,193,54,156,253,193,56,156,253,193,164,156,253,193,166,156,253,193,182,156,253,193,196,156,253,193,248,156,253,193,40,157,253,193,54,157,253,193,76,157,253,193,116,157,253,193,168,157,253,193,70,158,253,193,192,158,253,193,34,159,253,193,36,159,253,193,38,159,253,193,40,159,253,193,150,159,253,193,196,160,253,193,198,160,253,193,200,160,253,193,202,160,253,193,76,161,253,193,186,161,253,193,188,161,253,193,36,162,253,193,178,162,253,193,180,162,253,193,34,163,253,193,62,163,253,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,206,192,110,0,193,152,156,253,193,154,156,253,193,156,156,253,193,158,156,253,193,160,156,253,193,162,156,253,193,176,156,253,193,178,156,253,193,180,156,253,193,186,156,253,193,188,156,253,193,190,156,253,193,192,156,253,193,194,156,253,193,200,156,253,193,202,156,253,193,204,156,253,193,206,156,253,193,208,156,253,193,210,156,253,193,212,156,253,193,220,156,253,193,222,156,253,193,228,156,253,193,232,156,253,193,234,156,253,193,236,156,253,193,238,156,253,193,240,156,253,193,12,157,253,193,14,157,253,193,38,157,253,193,48,157,253,193,50,157,253,193,52,157,253,193,72,157,253,193,74,157,253,193,88,157,253,193,90,157,253,193,106,157,253,193,114,157,253,193,124,157,253,193,126,157,253,193,128,157,253,193,132,157,253,193,138,157,253,193,140,157,253,193,142,157,253,193,144,157,253,193,146,157,253,193,150,157,253,193,152,157,253,193,154,157,253,193,156,157,253,193,162,157,253,193,176,157,253,193,60,157,253,193,78,157,253,193,80,157,253,193,92,157,253,193,94,157,253,193,108,157,253,193,110,157,253,193,118,157,253,193,120,157,253,193,130,157,253,193,158,157,253,193,72,158,253,193,74,158,253,193,76,158,253,193,78,158,253,193,42,159,253,193,44,159,253,193,46,159,253,193,152,159,253,193,154,159,253,193,156,159,253,193,48,160,253,193,50,160,253,193,204,160,253,193,206,160,253,193,208,160,253,193,190,161,253,193,38,162,253,193,40,162,253,193,42,162,253,193,44,162,253,193,114,162,253,193,112,157,253,193,250,157,253,193,252,157,253,193,254,157,253,193,80,158,253,193,50,159,253,193,52,159,253,193,54,159,253,193,158,159,253,193,160,159,253,193,60,160,253,193,62,160,253,193,86,161,253,193,88,161,253,193,90,161,253,193,200,161,253,193,48,162,253,193,40,163,253,193,70,163,253,193,72,163,253,193,74,163,253,193,116,163,253,193,118,163,253,193,120,163,253,193,156,163,253,193,158,163,253,193,160,163,253,193,162,163,253,193,228,163,253,193,230,163,253,193,232,163,253,193,234,163,253,193,134,157,253,193,136,157,253,193,194,157,253,193,212,157,253,193,214,157,253,193,216,157,253,193,22,158,253,193,24,158,253,193,26,158,253,193,28,158,253,193,30,158,253,193,106,158,253,193,108,158,253,193,110,158,253,193,112,158,253,193,114,158,253,193,116,158,253,193,118,158,253,193,120,158,253,193,122,158,253,193,124,158,253,193,234,158,253,193,236,158,253,193,238,158,253,193,240,158,253,193,242,158,253,193,244,158,253,193,246,158,253,193,78,159,253,193,80,159,253,193,82,159,253,193,84,159,253,193,172,157,253,193,186,157,253,193,188,157,253,193,190,157,253,193,192,157,253,193,204,157,253,193,206,157,253,193,208,157,253,193,210,157,253,193,2,158,253,193,4,158,253,193,6,158,253,193,8,158,253,193,10,158,253,193,12,158,253,193,14,158,253,193,16,158,253,193,18,158,253,193,20,158,253,193,82,158,253,193,84,158,253,193,86,158,253,193,88,158,253,193,90,158,253,193,92,158,253,193,94,158,253,193,200,158,253,193,96,158,253,193,98,158,253,193,100,158,253,193,102,158,253,193,104,158,253,193,178,157,253,193,180,157,253,193,184,157,253,193,182,157,253,193,198,157,253,193,200,157,253,193,202,157,253,193,218,157,253,193,220,157,253,193,222,157,253,193,224,157,253,193,226,157,253,193,228,157,253,193,230,157,253,193,232,157,253,193,234,157,253,193,236,157,253,193,238,157,253,193,240,157,253,193,242,157,253,193,244,157,253,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,224,110,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,206,0,111,0,193,248,158,253,193,250,158,253,193,252,158,253,193,254,158,253,193,2,159,253,193,4,159,253,193,6,159,253,193,8,159,253,193,10,159,253,193,12,159,253,193,14,159,253,193,16,159,253,193,18,159,253,193,20,159,253,193,22,159,253,193,24,159,253,193,26,159,253,193,28,159,253,193,30,159,253,193,32,159,253,193,92,159,253,193,94,159,253,193,96,159,253,193,202,158,253,193,204,158,253,193,206,158,253,193,208,158,253,193,210,158,253,193,212,158,253,193,214,158,253,193,216,158,253,193,218,158,253,193,220,158,253,193,222,158,253,193,224,158,253,193,226,158,253,193,228,158,253,193,230,158,253,193,232,158,253,193,56,159,253,193,58,159,253,193,60,159,253,193,62,159,253,193,64,159,253,193,66,159,253,193,68,159,253,193,70,159,253,193,72,159,253,193,74,159,253,193,162,159,253,193,164,159,253,193,166,159,253,193,76,159,253,193,168,159,253,193,170,159,253,193,86,159,253,193,88,159,253,193,90,159,253,193,192,159,253,193,194,159,253,193,196,159,253,193,198,159,253,193,200,159,253,193,90,160,253,193,92,160,253,193,94,160,253,193,96,160,253,193,98,160,253,193,100,160,253,193,102,160,253,193,104,160,253,193,250,160,253,193,252,160,253,193,254,160,253,193,2,161,253,193,4,161,253,193,104,161,253,193,106,161,253,193,108,161,253,193,222,161,253,193,224,161,253,193,226,161,253,193,228,161,253,193,230,161,253,193,62,162,253,193,64,162,253,193,66,162,253,193,98,159,253,193,100,159,253,193,102,159,253,193,104,159,253,193,106,159,253,193,108,159,253,193,110,159,253,193,112,159,253,193,114,159,253,193,116,159,253,193,118,159,253,193,120,159,253,193,122,159,253,193,124,159,253,193,126,159,253,193,128,159,253,193,130,159,253,193,132,159,253,193,134,159,253,193,136,159,253,193,138,159,253,193,140,159,253,193,142,159,253,193,144,159,253,193,146,159,253,193,148,159,253,193,202,159,253,193,204,159,253,193,206,159,253,193,208,159,253,193,210,159,253,193,212,159,253,193,172,159,253,193,174,159,253,193,176,159,253,193,178,159,253,193,180,159,253,193,182,159,253,193,184,159,253,193,186,159,253,193,188,159,253,193,190,159,253,193,64,160,253,193,66,160,253,193,68,160,253,193,70,160,253,193,72,160,253,193,74,160,253,193,76,160,253,193,78,160,253,193,80,160,253,193,82,160,253,193,84,160,253,193,86,160,253,193,224,160,253,193,88,160,253,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,193,214,159,253,193,216,159,253,193,218,159,253,193,220,159,253,193,222,159,253,193,224,159,253,193,226,159,253,193,228,159,253,193,230,159,253,193,232,159,253,193,234,159,253,193,236,159,253,193,238,159,253,193,240,159,253,193,242,159,253,193,244,159,253,193,246,159,253,193,248,159,253,193,250,159,253,193,252,159,253,193,254,159,253,193,2,160,253,193,4,160,253,193,6,160,253,193,8,160,253,193,10,160,253,193,12,160,253,193,14,160,253,193,16,160,253,193,18,160,253,193,20,160,253,193,22,160,253,193,24,160,253,193,26,160,253,193,28,160,253,193,106,160,253,193,30,160,253,193,32,160,253,193,34,160,253,193,36,160,253,193,38,160,253,193,40,160,253,193,42,160,253,193,44,160,253,193,46,160,253,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,193,58,160,253,193,210,160,253,193,212,160,253,193,214,160,253,193,216,160,253,193,218,160,253,193,220,160,253,193,222,160,253,193,78,161,253,193,80,161,253,193,82,161,253,193,84,161,253,193,192,161,253,193,194,161,253,193,196,161,253,193,198,161,253,193,46,162,253,193,118,162,253,193,120,162,253,193,122,162,253,193,124,162,253,193,126,162,253,193,204,162,253,193,206,162,253,193,228,162,253,193,240,162,253,193,242,162,253,193,152,163,253,193,154,163,253,193,14,164,253,193,88,164,253,193,122,164,253,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,32,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,64,111,0,206,64,111,0,206,64,111,0,206,64,111,0,193,92,161,253,193,94,161,253,193,96,161,253,193,98,161,253,193,100,161,253,193,102,161,253,193,202,161,253,193,204,161,253,193,206,161,253,193,208,161,253,193,210,161,253,193,212,161,253,193,214,161,253,193,216,161,253,193,218,161,253,193,220,161,253,193,50,162,253,193,52,162,253,193,54,162,253,193,56,162,253,193,58,162,253,193,60,162,253,193,128,162,253,193,130,162,253,193,132,162,253,193,208,162,253,193,230,162,253,193,232,162,253,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,206,96,111,0,193,112,161,253,193,60,161,253,193,62,161,253,193,64,161,253,193,66,161,253,193,68,161,253,193,70,161,253,193,72,161,253,193,74,161,253,193,114,161,253,193,116,161,253,193,118,161,253,193,120,161,253,193,122,161,253,193,124,161,253,193,126,161,253,193,128,161,253,193,130,161,253,193,132,161,253,193,134,161,253,193,136,161,253,193,138,161,253,193,140,161,253,193,142,161,253,193,144,161,253,193,146,161,253,193,148,161,253,193,150,161,253,193,152,161,253,193,154,161,253,193,156,161,253,193,158,161,253,193,160,161,253,193,162,161,253,193,164,161,253,193,166,161,253,193,168,161,253,193,170,161,253,193,172,161,253,193,174,161,253,193,176,161,253,193,178,161,253,193,180,161,253,193,182,161,253,193,184,161,253,193,234,161,253,193,236,161,253,193,238,161,253,193,240,161,253,193,242,161,253,193,244,161,253,193,246,161,253,193,248,161,253,193,250,161,253,193,252,161,253,193,254,161,253,193,2,162,253,193,4,162,253,193,6,162,253,193,8,162,253,193,10,162,253,193,12,162,253,193,14,162,253,193,16,162,253,193,18,162,253,193,20,162,253,193,70,162,253,193,22,162,253,193,24,162,253,193,26,162,253,193,28,162,253,193,30,162,253,193,32,162,253,193,34,162,253,193,72,162,253,193,74,162,253,193,68,162,253,193,136,162,253,193,138,162,253,193,140,162,253,193,142,162,253,193,182,162,253,193,234,162,253,193,236,162,253,193,244,162,253,193,8,163,253,193,76,164,253,193,144,164,253,193,146,164,253,193,206,164,253,193,220,164,253,193,20,165,253,193,66,165,253,193,68,165,253,193,70,165,253,193,202,165,253,193,220,165,253,193,254,165,253,193,2,166,253,193,66,166,253,193,68,166,253,193,70,166,253,193,72,166,253,193,74,166,253,193,76,166,253,193,78,166,253,193,80,166,253,193,192,166,253,193,76,162,253,193,78,162,253,193,80,162,253,193,82,162,253,193,84,162,253,193,86,162,253,193,88,162,253,193,90,162,253,193,92,162,253,193,94,162,253,193,96,162,253,193,98,162,253,193,100,162,253,193,102,162,253,193,104,162,253,193,106,162,253,193,108,162,253,193,110,162,253,193,112,162,253,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,193,116,162,253,193,202,162,253,193,254,162,253,193,2,163,253,193,10,163,253,193,26,163,253,193,28,163,253,193,36,163,253,193,38,163,253,193,66,163,253,193,68,163,253,193,98,163,253,193,100,163,253,193,102,163,253,193,104,163,253,193,106,163,253,193,108,163,253,193,110,163,253,193,112,163,253,193,114,163,253,193,144,163,253,193,146,163,253,193,148,163,253,193,150,163,253,193,188,163,253,193,190,163,253,193,192,163,253,193,194,163,253,193,214,163,253,193,216,163,253,193,218,163,253,193,220,163,253,206,128,111,0,206,128,111,0,206,128,111,0,206,128,111,0,193,184,162,253,193,186,162,253,193,188,162,253,193,190,162,253,193,192,162,253,193,194,162,253,193,196,162,253,193,198,162,253,193,200,162,253,193,210,162,253,193,212,162,253,193,214,162,253,193,216,162,253,193,218,162,253,193,220,162,253,193,222,162,253,193,224,162,253,193,226,162,253,193,238,162,253,193,246,162,253,193,248,162,253,193,250,162,253,193,252,162,253,193,12,163,253,193,16,163,253,193,18,163,253,193,56,163,253,193,58,163,253,193,4,163,253,193,6,163,253,193,14,163,253,193,20,163,253,193,22,163,253,193,24,163,253,193,30,163,253,193,32,163,253,193,42,163,253,193,44,163,253,193,46,163,253,193,48,163,253,193,50,163,253,193,52,163,253,193,54,163,253,193,76,163,253,193,78,163,253,193,80,163,253,193,82,163,253,193,84,163,253,193,86,163,253,193,122,163,253,193,124,163,253,193,126,163,253,193,128,163,253,193,130,163,253,193,132,163,253,193,134,163,253,193,136,163,253,193,164,163,253,193,166,163,253,193,168,163,253,193,60,163,253,193,88,163,253,193,90,163,253,193,138,163,253,193,176,163,253,193,178,163,253,193,204,163,253,193,180,163,253,193,206,163,253,193,208,163,253,193,244,163,253,193,246,163,253,193,38,164,253,193,62,164,253,193,64,164,253,193,78,164,253,193,112,164,253,193,116,164,253,193,118,164,253,193,120,164,253,193,124,164,253,193,128,164,253,193,130,164,253,193,132,164,253,193,134,164,253,193,136,164,253,193,148,164,253,193,150,164,253,193,152,164,253,193,154,164,253,193,156,164,253,193,158,164,253,193,64,163,253,193,92,163,253,193,94,163,253,193,96,163,253,193,140,163,253,193,142,163,253,193,182,163,253,193,184,163,253,193,186,163,253,193,210,163,253,193,212,163,253,193,248,163,253,193,250,163,253,193,252,163,253,193,254,163,253,193,2,164,253,193,40,164,253,193,42,164,253,193,80,164,253,193,82,164,253,193,94,164,253,193,106,164,253,193,138,164,253,193,182,164,253,193,198,164,253,193,226,164,253,193,232,164,253,193,246,164,253,193,40,165,253,193,42,165,253,193,80,165,253,193,106,165,253,193,170,163,253,193,172,163,253,193,174,163,253,193,196,163,253,193,198,163,253,193,200,163,253,193,202,163,253,193,236,163,253,193,238,163,253,193,26,164,253,193,240,163,253,193,242,163,253,193,28,164,253,193,30,164,253,193,32,164,253,193,34,164,253,193,36,164,253,193,58,164,253,193,60,164,253,193,72,164,253,193,74,164,253,193,108,164,253,193,110,164,253,193,114,164,253,193,192,164,253,193,252,164,253,193,2,165,253,193,14,165,253,193,16,165,253,193,18,165,253,193,48,165,253,193,50,165,253,193,222,163,253,193,224,163,253,193,226,163,253,193,4,164,253,193,6,164,253,193,8,164,253,193,10,164,253,193,12,164,253,193,44,164,253,193,46,164,253,193,48,164,253,193,50,164,253,193,52,164,253,193,54,164,253,193,66,164,253,193,68,164,253,193,70,164,253,193,84,164,253,193,86,164,253,193,96,164,253,193,98,164,253,193,162,164,253,193,164,164,253,193,184,164,253,193,186,164,253,193,200,164,253,193,228,164,253,193,238,164,253,193,10,165,253,193,82,165,253,193,84,165,253,193,108,165,253,193,16,164,253,193,18,164,253,193,20,164,253,193,22,164,253,193,24,164,253,193,56,164,253,193,90,164,253,193,92,164,253,193,100,164,253,193,102,164,253,193,104,164,253,193,126,164,253,193,142,164,253,193,204,164,253,193,12,165,253,193,58,165,253,193,160,165,253,193,238,165,253,193,140,166,253,193,30,167,253,193,32,167,253,193,34,167,253,193,36,167,253,193,38,167,253,193,190,167,253,193,192,167,253,193,194,167,253,193,196,167,253,193,198,167,253,193,44,168,253,193,46,168,253,193,48,168,253,193,140,164,253,193,166,164,253,193,188,164,253,193,190,164,253,193,202,164,253,193,216,164,253,193,218,164,253,193,44,165,253,193,46,165,253,193,86,165,253,193,88,165,253,193,134,165,253,193,136,165,253,193,158,165,253,193,178,165,253,193,186,165,253,193,188,165,253,193,194,165,253,193,236,165,253,193,22,166,253,193,24,166,253,193,26,166,253,193,28,166,253,193,134,166,253,193,136,166,253,193,138,166,253,193,22,167,253,193,24,167,253,193,26,167,253,193,28,167,253,193,176,167,253,193,178,167,253,193,26,165,253,193,28,165,253,193,34,165,253,193,30,165,253,193,32,165,253,193,36,165,253,193,38,165,253,193,54,165,253,193,56,165,253,193,72,165,253,193,74,165,253,193,76,165,253,193,94,165,253,193,96,165,253,193,98,165,253,193,78,165,253,193,100,165,253,193,102,165,253,193,104,165,253,193,116,165,253,193,118,165,253,193,120,165,253,193,122,165,253,193,124,165,253,193,126,165,253,193,140,165,253,193,142,165,253,193,144,165,253,193,146,165,253,193,164,165,253,193,166,165,253,193,168,165,253,193,52,165,253,193,60,165,253,193,62,165,253,193,64,165,253,193,90,165,253,193,92,165,253,193,112,165,253,193,114,165,253,193,138,165,253,193,162,165,253,193,190,165,253,193,200,165,253,193,208,165,253,193,216,165,253,193,218,165,253,193,240,165,253,193,242,165,253,193,244,165,253,193,246,165,253,193,248,165,253,193,250,165,253,193,252,165,253,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,193,110,165,253,193,128,165,253,193,130,165,253,193,132,165,253,193,152,165,253,193,154,165,253,193,156,165,253,193,176,165,253,193,20,166,253,193,130,166,253,193,132,166,253,193,174,167,253,193,36,168,253,193,202,168,253,193,204,168,253,193,206,168,253,193,126,170,253,193,240,170,253,193,238,171,253,193,24,172,253,193,78,172,253,193,80,172,253,193,82,172,253,193,84,172,253,193,86,172,253,193,140,172,253,193,142,172,253,193,144,172,253,193,146,172,253,193,148,172,253,193,150,172,253,193,200,172,253,193,148,165,253,193,150,165,253,193,174,165,253,193,184,165,253,193,206,165,253,193,18,166,253,193,122,166,253,193,124,166,253,193,126,166,253,193,128,166,253,193,172,167,253,193,194,168,253,193,196,168,253,193,198,168,253,193,200,168,253,193,94,169,253,193,96,169,253,193,98,169,253,193,10,170,253,193,12,170,253,193,14,170,253,193,16,170,253,193,18,170,253,193,238,170,253,193,62,171,253,193,106,171,253,193,194,171,253,193,254,171,253,193,20,172,253,193,22,172,253,193,72,172,253,193,74,172,253,193,170,165,253,193,172,165,253,193,180,165,253,193,182,165,253,193,192,165,253,193,198,165,253,193,204,165,253,193,210,165,253,193,214,165,253,193,222,165,253,193,224,165,253,193,226,165,253,193,228,165,253,193,230,165,253,193,232,165,253,193,234,165,253,193,4,166,253,193,6,166,253,193,8,166,253,193,10,166,253,193,12,166,253,193,14,166,253,193,16,166,253,193,82,166,253,193,84,166,253,193,86,166,253,193,88,166,253,193,90,166,253,193,92,166,253,193,94,166,253,193,96,166,253,193,206,166,253,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,206,160,111,0,193,142,166,253,193,144,166,253,193,146,166,253,193,148,166,253,193,150,166,253,193,152,166,253,193,154,166,253,193,156,166,253,193,158,166,253,193,160,166,253,193,162,166,253,193,164,166,253,193,166,166,253,193,168,166,253,193,170,166,253,193,172,166,253,193,174,166,253,193,176,166,253,193,178,166,253,193,180,166,253,193,182,166,253,193,184,166,253,193,186,166,253,193,188,166,253,193,98,166,253,193,100,166,253,193,102,166,253,193,104,166,253,193,106,166,253,193,108,166,253,193,208,166,253,193,110,166,253,193,112,166,253,193,114,166,253,193,116,166,253,193,118,166,253,193,120,166,253,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,193,190,166,253,193,40,167,253,193,42,167,253,193,44,167,253,193,46,167,253,193,48,167,253,193,50,167,253,193,52,167,253,193,54,167,253,193,56,167,253,193,58,167,253,193,60,167,253,193,62,167,253,193,64,167,253,193,66,167,253,193,68,167,253,193,70,167,253,193,72,167,253,193,74,167,253,193,56,168,253,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,193,194,166,253,193,196,166,253,193,198,166,253,193,200,166,253,193,202,166,253,193,204,166,253,193,76,167,253,193,78,167,253,193,80,167,253,193,82,167,253,193,84,167,253,193,86,167,253,193,88,167,253,193,90,167,253,193,232,167,253,193,234,167,253,193,236,167,253,193,238,167,253,193,240,167,253,193,90,168,253,193,92,168,253,193,94,168,253,193,96,168,253,193,98,168,253,193,100,168,253,193,102,168,253,193,104,168,253,193,106,168,253,193,8,169,253,193,10,169,253,193,12,169,253,193,14,169,253,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,192,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,224,111,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,193,180,167,253,193,182,167,253,193,184,167,253,193,186,167,253,193,188,167,253,193,38,168,253,193,40,168,253,193,42,168,253,193,208,168,253,193,210,168,253,193,212,168,253,193,214,168,253,193,216,168,253,193,100,169,253,193,102,169,253,193,104,169,253,193,106,169,253,193,108,169,253,193,110,169,253,193,112,169,253,193,114,169,253,193,20,170,253,193,128,170,253,193,130,170,253,193,132,170,253,193,134,170,253,193,64,171,253,193,108,171,253,193,142,171,253,193,170,171,253,193,172,171,253,193,196,171,253,206,0,112,0,206,0,112,0,206,0,112,0,206,0,112,0,193,58,168,253,193,60,168,253,193,62,168,253,193,64,168,253,193,66,168,253,193,68,168,253,193,70,168,253,193,72,168,253,193,74,168,253,193,76,168,253,193,78,168,253,193,80,168,253,193,82,168,253,193,84,168,253,193,86,168,253,193,88,168,253,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,32,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,193,38,169,253,193,40,169,253,193,42,169,253,193,44,169,253,193,46,169,253,193,48,169,253,193,50,169,253,193,52,169,253,193,54,169,253,193,56,169,253,193,58,169,253,193,60,169,253,193,62,169,253,193,64,169,253,193,66,169,253,193,68,169,253,193,70,169,253,193,72,169,253,193,74,169,253,193,76,169,253,193,78,169,253,193,80,169,253,193,82,169,253,193,34,168,253,193,84,169,253,193,86,169,253,193,88,169,253,193,90,169,253,193,92,169,253,193,172,169,253,193,174,169,253,193,176,169,253,193,50,168,253,193,52,168,253,193,54,168,253,193,218,168,253,193,116,169,253,193,118,169,253,193,120,169,253,193,122,169,253,193,124,169,253,193,22,170,253,193,24,170,253,193,26,170,253,193,28,170,253,193,30,170,253,193,136,170,253,193,138,170,253,193,140,170,253,193,142,170,253,193,242,170,253,193,244,170,253,193,246,170,253,193,66,171,253,193,68,171,253,193,110,171,253,193,112,171,253,193,144,171,253,193,146,171,253,193,148,171,253,193,2,172,253,193,4,172,253,193,6,172,253,193,8,172,253,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,206,64,112,0,193,22,169,253,193,24,169,253,193,26,169,253,193,28,169,253,193,30,169,253,193,32,169,253,193,34,169,253,193,192,168,253,193,36,169,253,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,206,96,112,0,193,126,169,253,193,128,169,253,193,130,169,253,193,132,169,253,193,134,169,253,193,136,169,253,193,138,169,253,193,140,169,253,193,142,169,253,193,144,169,253,193,146,169,253,193,148,169,253,193,150,169,253,193,152,169,253,193,154,169,253,193,156,169,253,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,193,16,169,253,193,18,169,253,193,20,169,253,193,158,169,253,193,160,169,253,193,162,169,253,193,164,169,253,193,166,169,253,193,168,169,253,193,170,169,253,193,64,170,253,193,66,170,253,193,68,170,253,193,70,170,253,193,72,170,253,193,74,170,253,193,76,170,253,193,78,170,253,193,172,170,253,193,174,170,253,193,176,170,253,193,178,170,253,193,180,170,253,193,8,171,253,193,10,171,253,193,12,171,253,193,76,171,253,193,78,171,253,193,80,171,253,193,114,171,253,193,158,171,253,193,184,171,253,193,178,169,253,193,180,169,253,193,182,169,253,193,184,169,253,193,186,169,253,193,188,169,253,193,190,169,253,193,192,169,253,193,194,169,253,193,196,169,253,193,198,169,253,193,200,169,253,193,202,169,253,193,204,169,253,193,206,169,253,193,208,169,253,193,210,169,253,193,212,169,253,193,214,169,253,193,216,169,253,193,218,169,253,193,220,169,253,193,222,169,253,193,224,169,253,193,226,169,253,193,228,169,253,193,230,169,253,193,232,169,253,193,234,169,253,193,236,169,253,193,238,169,253,193,240,169,253,193,242,169,253,193,244,169,253,193,246,169,253,193,248,169,253,193,250,169,253,193,252,169,253,193,254,169,253,193,2,170,253,193,4,170,253,193,6,170,253,193,8,170,253,193,80,170,253,193,82,170,253,193,84,170,253,193,86,170,253,193,88,170,253,193,90,170,253,193,92,170,253,193,94,170,253,193,96,170,253,193,98,170,253,193,100,170,253,193,102,170,253,193,104,170,253,193,106,170,253,193,108,170,253,193,110,170,253,193,112,170,253,193,114,170,253,193,116,170,253,193,118,170,253,193,120,170,253,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,206,128,112,0,193,144,170,253,193,146,170,253,193,148,170,253,193,150,170,253,193,152,170,253,193,154,170,253,193,156,170,253,193,158,170,253,193,160,170,253,193,162,170,253,193,164,170,253,193,166,170,253,193,168,170,253,193,170,170,253,193,248,170,253,193,250,170,253,193,252,170,253,193,254,170,253,193,2,171,253,193,4,171,253,193,6,171,253,193,70,171,253,193,72,171,253,193,74,171,253,193,122,170,253,193,124,170,253,193,182,170,253,193,184,170,253,193,186,170,253,193,188,170,253,193,190,170,253,193,192,170,253,193,194,170,253,193,196,170,253,193,198,170,253,193,200,170,253,193,202,170,253,193,204,170,253,193,206,170,253,193,208,170,253,193,210,170,253,193,212,170,253,193,214,170,253,193,216,170,253,193,218,170,253,193,220,170,253,193,222,170,253,193,224,170,253,193,226,170,253,193,228,170,253,193,230,170,253,193,232,170,253,193,234,170,253,193,236,170,253,193,14,171,253,193,16,171,253,193,18,171,253,193,20,171,253,193,22,171,253,193,24,171,253,193,26,171,253,193,28,171,253,193,30,171,253,193,32,171,253,193,34,171,253,193,36,171,253,193,38,171,253,193,40,171,253,193,42,171,253,193,44,171,253,193,46,171,253,193,48,171,253,193,50,171,253,193,52,171,253,193,54,171,253,193,56,171,253,193,58,171,253,193,60,171,253,193,82,171,253,193,84,171,253,193,86,171,253,193,88,171,253,193,90,171,253,193,92,171,253,193,94,171,253,193,96,171,253,193,98,171,253,193,100,171,253,193,102,171,253,193,104,171,253,193,116,171,253,193,118,171,253,193,120,171,253,193,122,171,253,193,124,171,253,193,126,171,253,193,128,171,253,193,130,171,253,193,132,171,253,193,134,171,253,193,136,171,253,193,138,171,253,193,140,171,253,193,160,171,253,193,162,171,253,193,164,171,253,193,166,171,253,193,168,171,253,193,186,171,253,193,188,171,253,193,190,171,253,193,192,171,253,193,204,171,253,193,206,171,253,193,208,171,253,193,210,171,253,193,212,171,253,193,214,171,253,193,216,171,253,193,224,171,253,193,150,171,253,193,152,171,253,193,154,171,253,193,156,171,253,193,174,171,253,193,176,171,253,193,178,171,253,193,180,171,253,193,198,171,253,193,200,171,253,193,220,171,253,193,228,171,253,193,244,171,253,193,246,171,253,193,248,171,253,193,250,171,253,193,252,171,253,193,10,172,253,193,12,172,253,193,14,172,253,193,16,172,253,193,32,172,253,193,34,172,253,193,36,172,253,193,38,172,253,193,40,172,253,193,42,172,253,193,44,172,253,193,46,172,253,193,48,172,253,193,50,172,253,193,52,172,253,193,202,171,253,193,222,171,253,193,240,171,253,193,118,172,253,193,184,172,253,193,62,173,253,193,170,173,253,193,174,173,253,193,216,173,253,193,218,173,253,193,10,174,253,193,12,174,253,193,14,174,253,193,16,174,253,193,18,174,253,193,68,174,253,193,70,174,253,193,72,174,253,193,74,174,253,193,76,174,253,193,78,174,253,193,118,174,253,193,120,174,253,193,122,174,253,193,124,174,253,193,126,174,253,193,128,174,253,193,174,174,253,193,176,174,253,193,242,174,253,193,244,174,253,193,246,174,253,193,218,171,253,193,204,172,253,193,206,172,253,193,44,173,253,193,80,173,253,193,132,173,253,193,182,173,253,193,54,174,253,193,56,174,253,193,106,174,253,193,162,174,253,193,164,174,253,193,166,174,253,193,222,174,253,193,224,174,253,193,226,174,253,193,38,175,253,193,40,175,253,193,76,175,253,193,114,175,253,193,116,175,253,193,176,175,253,193,208,175,253,193,222,175,253,193,26,176,253,193,40,176,253,193,98,176,253,193,118,176,253,193,120,176,253,193,40,177,253,193,42,177,253,193,44,177,253,193,226,171,253,193,230,171,253,193,232,171,253,193,234,171,253,193,236,171,253,193,242,171,253,193,18,172,253,193,56,172,253,193,58,172,253,193,60,172,253,193,62,172,253,193,64,172,253,193,66,172,253,193,68,172,253,193,120,172,253,193,70,172,253,193,122,172,253,193,124,172,253,193,126,172,253,193,128,172,253,193,130,172,253,193,132,172,253,193,134,172,253,193,186,172,253,193,188,172,253,193,190,172,253,193,192,172,253,193,236,172,253,193,238,172,253,193,240,172,253,193,12,173,253,193,14,173,253,193,26,172,253,193,28,172,253,193,30,172,253,193,88,172,253,193,90,172,253,193,92,172,253,193,94,172,253,193,96,172,253,193,98,172,253,193,152,172,253,193,154,172,253,193,156,172,253,193,158,172,253,193,160,172,253,193,162,172,253,193,164,172,253,193,166,172,253,193,168,172,253,193,170,172,253,193,208,172,253,193,210,172,253,193,212,172,253,193,214,172,253,193,216,172,253,193,218,172,253,193,220,172,253,193,252,172,253,193,254,172,253,193,46,173,253,193,48,173,253,193,50,173,253,193,52,173,253,193,54,172,253,193,100,172,253,193,102,172,253,193,104,172,253,193,106,172,253,193,108,172,253,193,110,172,253,193,112,172,253,193,114,172,253,193,116,172,253,193,172,172,253,193,174,172,253,193,176,172,253,193,178,172,253,193,180,172,253,193,182,172,253,193,222,172,253,193,224,172,253,193,226,172,253,193,228,172,253,193,230,172,253,193,232,172,253,193,234,172,253,193,2,173,253,193,4,173,253,193,6,173,253,193,8,173,253,193,10,173,253,193,54,173,253,193,56,173,253,193,58,173,253,193,60,173,253,193,136,172,253,193,138,172,253,193,194,172,253,193,196,172,253,193,198,172,253,193,242,172,253,193,244,172,253,193,246,172,253,193,36,173,253,193,38,173,253,193,72,173,253,193,74,173,253,193,76,173,253,193,100,173,253,193,102,173,253,193,126,173,253,193,138,173,253,193,164,173,253,193,104,174,253,193,34,175,253,193,36,175,253,193,238,175,253,193,38,176,253,193,62,176,253,193,188,176,253,193,222,176,253,193,224,176,253,193,36,177,253,193,132,177,253,193,208,177,253,193,34,178,253,193,36,178,253,193,202,172,253,193,248,172,253,193,250,172,253,193,40,173,253,193,42,173,253,193,78,173,253,193,106,173,253,193,108,173,253,193,110,173,253,193,128,173,253,193,130,173,253,193,142,173,253,193,146,173,253,193,150,173,253,193,154,173,253,193,162,173,253,193,166,173,253,193,158,174,253,193,160,174,253,193,220,175,253,193,240,175,253,193,24,176,253,193,64,176,253,193,66,176,253,193,82,176,253,193,94,176,253,193,96,176,253,193,116,176,253,193,126,176,253,193,134,176,253,193,136,176,253,193,138,176,253,193,16,173,253,193,18,173,253,193,20,173,253,193,22,173,253,193,64,173,253,193,24,173,253,193,26,173,253,193,28,173,253,193,30,173,253,193,32,173,253,193,34,173,253,193,66,173,253,193,68,173,253,193,70,173,253,193,122,173,253,193,124,173,253,193,148,173,253,193,176,173,253,193,178,173,253,193,180,173,253,193,194,173,253,193,196,173,253,193,198,173,253,193,200,173,253,193,202,173,253,193,204,173,253,193,206,173,253,193,208,173,253,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,193,82,173,253,193,84,173,253,193,86,173,253,193,88,173,253,193,90,173,253,193,92,173,253,193,112,173,253,193,114,173,253,193,116,173,253,193,118,173,253,193,134,173,253,193,136,173,253,193,156,173,253,193,108,174,253,193,110,174,253,193,112,174,253,193,228,174,253,193,230,174,253,193,232,174,253,193,140,175,253,193,242,175,253,193,244,175,253,193,246,175,253,193,254,175,253,193,42,176,253,193,44,176,253,193,46,176,253,193,68,176,253,193,70,176,253,193,150,176,253,193,152,176,253,193,140,177,253,193,94,173,253,193,96,173,253,193,98,173,253,193,120,173,253,193,144,173,253,193,152,173,253,193,158,173,253,193,160,173,253,193,168,173,253,193,172,173,253,193,184,173,253,193,186,173,253,193,188,173,253,193,190,173,253,193,192,173,253,193,210,173,253,193,212,173,253,193,214,173,253,193,252,173,253,193,254,173,253,193,2,174,253,193,4,174,253,193,6,174,253,193,8,174,253,193,58,174,253,193,60,174,253,193,62,174,253,193,64,174,253,193,66,174,253,193,114,174,253,193,116,174,253,193,168,174,253,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,206,160,112,0,193,20,174,253,193,22,174,253,193,24,174,253,193,26,174,253,193,28,174,253,193,30,174,253,193,32,174,253,193,34,174,253,193,36,174,253,193,38,174,253,193,40,174,253,193,42,174,253,193,44,174,253,193,46,174,253,193,48,174,253,193,50,174,253,193,52,174,253,193,80,174,253,193,82,174,253,193,84,174,253,193,86,174,253,193,88,174,253,193,90,174,253,193,92,174,253,193,94,174,253,193,96,174,253,193,98,174,253,193,100,174,253,193,102,174,253,193,130,174,253,193,132,174,253,193,134,174,253,193,136,174,253,193,138,174,253,193,140,174,253,193,142,174,253,193,144,174,253,193,146,174,253,193,148,174,253,193,150,174,253,193,152,174,253,193,154,174,253,193,156,174,253,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,193,170,174,253,193,172,174,253,193,234,174,253,193,236,174,253,193,238,174,253,193,240,174,253,193,42,175,253,193,44,175,253,193,46,175,253,193,48,175,253,193,50,175,253,193,52,175,253,193,54,175,253,193,78,175,253,193,80,175,253,193,82,175,253,193,118,175,253,193,142,175,253,193,144,175,253,193,146,175,253,193,148,175,253,193,178,175,253,193,194,175,253,193,210,175,253,193,232,175,253,193,234,175,253,193,2,176,253,193,28,176,253,193,84,176,253,193,128,176,253,193,140,176,253,193,186,176,253,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,206,192,112,0,193,250,174,253,193,252,174,253,193,254,174,253,193,2,175,253,193,4,175,253,193,6,175,253,193,8,175,253,193,10,175,253,193,12,175,253,193,14,175,253,193,16,175,253,193,18,175,253,193,20,175,253,193,22,175,253,193,24,175,253,193,26,175,253,193,28,175,253,193,30,175,253,193,32,175,253,193,248,174,253,193,56,175,253,193,84,175,253,193,120,175,253,193,150,175,253,193,180,175,253,193,196,175,253,193,236,175,253,193,248,175,253,193,4,176,253,193,100,176,253,193,130,176,253,193,160,176,253,193,192,176,253,193,194,176,253,193,242,176,253,193,244,176,253,193,246,176,253,193,248,176,253,193,250,176,253,193,252,176,253,193,66,177,253,193,68,177,253,193,158,177,253,193,160,177,253,193,234,177,253,193,236,177,253,193,238,177,253,193,240,177,253,193,60,178,253,193,62,178,253,193,64,178,253,193,58,175,253,193,60,175,253,193,62,175,253,193,64,175,253,193,66,175,253,193,68,175,253,193,70,175,253,193,72,175,253,193,74,175,253,193,86,175,253,193,88,175,253,193,90,175,253,193,92,175,253,193,94,175,253,193,96,175,253,193,98,175,253,193,100,175,253,193,102,175,253,193,104,175,253,193,106,175,253,193,108,175,253,193,110,175,253,193,112,175,253,193,122,175,253,193,124,175,253,193,126,175,253,193,128,175,253,193,130,175,253,193,132,175,253,193,134,175,253,193,136,175,253,193,138,175,253,193,152,175,253,193,154,175,253,193,156,175,253,193,158,175,253,193,160,175,253,193,162,175,253,193,164,175,253,193,166,175,253,193,168,175,253,193,170,175,253,193,172,175,253,193,174,175,253,193,182,175,253,193,184,175,253,193,186,175,253,193,188,175,253,193,190,175,253,193,192,175,253,193,198,175,253,193,200,175,253,193,202,175,253,193,204,175,253,193,206,175,253,193,212,175,253,193,214,175,253,193,216,175,253,193,218,175,253,193,224,175,253,193,226,175,253,193,228,175,253,193,230,175,253,193,250,175,253,193,252,175,253,193,6,176,253,193,8,176,253,193,10,176,253,193,12,176,253,193,14,176,253,193,16,176,253,193,18,176,253,193,20,176,253,193,22,176,253,193,30,176,253,193,32,176,253,193,34,176,253,193,36,176,253,193,48,176,253,193,50,176,253,193,52,176,253,193,54,176,253,193,56,176,253,193,58,176,253,193,60,176,253,193,72,176,253,193,74,176,253,193,76,176,253,193,78,176,253,193,80,176,253,193,86,176,253,193,88,176,253,193,90,176,253,193,92,176,253,193,102,176,253,193,104,176,253,193,106,176,253,193,108,176,253,193,110,176,253,193,112,176,253,193,114,176,253,193,122,176,253,193,124,176,253,193,132,176,253,193,142,176,253,193,144,176,253,193,146,176,253,193,154,176,253,193,156,176,253,193,162,176,253,193,166,176,253,193,168,176,253,193,172,176,253,193,174,176,253,193,176,176,253,193,184,176,253,193,196,176,253,193,198,176,253,193,200,176,253,193,202,176,253,193,204,176,253,193,210,176,253,193,212,176,253,193,214,176,253,193,216,176,253,193,218,176,253,193,220,176,253,193,254,176,253,193,148,176,253,193,158,176,253,193,164,176,253,193,170,176,253,193,178,176,253,193,180,176,253,193,182,176,253,193,38,177,253,193,210,177,253,193,212,177,253,193,38,178,253,193,134,178,253,193,136,178,253,193,226,178,253,193,228,178,253,193,208,179,253,193,90,180,253,193,130,180,253,193,176,180,253,193,182,180,253,193,202,180,253,193,230,180,253,193,244,180,253,193,18,181,253,193,66,181,253,193,96,181,253,193,108,181,253,193,150,181,253,193,152,181,253,193,178,181,253,193,210,181,253,193,132,182,253,193,190,176,253,193,206,176,253,193,208,176,253,193,226,176,253,193,228,176,253,193,230,176,253,193,232,176,253,193,234,176,253,193,236,176,253,193,238,176,253,193,240,176,253,193,46,177,253,193,48,177,253,193,50,177,253,193,52,177,253,193,54,177,253,193,56,177,253,193,58,177,253,193,60,177,253,193,62,177,253,193,64,177,253,193,142,177,253,193,144,177,253,193,146,177,253,193,148,177,253,193,150,177,253,193,152,177,253,193,154,177,253,193,220,177,253,193,222,177,253,193,224,177,253,193,226,177,253,193,2,177,253,193,4,177,253,193,6,177,253,193,8,177,253,193,10,177,253,193,12,177,253,193,14,177,253,193,16,177,253,193,18,177,253,193,20,177,253,193,22,177,253,193,24,177,253,193,26,177,253,193,28,177,253,193,30,177,253,193,32,177,253,193,34,177,253,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,224,112,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,193,134,177,253,193,136,177,253,193,138,177,253,193,214,177,253,193,216,177,253,193,218,177,253,193,40,178,253,193,42,178,253,193,44,178,253,193,138,178,253,193,140,178,253,193,142,178,253,193,144,178,253,193,230,178,253,193,232,178,253,193,52,179,253,193,174,179,253,193,176,179,253,193,210,179,253,193,32,180,253,193,92,180,253,193,100,180,253,193,138,180,253,193,156,180,253,193,162,180,253,193,174,180,253,193,110,181,253,193,132,181,253,193,18,182,253,193,20,182,253,193,134,182,253,193,136,182,253,193,228,177,253,193,230,177,253,193,232,177,253,193,50,178,253,193,52,178,253,193,54,178,253,193,56,178,253,193,156,177,253,193,58,178,253,193,146,178,253,193,148,178,253,193,150,178,253,193,152,178,253,193,154,178,253,193,156,178,253,193,158,178,253,193,240,178,253,193,242,178,253,193,244,178,253,193,246,178,253,193,56,179,253,193,58,179,253,193,60,179,253,193,62,179,253,193,64,179,253,193,116,179,253,193,118,179,253,193,120,179,253,193,122,179,253,193,66,179,253,193,180,179,253,193,182,179,253,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,206,0,113,0,193,242,177,253,193,244,177,253,193,246,177,253,193,248,177,253,193,250,177,253,193,252,177,253,193,254,177,253,193,2,178,253,193,4,178,253,193,6,178,253,193,8,178,253,193,10,178,253,193,12,178,253,193,14,178,253,193,16,178,253,193,18,178,253,193,20,178,253,193,22,178,253,193,24,178,253,193,26,178,253,193,28,178,253,193,30,178,253,193,32,178,253,193,74,178,253,193,76,178,253,193,46,178,253,193,48,178,253,193,234,178,253,193,236,178,253,193,238,178,253,193,54,179,253,193,114,179,253,193,178,179,253,193,34,180,253,193,128,180,253,193,140,180,253,193,204,180,253,193,206,180,253,193,208,180,253,193,246,180,253,193,50,181,253,193,52,181,253,193,98,181,253,193,112,181,253,193,124,181,253,193,126,181,253,193,160,181,253,193,180,181,253,193,22,182,253,193,24,182,253,193,138,182,253,193,140,182,253,193,196,182,253,193,12,183,253,193,14,183,253,193,56,183,253,193,58,183,253,193,66,178,253,193,68,178,253,193,70,178,253,193,72,178,253,193,160,178,253,193,162,178,253,193,164,178,253,193,166,178,253,193,248,178,253,193,250,178,253,193,252,178,253,193,254,178,253,193,68,179,253,193,70,179,253,193,124,179,253,193,216,179,253,193,218,179,253,193,220,179,253,193,222,179,253,193,246,179,253,193,248,179,253,193,16,180,253,193,52,180,253,193,96,180,253,193,102,180,253,193,184,180,253,193,186,180,253,193,194,180,253,193,212,180,253,193,56,181,253,193,100,181,253,193,222,181,253,193,78,178,253,193,80,178,253,193,82,178,253,193,84,178,253,193,86,178,253,193,88,178,253,193,90,178,253,193,92,178,253,193,94,178,253,193,96,178,253,193,98,178,253,193,100,178,253,193,102,178,253,193,104,178,253,193,106,178,253,193,108,178,253,193,110,178,253,193,112,178,253,193,114,178,253,193,116,178,253,193,118,178,253,193,120,178,253,193,122,178,253,193,124,178,253,193,126,178,253,193,128,178,253,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,193,130,178,253,193,132,178,253,193,224,178,253,193,112,179,253,193,192,180,253,193,200,180,253,193,48,181,253,193,138,181,253,193,176,181,253,193,16,182,253,193,130,182,253,193,190,182,253,193,2,183,253,193,4,183,253,193,168,183,253,193,44,184,253,193,92,184,253,193,230,184,253,193,232,184,253,193,148,185,253,193,150,185,253,193,152,185,253,193,154,185,253,193,156,185,253,193,78,186,253,193,80,186,253,193,82,186,253,193,84,186,253,193,86,186,253,193,88,186,253,193,90,186,253,193,92,186,253,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,32,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,206,64,113,0,193,72,179,253,193,74,179,253,193,76,179,253,193,78,179,253,193,80,179,253,193,82,179,253,193,84,179,253,193,86,179,253,193,88,179,253,193,90,179,253,193,92,179,253,193,94,179,253,193,96,179,253,193,98,179,253,193,100,179,253,193,102,179,253,193,104,179,253,193,106,179,253,193,108,179,253,193,110,179,253,193,126,179,253,193,128,179,253,193,130,179,253,193,132,179,253,193,134,179,253,193,136,179,253,193,138,179,253,193,140,179,253,193,142,179,253,193,144,179,253,193,146,179,253,193,148,179,253,193,150,179,253,193,152,179,253,193,154,179,253,193,156,179,253,193,158,179,253,193,160,179,253,193,162,179,253,193,164,179,253,193,166,179,253,193,168,179,253,193,170,179,253,193,172,179,253,206,96,113,0,206,96,113,0,206,96,113,0,206,96,113,0,206,96,113,0,193,184,179,253,193,212,179,253,193,214,179,253,193,244,179,253,193,36,180,253,193,58,180,253,193,66,180,253,193,74,180,253,193,78,180,253,193,84,180,253,193,94,180,253,193,110,180,253,193,118,180,253,193,120,180,253,193,132,180,253,193,136,180,253,193,164,180,253,193,170,180,253,193,172,180,253,193,210,180,253,193,232,180,253,193,248,180,253,193,250,180,253,193,8,181,253,193,20,181,253,193,32,181,253,193,34,181,253,193,54,181,253,193,166,181,253,193,182,181,253,193,212,181,253,193,214,181,253,206,96,113,0,206,96,113,0,206,96,113,0,206,96,113,0,206,96,113,0,206,96,113,0,193,224,179,253,193,226,179,253,193,228,179,253,193,230,179,253,193,232,179,253,193,234,179,253,193,236,179,253,193,238,179,253,193,240,179,253,193,242,179,253,193,250,179,253,193,252,179,253,193,254,179,253,193,2,180,253,193,4,180,253,193,6,180,253,193,8,180,253,193,10,180,253,193,12,180,253,193,14,180,253,193,18,180,253,193,20,180,253,193,22,180,253,193,24,180,253,193,26,180,253,193,28,180,253,193,30,180,253,193,38,180,253,193,40,180,253,193,42,180,253,193,44,180,253,193,46,180,253,193,48,180,253,193,50,180,253,193,54,180,253,193,56,180,253,193,60,180,253,193,62,180,253,193,64,180,253,193,68,180,253,193,70,180,253,193,72,180,253,193,76,180,253,193,80,180,253,193,82,180,253,193,86,180,253,193,88,180,253,193,98,180,253,193,104,180,253,193,106,180,253,193,108,180,253,193,112,180,253,193,114,180,253,193,116,180,253,193,122,180,253,193,124,180,253,193,126,180,253,193,134,180,253,193,142,180,253,193,144,180,253,193,146,180,253,193,148,180,253,193,150,180,253,193,152,180,253,193,154,180,253,193,158,180,253,193,160,180,253,193,166,180,253,193,168,180,253,193,178,180,253,193,180,180,253,193,188,180,253,193,190,180,253,193,196,180,253,193,198,180,253,193,214,180,253,193,216,180,253,193,218,180,253,193,220,180,253,193,222,180,253,193,224,180,253,193,226,180,253,193,228,180,253,193,234,180,253,193,236,180,253,193,238,180,253,193,240,180,253,193,242,180,253,193,252,180,253,193,254,180,253,193,2,181,253,193,4,181,253,193,6,181,253,193,10,181,253,193,12,181,253,193,14,181,253,193,16,181,253,193,22,181,253,193,24,181,253,193,26,181,253,193,28,181,253,193,30,181,253,193,36,181,253,193,38,181,253,193,40,181,253,193,42,181,253,193,44,181,253,193,46,181,253,193,58,181,253,193,60,181,253,193,62,181,253,193,64,181,253,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,206,128,113,0,193,104,181,253,193,106,181,253,193,114,181,253,193,116,181,253,193,118,181,253,193,120,181,253,193,122,181,253,193,128,181,253,193,130,181,253,193,134,181,253,193,136,181,253,193,140,181,253,193,142,181,253,193,144,181,253,193,146,181,253,193,148,181,253,193,154,181,253,193,156,181,253,193,158,181,253,193,162,181,253,193,164,181,253,193,168,181,253,193,170,181,253,193,172,181,253,193,174,181,253,193,184,181,253,193,186,181,253,193,188,181,253,193,190,181,253,193,192,181,253,193,194,181,253,193,196,181,253,193,198,181,253,193,200,181,253,193,202,181,253,193,204,181,253,193,206,181,253,193,208,181,253,193,224,181,253,193,226,181,253,193,228,181,253,193,230,181,253,193,232,181,253,193,234,181,253,193,236,181,253,193,238,181,253,193,240,181,253,193,242,181,253,193,244,181,253,193,246,181,253,193,248,181,253,193,250,181,253,193,252,181,253,193,254,181,253,193,2,182,253,193,4,182,253,193,6,182,253,193,8,182,253,193,10,182,253,193,12,182,253,193,216,181,253,193,218,181,253,193,220,181,253,193,26,182,253,193,28,182,253,193,30,182,253,193,32,182,253,193,88,182,253,193,142,182,253,193,144,182,253,193,198,182,253,193,200,182,253,193,202,182,253,193,204,182,253,193,206,182,253,193,208,182,253,193,60,183,253,193,88,183,253,193,90,183,253,193,92,183,253,193,94,183,253,193,122,183,253,193,124,183,253,193,180,183,253,193,182,183,253,193,184,183,253,193,2,184,253,193,18,184,253,193,20,184,253,193,22,184,253,193,24,184,253,193,52,184,253,193,14,182,253,193,38,182,253,193,40,182,253,193,42,182,253,193,44,182,253,193,46,182,253,193,48,182,253,193,50,182,253,193,52,182,253,193,54,182,253,193,56,182,253,193,58,182,253,193,60,182,253,193,62,182,253,193,64,182,253,193,66,182,253,193,68,182,253,193,70,182,253,193,72,182,253,193,74,182,253,193,76,182,253,193,78,182,253,193,80,182,253,193,82,182,253,193,84,182,253,193,86,182,253,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,193,34,182,253,193,36,182,253,193,90,182,253,193,92,182,253,193,210,182,253,193,212,182,253,193,214,182,253,193,216,182,253,193,16,183,253,193,18,183,253,193,62,183,253,193,126,183,253,193,128,183,253,193,130,183,253,193,170,183,253,193,186,183,253,193,188,183,253,193,252,183,253,193,16,184,253,193,26,184,253,193,60,184,253,193,62,184,253,193,64,184,253,193,148,184,253,193,150,184,253,193,152,184,253,193,154,184,253,193,156,184,253,193,158,184,253,193,160,184,253,193,162,184,253,193,60,185,253,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,206,160,113,0,193,146,182,253,193,148,182,253,193,150,182,253,193,152,182,253,193,154,182,253,193,156,182,253,193,158,182,253,193,160,182,253,193,162,182,253,193,164,182,253,193,166,182,253,193,168,182,253,193,170,182,253,193,172,182,253,193,174,182,253,193,176,182,253,193,178,182,253,193,180,182,253,193,182,182,253,193,184,182,253,193,186,182,253,193,188,182,253,193,218,182,253,193,220,182,253,193,222,182,253,193,224,182,253,193,226,182,253,193,228,182,253,193,230,182,253,193,232,182,253,193,234,182,253,193,236,182,253,193,238,182,253,193,240,182,253,193,242,182,253,193,244,182,253,193,246,182,253,193,248,182,253,193,250,182,253,193,252,182,253,193,254,182,253,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,193,192,182,253,193,46,184,253,193,48,184,253,193,94,184,253,193,96,184,253,193,234,184,253,193,236,184,253,193,158,185,253,193,160,185,253,193,162,185,253,193,164,185,253,193,166,185,253,193,168,185,253,193,94,186,253,193,96,186,253,193,98,186,253,193,100,186,253,193,102,186,253,193,36,187,253,193,38,187,253,193,40,187,253,193,42,187,253,193,44,187,253,193,70,188,253,193,72,188,253,193,74,188,253,193,76,188,253,193,78,188,253,193,36,189,253,193,38,189,253,193,40,189,253,193,42,189,253,193,194,182,253,193,6,183,253,193,8,183,253,193,10,183,253,193,54,183,253,193,84,183,253,193,86,183,253,193,120,183,253,193,178,183,253,193,224,183,253,193,234,183,253,193,246,183,253,193,8,184,253,193,10,184,253,193,12,184,253,193,14,184,253,193,98,184,253,193,238,184,253,193,240,184,253,193,170,185,253,193,172,185,253,193,104,186,253,193,106,186,253,193,108,186,253,193,110,186,253,193,46,187,253,193,48,187,253,193,50,187,253,193,52,187,253,193,54,187,253,193,80,188,253,193,82,188,253,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,206,192,113,0,193,64,183,253,193,66,183,253,193,68,183,253,193,70,183,253,193,72,183,253,193,74,183,253,193,76,183,253,193,78,183,253,193,80,183,253,193,82,183,253,193,96,183,253,193,98,183,253,193,100,183,253,193,102,183,253,193,104,183,253,193,106,183,253,193,108,183,253,193,110,183,253,193,112,183,253,193,114,183,253,193,116,183,253,193,118,183,253,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,206,224,113,0,193,172,183,253,193,174,183,253,193,176,183,253,193,190,183,253,193,192,183,253,193,194,183,253,193,196,183,253,193,198,183,253,193,200,183,253,193,202,183,253,193,204,183,253,193,206,183,253,193,212,183,253,193,214,183,253,193,216,183,253,193,218,183,253,193,220,183,253,193,222,183,253,193,208,183,253,193,210,183,253,193,254,183,253,193,50,184,253,193,100,184,253,193,242,184,253,193,244,184,253,193,246,184,253,193,248,184,253,193,174,185,253,193,176,185,253,193,178,185,253,193,112,186,253,193,56,187,253,193,58,187,253,193,60,187,253,193,62,187,253,193,64,187,253,193,66,187,253,193,84,188,253,193,86,188,253,193,56,189,253,193,58,189,253,193,60,189,253,193,62,189,253,193,64,189,253,193,22,190,253,193,24,190,253,193,26,190,253,193,220,190,253,193,222,190,253,193,136,191,253,193,226,183,253,193,228,183,253,193,230,183,253,193,232,183,253,193,236,183,253,193,238,183,253,193,240,183,253,193,242,183,253,193,244,183,253,193,248,183,253,193,250,183,253,193,6,184,253,193,28,184,253,193,30,184,253,193,32,184,253,193,34,184,253,193,36,184,253,193,38,184,253,193,40,184,253,193,42,184,253,193,66,184,253,193,68,184,253,193,70,184,253,193,72,184,253,193,74,184,253,193,76,184,253,193,78,184,253,193,80,184,253,193,82,184,253,193,84,184,253,193,86,184,253,193,88,184,253,193,54,184,253,193,56,184,253,193,58,184,253,193,102,184,253,193,104,184,253,193,106,184,253,193,108,184,253,193,110,184,253,193,112,184,253,193,114,184,253,193,116,184,253,193,118,184,253,193,120,184,253,193,122,184,253,193,124,184,253,193,126,184,253,193,128,184,253,193,130,184,253,193,132,184,253,193,134,184,253,193,136,184,253,193,138,184,253,193,140,184,253,193,142,184,253,193,144,184,253,193,146,184,253,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,193,144,185,253,193,246,185,253,193,248,185,253,193,250,185,253,193,252,185,253,193,254,185,253,193,2,186,253,193,4,186,253,193,6,186,253,193,8,186,253,193,10,186,253,193,12,186,253,193,14,186,253,193,16,186,253,193,18,186,253,193,20,186,253,193,22,186,253,193,24,186,253,193,26,186,253,193,28,186,253,193,30,186,253,193,32,186,253,193,34,186,253,193,90,184,253,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,193,164,184,253,193,166,184,253,193,168,184,253,193,170,184,253,193,172,184,253,193,174,184,253,193,176,184,253,193,178,184,253,193,180,184,253,193,182,184,253,193,184,184,253,193,186,184,253,193,188,184,253,193,190,184,253,193,192,184,253,193,194,184,253,193,196,184,253,193,198,184,253,193,200,184,253,193,202,184,253,193,204,184,253,193,206,184,253,193,208,184,253,193,210,184,253,193,212,184,253,193,214,184,253,193,216,184,253,193,218,184,253,193,220,184,253,193,222,184,253,193,224,184,253,193,226,184,253,193,228,184,253,193,82,185,253,193,84,185,253,193,86,185,253,193,88,185,253,193,90,185,253,193,92,185,253,193,94,185,253,193,96,185,253,193,98,185,253,193,100,185,253,193,102,185,253,193,104,185,253,193,106,185,253,193,108,185,253,193,110,185,253,193,112,185,253,193,114,185,253,193,116,185,253,193,118,185,253,193,120,185,253,193,122,185,253,193,124,185,253,193,126,185,253,193,128,185,253,193,130,185,253,193,132,185,253,193,134,185,253,193,136,185,253,193,138,185,253,193,140,185,253,193,142,185,253,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,206,0,114,0,193,180,185,253,193,182,185,253,193,184,185,253,193,186,185,253,193,188,185,253,193,190,185,253,193,192,185,253,193,194,185,253,193,196,185,253,193,198,185,253,193,58,185,253,193,200,185,253,193,202,185,253,193,204,185,253,193,206,185,253,193,208,185,253,193,210,185,253,193,212,185,253,193,214,185,253,193,216,185,253,193,218,185,253,193,220,185,253,193,222,185,253,193,224,185,253,193,226,185,253,193,228,185,253,193,230,185,253,193,232,185,253,193,114,186,253,193,116,186,253,193,118,186,253,193,120,186,253,193,122,186,253,193,234,185,253,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,193,62,185,253,193,64,185,253,193,66,185,253,193,68,185,253,193,70,185,253,193,72,185,253,193,74,185,253,193,76,185,253,193,78,185,253,193,80,185,253,193,236,185,253,193,238,185,253,193,240,185,253,193,242,185,253,193,244,185,253,193,176,186,253,193,178,186,253,193,180,186,253,193,182,186,253,193,184,186,253,193,186,186,253,193,188,186,253,193,190,186,253,193,192,186,253,193,194,186,253,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,193,146,185,253,193,76,194,253,193,78,194,253,193,80,194,253,193,82,194,253,193,150,194,253,193,152,194,253,193,154,194,253,193,156,194,253,193,26,187,253,193,250,194,253,193,252,194,253,193,114,195,253,193,254,191,253,193,196,195,253,193,224,195,253,193,226,195,253,193,228,195,253,193,254,195,253,193,2,196,253,193,4,196,253,193,6,196,253,193,8,196,253,193,10,196,253,193,12,196,253,193,14,196,253,193,16,196,253,193,18,196,253,193,20,196,253,193,52,196,253,193,54,196,253,193,56,196,253,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,32,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,64,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,206,128,114,0,193,88,188,253,193,90,188,253,193,92,188,253,193,94,188,253,193,96,188,253,193,136,187,253,193,98,188,253,193,174,186,253,193,100,188,253,193,102,188,253,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,96,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,193,28,187,253,193,30,187,253,193,32,187,253,193,34,187,253,193,62,188,253,193,64,188,253,193,66,188,253,193,68,188,253,193,30,189,253,193,32,189,253,193,34,189,253,193,246,189,253,193,248,189,253,193,250,189,253,193,252,189,253,193,254,189,253,193,188,190,253,193,190,190,253,193,192,190,253,193,194,190,253,193,196,190,253,193,198,190,253,193,200,190,253,193,106,191,253,193,108,191,253,193,110,191,253,193,112,191,253,193,114,191,253,193,116,191,253,193,2,192,253,193,4,192,253,193,6,192,253,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,206,160,114,0,193,162,188,253,193,164,188,253,193,166,188,253,193,168,188,253,193,170,188,253,193,172,188,253,193,174,188,253,193,176,188,253,193,178,188,253,193,180,188,253,193,108,189,253,193,110,189,253,193,112,189,253,193,114,189,253,193,116,189,253,193,118,189,253,193,120,189,253,193,122,189,253,193,124,189,253,193,80,190,253,193,82,190,253,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,206,192,114,0,193,182,188,253,193,184,188,253,193,104,188,253,193,106,188,253,193,108,188,253,193,110,188,253,193,112,188,253,193,114,188,253,193,116,188,253,193,118,188,253,193,120,188,253,193,122,188,253,193,124,188,253,193,126,188,253,193,128,188,253,193,130,188,253,193,132,188,253,193,134,188,253,193,136,188,253,193,138,188,253,193,140,188,253,193,142,188,253,193,144,188,253,193,146,188,253,193,148,188,253,193,150,188,253,193,152,188,253,193,154,188,253,193,156,188,253,193,158,188,253,193,66,189,253,193,68,189,253,193,70,189,253,193,72,189,253,193,160,188,253,193,74,189,253,193,76,189,253,193,78,189,253,193,80,189,253,193,82,189,253,193,84,189,253,193,86,189,253,193,88,189,253,193,90,189,253,193,92,189,253,193,94,189,253,193,96,189,253,193,98,189,253,193,100,189,253,193,102,189,253,193,104,189,253,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,193,186,188,253,193,188,188,253,193,190,188,253,193,192,188,253,193,194,188,253,193,196,188,253,193,198,188,253,193,200,188,253,193,202,188,253,193,204,188,253,193,206,188,253,193,208,188,253,193,210,188,253,193,212,188,253,193,214,188,253,193,216,188,253,193,218,188,253,193,220,188,253,193,222,188,253,193,224,188,253,193,226,188,253,193,228,188,253,193,230,188,253,193,232,188,253,193,234,188,253,193,236,188,253,193,238,188,253,193,240,188,253,193,242,188,253,193,244,188,253,193,246,188,253,193,248,188,253,193,250,188,253,193,252,188,253,193,254,188,253,193,2,189,253,193,4,189,253,193,6,189,253,193,8,189,253,193,10,189,253,193,12,189,253,193,14,189,253,193,16,189,253,193,18,189,253,193,20,189,253,193,22,189,253,193,24,189,253,193,26,189,253,193,28,189,253,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,193,44,189,253,193,46,189,253,193,48,189,253,193,50,189,253,193,52,189,253,193,54,189,253,193,12,190,253,193,14,190,253,193,16,190,253,193,18,190,253,193,20,190,253,193,214,190,253,193,216,190,253,193,218,190,253,193,126,191,253,193,128,191,253,193,130,191,253,193,132,191,253,193,134,191,253,193,22,192,253,193,24,192,253,193,102,192,253,193,160,192,253,193,210,192,253,193,212,192,253,193,246,192,253,193,248,192,253,193,130,193,253,193,28,194,253,193,30,194,253,193,100,194,253,193,184,194,253,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,224,114,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,193,4,190,253,193,6,190,253,193,8,190,253,193,10,190,253,193,202,190,253,193,204,190,253,193,206,190,253,193,208,190,253,193,210,190,253,193,212,190,253,193,118,191,253,193,120,191,253,193,122,191,253,193,124,191,253,193,14,192,253,193,16,192,253,193,18,192,253,193,20,192,253,193,94,192,253,193,96,192,253,193,98,192,253,193,100,192,253,193,158,192,253,193,204,192,253,193,206,192,253,193,208,192,253,193,244,192,253,193,20,193,253,193,22,193,253,193,34,193,253,193,36,193,253,193,54,193,253,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,206,0,115,0,193,224,190,253,193,226,190,253,193,228,190,253,193,230,190,253,193,232,190,253,193,234,190,253,193,236,190,253,193,238,190,253,193,240,190,253,193,242,190,253,193,244,190,253,193,246,190,253,193,248,190,253,193,250,190,253,193,252,190,253,193,254,190,253,193,2,191,253,193,4,191,253,193,6,191,253,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,193,76,190,253,193,160,203,253,193,162,203,253,193,164,203,253,193,166,203,253,193,168,203,253,193,170,203,253,193,172,203,253,193,174,203,253,193,176,203,253,193,178,203,253,193,180,203,253,193,182,203,253,193,184,203,253,193,186,203,253,193,188,203,253,193,190,203,253,193,192,203,253,193,194,203,253,193,196,203,253,193,198,203,253,193,200,203,253,193,202,203,253,193,204,203,253,193,206,203,253,193,128,204,253,193,208,203,253,193,210,203,253,193,212,203,253,193,130,204,253,193,132,204,253,193,134,204,253,193,84,190,253,193,86,190,253,193,88,190,253,193,90,190,253,193,92,190,253,193,94,190,253,193,96,190,253,193,98,190,253,193,100,190,253,193,8,191,253,193,10,191,253,193,12,191,253,193,14,191,253,193,16,191,253,193,18,191,253,193,20,191,253,193,172,191,253,193,174,191,253,193,176,191,253,193,178,191,253,193,180,191,253,193,182,191,253,193,40,192,253,193,42,192,253,193,44,192,253,193,118,192,253,193,174,192,253,193,176,192,253,193,62,193,253,193,104,193,253,193,180,193,253,193,182,193,253,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,206,32,115,0,193,22,191,253,193,24,191,253,193,26,191,253,193,28,191,253,193,30,191,253,193,32,191,253,193,34,191,253,193,36,191,253,193,38,191,253,193,40,191,253,193,42,191,253,193,44,191,253,193,46,191,253,193,48,191,253,193,50,191,253,193,52,191,253,193,54,191,253,193,56,191,253,193,58,191,253,193,60,191,253,193,62,191,253,193,64,191,253,193,66,191,253,193,68,191,253,193,70,191,253,193,72,191,253,193,74,191,253,193,76,191,253,193,78,191,253,193,80,191,253,193,82,191,253,193,84,191,253,193,86,191,253,193,88,191,253,193,90,191,253,193,92,191,253,193,94,191,253,193,96,191,253,193,98,191,253,193,100,191,253,193,102,191,253,193,104,191,253,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,193,138,191,253,193,140,191,253,193,26,192,253,193,104,192,253,193,162,192,253,193,164,192,253,193,166,192,253,193,168,192,253,193,214,192,253,193,250,192,253,193,38,193,253,193,58,193,253,193,60,193,253,193,66,193,253,193,74,193,253,193,90,193,253,193,132,193,253,193,134,193,253,193,136,193,253,193,138,193,253,193,140,193,253,193,142,193,253,193,144,193,253,193,146,193,253,193,148,193,253,193,150,193,253,206,192,115,0,206,192,115,0,206,192,115,0,206,192,115,0,206,192,115,0,206,192,115,0,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,206,64,115,0,193,28,192,253,193,166,191,253,193,168,191,253,193,170,191,253,193,30,192,253,193,32,192,253,193,34,192,253,193,36,192,253,193,38,192,253,193,106,192,253,193,108,192,253,193,110,192,253,193,112,192,253,193,114,192,253,193,116,192,253,193,170,192,253,193,172,192,253,193,252,192,253,193,24,193,253,193,56,193,253,193,64,193,253,193,68,193,253,193,76,193,253,193,92,193,253,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,206,96,115,0,193,46,192,253,193,48,192,253,193,50,192,253,193,52,192,253,193,54,192,253,193,56,192,253,193,58,192,253,193,60,192,253,193,62,192,253,193,64,192,253,193,66,192,253,193,68,192,253,193,70,192,253,193,72,192,253,193,74,192,253,193,76,192,253,193,78,192,253,193,80,192,253,193,82,192,253,193,84,192,253,193,86,192,253,193,88,192,253,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,193,8,192,253,193,10,192,253,193,90,192,253,193,92,192,253,193,156,192,253,193,242,192,253,193,32,193,253,193,52,193,253,193,78,193,253,193,80,193,253,193,82,193,253,193,112,193,253,193,114,193,253,193,116,193,253,193,184,193,253,193,186,193,253,193,188,193,253,193,190,193,253,193,192,193,253,193,10,194,253,193,12,194,253,193,14,194,253,193,16,194,253,193,18,194,253,193,20,194,253,193,84,194,253,193,86,194,253,193,88,194,253,193,158,194,253,193,160,194,253,193,162,194,253,193,164,194,253,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,206,128,115,0,193,178,192,253,193,180,192,253,193,182,192,253,193,184,192,253,193,186,192,253,193,188,192,253,193,190,192,253,193,192,192,253,193,194,192,253,193,196,192,253,193,198,192,253,193,200,192,253,193,202,192,253,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,206,160,115,0,193,2,193,253,193,4,193,253,193,6,193,253,193,8,193,253,193,10,193,253,193,12,193,253,193,14,193,253,193,16,193,253,193,18,193,253,193,26,193,253,193,28,193,253,193,30,193,253,193,40,193,253,193,42,193,253,193,44,193,253,193,46,193,253,193,48,193,253,193,50,193,253,193,106,193,253,193,108,193,253,193,110,193,253,193,2,194,253,193,4,194,253,193,6,194,253,193,8,194,253,193,70,193,253,193,72,193,253,193,84,193,253,193,86,193,253,193,88,193,253,193,120,193,253,193,122,193,253,193,124,193,253,193,126,193,253,193,128,193,253,193,196,193,253,193,198,193,253,193,200,193,253,193,202,193,253,193,22,194,253,193,24,194,253,193,26,194,253,193,90,194,253,193,92,194,253,193,94,194,253,193,96,194,253,193,98,194,253,193,170,194,253,193,172,194,253,193,10,195,253,193,174,194,253,193,176,194,253,193,178,194,253,193,180,194,253,193,182,194,253,193,12,195,253,193,14,195,253,193,94,193,253,193,96,193,253,193,98,193,253,193,100,193,253,193,152,193,253,193,154,193,253,193,156,193,253,193,158,193,253,193,160,193,253,193,162,193,253,193,164,193,253,193,166,193,253,193,168,193,253,193,170,193,253,193,172,193,253,193,174,193,253,193,176,193,253,193,226,193,253,193,228,193,253,193,230,193,253,193,232,193,253,193,234,193,253,193,236,193,253,193,238,193,253,193,240,193,253,193,242,193,253,193,244,193,253,193,246,193,253,193,248,193,253,193,250,193,253,193,252,193,253,193,254,193,253,206,192,115,0,206,192,115,0,206,192,115,0,206,192,115,0,206,192,115,0,193,32,194,253,193,34,194,253,193,36,194,253,193,38,194,253,193,40,194,253,193,42,194,253,193,44,194,253,193,102,194,253,193,104,194,253,193,106,194,253,193,108,194,253,193,110,194,253,193,112,194,253,193,114,194,253,193,116,194,253,193,118,194,253,193,188,194,253,193,190,194,253,193,192,194,253,193,194,194,253,193,196,194,253,193,198,194,253,193,200,194,253,193,202,194,253,193,204,194,253,193,206,194,253,193,208,194,253,193,46,194,253,193,48,194,253,193,50,194,253,193,52,194,253,193,54,194,253,193,56,194,253,193,58,194,253,193,60,194,253,193,62,194,253,193,64,194,253,193,66,194,253,193,68,194,253,193,70,194,253,193,120,194,253,193,122,194,253,193,124,194,253,193,126,194,253,193,128,194,253,193,130,194,253,193,132,194,253,193,134,194,253,193,136,194,253,193,138,194,253,193,140,194,253,193,142,194,253,193,144,194,253,193,146,194,253,193,148,194,253,193,214,194,253,193,216,194,253,193,48,195,253,193,218,194,253,193,166,194,253,193,168,194,253,193,254,194,253,193,2,195,253,193,4,195,253,193,6,195,253,193,70,195,253,193,116,195,253,193,118,195,253,193,144,195,253,193,146,195,253,193,178,195,253,193,188,195,253,193,198,195,253,193,230,195,253,193,12,197,253,193,14,197,253,193,16,197,253,193,18,197,253,193,250,197,253,193,252,197,253,193,254,197,253,193,2,198,253,193,4,198,253,193,232,198,253,193,234,198,253,193,236,198,253,193,238,198,253,193,174,199,253,193,176,199,253,193,178,199,253,193,180,199,253,193,186,194,253,193,76,195,253,193,78,195,253,193,128,195,253,193,202,195,253,193,24,196,253,193,96,196,253,193,98,196,253,193,100,196,253,193,102,196,253,193,104,196,253,193,30,197,253,193,32,197,253,193,34,197,253,193,36,197,253,193,38,197,253,193,24,198,253,193,26,198,253,193,28,198,253,193,252,198,253,193,254,198,253,193,2,199,253,193,4,199,253,193,6,199,253,193,8,199,253,193,200,199,253,193,202,199,253,193,204,199,253,206,64,117,0,206,64,117,0,206,64,117,0,206,64,117,0,193,210,194,253,193,212,194,253,193,34,195,253,193,36,195,253,193,38,195,253,193,40,195,253,193,42,195,253,193,44,195,253,193,46,195,253,193,80,195,253,193,82,195,253,193,84,195,253,193,86,195,253,193,88,195,253,193,90,195,253,193,130,195,253,193,132,195,253,193,134,195,253,193,162,195,253,193,164,195,253,193,166,195,253,193,168,195,253,193,184,195,253,193,192,195,253,193,194,195,253,193,204,195,253,193,208,195,253,193,210,195,253,193,212,195,253,193,26,196,253,193,40,197,253,193,42,197,253,193,220,194,253,193,222,194,253,193,224,194,253,193,226,194,253,193,228,194,253,193,230,194,253,193,232,194,253,193,234,194,253,193,236,194,253,193,238,194,253,193,240,194,253,193,242,194,253,193,50,195,253,193,52,195,253,193,54,195,253,193,56,195,253,193,58,195,253,193,60,195,253,193,62,195,253,193,92,195,253,193,94,195,253,193,96,195,253,193,98,195,253,193,100,195,253,193,102,195,253,193,104,195,253,193,106,195,253,193,108,195,253,193,136,195,253,193,138,195,253,193,140,195,253,193,142,195,253,193,246,194,253,193,248,194,253,193,64,195,253,193,66,195,253,193,68,195,253,193,252,195,253,193,40,196,253,193,42,196,253,193,44,196,253,193,46,196,253,193,48,196,253,193,50,196,253,193,152,196,253,193,154,196,253,193,156,196,253,193,158,196,253,193,160,196,253,193,162,196,253,193,164,196,253,193,166,196,253,193,168,196,253,193,170,196,253,193,172,196,253,193,174,196,253,193,176,196,253,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,193,16,195,253,193,18,195,253,193,20,195,253,193,22,195,253,193,24,195,253,193,26,195,253,193,28,195,253,193,30,195,253,193,32,195,253,193,72,195,253,193,74,195,253,193,122,195,253,193,124,195,253,193,126,195,253,193,148,195,253,193,150,195,253,193,152,195,253,193,154,195,253,193,156,195,253,193,158,195,253,193,160,195,253,193,180,195,253,193,182,195,253,193,190,195,253,193,200,195,253,193,206,195,253,193,214,195,253,193,216,195,253,193,22,196,253,193,90,196,253,193,92,196,253,193,94,196,253,193,170,195,253,193,172,195,253,193,174,195,253,193,176,195,253,193,186,195,253,193,218,195,253,193,222,195,253,193,232,195,253,193,234,195,253,193,236,195,253,193,238,195,253,193,240,195,253,193,242,195,253,193,244,195,253,193,246,195,253,193,248,195,253,193,250,195,253,193,28,196,253,193,30,196,253,193,32,196,253,193,34,196,253,193,36,196,253,193,38,196,253,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,193,58,196,253,193,60,196,253,193,62,196,253,193,64,196,253,193,66,196,253,193,68,196,253,193,70,196,253,193,72,196,253,193,74,196,253,193,76,196,253,193,78,196,253,193,80,196,253,193,82,196,253,193,84,196,253,193,86,196,253,193,88,196,253,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,206,224,115,0,193,44,197,253,193,144,196,253,193,146,196,253,193,148,196,253,193,150,196,253,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,0,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,193,20,197,253,193,22,197,253,193,24,197,253,193,26,197,253,193,28,197,253,193,8,198,253,193,10,198,253,193,12,198,253,193,14,198,253,193,16,198,253,193,18,198,253,193,20,198,253,193,22,198,253,193,240,198,253,193,242,198,253,193,244,198,253,193,246,198,253,193,248,198,253,193,250,198,253,193,184,199,253,193,186,199,253,193,118,207,253,193,188,199,253,193,190,199,253,193,192,199,253,193,194,199,253,193,196,199,253,193,198,199,253,193,208,200,253,193,210,200,253,193,212,200,253,193,214,200,253,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,32,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,206,64,116,0,193,100,198,253,193,102,198,253,193,104,198,253,193,106,198,253,193,108,198,253,193,110,198,253,193,112,198,253,193,114,198,253,193,116,198,253,193,118,198,253,193,68,199,253,193,70,199,253,193,72,199,253,193,74,199,253,193,76,199,253,193,78,199,253,193,80,199,253,193,82,199,253,193,48,200,253,193,50,200,253,193,52,200,253,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,96,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,193,30,198,253,193,32,198,253,193,34,198,253,193,36,198,253,193,38,198,253,193,40,198,253,193,10,199,253,193,12,199,253,193,206,199,253,193,208,199,253,193,210,199,253,193,212,199,253,193,214,199,253,193,236,200,253,193,238,200,253,193,240,200,253,193,242,200,253,193,228,201,253,193,230,201,253,193,232,201,253,193,200,202,253,193,202,202,253,193,204,202,253,193,206,202,253,193,208,202,253,193,158,203,253,193,120,204,253,193,122,204,253,193,124,204,253,193,126,204,253,193,252,204,253,193,254,204,253,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,128,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,192,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,160,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,224,116,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,193,182,199,253,193,192,200,253,193,194,200,253,193,196,200,253,193,198,200,253,193,200,200,253,193,202,200,253,193,204,200,253,193,206,200,253,193,202,201,253,193,204,201,253,193,206,201,253,193,164,202,253,193,166,202,253,193,168,202,253,193,170,202,253,193,136,203,253,193,102,204,253,193,104,204,253,193,106,204,253,193,108,204,253,193,110,204,253,193,240,204,253,193,82,205,253,193,142,205,253,193,32,206,253,193,122,206,253,193,124,206,253,193,126,206,253,193,128,206,253,193,130,206,253,193,188,206,253,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,206,0,117,0,193,244,200,253,193,46,200,253,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,193,54,200,253,193,56,200,253,193,58,200,253,193,60,200,253,193,62,200,253,193,64,200,253,193,44,201,253,193,46,201,253,193,48,201,253,193,50,201,253,193,52,201,253,193,54,201,253,193,56,201,253,193,58,201,253,193,60,201,253,193,62,201,253,193,64,201,253,193,50,202,253,193,52,202,253,193,54,202,253,193,56,202,253,193,58,202,253,193,60,202,253,193,244,202,253,193,246,202,253,193,248,202,253,193,250,202,253,193,252,202,253,193,254,202,253,193,2,203,253,193,214,203,253,193,216,203,253,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,32,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,193,216,200,253,193,218,200,253,193,208,201,253,193,210,201,253,193,212,201,253,193,214,201,253,193,216,201,253,193,218,201,253,193,172,202,253,193,174,202,253,193,176,202,253,193,178,202,253,193,180,202,253,193,182,202,253,193,140,203,253,193,142,203,253,193,144,203,253,193,112,204,253,193,114,204,253,193,116,204,253,193,242,204,253,193,244,204,253,193,246,204,253,193,84,205,253,193,144,205,253,193,202,205,253,193,46,206,253,193,74,206,253,193,82,206,253,193,84,206,253,193,96,206,253,193,134,206,253,206,64,117,0,206,64,117,0,206,64,117,0,206,64,117,0,193,220,201,253,193,222,201,253,193,224,201,253,193,226,201,253,193,184,202,253,193,186,202,253,193,188,202,253,193,190,202,253,193,192,202,253,193,194,202,253,193,196,202,253,193,198,202,253,193,146,203,253,193,148,203,253,193,150,203,253,193,152,203,253,193,154,203,253,193,156,203,253,193,118,204,253,193,248,204,253,193,250,204,253,193,86,205,253,193,88,205,253,193,146,205,253,193,148,205,253,193,204,205,253,193,206,205,253,193,12,206,253,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,96,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,128,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,206,160,117,0,193,210,202,253,193,42,202,253,193,44,202,253,193,46,202,253,193,48,202,253,193,212,202,253,193,214,202,253,193,216,202,253,193,218,202,253,193,220,202,253,193,222,202,253,193,224,202,253,193,226,202,253,193,228,202,253,193,230,202,253,193,232,202,253,193,234,202,253,193,236,202,253,193,238,202,253,193,240,202,253,193,242,202,253,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,192,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,224,117,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,193,218,203,253,193,220,203,253,193,222,203,253,193,224,203,253,193,226,203,253,193,228,203,253,193,230,203,253,193,158,204,253,193,160,204,253,193,162,204,253,193,164,204,253,193,166,204,253,193,24,205,253,193,26,205,253,193,96,205,253,193,158,205,253,193,34,206,253,193,62,206,253,193,64,206,253,193,114,206,253,193,8,207,253,193,10,207,253,193,182,207,253,193,254,207,253,193,74,208,253,193,188,208,253,193,250,208,253,193,34,209,253,193,96,209,253,193,118,209,253,193,140,209,253,193,198,209,253,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,206,0,118,0,193,168,204,253,193,100,204,253,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,193,136,204,253,193,138,204,253,193,140,204,253,193,142,204,253,193,144,204,253,193,146,204,253,193,148,204,253,193,150,204,253,193,152,204,253,193,154,204,253,193,156,204,253,193,8,205,253,193,10,205,253,193,12,205,253,193,14,205,253,193,16,205,253,193,18,205,253,193,20,205,253,193,22,205,253,193,92,205,253,193,94,205,253,193,152,205,253,193,154,205,253,193,156,205,253,193,212,205,253,193,214,205,253,193,216,205,253,193,244,205,253,193,246,205,253,193,14,206,253,193,16,206,253,193,72,206,253,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,206,32,118,0,193,28,205,253,193,30,205,253,193,32,205,253,193,34,205,253,193,36,205,253,193,38,205,253,193,40,205,253,193,42,205,253,193,44,205,253,193,46,205,253,193,48,205,253,193,50,205,253,193,52,205,253,193,198,218,253,193,54,205,253,193,2,205,253,193,4,205,253,193,6,205,253,193,90,205,253,193,150,205,253,193,208,205,253,193,210,205,253,193,76,206,253,193,86,206,253,193,88,206,253,193,98,206,253,193,100,206,253,193,102,206,253,193,144,206,253,193,146,206,253,193,148,206,253,193,150,206,253,193,152,206,253,193,154,206,253,193,156,206,253,193,158,206,253,193,216,206,253,193,218,206,253,193,220,206,253,193,222,206,253,193,224,206,253,193,226,206,253,193,228,206,253,193,230,206,253,193,232,206,253,193,234,206,253,193,236,206,253,193,56,205,253,193,58,205,253,193,60,205,253,193,62,205,253,193,64,205,253,193,66,205,253,193,68,205,253,193,70,205,253,193,72,205,253,193,74,205,253,193,76,205,253,193,78,205,253,193,80,205,253,193,98,205,253,193,100,205,253,193,102,205,253,193,104,205,253,193,106,205,253,193,108,205,253,193,110,205,253,193,112,205,253,193,114,205,253,193,116,205,253,193,118,205,253,193,120,205,253,193,122,205,253,193,124,205,253,193,126,205,253,193,128,205,253,193,130,205,253,193,132,205,253,193,134,205,253,193,136,205,253,193,138,205,253,193,140,205,253,193,160,205,253,193,162,205,253,193,164,205,253,193,166,205,253,193,168,205,253,193,170,205,253,193,172,205,253,193,174,205,253,193,176,205,253,193,178,205,253,193,180,205,253,193,182,205,253,193,184,205,253,193,186,205,253,193,188,205,253,193,190,205,253,193,192,205,253,193,194,205,253,193,196,205,253,193,198,205,253,193,200,205,253,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,206,64,118,0,193,248,205,253,193,250,205,253,193,252,205,253,193,254,205,253,193,2,206,253,193,4,206,253,193,6,206,253,193,8,206,253,193,10,206,253,193,20,206,253,193,22,206,253,193,24,206,253,193,26,206,253,193,28,206,253,193,30,206,253,193,38,206,253,193,40,206,253,193,42,206,253,193,44,206,253,193,48,206,253,193,50,206,253,193,52,206,253,193,54,206,253,193,56,206,253,193,58,206,253,193,66,206,253,193,68,206,253,193,60,206,253,193,138,206,253,193,140,206,253,193,142,206,253,193,214,206,253,193,48,207,253,193,130,207,253,193,132,207,253,193,96,208,253,193,98,208,253,193,136,208,253,193,24,209,253,193,46,209,253,193,66,209,253,193,68,209,253,193,90,209,253,193,154,209,253,193,182,209,253,193,204,209,253,193,26,210,253,193,70,210,253,193,118,210,253,193,162,210,253,193,164,210,253,193,192,210,253,193,212,210,253,193,214,210,253,193,166,211,253,193,34,212,253,193,36,212,253,193,72,212,253,193,96,212,253,193,70,206,253,193,116,206,253,193,118,206,253,193,120,206,253,193,186,206,253,193,12,207,253,193,14,207,253,193,16,207,253,193,18,207,253,193,20,207,253,193,22,207,253,193,24,207,253,193,104,207,253,193,106,207,253,193,184,207,253,193,2,208,253,193,4,208,253,193,76,208,253,193,78,208,253,193,80,208,253,193,82,208,253,193,222,208,253,193,244,208,253,193,246,208,253,193,252,208,253,193,254,208,253,193,2,209,253,193,4,209,253,193,12,209,253,193,14,209,253,193,16,209,253,193,18,209,253,193,78,206,253,193,80,206,253,193,90,206,253,193,92,206,253,193,94,206,253,193,104,206,253,193,106,206,253,193,108,206,253,193,110,206,253,193,112,206,253,193,160,206,253,193,162,206,253,193,164,206,253,193,166,206,253,193,168,206,253,193,170,206,253,193,172,206,253,193,174,206,253,193,176,206,253,193,178,206,253,193,180,206,253,193,182,206,253,193,184,206,253,193,244,206,253,193,246,206,253,193,248,206,253,193,250,206,253,193,252,206,253,193,254,206,253,193,2,207,253,193,4,207,253,193,6,207,253,193,136,206,253,193,200,206,253,193,202,206,253,193,204,206,253,193,206,206,253,193,208,206,253,193,210,206,253,193,212,206,253,193,38,207,253,193,40,207,253,193,42,207,253,193,44,207,253,193,46,207,253,193,120,207,253,193,122,207,253,193,124,207,253,193,126,207,253,193,128,207,253,193,198,207,253,193,200,207,253,193,202,207,253,193,204,207,253,193,206,207,253,193,208,207,253,193,20,208,253,193,22,208,253,193,24,208,253,193,26,208,253,193,28,208,253,193,30,208,253,193,32,208,253,193,34,208,253,193,190,206,253,193,192,206,253,193,194,206,253,193,196,206,253,193,198,206,253,193,26,207,253,193,28,207,253,193,30,207,253,193,32,207,253,193,34,207,253,193,36,207,253,193,108,207,253,193,110,207,253,193,112,207,253,193,114,207,253,193,116,207,253,193,186,207,253,193,188,207,253,193,190,207,253,193,192,207,253,193,194,207,253,193,196,207,253,193,6,208,253,193,8,208,253,193,10,208,253,193,12,208,253,193,14,208,253,193,16,208,253,193,18,208,253,193,84,208,253,193,86,208,253,193,122,208,253,193,238,206,253,193,240,206,253,193,242,206,253,193,50,207,253,193,52,207,253,193,54,207,253,193,56,207,253,193,58,207,253,193,60,207,253,193,62,207,253,193,64,207,253,193,66,207,253,193,68,207,253,193,70,207,253,193,72,207,253,193,74,207,253,193,76,207,253,193,78,207,253,193,80,207,253,193,82,207,253,193,134,207,253,193,136,207,253,193,138,207,253,193,140,207,253,193,142,207,253,193,144,207,253,193,146,207,253,193,148,207,253,193,150,207,253,193,152,207,253,193,154,207,253,193,156,207,253,193,84,207,253,193,86,207,253,193,88,207,253,193,90,207,253,193,92,207,253,193,94,207,253,193,96,207,253,193,98,207,253,193,100,207,253,193,158,207,253,193,160,207,253,193,162,207,253,193,164,207,253,193,166,207,253,193,168,207,253,193,170,207,253,193,172,207,253,193,174,207,253,193,176,207,253,193,178,207,253,193,180,207,253,193,240,207,253,193,242,207,253,193,244,207,253,193,56,208,253,193,246,207,253,193,248,207,253,193,250,207,253,193,252,207,253,193,58,208,253,193,60,208,253,193,62,208,253,193,210,207,253,193,212,207,253,193,214,207,253,193,216,207,253,193,218,207,253,193,220,207,253,193,222,207,253,193,224,207,253,193,226,207,253,193,228,207,253,193,230,207,253,193,232,207,253,193,234,207,253,193,236,207,253,193,238,207,253,193,36,208,253,193,38,208,253,193,40,208,253,193,42,208,253,193,44,208,253,193,46,208,253,193,48,208,253,193,50,208,253,193,52,208,253,193,54,208,253,193,100,208,253,193,102,208,253,193,104,208,253,193,106,208,253,193,108,208,253,193,110,208,253,193,112,208,253,193,64,208,253,193,66,208,253,193,68,208,253,193,70,208,253,193,72,208,253,193,114,208,253,193,116,208,253,193,118,208,253,193,120,208,253,193,150,208,253,193,152,208,253,193,154,208,253,193,156,208,253,193,180,208,253,193,182,208,253,193,184,208,253,193,186,208,253,193,214,208,253,193,216,208,253,193,232,208,253,193,234,208,253,193,240,208,253,193,248,208,253,193,10,209,253,193,50,209,253,193,70,209,253,193,92,209,253,193,94,209,253,193,128,209,253,193,130,209,253,193,164,209,253,193,178,209,253,193,88,208,253,193,90,208,253,193,92,208,253,193,94,208,253,193,130,208,253,193,132,208,253,193,134,208,253,193,162,208,253,193,164,208,253,193,166,208,253,193,168,208,253,193,170,208,253,193,192,208,253,193,194,208,253,193,196,208,253,193,198,208,253,193,228,208,253,193,238,208,253,193,6,209,253,193,44,209,253,193,138,209,253,193,156,209,253,193,162,209,253,193,168,209,253,193,170,209,253,193,172,209,253,193,184,209,253,193,242,209,253,193,24,210,253,193,66,210,253,193,68,210,253,193,160,210,253,193,124,208,253,193,126,208,253,193,128,208,253,193,158,208,253,193,160,208,253,193,190,208,253,193,218,208,253,193,30,209,253,193,42,209,253,193,88,209,253,193,166,209,253,193,196,209,253,193,240,209,253,193,64,210,253,193,116,210,253,193,2,211,253,193,30,212,253,193,222,212,253,193,232,212,253,193,12,213,253,193,32,213,253,193,68,213,253,193,146,213,253,193,168,213,253,193,236,213,253,193,6,216,253,193,8,216,253,193,84,216,253,193,42,217,253,193,134,217,253,193,208,217,253,193,248,217,253,193,138,208,253,193,140,208,253,193,142,208,253,193,144,208,253,193,146,208,253,193,148,208,253,193,172,208,253,193,174,208,253,193,176,208,253,193,178,208,253,193,200,208,253,193,202,208,253,193,204,208,253,193,206,208,253,193,208,208,253,193,210,208,253,193,212,208,253,193,220,208,253,193,224,208,253,193,226,208,253,193,230,208,253,193,236,208,253,193,8,209,253,193,26,209,253,193,32,209,253,193,48,209,253,193,152,209,253,193,158,209,253,193,174,209,253,193,176,209,253,193,120,210,253,193,122,210,253,193,20,209,253,193,22,209,253,193,28,209,253,193,36,209,253,193,38,209,253,193,40,209,253,193,52,209,253,193,54,209,253,193,56,209,253,193,58,209,253,193,60,209,253,193,62,209,253,193,64,209,253,193,72,209,253,193,74,209,253,193,76,209,253,193,78,209,253,193,80,209,253,193,82,209,253,193,84,209,253,193,86,209,253,193,98,209,253,193,100,209,253,193,102,209,253,193,104,209,253,193,106,209,253,193,108,209,253,193,110,209,253,193,112,209,253,193,114,209,253,193,116,209,253,193,120,209,253,193,122,209,253,193,124,209,253,193,126,209,253,193,132,209,253,193,134,209,253,193,136,209,253,193,142,209,253,193,144,209,253,193,146,209,253,193,148,209,253,193,150,209,253,193,192,209,253,193,194,209,253,193,200,209,253,193,202,209,253,193,216,209,253,193,218,209,253,193,220,209,253,193,222,209,253,193,224,209,253,193,226,209,253,193,228,209,253,193,230,209,253,193,232,209,253,193,234,209,253,193,236,209,253,193,238,209,253,206,96,118,0,206,96,118,0,206,96,118,0,206,96,118,0,206,96,118,0,193,186,209,253,193,188,209,253,193,190,209,253,193,206,209,253,193,208,209,253,193,244,209,253,193,246,209,253,193,248,209,253,193,250,209,253,193,28,210,253,193,30,210,253,193,32,210,253,193,72,210,253,193,74,210,253,193,76,210,253,193,78,210,253,193,80,210,253,193,124,210,253,193,126,210,253,193,128,210,253,193,130,210,253,193,132,210,253,193,134,210,253,193,136,210,253,193,166,210,253,193,168,210,253,193,170,210,253,193,172,210,253,193,194,210,253,193,196,210,253,193,216,210,253,193,236,210,253,193,210,209,253,193,212,209,253,193,214,209,253,193,252,209,253,193,254,209,253,193,2,210,253,193,82,210,253,193,138,210,253,193,198,210,253,193,218,210,253,193,6,211,253,193,8,211,253,193,70,211,253,193,72,211,253,193,74,211,253,193,92,211,253,193,94,211,253,193,132,211,253,193,134,211,253,193,136,211,253,193,138,211,253,193,172,211,253,193,202,211,253,193,204,211,253,193,206,211,253,193,242,211,253,193,244,211,253,193,246,211,253,193,248,211,253,193,250,211,253,193,74,212,253,193,76,212,253,206,96,118,0,206,96,118,0,206,96,118,0,206,96,118,0,206,96,118,0,193,34,210,253,193,36,210,253,193,38,210,253,193,40,210,253,193,42,210,253,193,44,210,253,193,46,210,253,193,48,210,253,193,50,210,253,193,52,210,253,193,54,210,253,193,56,210,253,193,58,210,253,193,60,210,253,193,62,210,253,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,206,128,118,0,193,140,210,253,193,142,210,253,193,144,210,253,193,146,210,253,193,148,210,253,193,150,210,253,193,152,210,253,193,154,210,253,193,156,210,253,193,158,210,253,193,174,210,253,193,176,210,253,193,178,210,253,193,180,210,253,193,182,210,253,193,184,210,253,193,186,210,253,193,188,210,253,193,190,210,253,193,200,210,253,193,202,210,253,193,204,210,253,193,206,210,253,193,208,210,253,193,220,210,253,193,222,210,253,193,224,210,253,193,226,210,253,193,210,210,253,193,230,210,253,193,196,211,253,193,32,212,253,193,154,212,253,193,208,212,253,193,248,212,253,193,14,213,253,193,16,213,253,193,18,213,253,193,34,213,253,193,36,213,253,193,38,213,253,193,76,213,253,193,84,213,253,193,154,213,253,193,218,213,253,193,26,214,253,193,86,214,253,193,100,214,253,193,156,214,253,193,160,215,253,193,162,215,253,193,198,215,253,193,86,216,253,193,128,216,253,193,130,216,253,193,6,217,253,193,60,217,253,193,70,217,253,193,74,217,253,193,114,217,253,193,228,210,253,193,238,210,253,193,240,210,253,193,242,210,253,193,244,210,253,193,246,210,253,193,248,210,253,193,250,210,253,193,252,210,253,193,254,210,253,193,10,211,253,193,12,211,253,193,14,211,253,193,16,211,253,193,20,211,253,193,22,211,253,193,24,211,253,193,26,211,253,193,28,211,253,193,30,211,253,193,32,211,253,193,34,211,253,193,38,211,253,193,40,211,253,193,44,211,253,193,48,211,253,193,52,211,253,193,54,211,253,193,58,211,253,193,60,211,253,193,62,211,253,193,64,211,253,193,232,210,253,193,234,210,253,193,42,211,253,193,38,212,253,193,202,212,253,193,204,212,253,193,210,212,253,193,212,212,253,193,214,212,253,193,228,212,253,193,236,212,253,193,238,212,253,193,240,212,253,193,242,212,253,193,244,212,253,193,246,212,253,193,252,212,253,193,254,212,253,193,2,213,253,193,4,213,253,193,6,213,253,193,8,213,253,193,20,213,253,193,22,213,253,193,24,213,253,193,40,213,253,193,42,213,253,193,44,213,253,193,46,213,253,193,48,213,253,193,52,213,253,193,54,213,253,193,4,211,253,193,18,211,253,193,36,211,253,193,46,211,253,193,50,211,253,193,56,211,253,193,196,212,253,193,68,211,253,193,84,211,253,193,86,211,253,193,88,211,253,193,90,211,253,193,126,211,253,193,128,211,253,193,130,211,253,193,168,211,253,193,170,211,253,193,198,211,253,193,200,211,253,193,238,211,253,193,240,211,253,193,40,212,253,193,100,212,253,193,190,212,253,193,216,212,253,193,26,213,253,193,50,213,253,193,94,213,253,193,98,213,253,193,100,213,253,193,108,213,253,193,148,213,253,193,162,211,253,193,164,211,253,193,174,211,253,193,176,211,253,193,178,211,253,193,180,211,253,193,182,211,253,193,184,211,253,193,186,211,253,193,188,211,253,193,190,211,253,193,192,211,253,193,194,211,253,193,208,211,253,193,210,211,253,193,212,211,253,193,214,211,253,193,216,211,253,193,218,211,253,193,220,211,253,193,222,211,253,193,224,211,253,193,226,211,253,193,228,211,253,193,230,211,253,193,232,211,253,193,234,211,253,193,236,211,253,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,206,160,118,0,193,42,212,253,193,44,212,253,193,46,212,253,193,48,212,253,193,50,212,253,193,52,212,253,193,54,212,253,193,56,212,253,193,58,212,253,193,60,212,253,193,62,212,253,193,64,212,253,193,66,212,253,193,68,212,253,193,70,212,253,193,80,212,253,193,82,212,253,193,84,212,253,193,86,212,253,193,88,212,253,193,78,212,253,193,102,212,253,193,104,212,253,193,140,212,253,193,156,212,253,193,106,212,253,193,172,212,253,193,110,213,253,193,174,213,253,193,176,213,253,193,224,213,253,193,254,213,253,193,16,214,253,193,30,214,253,193,60,214,253,193,88,214,253,193,102,214,253,193,134,214,253,193,140,214,253,193,142,214,253,193,186,214,253,193,188,214,253,193,190,214,253,193,204,214,253,193,206,214,253,193,208,214,253,193,220,214,253,193,224,214,253,193,236,214,253,193,4,215,253,193,8,215,253,193,20,215,253,193,90,212,253,193,92,212,253,193,94,212,253,193,108,212,253,193,110,212,253,193,112,212,253,193,114,212,253,193,116,212,253,193,118,212,253,193,120,212,253,193,122,212,253,193,124,212,253,193,126,212,253,193,128,212,253,193,130,212,253,193,132,212,253,193,134,212,253,193,136,212,253,193,142,212,253,193,144,212,253,193,146,212,253,193,148,212,253,193,150,212,253,193,152,212,253,193,158,212,253,193,160,212,253,193,162,212,253,193,164,212,253,193,166,212,253,193,168,212,253,193,170,212,253,193,174,212,253,193,98,212,253,193,138,212,253,193,188,212,253,193,200,212,253,193,224,212,253,193,226,212,253,193,234,212,253,193,250,212,253,193,124,213,253,193,126,213,253,193,128,213,253,193,156,213,253,193,196,213,253,193,204,213,253,193,208,213,253,193,246,213,253,193,126,214,253,193,128,214,253,193,182,214,253,193,240,214,253,193,80,215,253,193,82,215,253,193,124,215,253,193,164,215,253,193,166,215,253,193,10,216,253,193,12,216,253,193,14,216,253,193,88,216,253,193,158,216,253,193,244,216,253,193,8,217,253,193,176,212,253,193,178,212,253,193,180,212,253,193,182,212,253,193,184,212,253,193,186,212,253,193,192,212,253,193,194,212,253,193,206,212,253,193,218,212,253,193,220,212,253,193,230,212,253,193,10,213,253,193,198,212,253,193,28,213,253,193,30,213,253,193,74,213,253,193,96,213,253,193,102,213,253,193,104,213,253,193,106,213,253,193,112,213,253,193,114,213,253,193,116,213,253,193,118,213,253,193,120,213,253,193,122,213,253,193,130,213,253,193,132,213,253,193,134,213,253,193,136,213,253,193,138,213,253,193,56,213,253,193,58,213,253,193,60,213,253,193,62,213,253,193,64,213,253,193,66,213,253,193,70,213,253,193,72,213,253,193,78,213,253,193,80,213,253,193,82,213,253,193,86,213,253,193,88,213,253,193,90,213,253,193,92,213,253,193,158,213,253,193,170,213,253,193,182,213,253,193,248,213,253,193,28,214,253,193,58,214,253,193,202,214,253,193,126,215,253,193,200,215,253,193,202,215,253,193,160,216,253,193,198,216,253,193,154,217,253,193,156,217,253,193,186,217,253,193,228,217,253,193,230,217,253,193,140,213,253,193,142,213,253,193,144,213,253,193,150,213,253,193,152,213,253,193,162,213,253,193,164,213,253,193,166,213,253,193,178,213,253,193,180,213,253,193,184,213,253,193,186,213,253,193,188,213,253,193,190,213,253,193,192,213,253,193,194,213,253,193,200,213,253,193,202,213,253,193,206,213,253,193,214,213,253,193,216,213,253,193,226,213,253,193,228,213,253,193,230,213,253,193,232,213,253,193,234,213,253,193,244,213,253,193,2,214,253,193,4,214,253,193,6,214,253,193,8,214,253,193,10,214,253,193,12,214,253,193,14,214,253,193,18,214,253,193,20,214,253,193,22,214,253,193,24,214,253,193,32,214,253,193,34,214,253,193,36,214,253,193,38,214,253,193,40,214,253,193,42,214,253,193,44,214,253,193,46,214,253,193,48,214,253,193,50,214,253,193,52,214,253,193,54,214,253,193,56,214,253,193,62,214,253,193,64,214,253,193,66,214,253,193,68,214,253,193,70,214,253,193,72,214,253,193,74,214,253,193,76,214,253,193,78,214,253,193,80,214,253,193,82,214,253,193,84,214,253,193,90,214,253,193,92,214,253,193,94,214,253,193,96,214,253,193,98,214,253,193,104,214,253,193,106,214,253,193,108,214,253,193,112,214,253,193,114,214,253,193,116,214,253,193,118,214,253,193,120,214,253,193,122,214,253,193,130,214,253,193,136,214,253,193,138,214,253,193,144,214,253,193,146,214,253,193,148,214,253,193,150,214,253,193,152,214,253,193,154,214,253,193,160,214,253,193,162,214,253,193,164,214,253,193,166,214,253,193,168,214,253,193,170,214,253,193,172,214,253,193,174,214,253,193,176,214,253,193,178,214,253,193,180,214,253,193,184,214,253,193,192,214,253,193,194,214,253,193,196,214,253,193,198,214,253,193,200,214,253,193,210,214,253,193,212,214,253,193,214,214,253,193,216,214,253,193,222,214,253,193,226,214,253,193,228,214,253,193,230,214,253,193,232,214,253,193,234,214,253,193,242,214,253,193,238,214,253,193,244,214,253,193,246,214,253,193,248,214,253,193,250,214,253,193,2,215,253,193,6,215,253,193,10,215,253,193,12,215,253,193,14,215,253,206,192,118,0,206,192,118,0,206,192,118,0,206,192,118,0,193,22,215,253,193,50,215,253,193,94,215,253,193,96,215,253,193,134,215,253,193,136,215,253,193,138,215,253,193,140,215,253,193,172,215,253,193,174,215,253,193,218,215,253,193,220,215,253,193,222,215,253,193,26,216,253,193,28,216,253,193,30,216,253,193,138,216,253,193,162,216,253,193,202,216,253,193,204,216,253,193,206,216,253,193,232,216,253,193,98,217,253,193,120,217,253,193,166,217,253,193,196,217,253,193,20,218,253,193,52,218,253,193,54,218,253,193,88,218,253,193,90,218,253,193,92,218,253,206,192,118,0,206,192,118,0,206,192,118,0,206,192,118,0,193,52,215,253,193,54,215,253,193,56,215,253,193,58,215,253,193,60,215,253,193,62,215,253,193,64,215,253,193,66,215,253,193,68,215,253,193,70,215,253,193,72,215,253,193,74,215,253,193,76,215,253,193,78,215,253,193,98,215,253,193,100,215,253,193,102,215,253,193,104,215,253,193,106,215,253,193,108,215,253,193,110,215,253,193,112,215,253,193,114,215,253,193,116,215,253,193,118,215,253,193,120,215,253,193,122,215,253,193,142,215,253,193,130,215,253,193,132,215,253,193,168,215,253,193,170,215,253,193,204,215,253,193,206,215,253,193,208,215,253,193,210,215,253,193,212,215,253,193,214,215,253,193,216,215,253,193,16,216,253,193,18,216,253,193,20,216,253,193,22,216,253,193,24,216,253,193,90,216,253,193,92,216,253,193,132,216,253,193,134,216,253,193,136,216,253,193,200,216,253,193,230,216,253,193,246,216,253,193,10,217,253,193,36,217,253,193,40,217,253,193,44,217,253,193,48,217,253,193,62,217,253,193,222,217,253,193,76,217,253,193,144,215,253,193,146,215,253,193,148,215,253,193,150,215,253,193,152,215,253,193,154,215,253,193,156,215,253,193,158,215,253,193,178,215,253,193,180,215,253,193,182,215,253,193,184,215,253,193,186,215,253,193,188,215,253,193,190,215,253,193,192,215,253,193,194,215,253,193,196,215,253,193,224,215,253,193,226,215,253,193,228,215,253,193,230,215,253,193,232,215,253,193,234,215,253,193,236,215,253,193,238,215,253,193,240,215,253,193,242,215,253,193,244,215,253,193,246,215,253,193,248,215,253,193,250,215,253,193,252,215,253,193,254,215,253,193,2,216,253,193,32,216,253,193,4,216,253,193,34,216,253,193,36,216,253,193,38,216,253,193,40,216,253,193,42,216,253,193,44,216,253,193,46,216,253,193,48,216,253,193,50,216,253,193,52,216,253,193,54,216,253,193,56,216,253,193,58,216,253,193,60,216,253,193,62,216,253,193,64,216,253,193,66,216,253,193,68,216,253,193,70,216,253,193,72,216,253,193,74,216,253,193,76,216,253,193,78,216,253,193,80,216,253,193,82,216,253,193,94,216,253,193,96,216,253,193,98,216,253,193,100,216,253,193,102,216,253,193,104,216,253,193,106,216,253,193,108,216,253,193,110,216,253,193,112,216,253,193,114,216,253,193,116,216,253,193,118,216,253,193,120,216,253,193,122,216,253,193,124,216,253,193,126,216,253,193,140,216,253,193,142,216,253,193,144,216,253,193,146,216,253,193,148,216,253,193,150,216,253,193,152,216,253,193,154,216,253,193,156,216,253,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,206,224,118,0,193,208,216,253,193,210,216,253,193,212,216,253,193,214,216,253,193,216,216,253,193,218,216,253,193,220,216,253,193,222,216,253,193,224,216,253,193,226,216,253,193,228,216,253,193,234,216,253,193,236,216,253,193,238,216,253,193,240,216,253,193,242,216,253,193,248,216,253,193,250,216,253,193,252,216,253,193,254,216,253,193,2,217,253,193,4,217,253,193,12,217,253,193,14,217,253,193,16,217,253,193,18,217,253,193,20,217,253,193,22,217,253,193,24,217,253,193,26,217,253,193,28,217,253,193,30,217,253,193,32,217,253,193,34,217,253,193,46,217,253,193,50,217,253,193,52,217,253,193,54,217,253,193,56,217,253,193,58,217,253,193,64,217,253,193,66,217,253,193,68,217,253,193,78,217,253,193,80,217,253,193,82,217,253,193,84,217,253,193,86,217,253,193,88,217,253,193,100,217,253,193,102,217,253,193,104,217,253,193,106,217,253,193,108,217,253,193,110,217,253,193,38,217,253,193,72,217,253,193,90,217,253,193,136,217,253,193,152,217,253,193,32,218,253,193,68,218,253,193,102,218,253,193,126,218,253,193,140,218,253,193,204,218,253,193,206,218,253,193,18,219,253,193,64,219,253,193,136,219,253,193,222,219,253,193,242,219,253,193,244,219,253,193,246,219,253,193,248,219,253,193,250,219,253,193,252,219,253,193,22,220,253,193,78,220,253,193,152,220,253,193,170,220,253,193,182,220,253,193,184,220,253,193,186,220,253,193,252,220,253,193,12,221,253,193,24,221,253,193,92,217,253,193,94,217,253,193,96,217,253,193,116,217,253,193,118,217,253,193,158,217,253,193,188,217,253,193,190,217,253,193,200,217,253,193,202,217,253,193,210,217,253,193,224,217,253,193,226,217,253,193,2,218,253,193,6,218,253,193,10,218,253,193,12,218,253,193,14,218,253,193,18,218,253,193,62,218,253,193,64,218,253,193,84,218,253,193,86,218,253,193,106,218,253,193,142,218,253,193,144,218,253,193,146,218,253,193,148,218,253,193,176,218,253,193,180,218,253,193,182,218,253,193,194,218,253,193,112,217,253,193,122,217,253,193,124,217,253,193,126,217,253,193,128,217,253,193,130,217,253,193,132,217,253,193,138,217,253,193,140,217,253,193,142,217,253,193,144,217,253,193,146,217,253,193,160,217,253,193,162,217,253,193,168,217,253,193,170,217,253,193,172,217,253,193,174,217,253,193,176,217,253,193,178,217,253,193,180,217,253,193,182,217,253,193,184,217,253,193,192,217,253,193,194,217,253,193,198,217,253,193,204,217,253,193,196,224,253,193,212,217,253,193,206,217,253,193,214,217,253,193,216,217,253,193,148,217,253,193,150,217,253,193,164,217,253,193,238,217,253,193,242,217,253,193,30,218,253,193,36,218,253,193,38,218,253,193,40,218,253,193,44,218,253,193,50,218,253,193,56,218,253,193,60,218,253,193,62,219,253,193,134,219,253,193,76,220,253,193,108,220,253,193,180,220,253,193,212,220,253,193,238,220,253,193,134,221,253,193,206,221,253,193,208,221,253,193,210,221,253,193,12,223,253,193,72,223,253,193,122,223,253,193,124,223,253,193,126,223,253,193,128,223,253,193,142,223,253,193,144,223,253,193,218,217,253,193,220,217,253,193,8,218,253,193,16,218,253,193,22,218,253,193,24,218,253,193,26,218,253,193,34,218,253,193,42,218,253,193,46,218,253,193,58,218,253,193,70,218,253,193,72,218,253,193,76,218,253,193,78,218,253,193,80,218,253,193,94,218,253,193,96,218,253,193,98,218,253,193,100,218,253,193,110,218,253,193,112,218,253,193,114,218,253,193,116,218,253,193,118,218,253,193,120,218,253,193,122,218,253,193,124,218,253,193,128,218,253,193,130,218,253,193,132,218,253,193,134,218,253,193,232,217,253,193,234,217,253,193,236,217,253,193,240,217,253,193,244,217,253,193,246,217,253,193,250,217,253,193,252,217,253,193,254,217,253,193,4,218,253,193,82,218,253,193,104,218,253,193,192,218,253,193,238,218,253,193,88,219,253,193,90,219,253,193,224,219,253,193,10,220,253,193,12,220,253,193,40,220,253,193,62,220,253,193,80,220,253,193,82,220,253,193,240,220,253,193,242,220,253,193,244,220,253,193,62,221,253,193,64,221,253,193,66,221,253,193,140,221,253,193,24,222,253,193,146,222,253,193,28,218,253,193,48,218,253,193,224,218,253,193,220,219,253,193,38,220,253,193,204,221,253,193,20,222,253,193,10,223,253,193,120,223,253,193,166,223,253,193,168,223,253,193,192,223,253,193,204,223,253,193,206,223,253,193,230,223,253,193,238,223,253,193,2,224,253,193,74,224,253,193,114,224,253,193,230,224,253,193,30,225,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,108,218,253,193,150,218,253,193,230,218,253,193,246,218,253,193,40,219,253,193,68,219,253,193,126,219,253,193,146,219,253,193,176,219,253,193,178,219,253,193,24,220,253,193,26,220,253,193,46,220,253,193,64,220,253,193,66,220,253,193,84,220,253,193,156,220,253,193,164,220,253,193,192,220,253,193,194,220,253,193,16,221,253,193,32,221,253,193,34,221,253,193,90,221,253,193,92,221,253,193,94,221,253,193,154,221,253,193,156,221,253,193,224,221,253,193,226,221,253,193,36,222,253,193,38,222,253,193,136,218,253,193,138,218,253,193,152,218,253,193,154,218,253,193,156,218,253,193,158,218,253,193,160,218,253,193,162,218,253,193,164,218,253,193,166,218,253,193,168,218,253,193,170,218,253,193,172,218,253,193,174,218,253,193,178,218,253,193,184,218,253,193,186,218,253,193,188,218,253,193,190,218,253,193,200,218,253,193,202,218,253,193,210,218,253,193,212,218,253,193,216,218,253,193,226,218,253,193,228,218,253,193,232,218,253,193,234,218,253,193,236,218,253,193,248,218,253,193,250,218,253,193,252,218,253,193,220,218,253,193,222,218,253,193,240,218,253,193,242,218,253,193,244,218,253,193,20,219,253,193,22,219,253,193,24,219,253,193,26,219,253,193,28,219,253,193,30,219,253,193,32,219,253,193,34,219,253,193,66,219,253,193,92,219,253,193,94,219,253,193,96,219,253,193,124,219,253,193,138,219,253,193,140,219,253,193,142,219,253,193,144,219,253,193,168,219,253,193,170,219,253,193,172,219,253,193,174,219,253,193,230,219,253,193,240,219,253,193,2,220,253,193,4,220,253,193,14,220,253,193,16,220,253,193,254,218,253,193,2,219,253,193,4,219,253,193,6,219,253,193,8,219,253,193,10,219,253,193,12,219,253,193,14,219,253,193,16,219,253,193,42,219,253,193,44,219,253,193,46,219,253,193,48,219,253,193,50,219,253,193,52,219,253,193,54,219,253,193,56,219,253,193,58,219,253,193,70,219,253,193,72,219,253,193,74,219,253,193,76,219,253,193,78,219,253,193,80,219,253,193,82,219,253,193,84,219,253,193,98,219,253,193,100,219,253,193,102,219,253,193,104,219,253,193,106,219,253,193,86,219,253,193,108,219,253,193,110,219,253,193,112,219,253,193,114,219,253,193,116,219,253,193,118,219,253,193,120,219,253,193,122,219,253,193,128,219,253,193,130,219,253,193,132,219,253,193,148,219,253,193,150,219,253,193,152,219,253,193,154,219,253,193,156,219,253,193,158,219,253,193,160,219,253,193,162,219,253,193,164,219,253,193,166,219,253,193,180,219,253,193,182,219,253,193,184,219,253,193,186,219,253,193,188,219,253,193,190,219,253,193,192,219,253,193,194,219,253,193,196,219,253,193,198,219,253,193,126,220,253,193,200,219,253,193,202,219,253,193,204,219,253,193,206,219,253,193,208,219,253,193,210,219,253,193,212,219,253,193,214,219,253,193,216,219,253,193,218,219,253,193,226,219,253,193,228,219,253,193,232,219,253,193,234,219,253,193,236,219,253,193,238,219,253,193,254,219,253,193,6,220,253,193,8,220,253,193,18,220,253,193,20,220,253,193,28,220,253,193,30,220,253,193,32,220,253,193,34,220,253,193,36,220,253,193,48,220,253,193,50,220,253,193,52,220,253,193,54,220,253,193,56,220,253,193,58,220,253,193,42,220,253,193,44,220,253,193,102,220,253,193,110,220,253,193,112,220,253,193,122,220,253,193,124,220,253,193,134,220,253,193,154,220,253,193,174,220,253,193,176,220,253,193,190,220,253,193,198,220,253,193,206,220,253,193,218,220,253,193,224,220,253,193,236,220,253,193,246,220,253,193,248,220,253,193,254,220,253,193,2,221,253,193,14,221,253,193,26,221,253,193,28,221,253,193,30,221,253,206,32,119,0,206,32,119,0,206,32,119,0,206,32,119,0,206,32,119,0,206,32,119,0,206,32,119,0,193,60,220,253,193,68,220,253,193,70,220,253,193,72,220,253,193,74,220,253,193,86,220,253,193,88,220,253,193,90,220,253,193,92,220,253,193,94,220,253,193,96,220,253,193,98,220,253,193,100,220,253,193,104,220,253,193,106,220,253,193,114,220,253,193,116,220,253,193,118,220,253,193,120,220,253,193,128,220,253,193,130,220,253,193,132,220,253,193,136,220,253,193,138,220,253,193,140,220,253,193,142,220,253,193,144,220,253,193,146,220,253,193,148,220,253,193,150,220,253,193,158,220,253,193,160,220,253,193,162,220,253,193,166,220,253,193,168,220,253,193,172,220,253,193,178,220,253,193,188,220,253,193,196,220,253,193,202,220,253,193,204,220,253,193,208,220,253,193,210,220,253,193,214,220,253,193,216,220,253,193,222,220,253,193,220,220,253,193,226,220,253,193,228,220,253,193,230,220,253,193,232,220,253,193,234,220,253,193,4,221,253,193,6,221,253,193,8,221,253,193,10,221,253,193,18,221,253,193,20,221,253,193,22,221,253,206,0,119,0,206,0,119,0,206,0,119,0,206,0,119,0,206,0,119,0,206,0,119,0,193,98,221,253,193,100,221,253,193,102,221,253,193,104,221,253,193,106,221,253,193,108,221,253,193,110,221,253,193,112,221,253,193,114,221,253,193,116,221,253,193,118,221,253,193,120,221,253,193,122,221,253,193,124,221,253,193,126,221,253,193,128,221,253,193,130,221,253,193,132,221,253,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,193,58,221,253,193,60,221,253,193,136,221,253,193,138,221,253,193,212,221,253,193,214,221,253,193,216,221,253,193,22,222,253,193,80,222,253,193,82,222,253,193,84,222,253,193,138,222,253,193,140,222,253,193,142,222,253,193,144,222,253,193,198,222,253,193,200,222,253,193,228,222,253,193,230,222,253,193,232,222,253,193,14,223,253,193,16,223,253,193,18,223,253,193,40,223,253,193,84,223,253,193,148,223,253,193,66,224,253,193,124,224,253,193,126,224,253,193,128,224,253,193,130,224,253,193,132,224,253,206,32,119,0,206,32,119,0,206,32,119,0,206,32,119,0,193,142,221,253,193,144,221,253,193,146,221,253,193,148,221,253,193,150,221,253,193,152,221,253,193,218,221,253,193,220,221,253,193,222,221,253,193,26,222,253,193,28,222,253,193,30,222,253,193,32,222,253,193,34,222,253,193,86,222,253,193,88,222,253,193,90,222,253,193,92,222,253,193,94,222,253,193,96,222,253,193,152,222,253,193,154,222,253,193,156,222,253,193,158,222,253,193,22,223,253,193,24,223,253,193,96,223,253,193,110,223,253,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,64,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,206,96,119,0,193,40,222,253,193,42,222,253,193,44,222,253,193,46,222,253,193,48,222,253,193,50,222,253,193,52,222,253,193,54,222,253,193,56,222,253,193,58,222,253,193,60,222,253,193,62,222,253,193,64,222,253,193,66,222,253,193,68,222,253,193,70,222,253,193,72,222,253,193,74,222,253,193,76,222,253,193,78,222,253,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,206,128,119,0,193,164,222,253,193,166,222,253,193,168,222,253,193,170,222,253,193,172,222,253,193,174,222,253,193,176,222,253,193,178,222,253,193,180,222,253,193,182,222,253,193,184,222,253,193,186,222,253,193,188,222,253,193,190,222,253,193,192,222,253,193,194,222,253,193,196,222,253,193,210,222,253,193,212,222,253,193,214,222,253,193,216,222,253,193,218,222,253,193,220,222,253,193,148,222,253,193,150,222,253,193,202,222,253,193,204,222,253,193,234,222,253,193,20,223,253,193,42,223,253,193,50,223,253,193,74,223,253,193,116,223,253,193,130,223,253,193,150,223,253,193,152,223,253,193,154,223,253,193,156,223,253,193,158,223,253,193,180,223,253,193,182,223,253,193,184,223,253,193,186,223,253,193,198,223,253,193,200,223,253,193,220,223,253,193,222,223,253,193,224,223,253,193,236,223,253,193,246,223,253,193,248,223,253,193,250,223,253,193,252,223,253,193,48,224,253,193,68,224,253,193,222,222,253,193,224,222,253,193,226,222,253,193,238,222,253,193,240,222,253,193,242,222,253,193,244,222,253,193,246,222,253,193,248,222,253,193,250,222,253,193,252,222,253,193,254,222,253,193,2,223,253,193,4,223,253,193,6,223,253,193,8,223,253,193,28,223,253,193,30,223,253,193,32,223,253,193,34,223,253,193,36,223,253,193,38,223,253,193,48,223,253,193,52,223,253,193,54,223,253,193,56,223,253,193,58,223,253,193,60,223,253,193,62,223,253,193,64,223,253,193,66,223,253,193,68,223,253,193,70,223,253,193,76,223,253,193,78,223,253,193,80,223,253,193,82,223,253,193,86,223,253,193,88,223,253,193,90,223,253,193,92,223,253,193,94,223,253,193,100,223,253,193,102,223,253,193,104,223,253,193,106,223,253,193,108,223,253,193,164,223,253,193,202,223,253,193,18,224,253,193,20,224,253,193,22,224,253,193,24,224,253,193,32,224,253,193,34,224,253,193,36,224,253,193,38,224,253,193,46,224,253,193,40,224,253,193,42,224,253,193,58,224,253,193,60,224,253,193,62,224,253,193,64,224,253,193,146,223,253,193,170,223,253,193,172,223,253,193,174,223,253,193,176,223,253,193,178,223,253,193,194,223,253,193,196,223,253,193,210,223,253,193,212,223,253,193,214,223,253,193,216,223,253,193,218,223,253,193,232,223,253,193,234,223,253,193,240,223,253,193,242,223,253,193,244,223,253,193,254,223,253,193,4,224,253,193,6,224,253,193,8,224,253,193,10,224,253,193,26,224,253,193,28,224,253,193,76,224,253,193,78,224,253,193,98,224,253,193,106,224,253,193,116,224,253,193,220,224,253,193,244,224,253,193,70,224,253,193,72,224,253,193,80,224,253,193,84,224,253,193,86,224,253,193,94,224,253,193,120,224,253,193,172,224,253,193,134,224,253,193,138,224,253,193,140,224,253,193,144,224,253,193,146,224,253,193,148,224,253,193,150,224,253,193,152,224,253,193,154,224,253,193,156,224,253,193,158,224,253,193,160,224,253,193,162,224,253,193,164,224,253,193,174,224,253,193,176,224,253,193,178,224,253,193,180,224,253,193,182,224,253,193,184,224,253,193,186,224,253,193,188,224,253,193,190,224,253,193,192,224,253,193,82,224,253,193,100,224,253,193,108,224,253,193,222,224,253,193,224,224,253,193,226,224,253,193,228,224,253,193,232,224,253,193,234,224,253,193,248,224,253,193,10,225,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,8,225,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,16,56,102,193,9,70,102,193,79,194,102,193,2,172,102,193,23,180,102,193,16,70,102,193,23,70,102,193,44,198,102,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,5,49,234,194,5,240,230,194,5,118,231,194,5,217,231,194,5,230,229,194,5,75,230,194,5,174,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,5,197,229,194,5,42,230,194,5,141,230,0,0,0,0,194,5,19,231,194,5,52,231,194,5,250,231,194,5,82,234,194,5,115,234,194,5,247,234,194,5,26,235,194,5,181,234,194,5,214,234,194,5,148,234,194,5,151,231,194,5,72,233,5,5,172,104,5,5,174,104,5,5,176,104,5,5,178,104,5,5,180,104,5,5,186,104,5,5,190,104,5,5,192,104,5,5,196,104,5,5,200,104,5,5,202,104,5,5,204,104,5,5,206,104,5,5,208,104,5,5,194,104,5,5,164,104,5,5,6,104,0,0,0,0,0,0,0,0,5,138,0,0,5,136,0,0,5,5,188,104,5,5,166,104,5,5,168,104,197,130,191,1,197,194,191,1,197,2,192,1,197,66,192,1,197,130,192,1,197,194,192,1,197,66,193,1,197,130,193,1,197,67,124,2,193,252,86,12,193,5,87,12,193,12,87,12,5,5,58,11,5,5,60,11,5,5,62,11,5,5,64,11,5,5,66,11,5,5,68,11,5,5,70,11,5,5,76,11,32,5,76,11,5,5,78,11,5,5,80,11,5,5,82,11,5,5,84,11,5,5,86,11,5,5,88,11,193,19,87,12,5,5,76,7,193,26,87,12,193,33,87,12,193,40,87,12,0,0,0,0,0,0,0,0,193,47,87,12,193,54,87,12,193,61,87,12,193,68,87,12,193,75,87,12,193,82,87,12,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,21,5,0,21,21,5,0,23,21,5,0,25,21,5,0,27,21,5,0,29,21,5,0,31,21,5,0,33,21,5,0,35,22,5,0,37,21,5,0,19,193,89,87,12,0,0,0,0,193,96,87,12,0,0,0,0,193,103,87,12,194,5,248,244,5,5,154,9,5,5,156,9,5,5,158,9,5,5,160,9,0,0,0,0,0,0,0,0,5,5,172,116,5,5,174,116,0,0,0,0,0,0,0,0,5,5,196,116,5,5,90,11,0,0,0,0,0,0,0,0,5,5,150,116,5,5,154,116,5,5,162,116,5,5,164,116,5,5,158,116,5,5,152,116,5,5,156,116,5,5,160,116,5,5,8,116,5,5,14,116,5,5,18,116,197,130,120,2,5,5,22,116,5,5,26,116,5,5,30,116,5,5,34,116,255,255,255,255,5,5,38,116,5,5,42,116,5,5,46,116,5,5,50,116,197,2,121,2,5,5,54,116,5,5,58,116,193,124,87,12,193,131,87,12,193,138,87,12,193,145,87,12,193,152,87,12,193,159,87,12,0,0,0,0,193,166,87,12,193,173,87,12,193,180,87,12,193,187,87,12,193,194,87,12,193,201,87,12,255,255,255,255,193,208,87,12,193,215,87,12,5,5,72,11,5,5,74,11,5,5,92,11,5,5,94,11,5,5,96,11,193,222,87,12,193,229,87,12,193,236,87,12,193,243,87,12,5,5,98,11,5,5,100,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,164,117,5,5,166,117,5,5,168,117,5,5,172,117,5,5,174,117,5,5,176,117,5,5,178,117,5,5,180,117,5,5,182,117,5,5,184,117,5,5,186,117,5,5,188,117,5,5,190,117,5,5,192,117,5,5,194,117,5,5,196,117,5,5,198,117,5,5,200,117,5,5,202,117,5,5,204,117,0,0,0,0,0,0,0,0,5,5,206,117,5,5,208,117,5,5,210,117,5,5,212,117,5,5,214,117,5,5,216,117,5,5,218,117,5,5,220,117,5,5,222,117,5,5,224,117,5,5,226,117,5,5,228,117,5,5,230,117,5,5,232,117,5,5,234,117,5,5,236,117,194,5,241,240,194,5,20,241,194,5,159,245,194,5,192,245,194,5,225,245,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,5,238,117,0,0,0,0,5,5,48,9,5,5,50,9,5,5,78,7,5,5,90,13,5,5,112,11,5,5,114,11,5,5,116,11,5,5,172,13,5,5,170,117,5,166,0,0,255,255,255,255,255,255,255,255,193,37,26,11,5,5,6,9,5,5,30,7,5,5,14,9,5,5,72,7,5,5,74,7,193,16,18,5,193,23,18,5,193,2,32,7,193,2,16,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,36,118,193,142,30,118,193,156,30,118,5,5,32,118,32,5,32,118,193,2,34,118,193,9,34,118,193,16,34,118,193,23,34,118,193,30,34,118,193,37,34,118,193,51,30,118,193,149,30,118,193,86,34,118,193,44,34,118,193,51,34,118,193,65,34,118,193,72,34,118,193,79,34,118,193,58,34,118,194,5,241,240,194,5,4,246,194,5,37,246,194,5,70,246,194,5,103,246,194,5,136,246,194,5,169,246,194,5,202,246,194,5,235,246,255,255,255,255,255,255,255,255,0,0,0,0,193,9,18,5,193,22,89,12,193,29,89,12,193,36,89,12,193,43,89,12,193,50,89,12,193,57,89,12,193,64,89,12,193,71,89,12,193,78,89,12,193,85,89,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,92,89,12,193,99,89,12,193,106,89,12,193,113,89,12,193,120,89,12,193,127,89,12,193,134,89,12,193,141,89,12,193,148,89,12,255,255,255,255,255,255,255,255,255,255,255,255,193,65,118,11,193,72,118,11,193,79,118,11,193,86,118,11,193,93,118,11,193,100,118,11,193,107,118,11,193,114,118,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,148,104,32,5,148,104,32,5,148,104,32,5,148,104,194,5,241,240,32,5,148,104,32,5,148,104,32,5,148,104,32,5,148,104,194,5,20,241,194,5,20,241,0,0,0,0,5,5,150,104,5,5,152,104,0,0,0,0,0,0,0,0,0,0,0,0,32,5,148,104,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,24,5,0,4,24,5,0,4,24,5,0,4,24,5,0,4,24,5,0,4,24,5,0,4,24,5,0,4,40,5,0,4,24,5,0,4,24,5,0,4,24,5,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,20,5,32,5,20,5,5,5,22,5,5,5,24,5,5,5,26,5,5,5,28,5,5,5,102,10,5,5,12,5,5,5,108,9,5,5,110,9,5,5,112,9,5,5,114,9,5,5,122,9,5,5,124,9,5,5,126,9,5,5,128,9,5,5,164,10,5,5,166,10,5,5,176,10,5,5,178,10,24,5,0,8,197,194,3,0,197,67,4,0,5,5,180,10,5,5,16,3,5,5,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,5,0,4,5,5,156,10,5,5,160,10,5,5,188,10,197,34,48,0,197,99,48,0,5,5,190,10,197,194,48,0,197,3,49,0,5,5,196,10,5,5,116,9,5,5,118,9,5,5,198,10,197,2,3,0,5,5,114,7,5,5,8,5,5,5,200,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,5,0,19,43,5,0,58,255,255,255,255,255,255,255,255,36,5,0,27,36,5,0,29,36,5,0,31,36,5,0,33,36,5,0,35,40,5,0,37,40,5,121,12,32,5,143,12,40,5,131,12,37,5,142,9,37,5,144,9,43,5,0,68,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,193,93,141,103,193,14,142,103,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,147,142,103,193,121,118,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,198,129,156,0,193,2,194,97,160,5,34,97,5,5,34,97,160,5,108,97,5,5,108,97,160,5,118,97,5,5,118,97,172,5,138,97,16,5,138,97,172,5,138,97,16,5,138,97,172,5,138,97,16,5,138,97,16,5,138,97,194,5,2,226,0,0,0,0,0,0,0,0,0,0,0,0,5,5,136,10,32,5,42,97,32,5,70,97,197,2,44,1,32,5,172,97,16,5,226,97,32,5,230,97,16,5,232,97,198,193,155,0,5,166,0,0,5,166,0,0,5,5,6,11,193,16,224,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,154,104,32,5,154,104,32,5,154,104,32,5,154,104,32,5,154,104,32,5,154,104,5,5,30,11,5,5,32,11,5,5,34,11,5,5,156,104,5,5,36,11,5,5,8,104,5,5,52,104,5,5,198,104,0,0,0,0,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,110,17,5,5,112,17,5,5,114,17,5,5,116,17,5,5,118,17,5,5,120,17,5,5,122,17,5,5,124,17,5,5,126,17,5,5,128,17,5,5,130,17,5,5,132,17,5,5,134,17,5,5,136,17,5,5,138,17,5,5,140,17,5,5,142,17,5,5,144,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,198,166,113,193,205,166,113,193,212,166,113,193,219,166,113,193,226,166,113,193,233,166,113,193,240,166,113,193,247,166,113,193,254,166,113,193,7,167,113,193,14,167,113,197,2,200,1,193,21,167,113,193,28,167,113,193,35,167,113,193,42,167,113,193,49,167,113,193,56,167,113,193,63,167,113,193,70,167,113,193,77,167,113,193,84,167,113,193,91,167,113,193,98,167,113,193,105,167,113,193,112,167,113,194,5,175,240,193,219,122,11,193,226,122,11,0,0,0,0,193,198,61,9,193,205,61,9,193,121,52,9,193,128,52,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,193,65,178,113,193,79,178,113,193,168,179,113,193,175,179,113,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,2,106,13,193,9,106,13,5,5,40,7,5,5,108,13,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,166,249,194,5,199,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,54,252,12,193,54,252,12,193,54,252,12,193,54,252,12,193,54,252,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,96,252,12,193,103,252,12,193,110,252,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,117,252,12,193,124,252,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,206,224,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,87,253,12,193,94,253,12,193,101,253,12,193,108,253,12,193,115,253,12,193,122,253,12,193,129,253,12,193,136,253,12,193,143,253,12,193,150,253,12,193,157,253,12,193,164,253,12,193,171,253,12,193,164,253,12,193,171,253,12,193,164,253,12,193,171,253,12,193,164,253,12,193,144,2,13,193,151,2,13,0,0,0,0,0,0,0,0,0,0,0,0,193,158,2,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,158,72,13,193,165,72,13,193,172,72,13,193,179,72,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,186,72,13,193,193,72,13,193,200,72,13,193,207,72,13,193,214,72,13,193,221,72,13,193,228,72,13,193,235,72,13,0,0,0,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,206,64,242,0,0,0,0,0,193,86,73,13,193,93,73,13,193,58,128,11,193,65,128,11,193,72,128,11,193,79,128,11,193,86,128,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,5,0,6,44,5,34,7,46,5,24,9,49,5,54,7,44,5,42,7,40,5,90,7,49,5,98,7,32,5,86,10,32,5,88,10,197,163,4,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,222,0,0,0,0,0,0,5,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,168,0,0,0,0,0,0,5,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,224,0,0,0,0,0,0,197,2,4,0,46,5,26,5,32,5,24,5,44,5,10,5,44,5,10,5,51,5,142,9,51,5,144,9,44,5,150,9,44,5,152,9,44,5,82,10,44,5,84,10,32,5,78,10,32,5,80,10,32,5,66,10,32,5,68,10,32,5,62,10,46,5,144,10,46,5,128,10,32,5,121,12,46,5,14,5,46,5,129,12,46,5,133,12,32,5,131,12,255,255,255,255,46,5,140,10,46,5,138,13,46,5,152,10,46,5,126,10,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,44,164,229,194,16,164,229,194,32,9,230,0,0,0,0,194,32,108,230,255,255,255,255,194,46,207,230,194,32,207,230,194,46,85,231,194,32,85,231,194,46,184,231,194,32,184,231,194,46,29,232,194,32,29,232,194,46,62,232,194,32,62,232,32,5,196,102,48,5,200,102,40,5,200,102,24,5,200,102,32,5,200,102,48,5,204,102,40,5,204,102,24,5,204,102,32,5,204,102,48,5,214,102,40,5,214,102,24,5,214,102,32,5,214,102,49,5,222,102,38,5,222,102,49,5,236,102,38,5,236,102,51,5,238,102,44,5,238,102,30,5,238,102,37,5,238,102,197,226,155,1,197,162,155,1,197,98,156,1,197,34,156,1,197,226,156,1,197,162,156,1,197,162,91,1,197,34,157,1,255,255,255,255,255,255,255,255,0,0,0,0,160,5,214,96,5,5,214,96,160,5,216,96,5,5,216,96,197,227,36,1,193,13,227,12,193,20,227,12,193,27,227,12,193,34,227,12,193,41,227,12,193,48,227,12,160,5,162,96,5,5,162,96,160,5,194,96,5,5,194,96,5,166,0,0,5,134,0,0,5,132,0,0,160,5,174,96,5,5,174,96,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,23,16,9,193,9,112,7,193,16,112,7,193,2,92,9,193,2,200,16,193,30,16,9,193,9,92,9,5,5,112,108,5,5,114,108,5,5,116,108,5,5,118,108,5,5,120,108,255,255,255,255,255,255,255,255,201,32,8,0,5,5,128,108,255,255,255,255,255,255,255,255,5,5,130,108,5,5,132,108,5,5,134,108,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,166,0,0,5,5,136,108,5,5,138,108,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,194,196,1,197,2,197,1,255,255,255,255,5,5,86,108,193,2,118,11,193,9,118,11,193,16,118,11,193,23,118,11,193,30,118,11,193,37,118,11,193,44,118,11,5,5,92,13,193,2,52,9,193,9,52,9,193,16,52,9,193,23,52,9,193,51,118,11,193,58,118,11,255,255,255,255,255,255,255,255,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,172,0,0,20,5,0,86,5,166,0,0,5,166,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,19,5,0,76,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,166,0,0,16,5,58,93,5,112,0,42,197,34,108,0,197,98,110,0,197,162,111,0,197,2,114,0,5,120,0,48,5,112,0,48,19,5,0,54,32,5,10,55,19,5,0,62,19,5,0,64,32,5,6,65,32,5,6,67,19,5,0,68,32,5,6,69,32,5,8,77,32,5,12,77,19,5,0,78,5,120,0,78,19,5,0,92,16,5,22,43,19,5,0,44,32,5,24,45,16,5,24,51,19,5,0,52,32,5,20,65,197,2,174,0,19,5,0,72,16,5,22,79,197,98,201,0,20,5,0,86,197,226,101,0,197,194,166,0,197,98,196,0,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,255,255,255,255,5,166,0,0,5,168,0,0,5,168,0,0,5,166,0,0,5,168,0,0,5,172,0,0,194,5,21,251,5,172,0,0,5,172,0,0,5,172,0,0,5,170,0,0,194,5,54,251,194,5,87,251,194,5,120,251,194,5,153,251,5,170,0,0,5,170,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,166,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,5,166,0,0,5,168,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,29,193,156,146,17,193,163,146,17,193,170,146,17,193,142,122,11,193,149,122,11,193,156,122,11,193,163,122,11,193,170,122,11,193,177,122,11,193,184,122,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,37,94,117,193,44,94,117,193,247,94,117,193,254,94,117,5,166,0,0,5,166,0,0,5,166,0,0,5,166,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,121,196,124,5,5,198,124,193,2,200,124,193,9,200,124,193,16,200,124,5,112,198,124,5,168,0,0,5,168,0,0,5,166,0,0,5,166,0,0,5,166,0,0,5,168,0,0,5,166,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,168,0,0,5,5,0,21,193,35,147,17,193,42,147,17,193,49,147,17,193,163,61,9,193,170,61,9,193,177,61,9,193,184,61,9,193,191,61,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,87,91,124,193,94,91,124,193,101,91,124,193,108,91,124,193,115,91,124,193,122,91,124,193,129,91,124,193,136,91,124,193,143,91,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,150,91,124,193,157,91,124,193,164,91,124,193,171,91,124,193,178,91,124,193,185,91,124,193,192,91,124,193,199,91,124,193,206,91,124,193,213,91,124,255,255,255,255,255,255,255,255,193,165,2,13,5,166,0,0,5,170,0,0,193,37,22,9,193,9,27,103,193,16,27,103,193,23,27,103,193,30,27,103,193,37,27,103,193,44,27,103,193,51,27,103,193,58,27,103,193,65,27,103,193,72,27,103,193,79,27,103,193,86,27,103,193,93,27,103,193,100,27,103,193,107,27,103,193,114,27,103,193,121,27,103,193,128,27,103,193,135,27,103,193,142,27,103,193,149,27,103,193,156,27,103,193,163,27,103,193,170,27,103,193,177,27,103,5,168,0,0,5,168,0,0,5,168,0,0,255,255,255,255,255,255,255,255,193,30,26,11,255,255,255,255,193,9,246,113,193,16,246,113,193,23,246,113,193,30,246,113,255,255,255,255,193,37,246,113,193,44,246,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,51,246,113,5,168,0,0,194,5,241,240,194,5,20,241,193,58,246,113,193,72,246,113,193,79,246,113,193,86,246,113,255,255,255,255,193,93,246,113,193,100,246,113,193,107,246,113,255,255,255,255,193,114,246,113,193,121,246,113,193,135,246,113,193,149,246,113,193,156,246,113,193,163,246,113,193,170,246,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,232,249,194,5,11,250,194,5,44,250,194,5,44,250,194,5,77,250,194,5,110,250,194,5,143,250,194,5,176,250,5,170,0,0,5,170,0,0,5,170,0,0,194,5,209,250,194,5,242,250,5,172,0,0,5,172,0,0,5,172,0,0,133,5,72,122,133,5,74,122,133,5,76,122,3,5,78,122,133,5,78,122,3,5,80,122,133,5,80,122,3,5,82,122,133,5,82,122,133,5,84,122,133,5,86,122,133,5,88,122,133,5,90,122,133,5,92,122,3,5,94,122,133,5,94,122,133,5,96,122,133,5,98,122,133,5,100,122,133,5,102,122,197,130,182,2,3,5,18,122,3,5,24,122,255,255,255,255,255,255,255,255,5,174,0,0,5,176,0,0,193,30,22,12,193,37,22,12,5,5,116,13,197,194,65,0,197,226,232,2,155,5,38,122,155,5,40,122,165,5,42,122,155,5,44,122,158,5,46,122,155,5,48,122,155,5,50,122,166,5,52,122,155,5,54,122,155,5,56,122,160,5,58,122,160,5,60,122,160,5,62,122,160,5,64,122,160,5,66,122,155,5,68,122,155,5,70,122,160,5,72,122,155,5,74,122,158,5,76,122,165,5,78,122,165,5,80,122,162,5,82,122,160,5,84,122,158,5,86,122,160,5,88,122,160,5,90,122,160,5,92,122,160,5,94,122,166,5,102,122,160,174,0,0,160,176,0,0,197,98,131,0,197,194,131,0,197,34,132,0,197,163,131,0,197,3,132,0,197,34,193,0,197,226,192,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,2,51,1,197,66,50,1,197,130,50,1,197,66,51,1,197,194,50,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,66,55,1,194,5,22,228,197,131,56,1,193,9,51,101,193,16,51,101,193,23,51,101,193,30,51,101,193,37,51,101,193,44,51,101,193,51,51,101,193,58,51,101,193,65,51,101,193,72,51,101,193,79,51,101,193,86,51,101,193,93,51,101,193,100,51,101,193,107,51,101,193,114,51,101,193,121,51,101,193,128,51,101,193,135,51,101,193,142,51,101,193,149,51,101,193,156,51,101,193,163,51,101,193,170,51,101,194,5,65,229,194,5,98,229,193,177,51,101,193,184,51,101,194,5,55,228,194,5,55,228,194,5,88,228,194,5,88,228,194,5,88,228,194,5,121,228,194,5,121,228,194,5,121,228,194,5,154,228,194,5,154,228,194,5,187,228,194,5,187,228,194,5,220,228,194,5,220,228,194,5,220,228,194,5,253,228,194,5,32,229,194,5,131,229,255,255,255,255,255,255,255,255,193,44,60,7,193,51,60,7,193,58,60,7,193,65,60,7,193,72,60,7,193,79,60,7,193,86,60,7,193,93,60,7,193,100,60,7,193,107,60,7,193,114,60,7,193,121,60,7,193,128,60,7,193,135,60,7,193,142,60,7,255,255,255,255,197,2,160,1,197,2,162,1,197,2,122,1,197,194,119,1,197,66,121,1,197,226,165,1,197,162,167,1,197,98,97,1,197,162,170,1,197,66,171,1,197,130,171,1,197,2,172,1,197,194,174,1,197,98,176,1,197,226,177,1,197,226,179,1,197,98,180,1,197,2,92,1,197,98,181,1,197,98,182,1,197,162,182,1,197,34,185,1,197,66,94,1,197,162,186,1,197,226,187,1,197,2,190,1,197,130,190,1,197,2,98,1,197,66,98,1,197,98,184,1,197,98,0,0,197,162,0,0,197,162,65,1,197,34,74,1,197,98,75,1,197,66,82,1,197,98,85,1,197,162,87,1,197,162,88,1,197,226,103,1,197,130,106,1,197,2,113,1,197,130,115,1,197,194,151,1,197,194,152,1,197,66,163,1,197,98,177,1,197,98,179,1,197,162,187,1,197,130,189,1,197,226,0,0,197,98,1,0,197,226,1,0,197,226,132,1,197,98,133,1,197,162,137,1,197,34,138,1,197,194,140,1,197,66,141,1,197,2,107,1,197,130,107,1,197,2,116,1,197,130,116,1,197,2,96,1,197,34,1,0,197,162,1,0,197,34,2,0,197,98,2,0,197,162,63,1,197,226,63,1,197,162,64,1,197,34,65,1,197,162,67,1,197,34,68,1,197,98,73,1,197,162,73,1,197,98,74,1,197,226,74,1,197,162,75,1,197,34,76,1,197,130,81,1,197,194,81,1,197,130,82,1,197,226,84,1,197,162,85,1,197,34,86,1,197,226,86,1,197,34,87,1,197,226,87,1,197,98,88,1,197,226,88,1,197,98,89,1,197,162,144,1,197,34,145,1,197,130,148,1,197,2,149,1,5,5,22,107,5,5,26,107,5,5,126,107,5,5,128,107,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,42,11,5,5,156,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,56,107,194,5,62,232,194,5,29,232,194,5,95,232,194,5,175,240,194,5,175,240,194,5,175,240,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,194,5,241,240,193,112,173,113,194,5,175,240,194,5,29,232,193,163,52,9,193,170,52,9,193,21,123,11,193,28,123,11,193,35,123,11,193,42,123,11,194,5,62,232,255,255,255,255,193,233,201,124,193,247,201,124,193,254,201,124,193,7,202,124,193,14,202,124,193,21,202,124,193,28,202,124,193,35,202,124,193,42,202,124,193,56,202,124,255,255,255,255,194,5,128,232,194,5,95,232,5,5,50,5,255,255,255,255,255,255,255,255,193,240,201,124,193,49,202,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,250,152,103,193,3,153,103,193,10,153,103,193,17,153,103,193,24,153,103,193,31,153,103,193,38,153,103,193,45,153,103,193,52,153,103,193,59,153,103,193,66,153,103,193,73,153,103,193,80,153,103,193,87,153,103,193,94,153,103,193,101,153,103,193,136,153,103,193,143,153,103,193,150,153,103,193,157,153,103,193,164,153,103,193,171,153,103,193,178,153,103,193,185,153,103,193,227,153,103,193,234,153,103,193,241,153,103,255,255,255,255,255,255,255,255,194,5,254,238,194,5,221,238,194,5,188,238,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,194,5,33,239,194,5,66,239,193,100,61,9,193,16,22,9,5,5,88,7,193,23,32,7,5,5,50,7,193,30,112,7,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,255,255,255,255,255,255,255,255,194,5,99,239,194,5,132,239,194,5,165,239,194,5,198,239,194,5,231,239,193,23,22,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,229,120,5,5,231,120,5,5,233,120,5,5,235,120,194,5,10,240,194,5,10,240,194,5,10,240,194,5,76,240,194,5,109,240,194,5,142,240,194,5,43,240,193,2,237,120,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,16,96,7,193,51,112,7,5,5,90,104,5,5,94,104,5,5,98,104,5,5,100,104,5,5,102,104,5,5,104,104,5,5,106,104,5,5,108,104,5,5,110,104,197,2,193,1,5,5,112,104,5,5,114,104,5,5,116,104,5,5,120,104,5,5,122,104,5,5,124,104,5,5,128,104,197,194,193,1,5,5,130,104,5,5,132,104,197,2,194,1,5,5,134,104,5,5,136,104,5,5,138,104,5,5,140,104,5,5,142,104,5,5,160,104,5,5,162,104,194,5,175,240,5,5,144,104,5,5,158,104,5,5,170,104,5,5,58,105,5,5,60,105,5,5,62,105,5,5,64,105,5,5,66,105,5,5,68,105,5,5,70,105,5,5,72,105,5,5,74,105,255,255,255,255,5,5,76,105,5,5,78,105,5,5,80,105,5,5,82,105,5,5,84,105,5,5,86,105,5,5,88,105,255,255,255,255,5,5,92,105,255,255,255,255,255,255,255,255,255,255,255,255,5,5,96,105,5,5,98,105,5,5,100,105,5,5,102,105,255,255,255,255,255,255,255,255,194,5,175,240,5,5,104,105,5,5,106,105,5,5,108,105,5,5,60,106,5,5,62,106,5,5,64,106,5,5,66,106,5,5,68,106,5,5,70,106,5,5,72,106,5,5,74,106,5,5,76,106,255,255,255,255,5,5,78,106,5,5,80,106,5,5,82,106,5,5,84,106,5,5,86,106,5,5,88,106,5,5,92,106,255,255,255,255,5,5,94,106,197,130,196,1,255,255,255,255,5,5,96,106,197,66,195,1,255,255,255,255,5,5,32,106,5,5,34,106,255,255,255,255,255,255,255,255,194,5,175,240,255,255,255,255,5,5,100,106,5,5,102,106,5,5,64,107,5,5,66,107,5,5,68,107,5,5,70,107,5,5,72,107,5,5,74,107,5,5,76,107,5,5,78,107,5,5,80,107,255,255,255,255,5,5,82,107,5,5,84,107,5,5,86,107,5,5,88,107,5,5,90,107,5,5,92,107,5,5,94,107,255,255,255,255,5,5,96,107,5,5,108,107,255,255,255,255,5,5,98,107,5,5,100,107,5,5,102,107,5,5,104,107,5,5,106,107,255,255,255,255,255,255,255,255,194,5,175,240,5,5,110,107,5,5,112,107,5,5,114,107,5,5,56,108,5,5,58,108,5,5,60,108,5,5,62,108,5,5,64,108,5,5,66,108,5,5,68,108,5,5,70,108,5,5,72,108,255,255,255,255,5,5,74,108,5,5,76,108,5,5,78,108,5,5,80,108,5,5,82,108,5,5,84,108,5,5,88,108,255,255,255,255,5,5,90,108,5,5,92,108,255,255,255,255,5,5,94,108,5,5,98,108,5,5,100,108,5,5,102,108,5,5,104,108,255,255,255,255,255,255,255,255,194,5,175,240,5,5,106,108,5,5,108,108,5,5,110,108,5,5,60,111,5,5,62,111,5,5,64,111,5,5,66,111,5,5,68,111,5,5,70,111,5,5,72,111,5,5,74,111,5,5,76,111,255,255,255,255,5,5,78,111,5,5,80,111,5,5,82,111,5,5,84,111,5,5,86,111,5,5,88,111,5,5,90,111,5,5,92,111,5,5,94,111,5,5,106,111,255,255,255,255,5,5,96,111,5,5,98,111,5,5,100,111,5,5,102,111,5,5,104,111,255,255,255,255,255,255,255,255,194,5,175,240,5,5,110,111,5,5,118,111,201,0,14,0,193,212,40,118,193,219,40,118,193,226,40,118,193,240,40,118,193,247,40,118,193,254,40,118,193,7,41,118,193,14,41,118,193,28,41,118,193,35,41,118,193,42,41,118,193,49,41,118,193,56,41,118,193,63,41,118,193,70,41,118,193,77,41,118,193,91,41,118,193,98,41,118,193,105,41,118,193,126,41,118,194,5,175,240,193,133,41,118,193,140,41,118,193,147,41,118,193,154,41,118,193,161,41,118,201,192,69,1,193,175,41,118,201,160,70,1,193,189,41,118,201,128,71,1,201,96,72,1,193,2,63,117,193,9,63,117,193,16,63,117,193,23,63,117,193,30,63,117,193,37,63,117,194,5,175,240,5,5,65,117,32,5,65,117,5,5,67,117,5,5,69,117,32,5,69,117,5,5,71,117,32,5,71,117,5,5,73,117,32,5,73,117,193,2,75,117,193,9,75,117,193,16,75,117,193,23,75,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,142,118,11,193,149,118,11,193,156,118,11,193,163,118,11,193,14,7,117,193,21,7,117,193,28,7,117,193,35,7,117,193,219,6,117,193,233,6,117,193,49,7,117,193,56,7,117,193,63,7,117,193,70,7,117,193,77,7,117,193,84,7,117,193,91,7,117,193,98,7,117,193,105,7,117,193,112,7,117,193,119,7,117,193,126,7,117,193,133,7,117,193,140,7,117,193,147,7,117,193,154,7,117,193,42,7,117,194,5,175,240,255,255,255,255,255,255,255,255,255,255,255,255,193,16,36,9,193,23,36,9,193,128,102,11,193,135,102,11,193,142,102,11,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,5,5,45,118,32,5,45,118,193,9,47,118,193,16,47,118,193,23,47,118,193,30,47,118,193,37,47,118,193,44,47,118,194,5,175,240,5,5,49,118,32,5,49,118,193,9,51,118,193,16,51,118,193,23,51,118,193,30,51,118,193,44,51,118,193,51,51,118,193,2,51,118,193,37,51,118,193,28,43,118,193,2,47,118,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,193,240,168,113,193,247,168,113,193,254,168,113,194,5,175,240,193,233,122,11,193,240,122,11,193,233,168,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,231,171,113,193,105,171,113,193,112,171,113,193,119,171,113,193,9,170,113,193,149,52,9,193,156,52,9,193,254,122,11,193,219,61,9,194,5,53,241,194,5,175,240,194,5,129,242,194,5,162,242,193,247,122,11,193,203,171,113,194,5,208,240,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,16,170,113,193,7,123,11,193,126,171,113,193,14,123,11,193,226,61,9,193,233,61,9,193,84,175,113,193,91,175,113,193,98,175,113,193,105,175,113,193,112,175,113,193,119,175,113,193,126,175,113,193,133,175,113,193,140,175,113,194,5,175,240,193,147,175,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,255,255,255,255,193,254,178,113,193,7,179,113,193,14,179,113,193,21,179,113,193,28,179,113,193,35,179,113,193,42,179,113,255,255,255,255,193,49,179,113,193,56,179,113,255,255,255,255,193,63,179,113,193,70,179,113,193,77,179,113,193,84,179,113,193,91,179,113,255,255,255,255,194,5,175,240,194,5,175,240,193,98,179,113,193,119,179,113,193,126,179,113,193,252,181,113,193,5,182,113,193,12,182,113,194,5,208,240,194,5,241,240,194,5,20,241,194,5,175,240,193,140,181,113,193,161,181,113,193,9,180,113,193,16,180,113,193,177,52,9,193,184,52,9,193,49,123,11,193,63,123,11,193,70,123,11,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,56,123,11,193,77,123,11,255,255,255,255,193,84,123,11,194,5,53,241,193,168,181,113,194,5,241,240,194,5,20,241,193,217,184,113,194,5,175,240,193,98,184,113,193,105,184,113,193,91,123,11,193,9,183,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,175,240,193,98,123,11,193,191,52,9,193,198,52,9,193,105,123,11,193,112,123,11,193,119,123,11,193,126,123,11,193,133,123,11,193,140,123,11,193,147,123,11,193,154,123,11,193,161,123,11,193,168,123,11,193,175,123,11,193,182,123,11,193,189,123,11,193,196,123,11,193,203,123,11,193,210,123,11,193,217,123,11,193,224,123,11,193,231,123,11,193,238,123,11,5,112,187,113,5,120,187,113,5,112,189,113,5,112,191,113,5,112,196,113,5,112,198,113,255,255,255,255,255,255,255,255,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,193,86,203,113,193,79,203,113,193,93,203,113,193,56,204,113,194,5,241,240,194,5,20,241,193,63,204,113,193,70,204,113,193,77,204,113,193,84,204,113,193,91,204,113,193,98,204,113,193,105,204,113,193,112,204,113,193,119,204,113,193,126,204,113,194,5,175,240,193,114,203,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,194,5,241,240,194,5,20,241,193,140,210,113,194,5,175,240,193,252,123,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,240,205,113,193,254,205,113,193,14,206,113,194,5,175,240,193,233,52,9,193,5,124,11,193,254,61,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,5,5,200,116,5,5,202,116,5,5,204,116,5,5,206,116,193,2,208,116,193,9,208,116,193,16,208,116,193,23,208,116,193,16,198,116,194,5,175,240,193,107,208,116,194,5,208,240,194,5,208,240,194,5,208,240,194,5,241,240,194,5,20,241,32,5,202,116,32,5,200,116,46,5,202,116,32,5,204,116,32,5,206,116,193,2,102,11,194,5,241,240,194,5,20,241,194,5,175,240,194,5,208,240,193,142,228,113,193,149,228,113,32,5,226,113,46,5,226,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,208,240,194,5,208,240,194,5,241,240,194,5,20,241,5,5,12,104,5,5,14,104,5,5,16,104,5,5,28,104,5,5,30,104,5,5,32,104,5,5,34,104,5,5,36,104,5,5,40,104,5,5,44,104,5,5,46,104,5,5,48,104,5,5,50,104,5,5,54,104,5,5,56,104,5,5,58,104,5,5,60,104,5,5,62,104,5,5,64,104,5,5,66,104,5,5,70,104,5,5,72,104,5,5,74,104,5,5,76,104,5,5,78,104,5,5,84,104,5,5,86,104,5,5,88,104,5,5,6,105,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,5,5,8,105,5,5,10,105,5,5,12,105,5,5,14,105,5,5,16,105,5,5,18,105,5,5,20,105,5,5,24,105,255,255,255,255,255,255,255,255,5,5,28,105,5,5,30,105,255,255,255,255,255,255,255,255,5,5,32,105,5,5,34,105,5,5,36,105,5,5,38,105,5,5,40,105,5,5,42,105,5,5,44,105,5,5,46,105,5,5,48,105,5,5,50,105,5,5,52,105,5,5,54,105,5,5,56,105,255,255,255,255,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,5,5,16,106,5,5,18,106,5,5,26,106,5,5,28,106,5,5,10,106,5,5,12,106,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,30,106,5,5,20,106,255,255,255,255,255,255,255,255,5,5,14,106,5,5,22,106,5,5,38,106,5,5,40,106,5,5,42,106,5,5,44,106,5,5,46,106,5,5,48,106,5,5,50,106,5,5,52,106,5,5,54,106,5,5,56,106,5,5,58,106,255,255,255,255,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,5,5,8,107,5,5,10,107,5,5,12,107,5,5,14,107,5,5,16,107,5,5,18,107,5,5,20,107,5,5,24,107,5,5,28,107,255,255,255,255,5,5,30,107,5,5,32,107,5,5,34,107,255,255,255,255,5,5,36,107,5,5,38,107,5,5,40,107,5,5,42,107,5,5,44,107,5,5,46,107,5,5,48,107,5,5,50,107,5,5,52,107,5,5,54,107,5,5,58,107,5,5,60,107,5,5,62,107,255,255,255,255,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,5,5,6,108,5,5,8,108,5,5,10,108,5,5,12,108,5,5,14,108,5,5,16,108,5,5,18,108,5,5,22,108,255,255,255,255,255,255,255,255,5,5,26,108,5,5,28,108,255,255,255,255,255,255,255,255,5,5,30,108,5,5,32,108,5,5,34,108,5,5,36,108,5,5,38,108,5,5,40,108,5,5,42,108,5,5,44,108,5,5,46,108,5,5,48,108,5,5,50,108,5,5,52,108,5,5,54,108,194,5,208,240,194,5,208,240,194,5,241,240,194,5,20,241,194,5,241,240,5,5,6,110,5,5,8,110,5,5,10,110,5,5,12,110,5,5,14,110,5,5,16,110,5,5,18,110,5,5,22,110,255,255,255,255,5,5,26,110,5,5,28,110,5,5,30,110,255,255,255,255,5,5,32,110,5,5,34,110,5,5,36,110,5,5,38,110,5,5,40,110,5,5,42,110,5,5,44,110,5,5,46,110,5,5,48,110,5,5,52,110,5,5,54,110,5,5,58,110,5,5,60,110,5,5,62,110,5,5,116,111,194,5,208,240,194,5,241,240,194,5,20,241,5,5,46,11,5,5,6,111,5,5,8,111,5,5,10,111,5,5,12,111,5,5,14,111,5,5,16,111,5,5,18,111,5,5,22,111,255,255,255,255,5,5,26,111,5,5,28,111,5,5,30,111,255,255,255,255,5,5,32,111,5,5,34,111,5,5,36,111,5,5,38,111,5,5,40,111,5,5,42,111,5,5,44,111,5,5,46,111,5,5,48,111,5,5,50,111,5,5,52,111,5,5,54,111,5,5,56,111,5,5,58,111,194,5,241,240,194,5,208,240,194,5,241,240,194,5,20,241,5,5,118,112,5,5,6,112,5,5,8,112,5,5,10,112,5,5,12,112,5,5,16,112,5,5,18,112,5,5,20,112,5,5,24,112,255,255,255,255,5,5,28,112,5,5,30,112,5,5,32,112,255,255,255,255,5,5,34,112,5,5,36,112,5,5,38,112,5,5,40,112,5,5,42,112,5,5,44,112,5,5,46,112,5,5,48,112,5,5,50,112,5,5,52,112,5,5,54,112,5,5,56,112,5,5,58,112,5,5,60,112,255,255,255,255,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,5,5,6,113,5,5,8,113,5,5,10,113,5,5,12,113,5,5,14,113,5,5,16,113,5,5,18,113,5,5,20,113,5,5,22,113,5,5,24,113,5,5,26,113,5,5,28,113,5,5,30,113,5,5,32,113,5,5,34,113,5,5,36,113,5,5,38,113,5,5,40,113,255,255,255,255,255,255,255,255,255,255,255,255,5,5,42,113,5,5,44,113,5,5,46,113,5,5,48,113,5,5,50,113,5,5,52,113,194,5,208,240,194,5,208,240,194,5,241,240,194,5,152,241,194,5,20,241,201,128,64,1,193,16,40,118,201,96,65,1,193,30,40,118,201,64,66,1,193,44,40,118,201,32,67,1,193,58,40,118,201,0,68,1,193,72,40,118,193,79,40,118,193,86,40,118,201,224,68,1,193,100,40,118,193,107,40,118,193,128,40,118,193,135,40,118,193,142,40,118,193,149,40,118,193,156,40,118,193,163,40,118,193,170,40,118,193,177,40,118,193,184,40,118,193,191,40,118,193,198,40,118,193,205,40,118,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,194,5,208,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,2,36,9,193,9,36,9,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,208,240,194,5,241,240,194,5,185,241,194,5,20,241,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,206,192,233,0,194,5,208,240,194,5,241,240,194,5,20,241,193,84,245,113,193,91,245,113,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,194,5,208,240,194,5,241,240,194,5,20,241,193,9,166,113,193,16,166,113,193,23,166,113,193,30,166,113,193,37,166,113,193,44,166,113,193,51,166,113,193,58,166,113,193,65,166,113,193,72,166,113,193,79,166,113,193,86,166,113,193,93,166,113,193,100,166,113,193,107,166,113,193,114,166,113,193,121,166,113,193,128,166,113,193,135,166,113,193,142,166,113,193,149,166,113,193,156,166,113,193,163,166,113,197,130,199,1,193,170,166,113,197,194,199,1,193,177,166,113,193,184,166,113,193,191,166,113,194,5,208,240,194,5,241,240,194,5,20,241,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,194,5,208,240,194,5,241,240,194,5,20,241,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,194,5,241,240,194,5,208,240,194,5,241,240,194,5,20,241,255,255,255,255,193,16,178,113,193,23,178,113,193,30,178,113,193,37,178,113,193,44,178,113,193,51,178,113,193,58,178,113,193,72,178,113,255,255,255,255,255,255,255,255,193,86,178,113,193,93,178,113,255,255,255,255,255,255,255,255,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,160,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,193,112,184,113,193,119,184,113,193,126,184,113,193,133,184,113,193,140,184,113,193,147,184,113,193,154,184,113,193,161,184,113,193,168,184,113,201,192,26,2,193,182,184,113,193,189,184,113,193,196,184,113,193,203,184,113,193,210,184,113,194,5,208,240,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,5,5,196,113,5,5,198,113,193,2,200,113,193,9,200,113,255,255,255,255,255,255,255,255,201,224,28,2,201,224,29,2,193,30,200,113,193,37,200,113,194,5,208,240,194,5,241,240,194,5,20,241,193,44,200,113,194,5,208,240,193,205,52,9,193,212,52,9,193,245,123,11,193,189,202,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,193,247,205,113,193,7,206,113,193,21,206,113,193,28,206,113,193,35,206,113,193,42,206,113,193,49,206,113,193,56,206,113,193,63,206,113,193,70,206,113,193,77,206,113,193,84,206,113,193,91,206,113,193,98,206,113,193,105,206,113,201,224,30,2,255,255,255,255,193,119,206,113,193,126,206,113,255,255,255,255,255,255,255,255,194,5,241,240,194,5,208,240,193,133,206,113,193,140,206,113,193,100,205,113,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,193,84,249,113,193,91,249,113,193,98,249,113,193,105,249,113,193,112,249,113,193,119,249,113,193,126,249,113,193,133,249,113,255,255,255,255,193,140,249,113,193,147,249,113,193,154,249,113,193,161,249,113,194,5,208,240,194,5,241,240,194,5,20,241,193,168,249,113,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,255,255,255,255,193,77,5,117,193,91,5,117,193,105,5,117,193,119,5,117,193,133,5,117,193,147,5,117,193,161,5,117,193,168,5,117,193,175,5,117,193,182,5,117,193,189,5,117,193,196,5,117,194,5,241,240,194,5,208,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,5,241,240,5,5,32,109,255,255,255,255,5,5,8,109,5,5,10,109,5,5,12,109,5,5,14,109,5,5,16,109,5,5,18,109,255,255,255,255,255,255,255,255,255,255,255,255,5,5,20,109,5,5,22,109,5,5,24,109,255,255,255,255,201,0,10,0,5,5,28,109,5,5,30,109,5,5,34,109,255,255,255,255,255,255,255,255,255,255,255,255,5,5,36,109,5,5,38,109,255,255,255,255,5,5,70,109,255,255,255,255,5,5,40,109,5,5,42,109,5,5,112,116,5,5,116,116,5,5,120,116,5,5,126,116,5,5,130,116,5,5,134,116,5,5,138,116,5,5,142,116,5,5,146,116,197,194,119,2,5,112,120,116,5,5,10,116,5,5,124,116,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,201,70,231,0,5,5,168,116,5,5,170,116,5,5,176,116,5,5,178,116,5,5,180,116,5,5,182,116,5,5,184,116,5,5,186,116,5,5,188,116,5,5,190,116,5,5,192,116,5,5,194,116,194,5,241,240,194,5,20,241,193,51,85,117,193,100,85,117,193,107,85,117,193,114,85,117,193,121,85,117,201,32,241,0,193,135,85,117,193,170,85,117,193,177,85,117,193,184,85,117,193,191,85,117,32,5,87,117,5,5,87,117,193,23,89,117,193,37,89,117,193,51,89,117,193,72,89,117,193,107,89,117,193,135,89,117,193,44,89,117,193,149,89,117,193,121,89,117,194,5,241,240,194,5,126,245,194,5,20,241,5,5,91,117,193,2,93,117,193,54,81,117,193,82,81,117,193,110,81,117,193,30,85,117,197,35,125,2,194,5,241,240,194,5,218,241,194,5,20,241,5,5,233,113,193,2,235,113,193,9,235,113,193,16,235,113,193,23,235,113,193,30,235,113,193,37,235,113,5,5,237,113,193,9,239,113,193,16,239,113,193,23,239,113,193,30,239,113,193,37,239,113,193,44,239,113,193,51,239,113,193,58,239,113,193,65,239,113,193,72,239,113,193,79,239,113,193,86,239,113,193,93,239,113,193,100,239,113,5,5,241,113,193,9,243,113,193,23,243,113,193,44,243,113,193,65,243,113,193,79,243,113,193,86,243,113,193,9,162,113,193,16,162,113,193,23,162,113,193,30,162,113,193,37,162,113,193,44,162,113,193,51,162,113,193,65,162,113,193,72,162,113,193,79,162,113,193,86,162,113,194,5,241,240,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,194,5,241,240,194,5,20,241,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,194,5,241,240,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,194,5,241,240,194,5,20,241,193,182,202,113,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,193,98,208,113,193,105,208,113,193,112,208,113,193,119,208,113,193,126,208,113,193,133,208,113,193,140,208,113,255,255,255,255,255,255,255,255,193,147,208,113,193,161,208,113,193,168,208,113,193,175,208,113,194,5,241,240,194,5,20,241,5,5,249,116,5,5,251,116,193,2,253,116,5,5,213,116,193,9,253,116,193,16,253,116,32,5,241,116,32,5,243,116,32,5,247,116,32,5,251,116,32,5,211,116,32,5,215,116,32,5,219,116,32,5,223,116,32,5,227,116,32,5,229,116,32,5,233,116,46,5,241,116,46,5,243,116,46,5,247,116,46,5,251,116,32,5,237,116,194,5,241,240,194,5,20,241,194,5,195,242,193,23,253,116,193,58,102,11,193,65,102,11,193,72,102,11,193,30,253,116,193,79,102,11,193,86,102,11,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,255,255,255,255,193,77,230,113,193,84,230,113,255,255,255,255,193,91,230,113,193,98,230,113,194,5,241,240,194,5,20,241,193,105,230,113,193,9,229,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,22,105,5,5,26,105,5,5,120,105,5,5,122,105,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,90,105,5,5,94,105,5,5,150,13,5,5,152,13,5,5,6,16,5,5,8,16,5,5,10,16,5,5,12,16,5,5,14,16,5,5,16,16,193,198,85,12,5,5,154,13,5,5,136,105,5,5,38,11,194,5,53,241,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,194,5,86,241,194,5,119,241,5,5,24,106,5,5,8,106,5,5,6,106,5,5,90,106,5,5,40,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,161,161,113,193,168,161,113,193,175,161,113,193,28,161,113,193,35,161,113,193,42,161,113,193,49,161,113,193,56,161,113,193,63,161,113,193,70,161,113,193,77,161,113,193,86,52,9,194,5,251,241,193,182,161,113,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,177,246,113,193,184,246,113,193,191,246,113,193,198,246,113,193,205,246,113,193,212,246,113,193,219,246,113,193,226,246,113,193,233,246,113,193,240,246,113,193,247,246,113,193,254,246,113,193,7,247,113,193,21,247,113,193,28,247,113,193,35,247,113,193,42,247,113,193,49,247,113,193,65,246,113,193,142,246,113,193,128,246,113,193,14,247,113,255,255,255,255,255,255,255,255,194,5,30,242,194,5,63,242,194,5,96,242,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,56,247,113,201,224,23,0,201,192,44,0,201,160,65,0,201,128,86,0,201,96,107,0,5,5,132,114,5,5,86,13,194,5,7,243,194,5,40,243,194,5,73,243,194,5,106,243,194,5,139,243,194,5,172,243,201,64,128,0,194,5,228,242,5,5,50,11,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,52,11,5,5,54,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,201,32,129,0,201,96,149,0,201,160,169,0,201,224,189,0,201,32,210,0,255,255,255,255,5,5,88,13,255,255,255,255,194,5,238,243,194,5,17,244,194,5,50,244,194,5,83,244,194,5,116,244,201,96,230,0,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,197,130,50,2,197,162,52,2,5,5,6,115,5,5,30,115,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,201,32,74,1,201,64,96,1,193,140,133,115,193,147,133,115,201,96,118,1,193,161,133,115,201,128,140,1,201,160,162,1,193,182,133,115,193,189,133,115,194,5,182,244,193,196,133,115,194,5,215,244,193,203,133,115,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,210,133,115,193,217,133,115,193,2,100,13,193,2,56,11,193,9,56,11,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,194,5,27,245,194,5,60,245,194,5,93,245,5,5,120,11,5,5,42,9,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,193,121,18,117,193,128,18,117,193,135,18,117,193,142,18,117,193,149,18,117,193,156,18,117,193,163,18,117,193,170,18,117,193,177,18,117,5,5,20,117,5,5,22,117,193,2,24,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,24,117,193,16,24,117,193,23,24,117,193,30,24,117,193,37,24,117,193,44,24,117,193,51,24,117,193,58,24,117,193,65,24,117,194,5,14,247,194,5,47,247,194,5,80,247,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,194,5,113,247,194,5,146,247,194,5,179,247,194,5,212,247,194,5,245,247,194,5,24,248,194,5,57,248,193,2,128,11,193,9,128,11,193,16,128,11,193,23,128,11,193,30,128,11,193,207,242,12,193,214,242,12,193,221,242,12,193,228,242,12,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,255,255,255,255,255,255,255,255,255,255,255,255,194,5,245,247,194,5,113,247,194,5,179,247,194,5,212,247,194,5,24,248,194,5,57,248,194,5,146,247,193,70,244,123,193,77,244,123,193,84,244,123,193,91,244,123,193,98,244,123,193,37,100,13,193,44,100,13,255,255,255,255,255,255,255,255,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,194,5,90,248,194,5,123,248,194,5,156,248,194,5,189,248,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,174,13,193,9,78,13,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,194,5,222,248,194,5,255,248,194,5,34,249,194,5,67,249,194,5,100,249,194,5,133,249,5,5,44,5,5,5,110,13,197,66,65,0,5,5,112,13,197,130,65,0,5,5,114,13,32,5,76,13,193,16,78,13,198,65,124,0,198,225,180,0,198,1,181,0,5,5,104,13,197,130,227,2,5,5,194,10,193,23,78,13,193,30,78,13,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,194,5,186,251,255,255,255,255,255,255,255,255,16,5,0,4,5,5,34,7,5,5,24,9,5,5,192,10,193,182,74,13,5,5,102,13,197,194,200,2,5,5,0,19,5,5,62,10,5,5,64,10,5,5,66,10,5,5,68,10,5,5,70,10,5,5,72,10,5,5,74,10,5,5,76,10,5,5,78,10,5,5,80,10,5,5,76,13,193,2,78,13,5,5,82,10,5,5,84,10,5,5,86,10,5,5,88,10,5,5,90,10,5,5,92,10,5,5,94,10,5,5,96,10,5,5,42,5,5,5,132,9,5,5,134,9,5,5,136,9,24,5,0,4,193,9,254,118,193,16,254,118,193,23,254,118,193,30,254,118,193,37,254,118,193,44,254,118,193,51,254,118,193,58,254,118,193,65,254,118,193,72,254,118,193,79,254,118,193,86,254,118,193,93,254,118,193,100,254,118,193,107,254,118,193,114,254,118,193,121,254,118,193,128,254,118,193,135,254,118,193,142,254,118,193,149,254,118,193,156,254,118,193,163,254,118,193,170,254,118,193,177,254,118,193,184,254,118,193,2,162,9,193,9,162,9,255,255,255,255,255,255,255,255,255,255,255,255,5,5,204,10,5,5,208,10,5,5,210,10,5,5,182,10,5,5,149,12,5,5,164,9,5,5,166,9,197,98,3,0,197,130,3,0,197,66,3,0,5,5,146,10,5,5,120,10,5,5,184,10,5,5,186,10,5,5,130,10,5,5,46,7,5,5,206,10,5,5,132,10,193,2,145,12,5,5,34,5,5,5,202,10,5,5,64,9,5,5,66,9,197,36,48,0,5,5,68,9,5,5,70,9,5,5,72,9,5,5,74,9,5,5,76,9,5,5,78,9,5,5,80,9,24,5,0,4,32,5,64,10,46,5,70,10,46,5,72,10,32,5,74,10,32,5,76,10,5,5,36,7,5,5,38,7,46,5,146,9,46,5,148,9,32,5,8,5,32,5,8,5,32,5,8,5,32,5,8,5,30,5,10,5,30,5,10,5,30,5,10,5,38,5,0,6,16,5,34,7,32,5,0,8,255,255,255,255,30,5,42,7,38,5,54,7,38,5,98,7,32,5,90,7,32,5,26,5,30,5,142,9,30,5,144,9,30,5,150,9,30,5,152,9,30,5,82,10,30,5,84,10,46,5,150,10,32,5,126,10,159,5,0,42,159,5,0,44,159,5,0,46,159,5,0,48,159,5,0,50,159,5,0,52,159,5,0,54,159,5,0,56,159,5,0,58,159,5,0,60,159,5,0,62,159,5,0,64,159,5,0,66,159,5,0,68,159,5,0,70,159,5,0,72,164,5,0,74,159,5,0,76,159,5,0,78,159,5,0,80,159,5,0,82,159,5,0,84,164,5,0,86,159,5,0,88,159,5,0,90,159,5,0,92,32,5,146,9,32,5,140,10,32,5,148,9,32,5,10,12,16,5,10,5,255,255,255,255,16,5,90,7,32,5,120,9,32,5,150,10,32,5,138,13,32,5,152,10,32,5,144,10,32,5,106,9,16,5,142,9,16,5,144,9,32,5,128,10,16,5,121,12,16,5,0,6,32,5,14,5,16,5,0,8,32,5,138,10,202,224,246,2,202,1,247,2,202,34,247,2,202,67,247,2,202,100,247,2,202,133,247,2,202,166,247,2,202,199,247,2,202,232,247,2,202,9,248,2,16,5,54,7,16,5,42,7,32,5,129,12,16,5,131,12,32,5,133,12,16,5,98,7,193,2,18,5,193,9,234,118,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,5,5,42,10,5,5,44,10,5,5,46,10,5,5,48,10,5,5,50,10,5,5,52,10,5,5,54,10,5,5,56,10,5,5,58,10,5,5,60,10,5,5,82,9,5,5,84,9,5,5,86,9,5,5,88,9,5,5,102,7,193,9,224,97,5,5,18,9,5,5,28,9,5,5,8,7,5,5,30,9,5,5,6,7,5,5,48,7,5,5,168,10,5,5,170,10,5,5,172,10,5,5,116,10,5,5,30,5,5,5,32,5,5,5,20,9,5,5,90,9,5,5,104,10,5,5,124,10,5,5,40,5,5,5,10,7,5,5,130,9,5,5,36,5,5,5,250,10,5,5,252,10,5,5,254,10,5,5,2,11,5,5,4,11,5,5,52,7,5,5,142,10,5,5,174,10,5,5,12,7,5,5,122,10,5,5,14,7,5,5,16,7,193,56,202,12,193,63,202,12,5,5,148,10,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,212,10,5,5,214,10,5,5,22,10,5,5,24,10,5,5,26,10,5,5,28,10,5,5,216,10,5,5,218,10,5,5,220,10,5,5,30,10,5,5,32,10,5,5,222,10,5,5,34,10,5,5,36,10,5,5,224,10,5,5,226,10,5,5,228,10,5,5,230,10,5,5,232,10,5,5,234,10,5,5,236,10,5,5,238,10,5,5,240,10,5,5,38,5,5,5,116,7,5,5,94,9,5,5,242,10,5,5,244,10,5,5,38,10,5,5,40,10,5,5,246,10,5,5,248,10,5,5,46,5,16,5,6,122,158,5,6,122,16,5,8,122,158,5,8,122,16,5,10,122,158,5,10,122,16,5,14,122,158,5,14,122,16,5,16,122,158,5,16,122,152,5,18,122,197,162,185,2,144,5,20,122,197,130,188,2,152,5,22,122,197,162,193,2,152,5,24,122,197,34,196,2,144,5,26,122,197,2,197,2,144,5,28,122,197,226,198,2,152,5,30,122,197,130,200,2,152,5,32,122,197,226,201,2,144,5,34,122,197,98,202,2,144,5,36,122,197,162,203,2,144,5,38,122,152,5,72,122,144,5,74,122,144,5,76,122,16,5,78,122,158,5,78,122,16,5,80,122,158,5,80,122,16,5,82,122,156,5,82,122,152,5,84,122,151,5,86,122,152,5,88,122,152,5,90,122,152,5,92,122,16,5,94,122,152,5,94,122,158,5,96,122,158,5,98,122,155,5,100,122,155,5,102,122,197,194,182,2,16,5,18,122,16,5,24,122,197,2,236,2,197,66,236,2,197,130,236,2,197,194,236,2,5,5,48,5,5,5,118,13,5,5,120,13,197,2,66,0,197,2,198,2,32,5,186,9,160,5,24,9,160,5,70,10,160,5,72,10,158,5,34,7,160,5,48,5,166,5,100,122,23,5,6,122,23,5,8,122,23,5,10,122,23,5,14,122,23,5,16,122,23,5,78,122,23,5,80,122,22,5,82,122,23,5,42,122,160,5,118,13,165,5,6,122,165,5,8,122,165,5,10,122,165,5,14,122,165,5,16,122,160,5,18,122,155,5,20,122,160,5,22,122,160,5,24,122,152,5,26,122,155,5,28,122,160,5,30,122,160,5,32,122,155,5,34,122,155,5,36,122,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,193,247,151,123,193,233,151,123,193,254,151,123,193,240,151,123,193,14,152,123,193,21,152,123,193,28,152,123,193,35,152,123,193,42,152,123,193,49,152,123,193,56,152,123,193,63,152,123,193,70,152,123,193,77,152,123,193,9,151,123,193,16,151,123,193,23,151,123,193,30,151,123,193,44,151,123,193,37,151,123,193,9,32,7,193,2,22,9,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,5,5,72,120,5,5,74,120,193,16,32,7,193,9,22,9,193,23,112,7,32,5,26,120,32,5,38,120,32,5,50,120,197,66,171,2,197,130,171,2,197,194,171,2,197,2,172,2,197,66,172,2,197,130,172,2,197,194,172,2,197,2,173,2,197,66,173,2,197,130,173,2,197,194,173,2,197,2,174,2,197,66,174,2,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,193,114,172,17,193,121,172,17,193,128,172,17,193,135,172,17,193,142,172,17,193,149,172,17,193,156,172,17,193,163,172,17,193,170,172,17,193,177,172,17,5,112,0,21,5,112,0,23,5,112,0,25,193,30,32,7,193,30,22,9,193,44,128,11,193,51,128,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,197,163,2,0,197,226,54,0,197,35,55,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,5,5,57,9,5,5,62,7,5,5,12,9,5,5,64,7,5,5,66,7,5,5,68,7,5,5,70,7,5,5,110,7,5,5,59,9,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,122,16,5,5,124,16,5,5,126,16,5,5,128,16,5,5,130,16,5,5,132,16,5,5,134,16,5,5,136,16,5,5,138,16,5,5,140,16,5,5,142,16,255,255,255,255,255,255,255,255,255,255,255,255,193,210,41,118,193,217,41,118,201,64,73,1,193,231,41,118,193,238,41,118,193,114,40,118,193,121,40,118,193,233,40,118,193,21,41,118,193,84,41,118,193,112,41,118,193,119,41,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,16,61,9,193,23,61,9,193,16,16,9,193,2,80,7,193,30,52,9,193,37,52,9,193,58,51,118,193,30,61,9,193,37,61,9,193,44,61,9,193,51,61,9,193,58,61,9,193,65,61,9,193,9,80,7,193,44,52,9,193,51,52,9,193,72,61,9,193,79,61,9,193,86,61,9,193,93,61,9,255,255,255,255,5,5,94,13,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,2,122,11,193,9,122,11,193,58,56,119,193,86,56,119,193,93,56,119,193,65,56,119,193,79,56,119,193,100,56,119,5,5,58,119,5,112,58,119,5,120,58,119,5,112,20,119,5,115,40,119,5,5,82,7,5,5,84,7,5,5,86,7,197,194,170,2,197,2,171,2,197,130,170,2,193,2,18,119,5,5,42,119,193,16,56,119,193,2,14,119,5,5,28,119,193,9,48,119,193,30,56,119,193,44,56,119,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,3,88,12,255,255,255,255,255,255,255,255,255,255,255,255,193,9,96,7,193,2,112,7,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,193,205,160,113,193,212,160,113,193,219,160,113,193,226,160,113,193,233,160,113,193,240,160,113,193,247,160,113,193,254,160,113,193,7,161,113,193,14,161,113,193,21,161,113,193,84,161,113,193,91,161,113,193,98,161,113,193,105,161,113,193,112,161,113,193,79,52,9,193,37,112,7,193,9,160,113,193,9,100,13,193,16,100,13,193,119,161,113,193,189,161,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,212,61,9,193,135,52,9,193,142,52,9,193,44,112,7,193,14,97,117,193,105,97,117,193,112,97,117,193,240,96,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,32,237,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,193,250,87,12,193,9,16,9,193,129,244,118,193,248,244,118,193,57,245,118,193,64,245,118,193,71,245,118,193,78,245,118,193,85,245,118,193,92,245,118,193,87,251,118,193,94,251,118,193,101,251,118,193,108,251,118,193,115,251,118,193,122,251,118,193,129,251,118,193,136,251,118,193,143,251,118,5,5,38,104,5,5,42,104,5,5,182,104,5,5,184,104,5,5,32,9,5,5,34,9,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,28,11,5,5,84,13,5,5,10,104,5,5,18,104,5,5,20,104,5,5,22,104,5,5,24,104,5,5,26,104,5,5,92,104,5,5,80,104,5,5,126,104,5,5,68,104,5,5,82,104,5,5,146,104,5,5,96,104,5,5,118,104,193,91,9,117,193,98,9,117,193,49,9,117,193,56,9,117,193,63,9,117,193,70,9,117,193,105,9,117,193,177,8,117,193,212,8,117,193,65,8,117,193,72,8,117,193,79,8,117,193,86,8,117,193,219,8,117,193,7,9,117,193,28,9,117,193,35,9,117,193,233,8,117,193,240,8,117,193,112,9,117,193,128,118,11,193,135,118,11,193,30,36,9,193,37,36,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,26,117,193,16,26,117,193,23,26,117,193,30,26,117,193,37,26,117,193,44,26,117,193,51,26,117,193,58,26,117,193,65,26,117,193,72,26,117,193,79,26,117,193,86,26,117,193,93,26,117,193,100,26,117,193,107,26,117,193,114,26,117,193,121,26,117,193,128,26,117,193,135,26,117,193,142,26,117,193,149,26,117,5,5,38,9,5,5,40,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,44,9,5,5,46,9,5,5,104,11,5,5,106,11,5,5,108,11,5,5,110,11,193,131,81,117,193,138,81,117,193,142,85,117,193,149,85,117,193,156,85,117,193,163,85,117,193,79,89,117,193,86,89,117,193,93,89,117,193,100,89,117,193,93,79,117,193,191,79,117,193,65,85,117,193,72,85,117,193,189,80,117,193,40,81,117,193,140,39,118,193,147,39,118,193,154,39,118,193,161,39,118,193,168,39,118,193,175,39,118,193,182,39,118,193,189,39,118,193,196,39,118,193,203,39,118,193,210,39,118,193,217,39,118,193,224,39,118,193,231,39,118,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,193,16,122,11,193,58,52,9,193,65,52,9,193,72,52,9,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,193,168,147,17,193,175,147,17,193,182,147,17,193,189,147,17,193,196,147,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,65,122,11,193,72,122,11,193,79,122,11,193,86,122,11,193,93,122,11,193,100,122,11,193,93,52,9,193,100,52,9,193,107,122,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,193,107,52,9,193,114,52,9,193,30,122,11,193,37,122,11,193,44,122,11,193,51,122,11,193,58,122,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,206,192,236,0,206,192,236,0,206,192,236,0,206,192,236,0,206,192,236,0,193,23,223,113,193,30,223,113,193,37,223,113,193,44,223,113,193,51,223,113,193,58,223,113,193,65,223,113,193,72,223,113,193,79,223,113,193,86,223,113,193,93,223,113,193,100,223,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,77,147,17,193,84,147,17,193,219,52,9,193,226,52,9,193,247,61,9,193,45,88,12,193,77,249,113,193,240,52,9,193,247,52,9,193,114,122,11,193,121,122,11,193,128,122,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,254,52,9,193,7,53,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,193,14,53,9,193,21,53,9,5,5,78,99,5,5,82,99,5,5,86,99,5,5,94,99,5,5,98,99,5,5,102,99,5,5,106,99,5,5,110,99,5,5,114,99,5,5,118,99,5,5,122,99,5,5,126,99,5,5,130,99,5,5,134,99,5,5,138,99,5,5,146,99,5,5,150,99,5,5,34,99,5,5,62,99,5,5,90,99,5,5,142,99,5,5,154,99,5,5,158,99,5,5,160,99,5,5,164,99,5,5,166,99,5,5,168,99,5,5,55,9,46,5,58,99,5,5,170,99,5,5,174,99,5,5,176,99,193,9,29,117,193,16,29,117,193,23,29,117,193,30,29,117,193,37,29,117,193,44,29,117,193,51,29,117,193,58,29,117,193,65,29,117,193,72,29,117,193,79,29,117,193,86,29,117,193,93,29,117,193,100,29,117,193,107,29,117,193,114,29,117,193,121,29,117,193,128,29,117,193,135,29,117,193,142,29,117,193,149,29,117,193,156,29,117,193,163,29,117,193,170,29,117,193,177,29,117,193,184,29,117,193,191,29,117,193,198,29,117,255,255,255,255,255,255,255,255,193,2,61,9,193,9,61,9,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,206,160,233,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,107,61,9,193,9,158,124,193,16,158,124,193,23,158,124,193,30,158,124,193,37,158,124,193,44,158,124,193,51,158,124,193,58,158,124,193,65,158,124,193,72,158,124,193,79,158,124,193,86,158,124,193,93,158,124,193,100,158,124,193,107,158,124,193,114,158,124,193,121,158,124,193,128,158,124,193,135,158,124,193,142,158,124,193,149,158,124,193,156,158,124,255,255,255,255,193,114,61,9,5,5,0,21,5,5,0,23,5,5,0,25,193,121,146,17,193,128,146,17,193,135,146,17,193,142,146,17,193,149,146,17,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,5,5,122,124,5,112,122,124,193,2,124,124,193,9,124,124,193,16,124,124,193,23,124,124,193,30,124,124,193,37,124,124,193,44,124,124,255,255,255,255,255,255,255,255,255,255,255,255,193,135,122,11,193,121,61,9,193,128,61,9,193,135,61,9,193,142,61,9,193,149,61,9,193,156,61,9,193,219,176,113,193,226,176,113,193,233,176,113,193,240,176,113,193,247,176,113,193,37,176,113,193,44,176,113,193,254,176,113,193,7,177,113,193,240,61,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,206,128,237,0,193,9,30,117,193,16,30,117,193,23,30,117,193,30,30,117,193,37,30,117,193,44,30,117,193,51,30,117,193,58,30,117,193,65,30,117,193,72,30,117,193,79,30,117,193,86,30,117,193,93,30,117,193,100,30,117,193,107,30,117,193,114,30,117,193,121,30,117,193,128,30,117,193,135,30,117,193,142,30,117,193,149,30,117,193,156,30,117,193,163,30,117,193,7,62,9,193,14,62,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,250,123,193,16,250,123,193,23,250,123,193,30,250,123,193,37,250,123,193,44,250,123,193,51,250,123,193,58,250,123,193,65,250,123,193,72,250,123,193,79,250,123,193,86,250,123,193,93,250,123,193,100,250,123,193,107,250,123,193,114,250,123,193,121,250,123,193,128,250,123,193,135,250,123,193,142,250,123,193,149,250,123,193,156,250,123,193,163,250,123,193,170,250,123,193,177,250,123,193,184,250,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,96,9,5,5,98,9,5,5,100,9,5,5,102,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,202,16,5,5,204,16,5,5,206,16,5,5,208,16,5,5,210,16,5,5,212,16,5,5,214,16,5,5,216,16,5,5,218,16,5,5,220,16,5,5,222,16,5,5,224,16,5,5,226,16,5,5,228,16,5,5,230,16,5,5,232,16,193,9,204,124,193,16,204,124,193,23,204,124,193,30,204,124,193,37,204,124,193,44,204,124,193,51,204,124,193,58,204,124,193,65,204,124,193,72,204,124,193,79,204,124,193,86,204,124,193,93,204,124,193,100,204,124,193,107,204,124,193,114,204,124,193,121,204,124,193,128,204,124,193,135,204,124,193,142,204,124,193,149,204,124,193,156,204,124,193,163,204,124,193,170,204,124,193,177,204,124,193,184,204,124,193,191,204,124,193,198,204,124,193,205,204,124,193,212,204,124,255,255,255,255,193,2,104,9,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,7,206,124,193,14,206,124,193,21,206,124,193,28,206,124,193,35,206,124,193,42,206,124,193,49,206,124,193,56,206,124,193,9,104,9,5,5,0,21,5,5,0,23,193,2,146,17,193,9,146,17,193,16,146,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,50,101,193,16,50,101,193,23,50,101,193,30,50,101,193,37,50,101,193,44,50,101,193,51,50,101,193,58,50,101,193,65,50,101,193,72,50,101,193,79,50,101,193,86,50,101,193,93,50,101,193,100,50,101,193,107,50,101,193,114,50,101,193,121,50,101,193,128,50,101,193,135,50,101,193,142,50,101,193,149,50,101,193,156,50,101,5,5,0,21,193,100,146,17,193,107,146,17,193,114,146,17,5,5,0,23,5,5,0,25,255,255,255,255,255,255,255,255,255,255,255,255,193,16,104,9,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,255,255,255,255,193,23,104,9,193,30,104,9,193,37,104,9,193,44,104,9,193,51,104,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,41,5,0,19,41,5,0,21,41,5,0,23,41,5,0,25,41,5,0,27,41,5,0,29,41,5,0,31,41,5,0,33,41,5,0,35,46,5,0,37,48,5,121,12,46,5,143,12,48,5,131,12,44,5,142,9,44,5,144,9,255,255,255,255,46,5,0,42,46,5,0,50,46,5,0,70,46,5,0,88,49,5,24,51,46,5,0,56,46,5,0,62,46,5,0,64,46,5,0,66,46,5,0,68,46,5,0,72,46,5,0,78,46,5,0,80,255,255,255,255,255,255,255,255,255,255,255,255,31,5,0,21,31,5,0,23,31,5,0,25,31,5,0,27,31,5,0,29,31,5,0,31,31,5,0,33,31,5,0,35,34,5,0,37,197,98,71,0,197,2,72,0,197,162,72,0,197,194,73,0,197,98,74,0,197,2,75,0,197,162,75,0,197,66,76,0,197,226,76,0,197,130,77,0,197,34,79,0,197,3,5,0,197,99,10,0,197,67,11,0,197,163,11,0,197,3,12,0,197,99,12,0,197,195,12,0,197,35,13,0,197,131,13,0,197,100,5,0,197,228,5,0,197,100,6,0,197,228,6,0,197,100,7,0,197,228,7,0,197,100,8,0,197,228,8,0,197,100,9,0,197,228,9,0,197,196,10,0,197,98,67,0,197,2,73,0,197,34,74,0,197,194,74,0,197,98,75,0,197,2,76,0,197,162,76,0,197,66,77,0,197,226,77,0,197,163,71,0,197,67,72,0,197,227,72,0,197,3,74,0,197,163,74,0,197,67,75,0,197,227,75,0,197,131,76,0,197,35,77,0,197,195,77,0,197,99,79,0,197,227,13,0,197,163,14,0,197,99,15,0,197,35,16,0,197,130,66,0,197,66,66,0,197,34,67,0,197,34,78,0,197,162,83,0,197,130,87,0,197,98,90,0,197,2,92,0,197,226,92,0,197,34,94,0,197,226,94,0,31,5,0,19,31,5,0,19,193,168,11,13,193,175,11,13,193,182,11,13,197,67,14,0,197,3,15,0,197,195,15,0,197,131,16,0,197,67,17,0,197,3,18,0,197,195,18,0,197,131,19,0,197,67,20,0,197,3,21,0,197,195,21,0,197,131,22,0,197,67,23,0,197,3,24,0,197,195,24,0,197,131,25,0,197,227,16,0,197,163,17,0,197,99,18,0,197,35,19,0,197,227,19,0,197,163,20,0,197,99,21,0,197,35,22,0,197,227,22,0,197,163,23,0,197,99,24,0,197,35,25,0,197,227,25,0,197,163,26,0,197,99,27,0,197,35,28,0,197,227,28,0,197,163,29,0,197,99,30,0,197,35,31,0,197,227,31,0,197,163,32,0,168,5,0,42,168,5,0,44,168,5,0,46,168,5,0,48,168,5,0,50,168,5,0,52,168,5,0,54,168,5,0,56,168,5,0,58,168,5,0,60,197,67,26,0,197,3,27,0,197,195,27,0,197,131,28,0,197,67,29,0,197,3,30,0,197,195,30,0,197,131,31,0,197,67,32,0,197,3,33,0,197,195,47,0,168,5,0,46,168,5,0,76,197,226,116,0,197,98,210,0,5,5,93,12,180,5,0,42,177,5,0,44,177,5,0,46,177,5,0,48,180,5,0,50,177,5,0,52,177,5,0,54,180,5,0,56,180,5,0,58,177,5,0,60,180,5,0,62,180,5,0,64,180,5,0,66,180,5,0,68,180,5,0,70,180,5,0,72,197,99,33,0,197,67,34,0,197,35,35,0,197,3,36,0,197,227,36,0,197,195,37,0,197,163,38,0,197,131,39,0,197,3,42,0,197,99,43,0,197,67,44,0,197,35,45,0,197,3,46,0,197,227,46,0,197,196,33,0,197,164,34,0,197,132,35,0,197,100,36,0,197,68,37,0,197,36,38,0,197,4,39,0,197,228,39,0,197,100,42,0,197,196,43,0,197,164,44,0,197,132,45,0,197,100,46,0,197,68,47,0,197,228,42,0,197,103,40,0,197,70,41,0,255,255,255,255,198,163,119,0,198,35,121,0,198,99,120,0,198,163,125,0,198,131,121,0,198,99,123,0,198,3,120,0,198,3,123,0,198,195,120,0,198,35,124,0,198,35,127,0,198,3,129,0,198,163,128,0,198,227,127,0,198,195,132,0,198,3,126,0,198,195,126,0,198,67,128,0,198,131,127,0,198,35,130,0,198,227,124,0,198,99,129,0,198,3,132,0,198,131,130,0,198,195,123,0,198,227,121,0,198,67,125,0,198,99,126,0,198,195,129,0,198,67,122,0,198,99,132,0,198,131,124,0,198,227,130,0,198,163,122,0,198,67,131,0,198,163,131,0,198,97,183,0,198,97,189,0,198,1,193,0,198,193,205,0,197,98,71,0,197,34,79,0,197,2,85,0,197,34,88,0,197,194,91,0,197,66,92,0,197,226,93,0,197,98,94,0,197,131,183,0,197,194,79,0,197,2,80,0,197,194,80,0,197,2,81,0,197,66,81,0,197,130,81,0,197,194,81,0,197,2,82,0,197,66,82,0,197,2,85,0,197,66,85,0,197,226,80,0,197,130,85,0,197,194,85,0,197,2,86,0,32,5,4,12,16,5,0,42,16,5,0,44,16,5,0,46,16,5,0,48,16,5,0,50,16,5,0,52,16,5,0,54,16,5,0,56,16,5,0,58,16,5,0,60,16,5,0,62,16,5,0,64,16,5,0,66,16,5,0,68,16,5,0,70,16,5,0,72,16,5,0,74,16,5,0,76,16,5,0,78,16,5,0,80,16,5,0,82,16,5,0,84,16,5,0,86,16,5,0,88,16,5,0,90,16,5,0,92,16,5,150,9,32,5,137,12,16,5,152,9,32,5,141,12,32,5,184,9,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,5,5,168,9,5,5,170,9,5,5,172,9,5,5,174,9,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,5,5,176,9,5,5,178,9,193,27,213,12,193,34,213,12,206,160,230,0,206,160,230,0,206,160,230,0,5,5,180,9,5,5,182,9,5,5,184,9,5,5,186,9,5,5,188,9,5,5,190,9,5,5,192,9,5,5,194,9,5,5,196,9,5,5,198,9,5,5,200,9,5,5,202,9,5,5,204,9,5,5,206,9,5,5,208,9,5,5,210,9,5,5,212,9,5,5,214,9,5,5,216,9,5,5,218,9,5,5,220,9,5,5,222,9,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,5,5,224,9,5,5,226,9,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,206,96,230,0,5,5,228,9,5,5,230,9,5,5,232,9,5,5,234,9,5,5,236,9,5,5,238,9,5,5,240,9,5,5,242,9,5,5,244,9,5,5,246,9,193,111,206,12,193,118,206,12,193,125,206,12,193,132,206,12,193,139,206,12,193,146,206,12,193,153,206,12,193,160,206,12,193,167,206,12,193,174,206,12,193,181,206,12,193,188,206,12,193,195,206,12,193,202,206,12,193,209,206,12,193,216,206,12,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,5,5,248,9,5,5,250,9,5,5,252,9,5,5,254,9,5,5,2,10,5,5,4,10,5,5,6,10,5,5,8,10,5,5,10,10,5,5,12,10,5,5,14,10,5,5,16,10,5,5,18,10,5,5,20,10,31,5,0,21,31,5,0,23,31,5,0,25,31,5,0,27,31,5,0,29,31,5,0,31,31,5,0,33,31,5,0,35,34,5,0,37,197,98,71,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,206,0,229,0,5,5,62,10,5,5,64,10,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,198,99,135,0,198,35,133,0,198,131,133,0,198,67,134,0,198,195,135,0,198,163,134,0,198,35,136,0,198,227,133,0,198,3,135,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,225,190,0,198,161,182,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,34,73,1,197,226,123,1,197,98,124,1,197,226,128,1,197,98,129,1,197,66,108,1,197,162,109,1,197,194,111,1,197,66,113,1,197,66,112,1,197,34,103,1,197,162,118,1,197,226,127,1,197,194,107,1,197,34,109,1,197,66,111,1,197,194,112,1,197,66,106,1,197,66,115,1,197,98,130,1,197,66,99,1,197,194,100,1,197,226,101,1,197,2,108,1,197,98,109,1,197,130,111,1,197,162,130,1,197,226,133,1,197,98,69,1,197,162,69,1,5,5,98,10,5,5,100,10,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,5,5,106,10,5,5,108,10,5,5,110,10,5,5,112,10,206,224,230,0,206,224,230,0,206,224,230,0,206,224,230,0,193,44,26,11,193,51,26,11,193,58,26,11,193,65,26,11,193,72,26,11,193,79,26,11,193,86,26,11,193,93,26,11,193,100,26,11,193,107,26,11,193,114,26,11,193,121,26,11,193,128,26,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,20,110,5,5,24,110,5,5,132,110,5,5,134,110,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,44,11,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,21,5,5,0,23,5,5,0,25,193,182,86,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,5,5,140,113,5,5,144,113,5,5,48,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,102,11,193,16,102,11,193,23,102,11,193,30,102,11,193,37,102,11,193,44,102,11,193,51,102,11,193,114,208,116,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,209,116,193,16,209,116,193,23,209,116,193,30,209,116,193,51,209,116,193,65,209,116,193,58,209,116,193,72,209,116,193,79,209,116,193,37,209,116,193,44,209,116,193,86,209,116,5,5,211,116,5,5,215,116,193,2,217,116,193,9,217,116,193,93,102,11,193,100,102,11,193,107,102,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,33,5,5,0,35,5,5,0,37,193,203,147,17,193,210,147,17,193,217,147,17,193,224,147,17,193,231,147,17,193,238,147,17,193,245,147,17,193,252,147,17,193,5,148,17,193,12,148,17,255,255,255,255,255,255,255,255,255,255,255,255,193,114,102,11,193,121,102,11,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,23,122,11,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,161,124,193,16,161,124,193,23,161,124,193,30,161,124,193,37,161,124,193,44,161,124,193,51,161,124,193,58,161,124,193,65,161,124,193,72,161,124,193,79,161,124,193,86,161,124,193,93,161,124,193,100,161,124,193,107,161,124,193,114,161,124,193,121,161,124,193,128,161,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,191,122,11,193,198,122,11,193,205,122,11,193,212,122,11,255,255,255,255,255,255,255,255,255,255,255,255,193,182,208,113,193,84,208,113,193,12,124,11,193,91,208,113,193,154,208,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,168,13,193,63,86,12,193,70,86,12,193,77,86,12,193,84,86,12,193,91,86,12,193,98,86,12,193,105,86,12,193,112,86,12,193,119,86,12,193,126,86,12,193,133,86,12,193,140,86,12,193,147,86,12,193,154,86,12,193,161,86,12,193,168,86,12,193,175,86,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,126,11,193,91,241,123,193,98,241,123,193,23,100,13,193,30,100,13,193,37,128,11,193,235,242,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,193,65,172,17,193,72,172,17,193,79,172,17,193,86,172,17,193,93,172,17,193,9,117,124,193,16,117,124,193,23,117,124,193,30,117,124,193,37,117,124,193,44,117,124,193,51,117,124,193,58,117,124,193,65,117,124,193,72,117,124,193,79,117,124,193,86,117,124,193,93,117,124,193,100,117,124,193,107,117,124,193,114,117,124,193,121,117,124,193,128,117,124,193,135,117,124,193,142,117,124,193,149,117,124,193,156,117,124,193,163,117,124,193,170,117,124,193,177,117,124,193,184,117,124,193,191,117,124,193,198,117,124,193,205,117,124,5,5,0,21,193,79,146,17,193,93,128,11,197,226,17,1,197,130,20,1,197,195,19,1,197,99,19,1,197,194,11,1,197,2,12,1,197,98,18,1,197,35,20,1,197,34,18,1,197,194,20,1,197,162,17,1,197,226,16,1,197,66,12,1,197,162,49,0,197,98,49,0,5,5,4,12,255,255,255,255,255,255,255,255,197,99,35,1,197,98,36,1,197,131,34,1,255,255,255,255,197,194,35,1,197,3,36,1,197,130,11,1,197,2,11,1,197,34,35,1,197,66,34,1,197,162,36,1,5,5,6,12,193,16,22,12,255,255,255,255,193,23,22,12,197,226,49,0,197,35,249,0,197,34,250,0,197,67,248,0,255,255,255,255,197,130,249,0,197,195,249,0,197,130,234,0,197,2,234,0,197,226,248,0,197,2,248,0,197,98,250,0,197,98,50,0,197,34,50,0,197,162,50,0,197,34,1,1,197,130,3,1,197,195,2,1,197,99,2,1,255,255,255,255,255,255,255,255,197,162,1,1,197,35,3,1,197,98,1,1,197,194,3,1,197,226,0,1,197,98,0,1,255,255,255,255,197,34,51,0,197,226,50,0,197,98,51,0,197,195,26,1,197,67,33,1,197,4,24,1,197,132,30,1,197,68,22,1,197,196,28,1,197,196,25,1,197,68,32,1,197,35,27,1,197,163,33,1,197,132,24,1,197,4,31,1,197,196,22,1,197,68,29,1,197,68,26,1,197,196,32,1,197,162,227,0,197,194,228,0,197,67,227,0,197,66,229,0,197,99,226,0,255,255,255,255,197,34,228,0,197,99,228,0,197,226,227,0,197,2,229,0,197,2,227,0,197,34,226,0,197,130,229,0,193,9,22,12,5,5,32,96,193,9,22,12,5,5,48,93,5,5,50,93,5,5,40,71,5,5,52,93,5,5,30,43,5,5,88,96,197,162,123,0,197,98,195,0,5,5,56,77,46,5,12,87,193,30,52,12,193,37,52,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,60,118,5,5,62,118,5,5,64,118,5,5,66,118,5,5,68,118,5,5,70,118,5,5,72,118,5,5,74,118,5,5,76,118,5,5,78,118,5,5,80,118,5,5,82,118,5,5,84,118,5,5,86,118,5,5,88,118,5,5,90,118,193,240,143,103,193,247,143,103,193,254,143,103,193,7,144,103,193,31,146,103,193,38,146,103,193,45,146,103,193,52,146,103,193,108,153,103,193,115,153,103,193,122,153,103,193,129,153,103,193,192,153,103,193,199,153,103,193,206,153,103,193,213,153,103,193,128,56,12,193,135,56,12,193,142,56,12,193,149,56,12,193,156,56,12,193,163,56,12,193,170,56,12,193,177,56,12,193,184,56,12,193,191,56,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,198,56,12,193,205,56,12,193,212,56,12,193,219,56,12,193,226,56,12,193,233,56,12,193,240,56,12,193,247,56,12,193,254,56,12,193,7,57,12,193,14,57,12,193,21,57,12,193,28,57,12,193,35,57,12,193,42,57,12,193,49,57,12,193,56,57,12,193,63,57,12,193,70,57,12,193,77,57,12,193,84,57,12,193,91,57,12,193,98,57,12,5,5,59,12,5,5,61,12,5,5,63,12,5,5,65,12,5,5,67,12,5,5,69,12,5,5,71,12,5,5,73,12,5,5,75,12,193,2,77,12,193,9,77,12,160,5,88,93,5,5,88,93,160,5,104,93,5,5,104,93,160,5,20,57,5,5,20,57,197,34,196,0,197,226,195,0,160,5,64,93,5,5,64,93,160,5,66,93,5,5,66,93,160,5,68,93,5,5,68,93,5,5,6,53,5,5,6,79,197,162,107,0,197,98,107,0,197,162,110,0,197,98,110,0,197,34,111,0,197,226,110,0,197,226,111,0,197,162,111,0,197,98,112,0,197,34,112,0,197,226,112,0,197,162,112,0,160,5,20,47,5,5,20,47,160,5,40,65,5,5,40,65,160,112,0,76,5,112,0,76,160,120,0,78,5,120,0,78,160,120,0,80,5,120,0,80,5,5,79,12,193,2,81,12,193,9,81,12,160,5,90,93,5,5,90,93,160,5,34,83,5,5,32,65,5,5,92,93,160,5,18,69,5,5,18,69,160,5,10,47,5,5,10,47,5,5,12,47,5,5,10,57,160,5,16,45,5,5,16,45,160,5,10,53,5,5,10,53,197,34,102,0,197,226,101,0,197,2,167,0,197,194,166,0,197,162,196,0,197,98,196,0,5,5,20,71,5,5,16,71,5,5,18,71,5,5,22,71,5,5,24,71,5,5,6,77,5,5,10,77,5,5,44,77,5,5,46,77,5,5,36,77,5,5,48,77,5,5,50,77,5,5,52,77,5,5,24,79,5,5,8,83,5,5,22,83,5,5,16,83,5,5,18,83,5,5,30,83,5,5,16,89,5,5,18,89,5,5,20,89,5,5,8,89,5,5,10,89,5,5,12,89,5,5,14,89,5,5,14,91,193,16,81,12,46,5,20,57,32,5,26,65,46,5,18,65,32,5,30,83,197,227,105,0,197,67,106,0,165,5,0,46,197,162,51,0,193,9,97,12,197,3,115,0,197,99,115,0,158,5,28,51,193,16,97,12,197,226,51,0,22,5,0,54,165,5,0,56,165,5,0,56,165,5,0,56,22,5,0,56,196,178,5,56,165,5,0,58,165,5,0,58,165,5,0,64,22,5,0,64,193,23,97,12,165,5,0,68,197,194,162,0,193,30,97,12,193,37,97,12,165,5,0,72,172,5,0,74,165,5,0,76,165,5,0,76,165,5,0,76,193,44,97,12,193,51,97,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,30,85,12,193,37,85,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,67,122,1,197,35,146,1,197,164,70,1,197,36,70,1,197,164,168,1,197,36,119,1,197,132,98,1,197,36,121,1,197,196,121,1,197,163,119,1,197,18,120,1,197,40,91,1,5,5,242,13,193,72,85,12,255,255,255,255,255,255,255,255,198,161,164,0,198,129,164,0,198,65,164,0,198,97,164,0,198,2,165,0,198,194,164,0,49,5,218,102,38,5,218,102,16,5,218,102,27,5,218,102,49,5,216,102,38,5,216,102,16,5,216,102,27,5,216,102,46,5,250,102,32,5,250,102,197,66,191,1,197,2,191,1,193,79,85,12,193,86,85,12,193,93,85,12,193,100,85,12,193,107,85,12,193,114,85,12,193,121,85,12,193,128,85,12,193,135,85,12,193,142,85,12,193,149,85,12,193,156,85,12,193,163,85,12,193,170,85,12,193,177,85,12,193,184,85,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,33,163,0,198,1,163,0,198,193,162,0,198,225,162,0,44,5,228,102,30,5,228,102,198,97,161,0,198,33,161,0,46,5,230,102,32,5,230,102,197,226,183,1,198,161,165,0,198,129,165,0,5,5,20,108,5,5,24,108,5,5,122,108,5,5,124,108,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,205,85,12,5,5,96,108,5,5,18,16,5,5,20,16,5,5,22,16,5,5,24,16,5,5,26,16,5,5,28,16,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,42,16,5,5,44,16,5,5,46,16,193,212,85,12,193,219,85,12,193,226,85,12,193,233,85,12,193,240,85,12,193,247,85,12,5,5,160,13,193,254,85,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,48,16,5,5,50,16,5,5,52,16,5,5,54,16,5,5,56,16,5,5,58,16,5,5,60,16,5,5,62,16,5,5,64,16,5,5,66,16,5,5,68,16,5,5,70,16,5,5,72,16,5,5,74,16,5,5,76,16,5,5,78,16,5,5,80,16,5,5,82,16,5,5,84,16,5,5,86,16,5,5,88,16,193,7,86,12,193,14,86,12,193,21,86,12,193,28,86,12,193,35,86,12,193,42,86,12,193,49,86,12,193,56,86,12,5,5,162,13,5,5,164,13,5,5,166,13,5,5,124,112,5,5,126,112,5,5,128,112,5,5,130,112,5,5,132,112,255,255,255,255,201,64,18,0,201,160,19,0,5,5,142,112,255,255,255,255,5,5,144,112,5,5,146,112,5,5,148,112,5,5,152,112,197,130,198,1,193,189,86,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,2,198,1,197,66,198,1,197,66,199,1,5,5,150,112,5,5,90,16,5,5,92,16,5,5,94,16,5,5,96,16,5,5,98,16,5,5,100,16,5,5,102,16,5,5,14,112,5,5,22,112,5,5,26,112,5,5,134,112,5,5,136,112,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,104,16,5,5,106,16,5,5,108,16,5,5,110,16,5,5,112,16,5,5,114,16,5,5,116,16,5,5,118,16,5,5,120,16,193,196,86,12,197,130,197,1,197,194,197,1,197,130,198,1,197,194,198,1,197,2,199,1,197,66,197,1,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,206,64,233,0,193,203,86,12,193,210,86,12,193,217,86,12,193,224,86,12,193,58,162,113,255,255,255,255,255,255,255,255,255,255,255,255,5,5,30,16,5,5,32,16,5,5,34,16,5,5,36,16,5,5,38,16,5,5,40,16,193,231,86,12,193,238,86,12,5,5,158,13,193,245,86,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,62,116,5,5,66,116,197,130,121,2,5,5,70,116,5,5,74,116,5,5,78,116,5,5,82,116,197,2,122,2,5,5,86,116,5,5,90,116,5,5,94,116,5,5,98,116,197,130,122,2,5,5,102,116,5,5,106,116,5,5,110,116,5,5,114,116,5,5,118,116,201,38,233,0,201,38,237,0,5,5,132,116,5,5,136,116,5,5,140,116,5,5,144,116,5,5,148,116,197,2,120,2,5,112,102,116,5,112,118,116,5,112,122,116,255,255,255,255,193,110,87,12,193,117,87,12,193,124,81,117,193,16,85,117,193,117,81,117,193,2,89,117,193,114,89,117,193,128,89,117,193,184,89,117,193,58,93,117,193,72,93,117,193,93,93,117,193,100,93,117,193,65,93,117,193,79,93,117,193,86,93,117,193,231,80,117,193,107,93,117,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,114,93,117,193,121,93,117,193,16,89,117,193,142,89,117,193,10,88,12,193,17,88,12,193,51,79,117,193,114,79,117,193,135,79,117,193,156,79,117,193,205,79,117,193,247,79,117,193,21,80,117,193,35,80,117,193,49,80,117,193,70,80,117,193,154,80,117,193,182,80,117,193,2,85,117,193,23,85,117,193,37,85,117,193,224,80,117,5,5,98,13,193,44,85,117,193,177,79,117,193,68,81,117,193,149,93,117,193,156,93,117,193,163,93,117,193,24,88,12,193,31,88,12,193,38,88,12,193,75,81,117,193,128,93,117,193,135,93,117,193,142,93,117,193,142,79,117,193,226,79,117,193,52,88,12,193,59,88,12,193,66,88,12,193,73,88,12,193,80,88,12,193,87,88,12,193,94,88,12,193,101,88,12,193,108,88,12,193,115,88,12,193,122,88,12,193,129,88,12,193,136,88,12,193,143,88,12,193,150,88,12,193,157,88,12,193,164,88,12,193,171,88,12,193,178,88,12,193,185,88,12,193,192,88,12,193,199,88,12,193,206,88,12,193,213,88,12,193,220,88,12,193,227,88,12,193,234,88,12,193,241,88,12,193,248,88,12,193,255,88,12,193,8,89,12,193,15,89,12,197,163,90,0,197,35,93,0,197,68,80,0,197,131,92,0,197,68,73,0,46,5,0,48,197,2,136,0,197,67,136,0,197,230,136,0,197,104,151,0,197,35,191,0,197,99,205,0,197,195,208,0,193,2,97,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,130,191,0,197,227,193,0,197,226,194,0,193,58,97,12,165,5,0,92,193,65,97,12,155,5,86,96,193,72,97,12,165,5,0,92,193,79,97,12,156,5,0,62,196,146,156,42,165,5,0,44,165,5,0,46,193,86,97,12,22,5,0,50,165,5,0,50,165,5,0,52,160,5,18,53,165,5,0,66,22,5,0,70,32,5,6,101,32,5,8,101,32,5,10,101,32,5,12,101,22,5,0,58,193,93,97,12,197,3,131,0,27,5,50,96,16,5,10,96,160,5,10,96,177,5,50,96,32,5,119,12,193,100,97,12,193,107,97,12,193,114,97,12,193,121,97,12,165,5,0,48,22,5,0,48,22,5,0,50,22,5,0,58,22,5,0,60,193,128,97,12,193,45,160,12,193,135,97,12,197,163,106,0,5,5,18,53,193,142,97,12,197,67,70,0,197,3,71,0,197,228,67,0,197,195,68,0,197,99,78,0,197,131,69,0,197,195,78,0,197,67,84,0,197,195,87,0,197,227,69,0,197,3,91,0,197,163,70,0,197,163,84,0,197,99,91,0,197,131,93,0,197,162,67,0,5,5,144,16,5,5,146,16,5,5,148,16,160,5,18,47,5,5,18,47,5,5,0,31,5,5,150,16,5,5,152,16,5,5,154,16,197,195,66,0,193,149,97,12,193,156,97,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,99,12,5,5,103,12,5,5,101,12,5,5,105,12,193,2,107,12,193,9,107,12,193,16,107,12,193,23,107,12,193,30,107,12,193,37,107,12,197,34,52,0,197,98,52,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,206,128,228,0,197,162,52,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,206,160,228,0,197,226,52,0,197,98,53,0,197,34,53,0,193,126,108,12,193,133,108,12,193,140,108,12,193,147,108,12,193,154,108,12,193,161,108,12,193,168,108,12,193,175,108,12,193,182,108,12,193,189,108,12,193,196,108,12,193,203,108,12,193,210,108,12,193,217,108,12,193,224,108,12,193,231,108,12,193,238,108,12,193,245,108,12,193,252,108,12,193,5,109,12,193,12,109,12,193,19,109,12,193,26,109,12,193,33,109,12,193,40,109,12,193,47,109,12,193,54,109,12,193,61,109,12,193,68,109,12,193,75,109,12,193,82,109,12,193,89,109,12,193,96,109,12,193,103,109,12,193,110,109,12,193,117,109,12,193,124,109,12,193,131,109,12,193,138,109,12,193,145,109,12,193,152,109,12,193,159,109,12,193,166,109,12,193,173,109,12,193,180,109,12,193,187,109,12,193,194,109,12,193,201,109,12,193,208,109,12,193,215,109,12,5,5,111,12,193,2,113,12,197,162,53,0,193,9,113,12,193,16,113,12,5,5,115,12,193,2,117,12,197,226,53,0,193,9,117,12,193,16,117,12,197,34,54,0,193,23,117,12,193,37,117,12,193,44,117,12,193,51,117,12,5,5,119,12,5,5,143,12,193,9,145,12,193,16,145,12,5,5,147,12,193,2,151,12,193,9,151,12,193,16,151,12,193,23,151,12,193,30,151,12,193,37,151,12,193,51,151,12,193,65,151,12,193,72,151,12,193,79,151,12,166,5,86,96,32,5,115,12,27,5,6,96,23,5,8,96,16,5,10,96,16,5,14,96,27,5,16,96,16,5,24,96,16,5,28,96,23,5,30,96,27,5,32,96,24,5,36,96,16,5,38,96,24,5,42,96,16,5,44,96,16,5,46,96,16,5,48,96,27,5,50,96,24,5,60,96,23,5,66,96,23,5,66,96,16,5,74,96,16,5,76,96,23,5,78,96,16,5,80,96,16,5,82,96,16,5,86,96,32,5,111,12,27,5,16,96,23,5,30,96,24,5,36,96,23,5,78,96,27,5,16,96,16,5,24,96,16,5,28,96,23,5,30,96,27,5,32,96,24,5,36,96,16,5,38,96,24,5,42,96,16,5,44,96,16,5,46,96,16,5,48,96,27,5,50,96,24,5,60,96,23,5,66,96,23,5,66,96,16,5,74,96,16,5,76,96,23,5,78,96,16,5,80,96,16,5,82,96,16,5,86,96,32,5,111,12,27,5,16,96,23,5,30,96,24,5,36,96,23,5,78,96,24,5,60,96,27,5,50,96,177,5,6,96,165,5,8,96,160,5,10,96,166,5,14,96,16,5,38,96,24,5,42,96,16,5,44,96,16,5,46,96,16,5,48,96,27,5,50,96,24,5,60,96,23,5,66,96,23,5,66,96,16,5,74,96,16,5,76,96,23,5,78,96,16,5,80,96,16,5,82,96,16,5,86,96,32,5,111,12,27,5,16,96,23,5,30,96,24,5,36,96,23,5,78,96,24,5,60,96,27,5,50,96,177,5,6,96,165,5,8,96,160,5,10,96,166,5,14,96,177,5,16,96,172,5,24,96,172,5,28,96,172,5,30,96,177,5,32,96,176,5,36,96,24,5,60,96,23,5,66,96,23,5,66,96,16,5,74,96,16,5,76,96,23,5,78,96,16,5,80,96,16,5,82,96,16,5,86,96,32,5,111,12,27,5,16,96,23,5,30,96,24,5,36,96,23,5,78,96,24,5,60,96,27,5,50,96,177,5,6,96,165,5,8,96,160,5,10,96,166,5,14,96,177,5,16,96,172,5,24,96,172,5,28,96,172,5,30,96,177,5,32,96,176,5,36,96,172,5,38,96,168,5,42,96,172,5,44,96,172,5,46,96,172,5,48,96,177,5,50,96,16,5,80,96,16,5,82,96,16,5,86,96,32,5,111,12,27,5,16,96,23,5,30,96,24,5,36,96,23,5,78,96,24,5,60,96,27,5,50,96,172,5,18,96,16,5,18,96,255,255,255,255,255,255,255,255,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,202,40,249,2,202,73,249,2,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,24,5,60,96,27,5,50,96,177,5,6,96,165,5,8,96,160,5,10,96,166,5,14,96,177,5,16,96,172,5,24,96,172,5,28,96,172,5,30,96,177,5,32,96,176,5,36,96,172,5,38,96,168,5,42,96,172,5,44,96,172,5,46,96,172,5,48,96,177,5,50,96,168,5,60,96,172,5,30,96,172,5,66,96,172,5,74,96,177,5,76,96,165,5,78,96,160,5,80,96,172,5,82,96,166,5,86,96,32,5,115,12,27,5,6,96,23,5,8,96,16,5,10,96,16,5,14,96,177,5,16,96,172,5,24,96,172,5,28,96,172,5,30,96,177,5,32,96,176,5,36,96,172,5,38,96,168,5,42,96,172,5,44,96,172,5,46,96,172,5,48,96,177,5,50,96,168,5,60,96,172,5,30,96,172,5,66,96,172,5,74,96,177,5,76,96,165,5,78,96,160,5,80,96,172,5,82,96,166,5,86,96,32,5,115,12,27,5,6,96,23,5,8,96,16,5,10,96,16,5,14,96,27,5,16,96,16,5,24,96,16,5,28,96,23,5,30,96,27,5,32,96,24,5,36,96,172,5,38,96,168,5,42,96,172,5,44,96,172,5,46,96,172,5,48,96,177,5,50,96,168,5,60,96,172,5,30,96,172,5,66,96,172,5,74,96,177,5,76,96,165,5,78,96,160,5,80,96,172,5,82,96,166,5,86,96,32,5,115,12,27,5,6,96,23,5,8,96,16,5,10,96,16,5,14,96,27,5,16,96,16,5,24,96,16,5,28,96,23,5,30,96,27,5,32,96,24,5,36,96,16,5,38,96,24,5,42,96,16,5,44,96,16,5,46,96,16,5,48,96,27,5,50,96,168,5,60,96,172,5,30,96,172,5,66,96,172,5,74,96,177,5,76,96,165,5,78,96,160,5,80,96,172,5,82,96,166,5,86,96,32,5,115,12,27,5,6,96,23,5,8,96,16,5,10,96,16,5,14,96,27,5,16,96,16,5,24,96,16,5,28,96,23,5,30,96,27,5,32,96,24,5,36,96,16,5,38,96,24,5,42,96,16,5,44,96,16,5,46,96,16,5,48,96,27,5,50,96,24,5,60,96,23,5,66,96,23,5,66,96,16,5,74,96,16,5,76,96,23,5,78,96,32,5,36,101,46,5,6,101,46,5,12,101,46,5,14,101,32,5,26,101,46,5,28,101,32,5,30,101,32,5,44,101,32,5,48,101,24,5,121,12,197,98,60,1,197,34,60,1,197,67,61,1,197,227,60,1,197,130,51,1,197,194,51,1,197,2,52,1,197,130,52,1,197,2,53,1,197,66,53,1,197,130,53,1,197,2,54,1,197,194,54,1,255,255,255,255,197,2,55,1,197,130,55,1,197,34,57,1,197,226,56,1,197,162,57,1,255,255,255,255,197,226,57,1,255,255,255,255,197,162,54,0,193,49,158,12,197,194,58,0,193,56,158,12,193,63,158,12,193,70,158,12,193,77,158,12,193,84,158,12,193,91,158,12,193,98,158,12,193,105,158,12,193,112,158,12,193,119,158,12,197,130,58,0,197,98,54,0,197,130,55,0,197,2,59,0,197,66,59,0,193,126,158,12,193,133,158,12,197,130,59,0,197,194,59,0,193,140,158,12,193,147,158,12,197,2,60,0,197,66,60,0,193,154,158,12,193,161,158,12,193,168,158,12,193,175,158,12,193,182,158,12,193,189,158,12,193,86,151,12,193,93,151,12,193,100,151,12,193,107,151,12,197,194,55,0,193,114,151,12,197,2,56,0,193,121,151,12,193,128,151,12,193,135,151,12,193,142,151,12,5,5,153,12,197,66,56,0,197,131,56,0,5,5,155,12,197,226,56,0,197,35,57,0,193,2,157,12,193,9,157,12,193,16,157,12,193,23,157,12,193,30,157,12,193,37,157,12,193,44,157,12,193,51,157,12,193,58,157,12,193,65,157,12,193,72,157,12,193,79,157,12,193,86,157,12,193,93,157,12,193,100,157,12,193,41,213,12,193,48,213,12,193,55,213,12,193,62,213,12,193,69,213,12,193,76,213,12,193,83,213,12,193,90,213,12,193,97,213,12,193,104,213,12,193,111,213,12,193,118,213,12,197,68,56,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,193,107,157,12,197,130,57,0,193,114,157,12,193,121,157,12,197,194,57,0,193,128,157,12,193,135,157,12,197,2,58,0,193,142,157,12,197,66,58,0,193,149,157,12,193,156,157,12,193,163,157,12,193,170,157,12,193,177,157,12,193,184,157,12,193,191,157,12,193,198,157,12,193,205,157,12,193,212,157,12,193,219,157,12,193,226,157,12,193,233,157,12,193,240,157,12,193,247,157,12,193,254,157,12,193,7,158,12,193,14,158,12,193,21,158,12,193,28,158,12,193,35,158,12,193,42,158,12,197,130,60,0,197,194,60,0,193,196,158,12,193,203,158,12,197,130,61,0,197,194,61,0,193,210,158,12,193,217,158,12,197,2,62,0,197,66,62,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,197,2,61,0,197,66,61,0,197,130,62,0,197,194,62,0,193,43,161,12,193,50,161,12,193,57,161,12,193,64,161,12,193,71,161,12,193,78,161,12,197,2,64,0,197,66,64,0,197,130,64,0,197,194,64,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,224,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,206,192,228,0,197,2,63,0,197,66,63,0,197,130,63,0,197,194,63,0,193,208,159,12,193,215,159,12,193,222,159,12,193,229,159,12,193,236,159,12,193,243,159,12,193,250,159,12,193,3,160,12,193,10,160,12,193,17,160,12,193,24,160,12,193,31,160,12,193,38,160,12,193,52,160,12,193,59,160,12,193,66,160,12,193,73,160,12,193,80,160,12,193,87,160,12,193,94,160,12,193,101,160,12,193,108,160,12,193,115,160,12,193,122,160,12,193,129,160,12,193,136,160,12,193,143,160,12,193,150,160,12,193,157,160,12,193,164,160,12,193,171,160,12,193,178,160,12,193,185,160,12,193,192,160,12,193,199,160,12,193,206,160,12,193,213,160,12,193,220,160,12,193,227,160,12,193,234,160,12,193,241,160,12,193,248,160,12,193,255,160,12,193,8,161,12,193,15,161,12,193,22,161,12,193,29,161,12,193,36,161,12,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,206,32,229,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,202,169,12,193,209,169,12,193,216,169,12,193,223,169,12,193,230,169,12,193,237,169,12,193,244,169,12,193,251,169,12,193,4,170,12,193,11,170,12,193,18,170,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,25,170,12,193,32,170,12,5,5,172,12,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,206,64,229,0,5,5,180,12,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,206,96,229,0,5,5,185,12,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,128,229,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,206,160,244,0,255,255,255,255,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,206,192,244,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,206,160,229,0,193,111,234,12,193,118,234,12,193,125,234,12,193,132,234,12,193,139,234,12,193,146,234,12,193,153,234,12,193,160,234,12,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,206,192,229,0,193,212,250,12,193,219,250,12,193,226,250,12,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,206,224,229,0,193,69,234,12,193,76,234,12,193,83,234,12,193,90,234,12,193,97,234,12,193,104,234,12,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,206,0,230,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,151,200,12,193,158,200,12,193,165,200,12,193,172,200,12,193,179,200,12,193,186,200,12,193,193,200,12,193,200,200,12,193,207,200,12,193,214,200,12,193,221,200,12,193,228,200,12,193,235,200,12,193,242,200,12,193,249,200,12,193,2,201,12,193,9,201,12,193,16,201,12,193,23,201,12,193,30,201,12,193,37,201,12,193,44,201,12,193,51,201,12,193,58,201,12,193,65,201,12,193,72,201,12,193,79,201,12,193,86,201,12,193,93,201,12,193,100,201,12,193,107,201,12,193,114,201,12,193,121,201,12,193,128,201,12,193,135,201,12,193,142,201,12,193,149,201,12,193,156,201,12,193,163,201,12,193,170,201,12,193,177,201,12,193,184,201,12,193,191,201,12,193,198,201,12,193,205,201,12,193,212,201,12,193,219,201,12,193,226,201,12,193,233,201,12,193,240,201,12,193,247,201,12,193,254,201,12,193,7,202,12,193,14,202,12,193,21,202,12,193,28,202,12,193,35,202,12,193,42,202,12,193,49,202,12,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,206,32,230,0,31,5,0,21,31,5,0,23,31,5,0,25,31,5,0,27,31,5,0,29,31,5,0,31,31,5,0,33,31,5,0,35,34,5,0,37,197,98,71,0,31,5,0,21,31,5,0,23,31,5,0,25,31,5,0,27,31,5,0,29,31,5,0,31,31,5,0,33,31,5,0,35,34,5,0,37,197,98,71,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,64,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,160,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,192,230,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,0,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,206,32,231,0,197,2,65,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,206,64,231,0,255,255,255,255,255,255,255,255,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,206,96,231,0,255,255,255,255,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,231,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,128,230,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,232,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,206,0,242,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,255,255,255,255,255,255,255,255,255,255,255,255,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,206,64,232,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,206,96,232,0,5,5,234,16,5,5,236,16,5,5,238,16,5,5,240,16,5,5,242,16,5,5,244,16,5,5,246,16,5,5,248,16,5,5,250,16,5,5,252,16,5,5,254,16,5,5,2,17,5,5,4,17,5,5,6,17,5,5,8,17,5,5,10,17,5,5,12,17,5,5,14,17,5,5,16,17,5,5,18,17,255,255,255,255,255,255,255,255,255,255,255,255,193,85,240,12,193,92,240,12,193,99,240,12,193,106,240,12,193,113,240,12,193,120,240,12,193,127,240,12,193,134,240,12,193,141,240,12,5,5,60,17,5,5,62,17,5,5,64,17,5,5,66,17,5,5,68,17,5,5,70,17,5,5,72,17,5,5,74,17,5,5,76,17,5,5,78,17,5,5,80,17,5,5,82,17,5,5,84,17,5,5,86,17,5,5,88,17,5,5,90,17,5,5,92,17,5,5,94,17,5,5,96,17,5,5,0,29,5,5,98,17,5,5,100,17,5,5,102,17,5,5,104,17,5,5,106,17,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,206,160,234,0,5,5,0,19,5,5,108,17,193,13,241,12,193,20,241,12,193,27,241,12,255,255,255,255,193,34,241,12,193,41,241,12,193,48,241,12,193,55,241,12,193,62,241,12,193,69,241,12,193,76,241,12,193,83,241,12,193,90,241,12,193,97,241,12,193,104,241,12,193,111,241,12,193,118,241,12,255,255,255,255,255,255,255,255,255,255,255,255,193,125,241,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,206,192,234,0,193,9,125,124,193,16,125,124,193,23,125,124,193,30,125,124,193,37,125,124,193,44,125,124,193,51,125,124,193,58,125,124,193,65,125,124,193,72,125,124,193,79,125,124,193,86,125,124,193,93,125,124,32,5,127,124,5,5,127,124,193,2,129,124,193,9,129,124,193,16,129,124,193,23,129,124,193,30,129,124,193,37,129,124,193,44,129,124,193,51,129,124,193,193,242,12,193,200,242,12,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,193,23,146,17,193,30,146,17,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,105,244,123,193,242,242,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,206,128,241,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,206,160,241,0,255,255,255,255,255,255,255,255,193,91,251,12,193,233,250,12,193,240,250,12,193,247,250,12,193,254,250,12,193,7,251,12,193,14,251,12,193,21,251,12,193,28,251,12,193,35,251,12,193,42,251,12,193,49,251,12,193,56,251,12,193,63,251,12,193,70,251,12,193,77,251,12,193,84,251,12,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,206,192,241,0,193,47,252,12,193,54,252,12,193,171,253,12,193,178,253,12,193,185,253,12,193,192,253,12,193,199,253,12,193,206,253,12,193,213,253,12,193,220,253,12,193,227,253,12,193,234,253,12,193,241,253,12,193,248,253,12,193,255,253,12,193,8,254,12,193,15,254,12,193,22,254,12,193,29,254,12,193,36,254,12,193,43,254,12,193,50,254,12,193,57,254,12,193,64,254,12,193,71,254,12,193,78,254,12,193,85,254,12,193,92,254,12,193,99,254,12,193,106,254,12,193,113,254,12,193,120,254,12,193,127,254,12,193,134,254,12,193,141,254,12,193,148,254,12,193,155,254,12,193,162,254,12,193,169,254,12,193,176,254,12,193,183,254,12,193,190,254,12,193,197,254,12,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,204,254,12,193,211,254,12,193,218,254,12,193,225,254,12,193,232,254,12,193,239,254,12,193,246,254,12,193,253,254,12,193,6,255,12,193,13,255,12,193,20,255,12,193,27,255,12,193,34,255,12,193,41,255,12,193,48,255,12,193,55,255,12,193,62,255,12,193,69,255,12,193,76,255,12,193,83,255,12,193,90,255,12,193,97,255,12,193,104,255,12,193,111,255,12,193,118,255,12,193,125,255,12,193,132,255,12,193,139,255,12,193,146,255,12,193,153,255,12,193,160,255,12,193,167,255,12,193,174,255,12,193,181,255,12,193,188,255,12,193,195,255,12,193,202,255,12,193,209,255,12,193,216,255,12,193,223,255,12,193,230,255,12,193,237,255,12,193,244,255,12,193,251,255,12,193,4,2,13,193,11,2,13,193,18,2,13,193,25,2,13,193,32,2,13,193,39,2,13,193,46,2,13,193,53,2,13,193,60,2,13,193,67,2,13,193,74,2,13,193,81,2,13,193,88,2,13,193,95,2,13,193,102,2,13,193,109,2,13,193,116,2,13,193,123,2,13,193,130,2,13,193,137,2,13,5,5,16,18,5,5,18,18,5,5,20,18,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,193,172,2,13,5,5,22,18,5,5,24,18,5,5,26,18,5,5,226,13,5,112,0,21,5,112,0,23,5,5,28,18,5,5,30,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,76,18,5,5,78,18,5,5,80,18,5,5,82,18,5,5,84,18,5,5,86,18,5,5,88,18,5,5,90,18,5,5,92,18,5,5,94,18,5,5,96,18,5,5,98,18,5,5,100,18,5,5,102,18,193,179,2,13,5,112,0,23,32,112,0,25,5,112,0,27,5,112,0,29,5,112,0,31,5,112,0,33,5,112,0,35,5,112,0,37,5,5,104,18,5,5,106,18,5,5,108,18,5,5,110,18,5,5,112,18,5,5,114,18,5,5,116,18,255,255,255,255,255,255,255,255,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,206,192,242,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,206,224,242,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,178,6,13,193,185,6,13,193,192,6,13,193,199,6,13,193,206,6,13,193,213,6,13,193,220,6,13,193,227,6,13,193,234,6,13,193,241,6,13,193,248,6,13,193,255,6,13,193,8,7,13,193,15,7,13,193,22,7,13,255,255,255,255,255,255,255,255,193,29,7,13,193,36,7,13,193,43,7,13,193,50,7,13,193,57,7,13,193,64,7,13,193,71,7,13,193,78,7,13,193,85,7,13,193,92,7,13,193,99,7,13,193,106,7,13,193,113,7,13,193,120,7,13,193,127,7,13,255,255,255,255,193,134,7,13,193,141,7,13,193,148,7,13,193,155,7,13,193,162,7,13,193,169,7,13,193,176,7,13,193,183,7,13,193,190,7,13,193,197,7,13,193,204,7,13,193,211,7,13,193,218,7,13,193,225,7,13,193,232,7,13,255,255,255,255,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,206,0,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,206,96,244,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,70,11,13,193,77,11,13,193,84,11,13,193,91,11,13,193,98,11,13,193,105,11,13,193,112,11,13,193,119,11,13,193,126,11,13,193,133,11,13,193,140,11,13,193,147,11,13,193,154,11,13,193,161,11,13,255,255,255,255,255,255,255,255,193,40,40,13,193,47,40,13,193,54,40,13,193,61,40,13,193,68,40,13,255,255,255,255,255,255,255,255,255,255,255,255,193,75,40,13,193,82,40,13,193,89,40,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,176,5,0,74,168,5,0,76,168,5,0,78,168,5,0,80,168,5,0,82,168,5,0,84,176,5,0,86,168,5,0,88,168,5,0,90,168,5,0,92,197,34,155,0,197,98,155,0,197,98,158,0,193,189,11,13,193,196,11,13,193,203,11,13,180,5,0,42,177,5,0,44,177,5,0,46,177,5,0,48,180,5,0,50,177,5,0,52,177,5,0,54,180,5,0,56,180,5,0,58,177,5,0,60,180,5,0,62,180,5,0,64,180,5,0,66,180,5,0,68,180,5,0,70,180,5,0,72,193,210,11,13,193,217,11,13,193,224,11,13,193,231,11,13,193,238,11,13,193,245,11,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,206,32,243,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,0,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,0,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,205,2,0,0,205,0,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,0,0,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,206,0,244,0,255,255,255,255,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,206,32,244,0,255,255,255,255,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,206,64,244,0,193,96,40,13,193,103,40,13,193,110,40,13,193,117,40,13,193,124,40,13,193,131,40,13,193,138,40,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,206,128,244,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,66,41,13,193,73,41,13,193,80,41,13,193,87,41,13,193,94,41,13,193,101,41,13,193,108,41,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,115,41,13,193,122,41,13,193,129,41,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,136,41,13,193,143,41,13,193,150,41,13,193,157,41,13,193,164,41,13,193,171,41,13,193,178,41,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,206,64,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,173,47,13,193,180,47,13,193,187,47,13,193,194,47,13,193,201,47,13,193,208,47,13,193,215,47,13,193,222,47,13,193,229,47,13,193,236,47,13,193,243,47,13,193,250,47,13,193,3,48,13,255,255,255,255,255,255,255,255,255,255,255,255,193,10,48,13,193,17,48,13,193,24,48,13,193,31,48,13,193,38,48,13,193,45,48,13,193,52,48,13,193,59,48,13,193,66,48,13,193,73,48,13,193,80,48,13,193,87,48,13,193,94,48,13,255,255,255,255,255,255,255,255,255,255,255,255,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,206,96,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,206,128,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,12,54,13,193,19,54,13,193,26,54,13,193,33,54,13,193,40,54,13,193,47,54,13,193,54,54,13,193,61,54,13,193,68,54,13,193,75,54,13,193,82,54,13,193,89,54,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,96,54,13,193,103,54,13,193,110,54,13,193,117,54,13,193,124,54,13,193,131,54,13,193,138,54,13,193,145,54,13,193,152,54,13,193,159,54,13,193,166,54,13,193,173,54,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,206,160,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,64,56,13,193,71,56,13,193,78,56,13,193,85,56,13,193,92,56,13,193,99,56,13,193,106,56,13,193,113,56,13,193,120,56,13,193,127,56,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,206,192,243,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,206,224,243,0,255,255,255,255,255,255,255,255,193,116,58,13,193,123,58,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,206,32,242,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,100,73,13,193,107,73,13,193,114,73,13,193,121,73,13,193,128,73,13,193,135,73,13,193,142,73,13,193,149,73,13,193,156,73,13,193,163,73,13,193,170,73,13,193,177,73,13,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,206,224,231,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,5,22,122,16,5,30,122,16,5,32,122,16,5,46,122,16,5,52,122,16,5,58,122,16,5,60,122,16,5,62,122,16,5,64,122,16,5,66,122,16,5,72,122,16,5,84,122,16,5,86,122,16,5,88,122,16,5,90,122,16,5,92,122,198,161,170,0,198,193,170,0,198,193,171,0,198,225,171,0,32,5,95,121,32,5,97,121,32,5,99,121,32,5,147,121,32,5,149,121,32,5,155,121,32,5,159,121,32,5,161,121,32,5,165,121,32,5,169,121,32,5,175,121,255,255,255,255,193,37,78,13,193,44,78,13,198,97,172,0,198,225,175,0,198,1,173,0,198,225,183,0,198,97,173,0,198,65,174,0,198,161,173,0,198,1,202,0,198,1,175,0,198,193,173,0,198,161,172,0,198,129,185,0,198,33,184,0,198,161,176,0,30,5,6,121,30,5,10,121,30,5,12,121,30,5,16,121,30,5,18,121,30,5,20,121,30,5,24,121,30,5,28,121,30,5,30,121,30,5,34,121,30,5,36,121,30,5,38,121,30,5,40,121,30,5,42,121,197,130,174,2,197,194,174,2,197,2,175,2,197,66,175,2,197,130,175,2,197,194,175,2,197,2,176,2,197,66,176,2,197,194,176,2,197,130,177,2,197,98,178,2,197,162,178,2,197,226,178,2,197,34,179,2,197,197,177,2,197,4,177,2,197,130,176,2,193,51,78,13,193,72,79,117,193,128,79,117,193,198,79,117,193,98,80,117,193,19,81,117,193,177,89,117,5,5,96,13,193,254,79,117,193,238,80,117,193,58,79,117,193,79,79,117,193,163,79,117,193,212,79,117,193,56,80,117,193,77,80,117,193,105,80,117,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,58,85,117,193,140,80,117,193,161,80,117,193,5,81,117,193,26,81,117,255,255,255,255,5,5,68,114,5,5,70,114,5,5,72,114,5,5,74,114,5,5,76,114,5,5,78,114,5,5,80,114,5,5,82,114,5,5,84,114,5,5,86,114,5,5,88,114,5,5,90,114,5,5,92,114,5,5,94,114,5,5,96,114,5,5,98,114,5,5,100,114,5,5,102,114,5,5,104,114,5,5,106,114,5,5,108,114,5,5,110,114,5,5,112,114,5,5,114,114,5,5,116,114,5,5,118,114,5,5,120,114,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,170,13,5,5,176,13,5,5,178,13,5,5,180,13,5,5,182,13,5,5,184,13,5,5,186,13,5,5,188,13,5,5,190,13,5,5,240,13,5,5,192,13,5,5,194,13,5,5,196,13,5,5,198,13,5,5,200,13,5,5,202,13,5,5,204,13,5,5,206,13,5,5,208,13,5,5,210,13,5,5,212,13,5,5,214,13,5,5,216,13,5,5,218,13,5,5,220,13,5,5,222,13,5,5,224,13,5,5,228,13,5,5,230,13,5,5,232,13,5,5,234,13,5,5,236,13,5,5,238,13,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,156,16,5,5,158,16,5,5,160,16,5,5,162,16,5,5,164,16,5,5,166,16,5,5,168,16,5,5,170,16,5,5,172,16,5,5,174,16,5,5,176,16,5,5,178,16,5,5,180,16,5,5,182,16,5,5,184,16,5,5,186,16,5,5,188,16,5,5,190,16,5,5,192,16,5,5,194,16,5,5,196,16,5,5,198,16,255,255,255,255,5,5,0,21,5,5,0,29,193,9,200,16,193,16,200,16,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,233,251,123,193,240,251,123,193,247,251,123,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,5,5,112,119,5,5,114,119,5,5,116,119,5,112,116,119,5,5,118,119,5,5,120,119,5,5,122,119,5,5,124,119,5,5,126,119,5,5,128,119,5,5,130,119,5,112,130,119,5,5,132,119,5,112,132,119,5,5,134,119,5,5,136,119,5,5,138,119,5,5,140,119,5,5,142,119,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,29,193,23,200,16,193,30,200,16,193,37,200,16,193,44,200,16,5,5,20,17,5,5,22,17,5,5,0,21,5,5,0,29,5,5,24,17,5,5,26,17,5,5,28,17,5,5,30,17,5,5,0,29,5,5,32,17,5,5,34,17,5,5,36,17,5,5,38,17,5,5,40,17,5,5,42,17,5,5,0,29,5,5,44,17,5,5,46,17,5,5,48,17,5,5,50,17,5,5,52,17,5,5,54,17,5,5,56,17,5,5,58,17,5,5,0,21,5,5,0,21,5,5,0,21,5,5,0,23,5,5,0,23,5,5,0,23,5,5,0,23,5,5,0,29,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,27,5,5,0,29,193,37,146,17,193,44,146,17,193,51,146,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,157,124,193,16,157,124,193,23,157,124,193,30,157,124,193,37,157,124,193,44,157,124,193,51,157,124,193,58,157,124,193,65,157,124,193,72,157,124,193,79,157,124,193,86,157,124,193,93,157,124,193,100,157,124,193,107,157,124,193,114,157,124,193,121,157,124,193,128,157,124,193,135,157,124,255,255,255,255,193,142,157,124,193,149,157,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,29,193,58,146,17,193,65,146,17,193,72,146,17,193,9,118,124,193,16,118,124,193,23,118,124,193,30,118,124,193,37,118,124,193,44,118,124,193,51,118,124,193,58,118,124,193,65,118,124,193,72,118,124,193,79,118,124,193,86,118,124,193,93,118,124,193,100,118,124,193,107,118,124,193,114,118,124,193,121,118,124,193,128,118,124,193,135,118,124,193,142,118,124,193,149,118,124,193,156,118,124,193,163,118,124,193,170,118,124,193,177,118,124,193,184,118,124,193,191,118,124,193,198,118,124,193,205,118,124,5,5,0,21,193,86,146,17,193,93,146,17,193,9,159,124,193,16,159,124,193,23,159,124,193,30,159,124,193,37,159,124,193,44,159,124,193,51,159,124,193,58,159,124,193,65,159,124,193,72,159,124,193,79,159,124,193,86,159,124,193,93,159,124,193,100,159,124,193,107,159,124,193,114,159,124,193,121,159,124,193,128,159,124,193,135,159,124,193,142,159,124,193,149,159,124,193,156,159,124,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,193,177,146,17,193,184,146,17,193,191,146,17,193,198,146,17,193,9,160,124,193,16,160,124,193,23,160,124,193,30,160,124,193,37,160,124,193,44,160,124,193,51,160,124,193,58,160,124,193,65,160,124,193,72,160,124,193,79,160,124,193,86,160,124,193,93,160,124,193,100,160,124,193,107,160,124,193,114,160,124,193,121,160,124,193,128,160,124,193,135,160,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,193,205,146,17,193,212,146,17,193,219,146,17,193,226,146,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,193,233,146,17,193,240,146,17,193,247,146,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,27,5,5,0,29,193,254,146,17,193,7,147,17,193,14,147,17,193,21,147,17,193,28,147,17,197,2,237,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,196,124,193,16,196,124,193,23,196,124,193,30,196,124,193,37,196,124,193,44,196,124,193,51,196,124,193,58,196,124,193,65,196,124,193,72,196,124,193,79,196,124,193,86,196,124,193,93,196,124,193,100,196,124,193,107,196,124,193,114,196,124,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,193,56,147,17,193,63,147,17,193,70,147,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,236,0,206,192,236,0,206,192,236,0,206,192,236,0,206,192,236,0,206,192,236,0,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,231,245,113,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,150,17,5,5,152,17,5,5,154,17,5,5,156,17,5,5,158,17,5,5,160,17,5,5,162,17,5,5,164,17,5,5,166,17,5,5,168,17,5,5,170,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,193,2,172,17,193,9,172,17,193,16,172,17,193,23,172,17,193,30,172,17,193,37,172,17,193,44,172,17,193,51,172,17,193,58,172,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,172,123,193,100,172,17,193,107,172,17,255,255,255,255,193,105,241,123,193,112,241,123,193,119,241,123,193,126,241,123,193,133,241,123,193,140,241,123,193,147,241,123,193,154,241,123,193,161,241,123,193,168,241,123,193,175,241,123,193,182,241,123,193,189,241,123,193,196,241,123,193,203,241,123,193,210,241,123,193,217,241,123,193,224,241,123,193,231,241,123,193,238,241,123,193,245,241,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,252,241,123,193,5,242,123,193,12,242,123,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,174,17,5,5,176,17,5,5,178,17,5,5,180,17,5,5,182,17,5,5,184,17,5,5,186,17,5,5,188,17,5,5,190,17,5,5,192,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,194,17,5,5,196,17,5,5,198,17,5,5,200,17,5,5,202,17,5,5,204,17,5,5,206,17,5,5,208,17,5,5,210,17,5,5,212,17,5,5,214,17,5,5,216,17,5,5,218,17,5,5,220,17,5,5,222,17,5,5,224,17,5,5,226,17,5,5,228,17,5,5,230,17,5,5,232,17,5,5,234,17,5,5,236,17,5,5,238,17,5,5,240,17,5,5,242,17,5,5,244,17,5,5,246,17,5,5,248,17,5,5,250,17,5,5,252,17,5,5,254,17,5,5,2,18,5,5,4,18,5,5,6,18,5,5,8,18,5,5,10,18,5,5,12,18,5,5,14,18,255,255,255,255,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,32,18,5,5,34,18,5,5,36,18,5,5,38,18,5,5,40,18,5,5,42,18,5,5,44,18,5,5,46,18,5,5,48,18,5,5,50,18,5,5,52,18,5,5,54,18,5,5,56,18,5,5,58,18,5,5,60,18,5,5,62,18,5,5,64,18,5,5,66,18,5,5,68,18,5,5,70,18,5,5,72,18,5,5,74,18,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,193,2,118,18,193,9,118,18,193,16,118,18,193,23,118,18,193,30,118,18,193,37,118,18,193,44,118,18,255,255,255,255,255,255,255,255,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,206,0,236,0,193,56,119,18,193,63,119,18,193,70,119,18,193,77,119,18,193,84,119,18,193,91,119,18,193,98,119,18,193,105,119,18,193,112,119,18,193,119,119,18,5,5,36,125,5,5,38,125,5,5,40,125,5,5,42,125,5,5,44,125,5,5,46,125,5,5,48,125,5,5,50,125,5,5,52,125,5,5,54,125,5,5,56,125,5,5,58,125,5,5,60,125,5,5,62,125,5,5,64,125,5,5,66,125,5,112,66,125,5,5,68,125,5,5,70,125,5,5,72,125,5,5,74,125,5,5,76,125,5,5,78,125,5,5,80,125,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,126,119,18,193,49,119,18,193,2,82,125,193,9,82,125,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,23,5,5,0,25,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,25,5,5,0,27,5,5,0,29,193,133,119,18,193,140,119,18,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,25,5,5,0,25,5,5,0,27,5,5,0,27,5,5,0,27,5,5,0,27,5,5,0,31,5,5,0,33,5,5,0,33,5,5,0,33,5,5,0,35,5,5,0,35,5,5,0,37,5,5,0,37,5,5,0,37,5,5,0,37,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,27,5,5,0,29,5,5,0,29,5,5,0,23,5,5,0,25,5,5,0,21,5,5,0,23,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,206,224,239,0,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,121,18,5,5,123,18,5,5,125,18,5,5,127,18,5,5,129,18,5,5,131,18,5,5,133,18,5,5,135,18,5,5,137,18,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,21,5,5,0,29,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,20,111,5,5,24,111,5,5,132,111,5,5,134,111,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,5,5,112,111,5,5,114,111,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,65,13,118,5,5,15,118,193,2,17,118,193,9,17,118,193,16,17,118,193,23,17,118,193,30,17,118,193,37,17,118,193,44,17,118,193,51,17,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,5,5,0,21,255,255,255,255,255,255,255,255,255,255,255,255,197,2,154,2,197,67,154,2,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,100,243,113,193,16,243,113,193,30,243,113,193,51,243,113,193,107,243,113,193,114,243,113,193,121,243,113,193,128,243,113,193,135,243,113,193,142,243,113,193,149,243,113,193,156,243,113,193,2,243,113,193,72,243,113,193,2,239,113,193,93,243,113,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,32,5,233,113,193,37,243,113,193,58,243,113,193,107,239,113,32,5,237,113,32,5,241,113,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,193,79,6,117,193,86,6,117,193,93,6,117,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,206,96,228,0,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,32,5,42,120,32,5,63,120,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,206,128,233,0,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,193,165,0,198,225,165,0,198,1,166,0,198,33,166,0,198,65,166,0,198,97,166,0,198,129,166,0,198,161,166,0,198,193,166,0,198,225,166,0,198,1,167,0,198,33,167,0,198,65,167,0,198,97,167,0,198,129,167,0,198,161,167,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,206,224,236,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,237,0,206,0,237,0,206,0,237,0,206,0,237,0,193,247,96,117,193,254,96,117,193,7,97,117,193,21,97,117,193,28,97,117,193,35,97,117,193,42,97,117,193,49,97,117,193,56,97,117,193,63,97,117,193,70,97,117,193,77,97,117,193,84,97,117,201,32,23,2,201,32,24,2,193,119,97,117,193,126,97,117,255,255,255,255,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,202,160,245,2,202,193,245,2,202,226,245,2,202,3,246,2,202,36,246,2,202,69,246,2,202,102,246,2,202,135,246,2,202,168,246,2,202,201,246,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,40,249,2,202,73,249,2,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,202,40,249,2,202,73,249,2,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,202,40,249,2,202,73,249,2,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,202,40,249,2,202,73,249,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,202,32,248,2,202,65,248,2,202,98,248,2,202,131,248,2,202,164,248,2,202,197,248,2,202,230,248,2,202,7,249,2,202,40,249,2,202,73,249,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,28,5,0,74,25,5,0,76,25,5,0,78,25,5,0,80,25,5,0,82,25,5,0,84,28,5,0,86,25,5,0,88,25,5,0,90,25,5,0,92,31,5,0,19,197,2,72,0,197,162,72,0,197,194,73,0,197,98,74,0,197,2,75,0,197,162,75,0,197,66,76,0,197,226,76,0,197,130,77,0,197,34,79,0,31,5,0,21,31,5,0,23,31,5,0,25,31,5,0,27,31,5,0,29,31,5,0,31,31,5,0,33,31,5,0,35,34,5,0,37,197,98,71,0,31,5,0,19,197,5,226,2,197,163,223,2,197,3,224,2,197,164,226,2,197,35,227,2,197,195,227,2,197,35,228,2,197,133,228,2,197,36,229,2,197,162,229,2,197,230,229,2,197,163,230,2,197,5,231,2,197,68,192,2,197,164,231,2,197,35,232,2,197,131,232,2,197,36,233,2,197,162,233,2,197,132,234,2,197,229,233,2,197,2,235,2,197,70,235,2,197,3,193,2,198,130,136,0,198,194,138,0,198,226,139,0,198,162,140,0,198,98,141,0,198,34,142,0,198,226,142,0,198,162,143,0,5,5,170,124,32,5,170,124,5,5,172,124,32,5,172,124,5,5,174,124,5,5,176,124,32,5,176,124,193,2,178,124,193,9,178,124,193,16,178,124,193,23,178,124,193,30,178,124,193,37,178,124,193,44,178,124,5,5,180,124,32,5,180,124,5,112,180,124,5,5,182,124,5,5,184,124,5,112,184,124,5,5,186,124,5,5,188,124,32,5,188,124,5,112,188,124,5,5,190,124,5,5,192,124,5,5,194,124,32,5,194,124,5,112,194,124,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,5,5,0,21,5,5,0,23,198,2,138,0,198,34,139,0,198,66,140,0,198,2,141,0,198,194,141,0,198,130,142,0,198,66,143,0,198,2,144,0,198,194,144,0,198,195,136,0,198,227,137,0,198,3,139,0,198,35,140,0,198,227,140,0,198,163,141,0,198,99,142,0,198,35,143,0,198,227,143,0,198,163,144,0,198,99,145,0,198,35,146,0,198,227,146,0,198,163,147,0,198,99,148,0,198,35,149,0,198,131,149,0,198,227,149,0,198,67,150,0,198,163,150,0,198,3,151,0,198,99,151,0,197,227,133,0,198,98,138,0,198,130,139,0,198,194,151,0,198,2,152,0,198,66,152,0,198,130,152,0,198,194,152,0,198,2,153,0,198,66,153,0,198,35,137,0,198,67,138,0,198,99,139,0,197,162,136,0,197,99,130,0,197,194,130,0,197,163,152,0,44,5,6,122,44,5,8,122,44,5,10,122,44,5,14,122,44,5,16,122,40,5,18,122,38,5,20,122,40,5,22,122,40,5,24,122,32,5,26,122,38,5,28,122,40,5,30,122,40,5,32,122,38,5,34,122,38,5,36,122,38,5,38,122,198,98,144,0,198,34,145,0,198,131,137,0,198,163,138,0,198,195,139,0,198,131,140,0,198,67,141,0,198,3,142,0,198,195,142,0,198,131,143,0,198,67,144,0,198,3,145,0,198,195,145,0,198,131,146,0,198,67,147,0,198,3,148,0,198,195,148,0,197,227,137,0,197,130,119,0,197,98,111,0,197,99,113,0,197,66,180,0,197,130,181,0,197,194,120,0,197,3,121,0,197,99,121,0,197,194,141,0,198,2,189,0,198,162,194,0,198,66,185,0,198,66,194,0,198,228,195,0,184,5,0,74,180,5,0,76,180,5,0,78,180,5,0,80,177,5,0,82,180,5,0,84,184,5,0,86,180,5,0,88,177,5,0,90,177,5,0,92,180,5,0,72,197,66,139,0,197,66,181,0,197,162,190,0,197,226,107,0,197,34,210,0,197,66,120,0,197,98,117,0,197,4,119,0,197,228,132,0,197,130,139,0,197,227,160,0,197,130,161,0,197,130,179,0,197,195,191,0,197,195,205,0,197,34,209,0,197,66,87,0,197,199,82,0,197,130,82,0,197,34,90,0,197,162,94,0,198,193,219,0,198,65,177,0,198,129,178,0,198,161,196,0,198,65,173,0,198,33,174,0,198,129,173,0,198,65,188,0,198,193,182,0,198,161,180,0,198,129,186,0,198,65,186,0,198,65,203,0,198,33,177,0,198,193,213,0,198,33,181,0,198,1,185,0,197,66,86,0,197,130,86,0,197,194,86,0,197,2,87,0,197,34,88,0,197,98,88,0,197,34,81,0,197,226,85,0,197,162,88,0,197,226,88,0,197,34,89,0,197,98,89,0,197,162,89,0,197,226,89,0,197,194,91,0,165,5,0,42,165,5,0,44,165,5,0,46,165,5,0,48,165,5,0,50,165,5,0,52,165,5,0,54,165,5,0,56,165,5,0,58,165,5,0,60,165,5,0,62,165,5,0,64,165,5,0,66,165,5,0,68,165,5,0,70,165,5,0,72,172,5,0,74,165,5,0,76,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,255,255,255,255,22,5,0,58,22,5,0,60,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,22,5,0,70,22,5,0,72,24,5,0,74,22,5,0,76,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,22,5,0,56,22,5,0,58,22,5,0,60,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,22,5,0,70,22,5,0,72,24,5,0,74,22,5,0,76,22,5,0,78,22,5,0,80,22,5,0,82,22,5,0,84,24,5,0,86,22,5,0,88,22,5,0,90,22,5,0,92,165,5,0,42,255,255,255,255,165,5,0,46,165,5,0,48,255,255,255,255,255,255,255,255,165,5,0,54,255,255,255,255,255,255,255,255,165,5,0,60,165,5,0,62,255,255,255,255,255,255,255,255,165,5,0,68,165,5,0,70,165,5,0,72,172,5,0,74,255,255,255,255,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,255,255,255,255,22,5,0,52,255,255,255,255,22,5,0,56,22,5,0,58,22,5,0,60,172,5,0,74,165,5,0,76,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,22,5,0,56,22,5,0,58,22,5,0,60,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,22,5,0,70,22,5,0,72,24,5,0,74,22,5,0,76,22,5,0,78,22,5,0,80,22,5,0,82,22,5,0,84,24,5,0,86,22,5,0,88,22,5,0,90,22,5,0,92,165,5,0,42,165,5,0,44,255,255,255,255,165,5,0,48,165,5,0,50,165,5,0,52,165,5,0,54,255,255,255,255,255,255,255,255,165,5,0,60,165,5,0,62,165,5,0,64,165,5,0,66,165,5,0,68,165,5,0,70,165,5,0,72,172,5,0,74,255,255,255,255,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,255,255,255,255,22,5,0,42,22,5,0,44,165,5,0,58,165,5,0,60,165,5,0,62,165,5,0,64,165,5,0,66,255,255,255,255,165,5,0,70,255,255,255,255,255,255,255,255,255,255,255,255,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,255,255,255,255,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,22,5,0,56,22,5,0,58,22,5,0,60,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,165,5,0,66,165,5,0,68,165,5,0,70,165,5,0,72,172,5,0,74,165,5,0,76,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,22,5,0,56,22,5,0,58,22,5,0,60,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,22,5,0,70,22,5,0,72,24,5,0,74,22,5,0,76,22,5,0,78,22,5,0,80,22,5,0,82,22,5,0,84,24,5,0,86,22,5,0,88,22,5,0,90,22,5,0,92,165,5,0,42,165,5,0,44,165,5,0,46,165,5,0,48,165,5,0,50,165,5,0,52,165,5,0,54,165,5,0,56,165,5,0,58,165,5,0,60,165,5,0,62,165,5,0,64,165,5,0,66,165,5,0,68,165,5,0,70,165,5,0,72,172,5,0,74,165,5,0,76,165,5,0,78,165,5,0,80,165,5,0,82,165,5,0,84,172,5,0,86,165,5,0,88,165,5,0,90,165,5,0,92,22,5,0,42,22,5,0,44,22,5,0,46,22,5,0,48,22,5,0,50,22,5,0,52,22,5,0,54,22,5,0,56,22,5,0,58,22,5,0,60,168,5,0,62,168,5,0,64,168,5,0,66,168,5,0,68,168,5,0,70,168,5,0,72,176,5,0,74,168,5,0,76,168,5,0,78,168,5,0,80,168,5,0,82,168,5,0,84,176,5,0,86,168,5,0,88,168,5,0,90,168,5,0,92,25,5,0,42,25,5,0,44,25,5,0,46,25,5,0,48,25,5,0,50,25,5,0,52,25,5,0,54,25,5,0,56,25,5,0,58,25,5,0,60,25,5,0,62,25,5,0,64,25,5,0,66,25,5,0,68,25,5,0,70,25,5,0,72,22,5,0,62,22,5,0,64,22,5,0,66,22,5,0,68,255,255,255,255,22,5,0,72,24,5,0,74,22,5,0,76,22,5,0,78,22,5,0,80,22,5,0,82,22,5,0,84,24,5,0,86,22,5,0,88,22,5,0,90,22,5,0,92,165,5,0,42,165,5,0,44,165,5,0,46,165,5,0,48,165,5,0,50,165,5,0,52,165,5,0,54,165,5,0,56,165,5,0,58,165,5,0,60,165,5,0,62,165,5,0,64,165,5,0,66,165,5,0,68,165,5,0,70,165,5,0,72,184,5,0,74,180,5,0,76,180,5,0,78,180,5,0,80,177,5,0,82,180,5,0,84,184,5,0,86,180,5,0,88,177,5,0,90,177,5,0,92,197,66,138,0,197,34,159,0,197,226,190,0,197,34,192,0,197,163,182,0,197,34,210,0,168,5,0,42,168,5,0,44,168,5,0,46,168,5,0,48,168,5,0,50,168,5,0,52,168,5,0,54,168,5,0,56,168,5,0,58,168,5,0,60,168,5,0,62,168,5,0,64,168,5,0,66,168,5,0,68,168,5,0,70,168,5,0,72,180,5,0,80,177,5,0,82,184,5,0,86,43,5,0,42,46,5,20,43,44,5,22,43,32,5,16,43,43,5,0,44,43,5,0,48,43,5,0,50,38,5,24,51,44,5,28,51,32,5,40,51,43,5,0,54,32,5,14,59,43,5,0,62,43,5,0,66,44,5,30,69,43,5,0,70,46,5,30,71,32,5,44,71,32,5,46,71,43,5,0,72,43,5,0,80,43,5,0,82,32,5,10,83,46,5,40,83,43,5,0,84,32,5,102,93,44,5,8,96,40,5,10,96,49,5,14,96,5,5,6,85,5,5,6,87,5,5,6,93,5,5,28,93,5,5,100,93,5,5,102,93,5,5,12,96,5,5,40,96,5,5,52,96,5,5,62,96,5,5,84,96,5,5,100,97,180,5,0,42,197,162,108,0,177,5,0,44,5,5,10,45,177,5,0,48,180,5,0,50,174,5,20,51,177,5,0,54,180,5,0,56,180,5,0,58,177,5,0,60,180,5,0,62,180,5,0,64,180,5,0,66,180,5,0,68,5,5,8,69,180,5,0,70,174,5,58,71,180,5,0,72,180,5,0,76,196,196,156,42,196,196,5,42,196,182,156,42,196,182,5,42,197,131,98,0,197,35,98,0,197,67,99,0,197,227,98,0,197,195,100,0,197,99,100,0,197,3,100,0,197,163,99,0,197,3,105,0,197,163,104,0,197,131,95,0,197,35,95,0,197,67,96,0,197,227,95,0,197,195,97,0,197,99,97,0,197,3,97,0,197,163,96,0,197,67,104,0,197,227,103,0,196,196,156,50,196,196,5,50,196,182,156,50,196,182,5,50,196,154,156,50,196,154,5,50,197,195,124,0,197,99,124,0,196,200,156,42,196,200,5,42,196,156,156,44,196,156,5,44,196,196,156,44,196,196,5,44,196,210,156,44,196,210,5,44,197,163,114,0,197,67,114,0,196,156,156,48,196,156,5,48,196,196,156,48,196,196,5,48,196,210,156,48,196,210,5,48,196,160,156,48,196,160,5,48,196,204,156,48,196,204,5,48,197,67,129,0,197,227,128,0,197,131,128,0,197,35,128,0,196,204,156,50,196,204,5,50,196,208,156,50,196,208,5,50,197,195,127,0,197,99,127,0,196,156,156,52,196,156,5,52,197,194,147,0,197,226,159,0,197,100,105,0,197,194,113,0,197,162,116,0,197,34,117,0,197,196,115,0,197,163,118,0,197,2,120,0,197,66,135,0,197,194,135,0,197,162,137,0,197,130,141,0,197,226,144,0,197,162,145,0,197,2,147,0,197,130,150,0,197,194,150,0,197,3,151,0,197,2,153,0,197,162,154,0,197,67,156,0,197,163,157,0,197,2,182,0,197,132,180,0,197,67,182,0,197,2,183,0,197,194,186,0,197,98,193,0,197,226,209,0,197,35,206,0,197,3,107,0,196,138,160,86,196,138,5,86,196,136,160,86,196,136,5,86,196,150,160,86,196,150,5,86,196,156,160,86,196,156,5,86,196,196,160,86,196,196,5,86,196,156,156,88,196,156,5,88,196,150,156,88,196,150,5,88,196,156,156,90,196,156,5,90,196,142,156,92,196,142,5,92,196,196,156,92,196,196,5,92,196,210,156,92,196,210,5,92,196,210,5,56,196,150,5,80,196,146,5,86,196,146,5,90,197,34,113,0,197,98,190,0,5,5,18,79,5,5,20,79,197,162,192,0,5,5,28,49,5,5,6,43,5,5,14,43,5,5,16,43,5,5,12,45,5,5,6,47,5,5,6,49,5,5,8,49,5,5,6,51,5,5,40,51,5,5,14,59,5,5,8,61,5,5,6,63,5,5,10,65,5,5,6,67,5,5,10,69,5,5,6,71,5,5,32,71,5,5,8,71,5,5,34,71,5,5,26,71,5,5,14,71,5,5,60,71,5,5,44,71,5,5,46,71,5,5,6,73,5,5,14,77,5,5,22,77,5,5,6,81,5,5,6,83,5,5,10,83,5,5,12,83,5,5,44,83,160,5,16,65,5,5,16,65,160,5,18,65,160,5,8,73,160,5,34,77,5,5,8,43,5,5,10,81,160,5,14,57,5,5,14,57,160,5,12,63,5,5,12,63,160,5,22,93,5,5,22,93,158,5,22,43,160,5,12,67,160,5,20,43,160,5,28,43,5,5,14,85,160,5,10,87,5,5,10,87,5,5,16,85,160,5,16,57,5,5,16,57,5,5,26,73,5,5,18,51,5,5,30,77,5,5,48,71,5,5,22,51,46,5,0,60,180,5,0,84,160,5,16,79,160,5,20,93,5,5,18,45,5,5,14,49,5,5,14,53,5,5,14,55,5,5,8,63,5,5,28,65,5,5,10,67,5,5,20,69,5,5,14,73,5,5,26,77,5,5,12,79,5,5,26,79,5,5,10,85,5,5,6,89,5,5,12,93,5,5,10,43,5,5,26,43,5,5,20,49,5,5,14,51,5,5,30,51,5,5,38,51,5,5,26,51,5,5,20,59,5,5,38,71,5,5,32,79,5,5,28,83,5,5,32,93,46,5,28,43,43,5,0,46,46,5,16,47,46,112,0,48,46,5,36,51,197,162,133,0,197,98,133,0,197,66,143,0,197,2,143,0,197,98,160,0,197,34,160,0,197,226,184,0,197,162,184,0,197,98,189,0,197,34,189,0,160,5,12,57,160,5,36,51,160,5,6,55,160,5,24,65,160,5,8,59,5,5,6,75,160,5,20,63,160,5,24,81,160,5,12,61,160,5,16,89,174,5,24,45,5,5,24,45,160,5,56,71,5,5,56,71,160,5,24,83,5,5,24,83,160,5,12,43,5,5,12,43,160,5,22,59,5,5,22,59,160,5,32,83,5,5,32,83,193,33,152,103,193,40,152,103,193,47,152,103,193,54,152,103,193,61,152,103,193,68,152,103,193,75,152,103,255,255,255,255,193,201,152,103,193,208,152,103,193,215,152,103,193,222,152,103,193,229,152,103,193,236,152,103,193,243,152,103,255,255,255,255,5,5,24,43,5,5,18,43,5,5,8,51,5,5,10,51,5,5,16,51,5,5,8,53,5,5,8,55,5,5,26,65,5,5,20,65,5,5,22,65,5,5,14,67,5,5,26,69,5,5,32,69,5,5,10,71,5,5,28,71,5,5,36,71,44,5,78,96,40,5,80,96,46,5,0,58,46,5,0,76,46,5,0,82,46,5,0,84,51,5,8,96,48,5,10,96,48,5,60,96,51,5,78,96,48,5,80,96,5,5,14,83,5,5,14,45,5,5,12,49,5,5,12,53,5,5,8,67,5,5,12,69,5,5,12,73,5,5,18,77,5,5,40,77,5,5,10,79,5,5,12,81,5,5,10,93,5,5,20,55,44,5,120,97,5,112,0,54,197,66,194,0,5,5,18,59,5,5,26,59,5,5,8,73,5,5,26,83,5,5,50,83,162,5,0,58,197,2,140,0,197,163,140,0,197,66,142,0,162,5,0,84,197,194,206,0,197,99,207,0,197,68,208,0,197,194,142,0,162,5,0,88,197,226,210,0,197,131,211,0,162,5,0,64,162,5,0,46,162,5,0,48,162,5,0,66,19,5,0,58,197,194,139,0,197,67,140,0,197,2,142,0,19,5,0,84,197,130,206,0,197,3,207,0,197,196,207,0,197,130,142,0,19,5,0,88,197,162,210,0,197,35,211,0,19,5,0,64,19,5,0,46,19,5,0,48,19,5,0,66,197,2,181,0,197,162,160,0,197,194,4,1,197,98,154,0,197,130,143,0,197,194,143,0,197,226,154,0,197,66,134,0,197,67,116,0,197,4,144,0,197,194,181,0,197,66,161,0,197,2,5,1,197,66,5,1,197,162,155,0,197,2,116,0,197,162,134,0,197,131,144,0,197,227,155,0,197,131,134,0,197,131,194,0,197,130,5,1,197,162,150,0,197,130,120,0,197,34,145,0,197,98,132,0,197,130,162,0,197,194,5,1,197,162,156,0,197,162,117,0,197,98,145,0,197,227,156,0,197,227,117,0,197,2,118,0,197,227,145,0,197,67,157,0,197,67,118,0,197,98,118,0,197,67,146,0,197,131,153,0,197,228,153,0,197,2,135,0,197,163,146,0,197,3,158,0,197,227,134,0,197,227,185,0,197,69,186,0,197,230,186,0,197,66,183,0,197,2,163,0,197,2,6,1,197,162,158,0,197,226,183,0,197,66,163,0,197,66,6,1,197,226,158,0,197,66,147,0,197,34,159,0,197,34,184,0,197,130,163,0,197,130,6,1,197,98,159,0,197,130,147,0,197,162,159,0,255,255,255,255,255,255,255,255,160,5,8,87,5,5,8,87,160,5,12,47,158,5,14,79,160,5,12,93,160,5,10,49,5,5,10,49,160,5,8,79,5,5,8,79,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,162,209,0,197,98,209,0,160,5,24,93,5,5,24,93,160,5,40,93,5,5,40,93,160,5,42,93,5,5,42,93,160,5,46,93,5,5,46,93,160,5,54,93,5,5,54,93,160,5,56,93,5,5,56,93,158,5,58,93,5,5,58,93,44,5,58,93,5,5,26,49,5,5,36,65,5,5,20,67,5,5,28,69,5,5,58,77,5,5,60,77,5,5,22,81,5,5,60,93,160,120,0,48,5,120,0,48,160,112,0,52,5,112,0,52,160,112,0,54,160,5,22,55,5,5,22,55,197,131,125,0,197,35,125,0,197,3,127,0,197,163,126,0,197,67,126,0,197,227,125,0,197,3,130,0,197,163,129,0,196,182,156,58,196,182,5,58,196,196,156,58,196,196,5,58,196,196,156,70,196,196,5,70,196,182,156,70,196,182,5,70,197,35,164,0,197,195,163,0,197,227,164,0,197,131,164,0,197,99,166,0,197,3,166,0,197,163,165,0,197,67,165,0,197,99,178,0,197,3,178,0,197,163,174,0,197,67,174,0,197,99,175,0,197,3,175,0,197,227,176,0,197,131,176,0,43,5,0,52,32,5,14,61,46,5,6,55,46,5,34,83,46,5,16,59,46,5,24,59,46,5,8,59,32,5,18,59,46,5,12,61,32,5,30,65,32,5,28,65,46,5,6,65,46,5,12,67,32,5,46,83,46,5,14,69,32,5,22,69,46,5,6,69,46,5,50,71,32,5,24,73,44,5,14,79,44,5,22,79,32,5,14,81,46,5,20,83,46,5,48,83,32,5,6,83,46,5,12,85,46,5,20,85,43,5,0,92,46,5,16,93,46,5,18,93,44,5,26,93,51,5,30,96,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,160,5,18,57,5,5,18,57,5,5,12,59,197,130,135,0,197,66,179,0,5,5,42,83,5,5,20,53,5,5,22,73,5,5,16,67,5,5,10,59,5,5,18,67,196,164,156,54,196,164,5,54,196,156,156,56,196,156,5,56,196,196,156,56,196,196,5,56,196,150,156,56,196,150,5,56,196,160,156,56,196,160,5,56,196,206,156,56,196,206,5,56,196,208,156,58,196,208,5,58,197,227,138,0,197,131,138,0,196,136,156,62,196,136,5,62,196,196,156,62,196,196,5,62,196,210,156,62,196,210,5,62,196,196,156,64,196,196,5,64,197,99,148,0,197,3,148,0,196,210,156,64,196,210,5,64,196,204,156,64,196,204,5,64,196,136,156,66,196,136,5,66,24,5,0,86,22,5,0,88,22,5,0,90,22,5,0,92,32,5,6,59,32,5,6,61,255,255,255,255,255,255,255,255,177,5,6,96,165,5,8,96,160,5,10,96,166,5,14,96,177,5,16,96,172,5,24,96,172,5,28,96,172,5,30,96,177,5,32,96,176,5,36,96,172,5,38,96,168,5,42,96,172,5,44,96,172,5,46,96,172,5,48,96,177,5,50,96,168,5,60,96,172,5,30,96,172,5,66,96,172,5,74,96,177,5,76,96,165,5,78,96,160,5,80,96,172,5,82,96,160,5,14,63,5,5,14,63,160,5,16,63,5,5,16,63,160,5,18,63,5,5,18,63,160,5,8,65,5,5,8,65,160,5,12,65,5,5,12,65,160,5,52,71,5,5,52,71,160,5,42,71,5,5,42,71,197,2,180,0,197,194,179,0,160,5,10,73,5,5,10,73,160,5,18,73,5,5,18,73,160,5,20,73,5,5,20,73,160,5,8,75,5,5,8,75,160,5,10,75,5,5,10,75,174,5,12,77,5,5,12,77,160,5,62,77,5,5,62,77,160,5,8,85,5,5,8,85,197,35,176,0,197,195,175,0,197,163,177,0,197,67,177,0,196,196,156,82,196,196,5,82,196,182,156,82,196,182,5,82,197,3,202,0,197,163,201,0,197,195,202,0,197,99,202,0,197,67,204,0,197,227,203,0,197,131,203,0,197,35,203,0,197,3,205,0,197,163,204,0,196,138,156,90,196,138,5,90,196,196,156,90,196,196,5,90,196,182,156,90,196,182,5,90,196,154,156,90,196,154,5,90,197,66,150,0,197,2,150,0,160,5,18,85,5,5,18,85,160,5,12,91,5,5,12,91,196,156,156,66,196,156,5,66,196,196,156,66,196,196,5,66,196,156,156,68,196,156,5,68,196,196,156,68,196,196,5,68,196,210,156,68,196,210,5,68,196,204,156,68,196,204,5,68,197,99,168,0,197,3,168,0,197,35,169,0,197,195,168,0,197,163,173,0,197,67,173,0,197,227,172,0,197,131,172,0,196,136,156,72,196,136,5,72,196,156,156,72,196,156,5,72,196,156,156,76,196,156,5,76,196,196,156,76,196,196,5,76,197,131,185,0,197,35,185,0,196,210,156,76,196,210,5,76,196,156,156,78,196,156,5,78,196,196,156,78,196,196,5,78,197,3,188,0,197,163,187,0,197,195,188,0,197,99,188,0,197,3,190,0,197,163,189,0,196,156,156,80,196,156,5,80,196,196,156,80,196,196,5,80,196,210,156,80,196,210,5,80,196,204,156,80,196,204,5,80,196,198,156,82,196,198,5,82,196,208,156,82,196,208,5,82,196,204,156,82,196,204,5,82,197,67,200,0,197,227,199,0,197,3,201,0,197,163,200,0,196,154,156,84,196,154,5,84,196,196,156,84,196,196,5,84,32,5,12,87,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,226,212,0,197,98,219,0,197,35,215,0,197,163,221,0,197,99,213,0,197,227,219,0,197,227,216,0,197,99,223,0,197,34,213,0,197,162,219,0,197,131,215,0,197,3,222,0,197,195,213,0,197,67,220,0,197,67,217,0,197,195,223,0,197,194,229,0,197,194,231,0,197,3,231,0,197,3,233,0,197,67,230,0,197,67,232,0,255,255,255,255,255,255,255,255,197,2,230,0,197,2,232,0,197,99,231,0,197,99,233,0,197,163,230,0,197,163,232,0,255,255,255,255,255,255,255,255,197,163,218,0,197,35,225,0,197,228,215,0,197,100,222,0,197,36,214,0,197,164,220,0,197,164,217,0,197,36,224,0,197,3,219,0,197,131,225,0,197,100,216,0,197,228,222,0,197,164,214,0,197,36,221,0,197,36,218,0,197,164,224,0,197,131,240,0,197,3,247,0,197,196,237,0,197,68,244,0,197,4,236,0,197,132,242,0,197,132,239,0,197,4,246,0,197,227,240,0,197,99,247,0,197,68,238,0,197,196,244,0,197,132,236,0,197,4,243,0,197,4,240,0,197,132,246,0,197,2,21,1,197,130,27,1,197,67,23,1,197,195,29,1,197,131,21,1,197,3,28,1,197,3,25,1,197,131,31,1,197,66,21,1,197,194,27,1,197,163,23,1,197,35,30,1,197,227,21,1,197,99,28,1,197,99,25,1,197,227,31,1,197,194,226,0,197,226,225,0,197,66,234,0,197,194,233,0,197,162,248,0,197,194,247,0,197,162,0,1,197,34,0,1,197,66,11,1,197,194,10,1,197,98,17,1,197,162,16,1,197,226,34,1,197,2,34,1,255,255,255,255,255,255,255,255,197,194,234,0,197,66,241,0,197,3,237,0,197,131,243,0,197,67,235,0,197,195,241,0,197,195,238,0,197,67,245,0,197,2,235,0,197,130,241,0,197,99,237,0,197,227,243,0,197,163,235,0,197,35,242,0,197,35,239,0,197,163,245,0,197,162,250,0,197,98,253,0,197,227,251,0,197,163,254,0,197,35,251,0,197,227,253,0,197,163,252,0,197,99,255,0,197,226,250,0,197,162,253,0,197,67,252,0,197,3,255,0,197,131,251,0,197,67,254,0,197,3,253,0,197,195,255,0,197,194,6,1,197,194,8,1,197,3,8,1,197,3,10,1,197,67,7,1,197,67,9,1,255,255,255,255,255,255,255,255,197,2,7,1,197,2,9,1,197,99,8,1,197,99,10,1,197,163,7,1,197,163,9,1,255,255,255,255,255,255,255,255,197,130,12,1,197,226,13,1,197,35,13,1,197,35,15,1,197,195,12,1,197,99,14,1,197,131,13,1,197,227,15,1,255,255,255,255,197,34,14,1,255,255,255,255,197,131,15,1,255,255,255,255,197,195,14,1,255,255,255,255,197,67,16,1,174,5,98,96,5,5,98,96,160,5,100,96,5,5,100,96,160,5,102,96,5,5,102,96,160,5,104,96,5,5,104,96,160,5,106,96,5,5,106,96,160,5,110,96,5,5,110,96,160,5,112,96,5,5,112,96,160,5,114,96,5,5,114,96,160,5,116,96,5,5,116,96,174,5,118,96,5,5,118,96,174,5,120,96,5,5,120,96,160,5,124,96,5,5,124,96,160,5,126,96,5,5,126,96,160,5,128,96,5,5,128,96,160,5,134,96,5,5,134,96,160,5,136,96,5,5,136,96,160,5,138,96,5,5,138,96,160,5,140,96,5,5,140,96,160,5,142,96,5,5,142,96,160,5,144,96,5,5,144,96,160,5,146,96,5,5,146,96,160,5,148,96,5,5,148,96,160,5,150,96,5,5,150,96,160,5,152,96,5,5,152,96,160,5,154,96,5,5,154,96,160,5,208,96,5,5,208,96,160,5,210,96,5,5,210,96,160,5,108,96,5,5,108,96,160,5,122,96,5,5,122,96,160,5,130,96,5,5,130,96,160,5,132,96,5,5,132,96,160,5,156,96,5,5,156,96,160,5,158,96,5,5,158,96,160,5,164,96,5,5,164,96,160,5,166,96,5,5,166,96,160,5,168,96,5,5,168,96,160,5,176,96,5,5,176,96,160,5,180,96,5,5,180,96,160,5,182,96,5,5,182,96,160,5,184,96,5,5,184,96,160,5,186,96,5,5,186,96,160,5,188,96,5,5,188,96,160,5,190,96,5,5,190,96,160,5,196,96,5,5,196,96,160,5,200,96,5,5,200,96,160,5,202,96,5,5,202,96,160,5,204,96,5,5,204,96,160,5,212,96,5,5,212,96,32,5,12,97,32,5,14,97,32,5,16,97,32,5,26,97,32,5,44,97,32,5,50,97,32,5,84,97,32,5,98,97,32,5,114,97,16,5,120,97,16,5,138,97,32,5,142,97,32,5,150,97,32,5,156,97,32,5,162,97,32,5,182,97,32,5,192,97,32,5,200,97,32,5,218,97,32,5,222,97,198,193,159,0,197,2,46,1,32,5,6,97,32,5,40,97,32,5,82,97,198,225,154,0,198,33,157,0,32,5,240,97,198,161,157,0,198,65,158,0,198,161,158,0,198,65,159,0,32,5,14,97,32,5,26,97,16,5,138,97,32,5,156,97,32,5,162,97,32,5,162,97,16,5,226,97,198,33,157,0,198,225,154,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,160,5,6,99,160,5,10,99,160,5,14,99,160,5,18,99,160,5,22,99,160,5,26,99,160,5,30,99,160,5,38,99,160,5,42,99,160,5,46,99,160,5,50,99,160,5,54,99,160,5,58,99,160,5,66,99,160,5,70,99,160,5,74,99,160,5,30,97,5,5,30,97,160,5,68,97,5,5,68,97,198,161,153,0,193,9,46,97,160,5,210,97,5,5,210,97,160,5,64,97,5,5,64,97,160,5,168,97,5,5,168,97,198,161,154,0,193,2,164,97,198,161,156,0,193,9,194,97,160,5,198,97,5,5,198,97,198,225,156,0,193,9,202,97,198,161,155,0,193,9,190,97,160,5,220,97,5,5,220,97,172,5,138,97,16,5,138,97,172,5,138,97,16,5,138,97,44,5,226,97,44,5,232,97,32,5,180,97,198,1,158,0,160,5,52,97,5,5,52,97,198,225,153,0,193,9,56,97,160,5,60,97,5,5,60,97,160,5,76,97,5,5,76,97,174,5,82,97,5,5,82,97,198,1,155,0,193,2,178,97,198,33,156,0,193,30,190,97,198,1,157,0,193,2,224,97,160,5,228,97,5,5,228,97,198,97,157,0,193,9,236,97,198,129,157,0,193,2,242,97,198,193,157,0,193,9,242,97,198,129,158,0,193,23,246,97,198,225,158,0,193,37,246,97,198,33,159,0,193,51,246,97,198,97,160,0,193,93,246,97,174,5,70,98,174,5,72,98,160,5,74,98,174,5,76,98,174,5,78,98,160,5,80,98,174,5,82,98,174,5,84,98,174,5,86,98,174,5,88,98,174,5,90,98,160,5,92,98,160,5,94,98,160,5,96,98,160,5,98,98,255,255,255,255,5,5,6,98,5,5,8,98,5,5,10,98,5,5,12,98,5,5,14,98,5,5,16,98,5,5,18,98,5,5,20,98,5,5,22,98,5,5,24,98,5,5,26,98,5,5,28,98,5,5,30,98,5,5,32,98,5,5,34,98,5,5,36,98,32,5,6,98,32,5,8,98,32,5,10,98,32,5,12,98,32,5,14,98,32,5,16,98,32,5,18,98,255,255,255,255,32,5,22,98,32,5,24,98,32,5,26,98,32,5,28,98,32,5,30,98,32,5,32,98,32,5,34,98,32,5,36,98,32,5,38,98,32,5,40,98,32,5,42,98,32,5,44,98,32,5,46,98,32,5,48,98,32,5,50,98,32,5,52,98,32,5,54,98,255,255,255,255,255,255,255,255,32,5,60,98,32,5,62,98,32,5,64,98,32,5,66,98,32,5,68,98,174,5,6,98,174,5,8,98,174,5,10,98,174,5,12,98,174,5,14,98,174,5,16,98,174,5,18,98,160,5,20,98,174,5,22,98,174,5,24,98,174,5,26,98,174,5,28,98,174,5,30,98,174,5,32,98,174,5,34,98,174,5,36,98,174,5,38,98,174,5,40,98,174,5,42,98,174,5,44,98,174,5,46,98,174,5,48,98,174,5,50,98,174,5,52,98,174,5,54,98,160,5,56,98,160,5,58,98,174,5,60,98,174,5,62,98,174,5,64,98,174,5,66,98,174,5,68,98,5,5,38,98,5,5,40,98,5,5,42,98,5,5,44,98,5,5,46,98,5,5,48,98,5,5,50,98,5,5,52,98,5,5,54,98,5,5,56,98,5,5,58,98,5,5,60,98,5,5,62,98,5,5,64,98,5,5,66,98,5,5,68,98,5,5,70,98,5,5,72,98,5,5,74,98,5,5,76,98,5,5,78,98,5,5,80,98,5,5,82,98,5,5,84,98,5,5,86,98,5,5,88,98,5,5,90,98,5,5,92,98,5,5,94,98,5,5,96,98,5,5,98,98,255,255,255,255,32,5,70,98,32,5,72,98,255,255,255,255,32,5,76,98,32,5,78,98,255,255,255,255,32,5,82,98,32,5,84,98,32,5,86,98,32,5,88,98,32,5,90,98,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,206,0,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,102,98,193,2,104,98,193,9,104,98,5,5,106,98,193,2,108,98,193,9,108,98,193,16,108,98,5,5,110,98,193,2,112,98,193,9,112,98,193,16,112,98,193,23,112,98,193,30,112,98,5,5,114,98,193,2,116,98,193,9,116,98,193,16,116,98,5,5,118,98,193,2,120,98,193,9,120,98,193,16,120,98,193,23,120,98,193,30,120,98,193,37,120,98,193,44,120,98,193,51,120,98,193,58,120,98,193,65,120,98,193,72,120,98,193,79,120,98,193,86,120,98,193,93,120,98,193,100,120,98,193,107,120,98,193,114,120,98,193,121,120,98,193,128,120,98,193,135,120,98,32,5,102,98,32,5,106,98,32,5,110,98,32,5,114,98,32,5,118,98,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,160,5,152,99,160,5,36,99,160,5,64,99,160,5,92,99,160,5,144,99,160,5,156,99,255,255,255,255,160,5,162,99,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,160,5,172,99,255,255,255,255,255,255,255,255,5,5,6,99,5,5,10,99,5,5,14,99,5,5,18,99,5,5,22,99,5,5,26,99,5,5,30,99,5,5,38,99,5,5,42,99,5,5,46,99,5,5,50,99,5,5,54,99,5,5,58,99,5,5,66,99,5,5,70,99,5,5,74,99,5,5,8,99,5,5,12,99,5,5,16,99,5,5,20,99,5,5,24,99,5,5,28,99,5,5,32,99,5,5,40,99,5,5,44,99,5,5,48,99,5,5,52,99,5,5,56,99,5,5,60,99,5,5,68,99,5,5,72,99,5,5,76,99,5,5,80,99,5,5,84,99,5,5,88,99,5,5,96,99,5,5,100,99,5,5,104,99,5,5,108,99,5,5,112,99,5,5,116,99,5,5,120,99,5,5,124,99,5,5,128,99,5,5,132,99,5,5,136,99,5,5,140,99,5,5,148,99,160,5,8,99,160,5,12,99,160,5,16,99,160,5,20,99,160,5,24,99,160,5,28,99,160,5,32,99,160,5,40,99,160,5,44,99,160,5,48,99,160,5,52,99,160,5,56,99,160,5,60,99,160,5,68,99,160,5,72,99,160,5,76,99,160,5,80,99,160,5,84,99,160,5,88,99,160,5,96,99,160,5,100,99,160,5,104,99,160,5,108,99,160,5,112,99,160,5,116,99,160,5,120,99,160,5,124,99,160,5,128,99,160,5,132,99,160,5,136,99,160,5,140,99,160,5,148,99,160,5,78,99,160,5,82,99,160,5,86,99,160,5,94,99,160,5,98,99,160,5,102,99,160,5,106,99,160,5,110,99,160,5,114,99,160,5,118,99,160,5,122,99,160,5,126,99,160,5,130,99,160,5,134,99,160,5,138,99,160,5,146,99,160,5,150,99,160,5,34,99,160,5,62,99,160,5,90,99,160,5,142,99,160,5,154,99,160,5,158,99,160,5,160,99,160,5,164,99,160,5,166,99,160,5,168,99,255,255,255,255,255,255,255,255,160,5,170,99,160,5,174,99,160,5,176,99,5,5,152,99,5,5,36,99,5,5,64,99,5,5,92,99,5,5,144,99,5,5,156,99,255,255,255,255,5,5,162,99,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,172,99,255,255,255,255,255,255,255,255,193,9,141,103,193,16,141,103,193,23,141,103,193,30,141,103,193,37,141,103,193,44,141,103,193,51,141,103,193,58,141,103,193,65,141,103,193,72,141,103,193,79,141,103,193,86,141,103,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,197,34,58,1,197,98,58,1,255,255,255,255,197,226,58,1,197,162,58,1,255,255,255,255,197,98,59,1,197,162,59,1,197,226,59,1,197,162,60,1,197,162,61,1,197,194,53,1,197,194,52,1,197,98,57,1,197,34,59,1,197,66,52,1,46,5,14,102,32,5,14,102,49,5,32,102,38,5,32,102,16,5,32,102,27,5,32,102,49,5,34,102,38,5,34,102,16,5,34,102,27,5,34,102,49,5,36,102,38,5,36,102,16,5,36,102,27,5,36,102,49,5,48,102,38,5,48,102,46,5,6,102,46,5,8,102,32,5,8,102,46,5,10,102,32,5,10,102,46,5,16,102,32,5,16,102,46,5,18,102,32,5,18,102,49,5,22,102,38,5,22,102,16,5,22,102,27,5,22,102,49,5,26,102,38,5,26,102,48,5,30,102,40,5,30,102,24,5,30,102,32,5,30,102,46,5,40,102,32,5,40,102,48,5,42,102,40,5,42,102,24,5,42,102,32,5,42,102,48,5,44,102,40,5,44,102,24,5,44,102,32,5,44,102,48,5,58,102,40,5,58,102,24,5,58,102,198,97,165,0,198,65,165,0,46,5,232,102,32,5,232,102,49,5,246,102,38,5,246,102,16,5,246,102,27,5,246,102,16,5,236,102,27,5,236,102,197,34,62,1,197,226,61,1,198,194,160,0,198,130,160,0,197,34,66,1,197,226,65,1,197,162,66,1,197,98,66,1,198,66,161,0,198,2,161,0,197,34,67,1,197,226,66,1,197,34,69,1,197,226,68,1,197,162,68,1,197,226,67,1,197,162,67,1,197,98,67,1,49,5,240,102,38,5,240,102,16,5,240,102,27,5,240,102,197,130,149,1,197,2,152,1,197,2,153,1,197,162,154,1,197,34,155,1,197,130,163,1,197,34,165,1,197,98,165,1,197,162,165,1,197,2,106,1,197,162,176,1,197,226,176,1,197,162,177,1,197,226,178,1,197,162,179,1,197,34,180,1,197,34,184,1,197,226,186,1,197,34,187,1,197,130,165,1,197,194,178,1,197,194,189,1,197,66,190,1,197,98,62,1,197,226,62,1,197,98,63,1,197,34,64,1,197,98,65,1,197,34,71,1,197,162,71,1,197,130,72,1,197,226,73,1,197,162,62,1,197,34,63,1,197,226,64,1,197,226,67,1,197,98,68,1,197,98,71,1,197,226,71,1,197,194,72,1,197,162,74,1,197,226,75,1,197,98,76,1,197,226,76,1,197,130,78,1,197,34,80,1,197,194,82,1,197,226,85,1,197,98,86,1,197,162,86,1,197,34,88,1,197,34,89,1,197,162,89,1,197,34,90,1,197,34,92,1,197,98,94,1,197,2,95,1,197,194,96,1,197,2,97,1,197,66,97,1,197,130,99,1,197,2,101,1,197,34,102,1,197,34,104,1,197,130,142,1,197,194,143,1,197,162,145,1,197,130,146,1,197,2,150,1,197,130,150,1,197,2,151,1,197,130,151,1,197,130,152,1,197,98,157,1,197,194,159,1,197,194,161,1,197,2,163,1,197,226,164,1,197,34,83,1,197,130,83,1,197,226,83,1,197,162,105,1,197,194,171,1,197,130,174,1,197,34,176,1,197,34,177,1,197,34,179,1,197,226,180,1,197,34,181,1,197,162,180,1,197,226,184,1,197,194,185,1,197,98,186,1,197,98,187,1,197,66,189,1,197,98,64,1,193,44,38,102,193,65,38,102,193,2,70,102,5,5,164,102,193,37,176,102,193,30,180,102,193,37,198,102,193,16,202,102,193,2,24,102,193,9,24,102,193,37,132,102,193,44,234,102,193,16,24,102,16,5,26,102,5,5,100,102,5,5,152,102,193,2,194,102,193,16,234,102,193,44,132,102,193,37,172,102,193,30,190,102,255,255,255,255,193,72,38,102,193,79,38,102,193,2,56,102,193,51,132,102,193,58,248,102,193,16,176,102,193,9,180,102,193,2,208,102,193,58,38,102,193,9,56,102,27,5,26,102,16,5,30,102,16,5,58,102,16,5,84,102,255,255,255,255,27,5,222,102,16,5,112,102,16,5,72,102,16,5,158,102,23,5,238,102,16,5,182,102,16,5,196,102,16,5,200,102,16,5,204,102,16,5,134,102,16,5,166,102,16,5,174,102,16,5,146,102,16,5,178,102,16,5,110,102,16,5,136,102,16,5,42,102,16,5,44,102,16,5,74,102,16,5,86,102,16,5,148,102,16,5,160,102,16,5,168,102,32,5,28,102,16,5,206,102,198,129,161,0,198,161,162,0,27,5,26,102,16,5,30,102,16,5,58,102,16,5,84,102,16,5,214,102,27,5,222,102,16,5,112,102,16,5,72,102,16,5,158,102,23,5,238,102,255,255,255,255,16,5,196,102,16,5,200,102,16,5,204,102,16,5,134,102,16,5,166,102,16,5,174,102,16,5,146,102,16,5,178,102,16,5,110,102,16,5,136,102,16,5,42,102,16,5,44,102,16,5,74,102,16,5,86,102,16,5,148,102,16,5,160,102,16,5,168,102,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,5,30,102,16,5,58,102,255,255,255,255,16,5,214,102,255,255,255,255,255,255,255,255,16,5,72,102,16,5,158,102,23,5,238,102,16,5,182,102,255,255,255,255,16,5,200,102,16,5,204,102,16,5,134,102,16,5,166,102,16,5,174,102,16,5,146,102,16,5,178,102,255,255,255,255,16,5,136,102,16,5,42,102,16,5,44,102,16,5,74,102,255,255,255,255,16,5,148,102,16,5,160,102,16,5,168,102,32,5,28,102,255,255,255,255,198,129,161,0,255,255,255,255,255,255,255,255,16,5,30,102,16,5,58,102,255,255,255,255,16,5,214,102,255,255,255,255,255,255,255,255,16,5,72,102,255,255,255,255,23,5,238,102,16,5,182,102,16,5,196,102,16,5,200,102,16,5,204,102,16,5,134,102,16,5,166,102,16,5,174,102,16,5,146,102,16,5,178,102,255,255,255,255,16,5,136,102,16,5,42,102,16,5,44,102,16,5,74,102,255,255,255,255,16,5,148,102,255,255,255,255,16,5,168,102,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,5,30,102,16,5,58,102,16,5,84,102,255,255,255,255,27,5,222,102,16,5,112,102,16,5,72,102,16,5,158,102,23,5,238,102,255,255,255,255,16,5,196,102,16,5,200,102,16,5,204,102,16,5,134,102,16,5,166,102,16,5,174,102,16,5,146,102,16,5,178,102,16,5,110,102,16,5,136,102,16,5,42,102,16,5,44,102,16,5,74,102,16,5,86,102,16,5,148,102,16,5,160,102,16,5,168,102,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,163,160,1,197,99,161,1,197,3,161,1,197,227,157,1,197,67,158,1,197,163,162,1,197,67,162,1,197,35,164,1,197,195,163,1,197,227,167,1,197,67,168,1,197,35,169,1,197,35,166,1,197,227,166,1,197,131,169,1,197,227,169,1,255,255,255,255,255,255,255,255,197,131,166,1,197,163,181,1,197,3,182,1,197,3,175,1,197,99,175,1,197,99,173,1,197,3,173,1,197,195,173,1,197,131,178,1,197,35,178,1,197,131,188,1,197,35,188,1,197,3,73,1,197,227,77,1,197,34,75,1,197,162,76,1,197,66,78,1,197,226,79,1,197,2,82,1,197,34,85,1,197,98,87,1,197,226,89,1,197,66,77,1,197,226,78,1,197,162,79,1,197,130,96,1,197,130,80,1,197,2,99,1,197,130,100,1,197,162,101,1,197,162,103,1,197,194,116,1,197,98,118,1,197,162,122,1,197,226,124,1,197,98,125,1,197,162,126,1,197,98,128,1,197,226,129,1,197,162,133,1,197,98,134,1,197,162,135,1,197,98,138,1,197,226,138,1,197,130,141,1,197,2,142,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,35,77,1,197,35,79,1,197,195,78,1,197,131,79,1,197,99,80,1,197,3,83,1,197,99,83,1,197,195,83,1,197,195,92,1,197,99,92,1,197,163,95,1,197,67,95,1,197,67,101,1,197,195,99,1,197,35,100,1,197,35,105,1,197,131,77,1,197,35,81,1,197,195,80,1,197,131,84,1,197,35,84,1,197,131,93,1,197,99,90,1,197,35,93,1,197,99,102,1,197,3,118,1,197,227,110,1,197,67,126,1,197,99,159,1,197,131,164,1,197,3,186,1,197,99,185,1,197,227,188,1,197,227,170,1,197,35,148,1,197,195,175,1,197,3,147,1,197,67,160,1,197,3,137,1,197,67,154,1,197,67,172,1,197,67,170,1,197,163,158,1,197,227,153,1,197,3,159,1,197,163,172,1,197,195,90,1,197,163,94,1,16,5,48,102,27,5,48,102,49,5,54,102,38,5,54,102,16,5,54,102,27,5,54,102,49,5,46,102,38,5,46,102,16,5,46,102,27,5,46,102,198,1,162,0,198,225,161,0,198,161,161,0,198,193,161,0,198,129,162,0,198,97,162,0,198,33,162,0,198,65,162,0,49,5,62,102,38,5,62,102,16,5,62,102,27,5,62,102,49,5,60,102,38,5,60,102,16,5,60,102,27,5,60,102,49,5,64,102,38,5,64,102,16,5,64,102,27,5,64,102,49,5,68,102,38,5,68,102,255,255,255,255,255,255,255,255,16,5,58,102,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,5,72,102,255,255,255,255,23,5,238,102,255,255,255,255,16,5,196,102,255,255,255,255,16,5,204,102,16,5,134,102,16,5,166,102,255,255,255,255,16,5,146,102,16,5,178,102,255,255,255,255,16,5,136,102,255,255,255,255,255,255,255,255,16,5,74,102,255,255,255,255,16,5,148,102,255,255,255,255,16,5,168,102,255,255,255,255,16,5,206,102,255,255,255,255,198,161,162,0,32,5,58,102,48,5,72,102,40,5,72,102,24,5,72,102,32,5,72,102,48,5,74,102,40,5,74,102,24,5,74,102,32,5,74,102,44,5,84,102,30,5,84,102,44,5,86,102,30,5,86,102,44,5,110,102,30,5,110,102,44,5,112,102,30,5,112,102,48,5,134,102,40,5,134,102,24,5,134,102,32,5,134,102,48,5,136,102,40,5,136,102,24,5,136,102,32,5,136,102,48,5,146,102,40,5,146,102,24,5,146,102,32,5,146,102,48,5,148,102,40,5,148,102,24,5,148,102,197,66,96,1,197,226,93,1,197,34,94,1,197,130,97,1,197,194,97,1,197,34,124,1,197,162,124,1,197,34,129,1,197,162,129,1,197,130,108,1,197,226,109,1,197,2,112,1,197,130,113,1,197,130,112,1,197,98,103,1,197,226,118,1,197,34,128,1,197,162,132,1,197,34,133,1,197,98,137,1,197,226,137,1,197,130,140,1,197,2,141,1,197,194,106,1,197,66,107,1,197,194,115,1,197,66,116,1,197,130,90,1,197,66,72,1,197,162,77,1,197,2,78,1,197,226,80,1,16,5,68,102,27,5,68,102,46,5,98,102,32,5,98,102,46,5,96,102,32,5,96,102,46,5,102,102,32,5,102,102,46,5,88,102,32,5,88,102,46,5,128,102,32,5,128,102,46,5,114,102,32,5,114,102,49,5,184,102,38,5,184,102,16,5,184,102,27,5,184,102,49,5,192,102,38,5,192,102,16,5,192,102,27,5,192,102,198,33,164,0,198,1,164,0,198,193,163,0,198,225,163,0,198,161,163,0,198,129,163,0,198,65,163,0,198,97,163,0,44,5,206,102,30,5,206,102,197,195,104,1,197,99,104,1,197,227,105,1,197,131,105,1,197,163,117,1,197,67,117,1,197,131,123,1,197,131,110,1,197,35,110,1,197,195,108,1,197,35,114,1,197,195,113,1,197,227,114,1,197,131,114,1,197,227,125,1,197,131,127,1,197,35,127,1,197,131,131,1,197,35,131,1,197,227,131,1,197,67,132,1,197,67,135,1,197,67,136,1,197,227,135,1,197,163,136,1,197,99,139,1,197,35,140,1,197,195,139,1,197,99,143,1,197,3,143,1,197,99,147,1,197,195,147,1,197,2,117,1,197,226,122,1,197,34,125,1,197,162,125,1,197,226,126,1,197,162,128,1,197,34,130,1,197,226,130,1,197,34,134,1,197,162,134,1,197,98,119,1,197,162,138,1,197,34,139,1,197,194,141,1,197,66,142,1,197,194,142,1,197,2,144,1,197,226,144,1,197,98,145,1,197,226,145,1,197,194,146,1,197,194,148,1,197,66,149,1,197,194,149,1,197,66,150,1,197,194,150,1,197,66,151,1,197,66,152,1,197,66,153,1,197,226,154,1,197,98,155,1,197,162,157,1,32,5,148,102,48,5,158,102,40,5,158,102,24,5,158,102,32,5,158,102,48,5,160,102,40,5,160,102,24,5,160,102,32,5,160,102,48,5,166,102,40,5,166,102,24,5,166,102,32,5,166,102,48,5,168,102,40,5,168,102,24,5,168,102,32,5,168,102,48,5,174,102,40,5,174,102,24,5,174,102,32,5,174,102,48,5,178,102,40,5,178,102,24,5,178,102,32,5,178,102,48,5,182,102,40,5,182,102,24,5,182,102,32,5,182,102,48,5,196,102,40,5,196,102,24,5,196,102,193,44,26,103,193,51,26,103,193,58,26,103,193,65,26,103,193,72,26,103,193,79,26,103,193,86,26,103,193,93,26,103,193,100,26,103,193,107,26,103,193,114,26,103,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,160,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,206,192,231,0,193,9,143,103,193,16,143,103,193,23,143,103,193,30,143,103,193,37,143,103,193,44,143,103,193,51,143,103,193,58,143,103,193,65,143,103,193,72,143,103,193,79,143,103,193,86,143,103,193,93,143,103,193,100,143,103,193,107,143,103,193,114,143,103,193,128,143,103,193,135,143,103,193,142,143,103,193,149,143,103,193,156,143,103,193,163,143,103,193,170,143,103,193,177,143,103,193,184,143,103,193,191,143,103,193,198,143,103,193,205,143,103,193,212,143,103,193,219,143,103,193,226,143,103,193,233,143,103,193,121,143,103,193,14,144,103,193,133,144,103,193,196,144,103,193,47,145,103,193,59,146,103,193,178,146,103,193,241,146,103,193,141,147,103,193,204,147,103,193,13,148,103,193,102,149,103,193,65,150,103,193,170,150,103,193,233,150,103,193,217,151,103,193,26,152,103,193,138,152,103,193,220,153,103,193,133,151,103,193,140,151,103,193,147,151,103,193,154,151,103,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,21,144,103,193,28,144,103,193,35,144,103,193,42,144,103,193,49,144,103,193,56,144,103,193,63,144,103,193,70,144,103,193,77,144,103,193,84,144,103,193,91,144,103,193,98,144,103,193,105,144,103,193,112,144,103,193,119,144,103,193,126,144,103,193,140,144,103,193,147,144,103,193,154,144,103,193,161,144,103,193,168,144,103,193,175,144,103,193,182,144,103,193,189,144,103,193,245,144,103,193,252,144,103,193,5,145,103,193,12,145,103,193,19,145,103,193,26,145,103,193,33,145,103,193,40,145,103,255,255,255,255,193,203,144,103,193,210,144,103,193,217,144,103,193,224,144,103,193,231,144,103,193,238,144,103,255,255,255,255,255,255,255,255,193,72,150,103,193,79,150,103,193,86,150,103,193,93,150,103,193,100,150,103,193,107,150,103,255,255,255,255,255,255,255,255,193,109,149,103,193,116,149,103,193,123,149,103,193,130,149,103,193,137,149,103,193,144,149,103,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,54,145,103,193,61,145,103,193,68,145,103,193,75,145,103,193,82,145,103,193,89,145,103,193,96,145,103,193,103,145,103,193,110,145,103,255,255,255,255,193,117,145,103,193,124,145,103,193,131,145,103,193,138,145,103,255,255,255,255,255,255,255,255,193,145,145,103,193,152,145,103,193,159,145,103,193,166,145,103,193,173,145,103,193,180,145,103,193,187,145,103,255,255,255,255,193,194,145,103,255,255,255,255,193,201,145,103,193,208,145,103,193,215,145,103,193,222,145,103,255,255,255,255,255,255,255,255,193,229,145,103,193,236,145,103,193,243,145,103,193,250,145,103,193,3,146,103,193,10,146,103,193,17,146,103,193,24,146,103,193,66,146,103,193,73,146,103,193,80,146,103,193,87,146,103,193,94,146,103,193,101,146,103,193,108,146,103,193,115,146,103,193,122,146,103,193,129,146,103,193,136,146,103,193,143,146,103,193,150,146,103,193,157,146,103,193,164,146,103,193,171,146,103,193,185,146,103,193,192,146,103,193,199,146,103,193,206,146,103,193,213,146,103,193,220,146,103,193,227,146,103,193,234,146,103,193,248,146,103,193,255,146,103,193,8,147,103,193,15,147,103,193,22,147,103,193,29,147,103,193,36,147,103,193,43,147,103,193,50,147,103,255,255,255,255,193,57,147,103,193,64,147,103,193,71,147,103,193,78,147,103,255,255,255,255,255,255,255,255,193,85,147,103,193,92,147,103,193,99,147,103,193,106,147,103,193,113,147,103,193,120,147,103,193,127,147,103,193,134,147,103,193,148,147,103,193,155,147,103,193,162,147,103,193,169,147,103,193,176,147,103,193,183,147,103,193,190,147,103,193,197,147,103,193,211,147,103,193,218,147,103,193,225,147,103,193,232,147,103,193,239,147,103,193,246,147,103,193,253,147,103,193,6,148,103,193,20,148,103,193,27,148,103,193,34,148,103,193,41,148,103,193,48,148,103,193,55,148,103,193,62,148,103,193,69,148,103,193,76,148,103,255,255,255,255,193,83,148,103,193,90,148,103,193,97,148,103,193,104,148,103,255,255,255,255,255,255,255,255,193,111,148,103,193,118,148,103,193,125,148,103,193,132,148,103,193,139,148,103,193,146,148,103,193,153,148,103,255,255,255,255,193,160,148,103,255,255,255,255,193,167,148,103,193,174,148,103,193,181,148,103,193,188,148,103,255,255,255,255,255,255,255,255,193,195,148,103,193,202,148,103,193,209,148,103,193,216,148,103,193,223,148,103,193,230,148,103,193,237,148,103,193,244,148,103,193,251,148,103,193,4,149,103,193,11,149,103,193,18,149,103,193,25,149,103,193,32,149,103,193,39,149,103,255,255,255,255,193,46,149,103,193,53,149,103,193,60,149,103,193,67,149,103,193,74,149,103,193,81,149,103,193,88,149,103,193,95,149,103,193,151,149,103,193,158,149,103,193,165,149,103,193,172,149,103,193,179,149,103,193,186,149,103,193,193,149,103,193,200,149,103,193,207,149,103,193,214,149,103,193,221,149,103,193,228,149,103,193,235,149,103,193,242,149,103,193,249,149,103,193,2,150,103,193,9,150,103,193,16,150,103,193,23,150,103,193,30,150,103,193,37,150,103,193,44,150,103,193,51,150,103,193,58,150,103,193,114,150,103,193,121,150,103,193,128,150,103,193,135,150,103,193,142,150,103,193,149,150,103,193,156,150,103,193,163,150,103,193,177,150,103,193,184,150,103,193,191,150,103,193,198,150,103,193,205,150,103,193,212,150,103,193,219,150,103,193,226,150,103,193,240,150,103,193,247,150,103,193,254,150,103,193,7,151,103,193,14,151,103,193,21,151,103,193,28,151,103,193,35,151,103,193,42,151,103,255,255,255,255,193,49,151,103,193,56,151,103,193,63,151,103,193,70,151,103,255,255,255,255,255,255,255,255,193,77,151,103,193,84,151,103,193,91,151,103,193,98,151,103,193,105,151,103,193,112,151,103,193,119,151,103,193,126,151,103,193,161,151,103,193,168,151,103,193,175,151,103,193,182,151,103,193,189,151,103,193,196,151,103,193,203,151,103,193,210,151,103,193,224,151,103,193,231,151,103,193,238,151,103,193,245,151,103,193,252,151,103,193,5,152,103,193,12,152,103,193,19,152,103,193,82,152,103,193,89,152,103,193,96,152,103,193,103,152,103,193,110,152,103,193,117,152,103,193,124,152,103,193,131,152,103,193,145,152,103,193,152,152,103,193,159,152,103,193,166,152,103,193,173,152,103,193,180,152,103,193,187,152,103,193,194,152,103,193,248,153,103,193,255,153,103,193,8,154,103,193,15,154,103,193,22,154,103,193,29,154,103,193,36,154,103,255,255,255,255,193,43,154,103,193,50,154,103,193,57,154,103,193,64,154,103,193,71,154,103,193,78,154,103,193,85,154,103,255,255,255,255,193,92,154,103,193,99,154,103,193,106,154,103,193,113,154,103,193,120,154,103,193,127,154,103,193,134,154,103,255,255,255,255,193,141,154,103,193,148,154,103,193,155,154,103,193,162,154,103,193,169,154,103,193,176,154,103,193,183,154,103,255,255,255,255,193,190,154,103,193,197,154,103,193,204,154,103,193,211,154,103,193,218,154,103,193,225,154,103,193,232,154,103,255,255,255,255,193,239,154,103,193,246,154,103,193,253,154,103,193,6,155,103,193,13,155,103,193,20,155,103,193,27,155,103,255,255,255,255,193,34,155,103,193,41,155,103,193,48,155,103,193,55,155,103,193,62,155,103,193,69,155,103,193,76,155,103,255,255,255,255,193,83,155,103,193,90,155,103,193,97,155,103,193,104,155,103,193,111,155,103,193,118,155,103,193,125,155,103,255,255,255,255,5,5,110,105,5,5,112,105,5,5,114,105,5,5,116,105,5,5,118,105,255,255,255,255,255,255,255,255,201,192,6,0,5,5,126,105,255,255,255,255,255,255,255,255,5,5,128,105,5,5,130,105,5,5,132,105,197,194,194,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,134,105,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,66,194,1,197,130,194,1,255,255,255,255,197,2,195,1,5,5,104,106,5,5,106,106,5,5,108,106,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,110,106,5,5,112,106,255,255,255,255,255,255,255,255,5,5,114,106,5,5,116,106,5,5,118,106,255,255,255,255,255,255,255,255,255,255,255,255,5,5,36,106,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,197,130,195,1,197,194,195,1,197,2,196,1,5,5,98,106,255,255,255,255,197,66,196,1,255,255,255,255,5,5,116,107,5,5,118,107,5,5,120,107,5,5,122,107,5,5,124,107,5,5,130,107,255,255,255,255,5,5,132,107,5,5,134,107,5,5,136,107,255,255,255,255,5,5,138,107,5,5,140,107,5,5,142,107,255,255,255,255,255,255,255,255,5,5,6,107,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,84,109,5,5,86,109,5,5,88,109,255,255,255,255,255,255,255,255,255,255,255,255,201,224,10,0,201,64,12,0,5,5,94,109,255,255,255,255,5,5,96,109,5,5,98,109,5,5,100,109,5,5,102,109,255,255,255,255,255,255,255,255,5,5,6,109,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,104,109,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,44,109,5,5,46,109,255,255,255,255,255,255,255,255,255,255,255,255,5,5,48,109,5,5,68,109,5,5,50,109,255,255,255,255,255,255,255,255,255,255,255,255,5,5,52,109,5,5,54,109,5,5,56,109,5,5,66,109,5,5,58,109,5,5,64,109,5,5,62,109,5,5,60,109,5,5,72,109,5,5,74,109,5,5,76,109,5,5,78,109,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,80,109,5,5,82,109,5,5,122,110,5,5,124,110,5,5,126,110,5,5,128,110,5,5,130,110,255,255,255,255,201,38,13,0,5,5,138,110,5,5,140,110,255,255,255,255,5,5,142,110,5,5,144,110,5,5,146,110,5,5,148,110,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,150,110,5,5,152,110,255,255,255,255,5,5,50,110,5,5,56,110,5,5,114,110,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,64,110,5,5,66,110,5,5,68,110,5,5,70,110,5,5,72,110,5,5,74,110,5,5,76,110,5,5,78,110,5,5,80,110,255,255,255,255,5,5,82,110,5,5,84,110,5,5,86,110,5,5,88,110,5,5,90,110,5,5,92,110,5,5,94,110,5,5,96,110,5,5,98,110,5,5,110,110,5,5,112,110,5,5,100,110,5,5,102,110,5,5,104,110,5,5,106,110,5,5,108,110,255,255,255,255,255,255,255,255,255,255,255,255,5,5,116,110,5,5,118,110,5,5,120,110,5,5,122,111,5,5,124,111,5,5,126,111,5,5,128,111,5,5,130,111,255,255,255,255,201,224,14,0,5,5,138,111,5,5,140,111,255,255,255,255,201,96,17,0,5,5,144,111,5,5,146,111,5,5,148,111,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,150,111,5,5,152,111,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,108,111,255,255,255,255,5,5,62,112,5,5,64,112,5,5,66,112,5,5,68,112,5,5,70,112,5,5,72,112,5,5,74,112,5,5,76,112,5,5,78,112,5,5,80,112,5,5,82,112,5,5,84,112,5,5,86,112,5,5,88,112,5,5,90,112,5,5,92,112,5,5,94,112,5,5,112,112,5,5,96,112,5,5,108,112,5,5,110,112,5,5,98,112,5,5,100,112,5,5,102,112,5,5,104,112,5,5,106,112,5,5,114,112,32,5,152,112,32,5,152,112,5,5,116,112,5,5,120,112,5,5,122,112,5,5,54,113,5,5,56,113,5,5,58,113,5,5,60,113,5,5,62,113,5,5,64,113,5,5,66,113,5,5,68,113,5,5,70,113,5,5,72,113,5,5,74,113,5,5,76,113,5,5,78,113,5,5,80,113,5,5,82,113,5,5,84,113,5,5,86,113,5,5,88,113,255,255,255,255,5,5,90,113,5,5,92,113,5,5,94,113,5,5,96,113,5,5,98,113,5,5,100,113,5,5,102,113,5,5,104,113,5,5,106,113,255,255,255,255,5,5,108,113,255,255,255,255,255,255,255,255,5,5,110,113,5,5,112,113,5,5,114,113,5,5,116,113,5,5,118,113,5,5,120,113,5,5,122,113,255,255,255,255,255,255,255,255,255,255,255,255,5,5,158,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,124,113,5,5,126,113,5,5,128,113,5,5,130,113,5,5,132,113,5,5,134,113,255,255,255,255,5,5,136,113,255,255,255,255,5,5,138,113,201,132,20,0,5,5,148,113,5,5,150,113,201,6,23,0,5,5,154,113,5,5,156,113,5,5,142,113,193,16,160,113,193,23,160,113,193,30,160,113,193,37,160,113,193,44,160,113,193,51,160,113,193,58,160,113,193,65,160,113,193,72,160,113,193,79,160,113,193,86,160,113,193,93,160,113,193,100,160,113,193,107,160,113,193,114,160,113,193,121,160,113,193,128,160,113,193,135,160,113,193,142,160,113,193,149,160,113,193,156,160,113,193,163,160,113,193,170,160,113,193,177,160,113,193,184,160,113,193,191,160,113,193,198,160,113,193,126,161,113,193,133,161,113,193,140,161,113,193,147,161,113,193,154,161,113,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,96,233,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,206,64,237,0,193,133,171,113,193,140,171,113,193,147,171,113,193,154,171,113,193,161,171,113,193,168,171,113,193,175,171,113,193,182,171,113,193,189,171,113,193,196,171,113,193,210,171,113,193,217,171,113,193,224,171,113,193,9,172,113,193,16,172,113,193,23,172,113,193,30,172,113,193,37,172,113,193,44,172,113,193,51,172,113,193,58,172,113,193,65,172,113,193,72,172,113,193,79,172,113,193,86,172,113,193,93,172,113,193,100,172,113,193,107,172,113,193,114,172,113,193,121,172,113,193,128,172,113,255,255,255,255,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,206,96,237,0,193,9,176,113,193,16,176,113,193,23,176,113,193,30,176,113,193,51,176,113,193,58,176,113,193,65,176,113,255,255,255,255,193,72,176,113,255,255,255,255,193,79,176,113,193,86,176,113,193,93,176,113,193,100,176,113,255,255,255,255,193,107,176,113,193,114,176,113,193,121,176,113,193,128,176,113,193,135,176,113,193,142,176,113,193,149,176,113,193,156,176,113,193,163,176,113,193,170,176,113,193,177,176,113,193,184,176,113,193,191,176,113,193,198,176,113,193,205,176,113,255,255,255,255,193,212,176,113,193,133,179,113,193,140,179,113,193,147,179,113,193,154,179,113,193,161,179,113,255,255,255,255,255,255,255,255,201,32,25,2,193,189,179,113,255,255,255,255,255,255,255,255,193,196,179,113,193,203,179,113,193,210,179,113,255,255,255,255,255,255,255,255,193,9,178,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,217,179,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,224,179,113,193,105,179,113,193,112,179,113,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,206,192,237,0,193,175,181,113,193,182,181,113,193,189,181,113,193,196,181,113,193,203,181,113,193,210,181,113,193,217,181,113,193,224,181,113,193,231,181,113,193,238,181,113,193,245,181,113,193,147,181,113,193,154,181,113,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,206,224,237,0,193,9,185,113,193,16,185,113,5,5,187,113,5,5,189,113,5,5,191,113,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,0,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,206,32,238,0,193,9,203,113,193,16,203,113,193,23,203,113,193,30,203,113,193,37,203,113,193,44,203,113,193,51,203,113,193,58,203,113,193,65,203,113,193,72,203,113,193,100,203,113,193,107,203,113,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,206,64,238,0,193,9,205,113,193,16,205,113,193,23,205,113,193,30,205,113,193,37,205,113,193,44,205,113,193,51,205,113,255,255,255,255,255,255,255,255,193,58,205,113,255,255,255,255,255,255,255,255,193,65,205,113,193,72,205,113,193,79,205,113,193,86,205,113,193,93,205,113,193,107,205,113,193,114,205,113,193,121,205,113,255,255,255,255,193,128,205,113,193,135,205,113,255,255,255,255,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,206,128,238,0,193,9,207,113,193,16,207,113,193,23,207,113,193,30,207,113,193,37,207,113,193,44,207,113,193,51,207,113,193,58,207,113,255,255,255,255,255,255,255,255,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,160,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,206,96,238,0,193,9,211,113,193,16,211,113,193,23,211,113,193,30,211,113,5,5,213,113,5,112,213,113,193,2,215,113,193,9,215,113,5,5,217,113,193,2,219,113,193,9,219,113,193,16,219,113,193,23,219,113,193,30,219,113,193,37,219,113,193,44,219,113,193,51,219,113,193,58,219,113,193,65,219,113,193,72,219,113,193,79,219,113,5,5,221,113,5,112,221,113,193,2,223,113,193,9,223,113,193,16,223,113,5,112,217,113,255,255,255,255,255,255,255,255,193,107,223,113,193,114,223,113,193,121,223,113,193,9,224,113,193,16,224,113,193,23,224,113,193,30,224,113,193,37,224,113,193,44,224,113,193,51,224,113,255,255,255,255,193,58,224,113,193,65,224,113,255,255,255,255,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,206,64,239,0,5,5,226,113,193,2,228,113,193,9,228,113,193,16,228,113,193,23,228,113,193,30,228,113,193,37,228,113,193,44,228,113,193,51,228,113,193,58,228,113,193,65,228,113,193,72,228,113,193,79,228,113,193,86,228,113,193,93,228,113,193,100,228,113,193,107,228,113,255,255,255,255,255,255,255,255,255,255,255,255,193,114,228,113,255,255,255,255,193,121,228,113,193,128,228,113,255,255,255,255,193,135,228,113,193,16,229,113,193,23,229,113,193,30,229,113,193,37,229,113,193,44,229,113,193,51,229,113,255,255,255,255,193,58,229,113,193,65,229,113,255,255,255,255,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,96,239,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,128,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,206,160,236,0,193,9,248,113,193,16,248,113,193,23,248,113,193,30,248,113,193,37,248,113,193,44,248,113,193,51,248,113,193,58,248,113,193,65,248,113,255,255,255,255,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,206,224,238,0,255,255,255,255,5,5,6,114,5,5,8,114,5,5,10,114,5,5,12,114,5,5,14,114,5,5,16,114,5,5,18,114,5,5,20,114,5,5,22,114,5,5,24,114,5,5,26,114,5,5,28,114,5,5,30,114,5,5,32,114,5,5,34,114,5,5,36,114,5,5,38,114,5,5,40,114,5,5,42,114,5,5,44,114,5,5,46,114,5,5,48,114,5,5,50,114,5,5,52,114,5,5,54,114,5,5,56,114,5,5,58,114,5,5,60,114,5,5,62,114,5,5,64,114,5,5,66,114,255,255,255,255,5,5,8,115,5,5,10,115,255,255,255,255,5,5,12,115,255,255,255,255,5,5,14,115,5,5,16,115,5,5,18,115,5,5,20,115,5,5,24,115,255,255,255,255,5,5,26,115,5,5,32,115,5,5,28,115,5,5,34,115,5,5,36,115,5,5,38,115,5,5,40,115,5,5,42,115,5,5,44,115,5,5,46,115,5,5,48,115,5,5,50,115,5,5,52,115,5,5,54,115,5,5,56,115,5,5,58,115,5,5,60,115,5,5,62,115,5,5,64,115,5,5,66,115,5,5,68,115,5,5,70,115,5,5,72,115,5,5,74,115,255,255,255,255,5,5,76,115,255,255,255,255,5,5,78,115,5,5,80,115,5,5,82,115,5,5,22,115,5,5,84,115,5,5,86,115,5,5,88,115,5,5,90,115,5,5,92,115,5,5,94,115,5,5,96,115,5,5,98,115,5,5,100,115,5,5,102,115,5,5,104,115,5,5,106,115,5,5,108,115,5,5,110,115,5,5,112,115,5,5,114,115,5,5,116,115,5,5,118,115,5,5,120,115,255,255,255,255,255,255,255,255,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,206,0,234,0,5,5,6,116,5,5,12,116,5,5,16,116,197,66,120,2,5,5,20,116,5,5,24,116,5,5,28,116,5,5,32,116,255,255,255,255,5,5,36,116,5,5,40,116,5,5,44,116,5,5,48,116,197,194,120,2,5,5,52,116,5,5,56,116,5,5,60,116,5,5,64,116,197,66,121,2,5,5,68,116,5,5,72,116,5,5,76,116,5,5,80,116,197,194,121,2,5,5,84,116,5,5,88,116,5,5,92,116,5,5,96,116,197,66,122,2,5,5,100,116,5,5,104,116,5,5,108,116,193,30,208,116,193,37,208,116,193,44,208,116,193,51,208,116,193,58,208,116,193,65,208,116,193,72,208,116,193,79,208,116,193,86,208,116,193,93,208,116,193,100,208,116,193,9,198,116,193,23,198,116,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,206,192,238,0,5,5,219,116,193,2,221,116,193,9,221,116,193,16,221,116,193,23,221,116,193,30,221,116,193,37,221,116,193,44,221,116,193,51,221,116,193,58,221,116,193,65,221,116,5,5,223,116,193,2,225,116,193,9,225,116,193,16,225,116,5,5,227,116,5,5,229,116,193,2,231,116,193,9,231,116,193,16,231,116,5,5,233,116,193,2,235,116,193,9,235,116,193,16,235,116,193,23,235,116,193,30,235,116,5,5,237,116,5,5,239,116,5,5,241,116,5,5,243,116,5,5,245,116,5,5,247,116,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,206,0,239,0,193,70,5,117,193,84,5,117,193,98,5,117,193,112,5,117,193,126,5,117,193,140,5,117,193,154,5,117,255,255,255,255,255,255,255,255,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,206,32,239,0,193,9,6,117,193,16,6,117,193,23,6,117,193,30,6,117,193,37,6,117,193,44,6,117,193,51,6,117,193,58,6,117,193,65,6,117,193,72,6,117,193,100,6,117,193,107,6,117,193,114,6,117,193,121,6,117,193,128,6,117,193,135,6,117,193,142,6,117,193,149,6,117,193,156,6,117,193,163,6,117,193,170,6,117,193,177,6,117,193,184,6,117,193,191,6,117,193,198,6,117,193,205,6,117,193,212,6,117,193,226,6,117,193,240,6,117,193,247,6,117,193,254,6,117,193,7,7,117,193,9,8,117,193,16,8,117,193,23,8,117,193,30,8,117,193,37,8,117,193,44,8,117,193,51,8,117,193,58,8,117,193,93,8,117,193,100,8,117,193,107,8,117,193,114,8,117,193,121,8,117,193,128,8,117,193,135,8,117,193,142,8,117,193,149,8,117,193,156,8,117,193,163,8,117,193,170,8,117,193,184,8,117,193,191,8,117,193,198,8,117,193,205,8,117,193,226,8,117,193,247,8,117,193,254,8,117,193,14,9,117,193,21,9,117,193,42,9,117,193,77,9,117,193,84,9,117,193,9,10,117,193,16,10,117,193,23,10,117,193,30,10,117,193,37,10,117,193,44,10,117,193,51,10,117,193,58,10,117,5,5,12,117,193,2,14,117,193,9,14,117,5,5,16,117,193,2,18,117,193,9,18,117,193,16,18,117,193,23,18,117,193,30,18,117,193,37,18,117,193,44,18,117,193,51,18,117,193,58,18,117,193,65,18,117,193,72,18,117,193,79,18,117,193,86,18,117,193,93,18,117,193,100,18,117,193,107,18,117,193,114,18,117,197,162,124,2,197,226,124,2,255,255,255,255,193,9,25,117,193,16,25,117,193,23,25,117,193,30,25,117,193,37,25,117,193,44,25,117,193,51,25,117,193,58,25,117,193,65,25,117,193,72,25,117,193,79,25,117,193,86,25,117,193,93,25,117,255,255,255,255,193,100,25,117,193,107,25,117,193,114,25,117,193,121,25,117,193,128,25,117,193,135,25,117,193,142,25,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,27,117,193,16,27,117,193,23,27,117,193,30,27,117,193,37,27,117,193,44,27,117,193,51,27,117,193,58,27,117,193,65,27,117,193,72,27,117,193,79,27,117,193,86,27,117,193,93,27,117,193,100,27,117,193,107,27,117,193,114,27,117,193,121,27,117,193,128,27,117,193,135,27,117,193,142,27,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,28,117,193,16,28,117,193,23,28,117,193,30,28,117,193,37,28,117,193,44,28,117,193,51,28,117,193,58,28,117,193,65,28,117,193,72,28,117,193,79,28,117,193,86,28,117,193,93,28,117,255,255,255,255,193,100,28,117,193,107,28,117,193,114,28,117,255,255,255,255,193,121,28,117,193,128,28,117,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,33,117,32,5,33,117,5,5,35,117,32,5,35,117,32,5,35,117,5,5,37,117,32,5,37,117,5,5,39,117,32,5,39,117,5,5,41,117,32,5,41,117,5,5,43,117,32,5,43,117,32,5,43,117,5,5,45,117,32,5,45,117,193,2,47,117,193,9,47,117,5,5,49,117,32,5,49,117,5,5,51,117,32,5,51,117,5,5,53,117,32,5,53,117,5,5,55,117,32,5,55,117,32,5,55,117,5,5,57,117,32,5,57,117,5,5,59,117,5,5,61,117,32,5,61,117,193,9,79,117,193,23,79,117,193,37,79,117,193,65,79,117,193,86,79,117,193,100,79,117,193,121,79,117,193,149,79,117,193,184,79,117,193,233,79,117,193,7,80,117,193,14,80,117,193,28,80,117,193,42,80,117,193,63,80,117,193,84,80,117,193,112,80,117,193,119,80,117,193,126,80,117,193,147,80,117,193,168,80,117,193,196,80,117,193,203,80,117,193,245,80,117,193,12,81,117,193,33,81,117,193,47,81,117,193,61,81,117,193,89,81,117,193,103,81,117,5,5,83,117,193,9,85,117,193,96,81,117,193,219,79,117,193,156,89,117,193,9,93,117,193,16,93,117,193,145,81,117,193,93,85,117,193,163,89,117,193,170,89,117,193,23,93,117,193,30,93,117,193,37,93,117,193,44,93,117,193,51,93,117,193,91,80,117,193,79,85,117,193,86,85,117,193,30,89,117,193,9,89,117,193,58,89,117,193,65,89,117,193,16,79,117,193,30,79,117,193,44,79,117,193,107,79,117,193,170,79,117,193,240,79,117,193,133,80,117,193,175,80,117,193,210,80,117,193,217,80,117,193,252,80,117,193,9,94,117,193,51,94,117,193,58,94,117,193,65,94,117,193,72,94,117,193,79,94,117,193,86,94,117,193,93,94,117,193,100,94,117,193,107,94,117,193,114,94,117,193,121,94,117,193,128,94,117,193,135,94,117,193,142,94,117,193,149,94,117,193,156,94,117,193,163,94,117,193,170,94,117,193,177,94,117,193,184,94,117,193,191,94,117,193,198,94,117,193,205,94,117,193,212,94,117,193,219,94,117,193,226,94,117,193,233,94,117,193,240,94,117,193,16,94,117,193,23,94,117,193,30,94,117,5,5,100,117,5,5,102,117,5,5,104,117,5,5,106,117,5,5,108,117,5,5,110,117,5,5,112,117,5,5,114,117,5,5,116,117,5,5,118,117,5,5,120,117,5,5,122,117,5,5,124,117,5,5,126,117,5,5,128,117,5,5,130,117,5,5,132,117,5,5,134,117,5,5,136,117,5,5,138,117,5,5,140,117,5,5,142,117,5,5,144,117,5,5,146,117,5,5,148,117,5,5,150,117,5,5,152,117,5,5,154,117,5,5,156,117,5,5,158,117,5,5,160,117,5,5,162,117,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,206,32,228,0,255,255,255,255,255,255,255,255,193,219,4,118,193,226,4,118,193,233,4,118,193,240,4,118,193,247,4,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,5,118,193,16,5,118,193,23,5,118,193,30,5,118,193,37,5,118,193,44,5,118,193,51,5,118,193,58,5,118,193,65,5,118,193,72,5,118,193,79,5,118,193,86,5,118,193,93,5,118,193,100,5,118,193,107,5,118,193,114,5,118,193,121,5,118,193,128,5,118,193,135,5,118,193,142,5,118,193,149,5,118,193,156,5,118,193,163,5,118,193,170,5,118,193,177,5,118,193,184,5,118,193,191,5,118,193,198,5,118,5,5,7,118,193,2,9,118,193,9,9,118,193,16,9,118,193,23,9,118,193,30,9,118,193,37,9,118,193,44,9,118,193,51,9,118,193,58,9,118,193,65,9,118,193,72,9,118,193,79,9,118,193,86,9,118,193,93,9,118,193,100,9,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,107,9,118,193,114,9,118,193,121,9,118,193,128,9,118,193,135,9,118,201,0,242,0,201,160,5,1,201,64,25,1,193,9,13,118,193,16,13,118,201,224,44,1,193,30,13,118,193,37,13,118,193,44,13,118,193,51,13,118,193,58,13,118,193,9,18,118,193,16,18,118,193,23,18,118,193,30,18,118,193,37,18,118,193,44,18,118,5,5,20,118,193,2,22,118,193,9,22,118,193,16,22,118,193,23,22,118,193,30,22,118,193,37,22,118,193,44,22,118,193,51,22,118,193,58,22,118,193,65,22,118,193,72,22,118,193,79,22,118,193,86,22,118,193,93,22,118,193,100,22,118,193,107,22,118,193,114,22,118,193,121,22,118,193,128,22,118,193,135,22,118,5,5,24,118,206,64,228,0,206,64,228,0,206,64,228,0,206,64,228,0,206,64,228,0,206,64,228,0,5,5,28,118,193,2,30,118,193,9,30,118,193,16,30,118,193,23,30,118,193,30,30,118,193,37,30,118,193,100,30,118,193,107,30,118,193,114,30,118,193,121,30,118,193,128,30,118,193,135,30,118,193,44,30,118,197,35,170,2,193,58,30,118,193,65,30,118,193,72,30,118,32,5,20,118,32,5,20,118,32,5,24,118,32,5,24,118,193,79,30,118,193,86,30,118,193,93,30,118,255,255,255,255,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,206,224,233,0,193,70,39,118,193,77,39,118,193,84,39,118,193,91,39,118,193,98,39,118,193,105,39,118,193,112,39,118,193,119,39,118,193,126,39,118,193,133,39,118,193,42,39,118,193,49,39,118,193,56,39,118,193,63,39,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,52,118,193,16,52,118,193,23,52,118,193,30,52,118,193,37,52,118,193,44,52,118,193,51,52,118,193,72,52,118,193,128,52,118,193,124,54,118,193,247,52,118,193,245,53,118,193,3,55,118,193,17,55,118,193,24,55,118,193,38,55,118,193,45,55,118,193,66,55,118,193,80,55,118,193,87,55,118,193,101,55,118,193,115,55,118,193,129,55,118,193,136,55,118,193,52,55,118,193,122,55,118,193,77,53,118,193,254,52,118,193,133,53,118,193,140,53,118,193,10,55,118,193,31,55,118,193,215,54,118,193,222,54,118,193,229,54,118,193,58,52,118,193,86,52,118,193,107,52,118,193,149,52,118,193,163,52,118,193,184,52,118,193,198,52,118,193,233,52,118,193,14,53,118,193,28,53,118,193,49,53,118,193,63,53,118,193,98,53,118,193,175,53,118,193,196,53,118,193,217,53,118,193,5,54,118,193,145,54,118,193,33,54,118,193,68,54,118,193,103,54,118,193,173,54,118,193,194,54,118,193,236,54,118,193,243,54,118,193,238,53,118,193,93,52,118,193,114,52,118,193,135,52,118,193,65,52,118,193,79,52,118,193,100,52,118,193,142,52,118,193,156,52,118,193,177,52,118,193,191,52,118,193,212,52,118,193,219,52,118,193,226,52,118,193,7,53,118,193,21,53,118,193,42,53,118,193,56,53,118,193,91,53,118,193,105,53,118,193,112,53,118,193,119,53,118,193,168,53,118,193,189,53,118,193,210,53,118,193,252,53,118,193,26,54,118,193,47,54,118,193,61,54,118,193,75,54,118,193,96,54,118,193,131,54,118,193,138,54,118,193,159,54,118,193,187,54,118,193,208,54,118,193,205,52,118,193,170,52,118,193,240,52,118,193,110,54,118,193,70,53,118,193,84,53,118,193,35,53,118,193,126,53,118,193,182,53,118,193,203,53,118,193,12,54,118,193,82,54,118,193,180,54,118,193,201,54,118,193,152,54,118,193,166,54,118,193,250,54,118,193,224,53,118,193,40,54,118,193,121,52,118,193,117,54,118,193,54,54,118,193,89,54,118,193,19,54,118,193,231,53,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,59,55,118,193,73,55,118,193,147,53,118,193,108,55,118,193,154,53,118,193,161,53,118,193,143,55,118,193,150,55,118,193,94,55,118,193,164,55,118,193,157,55,118,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,160,5,60,118,160,5,62,118,160,5,64,118,160,5,66,118,160,5,68,118,160,5,70,118,160,5,72,118,160,5,74,118,160,5,76,118,160,5,78,118,160,5,80,118,160,5,82,118,160,5,84,118,160,5,86,118,160,5,88,118,160,5,90,118,160,5,92,118,160,5,94,118,160,5,96,118,160,5,98,118,160,5,100,118,160,5,102,118,160,5,104,118,160,5,106,118,160,5,108,118,160,5,110,118,160,5,112,118,160,5,114,118,160,5,116,118,160,5,118,118,160,5,120,118,160,5,122,118,5,5,92,118,5,5,94,118,5,5,96,118,5,5,98,118,5,5,100,118,5,5,102,118,5,5,104,118,5,5,106,118,5,5,108,118,5,5,110,118,5,5,112,118,5,5,114,118,5,5,116,118,5,5,118,118,5,5,120,118,5,5,122,118,5,5,124,118,5,5,126,118,5,5,128,118,5,5,130,118,5,5,132,118,5,5,134,118,5,5,136,118,5,5,138,118,5,5,140,118,5,5,142,118,5,5,144,118,5,5,146,118,5,5,148,118,5,5,150,118,5,5,152,118,5,5,154,118,160,5,124,118,160,5,126,118,160,5,128,118,160,5,130,118,160,5,132,118,160,5,134,118,160,5,136,118,160,5,138,118,160,5,140,118,160,5,142,118,160,5,144,118,160,5,146,118,160,5,148,118,160,5,150,118,160,5,152,118,160,5,154,118,160,5,156,118,160,5,158,118,160,5,160,118,160,5,162,118,160,5,164,118,160,5,166,118,160,5,168,118,160,5,170,118,160,5,172,118,160,5,174,118,160,5,176,118,160,5,178,118,160,5,180,118,160,5,182,118,160,5,184,118,160,5,186,118,5,5,156,118,5,5,158,118,5,5,160,118,5,5,162,118,5,5,164,118,5,5,166,118,5,5,168,118,5,5,170,118,5,5,172,118,5,5,174,118,5,5,176,118,5,5,178,118,5,5,180,118,5,5,182,118,5,5,184,118,5,5,186,118,5,5,188,118,5,5,190,118,5,5,192,118,5,5,194,118,5,5,196,118,5,5,198,118,5,5,200,118,5,5,202,118,5,5,204,118,5,5,206,118,5,5,208,118,5,5,210,118,5,5,212,118,5,5,214,118,5,5,216,118,5,5,218,118,160,5,188,118,160,5,190,118,160,5,192,118,160,5,194,118,160,5,196,118,160,5,198,118,160,5,200,118,160,5,202,118,160,5,204,118,160,5,206,118,160,5,208,118,160,5,210,118,160,5,212,118,160,5,214,118,160,5,216,118,160,5,218,118,160,5,220,118,160,5,222,118,160,5,224,118,160,5,226,118,160,5,228,118,160,5,230,118,255,255,255,255,255,255,255,255,5,5,220,118,5,5,222,118,5,5,224,118,5,5,226,118,5,5,228,118,5,5,230,118,255,255,255,255,255,255,255,255,198,193,167,0,198,225,167,0,198,1,168,0,198,33,168,0,198,65,168,0,198,97,168,0,198,129,168,0,198,161,168,0,198,193,168,0,198,225,168,0,198,1,169,0,198,33,169,0,198,65,169,0,198,97,169,0,198,129,169,0,198,161,169,0,198,193,169,0,198,225,169,0,198,1,170,0,198,33,170,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,206,96,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,206,160,227,0,193,218,245,118,193,122,244,118,193,136,244,118,193,143,244,118,193,150,244,118,193,157,244,118,193,164,244,118,193,171,244,118,193,178,244,118,193,185,244,118,193,192,244,118,193,199,244,118,193,206,244,118,193,213,244,118,193,220,244,118,193,227,244,118,193,234,244,118,193,241,244,118,193,255,244,118,193,8,245,118,193,15,245,118,193,22,245,118,193,29,245,118,193,36,245,118,193,43,245,118,193,50,245,118,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,192,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,224,227,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,206,0,228,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,6,119,5,112,6,119,5,5,8,119,193,51,56,119,5,112,8,119,5,120,8,119,5,5,10,119,5,112,10,119,5,5,12,119,5,112,12,119,193,23,56,119,193,37,56,119,5,116,12,119,5,120,12,119,5,124,12,119,193,9,14,119,193,16,14,119,193,23,14,119,5,5,16,119,5,112,16,119,5,116,16,119,5,120,16,119,5,124,16,119,193,9,18,119,193,72,56,119,5,5,20,119,5,5,22,119,5,112,22,119,5,117,22,119,5,122,22,119,5,5,24,119,5,112,24,119,5,120,24,119,5,5,26,119,5,112,26,119,5,5,30,119,5,112,30,119,5,5,32,119,5,112,32,119,5,5,34,119,5,5,36,119,5,5,38,119,5,5,40,119,5,112,40,119,5,118,40,119,5,121,40,119,5,124,40,119,5,5,44,119,5,112,44,119,5,120,44,119,5,5,46,119,5,112,46,119,5,120,46,119,5,112,36,119,193,2,48,119,5,5,50,119,5,112,50,119,5,120,50,119,5,5,52,119,5,112,52,119,5,5,54,119,5,112,54,119,193,2,56,119,193,9,56,119,5,5,62,119,5,112,62,119,5,5,64,119,5,5,66,119,5,5,68,119,5,5,70,119,5,5,72,119,5,5,74,119,5,5,76,119,5,5,78,119,5,112,78,119,5,120,78,119,5,5,80,119,5,5,82,119,5,5,84,119,5,5,86,119,5,5,88,119,5,112,88,119,5,5,90,119,5,5,92,119,5,5,94,119,5,5,96,119,5,5,98,119,5,5,100,119,5,5,102,119,5,5,104,119,5,5,106,119,5,5,108,119,5,112,108,119,5,5,110,119,5,112,110,119,5,120,110,119,160,5,62,119,160,112,62,119,160,5,64,119,160,5,66,119,160,5,68,119,160,5,70,119,160,5,72,119,160,5,74,119,160,5,76,119,160,5,78,119,160,112,78,119,160,120,78,119,160,5,80,119,160,5,82,119,160,5,84,119,160,5,86,119,160,5,88,119,160,112,88,119,160,5,90,119,160,5,92,119,160,5,94,119,160,5,96,119,160,5,98,119,160,5,100,119,160,5,102,119,160,5,104,119,160,5,106,119,160,5,108,119,160,112,108,119,160,5,110,119,160,112,110,119,160,120,110,119,160,5,112,119,160,5,114,119,160,5,116,119,160,112,116,119,160,5,118,119,160,5,120,119,160,5,122,119,160,5,124,119,160,5,126,119,160,5,128,119,160,5,130,119,160,112,130,119,160,5,132,119,160,112,132,119,160,5,134,119,160,5,136,119,160,5,138,119,160,5,140,119,160,5,142,119,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,146,119,5,112,146,119,5,5,148,119,5,5,150,119,5,112,150,119,193,2,152,119,193,9,152,119,5,5,154,119,5,112,154,119,5,5,156,119,5,112,156,119,5,5,158,119,5,112,158,119,5,5,160,119,5,112,160,119,5,5,162,119,5,112,162,119,5,5,164,119,5,112,164,119,5,5,166,119,5,5,168,119,5,112,168,119,5,5,170,119,5,112,170,119,5,5,172,119,5,112,172,119,5,5,174,119,5,112,174,119,5,5,176,119,5,112,176,119,5,5,178,119,5,112,178,119,193,2,180,119,193,9,180,119,193,16,180,119,193,23,180,119,5,5,182,119,5,112,182,119,5,5,184,119,5,112,184,119,5,5,186,119,5,112,186,119,5,5,188,119,5,112,188,119,5,5,190,119,5,5,192,119,5,112,192,119,193,2,194,119,193,9,194,119,193,16,194,119,5,5,196,119,5,112,196,119,5,5,198,119,5,112,198,119,5,5,200,119,5,112,200,119,5,5,202,119,5,112,202,119,5,5,204,119,5,112,204,119,193,2,206,119,193,9,206,119,193,16,206,119,5,5,208,119,5,112,208,119,5,5,210,119,5,112,210,119,5,5,212,119,5,112,212,119,5,5,214,119,5,112,214,119,193,2,216,119,193,9,216,119,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,4,120,193,16,4,120,193,23,4,120,193,30,4,120,193,37,4,120,193,44,4,120,193,51,4,120,193,58,4,120,193,65,4,120,193,72,4,120,193,79,4,120,193,86,4,120,5,5,6,120,193,2,8,120,193,9,8,120,193,16,8,120,193,23,8,120,193,30,8,120,193,37,8,120,193,44,8,120,193,51,8,120,193,58,8,120,193,65,8,120,193,72,8,120,193,79,8,120,193,86,8,120,193,93,8,120,193,100,8,120,193,107,8,120,193,114,8,120,5,5,10,120,193,2,12,120,193,9,12,120,193,16,12,120,193,23,12,120,193,30,12,120,193,37,12,120,193,44,12,120,193,51,12,120,193,58,12,120,193,65,12,120,193,72,12,120,193,79,12,120,193,86,12,120,193,93,12,120,193,100,12,120,193,107,12,120,193,114,12,120,193,121,12,120,193,128,12,120,193,135,12,120,5,5,14,120,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,206,128,232,0,5,5,18,120,193,2,20,120,193,9,20,120,193,16,20,120,193,23,20,120,193,30,20,120,193,37,20,120,193,44,20,120,193,51,20,120,193,58,20,120,193,65,20,120,5,5,22,120,193,2,24,120,193,9,24,120,193,16,24,120,193,23,24,120,193,30,24,120,5,5,26,120,5,5,28,120,5,5,30,120,193,2,32,120,193,9,32,120,193,16,32,120,193,23,32,120,193,30,32,120,5,5,34,120,193,2,36,120,193,9,36,120,193,16,36,120,193,23,36,120,193,30,36,120,193,37,36,120,193,44,36,120,193,51,36,120,193,58,36,120,5,5,38,120,193,2,40,120,193,9,40,120,193,16,40,120,5,5,42,120,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,206,160,232,0,5,5,46,120,5,5,48,120,5,5,50,120,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,206,192,232,0,5,5,55,120,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,206,224,232,0,5,5,59,120,193,2,61,120,193,9,61,120,193,16,61,120,193,23,61,120,193,30,61,120,5,5,63,120,193,2,65,120,193,9,65,120,193,16,65,120,193,23,65,120,193,30,65,120,193,37,65,120,5,5,67,120,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,0,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,32,233,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,206,96,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,128,240,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,206,160,242,0,5,5,103,120,5,5,105,120,5,5,107,120,5,5,109,120,5,5,111,120,5,5,113,120,5,5,115,120,5,5,117,120,5,5,119,120,5,5,121,120,5,5,123,120,5,5,125,120,5,5,127,120,5,5,129,120,5,5,131,120,5,5,133,120,5,5,135,120,5,5,137,120,5,5,139,120,5,5,141,120,5,5,143,120,5,5,145,120,5,5,147,120,5,5,149,120,5,5,151,120,5,5,153,120,5,5,155,120,5,5,157,120,5,5,159,120,5,5,161,120,5,5,163,120,5,5,165,120,160,5,103,120,160,5,105,120,160,5,107,120,160,5,109,120,160,5,111,120,160,5,113,120,160,5,115,120,160,5,117,120,160,5,119,120,160,5,121,120,160,5,123,120,160,5,125,120,160,5,127,120,160,5,129,120,160,5,131,120,160,5,133,120,160,5,135,120,160,5,137,120,160,5,139,120,160,5,141,120,160,5,143,120,160,5,145,120,160,5,147,120,160,5,149,120,160,5,151,120,160,5,153,120,160,5,155,120,160,5,157,120,160,5,159,120,160,5,161,120,160,5,163,120,160,5,165,120,160,5,233,120,160,5,235,120,5,5,169,120,5,5,171,120,5,5,173,120,5,5,175,120,5,5,177,120,5,5,179,120,5,5,181,120,5,5,183,120,5,5,185,120,5,5,187,120,5,5,189,120,5,5,191,120,5,5,193,120,5,5,195,120,5,5,197,120,5,5,199,120,5,5,201,120,5,5,203,120,5,5,205,120,5,5,207,120,5,5,209,120,5,5,211,120,5,5,213,120,5,5,215,120,5,5,217,120,5,5,219,120,5,5,221,120,5,5,223,120,5,5,225,120,5,5,227,120,160,5,169,120,160,5,171,120,160,5,173,120,160,5,175,120,160,5,177,120,160,5,179,120,160,5,181,120,160,5,183,120,160,5,185,120,160,5,187,120,160,5,189,120,160,5,191,120,160,5,193,120,160,5,195,120,160,5,197,120,160,5,199,120,160,5,201,120,160,5,203,120,160,5,205,120,160,5,207,120,160,5,209,120,160,5,211,120,160,5,213,120,160,5,215,120,160,5,217,120,160,5,219,120,160,5,221,120,160,5,223,120,160,5,225,120,160,5,227,120,160,5,229,120,160,5,231,120,5,5,6,121,5,5,8,121,5,5,10,121,5,5,12,121,5,5,14,121,5,5,16,121,5,5,18,121,5,5,20,121,5,5,22,121,5,5,24,121,5,5,26,121,5,5,28,121,5,5,30,121,5,5,32,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,44,121,5,5,46,121,5,5,48,121,193,2,50,121,193,9,50,121,193,16,50,121,193,23,50,121,5,5,52,121,5,5,54,121,5,5,56,121,5,5,58,121,5,5,60,121,5,5,62,121,5,5,86,123,5,5,88,123,5,5,90,123,5,5,92,123,5,5,94,123,5,5,98,123,5,5,104,123,5,5,106,123,5,5,108,123,5,5,110,123,5,5,16,123,5,5,32,123,5,5,44,123,5,5,112,123,32,5,76,123,5,5,24,123,255,255,255,255,16,5,6,121,32,5,8,121,32,5,183,121,16,5,10,121,32,5,187,121,32,5,189,121,16,5,12,121,32,5,14,121,16,5,16,121,32,5,195,121,32,5,197,121,32,5,199,121,32,5,201,121,32,5,203,121,32,5,205,121,198,1,171,0,172,5,6,121,174,5,8,121,174,5,183,121,172,5,10,121,174,5,187,121,174,5,189,121,172,5,12,121,174,5,14,121,172,5,16,121,174,5,195,121,174,5,197,121,174,5,199,121,174,5,201,121,174,5,203,121,174,5,205,121,174,5,52,121,172,5,18,121,172,5,20,121,174,5,22,121,174,5,66,121,172,5,24,121,174,5,26,121,172,5,28,121,172,5,30,121,174,5,32,121,172,5,34,121,172,5,36,121,172,5,38,121,172,5,40,121,172,5,42,121,255,255,255,255,32,5,52,121,16,5,18,121,16,5,20,121,32,5,22,121,32,5,66,121,16,5,24,121,32,5,26,121,16,5,28,121,16,5,30,121,32,5,32,121,16,5,34,121,16,5,36,121,16,5,38,121,16,5,40,121,16,5,42,121,16,5,103,121,32,5,105,121,32,5,107,121,32,5,109,121,32,5,111,121,32,5,113,121,32,5,115,121,32,5,117,121,16,5,119,121,32,5,121,121,32,5,123,121,32,5,125,121,32,5,127,121,16,5,129,121,32,5,131,121,32,5,133,121,32,5,135,121,32,5,137,121,32,5,139,121,16,5,141,121,32,5,143,121,198,225,170,0,32,5,46,121,32,5,48,121,32,5,235,121,32,5,237,121,32,5,241,121,32,5,245,121,198,33,171,0,198,65,171,0,198,97,171,0,32,5,56,121,198,129,171,0,198,161,171,0,32,5,58,121,32,5,60,121,32,5,64,121,32,5,68,121,32,5,70,121,32,5,74,121,32,5,78,121,32,5,82,121,32,5,84,121,32,5,86,121,32,5,88,121,32,5,90,121,198,65,170,0,198,97,170,0,198,129,170,0,5,5,64,121,5,5,66,121,5,5,68,121,5,5,70,121,193,2,72,121,193,9,72,121,193,16,72,121,5,5,74,121,5,5,76,121,5,5,78,121,5,5,80,121,5,5,82,121,5,5,84,121,5,5,86,121,5,5,88,121,5,5,90,121,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,206,64,227,0,5,5,95,121,5,5,97,121,5,5,99,121,193,2,101,121,193,9,101,121,193,16,101,121,193,23,101,121,193,30,101,121,193,240,101,121,193,37,101,121,193,44,101,121,193,51,101,121,193,58,101,121,193,65,101,121,193,72,101,121,193,79,101,121,193,86,101,121,193,93,101,121,193,100,101,121,193,107,101,121,193,114,101,121,193,121,101,121,193,128,101,121,193,135,101,121,193,142,101,121,193,149,101,121,193,156,101,121,193,163,101,121,193,170,101,121,193,177,101,121,193,184,101,121,193,191,101,121,193,198,101,121,193,205,101,121,193,212,101,121,193,219,101,121,193,226,101,121,193,233,101,121,255,255,255,255,255,255,255,255,255,255,255,255,193,247,101,121,5,5,103,121,5,5,105,121,5,5,107,121,5,5,109,121,5,5,111,121,5,5,113,121,5,5,115,121,5,5,117,121,5,5,119,121,5,5,121,121,5,5,123,121,5,5,125,121,5,5,127,121,5,5,129,121,5,5,131,121,5,5,133,121,5,5,135,121,5,5,137,121,5,5,139,121,5,5,141,121,5,5,143,121,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,255,255,255,255,255,255,255,255,172,5,103,121,174,5,105,121,174,5,107,121,174,5,109,121,174,5,111,121,174,5,113,121,255,255,255,255,255,255,255,255,174,5,115,121,174,5,117,121,172,5,119,121,174,5,121,121,174,5,123,121,174,5,125,121,255,255,255,255,255,255,255,255,174,5,127,121,172,5,129,121,174,5,131,121,174,5,133,121,174,5,135,121,174,5,137,121,255,255,255,255,255,255,255,255,174,5,139,121,172,5,141,121,174,5,143,121,255,255,255,255,255,255,255,255,255,255,255,255,206,96,227,0,206,96,227,0,206,96,227,0,206,96,227,0,5,5,147,121,5,5,149,121,5,5,151,121,5,5,153,121,5,5,155,121,193,2,157,121,193,9,157,121,193,16,157,121,193,23,157,121,193,30,157,121,193,37,157,121,193,44,157,121,193,51,157,121,5,5,159,121,5,5,161,121,5,5,163,121,5,5,165,121,193,2,167,121,193,9,167,121,193,16,167,121,193,23,167,121,193,30,167,121,193,37,167,121,193,44,167,121,193,51,167,121,193,58,167,121,5,5,169,121,5,5,171,121,5,5,173,121,5,5,175,121,193,2,177,121,193,9,177,121,193,16,177,121,193,23,177,121,193,30,177,121,193,37,177,121,5,5,179,121,5,5,181,121,5,5,183,121,5,5,185,121,5,5,187,121,5,5,189,121,5,5,191,121,5,5,193,121,5,5,195,121,5,5,197,121,5,5,199,121,5,5,201,121,5,5,203,121,5,5,205,121,5,5,207,121,5,5,209,121,5,5,211,121,5,5,213,121,5,5,215,121,5,5,217,121,5,5,219,121,5,5,221,121,5,5,223,121,5,5,225,121,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,206,32,234,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,5,5,227,121,5,5,229,121,5,5,231,121,193,2,233,121,193,9,233,121,193,16,233,121,193,23,233,121,5,5,235,121,5,5,237,121,193,2,239,121,193,9,239,121,193,16,239,121,5,5,241,121,5,5,243,121,5,5,245,121,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,128,227,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,206,64,234,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,5,6,122,133,5,6,122,3,5,8,122,133,5,8,122,3,5,10,122,133,5,10,122,3,5,14,122,133,5,14,122,3,5,16,122,133,5,16,122,133,5,18,122,197,98,185,2,133,5,20,122,197,66,188,2,133,5,22,122,197,98,193,2,133,5,24,122,197,226,195,2,133,5,26,122,197,194,196,2,133,5,28,122,197,162,198,2,133,5,30,122,197,66,200,2,133,5,32,122,197,162,201,2,133,5,34,122,197,34,202,2,133,5,36,122,197,98,203,2,133,5,38,122,197,197,179,2,197,100,180,2,197,229,180,2,197,99,179,2,197,133,181,2,197,35,182,2,197,3,183,2,197,230,183,2,197,100,183,2,197,3,185,2,197,163,184,2,197,227,185,2,197,68,186,2,197,196,186,2,197,68,187,2,197,196,187,2,197,196,188,2,197,68,189,2,197,196,189,2,197,70,190,2,197,2,191,2,197,70,191,2,197,6,192,2,197,197,192,2,197,132,191,2,197,230,193,2,197,166,194,2,197,100,195,2,197,99,196,2,197,67,198,2,197,68,197,2,197,36,199,2,133,5,12,122,193,93,104,122,193,2,104,122,193,9,104,122,193,16,104,122,193,23,104,122,193,30,104,122,193,37,104,122,193,44,104,122,193,51,104,122,193,58,104,122,193,65,104,122,193,72,104,122,193,79,104,122,193,86,104,122,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,197,2,225,2,197,194,197,2,49,5,28,122,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,193,191,0,198,33,186,0,198,97,182,0,197,98,206,2,198,1,176,0,198,225,184,0,198,129,212,0,198,161,185,0,198,97,176,0,198,129,194,0,198,1,199,0,198,65,193,0,198,161,179,0,198,193,190,0,198,65,178,0,198,129,193,0,197,165,199,2,197,5,201,2,197,163,202,2,197,3,203,2,197,100,204,2,197,163,206,2,197,131,207,2,197,98,194,2,197,226,207,2,197,35,208,2,197,99,211,2,197,134,209,2,197,68,210,2,197,197,210,2,197,198,212,2,197,132,213,2,197,3,214,2,197,99,214,2,197,198,215,2,197,132,216,2,197,6,217,2,197,195,217,2,197,69,220,2,197,227,220,2,197,68,221,2,197,195,221,2,197,36,222,2,197,37,219,2,197,196,219,2,197,101,224,2,197,68,225,2,197,194,225,2,197,226,203,2,133,5,40,122,197,226,204,2,3,5,42,122,133,5,42,122,197,98,205,2,133,5,44,122,197,226,205,2,133,5,46,122,197,2,207,2,133,5,48,122,133,5,50,122,133,5,52,122,133,5,54,122,133,5,56,122,133,5,58,122,197,130,208,2,197,2,209,2,133,5,60,122,197,194,211,2,197,66,212,2,133,5,62,122,197,194,214,2,197,66,215,2,133,5,64,122,197,34,218,2,197,162,218,2,133,5,66,122,197,162,222,2,197,34,223,2,133,5,68,122,133,5,70,122,197,34,204,2,144,5,40,122,197,34,205,2,16,5,42,122,158,5,42,122,197,162,205,2,144,5,44,122,197,34,206,2,151,5,46,122,197,66,207,2,144,5,48,122,144,5,50,122,155,5,52,122,144,5,54,122,144,5,56,122,152,5,58,122,197,194,208,2,197,66,209,2,152,5,60,122,197,2,212,2,197,130,212,2,152,5,62,122,197,2,215,2,197,130,215,2,152,5,64,122,197,98,218,2,197,226,218,2,152,5,66,122,197,226,222,2,197,98,223,2,144,5,68,122,144,5,70,122,38,5,40,122,44,5,42,122,38,5,44,122,37,5,46,122,38,5,48,122,38,5,50,122,49,5,52,122,38,5,54,122,38,5,56,122,40,5,58,122,40,5,60,122,40,5,62,122,40,5,64,122,40,5,66,122,38,5,68,122,38,5,70,122,40,5,72,122,38,5,74,122,44,5,76,122,44,5,78,122,44,5,80,122,40,5,82,122,40,5,84,122,37,5,86,122,40,5,88,122,40,5,90,122,40,5,92,122,40,5,94,122,44,5,96,122,44,5,98,122,49,5,100,122,198,226,176,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,5,96,122,3,5,98,122,3,5,100,122,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,5,96,122,16,5,98,122,16,5,100,122,16,5,102,122,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,206,32,241,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,5,6,123,5,5,8,123,5,5,10,123,5,5,14,123,5,5,18,123,5,5,20,123,5,5,22,123,5,5,26,123,5,5,28,123,5,5,30,123,5,5,36,123,5,5,38,123,5,5,40,123,5,5,42,123,5,5,50,123,5,5,52,123,5,5,54,123,5,5,56,123,5,5,58,123,5,5,60,123,5,5,62,123,5,5,70,123,5,5,72,123,5,5,76,123,5,5,78,123,5,5,82,123,5,5,84,123,5,112,6,123,5,112,58,123,5,112,38,123,5,112,28,123,5,5,80,123,5,112,80,123,5,5,74,123,5,112,72,123,5,120,108,123,5,112,70,123,5,112,106,123,5,112,108,123,5,5,12,123,5,5,34,123,5,112,82,123,5,112,86,123,5,5,100,123,5,5,102,123,5,5,96,123,32,112,106,123,32,5,8,123,32,5,20,123,32,5,30,123,32,5,36,123,5,5,64,123,5,5,66,123,5,5,68,123,32,5,28,123,5,5,46,123,5,5,48,123,5,5,114,123,5,5,116,123,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,206,32,232,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,7,152,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,153,123,193,16,153,123,193,23,153,123,193,30,153,123,5,5,155,123,193,2,157,123,32,5,155,123,193,9,157,123,193,16,157,123,193,23,157,123,193,30,157,123,193,37,157,123,193,44,157,123,193,51,157,123,193,65,157,123,193,72,157,123,5,5,159,123,193,2,161,123,193,9,161,123,32,5,159,123,193,16,161,123,193,23,161,123,193,30,161,123,193,37,161,123,193,44,161,123,193,51,161,123,193,58,161,123,193,65,161,123,193,72,161,123,193,79,161,123,193,86,161,123,193,93,161,123,193,9,169,123,193,16,169,123,193,23,169,123,193,30,169,123,193,37,169,123,193,37,153,123,193,114,165,123,193,100,165,123,193,58,157,123,193,163,165,123,193,79,157,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,72,169,123,193,44,169,123,193,51,169,123,193,58,169,123,193,65,169,123,193,79,169,123,193,86,169,123,193,93,169,123,193,100,169,123,193,107,169,123,193,121,169,123,193,128,169,123,193,135,169,123,193,142,169,123,193,156,169,123,193,163,169,123,193,170,169,123,193,100,161,123,193,107,161,123,193,114,161,123,5,5,163,123,193,2,165,123,32,5,163,123,193,9,165,123,193,16,165,123,193,23,165,123,193,30,165,123,193,37,165,123,193,44,165,123,193,51,165,123,193,58,165,123,193,65,165,123,193,72,165,123,193,79,165,123,193,86,165,123,193,93,165,123,193,107,165,123,193,121,165,123,193,128,165,123,193,135,165,123,193,142,165,123,193,149,165,123,193,156,165,123,193,170,165,123,193,177,165,123,193,184,165,123,5,5,167,123,193,2,169,123,32,5,167,123,193,84,170,123,193,114,169,123,193,112,170,123,193,149,169,123,193,184,169,123,193,105,170,123,193,226,169,123,193,42,170,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,189,170,123,193,196,170,123,193,203,170,123,193,210,170,123,193,217,170,123,193,224,170,123,193,231,170,123,193,238,170,123,193,245,170,123,193,252,170,123,193,5,171,123,193,12,171,123,193,19,171,123,193,26,171,123,193,33,171,123,193,40,171,123,193,47,171,123,193,177,169,123,193,191,169,123,193,198,169,123,193,205,169,123,193,212,169,123,193,219,169,123,193,233,169,123,193,240,169,123,193,247,169,123,193,254,169,123,193,7,170,123,193,14,170,123,193,21,170,123,193,28,170,123,193,49,170,123,193,56,170,123,193,63,170,123,193,70,170,123,193,77,170,123,193,91,170,123,193,98,170,123,193,119,170,123,193,126,170,123,193,133,170,123,193,140,170,123,193,147,170,123,193,154,170,123,193,161,170,123,193,168,170,123,193,175,170,123,193,182,170,123,193,35,170,123,5,5,174,123,5,5,176,123,5,5,178,123,5,5,180,123,5,5,182,123,5,5,184,123,5,5,186,123,5,5,188,123,5,5,190,123,5,5,192,123,5,5,194,123,5,5,196,123,5,5,198,123,5,5,200,123,5,5,202,123,5,5,204,123,5,5,206,123,5,5,208,123,5,5,210,123,5,5,212,123,5,5,214,123,5,5,216,123,5,5,218,123,5,5,220,123,5,5,222,123,5,5,224,123,5,5,226,123,5,5,228,123,5,5,230,123,5,5,232,123,5,5,234,123,5,5,236,123,160,5,174,123,160,5,176,123,160,5,178,123,160,5,180,123,160,5,182,123,160,5,184,123,160,5,186,123,160,5,188,123,160,5,190,123,160,5,192,123,160,5,194,123,160,5,196,123,160,5,198,123,160,5,200,123,160,5,202,123,160,5,204,123,160,5,206,123,160,5,208,123,160,5,210,123,160,5,212,123,160,5,214,123,160,5,216,123,160,5,218,123,160,5,220,123,160,5,222,123,160,5,224,123,160,5,226,123,160,5,228,123,160,5,230,123,160,5,232,123,160,5,234,123,160,5,236,123,193,58,238,123,193,65,238,123,193,72,238,123,193,79,238,123,193,86,238,123,193,93,238,123,193,100,238,123,193,107,238,123,193,114,238,123,193,121,238,123,193,128,238,123,193,135,238,123,193,142,238,123,193,149,238,123,193,156,238,123,193,163,238,123,193,170,238,123,193,177,238,123,193,184,238,123,193,191,238,123,193,198,238,123,193,9,238,123,193,16,238,123,193,23,238,123,193,30,238,123,193,37,238,123,193,44,238,123,193,51,238,123,193,205,238,123,193,212,238,123,193,254,238,123,193,219,238,123,193,226,238,123,193,233,238,123,193,240,238,123,193,247,238,123,193,7,239,123,193,49,239,123,193,35,239,123,193,133,239,123,193,56,239,123,193,42,239,123,193,140,239,123,193,105,239,123,193,91,239,123,193,112,239,123,193,98,239,123,193,14,239,123,193,147,239,123,193,28,239,123,193,21,239,123,193,77,239,123,193,63,239,123,193,119,239,123,193,84,239,123,193,70,239,123,193,126,239,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,206,160,240,0,193,19,242,123,193,26,242,123,193,33,242,123,193,40,242,123,193,47,242,123,193,54,242,123,193,61,242,123,193,68,242,123,193,75,242,123,193,82,242,123,193,89,242,123,193,96,242,123,193,103,242,123,193,110,242,123,193,117,242,123,193,124,242,123,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,96,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,206,128,242,0,193,9,247,123,193,16,247,123,193,23,247,123,193,30,247,123,193,37,247,123,193,44,247,123,193,51,247,123,193,58,247,123,193,65,247,123,193,72,247,123,193,79,247,123,193,86,247,123,193,93,247,123,193,100,247,123,193,107,247,123,193,114,247,123,193,121,247,123,193,128,247,123,193,135,247,123,193,142,247,123,193,149,247,123,193,156,247,123,193,163,247,123,193,170,247,123,193,177,247,123,193,184,247,123,193,191,247,123,193,198,247,123,193,205,247,123,255,255,255,255,255,255,255,255,255,255,255,255,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,206,224,234,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,251,123,193,16,251,123,193,23,251,123,193,30,251,123,193,37,251,123,193,44,251,123,193,51,251,123,193,58,251,123,193,65,251,123,193,72,251,123,193,79,251,123,193,86,251,123,193,93,251,123,193,100,251,123,193,107,251,123,193,121,251,123,193,128,251,123,193,135,251,123,193,142,251,123,193,149,251,123,193,156,251,123,193,163,251,123,193,170,251,123,193,177,251,123,193,184,251,123,193,191,251,123,193,198,251,123,193,205,251,123,193,212,251,123,193,219,251,123,193,226,251,123,193,114,251,123,160,5,70,124,160,5,72,124,160,5,74,124,160,5,76,124,160,5,78,124,160,5,80,124,160,5,82,124,160,5,84,124,5,5,6,124,5,5,8,124,5,5,10,124,5,5,12,124,5,5,14,124,5,5,16,124,5,5,18,124,5,5,20,124,5,5,22,124,5,5,24,124,5,5,26,124,5,5,28,124,5,5,30,124,5,5,32,124,5,5,34,124,5,5,36,124,5,5,38,124,5,5,40,124,5,5,42,124,5,5,44,124,5,5,46,124,5,5,48,124,5,5,50,124,5,5,52,124,160,5,6,124,160,5,8,124,160,5,10,124,160,5,12,124,160,5,14,124,160,5,16,124,160,5,18,124,160,5,20,124,160,5,22,124,160,5,24,124,160,5,26,124,160,5,28,124,160,5,30,124,160,5,32,124,160,5,34,124,160,5,36,124,160,5,38,124,160,5,40,124,160,5,42,124,160,5,44,124,160,5,46,124,160,5,48,124,160,5,50,124,160,5,52,124,160,5,54,124,160,5,56,124,160,5,58,124,160,5,60,124,160,5,62,124,160,5,64,124,160,5,66,124,160,5,68,124,5,5,54,124,5,5,56,124,5,5,58,124,5,5,60,124,5,5,62,124,5,5,64,124,5,5,66,124,5,5,68,124,5,5,70,124,5,5,72,124,5,5,74,124,5,5,76,124,5,5,78,124,5,5,80,124,5,5,82,124,5,5,84,124,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,64,235,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,206,96,241,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,250,90,124,193,3,91,124,193,10,91,124,193,17,91,124,193,24,91,124,193,31,91,124,193,38,91,124,193,45,91,124,193,52,91,124,193,59,91,124,193,66,91,124,193,73,91,124,193,80,91,124,255,255,255,255,255,255,255,255,255,255,255,255,193,9,92,124,193,16,92,124,193,23,92,124,193,30,92,124,193,37,92,124,193,44,92,124,193,51,92,124,193,58,92,124,193,65,92,124,193,72,92,124,193,79,92,124,193,86,92,124,193,93,92,124,193,100,92,124,193,107,92,124,193,114,92,124,193,121,92,124,193,128,92,124,193,135,92,124,193,142,92,124,193,149,92,124,193,156,92,124,193,163,92,124,193,170,92,124,193,177,92,124,193,184,92,124,193,191,92,124,193,198,92,124,193,205,92,124,193,212,92,124,255,255,255,255,255,255,255,255,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,206,128,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,206,160,235,0,193,9,98,124,193,16,98,124,193,23,98,124,193,30,98,124,193,37,98,124,193,44,98,124,193,51,98,124,193,58,98,124,193,65,98,124,193,72,98,124,193,79,98,124,193,86,98,124,193,93,98,124,193,100,98,124,193,107,98,124,193,114,98,124,193,121,98,124,193,128,98,124,193,135,98,124,193,142,98,124,193,149,98,124,193,156,98,124,193,163,98,124,193,170,98,124,193,177,98,124,193,184,98,124,193,191,98,124,193,198,98,124,193,205,98,124,193,212,98,124,193,219,98,124,255,255,255,255,193,9,99,124,193,16,99,124,193,23,99,124,193,30,99,124,193,37,99,124,193,44,99,124,193,51,99,124,193,58,99,124,193,65,99,124,193,72,99,124,193,79,99,124,193,86,99,124,255,255,255,255,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,206,96,234,0,255,255,255,255,193,21,100,124,193,28,100,124,193,35,100,124,193,42,100,124,193,49,100,124,193,56,100,124,193,63,100,124,193,70,100,124,193,77,100,124,193,84,100,124,193,91,100,124,193,98,100,124,193,105,100,124,193,112,100,124,193,119,100,124,193,126,100,124,193,133,100,124,193,140,100,124,193,147,100,124,255,255,255,255,193,154,100,124,193,161,100,124,255,255,255,255,193,168,100,124,193,175,100,124,193,182,100,124,193,189,100,124,193,196,100,124,193,203,100,124,193,210,100,124,193,217,100,124,193,224,100,124,193,231,100,124,193,238,100,124,193,245,100,124,193,252,100,124,193,5,101,124,193,12,101,124,255,255,255,255,255,255,255,255,193,19,101,124,193,26,101,124,193,33,101,124,193,40,101,124,193,47,101,124,193,54,101,124,193,61,101,124,193,68,101,124,193,75,101,124,193,82,101,124,193,89,101,124,193,96,101,124,193,103,101,124,193,110,101,124,255,255,255,255,255,255,255,255,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,206,128,234,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,206,192,235,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,154,113,124,193,161,113,124,193,168,113,124,193,175,113,124,193,182,113,124,193,189,113,124,193,196,113,124,193,203,113,124,193,210,113,124,193,217,113,124,193,224,113,124,193,231,113,124,193,238,113,124,193,245,113,124,193,252,113,124,193,5,114,124,193,12,114,124,193,19,114,124,193,26,114,124,193,33,114,124,193,40,114,124,193,47,114,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,54,114,124,193,61,114,124,193,68,114,124,193,75,114,124,193,82,114,124,193,89,114,124,193,96,114,124,193,103,114,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,115,124,193,16,115,124,193,23,115,124,193,30,115,124,193,37,115,124,193,44,115,124,255,255,255,255,255,255,255,255,193,51,115,124,255,255,255,255,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,206,224,235,0,255,255,255,255,193,112,116,124,193,119,116,124,255,255,255,255,255,255,255,255,255,255,255,255,193,126,116,124,255,255,255,255,255,255,255,255,193,133,116,124,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,206,64,236,0,32,5,132,124,5,5,132,124,32,5,134,124,5,5,134,124,193,2,136,124,193,9,136,124,32,5,138,124,5,5,138,124,193,2,140,124,193,9,140,124,193,16,140,124,193,23,140,124,32,5,142,124,5,5,142,124,32,5,144,124,5,5,144,124,32,5,146,124,5,5,146,124,32,5,148,124,5,5,148,124,32,5,150,124,5,5,150,124,193,2,152,124,193,9,152,124,193,16,152,124,193,23,152,124,193,30,152,124,193,37,152,124,32,5,154,124,5,5,154,124,193,2,156,124,255,255,255,255,193,9,162,124,193,16,162,124,193,23,162,124,193,30,162,124,193,37,162,124,193,44,162,124,193,51,162,124,193,58,162,124,193,65,162,124,193,72,162,124,193,79,162,124,193,86,162,124,193,93,162,124,193,100,162,124,193,107,162,124,193,114,162,124,193,121,162,124,193,128,162,124,193,135,162,124,193,142,162,124,193,149,162,124,193,156,162,124,198,2,172,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,9,163,124,193,16,163,124,193,23,163,124,193,30,163,124,193,37,163,124,193,44,163,124,193,51,163,124,5,5,165,124,5,112,165,124,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,206,32,236,0,193,9,201,124,193,16,201,124,193,23,201,124,193,30,201,124,193,37,201,124,193,44,201,124,193,51,201,124,193,58,201,124,193,65,201,124,193,72,201,124,193,79,201,124,193,86,201,124,193,93,201,124,193,100,201,124,193,107,201,124,193,114,201,124,193,121,201,124,193,128,201,124,193,135,201,124,193,142,201,124,193,149,201,124,193,156,201,124,193,163,201,124,193,170,201,124,193,177,201,124,193,184,201,124,193,191,201,124,193,198,201,124,193,205,201,124,193,212,201,124,193,219,201,124,193,226,201,124,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,206,96,236,0,193,9,205,124,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,32,235,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,128,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,193,222,223,124,193,229,223,124,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,160,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,206,192,239,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,206,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,206,32,240,0,5,112,36,125,5,112,38,125,5,112,40,125,5,112,42,125,5,112,44,125,5,112,46,125,5,112,48,125,5,120,48,125,5,112,50,125,5,112,52,125,5,112,54,125,5,120,54,125,5,112,56,125,5,120,56,125,5,112,58,125,5,120,58,125,5,112,60,125,5,112,62,125,5,112,64,125,5,117,66,125,5,122,66,125,5,112,68,125,5,112,70,125,5,112,72,125,5,112,74,125,5,120,74,125,5,112,76,125,5,120,76,125,5,112,78,125,5,112,80,125,193,16,82,125,193,23,82,125,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,206,64,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,206,192,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,206,224,240,0,193,96,154,125,193,98,154,125,193,100,154,125,193,102,154,125,193,104,154,125,193,106,154,125,193,108,154,125,193,110,154,125,193,112,154,125,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,206,64,241,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,206,0,241,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,193,119,0,198,225,173,0,198,129,174,0,198,193,174,0,198,225,174,0,198,161,175,0,198,65,121,0,198,65,176,0,198,129,176,0,198,129,177,0,198,161,177,0,198,33,123,0,198,1,178,0,198,97,178,0,198,161,178,0,198,193,178,0,198,1,179,0,198,33,179,0,198,225,179,0,198,33,180,0,198,65,180,0,198,97,180,0,198,129,180,0,198,65,124,0,198,65,181,0,198,129,181,0,198,225,181,0,198,33,182,0,198,65,182,0,198,129,182,0,198,161,183,0,198,33,126,0,198,65,172,0,198,193,175,0,198,225,172,0,198,193,183,0,198,33,176,0,198,225,177,0,198,193,172,0,198,193,177,0,198,129,175,0,198,193,180,0,198,1,195,0,198,193,198,0,198,1,198,0,198,161,195,0,198,193,216,0,198,1,184,0,198,1,194,0,198,193,195,0,198,97,195,0,198,97,204,0,198,33,183,0,198,97,200,0,198,129,213,0,198,129,204,0,198,1,180,0,198,1,205,0,198,65,202,0,198,225,185,0,198,225,215,0,198,97,177,0,198,193,181,0,198,97,198,0,198,129,179,0,198,65,206,0,198,161,201,0,198,161,213,0,198,97,184,0,198,65,183,0,198,161,198,0,198,33,192,0,198,97,192,0,198,129,172,0,198,33,173,0,198,193,215,0,198,97,188,0,198,97,174,0,198,225,182,0,198,65,192,0,198,65,214,0,198,1,192,0,198,161,204,0,198,65,205,0,198,1,183,0,198,129,198,0,198,129,195,0,198,33,195,0,198,33,202,0,198,193,179,0,198,129,183,0,198,97,216,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,193,220,171,251,193,122,79,252,193,172,95,252,193,248,45,251,193,116,132,252,193,160,14,251,193,44,168,251,193,76,2,251,193,12,24,252,193,74,216,251,193,226,174,252,193,14,54,251,193,190,93,251,193,20,114,252,193,254,232,252,193,156,33,253,193,244,14,252,193,128,78,253,193,254,22,252,193,236,194,251,193,222,224,252,193,162,198,251,193,164,95,252,193,76,9,251,193,248,27,251,193,82,32,251,193,12,241,251,193,218,172,252,193,108,222,252,193,140,34,253,193,124,98,253,193,176,44,251,193,106,20,253,193,198,136,252,193,174,35,253,193,116,37,253,193,132,50,253,193,148,52,253,193,178,78,253,193,170,81,253,193,218,133,253,193,88,148,253,193,28,150,253,193,120,173,251,193,10,56,252,193,28,219,252,255,255,255,255,255,255,255,255,193,48,3,251,193,146,31,251,193,210,27,251,193,90,13,251,193,40,26,251,193,66,29,251,193,254,42,251,193,246,44,251,193,92,67,251,193,192,64,251,193,84,67,251,193,228,69,251,193,182,93,251,193,52,96,251,193,132,103,251,193,254,103,251,198,193,197,0,198,33,198,0,198,65,198,0,198,225,198,0,198,65,199,0,198,97,199,0,198,1,174,0,198,65,200,0,198,161,200,0,198,1,201,0,198,129,202,0,198,129,203,0,198,33,204,0,198,65,204,0,198,161,205,0,198,33,206,0,198,97,206,0,198,1,207,0,198,193,206,0,198,33,207,0,198,65,207,0,198,225,206,0,198,129,207,0,198,161,207,0,198,193,207,0,198,33,208,0,198,225,208,0,198,193,208,0,198,33,209,0,198,129,209,0,198,97,210,0,198,129,210,0,193,100,44,253,193,102,232,251,193,218,70,253,193,10,50,253,193,144,34,252,193,112,4,251,193,130,56,251,193,118,224,253,193,118,224,253,193,248,103,251,193,242,98,253,193,50,67,251,193,140,103,251,193,224,186,251,193,20,106,252,193,164,192,252,193,126,251,252,193,46,9,253,193,152,19,253,193,54,87,253,193,92,250,251,193,108,25,252,193,20,51,252,193,94,81,252,193,230,232,252,193,142,94,253,193,72,167,253,193,202,7,251,193,56,50,251,193,224,4,252,193,76,63,252,193,32,250,252,198,161,174,0,198,1,182,0,198,97,175,0,198,65,175,0,198,33,175,0,198,193,176,0,198,33,178,0,198,225,178,0,198,65,179,0,198,97,179,0,198,97,181,0,198,161,181,0,198,225,186,0,198,1,187,0,198,65,187,0,198,97,187,0,198,33,187,0,198,129,187,0,198,161,188,0,198,65,189,0,198,97,190,0,198,65,190,0,198,65,191,0,198,33,191,0,198,225,191,0,198,193,192,0,255,255,255,255,198,225,193,0,198,33,194,0,198,65,195,0,198,225,196,0,198,65,197,0,193,250,2,251,193,206,4,251,193,2,5,251,193,116,8,251,193,106,12,251,193,126,14,251,193,152,14,251,193,20,16,251,193,14,18,251,193,68,19,251,193,160,21,251,193,112,21,251,193,76,24,251,193,14,34,251,193,68,26,251,193,102,26,251,193,164,27,251,193,156,28,251,193,228,28,251,193,98,29,251,193,194,27,251,193,162,29,251,193,166,29,251,193,76,30,251,193,180,30,251,193,114,10,251,193,78,31,251,193,146,31,251,193,24,140,253,193,200,34,251,193,140,35,251,193,124,36,251,193,178,209,253,193,148,34,253,193,232,98,251,193,134,160,251,193,236,166,252,193,102,203,252,193,126,68,252,193,22,131,252,193,252,49,253,193,44,135,253,193,118,98,251,193,24,134,251,193,126,250,251,193,38,29,252,193,174,36,252,193,130,175,252,193,210,181,252,193,170,126,253,193,146,43,251,193,234,203,252,193,94,33,251,193,88,32,251,193,86,143,252,193,104,178,252,193,94,230,252,193,196,127,253,193,180,39,253,193,198,193,251,193,92,250,251,193,168,35,253,193,216,4,251,193,158,125,251,193,36,18,253,193,156,33,253,193,160,157,251,193,216,170,251,193,88,198,251,193,86,14,252,193,216,164,252,193,192,78,252,193,182,10,251,193,252,83,251,193,158,125,251,193,98,145,251,193,240,171,251,193,128,80,252,193,64,85,252,193,128,193,252,193,212,200,252,193,80,100,253,193,42,135,253,193,76,139,253,193,36,149,253,193,112,13,251,193,138,139,252,193,88,97,253,193,212,131,253,193,116,176,251,193,252,7,251,193,134,21,251,193,48,126,251,193,254,131,251,193,206,218,251,193,92,250,251,193,32,223,251,193,232,235,251,193,90,241,251,193,60,24,252,193,70,82,252,193,214,100,252,193,10,192,252,193,192,18,253,193,228,18,253,193,98,98,253,193,216,133,253,193,166,47,251,193,102,34,252,193,144,57,251,193,110,59,252,193,214,86,252,193,190,248,252,193,34,130,253,193,252,190,253,193,236,210,253,193,196,236,251,193,8,29,252,193,190,215,252,193,118,152,252,193,148,155,252,193,18,169,252,193,144,72,252,193,98,49,252,193,56,38,253,193,90,10,251,193,44,226,252,193,244,36,251,193,16,206,253,193,90,141,251,193,16,43,252,193,184,245,252,193,114,23,253,193,186,193,251,193,80,214,252,193,200,12,253,193,48,157,251,193,240,233,251,193,236,26,252,193,98,74,252,193,196,88,253,193,102,13,251,193,150,31,251,193,208,43,251,193,192,207,251,193,44,3,252,193,174,62,252,193,104,112,252,193,84,198,252,193,214,248,252,193,56,253,252,193,36,61,253,193,36,138,253,193,126,184,253,193,208,203,253,193,58,129,252,193,76,137,252,193,44,178,252,193,14,230,252,193,206,103,253,193,106,59,252,193,118,104,252,193,118,238,252,193,226,84,253,193,12,224,253,193,114,227,251,193,228,125,253,193,248,40,251,193,142,236,251,193,36,238,251,193,184,25,252,193,42,34,252,193,136,81,252,193,54,95,252,193,110,128,252,193,190,174,252,193,166,151,253,193,80,28,251,193,254,189,251,193,202,127,253,193,102,16,251,193,232,139,251,193,70,29,252,193,46,73,253,193,6,167,251,193,18,180,251,193,22,239,251,193,122,79,252,193,122,128,253,193,114,36,251,193,6,57,251,193,78,134,251,193,70,204,251,193,180,198,251,193,188,204,251,193,128,204,251,193,170,204,251,193,74,206,251,193,156,204,251,193,116,210,251,193,36,214,251,193,90,215,251,193,42,217,251,193,64,222,251,193,146,232,251,193,150,224,251,193,18,230,251,193,128,226,251,193,162,227,251,193,8,224,251,193,230,29,251,193,10,30,251,193,22,30,251,193,110,228,251,193,124,204,252,193,184,204,252,193,240,233,251,193,248,233,251,193,116,209,252,193,10,236,251,193,242,235,251,193,50,236,251,193,246,236,251,193,50,238,251,193,88,60,251,193,102,62,251,193,154,62,251,193,188,64,251,193,216,64,251,193,44,67,251,193,44,67,251,193,84,67,251,193,120,67,251,193,136,67,251,193,164,69,251,193,40,85,251,193,34,72,251,193,42,85,251,193,98,72,251,193,172,74,251,193,150,35,251,193,228,99,251,193,168,88,251,193,218,90,251,193,14,91,251,193,82,88,251,193,68,92,251,193,66,92,251,193,38,96,251,193,30,99,251,193,238,99,251,193,32,100,251,193,198,100,251,193,154,101,251,193,76,102,251,193,226,104,251,193,218,57,251,193,100,106,251,193,108,159,251,193,166,220,251,193,46,44,252,193,228,133,252,193,130,121,253,193,220,171,253,193,136,210,253,193,132,214,253,193,8,42,251,193,250,229,251,193,88,11,252,193,208,75,253,193,176,153,251,193,4,183,251,193,206,187,251,193,68,206,251,193,212,36,252,193,12,55,252,193,26,86,252,193,208,140,252,193,168,179,252,193,164,202,252,193,38,73,253,193,90,238,252,193,8,81,253,193,98,105,253,193,250,35,251,193,52,42,251,193,142,60,251,193,240,50,252,193,246,36,251,193,158,37,251,193,126,39,251,193,248,39,251,193,66,42,251,193,254,42,251,193,4,43,251,193,12,44,251,193,246,44,251,193,20,45,251,193,22,45,251,193,248,45,251,193,208,47,251,193,46,48,251,193,154,48,251,193,52,50,251,193,94,50,251,193,118,50,251,193,118,50,251,193,118,50,251,193,188,50,251,193,158,48,252,193,128,54,251,193,110,55,251,193,178,55,251,193,142,56,251,193,154,56,251,193,242,56,251,193,80,60,251,193,198,57,251,193,230,57,251,193,242,58,251,193,102,233,251,193,176,204,252,193,134,204,252,193,108,206,252,193,144,208,252,193,54,208,252,193,192,113,251,193,240,210,252,193,14,211,252,193,200,234,251,193,16,235,251,193,52,217,252,193,96,217,252,193,224,77,253,193,70,220,252,193,108,223,252,193,96,223,252,193,192,223,252,193,112,42,251,193,232,223,252,193,236,223,252,193,2,224,252,193,224,224,252,193,94,225,252,193,222,224,252,193,180,227,252,193,130,226,252,193,190,232,252,193,182,227,252,193,82,228,252,193,74,230,252,193,206,230,252,198,65,184,0,198,129,184,0,198,161,184,0,198,193,184,0,198,33,185,0,198,193,185,0,198,1,186,0,198,97,186,0,198,161,186,0,198,193,186,0,198,33,187,0,198,161,187,0,198,193,187,0,198,225,187,0,198,1,188,0,198,33,188,0,198,129,188,0,198,193,188,0,198,225,188,0,198,65,189,0,198,129,189,0,198,161,189,0,198,193,189,0,198,225,189,0,198,1,190,0,198,33,190,0,198,129,190,0,198,161,190,0,198,1,191,0,198,97,191,0,198,129,191,0,198,161,191,0,193,118,106,251,193,80,108,251,193,176,109,251,193,214,109,251,193,238,109,251,193,162,108,251,193,56,111,251,193,160,112,251,193,188,112,251,193,240,115,251,193,122,118,251,193,122,118,251,193,236,121,251,193,196,123,251,193,248,124,251,193,158,125,251,193,104,127,251,193,6,128,251,193,46,128,251,193,80,128,251,193,216,164,251,193,144,130,251,193,6,131,251,193,132,133,251,193,8,135,251,193,52,137,251,193,212,137,251,193,46,139,251,193,66,141,251,193,50,139,251,193,106,142,251,193,100,142,251,193,48,111,251,193,160,117,251,193,250,157,251,193,98,158,251,193,208,165,251,193,130,168,251,193,98,176,251,193,38,180,251,193,46,178,251,193,254,182,251,193,124,181,251,193,70,186,251,193,116,190,251,193,96,200,251,193,154,202,251,193,226,200,251,193,50,214,251,193,96,226,251,193,240,233,251,193,248,233,251,193,248,235,251,193,192,11,252,193,244,14,252,193,184,25,252,193,162,34,252,193,94,32,252,193,210,36,252,193,100,45,252,193,188,53,252,193,206,120,252,193,94,65,252,193,58,72,252,193,32,143,251,193,212,78,253,193,158,147,251,193,142,148,251,193,220,148,251,193,146,150,251,193,98,151,251,193,232,152,251,193,234,152,251,193,158,153,251,193,214,155,251,193,144,156,251,193,150,156,251,193,156,156,251,193,48,157,251,193,102,213,253,193,102,160,251,193,122,160,251,193,122,160,251,193,52,217,252,193,122,162,251,193,122,162,251,193,234,164,251,193,86,230,251,193,36,185,252,193,140,165,251,193,210,165,251,193,84,167,251,193,34,168,251,193,54,170,251,193,74,170,251,193,224,170,251,193,44,85,253,193,170,85,253,193,116,87,253,193,212,89,253,193,244,90,253,193,196,90,253,193,92,91,253,193,88,100,253,193,154,102,253,193,156,102,253,193,178,103,253,193,170,108,253,193,176,109,253,193,122,113,253,193,84,120,253,193,54,121,253,193,108,122,253,193,186,122,253,193,44,130,253,193,36,132,253,193,234,144,251,193,66,137,253,193,222,137,253,193,232,140,253,193,72,143,253,193,36,144,253,193,184,146,253,193,150,147,253,193,174,148,253,193,188,149,253,193,198,148,253,193,198,148,253,193,138,174,251,193,178,173,251,193,142,173,251,193,176,174,251,193,242,176,251,193,64,176,251,193,26,180,251,193,34,180,251,193,38,180,251,193,34,180,251,193,172,181,251,193,254,182,251,193,72,183,251,193,44,183,251,193,66,183,251,193,144,185,251,193,70,186,251,193,224,186,251,193,100,188,251,193,40,189,251,193,234,191,251,193,138,193,251,193,208,193,251,193,200,196,251,193,180,195,251,193,162,196,251,193,232,194,251,193,50,198,251,193,104,198,251,193,158,200,251,193,20,201,251,193,166,202,251,193,70,186,251,193,36,214,251,193,54,222,251,193,128,226,251,193,20,241,251,193,8,27,252,193,160,29,252,193,210,36,252,193,188,53,252,193,50,64,252,193,8,83,252,193,68,129,252,193,240,134,252,193,40,135,252,193,38,135,252,193,132,135,252,193,144,135,252,193,158,135,252,193,242,137,252,193,244,137,252,193,236,144,252,193,94,148,252,193,104,157,252,193,168,179,252,193,180,180,252,193,230,181,252,193,66,191,252,193,114,198,252,193,246,215,252,193,8,223,252,193,8,223,252,193,206,230,252,198,129,192,0,198,161,192,0,198,225,192,0,198,33,193,0,198,97,193,0,198,161,193,0,198,193,193,0,198,225,126,0,198,225,194,0,198,65,127,0,198,1,128,0,198,97,196,0,198,129,196,0,198,193,196,0,198,1,197,0,198,33,197,0,198,97,197,0,198,129,197,0,198,161,197,0,198,225,197,0,198,193,128,0,198,33,129,0,198,33,199,0,198,129,199,0,198,161,199,0,198,193,199,0,198,225,199,0,198,1,200,0,198,33,200,0,198,129,200,0,198,193,200,0,198,225,200,0,193,160,236,251,193,140,239,251,193,20,241,251,193,80,240,251,193,38,241,251,193,38,239,251,193,74,243,251,193,16,246,251,193,80,245,251,193,234,247,251,193,44,250,251,193,220,254,251,193,104,253,251,193,60,3,252,193,116,5,252,193,190,6,252,193,112,7,252,193,32,9,252,193,182,9,252,193,234,10,252,193,198,13,252,193,244,14,252,193,246,14,252,193,254,14,252,193,52,135,251,193,158,16,252,193,74,22,252,193,152,24,252,193,240,23,252,193,14,24,252,193,188,22,252,193,194,26,252,193,178,25,252,193,8,27,252,193,184,25,252,193,234,26,252,193,10,27,252,193,36,27,252,193,140,27,252,193,158,25,252,193,162,31,252,193,34,32,252,193,222,34,252,193,94,32,252,193,128,34,252,193,78,37,252,193,100,29,252,193,4,39,252,193,194,39,252,193,36,40,252,193,132,41,252,193,92,46,252,193,100,45,252,193,94,45,252,193,10,47,252,193,244,46,252,193,218,48,252,193,206,48,252,193,10,50,252,193,2,29,251,193,4,55,252,193,216,53,252,193,22,58,252,193,192,59,252,193,36,64,252,193,94,65,252,193,158,67,252,193,50,68,252,193,244,69,252,193,200,70,252,193,184,72,252,193,174,76,252,193,248,78,252,193,134,79,252,193,194,79,252,193,248,79,252,193,194,80,252,193,194,80,252,193,42,84,252,193,84,84,252,193,80,85,252,193,18,86,252,193,170,88,252,193,160,90,252,193,108,93,252,193,214,94,252,193,104,94,252,193,128,96,252,193,172,95,252,193,24,154,251,193,106,102,252,193,174,108,252,193,244,108,252,193,210,110,252,193,232,110,252,193,108,112,252,193,54,75,252,193,80,85,252,193,158,91,252,193,100,94,252,193,36,103,252,193,124,102,252,193,12,111,252,193,104,111,252,193,180,113,252,193,114,116,252,193,96,116,252,193,26,131,252,193,158,150,252,193,104,157,252,193,124,168,252,193,46,177,252,193,168,179,252,193,18,189,252,193,114,198,252,193,98,226,252,193,90,230,252,193,184,7,253,193,214,21,253,193,4,25,253,193,198,136,252,193,102,34,253,193,156,35,253,193,126,34,253,193,174,35,253,193,168,35,253,193,134,35,253,193,116,37,253,198,33,201,0,198,65,201,0,198,97,201,0,198,129,201,0,198,193,201,0,198,225,201,0,198,97,202,0,198,161,202,0,198,193,202,0,198,225,202,0,198,1,203,0,198,33,203,0,198,97,203,0,198,161,203,0,198,193,203,0,198,225,203,0,198,1,204,0,198,193,204,0,198,225,204,0,198,33,205,0,198,97,205,0,198,129,205,0,198,225,205,0,198,1,206,0,198,129,206,0,198,161,206,0,198,97,207,0,198,225,207,0,198,1,208,0,198,65,208,0,198,97,208,0,198,129,208,0,193,180,113,252,193,196,113,252,193,194,113,252,193,110,114,252,193,22,115,252,193,224,114,252,193,226,114,252,193,226,114,252,193,114,116,252,193,152,116,252,193,62,119,252,193,140,117,252,193,136,125,252,193,190,125,252,193,136,127,252,193,58,129,252,193,26,131,252,193,144,132,252,193,98,135,252,193,144,135,252,193,142,137,252,193,148,138,252,193,246,137,252,193,172,141,252,193,32,141,252,193,236,144,252,193,46,144,252,193,158,145,252,193,120,149,252,193,240,153,252,193,240,153,252,193,8,154,252,193,136,158,252,193,222,158,252,193,166,159,252,193,218,160,252,193,242,159,252,193,170,162,252,193,228,171,252,193,130,172,252,193,120,172,252,193,210,172,252,193,108,174,252,193,90,174,252,193,106,176,252,193,236,179,252,193,122,178,252,193,196,179,252,193,238,181,252,193,166,185,252,193,232,188,252,193,98,189,252,193,16,191,252,193,114,191,252,193,12,192,252,193,236,192,252,193,126,193,252,193,224,197,252,193,114,198,252,193,10,199,252,193,32,200,252,193,38,201,252,193,46,202,252,193,166,202,252,198,161,208,0,198,1,209,0,198,65,209,0,198,97,131,0,198,193,131,0,198,97,209,0,198,161,209,0,198,193,209,0,198,225,209,0,198,1,210,0,198,33,210,0,198,65,210,0,198,193,210,0,198,1,211,0,198,33,211,0,198,65,211,0,198,97,211,0,198,161,211,0,198,1,212,0,198,65,212,0,198,161,212,0,198,225,212,0,198,1,213,0,198,33,213,0,198,65,213,0,198,97,213,0,198,1,214,0,198,33,214,0,198,97,214,0,198,161,214,0,198,193,214,0,198,1,215,0,198,161,210,0,198,225,210,0,198,129,211,0,198,225,211,0,198,193,211,0,198,33,212,0,198,65,212,0,198,97,212,0,198,193,212,0,198,225,213,0,198,129,214,0,198,225,214,0,198,97,215,0,198,129,215,0,198,161,215,0,198,33,216,0,198,225,216,0,198,1,217,0,198,33,217,0,198,65,217,0,198,129,217,0,198,193,217,0,198,225,217,0,198,97,218,0,198,161,218,0,198,65,219,0,198,225,219,0,198,33,220,0,198,97,220,0,198,129,220,0,198,193,220,0,198,161,220,0,193,244,229,252,193,16,230,252,193,20,230,252,193,52,230,252,193,32,231,252,193,120,236,252,193,210,233,252,193,52,239,252,193,96,238,252,193,100,238,252,193,170,238,252,193,112,8,253,193,42,241,252,193,214,243,252,193,222,245,252,193,140,247,252,193,238,245,252,193,58,250,252,193,254,248,252,193,194,252,252,193,56,253,252,193,28,254,252,193,60,254,252,193,118,255,252,193,228,2,253,193,26,4,253,193,10,3,253,193,184,7,253,193,28,5,253,193,164,6,253,193,196,7,253,193,16,8,253,193,206,6,253,193,96,9,253,193,140,11,253,193,6,16,253,193,52,16,253,193,86,18,253,193,208,18,253,193,222,18,253,193,182,19,253,193,156,19,253,193,12,30,251,193,138,27,253,193,138,30,253,193,240,30,253,193,204,31,253,193,172,32,253,193,134,35,253,193,22,40,253,193,112,45,253,193,76,47,253,193,18,49,253,193,154,49,253,193,168,53,253,193,120,55,253,193,196,57,253,193,96,41,251,193,84,60,253,193,2,61,253,193,38,61,253,193,88,45,251,193,8,71,253,193,200,73,253,193,22,40,253,193,148,52,253,193,200,73,253,193,208,84,253,193,58,96,253,193,64,101,253,193,102,128,253,193,218,133,253,193,234,139,253,193,182,146,253,193,88,148,253,193,198,148,253,193,28,150,253,193,244,178,253,193,118,224,253,193,154,183,251,193,142,183,251,193,10,237,251,193,16,246,251,193,52,114,252,193,152,116,252,193,128,119,252,193,234,163,252,193,142,56,253,193,110,220,253,193,14,224,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,33,215,0,198,65,215,0,198,1,216,0,198,65,216,0,198,129,216,0,198,161,216,0,198,225,132,0,198,1,217,0,198,97,217,0,198,161,217,0,198,1,218,0,198,33,218,0,198,65,218,0,198,129,218,0,198,193,218,0,198,225,218,0,198,1,219,0,198,33,219,0,198,97,219,0,198,129,219,0,198,161,219,0,198,1,220,0,198,65,220,0,198,129,220,0,198,1,221,0,198,65,221,0,198,97,221,0,198,161,221,0,198,225,221,0,198,1,222,0,198,33,222,0,198,65,222,0,193,158,149,253,193,192,154,253,193,188,157,253,193,122,158,253,193,190,159,253,193,114,165,253,193,54,166,253,193,220,167,253,193,18,174,253,193,162,177,253,193,244,178,253,193,58,190,253,193,118,196,253,193,106,198,253,193,58,201,253,193,218,199,253,193,114,201,253,193,246,202,253,193,84,202,253,193,182,205,253,193,220,209,253,193,94,213,253,193,190,214,253,193,36,217,253,193,222,217,253,193,158,217,253,193,10,218,253,193,86,218,253,193,240,219,253,193,176,221,253,255,255,255,255,255,255,255,255,198,225,220,0,198,33,221,0,198,129,221,0,198,193,221,0,198,161,222,0,198,225,222,0,198,33,223,0,198,97,223,0,198,193,223,0,198,33,224,0,198,193,224,0,198,129,225,0,198,161,225,0,198,225,225,0,198,1,226,0,198,65,226,0,198,97,226,0,198,161,226,0,198,193,226,0,198,225,226,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,198,97,222,0,198,129,222,0,198,193,222,0,198,1,223,0,198,65,223,0,198,129,223,0,198,161,223,0,198,225,223,0,198,1,224,0,198,65,224,0,198,97,224,0,198,129,224,0,198,161,224,0,198,225,224,0,198,1,225,0,198,33,225,0,198,65,225,0,198,97,225,0,198,193,225,0,198,33,226,0,198,129,226,0,198,1,227,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2,212,78,0,0,150,10,251,2,238,78,0,0,2,11,251,2,180,1,2,0,148,11,251,2,45,79,0,0,4,12,251,2,105,79,0,0,44,13,251,2,3,2,2,0,212,13,251,2,123,207,2,0,66,14,251,2,113,0,3,0,86,14,251,2,174,79,0,0,126,14,251,2,238,79,0,0,234,15,251,2,99,2,2,0,164,16,251,2,154,207,2,0,104,17,251,2,64,80,0,0,152,17,251,2,167,2,2,0,38,18,251,2,128,80,0,0,18,19,251,2,237,2,2,0,120,19,251,2,170,80,0,0,82,20,251,2,206,80,0,0,110,21,251,2,109,3,2,0,220,21,251,2,248,80,0,0,188,22,251,2,183,3,2,0,252,22,251,2,212,3,2,0,50,23,251,2,232,3,2,0,200,23,251,2,249,184,2,0,238,24,251,2,216,5,2,0,100,32,251,2,250,5,2,0,16,33,251,2,60,6,2,0,32,34,251,2,188,6,2,0,20,36,251,2,28,82,0,0,88,36,251,2,206,6,2,0,128,36,251,2,231,6,2,0,20,37,251,2,16,7,2,0,192,37,251,2,82,82,0,0,42,38,251,2,49,7,2,0,96,38,251,2,250,7,2,0,76,41,251,2,123,8,2,0,164,43,251,2,87,10,2,0,126,51,251,2,153,10,2,0,192,52,251,2,85,11,2,0,150,55,251,2,171,11,2,0,32,57,251,2,24,84,0,0,134,57,251,2,203,11,2,0,48,58,251,2,8,12,2,0,114,59,251,2,80,12,2,0,246,60,251,2,58,168,2,0,176,61,251,2,212,1,3,0,26,62,251,2,224,84,0,0,58,62,251,2,172,12,2,0,234,62,251,2,236,12,2,0,104,63,251,2,245,209,2,0,30,64,251,2,40,85,0,0,102,64,251,2,39,13,2,0,54,65,251,2,146,186,2,0,114,66,251,2,12,210,2,0,176,66,251,2,122,85,0,0,24,67,251,2,142,85,0,0,62,67,251,2,182,53,0,0,162,67,251,2,227,13,2,0,50,68,251,2,92,168,2,0,224,68,251,2,47,210,2,0,34,69,251,2,115,14,2,0,156,70,251,2,90,210,2,0,156,71,251,2,246,85,0,0,2,72,251,2,212,14,2,0,134,72,251,2,120,168,2,0,162,73,251,2,211,186,2,0,190,73,251,2,40,86,0,0,72,74,251,2,97,15,2,0,206,74,251,2,168,15,2,0,92,75,251,2,251,53,0,0,90,76,251,2,199,15,2,0,110,76,251,2,21,16,2,0,10,77,251,2,246,186,2,0,106,77,251,2,61,16,2,0,10,78,251,2,220,210,2,0,206,78,251,2,148,86,0,0,6,79,251,2,143,16,2,0,54,79,251,2,240,210,2,0,252,79,251,2,241,16,2,0,122,80,251,2,28,187,2,0,190,80,251,2,17,17,2,0,44,81,251,2,187,86,0,0,170,81,251,2,49,17,2,0,198,81,251,2,121,17,2,0,186,82,251,2,180,17,2,0,192,83,251,2,88,18,2,0,180,86,251,2,91,187,2,0,36,87,251,2,97,87,0,0,84,87,251,2,132,18,2,0,178,87,251,2,139,87,0,0,82,88,251,2,183,18,2,0,190,88,251,2,182,87,0,0,118,89,251,2,237,18,2,0,210,89,251,2,212,168,2,0,72,90,251,2,156,211,2,0,128,90,251,2,220,87,0,0,172,90,251,2,235,87,0,0,200,90,251,2,38,19,2,0,46,91,251,2,124,187,2,0,198,91,251,2,22,88,0,0,12,92,251,2,100,19,2,0,132,92,251,2,182,211,2,0,76,93,251,2,73,88,0,0,148,93,251,2,174,19,2,0,244,93,251,2,114,88,0,0,226,94,251,2,237,19,2,0,70,95,251,2,153,2,3,0,236,95,251,2,156,88,0,0,8,96,251,2,186,88,0,0,40,97,251,2,123,20,2,0,150,97,251,2,220,20,2,0,14,99,251,2,247,21,2,0,162,103,251,2,52,22,2,0,158,104,251,2,91,22,2,0,72,105,251,2,119,22,2,0,184,105,251,2,119,89,0,0,144,106,251,2,142,89,0,0,246,106,251,2,188,22,2,0,68,107,251,2,172,89,0,0,176,107,251,2,216,89,0,0,162,108,251,2,237,89,0,0,202,108,251,2,2,23,2,0,24,109,251,2,28,188,2,0,126,109,251,2,9,90,0,0,178,109,251,2,46,23,2,0,58,110,251,2,123,169,2,0,232,111,251,2,119,90,0,0,46,112,251,2,145,90,0,0,96,112,251,2,238,54,0,0,160,112,251,2,156,23,2,0,206,112,251,2,176,90,0,0,182,113,251,2,232,23,2,0,32,114,251,2,213,90,0,0,186,114,251,2,51,24,2,0,70,115,251,2,243,90,0,0,198,115,251,2,79,24,2,0,20,116,251,2,145,24,2,0,250,116,251,2,120,188,2,0,110,117,251,2,91,25,2,0,42,120,251,2,214,25,2,0,110,122,251,2,218,188,2,0,196,124,251,2,123,26,2,0,170,125,251,2,252,26,2,0,174,127,251,2,122,28,2,0,58,133,251,2,148,28,2,0,140,133,251,2,172,28,2,0,202,133,251,2,27,29,2,0,86,135,251,2,120,92,0,0,196,135,251,2,185,55,0,0,64,137,251,2,131,29,2,0,86,137,251,2,198,92,0,0,214,137,251,2,171,29,2,0,34,138,251,2,232,92,0,0,178,138,251,2,213,29,2,0,16,139,251,2,6,93,0,0,194,139,251,2,215,55,0,0,26,140,251,2,17,30,2,0,56,140,251,2,49,93,0,0,30,141,251,2,106,30,2,0,140,141,251,2,170,30,2,0,142,142,251,2,119,93,0,0,22,143,251,2,249,55,0,0,70,143,251,2,216,30,2,0,94,143,251,2,143,93,0,0,250,143,251,2,10,31,2,0,66,144,251,2,188,31,2,0,188,146,251,2,85,32,2,0,66,149,251,2,123,32,2,0,224,149,251,2,144,32,2,0,66,150,251,2,177,32,2,0,170,150,251,2,205,32,2,0,20,151,251,2,235,32,2,0,138,151,251,2,92,94,0,0,144,152,251,2,51,33,2,0,168,152,251,2,242,33,2,0,146,155,251,2,25,34,2,0,54,156,251,2,51,34,2,0,180,156,251,2,91,34,2,0,58,157,251,2,149,34,2,0,18,158,251,2,217,94,0,0,98,158,251,2,124,214,2,0,2,159,251,2,251,34,2,0,162,159,251,2,183,35,2,0,80,162,251,2,212,35,2,0,220,162,251,2,124,95,0,0,184,166,251,2,220,36,2,0,30,167,251,2,155,95,0,0,162,167,251,2,50,37,2,0,140,168,251,2,79,37,2,0,226,168,251,2,121,37,2,0,114,169,251,2,178,37,2,0,96,170,251,2,201,37,2,0,20,171,251,2,7,96,0,0,198,171,251,2,25,215,2,0,218,172,251,2,64,96,0,0,14,173,251,2,26,57,0,0,138,173,251,2,52,38,2,0,180,173,251,2,113,38,2,0,8,175,251,2,54,215,2,0,206,175,251,2,92,4,3,0,250,175,251,2,176,96,0,0,18,176,251,2,192,38,2,0,202,176,251,2,240,96,0,0,252,177,251,2,90,57,0,0,110,178,251,2,40,39,2,0,146,178,251,2,39,97,0,0,214,179,251,2,141,39,2,0,78,180,251,2,119,215,2,0,34,181,251,2,124,4,3,0,78,181,251,2,82,97,0,0,96,181,251,2,110,97,0,0,148,181,251,2,124,57,0,0,202,181,251,2,224,39,2,0,230,181,251,2,141,215,2,0,180,182,251,2,137,97,0,0,244,182,251,2,49,40,2,0,104,183,251,2,188,97,0,0,142,184,251,2,146,40,2,0,198,184,251,2,186,215,2,0,96,185,251,2,213,97,0,0,126,185,251,2,206,40,2,0,180,185,251,2,251,40,2,0,80,186,251,2,38,41,2,0,240,186,251,2,87,41,2,0,160,187,251,2,154,41,2,0,160,188,251,2,242,41,2,0,12,190,251,2,24,42,2,0,134,190,251,2,54,42,2,0,246,190,251,2,121,98,0,0,100,192,251,2,131,42,2,0,208,192,251,2,166,98,0,0,116,193,251,2,180,42,2,0,28,194,251,2,234,98,0,0,196,194,251,2,228,42,2,0,100,195,251,2,215,4,3,0,80,196,251,2,40,99,0,0,120,196,251,2,47,43,2,0,2,197,251,2,51,216,2,0,224,197,251,2,101,99,0,0,44,198,251,2,249,57,0,0,220,198,251,2,129,43,2,0,252,198,251,2,250,4,3,0,60,200,251,2,198,99,0,0,98,200,251,2,233,43,2,0,4,201,251,2,87,191,2,0,8,202,251,2,6,100,0,0,110,202,251,2,50,100,0,0,196,202,251,2,25,58,0,0,248,202,251,2,95,44,2,0,34,203,251,2,114,216,2,0,2,204,251,2,87,100,0,0,92,204,251,2,179,44,2,0,230,204,251,2,136,100,0,0,32,206,251,2,32,45,2,0,168,206,251,2,187,100,0,0,174,207,251,2,127,45,2,0,6,208,251,2,203,45,2,0,16,209,251,2,242,100,0,0,150,209,251,2,35,46,2,0,120,210,251,2,243,46,2,0,36,213,251,2,27,47,2,0,186,213,251,2,57,47,2,0,72,214,251,2,92,101,0,0,174,214,251,2,166,47,2,0,230,215,251,2,252,48,2,0,44,221,251,2,249,101,0,0,234,222,251,2,90,49,2,0,52,223,251,2,26,102,0,0,168,223,251,2,219,58,0,0,244,223,251,2,119,49,2,0,10,224,251,2,146,49,2,0,198,224,251,2,25,172,2,0,8,225,251,2,110,217,2,0,46,225,251,2,87,102,0,0,108,225,251,2,106,102,0,0,76,226,251,2,226,49,2,0,154,226,251,2,153,217,2,0,58,227,251,2,36,50,2,0,172,227,251,2,154,102,0,0,106,228,251,2,123,50,2,0,80,229,251,2,184,102,0,0,222,229,251,2,119,51,2,0,50,234,251,2,49,103,0,0,148,235,251,2,68,103,0,0,212,235,251,2,130,103,0,0,154,236,251,2,212,51,2,0,8,237,251,2,174,103,0,0,152,237,251,2,8,52,2,0,112,238,251,2,18,104,0,0,12,239,251,2,88,59,0,0,192,239,251,2,53,52,2,0,224,239,251,2,220,5,3,0,200,240,251,2,107,104,0,0,222,240,251,2,127,52,2,0,174,241,251,2,195,104,0,0,166,242,251,2,120,59,0,0,130,243,251,2,193,52,2,0,168,243,251,2,152,218,2,0,218,244,251,2,47,105,0,0,42,245,251,2,49,53,2,0,28,246,251,2,101,53,2,0,130,246,251,2,176,172,2,0,14,247,251,2,212,192,2,0,62,247,251,2,182,218,2,0,116,247,251,2,250,5,3,0,166,247,251,2,153,105,0,0,214,247,251,2,170,53,2,0,166,248,251,2,239,192,2,0,172,249,251,2,234,105,0,0,44,250,251,2,21,54,2,0,232,250,251,2,83,54,2,0,100,251,251,2,22,6,3,0,54,252,251,2,50,106,0,0,84,252,251,2,123,54,2,0,24,253,251,2,25,193,2,0,38,254,251,2,251,218,2,0,76,254,251,2,171,106,0,0,238,255,251,2,90,55,2,0,110,2,252,2,203,106,0,0,28,3,252,2,144,55,2,0,112,3,252,2,210,55,2,0,106,4,252,2,248,106,0,0,200,4,252,2,25,56,2,0,120,5,252,2,55,56,2,0,216,5,252,2,151,56,2,0,44,7,252,2,186,56,2,0,186,7,252,2,242,56,2,0,172,8,252,2,121,57,2,0,178,10,252,2,242,57,2,0,152,12,252,2,22,58,2,0,68,13,252,2,49,58,2,0,148,13,252,2,187,58,2,0,212,15,252,2,56,59,2,0,134,17,252,2,92,59,2,0,250,17,252,2,113,59,2,0,70,18,252,2,136,59,2,0,158,18,252,2,168,59,2,0,14,19,252,2,248,59,2,0,14,20,252,2,26,60,2,0,114,20,252,2,74,108,0,0,66,22,252,2,101,108,0,0,184,22,252,2,142,60,2,0,92,23,252,2,171,108,0,0,200,23,252,2,219,108,0,0,40,24,252,2,178,60,2,0,132,24,252,2,23,109,0,0,100,25,252,2,214,60,0,0,226,25,252,2,228,60,2,0,254,25,252,2,86,109,0,0,196,26,252,2,154,109,0,0,76,27,252,2,30,61,2,0,140,27,252,2,23,220,2,0,124,28,252,2,170,109,0,0,196,28,252,2,244,60,0,0,164,29,252,2,119,61,2,0,218,29,252,2,219,61,2,0,162,30,252,2,245,193,2,0,254,30,252,2,27,110,0,0,122,31,252,2,117,110,0,0,46,32,252,2,15,61,0,0,100,32,252,2,252,61,2,0,144,32,252,2,11,62,2,0,172,32,252,2,151,173,2,0,82,33,252,2,12,7,3,0,216,33,252,2,141,110,0,0,12,34,252,2,93,62,2,0,240,34,252,2,22,194,2,0,6,36,252,2,235,110,0,0,104,36,252,2,20,111,0,0,182,36,252,2,60,61,0,0,42,37,252,2,205,62,2,0,70,37,252,2,245,62,2,0,148,37,252,2,118,220,2,0,98,38,252,2,78,111,0,0,194,38,252,2,67,63,2,0,140,39,252,2,50,194,2,0,180,40,252,2,146,220,2,0,224,40,252,2,197,63,2,0,198,41,252,2,215,111,0,0,230,42,252,2,35,64,2,0,72,43,252,2,188,220,2,0,232,43,252,2,249,111,0,0,36,44,252,2,97,64,2,0,108,44,252,2,21,112,0,0,82,45,252,2,179,64,2,0,154,45,252,2,220,220,2,0,32,46,252,2,232,64,2,0,122,46,252,2,14,65,2,0,18,47,252,2,54,65,2,0,150,47,252,2,188,65,2,0,72,50,252,2,196,112,0,0,232,50,252,2,239,65,2,0,76,51,252,2,27,221,2,0,214,51,252,2,239,112,0,0,28,52,252,2,98,66,2,0,214,53,252,2,51,174,2,0,120,54,252,2,151,194,2,0,154,54,252,2,56,221,2,0,190,54,252,2,65,113,0,0,250,54,252,2,178,66,2,0,144,55,252,2,244,66,2,0,20,56,252,2,186,7,3,0,156,56,252,2,123,113,0,0,184,56,252,2,7,67,2,0,20,57,252,2,51,67,2,0,106,57,252,2,154,113,0,0,18,58,252,2,80,67,2,0,96,58,252,2,182,113,0,0,58,59,252,2,245,67,2,0,234,60,252,2,248,113,0,0,140,61,252,2,82,68,2,0,78,62,252,2,123,69,2,0,92,66,252,2,28,70,2,0,178,68,252,2,56,70,2,0,30,69,252,2,91,70,2,0,192,69,252,2,111,70,2,0,18,70,252,2,185,114,0,0,130,72,252,2,47,71,2,0,172,72,252,2,79,71,2,0,66,73,252,2,111,71,2,0,214,73,252,2,243,114,0,0,80,74,252,2,220,71,2,0,230,75,252,2,246,71,2,0,26,76,252,2,13,72,2,0,160,76,252,2,86,115,0,0,162,77,252,2,99,72,2,0,204,77,252,2,140,72,2,0,76,78,252,2,180,72,2,0,202,78,252,2,156,115,0,0,230,79,252,2,249,72,2,0,36,80,252,2,178,115,0,0,128,80,252,2,15,73,2,0,208,80,252,2,60,222,2,0,48,81,252,2,210,115,0,0,70,81,252,2,53,73,2,0,160,81,252,2,248,115,0,0,42,82,252,2,86,73,2,0,112,82,252,2,123,73,2,0,86,83,252,2,175,73,2,0,112,84,252,2,234,73,2,0,104,85,252,2,123,195,2,0,216,85,252,2,121,116,0,0,248,85,252,2,20,74,2,0,58,86,252,2,66,74,2,0,2,87,252,2,107,74,2,0,196,87,252,2,139,74,2,0,76,88,252,2,91,75,2,0,108,91,252,2,121,75,2,0,228,91,252,2,41,76,2,0,188,94,252,2,123,76,2,0,28,96,252,2,145,76,2,0,126,96,252,2,183,76,2,0,6,97,252,2,220,76,2,0,148,97,252,2,55,77,2,0,50,99,252,2,187,117,0,0,168,99,252,2,87,77,2,0,224,99,252,2,119,77,2,0,106,100,252,2,215,117,0,0,192,100,252,2,236,117,0,0,130,101,252,2,194,77,2,0,200,101,252,2,251,77,2,0,152,102,252,2,42,78,2,0,86,103,252,2,186,78,2,0,72,105,252,2,213,78,2,0,152,105,252,2,88,79,2,0,124,107,252,2,121,79,2,0,18,108,252,2,147,80,2,0,110,112,252,2,246,118,0,0,252,113,252,2,3,81,2,0,66,114,252,2,14,119,0,0,192,114,252,2,49,81,2,0,18,115,252,2,90,81,2,0,208,115,252,2,138,81,2,0,168,116,252,2,201,81,2,0,156,117,252,2,110,119,0,0,72,118,252,2,2,82,2,0,148,118,252,2,60,82,2,0,102,119,252,2,148,119,0,0,4,120,252,2,116,82,2,0,54,120,252,2,136,82,2,0,92,120,252,2,170,82,2,0,4,121,252,2,216,82,2,0,158,121,252,2,26,83,2,0,106,122,252,2,185,83,2,0,108,124,252,2,216,83,2,0,194,124,252,2,41,84,2,0,38,126,252,2,70,84,2,0,230,126,252,2,115,84,2,0,180,127,252,2,92,120,0,0,80,128,252,2,170,84,2,0,150,128,252,2,188,9,3,0,254,128,252,2,183,64,0,0,94,129,252,2,202,84,2,0,128,129,252,2,250,84,2,0,98,130,252,2,45,85,2,0,72,131,252,2,76,85,2,0,222,131,252,2,59,224,2,0,58,132,252,2,239,120,0,0,92,132,252,2,112,85,2,0,156,132,252,2,151,85,2,0,74,133,252,2,187,85,2,0,242,133,252,2,21,86,2,0,64,135,252,2,43,86,2,0,176,135,252,2,78,86,2,0,62,136,252,2,107,86,2,0,210,136,252,2,121,121,0,0,64,137,252,2,136,86,2,0,106,137,252,2,166,86,2,0,26,138,252,2,154,121,0,0,122,138,252,2,216,86,2,0,232,138,252,2,216,121,0,0,134,141,252,2,58,65,0,0,58,142,252,2,152,87,2,0,92,142,252,2,178,87,2,0,230,142,252,2,15,122,0,0,60,143,252,2,205,87,2,0,130,143,252,2,52,122,0,0,212,144,252,2,49,88,2,0,12,145,252,2,92,88,2,0,180,145,252,2,138,88,2,0,84,146,252,2,180,88,2,0,220,146,252,2,124,122,0,0,84,148,252,2,52,89,2,0,108,148,252,2,118,89,2,0,108,149,252,2,155,89,2,0,238,149,252,2,184,89,2,0,86,150,252,2,59,90,2,0,44,152,252,2,152,90,2,0,186,153,252,2,252,122,0,0,176,154,252,2,239,90,2,0,32,155,252,2,22,123,0,0,128,155,252,2,12,91,2,0,228,155,252,2,80,91,2,0,130,157,252,2,129,123,0,0,48,158,252,2,141,91,2,0,162,158,252,2,14,66,0,0,192,159,252,2,209,91,2,0,248,159,252,2,212,123,0,0,220,160,252,2,24,92,2,0,54,161,252,2,240,123,0,0,40,162,252,2,56,66,0,0,116,162,252,2,117,92,2,0,148,162,252,2,118,225,2,0,80,163,252,2,24,124,0,0,120,163,252,2,198,92,2,0,214,163,252,2,33,93,2,0,246,164,252,2,92,93,2,0,188,165,252,2,133,93,2,0,66,166,252,2,181,93,2,0,248,166,252,2,212,93,2,0,106,167,252,2,252,93,2,0,210,167,252,2,90,94,2,0,194,169,252,2,114,94,2,0,68,170,252,2,193,94,2,0,114,171,252,2,23,95,2,0,234,172,252,2,54,95,2,0,84,173,252,2,10,125,0,0,178,174,252,2,186,66,0,0,238,174,252,2,40,125,0,0,116,175,252,2,195,95,2,0,216,175,252,2,92,125,0,0,92,176,252,2,230,95,2,0,168,176,252,2,120,125,0,0,48,177,252,2,18,96,2,0,138,177,252,2,156,125,0,0,36,178,252,2,70,96,2,0,172,178,252,2,214,125,0,0,108,179,252,2,243,66,0,0,208,179,252,2,128,96,2,0,244,179,252,2,8,126,0,0,178,180,252,2,41,126,0,0,182,181,252,2,9,97,2,0,20,182,252,2,57,226,2,0,146,182,252,2,78,126,0,0,174,182,252,2,60,97,2,0,238,182,252,2,117,97,2,0,192,183,252,2,123,126,0,0,46,184,252,2,156,97,2,0,74,184,252,2,212,97,2,0,24,185,252,2,25,127,0,0,12,188,252,2,142,98,2,0,136,190,252,2,188,98,2,0,20,191,252,2,87,99,2,0,88,193,252,2,121,99,2,0,212,193,252,2,183,99,2,0,200,194,252,2,56,100,2,0,168,196,252,2,88,100,2,0,44,197,252,2,60,101,2,0,154,200,252,2,117,101,2,0,106,201,252,2,188,101,2,0,110,202,252,2,88,102,2,0,242,204,252,2,194,128,0,0,64,205,252,2,106,102,2,0,172,205,252,2,237,128,0,0,64,206,252,2,21,129,0,0,56,207,252,2,212,102,2,0,154,207,252,2,57,129,0,0,44,208,252,2,252,67,0,0,114,208,252,2,6,103,2,0,148,208,252,2,52,103,2,0,238,208,252,2,91,129,0,0,118,209,252,2,90,103,2,0,220,209,252,2,28,68,0,0,182,210,252,2,153,103,2,0,212,210,252,2,146,129,0,0,144,211,252,2,3,104,2,0,144,212,252,2,183,129,0,0,62,213,252,2,88,104,2,0,158,213,252,2,112,104,2,0,252,213,252,2,138,104,2,0,88,214,252,2,123,105,2,0,150,217,252,2,145,106,2,0,198,221,252,2,152,130,0,0,182,223,252,2,154,68,0,0,40,224,252,2,19,107,2,0,64,224,252,2,208,130,0,0,180,224,252,2,55,107,2,0,84,225,252,2,84,131,0,0,100,226,252,2,109,107,2,0,194,226,252,2,112,131,0,0,184,227,252,2,182,107,2,0,126,228,252,2,242,107,2,0,244,228,252,2,23,108,2,0,62,229,252,2,185,227,2,0,164,229,252,2,190,131,0,0,246,229,252,2,215,68,0,0,212,230,252,2,42,108,2,0,8,231,252,2,59,199,2,0,90,232,252,2,45,132,0,0,198,232,252,2,88,132,0,0,28,233,252,2,193,108,2,0,170,233,252,2,55,109,2,0,150,234,252,2,144,132,0,0,144,235,252,2,185,132,0,0,224,235,252,2,252,68,0,0,60,236,252,2,97,109,2,0,100,236,252,2,54,178,2,0,162,237,252,2,90,199,2,0,200,237,252,2,231,132,0,0,76,238,252,2,14,69,0,0,248,238,252,2,62,110,2,0,180,239,252,2,117,199,2,0,112,240,252,2,45,69,0,0,78,241,252,2,134,110,2,0,128,241,252,2,200,110,2,0,4,242,252,2,57,228,2,0,240,242,252,2,118,133,0,0,66,243,252,2,41,111,2,0,208,243,252,2,110,111,2,0,90,244,252,2,154,199,2,0,246,244,252,2,90,228,2,0,30,245,252,2,175,133,0,0,124,245,252,2,170,111,2,0,224,245,252,2,249,111,2,0,118,246,252,2,117,178,2,0,196,246,252,2,124,228,2,0,10,247,252,2,212,133,0,0,68,247,252,2,32,112,2,0,156,247,252,2,151,228,2,0,130,248,252,2,246,133,0,0,182,248,252,2,123,112,2,0,16,249,252,2,207,112,2,0,52,250,252,2,184,228,2,0,196,250,252,2,13,113,2,0,246,250,252,2,54,113,2,0,138,251,252,2,86,113,2,0,234,251,252,2,122,113,2,0,80,252,252,2,220,113,2,0,230,253,252,2,115,134,0,0,200,254,252,2,137,134,0,0,54,255,252,2,59,114,2,0,130,255,252,2,173,134,0,0,250,255,252,2,215,134,0,0,242,2,253,2,143,114,2,0,66,3,253,2,175,114,2,0,126,3,253,2,245,134,0,0,230,3,253,2,24,135,0,0,250,4,253,2,44,135,0,0,34,5,253,2,49,115,2,0,212,5,253,2,76,135,0,0,102,6,253,2,82,115,2,0,232,6,253,2,129,135,0,0,186,7,253,2,161,115,2,0,32,8,253,2,200,115,2,0,108,8,253,2,170,135,0,0,14,9,253,2,248,115,2,0,132,9,253,2,49,116,2,0,244,9,253,2,68,116,2,0,148,10,253,2,142,116,2,0,146,11,253,2,201,116,2,0,76,12,253,2,26,136,0,0,190,12,253,2,241,116,2,0,220,12,253,2,91,117,2,0,20,14,253,2,109,136,0,0,150,16,253,2,136,136,0,0,48,17,253,2,177,136,0,0,2,18,253,2,202,136,0,0,182,18,253,2,128,118,2,0,246,18,253,2,231,136,0,0,118,19,253,2,188,118,2,0,2,20,253,2,207,118,2,0,158,20,253,2,248,118,2,0,76,21,253,2,53,137,0,0,190,21,253,2,66,119,2,0,144,22,253,2,113,119,2,0,40,23,253,2,152,119,2,0,152,23,253,2,28,120,2,0,140,25,253,2,59,120,2,0,244,25,253,2,187,120,2,0,36,28,253,2,244,120,2,0,8,29,253,2,58,121,2,0,196,29,253,2,27,138,0,0,168,30,253,2,179,70,0,0,218,30,253,2,110,121,2,0,252,30,253,2,97,138,0,0,88,32,253,2,195,121,2,0,194,32,253,2,244,121,2,0,190,33,253,2,175,138,0,0,70,34,253,2,219,138,0,0,100,35,253,2,234,138,0,0,128,35,253,2,99,122,2,0,190,35,253,2,152,122,2,0,168,36,253,2,186,200,2,0,36,37,253,2,210,122,2,0,144,37,253,2,92,123,2,0,200,39,253,2,120,123,2,0,38,40,253,2,211,139,0,0,144,41,253,2,247,139,0,0,54,42,253,2,88,124,2,0,58,46,253,2,217,124,2,0,234,47,253,2,51,125,2,0,30,49,253,2,99,125,2,0,32,50,253,2,217,140,0,0,226,50,253,2,155,125,2,0,32,51,253,2,177,125,2,0,146,51,253,2,252,125,2,0,160,52,253,2,22,126,2,0,250,52,253,2,60,141,0,0,36,54,253,2,182,126,2,0,38,56,253,2,208,126,2,0,136,56,253,2,239,126,2,0,244,56,253,2,155,141,0,0,72,57,253,2,40,127,2,0,182,57,253,2,118,127,2,0,166,58,253,2,210,127,2,0,228,59,253,2,242,127,2,0,156,60,253,2,21,128,2,0,72,61,253,2,252,141,0,0,200,61,253,2,64,128,2,0,2,62,253,2,15,142,0,0,144,62,253,2,117,128,2,0,242,62,253,2,59,142,0,0,156,63,253,2,160,128,2,0,202,63,253,2,188,201,2,0,60,64,253,2,26,14,3,0,110,64,253,2,84,142,0,0,64,65,253,2,5,129,2,0,120,65,253,2,129,129,2,0,20,67,253,2,214,129,2,0,48,68,253,2,24,130,2,0,8,69,253,2,56,130,2,0,112,69,253,2,214,142,0,0,46,71,253,2,179,130,2,0,92,71,253,2,206,130,2,0,224,71,253,2,22,143,0,0,6,73,253,2,32,131,2,0,60,73,253,2,71,131,2,0,220,73,253,2,105,131,2,0,86,74,253,2,138,131,2,0,202,74,253,2,178,131,2,0,100,75,253,2,124,14,3,0,212,76,253,2,124,143,0,0,228,76,253,2,130,132,2,0,222,79,253,2,244,143,0,0,70,80,253,2,165,132,2,0,130,80,253,2,11,144,0,0,214,80,253,2,197,132,2,0,24,81,253,2,235,132,2,0,188,81,253,2,150,231,2,0,62,82,253,2,60,144,0,0,116,82,253,2,33,133,2,0,182,82,253,2,88,144,0,0,112,83,253,2,134,133,2,0,54,84,253,2,180,133,2,0,238,84,253,2,212,133,2,0,46,85,253,2,229,133,2,0,154,85,253,2,92,202,2,0,90,86,253,2,118,134,2,0,206,87,253,2,147,134,2,0,72,88,253,2,188,144,0,0,160,88,253,2,175,134,2,0,222,88,253,2,212,144,0,0,46,89,253,2,203,134,2,0,100,89,253,2,235,134,2,0,240,89,253,2,249,144,0,0,94,90,253,2,24,135,2,0,152,90,253,2,50,135,2,0,16,91,253,2,24,145,0,0,86,91,253,2,75,135,2,0,124,91,253,2,122,135,2,0,20,92,253,2,145,135,2,0,90,92,253,2,186,135,2,0,224,92,253,2,244,135,2,0,234,93,253,2,11,136,2,0,70,94,253,2,55,136,2,0,6,95,253,2,76,136,2,0,106,95,253,2,105,136,2,0,226,95,253,2,152,145,0,0,56,96,253,2,214,136,2,0,98,97,253,2,74,137,2,0,228,99,253,2,45,146,0,0,66,100,253,2,144,146,0,0,112,101,253,2,178,146,0,0,80,102,253,2,172,137,2,0,236,102,253,2,247,146,0,0,180,103,253,2,41,147,0,0,24,104,253,2,230,137,2,0,98,104,253,2,73,147,0,0,96,105,253,2,47,138,2,0,234,105,253,2,153,232,2,0,184,106,253,2,136,147,0,0,228,106,253,2,135,138,2,0,108,107,253,2,192,147,0,0,68,108,253,2,207,138,2,0,196,108,253,2,250,147,0,0,122,109,253,2,22,139,2,0,250,109,253,2,85,139,2,0,24,111,253,2,146,139,2,0,252,111,253,2,85,148,0,0,114,112,253,2,184,139,2,0,162,112,253,2,250,139,2,0,122,113,253,2,152,148,0,0,160,114,253,2,92,15,3,0,6,115,253,2,176,148,0,0,24,115,253,2,207,148,0,0,162,115,253,2,248,148,0,0,50,116,253,2,22,149,0,0,170,116,253,2,50,149,0,0,42,117,253,2,148,15,3,0,114,117,253,2,90,140,2,0,220,118,253,2,184,140,2,0,226,119,253,2,215,140,2,0,118,120,253,2,243,140,2,0,214,120,253,2,13,141,2,0,68,121,253,2,39,141,2,0,154,121,253,2,72,141,2,0,24,122,253,2,156,141,2,0,66,123,253,2,26,142,2,0,4,126,253,2,55,150,0,0,54,126,253,2,91,150,0,0,36,127,253,2,88,142,2,0,80,127,253,2,117,142,2,0,222,127,253,2,123,150,0,0,100,128,253,2,192,142,2,0,44,129,253,2,238,142,2,0,192,129,253,2,10,143,2,0,48,130,253,2,178,143,2,0,166,132,253,2,23,144,2,0,182,133,253,2,52,144,2,0,8,134,253,2,92,144,2,0,108,134,253,2,183,144,2,0,208,135,253,2,210,144,2,0,72,136,253,2,156,233,2,0,40,137,253,2,23,145,2,0,86,137,253,2,59,145,2,0,202,137,253,2,124,145,2,0,148,138,253,2,145,145,2,0,222,138,253,2,122,151,0,0,24,142,253,2,120,146,2,0,62,142,253,2,144,146,2,0,148,142,253,2,3,147,2,0,50,144,253,2,83,147,2,0,34,145,253,2,152,147,2,0,242,145,253,2,184,147,2,0,84,146,253,2,89,148,2,0,224,148,253,2,112,148,2,0,58,149,253,2,27,152,0,0,134,149,253,2,143,148,2,0,174,149,253,2,174,148,2,0,50,150,253,2,25,149,2,0,188,151,253,2,51,149,2,0,22,152,253,2,124,152,0,0,90,153,253,2,180,149,2,0,188,154,253,2,211,149,2,0,36,155,253,2,232,149,2,0,102,155,253,2,28,150,2,0,18,156,253,2,56,150,2,0,118,156,253,2,149,150,2,0,32,158,253,2,168,150,2,0,126,158,253,2,45,151,2,0,108,160,253,2,56,153,0,0,226,160,253,2,89,151,2,0,6,161,253,2,211,151,2,0,144,162,253,2,182,153,0,0,30,166,253,2,141,152,2,0,210,166,253,2,174,152,2,0,92,167,253,2,244,153,0,0,200,167,253,2,214,152,2,0,242,167,253,2,237,152,2,0,108,168,253,2,20,154,0,0,220,168,253,2,57,154,0,0,32,170,253,2,28,154,2,0,220,173,253,2,87,154,2,0,178,174,253,2,17,155,2,0,70,177,253,2,48,155,2,0,162,177,253,2,122,155,2,0,168,178,253,2,150,155,2,0,2,179,253,2,219,155,2,0,186,179,253,2,86,156,2,0,68,181,253,2,186,156,2,0,94,182,253,2,245,156,2,0,20,183,253,2,28,157,2,0,132,183,253,2,122,155,0,0,250,184,253,2,184,157,2,0,36,186,253,2,187,155,0,0,124,186,253,2,205,157,2,0,196,186,253,2,212,155,0,0,68,187,253,2,89,76,0,0,138,187,253,2,247,157,2,0,174,187,253,2,113,158,2,0,126,189,253,2,49,156,0,0,28,190,253,2,173,158,2,0,102,190,253,2,92,156,0,0,142,191,253,2,2,159,2,0,184,191,253,2,59,159,2,0,120,192,253,2,90,159,2,0,216,192,253,2,218,17,3,0,204,193,253,2,247,156,0,0,106,196,253,2,176,159,2,0,178,196,253,2,15,157,0,0,46,197,253,2,185,76,0,0,106,197,253,2,220,159,2,0,142,197,253,2,45,157,0,0,42,198,253,2,18,160,2,0,120,198,253,2,74,157,0,0,14,199,253,2,74,160,2,0,84,199,253,2,102,157,0,0,216,199,253,2,119,160,2,0,66,200,253,2,60,235,2,0,220,200,253,2,146,157,0,0,246,200,253,2,182,160,2,0,66,201,253,2,172,157,0,0,234,201,253,2,250,160,2,0,62,202,253,2,45,161,2,0,4,203,253,2,111,161,2,0,232,203,253,2,174,161,2,0,170,204,253,2,24,162,2,0,218,205,253,2,155,162,2,0,4,210,253,2,180,162,2,0,84,210,253,2,60,163,2,0,252,211,253,2,28,164,2,0,24,215,253,2,152,164,2,0,164,216,253,2,219,165,2,0,36,221,253,2,89,159,0,0,68,221,253,2,247,165,2,0,158,221,253,2,14,166,2,0,228,221,253,2,57,166,2,0,104,222,253,0,23,0,5,0,0,142,9,0,16,0,5,0,2,2,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,10,2,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,32,2,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,48,6,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,74,8,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,96,8,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,180,10,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,40,11,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,72,11,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,74,28,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,80,28,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,114,42,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,180,47,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,52,48,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,2,57,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,28,59,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,90,83,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,186,85,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,232,119,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,86,222,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,86,233,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,90,233,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,114,235,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,60,239,251,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,230,21,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,142,48,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,116,69,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,8,112,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,240,134,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,158,135,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,50,136,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,222,215,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,152,216,252,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,218,48,253,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,8,50,253,0,23,0,5,0,0,144,9,0,23,0,5,0,0,142,9,0,16,0,5,0,242,98,253,0,23,0,5,0,0,144,9,0,16,0,5,0,0,82,10,0,16,0,5,0,32,2,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,74,8,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,206,43,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,208,121,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,182,191,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,52,214,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,128,235,251,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,34,50,252,0,16,0,5,0,0,84,10,0,16,0,5,0,0,82,10,0,16,0,5,0,100,111,252,0,16,0,5,0,0,84,10,0,21,0,5,0,0,0,19,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,19,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,19,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,19,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,21,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,21,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,21,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,23,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,23,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,23,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,25,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,25,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,27,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,27,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,29,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,29,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,31,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,31,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,33,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,33,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,35,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,21,0,5,0,0,0,35,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,21,0,22,0,5,0,0,0,37,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,21,0,22,0,5,0,0,0,37,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,19,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,19,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,21,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,21,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,23,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,23,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,25,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,25,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,27,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,27,0,16,0,5,0,34,50,252,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,29,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,31,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,33,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,21,0,5,0,0,0,35,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,23,0,22,0,5,0,0,0,37,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,25,0,21,0,5,0,0,0,19,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,25,0,21,0,5,0,0,0,21,0,16,0,5,0,86,222,251,0,21,0,5,0,0,0,25,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,27,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,29,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,31,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,33,0,16,0,5,0,86,233,251,0,21,0,5,0,0,0,35,0,16,0,5,0,86,233,251,0,22,0,5,0,0,0,37,0,16,0,5,0,86,233,251,0,160,0,5,0,2,46,97,0,160,0,5,0,9,46,97,0,160,0,5,0,2,56,97,0,160,0,5,0,9,56,97,0,160,0,5,0,2,96,97,0,160,0,5,0,9,96,97,0,160,0,5,0,2,104,97,0,160,0,5,0,9,104,97,0,160,0,5,0,16,104,97,0,160,0,5,0,2,164,97,0,160,0,5,0,9,164,97,0,32,0,5,0,2,178,97,0,174,0,5,0,2,178,97,0,160,0,5,0,9,178,97,0,160,0,5,0,2,184,97,0,160,0,5,0,9,184,97,0,160,0,5,0,2,190,97,0,160,0,5,0,9,190,97,0,32,0,5,0,16,190,97,0,174,0,5,0,16,190,97,0,160,0,5,0,23,190,97,0,160,0,5,0,30,190,97,0,160,0,5,0,37,190,97,0,160,0,5,0,44,190,97,0,160,0,5,0,2,194,97,0,160,0,5,0,9,194,97,0,160,0,5,0,2,202,97,0,160,0,5,0,9,202,97,0,160,0,5,0,2,224,97,0,32,0,5,0,2,236,97,0,174,0,5,0,2,236,97,0,160,0,5,0,9,236,97,0,160,0,5,0,2,242,97,0,32,0,5,0,9,242,97,0,174,0,5,0,9,242,97,0,160,0,5,0,2,246,97,0,32,0,5,0,9,246,97,0,174,0,5,0,9,246,97,0,32,0,5,0,16,246,97,0,174,0,5,0,16,246,97,0,160,0,5,0,23,246,97,0,32,0,5,0,30,246,97,0,174,0,5,0,30,246,97,0,160,0,5,0,37,246,97,0,160,0,5,0,44,246,97,0,160,0,5,0,51,246,97,0,32,0,5,0,58,246,97,0,174,0,5,0,58,246,97,0,160,0,5,0,65,246,97,0,160,0,5,0,72,246,97,0,32,0,5,0,79,246,97,0,174,0,5,0,79,246,97,0,160,0,5,0,86,246,97,0,160,0,5,0,86,246,97,0,5,0,184,0,0,0,0,0,160,0,5,0,93,246,97,0,38,0,5,0,0,22,102,0,32,0,5,0,16,220,102,0,49,0,5,0,0,22,102,0,46,0,5,0,16,220,102,0,38,0,5,0,0,22,102,0,32,0,5,0,9,226,102,0,49,0,5,0,0,22,102,0,46,0,5,0,9,226,102,0,32,0,5,0,2,176,102,0,16,0,5,0,30,176,102,0,27,0,5,0,30,176,102,0,38,0,5,0,30,176,102,0,49,0,5,0,30,176,102,0,16,0,5,0,51,176,102,0,27,0,5,0,51,176,102,0,38,0,5,0,51,176,102,0,49,0,5,0,51,176,102,0,32,0,5,0,72,176,102,0,16,0,5,0,16,190,102,0,27,0,5,0,16,190,102,0,38,0,5,0,16,190,102,0,49,0,5,0,16,190,102,0,16,0,5,0,16,194,102,0,27,0,5,0,16,194,102,0,38,0,5,0,16,194,102,0,49,0,5,0,16,194,102,0,16,0,5,0,30,194,102,0,27,0,5,0,30,194,102,0,38,0,5,0,30,194,102,0,49,0,5,0,30,194,102,0,16,0,5,0,9,208,102,0,27,0,5,0,9,208,102,0,38,0,5,0,9,208,102,0,49,0,5,0,9,208,102,0,32,0,5,0,16,220,102,0,32,128,232,0,0,0,0,0,46,0,5,0,16,220,102,0,46,128,232,0,0,0,0,0,32,0,5,0,2,226,102,0,46,0,5,0,2,226,102,0,32,0,5,0,9,234,102,0,46,0,5,0,9,234,102,0,160,0,5,0,9,232,118,0,160,0,5,0,16,232,118,0,160,0,5,0,23,232,118,0,160,0,5,0,30,232,118,0,160,0,5,0,37,232,118,0,160,0,5,0,44,232,118,0,160,0,5,0,51,232,118,0,160,0,5,0,58,232,118,0,160,0,5,0,65,232,118,0,160,0,5,0,72,232,118,0,160,0,5,0,79,232,118,0,160,0,5,0,86,232,118,0,160,0,5,0,93,232,118,0,160,0,5,0,100,232,118,0,160,0,5,0,107,232,118,0,160,0,5,0,114,232,118,0,160,0,5,0,121,232,118,0,160,0,5,0,128,232,118,0,160,0,5,0,135,232,118,0,160,0,5,0,142,232,118,0,160,0,5,0,149,232,118,0,160,0,5,0,156,232,118,0,160,0,5,0,163,232,118,0,160,0,5,0,170,232,118,0,160,0,5,0,177,232,118,0,160,0,5,0,184,232,118,0,160,0,5,0,191,232,118,0,160,0,5,0,198,232,118,0,160,0,5,0,205,232,118,0,160,0,5,0,212,232,118,0,160,0,5,0,219,232,118,0,160,0,5,0,226,232,118,0,160,0,5,0,233,232,118,0,160,0,5,0,240,232,118,0,160,0,5,0,247,232,118,0,160,0,5,0,254,232,118,0,32,0,5,0,16,92,121,0,32,0,5,0,44,92,121,0,32,0,5,0,114,92,121,0,32,0,5,0,163,92,121,0,32,0,5,0,198,92,121,0,32,0,5,0,247,101,121,0,174,0,5,0,247,101,121,0,32,0,5,0,30,247,121,0,32,0,5,0,58,247,121,0,32,0,5,0,72,247,121,0,32,0,5,0,100,247,121,0,32,0,5,0,114,247,121,0,32,0,5,0,240,247,121,0,32,0,5,0,247,247,121,0,32,0,5,0,51,162,124,0,32,0,5,0,72,162,124,0,27,0,5,0,2,2,251,0,38,0,5,0,2,2,251,0,49,0,5,0,2,2,251,0,38,0,5,0,6,2,251,0,27,0,5,0,10,2,251,0,27,0,5,0,32,2,251,0,38,0,5,0,32,2,251,0,49,0,5,0,32,2,251,0,27,0,5,0,34,2,251,0,38,0,5,0,34,2,251,0,27,0,5,0,36,2,251,0,38,0,5,0,36,2,251,0,38,0,5,0,132,2,251,0,16,0,5,0,60,4,251,0,16,0,5,0,14,66,252,0,27,0,5,0,82,4,251,0,38,0,5,0,82,4,251,0,49,0,5,0,82,4,251,0,16,0,5,0,200,4,251,0,5,0,112,0,200,4,251,0,16,0,5,0,252,4,251,0,16,0,5,0,26,6,251,0,38,0,5,0,26,6,251,0,5,0,112,0,26,6,251,0,16,0,5,0,28,6,251,0,16,0,5,0,30,6,251,0,27,0,5,0,48,6,251,0,16,0,5,0,248,7,251,0,27,0,5,0,74,8,251,0,38,0,5,0,74,8,251,0,49,0,5,0,74,8,251,0,27,0,5,0,96,8,251,0,16,0,5,0,232,8,251,0,49,0,5,0,250,8,251,0,16,0,5,0,68,10,251,0,38,0,5,0,68,10,251,0,16,0,5,0,70,10,251,0,49,0,5,0,182,10,251,0,49,0,5,0,60,59,251,0,27,0,5,0,40,11,251,0,27,0,5,0,72,11,251,0,27,0,5,0,70,24,251,0,16,0,5,0,4,26,251,0,16,0,5,0,188,27,251,0,27,0,5,0,74,28,251,0,27,0,5,0,80,28,251,0,16,0,5,0,104,29,251,0,5,0,112,0,104,29,251,0,49,0,5,0,162,29,251,0,16,0,5,0,74,30,251,0,27,0,5,0,88,30,251,0,16,0,5,0,62,31,251,0,16,0,5,0,196,33,251,0,5,0,112,0,196,33,251,0,16,0,5,0,200,34,251,0,16,0,5,0,132,35,251,0,5,0,112,0,132,35,251,0,16,0,5,0,136,35,251,0,49,0,5,0,90,36,251,0,49,0,5,0,172,37,251,0,49,0,5,0,126,39,251,0,16,0,5,0,8,42,251,0,27,0,5,0,114,42,251,0,16,0,5,0,244,44,251,0,16,0,5,0,234,45,251,0,16,0,5,0,82,46,251,0,16,0,5,0,118,47,251,0,27,0,5,0,134,47,251,0,27,0,5,0,180,47,251,0,16,0,5,0,42,2,251,0,16,0,5,0,186,47,251,0,27,0,5,0,52,48,251,0,16,0,5,0,44,49,251,0,5,0,112,0,44,49,251,0,16,0,5,0,240,49,251,0,5,0,112,0,240,49,251,0,27,0,5,0,26,50,251,0,16,0,5,0,178,50,251,0,5,0,112,0,178,50,251,0,16,0,5,0,120,53,251,0,16,0,5,0,122,54,251,0,49,0,5,0,132,54,251,0,16,0,5,0,112,56,251,0,27,0,5,0,150,56,251,0,27,0,5,0,158,56,251,0,49,0,5,0,158,56,251,0,49,0,5,0,246,56,251,0,27,0,5,0,2,57,251,0,49,0,5,0,200,57,251,0,27,0,5,0,180,64,251,0,49,0,5,0,142,67,251,0,16,0,5,0,76,83,251,0,27,0,5,0,90,83,251,0,38,0,5,0,90,83,251,0,27,0,5,0,186,85,251,0,38,0,5,0,12,86,251,0,16,0,5,0,220,99,251,0,49,0,5,0,234,99,251,0,16,0,5,0,178,100,251,0,16,0,5,0,232,100,251,0,16,0,5,0,136,101,251,0,49,0,5,0,154,101,251,0,27,0,5,0,182,101,251,0,16,0,5,0,204,102,251,0,49,0,5,0,204,102,251,0,49,0,5,0,196,9,252,0,38,0,5,0,208,102,251,0,49,0,5,0,208,102,251,0,16,0,5,0,100,106,251,0,27,0,5,0,100,106,251,0,16,0,5,0,108,119,251,0,49,0,5,0,146,119,251,0,27,0,5,0,232,119,251,0,16,0,5,0,174,121,251,0,27,0,5,0,86,122,251,0,16,0,5,0,22,128,251,0,16,0,5,0,34,129,251,0,5,0,112,0,34,129,251,0,5,0,120,0,34,129,251,0,16,0,5,0,144,130,251,0,5,0,112,0,144,130,251,0,16,0,5,0,146,130,251,0,5,0,112,0,146,130,251,0,16,0,5,0,192,131,251,0,16,0,5,0,8,135,251,0,16,0,5,0,128,135,251,0,16,0,5,0,66,147,251,0,16,0,5,0,210,147,251,0,27,0,5,0,228,147,251,0,49,0,5,0,228,147,251,0,16,0,5,0,132,148,251,0,16,0,5,0,136,148,251,0,16,0,5,0,20,149,251,0,16,0,5,0,170,153,251,0,49,0,5,0,172,153,251,0,49,0,5,0,100,188,251,0,16,0,5,0,92,154,251,0,27,0,5,0,106,154,251,0,16,0,5,0,218,154,251,0,16,0,5,0,254,159,251,0,16,0,5,0,102,160,251,0,16,0,5,0,108,161,251,0,16,0,5,0,216,161,251,0,16,0,5,0,210,164,251,0,5,0,112,0,210,164,251,0,16,0,5,0,212,164,251,0,16,0,5,0,122,165,251,0,16,0,5,0,88,166,251,0,49,0,5,0,8,167,251,0,27,0,5,0,156,167,251,0,16,0,5,0,252,169,251,0,5,0,112,0,252,169,251,0,16,0,5,0,254,169,251,0,16,0,5,0,76,188,251,0,16,0,5,0,162,190,251,0,16,0,5,0,156,191,251,0,49,0,5,0,156,191,251,0,16,0,5,0,158,191,251,0,49,0,5,0,182,191,251,0,49,0,5,0,156,192,251,0,49,0,5,0,254,194,251,0,49,0,5,0,210,196,251,0,16,0,5,0,60,212,251,0,16,0,5,0,230,212,251,0,16,0,5,0,232,212,251,0,16,0,5,0,254,217,251,0,27,0,5,0,254,217,251,0,16,0,5,0,178,218,251,0,49,0,5,0,206,218,251,0,16,0,5,0,74,219,251,0,49,0,5,0,188,219,251,0,16,0,5,0,68,220,251,0,16,0,5,0,42,222,251,0,16,0,5,0,44,222,251,0,27,0,5,0,86,222,251,0,5,0,112,0,86,222,251,0,49,0,5,0,22,223,251,0,49,0,5,0,232,23,252,0,49,0,5,0,180,223,251,0,49,0,5,0,206,223,251,0,49,0,5,0,60,59,251,0,16,0,5,0,90,232,251,0,27,0,5,0,86,233,251,0,49,0,5,0,86,233,251,0,5,0,112,0,86,233,251,0,27,0,5,0,90,233,251,0,49,0,5,0,90,233,251,0,27,0,5,0,114,235,251,0,27,0,5,0,60,239,251,0,49,0,5,0,60,239,251,0,49,0,5,0,130,161,251,0,49,0,5,0,90,11,251,0,49,0,5,0,240,134,252,0,16,0,5,0,188,6,252,0,16,0,5,0,190,9,252,0,27,0,5,0,196,9,252,0,16,0,5,0,192,11,252,0,5,0,112,0,198,11,252,0,16,0,5,0,174,14,252,0,16,0,5,0,104,16,252,0,16,0,5,0,110,16,252,0,16,0,5,0,180,16,252,0,16,0,5,0,22,17,252,0,16,0,5,0,236,20,252,0,16,0,5,0,240,20,252,0,16,0,5,0,54,21,252,0,27,0,5,0,230,21,252,0,16,0,5,0,232,21,252,0,16,0,5,0,234,21,252,0,27,0,5,0,66,24,252,0,49,0,5,0,68,32,252,0,49,0,5,0,182,36,252,0,27,0,5,0,142,48,252,0,16,0,5,0,144,48,252,0,49,0,5,0,124,53,252,0,16,0,5,0,48,64,252,0,16,0,5,0,50,64,252,0,5,0,112,0,50,64,252,0,16,0,5,0,150,65,252,0,16,0,5,0,218,65,252,0,16,0,5,0,16,66,252,0,16,0,5,0,252,66,252,0,16,0,5,0,28,68,252,0,16,0,5,0,94,68,252,0,5,0,112,0,94,68,252,0,27,0,5,0,116,69,252,0,16,0,5,0,46,72,252,0,16,0,5,0,48,72,252,0,16,0,5,0,112,79,252,0,16,0,5,0,132,79,252,0,5,0,112,0,134,79,252,0,16,0,5,0,158,89,252,0,16,0,5,0,104,90,252,0,16,0,5,0,188,92,252,0,16,0,5,0,36,93,252,0,49,0,5,0,36,93,252,0,16,0,5,0,208,93,252,0,16,0,5,0,32,94,252,0,38,0,5,0,36,94,252,0,49,0,5,0,38,94,252,0,27,0,5,0,56,94,252,0,16,0,5,0,100,98,252,0,5,0,112,0,100,98,252,0,16,0,5,0,176,98,252,0,16,0,5,0,156,106,252,0,16,0,5,0,250,106,252,0,16,0,5,0,26,109,252,0,16,0,5,0,184,110,252,0,27,0,5,0,8,112,252,0,16,0,5,0,128,113,252,0,5,0,112,0,128,113,252,0,16,0,5,0,54,123,252,0,16,0,5,0,16,124,252,0,16,0,5,0,134,125,252,0,16,0,5,0,210,134,252,0,5,0,112,0,210,134,252,0,16,0,5,0,212,134,252,0,27,0,5,0,240,134,252,0,27,0,5,0,158,135,252,0,49,0,5,0,80,137,252,0,16,0,5,0,88,140,252,0,16,0,5,0,156,140,252,0,27,0,5,0,134,141,252,0,16,0,5,0,22,148,252,0,49,0,5,0,50,148,252,0,16,0,5,0,118,152,252,0,16,0,5,0,154,154,252,0,5,0,112,0,154,154,252,0,27,0,5,0,76,158,252,0,16,0,5,0,76,168,252,0,16,0,5,0,70,174,252,0,16,0,5,0,72,174,252,0,49,0,5,0,168,175,252,0,16,0,5,0,220,185,252,0,16,0,5,0,198,188,252,0,16,0,5,0,238,189,252,0,16,0,5,0,240,189,252,0,5,0,112,0,240,189,252,0,16,0,5,0,242,189,252,0,5,0,112,0,242,189,252,0,5,0,120,0,242,189,252,0,16,0,5,0,14,193,252,0,5,0,112,0,14,193,252,0,5,0,120,0,14,193,252,0,16,0,5,0,22,193,252,0,16,0,5,0,136,195,252,0,16,0,5,0,84,198,252,0,16,0,5,0,86,198,252,0,16,0,5,0,214,198,252,0,16,0,5,0,40,199,252,0,16,0,5,0,74,200,252,0,16,0,5,0,128,203,252,0,5,0,112,0,128,203,252,0,16,0,5,0,130,203,252,0,16,0,5,0,226,203,252,0,5,0,112,0,226,203,252,0,16,0,5,0,90,215,252,0,16,0,5,0,10,217,252,0,5,0,112,0,10,217,252,0,16,0,5,0,106,218,252,0,16,0,5,0,90,219,252,0,16,0,5,0,128,219,252,0,16,0,5,0,106,222,252,0,16,0,5,0,140,222,252,0,16,0,5,0,6,223,252,0,16,0,5,0,8,223,252,0,5,0,112,0,8,223,252,0,5,0,120,0,8,223,252,0,16,0,5,0,174,252,252,0,16,0,5,0,178,252,252,0,16,0,5,0,150,254,252,0,16,0,5,0,202,14,253,0,16,0,5,0,118,15,253,0,16,0,5,0,52,16,253,0,16,0,5,0,54,16,253,0,16,0,5,0,136,24,253,0,16,0,5,0,138,24,253,0,16,0,5,0,140,24,253,0,16,0,5,0,42,25,253,0,16,0,5,0,148,27,253,0,16,0,5,0,240,27,253,0,5,0,112,0,240,27,253,0,49,0,5,0,152,28,253,0,16,0,5,0,38,30,253,0,16,0,5,0,192,40,253,0,16,0,5,0,160,43,253,0,16,0,5,0,90,44,253,0,16,0,5,0,112,45,253,0,16,0,5,0,36,47,253,0,16,0,5,0,190,48,253,0,27,0,5,0,218,48,253,0,49,0,5,0,14,49,253,0,27,0,5,0,8,50,253,0,16,0,5,0,202,53,253,0,16,0,5,0,190,54,253,0,16,0,5,0,84,55,253,0,49,0,5,0,84,55,253,0,16,0,5,0,84,59,253,0,5,0,112,0,84,59,253,0,16,0,5,0,230,68,253,0,16,0,5,0,218,70,253,0,16,0,5,0,100,76,253,0,16,0,5,0,186,77,253,0,16,0,5,0,128,78,253,0,16,0,5,0,176,78,253,0,16,0,5,0,178,78,253,0,5,0,112,0,178,78,253,0,5,0,120,0,178,78,253,0,49,0,5,0,144,82,253,0,27,0,5,0,26,84,253,0,16,0,5,0,98,87,253,0,5,0,112,0,98,87,253,0,16,0,5,0,148,93,253,0,49,0,5,0,166,93,253,0,16,0,5,0,30,98,253,0,16,0,5,0,98,98,253,0,27,0,5,0,242,98,253,0,16,0,5,0,86,114,253,0,16,0,5,0,200,118,253,0,16,0,5,0,202,118,253,0,16,0,5,0,2,120,253,0,16,0,5,0,6,120,253,0,16,0,5,0,84,124,253,0,16,0,5,0,154,125,253,0,5,0,112,0,154,125,253,0,16,0,5,0,156,125,253,0,16,0,5,0,186,131,253,0,16,0,5,0,228,131,253,0,16,0,5,0,178,134,253,0,5,0,112,0,178,134,253,0,16,0,5,0,216,139,253,0,16,0,5,0,218,139,253,0,16,0,5,0,44,140,253,0,16,0,5,0,152,140,253,0,16,0,5,0,160,141,253,0,16,0,5,0,196,145,253,0,16,0,5,0,30,147,253,0,16,0,5,0,108,147,253,0,16,0,5,0,184,147,253,0,16,0,5,0,142,148,253,0,27,0,5,0,162,148,253,0,16,0,5,0,70,153,253,0,16,0,5,0,82,154,253,0,16,0,5,0,242,156,253,0,16,0,5,0,122,157,253,0,16,0,5,0,164,157,253,0,16,0,5,0,170,157,253,0,16,0,5,0,172,157,253,0,5,0,112,0,172,157,253,0,16,0,5,0,20,163,253,0,16,0,5,0,110,164,253,0,5,0,112,0,110,164,253,0,16,0,5,0,252,164,253,0,16,0,5,0,208,165,253,0,16,0,5,0,244,171,253,0,16,0,5,0,168,173,253,0,5,0,112,0,168,173,253,0,16,0,5,0,232,175,253,0,16,0,5,0,186,176,253,0,16,0,5,0,58,180,253,0,16,0,5,0,136,180,253,0,16,0,5,0,172,180,253,0,16,0,5,0,166,181,253,0,5,0,112,0,166,181,253,0,16,0,5,0,2,184,253,0,16,0,5,0,64,193,253,0,16,0,5,0,218,195,253,0,16,0,5,0,72,206,253,0,16,0,5,0,240,208,253,0,5,0,112,0,240,208,253,0,16,0,5,0,178,209,253,0,16,0,5,0,56,211,253,0,16,0,5,0,196,212,253,0,16,0,5,0,94,213,253,0,16,0,5,0,210,213,253,0,16,0,5,0,212,213,253,0,16,0,5,0,124,214,253,0,16,0,5,0,252,214,253,0,16,0,5,0,36,217,253,0,16,0,5,0,62,217,253,0,16,0,5,0,222,217,253,0,16,0,5,0,6,218,253,0,16,0,5,0,62,218,253,0,16,0,5,0,220,218,253,0,16,0,5,0,240,219,253,0,16,0,5,0,176,220,253,0,5,0,112,0,176,220,253,0,16,0,5,0,236,220,253,0,16,0,5,0,248,220,253,0,5,0,112,0,248,220,253,0,16,0,5,0,110,223,253,0,16,0,5,0,12,224,253,0,5,0,112,0,12,224,253,0,16,0,5,0,96,224,253,0,16,0,5,0,118,224,253,0,5,0,112,0,118,224,253,0,5,0,120,0,118,224,253,0,16,0,5,0,218,224,253,0,16,0,5,0,236,224,253,135,218,7,0,0,2,140,103,135,48,17,0,0,2,92,121,135,118,17,0,0,2,145,121,135,207,17,0,0,2,247,121,135,2,20,0,0,16,234,118,135,150,21,0,0,99,245,118,135,167,21,0,0,225,245,118,135,176,24,0,0,150,251,118,135,80,25,0,0,9,4,118,135,60,26,0,0,2,26,118,135,90,28,0,0,9,56,118,7,156,33,0,0,44,107,12,7,175,33,0,0,170,107,12,7,138,34,0,0,224,158,12,7,238,34,0,0,85,161,12,7,12,35,0,0,13,162,12,7,43,35,0,0,216,162,12,7,3,37,0,0,2,174,12,7,161,37,0,0,2,182,12,7,204,37,0,0,2,187,12,7,0,38,0,0,2,194,12,7,56,38,0,0,84,195,12,7,112,38,0,0,201,196,12,7,144,38,0,0,129,197,12,7,33,39,0,0,70,202,12,7,148,39,0,0,59,204,12,7,199,39,0,0,148,205,12,7,0,40,0,0,55,227,12,7,0,41,0,0,223,206,12,7,153,41,0,0,124,210,12,7,220,41,0,0,57,212,12,7,13,42,0,0,125,213,12,7,119,42,0,0,84,216,12,7,221,42,0,0,29,219,12,7,118,43,0,0,70,223,12,7,151,43,0,0,40,224,12,135,60,45,0,0,100,141,103,135,84,45,0,0,21,142,103,7,192,49,0,0,184,73,13,7,192,77,0,0,167,234,12,135,0,160,0,0,9,118,123,7,144,164,0,0,208,238,12,135,208,164,0,0,51,151,123,135,52,165,0,0,2,16,120,135,111,165,0,0,2,44,120,135,136,165,0,0,2,52,120,135,181,165,0,0,2,57,120,135,217,165,0,0,2,69,120,135,160,166,0,0,9,76,120,135,12,168,0,0,93,162,113,135,130,168,0,0,9,164,113,135,10,169,0,0,9,78,117,135,48,169,0,0,9,76,117,135,132,169,0,0,9,42,118,135,0,170,0,0,9,38,118,135,128,170,0,0,9,132,115,135,176,215,0,0,44,177,121,135,203,215,0,0,91,248,121,135,13,0,1,0,93,99,124,135,128,0,1,0,117,101,124,7,121,1,1,0,148,240,12,7,208,1,1,0,132,241,12,135,160,2,1,0,9,248,123,135,48,3,1,0,9,252,123,135,161,3,1,0,16,205,124,135,80,4,1,0,9,86,124,135,216,4,1,0,9,232,118,135,0,5,1,0,9,93,124,135,48,5,1,0,9,95,124,135,0,6,1,0,9,105,124,135,10,8,1,0,58,115,124,7,210,9,1,0,51,118,18,135,201,10,1,0,2,167,124,135,0,11,1,0,9,119,124,135,176,15,1,0,9,203,124,135,5,16,1,0,9,244,113,135,52,16,1,0,98,245,113,7,91,16,1,0,91,147,17,135,208,16,1,0,9,97,124,135,3,17,1,0,9,96,117,135,80,17,1,0,9,168,113,135,131,17,1,0,23,170,113,135,19,18,1,0,135,172,113,135,176,18,1,0,9,174,113,135,19,19,1,0,100,178,113,135,0,20,1,0,23,180,113,135,128,20,1,0,16,183,113,135,133,21,1,0,2,193,113,135,0,22,1,0,9,201,113,135,140,22,1,0,121,203,113,135,0,24,1,0,9,209,113,135,24,25,1,0,142,205,113,135,170,25,1,0,65,207,113,135,13,26,1,0,30,198,116,135,10,28,1,0,72,248,113,142,114,28,1,0,9,4,117,142,146,28,1,0,16,4,117,135,11,29,1,0,72,224,113,135,106,29,1,0,72,229,113,135,0,32,1,0,9,207,124,135,99,34,1,0,236,223,124,135,214,34,1,0,11,227,124,7,90,36,1,0,147,119,18,135,128,36,1,0,113,232,124,135,0,48,1,0,9,4,125,135,0,68,1,0,9,83,125,135,0,104,1,0,61,78,120,135,208,106,1,0,9,94,120,135,0,107,1,0,9,240,123,130,0,112,1,0,4,100,125,130,0,136,1,0,84,148,125,135,0,139,1,0,9,166,125,135,15,176,1,0,100,104,122,135,112,177,1,0,9,155,125,135,0,188,1,0,9,88,124,7,0,208,1,0,249,242,12,7,0,209,1,0,193,249,12,7,58,209,1,0,98,251,12,7,140,209,1,0,131,252,12,7,0,211,1,0,107,236,12,7,0,216,1,0,130,58,13,7,118,218,1,0,242,72,13,135,0,225,1,0,9,243,123,135,192,226,1,0,9,245,123,135,0,232,1,0,9,95,120,7,0,240,1,0,186,2,13,7,48,240,1,0,240,3,13,7,209,240,1,0,239,7,13,7,0,243,1,0,252,11,13,7,0,246,1,0,185,41,13,7,0,247,1,0,101,48,13,7,128,247,1,0,151,51,13,7,16,248,1,0,180,54,13,7,96,248,1,0,134,56,13,7,144,248,1,0,160,57,13,7,0,249,1,0,40,33,13,7,122,249,1,0,125,36,13,7,205,249,1,0,191,38,13,7,0,250,1,0,244,8,13,7,144,250,1,0,145,40,13,7,0,251,1,0,112,188,12,7,148,251,1,0,125,192,12,0,0,0,0,5,150,0,0,5,136,0,0,194,32,9,230,194,46,29,232,194,32,108,230,194,46,29,232,194,32,207,230,194,32,29,232,194,46,207,230,194,46,29,232,194,32,85,231,194,32,29,232,194,46,85,231,194,46,29,232,194,32,184,231,194,32,29,232,194,46,184,231,194,46,29,232,194,46,29,232,194,44,59,235,27,5,54,7,27,5,54,7,24,5,131,12,24,5,90,7,24,5,90,7,24,5,90,7,27,5,98,7,27,5,98,7,24,5,90,7,24,5,0,8,24,5,0,8,40,5,0,8,40,5,0,8,24,5,0,8,24,5,0,8,24,5,0,8,40,5,0,8,40,5,0,8,40,5,0,8,23,5,142,9,21,5,0,21,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,19,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,21,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,23,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,25,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,27,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,29,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,31,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,33,23,5,144,9,23,5,142,9,21,5,0,21,21,5,0,35,23,5,144,9,23,5,142,9,21,5,0,21,22,5,0,37,23,5,144,9,23,5,142,9,21,5,0,23,23,5,144,9,23,5,142,9,21,5,0,23,21,5,0,19,23,5,144,9,23,5,142,9,21,5,0,25,23,5,144,9,23,5,142,9,21,5,0,27,23,5,144,9,23,5,142,9,21,5,0,29,23,5,144,9,23,5,142,9,21,5,0,31,23,5,144,9,23,5,142,9,21,5,0,33,23,5,144,9,23,5,142,9,21,5,0,35,23,5,144,9,23,5,142,9,22,5,0,37,23,5,144,9,23,5,142,9,19,5,0,42,23,5,144,9,23,5,142,9,162,5,0,42,23,5,144,9,23,5,142,9,19,5,0,44,23,5,144,9,23,5,142,9,162,5,0,44,23,5,144,9,23,5,142,9,19,5,0,46,23,5,144,9,23,5,142,9,162,5,0,46,23,5,144,9,23,5,142,9,19,5,0,48,23,5,144,9,23,5,142,9,162,5,0,48,23,5,144,9,23,5,142,9,19,5,0,50,23,5,144,9,23,5,142,9,162,5,0,50,23,5,144,9,23,5,142,9,19,5,0,52,23,5,144,9,23,5,142,9,162,5,0,52,23,5,144,9,23,5,142,9,19,5,0,54,23,5,144,9,23,5,142,9,162,5,0,54,23,5,144,9,23,5,142,9,19,5,0,56,23,5,144,9,23,5,142,9,162,5,0,56,23,5,144,9,23,5,142,9,19,5,0,58,23,5,144,9,23,5,142,9,162,5,0,58,23,5,144,9,23,5,142,9,19,5,0,60,23,5,144,9,23,5,142,9,162,5,0,60,23,5,144,9,23,5,142,9,19,5,0,62,23,5,144,9,23,5,142,9,162,5,0,62,23,5,144,9,23,5,142,9,19,5,0,64,23,5,144,9,23,5,142,9,162,5,0,64,23,5,144,9,23,5,142,9,19,5,0,66,23,5,144,9,23,5,142,9,162,5,0,66,23,5,144,9,23,5,142,9,19,5,0,68,23,5,144,9,23,5,142,9,162,5,0,68,23,5,144,9,23,5,142,9,19,5,0,70,23,5,144,9,23,5,142,9,162,5,0,70,23,5,144,9,23,5,142,9,19,5,0,72,23,5,144,9,23,5,142,9,162,5,0,72,23,5,144,9,23,5,142,9,20,5,0,74,23,5,144,9,23,5,142,9,168,5,0,74,23,5,144,9,23,5,142,9,19,5,0,76,23,5,144,9,23,5,142,9,162,5,0,76,23,5,144,9,23,5,142,9,19,5,0,78,23,5,144,9,23,5,142,9,162,5,0,78,23,5,144,9,23,5,142,9,19,5,0,80,23,5,144,9,23,5,142,9,162,5,0,80,23,5,144,9,23,5,142,9,19,5,0,82,23,5,144,9,23,5,142,9,162,5,0,82,23,5,144,9,23,5,142,9,19,5,0,84,23,5,144,9,23,5,142,9,162,5,0,84,23,5,144,9,23,5,142,9,20,5,0,86,23,5,144,9,23,5,142,9,168,5,0,86,23,5,144,9,23,5,142,9,19,5,0,88,23,5,144,9,23,5,142,9,162,5,0,88,23,5,144,9,23,5,142,9,19,5,0,90,23,5,144,9,23,5,142,9,162,5,0,90,23,5,144,9,23,5,142,9,19,5,0,92,23,5,144,9,23,5,142,9,162,5,0,92,23,5,144,9,23,5,142,9,16,5,6,121,23,5,144,9,23,5,142,9,16,5,6,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,10,121,23,5,144,9,23,5,142,9,16,5,10,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,12,121,23,5,144,9,23,5,142,9,16,5,12,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,16,121,23,5,144,9,23,5,142,9,16,5,16,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,18,121,23,5,144,9,23,5,142,9,16,5,18,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,20,121,23,5,144,9,23,5,142,9,16,5,20,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,24,121,23,5,144,9,23,5,142,9,16,5,24,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,28,121,23,5,144,9,23,5,142,9,16,5,28,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,28,121,16,5,119,121,16,5,30,121,32,5,111,121,32,5,185,121,23,5,144,9,23,5,142,9,16,5,28,121,16,5,119,121,16,5,42,121,16,5,129,121,23,5,144,9,23,5,142,9,16,5,30,121,23,5,144,9,23,5,142,9,16,5,30,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,30,121,16,5,129,121,23,5,144,9,23,5,142,9,16,5,34,121,23,5,144,9,23,5,142,9,16,5,34,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,36,121,23,5,144,9,23,5,142,9,16,5,36,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,38,121,23,5,144,9,23,5,142,9,16,5,38,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,40,121,23,5,144,9,23,5,142,9,16,5,40,121,16,5,103,121,23,5,144,9,23,5,142,9,16,5,42,121,23,5,144,9,23,5,142,9,16,5,42,121,16,5,103,121,23,5,144,9,16,5,82,10,162,5,0,78,16,5,84,10,32,5,188,10,32,5,188,10,32,5,188,10,32,5,188,10,32,5,188,10,32,5,190,10,32,5,190,10,32,5,190,10,32,5,190,10,32,5,190,10,5,5,16,12,5,136,0,0,5,5,16,12,5,138,0,0,5,5,16,12,5,148,0,0,193,9,22,12,5,136,0,0,193,9,22,12,5,138,0,0,193,9,22,12,5,148,0,0,193,16,22,12,5,136,0,0,193,16,22,12,5,138,0,0,193,16,22,12,5,148,0,0,32,5,83,12,162,5,0,46,32,5,83,12,162,5,0,52,5,5,99,12,5,158,0,0,5,5,101,12,5,158,0,0,193,2,107,12,5,158,0,0,193,126,108,12,5,158,0,0,193,140,108,12,5,158,0,0,193,154,108,12,5,158,0,0,193,2,113,12,5,158,0,0,193,2,117,12,5,158,0,0,193,16,117,12,5,158,0,0,5,5,129,12,5,158,0,0,5,5,131,12,5,158,0,0,24,5,131,12,24,5,131,12,24,5,131,12,24,5,131,12,24,5,131,12,5,5,133,12,5,158,0,0,193,107,151,12,5,158,0,0,193,114,151,12,5,158,0,0,32,5,153,12,32,5,153,12,32,5,153,12,32,5,153,12,32,5,153,12,32,5,155,12,32,5,155,12,32,5,155,12,32,5,155,12,32,5,155,12,193,79,157,12,5,158,0,0,193,121,157,12,5,158,0,0,193,128,157,12,5,158,0,0,193,142,157,12,5,158,0,0,193,170,157,12,5,158,0,0,193,49,158,12,5,158,0,0,193,63,158,12,5,158,0,0,193,70,158,12,5,158,0,0,193,126,158,12,5,158,0,0,193,133,158,12,5,158,0,0,193,140,158,12,5,158,0,0,193,147,158,12,5,158,0,0,193,154,158,12,5,158,0,0,193,161,158,12,5,158,0,0,193,168,158,12,5,158,0,0,193,175,158,12,5,158,0,0,193,196,158,12,5,158,0,0,193,203,158,12,5,158,0,0,193,210,158,12,5,158,0,0,193,217,158,12,5,158,0,0,193,19,159,12,5,158,0,0,193,26,159,12,5,158,0,0,193,138,159,12,5,158,0,0,193,180,159,12,5,158,0,0,193,187,159,12,5,158,0,0,193,201,159,12,5,158,0,0,193,222,159,12,5,158,0,0,193,229,159,12,5,158,0,0,193,236,159,12,5,158,0,0,193,243,159,12,5,158,0,0,193,29,219,12,5,158,0,0,5,5,110,13,5,174,0,0,5,5,112,13,5,174,0,0,5,5,116,13,5,174,0,0,5,5,120,13,5,174,0,0,21,5,0,19,27,5,0,6,21,5,0,19,24,5,0,8,51,5,0,19,32,5,149,12,51,5,0,25,21,5,0,21,27,5,0,6,21,5,0,21,24,5,0,8,51,5,0,21,32,5,149,12,51,5,0,21,32,5,149,12,51,5,0,21,51,5,0,19,51,5,0,21,32,5,149,12,51,5,0,23,51,5,0,21,32,5,149,12,51,5,0,25,51,5,0,21,32,5,149,12,51,5,0,27,51,5,0,21,32,5,149,12,51,5,0,29,51,5,0,21,32,5,149,12,51,5,0,31,51,5,0,21,32,5,149,12,51,5,0,33,51,5,0,21,32,5,149,12,51,5,0,35,51,5,0,21,32,5,149,12,52,5,0,37,31,5,0,21,31,5,0,19,21,5,0,21,21,5,0,19,24,5,0,8,31,5,0,21,31,5,0,21,21,5,0,21,21,5,0,21,24,5,0,8,31,5,0,21,31,5,0,23,21,5,0,21,21,5,0,23,24,5,0,8,46,5,0,21,46,5,0,23,46,5,0,19,180,5,0,72,31,5,0,21,31,5,0,25,21,5,0,21,21,5,0,25,24,5,0,8,31,5,0,21,31,5,0,27,21,5,0,21,21,5,0,27,24,5,0,8,31,5,0,21,31,5,0,29,21,5,0,21,21,5,0,29,24,5,0,8,31,5,0,21,31,5,0,31,21,5,0,21,21,5,0,31,24,5,0,8,31,5,0,21,31,5,0,33,21,5,0,21,21,5,0,33,24,5,0,8,31,5,0,21,31,5,0,35,21,5,0,21,21,5,0,35,24,5,0,8,31,5,0,21,34,5,0,37,21,5,0,21,22,5,0,37,24,5,0,8,21,5,0,23,27,5,0,6,51,5,0,23,32,5,149,12,51,5,0,25,51,5,0,23,32,5,149,12,51,5,0,29,31,5,0,23,31,5,0,19,21,5,0,23,21,5,0,19,24,5,0,8,31,5,0,23,31,5,0,21,31,5,0,23,31,5,0,23,46,5,0,23,46,5,0,23,48,5,0,8,46,5,0,23,31,5,0,23,31,5,0,25,31,5,0,23,31,5,0,27,31,5,0,23,31,5,0,29,31,5,0,23,31,5,0,31,31,5,0,23,31,5,0,33,31,5,0,23,31,5,0,35,31,5,0,23,34,5,0,37,46,5,0,23,180,5,0,62,46,5,0,23,49,5,0,68,46,5,0,48,48,5,0,4,180,5,0,78,46,5,0,46,49,5,0,76,21,5,0,25,27,5,0,6,51,5,0,25,32,5,149,12,51,5,0,27,51,5,0,25,32,5,149,12,51,5,0,29,51,5,0,25,32,5,149,12,51,5,0,35,31,5,0,25,31,5,0,19,31,5,0,25,31,5,0,21,31,5,0,25,31,5,0,25,31,5,0,25,31,5,0,27,31,5,0,25,31,5,0,29,31,5,0,25,31,5,0,31,31,5,0,25,31,5,0,33,31,5,0,25,31,5,0,35,31,5,0,25,34,5,0,37,46,5,0,25,177,5,0,48,21,5,0,27,27,5,0,6,51,5,0,27,32,5,149,12,51,5,0,29,31,5,0,27,31,5,0,19,31,5,0,27,31,5,0,21,31,5,0,27,31,5,0,27,31,5,0,27,31,5,0,29,31,5,0,27,31,5,0,31,31,5,0,27,31,5,0,33,31,5,0,27,31,5,0,35,31,5,0,27,34,5,0,37,46,5,0,27,180,5,0,62,21,5,0,29,27,5,0,6,46,5,0,29,48,5,0,8,46,5,0,21,51,5,0,29,32,5,149,12,51,5,0,31,51,5,0,29,32,5,149,12,51,5,0,35,31,5,0,29,31,5,0,19,21,5,0,31,27,5,0,6,31,5,0,31,31,5,0,19,46,5,0,31,46,5,0,19,180,5,0,72,21,5,0,33,27,5,0,6,46,5,0,33,48,5,0,8,46,5,0,21,51,5,0,33,32,5,149,12,51,5,0,35,31,5,0,33,31,5,0,19,21,5,0,35,27,5,0,6,31,5,0,35,31,5,0,19,46,5,0,35,180,5,0,62,22,5,0,37,27,5,0,6,5,5,0,42,5,140,0,0,5,136,0,0,156,5,0,42,5,140,0,0,5,136,0,0,5,5,0,42,5,140,0,0,5,138,0,0,156,5,0,42,5,140,0,0,5,138,0,0,5,5,0,42,5,140,0,0,5,154,0,0,156,5,0,42,5,140,0,0,5,154,0,0,5,5,0,42,5,140,0,0,5,182,0,0,156,5,0,42,5,140,0,0,5,182,0,0,5,5,0,42,5,142,0,0,5,136,0,0,156,5,0,42,5,142,0,0,5,136,0,0,5,5,0,42,5,142,0,0,5,138,0,0,156,5,0,42,5,142,0,0,5,138,0,0,5,5,0,42,5,142,0,0,5,154,0,0,156,5,0,42,5,142,0,0,5,154,0,0,5,5,0,42,5,142,0,0,5,182,0,0,156,5,0,42,5,142,0,0,5,182,0,0,5,5,0,42,5,146,0,0,5,136,0,0,156,5,0,42,5,146,0,0,5,136,0,0,19,5,0,42,32,150,0,0,162,5,0,42,32,150,0,0,5,5,0,42,5,150,0,0,5,164,0,0,156,5,0,42,5,150,0,0,5,164,0,0,5,5,0,42,5,156,0,0,5,164,0,0,156,5,0,42,5,156,0,0,5,164,0,0,5,5,0,42,5,196,0,0,5,140,0,0,156,5,0,42,5,196,0,0,5,140,0,0,5,5,0,42,5,196,0,0,5,142,0,0,156,5,0,42,5,196,0,0,5,142,0,0,49,5,0,42,48,5,0,8,49,5,0,66,48,5,0,8,19,5,0,42,46,5,138,10,19,5,0,46,19,5,0,42,46,5,138,10,19,5,0,78,162,5,0,42,46,5,138,10,162,5,0,78,180,5,0,42,32,5,147,12,49,5,0,66,19,5,0,42,19,5,0,42,162,5,0,42,162,5,0,42,180,5,0,42,177,5,0,44,5,112,0,42,19,5,0,50,160,112,0,42,162,5,0,50,46,112,0,42,43,5,0,50,5,112,0,42,19,5,0,50,5,136,0,0,160,112,0,42,162,5,0,50,5,136,0,0,5,112,0,42,19,5,0,50,5,164,0,0,160,112,0,42,162,5,0,50,5,164,0,0,19,5,0,42,19,5,0,70,162,5,0,42,162,5,0,70,19,5,0,42,19,5,0,82,162,5,0,42,162,5,0,82,180,5,0,42,177,5,0,82,19,5,0,42,19,5,0,84,162,5,0,42,162,5,0,84,5,112,0,42,19,5,0,84,160,112,0,42,162,5,0,84,19,5,0,42,19,5,0,90,162,5,0,42,162,5,0,90,19,5,0,42,32,5,86,93,46,5,0,44,49,5,0,42,49,5,0,76,177,5,0,44,52,5,0,74,19,5,0,46,32,160,0,0,5,5,0,46,5,160,0,0,5,136,0,0,156,5,0,46,5,160,0,0,5,136,0,0,19,5,0,46,46,5,138,10,19,5,0,70,19,5,0,46,46,5,138,10,19,5,0,82,177,5,0,46,32,5,147,12,49,5,0,62,46,5,0,54,46,5,0,46,49,5,0,42,49,5,0,64,46,5,0,46,46,5,0,46,168,5,0,46,168,5,0,48,46,5,0,46,46,5,0,48,177,5,0,46,180,5,0,64,46,5,0,46,49,5,0,66,46,5,0,46,49,5,0,66,46,5,0,23,46,5,0,46,49,5,0,66,46,5,0,25,177,5,0,46,49,5,0,70,48,5,0,8,177,5,0,46,180,5,0,70,180,5,0,70,180,5,0,64,46,5,0,48,49,5,0,42,19,5,0,48,19,5,0,44,46,5,0,48,177,5,0,44,177,5,0,48,177,5,0,60,46,5,0,48,49,5,0,64,46,5,0,48,49,5,0,66,46,5,0,48,49,5,0,66,46,5,0,23,46,5,0,48,49,5,0,66,46,5,0,25,19,5,0,48,19,5,0,92,162,5,0,48,19,5,0,92,162,5,0,48,162,5,0,92,19,5,0,48,19,5,0,92,32,144,0,0,162,5,0,48,19,5,0,92,32,144,0,0,162,5,0,48,162,5,0,92,32,144,0,0,19,5,0,48,32,5,16,93,19,5,0,48,32,5,18,93,19,5,0,48,16,5,26,93,5,5,0,50,5,142,0,0,5,136,0,0,156,5,0,50,5,142,0,0,5,136,0,0,5,5,0,50,5,142,0,0,5,138,0,0,156,5,0,50,5,142,0,0,5,138,0,0,5,5,0,50,5,142,0,0,5,154,0,0,156,5,0,50,5,142,0,0,5,154,0,0,5,5,0,50,5,142,0,0,5,182,0,0,156,5,0,50,5,142,0,0,5,182,0,0,5,5,0,50,5,160,0,0,5,140,0,0,156,5,0,50,5,160,0,0,5,140,0,0,5,5,0,50,5,164,0,0,5,136,0,0,156,5,0,50,5,164,0,0,5,136,0,0,5,5,0,50,5,164,0,0,5,138,0,0,156,5,0,50,5,164,0,0,5,138,0,0,5,5,0,50,5,196,0,0,5,142,0,0,156,5,0,50,5,196,0,0,5,142,0,0,49,5,0,50,49,5,0,76,46,5,0,54,49,5,0,50,180,5,0,84,162,5,0,52,162,5,0,42,162,5,0,88,19,5,0,52,19,5,0,52,19,5,0,52,19,5,0,52,19,5,0,58,19,5,0,52,19,5,0,52,19,5,0,64,46,5,0,52,49,5,0,66,19,5,0,52,16,5,30,69,177,5,0,52,180,5,0,76,180,5,0,50,180,5,0,50,19,5,0,54,32,170,0,0,162,5,0,54,32,170,0,0,46,5,0,54,49,5,0,42,49,5,0,64,177,5,0,54,177,5,0,44,177,5,0,54,180,5,0,56,46,5,0,92,177,5,0,54,180,5,0,72,49,5,0,42,177,5,0,54,46,5,0,90,43,5,0,56,32,178,0,0,49,5,0,56,49,5,0,42,180,5,0,56,46,5,0,46,180,5,0,56,46,5,0,48,180,5,0,76,180,5,0,56,46,5,0,54,180,5,0,56,49,5,0,58,48,5,0,4,180,5,0,76,49,5,0,50,49,5,0,78,180,5,0,56,180,5,0,72,49,5,0,56,180,5,0,72,49,5,0,42,180,5,0,56,180,5,0,84,5,5,0,58,5,150,0,0,5,136,0,0,156,5,0,58,5,150,0,0,5,136,0,0,180,5,0,58,177,5,0,46,180,5,0,58,177,5,0,48,19,5,0,58,19,5,0,58,162,5,0,58,162,5,0,58,19,5,0,58,19,5,0,58,19,5,0,58,162,5,0,58,162,5,0,58,162,5,0,58,19,5,0,58,19,5,0,60,162,5,0,58,162,5,0,60,49,5,0,58,49,5,0,68,180,5,0,58,177,5,0,82,19,5,0,58,19,5,0,84,162,5,0,58,162,5,0,84,19,5,0,58,19,5,0,88,162,5,0,58,162,5,0,88,19,5,0,62,32,170,0,0,162,5,0,62,32,170,0,0,49,5,0,62,180,5,0,42,180,5,0,62,177,5,0,44,49,5,0,62,46,5,0,46,49,5,0,42,49,5,0,64,49,5,0,62,180,5,0,56,46,5,0,92,180,5,0,62,180,5,0,62,49,5,0,62,49,5,0,64,49,5,0,62,49,5,0,66,180,5,0,62,180,5,0,66,49,5,0,62,49,5,0,66,46,5,0,23,49,5,0,62,49,5,0,66,46,5,0,25,49,5,0,62,180,5,0,72,49,5,0,42,49,5,0,62,49,5,0,80,49,5,0,62,180,5,0,84,49,5,0,62,184,5,0,86,49,5,0,62,177,5,86,96,5,5,0,64,5,196,0,0,5,164,0,0,156,5,0,64,5,196,0,0,5,164,0,0,5,5,0,64,194,5,219,251,156,5,0,64,194,5,219,251,19,5,0,64,19,5,0,60,162,5,0,64,19,5,0,60,162,5,0,64,162,5,0,60,19,5,0,64,19,5,0,64,162,5,0,64,162,5,0,64,49,5,0,64,49,5,0,66,49,5,0,64,49,5,0,68,49,5,0,64,49,5,0,70,46,5,0,54,180,5,0,64,49,5,0,70,49,5,0,78,49,5,0,78,49,5,0,64,49,5,0,50,49,5,0,78,49,5,0,78,19,5,0,64,19,5,0,78,180,5,0,64,180,5,0,80,177,5,0,48,49,5,0,64,49,5,0,88,19,5,0,64,19,5,0,92,49,5,0,66,32,5,147,12,49,5,0,78,49,5,0,66,32,5,147,12,49,5,0,78,46,5,0,23,49,5,0,66,180,5,0,42,49,5,0,66,46,5,0,44,180,5,0,66,177,5,0,44,43,5,0,66,43,5,0,46,43,5,0,66,43,5,0,48,49,5,0,66,46,5,0,54,180,5,0,66,180,5,0,56,46,5,0,92,49,5,0,66,49,5,0,58,49,5,0,64,49,5,0,66,49,5,0,66,49,5,0,66,49,5,0,66,46,5,0,23,49,5,0,66,49,5,0,66,46,5,0,25,49,5,0,66,49,5,0,70,49,5,0,64,180,5,0,66,180,5,0,72,49,5,0,42,43,5,0,66,43,5,0,76,49,5,0,66,49,5,0,78,49,5,0,66,180,5,0,84,180,5,0,66,180,5,0,84,49,5,0,66,184,5,0,86,180,5,0,66,184,5,0,86,180,5,0,66,177,5,86,96,19,5,0,68,32,170,0,0,162,5,0,68,32,170,0,0,49,5,0,68,180,5,0,42,180,5,0,68,180,5,0,50,184,5,0,86,49,5,0,68,177,5,0,52,180,5,0,68,177,5,0,54,19,5,0,68,19,5,0,60,162,5,0,68,19,5,0,60,162,5,0,68,162,5,0,60,49,5,0,68,49,5,0,66,162,5,0,68,19,5,0,70,49,5,0,68,49,5,0,78,49,5,0,68,180,5,0,84,49,5,0,68,184,5,0,86,5,5,0,70,5,142,0,0,5,136,0,0,156,5,0,70,5,142,0,0,5,136,0,0,5,5,0,70,5,142,0,0,5,138,0,0,156,5,0,70,5,142,0,0,5,138,0,0,5,5,0,70,5,142,0,0,5,154,0,0,156,5,0,70,5,142,0,0,5,154,0,0,5,5,0,70,5,142,0,0,5,182,0,0,156,5,0,70,5,142,0,0,5,182,0,0,19,5,0,70,32,150,0,0,162,5,0,70,32,150,0,0,5,5,0,70,5,150,0,0,5,164,0,0,156,5,0,70,5,150,0,0,5,164,0,0,5,5,0,70,5,154,0,0,5,136,0,0,156,5,0,70,5,154,0,0,5,136,0,0,5,5,0,70,5,154,0,0,5,150,0,0,156,5,0,70,5,154,0,0,5,150,0,0,5,5,0,70,5,154,0,0,5,164,0,0,156,5,0,70,5,154,0,0,5,164,0,0,5,5,0,70,5,156,0,0,5,164,0,0,156,5,0,70,5,156,0,0,5,164,0,0,5,5,0,70,5,158,0,0,5,136,0,0,156,5,0,70,5,158,0,0,5,136,0,0,5,5,0,70,5,162,0,0,5,164,0,0,156,5,0,70,5,162,0,0,5,164,0,0,5,5,0,70,5,164,0,0,5,136,0,0,156,5,0,70,5,164,0,0,5,136,0,0,5,5,0,70,5,164,0,0,5,138,0,0,156,5,0,70,5,164,0,0,5,138,0,0,19,5,0,70,32,168,0,0,5,5,0,70,5,190,0,0,5,136,0,0,156,5,0,70,5,190,0,0,5,136,0,0,5,5,0,70,5,190,0,0,5,138,0,0,156,5,0,70,5,190,0,0,5,138,0,0,5,5,0,70,5,190,0,0,5,154,0,0,156,5,0,70,5,190,0,0,5,154,0,0,5,5,0,70,5,190,0,0,5,182,0,0,156,5,0,70,5,190,0,0,5,182,0,0,5,5,0,70,5,190,0,0,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,196,0,0,5,142,0,0,156,5,0,70,5,196,0,0,5,142,0,0,5,112,0,70,19,5,0,50,160,112,0,70,162,5,0,50,46,112,0,70,43,5,0,50,180,5,0,70,180,5,0,62,19,5,0,70,19,5,0,70,162,5,0,70,162,5,0,70,49,5,0,70,180,5,0,84,49,5,0,72,48,5,0,8,49,5,0,66,48,5,0,8,49,5,0,72,180,5,0,42,180,5,0,72,180,5,0,42,49,5,0,72,46,5,0,46,49,5,0,72,177,5,0,52,180,5,0,72,180,5,0,56,180,5,0,72,180,5,0,72,180,5,0,66,180,5,0,72,180,5,0,72,180,5,0,84,180,5,0,72,180,5,0,76,49,5,0,72,49,5,0,78,180,5,0,72,180,5,0,80,180,5,0,50,49,5,0,72,180,5,0,84,49,5,0,72,184,5,0,86,20,5,0,74,19,5,0,72,19,5,0,76,32,170,0,0,162,5,0,76,32,170,0,0,5,5,0,76,5,196,0,0,5,164,0,0,156,5,0,76,5,196,0,0,5,164,0,0,49,5,0,76,49,5,0,42,46,5,0,48,49,5,0,76,49,5,0,42,46,5,0,48,32,5,147,12,49,5,0,78,49,5,0,76,49,5,0,42,46,5,0,48,32,5,147,12,49,5,0,78,46,5,0,23,5,5,0,78,5,136,0,0,5,156,0,0,156,5,0,78,5,136,0,0,5,156,0,0,5,5,0,78,5,144,0,0,5,156,0,0,156,5,0,78,5,144,0,0,5,156,0,0,19,5,0,78,32,170,0,0,162,5,0,78,32,170,0,0,5,5,0,78,5,196,0,0,5,156,0,0,156,5,0,78,5,196,0,0,5,156,0,0,5,120,0,78,5,156,0,0,180,5,0,78,180,5,0,42,180,5,0,78,177,5,0,48,180,5,0,78,180,5,0,56,180,5,0,84,43,5,0,78,43,5,0,66,180,5,0,78,180,5,0,70,180,5,0,78,180,5,0,78,180,5,0,78,5,112,0,78,19,5,0,78,160,112,0,78,162,5,0,78,19,5,0,78,19,5,0,80,5,120,0,78,19,5,0,80,180,5,0,78,49,5,0,84,19,5,0,80,32,5,16,47,162,5,0,80,162,5,0,50,162,5,0,64,5,112,0,80,19,5,0,56,180,5,0,80,180,5,0,56,46,5,0,92,43,5,0,80,43,5,0,66,19,5,0,80,19,5,0,78,19,5,0,80,16,5,14,79,19,5,0,80,16,5,22,79,19,5,0,80,19,5,0,92,162,5,0,80,19,5,0,92,19,5,0,82,32,150,0,0,162,5,0,82,32,150,0,0,5,5,0,82,5,150,0,0,5,136,0,0,156,5,0,82,5,150,0,0,5,136,0,0,5,5,0,82,5,150,0,0,5,138,0,0,156,5,0,82,5,150,0,0,5,138,0,0,5,5,0,82,5,150,0,0,5,144,0,0,156,5,0,82,5,150,0,0,5,144,0,0,5,5,0,82,5,150,0,0,5,164,0,0,156,5,0,82,5,150,0,0,5,164,0,0,5,5,0,82,5,154,0,0,5,136,0,0,156,5,0,82,5,154,0,0,5,136,0,0,5,5,0,82,5,164,0,0,5,150,0,0,156,5,0,82,5,164,0,0,5,150,0,0,19,5,0,82,32,168,0,0,5,5,0,82,5,190,0,0,5,136,0,0,156,5,0,82,5,190,0,0,5,136,0,0,5,5,0,82,5,190,0,0,5,138,0,0,156,5,0,82,5,190,0,0,5,138,0,0,5,5,0,82,5,190,0,0,5,154,0,0,156,5,0,82,5,190,0,0,5,154,0,0,5,5,0,82,5,190,0,0,5,182,0,0,156,5,0,82,5,190,0,0,5,182,0,0,5,5,0,82,5,190,0,0,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,177,5,0,82,180,5,0,56,177,5,0,48,177,5,0,82,180,5,0,72,48,5,90,7,180,5,0,84,32,5,147,12,49,5,0,66,19,5,0,84,19,5,0,58,162,5,0,84,162,5,0,58,19,5,0,84,19,5,0,58,19,5,0,58,162,5,0,84,162,5,0,58,162,5,0,58,19,5,0,84,19,5,0,58,19,5,0,58,19,5,0,58,162,5,0,84,162,5,0,58,162,5,0,58,162,5,0,58,180,5,0,84,180,5,0,70,177,5,0,48,180,5,0,84,180,5,0,78,19,5,0,84,19,5,0,90,162,5,0,84,162,5,0,90,184,5,0,86,46,5,0,44,184,5,0,86,177,5,0,46,176,5,0,86,168,5,0,92,19,5,0,88,19,5,0,58,162,5,0,88,162,5,0,58,19,5,0,88,19,5,0,58,19,5,0,58,162,5,0,88,162,5,0,58,162,5,0,58,19,5,0,92,20,5,0,86,5,5,26,93,5,144,0,0,158,5,26,93,5,144,0,0,32,5,82,93,19,5,0,68,5,5,6,96,5,132,0,0,166,5,6,96,5,132,0,0,5,5,6,96,5,132,0,0,5,136,0,0,166,5,6,96,5,132,0,0,5,136,0,0,5,5,6,96,5,132,0,0,5,136,0,0,5,216,0,0,166,5,6,96,5,132,0,0,5,136,0,0,5,216,0,0,5,5,6,96,5,132,0,0,5,138,0,0,166,5,6,96,5,132,0,0,5,138,0,0,5,5,6,96,5,132,0,0,5,138,0,0,5,216,0,0,166,5,6,96,5,132,0,0,5,138,0,0,5,216,0,0,5,5,6,96,5,132,0,0,5,148,0,0,166,5,6,96,5,132,0,0,5,148,0,0,5,5,6,96,5,132,0,0,5,148,0,0,5,216,0,0,166,5,6,96,5,132,0,0,5,148,0,0,5,216,0,0,5,5,6,96,5,132,0,0,5,216,0,0,166,5,6,96,5,132,0,0,5,216,0,0,5,5,6,96,5,134,0,0,166,5,6,96,5,134,0,0,5,5,6,96,5,134,0,0,5,136,0,0,166,5,6,96,5,134,0,0,5,136,0,0,5,5,6,96,5,134,0,0,5,136,0,0,5,216,0,0,166,5,6,96,5,134,0,0,5,136,0,0,5,216,0,0,5,5,6,96,5,134,0,0,5,138,0,0,166,5,6,96,5,134,0,0,5,138,0,0,5,5,6,96,5,134,0,0,5,138,0,0,5,216,0,0,166,5,6,96,5,134,0,0,5,138,0,0,5,216,0,0,5,5,6,96,5,134,0,0,5,148,0,0,166,5,6,96,5,134,0,0,5,148,0,0,5,5,6,96,5,134,0,0,5,148,0,0,5,216,0,0,166,5,6,96,5,134,0,0,5,148,0,0,5,216,0,0,5,5,6,96,5,134,0,0,5,216,0,0,166,5,6,96,5,134,0,0,5,216,0,0,5,5,6,96,5,136,0,0,166,5,6,96,5,136,0,0,5,5,6,96,5,136,0,0,5,216,0,0,5,5,6,96,5,138,0,0,166,5,6,96,5,138,0,0,5,5,6,96,5,138,0,0,5,216,0,0,5,5,6,96,5,140,0,0,166,5,6,96,5,140,0,0,5,5,6,96,5,148,0,0,5,5,6,96,5,148,0,0,5,216,0,0,5,5,6,96,5,164,0,0,166,5,6,96,5,164,0,0,5,5,6,96,5,216,0,0,166,5,6,96,5,216,0,0,5,5,16,96,5,132,0,0,166,5,16,96,5,132,0,0,5,5,16,96,5,132,0,0,5,136,0,0,166,5,16,96,5,132,0,0,5,136,0,0,5,5,16,96,5,132,0,0,5,138,0,0,166,5,16,96,5,132,0,0,5,138,0,0,5,5,16,96,5,134,0,0,166,5,16,96,5,134,0,0,5,5,16,96,5,134,0,0,5,136,0,0,166,5,16,96,5,134,0,0,5,136,0,0,5,5,16,96,5,134,0,0,5,138,0,0,166,5,16,96,5,134,0,0,5,138,0,0,5,5,16,96,5,136,0,0,166,5,16,96,5,136,0,0,5,5,16,96,5,138,0,0,166,5,16,96,5,138,0,0,5,5,28,96,5,132,0,0,158,5,28,96,5,132,0,0,5,5,28,96,5,132,0,0,5,136,0,0,158,5,28,96,5,132,0,0,5,136,0,0,5,5,28,96,5,132,0,0,5,136,0,0,5,216,0,0,158,5,28,96,5,132,0,0,5,136,0,0,5,216,0,0,5,5,28,96,5,132,0,0,5,138,0,0,158,5,28,96,5,132,0,0,5,138,0,0,5,5,28,96,5,132,0,0,5,138,0,0,5,216,0,0,158,5,28,96,5,132,0,0,5,138,0,0,5,216,0,0,5,5,28,96,5,132,0,0,5,148,0,0,158,5,28,96,5,132,0,0,5,148,0,0,5,5,28,96,5,132,0,0,5,148,0,0,5,216,0,0,158,5,28,96,5,132,0,0,5,148,0,0,5,216,0,0,5,5,28,96,5,132,0,0,5,216,0,0,158,5,28,96,5,132,0,0,5,216,0,0,5,5,28,96,5,134,0,0,158,5,28,96,5,134,0,0,5,5,28,96,5,134,0,0,5,136,0,0,158,5,28,96,5,134,0,0,5,136,0,0,5,5,28,96,5,134,0,0,5,136,0,0,5,216,0,0,158,5,28,96,5,134,0,0,5,136,0,0,5,216,0,0,5,5,28,96,5,134,0,0,5,138,0,0,158,5,28,96,5,134,0,0,5,138,0,0,5,5,28,96,5,134,0,0,5,138,0,0,5,216,0,0,158,5,28,96,5,134,0,0,5,138,0,0,5,216,0,0,5,5,28,96,5,134,0,0,5,148,0,0,158,5,28,96,5,134,0,0,5,148,0,0,5,5,28,96,5,134,0,0,5,148,0,0,5,216,0,0,158,5,28,96,5,134,0,0,5,148,0,0,5,216,0,0,5,5,28,96,5,134,0,0,5,216,0,0,158,5,28,96,5,134,0,0,5,216,0,0,5,5,28,96,5,136,0,0,158,5,28,96,5,136,0,0,5,5,28,96,5,136,0,0,5,216,0,0,5,5,28,96,5,138,0,0,158,5,28,96,5,138,0,0,5,5,28,96,5,138,0,0,5,216,0,0,5,5,28,96,5,148,0,0,5,5,28,96,5,148,0,0,5,216,0,0,5,5,28,96,5,216,0,0,158,5,28,96,5,216,0,0,5,5,32,96,5,132,0,0,166,5,32,96,5,132,0,0,5,5,32,96,5,132,0,0,5,136,0,0,166,5,32,96,5,132,0,0,5,136,0,0,5,5,32,96,5,132,0,0,5,138,0,0,166,5,32,96,5,132,0,0,5,138,0,0,5,5,32,96,5,132,0,0,5,148,0,0,166,5,32,96,5,132,0,0,5,148,0,0,5,5,32,96,5,134,0,0,166,5,32,96,5,134,0,0,5,5,32,96,5,134,0,0,5,136,0,0,166,5,32,96,5,134,0,0,5,136,0,0,5,5,32,96,5,134,0,0,5,138,0,0,166,5,32,96,5,134,0,0,5,138,0,0,5,5,32,96,5,134,0,0,5,148,0,0,166,5,32,96,5,134,0,0,5,148,0,0,5,5,32,96,5,136,0,0,166,5,32,96,5,136,0,0,5,5,32,96,5,138,0,0,166,5,32,96,5,138,0,0,5,5,32,96,5,140,0,0,166,5,32,96,5,140,0,0,5,5,32,96,5,148,0,0,5,5,32,96,5,150,0,0,166,5,32,96,5,150,0,0,5,5,32,96,5,150,0,0,5,136,0,0,5,5,32,96,5,150,0,0,5,138,0,0,5,5,32,96,5,150,0,0,5,148,0,0,5,5,32,96,5,164,0,0,166,5,32,96,5,164,0,0,16,5,36,96,16,5,6,96,16,5,32,96,168,5,36,96,16,5,6,96,16,5,32,96,48,5,42,96,180,5,0,42,48,5,42,96,177,5,0,52,48,5,42,96,46,5,0,54,48,5,42,96,49,5,0,64,48,5,42,96,49,5,0,66,48,5,42,96,49,5,0,78,48,5,42,96,180,5,0,84,48,5,42,96,184,5,0,86,5,5,48,96,5,132,0,0,158,5,48,96,5,132,0,0,5,5,48,96,5,132,0,0,5,136,0,0,158,5,48,96,5,132,0,0,5,136,0,0,5,5,48,96,5,132,0,0,5,138,0,0,158,5,48,96,5,132,0,0,5,138,0,0,5,5,48,96,5,134,0,0,158,5,48,96,5,134,0,0,5,5,48,96,5,134,0,0,5,136,0,0,158,5,48,96,5,134,0,0,5,136,0,0,5,5,48,96,5,134,0,0,5,138,0,0,158,5,48,96,5,134,0,0,5,138,0,0,5,5,48,96,5,136,0,0,158,5,48,96,5,136,0,0,5,5,48,96,5,138,0,0,158,5,48,96,5,138,0,0,5,5,60,96,5,132,0,0,5,5,60,96,5,134,0,0,160,5,60,96,5,134,0,0,5,5,76,96,5,132,0,0,5,5,76,96,5,132,0,0,5,136,0,0,5,5,76,96,5,132,0,0,5,138,0,0,5,5,76,96,5,132,0,0,5,148,0,0,5,5,76,96,5,134,0,0,155,5,76,96,5,134,0,0,5,5,76,96,5,134,0,0,5,136,0,0,155,5,76,96,5,134,0,0,5,136,0,0,5,5,76,96,5,134,0,0,5,138,0,0,155,5,76,96,5,134,0,0,5,138,0,0,5,5,76,96,5,134,0,0,5,148,0,0,155,5,76,96,5,134,0,0,5,148,0,0,5,5,76,96,5,136,0,0,155,5,76,96,5,136,0,0,166,5,76,96,5,136,0,0,5,5,76,96,5,138,0,0,155,5,76,96,5,138,0,0,5,5,76,96,5,140,0,0,155,5,76,96,5,140,0,0,5,5,76,96,5,148,0,0,5,5,76,96,5,150,0,0,155,5,76,96,5,150,0,0,166,5,76,96,5,150,0,0,5,5,76,96,5,150,0,0,5,136,0,0,5,5,76,96,5,150,0,0,5,138,0,0,5,5,76,96,5,150,0,0,5,148,0,0,5,5,76,96,5,164,0,0,155,5,76,96,5,164,0,0,5,5,86,96,5,132,0,0,155,5,86,96,5,132,0,0,5,5,86,96,5,132,0,0,5,136,0,0,155,5,86,96,5,132,0,0,5,136,0,0,5,5,86,96,5,132,0,0,5,136,0,0,5,216,0,0,155,5,86,96,5,132,0,0,5,136,0,0,5,216,0,0,5,5,86,96,5,132,0,0,5,138,0,0,155,5,86,96,5,132,0,0,5,138,0,0,5,5,86,96,5,132,0,0,5,138,0,0,5,216,0,0,155,5,86,96,5,132,0,0,5,138,0,0,5,216,0,0,5,5,86,96,5,132,0,0,5,148,0,0,155,5,86,96,5,132,0,0,5,148,0,0,5,5,86,96,5,132,0,0,5,148,0,0,5,216,0,0,155,5,86,96,5,132,0,0,5,148,0,0,5,216,0,0,5,5,86,96,5,132,0,0,5,216,0,0,155,5,86,96,5,132,0,0,5,216,0,0,5,5,86,96,5,134,0,0,155,5,86,96,5,134,0,0,5,5,86,96,5,134,0,0,5,136,0,0,155,5,86,96,5,134,0,0,5,136,0,0,5,5,86,96,5,134,0,0,5,136,0,0,5,216,0,0,155,5,86,96,5,134,0,0,5,136,0,0,5,216,0,0,5,5,86,96,5,134,0,0,5,138,0,0,155,5,86,96,5,134,0,0,5,138,0,0,5,5,86,96,5,134,0,0,5,138,0,0,5,216,0,0,155,5,86,96,5,134,0,0,5,138,0,0,5,216,0,0,5,5,86,96,5,134,0,0,5,148,0,0,155,5,86,96,5,134,0,0,5,148,0,0,5,5,86,96,5,134,0,0,5,148,0,0,5,216,0,0,155,5,86,96,5,134,0,0,5,148,0,0,5,216,0,0,5,5,86,96,5,134,0,0,5,216,0,0,155,5,86,96,5,134,0,0,5,216,0,0,5,5,86,96,5,136,0,0,155,5,86,96,5,136,0,0,5,5,86,96,5,136,0,0,5,216,0,0,5,5,86,96,5,138,0,0,155,5,86,96,5,138,0,0,5,5,86,96,5,138,0,0,5,216,0,0,5,5,86,96,5,148,0,0,5,5,86,96,5,148,0,0,5,216,0,0,5,5,86,96,5,216,0,0,155,5,86,96,5,216,0,0,32,5,120,96,32,5,98,96,32,5,118,96,5,5,6,97,5,140,0,0,174,5,6,97,5,140,0,0,5,5,6,97,5,150,0,0,174,5,6,97,5,150,0,0,5,5,8,97,5,150,0,0,160,5,8,97,5,150,0,0,5,5,16,97,5,136,0,0,174,5,16,97,5,136,0,0,5,5,40,97,5,138,0,0,174,5,40,97,5,138,0,0,5,5,40,97,5,140,0,0,174,5,40,97,5,140,0,0,5,5,40,97,5,150,0,0,174,5,40,97,5,150,0,0,5,5,44,97,5,140,0,0,174,5,44,97,5,140,0,0,5,5,44,97,5,150,0,0,174,5,44,97,5,150,0,0,5,5,50,97,5,150,0,0,174,5,50,97,5,150,0,0,5,5,70,97,5,138,0,0,174,5,70,97,5,138,0,0,5,5,70,97,5,150,0,0,174,5,70,97,5,150,0,0,5,5,70,97,5,164,0,0,174,5,70,97,5,164,0,0,5,5,74,97,5,150,0,0,32,5,74,97,32,150,0,0,174,5,74,97,5,150,0,0,5,5,84,97,5,136,0,0,174,5,84,97,5,136,0,0,5,5,138,97,5,150,0,0,158,5,138,97,5,150,0,0,5,5,140,97,5,150,0,0,160,5,140,97,5,150,0,0,32,5,156,97,32,5,162,97,5,5,172,97,5,140,0,0,174,5,172,97,5,140,0,0,5,5,172,97,5,150,0,0,174,5,172,97,5,150,0,0,5,5,172,97,5,152,0,0,174,5,172,97,5,152,0,0,5,5,172,97,5,164,0,0,174,5,172,97,5,164,0,0,5,5,200,97,5,150,0,0,174,5,200,97,5,150,0,0,5,5,230,97,5,150,0,0,174,5,230,97,5,150,0,0,5,5,238,97,5,150,0,0,160,5,238,97,5,150,0,0,193,86,246,97,5,184,0,0,32,5,16,100,32,5,76,100,32,5,46,100,32,5,16,100,32,5,46,100,32,5,28,100,32,5,46,100,32,5,32,100,32,5,46,100,32,5,52,100,32,5,68,100,32,5,52,100,5,5,6,101,194,5,12,227,5,5,6,101,194,5,45,227,5,5,6,101,194,5,210,227,32,5,6,101,32,5,28,101,5,5,8,101,194,5,210,227,5,5,8,101,194,5,243,227,5,5,10,101,194,5,210,227,5,5,12,101,194,5,210,227,5,5,14,101,194,5,210,227,5,5,16,101,194,5,78,227,5,5,16,101,194,5,210,227,32,5,16,101,32,5,16,101,32,5,16,101,32,5,24,101,5,5,18,101,194,5,210,227,5,5,22,101,194,5,210,227,5,5,24,101,194,5,167,226,5,5,24,101,194,5,210,227,32,5,24,101,32,5,14,101,32,5,16,101,32,5,14,101,32,5,24,101,32,5,24,101,32,5,24,101,32,5,24,101,194,5,12,227,5,5,26,101,194,5,210,227,46,5,26,101,194,5,210,227,5,5,26,101,194,5,243,227,5,5,28,101,194,5,210,227,5,5,30,101,194,5,210,227,5,5,32,101,194,5,210,227,5,5,34,101,194,5,210,227,5,5,38,101,194,5,210,227,32,5,38,101,194,5,210,227,5,5,38,101,194,5,243,227,5,5,40,101,194,5,210,227,5,5,42,101,194,5,210,227,5,5,44,101,194,5,210,227,5,5,46,101,194,5,144,227,5,5,46,101,194,5,177,227,5,5,46,101,194,5,210,227,5,5,46,101,194,5,210,227,194,5,144,227,5,5,46,101,194,5,210,227,194,5,177,227,5,5,48,101,194,5,210,227,38,5,22,102,38,5,26,102,49,5,22,102,49,5,26,102,16,5,22,102,24,5,58,102,49,5,22,102,48,5,58,102,16,5,22,102,24,5,72,102,49,5,22,102,48,5,72,102,16,5,22,102,24,5,74,102,38,5,22,102,30,5,110,102,38,5,22,102,30,5,112,102,16,5,22,102,24,5,200,102,27,5,22,102,32,5,200,102,38,5,22,102,40,5,200,102,49,5,22,102,48,5,200,102,38,5,22,102,40,5,204,102,16,5,22,102,24,5,214,102,27,5,22,102,32,5,214,102,38,5,22,102,38,5,222,102,49,5,22,102,49,5,222,102,38,5,22,102,30,5,228,102,49,5,22,102,44,5,228,102,38,5,22,102,32,5,230,102,49,5,22,102,46,5,230,102,16,5,22,102,16,5,236,102,38,5,22,102,38,5,236,102,49,5,22,102,49,5,236,102,38,5,22,102,44,5,238,102,49,5,22,102,51,5,238,102,16,5,22,102,16,5,246,102,38,5,22,102,38,5,246,102,49,5,22,102,49,5,246,102,38,5,26,102,194,30,164,229,49,5,26,102,194,44,164,229,16,5,26,102,32,5,6,102,49,5,26,102,48,5,182,102,48,5,30,102,44,5,110,102,49,5,26,102,48,5,196,102,48,5,196,102,48,5,214,102,24,5,30,102,24,5,58,102,48,5,30,102,48,5,58,102,24,5,30,102,24,5,72,102,48,5,30,102,48,5,72,102,40,5,30,102,40,5,72,102,44,5,238,102,24,5,30,102,24,5,74,102,48,5,30,102,48,5,74,102,40,5,30,102,40,5,74,102,44,5,238,102,40,5,30,102,30,5,110,102,40,5,30,102,30,5,112,102,24,5,30,102,24,5,200,102,32,5,30,102,32,5,200,102,40,5,30,102,40,5,200,102,48,5,30,102,48,5,200,102,40,5,30,102,40,5,204,102,24,5,30,102,24,5,214,102,32,5,30,102,32,5,214,102,40,5,30,102,38,5,236,102,48,5,30,102,49,5,236,102,40,5,30,102,44,5,238,102,48,5,30,102,51,5,238,102,24,5,42,102,24,5,58,102,48,5,42,102,48,5,58,102,24,5,42,102,24,5,58,102,24,5,200,102,40,5,42,102,40,5,58,102,38,5,236,102,40,5,42,102,40,5,58,102,44,5,238,102,24,5,42,102,24,5,72,102,48,5,42,102,48,5,72,102,24,5,42,102,24,5,72,102,24,5,58,102,40,5,42,102,40,5,72,102,40,5,58,102,24,5,42,102,24,5,72,102,24,5,200,102,24,5,42,102,24,5,74,102,48,5,42,102,48,5,74,102,24,5,42,102,24,5,74,102,24,5,200,102,40,5,42,102,40,5,74,102,38,5,236,102,40,5,42,102,40,5,74,102,44,5,238,102,40,5,42,102,30,5,110,102,40,5,42,102,30,5,112,102,24,5,42,102,24,5,200,102,32,5,42,102,32,5,200,102,40,5,42,102,40,5,200,102,48,5,42,102,48,5,200,102,24,5,42,102,24,5,200,102,24,5,58,102,24,5,42,102,24,5,200,102,24,5,72,102,24,5,42,102,24,5,200,102,24,5,74,102,40,5,42,102,40,5,200,102,38,5,236,102,40,5,42,102,40,5,200,102,44,5,238,102,40,5,42,102,40,5,204,102,24,5,42,102,24,5,214,102,32,5,42,102,32,5,214,102,40,5,42,102,38,5,236,102,48,5,42,102,49,5,236,102,40,5,42,102,44,5,238,102,48,5,42,102,51,5,238,102,48,5,44,102,48,5,58,102,40,5,44,102,30,5,110,102,40,5,44,102,30,5,112,102,24,5,44,102,24,5,200,102,32,5,44,102,32,5,200,102,40,5,44,102,40,5,200,102,48,5,44,102,48,5,200,102,40,5,44,102,40,5,204,102,32,5,44,102,32,5,214,102,40,5,44,102,38,5,236,102,48,5,44,102,49,5,236,102,40,5,44,102,44,5,238,102,48,5,44,102,51,5,238,102,24,5,58,102,24,5,72,102,48,5,58,102,48,5,72,102,40,5,58,102,40,5,72,102,38,5,236,102,40,5,58,102,40,5,72,102,44,5,238,102,48,5,58,102,48,5,196,102,32,5,0,4,48,5,58,102,48,5,196,102,49,5,26,102,48,5,196,102,48,5,214,102,48,5,58,102,48,5,200,102,24,5,58,102,24,5,200,102,24,5,72,102,40,5,58,102,40,5,200,102,40,5,72,102,40,5,58,102,40,5,200,102,38,5,236,102,40,5,58,102,40,5,200,102,44,5,238,102,48,5,58,102,49,5,236,102,48,5,58,102,51,5,238,102,48,5,72,102,48,5,58,102,40,5,72,102,40,5,58,102,44,5,238,102,48,5,72,102,48,5,200,102,40,5,72,102,40,5,200,102,38,5,236,102,40,5,72,102,40,5,200,102,44,5,238,102,48,5,72,102,49,5,236,102,48,5,72,102,51,5,238,102,24,5,74,102,24,5,58,102,48,5,74,102,48,5,58,102,48,5,74,102,48,5,72,102,48,5,74,102,48,5,200,102,48,5,74,102,49,5,236,102,48,5,74,102,51,5,238,102,44,5,86,102,194,44,59,235,44,5,110,102,194,44,59,235,44,5,110,102,48,5,134,102,49,5,222,102,48,5,196,102,24,5,134,102,24,5,58,102,32,5,134,102,32,5,58,102,48,5,134,102,48,5,58,102,24,5,134,102,24,5,58,102,24,5,72,102,40,5,134,102,40,5,58,102,38,5,236,102,24,5,134,102,24,5,72,102,32,5,134,102,32,5,72,102,48,5,134,102,48,5,72,102,24,5,134,102,24,5,72,102,24,5,58,102,24,5,134,102,24,5,74,102,32,5,134,102,32,5,74,102,48,5,134,102,48,5,74,102,40,5,134,102,40,5,74,102,38,5,236,102,40,5,134,102,40,5,74,102,44,5,238,102,40,5,134,102,30,5,110,102,48,5,134,102,44,5,110,102,24,5,134,102,24,5,200,102,32,5,134,102,32,5,200,102,48,5,134,102,48,5,200,102,24,5,134,102,24,5,200,102,24,5,58,102,24,5,134,102,24,5,200,102,24,5,72,102,40,5,134,102,40,5,200,102,40,5,72,102,24,5,134,102,24,5,200,102,24,5,200,102,40,5,134,102,40,5,200,102,40,5,200,102,24,5,134,102,24,5,214,102,32,5,134,102,32,5,214,102,40,5,134,102,38,5,236,102,48,5,134,102,49,5,236,102,40,5,134,102,44,5,238,102,48,5,134,102,51,5,238,102,24,5,136,102,24,5,58,102,32,5,136,102,32,5,58,102,40,5,136,102,40,5,58,102,48,5,136,102,48,5,58,102,40,5,136,102,40,5,58,102,44,5,238,102,24,5,136,102,24,5,72,102,32,5,136,102,32,5,72,102,40,5,136,102,40,5,72,102,48,5,136,102,48,5,72,102,24,5,136,102,24,5,72,102,24,5,200,102,40,5,136,102,40,5,72,102,40,5,200,102,40,5,136,102,40,5,72,102,44,5,238,102,24,5,136,102,24,5,74,102,32,5,136,102,32,5,74,102,40,5,136,102,40,5,74,102,48,5,136,102,48,5,74,102,40,5,136,102,30,5,110,102,48,5,136,102,44,5,110,102,24,5,136,102,24,5,200,102,32,5,136,102,32,5,200,102,40,5,136,102,40,5,200,102,48,5,136,102,48,5,200,102,24,5,136,102,24,5,200,102,24,5,74,102,40,5,136,102,40,5,200,102,40,5,74,102,24,5,136,102,24,5,200,102,24,5,200,102,40,5,136,102,40,5,200,102,40,5,200,102,24,5,136,102,24,5,214,102,32,5,136,102,32,5,214,102,40,5,136,102,38,5,236,102,48,5,136,102,49,5,236,102,40,5,136,102,44,5,238,102,48,5,136,102,51,5,238,102,24,5,146,102,24,5,72,102,48,5,146,102,48,5,72,102,24,5,146,102,24,5,72,102,24,5,72,102,40,5,146,102,40,5,72,102,40,5,72,102,40,5,146,102,40,5,72,102,44,5,238,102,24,5,146,102,24,5,74,102,40,5,146,102,30,5,110,102,48,5,146,102,44,5,110,102,48,5,146,102,48,5,196,102,48,5,166,102,48,5,200,102,48,5,146,102,48,5,196,102,49,5,236,102,48,5,146,102,48,5,196,102,49,5,236,102,32,5,0,4,49,5,26,102,48,5,196,102,48,5,196,102,48,5,214,102,32,5,0,4,48,5,166,102,48,5,196,102,51,5,238,102,48,5,214,102,32,5,0,4,49,5,222,102,48,5,134,102,48,5,196,102,48,5,200,102,48,5,146,102,48,5,196,102,46,5,250,102,24,5,146,102,24,5,200,102,48,5,146,102,48,5,200,102,24,5,146,102,24,5,200,102,24,5,200,102,40,5,146,102,40,5,200,102,40,5,200,102,40,5,146,102,38,5,236,102,48,5,146,102,49,5,236,102,40,5,146,102,44,5,238,102,48,5,146,102,51,5,238,102,24,5,148,102,24,5,58,102,48,5,148,102,48,5,58,102,24,5,148,102,24,5,72,102,48,5,148,102,48,5,72,102,40,5,148,102,40,5,72,102,38,5,236,102,40,5,148,102,40,5,72,102,44,5,238,102,24,5,148,102,24,5,74,102,48,5,148,102,48,5,74,102,24,5,148,102,24,5,74,102,24,5,200,102,40,5,148,102,40,5,74,102,40,5,200,102,40,5,148,102,30,5,110,102,48,5,148,102,44,5,110,102,24,5,148,102,24,5,200,102,48,5,148,102,48,5,200,102,40,5,148,102,38,5,236,102,48,5,148,102,49,5,236,102,40,5,148,102,44,5,238,102,48,5,148,102,51,5,238,102,24,5,158,102,24,5,72,102,48,5,158,102,48,5,72,102,24,5,158,102,24,5,200,102,32,5,158,102,32,5,200,102,48,5,158,102,48,5,200,102,24,5,158,102,24,5,200,102,24,5,72,102,40,5,158,102,40,5,200,102,40,5,72,102,24,5,158,102,24,5,200,102,24,5,200,102,40,5,158,102,40,5,200,102,44,5,238,102,40,5,158,102,38,5,236,102,48,5,158,102,49,5,236,102,40,5,158,102,44,5,238,102,48,5,158,102,51,5,238,102,24,5,160,102,24,5,200,102,32,5,160,102,32,5,200,102,48,5,160,102,48,5,200,102,24,5,166,102,24,5,58,102,48,5,166,102,48,5,58,102,24,5,166,102,24,5,58,102,24,5,200,102,40,5,166,102,40,5,58,102,40,5,200,102,24,5,166,102,24,5,200,102,24,5,166,102,24,5,200,102,24,5,200,102,40,5,166,102,40,5,200,102,40,5,200,102,40,5,166,102,40,5,200,102,38,5,236,102,40,5,166,102,40,5,200,102,44,5,238,102,40,5,166,102,38,5,236,102,48,5,166,102,49,5,236,102,40,5,166,102,44,5,238,102,48,5,166,102,51,5,238,102,24,5,168,102,24,5,58,102,48,5,168,102,48,5,58,102,24,5,168,102,24,5,200,102,48,5,168,102,48,5,200,102,40,5,168,102,40,5,200,102,40,5,200,102,40,5,168,102,40,5,200,102,38,5,236,102,40,5,168,102,40,5,200,102,44,5,238,102,40,5,168,102,38,5,236,102,48,5,168,102,49,5,236,102,40,5,168,102,44,5,238,102,48,5,168,102,51,5,238,102,24,5,174,102,24,5,58,102,48,5,174,102,48,5,58,102,24,5,174,102,24,5,72,102,48,5,174,102,48,5,72,102,24,5,174,102,24,5,74,102,48,5,174,102,48,5,74,102,24,5,174,102,24,5,74,102,24,5,200,102,40,5,174,102,40,5,74,102,40,5,200,102,24,5,174,102,24,5,200,102,48,5,174,102,48,5,200,102,40,5,174,102,40,5,200,102,44,5,238,102,40,5,174,102,38,5,236,102,48,5,174,102,49,5,236,102,40,5,174,102,44,5,238,102,48,5,174,102,51,5,238,102,24,5,178,102,24,5,72,102,48,5,178,102,48,5,72,102,48,5,178,102,48,5,196,102,46,5,250,102,24,5,178,102,24,5,200,102,48,5,178,102,48,5,200,102,24,5,178,102,24,5,200,102,24,5,72,102,40,5,178,102,40,5,200,102,40,5,72,102,40,5,178,102,40,5,200,102,40,5,200,102,40,5,178,102,40,5,200,102,44,5,238,102,40,5,178,102,38,5,236,102,48,5,178,102,49,5,236,102,40,5,178,102,44,5,238,102,48,5,178,102,51,5,238,102,40,5,182,102,38,5,26,102,48,5,182,102,49,5,26,102,24,5,182,102,24,5,58,102,48,5,182,102,48,5,58,102,24,5,182,102,24,5,72,102,48,5,182,102,48,5,72,102,24,5,182,102,24,5,74,102,48,5,182,102,48,5,74,102,24,5,182,102,24,5,196,102,32,5,182,102,32,5,196,102,40,5,182,102,40,5,196,102,48,5,182,102,48,5,196,102,24,5,182,102,24,5,200,102,32,5,182,102,32,5,200,102,40,5,182,102,40,5,200,102,48,5,182,102,48,5,200,102,24,5,182,102,24,5,200,102,24,5,200,102,40,5,182,102,40,5,200,102,40,5,200,102,40,5,182,102,40,5,200,102,44,5,238,102,40,5,182,102,38,5,236,102,48,5,182,102,49,5,236,102,40,5,182,102,44,5,238,102,48,5,182,102,51,5,238,102,40,5,196,102,32,5,8,102,48,5,196,102,46,5,8,102,40,5,196,102,32,5,10,102,48,5,196,102,46,5,10,102,40,5,196,102,32,5,18,102,48,5,196,102,46,5,18,102,40,5,196,102,38,5,26,102,24,5,196,102,24,5,58,102,48,5,196,102,48,5,58,102,24,5,196,102,24,5,58,102,24,5,58,102,40,5,196,102,40,5,58,102,40,5,58,102,24,5,196,102,24,5,58,102,24,5,200,102,40,5,196,102,40,5,58,102,40,5,200,102,40,5,196,102,40,5,58,102,44,5,238,102,24,5,196,102,24,5,72,102,48,5,196,102,48,5,72,102,24,5,196,102,24,5,72,102,24,5,200,102,40,5,196,102,40,5,72,102,40,5,200,102,40,5,196,102,40,5,72,102,38,5,236,102,40,5,196,102,40,5,72,102,44,5,238,102,24,5,196,102,24,5,74,102,48,5,196,102,48,5,74,102,24,5,196,102,24,5,74,102,24,5,200,102,40,5,196,102,40,5,74,102,40,5,200,102,24,5,196,102,24,5,200,102,32,5,196,102,32,5,200,102,40,5,196,102,40,5,200,102,24,5,196,102,24,5,200,102,24,5,72,102,40,5,196,102,40,5,200,102,40,5,72,102,40,5,196,102,40,5,200,102,44,5,238,102,24,5,196,102,24,5,214,102,40,5,196,102,38,5,236,102,40,5,196,102,44,5,238,102,40,5,200,102,38,5,26,102,48,5,200,102,48,5,58,102,24,5,200,102,24,5,58,102,24,5,72,102,24,5,200,102,24,5,58,102,24,5,74,102,24,5,200,102,24,5,58,102,24,5,200,102,40,5,200,102,40,5,58,102,44,5,238,102,48,5,200,102,48,5,72,102,24,5,200,102,24,5,72,102,24,5,58,102,24,5,200,102,24,5,72,102,24,5,200,102,48,5,200,102,48,5,72,102,48,5,200,102,44,5,84,102,40,5,200,102,40,5,72,102,44,5,238,102,24,5,200,102,24,5,74,102,24,5,58,102,24,5,200,102,24,5,74,102,24,5,200,102,40,5,200,102,40,5,74,102,44,5,238,102,48,5,200,102,48,5,200,102,40,5,200,102,40,5,200,102,44,5,238,102,48,5,200,102,49,5,236,102,48,5,200,102,51,5,238,102,24,5,204,102,24,5,58,102,48,5,204,102,48,5,58,102,24,5,204,102,24,5,58,102,24,5,72,102,40,5,204,102,40,5,58,102,40,5,72,102,24,5,204,102,24,5,58,102,24,5,200,102,40,5,204,102,40,5,58,102,40,5,200,102,40,5,204,102,40,5,58,102,38,5,236,102,40,5,204,102,40,5,58,102,44,5,238,102,24,5,204,102,24,5,72,102,48,5,204,102,48,5,72,102,24,5,204,102,24,5,72,102,24,5,200,102,40,5,204,102,40,5,72,102,38,5,236,102,40,5,204,102,40,5,72,102,44,5,238,102,24,5,204,102,24,5,74,102,48,5,204,102,48,5,74,102,40,5,204,102,30,5,110,102,40,5,204,102,30,5,112,102,24,5,204,102,24,5,200,102,32,5,204,102,32,5,200,102,40,5,204,102,40,5,200,102,48,5,204,102,48,5,200,102,40,5,204,102,40,5,200,102,38,5,236,102,40,5,204,102,40,5,200,102,44,5,238,102,40,5,204,102,40,5,204,102,24,5,204,102,24,5,214,102,32,5,204,102,32,5,214,102,40,5,204,102,38,5,236,102,48,5,204,102,49,5,236,102,40,5,204,102,44,5,238,102,48,5,204,102,51,5,238,102,24,5,214,102,194,16,59,235,24,5,214,102,24,5,58,102,24,5,214,102,24,5,200,102,48,5,214,102,48,5,200,102,24,5,214,102,24,5,200,102,24,5,58,102,24,5,214,102,24,5,200,102,24,5,200,102,48,5,214,102,49,5,236,102,48,5,214,102,51,5,238,102,5,5,218,102,194,5,128,232,193,16,220,102,194,5,128,232,16,5,222,102,32,5,6,102,16,5,228,102,32,5,6,102,44,5,228,102,46,5,6,102,38,5,236,102,194,30,59,235,49,5,236,102,194,44,59,235,16,5,238,102,32,5,6,102,30,5,238,102,24,5,58,102,51,5,238,102,48,5,58,102,44,5,238,102,40,5,58,102,44,5,238,102,30,5,238,102,24,5,72,102,44,5,238,102,40,5,72,102,44,5,238,102,30,5,238,102,24,5,74,102,51,5,238,102,48,5,74,102,44,5,238,102,30,5,110,102,44,5,238,102,30,5,112,102,30,5,238,102,24,5,200,102,37,5,238,102,32,5,200,102,51,5,238,102,48,5,200,102,30,5,238,102,24,5,200,102,24,5,200,102,44,5,238,102,40,5,200,102,40,5,200,102,44,5,238,102,40,5,200,102,44,5,238,102,30,5,238,102,24,5,214,102,37,5,238,102,32,5,214,102,44,5,238,102,38,5,236,102,51,5,238,102,49,5,236,102,44,5,238,102,44,5,238,102,51,5,238,102,51,5,238,102,5,5,250,102,194,5,128,232,32,5,250,102,194,32,128,232,46,5,250,102,194,46,128,232,5,5,62,104,194,5,175,240,5,5,64,104,194,5,175,240,5,5,66,104,194,5,175,240,5,5,78,104,194,5,175,240,5,5,94,104,194,5,175,240,5,5,98,104,194,5,175,240,5,5,110,104,194,5,175,240,5,5,114,104,194,5,175,240,5,5,124,104,194,5,175,240,5,5,128,104,194,5,175,240,5,5,132,104,194,5,175,240,5,5,60,105,194,5,175,240,5,5,62,105,194,5,175,240,32,5,66,105,32,5,132,105,5,5,86,105,194,5,175,240,5,5,32,106,194,5,175,240,5,5,40,106,194,5,175,240,5,5,42,106,194,5,175,240,5,5,52,106,194,5,175,240,5,5,80,106,194,5,175,240,5,5,94,106,194,5,175,240,5,5,58,108,194,5,175,240,5,5,60,108,194,5,175,240,32,5,40,112,32,5,152,112,32,5,68,112,32,5,152,112,32,5,78,112,32,5,152,112,32,5,90,112,32,5,152,112,32,5,92,112,32,5,152,112,32,5,94,112,32,5,152,112,32,5,96,112,32,5,152,112,32,5,108,112,32,5,152,112,32,5,110,112,32,5,152,112,193,163,166,113,194,5,175,240,193,170,166,113,194,5,175,240,193,233,166,113,194,5,175,240,5,5,6,114,5,5,122,114,5,5,6,114,5,5,124,114,5,5,6,114,5,5,126,114,5,5,6,114,5,5,128,114,5,5,6,114,5,5,130,114,5,5,8,114,5,5,122,114,5,5,8,114,5,5,124,114,5,5,8,114,5,5,126,114,5,5,8,114,5,5,128,114,5,5,8,114,5,5,130,114,5,5,10,114,5,5,122,114,5,5,10,114,5,5,124,114,5,5,10,114,5,5,126,114,5,5,10,114,5,5,128,114,5,5,10,114,5,5,130,114,5,5,12,114,5,5,122,114,5,5,12,114,5,5,124,114,5,5,12,114,5,5,126,114,5,5,12,114,5,5,128,114,5,5,12,114,5,5,130,114,5,5,14,114,5,5,122,114,5,5,14,114,5,5,124,114,5,5,14,114,5,5,126,114,5,5,14,114,5,5,128,114,5,5,14,114,5,5,130,114,5,5,16,114,5,5,122,114,5,5,16,114,5,5,124,114,5,5,16,114,5,5,126,114,5,5,16,114,5,5,128,114,5,5,16,114,5,5,130,114,5,5,18,114,5,5,122,114,5,5,18,114,5,5,124,114,5,5,18,114,5,5,126,114,5,5,18,114,5,5,128,114,5,5,18,114,5,5,130,114,5,5,20,114,5,5,122,114,5,5,20,114,5,5,124,114,5,5,20,114,5,5,126,114,5,5,20,114,5,5,128,114,5,5,20,114,5,5,130,114,5,5,22,114,5,5,122,114,5,5,22,114,5,5,124,114,5,5,22,114,5,5,126,114,5,5,22,114,5,5,128,114,5,5,22,114,5,5,130,114,5,5,24,114,5,5,122,114,5,5,24,114,5,5,124,114,5,5,24,114,5,5,126,114,5,5,24,114,5,5,128,114,5,5,24,114,5,5,130,114,5,5,26,114,5,5,122,114,5,5,26,114,5,5,124,114,5,5,26,114,5,5,126,114,5,5,26,114,5,5,128,114,5,5,26,114,5,5,130,114,5,5,28,114,5,5,122,114,5,5,28,114,5,5,124,114,5,5,28,114,5,5,126,114,5,5,28,114,5,5,128,114,5,5,28,114,5,5,130,114,5,5,30,114,5,5,122,114,5,5,30,114,5,5,124,114,5,5,30,114,5,5,126,114,5,5,30,114,5,5,128,114,5,5,30,114,5,5,130,114,5,5,32,114,5,5,122,114,5,5,32,114,5,5,124,114,5,5,32,114,5,5,126,114,5,5,32,114,5,5,128,114,5,5,32,114,5,5,130,114,5,5,34,114,5,5,122,114,5,5,34,114,5,5,124,114,5,5,34,114,5,5,126,114,5,5,34,114,5,5,128,114,5,5,34,114,5,5,130,114,5,5,36,114,5,5,122,114,5,5,36,114,5,5,124,114,5,5,36,114,5,5,126,114,5,5,36,114,5,5,128,114,5,5,36,114,5,5,130,114,5,5,38,114,5,5,122,114,5,5,38,114,5,5,124,114,5,5,38,114,5,5,126,114,5,5,38,114,5,5,128,114,5,5,38,114,5,5,130,114,5,5,40,114,5,5,122,114,5,5,40,114,5,5,124,114,5,5,40,114,5,5,126,114,5,5,40,114,5,5,128,114,5,5,40,114,5,5,130,114,5,5,42,114,5,5,122,114,5,5,42,114,5,5,124,114,5,5,42,114,5,5,126,114,5,5,42,114,5,5,128,114,5,5,42,114,5,5,130,114,5,5,44,114,5,5,122,114,5,5,44,114,5,5,124,114,5,5,44,114,5,5,126,114,5,5,44,114,5,5,128,114,5,5,44,114,5,5,130,114,5,5,46,114,5,5,122,114,5,5,46,114,5,5,124,114,5,5,46,114,5,5,126,114,5,5,46,114,5,5,128,114,5,5,46,114,5,5,130,114,5,5,48,114,5,5,122,114,5,5,48,114,5,5,124,114,5,5,48,114,5,5,126,114,5,5,48,114,5,5,128,114,5,5,48,114,5,5,130,114,5,5,50,114,5,5,122,114,5,5,50,114,5,5,124,114,5,5,50,114,5,5,126,114,5,5,50,114,5,5,128,114,5,5,50,114,5,5,130,114,5,5,52,114,5,5,122,114,5,5,52,114,5,5,124,114,5,5,52,114,5,5,126,114,5,5,52,114,5,5,128,114,5,5,52,114,5,5,130,114,5,5,54,114,5,5,122,114,5,5,54,114,5,5,124,114,5,5,54,114,5,5,126,114,5,5,54,114,5,5,128,114,5,5,54,114,5,5,130,114,5,5,56,114,5,5,122,114,5,5,56,114,5,5,124,114,5,5,56,114,5,5,126,114,5,5,56,114,5,5,128,114,5,5,56,114,5,5,130,114,5,5,58,114,5,5,122,114,5,5,58,114,5,5,124,114,5,5,58,114,5,5,126,114,5,5,58,114,5,5,128,114,5,5,58,114,5,5,130,114,5,5,60,114,5,5,122,114,5,5,60,114,5,5,124,114,5,5,60,114,5,5,126,114,5,5,60,114,5,5,128,114,5,5,60,114,5,5,130,114,5,5,62,114,5,5,122,114,5,5,62,114,5,5,124,114,5,5,62,114,5,5,126,114,5,5,62,114,5,5,128,114,5,5,62,114,5,5,130,114,5,5,64,114,5,5,122,114,5,5,64,114,5,5,124,114,5,5,64,114,5,5,126,114,5,5,64,114,5,5,128,114,5,5,64,114,5,5,130,114,5,5,66,114,5,5,122,114,5,5,66,114,5,5,124,114,5,5,66,114,5,5,126,114,5,5,66,114,5,5,128,114,5,5,66,114,5,5,130,114,5,5,68,114,5,5,122,114,5,5,68,114,5,5,124,114,5,5,68,114,5,5,126,114,5,5,68,114,5,5,128,114,5,5,68,114,5,5,130,114,5,5,70,114,5,5,122,114,5,5,70,114,5,5,124,114,5,5,70,114,5,5,126,114,5,5,70,114,5,5,128,114,5,5,70,114,5,5,130,114,5,5,72,114,5,5,122,114,5,5,72,114,5,5,124,114,5,5,72,114,5,5,126,114,5,5,72,114,5,5,128,114,5,5,72,114,5,5,130,114,5,5,74,114,5,5,122,114,5,5,74,114,5,5,124,114,5,5,74,114,5,5,126,114,5,5,74,114,5,5,128,114,5,5,74,114,5,5,130,114,5,5,76,114,5,5,122,114,5,5,76,114,5,5,124,114,5,5,76,114,5,5,126,114,5,5,76,114,5,5,128,114,5,5,76,114,5,5,130,114,5,5,78,114,5,5,122,114,5,5,78,114,5,5,124,114,5,5,78,114,5,5,126,114,5,5,78,114,5,5,128,114,5,5,78,114,5,5,130,114,5,5,80,114,5,5,122,114,5,5,80,114,5,5,124,114,5,5,80,114,5,5,126,114,5,5,80,114,5,5,128,114,5,5,80,114,5,5,130,114,5,5,82,114,5,5,122,114,5,5,82,114,5,5,124,114,5,5,82,114,5,5,126,114,5,5,82,114,5,5,128,114,5,5,82,114,5,5,130,114,5,5,84,114,5,5,122,114,5,5,84,114,5,5,124,114,5,5,84,114,5,5,126,114,5,5,84,114,5,5,128,114,5,5,84,114,5,5,130,114,5,5,86,114,5,5,122,114,5,5,86,114,5,5,124,114,5,5,86,114,5,5,126,114,5,5,86,114,5,5,128,114,5,5,86,114,5,5,130,114,5,5,88,114,5,5,122,114,5,5,88,114,5,5,124,114,5,5,88,114,5,5,126,114,5,5,88,114,5,5,128,114,5,5,88,114,5,5,130,114,5,5,90,114,5,5,122,114,5,5,90,114,5,5,124,114,5,5,90,114,5,5,126,114,5,5,90,114,5,5,128,114,5,5,90,114,5,5,130,114,5,5,92,114,5,5,122,114,5,5,92,114,5,5,124,114,5,5,92,114,5,5,126,114,5,5,92,114,5,5,128,114,5,5,92,114,5,5,130,114,5,5,94,114,5,5,122,114,5,5,94,114,5,5,124,114,5,5,94,114,5,5,126,114,5,5,94,114,5,5,128,114,5,5,94,114,5,5,130,114,5,5,96,114,5,5,122,114,5,5,96,114,5,5,124,114,5,5,96,114,5,5,126,114,5,5,96,114,5,5,128,114,5,5,96,114,5,5,130,114,5,5,6,115,5,5,122,115,5,5,6,115,5,5,124,115,5,5,6,115,5,5,126,115,5,5,6,115,5,5,128,115,5,5,6,115,5,5,130,115,5,5,8,115,5,5,122,115,5,5,8,115,5,5,124,115,5,5,8,115,5,5,126,115,5,5,8,115,5,5,128,115,5,5,8,115,5,5,130,115,5,5,10,115,5,5,122,115,5,5,10,115,5,5,124,115,5,5,10,115,5,5,126,115,5,5,10,115,5,5,128,115,5,5,10,115,5,5,130,115,5,5,12,115,5,5,122,115,5,5,12,115,5,5,124,115,5,5,12,115,5,5,126,115,5,5,12,115,5,5,128,115,5,5,12,115,5,5,130,115,5,5,14,115,5,5,122,115,5,5,14,115,5,5,124,115,5,5,14,115,5,5,126,115,5,5,14,115,5,5,128,115,5,5,14,115,5,5,130,115,5,5,16,115,5,5,122,115,5,5,16,115,5,5,124,115,5,5,16,115,5,5,126,115,5,5,16,115,5,5,128,115,5,5,16,115,5,5,130,115,5,5,18,115,5,5,122,115,5,5,18,115,5,5,124,115,5,5,18,115,5,5,126,115,5,5,18,115,5,5,128,115,5,5,18,115,5,5,130,115,5,5,20,115,5,5,122,115,5,5,20,115,5,5,124,115,5,5,20,115,5,5,126,115,5,5,20,115,5,5,128,115,5,5,20,115,5,5,130,115,5,5,22,115,5,5,122,115,5,5,22,115,5,5,124,115,5,5,22,115,5,5,126,115,5,5,22,115,5,5,128,115,5,5,22,115,5,5,130,115,5,5,24,115,5,5,122,115,5,5,24,115,5,5,124,115,5,5,24,115,5,5,126,115,5,5,24,115,5,5,128,115,5,5,24,115,5,5,130,115,5,5,26,115,5,5,122,115,5,5,26,115,5,5,124,115,5,5,26,115,5,5,126,115,5,5,26,115,5,5,128,115,5,5,26,115,5,5,130,115,5,5,28,115,5,5,122,115,5,5,28,115,5,5,124,115,5,5,28,115,5,5,126,115,5,5,28,115,5,5,128,115,5,5,28,115,5,5,130,115,5,5,30,115,5,5,122,115,5,5,30,115,5,5,124,115,5,5,30,115,5,5,126,115,5,5,30,115,5,5,128,115,5,5,30,115,5,5,130,115,5,5,32,115,5,5,122,115,5,5,32,115,5,5,124,115,5,5,32,115,5,5,126,115,5,5,32,115,5,5,128,115,5,5,32,115,5,5,130,115,5,5,34,115,5,5,122,115,5,5,34,115,5,5,124,115,5,5,34,115,5,5,126,115,5,5,34,115,5,5,128,115,5,5,34,115,5,5,130,115,5,5,36,115,5,5,122,115,5,5,36,115,5,5,124,115,5,5,36,115,5,5,126,115,5,5,36,115,5,5,128,115,5,5,36,115,5,5,130,115,5,5,38,115,5,5,122,115,5,5,38,115,5,5,124,115,5,5,38,115,5,5,126,115,5,5,38,115,5,5,128,115,5,5,38,115,5,5,130,115,5,5,40,115,5,5,122,115,5,5,40,115,5,5,124,115,5,5,40,115,5,5,126,115,5,5,40,115,5,5,128,115,5,5,40,115,5,5,130,115,5,5,42,115,5,5,122,115,5,5,42,115,5,5,124,115,5,5,42,115,5,5,126,115,5,5,42,115,5,5,128,115,5,5,42,115,5,5,130,115,5,5,44,115,5,5,122,115,5,5,44,115,5,5,124,115,5,5,44,115,5,5,126,115,5,5,44,115,5,5,128,115,5,5,44,115,5,5,130,115,5,5,46,115,5,5,122,115,5,5,46,115,5,5,124,115,5,5,46,115,5,5,126,115,5,5,46,115,5,5,128,115,5,5,46,115,5,5,130,115,5,5,48,115,5,5,122,115,5,5,48,115,5,5,124,115,5,5,48,115,5,5,126,115,5,5,48,115,5,5,128,115,5,5,48,115,5,5,130,115,5,5,50,115,5,5,122,115,5,5,50,115,5,5,124,115,5,5,50,115,5,5,126,115,5,5,50,115,5,5,128,115,5,5,50,115,5,5,130,115,5,5,52,115,5,5,122,115,5,5,52,115,5,5,124,115,5,5,52,115,5,5,126,115,5,5,52,115,5,5,128,115,5,5,52,115,5,5,130,115,5,5,54,115,5,5,122,115,5,5,54,115,5,5,124,115,5,5,54,115,5,5,126,115,5,5,54,115,5,5,128,115,5,5,54,115,5,5,130,115,5,5,56,115,5,5,122,115,5,5,56,115,5,5,124,115,5,5,56,115,5,5,126,115,5,5,56,115,5,5,128,115,5,5,56,115,5,5,130,115,5,5,58,115,5,5,122,115,5,5,58,115,5,5,124,115,5,5,58,115,5,5,126,115,5,5,58,115,5,5,128,115,5,5,58,115,5,5,130,115,5,5,60,115,5,5,122,115,5,5,60,115,5,5,124,115,5,5,60,115,5,5,126,115,5,5,60,115,5,5,128,115,5,5,60,115,5,5,130,115,5,5,62,115,5,5,122,115,5,5,62,115,5,5,124,115,5,5,62,115,5,5,126,115,5,5,62,115,5,5,128,115,5,5,62,115,5,5,130,115,5,5,64,115,5,5,122,115,5,5,64,115,5,5,124,115,5,5,64,115,5,5,126,115,5,5,64,115,5,5,128,115,5,5,64,115,5,5,130,115,5,5,66,115,5,5,122,115,5,5,66,115,5,5,124,115,5,5,66,115,5,5,126,115,5,5,66,115,5,5,128,115,5,5,66,115,5,5,130,115,5,5,68,115,5,5,122,115,5,5,68,115,5,5,124,115,5,5,68,115,5,5,126,115,5,5,68,115,5,5,128,115,5,5,68,115,5,5,130,115,5,5,70,115,5,5,122,115,5,5,70,115,5,5,124,115,5,5,70,115,5,5,126,115,5,5,70,115,5,5,128,115,5,5,70,115,5,5,130,115,5,5,72,115,5,5,122,115,5,5,72,115,5,5,124,115,5,5,72,115,5,5,126,115,5,5,72,115,5,5,128,115,5,5,72,115,5,5,130,115,5,5,74,115,5,5,122,115,5,5,74,115,5,5,124,115,5,5,74,115,5,5,126,115,5,5,74,115,5,5,128,115,5,5,74,115,5,5,130,115,5,5,76,115,5,5,122,115,5,5,76,115,5,5,124,115,5,5,76,115,5,5,126,115,5,5,76,115,5,5,128,115,5,5,76,115,5,5,130,115,5,5,78,115,5,5,122,115,5,5,78,115,5,5,124,115,5,5,78,115,5,5,126,115,5,5,78,115,5,5,128,115,5,5,78,115,5,5,130,115,5,5,80,115,5,5,122,115,5,5,80,115,5,5,124,115,5,5,80,115,5,5,126,115,5,5,80,115,5,5,128,115,5,5,80,115,5,5,130,115,5,5,82,115,5,5,122,115,5,5,82,115,5,5,124,115,5,5,82,115,5,5,126,115,5,5,82,115,5,5,128,115,5,5,82,115,5,5,130,115,32,5,84,115,32,5,54,115,32,5,84,115,32,5,54,115,5,5,122,115,32,5,84,115,32,5,54,115,5,5,124,115,32,5,84,115,32,5,54,115,5,5,126,115,32,5,84,115,32,5,54,115,5,5,128,115,32,5,84,115,32,5,54,115,5,5,130,115,32,5,84,115,32,5,70,115,32,5,84,115,32,5,70,115,5,5,122,115,32,5,84,115,32,5,70,115,5,5,124,115,32,5,84,115,32,5,70,115,5,5,126,115,32,5,84,115,32,5,70,115,5,5,128,115,32,5,84,115,32,5,70,115,5,5,130,115,5,5,84,115,5,5,122,115,5,5,84,115,5,5,124,115,5,5,84,115,5,5,126,115,5,5,84,115,5,5,128,115,5,5,84,115,5,5,130,115,5,5,86,115,5,5,122,115,5,5,86,115,5,5,124,115,5,5,86,115,5,5,126,115,5,5,86,115,5,5,128,115,5,5,86,115,5,5,130,115,5,5,88,115,5,5,122,115,5,5,88,115,5,5,124,115,5,5,88,115,5,5,126,115,5,5,88,115,5,5,128,115,5,5,88,115,5,5,130,115,5,5,90,115,5,5,122,115,5,5,90,115,5,5,124,115,5,5,90,115,5,5,126,115,5,5,90,115,5,5,128,115,5,5,90,115,5,5,130,115,193,9,132,115,193,126,133,115,193,9,132,115,193,133,133,115,193,9,132,115,193,154,133,115,193,9,132,115,193,168,133,115,193,9,132,115,193,175,133,115,193,16,132,115,193,126,133,115,193,16,132,115,193,133,133,115,193,16,132,115,193,154,133,115,193,16,132,115,193,168,133,115,193,16,132,115,193,175,133,115,193,23,132,115,193,126,133,115,193,23,132,115,193,133,133,115,193,23,132,115,193,154,133,115,193,23,132,115,193,168,133,115,193,23,132,115,193,175,133,115,193,30,132,115,193,126,133,115,193,30,132,115,193,133,133,115,193,30,132,115,193,154,133,115,193,30,132,115,193,168,133,115,193,30,132,115,193,175,133,115,193,37,132,115,193,126,133,115,193,37,132,115,193,133,133,115,193,37,132,115,193,154,133,115,193,37,132,115,193,168,133,115,193,37,132,115,193,175,133,115,193,44,132,115,193,126,133,115,193,44,132,115,193,133,133,115,193,44,132,115,193,154,133,115,193,44,132,115,193,168,133,115,193,44,132,115,193,175,133,115,193,51,132,115,193,126,133,115,193,51,132,115,193,133,133,115,193,51,132,115,193,154,133,115,193,51,132,115,193,168,133,115,193,51,132,115,193,175,133,115,193,58,132,115,193,126,133,115,193,58,132,115,193,133,133,115,193,58,132,115,193,154,133,115,193,58,132,115,193,168,133,115,193,58,132,115,193,175,133,115,193,65,132,115,193,126,133,115,193,65,132,115,193,133,133,115,193,65,132,115,193,154,133,115,193,65,132,115,193,168,133,115,193,65,132,115,193,175,133,115,193,72,132,115,193,126,133,115,193,72,132,115,193,133,133,115,193,72,132,115,193,154,133,115,193,72,132,115,193,168,133,115,193,72,132,115,193,175,133,115,193,79,132,115,193,126,133,115,193,79,132,115,193,133,133,115,193,79,132,115,193,154,133,115,193,79,132,115,193,168,133,115,193,79,132,115,193,175,133,115,193,86,132,115,193,126,133,115,193,86,132,115,193,133,133,115,193,86,132,115,193,154,133,115,193,86,132,115,193,168,133,115,193,86,132,115,193,175,133,115,193,93,132,115,193,126,133,115,193,93,132,115,193,133,133,115,193,93,132,115,193,154,133,115,193,93,132,115,193,168,133,115,193,93,132,115,193,175,133,115,193,100,132,115,193,126,133,115,193,100,132,115,193,133,133,115,193,100,132,115,193,154,133,115,193,100,132,115,193,168,133,115,193,100,132,115,193,175,133,115,193,107,132,115,193,126,133,115,193,107,132,115,193,133,133,115,193,107,132,115,193,154,133,115,193,107,132,115,193,168,133,115,193,107,132,115,193,175,133,115,193,114,132,115,193,126,133,115,193,114,132,115,193,133,133,115,193,114,132,115,193,154,133,115,193,114,132,115,193,168,133,115,193,114,132,115,193,175,133,115,193,121,132,115,193,126,133,115,193,121,132,115,193,133,133,115,193,121,132,115,193,154,133,115,193,121,132,115,193,168,133,115,193,121,132,115,193,175,133,115,193,128,132,115,193,126,133,115,193,128,132,115,193,133,133,115,193,128,132,115,193,154,133,115,193,128,132,115,193,168,133,115,193,128,132,115,193,175,133,115,193,135,132,115,193,126,133,115,193,135,132,115,193,133,133,115,193,135,132,115,193,154,133,115,193,135,132,115,193,168,133,115,193,135,132,115,193,175,133,115,193,142,132,115,193,126,133,115,193,142,132,115,193,133,133,115,193,142,132,115,193,154,133,115,193,142,132,115,193,168,133,115,193,142,132,115,193,175,133,115,193,149,132,115,193,126,133,115,193,149,132,115,193,133,133,115,193,149,132,115,193,154,133,115,193,149,132,115,193,168,133,115,193,149,132,115,193,175,133,115,193,156,132,115,193,126,133,115,193,156,132,115,193,133,133,115,193,156,132,115,193,154,133,115,193,156,132,115,193,168,133,115,193,156,132,115,193,175,133,115,193,163,132,115,193,126,133,115,193,163,132,115,193,133,133,115,193,163,132,115,193,154,133,115,193,163,132,115,193,168,133,115,193,163,132,115,193,175,133,115,193,170,132,115,193,126,133,115,193,170,132,115,193,133,133,115,193,170,132,115,193,154,133,115,193,170,132,115,193,168,133,115,193,170,132,115,193,175,133,115,193,177,132,115,193,126,133,115,193,177,132,115,193,133,133,115,193,177,132,115,193,154,133,115,193,177,132,115,193,168,133,115,193,177,132,115,193,175,133,115,193,184,132,115,193,126,133,115,193,184,132,115,193,133,133,115,193,184,132,115,193,154,133,115,193,184,132,115,193,168,133,115,193,184,132,115,193,175,133,115,193,191,132,115,193,126,133,115,193,191,132,115,193,133,133,115,193,191,132,115,193,154,133,115,193,191,132,115,193,168,133,115,193,191,132,115,193,175,133,115,193,198,132,115,193,126,133,115,193,198,132,115,193,133,133,115,193,198,132,115,193,154,133,115,193,198,132,115,193,168,133,115,193,198,132,115,193,175,133,115,193,205,132,115,193,126,133,115,193,205,132,115,193,133,133,115,193,205,132,115,193,154,133,115,193,205,132,115,193,168,133,115,193,205,132,115,193,175,133,115,193,212,132,115,193,126,133,115,193,212,132,115,193,133,133,115,193,212,132,115,193,154,133,115,193,212,132,115,193,168,133,115,193,212,132,115,193,175,133,115,193,219,132,115,193,126,133,115,193,219,132,115,193,133,133,115,193,219,132,115,193,154,133,115,193,219,132,115,193,168,133,115,193,219,132,115,193,175,133,115,193,226,132,115,193,126,133,115,193,226,132,115,193,133,133,115,193,226,132,115,193,154,133,115,193,226,132,115,193,168,133,115,193,226,132,115,193,175,133,115,193,233,132,115,193,126,133,115,193,233,132,115,193,133,133,115,193,233,132,115,193,154,133,115,193,233,132,115,193,168,133,115,193,233,132,115,193,175,133,115,193,240,132,115,193,126,133,115,193,240,132,115,193,133,133,115,193,240,132,115,193,154,133,115,193,240,132,115,193,168,133,115,193,240,132,115,193,175,133,115,193,247,132,115,193,126,133,115,193,247,132,115,193,133,133,115,193,247,132,115,193,154,133,115,193,247,132,115,193,168,133,115,193,247,132,115,193,175,133,115,193,254,132,115,193,126,133,115,193,254,132,115,193,133,133,115,193,254,132,115,193,154,133,115,193,254,132,115,193,168,133,115,193,254,132,115,193,175,133,115,193,7,133,115,193,126,133,115,193,7,133,115,193,133,133,115,193,7,133,115,193,154,133,115,193,7,133,115,193,168,133,115,193,7,133,115,193,175,133,115,193,14,133,115,193,126,133,115,193,14,133,115,193,133,133,115,193,14,133,115,193,154,133,115,193,14,133,115,193,168,133,115,193,14,133,115,193,175,133,115,193,21,133,115,193,126,133,115,193,21,133,115,193,133,133,115,193,21,133,115,193,154,133,115,193,21,133,115,193,168,133,115,193,21,133,115,193,175,133,115,193,28,133,115,193,126,133,115,193,28,133,115,193,133,133,115,193,28,133,115,193,154,133,115,193,28,133,115,193,168,133,115,193,28,133,115,193,175,133,115,193,35,133,115,193,126,133,115,193,35,133,115,193,133,133,115,193,35,133,115,193,154,133,115,193,35,133,115,193,168,133,115,193,35,133,115,193,175,133,115,193,42,133,115,193,126,133,115,193,42,133,115,193,133,133,115,193,42,133,115,193,154,133,115,193,42,133,115,193,168,133,115,193,42,133,115,193,175,133,115,193,49,133,115,193,126,133,115,193,49,133,115,193,133,133,115,193,49,133,115,193,154,133,115,193,49,133,115,193,168,133,115,193,49,133,115,193,175,133,115,193,56,133,115,193,126,133,115,193,56,133,115,193,133,133,115,193,56,133,115,193,154,133,115,193,56,133,115,193,168,133,115,193,56,133,115,193,175,133,115,193,63,133,115,193,126,133,115,193,63,133,115,193,133,133,115,193,63,133,115,193,154,133,115,193,63,133,115,193,168,133,115,193,63,133,115,193,175,133,115,193,70,133,115,193,126,133,115,193,70,133,115,193,133,133,115,193,70,133,115,193,154,133,115,193,70,133,115,193,168,133,115,193,70,133,115,193,175,133,115,193,77,133,115,193,126,133,115,193,77,133,115,193,133,133,115,193,77,133,115,193,154,133,115,193,77,133,115,193,168,133,115,193,77,133,115,193,175,133,115,193,84,133,115,193,126,133,115,193,84,133,115,193,133,133,115,193,84,133,115,193,154,133,115,193,84,133,115,193,168,133,115,193,84,133,115,193,175,133,115,5,5,6,116,5,5,136,116,5,5,8,116,5,5,136,116,5,5,16,116,5,5,144,116,5,5,18,116,5,5,144,116,5,5,48,116,5,5,144,116,5,5,50,116,5,5,144,116,5,5,64,116,5,5,144,116,5,5,66,116,5,5,144,116,5,5,80,116,5,5,144,116,5,5,82,116,5,5,144,116,5,5,96,116,5,5,144,116,5,5,98,116,5,5,144,116,5,5,122,116,5,5,166,116,5,5,122,116,5,5,170,116,5,5,122,116,5,5,178,116,5,5,128,116,5,5,166,116,5,5,128,116,5,5,170,116,5,5,128,116,5,5,178,116,32,5,146,116,32,5,192,116,194,32,241,240,32,5,12,117,32,5,20,117,32,5,16,117,32,5,22,117,32,5,83,117,32,5,91,117,32,5,83,117,193,9,5,118,193,142,9,118,193,9,5,118,5,5,11,118,193,9,5,118,193,2,13,118,193,9,5,118,193,23,13,118,193,16,5,118,193,142,9,118,193,16,5,118,5,5,11,118,193,16,5,118,193,2,13,118,193,16,5,118,193,23,13,118,193,23,5,118,193,142,9,118,193,23,5,118,5,5,11,118,193,23,5,118,193,2,13,118,193,23,5,118,193,23,13,118,193,30,5,118,193,142,9,118,193,30,5,118,5,5,11,118,193,30,5,118,193,2,13,118,193,30,5,118,193,23,13,118,193,37,5,118,193,142,9,118,193,37,5,118,5,5,11,118,193,37,5,118,193,2,13,118,193,37,5,118,193,23,13,118,193,44,5,118,193,142,9,118,193,44,5,118,5,5,11,118,193,44,5,118,193,2,13,118,193,44,5,118,193,23,13,118,193,51,5,118,193,142,9,118,193,51,5,118,5,5,11,118,193,51,5,118,193,2,13,118,193,51,5,118,193,23,13,118,193,58,5,118,193,142,9,118,193,58,5,118,5,5,11,118,193,58,5,118,193,2,13,118,193,58,5,118,193,23,13,118,193,65,5,118,193,142,9,118,193,65,5,118,5,5,11,118,193,65,5,118,193,2,13,118,193,65,5,118,193,23,13,118,193,72,5,118,193,142,9,118,193,72,5,118,5,5,11,118,193,72,5,118,193,2,13,118,193,72,5,118,193,23,13,118,193,79,5,118,193,142,9,118,193,79,5,118,5,5,11,118,193,79,5,118,193,2,13,118,193,79,5,118,193,23,13,118,193,86,5,118,193,142,9,118,193,86,5,118,5,5,11,118,193,86,5,118,193,2,13,118,193,86,5,118,193,23,13,118,193,93,5,118,193,142,9,118,193,93,5,118,5,5,11,118,193,93,5,118,193,2,13,118,193,93,5,118,193,23,13,118,193,100,5,118,193,142,9,118,193,100,5,118,5,5,11,118,193,100,5,118,193,2,13,118,193,100,5,118,193,23,13,118,193,107,5,118,193,142,9,118,193,107,5,118,5,5,11,118,193,107,5,118,193,2,13,118,193,107,5,118,193,23,13,118,193,114,5,118,193,142,9,118,193,114,5,118,5,5,11,118,193,114,5,118,193,2,13,118,193,114,5,118,193,23,13,118,193,121,5,118,193,142,9,118,193,121,5,118,5,5,11,118,193,121,5,118,193,2,13,118,193,121,5,118,193,23,13,118,193,128,5,118,193,142,9,118,193,128,5,118,5,5,11,118,193,128,5,118,193,2,13,118,193,128,5,118,193,23,13,118,193,135,5,118,193,142,9,118,193,135,5,118,5,5,11,118,193,135,5,118,193,2,13,118,193,135,5,118,193,23,13,118,193,142,5,118,193,142,9,118,193,142,5,118,5,5,11,118,193,142,5,118,193,2,13,118,193,142,5,118,193,23,13,118,193,149,5,118,193,142,9,118,193,149,5,118,5,5,11,118,193,149,5,118,193,2,13,118,193,149,5,118,193,23,13,118,193,156,5,118,193,142,9,118,193,156,5,118,5,5,11,118,193,156,5,118,193,2,13,118,193,156,5,118,193,23,13,118,193,163,5,118,193,142,9,118,193,163,5,118,5,5,11,118,193,163,5,118,193,2,13,118,193,163,5,118,193,23,13,118,193,170,5,118,193,142,9,118,193,170,5,118,5,5,11,118,193,170,5,118,193,2,13,118,193,170,5,118,193,23,13,118,193,177,5,118,193,142,9,118,193,177,5,118,5,5,11,118,193,177,5,118,193,2,13,118,193,177,5,118,193,23,13,118,193,184,5,118,193,142,9,118,193,184,5,118,5,5,11,118,193,184,5,118,193,2,13,118,193,184,5,118,193,23,13,118,193,191,5,118,193,142,9,118,193,191,5,118,5,5,11,118,193,191,5,118,193,2,13,118,193,191,5,118,193,23,13,118,193,198,5,118,193,142,9,118,193,198,5,118,5,5,11,118,193,198,5,118,193,2,13,118,193,198,5,118,193,23,13,118,5,5,7,118,193,142,9,118,5,5,7,118,5,5,11,118,32,5,7,118,32,5,11,118,32,5,7,118,32,5,11,118,32,5,15,118,5,5,7,118,193,2,13,118,5,5,7,118,193,23,13,118,193,2,9,118,193,142,9,118,193,2,9,118,5,5,11,118,193,2,9,118,193,2,13,118,193,2,9,118,193,23,13,118,193,9,9,118,193,142,9,118,193,9,9,118,5,5,11,118,193,9,9,118,193,2,13,118,193,9,9,118,193,23,13,118,193,16,9,118,193,142,9,118,193,16,9,118,5,5,11,118,193,16,9,118,193,2,13,118,193,16,9,118,193,23,13,118,193,23,9,118,193,142,9,118,193,23,9,118,5,5,11,118,193,23,9,118,193,2,13,118,193,23,9,118,193,23,13,118,193,30,9,118,193,142,9,118,193,30,9,118,5,5,11,118,193,30,9,118,193,2,13,118,193,30,9,118,193,23,13,118,193,37,9,118,193,142,9,118,193,37,9,118,5,5,11,118,193,37,9,118,193,2,13,118,193,37,9,118,193,23,13,118,193,44,9,118,193,142,9,118,193,44,9,118,5,5,11,118,193,44,9,118,193,2,13,118,193,44,9,118,193,23,13,118,193,51,9,118,193,142,9,118,193,51,9,118,5,5,11,118,193,51,9,118,193,2,13,118,193,51,9,118,193,23,13,118,193,58,9,118,193,142,9,118,193,58,9,118,5,5,11,118,193,58,9,118,193,2,13,118,193,58,9,118,193,23,13,118,193,65,9,118,193,142,9,118,193,65,9,118,5,5,11,118,193,65,9,118,193,2,13,118,193,65,9,118,193,23,13,118,193,72,9,118,193,142,9,118,193,72,9,118,5,5,11,118,193,72,9,118,193,2,13,118,193,72,9,118,193,23,13,118,193,79,9,118,193,142,9,118,193,79,9,118,5,5,11,118,193,79,9,118,193,2,13,118,193,79,9,118,193,23,13,118,193,86,9,118,193,142,9,118,193,86,9,118,5,5,11,118,193,86,9,118,193,2,13,118,193,86,9,118,193,23,13,118,193,93,9,118,193,142,9,118,193,93,9,118,5,5,11,118,193,93,9,118,193,2,13,118,193,93,9,118,193,23,13,118,193,100,9,118,193,142,9,118,193,100,9,118,5,5,11,118,193,100,9,118,193,2,13,118,193,100,9,118,193,23,13,118,32,5,28,118,32,5,36,118,32,5,28,118,32,5,10,119,32,5,10,119,32,5,32,119,32,5,52,119,5,112,50,119,5,112,50,119,32,5,6,120,32,5,72,120,32,5,10,120,32,5,72,120,32,5,14,120,32,5,72,120,32,5,18,120,32,5,74,120,32,5,22,120,32,5,72,120,32,5,26,120,32,5,74,120,32,5,30,120,32,5,74,120,32,5,34,120,32,5,72,120,32,5,46,120,32,5,72,120,32,5,55,120,32,5,72,120,32,5,59,120,32,5,72,120,32,5,63,120,32,5,74,120,32,5,67,120,32,5,72,120,30,5,6,121,30,5,103,121,30,5,10,121,30,5,103,121,30,5,12,121,30,5,103,121,30,5,16,121,30,5,103,121,30,5,18,121,30,5,103,121,30,5,20,121,30,5,103,121,30,5,24,121,30,5,103,121,30,5,28,121,30,5,103,121,30,5,28,121,30,5,129,121,30,5,30,121,30,5,103,121,30,5,30,121,30,5,129,121,30,5,28,121,30,5,141,121,30,5,34,121,30,5,103,121,30,5,34,121,30,5,103,121,32,5,209,121,30,5,6,121,30,5,119,121,30,5,36,121,30,5,103,121,30,5,38,121,30,5,103,121,30,5,40,121,30,5,103,121,30,5,42,121,30,5,103,121,51,5,6,122,46,5,118,13,48,5,88,122,51,5,6,122,48,5,58,122,46,176,0,0,46,5,118,13,51,5,46,122,51,5,6,122,48,5,88,122,48,5,62,122,51,5,6,122,51,5,6,122,49,5,102,122,48,5,64,122,46,176,0,0,51,5,6,122,51,5,8,122,49,5,50,122,49,5,102,122,48,5,22,122,46,174,0,0,51,5,8,122,49,5,102,122,49,5,40,122,133,5,10,122,5,174,0,0,158,5,10,122,5,174,0,0,51,5,10,122,51,5,16,122,49,5,102,122,51,5,14,122,46,5,118,13,48,5,18,122,46,5,118,13,51,5,14,122,48,5,32,122,48,5,22,122,46,5,118,13,51,5,46,122,46,174,0,0,51,5,16,122,46,5,118,13,48,5,72,122,51,5,16,122,49,5,102,122,48,5,32,122,133,5,18,122,5,174,0,0,152,5,18,122,5,174,0,0,48,5,18,122,51,5,8,122,51,5,86,122,48,5,18,122,48,5,84,122,51,5,42,122,51,5,46,122,48,5,18,122,48,5,92,122,51,5,86,122,46,5,118,13,48,5,18,122,46,174,0,0,48,5,92,122,49,5,102,122,48,5,18,122,46,174,0,0,49,5,102,122,49,5,68,122,133,5,20,122,5,174,0,0,144,5,20,122,5,174,0,0,49,5,20,122,46,174,0,0,48,5,18,122,46,174,0,0,49,5,20,122,46,174,0,0,49,5,50,122,46,5,118,13,49,5,20,122,51,5,80,122,51,5,86,122,46,5,118,13,49,5,20,122,46,174,0,0,48,5,88,122,49,5,38,122,46,174,0,0,46,5,118,13,49,5,20,122,48,5,92,122,49,5,20,122,48,5,92,122,48,5,22,122,46,174,0,0,48,5,84,122,48,5,72,122,49,5,20,122,48,5,92,122,49,5,74,122,46,5,118,13,51,5,46,122,48,5,88,122,49,5,20,122,48,5,92,122,48,5,94,122,51,5,42,122,51,5,46,122,133,5,22,122,5,174,0,0,152,5,22,122,5,174,0,0,48,5,22,122,46,174,0,0,48,5,84,122,48,5,72,122,51,5,46,122,49,5,102,122,48,5,22,122,48,5,88,122,49,5,34,122,46,174,0,0,51,5,8,122,48,5,92,122,48,5,22,122,48,5,92,122,46,5,118,13,49,5,54,122,133,5,24,122,5,174,0,0,152,5,24,122,5,174,0,0,48,5,24,122,46,5,118,13,48,5,32,122,133,5,26,122,5,174,0,0,144,5,26,122,5,174,0,0,48,5,26,122,46,5,118,13,48,5,66,122,46,176,0,0,48,5,26,122,48,5,26,122,40,5,26,122,44,5,46,122,48,5,26,122,48,5,88,122,49,5,48,122,133,5,28,122,5,174,0,0,144,5,28,122,5,174,0,0,49,5,28,122,51,5,8,122,48,5,22,122,48,5,88,122,49,5,28,122,49,5,102,122,49,5,40,122,46,5,118,13,48,5,72,122,133,5,30,122,5,174,0,0,152,5,30,122,5,174,0,0,3,5,30,122,3,5,74,122,48,5,30,122,51,5,86,122,49,5,102,122,48,5,22,122,46,174,0,0,133,5,32,122,5,174,0,0,152,5,32,122,5,174,0,0,133,5,34,122,5,174,0,0,144,5,34,122,5,174,0,0,49,5,34,122,49,5,102,122,49,5,40,122,49,5,34,122,49,5,102,122,51,5,46,122,133,5,36,122,5,174,0,0,144,5,36,122,5,174,0,0,133,5,38,122,5,174,0,0,144,5,38,122,5,174,0,0,49,5,38,122,46,174,0,0,46,5,118,13,48,5,32,122,133,5,40,122,5,174,0,0,144,5,40,122,5,174,0,0,133,5,42,122,5,174,0,0,158,5,42,122,5,174,0,0,133,5,44,122,5,174,0,0,144,5,44,122,5,174,0,0,49,5,44,122,46,174,0,0,49,5,44,122,46,174,0,0,48,5,30,122,133,5,46,122,5,174,0,0,151,5,46,122,5,174,0,0,51,5,46,122,46,174,0,0,48,5,88,122,49,5,48,122,49,5,56,122,49,5,56,122,51,5,42,122,51,5,46,122,133,5,58,122,5,174,0,0,152,5,58,122,5,174,0,0,133,5,58,122,5,176,0,0,152,5,58,122,5,176,0,0,48,5,58,122,46,176,0,0,46,5,118,13,49,5,34,122,49,5,102,122,51,5,46,122,48,5,58,122,46,176,0,0,46,5,118,13,51,5,42,122,48,5,58,122,46,174,0,0,46,5,118,13,48,5,90,122,48,5,88,122,48,5,58,122,51,5,8,122,51,5,42,122,133,5,60,122,5,174,0,0,152,5,60,122,5,174,0,0,133,5,60,122,5,176,0,0,152,5,60,122,5,176,0,0,48,5,60,122,46,176,0,0,51,5,6,122,48,5,32,122,51,5,46,122,48,5,88,122,48,5,60,122,46,176,0,0,48,5,22,122,48,5,88,122,48,5,60,122,46,176,0,0,48,5,26,122,48,5,60,122,46,174,0,0,48,5,88,122,133,5,62,122,5,174,0,0,152,5,62,122,5,174,0,0,133,5,62,122,5,176,0,0,152,5,62,122,5,176,0,0,48,5,62,122,51,5,6,122,48,5,84,122,51,5,42,122,51,5,46,122,46,174,0,0,48,5,62,122,51,5,8,122,46,5,118,13,51,5,46,122,48,5,62,122,46,174,0,0,51,5,42,122,48,5,30,122,51,5,14,122,48,5,88,122,48,5,62,122,48,5,84,122,49,5,102,122,133,5,64,122,5,174,0,0,152,5,64,122,5,174,0,0,133,5,64,122,5,176,0,0,152,5,64,122,5,176,0,0,48,5,64,122,46,176,0,0,46,5,118,13,48,5,30,122,46,174,0,0,48,5,64,122,46,174,0,0,46,5,118,13,49,5,38,122,48,5,64,122,48,5,22,122,49,5,38,122,46,5,118,13,48,5,88,122,48,5,64,122,46,176,0,0,49,5,36,122,48,5,64,122,46,176,0,0,49,5,50,122,48,5,60,122,48,5,64,122,48,5,88,122,51,5,42,122,48,5,64,122,46,176,0,0,49,5,102,122,48,5,32,122,133,5,66,122,5,174,0,0,152,5,66,122,5,174,0,0,133,5,66,122,5,176,0,0,152,5,66,122,5,176,0,0,48,5,66,122,46,5,118,13,48,5,88,122,48,5,66,122,46,5,118,13,49,5,102,122,48,5,66,122,46,176,0,0,51,5,8,122,49,5,102,122,51,5,46,122,48,5,66,122,48,5,18,122,48,5,66,122,46,174,0,0,48,5,88,122,51,5,46,122,48,5,66,122,49,5,102,122,48,5,66,122,46,176,0,0,49,5,102,122,51,5,46,122,46,174,0,0,49,5,68,122,51,5,8,122,48,5,22,122,48,5,92,122,49,5,68,122,51,5,8,122,48,5,88,122,3,5,68,122,3,5,32,122,49,5,68,122,51,5,42,122,48,5,58,122,49,5,68,122,48,5,88,122,48,5,22,122,49,5,68,122,49,5,102,122,48,5,30,122,52,5,82,122,49,5,102,122,49,5,70,122,48,5,22,122,48,5,92,122,49,5,102,122,49,5,70,122,51,5,86,122,49,5,70,122,51,5,86,122,48,5,58,122,46,174,0,0,46,5,118,13,48,5,88,122,49,5,74,122,48,5,18,122,46,174,0,0,49,5,74,122,48,5,18,122,46,174,0,0,51,5,46,122,49,5,102,122,51,5,78,122,46,5,118,13,51,5,46,122,46,174,0,0,51,5,78,122,46,5,118,13,48,5,88,122,51,5,80,122,51,5,6,122,49,5,102,122,46,5,82,122,44,5,86,122,51,5,86,122,51,5,42,122,51,5,46,122,48,5,88,122,51,5,86,122,48,5,84,122,48,5,88,122,46,5,118,13,48,5,62,122,46,174,0,0,48,5,88,122,48,5,88,122,48,5,60,122,46,176,0,0,46,5,118,13,48,5,90,122,48,5,72,122,48,5,90,122,49,5,102,122,51,5,46,122,48,5,24,122,46,174,0,0,49,5,102,122,152,5,94,122,5,174,0,0,158,5,96,122,5,174,0,0,158,5,98,122,5,174,0,0,155,5,100,122,5,174,0,0,32,5,184,124,32,5,190,124,5,5,6,121,5,5,8,121,5,5,10,121,5,5,12,121,5,5,14,121,5,5,16,121,5,5,18,121,5,5,20,121,5,5,22,121,5,5,24,121,5,5,26,121,5,5,28,121,5,5,30,121,5,5,32,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,5,5,105,121,5,5,107,121,5,5,109,121,5,5,111,121,5,5,113,121,5,5,115,121,5,5,117,121,5,5,119,121,5,5,121,121,5,5,123,121,5,5,125,121,5,5,127,121,5,5,129,121,5,5,131,121,5,5,133,121,5,5,135,121,5,5,137,121,5,5,139,121,5,5,141,121,5,5,143,121,5,5,179,121,5,5,181,121,5,5,183,121,5,5,185,121,5,5,187,121,5,5,189,121,5,5,191,121,5,5,193,121,5,5,195,121,5,5,197,121,5,5,199,121,5,5,201,121,5,5,203,121,5,5,205,121,5,5,207,121,5,5,209,121,5,5,211,121,5,5,213,121,5,5,215,121,5,5,217,121,5,5,219,121,5,5,221,121,5,5,223,121,5,5,225,121,5,5,227,121,5,5,229,121,5,5,231,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,16,5,0,19,16,5,0,21,16,5,0,23,16,5,0,25,16,5,0,27,16,5,0,29,16,5,0,31,16,5,0,33,16,5,0,35,16,5,0,37,26,5,0,19,26,5,0,21,26,5,0,23,26,5,0,25,26,5,0,27,26,5,0,29,26,5,0,31,26,5,0,33,26,5,0,35,28,5,0,37,5,0,0,0,6,0,0,0,29,1,0,0,0,5,0,5,60,0,128,69,130,61,0,0,128,5,0,130,128,5,0,132,128,5,0,134,128,5,0,136,128,5,0,138,128,5,0,140,128,5,0,142,128,5,0,144,128,32,0,144,128,5,0,146,128,5,0,148,128,5,0,150,128,32,0,150,128,5,0,152,128,5,0,154,128,5,0,156,128,5,0,158,128,5,0,160,128,32,0,160,128,5,0,162,128,5,0,164,128,5,0,166,128,5,0,168,128,32,0,168,128,5,0,170,128,32,0,170,128,5,0,172,128,5,0,174,128,32,0,174,128,46,0,174,128,5,0,176,128,32,0,176,128,46,0,176,128,5,0,178,128,32,0,178,128,5,0,180,128,5,0,182,128,5,0,184,128,5,0,186,128,5,0,188,128,5,0,190,128,5,0,192,128,5,0,194,128,5,0,196,128,5,0,198,128,5,0,200,128,5,0,202,128,5,0,204,128,5,0,206,128,5,0,208,128,5,0,210,128,5,0,212,128,5,0,214,128,5,0,216,128,5,0,218,128,5,0,220,128,5,0,222,128,5,0,224,128,5,2,226,128,5,35,226,128,5,68,226,128,5,101,226,128,5,134,226,128,5,167,226,128,5,200,226,128,5,233,226,128,5,12,227,128,5,45,227,128,5,78,227,128,5,111,227,128,5,144,227,128,5,177,227,128,5,210,227,128,5,243,227,128,5,22,228,128,5,55,228,128,5,88,228,128,5,121,228,128,5,154,228,128,5,187,228,128,5,220,228,128,5,253,228,128,5,32,229,128,5,65,229,128,5,98,229,128,5,131,229,128,5,164,229,128,16,164,229,128,30,164,229,128,44,164,229,128,5,197,229,128,5,230,229,128,5,9,230,128,32,9,230,128,5,42,230,128,5,75,230,128,5,108,230,128,32,108,230,128,5,141,230,128,5,174,230,128,5,207,230,128,32,207,230,128,46,207,230,128,5,240,230,128,5,19,231,128,5,52,231,128,5,85,231,128,32,85,231,128,46,85,231,128,5,118,231,128,5,151,231,128,5,184,231,128,32,184,231,128,46,184,231,128,5,217,231,128,5,250,231,128,5,29,232,128,32,29,232,128,46,29,232,128,5,62,232,128,32,62,232,128,46,62,232,128,5,95,232,128,5,128,232,128,32,128,232,128,46,128,232,128,5,161,232,128,5,194,232,128,5,227,232,128,5,6,233,128,5,39,233,128,5,72,233,128,5,105,233,128,5,138,233,128,5,171,233,128,5,204,233,128,5,237,233,128,5,16,234,128,5,49,234,128,5,82,234,128,5,115,234,128,5,148,234,128,5,181,234,128,5,214,234,128,5,247,234,128,5,26,235,128,5,59,235,128,16,59,235,128,30,59,235,128,44,59,235,128,5,92,235,128,5,125,235,128,5,158,235,128,5,191,235,128,5,224,235,128,5,3,236,128,5,36,236,128,5,69,236,128,5,102,236,128,5,135,236,128,5,168,236,128,5,201,236,128,5,234,236,128,5,13,237,128,5,46,237,128,5,79,237,128,5,112,237,128,5,145,237,128,5,178,237,128,5,211,237,128,5,244,237,128,5,23,238,128,5,56,238,128,5,89,238,128,5,122,238,128,5,155,238,128,5,188,238,128,5,221,238,128,5,254,238,128,5,33,239,128,5,66,239,128,5,99,239,128,5,132,239,128,5,165,239,128,5,198,239,128,5,231,239,128,5,10,240,128,5,43,240,128,5,76,240,128,5,109,240,128,5,142,240,128,5,175,240,128,5,208,240,128,5,241,240,128,32,241,240,128,5,20,241,128,5,53,241,128,5,86,241,128,5,119,241,128,5,152,241,128,5,185,241,128,5,218,241,128,5,251,241,128,5,30,242,128,5,63,242,128,5,96,242,128,5,129,242,128,5,162,242,128,5,195,242,128,5,228,242,128,5,7,243,128,5,40,243,128,5,73,243,128,5,106,243,128,5,139,243,128,5,172,243,128,5,205,243,128,5,238,243,128,5,17,244,128,5,50,244,128,5,83,244,128,5,116,244,128,5,149,244,128,5,182,244,128,5,215,244,128,5,248,244,128,5,27,245,128,5,60,245,128,5,93,245,128,5,126,245,128,5,159,245,128,5,192,245,128,5,225,245,128,5,4,246,128,5,37,246,128,5,70,246,128,5,103,246,128,5,136,246,128,5,169,246,128,5,202,246,128,5,235,246,128,5,14,247,128,5,47,247,128,5,80,247,128,5,113,247,128,5,146,247,128,5,179,247,128,5,212,247,128,5,245,247,128,5,24,248,128,5,57,248,128,5,90,248,128,5,123,248,128,5,156,248,128,5,189,248,128,5,222,248,128,5,255,248,128,5,34,249,128,5,67,249,128,5,100,249,128,5,133,249,128,5,166,249,128,5,199,249,128,5,232,249,128,5,11,250,128,5,44,250,128,5,77,250,128,5,110,250,128,5,143,250,128,5,176,250,128,5,209,250,128,5,242,250,128,5,21,251,128,5,54,251,128,5,87,251,128,5,120,251,128,5,153,251,128,5,186,251,128,5,219,251,0,2,2,3,0,0,4,3,2,0,18,3,0,0,0,4,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,2,6,5,0,0,8,5,128,32,0,5,0,0,10,5,128,16,0,5,128,30,0,5,128,44,0,5,0,0,12,5,0,0,14,5,128,32,0,5,128,46,0,5,0,0,16,5,0,2,18,5,7,23,18,5,0,0,20,5,128,32,0,5,0,0,22,5,0,0,24,5,128,32,0,5,0,0,26,5,128,32,0,5,128,46,0,5,0,0,28,5,2,0,48,5,128,32,0,5,0,0,50,5,0,0,0,6,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,6,7,0,0,8,7,2,0,30,7,0,2,32,7,7,30,32,7,0,0,34,7,128,16,0,5,128,30,0,5,128,44,0,5,0,0,36,7,2,0,42,7,128,16,0,5,128,30,0,5,128,44,0,5,0,0,44,7,2,0,54,7,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,56,7,0,0,58,7,0,2,60,7,7,142,60,7,0,0,62,7,0,0,64,7,2,0,78,7,0,2,80,7,0,9,80,7,0,0,82,7,2,0,90,7,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,92,7,0,0,94,7,0,2,96,7,7,16,96,7,0,0,98,7,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,100,7,2,0,110,7,0,2,112,7,7,51,112,7,0,0,114,7,0,0,116,7,0,0,0,8,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,6,9,0,0,8,9,0,2,10,9,0,9,10,9,0,0,12,9,0,0,14,9,0,2,16,9,7,30,16,9,0,0,18,9,0,0,20,9,0,2,22,9,7,37,22,9,0,0,24,9,128,32,0,5,128,46,0,5,0,0,26,9,2,0,34,9,0,2,36,9,7,37,36,9,0,0,38,9,2,0,50,9,0,2,52,9,7,35,53,9,0,0,55,9,2,0,59,9,0,2,61,9,7,14,62,9,0,0,64,9,2,0,90,9,0,2,92,9,0,9,92,9,0,0,94,9,2,0,102,9,0,2,104,9,7,51,104,9,0,0,106,9,128,32,0,5,0,0,108,9,2,0,120,9,128,32,0,5,0,0,122,9,2,0,142,9,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,144,9,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,146,9,128,32,0,5,128,46,0,5,0,0,148,9,128,32,0,5,128,46,0,5,0,0,150,9,128,16,0,5,128,30,0,5,128,44,0,5,0,0,152,9,128,16,0,5,128,30,0,5,128,44,0,5,0,0,154,9,2,0,160,9,0,2,162,9,0,9,162,9,0,0,164,9,2,0,184,9,128,32,0,5,0,0,186,9,128,32,0,5,0,0,188,9,2,0,62,10,128,32,0,5,0,0,64,10,128,32,0,5,0,0,66,10,128,32,0,5,0,0,68,10,128,32,0,5,0,0,70,10,128,32,0,5,128,46,0,5,0,0,72,10,128,32,0,5,128,46,0,5,0,0,74,10,128,32,0,5,0,0,76,10,128,32,0,5,0,0,78,10,128,32,0,5,0,0,80,10,128,32,0,5,0,0,82,10,128,16,0,5,128,30,0,5,128,44,0,5,0,0,84,10,128,16,0,5,128,30,0,5,128,44,0,5,0,0,86,10,128,32,0,5,0,0,88,10,128,32,0,5,0,0,90,10,2,0,126,10,128,32,0,5,128,46,0,5,0,0,128,10,128,32,0,5,128,46,0,5,0,0,130,10,2,0,138,10,128,32,0,5,128,46,0,5,0,0,140,10,128,32,0,5,128,46,0,5,0,0,142,10,0,0,144,10,128,32,0,5,128,46,0,5,0,0,146,10,2,0,150,10,128,32,0,5,128,46,0,5,0,0,152,10,128,32,0,5,128,46,0,5,0,0,154,10,2,0,188,10,128,32,0,5,0,0,190,10,128,32,0,5,0,0,192,10,2,0,24,11,0,2,26,11,7,128,26,11,0,0,28,11,2,0,54,11,0,2,56,11,0,9,56,11,0,0,58,11,2,0,76,11,128,32,0,5,0,0,78,11,2,0,100,11,0,2,102,11,7,142,102,11,0,0,104,11,2,0,116,11,0,2,118,11,7,163,118,11,0,0,120,11,0,2,122,11,7,12,124,11,0,0,126,11,0,2,128,11,7,93,128,11,0,2,2,12,0,0,4,12,128,32,0,5,0,0,6,12,0,0,8,12,0,0,10,12,128,32,0,5,0,0,12,12,128,32,0,5,0,2,14,12,0,9,14,12,0,0,16,12,0,2,18,12,0,9,18,12,0,0,20,12,0,2,22,12,7,37,22,12,0,0,24,12,2,0,28,12,0,2,30,12,7,23,30,12,0,0,32,12,2,0,50,12,0,2,52,12,7,114,52,12,0,0,54,12,0,2,56,12,7,98,57,12,0,0,59,12,2,0,75,12,0,2,77,12,0,9,77,12,0,0,79,12,0,2,81,12,7,16,81,12,0,0,83,12,128,32,0,5,0,2,85,12,7,148,89,12,0,0,91,12,2,0,95,12,0,2,97,12,7,156,97,12,0,0,99,12,128,32,0,5,0,0,101,12,128,32,0,5,0,0,103,12,128,32,0,5,0,0,105,12,128,32,0,5,0,2,107,12,7,215,109,12,0,0,111,12,128,32,0,5,0,2,113,12,7,16,113,12,0,0,115,12,128,32,0,5,0,2,117,12,7,51,117,12,0,0,119,12,128,32,0,5,0,0,121,12,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,123,12,2,0,129,12,128,32,0,5,128,46,0,5,0,0,131,12,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,133,12,128,32,0,5,128,46,0,5,0,0,135,12,128,32,0,5,0,0,137,12,128,32,0,5,0,0,139,12,128,32,0,5,0,0,141,12,128,32,0,5,0,0,143,12,128,32,0,5,128,46,0,5,0,2,145,12,7,16,145,12,0,0,147,12,128,32,0,5,0,0,149,12,128,32,0,5,0,2,151,12,7,142,151,12,0,0,153,12,128,32,0,5,0,0,155,12,128,32,0,5,0,2,157,12,7,32,170,12,0,0,172,12,128,32,0,5,0,2,174,12,7,78,178,12,0,0,180,12,128,32,0,5,0,2,182,12,7,35,183,12,0,0,185,12,128,32,0,5,0,2,187,12,7,182,74,13,0,0,76,13,128,32,0,5,0,2,78,13,7,58,78,13,0,0,80,13,2,0,98,13,0,2,100,13,7,44,100,13,0,0,102,13,0,0,104,13,0,2,106,13,0,9,106,13,0,0,108,13,2,0,118,13,128,32,0,5,128,46,0,5,0,0,120,13,0,2,132,13,0,0,134,13,0,0,136,13,128,32,0,5,0,0,138,13,128,32,0,5,128,46,0,5,0,0,140,13,128,32,0,5,0,0,142,13,128,32,0,5,0,0,144,13,0,0,146,13,0,2,148,13,0,9,148,13,0,0,150,13,2,0,192,13,128,32,0,5,0,0,194,13,2,0,242,13,0,2,2,14,0,0,0,15,0,0,6,16,0,0,8,16,2,0,198,16,0,2,200,16,7,44,200,16,0,0,202,16,2,0,144,17,0,2,146,17,7,12,148,17,0,0,150,17,2,0,170,17,0,2,172,17,7,177,172,17,0,0,174,17,2,0,116,18,0,2,118,18,7,245,119,18,0,0,121,18,2,0,137,18,0,0,0,19,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,0,0,0,21,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,23,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,25,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,128,32,0,112,0,0,0,27,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,29,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,31,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,33,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,35,128,16,0,5,128,21,0,5,128,26,0,5,128,31,0,5,128,36,0,5,128,41,0,5,128,46,0,5,128,51,0,5,128,5,0,112,0,0,0,37,128,16,0,5,128,22,0,5,128,28,0,5,128,34,0,5,128,40,0,5,128,46,0,5,128,52,0,5,128,5,0,112,0,2,2,39,0,2,2,41,0,0,0,42,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,128,5,0,112,128,32,0,112,128,46,0,112,0,0,6,43,0,0,8,43,128,32,0,5,0,0,10,43,0,0,12,43,128,32,0,5,0,0,14,43,0,0,16,43,128,32,0,5,0,0,18,43,0,0,20,43,128,32,0,5,128,46,0,5,0,0,22,43,128,16,0,5,128,30,0,5,128,44,0,5,0,0,24,43,2,0,28,43,128,32,0,5,128,46,0,5,0,0,30,43,0,0,0,44,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,45,0,0,8,45,128,32,0,5,0,0,10,45,2,0,16,45,128,32,0,5,0,0,18,45,0,0,20,45,128,32,0,5,0,0,22,45,128,32,0,5,0,0,24,45,128,32,0,5,128,46,0,5,0,0,0,46,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,47,0,0,8,47,128,32,0,5,0,0,10,47,128,32,0,5,0,0,12,47,128,32,0,5,0,0,14,47,128,32,0,5,0,0,16,47,128,32,0,5,128,46,0,5,0,0,18,47,128,32,0,5,0,0,20,47,128,32,0,5,0,0,0,48,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,5,0,112,128,32,0,112,128,46,0,112,128,5,0,120,128,32,0,120,0,0,6,49,0,0,8,49,0,0,10,49,128,32,0,5,0,0,12,49,2,0,16,49,128,32,0,5,0,0,18,49,128,32,0,5,0,0,20,49,0,0,22,49,128,32,0,5,0,0,24,49,2,0,28,49,0,0,0,50,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,51,0,0,8,51,2,0,12,51,128,32,0,5,0,0,14,51,0,0,16,51,2,0,20,51,128,32,0,5,128,46,0,5,0,0,22,51,0,0,24,51,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,26,51,0,0,28,51,128,16,0,5,128,30,0,5,128,44,0,5,0,0,30,51,0,0,32,51,2,0,36,51,128,32,0,5,128,46,0,5,0,0,38,51,0,0,40,51,128,32,0,5,0,0,42,51,2,0,48,51,0,0,0,52,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,5,0,112,128,32,0,112,0,0,6,53,0,0,8,53,0,0,10,53,128,32,0,5,0,0,12,53,2,0,16,53,128,32,0,5,0,0,18,53,128,32,0,5,0,0,20,53,0,0,0,54,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,5,0,112,128,32,0,112,0,0,6,55,128,32,0,5,128,46,0,5,0,0,8,55,0,0,10,55,128,32,0,5,0,0,12,55,128,32,0,5,0,0,14,55,0,0,16,55,128,32,0,5,0,0,18,55,2,0,22,55,128,32,0,5,0,0,24,55,128,32,0,5,128,46,0,5,0,0,26,55,128,32,0,5,0,0,0,56,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,57,0,0,8,57,128,32,0,5,0,0,10,57,0,0,12,57,128,32,0,5,128,46,0,5,0,0,14,57,128,32,0,5,0,0,16,57,128,32,0,5,0,0,18,57,128,32,0,5,0,0,20,57,128,32,0,5,128,46,0,5,0,0,22,57,2,0,26,57,0,0,0,58,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,59,128,32,0,5,0,0,8,59,128,32,0,5,128,46,0,5,0,0,10,59,2,0,14,59,128,32,0,5,0,0,16,59,128,32,0,5,128,46,0,5,0,0,18,59,128,32,0,5,0,0,20,59,0,0,22,59,128,32,0,5,0,0,24,59,128,32,0,5,128,46,0,5,0,0,26,59,0,0,0,60,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,61,128,32,0,5,0,0,8,61,0,0,10,61,128,32,0,5,0,0,12,61,128,32,0,5,128,46,0,5,0,0,14,61,128,32,0,5,0,0,16,61,0,0,0,62,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,63,0,0,8,63,0,0,10,63,128,32,0,5,0,0,12,63,128,32,0,5,0,0,14,63,128,32,0,5,0,0,16,63,128,32,0,5,0,0,18,63,128,32,0,5,0,0,20,63,128,32,0,5,0,0,0,64,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,65,128,32,0,5,128,46,0,5,0,0,8,65,128,32,0,5,0,0,10,65,0,0,12,65,128,32,0,5,0,0,14,65,128,32,0,5,0,0,16,65,128,32,0,5,0,0,18,65,128,32,0,5,128,46,0,5,0,0,20,65,128,32,0,5,0,0,22,65,0,0,24,65,128,32,0,5,0,0,26,65,128,32,0,5,0,0,28,65,128,32,0,5,0,0,30,65,128,32,0,5,0,0,32,65,2,0,40,65,128,32,0,5,0,0,42,65,0,0,44,65,0,0,0,66,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,67,128,32,0,5,0,0,8,67,2,0,12,67,128,32,0,5,128,46,0,5,0,0,14,67,0,0,16,67,2,0,20,67,0,0,0,68,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,69,128,32,0,5,128,46,0,5,0,0,8,69,2,0,14,69,128,32,0,5,128,46,0,5,0,0,16,69,128,32,0,5,0,0,18,69,128,32,0,5,0,0,20,69,0,0,22,69,128,32,0,5,0,0,24,69,2,0,30,69,128,16,0,5,128,30,0,5,128,44,0,5,0,0,32,69,0,0,0,70,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,128,5,0,112,128,32,0,112,128,46,0,112,0,0,6,71,0,0,8,71,2,0,30,71,128,32,0,5,128,46,0,5,0,0,32,71,2,0,42,71,128,32,0,5,0,0,44,71,128,32,0,5,0,0,46,71,128,32,0,5,0,0,48,71,0,0,50,71,128,32,0,5,128,46,0,5,0,0,52,71,128,32,0,5,0,0,54,71,0,0,56,71,128,32,0,5,0,0,58,71,128,32,0,5,128,46,0,5,0,0,60,71,0,0,0,72,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,73,0,0,8,73,128,32,0,5,0,0,10,73,128,32,0,5,0,0,12,73,2,0,16,73,128,32,0,5,0,0,18,73,128,32,0,5,0,0,20,73,128,32,0,5,0,0,22,73,0,0,24,73,128,32,0,5,0,0,26,73,0,0,0,74,128,16,0,5,128,20,0,5,128,24,0,5,128,28,0,5,128,32,0,5,128,36,0,5,128,40,0,5,128,44,0,5,128,48,0,5,128,52,0,5,128,56,0,5,0,0,6,75,0,0,8,75,128,32,0,5,0,0,10,75,128,32,0,5,0,0,12,75,0,0,14,75,128,32,0,5,0,0,16,75,0,0,0,76,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,128,5,0,112,128,32,0,112,0,0,6,77,0,0,8,77,128,32,0,5,128,46,0,5,0,0,10,77,0,0,12,77,128,32,0,5,128,46,0,5,0,0,14,77,0,0,16,77,128,32,0,5,0,0,18,77,0,0,20,77,128,32,0,5,0,0,22,77,2,0,28,77,128,32,0,5,0,0,30,77,0,0,32,77,0,0,34,77,128,32,0,5,0,0,36,77,2,0,54,77,128,32,0,5,0,0,56,77,2,0,62,77,128,32,0,5,0,0,0,78,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,128,5,0,112,128,32,0,112,128,5,0,120,128,32,0,120,0,0,6,79,0,0,8,79,128,32,0,5,0,0,10,79,2,0,14,79,128,16,0,5,128,30,0,5,128,44,0,5,0,0,16,79,128,32,0,5,0,0,18,79,2,0,22,79,128,16,0,5,128,30,0,5,128,44,0,5,0,0,24,79,2,0,34,79,0,0,0,80,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,128,5,0,112,128,5,0,120,128,32,0,120,0,0,6,81,0,0,8,81,128,32,0,5,0,0,10,81,128,32,0,5,0,0,12,81,0,0,14,81,128,32,0,5,0,0,16,81,128,32,0,5,0,0,18,81,128,32,0,5,0,0,20,81,2,0,24,81,128,32,0,5,0,0,0,82,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,83,128,32,0,5,0,0,8,83,0,0,10,83,128,32,0,5,0,0,12,83,2,0,20,83,128,32,0,5,128,46,0,5,0,0,22,83,0,0,24,83,128,32,0,5,0,0,26,83,2,0,30,83,128,32,0,5,0,0,32,83,128,32,0,5,0,0,34,83,128,32,0,5,128,46,0,5,0,0,36,83,2,0,40,83,128,32,0,5,128,46,0,5,0,0,42,83,2,0,46,83,128,32,0,5,0,0,48,83,128,32,0,5,128,46,0,5,0,0,50,83,0,0,0,84,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,85,0,0,8,85,128,32,0,5,0,0,10,85,0,0,12,85,128,32,0,5,128,46,0,5,0,0,14,85,0,0,16,85,0,0,18,85,128,32,0,5,0,0,20,85,128,32,0,5,128,46,0,5,0,0,0,86,128,16,0,5,128,20,0,5,128,24,0,5,128,28,0,5,128,32,0,5,128,36,0,5,128,40,0,5,128,44,0,5,128,48,0,5,128,52,0,5,128,56,0,5,0,0,6,87,0,0,8,87,128,32,0,5,0,0,10,87,128,32,0,5,0,0,12,87,128,32,0,5,128,46,0,5,0,0,0,88,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,128,52,0,5,0,0,6,89,0,0,8,89,2,0,16,89,128,32,0,5,0,0,18,89,0,0,20,89,0,0,0,90,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,91,0,0,8,91,128,32,0,5,0,0,10,91,128,32,0,5,0,0,12,91,128,32,0,5,0,0,14,91,0,0,16,91,128,32,0,5,0,0,0,92,128,16,0,5,128,19,0,5,128,22,0,5,128,25,0,5,128,28,0,5,128,31,0,5,128,34,0,5,128,37,0,5,128,40,0,5,128,43,0,5,128,46,0,5,128,49,0,5,0,0,6,93,0,0,8,93,128,32,0,5,0,0,10,93,0,0,12,93,128,32,0,5,0,0,14,93,128,32,0,5,0,0,16,93,128,32,0,5,128,46,0,5,0,0,18,93,128,32,0,5,128,46,0,5,0,0,20,93,128,32,0,5,0,0,22,93,128,32,0,5,0,0,24,93,128,32,0,5,0,0,26,93,128,16,0,5,128,30,0,5,128,44,0,5,0,0,28,93,0,0,30,93,128,32,0,5,0,0,32,93,2,0,38,93,128,32,0,5,0,0,40,93,128,32,0,5,0,0,42,93,128,32,0,5,0,0,44,93,128,32,0,5,0,0,46,93,128,32,0,5,0,0,48,93,2,0,54,93,128,32,0,5,0,0,56,93,128,32,0,5,0,0,58,93,128,16,0,5,128,30,0,5,128,44,0,5,0,0,60,93,2,0,64,93,128,32,0,5,0,0,66,93,128,32,0,5,0,0,68,93,128,32,0,5,0,0,70,93,128,32,0,5,0,0,72,93,128,32,0,5,0,0,74,93,128,32,0,5,0,0,76,93,0,0,78,93,128,32,0,5,0,0,80,93,0,0,82,93,128,32,0,5,0,0,84,93,0,0,86,93,128,32,0,5,0,0,88,93,128,32,0,5,0,0,90,93,128,32,0,5,0,0,92,93,0,0,94,93,128,32,0,5,0,0,96,93,2,0,102,93,128,32,0,5,0,0,104,93,128,32,0,5,0,0,106,93,2,0,126,93,0,2,2,94,0,2,4,96,0,0,6,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,8,96,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,10,96,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,12,96,0,0,14,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,16,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,18,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,20,96,128,32,0,5,0,0,22,96,128,32,0,5,0,0,24,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,26,96,128,32,0,5,0,0,28,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,30,96,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,32,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,34,96,128,32,0,5,0,0,36,96,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,38,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,40,96,0,0,42,96,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,44,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,46,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,48,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,50,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,52,96,0,0,54,96,128,32,0,5,0,0,56,96,128,32,0,5,0,0,58,96,128,32,0,5,0,0,60,96,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,62,96,0,0,64,96,0,0,66,96,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,68,96,128,32,0,5,0,0,70,96,128,32,0,5,0,0,72,96,128,32,0,5,0,0,74,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,76,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,78,96,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,80,96,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,82,96,128,16,0,5,128,30,0,5,128,44,0,5,0,0,84,96,0,0,86,96,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,88,96,0,0,90,96,128,32,0,5,0,0,92,96,128,32,0,5,0,0,94,96,128,32,0,5,0,2,96,96,0,0,98,96,128,32,0,5,128,46,0,5,0,0,100,96,128,32,0,5,0,0,102,96,128,32,0,5,0,0,104,96,128,32,0,5,0,0,106,96,128,32,0,5,0,0,108,96,128,32,0,5,0,0,110,96,128,32,0,5,0,0,112,96,128,32,0,5,0,0,114,96,128,32,0,5,0,0,116,96,128,32,0,5,0,0,118,96,128,32,0,5,128,46,0,5,0,0,120,96,128,32,0,5,128,46,0,5,0,0,122,96,128,32,0,5,0,0,124,96,128,32,0,5,0,0,126,96,128,32,0,5,0,0,128,96,128,32,0,5,0,0,130,96,128,32,0,5,0,0,132,96,128,32,0,5,0,0,134,96,128,32,0,5,0,0,136,96,128,32,0,5,0,0,138,96,128,32,0,5,0,0,140,96,128,32,0,5,0,0,142,96,128,32,0,5,0,0,144,96,128,32,0,5,0,0,146,96,128,32,0,5,0,0,148,96,128,32,0,5,0,0,150,96,128,32,0,5,0,0,152,96,128,32,0,5,0,0,154,96,128,32,0,5,0,0,156,96,128,32,0,5,0,0,158,96,128,32,0,5,0,0,160,96,128,32,0,5,0,0,162,96,128,32,0,5,0,0,164,96,128,32,0,5,0,0,166,96,128,32,0,5,0,0,168,96,128,32,0,5,0,0,170,96,128,32,0,5,0,0,172,96,128,32,0,5,0,0,174,96,128,32,0,5,0,0,176,96,128,32,0,5,0,0,178,96,128,32,0,5,0,0,180,96,128,32,0,5,0,0,182,96,128,32,0,5,0,0,184,96,128,32,0,5,0,0,186,96,128,32,0,5,0,0,188,96,128,32,0,5,0,0,190,96,128,32,0,5,0,0,192,96,128,32,0,5,0,0,194,96,128,32,0,5,0,0,196,96,128,32,0,5,0,0,198,96,128,32,0,5,0,0,200,96,128,32,0,5,0,0,202,96,128,32,0,5,0,0,204,96,128,32,0,5,0,0,206,96,128,32,0,5,0,0,208,96,128,32,0,5,0,0,210,96,128,32,0,5,0,0,212,96,128,32,0,5,0,0,214,96,128,32,0,5,0,0,216,96,128,32,0,5,0,2,4,97,0,0,6,97,128,32,0,5,128,46,0,5,0,0,8,97,128,32,0,5,0,0,10,97,128,32,0,5,0,0,12,97,128,32,0,5,128,46,0,5,0,0,14,97,128,32,0,5,128,46,0,5,0,0,16,97,128,32,0,5,128,46,0,5,128,5,0,112,128,32,0,112,0,0,18,97,128,32,0,5,0,0,20,97,128,32,0,5,0,0,22,97,128,32,0,5,0,0,24,97,128,32,0,5,0,0,26,97,128,32,0,5,128,46,0,5,0,0,28,97,128,32,0,5,0,0,30,97,128,32,0,5,0,0,32,97,128,32,0,5,0,0,34,97,128,32,0,5,0,0,36,97,128,32,0,5,0,0,38,97,128,32,0,5,0,0,40,97,128,32,0,5,128,46,0,5,0,0,42,97,128,32,0,5,128,46,0,5,0,0,44,97,128,32,0,5,128,46,0,5,0,2,46,97,128,32,0,5,0,9,46,97,128,32,0,5,0,0,48,97,128,32,0,5,0,0,50,97,128,32,0,5,128,46,0,5,0,0,52,97,128,32,0,5,0,0,54,97,128,32,0,5,0,2,56,97,128,32,0,5,0,9,56,97,128,32,0,5,0,0,58,97,128,32,0,5,0,0,60,97,128,32,0,5,0,0,62,97,128,32,0,5,0,0,64,97,128,32,0,5,0,0,66,97,128,32,0,5,0,0,68,97,128,32,0,5,0,0,70,97,128,32,0,5,128,46,0,5,0,0,72,97,128,32,0,5,0,0,74,97,128,32,0,5,128,46,0,5,0,0,76,97,128,32,0,5,0,0,78,97,128,32,0,5,0,0,80,97,128,32,0,5,0,0,82,97,128,32,0,5,128,46,0,5,0,0,84,97,128,32,0,5,128,46,0,5,0,0,86,97,128,32,0,5,0,0,88,97,128,32,0,5,0,0,90,97,128,32,0,5,0,0,92,97,128,32,0,5,0,0,94,97,128,32,0,5,0,2,96,97,128,32,0,5,0,9,96,97,128,32,0,5,0,0,98,97,128,32,0,5,128,46,0,5,0,0,100,97,0,0,102,97,128,32,0,5,0,2,104,97,128,32,0,5,0,9,104,97,128,32,0,5,0,16,104,97,128,32,0,5,0,0,106,97,128,32,0,5,0,0,108,97,128,32,0,5,0,0,110,97,128,32,0,5,0,0,112,97,128,32,0,5,0,0,114,97,128,32,0,5,128,46,0,5,0,0,116,97,128,32,0,5,0,0,118,97,128,32,0,5,0,0,120,97,128,16,0,5,128,30,0,5,128,44,0,5,0,0,122,97,128,32,0,5,0,0,124,97,128,32,0,5,0,0,126,97,128,32,0,5,0,0,128,97,128,32,0,5,0,0,130,97,128,32,0,5,0,0,132,97,128,32,0,5,0,0,134,97,128,32,0,5,0,0,136,97,128,32,0,5,0,0,138,97,128,16,0,5,128,30,0,5,128,44,0,5,0,0,140,97,128,32,0,5,0,0,142,97,128,32,0,5,128,46,0,5,0,0,144,97,128,32,0,5,0,0,146,97,128,32,0,5,0,0,148,97,128,32,0,5,0,0,150,97,128,32,0,5,128,46,0,5,0,0,152,97,128,32,0,5,0,0,154,97,128,32,0,5,0,0,156,97,128,32,0,5,128,46,0,5,0,0,158,97,128,32,0,5,0,0,160,97,128,32,0,5,0,0,162,97,128,32,0,5,128,46,0,5,0,2,164,97,128,32,0,5,0,9,164,97,128,32,0,5,0,0,166,97,128,32,0,5,0,0,168,97,128,32,0,5,0,0,170,97,128,32,0,5,0,0,172,97,128,32,0,5,128,46,0,5,0,0,174,97,128,32,0,5,0,0,176,97,128,32,0,5,0,2,178,97,128,32,0,5,128,46,0,5,0,9,178,97,128,32,0,5,0,0,180,97,128,32,0,5,128,46,0,5,0,0,182,97,128,32,0,5,128,46,0,5,0,2,184,97,128,32,0,5,0,9,184,97,128,32,0,5,0,0,186,97,128,32,0,5,0,0,188,97,128,32,0,5,0,2,190,97,128,32,0,5,0,9,190,97,128,32,0,5,0,16,190,97,128,32,0,5,128,46,0,5,0,23,190,97,128,32,0,5,0,30,190,97,128,32,0,5,0,37,190,97,128,32,0,5,0,44,190,97,128,32,0,5,0,0,192,97,128,32,0,5,128,46,0,5,0,2,194,97,128,32,0,5,0,9,194,97,128,32,0,5,0,0,196,97,128,32,0,5,0,0,198,97,128,32,0,5,0,0,200,97,128,32,0,5,128,46,0,5,0,2,202,97,128,32,0,5,0,9,202,97,128,32,0,5,0,0,204,97,128,32,0,5,0,0,206,97,128,32,0,5,0,0,208,97,128,32,0,5,0,0,210,97,128,32,0,5,0,0,212,97,128,32,0,5,0,0,214,97,128,32,0,5,0,0,216,97,128,32,0,5,0,0,218,97,128,32,0,5,128,46,0,5,0,0,220,97,128,32,0,5,0,0,222,97,128,32,0,5,128,46,0,5,0,2,224,97,128,32,0,5,0,9,224,97,0,16,224,97,0,0,226,97,128,16,0,5,128,30,0,5,128,44,0,5,0,0,228,97,128,32,0,5,0,0,230,97,128,32,0,5,128,46,0,5,0,0,232,97,128,16,0,5,128,30,0,5,128,44,0,5,0,0,234,97,128,32,0,5,0,2,236,97,128,32,0,5,128,46,0,5,0,9,236,97,128,32,0,5,0,0,238,97,128,32,0,5,0,0,240,97,128,32,0,5,128,46,0,5,0,2,242,97,128,32,0,5,0,9,242,97,128,32,0,5,128,46,0,5,0,0,244,97,128,32,0,5,0,2,246,97,128,32,0,5,0,9,246,97,128,32,0,5,128,46,0,5,0,16,246,97,128,32,0,5,128,46,0,5,0,23,246,97,128,32,0,5,0,30,246,97,128,32,0,5,128,46,0,5,0,37,246,97,128,32,0,5,0,44,246,97,128,32,0,5,0,51,246,97,128,32,0,5,0,58,246,97,128,32,0,5,128,46,0,5,0,65,246,97,128,32,0,5,0,72,246,97,128,32,0,5,0,79,246,97,128,32,0,5,128,46,0,5,0,86,246,97,128,32,0,5,0,93,246,97,128,32,0,5,0,0,248,97,128,32,0,5,0,0,250,97,128,32,0,5,0,0,252,97,128,32,0,5,0,2,4,98,0,0,6,98,128,32,0,5,128,46,0,5,0,0,8,98,128,32,0,5,128,46,0,5,0,0,10,98,128,32,0,5,128,46,0,5,0,0,12,98,128,32,0,5,128,46,0,5,0,0,14,98,128,32,0,5,128,46,0,5,0,0,16,98,128,32,0,5,128,46,0,5,0,0,18,98,128,32,0,5,128,46,0,5,0,0,20,98,128,32,0,5,0,0,22,98,128,32,0,5,128,46,0,5,0,0,24,98,128,32,0,5,128,46,0,5,0,0,26,98,128,32,0,5,128,46,0,5,0,0,28,98,128,32,0,5,128,46,0,5,0,0,30,98,128,32,0,5,128,46,0,5,0,0,32,98,128,32,0,5,128,46,0,5,0,0,34,98,128,32,0,5,128,46,0,5,0,0,36,98,128,32,0,5,128,46,0,5,0,0,38,98,128,32,0,5,128,46,0,5,0,0,40,98,128,32,0,5,128,46,0,5,0,0,42,98,128,32,0,5,128,46,0,5,0,0,44,98,128,32,0,5,128,46,0,5,0,0,46,98,128,32,0,5,128,46,0,5,0,0,48,98,128,32,0,5,128,46,0,5,0,0,50,98,128,32,0,5,128,46,0,5,0,0,52,98,128,32,0,5,128,46,0,5,0,0,54,98,128,32,0,5,128,46,0,5,0,0,56,98,128,32,0,5,0,0,58,98,128,32,0,5,0,0,60,98,128,32,0,5,128,46,0,5,0,0,62,98,128,32,0,5,128,46,0,5,0,0,64,98,128,32,0,5,128,46,0,5,0,0,66,98,128,32,0,5,128,46,0,5,0,0,68,98,128,32,0,5,128,46,0,5,0,0,70,98,128,32,0,5,128,46,0,5,0,0,72,98,128,32,0,5,128,46,0,5,0,0,74,98,128,32,0,5,0,0,76,98,128,32,0,5,128,46,0,5,0,0,78,98,128,32,0,5,128,46,0,5,0,0,80,98,128,32,0,5,0,0,82,98,128,32,0,5,128,46,0,5,0,0,84,98,128,32,0,5,128,46,0,5,0,0,86,98,128,32,0,5,128,46,0,5,0,0,88,98,128,32,0,5,128,46,0,5,0,0,90,98,128,32,0,5,128,46,0,5,0,0,92,98,128,32,0,5,0,0,94,98,128,32,0,5,0,0,96,98,128,32,0,5,0,0,98,98,128,32,0,5,0,2,100,98,0,0,102,98,128,32,0,5,0,2,104,98,0,9,104,98,0,0,106,98,128,32,0,5,0,2,108,98,7,16,108,98,0,0,110,98,128,32,0,5,0,2,112,98,7,30,112,98,0,0,114,98,128,32,0,5,0,2,116,98,7,16,116,98,0,0,118,98,128,32,0,5,0,2,120,98,7,135,120,98,0,2,4,99,0,0,6,99,128,32,0,5,0,0,8,99,128,32,0,5,0,0,10,99,128,32,0,5,0,0,12,99,128,32,0,5,0,0,14,99,128,32,0,5,0,0,16,99,128,32,0,5,0,0,18,99,128,32,0,5,0,0,20,99,128,32,0,5,0,0,22,99,128,32,0,5,0,0,24,99,128,32,0,5,0,0,26,99,128,32,0,5,0,0,28,99,128,32,0,5,0,0,30,99,128,32,0,5,0,0,32,99,128,32,0,5,0,0,34,99,128,32,0,5,0,0,36,99,128,32,0,5,0,0,38,99,128,32,0,5,0,0,40,99,128,32,0,5,0,0,42,99,128,32,0,5,0,0,44,99,128,32,0,5,0,0,46,99,128,32,0,5,0,0,48,99,128,32,0,5,0,0,50,99,128,32,0,5,0,0,52,99,128,32,0,5,0,0,54,99,128,32,0,5,0,0,56,99,128,32,0,5,0,0,58,99,128,32,0,5,128,46,0,5,0,0,60,99,128,32,0,5,0,0,62,99,128,32,0,5,0,0,64,99,128,32,0,5,0,0,66,99,128,32,0,5,0,0,68,99,128,32,0,5,0,0,70,99,128,32,0,5,0,0,72,99,128,32,0,5,0,0,74,99,128,32,0,5,0,0,76,99,128,32,0,5,0,0,78,99,128,32,0,5,0,0,80,99,128,32,0,5,0,0,82,99,128,32,0,5,0,0,84,99,128,32,0,5,0,0,86,99,128,32,0,5,0,0,88,99,128,32,0,5,0,0,90,99,128,32,0,5,0,0,92,99,128,32,0,5,0,0,94,99,128,32,0,5,0,0,96,99,128,32,0,5,0,0,98,99,128,32,0,5,0,0,100,99,128,32,0,5,0,0,102,99,128,32,0,5,0,0,104,99,128,32,0,5,0,0,106,99,128,32,0,5,0,0,108,99,128,32,0,5,0,0,110,99,128,32,0,5,0,0,112,99,128,32,0,5,0,0,114,99,128,32,0,5,0,0,116,99,128,32,0,5,0,0,118,99,128,32,0,5,0,0,120,99,128,32,0,5,0,0,122,99,128,32,0,5,0,0,124,99,128,32,0,5,0,0,126,99,128,32,0,5,0,0,128,99,128,32,0,5,0,0,130,99,128,32,0,5,0,0,132,99,128,32,0,5,0,0,134,99,128,32,0,5,0,0,136,99,128,32,0,5,0,0,138,99,128,32,0,5,0,0,140,99,128,32,0,5,0,0,142,99,128,32,0,5,0,0,144,99,128,32,0,5,0,0,146,99,128,32,0,5,0,0,148,99,128,32,0,5,0,0,150,99,128,32,0,5,0,0,152,99,128,32,0,5,0,0,154,99,128,32,0,5,0,0,156,99,128,32,0,5,0,0,158,99,128,32,0,5,0,0,160,99,128,32,0,5,0,0,162,99,128,32,0,5,0,0,164,99,128,32,0,5,0,0,166,99,128,32,0,5,0,0,168,99,128,32,0,5,0,0,170,99,128,32,0,5,0,0,172,99,128,32,0,5,0,0,174,99,128,32,0,5,0,0,176,99,128,32,0,5,0,2,4,100,0,0,6,100,128,32,0,5,0,0,8,100,0,0,10,100,128,32,0,5,0,0,12,100,128,32,0,5,0,0,14,100,128,32,0,5,0,0,16,100,128,32,0,5,128,46,0,5,0,0,18,100,128,32,0,5,0,0,20,100,128,32,0,5,0,0,22,100,128,32,0,5,0,0,24,100,128,32,0,5,0,0,26,100,128,32,0,5,0,0,28,100,128,32,0,5,128,46,0,5,0,0,30,100,128,32,0,5,0,0,32,100,128,32,0,5,128,46,0,5,0,0,34,100,128,32,0,5,0,0,36,100,128,32,0,5,0,0,38,100,128,32,0,5,0,0,40,100,128,32,0,5,0,0,42,100,128,32,0,5,0,0,44,100,128,32,0,5,0,0,46,100,128,32,0,5,128,46,0,5,0,0,48,100,128,32,0,5,0,0,50,100,0,0,52,100,128,32,0,5,128,46,0,5,0,0,54,100,128,32,0,5,0,0,56,100,128,32,0,5,0,0,58,100,128,32,0,5,0,0,60,100,128,32,0,5,0,0,62,100,128,32,0,5,0,0,64,100,128,32,0,5,0,0,66,100,128,32,0,5,0,0,68,100,128,32,0,5,128,46,0,5,0,0,70,100,128,32,0,5,0,0,72,100,128,32,0,5,0,0,74,100,128,32,0,5,0,0,76,100,128,32,0,5,128,46,0,5,0,0,78,100,128,32,0,5,0,0,80,100,128,32,0,5,0,0,82,100,128,32,0,5,0,0,84,100,128,32,0,5,0,0,86,100,0,2,4,101,0,0,6,101,128,32,0,5,128,46,0,5,0,0,8,101,128,32,0,5,0,0,10,101,128,32,0,5,0,0,12,101,128,32,0,5,128,46,0,5,0,0,14,101,128,32,0,5,128,46,0,5,0,0,16,101,128,32,0,5,0,0,18,101,2,0,24,101,128,32,0,5,0,0,26,101,128,32,0,5,128,46,0,5,0,0,28,101,128,32,0,5,128,46,0,5,0,0,30,101,128,32,0,5,128,46,0,5,0,0,32,101,128,32,0,5,0,0,34,101,0,0,36,101,128,32,0,5,0,0,38,101,128,32,0,5,0,0,40,101,128,32,0,5,0,0,42,101,0,0,44,101,128,32,0,5,0,0,46,101,0,0,48,101,128,32,0,5,0,2,50,101,7,156,50,101,0,2,51,101,7,184,51,101,0,2,4,102,0,0,6,102,128,32,0,5,128,46,0,5,128,5,0,112,0,0,8,102,128,32,0,5,128,46,0,5,0,0,10,102,128,32,0,5,128,46,0,5,0,0,12,102,0,0,14,102,128,32,0,5,128,46,0,5,0,0,16,102,128,32,0,5,128,46,0,5,0,0,18,102,128,32,0,5,128,46,0,5,0,2,20,102,7,16,20,102,0,0,22,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,24,102,7,16,24,102,0,0,26,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,28,102,128,32,0,5,0,0,30,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,32,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,34,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,36,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,38,102,7,79,38,102,0,0,40,102,128,32,0,5,128,46,0,5,0,0,42,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,44,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,46,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,48,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,50,102,2,0,54,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,56,102,7,16,56,102,0,0,58,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,60,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,62,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,64,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,66,102,0,0,68,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,70,102,7,23,70,102,0,0,72,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,74,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,76,102,2,0,80,102,0,2,82,102,7,37,82,102,0,0,84,102,128,16,0,5,128,30,0,5,128,44,0,5,0,0,86,102,128,16,0,5,128,30,0,5,128,44,0,5,0,0,88,102,128,32,0,5,128,46,0,5,0,0,90,102,2,0,96,102,128,32,0,5,128,46,0,5,0,0,98,102,128,32,0,5,128,46,0,5,0,0,100,102,0,0,102,102,128,32,0,5,128,46,0,5,0,0,104,102,0,0,106,102,0,2,108,102,7,16,108,102,0,0,110,102,128,16,0,5,128,30,0,5,128,44,0,5,0,0,112,102,128,16,0,5,128,30,0,5,128,44,0,5,0,0,114,102,128,32,0,5,128,46,0,5,0,0,116,102,2,0,128,102,128,32,0,5,128,46,0,5,0,0,130,102,0,2,132,102,7,51,132,102,0,0,134,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,136,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,138,102,2,0,142,102,0,2,144,102,7,37,144,102,0,0,146,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,148,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,150,102,2,0,158,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,160,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,162,102,2,0,166,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,168,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,170,102,0,2,172,102,7,37,172,102,0,0,174,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,2,176,102,128,32,0,5,0,9,176,102,7,30,176,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,37,176,102,7,51,176,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,58,176,102,7,72,176,102,128,32,0,5,0,0,178,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,2,180,102,7,30,180,102,0,0,182,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,184,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,186,102,0,0,188,102,0,2,190,102,7,16,190,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,23,190,102,0,30,190,102,0,0,192,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,194,102,7,16,194,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,23,194,102,0,30,194,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,37,194,102,7,79,194,102,0,0,196,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,2,198,102,7,44,198,102,0,0,200,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,128,5,0,112,0,2,202,102,7,16,202,102,0,0,204,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,206,102,128,16,0,5,128,30,0,5,128,44,0,5,0,2,208,102,0,9,208,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,210,102,0,2,212,102,7,30,212,102,0,0,214,102,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,216,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,218,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,220,102,7,16,220,102,128,32,0,5,128,46,0,5,0,0,222,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,224,102,0,2,226,102,128,32,0,5,128,46,0,5,0,9,226,102,128,32,0,5,128,46,0,5,0,0,228,102,128,16,0,5,128,30,0,5,128,44,0,5,0,0,230,102,128,32,0,5,128,46,0,5,0,0,232,102,128,32,0,5,128,46,0,5,0,2,234,102,0,9,234,102,128,32,0,5,128,46,0,5,0,16,234,102,7,44,234,102,0,0,236,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,238,102,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,240,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,242,102,2,0,246,102,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,248,102,7,58,248,102,0,0,250,102,128,32,0,5,128,46,0,5,0,2,252,102,0,9,252,102,0,2,4,103,0,9,4,103,0,0,6,103,128,5,0,112,0,0,8,103,128,5,0,112,128,5,0,120,0,0,10,103,0,0,12,103,128,5,0,112,0,2,14,103,7,30,14,103,0,0,16,103,128,5,0,112,0,2,18,103,7,44,18,103,0,0,20,103,128,32,0,5,0,0,22,103,0,0,24,103,128,5,0,112,0,2,26,103,7,114,26,103,0,2,27,103,7,177,27,103,0,2,28,103,0,0,30,103,0,0,32,103,2,0,128,103,0,2,130,103,7,86,130,103,0,0,132,103,128,5,0,112,0,0,134,103,128,5,0,112,0,0,136,103,0,0,138,103,128,5,0,112,0,2,140,103,7,107,140,103,0,2,141,103,7,147,142,103,0,2,143,103,7,125,155,103,0,2,4,104,0,0,6,104,0,0,8,104,2,0,148,104,128,32,0,5,0,0,150,104,2,0,154,104,128,32,0,5,0,0,156,104,2,0,208,104,0,2,4,105,0,0,6,105,0,0,8,105,2,0,66,105,128,32,0,5,0,0,68,105,2,0,132,105,128,32,0,5,0,0,134,105,0,0,136,105,0,2,4,106,0,0,6,106,0,0,8,106,2,0,118,106,0,2,4,107,0,0,6,107,0,0,8,107,2,0,142,107,0,2,4,108,0,0,6,108,0,0,8,108,2,0,138,108,0,2,4,109,0,0,6,109,0,0,8,109,2,0,104,109,0,2,4,110,0,0,6,110,0,0,8,110,2,0,152,110,0,2,4,111,0,0,6,111,0,0,8,111,2,0,152,111,0,2,4,112,0,0,6,112,0,0,8,112,2,0,40,112,128,32,0,5,0,0,42,112,2,0,68,112,128,32,0,5,0,0,70,112,2,0,78,112,128,32,0,5,0,0,80,112,2,0,90,112,128,32,0,5,0,0,92,112,128,32,0,5,0,0,94,112,128,32,0,5,0,0,96,112,128,32,0,5,0,0,98,112,2,0,108,112,128,32,0,5,0,0,110,112,128,32,0,5,0,0,112,112,2,0,152,112,128,32,0,5,0,2,4,113,0,0,6,113,0,0,8,113,2,0,158,113,0,2,160,113,7,189,161,113,0,2,162,113,7,28,163,113,0,2,164,113,7,217,165,113,0,2,166,113,7,112,167,113,0,2,168,113,7,254,168,113,0,2,170,113,7,231,171,113,0,2,172,113,7,112,173,113,0,2,174,113,7,147,175,113,0,2,176,113,7,7,177,113,0,2,178,113,7,224,179,113,0,2,180,113,7,12,182,113,0,2,183,113,7,217,184,113,0,2,185,113,7,16,185,113,0,0,187,113,128,5,0,112,128,5,0,120,0,0,189,113,128,5,0,112,0,0,191,113,128,5,0,112,0,2,193,113,7,56,194,113,0,0,196,113,128,5,0,112,0,0,198,113,128,5,0,112,0,2,200,113,7,44,200,113,0,2,201,113,7,189,202,113,0,2,203,113,7,126,204,113,0,2,205,113,7,140,206,113,0,2,207,113,7,182,208,113,0,2,209,113,7,140,210,113,0,2,211,113,7,30,211,113,0,0,213,113,128,5,0,112,0,2,215,113,0,9,215,113,0,0,217,113,128,5,0,112,0,2,219,113,7,79,219,113,0,0,221,113,128,5,0,112,0,2,223,113,7,121,223,113,0,2,224,113,7,254,224,113,0,0,226,113,128,32,0,5,128,46,0,5,0,2,228,113,7,149,228,113,0,2,229,113,7,105,230,113,0,2,231,113,0,0,233,113,128,32,0,5,0,2,235,113,7,37,235,113,0,0,237,113,128,32,0,5,0,2,239,113,7,107,239,113,0,0,241,113,128,32,0,5,0,2,243,113,7,156,243,113,0,2,244,113,7,231,245,113,0,2,246,113,7,56,247,113,0,2,248,113,7,168,249,113,0,2,4,114,0,0,6,114,0,0,8,114,2,0,132,114,0,2,4,115,0,0,6,115,0,0,8,115,2,0,54,115,128,32,0,5,0,0,56,115,2,0,70,115,128,32,0,5,0,0,72,115,2,0,84,115,128,32,0,5,0,0,86,115,2,0,130,115,0,2,132,115,7,217,133,115,0,2,4,116,0,0,6,116,0,0,8,116,2,0,102,116,128,5,0,112,0,0,104,116,2,0,118,116,128,5,0,112,0,0,120,116,128,5,0,112,0,0,122,116,128,5,0,112,0,0,124,116,2,0,146,116,128,32,0,5,0,0,148,116,2,0,192,116,128,32,0,5,0,0,194,116,0,0,196,116,0,2,198,116,7,226,198,116,0,0,200,116,128,32,0,5,0,0,202,116,128,32,0,5,128,46,0,5,0,0,204,116,128,32,0,5,0,0,206,116,128,32,0,5,0,2,208,116,7,114,208,116,0,2,209,116,7,86,209,116,0,0,211,116,128,32,0,5,0,0,213,116,0,0,215,116,128,32,0,5,0,2,217,116,0,9,217,116,0,0,219,116,128,32,0,5,0,2,221,116,7,65,221,116,0,0,223,116,128,32,0,5,0,2,225,116,7,16,225,116,0,0,227,116,128,32,0,5,0,0,229,116,128,32,0,5,0,2,231,116,7,16,231,116,0,0,233,116,128,32,0,5,0,2,235,116,7,30,235,116,0,0,237,116,128,32,0,5,0,0,239,116,0,0,241,116,128,32,0,5,128,46,0,5,0,0,243,116,128,32,0,5,128,46,0,5,0,0,245,116,0,0,247,116,128,32,0,5,128,46,0,5,0,0,249,116,0,0,251,116,128,32,0,5,128,46,0,5,0,2,253,116,7,30,253,116,0,2,4,117,7,196,5,117,0,2,6,117,7,154,7,117,0,2,8,117,7,112,9,117,0,2,10,117,7,58,10,117,0,0,12,117,128,32,0,5,0,2,14,117,0,9,14,117,0,0,16,117,128,32,0,5,0,2,18,117,7,177,18,117,0,0,20,117,128,32,0,5,0,0,22,117,128,32,0,5,0,2,24,117,7,65,24,117,0,2,25,117,7,142,25,117,0,2,26,117,7,149,26,117,0,2,27,117,7,142,27,117,0,2,28,117,7,128,28,117,0,2,29,117,7,198,29,117,0,2,30,117,7,163,30,117,0,2,31,117,0,0,33,117,128,32,0,5,0,0,35,117,128,32,0,5,0,0,37,117,128,32,0,5,0,0,39,117,128,32,0,5,0,0,41,117,128,32,0,5,0,0,43,117,128,32,0,5,0,0,45,117,128,32,0,5,0,2,47,117,0,9,47,117,0,0,49,117,128,32,0,5,0,0,51,117,128,32,0,5,0,0,53,117,128,32,0,5,0,0,55,117,128,32,0,5,0,0,57,117,128,32,0,5,0,0,59,117,0,0,61,117,128,32,0,5,0,2,63,117,7,37,63,117,0,0,65,117,128,32,0,5,0,0,67,117,0,0,69,117,128,32,0,5,0,0,71,117,128,32,0,5,0,0,73,117,128,32,0,5,0,2,75,117,7,23,75,117,0,2,76,117,7,254,76,117,0,2,78,117,7,233,78,117,0,2,79,117,7,145,81,117,0,0,83,117,128,32,0,5,0,2,85,117,7,191,85,117,0,0,87,117,128,32,0,5,0,2,89,117,7,184,89,117,0,0,91,117,128,32,0,5,0,2,93,117,7,163,93,117,0,2,94,117,7,254,94,117,0,2,96,117,7,126,97,117,0,2,98,117,0,0,100,117,2,0,238,117,0,2,4,118,7,247,4,118,0,2,5,118,7,198,5,118,0,0,7,118,128,32,0,5,0,2,9,118,7,142,9,118,0,0,11,118,128,32,0,5,0,2,13,118,7,65,13,118,0,0,15,118,128,32,0,5,0,2,17,118,7,51,17,118,0,2,18,118,7,44,18,118,0,0,20,118,128,32,0,5,0,2,22,118,7,135,22,118,0,0,24,118,128,32,0,5,0,2,26,118,7,65,26,118,0,0,28,118,128,32,0,5,0,2,30,118,7,156,30,118,0,0,32,118,128,32,0,5,0,2,34,118,7,86,34,118,0,0,36,118,128,32,0,5,0,2,38,118,7,231,39,118,0,2,40,118,7,238,41,118,0,2,42,118,7,28,43,118,0,0,45,118,128,32,0,5,0,2,47,118,7,44,47,118,0,0,49,118,128,32,0,5,0,2,51,118,7,58,51,118,0,2,52,118,7,164,55,118,0,2,56,118,7,254,56,118,0,2,58,118,0,0,60,118,128,32,0,5,0,0,62,118,128,32,0,5,0,0,64,118,128,32,0,5,0,0,66,118,128,32,0,5,0,0,68,118,128,32,0,5,0,0,70,118,128,32,0,5,0,0,72,118,128,32,0,5,0,0,74,118,128,32,0,5,0,0,76,118,128,32,0,5,0,0,78,118,128,32,0,5,0,0,80,118,128,32,0,5,0,0,82,118,128,32,0,5,0,0,84,118,128,32,0,5,0,0,86,118,128,32,0,5,0,0,88,118,128,32,0,5,0,0,90,118,128,32,0,5,0,0,92,118,128,32,0,5,0,0,94,118,128,32,0,5,0,0,96,118,128,32,0,5,0,0,98,118,128,32,0,5,0,0,100,118,128,32,0,5,0,0,102,118,128,32,0,5,0,0,104,118,128,32,0,5,0,0,106,118,128,32,0,5,0,0,108,118,128,32,0,5,0,0,110,118,128,32,0,5,0,0,112,118,128,32,0,5,0,0,114,118,128,32,0,5,0,0,116,118,128,32,0,5,0,0,118,118,128,32,0,5,0,0,120,118,128,32,0,5,0,0,122,118,128,32,0,5,0,0,124,118,128,32,0,5,0,0,126,118,128,32,0,5,0,0,128,118,128,32,0,5,0,0,130,118,128,32,0,5,0,0,132,118,128,32,0,5,0,0,134,118,128,32,0,5,0,0,136,118,128,32,0,5,0,0,138,118,128,32,0,5,0,0,140,118,128,32,0,5,0,0,142,118,128,32,0,5,0,0,144,118,128,32,0,5,0,0,146,118,128,32,0,5,0,0,148,118,128,32,0,5,0,0,150,118,128,32,0,5,0,0,152,118,128,32,0,5,0,0,154,118,128,32,0,5,0,0,156,118,128,32,0,5,0,0,158,118,128,32,0,5,0,0,160,118,128,32,0,5,0,0,162,118,128,32,0,5,0,0,164,118,128,32,0,5,0,0,166,118,128,32,0,5,0,0,168,118,128,32,0,5,0,0,170,118,128,32,0,5,0,0,172,118,128,32,0,5,0,0,174,118,128,32,0,5,0,0,176,118,128,32,0,5,0,0,178,118,128,32,0,5,0,0,180,118,128,32,0,5,0,0,182,118,128,32,0,5,0,0,184,118,128,32,0,5,0,0,186,118,128,32,0,5,0,0,188,118,128,32,0,5,0,0,190,118,128,32,0,5,0,0,192,118,128,32,0,5,0,0,194,118,128,32,0,5,0,0,196,118,128,32,0,5,0,0,198,118,128,32,0,5,0,0,200,118,128,32,0,5,0,0,202,118,128,32,0,5,0,0,204,118,128,32,0,5,0,0,206,118,128,32,0,5,0,0,208,118,128,32,0,5,0,0,210,118,128,32,0,5,0,0,212,118,128,32,0,5,0,0,214,118,128,32,0,5,0,0,216,118,128,32,0,5,0,0,218,118,128,32,0,5,0,0,220,118,128,32,0,5,0,0,222,118,128,32,0,5,0,0,224,118,128,32,0,5,0,0,226,118,128,32,0,5,0,0,228,118,128,32,0,5,0,0,230,118,128,32,0,5,0,2,232,118,0,9,232,118,128,32,0,5,0,16,232,118,128,32,0,5,0,23,232,118,128,32,0,5,0,30,232,118,128,32,0,5,0,37,232,118,128,32,0,5,0,44,232,118,128,32,0,5,0,51,232,118,128,32,0,5,0,58,232,118,128,32,0,5,0,65,232,118,128,32,0,5,0,72,232,118,128,32,0,5,0,79,232,118,128,32,0,5,0,86,232,118,128,32,0,5,0,93,232,118,128,32,0,5,0,100,232,118,128,32,0,5,0,107,232,118,128,32,0,5,0,114,232,118,128,32,0,5,0,121,232,118,128,32,0,5,0,128,232,118,128,32,0,5,0,135,232,118,128,32,0,5,0,142,232,118,128,32,0,5,0,149,232,118,128,32,0,5,0,156,232,118,128,32,0,5,0,163,232,118,128,32,0,5,0,170,232,118,128,32,0,5,0,177,232,118,128,32,0,5,0,184,232,118,128,32,0,5,0,191,232,118,128,32,0,5,0,198,232,118,128,32,0,5,0,205,232,118,128,32,0,5,0,212,232,118,128,32,0,5,0,219,232,118,128,32,0,5,0,226,232,118,128,32,0,5,0,233,232,118,128,32,0,5,0,240,232,118,128,32,0,5,0,247,232,118,128,32,0,5,0,254,232,118,128,32,0,5,0,2,234,118,7,125,253,118,0,2,254,118,7,184,254,118,0,2,4,119,0,0,6,119,128,5,0,112,0,0,8,119,128,5,0,112,128,5,0,120,0,0,10,119,128,32,0,5,128,5,0,112,0,0,12,119,128,5,0,112,128,5,0,116,128,5,0,120,128,5,0,124,0,2,14,119,7,23,14,119,0,0,16,119,128,5,0,112,128,5,0,116,128,5,0,120,128,5,0,124,0,2,18,119,0,9,18,119,0,0,20,119,128,5,0,112,0,0,22,119,128,5,0,112,128,5,0,117,128,5,0,122,0,0,24,119,128,5,0,112,128,5,0,120,0,0,26,119,128,5,0,112,0,0,28,119,0,0,30,119,128,5,0,112,0,0,32,119,128,32,0,5,128,5,0,112,0,0,34,119,0,0,36,119,128,5,0,112,0,0,38,119,0,0,40,119,128,5,0,112,128,5,0,115,128,5,0,118,128,5,0,121,128,5,0,124,0,0,42,119,0,0,44,119,128,5,0,112,128,5,0,120,0,0,46,119,128,5,0,112,128,5,0,120,0,2,48,119,0,9,48,119,0,0,50,119,128,5,0,112,128,5,0,120,0,0,52,119,128,32,0,5,128,5,0,112,0,0,54,119,128,5,0,112,0,2,56,119,7,100,56,119,0,0,58,119,128,5,0,112,128,5,0,120,0,2,60,119,0,0,62,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,64,119,128,32,0,5,0,0,66,119,128,32,0,5,0,0,68,119,128,32,0,5,0,0,70,119,128,32,0,5,0,0,72,119,128,32,0,5,0,0,74,119,128,32,0,5,0,0,76,119,128,32,0,5,0,0,78,119,128,32,0,5,128,5,0,112,128,32,0,112,128,5,0,120,128,32,0,120,0,0,80,119,128,32,0,5,0,0,82,119,128,32,0,5,0,0,84,119,128,32,0,5,0,0,86,119,128,32,0,5,0,0,88,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,90,119,128,32,0,5,0,0,92,119,128,32,0,5,0,0,94,119,128,32,0,5,0,0,96,119,128,32,0,5,0,0,98,119,128,32,0,5,0,0,100,119,128,32,0,5,0,0,102,119,128,32,0,5,0,0,104,119,128,32,0,5,0,0,106,119,128,32,0,5,0,0,108,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,110,119,128,32,0,5,128,5,0,112,128,32,0,112,128,5,0,120,128,32,0,120,0,0,112,119,128,32,0,5,0,0,114,119,128,32,0,5,0,0,116,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,118,119,128,32,0,5,0,0,120,119,128,32,0,5,0,0,122,119,128,32,0,5,0,0,124,119,128,32,0,5,0,0,126,119,128,32,0,5,0,0,128,119,128,32,0,5,0,0,130,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,132,119,128,32,0,5,128,5,0,112,128,32,0,112,0,0,134,119,128,32,0,5,0,0,136,119,128,32,0,5,0,0,138,119,128,32,0,5,0,0,140,119,128,32,0,5,0,0,142,119,128,32,0,5,0,2,144,119,0,0,146,119,128,5,0,112,0,0,148,119,0,0,150,119,128,5,0,112,0,2,152,119,0,9,152,119,0,0,154,119,128,5,0,112,0,0,156,119,128,5,0,112,0,0,158,119,128,5,0,112,0,0,160,119,128,5,0,112,0,0,162,119,128,5,0,112,0,0,164,119,128,5,0,112,0,0,166,119,0,0,168,119,128,5,0,112,0,0,170,119,128,5,0,112,0,0,172,119,128,5,0,112,0,0,174,119,128,5,0,112,0,0,176,119,128,5,0,112,0,0,178,119,128,5,0,112,0,2,180,119,7,23,180,119,0,0,182,119,128,5,0,112,0,0,184,119,128,5,0,112,0,0,186,119,128,5,0,112,0,0,188,119,128,5,0,112,0,0,190,119,0,0,192,119,128,5,0,112,0,2,194,119,7,16,194,119,0,0,196,119,128,5,0,112,0,0,198,119,128,5,0,112,0,0,200,119,128,5,0,112,0,0,202,119,128,5,0,112,0,0,204,119,128,5,0,112,0,2,206,119,7,16,206,119,0,0,208,119,128,5,0,112,0,0,210,119,128,5,0,112,0,0,212,119,128,5,0,112,0,0,214,119,128,5,0,112,0,2,216,119,0,9,216,119,0,2,4,120,7,86,4,120,0,0,6,120,128,32,0,5,0,2,8,120,7,114,8,120,0,0,10,120,128,32,0,5,0,2,12,120,7,135,12,120,0,0,14,120,128,32,0,5,0,2,16,120,7,128,16,120,0,0,18,120,128,32,0,5,0,2,20,120,7,65,20,120,0,0,22,120,128,32,0,5,0,2,24,120,7,30,24,120,0,0,26,120,128,32,0,5,0,0,28,120,0,0,30,120,128,32,0,5,0,2,32,120,7,30,32,120,0,0,34,120,128,32,0,5,0,2,36,120,7,58,36,120,0,0,38,120,128,32,0,5,0,2,40,120,7,16,40,120,0,0,42,120,128,32,0,5,0,2,44,120,7,149,44,120,0,0,46,120,128,32,0,5,0,0,48,120,0,0,50,120,128,32,0,5,0,2,52,120,7,49,53,120,0,0,55,120,128,32,0,5,0,2,57,120,7,149,57,120,0,0,59,120,128,32,0,5,0,2,61,120,7,30,61,120,0,0,63,120,128,32,0,5,0,2,65,120,7,37,65,120,0,0,67,120,128,32,0,5,0,2,69,120,7,91,70,120,0,0,72,120,128,32,0,5,0,0,74,120,128,32,0,5,0,2,76,120,7,227,93,120,0,2,94,120,7,212,94,120,0,2,95,120,7,111,100,120,0,2,101,120,0,0,103,120,128,32,0,5,0,0,105,120,128,32,0,5,0,0,107,120,128,32,0,5,0,0,109,120,128,32,0,5,0,0,111,120,128,32,0,5,0,0,113,120,128,32,0,5,0,0,115,120,128,32,0,5,0,0,117,120,128,32,0,5,0,0,119,120,128,32,0,5,0,0,121,120,128,32,0,5,0,0,123,120,128,32,0,5,0,0,125,120,128,32,0,5,0,0,127,120,128,32,0,5,0,0,129,120,128,32,0,5,0,0,131,120,128,32,0,5,0,0,133,120,128,32,0,5,0,0,135,120,128,32,0,5,0,0,137,120,128,32,0,5,0,0,139,120,128,32,0,5,0,0,141,120,128,32,0,5,0,0,143,120,128,32,0,5,0,0,145,120,128,32,0,5,0,0,147,120,128,32,0,5,0,0,149,120,128,32,0,5,0,0,151,120,128,32,0,5,0,0,153,120,128,32,0,5,0,0,155,120,128,32,0,5,0,0,157,120,128,32,0,5,0,0,159,120,128,32,0,5,0,0,161,120,128,32,0,5,0,0,163,120,128,32,0,5,0,0,165,120,128,32,0,5,0,2,167,120,0,0,169,120,128,32,0,5,0,0,171,120,128,32,0,5,0,0,173,120,128,32,0,5,0,0,175,120,128,32,0,5,0,0,177,120,128,32,0,5,0,0,179,120,128,32,0,5,0,0,181,120,128,32,0,5,0,0,183,120,128,32,0,5,0,0,185,120,128,32,0,5,0,0,187,120,128,32,0,5,0,0,189,120,128,32,0,5,0,0,191,120,128,32,0,5,0,0,193,120,128,32,0,5,0,0,195,120,128,32,0,5,0,0,197,120,128,32,0,5,0,0,199,120,128,32,0,5,0,0,201,120,128,32,0,5,0,0,203,120,128,32,0,5,0,0,205,120,128,32,0,5,0,0,207,120,128,32,0,5,0,0,209,120,128,32,0,5,0,0,211,120,128,32,0,5,0,0,213,120,128,32,0,5,0,0,215,120,128,32,0,5,0,0,217,120,128,32,0,5,0,0,219,120,128,32,0,5,0,0,221,120,128,32,0,5,0,0,223,120,128,32,0,5,0,0,225,120,128,32,0,5,0,0,227,120,128,32,0,5,0,0,229,120,128,32,0,5,0,0,231,120,128,32,0,5,0,0,233,120,128,32,0,5,0,0,235,120,128,32,0,5,0,2,237,120,0,2,4,121,0,0,6,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,8,121,128,32,0,5,128,46,0,5,0,0,10,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,12,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,14,121,128,32,0,5,128,46,0,5,0,0,16,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,18,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,20,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,22,121,128,32,0,5,128,46,0,5,0,0,24,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,26,121,128,32,0,5,128,46,0,5,0,0,28,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,30,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,32,121,128,32,0,5,128,46,0,5,0,0,34,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,36,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,38,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,40,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,42,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,44,121,0,0,46,121,128,32,0,5,0,0,48,121,128,32,0,5,0,2,50,121,7,23,50,121,0,0,52,121,128,32,0,5,128,46,0,5,0,0,54,121,0,0,56,121,128,32,0,5,0,0,58,121,128,32,0,5,0,0,60,121,128,32,0,5,0,0,62,121,0,0,64,121,128,32,0,5,0,0,66,121,128,32,0,5,128,46,0,5,0,0,68,121,128,32,0,5,0,0,70,121,128,32,0,5,0,2,72,121,7,16,72,121,0,0,74,121,128,32,0,5,0,0,76,121,0,0,78,121,128,32,0,5,0,0,80,121,0,0,82,121,128,32,0,5,0,0,84,121,128,32,0,5,0,0,86,121,128,32,0,5,0,0,88,121,128,32,0,5,0,0,90,121,128,32,0,5,0,2,92,121,7,16,92,121,128,32,0,5,0,23,92,121,7,44,92,121,128,32,0,5,0,51,92,121,7,114,92,121,128,32,0,5,0,121,92,121,7,163,92,121,128,32,0,5,0,170,92,121,7,198,92,121,128,32,0,5,0,205,92,121,7,14,93,121,0,0,95,121,128,32,0,5,0,0,97,121,128,32,0,5,0,0,99,121,128,32,0,5,0,2,101,121,7,247,101,121,128,32,0,5,128,46,0,5,0,0,103,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,105,121,128,32,0,5,128,46,0,5,0,0,107,121,128,32,0,5,128,46,0,5,0,0,109,121,128,32,0,5,128,46,0,5,0,0,111,121,128,32,0,5,128,46,0,5,0,0,113,121,128,32,0,5,128,46,0,5,0,0,115,121,128,32,0,5,128,46,0,5,0,0,117,121,128,32,0,5,128,46,0,5,0,0,119,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,121,121,128,32,0,5,128,46,0,5,0,0,123,121,128,32,0,5,128,46,0,5,0,0,125,121,128,32,0,5,128,46,0,5,0,0,127,121,128,32,0,5,128,46,0,5,0,0,129,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,131,121,128,32,0,5,128,46,0,5,0,0,133,121,128,32,0,5,128,46,0,5,0,0,135,121,128,32,0,5,128,46,0,5,0,0,137,121,128,32,0,5,128,46,0,5,0,0,139,121,128,32,0,5,128,46,0,5,0,0,141,121,128,16,0,5,128,30,0,5,128,44,0,5,0,0,143,121,128,32,0,5,128,46,0,5,0,2,145,121,7,93,145,121,0,0,147,121,128,32,0,5,0,0,149,121,128,32,0,5,0,0,151,121,2,0,155,121,128,32,0,5,0,2,157,121,7,51,157,121,0,0,159,121,128,32,0,5,0,0,161,121,128,32,0,5,0,0,163,121,0,0,165,121,128,32,0,5,0,2,167,121,7,58,167,121,0,0,169,121,128,32,0,5,0,0,171,121,2,0,175,121,128,32,0,5,0,2,177,121,7,198,177,121,0,0,179,121,2,0,183,121,128,32,0,5,128,46,0,5,0,0,185,121,128,32,0,5,0,0,187,121,128,32,0,5,128,46,0,5,0,0,189,121,128,32,0,5,128,46,0,5,0,0,191,121,2,0,195,121,128,32,0,5,128,46,0,5,0,0,197,121,128,32,0,5,128,46,0,5,0,0,199,121,128,32,0,5,128,46,0,5,0,0,201,121,128,32,0,5,128,46,0,5,0,0,203,121,128,32,0,5,128,46,0,5,0,0,205,121,128,32,0,5,128,46,0,5,0,0,207,121,0,0,209,121,128,32,0,5,0,0,211,121,2,0,231,121,0,2,233,121,7,23,233,121,0,0,235,121,128,32,0,5,0,0,237,121,128,32,0,5,0,2,239,121,7,16,239,121,0,0,241,121,128,32,0,5,0,0,243,121,0,0,245,121,128,32,0,5,0,2,247,121,7,30,247,121,128,32,0,5,0,37,247,121,7,58,247,121,128,32,0,5,0,65,247,121,0,72,247,121,128,32,0,5,0,79,247,121,7,100,247,121,128,32,0,5,0,107,247,121,0,114,247,121,128,32,0,5,0,121,247,121,7,240,247,121,128,32,0,5,0,247,247,121,128,32,0,5,0,254,247,121,7,173,249,121,0,2,4,122,0,0,6,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,8,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,10,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,12,122,0,0,14,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,16,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,18,122,128,3,0,5,128,5,0,5,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,20,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,22,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,24,122,128,3,0,5,128,5,0,5,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,26,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,28,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,30,122,128,3,0,5,128,5,0,5,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,32,122,128,3,0,5,128,5,0,5,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,34,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,36,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,38,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,40,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,42,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,44,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,46,122,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,48,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,50,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,52,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,54,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,56,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,58,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,60,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,62,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,64,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,66,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,68,122,128,3,0,5,128,5,0,5,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,70,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,72,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,74,122,128,3,0,5,128,5,0,5,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,76,122,128,16,0,5,128,30,0,5,128,44,0,5,0,0,78,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,80,122,128,3,0,5,128,5,0,5,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,82,122,128,3,0,5,128,5,0,5,128,16,0,5,128,22,0,5,128,28,0,5,128,34,0,5,128,40,0,5,128,46,0,5,128,52,0,5,0,0,84,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,86,122,128,16,0,5,128,23,0,5,128,30,0,5,128,37,0,5,128,44,0,5,128,51,0,5,0,0,88,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,90,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,92,122,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,94,122,128,3,0,5,128,5,0,5,128,16,0,5,128,24,0,5,128,32,0,5,128,40,0,5,128,48,0,5,0,0,96,122,128,3,0,5,128,5,0,5,128,16,0,5,128,30,0,5,128,44,0,5,0,0,98,122,128,3,0,5,128,5,0,5,128,16,0,5,128,30,0,5,128,44,0,5,0,0,100,122,128,3,0,5,128,5,0,5,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,0,102,122,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,2,104,122,7,219,111,122,0,2,4,123,0,0,6,123,128,5,0,112,0,0,8,123,128,32,0,5,0,0,10,123,2,0,20,123,128,32,0,5,0,0,22,123,2,0,28,123,128,32,0,5,128,5,0,112,0,0,30,123,128,32,0,5,0,0,32,123,2,0,36,123,128,32,0,5,0,0,38,123,128,5,0,112,0,0,40,123,2,0,58,123,128,5,0,112,0,0,60,123,2,0,70,123,128,5,0,112,0,0,72,123,128,5,0,112,0,0,74,123,0,0,76,123,128,32,0,5,0,0,78,123,0,0,80,123,128,5,0,112,0,0,82,123,128,5,0,112,0,0,84,123,0,0,86,123,128,5,0,112,0,0,88,123,2,0,106,123,128,5,0,112,128,32,0,112,0,0,108,123,128,5,0,112,128,5,0,120,0,0,110,123,2,0,116,123,0,2,118,123,7,29,150,123,0,2,151,123,7,77,152,123,0,2,153,123,7,37,153,123,0,0,155,123,128,32,0,5,0,2,157,123,7,79,157,123,0,0,159,123,128,32,0,5,0,2,161,123,7,114,161,123,0,0,163,123,128,32,0,5,0,2,165,123,7,184,165,123,0,0,167,123,128,32,0,5,0,2,169,123,7,47,171,123,0,2,172,123,0,9,172,123,0,0,174,123,128,32,0,5,0,0,176,123,128,32,0,5,0,0,178,123,128,32,0,5,0,0,180,123,128,32,0,5,0,0,182,123,128,32,0,5,0,0,184,123,128,32,0,5,0,0,186,123,128,32,0,5,0,0,188,123,128,32,0,5,0,0,190,123,128,32,0,5,0,0,192,123,128,32,0,5,0,0,194,123,128,32,0,5,0,0,196,123,128,32,0,5,0,0,198,123,128,32,0,5,0,0,200,123,128,32,0,5,0,0,202,123,128,32,0,5,0,0,204,123,128,32,0,5,0,0,206,123,128,32,0,5,0,0,208,123,128,32,0,5,0,0,210,123,128,32,0,5,0,0,212,123,128,32,0,5,0,0,214,123,128,32,0,5,0,0,216,123,128,32,0,5,0,0,218,123,128,32,0,5,0,0,220,123,128,32,0,5,0,0,222,123,128,32,0,5,0,0,224,123,128,32,0,5,0,0,226,123,128,32,0,5,0,0,228,123,128,32,0,5,0,0,230,123,128,32,0,5,0,0,232,123,128,32,0,5,0,0,234,123,128,32,0,5,0,0,236,123,128,32,0,5,0,2,238,123,7,147,239,123,0,2,240,123,7,124,242,123,0,2,243,123,7,105,244,123,0,2,245,123,7,56,246,123,0,2,247,123,7,205,247,123,0,2,248,123,7,91,249,123,0,2,250,123,7,184,250,123,0,2,251,123,7,247,251,123,0,2,252,123,7,191,252,123,0,2,4,124,0,0,6,124,128,32,0,5,0,0,8,124,128,32,0,5,0,0,10,124,128,32,0,5,0,0,12,124,128,32,0,5,0,0,14,124,128,32,0,5,0,0,16,124,128,32,0,5,0,0,18,124,128,32,0,5,0,0,20,124,128,32,0,5,0,0,22,124,128,32,0,5,0,0,24,124,128,32,0,5,0,0,26,124,128,32,0,5,0,0,28,124,128,32,0,5,0,0,30,124,128,32,0,5,0,0,32,124,128,32,0,5,0,0,34,124,128,32,0,5,0,0,36,124,128,32,0,5,0,0,38,124,128,32,0,5,0,0,40,124,128,32,0,5,0,0,42,124,128,32,0,5,0,0,44,124,128,32,0,5,0,0,46,124,128,32,0,5,0,0,48,124,128,32,0,5,0,0,50,124,128,32,0,5,0,0,52,124,128,32,0,5,0,0,54,124,128,32,0,5,0,0,56,124,128,32,0,5,0,0,58,124,128,32,0,5,0,0,60,124,128,32,0,5,0,0,62,124,128,32,0,5,0,0,64,124,128,32,0,5,0,0,66,124,128,32,0,5,0,0,68,124,128,32,0,5,0,0,70,124,128,32,0,5,0,0,72,124,128,32,0,5,0,0,74,124,128,32,0,5,0,0,76,124,128,32,0,5,0,0,78,124,128,32,0,5,0,0,80,124,128,32,0,5,0,0,82,124,128,32,0,5,0,0,84,124,128,32,0,5,0,2,86,124,7,84,87,124,0,2,88,124,7,213,91,124,0,2,92,124,7,212,92,124,0,2,93,124,7,28,94,124,0,2,95,124,7,112,96,124,0,2,97,124,7,177,97,124,0,2,98,124,7,219,98,124,0,2,99,124,7,209,104,124,0,2,105,124,7,103,114,124,0,2,115,124,7,133,116,124,0,2,117,124,7,205,117,124,0,2,118,124,7,205,118,124,0,2,119,124,7,63,120,124,0,0,122,124,128,5,0,112,0,2,124,124,7,44,124,124,0,2,125,124,7,93,125,124,0,0,127,124,128,32,0,5,0,2,129,124,7,51,129,124,0,2,130,124,0,0,132,124,128,32,0,5,0,0,134,124,128,32,0,5,0,2,136,124,0,9,136,124,0,0,138,124,128,32,0,5,0,2,140,124,7,23,140,124,0,0,142,124,128,32,0,5,0,0,144,124,128,32,0,5,0,0,146,124,128,32,0,5,0,0,148,124,128,32,0,5,0,0,150,124,128,32,0,5,0,2,152,124,7,37,152,124,0,0,154,124,128,32,0,5,0,2,156,124,0,2,157,124,7,149,157,124,0,2,158,124,7,156,158,124,0,2,159,124,7,156,159,124,0,2,160,124,7,135,160,124,0,2,161,124,7,128,161,124,0,2,162,124,7,51,162,124,128,32,0,5,0,58,162,124,7,72,162,124,128,32,0,5,0,79,162,124,7,156,162,124,0,2,163,124,7,51,163,124,0,0,165,124,128,5,0,112,0,2,167,124,7,191,167,124,0,2,168,124,0,0,170,124,128,32,0,5,0,0,172,124,128,32,0,5,0,0,174,124,0,0,176,124,128,32,0,5,0,2,178,124,7,44,178,124,0,0,180,124,128,32,0,5,128,5,0,112,0,0,182,124,0,0,184,124,128,32,0,5,128,5,0,112,0,0,186,124,0,0,188,124,128,32,0,5,128,5,0,112,0,0,190,124,128,32,0,5,0,0,192,124,0,0,194,124,128,32,0,5,128,5,0,112,0,2,196,124,7,121,196,124,0,0,198,124,128,5,0,112,0,2,200,124,7,16,200,124,0,2,201,124,7,56,202,124,0,2,203,124,7,149,203,124,0,2,204,124,7,212,204,124,0,2,205,124,7,56,206,124,0,2,207,124,7,208,237,124,0,2,4,125,7,133,33,125,0,2,34,125,0,0,36,125,128,5,0,112,0,0,38,125,128,5,0,112,0,0,40,125,128,5,0,112,0,0,42,125,128,5,0,112,0,0,44,125,128,5,0,112,0,0,46,125,128,5,0,112,0,0,48,125,128,5,0,112,128,5,0,120,0,0,50,125,128,5,0,112,0,0,52,125,128,5,0,112,0,0,54,125,128,5,0,112,128,5,0,120,0,0,56,125,128,5,0,112,128,5,0,120,0,0,58,125,128,5,0,112,128,5,0,120,0,0,60,125,128,5,0,112,0,0,62,125,128,5,0,112,0,0,64,125,128,5,0,112,0,0,66,125,128,5,0,112,128,5,0,117,128,5,0,122,0,0,68,125,128,5,0,112,0,0,70,125,128,5,0,112,0,0,72,125,128,5,0,112,0,0,74,125,128,5,0,112,128,5,0,120,0,0,76,125,128,5,0,112,128,5,0,120,0,0,78,125,128,5,0,112,0,0,80,125,128,5,0,112,0,2,82,125,7,23,82,125,0,2,83,125,7,19,99,125,0,2,100,125,2,112,154,125,0,2,155,125,7,234,165,125,0,2,166,125,7,244,178,125,0,2,2,126,0,2,2,251,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,4,2,251,2,6,2,251,128,38,0,5,0,8,2,251,2,10,2,251,128,16,0,5,128,27,0,5,0,12,2,251,2,32,2,251,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,34,2,251,128,27,0,5,128,38,0,5,0,36,2,251,128,27,0,5,128,38,0,5,0,38,2,251,2,42,2,251,128,16,0,5,0,44,2,251,2,132,2,251,128,38,0,5,0,134,2,251,2,60,4,251,128,16,0,5,0,62,4,251,2,82,4,251,128,27,0,5,128,38,0,5,128,49,0,5,0,84,4,251,2,200,4,251,128,16,0,5,128,5,0,112,0,202,4,251,2,252,4,251,128,16,0,5,0,254,4,251,2,26,6,251,128,16,0,5,128,38,0,5,128,5,0,112,0,28,6,251,128,16,0,5,0,30,6,251,128,16,0,5,0,32,6,251,2,48,6,251,128,16,0,5,128,27,0,5,0,50,6,251,2,248,7,251,128,16,0,5,0,250,7,251,2,74,8,251,128,16,0,5,128,27,0,5,128,38,0,5,128,49,0,5,0,76,8,251,2,96,8,251,128,16,0,5,128,27,0,5,0,98,8,251,2,232,8,251,128,16,0,5,0,234,8,251,2,250,8,251,128,49,0,5,0,252,8,251,2,68,10,251,128,16,0,5,128,38,0,5,0,70,10,251,128,16,0,5,0,72,10,251,2,180,10,251,128,16,0,5,0,182,10,251,128,49,0,5,0,184,10,251,2,40,11,251,128,16,0,5,128,27,0,5,0,42,11,251,2,72,11,251,128,16,0,5,128,27,0,5,0,74,11,251,2,90,11,251,128,49,0,5,0,92,11,251,2,70,24,251,128,27,0,5,0,72,24,251,2,4,26,251,128,16,0,5,0,6,26,251,2,188,27,251,128,16,0,5,0,190,27,251,2,74,28,251,128,16,0,5,128,27,0,5,0,76,28,251,2,80,28,251,128,16,0,5,128,27,0,5,0,82,28,251,2,104,29,251,128,16,0,5,128,5,0,112,0,106,29,251,2,162,29,251,128,49,0,5,0,164,29,251,2,74,30,251,128,16,0,5,0,76,30,251,2,88,30,251,128,27,0,5,0,90,30,251,2,62,31,251,128,16,0,5,0,64,31,251,2,196,33,251,128,16,0,5,128,5,0,112,0,198,33,251,2,200,34,251,128,16,0,5,0,202,34,251,2,132,35,251,128,16,0,5,128,5,0,112,0,134,35,251,2,136,35,251,128,16,0,5,0,138,35,251,2,90,36,251,128,49,0,5,0,92,36,251,2,172,37,251,128,49,0,5,0,174,37,251,2,126,39,251,128,49,0,5,0,128,39,251,2,8,42,251,128,16,0,5,0,10,42,251,2,114,42,251,128,16,0,5,128,27,0,5,0,116,42,251,2,206,43,251,128,16,0,5,0,208,43,251,2,244,44,251,128,16,0,5,0,246,44,251,2,234,45,251,128,16,0,5,0,236,45,251,2,82,46,251,128,16,0,5,0,84,46,251,2,118,47,251,128,16,0,5,0,120,47,251,2,134,47,251,128,27,0,5,0,136,47,251,2,180,47,251,128,16,0,5,128,27,0,5,0,182,47,251,2,186,47,251,128,16,0,5,0,188,47,251,2,52,48,251,128,16,0,5,128,27,0,5,0,54,48,251,2,44,49,251,128,16,0,5,128,5,0,112,0,46,49,251,2,240,49,251,128,16,0,5,128,5,0,112,0,242,49,251,2,26,50,251,128,27,0,5,0,28,50,251,2,178,50,251,128,16,0,5,128,5,0,112,0,180,50,251,2,120,53,251,128,16,0,5,0,122,53,251,2,122,54,251,128,16,0,5,0,124,54,251,2,132,54,251,128,49,0,5,0,134,54,251,2,112,56,251,128,16,0,5,0,114,56,251,2,150,56,251,128,27,0,5,0,152,56,251,2,158,56,251,128,27,0,5,128,49,0,5,0,160,56,251,2,246,56,251,128,49,0,5,0,248,56,251,2,2,57,251,128,16,0,5,128,27,0,5,0,4,57,251,2,200,57,251,128,49,0,5,0,202,57,251,2,28,59,251,128,16,0,5,0,30,59,251,2,60,59,251,128,49,0,5,0,62,59,251,2,180,64,251,128,27,0,5,0,182,64,251,2,142,67,251,128,49,0,5,0,144,67,251,2,76,83,251,128,16,0,5,0,78,83,251,2,90,83,251,128,16,0,5,128,27,0,5,128,38,0,5,0,92,83,251,2,186,85,251,128,16,0,5,128,27,0,5,0,188,85,251,2,12,86,251,128,38,0,5,0,14,86,251,2,220,99,251,128,16,0,5,0,222,99,251,2,234,99,251,128,49,0,5,0,236,99,251,2,178,100,251,128,16,0,5,0,180,100,251,2,232,100,251,128,16,0,5,0,234,100,251,2,136,101,251,128,16,0,5,0,138,101,251,2,154,101,251,128,49,0,5,0,156,101,251,2,182,101,251,128,27,0,5,0,184,101,251,2,204,102,251,128,16,0,5,128,49,0,5,0,206,102,251,2,208,102,251,128,38,0,5,128,49,0,5,0,210,102,251,2,100,106,251,128,16,0,5,128,27,0,5,0,102,106,251,2,108,119,251,128,16,0,5,0,110,119,251,2,146,119,251,128,49,0,5,0,148,119,251,2,232,119,251,128,16,0,5,128,27,0,5,0,234,119,251,2,174,121,251,128,16,0,5,0,176,121,251,2,208,121,251,128,16,0,5,0,210,121,251,2,86,122,251,128,27,0,5,0,88,122,251,2,22,128,251,128,16,0,5,0,24,128,251,2,34,129,251,128,16,0,5,128,5,0,112,128,5,0,120,0,36,129,251,2,144,130,251,128,16,0,5,128,5,0,112,0,146,130,251,128,16,0,5,128,5,0,112,0,148,130,251,2,192,131,251,128,16,0,5,0,194,131,251,2,8,135,251,128,16,0,5,0,10,135,251,2,128,135,251,128,16,0,5,0,130,135,251,2,66,147,251,128,16,0,5,0,68,147,251,2,210,147,251,128,16,0,5,0,212,147,251,2,228,147,251,128,27,0,5,128,49,0,5,0,230,147,251,2,132,148,251,128,16,0,5,0,134,148,251,2,136,148,251,128,16,0,5,0,138,148,251,2,20,149,251,128,16,0,5,0,22,149,251,2,170,153,251,128,16,0,5,0,172,153,251,128,49,0,5,0,174,153,251,2,92,154,251,128,16,0,5,0,94,154,251,2,106,154,251,128,27,0,5,0,108,154,251,2,218,154,251,128,16,0,5,0,220,154,251,2,254,159,251,128,16,0,5,0,2,160,251,2,102,160,251,128,16,0,5,0,104,160,251,2,108,161,251,128,16,0,5,0,110,161,251,2,130,161,251,128,49,0,5,0,132,161,251,2,216,161,251,128,16,0,5,0,218,161,251,2,210,164,251,128,16,0,5,128,5,0,112,0,212,164,251,128,16,0,5,0,214,164,251,2,122,165,251,128,16,0,5,0,124,165,251,2,88,166,251,128,16,0,5,0,90,166,251,2,8,167,251,128,49,0,5,0,10,167,251,2,156,167,251,128,27,0,5,0,158,167,251,2,252,169,251,128,16,0,5,128,5,0,112,0,254,169,251,128,16,0,5,0,2,170,251,2,76,188,251,128,16,0,5,0,78,188,251,2,100,188,251,128,49,0,5,0,102,188,251,2,162,190,251,128,16,0,5,0,164,190,251,2,156,191,251,128,16,0,5,128,49,0,5,0,158,191,251,128,16,0,5,0,160,191,251,2,182,191,251,128,16,0,5,128,49,0,5,0,184,191,251,2,156,192,251,128,49,0,5,0,158,192,251,2,254,194,251,128,49,0,5,0,2,195,251,2,210,196,251,128,49,0,5,0,212,196,251,2,60,212,251,128,16,0,5,0,62,212,251,2,230,212,251,128,16,0,5,0,232,212,251,128,16,0,5,0,234,212,251,2,52,214,251,128,16,0,5,0,54,214,251,2,254,217,251,128,16,0,5,128,27,0,5,0,2,218,251,2,178,218,251,128,16,0,5,0,180,218,251,2,206,218,251,128,49,0,5,0,208,218,251,2,74,219,251,128,16,0,5,0,76,219,251,2,188,219,251,128,49,0,5,0,190,219,251,2,68,220,251,128,16,0,5,0,70,220,251,2,42,222,251,128,16,0,5,0,44,222,251,128,16,0,5,0,46,222,251,2,86,222,251,128,16,0,5,128,27,0,5,128,5,0,112,0,88,222,251,2,22,223,251,128,49,0,5,0,24,223,251,2,180,223,251,128,49,0,5,0,182,223,251,2,206,223,251,128,49,0,5,0,208,223,251,2,90,232,251,128,16,0,5,0,92,232,251,2,86,233,251,128,16,0,5,128,27,0,5,128,49,0,5,128,5,0,112,0,88,233,251,2,90,233,251,128,16,0,5,128,27,0,5,128,49,0,5,0,92,233,251,2,114,235,251,128,16,0,5,128,27,0,5,0,116,235,251,2,128,235,251,128,16,0,5,0,130,235,251,2,60,239,251,128,16,0,5,128,27,0,5,128,49,0,5,0,62,239,251,2,188,6,252,128,16,0,5,0,190,6,252,2,190,9,252,128,16,0,5,0,192,9,252,2,196,9,252,128,27,0,5,128,49,0,5,0,198,9,252,2,192,11,252,128,16,0,5,0,194,11,252,2,198,11,252,128,5,0,112,0,200,11,252,2,174,14,252,128,16,0,5,0,176,14,252,2,104,16,252,128,16,0,5,0,106,16,252,2,110,16,252,128,16,0,5,0,112,16,252,2,180,16,252,128,16,0,5,0,182,16,252,2,22,17,252,128,16,0,5,0,24,17,252,2,236,20,252,128,16,0,5,0,238,20,252,2,240,20,252,128,16,0,5,0,242,20,252,2,54,21,252,128,16,0,5,0,56,21,252,2,230,21,252,128,16,0,5,128,27,0,5,0,232,21,252,128,16,0,5,0,234,21,252,128,16,0,5,0,236,21,252,2,232,23,252,128,49,0,5,0,234,23,252,2,66,24,252,128,27,0,5,0,68,24,252,2,68,32,252,128,49,0,5,0,70,32,252,2,182,36,252,128,49,0,5,0,184,36,252,2,142,48,252,128,16,0,5,128,27,0,5,0,144,48,252,128,16,0,5,0,146,48,252,2,34,50,252,128,16,0,5,0,36,50,252,2,124,53,252,128,49,0,5,0,126,53,252,2,48,64,252,128,16,0,5,0,50,64,252,128,16,0,5,128,5,0,112,0,52,64,252,2,150,65,252,128,16,0,5,0,152,65,252,2,218,65,252,128,16,0,5,0,220,65,252,2,14,66,252,128,16,0,5,0,16,66,252,128,16,0,5,0,18,66,252,2,252,66,252,128,16,0,5,0,254,66,252,2,28,68,252,128,16,0,5,0,30,68,252,2,94,68,252,128,16,0,5,128,5,0,112,0,96,68,252,2,116,69,252,128,16,0,5,128,27,0,5,0,118,69,252,2,46,72,252,128,16,0,5,0,48,72,252,128,16,0,5,0,50,72,252,2,112,79,252,128,16,0,5,0,114,79,252,2,132,79,252,128,16,0,5,0,134,79,252,128,5,0,112,0,136,79,252,2,158,89,252,128,16,0,5,0,160,89,252,2,104,90,252,128,16,0,5,0,106,90,252,2,188,92,252,128,16,0,5,0,190,92,252,2,36,93,252,128,16,0,5,128,49,0,5,0,38,93,252,2,208,93,252,128,16,0,5,0,210,93,252,2,32,94,252,128,16,0,5,0,34,94,252,2,36,94,252,128,38,0,5,0,38,94,252,128,49,0,5,0,40,94,252,2,56,94,252,128,27,0,5,0,58,94,252,2,100,98,252,128,16,0,5,128,5,0,112,0,102,98,252,2,176,98,252,128,16,0,5,0,178,98,252,2,156,106,252,128,16,0,5,0,158,106,252,2,250,106,252,128,16,0,5,0,252,106,252,2,26,109,252,128,16,0,5,0,28,109,252,2,184,110,252,128,16,0,5,0,186,110,252,2,100,111,252,128,16,0,5,0,102,111,252,2,8,112,252,128,16,0,5,128,27,0,5,0,10,112,252,2,128,113,252,128,16,0,5,128,5,0,112,0,130,113,252,2,54,123,252,128,16,0,5,0,56,123,252,2,16,124,252,128,16,0,5,0,18,124,252,2,134,125,252,128,16,0,5,0,136,125,252,2,210,134,252,128,16,0,5,128,5,0,112,0,212,134,252,128,16,0,5,0,214,134,252,2,240,134,252,128,16,0,5,128,27,0,5,128,49,0,5,0,242,134,252,2,158,135,252,128,16,0,5,128,27,0,5,0,160,135,252,2,50,136,252,128,16,0,5,0,52,136,252,2,80,137,252,128,49,0,5,0,82,137,252,2,88,140,252,128,16,0,5,0,90,140,252,2,156,140,252,128,16,0,5,0,158,140,252,2,134,141,252,128,27,0,5,0,136,141,252,2,22,148,252,128,16,0,5,0,24,148,252,2,50,148,252,128,49,0,5,0,52,148,252,2,118,152,252,128,16,0,5,0,120,152,252,2,154,154,252,128,16,0,5,128,5,0,112,0,156,154,252,2,76,158,252,128,27,0,5,0,78,158,252,2,76,168,252,128,16,0,5,0,78,168,252,2,70,174,252,128,16,0,5,0,72,174,252,128,16,0,5,0,74,174,252,2,168,175,252,128,49,0,5,0,170,175,252,2,220,185,252,128,16,0,5,0,222,185,252,2,198,188,252,128,16,0,5,0,200,188,252,2,238,189,252,128,16,0,5,0,240,189,252,128,16,0,5,128,5,0,112,0,242,189,252,128,16,0,5,128,5,0,112,128,5,0,120,0,244,189,252,2,14,193,252,128,16,0,5,128,5,0,112,128,5,0,120,0,16,193,252,2,22,193,252,128,16,0,5,0,24,193,252,2,136,195,252,128,16,0,5,0,138,195,252,2,84,198,252,128,16,0,5,0,86,198,252,128,16,0,5,0,88,198,252,2,214,198,252,128,16,0,5,0,216,198,252,2,40,199,252,128,16,0,5,0,42,199,252,2,74,200,252,128,16,0,5,0,76,200,252,2,128,203,252,128,16,0,5,128,5,0,112,0,130,203,252,128,16,0,5,0,132,203,252,2,226,203,252,128,16,0,5,128,5,0,112,0,228,203,252,2,90,215,252,128,16,0,5,0,92,215,252,2,222,215,252,128,16,0,5,0,224,215,252,2,152,216,252,128,16,0,5,0,154,216,252,2,10,217,252,128,16,0,5,128,5,0,112,0,12,217,252,2,106,218,252,128,16,0,5,0,108,218,252,2,90,219,252,128,16,0,5,0,92,219,252,2,128,219,252,128,16,0,5,0,130,219,252,2,106,222,252,128,16,0,5,0,108,222,252,2,140,222,252,128,16,0,5,0,142,222,252,2,6,223,252,128,16,0,5,0,8,223,252,128,16,0,5,128,5,0,112,128,5,0,120,0,10,223,252,2,174,252,252,128,16,0,5,0,176,252,252,2,178,252,252,128,16,0,5,0,180,252,252,2,150,254,252,128,16,0,5,0,152,254,252,2,202,14,253,128,16,0,5,0,204,14,253,2,118,15,253,128,16,0,5,0,120,15,253,2,52,16,253,128,16,0,5,0,54,16,253,128,16,0,5,0,56,16,253,2,136,24,253,128,16,0,5,0,138,24,253,128,16,0,5,0,140,24,253,128,16,0,5,0,142,24,253,2,42,25,253,128,16,0,5,0,44,25,253,2,148,27,253,128,16,0,5,0,150,27,253,2,240,27,253,128,16,0,5,128,5,0,112,0,242,27,253,2,152,28,253,128,49,0,5,0,154,28,253,2,38,30,253,128,16,0,5,0,40,30,253,2,192,40,253,128,16,0,5,0,194,40,253,2,160,43,253,128,16,0,5,0,162,43,253,2,90,44,253,128,16,0,5,0,92,44,253,2,112,45,253,128,16,0,5,0,114,45,253,2,36,47,253,128,16,0,5,0,38,47,253,2,190,48,253,128,16,0,5,0,192,48,253,2,218,48,253,128,16,0,5,128,27,0,5,0,220,48,253,2,14,49,253,128,49,0,5,0,16,49,253,2,8,50,253,128,16,0,5,128,27,0,5,0,10,50,253,2,202,53,253,128,16,0,5,0,204,53,253,2,190,54,253,128,16,0,5,0,192,54,253,2,84,55,253,128,16,0,5,128,49,0,5,0,86,55,253,2,84,59,253,128,16,0,5,128,5,0,112,0,86,59,253,2,230,68,253,128,16,0,5,0,232,68,253,2,218,70,253,128,16,0,5,0,220,70,253,2,100,76,253,128,16,0,5,0,102,76,253,2,186,77,253,128,16,0,5,0,188,77,253,2,128,78,253,128,16,0,5,0,130,78,253,2,176,78,253,128,16,0,5,0,178,78,253,128,16,0,5,128,5,0,112,128,5,0,120,0,180,78,253,2,144,82,253,128,49,0,5,0,146,82,253,2,26,84,253,128,27,0,5,0,28,84,253,2,98,87,253,128,16,0,5,128,5,0,112,0,100,87,253,2,148,93,253,128,16,0,5,0,150,93,253,2,166,93,253,128,49,0,5,0,168,93,253,2,30,98,253,128,16,0,5,0,32,98,253,2,98,98,253,128,16,0,5,0,100,98,253,2,242,98,253,128,16,0,5,128,27,0,5,0,244,98,253,2,86,114,253,128,16,0,5,0,88,114,253,2,200,118,253,128,16,0,5,0,202,118,253,128,16,0,5,0,204,118,253,2,2,120,253,128,16,0,5,0,4,120,253,2,6,120,253,128,16,0,5,0,8,120,253,2,84,124,253,128,16,0,5,0,86,124,253,2,154,125,253,128,16,0,5,128,5,0,112,0,156,125,253,128,16,0,5,0,158,125,253,2,186,131,253,128,16,0,5,0,188,131,253,2,228,131,253,128,16,0,5,0,230,131,253,2,178,134,253,128,16,0,5,128,5,0,112,0,180,134,253,2,216,139,253,128,16,0,5,0,218,139,253,128,16,0,5,0,220,139,253,2,44,140,253,128,16,0,5,0,46,140,253,2,152,140,253,128,16,0,5,0,154,140,253,2,160,141,253,128,16,0,5,0,162,141,253,2,196,145,253,128,16,0,5,0,198,145,253,2,30,147,253,128,16,0,5,0,32,147,253,2,108,147,253,128,16,0,5,0,110,147,253,2,184,147,253,128,16,0,5,0,186,147,253,2,142,148,253,128,16,0,5,0,144,148,253,2,162,148,253,128,27,0,5,0,164,148,253,2,70,153,253,128,16,0,5,0,72,153,253,2,82,154,253,128,16,0,5,0,84,154,253,2,242,156,253,128,16,0,5,0,244,156,253,2,122,157,253,128,16,0,5,0,124,157,253,2,164,157,253,128,16,0,5,0,166,157,253,2,170,157,253,128,16,0,5,0,172,157,253,128,16,0,5,128,5,0,112,0,174,157,253,2,20,163,253,128,16,0,5,0,22,163,253,2,110,164,253,128,16,0,5,128,5,0,112,0,112,164,253,2,252,164,253,128,16,0,5,0,254,164,253,2,208,165,253,128,16,0,5,0,210,165,253,2,244,171,253,128,16,0,5,0,246,171,253,2,168,173,253,128,16,0,5,128,5,0,112,0,170,173,253,2,232,175,253,128,16,0,5,0,234,175,253,2,186,176,253,128,16,0,5,0,188,176,253,2,58,180,253,128,16,0,5,0,60,180,253,2,136,180,253,128,16,0,5,0,138,180,253,2,172,180,253,128,16,0,5,0,174,180,253,2,166,181,253,128,16,0,5,128,5,0,112,0,168,181,253,2,2,184,253,128,16,0,5,0,4,184,253,2,64,193,253,128,16,0,5,0,66,193,253,2,218,195,253,128,16,0,5,0,220,195,253,2,72,206,253,128,16,0,5,0,74,206,253,2,240,208,253,128,16,0,5,128,5,0,112,0,242,208,253,2,178,209,253,128,16,0,5,0,180,209,253,2,56,211,253,128,16,0,5,0,58,211,253,2,196,212,253,128,16,0,5,0,198,212,253,2,94,213,253,128,16,0,5,0,96,213,253,2,210,213,253,128,16,0,5,0,212,213,253,128,16,0,5,0,214,213,253,2,124,214,253,128,16,0,5,0,126,214,253,2,252,214,253,128,16,0,5,0,254,214,253,2,36,217,253,128,16,0,5,0,38,217,253,2,62,217,253,128,16,0,5,0,64,217,253,2,222,217,253,128,16,0,5,0,224,217,253,2,6,218,253,128,16,0,5,0,8,218,253,2,62,218,253,128,16,0,5,0,64,218,253,2,220,218,253,128,16,0,5,0,222,218,253,2,240,219,253,128,16,0,5,0,242,219,253,2,176,220,253,128,16,0,5,128,5,0,112,0,178,220,253,2,236,220,253,128,16,0,5,0,238,220,253,2,248,220,253,128,16,0,5,128,5,0,112,0,250,220,253,2,110,223,253,128,16,0,5,0,112,223,253,2,12,224,253,128,16,0,5,128,5,0,112,0,14,224,253,2,96,224,253,128,16,0,5,0,98,224,253,2,118,224,253,128,16,0,5,128,5,0,112,128,5,0,120,0,120,224,253,2,218,224,253,128,16,0,5,0,220,224,253,2,236,224,253,128,16,0,5,0,238,224,253,2,40,225,253,0,2,4,254,0,2,2,255,0,0,253,255,0,0,255,255,0,255,255,255,26,9,5,5,1,0,76,0,255,255,219,251,194,5,108,0,255,255,219,251,194,5,70,97,174,5,48,0,6,3,255,255,78,97,160,5,70,97,5,5,48,0,6,3,255,255,78,97,5,5,26,102,5,5,2,0,83,6,255,255,8,102,5,5,84,6,255,255,10,102,5,5,85,6,255,255,18,102,5,5,222,102,5,5,48,0,84,6,255,255,16,102,5,5,238,102,5,5,48,0,84,6,255,255,22,102,5,5,124,105,5,5,1,0,190,9,255,255,128,105,5,5,215,9,255,255,130,105,5,5,126,108,5,5,2,0,62,11,255,255,130,108,5,5,86,11,255,255,128,108,5,5,87,11,255,255,132,108,5,5,26,109,5,5,48,0,215,11,255,255,30,109,5,5,90,109,5,5,1,0,190,11,255,255,96,109,5,5,215,11,255,255,100,109,5,5,92,109,5,5,48,0,190,11,255,255,98,109,5,5,136,110,5,5,48,0,86,12,255,255,140,110,5,5,120,111,5,5,48,0,213,12,255,255,122,111,5,5,136,111,5,5,2,0,194,12,8,0,213,12,255,255,138,111,5,5,214,12,255,255,140,111,5,5,240,127,142,111,5,5,213,12,255,255,144,111,5,5,142,111,5,5,48,0,213,12,255,255,144,111,5,5,138,112,5,5,1,0,62,13,255,255,144,112,5,5,87,13,255,255,148,112,5,5,140,112,5,5,48,0,62,13,255,255,146,112,5,5,146,113,5,5,2,0,202,13,255,255,148,113,5,5,207,13,4,0,223,13,255,255,156,113,5,5,240,127,152,113,5,5,202,13,255,255,154,113,5,5,152,113,5,5,48,0,202,13,255,255,154,113,5,5,122,114,5,5,45,0,24,14,81,0,35,14,42,0,41,14,20,0,44,14,9,0,44,14,254,193,197,2,45,14,255,193,197,66,46,14,0,194,197,130,41,14,250,193,197,66,42,14,251,193,197,130,43,14,252,193,197,194,38,14,9,0,38,14,246,193,197,130,39,14,247,193,197,194,40,14,249,193,197,2,35,14,242,193,197,194,36,14,244,193,197,2,37,14,245,193,197,66,29,14,20,0,32,14,9,0,32,14,239,193,197,2,33,14,240,193,197,66,34,14,241,193,197,130,29,14,235,193,197,66,30,14,236,193,197,130,31,14,237,193,197,194,24,14,229,193,197,2,25,14,230,193,197,66,26,14,231,193,197,130,27,14,232,193,197,194,28,14,234,193,197,2,12,14,42,0,18,14,20,0,21,14,9,0,21,14,225,193,197,66,22,14,226,193,197,130,23,14,227,193,197,194,18,14,221,193,197,130,19,14,222,193,197,194,20,14,224,193,197,2,15,14,9,0,15,14,217,193,197,194,16,14,219,193,197,2,17,14,220,193,197,66,12,14,214,193,197,2,13,14,215,193,197,66,14,14,216,193,197,130,6,14,20,0,9,14,9,0,9,14,210,193,197,66,10,14,211,193,197,130,11,14,212,193,197,194,6,14,206,193,197,130,7,14,207,193,197,194,8,14,209,193,197,2,1,14,200,193,197,66,2,14,201,193,197,130,3,14,202,193,197,194,4,14,204,193,197,2,5,14,205,193,197,66,124,114,5,5,45,0,24,14,81,0,35,14,42,0,41,14,20,0,44,14,9,0,44,14,254,193,197,66,45,14,255,193,197,130,46,14,0,194,197,194,41,14,250,193,197,130,42,14,251,193,197,194,43,14,253,193,197,2,38,14,9,0,38,14,246,193,197,194,39,14,248,193,197,2,40,14,249,193,197,66,35,14,243,193,197,2,36,14,244,193,197,66,37,14,245,193,197,130,29,14,20,0,32,14,9,0,32,14,239,193,197,66,33,14,240,193,197,130,34,14,241,193,197,194,29,14,235,193,197,130,30,14,236,193,197,194,31,14,238,193,197,2,24,14,229,193,197,66,25,14,230,193,197,130,26,14,231,193,197,194,27,14,233,193,197,2,28,14,234,193,197,66,12,14,42,0,18,14,20,0,21,14,9,0,21,14,225,193,197,130,22,14,226,193,197,194,23,14,228,193,197,2,18,14,221,193,197,194,19,14,223,193,197,2,20,14,224,193,197,66,15,14,9,0,15,14,218,193,197,2,16,14,219,193,197,66,17,14,220,193,197,130,12,14,214,193,197,66,13,14,215,193,197,130,14,14,216,193,197,194,6,14,20,0,9,14,9,0,9,14,210,193,197,130,10,14,211,193,197,194,11,14,213,193,197,2,6,14,206,193,197,194,7,14,208,193,197,2,8,14,209,193,197,66,1,14,200,193,197,130,2,14,201,193,197,194,3,14,203,193,197,2,4,14,204,193,197,66,5,14,205,193,197,130,126,114,5,5,45,0,24,14,81,0,35,14,42,0,41,14,20,0,44,14,9,0,44,14,254,193,197,130,45,14,255,193,197,194,46,14,1,194,197,2,41,14,250,193,197,194,42,14,252,193,197,2,43,14,253,193,197,66,38,14,9,0,38,14,247,193,197,2,39,14,248,193,197,66,40,14,249,193,197,130,35,14,243,193,197,66,36,14,244,193,197,130,37,14,245,193,197,194,29,14,20,0,32,14,9,0,32,14,239,193,197,130,33,14,240,193,197,194,34,14,242,193,197,2,29,14,235,193,197,194,30,14,237,193,197,2,31,14,238,193,197,66,24,14,229,193,197,130,25,14,230,193,197,194,26,14,232,193,197,2,27,14,233,193,197,66,28,14,234,193,197,130,12,14,42,0,18,14,20,0,21,14,9,0,21,14,225,193,197,194,22,14,227,193,197,2,23,14,228,193,197,66,18,14,222,193,197,2,19,14,223,193,197,66,20,14,224,193,197,130,15,14,9,0,15,14,218,193,197,66,16,14,219,193,197,130,17,14,220,193,197,194,12,14,214,193,197,130,13,14,215,193,197,194,14,14,217,193,197,2,6,14,20,0,9,14,9,0,9,14,210,193,197,194,10,14,212,193,197,2,11,14,213,193,197,66,6,14,207,193,197,2,7,14,208,193,197,66,8,14,209,193,197,130,1,14,200,193,197,194,2,14,202,193,197,2,3,14,203,193,197,66,4,14,204,193,197,130,5,14,205,193,197,194,128,114,5,5,45,0,24,14,81,0,35,14,42,0,41,14,20,0,44,14,9,0,44,14,254,193,197,194,45,14,0,194,197,2,46,14,1,194,197,66,41,14,251,193,197,2,42,14,252,193,197,66,43,14,253,193,197,130,38,14,9,0,38,14,247,193,197,66,39,14,248,193,197,130,40,14,249,193,197,194,35,14,243,193,197,130,36,14,244,193,197,194,37,14,246,193,197,2,29,14,20,0,32,14,9,0,32,14,239,193,197,194,33,14,241,193,197,2,34,14,242,193,197,66,29,14,236,193,197,2,30,14,237,193,197,66,31,14,238,193,197,130,24,14,229,193,197,194,25,14,231,193,197,2,26,14,232,193,197,66,27,14,233,193,197,130,28,14,234,193,197,194,12,14,42,0,18,14,20,0,21,14,9,0,21,14,226,193,197,2,22,14,227,193,197,66,23,14,228,193,197,130,18,14,222,193,197,66,19,14,223,193,197,130,20,14,224,193,197,194,15,14,9,0,15,14,218,193,197,130,16,14,219,193,197,194,17,14,221,193,197,2,12,14,214,193,197,194,13,14,216,193,197,2,14,14,217,193,197,66,6,14,20,0,9,14,9,0,9,14,211,193,197,2,10,14,212,193,197,66,11,14,213,193,197,130,6,14,207,193,197,66,7,14,208,193,197,130,8,14,209,193,197,194,1,14,201,193,197,2,2,14,202,193,197,66,3,14,203,193,197,130,4,14,204,193,197,194,5,14,206,193,197,2,130,114,5,5,45,0,24,14,81,0,35,14,42,0,41,14,20,0,44,14,9,0,44,14,255,193,197,2,45,14,0,194,197,66,46,14,1,194,197,130,41,14,251,193,197,66,42,14,252,193,197,130,43,14,253,193,197,194,38,14,9,0,38,14,247,193,197,130,39,14,248,193,197,194,40,14,250,193,197,2,35,14,243,193,197,194,36,14,245,193,197,2,37,14,246,193,197,66,29,14,20,0,32,14,9,0,32,14,240,193,197,2,33,14,241,193,197,66,34,14,242,193,197,130,29,14,236,193,197,66,30,14,237,193,197,130,31,14,238,193,197,194,24,14,230,193,197,2,25,14,231,193,197,66,26,14,232,193,197,130,27,14,233,193,197,194,28,14,235,193,197,2,12,14,42,0,18,14,20,0,21,14,9,0,21,14,226,193,197,66,22,14,227,193,197,130,23,14,228,193,197,194,18,14,222,193,197,130,19,14,223,193,197,194,20,14,225,193,197,2,15,14,9,0,15,14,218,193,197,194,16,14,220,193,197,2,17,14,221,193,197,66,12,14,215,193,197,2,13,14,216,193,197,66,14,14,217,193,197,130,6,14,20,0,9,14,9,0,9,14,211,193,197,66,10,14,212,193,197,130,11,14,213,193,197,194,6,14,207,193,197,130,7,14,208,193,197,194,8,14,210,193,197,2,1,14,201,193,197,66,2,14,202,193,197,130,3,14,203,193,197,194,4,14,205,193,197,2,5,14,206,193,197,66,205,243,194,5,48,0,50,14,255,255,106,114,5,5,122,115,5,5,44,0,154,14,81,0,167,14,42,0,173,14,20,0,221,14,9,0,221,14,52,194,197,227,222,14,1,194,197,194,223,14,16,194,197,194,173,14,57,194,197,66,174,14,58,194,197,130,220,14,50,194,197,195,170,14,9,0,170,14,11,194,197,194,171,14,54,194,197,194,172,14,56,194,197,2,167,14,46,194,197,194,168,14,48,194,197,2,169,14,49,194,197,66,159,14,20,0,162,14,9,0,162,14,43,194,197,2,163,14,44,194,197,66,165,14,45,194,197,130,159,14,39,194,197,66,160,14,40,194,197,130,161,14,41,194,197,194,154,14,33,194,197,2,155,14,34,194,197,66,156,14,35,194,197,130,157,14,36,194,197,194,158,14,38,194,197,2,143,14,37,0,148,14,20,0,151,14,9,0,151,14,29,194,197,66,152,14,30,194,197,130,153,14,31,194,197,194,148,14,25,194,197,130,149,14,26,194,197,194,150,14,28,194,197,2,143,14,19,194,197,66,144,14,20,194,197,130,145,14,21,194,197,194,146,14,23,194,197,2,147,14,24,194,197,66,136,14,20,0,140,14,9,0,140,14,14,194,197,66,141,14,18,194,197,2,142,14,15,194,197,130,136,14,9,194,197,66,137,14,10,194,197,130,138,14,13,194,197,2,129,14,3,194,197,2,130,14,4,194,197,66,132,14,5,194,197,130,134,14,6,194,197,194,135,14,8,194,197,2,124,115,5,5,44,0,154,14,81,0,167,14,42,0,173,14,20,0,221,14,9,0,221,14,53,194,197,67,222,14,2,194,197,2,223,14,17,194,197,2,173,14,57,194,197,130,174,14,58,194,197,194,220,14,51,194,197,35,170,14,9,0,170,14,12,194,197,2,171,14,55,194,197,2,172,14,56,194,197,66,167,14,47,194,197,2,168,14,48,194,197,66,169,14,49,194,197,130,159,14,20,0,162,14,9,0,162,14,43,194,197,66,163,14,44,194,197,130,165,14,45,194,197,194,159,14,39,194,197,130,160,14,40,194,197,194,161,14,42,194,197,2,154,14,33,194,197,66,155,14,34,194,197,130,156,14,35,194,197,194,157,14,37,194,197,2,158,14,38,194,197,66,143,14,37,0,148,14,20,0,151,14,9,0,151,14,29,194,197,130,152,14,30,194,197,194,153,14,32,194,197,2,148,14,25,194,197,194,149,14,27,194,197,2,150,14,28,194,197,66,143,14,19,194,197,130,144,14,20,194,197,194,145,14,22,194,197,2,146,14,23,194,197,66,147,14,24,194,197,130,136,14,20,0,140,14,9,0,140,14,14,194,197,130,141,14,18,194,197,66,142,14,15,194,197,194,136,14,9,194,197,130,137,14,10,194,197,194,138,14,13,194,197,66,129,14,3,194,197,66,130,14,4,194,197,130,132,14,5,194,197,194,134,14,7,194,197,2,135,14,8,194,197,66,126,115,5,5,44,0,154,14,81,0,167,14,42,0,173,14,20,0,221,14,9,0,221,14,53,194,197,163,222,14,2,194,197,66,223,14,17,194,197,66,173,14,57,194,197,194,174,14,59,194,197,2,220,14,51,194,197,131,170,14,9,0,170,14,12,194,197,66,171,14,55,194,197,66,172,14,56,194,197,130,167,14,47,194,197,66,168,14,48,194,197,130,169,14,49,194,197,194,159,14,20,0,162,14,9,0,162,14,43,194,197,130,163,14,44,194,197,194,165,14,46,194,197,2,159,14,39,194,197,194,160,14,41,194,197,2,161,14,42,194,197,66,154,14,33,194,197,130,155,14,34,194,197,194,156,14,36,194,197,2,157,14,37,194,197,66,158,14,38,194,197,130,143,14,37,0,148,14,20,0,151,14,9,0,151,14,29,194,197,194,152,14,31,194,197,2,153,14,32,194,197,66,148,14,26,194,197,2,149,14,27,194,197,66,150,14,28,194,197,130,143,14,19,194,197,194,144,14,21,194,197,2,145,14,22,194,197,66,146,14,23,194,197,130,147,14,24,194,197,194,136,14,20,0,140,14,9,0,140,14,14,194,197,194,141,14,18,194,197,130,142,14,16,194,197,2,136,14,9,194,197,194,137,14,11,194,197,2,138,14,13,194,197,130,129,14,3,194,197,130,130,14,4,194,197,194,132,14,6,194,197,2,134,14,7,194,197,66,135,14,8,194,197,130,128,115,5,5,44,0,154,14,81,0,167,14,42,0,173,14,20,0,221,14,9,0,221,14,54,194,197,3,222,14,2,194,197,130,223,14,17,194,197,130,173,14,58,194,197,2,174,14,59,194,197,66,220,14,51,194,197,227,170,14,9,0,170,14,12,194,197,130,171,14,55,194,197,130,172,14,56,194,197,194,167,14,47,194,197,130,168,14,48,194,197,194,169,14,50,194,197,2,159,14,20,0,162,14,9,0,162,14,43,194,197,194,163,14,45,194,197,2,165,14,46,194,197,66,159,14,40,194,197,2,160,14,41,194,197,66,161,14,42,194,197,130,154,14,33,194,197,194,155,14,35,194,197,2,156,14,36,194,197,66,157,14,37,194,197,130,158,14,38,194,197,194,143,14,37,0,148,14,20,0,151,14,9,0,151,14,30,194,197,2,152,14,31,194,197,66,153,14,32,194,197,130,148,14,26,194,197,66,149,14,27,194,197,130,150,14,28,194,197,194,143,14,20,194,197,2,144,14,21,194,197,66,145,14,22,194,197,130,146,14,23,194,197,194,147,14,25,194,197,2,136,14,20,0,140,14,9,0,140,14,15,194,197,2,141,14,18,194,197,194,142,14,16,194,197,66,136,14,10,194,197,2,137,14,11,194,197,66,138,14,13,194,197,194,129,14,3,194,197,194,130,14,5,194,197,2,132,14,6,194,197,66,134,14,7,194,197,130,135,14,8,194,197,194,130,115,5,5,44,0,154,14,81,0,167,14,42,0,173,14,20,0,221,14,9,0,221,14,54,194,197,99,222,14,2,194,197,194,223,14,17,194,197,194,173,14,58,194,197,66,174,14,59,194,197,130,220,14,52,194,197,67,170,14,9,0,170,14,12,194,197,194,171,14,55,194,197,194,172,14,57,194,197,2,167,14,47,194,197,194,168,14,49,194,197,2,169,14,50,194,197,66,159,14,20,0,162,14,9,0,162,14,44,194,197,2,163,14,45,194,197,66,165,14,46,194,197,130,159,14,40,194,197,66,160,14,41,194,197,130,161,14,42,194,197,194,154,14,34,194,197,2,155,14,35,194,197,66,156,14,36,194,197,130,157,14,37,194,197,194,158,14,39,194,197,2,143,14,37,0,148,14,20,0,151,14,9,0,151,14,30,194,197,66,152,14,31,194,197,130,153,14,32,194,197,194,148,14,26,194,197,130,149,14,27,194,197,194,150,14,29,194,197,2,143,14,20,194,197,66,144,14,21,194,197,130,145,14,22,194,197,194,146,14,24,194,197,2,147,14,25,194,197,66,136,14,20,0,140,14,9,0,140,14,15,194,197,66,141,14,19,194,197,2,142,14,16,194,197,130,136,14,10,194,197,66,137,14,11,194,197,130,138,14,14,194,197,2,129,14,4,194,197,2,130,14,5,194,197,66,132,14,6,194,197,130,134,14,7,194,197,194,135,14,9,194,197,2,149,244,194,5,48,0,178,14,255,255,100,115,5,5,166,116,5,5,2,0,114,15,255,255,170,116,5,5,116,15,255,255,178,116,5,5,128,15,255,255,174,116,5,5,122,116,5,5,4,0,113,15,14,0,115,15,123,194,197,2,117,15,123,194,197,66,128,15,255,255,180,116,5,5,129,15,255,255,182,116,5,5,194,127,122,2,197,194,114,15,123,194,197,2,116,15,123,194,197,66,128,15,255,255,182,116,5,5,128,116,5,5,4,0,113,15,14,0,115,15,123,194,197,194,117,15,124,194,197,2,128,15,255,255,184,116,5,5,129,15,255,255,186,116,5,5,194,127,123,2,197,130,114,15,123,194,197,194,116,15,124,194,197,2,128,15,255,255,186,116,5,5,85,117,193,128,48,0,46,16,255,255,85,117,193,135,9,118,193,142,43,0,150,25,76,0,161,25,37,0,166,25,20,0,169,25,9,0,169,25,167,194,197,34,170,25,168,194,197,34,171,25,169,194,197,34,166,25,164,194,197,34,167,25,165,194,197,34,168,25,166,194,197,34,161,25,159,194,197,34,162,25,160,194,197,34,163,25,161,194,197,34,164,25,162,194,197,34,165,25,163,194,197,34,155,25,20,0,158,25,9,0,158,25,156,194,197,34,159,25,157,194,197,34,160,25,158,194,197,34,155,25,152,194,197,130,156,25,153,194,197,130,157,25,155,194,197,34,150,25,147,194,197,130,151,25,148,194,197,130,152,25,149,194,197,130,153,25,150,194,197,130,154,25,151,194,197,130,139,25,37,0,144,25,20,0,147,25,9,0,147,25,144,194,197,130,148,25,145,194,197,130,149,25,146,194,197,130,144,25,141,194,197,130,145,25,142,194,197,130,146,25,143,194,197,130,139,25,136,194,197,130,140,25,137,194,197,130,141,25,138,194,197,130,142,25,139,194,197,130,143,25,140,194,197,130,133,25,20,0,136,25,9,0,136,25,133,194,197,130,137,25,134,194,197,130,138,25,135,194,197,130,133,25,130,194,197,130,134,25,131,194,197,130,135,25,132,194,197,130,128,25,125,194,197,130,129,25,126,194,197,130,130,25,127,194,197,130,131,25,128,194,197,130,132,25,129,194,197,130,11,118,5,5,43,0,150,25,76,0,161,25,37,0,166,25,20,0,169,25,9,0,169,25,167,194,197,98,170,25,168,194,197,98,171,25,169,194,197,98,166,25,164,194,197,98,167,25,165,194,197,98,168,25,166,194,197,98,161,25,159,194,197,98,162,25,160,194,197,98,163,25,161,194,197,98,164,25,162,194,197,98,165,25,163,194,197,98,155,25,20,0,158,25,9,0,158,25,156,194,197,98,159,25,157,194,197,98,160,25,158,194,197,98,155,25,152,194,197,194,156,25,153,194,197,194,157,25,155,194,197,98,150,25,147,194,197,194,151,25,148,194,197,194,152,25,149,194,197,194,153,25,150,194,197,194,154,25,151,194,197,194,139,25,37,0,144,25,20,0,147,25,9,0,147,25,144,194,197,194,148,25,145,194,197,194,149,25,146,194,197,194,144,25,141,194,197,194,145,25,142,194,197,194,146,25,143,194,197,194,139,25,136,194,197,194,140,25,137,194,197,194,141,25,138,194,197,194,142,25,139,194,197,194,143,25,140,194,197,194,133,25,20,0,136,25,9,0,136,25,133,194,197,194,137,25,134,194,197,194,138,25,135,194,197,194,133,25,130,194,197,194,134,25,131,194,197,194,135,25,132,194,197,194,128,25,125,194,197,194,129,25,126,194,197,194,130,25,127,194,197,194,131,25,128,194,197,194,132,25,129,194,197,194,13,118,193,2,43,0,150,25,76,0,161,25,37,0,166,25,20,0,169,25,9,0,169,25,167,194,197,162,170,25,168,194,197,162,171,25,169,194,197,162,166,25,164,194,197,162,167,25,165,194,197,162,168,25,166,194,197,162,161,25,159,194,197,162,162,25,160,194,197,162,163,25,161,194,197,162,164,25,162,194,197,162,165,25,163,194,197,162,155,25,20,0,158,25,9,0,158,25,156,194,197,162,159,25,157,194,197,162,160,25,158,194,197,162,155,25,153,194,197,2,156,25,154,194,197,162,157,25,155,194,197,162,150,25,148,194,197,2,151,25,149,194,197,2,152,25,150,194,197,2,153,25,151,194,197,2,154,25,152,194,197,2,139,25,37,0,144,25,20,0,147,25,9,0,147,25,145,194,197,2,148,25,146,194,197,2,149,25,147,194,197,2,144,25,142,194,197,2,145,25,143,194,197,2,146,25,144,194,197,2,139,25,137,194,197,2,140,25,138,194,197,2,141,25,139,194,197,2,142,25,140,194,197,2,143,25,141,194,197,2,133,25,20,0,136,25,9,0,136,25,134,194,197,2,137,25,135,194,197,2,138,25,136,194,197,2,133,25,131,194,197,2,134,25,132,194,197,2,135,25,133,194,197,2,128,25,126,194,197,2,129,25,127,194,197,2,130,25,128,194,197,2,131,25,129,194,197,2,132,25,130,194,197,2,13,118,193,23,43,0,150,25,76,0,161,25,37,0,166,25,20,0,169,25,9,0,169,25,167,194,197,226,170,25,168,194,197,226,171,25,169,194,197,226,166,25,164,194,197,226,167,25,165,194,197,226,168,25,166,194,197,226,161,25,159,194,197,226,162,25,160,194,197,226,163,25,161,194,197,226,164,25,162,194,197,226,165,25,163,194,197,226,155,25,20,0,158,25,9,0,158,25,156,194,197,226,159,25,157,194,197,226,160,25,158,194,197,226,155,25,153,194,197,66,156,25,154,194,197,226,157,25,155,194,197,226,150,25,148,194,197,66,151,25,149,194,197,66,152,25,150,194,197,66,153,25,151,194,197,66,154,25,152,194,197,66,139,25,37,0,144,25,20,0,147,25,9,0,147,25,145,194,197,66,148,25,146,194,197,66,149,25,147,194,197,66,144,25,142,194,197,66,145,25,143,194,197,66,146,25,144,194,197,66,139,25,137,194,197,66,140,25,138,194,197,66,141,25,139,194,197,66,142,25,140,194,197,66,143,25,141,194,197,66,133,25,20,0,136,25,9,0,136,25,134,194,197,66,137,25,135,194,197,66,138,25,136,194,197,66,133,25,131,194,197,66,134,25,132,194,197,66,135,25,133,194,197,66,128,25,126,194,197,66,129,25,127,194,197,66,130,25,128,194,197,66,131,25,129,194,197,66,132,25,130,194,197,66,40,118,193,9,48,0,53,27,255,255,40,118,193,16,40,118,193,23,48,0,53,27,255,255,40,118,193,30,40,118,193,37,48,0,53,27,255,255,40,118,193,44,40,118,193,51,48,0,53,27,255,255,40,118,193,58,40,118,193,65,48,0,53,27,255,255,40,118,193,72,40,118,193,93,48,0,53,27,255,255,40,118,193,100,41,118,193,168,48,0,53,27,255,255,41,118,193,175,41,118,193,182,48,0,53,27,255,255,41,118,193,189,41,118,193,196,48,0,53,27,255,255,41,118,193,210,41,118,193,203,48,0,53,27,255,255,41,118,193,217,41,118,193,224,48,0,53,27,255,255,41,118,193,231,133,115,193,126,47,0,152,170,86,0,164,170,42,0,170,170,20,0,173,170,9,0,173,170,116,194,197,2,174,170,117,194,197,66,175,170,118,194,197,130,170,170,112,194,197,66,171,170,113,194,197,130,172,170,114,194,197,194,167,170,9,0,167,170,108,194,197,130,168,170,109,194,197,194,169,170,111,194,197,2,164,170,104,194,197,194,165,170,106,194,197,2,166,170,107,194,197,66,158,170,20,0,161,170,9,0,161,170,101,194,197,2,162,170,102,194,197,66,163,170,103,194,197,130,158,170,97,194,197,66,159,170,98,194,197,130,160,170,99,194,197,194,155,170,9,0,155,170,93,194,197,130,156,170,94,194,197,194,157,170,96,194,197,2,152,170,89,194,197,194,153,170,91,194,197,2,154,170,92,194,197,66,140,170,42,0,146,170,20,0,149,170,9,0,149,170,86,194,197,2,150,170,87,194,197,66,151,170,88,194,197,130,146,170,82,194,197,66,147,170,83,194,197,130,148,170,84,194,197,194,143,170,9,0,143,170,78,194,197,130,144,170,79,194,197,194,145,170,81,194,197,2,140,170,74,194,197,194,141,170,76,194,197,2,142,170,77,194,197,66,134,170,20,0,137,170,9,0,137,170,71,194,197,2,138,170,72,194,197,66,139,170,73,194,197,130,134,170,67,194,197,66,135,170,68,194,197,130,136,170,69,194,197,194,131,170,9,0,131,170,63,194,197,130,132,170,64,194,197,194,133,170,66,194,197,2,128,170,59,194,197,194,129,170,61,194,197,2,130,170,62,194,197,66,133,115,193,133,47,0,152,170,86,0,164,170,42,0,170,170,20,0,173,170,9,0,173,170,116,194,197,66,174,170,117,194,197,130,175,170,118,194,197,194,170,170,112,194,197,130,171,170,113,194,197,194,172,170,115,194,197,2,167,170,9,0,167,170,108,194,197,194,168,170,110,194,197,2,169,170,111,194,197,66,164,170,105,194,197,2,165,170,106,194,197,66,166,170,107,194,197,130,158,170,20,0,161,170,9,0,161,170,101,194,197,66,162,170,102,194,197,130,163,170,103,194,197,194,158,170,97,194,197,130,159,170,98,194,197,194,160,170,100,194,197,2,155,170,9,0,155,170,93,194,197,194,156,170,95,194,197,2,157,170,96,194,197,66,152,170,90,194,197,2,153,170,91,194,197,66,154,170,92,194,197,130,140,170,42,0,146,170,20,0,149,170,9,0,149,170,86,194,197,66,150,170,87,194,197,130,151,170,88,194,197,194,146,170,82,194,197,130,147,170,83,194,197,194,148,170,85,194,197,2,143,170,9,0,143,170,78,194,197,194,144,170,80,194,197,2,145,170,81,194,197,66,140,170,75,194,197,2,141,170,76,194,197,66,142,170,77,194,197,130,134,170,20,0,137,170,9,0,137,170,71,194,197,66,138,170,72,194,197,130,139,170,73,194,197,194,134,170,67,194,197,130,135,170,68,194,197,194,136,170,70,194,197,2,131,170,9,0,131,170,63,194,197,194,132,170,65,194,197,2,133,170,66,194,197,66,128,170,60,194,197,2,129,170,61,194,197,66,130,170,62,194,197,130,133,115,193,154,47,0,152,170,86,0,164,170,42,0,170,170,20,0,173,170,9,0,173,170,116,194,197,130,174,170,117,194,197,194,175,170,119,194,197,2,170,170,112,194,197,194,171,170,114,194,197,2,172,170,115,194,197,66,167,170,9,0,167,170,109,194,197,2,168,170,110,194,197,66,169,170,111,194,197,130,164,170,105,194,197,66,165,170,106,194,197,130,166,170,107,194,197,194,158,170,20,0,161,170,9,0,161,170,101,194,197,130,162,170,102,194,197,194,163,170,104,194,197,2,158,170,97,194,197,194,159,170,99,194,197,2,160,170,100,194,197,66,155,170,9,0,155,170,94,194,197,2,156,170,95,194,197,66,157,170,96,194,197,130,152,170,90,194,197,66,153,170,91,194,197,130,154,170,92,194,197,194,140,170,42,0,146,170,20,0,149,170,9,0,149,170,86,194,197,130,150,170,87,194,197,194,151,170,89,194,197,2,146,170,82,194,197,194,147,170,84,194,197,2,148,170,85,194,197,66,143,170,9,0,143,170,79,194,197,2,144,170,80,194,197,66,145,170,81,194,197,130,140,170,75,194,197,66,141,170,76,194,197,130,142,170,77,194,197,194,134,170,20,0,137,170,9,0,137,170,71,194,197,130,138,170,72,194,197,194,139,170,74,194,197,2,134,170,67,194,197,194,135,170,69,194,197,2,136,170,70,194,197,66,131,170,9,0,131,170,64,194,197,2,132,170,65,194,197,66,133,170,66,194,197,130,128,170,60,194,197,66,129,170,61,194,197,130,130,170,62,194,197,194,133,115,193,168,47,0,152,170,86,0,164,170,42,0,170,170,20,0,173,170,9,0,173,170,116,194,197,194,174,170,118,194,197,2,175,170,119,194,197,66,170,170,113,194,197,2,171,170,114,194,197,66,172,170,115,194,197,130,167,170,9,0,167,170,109,194,197,66,168,170,110,194,197,130,169,170,111,194,197,194,164,170,105,194,197,130,165,170,106,194,197,194,166,170,108,194,197,2,158,170,20,0,161,170,9,0,161,170,101,194,197,194,162,170,103,194,197,2,163,170,104,194,197,66,158,170,98,194,197,2,159,170,99,194,197,66,160,170,100,194,197,130,155,170,9,0,155,170,94,194,197,66,156,170,95,194,197,130,157,170,96,194,197,194,152,170,90,194,197,130,153,170,91,194,197,194,154,170,93,194,197,2,140,170,42,0,146,170,20,0,149,170,9,0,149,170,86,194,197,194,150,170,88,194,197,2,151,170,89,194,197,66,146,170,83,194,197,2,147,170,84,194,197,66,148,170,85,194,197,130,143,170,9,0,143,170,79,194,197,66,144,170,80,194,197,130,145,170,81,194,197,194,140,170,75,194,197,130,141,170,76,194,197,194,142,170,78,194,197,2,134,170,20,0,137,170,9,0,137,170,71,194,197,194,138,170,73,194,197,2,139,170,74,194,197,66,134,170,68,194,197,2,135,170,69,194,197,66,136,170,70,194,197,130,131,170,9,0,131,170,64,194,197,66,132,170,65,194,197,130,133,170,66,194,197,194,128,170,60,194,197,130,129,170,61,194,197,194,130,170,63,194,197,2,133,115,193,175,47,0,152,170,86,0,164,170,42,0,170,170,20,0,173,170,9,0,173,170,117,194,197,2,174,170,118,194,197,66,175,170,119,194,197,130,170,170,113,194,197,66,171,170,114,194,197,130,172,170,115,194,197,194,167,170,9,0,167,170,109,194,197,130,168,170,110,194,197,194,169,170,112,194,197,2,164,170,105,194,197,194,165,170,107,194,197,2,166,170,108,194,197,66,158,170,20,0,161,170,9,0,161,170,102,194,197,2,162,170,103,194,197,66,163,170,104,194,197,130,158,170,98,194,197,66,159,170,99,194,197,130,160,170,100,194,197,194,155,170,9,0,155,170,94,194,197,130,156,170,95,194,197,194,157,170,97,194,197,2,152,170,90,194,197,194,153,170,92,194,197,2,154,170,93,194,197,66,140,170,42,0,146,170,20,0,149,170,9,0,149,170,87,194,197,2,150,170,88,194,197,66,151,170,89,194,197,130,146,170,83,194,197,66,147,170,84,194,197,130,148,170,85,194,197,194,143,170,9,0,143,170,79,194,197,130,144,170,80,194,197,194,145,170,82,194,197,2,140,170,75,194,197,194,141,170,77,194,197,2,142,170,78,194,197,66,134,170,20,0,137,170,9,0,137,170,72,194,197,2,138,170,73,194,197,66,139,170,74,194,197,130,134,170,68,194,197,66,135,170,69,194,197,130,136,170,70,194,197,194,131,170,9,0,131,170,64,194,197,130,132,170,65,194,197,194,133,170,67,194,197,2,128,170,60,194,197,194,129,170,62,194,197,2,130,170,63,194,197,66,255,255,255,255,0,0,92,0,131,27,30,2,0,170,183,1,8,216,104,0,35,216,48,0,56,216,26,0,56,216,6,0,58,216,13,0,208,253,255,255,4,254,193,2,1,0,8,221,255,255,243,123,193,2,225,222,255,255,245,123,193,2,1,0,2,220,255,255,95,120,193,2,9,221,255,255,167,120,193,2,35,216,8,0,44,216,11,0,47,216,48,0,32,220,255,255,88,124,193,2,48,0,101,220,255,255,166,125,193,2,48,0,196,221,255,255,155,125,193,2,26,216,32,0,26,216,8,0,27,216,19,0,32,216,48,0,41,222,255,255,100,125,193,2,2,0,79,222,255,255,98,124,193,2,230,222,255,255,94,120,193,2,28,223,255,255,240,123,193,2,1,0,64,222,255,255,101,120,193,2,0,223,255,255,153,123,193,2,8,216,8,0,12,216,11,0,17,216,48,0,0,220,255,255,83,125,193,2,48,0,0,220,255,255,207,124,193,2,48,0,83,221,255,255,4,125,193,2,2,216,244,0,5,216,84,0,5,216,24,0,6,216,49,0,7,216,4,0,14,220,255,255,248,113,193,2,114,220,255,255,4,117,193,2,16,221,255,255,224,113,193,2,113,221,255,255,229,113,193,2,229,222,255,255,30,117,193,2,5,0,14,222,12,0,14,222,255,255,201,113,193,2,128,222,255,255,203,113,193,2,23,223,255,255,211,113,193,2,18,220,255,255,180,113,193,2,132,220,255,255,183,113,193,2,142,221,255,255,185,113,193,2,6,0,206,221,16,0,206,221,255,255,207,113,193,2,11,222,255,255,198,116,193,2,92,222,255,255,209,116,193,2,192,222,255,255,238,123,193,2,11,220,255,255,209,113,193,2,180,220,255,255,172,123,193,2,12,221,255,255,205,113,193,2,2,216,46,0,3,216,119,0,4,216,9,0,131,221,20,0,131,221,255,255,170,113,193,2,8,222,255,255,172,113,193,2,143,222,255,255,176,113,193,2,190,222,255,255,174,113,193,2,21,223,255,255,178,113,193,2,5,220,255,255,244,113,193,2,131,220,255,255,166,113,193,2,208,220,255,255,97,124,193,2,3,221,255,255,96,117,193,2,82,221,255,255,168,113,193,2,16,0,160,221,38,0,216,222,20,0,216,222,255,255,163,124,193,2,0,223,255,255,119,124,193,2,64,223,255,255,159,124,193,2,96,223,255,255,160,124,193,2,143,223,255,255,161,124,193,2,160,221,255,255,34,125,193,2,0,222,255,255,246,113,193,2,96,222,255,255,117,124,193,2,149,222,255,255,118,124,193,2,244,220,16,0,244,220,255,255,157,124,193,2,0,221,255,255,50,101,193,2,32,221,255,255,250,123,193,2,128,221,255,255,34,125,193,2,0,220,255,255,115,124,193,2,64,220,255,255,158,124,193,2,115,220,255,255,125,124,193,2,150,220,255,255,130,124,193,2,7,0,25,223,16,0,25,223,255,255,168,124,193,2,66,223,255,255,196,124,193,2,191,223,255,255,203,124,193,2,241,223,255,255,162,124,193,2,0,220,255,255,144,119,193,2,161,220,255,255,60,119,193,2,18,221,255,255,94,117,193,2,136,222,255,255,201,124,193,2,0,172,73,0,0,172,255,255,4,121,193,2,0,216,32,0,1,216,6,0,181,220,16,0,181,220,255,255,232,118,193,2,0,221,255,255,93,124,193,2,55,221,255,255,95,124,193,2,71,222,255,255,105,124,193,2,20,220,255,255,4,124,193,2,80,220,255,255,86,124,193,2,128,220,255,255,92,124,193,2,7,0,48,223,16,0,48,223,255,255,252,123,193,2,107,223,255,255,100,98,193,2,128,223,255,255,204,124,193,2,160,223,255,255,205,124,193,2,0,220,255,255,99,124,193,2,128,222,255,255,247,123,193,2,160,222,255,255,248,123,193,2,0,223,255,255,251,123,193,2,0,170,255,255,38,118,193,2,128,170,255,255,132,115,193,2,192,171,255,255,160,113,193,2,5,49,54,0,0,168,26,0,10,169,12,0,10,169,255,255,78,117,193,2,48,169,255,255,76,117,193,2,132,169,255,255,42,118,193,2,0,168,255,255,162,113,193,2,64,168,255,255,8,117,193,2,130,168,255,255,164,113,193,2,208,164,12,0,208,164,255,255,151,123,193,2,73,165,255,255,4,120,193,2,160,166,255,255,76,120,193,2,5,49,255,255,4,123,193,2,87,91,255,255,2,126,193,2,136,162,255,255,118,123,193,2,172,32,24,0,48,45,12,0,48,45,255,255,141,103,193,2,75,48,255,255,4,122,193,2,171,48,255,255,4,122,193,2,172,32,132,205,193,2,58,38,2,204,193,2,0,44,255,255,4,98,193,2,131,27,255,255,231,113,193,2,192,27,255,255,31,117,193,2,0,28,255,255,6,117,193,2,90,28,255,255,56,118,193,2,28,32,6,197,193,2,133,13,104,0,3,23,54,0,0,25,26,0,0,26,12,0,0,26,255,255,29,117,193,2,32,26,255,255,18,118,193,2,5,27,255,255,40,118,193,2,0,25,255,255,10,117,193,2,80,25,255,255,4,118,193,2,128,25,255,255,5,118,193,2,99,23,12,0,99,23,255,255,28,117,193,2,128,23,255,255,98,117,193,2,38,24,255,255,52,118,193,2,3,23,255,255,25,117,193,2,35,23,255,255,26,117,193,2,67,23,255,255,27,117,193,2,211,16,26,0,192,20,12,0,192,20,255,255,234,118,193,2,143,22,255,255,254,118,193,2,160,22,255,255,4,119,193,2,211,16,255,255,4,99,193,2,160,18,255,255,143,103,193,2,196,19,255,255,58,118,193,2,133,13,255,255,4,113,193,2,23,14,255,255,4,114,193,2,165,14,255,255,4,115,193,2,64,15,255,255,4,116,193,2,0,16,255,255,79,117,193,2,202,7,54,0,149,10,26,0,21,12,12,0,21,12,255,255,4,110,193,2,149,12,255,255,4,111,193,2,21,13,255,255,4,112,193,2,149,10,255,255,4,107,193,2,21,11,255,255,4,108,193,2,149,11,255,255,4,109,193,2,5,9,12,0,5,9,255,255,4,104,193,2,149,9,255,255,4,105,193,2,21,10,255,255,4,106,193,2,202,7,255,255,130,103,193,2,0,8,255,255,51,101,193,2,64,8,255,255,27,103,193,2,47,4,26,0,40,6,12,0,40,6,255,255,4,102,193,2,16,7,255,255,4,103,193,2,140,7,255,255,28,103,193,2,47,4,255,255,4,97,193,2,49,5,255,255,4,100,193,2,208,5,255,255,4,101,193,2,52,0,2,206,193,2,76,0,2,233,193,2,160,0,2,195,193,2,169,3,255,255,4,96,193,2,226,3,255,255,96,96,193,2,97,117,193,91,49,0,4,216,39,221,255,255,97,117,193,70,97,117,193,98,49,0,4,216,39,221,255,255,97,117,193,77,179,113,193,182,48,0,4,216,1,0,62,223,255,255,179,113,193,196,87,223,255,255,179,113,193,203,184,113,193,175,48,0,5,216,2,0,176,220,255,255,184,113,193,196,186,220,255,255,184,113,193,189,189,220,255,255,184,113,193,210,200,113,193,16,49,0,5,216,175,221,255,255,200,113,193,30,200,113,193,23,49,0,5,216,175,221,255,255,200,113,193,37,206,113,193,112,49,0,6,216,48,221,255,255,206,113,193,126,80,130,224,0,52,0,53,0,76,0,77,0,160,0,161,0,6,3,7,3,169,3,170,3,226,3,227,3,47,4,48,4,49,5,50,5,208,5,209,5,40,6,41,6,83,6,86,6,16,7,17,7,140,7,141,7,202,7,203,7,0,8,1,8,64,8,65,8,5,9,6,9,149,9,150,9,190,9,191,9,215,9,216,9,21,10,22,10,149,10,150,10,21,11,22,11,62,11,63,11,86,11,88,11,149,11,150,11,190,11,191,11,215,11,216,11,21,12,22,12,86,12,87,12,149,12,150,12,194,12,195,12,213,12,215,12,21,13,22,13,62,13,63,13,87,13,88,13,133,13,134,13,202,13,203,13,207,13,208,13,223,13,224,13,1,14,47,14,50,14,51,14,129,14,131,14,132,14,133,14,134,14,139,14,140,14,164,14,165,14,166,14,167,14,175,14,178,14,179,14,220,14,224,14,64,15,65,15,113,15,118,15,128,15,130,15,0,16,1,16,46,16,47,16,211,16,212,16,160,18,161,18,196,19,197,19,192,20,193,20,143,22,144,22,160,22,161,22,3,23,4,23,35,23,36,23,67,23,68,23,99,23,100,23,128,23,129,23,38,24,39,24,0,25,1,25,80,25,81,25,128,25,172,25,0,26,1,26,32,26,33,26,5,27,6,27,53,27,54,27,131,27,132,27,192,27,193,27,0,28,1,28,90,28,91,28,28,32,29,32,172,32,173,32,58,38,59,38,0,44,1,44,48,45,49,45,75,48,76,48,171,48,172,48,5,49,6,49,87,91,88,91,136,162,137,162,208,164,209,164,73,165,74,165,160,166,161,166,0,168,1,168,64,168,65,168,130,168,131,168,10,169,11,169,48,169,49,169,132,169,133,169,0,170,1,170,128,170,176,170,192,171,193,171,0,172,1,172,0,216,9,216,12,216,13,216,17,216,18,216,26,216,28,216,32,216,33,216,35,216,36,216,44,216,45,216,47,216,48,216,56,216,57,216,58,216,59,216,208,253,209,253,1,0,0,0,1,0,1,0,1,0,128,2,1,0,129,2,1,0,160,2,1,0,161,2,1,0,0,3,1,0,1,3,1,0,48,3,1,0,49,3,1,0,107,3,1,0,108,3,1,0,128,3,1,0,129,3,1,0,160,3,1,0,161,3,1,0,20,4,1,0,21,4,1,0,80,4,1,0,81,4,1,0,128,4,1,0,129,4,1,0,181,4,1,0,182,4,1,0,0,5,1,0,1,5,1,0,55,5,1,0,56,5,1,0,71,6,1,0,72,6,1,0,0,8,1,0,1,8,1,0,64,8,1,0,65,8,1,0,115,8,1,0,116,8,1,0,150,8,1,0,151,8,1,0,244,8,1,0,245,8,1,0,0,9,1,0,1,9,1,0,32,9,1,0,33,9,1,0,128,9,1,0,129,9,1,0,160,9,1,0,161,9,1,0,0,10,1,0,1,10,1,0,96,10,1,0,97,10,1,0,149,10,1,0,150,10,1,0,216,10,1,0,217,10,1,0,0,11,1,0,1,11,1,0,64,11,1,0,65,11,1,0,96,11,1,0,97,11,1,0,143,11,1,0,144,11,1,0,0,12,1,0,1,12,1,0,161,12,1,0,162,12,1,0,18,13,1,0,19,13,1,0,136,14,1,0,137,14,1,0,25,15,1,0,26,15,1,0,66,15,1,0,67,15,1,0,191,15,1,0,192,15,1,0,241,15,1,0,242,15,1,0,5,16,1,0,6,16,1,0,131,16,1,0,132,16,1,0,208,16,1,0,209,16,1,0,3,17,1,0,4,17,1,0,39,17,1,0,40,17,1,0,82,17,1,0,83,17,1,0,131,17,1,0,132,17,1,0,8,18,1,0,9,18,1,0,143,18,1,0,144,18,1,0,190,18,1,0,191,18,1,0,21,19,1,0,22,19,1,0,62,19,1,0,63,19,1,0,87,19,1,0,88,19,1,0,18,20,1,0,19,20,1,0,132,20,1,0,133,20,1,0,176,20,1,0,177,20,1,0,186,20,1,0,187,20,1,0,189,20,1,0,190,20,1,0,142,21,1,0,143,21,1,0,175,21,1,0,176,21,1,0,14,22,1,0,15,22,1,0,128,22,1,0,129,22,1,0,23,23,1,0,24,23,1,0,11,24,1,0,12,24,1,0,180,24,1,0,181,24,1,0,12,25,1,0,13,25,1,0,48,25,1,0,49,25,1,0,206,25,1,0,207,25,1,0,11,26,1,0,12,26,1,0,92,26,1,0,93,26,1,0,192,26,1,0,193,26,1,0,14,28,1,0,15,28,1,0,114,28,1,0,115,28,1,0,16,29,1,0,17,29,1,0,113,29,1,0,114,29,1,0,229,30,1,0,230,30,1,0,0,32,1,0,1,32,1,0,83,49,1,0,84,49,1,0,0,68,1,0,1,68,1,0,79,106,1,0,80,106,1,0,230,106,1,0,231,106,1,0,28,107,1,0,29,107,1,0,64,110,1,0,65,110,1,0,0,111,1,0,1,111,1,0,41,130,1,0,42,130,1,0,101,140,1,0,102,140,1,0,196,177,1,0,197,177,1,0,32,188,1,0,33,188,1,0,8,225,1,0,9,225,1,0,225,226,1,0,226,226,1,0,2,232,1,0,3,232,1,0,9,233,1,0,10,233,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,186,72,185,76,185,80,185,84,186,88,186,96,185,100,185,104,185,108,186,112,185,120,185,124,185,128,185,136,186,140,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,168,72,168,76,168,80,168,84,168,88,168,96,168,100,168,104,168,108,168,112,168,120,168,124,168,128,168,136,168,140,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,176,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,176,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,1,193,0,0,0,0,0,19,0,15,0,27,0,107,0,92,0,10,0,11,0,121,0,26,0,25,0,14,0,120,0,9,0,29,0,28,0,157,0,105,0,16,0,106,0,33,0,106,0,83,0,62,0,7,0,34,0,90,0,80,0,95,0,119,0,30,0,96,0,35,0,20,0,31,0,32,0,22,0,61,0,64,0,94,0,108,0,71,0,72,0,73,0,74,0,0,0,131,0,70,0,129,0,124,0,122,0,84,0,148,0,106,0,75,0,12,0,59,0,37,0,85,0,24,0,149,0,88,0,77,0,0,0,58,0,87,0,0,0,0,0,0,0,0,0,151,0,0,0,157,0,157,0,113,0,97,0,0,0,89,0,79,0,0,0,0,0,68,0,130,0,21,0,0,0,152,0,23,0,98,0,13,0,69,0,17,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,150,0,0,0,158,0,117,0,0,0,86,0,116,0,118,0,91,0,78,0,38,0,0,0,57,0,0,0,36,0,138,0,134,0,82,0,0,0,39,0,143,0,140,0,141,0,0,0,139,0,18,0,63,0,0,0,0,0,100,0,109,0,0,0,132,0,101,0,123,0,125,0,45,0,0,0,0,0,102,0,152,0,133,0,136,0,135,0,43,0,111,0,0,0,0,0,128,0,155,0,41,0,127,0,50,0,154,0,0,0,153,0,42,0,47,0,126,0,40,0,54,0,137,0,49,0,44,0,112,0,48,0,104,0,60,0,67,0,46,0,93,0,0,0,0,0,0,0,55,0,66,0,65,0,53,0,56,0,76,0,103,0,81,0,145,0,144,0,142,0,114,0,52,0,115,0,147,0,51,0,156,0,146,0,1,0,2,0,3,0,4,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,8,0,0,0,0,3,6,5,0,12,132,13,0,14,0,39,0,41,0,94,0,96,96,96,0,97,0,98,100,98,0,99,0,100,0,101,50,101,51,101,0,102,0,103,27,103,28,103,130,103,141,103,143,103,0,104,0,105,0,106,0,107,0,108,0,109,0,110,0,111,0,112,0,113,160,113,162,113,164,113,166,113,168,113,170,113,172,113,174,113,176,113,178,113,180,113,183,113,185,113,201,113,203,113,205,113,207,113,209,113,211,113,224,113,229,113,231,113,244,113,246,113,248,113,0,114,0,115,132,115,0,116,198,116,209,116,0,117,6,117,8,117,10,117,25,117,26,117,27,117,28,117,29,117,30,117,31,117,76,117,78,117,79,117,94,117,96,117,98,117,0,118,5,118,18,118,38,118,40,118,42,118,52,118,56,118,58,118,232,118,234,118,254,118,0,119,60,119,144,119,0,120,76,120,94,120,95,120,101,120,167,120,0,121,0,122,0,123,118,123,151,123,153,123,172,123,238,123,240,123,243,123,245,123,247,123,248,123,250,123,251,123,252,123,0,124,86,124,88,124,92,124,93,124,95,124,97,124,98,124,99,124,105,124,115,124,117,124,118,124,119,124,125,124,130,124,157,124,158,124,159,124,160,124,161,124,162,124,163,124,168,124,196,124,201,124,203,124,204,124,205,124,207,124,0,125,34,125,83,125,100,125,155,125,166,125,0,126,0,254,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,63,7,0,32,7,0,0,0,21,0,0,0,65,7,0,0,65,7,0,0,3,0,0,0,0,0,0,0,47,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,46,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,39,6,60,0,213,6,60,0,40,6,38,0,67,6,60,0,175,6,60,0,173,6,60,0,68,6,38,0,190,6,60,0,72,6,60,0,199,6,60,0,198,6,60,0,200,6,60,0,203,6,60,0,208,6,60,0,73,6,60,0,74,6,0,0,32,28,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,160,27,0,0,160,27,0,0,160,27,0,0,160,27,0,0,236,27,0,0,236,27,0,0,8,28,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,157,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,95,0,103,0,100,0,108,0,116,0,124,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,148,0,140,0,48,0,48,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,132,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,124,1,144,1,208,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,3,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,183,102,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,193,8,217,102,201,230,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,3,183,102,192,0,0,0,193,2,183,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,4,217,102,193,3,217,102,193,5,217,102,192,0,0,0,192,0,0,0,193,6,217,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,7,217,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,2,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,193,2,27,102,194,5,128,232,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,217,102,193,2,48,0,84,6,255,255,16,102,5,5,217,102,193,9,48,0,84,6,255,255,22,102,5,5,3,0,69,0,52,0,61,0,47,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,56,7,0,32,1,0,32,0,61,7,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,17,7,0,32,7,0,0,0,21,0,0,0,19,7,0,0,19,7,0,0,3,0,0,0,0,0,0,0,41,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,67,0,121,0,114,0,108,0,93,0,38,0,19,4,60,0,145,4,60,0,60,0,60,0,144,4,38,0,71,166,60,0,87,4,60,0,60,0,60,0,118,166,60,0,60,0,60,0,7,4,0,0,170,170,170,170,170,170,170,170,170,170,120,27,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,15,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,60,0,0,0,64,0,0,0,64,1,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,68,27,0,0,68,27,0,0,96,27,0,0,8,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,39,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,147,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,91,0,99,0,103,0,111,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,130,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,138,0,127,0,48,0,48,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,119,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,108,1,156,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,0,0,202,1,1,0,202,34,1,0,202,67,1,0,202,100,1,0,202,133,1,0,202,166,1,0,202,199,1,0,202,232,1,0,202,9,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,135,5,77,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,0,0,5,5,77,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,17,97,5,5,17,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,77,97,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,74,97,174,5,48,0,8,3,255,255,77,97,135,5,74,97,5,5,48,0,8,3,255,255,77,97,5,5,3,0,69,0,52,0,61,0,43,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,10,7,0,32,1,0,32,0,15,7,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,55,8,0,32,7,0,0,0,21,0,0,0,57,8,0,0,57,8,0,0,3,0,0,0,0,0,0,0,150,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,252,220,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,65,0,114,0,97,0,98,0,93,0,38,0,39,6,60,0,60,0,35,6,60,0,34,6,60,0,40,6,60,0,40,6,190,6,60,0,126,6,60,0,126,6,190,6,60,0,42,6,60,0,42,6,190,6,60,0,121,6,60,0,121,6,190,6,60,0,43,6,60,0,44,6,60,0,44,6,190,6,60,0,134,6,60,0,134,6,190,6,60,0,45,6,60,0,46,6,60,0,47,6,60,0,47,6,190,6,60,0,136,6,60,0,136,6,190,6,60,0,48,6,60,0,49,6,60,0,49,6,190,6,60,0,145,6,60,0,145,6,190,6,60,0,50,6,60,0,152,6,60,0,51,6,60,0,52,6,60,0,53,6,60,0,54,6,60,0,55,6,60,0,56,6,60,0,57,6,60,0,58,6,60,0,65,6,60,0,66,6,60,0,169,6,60,0,169,6,190,6,60,0,175,6,60,0,175,6,190,6,60,0,68,6,60,0,68,6,190,6,60,0,69,6,60,0,69,6,190,6,60,0,70,6,60,0,70,6,190,6,60,0,186,6,60,0,186,6,190,6,60,0,72,6,60,0,60,0,36,6,60,0,72,6,190,6,60,0,193,6,60,0,60,0,194,6,60,0,190,6,60,0,195,6,60,0,33,6,60,0,204,6,60,0,60,0,38,6,60,0,204,6,190,6,60,0,210,6,60,0,60,0,211,6,38,0,82,6,60,0,60,0,78,6,60,0,60,0,80,6,60,0,60,0,79,6,60,0,60,0,112,6,60,0,60,0,86,6,60,0,60,0,87,6,60,0,60,0,75,6,60,0,60,0,77,6,60,0,60,0,76,6,60,0,60,0,84,6,60,0,60,0,81,6,60,0,60,0,88,6,60,0,60,0,83,6,38,0,91,0,108,0,97,0,115,0,116,0,32,0,116,0,101,0,114,0,116,0,105,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,60,0,16,6,60,0,60,0,60,0,17,6,60,0,60,0,60,0,19,6,60,0,60,0,60,0,18,6,60,0,60,0,60,0,20,6,0,0,170,170,170,170,94,30,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,16,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,68,0,0,0,68,1,0,0,100,28,0,0,100,28,0,0,172,28,0,0,172,28,0,0,248,28,0,0,248,28,0,0,60,30,0,0,66,30,0,0,2,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,39,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,169,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,96,0,104,0,112,0,120,0,128,0,136,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,160,0,152,0,48,0,48,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,144,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,128,1,192,1,0,2,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,1,0,202,65,1,0,202,98,1,0,202,131,1,0,202,164,1,0,202,197,1,0,202,230,1,0,202,7,2,0,202,40,2,0,202,73,2,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,0,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,0,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,0,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,198,33,0,0,198,65,0,0,198,97,0,0,198,129,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,56,27,102,193,2,27,102,5,70,26,102,198,161,0,0,192,0,0,0,198,193,0,0,201,6,0,0,201,224,1,0,192,0,0,0,201,192,2,0,193,11,27,102,201,160,3,0,193,16,27,102,193,17,27,102,201,128,4,0,193,22,27,102,201,96,5,0,193,27,27,102,193,29,27,102,193,30,27,102,193,31,27,102,193,32,27,102,193,33,27,102,193,34,27,102,193,35,27,102,193,36,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,37,27,102,193,38,27,102,192,0,0,0,201,64,6,0,201,32,7,0,201,0,8,0,192,0,0,0,201,228,8,0,192,0,0,0,201,38,10,0,194,5,69,232,194,5,71,232,194,5,70,232,194,5,63,232,194,5,65,232,194,5,64,232,194,5,73,232,192,0,0,0,194,5,75,232,194,5,72,232,192,0,0,0,194,5,67,232,194,5,68,232,194,5,74,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,66,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,224,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,192,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,160,12,0,192,0,0,0,201,128,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,96,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,28,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,64,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,0,17,0,192,0,0,0,192,0,0,0,192,0,0,0,193,54,27,102,192,0,0,0,197,34,0,0,201,230,17,0,198,225,0,0,193,55,27,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,160,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,19,0,198,1,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,2,188,0,0,0,0,0,0,3,188,0,0,0,0,0,0,5,188,0,0,0,0,0,0,4,188,0,0,0,0,0,0,6,188,0,0,0,0,0,0,0,5,0,70,0,51,27,102,0,5,0,70,0,57,27,102,0,5,0,70,0,53,27,102,0,5,0,70,0,59,27,102,0,0,0,0,193,16,220,102,194,5,72,232,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,26,102,5,5,2,0,83,6,255,255,27,102,193,2,84,6,255,255,26,102,5,70,85,6,255,255,18,102,5,5,27,102,193,3,48,0,190,6,255,255,27,102,193,4,27,102,193,7,48,0,190,6,255,255,27,102,193,8,27,102,193,12,48,0,190,6,255,255,27,102,193,13,27,102,193,18,48,0,190,6,255,255,27,102,193,19,27,102,193,23,48,0,190,6,255,255,27,102,193,24,27,102,193,43,48,0,190,6,255,255,27,102,193,44,27,102,193,45,48,0,190,6,255,255,27,102,193,46,27,102,193,47,48,0,190,6,255,255,27,102,193,48,27,102,193,51,1,0,84,6,0,192,198,161,190,6,255,255,27,102,193,52,238,102,5,5,48,0,84,6,0,192,198,193,27,102,193,9,48,0,190,6,255,255,27,102,193,10,27,102,193,5,48,0,190,6,255,255,27,102,193,6,27,102,193,14,48,0,190,6,255,255,27,102,193,15,27,102,193,20,48,0,190,6,255,255,27,102,193,21,27,102,193,25,48,0,190,6,255,255,27,102,193,26,27,102,193,39,48,0,190,6,255,255,27,102,193,40,27,102,193,41,48,0,190,6,255,255,27,102,193,42,27,102,193,49,48,0,190,6,255,255,27,102,193,50,27,102,193,53,48,0,84,6,0,192,198,225,27,102,193,57,48,0,190,6,255,255,27,102,193,58,27,102,193,59,48,0,84,6,1,192,198,1,2,0,190,6,191,6,170,170,3,0,69,0,52,0,61,0,151,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,48,8,0,32,1,0,32,0,53,8,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,108,8,0,32,7,0,0,0,21,0,0,0,110,8,0,0,110,8,0,0,3,0,0,0,0,0,0,0,65,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,82,220,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,146,2,60,0,111,0,187,2,61,0,111,0,24,32,61,0,111,0,39,0,39,0,60,0,60,0,60,0,79,0,187,2,61,0,79,0,24,32,61,0,79,0,39,0,39,0,60,0,103,0,187,2,61,0,103,0,24,32,61,0,103,0,39,0,39,0,60,0,60,0,60,0,71,0,187,2,61,0,71,0,24,32,61,0,71,0,39,0,39,0,60,0,115,0,104,0,60,0,60,0,60,0,83,0,104,0,60,0,60,0,60,0,83,0,72,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,0,0,170,170,170,170,170,170,170,170,132,32,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,100,23,0,0,100,23,0,0,116,25,0,0,116,25,0,0,56,26,0,0,56,26,0,0,18,28,0,0,56,28,0,0,104,32,0,0,50,105,114,84,1,0,64,8,105,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,88,0,48,0,48,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,224,4,0,202,1,5,0,202,34,5,0,202,67,5,0,202,100,5,0,202,133,5,0,202,166,5,0,202,199,5,0,202,232,5,0,202,9,6,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,201,0,0,0,156,5,0,48,156,5,0,50,156,5,0,52,201,64,7,0,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,192,8,0,156,5,0,72,160,5,0,74,156,5,0,76,201,64,10,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,201,192,17,0,5,5,0,48,5,5,0,50,5,5,0,52,201,192,21,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,160,23,0,5,5,0,72,5,5,0,74,5,5,0,76,201,128,25,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,4,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,98,4,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,4,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,135,0,5,0,5,25,93,0,70,0,5,0,5,25,93,0,135,0,5,0,5,25,93,0,5,0,142,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,142,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,144,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,144,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,156,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,156,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,196,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,196,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,150,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,150,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,160,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,160,0,0,0,0,0,135,0,5,0,5,25,93,0,5,0,206,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,206,0,0,0,0,0,70,0,5,0,5,25,93,0,5,0,210,0,0,0,0,0,70,0,5,0,3,25,93,0,70,0,5,0,2,25,93,0,135,0,5,0,4,25,93,0,70,0,5,0,4,25,93,0,135,0,5,0,4,25,93,0,5,0,142,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,142,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,144,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,144,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,156,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,156,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,196,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,196,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,150,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,150,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,160,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,160,0,0,0,0,0,135,0,5,0,4,25,93,0,5,0,206,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,206,0,0,0,0,0,70,0,5,0,4,25,93,0,5,0,210,0,0,0,0,0,0,0,0,193,5,25,93,5,142,0,0,193,5,25,93,5,144,0,0,193,5,25,93,5,156,0,0,193,5,25,93,5,196,0,0,193,5,25,93,5,150,0,0,193,5,25,93,5,160,0,0,193,5,25,93,5,206,0,0,193,5,25,93,5,210,0,0,193,4,25,93,5,142,0,0,193,4,25,93,5,144,0,0,193,4,25,93,5,156,0,0,193,4,25,93,5,196,0,0,193,4,25,93,5,150,0,0,193,4,25,93,5,160,0,0,193,4,25,93,5,206,0,0,193,4,25,93,5,210,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,198,194,41,30,3,192,198,2,42,30,3,192,198,66,43,30,3,192,198,130,150,30,3,192,198,194,36,30,1,192,198,194,37,30,2,192,198,2,38,30,2,192,198,66,39,30,2,192,198,130,30,2,12,0,30,2,0,192,198,194,31,2,1,192,198,2,34,30,1,192,198,66,35,30,1,192,198,130,72,0,198,129,104,0,198,161,36,1,0,192,198,66,37,1,0,192,198,130,0,54,156,5,2,0,39,0,4,192,198,1,187,2,4,192,198,1,24,32,4,192,198,1,0,70,156,5,2,0,39,0,4,192,198,33,187,2,4,192,198,33,24,32,4,192,198,33,0,78,156,5,16,0,36,30,29,0,40,30,15,0,40,30,7,192,198,2,41,30,7,192,198,66,42,30,7,192,198,130,43,30,7,192,198,194,150,30,8,192,198,2,36,30,6,192,198,2,37,30,6,192,198,66,38,30,6,192,198,130,39,30,6,192,198,194,30,2,12,0,30,2,5,192,198,2,31,2,5,192,198,66,34,30,5,192,198,130,35,30,5,192,198,194,72,0,4,192,198,65,104,0,4,192,198,97,36,1,4,192,198,130,37,1,4,192,198,194,0,46,5,5,8,0,37,30,15,0,37,30,0,192,197,226,39,30,1,192,197,34,41,30,1,192,197,98,43,30,1,192,197,162,150,30,1,192,197,226,104,0,255,255,25,93,193,5,37,1,197,162,31,2,0,192,197,98,35,30,0,192,197,162,0,54,5,5,2,0,39,0,255,255,25,93,193,3,187,2,255,255,25,93,193,3,24,32,255,255,25,93,193,3,0,70,5,5,2,0,39,0,255,255,25,93,193,2,187,2,255,255,25,93,193,2,24,32,255,255,25,93,193,2,0,78,5,5,8,0,37,30,15,0,37,30,2,192,197,226,39,30,3,192,197,34,41,30,3,192,197,98,43,30,3,192,197,162,150,30,3,192,197,226,104,0,255,255,25,93,193,4,37,1,2,192,197,34,31,2,2,192,197,98,35,30,2,192,197,162,18,0,39,0,40,0,72,0,73,0,104,0,105,0,36,1,38,1,30,2,32,2,187,2,188,2,34,30,44,30,150,30,151,30,24,32,25,32,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,26,4,185,68,186,72,185,76,36,4,185,84,186,88,186,96,185,100,185,104,185,108,186,112,42,4,185,124,185,128,185,136,48,4,185,144,185,152,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,58,4,168,68,168,72,168,76,64,4,168,84,168,88,168,96,168,100,168,104,168,108,168,112,70,4,168,124,168,128,168,136,76,4,168,144,168,152,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,89,154,89,250,89,90,90,217,68,154,114,185,121,153,121,249,121,153,122,89,122,136,14,217,122,185,153,153,153,249,153,89,154,153,169,185,192,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,89,136,89,232,89,72,90,200,68,136,114,168,121,136,121,232,121,136,122,72,122,128,14,200,122,168,153,136,153,232,153,72,154,136,169,168,192,72,170,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,26,75,8,75,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,85,232,85,89,87,72,87,154,90,136,90,58,91,40,91,218,89,200,89,26,91,8,91,186,90,168,92,6,8,8,8,250,97,232,97,249,102,232,102,168,132,153,105,136,105,249,106,232,106,25,106,8,106,121,107,104,107,89,107,72,107,154,113,136,113,250,114,232,114,26,114,8,114,10,8,185,116,168,116,57,123,40,123,217,121,200,121,121,122,104,122,12,8,14,8,153,137,136,137,249,138,232,138,25,138,8,138,154,141,136,141,250,141,232,141,250,142,232,142,26,142,8,142,249,146,232,146,25,146,8,146,185,148,168,148,153,154,136,154,57,155,40,155,217,153,200,153,57,154,40,154,121,154,104,154,25,155,8,155,249,161,232,161,249,169,232,169,89,170,153,173,136,173,185,174,168,174,25,174,8,174,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,196,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,64,72,4,186,188,104,4,177,188,36,5,250,189,37,5,241,189,255,5,185,80,39,4,177,180,152,5,177,180,255,5,185,120,39,4,177,176,152,5,177,176,255,5,186,140,72,4,186,184,104,4,177,184,36,5,250,185,37,5,241,185,255,5,168,64,104,4,168,188,37,5,232,189,255,5,168,80,39,4,168,180,152,5,168,180,255,5,168,120,39,4,168,176,152,5,168,176,255,5,168,140,104,4,168,184,37,5,232,185,255,1,3,0,69,0,52,0,61,0,67,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,101,8,0,32,1,0,32,0,106,8,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,44,36,0,32,7,0,0,0,24,0,0,0,46,36,0,0,46,36,0,0,3,0,0,0,0,0,0,0,195,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,116,114,97,100,105,116,105,111,110,97,108,0,0,0,52,0,50,0,0,0,84,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,38,0,0,3,60,0,60,0,9,3,60,0,60,0,3,3,60,0,60,0,1,3,60,0,60,0,35,3,38,0,97,0,60,0,3,1,60,0,60,0,60,0,2,1,60,0,226,0,60,0,60,0,60,0,194,0,38,0,100,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,101,0,60,0,234,0,60,0,60,0,60,0,202,0,38,0,111,0,60,0,244,0,60,0,60,0,60,0,212,0,60,0,161,1,60,0,60,0,60,0,160,1,38,0,117,0,60,0,176,1,60,0,60,0,60,0,175,1,0,0,250,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,38,0,0,3,60,0,60,0,9,3,60,0,60,0,3,3,60,0,60,0,1,3,60,0,60,0,35,3,38,0,97,0,60,0,3,1,60,0,60,0,60,0,2,1,60,0,226,0,60,0,60,0,60,0,194,0,38,0,67,0,60,0,99,0,104,0,60,0,60,0,60,0,67,0,104,0,60,0,60,0,60,0,67,0,72,0,38,0,100,0,60,0,17,1,60,0,60,0,60,0,16,1,38,0,101,0,60,0,234,0,60,0,60,0,60,0,202,0,38,0,71,0,60,0,103,0,104,0,60,0,60,0,60,0,71,0,104,0,60,0,60,0,60,0,71,0,72,0,60,0,103,0,105,0,60,0,60,0,60,0,71,0,105,0,60,0,60,0,60,0,71,0,73,0,38,0,75,0,60,0,107,0,104,0,60,0,60,0,60,0,75,0,104,0,60,0,60,0,60,0,75,0,72,0,38,0,78,0,60,0,110,0,104,0,60,0,60,0,60,0,78,0,104,0,60,0,60,0,60,0,78,0,72,0,60,0,110,0,103,0,60,0,60,0,60,0,78,0,103,0,60,0,60,0,60,0,78,0,71,0,60,0,110,0,103,0,104,0,60,0,60,0,60,0,78,0,103,0,104,0,60,0,60,0,60,0,78,0,71,0,104,0,60,0,60,0,60,0,78,0,71,0,72,0,38,0,111,0,60,0,244,0,60,0,60,0,60,0,212,0,60,0,161,1,60,0,60,0,60,0,160,1,38,0,80,0,60,0,112,0,104,0,60,0,60,0,60,0,80,0,104,0,60,0,60,0,60,0,80,0,72,0,38,0,81,0,60,0,113,0,117,0,60,0,60,0,60,0,81,0,117,0,60,0,60,0,60,0,81,0,85,0,38,0,84,0,60,0,116,0,104,0,60,0,60,0,60,0,84,0,104,0,60,0,60,0,60,0,84,0,72,0,60,0,116,0,114,0,60,0,60,0,60,0,84,0,114,0,60,0,60,0,60,0,84,0,82,0,38,0,117,0,60,0,176,1,60,0,60,0,60,0,175,1,0,0,236,57,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,116,41,0,0,116,41,0,0,116,41,0,0,116,41,0,0,240,51,0,0,240,51,0,0,220,53,0,0,220,53,0,0,212,57,0,0,50,105,114,84,1,0,64,8,138,1,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,111,0,119,0,124,0,132,0,140,0,148,0,48,0,56,0,48,0,56,0,48,0,56,0,156,0,164,0,172,0,180,0,187,0,195,0,200,0,208,0,216,0,224,0,228,0,236,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,11,1,19,1,27,1,35,1,43,1,51,1,59,1,66,1,74,1,82,1,90,1,98,1,106,1,113,1,121,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,252,0,48,0,48,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,188,1,240,1,48,2,192,0,192,0,192,0,112,2,176,2,236,2,32,3,96,3,144,3,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,82,0,202,193,82,0,202,226,82,0,202,3,83,0,202,36,83,0,202,69,83,0,202,102,83,0,202,135,83,0,202,168,83,0,202,201,83,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,38,1,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,230,1,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,70,3,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,38,4,0,5,5,0,44,5,5,0,46,5,5,0,48,201,70,5,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,6,6,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,7,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,197,34,0,0,134,5,3,43,197,98,0,0,196,150,156,42,196,146,156,42,197,34,14,0,196,160,156,46,196,138,156,50,197,162,0,0,134,5,2,51,196,150,156,50,196,138,156,58,197,226,0,0,196,142,156,58,196,150,156,58,160,112,0,48,197,34,1,0,196,138,156,70,197,98,1,0,134,5,2,71,197,162,1,0,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,197,226,1,0,196,142,156,82,196,150,156,82,197,34,2,0,160,5,38,93,197,98,82,0,196,138,5,42,197,98,2,0,5,5,3,43,197,162,2,0,196,150,5,42,196,146,5,42,197,130,14,0,196,160,5,46,196,138,5,50,197,226,2,0,5,5,2,51,196,150,5,50,196,138,5,58,197,34,3,0,196,142,5,58,196,150,5,58,5,112,0,48,197,98,3,0,196,138,5,70,197,162,3,0,5,5,2,71,197,226,3,0,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,197,34,4,0,196,142,5,82,196,150,5,82,197,98,4,0,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,134,5,2,43,5,5,2,43,201,70,8,0,201,102,9,0,197,162,5,0,197,226,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,10,0,201,70,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,6,0,197,226,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,7,0,197,98,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,7,0,197,226,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,8,0,197,98,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,9,0,197,98,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,12,0,201,198,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,10,0,197,98,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,13,0,201,70,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,83,5,5,2,83,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,11,0,197,131,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,15,0,201,38,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,12,0,197,34,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,13,0,197,195,13,0,197,35,14,0,197,131,14,0,197,227,14,0,197,67,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,17,0,201,6,18,0,192,0,0,0,192,0,0,0,197,35,16,0,197,131,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,4,139,192,0,0,0,194,5,3,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,2,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,5,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,4,139,192,0,0,0,192,0,0,0,197,66,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,16,0,197,34,17,0,192,0,0,0,197,98,17,0,197,162,17,0,197,226,17,0,192,0,0,0,197,34,18,0,192,0,0,0,197,98,18,0,197,162,18,0,197,227,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,19,0,197,130,19,0,197,194,19,0,197,2,20,0,197,67,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,20,0,197,226,20,0,197,34,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,18,0,201,230,19,0,192,0,0,0,192,0,0,0,197,162,23,0,197,226,23,0,192,0,0,0,192,0,0,0,197,35,24,0,197,131,24,0,192,0,0,0,192,0,0,0,197,226,24,0,197,34,25,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,25,0,197,195,25,0,201,6,21,0,201,198,21,0,201,134,22,0,201,70,23,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,27,0,197,98,27,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,27,0,197,3,28,0,197,98,28,0,197,162,28,0,197,226,28,0,197,34,29,0,192,0,0,0,192,0,0,0,197,98,29,0,197,162,29,0,197,227,29,0,197,67,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,30,0,197,226,30,0,192,0,0,0,192,0,0,0,197,34,31,0,197,98,31,0,192,0,0,0,192,0,0,0,197,162,31,0,197,226,31,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,32,0,197,131,32,0,197,227,32,0,197,67,33,0,192,0,0,0,192,0,0,0,197,163,33,0,197,3,34,0,197,98,34,0,197,162,34,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,34,0,197,34,35,0,197,99,35,0,197,195,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,36,0,197,98,36,0,197,163,36,0,197,3,37,0,192,0,0,0,192,0,0,0,197,99,37,0,197,195,37,0,192,0,0,0,192,0,0,0,197,34,38,0,197,98,38,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,38,0,197,3,39,0,192,0,0,0,192,0,0,0,197,98,39,0,197,162,39,0,197,226,39,0,197,34,40,0,192,0,0,0,192,0,0,0,197,98,40,0,197,162,40,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,40,0,197,34,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,41,0,197,162,41,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,24,0,201,38,25,0,197,98,43,0,197,162,43,0,197,226,43,0,197,34,44,0,197,98,44,0,197,162,44,0,197,226,44,0,197,34,45,0,197,98,45,0,197,162,45,0,197,34,42,0,197,226,42,0,197,226,45,0,197,34,46,0,197,98,46,0,197,162,46,0,197,226,46,0,197,34,47,0,197,98,47,0,197,162,47,0,197,98,42,0,197,34,43,0,201,70,26,0,201,6,27,0,197,226,48,0,197,34,49,0,197,98,49,0,197,162,49,0,197,226,49,0,197,34,50,0,197,98,50,0,197,162,50,0,197,226,50,0,197,34,51,0,197,98,51,0,197,162,51,0,197,34,48,0,197,162,48,0,197,226,51,0,197,34,52,0,197,98,52,0,197,162,52,0,201,198,27,0,201,134,28,0,197,226,53,0,197,34,54,0,197,98,54,0,197,162,54,0,197,226,54,0,197,34,55,0,197,98,55,0,197,162,55,0,197,226,55,0,197,34,56,0,197,34,53,0,197,162,53,0,197,98,56,0,197,162,56,0,197,226,56,0,197,34,57,0,197,98,57,0,197,162,57,0,197,226,57,0,197,34,58,0,201,70,29,0,201,6,30,0,197,162,59,0,197,226,59,0,197,34,60,0,197,98,60,0,197,162,60,0,197,226,60,0,197,34,61,0,197,98,61,0,197,162,61,0,197,226,61,0,197,34,62,0,197,98,62,0,197,162,62,0,197,226,62,0,192,0,0,0,192,0,0,0,197,34,63,0,197,98,63,0,197,162,63,0,197,226,63,0,197,34,64,0,197,98,64,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,64,0,197,3,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,65,0,197,195,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,66,0,197,131,66,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,66,0,197,67,67,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,67,0,197,3,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,68,0,197,195,68,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,69,0,197,131,69,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,69,0,197,67,70,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,70,0,197,3,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,71,0,197,195,71,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,72,0,197,131,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,73,0,197,163,73,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,74,0,197,99,74,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,19,0,192,0,0,0,197,130,19,0,192,0,0,0,197,194,19,0,192,0,0,0,197,2,20,0,192,0,0,0,197,162,20,0,192,0,0,0,197,226,20,0,192,0,0,0,197,34,21,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,74,0,197,68,75,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,75,0,197,68,76,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,76,0,197,68,77,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,77,0,197,68,78,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,78,0,197,68,79,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,196,79,0,197,68,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,80,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,35,81,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,17,0,192,0,0,0,197,162,17,0,192,0,0,0,192,0,0,0,197,130,81,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,17,0,192,0,0,0,192,0,0,0,197,194,81,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,20,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,18,0,192,0,0,0,192,0,0,0,197,226,16,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,82,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,18,0,192,0,0,0,197,162,18,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,156,5,0,42,194,5,4,139,156,5,0,42,194,5,3,139,156,5,0,50,194,5,4,139,156,5,0,58,194,5,4,139,156,5,0,68,194,5,3,139,156,5,0,70,194,5,4,139,156,5,0,70,194,5,3,139,156,5,0,82,194,5,4,139,156,5,0,90,194,5,4,139,5,5,0,42,194,5,4,139,5,5,0,42,194,5,3,139,5,5,0,50,194,5,4,139,5,5,0,58,194,5,4,139,5,5,0,68,194,5,3,139,5,5,0,70,194,5,4,139,5,5,0,70,194,5,3,139,5,5,0,82,194,5,4,139,5,5,0,90,194,5,4,139,134,5,3,43,5,162,0,0,134,5,2,43,5,162,0,0,5,5,3,43,5,162,0,0,5,5,2,43,5,162,0,0,156,5,0,46,194,5,4,139,5,5,0,46,194,5,4,139,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,156,5,0,58,194,5,3,139,5,5,0,58,194,5,3,139,156,5,0,64,194,5,4,139,5,5,0,64,194,5,4,139,156,5,0,68,194,5,4,139,5,5,0,68,194,5,4,139,156,5,0,76,194,5,4,139,5,5,0,76,194,5,4,139,156,5,0,78,194,5,4,139,5,5,0,78,194,5,4,139,156,5,0,82,194,5,3,139,5,5,0,82,194,5,3,139,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,156,5,0,92,194,5,4,139,5,5,0,92,194,5,4,139,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,156,5,0,82,5,150,0,0,194,5,4,139,5,5,0,82,5,150,0,0,194,5,4,139,134,5,2,71,5,162,0,0,134,5,3,71,5,162,0,0,5,5,2,71,5,162,0,0,5,5,3,71,5,162,0,0,156,5,0,54,194,5,4,139,5,5,0,54,194,5,4,139,156,5,0,42,5,146,0,0,194,5,4,139,5,5,0,42,5,146,0,0,194,5,4,139,160,112,0,42,162,5,0,50,194,5,4,139,5,112,0,42,19,5,0,50,194,5,4,139,156,5,0,70,5,158,0,0,194,5,4,139,5,5,0,70,5,158,0,0,194,5,4,139,134,5,2,51,5,160,0,0,5,5,2,51,5,160,0,0,156,5,0,70,194,5,3,139,5,164,0,0,5,5,0,70,194,5,3,139,5,164,0,0,5,5,16,12,194,5,4,139,166,5,6,96,194,5,4,139,166,5,16,96,194,5,4,139,158,5,28,96,194,5,4,139,166,5,32,96,194,5,4,139,158,5,48,96,194,5,4,139,155,5,76,96,194,5,4,139,155,5,86,96,194,5,4,139,5,5,32,96,5,150,0,0,194,5,4,139,5,5,6,96,194,5,4,139,5,5,16,96,194,5,4,139,5,5,28,96,194,5,4,139,5,5,32,96,194,5,4,139,5,5,76,96,5,150,0,0,194,5,4,139,5,5,48,96,194,5,4,139,5,5,76,96,194,5,4,139,5,5,86,96,194,5,4,139,166,5,76,96,194,5,4,139,174,5,16,97,194,5,4,139,174,5,84,97,194,5,4,139,5,5,16,97,194,5,4,139,5,5,84,97,194,5,4,139,134,5,3,43,5,200,0,0,134,5,2,43,5,200,0,0,5,5,3,43,5,200,0,0,5,5,2,43,5,200,0,0,156,5,0,44,194,5,5,139,5,5,0,44,194,5,5,139,156,5,0,46,5,160,0,0,194,5,4,139,5,5,0,46,5,160,0,0,194,5,4,139,156,5,0,48,194,5,5,139,5,5,0,48,194,5,5,139,156,5,0,50,5,164,0,0,194,5,4,139,5,5,0,50,5,164,0,0,194,5,4,139,134,5,2,51,5,204,0,0,5,5,2,51,5,204,0,0,134,5,2,51,5,208,0,0,5,5,2,51,5,208,0,0,156,5,0,56,194,5,5,139,5,5,0,56,194,5,5,139,156,5,0,58,5,150,0,0,194,5,4,139,5,5,0,58,5,150,0,0,194,5,4,139,156,5,0,62,194,5,4,139,5,5,0,62,194,5,4,139,156,5,0,62,194,5,5,139,5,5,0,62,194,5,5,139,156,5,0,64,194,5,5,139,5,5,0,64,194,5,5,139,156,5,0,64,194,5,5,139,5,164,0,0,5,5,0,64,194,5,5,139,5,164,0,0,156,5,0,66,194,5,4,139,5,5,0,66,194,5,4,139,156,5,0,66,194,5,5,139,5,5,0,66,194,5,5,139,156,5,0,68,194,5,5,139,5,5,0,68,194,5,5,139,156,5,0,70,194,5,3,139,194,5,4,139,5,5,0,70,194,5,3,139,194,5,4,139,156,5,0,70,194,5,3,139,5,150,0,0,5,5,0,70,194,5,3,139,5,150,0,0,156,5,0,70,5,164,0,0,194,5,4,139,5,5,0,70,5,164,0,0,194,5,4,139,156,5,0,72,194,5,4,139,5,5,0,72,194,5,4,139,156,5,0,76,194,5,5,139,5,5,0,76,194,5,5,139,156,5,0,76,194,5,5,139,5,164,0,0,5,5,0,76,194,5,5,139,5,164,0,0,156,5,0,78,194,5,5,139,5,5,0,78,194,5,5,139,156,5,0,78,194,5,4,139,5,156,0,0,5,5,0,78,194,5,4,139,5,156,0,0,156,5,0,78,194,5,5,139,5,156,0,0,5,5,0,78,194,5,5,139,5,156,0,0,156,5,0,80,194,5,5,139,5,5,0,80,194,5,5,139,156,5,0,82,194,5,3,139,194,5,4,139,5,5,0,82,194,5,3,139,194,5,4,139,156,5,0,84,194,5,3,139,5,5,0,84,194,5,3,139,156,5,0,84,194,5,5,139,5,5,0,84,194,5,5,139,160,5,0,86,194,5,4,139,5,5,0,86,194,5,4,139,160,5,0,86,194,5,5,139,5,5,0,86,194,5,5,139,156,5,0,92,194,5,5,139,5,5,0,92,194,5,5,139,156,5,0,42,194,5,5,139,134,5,3,43,194,5,5,139,134,5,2,43,194,5,5,139,5,5,0,42,194,5,5,139,5,5,3,43,194,5,5,139,5,5,2,43,194,5,5,139,156,5,0,42,194,5,2,139,5,5,0,42,194,5,2,139,134,5,3,43,194,5,4,139,5,5,3,43,194,5,4,139,134,5,3,43,5,138,0,0,5,5,3,43,5,138,0,0,134,5,3,43,194,5,2,139,5,5,3,43,194,5,2,139,134,5,3,43,194,5,3,139,5,5,3,43,194,5,3,139,134,5,2,43,194,5,4,139,5,5,2,43,194,5,4,139,134,5,2,43,5,138,0,0,5,5,2,43,5,138,0,0,134,5,2,43,194,5,2,139,5,5,2,43,194,5,2,139,134,5,2,43,194,5,3,139,5,5,2,43,194,5,3,139,156,5,0,50,194,5,5,139,134,5,2,51,194,5,5,139,5,5,0,50,194,5,5,139,5,5,2,51,194,5,5,139,156,5,0,50,194,5,2,139,5,5,0,50,194,5,2,139,156,5,0,50,194,5,3,139,5,5,0,50,194,5,3,139,134,5,2,51,194,5,4,139,5,5,2,51,194,5,4,139,134,5,2,51,5,138,0,0,5,5,2,51,5,138,0,0,134,5,2,51,194,5,2,139,5,5,2,51,194,5,2,139,134,5,2,51,194,5,3,139,5,5,2,51,194,5,3,139,156,5,0,58,194,5,2,139,5,5,0,58,194,5,2,139,156,5,0,58,194,5,5,139,5,5,0,58,194,5,5,139,156,5,0,70,194,5,5,139,134,5,2,71,194,5,5,139,5,5,0,70,194,5,5,139,5,5,2,71,194,5,5,139,156,5,0,70,194,5,2,139,5,5,0,70,194,5,2,139,134,5,2,71,194,5,4,139,5,5,2,71,194,5,4,139,134,5,2,71,5,138,0,0,5,5,2,71,5,138,0,0,134,5,2,71,194,5,2,139,5,5,2,71,194,5,2,139,134,5,2,71,194,5,3,139,5,5,2,71,194,5,3,139,134,5,3,71,194,5,4,139,5,5,3,71,194,5,4,139,134,5,3,71,5,138,0,0,5,5,3,71,5,138,0,0,134,5,3,71,194,5,2,139,5,5,3,71,194,5,2,139,134,5,3,71,194,5,3,139,5,5,3,71,194,5,3,139,134,5,3,71,194,5,5,139,134,5,2,71,5,190,0,0,194,5,5,139,5,5,3,71,194,5,5,139,5,5,2,71,5,190,0,0,194,5,5,139,156,5,0,82,194,5,5,139,5,5,0,82,194,5,5,139,156,5,0,82,194,5,2,139,5,5,0,82,194,5,2,139,134,5,2,83,194,5,4,139,5,5,2,83,194,5,4,139,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,83,194,5,2,139,5,5,2,83,194,5,2,139,134,5,2,83,194,5,3,139,5,5,2,83,194,5,3,139,134,5,2,83,194,5,5,139,5,5,2,83,194,5,5,139,156,5,0,90,194,5,5,139,5,5,0,90,194,5,5,139,156,5,0,90,194,5,2,139,5,5,0,90,194,5,2,139,156,5,0,90,194,5,3,139,5,5,0,90,194,5,3,139,5,5,6,96,5,132,0,0,194,5,4,139,5,5,6,96,5,134,0,0,194,5,4,139,166,5,6,96,5,132,0,0,194,5,4,139,166,5,6,96,5,134,0,0,194,5,4,139,5,5,16,96,5,132,0,0,194,5,4,139,5,5,16,96,5,134,0,0,194,5,4,139,166,5,16,96,5,132,0,0,194,5,4,139,166,5,16,96,5,134,0,0,194,5,4,139,5,5,28,96,5,132,0,0,194,5,4,139,5,5,28,96,5,134,0,0,194,5,4,139,158,5,28,96,5,132,0,0,194,5,4,139,158,5,28,96,5,134,0,0,194,5,4,139,5,5,32,96,5,132,0,0,194,5,4,139,5,5,32,96,5,134,0,0,194,5,4,139,166,5,32,96,5,132,0,0,194,5,4,139,166,5,32,96,5,134,0,0,194,5,4,139,5,5,48,96,5,132,0,0,194,5,4,139,5,5,48,96,5,134,0,0,194,5,4,139,158,5,48,96,5,132,0,0,194,5,4,139,158,5,48,96,5,134,0,0,194,5,4,139,5,5,76,96,5,132,0,0,194,5,4,139,5,5,76,96,5,134,0,0,194,5,4,139,155,5,76,96,5,134,0,0,194,5,4,139,5,5,86,96,5,132,0,0,194,5,4,139,5,5,86,96,5,134,0,0,194,5,4,139,155,5,86,96,5,132,0,0,194,5,4,139,155,5,86,96,5,134,0,0,194,5,4,139,5,5,6,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,6,96,5,134,0,0,194,5,4,139,5,216,0,0,166,5,6,96,5,132,0,0,194,5,4,139,5,216,0,0,166,5,6,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,28,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,28,96,5,134,0,0,194,5,4,139,5,216,0,0,158,5,28,96,5,132,0,0,194,5,4,139,5,216,0,0,158,5,28,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,86,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,86,96,5,134,0,0,194,5,4,139,5,216,0,0,155,5,86,96,5,132,0,0,194,5,4,139,5,216,0,0,155,5,86,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,6,96,194,5,4,139,5,216,0,0,5,5,28,96,194,5,4,139,5,216,0,0,193,9,22,12,194,5,4,139,193,16,22,12,194,5,4,139,5,5,86,96,194,5,4,139,5,216,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,2,3,3,235,134,5,6,3,2,235,134,5,0,50,156,5,48,0,2,3,2,243,134,5,0,70,156,5,1,0,2,3,255,255,2,71,134,5,27,3,255,255,3,71,134,5,0,82,156,5,48,0,27,3,255,255,2,83,134,5,0,42,5,5,1,0,2,3,3,235,5,5,6,3,2,235,5,5,0,50,5,5,48,0,2,3,2,243,5,5,0,70,5,5,1,0,2,3,255,255,2,71,5,5,27,3,255,255,3,71,5,5,0,82,5,5,48,0,27,3,255,255,2,83,5,5,156,42,196,162,1,0,2,3,4,192,197,162,6,3,4,192,197,226,5,42,196,162,1,0,2,3,5,192,197,34,6,3,5,192,197,98,156,50,196,162,48,0,2,3,6,192,197,34,5,50,196,162,48,0,2,3,6,192,197,98,156,82,196,162,48,0,27,3,9,192,197,162,5,82,196,162,48,0,27,3,9,192,197,226,3,71,134,5,48,0,2,3,10,192,197,162,3,71,5,5,48,0,2,3,10,192,197,226,156,70,196,162,1,0,2,3,11,192,197,226,27,3,12,192,197,34,5,70,196,162,1,0,2,3,12,192,197,98,27,3,12,192,197,162,156,50,196,160,48,0,2,3,15,192,197,162,5,50,196,160,48,0,2,3,15,192,197,226,156,42,196,200,1,0,2,3,22,192,197,162,6,3,22,192,197,226,5,42,196,200,1,0,2,3,23,192,197,34,6,3,23,192,197,98,156,50,196,204,48,0,2,3,26,192,197,34,5,50,196,204,48,0,2,3,26,192,197,98,156,50,196,208,48,0,2,3,26,192,197,162,5,50,196,208,48,0,2,3,26,192,197,226,41,0,197,226,1,0,2,3,42,192,197,34,6,3,42,192,197,98,42,0,197,162,1,0,2,3,42,192,197,226,6,3,43,192,197,34,47,0,197,226,48,0,2,3,48,192,197,34,48,0,197,98,48,0,2,3,48,192,197,162,52,0,197,226,48,0,2,3,53,192,197,34,53,0,197,98,48,0,2,3,53,192,197,162,58,0,197,98,48,0,2,3,58,192,197,163,59,0,197,2,48,0,2,3,59,192,197,67,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,68,185,72,185,76,28,4,185,92,185,96,185,100,186,104,186,112,185,116,185,120,185,124,186,128,30,4,185,144,185,148,185,156,186,160,185,164,32,4,185,176,185,180,185,184,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,68,168,72,168,76,36,4,168,92,168,96,168,100,168,104,168,112,168,116,168,120,168,124,168,128,38,4,168,144,168,148,168,156,168,160,168,164,40,4,168,176,168,180,168,184,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,153,57,217,57,185,64,185,57,121,58,89,58,0,8,249,74,154,85,218,85,185,88,122,86,154,105,218,105,26,106,122,106,217,76,186,129,153,137,217,137,185,140,185,137,121,138,136,14,217,138,153,173,217,173,25,174,121,174,217,189,185,196,2,8,136,57,200,57,168,64,168,57,104,58,72,58,4,8,232,74,136,85,200,85,168,88,104,86,136,105,200,105,8,106,104,106,200,76,168,129,136,137,200,137,168,140,168,137,104,138,128,14,200,138,136,173,200,173,8,174,104,174,200,189,168,196,104,190,57,59,40,59,185,60,168,60,42,4,44,4,217,73,200,73,25,74,8,74,185,74,168,74,57,74,40,74,57,78,40,78,185,80,168,80,58,87,40,87,250,85,232,85,186,86,168,86,46,4,48,4,58,86,40,86,25,98,8,98,249,97,232,97,185,98,168,98,249,98,232,98,25,102,8,102,89,103,72,103,186,105,168,105,58,107,40,107,250,105,232,105,26,107,8,107,186,106,168,108,6,8,8,8,26,114,8,114,249,118,232,118,168,152,217,121,200,121,249,122,232,122,57,122,40,122,121,123,104,123,89,123,72,123,218,129,200,129,250,130,232,130,58,130,40,130,10,8,185,132,168,132,57,139,40,139,249,137,232,137,153,138,136,138,12,8,14,8,217,157,200,157,249,158,232,158,57,158,40,158,218,161,200,161,26,162,8,162,250,162,232,162,58,162,40,162,249,166,232,166,57,166,40,166,185,168,168,168,185,173,168,173,57,175,40,175,249,173,232,173,89,174,72,174,153,174,136,174,50,4,52,4,25,182,8,182,25,190,8,190,121,190,217,193,200,193,185,194,168,194,57,194,40,194,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,84,200,160,169,160,200,56,169,84,187,104,187,112,169,104,169,112,169,200,169,128,217,136,187,84,200,136,169,84,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,84,255,5,185,136,255,5,185,172,255,5,168,56,255,5,168,84,255,5,168,136,255,5,168,172,255,5,25,59,255,5,8,59,255,5,26,87,255,5,8,87,255,5,25,175,255,5,8,175,255,1,3,0,69,0,52,0,61,0,195,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,108,83,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,228,41,0,0,228,41,0,0,228,41,0,0,228,41,0,0,212,63,0,0,212,63,0,0,212,76,0,0,70,77,0,0,84,83,0,0,50,105,114,84,1,0,64,8,145,1,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,111,0,119,0,124,0,132,0,140,0,148,0,48,0,56,0,48,0,56,0,48,0,56,0,156,0,164,0,172,0,180,0,187,0,195,0,200,0,208,0,216,0,224,0,228,0,236,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,1,11,1,19,1,27,1,35,1,43,1,51,1,59,1,66,1,74,1,82,1,90,1,98,1,106,1,113,1,121,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,252,0,48,0,48,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,244,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,188,1,240,1,48,2,192,0,192,0,192,0,112,2,176,2,236,2,32,3,96,3,144,3,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,64,174,0,202,97,174,0,202,130,174,0,202,163,174,0,202,196,174,0,202,229,174,0,202,6,175,0,202,39,175,0,202,72,175,0,202,105,175,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,201,32,1,0,156,5,0,48,201,134,8,0,156,5,0,52,201,68,9,0,156,5,0,56,156,5,0,58,156,5,0,60,201,128,33,0,156,5,0,64,156,5,0,66,201,0,41,0,201,102,67,0,201,192,68,0,201,132,76,0,156,5,0,76,156,5,0,78,201,64,105,0,201,198,121,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,166,122,0,5,5,0,44,201,192,123,0,5,5,0,48,201,198,127,0,5,5,0,52,201,132,128,0,5,5,0,56,5,5,0,58,5,5,0,60,201,160,140,0,5,5,0,64,5,5,0,66,201,160,144,0,201,70,156,0,201,160,157,0,201,196,161,0,5,5,0,76,5,5,0,78,201,32,176,0,201,166,184,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,197,194,91,0,134,5,3,43,197,2,92,0,196,150,156,42,196,146,156,42,197,194,105,0,196,160,156,46,196,138,156,50,197,66,92,0,134,5,2,51,196,150,156,50,196,138,156,58,197,130,92,0,196,142,156,58,196,150,156,58,160,112,0,48,197,194,92,0,196,138,156,70,197,2,93,0,134,5,2,71,197,66,93,0,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,197,130,93,0,196,142,156,82,196,150,156,82,197,194,93,0,160,5,38,93,197,2,174,0,196,138,5,42,197,2,94,0,5,5,3,43,197,66,94,0,196,150,5,42,196,146,5,42,197,34,106,0,196,160,5,46,196,138,5,50,197,130,94,0,5,5,2,51,196,150,5,50,196,138,5,58,197,194,94,0,196,142,5,58,196,150,5,58,5,112,0,48,197,2,95,0,196,138,5,70,197,66,95,0,5,5,2,71,197,130,95,0,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,197,194,95,0,196,142,5,82,196,150,5,82,197,2,96,0,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,134,5,2,43,5,5,2,43,201,134,185,0,201,166,186,0,197,66,97,0,197,130,97,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,49,5,5,2,49,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,187,0,201,134,188,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,98,0,197,130,98,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,98,0,197,2,99,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,99,0,197,130,99,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,99,0,197,2,100,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,100,0,197,130,100,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,100,0,197,2,101,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,189,0,201,6,190,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,101,0,197,2,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,190,0,201,134,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,83,5,5,2,83,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,102,0,197,35,103,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,192,0,201,102,193,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,104,0,197,194,104,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,105,0,197,99,105,0,197,195,105,0,197,35,106,0,197,131,106,0,197,227,106,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,194,0,201,70,195,0,192,0,0,0,192,0,0,0,197,195,107,0,197,35,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,4,139,192,0,0,0,194,5,3,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,2,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,5,139,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,4,139,192,0,0,0,192,0,0,0,197,2,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,108,0,197,194,108,0,192,0,0,0,197,2,109,0,197,66,109,0,197,130,109,0,192,0,0,0,197,194,109,0,192,0,0,0,197,2,110,0,197,66,110,0,197,131,110,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,110,0,197,34,111,0,197,98,111,0,197,162,111,0,197,227,111,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,112,0,197,130,112,0,197,194,112,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,113,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,114,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,196,0,201,38,197,0,192,0,0,0,192,0,0,0,197,66,115,0,197,130,115,0,192,0,0,0,192,0,0,0,197,195,115,0,197,35,116,0,192,0,0,0,192,0,0,0,197,130,116,0,197,194,116,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,117,0,197,99,117,0,201,70,198,0,201,6,199,0,201,198,199,0,201,134,200,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,118,0,197,2,119,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,119,0,197,163,119,0,197,2,120,0,197,66,120,0,197,130,120,0,197,194,120,0,192,0,0,0,192,0,0,0,197,2,121,0,197,66,121,0,197,131,121,0,197,227,121,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,122,0,197,130,122,0,192,0,0,0,192,0,0,0,197,194,122,0,197,2,123,0,192,0,0,0,192,0,0,0,197,66,123,0,197,130,123,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,123,0,197,35,124,0,197,131,124,0,197,227,124,0,192,0,0,0,192,0,0,0,197,67,125,0,197,163,125,0,197,2,126,0,197,66,126,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,126,0,197,194,126,0,197,3,127,0,197,99,127,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,127,0,197,2,128,0,197,67,128,0,197,163,128,0,192,0,0,0,192,0,0,0,197,3,129,0,197,99,129,0,192,0,0,0,192,0,0,0,197,194,129,0,197,2,130,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,130,0,197,163,130,0,192,0,0,0,192,0,0,0,197,2,131,0,197,66,131,0,197,130,131,0,197,194,131,0,192,0,0,0,192,0,0,0,197,2,132,0,197,66,132,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,132,0,197,194,132,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,133,0,197,66,133,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,201,0,201,102,202,0,197,2,135,0,197,66,135,0,197,130,135,0,197,194,135,0,197,2,136,0,197,66,136,0,197,130,136,0,197,194,136,0,197,2,137,0,197,66,137,0,197,194,133,0,197,130,134,0,197,130,137,0,197,194,137,0,197,2,138,0,197,66,138,0,197,130,138,0,197,194,138,0,197,2,139,0,197,66,139,0,197,2,134,0,197,194,134,0,201,134,203,0,201,70,204,0,197,130,140,0,197,194,140,0,197,2,141,0,197,66,141,0,197,130,141,0,197,194,141,0,197,2,142,0,197,66,142,0,197,130,142,0,197,194,142,0,197,2,143,0,197,66,143,0,197,194,139,0,197,66,140,0,197,130,143,0,197,194,143,0,197,2,144,0,197,66,144,0,201,6,205,0,201,198,205,0,197,130,145,0,197,194,145,0,197,2,146,0,197,66,146,0,197,130,146,0,197,194,146,0,197,2,147,0,197,66,147,0,197,130,147,0,197,194,147,0,197,194,144,0,197,66,145,0,197,2,148,0,197,66,148,0,197,130,148,0,197,194,148,0,197,2,149,0,197,66,149,0,197,130,149,0,197,194,149,0,201,134,206,0,201,70,207,0,197,66,151,0,197,130,151,0,197,194,151,0,197,2,152,0,197,66,152,0,197,130,152,0,197,194,152,0,197,2,153,0,197,66,153,0,197,130,153,0,197,194,153,0,197,2,154,0,197,66,154,0,197,130,154,0,192,0,0,0,192,0,0,0,197,194,154,0,197,2,155,0,197,66,155,0,197,130,155,0,197,194,155,0,197,2,156,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,156,0,197,163,156,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,157,0,197,99,157,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,157,0,197,35,158,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,158,0,197,227,158,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,159,0,197,163,159,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,160,0,197,99,160,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,160,0,197,35,161,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,161,0,197,227,161,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,67,162,0,197,163,162,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,163,0,197,99,163,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,163,0,197,35,164,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,164,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,164,0,197,67,165,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,165,0,197,3,166,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,110,0,192,0,0,0,197,34,111,0,192,0,0,0,197,98,111,0,192,0,0,0,197,162,111,0,192,0,0,0,197,66,112,0,192,0,0,0,197,130,112,0,192,0,0,0,197,194,112,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,166,0,197,228,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,167,0,197,228,167,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,168,0,197,228,168,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,169,0,197,228,169,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,170,0,197,228,170,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,100,171,0,197,228,171,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,99,172,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,172,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,109,0,192,0,0,0,197,66,109,0,192,0,0,0,192,0,0,0,197,34,173,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,131,110,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,130,109,0,192,0,0,0,192,0,0,0,197,98,173,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,111,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,110,0,192,0,0,0,192,0,0,0,197,130,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,163,173,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,109,0,192,0,0,0,197,66,110,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,128,33,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,47,5,142,0,0,70,5,2,47,5,142,0,0,135,5,2,47,5,144,0,0,70,5,2,47,5,144,0,0,135,5,2,47,5,156,0,0,70,5,2,47,5,156,0,0,135,5,2,47,194,5,5,139,70,5,2,47,194,5,5,139,135,5,2,47,5,150,0,0,70,5,2,47,5,150,0,0,135,5,2,47,5,160,0,0,70,5,2,47,5,160,0,0,135,5,2,47,5,206,0,0,70,5,2,47,5,206,0,0,70,5,2,47,5,210,0,0,135,5,3,55,5,150,0,0,194,5,4,139,70,5,3,55,5,150,0,0,194,5,4,139,135,5,3,55,5,138,0,0,135,5,3,55,194,5,4,139,135,5,3,55,5,142,0,0,70,5,3,55,5,138,0,0,70,5,3,55,194,5,4,139,70,5,3,55,5,142,0,0,135,5,2,55,5,142,0,0,70,5,2,55,5,142,0,0,135,5,3,55,194,5,3,139,70,5,3,55,194,5,3,139,135,5,3,55,5,164,0,0,70,5,3,55,5,164,0,0,135,5,3,55,5,140,0,0,70,5,3,55,5,140,0,0,135,5,3,55,5,162,0,0,70,5,3,55,5,162,0,0,135,5,3,55,5,156,0,0,135,5,3,55,5,144,0,0,70,5,3,55,5,144,0,0,135,5,3,55,5,184,0,0,70,5,3,55,5,184,0,0,135,5,3,55,5,188,0,0,70,5,3,55,5,188,0,0,135,5,2,55,5,144,0,0,70,5,2,55,5,144,0,0,135,5,2,55,5,156,0,0,70,5,2,55,5,156,0,0,135,5,2,55,194,5,5,139,70,5,2,55,194,5,5,139,135,5,2,55,5,150,0,0,70,5,2,55,5,150,0,0,135,5,2,55,5,160,0,0,70,5,2,55,5,160,0,0,135,5,2,55,5,206,0,0,70,5,2,55,5,206,0,0,135,5,3,55,5,208,0,0,70,5,3,55,5,208,0,0,70,5,2,55,5,210,0,0,135,5,3,55,194,5,2,139,70,5,3,55,194,5,2,139,135,5,3,55,194,5,5,139,70,5,3,55,194,5,5,139,135,5,2,63,5,142,0,0,70,5,2,63,5,142,0,0,135,5,2,63,5,144,0,0,70,5,2,63,5,144,0,0,135,5,2,63,5,156,0,0,70,5,2,63,5,156,0,0,135,5,2,63,194,5,5,139,70,5,2,63,194,5,5,139,135,5,2,63,5,150,0,0,70,5,2,63,5,150,0,0,135,5,2,63,5,160,0,0,70,5,2,63,5,160,0,0,135,5,2,63,5,206,0,0,70,5,2,63,5,206,0,0,70,5,2,63,5,210,0,0,136,5,4,69,5,142,0,0,71,5,4,69,5,142,0,0,136,5,4,69,5,144,0,0,71,5,4,69,5,144,0,0,136,5,4,69,5,156,0,0,71,5,4,69,5,156,0,0,136,5,4,69,194,5,5,139,71,5,4,69,194,5,5,139,136,5,4,69,5,150,0,0,71,5,4,69,5,150,0,0,136,5,4,69,5,160,0,0,71,5,4,69,5,160,0,0,136,5,4,69,5,206,0,0,71,5,4,69,5,206,0,0,71,5,4,69,5,210,0,0,70,5,4,69,5,142,0,0,70,5,4,69,5,144,0,0,70,5,4,69,5,156,0,0,70,5,4,69,194,5,5,139,70,5,4,69,5,150,0,0,70,5,4,69,5,160,0,0,70,5,4,69,5,206,0,0,70,5,4,69,5,210,0,0,135,5,3,69,5,142,0,0,70,5,3,69,5,142,0,0,135,5,3,69,5,140,0,0,70,5,3,69,5,140,0,0,135,5,3,69,5,156,0,0,70,5,3,69,5,156,0,0,135,5,3,69,5,160,0,0,70,5,3,69,5,160,0,0,135,5,2,69,5,142,0,0,70,5,2,69,5,142,0,0,135,5,3,69,5,144,0,0,70,5,3,69,5,144,0,0,135,5,3,69,194,5,4,139,70,5,3,69,194,5,4,139,135,5,2,69,5,144,0,0,70,5,2,69,5,144,0,0,135,5,3,69,5,164,0,0,70,5,3,69,5,164,0,0,135,5,2,69,5,156,0,0,70,5,2,69,5,156,0,0,135,5,2,69,194,5,5,139,70,5,2,69,194,5,5,139,135,5,2,69,5,150,0,0,70,5,2,69,5,150,0,0,135,5,2,69,5,160,0,0,70,5,2,69,5,160,0,0,135,5,2,69,5,206,0,0,70,5,2,69,5,206,0,0,70,5,2,69,5,210,0,0,135,5,2,73,5,142,0,0,70,5,2,73,5,142,0,0,135,5,2,73,5,144,0,0,70,5,2,73,5,144,0,0,135,5,2,73,5,156,0,0,70,5,2,73,5,156,0,0,135,5,2,73,194,5,5,139,70,5,2,73,194,5,5,139,135,5,2,73,5,150,0,0,70,5,2,73,5,150,0,0,135,5,2,73,5,160,0,0,70,5,2,73,5,160,0,0,135,5,2,73,5,206,0,0,70,5,2,73,5,206,0,0,70,5,2,73,5,210,0,0,135,5,2,75,5,150,0,0,194,5,4,139,70,5,2,75,5,150,0,0,194,5,4,139,135,5,2,75,5,138,0,0,135,5,2,75,194,5,4,139,135,5,2,75,5,142,0,0,70,5,2,75,5,138,0,0,70,5,2,75,194,5,4,139,70,5,2,75,5,142,0,0,135,5,2,75,194,5,3,139,70,5,2,75,194,5,3,139,135,5,2,75,5,164,0,0,70,5,2,75,5,164,0,0,135,5,2,75,5,140,0,0,70,5,2,75,5,140,0,0,135,5,2,75,5,146,0,0,70,5,2,75,5,146,0,0,135,5,2,75,5,152,0,0,70,5,2,75,5,152,0,0,135,5,2,75,5,162,0,0,70,5,2,75,5,162,0,0,135,5,2,75,5,190,0,0,70,5,2,75,5,190,0,0,135,5,2,75,5,144,0,0,70,5,2,75,5,144,0,0,135,5,2,75,5,150,0,0,5,164,0,0,70,5,2,75,5,150,0,0,5,164,0,0,135,5,2,75,5,150,0,0,5,144,0,0,70,5,2,75,5,150,0,0,5,144,0,0,135,5,2,75,5,150,0,0,5,138,0,0,70,5,2,75,5,150,0,0,5,138,0,0,135,5,2,75,5,184,0,0,70,5,2,75,5,184,0,0,135,5,2,75,5,188,0,0,70,5,2,75,5,188,0,0,135,5,2,75,5,198,0,0,70,5,2,75,5,198,0,0,135,5,2,75,5,208,0,0,70,5,2,75,5,208,0,0,135,5,2,75,5,204,0,0,70,5,2,75,5,204,0,0,135,5,2,75,194,5,3,139,194,5,4,139,70,5,2,75,194,5,3,139,194,5,4,139,135,5,2,75,5,164,0,0,5,150,0,0,70,5,2,75,5,164,0,0,5,150,0,0,135,5,2,75,194,5,5,139,70,5,2,75,194,5,5,139,135,5,2,75,194,5,2,139,70,5,2,75,194,5,2,139,135,5,2,75,5,190,0,0,194,5,4,139,70,5,2,75,5,190,0,0,194,5,4,139,135,5,2,75,5,190,0,0,5,138,0,0,70,5,2,75,5,190,0,0,5,138,0,0,135,5,2,75,5,190,0,0,194,5,2,139,70,5,2,75,5,190,0,0,194,5,2,139,135,5,2,75,5,190,0,0,194,5,3,139,70,5,2,75,5,190,0,0,194,5,3,139,135,5,2,75,5,190,0,0,194,5,5,139,70,5,2,75,5,190,0,0,194,5,5,139,135,5,2,81,5,142,0,0,70,5,2,81,5,142,0,0,135,5,3,81,194,5,4,139,70,5,3,81,194,5,4,139,135,5,3,81,5,160,0,0,70,5,3,81,5,160,0,0,135,5,3,81,5,144,0,0,70,5,3,81,5,144,0,0,135,5,3,81,5,184,0,0,70,5,3,81,5,184,0,0,135,5,3,81,5,188,0,0,70,5,3,81,5,188,0,0,135,5,2,81,5,144,0,0,70,5,2,81,5,144,0,0,135,5,2,81,5,156,0,0,70,5,2,81,5,156,0,0,135,5,2,81,194,5,5,139,70,5,2,81,194,5,5,139,135,5,2,81,5,150,0,0,70,5,2,81,5,150,0,0,135,5,2,81,5,160,0,0,70,5,2,81,5,160,0,0,135,5,2,81,5,206,0,0,70,5,2,81,5,206,0,0,135,5,3,81,5,156,0,0,70,5,3,81,5,156,0,0,135,5,3,81,194,5,5,139,70,5,3,81,194,5,5,139,135,5,3,81,194,5,5,139,5,164,0,0,70,5,3,81,194,5,5,139,5,164,0,0,135,5,3,81,5,210,0,0,70,5,3,81,5,210,0,0,70,5,2,81,5,210,0,0,5,5,2,47,5,142,0,0,5,5,2,47,5,144,0,0,5,5,2,47,5,156,0,0,5,5,2,47,194,5,5,139,5,5,2,47,5,150,0,0,5,5,2,47,5,160,0,0,5,5,2,47,5,206,0,0,5,5,2,47,5,210,0,0,5,5,3,55,5,150,0,0,194,5,4,139,5,5,3,55,5,138,0,0,5,5,3,55,194,5,4,139,5,5,3,55,5,142,0,0,5,5,2,55,5,142,0,0,5,5,3,55,194,5,3,139,5,5,3,55,5,164,0,0,5,5,3,55,5,140,0,0,5,5,3,55,5,162,0,0,5,5,3,55,5,144,0,0,5,5,3,55,5,184,0,0,5,5,3,55,5,188,0,0,5,5,2,55,5,144,0,0,5,5,2,55,5,156,0,0,5,5,2,55,194,5,5,139,5,5,2,55,5,150,0,0,5,5,2,55,5,160,0,0,5,5,2,55,5,206,0,0,5,5,3,55,5,208,0,0,5,5,2,55,5,210,0,0,5,5,3,55,194,5,2,139,5,5,3,55,194,5,5,139,5,5,2,63,5,142,0,0,5,5,2,63,5,144,0,0,5,5,2,63,5,156,0,0,5,5,2,63,194,5,5,139,5,5,2,63,5,150,0,0,5,5,2,63,5,160,0,0,5,5,2,63,5,206,0,0,5,5,2,63,5,210,0,0,5,5,4,69,5,142,0,0,5,5,4,69,5,144,0,0,5,5,4,69,5,156,0,0,5,5,4,69,194,5,5,139,5,5,4,69,5,150,0,0,5,5,4,69,5,160,0,0,5,5,4,69,5,206,0,0,5,5,4,69,5,210,0,0,5,5,3,69,5,142,0,0,5,5,3,69,5,140,0,0,5,5,3,69,5,156,0,0,5,5,3,69,5,160,0,0,5,5,2,69,5,142,0,0,5,5,3,69,5,144,0,0,5,5,3,69,194,5,4,139,5,5,2,69,5,144,0,0,5,5,3,69,5,164,0,0,5,5,2,69,5,156,0,0,5,5,2,69,194,5,5,139,5,5,2,69,5,150,0,0,5,5,2,69,5,160,0,0,5,5,2,69,5,206,0,0,5,5,2,69,5,210,0,0,5,5,2,73,5,142,0,0,5,5,2,73,5,144,0,0,5,5,2,73,5,156,0,0,5,5,2,73,194,5,5,139,5,5,2,73,5,150,0,0,5,5,2,73,5,160,0,0,5,5,2,73,5,206,0,0,5,5,2,73,5,210,0,0,5,5,2,75,5,150,0,0,194,5,4,139,5,5,2,75,5,138,0,0,5,5,2,75,194,5,4,139,5,5,2,75,5,142,0,0,5,5,2,75,194,5,3,139,5,5,2,75,5,164,0,0,5,5,2,75,5,140,0,0,5,5,2,75,5,146,0,0,5,5,2,75,5,152,0,0,5,5,2,75,5,162,0,0,5,5,2,75,5,190,0,0,5,5,2,75,5,144,0,0,5,5,2,75,5,150,0,0,5,164,0,0,5,5,2,75,5,150,0,0,5,144,0,0,5,5,2,75,5,150,0,0,5,138,0,0,5,5,2,75,5,184,0,0,5,5,2,75,5,188,0,0,5,5,2,75,5,198,0,0,5,5,2,75,5,208,0,0,5,5,2,75,5,204,0,0,5,5,2,75,194,5,3,139,194,5,4,139,5,5,2,75,5,164,0,0,5,150,0,0,5,5,2,75,194,5,5,139,5,5,2,75,194,5,2,139,5,5,2,75,5,190,0,0,194,5,4,139,5,5,2,75,5,190,0,0,5,138,0,0,5,5,2,75,5,190,0,0,194,5,2,139,5,5,2,75,5,190,0,0,194,5,3,139,5,5,2,75,5,190,0,0,194,5,5,139,5,5,2,81,5,142,0,0,5,5,3,81,194,5,4,139,5,5,3,81,5,160,0,0,5,5,3,81,5,144,0,0,5,5,3,81,5,184,0,0,5,5,3,81,5,188,0,0,5,5,2,81,5,144,0,0,5,5,2,81,5,156,0,0,5,5,2,81,194,5,5,139,5,5,2,81,5,150,0,0,5,5,2,81,5,160,0,0,5,5,2,81,5,206,0,0,5,5,3,81,5,156,0,0,5,5,3,81,194,5,5,139,5,5,3,81,194,5,5,139,5,164,0,0,5,5,3,81,5,210,0,0,5,5,2,81,5,210,0,0,156,5,0,42,194,5,4,139,156,5,0,42,194,5,3,139,156,5,0,50,194,5,4,139,156,5,0,58,194,5,4,139,156,5,0,68,194,5,3,139,156,5,0,70,194,5,4,139,156,5,0,70,194,5,3,139,156,5,0,82,194,5,4,139,156,5,0,90,194,5,4,139,5,5,0,42,194,5,4,139,5,5,0,42,194,5,3,139,5,5,0,50,194,5,4,139,5,5,0,58,194,5,4,139,5,5,0,68,194,5,3,139,5,5,0,70,194,5,4,139,5,5,0,70,194,5,3,139,5,5,0,82,194,5,4,139,5,5,0,90,194,5,4,139,134,5,3,43,5,162,0,0,134,5,2,43,5,162,0,0,5,5,3,43,5,162,0,0,5,5,2,43,5,162,0,0,156,5,0,46,194,5,4,139,5,5,0,46,194,5,4,139,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,156,5,0,58,194,5,3,139,5,5,0,58,194,5,3,139,156,5,0,64,194,5,4,139,5,5,0,64,194,5,4,139,156,5,0,68,194,5,4,139,5,5,0,68,194,5,4,139,156,5,0,76,194,5,4,139,5,5,0,76,194,5,4,139,156,5,0,78,194,5,4,139,5,5,0,78,194,5,4,139,156,5,0,82,194,5,3,139,5,5,0,82,194,5,3,139,134,5,2,83,5,162,0,0,5,5,2,83,5,162,0,0,156,5,0,92,194,5,4,139,5,5,0,92,194,5,4,139,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,156,5,0,82,5,150,0,0,194,5,4,139,5,5,0,82,5,150,0,0,194,5,4,139,134,5,2,71,5,162,0,0,134,5,3,71,5,162,0,0,5,5,2,71,5,162,0,0,5,5,3,71,5,162,0,0,156,5,0,54,194,5,4,139,5,5,0,54,194,5,4,139,156,5,0,42,5,146,0,0,194,5,4,139,5,5,0,42,5,146,0,0,194,5,4,139,160,112,0,42,162,5,0,50,194,5,4,139,5,112,0,42,19,5,0,50,194,5,4,139,156,5,0,70,5,158,0,0,194,5,4,139,5,5,0,70,5,158,0,0,194,5,4,139,134,5,2,51,5,160,0,0,5,5,2,51,5,160,0,0,156,5,0,70,194,5,3,139,5,164,0,0,5,5,0,70,194,5,3,139,5,164,0,0,5,5,16,12,194,5,4,139,166,5,6,96,194,5,4,139,166,5,16,96,194,5,4,139,158,5,28,96,194,5,4,139,166,5,32,96,194,5,4,139,158,5,48,96,194,5,4,139,155,5,76,96,194,5,4,139,155,5,86,96,194,5,4,139,5,5,32,96,5,150,0,0,194,5,4,139,5,5,6,96,194,5,4,139,5,5,16,96,194,5,4,139,5,5,28,96,194,5,4,139,5,5,32,96,194,5,4,139,5,5,76,96,5,150,0,0,194,5,4,139,5,5,48,96,194,5,4,139,5,5,76,96,194,5,4,139,5,5,86,96,194,5,4,139,166,5,76,96,194,5,4,139,174,5,16,97,194,5,4,139,174,5,84,97,194,5,4,139,5,5,16,97,194,5,4,139,5,5,84,97,194,5,4,139,134,5,3,43,5,200,0,0,134,5,2,43,5,200,0,0,5,5,3,43,5,200,0,0,5,5,2,43,5,200,0,0,156,5,0,44,194,5,5,139,5,5,0,44,194,5,5,139,156,5,0,46,5,160,0,0,194,5,4,139,5,5,0,46,5,160,0,0,194,5,4,139,156,5,0,48,194,5,5,139,5,5,0,48,194,5,5,139,156,5,0,50,5,164,0,0,194,5,4,139,5,5,0,50,5,164,0,0,194,5,4,139,134,5,2,51,5,204,0,0,5,5,2,51,5,204,0,0,134,5,2,51,5,208,0,0,5,5,2,51,5,208,0,0,156,5,0,56,194,5,5,139,5,5,0,56,194,5,5,139,156,5,0,58,5,150,0,0,194,5,4,139,5,5,0,58,5,150,0,0,194,5,4,139,156,5,0,62,194,5,4,139,5,5,0,62,194,5,4,139,156,5,0,62,194,5,5,139,5,5,0,62,194,5,5,139,156,5,0,64,194,5,5,139,5,5,0,64,194,5,5,139,156,5,0,64,194,5,5,139,5,164,0,0,5,5,0,64,194,5,5,139,5,164,0,0,156,5,0,66,194,5,4,139,5,5,0,66,194,5,4,139,156,5,0,66,194,5,5,139,5,5,0,66,194,5,5,139,156,5,0,68,194,5,5,139,5,5,0,68,194,5,5,139,156,5,0,70,194,5,3,139,194,5,4,139,5,5,0,70,194,5,3,139,194,5,4,139,156,5,0,70,194,5,3,139,5,150,0,0,5,5,0,70,194,5,3,139,5,150,0,0,156,5,0,70,5,164,0,0,194,5,4,139,5,5,0,70,5,164,0,0,194,5,4,139,156,5,0,72,194,5,4,139,5,5,0,72,194,5,4,139,156,5,0,76,194,5,5,139,5,5,0,76,194,5,5,139,156,5,0,76,194,5,5,139,5,164,0,0,5,5,0,76,194,5,5,139,5,164,0,0,156,5,0,78,194,5,5,139,5,5,0,78,194,5,5,139,156,5,0,78,194,5,4,139,5,156,0,0,5,5,0,78,194,5,4,139,5,156,0,0,156,5,0,78,194,5,5,139,5,156,0,0,5,5,0,78,194,5,5,139,5,156,0,0,156,5,0,80,194,5,5,139,5,5,0,80,194,5,5,139,156,5,0,82,194,5,3,139,194,5,4,139,5,5,0,82,194,5,3,139,194,5,4,139,156,5,0,84,194,5,3,139,5,5,0,84,194,5,3,139,156,5,0,84,194,5,5,139,5,5,0,84,194,5,5,139,160,5,0,86,194,5,4,139,5,5,0,86,194,5,4,139,160,5,0,86,194,5,5,139,5,5,0,86,194,5,5,139,156,5,0,92,194,5,5,139,5,5,0,92,194,5,5,139,156,5,0,42,194,5,5,139,134,5,3,43,194,5,5,139,134,5,2,43,194,5,5,139,5,5,0,42,194,5,5,139,5,5,3,43,194,5,5,139,5,5,2,43,194,5,5,139,156,5,0,42,194,5,2,139,5,5,0,42,194,5,2,139,134,5,3,43,194,5,4,139,5,5,3,43,194,5,4,139,134,5,3,43,5,138,0,0,5,5,3,43,5,138,0,0,134,5,3,43,194,5,2,139,5,5,3,43,194,5,2,139,134,5,3,43,194,5,3,139,5,5,3,43,194,5,3,139,134,5,2,43,194,5,4,139,5,5,2,43,194,5,4,139,134,5,2,43,5,138,0,0,5,5,2,43,5,138,0,0,134,5,2,43,194,5,2,139,5,5,2,43,194,5,2,139,134,5,2,43,194,5,3,139,5,5,2,43,194,5,3,139,156,5,0,50,194,5,5,139,134,5,2,51,194,5,5,139,5,5,0,50,194,5,5,139,5,5,2,51,194,5,5,139,156,5,0,50,194,5,2,139,5,5,0,50,194,5,2,139,156,5,0,50,194,5,3,139,5,5,0,50,194,5,3,139,134,5,2,51,194,5,4,139,5,5,2,51,194,5,4,139,134,5,2,51,5,138,0,0,5,5,2,51,5,138,0,0,134,5,2,51,194,5,2,139,5,5,2,51,194,5,2,139,134,5,2,51,194,5,3,139,5,5,2,51,194,5,3,139,156,5,0,58,194,5,2,139,5,5,0,58,194,5,2,139,156,5,0,58,194,5,5,139,5,5,0,58,194,5,5,139,156,5,0,70,194,5,5,139,134,5,2,71,194,5,5,139,5,5,0,70,194,5,5,139,5,5,2,71,194,5,5,139,156,5,0,70,194,5,2,139,5,5,0,70,194,5,2,139,134,5,2,71,194,5,4,139,5,5,2,71,194,5,4,139,134,5,2,71,5,138,0,0,5,5,2,71,5,138,0,0,134,5,2,71,194,5,2,139,5,5,2,71,194,5,2,139,134,5,2,71,194,5,3,139,5,5,2,71,194,5,3,139,134,5,3,71,194,5,4,139,5,5,3,71,194,5,4,139,134,5,3,71,5,138,0,0,5,5,3,71,5,138,0,0,134,5,3,71,194,5,2,139,5,5,3,71,194,5,2,139,134,5,3,71,194,5,3,139,5,5,3,71,194,5,3,139,134,5,3,71,194,5,5,139,134,5,2,71,5,190,0,0,194,5,5,139,5,5,3,71,194,5,5,139,5,5,2,71,5,190,0,0,194,5,5,139,156,5,0,82,194,5,5,139,5,5,0,82,194,5,5,139,156,5,0,82,194,5,2,139,5,5,0,82,194,5,2,139,134,5,2,83,194,5,4,139,5,5,2,83,194,5,4,139,134,5,2,83,5,138,0,0,5,5,2,83,5,138,0,0,134,5,2,83,194,5,2,139,5,5,2,83,194,5,2,139,134,5,2,83,194,5,3,139,5,5,2,83,194,5,3,139,134,5,2,83,194,5,5,139,5,5,2,83,194,5,5,139,156,5,0,90,194,5,5,139,5,5,0,90,194,5,5,139,156,5,0,90,194,5,2,139,5,5,0,90,194,5,2,139,156,5,0,90,194,5,3,139,5,5,0,90,194,5,3,139,5,5,6,96,5,132,0,0,194,5,4,139,5,5,6,96,5,134,0,0,194,5,4,139,166,5,6,96,5,132,0,0,194,5,4,139,166,5,6,96,5,134,0,0,194,5,4,139,5,5,16,96,5,132,0,0,194,5,4,139,5,5,16,96,5,134,0,0,194,5,4,139,166,5,16,96,5,132,0,0,194,5,4,139,166,5,16,96,5,134,0,0,194,5,4,139,5,5,28,96,5,132,0,0,194,5,4,139,5,5,28,96,5,134,0,0,194,5,4,139,158,5,28,96,5,132,0,0,194,5,4,139,158,5,28,96,5,134,0,0,194,5,4,139,5,5,32,96,5,132,0,0,194,5,4,139,5,5,32,96,5,134,0,0,194,5,4,139,166,5,32,96,5,132,0,0,194,5,4,139,166,5,32,96,5,134,0,0,194,5,4,139,5,5,48,96,5,132,0,0,194,5,4,139,5,5,48,96,5,134,0,0,194,5,4,139,158,5,48,96,5,132,0,0,194,5,4,139,158,5,48,96,5,134,0,0,194,5,4,139,5,5,76,96,5,132,0,0,194,5,4,139,5,5,76,96,5,134,0,0,194,5,4,139,155,5,76,96,5,134,0,0,194,5,4,139,5,5,86,96,5,132,0,0,194,5,4,139,5,5,86,96,5,134,0,0,194,5,4,139,155,5,86,96,5,132,0,0,194,5,4,139,155,5,86,96,5,134,0,0,194,5,4,139,5,5,6,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,6,96,5,134,0,0,194,5,4,139,5,216,0,0,166,5,6,96,5,132,0,0,194,5,4,139,5,216,0,0,166,5,6,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,28,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,28,96,5,134,0,0,194,5,4,139,5,216,0,0,158,5,28,96,5,132,0,0,194,5,4,139,5,216,0,0,158,5,28,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,86,96,5,132,0,0,194,5,4,139,5,216,0,0,5,5,86,96,5,134,0,0,194,5,4,139,5,216,0,0,155,5,86,96,5,132,0,0,194,5,4,139,5,216,0,0,155,5,86,96,5,134,0,0,194,5,4,139,5,216,0,0,5,5,6,96,194,5,4,139,5,216,0,0,5,5,28,96,194,5,4,139,5,216,0,0,193,9,22,12,194,5,4,139,193,16,22,12,194,5,4,139,5,5,86,96,194,5,4,139,5,216,0,0,5,112,0,78,19,5,0,78,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,2,3,3,235,134,5,6,3,2,235,134,5,0,46,156,5,16,0,36,30,29,0,40,30,15,0,40,30,2,192,197,162,41,30,2,192,197,226,42,30,3,192,197,34,43,30,3,192,197,98,150,30,3,192,197,162,36,30,1,192,197,162,37,30,1,192,197,226,38,30,2,192,197,34,39,30,2,192,197,98,30,2,12,0,30,2,0,192,197,162,31,2,0,192,197,226,34,30,1,192,197,34,35,30,1,192,197,98,72,0,2,239,135,5,104,0,2,239,70,5,36,1,197,162,37,1,0,192,197,98,0,50,156,5,48,0,2,3,2,243,134,5,0,54,156,5,0,0,49,0,8,2,89,0,40,30,45,0,46,30,23,0,200,30,12,0,200,30,14,192,197,34,201,30,14,192,197,98,202,30,14,192,197,162,203,30,14,192,197,226,46,30,3,192,197,227,47,30,4,192,197,67,150,30,13,192,197,226,43,30,9,0,43,30,13,192,197,34,44,30,13,192,197,98,45,30,13,192,197,162,40,30,12,192,197,98,41,30,12,192,197,162,42,30,12,192,197,226,34,30,20,0,37,30,9,0,37,30,11,192,197,162,38,30,11,192,197,226,39,30,12,192,197,34,34,30,10,192,197,226,35,30,11,192,197,34,36,30,11,192,197,98,11,2,9,0,11,2,10,192,197,34,30,2,10,192,197,98,31,2,10,192,197,162,8,2,9,192,197,98,9,2,9,192,197,162,10,2,9,192,197,226,36,1,45,0,44,1,23,0,47,1,12,0,47,1,8,192,197,98,48,1,8,192,197,162,207,1,8,192,197,226,208,1,9,192,197,34,44,1,7,192,197,162,45,1,7,192,197,226,46,1,8,192,197,34,41,1,9,0,41,1,6,192,197,226,42,1,7,192,197,34,43,1,7,192,197,98,36,1,6,192,197,34,37,1,6,192,197,98,40,1,6,192,197,162,206,0,20,0,237,0,9,0,237,0,5,192,197,162,238,0,5,192,197,226,239,0,4,192,197,66,206,0,5,192,197,34,207,0,3,192,197,226,236,0,5,192,197,98,105,0,14,0,105,0,6,0,204,0,4,192,197,162,205,0,4,192,197,226,240,127,3,55,70,5,68,3,4,192,197,67,72,0,2,247,135,5,73,0,3,0,104,0,2,247,70,5,240,127,3,55,135,5,68,3,3,192,197,227,0,62,156,5,16,0,36,30,29,0,40,30,15,0,40,30,17,192,197,162,41,30,17,192,197,226,42,30,18,192,197,34,43,30,18,192,197,98,150,30,18,192,197,162,36,30,16,192,197,162,37,30,16,192,197,226,38,30,17,192,197,34,39,30,17,192,197,98,30,2,12,0,30,2,15,192,197,162,31,2,15,192,197,226,34,30,16,192,197,34,35,30,16,192,197,98,72,0,2,255,135,5,104,0,2,255,70,5,36,1,15,192,197,34,37,1,15,192,197,98,0,68,156,5,32,0,244,1,57,0,36,30,29,0,40,30,15,0,40,30,30,192,197,162,41,30,30,192,197,226,42,30,31,192,197,34,43,30,31,192,197,98,150,30,31,192,197,162,36,30,29,192,197,162,37,30,29,192,197,226,38,30,30,192,197,34,39,30,30,192,197,98,32,30,12,0,32,30,28,192,197,162,33,30,28,192,197,226,34,30,29,192,197,34,35,30,29,192,197,98,244,1,27,192,197,162,245,1,27,192,197,226,30,2,28,192,197,34,31,2,28,192,197,98,32,1,26,0,36,1,12,0,36,1,26,192,197,162,37,1,26,192,197,226,230,1,27,192,197,34,231,1,27,192,197,98,32,1,25,192,197,162,33,1,25,192,197,226,34,1,26,192,197,34,35,1,26,192,197,98,28,1,12,0,28,1,24,192,197,162,29,1,24,192,197,226,30,1,25,192,197,34,31,1,25,192,197,98,71,0,10,0,72,0,255,255,2,69,135,5,103,0,66,0,104,0,255,255,2,69,70,5,208,127,3,69,135,5,36,30,29,0,40,30,15,0,40,30,21,192,197,98,41,30,21,192,197,162,42,30,21,192,197,226,43,30,22,192,197,34,150,30,22,192,197,98,36,30,20,192,197,98,37,30,20,192,197,162,38,30,20,192,197,226,39,30,21,192,197,34,30,2,12,0,30,2,19,192,197,98,31,2,19,192,197,162,34,30,19,192,197,226,35,30,20,192,197,34,72,0,255,255,4,69,136,5,104,0,255,255,4,69,71,5,36,1,18,192,197,226,37,1,19,192,197,34,200,127,3,69,70,5,37,30,15,0,37,30,23,192,197,98,39,30,23,192,197,162,41,30,23,192,197,226,43,30,24,192,197,34,150,30,24,192,197,98,104,0,255,255,4,69,70,5,37,1,22,192,197,162,31,2,22,192,197,226,35,30,23,192,197,34,0,70,156,5,1,0,2,3,255,255,2,71,134,5,27,3,255,255,3,71,134,5,0,72,156,5,16,0,36,30,29,0,40,30,15,0,40,30,34,192,197,98,41,30,34,192,197,162,42,30,34,192,197,226,43,30,35,192,197,34,150,30,35,192,197,98,36,30,33,192,197,98,37,30,33,192,197,162,38,30,33,192,197,226,39,30,34,192,197,34,30,2,12,0,30,2,32,192,197,98,31,2,32,192,197,162,34,30,32,192,197,226,35,30,33,192,197,34,72,0,255,255,2,73,135,5,104,0,255,255,2,73,70,5,36,1,31,192,197,226,37,1,32,192,197,34,0,74,160,5,0,0,61,0,218,1,107,0,122,30,54,0,234,30,26,0,238,30,12,0,238,30,51,192,197,99,239,30,51,192,197,195,240,30,52,192,197,35,241,30,52,192,197,131,234,30,49,192,197,227,235,30,50,192,197,67,236,30,50,192,197,163,237,30,51,192,197,3,230,30,12,0,230,30,48,192,197,162,231,30,48,192,197,226,232,30,49,192,197,35,233,30,49,192,197,131,122,30,47,192,197,99,123,30,47,192,197,195,228,30,48,192,197,34,229,30,48,192,197,98,114,30,26,0,118,30,12,0,118,30,46,192,197,34,119,30,46,192,197,98,120,30,46,192,197,163,121,30,47,192,197,3,114,30,45,192,197,34,115,30,45,192,197,98,116,30,45,192,197,162,117,30,45,192,197,226,20,2,12,0,20,2,44,192,197,34,21,2,44,192,197,98,22,2,44,192,197,162,23,2,44,192,197,226,218,1,43,192,197,3,219,1,43,192,197,99,220,1,43,192,197,195,109,1,54,0,176,1,26,0,214,1,12,0,214,1,42,192,197,67,215,1,35,192,197,163,216,1,36,192,197,3,217,1,42,192,197,163,176,1,41,192,197,34,211,1,41,192,197,98,212,1,41,192,197,162,213,1,41,192,197,227,113,1,12,0,113,1,40,192,197,34,114,1,40,192,197,98,115,1,40,192,197,162,175,1,40,192,197,226,109,1,39,192,197,34,110,1,39,192,197,98,111,1,39,192,197,162,112,1,39,192,197,226,250,0,26,0,105,1,12,0,105,1,38,192,197,34,106,1,38,192,197,98,107,1,38,192,197,162,108,1,38,192,197,226,250,0,37,192,197,98,251,0,37,192,197,162,252,0,36,192,197,2,104,1,37,192,197,226,218,0,12,0,218,0,36,192,197,162,219,0,36,192,197,226,220,0,35,192,197,162,249,0,37,192,197,34,85,0,5,0,117,0,9,0,217,0,36,192,197,98,240,127,2,75,135,5,68,3,35,192,197,163,240,127,2,75,70,5,68,3,36,192,197,3,0,80,156,5,36,0,34,30,63,0,43,30,32,0,92,30,15,0,92,30,59,192,197,227,93,30,60,192,197,67,94,30,60,192,197,162,95,30,60,192,197,226,150,30,61,192,197,34,43,30,58,192,197,162,88,30,58,192,197,226,89,30,59,192,197,34,90,30,59,192,197,98,91,30,59,192,197,162,38,30,15,0,38,30,57,192,197,98,39,30,57,192,197,162,40,30,57,192,197,226,41,30,58,192,197,34,42,30,58,192,197,98,34,30,56,192,197,98,35,30,56,192,197,162,36,30,56,192,197,226,37,30,57,192,197,34,87,1,29,0,17,2,15,0,17,2,55,192,197,34,18,2,55,192,197,98,19,2,55,192,197,162,30,2,55,192,197,226,31,2,56,192,197,34,87,1,54,192,197,34,88,1,54,192,197,98,89,1,54,192,197,162,16,2,54,192,197,226,36,1,15,0,36,1,52,192,197,226,37,1,53,192,197,34,84,1,53,192,197,98,85,1,53,192,197,162,86,1,53,192,197,226,72,0,255,255,2,81,135,5,82,0,255,255,3,81,135,5,104,0,255,255,2,81,70,5,114,0,255,255,3,81,70,5,0,82,156,5,48,0,27,3,255,255,2,83,134,5,0,42,5,5,1,0,2,3,3,235,5,5,6,3,2,235,5,5,0,46,5,5,8,0,37,30,15,0,37,30,62,192,197,34,39,30,62,192,197,98,41,30,62,192,197,162,43,30,62,192,197,226,150,30,63,192,197,34,104,0,2,239,5,5,37,1,61,192,197,98,31,2,61,192,197,162,35,30,61,192,197,226,0,50,5,5,48,0,2,3,2,243,5,5,0,54,5,5,24,0,9,2,45,0,41,30,23,0,47,30,12,0,47,30,63,192,197,99,150,30,68,192,197,66,201,30,68,192,197,130,203,30,68,192,197,194,41,30,67,192,197,130,43,30,67,192,197,194,45,30,68,192,197,2,35,30,9,0,35,30,66,192,197,194,37,30,67,192,197,2,39,30,67,192,197,66,9,2,66,192,197,2,11,2,66,192,197,66,31,2,66,192,197,130,37,1,20,0,45,1,9,0,45,1,65,192,197,66,47,1,65,192,197,130,208,1,65,192,197,194,37,1,64,192,197,130,41,1,64,192,197,194,43,1,65,192,197,2,237,0,9,0,237,0,64,192,197,2,238,0,64,192,197,66,239,0,63,192,197,98,104,0,2,247,5,5,105,0,3,0,236,0,63,192,197,194,240,127,3,55,5,5,68,3,63,192,197,99,0,62,5,5,8,0,37,30,15,0,37,30,69,192,197,194,39,30,70,192,197,2,41,30,70,192,197,66,43,30,70,192,197,130,150,30,70,192,197,194,104,0,2,255,5,5,37,1,69,192,197,2,31,2,69,192,197,66,35,30,69,192,197,130,0,68,5,5,16,0,245,1,29,0,37,30,15,0,37,30,75,192,197,130,39,30,75,192,197,194,41,30,76,192,197,2,43,30,76,192,197,66,150,30,76,192,197,130,245,1,74,192,197,130,31,2,74,192,197,194,33,30,75,192,197,2,35,30,75,192,197,66,33,1,12,0,33,1,73,192,197,130,35,1,73,192,197,194,37,1,74,192,197,2,231,1,74,192,197,66,103,0,10,0,104,0,255,255,2,69,5,5,29,1,73,192,197,2,31,1,73,192,197,66,200,127,3,69,5,5,37,30,15,0,37,30,71,192,197,194,39,30,72,192,197,2,41,30,72,192,197,66,43,30,72,192,197,130,150,30,72,192,197,194,104,0,255,255,4,69,5,5,37,1,71,192,197,2,31,2,71,192,197,66,35,30,71,192,197,130,0,70,5,5,1,0,2,3,255,255,2,71,5,5,27,3,255,255,3,71,5,5,0,72,5,5,8,0,37,30,15,0,37,30,77,192,197,130,39,30,77,192,197,194,41,30,78,192,197,2,43,30,78,192,197,66,150,30,78,192,197,130,104,0,255,255,2,73,5,5,37,1,76,192,197,194,31,2,77,192,197,2,35,30,77,192,197,66,0,74,5,5,30,0,218,1,54,0,123,30,26,0,235,30,12,0,235,30,85,192,197,227,237,30,86,192,197,67,239,30,86,192,197,163,241,30,87,192,197,3,123,30,84,192,197,163,229,30,85,192,197,2,231,30,85,192,197,66,233,30,85,192,197,131,115,30,12,0,115,30,83,192,197,130,117,30,83,192,197,194,119,30,84,192,197,2,121,30,84,192,197,67,218,1,82,192,197,67,220,1,82,192,197,163,21,2,83,192,197,2,23,2,83,192,197,66,109,1,26,0,176,1,12,0,176,1,81,192,197,98,212,1,81,192,197,162,214,1,81,192,197,227,216,1,78,192,197,195,109,1,80,192,197,98,111,1,80,192,197,162,113,1,80,192,197,226,115,1,81,192,197,34,251,0,12,0,251,0,79,192,197,162,252,0,78,192,197,194,105,1,79,192,197,226,107,1,80,192,197,34,117,0,6,0,249,0,79,192,197,34,250,0,79,192,197,98,240,127,2,75,5,5,68,3,78,192,197,195,0,80,5,5,18,0,35,30,32,0,89,30,15,0,89,30,90,192,197,98,91,30,90,192,197,162,93,30,90,192,197,227,95,30,91,192,197,66,150,30,91,192,197,130,35,30,89,192,197,34,37,30,89,192,197,98,39,30,89,192,197,162,41,30,89,192,197,226,43,30,90,192,197,34,87,1,15,0,87,1,87,192,197,226,89,1,88,192,197,34,17,2,88,192,197,98,19,2,88,192,197,162,31,2,88,192,197,226,104,0,255,255,2,81,5,5,114,0,255,255,3,81,5,5,37,1,87,192,197,98,85,1,87,192,197,162,0,82,5,5,48,0,27,3,255,255,2,83,5,5,156,42,196,162,1,0,2,3,96,192,197,66,6,3,96,192,197,130,5,42,196,162,1,0,2,3,96,192,197,194,6,3,97,192,197,2,156,50,196,162,48,0,2,3,97,192,197,194,5,50,196,162,48,0,2,3,98,192,197,2,156,82,196,162,48,0,27,3,101,192,197,66,5,82,196,162,48,0,27,3,101,192,197,130,3,71,134,5,48,0,2,3,102,192,197,66,3,71,5,5,48,0,2,3,102,192,197,130,156,70,196,162,1,0,2,3,103,192,197,130,27,3,103,192,197,194,5,70,196,162,1,0,2,3,104,192,197,2,27,3,104,192,197,66,156,50,196,160,48,0,2,3,107,192,197,66,5,50,196,160,48,0,2,3,107,192,197,130,156,42,196,200,1,0,2,3,114,192,197,66,6,3,114,192,197,130,5,42,196,200,1,0,2,3,114,192,197,194,6,3,115,192,197,2,156,50,196,204,48,0,2,3,117,192,197,194,5,50,196,204,48,0,2,3,118,192,197,2,156,50,196,208,48,0,2,3,118,192,197,66,5,50,196,208,48,0,2,3,118,192,197,130,133,0,197,130,1,0,2,3,133,192,197,194,6,3,134,192,197,2,134,0,197,66,1,0,2,3,134,192,197,130,6,3,134,192,197,194,139,0,197,130,48,0,2,3,139,192,197,194,140,0,197,2,48,0,2,3,140,192,197,66,144,0,197,130,48,0,2,3,144,192,197,194,145,0,197,2,48,0,2,3,145,192,197,66,150,0,197,2,48,0,2,3,150,192,197,67,150,0,197,162,48,0,2,3,150,192,197,227,56,0,71,0,74,0,82,0,83,0,85,0,86,0,103,0,106,0,114,0,115,0,117,0,118,0,204,0,208,0,217,0,221,0,236,0,240,0,249,0,253,0,28,1,38,1,40,1,49,1,84,1,90,1,104,1,116,1,175,1,177,1,207,1,209,1,211,1,221,1,230,1,232,1,244,1,246,1,8,2,12,2,16,2,24,2,30,2,32,2,32,30,48,30,88,30,96,30,114,30,124,30,150,30,151,30,200,30,204,30,228,30,242,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,68,28,4,185,80,38,4,185,96,40,4,185,112,186,116,186,124,86,4,185,136,185,140,96,4,124,4,126,4,136,4,185,188,186,192,180,4,206,4,185,216,185,220,185,224,185,228,185,232,88,13,168,13,96,13,56,14,80,12,40,14,208,4,168,68,210,4,168,80,216,4,168,96,218,4,168,112,168,116,168,124,241,4,168,136,168,140,247,4,6,5,8,5,14,5,168,188,168,192,37,5,51,5,168,216,168,220,168,224,168,228,168,232,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,160,64,13,1,0,1,0,1,0,192,12,153,57,217,57,185,64,185,57,121,58,89,58,0,8,249,74,154,89,218,89,185,92,122,90,154,117,218,117,26,118,122,118,217,80,186,145,153,161,217,161,185,164,185,161,121,162,136,14,217,162,153,213,217,213,25,214,121,214,217,229,185,236,2,8,136,57,200,57,168,64,168,57,104,58,72,58,4,8,232,74,136,89,200,89,168,92,104,90,136,117,200,117,8,118,104,118,200,80,168,145,136,161,200,161,168,164,168,161,104,162,128,14,200,162,136,213,200,213,8,214,104,214,200,229,168,236,104,230,57,59,40,59,185,60,168,60,53,5,55,5,217,73,200,73,25,74,8,74,185,74,168,74,57,74,40,74,57,82,40,82,185,84,168,84,58,91,40,91,250,89,232,89,186,90,168,90,57,5,59,5,58,90,40,90,25,102,8,102,249,101,232,101,185,102,168,102,249,102,232,102,25,114,8,114,89,115,72,115,186,117,168,117,58,119,40,119,250,117,232,117,26,119,8,119,186,118,168,120,6,8,8,8,26,126,8,126,249,130,232,130,168,184,217,137,200,137,249,138,232,138,57,138,40,138,121,139,104,139,89,139,72,139,218,145,200,145,250,146,232,146,58,146,40,146,10,8,185,156,168,156,57,163,40,163,249,161,232,161,153,162,136,162,12,8,14,8,217,189,200,189,249,190,232,190,57,190,40,190,218,193,200,193,26,194,8,194,250,194,232,194,58,194,40,194,249,198,232,198,57,198,40,198,185,208,168,208,185,213,168,213,57,215,40,215,249,213,232,213,89,214,72,214,153,214,136,214,61,5,63,5,25,222,8,222,25,230,8,230,121,230,217,233,200,233,185,234,168,234,57,234,40,234,232,192,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,88,200,192,169,192,200,56,169,88,187,116,187,124,169,116,169,124,169,240,169,144,217,160,187,88,200,160,169,88,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,185,72,72,4,186,76,104,4,177,76,36,5,26,78,37,5,17,78,255,5,186,88,255,5,185,100,72,4,186,104,73,2,104,4,177,104,105,2,204,4,154,109,205,4,218,109,206,4,26,110,207,4,122,110,236,4,145,109,237,4,209,109,238,4,17,110,239,4,113,110,36,5,26,106,37,5,17,106,40,5,186,109,41,5,177,109,42,5,58,111,43,5,49,111,44,5,250,109,45,5,241,109,46,5,26,111,47,5,17,111,48,5,186,110,255,5,185,128,72,4,186,132,104,4,177,132,36,5,26,134,37,5,17,134,255,5,186,144,71,2,72,4,186,148,103,2,104,4,177,148,28,5,26,154,29,5,17,154,30,5,250,153,31,5,241,153,32,5,186,154,33,5,177,154,34,5,250,154,35,5,241,154,36,5,26,150,37,5,17,150,255,5,185,160,255,5,185,168,72,4,186,172,104,4,177,172,36,5,26,174,37,5,17,174,255,5,185,176,85,2,117,2,217,4,154,181,218,4,218,181,219,4,26,182,220,4,122,182,249,4,145,181,250,4,209,181,251,4,17,182,252,4,113,182,104,5,186,181,105,5,177,181,106,5,58,183,107,5,49,183,108,5,250,181,109,5,241,181,110,5,90,182,111,5,81,182,112,5,154,182,113,5,145,182,114,5,26,183,115,5,17,183,255,5,185,196,72,4,186,200,82,4,186,204,104,4,177,200,114,4,177,204,36,5,26,202,37,5,17,202,84,5,218,205,85,5,209,205,86,5,250,206,87,5,241,206,88,5,58,206,89,5,49,206,255,5,185,212,255,5,168,56,255,5,168,72,104,4,168,76,37,5,8,78,255,5,168,88,255,5,168,100,104,4,168,104,105,2,236,4,136,109,237,4,200,109,238,4,8,110,239,4,104,110,37,5,8,106,41,5,168,109,43,5,40,111,45,5,232,109,47,5,8,111,255,5,168,128,104,4,168,132,37,5,8,134,255,5,168,144,103,2,104,4,168,148,29,5,8,154,31,5,232,153,33,5,168,154,35,5,232,154,37,5,8,150,255,5,168,160,255,5,168,168,104,4,168,172,37,5,8,174,255,5,168,176,117,2,249,4,136,181,250,4,200,181,251,4,8,182,252,4,104,182,105,5,168,181,107,5,40,183,109,5,232,181,111,5,72,182,113,5,136,182,115,5,8,183,255,5,168,196,104,4,168,200,114,4,168,204,37,5,8,202,85,5,200,205,87,5,232,206,89,5,40,206,255,5,168,212,255,5,25,59,255,5,8,59,255,5,26,91,255,5,8,91,255,5,25,215,255,5,8,215,255,1,3,0,69,0,52,0,61,0,71,15,0,16,90,0,0,96,1,0,0,96,2,0,43,0,84,0,170,170,63,15,0,32,35,36,0,32,1,0,32,0,40,36,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,198,9,0,32,7,0,0,0,21,0,0,0,200,9,0,0,200,9,0,0,3,0,0,0,0,0,0,0,55,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,62,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,38,0,65,0,60,0,224,0,60,0,60,0,60,0,192,0,38,0,69,0,60,0,233,0,60,0,60,0,60,0,201,0,60,0,235,0,60,0,60,0,60,0,203,0,38,0,78,0,60,0,241,0,60,0,60,0,60,0,209,0,60,0,75,1,60,0,60,0,60,0,74,1,38,0,79,0,60,0,243,0,60,0,60,0,60,0,211,0,0,0,28,38,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,116,29,0,0,116,29,0,0,116,29,0,0,116,29,0,0,40,31,0,0,40,31,0,0,12,34,0,0,12,34,0,0,4,38,0,0,50,105,114,84,1,0,64,8,202,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,95,0,103,0,103,0,111,0,112,0,120,0,123,0,131,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,155,0,48,0,162,0,48,0,48,0,170,0,177,0,185,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,147,0,48,0,48,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,139,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,124,1,156,1,192,1,236,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,96,12,0,202,129,12,0,202,162,12,0,202,195,12,0,202,228,12,0,202,5,13,0,202,38,13,0,202,71,13,0,202,104,13,0,202,137,13,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,38,1,0,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,201,166,2,0,201,134,3,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,230,4,0,5,5,0,44,5,5,0,46,5,5,0,48,201,6,6,0,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,201,134,7,0,201,102,8,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,43,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,162,11,0,196,160,156,46,196,138,156,50,134,5,2,51,196,142,156,50,134,5,3,51,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,134,5,2,69,196,138,156,70,134,5,2,71,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,226,11,0,5,5,2,43,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,34,12,0,196,160,5,46,196,138,5,50,5,5,2,51,196,142,5,50,5,5,3,51,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,5,5,2,69,196,138,5,70,5,5,2,71,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,9,0,201,166,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,11,0,201,70,13,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,14,0,201,134,15,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,3,69,5,5,3,69,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,16,0,201,102,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,18,0,201,166,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,20,0,201,70,22,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,23,0,201,230,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,26,0,201,134,27,0,201,6,29,0,201,134,30,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,32,0,201,198,32,0,201,134,33,0,201,70,34,0,201,6,35,0,201,198,35,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,134,36,0,201,166,37,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,38,0,201,70,40,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,198,41,0,201,230,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,2,0,197,98,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,44,0,201,38,45,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,134,5,2,43,5,162,0,0,5,5,2,43,5,162,0,0,134,5,2,51,5,162,0,0,134,5,3,51,5,162,0,0,5,5,2,51,5,162,0,0,5,5,3,51,5,162,0,0,134,5,2,69,5,160,0,0,5,5,2,69,5,160,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,51,5,160,0,0,134,5,3,51,5,160,0,0,5,5,2,51,5,160,0,0,5,5,3,51,5,160,0,0,134,5,2,43,5,200,0,0,5,5,2,43,5,200,0,0,134,5,2,51,5,204,0,0,134,5,3,51,5,204,0,0,5,5,2,51,5,204,0,0,5,5,3,51,5,204,0,0,134,5,2,51,5,208,0,0,134,5,3,51,5,208,0,0,5,5,2,51,5,208,0,0,5,5,3,51,5,208,0,0,134,5,2,69,5,196,0,0,5,5,2,69,5,196,0,0,134,5,2,69,5,210,0,0,5,5,2,69,5,210,0,0,134,5,2,69,5,204,0,0,5,5,2,69,5,204,0,0,134,5,2,43,5,196,0,0,5,5,2,43,5,196,0,0,134,5,2,51,5,196,0,0,134,5,3,51,5,196,0,0,5,5,2,51,5,196,0,0,5,5,3,51,5,196,0,0,134,5,2,71,5,196,0,0,5,5,2,71,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,5,2,71,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,5,2,71,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,1,0,0,3,2,235,134,5,64,3,2,235,134,5,0,50,156,5,2,0,1,3,2,243,134,5,8,3,3,243,134,5,65,3,2,243,134,5,0,68,156,5,48,0,3,3,255,255,2,69,134,5,0,70,156,5,1,0,1,3,255,255,2,71,134,5,65,3,255,255,2,71,134,5,0,42,5,5,1,0,0,3,2,235,5,5,64,3,2,235,5,5,0,50,5,5,2,0,1,3,2,243,5,5,8,3,3,243,5,5,65,3,2,243,5,5,0,68,5,5,48,0,3,3,255,255,2,69,5,5,0,70,5,5,1,0,1,3,255,255,2,71,5,5,65,3,255,255,2,71,5,5,156,42,196,162,1,0,0,3,197,162,64,3,197,162,5,42,196,162,1,0,0,3,0,192,197,98,64,3,0,192,197,98,156,50,196,162,2,0,1,3,0,192,197,162,8,3,0,192,197,226,65,3,0,192,197,162,5,50,196,162,2,0,1,3,1,192,197,34,8,3,1,192,197,98,65,3,1,192,197,34,156,68,196,160,48,0,3,3,1,192,197,162,5,68,196,160,48,0,3,3,1,192,197,226,156,70,196,190,1,0,1,3,2,192,197,34,65,3,2,192,197,34,5,70,196,190,1,0,1,3,2,192,197,98,65,3,2,192,197,98,156,70,196,162,1,0,1,3,2,192,197,162,65,3,2,192,197,162,5,70,196,162,1,0,1,3,2,192,197,226,65,3,2,192,197,226,156,50,196,160,2,0,1,3,3,192,197,34,8,3,3,192,197,98,65,3,3,192,197,34,5,50,196,160,2,0,1,3,3,192,197,162,8,3,3,192,197,226,65,3,3,192,197,162,156,42,196,200,1,0,0,3,4,192,197,34,64,3,4,192,197,34,5,42,196,200,1,0,0,3,4,192,197,98,64,3,4,192,197,98,156,50,196,204,2,0,1,3,4,192,197,162,8,3,4,192,197,226,65,3,4,192,197,162,5,50,196,204,2,0,1,3,5,192,197,34,8,3,5,192,197,98,65,3,5,192,197,34,156,50,196,208,2,0,1,3,5,192,197,162,8,3,5,192,197,226,65,3,5,192,197,162,5,50,196,208,2,0,1,3,6,192,197,34,8,3,6,192,197,98,65,3,6,192,197,34,156,68,196,196,48,0,3,3,6,192,197,162,5,68,196,196,48,0,3,3,6,192,197,226,156,68,196,210,48,0,3,3,7,192,197,34,5,68,196,210,48,0,3,3,7,192,197,98,156,68,196,204,48,0,3,3,7,192,197,162,5,68,196,204,48,0,3,3,7,192,197,226,156,42,196,196,1,0,0,3,8,192,197,34,64,3,8,192,197,34,5,42,196,196,1,0,0,3,8,192,197,98,64,3,8,192,197,98,156,50,196,196,2,0,1,3,8,192,197,162,8,3,8,192,197,226,65,3,8,192,197,162,5,50,196,196,2,0,1,3,9,192,197,34,8,3,9,192,197,98,65,3,9,192,197,34,156,70,196,196,1,0,1,3,9,192,197,162,65,3,9,192,197,162,5,70,196,196,1,0,1,3,9,192,197,226,65,3,9,192,197,226,10,0,197,35,1,0,1,3,10,192,197,131,65,3,10,192,197,131,10,0,197,227,1,0,1,3,11,192,197,67,65,3,11,192,197,67,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,64,185,68,185,72,28,4,185,88,185,92,185,96,186,100,186,108,185,112,185,116,185,120,30,4,32,4,185,144,185,148,185,156,186,160,185,164,185,172,185,176,185,180,185,184,185,188,185,192,88,13,168,13,96,13,56,14,80,12,40,14,34,4,168,64,168,68,168,72,36,4,168,88,168,92,168,96,168,100,168,108,168,112,168,116,168,120,38,4,40,4,168,144,168,148,168,156,168,160,168,164,168,172,168,176,168,180,168,184,168,188,168,192,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,136,64,13,1,0,1,0,1,0,192,12,185,60,153,57,249,57,153,58,89,58,57,58,0,8,249,70,186,77,185,80,250,77,185,84,186,101,154,101,250,101,90,102,217,72,185,128,185,137,185,140,249,137,153,138,89,138,136,14,217,138,185,173,153,173,249,173,89,174,153,189,185,196,2,8,168,60,136,57,232,57,136,58,72,58,40,58,4,8,232,70,168,77,168,80,232,77,168,84,168,101,136,101,232,101,72,102,200,72,168,128,168,137,168,140,232,137,136,138,72,138,128,14,200,138,168,173,136,173,232,173,72,174,136,189,168,196,72,190,57,59,40,59,217,57,200,57,42,4,44,4,153,69,136,69,249,69,232,69,185,70,168,70,25,70,8,70,25,74,8,74,89,75,72,75,58,79,40,79,218,77,200,77,186,78,168,78,46,4,48,4,26,78,8,78,249,93,232,93,217,93,200,93,185,94,168,94,249,94,232,94,249,97,232,97,89,99,72,99,154,102,136,102,58,103,40,103,218,101,200,101,26,103,8,103,186,102,168,104,6,8,8,8,250,109,232,109,249,114,232,114,168,152,153,117,136,117,249,118,232,118,25,118,8,118,121,119,104,119,89,119,72,119,154,125,136,125,50,4,52,4,26,126,8,126,10,8,185,132,168,132,57,139,40,139,217,137,200,137,121,138,104,138,12,8,14,8,153,157,136,157,249,158,232,158,25,158,8,158,154,161,136,161,250,161,232,161,250,162,232,162,26,162,8,162,249,166,232,166,25,166,8,166,185,168,168,168,153,174,136,174,57,175,40,175,217,173,200,173,57,174,40,174,121,174,104,174,25,175,8,175,249,181,232,181,249,189,232,189,89,190,153,193,136,193,185,194,168,194,25,194,8,194,232,160,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,76,200,160,169,160,200,56,169,76,187,100,187,108,169,100,169,108,169,200,169,124,217,136,187,76,200,136,169,76,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,76,255,5,186,124,255,5,185,136,255,5,168,56,255,5,168,76,255,5,168,124,255,5,168,136,255,5,25,59,255,5,8,59,255,5,26,79,255,5,8,79,255,5,250,126,255,5,232,126,255,1,3,0,69,0,52,0,61,0,55,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,191,9,0,32,1,0,32,0,196,9,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,76,16,0,32,7,0,0,0,23,0,0,0,78,16,0,0,78,16,0,0,3,0,0,0,0,0,0,0,124,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,101,97,114,99,104,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,115,116,97,110,100,97,114,100,0,170,0,0,52,0,50,0,0,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,115,0,101,0,97,0,114,0,99,0,104,0,93,0,14,32,38,0,243,5,60,0,60,0,39,0,39,0,14,32,38,0,244,5,60,0,60,0,39,0,34,0,39,0,0,0,155,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,101,0,98,0,114,0,93,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,39,0,39,0,60,0,60,0,243,5,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,39,0,34,0,39,0,60,0,60,0,244,5,38,0,209,5,60,0,209,5,191,5,38,0,213,5,60,0,60,0,213,5,188,5,60,0,60,0,213,5,213,5,60,0,60,0,213,5,217,5,38,0,217,5,60,0,60,0,217,5,180,5,60,0,60,0,217,5,217,5,60,0,60,0,242,5,183,5,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,219,5,60,0,219,5,188,5,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,228,5,60,0,228,5,188,5,38,0,228,5,191,5,60,0,60,0,60,0,227,5,38,0,233,5,60,0,233,5,194,5,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,49,0,93,0,234,5,60,0,234,5,188,5,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,106,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,0,15,0,0,0,0,0,0,0,0,61,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,228,31,0,0,228,31,0,0,228,31,0,0,228,31,0,0,12,34,0,0,12,34,0,0,82,34,0,0,82,34,0,0,82,34,0,0,50,105,114,84,1,0,64,8,241,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,94,0,102,0,110,0,118,0,48,0,56,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,142,0,150,0,48,0,48,0,48,0,158,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,0,48,0,48,0,174,0,48,0,180,0,188,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,191,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,199,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,202,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,140,0,48,0,48,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,232,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,210,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,224,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,120,1,184,1,192,0,212,1,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,253,0,0,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,194,5,221,251,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,0,16,0,202,33,16,0,202,66,16,0,202,99,16,0,202,132,16,0,202,165,16,0,202,198,16,0,202,231,16,0,202,8,17,0,202,41,17,0,5,5,54,7,5,5,42,7,5,5,129,12,201,6,0,0,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,6,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,34,7,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,7,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,220,251,5,252,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,26,102,5,71,26,102,5,70,222,102,5,72,26,102,5,70,238,102,201,198,0,0,192,0,0,0,5,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,2,0,5,71,238,102,201,134,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,222,102,6,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,204,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,114,5,5,124,114,5,5,126,114,5,5,128,114,5,5,130,114,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,115,5,5,124,115,5,5,126,115,5,5,128,115,5,5,130,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,0,0,192,0,0,0,192,0,0,0,197,98,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,0,0,192,0,0,0,197,226,0,0,192,0,0,0,192,0,0,0,197,34,1,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,1,0,192,0,0,0,197,162,1,0,192,0,0,0,197,226,1,0,192,0,0,0,197,34,2,0,192,0,0,0,197,98,2,0,197,163,2,0,197,2,3,0,192,0,0,0,192,0,0,0,197,66,3,0,197,131,3,0,197,226,3,0,192,0,0,0,192,0,0,0,197,34,4,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,142,9,118,5,5,11,118,193,2,13,118,192,0,0,0,192,0,0,0,193,23,13,118,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,12,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,193,126,133,115,193,133,133,115,192,0,0,0,192,0,0,0,193,154,133,115,192,0,0,0,193,168,133,115,193,175,133,115,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,71,238,102,7,71,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,26,102,6,70,26,102,7,71,26,102,6,71,26,102,7,70,222,102,6,70,222,102,7,72,26,102,6,72,26,102,9,70,238,102,8,70,238,102,6,70,238,102,7,70,238,102,7,5,26,102,6,5,26,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,70,214,102,6,70,214,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,214,102,8,5,214,102,6,5,214,102,7,5,214,102,8,5,222,102,7,5,222,102,9,71,238,102,8,71,238,102,10,5,238,102,9,5,238,102,7,5,238,102,8,5,238,102,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,5,6,121,5,5,6,121,5,5,12,121,5,5,12,121,5,5,20,121,5,5,20,121,5,5,24,121,5,5,24,121,5,5,30,121,5,5,30,121,5,5,103,121,5,5,143,121,5,5,107,121,5,5,143,121,5,5,111,121,5,5,143,121,5,5,115,121,5,5,143,121,5,5,119,121,5,5,103,121,5,5,119,121,5,5,103,121,5,5,143,121,5,5,119,121,5,5,143,121,5,5,129,121,5,5,111,121,5,5,129,121,5,5,111,121,5,5,143,121,5,5,129,121,5,5,143,121,5,5,139,121,5,5,143,121,5,5,6,121,5,5,24,121,5,5,10,121,5,5,30,121,5,5,10,121,5,5,42,121,5,5,16,121,5,5,6,121,5,5,16,121,5,5,18,121,5,5,16,121,5,5,20,121,5,5,16,121,5,5,24,121,5,5,16,121,5,5,38,121,5,5,16,121,5,5,40,121,5,5,16,121,5,5,42,121,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,6,121,197,34,0,0,5,5,10,121,5,5,12,121,197,98,0,0,5,5,16,121,5,5,18,121,5,5,20,121,197,162,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,197,34,1,0,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,103,121,197,98,1,0,5,5,107,121,197,162,1,0,5,5,111,121,197,226,1,0,5,5,115,121,197,34,2,0,5,5,119,121,197,98,2,0,197,163,2,0,197,2,3,0,5,5,127,121,5,5,129,121,197,66,3,0,197,131,3,0,197,226,3,0,5,5,137,121,5,5,139,121,197,34,4,0,5,5,143,121,5,5,6,121,197,34,0,0,197,98,4,0,5,5,10,121,197,162,4,0,197,226,4,0,5,5,12,121,5,5,16,121,197,34,5,0,197,98,5,0,197,162,5,0,197,226,5,0,197,34,6,0,197,98,6,0,197,162,6,0,5,5,18,121,5,5,20,121,197,194,0,0,5,5,24,121,197,226,0,0,5,5,28,121,5,5,30,121,5,5,34,121,5,5,36,121,5,5,38,121,5,5,40,121,5,5,42,121,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,131,12,5,5,48,0,56,3,132,204,5,5,26,102,5,5,2,0,83,6,255,255,26,102,5,70,84,6,255,255,26,102,5,71,85,6,255,255,26,102,5,72,222,102,5,5,48,0,84,6,255,255,222,102,5,70,238,102,5,5,48,0,84,6,255,255,238,102,5,70,170,170,3,0,67,0,50,0,59,0,127,0,0,16,4,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,124,28,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,16,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,64,0,0,0,76,0,0,0,76,1,0,0,124,26,0,0,124,26,0,0,124,26,0,0,124,26,0,0,84,27,0,0,84,27,0,0,74,28,0,0,100,28,0,0,19,0,0,0,0,0,0,101,194,255,50,101,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,0,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,50,105,114,84,1,0,64,8,138,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,80,0,88,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,129,0,104,0,48,0,48,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,105,0,113,0,121,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,128,5,0,202,161,5,0,202,194,5,0,202,227,5,0,202,4,6,0,202,37,6,0,202,70,6,0,202,103,6,0,202,136,6,0,202,169,6,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,156,5,0,50,156,5,0,52,156,5,0,54,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,156,5,0,70,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,5,5,0,50,5,5,0,52,5,5,0,54,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,5,5,0,70,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,194,4,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,2,5,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,66,5,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,228,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,100,4,0,192,0,0,0,201,134,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,1,0,201,102,7,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,70,8,0,201,38,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,6,10,0,5,2,106,9,5,2,120,9,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,24,101,192,0,0,0,5,72,24,101,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,10,0,193,2,47,101,201,166,11,0,197,2,3,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,12,0,192,0,0,0,192,0,0,0,192,0,0,0,5,70,16,101,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,101,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,3,0,5,5,37,101,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,13,0,193,3,47,101,201,166,14,0,5,5,9,101,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,5,72,16,101,194,5,167,226,5,71,16,101,194,5,210,227,5,72,16,101,194,5,210,227,5,71,16,101,194,5,78,227,5,71,24,101,194,5,167,226,5,71,24,101,194,5,210,227,5,5,38,101,194,6,243,227,32,5,24,101,32,5,24,101,5,5,46,101,194,5,177,227,193,2,47,101,194,5,177,227,5,5,46,101,194,5,210,227,194,5,177,227,193,2,47,101,194,5,210,227,194,5,177,227,5,5,8,101,194,5,210,227,5,5,9,101,194,5,210,227,5,5,38,101,194,6,243,227,194,5,210,227,5,5,16,101,194,5,78,227,5,70,16,101,194,5,78,227,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,8,101,5,5,48,0,191,5,255,255,9,101,5,5,16,101,5,5,6,0,29,251,11,0,29,251,197,162,53,251,0,192,197,98,57,251,0,192,197,162,75,251,0,192,197,226,188,5,255,255,16,101,5,70,213,5,255,255,16,101,5,71,217,5,255,255,16,101,5,72,24,101,5,5,3,0,180,5,255,255,24,101,5,70,217,5,255,255,24,101,5,71,29,251,1,192,197,34,57,251,1,192,197,98,26,101,5,5,48,0,188,5,255,255,25,101,5,5,38,101,5,5,48,0,188,5,255,255,37,101,5,5,46,101,5,5,48,0,194,5,255,255,47,101,193,2,48,101,5,5,48,0,188,5,255,255,47,101,193,3,1,0,197,226,48,0,183,5,255,255,24,101,5,72,2,0,197,34,48,0,194,5,2,192,197,98,2,0,197,163,48,0,194,5,3,192,197,3,3,0,197,98,48,0,191,5,3,192,197,162,2,0,197,162,1,0,193,5,3,0,194,5,3,192,197,2,48,0,194,5,3,192,197,3,4,0,197,66,48,0,188,5,4,192,197,130,12,0,213,5,214,5,217,5,218,5,29,251,30,251,53,251,54,251,57,251,58,251,75,251,76,251,3,0,67,0,50,0,59,0,35,9,0,16,44,0,0,96,1,0,0,96,2,0,43,0,82,0,170,170,27,9,0,32,67,16,0,32,1,0,32,0,72,16,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,231,8,0,32,7,0,0,0,21,0,0,0,233,8,0,0,233,8,0,0,3,0,0,0,0,0,0,0,53,0,0,0,99,111,108,108,97,116,105,111,110,115,0,115,116,97,110,100,97,114,100,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,0,0,52,0,50,0,0,0,57,220,91,0,110,0,111,0,114,0,109,0,97,0,108,0,105,0,122,0,97,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,93,0,38,0,69,0,60,0,185,30,60,0,60,0,60,0,184,30,38,0,71,0,60,0,103,0,98,0,60,0,60,0,60,0,71,0,98,0,60,0,60,0,60,0,71,0,66,0,38,0,79,0,60,0,205,30,60,0,60,0,60,0,204,30,38,0,83,0,60,0,99,30,60,0,60,0,60,0,98,30,0,0,170,170,170,170,170,170,170,170,170,170,160,34,0,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,17,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,68,0,0,0,68,0,0,0,84,28,0,0,84,28,0,0,84,28,0,0,84,28,0,0,96,29,0,0,96,29,0,0,126,30,0,0,140,30,0,0,136,34,0,0,50,105,114,84,1,0,64,8,184,0,255,255,192,0,28,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,89,0,97,0,97,0,105,0,106,0,114,0,117,0,125,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,149,0,48,0,152,0,159,0,167,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,175,0,141,0,48,0,48,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,133,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,100,1,132,1,168,1,212,1,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,32,7,0,202,65,7,0,202,98,7,0,202,131,7,0,202,164,7,0,202,197,7,0,202,230,7,0,202,7,8,0,202,40,8,0,202,73,8,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,156,5,0,42,156,5,0,44,156,5,0,46,156,5,0,48,201,6,0,0,156,5,0,52,201,192,0,0,156,5,0,56,156,5,0,58,156,5,0,60,156,5,0,62,156,5,0,64,156,5,0,66,156,5,0,68,201,70,4,0,156,5,0,72,160,5,0,74,156,5,0,76,201,38,5,0,156,5,0,80,156,5,0,82,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,5,5,0,42,5,5,0,44,5,5,0,46,5,5,0,48,201,6,6,0,5,5,0,52,201,192,6,0,5,5,0,56,5,5,0,58,5,5,0,60,5,5,0,62,5,5,0,64,5,5,0,66,5,5,0,68,201,166,8,0,5,5,0,72,5,5,0,74,5,5,0,76,201,134,9,0,5,5,0,80,5,5,0,82,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,196,138,156,42,196,136,156,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,6,0,196,160,156,46,196,138,156,50,196,136,156,50,196,142,156,50,196,150,156,50,196,138,156,58,196,136,156,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,196,138,156,70,196,136,156,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,196,138,156,82,196,136,156,82,196,142,156,82,196,150,156,82,196,136,156,90,160,5,38,93,197,162,6,0,196,138,5,42,196,136,5,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,6,0,196,160,5,46,196,138,5,50,196,136,5,50,196,142,5,50,196,150,5,50,196,138,5,58,196,136,5,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,196,138,5,70,196,136,5,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,196,138,5,82,196,136,5,82,196,142,5,82,196,150,5,82,196,136,5,90,5,5,38,93,196,150,5,90,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,10,0,201,38,11,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,11,0,201,166,12,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,13,0,201,38,14,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,14,0,201,166,15,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,16,0,201,38,17,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,79,5,5,2,79,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,4,0,197,34,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,51,5,5,2,51,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,5,0,197,162,5,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,5,2,71,5,5,2,71,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,5,0,197,34,6,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,98,3,0,197,162,3,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,135,5,2,55,5,156,0,0,70,5,2,55,5,156,0,0,135,5,2,55,5,196,0,0,70,5,2,55,5,196,0,0,135,5,2,55,5,210,0,0,70,5,2,55,5,210,0,0,5,5,2,55,5,156,0,0,5,5,2,55,5,196,0,0,5,5,2,55,5,210,0,0,134,5,2,51,5,162,0,0,5,5,2,51,5,162,0,0,134,5,2,79,5,160,0,0,5,5,2,79,5,160,0,0,134,5,2,71,5,190,0,0,5,5,2,71,5,190,0,0,134,5,2,71,5,162,0,0,5,5,2,71,5,162,0,0,134,5,2,51,5,160,0,0,5,5,2,51,5,160,0,0,134,5,2,79,5,156,0,0,5,5,2,79,5,156,0,0,134,5,2,51,5,142,0,0,5,5,2,51,5,142,0,0,134,5,2,71,5,142,0,0,5,5,2,71,5,142,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,50,156,5,48,0,35,3,2,243,134,5,0,54,156,5,7,0,4,30,12,0,4,30,0,192,197,162,5,30,0,192,197,226,6,30,1,192,197,34,7,30,1,192,197,98,66,0,2,247,135,5,98,0,2,247,70,5,2,30,197,162,3,30,0,192,197,98,0,70,156,5,48,0,35,3,255,255,2,71,134,5,0,78,156,5,48,0,35,3,255,255,2,79,134,5,0,50,5,5,48,0,35,3,2,243,5,5,0,54,5,5,3,0,98,0,2,247,5,5,3,30,1,192,197,162,5,30,1,192,197,226,7,30,2,192,197,34,0,70,5,5,48,0,35,3,255,255,2,71,5,5,0,78,5,5,48,0,35,3,255,255,2,79,5,5,156,50,196,162,48,0,35,3,2,192,197,98,5,50,196,162,48,0,35,3,2,192,197,162,156,78,196,160,48,0,35,3,2,192,197,226,5,78,196,160,48,0,35,3,3,192,197,34,156,70,196,190,48,0,35,3,3,192,197,98,5,70,196,190,48,0,35,3,3,192,197,162,156,70,196,162,48,0,35,3,3,192,197,226,5,70,196,162,48,0,35,3,4,192,197,34,156,50,196,160,48,0,35,3,4,192,197,98,5,50,196,160,48,0,35,3,4,192,197,162,6,0,66,0,67,0,98,0,99,0,2,30,8,30,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,185,56,185,60,185,64,185,68,26,4,185,76,28,4,185,88,186,92,186,100,185,104,185,108,185,112,186,116,34,4,185,128,185,132,185,140,36,4,185,148,185,156,185,160,185,164,185,168,185,172,185,176,88,13,168,13,96,13,56,14,80,12,40,14,168,56,168,60,168,64,168,68,38,4,168,76,40,4,168,88,168,92,168,100,168,104,168,108,168,112,168,116,44,4,168,128,168,132,168,140,46,4,168,148,168,156,168,160,168,164,168,168,168,172,168,176,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,124,64,13,1,0,1,0,1,0,192,12,185,57,153,57,249,57,153,58,89,58,57,58,0,8,249,66,186,73,154,73,250,73,90,74,186,93,154,93,250,93,90,94,217,68,154,118,185,125,153,125,249,125,153,126,89,126,136,14,217,126,185,157,153,157,249,157,89,158,153,173,185,180,2,8,168,57,136,57,232,57,136,58,72,58,40,58,4,8,232,66,168,73,136,73,232,73,72,74,168,93,136,93,232,93,72,94,200,68,136,118,168,125,136,125,232,125,136,126,72,126,128,14,200,126,168,157,136,157,232,157,72,158,136,173,168,180,72,174,57,59,40,59,217,57,200,57,25,59,8,59,153,65,136,65,249,65,232,65,185,66,168,66,25,66,8,66,25,70,8,70,89,71,72,71,58,75,40,75,218,73,200,73,186,74,168,74,48,4,50,4,26,74,8,74,249,81,232,81,217,81,200,81,185,82,168,82,249,82,232,82,249,89,232,89,89,91,72,91,154,94,136,94,58,95,40,95,218,93,200,93,26,95,8,95,186,94,168,96,6,8,8,8,250,101,232,101,249,106,232,106,168,136,153,109,136,109,249,110,232,110,25,110,8,110,121,111,104,111,89,111,72,111,154,117,136,117,250,118,232,118,26,118,8,118,10,8,185,120,168,120,57,127,40,127,217,125,200,125,121,126,104,126,12,8,14,8,153,141,136,141,249,142,232,142,25,142,8,142,154,145,136,145,250,145,232,145,52,4,54,4,26,146,8,146,249,150,232,150,25,150,8,150,185,152,168,152,153,158,136,158,57,159,40,159,217,157,200,157,57,158,40,158,121,158,104,158,25,159,8,159,249,165,232,165,249,173,232,173,89,174,153,177,136,177,185,178,168,178,25,178,8,178,232,144,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,144,169,144,200,56,169,72,187,92,187,100,169,92,169,100,169,184,169,116,217,124,187,72,200,124,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,186,72,255,5,185,80,66,4,186,84,98,4,177,84,255,5,185,124,255,5,186,144,255,5,168,72,255,5,168,80,98,4,168,84,255,5,168,124,255,5,168,144,255,5,26,75,255,5,8,75,255,5,250,146,255,5,232,146,255,1,3,0,69,0,52,0,61,0,55,0,0,16,4,0,0,96,1,0,0,96,1,0,43,0,224,8,0,32,1,0,32,0,229,8,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,9,0,0,80,7,0,0,0,10,0,0,0,16,0,0,0,16,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,0,0,1,0,32,0,1,0,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,23,129,3,32,7,0,0,0,35,0,0,0,25,129,3,0,25,129,3,0,8,0,0,0,0,0,0,0,26,206,0,0,99,111,108,108,97,116,105,111,110,115,0,98,105,103,53,104,97,110,0,83,101,113,117,101,110,99,101,0,86,101,114,115,105,111,110,0,37,37,67,111,108,108,97,116,105,111,110,66,105,110,0,100,101,102,97,117,108,116,0,103,98,50,51,49,50,104,97,110,0,112,114,105,118,97,116,101,45,112,105,110,121,105,110,0,115,116,114,111,107,101,0,117,110,105,104,97,110,0,122,104,117,121,105,110,0,170,170,170,0,0,52,0,50,0,0,0,112,0,105,0,110,0,121,0,105,0,110,0,0,0,82,220,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,117,0,110,0,100,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,117,0,110,0,105,0,104,0,97,0,110,0,93,0,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,105,0,32,0,66,0,111,0,112,0,111,0,93,0,0,0,115,221,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,97,0,60,0,60,0,1,1,60,0,60,0,60,0,0,1,60,0,60,0,225,0,60,0,60,0,60,0,193,0,60,0,60,0,206,1,60,0,60,0,60,0,205,1,60,0,60,0,224,0,60,0,60,0,60,0,192,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,101,0,60,0,60,0,19,1,60,0,60,0,60,0,18,1,60,0,60,0,233,0,60,0,60,0,60,0,201,0,60,0,60,0,27,1,60,0,60,0,60,0,26,1,60,0,60,0,232,0,60,0,60,0,60,0,200,0,38,0,101,0,60,0,60,0,101,0,2,3,4,3,60,0,60,0,60,0,69,0,2,3,4,3,60,0,60,0,101,0,2,3,1,3,60,0,60,0,60,0,69,0,2,3,1,3,60,0,60,0,101,0,2,3,12,3,60,0,60,0,60,0,69,0,2,3,12,3,60,0,60,0,101,0,2,3,0,3,60,0,60,0,60,0,69,0,2,3,0,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,105,0,60,0,60,0,43,1,60,0,60,0,60,0,42,1,60,0,60,0,237,0,60,0,60,0,60,0,205,0,60,0,60,0,208,1,60,0,60,0,60,0,207,1,60,0,60,0,236,0,60,0,60,0,60,0,204,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,109,0,60,0,60,0,109,0,4,3,60,0,60,0,60,0,77,0,4,3,60,0,60,0,63,30,60,0,60,0,60,0,62,30,60,0,60,0,109,0,12,3,60,0,60,0,60,0,77,0,12,3,60,0,60,0,109,0,0,3,60,0,60,0,60,0,77,0,0,3,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,110,0,60,0,60,0,110,0,4,3,60,0,60,0,60,0,78,0,4,3,60,0,60,0,68,1,60,0,60,0,60,0,67,1,60,0,60,0,72,1,60,0,60,0,60,0,71,1,60,0,60,0,249,1,60,0,60,0,60,0,248,1,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,111,0,60,0,60,0,77,1,60,0,60,0,60,0,76,1,60,0,60,0,243,0,60,0,60,0,60,0,211,0,60,0,60,0,210,1,60,0,60,0,60,0,209,1,60,0,60,0,242,0,60,0,60,0,60,0,210,0,38,0,91,0,98,0,101,0,102,0,111,0,114,0,101,0,32,0,50,0,93,0,117,0,60,0,60,0,107,1,60,0,60,0,60,0,106,1,60,0,60,0,250,0,60,0,60,0,60,0,218,0,60,0,60,0,212,1,60,0,60,0,60,0,211,1,60,0,60,0,249,0,60,0,60,0,60,0,217,0,38,0,85,0,60,0,60,0,214,1,60,0,60,0,60,0,213,1,60,0,60,0,216,1,60,0,60,0,60,0,215,1,60,0,60,0,218,1,60,0,60,0,60,0,217,1,60,0,60,0,220,1,60,0,60,0,60,0,219,1,60,0,60,0,252,0,60,0,60,0,60,0,220,0,0,0,239,223,181,26,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,72,0,97,0,110,0,105,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,42,0,74,85,63,150,195,87,40,99,206,84,9,85,192,84,145,118,76,118,60,133,238,119,126,130,141,120,49,114,152,150,141,151,40,108,137,91,250,79,9,99,151,102,184,92,250,128,72,104,174,128,2,102,206,118,249,81,86,101,172,113,241,127,132,136,178,80,101,89,202,97,179,111,173,130,76,99,82,98,237,83,39,84,6,123,107,81,164,117,244,93,212,98,203,141,118,151,138,98,25,128,93,87,56,151,98,127,56,114,125,118,207,103,126,118,70,100,112,79,37,141,220,98,23,122,145,101,237,115,44,100,115,98,44,130,129,152,127,103,72,114,110,98,204,98,52,79,227,116,74,83,158,82,202,126,166,144,46,94,134,104,156,105,128,129,209,126,210,104,197,120,140,134,81,149,141,80,36,140,222,130,222,128,5,83,18,137,101,82,132,133,249,150,221,79,33,88,113,153,157,91,177,98,165,98,180,102,121,140,141,156,6,114,111,103,145,120,178,96,81,83,23,83,136,143,204,128,29,141,161,148,13,80,200,114,7,89,235,96,25,113,171,136,84,89,239,130,44,103,40,123,41,93,247,126,45,117,245,108,102,142,248,143,60,144,59,159,212,107,25,145,20,123,124,95,167,120,214,132,61,133,213,107,217,107,214,107,1,94,135,94,249,117,237,149,93,101,10,95,197,95,159,143,193,88,194,129,127,144,91,150,173,151,185,143,22,127,44,141,65,98,191,79,216,83,94,83,168,143,169,143,171,143,77,144,7,104,106,95,152,129,104,136,214,156,139,97,43,82,42,118,108,95,140,101,210,111,232,110,190,91,72,100,117,81,176,81,196,103,25,78,201,121,124,153,179,112,197,117,118,94,187,115,224,131,173,100,232,98,181,148,226,108,90,83,195,82,15,100,194,148,148,123,47,79,27,94,54,130,22,129,138,129,36,110,202,108,115,154,85,99,92,83,250,84,101,136,224,87,13,78,3,94,101,107,63,124,232,144,22,96,230,100,28,115,193,136,80,103,77,98,34,141,108,119,41,142,199,145,105,95,220,131,33,133,16,153,194,83,149,134,139,107,237,96,232,96,127,112,205,130,49,130,211,78,167,108,207,133,205,100,217,124,253,105,249,102,73,131,149,83,86,123,167,79,140,81,75,109,66,92,109,142,210,99,201,83,44,131,54,131,229,103,180,120,61,100,223,91,148,92,238,93,231,139,198,98,244,103,122,140,0,100,186,99,73,135,139,153,23,140,32,127,242,148,167,78,16,150,164,152,12,102,22,115,58,87,29,92,56,94,127,149,127,80,160,128,130,83,94,101,69,117,49,85,33,80,133,141,132,98,158,148,29,103,50,86,110,111,226,93,53,84,146,112,102,143,111,98,164,100,163,99,123,95,136,111,244,144,227,129,176,143,24,92,104,102,241,95,137,108,72,150,129,141,108,136,145,100,240,121,206,87,89,106,16,98,72,84,88,78,11,122,233,96,132,111,218,139,127,98,30,144,139,154,228,121,3,84,244,117,1,99,25,83,96,108,223,143,27,95,112,154,59,128,127,159,136,79,58,92,100,141,197,127,165,101,189,112,69,81,178,81,107,134,7,93,160,91,189,98,108,145,116,117,12,142,32,122,1,97,121,123,199,78,248,126,133,119,17,78,237,129,29,82,250,81,113,106,168,83,135,142,4,149,207,150,193,110,100,150,90,105,64,120,168,80,215,119,16,100,230,137,4,89,227,99,221,93,127,122,61,105,32,79,57,130,152,85,50,78,174,117,151,122,98,94,138,94,239,149,27,82,57,84,138,112,118,99,36,149,130,87,37,102,63,105,135,145,7,85,243,109,175,126,34,136,51,98,240,126,181,117,40,131,193,120,204,150,158,143,72,97,247,116,205,139,100,107,58,82,80,141,33,107,106,128,113,132,241,86,6,83,206,78,27,78,209,81,151,124,139,145,7,124,195,79,127,142,225,123,156,122,103,100,20,93,172,80,6,129,1,118,185,124,236,109,224,127,81,103,88,91,248,91,203,120,174,100,19,100,170,99,43,99,25,149,45,100,190,143,84,123,41,118,83,98,39,89,70,84,121,107,163,80,52,98,38,94,134,107,227,78,55,141,139,136,133,95,46,144,32,96,61,128,197,98,57,78,85,83,248,144,184,99,198,128,230,101,46,108,70,79,238,96,225,109,222,139,57,95,203,134,83,95,33,99,90,81,97,131,99,104,0,82,99,99,72,142,18,80,155,92,119,121,252,91,48,82,59,122,188,96,83,144,215,118,183,95,151,95,132,118,108,142,111,112,123,118,73,123,170,119,243,81,147,144,36,88,78,79,244,110,234,143,76,101,27,123,196,114,164,109,223,127,225,90,181,98,149,94,48,87,130,132,44,123,29,94,31,95,18,144,20,127,160,152,130,99,199,110,152,120,185,112,120,81,91,151,171,87,53,117,67,79,56,117,151,94,230,96,96,89,192,109,191,107,137,120,252,83,213,150,203,81,1,82,137,99,10,84,147,148,3,140,204,141,57,114,159,120,118,135,237,143,13,140,224,83,1,78,239,118,238,83,137,148,118,152,14,159,45,149,154,91,162,139,34,78,28,78,172,81,99,132,194,97,168,82,11,104,151,79,107,96,187,81,30,109,92,81,150,98,151,101,97,150,70,140,23,144,216,117,253,144,99,119,210,107,138,114,236,114,251,139,53,88,121,119,76,141,92,103,64,149,154,128,166,94,33,110,146,89,239,122,237,119,59,149,181,107,173,101,14,127,6,88,81,81,31,150,249,91,169,88,40,84,114,142,102,101,127,152,228,86,157,148,254,118,65,144,135,99,198,84,26,89,58,89,155,87,178,142,53,103,250,141,53,130,65,82,240,96,21,88,254,134,232,92,69,158,196,79,157,152,185,139,37,90,118,96,132,83,124,98,79,144,2,145,127,153,105,96,12,128,63,81,51,128,20,92,117,153,49,109,140,78,48,141,209,83,90,127,79,123,16,79,79,78,0,150,213,108,208,115,233,133,6,94,106,117,251,127,10,106,254,119,146,148,65,126,225,81,230,112,205,83,212,143,3,131,41,141,175,114,109,153,219,108,74,87,179,130,185,101,170,128,63,98,50,150,168,89,255,78,191,139,186,126,62,101,242,131,94,151,97,85,222,152,165,128,42,83,253,139,32,84,186,128,159,94,184,108,57,141,172,130,90,145,41,84,27,108,6,82,183,126,95,87,26,113,126,108,137,124,75,89,253,78,255,95,36,97,170,124,48,78,1,92,171,103,2,135,240,92,11,149,206,152,175,117,253,112,34,144,175,81,29,127,189,139,73,89,228,81,91,79,38,84,43,89,119,101,164,128,117,91,118,98,194,98,144,143,69,94,31,108,38,123,15,79,216,79,13,103,110,109,170,109,143,121,177,136,23,95,43,117,154,98,133,143,239,79,220,145,167,101,47,129,81,129,156,94,80,129,116,141,111,82,134,137,75,141,13,89,133,80,216,78,28,150,54,114,121,129,31,141,204,91,163,139,68,150,135,89,26,127,144,84,118,86,14,86,229,139,57,101,130,105,153,148,214,118,137,110,114,94,24,117,70,103,209,103,255,122,157,128,118,141,31,97,198,121,98,101,99,141,136,81,26,82,162,148,56,127,155,128,178,126,151,92,47,110,96,103,217,123,139,118,216,154,143,129,148,127,213,124,30,100,80,149,63,122,74,84,229,84,76,107,1,100,8,98,61,158,243,128,153,117,114,82,105,151,91,132,60,104,228,134,1,150,148,150,236,148,42,78,4,84,217,126,57,104,223,141,21,128,244,102,154,94,185,127,194,87,63,128,151,104,229,93,59,101,159,82,109,96,154,159,155,79,172,142,108,81,171,91,19,95,233,93,94,108,241,98,33,141,113,81,169,148,254,82,159,108,223,130,215,114,162,87,132,103,45,141,31,89,156,143,199,131,149,84,141,123,48,79,189,108,100,91,209,89,19,159,228,83,202,134,168,154,55,140,161,128,69,101,126,152,250,86,199,150,46,82,220,116,80,82,225,91,2,99,2,137,86,78,208,98,42,96,250,104,115,81,152,91,160,81,194,137,161,123,134,153,80,127,239,96,76,112,47,141,73,81,127,94,27,144,112,116,196,137,45,87,69,120,82,95,159,159,250,149,104,143,60,155,225,139,120,118,66,104,220,103,234,141,53,141,61,82,138,143,218,110,205,104,5,149,237,144,253,86,156,103,249,136,199,143,200,84,184,154,105,91,119,109,38,108,165,78,179,91,135,154,99,145,168,97,175,144,233,151,43,84,181,109,210,91,253,81,138,85,85,127,240,127,188,100,77,99,241,101,190,97,141,96,10,113,87,108,73,108,47,89,109,103,42,130,213,88,142,86,106,140,235,107,221,144,125,89,23,128,247,83,105,109,117,84,157,85,119,131,207,131,56,104,190,121,140,84,85,79,8,84,210,118,137,140,2,150,179,108,184,109,107,141,16,137,100,158,58,141,63,86,209,158,213,117,136,95,224,114,104,96,252,84,168,78,42,106,97,136,82,96,112,143,196,84,216,112,121,134,63,158,42,109,143,91,24,95,162,126,137,85,175,79,52,115,60,84,154,83,25,80,14,84,124,84,78,78,253,95,90,116,246,88,107,132,225,128,116,135,208,114,202,124,86,110,39,95,78,134,44,85,164,98,146,78,170,108,55,98,177,130,215,84,78,83,62,115,209,110,59,117,18,82,22,83,221,139,208,105,138,95,0,96,238,109,79,87,34,107,175,115,83,104,216,143,19,127,98,99,163,96,36,85,234,117,98,140,21,113,163,109,166,91,123,94,82,131,76,97,196,158,250,120,87,135,39,124,135,118,240,81,246,96,76,113,67,102,76,94,77,96,14,140,112,112,37,99,137,143,189,95,98,96,212,134,222,86,193,107,148,96,103,97,73,83,224,96,102,102,63,141,253,121,26,79,233,112,71,108,179,139,242,139,216,126,100,131,15,102,90,90,66,155,81,109,247,109,65,140,59,109,25,79,107,112,183,131,22,98,209,96,13,151,39,141,120,121,251,81,62,87,250,87,58,103,120,117,61,122,239,121,149,123,140,128,101,153,249,143,192,111,165,139,33,158,236,89,233,126,9,127,9,84,129,103,216,104,145,143,77,124,198,150,202,83,37,96,190,117,114,108,115,83,201,90,167,126,36,99,224,81,10,129,241,93,223,132,128,98,128,81,99,91,14,79,109,121,66,82,184,96,78,109,196,91,194,91,161,139,176,139,226,101,204,95,69,150,147,89,231,126,170,126,9,86,183,103,57,89,115,79,182,91,160,82,90,131,138,152,62,141,50,117,190,148,71,80,60,122,247,78,182,103,126,154,193,90,124,107,209,118,90,87,22,92,58,123,244,149,78,113,124,81,169,128,112,130,120,89,4,127,39,131,192,104,236,103,177,120,119,120,227,98,97,99,128,123,237,79,106,82,207,81,80,131,219,105,116,146,245,141,49,141,193,137,46,149,173,123,246,78,101,80,48,130,81,82,111,153,16,110,133,110,167,109,250,94,245,80,220,89,6,92,70,109,95,108,134,117,139,132,104,104,86,89,178,139,32,83,113,145,77,150,73,133,18,105,1,121,38,113,246,128,164,78,202,144,71,109,132,154,7,90,188,86,5,100,240,148,235,119,165,79,26,129,225,114,210,137,122,153,52,127,222,126,127,82,89,101,117,145,127,143,131,143,235,83,150,122,237,99,165,99,134,118,248,121,87,136,54,150,42,98,171,82,130,130,84,104,112,103,119,99,107,119,237,122,1,109,211,126,227,137,208,89,18,98,201,133,165,130,76,117,31,80,203,78,165,117,235,139,74,92,254,93,75,123,164,101,209,145,202,78,37,109,95,137,39,125,38,149,197,78,40,140,219,143,115,151,75,102,129,121,209,143,236,112,120,109,61,92,178,82,70,131,98,81,14,131,91,119,118,102,184,156,172,78,202,96,190,124,179,124,207,126,149,78,102,139,111,102,136,152,89,151,131,88,108,101,92,149,132,95,201,117,86,151,223,122,222,122,192,81,175,112,152,122,234,99,118,122,160,126,150,115,237,151,69,78,120,112,93,78,82,145,169,83,81,101,231,101,252,129,5,130,142,84,49,92,154,117,160,151,216,98,217,114,189,117,69,92,121,154,202,131,64,92,128,84,233,119,62,78,174,108,90,128,210,98,110,99,232,93,119,81,221,141,30,142,47,149,241,79,229,83,231,96,172,112,103,82,80,99,67,158,31,90,38,80,55,119,119,83,226,126,133,100,43,101,137,98,152,99,20,80,53,114,201,137,179,81,192,139,221,126,71,87,204,131,167,148,155,81,27,84,251,92,202,79,227,122,90,109,225,144,143,154,128,85,150,84,97,83,175,84,0,95,233,99,119,105,239,81,104,97,10,82,42,88,216,82,78,87,13,120,11,119,183,94,119,97,224,124,91,98,151,98,162,78,149,112,3,128,247,98,228,112,96,151,119,87,219,130,239,103,245,104,213,120,151,152,209,121,243,88,179,84,239,83,52,110,75,81,59,82,162,91,254,139,175,128,67,85,166,87,115,96,81,87,45,84,122,122,80,96,84,91,167,99,160,98,227,83,99,98,199,91,175,103,237,84,159,122,230,130,119,145,147,94,228,136,56,89,174,87,14,99,232,141,239,128,87,87,119,123,169,79,235,95,189,91,62,107,33,83,80,123,194,114,70,104,255,119,54,119,247,101,181,81,143,78,212,118,191,92,165,122,117,132,78,89,65,155,128,80,136,153,39,97,131,110,100,87,6,102,70,99,240,86,236,98,105,98,211,94,20,150,131,87,201,98,135,85,33,135,74,129,163,143,102,85,177,131,101,103,86,141,221,132,106,90,15,104,230,98,238,123,17,150,112,81,156,111,48,140,253,99,200,137,210,97,6,127,194,112,229,110,5,116,148,105,252,114,202,94,206,144,23,103,106,109,94,99,179,82,98,114,1,128,108,79,229,89,106,145,217,112,157,109,210,82,80,78,247,150,109,149,126,133,202,120,47,125,33,81,146,87,194,100,139,128,123,124,234,108,241,104,94,105,183,81,152,83,168,104,129,114,206,158,241,123,248,114,187,121,19,111,6,116,78,103,204,145,164,156,60,121,137,131,84,131,15,84,23,104,61,78,137,83,177,82,62,120,134,83,41,82,136,80,139,79,208,79,226,117,203,122,146,124,165,108,182,150,155,82,131,116,233,84,233,79,84,128,178,131,222,143,112,149,201,94,28,96,159,109,24,94,91,101,56,129,254,148,75,96,188,112,195,126,174,124,201,81,129,104,177,124,111,130,36,78,134,143,207,145,126,102,174,78,5,140,169,100,74,128,218,80,151,117,206,113,229,91,189,143,102,111,134,78,130,100,99,149,214,94,153,101,23,82,194,136,200,112,163,82,14,115,51,116,151,103,247,120,22,151,52,78,187,144,222,156,203,109,219,81,65,141,29,84,206,98,178,115,241,131,246,150,132,159,195,148,54,79,154,127,204,81,117,112,117,150,173,92,134,152,230,83,228,78,156,110,9,116,180,105,107,120,143,153,89,117,24,82,36,118,65,109,243,103,109,81,153,159,75,128,153,84,60,123,191,122,134,150,132,87,226,98,71,150,124,105,4,90,2,100,211,123,15,111,75,150,166,130,98,83,133,152,144,94,137,112,179,99,100,83,79,134,129,156,147,158,140,120,50,151,239,141,66,141,127,158,94,111,132,121,85,95,70,150,46,98,116,154,21,84,221,148,163,79,197,101,101,92,97,92,21,127,81,134,47,108,139,95,135,115,228,110,255,126,230,92,27,99,106,91,230,110,117,83,113,78,160,99,101,117,161,98,110,143,38,79,209,78,166,108,182,126,186,139,29,132,186,135,87,127,59,144,35,149,169,123,161,154,248,136,61,132,27,109,134,154,220,126,136,89,187,158,155,115,1,120,130,134,108,154,130,154,27,86,23,84,203,87,112,78,166,158,86,83,200,143,9,129,146,119,146,153,238,134,225,110,19,133,252,102,98,97,43,111,41,140,146,130,43,131,242,118,19,108,217,95,189,131,43,115,5,131,26,149,219,107,219,119,198,148,111,83,2,131,146,81,61,94,140,140,56,141,72,78,171,115,154,103,133,104,118,145,9,151,100,113,161,108,9,119,146,90,65,149,207,107,142,127,39,102,208,91,185,89,154,90,232,149,247,149,236,78,12,132,153,132,172,106,223,118,48,149,27,115,166,104,95,91,47,119,154,145,97,151,220,124,247,143,28,140,37,95,115,124,216,121,197,137,204,108,28,135,198,91,66,94,201,104,32,119,245,126,149,81,77,81,201,82,41,90,5,127,98,151,215,130,207,99,132,119,208,133,210,121,58,110,153,94,153,89,17,133,109,112,17,108,191,98,191,118,79,101,175,96,253,149,14,102,159,135,35,158,237,148,13,84,125,84,44,140,120,100,121,100,17,134,33,106,156,129,232,120,105,100,84,155,185,98,43,103,171,131,168,88,216,158,171,108,32,111,222,91,76,150,11,140,95,114,208,103,199,98,97,114,169,78,198,89,205,107,147,88,174,102,85,94,223,82,85,97,40,103,238,118,102,119,103,114,70,122,255,98,234,84,80,84,160,148,163,144,28,90,179,126,22,108,67,78,118,89,16,128,72,89,87,83,55,117,190,150,202,86,32,99,17,129,124,96,249,149,214,109,98,84,129,153,133,81,233,90,253,128,174,89,19,151,42,80,229,108,60,92,223,98,96,79,63,83,123,129,6,144,186,110,43,133,200,98,116,94,190,120,181,100,123,99,245,95,24,90,127,145,31,158,63,92,79,99,66,128,125,91,110,85,74,149,77,149,133,109,168,96,224,103,222,114,221,81,129,91,231,98,222,108,91,114,109,98,174,148,189,126,19,129,83,109,156,81,4,95,116,89,170,82,18,96,115,89,150,102,80,134,159,117,42,99,230,97,239,124,250,139,230,84,39,107,37,158,180,107,213,133,85,84,118,80,164,108,106,85,180,141,44,114,21,94,21,96,54,116,205,98,146,99,76,114,152,95,67,110,62,109,0,101,88,111,216,118,208,120,252,118,84,117,36,82,219,83,83,78,158,94,193,101,42,128,214,128,155,98,134,84,40,82,174,112,141,136,209,141,225,108,120,84,218,128,249,87,244,136,84,141,106,150,77,145,105,79,155,108,183,85,198,118,48,120,168,98,249,112,142,111,109,95,236,132,218,104,124,120,247,123,168,129,11,103,79,158,103,99,176,120,111,87,18,120,57,151,121,98,171,98,136,82,53,116,215,107,100,85,62,129,178,117,174,118,57,83,222,117,251,80,65,92,108,139,199,123,79,80,71,114,151,154,216,152,2,111,226,116,104,121,135,100,165,119,252,98,145,152,43,141,193,84,88,128,82,78,106,87,249,130,13,132,115,94,237,81,246,116,196,139,79,92,97,87,252,108,135,152,70,90,52,120,68,155,235,143,149,124,86,82,81,98,250,148,198,78,134,131,97,132,233,131,178,132,212,87,52,103,3,87,110,102,102,109,49,140,221,102,17,112,31,103,58,107,22,104,26,98,187,89,3,78,196,81,6,111,210,103,143,108,118,81,203,104,71,89,103,107,102,117,14,93,16,129,80,159,215,101,72,121,65,121,145,154,119,141,130,92,94,78,1,79,47,84,81,89,12,120,104,86,20,108,196,143,3,95,125,108,227,108,171,139,144,99,112,96,61,109,117,114,102,98,142,148,197,148,67,83,193,143,126,123,223,78,38,140,126,78,212,158,177,148,179,148,77,82,92,111,99,144,69,109,52,140,17,88,76,93,32,107,73,107,170,103,91,84,84,129,140,127,153,88,55,133,58,95,162,98,71,106,57,149,114,101,132,96,101,104,167,119,84,78,168,79,231,93,152,151,172,100,216,127,237,92,207,79,141,122,7,82,4,131,20,78,47,96,131,122,166,148,181,79,178,78,230,121,52,116,228,82,185,130,210,100,189,121,221,91,129,108,82,151,123,143,34,108,62,80,127,83,5,110,206,100,116,102,48,108,197,96,119,152,247,139,134,94,60,116,119,122,203,121,24,78,177,144,3,116,66,108,218,86,75,145,197,108,139,141,58,83,198,134,242,102,175,142,72,92,113,154,32,110,214,83,54,90,139,159,163,141,187,83,8,87,167,152,67,103,155,145,201,108,104,81,202,117,243,98,172,114,56,82,157,82,58,127,148,112,56,118,116,83,74,158,183,105,110,120,192,150,217,136,164,127,54,113,195,113,137,81,211,103,228,116,228,88,24,101,183,86,169,139,118,153,112,98,213,126,249,96,237,112,236,88,193,78,186,78,205,95,231,151,251,78,164,139,3,82,138,89,171,126,84,98,205,78,229,101,14,98,56,131,201,132,99,131,141,135,148,113,182,110,185,91,210,126,151,81,201,99,212,103,137,128,57,131,21,136,18,81,122,91,130,89,177,143,115,78,93,108,101,81,37,137,111,143,46,150,74,133,94,116,16,149,240,149,166,109,229,130,49,95,146,100,18,109,40,132,110,129,195,156,94,88,91,141,9,78,193,83,30,79,99,101,81,104,211,85,39,78,20,100,154,154,107,98,194,90,95,116,114,130,169,109,238,104,231,80,142,131,2,120,64,103,57,82,153,108,177,126,187,80,101,85,94,113,91,123,82,102,202,115,235,130,73,103,113,92,32,82,125,113,107,136,234,149,85,150,197,100,97,141,179,129,132,85,85,108,71,98,46,127,146,88,36,79,70,85,79,141,76,102,10,78,26,92,243,136,162,104,78,99,13,122,231,112,141,130,250,82,246,151,17,92,232,84,181,144,205,126,98,89,74,141,199,134,12,130,13,130,102,141,68,100,4,92,81,97,137,109,62,121,190,139,55,120,51,117,123,84,56,79,171,142,241,109,32,90,197,126,94,121,136,108,161,91,118,90,26,117,190,128,78,97,23,110,240,88,31,117,37,117,114,114,71,83,243,126,1,119,219,118,105,82,220,128,35,87,8,94,49,89,238,114,189,101,127,110,215,139,56,92,113,134,65,83,243,119,254,98,246,101,192,78,223,152,128,134,158,91,198,139,242,83,226,119,127,79,78,92,118,154,203,89,15,95,58,121,235,88,22,78,255,103,139,78,237,98,147,138,29,144,191,82,47,102,220,85,108,86,2,144,213,78,141,79,202,145,112,153,15,108,2,94,67,96,164,91,198,137,213,139,54,101,75,98,150,153,136,91,255,91,136,99,46,85,215,83,38,118,125,81,44,133,162,103,179,104,138,107,146,98,147,143,212,83,18,130,209,109,143,117,102,78,78,141,112,91,159,113,175,133,145,102,217,102,114,127,0,135,205,158,32,159,94,92,47,103,240,143,17,104,95,103,13,98,214,122,133,88,182,94,112,101,49,111,85,96,55,82,13,128,84,100,112,136,41,117,5,94,19,104,244,98,28,151,204,83,61,114,1,140,52,108,97,119,14,122,46,84,172,119,122,152,28,130,244,139,85,120,20,103,193,112,175,101,149,100,54,86,29,96,193,121,248,83,29,78,123,107,134,128,250,91,227,85,219,86,58,79,60,79,114,153,243,93,126,103,56,128,2,96,130,152,1,144,139,91,188,139,245,139,28,100,88,130,222,100,253,85,207,130,101,145,215,79,32,125,31,144,159,124,243,80,81,88,175,110,191,91,201,139,131,128,120,145,156,132,151,123,125,134,139,150,143,150,229,126,211,154,142,120,129,92,87,122,66,144,167,150,95,121,89,91,95,99,11,123,209,132,173,104,6,85,41,127,16,116,34,125,1,149,64,98,76,88,214,78,131,91,121,89,84,88,109,115,30,99,75,142,15,142,206,128,212,130,172,98,240,83,240,108,94,145,42,89,1,96,112,108,77,87,74,100,42,141,43,118,233,110,91,87,128,106,240,117,109,111,45,140,8,140,102,87,239,107,146,136,179,120,162,99,249,83,173,112,100,108,88,88,42,100,2,88,224,104,155,129,16,85,214,124,24,80,186,142,204,109,159,141,235,112,143,99,155,109,212,110,230,126,4,132,67,104,3,144,216,109,118,150,168,139,87,89,121,114,228,133,126,129,188,117,138,138,175,104,84,82,34,142,17,149,208,99,152,152,68,142,124,85,83,79,255,102,143,86,213,96,149,109,67,82,73,92,41,89,251,109,107,88,48,117,28,117,108,96,20,130,70,129,17,99,97,103,226,143,58,119,243,141,52,141,193,148,22,94,133,83,44,84,195,112,64,108,247,94,92,80,173,78,173,94,58,99,71,130,26,144,80,104,110,145,179,119,12,84,220,148,100,95,229,122,118,104,69,99,82,123,223,126,219,117,119,80,149,98,52,89,15,144,248,81,195,121,129,122,254,86,146,95,20,144,130,109,96,92,31,87,16,84,84,81,77,110,226,86,168,99,147,152,127,129,21,135,42,137,0,144,30,84,111,92,192,129,214,98,88,98,49,129,53,158,64,150,110,154,124,154,45,105,165,89,211,98,62,85,22,99,199,84,217,134,60,109,3,90,230,116,156,136,106,107,22,89,76,140,47,95,126,110,169,115,125,152,56,78,247,112,140,91,151,120,61,99,90,102,150,118,203,96,155,91,73,90,7,78,85,129,106,108,139,115,161,78,137,103,81,127,128,95,250,101,27,103,216,95,132,89,1,90,205,93,174,95,113,83,230,151,221,143,69,104,244,86,47,85,223,96,58,78,77,111,244,126,199,130,14,132,212,89,31,79,42,79,62,92,172,126,42,103,26,133,115,84,79,117,195,128,130,85,79,155,77,79,45,110,19,140,9,92,112,97,107,83,31,118,41,110,138,134,135,101,251,149,185,126,59,84,51,122,10,125,238,149,225,85,193,127,238,116,29,99,23,135,161,109,157,122,17,98,161,101,103,83,225,99,131,108,235,93,92,84,168,148,76,78,97,108,236,139,75,92,224,101,156,130,167,104,62,84,52,84,203,107,102,107,148,78,66,99,72,83,30,130,13,79,174,79,94,87,10,98,254,150,100,102,105,114,255,82,161,82,159,96,239,139,20,102,153,113,144,103,127,137,82,120,253,119,112,102,59,86,56,84,33,149,122,114,0,122,111,96,12,94,137,96,157,129,21,89,220,96,132,113,239,112,170,110,80,108,128,114,132,106,173,136,45,94,96,78,179,90,156,85,227,148,23,109,251,124,153,150,15,98,198,126,142,119,126,134,35,83,30,151,150,143,135,102,225,92,160,79,237,114,11,78,166,83,15,89,19,84,128,99,40,149,72,81,217,78,156,156,164,126,184,84,36,141,84,136,55,130,242,149,142,109,38,95,204,90,62,102,105,150,176,115,46,115,191,83,122,129,133,153,161,127,170,91,119,150,80,150,191,126,248,118,162,83,118,149,153,153,177,123,68,137,88,110,97,78,212,127,101,121,230,139,243,96,205,84,171,78,121,152,247,93,97,106,207,80,17,84,97,140,39,132,93,120,4,151,74,82,238,84,163,86,0,149,136,109,181,91,198,109,83,102,15,92,93,91,33,104,150,128,120,85,17,123,72,101,84,105,155,78,71,107,78,135,139,151,79,83,31,99,58,100,170,144,156,101,193,128,16,140,153,81,176,104,120,83,249,135,200,97,196,108,251,108,34,140,81,92,170,133,175,130,12,149,35,107,155,143,176,101,251,95,195,95,225,79,69,136,31,102,101,129,41,115,250,96,116,81,17,82,139,87,98,95,162,144,76,136,146,145,120,94,79,103,39,96,211,89,68,81,246,81,248,128,8,83,121,108,196,150,138,113,17,79,238,79,158,127,61,103,197,85,8,149,192,121,150,136,227,126,159,88,12,98,0,151,90,134,24,86,123,152,144,95,184,139,196,132,87,145,217,83,237,101,143,94,92,117,100,96,110,125,127,90,234,126,237,126,105,143,167,85,163,91,172,96,203,101,132,115,9,144,99,118,41,119,218,126,116,151,155,133,102,91,116,122,234,150,64,136,203,82,143,113,170,95,236,101,226,139,251,91,111,154,225,93,137,107,91,108,173,139,175,139,10,144,197,143,139,83,188,98,38,158,45,158,64,84,43,78,189,130,89,114,156,134,22,93,89,136,175,109,197,150,209,84,154,78,182,139,9,113,189,84,9,150,223,112,249,109,208,118,37,78,20,120,18,135,169,92,246,94,0,138,156,152,14,150,142,112,191,108,68,89,169,99,60,119,77,136,20,111,115,130,48,88,213,113,140,83,26,120,193,150,1,85,102,95,48,113,180,91,26,140,140,154,131,107,46,89,47,158,231,121,104,103,108,98,111,79,161,117,138,127,11,109,51,150,39,108,240,78,210,117,123,81,55,104,62,111,128,144,112,129,150,89,118,116,71,100,39,92,101,144,145,122,35,140,218,89,172,84,0,130,111,131,129,137,0,128,48,105,78,86,54,128,55,114,206,145,182,81,95,78,117,152,150,99,26,78,246,83,243,102,75,129,28,89,178,109,0,78,249,88,59,83,214,99,241,148,157,79,10,79,99,136,144,152,55,89,87,144,251,121,234,78,240,128,145,117,130,108,156,91,232,89,93,95,5,105,129,134,26,80,242,93,89,78,227,119,229,78,122,130,145,98,19,102,145,144,121,92,191,78,121,95,198,129,56,144,132,128,171,117,166,78,212,136,15,97,197,107,198,95,73,78,202,118,162,110,227,139,174,139,10,140,209,139,2,95,252,127,204,127,206,126,53,131,107,131,224,86,183,107,243,151,52,150,251,89,31,84,246,148,235,109,197,91,110,153,57,92,21,95,144,150,112,83,241,130,49,106,116,90,112,158,148,94,40,127,185,131,36,132,37,132,103,131,71,135,206,143,98,141,200,118,113,95,150,152,108,120,32,102,223,84,229,98,99,79,195,129,200,117,184,94,205,150,10,142,249,134,143,84,243,108,140,109,56,108,127,96,199,82,40,117,125,94,24,79,160,96,231,95,36,92,49,117,174,144,192,148,185,114,185,108,56,110,73,145,9,103,203,83,243,83,81,79,201,145,241,139,200,83,124,94,194,143,228,109,142,78,194,118,134,105,94,134,26,97,6,130,89,79,222,79,62,144,124,156,9,97,29,110,20,110,133,150,136,78,49,90,232,150,14,78,127,92,185,121,135,91,237,139,189,127,137,115,223,87,139,130,193,144,1,84,71,144,187,85,234,92,161,95,8,97,50,107,241,114,178,128,137,138,116,109,211,91,213,136,132,152,107,140,109,154,51,158,10,110,164,81,67,81,163,87,129,136,159,83,244,99,149,143,237,86,88,84,6,87,63,115,144,110,24,127,220,143,209,130,63,97,40,96,98,150,240,102,166,126,138,141,195,141,165,148,179,92,164,124,8,103,166,96,5,150,24,128,145,78,231,144,0,83,104,150,65,81,208,143,116,133,93,145,85,102,245,151,85,91,29,83,56,120,66,103,61,104,201,84,126,112,176,91,125,143,141,81,40,87,177,84,18,101,130,102,94,141,67,141,15,129,108,132,109,144,223,124,255,81,251,133,163,103,233,101,161,111,164,134,129,142,106,86,32,144,130,118,118,112,229,113,35,141,233,98,25,82,253,108,60,141,14,96,158,88,142,97,254,102,96,141,78,98,179,85,35,110,45,103,103,143,225,148,248,149,40,119,5,104,168,105,139,84,77,78,184,112,200,139,88,100,139,101,133,91,132,122,58,80,232,91,187,119,225,107,121,138,152,124,190,108,207,118,169,101,151,143,45,93,85,92,56,134,8,104,96,83,24,98,217,122,91,110,253,126,31,106,224,122,112,95,51,111,32,95,140,99,168,109,86,103,8,78,16,94,38,141,215,78,192,128,52,118,156,150,219,98,45,102,126,98,188,108,117,141,103,113,105,127,70,81,135,128,236,83,110,144,152,98,242,84,240,134,153,143,5,128,23,149,23,133,217,143,89,109,205,115,159,101,31,119,4,117,39,120,251,129,30,141,136,148,166,79,149,103,185,117,202,139,7,151,47,99,71,149,53,150,184,132,35,99,65,119,129,95,240,114,137,78,20,96,116,101,239,98,99,107,63,101,39,94,199,117,209,144,193,139,157,130,157,103,47,101,49,84,24,135,229,119,162,128,2,129,65,108,75,78,199,126,76,128,244,118,13,105,150,107,103,98,60,80,132,79,64,87,7,99,98,107,190,141,234,83,232,101,184,126,215,95,26,99,183,99,243,129,244,129,110,127,28,94,217,92,54,82,122,102,233,121,26,122,40,141,153,112,212,117,222,110,187,108,146,122,45,78,197,118,224,95,159,148,119,136,200,126,205,121,191,128,205,145,242,78,23,79,31,130,104,84,222,93,50,109,204,139,165,124,116,143,152,128,26,94,146,84,177,118,153,91,60,102,164,154,224,115,42,104,219,134,49,103,42,115,248,139,219,139,16,144,249,122,219,112,110,113,196,98,169,119,49,86,59,78,87,132,241,103,169,82,192,134,46,141,248,148,81,123,79,79,232,108,93,121,123,154,147,98,42,114,253,98,19,78,22,120,108,143,176,100,90,141,198,123,105,104,132,94,197,136,134,89,158,100,238,88,182,114,14,105,37,149,253,143,88,141,96,87,0,127,6,140,198,81,73,99,217,98,83,83,76,104,34,116,1,131,76,145,68,85,64,119,124,112,74,109,121,81,168,84,68,141,255,89,203,110,196,109,92,91,43,125,212,78,125,124,211,110,80,91,234,129,13,110,87,91,3,155,213,104,42,142,151,91,252,126,59,96,181,126,185,144,112,141,79,89,205,99,223,121,179,141,82,83,207,101,86,121,197,139,59,150,196,126,187,148,130,126,52,86,137,145,0,103,106,127,10,92,117,144,40,102,230,93,80,79,222,103,90,80,92,79,80,87,167,94,90,216,17,221,90,216,14,221,161,118,165,118,183,118,141,78,12,78,64,81,16,78,255,94,69,83,21,78,152,78,30,78,50,155,108,91,105,86,40,78,186,121,63,78,21,83,71,78,45,89,59,114,110,83,16,108,223,86,228,128,151,153,211,107,126,119,23,159,54,78,159,78,16,159,92,78,105,78,147,78,136,130,91,91,108,85,15,86,196,78,141,83,157,83,163,83,165,83,174,83,101,151,93,141,26,83,245,83,38,83,46,83,62,83,92,141,102,83,99,83,2,82,8,82,14,82,45,82,51,82,63,82,64,82,76,82,94,82,97,82,92,82,175,132,125,82,130,82,129,82,144,82,147,82,130,81,84,127,187,78,195,78,201,78,194,78,232,78,225,78,235,78,222,78,27,79,243,78,34,79,100,79,245,78,37,79,39,79,9,79,43,79,94,79,103,79,56,101,90,79,93,79,95,79,87,79,50,79,61,79,118,79,116,79,145,79,137,79,131,79,143,79,126,79,123,79,170,79,124,79,172,79,148,79,230,79,232,79,234,79,197,79,218,79,227,79,220,79,209,79,223,79,248,79,41,80,76,80,243,79,44,80,15,80,46,80,45,80,254,79,28,80,12,80,37,80,40,80,126,80,67,80,85,80,72,80,78,80,108,80,123,80,165,80,167,80,169,80,186,80,214,80,6,81,237,80,236,80,230,80,238,80,7,81,11,81,221,78,61,108,88,79,101,79,206,79,160,159,70,108,116,124,110,81,253,93,201,158,152,153,129,81,20,89,249,82,13,83,7,138,16,83,235,81,25,89,85,81,160,78,86,81,179,78,110,136,164,136,181,78,20,129,210,136,128,121,52,91,3,136,184,127,171,81,177,81,189,81,188,81,199,81,150,81,162,81,165,81,160,139,166,139,167,139,170,139,180,139,181,139,183,139,194,139,195,139,203,139,207,139,206,139,210,139,211,139,212,139,214,139,216,139,217,139,220,139,223,139,224,139,228,139,232,139,233,139,238,139,240,139,243,139,246,139,249,139,252,139,255,139,0,140,2,140,4,140,7,140,12,140,15,140,17,140,18,140,20,140,21,140,22,140,25,140,27,140,24,140,29,140,31,140,32,140,33,140,37,140,39,140,42,140,43,140,46,140,47,140,50,140,51,140,53,140,54,140,105,83,122,83,29,150,34,150,33,150,49,150,42,150,61,150,60,150,66,150,73,150,84,150,95,150,103,150,108,150,114,150,116,150,136,150,141,150,151,150,176,150,151,144,155,144,157,144,153,144,172,144,161,144,180,144,179,144,182,144,186,144,184,144,176,144,207,144,197,144,190,144,208,144,196,144,199,144,211,144,230,144,226,144,220,144,215,144,219,144,235,144,239,144,254,144,4,145,34,145,30,145,35,145,49,145,47,145,57,145,67,145,70,145,13,82,66,89,162,82,172,82,173,82,190,82,255,84,208,82,214,82,240,82,223,83,238,113,205,119,244,94,245,81,252,81,47,155,182,83,1,95,90,117,239,93,76,87,169,87,161,87,126,88,188,88,197,88,209,88,41,87,44,87,42,87,51,87,57,87,46,87,47,87,92,87,59,87,66,87,105,87,133,87,107,87,134,87,124,87,123,87,104,87,109,87,118,87,115,87,173,87,164,87,140,87,178,87,207,87,167,87,180,87,147,87,160,87,213,87,216,87,218,87,217,87,210,87,184,87,244,87,239,87,248,87,228,87,221,87,11,88,13,88,253,87,237,87,0,88,30,88,25,88,68,88,32,88,101,88,108,88,129,88,137,88,154,88,128,88,168,153,25,159,255,97,121,130,125,130,127,130,143,130,138,130,168,130,132,130,142,130,145,130,151,130,153,130,171,130,184,130,190,130,176,130,200,130,202,130,227,130,152,130,183,130,174,130,203,130,204,130,193,130,169,130,180,130,161,130,170,130,159,130,196,130,206,130,164,130,225,130,9,131,247,130,228,130,15,131,7,131,220,130,244,130,210,130,216,130,12,131,251,130,211,130,17,131,26,131,6,131,20,131,21,131,224,130,213,130,28,131,81,131,91,131,92,131,8,131,146,131,60,131,52,131,49,131,155,131,94,131,47,131,79,131,71,131,67,131,95,131,64,131,23,131,96,131,45,131,58,131,51,131,102,131,101,131,104,131,27,131,105,131,108,131,106,131,109,131,110,131,176,131,120,131,179,131,180,131,160,131,170,131,147,131,156,131,133,131,124,131,182,131,169,131,125,131,184,131,123,131,152,131,158,131,168,131,186,131,188,131,193,131,1,132,229,131,216,131,7,88,24,132,11,132,221,131,253,131,214,131,28,132,56,132,17,132,6,132,212,131,223,131,15,132,3,132,248,131,249,131,234,131,197,131,192,131,38,132,240,131,225,131,92,132,81,132,90,132,89,132,115,132,135,132,136,132,122,132,137,132,120,132,60,132,70,132,105,132,118,132,140,132,142,132,49,132,109,132,193,132,205,132,208,132,230,132,189,132,211,132,202,132,191,132,186,132,224,132,161,132,185,132,180,132,151,132,229,132,227,132,12,133,13,117,56,133,240,132,57,133,31,133,58,133,86,133,59,133,255,132,252,132,89,133,72,133,104,133,100,133,94,133,122,133,162,119,67,133,114,133,123,133,164,133,168,133,135,133,143,133,121,133,174,133,156,133,133,133,185,133,183,133,176,133,211,133,193,133,220,133,255,133,39,134,5,134,41,134,22,134,60,134,254,94,8,95,60,89,65,89,55,128,85,89,90,89,88,89,15,83,34,92,37,92,44,92,52,92,76,98,106,98,159,98,187,98,202,98,218,98,215,98,238,98,34,99,246,98,57,99,75,99,67,99,173,99,246,99,113,99,122,99,142,99,180,99,109,99,172,99,138,99,105,99,174,99,188,99,242,99,248,99,224,99,255,99,196,99,222,99,206,99,82,100,198,99,190,99,69,100,65,100,11,100,27,100,32,100,12,100,38,100,33,100,94,100,132,100,109,100,150,100,122,100,183,100,184,100,153,100,186,100,192,100,208,100,215,100,228,100,226,100,9,101,37,101,46,101,11,95,210,95,25,117,17,95,95,83,241,83,253,83,233,83,232,83,251,83,18,84,22,84,6,84,75,84,82,84,83,84,84,84,86,84,67,84,33,84,87,84,89,84,35,84,50,84,130,84,148,84,119,84,113,84,100,84,154,84,155,84,132,84,118,84,102,84,157,84,208,84,173,84,194,84,180,84,210,84,167,84,166,84,211,84,212,84,114,84,163,84,213,84,187,84,191,84,204,84,217,84,218,84,220,84,169,84,170,84,164,84,221,84,207,84,222,84,27,85,231,84,32,85,253,84,20,85,243,84,34,85,35,85,15,85,17,85,39,85,42,85,103,85,143,85,181,85,73,85,109,85,65,85,85,85,63,85,80,85,60,85,55,85,86,85,117,85,118,85,119,85,51,85,48,85,92,85,139,85,210,85,131,85,177,85,185,85,136,85,129,85,159,85,126,85,214,85,145,85,123,85,223,85,189,85,190,85,148,85,153,85,234,85,247,85,201,85,31,86,209,85,235,85,236,85,212,85,230,85,221,85,196,85,239,85,229,85,242,85,243,85,204,85,205,85,232,85,245,85,228,85,148,143,30,86,8,86,12,86,1,86,36,86,35,86,254,85,0,86,39,86,45,86,88,86,57,86,87,86,44,86,77,86,98,86,89,86,92,86,76,86,84,86,134,86,100,86,113,86,107,86,123,86,124,86,133,86,147,86,175,86,212,86,215,86,221,86,225,86,245,86,235,86,249,86,255,86,4,87,10,87,9,87,28,87,15,94,25,94,20,94,17,94,49,94,59,94,60,94,55,94,68,94,84,94,91,94,94,94,97,94,140,92,122,92,141,92,144,92,150,92,136,92,152,92,153,92,145,92,154,92,156,92,181,92,162,92,189,92,172,92,171,92,177,92,163,92,193,92,183,92,196,92,210,92,228,92,203,92,229,92,2,93,3,93,39,93,38,93,46,93,36,93,30,93,6,93,27,93,88,93,62,93,52,93,61,93,108,93,91,93,111,93,93,93,107,93,75,93,74,93,105,93,116,93,130,93,153,93,157,93,115,140,183,93,197,93,115,95,119,95,130,95,135,95,137,95,140,95,149,95,153,95,156,95,168,95,173,95,181,95,188,95,98,136,97,95,173,114,176,114,180,114,183,114,184,114,195,114,193,114,206,114,205,114,210,114,232,114,239,114,233,114,242,114,244,114,247,114,1,115,243,114,3,115,250,114,251,114,23,115,19,115,33,115,10,115,30,115,29,115,21,115,34,115,57,115,37,115,44,115,56,115,49,115,80,115,77,115,87,115,96,115,108,115,111,115,126,115,27,130,37,89,231,152,36,89,2,89,99,153,103,153,104,153,105,153,106,153,107,153,108,153,116,153,119,153,125,153,128,153,132,153,135,153,138,153,141,153,144,153,145,153,147,153,148,153,149,153,128,94,145,94,139,94,150,94,165,94,160,94,185,94,181,94,190,94,179,94,83,141,210,94,209,94,219,94,232,94,234,94,186,129,196,95,201,95,214,95,207,95,3,96,238,95,4,96,225,95,228,95,254,95,5,96,6,96,234,95,237,95,248,95,25,96,53,96,38,96,27,96,15,96,13,96,41,96,43,96,10,96,63,96,33,96,120,96,121,96,123,96,122,96,66,96,106,96,125,96,150,96,154,96,173,96,157,96,131,96,146,96,140,96,155,96,236,96,187,96,177,96,221,96,216,96,198,96,218,96,180,96,32,97,38,97,21,97,35,97,244,96,0,97,14,97,43,97,74,97,117,97,172,97,148,97,167,97,183,97,212,97,245,97,221,95,179,150,233,149,235,149,241,149,243,149,245,149,246,149,252,149,254,149,3,150,4,150,6,150,8,150,10,150,11,150,12,150,13,150,15,150,18,150,21,150,22,150,23,150,25,150,26,150,44,78,63,114,21,98,53,108,84,108,92,108,74,108,163,108,133,108,144,108,148,108,140,108,104,108,105,108,116,108,118,108,134,108,169,108,208,108,212,108,173,108,247,108,248,108,241,108,215,108,178,108,224,108,214,108,250,108,235,108,238,108,177,108,211,108,239,108,254,108,57,109,39,109,12,109,67,109,72,109,7,109,4,109,25,109,14,109,43,109,77,109,46,109,53,109,26,109,79,109,82,109,84,109,51,109,145,109,111,109,158,109,160,109,94,109,147,109,148,109,92,109,96,109,124,109,99,109,26,110,199,109,197,109,222,109,14,110,191,109,224,109,17,110,230,109,221,109,217,109,22,110,171,109,12,110,174,109,43,110,110,110,78,110,107,110,178,110,95,110,134,110,83,110,84,110,50,110,37,110,68,110,223,110,177,110,152,110,224,110,45,111,226,110,165,110,167,110,189,110,187,110,183,110,215,110,180,110,207,110,143,110,194,110,159,110,98,111,70,111,71,111,36,111,21,111,249,110,47,111,54,111,75,111,116,111,42,111,9,111,41,111,137,111,141,111,140,111,120,111,114,111,124,111,122,111,209,111,201,111,167,111,185,111,182,111,194,111,225,111,238,111,222,111,224,111,239,111,26,112,35,112,27,112,57,112,53,112,79,112,94,112,128,91,132,91,149,91,147,91,165,91,184,91,47,117,158,154,52,100,228,91,238,91,48,137,240,91,71,142,7,139,182,143,211,143,213,143,229,143,238,143,228,143,233,143,230,143,243,143,232,143,5,144,4,144,11,144,38,144,17,144,13,144,22,144,33,144,53,144,54,144,45,144,47,144,68,144,81,144,82,144,80,144,104,144,88,144,98,144,91,144,185,102,116,144,125,144,130,144,136,144,131,144,139,144,80,95,87,95,86,95,88,95,59,92,171,84,80,92,89,92,113,91,99,92,102,92,188,127,42,95,41,95,45,95,116,130,60,95,59,155,110,92,129,89,131,89,141,89,169,89,170,89,163,89,151,89,202,89,171,89,158,89,164,89,210,89,178,89,175,89,215,89,190,89,5,90,6,90,221,89,8,90,227,89,216,89,249,89,12,90,9,90,50,90,52,90,17,90,35,90,19,90,64,90,103,90,74,90,85,90,60,90,98,90,117,90,236,128,170,90,155,90,119,90,122,90,190,90,235,90,178,90,210,90,212,90,184,90,224,90,227,90,241,90,214,90,230,90,216,90,220,90,9,91,23,91,22,91,50,91,55,91,64,91,21,92,28,92,90,91,101,91,115,91,81,91,83,91,98,91,117,154,119,154,120,154,122,154,127,154,125,154,128,154,129,154,133,154,136,154,138,154,144,154,146,154,147,154,150,154,152,154,155,154,156,154,157,154,159,154,160,154,162,154,163,154,165,154,167,154,159,126,161,126,163,126,165,126,168,126,169,126,173,126,176,126,190,126,192,126,193,126,194,126,201,126,203,126,204,126,208,126,212,126,215,126,219,126,224,126,225,126,232,126,235,126,238,126,239,126,241,126,242,126,13,127,246,126,250,126,251,126,254,126,1,127,2,127,3,127,7,127,8,127,11,127,12,127,15,127,17,127,18,127,23,127,25,127,28,127,27,127,31,127,33,127,34,127,35,127,36,127,37,127,38,127,39,127,42,127,43,127,44,127,45,127,47,127,48,127,49,127,50,127,51,127,53,127,122,94,127,117,219,93,62,117,149,144,142,115,145,115,174,115,162,115,159,115,207,115,194,115,209,115,183,115,179,115,192,115,201,115,200,115,229,115,217,115,124,152,10,116,233,115,231,115,222,115,186,115,242,115,15,116,42,116,91,116,38,116,37,116,40,116,48,116,46,116,44,116,27,116,26,116,65,116,92,116,87,116,85,116,89,116,119,116,109,116,126,116,156,116,142,116,128,116,129,116,135,116,139,116,158,116,168,116,169,116,144,116,167,116,210,116,186,116,234,151,235,151,236,151,76,103,83,103,94,103,72,103,105,103,165,103,135,103,106,103,115,103,152,103,167,103,117,103,168,103,158,103,173,103,139,103,119,103,124,103,240,103,9,104,216,103,10,104,233,103,176,103,12,104,217,103,181,103,218,103,179,103,221,103,0,104,195,103,184,103,226,103,14,104,193,103,253,103,50,104,51,104,96,104,97,104,78,104,98,104,68,104,100,104,131,104,29,104,85,104,102,104,65,104,103,104,64,104,62,104,74,104,73,104,41,104,181,104,143,104,116,104,119,104,147,104,107,104,194,104,110,105,252,104,31,105,32,105,249,104,36,105,240,104,11,105,1,105,87,105,227,104,16,105,113,105,57,105,96,105,66,105,93,105,132,105,107,105,128,105,152,105,120,105,52,105,204,105,135,105,136,105,206,105,137,105,102,105,99,105,121,105,155,105,167,105,187,105,171,105,173,105,212,105,177,105,193,105,202,105,223,105,149,105,224,105,141,105,255,105,47,106,237,105,23,106,24,106,101,106,242,105,68,106,62,106,160,106,80,106,91,106,53,106,142,106,121,106,61,106,40,106,88,106,124,106,145,106,144,106,169,106,151,106,171,106,55,115,82,115,129,107,130,107,135,107,132,107,146,107,147,107,141,107,154,107,155,107,161,107,170,107,107,143,109,143,113,143,114,143,115,143,117,143,118,143,120,143,119,143,121,143,122,143,124,143,126,143,129,143,130,143,132,143,135,143,139,143,141,143,142,143,143,143,152,143,154,143,206,142,11,98,23,98,27,98,31,98,34,98,33,98,37,98,36,98,44,98,231,129,239,116,244,116,255,116,15,117,17,117,19,117,52,101,238,101,239,101,240,101,10,102,25,102,114,103,3,102,21,102,0,102,133,112,247,102,29,102,52,102,49,102,54,102,53,102,6,128,95,102,84,102,65,102,79,102,86,102,97,102,87,102,119,102,132,102,140,102,167,102,157,102,190,102,219,102,220,102,230,102,233,102,50,141,51,141,54,141,59,141,61,141,64,141,69,141,70,141,72,141,73,141,71,141,77,141,85,141,89,141,199,137,202,137,203,137,204,137,206,137,207,137,208,137,209,137,110,114,159,114,93,114,102,114,111,114,126,114,127,114,132,114,139,114,141,114,143,114,146,114,8,99,50,99,176,99,63,100,216,100,4,128,234,107,243,107,253,107,245,107,249,107,5,108,7,108,6,108,13,108,21,108,24,108,25,108,26,108,33,108,41,108,36,108,42,108,50,108,53,101,85,101,107,101,77,114,82,114,86,114,48,114,98,134,22,82,159,128,156,128,147,128,188,128,10,103,189,128,177,128,171,128,173,128,180,128,183,128,231,128,232,128,233,128,234,128,219,128,194,128,196,128,217,128,205,128,215,128,16,103,221,128,235,128,241,128,244,128,237,128,13,129,14,129,242,128,252,128,21,103,18,129,90,140,54,129,30,129,44,129,24,129,50,129,72,129,76,129,83,129,116,129,89,129,90,129,113,129,96,129,105,129,124,129,125,129,109,129,103,129,77,88,181,90,136,129,130,129,145,129,213,110,163,129,170,129,204,129,38,103,202,129,187,129,193,129,166,129,36,107,55,107,57,107,67,107,70,107,89,107,209,152,210,152,211,152,213,152,217,152,218,152,179,107,64,95,194,107,243,137,144,101,81,159,147,101,188,101,198,101,196,101,195,101,204,101,206,101,210,101,214,101,128,112,156,112,150,112,157,112,187,112,192,112,183,112,171,112,177,112,232,112,202,112,16,113,19,113,22,113,47,113,49,113,115,113,92,113,104,113,69,113,114,113,74,113,120,113,122,113,152,113,179,113,181,113,168,113,160,113,224,113,212,113,231,113,249,113,29,114,40,114,108,112,24,113,102,113,185,113,62,98,61,98,67,98,72,98,73,98,59,121,64,121,70,121,73,121,91,121,92,121,83,121,90,121,98,121,87,121,96,121,111,121,103,121,122,121,133,121,138,121,154,121,167,121,179,121,209,95,208,95,60,96,93,96,90,96,103,96,65,96,89,96,99,96,171,96,6,97,13,97,93,97,169,97,157,97,203,97,209,97,6,98,128,128,127,128,147,108,246,108,252,109,246,119,248,119,0,120,9,120,23,120,24,120,17,120,171,101,45,120,28,120,29,120,57,120,58,120,59,120,31,120,60,120,37,120,44,120,35,120,41,120,78,120,109,120,86,120,87,120,38,120,80,120,71,120,76,120,106,120,155,120,147,120,154,120,135,120,156,120,161,120,163,120,178,120,185,120,165,120,212,120,217,120,201,120,236,120,242,120,5,121,244,120,19,121,36,121,30,121,52,121,155,159,249,158,251,158,252,158,241,118,4,119,13,119,249,118,7,119,8,119,26,119,34,119,25,119,45,119,38,119,53,119,56,119,80,119,81,119,71,119,67,119,90,119,104,119,98,119,101,119,127,119,141,119,125,119,128,119,140,119,145,119,159,119,160,119,176,119,181,119,189,119,58,117,64,117,78,117,75,117,72,117,91,117,114,117,121,117,131,117,88,127,97,127,95,127,72,138,104,127,116,127,113,127,121,127,129,127,126,127,205,118,229,118,50,136,133,148,134,148,135,148,139,148,138,148,140,148,141,148,143,148,144,148,148,148,151,148,149,148,154,148,155,148,156,148,163,148,164,148,171,148,170,148,173,148,172,148,175,148,176,148,178,148,180,148,182,148,183,148,184,148,185,148,186,148,188,148,189,148,191,148,196,148,200,148,201,148,202,148,203,148,204,148,205,148,206,148,208,148,209,148,210,148,213,148,214,148,215,148,217,148,216,148,219,148,222,148,223,148,224,148,226,148,228,148,229,148,231,148,232,148,234,148,233,148,235,148,238,148,239,148,243,148,244,148,245,148,247,148,249,148,252,148,253,148,255,148,3,149,2,149,6,149,7,149,9,149,10,149,13,149,14,149,15,149,18,149,19,149,20,149,21,149,22,149,24,149,27,149,29,149,30,149,31,149,34,149,42,149,43,149,41,149,44,149,49,149,50,149,52,149,54,149,55,149,56,149,60,149,62,149,63,149,66,149,53,149,68,149,69,149,70,149,73,149,76,149,78,149,79,149,82,149,83,149,84,149,86,149,87,149,88,149,89,149,91,149,94,149,95,149,93,149,97,149,98,149,100,149,101,149,102,149,103,149,104,149,105,149,106,149,107,149,108,149,111,149,113,149,114,149,115,149,58,149,231,119,236,119,201,150,213,121,237,121,227,121,235,121,6,122,71,93,3,122,2,122,30,122,20,122,57,122,55,122,81,122,207,158,165,153,112,122,136,118,142,118,147,118,153,118,164,118,222,116,224,116,44,117,32,158,34,158,40,158,41,158,42,158,43,158,44,158,50,158,49,158,54,158,56,158,55,158,57,158,58,158,62,158,65,158,66,158,68,158,70,158,71,158,72,158,73,158,75,158,76,158,78,158,81,158,85,158,87,158,90,158,91,158,92,158,94,158,99,158,102,158,103,158,104,158,105,158,106,158,107,158,108,158,113,158,109,158,115,158,146,117,148,117,150,117,160,117,157,117,172,117,163,117,179,117,180,117,184,117,196,117,177,117,176,117,195,117,194,117,214,117,205,117,227,117,232,117,230,117,228,117,235,117,231,117,3,118,241,117,252,117,255,117,16,118,0,118,5,118,12,118,23,118,10,118,37,118,24,118,21,118,25,118,27,118,60,118,34,118,32,118,64,118,45,118,48,118,63,118,53,118,67,118,62,118,51,118,77,118,94,118,84,118,92,118,86,118,107,118,111,118,202,127,230,122,120,122,121,122,128,122,134,122,136,122,149,122,166,122,160,122,172,122,168,122,173,122,179,122,100,136,105,136,114,136,125,136,127,136,130,136,162,136,198,136,183,136,188,136,201,136,226,136,206,136,227,136,229,136,241,136,26,137,252,136,232,136,254,136,240,136,33,137,25,137,19,137,27,137,10,137,52,137,43,137,54,137,65,137,102,137,123,137,139,117,229,128,178,118,180,118,220,119,18,128,20,128,22,128,28,128,32,128,34,128,37,128,38,128,39,128,41,128,40,128,49,128,11,128,53,128,67,128,70,128,77,128,82,128,105,128,113,128,131,137,120,152,128,152,131,152,137,152,140,152,141,152,143,152,148,152,154,152,155,152,158,152,159,152,161,152,162,152,165,152,166,152,77,134,84,134,108,134,110,134,127,134,122,134,124,134,123,134,168,134,141,134,139,134,172,134,157,134,167,134,163,134,170,134,147,134,169,134,182,134,196,134,181,134,206,134,176,134,186,134,177,134,175,134,201,134,207,134,180,134,233,134,241,134,242,134,237,134,243,134,208,134,19,135,222,134,244,134,223,134,216,134,209,134,3,135,7,135,248,134,8,135,10,135,13,135,9,135,35,135,59,135,30,135,37,135,46,135,26,135,62,135,72,135,52,135,49,135,41,135,55,135,63,135,130,135,34,135,125,135,126,135,123,135,96,135,112,135,76,135,110,135,139,135,83,135,99,135,124,135,100,135,89,135,101,135,147,135,175,135,168,135,210,135,198,135,136,135,133,135,173,135,151,135,131,135,171,135,229,135,172,135,181,135,179,135,203,135,211,135,189,135,209,135,192,135,202,135,219,135,234,135,224,135,238,135,22,136,19,136,254,135,10,136,27,136,33,136,57,136,60,136,54,127,66,127,68,127,69,127,16,130,250,122,253,122,8,123,3,123,4,123,21,123,10,123,43,123,15,123,71,123,56,123,42,123,25,123,46,123,49,123,32,123,37,123,36,123,51,123,62,123,30,123,88,123,90,123,69,123,117,123,76,123,93,123,96,123,110,123,123,123,98,123,114,123,113,123,144,123,166,123,167,123,184,123,172,123,157,123,168,123,133,123,170,123,156,123,162,123,171,123,180,123,209,123,193,123,204,123,221,123,218,123,229,123,230,123,234,123,12,124,254,123,252,123,15,124,22,124,11,124,31,124,42,124,38,124,56,124,65,124,64,124,254,129,1,130,2,130,4,130,236,129,68,136,33,130,34,130,35,130,45,130,47,130,40,130,43,130,56,130,59,130,51,130,52,130,62,130,68,130,73,130,75,130,79,130,90,130,95,130,104,130,126,136,133,136,136,136,216,136,223,136,94,137,157,127,159,127,167,127,175,127,176,127,178,127,124,124,73,101,145,124,157,124,156,124,158,124,162,124,178,124,188,124,189,124,193,124,199,124,204,124,205,124,200,124,197,124,215,124,232,124,110,130,168,102,191,127,206,127,213,127,229,127,225,127,230,127,233,127,238,127,243,127,248,124,119,125,166,125,174,125,71,126,155,126,184,158,180,158,115,141,132,141,148,141,145,141,177,141,103,141,109,141,71,140,73,140,74,145,80,145,78,145,79,145,100,145,98,145,97,145,112,145,105,145,111,145,125,145,126,145,114,145,116,145,121,145,140,145,133,145,144,145,141,145,145,145,162,145,163,145,170,145,173,145,174,145,175,145,181,145,180,145,186,145,85,140,126,158,184,141,235,141,5,142,89,142,105,142,181,141,191,141,188,141,186,141,196,141,214,141,215,141,218,141,222,141,206,141,207,141,219,141,198,141,236,141,247,141,248,141,227,141,249,141,251,141,228,141,9,142,253,141,20,142,29,142,31,142,44,142,46,142,35,142,47,142,58,142,64,142,57,142,53,142,61,142,49,142,73,142,65,142,66,142,81,142,82,142,74,142,112,142,118,142,124,142,111,142,116,142,133,142,143,142,148,142,144,142,156,142,158,142,120,140,130,140,138,140,133,140,152,140,148,140,155,101,214,137,222,137,218,137,220,137,229,137,235,137,239,137,62,138,38,139,83,151,233,150,243,150,239,150,6,151,1,151,8,151,15,151,14,151,42,151,45,151,48,151,62,151,128,159,131,159,133,159,134,159,135,159,136,159,137,159,138,159,140,159,254,158,11,159,13,159,185,150,188,150,189,150,206,150,210,150,191,119,224,150,142,146,174,146,200,146,62,147,106,147,202,147,143,147,62,148,107,148,127,156,130,156,133,156,134,156,135,156,136,156,35,122,139,156,142,156,144,156,145,156,146,156,148,156,149,156,154,156,155,156,158,156,159,156,160,156,161,156,162,156,163,156,165,156,166,156,167,156,168,156,169,156,171,156,173,156,174,156,176,156,177,156,178,156,179,156,180,156,181,156,182,156,183,156,186,156,187,156,188,156,189,156,196,156,197,156,198,156,199,156,202,156,203,156,204,156,205,156,206,156,207,156,208,156,211,156,212,156,213,156,215,156,216,156,217,156,220,156,221,156,223,156,226,156,124,151,133,151,145,151,146,151,148,151,175,151,171,151,163,151,178,151,180,151,177,154,176,154,183,154,88,158,182,154,186,154,188,154,193,154,192,154,197,154,194,154,203,154,204,154,209,154,69,155,67,155,71,155,73,155,72,155,77,155,81,155,232,152,13,153,46,153,85,153,84,153,223,154,225,154,230,154,239,154,235,154,251,154,237,154,249,154,8,155,15,155,19,155,31,155,35,155,189,158,190,158,59,126,130,158,135,158,136,158,139,158,146,158,214,147,157,158,159,158,219,158,220,158,221,158,224,158,223,158,226,158,233,158,231,158,229,158,234,158,239,158,34,159,44,159,47,159,57,159,55,159,61,159,62,159,68,159,0,0,239,223,76,51,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,76,0,97,0,116,0,110,0,32,0,72,0,97,0,110,0,105,0,32,0,66,0,111,0,112,0,111,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,42,0,89,81,91,81,94,81,93,81,97,81,99,81,231,85,233,116,206,124,0,78,89,78,1,78,3,78,67,78,93,78,134,78,140,78,186,78,63,81,101,81,107,81,224,81,0,82,1,82,155,82,21,83,65,83,92,83,200,83,9,78,11,78,8,78,10,78,43,78,56,78,225,81,69,78,72,78,95,78,94,78,142,78,161,78,64,81,3,82,250,82,67,83,201,83,227,83,31,87,235,88,21,89,39,89,115,89,80,91,81,91,83,91,248,91,15,92,34,92,56,92,113,92,221,93,229,93,241,93,242,93,243,93,254,93,114,94,254,94,11,95,19,95,77,98,17,78,16,78,13,78,45,78,48,78,57,78,75,78,57,92,136,78,145,78,149,78,146,78,148,78,162,78,193,78,192,78,195,78,198,78,199,78,205,78,202,78,203,78,196,78,67,81,65,81,103,81,109,81,110,81,108,81,151,81,246,81,6,82,7,82,8,82,251,82,254,82,255,82,22,83,57,83,72,83,71,83,69,83,94,83,132,83,203,83,202,83,205,83,236,88,41,89,43,89,42,89,45,89,84,91,17,92,36,92,58,92,111,92,244,93,123,94,255,94,20,95,21,95,195,95,8,98,54,98,75,98,78,98,47,101,135,101,151,101,164,101,185,101,229,101,240,102,8,103,40,103,32,107,98,107,121,107,203,107,212,107,219,107,15,108,52,108,107,112,42,114,54,114,59,114,71,114,89,114,91,114,172,114,139,115,25,78,22,78,21,78,20,78,24,78,59,78,77,78,79,78,78,78,229,78,216,78,212,78,213,78,214,78,215,78,227,78,228,78,217,78,222,78,69,81,68,81,137,81,138,81,172,81,249,81,250,81,248,81,10,82,160,82,159,82,5,83,6,83,23,83,29,83,223,78,74,83,73,83,97,83,96,83,111,83,110,83,187,83,239,83,228,83,243,83,236,83,238,83,233,83,232,83,252,83,248,83,245,83,235,83,230,83,234,83,242,83,241,83,240,83,229,83,237,83,251,83,219,86,218,86,22,89,46,89,49,89,116,89,118,89,85,91,131,91,60,92,232,93,231,93,230,93,2,94,3,94,115,94,124,94,1,95,24,95,23,95,197,95,10,98,83,98,84,98,82,98,81,98,165,101,230,101,46,103,44,103,42,103,43,103,45,103,99,107,205,107,17,108,16,108,56,108,65,108,64,108,62,108,175,114,132,115,137,115,220,116,230,116,24,117,31,117,40,117,41,117,48,117,49,117,50,117,51,117,139,117,125,118,174,118,191,118,238,118,219,119,226,119,243,119,58,121,190,121,116,122,203,122,30,78,31,78,82,78,83,78,105,78,153,78,164,78,166,78,165,78,255,78,9,79,25,79,10,79,21,79,13,79,16,79,17,79,15,79,242,78,246,78,251,78,240,78,243,78,253,78,1,79,11,79,73,81,71,81,70,81,72,81,104,81,113,81,141,81,176,81,23,82,17,82,18,82,14,82,22,82,163,82,8,83,33,83,32,83,112,83,113,83,9,84,15,84,12,84,10,84,16,84,1,84,11,84,4,84,17,84,13,84,8,84,3,84,14,84,6,84,18,84,224,86,222,86,221,86,51,87,48,87,40,87,45,87,44,87,47,87,41,87,25,89,26,89,55,89,56,89,132,89,120,89,131,89,125,89,121,89,130,89,129,89,87,91,88,91,135,91,136,91,133,91,137,91,250,91,22,92,121,92,222,93,6,94,118,94,116,94,15,95,27,95,217,95,214,95,14,98,12,98,13,98,16,98,99,98,91,98,88,98,54,101,233,101,232,101,236,101,237,101,242,102,243,102,9,103,61,103,52,103,49,103,53,103,33,107,100,107,123,107,22,108,93,108,87,108,89,108,95,108,96,108,80,108,85,108,97,108,91,108,77,108,78,108,112,112,95,114,93,114,126,118,249,122,115,124,248,124,54,127,138,127,189,127,1,128,3,128,12,128,18,128,51,128,127,128,137,128,139,128,140,128,227,129,234,129,243,129,252,129,12,130,27,130,31,130,110,130,114,130,126,130,107,134,64,136,76,136,99,136,127,137,33,150,50,78,168,78,77,79,79,79,71,79,87,79,94,79,52,79,91,79,85,79,48,79,80,79,81,79,61,79,58,79,56,79,67,79,84,79,60,79,70,79,99,79,92,79,96,79,47,79,78,79,54,79,89,79,93,79,72,79,90,79,76,81,75,81,77,81,117,81,182,81,183,81,37,82,36,82,41,82,42,82,40,82,171,82,169,82,170,82,172,82,35,83,115,83,117,83,29,84,45,84,30,84,62,84,38,84,78,84,39,84,70,84,67,84,51,84,72,84,66,84,27,84,41,84,74,84,57,84,59,84,56,84,46,84,53,84,54,84,32,84,60,84,64,84,49,84,43,84,31,84,44,84,234,86,240,86,228,86,235,86,74,87,81,87,64,87,77,87,71,87,78,87,62,87,80,87,79,87,59,87,239,88,62,89,157,89,146,89,168,89,158,89,163,89,153,89,150,89,141,89,164,89,147,89,138,89,165,89,93,91,92,91,90,91,91,91,140,91,139,91,143,91,44,92,64,92,65,92,63,92,62,92,144,92,145,92,148,92,140,92,235,93,12,94,143,94,135,94,138,94,247,94,4,95,31,95,100,95,98,95,119,95,121,95,216,95,204,95,215,95,205,95,241,95,235,95,248,95,234,95,18,98,17,98,132,98,151,98,150,98,128,98,118,98,137,98,109,98,138,98,124,98,126,98,121,98,115,98,146,98,111,98,152,98,110,98,149,98,147,98,145,98,134,98,57,101,59,101,56,101,241,101,244,102,95,103,78,103,79,103,80,103,81,103,92,103,86,103,94,103,73,103,70,103,96,103,83,103,87,103,101,107,207,107,66,108,94,108,153,108,129,108,136,108,137,108,133,108,155,108,106,108,122,108,144,108,112,108,140,108,104,108,150,108,146,108,125,108,131,108,114,108,126,108,116,108,134,108,118,108,141,108,148,108,152,108,130,108,118,112,124,112,125,112,120,112,98,114,97,114,96,114,196,114,194,114,150,115,44,117,43,117,55,117,56,117,130,118,239,118,227,119,193,121,192,121,191,121,118,122,251,124,85,127,150,128,147,128,157,128,152,128,155,128,154,128,178,128,111,130,146,130,139,130,141,130,139,137,210,137,0,138,55,140,70,140,85,140,157,140,100,141,112,141,179,141,171,142,202,142,155,143,176,143,194,143,198,143,197,143,196,143,225,93,145,144,162,144,170,144,166,144,163,144,73,145,198,145,204,145,50,150,46,150,49,150,42,150,44,150,38,78,86,78,115,78,139,78,155,78,158,78,171,78,172,78,111,79,157,79,141,79,115,79,127,79,108,79,155,79,139,79,134,79,131,79,112,79,117,79,136,79,105,79,123,79,150,79,126,79,143,79,145,79,122,79,84,81,82,81,85,81,105,81,119,81,118,81,120,81,189,81,253,81,59,82,56,82,55,82,58,82,48,82,46,82,54,82,65,82,190,82,187,82,82,83,84,83,83,83,81,83,102,83,119,83,120,83,121,83,214,83,212,83,215,83,115,84,117,84,150,84,120,84,149,84,128,84,123,84,119,84,132,84,146,84,134,84,124,84,144,84,113,84,118,84,140,84,154,84,98,84,104,84,139,84,125,84,142,84,250,86,131,87,119,87,106,87,105,87,97,87,102,87,100,87,124,87,28,89,73,89,71,89,72,89,68,89,84,89,190,89,187,89,212,89,185,89,174,89,209,89,198,89,208,89,205,89,203,89,211,89,202,89,175,89,179,89,210,89,197,89,95,91,100,91,99,91,151,91,154,91,152,91,156,91,153,91,155,91,26,92,72,92,69,92,70,92,183,92,161,92,184,92,169,92,171,92,177,92,179,92,24,94,26,94,22,94,21,94,27,94,17,94,120,94,154,94,151,94,156,94,149,94,150,94,246,94,38,95,39,95,41,95,128,95,129,95,127,95,124,95,221,95,224,95,253,95,245,95,255,95,15,96,20,96,47,96,53,96,22,96,42,96,21,96,33,96,39,96,41,96,43,96,27,96,22,98,21,98,63,98,62,98,64,98,127,98,201,98,204,98,196,98,191,98,194,98,185,98,210,98,219,98,171,98,211,98,212,98,203,98,200,98,168,98,189,98,188,98,208,98,217,98,199,98,205,98,181,98,218,98,177,98,216,98,214,98,215,98,198,98,172,98,206,98,62,101,167,101,188,101,250,101,20,102,19,102,12,102,6,102,2,102,14,102,0,102,15,102,21,102,10,102,7,102,13,103,11,103,109,103,139,103,149,103,113,103,156,103,115,103,119,103,135,103,157,103,151,103,111,103,112,103,127,103,137,103,126,103,144,103,117,103,154,103,147,103,124,103,106,103,114,103,35,107,102,107,103,107,127,107,19,108,27,108,227,108,232,108,243,108,177,108,204,108,229,108,179,108,189,108,190,108,188,108,226,108,171,108,213,108,211,108,184,108,196,108,185,108,193,108,174,108,215,108,197,108,241,108,191,108,187,108,225,108,219,108,202,108,172,108,239,108,220,108,214,108,224,108,149,112,142,112,146,112,138,112,153,112,44,114,45,114,56,114,72,114,103,114,105,114,192,114,206,114,217,114,215,114,208,114,169,115,168,115,159,115,171,115,165,115,61,117,157,117,153,117,154,117,132,118,194,118,242,118,244,118,229,119,253,119,62,121,64,121,65,121,201,121,200,121,122,122,121,122,250,122,254,124,84,127,140,127,139,127,5,128,186,128,165,128,162,128,177,128,161,128,171,128,169,128,180,128,170,128,175,128,229,129,254,129,13,130,179,130,157,130,153,130,173,130,189,130,159,130,185,130,177,130,172,130,165,130,175,130,184,130,163,130,176,130,190,130,183,130,78,134,113,134,29,82,104,136,203,142,206,143,212,143,209,143,181,144,184,144,177,144,182,144,199,145,209,145,119,149,128,149,28,150,64,150,63,150,59,150,68,150,66,150,185,150,232,150,82,151,94,151,159,78,173,78,174,78,225,79,181,79,175,79,191,79,224,79,209,79,207,79,221,79,195,79,182,79,216,79,223,79,202,79,215,79,174,79,208,79,196,79,194,79,218,79,206,79,222,79,183,79,87,81,146,81,145,81,160,81,78,82,67,82,74,82,77,82,76,82,75,82,71,82,199,82,201,82,195,82,193,82,13,83,87,83,123,83,154,83,219,83,172,84,192,84,168,84,206,84,201,84,184,84,166,84,179,84,199,84,194,84,189,84,170,84,193,84,196,84,200,84,175,84,171,84,177,84,187,84,169,84,167,84,191,84,255,86,130,87,139,87,160,87,163,87,162,87,206,87,174,87,147,87,85,89,81,89,79,89,78,89,80,89,220,89,216,89,255,89,227,89,232,89,3,90,229,89,234,89,218,89,230,89,1,90,251,89,105,91,163,91,166,91,164,91,162,91,165,91,1,92,78,92,79,92,77,92,75,92,217,92,210,92,247,93,29,94,37,94,31,94,125,94,160,94,166,94,250,94,8,95,45,95,101,95,136,95,133,95,138,95,139,95,135,95,140,95,137,95,18,96,29,96,32,96,37,96,14,96,40,96,77,96,112,96,104,96,98,96,70,96,67,96,108,96,107,96,106,96,100,96,65,98,220,98,22,99,9,99,252,98,237,98,1,99,238,98,253,98,7,99,241,98,247,98,239,98,236,98,254,98,244,98,17,99,2,99,63,101,69,101,171,101,189,101,226,101,37,102,45,102,32,102,39,102,47,102,31,102,40,102,49,102,36,102,247,102,255,103,211,103,241,103,212,103,208,103,236,103,182,103,175,103,245,103,233,103,239,103,196,103,209,103,180,103,218,103,229,103,184,103,207,103,222,103,243,103,176,103,217,103,226,103,221,103,210,103,106,107,131,107,134,107,181,107,210,107,215,107,31,108,201,108,11,109,50,109,42,109,65,109,37,109,12,109,49,109,30,109,23,109,59,109,61,109,62,109,54,109,27,109,245,108,57,109,39,109,56,109,41,109,46,109,53,109,14,109,43,109,171,112,186,112,179,112,172,112,175,112,173,112,184,112,174,112,164,112,48,114,114,114,111,114,116,114,233,114,224,114,225,114,183,115,202,115,187,115,178,115,205,115,192,115,179,115,26,117,45,117,79,117,76,117,78,117,75,117,171,117,164,117,165,117,162,117,163,117,120,118,134,118,135,118,136,118,200,118,198,118,195,118,197,118,1,119,249,118,248,118,9,119,11,119,254,118,252,118,7,119,220,119,2,120,20,120,12,120,13,120,70,121,73,121,72,121,71,121,185,121,186,121,209,121,210,121,203,121,127,122,129,122,255,122,253,122,125,124,2,125,5,125,0,125,9,125,7,125,4,125,6,125,56,127,142,127,191,127,4,128,16,128,13,128,17,128,54,128,214,128,229,128,218,128,195,128,196,128,204,128,225,128,219,128,206,128,222,128,228,128,221,128,244,129,34,130,231,130,3,131,5,131,227,130,219,130,230,130,4,131,229,130,2,131,9,131,210,130,215,130,241,130,1,131,220,130,212,130,209,130,222,130,211,130,223,130,239,130,6,131,80,134,121,134,123,134,122,134,77,136,107,136,129,137,212,137,8,138,2,138,3,138,158,140,160,140,116,141,115,141,180,141,205,142,204,142,240,143,230,143,226,143,234,143,229,143,237,143,235,143,228,143,232,143,202,144,206,144,193,144,195,144,75,145,74,145,205,145,130,149,80,150,75,150,76,150,77,150,98,151,105,151,203,151,237,151,243,151,1,152,168,152,219,152,223,152,150,153,153,153,88,78,179,78,12,80,13,80,35,80,239,79,38,80,37,80,248,79,41,80,22,80,6,80,60,80,31,80,26,80,18,80,17,80,250,79,0,80,20,80,40,80,241,79,33,80,11,80,25,80,24,80,243,79,238,79,45,80,42,80,254,79,43,80,9,80,124,81,164,81,165,81,162,81,205,81,204,81,198,81,203,81,86,82,92,82,84,82,91,82,93,82,42,83,127,83,159,83,157,83,223,83,232,84,16,85,1,85,55,85,252,84,229,84,242,84,6,85,250,84,20,85,233,84,237,84,225,84,9,85,238,84,234,84,230,84,39,85,7,85,253,84,15,85,3,87,4,87,194,87,212,87,203,87,195,87,9,88,15,89,87,89,88,89,90,89,17,90,24,90,28,90,31,90,27,90,19,90,236,89,32,90,35,90,41,90,37,90,12,90,9,90,107,91,88,92,176,91,179,91,182,91,180,91,174,91,181,91,185,91,184,91,4,92,81,92,85,92,80,92,237,92,253,92,251,92,234,92,232,92,240,92,246,92,1,93,244,92,238,93,45,94,43,94,171,94,173,94,167,94,49,95,146,95,145,95,144,95,89,96,99,96,101,96,80,96,85,96,109,96,105,96,111,96,132,96,159,96,154,96,141,96,148,96,140,96,133,96,150,96,71,98,243,98,8,99,255,98,78,99,62,99,47,99,85,99,66,99,70,99,79,99,73,99,58,99,80,99,61,99,42,99,43,99,40,99,77,99,76,99,72,101,73,101,153,101,193,101,197,101,66,102,73,102,79,102,67,102,82,102,76,102,69,102,65,102,248,102,20,103,21,103,23,103,33,104,56,104,72,104,70,104,83,104,57,104,66,104,84,104,41,104,179,104,23,104,76,104,81,104,61,104,244,103,80,104,64,104,60,104,67,104,42,104,69,104,19,104,24,104,65,104,138,107,137,107,183,107,35,108,39,108,40,108,38,108,36,108,240,108,106,109,149,109,136,109,135,109,102,109,120,109,119,109,89,109,147,109,108,109,137,109,110,109,90,109,116,109,105,109,140,109,138,109,121,109,133,109,101,109,148,109,202,112,216,112,228,112,217,112,200,112,207,112,57,114,121,114,252,114,249,114,253,114,248,114,247,114,134,115,237,115,9,116,238,115,224,115,234,115,222,115,84,117,93,117,92,117,90,117,89,117,190,117,197,117,199,117,178,117,179,117,189,117,188,117,185,117,194,117,184,117,139,118,176,118,202,118,205,118,206,118,41,119,31,119,32,119,40,119,233,119,48,120,39,120,56,120,29,120,52,120,55,120,37,120,45,120,32,120,31,120,50,120,85,121,80,121,96,121,95,121,86,121,94,121,93,121,87,121,90,121,228,121,227,121,231,121,223,121,230,121,233,121,216,121,132,122,136,122,217,122,6,123,17,123,137,124,33,125,23,125,11,125,10,125,32,125,34,125,20,125,16,125,21,125,26,125,28,125,13,125,25,125,27,125,58,127,95,127,148,127,197,127,193,127,6,128,24,128,21,128,25,128,23,128,61,128,63,128,241,128,2,129,240,128,5,129,237,128,244,128,6,129,248,128,243,128,8,129,253,128,10,129,252,128,239,128,237,129,236,129,0,130,16,130,42,130,43,130,40,130,44,130,187,130,43,131,82,131,84,131,74,131,56,131,80,131,73,131,53,131,52,131,79,131,50,131,57,131,54,131,23,131,64,131,49,131,40,131,67,131,84,134,138,134,170,134,147,134,164,134,169,134,140,134,163,134,156,134,112,136,119,136,129,136,130,136,125,136,121,136,24,138,16,138,14,138,12,138,21,138,10,138,23,138,19,138,22,138,15,138,17,138,72,140,122,140,121,140,161,140,162,140,119,141,172,142,210,142,212,142,207,142,177,143,1,144,6,144,247,143,0,144,250,143,244,143,3,144,253,143,5,144,248,143,149,144,225,144,221,144,226,144,82,145,77,145,76,145,216,145,221,145,215,145,220,145,217,145,131,149,98,150,99,150,97,150,91,150,93,150,100,150,88,150,94,150,187,150,226,152,172,153,168,154,216,154,37,155,50,155,60,155,126,78,122,80,125,80,92,80,71,80,67,80,76,80,90,80,73,80,101,80,118,80,78,80,85,80,117,80,116,80,119,80,79,80,15,80,111,80,109,80,92,81,149,81,240,81,106,82,111,82,210,82,217,82,216,82,213,82,16,83,15,83,25,83,63,83,64,83,62,83,195,83,252,102,70,85,106,85,102,85,68,85,94,85,97,85,67,85,74,85,49,85,86,85,79,85,85,85,47,85,100,85,56,85,46,85,92,85,44,85,99,85,51,85,65,85,87,85,8,87,11,87,9,87,223,87,5,88,10,88,6,88,224,87,228,87,250,87,2,88,53,88,247,87,249,87,32,89,98,89,54,90,65,90,73,90,102,90,106,90,64,90,60,90,98,90,90,90,70,90,74,90,112,91,199,91,197,91,196,91,194,91,191,91,198,91,9,92,8,92,7,92,96,92,92,92,93,92,7,93,6,93,14,93,27,93,22,93,34,93,17,93,41,93,20,93,25,93,36,93,39,93,23,93,226,93,56,94,54,94,51,94,55,94,183,94,184,94,182,94,181,94,190,94,53,95,55,95,87,95,108,95,105,95,107,95,151,95,153,95,158,95,152,95,161,95,160,95,156,95,127,96,163,96,137,96,160,96,168,96,203,96,180,96,230,96,189,96,197,96,187,96,181,96,220,96,188,96,216,96,213,96,198,96,223,96,184,96,218,96,199,96,26,98,27,98,72,98,160,99,167,99,114,99,150,99,162,99,165,99,119,99,103,99,152,99,170,99,113,99,169,99,137,99,131,99,155,99,107,99,168,99,132,99,136,99,153,99,161,99,172,99,146,99,143,99,128,99,123,99,105,99,104,99,122,99,93,101,86,101,81,101,89,101,87,101,95,85,79,101,88,101,85,101,84,101,156,101,155,101,172,101,207,101,203,101,204,101,206,101,93,102,90,102,100,102,104,102,102,102,94,102,249,102,215,82,27,103,129,104,175,104,162,104,147,104,181,104,127,104,118,104,177,104,167,104,151,104,176,104,131,104,196,104,173,104,134,104,133,104,148,104,157,104,168,104,159,104,161,104,130,104,50,107,186,107,235,107,236,107,43,108,142,109,188,109,243,109,217,109,178,109,225,109,204,109,228,109,251,109,250,109,5,110,199,109,203,109,175,109,209,109,174,109,222,109,249,109,184,109,247,109,245,109,197,109,210,109,26,110,181,109,218,109,235,109,216,109,234,109,241,109,238,109,232,109,198,109,196,109,170,109,236,109,191,109,230,109,249,112,9,113,10,113,253,112,239,112,61,114,125,114,129,114,28,115,27,115,22,115,19,115,25,115,135,115,5,116,10,116,3,116,6,116,254,115,13,116,224,116,246,116,247,116,28,117,34,117,101,117,102,117,98,117,112,117,143,117,212,117,213,117,181,117,202,117,205,117,142,118,212,118,210,118,219,118,55,119,62,119,60,119,54,119,56,119,58,119,107,120,67,120,78,120,101,121,104,121,109,121,251,121,146,122,149,122,32,123,40,123,27,123,44,123,38,123,25,123,30,123,46,123,146,124,151,124,149,124,70,125,67,125,113,125,46,125,57,125,60,125,64,125,48,125,51,125,68,125,47,125,66,125,50,125,49,125,61,127,158,127,154,127,204,127,206,127,210,127,28,128,74,128,70,128,47,129,22,129,35,129,43,129,41,129,48,129,36,129,2,130,53,130,55,130,54,130,57,130,142,131,158,131,152,131,120,131,162,131,150,131,189,131,171,131,146,131,138,131,147,131,137,131,160,131,119,131,123,131,124,131,134,131,167,131,85,134,106,95,199,134,192,134,182,134,196,134,181,134,198,134,203,134,177,134,175,134,201,134,83,136,158,136,136,136,171,136,146,136,150,136,141,136,139,136,147,137,143,137,42,138,29,138,35,138,37,138,49,138,45,138,31,138,27,138,34,138,73,140,90,140,169,140,172,140,171,140,168,140,170,140,167,140,103,141,102,141,190,141,186,141,219,142,223,142,25,144,13,144,26,144,23,144,35,144,31,144,29,144,16,144,21,144,30,144,32,144,15,144,34,144,22,144,27,144,20,144,232,144,237,144,253,144,87,145,206,145,245,145,230,145,227,145,231,145,237,145,233,145,137,149,106,150,117,150,115,150,120,150,112,150,116,150,118,150,119,150,108,150,192,150,234,150,233,150,224,122,223,122,2,152,3,152,90,155,229,156,117,158,127,158,165,158,187,158,162,80,141,80,133,80,153,80,145,80,128,80,150,80,152,80,154,80,0,103,241,81,114,82,116,82,117,82,105,82,222,82,221,82,219,82,90,83,165,83,123,85,128,85,167,85,124,85,138,85,157,85,152,85,130,85,156,85,170,85,148,85,135,85,139,85,131,85,179,85,174,85,159,85,62,85,178,85,154,85,187,85,172,85,177,85,126,85,137,85,171,85,153,85,13,87,47,88,42,88,52,88,36,88,48,88,49,88,33,88,29,88,32,88,249,88,250,88,96,89,119,90,154,90,127,90,146,90,155,90,167,90,115,91,113,91,210,91,204,91,211,91,208,91,10,92,11,92,49,92,76,93,80,93,52,93,71,93,253,93,69,94,61,94,64,94,67,94,126,94,202,94,193,94,194,94,196,94,60,95,109,95,169,95,170,95,168,95,209,96,225,96,178,96,182,96,224,96,28,97,35,97,250,96,21,97,240,96,251,96,244,96,104,97,241,96,14,97,246,96,9,97,0,97,18,97,31,98,73,98,163,99,140,99,207,99,192,99,233,99,201,99,198,99,205,99,210,99,227,99,208,99,225,99,214,99,237,99,238,99,118,99,244,99,234,99,219,99,82,100,218,99,249,99,94,101,102,101,98,101,99,101,145,101,144,101,175,101,110,102,112,102,116,102,118,102,111,102,145,102,122,102,126,102,119,102,254,102,255,102,31,103,29,103,250,104,213,104,224,104,216,104,215,104,5,105,223,104,245,104,238,104,231,104,249,104,210,104,242,104,227,104,203,104,205,104,13,105,18,105,14,105,201,104,218,104,110,105,251,104,62,107,58,107,61,107,152,107,150,107,188,107,239,107,46,108,47,108,44,108,47,110,56,110,84,110,33,110,50,110,103,110,74,110,32,110,37,110,35,110,27,110,91,110,88,110,36,110,86,110,110,110,45,110,38,110,111,110,52,110,77,110,58,110,44,110,67,110,29,110,62,110,203,110,137,110,25,110,78,110,99,110,68,110,114,110,105,110,95,110,25,113,26,113,38,113,48,113,33,113,54,113,110,113,28,113,76,114,132,114,128,114,54,115,37,115,52,115,41,115,58,116,42,116,51,116,34,116,37,116,53,116,54,116,52,116,47,116,27,116,38,116,40,116,37,117,38,117,107,117,106,117,226,117,219,117,227,117,217,117,216,117,222,117,224,117,123,118,124,118,150,118,147,118,180,118,220,118,79,119,237,119,93,120,108,120,111,120,13,122,8,122,11,122,5,122,0,122,152,122,151,122,150,122,229,122,227,122,73,123,86,123,70,123,80,123,82,123,84,123,77,123,75,123,79,123,81,123,159,124,165,124,94,125,80,125,104,125,85,125,43,125,110,125,114,125,97,125,102,125,98,125,112,125,115,125,132,85,212,127,213,127,11,128,82,128,133,128,85,129,84,129,75,129,81,129,78,129,57,129,70,129,62,129,76,129,83,129,116,129,18,130,28,130,233,131,3,132,248,131,13,132,224,131,197,131,11,132,193,131,239,131,241,131,244,131,87,132,10,132,240,131,12,132,204,131,253,131,242,131,202,131,56,132,14,132,4,132,220,131,7,132,212,131,223,131,91,134,223,134,217,134,237,134,212,134,219,134,228,134,208,134,222,134,87,136,193,136,194,136,177,136,131,137,150,137,59,138,96,138,85,138,94,138,60,138,65,138,84,138,91,138,80,138,70,138,52,138,58,138,54,138,86,138,97,140,130,140,175,140,188,140,179,140,189,140,193,140,187,140,192,140,180,140,183,140,182,140,191,140,184,140,138,141,133,141,129,141,206,141,221,141,203,141,218,141,209,141,204,141,219,141,198,141,251,142,248,142,252,142,156,143,46,144,53,144,49,144,56,144,50,144,54,144,2,145,245,144,9,145,254,144,99,145,101,145,207,145,20,146,21,146,35,146,9,146,30,146,13,146,16,146,7,146,17,146,148,149,143,149,139,149,145,149,147,149,146,149,142,149,138,150,142,150,139,150,125,150,133,150,134,150,141,150,114,150,132,150,193,150,197,150,196,150,198,150,199,150,239,150,242,150,204,151,5,152,6,152,8,152,231,152,234,152,239,152,233,152,242,152,237,152,174,153,173,153,195,158,205,158,209,158,130,78,173,80,181,80,178,80,179,80,197,80,190,80,172,80,183,80,187,80,175,80,199,80,127,82,119,82,125,82,223,82,230,82,228,82,226,82,227,82,47,83,223,85,232,85,211,85,230,85,206,85,220,85,199,85,209,85,227,85,228,85,239,85,218,85,225,85,197,85,198,85,229,85,201,85,18,87,19,87,94,88,81,88,88,88,87,88,90,88,84,88,107,88,76,88,109,88,74,88,98,88,82,88,75,88,103,89,193,90,201,90,204,90,190,90,189,90,188,90,179,90,194,90,178,90,105,93,111,93,76,94,121,94,201,94,200,94,18,95,89,95,172,95,174,95,26,97,15,97,72,97,31,97,243,96,27,97,249,96,1,97,8,97,78,97,76,97,68,97,77,97,62,97,52,97,39,97,13,97,6,97,55,97,33,98,34,98,19,100,62,100,30,100,42,100,45,100,61,100,44,100,15,100,28,100,20,100,13,100,54,100,22,100,23,100,6,100,108,101,159,101,176,101,151,102,137,102,135,102,136,102,150,102,132,102,152,102,141,102,3,103,148,105,109,105,90,105,119,105,96,105,84,105,117,105,48,105,130,105,74,105,104,105,107,105,94,105,83,105,121,105,134,105,93,105,99,105,91,105,71,107,114,107,192,107,191,107,211,107,253,107,162,110,175,110,211,110,182,110,194,110,144,110,157,110,199,110,197,110,165,110,152,110,188,110,186,110,171,110,209,110,150,110,156,110,196,110,212,110,170,110,167,110,180,110,78,113,89,113,105,113,100,113,73,113,103,113,92,113,108,113,102,113,76,113,101,113,94,113,70,113,104,113,86,113,58,114,82,114,55,115,69,115,63,115,62,115,111,116,90,116,85,116,95,116,94,116,65,116,63,116,89,116,91,116,92,116,118,117,120,117,0,118,240,117,1,118,242,117,241,117,250,117,255,117,244,117,243,117,222,118,223,118,91,119,107,119,102,119,94,119,99,119,121,119,106,119,108,119,92,119,101,119,104,119,98,119,238,119,142,120,176,120,151,120,152,120,140,120,137,120,124,120,145,120,147,120,127,120,122,121,127,121,129,121,44,132,189,121,28,122,26,122,32,122,20,122,31,122,30,122,159,122,160,122,119,123,192,123,96,123,110,123,103,123,177,124,179,124,181,124,147,125,121,125,145,125,129,125,143,125,91,125,110,127,105,127,106,127,114,127,169,127,168,127,164,127,86,128,88,128,134,128,132,128,113,129,112,129,120,129,101,129,110,129,115,129,107,129,121,129,122,129,102,129,5,130,71,130,130,132,119,132,61,132,49,132,117,132,102,132,107,132,73,132,108,132,91,132,60,132,53,132,97,132,99,132,105,132,109,132,70,132,94,134,92,134,95,134,249,134,19,135,8,135,7,135,0,135,254,134,251,134,2,135,3,135,6,135,10,135,89,136,223,136,212,136,217,136,220,136,216,136,221,136,225,136,202,136,213,136,210,136,156,137,227,137,107,138,114,138,115,138,102,138,105,138,112,138,135,138,124,138,99,138,160,138,113,138,133,138,109,138,98,138,110,138,108,138,121,138,123,138,62,138,104,138,98,140,138,140,137,140,202,140,199,140,200,140,196,140,178,140,195,140,194,140,197,140,225,141,223,141,232,141,239,141,243,141,250,141,234,141,228,141,230,141,178,142,3,143,9,143,254,142,10,143,159,143,178,143,75,144,74,144,83,144,66,144,84,144,60,144,85,144,80,144,71,144,79,144,78,144,77,144,81,144,62,144,65,144,18,145,23,145,108,145,106,145,105,145,201,145,55,146,87,146,56,146,61,146,64,146,62,146,91,146,75,146,100,146,81,146,52,146,73,146,77,146,69,146,57,146,63,146,90,146,152,149,152,150,148,150,149,150,205,150,203,150,201,150,202,150,247,150,251,150,249,150,246,150,86,151,116,151,118,151,16,152,17,152,19,152,10,152,18,152,12,152,252,152,244,152,253,152,254,152,179,153,177,153,180,153,225,154,233,156,130,158,14,159,19,159,32,159,231,80,238,80,229,80,214,80,237,80,218,80,213,80,207,80,209,80,241,80,206,80,233,80,98,81,243,81,131,82,130,82,49,83,173,83,254,85,0,86,27,86,23,86,253,85,20,86,6,86,9,86,13,86,14,86,247,85,22,86,31,86,8,86,16,86,246,85,24,87,22,87,117,88,126,88,131,88,147,88,138,88,121,88,133,88,125,88,253,88,37,89,34,89,36,89,106,89,105,89,225,90,230,90,233,90,215,90,214,90,216,90,227,90,117,91,222,91,231,91,225,91,229,91,230,91,232,91,226,91,228,91,223,91,13,92,98,92,132,93,135,93,91,94,99,94,85,94,87,94,84,94,211,94,214,94,10,95,70,95,112,95,185,95,71,97,63,97,75,97,119,97,98,97,99,97,95,97,90,97,88,97,117,97,42,98,135,100,88,100,84,100,164,100,120,100,95,100,122,100,81,100,103,100,52,100,109,100,123,100,114,101,161,101,215,101,214,101,162,102,168,102,157,102,156,105,168,105,149,105,193,105,174,105,211,105,203,105,155,105,183,105,187,105,171,105,180,105,208,105,205,105,173,105,204,105,166,105,195,105,163,105,73,107,76,107,51,108,51,111,20,111,254,110,19,111,244,110,41,111,62,111,32,111,44,111,15,111,2,111,34,111,255,110,239,110,6,111,49,111,56,111,50,111,35,111,21,111,43,111,47,111,136,111,42,111,236,110,1,111,242,110,204,110,247,110,148,113,153,113,125,113,138,113,132,113,146,113,62,114,146,114,150,114,68,115,80,115,100,116,99,116,106,116,112,116,109,116,4,117,145,117,39,118,13,118,11,118,9,118,19,118,225,118,227,118,132,119,125,119,127,119,97,119,193,120,159,120,167,120,179,120,169,120,163,120,142,121,143,121,141,121,46,122,49,122,170,122,169,122,237,122,239,122,161,123,149,123,139,123,117,123,151,123,157,123,148,123,143,123,184,123,135,123,132,123,185,124,189,124,190,124,187,125,176,125,156,125,189,125,190,125,160,125,202,125,180,125,178,125,177,125,186,125,162,125,191,125,181,125,184,125,173,125,210,125,199,125,172,125,112,127,224,127,225,127,223,127,94,128,90,128,135,128,80,129,128,129,143,129,136,129,138,129,127,129,130,129,231,129,250,129,7,130,20,130,30,130,75,130,201,132,191,132,198,132,196,132,153,132,158,132,178,132,156,132,203,132,184,132,192,132,211,132,144,132,188,132,209,132,202,132,63,135,28,135,59,135,34,135,37,135,52,135,24,135,85,135,55,135,41,135,243,136,2,137,244,136,249,136,248,136,253,136,232,136,26,137,239,136,166,138,140,138,158,138,163,138,141,138,161,138,147,138,164,138,170,138,165,138,168,138,152,138,145,138,154,138,167,138,106,140,141,140,140,140,211,140,209,140,210,140,107,141,153,141,149,141,252,141,20,143,18,143,21,143,19,143,163,143,96,144,88,144,92,144,99,144,89,144,94,144,98,144,93,144,91,144,25,145,24,145,30,145,117,145,120,145,119,145,116,145,120,146,128,146,133,146,152,146,150,146,123,146,147,146,156,146,168,146,124,146,145,146,161,149,168,149,169,149,163,149,165,149,164,149,153,150,156,150,155,150,204,150,210,150,0,151,124,151,133,151,246,151,23,152,24,152,175,152,177,152,3,153,5,153,12,153,9,153,193,153,175,154,176,154,230,154,65,155,66,155,244,156,246,156,243,156,188,158,59,159,74,159,4,81,0,81,251,80,245,80,249,80,2,81,8,81,9,81,5,81,220,81,135,82,136,82,137,82,141,82,138,82,240,82,178,83,46,86,59,86,57,86,50,86,63,86,52,86,41,86,83,86,78,86,87,86,116,86,54,86,47,86,48,86,128,88,159,88,158,88,179,88,156,88,174,88,169,88,166,88,109,89,9,91,251,90,11,91,245,90,12,91,8,91,238,91,236,91,233,91,235,91,100,92,101,92,157,93,148,93,98,94,95,94,97,94,226,94,218,94,223,94,221,94,227,94,224,94,72,95,113,95,183,95,181,95,118,97,103,97,110,97,93,97,85,97,130,97,124,97,112,97,107,97,126,97,167,97,144,97,171,97,142,97,172,97,154,97,164,97,148,97,174,97,46,98,105,100,111,100,121,100,158,100,178,100,136,100,144,100,176,100,165,100,147,100,149,100,169,100,146,100,174,100,173,100,171,100,154,100,172,100,153,100,162,100,179,100,117,101,119,101,120,101,174,102,171,102,180,102,177,102,35,106,31,106,232,105,1,106,30,106,25,106,253,105,33,106,19,106,10,106,243,105,2,106,5,106,237,105,17,106,80,107,78,107,164,107,197,107,198,107,63,111,124,111,132,111,81,111,102,111,84,111,134,111,109,111,91,111,120,111,110,111,142,111,122,111,112,111,100,111,151,111,88,111,213,110,111,111,96,111,95,111,159,113,172,113,177,113,168,113,86,114,155,114,78,115,87,115,105,116,139,116,131,116,126,116,128,116,127,117,32,118,41,118,31,118,36,118,38,118,33,118,34,118,154,118,186,118,228,118,142,119,135,119,140,119,145,119,139,119,203,120,197,120,186,120,202,120,190,120,213,120,188,120,208,120,63,122,60,122,64,122,61,122,55,122,59,122,175,122,174,122,173,123,177,123,196,123,180,123,198,123,199,123,193,123,160,123,204,123,202,124,224,125,244,125,239,125,251,125,216,125,236,125,221,125,232,125,227,125,218,125,222,125,233,125,158,125,217,125,242,125,249,125,117,127,119,127,175,127,233,127,38,128,155,129,156,129,157,129,160,129,154,129,152,129,23,133,61,133,26,133,238,132,44,133,45,133,19,133,17,133,35,133,33,133,20,133,236,132,37,133,255,132,6,133,130,135,116,135,118,135,96,135,102,135,120,135,104,135,89,135,87,135,76,135,83,135,91,136,93,136,16,137,7,137,18,137,19,137,21,137,10,137,188,138,210,138,199,138,196,138,149,138,203,138,248,138,178,138,201,138,194,138,191,138,176,138,214,138,205,138,182,138,185,138,219,138,76,140,78,140,108,140,224,140,222,140,230,140,228,140,236,140,237,140,226,140,227,140,220,140,234,140,225,140,109,141,159,141,163,141,43,142,16,142,29,142,34,142,15,142,41,142,31,142,33,142,30,142,186,142,29,143,27,143,31,143,41,143,38,143,42,143,28,143,30,143,37,143,105,144,110,144,104,144,109,144,119,144,48,145,45,145,39,145,49,145,135,145,137,145,139,145,131,145,197,146,187,146,183,146,234,146,172,146,228,146,193,146,179,146,188,146,210,146,199,146,240,146,178,146,173,149,177,149,4,151,6,151,7,151,9,151,96,151,141,151,139,151,143,151,33,152,43,152,28,152,179,152,10,153,19,153,18,153,24,153,221,153,208,153,223,153,219,153,209,153,213,153,210,153,217,153,183,154,238,154,239,154,39,155,69,155,68,155,119,155,111,155,6,157,9,157,3,157,169,158,190,158,206,158,168,88,82,159,18,81,24,81,20,81,16,81,21,81,128,81,170,81,221,81,145,82,147,82,243,82,89,86,107,86,121,86,105,86,100,86,120,86,106,86,104,86,101,86,113,86,111,86,108,86,98,86,118,86,193,88,190,88,199,88,197,88,110,89,29,91,52,91,120,91,240,91,14,92,74,95,178,97,145,97,169,97,138,97,205,97,182,97,190,97,202,97,200,97,48,98,197,100,193,100,203,100,187,100,188,100,218,100,196,100,199,100,194,100,205,100,191,100,210,100,212,100,190,100,116,101,198,102,201,102,185,102,196,102,199,102,184,102,61,106,56,106,58,106,89,106,107,106,88,106,57,106,68,106,98,106,97,106,75,106,71,106,53,106,95,106,72,106,89,107,119,107,5,108,194,111,177,111,161,111,195,111,164,111,193,111,167,111,179,111,192,111,185,111,182,111,166,111,160,111,180,111,190,113,201,113,208,113,210,113,200,113,213,113,185,113,206,113,217,113,220,113,195,113,196,113,104,115,156,116,163,116,152,116,159,116,158,116,226,116,12,117,13,117,52,118,56,118,58,118,231,118,229,118,160,119,158,119,159,119,165,119,232,120,218,120,236,120,231,120,166,121,77,122,78,122,70,122,76,122,75,122,186,122,217,123,17,124,201,123,228,123,219,123,225,123,233,123,230,123,213,124,214,124,10,126,17,126,8,126,27,126,35,126,30,126,29,126,9,126,16,126,121,127,178,127,240,127,241,127,238,127,40,128,179,129,169,129,168,129,251,129,8,130,88,130,89,130,74,133,89,133,72,133,104,133,105,133,67,133,73,133,109,133,106,133,94,133,131,135,159,135,158,135,162,135,141,135,97,136,42,137,50,137,37,137,43,137,33,137,170,137,166,137,230,138,250,138,235,138,241,138,0,139,220,138,231,138,238,138,254,138,1,139,2,139,247,138,237,138,243,138,246,138,252,138,107,140,109,140,147,140,244,140,68,142,49,142,52,142,66,142,57,142,53,142,59,143,47,143,56,143,51,143,168,143,166,143,117,144,116,144,120,144,114,144,124,144,122,144,52,145,146,145,32,147,54,147,248,146,51,147,47,147,34,147,252,146,43,147,4,147,26,147,16,147,38,147,33,147,21,147,46,147,25,147,187,149,167,150,168,150,170,150,213,150,14,151,17,151,22,151,13,151,19,151,15,151,91,151,92,151,102,151,152,151,48,152,56,152,59,152,55,152,45,152,57,152,36,152,16,153,40,153,30,153,27,153,33,153,26,153,237,153,226,153,241,153,184,154,188,154,251,154,237,154,40,155,145,155,21,157,35,157,38,157,40,157,18,157,27,157,216,158,212,158,141,159,156,159,42,81,31,81,33,81,50,81,245,82,142,86,128,86,144,86,133,86,135,86,143,86,213,88,211,88,209,88,206,88,48,91,42,91,36,91,122,91,55,92,104,92,188,93,186,93,189,93,184,93,107,94,76,95,189,95,201,97,194,97,199,97,230,97,203,97,50,98,52,98,206,100,202,100,216,100,224,100,240,100,230,100,236,100,241,100,226,100,237,100,130,101,131,101,217,102,214,102,128,106,148,106,132,106,162,106,156,106,219,106,163,106,126,106,151,106,144,106,160,106,92,107,174,107,218,107,8,108,216,111,241,111,223,111,224,111,219,111,228,111,235,111,239,111,128,111,236,111,225,111,233,111,213,111,238,111,240,111,231,113,223,113,238,113,230,113,229,113,237,113,236,113,244,113,224,113,53,114,70,114,112,115,114,115,169,116,176,116,166,116,168,116,70,118,66,118,76,118,234,118,179,119,170,119,176,119,172,119,167,119,173,119,239,119,247,120,250,120,244,120,239,120,1,121,167,121,170,121,87,122,191,122,7,124,13,124,254,123,247,123,12,124,224,123,224,124,220,124,222,124,226,124,223,124,217,124,221,124,46,126,62,126,70,126,55,126,50,126,67,126,43,126,61,126,49,126,69,126,65,126,52,126,57,126,72,126,53,126,63,126,47,126,68,127,243,127,252,127,113,128,114,128,112,128,111,128,115,128,198,129,195,129,186,129,194,129,192,129,191,129,189,129,201,129,190,129,232,129,9,130,113,130,170,133,132,133,126,133,156,133,145,133,148,133,175,133,155,133,135,133,168,133,138,133,103,134,192,135,209,135,179,135,210,135,198,135,171,135,187,135,186,135,200,135,203,135,59,137,54,137,68,137,56,137,61,137,172,137,14,139,23,139,25,139,27,139,10,139,32,139,29,139,4,139,16,139,65,140,63,140,115,140,250,140,253,140,252,140,248,140,251,140,168,141,73,142,75,142,72,142,74,142,68,143,62,143,66,143,69,143,63,143,127,144,125,144,132,144,129,144,130,144,128,144,57,145,163,145,158,145,156,145,77,147,130,147,40,147,117,147,74,147,101,147,75,147,24,147,126,147,108,147,91,147,112,147,90,147,84,147,202,149,203,149,204,149,200,149,198,149,177,150,184,150,214,150,28,151,30,151,160,151,211,151,70,152,182,152,53,153,1,154,255,153,174,155,171,155,170,155,173,155,59,157,63,157,139,158,207,158,222,158,220,158,221,158,219,158,62,159,75,159,226,83,149,86,174,86,217,88,216,88,56,91,93,95,227,97,51,98,244,100,242,100,254,100,6,101,250,100,251,100,247,100,183,101,220,102,38,103,179,106,172,106,195,106,187,106,184,106,194,106,174,106,175,106,95,107,120,107,175,107,9,112,11,112,254,111,6,112,250,111,17,112,15,112,251,113,252,113,254,113,248,113,119,115,117,115,167,116,191,116,21,117,86,118,88,118,82,118,189,119,191,119,187,119,188,119,14,121,174,121,97,122,98,122,96,122,196,122,197,122,43,124,39,124,42,124,30,124,35,124,33,124,231,124,84,126,85,126,94,126,90,126,97,126,82,126,89,126,72,127,249,127,251,127,119,128,118,128,205,129,207,129,10,130,207,133,169,133,205,133,208,133,201,133,176,133,186,133,185,133,166,133,239,135,236,135,242,135,224,135,134,137,178,137,244,137,40,139,57,139,44,139,43,139,80,140,5,141,89,142,99,142,102,142,100,142,95,142,85,142,192,142,73,143,77,143,135,144,131,144,136,144,171,145,172,145,208,145,148,147,138,147,150,147,162,147,179,147,174,147,172,147,176,147,152,147,154,147,151,147,212,149,214,149,208,149,213,149,226,150,220,150,217,150,219,150,222,150,36,151,163,151,166,151,173,151,249,151,77,152,79,152,76,152,78,152,83,152,186,152,62,153,63,153,61,153,46,153,165,153,14,154,193,154,3,155,6,155,79,155,78,155,77,155,202,155,201,155,253,155,200,155,192,155,81,157,93,157,96,157,224,158,21,159,44,159,51,81,165,86,222,88,223,88,226,88,245,91,144,159,236,94,242,97,247,97,246,97,245,97,0,101,15,101,224,102,221,102,229,106,221,106,218,106,211,106,27,112,31,112,40,112,26,112,29,112,21,112,24,112,6,114,13,114,88,114,162,114,120,115,122,115,189,116,202,116,227,116,135,117,134,117,95,118,97,118,199,119,25,121,177,121,107,122,105,122,62,124,63,124,56,124,61,124,55,124,64,124,107,126,109,126,121,126,105,126,106,126,133,127,115,126,182,127,185,127,184,127,216,129,233,133,221,133,234,133,213,133,228,133,229,133,247,133,251,135,5,136,13,136,249,135,254,135,96,137,95,137,86,137,94,137,65,139,92,139,88,139,73,139,90,139,78,139,79,139,70,139,89,139,8,141,10,141,124,142,114,142,135,142,118,142,108,142,122,142,116,142,84,143,78,143,173,143,138,144,139,144,177,145,174,145,225,147,209,147,223,147,195,147,200,147,220,147,221,147,214,147,226,147,205,147,216,147,228,147,215,147,232,147,220,149,180,150,227,150,42,151,39,151,97,151,220,151,251,151,94,152,88,152,91,152,188,152,69,153,73,153,22,154,25,154,13,155,232,155,231,155,214,155,219,155,137,157,97,157,114,157,106,157,108,157,146,158,151,158,147,158,180,158,248,82,168,86,183,86,182,86,180,86,188,86,228,88,64,91,67,91,125,91,246,91,201,93,248,97,250,97,24,101,20,101,25,101,230,102,39,103,236,106,62,112,48,112,50,112,16,114,123,115,207,116,98,118,101,118,38,121,42,121,44,121,43,121,199,122,246,122,76,124,67,124,77,124,239,124,240,124,174,143,125,126,124,126,130,126,76,127,0,128,218,129,102,130,251,133,249,133,17,134,250,133,6,134,11,134,7,134,10,134,20,136,21,136,100,137,186,137,248,137,112,139,108,139,102,139,111,139,95,139,107,139,15,141,13,141,137,142,129,142,133,142,130,142,180,145,203,145,24,148,3,148,253,147,225,149,48,151,196,152,82,153,81,153,168,153,43,154,48,154,55,154,53,154,19,156,13,156,121,158,181,158,232,158,47,159,95,159,99,159,97,159,55,81,56,81,193,86,192,86,194,86,20,89,108,92,205,93,252,97,254,97,29,101,28,101,149,101,233,102,251,106,4,107,250,106,178,107,76,112,27,114,167,114,214,116,212,116,105,118,211,119,80,124,143,126,140,126,188,127,23,134,45,134,26,134,35,136,34,136,33,136,31,136,106,137,108,137,189,137,116,139,119,139,125,139,19,141,138,142,141,142,139,142,95,143,175,143,186,145,46,148,51,148,53,148,58,148,56,148,50,148,43,148,226,149,56,151,57,151,50,151,255,151,103,152,101,152,87,153,69,154,67,154,64,154,62,154,207,154,84,155,81,155,45,156,37,156,175,157,180,157,194,157,184,157,157,158,239,158,25,159,92,159,102,159,103,159,60,81,59,81,200,86,202,86,201,86,127,91,212,93,210,93,78,95,255,97,36,101,10,107,97,107,81,112,88,112,128,115,228,116,138,117,110,118,108,118,179,121,96,124,95,124,126,128,125,128,223,129,114,137,111,137,252,137,128,139,22,141,23,141,145,142,147,142,97,143,72,145,68,148,81,148,82,148,61,151,62,151,195,151,193,151,107,152,85,153,85,154,77,154,210,154,26,155,73,156,49,156,62,156,59,156,211,157,215,157,52,159,108,159,106,159,148,159,204,86,214,93,0,98,35,101,43,101,42,101,236,102,16,107,218,116,202,122,100,124,99,124,101,124,147,126,150,126,148,126,226,129,56,134,63,134,49,136,138,139,144,144,143,144,99,148,96,148,100,148,104,151,111,152,92,153,90,154,91,154,87,154,211,154,212,154,209,154,84,156,87,156,86,156,229,157,159,158,244,158,209,86,233,88,44,101,94,112,113,118,114,118,215,119,80,127,136,127,54,136,57,136,98,136,147,139,146,139,150,139,119,130,27,141,192,145,106,148,66,151,72,151,68,151,198,151,112,152,95,154,34,155,88,155,95,156,249,157,250,157,124,158,125,158,7,159,119,159,114,159,243,94,22,107,99,112,108,124,110,124,59,136,192,137,161,142,193,145,114,148,112,148,113,152,94,153,214,154,35,155,204,158,100,112,218,119,154,139,119,148,201,151,98,154,101,154,156,126,156,139,170,142,197,145,125,148,126,148,124,148,119,156,120,156,247,158,84,140,127,148,26,158,40,114,106,154,49,155,27,158,30,158,114,124,66,78,92,78,245,81,26,83,130,83,7,78,12,78,71,78,141,78,215,86,110,92,115,95,15,78,135,81,14,78,46,78,147,78,194,78,201,78,200,78,152,81,252,82,108,83,185,83,32,87,3,89,44,89,16,92,255,93,225,101,179,107,204,107,20,108,63,114,49,78,60,78,232,78,220,78,233,78,225,78,221,78,218,78,12,82,28,83,76,83,34,87,35,87,23,89,47,89,129,91,132,91,18,92,59,92,116,92,115,92,4,94,128,94,130,94,201,95,9,98,80,98,21,108,54,108,67,108,63,108,59,108,174,114,176,114,138,115,184,121,138,128,30,150,14,79,24,79,44,79,245,78,20,79,241,78,0,79,247,78,8,79,29,79,2,79,5,79,34,79,19,79,4,79,244,78,18,79,177,81,19,82,9,82,16,82,166,82,34,83,31,83,77,83,138,83,7,84,225,86,223,86,46,87,42,87,52,87,60,89,128,89,124,89,133,89,123,89,126,89,119,89,127,89,86,91,21,92,37,92,124,92,122,92,123,92,126,92,223,93,117,94,132,94,2,95,26,95,116,95,213,95,212,95,207,95,92,98,94,98,100,98,97,98,102,98,98,98,89,98,96,98,90,98,101,98,239,101,238,101,62,103,57,103,56,103,59,103,58,103,63,103,60,103,51,103,24,108,70,108,82,108,92,108,79,108,74,108,84,108,75,108,76,108,113,112,94,114,180,114,181,114,142,115,42,117,127,118,117,122,81,127,120,130,124,130,128,130,125,130,127,130,77,134,126,137,153,144,151,144,152,144,155,144,148,144,34,150,36,150,32,150,35,150,86,79,59,79,98,79,73,79,83,79,100,79,62,79,103,79,82,79,95,79,65,79,88,79,45,79,51,79,63,79,97,79,143,81,185,81,28,82,30,82,33,82,173,82,174,82,9,83,99,83,114,83,142,83,143,83,48,84,55,84,42,84,84,84,69,84,25,84,28,84,37,84,24,84,61,84,79,84,65,84,40,84,36,84,71,84,238,86,231,86,229,86,65,87,69,87,76,87,73,87,75,87,82,87,6,89,64,89,166,89,152,89,160,89,151,89,142,89,162,89,144,89,143,89,167,89,161,89,142,91,146,91,40,92,42,92,141,92,143,92,136,92,139,92,137,92,146,92,138,92,134,92,147,92,149,92,224,93,10,94,14,94,139,94,137,94,140,94,136,94,141,94,5,95,29,95,120,95,118,95,210,95,209,95,208,95,237,95,232,95,238,95,243,95,225,95,228,95,227,95,250,95,239,95,247,95,251,95,0,96,244,95,58,98,131,98,140,98,142,98,143,98,148,98,135,98,113,98,123,98,122,98,112,98,129,98,136,98,119,98,125,98,114,98,116,98,55,101,240,101,244,101,243,101,242,101,245,101,69,103,71,103,89,103,85,103,76,103,72,103,93,103,77,103,90,103,75,103,208,107,25,108,26,108,120,108,103,108,107,108,132,108,139,108,143,108,113,108,111,108,105,108,154,108,109,108,135,108,149,108,156,108,102,108,115,108,101,108,123,108,142,108,116,112,122,112,99,114,191,114,189,114,195,114,198,114,193,114,186,114,197,114,149,115,151,115,147,115,148,115,146,115,58,117,57,117,148,117,149,117,129,118,61,121,52,128,149,128,153,128,144,128,146,128,156,128,144,130,143,130,133,130,142,130,145,130,147,130,138,130,131,130,132,130,120,140,201,143,191,143,159,144,161,144,165,144,158,144,167,144,160,144,48,150,40,150,47,150,45,150,51,78,152,79,124,79,133,79,125,79,128,79,135,79,118,79,116,79,137,79,132,79,119,79,76,79,151,79,106,79,154,79,121,79,129,79,120,79,144,79,156,79,148,79,158,79,146,79,130,79,149,79,107,79,110,79,158,81,188,81,190,81,53,82,50,82,51,82,70,82,49,82,188,82,10,83,11,83,60,83,146,83,148,83,135,84,127,84,129,84,145,84,130,84,136,84,107,84,122,84,126,84,101,84,108,84,116,84,102,84,141,84,111,84,97,84,96,84,152,84,99,84,103,84,100,84,247,86,249,86,111,87,114,87,109,87,107,87,113,87,112,87,118,87,128,87,117,87,123,87,115,87,116,87,98,87,104,87,125,87,12,89,69,89,181,89,186,89,207,89,206,89,178,89,204,89,193,89,182,89,188,89,195,89,214,89,177,89,189,89,192,89,200,89,180,89,199,89,98,91,101,91,147,91,149,91,68,92,71,92,174,92,164,92,160,92,181,92,175,92,168,92,172,92,159,92,163,92,173,92,162,92,170,92,167,92,157,92,165,92,182,92,176,92,166,92,23,94,20,94,25,94,40,95,34,95,35,95,36,95,84,95,130,95,126,95,125,95,222,95,229,95,45,96,38,96,25,96,50,96,11,96,52,96,10,96,23,96,51,96,26,96,30,96,44,96,34,96,13,96,16,96,46,96,19,96,17,96,12,96,9,96,28,96,20,98,61,98,173,98,180,98,209,98,190,98,170,98,182,98,202,98,174,98,179,98,175,98,187,98,169,98,176,98,184,98,61,101,168,101,187,101,9,102,252,101,4,102,18,102,8,102,251,101,3,102,11,102,13,102,5,102,253,101,17,102,16,102,246,102,10,103,133,103,108,103,142,103,146,103,118,103,123,103,152,103,134,103,132,103,116,103,141,103,140,103,122,103,159,103,145,103,153,103,131,103,125,103,129,103,120,103,121,103,148,103,37,107,128,107,126,107,222,107,29,108,147,108,236,108,235,108,238,108,217,108,182,108,212,108,173,108,231,108,183,108,208,108,194,108,186,108,195,108,198,108,237,108,242,108,210,108,221,108,180,108,138,108,157,108,128,108,222,108,192,108,48,109,205,108,199,108,176,108,249,108,207,108,233,108,209,108,148,112,152,112,133,112,147,112,134,112,132,112,145,112,150,112,130,112,154,112,131,112,106,114,214,114,203,114,216,114,201,114,220,114,210,114,212,114,218,114,204,114,209,114,164,115,161,115,173,115,166,115,162,115,160,115,172,115,157,115,221,116,232,116,63,117,64,117,62,117,140,117,152,117,175,118,243,118,241,118,240,118,245,118,248,119,252,119,249,119,251,119,250,119,247,119,66,121,63,121,197,121,120,122,123,122,251,122,117,124,253,124,53,128,143,128,174,128,163,128,184,128,181,128,173,128,32,130,160,130,192,130,171,130,154,130,152,130,155,130,181,130,167,130,174,130,188,130,158,130,186,130,180,130,168,130,161,130,169,130,194,130,164,130,195,130,182,130,162,130,112,134,111,134,109,134,110,134,86,140,210,143,203,143,211,143,205,143,214,143,213,143,215,143,178,144,180,144,175,144,179,144,176,144,57,150,61,150,60,150,58,150,67,150,205,79,197,79,211,79,178,79,201,79,203,79,193,79,212,79,220,79,217,79,187,79,179,79,219,79,199,79,214,79,186,79,192,79,185,79,236,79,68,82,73,82,192,82,194,82,61,83,124,83,151,83,150,83,153,83,152,83,186,84,161,84,173,84,165,84,207,84,195,84,13,131,183,84,174,84,214,84,182,84,197,84,198,84,160,84,112,84,188,84,162,84,190,84,114,84,222,84,176,84,181,87,158,87,159,87,164,87,140,87,151,87,157,87,155,87,148,87,152,87,143,87,153,87,165,87,154,87,149,87,244,88,13,89,83,89,225,89,222,89,238,89,0,90,241,89,221,89,250,89,253,89,252,89,246,89,228,89,242,89,247,89,219,89,233,89,243,89,245,89,224,89,254,89,244,89,237,89,168,91,76,92,208,92,216,92,204,92,215,92,203,92,219,92,222,92,218,92,201,92,199,92,202,92,214,92,211,92,212,92,207,92,200,92,198,92,206,92,223,92,248,92,249,93,33,94,34,94,35,94,32,94,36,94,176,94,164,94,162,94,155,94,163,94,165,94,7,95,46,95,86,95,134,95,55,96,57,96,84,96,114,96,94,96,69,96,83,96,71,96,73,96,91,96,76,96,64,96,66,96,95,96,36,96,68,96,88,96,102,96,110,96,66,98,67,98,207,98,13,99,11,99,245,98,14,99,3,99,235,98,249,98,15,99,12,99,248,98,246,98,0,99,19,99,20,99,250,98,21,99,251,98,240,98,65,101,67,101,170,101,191,101,54,102,33,102,50,102,53,102,28,102,38,102,34,102,51,102,43,102,58,102,29,102,52,102,57,102,46,102,15,103,16,103,193,103,242,103,200,103,186,103,220,103,187,103,248,103,216,103,192,103,183,103,197,103,235,103,228,103,223,103,181,103,205,103,179,103,247,103,246,103,238,103,227,103,194,103,185,103,206,103,231,103,240,103,178,103,252,103,198,103,237,103,204,103,174,103,230,103,219,103,250,103,201,103,202,103,195,103,234,103,203,103,40,107,130,107,132,107,182,107,214,107,216,107,224,107,32,108,33,108,40,109,52,109,45,109,31,109,60,109,63,109,18,109,10,109,218,108,51,109,4,109,25,109,58,109,26,109,17,109,0,109,29,109,66,109,1,109,24,109,55,109,3,109,15,109,64,109,7,109,32,109,44,109,8,109,34,109,9,109,16,109,183,112,159,112,190,112,177,112,176,112,161,112,180,112,181,112,169,112,65,114,73,114,74,114,108,114,112,114,115,114,110,114,202,114,228,114,232,114,235,114,223,114,234,114,230,114,227,114,133,115,204,115,194,115,200,115,197,115,185,115,182,115,181,115,180,115,235,115,191,115,199,115,190,115,195,115,198,115,184,115,203,115,236,116,238,116,46,117,71,117,72,117,167,117,170,117,121,118,196,118,8,119,3,119,4,119,5,119,10,119,247,118,251,118,250,118,231,119,232,119,6,120,17,120,18,120,5,120,16,120,15,120,14,120,9,120,3,120,19,120,74,121,76,121,75,121,69,121,68,121,213,121,205,121,207,121,214,121,206,121,128,122,126,122,209,122,0,123,1,123,122,124,120,124,121,124,127,124,128,124,129,124,3,125,8,125,1,125,88,127,145,127,141,127,190,127,7,128,14,128,15,128,20,128,55,128,216,128,199,128,224,128,209,128,200,128,194,128,208,128,197,128,227,128,217,128,220,128,202,128,213,128,201,128,207,128,215,128,230,128,205,128,255,129,33,130,148,130,217,130,254,130,249,130,7,131,232,130,0,131,213,130,58,131,235,130,214,130,244,130,236,130,225,130,242,130,245,130,12,131,251,130,246,130,240,130,234,130,228,130,224,130,250,130,243,130,237,130,119,134,116,134,124,134,115,134,65,136,78,136,103,136,106,136,105,136,211,137,4,138,7,138,114,141,227,143,225,143,238,143,224,143,241,144,189,144,191,144,213,144,197,144,190,144,199,144,203,144,200,144,212,145,211,145,84,150,79,150,81,150,83,150,74,150,78,150,30,80,5,80,7,80,19,80,34,80,48,80,27,80,245,79,244,79,51,80,55,80,44,80,246,79,247,79,23,80,28,80,32,80,39,80,53,80,47,80,49,80,14,80,90,81,148,81,147,81,202,81,196,81,197,81,200,81,206,81,97,82,90,82,82,82,94,82,95,82,85,82,98,82,205,82,14,83,158,83,38,85,226,84,23,85,18,85,231,84,243,84,228,84,26,85,255,84,4,85,8,85,235,84,17,85,5,85,241,84,10,85,251,84,247,84,248,84,224,84,14,85,3,85,11,85,1,87,2,87,204,87,50,88,213,87,210,87,186,87,198,87,189,87,188,87,184,87,182,87,191,87,199,87,208,87,185,87,193,87,14,89,74,89,25,90,22,90,45,90,46,90,21,90,15,90,23,90,10,90,30,90,51,90,108,91,167,91,173,91,172,91,3,92,86,92,84,92,236,92,255,92,238,92,241,92,247,92,0,93,249,92,41,94,40,94,168,94,174,94,170,94,172,94,51,95,48,95,103,95,93,96,90,96,103,96,65,96,162,96,136,96,128,96,146,96,129,96,157,96,131,96,149,96,155,96,151,96,135,96,156,96,142,96,25,98,70,98,242,98,16,99,86,99,44,99,68,99,69,99,54,99,67,99,228,99,57,99,75,99,74,99,60,99,41,99,65,99,52,99,88,99,84,99,89,99,45,99,71,99,51,99,90,99,81,99,56,99,87,99,64,99,72,99,74,101,70,101,198,101,195,101,196,101,194,101,74,102,95,102,71,102,81,102,18,103,19,103,31,104,26,104,73,104,50,104,51,104,59,104,75,104,79,104,22,104,49,104,28,104,53,104,43,104,45,104,47,104,78,104,68,104,52,104,29,104,18,104,20,104,38,104,40,104,46,104,77,104,58,104,37,104,32,104,44,107,47,107,45,107,49,107,52,107,109,107,130,128,136,107,230,107,228,107,232,107,227,107,226,107,231,107,37,108,122,109,99,109,100,109,118,109,13,109,97,109,146,109,88,109,98,109,109,109,111,109,145,109,141,109,239,109,127,109,134,109,94,109,103,109,96,109,151,109,112,109,124,109,95,109,130,109,152,109,47,109,104,109,139,109,126,109,128,109,132,109,22,109,131,109,123,109,125,109,117,109,144,109,220,112,211,112,209,112,221,112,203,112,57,127,226,112,215,112,210,112,222,112,224,112,212,112,205,112,197,112,198,112,199,112,218,112,206,112,225,112,66,114,120,114,119,114,118,114,0,115,250,114,244,114,254,114,246,114,243,114,251,114,1,115,211,115,217,115,229,115,214,115,188,115,231,115,227,115,233,115,220,115,210,115,219,115,212,115,221,115,218,115,215,115,216,115,232,115,222,116,223,116,244,116,245,116,33,117,91,117,95,117,176,117,193,117,187,117,196,117,192,117,191,117,182,117,186,117,138,118,201,118,29,119,27,119,16,119,19,119,18,119,35,119,17,119,21,119,25,119,26,119,34,119,39,119,35,120,44,120,34,120,53,120,47,120,40,120,46,120,43,120,33,120,41,120,51,120,42,120,49,120,84,121,91,121,79,121,92,121,83,121,82,121,81,121,235,121,236,121,224,121,238,121,237,121,234,121,220,121,222,121,221,121,134,122,137,122,133,122,139,122,140,122,138,122,135,122,216,122,16,123,4,123,19,123,5,123,15,123,8,123,10,123,14,123,9,123,18,123,132,124,145,124,138,124,140,124,136,124,141,124,133,124,30,125,29,125,17,125,14,125,24,125,22,125,19,125,31,125,18,125,15,125,12,125,92,127,97,127,94,127,96,127,93,127,91,127,150,127,146,127,195,127,194,127,192,127,22,128,62,128,57,128,250,128,242,128,249,128,245,128,1,129,251,128,0,129,1,130,47,130,37,130,51,131,45,131,68,131,25,131,81,131,37,131,86,131,63,131,65,131,38,131,28,131,34,131,66,131,78,131,27,131,42,131,8,131,60,131,77,131,22,131,36,131,32,131,55,131,47,131,41,131,71,131,69,131,76,131,83,131,30,131,44,131,75,131,39,131,72,131,83,134,82,134,162,134,168,134,150,134,141,134,145,134,158,134,135,134,151,134,134,134,139,134,154,134,133,134,165,134,153,134,161,134,167,134,149,134,152,134,142,134,157,134,144,134,148,134,67,136,68,136,109,136,117,136,118,136,114,136,128,136,113,136,127,136,111,136,131,136,126,136,116,136,124,136,18,138,71,140,87,140,123,140,164,140,163,140,118,141,120,141,181,141,183,141,182,141,209,142,211,142,254,143,245,143,2,144,255,143,251,143,4,144,252,143,246,143,214,144,224,144,217,144,218,144,227,144,223,144,229,144,216,144,219,144,215,144,220,144,228,144,80,145,78,145,79,145,213,145,226,145,218,145,92,150,95,150,188,150,227,152,223,154,47,155,127,78,112,80,106,80,97,80,94,80,96,80,83,80,75,80,93,80,114,80,72,80,77,80,65,80,91,80,74,80,98,80,21,80,69,80,95,80,105,80,107,80,99,80,100,80,70,80,64,80,110,80,115,80,87,80,81,80,208,81,107,82,109,82,108,82,110,82,214,82,211,82,45,83,156,83,117,85,118,85,60,85,77,85,80,85,52,85,42,85,81,85,98,85,54,85,53,85,48,85,82,85,69,85,12,85,50,85,101,85,78,85,57,85,72,85,45,85,59,85,64,85,75,85,10,87,7,87,251,87,20,88,226,87,246,87,220,87,244,87,0,88,237,87,253,87,8,88,248,87,11,88,243,87,207,87,7,88,238,87,227,87,242,87,229,87,236,87,225,87,14,88,252,87,16,88,231,87,1,88,12,88,241,87,233,87,240,87,13,88,4,88,92,89,96,90,88,90,85,90,103,90,94,90,56,90,53,90,109,90,80,90,95,90,101,90,108,90,83,90,100,90,87,90,67,90,93,90,82,90,68,90,91,90,72,90,142,90,62,90,77,90,57,90,76,90,112,90,105,90,71,90,81,90,86,90,66,90,92,90,114,91,110,91,193,91,192,91,89,92,30,93,11,93,29,93,26,93,32,93,12,93,40,93,13,93,38,93,37,93,15,93,48,93,18,93,35,93,31,93,46,93,62,94,52,94,177,94,180,94,185,94,178,94,179,94,54,95,56,95,155,95,150,95,159,95,138,96,144,96,134,96,190,96,176,96,186,96,211,96,212,96,207,96,228,96,217,96,221,96,200,96,177,96,219,96,183,96,202,96,191,96,195,96,205,96,192,96,50,99,101,99,138,99,130,99,125,99,189,99,158,99,173,99,157,99,151,99,171,99,142,99,111,99,135,99,144,99,110,99,175,99,117,99,156,99,109,99,174,99,124,99,164,99,59,99,159,99,120,99,133,99,129,99,145,99,141,99,112,99,83,101,205,101,101,102,97,102,91,102,89,102,92,102,98,102,24,103,121,104,135,104,144,104,156,104,109,104,110,104,174,104,171,104,86,105,111,104,163,104,172,104,169,104,117,104,116,104,178,104,143,104,119,104,146,104,124,104,107,104,114,104,170,104,128,104,113,104,126,104,155,104,150,104,139,104,160,104,137,104,164,104,120,104,123,104,145,104,140,104,138,104,125,104,54,107,51,107,55,107,56,107,145,107,143,107,141,107,142,107,140,107,42,108,192,109,171,109,180,109,179,109,116,110,172,109,233,109,226,109,183,109,246,109,212,109,0,110,200,109,224,109,223,109,214,109,190,109,229,109,220,109,221,109,219,109,244,109,202,109,189,109,237,109,240,109,186,109,213,109,194,109,207,109,201,109,208,109,242,109,211,109,253,109,215,109,205,109,227,109,187,109,250,112,13,113,247,112,23,113,244,112,12,113,240,112,4,113,243,112,16,113,252,112,255,112,6,113,19,113,0,113,248,112,246,112,11,113,2,113,14,113,126,114,123,114,124,114,127,114,29,115,23,115,7,115,17,115,24,115,10,115,8,115,255,114,15,115,30,115,136,115,246,115,248,115,245,115,4,116,1,116,253,115,7,116,0,116,250,115,252,115,255,115,12,116,11,116,244,115,8,116,100,117,99,117,206,117,210,117,207,117,203,117,204,117,209,117,208,117,143,118,137,118,211,118,57,119,47,119,45,119,49,119,50,119,52,119,51,119,61,119,37,119,59,119,53,119,72,120,82,120,73,120,77,120,74,120,76,120,38,120,69,120,80,120,100,121,103,121,105,121,106,121,99,121,107,121,97,121,187,121,250,121,248,121,246,121,247,121,143,122,148,122,144,122,53,123,71,123,52,123,37,123,48,123,34,123,36,123,51,123,24,123,42,123,29,123,49,123,43,123,45,123,47,123,50,123,56,123,26,123,35,123,148,124,152,124,150,124,163,124,53,125,61,125,56,125,54,125,58,125,69,125,44,125,41,125,65,125,71,125,62,125,63,125,74,125,59,125,40,125,99,127,149,127,156,127,157,127,155,127,202,127,203,127,205,127,208,127,209,127,199,127,207,127,201,127,31,128,30,128,27,128,71,128,67,128,72,128,24,129,37,129,25,129,27,129,45,129,31,129,44,129,30,129,33,129,21,129,39,129,29,129,34,129,17,130,56,130,51,130,58,130,52,130,50,130,116,130,144,131,163,131,168,131,141,131,122,131,115,131,164,131,116,131,143,131,129,131,149,131,153,131,117,131,148,131,169,131,125,131,131,131,140,131,157,131,155,131,170,131,139,131,126,131,165,131,175,131,136,131,151,131,176,131,127,131,166,131,135,131,174,131,118,131,154,131,89,134,86,134,191,134,183,134,194,134,193,134,197,134,186,134,176,134,200,134,185,134,179,134,184,134,204,134,180,134,187,134,188,134,195,134,189,134,190,134,82,136,137,136,149,136,168,136,162,136,170,136,154,136,145,136,161,136,159,136,152,136,167,136,153,136,155,136,151,136,164,136,172,136,140,136,147,136,142,136,130,137,214,137,217,137,213,137,48,138,39,138,44,138,30,138,57,140,59,140,92,140,93,140,125,140,165,140,125,141,123,141,121,141,188,141,194,141,185,141,191,141,193,141,216,142,222,142,221,142,220,142,215,142,224,142,225,142,36,144,11,144,17,144,28,144,12,144,33,144,239,144,234,144,240,144,244,144,242,144,243,144,212,144,235,144,236,144,233,144,86,145,88,145,90,145,83,145,85,145,236,145,244,145,241,145,243,145,248,145,228,145,249,145,234,145,235,145,247,145,232,145,238,145,122,149,134,149,136,149,124,150,109,150,107,150,113,150,111,150,191,150,106,151,4,152,229,152,151,153,155,80,149,80,148,80,158,80,139,80,163,80,131,80,140,80,142,80,157,80,104,80,156,80,146,80,130,80,135,80,95,81,212,81,18,83,17,83,164,83,167,83,145,85,168,85,165,85,173,85,119,85,69,86,162,85,147,85,136,85,143,85,181,85,129,85,163,85,146,85,164,85,125,85,140,85,166,85,127,85,149,85,161,85,142,85,12,87,41,88,55,88,25,88,30,88,39,88,35,88,40,88,245,87,72,88,37,88,28,88,27,88,51,88,63,88,54,88,46,88,57,88,56,88,45,88,44,88,59,88,97,89,175,90,148,90,159,90,122,90,162,90,158,90,120,90,166,90,124,90,165,90,172,90,149,90,174,90,55,90,132,90,138,90,151,90,131,90,139,90,169,90,123,90,125,90,140,90,156,90,143,90,147,90,157,90,234,91,205,91,203,91,212,91,209,91,202,91,206,91,12,92,48,92,55,93,67,93,107,93,65,93,75,93,63,93,53,93,81,93,78,93,85,93,51,93,58,93,82,93,61,93,49,93,89,93,66,93,57,93,73,93,56,93,60,93,50,93,54,93,64,93,69,93,68,94,65,94,88,95,166,95,165,95,171,95,201,96,185,96,204,96,226,96,206,96,196,96,20,97,242,96,10,97,22,97,5,97,245,96,19,97,248,96,252,96,254,96,193,96,3,97,24,97,29,97,16,97,255,96,4,97,11,97,74,98,148,99,177,99,176,99,206,99,229,99,232,99,239,99,195,99,157,100,243,99,202,99,224,99,246,99,213,99,242,99,245,99,97,100,223,99,190,99,221,99,220,99,196,99,216,99,211,99,194,99,199,99,204,99,203,99,200,99,240,99,215,99,217,99,50,101,103,101,106,101,100,101,92,101,104,101,101,101,140,101,157,101,158,101,174,101,208,101,210,101,124,102,108,102,123,102,128,102,113,102,121,102,106,102,114,102,1,103,12,105,211,104,4,105,220,104,42,105,236,104,234,104,241,104,15,105,214,104,247,104,235,104,228,104,246,104,19,105,16,105,243,104,225,104,7,105,204,104,8,105,112,105,180,104,17,105,239,104,198,104,20,105,248,104,208,104,253,104,252,104,232,104,11,105,10,105,23,105,206,104,200,104,221,104,222,104,230,104,244,104,209,104,6,105,212,104,233,104,21,105,37,105,199,104,57,107,59,107,63,107,60,107,148,107,151,107,153,107,149,107,189,107,240,107,242,107,243,107,48,108,252,109,70,110,71,110,31,110,73,110,136,110,60,110,61,110,69,110,98,110,43,110,63,110,65,110,93,110,115,110,28,110,51,110,75,110,64,110,81,110,59,110,3,110,46,110,94,110,104,110,92,110,97,110,49,110,40,110,96,110,113,110,107,110,57,110,34,110,48,110,83,110,101,110,39,110,120,110,100,110,119,110,85,110,121,110,82,110,102,110,53,110,54,110,90,110,32,113,30,113,47,113,251,112,46,113,49,113,35,113,37,113,34,113,50,113,31,113,40,113,58,113,27,113,75,114,90,114,136,114,137,114,134,114,133,114,139,114,18,115,11,115,48,115,34,115,49,115,51,115,39,115,50,115,45,115,38,115,35,115,53,115,12,115,46,116,44,116,48,116,43,116,22,116,26,116,33,116,45,116,49,116,36,116,35,116,29,116,41,116,32,116,50,116,251,116,47,117,111,117,108,117,231,117,218,117,225,117,230,117,221,117,223,117,228,117,215,117,149,118,146,118,218,118,70,119,71,119,68,119,77,119,69,119,74,119,78,119,75,119,76,119,222,119,236,119,96,120,100,120,101,120,92,120,109,120,113,120,106,120,110,120,112,120,105,120,104,120,94,120,98,120,116,121,115,121,114,121,112,121,2,122,10,122,3,122,12,122,4,122,153,122,230,122,228,122,74,123,59,123,68,123,72,123,76,123,78,123,64,123,88,123,69,123,162,124,158,124,168,124,161,124,88,125,111,125,99,125,83,125,86,125,103,125,106,125,79,125,109,125,92,125,107,125,82,125,84,125,105,125,81,125,95,125,78,125,62,127,63,127,101,127,102,127,162,127,160,127,161,127,215,127,81,128,79,128,80,128,254,128,212,128,67,129,74,129,82,129,79,129,71,129,61,129,77,129,58,129,230,129,238,129,247,129,248,129,249,129,4,130,60,130,61,130,63,130,117,130,59,131,207,131,249,131,35,132,192,131,232,131,18,132,231,131,228,131,252,131,246,131,16,132,198,131,200,131,235,131,227,131,191,131,1,132,221,131,229,131,216,131,255,131,225,131,203,131,206,131,214,131,245,131,201,131,9,132,15,132,222,131,17,132,6,132,194,131,243,131,213,131,250,131,199,131,209,131,234,131,19,132,195,131,236,131,238,131,196,131,251,131,215,131,226,131,27,132,219,131,254,131,216,134,226,134,230,134,211,134,227,134,218,134,234,134,221,134,235,134,220,134,236,134,233,134,215,134,232,134,209,134,72,136,86,136,85,136,186,136,215,136,185,136,184,136,192,136,190,136,182,136,188,136,183,136,189,136,178,136,1,137,201,136,149,137,152,137,151,137,221,137,218,137,219,137,78,138,77,138,57,138,89,138,64,138,87,138,88,138,68,138,69,138,82,138,72,138,81,138,74,138,76,138,79,138,95,140,129,140,128,140,186,140,190,140,176,140,185,140,181,140,132,141,128,141,137,141,216,141,211,141,205,141,199,141,214,141,220,141,207,141,213,141,217,141,200,141,215,141,197,141,239,142,247,142,250,142,249,142,230,142,238,142,229,142,245,142,231,142,232,142,246,142,235,142,241,142,236,142,244,142,233,142,45,144,52,144,47,144,6,145,44,145,4,145,255,144,252,144,8,145,249,144,251,144,1,145,0,145,7,145,5,145,3,145,97,145,100,145,95,145,98,145,96,145,1,146,10,146,37,146,3,146,26,146,38,146,15,146,12,146,0,146,18,146,255,145,253,145,6,146,4,146,39,146,2,146,28,146,36,146,25,146,23,146,5,146,22,146,123,149,141,149,140,149,144,149,135,150,126,150,136,150,137,150,131,150,128,150,194,150,200,150,195,150,241,150,240,150,108,151,112,151,110,151,7,152,169,152,235,152,230,156,249,158,131,78,132,78,182,78,189,80,191,80,198,80,174,80,196,80,202,80,180,80,200,80,194,80,176,80,193,80,186,80,177,80,203,80,201,80,182,80,184,80,215,81,122,82,120,82,123,82,124,82,195,85,219,85,204,85,208,85,203,85,202,85,221,85,192,85,212,85,196,85,233,85,191,85,210,85,141,85,207,85,213,85,226,85,214,85,200,85,242,85,205,85,217,85,194,85,20,87,83,88,104,88,100,88,79,88,77,88,73,88,111,88,85,88,78,88,93,88,89,88,101,88,91,88,61,88,99,88,113,88,252,88,199,90,196,90,203,90,186,90,184,90,177,90,181,90,176,90,191,90,200,90,187,90,198,90,183,90,192,90,202,90,180,90,182,90,205,90,185,90,144,90,214,91,216,91,217,91,31,92,51,92,113,93,99,93,74,93,101,93,114,93,108,93,94,93,104,93,103,93,98,93,240,93,79,94,78,94,74,94,77,94,75,94,197,94,204,94,198,94,203,94,199,94,64,95,175,95,173,95,247,96,73,97,74,97,43,97,69,97,54,97,50,97,46,97,70,97,47,97,79,97,41,97,64,97,32,98,104,145,35,98,37,98,36,98,197,99,241,99,235,99,16,100,18,100,9,100,32,100,36,100,51,100,67,100,31,100,21,100,24,100,57,100,55,100,34,100,35,100,12,100,38,100,48,100,40,100,65,100,53,100,47,100,10,100,26,100,64,100,37,100,39,100,11,100,231,99,27,100,46,100,33,100,14,100,111,101,146,101,211,101,134,102,140,102,149,102,144,102,139,102,138,102,153,102,148,102,120,102,32,103,102,105,95,105,56,105,78,105,98,105,113,105,63,105,69,105,106,105,57,105,66,105,87,105,89,105,122,105,72,105,73,105,53,105,108,105,51,105,61,105,101,105,240,104,120,105,52,105,105,105,64,105,111,105,68,105,118,105,88,105,65,105,116,105,76,105,59,105,75,105,55,105,92,105,79,105,81,105,50,105,82,105,47,105,123,105,60,105,70,107,69,107,67,107,66,107,72,107,65,107,155,107,251,107,252,107,249,107,247,107,248,107,155,110,214,110,200,110,143,110,192,110,159,110,147,110,148,110,160,110,177,110,185,110,198,110,210,110,189,110,193,110,158,110,201,110,183,110,176,110,205,110,166,110,207,110,178,110,190,110,195,110,220,110,216,110,153,110,146,110,142,110,141,110,164,110,161,110,191,110,179,110,208,110,202,110,151,110,174,110,163,110,71,113,84,113,82,113,99,113,96,113,65,113,93,113,98,113,114,113,120,113,106,113,97,113,66,113,88,113,67,113,75,113,112,113,95,113,80,113,83,113,68,113,77,113,90,113,79,114,141,114,140,114,145,114,144,114,142,114,60,115,66,115,59,115,58,115,64,115,74,115,73,115,68,116,74,116,75,116,82,116,81,116,87,116,64,116,79,116,80,116,78,116,66,116,70,116,77,116,84,116,225,116,255,116,254,116,253,116,29,117,121,117,119,117,131,105,239,117,15,118,3,118,247,117,254,117,252,117,249,117,248,117,16,118,251,117,246,117,237,117,245,117,253,117,153,118,181,118,221,118,85,119,95,119,96,119,82,119,86,119,90,119,105,119,103,119,84,119,89,119,109,119,224,119,135,120,154,120,148,120,143,120,132,120,149,120,133,120,134,120,161,120,131,120,121,120,153,120,128,120,150,120,123,120,124,121,130,121,125,121,121,121,17,122,24,122,25,122,18,122,23,122,21,122,34,122,19,122,27,122,16,122,163,122,162,122,158,122,235,122,102,123,100,123,109,123,116,123,105,123,114,123,101,123,115,123,113,123,112,123,97,123,120,123,118,123,99,123,178,124,180,124,175,124,136,125,134,125,128,125,141,125,127,125,133,125,122,125,142,125,123,125,131,125,124,125,140,125,148,125,132,125,125,125,146,125,109,127,107,127,103,127,104,127,108,127,166,127,165,127,167,127,219,127,220,127,33,128,100,129,96,129,119,129,92,129,105,129,91,129,98,129,114,129,33,103,94,129,118,129,103,129,111,129,68,129,97,129,29,130,73,130,68,130,64,130,66,130,69,130,241,132,63,132,86,132,118,132,121,132,143,132,141,132,101,132,81,132,64,132,134,132,103,132,48,132,77,132,125,132,90,132,89,132,116,132,115,132,93,132,7,133,94,132,55,132,58,132,52,132,122,132,67,132,120,132,50,132,69,132,41,132,217,131,75,132,47,132,66,132,45,132,95,132,112,132,57,132,78,132,76,132,82,132,111,132,197,132,142,132,59,132,71,132,54,132,51,132,104,132,126,132,68,132,43,132,96,132,84,132,110,132,80,132,11,135,4,135,247,134,12,135,250,134,214,134,245,134,77,135,248,134,14,135,9,135,1,135,246,134,13,135,5,135,214,136,203,136,205,136,206,136,222,136,219,136,218,136,204,136,208,136,133,137,155,137,223,137,229,137,228,137,225,137,224,137,226,137,220,137,230,137,118,138,134,138,127,138,97,138,63,138,119,138,130,138,132,138,117,138,131,138,129,138,116,138,122,138,60,140,75,140,74,140,101,140,100,140,102,140,134,140,132,140,133,140,204,140,104,141,105,141,145,141,140,141,142,141,143,141,141,141,147,141,148,141,144,141,146,141,240,141,224,141,236,141,241,141,238,141,208,141,233,141,227,141,226,141,231,141,242,141,235,141,244,141,6,143,255,142,1,143,0,143,5,143,7,143,8,143,2,143,11,143,82,144,63,144,68,144,73,144,61,144,16,145,13,145,15,145,17,145,22,145,20,145,11,145,14,145,110,145,111,145,72,146,82,146,48,146,58,146,102,146,51,146,101,146,94,146,131,146,46,146,74,146,70,146,109,146,108,146,79,146,96,146,103,146,111,146,54,146,97,146,112,146,49,146,84,146,99,146,80,146,114,146,78,146,83,146,76,146,86,146,50,146,159,149,156,149,158,149,155,149,146,150,147,150,145,150,151,150,206,150,250,150,253,150,248,150,245,150,115,151,119,151,120,151,114,151,15,152,13,152,14,152,172,152,246,152,249,152,175,153,178,153,176,153,181,153,173,154,171,154,91,155,234,156,237,156,231,156,128,158,253,158,230,80,212,80,215,80,232,80,243,80,219,80,234,80,221,80,228,80,211,80,236,80,240,80,239,80,227,80,224,80,216,81,128,82,129,82,233,82,235,82,48,83,172,83,39,86,21,86,12,86,18,86,252,85,15,86,28,86,1,86,19,86,2,86,250,85,29,86,4,86,255,85,249,85,137,88,124,88,144,88,152,88,134,88,129,88,127,88,116,88,139,88,122,88,135,88,145,88,142,88,118,88,130,88,136,88,123,88,148,88,143,88,254,88,107,89,220,90,238,90,229,90,213,90,234,90,218,90,237,90,235,90,243,90,226,90,224,90,219,90,236,90,222,90,221,90,217,90,232,90,223,90,119,91,224,91,227,91,99,92,130,93,128,93,125,93,134,93,122,93,129,93,119,93,138,93,137,93,136,93,126,93,124,93,141,93,121,93,127,93,88,94,89,94,83,94,216,94,209,94,215,94,206,94,220,94,213,94,217,94,210,94,212,94,68,95,67,95,111,95,182,95,44,97,40,97,65,97,94,97,113,97,115,97,82,97,83,97,114,97,108,97,128,97,116,97,84,97,122,97,91,97,101,97,59,97,106,97,97,97,86,97,41,98,39,98,43,98,43,100,77,100,91,100,93,100,116,100,118,100,114,100,115,100,125,100,117,100,102,100,166,100,78,100,130,100,94,100,92,100,75,100,83,100,96,100,80,100,127,100,63,100,108,100,107,100,89,100,101,100,119,100,115,101,160,101,161,102,160,102,159,102,5,103,4,103,34,103,177,105,182,105,201,105,160,105,206,105,150,105,176,105,172,105,188,105,145,105,153,105,142,105,167,105,141,105,169,105,190,105,175,105,191,105,196,105,189,105,164,105,212,105,185,105,202,105,154,105,207,105,179,105,147,105,170,105,161,105,158,105,217,105,151,105,144,105,194,105,181,105,165,105,198,105,74,107,77,107,75,107,158,107,159,107,160,107,195,107,196,107,254,107,206,110,245,110,241,110,3,111,37,111,248,110,55,111,251,110,46,111,9,111,78,111,25,111,26,111,39,111,24,111,59,111,18,111,237,110,10,111,54,111,115,111,249,110,238,110,45,111,64,111,48,111,60,111,53,111,235,110,7,111,14,111,67,111,5,111,253,110,246,110,57,111,28,111,252,110,58,111,31,111,13,111,30,111,8,111,33,111,135,113,144,113,137,113,128,113,133,113,130,113,143,113,123,113,134,113,129,113,151,113,68,114,83,114,151,114,149,114,147,114,67,115,77,115,81,115,76,115,98,116,115,116,113,116,117,116,114,116,103,116,110,116,0,117,2,117,3,117,125,117,144,117,22,118,8,118,12,118,21,118,17,118,10,118,20,118,184,118,129,119,124,119,133,119,130,119,110,119,128,119,111,119,126,119,131,119,178,120,170,120,180,120,173,120,168,120,126,120,171,120,158,120,165,120,160,120,172,120,162,120,164,120,152,121,138,121,139,121,150,121,149,121,148,121,147,121,151,121,136,121,146,121,144,121,43,122,74,122,48,122,47,122,40,122,38,122,168,122,171,122,172,122,238,122,136,123,156,123,138,123,145,123,144,123,150,123,141,123,140,123,155,123,142,123,133,123,152,123,132,82,153,123,164,123,130,123,187,124,191,124,188,124,186,124,167,125,183,125,194,125,163,125,170,125,193,125,192,125,197,125,157,125,206,125,196,125,198,125,203,125,204,125,175,125,185,125,150,125,188,125,159,125,166,125,174,125,169,125,161,125,201,125,115,127,226,127,227,127,229,127,222,127,36,128,93,128,92,128,137,129,134,129,131,129,135,129,141,129,140,129,139,129,21,130,151,132,164,132,161,132,159,132,186,132,206,132,194,132,172,132,174,132,171,132,185,132,180,132,193,132,205,132,170,132,154,132,177,132,208,132,157,132,167,132,187,132,162,132,148,132,199,132,204,132,155,132,169,132,175,132,168,132,214,132,152,132,182,132,207,132,160,132,215,132,212,132,210,132,219,132,176,132,145,132,97,134,51,135,35,135,40,135,107,135,64,135,46,135,30,135,33,135,25,135,27,135,67,135,44,135,65,135,62,135,70,135,32,135,50,135,42,135,45,135,60,135,18,135,58,135,49,135,53,135,66,135,38,135,39,135,56,135,36,135,26,135,48,135,17,135,247,136,231,136,241,136,242,136,250,136,254,136,238,136,252,136,246,136,251,136,240,136,236,136,235,136,157,137,161,137,159,137,158,137,233,137,235,137,232,137,171,138,153,138,139,138,146,138,143,138,150,138,61,140,104,140,105,140,213,140,207,140,215,140,150,141,9,142,2,142,255,141,13,142,253,141,10,142,3,142,7,142,6,142,5,142,254,141,0,142,4,142,16,143,17,143,14,143,13,143,35,145,28,145,32,145,34,145,31,145,29,145,26,145,36,145,33,145,27,145,122,145,114,145,121,145,115,145,165,146,164,146,118,146,155,146,122,146,160,146,148,146,170,146,141,146,166,146,154,146,171,146,121,146,151,146,127,146,163,146,238,146,142,146,130,146,149,146,162,146,125,146,136,146,161,146,138,146,134,146,140,146,153,146,167,146,126,146,135,146,169,146,157,146,139,146,45,146,158,150,161,150,255,150,88,151,125,151,122,151,126,151,131,151,128,151,130,151,123,151,132,151,129,151,127,151,206,151,205,151,22,152,173,152,174,152,2,153,0,153,7,153,157,153,156,153,195,153,185,153,187,153,186,153,194,153,189,153,199,153,177,154,227,154,231,154,62,155,63,155,96,155,97,155,95,155,241,156,242,156,245,156,167,158,255,80,3,81,48,81,248,80,6,81,7,81,246,80,254,80,11,81,12,81,253,80,10,81,139,82,140,82,241,82,239,82,72,86,66,86,76,86,53,86,65,86,74,86,73,86,70,86,88,86,90,86,64,86,51,86,61,86,44,86,62,86,56,86,42,86,58,86,26,87,171,88,157,88,177,88,160,88,163,88,175,88,172,88,165,88,161,88,255,88,255,90,244,90,253,90,247,90,246,90,3,91,248,90,2,91,249,90,1,91,7,91,5,91,15,91,103,92,153,93,151,93,159,93,146,93,162,93,147,93,149,93,160,93,156,93,161,93,154,93,158,93,105,94,93,94,96,94,92,94,243,125,219,94,222,94,225,94,73,95,178,95,139,97,131,97,121,97,177,97,176,97,162,97,137,97,155,97,147,97,175,97,173,97,159,97,146,97,170,97,161,97,141,97,102,97,179,97,45,98,110,100,112,100,150,100,160,100,133,100,151,100,156,100,143,100,139,100,138,100,140,100,163,100,159,100,104,100,177,100,152,100,118,101,122,101,121,101,123,101,178,101,179,101,181,102,176,102,169,102,178,102,183,102,170,102,175,102,0,106,6,106,23,106,229,105,248,105,21,106,241,105,228,105,32,106,255,105,236,105,226,105,27,106,29,106,254,105,39,106,242,105,238,105,20,106,247,105,231,105,64,106,8,106,230,105,251,105,13,106,252,105,235,105,9,106,4,106,24,106,37,106,15,106,246,105,38,106,7,106,244,105,22,106,81,107,165,107,163,107,162,107,166,107,1,108,0,108,255,107,2,108,65,111,38,111,126,111,135,111,198,111,146,111,141,111,137,111,140,111,98,111,79,111,133,111,90,111,150,111,118,111,108,111,130,111,85,111,114,111,82,111,80,111,87,111,148,111,147,111,93,111,0,111,97,111,107,111,125,111,103,111,144,111,83,111,139,111,105,111,127,111,149,111,99,111,119,111,106,111,123,111,178,113,175,113,155,113,176,113,160,113,154,113,169,113,181,113,157,113,165,113,158,113,164,113,161,113,170,113,156,113,167,113,179,113,152,114,154,114,88,115,82,115,94,115,95,115,96,115,93,115,91,115,97,115,90,115,89,115,98,115,135,116,137,116,138,116,134,116,129,116,125,116,133,116,136,116,124,116,121,116,8,117,7,117,126,117,37,118,30,118,25,118,29,118,28,118,35,118,26,118,40,118,27,118,156,118,157,118,158,118,155,118,141,119,143,119,137,119,136,119,205,120,187,120,207,120,204,120,209,120,206,120,212,120,200,120,195,120,196,120,201,120,154,121,161,121,160,121,156,121,162,121,155,121,118,107,57,122,178,122,180,122,179,122,183,123,203,123,190,123,172,123,206,123,175,123,185,123,202,123,181,123,197,124,200,124,204,124,203,124,247,125,219,125,234,125,231,125,215,125,225,125,3,126,250,125,230,125,246,125,241,125,240,125,238,125,223,125,118,127,172,127,176,127,173,127,237,127,235,127,234,127,236,127,230,127,232,127,100,128,103,128,163,129,159,129,158,129,149,129,162,129,153,129,151,129,22,130,79,130,83,130,82,130,80,130,78,130,81,130,36,133,59,133,15,133,0,133,41,133,14,133,9,133,13,133,31,133,10,133,39,133,28,133,251,132,43,133,250,132,8,133,12,133,244,132,42,133,242,132,21,133,247,132,235,132,243,132,252,132,18,133,234,132,233,132,22,133,254,132,40,133,29,133,46,133,2,133,253,132,30,133,246,132,49,133,38,133,231,132,232,132,240,132,239,132,249,132,24,133,32,133,48,133,11,133,25,133,47,133,98,134,86,135,99,135,100,135,119,135,225,135,115,135,88,135,84,135,91,135,82,135,97,135,90,135,81,135,94,135,109,135,106,135,80,135,78,135,95,135,93,135,111,135,108,135,122,135,110,135,92,135,101,135,79,135,123,135,117,135,98,135,103,135,105,135,90,136,5,137,12,137,20,137,11,137,23,137,24,137,25,137,6,137,22,137,17,137,14,137,9,137,162,137,164,137,163,137,237,137,240,137,236,137,207,138,198,138,184,138,211,138,209,138,212,138,213,138,187,138,215,138,190,138,192,138,197,138,216,138,195,138,186,138,189,138,217,138,62,140,77,140,143,140,229,140,223,140,217,140,232,140,218,140,221,140,231,140,160,141,156,141,161,141,155,141,32,142,35,142,37,142,36,142,46,142,21,142,27,142,22,142,17,142,25,142,38,142,39,142,20,142,18,142,24,142,19,142,28,142,23,142,26,142,44,143,36,143,24,143,26,143,32,143,35,143,22,143,23,143,115,144,112,144,111,144,103,144,107,144,47,145,43,145,41,145,42,145,50,145,38,145,46,145,133,145,134,145,138,145,129,145,130,145,132,145,128,145,208,146,195,146,196,146,192,146,217,146,182,146,207,146,241,146,223,146,216,146,233,146,215,146,221,146,204,146,239,146,194,146,232,146,202,146,200,146,206,146,230,146,205,146,213,146,201,146,224,146,222,146,231,146,209,146,211,146,181,146,225,146,198,146,180,146,124,149,172,149,171,149,174,149,176,149,164,150,162,150,211,150,5,151,8,151,2,151,90,151,138,151,142,151,136,151,208,151,207,151,30,152,29,152,38,152,41,152,40,152,32,152,27,152,39,152,178,152,8,153,250,152,17,153,20,153,22,153,23,153,21,153,220,153,205,153,207,153,211,153,212,153,206,153,201,153,214,153,216,153,203,153,215,153,204,153,179,154,236,154,235,154,243,154,242,154,241,154,70,155,67,155,103,155,116,155,113,155,102,155,118,155,117,155,112,155,104,155,100,155,108,155,252,156,250,156,253,156,255,156,247,156,7,157,0,157,249,156,251,156,8,157,5,157,4,157,131,158,211,158,15,159,16,159,28,81,19,81,23,81,26,81,17,81,222,81,52,83,225,83,112,86,96,86,110,86,115,86,102,86,99,86,109,86,114,86,94,86,119,86,28,87,27,87,200,88,189,88,201,88,191,88,186,88,194,88,188,88,198,88,23,91,25,91,27,91,33,91,20,91,19,91,16,91,22,91,40,91,26,91,32,91,30,91,239,91,172,93,177,93,169,93,167,93,181,93,176,93,174,93,170,93,168,93,178,93,173,93,175,93,180,93,103,94,104,94,102,94,111,94,233,94,231,94,230,94,232,94,229,94,75,95,188,95,157,97,168,97,150,97,197,97,180,97,198,97,193,97,204,97,186,97,191,97,184,97,140,97,215,100,214,100,208,100,207,100,201,100,189,100,137,100,195,100,219,100,243,100,217,100,51,101,127,101,124,101,162,101,200,102,190,102,192,102,202,102,203,102,207,102,189,102,187,102,186,102,204,102,35,103,52,106,102,106,73,106,103,106,50,106,104,106,62,106,93,106,109,106,118,106,91,106,81,106,40,106,90,106,59,106,63,106,65,106,106,106,100,106,80,106,79,106,84,106,111,106,105,106,96,106,60,106,94,106,86,106,85,106,77,106,78,106,70,106,85,107,84,107,86,107,167,107,170,107,171,107,200,107,199,107,4,108,3,108,6,108,173,111,203,111,163,111,199,111,188,111,206,111,200,111,94,111,196,111,189,111,158,111,202,111,168,111,4,112,165,111,174,111,186,111,172,111,170,111,207,111,191,111,184,111,162,111,201,111,171,111,205,111,175,111,178,111,176,111,197,113,194,113,191,113,184,113,214,113,192,113,193,113,203,113,212,113,202,113,199,113,207,113,189,113,216,113,188,113,198,113,218,113,219,113,157,114,158,114,105,115,102,115,103,115,108,115,101,115,107,115,106,115,127,116,154,116,160,116,148,116,146,116,149,116,161,116,11,117,128,117,47,118,45,118,49,118,61,118,51,118,60,118,53,118,50,118,48,118,187,118,230,118,154,119,157,119,161,119,156,119,155,119,162,119,163,119,149,119,153,119,151,119,221,120,233,120,229,120,234,120,222,120,227,120,219,120,225,120,226,120,237,120,223,120,224,120,164,121,68,122,72,122,71,122,182,122,184,122,181,122,177,122,183,122,222,123,227,123,231,123,221,123,213,123,229,123,218,123,232,123,249,123,212,123,234,123,226,123,220,123,235,123,216,123,223,123,210,124,212,124,215,124,208,124,209,124,18,126,33,126,23,126,12,126,31,126,32,126,19,126,14,126,28,126,21,126,26,126,34,126,11,126,15,126,22,126,13,126,20,126,37,126,36,126,67,127,123,127,124,127,122,127,177,127,239,127,42,128,41,128,108,128,177,129,166,129,174,129,185,129,181,129,171,129,176,129,172,129,180,129,178,129,183,129,167,129,242,129,85,130,86,130,87,130,86,133,69,133,107,133,77,133,83,133,97,133,88,133,64,133,70,133,100,133,65,133,98,133,68,133,81,133,71,133,99,133,62,133,91,133,113,133,78,133,110,133,117,133,85,133,103,133,96,133,140,133,102,133,93,133,84,133,101,133,108,133,99,134,101,134,100,134,155,135,143,135,151,135,147,135,146,135,136,135,129,135,150,135,152,135,121,135,135,135,163,135,133,135,144,135,145,135,157,135,132,135,148,135,156,135,154,135,137,135,30,137,38,137,48,137,45,137,46,137,39,137,49,137,34,137,41,137,35,137,47,137,44,137,31,137,241,137,224,138,226,138,242,138,244,138,245,138,221,138,20,139,228,138,223,138,240,138,200,138,222,138,225,138,232,138,255,138,239,138,251,138,145,140,146,140,144,140,245,140,238,140,241,140,240,140,243,140,108,141,110,141,165,141,167,141,51,142,62,142,56,142,64,142,69,142,54,142,60,142,61,142,65,142,48,142,63,142,189,142,54,143,46,143,53,143,50,143,57,143,55,143,52,143,118,144,121,144,123,144,134,144,250,144,51,145,53,145,54,145,147,145,144,145,145,145,141,145,143,145,39,147,30,147,8,147,31,147,6,147,15,147,122,147,56,147,60,147,27,147,35,147,18,147,1,147,70,147,45,147,14,147,13,147,203,146,29,147,250,146,37,147,19,147,249,146,247,146,52,147,2,147,36,147,255,146,41,147,57,147,53,147,42,147,20,147,12,147,11,147,254,146,9,147,0,147,251,146,22,147,188,149,205,149,190,149,185,149,186,149,182,149,191,149,181,149,189,149,169,150,212,150,11,151,18,151,16,151,153,151,151,151,148,151,240,151,248,151,53,152,47,152,50,152,36,153,31,153,39,153,41,153,158,153,238,153,236,153,229,153,228,153,240,153,227,153,234,153,233,153,231,153,185,154,191,154,180,154,187,154,246,154,250,154,249,154,247,154,51,155,128,155,133,155,135,155,124,155,126,155,123,155,130,155,147,155,146,155,144,155,122,155,149,155,125,155,136,155,37,157,23,157,32,157,30,157,20,157,41,157,29,157,24,157,34,157,16,157,25,157,31,157,136,158,134,158,135,158,174,158,173,158,213,158,214,158,250,158,18,159,61,159,38,81,37,81,34,81,36,81,32,81,41,81,244,82,147,86,140,86,141,86,134,86,132,86,131,86,126,86,130,86,127,86,129,86,214,88,212,88,207,88,210,88,45,91,37,91,50,91,35,91,44,91,39,91,38,91,47,91,46,91,123,91,241,91,242,91,183,93,108,94,106,94,190,95,187,95,195,97,181,97,188,97,231,97,224,97,229,97,228,97,232,97,222,97,239,100,233,100,227,100,235,100,228,100,232,100,129,101,128,101,182,101,218,101,210,102,141,106,150,106,129,106,165,106,137,106,159,106,155,106,161,106,158,106,135,106,147,106,142,106,149,106,131,106,168,106,164,106,145,106,127,106,166,106,154,106,133,106,140,106,146,106,91,107,173,107,9,108,204,111,169,111,244,111,212,111,227,111,220,111,237,111,231,111,230,111,222,111,242,111,221,111,226,111,232,111,225,113,241,113,232,113,242,113,228,113,240,113,226,113,115,115,110,115,111,115,151,116,178,116,171,116,144,116,170,116,173,116,177,116,165,116,175,116,16,117,17,117,18,117,15,117,132,117,67,118,72,118,73,118,71,118,164,118,233,118,181,119,171,119,178,119,183,119,182,119,180,119,177,119,168,119,240,119,243,120,253,120,2,121,251,120,252,120,242,120,5,121,249,120,254,120,4,121,171,121,168,121,92,122,91,122,86,122,88,122,84,122,90,122,190,122,192,122,193,122,5,124,15,124,242,123,0,124,255,123,251,123,14,124,244,123,11,124,243,123,2,124,9,124,3,124,1,124,248,123,253,123,6,124,240,123,241,123,16,124,10,124,232,124,45,126,60,126,66,126,51,126,72,152,56,126,42,126,73,126,64,126,71,126,41,126,76,126,48,126,59,126,54,126,68,126,58,126,69,127,127,127,126,127,125,127,244,127,242,127,44,128,187,129,196,129,204,129,202,129,197,129,199,129,188,129,233,129,91,130,90,130,92,130,131,133,128,133,143,133,167,133,149,133,160,133,139,133,163,133,123,133,164,133,154,133,158,133,119,133,124,133,137,133,161,133,122,133,120,133,87,133,142,133,150,133,134,133,141,133,153,133,157,133,129,133,162,133,130,133,136,133,133,133,121,133,118,133,152,133,144,133,159,133,104,134,190,135,170,135,173,135,197,135,176,135,172,135,185,135,181,135,188,135,174,135,201,135,195,135,194,135,204,135,183,135,175,135,196,135,202,135,180,135,182,135,191,135,184,135,189,135,222,135,178,135,53,137,51,137,60,137,62,137,65,137,82,137,55,137,66,137,173,137,175,137,174,137,242,137,243,137,30,139,24,139,22,139,17,139,5,139,11,139,34,139,15,139,18,139,21,139,7,139,13,139,8,139,6,139,28,139,19,139,26,139,79,140,112,140,114,140,113,140,111,140,149,140,148,140,249,140,111,141,78,142,77,142,83,142,80,142,76,142,71,142,67,143,64,143,133,144,126,144,56,145,154,145,162,145,155,145,153,145,159,145,161,145,157,145,160,145,161,147,131,147,175,147,100,147,86,147,71,147,124,147,88,147,92,147,118,147,73,147,80,147,81,147,96,147,109,147,143,147,76,147,106,147,121,147,87,147,85,147,82,147,79,147,113,147,119,147,123,147,97,147,94,147,99,147,103,147,128,147,78,147,89,147,199,149,192,149,201,149,195,149,197,149,183,149,174,150,176,150,172,150,32,151,31,151,24,151,29,151,25,151,154,151,161,151,156,151,158,151,157,151,213,151,212,151,241,151,65,152,68,152,74,152,73,152,69,152,67,152,37,153,43,153,44,153,42,153,51,153,50,153,47,153,45,153,49,153,48,153,152,153,163,153,161,153,2,154,250,153,244,153,247,153,249,153,248,153,246,153,251,153,253,153,254,153,252,153,3,154,190,154,254,154,253,154,1,155,252,154,72,155,154,155,168,155,158,155,155,155,166,155,161,155,165,155,164,155,134,155,162,155,160,155,175,155,51,157,65,157,103,157,54,157,46,157,47,157,49,157,56,157,48,157,69,157,66,157,67,157,62,157,55,157,64,157,61,157,245,127,45,157,138,158,137,158,141,158,176,158,200,158,218,158,251,158,255,158,36,159,35,159,34,159,84,159,160,159,49,81,45,81,46,81,152,86,156,86,151,86,154,86,157,86,153,86,112,89,60,91,105,92,106,92,192,93,109,94,110,94,216,97,223,97,237,97,238,97,241,97,234,97,240,97,235,97,214,97,233,97,255,100,4,101,253,100,248,100,1,101,3,101,252,100,148,101,219,101,218,102,219,102,216,102,197,106,185,106,189,106,225,106,198,106,186,106,182,106,183,106,199,106,180,106,173,106,94,107,201,107,11,108,7,112,12,112,13,112,1,112,5,112,20,112,14,112,255,111,0,112,251,111,38,112,252,111,247,111,10,112,1,114,255,113,249,113,3,114,253,113,118,115,184,116,192,116,181,116,193,116,190,116,182,116,187,116,194,116,20,117,19,117,92,118,100,118,89,118,80,118,83,118,87,118,90,118,166,118,189,118,236,118,194,119,186,119,255,120,12,121,19,121,20,121,9,121,16,121,18,121,17,121,173,121,172,121,95,122,28,124,41,124,25,124,32,124,31,124,45,124,29,124,38,124,40,124,34,124,37,124,48,124,92,126,80,126,86,126,99,126,88,126,98,126,95,126,81,126,96,126,87,126,83,126,181,127,179,127,247,127,248,127,117,128,209,129,210,129,208,129,95,130,94,130,180,133,198,133,192,133,195,133,194,133,179,133,181,133,189,133,199,133,196,133,191,133,203,133,206,133,200,133,197,133,177,133,182,133,210,133,36,134,184,133,183,133,190,133,105,134,231,135,230,135,226,135,219,135,235,135,234,135,229,135,223,135,243,135,228,135,212,135,220,135,211,135,237,135,216,135,227,135,164,135,215,135,217,135,1,136,244,135,232,135,221,135,83,137,75,137,79,137,76,137,70,137,80,137,81,137,73,137,42,139,39,139,35,139,51,139,48,139,53,139,71,139,47,139,60,139,62,139,49,139,37,139,55,139,38,139,54,139,46,139,36,139,59,139,61,139,58,139,66,140,117,140,153,140,152,140,151,140,254,140,4,141,2,141,0,141,92,142,98,142,96,142,87,142,86,142,94,142,101,142,103,142,91,142,90,142,97,142,93,142,105,142,84,142,70,143,71,143,72,143,75,143,40,145,58,145,59,145,62,145,168,145,165,145,167,145,175,145,170,145,181,147,140,147,146,147,183,147,155,147,157,147,137,147,167,147,142,147,170,147,158,147,166,147,149,147,136,147,153,147,159,147,141,147,177,147,145,147,178,147,164,147,168,147,180,147,163,147,165,147,210,149,211,149,209,149,179,150,215,150,218,150,194,93,223,150,216,150,221,150,35,151,34,151,37,151,172,151,174,151,168,151,171,151,164,151,170,151,162,151,165,151,215,151,217,151,214,151,216,151,250,151,80,152,81,152,82,152,184,152,65,153,60,153,58,153,15,154,11,154,9,154,13,154,4,154,17,154,10,154,5,154,7,154,6,154,192,154,220,154,8,155,4,155,5,155,41,155,53,155,74,155,76,155,75,155,199,155,198,155,195,155,191,155,193,155,181,155,184,155,211,155,182,155,196,155,185,155,189,155,92,157,83,157,79,157,74,157,91,157,75,157,89,157,86,157,76,157,87,157,82,157,84,157,95,157,88,157,90,157,142,158,140,158,223,158,1,159,0,159,22,159,37,159,43,159,42,159,41,159,40,159,76,159,85,159,52,81,53,81,150,82,247,82,180,83,171,86,173,86,166,86,167,86,170,86,172,86,218,88,221,88,219,88,18,89,61,91,62,91,63,91,195,93,112,94,191,95,251,97,7,101,16,101,13,101,9,101,12,101,14,101,132,101,222,101,221,101,222,102,231,106,224,106,204,106,209,106,217,106,203,106,223,106,220,106,208,106,235,106,207,106,205,106,222,106,96,107,176,107,12,108,25,112,39,112,32,112,22,112,43,112,33,112,34,112,35,112,41,112,23,112,36,112,28,112,42,112,12,114,10,114,7,114,2,114,5,114,165,114,166,114,164,114,163,114,161,114,203,116,197,116,183,116,195,116,22,117,96,118,201,119,202,119,196,119,241,119,29,121,27,121,33,121,28,121,23,121,30,121,176,121,103,122,104,122,51,124,60,124,57,124,44,124,59,124,236,124,234,124,118,126,117,126,120,126,112,126,119,126,111,126,122,126,114,126,116,126,104,126,75,127,74,127,131,127,134,127,183,127,253,127,254,127,120,128,215,129,213,129,100,130,97,130,99,130,235,133,241,133,237,133,217,133,225,133,232,133,218,133,215,133,236,133,242,133,248,133,216,133,223,133,227,133,220,133,209,133,240,133,230,133,239,133,222,133,226,133,0,136,250,135,3,136,246,135,247,135,9,136,12,136,11,136,6,136,252,135,8,136,255,135,10,136,2,136,98,137,90,137,91,137,87,137,97,137,92,137,88,137,93,137,89,137,136,137,183,137,182,137,246,137,80,139,72,139,74,139,64,139,83,139,86,139,84,139,75,139,85,139,81,139,66,139,82,139,87,139,67,140,119,140,118,140,154,140,6,141,7,141,9,141,172,141,170,141,173,141,171,141,109,142,120,142,115,142,106,142,111,142,123,142,194,142,82,143,81,143,79,143,80,143,83,143,180,143,64,145,63,145,176,145,173,145,222,147,199,147,207,147,194,147,218,147,208,147,249,147,236,147,204,147,217,147,169,147,230,147,202,147,212,147,238,147,227,147,213,147,196,147,206,147,192,147,210,147,231,147,125,149,218,149,219,149,225,150,41,151,43,151,44,151,40,151,38,151,179,151,183,151,182,151,221,151,222,151,223,151,92,152,89,152,93,152,87,152,191,152,189,152,187,152,190,152,72,153,71,153,67,153,166,153,167,153,26,154,21,154,37,154,29,154,36,154,27,154,34,154,32,154,39,154,35,154,30,154,28,154,20,154,194,154,11,155,10,155,14,155,12,155,55,155,234,155,235,155,224,155,222,155,228,155,230,155,226,155,240,155,212,155,215,155,236,155,220,155,217,155,229,155,213,155,225,155,218,155,119,157,129,157,138,157,132,157,136,157,113,157,128,157,120,157,134,157,139,157,140,157,125,157,107,157,116,157,117,157,112,157,105,157,133,157,115,157,123,157,130,157,111,157,121,157,127,157,135,157,104,157,148,158,145,158,192,158,252,158,45,159,64,159,65,159,77,159,86,159,87,159,88,159,55,83,178,86,181,86,179,86,227,88,69,91,198,93,199,93,238,94,239,94,192,95,193,95,249,97,23,101,22,101,21,101,19,101,223,101,232,102,227,102,228,102,243,106,240,106,234,106,232,106,249,106,241,106,238,106,239,106,60,112,53,112,47,112,55,112,52,112,49,112,66,112,56,112,63,112,58,112,57,112,64,112,59,112,51,112,65,112,19,114,20,114,168,114,125,115,124,115,186,116,171,118,170,118,190,118,237,118,204,119,206,119,207,119,205,119,242,119,37,121,35,121,39,121,40,121,36,121,41,121,178,121,110,122,108,122,109,122,247,122,73,124,72,124,74,124,71,124,69,124,238,124,123,126,126,126,129,126,128,126,186,127,255,127,121,128,219,129,217,129,11,130,104,130,105,130,34,134,255,133,1,134,254,133,27,134,0,134,246,133,4,134,9,134,5,134,12,134,253,133,25,136,16,136,17,136,23,136,19,136,22,136,99,137,102,137,185,137,247,137,96,139,106,139,93,139,104,139,99,139,101,139,103,139,109,139,174,141,134,142,136,142,132,142,89,143,86,143,87,143,85,143,88,143,90,143,141,144,67,145,65,145,183,145,181,145,178,145,179,145,11,148,19,148,251,147,32,148,15,148,20,148,254,147,21,148,16,148,40,148,25,148,13,148,245,147,0,148,247,147,7,148,14,148,22,148,18,148,250,147,9,148,248,147,10,148,255,147,252,147,12,148,246,147,17,148,6,148,222,149,224,149,223,149,46,151,47,151,185,151,187,151,253,151,254,151,96,152,98,152,99,152,95,152,193,152,194,152,80,153,78,153,89,153,76,153,75,153,83,153,50,154,52,154,49,154,44,154,42,154,54,154,41,154,46,154,56,154,45,154,199,154,202,154,198,154,16,155,18,155,17,155,11,156,8,156,247,155,5,156,18,156,248,155,64,156,7,156,14,156,6,156,23,156,20,156,9,156,159,157,153,157,164,157,157,157,146,157,152,157,144,157,155,157,160,157,148,157,156,157,170,157,151,157,161,157,154,157,162,157,168,157,158,157,163,157,191,157,169,157,150,157,166,157,167,157,153,158,155,158,154,158,229,158,228,158,231,158,230,158,48,159,46,159,91,159,96,159,94,159,93,159,89,159,145,159,58,81,57,81,152,82,151,82,195,86,189,86,190,86,72,91,71,91,203,93,207,93,241,94,253,97,27,101,2,107,252,106,3,107,248,106,0,107,67,112,68,112,74,112,72,112,73,112,69,112,70,112,29,114,26,114,25,114,126,115,23,117,106,118,208,119,45,121,49,121,47,121,84,124,83,124,242,124,138,126,135,126,136,126,139,126,134,126,141,126,77,127,187,127,48,128,221,129,24,134,42,134,38,134,31,134,35,134,28,134,25,134,39,134,46,134,33,134,32,134,41,134,30,134,37,134,41,136,29,136,27,136,32,136,36,136,28,136,43,136,74,136,109,137,105,137,110,137,107,137,250,137,121,139,120,139,69,139,122,139,123,139,16,141,20,141,175,141,142,142,140,142,94,143,91,143,93,143,70,145,68,145,69,145,185,145,63,148,59,148,54,148,41,148,61,148,60,148,48,148,57,148,42,148,55,148,44,148,64,148,49,148,229,149,228,149,227,149,53,151,58,151,191,151,225,151,100,152,201,152,198,152,192,152,88,153,86,153,57,154,61,154,70,154,68,154,66,154,65,154,58,154,63,154,205,154,21,155,23,155,24,155,22,155,58,155,82,155,43,156,29,156,28,156,44,156,35,156,40,156,41,156,36,156,33,156,183,157,182,157,188,157,193,157,199,157,202,157,207,157,190,157,197,157,195,157,187,157,181,157,206,157,185,157,186,157,172,157,200,157,177,157,173,157,204,157,179,157,205,157,178,157,122,158,156,158,235,158,238,158,237,158,27,159,24,159,26,159,49,159,78,159,101,159,100,159,146,159,185,78,198,86,197,86,203,86,113,89,75,91,76,91,213,93,209,93,242,94,33,101,32,101,38,101,34,101,11,107,8,107,9,107,13,108,85,112,86,112,87,112,82,112,30,114,31,114,169,114,127,115,216,116,213,116,217,116,215,116,109,118,173,118,53,121,180,121,112,122,113,122,87,124,92,124,89,124,91,124,90,124,244,124,241,124,145,126,79,127,135,127,222,129,107,130,52,134,53,134,51,134,44,134,50,134,54,134,44,136,40,136,38,136,42,136,37,136,113,137,191,137,190,137,251,137,126,139,132,139,130,139,134,139,133,139,127,139,21,141,149,142,148,142,154,142,146,142,144,142,150,142,151,142,96,143,98,143,71,145,76,148,80,148,74,148,75,148,79,148,71,148,69,148,72,148,73,148,70,148,63,151,227,151,106,152,105,152,203,152,84,153,91,153,78,154,83,154,84,154,76,154,79,154,72,154,74,154,73,154,82,154,80,154,208,154,25,155,43,155,59,155,86,155,85,155,70,156,72,156,63,156,68,156,57,156,51,156,65,156,60,156,55,156,52,156,50,156,61,156,54,156,219,157,210,157,222,157,218,157,203,157,208,157,220,157,209,157,223,157,233,157,217,157,216,157,214,157,245,157,213,157,221,157,182,158,240,158,53,159,51,159,50,159,66,159,107,159,149,159,162,159,61,81,153,82,232,88,231,88,114,89,77,91,216,93,47,136,79,95,1,98,3,98,4,98,41,101,37,101,150,101,235,102,17,107,18,107,15,107,202,107,91,112,90,112,34,114,130,115,129,115,131,115,112,118,212,119,103,124,102,124,149,126,108,130,58,134,64,134,57,134,60,134,49,134,59,134,62,134,48,136,50,136,46,136,51,136,118,137,116,137,115,137,254,137,140,139,142,139,139,139,136,139,69,140,25,141,152,142,100,143,99,143,188,145,98,148,85,148,93,148,87,148,94,148,196,151,197,151,0,152,86,154,89,154,30,155,31,155,32,155,82,156,88,156,80,156,74,156,77,156,75,156,85,156,89,156,76,156,78,156,251,157,247,157,239,157,227,157,235,157,248,157,228,157,246,157,225,157,238,157,230,157,242,157,240,157,226,157,236,157,244,157,243,157,232,157,237,157,194,158,208,158,242,158,243,158,6,159,28,159,56,159,55,159,54,159,67,159,79,159,113,159,112,159,110,159,111,159,211,86,205,86,78,91,109,92,45,101,237,102,238,102,19,107,95,112,97,112,93,112,96,112,35,114,219,116,229,116,213,119,56,121,183,121,182,121,106,124,151,126,137,127,109,130,67,134,56,136,55,136,53,136,75,136,148,139,149,139,158,142,159,142,160,142,157,142,190,145,189,145,194,145,107,148,104,148,105,148,229,150,70,151,67,151,71,151,199,151,229,151,94,154,213,154,89,155,99,156,103,156,102,156,98,156,94,156,96,156,2,158,254,157,7,158,3,158,6,158,5,158,0,158,1,158,9,158,255,157,253,157,4,158,160,158,30,159,70,159,116,159,117,159,118,159,212,86,46,101,184,101,24,107,25,107,23,107,26,107,98,112,38,114,170,114,216,119,217,119,57,121,105,124,107,124,246,124,154,126,152,126,155,126,153,126,224,129,225,129,70,134,71,134,72,134,121,137,122,137,124,137,123,137,255,137,152,139,153,139,165,142,164,142,163,142,110,148,109,148,111,148,113,148,115,148,73,151,114,152,95,153,104,156,110,156,109,156,11,158,13,158,16,158,15,158,18,158,17,158,161,158,245,158,9,159,71,159,120,159,123,159,122,159,121,159,30,87,102,112,111,124,60,136,178,141,166,142,195,145,116,148,120,148,118,148,117,148,96,154,116,156,115,156,113,156,117,156,20,158,19,158,246,158,10,159,164,159,104,112,101,112,247,124,106,134,62,136,61,136,63,136,158,139,156,140,169,142,201,142,75,151,115,152,116,152,204,152,97,153,171,153,100,154,102,154,103,154,36,155,21,158,23,158,72,159,7,98,30,107,39,114,76,134,168,142,130,148,128,148,129,148,105,154,104,154,46,155,25,158,41,114,75,134,159,139,131,148,121,156,183,158,117,118,107,154,122,156,29,158,105,112,106,112,164,158,126,159,73,159,152,159,0,0,239,223,29,105,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,105,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,39,0,208,253,65,0,39,0,60,0,42,0,63,150,21,149,60,0,42,0,196,85,60,0,42,0,74,85,60,0,42,0,206,84,192,84,9,85,195,87,45,90,40,99,56,107,190,110,243,85,176,146,63,149,111,86,132,147,60,0,42,0,64,85,113,99,145,118,210,81,176,110,10,86,113,101,115,101,154,118,76,118,3,154,60,0,42,0,208,107,57,102,62,90,238,119,60,133,183,142,237,111,249,133,106,139,45,151,68,151,60,0,42,0,126,130,12,79,49,114,57,120,75,120,152,150,204,85,103,88,210,90,27,97,141,120,198,83,167,102,119,116,161,149,254,80,210,88,33,91,211,97,134,133,49,157,221,97,214,102,166,116,50,153,167,118,185,119,164,153,25,121,122,139,64,148,107,156,73,151,60,0,42,0,137,91,146,79,214,92,73,104,40,108,181,94,244,131,25,140,149,90,59,132,74,132,247,117,100,129,76,158,237,132,157,138,140,151,141,151,230,118,243,138,163,153,235,118,106,157,253,151,149,157,60,0,42,0,181,115,125,85,248,150,17,81,60,0,42,0,181,87,250,79,53,85,239,87,245,148,140,150,222,99,111,127,168,146,60,0,42,0,180,114,184,92,9,99,29,109,76,131,72,104,250,128,123,140,19,88,105,90,123,102,151,102,139,140,12,147,199,149,159,155,239,158,60,0,42,0,174,128,175,154,60,0,42,0,108,83,135,92,2,102,59,102,60,0,42,0,138,103,206,118,160,145,60,0,42,0,249,81,234,103,142,104,234,142,10,114,60,0,42,0,86,101,171,83,158,150,247,85,248,85,133,93,210,94,246,110,83,115,28,133,104,144,110,100,172,113,82,115,136,116,221,120,241,127,113,128,175,135,246,127,55,139,56,139,250,127,204,156,214,147,50,156,212,157,7,159,60,0,42,0,157,98,186,130,215,98,132,136,122,149,170,90,188,90,86,137,60,0,42,0,153,92,119,98,115,87,135,87,176,92,178,80,97,89,101,89,103,89,239,90,96,97,156,154,169,150,186,88,180,93,202,97,179,111,217,100,202,147,65,154,60,0,39,0,208,253,66,0,39,0,60,0,42,0,55,78,107,81,200,78,244,93,237,83,82,98,51,103,144,115,63,89,156,92,173,130,199,92,237,103,164,117,245,84,252,93,76,99,6,123,145,124,147,127,134,134,219,145,223,145,93,140,131,156,94,155,60,0,42,0,208,83,174,114,156,98,122,87,173,89,212,98,7,131,166,112,121,118,200,128,221,131,89,138,203,141,247,142,176,152,67,155,162,88,37,159,60,0,42,0,138,98,175,148,0,146,118,151,60,0,42,0,93,87,29,95,56,114,187,87,98,127,25,128,193,141,133,156,140,156,119,127,138,155,135,137,242,119,56,151,233,88,94,112,27,107,60,0,42,0,39,84,38,125,60,0,42,0,0,99,176,99,216,100,60,0,42,0,125,118,60,0,42,0,126,118,112,79,207,103,34,104,109,99,248,116,225,122,168,124,84,125,70,100,250,100,108,137,60,0,42,0,141,94,221,98,37,141,220,98,87,101,8,115,23,122,186,124,173,133,1,141,219,151,60,0,42,0,115,98,61,101,237,115,44,130,129,152,145,101,44,100,146,101,18,152,34,118,251,156,140,135,41,137,77,118,172,143,60,0,42,0,42,150,66,87,133,92,4,102,127,103,72,114,234,116,163,148,132,124,40,130,17,146,66,135,108,155,198,149,60,0,42,0,158,82,74,83,52,79,110,98,98,87,197,89,17,96,204,98,202,126,200,103,218,121,116,110,70,125,97,146,125,151,166,143,227,116,60,0,42,0,129,135,60,0,42,0,166,144,185,87,46,94,96,99,134,104,92,109,171,144,71,94,90,94,13,126,107,94,164,151,60,0,42,0,209,126,129,125,156,105,83,114,128,129,200,154,60,0,42,0,164,115,140,134,141,80,210,104,211,104,36,140,93,88,18,100,22,122,161,132,47,135,197,120,81,149,85,130,23,139,138,147,60,0,42,0,249,82,5,83,104,79,98,91,222,130,185,103,222,128,35,123,114,113,133,159,84,133,18,137,67,137,193,149,89,159,60,0,42,0,135,122,209,90,249,150,132,133,60,0,42,0,157,91,9,96,113,153,221,79,40,158,178,91,228,115,33,88,34,88,172,90,70,132,218,91,249,152,253,152,19,137,194,153,245,156,229,125,7,157,242,140,245,133,243,91,246,91,76,151,60,0,42,0,253,82,165,98,177,98,121,140,181,141,199,148,226,131,171,134,140,136,49,88,75,146,141,156,100,151,178,154,180,102,241,154,99,134,145,155,36,81,211,102,6,114,193,95,100,148,60,0,42,0,66,150,81,83,111,103,195,118,110,104,178,96,249,99,17,105,145,120,78,158,227,133,111,157,60,0,42,0,23,83,115,146,60,0,42,0,29,141,91,91,200,114,157,140,182,144,7,89,1,102,108,114,221,130,204,128,229,144,161,148,251,79,13,80,150,96,253,114,171,136,93,80,121,80,150,104,252,115,1,145,153,80,195,80,235,96,25,113,50,116,240,142,136,143,2,97,154,120,153,121,211,132,253,134,149,114,25,137,150,138,129,151,179,154,41,143,199,146,138,97,210,124,180,151,62,148,60,0,42,0,87,84,4,85,60,0,42,0,84,89,205,108,50,141,31,104,135,114,27,149,27,147,60,0,42,0,44,103,239,130,89,89,90,117,201,127,77,105,60,0,42,0,75,87,76,87,52,80,121,99,115,104,0,110,40,123,41,144,170,100,86,115,61,143,60,0,42,0,59,79,74,121,95,89,41,93,247,126,99,125,141,149,176,80,109,93,237,117,35,86,179,125,60,0,42,0,45,117,60,0,42,0,196,87,242,87,246,131,35,116,43,116,67,126,155,151,60,0,42,0,245,108,248,143,44,144,116,88,15,117,90,149,102,142,240,147,60,0,42,0,252,99,60,0,42,0,68,92,106,80,244,107,60,144,69,105,140,105,77,140,149,135,86,157,190,156,158,147,15,156,60,0,42,0,120,131,59,159,54,91,60,0,42,0,21,83,212,107,54,89,60,103,74,79,33,84,163,89,152,108,149,117,124,95,192,103,213,121,254,79,20,123,131,124,45,130,90,85,70,123,25,145,132,123,91,128,143,140,60,0,42,0,1,94,197,95,213,107,237,149,86,79,82,87,135,94,208,139,178,144,188,89,45,96,54,96,136,103,64,117,65,117,254,130,212,84,242,103,214,107,204,115,170,117,92,131,91,150,217,107,244,114,98,117,19,123,138,124,144,136,203,148,98,90,179,94,93,101,144,104,6,132,30,132,135,149,137,149,27,88,59,95,60,95,10,97,14,97,98,110,149,118,134,121,90,123,86,138,177,140,193,140,81,141,246,85,67,95,215,110,237,110,79,113,249,117,250,117,100,119,119,129,214,132,253,132,12,135,232,136,248,141,77,146,159,149,246,152,99,94,10,95,154,113,89,115,167,120,133,123,134,123,188,125,61,133,42,145,157,153,100,94,119,111,88,115,124,127,69,137,220,153,242,154,193,88,22,91,230,94,230,123,243,123,42,126,156,133,241,137,127,144,133,155,131,101,222,111,194,129,85,142,192,154,112,89,167,116,40,145,206,147,70,153,116,126,94,137,99,137,184,151,224,151,83,155,131,142,132,142,70,154,20,141,52,148,221,157,233,157,10,159,60,0,42,0,185,143,186,143,45,120,62,123,217,99,53,115,22,127,120,113,81,114,2,117,175,123,232,125,89,135,113,115,137,144,125,147,202,156,138,144,173,151,254,155,255,155,105,124,60,0,42,0,44,141,65,98,134,122,62,83,182,140,252,96,57,132,165,120,40,122,10,137,196,124,24,157,202,133,60,0,42,0,94,83,1,95,237,95,131,98,115,108,116,108,196,130,198,145,216,83,197,92,163,115,191,79,9,89,42,102,141,137,167,95,15,127,77,144,158,149,161,143,246,125,81,130,167,143,168,143,169,143,171,143,174,143,175,143,138,139,60,0,42,0,158,112,60,0,42,0,108,112,83,103,7,104,209,152,137,154,223,154,242,109,106,95,11,115,63,129,169,152,130,88,86,94,125,100,238,110,8,133,174,152,160,154,25,106,155,113,152,129,45,118,230,120,86,149,217,152,218,152,38,81,183,152,12,112,232,133,36,139,2,114,213,129,6,141,226,147,110,122,115,149,198,152,199,152,200,152,202,152,67,154,99,148,107,154,60,0,42,0,104,136,74,90,241,136,216,138,62,137,54,147,166,106,60,0,42,0,245,79,212,156,62,156,60,0,42,0,139,97,222,135,214,156,73,156,8,159,76,134,158,159,60,0,42,0,37,82,43,82,135,84,130,131,194,134,182,95,82,137,105,142,60,0,42,0,42,118,95,118,60,0,42,0,70,95,60,0,42,0,67,108,160,144,162,115,15,120,190,91,108,95,185,104,167,80,140,101,21,105,232,110,36,127,223,105,120,116,105,140,211,140,212,140,84,149,16,81,210,111,241,111,245,111,104,134,115,140,179,106,184,116,21,112,38,151,125,126,76,148,110,152,60,0,42,0,72,100,161,107,145,129,233,154,239,100,2,155,175,107,207,129,204,154,19,155,213,154,34,155,60,0,42,0,30,108,60,0,42,0,171,81,204,78,210,78,55,108,176,81,117,81,164,99,242,146,60,0,42,0,25,78,180,144,67,150,50,96,166,98,201,121,234,130,30,102,58,102,196,103,179,112,124,153,42,119,137,122,195,134,82,100,197,104,128,121,31,122,53,146,124,146,134,151,5,153,32,153,158,151,60,0,42,0,118,94,38,78,117,79,119,94,170,87,176,94,2,80,36,104,197,117,221,122,75,80,161,80,206,91,129,138,169,155,80,151,60,0,42,0,118,118,23,94,232,98,226,108,119,118,187,115,93,82,101,82,241,84,203,118,53,120,154,136,181,148,125,153,117,85,52,125,61,127,224,131,176,136,138,110,134,120,98,146,224,80,147,93,165,100,173,100,17,153,129,155,115,142,75,154,77,156,60,0,42,0,226,78,47,79,187,114,145,128,115,154,27,94,219,114,221,116,233,130,188,79,195,82,201,128,227,144,179,78,44,99,97,109,223,116,225,121,175,136,185,148,194,148,255,109,22,129,54,130,185,136,90,83,36,110,103,132,65,158,61,97,15,100,60,115,56,146,81,146,142,153,240,80,127,113,84,114,148,123,138,129,74,130,20,133,155,153,193,153,35,142,205,146,72,149,158,153,238,153,79,137,112,140,151,86,234,97,33,121,25,124,155,147,58,153,83,157,166,114,198,154,201,154,2,107,110,137,52,121,110,148,60,0,42,0,219,141,165,123,56,124,60,0,42,0,121,91,151,106,234,124,82,139,23,134,60,0,42,0,92,83,33,132,60,0,42,0,236,92,175,94,11,144,184,148,97,102,61,146,167,138,60,0,42,0,234,156,80,143,173,145,60,0,42,0,95,83,101,136,250,84,85,99,184,85,220,136,79,157,20,158,60,0,42,0,13,78,3,94,72,79,37,84,101,107,152,84,22,96,170,98,104,107,105,107,232,103,154,148,207,82,212,87,215,87,145,96,87,99,121,131,232,144,224,87,255,116,205,94,0,133,4,142,246,144,20,153,240,123,34,153,63,124,60,0,39,0,208,253,67,0,39,0,60,0,42,0,147,86,230,100,3,101,60,0,42,0,36,121,56,121,60,0,42,0,106,144,195,86,60,0,42,0,114,80,28,115,60,0,42,0,77,98,80,103,34,141,161,140,193,136,148,126,60,0,42,0,221,107,199,145,56,80,75,85,71,90,192,91,105,95,161,99,108,119,244,141,181,125,41,142,60,0,42,0,240,87,220,131,204,104,33,133,41,126,60,0,42,0,194,83,195,83,196,83,225,152,150,154,197,83,176,85,76,110,170,80,32,91,16,153,24,114,66,154,60,0,42,0,139,107,149,134,237,96,152,107,90,97,69,135,89,97,54,136,58,136,60,0,42,0,232,96,1,103,88,97,175,97,71,122,248,123,234,158,242,158,60,0,42,0,127,112,186,99,113,91,178,124,123,100,15,81,175,111,146,133,230,113,168,116,50,139,60,0,42,0,211,78,250,78,39,79,167,108,205,130,39,158,9,80,49,130,150,80,98,93,196,110,74,115,188,132,248,111,89,130,165,135,172,157,60,0,42,0,207,133,12,107,118,148,60,0,42,0,246,140,60,0,42,0,161,100,205,100,217,124,60,0,42,0,250,102,249,102,8,86,134,93,21,111,248,132,253,105,63,137,90,130,172,135,234,147,60,0,42,0,120,130,73,131,58,97,198,97,50,154,60,0,42,0,143,128,53,145,89,137,60,0,42,0,121,130,60,0,42,0,138,81,140,81,167,79,149,83,123,96,250,98,75,109,93,131,71,101,95,117,116,80,160,83,39,123,163,124,23,132,193,94,251,96,44,110,86,123,52,132,94,123,116,123,219,132,132,88,163,123,161,97,14,124,60,0,42,0,126,93,60,0,42,0,145,92,148,109,18,123,163,104,60,0,42,0,253,102,76,86,60,0,42,0,66,92,254,102,100,92,146,93,242,122,83,154,60,0,42,0,109,142,60,0,42,0,201,83,96,98,72,103,158,128,255,129,63,99,91,80,207,85,210,99,247,99,135,153,159,146,56,149,86,130,128,117,100,147,55,153,60,0,42,0,197,121,158,87,229,103,44,131,54,131,86,93,61,100,57,115,107,151,206,105,103,138,223,91,180,120,171,106,60,0,42,0,105,136,69,142,114,149,84,148,60,0,42,0,124,89,74,108,148,92,152,79,231,139,249,89,238,93,1,125,107,138,60,0,42,0,134,130,198,98,151,148,245,145,60,0,42,0,178,114,170,79,244,103,122,140,97,121,141,85,21,81,92,159,60,0,42,0,29,131,60,0,42,0,127,134,131,136,13,138,37,118,6,136,198,86,60,0,42,0,191,143,199,137,180,104,0,100,152,137,231,136,70,146,211,146,104,94,92,137,25,101,60,0,42,0,117,90,23,140,206,104,121,110,133,121,139,153,88,113,32,127,221,80,81,115,73,135,151,138,203,146,3,81,11,91,219,94,121,111,122,111,254,125,182,111,219,120,170,121,218,107,61,145,97,149,13,112,236,135,51,81,150,82,254,135,65,145,181,86,229,88,201,93,58,112,3,107,143,126,146,126,148,142,117,149,108,130,146,139,113,148,94,153,60,0,42,0,167,78,44,82,245,101,51,78,186,101,80,109,87,82,4,140,116,85,34,117,35,117,242,148,16,150,135,132,119,82,124,93,76,100,251,110,61,86,93,94,70,133,194,138,179,149,163,154,192,113,5,124,129,81,95,126,66,139,180,143,223,147,225,149,197,86,91,112,135,139,60,0,42,0,207,95,95,120,114,100,244,97,164,152,250,97,188,127,194,151,107,152,60,0,42,0,37,79,12,102,0,80,60,90,208,109,22,115,214,131,10,150,127,102,25,105,41,116,238,136,32,149,41,147,182,149,179,156,231,155,26,159,60,0,42,0,231,78,233,78,79,81,160,128,204,130,120,149,29,92,127,80,56,94,156,95,250,116,7,132,30,117,120,129,23,86,114,88,230,90,122,116,147,129,255,146,31,81,144,86,191,156,219,147,104,156,60,0,42,0,130,83,58,87,54,102,221,96,52,88,94,101,216,80,176,83,224,94,5,108,249,146,60,0,42,0,5,96,154,115,69,117,33,80,47,155,49,85,181,96,59,113,82,116,162,102,124,117,175,138,212,151,60,0,42,0,208,135,60,0,42,0,132,98,40,95,10,96,41,107,158,148,44,138,47,113,133,141,20,146,230,82,60,0,42,0,74,114,65,102,226,93,227,93,29,103,27,145,12,159,5,111,50,86,20,106,110,111,178,122,122,127,72,143,2,159,63,139,60,0,42,0,53,84,146,112,39,119,35,113,124,113,168,158,208,93,60,0,42,0,230,78,239,78,22,128,216,137,60,0,42,0,102,143,33,79,202,142,229,79,23,120,19,85,151,131,104,120,252,134,60,0,42,0,111,98,86,80,166,100,60,0,42,0,110,92,123,95,124,87,224,143,226,112,69,128,163,99,105,120,25,152,185,95,164,100,136,111,246,82,174,119,33,114,60,0,42,0,187,98,244,144,117,99,27,116,212,85,157,125,139,119,195,138,221,140,29,126,19,139,60,0,42,0,24,92,227,129,241,95,137,108,176,143,72,150,231,143,30,131,184,91,128,131,144,131,115,150,80,101,104,102,38,138,12,140,217,142,22,97,232,99,2,146,65,113,47,133,117,88,4,106,14,118,3,151,180,135,246,138,188,133,142,158,223,102,208,157,60,0,42,0,187,141,118,120,156,120,139,88,38,89,227,120,56,142,86,147,2,141,166,145,60,0,42,0,108,136,162,117,128,159,129,141,130,141,135,105,83,159,84,159,45,81,171,86,54,140,236,106,111,137,150,139,60,0,42,0,55,150,223,108,253,103,47,114,230,104,126,109,36,116,240,121,65,80,207,134,94,110,90,114,106,141,220,80,134,97,90,100,49,122,87,151,144,100,145,100,253,125,85,106,160,119,108,141,51,152,137,106,192,122,73,127,106,122,246,135,243,147,255,147,35,148,83,153,60,0,42,0,30,78,16,98,62,103,72,84,127,98,168,103,218,139,213,144,87,78,206,87,13,90,172,91,248,92,6,109,127,131,88,78,213,87,48,99,95,102,249,115,0,129,129,99,245,115,128,120,154,122,45,129,214,148,24,88,233,96,214,104,9,105,11,122,108,123,126,125,206,136,77,88,86,88,151,110,160,138,123,117,114,145,238,146,149,97,130,111,132,111,89,106,153,106,206,155,19,112,242,97,44,154,60,0,42,0,177,79,142,95,156,96,30,144,139,154,177,94,72,119,1,154,60,0,42,0,228,121,60,0,42,0,3,84,155,89,153,79,231,84,104,95,245,128,169,134,49,158,251,116,53,119,30,123,154,124,171,85,53,138,228,85,184,90,91,100,244,117,122,125,68,86,157,119,186,138,173,135,31,157,68,157,97,118,81,155,93,159,33,101,114,95,208,158,60,0,42,0,27,95,96,108,112,154,223,143,123,87,187,92,12,131,1,99,254,122,78,131,109,107,179,134,127,141,66,123,190,140,69,144,141,141,95,144,179,153,142,123,128,88,38,111,31,142,114,144,234,123,24,139,60,0,42,0,58,92,250,83,78,84,148,128,136,79,118,83,127,159,145,87,227,128,101,96,59,128,135,134,179,136,60,107,111,107,178,136,237,136,121,146,43,137,82,159,60,0,42,0,115,95,241,83,165,101,88,103,123,112,100,141,108,153,182,98,197,82,92,96,189,112,209,82,196,127,197,127,85,101,254,112,211,117,123,85,65,110,115,120,237,152,186,80,248,117,95,129,238,141,83,146,244,150,143,97,8,118,228,127,107,144,144,146,87,97,27,118,232,127,190,113,216,97,169,141,78,153,146,157,216,157,60,0,42,0,182,158,60,0,42,0,69,81,178,81,225,95,150,108,58,131,122,109,235,115,192,127,2,130,3,86,79,100,184,95,131,97,167,97,93,136,127,127,95,130,86,142,60,0,42,0,107,134,7,93,8,93,128,150,8,137,223,125,105,135,242,135,30,114,60,0,42,0,160,91,235,87,245,91,60,0,42,0,243,148,240,99,131,146,60,0,42,0,189,98,100,90,10,100,51,118,216,123,168,114,171,114,60,0,42,0,199,78,30,96,230,79,49,94,38,104,198,96,44,125,248,126,215,131,6,105,116,117,82,125,1,97,151,118,32,122,121,123,239,136,103,145,108,145,162,125,12,142,20,81,212,150,139,86,38,91,108,94,228,97,181,133,253,113,224,150,135,117,76,124,138,142,187,145,142,139,144,139,60,0,42,0,17,78,18,78,28,84,123,103,125,103,180,79,98,80,133,119,156,145,193,119,87,155,60,0,42,0,237,129,240,129,90,144,160,107,60,0,42,0,250,81,128,92,29,82,116,100,23,106,153,140,99,159,60,0,42,0,13,82,100,150,187,130,168,83,193,110,162,132,96,140,4,149,176,90,33,128,173,132,13,135,142,141,79,146,207,150,147,114,79,133,218,94,232,123,228,146,113,106,110,94,201,106,248,133,245,135,135,142,219,150,229,106,112,142,181,157,149,142,60,0,42,0,230,81,117,103,64,120,24,105,168,80,110,105,90,105,26,137,203,111,50,81,154,106,180,116,14,121,109,159,124,159,60,0,42,0,141,78,4,89,204,122,53,96,192,98,204,126,86,140,247,103,42,107,208,122,246,79,74,101,92,117,241,87,255,115,64,125,85,134,151,80,33,116,16,145,16,100,192,110,235,132,230,137,0,142,166,149,10,81,60,86,212,138,183,97,182,101,92,107,197,129,220,158,248,137,215,119,60,0,42,0,139,105,123,106,60,0,42,0,59,107,88,107,60,0,42,0,227,99,11,100,60,0,42,0,151,129,60,0,42,0,92,85,44,86,170,129,57,142,60,0,42,0,219,93,221,93,26,108,127,122,118,82,45,115,79,116,60,0,42,0,32,79,33,130,41,130,57,130,12,87,68,144,179,80,61,105,183,102,197,123,50,143,60,0,42,0,27,130,72,131,152,85,66,107,226,80,51,142,60,0,42,0,76,108,50,78,148,115,143,148,231,145,215,140,168,157,60,0,42,0,5,82,174,117,147,122,151,122,78,114,80,100,85,114,33,118,187,122,60,0,42,0,138,94,64,114,71,86,98,94,60,0,42,0,239,149,184,80,100,100,226,120,214,149,60,0,42,0,27,82,6,96,49,82,79,82,89,82,212,81,117,82,52,97,60,0,42,0,57,84,138,112,161,159,60,0,42,0,130,87,21,80,192,87,114,150,118,99,217,131,37,100,240,104,14,105,68,129,204,105,36,149,160,123,24,147,154,147,64,152,60,0,42,0,254,101,118,103,37,102,5,132,62,88,139,90,153,102,63,105,198,105,67,116,186,123,125,135,65,106,52,143,196,106,6,156,158,157,60,0,42,0,175,126,89,150,7,85,113,109,20,125,188,131,243,109,35,129,123,110,137,114,227,110,147,132,81,158,24,111,244,132,135,145,149,145,30,147,217,155,137,157,60,0,42,0,70,80,54,132,247,96,118,119,240,140,34,136,60,0,42,0,52,144,20,142,51,98,60,0,42,0,182,143,181,143,21,90,22,90,124,90,217,96,176,109,240,126,79,129,141,143,107,145,189,125,160,141,31,143,138,159,201,100,237,120,91,126,96,107,189,86,106,159,97,148,60,0,42,0,114,84,181,117,128,141,104,80,208,141,18,126,180,154,202,154,0,136,121,159,60,0,42,0,205,139,193,115,144,87,204,103,96,121,8,131,40,131,50,88,247,116,94,138,157,143,72,97,6,117,158,143,193,120,204,150,90,158,205,124,164,143,250,152,8,153,40,91,232,111,139,133,28,157,32,121,173,143,191,157,192,157,60,0,42,0,100,107,76,79,218,108,188,115,137,118,134,155,60,0,42,0,63,103,33,107,58,79,125,79,58,82,62,82,155,94,38,131,40,104,191,131,88,125,211,134,80,141,134,135,220,140,60,0,42,0,6,83,234,86,241,86,193,130,233,95,158,103,16,131,49,96,164,96,199,104,39,113,113,132,23,111,97,128,239,132,37,133,162,154,176,102,5,106,44,106,156,113,125,116,129,116,235,125,102,128,106,128,155,119,245,123,112,128,204,135,111,147,113,126,230,147,24,154,68,154,60,0,42,0,206,78,27,78,147,95,67,90,110,91,150,95,158,95,176,96,217,109,46,116,82,97,14,111,64,111,104,111,180,138,232,140,233,140,55,106,194,133,226,83,71,112,9,107,28,114,60,0,42,0,129,97,37,139,60,0,42,0,209,81,74,110,96,129,143,143,51,143,60,0,42,0,151,124,213,137,129,158,132,158,164,158,60,0,42,0,130,95,130,107,60,0,42,0,195,79,29,115,40,129,168,90,98,145,4,118,31,133,142,138,151,141,72,86,177,97,39,142,139,145,47,118,7,124,44,126,89,142,0,159,116,142,117,142,99,152,60,0,42,0,70,108,186,100,209,146,105,149,127,142,27,101,165,142,121,148,60,0,42,0,213,106,209,93,17,107,115,122,60,0,42,0,156,122,169,107,182,113,225,123,18,124,196,122,40,114,60,0,42,0,20,93,172,80,215,81,30,127,148,88,137,93,91,97,103,100,177,105,85,115,239,105,234,120,23,126,217,147,60,0,42,0,60,111,128,116,161,141,160,118,60,0,42,0,28,79,240,95,169,117,5,80,139,124,35,125,198,127,3,129,6,129,80,85,91,85,180,96,236,109,3,132,243,107,32,113,58,129,1,118,185,124,183,125,224,127,181,129,172,129,226,111,193,122,74,137,71,152,206,129,60,0,42,0,124,78,60,0,42,0,168,144,81,103,180,118,6,142,138,111,244,122,165,129,60,0,42,0,88,91,159,79,245,98,60,0,42,0,12,82,214,95,60,0,42,0,248,91,11,84,127,124,60,0,42,0,19,100,115,116,115,144,203,120,174,100,73,142,157,145,60,0,42,0,88,134,111,93,115,93,228,117,73,119,236,119,171,132,22,133,126,158,66,145,122,158,166,142,60,0,42,0,30,129,60,0,42,0,73,82,82,82,157,83,14,89,43,99,157,131,161,131,170,99,42,144,174,101,228,104,9,149,204,132,25,149,188,146,47,147,60,0,39,0,208,253,68,0,39,0,60,0,42,0,145,84,55,128,69,131,26,123,210,85,45,100,33,137,96,86,152,100,157,147,60,0,42,0,190,143,207,143,214,143,218,143,126,84,178,89,27,96,147,108,210,84,159,112,141,127,89,131,87,117,115,82,18,83,99,117,42,123,57,144,84,123,90,138,84,144,246,141,24,150,124,151,152,133,145,151,245,113,253,135,137,147,130,142,61,148,195,151,150,159,152,159,60,0,42,0,83,98,60,0,42,0,39,89,163,78,79,108,20,119,60,0,42,0,175,87,41,118,182,88,104,126,60,0,42,0,70,84,84,84,67,115,219,97,60,0,42,0,121,107,46,144,163,80,60,0,42,0,227,78,106,143,162,79,136,87,177,92,18,94,25,117,208,126,232,143,128,154,38,94,133,95,32,96,203,103,134,107,179,115,55,141,47,94,209,142,237,87,54,94,63,125,174,134,139,136,218,142,184,140,233,142,71,116,215,94,199,83,195,102,255,125,15,157,52,98,92,130,219,158,36,124,91,142,59,112,52,151,118,137,241,158,70,151,60,0,42,0,152,155,60,0,42,0,57,78,137,89,85,83,197,98,88,83,8,119,3,120,60,128,61,128,248,144,67,128,173,142,174,85,133,90,154,107,5,118,48,83,170,123,29,137,50,145,21,152,11,81,239,82,212,100,171,107,20,117,73,118,76,137,30,124,120,128,60,0,42,0,20,79,16,82,140,98,172,115,237,116,198,128,116,136,184,117,30,125,184,99,85,141,182,78,162,100,163,100,184,111,213,158,189,129,238,158,60,0,42,0,230,101,70,79,14,94,138,108,249,108,218,114,222,139,230,103,141,117,86,85,87,85,57,95,238,96,225,109,15,132,203,134,127,85,62,95,46,108,69,129,17,135,219,137,158,122,149,138,228,80,73,86,190,153,231,154,62,86,72,95,154,97,186,97,185,111,171,121,222,132,243,153,32,157,90,118,170,86,117,126,9,141,46,151,79,153,60,0,42,0,83,95,240,115,198,136,219,148,92,123,118,117,121,86,162,111,171,116,96,137,57,124,97,130,247,135,58,148,60,0,42,0,33,99,90,81,32,140,203,100,97,139,232,158,41,101,89,112,19,107,156,139,60,0,42,0,57,108,252,81,53,87,149,91,0,120,177,87,97,131,99,104,234,131,120,90,19,97,253,116,63,144,99,93,252,150,82,111,173,120,5,81,138,119,105,133,164,141,203,88,148,106,151,116,234,118,17,121,28,124,47,134,227,149,60,0,42,0,0,82,2,82,232,83,201,95,55,103,24,108,32,130,214,145,125,156,91,155,60,0,42,0,111,99,60,0,42,0,252,91,155,92,102,150,246,92,99,99,119,121,130,121,23,100,157,150,139,93,140,93,221,105,14,92,175,150,212,88,185,93,227,100,72,142,177,121,60,0,42,0,48,82,18,80,188,96,24,113,215,118,255,131,33,105,220,118,83,144,50,122,140,123,226,127,117,86,59,122,84,130,92,136,164,106,95,136,254,113,255,127,199,142,217,116,155,126,60,0,42,0,26,86,60,0,42,0,116,96,151,95,194,109,179,96,234,96,207,104,29,149,179,95,183,95,64,147,60,0,42,0,48,87,132,118,38,129,60,0,42,0,101,98,125,98,60,0,42,0,111,112,123,118,75,140,84,86,1,91,200,113,146,116,243,122,38,124,96,130,180,137,108,142,60,0,42,0,41,103,73,123,37,98,60,0,42,0,147,144,243,81,39,145,165,150,177,88,157,93,170,119,244,120,107,149,200,106,25,148,60,0,42,0,16,108,254,78,78,79,67,89,125,95,155,136,114,85,222,87,157,127,132,150,36,88,134,141,244,110,93,149,254,120,73,147,174,151,60,0,42,0,248,94,196,114,116,124,214,130,234,143,25,85,76,101,164,109,123,131,145,104,27,123,204,137,110,151,204,110,176,153,226,154,0,86,225,90,223,127,11,133,16,133,20,152,117,101,0,106,244,123,129,86,225,133,116,140,98,142,4,155,209,147,244,124,191,137,16,158,60,0,42,0,142,83,88,87,203,139,184,144,58,150,103,84,149,94,36,95,181,98,222,98,226,103,116,114,37,120,139,99,231,131,221,137,70,138,231,142,92,128,182,154,243,155,60,0,42,0,84,87,31,95,243,101,85,103,147,115,31,96,164,103,228,79,29,94,202,87,35,90,18,144,19,144,89,80,71,85,138,104,13,113,246,115,49,119,118,121,44,123,194,131,27,140,241,145,130,90,227,104,39,110,71,119,20,127,130,132,192,80,152,121,99,129,94,144,106,146,145,88,172,88,85,100,178,120,21,133,67,135,112,144,120,97,11,117,224,125,179,93,230,138,54,142,174,135,60,0,42,0,56,117,65,101,130,99,142,80,167,83,110,93,199,110,199,105,217,105,40,118,160,152,78,142,197,93,90,152,91,152,107,118,211,93,212,93,39,101,114,118,123,159,60,0,42,0,120,81,76,89,185,112,112,90,32,115,95,101,35,105,213,141,152,120,167,132,71,133,46,142,222,158,184,86,60,0,42,0,53,117,67,79,61,150,107,87,151,94,171,87,66,98,183,115,191,148,93,90,230,96,192,109,96,89,20,116,191,107,20,135,251,150,138,88,194,88,66,106,93,106,177,111,91,151,92,118,31,124,84,154,60,0,42,0,1,82,252,83,72,108,31,82,109,134,203,81,93,89,52,95,107,95,193,134,49,116,130,140,137,120,237,156,166,107,151,119,213,150,137,155,183,156,19,124,38,159,219,155,112,157,60,0,42,0,90,98,76,92,60,0,42,0,20,95,4,79,10,84,147,148,142,122,11,138,3,140,137,99,227,145,222,148,235,148,31,146,232,122,231,132,177,146,255,150,97,155,191,138,57,118,181,122,253,146,203,133,67,148,60,0,42,0,57,114,204,141,242,85,58,137,60,0,42,0,245,130,237,143,164,87,204,92,78,96,21,99,51,102,214,126,197,128,222,116,35,119,10,128,28,98,13,140,139,85,30,88,73,94,245,96,242,99,115,117,112,125,11,128,247,129,68,138,131,141,123,149,224,83,156,107,67,114,82,114,125,93,159,120,40,135,11,137,83,130,118,135,130,117,220,138,64,142,189,156,225,102,137,117,8,156,138,117,14,108,60,0,42,0,203,84,48,119,60,0,42,0,1,78,195,78,238,83,4,94,142,115,148,117,239,118,137,148,53,128,112,134,74,145,216,145,106,151,60,0,42,0,117,89,118,152,2,152,14,159,127,93,17,159,206,111,161,133,36,148,60,0,42,0,162,139,202,95,100,153,244,119,154,91,2,138,227,152,118,85,35,132,228,148,23,105,90,129,135,120,45,149,160,120,98,128,74,135,204,146,32,147,248,120,65,152,60,0,42,0,31,78,34,78,229,148,169,146,60,0,42,0,28,78,172,81,154,84,189,92,113,103,243,130,56,102,33,108,50,80,43,158,236,87,59,90,32,93,44,93,183,109,23,123,196,131,154,95,45,108,64,135,151,155,21,159,223,155,135,157,171,157,60,0,42,0,99,132,165,88,30,91,194,97,189,123,107,133,204,138,60,0,42,0,168,82,187,81,151,79,140,87,219,89,210,92,107,96,15,99,11,104,30,109,232,128,245,143,205,81,25,98,244,128,213,82,80,120,223,104,105,110,103,125,86,129,205,80,231,153,24,151,60,0,42,0,58,84,23,85,253,144,92,81,96,81,56,133,119,106,252,123,60,0,42,0,103,78,39,150,150,98,147,103,97,150,30,85,170,134,4,146,60,0,42,0,151,101,70,140,214,144,98,109,115,131,23,144,126,153,37,155,170,104,237,107,48,129,88,145,216,117,151,149,166,122,38,155,22,153,163,101,216,149,199,122,42,155,45,155,44,155,60,0,42,0,190,83,98,82,7,150,31,86,99,119,143,145,205,149,60,0,42,0,210,107,236,114,156,109,251,139,14,110,31,105,77,114,138,114,161,120,251,136,173,138,115,135,104,115,22,147,223,81,53,83,59,91,6,112,221,106,176,107,88,114,162,114,196,116,190,118,51,154,233,158,128,139,68,140,21,141,227,151,209,154,95,148,199,151,229,151,247,158,159,139,60,0,42,0,3,123,53,88,62,94,61,116,76,141,121,119,169,137,237,140,228,123,60,0,42,0,143,130,146,89,92,103,154,128,172,89,166,94,112,131,250,121,33,110,111,151,64,149,153,135,172,107,77,147,39,136,57,136,60,0,42,0,17,128,115,80,108,82,143,90,239,122,13,137,116,147,60,0,42,0,237,119,60,0,42,0,181,107,173,101,69,88,14,127,110,132,52,105,69,113,86,116,118,129,171,120,59,149,222,125,200,107,22,124,91,147,183,101,150,142,106,124,60,0,42,0,150,87,6,88,96,88,95,93,253,117,211,120,45,157,28,148,60,0,42,0,39,152,60,0,42,0,31,150,249,91,74,81,76,81,81,81,254,91,75,121,60,96,110,150,138,150,147,120,144,125,13,92,158,97,157,97,231,111,177,133,102,149,223,97,41,112,72,139,104,137,19,148,117,139,60,0,42,0,40,84,199,96,102,101,51,135,169,88,170,88,180,100,100,115,120,86,137,100,84,106,156,114,5,121,114,142,126,142,80,154,60,0,42,0,249,118,184,141,137,142,60,0,42,0,5,79,228,86,137,94,140,108,150,112,254,118,24,120,7,144,157,148,127,152,65,144,13,146,111,105,19,152,183,120,111,144,97,111,201,113,50,142,60,0,42,0,26,89,27,89,132,84,198,84,83,117,95,82,28,93,135,99,96,101,106,101,242,107,240,136,137,86,60,0,42,0,58,89,206,148,107,82,83,101,90,101,165,85,229,117,44,146,106,89,217,81,49,142,181,155,56,148,60,0,42,0,53,103,54,103,218,84,155,87,156,87,5,99,6,99,245,87,13,127,47,105,147,141,177,142,178,142,158,125,184,78,122,147,195,142,178,86,114,89,60,0,42,0,52,82,65,82,74,150,79,150,115,153,46,92,193,103,238,103,87,104,21,88,53,130,240,96,226,141,229,141,250,141,255,152,174,88,158,93,156,97,175,88,125,157,60,0,39,0,208,253,69,0,39,0,60,0,42,0,184,89,191,89,63,90,64,90,89,92,254,117,60,0,42,0,185,139,42,84,238,86,215,143,196,79,37,90,232,92,233,92,144,109,170,131,244,115,27,138,146,118,75,119,11,146,7,149,69,158,254,134,192,120,144,138,31,152,157,152,100,155,77,152,93,157,94,157,76,139,42,156,60,0,42,0,153,103,8,120,11,152,65,86,0,154,72,157,60,0,42,0,132,83,117,92,57,98,122,107,139,92,40,150,67,84,124,98,202,130,56,150,93,84,16,120,109,143,162,84,185,84,169,87,246,89,201,92,14,83,118,96,40,120,133,134,127,153,84,80,126,83,10,88,170,96,70,120,20,140,219,142,2,145,15,150,46,88,63,93,225,96,21,97,66,110,60,132,95,140,246,142,76,144,79,144,42,146,197,94,36,100,57,100,39,116,109,129,123,138,235,80,65,135,55,149,101,155,87,158,90,133,123,144,30,152,154,152,19,153,105,86,220,100,168,137,228,138,188,149,41,153,84,147,196,156,94,107,78,152,24,121,238,106,16,156,154,157,141,139,67,159,105,148,118,159,119,156,60,0,42,0,246,139,146,138,60,0,42,0,64,89,105,96,189,132,126,113,60,0,42,0,206,92,60,0,42,0,65,100,60,0,42,0,165,151,60,0,42,0,63,81,12,128,80,81,149,79,82,81,81,150,207,92,15,109,75,131,45,104,249,128,50,85,187,136,56,158,171,124,79,128,0,143,149,156,173,150,245,154,158,155,47,157,92,143,60,0,42,0,188,83,18,92,19,92,20,92,51,128,233,143,49,109,117,153,46,104,230,107,229,115,210,148,62,114,12,153,236,153,190,133,135,144,176,141,60,0,42,0,140,78,13,95,16,95,116,79,53,82,161,84,48,141,174,140,72,136,179,140,128,138,122,146,50,106,60,0,39,0,208,253,70,0,39,0,60,0,42,0,209,83,183,108,122,118,124,118,66,95,177,145,60,0,42,0,79,78,16,79,194,89,161,87,76,109,186,117,90,127,55,131,0,150,48,104,29,120,41,123,160,80,79,123,130,119,112,127,165,149,120,127,67,106,197,133,60,0,42,0,113,79,213,108,69,147,75,112,60,0,42,0,208,115,58,116,234,154,95,133,238,154,60,0,42,0,6,94,219,95,106,117,235,82,67,86,15,91,97,94,163,97,67,133,217,101,219,101,89,126,251,127,233,133,83,143,191,152,83,124,220,152,85,156,60,0,42,0,225,81,226,81,227,81,62,108,37,83,75,103,201,103,254,119,117,124,146,148,36,130,230,112,39,130,50,123,229,104,34,110,105,113,208,125,166,88,10,106,78,106,212,113,160,116,176,129,160,133,65,126,78,137,179,127,111,142,42,112,63,112,44,121,41,134,7,148,34,148,28,136,237,157,60,0,42,0,205,83,85,98,238,78,212,143,233,145,60,0,42,0,175,114,127,89,78,108,219,108,109,153,3,131,41,141,72,117,9,138,211,142,79,90,181,104,213,118,53,123,169,140,236,142,239,152,240,152,252,110,14,91,196,123,60,0,42,0,26,83,185,101,161,144,74,87,120,108,179,130,139,103,101,114,171,148,211,109,132,134,1,146,58,147,11,157,60,0,42,0,50,150,168,89,63,98,170,128,197,87,130,156,116,155,31,156,60,0,42,0,255,78,191,139,119,95,186,126,9,102,24,102,236,116,6,119,35,80,202,101,33,125,43,130,42,138,227,154,173,157,60,0,42,0,62,101,189,141,60,0,42,0,15,88,60,0,42,0,222,152,131,89,94,151,219,152,97,85,83,90,84,90,4,110,239,126,242,131,73,98,131,102,6,115,95,151,246,136,203,125,26,135,15,151,177,156,37,153,161,153,17,154,27,154,221,152,60,0,42,0,165,128,221,109,83,129,48,135,230,135,60,0,42,0,15,103,208,128,42,83,253,139,92,89,177,96,144,101,208,104,167,105,225,127,92,133,185,138,218,123,60,0,42,0,32,84,190,130,159,94,110,103,184,108,210,114,186,128,50,102,199,128,57,141,247,79,85,82,158,83,191,117,107,150,93,92,9,132,195,94,187,140,241,117,68,149,226,94,202,102,72,118,35,159,247,111,224,106,225,155,40,148,69,151,60,0,42,0,6,82,41,84,9,94,183,126,172,130,16,102,27,108,219,84,213,122,111,136,122,81,27,125,194,127,93,81,251,104,28,138,174,142,90,145,22,146,240,150,6,103,52,153,89,153,60,0,42,0,95,87,162,89,142,92,126,108,12,103,140,103,131,112,166,128,146,127,160,134,161,134,164,104,252,104,26,113,182,132,154,153,171,150,179,88,105,94,198,111,97,133,117,155,104,106,204,113,211,113,110,140,34,159,181,127,22,159,118,140,82,143,60,148,169,153,194,158,60,0,42,0,137,124,250,158,60,0,42,0,253,78,5,95,75,89,255,95,206,121,126,80,36,97,170,124,232,80,164,97,110,89,185,129,222,124,188,156,53,112,93,156,60,0,42,0,48,78,206,152,249,78,232,81,236,81,166,89,163,108,168,108,238,81,171,103,1,92,175,117,253,118,28,120,168,152,239,92,240,92,81,80,123,104,253,112,18,116,54,93,38,115,81,132,11,149,83,105,142,114,2,135,11,118,184,120,252,80,200,123,55,145,210,146,146,106,207,149,80,140,189,147,224,147,70,145,247,91,67,112,52,134,59,151,45,136,74,151,204,152,183,158,60,0,42,0,175,81,6,89,64,99,114,109,34,144,56,88,132,110,174,153,83,100,40,111,152,125,66,130,60,0,42,0,189,139,130,137,42,85,247,138,60,0,42,0,228,81,73,89,46,117,248,79,87,110,40,113,72,113,29,127,87,141,239,156,243,156,12,157,43,126,245,140,60,0,42,0,133,137,60,0,42,0,207,78,114,87,187,104,60,0,42,0,17,125,230,136,60,0,42,0,54,127,38,84,154,89,57,127,59,127,149,107,236,150,0,157,60,0,42,0,43,89,21,79,158,144,75,84,139,89,199,89,158,115,164,128,36,96,206,103,6,120,66,131,109,136,186,87,16,90,3,92,116,131,201,101,40,125,186,141,184,158,225,117,3,122,215,141,7,146,95,123,146,125,28,145,117,91,103,140,119,101,154,129,250,156,169,158,208,124,172,158,177,158,239,97,60,0,42,0,64,78,255,93,23,95,15,79,235,81,54,117,91,79,185,81,28,82,90,91,118,98,153,130,163,130,136,84,170,92,127,95,43,96,194,98,13,103,142,103,237,108,194,126,203,126,251,130,0,131,216,79,152,87,235,103,31,108,17,109,165,112,184,115,73,117,80,117,83,121,88,127,47,131,219,144,232,151,249,84,63,104,110,109,41,120,169,131,168,134,16,83,116,104,170,109,240,112,8,116,38,123,48,123,49,125,60,125,199,127,116,130,212,131,89,134,177,136,69,94,244,104,101,125,102,127,77,132,143,121,176,124,141,125,64,130,9,135,144,143,88,146,92,146,171,152,231,156,145,105,42,122,153,123,205,151,94,94,147,111,96,135,244,154,20,157,232,138,62,142,59,143,132,155,65,118,70,137,178,155,251,158,101,137,105,157,157,157,60,0,42,0,82,84,154,98,43,117,118,78,156,94,35,95,202,98,167,101,204,79,219,79,213,128,217,144,236,156,239,79,220,145,225,145,108,99,133,143,40,105,36,113,217,118,81,129,207,110,5,135,80,129,20,143,56,86,168,100,171,100,43,152,52,155,32,124,252,158,60,0,42,0,29,150,54,114,163,139,216,78,135,89,31,141,68,150,144,84,127,87,206,122,28,150,120,154,13,89,202,92,84,121,3,138,160,140,116,141,165,134,157,136,90,150,105,80,168,81,111,82,102,90,185,134,133,80,141,90,204,91,169,95,255,121,47,132,215,134,132,137,66,138,75,141,49,105,26,127,121,129,139,156,163,121,7,137,20,137,89,141,238,125,103,133,92,135,110,135,230,140,217,153,20,91,27,126,57,143,146,155,251,140,81,147,98,147,198,156,134,137,165,153,18,156,60,0,42,0,92,145,60,0,39,0,208,253,71,0,39,0,60,0,42,0,238,101,119,84,14,86,32,86,60,0,42,0,134,148,28,92,118,86,55,147,60,0,42,0,21,92,141,115,60,0,42,0,44,92,64,155,60,0,42,0,133,79,229,139,194,144,84,150,147,87,223,89,208,92,68,131,80,102,69,141,97,117,116,121,111,125,114,138,101,140,197,140,204,140,60,0,42,0,203,95,57,101,96,125,60,0,42,0,16,78,98,78,3,83,4,83,35,150,90,103,153,148,214,118,97,100,137,110,98,132,35,146,145,150,36,98,130,105,233,105,203,132,17,111,234,105,194,116,60,0,42,0,24,117,211,95,137,130,192,143,60,101,70,103,149,115,157,128,105,87,212,108,248,119,247,130,121,78,209,103,255,122,179,117,80,145,147,124,129,78,242,81,50,92,52,92,120,123,39,111,241,156,54,92,55,92,80,155,60,0,42,0,224,78,94,98,175,118,198,121,102,136,118,141,98,101,127,104,52,123,8,122,31,97,137,111,149,141,68,106,192,100,51,124,20,156,225,156,100,156,60,0,42,0,114,94,240,101,117,108,240,118,192,126,29,80,206,81,230,109,58,125,76,138,173,154,121,94,166,105,138,106,17,141,99,141,27,141,104,112,60,0,42,0,136,81,83,127,174,81,26,82,96,103,178,126,155,128,161,92,104,114,152,117,252,119,56,127,162,148,91,82,97,127,8,88,134,99,237,145,225,104,133,114,61,88,177,125,65,127,252,146,160,147,60,0,42,0,151,92,23,93,47,110,60,0,42,0,53,113,57,113,123,123,211,105,5,98,6,98,60,0,42,0,139,118,148,127,153,127,216,154,144,118,217,154,239,129,220,110,212,105,126,119,143,129,249,105,112,106,217,123,213,124,59,153,220,106,223,151,206,157,27,159,241,157,60,0,42,0,48,89,114,103,210,131,1,122,30,100,31,127,160,102,192,105,193,105,62,122,63,122,80,149,30,126,193,133,186,106,243,133,60,0,42,0,63,84,74,84,194,82,240,139,220,144,252,92,110,121,112,121,6,149,118,123,158,121,165,138,239,146,60,0,42,0,8,98,225,78,42,87,181,114,165,126,19,98,144,128,107,114,153,117,175,84,113,114,229,84,243,128,188,136,61,158,114,82,1,100,65,95,210,110,40,98,76,107,16,157,26,157,241,100,12,139,63,157,182,147,60,0,42,0,68,84,110,79,12,83,12,99,22,131,1,150,105,151,75,101,60,104,50,155,5,97,245,129,91,132,210,134,211,136,148,150,221,85,101,88,198,110,225,137,63,100,197,105,136,129,163,149,164,149,102,115,73,149,136,151,208,151,188,154,253,138,53,143,175,155,202,106,218,151,85,143,183,151,20,154,60,0,42,0,255,84,56,130,240,85,60,0,42,0,42,78,4,84,124,134,11,80,76,120,236,148,135,123,60,0,42,0,217,126,102,125,60,0,42,0,57,104,223,141,60,0,42,0,207,84,60,0,42,0,110,130,60,0,42,0,152,78,153,78,27,131,239,99,4,100,60,0,42,0,47,82,154,94,74,117,109,109,21,128,238,131,41,105,63,113,90,125,83,141,82,158,234,125,6,126,174,127,225,140,185,127,138,157,60,0,42,0,224,144,253,84,194,87,250,92,45,99,224,126,63,128,132,131,151,104,134,125,160,156,190,154,193,155,60,0,42,0,244,102,41,88,133,102,60,0,42,0,229,93,19,95,108,81,183,83,159,82,59,101,91,103,155,79,252,124,177,128,171,91,174,91,109,96,163,134,172,142,154,159,17,83,104,88,74,94,41,97,229,137,179,142,149,113,20,83,189,120,248,154,245,137,143,159,148,159,60,0,42,0,254,94,233,93,94,108,241,98,242,98,49,104,217,115,1,143,143,151,60,0,42,0,113,81,33,141,190,127,29,85,162,140,187,131,60,0,42,0,80,97,60,0,42,0,254,82,93,79,159,108,169,148,167,136,17,127,14,146,157,110,100,146,241,125,32,137,221,123,60,124,178,151,221,151,60,0,42,0,182,130,163,92,215,114,223,130,184,103,189,115,7,128,9,128,49,123,8,128,188,134,127,140,60,0,42,0,120,87,132,103,223,139,45,141,162,87,228,89,41,131,147,81,31,89,32,89,61,138,190,90,64,95,6,100,108,138,88,144,202,150,203,105,121,113,207,137,128,100,175,137,252,140,60,0,42,0,48,79,113,84,149,84,209,89,100,91,189,108,210,108,253,130,231,103,113,143,2,85,91,127,42,158,31,123,199,131,240,131,196,134,218,137,241,142,242,142,156,143,100,145,50,146,141,123,155,123,244,90,208,123,109,106,149,155,35,157,60,0,42,0,187,157,60,0,42,0,3,89,228,83,98,98,105,108,194,139,55,140,161,128,111,114,168,154,3,85,95,127,150,127,39,144,180,148,166,80,82,85,200,109,53,129,202,134,204,134,51,92,50,97,199,132,65,138,137,153,68,158,190,105,194,107,55,146,19,159,20,159,15,86,150,105,183,118,88,158,64,122,14,126,211,124,163,133,242,111,188,118,204,129,66,143,54,153,20,112,236,118,189,119,49,136,60,0,42,0,250,86,69,101,197,81,126,152,12,88,19,93,46,93,143,104,127,114,221,104,123,121,199,150,252,117,18,122,34,149,241,80,46,147,180,156,221,155,103,152,60,0,42,0,220,116,46,82,205,128,29,104,57,158,68,107,113,113,82,128,170,152,143,141,128,82,250,125,59,142,189,146,179,152,48,157,39,154,60,0,42,0,142,81,231,83,80,82,110,82,225,91,60,0,42,0,102,83,108,87,214,139,2,99,105,85,155,99,99,127,83,125,107,127,2,137,127,138,60,0,42,0,86,78,180,99,81,100,60,0,42,0,208,98,180,103,250,103,137,123,60,0,42,0,44,89,207,83,42,96,96,96,60,0,42,0,115,81,194,137,152,91,160,81,140,137,12,80,250,104,132,132,164,122,162,149,29,118,79,118,179,137,215,149,207,156,220,149,37,156,192,137,94,156,60,0,42,0,158,131,134,153,47,116,239,117,102,123,161,123,40,143,24,130,39,147,40,153,228,156,60,0,42,0,204,107,49,78,47,141,244,108,186,96,239,96,188,99,171,109,171,140,185,96,124,121,99,97,92,100,69,111,102,144,12,106,229,118,70,127,218,150,128,142,198,147,76,112,31,114,216,116,212,119,54,121,115,158,80,127,117,148,121,156,27,158,60,0,42,0,73,81,110,112,138,79,151,112,154,112,155,112,163,84,153,87,239,89,56,109,42,131,68,104,225,112,214,115,241,128,217,80,4,143,167,146,198,158,60,0,42,0,127,94,131,94,183,114,227,94,119,115,233,129,60,0,42,0,199,79,27,144,230,129,151,100,60,0,42,0,31,107,60,0,42,0,82,95,45,87,171,89,159,159,196,137,189,144,136,118,37,131,250,149,48,94,234,115,255,128,128,78,128,80,69,120,144,122,191,136,143,137,175,90,198,94,29,105,112,116,204,144,226,90,107,100,168,149,145,156,0,91,251,105,252,105,157,135,157,116,161,119,173,129,173,155,156,159,194,93,120,107,54,155,41,154,204,116,57,155,247,106,60,0,42,0,132,91,63,108,57,103,104,143,139,94,121,79,38,83,225,139,82,150,157,87,253,89,81,96,49,101,120,118,204,142,60,155,170,94,106,121,45,83,119,102,64,110,235,134,228,137,109,138,172,83,11,124,225,135,60,0,42,0,48,101,61,82,63,82,11,102,220,103,148,112,53,141,66,104,103,104,34,105,36,115,64,123,180,140,213,132,234,141,49,83,138,82,140,82,161,93,140,100,246,105,156,106,182,119,172,121,2,124,195,106,80,118,88,137,220,156,188,151,86,156,101,156,60,0,42,0,40,78,110,136,195,96,242,126,158,136,138,143,218,110,216,132,254,110,196,125,9,133,217,120,37,143,167,156,140,155,192,155,60,0,42,0,205,104,84,119,116,119,173,116,52,139,60,0,42,0,89,84,188,84,218,87,237,144,111,85,29,88,30,93,27,146,5,149,142,88,17,118,19,86,73,95,196,111,72,135,75,147,77,95,200,135,60,0,42,0,239,86,246,86,251,86,253,86,0,87,11,87,60,94,88,129,87,94,86,97,13,111,93,128,46,133,149,129,98,134,152,153,60,0,42,0,156,103,200,96,201,109,19,115,211,131,131,153,1,105,1,137,232,105,191,124,182,125,62,135,249,136,32,143,1,147,28,153,57,148,60,0,42,0,199,143,78,144,60,0,39,0,208,253,72,0,39,0,60,0,42,0,200,84,234,148,60,0,42,0,228,134,60,0,42,0,100,89,60,0,42,0,141,84,179,84,232,85,60,0,42,0,216,143,105,91,38,152,184,154,132,144,60,0,42,0,119,109,242,128,248,112,112,88,124,145,162,145,60,0,42,0,165,78,142,89,135,154,179,91,38,108,208,85,0,153,237,153,244,153,90,153,60,0,42,0,161,86,60,0,42,0,68,79,120,152,251,84,182,134,99,145,7,152,232,90,61,140,168,97,160,153,91,107,62,159,60,0,42,0,151,144,43,84,175,144,253,81,129,84,163,128,254,81,119,134,5,85,5,87,34,90,91,109,33,93,87,102,146,104,181,109,19,113,0,116,210,91,69,93,233,151,29,117,104,123,44,135,143,111,225,146,125,155,211,151,60,0,42,0,6,78,136,83,85,127,107,109,138,85,10,133,26,150,67,140,43,155,60,0,42,0,73,108,125,92,87,108,236,149,241,101,190,92,190,87,141,96,77,99,134,109,2,115,159,131,88,102,10,113,225,131,236,145,136,149,148,118,69,119,188,80,255,134,148,152,175,153,150,100,34,111,45,135,181,102,175,113,178,146,206,146,190,97,188,100,240,127,146,135,55,152,68,152,251,153,64,139,215,150,26,112,43,134,190,157,60,0,42,0,111,81,51,114,60,0,42,0,47,89,60,0,42,0,192,130,210,143,187,101,109,103,179,87,215,126,233,115,16,123,42,130,162,134,131,152,165,140,85,123,78,125,15,152,103,155,60,0,42,0,134,108,60,0,42,0,32,131,191,132,134,86,133,133,167,133,60,0,42,0,220,107,211,122,157,134,235,107,3,105,229,85,70,115,137,140,81,86,84,115,106,140,55,86,75,115,213,138,43,81,142,86,213,88,224,111,71,124,20,136,121,139,60,0,42,0,125,89,221,144,60,0,42,0,247,83,10,102,38,102,207,121,224,84,79,96,142,96,105,109,23,128,103,102,207,109,144,80,147,118,23,145,200,110,85,128,95,134,164,102,173,102,148,111,156,118,158,118,205,102,161,118,131,133,165,118,172,147,162,152,79,112,101,152,29,156,93,112,60,0,42,0,195,139,117,84,178,98,49,107,157,85,54,138,236,85,26,136,60,0,42,0,190,121,8,84,85,79,190,82,138,84,140,84,192,89,179,108,195,144,198,92,247,102,199,103,226,114,199,118,122,124,7,125,2,150,120,153,236,84,70,101,56,104,201,118,205,118,119,131,93,85,184,109,46,110,210,118,244,121,207,131,2,132,181,134,129,159,210,96,173,124,56,138,140,152,65,105,252,107,149,111,101,138,136,140,5,143,76,146,22,150,132,156,134,113,86,158,167,158,28,152,213,123,238,127,155,135,122,155,9,121,212,149,168,151,85,159,136,137,161,157,172,118,73,148,162,159,60,0,42,0,107,79,142,87,58,141,148,136,201,91,3,113,192,140,195,85,66,113,139,120,135,113,16,137,107,141,100,158,82,122,239,127,209,88,75,118,30,139,250,113,0,114,174,157,180,157,77,151,78,151,22,158,79,151,60,0,42,0,210,158,209,158,63,86,118,111,60,0,42,0,235,98,213,117,142,151,60,0,42,0,119,79,136,95,224,114,106,138,60,0,42,0,104,96,60,0,42,0,168,78,252,84,153,96,165,109,72,85,29,129,60,0,42,0,238,89,70,96,82,96,65,104,198,112,251,128,59,158,42,106,107,106,97,136,52,157,70,157,5,134,69,148,60,0,42,0,60,88,60,0,42,0,119,86,60,0,42,0,255,83,61,84,77,84,116,112,112,143,196,84,7,138,216,112,227,142,200,99,57,110,34,113,97,120,62,140,168,133,55,143,157,86,103,147,95,143,60,0,42,0,220,78,24,95,133,89,162,126,48,84,143,91,111,108,146,115,174,126,243,149,150,91,211,108,156,115,240,130,172,87,2,90,42,109,209,122,5,125,109,131,121,134,100,109,24,125,195,127,62,128,84,120,45,125,57,140,63,158,49,110,228,122,160,124,82,132,83,132,28,146,142,149,139,125,221,127,60,140,66,111,119,146,131,151,95,155,208,146,75,95,123,133,16,151,201,158,31,151,59,157,204,158,60,0,42,0,78,102,202,85,60,0,42,0,167,139,12,138,167,149,148,100,139,111,146,111,190,146,194,149,40,155,192,149,60,0,42,0,65,159,60,0,42,0,175,79,230,119,7,145,137,85,63,94,52,115,84,132,10,118,122,119,204,123,199,124,237,127,186,154,245,127,109,147,49,153,248,155,60,0,42,0,60,84,188,114,60,0,42,0,14,84,200,144,154,83,149,87,140,95,9,109,5,144,25,80,32,88,94,140,142,156,152,156,156,155,95,156,60,0,42,0,78,78,111,78,34,83,77,134,124,84,128,87,253,95,18,102,246,102,216,108,248,130,87,96,192,112,119,143,43,83,63,85,218,96,244,109,86,134,228,142,17,86,227,91,249,110,208,150,96,94,47,98,81,107,180,129,60,139,60,0,42,0,235,86,135,98,39,95,208,114,243,116,225,128,246,88,186,150,247,88,155,101,0,113,150,85,250,88,169,90,48,100,86,110,34,115,87,125,107,132,92,105,115,113,90,116,29,86,27,133,85,158,242,105,182,123,202,124,116,135,90,136,113,155,32,126,156,135,144,145,54,152,243,137,120,147,44,153,96,157,43,112,13,155,23,156,152,157,166,157,60,0,42,0,85,78,123,108,78,134,82,109,255,79,44,85,0,132,37,116,93,134,248,110,63,147,241,155,60,0,42,0,101,78,146,78,22,95,54,98,55,98,56,98,177,81,180,81,144,130,13,94,164,98,141,108,170,108,181,92,25,96,61,98,8,102,145,103,24,96,92,121,15,123,144,124,95,90,72,98,224,116,91,105,192,85,148,125,32,145,253,150,237,90,238,90,98,100,236,110,48,133,244,105,169,113,248,156,4,124,89,147,155,86,113,158,119,139,224,156,196,151,0,152,111,156,12,158,60,0,42,0,177,130,178,130,215,84,214,87,114,90,27,105,116,120,41,86,192,124,174,138,138,132,53,147,36,134,60,0,42,0,78,83,225,89,133,154,239,131,234,145,235,145,231,148,209,110,62,115,51,100,182,100,198,120,80,133,150,135,216,146,65,139,245,147,74,154,232,157,60,0,42,0,22,83,18,82,59,89,121,103,59,117,221,139,11,93,102,104,115,90,107,117,5,91,117,117,223,137,113,138,131,82,102,100,58,106,255,90,236,105,133,111,217,138,227,138,202,158,99,126,25,130,110,139,60,0,42,0,0,96,138,95,238,109,208,105,34,137,29,142,208,97,49,137,247,97,36,112,240,106,50,128,57,134,60,0,42,0,79,87,182,84,202,88,222,88,62,134,60,0,42,0,34,107,191,114,83,107,5,157,77,157,68,145,190,86,253,97,126,115,97,107,153,139,155,140,105,154,60,0,42,0,175,115,199,144,216,92,57,109,223,114,65,131,83,104,8,132,17,132,207,91,89,125,200,150,132,125,166,127,134,140,110,146,62,149,28,87,27,91,240,91,180,111,51,127,27,150,176,116,114,140,112,147,110,149,110,158,235,124,111,126,88,143,54,148,228,149,31,155,219,116,60,0,42,0,19,127,233,125,12,101,60,0,42,0,123,94,66,89,146,128,80,89,166,91,36,85,98,99,99,109,163,109,201,112,163,96,153,104,21,113,45,144,154,85,155,85,72,93,12,97,219,99,25,110,234,117,70,119,101,113,77,116,98,140,54,111,19,118,245,105,169,156,208,100,163,111,231,133,199,155,246,155,0,156,60,0,42,0,223,93,147,128,82,131,65,136,26,103,67,88,76,97,60,0,42,0,135,118,95,80,240,81,141,150,196,158,164,85,45,88,147,90,50,93,168,95,246,96,95,110,95,132,81,144,195,158,123,105,76,113,93,116,180,88,98,111,90,115,61,149,191,113,156,116,193,123,202,123,78,130,87,135,64,118,250,120,84,122,251,138,39,124,229,135,96,147,45,153,199,156,170,141,249,151,4,148,28,154,9,156,81,156,236,157,60,0,42,0,51,96,77,96,190,112,186,91,67,102,68,102,91,89,14,140,76,94,100,138,128,113,40,126,10,139,206,106,100,81,60,0,42,0,48,97,201,110,165,105,194,102,157,118,164,147,169,118,60,0,42,0,112,112,115,112,217,139,180,84,98,96,251,98,37,99,3,109,122,134,134,136,86,102,227,112,242,115,87,140,78,90,136,90,238,99,218,127,137,143,147,150,137,102,78,105,71,113,136,121,124,138,81,94,115,119,24,137,69,86,157,100,85,86,236,127,29,143,190,158,189,95,179,150,8,112,51,134,52,156,60,0,42,0,216,86,222,86,236,86,106,79,251,94,253,94,91,96,4,109,52,131,244,143,224,112,152,134,37,144,208,117,212,134,213,134,22,135,176,155,60,0,42,0,148,96,192,107,193,107,199,107,147,106,236,113,109,139,60,0,42,0,73,83,118,92,119,92,71,108,26,79,179,139,203,108,213,84,77,109,216,126,148,130,95,131,242,139,90,96,117,96,233,112,63,141,87,95,102,102,253,121,153,85,224,96,79,110,117,125,11,127,217,127,19,150,47,83,89,95,90,95,3,103,217,110,111,138,196,140,146,152,225,80,18,86,35,118,39,133,168,138,26,87,237,91,103,97,147,97,179,102,229,105,83,111,89,133,102,86,18,91,187,95,94,106,168,107,174,111,202,111,105,115,164,116,136,133,137,133,241,138,46,152,133,106,244,113,175,116,242,123,241,133,47,153,150,86,186,119,98,122,98,126,234,135,216,106,106,126,253,127,83,139,54,81,248,147,224,149,72,91,44,148,103,151,127,139,106,152,60,0,42,0,243,97,60,0,42,0,15,102,44,102,100,131,90,90,219,96,189,109,13,150,212,104,153,107,119,132,103,119,111,119,189,149,60,0,42,0,246,95,81,109,161,104,132,153,26,88,62,110,63,116,66,155,27,153,73,126,75,143,50,159,60,0,42,0,232,139,210,79,49,80,2,87,141,99,247,109,29,113,183,110,65,97,232,137,226,138,60,0,42,0,25,84,104,82,32,128,42,149,144,82,132,86,67,147,65,140,9,101,30,154,60,0,42,0,120,79,59,109,238,121,243,121,60,0,42,0,107,112,25,79,169,144,172,148,37,146,55,111,37,89,60,0,42,0,142,108,22,98,39,141,159,84,9,120,240,79,71,99,19,119,183,131,132,149,157,99,120,121,168,140,209,96,228,101,71,105,113,110,141,121,166,132,111,89,233,111,114,115,13,151,180,106,11,139,198,119,107,122,108,149,175,86,22,112,47,128,103,130,255,133,22,136,191,86,228,102,219,129,104,118,208,119,74,148,67,151,60,0,39,0,208,253,74,0,39,0,60,0,42,0,12,78,165,139,251,81,9,82,253,83,101,153,105,78,15,82,62,87,58,103,145,115,140,128,168,130,246,119,33,158,133,103,173,84,235,89,249,143,94,82,39,85,236,89,80,92,239,121,4,123,226,152,250,87,233,126,158,85,70,93,71,93,103,101,30,103,132,114,83,123,9,127,77,141,227,82,216,85,120,117,24,122,225,141,251,141,238,156,223,80,196,107,149,123,136,146,48,86,131,100,227,105,45,106,127,117,61,122,221,125,237,137,235,140,184,142,81,159,188,88,95,106,192,111,163,116,168,121,77,122,64,137,36,147,174,150,202,100,239,120,10,124,62,126,129,127,247,140,63,145,197,106,45,128,95,142,222,150,79,139,242,151,143,157,100,139,22,148,81,153,106,118,139,142,191,151,196,157,78,159,135,127,64,134,71,148,137,137,89,148,79,159,136,127,4,158,138,137,60,0,42,0,188,78,189,78,202,83,11,79,9,84,140,92,118,95,227,95,114,108,167,126,115,83,129,103,128,118,159,78,118,79,216,139,198,144,125,83,221,83,222,89,37,96,228,114,141,118,8,123,26,125,228,99,190,117,10,129,217,137,110,80,89,83,180,94,15,113,59,140,34,98,216,104,117,105,155,107,82,110,198,150,73,88,201,90,49,97,107,105,186,132,140,141,145,143,201,105,36,128,140,129,161,146,175,93,87,111,200,111,32,118,191,123,64,133,122,133,22,142,97,158,118,106,157,106,143,135,47,143,201,133,75,137,80,142,83,147,101,130,77,124,90,143,246,147,53,151,186,157,209,157,164,142,230,150,231,150,60,0,42,0,224,81,241,93,46,78,128,89,177,114,242,108,110,134,36,99,142,99,126,156,126,94,31,98,116,93,130,158,98,155,160,100,224,100,86,122,227,135,85,155,60,0,42,0,80,95,81,95,225,101,161,139,176,139,14,79,170,126,86,87,147,89,204,95,128,98,176,130,69,150,66,82,99,91,220,84,141,87,220,92,226,101,14,109,78,109,0,125,13,131,36,131,96,131,8,138,100,82,18,125,231,126,202,137,24,138,72,80,194,91,196,91,155,95,184,96,227,101,158,104,8,110,109,121,72,88,206,96,238,129,106,132,7,133,126,81,245,117,153,125,223,132,218,136,155,150,62,155,168,102,3,111,8,111,157,121,41,122,74,122,139,138,253,141,1,151,154,156,169,102,55,122,197,138,171,156,128,81,145,82,193,102,68,122,138,133,251,154,140,86,149,106,223,111,75,126,125,127,186,133,172,137,181,106,75,157,76,159,237,94,251,97,96,118,103,122,14,134,165,154,218,155,49,112,124,126,46,134,64,156,59,134,61,151,54,156,63,156,109,156,101,154,60,0,42,0,160,82,107,78,57,89,61,79,62,89,184,98,115,79,193,98,199,108,4,131,230,143,183,103,224,107,67,109,200,115,201,87,182,91,121,109,194,117,156,104,51,123,30,128,136,136,162,80,51,115,109,132,207,141,140,114,117,129,107,146,9,86,127,146,83,149,216,124,109,140,145,140,181,147,154,158,60,0,42,0,63,87,230,95,116,98,207,144,90,131,223,144,10,85,93,96,162,131,27,98,215,148,30,98,241,134,204,136,138,152,250,134,242,141,4,153,207,146,44,152,48,152,54,157,74,157,60,0,42,0,50,117,172,92,190,115,219,128,154,101,62,141,190,148,71,80,125,90,166,95,157,101,53,105,200,140,64,146,142,105,218,105,21,118,159,106,60,0,42,0,247,78,126,154,182,103,193,90,79,94,162,105,249,80,60,122,213,153,60,0,42,0,11,98,120,89,22,92,117,94,90,87,124,107,244,149,191,81,20,98,170,115,169,128,112,130,230,89,231,89,124,81,209,118,5,88,228,96,15,115,58,123,197,131,250,131,92,140,84,110,75,114,141,114,4,127,76,132,147,149,27,100,55,105,62,105,78,113,74,116,119,119,138,120,35,127,185,132,99,140,227,118,139,123,43,106,158,113,216,125,81,133,115,133,163,156,253,156,99,158,184,113,239,123,17,126,113,130,172,151,48,153,162,153,137,158,16,112,175,151,210,156,177,107,27,121,184,137,115,157,56,112,39,148,252,106,178,107,188,157,192,151,57,156,207,86,67,134,111,148,201,151,60,0,42,0,221,86,227,98,167,103,237,79,236,103,39,131,57,80,56,99,97,99,21,123,207,81,106,82,152,104,192,104,85,110,188,141,63,88,192,99,195,99,28,105,27,110,81,119,119,120,229,136,67,138,15,149,63,95,149,102,80,116,103,123,128,123,120,125,43,140,69,95,41,98,44,98,177,120,9,81,230,127,191,100,162,106,198,133,71,137,73,137,7,139,71,142,188,119,6,121,33,124,109,126,45,139,11,155,14,156,120,158,61,112,18,136,23,148,151,82,123,158,91,124,126,139,122,137,124,158,60,0,42,0,193,137,246,78,139,137,250,94,111,153,81,82,10,109,110,114,80,131,49,141,244,79,101,80,99,82,43,104,167,109,212,115,48,130,113,82,164,95,16,110,184,136,15,140,252,145,203,91,212,101,87,105,253,107,133,110,113,129,246,129,101,132,245,141,206,140,116,146,46,149,237,80,151,105,56,111,42,133,141,82,142,82,185,88,151,111,173,123,203,124,211,138,228,140,157,141,16,142,58,142,146,82,148,82,166,133,235,138,251,146,117,147,30,153,183,119,245,120,0,121,185,135,115,147,246,100,250,111,93,126,51,112,181,137,233,147,102,130,124,139,94,143,49,148,81,148,82,148,108,148,115,148,60,0,42,0,122,106,60,0,42,0,95,108,220,89,6,92,51,131,70,109,85,117,71,140,7,92,65,132,122,117,106,100,222,127,245,80,63,111,128,135,195,88,48,127,145,133,127,106,173,107,191,135,201,156,133,117,19,121,134,117,110,126,193,151,66,156,60,0,42,0,178,139,86,89,104,104,139,80,139,132,104,89,108,89,35,133,243,105,78,115,41,128,153,129,27,139,92,152,60,0,42,0,30,83,32,83,5,89,28,95,77,150,26,109,219,126,54,95,182,136,115,125,113,145,229,82,240,110,121,93,126,100,74,95,159,114,225,124,164,145,232,124,172,145,228,106,61,139,60,0,42,0,98,103,60,0,42,0,125,130,129,130,164,78,202,144,227,89,7,90,231,92,71,109,45,131,46,131,132,154,246,128,18,105,38,113,223,134,228,141,236,80,4,86,96,134,155,156,12,91,149,93,163,93,141,97,134,111,160,129,73,133,203,113,178,129,1,121,90,122,171,155,65,157,106,158,37,124,237,135,71,143,14,148,85,154,230,157,238,157,60,0,42,0,235,129,210,137,124,79,165,79,84,96,34,99,225,114,222,126,122,153,65,99,72,102,196,112,5,123,142,118,235,119,26,129,240,148,5,100,107,110,94,125,127,82,107,101,108,110,77,113,115,129,203,140,229,80,119,100,158,102,11,142,120,146,3,153,12,81,139,82,186,95,159,100,185,100,166,150,188,95,191,97,125,101,127,101,222,113,52,127,210,102,172,116,239,119,166,118,220,135,115,126,81,139,66,91,144,126,42,101,90,112,78,156,60,0,42,0,235,83,76,84,228,92,13,99,6,138,211,115,140,122,127,143,131,143,78,101,89,101,150,122,216,110,3,143,2,86,38,86,160,101,22,111,117,145,77,86,160,93,80,111,109,86,19,91,101,115,224,133,173,141,78,143,174,145,101,139,173,118,194,145,60,0,42,0,100,157,245,106,60,0,42,0,54,150,150,117,134,118,165,99,178,99,206,117,248,121,232,131,142,150,136,85,188,85,223,85,38,88,152,90,197,90,237,99,4,105,93,110,59,129,87,136,111,113,45,122,130,151,209,100,84,135,100,118,47,139,155,157,60,0,42,0,105,83,106,83,81,91,16,92,130,130,166,139,38,82,39,82,171,82,138,92,5,102,60,82,188,82,112,103,140,117,113,136,238,98,1,109,211,126,252,143,34,80,64,104,93,104,173,131,16,138,124,80,85,90,40,93,119,99,182,99,186,136,145,80,171,90,80,125,92,125,137,152,101,93,108,105,118,105,208,110,107,119,192,123,16,135,77,135,112,138,99,146,93,155,42,98,164,105,163,120,237,122,245,132,146,156,84,111,175,127,177,138,21,142,138,151,111,94,187,93,238,100,13,121,123,147,154,155,192,93,237,106,30,136,24,136,61,136,60,0,42,0,208,89,209,107,142,90,227,137,231,137,247,152,158,106,60,0,42,0,47,78,203,78,36,84,149,92,142,94,18,98,165,130,70,92,74,92,160,115,76,117,77,117,165,117,14,120,120,136,235,139,31,80,136,96,167,134,163,95,58,88,80,105,62,116,246,134,177,154,151,114,161,138,47,137,106,155,133,147,60,0,42,0,254,93,202,78,164,101,133,148,83,81,209,145,210,145,37,109,220,119,27,120,85,131,127,136,212,137,208,87,210,115,221,119,31,125,205,96,59,88,59,116,75,123,255,145,156,93,118,158,197,158,95,137,60,0,42,0,197,78,61,92,173,79,122,83,249,93,39,125,7,88,235,131,197,80,170,83,40,140,38,149,228,90,209,94,12,111,225,118,202,125,243,132,145,153,255,105,126,116,24,81,38,147,57,139,73,153,60,0,42,0,18,79,164,82,178,82,151,89,209,143,219,143,131,103,193,82,85,109,105,131,73,102,75,102,120,109,236,112,70,141,43,85,14,116,114,121,50,144,97,113,214,91,34,100,141,110,129,121,25,127,115,151,144,88,104,116,248,80,218,81,79,107,163,107,161,116,208,137,100,86,197,111,9,126,238,140,141,86,215,88,39,91,220,111,206,133,252,113,182,116,178,137,16,141,125,159,60,0,42,0,85,87,89,87,224,93,172,78,254,108,207,126,14,131,176,78,212,121,70,131,74,131,135,109,150,131,91,90,202,96,204,101,205,101,4,115,76,125,193,131,118,102,9,122,72,129,79,132,91,119,179,124,147,125,98,81,190,124,89,128,120,106,184,156,91,157,232,155,129,157,132,157,150,158,49,159,90,154,160,158,60,0,42,0,149,78,60,78,49,150,45,82,83,87,145,91,107,108,108,108,188,128,68,82,125,122,136,152,111,102,6,81,26,152,92,94,172,97,132,116,188,97,187,102,159,116,165,116,56,152,252,135,102,139,60,0,42,0,140,89,192,81,42,95,132,95,243,143,211,79,89,90,68,109,235,128,30,80,200,81,51,95,145,95,201,117,222,122,21,144,103,90,113,104,183,104,232,109,235,122,27,129,223,122,108,101,217,117,231,122,83,151,185,80,86,151,131,88,77,115,169,138,1,142,89,151,90,151,212,102,92,149,92,151,30,112,225,147,246,122,248,122,60,0,42,0,221,113,60,0,42,0,130,81,139,81,112,87,67,98,219,87,69,125,201,153,235,153,15,134,20,134,60,0,42,0,143,81,231,86,194,108,133,112,229,143,176,79,175,112,8,144,123,109,241,112,90,113,152,122,142,152,151,125,210,80,91,113,178,113,131,111,219,113,39,137,60,0,42,0,41,78,252,82,160,126,59,103,94,114,118,122,250,124,32,158,254,124,115,141,4,150,27,132,126,85,194,99,234,99,235,99,233,156,78,100,27,106,15,155,46,155,60,0,42,0,93,78,69,78,70,78,99,78,122,89,99,108,102,103,120,112,150,115,15,130,237,151,36,125,82,145,121,149,238,151,60,0,42,0,27,83,231,101,252,129,142,84,154,117,233,103,254,103,3,80,68,99,85,104,19,83,169,83,81,101,49,92,196,94,208,94,5,130,230,80,207,94,102,97,167,107,10,130,107,158,54,83,230,155,148,158,13,107,104,159,242,157,60,0,42,0,229,81,133,98,10,83,69,92,216,98,195,108,217,114,244,130,121,154,54,99,189,117,192,117,23,119,32,120,93,127,113,150,53,90,110,90,12,93,172,99,174,104,186,109,249,131,16,105,26,116,82,129,132,141,212,141,20,149,254,136,206,150,77,130,27,135,202,138,24,142,230,146,210,153,136,155,33,157,160,151,171,151,139,157,60,0,42,0,64,92,230,108,183,79,202,114,84,104,233,107,121,85,69,90,215,109,23,113,202,131,249,144,8,105,241,107,104,110,145,114,2,143,234,80,183,124,252,141,176,149,156,141,185,142,88,106,139,106,246,153,89,157,107,142,116,157,200,93,28,134,170,157,48,159,51,159,103,154,60,0,42,0,128,84,6,95,174,108,62,78,233,119,146,131,25,99,7,105,101,123,137,105,152,105,159,132,131,159,101,128,9,130,61,142,231,100,248,106,95,159,5,107,119,137,60,0,42,0,232,93,229,83,108,78,234,93,181,139,214,89,160,92,7,96,210,98,48,109,227,130,173,144,119,81,16,96,26,96,224,98,27,102,107,107,172,112,236,121,156,148,241,79,40,80,54,80,163,81,103,82,229,112,148,124,31,128,183,134,147,136,231,87,254,87,231,96,110,99,78,138,221,141,139,114,217,141,69,146,211,152,97,134,102,140,47,149,224,91,51,97,173,122,90,128,207,153,135,82,238,82,102,92,30,142,148,155,201,88,197,97,218,100,189,111,182,122,125,144,248,146,104,92,182,152,151,140,52,124,134,142,181,145,252,97,59,148,60,0,42,0,32,114,60,0,42,0,226,89,31,90,80,99,147,109,6,113,249,116,39,129,208,136,67,158,236,82,76,149,184,147,81,157,43,148,50,136,60,0,42,0,119,83,95,84,35,94,205,87,114,99,228,131,41,149,199,129,8,147,60,0,42,0,70,89,181,82,251,93,38,80,204,82,74,104,247,114,226,126,189,150,195,109,55,119,4,145,74,119,109,125,101,127,203,150,96,119,121,125,236,152,123,97,40,133,11,153,103,115,51,126,130,127,60,0,42,0,88,86,133,100,167,100,105,92,123,142,60,0,42,0,133,78,82,91,83,91,179,81,20,82,18,108,192,139,33,95,137,98,122,108,181,130,236,108,166,115,168,115,23,99,207,115,166,117,4,120,221,126,115,134,201,137,20,80,84,99,46,107,151,134,27,93,152,99,141,101,119,104,140,107,144,137,214,137,35,138,125,141,185,141,43,144,149,80,165,83,51,113,85,125,118,125,154,137,137,141,12,146,130,82,234,82,116,116,50,140,195,153,165,93,176,97,166,113,52,114,87,115,26,118,93,133,104,133,2,157,3,157,113,86,160,97,91,106,92,106,53,114,196,129,98,149,232,135,233,135,107,92,17,114,78,139,118,142,119,142,140,157,55,83,188,86,205,119,186,137,13,148,29,148,77,112,29,114,252,137,79,95,4,98,43,101,131,115,226,157,20,107,225,119,163,159,156,140,169,142,129,148,60,0,42,0,155,81,27,84,71,87,110,108,240,89,128,136,205,142,167,148,153,131,144,134,126,104,178,118,204,131,30,146,133,120,184,118,185,118,160,137,129,146,158,146,170,156,135,158,85,147,182,155,143,158,149,158,60,0,42,0,65,84,202,79,225,144,86,150,200,87,251,92,67,99,90,109,130,153,143,154,89,102,12,113,250,115,222,104,111,117,227,122,1,81,152,123,159,123,32,135,239,91,207,97,21,153,199,113,236,111,255,153,84,157,85,157,88,157,8,101,31,101,60,0,39,0,208,253,75,0,39,0,60,0,42,0,148,84,150,84,128,85,73,136,214,100,60,0,42,0,97,83,103,79,176,87,233,128,195,136,114,146,60,0,42,0,0,95,82,89,233,99,14,149,139,149,38,148,60,0,42,0,239,81,64,82,178,87,122,96,255,149,224,148,241,81,116,82,5,86,104,97,136,132,79,88,102,93,55,97,119,105,6,143,159,102,52,149,71,147,167,147,211,149,189,152,60,0,42,0,254,95,140,112,143,112,44,107,215,112,211,82,18,97,62,97,142,147,60,0,42,0,10,82,30,104,216,82,155,159,42,88,65,93,33,98,149,159,60,0,42,0,154,81,78,87,131,79,13,120,176,131,88,80,243,87,194,96,63,107,106,88,65,107,219,105,33,143,187,106,81,152,247,122,87,143,60,0,42,0,11,119,78,136,1,93,136,88,176,119,225,120,222,149,217,119,60,0,42,0,252,95,246,149,10,120,135,124,183,94,221,90,123,93,119,97,46,111,250,105,69,122,224,124,191,142,238,147,71,156,60,0,42,0,91,98,67,100,60,0,42,0,162,78,9,79,31,83,159,144,229,86,151,98,186,114,149,112,170,148,39,146,140,149,60,0,42,0,59,92,219,154,60,0,42,0,2,78,55,101,3,128,247,98,24,109,50,104,228,112,60,0,42,0,208,148,146,114,172,146,147,156,96,151,179,155,204,155,60,0,42,0,60,83,219,130,239,103,65,114,194,115,209,121,226,128,114,143,180,117,34,120,183,141,182,148,89,93,245,104,42,132,251,142,143,152,209,85,21,100,144,114,30,122,160,122,51,146,188,105,150,133,151,152,22,106,140,119,213,120,76,135,18,147,152,145,70,152,193,154,26,121,60,0,42,0,243,88,226,99,188,107,215,127,60,0,42,0,239,83,119,87,162,92,163,112,7,110,81,93,100,101,52,110,177,93,60,0,42,0,75,81,59,82,192,82,202,82,162,91,106,96,20,90,5,92,254,139,1,88,42,108,146,154,2,127,25,97,152,110,30,149,166,120,217,125,80,130,178,138,10,121,13,154,60,0,42,0,75,82,60,0,42,0,142,128,175,128,187,128,166,87,115,96,67,85,100,140,136,159,190,88,57,147,199,97,102,159,60,0,42,0,175,99,201,136,3,137,60,0,42,0,165,82,44,150,45,84,81,87,148,89,51,99,65,120,124,114,92,120,255,148,123,120,124,100,153,138,181,146,94,147,215,147,60,0,42,0,122,122,37,80,234,87,6,93,190,96,179,109,127,120,156,123,187,142,19,147,124,157,60,0,42,0,84,91,80,96,60,0,42,0,167,99,154,151,60,0,42,0,160,98,164,130,13,119,126,82,68,95,115,100,152,119,60,0,42,0,227,83,182,82,60,0,42,0,233,83,99,98,66,101,166,81,188,91,199,91,230,145,155,122,88,123,241,110,50,133,59,133,137,119,6,124,199,157,60,0,42,0,93,98,51,82,251,119,192,144,175,103,237,84,77,104,0,88,43,93,16,87,205,141,159,122,183,154,172,155,60,0,42,0,220,114,230,130,60,0,42,0,147,94,200,79,212,126,171,94,217,121,182,141,5,113,180,136,190,85,93,125,228,136,20,118,119,145,228,94,50,137,179,86,60,0,42,0,56,89,241,89,63,130,135,138,60,0,42,0,137,79,181,84,174,87,153,146,60,0,42,0,14,99,239,128,232,141,187,154,60,0,42,0,175,132,211,100,60,0,42,0,220,93,247,81,38,87,87,87,235,95,169,79,208,144,217,84,239,114,13,129,74,88,119,123,153,156,8,81,164,88,54,145,114,86,229,94,106,115,190,129,221,101,233,124,96,156,60,0,42,0,189,91,219,91,236,91,215,129,203,154,103,148,214,154,60,0,42,0,53,107,62,107,64,107,189,122,190,122,60,0,42,0,33,83,187,82,211,139,188,144,41,83,208,84,71,96,45,109,70,104,68,120,80,123,122,123,134,138,237,142,60,0,42,0,249,95,130,98,194,114,197,114,243,139,214,142,224,142,145,138,95,157,60,0,42,0,60,89,35,81,237,97,60,0,42,0,93,83,157,144,57,87,169,126,181,81,247,101,178,92,193,108,255,119,63,102,54,141,22,119,63,120,54,119,75,125,86,125,186,140,230,142,113,146,219,146,58,145,217,88,203,158,236,97,224,102,12,114,204,119,38,121,108,122,138,126,91,148,60,0,42,0,143,78,50,82,191,92,157,96,212,118,165,122,103,128,186,122,103,134,93,152,218,149,203,93,44,134,60,0,42,0,78,89,70,102,53,144,8,145,151,150,4,152,151,153,185,85,198,99,117,132,153,154,35,98,140,102,79,105,81,105,65,155,125,119,112,135,47,152,198,106,200,133,104,147,119,147,36,154,20,89,55,134,217,93,65,134,170,114,168,142,60,0,42,0,67,113,236,141,13,152,94,142,60,0,42,0,47,92,46,83,51,107,159,85,191,90,38,97,39,97,131,110,67,129,137,132,136,153,134,119,51,86,7,91,146,97,112,111,209,123,105,128,109,128,98,133,59,106,9,139,61,153,35,124,117,128,68,124,0,148,75,153,78,148,60,0,42,0,100,87,6,102,3,88,18,88,107,90,16,93,17,93,92,102,17,115,206,131,200,136,28,113,40,116,224,154,233,136,135,140,31,149,225,154,77,158,73,111,43,135,12,137,232,154,180,113,123,116,140,145,21,147,178,156,9,154,228,155,126,157,164,157,60,0,42,0,131,96,70,99,3,150,248,88,177,104,117,121,113,120,7,122,205,136,252,88,27,122,145,125,171,149,184,149,60,0,42,0,240,86,131,109,79,119,60,0,42,0,33,92,60,0,42,0,105,98,225,98,236,98,4,99,112,104,72,123,63,132,64,132,222,134,20,150,211,94,34,152,250,154,244,100,246,111,202,149,159,151,213,151,214,97,41,151,185,151,32,155,60,0,39,0,208,253,76,0,39,0,60,0,42,0,131,87,201,98,198,103,203,127,200,131,26,100,139,144,60,0,42,0,239,101,76,82,44,120,230,99,214,120,185,86,60,0,42,0,135,85,222,133,60,0,42,0,130,110,74,129,231,99,75,105,12,118,33,135,75,135,162,143,163,143,114,135,200,129,11,101,9,114,216,129,14,155,206,116,116,149,251,155,31,136,94,148,60,0,42,0,102,85,161,151,60,0,42,0,101,103,134,79,235,79,8,80,3,93,149,95,158,109,177,131,242,144,97,90,13,93,178,94,160,95,190,104,246,109,13,115,10,132,40,144,246,104,28,116,89,123,252,148,130,123,56,147,11,154,224,155,134,157,179,158,60,0,42,0,59,85,73,141,80,119,94,119,86,141,218,140,209,111,244,140,60,152,66,152,94,118,99,157,40,112,44,112,65,124,254,133,244,106,105,118,112,137,95,124,60,0,42,0,112,81,154,92,230,98,15,104,106,90,207,96,80,93,123,132,17,150,221,132,48,140,177,83,156,111,52,137,22,81,147,101,238,123,226,97,227,113,247,113,205,133,85,137,103,149,204,149,188,116,100,137,75,139,113,94,20,101,62,112,70,112,67,124,127,126,45,134,149,101,4,107,55,121,116,137,210,86,97,112,99,124,23,107,149,139,157,142,125,137,132,148,202,151,60,0,42,0,200,137,104,109,253,99,6,127,132,105,36,111,113,127,130,145,200,88,210,97,167,137,229,100,62,91,246,97,68,91,189,137,79,91,44,101,96,112,213,86,22,107,38,114,114,152,156,126,60,0,42,0,194,112,229,110,215,113,130,86,235,111,1,114,27,114,211,116,36,114,109,148,247,124,60,0,42,0,119,85,60,0,42,0,198,82,206,144,222,144,52,107,252,114,6,150,207,90,202,94,143,101,121,104,5,116,200,132,148,105,111,116,96,120,2,122,18,149,100,123,70,130,11,135,210,144,130,135,180,142,195,146,175,147,250,153,60,0,42,0,23,103,22,103,250,112,113,88,226,132,3,106,143,138,36,103,60,0,42,0,204,87,0,93,106,109,168,131,151,132,172,149,60,0,42,0,37,85,60,0,42,0,94,99,169,124,136,100,60,0,42,0,179,82,180,82,98,114,130,122,240,84,32,85,2,93,118,109,222,82,232,117,249,148,215,80,46,86,151,93,165,97,37,103,70,118,241,120,41,124,231,135,170,145,18,148,95,152,221,154,60,0,42,0,2,128,1,128,108,79,190,84,229,89,69,96,235,114,86,131,51,104,239,115,83,120,209,148,239,134,160,146,102,111,81,106,177,155,81,143,60,0,42,0,157,109,217,112,224,85,34,128,106,145,234,90,166,97,135,111,188,142,111,106,46,128,194,142,60,0,42,0,139,128,60,0,42,0,194,78,30,150,80,78,251,83,199,95,80,98,59,108,123,130,143,115,208,108,251,122,51,120,125,105,247,151,2,106,21,124,211,156,51,156,60,0,42,0,134,78,121,153,14,153,60,0,42,0,210,82,60,0,42,0,247,150,216,90,39,127,2,133,126,117,194,100,145,106,50,126,12,121,109,149,209,106,195,116,184,127,39,121,141,126,77,127,50,134,51,148,96,143,61,81,232,88,88,148,65,151,70,134,105,156,25,107,157,126,58,159,60,0,42,0,189,83,18,128,212,139,146,87,65,88,107,125,66,129,171,80,132,138,15,106,202,120,76,133,229,120,126,133,33,81,216,88,87,118,223,133,208,106,203,119,40,121,69,112,29,136,61,134,132,139,120,148,19,158,60,0,42,0,234,108,33,109,123,124,153,109,218,109,47,125,121,145,135,146,27,152,42,152,17,147,2,101,163,152,94,152,135,126,49,134,183,121,60,0,42,0,30,86,60,0,42,0,26,93,68,88,241,104,94,105,144,120,28,122,24,143,144,133,60,0,42,0,183,81,60,0,42,0,48,80,14,88,35,97,86,119,28,142,60,0,42,0,233,84,60,0,42,0,21,82,93,103,152,83,83,82,248,114,187,121,114,131,138,154,161,96,168,104,169,104,184,104,129,114,13,116,222,131,177,85,195,104,130,114,66,158,122,82,19,111,93,119,99,123,33,127,67,130,224,132,10,135,224,90,119,91,6,106,131,116,224,118,240,122,141,140,206,124,62,133,53,137,235,146,161,156,206,158,241,123,45,126,121,127,5,147,205,135,39,139,168,145,159,86,220,133,140,144,226,150,207,155,132,101,200,116,235,147,236,155,121,157,231,158,196,86,85,112,58,134,33,136,43,136,75,91,242,94,153,82,87,148,114,122,108,124,154,126,106,154,122,156,29,158,60,0,42,0,60,121,78,103,204,145,218,79,219,92,226,92,12,90,242,92,108,109,38,144,6,116,225,136,2,149,180,124,207,136,74,140,240,146,164,156,99,81,167,111,174,121,201,155,248,135,180,145,226,156,144,144,103,156,26,107,60,0,42,0,155,82,134,83,137,83,116,92,203,122,15,84,56,103,61,78,41,82,177,82,86,84,92,87,165,108,200,130,139,79,166,92,62,98,165,103,180,108,160,117,217,130,182,150,208,79,234,79,3,104,14,104,172,117,5,120,24,131,84,131,114,141,121,143,230,144,14,85,51,90,167,96,23,104,27,104,150,109,1,115,213,115,58,120,62,120,221,121,133,131,137,131,51,85,111,90,183,96,32,123,146,124,157,124,55,129,184,134,206,134,136,80,211,81,164,83,217,104,226,117,224,134,72,138,222,141,243,150,175,83,91,88,68,97,46,100,167,110,154,132,158,132,93,146,232,156,178,83,166,102,116,107,110,116,159,125,39,135,119,135,245,82,198,102,119,107,229,123,183,150,23,157,193,93,170,106,255,111,88,118,255,120,184,150,1,155,46,81,222,102,212,106,4,114,161,114,178,121,7,136,152,147,166,86,226,88,10,101,223,106,29,112,197,116,42,121,246,133,151,158,234,106,15,114,209,116,170,118,237,118,43,121,242,124,35,136,55,81,103,118,48,121,72,145,197,157,156,158,199,86,38,101,251,137,146,142,60,0,42,0,98,143,16,107,136,139,99,143,45,101,229,116,66,151,113,156,115,156,75,151,60,0,42,0,233,79,6,80,60,0,42,0,65,89,222,143,24,94,28,96,159,109,178,131,35,144,191,104,84,128,226,136,183,78,249,85,201,94,105,97,147,110,35,111,238,132,50,83,105,89,228,105,145,113,157,137,134,82,51,83,82,86,254,90,144,97,207,120,104,128,107,128,51,137,162,156,194,111,211,111,58,126,244,127,110,128,149,133,138,135,227,106,235,113,111,128,193,129,48,139,101,142,140,147,112,149,62,124,10,136,17,155,46,148,49,156,98,124,104,124,60,0,42,0,91,101,15,116,56,129,227,136,89,100,137,116,57,133,26,91,130,101,201,129,59,145,93,137,183,127,29,134,30,134,60,0,42,0,195,126,188,112,75,96,112,109,147,107,198,80,28,88,161,90,69,110,48,132,254,148,93,105,73,113,83,116,75,111,244,125,176,111,44,147,174,107,74,147,200,147,50,112,10,156,0,98,158,126,60,0,42,0,111,130,205,79,201,81,129,104,188,109,11,105,140,143,174,124,177,124,154,88,161,125,9,142,17,106,44,143,231,124,60,0,42,0,33,78,36,78,105,81,33,85,98,85,154,99,60,129,242,136,201,125,61,135,73,155,78,155,60,0,42,0,174,78,244,84,162,96,5,140,134,143,168,85,126,102,120,110,207,145,12,143,210,138,27,143,68,147,60,0,42,0,119,113,23,124,60,0,42,0,169,100,125,142,60,0,42,0,189,143,151,117,74,128,218,80,229,91,122,93,128,97,59,111,139,129,57,86,253,90,238,91,154,93,155,93,121,101,96,115,45,127,124,144,184,102,206,113,153,116,171,129,66,118,194,122,105,158,106,92,235,94,29,124,90,126,223,135,66,140,255,140,88,142,14,114,16,148,206,154,212,133,201,152,239,157,60,0,42,0,254,83,140,148,213,145,29,145,252,132,173,97,226,102,125,149,18,114,60,0,42,0,37,92,38,92,147,112,153,101,30,92,214,94,130,100,183,122,173,119,99,149,60,0,42,0,223,107,167,84,24,99,60,0,42,0,23,82,163,82,189,81,189,82,244,89,18,99,12,109,34,131,254,143,247,84,210,87,211,87,53,104,86,109,200,112,238,112,105,99,14,115,31,115,31,129,218,134,194,136,109,113,89,119,87,128,148,141,228,93,178,152,32,81,164,155,55,157,248,100,117,115,163,114,144,142,27,155,35,155,114,156,60,0,42,0,206,98,60,0,42,0,184,83,187,144,151,103,52,78,167,81,73,85,10,93,203,109,125,102,51,116,166,124,243,117,132,120,150,123,188,124,48,145,163,150,153,93,126,111,92,115,116,144,180,101,189,102,208,113,152,116,154,143,22,151,181,119,247,120,232,129,87,126,247,127,144,158,84,143,227,88,54,112,251,147,222,156,78,154,87,156,159,158,60,0,42,0,251,131,131,78,219,81,220,81,155,100,233,94,234,94,205,97,212,97,159,111,129,106,169,106,91,118,93,118,60,0,42,0,29,84,97,96,139,96,65,141,27,113,195,140,239,80,58,133,73,106,16,117,166,129,181,149,132,117,250,133,120,142,143,142,153,142,170,142,101,143,60,0,42,0,7,48,54,79,34,82,117,112,249,86,125,87,12,89,200,89,186,92,126,95,224,108,209,114,211,130,36,102,14,103,195,103,178,115,244,116,204,81,138,118,49,120,226,121,219,122,195,148,117,150,48,158,72,90,149,99,194,104,233,109,12,116,45,123,55,125,235,126,154,127,206,127,70,128,50,130,241,131,201,134,81,136,126,121,69,138,201,141,232,142,228,132,236,136,52,146,157,149,246,150,132,159,190,125,6,133,10,151,214,153,170,111,118,133,2,147,23,151,127,155,174,156,18,157,119,158,239,113,27,151,29,151,98,159,67,145,234,155,65,91,38,134,97,159,250,106,189,145,72,151,30,107,39,114,162,158,151,159,60,0,42,0,62,150,173,92,138,136,134,152,24,152,186,93,60,0,42,0,228,78,230,83,100,84,169,112,60,0,42,0,46,112,60,0,42,0,156,110,152,113,83,142,60,0,42,0,24,82,160,108,68,117,79,109,65,109,89,117,200,101,9,116,113,117,107,120,215,136,185,90,103,93,210,101,165,132,197,132,91,144,143,153,157,154,180,105,96,116,215,152,137,82,108,116,36,118,194,120,79,149,224,153,96,158,74,106,162,116,129,117,96,149,69,118,201,135,245,153,160,86,240,97,15,112,240,133,143,147,166,147,141,158,208,147,192,152,2,148,46,154,197,152,33,156,185,157,81,154,60,0,42,0,243,103,1,104,94,104,203,115,122,104,250,126,13,149,90,146,185,125,174,113,118,127,246,146,110,106,60,91,128,127,60,0,42,0,109,81,66,117,207,127,111,88,199,94,145,111,223,120,104,158,36,151,62,153,225,150,194,152,56,155,218,157,60,0,42,0,214,86,60,0,42,0,153,159,120,92,153,84,247,108,15,131,61,102,10,104,209,115,231,128,44,119,59,120,220,122,60,123,75,128,134,150,112,110,221,110,144,93,222,105,11,111,111,133,67,118,191,122,237,123,141,159,168,86,195,93,196,93,39,112,34,134,231,147,51,151,232,102,39,103,243,106,22,114,207,116,211,119,49,121,50,121,113,137,146,159,96,124,126,128,42,136,44,136,69,140,152,142,104,148,71,151,97,154,23,158,60,0,42,0,71,150,132,87,133,87,226,98,226,123,49,81,180,150,223,88,224,88,15,101,201,122,147,159,60,0,42,0,226,84,135,104,191,95,26,141,60,0,42,0,156,119,60,0,42,0,69,82,4,90,123,80,65,90,189,85,135,110,140,132,194,80,124,105,13,86,212,94,122,97,10,111,30,133,113,144,19,106,161,113,39,128,124,135,44,128,91,130,187,135,49,139,193,142,197,154,187,151,207,154,60,0,42,0,93,93,2,100,127,88,129,93,95,100,10,117,211,123,13,124,60,0,42,0,75,150,90,92,15,111,24,118,66,149,58,118,59,118,228,147,60,0,42,0,92,86,184,100,34,139,60,0,42,0,98,83,144,94,166,130,134,87,166,103,248,108,137,112,12,104,234,128,115,143,46,130,44,158,136,115,59,130,133,152,41,146,136,156,114,155,231,118,167,86,218,88,236,94,14,101,24,112,121,115,183,116,6,134,229,102,232,106,16,114,208,116,218,129,209,119,90,124,145,126,79,127,107,130,38,136,100,143,106,148,113,152,215,154,120,156,21,158,248,158,60,0,42,0,100,83,79,134,179,99,117,158,117,120,129,156,92,134,119,88,247,110,254,132,16,106,155,111,111,155,196,100,121,106,224,120,101,149,149,86,252,100,2,112,211,106,12,108,99,130,192,147,106,130,42,148,101,148,60,0,42,0,37,87,42,117,70,150,147,79,116,87,84,95,85,95,205,92,206,82,66,141,130,143,120,150,61,90,213,109,229,109,12,110,73,120,201,131,47,144,127,158,2,105,45,116,132,121,127,121,199,80,121,82,224,82,221,118,105,119,140,120,17,122,194,140,239,141,118,88,216,94,93,100,9,111,147,123,182,124,13,133,46,98,26,106,157,113,148,129,238,137,162,141,27,142,152,143,129,145,94,111,75,122,87,133,4,147,50,147,52,147,144,116,15,124,176,135,54,124,87,142,70,143,4,154,109,158,44,124,53,124,213,147,229,155,102,157,113,157,147,158,244,147,50,151,60,154,89,124,66,134,250,157,60,0,42,0,7,108,60,0,42,0,116,154,254,149,136,105,173,149,191,153,0,108,162,129,218,106,216,133,220,157,98,154,60,0,42,0,21,84,66,84,163,79,216,144,182,79,20,99,91,99,75,99,197,101,160,104,18,113,99,121,6,122,221,148,97,92,125,125,21,127,98,92,130,129,27,137,193,146,101,92,144,129,56,137,34,81,94,122,55,126,109,122,60,0,42,0,253,91,143,87,139,95,81,134,135,115,255,126,66,93,47,108,78,132,228,110,160,125,209,125,110,97,187,123,159,129,244,82,66,126,254,111,214,106,8,114,98,148,60,0,42,0,8,90,106,91,230,92,27,99,62,104,62,158,20,129,230,110,174,146,73,157,29,87,113,89,76,91,127,91,210,93,35,101,235,102,18,107,83,112,137,127,224,129,30,87,100,112,74,134,126,148,116,118,117,118,30,158,60,0,42,0,117,83,60,0,42,0,113,78,224,145,130,78,60,0,42,0,160,99,101,117,103,117,10,149,36,122,25,87,221,146,226,146,253,100,60,0,42,0,161,98,132,99,60,0,42,0,209,78,38,79,245,86,166,108,182,126,150,79,110,143,43,80,111,150,7,87,104,90,24,93,25,93,192,96,234,109,213,131,198,104,64,129,184,125,38,135,26,142,42,143,238,120,0,147,233,155,60,0,42,0,232,87,150,120,16,122,35,128,60,0,42,0,186,139,163,110,214,138,60,0,42,0,87,127,112,85,49,152,201,86,60,0,42,0,86,127,33,115,54,129,29,132,59,144,36,105,97,129,153,137,35,149,169,123,161,154,89,149,186,135,133,127,182,137,205,147,56,81,188,137,62,154,30,101,128,115,63,134,143,144,15,107,88,154,1,158,110,124,124,148,96,153,60,0,42,0,70,82,46,80,207,132,248,136,182,142,48,118,3,136,221,129,234,102,115,118,60,0,42,0,250,108,200,92,27,109,220,126,102,131,134,154,28,109,222,115,102,120,63,123,97,125,61,132,94,100,47,111,150,114,123,146,210,150,241,153,165,155,60,157,69,157,252,111,153,126,60,0,39,0,208,253,77,0,39,0,60,0,42,0,99,84,60,0,42,0,136,89,86,91,189,90,36,91,55,91,60,0,42,0,187,158,242,117,52,133,152,114,198,135,199,135,60,0,42,0,108,154,155,115,1,120,130,134,172,153,164,110,100,144,106,116,188,120,158,135,183,147,34,156,204,157,60,0,42,0,184,114,105,103,67,121,129,149,130,154,27,85,140,80,65,115,112,119,28,86,170,105,161,121,117,127,225,153,35,121,21,155,60,0,42,0,135,78,23,84,206,85,27,86,242,90,60,0,42,0,203,87,182,133,62,151,60,0,42,0,112,78,108,131,183,140,42,86,82,133,246,157,60,0,42,0,162,82,200,143,69,79,242,88,166,158,86,83,9,129,8,129,165,158,71,136,241,82,227,140,129,144,33,151,34,151,60,0,42,0,218,90,159,152,60,0,42,0,207,89,151,96,238,134,200,80,41,140,114,97,146,153,32,106,146,119,158,119,148,151,82,142,62,139,69,153,215,156,98,152,23,155,24,155,59,156,59,136,60,0,42,0,88,92,128,110,76,119,225,110,255,110,168,135,84,137,206,135,203,147,213,119,60,0,42,0,252,102,36,145,129,88,84,94,98,97,113,100,43,111,76,115,38,127,4,133,19,133,254,105,179,113,183,111,88,149,53,126,221,147,48,134,60,0,42,0,100,114,60,0,42,0,153,144,2,84,217,95,82,108,146,130,40,92,87,103,103,103,19,108,242,118,126,96,0,123,43,131,228,84,15,90,172,94,93,109,245,114,123,114,109,120,239,145,211,148,221,117,214,134,233,146,249,153,60,0,42,0,189,131,190,131,101,120,59,131,254,88,45,111,210,135,14,136,60,0,42,0,43,115,147,140,60,0,42,0,219,107,219,119,134,103,102,114,5,131,6,131,196,101,94,127,94,81,53,110,222,142,85,145,37,88,26,149,230,154,2,108,155,114,101,135,243,154,40,147,202,135,156,157,60,0,42,0,135,81,111,83,24,89,110,78,60,98,193,92,214,108,52,102,198,148,55,123,233,132,60,0,42,0,131,81,131,118,188,130,144,81,2,131,146,81,213,103,10,119,56,141,4,128,164,136,146,137,162,90,61,94,58,132,191,140,26,145,23,97,147,102,89,105,247,107,65,116,128,119,140,140,46,145,80,135,203,97,60,0,42,0,146,86,60,0,42,0,72,78,188,158,249,111,156,86,102,118,60,0,42,0,69,84,70,87,146,108,161,108,154,103,171,115,250,130,2,104,9,119,18,90,4,129,147,131,133,104,251,115,34,129,255,144,51,88,146,90,75,93,68,110,72,110,56,115,66,119,127,132,99,105,115,105,100,113,66,116,150,121,92,129,122,88,209,105,118,145,69,149,91,158,194,146,9,151,72,122,190,95,135,147,192,119,23,101,42,134,165,157,244,158,60,0,42,0,206,107,207,107,194,81,142,127,52,99,124,109,132,90,68,93,60,110,186,90,65,149,13,91,216,113,190,142,130,147,227,158,60,0,42,0,185,89,186,98,172,108,192,101,39,102,89,121,130,136,27,119,154,90,208,91,215,117,202,141,61,155,93,113,120,119,206,151,69,155,195,123,94,135,60,0,42,0,26,105,60,0,42,0,232,149,106,98,167,115,148,148,128,149,133,149,107,99,219,131,138,116,70,147,185,78,75,134,60,0,42,0,247,149,22,113,182,96,170,102,220,113,209,97,227,97,60,0,42,0,236,78,17,80,60,0,42,0,221,100,60,0,42,0,63,117,123,134,161,81,148,131,12,132,149,110,223,118,153,132,13,117,26,81,87,106,162,119,68,133,113,135,51,145,56,145,106,94,222,97,219,111,218,102,38,103,172,106,11,108,199,119,30,121,205,155,114,158,104,130,9,134,210,119,63,151,64,151,91,153,109,152,6,159,15,158,60,0,42,0,208,82,27,115,254,116,48,149,75,130,34,135,220,97,116,115,51,147,245,97,19,136,237,155,60,0,42,0,95,91,166,104,34,89,35,89,37,151,60,0,42,0,185,99,60,0,42,0,170,84,47,119,135,119,60,0,42,0,158,81,37,95,98,121,247,143,174,136,21,115,28,140,190,132,120,138,14,139,154,145,76,95,223,100,220,124,59,126,138,158,139,158,176,121,97,151,48,112,124,115,155,158,126,149,2,98,32,101,213,116,60,134,34,114,190,145,191,145,13,158,196,145,60,0,42,0,115,124,136,130,142,79,181,108,139,127,45,95,35,109,73,101,43,119,142,124,18,129,51,110,94,132,29,133,164,146,212,111,74,91,86,112,60,0,42,0,150,81,248,124,104,108,149,108,147,91,204,108,197,137,218,92,85,121,187,91,216,121,198,91,231,109,147,137,148,137,66,94,39,140,83,88,78,94,155,137,39,86,147,105,245,110,30,111,144,113,36,133,28,135,15,159,170,81,18,106,102,94,215,111,204,133,16,139,193,106,26,124,131,127,60,0,42,0,128,91,135,130,99,103,32,119,66,90,245,126,148,90,201,104,191,125,220,125,241,129,82,135,53,91,176,106,203,106,200,119,202,119,207,119,60,0,42,0,15,78,69,108,77,81,148,108,254,158,201,82,4,119,41,90,109,80,149,81,212,82,17,110,149,85,16,97,78,110,5,127,66,132,123,125,124,129,253,158,236,125,160,111,184,155,60,0,42,0,99,151,98,151,198,124,170,158,171,158,186,158,181,158,60,0,42,0,181,85,60,0,42,0,215,130,140,90,207,99,132,119,75,158,249,90,226,125,147,157,89,156,60,0,42,0,106,103,7,119,210,121,252,109,58,110,8,127,206,123,242,125,208,133,136,144,60,0,42,0,153,89,153,94,133,115,215,122,191,94,223,94,60,0,42,0,92,78,0,84,169,84,246,84,109,91,60,0,42,0,109,112,213,112,149,137,35,100,197,110,17,133,142,133,19,157,109,94,241,97,254,123,215,106,27,136,74,136,86,148,116,156,60,0,42,0,17,108,196,89,183,92,222,95,11,96,251,101,252,101,224,130,201,115,255,118,7,120,96,127,15,93,106,99,24,116,29,116,23,127,73,116,251,117,136,120,49,146,205,125,225,125,9,147,22,157,114,147,60,0,42,0,191,118,186,81,33,82,245,149,191,98,239,108,196,82,67,101,253,149,175,96,79,101,34,123,61,123,253,96,99,110,148,149,13,97,111,101,139,102,169,149,246,80,92,97,171,97,99,111,34,124,216,156,32,136,53,156,60,0,42,0,138,87,60,0,42,0,13,84,14,102,35,158,58,109,0,119,23,131,165,81,25,103,51,119,237,148,13,145,199,90,159,110,61,115,194,132,157,102,160,105,152,146,244,156,145,119,159,135,173,137,60,0,42,0,114,79,243,89,213,81,79,97,105,145,60,0,42,0,125,84,39,105,122,138,60,0,42,0,181,99,60,0,42,0,44,140,44,139,60,0,42,0,120,100,60,0,42,0,133,94,27,92,31,140,235,90,141,153,121,100,33,106,156,129,189,158,105,100,121,155,69,106,232,120,226,124,40,139,41,139,164,86,245,100,67,153,169,86,176,86,17,134,205,154,84,155,152,82,93,153,60,0,42,0,185,98,225,97,60,0,42,0,43,103,176,82,61,87,186,89,19,94,126,107,127,107,129,107,171,108,9,131,76,150,30,94,41,102,186,103,28,85,140,118,28,119,63,119,30,120,227,121,136,131,171,131,61,119,150,124,72,125,80,110,232,134,131,140,252,85,123,88,222,91,32,111,79,115,230,132,138,140,175,102,134,146,122,151,252,90,217,158,60,118,144,119,153,119,70,149,105,155,168,88,216,158,14,112,152,140,230,133,212,135,204,147,5,114,64,154,51,121,134,126,49,128,60,0,42,0,61,96,191,158,60,0,42,0,222,84,60,0,42,0,95,114,148,79,186,82,72,96,32,109,56,119,11,140,209,134,42,127,14,142,126,146,0,139,180,119,70,126,106,147,62,157,176,158,60,0,42,0,208,103,60,0,42,0,234,107,1,108,178,88,60,0,42,0,205,107,169,78,97,114,118,87,198,89,199,98,212,92,115,114,70,117,82,117,223,128,93,117,94,117,42,120,110,117,103,146,7,142,60,0,42,0,40,103,235,78,48,103,238,118,233,81,144,108,199,114,145,112,103,114,220,130,227,107,175,131,158,134,188,148,223,82,238,150,147,88,85,94,89,94,84,97,88,105,102,119,108,146,85,97,174,102,82,130,2,151,70,122,56,126,170,151,60,0,39,0,208,253,78,0,39,0,60,0,42,0,239,85,60,0,42,0,207,98,255,98,16,99,241,85,78,149,191,147,60,0,42,0,120,78,234,84,235,150,60,0,42,0,163,144,54,84,80,84,160,89,179,126,173,128,28,90,114,136,160,148,13,125,166,136,122,99,29,123,125,140,220,142,128,140,9,146,179,132,121,151,118,155,60,0,42,0,73,129,139,113,104,100,123,91,60,0,42,0,67,78,118,89,127,130,22,108,147,117,179,89,252,94,250,143,55,80,226,145,45,91,60,0,42,0,72,89,240,103,15,128,16,128,24,132,63,110,16,159,38,137,154,135,60,147,60,0,42,0,225,86,60,0,42,0,55,117,169,98,143,103,189,79,87,83,223,103,26,90,88,117,174,131,190,150,131,85,86,144,148,102,96,105,245,138,227,150,60,0,42,0,103,141,199,99,115,110,51,132,117,113,105,129,123,135,1,98,60,0,42,0,123,90,60,0,42,0,212,86,60,0,42,0,106,78,162,86,104,139,202,86,48,136,30,155,149,153,28,107,98,153,60,0,42,0,195,100,233,102,46,101,98,112,60,0,42,0,62,81,73,159,60,0,42,0,108,91,60,0,42,0,118,84,19,96,32,99,241,92,71,120,217,148,49,115,242,134,73,138,153,120,147,100,169,93,185,97,239,135,18,89,74,139,3,148,206,93,60,0,42,0,180,87,124,96,169,96,17,129,24,83,51,129,22,88,241,96,208,90,89,116,102,129,175,120,118,115,127,115,60,0,42,0,249,149,101,90,214,109,153,149,39,155,209,129,60,0,42,0,146,117,183,139,144,98,50,119,37,138,60,0,42,0,98,84,60,0,42,0,30,90,129,153,46,129,71,129,18,153,190,155,216,155,60,0,42,0,103,81,133,81,29,108,23,147,60,0,42,0,65,96,233,90,240,90,60,0,42,0,253,128,60,0,42,0,174,89,60,0,42,0,60,92,109,87,41,96,229,108,126,124,42,80,84,92,220,121,243,144,204,148,255,87,87,90,227,109,10,115,173,134,255,104,220,141,93,129,99,128,58,135,236,137,142,140,23,143,19,151,181,156,226,155,145,158,111,159,225,129,60,0,42,0,49,79,96,79,223,98,179,98,212,114,232,130,197,103,206,101,114,102,116,91,46,146,156,153,23,81,30,81,172,150,236,100,191,133,183,106,123,128,60,0,42,0,112,92,60,108,50,79,225,143,53,102,210,128,6,144,63,83,36,119,4,88,196,96,223,90,53,97,186,110,104,119,123,129,177,102,12,126,189,138,169,129,58,91,60,0,42,0,200,98,43,133,60,0,42,0,116,94,202,121,214,84,229,121,135,156,142,155,182,156,71,157,207,158,240,155,60,0,42,0,138,109,123,99,240,109,62,113,200,141,135,143,151,143,154,100,181,100,190,120,38,143,16,124,77,142,6,101,104,142,142,142,60,0,42,0,68,83,255,94,245,95,233,89,56,85,221,87,76,130,60,0,42,0,24,90,34,91,67,91,60,0,42,0,127,145,184,145,192,145,60,0,42,0,31,158,17,131,133,136,229,156,203,90,202,136,38,133,34,106,29,91,45,137,50,91,60,0,42,0,63,92,50,129,60,0,42,0,79,99,209,99,60,0,42,0,246,130,60,0,42,0,7,94,60,87,191,103,103,150,133,109,198,117,66,128,236,129,110,85,215,96,205,131,137,150,166,85,92,101,124,110,235,85,114,93,2,142,91,86,112,100,247,105,23,142,25,142,74,149,77,149,173,93,222,123,242,129,28,147,158,152,81,142,153,86,118,128,179,147,209,149,124,91,125,91,241,106,75,124,22,134,193,86,103,159,213,93,241,124,245,124,37,136,72,148,211,86,152,139,161,142,119,148,115,152,128,148,60,0,42,0,220,86,168,96,60,0,42,0,240,98,60,0,42,0,12,129,60,0,42,0,129,91,155,84,231,98,222,114,231,130,224,103,77,128,205,91,213,91,47,117,215,91,220,91,231,91,28,81,221,81,128,86,35,91,240,100,112,115,180,133,184,106,121,128,79,148,33,155,11,158,60,0,42,0,99,106,195,119,60,0,42,0,94,79,171,79,222,108,63,80,157,111,216,111,60,0,42,0,158,89,60,0,42,0,91,114,92,114,124,108,60,0,42,0,248,95,109,98,195,114,189,126,132,112,174,148,16,125,165,131,21,146,117,151,60,0,42,0,156,81,172,79,221,84,83,109,19,129,254,121,178,143,2,81,179,143,101,86,195,111,125,133,130,106,246,113,175,121,191,129,96,122,91,137,178,145,1,107,60,0,42,0,119,126,60,0,42,0,4,95,10,99,53,99,81,118,72,159,60,0,42,0,186,127,60,0,42,0,66,85,60,0,42,0,200,105,40,128,115,115,189,106,146,147,30,148,115,139,60,0,42,0,116,89,101,91,125,154,47,123,209,153,60,0,42,0,46,79,170,82,41,95,46,120,236,128,60,0,42,0,18,96,137,80,25,100,60,0,42,0,115,89,149,148,121,124,249,145,60,0,42,0,145,108,66,136,103,96,18,103,68,136,60,0,42,0,123,89,60,0,42,0,28,110,150,102,86,113,87,113,42,153,60,0,42,0,159,117,80,134,120,120,39,118,60,0,42,0,193,158,60,0,42,0,205,144,42,99,155,104,169,80,58,81,60,0,42,0,96,106,60,0,42,0,250,139,143,85,191,99,61,144,30,97,38,100,24,149,59,100,146,105,44,122,254,138,67,142,209,124,230,97,231,97,229,124,100,122,239,124,60,0,39,0,208,253,79,0,39,0,60,0,42,0,148,85,98,86,60,0,42,0,230,84,60,0,42,0,180,139,164,108,39,107,180,107,239,116,37,158,125,123,120,88,26,111,80,107,198,107,176,113,12,117,146,129,14,157,217,106,242,133,51,139,194,147,215,157,60,0,42,0,117,159,60,0,42,0,24,84,85,84,118,80,98,129,20,86,38,128,69,133,213,133,60,0,42,0,4,96,106,97,60,0,39,0,208,253,80,0,39,0,60,0,42,0,145,89,133,118,180,141,37,130,106,85,105,132,60,0,42,0,119,103,44,114,177,99,54,116,98,123,86,111,60,0,42,0,10,94,21,94,21,96,153,136,60,0,42,0,205,98,60,0,42,0,243,79,152,95,146,99,5,115,209,104,76,114,43,143,48,124,50,124,164,114,60,0,42,0,249,94,60,0,42,0,204,84,62,109,18,110,67,110,142,132,131,147,60,0,42,0,5,119,104,117,32,132,88,111,0,101,60,0,42,0,63,114,0,109,216,118,216,141,187,90,75,94,176,132,43,100,195,105,228,118,208,120,15,126,251,120,10,112,224,135,99,142,156,147,182,151,60,0,42,0,184,81,36,82,156,108,218,98,238,108,141,112,219,83,73,114,252,118,84,117,65,128,162,136,74,138,191,110,22,152,236,146,101,157,123,137,123,148,60,0,42,0,83,78,151,108,238,128,241,150,194,110,150,129,54,151,60,0,42,0,144,83,158,94,150,83,4,144,193,101,61,130,206,90,172,95,131,135,209,156,142,159,144,159,60,0,42,0,217,85,42,128,171,137,60,0,42,0,144,112,168,128,214,128,60,0,42,0,155,98,203,98,44,129,34,132,60,0,42,0,40,82,134,84,137,87,150,94,205,114,176,112,46,114,141,136,15,83,243,142,132,151,28,137,131,158,133,158,60,0,42,0,209,141,60,0,42,0,69,89,225,108,174,112,177,117,176,118,50,120,173,158,31,121,46,121,60,0,42,0,120,84,12,96,167,128,248,103,218,128,67,136,133,145,60,0,42,0,43,150,106,150,249,87,240,107,84,141,43,149,244,136,245,136,224,140,205,153,60,0,42,0,214,79,60,0,42,0,2,79,155,108,105,79,20,94,245,89,190,101,198,101,127,109,238,115,77,145,220,132,148,143,183,153,143,93,8,151,97,143,60,0,42,0,183,85,116,86,85,107,60,0,42,0,235,116,198,118,83,110,80,132,60,0,42,0,96,84,248,127,60,0,42,0,175,85,60,0,42,0,9,83,38,96,168,98,114,96,48,120,136,104,249,112,81,120,239,142,155,149,48,111,45,86,142,111,222,120,60,0,42,0,131,130,11,103,55,99,252,122,23,80,145,131,11,88,56,95,109,95,218,104,22,105,115,88,124,120,29,122,236,132,79,158,240,105,37,106,162,113,137,97,35,143,227,123,247,123,168,129,11,147,248,151,252,154,218,135,219,135,5,155,132,126,21,134,252,151,108,157,47,154,20,155,93,148,60,0,42,0,103,99,206,109,143,118,123,82,60,0,42,0,189,99,42,105,176,120,43,142,60,0,42,0,21,78,19,79,62,79,121,98,176,126,179,144,111,87,171,98,183,98,139,112,201,114,18,120,130,96,219,121,224,121,21,125,205,148,199,101,205,127,26,128,126,140,8,146,26,146,57,146,95,146,148,146,136,82,199,120,211,153,236,154,124,86,3,147,13,147,126,155,141,155,181,97,20,121,21,121,57,151,60,0,42,0,174,118,48,150,152,130,175,92,135,103,222,107,211,114,182,128,215,107,216,107,178,117,141,134,235,144,116,150,100,85,228,87,37,93,189,134,190,134,124,140,55,113,53,116,62,129,87,129,143,156,116,127,141,129,49,135,110,155,192,88,250,123,183,135,148,140,103,157,134,127,7,103,25,159,47,136,60,0,42,0,57,83,128,94,139,117,243,78,46,87,201,130,52,129,222,117,162,146,192,138,4,157,215,100,125,86,86,118,173,86,60,0,42,0,65,92,224,109,202,99,253,145,178,90,211,90,101,119,159,143,78,111,43,122,251,80,188,111,138,86,19,117,136,117,108,139,226,149,255,157,10,158,60,0,42,0,232,86,79,80,165,90,143,114,199,123,233,127,66,147,163,157,60,0,42,0,136,154,252,128,29,140,65,129,68,105,105,105,198,140,240,141,218,138,191,154,65,142,226,153,8,154,60,0,42,0,145,137,181,140,222,138,60,0,42,0,71,114,151,154,120,155,23,154,25,154,60,0,42,0,125,82,111,95,83,97,37,127,216,152,218,101,242,127,181,135,165,114,195,152,196,152,82,155,60,0,42,0,214,90,226,116,184,133,221,149,60,0,42,0,141,107,159,119,251,123,57,126,165,145,171,118,96,152,60,0,42,0,104,121,196,80,225,82,12,86,177,95,2,111,60,0,42,0,21,108,135,100,134,100,188,102,165,119,60,0,42,0,63,78,228,130,5,148,60,0,42,0,243,90,60,0,42,0,216,89,252,98,23,121,102,122,170,153,94,154,60,0,42,0,173,115,43,141,38,90,167,140,21,116,212,90,145,152,59,152,42,91,178,133,172,86,201,119,25,136,166,152,112,152,60,0,42,0,193,84,128,105,60,0,42,0,93,114,86,108,88,128,60,0,42,0,82,78,57,117,220,79,9,90,132,109,47,120,96,128,117,130,238,122,41,152,60,0,42,0,115,94,196,139,237,81,111,84,106,87,188,92,217,108,249,130,241,144,79,92,33,94,176,103,52,109,182,115,211,128,83,131,246,116,91,92,50,94,220,109,13,132,178,134,64,88,72,94,41,113,1,117,62,127,241,132,226,134,85,138,255,142,134,156,244,81,127,97,179,123,39,143,145,97,131,155,152,106,8,124,11,134,60,0,42,0,139,148,97,87,165,92,202,108,252,108,140,110,85,146,23,152,81,111,250,147,60,0,42,0,70,90,25,86,34,133,49,145,164,118,8,139,199,106,60,0,42,0,245,83,0,92,183,148,56,123,135,152,202,153,60,0,42,0,182,92,235,143,64,101,34,102,38,109,192,115,222,112,52,120,54,120,217,145,149,124,102,145,170,132,68,155,151,145,60,0,42,0,114,104,60,0,42,0,86,82,29,90,60,0,42,0,148,98,153,98,74,99,138,99,210,136,129,123,7,147,60,0,42,0,133,84,227,84,68,90,131,114,60,0,42,0,198,78,52,101,53,101,81,98,135,112,96,150,87,86,178,100,125,111,200,100,198,155,60,0,42,0,36,87,13,83,134,131,47,129,233,131,208,131,97,132,177,132,178,132,213,80,122,145,163,88,91,115,158,116,238,111,168,119,89,122,100,149,12,141,128,126,247,147,60,0,42,0,52,103,3,87,102,109,243,112,110,102,17,87,165,110,156,102,49,140,233,138,56,106,6,108,143,106,104,149,92,139,124,142,32,148,60,0,42,0,250,148,22,130,23,130,234,146,17,112,221,102,60,0,42,0,236,93,237,93,60,0,39,0,208,253,81,0,39,0,60,0,42,0,3,78,201,143,143,108,187,89,210,103,27,80,196,81,22,104,100,104,234,144,56,90,189,96,26,98,127,99,124,104,210,109,11,132,50,101,31,103,242,104,58,107,42,125,227,134,4,137,219,80,1,86,125,97,191,105,6,111,192,125,124,97,237,105,198,138,255,138,11,151,74,142,76,155,218,147,136,157,60,0,42,0,147,78,65,121,80,159,59,87,144,92,147,92,239,95,170,130,157,78,118,81,71,89,137,101,103,107,71,121,72,121,181,128,223,79,167,117,210,122,88,82,138,101,194,101,6,128,16,129,145,134,148,134,154,134,128,152,252,87,14,93,58,94,145,99,199,109,9,115,102,117,1,132,21,132,194,141,221,142,238,145,144,154,145,154,92,93,202,104,203,104,38,116,42,116,122,121,244,134,45,97,129,120,149,120,0,137,28,149,14,152,63,155,215,101,184,124,165,125,166,125,168,125,29,135,30,135,74,159,130,116,165,121,114,133,17,142,167,135,33,147,175,156,224,97,221,111,196,133,177,106,192,106,49,124,205,129,14,154,15,154,205,156,4,134,213,155,120,157,128,157,146,158,79,124,131,126,105,130,16,136,16,155,57,154,45,156,130,115,161,158,60,0,42,0,94,78,148,144,1,79,122,92,130,92,145,130,47,84,71,84,94,103,152,115,192,118,24,85,72,140,119,141,83,85,84,85,77,90,95,85,238,126,117,102,232,104,174,125,186,125,236,138,217,149,60,0,42,0,20,108,171,139,212,95,23,108,84,108,196,143,3,95,125,108,245,119,158,130,110,84,227,108,129,112,245,118,160,84,81,89,12,120,20,104,35,108,22,138,45,85,43,107,33,89,196,104,70,110,71,110,122,132,155,120,86,100,163,102,8,117,182,120,80,86,135,97,104,86,169,97,220,120,231,120,233,120,74,127,255,135,28,159,60,0,42,0,60,127,213,125,47,124,60,0,42,0,144,99,183,136,92,132,60,0,42,0,228,98,60,0,42,0,224,92,210,141,96,145,144,151,60,0,42,0,54,87,190,81,34,94,112,96,61,109,142,107,72,120,24,97,194,154,60,0,42,0,67,83,223,78,33,150,49,87,50,87,119,89,102,98,88,108,138,130,193,143,101,79,141,92,68,103,103,108,233,116,62,131,38,107,207,122,228,129,142,148,234,98,117,114,129,124,91,81,173,96,136,134,56,140,197,148,92,90,111,91,125,114,250,145,148,99,38,140,6,146,195,150,201,80,6,97,126,123,91,146,158,154,80,158,115,97,52,100,129,100,158,123,208,138,119,144,48,137,25,139,69,152,182,106,16,101,17,101,207,106,61,124,110,157,69,91,19,101,43,154,29,155,28,155,100,124,198,151,60,0,42,0,241,78,146,92,244,95,114,98,209,98,77,82,164,148,108,107,84,134,177,148,179,148,126,78,66,80,174,99,245,99,225,142,138,90,16,146,108,151,87,146,152,88,169,105,157,123,173,146,91,111,92,111,172,127,65,133,108,106,34,147,212,158,218,158,29,154,243,111,26,154,74,112,44,156,60,0,42,0,245,81,69,109,183,128,250,109,37,129,219,85,112,93,99,144,207,105,129,129,56,135,52,140,49,127,126,126,116,139,83,148,60,0,42,0,32,107,11,82,161,130,212,79,28,131,41,80,147,96,17,88,148,80,76,93,200,104,32,105,74,97,152,118,168,132,121,88,73,107,170,125,51,133,25,81,231,105,207,123,36,143,223,123,205,88,49,91,52,126,28,156,60,0,42,0,134,147,242,147,86,124,60,0,42,0,91,84,140,127,21,98,23,98,168,101,170,103,177,115,151,127,16,115,196,141,244,85,12,105,172,110,71,115,84,129,198,85,35,135,22,149,136,93,39,98,205,105,68,114,114,116,171,127,53,149,236,123,6,147,18,139,76,142,106,149,97,142,151,147,216,147,60,0,42,0,44,78,55,95,58,95,153,88,241,90,55,133,47,106,18,111,3,133,187,88,25,91,231,94,148,133,163,106,70,114,98,130,32,134,60,0,42,0,162,98,159,127,54,100,165,127,143,88,72,126,65,137,102,126,249,147,60,0,42,0,157,112,52,85,151,113,187,127,60,0,42,0,132,96,87,120,251,144,106,93,247,141,33,145,37,145,129,82,114,101,195,107,13,142,57,149,157,88,29,152,185,154,189,88,103,94,71,106,198,113,50,127,253,120,107,147,108,147,81,126,172,141,122,142,48,148,60,0,42,0,84,78,168,79,77,131,94,131,101,104,90,120,236,131,172,85,209,80,215,105,47,140,58,86,246,90,148,97,78,133,146,151,53,106,75,106,158,114,68,118,167,119,4,121,238,133,171,141,8,148,189,151,102,152,60,0,42,0,231,93,229,145,0,97,220,154,60,0,42,0,207,79,238,139,87,150,237,92,41,94,141,122,187,107,216,127,154,138,218,154,250,80,172,100,189,100,152,151,210,151,197,122,249,127,169,151,89,139,136,142,60,0,42,0,198,130,60,0,42,0,127,118,122,128,60,0,42,0,20,78,60,0,42,0,7,82,146,83,190,89,47,96,196,144,39,83,131,122,143,96,8,99,47,109,236,96,193,109,33,123,28,97,234,134,5,103,167,123,193,125,50,149,203,123,37,142,85,122,210,133,101,147,220,155,17,148,202,122,97,124,60,0,42,0,178,78,181,79,166,148,126,136,142,154,135,90,90,93,61,107,133,125,155,138,148,93,170,137,73,152,248,153,188,155,244,91,60,0,42,0,136,94,169,130,185,130,193,87,225,115,230,121,57,128,230,131,153,134,102,99,243,131,52,116,57,116,189,121,25,146,43,146,194,150,228,82,234,85,192,90,177,110,114,151,108,97,89,86,210,100,179,101,249,156,196,97,142,106,191,111,61,118,147,135,195,97,4,136,53,155,109,157,60,0,42,0,69,87,17,102,9,123,171,104,126,141,209,91,19,149,221,91,226,91,223,146,188,135,60,0,42,0,34,84,35,84,139,98,129,108,26,85,227,131,255,99,7,100,179,100,25,112,253,133,60,0,42,0,81,151,82,151,34,108,123,143,62,80,127,83,236,144,10,87,229,87,200,91,43,108,248,109,5,110,190,80,59,135,21,143,173,156,75,148,60,0,42,0,29,89,32,117,96,82,205,82,197,96,145,107,116,102,254,104,48,108,93,132,146,102,207,100,8,106,206,100,160,106,229,158,60,0,42,0,216,130,119,152,247,139,188,94,3,152,206,94,0,111,203,138,190,106,60,0,42,0,134,94,202,81,133,99,184,107,131,120,144,123,88,151,118,97,236,120,44,81,234,111,68,127,38,139,230,106,60,0,42,0,88,120,60,0,42,0,142,130,60,0,42,0,109,83,155,144,134,91,119,122,121,122,21,131,79,104,59,123,71,123,121,141,248,96,42,113,45,113,60,116,60,130,233,134,236,134,98,113,141,113,88,119,235,141,142,146,143,119,174,122,29,81,140,97,105,106,154,116,209,133,202,116,198,122,237,133,215,116,60,0,42,0,24,78,32,78,177,144,117,87,88,96,203,121,204,121,175,134,157,90,41,132,120,105,242,132,89,158,205,123,231,125,117,135,80,122,165,141,197,156,215,135,166,151,167,151,18,134,12,156,13,156,150,157,36,136,157,159,60,0,42,0,244,83,218,86,79,98,176,114,140,115,83,108,141,128,66,108,108,134,197,108,111,134,197,79,211,137,4,138,5,138,75,145,211,145,18,85,87,109,12,125,141,131,14,144,17,144,218,145,130,104,143,107,236,107,3,116,71,141,251,145,55,93,239,93,30,110,109,110,179,118,218,118,82,144,106,113,127,125,247,134,216,136,240,93,233,137,213,140,134,116,100,135,182,146,148,145,130,155,61,159,196,155,61,156,60,0,42,0,29,100,215,124,60,0,42,0,58,83,242,102,57,79,73,79,36,83,150,92,206,139,57,150,113,154,101,87,72,92,168,92,180,92,190,98,64,109,91,121,224,128,170,136,64,83,54,125,198,134,175,142,65,123,172,124,208,134,88,138,139,141,135,93,136,97,198,153,122,101,179,138,124,149,200,153,185,158,247,154,124,155,168,141,175,158,176,137,192,142,180,158,226,158,187,137,69,154,56,156,75,156,60,0,42,0,98,79,172,82,170,101,16,103,202,128,195,131,80,136,50,158,237,109,32,110,71,125,209,127,75,132,229,142,86,133,150,116,242,120,182,135,29,157,169,116,221,135,191,119,41,159,39,134,194,95,72,112,53,98,11,107,13,108,103,124,222,129,111,118,55,136,98,136,163,142,60,136,122,148,28,158,60,0,42,0,214,83,216,122,54,90,83,138,236,122,122,135,139,159,114,159,60,0,42,0,186,83,187,83,30,82,127,84,31,85,29,128,18,150,209,137,163,141,180,149,174,158,195,149,183,137,1,159,60,0,42,0,242,143,60,0,42,0,77,89,209,92,46,95,110,96,155,96,8,87,15,87,236,104,233,153,9,148,60,0,42,0,104,81,67,103,122,79,224,139,254,89,201,108,36,109,67,131,243,98,119,114,129,143,115,85,226,87,88,90,211,96,202,117,66,120,232,148,118,110,136,114,76,123,95,125,114,132,60,100,126,105,84,116,224,137,110,138,231,141,7,143,55,135,147,146,41,106,33,142,19,126,155,145,206,149,200,156,8,155,33,154,73,91,207,93,1,156,10,107,100,159,56,136,167,152,116,152,60,0,42,0,173,114,172,114,113,108,78,117,199,112,251,126,163,125,71,134,60,0,42,0,157,82,56,82,118,114,231,82,207,151,248,82,60,0,42,0,38,105,60,0,42,0,58,127,155,132,25,150,60,0,42,0,56,118,60,0,42,0,116,83,123,83,198,87,5,93,171,96,55,116,192,150,94,120,110,120,21,150,89,88,9,100,181,118,143,120,74,158,40,97,183,105,167,88,100,97,186,120,187,120,158,141,233,113,203,149,16,121,213,149,114,157,45,121,60,0,42,0,11,89,247,86,238,92,33,144,60,0,42,0,173,91,44,94,217,136,163,127,164,127,224,136,60,0,39,0,208,253,82,0,39,0,60,0,42,0,101,84,176,128,123,136,135,136,166,134,161,136,186,134,54,113,229,154,43,86,239,154,195,113,78,126,60,0,42,0,132,81,137,81,204,89,210,130,211,103,195,115,163,90,133,132,106,106,60,0,42,0,99,122,52,81,247,82,60,112,125,115,24,134,179,121,228,116,112,122,159,142,36,155,60,0,42,0,204,88,183,86,228,88,24,101,25,114,149,126,60,0,42,0,169,139,249,97,114,139,147,139,60,0,42,0,6,90,91,131,118,153,97,104,8,91,88,133,72,106,83,137,82,153,60,0,42,0,112,98,162,150,254,100,60,0,42,0,213,126,118,144,94,126,60,0,42,0,249,96,60,0,42,0,237,112,177,113,60,0,42,0,186,78,187,78,193,78,236,88,200,95,50,103,206,95,194,121,162,130,19,146,92,155,139,146,64,157,60,0,42,0,205,95,79,131,32,104,35,104,117,131,249,121,239,104,20,122,155,125,181,142,60,0,42,0,3,82,4,82,164,139,222,78,237,78,177,139,251,78,123,92,131,92,104,98,171,126,138,89,82,103,99,114,180,126,149,128,107,143,231,151,106,153,217,89,77,121,9,125,125,136,29,125,18,138,212,142,149,104,181,136,77,125,77,129,90,132,109,151,113,151,204,151,234,152,141,138,1,153,60,0,42,0,84,98,60,0,42,0,205,78,184,143,61,121,126,150,60,0,42,0,191,130,60,0,42,0,229,101,114,154,248,86,240,145,36,146,185,153,60,0,42,0,56,131,60,0,42,0,14,98,156,128,4,104,232,114,210,126,25,131,99,131,185,91,245,92,231,107,255,112,182,90,88,93,17,100,104,125,162,127,198,90,100,93,8,100,181,105,182,110,201,132,149,105,174,105,148,113,98,116,65,122,25,126,126,135,35,137,85,149,141,135,142,135,229,153,246,154,43,91,184,93,3,114,148,147,198,93,28,112,231,102,17,136,60,0,42,0,151,81,130,91,72,87,135,80,245,142,4,108,60,0,42,0,67,122,60,0,42,0,185,83,184,121,212,103,136,124,131,90,201,99,24,110,71,132,99,113,72,116,108,129,197,124,90,135,66,142,46,143,82,147,163,151,199,116,37,154,7,156,148,157,60,0,42,0,122,105,214,151,60,0,42,0,137,128,141,91,60,0,42,0,154,144,130,89,158,79,36,94,57,131,71,104,189,136,247,148,42,110,78,123,152,132,163,146,96,133,97,135,18,81,17,157,133,86,44,91,122,91,225,111,183,133,61,157,216,102,248,113,102,137,21,136,165,152,185,145,108,152,108,156,60,0,42,0,93,108,151,128,115,78,177,143,15,145,233,100,60,0,42,0,101,81,86,98,65,103,51,109,213,85,183,90,189,110,27,127,208,132,240,156,37,137,31,126,60,0,42,0,191,93,60,0,42,0,60,99,60,0,42,0,39,88,139,100,214,88,60,0,42,0,46,150,10,103,111,143,14,128,68,80,223,142,134,90,76,116,157,120,219,125,45,143,192,116,29,121,60,0,42,0,81,90,117,104,36,117,204,125,100,133,60,0,42,0,74,133,75,133,100,106,96,126,2,134,3,134,60,0,42,0,109,108,174,130,152,103,139,134,16,149,94,116,57,135,127,119,179,146,237,146,225,83,225,88,60,0,42,0,164,119,60,0,42,0,240,149,166,109,143,149,160,149,100,111,77,106,182,129,60,0,42,0,124,99,60,0,42,0,210,83,229,130,76,80,49,95,0,145,3,110,43,113,73,105,118,93,187,132,172,123,219,123,7,114,25,156,47,156,184,157,60,0,39,0,208,253,83,0,39,0,60,0,42,0,232,78,49,99,50,99,146,100,60,0,42,0,18,109,47,138,120,151,117,111,81,112,160,142,60,0,42,0,69,83,231,108,145,148,210,152,14,129,40,132,18,146,75,100,161,150,186,153,175,152,169,133,210,106,68,134,60,0,42,0,226,107,34,97,204,99,94,88,248,107,110,129,37,86,123,86,195,156,75,152,19,156,60,0,42,0,238,85,91,141,255,80,253,140,58,124,60,0,42,0,9,78,14,95,193,83,245,107,246,107,129,83,255,107,153,114,22,155,60,0,42,0,208,78,30,79,152,80,193,124,194,124,147,153,221,124,227,124,228,124,86,126,210,147,254,147,74,153,60,0,42,0,213,79,52,94,99,101,144,149,60,0,42,0,237,88,117,106,60,0,42,0,82,104,81,104,225,105,60,0,42,0,211,85,33,100,201,120,44,137,161,152,159,147,89,152,60,0,42,0,39,78,170,85,60,0,42,0,187,99,69,97,20,100,158,110,154,154,43,127,166,135,69,126,202,129,203,156,18,154,55,154,32,156,98,156,60,0,42,0,107,98,131,99,194,90,60,0,42,0,253,87,25,118,9,108,194,119,222,154,60,0,42,0,170,149,60,0,42,0,114,130,19,109,28,104,169,109,108,85,11,110,239,148,237,150,110,107,23,116,199,85,95,116,112,107,171,146,129,111,206,97,204,100,199,111,207,111,55,118,81,122,128,111,177,116,18,112,97,122,108,126,111,122,86,143,252,147,69,139,203,152,60,0,42,0,238,104,46,105,238,105,66,137,60,0,42,0,231,80,25,155,60,0,42,0,64,103,153,108,177,126,119,78,57,82,78,82,2,120,38,85,186,107,0,115,134,124,23,125,142,131,108,104,238,107,233,148,231,117,112,120,94,113,49,133,223,136,157,105,39,106,102,155,168,156,169,147,202,155,203,155,60,0,42,0,187,80,13,81,60,0,42,0,61,80,60,85,81,85,101,85,57,94,16,132,166,83,162,85,200,94,67,107,220,127,145,123,227,127,175,149,14,151,60,0,42,0,76,126,60,0,42,0,91,123,126,145,233,123,1,124,27,124,195,145,60,0,42,0,122,126,60,0,42,0,82,102,183,149,236,102,60,0,42,0,113,92,97,95,150,144,56,87,32,82,42,82,73,103,159,130,205,89,215,89,235,130,107,136,144,148,207,87,59,99,245,103,230,114,202,115,34,130,193,117,32,129,213,142,24,123,138,149,218,141,124,82,39,100,7,86,83,94,125,113,120,111,152,111,134,106,63,126,187,129,197,155,180,127,182,127,60,0,42,0,234,149,85,150,182,112,93,150,131,149,113,102,84,113,82,119,140,113,162,137,60,0,42,0,170,139,85,108,157,117,97,82,71,98,21,138,120,141,158,99,228,145,147,80,132,85,43,105,143,146,159,154,208,80,47,145,160,88,161,88,108,111,46,127,23,91,197,100,126,101,63,106,90,107,179,129,240,120,6,139,97,141,85,126,238,135,250,135,113,139,13,141,37,148,77,153,56,154,221,156,87,112,83,156,84,156,60,0,42,0,36,79,135,107,70,85,222,137,183,80,146,88,111,97,243,110,33,111,15,133,164,107,181,113,170,135,244,137,42,139,58,155,60,0,42,0,167,87,68,98,76,102,79,141,222,140,24,141,92,148,60,0,42,0,4,78,10,78,25,92,26,92,102,96,241,126,212,125,157,151,60,0,42,0,243,136,60,0,42,0,48,95,78,99,231,112,166,131,162,104,60,113,13,122,211,101,114,123,68,130,248,134,14,143,113,133,210,113,181,152,254,154,185,155,60,0,42,0,250,82,141,130,213,130,214,103,191,115,246,151,60,0,42,0,17,92,60,0,42,0,173,82,114,83,181,144,205,126,232,84,11,90,145,136,57,125,68,119,164,125,114,111,60,0,42,0,98,89,30,115,74,141,108,117,114,117,11,143,210,140,214,140,168,106,60,0,42,0,12,130,88,79,117,134,199,134,229,134,60,0,42,0,13,130,104,99,60,0,42,0,141,83,190,139,62,121,14,130,153,83,4,92,137,109,187,109,9,110,45,138,102,141,61,95,81,97,66,100,68,100,224,110,116,97,117,100,14,133,89,107,2,136,216,151,7,154,254,97,29,101,68,112,157,158,7,107,60,0,42,0,1,140,60,0,42,0,51,117,126,92,95,98,56,79,171,142,129,79,123,84,189,89,118,124,197,126,89,127,220,139,250,89,219,103,32,108,197,115,124,122,120,124,32,90,247,92,33,117,18,119,55,120,152,131,20,88,82,101,241,109,51,125,95,81,253,104,96,132,209,136,55,138,225,132,117,138,39,117,24,133,202,113,147,133,234,153,185,156,209,102,211,155,98,157,245,155,58,156,60,0,42,0,192,78,26,117,94,121,138,105,48,156,60,0,42,0,165,144,30,95,136,108,161,91,228,119,194,84,231,119,183,91,2,140,9,140,118,90,22,110,32,138,233,91,215,138,35,152,107,155,203,102,171,119,56,91,11,112,190,137,133,139,60,0,42,0,190,128,186,79,26,102,194,128,129,109,24,119,23,110,115,121,36,129,78,129,60,97,78,97,57,105,6,118,103,127,3,135,4,135,242,110,224,146,46,118,60,0,42,0,71,83,31,117,41,150,79,84,240,88,152,101,7,102,161,103,233,108,204,114,252,130,13,104,133,107,114,114,196,115,212,122,94,150,251,102,121,150,25,123,102,110,58,113,37,117,78,146,114,128,95,147,42,159,127,157,60,0,42,0,243,126,4,126,180,97,105,126,93,139,60,0,42,0,1,119,26,119,87,80,59,110,60,0,42,0,35,87,220,128,96,102,112,82,219,118,105,82,221,82,185,140,74,93,30,116,86,128,173,88,186,105,66,133,115,106,248,140,60,0,42,0,56,92,49,89,8,94,94,84,113,134,215,139,191,144,36,158,77,92,189,101,73,109,238,114,43,94,65,125,246,145,100,110,127,110,121,132,174,110,188,110,69,115,146,132,205,132,105,138,71,146,72,146,97,116,242,156,104,135,254,156,55,137,186,156,213,111,102,147,244,155,36,156,179,157,121,137,60,0,42,0,65,83,99,153,243,119,187,143,109,78,246,101,205,122,198,139,158,91,159,91,249,101,224,152,252,89,213,92,254,98,187,112,79,121,128,134,223,152,216,87,66,102,179,131,212,91,92,110,72,144,82,88,117,93,161,110,148,132,80,146,230,91,175,105,85,135,165,156,150,155,43,159,88,139,45,159,35,156,60,0,42,0,242,83,226,119,104,78,85,140,127,79,203,89,118,154,88,81,169,91,78,92,54,123,129,105,66,146,219,153,60,0,42,0,235,88,15,108,59,121,23,78,22,78,213,78,2,94,58,121,60,79,75,83,15,95,213,95,138,78,211,83,58,98,139,78,141,79,191,82,105,84,249,103,198,137,213,139,112,153,159,81,164,91,64,96,67,96,237,98,47,102,48,102,190,103,255,103,2,119,51,141,2,144,59,104,210,112,14,119,33,119,16,130,124,143,29,144,200,148,150,137,73,140,200,145,158,90,60,93,17,95,165,95,211,99,37,140,176,140,202,145,226,82,220,85,18,95,118,113,87,119,110,123,226,137,102,138,254,142,48,146,67,146,254,152,19,130,147,138,105,144,125,146,109,89,180,146,25,153,29,153,108,86,21,91,168,111,223,138,225,138,126,144,171,135,26,139,45,124,107,137,203,145,24,156,60,0,42,0,102,79,25,83,210,123,66,124,60,0,42,0,206,83,54,101,60,0,42,0,75,98,136,91,168,87,150,153,79,130,60,0,42,0,255,91,215,83,233,114,125,81,46,85,136,99,173,109,246,126,233,117,132,129,253,88,0,89,38,118,172,125,99,115,120,115,201,147,60,0,42,0,76,98,60,0,42,0,102,78,179,107,23,92,146,98,190,126,212,83,120,103,162,103,78,150,221,89,15,80,16,80,248,102,138,107,19,125,147,99,179,104,209,109,2,113,253,131,215,142,3,145,142,117,143,117,18,130,69,100,249,107,250,107,128,125,147,143,121,116,254,141,8,142,30,106,44,133,56,143,126,106,155,155,53,81,4,101,45,112,104,157,60,0,42,0,235,121,76,90,112,91,78,141,126,88,159,113,185,116,22,141,60,0,42,0,33,159,94,92,145,102,143,102,205,158,114,127,0,135,32,159,123,111,165,133,175,133,217,102,89,118,247,133,97,137,236,124,105,137,108,92,52,136,106,156,112,156,0,158,60,0,42,0,46,103,47,103,13,98,95,103,173,108,240,143,184,79,176,84,55,96,17,104,214,122,87,131,85,96,82,99,182,94,187,94,73,125,129,132,83,136,131,150,12,92,203,136,112,101,234,122,103,129,101,146,133,88,49,111,68,111,120,101,141,111,78,140,57,106,214,111,48,147,227,147,144,157,106,134,60,0,42,0,55,82,48,85,60,0,42,0,13,128,60,0,42,0,156,138,60,0,42,0,112,136,84,100,60,0,42,0,41,117,60,0,42,0,5,94,37,94,192,135,91,83,60,0,42,0,233,149,244,98,130,149,19,104,60,0,42,0,174,109,104,129,60,0,42,0,204,83,28,151,217,150,64,91,166,154,71,91,59,154,6,107,53,121,222,157,116,158,109,130,102,154,24,158,60,0,42,0,61,114,125,88,97,97,58,111,9,106,20,126,239,147,60,0,42,0,64,112,60,0,42,0,61,129,176,138,60,0,42,0,52,108,58,108,60,0,42,0,40,94,151,109,154,109,113,121,5,122,14,122,222,136,97,119,147,119,60,0,42,0,53,108,150,149,60,0,42,0,46,84,60,0,42,0,122,152,28,130,6,152,99,133,83,106,154,119,172,119,10,155,60,0,42,0,244,139,254,84,170,138,172,138,60,0,42,0,129,89,193,112,20,103,196,148,54,107,85,120,223,119,32,100,180,132,202,105,97,115,169,120,190,123,153,147,13,114,96,148,60,0,42,0,182,83,159,126,29,78,248,83,249,124,193,121,157,84,192,108,236,79,29,96,82,134,86,96,54,158,164,90,175,101,114,125,12,127,243,134,82,105,151,121,112,146,212,152,216,81,174,83,185,105,160,121,115,127,36,135,175,146,54,149,54,86,93,86,221,94,149,100,140,111,195,120,230,125,108,133,214,146,205,113,132,135,214,135,244,135,184,152,38,154,1,148,229,157,54,159,109,124,60,0,42,0,123,107,60,0,42,0,243,93,150,78,219,86,250,91,92,108,64,79,85,81,210,89,228,108,64,121,161,79,96,91,107,103,215,108,114,153,119,154,48,90,246,103,109,114,13,109,152,109,130,128,228,152,37,123,28,128,242,145,226,122,151,137,227,85,134,128,132,140,54,146,59,146,252,152,169,121,223,153,124,133,41,81,3,112,60,0,42,0,234,95,126,103,128,103,169,103,0,90,215,103,47,80,199,81,39,93,186,94,165,104,222,109,216,131,105,93,121,120,25,135,189,97,205,111,167,106,118,147,6,155,60,0,42,0,2,96,154,96,56,128,230,122,177,80,47,97,100,105,119,93,107,97,115,128,247,153,60,0,42,0,188,139,139,91,245,139,1,144,130,152,31,138,12,152,166,138,185,147,56,153,60,0,42,0,193,81,92,99,11,145,214,85,192,94,203,94,28,100,178,110,64,115,144,132,195,132,138,153,73,100,213,152,87,100,60,149,88,130,139,135,153,145,170,147,63,153,188,152,190,152,42,154,60,0,42,0,220,83,223,83,129,80,254,85,141,119,222,100,174,133,251,100,234,133,226,106,84,124,60,0,42,0,253,85,54,118,60,0,42,0,207,130,38,117,101,145,35,122,163,122,76,122,194,155,7,134,19,134,239,106,204,86,60,0,42,0,215,79,60,0,42,0,138,115,25,89,201,139,221,108,131,128,44,109,145,109,223,115,32,125,164,131,31,144,191,91,128,104,144,107,155,124,149,154,131,80,159,124,52,138,33,140,201,85,80,88,81,88,202,90,43,97,175,110,184,110,133,128,97,144,84,158,243,80,44,97,161,105,134,129,12,133,235,137,154,141,108,144,159,97,14,106,21,106,101,111,191,120,201,146,23,153,90,111,36,126,90,106,155,116,12,124,215,133,22,139,92,142,76,154,80,156,235,157,60,0,42,0,251,114,224,117,120,145,60,0,42,0,52,83,60,0,42,0,88,121,7,123,109,123,156,132,151,123,60,0,42,0,10,89,149,130,125,134,32,80,248,84,125,109,125,131,126,131,45,119,112,132,214,110,98,119,143,125,163,113,201,111,150,151,214,150,60,0,42,0,229,126,139,150,143,150,64,144,168,150,205,116,60,0,42,0,33,112,184,129,196,154,211,154,60,0,42,0,151,78,129,92,21,120,95,121,7,140,227,87,87,93,66,144,114,107,115,107,107,113,95,119,142,120,167,150,24,91,187,111,66,122,182,138,229,140,150,106,231,113,178,116,173,121,87,122,95,122,64,126,90,137,131,144,222,101,80,126,120,126,98,139,6,148,41,148,226,151,60,0,42,0,89,91,242,114,106,131,107,91,231,152,14,100,59,115,192,132,241,152,194,105,117,133,158,133,60,0,42,0,95,99,11,123,188,150,77,123,13,100,171,105,176,123,40,124,168,147,189,157,60,0,42,0,6,85,17,90,143,131,158,80,107,104,173,104,67,119,205,85,167,127,209,132,77,100,41,127,150,141,17,124,20,124,46,126,255,154,187,155,60,0,42,0,64,98,122,78,34,85,34,125,16,116,17,116,226,96,1,149,233,85,155,102,145,110,99,116,40,137,133,116,136,147,141,147,150,147,187,147,193,147,60,0,42,0,36,144,185,110,54,135,60,0,42,0,230,85,60,0,39,0,208,253,84,0,39,0,60,0,42,0,214,78,131,91,121,89,96,114,66,121,191,141,202,148,76,88,153,105,187,110,31,137,131,86,231,149,60,0,42,0,121,142,60,0,42,0,84,88,154,110,150,88,109,115,206,156,122,115,40,156,60,0,42,0,211,98,30,99,231,114,252,149,9,93,190,109,40,100,93,144,98,144,187,105,254,107,162,121,187,100,190,111,187,138,15,142,125,106,20,147,204,111,75,142,156,151,153,155,210,149,179,151,186,86,229,149,118,139,162,142,60,0,42,0,164,79,156,84,60,0,42,0,252,86,97,91,206,128,60,0,42,0,240,83,242,101,176,144,110,87,172,98,212,130,177,103,177,112,178,112,237,131,198,141,144,156,136,123,250,129,177,152,216,153,19,81,144,155,47,91,225,100,185,133,175,106,73,124,60,0,42,0,42,89,173,81,51,89,242,95,112,108,1,96,189,128,155,148,240,108,38,130,94,145,38,146,153,110,75,97,228,113,60,0,42,0,143,124,60,0,42,0,77,87,42,141,57,96,209,117,17,130,170,140,74,100,233,110,43,118,249,100,36,101,88,112,113,118,60,0,42,0,91,87,25,102,19,80,8,140,239,144,82,90,212,96,131,137,131,105,240,117,44,149,45,140,176,88,181,88,155,97,109,111,199,138,136,145,199,88,199,102,194,113,31,147,36,153,128,106,249,120,67,152,72,127,235,133,220,88,90,139,154,140,176,145,96,139,78,127,60,0,42,0,208,95,102,87,146,136,189,148,252,131,239,107,109,146,255,85,179,97,187,97,186,102,147,145,174,116,98,137,60,0,42,0,249,83,173,112,238,87,162,99,157,80,96,110,203,80,6,86,179,120,21,130,78,107,231,140,60,0,42,0,100,108,244,148,111,110,33,86,37,128,143,82,176,127,106,135,154,133,87,149,90,142,220,147,11,148,186,151,30,159,60,0,42,0,103,153,99,87,16,85,2,88,143,80,122,85,224,104,12,145,88,88,42,100,143,110,206,132,154,150,182,105,31,111,123,113,109,116,159,121,133,129,24,106,196,120,195,124,155,129,86,106,214,123,214,124,151,135,60,142,219,124,179,135,111,141,163,145,51,153,149,147,57,153,219,149,68,153,182,157,60,0,42,0,22,79,17,94,24,80,82,80,204,109,165,80,186,142,75,149,178,147,59,81,3,98,237,102,35,114,216,119,130,148,60,0,42,0,235,112,101,100,159,141,217,113,60,0,42,0,50,89,34,95,155,109,230,126,143,99,91,125,92,138,205,90,77,94,70,97,47,100,212,110,196,105,107,116,236,151,248,152,26,126,39,126,228,111,31,139,65,143,177,151,220,151,85,153,60,0,42,0,11,83,239,143,183,84,46,109,3,144,67,104,118,150,85,85,188,104,216,109,249,126,4,132,121,121,234,136,175,125,42,135,128,151,132,145,137,151,254,146,45,147,227,153,174,106,64,153,10,154,23,159,60,0,42,0,168,139,14,138,60,0,42,0,87,89,60,0,42,0,209,95,210,95,121,114,163,140,253,148,93,97,241,146,163,135,216,135,60,0,42,0,165,113,175,129,31,159,60,0,42,0,188,117,203,117,80,94,126,129,138,138,27,111,213,110,134,144,34,126,230,153,4,139,47,81,228,133,48,154,80,124,39,156,88,124,69,134,99,154,60,0,42,0,47,151,60,0,42,0,84,82,175,104,17,149,34,142,255,100,200,157,201,157,60,0,42,0,208,130,151,83,81,131,232,126,77,80,124,85,57,93,255,96,208,99,10,122,7,127,100,127,70,144,72,158,193,85,69,116,136,125,174,120,6,137,178,95,61,111,249,125,91,133,109,135,187,146,152,152,167,141,68,142,141,145,21,139,79,142,87,147,192,156,58,157,76,152,183,155,92,157,32,154,247,155,151,157,153,157,181,121,228,157,60,0,42,0,83,79,46,99,176,142,181,154,167,155,198,142,212,154,60,0,42,0,59,98,73,92,67,82,31,109,17,103,28,80,140,96,149,109,22,144,92,92,144,96,213,96,166,99,55,144,214,96,229,99,255,102,116,105,252,136,5,137,82,107,162,107,240,154,153,133,143,86,0,155,148,86,203,116,74,124,175,141,60,0,42,0,57,123,60,0,42,0,41,89,114,81,86,90,251,109,95,145,84,151,199,158,93,151,60,0,42,0,48,117,71,92,186,108,108,96,75,117,81,117,247,118,203,128,96,117,27,117,28,117,254,131,73,110,97,88,107,88,55,100,63,146,23,150,181,120,194,125,204,120,180,122,43,157,179,116,208,149,198,157,207,157,60,0,42,0,221,95,132,107,14,80,58,85,191,96,223,109,106,102,32,116,70,129,205,137,246,117,83,119,20,130,2,153,165,137,223,140,42,147,105,147,102,151,60,0,42,0,173,99,124,119,26,130,60,0,42,0,235,101,123,79,163,94,76,96,17,99,103,121,78,128,60,0,42,0,128,130,97,103,167,92,185,92,226,143,82,121,157,104,36,123,20,132,218,132,232,132,146,141,134,159,36,106,41,135,218,146,151,151,235,154,166,156,200,155,165,147,96,159,55,156,60,0,42,0,168,91,64,102,19,103,1,129,149,122,130,138,162,101,177,122,37,91,60,0,42,0,58,119,156,124,105,125,156,137,243,141,246,124,60,0,42,0,169,135,60,0,42,0,22,94,23,96,52,141,28,132,81,128,188,140,60,0,42,0,193,148,200,134,227,80,149,146,232,146,41,157,33,148,53,148,86,154,60,0,42,0,107,84,251,152,46,153,60,0,42,0,133,83,129,94,64,108,124,130,44,84,58,117,19,128,155,83,195,112,111,104,244,112,142,125,147,151,116,128,124,128,240,94,125,128,243,94,60,0,42,0,146,144,247,94,173,78,173,94,155,131,92,80,119,90,73,93,31,110,115,123,118,132,19,135,95,105,179,105,174,149,6,151,100,128,79,135,234,138,46,159,60,0,42,0,34,87,60,117,185,79,23,90,58,99,143,109,131,104,246,112,253,115,33,129,71,130,139,152,148,138,50,152,60,0,42,0,242,86,181,112,26,144,204,117,245,85,234,132,11,106,60,0,42,0,221,78,12,84,95,79,100,95,194,92,157,94,195,84,221,92,234,114,60,131,77,102,80,104,117,109,212,112,60,120,146,134,46,119,241,121,220,148,229,122,161,124,105,123,119,138,104,141,110,145,86,146,238,80,237,82,117,146,133,146,7,153,150,156,124,111,94,115,200,102,35,103,102,106,3,108,209,113,157,114,167,129,179,119,166,155,60,0,42,0,223,126,69,99,118,104,82,123,113,125,130,125,60,0,42,0,120,96,219,117,85,136,95,97,133,97,60,0,42,0,119,80,120,80,126,90,174,90,192,146,110,147,60,0,42,0,160,78,52,89,149,98,176,154,240,125,45,152,60,0,42,0,181,89,173,148,15,125,104,101,243,152,200,158,35,134,60,0,42,0,15,144,137,125,60,0,42,0,248,81,138,91,191,121,195,121,34,96,129,122,11,85,139,109,120,99,23,88,101,110,220,117,86,132,128,93,245,146,90,157,53,159,60,0,42,0,243,86,254,86,195,81,249,92,169,94,146,95,135,96,72,99,130,109,124,131,20,144,96,92,140,104,223,131,236,99,12,122,21,87,87,88,94,93,15,118,97,123,111,129,164,132,47,146,22,87,23,87,220,94,115,111,255,141,116,145,159,153,78,147,252,153,76,157,159,157,203,157,245,157,60,0,42,0,31,87,33,87,16,84,141,148,247,145,60,0,42,0,78,81,204,143,84,81,181,131,13,88,117,157,60,0,42,0,98,108,60,0,42,0,77,110,47,115,83,113,146,140,60,0,42,0,226,86,227,86,159,98,120,82,24,87,113,97,118,100,25,111,235,105,255,123,178,106,196,147,240,124,210,157,251,157,60,0,42,0,131,117,60,0,42,0,86,95,106,110,22,137,60,0,42,0,168,99,247,132,236,133,60,0,42,0,26,95,147,152,164,150,53,92,57,152,58,152,61,152,75,155,104,122,8,134,106,142,60,0,42,0,192,79,127,129,211,80,70,142,189,154,60,0,42,0,187,79,0,144,39,90,122,113,251,134,21,135,42,137,254,153,60,0,42,0,30,84,81,84,253,101,146,109,77,85,28,103,30,113,75,86,190,102,215,158,60,0,42,0,111,92,73,87,243,95,154,130,104,153,88,140,90,140,216,142,233,152,128,156,104,155,21,151,192,129,203,129,60,0,42,0,61,108,125,117,60,0,42,0,71,78,219,78,172,139,88,98,97,98,81,108,102,153,84,103,130,79,131,84,213,98,214,98,176,108,41,99,93,99,140,131,165,136,23,138,182,109,43,129,49,129,229,152,96,155,93,154,60,0,42,0,110,154,87,79,64,150,65,150,104,87,174,92,177,108,178,108,207,114,241,143,124,154,35,120,36,120,137,136,53,158,61,125,54,88,206,141,97,145,162,120,177,153,214,105,196,153,221,153,222,153,80,106,128,155,21,157,39,159,40,154,13,159,82,154,9,159,60,0,42,0,117,95,165,89,185,94,160,90,45,105,85,105,247,90,98,106,78,157,12,155,22,156,60,0,42,0,221,103,228,107,62,85,26,132,197,141,251,107,168,123,0,134,92,124,60,0,39,0,208,253,87,0,39,0,60,0,42,0,114,92,117,122,184,82,22,99,60,109,50,90,86,117,138,122,167,90,215,85,217,134,50,100,155,110,37,111,170,122,3,159,40,101,60,0,42,0,3,90,60,0,42,0,230,116,100,79,183,144,147,84,25,120,60,0,42,0,156,136,73,128,226,85,125,129,131,129,106,137,200,151,228,151,60,0,42,0,242,116,199,84,60,0,42,0,106,107,142,85,245,122,60,0,42,0,52,93,60,0,42,0,22,89,30,89,97,152,60,0,42,0,47,95,92,82,96,90,53,94,70,88,126,110,63,135,107,111,76,140,78,95,234,88,99,112,60,0,42,0,56,78,19,82,77,108,168,126,132,130,140,91,143,92,143,98,169,115,2,123,8,125,86,99,125,152,247,112,19,116,166,140,17,152,235,127,60,0,42,0,155,91,7,80,13,85,61,99,204,118,230,87,73,90,203,96,90,102,101,102,154,104,254,126,24,129,192,131,22,132,105,102,124,102,0,105,44,116,150,118,121,117,85,119,151,120,169,125,176,125,19,143,32,142,212,146,60,0,42,0,7,78,77,83,80,83,167,89,232,95,100,103,101,99,21,129,44,132,85,129,16,143,171,111,196,146,163,119,141,133,61,147,195,135,3,141,171,147,14,141,60,0,42,0,35,92,42,92,43,92,106,108,41,92,60,0,42,0,161,78,190,78,102,81,139,115,252,78,122,95,163,131,159,134,60,0,42,0,82,127,81,127,128,95,131,95,137,103,84,127,141,95,216,96,245,131,128,102,226,104,231,134,139,143,178,125,68,135,183,138,30,143,7,112,77,155,60,0,42,0,132,89,216,95,203,143,250,101,243,118,27,103,34,103,60,0,42,0,113,83,1,90,211,112,78,80,14,132,54,144,135,150,136,150,180,85,153,90,4,97,203,99,251,99,40,110,104,132,115,132,174,95,51,105,114,105,166,110,104,113,116,138,50,135,5,126,91,135,163,137,182,93,135,133,240,113,194,156,205,93,3,156,4,156,60,0,42,0,215,86,230,151,41,87,244,86,15,94,169,108,221,143,241,149,215,92,222,92,8,109,203,151,69,104,160,109,47,85,55,94,223,96,89,120,244,126,161,85,13,87,129,90,108,93,67,94,75,110,136,110,31,116,85,144,77,111,173,125,246,132,44,145,89,111,127,111,209,120,128,145,240,111,79,147,200,149,160,155,83,118,185,137,169,114,58,151,8,107,60,0,42,0,131,83,31,79,42,79,62,92,172,126,155,130,199,130,212,89,156,112,174,115,39,109,19,90,87,92,100,99,88,109,113,131,255,139,73,80,125,80,35,93,182,104,207,117,74,120,169,154,84,93,171,95,7,97,37,115,102,132,141,132,170,154,171,154,144,102,50,105,82,113,75,116,255,117,114,129,73,130,234,151,222,80,177,100,200,120,148,156,234,91,239,125,63,133,201,138,19,142,209,151,32,152,179,133,48,81,251,111,97,147,170,155,221,88,34,112,217,151,185,152,225,151,150,101,60,0,42,0,107,83,58,78,42,103,77,79,115,84,255,130,186,112,79,117,195,128,222,83,206,142,9,92,203,131,19,140,130,85,166,90,45,110,50,114,44,115,95,113,155,88,168,120,26,133,60,135,112,97,173,113,154,114,237,125,95,135,91,136,192,97,143,116,123,127,94,136,2,139,39,153,135,155,177,135,61,137,53,153,79,155,239,133,74,143,207,147,40,151,218,156,54,134,86,153,134,139,151,142,143,139,155,142,60,0,42,0,64,113,60,0,42,0,55,102,109,88,41,110,133,105,159,107,171,110,101,116,146,143,178,105,31,118,112,133,113,140,60,143,64,143,190,147,66,153,193,156,176,151,27,156,46,156,60,0,42,0,1,83,135,101,99,95,185,126,160,130,134,112,159,115,251,149,11,125,137,134,138,134,243,115,12,150,239,150,18,118,94,128,188,153,199,153,112,155,252,156,13,157,161,135,186,149,191,149,193,135,197,149,36,159,230,149,60,0,42,0,14,82,59,84,223,95,134,98,97,84,179,128,10,125,125,104,23,129,51,122,79,122,105,122,60,0,42,0,238,149,143,89,118,108,172,131,79,85,2,110,254,99,53,100,80,152,186,116,60,0,42,0,90,84,60,0,42,0,193,127,225,85,195,110,95,158,137,135,147,147,178,157,60,0,42,0,220,82,99,89,85,88,97,93,202,132,161,102,136,119,108,128,26,101,60,0,42,0,238,116,121,133,21,117,75,127,70,159,60,0,42,0,29,99,45,80,161,109,180,131,41,85,185,109,38,110,39,115,53,132,157,122,169,122,23,135,190,100,120,135,18,142,60,0,42,0,17,98,80,90,112,99,60,0,42,0,244,78,131,108,159,128,103,83,130,103,229,129,83,80,126,99,180,109,137,90,68,94,225,99,37,110,37,113,106,120,67,105,91,129,161,101,131,119,237,100,227,111,193,116,210,129,216,150,140,159,119,159,60,0,42,0,76,78,44,87,25,95,89,108,90,108,97,108,172,144,92,84,235,93,71,103,75,92,63,109,236,139,168,148,207,112,109,82,143,122,20,145,218,85,136,138,77,107,163,138,188,123,144,135,46,157,162,147,30,156,60,0,42,0,224,101,203,107,51,84,52,84,62,84,73,84,156,130,218,144,20,85,42,90,22,109,111,109,35,131,129,131,167,104,248,115,102,121,33,113,251,148,64,158,145,121,8,135,106,133,145,116,241,135,195,155,80,157,85,139,47,159,225,157,60,0,42,0,68,78,148,78,72,83,245,78,13,79,169,89,145,94,228,95,3,96,255,101,102,107,157,115,174,79,201,79,53,80,66,99,78,85,44,90,126,114,247,115,64,100,148,120,73,158,147,113,102,116,30,130,245,90,225,94,174,97,85,111,27,81,70,106,18,117,97,157,140,142,60,0,42,0,64,81,255,82,161,82,10,98,34,150,6,79,124,92,100,98,94,87,137,92,76,103,180,130,213,143,226,95,105,114,249,119,124,83,68,101,239,139,217,82,158,96,159,96,174,96,133,124,28,144,100,102,16,113,122,90,77,93,230,117,150,150,112,151,155,154,98,88,102,89,104,93,169,110,250,150,254,150,228,91,131,113,164,138,92,158,200,146,185,122,26,151,63,159,39,151,64,159,1,134,22,154,169,157,60,0,42,0,59,147,60,0,39,0,208,253,88,0,39,0,60,0,42,0,21,89,110,81,156,144,56,84,218,95,113,98,80,108,127,137,128,137,12,94,120,98,101,83,20,102,144,103,120,122,184,128,185,128,217,79,134,95,56,96,83,96,215,144,123,153,15,85,90,89,86,92,111,96,149,96,37,108,96,109,122,114,246,114,131,131,61,85,137,96,220,96,94,102,120,104,55,107,197,109,19,110,239,112,1,113,8,113,11,116,82,120,229,131,101,141,248,145,146,80,193,96,112,102,115,102,31,113,44,113,128,114,78,119,0,122,158,124,213,127,214,127,62,130,14,145,128,83,96,93,175,95,170,110,153,118,160,132,33,149,214,80,189,105,85,113,132,113,136,113,153,113,198,125,37,135,104,140,15,153,59,86,79,86,6,91,9,91,178,93,93,111,28,118,206,120,157,129,222,81,153,97,40,106,64,106,185,113,186,113,187,113,184,122,24,126,178,127,133,135,135,135,43,147,232,113,160,114,166,119,2,121,203,135,63,140,64,140,111,140,149,140,230,124,101,126,208,145,223,150,209,155,87,157,249,137,70,139,175,145,237,147,181,150,199,93,230,102,20,114,167,114,69,145,253,137,60,0,42,0,55,159,53,136,2,158,255,137,116,148,60,0,42,0,96,78,203,144,45,94,210,127,173,136,203,137,186,85,179,90,58,105,181,132,198,132,141,93,29,111,161,137,152,141,226,105,130,133,176,150,132,106,53,139,180,147,43,151,219,156,193,152,49,154,61,154,114,137,60,156,104,154,60,0,42,0,178,103,23,109,186,115,153,95,227,148,156,85,72,132,120,132,34,146,104,146,105,146,99,92,7,111,240,132,152,97,191,102,114,106,86,107,167,121,240,138,208,88,48,126,17,139,226,135,93,142,189,116,205,86,90,156,214,119,167,142,60,0,42,0,56,83,76,83,15,98,67,92,251,124,105,153,108,84,229,95,44,96,253,119,198,126,194,79,165,84,68,96,251,118,228,144,47,107,228,126,48,125,243,145,11,150,30,105,3,130,4,130,135,141,153,150,64,97,202,110,138,121,140,125,105,141,159,150,141,88,130,113,148,114,39,122,95,111,153,111,110,133,164,137,49,98,214,158,50,98,246,120,105,134,60,153,41,155,107,126,177,86,223,149,60,151,109,92,75,136,60,0,42,0,114,134,168,117,126,134,58,140,132,80,149,149,70,113,172,152,142,119,102,135,21,156,60,0,42,0,35,83,160,79,206,114,224,79,218,83,225,92,217,103,160,112,237,114,92,150,253,92,218,112,249,114,232,115,107,121,86,120,200,127,58,130,127,150,100,120,80,144,110,101,135,102,85,116,106,123,29,130,172,120,150,143,205,120,0,126,120,133,22,126,110,141,123,155,68,143,92,147,30,151,139,147,224,158,34,154,183,157,60,0,42,0,156,149,60,0,42,0,5,78,11,78,100,78,19,84,55,87,156,117,15,89,186,104,113,119,135,86,215,97,69,127,188,147,19,89,236,147,60,0,42,0,217,78,218,78,115,92,72,81,126,89,164,126,97,79,250,95,25,108,116,103,70,121,200,121,238,130,174,103,124,124,215,115,182,131,128,99,230,148,249,141,112,145,40,149,202,80,242,80,21,86,155,146,156,156,185,102,239,151,16,91,184,97,159,133,65,147,74,126,60,137,241,151,174,155,110,142,166,153,239,94,21,101,142,126,177,157,115,137,154,142,150,126,123,156,60,0,42,0,45,79,242,149,182,89,38,95,36,141,184,84,12,85,38,99,142,109,216,128,52,90,57,90,113,90,67,125,55,130,191,134,84,136,99,85,122,110,235,117,221,134,145,149,146,149,71,158,204,90,88,136,9,117,156,146,250,90,251,90,170,97,143,100,150,111,52,122,184,138,226,140,244,138,49,143,142,145,71,118,78,118,175,119,214,133,37,121,121,158,153,158,18,141,243,157,244,157,252,157,60,0,42,0,188,81,221,114,62,102,105,150,4,93,232,107,205,112,3,115,172,134,122,150,123,141,69,123,31,92,32,92,31,100,146,121,227,141,145,146,178,123,170,150,174,93,107,115,110,115,211,133,76,147,249,113,85,152,112,94,7,101,246,106,26,134,99,139,129,115,197,151,111,152,102,112,60,0,42,0,35,79,191,83,158,84,152,92,203,130,176,115,191,126,253,129,80,150,237,89,170,91,12,119,101,150,239,84,183,87,10,90,40,90,244,92,128,109,167,131,119,150,91,102,254,115,77,120,133,153,77,119,100,125,16,127,161,127,46,115,175,124,168,127,122,129,6,135,233,80,244,80,171,125,162,138,138,100,218,125,231,146,178,97,76,106,35,126,14,147,33,153,207,88,79,140,178,158,23,112,212,129,123,115,238,124,48,151,56,159,60,0,42,0,102,148,60,0,42,0,97,78,151,130,248,118,153,153,247,144,162,83,76,85,9,145,10,145,194,94,88,110,3,127,89,132,21,145,127,105,37,122,140,133,177,123,215,125,183,129,68,137,192,95,167,154,152,158,0,107,214,116,118,149,92,156,114,148,100,154,60,0,42,0,232,116,109,79,230,139,160,94,25,104,101,121,116,125,212,127,115,138,237,141,60,0,42,0,171,78,175,78,205,84,131,134,119,153,81,102,232,152,243,96,132,146,9,153,158,156,207,102,1,136,157,155,215,155,255,151,87,153,95,153,118,156,60,0,42,0,17,84,224,89,247,93,121,152,230,115,97,140,66,88,63,127,43,132,86,136,5,152,207,80,232,82,145,93,151,146,97,106,80,137,174,86,211,135,12,148,76,156,60,0,42,0,113,112,114,112,122,84,173,103,190,79,211,84,181,103,129,154,238,84,175,91,181,91,168,94,136,109,225,126,83,134,13,144,46,158,75,90,159,104,7,113,7,115,39,132,218,117,223,117,93,120,99,120,153,122,219,127,55,132,0,149,241,99,131,125,16,86,74,107,71,111,171,123,3,142,53,86,162,97,98,115,183,146,4,151,71,95,174,129,109,133,72,155,30,157,88,122,24,124,195,133,194,135,207,135,53,157,163,86,31,112,43,124,240,135,199,154,249,106,187,86,194,86,208,154,205,157,40,136,77,154,202,107,72,134,60,0,42,0,40,109,233,144,36,93,198,109,36,138,189,107,74,123,181,138,60,0,42,0,15,92,83,102,129,102,113,123,127,123,155,118,201,102,224,123,15,139,162,118,60,0,42,0,93,91,150,128,185,82,178,84,242,79,72,101,33,104,141,109,17,123,120,85,154,80,105,101,104,138,11,86,40,86,159,138,47,86,87,107,189,113,133,101,134,101,60,0,42,0,119,96,60,0,42,0,155,78,243,99,50,115,84,105,71,107,78,135,13,136,60,0,42,0,166,82,79,83,234,101,170,144,84,83,193,128,165,87,74,89,235,92,74,96,249,98,31,99,62,99,5,129,7,129,11,129,122,136,85,80,156,101,16,140,211,127,203,85,54,97,58,100,78,116,138,125,129,113,142,129,240,82,183,100,213,100,243,125,44,127,98,135,139,151,33,152,231,138,242,113,247,100,181,151,109,137,28,101,136,126,151,139,164,159,60,0,42,0,153,81,169,81,235,91,219,133,60,0,42,0,51,79,122,112,196,108,251,108,68,121,193,126,55,127,120,83,41,109,167,112,168,112,104,83,14,90,81,92,83,92,94,80,112,80,162,95,176,104,242,112,14,113,188,121,50,125,181,78,159,90,95,92,43,110,79,125,108,125,34,140,193,80,110,88,141,105,173,105,9,137,103,86,103,92,172,102,228,125,176,93,232,94,200,97,165,111,108,115,207,124,162,133,164,133,130,144,240,151,238,113,59,137,29,139,17,89,9,112,162,151,35,112,21,114,114,126,249,135,15,136,88,159,91,159,101,159,66,159,158,142,60,0,42,0,195,95,164,144,161,89,251,95,175,130,155,143,21,102,122,103,35,107,152,112,250,118,253,79,222,96,34,138,10,146,12,149,176,101,70,107,222,94,197,146,122,86,28,91,170,133,168,153,107,148,171,153,60,0,42,0,148,103,81,137,20,148,60,0,42,0,8,79,60,0,42,0,32,150,41,79,223,86,94,91,225,79,208,142,42,129,69,136,43,138,46,113,184,153,86,152,11,130,193,145,60,0,42,0,196,95,60,0,42,0,31,102,182,87,141,154,250,96,41,115,75,113,70,116,101,129,245,134,234,137,181,123,194,123,3,139,143,155,208,102,242,137,2,154,168,118,249,155,60,0,42,0,17,82,76,136,162,144,98,95,73,150,128,79,201,144,139,87,16,109,101,131,152,148,88,150,25,90,78,120,207,148,3,146,206,110,118,146,146,146,222,146,60,0,42,0,114,119,146,145,228,100,60,0,42,0,116,81,79,103,211,89,120,94,39,96,71,131,22,80,149,131,94,90,187,96,172,109,200,125,8,130,57,91,214,129,60,0,42,0,216,84,196,136,60,0,42,0,246,81,2,83,68,81,71,81,8,83,187,139,247,95,121,108,197,84,95,96,54,109,247,128,248,128,41,138,126,138,239,140,60,0,42,0,196,150,138,113,60,0,42,0,61,113,60,0,42,0,199,139,56,113,87,138,16,89,123,101,60,0,42,0,17,79,226,79,238,79,187,84,165,94,203,112,204,112,158,127,41,129,25,129,58,158,249,129,133,140,144,153,7,106,157,146,228,154,249,154,128,147,180,155,66,157,197,147,72,153,67,156,205,152,60,0,42,0,236,130,60,0,42,0,61,103,235,110,67,111,135,125,212,124,60,0,42,0,192,121,171,92,192,92,219,115,227,126,150,136,7,116,8,149,197,85,180,110,147,116,14,137,15,137,185,146,145,135,77,126,97,126,229,147,253,147,69,159,60,0,42,0,1,84,12,98,244,101,158,117,241,118,40,107,229,128,123,152,71,102,15,138,124,152,87,134,90,134,30,140,173,90,65,94,223,99,81,110,91,134,199,136,8,152,72,105,162,122,10,152,24,86,159,88,0,151,70,155,83,86,3,91,84,107,3,126,102,133,81,135,221,138,67,139,123,126,86,155,73,154,80,148,26,155,60,0,42,0,198,79,144,95,163,132,60,0,42,0,184,139,116,84,193,89,233,139,148,81,41,104,221,115,102,80,49,138,138,102,97,138,48,122,38,145,200,124,145,145,232,118,60,0,42,0,237,101,53,79,143,94,127,108,167,130,144,79,121,83,52,96,128,108,217,83,100,96,43,102,43,109,191,87,48,107,136,107,197,112,236,115,214,82,77,101,88,101,215,82,252,112,234,126,237,126,87,145,163,85,251,88,127,90,2,103,134,110,110,125,83,128,57,138,73,97,102,113,154,125,196,132,201,140,210,105,53,111,74,111,226,118,129,119,210,125,95,128,138,146,93,115,56,122,214,125,99,155,199,133,178,119,218,133,140,126,110,156,60,0,42,0,255,132,60,0,42,0,5,84,105,143,13,102,163,91,50,95,210,142,139,104,22,140,167,85,71,88,151,90,3,97,11,97,206,99,49,132,50,132,132,102,74,113,68,116,210,132,123,119,7,81,164,121,174,123,7,126,231,127,86,135,215,146,193,97,127,133,224,138,252,138,121,147,253,153,206,119,254,127,252,133,16,134,9,136,94,139,26,156,60,0,42,0,132,115,185,115,195,117,172,96,203,101,1,116,1,135,217,90,41,111,182,102,135,116,136,106,191,116,248,97,60,0,42,0,186,84,9,144,69,102,220,112,120,144,72,152,99,118,108,118,60,0,42,0,48,96,235,108,33,102,171,112,218,126,41,119,168,136,201,148,4,116,52,119,82,136,50,110,98,125,101,105,102,105,73,146,185,120,25,133,95,149,153,151,180,152,60,126,79,126,199,147,130,139,25,141,60,0,42,0,74,82,182,117,134,132,116,151,155,133,165,143,170,143,190,151,60,0,42,0,116,122,136,101,116,78,102,91,164,92,195,92,19,131,246,108,149,136,52,158,5,142,198,88,120,91,168,93,169,111,226,113,247,137,228,150,253,157,60,0,42,0,234,150,164,129,48,106,93,130,76,143,213,156,72,156,60,0,42,0,64,136,55,84,121,87,216,114,86,104,17,140,144,141,20,139,37,112,60,0,42,0,67,87,203,82,217,87,4,113,219,82,100,88,143,113,168,122,18,133,242,82,243,82,171,133,232,153,145,86,206,88,111,115,176,133,219,102,251,113,208,129,196,119,13,134,230,88,11,114,129,126,186,145,60,0,42,0,245,94,251,91,236,101,225,93,111,154,74,103,67,117,226,139,203,92,66,96,53,109,84,109,3,125,64,131,104,131,18,104,106,104,229,107,227,115,113,80,11,92,170,95,215,99,98,138,180,153,41,145,159,156,90,86,111,111,51,101,51,106,197,113,214,113,149,116,243,135,79,156,88,156,101,112,60,0,42,0,66,83,173,139,175,139,40,79,91,108,197,143,154,79,250,93,135,95,229,114,255,143,10,144,137,107,10,138,19,138,25,138,94,89,253,93,190,107,4,122,92,144,59,97,208,140,64,86,96,111,72,133,104,152,66,148,60,0,39,0,208,253,89,0,39,0,60,0,42,0,43,78,39,87,139,83,22,84,152,94,188,98,146,103,173,87,38,158,96,104,45,158,225,87,114,91,212,148,15,105,9,157,15,147,40,157,211,88,118,157,26,148,60,0,42,0,89,114,34,79,145,83,136,92,189,130,147,83,161,115,10,116,12,123,156,134,16,88,21,93,22,93,175,109,26,115,88,116,90,119,89,136,4,111,86,159,60,0,42,0,138,83,140,94,209,84,22,85,94,85,214,117,197,150,2,118,101,133,60,0,42,0,156,82,32,87,103,143,154,78,126,137,182,139,156,78,189,114,211,143,158,78,203,142,5,90,28,99,17,120,249,79,41,108,109,90,151,99,29,138,224,99,44,108,48,115,80,128,20,87,15,122,171,122,126,159,60,0,42,0,91,78,64,84,60,0,42,0,121,96,102,82,223,112,218,115,237,128,99,80,38,93,202,109,249,109,9,113,17,113,248,131,9,150,110,110,76,129,89,113,125,120,34,145,227,90,57,111,150,93,46,106,131,145,185,149,46,91,232,97,246,123,213,97,217,129,235,158,60,0,42,0,160,139,246,94,235,149,37,78,141,89,171,130,0,138,1,138,169,92,22,102,191,108,142,112,212,144,248,89,43,90,255,114,20,120,154,131,46,90,208,118,113,85,2,116,79,120,46,138,134,149,14,150,82,93,83,93,117,123,150,125,18,135,105,88,197,99,76,105,125,138,158,120,5,133,156,152,179,83,100,134,187,149,144,106,79,152,84,152,180,86,219,88,204,93,55,124,233,106,236,158,231,88,77,91,215,93,214,93,21,107,57,121,125,158,163,158,60,0,42,0,53,89,129,98,135,108,117,78,86,81,68,89,232,79,87,81,61,83,7,95,77,136,67,80,163,83,169,99,60,119,18,132,254,144,83,145,67,93,29,97,74,98,220,99,234,104,48,110,55,110,48,116,67,144,146,150,60,105,104,127,250,136,20,111,23,137,45,98,88,135,71,155,94,86,189,142,47,126,191,106,225,158,180,83,23,117,11,156,160,157,228,158,94,159,145,159,60,81,237,158,105,152,52,159,216,93,218,93,238,102,88,155,57,159,116,159,246,158,60,0,42,0,140,83,159,89,195,137,106,114,189,84,242,89,101,95,102,95,26,120,1,85,180,91,79,102,251,112,115,130,142,137,140,154,80,80,20,113,26,140,129,150,173,85,48,88,101,101,48,113,49,113,18,115,111,120,85,132,193,150,191,80,59,105,142,110,223,110,235,156,173,83,149,88,165,102,150,113,125,145,10,91,51,140,13,153,8,157,196,113,213,113,250,138,93,141,51,155,213,102,51,157,64,145,16,154,19,154,165,86,63,91,118,130,11,141,197,142,227,102,19,114,182,145,52,154,195,157,84,112,23,141,254,137,140,139,188,145,92,153,87,154,240,157,119,130,78,112,197,145,96,154,103,112,158,139,83,140,84,140,105,112,60,0,42,0,46,89,137,84,206,89,176,98,241,108,131,107,230,128,15,119,231,121,47,158,96,146,245,150,133,151,38,157,60,0,42,0,108,98,138,127,38,150,51,150,248,101,104,103,128,112,207,152,111,79,183,82,28,108,161,117,150,148,159,87,137,95,28,102,11,109,143,127,202,112,220,115,59,119,125,150,53,93,56,93,218,99,216,134,109,101,152,102,74,105,108,113,147,121,13,118,249,138,48,143,90,147,57,157,186,152,10,148,17,156,55,151,9,158,60,0,42,0,240,78,82,79,113,87,159,92,123,81,205,103,180,112,39,108,210,117,59,125,159,80,103,105,238,142,67,97,49,108,70,135,10,153,218,153,233,97,1,101,98,118,34,121,60,0,42,0,15,96,89,96,55,104,149,127,71,138,216,105,62,111,35,106,1,112,60,0,42,0,170,127,60,0,42,0,122,94,45,89,6,84,150,89,150,103,128,107,69,121,30,138,147,85,125,132,70,105,112,129,1,157,128,144,60,0,42,0,59,114,39,92,45,92,180,128,154,87,218,89,227,92,122,143,4,80,209,112,231,115,145,122,156,80,47,88,250,99,35,140,250,142,194,85,177,90,173,95,46,97,22,100,71,100,231,110,58,115,89,144,101,144,127,100,154,102,163,105,100,116,118,116,154,146,214,152,6,153,162,93,164,93,216,120,175,122,176,122,26,153,71,126,32,139,33,139,144,147,208,156,187,152,40,134,142,144,100,152,41,156,60,0,42,0,248,78,142,91,134,92,173,98,115,103,213,114,237,130,172,84,252,103,17,119,133,122,136,122,0,130,96,80,121,90,62,93,148,110,212,132,154,105,34,157,196,149,21,154,105,159,213,157,60,0,42,0,126,122,111,131,129,137,165,148,142,136,148,122,68,123,111,132,79,138,142,113,158,137,127,151,95,115,94,158,172,133,60,159,220,102,255,113,94,130,229,133,197,119,0,128,133,126,194,157,145,139,112,148,60,0,42,0,59,80,150,99,48,105,141,102,78,86,113,111,46,136,60,0,42,0,55,114,54,128,83,99,246,99,216,148,58,114,254,145,227,146,129,147,232,100,60,0,42,0,95,78,20,84,182,81,220,87,206,145,34,86,28,111,196,88,60,0,42,0,26,78,246,83,243,102,117,152,245,102,186,144,28,89,180,98,177,78,188,103,2,109,1,152,89,99,84,102,189,103,232,112,88,85,178,109,18,140,40,88,151,107,75,129,73,132,19,145,183,88,106,105,109,105,140,153,247,80,196,102,197,102,75,107,193,113,141,116,219,100,163,118,177,119,52,145,101,151,170,93,171,93,178,111,1,139,35,153,136,86,235,100,215,102,184,119,113,147,234,100,23,114,15,121,145,147,65,153,122,157,55,148,104,151,92,154,8,158,60,0,42,0,170,78,60,0,42,0,0,78,74,78,12,95,183,143,100,136,10,79,99,136,59,83,26,84,241,88,157,79,78,121,191,84,34,109,152,96,15,110,23,115,105,117,252,144,241,148,249,88,214,99,57,107,220,134,149,121,219,90,42,111,38,122,165,146,4,91,107,86,1,89,127,116,101,158,68,126,185,106,201,107,171,145,223,158,105,139,214,157,243,158,60,0,42,0,65,78,234,78,28,83,47,87,55,89,198,143,157,81,144,91,130,108,210,139,135,79,156,91,33,96,182,108,203,114,106,136,228,143,116,153,166,84,232,89,211,92,94,96,248,98,194,103,198,115,245,116,59,141,251,143,167,91,248,93,44,95,69,98,24,104,75,104,25,119,240,128,152,136,17,138,164,140,205,117,251,121,27,128,19,132,44,105,160,127,230,134,81,138,82,138,189,140,87,144,144,90,134,102,56,105,131,138,224,141,9,152,144,152,244,152,145,117,0,81,170,113,183,123,122,144,172,93,91,95,92,95,148,135,36,152,37,152,242,91,183,93,3,124,74,152,93,95,94,95,59,139,212,147,78,124,250,137,137,139,3,158,60,0,42,0,89,78,242,93,229,78,135,148,65,79,58,101,227,119,225,130,226,130,161,94,35,130,129,134,212,145,26,80,70,98,22,123,24,144,79,145,111,80,58,93,209,101,5,105,24,146,111,146,230,156,255,136,214,101,38,142,34,143,124,101,152,135,165,106,18,121,100,130,251,135,87,152,89,143,110,159,60,0,42,0,66,78,73,78,191,78,11,95,8,82,198,95,122,130,7,83,138,128,174,139,166,78,7,79,121,92,2,95,133,130,63,79,90,79,174,82,83,84,68,87,121,95,145,98,89,103,52,128,197,130,209,139,145,144,126,79,109,84,121,84,196,92,8,96,63,96,19,102,141,103,37,107,198,108,136,112,199,121,206,126,227,139,127,154,203,79,85,89,31,94,32,94,8,95,187,103,66,109,180,115,171,117,191,127,117,136,118,143,8,85,188,87,146,96,57,99,39,104,58,104,45,107,101,109,115,109,202,118,163,136,10,140,109,150,218,82,246,87,248,87,165,96,156,99,185,107,112,117,91,120,155,127,202,127,204,127,31,132,50,138,51,138,89,140,91,140,56,144,244,145,191,150,70,94,97,101,121,102,237,104,148,107,89,110,50,113,225,134,77,138,199,141,252,142,32,146,174,154,132,78,127,81,15,97,162,110,72,115,236,117,106,119,233,122,34,127,169,127,132,128,212,136,219,136,99,138,233,82,213,90,217,94,143,105,105,111,23,118,137,129,250,132,52,135,126,151,197,153,4,81,142,100,248,105,197,107,60,0,42,0,160,113,164,113,188,113,30,118,188,138,82,149,93,158,98,158,211,158,147,82,27,87,191,88,17,91,31,91,167,93,182,97,204,97,192,102,170,107,186,111,218,113,49,118,150,119,83,122,10,126,87,130,143,133,160,135,57,137,241,91,129,101,206,102,141,106,93,107,225,113,241,113,243,127,252,127,198,129,150,140,249,140,168,155,84,118,217,133,221,133,0,141,176,147,113,149,118,126,121,126,119,140,44,151,227,155,130,157,131,157,141,157,55,112,25,134,111,139,112,139,179,145,183,145,80,153,200,86,63,148,193,157,202,157,255,97,124,137,91,154,231,157,73,134,254,157,155,139,120,159,60,0,42,0,217,86,224,86,37,150,52,150,140,79,148,87,251,89,7,109,53,131,107,131,243,151,131,154,54,104,183,107,36,108,112,150,208,81,245,121,192,136,223,148,123,150,130,150,145,85,25,88,99,90,20,97,67,123,106,125,69,107,181,110,139,121,145,132,45,133,71,97,22,118,166,146,248,125,135,151,242,138,18,151,240,153,126,86,201,149,32,151,254,151,60,0,42,0,152,81,81,78,31,84,190,114,194,130,166,101,206,112,160,87,255,108,1,87,254,92,250,114,226,115,118,131,20,138,26,138,108,90,197,91,31,93,47,93,235,109,33,138,246,148,29,146,130,159,219,110,146,120,30,145,36,89,41,133,128,146,86,86,165,107,140,116,190,138,154,86,173,106,235,135,42,151,87,159,227,157,60,0,42,0,90,78,244,94,57,92,21,95,50,84,110,153,147,134,122,141,144,150,254,109,15,146,242,152,160,150,119,151,238,152,4,103,17,143,228,120,155,141,131,106,62,118,177,150,190,93,229,111,230,111,190,135,31,134,253,106,110,118,148,139,60,0,42,0,112,83,26,131,21,109,228,128,189,87,55,88,90,110,12,115,213,94,115,145,109,97,74,118,150,97,151,97,163,155,218,97,188,106,60,0,42,0,140,124,60,0,42,0,148,94,220,95,241,130,64,80,92,104,241,115,186,131,104,85,116,90,150,90,37,97,54,110,236,126,32,103,80,113,91,116,200,90,164,120,51,149,36,86,132,100,7,117,211,125,40,127,66,127,103,135,207,140,49,106,142,116,67,127,46,137,72,147,25,151,44,157,102,158,48,91,201,97,186,129,250,151,22,117,112,158,145,157,167,157,182,86,70,91,126,91,22,101,76,127,33,134,77,139,251,106,212,116,47,121,123,139,175,157,77,148,147,126,51,136,234,157,200,142,249,157,14,158,26,158,60,0,42,0,193,118,206,143,20,131,200,118,103,131,185,131,182,85,36,132,37,132,38,132,205,134,129,110,139,110,62,132,204,80,75,88,121,105,226,110,229,132,70,111,146,113,71,135,105,116,127,135,52,91,223,113,8,126,162,135,217,111,218,111,244,111,192,133,174,137,13,139,98,141,5,112,163,147,13,101,27,112,32,112,47,112,5,136,255,106,52,112,15,141,80,112,93,124,92,112,111,124,60,0,42,0,232,119,226,144,103,109,172,104,141,152,149,152,150,152,108,100,113,95,65,111,63,118,78,122,52,152,202,93,238,94,27,148,109,118,60,0,42,0,32,102,142,102,108,120,181,90,161,129,95,86,149,151,102,156,60,0,42,0,223,84,55,85,178,85,60,0,42,0,99,79,229,98,200,117,149,144,184,94,173,80,200,85,24,145,205,150,137,88,222,90,117,97,253,110,230,105,69,114,112,86,197,88,193,100,173,111,250,144,91,149,195,129,85,118,221,150,222,147,217,156,241,94,73,112,84,153,69,156,219,157,112,118,60,0,42,0,129,85,216,99,153,152,82,152,43,156,60,0,42,0,56,108,44,117,143,84,58,96,243,108,209,79,199,82,200,82,16,104,199,87,128,96,225,103,140,109,127,96,155,80,229,96,17,97,103,110,103,120,96,138,78,88,113,93,110,95,57,97,249,134,66,97,10,142,156,121,172,156,52,142,210,155,60,0,42,0,40,117,218,130,61,120,159,145,60,0,42,0,24,79,231,95,56,101,102,84,46,96,209,108,125,94,12,144,160,96,128,158,250,110,130,97,42,81,62,145,152,86,0,112,204,106,139,126,48,128,60,0,42,0,34,92,36,92,49,117,139,108,185,114,174,144,185,108,172,128,35,96,191,101,163,117,243,92,95,109,222,121,156,131,184,131,245,144,192,148,100,80,176,134,39,138,48,144,56,110,54,115,74,144,127,156,98,105,55,115,62,146,137,156,15,143,192,153,85,133,99,135,119,155,54,143,139,155,254,106,60,0,42,0,203,83,9,103,35,78,99,83,195,130,73,145,145,127,174,94,47,104,144,127,160,131,132,104,72,128,28,129,213,148,117,110,137,121,15,135,170,146,241,105,86,114,87,114,221,158,238,97,60,0,42,0,200,83,243,83,124,94,81,79,145,79,103,91,214,114,255,124,202,84,255,86,247,89,165,91,223,92,218,103,112,114,80,121,241,139,246,143,0,85,180,134,180,78,129,140,201,145,109,145,152,138,44,159,60,0,42,0,143,132,60,0,42,0,188,143,92,98,161,126,194,143,195,143,123,122,83,150,6,125,118,134,57,85,228,109,211,118,0,118,138,123,60,0,42,0,144,78,142,78,152,144,3,79,89,79,164,89,117,98,69,103,36,107,151,115,153,115,188,101,194,118,254,129,103,136,124,156,123,78,222,79,106,81,186,121,253,122,1,130,48,131,27,90,47,90,49,90,89,104,243,114,0,140,81,145,128,153,20,110,56,132,133,150,233,150,90,155,35,88,44,88,51,93,78,93,91,93,9,97,196,99,112,105,29,110,97,110,109,117,98,120,116,129,46,132,62,144,172,154,26,97,213,101,97,105,134,105,72,107,79,114,92,116,69,130,94,134,206,137,1,111,110,119,172,122,6,130,21,137,118,107,173,127,77,133,83,135,219,138,211,150,24,153,41,91,158,111,166,137,48,142,95,107,181,116,184,135,63,143,93,147,35,139,195,154,189,155,223,101,69,124,31,154,242,155,27,134,5,156,224,157,6,158,60,0,42,0,14,78,136,78,27,79,135,91,127,92,189,127,232,150,193,79,227,79,39,99,185,121,237,139,4,87,255,92,100,121,74,80,44,83,9,87,190,94,84,101,5,145,158,101,45,132,180,80,217,91,64,105,64,116,16,118,7,130,158,138,179,122,217,146,40,152,137,159,115,86,188,93,217,97,144,140,148,101,140,158,12,134,108,159,60,0,42,0,128,128,137,115,109,154,43,87,127,128,139,130,140,130,170,89,236,95,107,153,178,128,193,144,49,102,241,114,215,121,31,131,252,79,234,92,103,95,116,109,33,120,176,148,132,152,144,85,223,87,9,88,134,96,208,96,50,107,226,109,239,109,172,136,21,140,51,144,8,150,133,85,169,85,187,85,128,90,211,91,189,94,161,95,219,104,220,104,235,104,52,113,25,116,222,119,114,120,213,136,71,144,235,152,173,153,70,158,8,97,234,110,92,113,34,122,109,127,72,130,174,132,227,132,137,138,58,146,16,152,215,90,142,93,43,98,211,107,68,115,9,118,206,125,31,135,46,135,13,143,137,146,74,86,126,97,79,111,54,122,249,132,129,133,107,140,121,144,202,146,255,156,166,111,207,113,224,113,119,133,237,138,37,147,190,149,37,157,39,157,42,157,37,81,7,121,166,121,74,155,108,158,82,118,22,121,28,121,101,122,253,123,88,126,167,145,82,157,242,106,71,153,125,139,93,143,45,148,49,151,14,107,72,154,59,155,94,124,74,156,248,157,18,158,29,107,165,159,201,142,48,155,49,155,106,112,60,0,42,0,114,124,41,114,60,0,42,0,154,111,60,0,42,0,230,86,34,158,72,82,164,81,129,96,34,119,51,158,195,91,1,110,6,110,10,110,21,110,204,96,245,109,126,132,233,104,172,132,14,135,247,136,83,158,162,123,246,156,53,135,204,153,27,157,61,91,119,157,65,112,24,159,29,159,60,0,42,0,67,81,134,81,32,141,167,144,88,84,237,86,133,108,108,103,163,87,48,114,159,140,159,83,225,84,6,87,14,123,150,134,129,136,161,83,91,145,14,87,244,99,114,110,40,115,24,127,18,131,40,146,11,159,18,87,19,87,108,88,180,90,196,90,144,110,146,110,63,115,66,115,157,132,158,105,172,105,149,143,227,125,1,126,93,135,111,135,109,155,124,106,177,127,151,133,136,135,28,139,69,143,255,158,177,147,222,106,141,144,53,154,162,157,176,157,181,83,60,0,42,0,220,143,246,118,58,144,96,144,250,146,60,0,42,0,23,89,153,128,180,89,209,130,40,96,98,150,184,87,79,136,134,80,155,90,190,99,87,116,144,121,63,97,235,136,17,137,36,137,110,86,88,152,60,0,42,0,240,102,241,102,166,126,4,125,185,123,241,119,95,95,96,95,60,0,42,0,8,103,9,98,22,82,156,89,132,92,136,98,63,121,179,92,165,115,113,96,133,96,166,96,142,134,143,134,207,142,186,148,5,150,115,99,192,141,195,141,164,124,138,141,5,146,181,124,94,146,177,149,178,149,51,91,62,106,215,123,189,93,160,159,70,124,57,112,37,134,230,158,26,114,180,121,141,142,101,124,17,158,112,124,25,158,60,0,42,0,85,102,10,127,128,132,136,102,50,108,116,113,149,132,51,108,107,89,121,135,95,141,53,152,167,153,7,141,60,0,42,0,145,78,251,82,0,83,29,79,233,86,152,89,132,108,173,126,184,130,0,102,71,117,3,119,208,121,231,144,162,109,28,125,24,128,58,128,22,145,242,150,42,97,179,110,96,123,124,123,183,132,137,113,144,111,83,133,198,146,82,106,212,123,28,126,60,0,42,0,65,81,45,150,61,89,142,98,193,114,104,150,122,131,146,107,151,85,23,146,149,150,158,107,30,137,187,153,210,120,241,140,35,151,107,159,115,159,60,0,42,0,85,91,208,143,159,103,211,144,125,96,6,145,93,145,138,80,242,96,32,97,75,144,77,97,106,129,235,151,245,151,133,113,168,113,247,125,252,125,116,133,21,126,128,133,150,145,158,145,43,153,244,133,215,151,222,151,10,134,251,151,60,0,42,0,163,98,103,126,60,0,39,0,208,253,90,0,39,0,60,0,42,0,0,94,29,83,158,108,202,143,130,84,246,98,37,125,46,125,84,146,115,155,220,129,226,129,60,0,42,0,66,103,175,108,56,120,122,80,146,85,244,151,209,150,252,120,77,137,220,150,203,86,208,86,229,150,60,0,42,0,139,84,60,0,42,0,125,112,126,112,62,117,201,84,61,104,214,112,209,131,61,110,168,110,117,119,243,140,60,0,42,0,176,91,61,93,60,0,42,0,141,81,40,87,87,98,5,109,125,143,164,80,9,143,104,145,14,81,33,126,60,0,42,0,66,81,204,124,42,124,46,124,21,148,31,148,60,0,42,0,177,84,60,0,42,0,29,102,90,104,193,91,221,99,70,86,141,100,39,81,5,101,18,101,57,81,34,101,177,141,178,141,60,0,42,0,130,102,171,102,219,140,94,141,62,147,60,145,253,111,84,142,201,116,10,141,232,147,210,116,71,145,82,112,131,139,218,116,182,121,120,137,154,139,97,153,60,0,42,0,40,83,66,114,152,127,67,141,205,140,231,129,53,133,216,140,19,141,210,154,28,141,60,0,42,0,117,154,212,153,60,0,42,0,88,89,9,95,15,129,95,88,108,132,186,146,211,129,223,129,60,0,42,0,174,80,109,144,223,124,103,142,169,145,60,0,42,0,255,81,127,148,60,0,42,0,233,101,163,103,6,104,164,134,215,104,161,111,170,116,187,133,112,126,251,133,60,0,42,0,118,112,129,118,130,118,21,85,35,85,32,144,141,104,191,85,101,97,112,113,65,130,106,86,9,124,229,113,195,122,95,139,174,141,129,142,200,122,60,0,42,0,25,82,158,98,162,108,233,98,206,108,253,108,35,141,238,143,71,82,54,85,103,85,59,94,46,123,52,130,172,140,173,110,224,119,22,86,231,90,88,94,166,123,54,133,13,106,117,107,206,138,92,141,199,100,164,111,159,118,148,119,0,124,11,121,87,137,46,139,254,140,12,136,90,159,112,159,5,158,60,0,42,0,40,89,196,78,130,94,68,108,3,102,23,102,81,99,49,93,60,0,42,0,44,79,60,0,42,0,60,141,29,98,202,140,151,156,253,155,8,136,2,156,97,156,60,0,42,0,14,96,60,0,42,0,46,140,86,139,91,139,60,0,42,0,206,86,60,0,42,0,151,88,43,145,158,88,142,97,47,127,103,106,183,113,148,116,240,119,243,120,126,127,82,126,68,139,91,156,60,0,42,0,3,149,229,146,17,117,96,141,8,141,60,0,42,0,78,98,18,84,175,98,83,89,19,99,228,103,251,103,243,84,103,80,179,85,248,99,35,110,66,105,132,82,99,100,182,118,29,106,240,137,187,118,71,139,68,159,71,159,60,0,42,0,45,103,52,117,248,149,187,134,225,148,96,113,80,114,152,149,154,123,43,128,88,147,87,139,60,0,42,0,143,83,195,98,242,130,40,119,31,120,41,100,138,156,157,156,55,142,147,155,186,155,60,0,42,0,77,78,121,112,200,139,164,84,222,103,5,104,184,112,177,91,196,117,177,134,160,110,80,138,62,100,168,105,5,151,161,145,60,0,42,0,8,89,130,124,90,99,139,101,142,101,88,100,184,105,75,159,60,0,42,0,133,91,161,106,60,0,42,0,132,122,89,146,60,0,42,0,58,80,38,120,181,80,232,91,53,118,60,0,42,0,172,103,190,108,225,107,195,101,52,104,152,124,197,134,230,152,201,96,64,138,136,141,121,138,154,149,53,140,97,86,166,93,157,133,133,144,17,151,8,108,10,108,187,119,111,158,220,101,107,139,88,153,227,156,89,154,89,155,99,156,7,158,157,139,60,0,42,0,169,101,208,152,85,92,207,118,45,93,172,101,22,116,12,100,222,118,131,93,132,93,144,105,173,152,248,90,134,145,79,106,62,143,245,158,60,0,42,0,96,83,84,79,24,98,8,104,95,104,217,122,97,80,253,126,218,131,231,104,91,110,38,98,187,125,152,93,26,143,48,98,101,134,102,134,177,137,79,143,103,139,56,134,79,154,60,0,42,0,32,95,53,95,224,122,189,80,35,145,220,90,112,95,94,97,51,111,80,115,187,124,1,133,103,144,178,102,31,106,139,116,38,153,209,135,63,154,70,156,158,158,60,0,42,0,201,78,127,149,119,149,168,109,140,99,50,111,101,94,3,121,60,0,42,0,8,78,215,78,89,98,16,94,86,103,192,128,38,141,128,124,51,94,177,109,57,129,238,117,156,150,135,88,130,93,91,94,236,140,44,118,52,118,149,119,60,0,42,0,241,147,60,0,42,0,75,79,138,148,177,89,246,93,219,98,45,102,196,118,215,145,65,85,74,146,203,153,188,122,99,147,189,118,60,0,42,0,42,114,43,114,126,98,188,108,117,116,60,0,42,0,236,83,70,81,207,139,155,103,151,87,164,112,227,114,117,141,10,123,129,128,208,101,249,104,84,138,103,113,105,127,135,128,136,128,153,141,204,102,243,113,161,155,194,106,190,119,132,127,60,0,42,0,64,127,60,0,42,0,7,135,251,85,236,90,110,144,60,0,42,0,135,83,152,98,125,107,250,119,19,120,119,124,116,134,242,84,209,87,141,124,169,136,96,85,138,96,98,102,99,102,132,143,134,85,240,134,95,138,42,140,178,153,122,100,18,143,212,120,25,143,184,146,153,143,196,135,158,86,43,139,58,139,191,155,77,143,129,139,139,139,60,0,42,0,5,128,125,78,107,85,135,121,23,149,109,141,54,137,117,137,60,0,42,0,217,143,216,103,89,109,25,144,219,109,23,133,28,106,106,111,103,158,197,135,211,157,60,0,42,0,64,119,87,132,60,0,42,0,30,141,136,148,166,79,72,109,205,115,206,115,215,128,158,140,42,94,21,104,98,104,30,119,31,119,39,120,111,121,221,145,117,80,109,104,89,145,202,91,116,132,73,144,195,90,56,100,159,101,104,105,73,115,4,117,142,121,150,132,193,132,65,146,85,151,155,105,157,107,103,116,170,120,155,121,103,111,180,123,60,106,181,111,251,129,189,133,49,147,67,143,124,147,72,124,117,156,60,0,42,0,202,139,174,98,149,103,43,95,35,102,120,143,82,92,91,117,185,117,21,119,151,136,62,125,68,128,25,132,214,136,58,138,235,142,28,127,57,122,215,153,37,126,18,155,240,158,60,0,42,0,51,87,53,150,188,126,61,117,178,79,11,99,99,150,41,158,47,99,21,103,26,104,22,125,57,119,72,141,86,145,102,88,213,99,124,125,118,101,113,116,171,138,209,140,244,146,71,149,7,151,6,157,173,147,174,147,60,0,42,0,231,81,137,78,66,79,195,89,129,95,20,96,45,114,228,139,233,87,229,92,35,99,161,112,240,114,221,112,16,119,178,148,29,93,34,93,153,99,25,115,65,119,71,128,238,148,156,90,193,99,93,123,176,95,184,132,92,119,45,142,102,146,180,95,143,123,26,147,220,123,7,155,214,155,101,118,60,0,42,0,54,108,141,98,253,124,239,98,159,99,120,102,56,97,156,100,116,101,60,0,42,0,99,107,193,139,209,144,39,94,63,101,199,117,64,94,60,138,99,88,205,138,45,145,10,157,73,139,60,0,42,0,75,78,47,101,110,83,65,108,157,130,49,84,245,93,101,108,103,87,157,103,220,108,229,119,199,126,162,128,0,104,87,121,211,121,214,121,209,128,221,128,124,136,1,80,183,117,108,121,234,121,2,129,187,150,148,104,32,98,37,105,248,129,24,100,148,121,25,122,149,125,176,105,24,135,182,153,247,156,50,157,84,126,53,134,5,159,60,0,42,0,103,98,132,79,183,89,244,118,234,89,36,80,60,80,64,128,222,145,244,87,247,87,212,109,76,128,13,105,150,107,134,114,131,121,119,125,214,141,237,85,225,116,68,146,140,88,109,100,189,153,2,91,121,97,16,111,47,142,52,106,177,129,54,126,119,128,217,135,96,142,196,142,145,142,60,0,42,0,2,89,98,107,234,83,234,81,167,82,232,101,47,150,64,87,65,87,11,94,122,98,102,108,154,108,184,126,183,130,62,96,167,98,73,121,11,131,171,84,73,96,7,99,179,103,20,109,11,120,121,136,117,143,253,109,187,117,25,125,40,138,190,141,249,142,249,158,111,145,181,95,226,133,103,137,60,0,42,0,36,150,243,129,150,130,215,95,238,95,123,98,120,140,54,82,148,83,129,87,25,94,28,94,187,108,153,112,40,141,227,143,197,144,231,79,217,92,162,94,164,94,3,99,227,103,9,104,55,109,81,121,95,150,33,90,143,95,26,99,74,102,78,104,254,114,233,121,244,129,159,136,61,141,126,143,127,78,107,80,157,95,183,99,189,104,86,105,24,115,100,117,212,117,242,121,247,121,146,122,41,125,208,127,160,136,215,137,173,140,218,148,55,158,130,80,59,93,88,95,122,102,222,110,227,117,237,134,253,142,152,154,216,91,204,94,49,100,205,110,26,122,107,123,110,127,241,141,10,143,39,149,201,150,134,88,239,110,76,111,144,117,253,136,159,137,140,138,141,146,95,94,132,97,111,100,171,113,58,122,163,129,239,137,234,140,44,142,213,146,243,100,216,101,4,112,251,125,178,150,228,153,25,157,40,81,149,82,229,97,242,100,219,106,73,122,178,135,235,97,4,141,205,106,198,116,246,137,45,154,239,155,41,121,81,140,58,154,71,154,147,142,217,157,85,148,82,140,60,0,42,0,148,95,60,0,42,0,45,78,0,79,119,108,35,82,144,89,120,95,224,95,200,108,130,112,200,126,202,103,197,118,115,136,159,148,47,130,119,136,66,125,33,146,82,94,32,133,58,149,191,146,164,135,36,157,189,135,126,147,40,159,113,142,24,148,102,124,60,0,42,0,191,128,205,121,162,81,160,85,48,92,90,88,92,88,113,107,68,113,107,129,7,118,46,122,53,142,92,122,60,0,42,0,242,78,23,79,149,89,198,114,76,121,61,131,118,136,205,145,155,134,69,80,62,119,57,88,145,90,87,123,70,136,229,138,60,0,42,0,222,93,31,130,204,139,156,79,104,84,50,109,191,112,234,139,208,112,216,115,128,143,238,144,159,95,171,99,205,109,234,119,49,144,60,158,140,85,165,124,82,141,8,143,130,146,217,140,22,143,12,151,242,153,233,118,5,139,67,157,6,154,120,139,60,0,42,0,175,89,116,143,248,142,60,0,42,0,152,128,26,94,155,117,247,131,109,102,109,119,146,123,222,155,60,0,42,0,163,126,55,79,106,84,146,84,153,91,201,126,145,81,174,84,60,102,2,125,196,128,110,131,177,118,78,145,93,102,153,124,100,132,75,138,3,117,118,138,253,80,186,118,206,153,99,86,16,126,164,154,64,124,85,124,82,124,95,154,60,0,42,0,49,103,175,82,143,79,219,139,190,144,25,109,49,131,42,104,224,115,248,139,42,115,67,120,252,121,190,136,226,148,81,125,219,134,133,138,230,141,224,105,116,111,107,135,150,146,101,106,248,138,108,140,239,153,162,155,56,157,38,112,235,106,231,106,250,155,4,159,41,136,60,0,42,0,249,122,207,108,250,122,162,112,1,123,63,131,219,112,139,122,16,144,28,123,51,130,3,118,201,123,237,113,11,136,133,142,65,156,78,91,95,112,239,102,24,107,37,114,62,136,131,148,60,0,42,0,54,78,59,78,148,91,196,98,92,127,124,150,26,110,110,113,81,113,93,138,49,86,208,111,136,158,169,119,154,82,209,86,184,101,218,119,60,0,42,0,43,79,71,79,79,79,169,82,187,126,206,130,126,87,124,103,232,108,46,141,236,143,123,154,244,88,241,103,182,107,183,112,93,121,176,117,29,119,43,120,105,121,218,122,135,131,53,125,56,125,156,127,192,134,64,93,81,123,59,138,175,140,211,141,244,142,248,148,111,123,82,146,181,153,184,88,184,123,229,127,38,106,243,146,208,153,235,123,20,151,134,158,68,148,60,0,42,0,147,98,155,106,188,129,59,124,253,154,60,0,42,0,253,98,60,0,42,0,233,141,60,0,42,0,19,78,192,83,2,92,22,120,8,92,31,145,124,88,229,90,124,116,14,117,215,120,158,129,155,152,218,120,239,138,228,135,83,152,68,156,60,0,42,0,108,143,104,91,226,142,241,122,73,143,60,0,42,0,119,112,109,85,31,88,131,132,81,116,94,129,206,80,90,141,176,100,198,123,148,153,249,123,72,137,250,140,84,139,76,153,192,86,81,124,60,0,42,0,134,89,132,94,157,89,146,94,88,131,36,90,105,104,138,131,137,104,119,110,167,124,197,136,221,136,1,106,218,124,60,0,42,0,238,88,239,88,182,114,192,114,245,88,11,113,52,111,158,100,7,98,60,0,42,0,185,150,253,143,147,154,37,149,16,147,5,154,123,157,60,0,42,0,157,108,60,0,42,0,96,87,88,104,13,123,55,90,0,127,244,96,0,117,18,127,119,117,126,120,135,129,156,88,180,125,88,141,11,126,200,138,138,145,35,147,31,153,8,121,5,141,91,143,70,148,60,0,42,0,146,91,205,143,171,128,128,122,6,140,196,138,96,136,60,0,42,0,198,81,251,87,214,81,150,110,167,125,60,0,42,0,48,138,21,122,60,0,42,0,83,83,217,98,170,112,44,80,73,99,76,104,193,104,191,109,243,104,213,105,91,122,113,122,63,136,60,0,42,0,52,87,116,95,75,108,179,114,124,112,213,83,176,89,1,131,171,101,74,109,53,78,94,109,245,112,252,139,76,145,68,85,69,85,58,90,178,104,177,101,107,102,19,105,56,116,122,120,161,122,108,127,175,100,198,100,178,101,154,121,133,82,193,138,209,138,220,146,193,111,231,123,226,100,128,101,181,101,239,111,225,106,54,139,111,149,47,148,107,157,66,112,23,136,50,148,87,124,223,157,113,124,60,0,42,0,167,122,60,0,42,0,114,78,92,91,10,131,121,81,168,84,213,89,255,89,50,131,37,104,134,115,14,125,64,141,68,141,48,93,196,109,246,121,1,127,24,140,124,141,222,85,115,91,107,93,20,105,125,110,203,110,162,124,88,132,142,143,17,145,118,91,140,121,220,137,62,138,178,140,199,140,145,141,49,149,53,122,199,125,45,146,67,149,135,159,28,143,18,159,172,111,238,138,166,141,58,143,25,147,237,154,187,156,127,147,161,147,190,116,63,152,62,152,212,155,133,157,77,159,38,156,60,0,42,0,251,132,60,0,42,0,212,78,7,84,201,89,202,89,77,103,247,119,196,121,207,128,112,84,237,121,125,124,20,128,120,134,43,123,147,104,232,145,89,85,43,125,211,110,63,138,159,105,116,106,60,0,42,0,87,91,234,129,147,130,33,131,98,131,51,80,90,82,99,96,120,114,13,110,37,119,38,119,212,128,254,128,44,111,60,0,42,0,80,91,60,0,42,0,151,91,39,80,252,126,148,154,43,88,79,93,85,93,254,96,213,104,35,115,89,129,124,132,54,105,33,103,120,93,47,122,156,125,195,125,167,113,245,125,234,127,108,135,40,142,42,142,235,120,80,147,117,140,100,142,12,154,3,155,35,154,9,155,55,155,238,155,252,155,65,148,60,0,42,0,59,96,108,80,116,99,227,96,33,97,212,99,3,100,175,80,215,132,96,100,207,125,2,126,234,113,61,126,211,147,60,0,42,0,181,126,46,102,173,117,10,80,20,115,130,120,189,124,201,124,50,118,38,126,29,147,49,126,237,124,60,0,42,0,72,111,60,0,42,0,185,144,122,154,249,139,240,144,108,150,198,131,247,104,248,104,18,145,131,123,197,125,207,138,57,145,176,156,235,155,192,158,54,154,113,159,122,159,60,0,42,0,113,141,112,141,208,155,60,0,42,0,79,89,205,99,113,105,60,0,42,0,223,121,69,132,169,132,60,0,42,0,70,83,179,141,82,83,235,84,18,93,42,93,207,101,182,80,164,123,36,142,63,142,94,149,195,147,60,0,42,0,197,139,59,150,196,126,206,79,60,114,199,115,86,121,40,85,68,125,91,138,123,151,186,147,60,0,42,0,187,148,156,142,125,148,60,0,42,0,100,126,53,127,130,126,137,126,107,124,152,126,60,0,42,0,37,101,90,148,60,0,42,0,156,83,24,103,250,85,54,106,213,135,151,126,60,0,42,0,138,93,52,86,181,93,127,86,187,116,60,0,42,0,44,104,74,125,84,145,0,103,108,102,125,121,33,122,106,127,160,143,220,105,123,145,94,133,137,145,135,106,247,146,10,147,140,106,60,0,42,0,160,103,93,122,60,0,42,0,10,92,171,88,255,88,159,93,117,144,61,106,92,126,71,127,142,157,15,148,223,156,82,156,247,157,60,0,42,0,212,80,66,86,153,100,80,139,60,0,42,0,88,99,140,146,60,0,42,0,40,102,232,121,139,131,125,99,10,105,34,116,19,122,112,123,60,146,60,0,42,0,230,93,80,79,83,126,60,0,42,0,92,79,80,87,60,150,157,92,158,92,13,96,179,79,90,121,217,128,17,85,167,94,143,136,90,80,67,132,68,132,217,132,245,152,243,124,60,0,42,0,151,84,38,0,39,0,40,0,0,78,41,0,39,0,60,0,60,0,60,0,32,50,38,0,39,0,40,0,3,78,41,0,39,0,60,0,60,0,60,0,38,50,38,0,39,0,40,0,9,78,41,0,39,0,60,0,60,0,60,0,34,50,38,0,39,0,40,0,93,78,41,0,39,0,60,0,60,0,60,0,40,50,38,0,39,0,40,0,140,78,41,0,39,0,60,0,60,0,60,0,33,50,38,0,39,0,40,0,148,78,41,0,39,0,60,0,60,0,60,0,36,50,38,0,39,0,40,0,227,78,41,0,39,0,60,0,60,0,60,0,57,50,38,0,39,0,40,0,1,79,41,0,39,0,60,0,60,0,60,0,61,50,38,0,39,0,40,0,17,79,41,0,39,0,60,0,60,0,60,0,65,50,38,0,39,0,40,0,107,81,41,0,39,0,60,0,60,0,60,0,39,50,38,0,39,0,40,0,109,81,41,0,39,0,60,0,60,0,60,0,37,50,38,0,39,0,40,0,180,82,41,0,39,0,60,0,60,0,60,0,56,50,38,0,39,0,40,0,65,83,41,0,39,0,60,0,60,0,60,0,41,50,38,0,39,0,40,0,84,83,41,0,39,0,60,0,60,0,60,0,63,50,38,0,39,0,40,0,13,84,41,0,39,0,60,0,60,0,60,0,52,50,38,0,39,0,40,0,124,84,41,0,39,0,60,0,60,0,60,0,58,50,38,0,39,0,40,0,219,86,41,0,39,0,60,0,60,0,60,0,35,50,38,0,39,0,40,0,31,87,41,0,39,0,60,0,60,0,60,0,47,50,38,0,39,0,40,0,102,91,41,0,39,0,60,0,60,0,60,0,59,50,38,0,39,0,40,0,229,101,41,0,39,0,60,0,60,0,60,0,48,50,38,0,39,0,40,0,8,103,41,0,39,0,60,0,60,0,60,0,42,50,38,0,39,0,40,0,9,103,41,0,39,0,60,0,60,0,60,0,50,50,38,0,39,0,40,0,40,103,41,0,39,0,60,0,60,0,60,0,45,50,38,0,39,0,40,0,42,104,41,0,39,0,60,0,60,0,60,0,49,50,38,0,39,0,40,0,52,108,41,0,39,0,60,0,60,0,60,0,44,50,38,0,39,0,40,0,107,112,41,0,39,0,60,0,60,0,60,0,43,50,38,0,39,0,40,0,121,114,41,0,39,0,60,0,60,0,60,0,53,50,38,0,39,0,40,0,227,118,41,0,39,0,60,0,60,0,60,0,60,50,38,0,39,0,40,0,62,121,41,0,39,0,60,0,60,0,60,0,51,50,38,0,39,0,40,0,93,121,41,0,39,0,60,0,60,0,60,0,55,50,38,0,39,0,40,0,109,121,41,0,39,0,60,0,60,0,60,0,64,50,38,0,39,0,40,0,234,129,41,0,39,0,60,0,60,0,60,0,66,50,38,0,39,0,40,0,243,129,41,0,39,0,60,0,60,0,60,0,67,50,38,0,39,0,40,0,161,140,41,0,39,0,60,0,60,0,60,0,54,50,38,0,39,0,40,0,199,140,41,0,39,0,60,0,60,0,60,0,62,50,38,0,39,0,40,0,209,145,41,0,39,0,60,0,60,0,60,0,46,50,38,0,48,0,185,112,60,0,60,0,60,0,88,51,38,0,49,0,48,0,229,101,60,0,60,0,60,0,233,51,38,0,49,0,48,0,8,103,60,0,60,0,60,0,201,50,38,0,49,0,48,0,185,112,60,0,60,0,60,0,98,51,38,0,49,0,49,0,229,101,60,0,60,0,60,0,234,51,38,0,49,0,49,0,8,103,60,0,60,0,60,0,202,50,38,0,49,0,49,0,185,112,60,0,60,0,60,0,99,51,38,0,49,0,50,0,229,101,60,0,60,0,60,0,235,51,38,0,49,0,50,0,8,103,60,0,60,0,60,0,203,50,38,0,49,0,50,0,185,112,60,0,60,0,60,0,100,51,38,0,49,0,51,0,229,101,60,0,60,0,60,0,236,51,38,0,49,0,51,0,185,112,60,0,60,0,60,0,101,51,38,0,49,0,52,0,229,101,60,0,60,0,60,0,237,51,38,0,49,0,52,0,185,112,60,0,60,0,60,0,102,51,38,0,49,0,53,0,229,101,60,0,60,0,60,0,238,51,38,0,49,0,53,0,185,112,60,0,60,0,60,0,103,51,38,0,49,0,54,0,229,101,60,0,60,0,60,0,239,51,38,0,49,0,54,0,185,112,60,0,60,0,60,0,104,51,38,0,49,0,55,0,229,101,60,0,60,0,60,0,240,51,38,0,49,0,55,0,185,112,60,0,60,0,60,0,105,51,38,0,49,0,56,0,229,101,60,0,60,0,60,0,241,51,38,0,49,0,56,0,185,112,60,0,60,0,60,0,106,51,38,0,49,0,57,0,229,101,60,0,60,0,60,0,242,51,38,0,49,0,57,0,185,112,60,0,60,0,60,0,107,51,38,0,49,0,229,101,60,0,60,0,60,0,224,51,38,0,49,0,8,103,60,0,60,0,60,0,192,50,38,0,49,0,185,112,60,0,60,0,60,0,89,51,38,0,50,0,48,0,229,101,60,0,60,0,60,0,243,51,38,0,50,0,48,0,185,112,60,0,60,0,60,0,108,51,38,0,50,0,49,0,229,101,60,0,60,0,60,0,244,51,38,0,50,0,49,0,185,112,60,0,60,0,60,0,109,51,38,0,50,0,50,0,229,101,60,0,60,0,60,0,245,51,38,0,50,0,50,0,185,112,60,0,60,0,60,0,110,51,38,0,50,0,51,0,229,101,60,0,60,0,60,0,246,51,38,0,50,0,51,0,185,112,60,0,60,0,60,0,111,51,38,0,50,0,52,0,229,101,60,0,60,0,60,0,247,51,38,0,50,0,52,0,185,112,60,0,60,0,60,0,112,51,38,0,50,0,53,0,229,101,60,0,60,0,60,0,248,51,38,0,50,0,54,0,229,101,60,0,60,0,60,0,249,51,38,0,50,0,55,0,229,101,60,0,60,0,60,0,250,51,38,0,50,0,56,0,229,101,60,0,60,0,60,0,251,51,38,0,50,0,57,0,229,101,60,0,60,0,60,0,252,51,38,0,50,0,229,101,60,0,60,0,60,0,225,51,38,0,50,0,8,103,60,0,60,0,60,0,193,50,38,0,50,0,185,112,60,0,60,0,60,0,90,51,38,0,51,0,48,0,229,101,60,0,60,0,60,0,253,51,38,0,51,0,49,0,229,101,60,0,60,0,60,0,254,51,38,0,51,0,229,101,60,0,60,0,60,0,226,51,38,0,51,0,8,103,60,0,60,0,60,0,194,50,38,0,51,0,185,112,60,0,60,0,60,0,91,51,38,0,52,0,229,101,60,0,60,0,60,0,227,51,38,0,52,0,8,103,60,0,60,0,60,0,195,50,38,0,52,0,185,112,60,0,60,0,60,0,92,51,38,0,53,0,229,101,60,0,60,0,60,0,228,51,38,0,53,0,8,103,60,0,60,0,60,0,196,50,38,0,53,0,185,112,60,0,60,0,60,0,93,51,38,0,54,0,229,101,60,0,60,0,60,0,229,51,38,0,54,0,8,103,60,0,60,0,60,0,197,50,38,0,54,0,185,112,60,0,60,0,60,0,94,51,38,0,55,0,229,101,60,0,60,0,60,0,230,51,38,0,55,0,8,103,60,0,60,0,60,0,198,50,38,0,55,0,185,112,60,0,60,0,60,0,95,51,38,0,56,0,229,101,60,0,60,0,60,0,231,51,38,0,56,0,8,103,60,0,60,0,60,0,199,50,38,0,56,0,185,112,60,0,60,0,60,0,96,51,38,0,57,0,229,101,60,0,60,0,60,0,232,51,38,0,57,0,8,103,60,0,60,0,60,0,200,50,38,0,57,0,185,112,60,0,60,0,60,0,97,51,38,0,39,0,20,48,9,78,21,48,39,0,60,0,60,0,60,0,60,216,65,222,38,0,39,0,20,48,140,78,21,48,39,0,60,0,60,0,60,0,60,216,66,222,38,0,39,0,20,48,221,82,21,48,39,0,60,0,60,0,60,0,60,216,71,222,38,0,39,0,20,48,137,91,21,48,39,0,60,0,60,0,60,0,60,216,67,222,38,0,39,0,20,48,83,98,21,48,39,0,60,0,60,0,60,0,60,216,69,222,38,0,39,0,20,48,87,101,21,48,39,0,60,0,60,0,60,0,60,216,72,222,38,0,39,0,20,48,44,103,21,48,39,0,60,0,60,0,60,0,60,216,64,222,38,0,39,0,20,48,185,112,21,48,39,0,60,0,60,0,60,0,60,216,68,222,38,0,39,0,20,48,215,118,21,48,39,0,60,0,60,0,60,0,60,216,70,222,38,0,0,78,60,0,60,0,60,0,0,47,38,0,0,78,60,0,60,0,60,0,146,49,38,0,0,78,60,0,60,0,60,0,128,50,38,0,0,78,60,0,60,0,60,0,60,216,41,222,38,0,1,78,60,0,60,0,60,0,156,49,38,0,3,78,60,0,60,0,60,0,134,50,38,0,9,78,60,0,60,0,60,0,148,49,38,0,9,78,60,0,60,0,60,0,130,50,38,0,9,78,60,0,60,0,60,0,60,216,42,222,38,0,10,78,60,0,60,0,60,0,150,49,38,0,10,78,60,0,60,0,60,0,164,50,38,0,11,78,60,0,60,0,60,0,152,49,38,0,11,78,60,0,60,0,60,0,166,50,38,0,25,78,60,0,60,0,60,0,155,49,38,0,40,78,60,0,60,0,60,0,1,47,38,0,45,78,60,0,60,0,60,0,151,49,38,0,45,78,60,0,60,0,60,0,165,50,38,0,45,78,60,0,60,0,60,0,60,216,45,222,38,0,54,78,60,0,60,0,60,0,2,47,38,0,63,78,60,0,60,0,60,0,3,47,38,0,89,78,60,0,60,0,60,0,4,47,38,0,89,78,60,0,60,0,60,0,154,49,38,0,93,78,60,0,60,0,60,0,136,50,38,0,133,78,60,0,60,0,60,0,5,47,38,0,140,78,60,0,60,0,60,0,6,47,38,0,140,78,60,0,60,0,60,0,147,49,38,0,140,78,60,0,60,0,60,0,129,50,38,0,140,78,60,0,60,0,60,0,60,216,20,222,38,0,148,78,60,0,60,0,60,0,132,50,38,0,160,78,60,0,60,0,60,0,7,47,38,0,164,78,60,0,60,0,60,0,60,216,24,222,38,0,186,78,60,0,60,0,60,0,8,47,38,0,186,78,60,0,60,0,60,0,159,49,38,0,228,78,140,84,60,0,60,0,60,0,255,50,38,0,1,79,60,0,60,0,60,0,173,50,38,0,17,79,60,0,60,0,60,0,161,50,38,0,42,81,60,0,60,0,60,0,157,50,38,0,63,81,60,0,60,0,60,0,9,47,38,0,101,81,60,0,60,0,60,0,10,47,38,0,107,81,60,0,60,0,60,0,11,47,38,0,107,81,60,0,60,0,60,0,135,50,38,0,109,81,60,0,60,0,60,0,133,50,38,0,130,81,60,0,60,0,60,0,12,47,38,0,141,81,60,0,60,0,60,0,60,216,30,222,38,0,150,81,60,0,60,0,60,0,13,47,38,0,153,81,60,0,60,0,60,0,162,50,38,0,171,81,60,0,60,0,60,0,14,47,38,0,224,81,60,0,60,0,60,0,15,47,38,0,245,81,60,0,60,0,60,0,16,47,38,0,0,82,60,0,60,0,60,0,17,47,38,0,29,82,60,0,60,0,60,0,60,216,32,222,38,0,77,82,60,0,60,0,60,0,60,216,28,222,38,0,114,82,60,0,60,0,60,0,60,216,57,222,38,0,155,82,60,0,60,0,60,0,18,47,38,0,180,82,60,0,60,0,60,0,152,50,38,0,249,82,60,0,60,0,60,0,19,47,38,0,21,83,60,0,60,0,60,0,20,47,38,0,26,83,60,0,60,0,60,0,21,47,38,0,56,83,60,0,60,0,60,0,22,47,38,0,59,83,60,0,60,0,60,0,169,50,38,0,65,83,60,0,60,0,60,0,23,47,38,0,65,83,60,0,60,0,60,0,56,48,38,0,65,83,60,0,60,0,60,0,137,50,38,0,68,83,60,0,60,0,60,0,57,48,38,0,69,83,60,0,60,0,60,0,58,48,38,0,84,83,60,0,60,0,60,0,175,50,38,0,92,83,60,0,60,0,60,0,24,47,38,0,105,83,60,0,60,0,60,0,25,47,38,0,112,83,60,0,60,0,60,0,158,50,38,0,130,83,60,0,60,0,60,0,26,47,38,0,182,83,60,0,60,0,60,0,27,47,38,0,200,83,60,0,60,0,60,0,28,47,38,0,204,83,60,0,60,0,60,0,60,216,18,222,38,0,227,83,60,0,60,0,60,0,29,47,38,0,239,83,60,0,60,0,60,0,60,216,81,222,38,0,243,83,60,0,60,0,60,0,168,50,38,0,243,83,60,0,60,0,60,0,60,216,46,222,38,0,8,84,60,0,60,0,60,0,60,216,52,222,38,0,13,84,60,0,60,0,60,0,148,50,38,0,57,84,60,0,60,0,60,0,60,216,37,222,38,0,79,85,60,0,60,0,60,0,68,50,38,0,182,85,60,0,60,0,60,0,60,216,58,222,38,0,215,86,60,0,60,0,60,0,30,47,38,0,219,86,60,0,60,0,60,0,149,49,38,0,219,86,60,0,60,0,60,0,131,50,38,0,31,87,60,0,60,0,60,0,31,47,38,0,31,87,60,0,60,0,60,0,143,50,38,0,48,87,60,0,60,0,60,0,158,49,38,0,235,88,60,0,60,0,60,0,32,47,38,0,240,88,60,0,60,0,60,0,60,216,36,222,38,0,2,89,60,0,60,0,60,0,33,47,38,0,10,89,60,0,60,0,60,0,34,47,38,0,21,89,60,0,60,0,60,0,35,47,38,0,26,89,60,0,60,0,60,0,60,216,21,222,38,0,28,89,60,0,60,0,60,0,176,50,38,0,39,89,60,0,60,0,60,0,36,47,38,0,39,89,99,107,60,0,60,0,60,0,125,51,38,0,41,89,60,0,60,0,60,0,157,49,38,0,41,89,60,0,60,0,60,0,60,216,23,222,38,0,115,89,60,0,60,0,60,0,37,47,38,0,115,89,60,0,60,0,60,0,155,50,38,0,80,91,60,0,60,0,60,0,38,47,38,0,87,91,60,0,60,0,60,0,60,216,17,222,38,0,102,91,60,0,60,0,60,0,171,50,38,0,128,91,60,0,60,0,60,0,39,47,38,0,151,91,60,0,60,0,60,0,170,50,38,0,248,91,60,0,60,0,60,0,40,47,38,0,15,92,60,0,60,0,60,0,41,47,38,0,34,92,60,0,60,0,60,0,42,47,38,0,56,92,60,0,60,0,60,0,43,47,38,0,110,92,60,0,60,0,60,0,44,47,38,0,113,92,60,0,60,0,60,0,45,47,38,0,219,93,60,0,60,0,60,0,46,47,38,0,229,93,60,0,60,0,60,0,47,47,38,0,230,93,60,0,60,0,60,0,167,50,38,0,230,93,60,0,60,0,60,0,60,216,44,222,38,0,241,93,60,0,60,0,60,0,48,47,38,0,254,93,60,0,60,0,60,0,49,47,38,0,114,94,60,0,60,0,60,0,50,47,38,0,115,94,16,98,60,0,60,0,60,0,123,51,38,0,122,94,60,0,60,0,60,0,51,47,38,0,124,94,60,0,60,0,60,0,69,50,38,0,127,94,60,0,60,0,60,0,52,47,38,0,244,94,60,0,60,0,60,0,53,47,38,0,254,94,60,0,60,0,60,0,54,47,38,0,11,95,60,0,60,0,60,0,55,47,38,0,19,95,60,0,60,0,60,0,56,47,38,0,80,95,60,0,60,0,60,0,57,47,38,0,97,95,60,0,60,0,60,0,58,47,38,0,115,95,60,0,60,0,60,0,59,47,38,0,140,95,60,0,60,0,60,0,60,216,29,222,38,0,151,95,60,0,60,0,60,0,60,216,80,222,38,0,195,95,60,0,60,0,60,0,60,47,38,0,8,98,60,0,60,0,60,0,61,47,38,0,54,98,60,0,60,0,60,0,62,47,38,0,75,98,60,0,60,0,60,0,63,47,38,0,75,98,60,0,60,0,60,0,60,216,16,222,38,0,83,98,60,0,60,0,60,0,60,216,49,222,38,0,149,98,60,0,60,0,60,0,60,216,39,222,38,0,7,99,60,0,60,0,60,0,60,216,47,222,38,0,85,99,60,0,60,0,60,0,60,216,40,222,38,0,47,101,60,0,60,0,60,0,64,47,38,0,52,101,60,0,60,0,60,0,65,47,38,0,135,101,60,0,60,0,60,0,66,47,38,0,135,101,60,0,60,0,60,0,70,50,38,0,151,101,60,0,60,0,60,0,67,47,38,0,153,101,60,0,60,0,60,0,60,216,27,222,38,0,164,101,60,0,60,0,60,0,68,47,38,0,176,101,60,0,60,0,60,0,60,216,31,222,38,0,185,101,60,0,60,0,60,0,69,47,38,0,224,101,60,0,60,0,60,0,70,47,38,0,229,101,60,0,60,0,60,0,71,47,38,0,229,101,60,0,60,0,60,0,144,50,38,0,14,102,187,108,60,0,60,0,60,0,126,51,38,0,32,102,60,0,60,0,60,0,60,216,25,222,38,0,45,102,140,84,60,0,60,0,60,0,124,51,38,0,240,102,60,0,60,0,60,0,72,47,38,0,8,103,60,0,60,0,60,0,73,47,38,0,8,103,60,0,60,0,60,0,138,50,38,0,8,103,60,0,60,0,60,0,60,216,55,222,38,0,9,103,60,0,60,0,60,0,146,50,38,0,9,103,60,0,60,0,60,0,60,216,54,222,38,0,40,103,60,0,60,0,60,0,74,47,38,0,40,103,60,0,60,0,60,0,141,50,38,0,42,104,60,0,60,0,60,0,145,50,38,0,42,104,15,95,26,79,62,121,60,0,60,0,60,0,127,51,38,0,32,107,60,0,60,0,60,0,75,47,38,0,98,107,60,0,60,0,60,0,76,47,38,0,99,107,60,0,60,0,60,0,163,50,38,0,121,107,60,0,60,0,60,0,77,47,38,0,179,107,60,0,60,0,60,0,78,47,38,0,203,107,60,0,60,0,60,0,79,47,38,0,205,107,60,0,60,0,60,0,159,46,38,0,212,107,60,0,60,0,60,0,80,47,38,0,219,107,60,0,60,0,60,0,81,47,38,0,15,108,60,0,60,0,60,0,82,47,38,0,20,108,60,0,60,0,60,0,83,47,38,0,52,108,60,0,60,0,60,0,84,47,38,0,52,108,60,0,60,0,60,0,140,50,38,0,232,108,60,0,60,0,60,0,159,50,38,0,128,110,60,0,60,0,60,0,60,216,53,222,38,0,20,111,60,0,60,0,60,0,60,216,38,222,38,0,107,112,60,0,60,0,60,0,85,47,38,0,107,112,60,0,60,0,60,0,139,50,38,0,33,113,60,0,60,0,60,0,60,216,26,222,38,0,42,114,60,0,60,0,60,0,86,47,38,0,54,114,60,0,60,0,60,0,87,47,38,0,59,114,60,0,60,0,60,0,88,47,38,0,63,114,60,0,60,0,60,0,89,47,38,0,71,114,60,0,60,0,60,0,90,47,38,0,89,114,60,0,60,0,60,0,91,47,38,0,91,114,60,0,60,0,60,0,92,47,38,0,121,114,60,0,60,0,60,0,149,50,38,0,172,114,60,0,60,0,60,0,93,47,38,0,132,115,60,0,60,0,60,0,94,47,38,0,137,115,60,0,60,0,60,0,95,47,38,0,220,116,60,0,60,0,60,0,96,47,38,0,230,116,60,0,60,0,60,0,97,47,38,0,24,117,60,0,60,0,60,0,98,47,38,0,31,117,60,0,60,0,60,0,99,47,38,0,31,117,60,0,60,0,60,0,60,216,34,222,38,0,40,117,60,0,60,0,60,0,100,47,38,0,48,117,60,0,60,0,60,0,101,47,38,0,50,117,60,0,60,0,60,0,153,49,38,0,51,117,60,0,60,0,60,0,60,216,56,222,38,0,55,117,60,0,60,0,60,0,154,50,38,0,139,117,60,0,60,0,60,0,102,47,38,0,146,117,60,0,60,0,60,0,103,47,38,0,118,118,60,0,60,0,60,0,104,47,38,0,125,118,60,0,60,0,60,0,105,47,38,0,174,118,60,0,60,0,60,0,106,47,38,0,191,118,60,0,60,0,60,0,107,47,38,0,227,118,60,0,60,0,60,0,172,50,38,0,238,118,60,0,60,0,60,0,108,47,38,0,219,119,60,0,60,0,60,0,109,47,38,0,226,119,60,0,60,0,60,0,110,47,38,0,243,119,60,0,60,0,60,0,111,47,38,0,58,121,60,0,60,0,60,0,112,47,38,0,62,121,60,0,60,0,60,0,147,50,38,0,93,121,60,0,60,0,60,0,151,50,38,0,129,121,60,0,60,0,60,0,60,216,50,222,38,0,184,121,60,0,60,0,60,0,113,47,38,0,190,121,60,0,60,0,60,0,114,47,38,0,216,121,60,0,60,0,60,0,153,50,38,0,116,122,60,0,60,0,60,0,115,47,38,0,122,122,60,0,60,0,60,0,60,216,51,222,38,0,203,122,60,0,60,0,60,0,116,47,38,0,249,122,60,0,60,0,60,0,117,47,38,0,143,123,60,0,60,0,60,0,71,50,38,0,115,124,60,0,60,0,60,0,118,47,38,0,248,124,60,0,60,0,60,0,119,47,38,0,66,125,60,0,60,0,60,0,60,216,33,222,38,0,54,127,60,0,60,0,60,0,120,47,38,0,81,127,60,0,60,0,60,0,121,47,38,0,138,127,60,0,60,0,60,0,122,47,38,0,189,127,60,0,60,0,60,0,123,47,38,0,1,128,60,0,60,0,60,0,124,47,38,0,12,128,60,0,60,0,60,0,125,47,38,0,18,128,60,0,60,0,60,0,126,47,38,0,51,128,60,0,60,0,60,0,127,47,38,0,127,128,60,0,60,0,60,0,128,47,38,0,137,128,60,0,60,0,60,0,129,47,38,0,227,129,60,0,60,0,60,0,130,47,38,0,234,129,60,0,60,0,60,0,131,47,38,0,243,129,60,0,60,0,60,0,132,47,38,0,252,129,60,0,60,0,60,0,133,47,38,0,12,130,60,0,60,0,60,0,134,47,38,0,27,130,60,0,60,0,60,0,135,47,38,0,31,130,60,0,60,0,60,0,136,47,38,0,110,130,60,0,60,0,60,0,137,47,38,0,114,130,60,0,60,0,60,0,138,47,38,0,120,130,60,0,60,0,60,0,139,47,38,0,77,134,60,0,60,0,60,0,140,47,38,0,107,134,60,0,60,0,60,0,141,47,38,0,64,136,60,0,60,0,60,0,142,47,38,0,76,136,60,0,60,0,60,0,143,47,38,0,99,136,60,0,60,0,60,0,144,47,38,0,126,137,60,0,60,0,60,0,145,47,38,0,139,137,60,0,60,0,60,0,146,47,38,0,210,137,60,0,60,0,60,0,147,47,38,0,227,137,60,0,60,0,60,0,60,216,22,222,38,0,0,138,60,0,60,0,60,0,148,47,38,0,55,140,60,0,60,0,60,0,149,47,38,0,70,140,60,0,60,0,60,0,150,47,38,0,85,140,60,0,60,0,60,0,151,47,38,0,120,140,60,0,60,0,60,0,152,47,38,0,157,140,60,0,60,0,60,0,153,47,38,0,161,140,60,0,60,0,60,0,150,50,38,0,169,140,60,0,60,0,60,0,60,216,35,222,38,0,199,140,60,0,60,0,60,0,174,50,38,0,100,141,60,0,60,0,60,0,154,47,38,0,112,141,60,0,60,0,60,0,155,47,38,0,112,141,60,0,60,0,60,0,60,216,48,222,38,0,179,141,60,0,60,0,60,0,156,47,38,0,171,142,60,0,60,0,60,0,157,47,38,0,202,142,60,0,60,0,60,0,158,47,38,0,155,143,60,0,60,0,60,0,159,47,38,0,176,143,60,0,60,0,60,0,160,47,38,0,181,143,60,0,60,0,60,0,161,47,38,0,74,144,60,0,60,0,60,0,60,216,43,222,38,0,105,144,60,0,60,0,60,0,156,50,38,0,145,144,60,0,60,0,60,0,162,47,38,0,73,145,60,0,60,0,60,0,163,47,38,0,77,145,60,0,60,0,60,0,60,216,59,222,38,0,198,145,60,0,60,0,60,0,164,47,38,0,204,145,60,0,60,0,60,0,165,47,38,0,209,145,60,0,60,0,60,0,166,47,38,0,209,145,60,0,60,0,60,0,142,50,38,0,119,149,60,0,60,0,60,0,167,47,38,0,128,149,60,0,60,0,60,0,168,47,38,0,28,150,60,0,60,0,60,0,169,47,38,0,182,150,60,0,60,0,60,0,170,47,38,0,185,150,60,0,60,0,60,0,171,47,38,0,232,150,60,0,60,0,60,0,172,47,38,0,81,151,60,0,60,0,60,0,173,47,38,0,94,151,60,0,60,0,60,0,174,47,38,0,98,151,60,0,60,0,60,0,175,47,38,0,105,151,60,0,60,0,60,0,176,47,38,0,203,151,60,0,60,0,60,0,177,47,38,0,237,151,60,0,60,0,60,0,178,47,38,0,243,151,60,0,60,0,60,0,179,47,38,0,1,152,60,0,60,0,60,0,180,47,38,0,5,152,60,0,60,0,60,0,160,50,38,0,168,152,60,0,60,0,60,0,181,47,38,0,219,152,60,0,60,0,60,0,182,47,38,0,223,152,60,0,60,0,60,0,183,47,38,0,150,153,60,0,60,0,60,0,184,47,38,0,153,153,60,0,60,0,60,0,185,47,38,0,172,153,60,0,60,0,60,0,186,47,38,0,168,154,60,0,60,0,60,0,187,47,38,0,216,154,60,0,60,0,60,0,188,47,38,0,223,154,60,0,60,0,60,0,189,47,38,0,37,155,60,0,60,0,60,0,190,47,38,0,47,155,60,0,60,0,60,0,191,47,38,0,50,155,60,0,60,0,60,0,192,47,38,0,60,155,60,0,60,0,60,0,193,47,38,0,90,155,60,0,60,0,60,0,194,47,38,0,229,156,60,0,60,0,60,0,195,47,38,0,117,158,60,0,60,0,60,0,196,47,38,0,127,158,60,0,60,0,60,0,197,47,38,0,165,158,60,0,60,0,60,0,198,47,38,0,187,158,60,0,60,0,60,0,199,47,38,0,195,158,60,0,60,0,60,0,200,47,38,0,205,158,60,0,60,0,60,0,201,47,38,0,209,158,60,0,60,0,60,0,202,47,38,0,249,158,60,0,60,0,60,0,203,47,38,0,253,158,60,0,60,0,60,0,204,47,38,0,14,159,60,0,60,0,60,0,205,47,38,0,19,159,60,0,60,0,60,0,206,47,38,0,32,159,60,0,60,0,60,0,207,47,38,0,59,159,60,0,60,0,60,0,208,47,38,0,74,159,60,0,60,0,60,0,209,47,38,0,82,159,60,0,60,0,60,0,210,47,38,0,141,159,60,0,60,0,60,0,211,47,38,0,156,159,60,0,60,0,60,0,212,47,38,0,159,159,60,0,60,0,60,0,243,46,38,0,160,159,60,0,60,0,60,0,213,47,38,0,107,134,60,0,205,145,134,94,47,0,134,94,38,0,30,95,60,0,136,108,51,150,47,0,51,150,38,0,186,146,60,0,207,133,135,101,47,0,135,101,0,0,239,223,208,112,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,105,0,32,0,66,0,111,0,112,0,111,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,105,0,103,0,110,0,111,0,114,0,97,0,98,0,108,0,101,0,93,0,60,0,60,0,201,2,60,0,60,0,202,2,60,0,60,0,199,2,60,0,60,0,203,2,60,0,60,0,217,2,60,0,60,0,234,2,60,0,60,0,235,2,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,39,0,208,253,39,0,5,49,60,0,42,0,107,81,200,78,244,93,237,83,82,98,51,103,144,115,63,89,156,92,173,130,199,92,237,103,164,117,245,84,252,93,76,99,6,123,145,124,147,127,134,134,219,145,223,145,109,59,93,140,131,156,62,76,60,0,42,0,208,83,174,114,156,98,122,87,173,89,212,98,166,112,121,118,200,128,7,131,221,131,89,138,203,141,247,142,176,152,162,88,67,155,37,159,60,0,42,0,138,98,175,148,0,146,118,151,60,0,42,0,93,87,29,95,56,114,187,87,98,127,25,128,193,141,133,156,140,156,119,127,172,67,138,155,135,137,242,119,56,151,233,88,94,112,27,107,60,0,42,0,39,84,38,125,94,155,60,0,42,0,118,118,23,94,232,98,226,108,119,118,187,115,93,82,101,82,241,84,203,118,53,120,181,148,125,153,52,125,61,127,154,136,176,136,224,131,134,120,98,146,224,80,147,93,165,100,173,100,17,153,129,155,115,142,75,154,77,156,60,0,42,0,226,78,47,79,187,114,145,128,115,154,27,94,219,114,221,116,188,79,195,82,201,128,233,130,179,78,44,99,97,109,223,116,225,121,227,144,185,148,194,148,141,58,191,61,64,62,14,63,22,129,54,130,175,136,90,83,36,110,185,136,65,158,61,97,15,100,60,115,103,132,56,146,81,146,142,153,240,80,13,59,127,113,84,114,148,123,138,129,74,130,111,75,155,153,193,153,20,133,35,142,205,146,72,149,79,70,101,216,208,220,158,153,238,153,112,140,96,216,109,223,151,86,234,97,103,58,39,59,25,124,79,137,155,147,58,153,83,157,166,114,33,121,198,154,201,154,2,107,52,121,110,137,110,148,60,0,42,0,219,141,165,123,56,124,60,0,42,0,121,91,151,106,234,124,82,139,23,134,60,0,42,0,138,46,92,83,117,85,33,132,60,0,42,0,0,99,176,99,216,100,60,0,42,0,125,118,60,0,42,0,126,118,112,79,207,103,34,104,109,99,248,116,168,124,84,125,70,100,250,100,108,137,60,0,42,0,141,94,221,98,37,141,220,98,87,101,8,115,23,122,253,134,186,124,37,53,1,141,219,151,60,0,42,0,225,122,173,133,60,0,42,0,81,83,111,103,66,150,195,118,110,104,178,96,249,99,17,105,145,120,134,121,78,158,3,147,227,133,111,157,60,0,42,0,23,83,51,57,115,146,60,0,42,0,29,141,91,91,200,114,157,140,7,89,1,102,108,114,182,144,204,128,221,130,161,148,251,79,13,80,221,54,150,96,253,114,229,144,93,80,121,80,242,58,150,104,252,115,171,136,153,80,235,96,25,113,50,116,240,142,136,143,1,145,195,80,2,97,215,62,154,120,34,62,149,114,211,132,150,138,129,151,25,137,41,143,199,146,179,154,138,97,210,124,180,151,62,148,60,0,42,0,87,84,4,85,153,121,60,0,42,0,249,82,5,83,98,91,185,103,222,128,222,130,35,123,114,113,133,159,18,137,84,133,193,149,67,137,89,159,60,0,42,0,135,122,209,90,249,150,15,66,132,133,90,216,138,220,250,63,60,0,42,0,157,91,9,96,113,153,221,79,40,158,178,91,228,115,33,88,34,88,172,90,218,91,70,132,253,152,194,153,245,156,229,125,19,137,7,157,242,140,75,75,243,91,246,91,99,216,38,220,76,151,16,77,99,216,59,220,60,0,42,0,253,82,165,98,177,98,121,140,181,141,199,148,171,134,140,136,49,88,226,131,75,146,141,156,100,151,180,102,178,154,241,154,99,134,145,155,36,81,211,102,6,114,193,95,100,148,20,158,60,0,42,0,104,79,245,133,60,0,42,0,115,98,61,101,237,115,44,130,129,152,145,101,44,100,146,101,18,152,34,118,251,156,50,66,140,135,41,137,77,118,172,143,60,0,42,0,66,87,133,92,42,150,4,102,127,103,72,114,234,116,163,148,132,124,40,130,17,146,66,135,108,155,198,149,60,0,42,0,158,82,74,83,52,79,110,98,98,87,197,89,17,96,204,98,202,126,200,103,218,121,116,110,70,125,97,146,125,151,166,143,227,116,60,0,42,0,129,135,60,0,42,0,84,89,205,108,50,141,31,104,135,114,27,149,27,147,60,0,42,0,44,103,239,130,89,89,90,117,201,127,77,105,60,0,42,0,75,87,76,87,52,80,121,99,115,104,0,110,40,123,90,216,192,223,41,144,170,100,86,115,61,143,60,0,42,0,166,144,185,87,46,94,96,99,92,109,134,104,171,144,71,94,90,94,13,126,107,94,164,151,60,0,42,0,209,126,129,125,156,105,83,114,128,129,200,154,60,0,42,0,75,59,164,115,140,134,141,80,210,104,211,104,36,140,93,88,18,100,22,122,161,132,47,135,197,120,81,149,85,130,23,139,138,147,60,0,42,0,59,79,74,121,95,89,41,93,99,125,141,149,176,80,109,93,237,117,35,86,179,125,60,0,42,0,45,117,60,0,42,0,196,87,242,87,247,126,35,116,43,116,246,131,67,126,155,151,60,0,42,0,245,108,248,143,44,144,116,88,90,149,15,117,101,216,244,221,112,75,102,142,240,147,47,136,60,0,42,0,252,99,60,0,42,0,68,92,106,80,244,107,69,105,60,144,77,140,149,135,190,156,158,147,86,157,15,156,60,0,42,0,120,131,59,159,60,0,42,0,21,83,212,107,50,56,54,89,60,103,74,79,33,84,163,89,152,108,149,117,124,95,192,103,213,121,254,79,20,123,131,124,45,130,90,85,143,58,70,123,132,123,91,128,25,145,143,140,60,0,42,0,1,94,197,95,213,107,237,149,86,79,41,54,82,87,135,94,208,139,32,54,188,89,45,96,54,96,217,57,136,103,64,117,178,144,212,84,242,103,214,107,204,115,170,117,254,130,217,107,244,114,19,123,138,124,92,131,203,148,91,150,98,90,179,94,93,101,144,104,98,117,144,136,135,149,137,149,27,88,59,95,60,95,10,97,14,97,98,110,149,118,90,123,6,132,86,138,177,140,193,140,81,141,215,110,79,113,249,117,250,117,100,119,119,129,12,135,248,141,77,146,159,149,246,152,246,85,99,94,10,95,67,95,237,110,167,120,133,123,134,123,188,125,214,132,232,136,157,153,119,111,154,113,88,115,89,115,235,62,253,132,61,133,11,72,42,145,220,153,242,154,193,88,22,91,230,94,101,61,230,123,124,127,241,137,133,155,131,101,222,111,243,123,42,126,194,129,156,133,127,144,70,153,112,89,167,116,85,142,40,145,192,154,116,126,94,137,206,147,87,69,99,137,131,142,132,142,184,151,224,151,20,141,52,148,70,154,83,155,221,157,233,157,10,159,60,0,42,0,2,83,30,132,100,94,54,91,69,137,60,0,42,0,139,97,222,135,214,156,73,156,8,159,76,134,158,159,60,0,42,0,37,82,43,82,135,84,223,67,130,131,194,134,182,95,82,137,105,142,60,0,42,0,42,118,95,118,220,63,60,0,42,0,70,95,24,67,60,0,42,0,108,112,83,103,7,104,209,152,137,154,223,154,242,109,106,95,11,115,63,129,169,152,130,88,86,94,125,100,238,110,174,152,160,154,25,106,155,113,152,129,8,133,45,118,230,120,86,149,217,152,218,152,38,81,183,152,12,112,36,139,2,114,213,129,232,133,6,141,226,147,110,122,115,149,198,152,199,152,200,152,67,154,99,148,189,75,107,154,60,0,42,0,104,136,74,90,241,136,216,138,54,147,166,106,62,137,60,0,42,0,245,79,212,156,62,156,60,0,42,0,202,152,60,0,42,0,185,143,186,143,45,120,62,123,217,99,53,115,22,127,120,113,81,114,2,117,175,123,232,125,89,135,137,144,125,147,202,156,173,151,138,144,254,155,255,155,105,124,60,0,42,0,44,141,65,98,134,122,62,83,252,96,182,140,57,132,165,120,40,122,196,124,10,137,24,157,202,133,60,0,42,0,94,83,1,95,37,83,237,95,131,98,115,108,116,108,198,145,216,83,163,115,196,130,191,79,9,89,42,102,83,59,141,137,167,95,15,127,77,144,158,149,161,143,246,125,81,130,167,143,168,143,169,143,171,143,174,143,175,143,138,139,60,0,42,0,197,92,158,112,60,0,42,0,67,108,160,144,162,115,15,120,190,91,108,95,185,104,167,80,140,101,21,105,232,110,222,62,36,127,223,105,120,116,105,140,211,140,212,140,84,149,16,81,210,111,241,111,104,134,115,140,179,106,184,116,21,112,38,151,125,126,76,148,110,152,60,0,42,0,72,100,161,107,145,129,233,154,239,100,2,155,175,107,207,129,204,154,19,155,213,154,34,155,60,0,42,0,30,108,245,111,60,0,42,0,171,81,204,78,210,78,55,108,176,81,117,81,164,99,60,0,42,0,25,78,50,96,166,98,201,121,180,144,67,150,30,102,58,102,196,103,179,112,234,130,124,153,42,119,137,122,0,58,195,134,82,100,128,121,31,122,53,146,124,146,5,153,32,153,158,151,60,0,42,0,118,94,200,52,38,78,117,79,119,94,176,94,2,80,36,104,197,117,221,122,75,80,161,80,206,91,197,104,129,138,169,155,80,151,60,0,42,0,170,87,134,151,242,146,60,0,42,0,236,92,175,94,97,102,11,144,61,146,167,138,60,0,42,0,234,156,80,143,173,145,60,0,42,0,95,83,82,216,240,220,101,136,250,84,85,99,184,85,220,136,79,157,60,0,42,0,13,78,3,94,72,79,37,84,101,107,152,84,53,54,22,96,170,98,104,107,105,107,205,60,232,103,154,148,207,82,212,87,215,87,145,96,87,99,184,148,224,87,121,131,232,144,255,116,4,142,0,133,246,144,20,153,34,153,240,123,63,124,60,0,39,0,208,253,39,0,6,49,60,0,42,0,145,89,85,216,25,220,80,216,181,221,133,118,180,141,37,130,106,85,105,132,60,0,42,0,119,103,44,114,177,99,54,116,98,123,86,111,60,0,42,0,10,94,21,94,21,96,153,136,60,0,42,0,139,148,97,87,165,92,202,108,252,108,135,152,140,110,85,146,23,152,81,111,250,147,60,0,42,0,70,90,25,86,34,133,49,145,164,118,8,139,199,106,60,0,42,0,245,83,0,92,183,148,56,123,202,153,60,0,42,0,182,92,135,112,64,101,34,102,38,109,192,115,235,143,222,112,52,120,54,120,217,145,149,124,170,132,68,155,151,145,150,74,60,0,42,0,114,104,60,0,42,0,205,98,60,0,42,0,243,79,152,95,146,99,5,115,209,104,76,114,43,143,48,124,50,124,164,114,60,0,42,0,249,94,60,0,42,0,204,84,62,109,91,59,67,110,142,132,131,147,60,0,42,0,120,84,176,54,12,96,167,128,248,103,218,128,67,136,133,145,60,0,42,0,43,150,249,87,106,150,240,107,84,141,43,149,244,136,245,136,224,140,205,153,60,0,42,0,214,79,60,0,42,0,2,79,155,108,105,79,20,94,245,89,190,101,198,101,127,109,238,115,77,145,41,123,131,66,148,143,183,153,143,93,8,151,97,143,60,0,42,0,220,132,60,0,42,0,155,98,203,98,44,129,60,0,42,0,40,82,134,84,137,87,150,94,205,114,176,112,46,114,15,83,141,136,243,142,132,151,131,158,133,158,60,0,42,0,209,141,60,0,42,0,69,89,225,108,174,112,177,117,176,118,50,120,173,158,31,121,46,121,60,0,42,0,34,132,28,137,60,0,42,0,86,82,29,90,60,0,42,0,148,98,153,98,74,99,138,99,210,136,129,123,7,147,60,0,42,0,133,84,227,84,68,90,131,114,205,94,60,0,42,0,52,52,5,119,25,120,104,117,88,111,0,101,60,0,42,0,63,114,0,109,216,118,216,141,187,90,75,94,43,100,195,105,176,132,228,118,208,120,15,126,251,120,82,142,76,216,102,220,10,112,224,135,99,142,156,147,182,151,60,0,42,0,184,81,36,82,156,108,218,98,238,108,141,112,219,83,73,114,252,118,84,117,65,128,162,136,74,138,191,110,22,152,236,146,123,137,123,148,60,0,42,0,101,157,60,0,42,0,183,85,116,86,85,107,60,0,42,0,235,116,198,118,83,110,80,132,60,0,42,0,96,84,248,127,60,0,42,0,175,85,60,0,42,0,83,78,151,108,238,128,241,150,194,110,150,129,38,74,54,151,60,0,42,0,144,83,158,94,150,83,193,101,4,144,61,130,206,90,172,95,82,216,237,221,131,135,209,156,142,159,144,159,60,0,42,0,217,85,42,128,171,137,60,0,42,0,144,112,168,128,214,128,60,0,42,0,9,83,193,54,38,96,168,98,114,96,248,57,48,120,136,104,249,112,81,120,239,142,155,149,48,111,45,86,142,111,222,120,60,0,42,0,131,130,11,103,252,122,23,80,55,99,11,88,56,95,145,131,109,95,218,104,22,105,124,120,29,122,79,158,115,88,137,97,240,105,37,106,162,113,236,132,96,216,131,220,35,143,227,123,168,129,11,147,248,151,247,123,252,154,218,135,219,135,5,155,54,77,252,151,108,157,47,154,132,126,20,155,93,148,60,0,42,0,103,99,206,109,143,118,123,82,60,0,42,0,189,99,42,105,176,120,43,142,60,0,42,0,21,78,19,79,62,79,121,98,176,126,111,87,171,98,183,98,139,112,201,114,179,144,18,120,65,216,49,223,130,96,219,121,224,121,21,125,205,148,199,101,205,127,26,128,126,140,8,146,26,146,57,146,95,146,148,146,136,82,199,120,211,153,236,154,124,86,13,147,126,155,141,155,181,97,20,121,21,121,57,151,60,0,42,0,174,118,223,52,48,150,175,92,135,103,222,107,211,114,182,128,152,130,215,107,216,107,178,117,141,134,100,85,228,87,37,93,90,216,45,222,189,134,190,134,124,140,96,216,26,222,235,144,116,150,55,113,53,116,62,129,87,129,143,156,116,127,141,129,49,135,110,155,192,88,250,123,183,135,148,140,103,157,134,127,7,103,25,159,60,0,42,0,57,83,128,94,139,117,243,78,46,87,201,130,52,129,222,117,162,146,192,138,4,157,215,100,125,86,86,118,38,76,173,86,60,0,42,0,65,92,224,109,18,110,202,99,253,145,178,90,211,90,101,119,159,143,78,111,43,122,251,80,188,111,138,86,19,117,68,68,136,117,108,139,226,149,255,157,10,158,60,0,42,0,140,105,60,0,42,0,21,108,135,100,75,216,194,220,134,100,188,102,165,119,60,0,42,0,63,78,228,130,5,148,60,0,42,0,243,90,60,0,42,0,125,82,83,97,37,127,216,152,218,101,242,127,181,135,165,114,195,152,196,152,82,155,60,0,42,0,214,90,226,116,194,122,184,133,221,149,60,0,42,0,141,107,111,95,159,119,251,123,57,126,165,145,171,118,96,152,60,0,42,0,104,121,196,80,225,82,12,86,177,95,2,111,19,59,60,0,42,0,232,86,79,80,165,90,143,114,199,123,233,127,66,147,163,157,60,0,42,0,136,154,252,128,65,129,68,105,105,105,198,140,240,141,218,138,65,142,226,153,191,154,8,154,60,0,42,0,145,137,29,140,181,140,222,138,60,0,42,0,71,114,151,154,23,154,25,154,60,0,42,0,120,155,60,0,42,0,216,89,252,98,102,56,23,121,102,122,170,153,94,154,60,0,42,0,173,115,43,141,38,90,167,140,21,116,212,90,145,152,59,152,42,91,113,115,178,133,172,86,201,119,25,136,166,152,112,152,60,0,42,0,193,84,128,105,60,0,42,0,93,114,86,108,88,128,60,0,42,0,82,78,57,117,220,79,9,90,132,109,47,120,96,128,117,130,238,122,41,152,102,216,77,222,60,0,42,0,115,94,196,139,237,81,111,84,106,87,217,108,79,92,33,94,176,103,52,109,182,115,211,128,249,130,241,144,184,62,194,62,83,131,91,92,50,94,220,109,246,116,178,134,72,94,41,113,62,127,13,132,226,134,85,138,1,117,241,132,255,142,134,156,244,81,2,66,127,97,179,123,39,143,145,97,131,155,152,106,8,124,11,134,60,0,42,0,188,92,64,88,60,0,42,0,198,78,52,101,53,101,81,98,96,150,87,86,178,100,125,111,200,100,198,155,60,0,42,0,170,62,13,83,47,129,134,131,208,131,233,131,97,132,213,80,177,132,178,132,122,145,163,88,91,115,158,116,238,111,168,119,89,122,59,66,100,149,86,216,200,220,128,126,101,137,247,147,60,0,42,0,36,87,52,103,3,87,102,109,243,112,110,102,165,110,49,140,233,138,56,106,6,108,143,106,104,149,92,139,124,142,32,148,60,0,42,0,250,148,22,130,23,130,234,146,37,59,17,112,221,102,60,0,42,0,236,93,237,93,12,141,60,0,39,0,208,253,39,0,7,49,60,0,42,0,99,84,60,0,42,0,136,89,86,91,189,90,36,91,55,91,60,0,42,0,187,158,242,117,152,114,52,133,198,135,199,135,60,0,42,0,108,154,55,52,155,115,1,120,130,134,172,153,164,110,106,116,188,120,158,135,183,147,34,156,204,157,60,0,42,0,184,114,105,103,67,121,129,149,130,154,27,85,140,80,65,115,28,86,56,58,170,105,112,119,161,121,117,127,43,55,225,153,35,121,21,155,60,0,42,0,135,78,23,84,206,85,27,86,242,90,100,144,60,0,42,0,120,100,60,0,42,0,133,94,31,140,141,153,235,90,189,158,105,100,121,100,33,106,156,129,69,106,232,120,226,124,164,86,245,100,40,139,169,86,176,86,67,153,17,134,152,82,205,154,84,155,250,64,93,153,60,0,42,0,185,98,225,97,75,74,60,0,42,0,43,103,176,82,61,87,186,89,19,94,126,107,127,107,129,107,171,108,82,216,251,220,30,94,41,102,186,103,9,131,76,150,28,85,140,118,28,119,63,119,30,120,227,121,61,119,150,124,72,125,136,131,171,131,80,110,232,134,131,140,138,140,252,85,123,88,222,91,32,111,79,115,230,132,134,146,122,151,252,90,175,102,115,60,217,158,144,119,70,149,105,155,168,88,60,118,153,119,216,158,14,112,212,135,41,139,152,140,5,114,230,133,204,147,51,121,134,126,64,154,49,128,60,0,42,0,61,96,27,92,121,155,191,158,60,0,42,0,72,78,188,158,146,86,156,86,249,111,102,118,60,0,42,0,203,87,37,55,182,133,62,151,60,0,42,0,112,78,108,131,183,140,42,86,82,133,246,157,60,0,42,0,162,82,69,79,242,88,200,143,166,158,86,83,9,129,8,129,165,158,71,136,241,82,227,140,129,144,33,151,34,151,104,216,51,221,60,0,42,0,69,84,70,87,146,108,161,108,154,103,171,115,2,104,9,119,250,130,18,90,4,129,133,104,251,115,34,129,147,131,51,88,146,90,75,93,68,110,72,110,56,115,66,119,255,144,99,105,115,105,100,113,66,116,127,132,122,88,209,105,150,121,118,145,69,149,91,158,194,146,9,151,72,122,190,95,135,147,192,119,23,101,165,157,42,134,244,158,60,0,42,0,206,107,207,107,194,81,142,127,52,99,124,109,132,90,68,93,60,110,186,90,92,129,65,149,13,91,216,113,130,147,227,158,60,0,42,0,185,89,186,98,172,108,192,101,39,102,81,59,27,119,89,121,130,136,154,90,208,91,215,117,202,141,93,113,61,155,120,119,206,151,195,123,94,135,69,155,60,0,42,0,190,142,60,0,42,0,43,115,147,140,60,0,42,0,219,107,219,119,134,103,102,114,5,131,6,131,196,101,94,127,94,81,222,142,85,145,37,88,53,110,98,216,104,221,26,149,230,154,249,90,2,108,155,114,101,135,243,154,202,135,40,147,156,157,60,0,42,0,135,81,111,83,24,89,110,78,60,98,185,54,193,92,214,108,52,102,198,148,55,123,233,132,60,0,42,0,131,81,131,118,144,81,188,130,146,81,213,103,10,119,2,131,56,141,4,128,164,136,146,137,162,90,61,94,191,140,23,97,147,102,89,105,247,107,65,116,58,132,128,119,140,140,26,145,80,135,46,145,203,97,60,0,42,0,222,84,60,0,42,0,95,114,148,79,186,82,76,59,72,96,32,109,56,119,11,140,209,134,42,127,14,142,126,146,0,139,180,119,70,126,106,147,62,157,176,158,60,0,42,0,208,103,91,216,209,220,60,0,42,0,218,90,159,152,60,0,42,0,207,89,151,96,188,52,238,134,200,80,41,140,114,97,146,153,32,106,146,119,158,119,148,151,87,216,145,220,62,139,69,153,215,156,98,152,23,155,24,155,59,156,59,136,60,0,42,0,88,92,128,110,76,119,225,110,255,110,168,135,206,135,84,137,203,147,213,119,60,0,42,0,252,102,5,59,129,88,84,94,98,97,113,100,43,111,76,115,38,127,36,145,254,105,179,113,4,133,19,133,98,56,183,111,88,149,53,126,221,147,100,216,77,221,85,69,80,216,78,221,60,0,42,0,48,134,60,0,42,0,232,149,106,98,167,115,148,148,128,149,133,149,107,99,219,131,138,116,70,147,185,78,75,134,60,0,42,0,247,149,22,113,182,96,170,102,220,113,209,97,227,97,60,0,42,0,236,78,17,80,26,105,60,0,42,0,100,114,60,0,42,0,2,84,217,95,82,108,153,144,40,92,87,103,103,103,146,130,19,108,242,118,0,123,228,84,15,90,172,94,54,57,126,96,93,109,245,114,43,131,123,114,202,62,239,145,211,148,221,117,109,120,214,134,13,66,77,216,119,222,233,146,249,153,103,216,246,221,60,0,42,0,189,131,101,120,59,131,190,131,254,88,45,111,18,59,210,135,14,136,60,0,42,0,63,117,123,134,161,81,148,131,12,132,32,132,4,64,223,118,153,132,113,135,26,81,87,106,13,117,162,119,68,133,51,145,106,94,222,97,218,102,219,111,56,145,38,103,172,106,11,108,67,68,69,68,205,155,199,119,30,121,114,158,104,130,9,134,210,119,63,151,64,151,91,153,109,152,6,159,15,158,60,0,42,0,208,82,27,115,254,116,69,64,48,149,75,130,34,135,51,147,220,97,116,115,245,97,237,155,19,136,60,0,42,0,95,91,67,216,124,221,166,104,149,110,34,89,35,89,221,68,37,151,52,55,60,0,42,0,185,99,221,100,60,0,42,0,170,84,47,119,135,119,60,0,42,0,158,81,37,95,89,127,98,121,247,143,21,115,28,140,120,138,190,132,76,95,223,100,220,124,59,126,14,139,154,145,138,158,139,158,176,121,97,151,55,55,48,112,124,115,155,158,2,98,32,101,213,116,126,149,34,114,119,69,60,134,190,145,191,145,13,158,196,145,60,0,42,0,115,124,136,130,142,79,181,108,139,127,45,95,35,109,73,101,43,119,18,129,51,110,94,132,164,146,29,133,212,111,74,91,86,112,60,0,42,0,150,81,248,124,104,108,149,108,147,91,204,108,197,137,218,92,187,91,85,121,216,121,198,91,231,109,255,109,147,137,148,137,66,94,39,140,83,88,78,94,32,58,155,137,39,86,147,105,245,110,30,111,144,113,28,135,18,106,36,133,15,159,170,81,102,94,215,111,16,139,193,106,26,124,204,133,131,127,60,0,42,0,92,78,0,84,169,84,246,84,109,91,60,0,42,0,109,112,213,112,149,137,35,100,197,110,17,133,19,157,254,123,142,133,109,94,241,97,215,106,27,136,74,136,86,148,116,156,60,0,42,0,181,85,60,0,42,0,215,130,100,52,140,90,207,99,75,158,132,119,226,125,147,157,89,156,60,0,42,0,106,103,7,119,210,121,252,109,58,110,8,127,206,123,242,125,208,133,136,144,60,0,42,0,153,89,153,94,133,115,215,122,191,94,223,94,60,0,42,0,44,140,44,139,60,0,42,0,128,91,135,130,32,119,66,90,245,126,148,90,201,104,191,125,220,125,241,129,82,135,53,91,176,106,203,106,200,119,202,119,207,119,60,0,42,0,15,78,69,108,77,81,148,108,254,158,201,82,4,119,41,90,67,55,109,80,149,81,212,82,17,110,149,85,16,97,78,110,5,127,123,125,124,129,66,132,253,158,240,62,236,125,171,158,160,111,184,155,60,0,42,0,99,151,98,151,198,124,170,158,186,158,181,158,60,0,42,0,17,108,196,89,183,92,222,95,11,96,251,101,252,101,201,115,255,118,7,120,224,130,96,127,15,93,106,99,24,116,23,127,111,101,73,116,251,117,136,120,49,146,205,125,184,74,225,125,9,147,22,157,114,147,60,0,42,0,191,118,186,81,33,82,245,149,191,98,239,108,196,82,67,101,253,149,175,96,79,101,34,123,253,96,99,110,148,149,13,97,6,59,139,102,169,149,246,80,92,97,171,97,99,111,34,124,92,216,75,220,216,156,32,136,53,156,104,216,52,221,60,0,42,0,138,87,61,123,60,0,42,0,13,84,14,102,35,158,58,109,0,119,165,81,23,131,25,103,51,119,237,148,199,90,159,110,61,115,13,145,157,102,160,105,194,132,152,146,244,156,145,119,159,135,173,137,228,74,60,0,42,0,114,79,243,89,213,81,79,97,105,145,60,0,42,0,125,84,39,105,122,138,60,0,42,0,181,99,60,0,42,0,234,107,178,88,1,108,60,0,42,0,205,107,169,78,97,114,118,87,198,89,199,98,212,92,115,114,70,117,82,117,223,128,93,117,94,117,42,120,110,117,95,216,249,223,67,216,150,222,103,146,7,142,60,0,42,0,40,103,235,78,48,103,238,118,144,108,199,114,145,112,103,114,220,130,227,107,158,134,188,148,175,131,238,150,223,82,8,55,88,105,102,119,108,146,147,88,85,94,89,94,84,97,85,97,174,102,82,130,2,151,70,122,56,126,170,151,60,0,42,0,233,81,60,0,39,0,208,253,39,0,8,49,60,0,42,0,209,83,183,108,122,118,160,80,124,118,66,95,102,145,177,145,60,0,42,0,79,78,16,79,194,89,161,87,76,109,186,117,90,127,0,150,48,104,29,120,55,131,79,123,130,119,112,127,165,149,120,127,67,106,197,133,60,0,42,0,113,79,213,108,75,112,60,0,42,0,208,115,58,116,234,154,238,154,95,133,94,216,11,223,60,0,42,0,69,147,60,0,42,0,207,78,114,87,60,0,42,0,187,104,60,0,42,0,222,152,131,89,94,151,219,152,97,85,83,90,4,110,239,126,100,216,235,221,73,98,6,115,242,131,95,151,203,125,26,135,246,136,15,151,177,156,37,153,161,153,17,154,27,154,221,152,60,0,42,0,165,128,221,109,83,129,8,66,48,135,230,135,60,0,42,0,15,103,42,83,253,139,92,89,177,96,144,101,208,104,167,105,225,127,185,138,218,123,92,133,100,216,60,221,60,0,42,0,32,84,159,94,110,103,184,108,210,114,186,128,190,130,50,102,199,128,57,141,247,79,85,82,158,83,191,117,93,92,107,150,195,94,67,62,9,132,187,140,241,117,68,149,226,94,202,102,53,73,72,118,35,159,247,111,1,76,224,106,225,155,40,148,69,151,60,0,42,0,84,90,131,102,60,0,42,0,17,125,230,136,60,0,42,0,54,127,38,84,154,89,57,127,59,127,149,107,236,150,0,157,60,0,42,0,6,94,9,138,106,117,235,82,67,86,15,91,97,94,163,97,217,101,67,133,219,101,89,126,251,127,233,133,83,143,191,152,83,124,220,152,85,156,60,0,42,0,225,81,226,81,227,81,54,56,219,95,75,103,254,119,117,124,146,148,201,103,230,112,39,130,50,123,229,104,34,110,105,113,208,125,166,88,10,106,78,106,212,113,160,116,176,129,65,126,160,133,179,127,78,137,111,142,42,112,63,112,44,121,7,148,34,148,41,134,28,136,237,157,60,0,42,0,205,83,85,98,212,143,74,72,233,145,60,0,42,0,64,216,169,221,62,108,175,114,127,89,78,108,109,153,219,108,41,141,72,117,3,131,0,64,211,142,79,90,181,104,0,61,213,118,53,123,169,140,236,142,239,152,240,152,252,110,14,91,196,123,60,0,42,0,36,130,60,0,42,0,6,82,41,84,9,94,183,126,16,102,27,108,172,130,219,84,122,81,27,125,194,127,111,136,93,81,28,138,90,145,251,104,22,146,240,150,31,59,6,103,211,113,52,153,89,153,60,0,42,0,95,87,162,89,142,92,126,108,12,103,140,103,131,112,166,128,146,127,160,134,161,134,164,104,252,104,26,113,154,153,182,132,179,88,105,94,198,111,117,155,104,106,204,113,97,133,110,140,171,150,34,159,181,127,22,159,118,140,82,143,60,148,169,153,194,158,60,0,42,0,137,124,250,158,60,0,42,0,253,78,5,95,75,89,255,95,206,121,126,80,36,97,170,124,232,80,164,97,110,89,185,129,222,124,188,156,53,112,93,156,60,0,42,0,213,122,174,142,60,0,42,0,26,83,185,101,74,87,120,108,161,144,139,103,101,114,179,130,171,148,132,134,211,109,1,146,11,157,60,0,42,0,168,89,50,150,63,98,170,128,197,87,130,156,116,155,31,156,60,0,42,0,255,78,191,139,119,95,186,126,9,102,24,102,236,116,6,119,35,80,202,101,33,125,43,130,42,138,227,154,173,157,60,0,42,0,62,101,189,141,60,0,42,0,15,88,58,147,60,0,42,0,48,78,206,152,249,78,232,81,236,81,166,89,163,108,168,108,238,81,171,103,1,92,175,117,253,118,28,120,168,152,212,54,239,92,240,92,160,68,81,80,123,104,253,112,54,93,38,115,11,149,83,105,142,114,81,132,2,135,11,118,184,120,252,80,200,123,210,146,55,145,146,106,207,149,80,140,224,147,165,52,247,91,38,56,67,112,70,145,59,151,52,134,45,136,74,151,204,152,183,158,60,0,42,0,175,81,6,89,64,99,114,109,34,144,56,88,174,153,152,125,66,130,128,57,83,100,40,111,111,61,60,0,42,0,189,139,42,85,130,137,247,138,60,0,42,0,228,81,73,89,46,117,248,79,87,110,40,113,72,113,29,127,87,141,239,156,243,156,12,157,245,140,43,126,60,0,42,0,18,116,132,110,189,147,21,134,60,0,42,0,133,137,60,0,42,0,43,89,21,79,75,84,139,89,158,144,199,89,158,115,164,128,36,96,206,103,6,120,186,87,16,90,3,92,66,131,109,136,201,101,106,59,40,125,116,131,186,141,184,158,225,117,3,122,215,141,7,146,95,123,146,125,117,91,103,140,28,145,119,101,154,129,250,156,169,158,208,124,172,158,177,158,239,97,60,0,42,0,64,78,255,93,23,95,15,79,235,81,54,117,91,79,185,81,28,82,90,91,118,98,136,84,170,92,127,95,43,96,194,98,13,103,142,103,237,108,194,126,203,126,153,130,163,130,216,79,152,87,132,58,235,103,31,108,17,109,165,112,184,115,73,117,80,117,88,127,251,130,0,131,232,151,249,84,63,104,110,109,41,120,83,121,47,131,168,134,219,144,16,83,116,104,170,109,240,112,8,116,38,123,48,123,49,125,60,125,199,127,116,130,169,131,89,134,69,94,244,104,101,125,102,127,212,131,177,136,176,124,141,125,64,130,77,132,9,135,144,143,88,146,92,146,171,152,231,156,145,105,143,121,42,122,153,123,205,151,94,94,147,111,96,135,244,154,232,138,62,142,59,143,132,155,20,157,65,118,101,216,50,223,251,158,70,137,105,157,157,157,60,0,42,0,82,84,154,98,43,117,118,78,156,94,35,95,202,98,167,101,204,79,219,79,213,128,236,156,239,79,217,144,220,145,225,145,108,99,133,143,36,113,217,118,81,129,207,110,5,135,232,66,80,129,20,143,56,86,168,100,171,100,43,152,52,155,32,124,252,158,60,0,42,0,207,46,214,46,29,150,54,114,163,139,216,78,135,89,31,141,144,84,127,87,20,57,206,122,28,150,68,150,120,154,13,89,202,92,3,138,160,140,116,141,49,57,84,121,165,134,90,150,105,80,168,81,111,82,102,90,185,134,157,136,133,80,141,90,204,91,169,95,198,61,255,121,215,134,66,138,75,141,17,87,49,105,26,127,121,129,47,132,139,156,89,141,123,75,60,59,238,125,92,135,110,135,7,137,20,137,230,140,217,153,20,91,27,126,103,133,57,143,146,155,251,140,81,147,98,147,198,156,134,137,165,153,0,70,18,156,65,216,215,220,60,0,42,0,92,145,40,105,132,137,163,121,178,155,60,0,39,0,208,253,39,0,9,49,60,0,42,0,145,84,210,84,55,128,69,131,26,123,210,85,45,100,69,216,63,220,152,100,96,86,89,216,191,221,33,137,157,147,60,0,42,0,190,143,126,84,178,89,27,96,147,108,214,143,159,112,141,127,87,117,99,117,42,123,89,131,115,82,18,83,84,123,90,138,57,144,84,144,24,150,124,151,145,151,152,133,137,147,253,135,130,142,61,148,195,151,150,159,152,159,60,0,42,0,83,98,60,0,42,0,39,89,79,108,20,119,60,0,42,0,175,87,182,88,41,118,245,113,104,126,60,0,42,0,26,86,60,0,42,0,43,57,116,96,151,95,194,109,234,96,207,104,29,149,179,95,183,95,64,147,60,0,42,0,48,87,132,118,38,129,60,0,42,0,70,84,84,84,67,115,219,97,60,0,42,0,121,107,163,80,46,144,60,0,42,0,50,52,227,78,106,143,67,216,58,220,136,87,177,92,18,94,25,117,208,126,128,154,38,94,133,95,32,96,203,103,134,107,179,115,55,141,232,143,47,94,209,142,237,87,54,94,63,125,139,136,218,142,214,62,184,140,233,142,71,116,215,94,6,66,199,83,194,59,255,125,195,102,15,157,52,98,88,216,2,221,92,130,219,158,36,124,91,142,59,112,52,151,241,158,118,137,70,151,60,0,42,0,152,155,60,0,42,0,136,46,0,82,2,82,232,83,201,95,55,103,24,108,32,130,214,145,125,156,91,155,60,0,42,0,111,99,60,0,42,0,252,91,155,92,246,92,99,99,119,121,23,100,130,121,0,56,139,93,140,93,54,58,157,150,14,92,212,88,185,93,227,100,72,142,175,150,177,121,60,0,42,0,48,82,18,80,188,96,24,113,215,118,220,118,255,131,83,144,50,122,140,123,226,127,59,122,92,136,117,86,95,136,164,106,254,113,38,67,255,127,199,142,217,116,155,126,60,0,42,0,118,92,102,150,33,105,221,105,60,0,42,0,58,84,23,85,92,81,253,144,96,81,56,133,119,106,252,123,60,0,42,0,150,98,39,150,147,103,161,103,30,85,170,134,97,150,4,146,60,0,42,0,151,101,70,140,98,109,214,144,126,153,37,155,170,104,237,107,48,129,115,131,23,144,88,145,216,117,151,149,166,122,38,75,38,155,22,153,163,101,68,216,157,220,216,149,70,69,199,122,42,155,44,155,45,155,60,0,42,0,103,78,84,130,60,0,42,0,57,78,137,89,85,83,197,98,88,83,8,119,3,120,60,128,61,128,159,68,67,128,173,142,248,144,174,85,133,90,154,107,5,118,48,83,170,123,21,152,11,81,239,82,29,137,50,145,212,100,171,107,73,118,20,117,30,124,76,137,120,128,60,0,42,0,20,79,16,82,140,98,172,115,237,116,198,128,184,117,30,125,116,136,184,99,85,141,182,78,162,100,163,100,184,111,213,158,189,129,238,158,60,0,42,0,230,101,70,79,14,94,138,108,249,108,218,114,222,139,230,103,141,117,86,85,87,85,57,95,238,96,225,109,203,134,127,85,62,95,46,108,69,129,15,132,219,137,214,53,158,122,228,80,17,135,190,153,231,154,62,86,73,86,72,95,154,97,149,138,186,97,186,102,185,111,222,132,32,157,171,121,243,153,90,118,170,86,117,126,9,141,46,151,79,153,53,74,60,0,42,0,101,98,125,98,60,0,42,0,83,95,240,115,219,148,92,123,198,136,118,117,121,86,162,111,171,116,57,124,97,130,247,135,96,137,58,148,60,0,42,0,33,99,90,81,32,140,203,100,97,139,232,158,41,101,89,112,19,107,156,139,60,0,42,0,57,108,252,81,53,87,149,91,0,120,177,87,99,104,97,131,120,90,19,97,234,131,99,93,253,116,63,144,252,150,173,120,5,81,82,111,138,119,164,141,203,88,105,133,148,106,151,116,234,118,17,121,28,124,47,134,227,149,60,0,42,0,111,112,123,118,75,140,84,86,1,91,200,113,146,116,243,122,38,124,180,137,108,142,60,0,42,0,41,103,73,123,37,98,60,0,42,0,147,144,243,81,177,88,157,93,39,145,165,150,170,119,244,120,107,149,200,106,25,148,60,0,42,0,96,130,60,0,42,0,16,108,254,78,78,79,67,89,125,95,157,127,155,136,36,88,134,141,132,150,244,110,0,106,93,149,254,120,73,147,174,151,60,0,42,0,196,114,248,94,116,124,214,130,234,143,25,85,76,101,164,109,145,104,27,123,123,131,204,137,110,151,176,153,226,154,0,86,225,90,204,110,223,127,20,152,117,101,11,133,16,133,0,74,129,86,244,123,36,74,116,140,98,142,4,155,225,133,209,147,174,66,244,124,191,137,16,158,60,0,42,0,142,83,88,87,203,139,103,84,149,94,36,95,181,98,222,98,184,144,58,150,226,103,116,114,11,131,37,120,222,87,139,99,125,59,231,131,221,137,70,138,231,142,92,128,182,154,60,0,42,0,84,87,31,95,243,101,85,103,147,115,31,96,228,79,29,94,202,87,35,90,89,80,71,85,114,85,138,104,13,113,246,115,49,119,44,123,27,140,18,144,19,144,241,145,130,90,227,104,39,110,71,119,118,121,20,127,194,131,192,80,99,129,130,132,106,146,145,88,85,100,178,120,152,121,67,135,94,144,172,88,120,97,224,125,21,133,112,144,179,93,11,117,230,138,54,142,174,135,60,0,42,0,243,155,60,0,42,0,242,85,60,0,42,0,57,114,204,141,58,137,60,0,42,0,164,87,204,92,78,96,21,99,51,102,214,126,197,128,245,130,237,143,222,116,35,119,28,98,242,67,13,140,139,85,30,88,245,96,242,99,115,117,112,125,11,128,247,129,68,138,131,141,123,149,224,83,156,107,67,114,82,114,125,93,159,120,40,135,83,130,118,135,11,137,75,216,163,221,220,138,64,142,189,156,42,59,225,102,137,117,8,156,138,117,14,108,60,0,42,0,203,84,10,128,48,119,60,0,42,0,73,94,130,117,60,0,42,0,1,82,252,83,72,108,109,134,203,81,93,89,52,95,107,95,193,134,49,116,130,140,137,120,237,156,166,107,151,119,213,150,137,155,183,156,38,159,219,155,112,157,60,0,42,0,90,98,76,92,60,0,42,0,20,95,4,79,10,84,147,148,142,122,11,138,3,140,137,99,227,145,222,148,235,148,232,122,177,146,255,150,97,155,231,132,191,138,57,118,181,122,253,146,203,133,67,148,60,0,42,0,19,124,60,0,42,0,31,78,34,78,67,216,141,220,229,148,169,146,60,0,42,0,56,117,65,101,67,216,167,221,130,99,142,80,167,83,110,93,199,110,199,105,217,105,40,118,160,152,78,142,197,93,90,152,91,152,107,118,211,93,212,93,39,101,114,118,123,159,60,0,42,0,120,81,76,89,185,112,112,90,32,115,68,67,95,101,213,141,152,120,167,132,46,142,71,133,222,158,184,86,60,0,42,0,53,117,67,79,107,87,151,94,61,150,171,87,66,98,183,115,191,148,93,90,230,96,192,109,96,89,20,116,191,107,20,135,251,150,138,88,194,88,66,106,93,106,177,111,91,151,82,216,113,222,92,118,31,124,84,154,60,0,42,0,35,105,60,0,42,0,1,78,195,78,238,83,4,94,142,115,148,117,239,118,137,148,53,128,112,134,74,145,216,145,106,151,60,0,42,0,117,89,118,152,2,152,192,58,14,159,127,93,17,159,206,111,161,133,36,148,60,0,42,0,162,139,202,95,100,153,244,119,154,91,2,138,227,152,118,85,228,148,23,105,90,129,35,132,135,120,45,149,160,120,74,135,204,146,32,147,248,120,65,152,60,0,42,0,98,128,60,0,42,0,190,83,71,216,42,220,98,82,7,150,99,119,31,86,143,145,205,149,60,0,42,0,210,107,236,114,156,109,251,139,14,110,31,105,105,60,77,114,138,114,161,120,251,136,173,138,115,135,104,115,22,147,223,81,53,83,59,91,6,112,221,106,176,107,88,114,162,114,196,116,190,118,51,154,233,158,128,139,68,140,21,141,227,151,95,148,209,154,199,151,229,151,247,158,159,139,60,0,42,0,3,123,53,88,62,94,76,141,61,116,121,119,169,137,237,140,228,123,60,0,42,0,146,89,92,103,154,128,143,130,172,89,166,94,250,121,112,131,33,110,111,151,64,149,103,216,90,221,153,135,172,107,77,147,53,124,39,136,57,136,60,0,42,0,26,89,27,89,132,84,198,84,83,117,95,82,28,93,135,99,96,101,242,107,240,136,137,86,60,0,42,0,58,89,206,148,107,82,83,101,90,101,165,85,179,96,106,101,229,117,44,146,106,89,217,81,49,142,181,155,56,148,60,0,42,0,53,103,54,103,218,84,155,87,156,87,5,99,6,99,245,87,13,127,47,105,147,141,177,142,178,142,158,125,42,73,156,97,184,78,122,147,195,142,178,86,114,89,60,0,42,0,52,82,65,82,115,153,46,92,193,103,238,103,168,112,74,150,79,150,87,104,21,88,53,130,240,96,226,141,229,141,250,141,255,152,231,62,174,88,175,88,158,93,125,157,60,0,42,0,164,103,60,0,42,0,150,87,6,88,96,88,95,93,253,117,211,120,45,157,28,148,60,0,42,0,3,58,39,152,60,0,42,0,249,91,31,150,74,81,76,81,81,81,254,91,60,96,75,121,110,150,138,150,147,120,207,65,144,125,13,92,158,97,157,97,231,111,102,149,223,97,104,137,35,59,177,133,41,112,72,139,19,148,60,0,42,0,17,128,115,80,108,82,143,90,239,122,13,137,116,147,60,0,42,0,74,216,67,223,237,119,60,0,42,0,181,107,173,101,69,88,14,127,52,105,69,113,86,116,118,129,110,132,171,120,59,149,222,125,200,107,22,124,91,147,183,101,150,142,106,124,60,0,42,0,40,84,199,96,102,101,51,135,169,88,170,88,180,100,100,115,120,86,137,100,84,106,156,114,5,121,59,69,114,142,126,142,80,154,60,0,42,0,76,216,180,223,249,118,184,141,137,142,60,0,42,0,5,79,228,86,137,94,140,108,150,112,254,118,24,120,157,148,7,144,127,152,13,146,111,105,65,144,19,152,97,111,111,144,201,113,50,142,60,0,42,0,183,120,60,0,42,0,28,78,172,81,154,84,181,54,189,92,113,103,56,102,33,108,243,130,50,80,43,158,236,87,59,90,32,93,44,93,183,109,23,123,154,95,45,108,196,131,100,216,147,220,64,135,36,157,21,159,223,155,135,157,60,0,42,0,2,58,99,132,165,88,189,123,204,138,30,91,79,216,197,223,107,133,194,97,60,0,42,0,168,82,187,81,151,79,140,87,219,89,210,92,107,96,15,99,11,104,30,109,232,128,205,81,25,98,244,128,245,143,213,82,80,120,223,104,105,110,103,125,86,129,205,80,231,153,24,151,60,0,42,0,151,155,171,157,60,0,39,0,208,253,39,0,10,49,60,0,42,0,214,78,131,91,121,89,96,114,66,121,202,148,191,141,76,88,187,110,153,105,31,137,131,86,231,149,60,0,42,0,121,142,60,0,42,0,84,88,154,110,150,88,243,53,109,115,206,156,122,115,40,156,60,0,42,0,163,78,211,98,30,99,231,114,252,149,67,216,50,221,229,54,9,93,190,109,124,59,40,100,191,64,246,141,187,105,254,107,11,66,93,144,98,144,147,52,162,121,187,138,15,142,187,100,190,111,20,147,125,106,204,111,75,142,156,151,153,155,249,63,210,149,179,151,186,86,118,139,229,149,105,216,1,222,162,142,60,0,42,0,164,79,156,84,60,0,42,0,209,95,210,95,121,114,163,140,174,134,253,148,93,97,241,146,163,135,216,135,60,0,42,0,252,86,97,91,206,128,60,0,42,0,173,81,240,83,242,101,110,87,172,98,176,144,177,103,177,112,178,112,212,130,237,131,198,141,3,59,144,156,136,123,250,129,177,152,26,66,216,153,19,81,144,155,47,91,225,100,0,62,175,106,185,133,73,124,60,0,42,0,42,89,51,89,242,95,112,108,1,96,189,128,155,148,240,108,38,130,237,72,94,145,38,146,153,110,75,97,228,113,60,0,42,0,143,124,60,0,42,0,50,89,34,95,155,109,230,126,143,99,92,138,205,90,77,94,70,97,47,100,212,110,91,125,196,105,107,116,236,151,248,152,49,66,26,126,39,126,228,111,31,139,65,143,62,73,177,151,220,151,85,153,60,0,42,0,11,83,183,84,46,109,239,143,67,104,3,144,85,85,188,104,216,109,59,65,249,126,118,150,4,132,121,121,175,125,42,135,234,136,128,151,132,145,137,151,254,146,45,147,227,153,174,106,64,153,10,154,23,159,60,0,42,0,168,139,14,138,60,0,42,0,87,89,60,0,42,0,119,80,120,80,126,90,174,90,192,146,110,147,60,0,42,0,160,78,52,89,149,98,176,154,240,125,45,152,60,0,42,0,181,89,173,148,15,125,151,58,104,101,243,152,200,158,35,134,60,0,42,0,15,144,137,125,60,0,42,0,77,87,49,54,169,98,42,141,57,96,209,117,17,130,170,140,74,100,233,110,43,118,249,100,36,101,88,112,113,118,60,0,42,0,91,87,68,216,168,222,25,102,19,80,8,140,82,90,212,96,239,144,131,137,131,105,240,117,44,149,45,140,176,88,181,88,155,97,109,111,199,138,136,145,199,88,199,102,194,113,31,147,36,153,128,106,249,120,67,152,72,127,220,88,235,133,90,139,154,140,176,145,96,139,78,127,60,0,42,0,208,95,102,87,217,67,189,148,146,136,239,107,252,131,161,71,109,146,255,85,179,97,187,97,147,145,174,116,98,137,60,0,42,0,249,83,173,112,238,87,162,99,157,80,96,110,203,80,6,86,179,120,21,130,78,107,231,140,60,0,42,0,100,108,99,87,244,148,111,110,33,86,37,128,143,82,176,127,106,135,182,71,0,72,87,149,154,133,90,142,220,147,11,148,186,151,30,159,60,0,42,0,103,153,16,85,2,88,143,80,122,85,123,59,224,104,125,52,88,88,13,55,42,100,143,110,12,145,182,105,31,111,123,113,109,116,133,129,206,132,154,150,24,106,77,216,95,222,196,120,159,121,195,124,155,129,86,106,214,123,214,124,151,135,60,142,219,124,179,135,111,141,163,145,51,153,78,66,149,147,57,153,219,149,68,153,96,216,137,221,182,157,60,0,42,0,22,79,17,94,24,80,82,80,204,109,165,80,186,142,75,149,178,147,59,81,3,98,237,102,35,114,216,119,130,148,60,0,42,0,235,112,101,100,159,141,217,113,60,0,42,0,165,113,175,129,31,159,60,0,42,0,188,117,203,117,80,94,126,129,138,138,27,111,213,110,34,126,134,144,230,153,4,139,47,81,228,133,48,154,80,124,39,156,88,124,99,154,60,0,42,0,47,151,60,0,42,0,69,134,60,0,42,0,84,82,175,104,56,53,17,149,34,142,255,100,200,157,201,157,60,0,42,0,151,83,208,130,232,126,81,131,77,80,124,85,57,93,255,96,208,99,10,122,7,127,100,127,72,158,193,85,69,116,136,125,70,144,174,120,178,95,61,111,249,125,109,135,6,137,187,146,152,152,91,133,167,141,68,142,141,145,21,139,79,142,87,147,192,156,58,157,76,152,183,155,92,157,32,154,247,155,151,157,153,157,181,121,228,157,60,0,42,0,83,79,46,99,176,142,181,154,167,155,198,142,212,154,60,0,42,0,59,98,78,216,194,221,73,92,207,143,67,82,17,103,31,109,28,80,140,96,149,109,92,92,144,96,213,96,166,99,22,144,214,96,229,99,255,102,55,144,116,105,252,136,82,107,162,107,5,137,240,154,49,59,143,86,153,133,0,155,148,86,203,116,74,124,175,141,145,77,60,0,42,0,57,123,92,93,60,0,42,0,22,94,23,96,52,141,81,128,28,132,188,140,60,0,42,0,193,148,200,134,227,80,149,146,232,146,41,157,33,148,53,148,86,154,60,0,42,0,107,84,251,152,52,77,46,153,60,0,42,0,235,101,123,79,163,94,76,96,17,99,103,121,56,59,78,128,60,0,42,0,128,130,97,103,167,92,185,92,226,143,82,121,157,104,36,123,20,132,237,71,146,141,134,159,218,132,41,135,36,106,232,132,218,146,235,154,166,156,151,151,165,147,200,155,96,159,55,156,60,0,42,0,168,91,64,102,19,103,32,62,1,129,149,122,130,138,55,72,177,122,162,101,37,91,60,0,42,0,58,119,156,124,105,125,156,137,243,141,246,124,60,0,42,0,169,135,60,0,42,0,41,89,114,81,86,90,251,109,95,145,84,151,236,66,50,59,199,158,93,151,60,0,42,0,48,117,71,92,186,108,108,96,75,117,81,117,247,118,203,128,96,117,27,117,28,117,73,110,254,131,82,72,97,88,107,88,55,100,63,146,23,150,194,125,204,120,180,122,179,116,208,149,198,157,207,157,60,0,42,0,221,95,132,107,14,80,173,53,58,85,73,54,191,96,223,109,106,102,32,116,70,129,205,137,246,117,83,119,20,130,2,153,165,137,223,140,42,147,102,151,105,147,60,0,42,0,1,52,173,99,124,119,26,130,60,0,42,0,181,120,43,157,60,0,42,0,133,83,129,94,64,108,124,130,44,84,58,117,19,128,155,83,195,112,111,104,244,112,142,125,252,66,147,151,116,128,240,94,124,128,125,128,243,94,60,0,42,0,146,144,247,94,173,78,173,94,92,80,155,131,119,90,73,93,31,110,95,105,115,123,118,132,19,135,179,105,100,128,79,135,174,149,6,151,234,138,46,159,60,0,42,0,68,216,60,222,34,87,60,117,185,79,23,90,58,99,143,109,131,104,246,112,253,115,33,129,139,152,71,130,148,138,50,152,104,216,182,222,60,0,42,0,248,81,138,91,191,121,195,121,34,96,129,122,11,85,139,109,120,99,23,88,101,110,220,117,86,132,128,93,245,146,90,157,53,159,60,0,42,0,243,86,254,86,195,81,249,92,169,94,146,95,135,96,72,99,130,109,96,92,140,104,204,62,124,131,20,144,236,99,120,59,12,122,223,131,21,87,87,88,94,93,76,216,37,222,15,118,97,123,111,129,47,146,22,87,23,87,220,94,115,111,164,132,255,141,116,145,221,72,159,153,78,147,252,153,76,157,159,157,203,157,245,157,60,0,42,0,31,87,33,87,16,84,141,148,247,145,60,0,42,0,78,81,84,81,204,143,13,88,117,157,60,0,42,0,98,108,181,131,60,0,42,0,71,78,219,78,172,139,88,98,97,98,81,108,102,153,84,103,130,79,131,84,213,98,214,98,176,108,41,99,93,99,23,138,182,109,43,129,49,129,140,131,165,136,229,152,96,155,93,154,60,0,42,0,110,154,87,79,104,87,174,92,177,108,178,108,207,114,64,150,65,150,124,154,241,143,35,120,36,120,53,158,61,125,137,136,54,88,206,141,97,145,177,153,214,105,162,120,126,75,196,153,221,153,222,153,80,106,128,155,21,157,39,159,40,154,13,159,82,154,9,159,60,0,42,0,117,95,165,89,185,94,160,90,45,105,85,105,247,90,98,106,78,157,12,155,22,156,60,0,42,0,221,103,228,107,62,85,26,132,197,141,251,107,168,123,0,134,92,124,60,0,42,0,168,99,247,132,236,133,60,0,42,0,26,95,3,64,147,152,53,92,164,150,57,152,58,152,61,152,75,155,104,122,106,142,8,134,215,63,60,0,42,0,192,79,211,80,127,129,70,142,189,154,60,0,42,0,187,79,39,90,0,144,122,113,251,134,21,135,42,137,254,153,60,0,42,0,77,110,47,115,83,113,78,71,146,140,78,77,60,0,42,0,226,86,227,86,159,98,120,82,24,87,113,97,118,100,25,111,235,105,255,123,178,106,196,147,240,124,210,157,251,157,60,0,42,0,131,117,60,0,42,0,86,95,106,110,22,137,60,0,42,0,30,84,81,84,146,109,77,85,28,103,30,113,75,86,190,102,63,59,215,158,60,0,42,0,111,92,73,87,243,95,104,153,154,130,88,140,90,140,216,142,233,152,128,156,104,155,84,58,21,151,192,129,203,129,60,0,42,0,61,108,125,117,60,0,42,0,253,101,60,0,42,0,242,86,181,112,204,117,26,144,245,85,234,132,60,0,42,0,221,78,12,84,95,79,100,95,194,92,157,94,195,84,221,92,234,114,77,102,80,104,117,109,212,112,60,120,60,131,146,134,46,119,241,121,220,148,229,122,161,124,90,216,52,222,105,123,119,138,104,141,110,145,86,146,238,80,237,82,117,146,133,146,7,153,150,156,124,111,94,115,200,102,35,103,102,106,3,108,209,113,157,114,167,129,63,63,179,119,166,155,89,216,141,220,0,77,60,0,42,0,223,126,69,99,140,58,118,104,82,123,113,125,130,125,11,106,60,0,42,0,120,96,219,117,85,136,95,97,133,97,60,0,39,0,208,253,39,0,11,49,60,0,42,0,239,85,60,0,42,0,207,98,255,98,16,99,241,85,78,149,191,147,60,0,42,0,120,78,234,84,235,150,60,0,42,0,54,84,80,84,160,89,179,126,163,144,173,128,160,148,28,90,13,125,114,136,122,99,29,123,87,216,73,222,166,136,125,140,220,142,128,140,9,146,121,151,179,132,83,216,59,222,118,155,43,66,60,0,42,0,146,117,183,139,144,98,50,119,37,138,60,0,42,0,98,84,60,0,42,0,73,129,139,113,104,100,123,91,60,0,42,0,67,78,118,89,22,108,127,130,147,117,179,89,252,94,55,80,250,143,226,145,45,91,60,0,42,0,72,89,240,103,15,128,16,128,69,216,171,223,63,110,24,132,16,159,154,135,38,137,60,147,60,0,42,0,30,90,129,153,46,129,71,129,18,153,190,155,216,155,60,0,42,0,103,81,133,81,59,52,29,108,23,147,60,0,42,0,108,91,60,0,42,0,118,84,19,96,32,99,241,92,71,120,217,148,49,115,242,134,73,138,153,120,147,100,169,93,185,97,239,135,18,89,74,139,3,148,206,93,60,0,42,0,180,87,124,96,169,96,17,129,24,83,22,88,241,96,208,90,89,116,102,129,175,120,0,71,118,115,127,115,60,0,42,0,249,149,101,90,214,109,153,149,39,155,209,129,60,0,42,0,51,129,60,0,42,0,186,127,60,0,42,0,66,85,60,0,42,0,200,105,40,128,115,115,189,106,146,147,30,148,115,139,60,0,42,0,225,86,60,0,42,0,55,117,143,103,172,103,189,79,87,83,223,103,26,90,88,117,190,150,174,131,131,85,148,102,96,105,245,138,227,150,93,216,116,221,60,0,42,0,103,141,199,99,115,110,105,129,51,132,18,66,123,135,1,98,60,0,42,0,89,216,218,222,123,90,46,59,60,0,42,0,86,144,60,0,42,0,65,96,233,90,240,90,60,0,42,0,212,86,60,0,42,0,106,78,162,86,104,139,202,86,48,136,30,155,149,153,28,107,98,153,60,0,42,0,195,100,233,102,46,101,98,112,60,0,42,0,62,81,73,159,60,0,42,0,253,128,60,0,42,0,67,216,76,222,99,216,153,221,60,0,42,0,174,89,60,0,42,0,60,92,109,87,190,55,41,96,229,108,126,124,42,80,84,92,220,121,204,148,255,87,87,90,227,109,10,115,173,134,38,70,243,144,255,104,82,216,164,221,207,70,220,141,93,129,99,128,58,135,236,137,142,140,23,143,19,151,181,156,211,155,226,155,145,158,111,159,225,129,60,0,42,0,49,79,96,79,179,98,223,98,212,114,197,103,232,130,206,101,114,102,116,91,46,146,156,153,23,81,30,81,236,100,172,150,183,106,191,133,123,128,60,0,42,0,112,92,60,108,50,79,79,216,183,220,53,102,210,128,225,143,36,119,6,144,63,83,4,88,196,96,53,97,186,110,104,119,123,129,223,90,177,102,189,138,101,64,12,126,169,129,58,91,105,216,91,222,60,0,42,0,174,136,60,0,42,0,79,99,209,99,60,0,42,0,246,130,60,0,42,0,7,94,89,216,18,222,60,87,191,103,133,109,198,117,66,128,236,129,103,150,110,85,215,96,166,85,92,101,124,110,205,131,137,150,235,85,114,93,2,142,91,86,112,100,247,105,23,142,74,149,77,149,173,93,222,123,242,129,28,147,158,152,81,142,153,86,118,128,179,147,209,149,124,91,56,55,125,91,241,106,75,124,193,86,22,134,103,159,76,216,51,220,241,124,37,136,72,148,245,124,211,86,152,139,161,142,119,148,115,152,128,148,192,75,60,0,42,0,213,93,60,0,42,0,31,158,17,131,100,59,133,136,229,156,203,90,202,136,34,106,38,133,29,91,45,137,50,91,53,55,60,0,42,0,63,92,50,129,60,0,42,0,158,89,60,0,42,0,167,46,91,114,124,108,60,0,42,0,248,95,109,98,195,114,189,126,132,112,174,148,16,125,165,131,21,146,117,151,60,0,42,0,66,136,244,66,60,0,42,0,92,114,60,0,42,0,200,98,43,133,60,0,42,0,116,94,202,121,214,84,229,121,135,156,142,155,182,156,207,158,240,155,60,0,42,0,138,109,123,99,240,109,62,113,200,141,135,143,151,143,154,100,181,100,190,120,38,143,16,124,77,142,6,101,104,142,142,142,60,0,42,0,68,83,255,94,245,95,233,89,56,85,221,87,76,130,48,159,60,0,42,0,71,157,60,0,42,0,220,86,168,96,251,66,60,0,42,0,240,98,60,0,42,0,12,129,60,0,42,0,24,90,34,91,67,91,60,0,42,0,127,145,184,145,192,145,60,0,42,0,129,91,155,84,231,98,222,114,224,103,231,130,77,128,205,91,213,91,47,117,215,91,220,91,231,91,28,81,221,81,128,86,35,91,240,100,112,115,184,106,180,133,121,128,94,216,72,223,79,148,33,155,11,158,60,0,42,0,99,106,195,119,60,0,42,0,94,79,171,79,222,108,216,111,60,0,42,0,157,111,60,0,42,0,116,89,101,91,125,154,47,123,209,153,60,0,42,0,46,79,170,82,41,95,46,120,236,128,60,0,42,0,18,96,137,80,25,100,60,0,42,0,205,144,42,99,155,104,169,80,58,81,60,0,42,0,96,106,60,0,42,0,250,139,143,85,30,97,73,216,42,223,191,99,38,100,61,144,24,149,59,100,146,105,44,122,209,124,254,138,67,142,230,97,231,97,229,124,100,122,239,124,60,0,42,0,123,89,60,0,42,0,28,110,9,59,150,102,86,113,87,113,42,153,60,0,42,0,193,158,60,0,42,0,156,81,172,79,221,84,83,109,19,129,254,121,178,143,2,81,179,143,101,86,195,111,130,106,246,113,191,129,125,133,175,121,96,122,91,137,178,145,1,107,60,0,42,0,119,126,60,0,42,0,4,95,10,99,81,118,72,159,60,0,42,0,115,89,149,148,121,124,249,145,60,0,42,0,145,108,103,96,18,103,68,136,188,70,60,0,42,0,159,117,80,134,120,120,39,118,60,0,39,0,208,253,39,0,12,49,60,0,42,0,131,87,201,98,198,103,203,127,200,131,26,100,139,144,60,0,42,0,239,101,76,82,44,120,230,99,214,120,185,86,60,0,42,0,135,85,222,133,60,0,42,0,74,129,231,99,75,105,12,118,33,135,75,135,162,143,163,143,114,135,200,129,11,101,9,114,216,129,14,155,206,116,116,149,251,155,31,136,94,148,60,0,42,0,102,85,130,110,161,151,60,0,42,0,214,86,60,0,42,0,139,128,60,0,42,0,194,78,57,53,80,78,251,83,199,95,80,98,59,108,30,150,143,115,123,130,208,108,251,122,51,120,125,105,247,151,2,106,21,124,161,57,211,156,51,156,60,0,42,0,134,78,121,153,14,153,60,0,42,0,101,103,134,79,235,79,8,80,3,93,149,95,158,109,97,90,13,93,178,94,160,95,190,104,246,109,13,115,177,131,242,144,246,104,28,116,89,123,10,132,40,144,252,148,130,123,241,66,96,216,144,220,56,147,11,154,224,155,134,157,179,158,60,0,42,0,59,85,73,141,80,119,94,119,86,141,218,140,209,111,244,140,60,152,66,152,68,216,150,220,94,118,99,157,40,112,44,112,65,124,244,106,10,62,254,133,105,118,95,124,112,137,60,0,42,0,210,82,60,0,42,0,247,150,216,90,39,127,126,117,2,133,194,100,98,61,145,106,50,126,12,121,109,149,209,106,195,116,184,127,39,121,141,126,77,127,29,136,51,148,50,134,96,143,61,81,232,88,88,148,65,151,25,107,70,134,157,126,58,159,60,0,42,0,189,83,18,128,212,139,146,87,107,125,66,129,171,80,132,138,15,106,202,120,229,120,76,133,33,81,66,66,126,133,216,88,125,61,87,118,208,106,223,133,40,121,69,112,132,139,61,134,120,148,19,158,60,0,42,0,234,108,33,109,123,124,153,109,218,109,47,125,96,216,36,220,121,145,135,146,27,152,42,152,17,147,174,72,2,101,163,152,94,152,106,66,135,126,49,134,183,121,60,0,42,0,65,88,30,86,105,156,60,0,42,0,94,99,136,100,60,0,42,0,179,82,180,82,98,114,130,122,240,84,32,85,2,93,118,109,222,82,232,117,249,148,215,80,46,86,160,55,151,93,165,97,82,216,66,222,70,118,241,120,41,124,231,135,170,145,18,148,95,152,221,154,60,0,42,0,2,128,1,128,108,79,190,84,229,89,69,96,235,114,51,104,86,131,209,148,237,65,160,146,102,111,81,106,81,143,60,0,42,0,157,109,217,112,34,128,106,145,234,90,166,97,135,111,188,142,111,106,46,128,194,142,60,0,42,0,239,115,83,120,89,216,232,222,169,124,239,134,37,103,177,155,60,0,42,0,156,119,60,0,42,0,69,82,4,90,123,80,65,90,189,85,135,110,194,80,124,105,140,132,13,86,212,94,122,97,10,111,19,106,161,113,39,128,30,133,124,135,113,144,44,128,91,130,187,135,49,139,193,142,197,154,187,151,207,154,60,0,42,0,93,93,2,100,127,88,129,93,95,100,211,123,10,117,13,124,60,0,42,0,55,53,75,150,90,92,15,111,24,118,66,149,58,118,59,118,228,147,60,0,42,0,112,81,154,92,230,98,15,104,106,90,207,96,80,93,17,150,123,132,221,132,48,140,177,83,156,111,22,81,147,101,238,123,52,137,226,97,227,113,247,113,103,149,204,149,188,116,205,133,85,137,75,139,96,216,79,221,113,94,20,101,62,112,67,124,127,126,100,137,149,101,4,107,70,112,45,134,55,121,99,124,116,137,210,86,97,112,149,139,157,142,23,107,132,148,202,151,60,0,42,0,200,137,104,109,230,54,253,99,6,127,132,105,36,111,113,127,130,145,200,88,210,97,167,137,92,58,229,100,62,91,246,97,68,91,189,137,43,67,79,91,44,101,96,112,213,86,22,107,38,114,114,152,156,126,60,0,42,0,194,112,229,110,215,113,130,86,235,111,1,114,27,114,211,116,36,114,109,148,247,124,60,0,42,0,125,137,60,0,42,0,119,85,60,0,42,0,198,82,206,144,52,107,252,114,222,144,6,150,143,101,121,104,98,60,5,116,207,90,202,94,96,120,2,122,18,149,148,105,111,116,100,123,70,130,200,132,11,135,180,142,130,135,195,146,175,147,250,153,60,0,42,0,23,103,22,103,250,112,95,54,113,88,3,106,226,132,143,138,190,59,36,103,60,0,42,0,204,87,0,93,106,109,240,58,168,131,67,216,152,222,151,132,172,149,60,0,42,0,37,85,210,144,60,0,42,0,4,54,60,0,42,0,26,93,68,88,241,104,94,105,144,120,28,122,24,143,68,66,144,133,60,0,42,0,183,81,60,0,42,0,48,80,14,88,35,97,86,119,28,142,60,0,42,0,233,84,60,0,42,0,21,82,93,103,152,83,83,82,248,114,138,154,161,96,168,104,169,104,184,104,129,114,13,116,187,121,154,124,114,131,177,85,195,104,29,61,130,114,222,131,66,158,122,82,19,111,72,62,93,119,99,123,33,127,67,130,10,135,67,216,215,222,67,216,29,223,224,90,119,91,224,118,141,140,146,57,6,106,131,116,206,124,224,132,235,146,161,156,206,158,121,127,62,133,91,216,153,222,5,147,241,123,45,126,39,69,205,135,53,137,159,86,39,139,168,145,208,145,226,150,132,101,0,60,200,116,220,133,140,144,235,147,236,155,121,157,231,158,196,86,33,136,57,154,75,91,242,94,33,101,85,112,153,82,58,134,87,148,114,122,108,124,154,126,106,154,122,156,29,158,60,0,42,0,60,121,78,103,204,145,218,79,219,92,226,92,12,90,242,92,108,109,6,116,38,144,2,149,180,124,207,136,225,136,74,140,240,146,164,156,99,81,167,111,174,121,201,155,248,135,180,145,226,156,144,144,103,156,26,107,60,0,42,0,155,82,134,83,137,83,116,92,203,122,15,84,56,103,61,78,41,82,177,82,86,84,92,87,165,108,139,79,120,53,166,92,62,98,165,103,180,108,160,117,200,130,182,150,208,79,234,79,38,57,14,104,172,117,5,120,217,130,114,141,121,143,102,52,14,85,51,90,167,96,23,104,27,104,150,109,1,115,213,115,58,120,62,120,221,121,24,131,84,131,230,144,51,85,111,90,32,123,146,124,157,124,55,129,133,131,137,131,184,134,206,134,136,80,211,81,164,83,217,104,226,117,224,134,72,138,222,141,243,150,175,83,91,88,68,97,46,100,167,110,93,146,232,156,15,59,166,102,116,107,110,116,159,125,154,132,158,132,39,135,178,83,119,135,198,102,119,107,229,123,9,69,183,150,103,216,152,221,23,157,245,82,250,62,255,120,184,150,1,155,46,81,193,93,255,111,88,118,152,147,166,86,226,88,10,101,222,102,212,106,223,106,29,112,4,114,161,114,197,116,7,136,151,158,234,106,15,114,209,116,170,118,237,118,203,119,42,121,43,121,178,121,246,133,167,52,55,81,103,118,48,121,242,124,35,136,43,136,197,157,156,158,199,86,38,101,94,216,157,220,251,137,146,142,98,143,72,145,16,107,136,139,96,216,155,222,99,143,45,101,229,116,66,151,102,216,195,221,113,156,115,156,75,151,60,0,42,0,3,104,170,106,207,155,60,0,42,0,233,79,6,80,60,0,42,0,167,84,60,0,42,0,23,82,163,82,189,81,189,82,220,57,244,89,18,99,12,109,247,84,210,87,211,87,32,57,94,59,53,104,86,109,200,112,34,131,254,143,105,99,105,59,14,115,31,129,218,134,194,136,109,113,89,119,87,128,148,141,228,93,178,152,32,81,164,155,55,157,248,100,117,115,163,114,144,142,27,155,47,59,35,155,114,156,60,0,42,0,223,107,24,99,238,112,31,115,60,0,42,0,169,100,125,142,60,0,42,0,189,143,151,117,74,128,218,80,229,91,122,93,128,97,59,111,139,129,57,86,253,90,238,91,154,93,155,93,121,101,96,115,45,127,184,102,206,113,153,116,171,129,124,144,115,61,66,118,105,158,106,92,235,94,29,124,90,126,223,135,66,140,255,140,88,142,16,148,212,133,201,152,206,154,239,157,60,0,42,0,254,83,38,65,140,148,213,145,29,145,173,97,252,132,173,119,226,102,125,149,18,114,60,0,42,0,37,92,38,92,147,112,153,101,30,92,214,94,130,100,183,122,99,149,60,0,42,0,14,114,60,0,42,0,156,110,152,113,83,142,60,0,42,0,24,82,160,108,68,117,65,109,79,109,9,116,89,117,200,101,113,117,107,120,215,136,99,216,231,222,185,90,103,93,210,101,197,132,143,153,157,154,180,105,96,116,165,132,91,144,215,152,137,82,108,116,36,118,194,120,79,149,224,153,96,158,74,106,162,116,129,117,96,149,69,118,201,135,101,216,233,221,245,153,160,86,240,97,15,112,143,147,166,147,141,158,240,133,208,147,192,152,46,154,197,152,33,156,185,157,81,154,60,0,42,0,213,57,243,103,1,104,203,115,122,104,250,126,13,149,90,146,249,152,185,125,174,113,118,127,246,146,110,106,60,91,128,127,60,0,42,0,109,81,66,117,207,127,111,88,199,94,145,111,223,120,104,158,36,151,62,153,225,150,2,148,194,152,56,155,218,157,60,0,42,0,94,104,60,0,42,0,65,89,24,94,28,96,222,143,159,109,191,104,178,131,122,70,35,144,84,128,183,78,201,94,147,110,50,83,249,85,105,89,105,97,35,111,145,113,226,136,157,137,134,82,51,83,82,86,254,90,144,97,228,105,207,120,107,128,238,132,162,156,194,111,211,111,110,128,138,135,235,113,58,126,244,127,111,128,193,129,149,133,51,137,48,139,101,142,140,147,112,149,227,106,62,124,10,136,17,155,101,73,46,148,49,156,98,124,104,124,60,0,42,0,91,101,15,116,56,129,227,136,89,100,137,116,57,133,26,91,130,101,236,59,201,129,59,145,183,127,93,137,30,134,60,0,42,0,195,126,188,112,75,96,112,109,147,107,28,88,3,55,161,90,104,60,69,110,254,148,198,80,93,105,73,113,83,116,48,132,75,111,244,125,176,111,44,147,174,107,74,147,200,147,145,61,50,112,10,156,29,134,0,98,59,55,158,126,60,0,42,0,104,128,60,0,42,0,206,98,60,0,42,0,184,83,151,103,187,144,52,78,167,81,221,119,73,85,10,93,203,109,125,102,51,116,166,124,243,117,132,120,150,123,188,124,153,93,126,111,92,115,48,145,163,150,180,101,189,102,208,113,152,116,154,143,116,144,22,151,181,119,247,120,232,129,87,126,247,127,144,158,84,143,227,88,54,112,251,147,222,156,78,154,87,156,159,158,60,0,42,0,45,52,6,58,251,131,131,78,219,81,220,81,155,100,233,94,234,94,205,97,212,97,159,111,129,106,169,106,91,118,93,118,60,0,42,0,29,84,97,96,139,96,65,141,27,113,195,140,239,80,58,133,73,106,166,129,181,149,16,117,132,117,120,142,250,133,143,142,153,142,170,142,101,143,60,0,42,0,111,130,205,79,201,81,129,104,188,109,11,105,140,143,174,124,177,124,154,88,161,125,9,142,17,106,44,143,231,124,60,0,42,0,33,78,36,78,179,52,105,81,33,85,98,85,154,99,60,129,201,125,61,135,242,136,73,155,78,155,60,0,42,0,174,78,244,84,162,96,5,140,134,143,168,85,126,102,120,110,207,145,12,143,210,138,27,143,68,147,60,0,42,0,119,113,23,124,60,0,42,0,7,48,54,79,34,82,117,112,249,86,125,87,12,89,200,89,186,92,126,95,224,108,209,114,36,102,14,103,195,103,178,115,211,130,204,81,244,116,138,118,49,120,226,121,219,122,195,148,48,158,72,90,149,99,194,104,233,109,12,116,45,123,55,125,235,126,69,67,154,127,206,127,70,128,50,130,201,134,81,136,117,150,241,131,69,138,201,141,232,142,126,121,52,146,157,149,246,150,132,159,10,66,190,125,236,136,6,133,10,151,214,153,170,111,2,147,127,155,174,156,18,157,119,158,33,59,239,113,65,66,22,69,118,133,27,151,29,151,98,159,234,155,65,91,67,145,97,159,250,106,38,134,189,145,72,151,76,216,31,223,30,107,39,114,82,216,233,222,162,158,133,69,151,159,60,0,42,0,173,92,62,150,138,136,134,152,24,152,186,93,60,0,42,0,228,78,230,83,100,84,169,112,60,0,42,0,228,132,23,151,46,112,60,0,42,0,92,86,184,100,60,0,42,0,98,83,144,94,134,87,248,108,137,112,166,130,84,59,12,104,234,128,115,143,44,158,136,115,59,130,133,152,136,156,114,155,231,118,167,86,218,88,32,56,236,94,14,101,218,106,24,112,121,115,183,116,229,102,232,106,16,114,208,116,218,129,6,134,209,119,90,124,145,126,79,127,107,130,38,136,100,143,106,148,113,152,215,154,120,156,21,158,248,158,60,0,42,0,100,83,79,134,179,99,117,158,117,120,129,156,92,134,119,88,247,110,16,106,155,111,254,132,111,155,196,100,121,106,224,120,101,149,149,86,252,100,2,112,211,106,12,108,99,130,192,147,106,130,42,148,101,148,60,0,42,0,37,87,42,117,147,79,116,87,84,95,85,95,70,150,205,92,206,82,66,141,130,143,61,90,213,109,229,109,12,110,73,120,120,150,127,158,144,58,2,105,45,116,132,121,2,68,201,131,47,144,199,80,121,82,224,82,221,118,105,119,140,120,127,121,17,122,194,140,239,141,118,88,216,94,93,100,9,111,147,123,182,124,68,216,20,220,46,98,26,106,157,113,148,129,13,133,238,137,162,141,27,142,152,143,129,145,221,59,94,111,75,122,4,147,50,147,52,147,144,116,15,124,87,133,176,135,87,142,70,143,4,154,102,216,241,220,109,158,44,124,54,124,213,147,229,155,102,157,113,157,147,158,244,147,50,151,60,154,89,124,250,157,66,134,60,0,42,0,166,103,46,130,41,146,7,108,60,0,42,0,87,127,112,85,49,152,201,86,60,0,42,0,86,127,33,115,54,129,36,105,29,132,153,137,59,144,97,129,35,149,169,123,161,154,89,149,186,135,133,127,182,137,205,147,56,81,188,137,62,154,70,216,34,221,30,101,128,115,15,107,90,216,199,220,63,134,143,144,88,154,1,158,110,124,124,148,96,153,60,0,42,0,70,82,46,80,207,132,248,136,182,142,48,118,97,58,1,60,3,136,221,129,234,102,115,118,60,0,42,0,250,108,200,92,27,109,220,126,134,154,28,109,222,115,102,131,102,120,63,123,97,125,224,85,61,132,94,100,47,111,150,114,123,146,210,150,241,153,165,155,60,157,69,157,252,111,93,216,204,223,153,126,60,0,42,0,8,90,106,91,230,92,27,99,62,104,62,158,20,129,230,110,174,146,73,157,29,87,113,89,76,91,127,91,210,93,35,101,235,102,18,107,83,112,137,127,224,129,30,87,100,112,74,134,126,148,116,118,117,118,30,158,60,0,42,0,117,83,60,0,42,0,113,78,224,145,130,78,60,0,42,0,161,98,132,99,60,0,42,0,209,78,38,79,245,86,166,108,182,126,150,79,110,143,43,80,7,87,104,90,24,93,25,93,192,96,234,109,111,150,198,104,205,61,64,129,213,131,1,66,184,125,38,135,26,142,42,143,0,147,233,155,60,0,42,0,232,87,150,120,16,122,35,128,60,0,42,0,186,139,163,110,214,138,60,0,42,0,238,120,60,0,42,0,153,159,120,92,153,84,247,108,61,102,10,104,209,115,231,128,15,131,44,119,59,120,220,122,60,123,75,128,112,110,134,150,221,110,67,216,144,223,144,93,11,111,99,56,237,123,111,133,141,159,67,118,191,122,168,86,195,93,196,93,39,112,60,124,231,147,232,102,39,103,13,60,243,106,22,114,207,116,34,134,51,151,211,119,49,121,50,121,146,159,96,124,126,128,42,136,44,136,113,137,69,140,152,142,104,148,71,151,190,75,97,154,23,158,60,0,42,0,132,87,133,87,226,98,71,150,51,61,226,123,49,81,223,88,224,88,15,101,180,150,201,122,147,159,60,0,42,0,226,84,53,99,135,104,191,95,26,141,60,0,42,0,222,105,60,0,42,0,116,154,254,149,216,144,136,105,191,153,0,108,162,129,173,149,216,133,220,157,98,154,60,0,42,0,21,84,66,84,163,79,182,79,20,99,206,54,75,99,91,99,197,101,90,59,160,104,99,121,6,122,221,148,97,92,21,127,125,125,98,92,130,129,101,92,27,137,193,146,144,129,34,81,94,122,55,126,56,137,109,122,60,0,42,0,253,91,143,87,139,95,81,134,135,115,255,126,67,216,200,221,66,93,47,108,228,110,78,132,160,125,209,125,110,97,187,123,159,129,244,82,66,126,254,111,214,106,8,114,98,148,60,0,42,0,18,113,60,0,42,0,103,117,10,149,36,122,0,53,25,87,60,58,221,146,226,146,253,100,60,0,39,0,208,253,39,0,13,49,60,0,42,0,238,101,119,84,14,86,32,86,60,0,42,0,134,148,28,92,118,86,55,147,60,0,42,0,21,92,141,115,60,0,42,0,44,92,64,155,60,0,42,0,8,98,225,78,42,87,181,114,165,126,66,216,235,223,19,98,144,128,107,114,153,117,175,84,113,114,229,84,243,128,61,158,114,82,1,100,188,136,67,216,157,222,210,110,40,98,76,107,103,216,183,223,16,157,26,157,241,100,12,139,63,157,182,147,60,0,42,0,68,84,55,56,110,79,12,83,12,99,1,150,105,151,75,101,88,59,60,104,22,131,50,155,5,97,245,129,210,134,221,85,101,88,198,110,91,132,211,136,225,137,148,150,63,100,197,105,136,129,163,149,164,149,19,66,73,149,136,151,208,151,102,115,253,138,53,143,188,154,175,155,218,151,183,151,20,154,1,70,85,143,60,0,42,0,255,84,56,130,60,0,42,0,42,78,4,84,124,134,11,80,76,120,236,148,240,85,135,123,60,0,42,0,65,95,202,106,60,0,42,0,133,79,229,139,147,87,223,89,208,92,194,144,84,150,80,102,68,131,69,141,97,117,116,121,111,125,114,138,101,140,197,140,60,0,42,0,203,95,57,101,96,125,60,0,42,0,16,78,98,78,3,83,4,83,35,150,90,103,153,148,214,118,97,100,137,110,35,146,36,98,130,105,98,132,204,140,145,150,17,111,203,132,98,53,233,105,234,105,194,116,60,0,42,0,217,126,102,125,60,0,42,0,139,118,148,127,153,127,216,154,144,118,90,216,14,221,217,154,239,129,220,110,212,105,126,119,143,129,249,105,112,106,217,123,213,124,59,153,220,106,223,151,206,157,27,159,241,157,60,0,42,0,48,89,114,103,210,131,30,100,31,127,160,102,192,105,193,105,70,61,62,122,63,122,80,149,30,126,186,106,193,133,243,133,60,0,42,0,63,84,74,84,194,82,221,83,240,139,220,144,110,121,112,121,6,149,112,113,118,123,165,138,158,121,239,146,60,0,42,0,254,82,93,79,159,108,169,148,167,136,17,127,14,146,157,110,100,146,241,125,221,123,32,137,178,151,221,151,60,0,42,0,163,92,215,114,182,130,184,103,189,115,7,128,223,130,49,123,8,128,9,128,188,134,127,140,60,0,42,0,120,87,132,103,223,139,45,141,162,87,228,89,147,81,41,131,31,89,32,89,61,138,190,90,64,95,6,100,108,138,202,150,203,105,121,113,207,137,88,144,128,100,175,137,252,140,60,0,42,0,24,117,211,95,60,101,70,103,165,61,149,115,157,128,137,130,192,143,105,87,212,108,248,119,121,78,209,103,255,122,247,130,179,117,80,145,126,78,147,124,129,78,242,81,50,92,52,92,120,123,39,111,241,156,54,92,55,92,80,155,60,0,42,0,224,78,94,98,175,118,198,121,102,136,118,141,127,104,52,123,98,101,8,122,31,97,149,141,137,111,192,100,68,106,51,124,20,156,225,156,100,156,60,0,42,0,114,94,240,101,117,108,240,118,192,126,29,80,206,81,230,109,58,125,76,138,121,94,173,154,166,105,138,106,17,141,99,141,27,141,104,112,60,0,42,0,57,104,223,141,60,0,42,0,207,84,60,0,42,0,110,130,60,0,42,0,152,78,153,78,27,131,239,99,60,0,42,0,136,81,83,127,174,81,26,82,96,103,178,126,155,128,161,92,78,59,104,114,152,117,252,119,56,127,162,148,91,82,97,127,8,88,134,99,237,145,225,104,133,114,61,88,177,125,65,127,252,146,160,147,60,0,42,0,151,92,88,63,23,93,47,110,60,0,42,0,53,113,123,123,211,105,5,98,6,98,60,0,42,0,47,82,154,94,74,117,109,109,116,62,21,128,4,100,63,113,90,125,238,131,83,141,82,158,234,125,6,126,174,127,225,140,185,127,138,157,60,0,42,0,253,84,194,87,250,92,45,99,224,126,63,128,224,144,76,216,179,221,151,104,132,131,152,63,134,125,4,67,160,156,190,154,193,155,60,0,42,0,244,102,41,88,133,102,77,76,109,76,60,0,42,0,182,99,41,105,60,0,42,0,48,79,113,84,149,84,209,89,100,91,189,108,210,108,231,103,253,130,113,143,2,85,91,127,42,158,31,123,196,134,199,131,240,131,218,137,241,142,242,142,156,143,100,145,50,146,141,123,155,123,244,90,109,106,59,68,149,155,35,157,60,0,42,0,187,157,60,0,42,0,3,89,228,83,98,98,105,108,194,139,55,140,161,128,111,114,227,46,3,85,38,64,95,127,150,127,180,148,168,154,82,85,200,109,53,129,202,134,204,134,65,138,68,158,51,92,50,97,194,107,55,146,137,153,19,159,20,159,15,86,150,105,190,105,183,118,199,132,64,122,88,158,211,124,14,126,242,111,188,118,204,129,163,133,66,143,20,112,236,118,189,119,54,153,156,77,49,136,60,0,42,0,250,86,69,101,197,81,126,152,12,88,19,93,46,93,143,104,127,114,221,104,199,150,252,117,123,121,18,122,34,149,241,80,46,147,180,156,221,155,103,152,60,0,42,0,224,92,39,144,166,80,208,123,60,0,42,0,220,116,46,82,205,128,29,104,67,216,111,221,57,158,82,128,183,68,68,107,113,113,143,141,128,82,250,125,189,146,179,152,59,142,48,157,39,154,60,0,42,0,231,83,142,81,80,82,110,82,225,91,17,66,60,0,42,0,102,83,108,87,214,139,2,99,105,85,155,99,99,127,83,125,107,127,127,138,2,137,60,0,42,0,170,152,60,0,42,0,89,84,188,84,218,87,111,85,30,93,237,144,29,88,27,146,5,149,19,86,142,88,17,118,72,135,73,95,251,53,196,111,200,135,75,147,77,95,60,0,42,0,239,86,246,86,251,86,253,86,0,87,11,87,60,94,88,129,87,94,86,97,13,111,93,128,149,129,46,133,98,134,152,153,95,216,18,220,144,65,60,0,42,0,156,103,200,96,201,109,19,115,131,153,1,105,211,131,191,124,182,125,62,135,249,136,232,105,32,143,1,147,28,153,57,148,60,0,42,0,199,143,78,144,60,0,42,0,86,78,180,99,81,100,60,0,42,0,208,98,180,103,250,103,92,216,133,222,137,123,60,0,42,0,44,89,207,83,42,96,212,57,96,96,60,0,42,0,82,95,45,87,171,89,159,159,196,137,136,118,189,144,250,149,48,94,234,115,255,128,37,131,128,78,69,120,69,65,144,122,143,137,128,80,175,90,29,105,191,136,198,94,204,144,226,90,107,100,112,116,168,149,145,156,0,91,251,105,252,105,157,116,173,129,157,135,156,159,173,155,194,93,120,107,54,155,204,116,41,154,57,155,247,106,60,0,42,0,132,91,63,108,57,103,104,143,139,94,121,79,38,83,225,139,67,216,83,220,157,87,253,89,81,96,49,101,120,118,204,142,82,150,170,94,60,155,45,83,106,121,119,102,64,110,111,67,235,134,51,53,228,137,109,138,172,83,51,58,37,73,225,135,161,119,11,124,60,0,42,0,48,101,61,82,63,82,11,102,148,112,220,103,53,141,136,58,66,104,103,104,34,105,36,115,64,123,180,140,234,141,49,83,213,132,138,82,140,82,161,93,140,100,246,105,16,66,52,68,156,106,182,119,2,124,195,106,80,118,172,121,88,137,220,156,188,151,86,156,101,156,60,0,42,0,115,81,194,137,152,91,160,81,140,137,12,80,67,216,40,221,250,104,164,122,132,132,162,149,29,118,79,118,179,137,215,149,207,156,220,149,37,156,94,156,192,137,60,0,42,0,158,131,134,153,47,116,239,117,102,123,161,123,40,143,24,130,39,147,40,153,228,156,60,0,42,0,204,107,49,78,47,141,244,108,186,96,239,96,188,99,171,109,171,140,185,96,38,61,161,59,124,121,99,97,92,100,69,111,12,106,102,144,229,118,70,127,91,70,218,150,198,147,76,112,31,114,216,116,115,158,212,119,54,121,80,127,117,148,121,156,27,158,60,0,42,0,40,78,64,216,204,220,110,136,195,96,242,126,158,136,172,136,138,143,218,110,254,110,196,125,216,132,217,120,9,133,37,143,167,156,85,216,102,221,140,155,192,155,60,0,42,0,205,104,84,119,101,54,116,119,173,116,52,139,60,0,42,0,73,81,110,112,138,79,151,112,154,112,155,112,163,84,153,87,239,89,56,109,68,104,225,112,241,128,42,131,4,143,217,80,167,146,198,158,102,216,201,221,60,0,42,0,127,94,131,94,183,114,227,94,233,129,119,115,104,216,245,221,60,0,42,0,199,79,214,115,27,144,230,129,151,100,101,216,72,220,60,0,42,0,31,107,60,0,42,0,229,93,19,95,108,81,183,83,159,82,59,101,91,103,155,79,156,115,252,124,177,128,171,91,174,91,109,96,163,134,172,142,154,159,17,83,104,88,74,94,41,97,229,137,149,113,179,142,189,120,248,154,205,76,245,137,143,159,148,159,60,0,42,0,254,94,233,93,94,108,241,98,236,57,242,98,95,59,49,104,217,115,38,63,1,143,219,146,143,151,75,76,60,0,42,0,113,81,33,141,190,127,29,85,162,140,187,131,54,53,60,0,42,0,80,97,60,0,39,0,208,253,39,0,14,49,60,0,42,0,148,84,150,84,128,85,73,136,214,100,60,0,42,0,97,83,103,79,233,128,114,146,60,0,42,0,176,87,195,136,60,0,42,0,60,83,47,62,72,216,8,222,239,103,65,114,194,115,209,121,226,128,219,130,114,143,180,117,34,120,183,141,245,104,251,142,143,152,209,85,21,100,144,114,30,122,160,122,42,132,51,146,188,105,38,68,151,152,22,106,140,119,213,120,0,67,76,135,18,147,150,133,152,145,70,152,193,154,26,121,60,0,42,0,243,88,226,99,188,107,215,127,60,0,42,0,239,83,119,87,185,55,162,92,188,58,163,112,7,110,81,93,100,101,52,110,177,93,13,121,60,0,42,0,75,81,59,82,75,82,192,82,202,82,162,91,106,96,67,216,237,220,20,90,5,92,254,139,67,216,178,221,1,88,42,108,146,154,2,127,25,97,152,110,30,149,166,120,217,125,80,130,178,138,10,121,13,154,104,216,237,220,60,0,42,0,89,93,60,0,42,0,0,95,82,89,233,99,14,149,139,149,36,73,38,148,60,0,42,0,239,81,64,82,178,87,122,96,255,149,224,148,241,81,116,82,104,97,79,88,102,93,55,97,119,105,136,132,6,143,5,86,159,102,52,149,87,64,71,147,167,147,211,149,189,152,60,0,42,0,254,95,140,112,143,112,44,107,215,112,211,82,18,97,62,97,142,147,60,0,42,0,59,92,219,154,60,0,42,0,2,78,55,101,3,128,247,98,24,109,50,104,228,112,1,122,147,156,250,113,60,0,42,0,208,148,146,114,172,146,96,151,179,155,204,155,60,0,42,0,160,98,90,216,5,223,164,130,13,119,126,82,68,95,115,100,152,119,113,64,60,0,42,0,227,83,81,216,24,222,182,82,60,0,42,0,233,83,99,98,66,101,166,81,188,91,199,91,47,60,230,145,155,122,88,123,241,110,137,119,50,133,59,133,6,124,199,157,60,0,42,0,10,82,30,104,216,82,155,159,42,88,65,93,33,98,149,159,60,0,42,0,154,81,78,87,131,79,13,120,88,80,243,87,194,96,176,131,63,107,106,88,65,107,219,105,33,143,187,106,81,152,247,122,87,143,60,0,42,0,11,119,78,136,1,93,136,88,225,120,176,119,222,149,217,119,60,0,42,0,142,128,175,128,187,128,166,87,115,96,67,85,100,140,136,159,190,88,57,147,199,97,102,159,60,0,42,0,175,99,201,136,3,137,60,0,42,0,252,95,246,149,10,120,135,124,183,94,69,216,19,220,221,90,123,93,119,97,46,111,250,105,69,122,178,65,224,124,191,142,238,147,71,156,60,0,42,0,91,98,67,100,60,0,42,0,73,72,60,0,42,0,162,78,9,79,31,83,229,86,151,98,186,114,159,144,149,112,170,148,39,146,140,149,60,0,42,0,165,82,45,84,81,87,148,89,44,150,51,99,65,120,124,114,92,120,255,148,123,120,124,100,153,138,181,146,216,64,94,147,215,147,60,0,42,0,93,98,51,82,251,119,175,103,208,128,192,144,237,84,77,104,0,88,43,93,196,53,16,87,205,141,159,122,183,154,90,216,70,220,172,155,60,0,42,0,220,114,230,130,60,0,42,0,56,56,147,94,200,79,212,126,171,94,217,121,182,141,5,113,190,85,93,125,180,136,228,136,20,118,119,145,228,94,50,137,179,86,60,0,42,0,56,89,241,89,135,138,60,0,42,0,137,79,181,84,174,87,153,146,60,0,42,0,4,52,14,99,239,128,232,141,187,154,60,0,42,0,63,130,60,0,42,0,105,98,225,98,236,98,4,99,112,104,72,123,222,134,20,150,63,132,64,132,211,94,34,152,250,154,246,111,202,149,159,151,214,97,244,100,41,151,185,151,32,155,60,0,42,0,213,151,60,0,42,0,223,57,175,132,211,100,60,0,42,0,220,93,247,81,87,87,235,95,169,79,217,84,239,114,208,144,13,129,74,88,110,60,119,123,153,156,8,81,164,88,114,86,229,94,106,115,54,145,190,129,221,101,233,124,96,156,60,0,42,0,38,87,60,0,42,0,143,78,50,82,191,92,157,96,212,118,165,122,103,128,186,122,103,134,218,149,93,152,203,93,44,134,60,0,42,0,78,89,70,102,4,152,151,153,185,85,198,99,175,69,53,144,8,145,153,154,35,98,140,102,79,105,81,105,117,132,151,150,125,119,65,155,112,135,6,73,47,152,122,54,104,147,119,147,198,106,200,133,36,154,20,89,55,134,65,134,217,93,104,216,180,221,170,114,168,142,60,0,42,0,67,113,236,141,13,152,94,142,60,0,42,0,47,92,46,83,51,107,159,85,38,97,131,110,67,129,136,153,191,90,39,97,137,132,134,119,51,86,7,91,146,97,112,111,209,123,105,128,70,70,59,106,109,128,98,133,9,139,35,124,117,128,61,153,68,124,0,148,75,153,78,148,14,76,60,0,42,0,189,91,219,91,236,91,215,129,203,154,214,154,60,0,42,0,53,107,62,107,64,107,190,122,64,69,60,0,42,0,189,122,103,148,60,0,42,0,100,87,6,102,3,88,107,90,16,93,17,93,92,102,17,115,28,113,40,116,206,131,200,136,224,154,135,140,31,149,225,154,77,158,43,135,233,136,232,154,123,116,12,137,140,145,21,147,178,156,9,154,228,155,126,157,164,157,60,0,42,0,131,96,70,99,3,150,248,88,177,104,113,120,117,121,7,122,252,88,27,122,145,125,205,136,171,149,184,149,107,159,60,0,42,0,240,86,131,109,251,58,79,119,60,0,42,0,18,88,33,92,73,111,180,113,60,0,42,0,33,83,76,52,187,82,211,139,41,83,208,84,71,96,45,109,188,144,70,104,68,120,80,123,176,68,134,138,237,142,60,0,42,0,249,95,130,98,194,114,243,139,214,142,145,138,95,157,60,0,42,0,60,89,35,81,237,97,60,0,42,0,93,83,57,87,169,126,157,144,181,81,247,101,178,92,193,108,255,119,63,102,54,141,22,119,54,119,86,125,186,140,230,142,113,146,217,88,128,142,58,145,203,158,236,97,224,102,12,114,204,119,38,121,108,122,138,126,91,148,60,0,42,0,63,120,75,125,122,123,60,0,42,0,122,122,154,54,37,80,234,87,6,93,190,96,179,109,127,120,156,123,19,147,124,157,60,0,42,0,84,91,76,216,250,223,80,96,60,0,42,0,167,99,88,216,72,220,154,151,60,0,42,0,187,142,60,0,39,0,208,253,39,0,15,49,60,0,42,0,119,86,60,0,42,0,200,84,234,148,60,0,42,0,228,134,60,0,42,0,100,89,60,0,42,0,55,78,60,0,42,0,195,139,178,98,49,107,157,85,54,138,236,85,26,136,60,0,42,0,190,121,8,84,85,79,190,82,146,83,138,84,140,84,192,89,179,108,198,92,131,58,247,102,199,103,226,114,199,118,122,124,7,125,195,144,2,150,120,153,236,84,137,58,70,101,56,104,201,118,205,118,93,85,113,59,184,109,210,118,244,121,119,131,181,134,129,159,210,96,46,110,207,131,2,132,56,138,140,152,65,105,252,107,101,138,136,140,166,71,5,143,76,146,22,150,132,156,97,53,134,113,86,158,167,158,149,111,229,63,28,152,213,123,238,127,155,135,122,155,9,121,212,149,168,151,85,159,136,137,161,157,172,118,73,148,162,159,60,0,42,0,107,79,142,87,58,141,3,113,148,136,192,140,195,85,66,113,139,120,135,113,107,141,81,61,16,137,100,158,30,59,82,122,239,127,209,88,75,118,30,139,0,114,174,157,180,157,78,151,22,158,79,151,60,0,42,0,173,124,77,151,60,0,42,0,141,84,179,84,232,85,60,0,42,0,216,143,105,91,38,152,184,154,132,144,60,0,42,0,119,109,242,128,248,112,124,145,162,145,60,0,42,0,165,78,142,89,225,57,135,154,179,91,38,108,208,85,0,153,237,153,90,216,38,221,90,153,60,0,42,0,112,88,161,86,60,0,42,0,210,158,209,158,63,86,118,111,98,216,70,223,60,0,42,0,32,131,191,132,134,86,133,133,167,133,60,0,42,0,220,107,157,134,235,107,3,105,229,85,70,115,137,140,81,86,84,115,106,140,101,216,184,221,55,86,20,59,75,115,213,138,43,81,142,86,213,88,25,56,224,111,71,124,20,136,121,139,60,0,42,0,125,89,221,144,60,0,42,0,247,83,170,54,64,55,10,102,38,102,207,121,224,84,252,92,79,96,142,96,105,109,23,128,103,102,54,59,207,109,144,80,147,118,200,110,85,128,95,134,23,145,164,102,173,102,148,111,156,118,158,118,205,102,161,118,165,118,131,133,172,147,162,152,79,112,101,152,29,156,93,112,60,0,42,0,211,122,60,0,42,0,65,159,60,0,42,0,175,79,39,57,230,119,137,85,63,94,52,115,7,145,11,59,84,132,10,118,122,119,204,123,199,124,237,127,186,154,245,127,109,147,49,153,248,155,60,0,42,0,60,84,188,114,60,0,42,0,14,84,154,83,149,87,140,95,9,109,200,144,25,80,5,144,32,88,94,140,142,156,152,156,156,155,95,156,60,0,42,0,68,79,182,112,120,152,55,57,182,134,99,145,7,152,232,90,61,140,168,97,160,153,91,107,62,159,60,0,42,0,151,144,43,84,253,81,129,84,163,128,175,144,254,81,119,134,5,85,5,87,34,90,91,109,33,93,87,102,146,104,181,109,19,113,0,116,210,91,69,93,128,59,233,151,29,117,104,123,4,66,44,135,143,111,225,146,125,155,211,151,60,0,42,0,6,78,136,83,85,127,107,109,138,85,26,150,10,133,1,62,67,140,43,155,26,54,60,0,42,0,73,108,125,92,87,108,236,149,241,101,190,92,251,84,190,87,141,96,77,99,134,109,2,115,139,58,88,102,101,102,10,113,159,131,236,145,136,149,148,118,69,119,225,131,188,80,255,134,148,152,175,153,34,111,45,135,139,140,150,100,181,102,175,113,178,146,206,146,190,97,188,100,83,216,201,220,240,127,146,135,55,152,68,152,251,153,215,150,26,112,64,139,43,134,190,157,60,0,42,0,111,81,51,114,60,0,42,0,235,98,213,117,142,151,60,0,42,0,119,79,136,95,224,114,106,138,60,0,42,0,104,96,60,0,42,0,47,89,32,60,60,0,42,0,187,101,109,103,192,130,210,143,215,126,233,115,16,123,42,130,162,134,21,70,131,152,165,140,85,123,78,125,15,152,96,216,72,220,103,155,60,0,42,0,134,108,60,0,42,0,179,87,60,0,42,0,168,78,252,84,153,96,72,85,29,129,60,0,42,0,48,53,238,89,70,96,82,96,65,104,198,112,251,128,59,158,42,106,107,106,97,136,52,157,5,134,69,148,60,0,42,0,60,88,60,0,42,0,165,109,70,157,60,0,42,0,78,78,111,78,34,83,77,134,124,84,128,87,253,95,18,102,246,102,216,108,87,96,192,112,248,130,119,143,43,83,63,85,218,96,254,57,244,109,86,134,228,142,17,86,227,91,249,110,228,68,208,150,96,94,47,98,81,107,94,216,83,222,180,129,60,139,60,0,42,0,235,86,135,98,39,95,208,114,225,128,246,88,243,116,186,150,67,216,49,221,247,88,155,101,0,113,197,53,150,85,250,88,169,90,86,110,34,115,87,125,48,100,92,105,115,113,90,116,107,132,29,86,80,216,13,223,85,158,242,105,182,123,202,124,27,133,116,135,90,136,113,155,32,126,156,135,144,145,54,152,243,137,120,147,44,153,76,75,96,157,43,112,13,155,23,156,152,157,166,157,60,0,42,0,85,78,123,108,78,134,82,109,255,79,44,85,37,116,0,132,93,134,248,110,60,0,42,0,101,78,146,78,22,95,54,98,55,98,56,98,38,62,177,81,180,81,13,94,164,98,141,108,170,108,144,130,181,92,25,96,61,98,8,102,145,103,24,96,92,121,15,123,95,90,72,98,224,116,192,85,91,105,148,125,253,150,237,90,238,90,98,100,236,110,32,145,244,105,169,113,48,133,248,156,4,124,89,147,155,86,113,158,119,139,224,156,196,151,0,152,111,156,12,158,60,0,42,0,144,124,63,147,241,155,60,0,42,0,177,130,178,130,215,84,41,86,138,132,53,147,60,0,42,0,78,83,114,53,73,59,225,89,133,154,234,145,235,145,231,148,239,131,51,100,209,110,62,115,15,56,138,57,182,100,198,120,216,146,80,133,150,135,65,139,245,147,74,154,232,157,60,0,42,0,22,83,18,82,102,53,59,89,119,53,121,103,59,117,221,139,102,104,115,90,11,93,107,117,117,117,223,137,113,138,131,82,102,100,255,90,5,91,236,105,133,111,58,106,227,138,99,126,25,130,202,158,110,139,60,0,42,0,214,87,114,90,27,105,116,120,192,124,174,138,141,116,60,0,42,0,25,84,104,82,32,128,42,149,144,82,67,147,132,86,65,140,9,101,30,154,60,0,42,0,120,79,59,109,238,121,243,121,60,0,42,0,107,112,25,79,169,144,172,148,37,146,37,89,55,111,60,0,42,0,142,108,22,98,39,141,159,84,9,120,0,65,240,79,71,99,19,119,132,149,67,216,126,221,157,99,183,131,168,140,209,96,113,110,120,121,228,101,71,105,47,58,141,121,166,132,242,53,111,89,13,151,233,111,114,115,11,139,180,106,108,149,175,86,22,112,198,119,107,122,91,76,228,102,47,128,219,129,103,130,255,133,22,136,191,86,104,118,208,119,74,148,67,151,60,0,42,0,0,96,138,95,238,109,208,105,29,142,208,97,34,137,49,137,51,55,34,56,247,97,36,112,240,106,50,128,57,134,60,0,42,0,79,87,182,84,217,138,202,88,222,88,62,134,60,0,42,0,112,112,209,57,217,139,180,84,98,96,251,98,37,99,3,109,122,134,86,102,227,112,242,115,134,136,87,140,78,90,69,86,136,90,238,99,199,61,218,127,137,143,137,102,78,105,71,113,124,138,147,150,81,94,115,119,136,121,157,100,85,86,236,127,24,137,29,143,190,158,189,95,8,112,179,150,51,134,52,156,60,0,42,0,216,86,222,86,236,86,106,79,251,94,91,96,4,109,253,94,224,112,52,131,152,134,244,143,208,117,37,144,212,134,213,134,22,135,176,155,60,0,42,0,148,96,192,107,193,107,89,216,153,223,199,107,147,106,236,113,109,139,60,0,42,0,73,83,71,108,26,79,179,139,203,108,213,84,69,216,38,223,77,109,216,126,148,130,242,139,90,96,117,96,233,112,95,131,63,141,87,95,102,102,253,121,153,85,224,96,79,110,117,125,11,127,217,127,19,150,47,83,89,95,90,95,99,57,3,103,217,110,111,138,196,140,146,152,225,80,18,86,57,58,168,138,26,87,237,91,103,97,147,97,179,102,229,105,83,111,35,118,39,133,229,73,102,86,18,91,187,95,94,106,168,107,174,111,202,111,105,115,89,133,241,138,46,152,244,113,175,116,242,123,136,133,137,133,47,153,150,86,186,119,98,122,98,126,234,135,41,59,216,106,106,126,253,127,241,133,83,139,54,81,248,147,224,149,72,91,44,148,103,151,127,139,106,152,60,0,42,0,119,92,115,112,164,116,243,97,60,0,42,0,34,107,191,114,83,107,5,157,85,62,77,157,190,86,253,97,126,115,68,145,97,107,153,139,155,140,105,154,60,0,42,0,175,115,216,92,57,109,223,114,199,144,83,104,65,131,207,91,89,125,8,132,17,132,200,150,132,125,166,127,134,140,110,146,62,149,28,87,27,91,240,91,180,111,51,127,161,73,27,150,176,116,114,140,112,147,110,149,110,158,235,124,111,126,88,143,54,148,228,149,31,155,219,116,9,77,60,0,42,0,19,127,32,66,233,125,12,101,60,0,42,0,123,94,66,89,146,128,80,89,166,91,36,85,98,99,99,109,163,109,201,112,163,96,153,104,21,113,154,85,155,85,72,93,12,97,219,99,25,110,234,117,70,119,45,144,7,59,10,59,101,113,77,116,98,140,54,111,19,118,245,105,169,156,208,100,163,111,199,155,231,133,0,156,60,0,42,0,163,119,60,0,42,0,15,102,44,102,100,131,90,90,219,96,189,109,13,150,212,104,153,107,103,119,119,132,111,119,189,149,60,0,42,0,246,95,81,109,161,104,132,153,26,88,62,110,63,116,66,155,27,153,73,126,75,143,157,75,50,159,60,0,42,0,246,155,60,0,42,0,232,139,210,79,49,80,2,87,141,99,247,109,29,113,183,110,65,97,232,137,226,138,60,0,42,0,223,93,53,56,147,128,65,136,82,131,26,103,67,88,76,97,59,59,60,0,42,0,135,118,95,80,240,81,164,85,45,88,147,90,50,93,168,95,246,96,95,110,141,150,195,158,196,158,123,105,76,113,93,116,95,132,81,144,61,149,180,88,98,111,90,115,193,123,202,123,78,130,87,135,191,113,156,116,251,138,64,118,250,120,127,65,84,122,96,147,45,153,199,156,39,124,229,135,249,151,170,141,28,154,4,148,9,156,100,81,81,156,236,157,60,0,42,0,51,96,77,96,190,112,186,91,67,102,68,102,91,89,14,140,76,94,100,138,128,113,32,68,10,139,206,106,60,0,42,0,48,97,42,58,201,110,165,105,157,118,194,102,164,147,169,118,60,0,42,0,40,126,60,0,42,0,255,83,61,84,77,84,116,112,112,143,196,84,7,138,216,112,227,142,200,99,57,110,34,113,97,120,62,140,101,216,32,220,55,143,168,133,103,147,157,86,95,143,60,0,42,0,220,78,24,95,133,89,162,126,48,84,143,91,111,108,146,115,174,126,243,149,150,91,211,108,172,87,2,90,42,109,209,122,122,66,5,125,240,130,121,134,245,92,100,109,24,125,195,127,62,128,109,131,84,120,45,125,57,140,63,158,49,110,228,122,160,124,28,146,142,149,139,125,221,127,82,132,83,132,60,140,66,111,96,216,6,223,119,146,131,151,95,155,208,146,75,95,16,151,123,133,31,151,59,157,201,158,80,216,15,221,204,158,60,0,42,0,78,102,52,59,202,85,60,0,42,0,167,139,12,138,167,149,148,100,139,111,146,111,190,146,194,149,40,155,60,0,39,0,208,253,39,0,16,49,60,0,42,0,12,78,74,216,102,222,165,139,251,81,9,82,253,83,101,153,105,78,15,82,58,103,145,115,140,128,62,87,246,119,33,158,133,103,168,130,173,84,235,89,94,82,39,85,236,89,80,92,239,121,4,123,249,143,226,152,250,87,233,126,158,85,70,93,71,93,103,101,30,103,132,114,83,123,9,127,77,141,227,82,216,85,120,117,24,122,225,141,251,141,238,156,223,80,67,216,59,223,196,107,149,123,136,146,48,86,227,105,127,117,61,122,221,125,237,137,235,140,184,142,81,159,188,88,95,106,192,111,163,116,77,122,36,147,202,100,239,120,168,121,10,124,62,126,129,127,64,137,247,140,174,150,197,106,45,128,95,142,222,150,79,139,63,145,242,151,143,157,100,139,22,148,81,153,106,118,139,142,191,151,196,157,78,159,135,127,71,148,64,134,137,137,89,148,79,159,136,127,4,158,138,137,60,0,42,0,188,78,202,83,11,79,9,84,167,126,115,83,140,92,118,95,227,95,129,103,114,108,128,118,159,78,118,79,216,139,145,148,125,83,222,89,37,96,228,114,198,144,228,99,190,117,141,118,8,123,26,125,10,129,152,71,110,80,89,83,180,94,114,59,15,113,217,137,59,140,202,53,216,104,82,110,198,150,73,88,201,90,49,97,34,98,107,105,117,105,155,107,140,141,145,143,201,105,36,128,140,129,186,132,161,146,241,53,131,100,87,111,32,118,157,121,191,123,22,142,97,158,175,93,118,106,200,111,64,133,143,135,47,143,238,100,157,106,122,133,80,142,83,147,201,133,75,137,101,130,77,124,90,143,246,147,237,76,53,151,186,157,209,157,230,150,231,150,60,0,42,0,224,81,241,93,46,78,128,89,177,114,242,108,110,134,36,99,142,99,126,156,126,94,184,57,31,98,24,146,116,93,130,158,98,155,160,100,224,100,86,122,227,135,85,155,60,0,42,0,149,46,80,95,81,95,225,101,161,139,176,139,14,79,170,126,86,87,147,89,204,95,128,98,66,82,99,91,176,130,69,150,220,84,141,87,220,92,226,101,14,109,78,109,0,125,13,131,8,138,100,82,18,125,231,126,36,131,96,131,202,137,24,138,72,80,194,91,196,91,49,56,155,95,77,57,184,96,227,101,158,104,8,110,109,121,72,88,206,96,209,62,0,68,238,129,126,81,245,117,153,125,106,132,7,133,218,136,168,102,3,111,8,111,41,122,74,122,223,132,0,137,139,138,253,141,155,150,1,151,62,155,154,156,169,102,55,122,197,138,171,156,128,81,145,82,193,102,68,122,251,154,140,86,149,106,223,111,125,127,138,133,172,137,181,106,4,62,186,133,75,157,76,159,251,97,96,118,103,122,75,126,165,154,218,155,49,112,124,126,14,134,102,216,73,221,64,156,46,134,61,151,54,156,63,156,59,134,109,156,101,154,60,0,42,0,189,78,45,106,237,94,60,0,42,0,160,82,107,78,57,89,61,79,62,89,115,79,184,98,193,98,199,108,98,62,183,103,224,107,67,109,200,115,4,131,230,143,201,87,182,91,121,109,194,117,156,104,51,123,30,128,136,136,162,80,51,115,207,141,67,216,162,222,140,114,117,129,109,132,107,146,9,86,127,146,83,149,109,140,145,140,103,216,155,221,181,147,82,69,154,158,60,0,42,0,63,87,230,95,116,98,207,144,10,85,93,96,90,131,223,144,27,98,162,131,215,148,30,98,241,134,183,136,138,152,150,59,250,134,204,136,242,141,130,151,4,153,207,146,44,152,48,152,54,157,74,157,60,0,42,0,50,117,238,78,172,92,218,83,190,115,219,128,154,101,62,141,190,148,71,80,125,90,166,95,157,101,53,105,200,140,64,146,142,105,218,105,21,118,159,106,60,0,42,0,247,78,126,154,182,103,75,216,76,220,193,90,79,94,162,105,249,80,60,122,213,153,60,0,42,0,216,124,60,0,42,0,150,117,54,150,134,118,165,99,178,99,79,216,143,221,206,117,248,121,136,85,38,88,152,90,237,99,4,105,93,110,59,129,232,131,87,136,142,150,223,85,197,90,111,113,200,64,45,122,84,135,209,100,100,118,47,139,155,157,60,0,42,0,105,83,106,83,81,91,16,92,166,139,130,130,38,82,39,82,171,82,138,92,60,82,26,53,188,82,5,102,112,103,140,117,54,54,195,54,238,98,1,109,211,126,34,80,64,104,113,136,16,138,252,143,124,80,85,90,40,93,119,99,173,131,145,80,188,85,23,58,57,64,80,125,92,125,186,136,137,152,101,93,41,58,108,105,118,105,208,110,107,119,192,123,16,135,77,135,112,138,99,146,93,155,42,98,164,105,163,120,237,122,91,216,116,221,146,156,84,111,175,127,245,132,177,138,21,142,138,151,111,94,123,147,154,155,192,93,237,106,30,136,24,136,61,136,60,0,42,0,208,89,209,107,142,90,227,137,231,137,247,152,158,106,60,0,42,0,47,78,203,78,36,84,149,92,57,56,142,94,18,98,70,92,74,92,160,115,165,130,76,117,77,117,165,117,14,120,235,139,31,80,136,96,167,134,120,136,163,95,58,88,80,105,62,116,246,134,151,114,161,138,177,154,106,155,47,137,133,147,164,142,60,0,42,0,93,104,60,0,42,0,164,78,125,130,129,130,227,89,7,90,231,92,71,109,202,144,132,154,246,128,45,131,46,131,18,105,38,113,223,134,228,141,236,80,4,86,68,216,237,223,96,134,155,156,12,91,149,93,163,93,141,97,134,111,160,129,203,113,178,129,73,133,1,121,90,122,171,155,65,157,106,158,37,124,237,135,71,143,14,148,205,157,85,154,230,157,238,157,60,0,42,0,66,59,235,129,210,137,124,79,165,79,84,96,34,99,225,114,222,126,122,153,65,99,72,102,196,112,142,118,235,119,26,129,240,148,5,100,107,110,94,125,127,82,107,101,108,110,77,113,115,129,203,140,229,80,119,100,158,102,11,142,120,146,3,153,12,81,139,82,186,95,159,100,185,100,188,95,191,97,125,101,127,101,222,113,52,127,166,150,210,102,172,116,239,119,166,118,220,135,115,126,81,139,66,91,112,58,92,216,136,220,42,101,90,112,78,156,60,0,42,0,235,83,76,84,228,92,13,99,6,138,211,115,140,122,127,143,131,143,78,101,89,101,150,122,62,60,216,110,3,143,2,86,38,86,160,101,22,111,117,145,77,86,160,93,80,111,109,86,19,91,101,115,224,133,173,141,78,143,174,145,101,139,45,59,173,118,194,145,60,0,42,0,100,157,245,106,144,126,60,0,42,0,41,78,252,82,160,126,59,103,94,114,118,122,250,124,32,158,254,124,115,141,99,216,202,220,4,150,126,85,194,99,234,99,27,132,235,99,233,156,78,100,27,106,15,155,46,155,60,0,42,0,93,78,69,78,70,78,99,78,122,89,120,112,150,115,15,130,237,151,36,125,82,145,121,149,238,151,60,0,42,0,27,83,231,101,169,62,252,129,142,84,154,117,146,65,233,103,254,103,3,80,68,99,85,104,19,83,169,83,81,101,168,90,49,92,196,94,5,130,230,80,207,94,208,94,102,97,167,107,107,158,10,130,54,83,230,155,148,158,104,159,242,157,60,0,42,0,99,108,102,103,13,107,60,0,42,0,11,98,120,89,22,92,117,94,90,87,124,107,244,149,191,81,20,98,170,115,169,128,112,130,230,89,231,89,124,81,209,118,66,80,5,88,228,96,116,59,15,115,58,123,92,140,84,110,75,114,4,127,197,131,250,131,147,149,27,100,55,105,62,105,78,113,141,114,74,116,138,120,35,127,76,132,99,140,227,118,119,119,139,123,185,132,43,106,158,113,216,125,163,156,253,156,99,158,184,113,86,216,93,220,239,123,17,126,81,133,115,133,113,130,48,153,162,153,137,158,16,112,172,151,175,151,210,156,27,121,32,67,184,137,115,157,56,112,39,148,252,106,178,107,188,157,192,151,57,156,207,86,67,134,111,148,201,151,60,0,42,0,221,86,227,98,167,103,237,79,236,103,57,80,56,99,97,99,21,123,39,131,207,81,106,82,152,104,192,104,63,88,192,99,195,99,28,105,27,110,85,110,81,119,119,120,67,138,15,149,63,95,149,102,80,116,103,123,128,123,120,125,229,136,43,140,188,141,41,98,44,98,53,58,177,120,9,81,230,127,191,100,162,106,77,216,45,223,7,139,71,142,188,119,6,121,33,124,198,133,71,137,73,137,45,139,109,126,11,155,120,158,61,112,18,136,23,148,14,156,151,82,123,158,91,124,126,139,124,158,122,137,60,0,42,0,193,137,246,78,139,137,111,153,81,82,250,94,10,109,110,114,49,141,244,79,99,82,43,104,167,109,212,115,48,130,80,131,101,80,113,82,164,95,16,110,15,140,252,145,203,91,133,110,246,129,184,136,245,141,212,101,87,105,253,107,82,216,227,221,113,129,101,132,206,140,116,146,46,149,237,80,52,58,151,105,56,111,141,82,142,82,78,61,151,111,173,123,203,124,42,133,211,138,228,140,157,141,16,142,58,142,146,82,148,82,235,138,251,146,30,153,183,119,245,120,166,133,185,135,115,147,117,147,246,100,250,111,93,126,4,60,181,137,233,147,51,112,102,130,124,139,94,143,49,148,81,148,82,148,108,148,115,148,60,0,42,0,69,95,185,88,122,106,0,121,177,107,60,0,42,0,254,93,202,78,164,101,133,148,83,81,209,145,210,145,37,109,220,119,212,137,208,87,210,115,31,125,85,131,127,136,205,96,59,88,75,123,255,145,156,93,118,158,197,158,95,137,60,0,42,0,197,78,61,92,173,79,122,83,249,93,39,125,7,88,235,131,197,80,170,83,40,140,38,149,228,90,209,94,12,111,225,118,202,125,145,153,255,105,126,116,243,132,24,81,38,147,57,139,73,153,60,0,42,0,18,79,164,82,178,82,151,89,131,103,209,143,219,143,193,82,85,109,73,102,75,102,120,109,236,112,105,131,70,141,43,85,14,116,114,121,50,144,214,91,34,100,141,110,129,121,25,127,115,151,144,88,55,58,16,59,156,102,104,116,248,80,218,81,79,107,163,107,208,137,100,86,28,59,197,111,161,116,9,126,238,140,141,86,39,91,242,59,220,111,252,113,182,116,206,133,178,137,16,141,125,159,60,0,42,0,27,120,59,116,215,88,60,0,42,0,95,108,220,89,6,92,70,109,85,117,51,131,71,140,7,92,122,117,65,132,106,100,222,127,245,80,63,111,128,135,195,88,48,127,127,106,173,107,145,133,191,135,201,156,133,117,19,121,134,117,110,126,193,151,66,156,60,0,42,0,178,139,86,89,104,104,139,80,104,89,139,132,108,89,243,105,78,115,153,129,35,133,41,128,67,66,27,139,92,152,60,0,42,0,30,83,32,83,5,89,28,95,26,109,219,126,77,150,54,95,115,125,182,136,229,82,113,145,121,93,126,100,240,110,74,95,77,216,166,222,159,114,225,124,232,124,164,145,61,139,172,145,60,0,42,0,98,103,228,106,60,0,42,0,85,87,89,87,224,93,172,78,254,108,207,126,176,78,212,121,14,131,135,109,74,131,91,90,202,96,204,101,205,101,4,115,76,125,150,131,118,102,9,122,72,129,70,131,193,131,91,119,179,124,147,125,79,132,98,81,190,124,89,128,184,156,91,157,232,155,129,157,132,157,150,158,49,159,90,154,160,158,60,0,42,0,149,78,60,78,45,82,43,54,83,87,145,91,107,108,49,150,108,108,188,128,68,82,125,122,136,152,111,102,26,152,6,81,92,94,172,97,187,102,219,113,159,116,56,152,188,97,165,116,252,135,24,71,102,139,60,0,42,0,140,89,192,81,42,95,132,95,211,79,65,216,202,221,68,109,235,128,243,143,30,80,200,81,51,95,145,95,201,117,222,122,89,90,103,90,113,104,183,104,232,109,27,129,21,144,100,216,213,221,223,122,217,117,231,122,83,151,185,80,108,101,12,59,235,122,86,151,131,88,77,115,169,138,1,142,89,151,124,71,90,151,92,149,92,151,212,102,234,111,30,112,225,147,246,122,248,122,60,0,42,0,120,106,221,113,60,0,42,0,229,81,31,82,133,98,10,83,69,92,216,98,195,108,217,114,121,154,244,130,54,99,189,117,192,117,23,119,32,120,93,127,53,90,110,90,12,93,172,99,174,104,186,109,113,150,16,105,26,116,82,129,249,131,132,141,212,141,20,149,206,150,77,130,27,135,254,136,24,142,25,142,230,146,210,153,136,155,33,157,160,151,171,151,139,157,60,0,42,0,90,216,81,221,64,92,50,54,230,108,183,79,202,114,84,104,233,107,121,85,69,90,215,109,23,113,8,105,241,107,104,110,202,131,249,144,145,114,2,143,234,80,183,124,252,141,202,138,156,141,185,142,176,149,88,106,139,106,246,153,212,76,89,157,107,142,116,157,200,93,170,157,28,134,51,159,103,154,60,0,42,0,128,84,6,95,174,108,62,78,25,99,233,119,146,131,7,105,137,105,152,105,101,123,131,159,159,132,101,128,9,130,61,142,231,100,95,159,248,106,5,107,60,0,42,0,229,83,232,93,108,78,234,93,181,139,119,81,214,89,160,92,7,96,16,96,26,96,210,98,224,98,48,109,173,144,27,102,107,107,172,112,227,130,156,148,241,79,40,80,54,80,163,81,103,82,236,121,231,87,254,87,231,96,110,99,148,124,31,128,183,134,147,136,139,114,78,138,217,141,221,141,211,152,102,140,69,146,47,149,224,91,51,97,173,122,90,128,97,134,135,82,238,82,102,92,30,142,207,153,201,88,197,97,218,100,189,111,182,122,46,66,248,146,148,155,104,92,125,144,182,152,151,140,52,124,134,142,181,145,252,97,59,148,44,59,60,0,42,0,32,114,119,137,60,0,42,0,88,86,133,100,167,100,105,92,123,142,60,0,42,0,133,78,64,216,12,221,82,91,83,91,179,81,20,82,18,108,192,139,137,98,122,108,33,95,72,59,236,108,166,115,168,115,181,130,23,99,207,115,166,117,4,120,221,126,115,134,201,137,20,80,84,99,46,107,151,134,27,93,152,99,141,101,119,104,140,107,144,137,214,137,35,138,125,141,185,141,72,72,149,80,165,83,126,59,51,113,85,125,118,125,154,137,137,141,43,144,12,146,242,55,130,82,34,53,234,82,116,116,50,140,195,153,165,93,176,97,166,113,52,114,87,115,26,118,2,157,3,157,113,86,160,97,91,106,92,106,93,133,104,133,53,114,196,129,98,149,232,135,233,135,107,92,78,139,118,142,119,142,140,157,55,83,188,86,17,114,205,119,186,137,13,148,29,148,29,114,252,137,79,95,4,98,43,101,131,115,226,157,20,107,225,119,163,159,99,216,28,220,156,140,169,142,129,148,60,0,42,0,226,89,31,90,80,99,147,109,6,113,39,129,249,116,67,158,208,136,236,82,250,72,76,149,184,147,81,157,43,148,50,136,60,0,42,0,119,83,95,84,35,94,205,87,114,99,228,131,41,149,247,61,8,147,199,129,60,0,42,0,181,82,70,89,251,93,38,80,204,82,74,104,247,114,226,126,189,150,195,109,55,119,74,119,109,125,101,127,173,69,4,145,96,119,121,125,203,150,236,152,70,216,64,220,123,97,40,133,11,153,103,115,51,126,130,127,60,0,42,0,155,81,66,216,213,220,27,84,71,87,172,54,110,108,240,89,205,142,167,148,144,134,128,136,126,104,178,118,153,131,204,131,30,146,133,120,184,118,185,118,160,137,129,146,158,146,170,156,135,158,85,147,182,155,143,158,149,158,60,0,42,0,65,84,202,79,89,63,200,87,251,92,67,99,90,109,225,144,86,150,130,153,143,154,165,53,89,102,12,113,250,115,94,216,122,221,122,52,222,104,111,117,227,122,102,55,249,65,152,123,159,123,32,135,96,216,24,223,1,81,89,53,21,153,239,91,207,97,199,113,236,111,255,153,84,157,88,157,8,101,81,69,31,101,60,0,42,0,134,46,130,81,139,81,112,87,67,98,219,87,69,125,201,153,235,153,15,134,20,134,60,0,42,0,143,81,231,86,160,56,194,108,133,112,176,79,175,112,229,143,123,109,8,144,241,112,155,72,152,122,142,152,90,113,151,125,210,80,91,113,178,113,131,111,39,137,60,0,39,0,208,253,39,0,17,49,60,0,42,0,3,78,143,108,201,143,187,89,210,103,27,80,196,81,22,104,100,104,56,90,189,96,26,98,124,104,210,109,234,144,50,101,31,103,242,104,58,107,102,60,11,132,227,134,219,80,1,86,125,97,191,105,6,111,192,125,124,97,237,105,84,216,80,222,198,138,255,138,11,151,233,69,74,142,36,59,76,155,83,73,218,147,136,157,60,0,42,0,147,78,80,159,59,87,144,92,147,92,239,95,157,78,118,81,71,89,137,101,103,107,65,117,65,121,181,128,170,130,223,79,167,117,71,121,72,121,210,122,88,82,138,101,194,101,6,128,16,129,145,134,148,134,154,134,128,152,252,87,14,93,58,94,145,99,199,109,9,115,102,117,194,141,221,142,238,145,144,154,145,154,202,104,203,104,38,116,42,116,1,132,21,132,244,134,45,97,129,120,149,120,122,121,197,68,28,149,14,152,215,101,184,124,165,125,166,125,168,125,235,68,29,135,30,135,63,155,74,159,130,116,17,142,165,121,114,133,33,147,175,156,224,97,221,111,105,216,198,221,177,106,192,106,82,216,140,222,205,129,196,133,14,154,15,154,205,156,7,76,213,155,120,157,128,157,146,158,131,126,105,130,4,134,16,136,16,155,45,156,130,115,161,158,60,0,42,0,94,78,1,79,122,92,130,92,148,144,47,84,71,84,94,103,152,115,192,118,145,130,24,85,72,140,119,141,83,85,84,85,77,90,95,85,238,126,117,102,232,104,14,65,174,125,186,125,236,138,217,149,60,0,42,0,20,108,171,139,212,95,23,108,84,108,3,95,125,108,245,119,196,143,110,84,227,108,129,112,245,118,158,130,160,84,81,89,12,120,20,104,43,107,35,108,22,138,45,85,33,89,196,104,70,110,71,110,155,120,122,132,86,100,163,102,182,120,80,86,135,97,8,117,94,216,88,220,104,86,169,97,220,120,231,120,233,120,141,70,74,127,255,135,28,159,60,0,42,0,60,127,15,110,213,125,4,137,167,135,47,124,49,124,79,124,60,0,42,0,144,99,92,132,60,0,42,0,228,98,60,0,42,0,210,141,96,145,60,0,42,0,54,87,190,81,228,52,34,94,112,96,61,109,142,107,72,120,24,97,194,154,60,0,42,0,144,151,60,0,42,0,127,118,71,216,144,221,167,73,122,128,60,0,42,0,20,78,60,0,42,0,7,82,190,89,47,96,39,83,131,122,196,144,67,216,181,220,143,96,8,99,47,109,50,57,236,96,193,109,33,123,28,97,234,134,102,57,5,103,167,123,193,125,50,149,69,216,36,220,203,123,37,142,85,122,101,147,210,133,220,155,17,148,202,122,78,216,58,220,60,0,42,0,198,130,63,80,171,90,97,124,60,0,42,0,132,96,87,120,251,144,106,93,247,141,129,82,114,101,195,107,13,142,33,145,37,145,57,149,157,88,29,152,189,88,103,94,75,216,227,223,71,106,198,113,50,127,185,154,253,120,107,147,108,147,81,126,172,141,122,142,48,148,60,0,42,0,84,78,168,79,101,104,77,131,94,131,90,120,172,85,236,131,209,80,47,140,58,86,246,90,111,55,148,97,146,151,53,106,75,106,78,133,68,118,9,64,167,119,4,121,151,67,171,141,238,133,8,148,189,151,102,152,92,216,13,221,60,0,42,0,231,93,229,145,0,97,220,154,60,0,42,0,207,79,238,139,237,92,41,94,141,122,87,150,187,107,216,127,154,138,218,154,250,80,172,100,189,100,152,151,210,151,197,122,249,127,89,139,136,142,129,54,60,0,42,0,215,105,158,114,60,0,42,0,0,52,24,78,32,78,67,216,11,220,117,87,177,54,203,60,177,144,88,96,203,121,204,121,175,134,157,90,120,105,41,132,89,158,205,123,231,125,242,132,117,135,80,122,165,141,2,74,197,156,215,135,166,151,167,151,12,156,13,156,150,157,36,136,157,159,60,0,42,0,244,83,218,86,79,98,176,114,140,115,83,108,141,128,66,108,108,134,197,108,181,66,111,134,197,79,211,137,4,138,5,138,75,145,211,145,18,85,151,55,57,57,93,59,87,109,12,125,218,145,130,104,143,107,236,107,3,116,141,131,71,141,14,144,17,144,55,93,239,93,98,57,30,110,109,110,179,118,218,118,240,93,106,113,127,125,247,134,216,136,82,144,233,137,213,140,134,116,100,135,182,146,148,145,130,155,61,159,196,155,61,156,60,0,42,0,29,100,215,124,60,0,42,0,251,145,18,134,60,0,42,0,67,83,223,78,49,87,50,87,119,89,102,98,88,108,33,150,101,79,141,92,68,103,103,108,138,130,193,143,38,107,233,116,228,129,62,131,142,148,234,98,117,114,129,124,91,81,173,96,56,140,197,148,92,90,111,91,125,114,250,145,148,99,136,134,38,140,6,146,195,150,201,80,6,97,126,123,91,146,158,154,80,158,115,97,52,100,129,100,158,123,208,138,119,144,48,137,25,139,69,152,182,106,16,101,207,106,61,124,110,157,69,91,19,101,43,154,17,101,29,155,28,155,119,58,100,124,198,151,60,0,42,0,241,78,146,92,244,95,114,98,209,98,77,82,164,148,108,107,84,134,177,148,179,148,174,99,225,142,138,90,245,99,16,146,108,151,87,146,152,88,169,105,157,123,173,146,91,111,92,111,172,127,108,106,65,133,34,147,212,158,218,158,243,111,26,154,29,154,74,112,44,156,60,0,42,0,245,81,183,128,69,109,250,109,37,129,219,85,112,93,207,105,129,129,56,135,99,144,52,140,49,127,126,126,116,139,60,0,42,0,32,107,11,82,56,52,161,130,212,79,41,80,147,96,28,131,17,88,148,80,76,93,200,104,32,105,74,97,152,118,121,88,30,55,251,55,73,107,170,125,168,132,231,105,207,123,51,133,36,143,25,81,223,123,205,88,52,126,69,73,28,156,60,0,42,0,207,122,134,147,242,147,86,124,83,148,60,0,42,0,178,78,181,79,166,148,126,136,142,154,135,90,90,93,61,107,133,125,155,138,148,93,170,137,73,152,248,153,188,155,244,91,60,0,42,0,38,54,136,94,129,58,169,130,185,130,193,87,225,115,230,121,57,128,153,134,102,99,52,116,57,116,230,131,243,131,25,146,194,150,228,82,234,85,192,90,177,110,189,121,114,151,108,97,89,86,179,101,249,156,196,97,82,58,210,100,191,111,61,118,147,135,195,97,142,106,53,155,4,136,109,157,60,0,42,0,69,87,17,102,9,123,171,104,126,141,209,91,19,149,221,91,226,91,223,146,188,135,60,0,42,0,34,84,35,84,8,57,139,98,129,108,26,85,255,99,227,131,100,216,136,220,7,100,179,100,28,66,25,112,253,133,60,0,42,0,91,84,21,98,23,98,168,101,170,103,177,115,140,127,151,127,16,115,196,141,12,105,84,129,198,85,172,110,22,149,136,93,39,98,205,105,68,114,114,116,171,127,35,135,53,149,236,123,6,147,18,139,76,142,106,149,97,142,151,147,216,147,60,0,42,0,44,78,55,95,58,95,153,88,241,90,18,111,47,106,3,133,55,133,187,88,25,91,231,94,163,106,70,114,148,133,98,130,32,134,60,0,42,0,162,98,159,127,54,100,165,127,143,88,72,126,65,137,102,126,249,147,60,0,42,0,157,112,52,85,151,113,187,127,60,0,42,0,244,85,71,115,60,0,42,0,197,114,81,151,82,151,34,108,123,143,62,80,127,83,10,87,229,87,200,91,43,108,248,109,5,110,236,144,190,80,59,135,21,143,29,74,173,156,75,148,60,0,42,0,29,89,32,117,96,82,205,82,197,96,145,107,116,102,254,104,48,108,146,102,93,132,8,106,207,100,206,100,243,59,160,106,229,158,60,0,42,0,119,152,216,130,247,139,188,94,3,152,206,94,0,111,235,61,203,138,190,106,60,0,42,0,134,94,202,81,133,99,184,107,131,120,144,123,88,151,118,97,216,120,236,120,68,127,38,139,60,0,42,0,88,120,230,106,60,0,42,0,58,83,242,102,57,79,73,79,36,83,150,92,206,139,113,154,101,87,72,92,168,92,180,92,190,98,57,150,85,59,64,109,224,128,91,121,64,83,54,125,198,134,170,136,175,142,65,123,172,124,208,134,88,138,139,141,135,93,136,97,12,66,198,153,122,101,179,138,124,149,200,153,185,158,247,154,124,155,168,141,175,158,176,137,192,142,180,158,226,158,187,137,69,154,56,156,75,156,60,0,42,0,98,79,172,82,170,101,16,103,202,128,50,158,237,109,71,125,209,127,32,110,195,131,229,142,75,132,82,216,14,222,150,116,86,133,29,157,169,116,242,120,182,135,191,119,221,135,41,159,57,55,194,95,72,112,39,134,53,98,11,107,13,108,222,129,111,118,103,124,55,136,98,136,163,142,60,136,122,148,28,158,60,0,42,0,214,83,216,122,54,90,83,138,236,122,122,135,139,159,114,159,60,0,42,0,186,83,187,83,30,82,127,84,38,60,31,85,29,128,18,150,209,137,163,141,180,149,174,158,195,149,1,159,183,137,60,0,42,0,242,143,80,136,60,0,42,0,58,127,25,150,155,132,60,0,42,0,56,118,60,0,42,0,116,83,123,83,198,87,5,93,201,91,171,96,192,150,55,116,94,120,110,120,21,150,89,88,9,100,181,118,143,120,74,158,40,97,183,105,167,88,100,97,186,120,187,120,158,141,233,113,203,149,16,121,213,149,114,157,77,112,45,121,60,0,42,0,209,92,46,95,110,96,155,96,8,87,15,87,236,104,233,153,9,148,60,0,42,0,176,52,104,81,67,103,122,79,224,139,254,89,201,108,36,109,243,98,119,114,67,131,129,143,115,85,226,87,88,90,211,96,202,117,66,120,232,148,118,110,136,114,76,123,95,125,60,100,84,116,114,132,224,137,110,138,231,141,7,143,55,135,147,146,41,106,33,142,19,126,155,145,200,156,8,155,33,154,1,156,73,91,207,93,100,159,10,107,167,152,56,136,116,152,60,0,42,0,71,216,232,223,173,114,172,114,113,108,78,117,199,112,251,126,163,125,71,134,60,0,42,0,157,82,56,82,118,114,231,82,207,151,248,82,60,0,42,0,38,105,126,105,206,149,60,0,42,0,11,89,247,86,238,92,33,144,60,0,42,0,173,91,44,94,138,58,163,127,164,127,217,136,224,136,60,0,42,0,142,130,20,83,60,0,42,0,109,83,134,91,155,144,119,122,121,122,21,131,79,104,67,65,59,123,121,141,248,96,42,113,45,113,60,116,71,123,60,130,233,134,236,134,70,216,131,221,98,113,88,119,235,141,142,146,143,119,174,122,29,81,140,97,105,106,154,116,202,116,198,122,209,133,237,133,215,116,60,0,42,0,141,113,60,0,39,0,208,253,39,0,18,49,60,0,42,0,21,89,110,81,218,95,80,108,127,137,128,137,56,84,12,94,113,98,120,98,101,83,20,102,144,103,120,122,184,128,185,128,217,79,134,95,56,96,83,96,123,153,15,85,90,89,211,54,86,92,111,96,149,96,37,108,96,109,122,114,246,114,215,144,61,85,137,96,220,96,127,99,94,102,120,104,55,107,197,109,239,112,1,113,8,113,11,116,82,120,131,131,101,141,248,145,146,80,193,96,112,102,115,102,100,60,31,113,44,113,128,114,78,119,0,122,158,124,213,127,62,130,229,131,128,83,96,93,175,95,170,110,153,118,14,145,33,149,214,80,189,105,85,113,132,113,136,113,153,113,198,125,160,132,37,135,104,140,15,153,59,86,79,86,6,91,9,91,93,111,183,63,28,118,206,120,157,129,222,81,65,216,21,222,178,93,153,97,27,59,40,106,64,106,185,113,186,113,187,113,184,122,24,126,178,127,133,135,135,135,43,147,70,60,232,113,111,64,166,119,203,135,63,140,64,140,111,140,149,140,230,124,101,126,223,150,87,157,70,139,175,145,237,147,199,93,230,102,20,114,167,114,249,137,181,150,69,145,253,137,55,159,53,136,2,158,255,137,116,148,60,0,42,0,96,78,203,144,45,94,210,127,173,136,203,137,179,90,58,105,4,56,141,93,29,111,181,132,198,132,161,137,152,141,226,105,87,58,132,106,130,133,176,150,53,139,180,147,43,151,219,156,193,152,49,154,61,154,114,137,60,156,104,154,60,0,42,0,178,103,23,109,186,115,153,95,227,148,156,85,34,146,72,132,120,132,104,146,105,146,99,92,7,111,152,97,240,132,191,102,86,107,240,138,208,88,167,121,48,126,17,139,226,135,93,142,189,116,205,86,90,156,214,119,167,142,60,0,42,0,56,83,76,83,15,98,67,92,251,124,105,153,108,84,229,95,44,96,253,119,198,126,194,79,165,84,68,96,251,118,56,57,97,59,47,107,228,126,228,144,48,125,243,145,11,150,186,85,30,105,214,127,3,130,4,130,135,141,64,97,202,110,140,125,105,141,141,88,130,113,148,114,138,121,39,122,153,150,159,150,95,111,164,137,49,98,153,111,42,66,110,133,214,158,50,98,246,120,142,75,105,134,60,153,41,155,107,126,177,86,223,149,13,62,60,151,109,92,75,136,60,0,42,0,19,110,114,106,160,114,2,121,209,155,60,0,42,0,114,134,168,117,126,134,32,53,58,140,132,80,149,149,70,113,117,113,172,152,92,216,205,221,142,119,102,135,21,156,60,0,42,0,35,83,160,79,206,114,224,79,225,92,217,103,160,112,237,114,253,92,218,112,249,114,232,115,92,150,86,120,107,121,200,127,58,130,199,53,100,120,127,150,110,101,135,102,85,116,106,123,29,130,80,144,172,120,150,143,205,120,0,126,22,126,110,141,123,155,120,133,68,143,92,147,30,151,139,147,224,158,34,154,183,157,60,0,42,0,156,149,60,0,42,0,5,78,11,78,100,78,19,84,156,117,15,89,72,54,113,119,135,86,215,97,69,127,19,89,188,147,236,147,60,0,42,0,55,87,186,104,138,110,60,0,42,0,155,78,84,60,243,99,50,115,84,105,71,107,78,135,13,136,60,0,42,0,166,82,79,83,234,101,170,144,84,83,193,128,165,87,74,96,249,98,31,99,74,89,235,92,62,99,5,129,7,129,122,136,85,80,156,101,104,59,16,140,191,53,211,127,203,85,54,97,58,100,78,116,138,125,91,216,195,220,102,54,129,113,142,129,240,82,183,100,243,125,44,127,98,135,139,151,33,152,213,100,231,138,242,113,102,58,247,100,181,151,28,101,136,126,109,137,151,139,164,159,60,0,42,0,153,81,169,81,235,91,219,133,60,0,42,0,51,79,122,112,120,83,196,108,251,108,193,126,55,127,41,109,167,112,68,121,14,90,81,92,83,92,74,216,63,223,94,80,112,80,104,83,162,95,176,104,242,112,14,113,50,125,181,78,159,90,95,92,43,110,81,216,200,221,188,121,79,125,108,125,34,140,193,80,110,88,141,105,173,105,61,61,103,92,172,102,228,125,9,137,103,86,176,93,232,94,200,97,165,111,108,115,207,124,93,216,53,223,240,151,238,113,162,133,164,133,59,137,29,139,130,144,244,153,9,112,162,151,35,112,21,114,79,66,114,126,249,135,15,136,88,159,91,159,101,159,66,159,158,142,60,0,42,0,11,129,17,89,60,0,42,0,113,112,114,112,122,84,173,103,190,79,211,84,181,103,129,154,238,84,175,91,181,91,168,94,136,109,225,126,83,134,46,158,75,90,159,104,7,113,7,115,13,144,218,117,223,117,93,120,99,120,153,122,39,132,0,149,241,99,131,125,219,127,55,132,11,86,16,86,74,107,71,111,171,123,3,142,53,86,71,95,162,97,75,58,98,115,183,146,4,151,174,129,109,133,30,157,88,122,24,124,194,135,207,135,72,155,53,157,163,86,43,124,195,133,240,135,31,112,249,106,81,216,115,220,199,154,187,86,194,86,40,136,77,154,208,154,202,107,72,134,60,0,42,0,40,109,53,59,5,123,36,93,198,109,36,138,233,144,189,107,74,123,181,138,60,0,42,0,140,46,141,46,15,92,83,102,129,102,113,123,127,123,155,118,201,102,224,123,162,118,15,139,60,0,42,0,93,91,150,128,185,82,178,84,242,79,72,101,33,104,141,109,17,123,120,85,154,80,105,101,219,53,104,138,40,86,159,138,47,86,87,107,189,113,169,151,133,101,134,101,103,69,60,0,42,0,119,96,231,110,60,0,42,0,17,79,226,79,187,84,165,94,220,60,238,79,203,112,204,112,158,127,25,129,41,129,58,158,249,129,133,140,144,153,157,146,228,154,7,106,249,154,128,147,66,157,197,147,72,153,67,156,205,152,60,0,42,0,236,130,60,0,42,0,61,103,135,125,235,110,212,124,60,0,42,0,192,121,171,92,192,92,219,115,227,126,7,116,150,136,8,149,197,85,180,110,147,116,14,137,15,137,185,146,145,135,77,126,97,126,229,147,253,147,69,159,60,0,42,0,180,155,60,0,42,0,62,53,217,78,218,78,115,92,72,81,126,89,164,126,97,79,250,95,25,108,116,103,200,121,174,103,70,121,124,124,238,130,215,115,128,99,182,131,46,138,230,148,77,216,25,221,202,80,249,141,112,145,40,149,21,86,155,146,156,156,239,151,16,91,184,97,185,102,65,147,159,133,60,137,241,151,174,155,110,142,166,153,76,77,239,94,21,101,142,126,177,157,154,142,150,126,115,137,123,156,60,0,42,0,45,79,242,149,182,89,38,95,36,141,184,84,38,99,216,128,52,90,12,85,99,85,57,90,113,90,142,109,67,125,55,130,191,134,84,136,121,59,235,117,221,134,145,149,146,149,71,158,204,90,88,136,156,146,250,90,251,90,170,97,143,100,150,111,9,117,52,122,184,138,226,140,215,59,106,61,197,113,244,138,49,143,142,145,71,118,78,118,175,119,214,133,10,60,37,121,84,69,121,158,153,158,18,141,243,157,244,157,252,157,60,0,42,0,188,81,221,114,229,57,62,102,4,93,96,59,232,107,205,112,3,115,172,134,105,150,123,141,122,150,69,123,31,92,32,92,31,100,227,141,14,59,146,121,145,146,178,123,174,93,107,115,170,150,110,115,76,147,249,113,211,133,85,152,112,94,7,101,246,106,99,139,26,134,6,70,106,73,129,115,197,151,111,152,102,112,60,0,42,0,35,79,191,83,152,92,65,216,14,223,176,115,191,126,253,129,203,130,158,84,237,89,170,91,12,119,80,150,239,84,183,87,10,90,40,90,244,92,135,58,128,109,101,150,91,102,254,115,77,120,167,131,119,150,133,153,77,119,100,125,16,127,161,127,46,115,175,124,168,127,122,129,6,135,223,73,233,80,244,80,69,216,22,220,171,125,162,138,138,100,218,125,231,146,178,97,23,59,76,106,35,126,14,147,33,153,207,88,79,140,60,73,178,158,23,112,212,129,123,115,238,124,56,159,60,0,42,0,242,80,74,126,102,148,60,0,42,0,195,95,161,89,251,95,155,143,164,144,21,102,122,103,35,107,152,112,175,130,250,118,253,79,98,59,222,96,34,138,10,146,12,149,176,101,70,107,222,94,197,146,28,91,170,133,168,153,107,148,171,153,60,0,42,0,148,103,38,55,81,137,20,148,60,0,42,0,8,79,60,0,42,0,48,52,41,79,223,86,32,150,94,91,68,59,82,216,242,220,225,79,208,142,42,129,69,136,43,138,46,113,97,113,184,153,11,130,86,152,193,145,60,0,42,0,196,95,122,86,60,0,42,0,97,78,151,130,248,118,153,153,162,83,76,85,247,144,194,94,88,110,3,127,9,145,10,145,37,122,89,132,21,145,177,123,215,125,183,129,140,133,68,137,192,95,167,154,152,158,0,107,214,116,118,149,114,148,100,154,60,0,42,0,109,79,232,116,230,139,160,94,25,104,101,121,116,125,212,127,115,138,237,141,60,0,42,0,171,78,175,78,205,84,119,153,81,102,232,152,243,96,132,146,9,153,158,156,207,102,157,155,1,136,215,155,255,151,87,153,95,153,118,156,60,0,42,0,17,84,224,89,247,93,131,134,121,152,230,115,66,88,63,127,86,136,97,140,5,152,43,132,207,80,232,82,151,146,145,93,97,106,192,149,174,86,211,135,80,137,12,148,76,156,60,0,42,0,127,105,92,156,60,0,42,0,31,102,182,87,141,154,250,96,41,115,75,113,70,116,101,129,245,134,234,137,181,123,194,123,143,155,208,102,242,137,95,147,2,154,168,118,249,155,60,0,42,0,17,82,76,136,98,95,162,144,128,79,73,150,139,87,16,109,201,144,152,148,25,90,101,131,88,150,78,120,207,148,3,146,206,110,118,146,146,146,222,146,60,0,42,0,24,58,114,119,146,145,228,100,60,0,42,0,116,81,79,103,211,89,120,94,39,96,22,80,71,131,94,90,187,96,172,109,149,131,200,125,8,130,57,91,214,129,60,0,42,0,216,84,196,136,3,139,60,0,42,0,1,84,12,98,244,101,158,117,241,118,40,107,229,128,123,152,71,102,15,138,124,152,87,134,90,134,30,140,173,90,65,94,223,99,81,110,81,216,224,223,91,134,199,136,8,152,72,105,162,122,10,152,24,86,0,151,83,86,159,88,3,91,3,126,81,135,70,155,84,107,102,133,221,138,67,139,123,126,80,148,73,154,26,155,86,155,60,0,42,0,198,79,144,95,163,132,60,0,42,0,184,139,116,84,193,89,233,139,148,81,41,104,221,115,102,80,49,138,138,102,97,138,48,122,200,124,38,145,145,145,232,118,60,0,42,0,237,101,53,79,143,94,127,108,144,79,121,83,52,96,128,108,167,130,217,83,100,96,43,102,43,109,15,70,191,87,48,107,136,107,197,112,236,115,214,82,77,101,88,101,215,82,252,112,234,126,237,126,87,145,163,85,251,88,127,90,2,103,134,110,110,125,57,138,73,97,102,113,201,140,210,105,53,111,74,111,226,118,129,119,210,125,95,128,196,132,138,146,93,115,56,122,214,125,99,155,178,119,199,133,218,133,140,126,110,156,60,0,42,0,83,128,154,125,255,132,60,0,42,0,74,82,182,117,225,62,134,132,116,151,254,53,165,143,170,143,155,133,190,151,60,0,42,0,116,122,136,101,116,78,102,91,164,92,195,92,246,108,19,131,52,158,149,136,5,142,198,88,120,91,168,93,169,111,226,113,133,61,247,137,228,150,253,157,60,0,42,0,234,150,213,156,72,156,60,0,42,0,64,136,112,53,55,84,121,87,216,114,86,104,17,140,144,141,20,139,37,112,60,0,42,0,164,129,48,106,93,130,76,143,60,0,42,0,5,84,105,143,13,102,163,91,50,95,210,142,139,104,22,140,167,85,71,88,151,90,3,97,11,97,206,99,132,102,74,113,68,116,49,132,50,132,123,119,210,132,7,81,174,123,7,126,231,127,86,135,215,146,193,97,164,121,224,138,252,138,127,133,121,147,253,153,254,127,9,136,206,119,252,133,16,134,94,139,60,0,42,0,132,115,185,115,35,54,195,117,172,96,203,101,1,116,1,135,217,90,41,111,182,102,135,116,98,64,136,106,191,116,248,97,60,0,42,0,186,84,69,102,220,112,9,144,53,53,120,144,72,152,99,118,108,118,60,0,42,0,48,96,235,108,230,57,33,102,171,112,218,126,41,119,201,148,4,116,52,119,82,136,168,136,50,110,98,125,101,105,102,105,73,146,185,120,25,133,95,149,153,151,180,152,60,126,79,126,199,147,130,139,25,141,60,0,42,0,26,156,60,0,42,0,67,87,203,82,217,87,4,113,219,82,100,88,143,113,168,122,242,82,18,133,243,82,232,153,206,88,111,115,171,133,219,102,251,113,208,129,176,133,196,119,129,126,13,134,230,88,186,145,60,0,42,0,251,91,245,94,236,101,111,154,74,103,225,93,67,117,226,139,203,92,66,96,53,109,84,109,3,125,18,104,106,104,229,107,227,115,64,131,104,131,113,80,4,55,11,92,170,95,215,99,101,216,176,221,98,138,180,153,198,105,67,111,159,156,90,86,76,61,111,111,41,145,51,101,51,106,214,113,149,116,243,135,79,156,88,156,101,112,60,0,42,0,66,83,173,139,175,139,40,79,91,108,197,143,154,79,250,93,135,95,229,114,137,107,10,138,19,138,25,138,255,143,10,144,94,89,253,93,190,107,4,122,59,97,208,140,92,144,64,86,96,111,72,133,85,157,11,114,104,152,66,148,60,0,42,0,145,86,60,0,42,0,246,81,68,81,43,52,71,81,8,83,187,139,247,95,121,108,197,84,95,96,54,109,247,128,248,128,41,138,126,138,239,140,60,0,42,0,196,150,138,113,60,0,42,0,61,113,60,0,42,0,199,139,56,113,87,138,16,89,123,101,75,216,204,223,60,0,39,0,208,253,39,0,19,49,60,0,42,0,75,78,47,101,110,83,65,108,49,84,245,93,101,108,103,87,157,103,220,108,229,119,199,126,162,128,157,130,0,104,211,121,214,121,209,128,221,128,1,80,183,117,87,121,234,121,2,129,124,136,187,150,148,104,108,121,37,105,248,129,32,98,24,100,25,122,149,125,176,105,148,121,24,135,182,153,196,59,247,156,50,157,68,157,84,126,5,159,53,134,60,0,42,0,103,98,132,79,183,89,244,118,234,89,36,80,60,80,64,128,222,145,244,87,247,87,71,216,28,222,212,109,76,128,173,140,13,105,150,107,134,114,119,125,1,137,214,141,237,85,225,116,131,121,68,146,140,88,109,100,189,153,2,91,121,97,16,111,47,142,52,106,177,129,40,81,54,126,119,128,217,135,96,142,196,142,145,142,60,0,42,0,2,89,98,107,234,83,167,82,232,101,64,87,65,87,11,94,122,98,102,108,154,108,184,126,47,150,62,96,167,98,79,216,181,220,183,130,171,84,73,96,7,99,179,103,20,109,11,120,73,121,117,143,187,117,219,65,25,125,121,136,253,109,40,138,190,141,249,142,32,73,249,158,111,145,226,133,103,137,60,0,42,0,243,129,36,150,215,95,238,95,123,98,150,130,120,140,97,216,104,220,54,82,148,83,129,87,25,94,28,94,187,108,153,112,40,141,217,92,162,94,164,94,3,99,227,103,9,104,55,109,244,129,227,143,197,144,33,90,143,95,73,216,122,222,26,99,74,102,78,104,254,114,81,121,233,121,61,141,126,143,95,150,127,78,107,80,64,216,183,222,157,95,1,58,183,99,189,104,86,105,24,115,100,117,212,117,242,121,247,121,146,122,41,125,208,127,159,136,160,136,215,137,218,148,55,158,130,80,68,216,118,223,59,93,88,95,122,102,222,110,227,117,237,134,253,142,152,154,216,91,204,94,49,100,205,110,26,122,107,123,110,127,241,141,10,143,39,149,201,150,134,88,70,216,57,220,239,110,76,111,144,117,186,67,253,136,159,137,140,138,141,146,95,94,132,97,111,100,171,113,58,122,251,125,45,68,163,129,239,137,234,140,44,142,213,146,243,100,216,101,4,112,228,153,25,157,149,82,229,97,219,106,73,122,69,66,178,135,9,54,49,55,235,97,242,100,4,141,205,106,198,116,246,137,239,155,41,121,81,140,45,154,58,154,71,154,147,142,217,157,85,148,82,140,60,0,42,0,234,81,231,79,148,95,34,139,60,0,42,0,78,98,18,84,175,98,83,89,19,99,228,103,251,103,243,84,103,80,179,85,248,99,35,110,66,105,132,82,99,100,182,118,29,106,240,137,187,118,71,139,68,159,71,159,60,0,42,0,45,103,52,117,248,149,187,134,225,148,96,113,80,114,152,149,154,123,43,128,88,147,87,139,60,0,42,0,143,83,195,98,242,130,40,119,31,120,41,100,138,156,157,156,55,142,147,155,186,155,98,69,60,0,42,0,77,78,121,112,200,139,164,84,222,103,5,104,184,112,177,91,196,117,177,134,80,138,62,100,160,110,168,105,94,216,10,222,5,151,161,145,60,0,42,0,7,135,251,85,236,90,110,144,60,0,42,0,135,83,152,98,125,107,250,119,19,120,119,124,116,134,242,84,209,87,89,59,141,124,96,85,138,96,98,102,99,102,111,59,169,136,132,143,134,85,240,134,95,138,253,65,42,140,178,153,122,100,18,143,212,120,25,143,184,146,153,143,196,135,158,86,43,139,58,139,191,155,77,143,129,139,139,139,60,0,42,0,5,128,125,78,107,85,23,149,135,121,109,141,54,137,117,137,60,0,42,0,217,143,216,103,89,109,219,109,25,144,28,106,106,111,23,133,103,158,197,135,38,72,211,157,60,0,42,0,64,119,87,132,60,0,42,0,90,99,139,101,142,101,88,100,184,105,29,69,75,159,103,216,115,220,60,0,42,0,133,91,161,106,60,0,42,0,132,122,89,146,60,0,42,0,58,80,38,120,181,80,232,91,53,118,60,0,42,0,8,89,130,124,60,0,42,0,75,79,138,148,177,89,246,93,219,98,45,102,196,118,215,145,65,85,74,146,203,153,188,122,99,147,189,118,60,0,42,0,42,114,126,98,188,108,117,116,3,66,60,0,42,0,236,83,70,81,207,139,155,103,151,87,164,112,227,114,117,141,10,123,129,128,208,101,249,104,110,67,84,138,103,113,105,127,7,66,135,128,136,128,153,141,204,102,243,113,161,155,194,106,190,119,132,127,60,0,42,0,165,46,43,114,64,127,60,0,42,0,222,93,31,130,204,139,156,79,104,84,50,109,234,139,208,112,216,115,128,143,159,95,4,58,171,99,205,109,234,119,238,144,60,158,140,85,165,124,82,141,49,144,8,143,223,68,130,146,217,140,22,143,12,151,233,118,5,139,67,157,6,154,120,139,60,0,42,0,175,89,116,143,248,142,60,0,42,0,152,128,26,94,155,117,109,102,247,131,109,119,146,123,222,155,60,0,42,0,163,126,55,79,106,84,146,84,153,91,201,126,145,81,174,84,60,102,2,125,196,128,177,118,110,131,78,145,93,102,153,124,115,52,75,138,100,132,118,138,3,117,253,80,186,118,206,153,99,86,80,216,242,223,16,126,164,154,64,124,85,124,82,124,95,154,60,0,42,0,191,112,242,153,60,0,42,0,190,108,225,107,195,101,52,104,152,124,197,134,230,152,201,96,64,138,136,141,121,138,154,149,53,140,97,86,166,93,17,151,8,108,10,108,157,133,133,144,187,119,111,158,220,101,107,139,88,153,227,156,89,154,89,155,99,156,7,158,60,0,42,0,157,139,60,0,42,0,169,101,208,152,85,92,207,118,45,93,172,101,45,56,43,105,22,116,10,55,12,100,222,118,131,93,132,93,144,105,173,152,248,90,134,145,79,106,106,64,62,143,98,216,192,222,94,216,6,223,72,216,122,221,245,158,60,0,42,0,96,83,84,79,24,98,8,104,95,104,217,122,97,80,253,126,231,104,91,110,218,131,38,98,187,125,152,93,26,143,48,98,101,134,102,134,177,137,79,143,103,139,102,216,71,221,79,154,56,134,60,0,42,0,30,141,48,54,136,148,166,79,72,109,205,115,206,115,215,128,158,140,152,53,42,94,21,104,98,104,30,119,31,119,39,120,221,145,117,80,109,104,111,121,89,145,202,91,195,90,71,216,200,222,56,100,159,101,104,105,73,115,116,132,73,144,65,146,85,151,155,105,157,107,103,116,4,117,170,120,142,121,150,132,193,132,103,111,155,121,180,123,60,106,181,111,251,129,49,147,67,143,124,147,189,133,72,124,117,156,60,0,42,0,49,52,202,139,174,98,149,103,43,95,35,102,120,143,82,92,91,117,185,117,21,119,62,125,68,128,151,136,58,138,235,142,124,125,28,127,214,136,180,74,57,122,215,153,37,126,18,155,240,158,60,0,42,0,51,87,188,126,53,150,61,117,178,79,11,99,182,66,41,158,47,99,21,103,26,104,22,125,99,150,57,119,72,141,86,145,213,99,102,88,113,116,171,138,209,140,244,71,118,101,71,149,7,151,6,157,173,147,174,147,60,0,42,0,25,132,244,146,60,0,42,0,32,95,53,95,224,122,189,80,135,88,220,90,112,95,73,216,84,221,94,97,51,111,80,115,187,124,35,145,178,102,31,106,80,216,100,223,139,116,1,133,103,144,38,153,209,135,63,154,70,156,158,158,60,0,42,0,201,78,127,149,119,149,168,109,140,99,50,111,3,121,60,0,42,0,8,78,215,78,89,98,16,94,86,103,192,128,38,141,51,94,177,109,57,129,238,117,130,93,91,94,156,150,236,140,44,118,52,118,149,119,60,0,42,0,128,124,101,94,241,147,35,148,60,0,42,0,137,78,66,79,195,89,129,95,20,96,45,114,228,139,67,216,156,220,229,92,35,99,161,112,240,114,221,112,16,119,178,148,233,87,29,93,34,93,153,99,25,115,65,119,71,128,97,216,19,223,238,148,156,90,193,99,93,123,57,59,176,95,92,119,102,146,180,95,184,132,143,123,181,95,45,142,220,123,26,147,7,155,214,155,101,118,60,0,42,0,54,108,141,98,253,124,239,98,159,99,120,102,56,97,156,100,116,101,60,0,42,0,99,107,193,139,39,94,63,101,209,144,199,117,64,94,60,138,99,88,187,64,95,216,132,221,35,66,205,138,45,145,10,157,73,139,109,73,60,0,42,0,231,81,60,0,42,0,49,103,175,82,143,79,219,139,25,109,190,144,42,104,224,115,49,131,248,139,42,115,67,120,252,121,226,148,81,125,219,134,190,136,133,138,230,141,224,105,107,135,150,146,101,106,116,111,248,138,108,140,239,153,162,155,56,157,38,112,235,106,231,106,250,155,4,159,41,136,60,0,42,0,249,122,207,108,250,122,162,112,1,123,219,112,139,122,63,131,28,123,51,130,16,144,3,118,201,123,237,113,11,136,133,142,65,156,78,91,95,112,239,102,24,107,37,114,62,136,60,0,42,0,54,78,59,78,67,216,13,220,148,91,196,98,92,127,26,110,124,150,110,113,93,138,81,113,49,86,208,111,136,158,169,119,154,82,209,86,184,101,218,119,60,0,42,0,43,79,71,79,79,79,169,82,187,126,126,87,124,103,232,108,206,130,46,141,236,143,123,154,244,88,241,103,182,107,183,112,176,117,29,119,43,120,93,121,218,122,105,121,53,125,56,125,156,127,135,131,192,134,64,93,81,123,59,138,175,140,211,141,244,142,248,148,111,123,82,146,181,153,184,123,229,127,38,106,243,146,208,153,235,123,20,151,134,158,68,148,60,0,42,0,184,88,60,0,42,0,147,98,155,106,188,129,253,154,59,124,60,0,42,0,83,83,217,98,170,112,44,80,73,99,76,104,193,104,191,109,243,104,91,122,87,216,26,223,147,75,113,122,63,136,60,0,42,0,52,87,116,95,75,108,179,114,124,112,213,83,176,89,171,101,74,109,1,131,53,78,94,109,252,139,76,145,68,85,69,85,58,90,251,57,108,59,178,104,245,112,177,101,107,102,19,105,56,116,1,68,84,216,205,221,122,120,161,122,108,127,178,101,213,105,175,100,198,100,154,121,117,65,193,138,209,138,220,146,193,111,231,123,98,216,231,221,226,100,128,101,181,101,239,111,80,216,248,223,225,106,54,139,111,149,107,157,66,112,23,136,47,148,50,148,87,124,223,157,113,124,60,0,42,0,133,82,60,0,42,0,167,122,60,0,42,0,253,98,60,0,42,0,233,141,60,0,42,0,185,150,253,143,147,154,37,149,16,147,5,154,123,157,60,0,42,0,157,108,60,0,42,0,96,87,88,104,13,123,55,90,0,127,244,96,18,127,119,117,0,117,126,120,180,125,135,129,88,141,156,88,200,138,138,145,11,126,35,147,31,153,8,121,5,141,117,139,91,143,70,148,60,0,42,0,19,78,192,83,2,92,22,120,8,92,124,88,229,90,31,145,124,116,215,120,158,129,155,152,14,117,218,120,239,138,228,135,83,152,68,156,60,0,42,0,108,143,104,91,226,142,241,122,113,72,73,143,60,0,42,0,119,112,109,85,31,88,81,116,94,129,131,132,206,80,90,141,176,100,198,123,148,153,249,123,250,140,72,137,84,139,76,153,192,86,81,124,60,0,42,0,146,91,171,128,205,143,128,122,6,140,196,138,96,136,60,0,42,0,198,81,251,87,150,110,167,125,60,0,42,0,48,138,21,122,60,0,42,0,214,81,60,0,42,0,134,89,132,94,157,89,36,90,105,104,88,131,137,104,138,131,119,110,167,124,197,136,221,136,1,106,218,124,60,0,42,0,238,88,239,88,182,114,192,114,245,88,11,113,52,111,158,100,7,98,60,0,42,0,146,94,60,0,42,0,45,78,0,79,119,108,35,82,144,89,120,95,224,95,200,108,130,112,200,126,90,216,21,223,202,103,197,118,159,148,215,65,47,130,115,136,119,136,66,125,33,146,82,94,58,149,32,133,191,146,164,135,189,135,126,147,40,159,113,142,24,148,100,216,94,221,102,124,60,0,42,0,191,128,205,121,162,81,160,85,48,92,90,88,92,88,113,107,68,113,107,129,7,118,46,122,53,142,92,122,60,0,42,0,242,78,23,79,149,89,198,114,76,121,205,145,61,131,155,134,118,136,69,80,62,119,57,88,145,90,87,123,70,136,229,138,60,0,42,0,218,143,60,0,39,0,208,253,39,0,20,49,60,0,42,0,3,84,153,79,231,84,104,95,245,128,169,134,49,158,53,119,30,123,171,85,251,116,53,138,228,85,184,90,244,117,122,125,91,100,68,86,186,138,157,119,31,157,173,135,97,118,93,159,81,155,114,95,208,158,60,0,42,0,27,95,96,108,112,154,123,87,187,92,223,143,1,99,254,122,12,131,109,107,78,131,179,134,127,141,66,123,190,140,141,141,69,144,179,153,142,123,95,144,128,88,38,111,31,142,234,123,114,144,24,139,98,216,50,222,60,0,42,0,58,92,250,83,78,84,136,79,118,83,127,159,145,87,227,128,101,96,180,61,142,124,188,66,59,128,135,134,60,107,111,107,178,136,179,136,237,136,121,146,82,159,43,137,60,0,42,0,115,95,241,83,165,101,88,103,123,112,100,141,108,153,182,98,197,82,92,96,189,112,209,82,196,127,197,127,85,101,254,112,211,117,123,85,97,57,65,110,115,120,237,152,186,80,248,117,95,129,238,141,83,146,244,150,8,118,228,127,144,146,87,97,143,97,27,118,232,127,107,144,190,113,216,97,169,141,32,72,78,153,146,157,216,157,60,0,42,0,155,89,182,158,60,0,42,0,201,83,96,98,72,103,81,216,47,223,158,128,255,129,63,99,91,80,210,99,247,99,135,153,207,85,159,146,56,149,128,117,86,130,100,147,55,153,60,0,42,0,197,121,158,87,229,103,44,131,54,131,86,93,57,115,107,151,61,100,103,138,223,91,206,105,180,120,87,216,215,222,171,106,101,216,212,223,60,0,42,0,105,136,69,142,114,149,84,148,60,0,42,0,124,89,74,108,148,92,152,79,231,139,249,89,1,125,238,93,213,71,107,138,60,0,42,0,102,143,33,79,202,142,229,79,23,120,19,85,151,131,104,120,252,134,60,0,42,0,111,98,86,80,163,71,166,100,60,0,42,0,110,92,123,95,124,87,224,143,52,57,226,112,237,63,45,53,69,128,163,99,105,120,25,152,185,95,164,100,136,111,26,59,246,82,174,119,32,71,33,114,60,0,42,0,134,130,198,98,151,148,245,145,60,0,42,0,170,79,244,103,122,140,97,121,141,85,21,81,92,159,60,0,42,0,29,131,60,0,42,0,127,134,131,136,13,138,37,118,6,136,198,86,60,0,42,0,132,98,72,216,126,220,40,95,10,96,41,107,158,148,44,138,47,113,81,216,116,222,133,141,20,146,230,82,255,74,60,0,42,0,74,114,65,102,226,93,227,93,29,103,12,159,5,111,27,145,50,86,20,106,110,111,178,122,122,127,72,143,2,159,63,139,60,0,42,0,53,84,146,112,39,119,35,113,124,113,168,158,208,93,60,0,42,0,230,78,239,78,22,128,216,137,60,0,42,0,189,98,100,90,10,100,51,118,216,123,168,114,171,114,60,0,42,0,199,78,30,96,230,79,49,94,38,104,198,96,44,125,248,126,6,105,116,117,82,125,215,131,1,97,151,118,32,122,121,123,103,145,108,145,162,125,239,136,12,142,20,81,212,150,139,86,38,91,108,94,228,97,253,113,181,133,224,150,135,117,76,124,138,142,187,145,142,139,144,139,60,0,42,0,17,78,18,78,28,84,123,103,125,103,180,79,98,80,133,119,156,145,193,119,87,155,60,0,42,0,237,129,240,129,160,107,90,144,60,0,42,0,191,143,199,137,0,100,180,104,152,137,70,146,231,136,211,146,104,94,92,137,25,101,60,0,42,0,117,90,23,140,206,104,121,110,139,153,88,113,133,121,32,127,221,80,81,115,73,135,151,138,3,81,11,91,219,94,121,111,122,111,254,125,182,111,219,120,203,146,218,107,170,121,97,149,13,112,236,135,61,145,51,81,150,82,254,135,181,86,201,93,58,112,65,145,3,107,143,126,146,126,148,142,117,149,108,130,146,139,113,148,94,153,60,0,42,0,167,78,44,82,245,101,51,78,186,101,80,109,87,82,4,140,116,85,34,117,35,117,242,148,16,150,119,82,135,132,124,93,76,100,251,110,61,86,93,94,194,138,179,149,163,154,192,113,70,133,5,124,129,81,95,126,66,139,180,143,223,147,225,149,197,86,91,112,135,139,60,0,42,0,207,95,95,120,4,59,114,100,244,97,164,152,250,97,188,127,194,151,107,152,60,0,42,0,229,88,60,0,42,0,187,98,117,99,244,144,27,116,212,85,157,125,139,119,195,138,221,140,29,126,19,139,60,0,42,0,24,92,227,129,241,95,136,108,137,108,176,143,72,150,231,143,184,91,30,131,80,101,104,102,128,131,144,131,38,138,12,140,217,142,115,150,22,97,232,99,2,146,65,113,117,88,14,118,4,106,47,133,3,151,246,138,180,135,188,133,142,158,223,102,208,157,60,0,42,0,187,141,118,120,156,120,139,88,38,89,227,120,56,142,86,147,2,141,166,145,60,0,42,0,162,117,108,136,128,159,129,141,130,141,135,105,83,159,44,81,84,159,45,81,171,86,54,140,236,106,111,137,150,139,60,0,42,0,229,112,60,0,42,0,37,79,12,102,0,80,60,90,208,109,22,115,10,150,127,102,41,116,214,131,32,149,238,136,41,147,182,149,179,156,150,75,231,155,104,216,135,220,26,159,60,0,42,0,231,78,79,81,160,128,204,130,120,149,29,92,127,80,56,94,156,95,250,116,7,132,30,117,120,129,23,86,114,88,230,90,122,116,147,129,255,146,31,81,144,86,191,156,219,147,104,156,60,0,42,0,130,83,58,87,54,102,221,96,52,88,94,101,216,80,176,83,224,94,5,108,249,146,60,0,42,0,5,96,154,115,69,117,33,80,47,155,49,85,181,96,59,113,82,116,162,102,124,117,175,138,212,151,60,0,42,0,25,105,208,135,60,0,42,0,223,108,55,150,253,103,47,114,126,109,240,121,65,80,207,134,245,54,230,104,94,110,90,114,36,116,106,141,220,80,134,97,90,100,49,122,87,151,144,100,145,100,253,125,85,106,160,119,108,141,51,152,137,106,192,122,106,122,246,135,243,147,255,147,83,153,60,0,42,0,30,78,16,98,62,103,72,84,127,98,168,103,218,139,87,78,206,87,13,90,248,92,6,109,213,144,88,78,213,87,172,91,48,99,95,102,249,115,0,129,129,99,245,115,154,122,45,129,127,131,214,148,24,88,233,96,214,104,9,105,11,122,108,123,126,125,77,88,86,88,151,110,128,120,248,65,206,136,160,138,123,117,114,145,238,146,149,97,130,111,132,111,89,106,153,106,19,112,242,97,96,216,93,221,44,154,60,0,42,0,177,79,142,95,156,96,139,154,177,94,30,144,72,119,1,154,60,0,42,0,228,121,60,0,42,0,206,155,60,0,42,0,250,81,128,92,29,82,116,100,23,106,153,140,99,159,60,0,42,0,13,82,187,130,100,150,168,83,96,140,4,149,176,90,193,110,33,128,13,135,142,141,79,146,207,150,81,53,147,114,162,132,173,132,97,56,218,94,79,133,228,146,113,106,232,123,110,94,201,106,219,150,229,106,248,133,112,142,135,142,181,157,149,142,60,0,42,0,230,81,117,103,64,120,168,80,24,105,110,105,90,105,26,137,203,111,50,81,154,106,14,121,109,159,0,158,124,159,60,0,42,0,141,78,4,89,204,122,53,96,192,98,204,126,86,140,247,103,42,107,208,122,246,79,74,101,92,117,71,54,241,87,255,115,64,125,85,134,151,80,33,116,16,100,192,110,230,137,16,145,0,142,166,149,10,81,60,86,235,132,212,138,183,97,182,101,92,107,197,129,220,158,248,137,215,119,60,0,42,0,139,105,123,106,180,116,245,135,60,0,42,0,59,107,88,107,60,0,42,0,52,144,20,142,51,98,60,0,42,0,204,46,205,46,182,143,181,143,139,60,21,90,22,90,217,96,176,109,240,126,124,90,79,129,141,143,206,68,107,145,189,125,160,141,31,143,138,159,201,100,237,120,91,126,96,107,189,86,106,159,97,148,60,0,42,0,227,99,11,100,60,0,42,0,151,129,60,0,42,0,92,85,44,86,170,129,57,142,60,0,42,0,57,84,138,112,60,0,42,0,130,87,21,80,192,87,118,99,240,104,14,105,68,129,114,150,37,100,217,131,36,149,204,105,160,123,24,147,64,152,154,147,60,0,42,0,161,159,60,0,42,0,219,93,221,93,26,108,127,122,118,82,45,115,79,116,60,0,42,0,29,79,32,79,33,130,41,130,57,130,12,87,179,80,61,105,68,144,183,102,197,123,50,143,60,0,42,0,27,130,72,131,152,85,66,107,226,80,51,142,60,0,42,0,76,108,50,78,148,115,143,148,231,145,215,140,168,157,60,0,42,0,254,101,118,103,37,102,62,88,139,90,5,132,153,102,63,105,67,116,186,123,125,135,65,106,52,143,165,129,196,106,6,156,158,157,104,216,185,220,60,0,42,0,175,126,7,85,113,109,20,125,89,150,243,109,35,129,188,131,123,110,137,114,227,110,81,158,24,111,147,132,244,132,135,145,149,145,30,147,217,155,137,157,60,0,42,0,70,80,247,96,54,132,118,119,240,140,34,136,60,0,42,0,5,82,174,117,147,122,151,122,78,114,80,100,85,114,33,118,187,122,60,0,42,0,138,94,64,114,71,86,98,94,60,0,42,0,239,149,184,80,100,100,226,120,214,149,60,0,42,0,27,82,6,96,49,82,79,82,89,82,212,81,117,82,52,97,60,0,42,0,69,81,178,81,225,95,150,108,58,131,122,109,235,115,192,127,2,130,3,86,79,100,184,95,131,97,167,97,93,136,185,65,127,127,95,130,86,142,60,0,42,0,107,134,7,93,8,93,128,150,223,125,105,135,8,137,242,135,30,114,60,0,42,0,160,91,235,87,65,216,165,221,245,91,60,0,42,0,243,148,240,99,131,146,60,0,39,0,208,253,39,0,21,49,60,0,42,0,56,92,49,89,8,94,94,84,113,134,215,139,36,158,77,92,189,101,73,109,238,114,191,144,43,94,65,125,246,145,100,110,127,110,31,146,174,110,188,110,69,115,121,132,105,138,71,146,72,146,97,116,146,132,205,132,242,156,104,135,254,156,94,216,121,222,186,156,213,111,89,216,136,220,55,137,102,147,104,216,20,220,244,155,36,156,179,157,121,137,60,0,42,0,65,83,99,153,243,119,109,78,187,143,246,101,198,139,67,216,52,220,158,91,159,91,249,101,252,89,213,92,254,98,187,112,128,134,223,152,224,152,216,87,66,102,79,121,179,131,212,91,92,110,82,88,161,110,72,144,80,146,230,91,175,105,148,132,85,135,21,66,165,156,43,159,88,139,45,159,35,156,60,0,42,0,242,83,226,119,104,78,85,140,127,79,203,89,118,154,88,81,169,91,78,92,54,123,66,146,219,153,60,0,42,0,235,88,15,108,59,121,23,78,22,78,213,78,2,94,172,46,58,121,75,83,15,95,213,95,174,46,138,78,60,79,211,83,58,98,139,78,141,79,191,82,105,84,249,103,213,139,112,153,159,81,164,91,64,96,67,96,237,98,47,102,48,102,190,103,255,103,2,119,198,137,51,141,59,104,210,112,14,119,33,119,16,130,124,143,2,144,200,148,150,137,73,140,29,144,200,145,158,90,60,93,17,95,165,95,211,99,37,140,176,140,202,145,226,82,220,85,18,95,87,119,110,123,226,137,102,138,254,142,48,146,67,146,254,152,19,130,147,138,125,146,109,89,105,144,45,73,180,146,25,153,108,86,21,91,168,111,223,138,225,138,29,153,171,135,26,139,126,144,45,124,203,145,107,137,60,0,42,0,102,79,205,122,25,83,117,93,129,105,118,113,210,123,150,155,66,124,24,156,60,0,42,0,64,103,153,108,177,126,119,78,57,82,78,82,2,120,38,85,0,115,134,124,23,125,108,104,186,107,238,107,58,62,142,131,233,148,231,117,112,120,94,113,223,136,157,105,39,106,49,133,102,155,168,156,202,155,203,155,169,147,60,0,42,0,187,80,13,81,60,0,42,0,61,80,60,85,81,85,101,85,57,94,166,83,162,85,16,132,200,94,60,60,67,107,220,127,9,66,145,123,227,127,175,149,14,151,60,0,42,0,76,126,60,0,42,0,98,89,30,115,74,141,108,117,114,117,11,143,210,140,214,140,168,106,60,0,42,0,12,130,88,79,117,134,199,134,229,134,95,216,115,221,60,0,42,0,13,130,104,99,55,75,60,0,42,0,141,83,190,139,62,121,153,83,4,92,137,109,187,109,9,110,45,138,102,141,61,95,81,97,66,100,68,100,224,110,116,97,117,100,14,133,89,107,216,151,7,154,2,136,19,71,254,97,29,101,68,112,157,158,7,107,60,0,42,0,14,130,60,0,42,0,19,61,91,123,126,145,233,123,1,124,27,124,195,145,60,0,42,0,122,126,60,0,42,0,82,102,32,59,183,149,236,102,60,0,42,0,48,95,78,99,231,112,162,104,166,131,60,113,13,122,211,101,114,123,68,130,248,134,14,143,210,113,48,66,181,152,254,154,185,155,60,0,42,0,250,82,141,130,214,103,191,115,213,130,240,122,246,151,60,0,42,0,17,92,96,216,24,222,32,69,60,0,42,0,173,82,114,83,205,126,181,144,232,84,11,90,57,125,145,136,68,119,164,125,114,111,60,0,42,0,113,133,60,0,42,0,206,83,54,101,60,0,42,0,75,98,136,91,168,87,150,153,79,130,60,0,42,0,255,91,215,83,233,114,125,81,46,85,136,99,173,109,246,126,233,117,253,88,172,125,0,89,38,118,245,70,120,115,201,147,60,0,42,0,76,98,99,115,60,0,42,0,113,92,97,95,150,144,32,82,42,82,73,103,205,89,215,89,159,130,144,148,245,103,230,114,202,115,34,130,235,130,107,136,207,87,193,117,213,142,59,99,24,123,32,129,218,141,124,82,39,100,7,86,83,94,125,113,120,111,152,111,134,106,63,126,187,129,180,127,182,127,197,155,17,60,60,0,42,0,94,216,62,222,60,0,42,0,234,149,85,150,131,149,93,150,142,58,113,102,84,113,82,119,140,113,162,137,60,0,42,0,170,139,85,108,204,56,157,117,97,82,71,98,21,138,120,141,158,99,228,145,147,80,132,85,143,146,159,154,208,80,160,88,161,88,108,111,85,216,49,221,46,127,47,145,23,91,197,100,63,106,90,107,179,129,73,76,240,120,6,139,97,141,32,65,85,126,238,135,71,73,250,135,113,139,13,141,37,148,77,153,56,154,221,156,87,112,83,156,84,156,60,0,42,0,56,87,99,103,138,149,126,101,60,0,42,0,51,117,126,92,95,98,56,79,171,142,129,79,123,84,189,89,118,124,197,126,220,139,250,89,219,103,32,108,197,115,124,122,120,124,32,90,247,92,33,117,18,119,55,120,82,101,241,109,51,125,152,131,95,81,253,104,55,138,96,132,209,136,117,138,67,216,221,222,39,117,225,132,24,133,202,113,234,153,185,156,209,102,147,133,98,157,245,155,58,156,60,0,42,0,192,78,26,117,94,121,32,76,60,0,42,0,30,95,165,144,161,91,228,119,194,84,231,119,183,91,2,140,9,140,118,90,22,110,32,138,233,91,215,138,35,152,107,155,203,102,37,152,171,119,56,91,11,112,2,60,190,137,133,139,60,0,42,0,190,128,186,79,26,102,194,128,129,109,24,119,23,110,36,129,115,121,78,129,60,97,78,97,57,105,6,118,103,127,3,135,4,135,242,110,224,146,46,118,60,0,42,0,20,88,138,105,48,156,60,0,42,0,36,79,135,107,70,85,222,137,183,80,146,88,111,97,243,110,33,111,164,107,181,113,15,133,170,135,244,137,42,139,58,155,60,0,42,0,167,87,68,98,76,102,79,141,222,140,24,141,92,148,60,0,42,0,4,78,10,78,25,92,26,92,102,96,241,126,212,125,157,151,60,0,42,0,233,78,243,136,60,0,42,0,71,83,31,117,79,84,240,88,152,101,41,150,7,102,233,108,204,114,13,104,133,107,114,114,196,115,252,130,97,60,94,150,25,123,121,150,102,110,58,113,37,117,78,146,114,128,42,159,127,157,60,0,42,0,243,126,180,97,105,126,93,139,60,0,42,0,1,119,26,119,87,80,59,110,60,0,42,0,35,87,220,128,96,102,112,82,219,118,105,82,221,82,185,140,74,93,30,116,86,128,173,88,186,105,66,133,248,140,60,0,42,0,212,122,251,102,115,106,60,0,42,0,102,78,179,107,23,92,146,98,190,126,80,52,212,83,120,103,162,103,221,89,78,150,15,80,16,80,248,102,138,107,19,125,147,99,179,104,209,109,2,113,215,142,142,117,143,117,18,130,253,131,3,145,69,100,249,107,128,125,147,143,254,141,8,142,30,106,121,116,44,133,56,143,126,106,155,155,4,101,53,81,104,157,60,0,42,0,235,121,76,90,112,91,78,141,126,88,159,113,185,116,22,141,60,0,42,0,33,159,94,92,145,102,205,158,143,102,114,127,0,135,32,159,123,111,217,102,255,62,165,133,175,133,89,118,247,133,97,137,108,92,105,137,131,148,60,0,42,0,46,103,47,103,13,98,95,103,173,108,184,79,193,81,176,84,55,96,17,104,214,122,240,143,85,96,82,99,87,131,182,94,187,94,73,125,83,136,12,92,131,150,112,101,234,122,103,129,129,132,203,136,101,146,133,88,49,111,68,111,120,101,141,111,78,140,57,106,214,111,48,147,64,66,227,147,144,157,106,134,60,0,42,0,45,112,236,124,52,136,106,156,112,156,60,0,42,0,55,82,48,85,60,0,42,0,13,128,60,0,42,0,156,138,60,0,42,0,244,139,254,84,170,138,172,138,60,0,42,0,129,89,193,112,20,103,196,148,54,107,85,120,223,119,32,100,202,105,169,120,180,132,97,115,190,123,88,216,151,220,153,147,13,114,96,148,60,0,42,0,112,136,84,100,96,216,46,221,60,0,42,0,41,117,60,0,42,0,5,94,37,94,77,216,26,222,192,135,91,83,60,0,42,0,1,140,61,129,176,138,60,0,42,0,52,108,60,0,42,0,40,94,151,109,154,109,113,121,5,122,14,122,97,119,222,136,147,119,60,0,42,0,53,108,58,108,150,149,60,0,42,0,233,149,244,98,130,149,19,104,60,0,42,0,174,109,104,129,60,0,42,0,46,84,60,0,42,0,122,152,28,130,6,152,83,106,154,119,99,133,172,119,10,155,60,0,42,0,204,83,28,151,217,150,64,91,166,154,71,91,59,154,6,107,53,121,222,157,116,158,118,66,109,130,102,154,24,158,60,0,42,0,61,114,125,88,97,97,58,111,9,106,20,126,238,69,60,0,42,0,64,112,60,0,42,0,239,147,60,0,39,0,208,253,39,0,22,49,60,0,42,0,156,46,229,101,114,154,248,86,240,145,36,146,185,153,60,0,42,0,249,96,60,0,42,0,237,112,177,113,60,0,42,0,6,90,118,153,97,104,91,131,8,91,72,106,88,133,83,137,82,153,60,0,42,0,112,98,162,150,254,100,60,0,42,0,213,126,118,144,94,126,60,0,42,0,185,83,184,121,212,103,131,90,201,99,24,110,99,113,72,116,19,68,71,132,197,124,90,135,66,142,46,143,82,147,163,151,199,116,37,154,7,156,148,157,60,0,42,0,136,124,122,105,214,151,60,0,42,0,188,46,137,128,141,91,108,129,60,0,42,0,101,84,176,128,166,134,123,136,135,136,186,134,161,136,54,113,229,154,43,86,35,55,239,154,195,113,78,126,51,69,60,0,42,0,132,81,137,81,204,89,211,103,195,115,210,130,163,90,106,106,60,0,42,0,133,132,60,0,42,0,186,78,187,78,193,78,236,88,200,95,50,103,206,95,194,121,162,130,19,146,92,155,139,146,62,67,64,157,60,0,42,0,205,95,32,104,35,104,79,131,249,121,117,131,239,104,20,122,60,0,42,0,3,82,4,82,164,139,222,78,237,78,177,139,251,78,123,92,131,92,52,56,104,98,171,126,182,46,88,216,76,223,138,89,82,103,99,114,180,126,149,128,107,143,231,151,106,153,217,89,77,121,9,125,29,125,125,136,18,138,212,142,149,104,62,62,224,142,238,65,77,125,77,129,181,136,109,151,113,151,204,151,234,152,90,132,141,138,1,153,60,0,42,0,155,125,181,142,60,0,42,0,99,122,52,81,247,82,60,112,125,115,24,134,228,116,179,121,112,122,116,66,159,142,36,155,60,0,42,0,204,88,183,86,228,88,24,101,25,114,149,126,60,0,42,0,169,139,249,97,114,139,147,139,60,0,42,0,84,98,60,0,42,0,205,78,66,216,168,223,65,59,184,143,61,121,177,62,126,150,60,0,42,0,191,130,60,0,42,0,130,89,154,144,158,79,36,94,71,104,57,131,247,148,42,110,78,123,189,136,152,132,163,146,97,135,18,81,96,133,17,157,133,86,44,91,122,91,225,111,61,157,216,102,248,113,183,133,21,136,102,137,165,152,185,145,108,152,108,156,60,0,42,0,93,108,151,128,115,78,177,143,15,145,233,100,60,0,42,0,101,81,51,109,213,85,183,90,189,110,27,127,208,132,31,126,37,137,60,0,42,0,86,98,65,103,188,143,240,156,191,93,60,0,42,0,60,99,60,0,42,0,124,99,60,0,42,0,210,83,229,130,49,95,76,80,3,110,43,113,0,145,73,105,187,132,172,123,219,123,7,114,25,156,47,156,184,157,60,0,42,0,118,93,60,0,42,0,81,90,117,104,36,117,204,125,100,133,16,75,60,0,42,0,100,106,74,133,75,133,96,126,2,134,3,134,60,0,42,0,109,108,152,103,174,130,50,65,139,134,16,149,94,116,127,119,57,135,179,146,237,146,225,83,98,216,232,221,171,58,225,88,60,0,42,0,39,88,139,100,214,88,60,0,42,0,46,150,10,103,111,143,14,128,68,80,223,142,134,90,76,116,157,120,219,125,244,68,45,143,192,116,29,121,60,0,42,0,164,119,60,0,42,0,240,149,166,109,143,149,160,149,100,111,77,106,182,129,60,0,42,0,56,131,60,0,42,0,14,98,156,128,4,104,232,114,210,126,185,91,92,59,231,107,25,131,99,131,255,112,70,72,88,93,239,65,104,125,162,127,182,90,198,90,100,93,8,100,17,100,182,110,209,56,149,105,174,105,181,105,148,113,98,116,201,132,65,122,126,135,85,149,25,126,141,135,142,135,35,137,229,153,246,154,43,91,184,93,3,114,148,147,28,112,198,93,231,102,17,136,104,216,254,220,60,0,42,0,151,81,130,91,72,87,74,216,232,222,135,80,245,142,4,108,60,0,42,0,39,157,60,0,42,0,67,122,60,0,39,0,208,253,39,0,23,49,60,0,42,0,114,78,92,91,121,81,168,84,213,89,255,89,10,131,37,104,134,115,14,125,50,131,64,141,68,141,196,109,246,121,1,127,24,140,222,85,115,91,107,93,20,105,125,110,203,110,162,124,142,143,118,91,88,132,220,137,62,138,178,140,199,140,145,141,17,145,49,149,140,121,53,122,199,125,45,146,67,149,135,159,28,143,172,111,238,138,166,141,58,143,25,147,237,154,187,156,18,159,127,147,161,147,190,116,63,152,62,152,212,155,133,157,77,159,105,216,203,221,38,156,60,0,42,0,251,132,60,0,42,0,64,216,148,220,212,78,7,84,77,103,173,62,201,89,202,89,247,119,196,121,112,84,125,124,20,128,207,128,120,134,237,121,147,104,43,123,232,145,89,85,43,125,211,110,63,138,159,105,60,0,42,0,87,91,234,129,147,130,216,57,51,80,90,82,99,96,120,114,33,131,13,110,37,119,38,119,212,128,254,128,44,111,116,60,60,0,42,0,80,91,48,93,116,106,60,0,42,0,0,94,29,83,158,108,130,84,202,143,246,98,37,125,46,125,84,146,115,155,220,129,226,129,60,0,42,0,66,103,56,120,122,80,146,85,244,151,209,150,75,216,141,221,187,93,252,120,77,137,220,150,203,86,208,86,229,150,60,0,42,0,139,84,60,0,42,0,25,82,158,98,162,108,233,98,206,108,253,108,35,141,71,82,238,143,93,131,54,85,103,85,59,94,46,123,52,130,172,140,173,110,224,119,22,86,231,90,88,94,166,123,13,106,206,138,92,141,199,100,164,111,159,118,148,119,0,124,11,121,46,139,254,140,12,136,87,137,90,159,106,69,112,159,5,158,60,0,42,0,40,89,196,78,130,94,68,108,3,102,23,102,81,99,49,93,60,0,42,0,44,79,54,133,60,0,42,0,125,112,126,112,62,117,201,84,61,104,214,112,61,110,209,131,117,119,243,140,60,0,42,0,176,91,61,93,193,67,60,0,42,0,141,81,40,87,87,98,162,79,5,109,125,143,164,80,9,143,104,145,14,81,33,126,60,0,42,0,60,141,29,98,202,140,151,156,253,155,8,136,2,156,97,156,60,0,42,0,174,80,109,144,223,124,103,142,169,145,60,0,42,0,255,81,127,148,60,0,42,0,233,101,163,103,164,134,215,104,161,111,170,116,187,133,112,126,251,133,60,0,42,0,118,112,129,118,130,118,21,85,35,85,141,104,32,144,191,85,65,130,101,97,106,86,229,113,9,124,95,139,174,141,129,142,195,122,200,122,60,0,42,0,6,104,60,0,42,0,185,144,122,154,249,139,240,144,108,150,247,104,248,104,198,131,18,145,131,123,197,125,207,138,176,156,57,145,235,155,192,158,54,154,113,159,122,159,60,0,42,0,113,141,112,141,60,0,42,0,79,89,205,99,113,105,117,61,60,0,42,0,208,155,60,0,42,0,66,81,204,124,42,124,46,124,21,148,31,148,60,0,42,0,177,84,60,0,42,0,29,102,175,108,90,104,193,91,235,60,221,99,70,86,141,100,39,81,5,101,18,101,57,81,34,101,177,141,56,121,178,141,60,0,42,0,130,102,6,53,171,102,219,140,94,141,62,147,253,111,84,142,60,145,201,116,10,141,232,147,210,116,58,55,82,112,131,139,71,145,218,116,182,121,120,137,154,139,97,153,60,0,42,0,14,96,60,0,42,0,46,140,86,139,91,139,60,0,42,0,206,86,60,0,42,0,40,83,66,114,152,127,67,141,205,140,231,129,216,140,53,133,19,141,210,154,28,141,60,0,42,0,117,154,212,153,60,0,42,0,56,54,88,89,9,95,15,129,95,88,108,132,186,146,211,129,223,129,60,0,42,0,151,88,158,88,142,97,47,127,43,145,103,106,183,113,148,116,240,119,243,120,126,127,82,126,68,139,60,0,42,0,3,149,229,146,96,141,17,117,8,141,60,0,42,0,91,156,60,0,42,0,223,121,69,132,169,132,60,0,42,0,70,83,179,141,82,83,235,84,18,93,42,93,207,101,182,80,164,123,36,142,63,142,94,149,195,147,60,0,42,0,197,139,196,126,59,150,206,79,60,114,199,115,86,121,68,125,91,138,123,151,3,69,60,0,42,0,186,147,60,0,42,0,40,102,232,121,125,99,139,131,10,105,34,116,19,122,112,123,60,146,60,0,42,0,64,216,135,220,230,93,80,79,40,85,83,126,60,0,42,0,92,79,80,87,52,54,157,92,158,92,13,96,60,150,179,79,217,128,17,85,167,94,90,121,90,80,48,57,110,59,143,136,67,132,68,132,245,152,0,54,243,124,60,0,42,0,151,84,217,132,60,0,42,0,156,83,24,103,112,59,250,85,54,106,213,135,151,126,60,0,42,0,138,93,52,86,181,93,127,86,187,116,60,0,42,0,44,104,74,125,84,145,0,103,108,102,125,121,33,122,106,127,160,143,220,105,123,145,137,145,94,133,247,146,10,147,135,106,140,106,60,0,42,0,160,103,93,122,60,0,42,0,187,148,96,216,86,222,156,142,125,148,60,0,42,0,100,126,53,127,130,126,137,126,107,124,152,126,60,0,42,0,37,101,90,148,60,0,42,0,10,92,171,88,255,88,159,93,61,106,117,144,92,126,71,127,15,148,223,156,82,156,247,157,60,0,42,0,212,80,66,86,153,100,63,69,80,139,60,0,42,0,88,99,140,146,60,0,42,0,142,157,60,0,42,0,151,91,39,80,252,126,148,154,43,88,79,93,85,93,254,96,213,104,35,115,89,129,33,103,54,105,124,132,120,93,83,64,47,122,156,125,195,125,167,113,38,66,245,125,234,127,108,135,40,142,42,142,235,120,80,147,117,140,100,142,12,154,3,155,35,154,9,155,55,155,238,155,252,155,65,148,60,0,42,0,59,96,108,80,116,99,227,96,33,97,212,99,3,100,175,80,211,61,96,100,207,125,215,132,2,126,61,126,211,147,60,0,42,0,181,126,46,102,173,117,10,80,20,115,130,120,189,124,201,124,50,118,38,126,29,147,49,126,237,124,60,0,42,0,72,111,60,0,39,0,208,253,39,0,24,49,60,0,42,0,114,84,181,117,124,141,104,80,128,141,208,141,102,216,40,222,180,154,18,126,0,136,202,154,121,159,60,0,42,0,205,139,57,54,144,87,204,103,193,115,50,88,96,121,8,131,40,131,53,57,247,116,208,70,94,138,157,143,158,143,72,97,6,117,193,120,204,150,15,74,90,158,205,124,164,143,250,152,8,153,2,54,40,91,232,111,139,133,28,157,32,121,173,143,191,157,192,157,60,0,42,0,100,107,76,79,218,108,188,115,137,118,42,125,134,155,60,0,42,0,63,103,33,107,58,79,125,79,58,82,62,82,155,94,40,104,38,131,88,125,191,131,211,134,80,141,220,140,134,135,94,58,60,0,42,0,147,86,230,100,3,101,60,0,42,0,36,121,60,0,42,0,106,144,195,86,60,0,42,0,138,81,140,81,167,79,149,83,123,96,250,98,75,109,71,101,95,117,116,80,160,83,39,123,163,124,193,94,251,96,44,110,86,123,23,132,94,123,116,123,52,132,132,88,50,58,163,123,219,132,161,97,87,216,33,220,14,124,60,0,42,0,114,80,71,90,28,115,60,0,42,0,77,98,178,114,80,103,34,141,161,140,193,136,168,110,148,126,60,0,42,0,221,107,199,145,56,80,75,85,192,91,105,95,161,99,108,119,244,141,181,125,41,142,60,0,42,0,240,87,204,104,220,131,33,133,41,126,60,0,42,0,161,100,205,100,217,124,60,0,42,0,250,102,249,102,8,86,134,93,21,111,253,105,248,132,85,216,98,221,90,130,172,135,63,137,234,147,60,0,42,0,120,130,73,131,58,97,198,97,50,154,60,0,42,0,143,128,53,145,89,137,60,0,42,0,190,46,121,130,60,0,42,0,209,81,74,110,96,129,143,143,51,143,60,0,42,0,194,83,195,83,196,83,225,152,150,154,197,83,176,85,76,110,170,80,32,91,16,153,66,154,60,0,42,0,139,107,149,134,237,96,152,107,90,97,69,135,89,97,221,69,49,91,54,136,58,136,60,0,42,0,232,96,1,103,88,97,175,97,71,122,248,123,234,158,242,158,60,0,42,0,127,112,209,54,186,99,113,91,178,124,123,100,175,111,230,113,168,116,146,133,50,139,60,0,42,0,15,81,24,114,60,0,42,0,126,93,60,0,42,0,145,92,148,109,18,123,163,104,60,0,42,0,211,78,250,78,39,79,167,108,205,130,39,158,9,80,49,130,150,80,98,93,196,110,74,115,188,132,89,130,165,135,172,157,60,0,42,0,207,133,118,148,60,0,42,0,110,65,246,140,60,0,42,0,248,111,73,127,12,107,60,0,42,0,253,102,76,86,60,0,42,0,66,92,254,102,100,92,146,93,29,59,242,122,85,66,83,154,60,0,42,0,109,142,60,0,42,0,151,124,213,137,129,158,132,158,164,158,60,0,42,0,130,95,130,107,60,0,42,0,195,79,29,115,40,129,98,145,4,118,142,138,151,141,72,86,177,97,31,133,39,142,139,145,47,118,7,124,44,126,89,142,68,73,0,159,116,142,117,142,99,152,60,0,42,0,19,100,115,116,174,100,203,120,115,144,73,142,157,145,60,0,42,0,107,59,88,134,228,117,73,119,236,119,111,93,115,93,171,132,22,133,126,158,66,145,122,158,166,142,60,0,42,0,30,129,60,0,42,0,73,82,82,82,157,83,14,89,43,99,170,99,157,131,161,131,174,101,228,104,42,144,9,149,25,149,204,132,117,107,188,146,47,147,60,0,42,0,20,93,172,80,215,81,30,127,148,88,32,55,137,93,91,97,103,100,177,105,85,115,239,105,234,120,23,126,217,147,60,0,42,0,60,111,128,116,161,141,160,118,60,0,42,0,28,79,240,95,169,117,5,80,139,124,35,125,198,127,3,129,6,129,80,85,91,85,180,96,236,109,243,107,32,113,58,129,3,132,1,118,185,124,183,125,224,127,172,129,181,129,226,111,193,122,71,152,206,129,74,137,60,0,42,0,124,78,60,0,42,0,70,108,186,100,209,146,105,149,127,142,27,101,165,142,121,148,60,0,42,0,213,106,209,93,17,107,115,122,60,0,42,0,156,122,169,107,182,113,225,123,18,124,196,122,40,114,60,0,42,0,81,103,168,144,180,118,6,142,138,111,244,122,60,0,42,0,88,91,159,79,245,98,60,0,42,0,12,82,214,95,60,0,42,0,248,91,11,84,127,124,60,0,42,0,6,83,234,86,241,86,233,95,158,103,193,130,49,96,164,96,69,216,223,223,199,104,39,113,82,216,218,221,113,132,23,111,97,128,162,154,176,102,5,106,44,106,156,113,125,116,129,116,235,125,102,128,106,128,239,132,37,133,155,119,234,113,245,123,112,128,204,135,111,147,113,126,230,147,24,154,68,154,60,0,42,0,206,78,27,78,147,95,67,90,110,91,150,95,158,95,176,96,217,109,46,116,82,97,14,111,64,111,104,111,180,138,232,140,233,140,55,106,226,83,194,133,71,112,9,107,28,114,60,0,42,0,129,97,37,139,60,0,42,0,16,131,60,0,39,0,208,253,39,0,25,49,60,0,42,0,182,83,159,126,29,78,248,83,168,62,249,124,193,121,157,84,192,108,236,79,29,96,82,134,54,158,164,90,175,101,114,125,12,127,243,134,82,105,50,61,112,146,212,152,216,81,174,83,185,105,151,121,115,127,36,135,54,149,54,86,93,86,70,216,82,220,221,94,149,100,140,111,195,120,160,121,86,216,232,223,230,125,214,146,205,113,108,133,132,135,46,69,214,135,244,135,184,152,38,154,1,148,100,216,112,221,229,157,54,159,109,124,60,0,42,0,123,107,60,0,42,0,243,93,150,78,219,86,250,91,92,108,64,79,161,79,85,81,210,89,96,91,107,103,215,108,228,108,64,121,114,153,119,154,82,59,246,103,109,114,48,90,13,109,152,109,130,128,228,152,37,123,28,128,242,145,226,122,151,137,227,85,134,128,132,140,54,146,59,146,252,152,223,153,169,121,41,81,124,133,3,112,60,0,42,0,86,96,175,146,60,0,42,0,232,78,49,99,50,99,146,100,60,0,42,0,18,109,47,138,120,151,117,111,81,112,160,142,60,0,42,0,69,83,231,108,210,152,14,129,18,146,40,132,75,100,175,152,186,153,169,133,210,106,68,134,60,0,42,0,66,216,191,223,161,150,60,0,42,0,170,149,60,0,42,0,114,130,19,109,28,104,169,109,108,85,239,148,110,107,23,116,237,150,199,85,95,116,112,107,171,146,129,111,206,97,204,100,199,111,207,111,55,118,81,122,128,111,177,116,18,112,97,122,108,126,86,143,252,147,69,139,203,152,60,0,42,0,11,110,111,122,60,0,42,0,226,107,34,97,204,99,94,88,248,107,110,129,123,86,195,156,75,152,4,76,19,156,60,0,42,0,34,66,60,0,42,0,238,85,91,141,255,80,253,140,58,124,60,0,42,0,37,86,60,0,42,0,187,99,154,154,69,97,20,100,158,110,43,127,69,126,202,129,203,156,18,154,55,154,32,156,98,156,60,0,42,0,107,98,131,99,194,90,69,69,60,0,42,0,253,87,25,118,9,108,194,119,222,154,60,0,42,0,166,135,60,0,42,0,92,99,192,94,138,153,214,85,203,94,28,100,73,100,178,110,64,115,11,145,87,100,75,216,183,220,144,132,195,132,60,149,213,152,45,66,88,130,139,135,153,145,170,147,63,153,188,152,190,152,42,154,60,0,42,0,220,83,223,83,129,80,254,85,141,119,222,100,174,133,251,100,226,106,234,133,84,124,60,0,42,0,253,85,132,129,54,118,60,0,42,0,9,78,14,95,193,83,245,107,0,66,255,107,153,114,22,155,60,0,42,0,208,78,30,79,152,80,193,124,194,124,147,153,221,124,227,124,228,124,86,126,210,147,254,147,48,151,74,153,60,0,42,0,213,79,52,94,183,96,99,101,144,149,60,0,42,0,237,88,246,107,129,83,117,106,60,0,42,0,238,104,46,105,238,105,66,137,60,0,42,0,82,104,81,104,60,0,42,0,211,85,33,100,201,120,44,137,161,152,159,147,89,152,60,0,42,0,39,78,170,85,60,0,42,0,225,105,60,0,42,0,231,80,143,68,25,155,60,0,42,0,207,130,38,117,101,145,35,122,163,122,76,122,239,106,7,134,19,134,204,86,60,0,42,0,215,79,60,0,42,0,138,115,25,89,201,139,221,108,131,128,44,109,145,109,223,115,32,125,191,91,128,104,144,107,155,124,164,131,31,144,149,154,131,80,159,124,52,138,33,140,201,85,80,88,81,88,202,90,43,97,175,110,184,110,133,128,84,158,243,80,4,53,44,97,161,105,134,129,235,137,154,141,97,144,159,97,14,106,21,106,90,111,101,111,82,216,130,220,191,120,12,133,108,144,201,146,23,153,24,59,90,106,155,116,36,126,12,124,22,139,92,142,215,133,76,154,80,156,235,157,60,0,42,0,194,155,60,0,42,0,6,85,214,54,17,90,107,104,173,104,143,131,158,80,67,119,205,85,167,127,77,100,41,127,209,132,150,141,17,124,11,69,20,124,46,126,255,154,187,155,60,0,42,0,64,98,122,78,189,58,34,85,34,125,16,116,226,96,1,149,233,85,75,216,98,220,145,110,155,102,99,116,133,116,40,137,155,69,136,147,141,147,150,147,187,147,193,147,60,0,42,0,36,144,185,110,54,135,60,0,42,0,17,116,230,85,60,0,42,0,10,89,149,130,125,134,32,80,248,84,125,109,45,119,125,131,126,131,214,110,98,119,143,125,112,132,163,113,201,111,150,151,214,150,60,0,42,0,229,126,139,150,64,144,143,150,168,150,205,116,60,0,42,0,184,129,73,75,33,112,196,154,211,154,60,0,42,0,151,78,129,92,21,120,95,121,7,140,227,87,87,93,71,216,213,222,114,107,115,107,107,113,95,119,142,120,66,144,66,122,182,138,229,140,24,91,187,111,167,150,133,106,150,106,231,113,178,116,87,122,64,126,131,144,173,121,95,122,80,126,222,101,120,126,90,137,98,139,6,148,41,148,226,151,60,0,42,0,251,114,224,117,120,145,60,0,42,0,52,83,60,0,42,0,88,121,7,123,109,123,151,123,156,132,60,0,42,0,89,91,242,114,107,91,106,131,231,152,14,100,59,115,241,152,194,105,192,132,117,133,158,133,60,0,42,0,95,99,11,123,188,150,77,123,13,100,171,105,176,123,40,124,168,147,189,157,60,0,42,0,234,95,126,103,128,103,0,90,215,103,47,80,199,81,39,93,186,94,165,104,222,109,216,131,105,93,121,120,25,135,189,97,205,111,100,216,237,220,167,106,118,147,6,155,60,0,42,0,2,96,154,96,56,128,230,122,177,80,47,97,38,58,100,105,119,93,107,97,115,128,247,153,60,0,42,0,188,139,139,91,245,139,1,144,130,152,31,138,12,152,166,138,56,153,60,0,42,0,169,103,185,147,60,0,39,0,208,253,39,0,26,49,60,0,42,0,117,84,63,150,21,149,60,0,42,0,196,85,60,0,42,0,74,85,60,0,39,0,208,253,39,0,27,49,60,0,42,0,148,85,98,86,60,0,42,0,230,84,60,0,42,0,125,123,60,0,39,0,208,253,39,0,28,49,60,0,42,0,184,89,191,89,182,148,63,90,64,90,89,92,254,117,60,0,42,0,185,139,42,84,238,86,215,143,196,79,37,90,232,92,233,92,144,109,244,115,170,131,27,138,146,118,75,119,9,65,11,146,7,149,69,158,254,134,144,138,192,120,31,152,157,152,100,155,178,150,77,152,93,157,94,157,76,139,68,216,69,221,42,156,60,0,42,0,153,103,8,120,11,152,65,86,0,154,60,0,42,0,132,83,117,92,57,98,122,107,67,84,139,92,124,98,40,150,93,84,202,130,109,143,56,150,162,84,185,84,67,216,101,220,169,87,246,89,201,92,16,120,14,83,118,96,40,120,101,68,133,134,127,153,84,80,126,83,10,88,170,96,160,99,101,117,101,117,70,120,20,140,219,142,15,150,193,53,46,88,63,93,225,96,21,97,66,110,72,71,95,140,246,142,2,145,42,146,197,94,36,100,57,100,153,59,39,116,109,129,60,132,123,138,76,144,79,144,235,80,65,135,55,149,87,158,30,152,154,152,19,153,101,155,105,86,90,133,168,137,228,138,188,149,41,153,150,140,84,147,196,156,94,107,78,152,24,121,238,106,16,156,154,157,141,139,67,159,105,148,118,159,119,156,60,0,42,0,220,100,72,157,60,0,39,0,208,253,39,0,30,49,60,0,42,0,192,84,206,84,9,85,195,87,45,90,40,99,56,107,243,85,190,110,176,146,63,149,111,86,132,147,60,0,42,0,64,85,113,99,145,118,176,110,10,86,113,101,115,101,154,118,76,118,3,154,60,0,42,0,208,107,57,102,62,90,238,119,60,133,183,142,237,111,45,151,249,133,68,151,60,0,42,0,12,79,126,130,55,54,49,114,57,120,75,120,210,53,204,85,103,88,210,90,27,97,141,120,152,150,198,83,167,102,119,116,161,149,254,80,108,65,33,91,211,97,210,88,221,97,214,102,166,116,134,133,50,153,49,157,167,118,185,119,61,69,164,153,25,121,106,139,122,139,64,148,73,151,60,0,42,0,107,156,60,0,39,0,208,253,39,0,31,49,60,0,42,0,246,139,146,138,60,0,39,0,208,253,39,0,32,49,60,0,42,0,249,81,109,53,234,103,142,104,234,142,10,114,60,0,42,0,86,101,171,83,247,85,248,85,133,93,210,94,246,110,83,115,82,115,158,150,110,100,76,216,129,222,172,113,136,116,28,133,104,144,221,120,241,127,113,128,175,135,250,127,55,139,56,139,204,156,214,147,50,156,212,157,7,159,60,0,42,0,157,98,215,98,186,130,132,136,122,149,170,90,188,90,86,137,60,0,42,0,45,54,153,92,119,98,115,87,135,87,176,92,97,89,101,89,178,80,103,89,156,154,28,55,239,90,96,97,75,216,198,220,186,88,180,93,202,97,217,100,179,111,169,150,202,147,65,154,60,0,42,0,246,127,60,0,39,0,208,253,39,0,33,49,60,0,42,0,180,139,164,108,39,107,180,107,239,116,37,158,120,88,26,111,80,107,198,107,176,113,14,157,12,117,68,216,191,220,51,139,217,106,194,147,215,157,114,73,60,0,42,0,146,129,117,159,60,0,42,0,65,216,118,222,24,84,85,84,118,80,98,129,20,86,150,52,38,128,69,133,213,133,60,0,42,0,4,96,106,97,60,0,42,0,242,133,60,0,39,0,208,253,39,0,34,49,60,0,42,0,137,91,146,79,214,92,73,104,40,108,181,94,2,64,25,140,149,90,244,131,247,117,100,129,59,132,74,132,76,158,157,138,237,132,140,151,141,151,230,118,243,138,163,153,235,118,106,157,253,151,149,157,60,0,42,0,181,115,125,85,248,150,17,81,60,0,42,0,181,87,250,79,53,85,239,87,245,148,222,99,140,150,111,127,168,146,60,0,42,0,180,114,184,92,9,99,29,109,72,104,250,128,76,131,123,140,19,88,105,90,65,65,123,102,151,102,12,147,199,149,159,155,151,75,239,158,60,0,39,0,208,253,39,0,35,49,60,0,42,0,64,89,105,96,69,216,239,223,126,113,189,132,60,0,42,0,206,92,60,0,42,0,65,100,83,75,60,0,39,0,208,253,39,0,36,49,60,0,42,0,174,128,175,154,60,0,42,0,108,83,135,92,2,102,59,102,162,68,127,59,60,0,42,0,138,103,206,118,160,145,60,0,39,0,208,253,39,0,37,49,60,0,42,0,165,151,60,0,39,0,208,253,39,0,38,49,60,0,42,0,63,81,12,128,80,81,149,79,82,81,207,92,15,109,81,150,45,104,249,128,75,131,50,85,56,158,171,124,79,128,187,136,0,143,233,66,149,156,245,154,173,150,158,155,47,157,92,143,60,0,42,0,188,83,18,92,19,92,20,92,51,128,49,109,233,143,117,153,46,104,230,107,229,115,210,148,62,114,12,153,236,153,190,133,135,144,176,141,60,0,42,0,140,78,13,95,16,95,116,79,53,82,161,84,197,54,48,141,174,140,72,136,179,140,128,138,122,146,50,106,60,0,39,0,208,253,39,0,39,49,60,0,42,0,0,78,74,78,12,95,100,136,10,79,99,136,59,83,26,84,241,88,157,79,191,84,67,216,150,220,196,54,214,60,34,109,78,121,77,216,63,220,152,96,23,115,241,148,249,88,214,99,57,107,220,134,252,144,219,90,42,111,149,121,38,122,165,146,4,91,107,86,1,89,127,116,101,158,68,126,209,74,185,106,201,107,171,145,223,158,105,139,214,157,243,158,60,0,42,0,65,78,234,78,28,83,47,87,55,89,157,81,144,91,130,108,210,139,198,143,135,79,156,91,33,96,182,108,203,114,116,153,166,84,232,89,211,92,248,93,44,95,94,96,248,98,194,103,198,115,106,136,59,141,228,143,167,91,69,98,24,104,75,104,191,62,245,116,25,119,240,128,17,138,164,140,251,143,205,117,251,121,27,128,152,136,210,81,160,127,19,132,230,134,81,138,82,138,189,140,144,90,134,102,56,105,131,138,224,141,87,144,9,152,144,152,244,152,145,117,0,81,170,113,183,123,172,93,91,95,92,95,148,135,122,144,36,152,242,91,183,93,3,124,74,152,101,216,231,220,76,76,93,95,94,95,59,139,212,147,250,137,24,60,137,139,3,158,60,0,42,0,89,78,242,93,229,78,135,148,65,79,66,216,203,223,58,101,227,119,148,128,161,94,35,130,225,130,226,130,129,134,212,145,26,80,70,98,79,145,111,80,22,123,24,144,58,93,209,101,5,105,230,156,111,146,214,101,255,136,38,142,34,143,124,101,152,135,231,73,165,106,114,75,18,121,100,130,251,135,87,152,89,143,110,159,60,0,42,0,66,78,64,216,134,220,73,78,191,78,11,95,8,82,198,95,138,128,122,130,174,139,166,78,57,52,7,79,121,92,2,95,63,79,90,79,174,82,83,84,68,87,121,95,145,98,89,103,52,128,133,130,209,139,145,144,126,79,109,84,121,84,196,92,8,96,63,96,19,102,141,103,37,107,209,60,198,108,136,112,199,121,206,126,197,130,227,139,127,154,203,79,85,89,31,94,32,94,8,95,72,216,215,223,187,103,2,109,66,109,180,115,171,117,191,127,88,216,248,223,118,143,101,52,8,85,188,87,146,96,57,99,89,99,39,104,58,104,45,107,101,109,115,109,202,118,117,136,10,140,218,82,246,87,248,87,165,96,156,99,185,107,112,117,91,120,155,127,202,127,204,127,163,136,50,138,51,138,89,140,91,140,244,145,109,150,191,150,70,94,97,101,121,102,237,104,148,107,89,110,50,113,82,216,127,221,59,67,225,134,77,138,199,141,252,142,56,144,32,146,132,78,127,81,52,53,15,97,162,110,72,115,236,117,106,119,233,122,252,65,34,127,169,127,132,128,212,136,219,136,99,138,174,154,233,82,213,90,217,94,143,105,23,118,137,129,52,135,126,151,197,153,4,81,137,57,142,100,248,105,197,107,105,111,160,113,164,113,30,118,250,132,188,138,82,149,93,158,98,158,211,158,147,82,1,54,27,87,191,88,17,91,31,91,167,93,182,97,204,97,192,102,170,107,105,61,186,111,188,113,218,113,49,118,150,119,83,122,10,126,87,130,160,135,241,91,129,101,206,102,141,106,93,107,225,113,241,113,243,127,252,127,198,129,143,133,57,137,249,140,168,155,84,118,0,141,176,147,113,149,118,126,121,126,217,133,221,133,119,140,44,151,227,155,130,157,131,157,164,57,55,112,111,139,112,139,179,145,183,145,80,153,68,216,59,221,85,216,37,223,25,134,63,148,193,157,202,157,200,86,255,97,91,154,231,157,254,157,73,134,124,137,120,159,155,139,60,0,42,0,7,83,183,143,105,117,44,105,31,132,141,157,78,124,60,0,42,0,43,78,39,87,139,83,22,84,152,94,188,98,146,103,173,87,38,158,96,104,45,158,225,87,114,91,15,105,9,157,15,147,40,157,211,88,118,157,26,148,60,0,42,0,89,114,34,79,145,83,136,92,147,83,161,115,189,130,12,123,156,134,16,88,21,93,22,93,175,109,26,115,10,116,88,116,90,119,89,136,4,111,86,159,105,216,50,222,60,0,42,0,83,216,19,221,138,83,140,94,209,84,22,85,94,85,214,117,197,150,2,118,94,216,221,221,101,133,60,0,42,0,156,82,32,87,103,143,154,78,126,137,182,139,156,78,189,114,158,78,203,142,211,143,5,90,28,99,17,120,249,79,41,108,109,90,151,99,29,138,212,148,224,99,44,108,48,115,80,128,89,216,22,223,20,87,15,122,171,122,126,159,60,0,42,0,132,46,91,78,64,84,60,0,42,0,223,84,55,85,178,85,60,0,42,0,59,80,150,99,141,102,48,105,78,86,113,111,46,136,60,0,42,0,55,114,54,128,83,99,216,148,246,99,254,145,58,114,227,146,232,100,129,147,60,0,42,0,95,78,20,84,182,81,220,87,206,145,34,86,28,111,196,88,60,0,42,0,26,78,246,83,243,102,117,152,245,102,28,89,180,98,186,144,177,78,188,103,1,152,84,102,189,103,232,112,161,53,88,85,178,109,18,140,40,88,151,107,75,129,106,105,109,105,73,132,19,145,140,153,247,80,75,107,183,88,14,66,101,151,170,93,171,93,219,100,196,102,197,102,178,111,193,113,90,216,28,220,1,139,52,145,35,153,136,86,235,100,215,102,163,118,177,119,113,147,234,100,184,119,15,121,166,66,145,147,65,153,122,157,23,114,55,148,104,151,92,154,8,158,60,0,42,0,170,78,60,0,42,0,122,94,45,89,6,84,150,89,150,103,128,107,69,121,30,138,147,85,70,105,112,129,125,132,1,67,69,70,1,157,128,144,60,0,42,0,59,114,39,92,45,92,180,128,154,87,218,89,227,92,154,64,122,143,4,80,209,112,231,115,145,122,156,80,47,88,250,99,35,140,250,142,126,52,194,85,177,90,173,95,46,97,22,100,71,100,58,115,49,58,154,102,163,105,100,116,118,116,89,144,101,144,154,146,214,152,6,153,162,93,164,93,175,122,176,122,4,69,26,153,71,126,32,139,33,139,91,216,190,223,144,147,208,156,25,75,187,152,40,134,142,144,100,152,41,156,60,0,42,0,248,78,142,91,134,92,173,98,115,103,213,114,172,84,252,103,237,130,17,119,133,122,136,122,0,130,96,80,121,90,62,93,148,110,154,105,212,132,34,157,60,159,196,149,21,154,105,159,213,157,60,0,42,0,126,122,129,137,165,148,84,216,82,220,111,131,148,122,142,136,68,123,79,138,111,132,142,113,158,137,127,151,95,115,94,158,86,216,175,222,172,133,220,102,255,113,94,130,197,119,229,133,0,128,133,126,194,157,145,139,112,148,60,0,42,0,24,79,231,95,56,101,102,84,46,96,209,108,125,94,160,96,12,144,128,158,250,110,130,97,42,81,152,86,0,112,62,145,204,106,139,126,48,128,60,0,42,0,34,92,36,92,49,117,139,108,185,114,85,63,76,216,222,223,185,108,172,128,174,144,35,96,191,101,163,117,243,92,95,109,222,121,67,67,192,148,100,80,156,131,184,131,176,134,39,138,56,110,54,115,48,144,245,144,127,156,98,105,55,115,74,144,62,146,137,156,15,143,192,153,99,135,119,155,85,133,54,143,139,155,254,106,60,0,42,0,203,83,9,103,35,78,99,83,73,145,195,130,173,61,145,127,174,94,47,104,144,127,132,104,72,128,28,129,160,131,213,148,117,110,15,135,137,121,170,146,0,75,241,105,86,114,221,158,238,97,60,0,42,0,128,46,200,83,243,83,124,94,81,79,145,79,214,114,255,124,202,84,255,86,247,89,165,91,223,92,218,103,112,114,241,139,0,85,80,121,246,143,1,64,180,134,180,78,129,140,201,145,109,145,152,138,44,159,60,0,42,0,103,91,143,132,87,114,60,0,42,0,121,96,102,82,223,112,218,115,237,128,99,80,113,85,38,93,63,57,202,109,249,109,9,113,17,113,155,71,9,150,110,110,18,115,76,129,248,131,89,113,125,120,227,90,57,111,103,65,34,145,131,145,185,149,46,91,232,97,246,123,213,97,217,129,235,158,60,0,42,0,160,139,37,78,0,138,1,138,169,92,246,94,22,102,191,108,142,112,171,130,141,89,248,89,20,120,46,90,208,118,43,90,255,114,2,116,79,120,212,144,134,149,14,150,82,93,83,93,122,110,154,131,105,88,197,99,76,105,254,65,125,138,158,120,117,123,150,125,18,135,5,133,156,152,100,134,187,149,179,83,144,106,79,152,84,152,219,88,55,124,180,86,204,93,233,106,236,158,215,93,231,88,77,91,214,93,125,158,57,121,163,158,60,0,42,0,53,89,129,98,135,108,117,78,86,81,68,89,232,79,87,81,61,83,7,95,77,136,67,80,163,83,169,99,60,119,83,145,67,93,29,97,74,98,220,99,122,59,234,104,48,110,55,110,48,116,18,132,254,144,60,105,104,127,67,144,146,150,20,111,250,136,150,93,45,98,88,135,23,137,94,86,189,142,71,155,47,126,191,106,19,154,225,158,180,83,84,216,44,220,11,156,160,157,228,158,94,159,145,159,23,117,237,158,60,81,105,152,52,159,216,93,218,93,57,159,238,102,88,155,116,159,246,158,60,0,42,0,140,83,235,149,159,89,195,137,106,114,189,84,242,89,101,95,102,95,26,120,1,85,180,91,79,102,115,130,142,137,140,154,80,80,20,113,26,140,173,85,48,88,101,101,251,112,48,113,49,113,111,120,129,150,193,150,191,80,59,105,142,110,223,110,85,132,235,156,173,83,149,88,165,102,125,145,10,91,51,140,100,216,192,220,13,153,8,157,243,61,252,61,196,113,213,113,250,138,93,141,173,72,51,155,213,102,51,157,16,154,165,86,63,91,118,130,11,141,64,145,4,74,225,76,43,59,227,102,19,114,182,145,52,154,195,157,84,112,23,141,254,137,140,139,188,145,92,153,87,154,240,157,119,130,105,216,74,222,78,112,96,154,103,112,158,139,83,140,197,145,84,140,105,112,60,0,42,0,46,106,150,113,197,142,21,107,60,0,42,0,217,86,224,86,37,150,52,150,140,79,148,87,251,89,226,57,7,109,243,151,131,154,54,104,183,107,36,108,53,131,208,81,99,90,4,65,245,121,107,131,223,148,112,150,145,85,25,88,20,97,67,123,106,125,192,136,123,150,130,150,69,107,181,110,71,97,127,100,22,118,139,121,166,146,248,125,45,133,135,151,242,138,18,151,100,216,236,220,240,153,126,86,201,149,32,151,143,61,254,151,60,0,42,0,152,81,81,78,66,53,31,84,190,114,166,101,194,130,160,87,255,108,151,53,1,87,254,92,206,112,250,114,226,115,20,138,26,138,108,90,197,91,31,93,47,93,235,109,118,131,33,138,246,148,29,146,130,159,219,110,146,120,36,89,30,145,128,146,86,86,165,107,140,116,41,133,190,138,154,86,173,106,235,135,38,77,42,151,87,159,227,157,60,0,42,0,90,78,64,216,202,220,244,94,57,92,21,95,50,84,110,153,147,134,122,141,254,109,15,146,144,150,242,152,119,151,238,152,4,103,17,143,160,150,228,120,155,141,62,118,190,93,131,106,229,111,230,111,190,135,177,150,253,106,31,134,110,118,148,139,60,0,42,0,112,83,21,109,228,128,189,87,26,131,55,88,90,110,12,115,213,94,145,132,115,145,109,97,150,97,151,97,74,118,163,155,101,56,218,97,188,106,67,69,60,0,42,0,140,124,60,0,42,0,46,89,137,84,206,89,176,98,241,108,131,107,230,128,15,119,231,121,47,158,96,146,245,150,133,151,38,157,60,0,42,0,108,98,138,127,248,101,104,103,128,112,38,150,51,150,207,152,111,79,183,82,28,108,161,117,150,148,159,87,137,95,28,102,11,109,143,127,202,112,220,115,90,216,117,223,59,119,53,93,56,93,218,99,216,134,125,150,109,101,152,102,74,105,108,113,13,118,147,121,21,59,249,138,48,143,90,147,57,157,186,152,10,148,17,156,55,151,9,158,60,0,42,0,240,78,82,79,113,87,159,92,123,81,205,103,180,112,39,108,210,117,59,125,159,80,238,142,67,97,103,105,49,108,70,135,10,153,218,153,38,53,233,97,1,101,70,68,98,118,60,0,42,0,15,96,89,96,55,104,149,127,71,138,216,105,62,111,35,106,1,112,60,0,42,0,77,89,170,127,34,121,60,0,42,0,148,94,220,95,241,130,92,104,64,80,104,85,116,90,236,126,186,131,67,216,4,222,68,216,152,223,150,90,54,110,208,72,200,90,32,103,80,113,91,116,36,86,132,100,164,120,40,127,66,127,207,140,51,149,49,106,142,116,7,117,211,125,103,135,67,127,46,137,72,147,44,157,102,158,48,91,201,97,186,129,25,151,250,151,112,158,22,117,145,157,182,86,70,91,126,91,22,101,76,127,77,139,167,157,251,106,212,116,47,121,33,134,123,139,175,157,77,148,147,126,51,136,234,157,249,157,14,158,26,158,60,0,42,0,193,118,206,143,200,118,20,131,103,131,182,85,185,131,205,134,97,216,15,223,129,110,139,110,36,132,38,132,204,80,75,88,121,105,226,110,37,132,62,132,70,111,146,113,229,132,71,135,105,116,148,66,127,135,52,91,8,126,162,135,217,111,218,111,244,111,223,113,174,137,13,139,98,141,5,112,192,133,163,147,13,101,27,112,32,112,5,136,74,216,79,221,47,112,52,112,15,141,255,106,93,124,111,124,60,0,42,0,232,119,103,109,226,144,172,104,141,152,149,152,150,152,108,100,44,75,113,95,65,111,132,116,63,118,78,122,52,152,202,93,238,94,109,118,60,0,42,0,32,102,108,120,181,90,142,102,161,129,95,86,149,151,27,148,102,156,60,0,42,0,241,115,37,97,4,126,26,101,80,112,92,112,200,142,60,0,39,0,208,253,39,0,40,49,60,0,42,0,76,78,44,87,25,95,89,108,90,108,97,108,92,84,235,93,71,103,172,144,75,92,63,109,236,139,168,148,207,112,109,82,143,122,218,85,20,145,77,107,163,138,188,123,144,135,46,157,162,147,30,156,60,0,42,0,224,101,203,107,51,84,52,84,62,84,73,84,156,130,20,85,42,90,22,109,111,109,218,144,167,104,248,115,35,131,129,131,33,113,102,121,251,148,64,158,8,135,136,138,145,121,145,116,106,133,241,135,195,155,80,157,85,139,47,159,225,157,60,0,42,0,148,78,72,83,245,78,13,79,169,89,145,94,228,95,3,96,255,101,51,59,102,107,157,115,174,79,201,79,53,80,66,99,78,85,44,90,126,114,247,115,64,100,148,120,73,158,147,113,102,116,30,130,245,90,225,94,174,97,85,111,27,81,70,106,18,117,97,157,140,142,60,0,42,0,64,81,255,82,51,52,161,82,10,98,6,79,124,92,100,98,34,150,94,87,137,92,76,103,226,95,105,114,249,119,180,130,213,143,124,83,68,101,239,139,158,96,159,96,174,96,133,124,217,82,100,102,16,113,28,144,122,90,77,93,230,117,112,151,155,154,98,88,102,89,104,93,169,110,150,150,250,150,254,150,228,91,131,113,164,138,92,158,200,146,185,122,123,144,1,74,26,151,63,159,39,151,22,154,64,159,1,134,169,157,60,0,42,0,68,78,59,147,60,0,42,0,117,122,184,82,22,99,60,109,50,90,86,117,138,122,167,90,217,134,215,85,50,100,155,110,37,111,170,122,3,159,40,101,60,0,42,0,3,90,60,0,42,0,230,116,100,79,147,84,218,57,183,144,60,0,42,0,73,128,156,136,226,85,125,129,131,129,106,137,200,151,228,151,60,0,42,0,114,92,199,84,242,116,60,0,42,0,29,99,45,80,161,109,41,85,185,109,180,131,38,110,39,115,157,122,53,132,23,135,169,122,120,135,18,142,190,100,60,0,42,0,17,98,80,90,112,99,0,76,60,0,42,0,244,78,131,108,159,128,103,83,130,103,229,129,83,80,126,99,180,109,137,90,68,94,225,99,37,110,37,113,106,120,67,105,91,129,161,101,131,119,67,216,223,223,237,100,227,111,140,159,193,116,210,129,216,150,119,159,60,0,42,0,106,107,142,85,245,122,60,0,42,0,52,93,60,0,42,0,22,89,67,216,59,220,30,89,97,152,60,0,42,0,113,83,1,90,67,216,255,220,211,112,78,80,180,85,78,54,153,90,4,97,203,99,251,99,40,110,14,132,54,144,135,150,136,150,174,95,51,105,114,105,166,110,104,113,104,132,115,132,116,138,50,135,91,135,163,137,240,113,135,133,194,156,3,156,4,156,205,93,60,0,42,0,215,86,230,151,41,87,244,86,15,94,169,108,241,149,221,143,215,92,222,92,8,109,203,151,69,104,160,109,47,85,55,94,223,96,89,120,244,126,161,85,13,87,129,90,67,94,75,110,136,110,31,116,44,145,108,93,85,144,77,111,173,125,89,111,127,111,209,120,246,132,128,145,240,111,79,147,200,149,160,155,83,118,96,66,185,137,58,151,8,107,169,114,60,0,42,0,131,83,31,79,42,79,62,92,172,126,212,89,79,59,156,112,174,115,155,130,199,130,39,109,19,90,87,92,88,109,255,139,73,80,125,80,35,93,182,104,207,117,74,120,113,131,234,91,84,93,171,95,7,97,37,115,169,154,144,102,50,105,82,113,75,116,255,117,251,65,114,129,73,130,102,132,141,132,234,151,170,154,171,154,222,80,148,156,48,81,177,100,200,120,86,216,228,223,239,125,201,138,19,142,209,151,32,152,25,59,63,133,97,216,232,221,97,147,170,155,251,111,179,133,217,151,185,152,221,88,34,112,36,134,225,151,150,101,60,0,42,0,107,83,58,78,42,103,77,79,115,84,186,112,79,117,195,128,255,130,222,83,206,142,9,92,19,140,130,85,166,90,45,110,201,61,50,114,44,115,203,131,95,113,168,120,60,135,112,97,173,113,154,114,237,125,26,133,95,135,91,136,192,97,143,116,123,127,94,136,2,139,39,153,135,155,177,135,61,137,53,153,74,143,79,155,239,133,207,147,40,151,218,156,86,153,54,134,134,139,151,142,129,76,143,139,155,142,60,0,42,0,100,99,64,113,155,88,5,126,182,93,60,0,42,0,47,95,92,82,96,90,53,94,70,88,126,110,63,135,107,111,76,140,78,95,234,88,99,112,60,0,42,0,56,78,19,82,77,108,168,126,140,91,143,92,143,98,132,130,169,115,8,125,86,99,125,152,247,112,19,116,17,152,200,75,235,127,60,0,42,0,155,91,7,80,13,85,61,99,204,118,230,87,73,90,203,96,90,102,105,102,154,104,254,126,24,129,124,102,0,105,44,116,150,118,192,131,22,132,121,117,85,119,151,120,169,125,176,125,19,143,32,142,196,146,212,146,74,74,54,55,60,0,42,0,7,78,77,83,80,83,167,89,232,95,101,99,21,129,166,140,85,129,44,132,16,143,171,111,61,147,141,133,195,135,3,141,171,147,81,73,14,141,60,0,42,0,156,144,100,103,2,123,60,0,42,0,55,102,41,110,109,88,8,59,133,105,171,110,146,143,159,107,101,116,31,118,112,133,60,143,113,140,64,143,193,156,176,151,102,216,72,221,27,156,46,156,60,0,42,0,1,83,135,101,99,95,185,126,134,112,159,115,160,130,251,149,11,125,137,134,138,134,243,115,12,150,29,116,239,150,18,118,94,128,188,153,199,153,112,155,252,156,13,157,161,135,186,149,191,149,193,135,197,149,36,159,230,149,60,0,42,0,14,82,59,84,223,95,134,98,97,84,179,128,10,125,125,104,23,129,51,122,79,122,105,122,60,0,42,0,238,149,143,89,118,108,79,85,2,110,172,131,254,99,53,100,80,152,186,116,60,0,42,0,90,84,43,146,190,147,60,0,42,0,70,216,193,223,35,92,41,92,42,92,43,92,106,108,60,0,42,0,161,78,190,78,102,81,139,115,252,78,122,95,159,134,163,131,60,0,42,0,193,52,82,127,81,127,128,95,131,95,137,103,84,127,141,95,216,96,128,102,226,104,245,131,231,134,139,143,178,125,68,135,183,138,30,143,7,112,77,155,60,0,42,0,132,89,216,95,250,101,243,118,203,143,27,103,34,103,17,73,60,0,42,0,57,113,60,0,42,0,193,127,225,85,195,110,95,158,137,135,147,147,178,157,60,0,42,0,34,54,220,82,99,89,85,88,97,93,161,102,37,68,202,132,136,119,108,128,50,55,60,0,42,0,238,116,121,133,21,117,75,127,70,159,60,0,39,0,208,253,39,0,41,49,60,0,42,0,92,98,161,126,194,143,195,143,123,122,6,125,118,134,83,150,57,85,228,109,211,118,250,107,0,118,138,123,60,0,42,0,144,78,142,78,3,79,165,54,48,59,152,144,89,79,164,89,117,98,69,103,36,107,151,115,153,115,188,101,194,118,254,129,124,156,123,78,222,79,106,81,186,121,253,122,66,67,103,136,27,90,47,90,49,90,89,104,243,114,1,130,48,131,0,140,81,145,128,153,20,110,233,150,90,155,35,88,44,88,51,93,78,93,91,93,101,57,9,97,196,99,112,105,29,110,97,110,109,117,98,120,116,129,56,132,133,150,26,97,213,101,2,59,97,105,134,105,72,107,79,114,92,116,69,130,46,132,94,134,206,137,62,144,172,154,1,111,110,119,172,122,118,107,173,127,51,68,83,135,21,137,219,138,211,150,24,153,59,76,158,111,6,130,77,133,166,137,48,142,41,91,184,135,63,143,93,147,98,216,54,222,95,107,181,116,35,139,189,155,31,154,195,154,223,101,69,124,27,134,5,156,163,76,224,157,6,158,60,0,42,0,14,78,136,78,27,79,135,91,127,92,189,127,215,46,232,150,193,79,227,79,185,121,237,139,4,87,255,92,74,80,49,53,44,83,9,87,190,94,84,101,100,121,98,55,158,101,5,145,180,80,217,91,64,105,64,116,16,118,45,132,195,56,7,130,158,138,179,122,217,146,40,152,137,159,115,86,144,140,188,93,217,97,155,57,148,101,140,158,12,134,108,159,60,0,42,0,128,128,137,115,109,154,43,87,127,128,170,89,236,95,139,130,140,130,107,153,178,128,34,57,49,102,241,114,215,121,193,144,252,79,234,92,103,95,116,109,33,120,31,131,176,148,132,152,223,87,9,88,161,95,134,96,208,96,50,107,226,109,239,109,21,140,8,150,133,85,144,85,169,85,187,85,128,90,211,91,189,94,219,104,220,104,235,104,52,113,25,116,222,119,114,120,91,216,64,220,51,144,235,152,173,153,70,158,8,97,211,107,234,110,92,113,99,63,34,122,109,127,72,130,213,136,137,138,71,144,58,146,16,152,215,90,142,93,43,98,68,115,9,118,5,66,237,66,206,125,174,132,227,132,31,135,46,135,59,70,13,143,137,146,74,86,126,97,79,111,54,122,249,132,202,146,255,156,73,216,176,220,166,111,207,113,166,121,237,138,107,140,121,144,37,147,190,149,37,157,42,157,37,81,69,216,138,220,224,113,253,123,119,133,129,133,108,158,82,118,7,121,22,121,88,126,93,216,80,220,167,145,74,155,82,157,28,121,101,122,71,153,242,106,49,151,125,139,93,143,45,148,14,107,72,154,59,155,94,124,74,156,248,157,29,107,18,158,165,159,201,142,48,155,49,155,106,112,114,124,41,114,60,0,42,0,39,99,98,131,154,111,242,155,60,0,42,0,240,102,241,102,166,126,4,125,185,123,95,95,241,119,96,95,60,0,42,0,157,46,8,103,9,98,22,82,156,89,132,92,136,98,69,216,223,222,179,92,165,115,63,121,113,96,149,65,133,96,166,96,142,134,143,134,207,142,186,148,5,150,115,99,192,141,195,141,71,72,164,124,138,141,5,146,181,124,94,146,38,73,177,149,178,149,62,106,215,123,51,91,189,93,101,216,229,220,160,159,48,55,38,59,57,112,70,124,230,158,26,114,37,134,141,142,180,121,101,124,17,158,112,124,25,158,60,0,42,0,230,86,34,158,72,82,164,81,129,96,34,119,51,158,195,91,245,109,1,110,6,110,10,110,21,110,204,96,233,104,147,63,126,132,14,135,83,158,162,123,172,132,53,135,247,136,246,156,93,72,204,153,27,157,61,91,73,73,119,157,65,112,24,159,29,159,60,0,42,0,67,81,134,81,32,141,88,84,237,86,133,108,167,144,108,103,163,87,48,114,159,140,159,83,225,84,6,87,14,123,150,134,129,136,161,83,14,87,244,99,114,110,40,115,24,127,18,131,11,159,18,87,19,87,108,88,180,90,196,90,144,110,146,110,63,115,66,115,158,105,172,105,157,132,149,143,227,125,1,126,93,135,111,135,109,155,174,76,124,106,177,127,136,135,151,133,28,139,69,143,255,158,177,147,222,106,141,144,53,154,162,157,176,157,181,83,60,0,42,0,220,143,246,118,58,144,96,144,250,146,60,0,42,0,23,89,153,128,180,89,71,59,40,96,209,130,184,87,79,136,98,150,134,80,155,90,190,99,87,116,63,97,144,121,235,136,17,137,110,86,36,137,88,152,60,0,42,0,91,145,40,146,60,0,42,0,85,102,10,127,136,102,116,113,128,132,107,89,50,108,51,108,149,132,21,126,121,135,95,141,53,152,7,141,167,153,60,0,42,0,145,78,251,82,0,83,233,86,152,89,132,108,173,126,0,102,184,130,71,117,3,119,208,121,162,109,28,125,24,128,58,128,231,144,242,150,42,97,179,110,96,123,124,123,22,145,178,105,137,113,183,132,144,111,198,146,82,106,212,123,28,126,83,133,66,153,60,0,42,0,65,81,61,89,142,98,193,114,45,150,104,150,146,107,122,131,151,85,30,73,23,146,149,150,158,107,187,153,210,120,30,137,241,140,35,151,115,159,60,0,42,0,85,91,159,103,208,143,125,96,211,144,93,145,138,80,242,96,32,97,6,145,77,97,106,129,75,144,235,151,245,151,133,113,168,113,247,125,252,125,176,76,116,133,150,145,128,133,158,145,43,153,215,151,244,133,222,151,251,151,10,134,60,0,42,0,163,98,103,126,60,0,42,0,99,79,229,98,200,117,149,144,184,94,173,80,200,85,205,150,137,88,222,90,117,97,253,110,24,145,230,105,112,86,197,88,193,100,173,111,250,144,91,149,195,129,85,118,221,150,222,147,217,156,241,94,73,112,84,153,69,156,219,157,112,118,60,0,42,0,129,85,216,99,69,114,153,152,82,152,43,156,60,0,42,0,56,108,44,117,143,84,243,108,209,79,199,82,200,82,16,104,199,87,128,96,225,103,140,109,127,96,4,61,155,80,229,96,17,97,103,110,103,120,96,138,78,88,113,93,110,95,57,97,249,134,66,97,10,142,156,121,172,156,52,142,210,155,60,0,42,0,40,117,218,130,159,145,60,0,42,0,58,96,61,120,38,0,39,0,40,0,39,0,0,78,39,0,41,0,39,0,60,0,60,0,60,0,32,50,38,0,39,0,40,0,39,0,3,78,39,0,41,0,39,0,60,0,60,0,60,0,38,50,38,0,39,0,40,0,39,0,9,78,39,0,41,0,39,0,60,0,60,0,60,0,34,50,38,0,39,0,40,0,39,0,93,78,39,0,41,0,39,0,60,0,60,0,60,0,40,50,38,0,39,0,40,0,39,0,140,78,39,0,41,0,39,0,60,0,60,0,60,0,33,50,38,0,39,0,40,0,39,0,148,78,39,0,41,0,39,0,60,0,60,0,60,0,36,50,38,0,39,0,40,0,39,0,227,78,39,0,41,0,39,0,60,0,60,0,60,0,57,50,38,0,39,0,40,0,39,0,1,79,39,0,41,0,39,0,60,0,60,0,60,0,61,50,38,0,39,0,40,0,39,0,17,79,39,0,41,0,39,0,60,0,60,0,60,0,65,50,38,0,39,0,40,0,39,0,107,81,39,0,41,0,39,0,60,0,60,0,60,0,39,50,38,0,39,0,40,0,39,0,109,81,39,0,41,0,39,0,60,0,60,0,60,0,37,50,38,0,39,0,40,0,39,0,180,82,39,0,41,0,39,0,60,0,60,0,60,0,56,50,38,0,39,0,40,0,39,0,65,83,39,0,41,0,39,0,60,0,60,0,60,0,41,50,38,0,39,0,40,0,39,0,84,83,39,0,41,0,39,0,60,0,60,0,60,0,63,50,38,0,39,0,40,0,39,0,13,84,39,0,41,0,39,0,60,0,60,0,60,0,52,50,38,0,39,0,40,0,39,0,124,84,39,0,41,0,39,0,60,0,60,0,60,0,58,50,38,0,39,0,40,0,39,0,219,86,39,0,41,0,39,0,60,0,60,0,60,0,35,50,38,0,39,0,40,0,39,0,31,87,39,0,41,0,39,0,60,0,60,0,60,0,47,50,38,0,39,0,40,0,39,0,102,91,39,0,41,0,39,0,60,0,60,0,60,0,59,50,38,0,39,0,40,0,39,0,229,101,39,0,41,0,39,0,60,0,60,0,60,0,48,50,38,0,39,0,40,0,39,0,8,103,39,0,41,0,39,0,60,0,60,0,60,0,42,50,38,0,39,0,40,0,39,0,9,103,39,0,41,0,39,0,60,0,60,0,60,0,50,50,38,0,39,0,40,0,39,0,40,103,39,0,41,0,39,0,60,0,60,0,60,0,45,50,38,0,39,0,40,0,39,0,42,104,39,0,41,0,39,0,60,0,60,0,60,0,49,50,38,0,39,0,40,0,39,0,52,108,39,0,41,0,39,0,60,0,60,0,60,0,44,50,38,0,39,0,40,0,39,0,107,112,39,0,41,0,39,0,60,0,60,0,60,0,43,50,38,0,39,0,40,0,39,0,121,114,39,0,41,0,39,0,60,0,60,0,60,0,53,50,38,0,39,0,40,0,39,0,227,118,39,0,41,0,39,0,60,0,60,0,60,0,60,50,38,0,39,0,40,0,39,0,62,121,39,0,41,0,39,0,60,0,60,0,60,0,51,50,38,0,39,0,40,0,39,0,93,121,39,0,41,0,39,0,60,0,60,0,60,0,55,50,38,0,39,0,40,0,39,0,109,121,39,0,41,0,39,0,60,0,60,0,60,0,64,50,38,0,39,0,40,0,39,0,234,129,39,0,41,0,39,0,60,0,60,0,60,0,66,50,38,0,39,0,40,0,39,0,243,129,39,0,41,0,39,0,60,0,60,0,60,0,67,50,38,0,39,0,40,0,39,0,161,140,39,0,41,0,39,0,60,0,60,0,60,0,54,50,38,0,39,0,40,0,39,0,199,140,39,0,41,0,39,0,60,0,60,0,60,0,62,50,38,0,39,0,40,0,39,0,209,145,39,0,41,0,39,0,60,0,60,0,60,0,46,50,38,0,48,0,185,112,60,0,60,0,60,0,88,51,38,0,49,0,48,0,229,101,60,0,60,0,60,0,233,51,38,0,49,0,48,0,8,103,60,0,60,0,60,0,201,50,38,0,49,0,48,0,185,112,60,0,60,0,60,0,98,51,38,0,49,0,49,0,229,101,60,0,60,0,60,0,234,51,38,0,49,0,49,0,8,103,60,0,60,0,60,0,202,50,38,0,49,0,49,0,185,112,60,0,60,0,60,0,99,51,38,0,49,0,50,0,229,101,60,0,60,0,60,0,235,51,38,0,49,0,50,0,8,103,60,0,60,0,60,0,203,50,38,0,49,0,50,0,185,112,60,0,60,0,60,0,100,51,38,0,49,0,51,0,229,101,60,0,60,0,60,0,236,51,38,0,49,0,51,0,185,112,60,0,60,0,60,0,101,51,38,0,49,0,52,0,229,101,60,0,60,0,60,0,237,51,38,0,49,0,52,0,185,112,60,0,60,0,60,0,102,51,38,0,49,0,53,0,229,101,60,0,60,0,60,0,238,51,38,0,49,0,53,0,185,112,60,0,60,0,60,0,103,51,38,0,49,0,54,0,229,101,60,0,60,0,60,0,239,51,38,0,49,0,54,0,185,112,60,0,60,0,60,0,104,51,38,0,49,0,55,0,229,101,60,0,60,0,60,0,240,51,38,0,49,0,55,0,185,112,60,0,60,0,60,0,105,51,38,0,49,0,56,0,229,101,60,0,60,0,60,0,241,51,38,0,49,0,56,0,185,112,60,0,60,0,60,0,106,51,38,0,49,0,57,0,229,101,60,0,60,0,60,0,242,51,38,0,49,0,57,0,185,112,60,0,60,0,60,0,107,51,38,0,49,0,229,101,60,0,60,0,60,0,224,51,38,0,49,0,8,103,60,0,60,0,60,0,192,50,38,0,49,0,185,112,60,0,60,0,60,0,89,51,38,0,50,0,48,0,229,101,60,0,60,0,60,0,243,51,38,0,50,0,48,0,185,112,60,0,60,0,60,0,108,51,38,0,50,0,49,0,229,101,60,0,60,0,60,0,244,51,38,0,50,0,49,0,185,112,60,0,60,0,60,0,109,51,38,0,50,0,50,0,229,101,60,0,60,0,60,0,245,51,38,0,50,0,50,0,185,112,60,0,60,0,60,0,110,51,38,0,50,0,51,0,229,101,60,0,60,0,60,0,246,51,38,0,50,0,51,0,185,112,60,0,60,0,60,0,111,51,38,0,50,0,52,0,229,101,60,0,60,0,60,0,247,51,38,0,50,0,52,0,185,112,60,0,60,0,60,0,112,51,38,0,50,0,53,0,229,101,60,0,60,0,60,0,248,51,38,0,50,0,54,0,229,101,60,0,60,0,60,0,249,51,38,0,50,0,55,0,229,101,60,0,60,0,60,0,250,51,38,0,50,0,56,0,229,101,60,0,60,0,60,0,251,51,38,0,50,0,57,0,229,101,60,0,60,0,60,0,252,51,38,0,50,0,229,101,60,0,60,0,60,0,225,51,38,0,50,0,8,103,60,0,60,0,60,0,193,50,38,0,50,0,185,112,60,0,60,0,60,0,90,51,38,0,51,0,48,0,229,101,60,0,60,0,60,0,253,51,38,0,51,0,49,0,229,101,60,0,60,0,60,0,254,51,38,0,51,0,229,101,60,0,60,0,60,0,226,51,38,0,51,0,8,103,60,0,60,0,60,0,194,50,38,0,51,0,185,112,60,0,60,0,60,0,91,51,38,0,52,0,229,101,60,0,60,0,60,0,227,51,38,0,52,0,8,103,60,0,60,0,60,0,195,50,38,0,52,0,185,112,60,0,60,0,60,0,92,51,38,0,53,0,229,101,60,0,60,0,60,0,228,51,38,0,53,0,8,103,60,0,60,0,60,0,196,50,38,0,53,0,185,112,60,0,60,0,60,0,93,51,38,0,54,0,229,101,60,0,60,0,60,0,229,51,38,0,54,0,8,103,60,0,60,0,60,0,197,50,38,0,54,0,185,112,60,0,60,0,60,0,94,51,38,0,55,0,229,101,60,0,60,0,60,0,230,51,38,0,55,0,8,103,60,0,60,0,60,0,198,50,38,0,55,0,185,112,60,0,60,0,60,0,95,51,38,0,56,0,229,101,60,0,60,0,60,0,231,51,38,0,56,0,8,103,60,0,60,0,60,0,199,50,38,0,56,0,185,112,60,0,60,0,60,0,96,51,38,0,57,0,229,101,60,0,60,0,60,0,232,51,38,0,57,0,8,103,60,0,60,0,60,0,200,50,38,0,57,0,185,112,60,0,60,0,60,0,97,51,38,0,20,48,9,78,21,48,60,0,60,0,60,0,60,216,65,222,38,0,20,48,140,78,21,48,60,0,60,0,60,0,60,216,66,222,38,0,20,48,221,82,21,48,60,0,60,0,60,0,60,216,71,222,38,0,20,48,137,91,21,48,60,0,60,0,60,0,60,216,67,222,38,0,20,48,83,98,21,48,60,0,60,0,60,0,60,216,69,222,38,0,20,48,87,101,21,48,60,0,60,0,60,0,60,216,72,222,38,0,20,48,44,103,21,48,60,0,60,0,60,0,60,216,64,222,38,0,20,48,185,112,21,48,60,0,60,0,60,0,60,216,68,222,38,0,20,48,215,118,21,48,60,0,60,0,60,0,60,216,70,222,38,0,0,78,60,0,60,0,60,0,0,47,38,0,0,78,60,0,60,0,60,0,146,49,38,0,0,78,60,0,60,0,60,0,128,50,38,0,0,78,60,0,60,0,60,0,60,216,41,222,38,0,1,78,60,0,60,0,60,0,156,49,38,0,3,78,60,0,60,0,60,0,134,50,38,0,9,78,60,0,60,0,60,0,148,49,38,0,9,78,60,0,60,0,60,0,130,50,38,0,9,78,60,0,60,0,60,0,60,216,42,222,38,0,10,78,60,0,60,0,60,0,150,49,38,0,10,78,60,0,60,0,60,0,164,50,38,0,11,78,60,0,60,0,60,0,152,49,38,0,11,78,60,0,60,0,60,0,166,50,38,0,25,78,60,0,60,0,60,0,155,49,38,0,40,78,60,0,60,0,60,0,1,47,38,0,45,78,60,0,60,0,60,0,151,49,38,0,45,78,60,0,60,0,60,0,165,50,38,0,45,78,60,0,60,0,60,0,60,216,45,222,38,0,54,78,60,0,60,0,60,0,2,47,38,0,63,78,60,0,60,0,60,0,3,47,38,0,89,78,60,0,60,0,60,0,4,47,38,0,89,78,60,0,60,0,60,0,154,49,38,0,93,78,60,0,60,0,60,0,136,50,38,0,133,78,60,0,60,0,60,0,5,47,38,0,140,78,60,0,60,0,60,0,6,47,38,0,140,78,60,0,60,0,60,0,147,49,38,0,140,78,60,0,60,0,60,0,129,50,38,0,140,78,60,0,60,0,60,0,60,216,20,222,38,0,148,78,60,0,60,0,60,0,132,50,38,0,160,78,60,0,60,0,60,0,7,47,38,0,164,78,60,0,60,0,60,0,60,216,24,222,38,0,186,78,60,0,60,0,60,0,8,47,38,0,186,78,60,0,60,0,60,0,159,49,38,0,1,79,60,0,60,0,60,0,173,50,38,0,17,79,60,0,60,0,60,0,161,50,38,0,42,81,60,0,60,0,60,0,157,50,38,0,63,81,60,0,60,0,60,0,9,47,38,0,101,81,60,0,60,0,60,0,10,47,38,0,107,81,60,0,60,0,60,0,11,47,38,0,107,81,60,0,60,0,60,0,135,50,38,0,109,81,60,0,60,0,60,0,133,50,38,0,130,81,60,0,60,0,60,0,12,47,38,0,141,81,60,0,60,0,60,0,60,216,30,222,38,0,150,81,60,0,60,0,60,0,13,47,38,0,153,81,60,0,60,0,60,0,162,50,38,0,171,81,60,0,60,0,60,0,14,47,38,0,224,81,60,0,60,0,60,0,15,47,38,0,245,81,60,0,60,0,60,0,16,47,38,0,0,82,60,0,60,0,60,0,17,47,38,0,29,82,60,0,60,0,60,0,60,216,32,222,38,0,77,82,60,0,60,0,60,0,60,216,28,222,38,0,114,82,60,0,60,0,60,0,60,216,57,222,38,0,155,82,60,0,60,0,60,0,18,47,38,0,180,82,60,0,60,0,60,0,152,50,38,0,249,82,60,0,60,0,60,0,19,47,38,0,21,83,60,0,60,0,60,0,20,47,38,0,26,83,60,0,60,0,60,0,21,47,38,0,56,83,60,0,60,0,60,0,22,47,38,0,59,83,60,0,60,0,60,0,169,50,38,0,65,83,60,0,60,0,60,0,23,47,38,0,65,83,60,0,60,0,60,0,56,48,38,0,65,83,60,0,60,0,60,0,137,50,38,0,68,83,60,0,60,0,60,0,57,48,38,0,69,83,60,0,60,0,60,0,58,48,38,0,84,83,60,0,60,0,60,0,175,50,38,0,92,83,60,0,60,0,60,0,24,47,38,0,105,83,60,0,60,0,60,0,25,47,38,0,112,83,60,0,60,0,60,0,158,50,38,0,130,83,60,0,60,0,60,0,26,47,38,0,182,83,60,0,60,0,60,0,27,47,38,0,200,83,60,0,60,0,60,0,28,47,38,0,204,83,60,0,60,0,60,0,60,216,18,222,38,0,227,83,60,0,60,0,60,0,29,47,38,0,239,83,60,0,60,0,60,0,60,216,81,222,38,0,243,83,60,0,60,0,60,0,168,50,38,0,243,83,60,0,60,0,60,0,60,216,46,222,38,0,8,84,60,0,60,0,60,0,60,216,52,222,38,0,13,84,60,0,60,0,60,0,148,50,38,0,57,84,60,0,60,0,60,0,60,216,37,222,38,0,79,85,60,0,60,0,60,0,68,50,38,0,182,85,60,0,60,0,60,0,60,216,58,222,38,0,215,86,60,0,60,0,60,0,30,47,38,0,219,86,60,0,60,0,60,0,149,49,38,0,219,86,60,0,60,0,60,0,131,50,38,0,31,87,60,0,60,0,60,0,31,47,38,0,31,87,60,0,60,0,60,0,143,50,38,0,48,87,60,0,60,0,60,0,158,49,38,0,235,88,60,0,60,0,60,0,32,47,38,0,240,88,60,0,60,0,60,0,60,216,36,222,38,0,2,89,60,0,60,0,60,0,33,47,38,0,10,89,60,0,60,0,60,0,34,47,38,0,21,89,60,0,60,0,60,0,35,47,38,0,26,89,60,0,60,0,60,0,60,216,21,222,38,0,28,89,60,0,60,0,60,0,176,50,38,0,39,89,60,0,60,0,60,0,36,47,38,0,39,89,99,107,60,0,60,0,60,0,125,51,38,0,41,89,60,0,60,0,60,0,157,49,38,0,41,89,60,0,60,0,60,0,60,216,23,222,38,0,115,89,60,0,60,0,60,0,37,47,38,0,115,89,60,0,60,0,60,0,155,50,38,0,80,91,60,0,60,0,60,0,38,47,38,0,87,91,60,0,60,0,60,0,60,216,17,222,38,0,102,91,60,0,60,0,60,0,171,50,38,0,128,91,60,0,60,0,60,0,39,47,38,0,151,91,60,0,60,0,60,0,170,50,38,0,248,91,60,0,60,0,60,0,40,47,38,0,15,92,60,0,60,0,60,0,41,47,38,0,34,92,60,0,60,0,60,0,42,47,38,0,56,92,60,0,60,0,60,0,43,47,38,0,110,92,60,0,60,0,60,0,44,47,38,0,113,92,60,0,60,0,60,0,45,47,38,0,219,93,60,0,60,0,60,0,46,47,38,0,229,93,60,0,60,0,60,0,47,47,38,0,230,93,60,0,60,0,60,0,167,50,38,0,230,93,60,0,60,0,60,0,60,216,44,222,38,0,241,93,60,0,60,0,60,0,48,47,38,0,254,93,60,0,60,0,60,0,49,47,38,0,114,94,60,0,60,0,60,0,50,47,38,0,115,94,16,98,60,0,60,0,60,0,123,51,38,0,122,94,60,0,60,0,60,0,51,47,38,0,124,94,60,0,60,0,60,0,69,50,38,0,127,94,60,0,60,0,60,0,52,47,38,0,244,94,60,0,60,0,60,0,53,47,38,0,254,94,60,0,60,0,60,0,54,47,38,0,11,95,60,0,60,0,60,0,55,47,38,0,19,95,60,0,60,0,60,0,56,47,38,0,80,95,60,0,60,0,60,0,57,47,38,0,97,95,60,0,60,0,60,0,58,47,38,0,115,95,60,0,60,0,60,0,59,47,38,0,140,95,60,0,60,0,60,0,60,216,29,222,38,0,151,95,60,0,60,0,60,0,60,216,80,222,38,0,195,95,60,0,60,0,60,0,60,47,38,0,8,98,60,0,60,0,60,0,61,47,38,0,54,98,60,0,60,0,60,0,62,47,38,0,75,98,60,0,60,0,60,0,63,47,38,0,75,98,60,0,60,0,60,0,60,216,16,222,38,0,83,98,60,0,60,0,60,0,60,216,49,222,38,0,149,98,60,0,60,0,60,0,60,216,39,222,38,0,7,99,60,0,60,0,60,0,60,216,47,222,38,0,85,99,60,0,60,0,60,0,60,216,40,222,38,0,47,101,60,0,60,0,60,0,64,47,38,0,52,101,60,0,60,0,60,0,65,47,38,0,135,101,60,0,60,0,60,0,66,47,38,0,135,101,60,0,60,0,60,0,70,50,38,0,151,101,60,0,60,0,60,0,67,47,38,0,153,101,60,0,60,0,60,0,60,216,27,222,38,0,164,101,60,0,60,0,60,0,68,47,38,0,176,101,60,0,60,0,60,0,60,216,31,222,38,0,185,101,60,0,60,0,60,0,69,47,38,0,224,101,60,0,60,0,60,0,70,47,38,0,229,101,60,0,60,0,60,0,71,47,38,0,229,101,60,0,60,0,60,0,144,50,38,0,14,102,187,108,60,0,60,0,60,0,126,51,38,0,32,102,60,0,60,0,60,0,60,216,25,222,38,0,45,102,140,84,60,0,60,0,60,0,124,51,38,0,240,102,60,0,60,0,60,0,72,47,38,0,8,103,60,0,60,0,60,0,73,47,38,0,8,103,60,0,60,0,60,0,138,50,38,0,8,103,60,0,60,0,60,0,60,216,55,222,38,0,9,103,60,0,60,0,60,0,146,50,38,0,9,103,60,0,60,0,60,0,60,216,54,222,38,0,40,103,60,0,60,0,60,0,74,47,38,0,40,103,60,0,60,0,60,0,141,50,38,0,42,104,60,0,60,0,60,0,145,50,38,0,42,104,15,95,26,79,62,121,60,0,60,0,60,0,127,51,38,0,32,107,60,0,60,0,60,0,75,47,38,0,98,107,60,0,60,0,60,0,76,47,38,0,99,107,60,0,60,0,60,0,163,50,38,0,121,107,60,0,60,0,60,0,77,47,38,0,179,107,60,0,60,0,60,0,78,47,38,0,203,107,60,0,60,0,60,0,79,47,38,0,205,107,60,0,60,0,60,0,159,46,38,0,212,107,60,0,60,0,60,0,80,47,38,0,219,107,60,0,60,0,60,0,81,47,38,0,15,108,60,0,60,0,60,0,82,47,38,0,20,108,60,0,60,0,60,0,83,47,38,0,52,108,60,0,60,0,60,0,84,47,38,0,52,108,60,0,60,0,60,0,140,50,38,0,232,108,60,0,60,0,60,0,159,50,38,0,128,110,60,0,60,0,60,0,60,216,53,222,38,0,20,111,60,0,60,0,60,0,60,216,38,222,38,0,107,112,60,0,60,0,60,0,85,47,38,0,107,112,60,0,60,0,60,0,139,50,38,0,33,113,60,0,60,0,60,0,60,216,26,222,38,0,42,114,60,0,60,0,60,0,86,47,38,0,54,114,60,0,60,0,60,0,87,47,38,0,59,114,60,0,60,0,60,0,88,47,38,0,63,114,60,0,60,0,60,0,89,47,38,0,71,114,60,0,60,0,60,0,90,47,38,0,89,114,60,0,60,0,60,0,91,47,38,0,91,114,60,0,60,0,60,0,92,47,38,0,121,114,60,0,60,0,60,0,149,50,38,0,172,114,60,0,60,0,60,0,93,47,38,0,132,115,60,0,60,0,60,0,94,47,38,0,137,115,60,0,60,0,60,0,95,47,38,0,220,116,60,0,60,0,60,0,96,47,38,0,230,116,60,0,60,0,60,0,97,47,38,0,24,117,60,0,60,0,60,0,98,47,38,0,31,117,60,0,60,0,60,0,99,47,38,0,31,117,60,0,60,0,60,0,60,216,34,222,38,0,40,117,60,0,60,0,60,0,100,47,38,0,48,117,60,0,60,0,60,0,101,47,38,0,50,117,60,0,60,0,60,0,153,49,38,0,51,117,60,0,60,0,60,0,60,216,56,222,38,0,55,117,60,0,60,0,60,0,154,50,38,0,139,117,60,0,60,0,60,0,102,47,38,0,146,117,60,0,60,0,60,0,103,47,38,0,118,118,60,0,60,0,60,0,104,47,38,0,125,118,60,0,60,0,60,0,105,47,38,0,174,118,60,0,60,0,60,0,106,47,38,0,191,118,60,0,60,0,60,0,107,47,38,0,227,118,60,0,60,0,60,0,172,50,38,0,238,118,60,0,60,0,60,0,108,47,38,0,219,119,60,0,60,0,60,0,109,47,38,0,226,119,60,0,60,0,60,0,110,47,38,0,243,119,60,0,60,0,60,0,111,47,38,0,58,121,60,0,60,0,60,0,112,47,38,0,62,121,60,0,60,0,60,0,147,50,38,0,93,121,60,0,60,0,60,0,151,50,38,0,129,121,60,0,60,0,60,0,60,216,50,222,38,0,184,121,60,0,60,0,60,0,113,47,38,0,190,121,60,0,60,0,60,0,114,47,38,0,216,121,60,0,60,0,60,0,153,50,38,0,116,122,60,0,60,0,60,0,115,47,38,0,122,122,60,0,60,0,60,0,60,216,51,222,38,0,203,122,60,0,60,0,60,0,116,47,38,0,249,122,60,0,60,0,60,0,117,47,38,0,143,123,60,0,60,0,60,0,71,50,38,0,115,124,60,0,60,0,60,0,118,47,38,0,248,124,60,0,60,0,60,0,119,47,38,0,66,125,60,0,60,0,60,0,60,216,33,222,38,0,54,127,60,0,60,0,60,0,120,47,38,0,81,127,60,0,60,0,60,0,121,47,38,0,138,127,60,0,60,0,60,0,122,47,38,0,189,127,60,0,60,0,60,0,123,47,38,0,1,128,60,0,60,0,60,0,124,47,38,0,12,128,60,0,60,0,60,0,125,47,38,0,18,128,60,0,60,0,60,0,126,47,38,0,51,128,60,0,60,0,60,0,127,47,38,0,127,128,60,0,60,0,60,0,128,47,38,0,137,128,60,0,60,0,60,0,129,47,38,0,227,129,60,0,60,0,60,0,130,47,38,0,234,129,60,0,60,0,60,0,131,47,38,0,243,129,60,0,60,0,60,0,132,47,38,0,252,129,60,0,60,0,60,0,133,47,38,0,12,130,60,0,60,0,60,0,134,47,38,0,27,130,60,0,60,0,60,0,135,47,38,0,31,130,60,0,60,0,60,0,136,47,38,0,110,130,60,0,60,0,60,0,137,47,38,0,114,130,60,0,60,0,60,0,138,47,38,0,120,130,60,0,60,0,60,0,139,47,38,0,77,134,60,0,60,0,60,0,140,47,38,0,107,134,60,0,60,0,60,0,141,47,38,0,64,136,60,0,60,0,60,0,142,47,38,0,76,136,60,0,60,0,60,0,143,47,38,0,99,136,60,0,60,0,60,0,144,47,38,0,126,137,60,0,60,0,60,0,145,47,38,0,139,137,60,0,60,0,60,0,146,47,38,0,210,137,60,0,60,0,60,0,147,47,38,0,227,137,60,0,60,0,60,0,60,216,22,222,38,0,0,138,60,0,60,0,60,0,148,47,38,0,55,140,60,0,60,0,60,0,149,47,38,0,70,140,60,0,60,0,60,0,150,47,38,0,85,140,60,0,60,0,60,0,151,47,38,0,120,140,60,0,60,0,60,0,152,47,38,0,157,140,60,0,60,0,60,0,153,47,38,0,161,140,60,0,60,0,60,0,150,50,38,0,169,140,60,0,60,0,60,0,60,216,35,222,38,0,199,140,60,0,60,0,60,0,174,50,38,0,100,141,60,0,60,0,60,0,154,47,38,0,112,141,60,0,60,0,60,0,155,47,38,0,112,141,60,0,60,0,60,0,60,216,48,222,38,0,179,141,60,0,60,0,60,0,156,47,38,0,171,142,60,0,60,0,60,0,157,47,38,0,202,142,60,0,60,0,60,0,158,47,38,0,155,143,60,0,60,0,60,0,159,47,38,0,176,143,60,0,60,0,60,0,160,47,38,0,181,143,60,0,60,0,60,0,161,47,38,0,74,144,60,0,60,0,60,0,60,216,43,222,38,0,105,144,60,0,60,0,60,0,156,50,38,0,145,144,60,0,60,0,60,0,162,47,38,0,73,145,60,0,60,0,60,0,163,47,38,0,198,145,60,0,60,0,60,0,164,47,38,0,204,145,60,0,60,0,60,0,165,47,38,0,209,145,60,0,60,0,60,0,166,47,38,0,209,145,60,0,60,0,60,0,142,50,38,0,119,149,60,0,60,0,60,0,167,47,38,0,128,149,60,0,60,0,60,0,168,47,38,0,28,150,60,0,60,0,60,0,169,47,38,0,182,150,60,0,60,0,60,0,170,47,38,0,185,150,60,0,60,0,60,0,171,47,38,0,232,150,60,0,60,0,60,0,172,47,38,0,81,151,60,0,60,0,60,0,173,47,38,0,94,151,60,0,60,0,60,0,174,47,38,0,98,151,60,0,60,0,60,0,175,47,38,0,105,151,60,0,60,0,60,0,176,47,38,0,203,151,60,0,60,0,60,0,177,47,38,0,237,151,60,0,60,0,60,0,178,47,38,0,243,151,60,0,60,0,60,0,179,47,38,0,1,152,60,0,60,0,60,0,180,47,38,0,5,152,60,0,60,0,60,0,160,50,38,0,168,152,60,0,60,0,60,0,181,47,38,0,219,152,60,0,60,0,60,0,182,47,38,0,223,152,60,0,60,0,60,0,183,47,38,0,150,153,60,0,60,0,60,0,184,47,38,0,153,153,60,0,60,0,60,0,185,47,38,0,172,153,60,0,60,0,60,0,186,47,38,0,168,154,60,0,60,0,60,0,187,47,38,0,216,154,60,0,60,0,60,0,188,47,38,0,223,154,60,0,60,0,60,0,189,47,38,0,37,155,60,0,60,0,60,0,190,47,38,0,47,155,60,0,60,0,60,0,191,47,38,0,50,155,60,0,60,0,60,0,192,47,38,0,60,155,60,0,60,0,60,0,193,47,38,0,90,155,60,0,60,0,60,0,194,47,38,0,229,156,60,0,60,0,60,0,195,47,38,0,117,158,60,0,60,0,60,0,196,47,38,0,127,158,60,0,60,0,60,0,197,47,38,0,165,158,60,0,60,0,60,0,198,47,38,0,187,158,60,0,60,0,60,0,199,47,38,0,195,158,60,0,60,0,60,0,200,47,38,0,205,158,60,0,60,0,60,0,201,47,38,0,209,158,60,0,60,0,60,0,202,47,38,0,249,158,60,0,60,0,60,0,203,47,38,0,253,158,60,0,60,0,60,0,204,47,38,0,14,159,60,0,60,0,60,0,205,47,38,0,19,159,60,0,60,0,60,0,206,47,38,0,32,159,60,0,60,0,60,0,207,47,38,0,59,159,60,0,60,0,60,0,208,47,38,0,74,159,60,0,60,0,60,0,209,47,38,0,82,159,60,0,60,0,60,0,210,47,38,0,141,159,60,0,60,0,60,0,211,47,38,0,156,159,60,0,60,0,60,0,212,47,38,0,159,159,60,0,60,0,60,0,243,46,38,0,160,159,60,0,60,0,60,0,213,47,0,0,239,223,24,114,91,0,105,0,109,0,112,0,111,0,114,0,116,0,32,0,122,0,104,0,45,0,117,0,45,0,99,0,111,0,45,0,112,0,114,0,105,0,118,0,97,0,116,0,101,0,45,0,112,0,105,0,110,0,121,0,105,0,110,0,93,0,91,0,114,0,101,0,111,0,114,0,100,0,101,0,114,0,32,0,72,0,97,0,110,0,105,0,32,0,66,0,111,0,112,0,111,0,93,0,38,0,91,0,108,0,97,0,115,0,116,0,32,0,114,0,101,0,103,0,117,0,108,0,97,0,114,0,93,0,60,0,39,0,208,253,1,40,39,0,60,0,42,0,0,78,40,78,54,78,63,78,64,78,65,78,89,78,90,78,132,46,91,78,64,216,202,220,64,216,203,220,64,216,204,220,64,216,205,220,64,216,209,220,133,78,64,216,12,221,71,216,232,223,6,48,7,48,33,48,37,48,59,48,60,0,39,0,208,253,2,40,39,0,60,0,42,0,1,78,2,78,3,78,4,78,5,78,6,78,41,78,55,78,66,78,67,78,68,78,64,216,134,220,64,216,135,220,64,216,138,220,92,78,93,78,134,78,64,216,14,221,140,78,160,78,186,78,187,78,63,81,101,81,107,81,134,46,130,81,150,81,171,81,224,81,135,46,245,81,0,82,1,82,136,46,2,82,155,82,249,82,21,83,26,83,56,83,65,83,138,46,92,83,105,83,130,83,182,83,128,46,200,83,220,93,160,139,207,46,214,46,34,48,36,48,38,48,60,0,39,0,208,253,3,40,39,0,60,0,42,0,7,78,8,78,9,78,10,78,11,78,12,78,144,78,68,83,42,78,43,78,4,52,56,78,73,78,69,78,70,78,71,78,72,78,74,78,94,78,95,78,96,78,135,78,141,78,142,78,143,78,161,78,188,78,189,78,190,78,191,78,64,216,164,221,64,81,102,81,225,81,226,81,227,81,3,82,4,82,156,82,250,82,66,83,67,83,106,83,107,83,62,53,201,83,227,83,215,86,31,87,235,88,2,89,10,89,21,89,39,89,40,89,115,89,80,91,81,91,82,91,83,91,128,91,248,91,140,46,141,46,15,92,34,92,70,216,193,223,70,216,194,223,56,92,110,92,113,92,219,93,221,93,229,93,241,93,242,93,243,93,254,93,114,94,97,78,122,94,127,94,244,94,254,94,11,95,19,95,80,95,149,46,81,95,97,95,115,95,196,95,76,98,77,98,53,108,173,114,159,126,190,46,121,130,204,46,232,149,29,150,222,152,99,153,108,154,5,48,35,48,39,48,60,0,39,0,208,253,4,40,39,0,60,0,42,0,13,78,14,78,15,78,16,78,17,78,18,78,19,78,45,78,46,78,47,78,48,78,57,78,58,78,75,78,76,78,57,92,99,78,100,78,101,78,102,78,136,78,145,78,146,78,147,78,148,78,149,78,150,78,162,78,163,78,192,78,193,78,194,78,195,78,196,78,197,78,198,78,199,78,200,78,201,78,202,78,203,78,204,78,205,78,206,78,207,78,208,78,209,78,210,78,211,78,65,81,66,81,67,81,103,81,108,81,109,81,110,81,111,81,131,81,132,81,133,81,134,81,135,81,136,81,151,81,152,81,193,52,228,81,65,216,48,222,246,81,65,216,118,222,5,82,6,82,7,82,8,82,157,82,158,82,251,82,252,82,253,82,254,82,255,82,0,83,1,83,2,83,22,83,43,53,57,83,58,83,69,83,70,83,71,83,72,83,57,53,93,83,94,83,108,83,131,83,132,83,133,83,134,83,183,83,184,83,185,83,202,83,203,83,204,83,205,83,206,83,32,87,33,87,68,216,60,222,236,88,3,89,41,89,42,89,43,89,44,89,45,89,84,91,16,92,17,92,35,92,36,92,58,92,111,92,98,78,114,92,244,93,60,0,42,0,255,93,0,94,1,94,123,94,255,94,0,95,12,95,20,95,21,95,22,95,73,216,188,220,195,95,198,95,8,98,54,98,55,98,56,98,75,98,78,98,74,216,102,222,47,101,52,101,53,101,135,101,151,101,164,101,185,101,224,101,225,101,156,46,229,101,240,102,157,46,8,103,40,103,41,103,76,216,180,223,32,107,98,107,176,159,121,107,179,107,203,107,204,107,212,107,219,107,15,108,20,108,52,108,107,112,108,112,42,114,165,46,43,114,54,114,59,114,44,78,63,114,71,114,89,114,38,62,167,46,91,114,92,114,172,114,139,115,82,216,233,220,59,121,85,216,5,222,83,127,2,128,128,128,188,46,93,216,7,222,193,137,161,139,162,139,163,139,164,139,165,139,29,141,102,143,205,46,182,143,233,149,230,151,206,152,40,48,41,48,60,0,39,0,208,253,5,40,39,0,60,0,42,0,23,78,20,78,21,78,22,78,24,78,25,78,26,78,27,78,28,78,29,78,0,52,49,78,59,78,60,78,77,78,78,78,79,78,80,78,64,216,148,220,103,78,151,78,212,78,213,78,214,78,215,78,216,78,217,78,218,78,219,78,220,78,221,78,222,78,223,78,224,78,225,78,226,78,227,78,228,78,229,78,230,78,231,78,232,78,233,78,234,78,235,78,236,78,237,78,48,52,49,52,50,52,51,52,52,52,53,52,54,52,55,52,64,216,169,221,64,216,171,221,68,81,69,81,176,52,112,81,137,81,138,81,139,81,140,81,65,216,71,221,153,81,154,81,172,81,173,81,174,81,175,81,229,81,230,81,231,81,247,81,248,81,249,81,250,81,251,81,9,82,10,82,11,82,12,82,13,82,159,82,160,82,161,82,162,82,3,83,4,83,5,83,6,83,7,83,23,83,27,83,28,83,29,83,30,83,73,83,74,83,76,83,95,83,96,83,97,83,98,83,109,83,110,83,111,83,66,216,17,222,135,83,136,83,137,83,186,83,187,83,188,83,207,83,208,83,209,83,228,83,229,83,230,83,231,83,232,83,233,83,234,83,235,83,236,83,60,0,42,0,237,83,238,83,239,83,240,83,241,83,242,83,243,83,244,83,245,83,246,83,247,83,248,83,249,83,250,83,251,83,252,83,253,83,254,83,66,216,159,223,66,216,168,223,66,216,169,223,216,86,217,86,218,86,219,86,220,86,177,159,34,87,35,87,36,87,37,87,38,87,39,87,38,54,237,88,4,89,22,89,23,89,24,89,46,89,47,89,48,89,49,89,50,89,51,89,52,89,116,89,117,89,118,89,85,91,129,91,130,91,131,91,132,91,249,91,18,92,19,92,20,92,21,92,59,92,60,92,115,92,116,92,117,92,118,92,119,92,230,93,231,93,232,93,2,94,3,94,4,94,5,94,50,56,51,56,115,94,124,94,128,94,129,94,130,94,131,94,1,95,13,95,23,95,24,95,82,95,212,56,197,95,250,56,199,95,201,95,202,95,73,216,175,221,9,98,10,98,11,98,57,98,80,98,81,98,82,98,83,98,84,98,85,98,86,98,79,98,165,101,230,101,231,101,76,216,61,221,241,102,42,103,43,103,44,103,45,103,46,103,47,103,48,103,99,107,122,107,205,107,16,108,17,108,21,108,58,108,54,108,55,108,56,108,57,108,60,0,42,0,59,108,62,108,63,108,64,108,65,108,67,108,68,108,69,108,71,108,72,108,73,108,109,112,174,114,175,114,176,114,132,115,137,115,138,115,140,115,141,115,220,116,230,116,24,117,31,117,40,117,41,117,48,117,49,117,50,117,51,117,52,117,53,117,139,117,83,216,19,221,170,46,146,117,118,118,125,118,174,118,191,118,238,118,219,119,226,119,243,119,58,121,172,46,184,121,190,121,116,122,203,122,160,126,82,127,88,216,106,222,88,216,107,222,89,216,18,222,138,128,122,130,100,136,166,139,167,139,168,139,169,139,170,139,171,139,172,139,173,139,174,139,175,139,176,139,177,139,103,143,183,143,146,144,147,144,133,148,127,149,234,149,30,150,31,150,100,153,101,153,109,154,31,158,153,159,60,0,39,0,208,253,6,40,39,0,60,0,42,0,30,78,31,78,32,78,33,78,34,78,1,52,81,78,82,78,83,78,84,78,104,78,105,78,106,78,107,78,108,78,109,78,110,78,111,78,112,78,137,78,152,78,153,78,154,78,164,78,165,78,166,78,167,78,43,52,238,78,239,78,240,78,241,78,242,78,243,78,244,78,245,78,246,78,247,78,248,78,249,78,250,78,251,78,252,78,253,78,254,78,255,78,0,79,1,79,2,79,3,79,4,79,5,79,6,79,7,79,8,79,9,79,10,79,11,79,12,79,13,79,14,79,15,79,16,79,17,79,18,79,19,79,20,79,21,79,22,79,23,79,24,79,25,79,26,79,27,79,28,79,29,79,30,79,31,79,32,79,33,79,34,79,35,79,36,79,37,79,38,79,39,79,40,79,41,79,42,79,43,79,44,79,100,79,56,52,57,52,59,52,63,52,64,52,64,216,193,221,64,216,212,221,70,81,71,81,72,81,73,81,74,81,104,81,61,108,113,81,114,81,115,81,116,81,141,81,142,81,155,81,156,81,176,81,177,81,178,81,179,81,180,81,65,216,179,221,232,81,233,81,234,81,235,81,252,81,14,82,15,82,16,82,60,0,42,0,17,82,18,82,19,82,20,82,21,82,22,82,23,82,24,82,25,82,26,82,27,82,163,82,164,82,165,82,166,82,167,82,168,82,8,83,31,83,32,83,33,83,34,83,75,83,77,83,78,83,79,83,80,83,59,53,112,83,113,83,138,83,139,83,140,83,141,83,66,53,189,83,190,83,210,83,255,83,0,84,1,84,2,84,3,84,4,84,5,84,6,84,7,84,8,84,9,84,10,84,11,84,12,84,13,84,14,84,15,84,16,84,17,84,18,84,19,84,20,84,21,84,22,84,23,84,102,53,66,216,191,223,66,216,198,223,221,86,222,86,223,86,224,86,225,86,226,86,227,86,40,87,41,87,42,87,43,87,44,87,45,87,46,87,47,87,48,87,49,87,50,87,51,87,52,87,53,87,54,87,55,87,56,87,57,87,58,87,68,216,79,222,238,88,5,89,25,89,26,89,27,89,53,89,54,89,55,89,56,89,57,89,58,89,59,89,60,89,119,89,120,89,121,89,122,89,123,89,124,89,125,89,126,89,127,89,128,89,129,89,130,89,131,89,132,89,133,89,134,89,135,89,136,89,165,54,69,216,184,222,69,216,186,222,86,91,60,0,42,0,87,91,88,91,89,91,70,216,68,221,133,91,134,91,135,91,136,91,137,91,250,91,251,91,252,91,22,92,23,92,24,92,37,92,38,92,39,92,61,92,71,216,42,220,112,92,120,92,121,92,122,92,123,92,124,92,125,92,126,92,127,92,128,92,129,92,130,92,131,92,71,216,70,221,222,93,223,93,233,93,234,93,6,94,7,94,8,94,52,56,53,56,54,56,116,94,117,94,118,94,132,94,133,94,134,94,245,94,2,95,14,95,15,95,16,95,25,95,26,95,27,95,28,95,83,95,116,95,117,95,73,216,193,220,200,95,203,95,207,95,211,95,212,95,213,95,214,95,217,95,218,95,219,95,73,216,190,221,12,98,13,98,14,98,15,98,16,98,87,98,88,98,89,98,90,98,91,98,92,98,93,98,94,98,96,98,97,98,98,98,99,98,100,98,101,98,102,98,103,98,104,98,105,98,106,98,107,98,108,98,95,98,48,101,54,101,55,101,232,101,233,101,234,101,235,101,236,101,237,101,238,101,239,101,242,102,243,102,48,59,9,103,49,103,50,103,51,103,52,103,53,103,54,103,55,103,56,103,57,103,58,103,59,103,60,103,60,0,42,0,61,103,62,103,63,103,64,103,65,103,66,103,67,103,65,59,33,107,34,107,100,107,123,107,206,107,213,107,18,108,22,108,23,108,24,108,60,108,70,108,74,108,75,108,76,108,77,108,78,108,79,108,80,108,81,108,82,108,83,108,84,108,85,108,87,108,88,108,89,108,90,108,91,108,92,108,93,108,95,108,96,108,97,108,98,108,99,108,100,108,119,108,110,112,111,112,112,112,113,112,114,112,115,112,55,114,93,114,94,114,95,114,177,114,178,114,179,114,180,114,181,114,183,114,184,114,81,216,37,223,142,115,143,115,144,115,145,115,168,62,169,62,170,62,42,117,54,117,126,118,127,118,174,46,60,121,117,122,249,122,115,124,248,124,249,124,161,126,162,126,163,126,164,126,165,126,166,126,167,126,168,126,169,126,170,126,171,126,54,127,81,127,138,127,88,216,75,223,182,46,88,216,76,223,189,127,1,128,3,128,12,128,18,128,51,128,127,128,137,128,139,128,140,128,141,128,142,128,227,129,234,129,243,129,252,129,90,216,81,221,12,130,27,130,31,130,110,130,114,130,120,130,145,68,123,130,124,130,125,130,126,130,127,130,60,0,42,0,128,130,129,130,130,130,77,134,107,134,64,136,76,136,99,136,126,137,127,137,128,137,194,137,178,139,179,139,180,139,181,139,182,139,183,139,184,139,185,139,186,139,187,139,188,139,189,139,190,139,191,139,192,139,30,141,31,141,32,141,113,141,104,143,184,143,185,143,186,143,187,143,188,143,189,143,36,250,148,144,150,144,151,144,152,144,153,144,154,144,155,144,156,144,157,144,134,148,135,148,235,149,236,149,237,149,238,149,239,149,32,150,33,150,34,150,35,150,36,150,117,152,102,153,103,153,110,154,111,154,112,154,80,159,60,0,39,0,208,253,7,40,39,0,60,0,42,0,35,78,36,78,37,78,61,78,64,216,33,220,50,78,64,216,104,220,85,78,113,78,114,78,138,78,64,216,24,221,156,78,168,78,169,78,170,78,45,79,46,79,47,79,48,79,49,79,50,79,51,79,52,79,53,79,54,79,55,79,56,79,57,79,58,79,59,79,60,79,61,79,62,79,63,79,64,79,65,79,66,79,67,79,68,79,69,79,70,79,71,79,72,79,73,79,74,79,75,79,77,79,78,79,79,79,80,79,81,79,82,79,83,79,84,79,85,79,86,79,87,79,88,79,89,79,90,79,91,79,92,79,93,79,94,79,95,79,96,79,97,79,98,79,99,79,101,79,102,79,103,79,104,79,70,52,64,216,242,221,75,81,76,81,77,81,78,81,79,81,80,81,81,81,179,52,117,81,143,81,157,81,181,81,182,81,183,81,184,81,185,81,186,81,187,81,200,52,236,81,28,82,29,82,30,82,31,82,32,82,33,82,34,82,35,82,36,82,37,82,38,82,39,82,40,82,41,82,42,82,43,82,44,82,45,82,223,52,169,82,170,82,171,82,172,82,173,82,174,82,175,82,176,82,177,82,178,82,179,82,180,82,9,83,60,0,42,0,66,216,213,220,35,83,36,83,37,83,48,53,59,83,55,53,99,83,100,83,114,83,115,83,116,83,117,83,142,83,143,83,144,83,145,83,191,83,211,83,24,84,25,84,26,84,27,84,28,84,29,84,30,84,31,84,32,84,33,84,34,84,35,84,36,84,37,84,38,84,39,84,40,84,41,84,42,84,43,84,44,84,45,84,46,84,47,84,48,84,49,84,50,84,51,84,52,84,53,84,54,84,55,84,56,84,57,84,58,84,59,84,60,84,61,84,62,84,63,84,64,84,65,84,66,84,67,84,68,84,69,84,70,84,71,84,72,84,73,84,74,84,75,84,76,84,77,84,78,84,79,84,80,84,81,84,82,84,83,84,84,84,85,84,86,84,87,84,88,84,89,84,90,84,91,84,92,84,109,53,112,53,114,53,66,216,203,223,66,216,226,223,66,216,235,223,66,216,251,223,66,216,255,223,228,86,229,86,230,86,231,86,232,86,233,86,234,86,235,86,236,86,237,86,238,86,239,86,240,86,241,86,242,86,243,86,244,86,245,86,59,87,60,87,61,87,62,87,63,87,64,87,65,87,66,87,67,87,68,87,69,87,70,87,71,87,72,87,60,0,42,0,73,87,74,87,75,87,76,87,77,87,78,87,79,87,80,87,81,87,82,87,83,87,84,87,85,87,86,87,87,87,88,87,89,87,90,87,91,87,92,87,93,87,94,87,95,87,96,87,41,54,43,54,45,54,46,54,48,54,68,216,124,222,239,88,240,88,241,88,242,88,243,88,6,89,11,89,61,89,62,89,63,89,64,89,65,89,66,89,137,89,138,89,139,89,140,89,142,89,143,89,144,89,145,89,146,89,147,89,148,89,149,89,150,89,151,89,152,89,153,89,154,89,155,89,156,89,157,89,158,89,159,89,160,89,161,89,162,89,163,89,164,89,165,89,166,89,167,89,168,89,169,89,170,89,171,89,170,54,172,54,69,216,192,222,69,216,193,222,69,216,194,222,69,216,211,222,69,216,213,222,90,91,91,91,92,91,93,91,94,91,138,91,139,91,140,91,141,91,142,91,143,91,144,91,145,91,146,91,253,91,254,91,255,91,40,92,41,92,42,92,43,92,44,92,62,92,63,92,64,92,65,92,66,92,67,92,132,92,133,92,134,92,135,92,136,92,137,92,138,92,139,92,140,92,142,92,143,92,144,92,145,92,146,92,147,92,148,92,60,0,42,0,149,92,150,92,151,92,152,92,153,92,154,92,155,92,156,92,71,216,83,221,71,216,94,221,141,92,224,93,235,93,245,93,9,94,10,94,11,94,12,94,13,94,14,94,15,94,16,94,55,56,56,56,57,56,59,56,135,94,136,94,137,94,138,94,139,94,140,94,141,94,142,94,143,94,144,94,145,94,146,94,147,94,148,94,247,94,3,95,4,95,5,95,29,95,30,95,31,95,32,95,72,216,189,223,98,95,99,95,100,95,118,95,119,95,120,95,121,95,122,95,123,95,200,159,201,159,73,216,201,220,73,216,204,220,204,95,205,95,206,95,208,95,209,95,210,95,215,95,216,95,220,95,0,57,223,95,225,95,227,95,228,95,230,95,231,95,232,95,234,95,235,95,236,95,237,95,238,95,239,95,240,95,241,95,242,95,243,95,244,95,246,95,247,95,248,95,249,95,250,95,251,95,252,95,254,95,0,96,3,96,4,96,5,96,6,96,8,57,17,98,18,98,19,98,74,216,147,221,58,98,59,98,60,98,109,98,110,98,111,98,112,98,113,98,114,98,115,98,116,98,117,98,118,98,119,98,121,98,122,98,123,98,124,98,125,98,126,98,60,0,42,0,128,98,129,98,130,98,131,98,132,98,133,98,134,98,135,98,136,98,137,98,138,98,139,98,140,98,141,98,142,98,143,98,144,98,145,98,146,98,147,98,148,98,149,98,150,98,151,98,152,98,153,98,154,98,155,98,156,98,157,98,158,98,159,98,160,98,161,98,162,98,163,98,164,98,165,98,209,57,120,98,56,101,57,101,58,101,59,101,60,101,75,216,239,222,136,101,152,101,240,101,241,101,242,101,243,101,244,101,245,101,246,101,247,101,248,101,244,102,245,102,68,103,69,103,70,103,71,103,72,103,73,103,74,103,75,103,76,103,77,103,78,103,79,103,80,103,81,103,82,103,83,103,84,103,85,103,86,103,87,103,88,103,89,103,90,103,91,103,92,103,93,103,94,103,95,103,96,103,97,103,98,103,99,103,100,103,101,103,102,103,103,103,104,103,105,103,129,103,66,59,67,59,68,59,69,59,70,59,76,216,204,223,36,107,101,107,80,60,124,107,78,216,194,221,207,107,208,107,78,216,238,222,220,107,221,107,25,108,26,108,66,108,86,108,94,108,101,108,102,108,103,108,104,108,105,108,106,108,107,108,109,108,110,108,60,0,42,0,111,108,112,108,113,108,114,108,115,108,116,108,117,108,118,108,120,108,121,108,122,108,123,108,124,108,125,108,126,108,127,108,129,108,130,108,131,108,132,108,133,108,134,108,135,108,136,108,137,108,139,108,140,108,141,108,142,108,143,108,144,108,145,108,146,108,148,108,149,108,150,108,152,108,153,108,154,108,155,108,156,108,158,108,159,108,160,108,161,108,162,108,163,108,164,108,165,108,166,108,167,108,168,108,169,108,170,108,79,216,153,220,79,216,154,220,79,216,155,220,116,112,117,112,118,112,119,112,120,112,121,112,122,112,123,112,124,112,125,112,126,112,127,112,128,112,165,61,96,114,97,114,98,114,99,114,100,114,81,216,24,222,182,114,185,114,186,114,187,114,188,114,189,114,190,114,191,114,193,114,194,114,195,114,196,114,197,114,198,114,199,114,200,114,81,216,47,223,146,115,147,115,148,115,149,115,150,115,151,115,152,115,153,115,154,115,155,115,173,62,82,216,240,220,82,216,241,220,82,216,242,220,82,216,243,220,231,116,43,117,44,117,55,117,56,117,57,117,58,117,60,117,85,63,147,117,148,117,149,117,150,117,151,117,128,118,129,118,130,118,131,118,192,118,60,0,42,0,193,118,239,118,227,119,244,119,245,119,246,119,85,216,25,220,61,121,191,121,192,121,193,121,194,121,195,121,38,65,118,122,119,122,204,122,205,122,250,124,251,124,182,126,172,126,173,126,174,126,175,126,176,126,177,126,178,126,179,126,180,126,181,126,183,126,184,126,185,126,186,126,187,126,188,126,189,126,190,126,85,127,52,128,144,128,145,128,146,128,147,128,148,128,149,128,150,128,151,128,152,128,153,128,154,128,155,128,156,128,157,128,158,128,159,128,160,128,235,129,111,130,131,130,132,130,133,130,134,130,135,130,136,130,137,130,138,130,139,130,140,130,141,130,142,130,143,130,144,130,145,130,146,130,147,130,149,130,150,130,151,130,90,216,5,223,90,216,10,223,108,134,93,216,12,222,139,137,195,137,210,137,198,46,94,216,178,220,0,138,1,138,193,139,194,139,195,139,196,139,197,139,198,139,199,139,200,139,201,139,202,139,203,139,204,139,205,139,206,139,207,139,208,139,209,139,210,139,55,140,70,140,85,140,120,140,157,140,33,141,34,141,100,141,112,141,179,141,202,46,171,142,202,142,105,143,106,143,107,143,155,143,176,143,181,143,60,0,42,0,225,93,190,143,191,143,192,143,193,143,194,143,195,143,196,143,197,143,198,143,199,143,200,143,201,143,97,216,104,220,97,216,108,220,97,216,115,220,145,144,158,144,159,144,160,144,161,144,162,144,163,144,164,144,165,144,166,144,167,144,168,144,169,144,170,144,172,144,97,216,170,222,97,216,171,222,73,145,198,145,204,145,136,148,137,148,138,148,139,148,140,148,240,149,241,149,242,149,243,149,244,149,245,149,246,149,247,149,37,150,38,150,39,150,40,150,41,150,42,150,43,150,44,150,45,150,46,150,47,150,48,150,49,150,50,150,51,150,52,150,53,150,54,150,99,216,54,222,99,216,57,222,231,151,207,152,104,153,105,153,106,153,107,153,108,153,109,153,110,153,113,154,114,154,115,154,116,154,32,158,33,158,166,158,159,159,60,0,39,0,208,253,8,40,39,0,60,0,42,0,38,78,39,78,51,78,86,78,115,78,116,78,117,78,118,78,119,78,120,78,64,216,238,220,139,78,155,78,157,78,158,78,159,78,171,78,172,78,45,52,76,79,105,79,106,79,107,79,108,79,109,79,110,79,111,79,112,79,113,79,114,79,115,79,116,79,117,79,118,79,119,79,120,79,121,79,122,79,123,79,124,79,125,79,126,79,127,79,128,79,129,79,130,79,131,79,132,79,133,79,134,79,135,79,136,79,137,79,138,79,139,79,140,79,141,79,142,79,143,79,144,79,145,79,146,79,147,79,148,79,149,79,150,79,151,79,152,79,153,79,154,79,155,79,156,79,157,79,158,79,159,79,160,79,161,79,162,79,163,79,164,79,165,79,166,79,167,79,168,79,169,79,170,79,171,79,172,79,173,79,199,159,74,52,76,52,80,52,64,216,4,222,64,216,12,222,64,216,20,222,82,81,83,81,84,81,85,81,86,81,65,216,135,220,105,81,118,81,119,81,120,81,144,81,158,81,188,81,189,81,190,81,191,81,192,81,65,216,195,221,237,81,238,81,239,81,253,81,46,82,47,82,48,82,49,82,50,82,51,82,52,82,53,82,54,82,55,82,60,0,42,0,56,82,57,82,58,82,59,82,60,82,61,82,62,82,63,82,64,82,65,82,66,82,228,52,230,52,65,216,14,223,70,82,181,82,182,82,183,82,184,82,185,82,186,82,187,82,188,82,189,82,190,82,191,82,26,53,198,82,10,83,11,83,12,83,66,216,22,221,38,83,60,83,81,83,82,83,83,83,84,83,85,83,86,83,101,83,102,83,103,83,66,216,231,221,118,83,119,83,120,83,121,83,122,83,146,83,147,83,148,83,149,83,66,216,80,222,192,83,193,83,194,83,212,83,213,83,214,83,215,83,216,83,93,84,94,84,95,84,96,84,97,84,98,84,99,84,100,84,101,84,102,84,103,84,104,84,105,84,106,84,107,84,108,84,109,84,110,84,111,84,113,84,115,84,116,84,117,84,118,84,119,84,120,84,121,84,122,84,123,84,124,84,125,84,126,84,127,84,128,84,129,84,130,84,131,84,132,84,133,84,134,84,135,84,136,84,137,84,138,84,139,84,140,84,141,84,142,84,143,84,144,84,145,84,146,84,147,84,148,84,149,84,150,84,151,84,152,84,153,84,154,84,155,84,156,84,157,84,119,53,120,53,67,216,11,220,60,0,42,0,67,216,13,220,67,216,32,220,67,216,52,220,67,216,58,220,67,216,59,220,67,216,65,220,67,216,66,220,67,216,67,220,246,86,247,86,248,86,249,86,250,86,251,86,252,86,253,86,254,86,32,54,97,87,98,87,99,87,100,87,101,87,102,87,103,87,104,87,105,87,106,87,107,87,108,87,109,87,110,87,111,87,112,87,113,87,114,87,115,87,116,87,117,87,118,87,119,87,120,87,121,87,122,87,123,87,124,87,125,87,126,87,127,87,128,87,129,87,130,87,131,87,132,87,133,87,134,87,135,87,136,87,137,87,138,87,49,54,50,54,51,54,52,54,53,54,68,216,168,222,68,216,169,222,68,216,176,222,7,89,12,89,28,89,29,89,67,89,68,89,69,89,70,89,71,89,72,89,73,89,75,89,76,89,77,89,84,89,69,216,10,222,172,89,173,89,174,89,175,89,176,89,177,89,178,89,179,89,180,89,181,89,182,89,183,89,184,89,185,89,186,89,187,89,188,89,189,89,190,89,191,89,192,89,193,89,194,89,195,89,196,89,197,89,198,89,199,89,200,89,201,89,202,89,203,89,204,89,205,89,206,89,207,89,208,89,209,89,210,89,211,89,212,89,214,89,215,89,176,54,60,0,42,0,177,54,181,54,185,54,188,54,193,54,69,216,223,222,69,216,230,222,69,216,231,222,69,216,232,222,69,216,250,222,69,216,251,222,69,216,252,222,69,216,254,222,95,91,96,91,97,91,98,91,99,91,100,91,101,91,102,91,103,91,64,55,70,216,88,221,147,91,148,91,149,91,150,91,151,91,152,91,153,91,154,91,155,91,156,91,157,91,158,91,159,91,160,91,161,91,70,216,219,221,0,92,25,92,26,92,45,92,68,92,69,92,70,92,71,92,72,92,73,92,74,92,157,92,158,92,159,92,160,92,161,92,162,92,163,92,164,92,165,92,166,92,167,92,168,92,169,92,170,92,171,92,172,92,173,92,174,92,175,92,176,92,177,92,178,92,179,92,180,92,181,92,182,92,183,92,184,92,185,92,186,92,187,92,188,92,189,92,190,92,191,92,192,92,193,92,194,92,195,92,196,92,197,92,185,55,190,55,71,216,144,221,246,93,48,56,17,94,18,94,19,94,20,94,21,94,22,94,23,94,24,94,25,94,26,94,27,94,28,94,72,216,126,220,119,94,120,94,152,94,149,94,150,94,151,94,153,94,154,94,156,94,157,94,158,94,159,94,117,56,246,94,248,94,249,94,160,56,6,95,60,0,42,0,33,95,34,95,35,95,36,95,37,95,38,95,39,95,40,95,41,95,42,95,72,216,208,223,84,95,85,95,204,56,73,216,139,220,124,95,125,95,126,95,127,95,128,95,129,95,130,95,131,95,132,95,221,95,222,95,224,95,226,95,229,95,233,95,245,95,253,95,255,95,1,96,2,96,7,96,8,96,9,96,10,96,11,96,12,96,13,96,15,96,16,96,17,96,19,96,20,96,21,96,22,96,23,96,25,96,26,96,27,96,28,96,30,96,31,96,33,96,34,96,38,96,39,96,41,96,42,96,43,96,44,96,45,96,46,96,47,96,48,96,50,96,51,96,52,96,53,96,54,96,58,96,61,96,62,96,63,96,20,57,73,216,27,222,73,216,28,222,73,216,43,222,20,98,21,98,22,98,23,98,61,98,62,98,63,98,64,98,127,98,166,98,167,98,168,98,169,98,170,98,171,98,172,98,173,98,174,98,175,98,176,98,177,98,178,98,179,98,180,98,181,98,182,98,183,98,184,98,185,98,186,98,187,98,188,98,189,98,190,98,191,98,192,98,193,98,194,98,195,98,196,98,197,98,198,98,199,98,200,98,201,98,202,98,203,98,60,0,42,0,204,98,205,98,206,98,208,98,209,98,210,98,211,98,212,98,213,98,214,98,215,98,216,98,217,98,218,98,219,98,221,98,222,98,223,98,224,98,225,98,226,98,227,98,228,98,229,98,230,98,231,98,232,98,233,98,212,57,213,57,217,57,218,57,220,57,221,57,222,57,223,57,74,216,207,222,74,216,213,222,61,101,62,101,129,58,137,101,76,216,68,220,166,101,167,101,168,101,169,101,186,101,187,101,188,101,76,216,218,220,249,101,250,101,251,101,252,101,253,101,254,101,255,101,0,102,1,102,2,102,3,102,4,102,5,102,6,102,7,102,8,102,9,102,10,102,11,102,12,102,13,102,14,102,15,102,16,102,17,102,18,102,19,102,20,102,21,102,22,102,23,102,24,102,25,102,246,102,10,103,11,103,12,103,13,103,51,59,106,103,107,103,108,103,109,103,110,103,111,103,112,103,113,103,114,103,115,103,116,103,117,103,118,103,119,103,120,103,121,103,122,103,123,103,124,103,125,103,126,103,127,103,128,103,130,103,131,103,132,103,133,103,134,103,135,103,136,103,137,103,138,103,139,103,140,103,141,103,142,103,143,103,144,103,60,0,42,0,145,103,146,103,147,103,148,103,149,103,150,103,151,103,152,103,153,103,154,103,155,103,156,103,157,103,158,103,159,103,160,103,161,103,162,103,163,103,164,103,165,103,166,103,167,103,168,103,169,103,170,103,171,103,172,103,173,103,71,59,72,59,73,59,74,59,75,59,76,59,77,59,78,59,79,59,80,59,76,216,222,223,76,216,230,223,76,216,244,223,76,216,245,223,76,216,249,223,76,216,250,223,76,216,254,223,77,216,0,220,249,103,35,107,37,107,38,107,39,107,32,60,102,107,103,107,104,107,105,107,125,107,126,107,127,107,128,107,129,107,180,107,209,107,222,107,223,107,19,108,27,108,28,108,29,108,108,108,128,108,138,108,147,108,157,108,171,108,172,108,173,108,174,108,176,108,177,108,178,108,179,108,180,108,181,108,182,108,183,108,184,108,185,108,186,108,187,108,188,108,189,108,190,108,191,108,192,108,193,108,194,108,195,108,196,108,197,108,198,108,199,108,200,108,202,108,203,108,204,108,205,108,206,108,207,108,208,108,209,108,210,108,211,108,212,108,213,108,214,108,215,108,216,108,217,108,219,108,220,108,221,108,222,108,223,108,224,108,225,108,226,108,60,0,42,0,227,108,228,108,229,108,230,108,231,108,232,108,233,108,234,108,235,108,236,108,237,108,238,108,239,108,241,108,242,108,243,108,247,108,248,108,249,108,250,108,251,108,252,108,253,108,254,108,203,60,205,60,209,60,79,216,181,220,79,216,183,220,79,216,199,220,79,216,200,220,79,216,201,220,48,109,135,112,129,112,130,112,131,112,132,112,133,112,134,112,136,112,137,112,138,112,139,112,140,112,141,112,142,112,143,112,144,112,145,112,146,112,147,112,148,112,149,112,150,112,151,112,152,112,153,112,154,112,155,112,156,112,157,112,158,112,80,216,163,221,80,216,164,221,80,216,165,221,80,216,172,221,80,216,181,221,44,114,45,114,56,114,64,114,72,114,101,114,102,114,103,114,104,114,105,114,106,114,107,114,108,114,47,62,81,216,42,222,192,114,201,114,203,114,204,114,205,114,206,114,207,114,208,114,209,114,210,114,211,114,212,114,213,114,214,114,215,114,216,114,217,114,218,114,219,114,220,114,221,114,222,114,98,62,105,62,156,115,157,115,158,115,159,115,160,115,161,115,162,115,163,115,164,115,165,115,166,115,167,115,168,115,169,115,170,115,171,115,172,115,173,115,174,115,175,115,176,115,60,0,42,0,177,115,82,216,251,220,82,216,255,220,82,216,0,221,82,216,1,221,82,216,12,221,221,116,232,116,233,116,25,117,59,117,61,117,62,117,63,117,64,117,65,117,66,117,67,117,68,117,69,117,140,117,152,117,153,117,154,117,155,117,156,117,157,117,158,117,159,117,160,117,161,117,119,118,132,118,175,118,194,118,240,118,241,118,242,118,243,118,244,118,245,118,228,119,229,119,247,119,248,119,249,119,250,119,251,119,252,119,253,119,254,119,255,119,0,120,1,120,85,216,37,220,62,121,63,121,64,121,65,121,66,121,67,121,196,121,197,121,198,121,199,121,200,121,201,121,202,121,120,122,121,122,122,122,123,122,146,65,206,122,207,122,196,65,250,122,251,122,116,124,117,124,118,124,252,124,253,124,254,124,255,124,181,66,191,126,192,126,193,126,194,126,195,126,196,126,197,126,198,126,199,126,200,126,201,126,202,126,203,126,204,126,205,126,206,126,207,126,208,126,55,127,84,127,86,127,87,127,89,127,139,127,140,127,5,128,19,128,53,128,131,128,143,128,161,128,162,128,163,128,164,128,165,128,166,128,167,128,168,128,169,128,170,128,171,128,172,128,60,0,42,0,173,128,174,128,175,128,176,128,177,128,178,128,179,128,180,128,181,128,182,128,183,128,184,128,185,128,186,128,187,128,188,128,189,128,190,128,191,128,192,128,193,128,217,67,228,129,229,129,253,129,254,129,13,130,14,130,15,130,32,130,112,130,152,130,153,130,154,130,155,130,156,130,157,130,158,130,159,130,160,130,161,130,162,130,163,130,164,130,165,130,166,130,167,130,168,130,169,130,170,130,171,130,172,130,173,130,174,130,175,130,176,130,177,130,178,130,179,130,180,130,181,130,182,130,183,130,184,130,185,130,186,130,188,130,189,130,190,130,192,130,193,130,194,130,195,130,196,130,197,130,198,130,199,130,200,130,201,130,202,130,203,130,204,130,205,130,206,130,207,130,62,131,90,216,19,223,90,216,21,223,90,216,35,223,90,216,40,223,191,130,78,134,79,134,109,134,110,134,111,134,112,134,113,134,114,134,93,216,224,221,101,136,104,136,196,137,197,137,211,139,212,139,213,139,214,139,215,139,216,139,217,139,218,139,219,139,220,139,221,139,222,139,223,139,224,139,225,139,226,139,227,139,228,139,229,139,230,139,231,139,232,139,233,139,86,140,60,0,42,0,35,141,36,141,37,141,38,141,39,141,40,141,41,141,42,141,43,141,44,141,45,141,46,141,47,141,203,142,108,143,109,143,110,143,111,143,112,143,202,143,203,143,204,143,205,143,206,143,207,143,208,143,209,143,210,143,211,143,212,143,213,143,214,143,215,143,216,143,217,143,218,143,219,143,220,143,221,143,222,143,223,143,236,143,97,216,130,220,173,144,174,144,175,144,176,144,177,144,178,144,179,144,180,144,181,144,182,144,183,144,184,144,185,144,186,144,187,144,97,216,178,222,97,216,188,222,199,145,209,145,210,145,141,148,142,148,143,148,144,148,145,148,146,148,147,148,148,148,149,148,150,148,151,148,119,149,120,149,128,149,248,149,249,149,28,150,99,216,15,222,55,150,56,150,57,150,58,150,59,150,60,150,61,150,62,150,63,150,64,150,65,150,66,150,67,150,68,150,69,150,70,150,71,150,72,150,73,150,182,150,185,150,215,46,232,150,81,151,82,151,94,151,99,151,118,152,119,152,111,153,112,153,113,153,114,153,115,153,116,153,117,154,118,154,119,154,120,154,121,154,122,154,123,154,124,154,125,154,126,154,127,154,128,154,60,0,42,0,124,156,34,158,35,158,36,158,254,158,33,159,127,159,60,0,39,0,208,253,9,40,39,0,60,0,42,0,52,78,62,78,87,78,121,78,122,78,123,78,124,78,32,52,173,78,174,78,175,78,176,78,177,78,178,78,174,79,175,79,176,79,177,79,178,79,179,79,180,79,181,79,182,79,183,79,184,79,185,79,186,79,187,79,188,79,189,79,190,79,191,79,192,79,193,79,194,79,195,79,196,79,197,79,198,79,199,79,200,79,201,79,202,79,203,79,204,79,205,79,206,79,207,79,208,79,209,79,210,79,211,79,212,79,213,79,214,79,215,79,216,79,217,79,218,79,219,79,220,79,221,79,222,79,223,79,224,79,225,79,226,79,227,79,228,79,229,79,230,79,231,79,232,79,233,79,234,79,235,79,236,79,237,79,64,216,57,222,64,216,91,222,87,81,88,81,89,81,65,216,142,220,106,81,121,81,123,81,145,81,146,81,159,81,160,81,193,81,194,81,195,81,65,216,202,221,65,216,208,221,65,216,213,221,254,81,67,82,68,82,69,82,71,82,72,82,73,82,74,82,75,82,76,82,77,82,78,82,79,82,80,82,81,82,192,82,193,82,194,82,195,82,196,82,197,82,199,82,200,82,201,82,202,82,203,82,13,83,39,83,40,83,41,83,61,83,60,0,42,0,87,83,88,83,123,83,124,83,125,83,150,83,151,83,152,83,153,83,154,83,155,83,217,83,218,83,219,83,220,83,221,83,112,84,114,84,158,84,159,84,160,84,161,84,162,84,163,84,164,84,165,84,166,84,167,84,168,84,169,84,170,84,171,84,172,84,173,84,174,84,175,84,176,84,177,84,178,84,179,84,180,84,181,84,182,84,183,84,184,84,185,84,186,84,187,84,188,84,189,84,190,84,191,84,192,84,193,84,194,84,195,84,196,84,197,84,198,84,199,84,200,84,201,84,202,84,203,84,204,84,205,84,206,84,207,84,208,84,209,84,210,84,211,84,212,84,213,84,214,84,215,84,216,84,217,84,218,84,219,84,220,84,221,84,222,84,223,84,132,53,67,216,83,220,67,216,101,220,67,216,119,220,67,216,120,220,67,216,124,220,67,216,141,220,67,216,150,220,67,216,156,220,255,86,0,87,34,54,68,216,217,221,139,87,140,87,141,87,142,87,143,87,144,87,145,87,146,87,147,87,148,87,149,87,150,87,151,87,152,87,153,87,154,87,155,87,156,87,157,87,158,87,159,87,160,87,161,87,162,87,163,87,164,87,165,87,166,87,167,87,168,87,169,87,60,0,42,0,170,87,171,87,172,87,173,87,174,87,175,87,176,87,177,87,178,87,179,87,180,87,181,87,206,87,54,54,55,54,56,54,57,54,59,54,62,54,68,216,227,222,244,88,245,88,8,89,9,89,13,89,78,89,79,89,80,89,81,89,82,89,83,89,85,89,86,89,154,54,69,216,19,222,69,216,25,222,213,89,141,89,216,89,217,89,218,89,219,89,220,89,221,89,222,89,223,89,224,89,225,89,226,89,227,89,228,89,229,89,230,89,231,89,232,89,233,89,234,89,235,89,237,89,238,89,239,89,240,89,241,89,242,89,243,89,244,89,245,89,246,89,247,89,248,89,249,89,250,89,251,89,252,89,253,89,254,89,255,89,0,90,1,90,2,90,3,90,5,90,6,90,7,90,8,90,195,54,196,54,197,54,199,54,200,54,69,216,13,223,69,216,16,223,69,216,38,223,13,90,104,91,105,91,106,91,162,91,163,91,164,91,165,91,166,91,168,91,169,91,170,91,171,91,70,216,243,221,1,92,2,92,6,92,27,92,28,92,29,92,46,92,47,92,75,92,76,92,77,92,78,92,79,92,198,92,199,92,200,92,201,92,202,92,203,92,204,92,205,92,60,0,42,0,206,92,207,92,208,92,209,92,210,92,211,92,212,92,213,92,214,92,215,92,216,92,217,92,218,92,219,92,220,92,221,92,222,92,223,92,224,92,225,92,226,92,227,92,228,92,229,92,230,92,231,92,71,216,182,221,71,216,186,221,71,216,202,221,71,216,209,221,248,92,236,93,237,93,247,93,248,93,249,93,250,93,251,93,29,94,30,94,31,94,32,94,33,94,34,94,35,94,36,94,37,94,38,94,39,94,72,216,154,220,125,94,155,94,160,94,161,94,162,94,163,94,164,94,165,94,166,94,72,216,8,222,176,94,250,94,251,94,252,94,72,216,33,223,72,216,37,223,7,95,8,95,43,95,44,95,45,95,46,95,47,95,72,216,215,223,86,95,101,95,102,95,133,95,134,95,135,95,136,95,137,95,138,95,139,95,140,95,141,95,148,95,14,96,18,96,24,96,29,96,32,96,35,96,36,96,37,96,40,96,49,96,55,96,56,96,57,96,59,96,60,96,64,96,66,96,67,96,68,96,69,96,70,96,71,96,72,96,73,96,74,96,76,96,77,96,78,96,81,96,82,96,83,96,84,96,87,96,88,96,91,96,92,96,94,96,95,96,96,96,97,96,98,96,60,0,42,0,100,96,102,96,104,96,106,96,107,96,108,96,110,96,112,96,113,96,114,96,120,96,121,96,122,96,123,96,124,96,125,96,34,57,38,57,39,57,45,57,73,216,104,222,24,98,65,98,66,98,67,98,207,98,220,98,216,57,234,98,235,98,236,98,237,98,238,98,239,98,240,98,241,98,244,98,245,98,246,98,247,98,248,98,249,98,250,98,251,98,252,98,253,98,254,98,0,99,1,99,2,99,3,99,4,99,5,99,6,99,7,99,9,99,10,99,11,99,12,99,13,99,14,99,15,99,17,99,18,99,19,99,20,99,21,99,22,99,23,99,24,99,28,99,29,99,30,99,31,99,32,99,33,99,34,99,35,99,36,99,37,99,38,99,39,99,225,57,226,57,229,57,230,57,74,216,230,222,74,216,232,222,74,216,14,223,74,216,34,223,49,101,63,101,64,101,65,101,66,101,67,101,68,101,69,101,131,58,132,58,133,58,170,101,171,101,188,58,189,58,189,101,190,101,191,101,192,101,198,58,226,101,26,102,27,102,28,102,29,102,30,102,31,102,32,102,33,102,34,102,35,102,36,102,37,102,38,102,39,102,40,102,41,102,42,102,60,0,42,0,43,102,44,102,45,102,46,102,47,102,48,102,49,102,50,102,51,102,52,102,53,102,54,102,55,102,56,102,57,102,58,102,59,102,60,102,61,102,62,102,63,102,222,58,224,58,76,216,125,221,76,216,130,221,247,102,14,103,15,103,16,103,174,103,175,103,176,103,177,103,178,103,179,103,180,103,181,103,182,103,183,103,184,103,185,103,186,103,187,103,188,103,190,103,191,103,192,103,193,103,194,103,195,103,196,103,197,103,198,103,199,103,200,103,201,103,202,103,203,103,204,103,205,103,206,103,207,103,208,103,209,103,210,103,211,103,212,103,213,103,214,103,215,103,216,103,217,103,218,103,219,103,220,103,221,103,222,103,223,103,224,103,226,103,227,103,228,103,229,103,230,103,231,103,232,103,233,103,234,103,235,103,236,103,237,103,238,103,239,103,240,103,241,103,242,103,243,103,245,103,246,103,247,103,248,103,250,103,251,103,252,103,253,103,254,103,255,103,0,104,1,104,2,104,3,104,4,104,5,104,6,104,7,104,8,104,9,104,10,104,11,104,12,104,13,104,14,104,15,104,16,104,17,104,81,59,82,59,83,59,60,0,42,0,84,59,85,59,86,59,87,59,82,104,40,107,41,107,42,107,38,60,106,107,107,107,84,60,130,107,131,107,132,107,133,107,134,107,135,107,181,107,182,107,210,107,214,107,215,107,216,107,139,60,224,107,225,107,78,216,90,223,30,108,31,108,32,108,33,108,34,108,151,108,175,108,201,108,244,108,246,108,218,108,255,108,0,109,1,109,2,109,3,109,4,109,5,109,6,109,7,109,8,109,9,109,10,109,11,109,12,109,14,109,15,109,16,109,17,109,18,109,19,109,20,109,21,109,23,109,24,109,25,109,26,109,27,109,29,109,30,109,31,109,32,109,33,109,34,109,35,109,36,109,37,109,38,109,39,109,40,109,41,109,42,109,43,109,44,109,45,109,46,109,49,109,50,109,51,109,52,109,53,109,54,109,55,109,56,109,57,109,58,109,59,109,60,109,61,109,62,109,63,109,64,109,65,109,66,109,67,109,68,109,69,109,71,109,72,109,73,109,74,109,75,109,76,109,77,109,78,109,79,109,80,109,81,109,82,109,83,109,84,109,85,109,214,60,220,60,79,216,252,220,79,216,253,220,79,216,254,220,79,216,255,220,159,112,160,112,60,0,42,0,161,112,162,112,163,112,164,112,165,112,166,112,167,112,168,112,169,112,170,112,171,112,172,112,173,112,174,112,175,112,176,112,177,112,178,112,179,112,180,112,181,112,182,112,183,112,184,112,185,112,186,112,187,112,188,112,189,112,190,112,191,112,192,112,193,112,194,112,195,112,173,61,80,216,205,221,80,216,226,221,46,114,47,114,48,114,81,216,5,221,60,114,65,114,73,114,74,114,109,114,110,114,111,114,112,114,113,114,114,114,115,114,116,114,117,114,202,114,223,114,224,114,225,114,226,114,227,114,228,114,229,114,230,114,231,114,232,114,233,114,234,114,235,114,236,114,237,114,238,114,239,114,240,114,241,114,242,114,81,216,143,223,133,115,177,62,178,115,179,115,180,115,181,115,182,115,183,115,184,115,185,115,187,115,189,115,190,115,191,115,192,115,193,115,194,115,195,115,196,115,197,115,198,115,199,115,200,115,201,115,202,115,203,115,204,115,205,115,206,115,207,115,208,115,209,115,82,216,22,221,82,216,23,221,82,216,25,221,82,216,47,221,82,216,51,221,82,216,52,221,234,116,235,116,236,116,237,116,238,116,239,116,240,116,241,116,242,116,26,117,32,117,45,117,46,117,60,0,42,0,70,117,71,117,72,117,73,117,74,117,75,117,76,117,77,117,78,117,79,117,80,117,81,117,82,117,83,117,88,63,89,63,162,117,163,117,164,117,165,117,166,117,167,117,168,117,169,117,170,117,171,117,172,117,173,117,174,117,175,117,186,117,124,63,120,118,121,118,122,118,133,118,134,118,135,118,136,118,195,118,196,118,197,118,198,118,199,118,200,118,246,118,247,118,248,118,249,118,250,118,251,118,252,118,253,118,254,118,255,118,0,119,1,119,2,119,3,119,4,119,5,119,6,119,7,119,8,119,9,119,10,119,11,119,12,119,13,119,29,64,84,216,43,221,220,119,230,119,231,119,232,119,245,108,2,120,3,120,4,120,5,120,6,120,7,120,8,120,9,120,10,120,11,120,12,120,13,120,14,120,15,120,16,120,17,120,18,120,19,120,20,120,21,120,22,120,23,120,24,120,25,120,26,120,27,120,28,120,154,64,85,216,47,220,85,216,48,220,68,121,69,121,70,121,71,121,72,121,73,121,74,121,75,121,76,121,77,121,78,121,198,137,0,65,85,216,53,222,185,121,186,121,203,121,204,121,205,121,206,121,207,121,208,121,60,0,42,0,209,121,210,121,211,121,212,121,213,121,214,121,215,121,49,65,50,65,85,216,114,223,124,122,125,122,126,122,127,122,128,122,129,122,130,122,131,122,149,65,86,216,70,221,208,122,209,122,210,122,211,122,212,122,213,122,214,122,215,122,252,122,253,122,254,122,255,122,0,123,1,123,2,123,3,123,86,216,233,222,4,90,119,124,120,124,121,124,122,124,123,124,124,124,125,124,126,124,127,124,128,124,129,124,130,124,122,66,0,125,1,125,2,125,3,125,4,125,5,125,6,125,7,125,8,125,9,125,182,66,183,66,185,66,209,126,210,126,211,126,212,126,213,126,214,126,215,126,216,126,217,126,218,126,219,126,220,126,221,126,222,126,223,126,56,127,66,67,88,127,90,127,141,127,142,127,143,127,145,127,88,216,81,223,190,127,191,127,88,216,245,223,88,216,248,223,7,128,13,128,14,128,15,128,16,128,17,128,20,128,54,128,55,128,17,103,194,128,195,128,196,128,197,128,198,128,199,128,200,128,201,128,202,128,203,128,204,128,205,128,206,128,207,128,208,128,209,128,210,128,211,128,213,128,214,128,215,128,216,128,217,128,218,128,219,128,220,128,60,0,42,0,221,128,222,128,223,128,224,128,225,128,226,128,227,128,228,128,229,128,230,128,231,128,232,128,233,128,234,128,235,128,9,129,223,67,244,129,255,129,33,130,34,130,35,130,36,130,148,130,208,130,209,130,210,130,211,130,212,130,213,130,214,130,215,130,216,130,217,130,218,130,219,130,220,130,221,130,222,130,223,130,224,130,225,130,226,130,227,130,228,130,229,130,230,130,231,130,232,130,233,130,234,130,235,130,236,130,237,130,238,130,239,130,240,130,241,130,242,130,243,130,244,130,245,130,246,130,247,130,248,130,249,130,250,130,251,130,252,130,253,130,254,130,255,130,0,131,1,131,2,131,3,131,4,131,5,131,6,131,7,131,9,131,10,131,11,131,12,131,13,131,14,131,15,131,16,131,17,131,19,131,20,131,21,131,90,216,80,223,90,216,81,223,90,216,82,223,90,216,83,223,90,216,91,223,58,131,80,134,115,134,116,134,117,134,118,134,119,134,120,134,121,134,122,134,123,134,124,134,125,134,126,134,127,134,128,134,129,134,130,134,131,134,65,136,66,136,15,70,77,136,78,136,93,216,228,221,102,136,103,136,105,136,106,136,107,136,108,136,60,0,42,0,93,216,50,222,93,216,57,222,129,137,140,137,199,137,200,137,201,137,211,137,212,137,2,138,3,138,4,138,5,138,6,138,7,138,8,138,174,70,234,139,235,139,236,139,237,139,238,139,239,139,240,139,241,139,242,139,243,139,244,139,245,139,246,139,158,140,159,140,160,140,48,141,49,141,50,141,51,141,52,141,53,141,54,141,55,141,56,141,57,141,58,141,59,141,114,141,115,141,116,141,117,141,170,159,180,141,204,142,205,142,113,143,114,143,115,143,116,143,117,143,118,143,119,143,120,143,121,143,122,143,123,143,224,143,225,143,226,143,227,143,228,143,229,143,230,143,231,143,232,143,233,143,234,143,235,143,237,143,238,143,239,143,240,143,241,143,242,143,243,143,188,144,189,144,190,144,191,144,192,144,193,144,194,144,195,144,196,144,197,144,198,144,199,144,200,144,201,144,202,144,203,144,205,144,206,144,207,144,208,144,209,144,211,144,213,144,97,216,216,222,97,216,230,222,241,144,74,145,75,145,205,145,211,145,212,145,152,148,153,148,154,148,155,148,156,148,157,148,158,148,159,148,160,148,161,148,162,148,163,148,164,148,165,148,60,0,42,0,166,148,167,148,168,148,169,148,170,148,171,148,172,148,173,148,174,148,175,148,129,149,130,149,250,149,251,149,252,149,253,149,254,149,255,149,0,150,1,150,2,150,74,150,75,150,76,150,77,150,78,150,79,150,80,150,81,150,82,150,83,150,84,150,85,150,99,216,101,222,99,216,102,222,98,151,105,151,203,151,232,151,237,151,243,151,1,152,120,152,121,152,122,152,123,152,168,152,208,152,209,152,210,152,219,152,223,152,224,152,222,46,117,153,118,153,119,153,120,153,121,153,122,153,123,153,124,153,150,153,102,216,16,220,153,153,129,154,130,154,131,154,132,154,133,154,134,154,135,154,136,154,137,154,227,46,236,156,37,158,38,158,39,158,40,158,41,158,60,0,39,0,208,253,10,40,39,0,60,0,42,0,64,216,62,220,53,78,88,78,125,78,179,78,238,79,239,79,240,79,241,79,242,79,243,79,244,79,245,79,246,79,247,79,248,79,249,79,250,79,251,79,252,79,253,79,254,79,255,79,0,80,1,80,2,80,3,80,4,80,5,80,6,80,7,80,8,80,9,80,10,80,11,80,12,80,13,80,14,80,15,80,16,80,17,80,18,80,19,80,20,80,21,80,22,80,23,80,24,80,25,80,26,80,27,80,28,80,29,80,30,80,31,80,32,80,33,80,34,80,35,80,36,80,37,80,38,80,39,80,40,80,41,80,42,80,43,80,44,80,45,80,46,80,47,80,48,80,49,80,50,80,51,80,52,80,53,80,54,80,55,80,56,80,57,80,58,80,59,80,60,80,61,80,62,80,63,80,101,52,102,52,64,216,116,222,64,216,117,222,64,216,153,222,64,216,158,222,64,216,160,222,86,80,90,81,91,81,65,216,145,220,65,216,146,220,122,81,124,81,147,81,148,81,161,81,162,81,163,81,164,81,165,81,166,81,167,81,65,216,142,221,196,81,197,81,198,81,199,81,200,81,201,81,202,81,203,81,204,81,205,81,206,81,65,216,223,221,65,216,224,221,65,216,86,222,82,82,83,82,84,82,60,0,42,0,85,82,86,82,87,82,88,82,89,82,90,82,91,82,92,82,93,82,94,82,95,82,96,82,97,82,98,82,99,82,100,82,101,82,102,82,103,82,65,216,49,223,204,82,205,82,206,82,207,82,208,82,209,82,66,216,115,220,14,83,42,83,43,83,168,159,127,83,156,83,157,83,158,83,159,83,82,134,66,216,111,222,222,83,223,83,224,84,225,84,226,84,227,84,228,84,229,84,230,84,231,84,232,84,233,84,234,84,235,84,236,84,237,84,238,84,239,84,240,84,241,84,242,84,243,84,244,84,245,84,246,84,247,84,248,84,249,84,250,84,251,84,252,84,253,84,254,84,255,84,0,85,1,85,2,85,3,85,4,85,5,85,6,85,7,85,8,85,9,85,10,85,11,85,13,85,14,85,15,85,16,85,17,85,18,85,19,85,20,85,21,85,22,85,23,85,24,85,25,85,26,85,27,85,28,85,29,85,30,85,31,85,32,85,33,85,34,85,35,85,36,85,37,85,38,85,39,85,151,53,152,53,67,216,181,220,67,216,184,220,67,216,207,220,67,216,211,220,67,216,212,220,67,216,213,220,67,216,214,220,67,216,221,220,67,216,237,220,67,216,255,220,67,216,21,221,1,87,2,87,3,87,4,87,60,0,42,0,5,87,6,87,35,54,182,87,183,87,184,87,185,87,186,87,187,87,188,87,189,87,190,87,191,87,192,87,193,87,194,87,195,87,196,87,197,87,198,87,199,87,200,87,201,87,202,87,203,87,204,87,205,87,207,87,208,87,209,87,210,87,211,87,212,87,213,87,214,87,215,87,216,87,217,87,218,87,219,87,15,250,68,216,254,222,68,216,2,223,68,216,3,223,68,216,4,223,68,216,5,223,50,88,246,88,14,89,15,89,30,89,69,216,150,221,74,89,87,89,88,89,89,89,90,89,236,89,9,90,10,90,11,90,12,90,14,90,15,90,16,90,17,90,18,90,19,90,20,90,21,90,22,90,23,90,24,90,25,90,26,90,27,90,28,90,29,90,30,90,31,90,32,90,33,90,34,90,35,90,36,90,37,90,38,90,39,90,40,90,41,90,42,90,45,90,46,90,47,90,48,90,49,90,50,90,51,90,52,90,206,54,209,54,211,54,212,54,214,54,221,54,225,54,226,54,69,216,58,223,69,216,59,223,69,216,60,223,69,216,87,223,107,91,108,91,109,91,67,55,70,216,106,221,167,91,172,91,173,91,174,91,175,91,176,91,177,91,178,91,179,91,180,91,181,91,182,91,60,0,42,0,183,91,184,91,185,91,186,91,187,91,188,91,189,91,190,91,3,92,4,92,5,92,80,92,81,92,82,92,83,92,84,92,85,92,86,92,87,92,88,92,151,55,71,216,112,220,232,92,233,92,234,92,235,92,236,92,237,92,238,92,239,92,240,92,241,92,242,92,243,92,244,92,245,92,246,92,247,92,249,92,250,92,251,92,252,92,253,92,254,92,255,92,0,93,1,93,2,93,3,93,4,93,5,93,214,55,71,216,235,221,71,216,249,221,238,93,43,56,252,93,40,94,41,94,42,94,43,94,44,94,45,94,46,94,47,94,48,94,49,94,72,216,199,220,72,216,193,221,72,216,195,221,167,94,168,94,169,94,170,94,171,94,172,94,173,94,174,94,175,94,253,94,9,95,48,95,49,95,50,95,51,95,103,95,104,95,73,216,145,220,142,95,143,95,144,95,145,95,146,95,147,95,149,95,73,216,237,220,65,96,75,96,79,96,80,96,85,96,86,96,89,96,90,96,93,96,99,96,101,96,103,96,105,96,109,96,111,96,115,96,116,96,117,96,118,96,119,96,32,57,43,57,126,96,128,96,129,96,130,96,131,96,132,96,133,96,135,96,136,96,139,96,60,0,42,0,140,96,141,96,142,96,143,96,145,96,146,96,147,96,148,96,149,96,150,96,151,96,153,96,154,96,155,96,156,96,157,96,158,96,159,96,162,96,166,96,167,96,169,96,173,96,174,96,175,96,49,57,51,57,52,57,54,57,55,57,56,57,57,57,73,216,122,222,73,216,150,222,73,216,152,222,25,98,68,98,69,98,70,98,71,98,242,98,243,98,255,98,8,99,16,99,25,99,26,99,27,99,236,57,40,99,41,99,42,99,43,99,44,99,45,99,46,99,47,99,48,99,49,99,51,99,52,99,53,99,54,99,55,99,56,99,57,99,58,99,60,99,61,99,62,99,63,99,64,99,65,99,66,99,67,99,68,99,69,99,70,99,71,99,72,99,73,99,74,99,75,99,76,99,77,99,78,99,79,99,80,99,81,99,82,99,83,99,84,99,85,99,86,99,87,99,88,99,89,99,90,99,91,99,92,99,93,99,94,99,95,99,96,99,97,99,98,99,99,99,100,99,248,57,74,216,63,223,74,216,67,223,74,216,106,223,228,99,70,101,71,101,72,101,73,101,74,101,75,101,76,101,135,58,136,58,137,58,76,216,75,220,138,101,139,101,153,101,154,101,60,0,42,0,193,101,194,101,195,101,196,101,197,101,198,101,202,101,201,58,64,102,65,102,66,102,67,102,68,102,69,102,70,102,71,102,72,102,73,102,74,102,75,102,76,102,77,102,78,102,79,102,80,102,81,102,82,102,83,102,84,102,85,102,86,102,76,216,164,221,76,216,165,221,95,102,96,102,248,102,250,102,251,102,18,103,19,103,20,103,21,103,52,59,53,59,23,103,189,103,225,103,244,103,18,104,19,104,20,104,21,104,22,104,23,104,24,104,25,104,26,104,27,104,28,104,29,104,30,104,31,104,32,104,33,104,34,104,35,104,36,104,37,104,38,104,39,104,40,104,41,104,42,104,43,104,44,104,45,104,46,104,47,104,48,104,49,104,50,104,51,104,52,104,53,104,54,104,55,104,56,104,57,104,58,104,59,104,60,104,61,104,62,104,63,104,64,104,65,104,66,104,67,104,68,104,69,104,70,104,71,104,72,104,73,104,74,104,75,104,76,104,77,104,78,104,79,104,80,104,81,104,83,104,84,104,85,104,86,104,87,104,88,104,89,104,90,104,91,104,92,104,93,104,94,104,95,104,96,104,97,104,98,104,60,0,42,0,99,104,100,104,101,104,102,104,103,104,104,104,105,104,106,104,88,59,89,59,90,59,91,59,92,59,93,59,94,59,95,59,96,59,97,59,98,59,99,59,100,59,101,59,102,59,103,59,77,216,63,220,77,216,80,220,77,216,111,220,77,216,114,220,43,107,44,107,45,107,46,107,47,107,48,107,49,107,52,107,108,107,109,107,136,107,137,107,138,107,139,107,97,60,183,107,217,107,226,107,227,107,228,107,229,107,230,107,231,107,232,107,233,107,234,107,35,108,36,108,37,108,38,108,39,108,40,108,41,108,240,108,28,109,47,109,70,109,13,109,22,109,86,109,87,109,88,109,89,109,90,109,91,109,92,109,93,109,94,109,95,109,96,109,97,109,98,109,99,109,100,109,101,109,102,109,103,109,104,109,105,109,106,109,107,109,108,109,109,109,110,109,111,109,112,109,113,109,114,109,115,109,116,109,117,109,118,109,119,109,120,109,121,109,122,109,123,109,124,109,125,109,126,109,127,109,128,109,129,109,130,109,131,109,132,109,133,109,134,109,135,109,136,109,137,109,138,109,139,109,140,109,141,109,143,109,144,109,145,109,146,109,147,109,60,0,42,0,148,109,149,109,150,109,151,109,152,109,154,109,155,109,156,109,157,109,158,109,159,109,160,109,161,109,162,109,163,109,164,109,165,109,166,109,167,109,168,109,169,109,239,60,79,216,64,221,79,216,91,221,196,112,197,112,198,112,199,112,200,112,201,112,202,112,203,112,204,112,205,112,206,112,207,112,208,112,209,112,210,112,211,112,212,112,213,112,214,112,215,112,216,112,217,112,218,112,219,112,220,112,221,112,222,112,223,112,224,112,225,112,226,112,227,112,228,112,229,112,230,112,231,112,232,112,233,112,234,112,235,112,236,112,237,112,238,112,180,61,80,216,252,221,80,216,27,222,49,114,57,114,66,114,81,216,120,221,32,62,118,114,119,114,120,114,121,114,122,114,243,114,244,114,245,114,246,114,247,114,248,114,249,114,250,114,251,114,252,114,253,114,254,114,0,115,1,115,2,115,3,115,116,62,134,115,186,115,188,115,184,62,210,115,211,115,212,115,213,115,214,115,215,115,216,115,217,115,218,115,219,115,220,115,221,115,222,115,223,115,224,115,225,115,226,115,227,115,228,115,229,115,230,115,231,115,232,115,233,115,234,115,235,115,236,115,60,0,42,0,237,115,238,115,239,115,240,115,241,115,242,115,9,116,191,62,194,62,199,62,82,216,62,221,82,216,63,221,82,216,64,221,82,216,65,221,82,216,66,221,82,216,67,221,249,115,222,116,223,116,243,116,244,116,245,116,33,117,84,117,85,117,86,117,87,117,88,117,89,117,90,117,91,117,92,117,93,117,94,117,95,117,141,117,176,117,177,117,178,117,179,117,180,117,182,117,183,117,184,117,185,117,187,117,188,117,189,117,190,117,191,117,192,117,193,117,194,117,195,117,196,117,197,117,198,117,199,117,200,117,201,117,96,117,138,118,139,118,140,118,141,118,83,216,92,223,176,118,177,118,237,63,201,118,202,118,203,118,204,118,205,118,206,118,207,118,208,118,209,118,0,64,84,216,82,220,14,119,15,119,16,119,17,119,18,119,19,119,20,119,21,119,22,119,23,119,24,119,25,119,26,119,27,119,28,119,29,119,30,119,31,119,32,119,33,119,34,119,35,119,36,119,39,119,40,119,41,119,42,119,43,119,44,119,63,119,38,64,84,216,72,221,221,119,233,119,29,120,30,120,31,120,32,120,33,120,34,120,35,120,36,120,37,120,39,120,40,120,41,120,42,120,43,120,60,0,42,0,44,120,45,120,46,120,47,120,48,120,49,120,50,120,51,120,52,120,53,120,54,120,55,120,56,120,57,120,58,120,59,120,60,120,61,120,62,120,63,120,64,120,65,120,168,64,85,216,70,220,85,216,108,220,85,216,110,220,79,121,80,121,81,121,82,121,83,121,84,121,85,121,86,121,87,121,88,121,89,121,90,121,91,121,92,121,93,121,94,121,95,121,96,121,98,121,2,65,3,65,85,216,81,222,85,216,61,223,216,121,217,121,218,121,219,121,220,121,221,121,222,121,223,121,224,121,225,121,226,121,227,121,228,121,229,121,230,121,231,121,232,121,233,121,234,121,235,121,236,121,237,121,238,121,239,121,240,121,132,122,133,122,134,122,135,122,136,122,137,122,138,122,139,122,140,122,141,122,142,122,86,216,86,221,216,122,217,122,218,122,219,122,220,122,221,122,222,122,202,65,5,123,6,123,7,123,8,123,9,123,10,123,11,123,12,123,13,123,14,123,15,123,16,123,17,123,18,123,19,123,20,123,21,123,215,65,219,65,4,123,131,124,132,124,133,124,134,124,135,124,136,124,137,124,138,124,139,124,140,124,141,124,142,124,143,124,144,124,60,0,42,0,145,124,10,125,11,125,12,125,13,125,14,125,15,125,16,125,17,125,18,125,19,125,20,125,21,125,22,125,23,125,24,125,25,125,26,125,27,125,28,125,29,125,30,125,31,125,32,125,33,125,34,125,35,125,36,125,37,125,38,125,39,125,188,66,224,126,225,126,226,126,227,126,228,126,229,126,230,126,231,126,232,126,57,127,58,127,60,127,67,67,91,127,92,127,93,127,94,127,95,127,96,127,97,127,98,127,144,127,146,127,147,127,148,127,150,127,151,127,152,127,153,127,192,127,193,127,194,127,195,127,196,127,197,127,198,127,89,216,2,220,89,216,16,220,89,216,17,220,89,216,18,220,4,128,6,128,10,128,21,128,22,128,23,128,24,128,25,128,56,128,57,128,58,128,59,128,60,128,61,128,62,128,63,128,64,128,65,128,66,128,129,128,130,128,237,128,238,128,239,128,240,128,241,128,242,128,243,128,244,128,245,128,246,128,247,128,248,128,249,128,250,128,251,128,252,128,253,128,255,128,0,129,1,129,2,129,3,129,4,129,5,129,6,129,7,129,8,129,10,129,11,129,12,129,13,129,14,129,15,129,16,129,17,129,60,0,42,0,18,129,19,129,237,67,89,216,175,222,89,216,177,222,89,216,181,222,236,129,237,129,90,216,57,221,0,130,1,130,16,130,37,130,38,130,39,130,40,130,41,130,42,130,43,130,44,130,45,130,46,130,47,130,48,130,49,130,101,68,115,130,187,130,159,68,160,68,162,68,8,131,22,131,23,131,24,131,25,131,26,131,27,131,28,131,30,131,31,131,32,131,33,131,34,131,36,131,37,131,38,131,39,131,40,131,41,131,42,131,43,131,44,131,45,131,46,131,47,131,48,131,49,131,50,131,51,131,52,131,53,131,54,131,55,131,56,131,57,131,60,131,61,131,63,131,64,131,65,131,66,131,67,131,68,131,69,131,71,131,72,131,73,131,74,131,75,131,76,131,77,131,78,131,79,131,80,131,81,131,82,131,84,131,85,131,86,131,87,131,88,131,90,131,91,131,92,131,93,131,94,131,95,131,96,131,97,131,98,131,99,131,100,131,101,131,102,131,103,131,104,131,105,131,106,131,108,131,109,131,110,131,111,131,90,216,117,223,90,216,130,223,90,216,150,223,90,216,151,223,90,216,157,223,90,216,179,223,83,131,81,134,83,134,84,134,132,134,133,134,134,134,135,134,137,134,60,0,42,0,138,134,139,134,140,134,141,134,142,134,143,134,144,134,145,134,146,134,147,134,148,134,149,134,150,134,151,134,152,134,153,134,154,134,155,134,156,134,157,134,158,134,159,134,160,134,161,134,162,134,163,134,164,134,165,134,166,134,167,134,168,134,169,134,170,134,172,134,67,136,68,136,79,136,21,70,109,136,110,136,111,136,112,136,113,136,114,136,115,136,116,136,117,136,118,136,119,136,120,136,121,136,122,136,123,136,124,136,125,136,126,136,127,136,128,136,129,136,130,136,131,136,132,136,133,136,134,136,135,136,93,216,85,222,93,216,86,222,93,216,87,222,141,137,142,137,202,137,9,138,10,138,11,138,12,138,13,138,14,138,15,138,16,138,17,138,18,138,19,138,20,138,21,138,22,138,23,138,24,138,25,138,26,138,94,216,103,221,247,139,248,139,249,139,250,139,251,139,252,139,253,139,254,139,255,139,0,140,1,140,2,140,3,140,4,140,5,140,6,140,7,140,8,140,9,140,10,140,56,140,71,140,72,140,87,140,121,140,122,140,123,140,161,140,162,140,163,140,164,140,95,216,47,221,60,141,61,141,62,141,63,141,64,141,65,141,60,0,42,0,66,141,67,141,68,141,69,141,70,141,118,141,119,141,120,141,152,71,181,141,182,141,183,141,184,141,213,71,172,142,206,142,207,142,208,142,209,142,210,142,211,142,212,142,213,142,124,143,125,143,126,143,127,143,128,143,129,143,130,143,131,143,177,143,244,143,245,143,246,143,247,143,248,143,249,143,250,143,251,143,252,143,253,143,254,143,255,143,0,144,1,144,2,144,3,144,4,144,5,144,6,144,7,144,8,144,9,144,10,144,149,144,214,144,215,144,216,144,217,144,218,144,219,144,220,144,221,144,222,144,223,144,224,144,225,144,226,144,227,144,228,144,229,144,230,144,231,144,76,145,77,145,78,145,79,145,80,145,81,145,82,145,213,145,214,145,215,145,216,145,217,145,218,145,219,145,220,145,221,145,222,145,223,145,224,145,225,145,226,145,176,148,177,148,178,148,179,148,180,148,181,148,182,148,183,148,184,148,185,148,186,148,187,148,188,148,189,148,190,148,191,148,192,148,193,148,194,148,195,148,196,148,197,148,198,148,199,148,200,148,201,148,202,148,203,148,204,148,205,148,206,148,131,149,132,149,60,0,42,0,133,149,99,216,202,220,99,216,205,220,3,150,4,150,5,150,6,150,86,150,87,150,88,150,89,150,91,150,92,150,93,150,94,150,95,150,96,150,97,150,98,150,99,150,100,150,101,150,102,150,103,150,104,150,105,150,90,150,99,216,151,222,186,150,187,150,188,150,189,150,190,150,124,152,125,152,126,152,127,152,128,152,129,152,130,152,131,152,132,152,226,152,227,152,228,152,125,153,126,153,127,153,128,153,129,153,130,153,172,153,138,154,139,154,140,154,141,154,142,154,143,154,168,154,216,154,223,154,37,155,47,155,50,155,60,155,125,156,42,158,43,158,44,158,45,158,46,158,47,158,48,158,49,158,50,158,51,158,52,158,53,158,54,158,128,159,60,0,39,0,208,253,11,40,39,0,60,0,42,0,126,78,127,78,128,78,34,52,64,80,65,80,66,80,67,80,68,80,69,80,70,80,71,80,72,80,73,80,74,80,75,80,76,80,77,80,78,80,79,80,80,80,81,80,82,80,83,80,84,80,85,80,87,80,88,80,89,80,90,80,91,80,92,80,93,80,94,80,95,80,96,80,97,80,98,80,99,80,100,80,101,80,102,80,103,80,105,80,106,80,107,80,108,80,109,80,110,80,111,80,112,80,113,80,114,80,115,80,116,80,117,80,118,80,119,80,120,80,121,80,122,80,123,80,124,80,125,80,126,80,127,80,100,52,64,216,183,222,64,216,191,222,64,216,192,222,64,216,229,222,92,81,93,81,94,81,125,81,149,81,188,52,168,81,207,81,208,81,209,81,65,216,235,221,240,81,104,82,106,82,107,82,108,82,109,82,110,82,111,82,112,82,113,82,118,82,65,216,121,223,210,82,211,82,212,82,213,82,214,82,216,82,217,82,218,82,32,53,15,83,16,83,19,83,24,83,25,83,45,53,44,83,45,83,46,83,49,53,62,83,63,83,64,83,89,83,104,83,126,83,160,83,161,83,162,83,163,83,169,83,195,83,196,83,12,85,40,85,60,0,42,0,41,85,42,85,43,85,44,85,45,85,46,85,47,85,48,85,49,85,50,85,51,85,52,85,53,85,54,85,55,85,56,85,57,85,58,85,59,85,60,85,61,85,62,85,63,85,64,85,65,85,66,85,67,85,68,85,69,85,70,85,71,85,72,85,73,85,74,85,75,85,76,85,77,85,78,85,79,85,80,85,81,85,82,85,83,85,84,85,85,85,86,85,87,85,88,85,90,85,91,85,92,85,93,85,94,85,96,85,97,85,98,85,99,85,100,85,101,85,102,85,103,85,104,85,105,85,106,85,108,85,109,85,110,85,111,85,112,85,113,85,114,85,115,85,116,85,117,85,118,85,119,85,120,85,121,85,161,53,165,53,173,53,67,216,40,221,67,216,49,221,67,216,50,221,67,216,70,221,67,216,71,221,67,216,72,221,67,216,73,221,67,216,76,221,67,216,77,221,67,216,78,221,67,216,111,221,67,216,113,221,67,216,116,221,67,216,124,221,67,216,126,221,67,216,127,221,67,216,150,221,67,216,156,221,67,216,167,221,67,216,178,221,107,85,182,85,7,87,8,87,9,87,10,87,11,87,15,87,220,87,221,87,222,87,223,87,224,87,225,87,226,87,227,87,228,87,229,87,230,87,231,87,232,87,233,87,235,87,236,87,237,87,238,87,239,87,60,0,42,0,240,87,241,87,242,87,243,87,244,87,245,87,246,87,247,87,248,87,249,87,250,87,251,87,252,87,253,87,254,87,255,87,0,88,1,88,2,88,3,88,4,88,5,88,6,88,7,88,8,88,9,88,10,88,11,88,12,88,13,88,14,88,15,88,16,88,17,88,18,88,19,88,20,88,21,88,71,54,72,54,73,54,68,216,54,223,68,216,58,223,234,87,53,88,247,88,248,88,31,89,32,89,91,89,92,89,93,89,94,89,95,89,69,216,62,222,98,89,43,90,61,90,44,90,53,90,54,90,55,90,56,90,57,90,58,90,59,90,60,90,62,90,63,90,64,90,65,90,66,90,67,90,68,90,69,90,70,90,71,90,72,90,73,90,74,90,75,90,76,90,77,90,78,90,79,90,80,90,81,90,82,90,83,90,84,90,85,90,86,90,87,90,88,90,89,90,90,90,91,90,92,90,93,90,94,90,95,90,96,90,97,90,98,90,99,90,100,90,101,90,102,90,103,90,104,90,105,90,106,90,107,90,108,90,109,90,110,90,111,90,112,90,113,90,114,90,115,90,116,90,117,90,118,90,229,54,230,54,69,216,108,223,69,216,109,223,60,0,42,0,69,216,110,223,69,216,111,223,69,216,112,223,69,216,113,223,69,216,115,223,69,216,116,223,142,90,110,91,111,91,112,91,114,91,191,91,192,91,193,91,194,91,195,91,196,91,197,91,198,91,199,91,200,91,201,91,70,216,45,222,70,216,52,222,7,92,8,92,9,92,89,92,90,92,91,92,92,92,93,92,96,92,6,93,7,93,8,93,9,93,10,93,11,93,12,93,13,93,14,93,15,93,16,93,17,93,18,93,19,93,20,93,21,93,22,93,23,93,24,93,25,93,26,93,27,93,28,93,29,93,30,93,31,93,32,93,33,93,34,93,35,93,36,93,37,93,38,93,39,93,40,93,41,93,42,93,43,93,44,93,45,93,46,93,47,93,48,93,71,216,28,222,71,216,35,222,71,216,55,222,71,216,61,222,226,93,227,93,49,56,50,94,51,94,52,94,53,94,54,94,55,94,56,94,57,94,58,94,59,94,60,94,62,94,177,94,178,94,179,94,180,94,181,94,182,94,183,94,184,94,185,94,186,94,187,94,188,94,190,94,52,95,53,95,54,95,55,95,56,95,57,95,72,216,250,223,87,95,105,95,107,95,108,95,150,95,151,95,152,95,153,95,155,95,156,95,157,95,158,95,159,95,60,0,42,0,160,95,161,95,162,95,163,95,164,95,73,216,19,221,73,216,27,221,127,96,134,96,137,96,138,96,144,96,152,96,160,96,161,96,163,96,164,96,165,96,168,96,170,96,171,96,172,96,48,57,50,57,53,57,59,57,176,96,177,96,180,96,181,96,183,96,184,96,186,96,187,96,188,96,189,96,190,96,191,96,192,96,194,96,195,96,197,96,198,96,199,96,200,96,202,96,203,96,205,96,207,96,208,96,211,96,212,96,213,96,215,96,216,96,217,96,218,96,219,96,220,96,221,96,222,96,223,96,228,96,230,96,231,96,232,96,236,96,237,96,238,96,239,96,63,57,77,57,73,216,244,222,73,216,245,222,73,216,246,222,73,216,18,223,73,216,20,223,73,216,27,223,73,216,31,223,26,98,27,98,28,98,29,98,72,98,50,99,59,99,101,99,102,99,103,99,104,99,105,99,106,99,107,99,108,99,109,99,110,99,111,99,112,99,113,99,114,99,115,99,116,99,117,99,118,99,119,99,120,99,121,99,122,99,123,99,124,99,125,99,126,99,127,99,128,99,129,99,130,99,131,99,132,99,133,99,134,99,135,99,136,99,137,99,138,99,139,99,141,99,142,99,143,99,60,0,42,0,144,99,145,99,146,99,147,99,149,99,150,99,151,99,152,99,153,99,154,99,155,99,156,99,157,99,158,99,159,99,160,99,161,99,162,99,164,99,165,99,166,99,167,99,168,99,169,99,170,99,171,99,172,99,173,99,174,99,175,99,179,99,180,99,181,99,182,99,183,99,184,99,185,99,186,99,187,99,188,99,189,99,251,57,254,57,0,58,1,58,2,58,3,58,4,58,6,58,74,216,202,223,74,216,206,223,178,99,95,85,77,101,78,101,79,101,80,101,81,101,82,101,83,101,84,101,85,101,86,101,87,101,88,101,89,101,90,101,91,101,138,58,139,58,140,58,141,58,142,58,93,101,141,101,142,101,143,101,155,101,156,101,172,101,173,101,199,101,200,101,201,101,203,101,204,101,205,101,206,101,207,101,203,58,227,101,215,82,87,102,88,102,89,102,90,102,91,102,92,102,93,102,94,102,97,102,98,102,99,102,100,102,101,102,102,102,103,102,104,102,105,102,253,102,240,58,242,58,76,216,179,221,76,216,200,221,76,216,201,221,249,102,252,102,22,103,24,103,25,103,26,103,27,103,54,59,55,59,107,104,108,104,109,104,110,104,60,0,42,0,111,104,112,104,113,104,114,104,115,104,116,104,117,104,118,104,119,104,120,104,121,104,122,104,123,104,124,104,125,104,126,104,127,104,128,104,129,104,130,104,131,104,132,104,133,104,134,104,135,104,136,104,137,104,138,104,139,104,140,104,141,104,142,104,143,104,144,104,145,104,146,104,147,104,148,104,149,104,150,104,151,104,152,104,153,104,154,104,155,104,156,104,157,104,158,104,159,104,160,104,161,104,162,104,163,104,164,104,165,104,166,104,167,104,168,104,169,104,170,104,171,104,172,104,173,104,174,104,175,104,176,104,177,104,178,104,179,104,181,104,182,104,183,104,184,104,185,104,186,104,187,104,188,104,189,104,190,104,191,104,192,104,193,104,194,104,104,59,105,59,106,59,107,59,108,59,109,59,110,59,111,59,112,59,113,59,114,59,115,59,116,59,117,59,119,59,86,105,50,107,51,107,53,107,54,107,55,107,56,107,47,60,140,107,141,107,142,107,143,107,144,107,145,107,146,107,147,107,98,60,184,107,185,107,186,107,187,107,235,107,236,107,237,107,238,107,42,108,43,108,79,216,99,220,142,109,235,60,60,0,42,0,153,109,170,109,171,109,172,109,173,109,174,109,175,109,176,109,177,109,178,109,179,109,180,109,181,109,182,109,183,109,184,109,185,109,186,109,187,109,188,109,189,109,190,109,191,109,192,109,193,109,194,109,195,109,196,109,197,109,198,109,199,109,200,109,201,109,202,109,203,109,204,109,205,109,206,109,207,109,208,109,209,109,210,109,211,109,212,109,213,109,214,109,215,109,216,109,217,109,218,109,219,109,220,109,221,109,222,109,223,109,224,109,225,109,226,109,227,109,228,109,229,109,230,109,231,109,232,109,233,109,234,109,235,109,236,109,237,109,238,109,239,109,240,109,241,109,242,109,243,109,244,109,245,109,246,109,247,109,248,109,249,109,250,109,251,109,253,109,255,109,0,110,1,110,2,110,4,110,5,110,6,110,7,110,8,110,9,110,10,110,11,110,12,110,13,110,14,110,15,110,16,110,17,110,18,110,19,110,20,110,21,110,22,110,23,110,26,110,116,110,0,61,4,61,79,216,126,221,79,216,143,221,79,216,182,221,79,216,183,221,79,216,184,221,79,216,185,221,79,216,186,221,79,216,187,221,79,216,188,221,79,216,189,221,79,216,227,221,79,216,248,221,239,112,240,112,241,112,242,112,60,0,42,0,243,112,244,112,245,112,246,112,247,112,248,112,249,112,250,112,252,112,253,112,254,112,255,112,0,113,1,113,2,113,3,113,4,113,5,113,6,113,7,113,8,113,9,113,10,113,11,113,12,113,13,113,14,113,15,113,16,113,17,113,18,113,19,113,21,113,22,113,23,113,24,113,191,61,80,216,75,222,80,216,86,222,80,216,89,222,20,113,61,114,123,114,124,114,125,114,126,114,127,114,129,114,58,62,60,62,62,62,64,62,81,216,101,222,255,114,4,115,5,115,7,115,8,115,9,115,10,115,13,115,14,115,15,115,16,115,17,115,19,115,20,115,21,115,22,115,23,115,24,115,25,115,26,115,27,115,28,115,29,115,30,115,31,115,32,115,33,115,42,115,135,115,136,115,243,115,244,115,245,115,246,115,248,115,250,115,251,115,252,115,253,115,254,115,255,115,0,116,1,116,2,116,3,116,4,116,5,116,6,116,7,116,8,116,10,116,11,116,12,116,13,116,14,116,15,116,16,116,17,116,18,116,19,116,202,62,204,62,208,62,82,216,98,221,82,216,99,221,82,216,116,221,82,216,117,221,82,216,118,221,224,116,14,63,246,116,247,116,248,116,38,63,27,117,60,0,42,0,28,117,34,117,35,117,97,117,98,117,99,117,100,117,101,117,102,117,103,117,105,117,112,117,181,117,202,117,203,117,204,117,205,117,206,117,207,117,208,117,209,117,210,117,211,117,212,117,213,117,214,117,137,118,142,118,143,118,144,118,145,118,178,118,210,118,211,118,212,118,213,118,214,118,215,118,216,118,219,118,1,64,2,64,37,119,38,119,45,119,46,119,47,119,48,119,49,119,50,119,51,119,52,119,53,119,54,119,55,119,56,119,57,119,58,119,59,119,60,119,61,119,62,119,65,119,84,216,125,221,84,216,126,221,64,119,234,119,235,119,38,120,66,120,67,120,68,120,69,120,70,120,71,120,72,120,73,120,74,120,75,120,76,120,77,120,78,120,79,120,80,120,81,120,82,120,83,120,84,120,85,120,86,120,87,120,88,120,89,120,90,120,91,120,85,216,154,220,97,121,99,121,100,121,101,121,103,121,104,121,105,121,106,121,107,121,108,121,109,121,110,121,111,121,4,65,150,137,85,216,131,222,187,121,241,121,242,121,243,121,244,121,245,121,246,121,247,121,248,121,249,121,250,121,251,121,252,121,253,121,254,121,6,122,60,0,42,0,59,65,65,65,67,65,69,65,143,122,144,122,145,122,146,122,147,122,148,122,149,122,154,122,225,122,22,123,23,123,24,123,25,123,26,123,27,123,28,123,29,123,30,123,31,123,32,123,33,123,34,123,35,123,36,123,37,123,38,123,39,123,40,123,41,123,42,123,43,123,44,123,45,123,46,123,47,123,48,123,49,123,50,123,51,123,52,123,53,123,54,123,55,123,56,123,57,123,58,123,59,123,60,123,61,123,62,123,104,117,146,124,147,124,148,124,149,124,150,124,151,124,152,124,153,124,154,124,155,124,156,124,157,124,163,124,87,216,73,222,40,125,41,125,44,125,45,125,46,125,47,125,48,125,49,125,50,125,51,125,52,125,53,125,54,125,55,125,56,125,57,125,58,125,59,125,60,125,61,125,62,125,63,125,64,125,65,125,66,125,67,125,68,125,69,125,70,125,71,125,72,125,73,125,74,125,75,125,76,125,87,216,225,223,87,216,226,223,233,126,234,126,235,126,236,126,237,126,238,126,239,126,240,126,241,126,242,126,243,126,244,126,245,126,246,126,247,126,248,126,249,126,250,126,251,126,252,126,253,126,254,126,60,0,42,0,255,126,0,127,1,127,59,127,61,127,68,67,69,67,99,127,149,127,154,127,155,127,156,127,157,127,158,127,159,127,199,127,200,127,201,127,202,127,203,127,204,127,205,127,206,127,207,127,208,127,209,127,210,127,8,128,9,128,26,128,27,128,28,128,29,128,30,128,31,128,67,128,68,128,69,128,70,128,71,128,72,128,73,128,74,128,75,128,76,128,77,128,236,128,21,129,22,129,23,129,24,129,25,129,26,129,27,129,28,129,29,129,30,129,31,129,33,129,34,129,35,129,36,129,37,129,38,129,39,129,40,129,41,129,42,129,43,129,44,129,45,129,46,129,47,129,48,129,49,129,50,129,51,129,52,129,53,129,54,129,55,129,56,129,240,67,242,67,89,216,218,222,89,216,232,222,89,216,252,222,90,216,14,221,2,130,17,130,50,130,51,130,52,130,53,130,54,130,55,130,56,130,57,130,58,130,59,130,90,216,45,222,90,216,46,222,116,130,89,131,107,131,29,131,35,131,112,131,113,131,114,131,115,131,116,131,117,131,118,131,119,131,120,131,121,131,122,131,123,131,124,131,125,131,126,131,127,131,128,131,129,131,130,131,131,131,132,131,60,0,42,0,133,131,134,131,135,131,136,131,137,131,138,131,139,131,140,131,141,131,142,131,143,131,144,131,145,131,146,131,147,131,148,131,149,131,150,131,151,131,152,131,153,131,155,131,156,131,157,131,158,131,159,131,160,131,161,131,162,131,163,131,164,131,165,131,166,131,167,131,168,131,169,131,170,131,171,131,172,131,174,131,175,131,176,131,177,131,178,131,179,131,180,131,181,131,182,131,183,131,184,131,185,131,186,131,188,131,189,131,202,159,90,216,192,223,90,216,247,223,91,216,33,220,173,131,106,95,85,134,86,134,87,134,88,134,89,134,90,134,171,134,173,134,174,134,175,134,176,134,177,134,178,134,179,134,180,134,181,134,182,134,183,134,184,134,185,134,186,134,187,134,188,134,189,134,190,134,191,134,192,134,193,134,194,134,195,134,196,134,197,134,198,134,199,134,200,134,201,134,202,134,203,134,204,134,205,134,206,134,207,134,33,250,166,69,92,216,103,222,92,216,128,222,92,216,133,222,92,216,139,222,69,136,80,136,81,136,82,136,83,136,84,136,136,136,137,136,138,136,139,136,140,136,141,136,142,136,143,136,144,136,145,136,146,136,147,136,148,136,149,136,60,0,42,0,150,136,151,136,152,136,153,136,154,136,155,136,156,136,157,136,158,136,159,136,160,136,161,136,162,136,163,136,164,136,165,136,166,136,167,136,168,136,169,136,170,136,171,136,172,136,173,136,174,136,176,136,38,70,175,136,130,137,143,137,144,137,145,137,146,137,147,137,148,137,122,70,203,137,213,137,214,137,215,137,216,137,217,137,94,216,200,220,27,138,28,138,29,138,30,138,31,138,32,138,33,138,34,138,35,138,36,138,37,138,38,138,39,138,40,138,41,138,42,138,43,138,44,138,45,138,46,138,47,138,48,138,49,138,50,138,51,138,187,70,188,70,94,216,122,221,11,140,12,140,13,140,14,140,15,140,16,140,17,140,18,140,19,140,20,140,21,140,22,140,23,140,24,140,25,140,26,140,27,140,28,140,29,140,30,140,57,140,58,140,59,140,73,140,88,140,89,140,90,140,91,140,92,140,93,140,70,71,71,71,124,140,125,140,165,140,166,140,167,140,168,140,169,140,170,140,171,140,172,140,173,140,174,140,71,141,72,141,73,141,74,141,101,141,102,141,103,141,121,141,122,141,123,141,124,141,125,141,126,141,60,0,42,0,127,141,35,250,155,71,185,141,186,141,187,141,189,141,190,141,191,141,192,141,193,141,194,141,195,141,196,141,173,142,174,142,175,142,96,216,24,222,96,216,26,222,214,142,215,142,216,142,217,142,218,142,219,142,220,142,221,142,222,142,223,142,224,142,225,142,226,142,227,142,70,72,71,72,72,72,73,72,74,72,96,216,205,222,132,143,133,143,134,143,11,144,12,144,13,144,14,144,15,144,16,144,17,144,18,144,19,144,20,144,21,144,22,144,23,144,24,144,25,144,26,144,27,144,28,144,29,144,30,144,31,144,32,144,33,144,34,144,35,144,36,144,37,144,38,144,39,144,155,72,97,216,1,221,171,144,212,144,232,144,233,144,234,144,235,144,236,144,237,144,238,144,239,144,240,144,242,144,243,144,244,144,247,144,248,144,253,144,97,216,15,223,97,216,19,223,83,145,84,145,85,145,86,145,87,145,88,145,89,145,90,145,91,145,92,145,93,145,94,145,237,72,98,216,4,220,200,145,206,145,227,145,228,145,229,145,230,145,231,145,232,145,233,145,234,145,235,145,236,145,237,145,238,145,239,145,240,145,241,145,242,145,243,145,244,145,245,145,246,145,60,0,42,0,247,145,248,145,249,145,250,145,251,145,252,145,98,216,72,221,98,216,73,221,207,148,208,148,209,148,210,148,211,148,212,148,213,148,214,148,215,148,216,148,217,148,218,148,219,148,220,148,221,148,222,148,223,148,224,148,225,148,226,148,227,148,228,148,229,148,230,148,231,148,232,148,233,148,234,148,235,148,236,148,237,148,238,148,239,148,240,148,241,148,242,148,243,148,244,148,245,148,246,148,247,148,121,149,122,149,134,149,135,149,136,149,137,149,138,149,99,216,210,220,7,150,8,150,9,150,10,150,11,150,12,150,13,150,14,150,15,150,16,150,106,150,107,150,108,150,109,150,110,150,111,150,112,150,113,150,115,150,116,150,117,150,118,150,119,150,120,150,121,150,122,150,124,150,99,216,172,222,99,216,178,222,99,216,179,222,191,150,192,150,233,150,234,150,235,150,100,216,121,220,100,216,213,221,100,216,235,221,106,151,223,122,224,122,2,152,3,152,4,152,133,152,134,152,135,152,136,152,225,152,229,152,230,152,131,153,132,153,133,153,134,153,151,153,144,154,145,154,146,154,147,154,148,154,149,154,150,154,217,154,90,155,126,156,229,156,55,158,56,158,57,158,58,158,60,0,42,0,59,158,60,158,61,158,62,158,63,158,117,158,127,158,165,158,184,158,187,158,210,158,129,159,154,159,155,159,60,0,39,0,208,253,12,40,39,0,60,0,42,0,64,216,70,220,129,78,180,78,181,78,104,80,128,80,129,80,130,80,131,80,132,80,133,80,134,80,135,80,136,80,137,80,138,80,139,80,140,80,141,80,142,80,143,80,144,80,145,80,146,80,147,80,148,80,149,80,150,80,151,80,152,80,153,80,154,80,155,80,156,80,157,80,158,80,159,80,160,80,161,80,162,80,163,80,164,80,165,80,166,80,167,80,168,80,169,80,115,52,122,52,64,216,10,223,64,216,37,223,95,81,96,81,65,216,163,220,0,103,210,81,211,81,212,81,213,81,214,81,241,81,242,81,255,81,105,82,114,82,115,82,116,82,117,82,251,52,219,82,220,82,221,82,222,82,17,83,18,83,66,216,35,221,66,216,84,221,56,53,90,83,164,83,165,83,166,83,167,83,168,83,66,216,138,222,197,83,89,85,122,85,123,85,124,85,125,85,126,85,127,85,128,85,129,85,130,85,131,85,132,85,133,85,134,85,135,85,136,85,137,85,138,85,139,85,140,85,142,85,143,85,144,85,145,85,146,85,147,85,148,85,149,85,150,85,151,85,152,85,153,85,154,85,155,85,156,85,157,85,158,85,159,85,160,85,161,85,162,85,163,85,60,0,42,0,164,85,165,85,166,85,167,85,168,85,169,85,170,85,171,85,172,85,173,85,174,85,175,85,176,85,177,85,178,85,179,85,180,85,181,85,183,85,184,85,185,85,186,85,187,85,188,85,189,85,190,85,69,86,191,53,193,53,196,53,197,53,199,53,202,53,206,53,67,216,200,221,67,216,4,222,67,216,9,222,67,216,10,222,67,216,13,222,67,216,14,222,67,216,15,222,67,216,16,222,67,216,17,222,67,216,22,222,67,216,29,222,222,85,12,87,13,87,14,87,16,87,22,88,23,88,24,88,25,88,26,88,27,88,28,88,29,88,30,88,31,88,32,88,33,88,34,88,35,88,36,88,37,88,38,88,39,88,40,88,41,88,42,88,43,88,44,88,45,88,46,88,47,88,48,88,49,88,51,88,52,88,54,88,55,88,56,88,57,88,58,88,59,88,60,88,62,88,63,88,64,88,65,88,66,88,68,88,69,88,70,88,71,88,72,88,78,54,68,216,117,223,68,216,118,223,68,216,142,223,68,216,152,223,68,216,156,223,249,88,250,88,251,88,33,89,96,89,97,89,99,89,100,89,101,89,119,90,120,90,121,90,122,90,123,90,124,90,125,90,126,90,127,90,128,90,129,90,130,90,131,90,132,90,133,90,134,90,60,0,42,0,135,90,136,90,137,90,138,90,139,90,140,90,141,90,143,90,145,90,146,90,147,90,148,90,149,90,150,90,151,90,152,90,153,90,154,90,155,90,156,90,157,90,158,90,159,90,160,90,161,90,162,90,163,90,164,90,165,90,166,90,167,90,168,90,169,90,170,90,171,90,172,90,173,90,174,90,175,90,207,90,245,54,0,55,1,55,3,55,4,55,69,216,171,223,69,216,176,223,69,216,177,223,69,216,178,223,69,216,179,223,69,216,180,223,69,216,181,223,69,216,195,223,69,216,199,223,69,216,217,223,69,216,218,223,69,216,219,223,69,216,220,223,69,216,223,223,113,91,70,216,124,221,70,216,128,221,115,91,202,91,203,91,204,91,205,91,206,91,207,91,208,91,209,91,210,91,211,91,212,91,213,91,234,91,98,55,70,216,69,222,70,216,75,222,10,92,11,92,12,92,30,92,48,92,49,92,94,92,95,92,97,92,71,216,162,220,71,216,165,220,49,93,50,93,51,93,52,93,53,93,54,93,55,93,56,93,57,93,58,93,59,93,60,93,61,93,62,93,63,93,64,93,65,93,66,93,67,93,68,93,69,93,70,93,71,93,72,93,73,93,75,93,76,93,77,93,78,93,79,93,80,93,81,93,82,93,83,93,84,93,85,93,86,93,87,93,60,0,42,0,88,93,89,93,90,93,91,93,92,93,93,93,17,250,71,216,137,222,71,216,164,222,71,216,168,222,107,93,239,93,45,56,253,93,72,216,69,220,72,216,73,220,61,94,63,94,64,94,65,94,66,94,67,94,68,94,69,94,70,94,71,94,73,94,72,216,252,220,72,94,126,94,189,94,191,94,192,94,193,94,194,94,195,94,202,94,196,94,17,95,58,95,59,95,60,95,61,95,62,95,88,95,109,95,154,95,165,95,166,95,167,95,168,95,169,95,170,95,171,95,73,216,48,221,178,96,179,96,182,96,185,96,193,96,196,96,201,96,204,96,206,96,209,96,210,96,214,96,224,96,225,96,226,96,227,96,229,96,233,96,234,96,235,96,240,96,241,96,242,96,244,96,245,96,246,96,248,96,250,96,251,96,252,96,253,96,254,96,255,96,0,97,3,97,4,97,5,97,7,97,9,97,10,97,11,97,12,97,14,97,16,97,17,97,18,97,19,97,20,97,21,97,22,97,24,97,28,97,29,97,30,97,32,97,33,97,34,97,35,97,36,97,37,97,38,97,104,97,97,57,98,57,101,57,73,216,42,223,73,216,117,223,73,216,129,223,30,98,31,98,184,57,73,98,74,98,60,0,42,0,140,99,148,99,163,99,176,99,177,99,190,99,191,99,192,99,193,99,194,99,195,99,196,99,198,99,199,99,200,99,201,99,202,99,203,99,204,99,205,99,206,99,207,99,208,99,209,99,210,99,211,99,212,99,213,99,214,99,215,99,216,99,217,99,218,99,219,99,220,99,221,99,222,99,223,99,224,99,225,99,226,99,227,99,229,99,230,99,232,99,233,99,234,99,236,99,237,99,238,99,239,99,240,99,242,99,243,99,244,99,245,99,246,99,247,99,248,99,249,99,250,99,251,99,252,99,253,99,254,99,255,99,0,100,1,100,2,100,3,100,4,100,5,100,82,100,23,58,24,58,75,216,38,220,75,216,39,220,75,216,56,220,75,216,76,220,75,216,81,220,75,216,85,220,97,100,50,101,92,101,94,101,95,101,96,101,97,101,98,101,99,101,100,101,101,101,102,101,103,101,104,101,105,101,106,101,143,58,144,58,151,58,75,216,116,223,140,101,144,101,145,101,157,101,184,58,76,216,125,220,76,216,126,220,158,101,174,101,175,101,192,58,177,101,208,101,209,101,76,216,3,221,106,102,107,102,108,102,109,102,110,102,111,102,112,102,113,102,114,102,115,102,116,102,117,102,60,0,42,0,118,102,119,102,121,102,122,102,123,102,124,102,125,102,126,102,127,102,128,102,129,102,130,102,131,102,145,102,245,58,251,58,0,59,76,216,234,221,76,216,247,221,76,216,248,221,76,216,249,221,76,216,15,222,254,102,255,102,1,103,2,103,28,103,29,103,30,103,31,103,56,59,180,104,195,104,196,104,197,104,198,104,199,104,200,104,201,104,202,104,203,104,204,104,205,104,206,104,207,104,208,104,209,104,210,104,211,104,212,104,213,104,214,104,215,104,216,104,217,104,218,104,219,104,220,104,221,104,222,104,223,104,224,104,225,104,226,104,227,104,228,104,229,104,230,104,231,104,232,104,233,104,234,104,235,104,236,104,237,104,238,104,239,104,240,104,241,104,242,104,243,104,244,104,245,104,246,104,247,104,248,104,249,104,250,104,251,104,252,104,253,104,254,104,255,104,0,105,1,105,2,105,3,105,4,105,5,105,6,105,7,105,8,105,9,105,10,105,11,105,12,105,13,105,14,105,15,105,16,105,17,105,18,105,19,105,20,105,21,105,22,105,23,105,24,105,25,105,26,105,27,105,28,105,29,105,30,105,31,105,32,105,33,105,34,105,60,0,42,0,35,105,36,105,37,105,38,105,39,105,40,105,41,105,42,105,43,105,44,105,45,105,46,105,118,59,120,59,121,59,122,59,123,59,124,59,125,59,126,59,127,59,128,59,77,216,229,220,77,216,25,221,77,216,48,221,110,105,112,105,19,250,57,107,58,107,59,107,60,107,61,107,62,107,63,107,110,107,111,107,148,107,149,107,150,107,151,107,152,107,153,107,154,107,100,60,102,60,104,60,105,60,188,107,189,107,190,107,239,107,240,107,241,107,242,107,243,107,244,107,245,107,246,107,44,108,45,108,46,108,47,108,48,108,252,109,254,109,3,110,24,110,25,110,27,110,28,110,29,110,30,110,31,110,32,110,33,110,34,110,35,110,36,110,37,110,38,110,39,110,40,110,41,110,42,110,43,110,44,110,45,110,46,110,47,110,48,110,49,110,50,110,51,110,52,110,53,110,54,110,55,110,56,110,57,110,58,110,59,110,60,110,61,110,62,110,63,110,64,110,65,110,66,110,67,110,68,110,69,110,70,110,71,110,72,110,73,110,74,110,75,110,76,110,77,110,78,110,79,110,80,110,81,110,82,110,83,110,84,110,85,110,60,0,42,0,86,110,87,110,88,110,89,110,90,110,91,110,92,110,93,110,94,110,95,110,96,110,97,110,98,110,99,110,100,110,101,110,102,110,103,110,104,110,105,110,106,110,107,110,109,110,110,110,111,110,112,110,113,110,114,110,115,110,117,110,118,110,119,110,120,110,121,110,122,110,123,110,124,110,125,110,126,110,127,110,128,110,129,110,130,110,131,110,132,110,133,110,134,110,135,110,136,110,137,110,138,110,139,110,140,110,203,110,222,110,18,61,19,61,29,61,32,61,34,61,79,216,6,222,79,216,17,222,79,216,44,222,79,216,45,222,79,216,46,222,79,216,47,222,79,216,48,222,79,216,49,222,79,216,57,222,251,112,25,113,26,113,27,113,28,113,29,113,30,113,31,113,32,113,33,113,34,113,35,113,36,113,37,113,38,113,39,113,40,113,41,113,42,113,43,113,44,113,45,113,46,113,47,113,48,113,49,113,50,113,51,113,52,113,53,113,54,113,55,113,56,113,57,113,58,113,59,113,60,113,61,113,62,113,63,113,64,113,110,113,198,61,199,61,201,61,204,61,205,61,80,216,118,222,80,216,119,222,80,216,120,222,80,216,132,222,80,216,147,222,80,216,149,222,80,216,165,222,50,114,75,114,76,114,77,114,81,216,200,221,60,0,42,0,90,114,128,114,130,114,131,114,132,114,133,114,134,114,135,114,136,114,137,114,138,114,139,114,67,62,81,216,116,222,6,115,11,115,12,115,18,115,43,115,34,115,35,115,36,115,37,115,38,115,39,115,40,115,41,115,44,115,45,115,47,115,48,115,49,115,50,115,51,115,52,115,53,115,54,115,56,115,57,115,81,216,224,223,247,115,20,116,21,116,22,116,23,116,24,116,25,116,26,116,27,116,28,116,29,116,31,116,32,116,33,116,34,116,35,116,36,116,37,116,38,116,40,116,41,116,42,116,43,116,44,116,45,116,46,116,47,116,48,116,49,116,50,116,51,116,52,116,53,116,54,116,55,116,56,116,57,116,58,116,59,116,60,116,209,62,214,62,218,62,219,62,82,216,123,221,82,216,127,221,82,216,130,221,82,216,136,221,82,216,137,221,82,216,138,221,82,216,139,221,82,216,140,221,82,216,141,221,82,216,142,221,82,216,143,221,82,216,148,221,82,216,164,221,82,216,167,221,82,216,169,221,82,216,171,221,82,216,172,221,82,216,173,221,249,116,250,116,251,116,252,116,36,117,37,117,38,117,47,117,83,216,9,220,106,117,107,117,108,117,109,117,110,117,111,117,114,117,115,117,116,117,113,117,142,117,143,117,215,117,216,117,217,117,218,117,219,117,60,0,42,0,220,117,221,117,222,117,223,117,224,117,225,117,226,117,227,117,228,117,229,117,230,117,231,117,232,117,233,117,234,117,235,117,147,63,152,63,83,216,184,221,123,118,124,118,146,118,147,118,148,118,149,118,150,118,179,118,180,118,217,118,218,118,220,118,3,64,66,119,67,119,68,119,69,119,70,119,71,119,72,119,73,119,74,119,75,119,76,119,77,119,78,119,79,119,80,119,81,119,57,64,64,64,222,119,223,119,236,119,237,119,92,120,93,120,94,120,95,120,96,120,97,120,98,120,99,120,100,120,101,120,102,120,103,120,104,120,105,120,106,120,107,120,108,120,109,120,110,120,111,120,112,120,113,120,114,120,115,120,116,120,117,120,118,120,119,120,180,64,102,121,112,121,113,121,114,121,115,121,116,121,117,121,118,121,119,121,120,121,132,121,9,65,85,216,149,222,188,121,255,121,0,122,1,122,2,122,3,122,4,122,5,122,7,122,8,122,9,122,10,122,11,122,12,122,13,122,14,122,85,216,199,223,150,122,151,122,152,122,153,122,155,122,156,122,157,122,226,122,227,122,228,122,229,122,230,122,231,122,63,123,64,123,60,0,42,0,65,123,66,123,67,123,68,123,69,123,70,123,71,123,72,123,73,123,74,123,75,123,76,123,77,123,78,123,79,123,80,123,81,123,82,123,83,123,84,123,85,123,86,123,87,123,88,123,89,123,90,123,91,123,92,123,93,123,237,65,238,65,239,65,108,123,158,124,159,124,160,124,161,124,162,124,164,124,165,124,166,124,167,124,168,124,169,124,170,124,171,124,172,124,173,124,131,66,42,125,43,125,77,125,78,125,79,125,80,125,81,125,82,125,83,125,84,125,85,125,86,125,87,125,88,125,89,125,90,125,92,125,93,125,94,125,95,125,96,125,97,125,98,125,99,125,100,125,101,125,102,125,103,125,104,125,105,125,106,125,107,125,108,125,109,125,110,125,111,125,112,125,113,125,114,125,115,125,116,125,117,125,118,125,119,125,126,125,59,67,2,127,3,127,4,127,5,127,6,127,7,127,8,127,9,127,10,127,11,127,12,127,13,127,14,127,15,127,16,127,17,127,18,127,19,127,20,127,21,127,22,127,23,127,24,127,62,127,63,127,64,127,100,127,101,127,102,127,160,127,161,127,162,127,110,67,60,0,42,0,111,67,211,127,212,127,213,127,214,127,215,127,216,127,217,127,218,127,11,128,32,128,78,128,79,128,80,128,81,128,82,128,83,128,84,128,96,128,89,216,114,221,212,128,254,128,20,129,32,129,57,129,58,129,59,129,60,129,61,129,62,129,63,129,64,129,65,129,66,129,67,129,68,129,69,129,70,129,71,129,72,129,73,129,74,129,75,129,76,129,77,129,78,129,79,129,81,129,82,129,83,129,84,129,85,129,86,129,87,129,88,129,89,129,90,129,57,59,0,68,1,68,2,68,89,216,22,223,89,216,65,223,116,129,230,129,238,129,239,129,240,129,90,216,17,221,245,129,246,129,247,129,248,129,249,129,3,130,4,130,18,130,28,130,60,130,61,130,62,130,63,130,90,216,52,222,117,130,18,131,59,131,70,131,176,68,183,68,189,68,192,68,154,131,190,131,191,131,192,131,193,131,194,131,195,131,196,131,197,131,198,131,199,131,200,131,201,131,202,131,203,131,204,131,205,131,206,131,207,131,208,131,209,131,210,131,211,131,212,131,213,131,214,131,215,131,216,131,218,131,219,131,220,131,221,131,222,131,223,131,224,131,225,131,226,131,60,0,42,0,227,131,228,131,229,131,230,131,231,131,232,131,233,131,234,131,235,131,236,131,237,131,238,131,239,131,240,131,241,131,242,131,243,131,244,131,245,131,246,131,247,131,248,131,249,131,250,131,251,131,252,131,253,131,254,131,255,131,0,132,1,132,2,132,3,132,4,132,5,132,6,132,7,132,8,132,9,132,10,132,11,132,12,132,13,132,14,132,15,132,16,132,17,132,18,132,19,132,20,132,21,132,22,132,23,132,24,132,25,132,26,132,27,132,28,132,29,132,30,132,31,132,32,132,33,132,34,132,35,132,36,132,38,132,39,132,87,132,91,216,64,220,91,216,65,220,91,216,70,220,91,216,126,220,91,216,127,220,91,216,128,220,91,216,129,220,91,216,130,220,91,216,164,220,91,216,183,220,91,216,184,220,91,216,189,220,91,216,192,220,56,132,91,134,93,134,136,134,208,134,209,134,210,134,211,134,212,134,213,134,215,134,216,134,217,134,218,134,219,134,220,134,221,134,222,134,223,134,224,134,225,134,226,134,227,134,228,134,229,134,230,134,231,134,232,134,233,134,234,134,235,134,236,134,237,134,238,134,239,134,240,134,241,134,242,134,243,134,244,134,173,69,175,69,179,69,92,216,178,222,92,216,182,222,70,136,60,0,42,0,71,136,72,136,73,136,85,136,86,136,87,136,177,136,178,136,179,136,180,136,181,136,182,136,183,136,184,136,185,136,186,136,187,136,188,136,189,136,190,136,191,136,192,136,193,136,194,136,195,136,196,136,197,136,198,136,199,136,200,136,201,136,215,136,93,216,148,222,1,137,131,137,132,137,153,137,149,137,151,137,152,137,154,137,204,137,205,137,218,137,219,137,221,137,222,137,52,138,53,138,54,138,55,138,56,138,57,138,58,138,59,138,60,138,61,138,64,138,65,138,66,138,67,138,68,138,69,138,70,138,71,138,72,138,73,138,74,138,75,138,76,138,77,138,78,138,79,138,80,138,81,138,82,138,83,138,84,138,85,138,86,138,87,138,88,138,89,138,90,138,91,138,92,138,93,138,94,138,95,138,96,138,207,70,208,70,94,216,160,221,31,140,32,140,33,140,34,140,35,140,36,140,37,140,38,140,39,140,94,140,95,140,96,140,97,140,72,71,126,140,127,140,128,140,129,140,130,140,131,140,95,216,177,220,175,140,176,140,177,140,179,140,180,140,181,140,182,140,183,140,184,140,185,140,186,140,187,140,188,140,189,140,60,0,42,0,190,140,191,140,192,140,193,140,95,216,83,221,95,216,84,221,75,141,76,141,77,141,78,141,79,141,80,141,81,141,82,141,83,141,84,141,85,141,128,141,129,141,130,141,131,141,132,141,133,141,134,141,135,141,136,141,137,141,138,141,139,141,161,71,163,71,197,141,198,141,199,141,200,141,201,141,202,141,203,141,204,141,205,141,206,141,207,141,209,141,210,141,211,141,212,141,213,141,214,141,215,141,216,141,217,141,218,141,219,141,220,141,221,141,222,141,245,141,237,71,95,216,249,223,96,216,2,220,96,216,9,220,176,142,228,142,229,142,230,142,231,142,232,142,233,142,234,142,235,142,236,142,238,142,239,142,240,142,241,142,242,142,243,142,244,142,245,142,246,142,247,142,248,142,249,142,250,142,251,142,252,142,253,142,171,159,82,72,96,216,226,222,135,143,136,143,137,143,138,143,139,143,140,143,141,143,142,143,156,143,157,143,97,216,18,220,40,144,41,144,42,144,43,144,44,144,45,144,46,144,47,144,48,144,49,144,50,144,51,144,52,144,53,144,54,144,55,144,56,144,57,144,58,144,59,144,97,216,60,221,97,216,61,221,245,144,249,144,251,144,252,144,254,144,60,0,42,0,255,144,0,145,1,145,2,145,3,145,4,145,5,145,6,145,7,145,8,145,9,145,10,145,208,72,44,145,95,145,96,145,97,145,98,145,99,145,100,145,101,145,243,72,201,145,202,145,207,145,253,145,254,145,255,145,0,146,1,146,2,146,3,146,4,146,5,146,6,146,7,146,8,146,9,146,10,146,11,146,12,146,13,146,14,146,15,146,16,146,17,146,18,146,19,146,20,146,21,146,22,146,23,146,24,146,25,146,26,146,27,146,28,146,29,146,30,146,31,146,32,146,33,146,34,146,35,146,36,146,37,146,38,146,39,146,40,146,41,146,42,146,43,146,44,146,30,73,32,73,98,216,86,221,98,216,100,221,248,148,249,148,250,148,251,148,252,148,253,148,254,148,255,148,0,149,1,149,2,149,3,149,4,149,5,149,6,149,7,149,8,149,9,149,10,149,11,149,12,149,13,149,14,149,15,149,16,149,17,149,18,149,19,149,20,149,21,149,123,149,139,149,140,149,141,149,142,149,143,149,144,149,145,149,146,149,147,149,148,149,149,149,150,149,151,149,17,150,18,150,19,150,20,150,21,150,114,150,123,150,60,0,42,0,125,150,126,150,127,150,128,150,129,150,130,150,131,150,132,150,133,150,134,150,135,150,136,150,137,150,138,150,139,150,140,150,141,150,142,150,144,150,99,216,217,222,99,216,231,222,193,150,194,150,195,150,196,150,197,150,198,150,199,150,200,150,236,150,237,150,238,150,239,150,240,150,241,150,242,150,243,150,100,216,136,220,100,216,139,220,83,151,84,151,95,151,107,151,108,151,109,151,110,151,111,151,112,151,113,151,204,151,233,151,5,152,6,152,7,152,8,152,137,152,138,152,139,152,140,152,141,152,142,152,143,152,169,152,170,152,101,216,158,221,211,152,231,152,232,152,233,152,234,152,235,152,237,152,239,152,240,152,242,152,135,153,136,153,138,153,139,153,173,153,174,153,151,154,152,154,153,154,154,154,155,154,169,154,224,154,50,76,127,156,128,156,129,156,130,156,131,156,230,156,64,158,65,158,66,158,67,158,68,158,69,158,70,158,71,158,72,158,195,158,196,158,205,158,209,158,249,158,11,159,130,159,60,0,39,0,208,253,13,40,39,0,60,0,42,0,130,78,131,78,132,78,182,78,183,78,170,80,171,80,172,80,173,80,174,80,175,80,176,80,177,80,178,80,179,80,180,80,181,80,182,80,183,80,184,80,185,80,186,80,187,80,188,80,189,80,190,80,191,80,192,80,193,80,194,80,195,80,196,80,197,80,198,80,199,80,200,80,201,80,202,80,203,80,204,80,205,80,125,52,126,52,64,216,65,223,64,216,69,223,64,216,70,223,64,216,71,223,64,216,181,223,97,81,126,81,127,81,215,81,119,82,120,82,121,82,122,82,123,82,124,82,125,82,126,82,127,82,223,82,224,82,225,82,226,82,227,82,228,82,229,82,230,82,231,82,47,83,50,53,51,53,52,53,128,83,129,83,170,83,171,83,175,83,224,83,141,85,191,85,192,85,193,85,194,85,195,85,196,85,197,85,198,85,199,85,200,85,201,85,202,85,203,85,204,85,205,85,206,85,207,85,208,85,209,85,210,85,211,85,212,85,213,85,214,85,215,85,216,85,217,85,218,85,219,85,220,85,221,85,223,85,224,85,225,85,226,85,227,85,228,85,229,85,230,85,231,85,232,85,233,85,234,85,235,85,236,85,237,85,238,85,60,0,42,0,239,85,240,85,241,85,242,85,243,85,244,85,245,85,210,53,214,53,219,53,221,53,224,53,67,216,76,222,67,216,109,222,67,216,115,222,67,216,117,222,67,216,118,222,67,216,119,222,67,216,120,222,67,216,121,222,67,216,122,222,67,216,123,222,67,216,140,222,67,216,150,222,67,216,152,222,67,216,157,222,67,216,162,222,67,216,170,222,67,216,171,222,67,216,172,222,67,216,182,222,17,87,18,87,19,87,20,87,21,87,61,88,67,88,73,88,74,88,75,88,76,88,77,88,78,88,79,88,80,88,81,88,82,88,83,88,84,88,85,88,86,88,87,88,88,88,89,88,90,88,91,88,92,88,93,88,94,88,95,88,96,88,97,88,98,88,99,88,100,88,101,88,102,88,103,88,104,88,105,88,106,88,107,88,108,88,109,88,110,88,111,88,112,88,113,88,95,54,68,216,197,223,68,216,198,223,252,88,102,89,103,89,104,89,69,216,97,222,144,90,176,90,177,90,178,90,179,90,180,90,181,90,182,90,183,90,184,90,185,90,186,90,187,90,188,90,189,90,190,90,191,90,192,90,193,90,194,90,195,90,196,90,197,90,198,90,199,90,200,90,201,90,202,90,203,90,204,90,205,90,206,90,208,90,209,90,210,90,211,90,212,90,8,55,10,55,13,55,69,216,239,223,60,0,42,0,69,216,245,223,69,216,246,223,69,216,248,223,69,216,249,223,69,216,250,223,69,216,251,223,69,216,252,223,116,91,70,216,131,221,70,216,136,221,118,91,214,91,215,91,216,91,217,91,218,91,219,91,220,91,221,91,102,55,70,216,99,222,31,92,32,92,50,92,51,92,52,92,71,216,172,220,74,93,94,93,95,93,96,93,97,93,98,93,99,93,100,93,101,93,102,93,103,93,104,93,105,93,106,93,108,93,109,93,110,93,111,93,112,93,113,93,114,93,115,93,116,93,117,93,118,93,242,55,248,55,71,216,200,222,71,216,213,222,240,93,74,94,75,94,76,94,77,94,78,94,79,94,121,94,197,94,198,94,199,94,200,94,201,94,203,94,204,94,72,216,124,222,18,95,63,95,64,95,65,95,66,95,89,95,90,95,73,216,101,220,110,95,172,95,173,95,174,95,175,95,176,95,243,96,247,96,249,96,1,97,2,97,6,97,8,97,13,97,15,97,23,97,25,97,26,97,27,97,31,97,99,57,100,57,102,57,39,97,41,97,42,97,43,97,45,97,46,97,47,97,48,97,49,97,50,97,52,97,53,97,54,97,55,97,57,97,58,97,60,97,61,97,62,97,64,97,67,97,68,97,69,97,70,97,73,97,60,0,42,0,74,97,76,97,77,97,78,97,79,97,81,97,73,216,150,223,73,216,180,223,73,216,181,223,73,216,205,223,38,98,32,98,33,98,34,98,35,98,36,98,37,98,231,99,235,99,241,99,6,100,7,100,8,100,9,100,10,100,11,100,12,100,13,100,14,100,15,100,16,100,17,100,18,100,19,100,20,100,21,100,22,100,23,100,24,100,25,100,26,100,27,100,28,100,29,100,30,100,31,100,32,100,33,100,34,100,35,100,36,100,37,100,38,100,39,100,40,100,41,100,42,100,44,100,45,100,46,100,47,100,48,100,50,100,51,100,53,100,54,100,55,100,56,100,57,100,58,100,60,100,61,100,62,100,64,100,65,100,66,100,67,100,68,100,69,100,70,100,71,100,72,100,73,100,74,100,32,58,35,58,38,58,41,58,42,58,75,216,98,220,75,216,136,220,75,216,155,220,75,216,161,220,75,216,169,220,75,216,178,220,197,99,49,100,109,101,107,101,108,101,110,101,111,101,112,101,146,101,101,216,176,221,159,101,176,101,210,101,211,101,212,101,213,101,228,101,120,102,132,102,133,102,134,102,135,102,136,102,137,102,138,102,139,102,140,102,141,102,142,102,143,102,144,102,146,102,147,102,60,0,42,0,148,102,149,102,150,102,151,102,152,102,153,102,1,59,2,59,3,59,4,59,5,59,6,59,7,59,8,59,9,59,10,59,11,59,12,59,76,216,37,222,76,216,47,222,76,216,49,222,76,216,50,222,76,216,51,222,76,216,52,222,3,103,32,103,58,59,47,105,48,105,49,105,50,105,51,105,52,105,53,105,54,105,55,105,56,105,57,105,58,105,59,105,60,105,61,105,62,105,63,105,64,105,65,105,66,105,67,105,68,105,69,105,70,105,71,105,72,105,73,105,74,105,75,105,76,105,77,105,78,105,79,105,80,105,81,105,82,105,83,105,84,105,85,105,87,105,88,105,89,105,90,105,91,105,92,105,93,105,94,105,95,105,96,105,97,105,98,105,99,105,100,105,101,105,102,105,103,105,104,105,105,105,106,105,107,105,108,105,109,105,111,105,113,105,114,105,115,105,116,105,117,105,118,105,119,105,120,105,121,105,122,105,123,105,124,105,125,105,126,105,127,105,128,105,129,105,130,105,131,105,132,105,133,105,134,105,135,105,136,105,137,105,139,105,140,105,148,105,152,105,149,59,150,59,153,59,77,216,81,221,77,216,90,221,77,216,103,221,77,216,149,221,77,216,153,221,77,216,156,221,60,0,42,0,64,107,65,107,66,107,67,107,68,107,69,107,70,107,71,107,72,107,60,60,62,60,113,107,114,107,115,107,155,107,156,107,110,60,191,107,192,107,193,107,194,107,78,216,167,222,211,107,247,107,248,107,249,107,250,107,251,107,252,107,253,107,49,108,108,110,141,110,142,110,143,110,144,110,145,110,146,110,147,110,148,110,149,110,150,110,151,110,152,110,153,110,154,110,155,110,156,110,157,110,158,110,159,110,160,110,161,110,162,110,163,110,164,110,165,110,166,110,167,110,168,110,169,110,170,110,171,110,172,110,173,110,174,110,175,110,176,110,177,110,178,110,179,110,180,110,181,110,182,110,183,110,184,110,185,110,186,110,187,110,188,110,189,110,190,110,191,110,192,110,193,110,194,110,195,110,196,110,197,110,198,110,199,110,200,110,201,110,202,110,205,110,207,110,208,110,209,110,210,110,211,110,212,110,214,110,215,110,216,110,217,110,219,110,220,110,221,110,223,110,224,110,225,110,226,110,227,110,228,110,229,110,230,110,231,110,232,110,233,110,234,110,19,111,38,61,50,61,51,61,59,61,79,216,136,222,79,216,137,222,79,216,138,222,60,0,42,0,79,216,139,222,79,216,185,222,79,216,191,222,218,110,65,113,66,113,67,113,68,113,69,113,70,113,71,113,72,113,73,113,74,113,75,113,76,113,77,113,78,113,79,113,80,113,81,113,82,113,83,113,84,113,86,113,87,113,88,113,89,113,90,113,92,113,93,113,94,113,95,113,96,113,97,113,98,113,99,113,100,113,101,113,102,113,103,113,104,113,105,113,106,113,107,113,108,113,109,113,111,113,112,113,113,113,114,113,115,113,116,113,117,113,118,113,119,113,120,113,122,113,161,59,211,61,219,61,80,216,191,222,80,216,193,222,80,216,201,222,80,216,202,222,80,216,238,222,80,216,250,222,81,216,33,221,58,114,67,114,78,114,79,114,80,114,81,114,82,114,140,114,141,114,142,114,143,114,144,114,145,114,72,62,81,216,151,222,46,115,55,115,65,115,58,115,59,115,60,115,61,115,62,115,63,115,64,115,66,115,69,115,70,115,71,115,72,115,73,115,74,115,82,216,18,220,82,216,35,220,39,116,215,62,30,116,61,116,62,116,63,116,64,116,65,116,66,116,67,116,68,116,69,116,70,116,71,116,72,116,73,116,74,116,75,116,76,116,77,116,78,116,79,116,80,116,81,116,82,116,83,116,60,0,42,0,84,116,85,116,86,116,87,116,88,116,89,116,90,116,91,116,92,116,93,116,94,116,95,116,222,62,225,62,226,62,82,216,183,221,82,216,184,221,82,216,185,221,82,216,186,221,82,216,187,221,82,216,197,221,82,216,208,221,82,216,218,221,82,216,222,221,82,216,223,221,82,216,227,221,82,216,229,221,111,116,225,116,253,116,254,116,255,116,1,117,29,117,30,117,117,117,118,117,119,117,120,117,121,117,122,117,99,63,83,216,158,220,83,216,159,220,236,117,237,117,238,117,239,117,240,117,241,117,242,117,243,117,244,117,245,117,246,117,247,117,248,117,249,117,250,117,251,117,252,117,253,117,254,117,255,117,0,118,1,118,2,118,3,118,4,118,5,118,6,118,83,216,234,221,83,216,235,221,15,118,16,118,151,118,152,118,153,118,83,216,130,223,83,216,134,223,181,118,221,118,222,118,223,118,4,64,82,119,83,119,84,119,85,119,86,119,87,119,88,119,89,119,90,119,91,119,92,119,93,119,94,119,95,119,96,119,98,119,99,119,100,119,101,119,102,119,103,119,104,119,105,119,106,119,107,119,108,119,109,119,69,64,84,216,205,221,84,216,227,221,84,216,230,221,84,216,231,221,97,119,121,119,224,119,238,119,120,120,121,120,122,120,123,120,124,120,125,120,127,120,60,0,42,0,128,120,129,120,130,120,131,120,132,120,133,120,134,120,135,120,136,120,137,120,138,120,139,120,140,120,141,120,142,120,143,120,144,120,145,120,146,120,147,120,148,120,149,120,150,120,151,120,152,120,153,120,154,120,155,120,156,120,176,120,187,64,191,64,121,121,122,121,123,121,124,121,125,121,126,121,127,121,128,121,129,121,130,121,131,121,133,121,134,121,14,65,189,121,44,132,15,122,16,122,17,122,18,122,19,122,20,122,21,122,22,122,23,122,24,122,25,122,26,122,27,122,28,122,29,122,30,122,31,122,32,122,33,122,34,122,35,122,36,122,37,122,85,216,223,223,85,216,224,223,85,216,225,223,158,122,159,122,160,122,161,122,162,122,163,122,164,122,165,122,166,122,167,122,86,216,172,221,232,122,233,122,234,122,235,122,207,65,86,216,149,222,94,123,95,123,96,123,97,123,98,123,99,123,100,123,101,123,102,123,103,123,104,123,105,123,106,123,107,123,109,123,110,123,111,123,112,123,113,123,114,123,115,123,116,123,118,123,119,123,120,123,121,123,122,123,123,123,124,123,125,123,126,123,127,123,128,123,192,123,248,65,249,65,251,65,60,0,42,0,252,65,253,65,254,65,255,65,0,66,86,216,116,223,86,216,137,223,174,124,175,124,176,124,177,124,178,124,179,124,180,124,181,124,192,124,140,66,87,216,129,222,87,216,130,222,87,216,131,222,91,125,120,125,121,125,122,125,123,125,124,125,125,125,127,125,128,125,129,125,130,125,131,125,132,125,133,125,134,125,135,125,136,125,137,125,138,125,139,125,140,125,141,125,142,125,143,125,144,125,145,125,146,125,147,125,148,125,149,125,151,125,152,125,153,125,154,125,155,125,88,216,33,220,88,216,41,220,25,127,26,127,27,127,28,127,29,127,30,127,31,127,32,127,33,127,34,127,35,127,36,127,103,127,104,127,105,127,106,127,107,127,108,127,109,127,110,127,114,127,88,216,208,222,163,127,164,127,165,127,166,127,167,127,168,127,169,127,170,127,219,127,220,127,221,127,33,128,34,128,85,128,86,128,87,128,88,128,132,128,133,128,134,128,80,94,33,103,91,129,92,129,93,129,94,129,95,129,96,129,97,129,98,129,99,129,100,129,101,129,102,129,103,129,104,129,105,129,106,129,107,129,108,129,109,129,110,129,111,129,112,129,113,129,114,129,115,129,117,129,118,129,60,0,42,0,119,129,120,129,121,129,122,129,123,129,124,129,125,129,126,129,19,68,5,130,29,130,64,130,65,130,66,130,67,130,68,130,69,130,70,130,71,130,72,130,73,130,90,216,66,222,187,131,195,68,197,68,206,68,217,131,37,132,40,132,41,132,42,132,43,132,45,132,46,132,47,132,48,132,49,132,50,132,51,132,52,132,53,132,54,132,55,132,57,132,58,132,59,132,60,132,61,132,62,132,63,132,64,132,65,132,66,132,67,132,68,132,69,132,70,132,71,132,72,132,73,132,74,132,75,132,76,132,77,132,78,132,79,132,80,132,81,132,82,132,83,132,84,132,85,132,86,132,88,132,89,132,90,132,91,132,92,132,93,132,94,132,95,132,96,132,97,132,98,132,99,132,100,132,101,132,102,132,103,132,104,132,105,132,106,132,107,132,108,132,109,132,110,132,111,132,112,132,113,132,114,132,115,132,116,132,117,132,118,132,119,132,120,132,121,132,122,132,123,132,124,132,125,132,126,132,127,132,128,132,129,132,130,132,131,132,132,132,133,132,134,132,135,132,136,132,137,132,139,132,140,132,141,132,142,132,143,132,60,0,42,0,91,216,195,220,91,216,209,220,91,216,34,221,91,216,35,221,91,216,36,221,91,216,37,221,91,216,38,221,91,216,39,221,91,216,40,221,91,216,41,221,91,216,42,221,91,216,81,221,197,132,200,132,241,132,7,133,92,134,94,134,95,134,214,134,245,134,246,134,247,134,248,134,249,134,250,134,251,134,252,134,253,134,254,134,255,134,0,135,1,135,2,135,3,135,4,135,5,135,6,135,7,135,8,135,9,135,10,135,11,135,12,135,13,135,14,135,15,135,16,135,19,135,20,135,21,135,22,135,23,135,70,135,92,216,230,222,77,135,88,136,89,136,202,136,203,136,204,136,205,136,206,136,207,136,208,136,209,136,210,136,211,136,212,136,213,136,214,136,216,136,217,136,218,136,219,136,220,136,221,136,222,136,223,136,224,136,225,136,227,136,228,136,229,136,133,137,155,137,156,137,128,70,206,137,220,137,223,137,224,137,225,137,226,137,227,137,228,137,229,137,230,137,231,137,62,138,63,138,97,138,98,138,99,138,100,138,101,138,102,138,103,138,104,138,105,138,106,138,107,138,108,138,109,138,110,138,111,138,112,138,113,138,114,138,115,138,116,138,117,138,118,138,119,138,120,138,121,138,122,138,123,138,60,0,42,0,124,138,125,138,126,138,127,138,128,138,129,138,130,138,131,138,132,138,133,138,134,138,135,138,136,138,137,138,138,138,160,138,94,216,221,221,40,140,41,140,42,140,43,140,44,140,60,140,74,140,75,140,54,71,98,140,99,140,100,140,101,140,102,140,132,140,133,140,134,140,135,140,136,140,137,140,138,140,95,216,197,220,178,140,194,140,195,140,196,140,197,140,198,140,199,140,200,140,201,140,202,140,203,140,204,140,205,140,206,140,95,216,102,221,95,216,115,221,95,216,132,221,86,141,87,141,104,141,105,141,106,141,140,141,141,141,142,141,143,141,144,141,145,141,146,141,147,141,148,141,166,71,208,141,188,141,223,141,224,141,225,141,226,141,227,141,228,141,229,141,230,141,231,141,232,141,233,141,234,141,235,141,236,141,237,141,238,141,239,141,240,141,241,141,242,141,243,141,244,141,246,141,247,141,248,141,249,141,250,141,251,141,96,216,30,220,96,216,35,220,96,216,36,220,177,142,178,142,55,72,237,142,254,142,255,142,0,143,1,143,2,143,3,143,4,143,5,143,6,143,7,143,8,143,9,143,10,143,11,143,12,143,143,143,144,143,145,143,146,143,147,143,60,0,42,0,148,143,158,143,159,143,160,143,178,143,60,144,61,144,62,144,63,144,64,144,65,144,66,144,67,144,68,144,69,144,70,144,71,144,72,144,73,144,74,144,75,144,76,144,77,144,78,144,79,144,80,144,81,144,82,144,83,144,84,144,85,144,86,144,87,144,97,216,108,221,204,144,11,145,12,145,13,145,14,145,15,145,16,145,17,145,18,145,19,145,20,145,21,145,22,145,23,145,102,145,103,145,104,145,105,145,106,145,107,145,108,145,109,145,110,145,111,145,112,145,113,145,98,216,43,220,46,146,47,146,48,146,49,146,50,146,51,146,52,146,53,146,54,146,55,146,56,146,57,146,58,146,59,146,60,146,61,146,62,146,63,146,64,146,65,146,66,146,67,146,68,146,69,146,70,146,71,146,72,146,73,146,74,146,75,146,76,146,77,146,78,146,79,146,80,146,81,146,82,146,83,146,84,146,85,146,86,146,87,146,88,146,89,146,90,146,91,146,92,146,93,146,94,146,95,146,96,146,97,146,98,146,99,146,100,146,101,146,102,146,103,146,104,146,105,146,106,146,107,146,108,146,109,146,110,146,111,146,112,146,60,0,42,0,113,146,114,146,115,146,116,146,143,146,175,159,98,216,104,221,98,216,108,221,98,216,109,221,98,216,126,221,22,149,23,149,24,149,25,149,26,149,27,149,28,149,29,149,30,149,31,149,32,149,33,149,34,149,35,149,36,149,37,149,38,149,39,149,40,149,41,149,42,149,43,149,44,149,45,149,46,149,47,149,48,149,49,149,137,73,152,149,153,149,154,149,155,149,156,149,157,149,158,149,159,149,160,149,22,150,23,150,24,150,25,150,143,150,145,150,146,150,147,150,148,150,149,150,150,150,151,150,152,150,41,250,223,73,201,150,202,150,203,150,205,150,206,150,207,150,244,150,245,150,246,150,247,150,248,150,249,150,250,150,251,150,252,150,253,150,254,150,100,216,147,220,85,151,86,151,114,151,115,151,116,151,117,151,118,151,119,151,120,151,121,151,234,151,235,151,238,151,244,151,245,151,9,152,10,152,11,152,12,152,13,152,14,152,15,152,16,152,17,152,18,152,19,152,180,74,144,152,145,152,146,152,147,152,148,152,149,152,150,152,171,152,172,152,212,152,236,152,238,152,241,152,38,75,243,152,244,152,245,152,246,152,247,152,249,152,60,0,42,0,251,152,252,152,253,152,254,152,255,152,137,153,140,153,141,153,142,153,143,153,144,153,154,153,175,153,176,153,177,153,178,153,179,153,180,153,181,153,156,154,157,154,158,154,159,154,170,154,171,154,172,154,173,154,174,154,102,216,40,222,225,154,226,154,61,155,91,155,92,155,93,155,94,155,132,156,133,156,134,156,135,156,136,156,137,156,138,156,139,156,140,156,141,156,142,156,143,156,144,156,231,156,232,156,233,156,234,156,235,156,237,156,238,156,239,156,240,156,73,158,74,158,75,158,76,158,77,158,78,158,79,158,80,158,81,158,82,158,83,158,84,158,128,158,129,158,130,158,104,216,255,222,253,158,12,159,14,159,19,159,20,159,32,159,131,159,132,159,133,159,134,159,60,0,39,0,208,253,14,40,39,0,60,0,42,0,64,216,78,220,72,216,161,221,206,80,207,80,208,80,209,80,210,80,211,80,212,80,213,80,214,80,215,80,216,80,217,80,218,80,219,80,220,80,221,80,222,80,223,80,224,80,225,80,226,80,227,80,228,80,229,80,230,80,231,80,232,80,233,80,234,80,235,80,236,80,237,80,238,80,239,80,240,80,241,80,243,80,244,80,247,80,64,216,126,223,64,216,127,223,64,216,128,223,64,216,160,223,64,216,167,223,242,80,98,81,169,81,216,81,243,81,244,81,128,82,129,82,130,82,131,82,132,82,0,53,4,53,6,53,232,82,233,82,234,82,235,82,236,82,237,82,34,53,48,83,49,83,50,83,53,53,172,83,173,83,174,83,176,83,81,53,198,83,66,216,13,223,14,250,97,53,246,85,247,85,248,85,249,85,250,85,251,85,252,85,253,85,254,85,255,85,0,86,1,86,2,86,3,86,4,86,5,86,6,86,7,86,8,86,9,86,10,86,11,86,12,86,13,86,14,86,15,86,16,86,17,86,18,86,19,86,20,86,21,86,22,86,23,86,24,86,25,86,26,86,27,86,28,86,29,86,30,86,33,86,34,86,35,86,36,86,37,86,38,86,39,86,60,0,42,0,81,86,67,216,215,222,67,216,216,222,67,216,221,222,67,216,248,222,67,216,249,222,67,216,250,222,67,216,251,222,67,216,29,223,67,216,38,223,67,216,45,223,67,216,46,223,67,216,48,223,67,216,49,223,67,216,59,223,67,216,76,223,31,86,40,86,22,87,23,87,24,87,25,87,114,88,115,88,116,88,117,88,118,88,119,88,120,88,121,88,122,88,123,88,124,88,125,88,126,88,127,88,129,88,130,88,131,88,132,88,133,88,134,88,135,88,136,88,137,88,138,88,139,88,140,88,141,88,142,88,143,88,144,88,145,88,146,88,147,88,148,88,149,88,150,88,151,88,152,88,153,88,154,88,155,88,97,54,101,54,102,54,68,216,237,223,68,216,254,223,69,216,19,220,69,216,22,220,173,88,253,88,254,88,16,89,34,89,35,89,36,89,37,89,105,89,106,89,107,89,108,89,213,90,214,90,215,90,216,90,217,90,218,90,219,90,220,90,221,90,222,90,223,90,224,90,225,90,226,90,227,90,228,90,229,90,230,90,231,90,232,90,233,90,234,90,235,90,236,90,237,90,238,90,239,90,240,90,241,90,242,90,28,55,30,55,32,55,34,55,70,216,32,220,70,216,40,220,70,216,41,220,70,216,42,220,70,216,45,220,70,216,57,220,70,216,58,220,70,216,59,220,70,216,64,220,70,216,69,220,243,90,117,91,60,0,42,0,119,91,70,216,150,221,222,91,223,91,224,91,225,91,226,91,227,91,228,91,229,91,230,91,231,91,232,91,13,92,33,92,98,92,99,92,119,93,120,93,121,93,122,93,123,93,124,93,125,93,126,93,127,93,128,93,129,93,130,93,131,93,132,93,133,93,134,93,135,93,136,93,137,93,138,93,139,93,140,93,141,93,142,93,251,55,0,56,1,56,4,56,81,94,82,94,83,94,84,94,85,94,86,94,87,94,88,94,89,94,91,94,72,216,42,221,99,94,205,94,206,94,207,94,208,94,209,94,210,94,211,94,212,94,213,94,214,94,215,94,216,94,217,94,220,94,10,95,67,95,68,95,69,95,195,56,70,95,111,95,112,95,209,56,177,95,179,95,180,95,73,216,84,221,182,95,40,97,44,97,51,97,56,97,59,97,63,97,65,97,66,97,71,97,72,97,75,97,80,97,120,57,82,97,83,97,84,97,86,97,88,97,90,97,91,97,94,97,95,97,96,97,97,97,98,97,99,97,101,97,105,97,106,97,108,97,111,97,113,97,114,97,115,97,116,97,117,97,119,97,122,97,123,97,125,97,128,97,129,97,134,97,60,0,42,0,136,97,128,57,74,216,3,220,39,98,40,98,41,98,42,98,43,98,44,98,43,100,52,100,59,100,63,100,75,100,76,100,77,100,78,100,79,100,80,100,81,100,83,100,84,100,85,100,87,100,88,100,89,100,90,100,91,100,92,100,93,100,94,100,95,100,96,100,98,100,99,100,100,100,101,100,102,100,103,100,106,100,107,100,108,100,109,100,113,100,114,100,115,100,116,100,117,100,118,100,119,100,120,100,122,100,123,100,124,100,125,100,126,100,127,100,129,100,130,100,132,100,135,100,47,58,49,58,50,58,51,58,52,58,53,58,54,58,55,58,56,58,57,58,75,216,183,220,75,216,194,220,75,216,198,220,75,216,201,220,75,216,7,221,75,216,8,221,75,216,18,221,86,100,166,100,113,101,114,101,115,101,160,101,161,101,178,101,76,216,183,220,214,101,215,101,154,102,155,102,156,102,157,102,158,102,159,102,160,102,161,102,162,102,163,102,164,102,165,102,166,102,167,102,168,102,13,59,14,59,15,59,16,59,76,216,86,222,76,216,94,222,76,216,98,222,4,103,5,103,34,103,59,59,138,105,141,105,142,105,143,105,144,105,145,105,146,105,147,105,149,105,150,105,151,105,153,105,154,105,60,0,42,0,155,105,156,105,157,105,158,105,159,105,160,105,161,105,162,105,163,105,164,105,165,105,166,105,167,105,168,105,169,105,170,105,171,105,172,105,173,105,174,105,175,105,176,105,177,105,178,105,179,105,180,105,181,105,182,105,183,105,184,105,185,105,186,105,187,105,188,105,189,105,190,105,191,105,192,105,193,105,194,105,195,105,196,105,197,105,198,105,199,105,200,105,201,105,202,105,203,105,204,105,205,105,206,105,207,105,208,105,209,105,210,105,211,105,212,105,213,105,214,105,215,105,216,105,217,105,218,105,219,105,220,105,221,105,222,105,223,105,224,105,225,105,46,106,20,250,188,59,77,216,187,221,77,216,205,221,77,216,206,221,77,216,207,221,77,216,243,221,77,216,0,222,3,106,73,107,74,107,75,107,76,107,77,107,112,107,116,107,157,107,158,107,159,107,160,107,161,107,195,107,196,107,78,216,250,222,254,107,50,108,51,108,206,110,204,110,235,110,236,110,237,110,238,110,239,110,240,110,241,110,242,110,243,110,244,110,245,110,246,110,247,110,248,110,249,110,250,110,251,110,252,110,253,110,254,110,255,110,1,111,2,111,3,111,4,111,5,111,6,111,60,0,42,0,7,111,8,111,9,111,10,111,12,111,13,111,14,111,15,111,17,111,18,111,20,111,21,111,22,111,23,111,24,111,25,111,26,111,27,111,28,111,29,111,30,111,31,111,32,111,33,111,34,111,35,111,36,111,37,111,39,111,40,111,41,111,42,111,43,111,44,111,45,111,46,111,47,111,48,111,49,111,50,111,51,111,52,111,53,111,54,111,55,111,56,111,57,111,58,111,59,111,60,111,62,111,64,111,66,111,67,111,68,111,69,111,70,111,71,111,72,111,73,111,74,111,75,111,76,111,77,111,61,61,70,61,79,216,215,222,79,216,247,222,79,216,248,222,79,216,249,222,79,216,250,222,79,216,251,222,79,216,252,222,79,216,53,223,79,216,65,223,78,111,115,111,85,113,91,113,121,113,123,113,124,113,125,113,126,113,127,113,128,113,129,113,130,113,131,113,132,113,133,113,134,113,135,113,136,113,137,113,138,113,139,113,140,113,141,113,142,113,143,113,144,113,145,113,146,113,147,113,148,113,149,113,150,113,151,113,152,113,153,113,184,132,231,61,232,61,80,216,13,223,80,216,26,223,80,216,52,223,80,216,72,223,51,114,62,114,68,114,83,114,84,114,34,62,146,114,147,114,148,114,149,114,60,0,42,0,150,114,151,114,67,115,68,115,76,115,77,115,79,115,80,115,81,115,82,115,83,115,84,115,85,115,96,116,97,116,98,116,99,116,100,116,101,116,102,116,103,116,104,116,106,116,107,116,109,116,110,116,112,116,113,116,114,116,115,116,116,116,117,116,118,116,119,116,120,116,231,62,233,62,82,216,236,221,82,216,237,221,82,216,246,221,82,216,247,221,82,216,248,221,82,216,249,221,82,216,251,221,82,216,14,222,82,216,18,222,82,216,19,222,0,117,2,117,3,117,4,117,5,117,6,117,82,216,110,223,39,117,123,117,124,117,125,117,144,117,145,117,7,118,8,118,9,118,10,118,11,118,12,118,13,118,14,118,17,118,18,118,19,118,20,118,21,118,22,118,23,118,24,118,39,118,182,118,183,118,184,118,185,118,224,118,225,118,226,118,227,118,110,119,111,119,112,119,113,119,114,119,115,119,116,119,117,119,118,119,119,119,120,119,122,119,123,119,124,119,125,119,126,119,127,119,128,119,129,119,130,119,131,119,132,119,133,119,134,119,83,64,84,216,32,222,84,216,33,222,126,120,157,120,158,120,159,120,160,120,161,120,162,120,163,120,164,120,165,120,166,120,167,120,168,120,169,120,170,120,171,120,60,0,42,0,172,120,173,120,174,120,175,120,177,120,178,120,179,120,180,120,181,120,182,120,183,120,184,120,185,120,193,120,200,64,135,121,136,121,137,121,138,121,139,121,140,121,141,121,142,121,143,121,144,121,145,121,146,121,147,121,148,121,149,121,150,121,151,121,152,121,153,121,38,122,39,122,40,122,41,122,42,122,43,122,44,122,45,122,46,122,47,122,48,122,49,122,50,122,51,122,74,122,103,65,53,122,168,122,169,122,170,122,171,122,172,122,173,122,86,216,204,221,236,122,237,122,239,122,240,122,86,216,156,222,238,122,117,123,129,123,130,123,131,123,132,123,133,123,134,123,135,123,136,123,137,123,138,123,139,123,140,123,141,123,142,123,143,123,144,123,145,123,146,123,147,123,148,123,149,123,150,123,151,123,152,123,153,123,154,123,155,123,156,123,157,123,158,123,159,123,160,123,161,123,162,123,163,123,164,123,165,123,166,123,167,123,168,123,169,123,170,123,171,123,1,66,2,66,3,66,4,66,5,66,6,66,7,66,8,66,9,66,10,66,11,66,12,66,13,66,86,216,179,223,86,216,180,223,86,216,198,223,184,123,182,124,183,124,184,124,60,0,42,0,185,124,186,124,187,124,188,124,189,124,190,124,191,124,193,124,87,216,166,222,87,216,188,222,150,125,208,125,156,125,157,125,158,125,159,125,160,125,161,125,162,125,163,125,164,125,165,125,166,125,167,125,168,125,169,125,170,125,171,125,172,125,173,125,174,125,175,125,176,125,177,125,178,125,179,125,180,125,181,125,182,125,183,125,184,125,185,125,186,125,187,125,188,125,189,125,190,125,191,125,192,125,193,125,194,125,195,125,196,125,197,125,198,125,199,125,200,125,201,125,202,125,203,125,204,125,205,125,206,125,207,125,209,125,210,125,212,125,213,125,232,66,233,66,236,66,237,66,241,66,88,216,72,220,88,216,100,220,37,127,38,127,39,127,40,127,41,127,42,127,43,127,65,127,66,127,111,127,112,127,113,127,115,127,116,127,171,127,222,127,223,127,224,127,225,127,226,127,227,127,228,127,89,216,74,220,229,127,35,128,36,128,37,128,89,128,90,128,91,128,92,128,93,128,94,128,95,128,97,128,98,128,99,128,186,67,89,216,160,221,135,128,136,128,80,129,127,129,128,129,129,129,130,129,131,129,132,129,133,129,134,129,135,129,136,129,137,129,60,0,42,0,138,129,139,129,140,129,141,129,142,129,143,129,145,129,32,68,37,68,38,68,89,216,153,223,89,216,179,223,89,216,180,223,89,216,204,223,231,129,250,129,7,130,19,130,20,130,21,130,30,130,74,130,75,130,76,130,77,130,90,216,81,222,90,216,82,222,221,68,222,68,223,68,225,68,228,68,233,68,234,68,235,68,236,68,144,132,145,132,146,132,147,132,148,132,149,132,150,132,151,132,152,132,153,132,154,132,155,132,156,132,157,132,158,132,159,132,160,132,161,132,162,132,163,132,164,132,165,132,166,132,167,132,168,132,169,132,170,132,171,132,172,132,173,132,174,132,175,132,176,132,177,132,178,132,179,132,180,132,181,132,182,132,183,132,185,132,186,132,187,132,188,132,189,132,190,132,191,132,192,132,193,132,194,132,195,132,196,132,198,132,199,132,201,132,202,132,203,132,204,132,205,132,206,132,207,132,208,132,209,132,210,132,211,132,212,132,213,132,214,132,215,132,216,132,217,132,218,132,219,132,220,132,221,132,223,132,225,132,226,132,227,132,228,132,230,132,91,216,116,221,91,216,160,221,91,216,161,221,91,216,162,221,91,216,163,221,91,216,164,221,91,216,165,221,91,216,166,221,91,216,167,221,91,216,174,221,91,216,220,221,60,0,42,0,91,216,234,221,91,216,235,221,91,216,240,221,229,132,96,134,97,134,92,216,205,221,17,135,18,135,43,135,24,135,25,135,26,135,27,135,28,135,29,135,30,135,31,135,32,135,33,135,34,135,35,135,36,135,37,135,38,135,39,135,40,135,41,135,42,135,44,135,45,135,46,135,47,135,48,135,49,135,50,135,51,135,52,135,53,135,54,135,55,135,56,135,57,135,58,135,59,135,60,135,61,135,62,135,63,135,64,135,65,135,66,135,67,135,68,135,69,135,71,135,72,135,73,135,74,135,75,135,85,135,107,135,226,136,231,136,232,136,233,136,234,136,235,136,236,136,237,136,238,136,239,136,240,136,241,136,242,136,243,136,244,136,245,136,246,136,247,136,248,136,249,136,250,136,251,136,252,136,253,136,254,136,255,136,0,137,2,137,3,137,4,137,59,70,26,137,157,137,158,137,159,137,160,137,161,137,207,137,232,137,233,137,234,137,235,137,139,138,140,138,141,138,142,138,143,138,144,138,145,138,146,138,147,138,148,138,150,138,151,138,152,138,153,138,154,138,155,138,156,138,157,138,158,138,159,138,161,138,162,138,163,138,164,138,60,0,42,0,165,138,166,138,167,138,168,138,169,138,170,138,171,138,172,138,173,138,174,138,94,216,253,221,94,216,10,222,94,216,14,222,45,140,46,140,47,140,48,140,49,140,50,140,61,140,103,140,104,140,105,140,106,140,139,140,140,140,141,140,207,140,208,140,209,140,210,140,211,140,212,140,213,140,214,140,215,140,216,140,98,53,95,216,143,221,95,216,152,221,88,141,89,141,90,141,91,141,107,141,149,141,150,141,151,141,152,141,153,141,154,141,252,141,253,141,254,141,255,141,0,142,1,142,2,142,3,142,4,142,5,142,6,142,7,142,8,142,9,142,10,142,11,142,12,142,13,142,14,142,244,71,96,216,72,220,179,142,180,142,181,142,13,143,14,143,15,143,16,143,17,143,18,143,19,143,20,143,21,143,96,216,6,223,96,216,24,223,149,143,150,143,151,143,161,143,162,143,163,143,88,144,89,144,90,144,91,144,92,144,93,144,94,144,95,144,96,144,97,144,98,144,99,144,100,144,101,144,210,144,24,145,25,145,26,145,27,145,28,145,29,145,30,145,31,145,32,145,33,145,34,145,35,145,36,145,37,145,114,145,115,145,116,145,117,145,118,145,119,145,120,145,60,0,42,0,121,145,122,145,123,145,124,145,125,145,126,145,127,145,250,72,45,146,117,146,118,146,119,146,120,146,121,146,122,146,123,146,125,146,126,146,127,146,128,146,129,146,130,146,131,146,132,146,133,146,134,146,135,146,136,146,137,146,138,146,139,146,140,146,141,146,142,146,144,146,145,146,146,146,147,146,148,146,149,146,150,146,151,146,152,146,153,146,154,146,155,146,156,146,157,146,158,146,159,146,160,146,161,146,162,146,163,146,164,146,165,146,166,146,167,146,168,146,169,146,170,146,171,146,172,146,173,146,174,146,175,146,176,146,177,146,36,73,37,73,38,73,42,73,98,216,137,221,98,216,168,221,98,216,170,221,98,216,171,221,238,146,124,146,50,149,51,149,52,149,53,149,54,149,55,149,56,149,57,149,58,149,59,149,60,149,61,149,62,149,63,149,64,149,65,149,66,149,67,149,68,149,69,149,161,149,162,149,163,149,164,149,165,149,166,149,167,149,168,149,169,149,170,149,26,150,153,150,154,150,155,150,156,150,157,150,158,150,159,150,160,150,161,150,204,150,208,150,209,150,210,150,99,216,197,223,255,150,0,151,1,151,15,74,100,216,175,220,60,0,42,0,100,216,176,220,100,216,177,220,87,151,88,151,89,151,100,151,122,151,123,151,124,151,125,151,126,151,127,151,128,151,129,151,130,151,131,151,132,151,133,151,134,151,205,151,206,151,236,151,246,151,247,151,101,216,29,220,25,152,20,152,21,152,22,152,23,152,24,152,26,152,184,74,151,152,173,152,174,152,175,152,176,152,177,152,255,74,0,75,101,216,184,221,214,152,213,152,215,152,248,152,44,75,0,153,1,153,2,153,3,153,4,153,5,153,6,153,7,153,9,153,12,153,14,153,15,153,145,153,146,153,155,153,156,153,157,153,111,75,182,153,183,153,184,153,185,153,186,153,187,153,188,153,189,153,190,153,191,153,192,153,193,153,194,153,195,153,196,153,197,153,198,153,199,153,123,75,126,75,160,154,161,154,162,154,175,154,176,154,177,154,200,75,218,154,227,154,228,154,229,154,230,154,231,154,232,154,233,154,234,154,102,216,5,223,102,216,14,223,38,155,62,155,63,155,64,155,65,155,66,155,103,216,173,220,95,155,96,155,97,155,98,155,103,216,90,221,145,156,146,156,147,156,148,156,149,156,150,156,151,156,152,156,153,156,154,156,155,156,156,156,157,156,60,0,42,0,158,156,159,156,241,156,242,156,243,156,244,156,245,156,246,156,85,158,86,158,87,158,89,158,90,158,91,158,92,158,167,158,188,158,189,158,59,159,74,159,135,159,136,159,60,0,39,0,208,253,15,40,39,0,60,0,42,0,245,80,246,80,248,80,249,80,250,80,251,80,252,80,253,80,254,80,255,80,0,81,1,81,2,81,3,81,4,81,5,81,6,81,7,81,8,81,9,81,10,81,11,81,12,81,13,81,14,81,15,81,147,52,150,52,152,52,64,216,201,223,64,216,203,223,48,81,217,81,218,81,219,81,220,81,65,216,17,222,133,82,134,82,135,82,136,82,137,82,138,82,139,82,140,82,141,82,142,82,143,82,238,82,239,82,240,82,241,82,242,82,20,83,51,83,177,83,178,83,66,216,180,222,199,83,89,53,83,86,32,86,41,86,42,86,43,86,44,86,45,86,46,86,47,86,48,86,49,86,50,86,51,86,52,86,53,86,54,86,55,86,56,86,57,86,58,86,59,86,60,86,61,86,62,86,63,86,64,86,65,86,66,86,67,86,68,86,70,86,71,86,72,86,73,86,74,86,75,86,76,86,77,86,78,86,79,86,80,86,82,86,84,86,86,86,87,86,88,86,89,86,90,86,91,86,92,86,93,86,116,86,241,53,242,53,243,53,67,216,100,223,67,216,141,223,67,216,144,223,67,216,173,223,67,216,180,223,67,216,181,223,67,216,182,223,67,216,188,223,68,216,20,220,26,87,128,88,156,88,157,88,60,0,42,0,158,88,159,88,160,88,161,88,162,88,163,88,164,88,165,88,166,88,167,88,169,88,170,88,171,88,172,88,174,88,175,88,176,88,177,88,178,88,179,88,180,88,181,88,182,88,183,88,184,88,185,88,69,216,36,220,69,216,63,220,69,216,82,220,69,216,84,220,69,216,85,220,255,88,0,89,69,216,119,221,38,89,109,89,244,90,245,90,246,90,247,90,248,90,249,90,250,90,251,90,252,90,253,90,254,90,255,90,0,91,1,91,2,91,3,91,4,91,5,91,6,91,7,91,8,91,9,91,10,91,11,91,12,91,13,91,14,91,15,91,35,55,37,55,38,55,70,216,82,220,70,216,94,220,70,216,97,220,70,216,98,220,70,216,99,220,70,216,100,220,70,216,119,220,70,216,123,220,70,216,131,220,70,216,132,220,70,216,133,220,233,91,235,91,236,91,237,91,238,91,111,55,14,92,70,216,68,223,53,92,100,92,101,92,102,92,103,92,160,55,143,93,144,93,145,93,146,93,147,93,148,93,149,93,150,93,151,93,152,93,153,93,154,93,155,93,156,93,157,93,158,93,159,93,160,93,161,93,162,93,163,93,164,93,165,93,15,56,71,216,15,223,71,216,21,223,228,93,90,94,92,94,93,94,94,94,95,94,96,94,97,94,98,94,100,94,60,0,42,0,101,94,97,56,105,94,218,94,219,94,221,94,222,94,223,94,224,94,225,94,226,94,227,94,228,94,71,95,72,95,73,95,113,95,178,95,181,95,183,95,184,95,185,95,186,95,85,97,87,97,89,97,92,97,93,97,100,97,102,97,103,97,107,97,110,97,112,97,118,97,120,97,121,97,124,97,126,97,127,97,130,97,131,97,132,97,133,97,135,97,109,97,137,97,139,97,141,97,142,97,143,97,144,97,146,97,147,97,148,97,149,97,152,97,154,97,155,97,156,97,158,97,159,97,161,97,162,97,163,97,164,97,166,97,167,97,170,97,171,97,172,97,173,97,174,97,175,97,176,97,177,97,179,97,137,57,138,57,146,57,74,216,95,220,74,216,96,220,74,216,113,220,45,98,46,98,47,98,104,100,105,100,110,100,111,100,112,100,121,100,128,100,131,100,60,58,133,100,134,100,136,100,138,100,139,100,140,100,141,100,142,100,143,100,144,100,145,100,146,100,147,100,148,100,149,100,150,100,151,100,152,100,153,100,154,100,155,100,156,100,157,100,158,100,159,100,160,100,161,100,162,100,163,100,164,100,165,100,167,100,168,100,60,0,42,0,169,100,170,100,171,100,172,100,173,100,174,100,175,100,176,100,177,100,178,100,179,100,180,100,181,100,182,100,183,100,184,100,185,100,186,100,198,100,75,58,75,216,68,221,75,216,76,221,75,216,103,221,117,101,118,101,119,101,120,101,121,101,122,101,123,101,75,216,204,223,179,101,76,216,188,220,169,102,170,102,171,102,172,102,173,102,174,102,175,102,176,102,177,102,178,102,179,102,180,102,181,102,182,102,183,102,17,59,18,59,19,59,20,59,21,59,22,59,76,216,129,222,76,216,138,222,188,102,164,129,60,59,61,59,62,59,233,105,226,105,227,105,228,105,229,105,230,105,231,105,232,105,234,105,235,105,236,105,237,105,238,105,239,105,240,105,241,105,242,105,243,105,244,105,245,105,246,105,247,105,248,105,249,105,250,105,251,105,252,105,253,105,254,105,255,105,0,106,1,106,2,106,4,106,5,106,6,106,7,106,8,106,9,106,10,106,11,106,12,106,13,106,14,106,15,106,16,106,17,106,18,106,19,106,20,106,21,106,22,106,23,106,24,106,25,106,26,106,27,106,28,106,29,106,30,106,31,106,32,106,33,106,34,106,35,106,36,106,37,106,60,0,42,0,38,106,39,106,41,106,42,106,43,106,44,106,45,106,47,106,48,106,49,106,101,106,190,59,194,59,196,59,77,216,23,222,77,216,26,222,77,216,60,222,77,216,64,222,77,216,89,222,77,216,95,222,77,216,119,222,78,107,79,107,80,107,81,107,82,107,83,107,117,107,118,107,162,107,163,107,164,107,165,107,166,107,115,60,116,60,197,107,198,107,255,107,0,108,1,108,2,108,213,110,0,111,16,111,38,111,63,111,65,111,11,111,61,111,79,111,80,111,81,111,82,111,83,111,84,111,85,111,86,111,87,111,88,111,89,111,90,111,91,111,92,111,93,111,95,111,96,111,97,111,98,111,99,111,100,111,101,111,102,111,103,111,104,111,105,111,106,111,107,111,108,111,109,111,110,111,111,111,112,111,113,111,114,111,116,111,117,111,118,111,119,111,120,111,121,111,122,111,123,111,124,111,125,111,126,111,127,111,129,111,130,111,132,111,133,111,134,111,135,111,136,111,137,111,138,111,139,111,140,111,141,111,142,111,143,111,144,111,145,111,146,111,147,111,148,111,149,111,150,111,151,111,152,111,154,111,155,111,156,111,157,111,208,111,76,61,78,61,81,61,60,0,42,0,79,216,74,223,79,216,97,223,79,216,127,223,79,216,128,223,79,216,129,223,79,216,130,223,79,216,143,223,79,216,180,223,79,216,183,223,198,111,166,113,154,113,155,113,156,113,157,113,158,113,159,113,160,113,161,113,162,113,163,113,164,113,165,113,167,113,168,113,169,113,170,113,171,113,172,113,173,113,174,113,175,113,176,113,177,113,178,113,179,113,180,113,181,113,217,158,166,159,235,61,80,216,98,223,80,216,99,223,80,216,100,223,80,216,101,223,80,216,140,223,80,216,150,223,80,216,156,223,85,86,52,114,69,114,85,114,86,114,87,114,152,114,153,114,154,114,155,114,81,216,212,222,78,115,75,115,86,115,87,115,88,115,89,115,90,115,91,115,92,115,93,115,94,115,95,115,96,115,97,115,98,115,100,115,82,216,130,220,105,116,108,116,121,116,122,116,123,116,124,116,125,116,126,116,128,116,129,116,130,116,131,116,132,116,133,116,134,116,135,116,136,116,137,116,138,116,139,116,140,116,142,116,147,116,235,62,236,62,240,62,243,62,244,62,82,216,21,222,82,216,33,222,82,216,34,222,82,216,35,222,82,216,36,222,82,216,37,222,82,216,38,222,82,216,39,222,82,216,40,222,82,216,41,222,82,216,42,222,82,216,62,222,7,117,8,117,9,117,83,63,82,216,245,223,126,117,127,117,31,118,25,118,26,118,27,118,28,118,60,0,42,0,29,118,30,118,32,118,33,118,34,118,35,118,36,118,37,118,38,118,40,118,41,118,42,118,43,118,183,63,192,63,83,216,59,222,83,216,80,222,154,118,155,118,156,118,157,118,158,118,229,63,83,216,151,223,83,216,154,223,186,118,228,118,135,119,136,119,137,119,138,119,139,119,140,119,141,119,142,119,143,119,144,119,145,119,146,119,147,119,87,64,84,216,80,222,186,120,187,120,188,120,189,120,190,120,191,120,192,120,194,120,195,120,196,120,197,120,198,120,199,120,200,120,201,120,202,120,203,120,204,120,205,120,206,120,207,120,208,120,209,120,210,120,211,120,212,120,213,120,215,120,216,120,217,120,228,120,85,216,49,221,85,216,53,221,85,216,63,221,154,121,155,121,156,121,157,121,158,121,159,121,160,121,161,121,162,121,163,121,85,216,227,222,52,122,54,122,55,122,56,122,57,122,58,122,59,122,60,122,61,122,62,122,63,122,64,122,65,122,66,122,67,122,108,65,110,65,117,65,86,216,87,220,174,122,175,122,176,122,177,122,178,122,179,122,180,122,172,123,173,123,174,123,175,123,176,123,177,123,178,123,179,123,180,123,181,123,182,123,183,123,185,123,186,123,187,123,60,0,42,0,188,123,189,123,190,123,191,123,193,123,194,123,195,123,196,123,197,123,198,123,199,123,200,123,202,123,203,123,204,123,205,123,206,123,207,123,208,123,209,123,210,123,211,123,14,66,15,66,16,66,17,66,18,66,19,66,20,66,21,66,26,66,28,66,32,66,34,66,35,66,38,66,41,66,86,216,228,223,86,216,232,223,87,216,1,220,87,216,6,220,194,124,195,124,196,124,197,124,198,124,199,124,200,124,201,124,202,124,203,124,204,124,205,124,206,124,148,66,87,216,215,222,87,216,216,222,211,125,214,125,215,125,216,125,217,125,218,125,219,125,220,125,221,125,222,125,223,125,224,125,225,125,226,125,227,125,228,125,229,125,230,125,231,125,232,125,233,125,234,125,235,125,236,125,237,125,238,125,239,125,240,125,241,125,242,125,243,125,244,125,245,125,246,125,247,125,248,125,249,125,250,125,251,125,252,125,253,125,254,125,255,125,0,126,1,126,2,126,3,126,4,126,5,126,6,126,7,126,244,66,251,66,252,66,0,67,1,67,4,67,88,216,131,220,88,216,151,220,88,216,164,220,88,216,165,220,62,67,44,127,45,127,46,127,47,127,117,127,118,127,119,127,120,127,172,127,60,0,42,0,173,127,174,127,175,127,176,127,230,127,231,127,232,127,233,127,234,127,235,127,236,127,237,127,89,216,105,220,38,128,39,128,172,67,100,128,101,128,102,128,103,128,104,128,105,128,106,128,107,128,89,216,173,221,146,129,147,129,148,129,149,129,150,129,151,129,152,129,153,129,154,129,155,129,156,129,157,129,158,129,159,129,160,129,161,129,162,129,163,129,45,68,51,68,52,68,241,129,22,130,23,130,78,130,79,130,80,130,81,130,82,130,83,130,84,130,122,68,138,132,244,68,224,132,231,132,232,132,233,132,234,132,235,132,236,132,237,132,238,132,239,132,240,132,242,132,243,132,244,132,245,132,246,132,247,132,248,132,249,132,250,132,251,132,252,132,253,132,254,132,255,132,0,133,1,133,2,133,3,133,4,133,5,133,6,133,8,133,9,133,10,133,11,133,12,133,13,133,14,133,15,133,16,133,17,133,18,133,19,133,20,133,21,133,22,133,23,133,24,133,25,133,26,133,27,133,28,133,29,133,30,133,31,133,32,133,33,133,34,133,35,133,36,133,37,133,38,133,39,133,40,133,41,133,42,133,43,133,44,133,60,0,42,0,45,133,46,133,47,133,48,133,49,133,50,133,51,133,52,133,53,133,54,133,55,133,56,133,57,133,58,133,59,133,60,133,91,216,0,222,91,216,5,222,91,216,7,222,91,216,18,222,91,216,66,222,91,216,67,222,91,216,68,222,91,216,69,222,91,216,110,222,91,216,114,222,91,216,119,222,91,216,132,222,61,133,79,133,98,134,76,135,78,135,79,135,80,135,81,135,82,135,83,135,84,135,86,135,87,135,88,135,89,135,90,135,91,135,92,135,93,135,94,135,95,135,96,135,97,135,98,135,99,135,100,135,101,135,102,135,103,135,104,135,105,135,106,135,108,135,109,135,110,135,111,135,112,135,113,135,114,135,115,135,116,135,117,135,118,135,119,135,120,135,122,135,123,135,124,135,125,135,126,135,127,135,128,135,225,135,92,216,82,223,92,216,154,223,130,135,90,136,91,136,92,136,93,136,93,216,253,221,230,136,5,137,6,137,7,137,8,137,9,137,10,137,11,137,12,137,13,137,14,137,15,137,16,137,17,137,18,137,19,137,20,137,21,137,22,137,23,137,24,137,25,137,27,137,28,137,29,137,69,70,70,70,93,216,15,223,162,137,163,137,164,137,165,137,94,216,88,220,169,137,208,137,209,137,236,137,237,137,238,137,60,0,42,0,239,137,240,137,149,138,175,138,176,138,177,138,178,138,179,138,180,138,181,138,182,138,183,138,184,138,185,138,186,138,187,138,188,138,189,138,190,138,191,138,192,138,193,138,194,138,195,138,196,138,197,138,198,138,199,138,200,138,201,138,202,138,203,138,204,138,205,138,206,138,207,138,208,138,209,138,210,138,211,138,212,138,213,138,214,138,215,138,216,138,217,138,218,138,233,138,245,70,247,70,94,216,62,222,94,216,83,222,94,216,89,222,219,138,248,138,51,140,52,140,53,140,62,140,76,140,77,140,78,140,94,216,239,223,94,216,244,223,108,140,142,140,143,140,217,140,218,140,219,140,220,140,221,140,222,140,223,140,224,140,225,140,226,140,227,140,228,140,229,140,230,140,231,140,232,140,233,140,234,140,235,140,236,140,124,71,237,140,92,141,109,141,155,141,156,141,157,141,158,141,159,141,160,141,161,141,162,141,163,141,164,141,15,142,16,142,17,142,18,142,19,142,20,142,21,142,22,142,23,142,24,142,25,142,26,142,27,142,28,142,29,142,30,142,31,142,32,142,33,142,34,142,35,142,36,142,37,142,38,142,39,142,40,142,41,142,60,0,42,0,42,142,44,142,45,142,46,142,47,142,58,142,0,72,1,72,11,72,96,216,131,220,96,216,144,220,43,142,55,142,182,142,183,142,184,142,185,142,186,142,187,142,188,142,96,216,86,222,22,143,23,143,24,143,25,143,26,143,27,143,28,143,29,143,30,143,31,143,32,143,33,143,34,143,35,143,36,143,37,143,38,143,39,143,40,143,41,143,42,143,43,143,44,143,93,72,96,216,47,223,96,216,58,223,152,143,164,143,179,143,102,144,103,144,104,144,105,144,106,144,107,144,108,144,109,144,110,144,111,144,112,144,113,144,115,144,119,144,246,144,38,145,39,145,41,145,42,145,43,145,45,145,46,145,47,145,48,145,49,145,50,145,221,72,128,145,129,145,130,145,131,145,132,145,133,145,134,145,135,145,136,145,137,145,138,145,139,145,140,145,178,146,179,146,180,146,181,146,182,146,183,146,184,146,185,146,186,146,187,146,188,146,189,146,190,146,191,146,192,146,193,146,194,146,195,146,196,146,197,146,198,146,199,146,200,146,201,146,202,146,204,146,205,146,206,146,207,146,208,146,209,146,210,146,211,146,212,146,213,146,214,146,215,146,216,146,60,0,42,0,217,146,218,146,219,146,220,146,221,146,222,146,223,146,224,146,225,146,226,146,227,146,228,146,229,146,230,146,231,146,232,146,233,146,234,146,235,146,236,146,237,146,239,146,240,146,241,146,242,146,243,146,244,146,245,146,246,146,39,250,45,73,47,73,48,73,98,216,184,221,98,216,188,221,98,216,192,221,98,216,220,221,98,216,222,221,98,216,225,221,98,216,227,221,98,216,228,221,70,149,71,149,72,149,73,149,74,149,75,149,76,149,77,149,78,149,79,149,80,149,81,149,82,149,83,149,84,149,85,149,124,149,171,149,172,149,173,149,174,149,175,149,176,149,177,149,178,149,179,149,180,149,99,216,52,221,162,150,163,150,164,150,165,150,229,73,211,150,2,151,3,151,4,151,5,151,6,151,7,151,8,151,9,151,10,151,100,216,192,220,90,151,96,151,101,151,135,151,136,151,137,151,138,151,139,151,140,151,141,151,142,151,143,151,144,151,145,151,146,151,207,151,208,151,209,151,239,151,101,216,32,220,27,152,28,152,29,152,30,152,31,152,32,152,33,152,34,152,35,152,38,152,39,152,40,152,41,152,42,152,43,152,44,152,152,152,153,152,154,152,155,152,156,152,157,152,178,152,60,0,42,0,179,152,216,152,250,152,8,153,10,153,11,153,13,153,55,75,17,153,18,153,19,153,20,153,21,153,22,153,23,153,24,153,25,153,147,153,148,153,200,153,201,153,202,153,203,153,204,153,205,153,206,153,207,153,208,153,209,153,210,153,211,153,212,153,213,153,214,153,215,153,216,153,217,153,218,153,219,153,220,153,221,153,222,153,223,153,224,153,102,216,164,220,163,154,178,154,179,154,180,154,181,154,182,154,183,154,219,154,235,154,236,154,238,154,239,154,240,154,241,154,242,154,243,154,244,154,39,155,67,155,68,155,69,155,70,155,32,76,99,155,100,155,101,155,102,155,103,155,104,155,105,155,106,155,107,155,108,155,109,155,110,155,111,155,112,155,113,155,114,155,115,155,116,155,117,155,118,155,119,155,120,155,121,155,59,76,62,76,103,216,124,221,160,156,161,156,162,156,163,156,164,156,165,156,166,156,167,156,168,156,169,156,170,156,171,156,172,156,247,156,248,156,249,156,250,156,251,156,252,156,253,156,254,156,255,156,0,157,1,157,2,157,3,157,4,157,5,157,6,157,7,157,8,157,9,157,11,157,12,157,60,0,42,0,13,157,14,157,174,76,176,76,183,76,103,216,183,223,88,158,93,158,94,158,95,158,96,158,97,158,98,158,99,158,100,158,118,158,131,158,132,158,104,216,147,222,168,158,169,158,170,158,171,158,185,158,190,158,206,158,168,88,211,158,15,159,16,159,17,159,81,159,82,159,137,159,138,159,60,0,39,0,208,253,16,40,39,0,60,0,42,0,184,78,16,81,17,81,18,81,19,81,20,81,21,81,22,81,23,81,24,81,25,81,26,81,27,81,28,81,29,81,30,81,43,81,64,216,245,223,64,216,252,223,99,81,65,216,252,220,128,81,170,81,221,81,222,81,65,216,21,222,144,82,145,82,146,82,147,82,148,82,243,82,52,83,225,83,94,86,95,86,96,86,97,86,98,86,99,86,100,86,101,86,102,86,103,86,104,86,105,86,106,86,107,86,108,86,109,86,110,86,111,86,112,86,113,86,114,86,115,86,117,86,118,86,119,86,120,86,121,86,122,86,123,86,124,86,251,53,254,53,0,54,1,54,2,54,3,54,4,54,67,216,223,223,67,216,234,223,67,216,235,223,67,216,236,223,67,216,237,223,68,216,29,220,68,216,30,220,27,87,28,87,186,88,187,88,188,88,189,88,190,88,191,88,192,88,193,88,194,88,195,88,196,88,197,88,198,88,199,88,200,88,201,88,202,88,203,88,204,88,179,159,1,89,110,89,111,89,16,91,17,91,18,91,19,91,20,91,21,91,22,91,23,91,24,91,25,91,26,91,27,91,28,91,29,91,30,91,31,91,32,91,33,91,34,91,52,91,43,55,44,55,45,55,70,216,158,220,70,216,159,220,60,0,42,0,70,216,160,220,70,216,161,220,70,216,162,220,70,216,190,220,70,216,191,220,40,91,120,91,121,91,239,91,240,91,166,93,167,93,168,93,169,93,170,93,171,93,172,93,173,93,174,93,175,93,176,93,177,93,178,93,179,93,180,93,181,93,182,93,102,94,103,94,104,94,98,56,99,56,100,56,72,216,91,221,111,94,229,94,230,94,231,94,232,94,233,94,234,94,74,95,75,95,91,95,92,95,73,216,113,220,73,216,176,220,187,95,188,95,138,97,140,97,145,97,150,97,151,97,153,97,157,97,160,97,165,97,168,97,169,97,178,97,180,97,182,97,183,97,184,97,185,97,186,97,189,97,190,97,191,97,192,97,193,97,196,97,197,97,198,97,200,97,202,97,204,97,205,97,206,97,207,97,208,97,210,97,211,97,212,97,153,57,74,216,173,220,74,216,193,220,187,97,49,98,48,98,137,100,187,100,188,100,189,100,190,100,191,100,192,100,193,100,194,100,195,100,196,100,197,100,199,100,200,100,201,100,203,100,204,100,205,100,207,100,208,100,209,100,210,100,211,100,212,100,213,100,214,100,215,100,217,100,218,100,219,100,220,100,221,100,222,100,82,58,84,58,87,58,75,216,141,221,60,0,42,0,75,216,149,221,75,216,160,221,75,216,163,221,75,216,164,221,75,216,183,221,243,100,51,101,116,101,124,101,125,101,126,101,127,101,75,216,227,223,147,101,162,101,180,101,216,101,217,101,184,102,185,102,186,102,187,102,189,102,190,102,191,102,192,102,193,102,194,102,195,102,196,102,197,102,198,102,199,102,200,102,201,102,202,102,203,102,204,102,205,102,167,159,23,59,24,59,25,59,26,59,27,59,28,59,29,59,30,59,31,59,76,216,137,222,76,216,171,222,76,216,172,222,76,216,173,222,207,102,6,103,49,59,35,103,36,103,63,59,40,106,116,106,50,106,51,106,52,106,53,106,54,106,55,106,56,106,57,106,58,106,59,106,60,106,61,106,62,106,63,106,64,106,65,106,66,106,67,106,68,106,69,106,70,106,71,106,72,106,73,106,74,106,75,106,76,106,77,106,78,106,79,106,80,106,81,106,82,106,83,106,84,106,85,106,86,106,87,106,88,106,89,106,90,106,91,106,92,106,93,106,94,106,95,106,96,106,97,106,98,106,99,106,100,106,102,106,103,106,104,106,105,106,106,106,107,106,108,106,109,106,110,106,111,106,112,106,113,106,114,106,115,106,117,106,118,106,60,0,42,0,119,106,120,106,121,106,122,106,123,106,124,106,215,59,221,59,77,216,142,222,77,216,158,222,77,216,166,222,77,216,173,222,77,216,186,222,77,216,223,222,77,216,238,222,84,107,85,107,86,107,87,107,88,107,89,107,90,107,119,107,167,107,168,107,169,107,170,107,171,107,199,107,200,107,3,108,4,108,5,108,6,108,7,108,94,111,131,111,153,111,158,111,159,111,160,111,161,111,162,111,163,111,164,111,165,111,166,111,167,111,168,111,170,111,171,111,172,111,173,111,174,111,175,111,176,111,177,111,178,111,179,111,180,111,181,111,182,111,183,111,184,111,185,111,186,111,187,111,188,111,189,111,190,111,191,111,192,111,193,111,194,111,195,111,196,111,197,111,199,111,200,111,201,111,202,111,203,111,205,111,206,111,207,111,209,111,210,111,211,111,214,111,95,61,98,61,101,61,105,61,106,61,79,216,197,223,79,216,235,223,79,216,236,223,79,216,237,223,79,216,238,223,79,216,239,223,79,216,240,223,80,216,17,220,4,112,182,113,183,113,184,113,185,113,186,113,187,113,188,113,189,113,190,113,191,113,192,113,193,113,194,113,195,113,196,113,197,113,198,113,199,113,200,113,201,113,202,113,203,113,204,113,205,113,206,113,60,0,42,0,207,113,208,113,209,113,210,113,211,113,212,113,213,113,214,113,215,113,216,113,217,113,218,113,219,113,220,113,221,113,222,113,243,61,244,61,247,61,252,61,253,61,80,216,189,223,80,216,193,223,80,216,233,223,80,216,234,223,80,216,242,223,156,114,157,114,158,114,159,114,99,115,101,115,102,115,103,115,104,115,105,115,106,115,107,115,108,115,109,115,127,116,141,116,143,116,145,116,146,116,148,116,149,116,150,116,152,116,153,116,154,116,155,116,156,116,157,116,158,116,159,116,160,116,161,116,163,116,164,116,252,62,82,216,66,222,82,216,69,222,82,216,74,222,82,216,78,222,82,216,79,222,82,216,80,222,82,216,81,222,82,216,93,222,82,216,101,222,82,216,102,222,82,216,103,222,162,116,226,116,82,216,15,223,10,117,11,117,12,117,13,117,14,117,128,117,129,117,130,117,83,216,201,220,44,118,45,118,46,118,47,118,48,118,49,118,50,118,51,118,52,118,53,118,54,118,55,118,56,118,57,118,58,118,59,118,60,118,61,118,62,118,63,118,74,118,200,63,159,118,160,118,161,118,187,118,229,118,230,118,231,118,84,216,157,220,148,119,149,119,150,119,151,119,152,119,153,119,154,119,155,119,156,119,157,119,158,119,159,119,160,119,161,119,60,0,42,0,162,119,163,119,98,64,101,64,106,64,84,216,153,222,165,119,214,120,220,120,218,120,219,120,221,120,222,120,223,120,224,120,225,120,226,120,227,120,229,120,230,120,231,120,232,120,233,120,234,120,235,120,236,120,237,120,238,120,216,64,85,216,91,221,85,216,92,221,85,216,93,221,85,216,94,221,85,216,98,221,85,216,101,221,85,216,102,221,164,121,165,121,166,121,169,121,85,216,246,222,68,122,69,122,70,122,71,122,72,122,75,122,76,122,77,122,78,122,79,122,80,122,81,122,82,122,124,65,86,216,93,220,86,216,114,220,83,122,181,122,182,122,183,122,184,122,185,122,186,122,187,122,188,122,189,122,178,65,241,122,86,216,174,222,201,123,212,123,213,123,214,123,215,123,216,123,217,123,218,123,219,123,220,123,221,123,222,123,223,123,224,123,225,123,226,123,227,123,228,123,229,123,230,123,231,123,232,123,233,123,234,123,235,123,236,123,237,123,238,123,239,123,17,124,42,66,43,66,45,66,46,66,48,66,49,66,50,66,87,216,33,220,87,216,74,220,87,216,101,220,249,123,207,124,208,124,209,124,210,124,211,124,212,124,213,124,214,124,215,124,216,124,0,74,8,126,9,126,10,126,11,126,12,126,13,126,60,0,42,0,14,126,15,126,16,126,17,126,18,126,19,126,20,126,21,126,22,126,23,126,24,126,25,126,26,126,27,126,28,126,29,126,30,126,31,126,32,126,33,126,34,126,35,126,36,126,37,126,38,126,39,126,40,126,10,67,48,127,49,127,50,127,51,127,52,127,67,127,121,127,122,127,123,127,124,127,177,127,178,127,238,127,239,127,240,127,241,127,40,128,41,128,42,128,89,216,18,221,108,128,109,128,193,67,89,216,191,221,110,128,144,129,37,103,166,129,167,129,168,129,169,129,170,129,171,129,172,129,173,129,174,129,175,129,176,129,177,129,178,129,179,129,180,129,181,129,182,129,59,68,90,216,28,220,90,216,110,220,183,129,185,129,242,129,251,129,8,130,6,130,9,130,24,130,85,130,86,130,87,130,88,130,89,130,222,132,0,69,3,69,4,69,9,69,11,69,62,133,63,133,64,133,65,133,66,133,67,133,68,133,69,133,70,133,71,133,72,133,73,133,74,133,75,133,76,133,77,133,78,133,80,133,81,133,82,133,83,133,84,133,85,133,86,133,88,133,89,133,90,133,91,133,92,133,93,133,94,133,95,133,96,133,97,133,60,0,42,0,98,133,99,133,100,133,101,133,102,133,103,133,104,133,105,133,106,133,107,133,108,133,109,133,110,133,111,133,112,133,113,133,114,133,115,133,116,133,117,133,91,216,136,222,91,216,139,222,91,216,153,222,91,216,208,222,91,216,209,222,91,216,210,222,91,216,211,222,91,216,212,222,91,216,213,222,91,216,214,222,91,216,215,222,91,216,38,223,140,133,31,250,99,134,100,134,101,134,102,134,121,135,129,135,131,135,132,135,133,135,134,135,135,135,136,135,137,135,138,135,139,135,140,135,141,135,142,135,143,135,144,135,145,135,146,135,147,135,148,135,149,135,150,135,151,135,152,135,153,135,154,135,155,135,156,135,157,135,158,135,159,135,160,135,161,135,162,135,163,135,164,135,165,135,166,135,167,135,168,135,169,135,218,69,221,69,94,136,95,136,96,136,97,136,23,70,93,216,254,221,30,137,31,137,32,137,33,137,34,137,35,137,36,137,37,137,38,137,39,137,40,137,41,137,42,137,43,137,44,137,45,137,46,137,47,137,48,137,49,137,50,137,52,137,79,70,93,216,53,223,93,216,54,223,93,216,65,223,166,137,167,137,168,137,170,137,94,216,112,220,241,137,161,70,220,138,221,138,222,138,223,138,224,138,225,138,226,138,227,138,60,0,42,0,228,138,229,138,230,138,231,138,232,138,234,138,235,138,236,138,237,138,238,138,239,138,240,138,241,138,242,138,243,138,244,138,245,138,246,138,247,138,249,138,250,138,251,138,252,138,253,138,254,138,255,138,0,139,1,139,2,139,3,139,94,216,121,222,94,216,132,222,20,139,107,140,109,140,110,140,78,71,95,216,108,220,144,140,145,140,146,140,147,140,238,140,239,140,240,140,241,140,242,140,243,140,244,140,245,140,95,216,189,221,93,141,94,141,95,141,96,141,108,141,110,141,165,141,166,141,167,141,95,216,46,223,48,142,49,142,50,142,51,142,52,142,53,142,54,142,56,142,57,142,59,142,60,142,61,142,62,142,63,142,64,142,65,142,66,142,67,142,68,142,69,142,96,216,189,220,96,216,190,220,189,142,190,142,45,143,46,143,47,143,48,143,49,143,50,143,51,143,52,143,53,143,54,143,55,143,56,143,57,143,58,143,59,143,60,143,96,216,101,223,153,143,154,143,165,143,166,143,167,143,168,143,169,143,170,143,114,144,116,144,117,144,118,144,120,144,121,144,122,144,123,144,124,144,134,144,173,72,97,216,232,221,97,216,244,221,97,216,0,222,250,144,51,145,52,145,53,145,60,0,42,0,54,145,55,145,141,145,142,145,143,145,144,145,145,145,146,145,147,145,148,145,149,145,150,145,151,145,0,73,6,73,203,146,247,146,248,146,249,146,250,146,251,146,252,146,253,146,254,146,255,146,0,147,1,147,2,147,3,147,4,147,5,147,6,147,7,147,8,147,9,147,10,147,11,147,12,147,13,147,14,147,15,147,16,147,17,147,18,147,19,147,20,147,21,147,22,147,23,147,24,147,25,147,26,147,27,147,28,147,29,147,30,147,31,147,32,147,33,147,34,147,35,147,36,147,37,147,38,147,39,147,41,147,42,147,43,147,44,147,45,147,46,147,47,147,48,147,49,147,50,147,51,147,52,147,53,147,54,147,55,147,56,147,57,147,58,147,59,147,60,147,61,147,62,147,63,147,64,147,65,147,66,147,67,147,68,147,69,147,70,147,72,147,172,159,40,250,53,73,98,216,231,221,98,216,232,221,98,216,249,221,98,216,250,221,98,216,251,221,98,216,252,221,98,216,15,222,98,216,22,222,98,216,37,222,98,216,41,222,122,147,86,149,87,149,88,149,89,149,90,149,91,149,92,149,93,149,94,149,95,149,96,149,181,149,182,149,184,149,185,149,186,149,187,149,188,149,60,0,42,0,189,149,190,149,191,149,193,149,194,149,161,73,167,73,205,149,27,150,166,150,167,150,168,150,169,150,170,150,171,150,231,73,183,150,212,150,213,150,11,151,12,151,13,151,14,151,15,151,16,151,17,151,18,151,19,151,20,151,21,151,22,151,23,151,29,74,100,216,228,220,100,216,229,220,100,216,236,220,100,216,237,220,91,151,92,151,102,151,147,151,148,151,149,151,150,151,151,151,152,151,153,151,210,151,240,151,248,151,36,152,37,152,45,152,46,152,47,152,48,152,49,152,50,152,51,152,52,152,53,152,54,152,55,152,56,152,57,152,58,152,59,152,60,152,61,152,101,216,208,220,101,216,217,220,101,216,218,220,158,152,159,152,160,152,161,152,180,152,181,152,101,216,215,221,217,152,218,152,16,153,29,153,26,153,27,153,28,153,30,153,31,153,32,153,33,153,34,153,35,153,36,153,38,153,39,153,40,153,41,153,101,216,32,223,52,153,158,153,159,153,160,153,225,153,226,153,227,153,228,153,229,153,230,153,231,153,232,153,233,153,234,153,235,153,236,153,237,153,238,153,239,153,240,153,241,153,242,153,102,216,209,220,184,154,185,154,186,154,187,154,188,154,102,216,77,222,191,154,60,0,42,0,237,154,245,154,246,154,247,154,248,154,249,154,250,154,251,154,7,155,40,155,51,155,71,155,122,155,123,155,124,155,125,155,126,155,127,155,128,155,129,155,130,155,131,155,132,155,133,155,135,155,136,155,137,155,138,155,139,155,140,155,141,155,142,155,143,155,144,155,145,155,146,155,147,155,148,155,149,155,150,155,151,155,152,155,163,155,64,76,71,76,73,76,103,216,152,221,103,216,155,221,173,156,174,156,175,156,176,156,177,156,178,156,179,156,180,156,181,156,182,156,183,156,184,156,185,156,186,156,187,156,10,157,15,157,16,157,17,157,18,157,19,157,20,157,21,157,22,157,23,157,24,157,25,157,26,157,27,157,29,157,30,157,31,157,32,157,33,157,34,157,35,157,36,157,37,157,38,157,39,157,40,157,41,157,42,157,43,157,44,157,103,216,222,223,101,158,102,158,103,158,104,158,119,158,126,158,133,158,134,158,135,158,136,158,104,216,159,222,172,158,173,158,174,158,52,77,186,158,197,158,198,158,212,158,213,158,214,158,215,158,216,158,250,158,18,159,60,159,61,159,83,159,141,159,156,159,60,0,39,0,208,253,17,40,39,0,60,0,42,0,31,81,32,81,33,81,34,81,35,81,36,81,37,81,38,81,39,81,40,81,41,81,42,81,44,81,65,216,19,220,65,216,20,220,65,216,31,220,50,81,223,81,65,216,25,222,65,216,26,222,149,82,244,82,245,82,246,82,37,53,38,53,53,83,179,83,83,53,66,216,143,223,125,86,126,86,127,86,128,86,129,86,130,86,131,86,132,86,133,86,134,86,135,86,136,86,137,86,138,86,139,86,140,86,141,86,142,86,143,86,144,86,145,86,146,86,147,86,68,216,79,220,68,216,92,220,68,216,111,220,68,216,117,220,68,216,118,220,68,216,119,220,68,216,120,220,68,216,123,220,68,216,136,220,205,88,206,88,207,88,208,88,209,88,210,88,211,88,212,88,213,88,214,88,215,88,122,54,69,216,138,220,69,216,151,220,69,216,146,222,35,91,36,91,37,91,38,91,39,91,41,91,42,91,43,91,44,91,45,91,46,91,47,91,48,91,49,91,50,91,51,91,53,91,54,91,55,91,70,216,209,220,70,216,214,220,70,216,215,220,70,216,216,220,70,216,217,220,122,91,123,91,241,91,242,91,54,92,55,92,104,92,183,93,184,93,185,93,186,93,188,93,189,93,190,93,191,93,25,56,71,216,106,223,187,93,106,94,107,94,108,94,101,56,102,56,76,95,189,95,190,95,73,216,141,221,60,0,42,0,181,97,188,97,194,97,195,97,199,97,201,97,203,97,209,97,215,97,217,97,218,97,219,97,220,97,221,97,222,97,224,97,225,97,226,97,228,97,229,97,230,97,231,97,232,97,74,216,247,220,50,98,52,98,202,100,206,100,216,100,223,100,224,100,225,100,226,100,227,100,228,100,230,100,232,100,233,100,235,100,236,100,237,100,238,100,239,100,240,100,241,100,92,58,94,58,75,216,238,221,128,101,129,101,130,101,131,101,163,101,181,101,182,101,218,101,206,102,208,102,209,102,210,102,211,102,212,102,213,102,214,102,215,102,218,102,32,59,33,59,34,59,76,216,210,222,217,102,50,59,64,59,125,106,126,106,127,106,128,106,129,106,130,106,131,106,132,106,133,106,134,106,135,106,136,106,137,106,138,106,139,106,140,106,141,106,142,106,143,106,144,106,145,106,146,106,147,106,148,106,149,106,150,106,151,106,152,106,153,106,154,106,155,106,156,106,157,106,158,106,159,106,160,106,161,106,162,106,163,106,164,106,165,106,166,106,167,106,168,106,169,106,170,106,236,59,242,59,243,59,244,59,77,216,3,223,77,216,22,223,77,216,32,223,77,216,45,223,77,216,47,223,60,0,42,0,77,216,63,223,219,106,91,107,92,107,93,107,70,60,172,107,173,107,174,107,218,107,8,108,9,108,10,108,169,111,204,111,128,111,212,111,213,111,215,111,216,111,217,111,218,111,219,111,220,111,221,111,222,111,223,111,224,111,225,111,226,111,227,111,228,111,229,111,230,111,231,111,232,111,233,111,234,111,235,111,236,111,237,111,238,111,239,111,240,111,241,111,242,111,244,111,245,111,246,111,248,111,111,61,115,61,117,61,79,216,192,223,80,216,57,220,80,216,58,220,80,216,59,220,80,216,60,220,80,216,61,220,80,216,87,220,223,113,224,113,225,113,226,113,227,113,228,113,229,113,230,113,231,113,232,113,233,113,234,113,235,113,236,113,237,113,238,113,239,113,240,113,241,113,242,113,243,113,244,113,245,113,246,113,247,113,0,62,1,62,2,62,80,216,248,223,81,216,4,220,53,114,70,114,160,114,85,62,110,115,111,115,112,115,113,115,114,115,115,115,116,115,144,116,151,116,250,62,165,116,166,116,168,116,169,116,170,116,171,116,172,116,173,116,174,116,175,116,176,116,177,116,178,116,179,116,180,116,255,62,0,63,1,63,82,216,113,222,82,216,119,222,82,216,120,222,82,216,121,222,82,216,122,222,15,117,60,0,42,0,16,117,17,117,18,117,63,63,131,117,132,117,83,216,217,220,64,118,65,118,66,118,67,118,68,118,69,118,70,118,71,118,72,118,73,118,75,118,76,118,77,118,78,118,83,216,165,222,83,216,167,222,162,118,163,118,164,118,165,118,188,118,232,118,233,118,234,118,9,64,164,119,166,119,167,119,168,119,169,119,170,119,171,119,172,119,173,119,174,119,175,119,176,119,177,119,178,119,179,119,180,119,181,119,182,119,183,119,111,64,113,64,84,216,199,222,239,119,240,119,239,120,240,120,241,120,242,120,243,120,244,120,245,120,246,120,247,120,248,120,249,120,250,120,251,120,252,120,253,120,254,120,255,120,0,121,1,121,2,121,3,121,4,121,5,121,223,64,85,216,129,221,85,216,132,221,85,216,143,221,167,121,168,121,170,121,171,121,85,216,6,223,73,122,84,122,85,122,86,122,87,122,88,122,89,122,90,122,91,122,92,122,93,122,94,122,127,65,190,122,191,122,192,122,193,122,194,122,185,65,242,122,243,122,244,122,86,216,175,222,21,124,240,123,241,123,242,123,243,123,244,123,245,123,246,123,247,123,248,123,250,123,251,123,252,123,253,123,254,123,255,123,0,124,60,0,42,0,1,124,2,124,3,124,4,124,5,124,6,124,7,124,8,124,9,124,10,124,11,124,12,124,13,124,14,124,15,124,16,124,18,124,19,124,20,124,22,124,23,124,59,66,64,66,65,66,66,66,67,66,68,66,69,66,87,216,145,220,87,216,164,220,87,216,192,220,24,124,217,124,218,124,219,124,220,124,221,124,222,124,223,124,224,124,225,124,226,124,232,124,162,66,41,126,42,126,43,126,44,126,45,126,46,126,47,126,48,126,49,126,50,126,51,126,52,126,53,126,54,126,55,126,56,126,57,126,58,126,59,126,60,126,61,126,62,126,63,126,64,126,65,126,66,126,67,126,68,126,69,126,70,126,71,126,73,126,74,126,76,126,77,126,88,216,2,221,88,216,33,221,72,126,68,127,69,127,70,127,125,127,126,127,127,127,129,127,88,216,190,223,242,127,243,127,244,127,245,127,246,127,252,127,89,216,132,220,89,216,136,220,89,216,137,220,43,128,44,128,111,128,112,128,113,128,114,128,115,128,116,128,89,216,38,222,165,129,184,129,186,129,187,129,188,129,189,129,190,129,191,129,192,129,193,129,194,129,195,129,196,129,197,129,198,129,199,129,200,129,201,129,202,129,204,129,60,0,42,0,90,216,70,220,90,216,94,220,232,129,233,129,90,216,242,221,90,130,91,130,92,130,93,130,113,130,22,69,27,69,29,69,32,69,38,69,39,69,87,133,118,133,119,133,120,133,121,133,122,133,123,133,124,133,125,133,126,133,127,133,128,133,129,133,130,133,131,133,132,133,133,133,134,133,135,133,136,133,137,133,138,133,139,133,141,133,142,133,143,133,144,133,145,133,146,133,147,133,148,133,149,133,150,133,151,133,152,133,153,133,154,133,155,133,156,133,157,133,158,133,159,133,160,133,161,133,162,133,163,133,164,133,165,133,166,133,167,133,168,133,170,133,171,133,172,133,174,133,169,159,91,216,115,223,91,216,116,223,91,216,159,223,91,216,161,223,173,133,175,133,103,134,104,134,170,135,171,135,172,135,173,135,174,135,175,135,176,135,177,135,178,135,179,135,180,135,181,135,182,135,183,135,184,135,185,135,186,135,187,135,188,135,189,135,190,135,191,135,192,135,193,135,194,135,195,135,196,135,197,135,198,135,199,135,200,135,201,135,202,135,203,135,204,135,205,135,206,135,207,135,208,135,209,135,210,135,233,69,234,69,238,69,92,216,255,223,93,216,34,220,222,135,51,137,60,0,42,0,53,137,54,137,55,137,56,137,57,137,58,137,59,137,60,137,61,137,62,137,63,137,64,137,65,137,66,137,67,137,68,137,69,137,84,137,91,70,82,137,203,159,93,216,94,223,171,137,172,137,173,137,174,137,175,137,242,137,243,137,94,216,36,221,4,139,5,139,6,139,7,139,8,139,9,139,10,139,11,139,12,139,13,139,14,139,15,139,16,139,17,139,18,139,19,139,21,139,22,139,23,139,24,139,25,139,26,139,27,139,28,139,29,139,30,139,31,139,32,139,33,139,34,139,0,71,94,216,189,222,94,216,190,222,38,71,63,140,64,140,65,140,79,140,111,140,112,140,113,140,114,140,115,140,148,140,149,140,150,140,246,140,247,140,248,140,249,140,250,140,251,140,252,140,253,140,95,216,220,221,97,141,98,141,111,141,168,141,70,142,71,142,72,142,73,142,74,142,75,142,76,142,77,142,78,142,79,142,80,142,81,142,82,142,83,142,96,216,232,220,96,216,233,220,96,216,244,220,61,143,62,143,63,143,64,143,65,143,66,143,67,143,68,143,69,143,96,216,109,223,96,216,125,223,171,143,125,144,126,144,127,144,128,144,129,144,130,144,131,144,132,144,133,144,137,144,60,0,42,0,174,72,97,216,11,222,56,145,57,145,152,145,153,145,154,145,155,145,156,145,157,145,158,145,159,145,160,145,161,145,162,145,163,145,164,145,98,216,51,221,40,147,71,147,73,147,74,147,75,147,76,147,77,147,78,147,79,147,80,147,81,147,82,147,83,147,84,147,85,147,86,147,87,147,88,147,89,147,90,147,91,147,92,147,93,147,94,147,95,147,96,147,97,147,98,147,99,147,100,147,101,147,102,147,103,147,104,147,105,147,106,147,107,147,108,147,109,147,110,147,111,147,112,147,113,147,114,147,115,147,116,147,117,147,118,147,119,147,120,147,121,147,123,147,124,147,125,147,126,147,127,147,128,147,129,147,130,147,131,147,132,147,133,147,134,147,135,147,60,73,98,216,50,222,98,216,54,222,98,216,68,222,98,216,69,222,98,216,70,222,98,216,71,222,98,216,72,222,98,216,73,222,98,216,74,222,98,216,75,222,98,216,89,222,98,216,90,222,98,216,129,222,98,216,130,222,98,216,131,222,161,147,175,147,97,149,98,149,99,149,100,149,101,149,102,149,103,149,104,149,105,149,106,149,107,149,192,149,183,149,195,149,196,149,197,149,198,149,199,149,200,149,201,149,202,149,203,149,204,149,206,149,207,149,172,150,173,150,174,150,60,0,42,0,175,150,176,150,177,150,178,150,184,150,214,150,1,74,2,74,24,151,25,151,26,151,27,151,28,151,29,151,30,151,31,151,32,151,36,74,100,216,13,221,100,216,16,221,33,151,74,74,154,151,155,151,156,151,157,151,158,151,159,151,160,151,161,151,211,151,212,151,213,151,241,151,64,152,65,152,66,152,67,152,68,152,69,152,70,152,71,152,72,152,73,152,74,152,209,74,101,216,229,220,101,216,231,220,182,152,183,152,16,75,101,216,233,221,101,216,244,221,32,75,37,153,42,153,43,153,44,153,45,153,47,153,48,153,49,153,50,153,51,153,53,153,55,153,101,216,50,223,66,153,70,153,152,153,161,153,162,153,163,153,112,75,114,75,244,153,245,153,246,153,247,153,248,153,249,153,250,153,251,153,252,153,253,153,254,153,255,153,0,154,1,154,2,154,3,154,142,75,144,75,102,216,234,220,243,153,164,154,189,154,190,154,252,154,253,154,254,154,255,154,0,155,1,155,2,155,52,155,72,155,73,155,134,155,153,155,154,155,155,155,156,155,157,155,158,155,159,155,160,155,161,155,162,155,164,155,165,155,166,155,167,155,168,155,169,155,170,155,171,155,172,155,60,0,42,0,173,155,174,155,175,155,176,155,177,155,178,155,179,155,180,155,186,155,75,76,76,76,77,76,206,155,188,156,189,156,191,156,192,156,193,156,194,156,195,156,196,156,197,156,198,156,199,156,200,156,201,156,202,156,203,156,190,156,28,157,45,157,46,157,47,157,48,157,49,157,50,157,51,157,52,157,53,157,54,157,55,157,56,157,57,157,58,157,59,157,60,157,61,157,62,157,63,157,64,157,65,157,66,157,67,157,68,157,69,157,70,157,71,157,72,157,73,157,205,76,212,76,104,216,20,220,103,157,105,158,106,158,107,158,108,158,137,158,138,158,139,158,104,216,178,222,175,158,176,158,199,158,200,158,201,158,207,158,218,158,219,158,220,158,221,158,222,158,105,216,52,220,251,158,255,158,34,159,35,159,36,159,62,159,63,159,75,159,105,216,198,221,84,159,98,159,139,159,140,159,160,159,60,0,39,0,208,253,18,40,39,0,60,0,42,0,45,81,46,81,47,81,49,81,175,52,65,216,254,220,129,81,65,216,165,221,66,216,194,222,226,83,148,86,149,86,150,86,151,86,152,86,153,86,154,86,155,86,156,86,157,86,158,86,159,86,160,86,161,86,162,86,163,86,164,86,9,54,68,216,150,220,68,216,157,220,68,216,180,220,68,216,191,220,68,216,192,220,68,216,193,220,68,216,199,220,68,216,200,220,68,216,201,220,68,216,207,220,68,216,211,220,174,86,216,88,217,88,69,216,182,220,17,89,19,89,112,89,56,91,58,91,59,91,60,91,48,55,49,55,70,216,250,220,105,92,106,92,192,93,193,93,194,93,109,94,110,94,235,94,77,95,93,95,94,95,213,97,214,97,216,97,223,97,227,97,155,57,233,97,234,97,235,97,237,97,238,97,240,97,241,97,243,97,244,97,161,57,51,98,231,100,234,100,229,100,242,100,244,100,245,100,246,100,247,100,248,100,249,100,250,100,251,100,252,100,253,100,254,100,255,100,1,101,2,101,3,101,4,101,5,101,6,101,97,58,102,58,103,58,75,216,13,222,1,141,171,58,76,216,102,220,148,101,76,216,142,220,183,101,219,101,216,102,219,102,220,102,35,59,36,59,37,59,38,59,39,59,40,59,76,216,224,222,76,216,225,222,38,103,171,106,172,106,60,0,42,0,173,106,174,106,175,106,176,106,177,106,178,106,179,106,180,106,181,106,182,106,183,106,184,106,185,106,186,106,187,106,188,106,189,106,190,106,191,106,192,106,193,106,194,106,195,106,196,106,197,106,198,106,199,106,200,106,201,106,202,106,77,216,102,223,77,216,129,223,225,106,237,106,94,107,95,107,120,107,175,107,201,107,11,108,247,111,249,111,250,111,251,111,252,111,253,111,254,111,255,111,0,112,1,112,2,112,3,112,5,112,6,112,7,112,8,112,9,112,10,112,11,112,12,112,13,112,14,112,15,112,16,112,17,112,18,112,19,112,20,112,125,61,80,216,133,220,80,216,139,220,80,216,140,220,80,216,141,220,80,216,145,220,38,112,248,113,249,113,250,113,251,113,252,113,253,113,254,113,255,113,0,114,1,114,3,114,4,62,81,216,53,220,81,216,54,220,90,216,168,221,117,115,118,115,119,115,167,116,181,116,182,116,184,116,185,116,187,116,188,116,190,116,191,116,192,116,193,116,194,116,82,216,140,222,82,216,147,222,82,216,148,222,82,216,149,222,82,216,150,222,82,216,164,222,82,216,165,222,82,216,166,222,82,216,167,222,19,117,20,117,21,117,133,117,79,118,80,118,81,118,82,118,83,118,84,118,85,118,86,118,87,118,88,118,60,0,42,0,89,118,90,118,91,118,92,118,93,118,94,118,100,118,166,118,167,118,168,118,83,216,169,223,189,118,249,63,235,118,236,118,184,119,185,119,186,119,187,119,188,119,189,119,190,119,191,119,192,119,193,119,194,119,84,216,216,222,6,121,7,121,8,121,9,121,10,121,11,121,12,121,13,121,14,121,15,121,16,121,17,121,18,121,19,121,20,121,21,121,22,121,172,121,173,121,174,121,175,121,32,65,95,122,96,122,97,122,98,122,99,122,129,65,86,216,200,220,196,122,197,122,245,122,25,124,26,124,27,124,28,124,29,124,30,124,31,124,32,124,33,124,34,124,35,124,36,124,37,124,38,124,39,124,40,124,41,124,42,124,43,124,45,124,46,124,47,124,48,124,49,124,50,124,78,66,85,66,87,216,193,220,87,216,254,220,87,216,32,221,227,124,228,124,229,124,230,124,231,124,166,66,87,216,26,223,78,126,79,126,80,126,81,126,82,126,83,126,84,126,85,126,86,126,87,126,88,126,89,126,90,126,91,126,92,126,93,126,94,126,95,126,96,126,97,126,98,126,99,126,100,126,101,126,103,126,113,126,24,67,88,216,89,221,88,216,90,221,88,216,91,221,88,216,92,221,71,127,60,0,42,0,72,127,73,127,88,216,88,222,128,127,130,127,179,127,180,127,181,127,247,127,248,127,249,127,250,127,251,127,151,67,89,216,141,220,89,216,152,220,45,128,46,128,117,128,118,128,119,128,205,129,206,129,207,129,208,129,209,129,210,129,211,129,67,68,68,68,69,68,90,216,136,220,10,130,25,130,94,130,95,130,96,130,143,68,46,69,51,69,54,69,59,69,61,69,63,69,64,69,67,69,68,69,169,133,176,133,177,133,178,133,179,133,180,133,181,133,182,133,183,133,184,133,185,133,186,133,187,133,188,133,189,133,190,133,191,133,192,133,193,133,194,133,195,133,196,133,197,133,198,133,199,133,200,133,201,133,202,133,203,133,204,133,205,133,206,133,207,133,208,133,210,133,211,133,91,216,190,223,91,216,222,223,91,216,223,223,92,216,14,220,105,134,155,69,215,135,211,135,212,135,214,135,216,135,217,135,218,135,219,135,220,135,221,135,223,135,224,135,226,135,227,135,228,135,229,135,230,135,231,135,232,135,233,135,234,135,235,135,236,135,237,135,238,135,239,135,240,135,241,135,242,135,243,135,244,135,245,135,14,136,93,216,80,220,93,216,132,220,93,216,134,220,70,137,71,137,72,137,60,0,42,0,73,137,74,137,75,137,76,137,77,137,78,137,79,137,80,137,81,137,83,137,85,137,93,216,132,223,93,216,133,223,134,137,176,137,177,137,178,137,179,137,141,70,244,137,100,157,35,139,36,139,37,139,38,139,39,139,40,139,41,139,42,139,43,139,44,139,45,139,46,139,47,139,48,139,49,139,50,139,51,139,52,139,53,139,54,139,55,139,56,139,57,139,58,139,59,139,60,139,61,139,62,139,94,216,244,222,71,139,66,140,80,140,116,140,117,140,79,71,151,140,152,140,153,140,254,140,255,140,0,141,2,141,3,141,4,141,5,141,169,141,84,142,85,142,86,142,87,142,88,142,89,142,90,142,91,142,92,142,93,142,94,142,95,142,96,142,97,142,98,142,99,142,100,142,101,142,102,142,103,142,110,142,128,142,32,72,96,216,46,221,105,142,191,142,192,142,193,142,96,216,124,222,70,143,71,143,72,143,73,143,74,143,75,143,76,143,113,72,96,216,138,223,172,143,135,144,136,144,97,216,37,222,40,145,58,145,59,145,60,145,61,145,62,145,165,145,166,145,167,145,168,145,169,145,170,145,171,145,172,145,208,145,136,147,137,147,138,147,139,147,60,0,42,0,140,147,141,147,142,147,143,147,144,147,145,147,146,147,147,147,148,147,149,147,150,147,151,147,152,147,153,147,154,147,155,147,156,147,157,147,158,147,159,147,160,147,162,147,163,147,164,147,165,147,166,147,167,147,168,147,170,147,171,147,172,147,173,147,174,147,176,147,177,147,178,147,179,147,180,147,181,147,182,147,183,147,184,147,185,147,186,147,187,147,188,147,189,147,190,147,191,147,178,159,62,73,68,73,69,73,71,73,98,216,154,222,98,216,155,222,98,216,156,222,98,216,192,222,98,216,198,222,98,216,203,222,98,216,204,222,98,216,206,222,108,149,109,149,110,149,111,149,112,149,113,149,208,149,209,149,210,149,211,149,212,149,213,149,214,149,215,149,216,149,99,216,153,221,179,150,215,150,216,150,217,150,218,150,219,150,220,150,221,150,222,150,223,150,224,150,3,74,226,150,34,151,35,151,36,151,37,151,38,74,93,151,162,151,163,151,164,151,165,151,166,151,167,151,168,151,169,151,170,151,171,151,172,151,173,151,174,151,175,151,176,151,214,151,215,151,216,151,217,151,218,151,150,74,249,151,250,151,101,216,51,220,63,152,62,152,75,152,76,152,77,152,78,152,79,152,60,0,42,0,80,152,81,152,82,152,83,152,84,152,85,152,162,152,163,152,184,152,185,152,186,152,46,153,73,75,75,75,76,75,54,153,56,153,57,153,58,153,59,153,60,153,61,153,62,153,63,153,64,153,65,153,164,153,165,153,4,154,5,154,6,154,7,154,8,154,9,154,10,154,11,154,12,154,13,154,14,154,15,154,16,154,17,154,18,154,19,154,147,75,150,75,151,75,102,216,241,220,102,216,250,220,102,216,3,221,102,216,5,221,192,154,193,154,220,154,3,155,4,155,5,155,6,155,8,155,0,76,1,76,41,155,53,155,54,155,74,155,75,155,76,155,77,155,78,155,79,155,38,76,181,155,182,155,183,155,184,155,185,155,187,155,188,155,189,155,190,155,191,155,192,155,193,155,194,155,195,155,196,155,198,155,199,155,200,155,201,155,202,155,203,155,204,155,205,155,207,155,208,155,209,155,210,155,211,155,253,155,87,76,103,216,246,221,204,156,205,156,206,156,207,156,208,156,209,156,210,156,164,76,74,157,75,157,76,157,77,157,78,157,79,157,80,157,81,157,82,157,83,157,84,157,85,157,86,157,87,157,88,157,89,157,90,157,91,157,60,0,42,0,92,157,93,157,94,157,95,157,96,157,98,157,99,157,101,157,109,158,110,158,111,158,112,158,140,158,141,158,142,158,143,158,144,158,38,77,104,216,180,222,104,216,182,222,104,216,186,222,104,216,189,222,177,158,178,158,54,77,191,158,202,158,203,158,223,158,224,158,225,158,0,159,1,159,2,159,118,77,21,159,22,159,37,159,38,159,39,159,40,159,41,159,42,159,43,159,44,159,76,159,85,159,142,159,60,0,39,0,208,253,19,40,39,0,60,0,42,0,38,52,51,81,52,81,53,81,163,52,150,82,247,82,248,82,54,83,180,83,225,88,165,86,166,86,167,86,168,86,169,86,170,86,171,86,172,86,173,86,175,86,176,86,68,216,228,220,68,216,244,220,68,216,245,220,68,216,246,220,218,88,219,88,220,88,221,88,222,88,223,88,224,88,226,88,18,89,61,91,57,91,62,91,63,91,50,55,51,55,52,55,53,55,70,216,3,221,70,216,4,221,70,216,5,221,124,91,243,91,244,91,245,91,107,92,195,93,196,93,197,93,32,56,34,56,71,216,158,223,71,216,161,223,112,94,72,216,115,221,236,94,237,94,144,159,95,95,191,95,236,97,239,97,242,97,245,97,246,97,247,97,74,216,38,221,74,216,57,221,251,97,0,101,7,101,8,101,9,101,10,101,11,101,12,101,13,101,14,101,15,101,16,101,18,101,75,216,54,222,75,216,66,222,132,101,220,101,221,101,222,101,221,102,222,102,223,102,224,102,225,102,226,102,41,59,42,59,203,106,204,106,205,106,206,106,207,106,208,106,209,106,210,106,211,106,212,106,213,106,214,106,215,106,216,106,217,106,218,106,220,106,221,106,222,106,223,106,224,106,226,106,227,106,228,106,229,106,230,106,235,106,0,60,60,0,42,0,1,60,2,60,4,60,77,216,162,223,77,216,188,223,77,216,194,223,231,106,96,107,176,107,177,107,78,216,219,222,12,108,243,111,21,112,22,112,23,112,24,112,25,112,26,112,27,112,28,112,29,112,30,112,31,112,32,112,33,112,34,112,35,112,36,112,37,112,39,112,40,112,41,112,43,112,44,112,45,112,46,112,133,61,136,61,138,61,80,216,201,220,80,216,225,220,107,216,255,221,2,114,4,114,5,114,6,114,7,114,8,114,9,114,10,114,12,114,13,114,14,114,21,114,6,62,81,216,90,220,81,216,91,220,88,114,161,114,162,114,163,114,164,114,165,114,166,114,120,115,121,115,122,115,183,116,189,116,195,116,196,116,197,116,198,116,199,116,200,116,201,116,202,116,203,116,4,63,6,63,82,216,177,222,82,216,178,222,82,216,179,222,82,216,186,222,82,216,187,222,82,216,188,222,227,116,22,117,134,117,135,117,95,118,96,118,97,118,99,118,169,118,84,216,44,220,195,119,196,119,197,119,198,119,199,119,200,119,201,119,202,119,84,216,14,223,84,216,17,223,84,216,19,223,241,119,23,121,24,121,25,121,26,121,27,121,28,121,29,121,30,121,31,121,32,121,33,121,85,216,185,221,176,121,177,121,85,216,29,223,100,122,101,122,102,122,103,122,60,0,42,0,104,122,105,122,106,122,107,122,86,216,222,220,86,216,225,220,198,122,44,124,51,124,52,124,53,124,54,124,55,124,56,124,57,124,58,124,59,124,60,124,61,124,62,124,63,124,64,124,65,124,66,124,79,66,96,66,87,216,48,221,87,216,67,221,233,124,234,124,235,124,236,124,237,124,87,216,75,223,75,126,102,126,104,126,105,126,106,126,107,126,108,126,109,126,110,126,111,126,112,126,114,126,115,126,116,126,117,126,118,126,119,126,120,126,121,126,122,126,32,67,53,127,74,127,75,127,131,127,132,127,133,127,134,127,182,127,183,127,184,127,185,127,253,127,254,127,120,128,203,129,212,129,213,129,215,129,216,129,70,68,90,216,138,220,90,216,147,220,90,216,38,221,11,130,26,130,97,130,98,130,99,130,100,130,101,130,118,130,69,69,70,69,81,69,209,133,213,133,214,133,215,133,216,133,217,133,218,133,219,133,220,133,221,133,222,133,223,133,224,133,225,133,226,133,227,133,228,133,229,133,230,133,231,133,232,133,233,133,234,133,235,133,236,133,237,133,239,133,240,133,241,133,242,133,243,133,244,133,245,133,92,216,75,220,92,216,82,220,92,216,83,220,247,133,248,133,1,136,60,0,42,0,213,135,246,135,247,135,248,135,249,135,250,135,251,135,252,135,253,135,254,135,255,135,0,136,2,136,3,136,4,136,5,136,6,136,7,136,8,136,9,136,10,136,11,136,12,136,13,136,15,136,30,136,86,137,87,137,88,137,89,137,90,137,91,137,92,137,93,137,94,137,95,137,96,137,97,137,98,137,135,137,136,137,180,137,181,137,182,137,183,137,184,137,245,137,246,137,63,139,64,139,65,139,66,139,67,139,68,139,70,139,72,139,73,139,74,139,75,139,76,139,78,139,79,139,80,139,81,139,82,139,83,139,84,139,85,139,86,139,87,139,88,139,89,139,90,139,91,139,92,139,94,216,6,223,94,216,11,223,94,216,24,223,54,140,67,140,119,140,118,140,154,140,6,141,7,141,8,141,9,141,10,141,11,141,12,141,170,141,171,141,172,141,173,141,104,142,106,142,107,142,108,142,109,142,111,142,112,142,113,142,114,142,115,142,116,142,117,142,118,142,119,142,120,142,121,142,122,142,123,142,124,142,125,142,126,142,127,142,38,72,96,216,79,221,96,216,93,221,96,216,111,221,135,142,194,142,195,142,196,142,197,142,77,143,78,143,79,143,60,0,42,0,80,143,81,143,82,143,83,143,84,143,173,143,180,143,138,144,139,144,140,144,97,216,59,222,63,145,64,145,66,145,173,145,174,145,175,145,176,145,177,145,17,73,169,147,192,147,193,147,194,147,195,147,196,147,197,147,198,147,199,147,200,147,201,147,202,147,203,147,204,147,205,147,206,147,207,147,208,147,209,147,210,147,211,147,212,147,213,147,214,147,215,147,216,147,217,147,218,147,219,147,220,147,221,147,222,147,223,147,224,147,225,147,226,147,227,147,228,147,229,147,230,147,231,147,232,147,233,147,234,147,235,147,236,147,237,147,238,147,239,147,240,147,241,147,242,147,249,147,73,73,81,73,83,73,98,216,222,222,98,216,223,222,98,216,224,222,98,216,225,222,98,216,226,222,98,216,227,222,98,216,229,222,98,216,234,222,98,216,252,222,98,216,12,223,114,149,125,149,217,149,218,149,219,149,220,149,221,149,180,150,225,150,227,150,4,74,38,151,39,151,40,151,41,151,42,151,43,151,44,151,45,151,100,216,60,221,100,216,77,221,100,216,91,221,97,151,177,151,178,151,179,151,180,151,181,151,182,151,183,151,220,151,221,151,222,151,223,151,242,151,251,151,252,151,86,152,87,152,88,152,89,152,90,152,60,0,42,0,91,152,92,152,93,152,94,152,228,74,164,152,187,152,188,152,189,152,190,152,191,152,192,152,25,75,67,153,83,75,68,153,69,153,71,153,72,153,73,153,166,153,167,153,102,216,87,220,20,154,21,154,22,154,23,154,24,154,25,154,26,154,27,154,28,154,29,154,30,154,31,154,32,154,33,154,34,154,35,154,36,154,37,154,38,154,39,154,40,154,157,75,102,216,47,221,165,154,194,154,195,154,197,154,9,155,10,155,11,155,12,155,13,155,14,155,15,155,4,76,7,76,55,155,197,155,212,155,213,155,214,155,215,155,216,155,217,155,218,155,219,155,220,155,221,155,222,155,223,155,224,155,225,155,226,155,227,155,228,155,229,155,230,155,231,155,232,155,233,155,234,155,235,155,236,155,237,155,238,155,239,155,240,155,241,155,242,155,243,155,244,155,245,155,91,76,103,216,6,222,103,216,45,222,250,155,211,156,212,156,213,156,214,156,215,156,216,156,217,156,218,156,219,156,97,157,102,157,104,157,105,157,106,157,107,157,108,157,109,157,110,157,111,157,112,157,113,157,114,157,115,157,116,157,117,157,118,157,119,157,120,157,121,157,60,0,42,0,122,157,123,157,124,157,125,157,126,157,127,157,128,157,129,157,130,157,131,157,132,157,133,157,134,157,135,157,136,157,137,157,138,157,139,157,140,157,141,157,142,157,143,157,145,157,225,76,226,76,104,216,135,220,113,158,114,158,120,158,145,158,146,158,147,158,148,158,149,158,150,158,151,158,179,158,180,158,192,158,76,77,226,158,227,158,252,158,3,159,4,159,119,77,23,159,45,159,64,159,65,159,77,159,86,159,87,159,88,159,143,159,105,216,169,222,60,0,39,0,208,253,20,40,39,0,60,0,42,0,54,81,165,52,55,83,177,86,178,86,179,86,180,86,181,86,182,86,183,86,184,86,185,86,68,216,47,221,188,86,37,54,227,88,228,88,229,88,69,216,232,220,64,91,65,91,66,91,67,91,68,91,69,91,70,91,54,55,55,55,56,55,70,216,16,221,70,216,17,221,70,216,18,221,70,216,21,221,125,91,126,91,246,91,198,93,199,93,200,93,201,93,202,93,204,93,113,94,72,216,122,221,238,94,239,94,240,94,192,95,193,95,248,97,164,57,249,97,250,97,74,216,79,221,19,101,20,101,21,101,22,101,23,101,24,101,25,101,26,101,112,58,133,101,134,101,223,101,227,102,228,102,229,102,230,102,231,102,232,102,43,59,76,216,0,223,39,103,232,106,233,106,234,106,236,106,238,106,239,106,240,106,241,106,242,106,243,106,244,106,245,106,246,106,9,60,10,60,13,60,17,60,77,216,213,223,77,216,214,223,77,216,215,223,249,106,42,112,47,112,48,112,49,112,50,112,51,112,52,112,53,112,54,112,55,112,56,112,57,112,58,112,59,112,60,112,61,112,62,112,63,112,64,112,65,112,143,61,145,61,80,216,236,220,80,216,4,221,66,112,11,114,15,114,16,114,17,114,18,114,19,114,20,114,60,0,42,0,22,114,23,114,24,114,10,62,81,216,115,220,81,216,135,220,81,216,136,220,167,114,168,114,81,216,6,223,123,115,124,115,125,115,186,116,204,116,205,116,206,116,207,116,208,116,209,116,210,116,7,63,82,216,192,222,82,216,199,222,136,117,137,117,98,118,101,118,102,118,170,118,171,118,190,118,250,63,237,118,203,119,204,119,205,119,206,119,207,119,242,119,34,121,35,121,36,121,37,121,38,121,39,121,40,121,41,121,42,121,43,121,44,121,178,121,108,122,109,122,110,122,111,122,199,122,246,122,247,122,67,124,68,124,69,124,70,124,71,124,72,124,73,124,74,124,75,124,76,124,77,124,78,124,79,124,85,124,238,124,239,124,240,124,174,66,123,126,124,126,125,126,126,126,127,126,128,126,129,126,130,126,131,126,38,67,88,216,173,221,88,216,174,221,88,216,178,221,76,127,88,216,53,223,186,127,255,127,0,128,47,128,121,128,122,128,123,128,124,128,214,129,217,129,218,129,219,129,220,129,90,216,181,221,102,130,103,130,104,130,105,130,36,134,82,69,84,69,85,69,87,69,88,69,92,69,238,133,246,133,249,133,250,133,251,133,252,133,253,133,254,133,255,133,0,134,1,134,60,0,42,0,2,134,3,134,4,134,5,134,6,134,7,134,8,134,9,134,10,134,11,134,12,134,13,134,14,134,15,134,16,134,17,134,19,134,20,134,34,134,92,216,136,220,92,216,173,220,92,216,174,220,92,216,175,220,18,134,27,134,48,134,16,136,17,136,18,136,19,136,20,136,21,136,22,136,23,136,24,136,25,136,0,70,1,70,99,137,100,137,101,137,102,137,103,137,104,137,185,137,186,137,187,137,247,137,248,137,249,137,77,139,93,139,94,139,95,139,96,139,97,139,98,139,99,139,100,139,101,139,102,139,103,139,104,139,105,139,106,139,107,139,108,139,109,139,110,139,111,139,112,139,113,139,114,139,19,71,24,71,94,216,56,223,94,216,57,223,94,216,58,223,81,140,95,216,18,220,13,141,14,141,15,141,174,141,129,142,130,142,131,142,132,142,133,142,134,142,136,142,137,142,96,216,137,221,198,142,85,143,86,143,87,143,88,143,89,143,90,143,174,143,141,144,65,145,67,145,178,145,179,145,180,145,181,145,182,145,183,145,184,145,203,145,243,147,245,147,246,147,247,147,248,147,250,147,251,147,252,147,253,147,254,147,255,147,0,148,1,148,2,148,3,148,4,148,60,0,42,0,5,148,6,148,7,148,8,148,9,148,10,148,11,148,12,148,13,148,14,148,15,148,16,148,17,148,18,148,19,148,20,148,21,148,22,148,23,148,24,148,25,148,26,148,27,148,28,148,29,148,30,148,31,148,32,148,33,148,34,148,35,148,36,148,37,148,38,148,39,148,40,148,98,216,19,223,98,216,33,223,98,216,34,223,98,216,43,223,98,216,44,223,98,216,45,223,98,216,47,223,98,216,70,223,98,216,76,223,98,216,78,223,98,216,80,223,47,148,60,148,115,149,116,149,222,149,223,149,224,149,225,149,99,216,185,221,181,150,46,151,47,151,48,151,49,151,51,151,52,151,100,216,94,221,100,216,112,221,75,74,184,151,185,151,186,151,187,151,219,151,224,151,253,151,254,151,255,151,95,152,96,152,97,152,98,152,99,152,165,152,193,152,194,152,195,152,196,152,74,153,75,153,76,153,77,153,78,153,80,153,81,153,82,153,83,153,89,153,168,153,41,154,42,154,43,154,44,154,45,154,46,154,47,154,48,154,49,154,50,154,51,154,52,154,53,154,54,154,55,154,56,154,102,216,69,221,102,216,71,221,102,216,72,221,102,216,73,221,102,216,93,221,102,216,106,221,166,154,167,154,196,154,198,154,199,154,200,154,201,154,202,154,203,154,204,154,60,0,42,0,16,155,17,155,18,155,19,155,42,155,56,155,80,155,251,155,246,155,247,155,248,155,249,155,252,155,254,155,255,155,0,156,1,156,2,156,3,156,4,156,5,156,6,156,7,156,8,156,9,156,10,156,11,156,12,156,13,156,14,156,15,156,16,156,17,156,18,156,19,156,20,156,21,156,22,156,23,156,24,156,25,156,26,156,27,156,32,156,109,76,103,216,104,222,64,156,220,156,221,156,222,156,223,156,144,157,146,157,147,157,148,157,149,157,150,157,151,157,152,157,153,157,154,157,155,157,156,157,157,157,158,157,159,157,160,157,161,157,162,157,163,157,164,157,165,157,166,157,167,157,168,157,169,157,170,157,171,157,237,76,104,216,185,220,104,216,225,220,104,216,237,220,104,216,243,220,104,216,248,220,191,157,121,158,152,158,153,158,154,158,155,158,181,158,104,216,81,223,193,158,104,216,169,223,77,77,228,158,229,158,230,158,231,158,232,158,233,158,234,158,105,216,91,220,13,159,46,159,47,159,48,159,105,216,203,221,89,159,90,159,91,159,93,159,94,159,95,159,96,159,97,159,99,159,145,159,60,0,39,0,208,253,21,40,39,0,60,0,42,0,55,81,56,81,57,81,58,81,167,52,100,81,151,82,152,82,66,216,44,220,91,83,186,86,187,86,189,86,190,86,191,86,192,86,193,86,194,86,195,86,196,86,205,86,68,216,59,221,68,216,61,221,68,216,69,221,68,216,72,221,68,216,79,221,230,88,69,216,253,220,20,89,71,91,72,91,73,91,57,55,70,216,28,221,247,91,108,92,203,93,205,93,207,93,208,93,38,56,241,94,194,95,252,97,253,97,254,97,17,101,27,101,28,101,29,101,75,216,120,222,149,101,233,102,76,216,10,223,7,103,248,106,250,106,251,106,252,106,253,106,254,106,255,106,0,107,1,107,2,107,3,107,4,107,5,107,12,107,21,60,178,107,67,112,68,112,69,112,70,112,71,112,72,112,73,112,74,112,75,112,76,112,77,112,79,112,80,112,80,216,15,221,80,216,25,221,25,114,26,114,27,114,13,62,81,216,185,220,29,114,126,115,211,116,212,116,214,116,82,216,202,222,82,216,209,222,23,117,103,118,104,118,105,118,106,118,107,118,215,63,172,118,83,216,184,223,208,119,209,119,210,119,211,119,45,121,46,121,47,121,48,121,49,121,50,121,51,121,52,121,85,216,213,221,85,216,219,221,85,216,37,223,86,216,3,221,195,122,200,122,201,122,86,124,80,124,60,0,42,0,81,124,82,124,83,124,84,124,106,66,87,216,153,221,242,124,132,126,133,126,134,126,135,126,136,126,137,126,138,126,139,126,140,126,141,126,142,126,143,126,144,126,77,127,187,127,188,127,154,67,48,128,221,129,106,130,212,133,97,69,98,69,21,134,22,134,23,134,24,134,25,134,26,134,28,134,29,134,30,134,31,134,32,134,33,134,35,134,37,134,38,134,39,134,40,134,41,134,42,134,43,134,45,134,46,134,47,134,92,216,205,220,92,216,210,220,92,216,248,220,92,216,9,221,92,216,12,221,26,136,27,136,28,136,29,136,31,136,32,136,33,136,34,136,35,136,36,136,2,70,3,70,41,136,43,136,74,136,105,137,106,137,107,137,108,137,109,137,110,137,188,137,189,137,250,137,69,139,115,139,116,139,117,139,118,139,119,139,120,139,121,139,122,139,123,139,124,139,125,139,94,216,72,223,16,141,17,141,18,141,19,141,20,141,99,141,175,141,176,141,138,142,139,142,140,142,141,142,142,142,143,142,96,216,175,221,96,216,188,221,199,142,91,143,92,143,93,143,94,143,95,143,175,143,142,144,68,145,69,145,70,145,185,145,186,145,187,145,244,147,41,148,42,148,60,0,42,0,43,148,44,148,45,148,46,148,48,148,49,148,50,148,51,148,52,148,53,148,54,148,55,148,56,148,57,148,58,148,59,148,61,148,62,148,63,148,64,148,65,148,101,73,98,216,99,223,98,216,100,223,98,216,101,223,98,216,102,223,98,216,108,223,98,216,143,223,226,149,227,149,228,149,229,149,230,149,228,150,50,151,53,151,54,151,55,151,56,151,57,151,58,151,59,151,103,151,188,151,189,151,190,151,191,151,225,151,226,151,164,74,101,216,63,220,100,152,101,152,102,152,103,152,104,152,166,152,197,152,198,152,199,152,200,152,201,152,202,152,220,152,79,153,86,153,87,153,88,153,169,153,57,154,58,154,59,154,60,154,61,154,62,154,63,154,64,154,65,154,66,154,67,154,68,154,69,154,70,154,71,154,173,159,205,154,206,154,207,154,20,155,21,155,22,155,23,155,24,155,57,155,58,155,81,155,82,155,83,155,84,155,28,156,29,156,30,156,31,156,33,156,34,156,35,156,36,156,37,156,38,156,39,156,40,156,41,156,42,156,43,156,44,156,45,156,46,156,47,156,48,156,119,76,123,76,125,76,103,216,172,222,163,76,224,156,225,156,226,156,227,156,60,0,42,0,172,157,173,157,174,157,175,157,176,157,177,157,178,157,179,157,180,157,181,157,182,157,183,157,184,157,185,157,186,157,187,157,188,157,189,157,190,157,192,157,193,157,194,157,195,157,196,157,197,157,198,157,199,157,200,157,201,157,202,157,204,157,205,157,206,157,207,157,104,216,254,220,104,216,7,221,104,216,35,221,122,158,123,158,156,158,157,158,78,77,235,158,236,158,237,158,238,158,239,158,5,159,24,159,25,159,26,159,27,159,49,159,78,159,92,159,100,159,101,159,102,159,103,159,104,159,105,159,105,216,1,222,146,159,157,159,161,159,60,0,39,0,208,253,22,40,39,0,60,0,42,0,185,78,59,81,60,81,65,216,101,220,66,216,121,221,197,86,198,86,199,86,200,86,201,86,202,86,203,86,206,86,24,54,29,87,113,89,74,91,75,91,76,91,58,55,70,216,34,221,70,216,39,221,127,91,206,93,209,93,210,93,211,93,212,93,213,93,215,93,242,94,78,95,114,95,255,97,2,98,74,216,103,221,74,216,107,221,53,98,30,101,31,101,32,101,33,101,34,101,36,101,38,101,39,101,75,216,139,222,76,216,51,220,44,59,45,59,247,106,6,107,7,107,8,107,9,107,10,107,11,107,13,107,14,107,24,60,97,107,13,108,81,112,82,112,84,112,85,112,86,112,87,112,88,112,80,216,63,221,80,216,64,221,80,216,68,221,28,114,30,114,31,114,32,114,169,114,127,115,128,115,213,116,215,116,216,116,217,116,228,116,138,117,108,118,109,118,110,118,83,216,14,223,173,118,53,121,248,64,85,216,224,221,179,121,180,121,112,122,113,122,202,122,248,122,87,124,88,124,89,124,90,124,91,124,92,124,93,124,95,124,96,124,97,124,87,216,185,221,241,124,244,124,145,126,146,126,43,67,88,216,221,221,78,127,79,127,88,216,97,222,135,127,49,128,50,128,125,128,126,128,222,129,223,129,90,216,250,221,107,130,60,0,42,0,103,69,106,69,109,69,44,134,50,134,51,134,52,134,53,134,54,134,55,134,92,216,13,221,92,216,38,221,92,216,39,221,37,136,38,136,39,136,40,136,42,136,44,136,6,70,111,137,112,137,113,137,114,137,190,137,191,137,94,216,157,220,251,137,252,137,126,139,127,139,128,139,129,139,130,139,131,139,132,139,133,139,32,71,94,216,101,223,134,139,68,140,21,141,22,141,23,141,24,141,144,142,145,142,146,142,147,142,148,142,149,142,150,142,151,142,154,142,96,143,97,143,98,143,71,145,72,145,66,148,67,148,68,148,69,148,70,148,71,148,72,148,73,148,74,148,75,148,76,148,77,148,78,148,79,148,80,148,81,148,82,148,83,148,84,148,103,148,106,73,109,73,98,216,153,223,98,216,156,223,98,216,157,223,117,149,118,149,126,149,231,149,60,151,61,151,62,151,63,151,64,151,100,216,156,221,192,151,193,151,194,151,195,151,227,151,105,152,106,152,107,152,203,152,84,153,85,153,90,153,91,153,101,216,212,223,72,154,73,154,74,154,75,154,76,154,77,154,78,154,79,154,80,154,81,154,82,154,83,154,84,154,85,154,102,216,157,221,208,154,210,154,221,154,29,155,25,155,60,0,42,0,26,155,27,155,28,155,14,76,102,216,213,223,43,155,59,155,85,155,86,155,49,156,50,156,51,156,52,156,53,156,54,156,55,156,56,156,57,156,58,156,59,156,60,156,61,156,62,156,63,156,65,156,66,156,67,156,68,156,69,156,70,156,71,156,72,156,224,157,129,76,133,76,103,216,176,222,103,216,195,222,73,156,228,156,203,157,208,157,209,157,210,157,211,157,212,157,213,157,214,157,215,157,216,157,217,157,218,157,219,157,220,157,221,157,222,157,223,157,104,216,51,221,104,216,52,221,104,216,80,221,233,157,245,157,115,158,116,158,158,158,104,216,223,222,182,158,208,158,240,158,241,158,50,159,51,159,52,159,53,159,66,159,106,159,107,159,108,159,156,77,147,159,148,159,149,159,162,159,60,0,39,0,208,253,23,40,39,0,60,0,42,0,61,81,153,82,154,82,66,216,205,222,204,86,207,86,208,86,26,54,231,88,232,88,69,216,130,221,114,89,77,91,214,93,216,93,218,93,79,95,0,98,1,98,3,98,4,98,35,101,37,101,40,101,41,101,42,101,43,101,119,58,150,101,234,102,235,102,236,102,46,59,15,107,16,107,17,107,18,107,78,216,58,220,202,107,83,112,89,112,90,112,91,112,92,112,80,216,78,221,80,216,85,221,80,216,86,221,80,216,87,221,80,216,92,221,80,216,95,221,33,114,34,114,81,216,188,220,81,216,206,220,81,216,211,220,81,216,214,220,129,115,130,115,131,115,218,116,82,216,223,222,111,118,112,118,212,119,54,121,55,121,181,121,94,124,98,124,99,124,100,124,101,124,102,124,103,124,104,124,116,66,245,124,147,126,148,126,149,126,150,126,226,129,90,216,199,220,108,130,119,69,49,134,56,134,57,134,58,134,59,134,60,134,61,134,62,134,63,134,64,134,65,134,92,216,27,222,52,136,45,136,46,136,47,136,48,136,49,136,50,136,51,136,115,137,116,137,118,137,137,137,253,137,254,137,135,139,136,139,137,139,138,139,139,139,140,139,141,139,142,139,143,139,144,139,69,140,25,141,26,141,177,141,152,142,153,142,155,142,60,0,42,0,156,142,96,216,155,222,99,143,100,143,143,144,144,144,188,145,85,148,86,148,87,148,88,148,89,148,90,148,91,148,92,148,93,148,94,148,95,148,96,148,97,148,98,148,99,148,100,148,101,148,102,148,114,73,98,216,185,223,98,216,194,223,98,216,197,223,98,216,212,223,98,216,215,223,98,216,217,223,98,216,218,223,65,151,53,74,100,216,168,221,104,151,196,151,197,151,0,152,108,152,109,152,110,152,111,152,167,152,92,153,170,153,86,154,87,154,88,154,89,154,90,154,91,154,92,154,209,154,211,154,212,154,222,154,30,155,31,155,32,155,74,156,75,156,76,156,77,156,78,156,79,156,80,156,81,156,82,156,83,156,84,156,85,156,86,156,87,156,88,156,89,156,90,156,91,156,103,216,248,222,106,156,225,157,226,157,227,157,228,157,229,157,230,157,231,157,232,157,234,157,235,157,236,157,237,157,238,157,239,157,240,157,241,157,242,157,243,157,244,157,246,157,247,157,248,157,251,157,252,157,0,77,104,216,146,221,104,216,147,221,104,216,171,221,159,158,194,158,242,158,243,158,244,158,6,159,7,159,28,159,54,159,55,159,56,159,57,159,137,77,67,159,68,159,79,159,109,159,110,159,111,159,60,0,42,0,112,159,113,159,105,216,50,222,60,0,39,0,208,253,24,40,39,0,60,0,42,0,62,81,65,216,215,220,209,86,210,86,211,86,68,216,128,221,233,88,129,54,78,91,79,91,109,92,217,93,74,216,128,221,44,101,45,101,237,102,238,102,19,107,20,107,21,107,93,112,94,112,95,112,96,112,97,112,80,216,97,221,35,114,219,116,229,116,113,118,114,118,83,216,194,223,213,119,215,119,214,119,56,121,250,64,182,121,183,121,115,122,114,122,106,124,118,66,151,126,80,127,136,127,137,127,109,130,119,130,120,69,67,134,69,134,92,216,100,221,92,216,101,221,53,136,54,136,55,136,56,136,57,136,58,136,75,136,98,136,117,137,119,137,93,216,204,223,145,139,146,139,147,139,148,139,149,139,150,139,27,141,157,142,158,142,159,142,160,142,200,142,189,145,190,145,191,145,192,145,194,145,104,148,105,148,106,148,107,148,108,148,98,216,231,223,98,216,232,223,98,216,233,223,98,216,234,223,98,216,235,223,98,216,236,223,98,216,245,223,229,150,230,150,66,151,67,151,68,151,69,151,70,151,71,151,72,151,198,151,199,151,200,151,228,151,229,151,101,216,72,220,112,152,93,153,93,154,94,154,95,154,213,154,33,155,34,155,44,155,45,155,87,155,88,155,89,155,103,216,62,221,92,156,93,156,94,156,95,156,96,156,60,0,42,0,97,156,98,156,99,156,100,156,101,156,102,156,103,156,105,156,107,156,103,216,35,223,112,156,250,157,249,157,253,157,254,157,255,157,0,158,1,158,2,158,3,158,4,158,5,158,6,158,7,158,8,158,9,158,10,158,7,77,9,77,104,216,180,221,104,216,181,221,124,158,125,158,160,158,30,159,69,159,70,159,114,159,115,159,116,159,117,159,118,159,119,159,60,0,39,0,208,253,25,40,39,0,60,0,42,0,212,86,213,86,68,216,135,221,234,88,243,94,5,98,6,98,46,101,184,101,239,102,47,59,22,107,23,107,24,107,25,107,26,107,27,107,29,107,98,112,99,112,36,114,37,114,38,114,170,114,83,216,6,221,216,119,217,119,225,119,57,121,105,124,107,124,108,124,109,124,110,124,246,124,152,126,153,126,154,126,155,126,224,129,225,129,66,134,70,134,71,134,72,134,73,134,59,136,93,216,116,221,120,137,121,137,122,137,123,137,124,137,138,137,192,137,255,137,151,139,152,139,153,139,82,140,68,71,155,140,28,141,95,216,77,222,161,142,162,142,163,142,164,142,165,142,193,145,109,148,110,148,111,148,112,148,113,148,114,148,115,148,98,216,255,223,99,216,3,220,73,151,113,152,114,152,94,153,95,153,149,153,189,75,102,216,195,221,102,216,201,221,214,154,35,155,104,156,108,156,109,156,110,156,111,156,103,216,48,223,11,158,12,158,13,158,14,158,15,158,16,158,17,158,18,158,104,216,223,221,161,158,204,158,245,158,8,159,9,159,29,159,31,159,71,159,120,159,121,159,122,159,123,159,105,216,74,222,163,159,60,0,39,0,208,253,26,40,39,0,60,0,42,0,54,53,30,87,59,55,96,95,28,107,14,108,78,112,100,112,102,112,82,216,226,222,115,118,218,119,111,124,112,124,87,216,14,222,243,124,68,134,106,134,60,136,154,139,155,139,95,216,79,222,178,141,166,142,167,142,195,145,196,145,116,148,117,148,118,148,119,148,120,148,121,148,122,148,99,216,9,220,99,216,28,220,99,216,29,220,74,151,201,151,96,154,97,154,98,154,99,154,190,75,101,154,215,154,113,156,114,156,115,156,116,156,117,156,118,156,19,158,20,158,104,216,245,221,246,158,10,159,105,216,91,222,164,159,165,159,60,0,39,0,208,253,27,40,39,0,60,0,42,0,78,216,26,223,101,112,103,112,104,112,80,216,119,221,80,216,122,221,171,114,247,124,156,126,157,126,74,134,61,136,62,136,63,136,125,137,156,139,157,139,158,139,83,140,156,140,169,142,170,142,201,142,101,143,197,145,123,148,124,148,125,148,126,148,99,216,35,220,99,216,38,220,75,151,76,151,77,151,78,151,115,152,116,152,204,152,205,152,221,152,96,153,97,153,171,153,100,154,102,154,103,154,174,159,36,155,46,155,48,155,119,156,120,156,21,158,22,158,23,158,247,158,72,159,60,0,39,0,208,253,28,40,39,0,60,0,42,0,214,86,7,98,75,216,179,222,76,216,31,223,30,107,31,107,39,114,82,216,233,222,116,118,220,63,92,216,117,221,76,134,84,140,168,142,96,216,7,222,127,148,128,148,129,148,130,148,99,216,43,220,99,216,48,220,231,150,104,154,105,154,192,75,24,158,25,158,26,158,104,216,32,222,162,158,248,158,58,159,124,159,125,159,158,159,60,0,39,0,208,253,29,40,39,0,60,0,42,0,40,114,86,216,84,222,158,126,75,134,159,139,131,148,132,148,121,73,79,151,106,154,49,155,121,156,27,158,28,158,183,158,60,0,39,0,208,253,30,40,39,0,60,0,42,0,181,83,117,118,144,65,113,124,133,69,99,216,57,220,202,151,98,153,107,154,103,216,115,220,122,156,29,158,30,158,104,216,51,222,145,77,60,0,39,0,208,253,31,40,39,0,60,0,42,0,105,112,93,216,163,221,98,216,13,221,16,77,163,158,60,0,39,0,208,253,32,40,39,0,60,0,42,0,106,112,114,124,99,216,59,220,150,159,60,0,39,0,208,253,33,40,39,0,60,0,42,0,70,216,59,221,41,114,123,156,164,158,151,159,60,0,39,0,208,253,35,40,39,0,60,0,42,0,126,159,60,0,39,0,208,253,36,40,39,0,60,0,42,0,73,159,60,0,39,0,208,253,39,40,39,0,60,0,42,0,80,151,60,0,39,0,208,253,48,40,39,0,60,0,42,0,152,159,38,0,39,0,40,0,0,78,41,0,39,0,60,0,60,0,60,0,32,50,38,0,39,0,40,0,3,78,41,0,39,0,60,0,60,0,60,0,38,50,38,0,39,0,40,0,9,78,41,0,39,0,60,0,60,0,60,0,34,50,38,0,39,0,40,0,93,78,41,0,39,0,60,0,60,0,60,0,40,50,38,0,39,0,40,0,140,78,41,0,39,0,60,0,60,0,60,0,33,50,38,0,39,0,40,0,148,78,41,0,39,0,60,0,60,0,60,0,36,50,38,0,39,0,40,0,227,78,41,0,39,0,60,0,60,0,60,0,57,50,38,0,39,0,40,0,1,79,41,0,39,0,60,0,60,0,60,0,61,50,38,0,39,0,40,0,17,79,41,0,39,0,60,0,60,0,60,0,65,50,38,0,39,0,40,0,107,81,41,0,39,0,60,0,60,0,60,0,39,50,38,0,39,0,40,0,109,81,41,0,39,0,60,0,60,0,60,0,37,50,38,0,39,0,40,0,180,82,41,0,39,0,60,0,60,0,60,0,56,50,38,0,39,0,40,0,65,83,41,0,39,0,60,0,60,0,60,0,41,50,38,0,39,0,40,0,84,83,41,0,39,0,60,0,60,0,60,0,63,50,38,0,39,0,40,0,13,84,41,0,39,0,60,0,60,0,60,0,52,50,38,0,39,0,40,0,124,84,41,0,39,0,60,0,60,0,60,0,58,50,38,0,39,0,40,0,219,86,41,0,39,0,60,0,60,0,60,0,35,50,38,0,39,0,40,0,31,87,41,0,39,0,60,0,60,0,60,0,47,50,38,0,39,0,40,0,102,91,41,0,39,0,60,0,60,0,60,0,59,50,38,0,39,0,40,0,229,101,41,0,39,0,60,0,60,0,60,0,48,50,38,0,39,0,40,0,8,103,41,0,39,0,60,0,60,0,60,0,42,50,38,0,39,0,40,0,9,103,41,0,39,0,60,0,60,0,60,0,50,50,38,0,39,0,40,0,40,103,41,0,39,0,60,0,60,0,60,0,45,50,38,0,39,0,40,0,42,104,41,0,39,0,60,0,60,0,60,0,49,50,38,0,39,0,40,0,52,108,41,0,39,0,60,0,60,0,60,0,44,50,38,0,39,0,40,0,107,112,41,0,39,0,60,0,60,0,60,0,43,50,38,0,39,0,40,0,121,114,41,0,39,0,60,0,60,0,60,0,53,50,38,0,39,0,40,0,227,118,41,0,39,0,60,0,60,0,60,0,60,50,38,0,39,0,40,0,62,121,41,0,39,0,60,0,60,0,60,0,51,50,38,0,39,0,40,0,93,121,41,0,39,0,60,0,60,0,60,0,55,50,38,0,39,0,40,0,109,121,41,0,39,0,60,0,60,0,60,0,64,50,38,0,39,0,40,0,234,129,41,0,39,0,60,0,60,0,60,0,66,50,38,0,39,0,40,0,243,129,41,0,39,0,60,0,60,0,60,0,67,50,38,0,39,0,40,0,161,140,41,0,39,0,60,0,60,0,60,0,54,50,38,0,39,0,40,0,199,140,41,0,39,0,60,0,60,0,60,0,62,50,38,0,39,0,40,0,209,145,41,0,39,0,60,0,60,0,60,0,46,50,38,0,48,0,185,112,60,0,60,0,60,0,88,51,38,0,49,0,48,0,229,101,60,0,60,0,60,0,233,51,38,0,49,0,48,0,8,103,60,0,60,0,60,0,201,50,38,0,49,0,48,0,185,112,60,0,60,0,60,0,98,51,38,0,49,0,49,0,229,101,60,0,60,0,60,0,234,51,38,0,49,0,49,0,8,103,60,0,60,0,60,0,202,50,38,0,49,0,49,0,185,112,60,0,60,0,60,0,99,51,38,0,49,0,50,0,229,101,60,0,60,0,60,0,235,51,38,0,49,0,50,0,8,103,60,0,60,0,60,0,203,50,38,0,49,0,50,0,185,112,60,0,60,0,60,0,100,51,38,0,49,0,51,0,229,101,60,0,60,0,60,0,236,51,38,0,49,0,51,0,185,112,60,0,60,0,60,0,101,51,38,0,49,0,52,0,229,101,60,0,60,0,60,0,237,51,38,0,49,0,52,0,185,112,60,0,60,0,60,0,102,51,38,0,49,0,53,0,229,101,60,0,60,0,60,0,238,51,38,0,49,0,53,0,185,112,60,0,60,0,60,0,103,51,38,0,49,0,54,0,229,101,60,0,60,0,60,0,239,51,38,0,49,0,54,0,185,112,60,0,60,0,60,0,104,51,38,0,49,0,55,0,229,101,60,0,60,0,60,0,240,51,38,0,49,0,55,0,185,112,60,0,60,0,60,0,105,51,38,0,49,0,56,0,229,101,60,0,60,0,60,0,241,51,38,0,49,0,56,0,185,112,60,0,60,0,60,0,106,51,38,0,49,0,57,0,229,101,60,0,60,0,60,0,242,51,38,0,49,0,57,0,185,112,60,0,60,0,60,0,107,51,38,0,49,0,229,101,60,0,60,0,60,0,224,51,38,0,49,0,8,103,60,0,60,0,60,0,192,50,38,0,49,0,185,112,60,0,60,0,60,0,89,51,38,0,50,0,48,0,229,101,60,0,60,0,60,0,243,51,38,0,50,0,48,0,185,112,60,0,60,0,60,0,108,51,38,0,50,0,49,0,229,101,60,0,60,0,60,0,244,51,38,0,50,0,49,0,185,112,60,0,60,0,60,0,109,51,38,0,50,0,50,0,229,101,60,0,60,0,60,0,245,51,38,0,50,0,50,0,185,112,60,0,60,0,60,0,110,51,38,0,50,0,51,0,229,101,60,0,60,0,60,0,246,51,38,0,50,0,51,0,185,112,60,0,60,0,60,0,111,51,38,0,50,0,52,0,229,101,60,0,60,0,60,0,247,51,38,0,50,0,52,0,185,112,60,0,60,0,60,0,112,51,38,0,50,0,53,0,229,101,60,0,60,0,60,0,248,51,38,0,50,0,54,0,229,101,60,0,60,0,60,0,249,51,38,0,50,0,55,0,229,101,60,0,60,0,60,0,250,51,38,0,50,0,56,0,229,101,60,0,60,0,60,0,251,51,38,0,50,0,57,0,229,101,60,0,60,0,60,0,252,51,38,0,50,0,229,101,60,0,60,0,60,0,225,51,38,0,50,0,8,103,60,0,60,0,60,0,193,50,38,0,50,0,185,112,60,0,60,0,60,0,90,51,38,0,51,0,48,0,229,101,60,0,60,0,60,0,253,51,38,0,51,0,49,0,229,101,60,0,60,0,60,0,254,51,38,0,51,0,229,101,60,0,60,0,60,0,226,51,38,0,51,0,8,103,60,0,60,0,60,0,194,50,38,0,51,0,185,112,60,0,60,0,60,0,91,51,38,0,52,0,229,101,60,0,60,0,60,0,227,51,38,0,52,0,8,103,60,0,60,0,60,0,195,50,38,0,52,0,185,112,60,0,60,0,60,0,92,51,38,0,53,0,229,101,60,0,60,0,60,0,228,51,38,0,53,0,8,103,60,0,60,0,60,0,196,50,38,0,53,0,185,112,60,0,60,0,60,0,93,51,38,0,54,0,229,101,60,0,60,0,60,0,229,51,38,0,54,0,8,103,60,0,60,0,60,0,197,50,38,0,54,0,185,112,60,0,60,0,60,0,94,51,38,0,55,0,229,101,60,0,60,0,60,0,230,51,38,0,55,0,8,103,60,0,60,0,60,0,198,50,38,0,55,0,185,112,60,0,60,0,60,0,95,51,38,0,56,0,229,101,60,0,60,0,60,0,231,51,38,0,56,0,8,103,60,0,60,0,60,0,199,50,38,0,56,0,185,112,60,0,60,0,60,0,96,51,38,0,57,0,229,101,60,0,60,0,60,0,232,51,38,0,57,0,8,103,60,0,60,0,60,0,200,50,38,0,57,0,185,112,60,0,60,0,60,0,97,51,38,0,39,0,20,48,9,78,21,48,39,0,60,0,60,0,60,0,60,216,65,222,38,0,39,0,20,48,140,78,21,48,39,0,60,0,60,0,60,0,60,216,66,222,38,0,39,0,20,48,221,82,21,48,39,0,60,0,60,0,60,0,60,216,71,222,38,0,39,0,20,48,137,91,21,48,39,0,60,0,60,0,60,0,60,216,67,222,38,0,39,0,20,48,83,98,21,48,39,0,60,0,60,0,60,0,60,216,69,222,38,0,39,0,20,48,87,101,21,48,39,0,60,0,60,0,60,0,60,216,72,222,38,0,39,0,20,48,44,103,21,48,39,0,60,0,60,0,60,0,60,216,64,222,38,0,39,0,20,48,185,112,21,48,39,0,60,0,60,0,60,0,60,216,68,222,38,0,39,0,20,48,215,118,21,48,39,0,60,0,60,0,60,0,60,216,70,222,38,0,0,78,60,0,60,0,60,0,0,47,38,0,0,78,60,0,60,0,60,0,146,49,38,0,0,78,60,0,60,0,60,0,128,50,38,0,0,78,60,0,60,0,60,0,60,216,41,222,38,0,1,78,60,0,60,0,60,0,156,49,38,0,3,78,60,0,60,0,60,0,134,50,38,0,9,78,60,0,60,0,60,0,148,49,38,0,9,78,60,0,60,0,60,0,130,50,38,0,9,78,60,0,60,0,60,0,60,216,42,222,38,0,10,78,60,0,60,0,60,0,150,49,38,0,10,78,60,0,60,0,60,0,164,50,38,0,11,78,60,0,60,0,60,0,152,49,38,0,11,78,60,0,60,0,60,0,166,50,38,0,25,78,60,0,60,0,60,0,155,49,38,0,40,78,60,0,60,0,60,0,1,47,38,0,45,78,60,0,60,0,60,0,151,49,38,0,45,78,60,0,60,0,60,0,165,50,38,0,45,78,60,0,60,0,60,0,60,216,45,222,38,0,54,78,60,0,60,0,60,0,2,47,38,0,63,78,60,0,60,0,60,0,3,47,38,0,89,78,60,0,60,0,60,0,4,47,38,0,89,78,60,0,60,0,60,0,154,49,38,0,93,78,60,0,60,0,60,0,136,50,38,0,133,78,60,0,60,0,60,0,5,47,38,0,140,78,60,0,60,0,60,0,6,47,38,0,140,78,60,0,60,0,60,0,147,49,38,0,140,78,60,0,60,0,60,0,129,50,38,0,140,78,60,0,60,0,60,0,60,216,20,222,38,0,148,78,60,0,60,0,60,0,132,50,38,0,160,78,60,0,60,0,60,0,7,47,38,0,164,78,60,0,60,0,60,0,60,216,24,222,38,0,186,78,60,0,60,0,60,0,8,47,38,0,186,78,60,0,60,0,60,0,159,49,38,0,228,78,140,84,60,0,60,0,60,0,255,50,38,0,1,79,60,0,60,0,60,0,173,50,38,0,17,79,60,0,60,0,60,0,161,50,38,0,42,81,60,0,60,0,60,0,157,50,38,0,63,81,60,0,60,0,60,0,9,47,38,0,101,81,60,0,60,0,60,0,10,47,38,0,107,81,60,0,60,0,60,0,11,47,38,0,107,81,60,0,60,0,60,0,135,50,38,0,109,81,60,0,60,0,60,0,133,50,38,0,130,81,60,0,60,0,60,0,12,47,38,0,141,81,60,0,60,0,60,0,60,216,30,222,38,0,150,81,60,0,60,0,60,0,13,47,38,0,153,81,60,0,60,0,60,0,162,50,38,0,171,81,60,0,60,0,60,0,14,47,38,0,224,81,60,0,60,0,60,0,15,47,38,0,245,81,60,0,60,0,60,0,16,47,38,0,0,82,60,0,60,0,60,0,17,47,38,0,29,82,60,0,60,0,60,0,60,216,32,222,38,0,77,82,60,0,60,0,60,0,60,216,28,222,38,0,114,82,60,0,60,0,60,0,60,216,57,222,38,0,155,82,60,0,60,0,60,0,18,47,38,0,180,82,60,0,60,0,60,0,152,50,38,0,249,82,60,0,60,0,60,0,19,47,38,0,21,83,60,0,60,0,60,0,20,47,38,0,26,83,60,0,60,0,60,0,21,47,38,0,56,83,60,0,60,0,60,0,22,47,38,0,59,83,60,0,60,0,60,0,169,50,38,0,65,83,60,0,60,0,60,0,23,47,38,0,65,83,60,0,60,0,60,0,56,48,38,0,65,83,60,0,60,0,60,0,137,50,38,0,68,83,60,0,60,0,60,0,57,48,38,0,69,83,60,0,60,0,60,0,58,48,38,0,84,83,60,0,60,0,60,0,175,50,38,0,92,83,60,0,60,0,60,0,24,47,38,0,105,83,60,0,60,0,60,0,25,47,38,0,112,83,60,0,60,0,60,0,158,50,38,0,130,83,60,0,60,0,60,0,26,47,38,0,182,83,60,0,60,0,60,0,27,47,38,0,200,83,60,0,60,0,60,0,28,47,38,0,204,83,60,0,60,0,60,0,60,216,18,222,38,0,227,83,60,0,60,0,60,0,29,47,38,0,239,83,60,0,60,0,60,0,60,216,81,222,38,0,243,83,60,0,60,0,60,0,168,50,38,0,243,83,60,0,60,0,60,0,60,216,46,222,38,0,8,84,60,0,60,0,60,0,60,216,52,222,38,0,13,84,60,0,60,0,60,0,148,50,38,0,57,84,60,0,60,0,60,0,60,216,37,222,38,0,79,85,60,0,60,0,60,0,68,50,38,0,182,85,60,0,60,0,60,0,60,216,58,222,38,0,215,86,60,0,60,0,60,0,30,47,38,0,219,86,60,0,60,0,60,0,149,49,38,0,219,86,60,0,60,0,60,0,131,50,38,0,31,87,60,0,60,0,60,0,31,47,38,0,31,87,60,0,60,0,60,0,143,50,38,0,48,87,60,0,60,0,60,0,158,49,38,0,235,88,60,0,60,0,60,0,32,47,38,0,240,88,60,0,60,0,60,0,60,216,36,222,38,0,2,89,60,0,60,0,60,0,33,47,38,0,10,89,60,0,60,0,60,0,34,47,38,0,21,89,60,0,60,0,60,0,35,47,38,0,26,89,60,0,60,0,60,0,60,216,21,222,38,0,28,89,60,0,60,0,60,0,176,50,38,0,39,89,60,0,60,0,60,0,36,47,38,0,39,89,99,107,60,0,60,0,60,0,125,51,38,0,41,89,60,0,60,0,60,0,157,49,38,0,41,89,60,0,60,0,60,0,60,216,23,222,38,0,115,89,60,0,60,0,60,0,37,47,38,0,115,89,60,0,60,0,60,0,155,50,38,0,80,91,60,0,60,0,60,0,38,47,38,0,87,91,60,0,60,0,60,0,60,216,17,222,38,0,102,91,60,0,60,0,60,0,171,50,38,0,128,91,60,0,60,0,60,0,39,47,38,0,151,91,60,0,60,0,60,0,170,50,38,0,248,91,60,0,60,0,60,0,40,47,38,0,15,92,60,0,60,0,60,0,41,47,38,0,34,92,60,0,60,0,60,0,42,47,38,0,56,92,60,0,60,0,60,0,43,47,38,0,110,92,60,0,60,0,60,0,44,47,38,0,113,92,60,0,60,0,60,0,45,47,38,0,219,93,60,0,60,0,60,0,46,47,38,0,229,93,60,0,60,0,60,0,47,47,38,0,230,93,60,0,60,0,60,0,167,50,38,0,230,93,60,0,60,0,60,0,60,216,44,222,38,0,241,93,60,0,60,0,60,0,48,47,38,0,254,93,60,0,60,0,60,0,49,47,38,0,114,94,60,0,60,0,60,0,50,47,38,0,115,94,16,98,60,0,60,0,60,0,123,51,38,0,122,94,60,0,60,0,60,0,51,47,38,0,124,94,60,0,60,0,60,0,69,50,38,0,127,94,60,0,60,0,60,0,52,47,38,0,244,94,60,0,60,0,60,0,53,47,38,0,254,94,60,0,60,0,60,0,54,47,38,0,11,95,60,0,60,0,60,0,55,47,38,0,19,95,60,0,60,0,60,0,56,47,38,0,80,95,60,0,60,0,60,0,57,47,38,0,97,95,60,0,60,0,60,0,58,47,38,0,115,95,60,0,60,0,60,0,59,47,38,0,140,95,60,0,60,0,60,0,60,216,29,222,38,0,151,95,60,0,60,0,60,0,60,216,80,222,38,0,195,95,60,0,60,0,60,0,60,47,38,0,8,98,60,0,60,0,60,0,61,47,38,0,54,98,60,0,60,0,60,0,62,47,38,0,75,98,60,0,60,0,60,0,63,47,38,0,75,98,60,0,60,0,60,0,60,216,16,222,38,0,83,98,60,0,60,0,60,0,60,216,49,222,38,0,149,98,60,0,60,0,60,0,60,216,39,222,38,0,7,99,60,0,60,0,60,0,60,216,47,222,38,0,85,99,60,0,60,0,60,0,60,216,40,222,38,0,47,101,60,0,60,0,60,0,64,47,38,0,52,101,60,0,60,0,60,0,65,47,38,0,135,101,60,0,60,0,60,0,66,47,38,0,135,101,60,0,60,0,60,0,70,50,38,0,151,101,60,0,60,0,60,0,67,47,38,0,153,101,60,0,60,0,60,0,60,216,27,222,38,0,164,101,60,0,60,0,60,0,68,47,38,0,176,101,60,0,60,0,60,0,60,216,31,222,38,0,185,101,60,0,60,0,60,0,69,47,38,0,224,101,60,0,60,0,60,0,70,47,38,0,229,101,60,0,60,0,60,0,71,47,38,0,229,101,60,0,60,0,60,0,144,50,38,0,14,102,187,108,60,0,60,0,60,0,126,51,38,0,32,102,60,0,60,0,60,0,60,216,25,222,38,0,45,102,140,84,60,0,60,0,60,0,124,51,38,0,240,102,60,0,60,0,60,0,72,47,38,0,8,103,60,0,60,0,60,0,73,47,38,0,8,103,60,0,60,0,60,0,138,50,38,0,8,103,60,0,60,0,60,0,60,216,55,222,38,0,9,103,60,0,60,0,60,0,146,50,38,0,9,103,60,0,60,0,60,0,60,216,54,222,38,0,40,103,60,0,60,0,60,0,74,47,38,0,40,103,60,0,60,0,60,0,141,50,38,0,42,104,60,0,60,0,60,0,145,50,38,0,42,104,15,95,26,79,62,121,60,0,60,0,60,0,127,51,38,0,32,107,60,0,60,0,60,0,75,47,38,0,98,107,60,0,60,0,60,0,76,47,38,0,99,107,60,0,60,0,60,0,163,50,38,0,121,107,60,0,60,0,60,0,77,47,38,0,179,107,60,0,60,0,60,0,78,47,38,0,203,107,60,0,60,0,60,0,79,47,38,0,205,107,60,0,60,0,60,0,159,46,38,0,212,107,60,0,60,0,60,0,80,47,38,0,219,107,60,0,60,0,60,0,81,47,38,0,15,108,60,0,60,0,60,0,82,47,38,0,20,108,60,0,60,0,60,0,83,47,38,0,52,108,60,0,60,0,60,0,84,47,38,0,52,108,60,0,60,0,60,0,140,50,38,0,232,108,60,0,60,0,60,0,159,50,38,0,128,110,60,0,60,0,60,0,60,216,53,222,38,0,20,111,60,0,60,0,60,0,60,216,38,222,38,0,107,112,60,0,60,0,60,0,85,47,38,0,107,112,60,0,60,0,60,0,139,50,38,0,33,113,60,0,60,0,60,0,60,216,26,222,38,0,42,114,60,0,60,0,60,0,86,47,38,0,54,114,60,0,60,0,60,0,87,47,38,0,59,114,60,0,60,0,60,0,88,47,38,0,63,114,60,0,60,0,60,0,89,47,38,0,71,114,60,0,60,0,60,0,90,47,38,0,89,114,60,0,60,0,60,0,91,47,38,0,91,114,60,0,60,0,60,0,92,47,38,0,121,114,60,0,60,0,60,0,149,50,38,0,172,114,60,0,60,0,60,0,93,47,38,0,132,115,60,0,60,0,60,0,94,47,38,0,137,115,60,0,60,0,60,0,95,47,38,0,220,116,60,0,60,0,60,0,96,47,38,0,230,116,60,0,60,0,60,0,97,47,38,0,24,117,60,0,60,0,60,0,98,47,38,0,31,117,60,0,60,0,60,0,99,47,38,0,31,117,60,0,60,0,60,0,60,216,34,222,38,0,40,117,60,0,60,0,60,0,100,47,38,0,48,117,60,0,60,0,60,0,101,47,38,0,50,117,60,0,60,0,60,0,153,49,38,0,51,117,60,0,60,0,60,0,60,216,56,222,38,0,55,117,60,0,60,0,60,0,154,50,38,0,139,117,60,0,60,0,60,0,102,47,38,0,146,117,60,0,60,0,60,0,103,47,38,0,118,118,60,0,60,0,60,0,104,47,38,0,125,118,60,0,60,0,60,0,105,47,38,0,174,118,60,0,60,0,60,0,106,47,38,0,191,118,60,0,60,0,60,0,107,47,38,0,227,118,60,0,60,0,60,0,172,50,38,0,238,118,60,0,60,0,60,0,108,47,38,0,219,119,60,0,60,0,60,0,109,47,38,0,226,119,60,0,60,0,60,0,110,47,38,0,243,119,60,0,60,0,60,0,111,47,38,0,58,121,60,0,60,0,60,0,112,47,38,0,62,121,60,0,60,0,60,0,147,50,38,0,93,121,60,0,60,0,60,0,151,50,38,0,129,121,60,0,60,0,60,0,60,216,50,222,38,0,184,121,60,0,60,0,60,0,113,47,38,0,190,121,60,0,60,0,60,0,114,47,38,0,216,121,60,0,60,0,60,0,153,50,38,0,116,122,60,0,60,0,60,0,115,47,38,0,122,122,60,0,60,0,60,0,60,216,51,222,38,0,203,122,60,0,60,0,60,0,116,47,38,0,249,122,60,0,60,0,60,0,117,47,38,0,143,123,60,0,60,0,60,0,71,50,38,0,115,124,60,0,60,0,60,0,118,47,38,0,248,124,60,0,60,0,60,0,119,47,38,0,66,125,60,0,60,0,60,0,60,216,33,222,38,0,54,127,60,0,60,0,60,0,120,47,38,0,81,127,60,0,60,0,60,0,121,47,38,0,138,127,60,0,60,0,60,0,122,47,38,0,189,127,60,0,60,0,60,0,123,47,38,0,1,128,60,0,60,0,60,0,124,47,38,0,12,128,60,0,60,0,60,0,125,47,38,0,18,128,60,0,60,0,60,0,126,47,38,0,51,128,60,0,60,0,60,0,127,47,38,0,127,128,60,0,60,0,60,0,128,47,38,0,137,128,60,0,60,0,60,0,129,47,38,0,227,129,60,0,60,0,60,0,130,47,38,0,234,129,60,0,60,0,60,0,131,47,38,0,243,129,60,0,60,0,60,0,132,47,38,0,252,129,60,0,60,0,60,0,133,47,38,0,12,130,60,0,60,0,60,0,134,47,38,0,27,130,60,0,60,0,60,0,135,47,38,0,31,130,60,0,60,0,60,0,136,47,38,0,110,130,60,0,60,0,60,0,137,47,38,0,114,130,60,0,60,0,60,0,138,47,38,0,120,130,60,0,60,0,60,0,139,47,38,0,77,134,60,0,60,0,60,0,140,47,38,0,107,134,60,0,60,0,60,0,141,47,38,0,64,136,60,0,60,0,60,0,142,47,38,0,76,136,60,0,60,0,60,0,143,47,38,0,99,136,60,0,60,0,60,0,144,47,38,0,126,137,60,0,60,0,60,0,145,47,38,0,139,137,60,0,60,0,60,0,146,47,38,0,210,137,60,0,60,0,60,0,147,47,38,0,227,137,60,0,60,0,60,0,60,216,22,222,38,0,0,138,60,0,60,0,60,0,148,47,38,0,55,140,60,0,60,0,60,0,149,47,38,0,70,140,60,0,60,0,60,0,150,47,38,0,85,140,60,0,60,0,60,0,151,47,38,0,120,140,60,0,60,0,60,0,152,47,38,0,157,140,60,0,60,0,60,0,153,47,38,0,161,140,60,0,60,0,60,0,150,50,38,0,169,140,60,0,60,0,60,0,60,216,35,222,38,0,199,140,60,0,60,0,60,0,174,50,38,0,100,141,60,0,60,0,60,0,154,47,38,0,112,141,60,0,60,0,60,0,155,47,38,0,112,141,60,0,60,0,60,0,60,216,48,222,38,0,179,141,60,0,60,0,60,0,156,47,38,0,171,142,60,0,60,0,60,0,157,47,38,0,202,142,60,0,60,0,60,0,158,47,38,0,155,143,60,0,60,0,60,0,159,47,38,0,176,143,60,0,60,0,60,0,160,47,38,0,181,143,60,0,60,0,60,0,161,47,38,0,74,144,60,0,60,0,60,0,60,216,43,222,38,0,105,144,60,0,60,0,60,0,156,50,38,0,145,144,60,0,60,0,60,0,162,47,38,0,73,145,60,0,60,0,60,0,163,47,38,0,77,145,60,0,60,0,60,0,60,216,59,222,38,0,198,145,60,0,60,0,60,0,164,47,38,0,204,145,60,0,60,0,60,0,165,47,38,0,209,145,60,0,60,0,60,0,166,47,38,0,209,145,60,0,60,0,60,0,142,50,38,0,119,149,60,0,60,0,60,0,167,47,38,0,128,149,60,0,60,0,60,0,168,47,38,0,28,150,60,0,60,0,60,0,169,47,38,0,182,150,60,0,60,0,60,0,170,47,38,0,185,150,60,0,60,0,60,0,171,47,38,0,232,150,60,0,60,0,60,0,172,47,38,0,81,151,60,0,60,0,60,0,173,47,38,0,94,151,60,0,60,0,60,0,174,47,38,0,98,151,60,0,60,0,60,0,175,47,38,0,105,151,60,0,60,0,60,0,176,47,38,0,203,151,60,0,60,0,60,0,177,47,38,0,237,151,60,0,60,0,60,0,178,47,38,0,243,151,60,0,60,0,60,0,179,47,38,0,1,152,60,0,60,0,60,0,180,47,38,0,5,152,60,0,60,0,60,0,160,50,38,0,168,152,60,0,60,0,60,0,181,47,38,0,219,152,60,0,60,0,60,0,182,47,38,0,223,152,60,0,60,0,60,0,183,47,38,0,150,153,60,0,60,0,60,0,184,47,38,0,153,153,60,0,60,0,60,0,185,47,38,0,172,153,60,0,60,0,60,0,186,47,38,0,168,154,60,0,60,0,60,0,187,47,38,0,216,154,60,0,60,0,60,0,188,47,38,0,223,154,60,0,60,0,60,0,189,47,38,0,37,155,60,0,60,0,60,0,190,47,38,0,47,155,60,0,60,0,60,0,191,47,38,0,50,155,60,0,60,0,60,0,192,47,38,0,60,155,60,0,60,0,60,0,193,47,38,0,90,155,60,0,60,0,60,0,194,47,38,0,229,156,60,0,60,0,60,0,195,47,38,0,117,158,60,0,60,0,60,0,196,47,38,0,127,158,60,0,60,0,60,0,197,47,38,0,165,158,60,0,60,0,60,0,198,47,38,0,187,158,60,0,60,0,60,0,199,47,38,0,195,158,60,0,60,0,60,0,200,47,38,0,205,158,60,0,60,0,60,0,201,47,38,0,209,158,60,0,60,0,60,0,202,47,38,0,249,158,60,0,60,0,60,0,203,47,38,0,253,158,60,0,60,0,60,0,204,47,38,0,14,159,60,0,60,0,60,0,205,47,38,0,19,159,60,0,60,0,60,0,206,47,38,0,32,159,60,0,60,0,60,0,207,47,38,0,59,159,60,0,60,0,60,0,208,47,38,0,74,159,60,0,60,0,60,0,209,47,38,0,82,159,60,0,60,0,60,0,210,47,38,0,141,159,60,0,60,0,60,0,211,47,38,0,156,159,60,0,60,0,60,0,212,47,38,0,159,159,60,0,60,0,60,0,243,46,38,0,160,159,60,0,60,0,60,0,213,47,0,0,2,0,51,0,60,0,95,0,1,0,170,170,170,170,222,137,1,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,100,0,0,0,100,1,0,0,148,106,1,0,148,106,1,0,116,114,1,0,116,114,1,0,48,119,1,0,48,119,1,0,146,133,1,0,146,133,1,0,194,137,1,0,25,0,0,0,17,0,0,0,5,0,0,0,0,0,0,96,127,0,0,123,99,0,118,123,127,0,0,126,224,255,0,254,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,0,251,252,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,254,255,50,105,114,84,1,0,192,8,122,21,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,176,0,184,0,189,0,48,0,197,0,205,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,229,0,237,0,245,0,253,0,5,1,13,1,21,1,29,1,37,1,45,1,53,1,61,1,69,1,77,1,85,1,93,1,101,1,109,1,117,1,125,1,133,1,141,1,149,1,157,1,165,1,173,1,181,1,189,1,197,1,205,1,213,1,221,1,229,1,237,1,245,1,253,1,5,2,13,2,21,2,29,2,37,2,45,2,53,2,61,2,69,2,77,2,85,2,93,2,101,2,109,2,117,2,125,2,133,2,141,2,149,2,157,2,164,2,172,2,180,2,188,2,196,2,204,2,212,2,220,2,228,2,236,2,244,2,252,2,4,3,12,3,20,3,28,3,36,3,44,3,52,3,60,3,68,3,76,3,84,3,92,3,100,3,108,3,116,3,124,3,132,3,140,3,148,3,156,3,164,3,172,3,180,3,188,3,196,3,204,3,212,3,220,3,228,3,236,3,244,3,252,3,4,4,12,4,20,4,28,4,36,4,44,4,52,4,60,4,68,4,76,4,84,4,92,4,100,4,108,4,116,4,124,4,132,4,139,4,147,4,155,4,163,4,171,4,179,4,187,4,195,4,203,4,211,4,219,4,227,4,235,4,243,4,251,4,3,5,11,5,19,5,27,5,35,5,43,5,51,5,59,5,67,5,75,5,83,5,91,5,99,5,107,5,115,5,123,5,131,5,139,5,147,5,155,5,163,5,171,5,179,5,187,5,195,5,203,5,211,5,219,5,227,5,235,5,243,5,251,5,2,6,10,6,18,6,26,6,32,6,40,6,47,6,55,6,63,6,71,6,79,6,86,6,94,6,102,6,110,6,118,6,126,6,134,6,142,6,150,6,158,6,166,6,174,6,182,6,190,6,198,6,206,6,214,6,222,6,230,6,238,6,246,6,254,6,6,7,14,7,22,7,30,7,38,7,46,7,54,7,62,7,70,7,78,7,86,7,94,7,102,7,108,7,116,7,124,7,131,7,139,7,147,7,154,7,162,7,170,7,178,7,186,7,194,7,202,7,210,7,218,7,226,7,234,7,242,7,250,7,2,8,10,8,18,8,26,8,34,8,42,8,50,8,58,8,66,8,74,8,82,8,90,8,98,8,106,8,114,8,122,8,130,8,138,8,146,8,154,8,162,8,170,8,178,8,185,8,193,8,201,8,209,8,217,8,225,8,233,8,240,8,248,8,0,9,8,9,16,9,24,9,32,9,40,9,48,9,56,9,64,9,72,9,80,9,88,9,96,9,104,9,112,9,120,9,128,9,136,9,144,9,152,9,160,9,168,9,176,9,184,9,192,9,200,9,208,9,216,9,224,9,232,9,240,9,248,9,0,10,8,10,16,10,24,10,32,10,40,10,48,10,56,10,64,10,72,10,80,10,88,10,96,10,104,10,112,10,120,10,128,10,136,10,144,10,152,10,160,10,168,10,176,10,184,10,192,10,200,10,208,10,216,10,224,10,232,10,240,10,248,10,0,11,8,11,16,11,24,11,32,11,40,11,48,11,56,11,64,11,72,11,80,11,88,11,96,11,104,11,112,11,120,11,128,11,136,11,144,11,152,11,160,11,168,11,176,11,184,11,192,11,200,11,208,11,216,11,224,11,232,11,240,11,248,11,0,12,8,12,16,12,24,12,32,12,40,12,48,12,56,12,64,12,72,12,80,12,88,12,96,12,104,12,112,12,120,12,128,12,136,12,144,12,152,12,160,12,168,12,176,12,184,12,192,12,200,12,208,12,216,12,224,12,232,12,240,12,48,0,48,0,48,0,48,0,248,12,0,13,8,13,16,13,24,13,32,13,40,13,48,13,56,13,64,13,72,13,80,13,88,13,96,13,104,13,112,13,120,13,128,13,136,13,144,13,152,13,160,13,168,13,176,13,184,13,192,13,200,13,208,13,216,13,224,13,232,13,240,13,248,13,0,14,6,14,14,14,22,14,30,14,38,14,46,14,54,14,62,14,70,14,78,14,86,14,94,14,101,14,109,14,117,14,125,14,133,14,141,14,149,14,157,14,165,14,173,14,181,14,189,14,197,14,205,14,213,14,221,14,229,14,237,14,245,14,253,14,5,15,13,15,21,15,29,15,37,15,45,15,53,15,61,15,69,15,77,15,85,15,93,15,101,15,109,15,117,15,125,15,133,15,141,15,149,15,157,15,165,15,173,15,181,15,189,15,197,15,205,15,213,15,221,15,229,15,237,15,245,15,253,15,5,16,13,16,48,0,48,0,48,0,48,0,21,16,29,16,37,16,45,16,53,16,61,16,69,16,77,16,48,0,48,0,84,16,92,16,100,16,108,16,116,16,124,16,132,16,140,16,148,16,156,16,164,16,172,16,180,16,188,16,196,16,204,16,212,16,214,16,222,16,230,16,238,16,246,16,254,16,6,17,14,17,22,17,30,17,38,17,46,17,54,17,62,17,70,17,78,17,86,17,94,17,102,17,110,17,118,17,126,17,134,17,142,17,150,17,158,17,166,17,174,17,182,17,190,17,198,17,206,17,214,17,222,17,230,17,238,17,246,17,254,17,6,18,14,18,22,18,48,0,48,0,48,0,48,0,48,0,48,0,25,18,33,18,41,18,49,18,57,18,59,18,67,18,75,18,83,18,91,18,99,18,107,18,115,18,123,18,131,18,139,18,147,18,155,18,163,18,171,18,179,18,187,18,195,18,203,18,211,18,48,0,217,18,225,18,233,18,241,18,249,18,1,19,9,19,12,19,20,19,28,19,36,19,44,19,52,19,60,19,68,19,48,0,74,19,82,19,90,19,98,19,106,19,114,19,122,19,130,19,138,19,146,19,154,19,162,19,170,19,178,19,186,19,48,0,48,0,48,0,193,19,201,19,209,19,217,19,225,19,233,19,241,19,249,19,1,20,9,20,48,0,48,0,17,20,25,20,33,20,41,20,49,20,57,20,65,20,73,20,81,20,89,20,97,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,105,21,161,0,48,0,48,0,153,0,153,0,153,0,113,21,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,105,20,113,20,121,20,129,20,137,20,145,20,153,20,161,20,169,20,177,20,185,20,193,20,201,20,209,20,217,20,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,225,20,233,20,241,20,249,20,1,21,9,21,17,21,25,21,33,21,41,21,49,21,57,21,65,21,73,21,81,21,89,21,97,21,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,36,0,202,193,36,0,202,226,36,0,202,3,37,0,202,36,37,0,202,69,37,0,202,102,37,0,202,135,37,0,202,168,37,0,202,201,37,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,35,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,34,36,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,36,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,136,5,5,0,138,192,0,0,0,5,5,0,139,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,220,5,5,0,158,5,5,0,156,5,5,0,159,5,5,0,157,5,5,12,220,5,5,4,199,5,5,20,220,5,5,18,220,5,5,3,199,5,5,2,199,192,0,0,0,192,0,0,0,5,5,98,199,5,5,97,199,5,5,96,199,192,0,0,0,5,5,99,199,5,5,95,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,199,5,5,223,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,160,192,0,0,0,5,5,5,199,5,5,21,220,192,0,0,0,5,5,6,199,5,5,40,220,5,5,135,200,5,5,144,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,161,5,5,7,199,192,0,0,0,5,5,100,199,5,5,41,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,220,5,5,0,140,192,0,0,0,5,5,0,163,192,0,0,0,5,5,13,220,5,5,0,164,192,0,0,0,192,0,0,0,5,5,8,199,192,0,0,0,5,5,101,199,5,5,103,199,5,5,102,199,192,0,0,0,192,0,0,0,5,5,224,199,5,5,225,199,192,0,0,0,192,0,0,0,5,5,157,201,192,0,0,0,5,5,172,204,5,5,0,137,192,0,0,0,192,0,0,0,5,5,7,220,5,5,0,141,5,5,0,166,5,5,0,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,206,5,5,219,226,192,0,0,0,192,0,0,0,5,5,68,210,5,5,19,232,5,5,20,232,192,0,0,0,5,5,0,142,192,0,0,0,5,5,10,199,192,0,0,0,192,0,0,0,5,5,159,201,5,5,0,143,5,5,14,220,5,5,0,167,192,0,0,0,192,0,0,0,5,5,11,199,5,5,13,199,5,5,22,220,5,5,14,199,5,5,12,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,199,192,0,0,0,5,5,160,201,192,0,0,0,192,0,0,0,5,5,161,201,5,5,27,203,192,0,0,0,5,5,0,168,5,5,15,199,192,0,0,0,5,5,228,199,5,5,230,199,5,5,229,199,192,0,0,0,5,5,136,200,192,0,0,0,192,0,0,0,5,5,162,201,5,5,163,201,5,5,28,203,5,5,29,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,204,192,0,0,0,192,0,0,0,5,5,21,232,192,0,0,0,192,0,0,0,5,5,73,248,5,5,0,144,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,199,5,5,16,199,5,5,23,220,5,5,18,199,5,5,24,199,192,0,0,0,5,5,19,199,5,5,20,199,5,5,25,220,5,5,24,220,5,5,22,199,5,5,23,199,192,0,0,0,5,5,21,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,199,5,5,107,199,5,5,108,199,5,5,109,199,5,5,105,199,5,5,112,199,5,5,47,220,192,0,0,0,5,5,43,220,5,5,46,220,5,5,113,199,5,5,129,199,192,0,0,0,5,5,45,220,192,0,0,0,5,5,110,199,5,5,111,199,5,5,104,199,192,0,0,0,192,0,0,0,5,5,42,220,5,5,44,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,199,5,5,83,220,5,5,240,199,5,5,244,199,5,5,93,220,5,5,81,220,5,5,241,199,5,5,85,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,199,192,0,0,0,5,5,245,199,192,0,0,0,5,5,231,199,5,5,84,220,5,5,246,199,5,5,88,220,192,0,0,0,5,5,92,220,5,5,89,220,192,0,0,0,192,0,0,0,5,5,86,220,5,5,232,199,5,5,234,199,5,5,247,199,192,0,0,0,5,5,236,199,5,5,78,220,5,5,239,199,5,5,237,199,5,5,238,199,5,5,94,220,5,5,91,220,5,5,82,220,5,5,235,199,192,0,0,0,192,0,0,0,5,5,79,220,5,5,233,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,220,5,5,200,220,192,0,0,0,5,5,158,200,5,5,145,200,192,0,0,0,192,0,0,0,5,5,201,220,5,5,142,200,192,0,0,0,5,5,160,200,192,0,0,0,5,5,150,200,192,0,0,0,5,5,149,200,5,5,189,220,5,5,153,200,5,5,148,200,5,5,194,220,5,5,202,220,192,0,0,0,5,5,198,220,192,0,0,0,5,5,151,200,192,0,0,0,192,0,0,0,5,5,154,200,5,5,139,200,5,5,163,200,5,5,191,220,192,0,0,0,192,0,0,0,5,5,156,221,5,5,137,200,5,5,159,200,5,5,138,200,5,5,146,200,5,5,147,200,5,5,196,220,5,5,192,220,5,5,152,200,5,5,144,200,5,5,188,220,5,5,140,200,5,5,199,220,5,5,161,200,5,5,164,200,5,5,143,200,5,5,156,200,5,5,162,200,5,5,141,200,5,5,197,220,5,5,157,200,5,5,203,220,5,5,190,220,5,5,155,200,5,5,193,220,192,0,0,0,192,0,0,0,5,5,195,220,192,0,0,0,5,5,177,201,5,5,158,221,5,5,170,221,5,5,169,201,192,0,0,0,5,5,171,221,5,5,164,201,5,5,174,201,192,0,0,0,192,0,0,0,5,5,167,201,5,5,152,221,5,5,175,201,5,5,151,221,5,5,155,221,5,5,162,221,5,5,160,221,5,5,183,201,5,5,178,201,5,5,146,221,5,5,148,221,5,5,180,201,5,5,168,201,5,5,149,221,5,5,161,221,5,5,168,221,5,5,173,201,5,5,154,221,5,5,147,221,5,5,172,201,5,5,150,221,5,5,176,201,5,5,153,221,192,0,0,0,5,5,171,201,192,0,0,0,5,5,166,201,192,0,0,0,5,5,181,201,5,5,163,221,5,5,182,201,5,5,167,221,192,0,0,0,5,5,165,221,5,5,169,221,5,5,179,201,5,5,157,221,5,5,145,221,192,0,0,0,5,5,159,221,5,5,170,201,5,5,164,221,5,5,165,201,5,5,166,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,203,5,5,32,203,192,0,0,0,192,0,0,0,5,5,251,222,5,5,5,223,192,0,0,0,5,5,31,203,5,5,39,203,5,5,51,203,192,0,0,0,5,5,11,223,5,5,9,223,5,5,4,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,203,5,5,10,223,5,5,254,222,5,5,47,203,5,5,38,203,5,5,46,203,5,5,249,222,192,0,0,0,5,5,7,223,192,0,0,0,5,5,252,222,5,5,42,203,5,5,253,222,192,0,0,0,5,5,248,222,5,5,49,203,5,5,36,203,5,5,45,203,5,5,35,203,192,0,0,0,5,5,250,222,5,5,255,222,192,0,0,0,5,5,8,223,5,5,43,203,5,5,40,203,5,5,3,223,5,5,48,203,5,5,6,223,5,5,2,223,5,5,37,203,5,5,50,203,5,5,41,203,5,5,34,203,5,5,30,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,223,192,0,0,0,5,5,199,204,5,5,177,204,192,0,0,0,5,5,193,204,192,0,0,0,5,5,198,204,5,5,198,224,5,5,197,224,5,5,202,224,5,5,203,224,5,5,180,204,192,0,0,0,5,5,189,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,204,192,0,0,0,5,5,190,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,224,5,5,183,204,5,5,192,224,192,0,0,0,5,5,204,204,192,0,0,0,5,5,195,204,5,5,174,204,5,5,175,204,5,5,211,224,5,5,138,206,192,0,0,0,5,5,188,204,5,5,187,204,5,5,193,224,5,5,191,204,5,5,235,226,5,5,182,204,5,5,204,224,5,5,197,204,5,5,196,204,5,5,186,204,5,5,196,224,5,5,205,224,192,0,0,0,5,5,190,224,5,5,185,204,5,5,206,224,5,5,194,204,5,5,194,224,5,5,176,204,192,0,0,0,5,5,179,204,5,5,178,204,5,5,207,224,5,5,192,204,5,5,181,204,5,5,201,204,5,5,203,204,5,5,201,224,5,5,200,204,192,0,0,0,5,5,209,224,5,5,195,224,5,5,210,224,192,0,0,0,5,5,199,224,192,0,0,0,5,5,208,224,192,0,0,0,5,5,200,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,226,5,5,231,226,192,0,0,0,5,5,126,206,192,0,0,0,5,5,236,226,5,5,242,226,5,5,125,206,5,5,229,226,5,5,129,206,5,5,233,226,5,5,226,226,5,5,127,206,5,5,230,226,5,5,132,206,5,5,137,206,192,0,0,0,5,5,247,226,192,0,0,0,5,5,225,226,192,0,0,0,5,5,133,206,192,0,0,0,5,5,246,226,192,0,0,0,192,0,0,0,5,5,128,206,5,5,232,226,5,5,124,206,5,5,227,226,5,5,223,226,5,5,237,226,5,5,224,226,5,5,222,226,5,5,234,226,5,5,240,226,5,5,241,226,5,5,130,206,192,0,0,0,192,0,0,0,5,5,101,229,5,5,238,226,5,5,221,226,5,5,239,226,192,0,0,0,5,5,140,206,5,5,244,226,5,5,139,206,5,5,220,226,192,0,0,0,5,5,228,226,5,5,245,226,5,5,135,206,5,5,134,206,5,5,131,206,5,5,136,206,192,0,0,0,192,0,0,0,5,5,122,206,192,0,0,0,192,0,0,0,5,5,123,206,192,0,0,0,192,0,0,0,5,5,110,208,192,0,0,0,5,5,104,229,5,5,97,229,192,0,0,0,5,5,107,208,192,0,0,0,5,5,105,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,229,5,5,98,229,5,5,106,208,5,5,99,229,192,0,0,0,192,0,0,0,5,5,109,208,5,5,103,229,192,0,0,0,5,5,93,229,5,5,92,229,5,5,111,208,192,0,0,0,5,5,112,208,5,5,108,208,5,5,113,208,5,5,91,229,5,5,102,229,5,5,100,229,5,5,94,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,208,5,5,96,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,210,5,5,69,210,5,5,25,232,5,5,78,210,5,5,31,232,5,5,34,232,5,5,71,210,5,5,72,210,5,5,28,232,5,5,70,210,5,5,37,232,5,5,76,210,5,5,38,232,192,0,0,0,5,5,33,232,5,5,77,210,192,0,0,0,5,5,22,232,5,5,74,210,5,5,23,232,192,0,0,0,5,5,32,232,5,5,30,232,192,0,0,0,5,5,26,232,5,5,73,210,5,5,24,232,5,5,79,210,5,5,29,232,5,5,36,232,5,5,27,232,5,5,35,232,192,0,0,0,192,0,0,0,5,5,18,212,5,5,15,212,192,0,0,0,5,5,16,212,192,0,0,0,5,5,210,234,5,5,202,234,5,5,14,212,5,5,11,212,5,5,203,234,192,0,0,0,192,0,0,0,5,5,13,212,5,5,206,234,192,0,0,0,5,5,208,234,192,0,0,0,192,0,0,0,5,5,215,234,192,0,0,0,192,0,0,0,5,5,214,234,5,5,209,234,5,5,10,212,5,5,201,234,5,5,8,212,5,5,204,234,5,5,19,212,5,5,207,234,192,0,0,0,5,5,211,234,5,5,12,212,5,5,9,212,5,5,213,234,5,5,212,234,5,5,17,212,192,0,0,0,5,5,205,234,192,0,0,0,5,5,144,213,5,5,63,237,192,0,0,0,5,5,60,237,5,5,145,213,192,0,0,0,5,5,143,213,192,0,0,0,5,5,67,237,5,5,64,237,5,5,57,237,5,5,142,213,192,0,0,0,5,5,146,213,5,5,58,237,5,5,141,213,5,5,149,213,5,5,61,237,5,5,62,237,5,5,147,213,5,5,148,213,5,5,68,237,5,5,65,237,5,5,66,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,215,5,5,195,239,5,5,26,215,5,5,192,239,5,5,28,215,5,5,30,215,192,0,0,0,5,5,193,239,5,5,27,215,192,0,0,0,5,5,194,239,192,0,0,0,5,5,191,239,192,0,0,0,192,0,0,0,5,5,71,216,5,5,2,242,5,5,72,216,5,5,254,241,192,0,0,0,5,5,255,241,5,5,253,241,5,5,252,241,192,0,0,0,192,0,0,0,5,5,3,242,5,5,70,216,192,0,0,0,192,0,0,0,5,5,214,243,5,5,215,243,192,0,0,0,5,5,59,237,5,5,213,243,5,5,73,216,5,5,11,218,5,5,71,245,5,5,72,245,192,0,0,0,5,5,254,218,5,5,255,218,5,5,149,247,5,5,148,247,5,5,84,219,5,5,83,219,5,5,224,248,192,0,0,0,5,5,0,145,5,5,0,169,5,5,26,199,192,0,0,0,5,5,25,199,5,5,115,199,5,5,114,199,5,5,250,199,5,5,249,199,5,5,251,199,5,5,248,199,192,0,0,0,5,5,166,200,5,5,165,200,5,5,167,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,201,192,0,0,0,5,5,184,201,5,5,186,201,192,0,0,0,5,5,52,203,192,0,0,0,5,5,0,127,5,5,212,224,5,5,0,128,5,5,141,206,5,5,0,130,5,5,0,129,5,5,106,229,192,0,0,0,5,5,0,131,5,5,20,212,5,5,0,132,192,0,0,0,5,5,0,146,192,0,0,0,5,5,27,199,5,5,252,199,5,5,187,201,192,0,0,0,5,5,0,147,5,5,30,199,5,5,28,199,5,5,29,199,192,0,0,0,192,0,0,0,5,5,253,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,200,5,5,189,201,5,5,188,201,5,5,190,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,220,192,0,0,0,5,5,116,199,5,5,117,199,192,0,0,0,192,0,0,0,5,5,254,199,192,0,0,0,5,5,204,220,192,0,0,0,5,5,54,203,5,5,53,203,5,5,214,224,5,5,213,224,5,5,142,206,192,0,0,0,5,5,31,199,5,5,26,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,221,192,0,0,0,5,5,55,203,192,0,0,0,5,5,208,204,192,0,0,0,5,5,206,204,5,5,207,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,215,192,0,0,0,5,5,118,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,199,5,5,95,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,200,5,5,170,200,192,0,0,0,5,5,205,220,192,0,0,0,192,0,0,0,5,5,173,221,5,5,191,201,5,5,174,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,224,5,5,217,224,5,5,211,204,192,0,0,0,5,5,218,224,192,0,0,0,5,5,215,224,5,5,212,204,5,5,210,204,5,5,209,204,5,5,219,224,192,0,0,0,5,5,248,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,229,192,0,0,0,192,0,0,0,5,5,39,232,5,5,216,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,213,5,5,33,215,5,5,196,239,192,0,0,0,5,5,0,148,5,5,0,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,206,5,5,115,208,192,0,0,0,5,5,21,212,192,0,0,0,5,5,8,220,5,5,32,199,192,0,0,0,5,5,121,199,5,5,119,199,5,5,120,199,192,0,0,0,192,0,0,0,5,5,192,201,192,0,0,0,192,0,0,0,5,5,0,149,5,5,0,150,192,0,0,0,5,5,0,170,192,0,0,0,192,0,0,0,5,5,33,199,5,5,34,199,5,5,35,199,5,5,97,220,5,5,122,199,192,0,0,0,5,5,48,220,192,0,0,0,5,5,5,200,192,0,0,0,5,5,98,220,5,5,3,200,5,5,4,200,5,5,96,220,192,0,0,0,192,0,0,0,5,5,6,200,5,5,2,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,220,5,5,3,203,5,5,207,220,192,0,0,0,192,0,0,0,5,5,208,220,192,0,0,0,192,0,0,0,5,5,172,200,5,5,171,200,192,0,0,0,192,0,0,0,5,5,175,200,5,5,173,200,5,5,174,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,201,192,0,0,0,5,5,197,201,5,5,179,221,5,5,176,221,5,5,177,221,192,0,0,0,5,5,175,221,5,5,199,201,5,5,195,201,5,5,194,201,192,0,0,0,5,5,196,201,5,5,193,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,201,192,0,0,0,5,5,57,203,5,5,13,223,192,0,0,0,5,5,178,221,5,5,62,203,192,0,0,0,5,5,14,223,5,5,58,203,5,5,61,203,5,5,60,203,5,5,59,203,5,5,56,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,224,192,0,0,0,5,5,215,204,5,5,225,224,5,5,213,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,224,5,5,216,204,5,5,214,204,5,5,217,204,5,5,223,224,5,5,224,224,192,0,0,0,5,5,220,224,5,5,226,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,208,5,5,144,206,5,5,249,226,5,5,251,226,5,5,250,226,5,5,252,226,5,5,145,206,192,0,0,0,192,0,0,0,5,5,116,208,192,0,0,0,5,5,117,208,5,5,118,208,192,0,0,0,5,5,81,210,5,5,41,232,192,0,0,0,5,5,40,232,5,5,42,232,5,5,43,232,5,5,82,210,192,0,0,0,5,5,80,210,5,5,217,234,5,5,218,234,5,5,23,212,5,5,22,212,5,5,48,236,192,0,0,0,192,0,0,0,5,5,151,213,5,5,152,213,5,5,153,213,5,5,155,213,5,5,69,237,5,5,70,237,5,5,154,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,215,192,0,0,0,5,5,35,215,192,0,0,0,192,0,0,0,5,5,73,245,5,5,151,247,5,5,150,247,5,5,225,248,192,0,0,0,5,5,0,151,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,199,5,5,123,199,192,0,0,0,192,0,0,0,5,5,7,200,192,0,0,0,192,0,0,0,5,5,99,220,192,0,0,0,192,0,0,0,5,5,177,200,5,5,178,200,5,5,176,200,5,5,179,200,5,5,209,220,5,5,210,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,201,5,5,180,221,192,0,0,0,5,5,201,201,192,0,0,0,5,5,15,223,5,5,66,203,5,5,16,223,5,5,65,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,203,192,0,0,0,5,5,64,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,206,5,5,254,226,192,0,0,0,5,5,149,206,5,5,253,226,5,5,79,207,5,5,148,206,5,5,147,206,192,0,0,0,5,5,122,208,192,0,0,0,5,5,121,208,5,5,120,208,5,5,83,210,192,0,0,0,192,0,0,0,5,5,86,210,5,5,87,210,5,5,85,210,192,0,0,0,5,5,84,210,192,0,0,0,192,0,0,0,5,5,219,234,192,0,0,0,5,5,220,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,237,5,5,156,213,5,5,71,237,192,0,0,0,5,5,36,215,5,5,4,242,5,5,74,216,192,0,0,0,5,5,74,245,5,5,158,218,192,0,0,0,5,5,0,171,5,5,36,199,5,5,27,220,192,0,0,0,5,5,37,199,5,5,38,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,199,5,5,126,199,192,0,0,0,5,5,8,200,5,5,211,220,5,5,181,221,5,5,182,221,192,0,0,0,5,5,67,203,5,5,228,224,5,5,151,206,5,5,150,206,5,5,109,229,5,5,108,229,192,0,0,0,192,0,0,0,5,5,0,152,5,5,39,199,5,5,127,199,192,0,0,0,5,5,152,206,5,5,9,220,192,0,0,0,5,5,49,220,5,5,128,199,192,0,0,0,5,5,101,220,5,5,10,200,5,5,9,200,5,5,100,220,5,5,180,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,204,192,0,0,0,192,0,0,0,5,5,255,226,192,0,0,0,5,5,88,210,5,5,221,234,5,5,24,212,192,0,0,0,192,0,0,0,5,5,197,239,192,0,0,0,192,0,0,0,5,5,149,246,192,0,0,0,5,5,40,199,192,0,0,0,192,0,0,0,5,5,183,221,5,5,17,223,5,5,155,206,5,5,153,206,5,5,154,206,5,5,0,153,192,0,0,0,5,5,0,172,192,0,0,0,5,5,43,199,192,0,0,0,5,5,42,199,5,5,41,199,5,5,131,199,5,5,130,199,192,0,0,0,5,5,50,220,5,5,102,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,201,5,5,203,201,5,5,205,201,5,5,204,201,192,0,0,0,192,0,0,0,5,5,68,203,192,0,0,0,192,0,0,0,5,5,123,208,192,0,0,0,5,5,0,154,192,0,0,0,5,5,44,199,192,0,0,0,5,5,133,199,5,5,132,199,192,0,0,0,5,5,212,220,192,0,0,0,192,0,0,0,5,5,207,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,220,192,0,0,0,5,5,135,199,5,5,134,199,5,5,11,200,5,5,12,200,5,5,213,220,5,5,181,200,192,0,0,0,5,5,182,200,192,0,0,0,5,5,208,201,5,5,209,201,5,5,210,201,192,0,0,0,5,5,69,203,5,5,18,223,192,0,0,0,192,0,0,0,5,5,219,204,192,0,0,0,192,0,0,0,5,5,10,220,192,0,0,0,5,5,45,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,220,5,5,215,220,192,0,0,0,192,0,0,0,5,5,184,221,192,0,0,0,5,5,185,221,192,0,0,0,5,5,20,223,5,5,19,223,5,5,22,223,5,5,21,223,5,5,70,203,192,0,0,0,5,5,2,227,5,5,221,204,5,5,229,224,5,5,220,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,229,5,5,124,208,192,0,0,0,5,5,111,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,234,5,5,25,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,213,192,0,0,0,5,5,75,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,220,192,0,0,0,5,5,136,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,155,5,5,0,173,5,5,47,199,5,5,46,199,192,0,0,0,5,5,48,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,201,192,0,0,0,5,5,211,201,5,5,213,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,204,192,0,0,0,5,5,198,239,5,5,92,217,5,5,0,174,5,5,138,199,5,5,153,199,5,5,148,199,192,0,0,0,5,5,143,199,5,5,142,199,5,5,149,199,5,5,147,199,5,5,140,199,5,5,154,199,5,5,141,199,5,5,137,199,5,5,152,199,5,5,151,199,5,5,150,199,5,5,139,199,192,0,0,0,5,5,146,199,192,0,0,0,192,0,0,0,5,5,145,199,192,0,0,0,192,0,0,0,5,5,155,199,5,5,144,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,200,192,0,0,0,5,5,24,200,5,5,20,200,192,0,0,0,5,5,26,200,5,5,104,220,5,5,23,200,5,5,13,200,5,5,16,200,5,5,19,200,5,5,15,200,5,5,22,200,5,5,25,200,5,5,14,200,5,5,17,200,5,5,21,200,5,5,27,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,220,5,5,221,220,192,0,0,0,5,5,195,200,5,5,222,220,5,5,183,200,5,5,185,200,5,5,209,200,5,5,204,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,220,5,5,223,220,5,5,187,200,5,5,189,200,5,5,228,220,5,5,196,200,5,5,218,220,5,5,208,200,5,5,210,200,5,5,184,200,5,5,201,200,192,0,0,0,5,5,216,220,5,5,207,200,192,0,0,0,5,5,192,200,192,0,0,0,5,5,202,200,5,5,203,200,5,5,217,220,5,5,200,200,5,5,198,200,192,0,0,0,5,5,199,200,5,5,205,200,5,5,225,220,5,5,186,200,192,0,0,0,5,5,206,200,5,5,227,220,5,5,194,200,5,5,191,200,192,0,0,0,5,5,220,220,5,5,190,200,5,5,230,220,5,5,193,200,192,0,0,0,5,5,197,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,200,5,5,226,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,221,5,5,201,221,5,5,231,201,5,5,204,221,5,5,206,221,5,5,195,221,5,5,198,221,5,5,205,221,5,5,232,201,192,0,0,0,192,0,0,0,5,5,192,221,5,5,196,221,192,0,0,0,192,0,0,0,5,5,200,221,5,5,37,223,5,5,227,201,5,5,41,223,5,5,214,201,5,5,197,221,5,5,215,201,5,5,228,201,5,5,221,201,5,5,217,201,192,0,0,0,5,5,193,221,5,5,220,201,5,5,225,201,5,5,234,201,5,5,194,221,5,5,187,221,5,5,219,201,5,5,188,221,5,5,190,221,192,0,0,0,5,5,222,201,192,0,0,0,5,5,224,201,5,5,186,221,5,5,191,221,192,0,0,0,192,0,0,0,5,5,233,201,5,5,229,201,5,5,199,221,5,5,235,201,192,0,0,0,5,5,226,201,5,5,189,221,5,5,223,201,192,0,0,0,192,0,0,0,5,5,218,201,5,5,216,201,192,0,0,0,5,5,203,221,192,0,0,0,5,5,230,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,223,5,5,24,223,5,5,39,223,192,0,0,0,192,0,0,0,5,5,26,223,5,5,78,203,5,5,92,203,5,5,74,203,5,5,91,203,5,5,83,203,5,5,88,203,5,5,72,203,5,5,25,223,5,5,31,223,5,5,87,203,5,5,43,223,5,5,89,203,192,0,0,0,5,5,79,203,192,0,0,0,192,0,0,0,5,5,33,223,5,5,30,223,5,5,77,203,192,0,0,0,5,5,23,223,5,5,90,203,5,5,38,223,5,5,82,203,5,5,40,223,5,5,93,203,5,5,73,203,5,5,84,203,5,5,81,203,5,5,28,223,5,5,85,203,5,5,34,223,5,5,35,223,5,5,80,203,5,5,86,203,5,5,76,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,203,5,5,27,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,223,192,0,0,0,5,5,249,224,5,5,235,204,5,5,231,224,192,0,0,0,5,5,236,224,5,5,228,204,5,5,239,204,5,5,234,224,5,5,223,204,5,5,233,204,5,5,238,204,5,5,241,224,192,0,0,0,5,5,234,204,5,5,237,204,192,0,0,0,192,0,0,0,5,5,244,224,5,5,229,204,5,5,235,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,224,5,5,248,224,192,0,0,0,5,5,231,204,5,5,246,224,5,5,227,204,5,5,242,204,192,0,0,0,5,5,238,224,192,0,0,0,5,5,225,204,192,0,0,0,5,5,251,224,5,5,239,224,5,5,243,224,5,5,230,204,5,5,241,204,5,5,240,224,5,5,236,204,5,5,245,224,5,5,252,224,5,5,17,227,192,0,0,0,5,5,250,224,5,5,243,204,5,5,224,204,5,5,242,224,5,5,233,224,192,0,0,0,5,5,232,204,192,0,0,0,192,0,0,0,5,5,232,224,192,0,0,0,192,0,0,0,5,5,237,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,224,5,5,240,204,192,0,0,0,192,0,0,0,5,5,9,227,192,0,0,0,5,5,175,206,5,5,23,227,5,5,173,206,5,5,170,206,5,5,14,227,5,5,166,206,5,5,18,227,5,5,177,206,5,5,8,227,5,5,13,227,5,5,12,227,5,5,226,204,5,5,172,206,5,5,21,227,192,0,0,0,5,5,24,227,5,5,5,227,192,0,0,0,5,5,142,208,192,0,0,0,5,5,25,227,5,5,178,206,192,0,0,0,5,5,164,206,5,5,161,206,5,5,16,227,5,5,158,206,192,0,0,0,5,5,22,227,192,0,0,0,5,5,165,206,5,5,26,227,192,0,0,0,5,5,6,227,5,5,20,227,5,5,168,206,5,5,7,227,5,5,10,227,5,5,15,227,192,0,0,0,192,0,0,0,5,5,169,206,5,5,167,206,5,5,179,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,206,192,0,0,0,5,5,162,206,5,5,60,207,192,0,0,0,5,5,163,206,5,5,11,227,5,5,176,206,5,5,171,206,5,5,19,227,5,5,160,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,227,5,5,4,227,5,5,116,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,208,5,5,128,208,5,5,127,229,5,5,148,208,5,5,130,229,5,5,126,208,5,5,123,229,5,5,132,208,5,5,138,208,5,5,159,209,192,0,0,0,192,0,0,0,5,5,136,208,5,5,120,229,5,5,149,208,5,5,129,208,5,5,137,208,5,5,128,229,5,5,57,232,5,5,133,229,5,5,121,229,192,0,0,0,5,5,112,229,5,5,125,229,5,5,119,229,5,5,135,208,5,5,131,229,192,0,0,0,192,0,0,0,5,5,131,208,5,5,151,208,5,5,144,208,192,0,0,0,5,5,133,208,5,5,130,208,192,0,0,0,5,5,141,208,192,0,0,0,5,5,132,229,5,5,118,229,5,5,124,229,5,5,126,229,5,5,114,229,5,5,129,229,5,5,127,208,5,5,113,229,192,0,0,0,5,5,134,208,5,5,150,208,5,5,146,208,5,5,115,229,5,5,140,208,192,0,0,0,192,0,0,0,5,5,147,208,5,5,143,208,5,5,139,208,192,0,0,0,5,5,122,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,232,5,5,51,232,192,0,0,0,5,5,66,232,5,5,44,232,5,5,53,232,5,5,102,210,5,5,103,210,5,5,95,210,5,5,62,232,5,5,105,210,5,5,49,232,5,5,48,232,5,5,46,232,5,5,64,232,5,5,93,210,5,5,58,232,5,5,47,232,5,5,96,210,5,5,56,232,5,5,91,210,5,5,52,232,5,5,59,232,5,5,61,232,192,0,0,0,192,0,0,0,5,5,65,232,5,5,100,210,5,5,45,232,5,5,94,210,5,5,50,232,192,0,0,0,5,5,89,210,192,0,0,0,5,5,101,210,5,5,60,232,5,5,97,210,5,5,98,210,5,5,104,210,5,5,92,210,5,5,0,133,5,5,90,210,5,5,54,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,210,192,0,0,0,192,0,0,0,5,5,63,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,212,5,5,36,212,192,0,0,0,5,5,237,234,5,5,233,234,192,0,0,0,5,5,227,234,5,5,30,212,5,5,26,212,5,5,236,234,5,5,27,212,5,5,230,234,5,5,232,234,192,0,0,0,5,5,235,234,192,0,0,0,5,5,32,212,192,0,0,0,5,5,39,212,5,5,33,212,192,0,0,0,192,0,0,0,5,5,225,234,5,5,34,212,5,5,35,212,5,5,228,234,5,5,40,212,192,0,0,0,5,5,226,234,5,5,231,234,5,5,31,212,5,5,224,234,5,5,37,212,5,5,29,212,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,212,5,5,229,234,5,5,234,234,192,0,0,0,5,5,38,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,234,192,0,0,0,5,5,164,213,5,5,89,237,192,0,0,0,5,5,86,237,192,0,0,0,5,5,158,213,5,5,170,213,5,5,171,213,192,0,0,0,5,5,161,213,5,5,84,237,5,5,163,213,5,5,76,237,5,5,169,213,192,0,0,0,5,5,88,237,5,5,160,213,5,5,90,237,5,5,159,213,192,0,0,0,5,5,85,237,5,5,87,237,5,5,162,213,5,5,83,237,5,5,77,237,5,5,74,237,192,0,0,0,192,0,0,0,5,5,117,229,5,5,80,237,192,0,0,0,5,5,73,237,5,5,79,237,5,5,78,237,192,0,0,0,5,5,75,237,192,0,0,0,5,5,166,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,213,5,5,81,237,5,5,37,215,5,5,82,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,239,192,0,0,0,5,5,200,239,192,0,0,0,5,5,49,215,5,5,204,239,5,5,41,215,5,5,45,215,5,5,203,239,192,0,0,0,5,5,44,215,5,5,40,215,5,5,43,215,5,5,38,215,5,5,48,215,5,5,205,239,5,5,201,239,5,5,47,215,5,5,199,239,5,5,46,215,5,5,206,239,5,5,202,239,5,5,168,213,192,0,0,0,5,5,50,215,5,5,208,239,5,5,42,215,5,5,39,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,242,5,5,13,242,5,5,76,216,5,5,14,242,5,5,12,242,5,5,10,242,5,5,9,242,5,5,78,216,5,5,8,242,5,5,79,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,242,5,5,7,242,5,5,75,216,5,5,80,216,5,5,77,216,192,0,0,0,192,0,0,0,5,5,5,242,192,0,0,0,5,5,93,217,192,0,0,0,5,5,218,243,5,5,216,243,5,5,221,243,5,5,219,243,192,0,0,0,5,5,217,243,5,5,220,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,218,5,5,78,245,5,5,79,245,5,5,159,218,192,0,0,0,5,5,80,245,5,5,76,245,5,5,81,245,5,5,77,245,5,5,94,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,246,5,5,152,246,5,5,162,218,5,5,151,246,5,5,161,218,5,5,160,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,218,5,5,153,247,5,5,154,247,192,0,0,0,5,5,3,219,5,5,2,219,5,5,4,219,5,5,152,247,192,0,0,0,5,5,75,248,5,5,74,248,192,0,0,0,5,5,85,219,5,5,87,219,5,5,86,219,5,5,76,248,5,5,142,219,5,5,85,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,219,192,0,0,0,5,5,84,249,5,5,157,249,192,0,0,0,192,0,0,0,5,5,15,220,192,0,0,0,192,0,0,0,5,5,157,199,5,5,156,199,192,0,0,0,5,5,30,200,5,5,29,200,5,5,106,220,5,5,28,200,5,5,105,220,192,0,0,0,192,0,0,0,5,5,213,200,5,5,233,220,192,0,0,0,5,5,232,220,192,0,0,0,192,0,0,0,5,5,211,200,5,5,214,200,192,0,0,0,192,0,0,0,5,5,231,220,192,0,0,0,5,5,212,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,221,192,0,0,0,5,5,208,221,5,5,236,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,203,192,0,0,0,5,5,253,224,5,5,254,224,5,5,244,204,5,5,245,204,192,0,0,0,192,0,0,0,5,5,28,227,5,5,180,206,5,5,182,206,5,5,27,227,5,5,181,206,5,5,134,229,5,5,152,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,210,5,5,107,210,5,5,67,232,192,0,0,0,5,5,43,212,192,0,0,0,5,5,42,212,192,0,0,0,5,5,91,237,5,5,210,239,5,5,209,239,192,0,0,0,5,5,217,249,5,5,0,175,5,5,30,220,192,0,0,0,5,5,51,220,5,5,52,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,200,5,5,37,200,5,5,108,220,192,0,0,0,5,5,35,200,5,5,34,200,5,5,107,220,5,5,36,200,5,5,32,200,192,0,0,0,192,0,0,0,5,5,31,200,5,5,109,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,200,192,0,0,0,192,0,0,0,5,5,221,200,192,0,0,0,5,5,217,200,5,5,234,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,220,192,0,0,0,5,5,219,200,192,0,0,0,5,5,237,220,5,5,215,200,5,5,238,220,5,5,236,220,5,5,218,200,5,5,220,200,5,5,223,200,5,5,222,200,5,5,216,200,5,5,239,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,201,5,5,221,221,192,0,0,0,5,5,243,201,192,0,0,0,5,5,242,201,192,0,0,0,5,5,222,221,5,5,240,201,5,5,239,201,5,5,212,221,192,0,0,0,5,5,211,221,192,0,0,0,5,5,209,221,5,5,214,221,5,5,213,221,5,5,210,221,5,5,219,221,5,5,220,221,5,5,217,221,5,5,215,221,5,5,238,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,221,5,5,244,201,5,5,223,221,192,0,0,0,192,0,0,0,5,5,216,221,192,0,0,0,5,5,95,203,5,5,237,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,203,5,5,48,223,192,0,0,0,192,0,0,0,5,5,54,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,203,5,5,52,223,5,5,58,223,192,0,0,0,5,5,49,223,5,5,53,223,5,5,55,223,5,5,57,223,5,5,51,223,192,0,0,0,5,5,50,223,5,5,45,223,5,5,46,223,5,5,97,203,192,0,0,0,5,5,99,203,5,5,98,203,5,5,47,223,5,5,56,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,223,5,5,10,225,192,0,0,0,5,5,9,225,5,5,14,225,5,5,5,225,192,0,0,0,5,5,8,225,5,5,7,225,192,0,0,0,5,5,11,225,192,0,0,0,5,5,15,225,5,5,246,204,5,5,249,204,192,0,0,0,192,0,0,0,5,5,6,225,5,5,12,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,204,5,5,255,224,192,0,0,0,5,5,100,203,5,5,42,227,5,5,13,225,192,0,0,0,5,5,4,225,192,0,0,0,5,5,247,204,5,5,3,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,227,192,0,0,0,192,0,0,0,5,5,183,206,5,5,187,206,5,5,49,227,5,5,31,227,5,5,45,227,5,5,188,206,5,5,47,227,192,0,0,0,5,5,53,227,192,0,0,0,5,5,57,227,192,0,0,0,192,0,0,0,5,5,48,227,5,5,36,227,5,5,44,227,192,0,0,0,5,5,58,227,5,5,56,227,5,5,46,227,5,5,41,227,5,5,34,227,5,5,142,229,5,5,32,227,5,5,192,206,5,5,39,227,5,5,193,206,5,5,189,206,5,5,29,227,5,5,51,227,5,5,37,227,192,0,0,0,192,0,0,0,5,5,35,227,5,5,54,227,5,5,190,206,192,0,0,0,5,5,60,227,5,5,184,206,5,5,186,206,5,5,43,227,5,5,38,227,5,5,250,204,5,5,185,206,5,5,40,227,5,5,55,227,5,5,59,227,5,5,50,227,192,0,0,0,5,5,52,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,229,192,0,0,0,5,5,146,229,5,5,145,229,5,5,160,208,5,5,138,229,192,0,0,0,5,5,161,208,5,5,159,208,192,0,0,0,5,5,140,229,5,5,156,208,5,5,144,229,192,0,0,0,5,5,139,229,5,5,141,229,5,5,135,229,5,5,154,208,192,0,0,0,5,5,154,229,5,5,153,229,5,5,150,229,5,5,153,208,5,5,157,208,5,5,158,208,5,5,2,225,5,5,147,229,5,5,155,208,5,5,191,206,5,5,149,229,5,5,136,229,5,5,152,229,5,5,151,229,192,0,0,0,5,5,155,229,192,0,0,0,5,5,81,232,192,0,0,0,5,5,148,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,229,5,5,73,232,5,5,117,210,5,5,120,210,5,5,115,210,5,5,72,232,5,5,76,232,5,5,71,232,192,0,0,0,5,5,109,210,5,5,119,210,5,5,68,232,5,5,113,210,5,5,75,232,192,0,0,0,5,5,111,210,5,5,110,210,5,5,78,232,5,5,112,210,5,5,80,232,192,0,0,0,5,5,77,232,5,5,108,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,210,5,5,82,232,5,5,70,232,5,5,79,232,192,0,0,0,192,0,0,0,5,5,69,232,192,0,0,0,192,0,0,0,5,5,114,210,192,0,0,0,5,5,116,210,192,0,0,0,5,5,74,232,192,0,0,0,5,5,83,232,192,0,0,0,192,0,0,0,5,5,245,234,5,5,44,212,5,5,251,234,192,0,0,0,192,0,0,0,5,5,49,212,5,5,247,234,5,5,254,234,5,5,239,234,5,5,51,212,5,5,45,212,5,5,244,234,5,5,172,213,5,5,243,234,5,5,252,234,5,5,46,212,192,0,0,0,5,5,50,212,5,5,242,234,5,5,248,234,5,5,253,234,5,5,238,234,5,5,48,212,5,5,246,234,192,0,0,0,192,0,0,0,5,5,250,234,5,5,2,235,5,5,240,234,5,5,249,234,192,0,0,0,5,5,47,212,5,5,255,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,213,5,5,93,237,5,5,174,213,5,5,173,213,5,5,95,237,5,5,100,237,192,0,0,0,5,5,96,237,192,0,0,0,5,5,99,237,5,5,179,213,192,0,0,0,5,5,24,215,5,5,178,213,192,0,0,0,5,5,92,237,5,5,98,237,192,0,0,0,5,5,177,213,5,5,97,237,192,0,0,0,5,5,94,237,192,0,0,0,5,5,175,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,239,192,0,0,0,5,5,217,239,5,5,212,239,5,5,52,215,5,5,214,239,192,0,0,0,5,5,51,215,5,5,216,239,192,0,0,0,192,0,0,0,5,5,54,215,5,5,218,239,5,5,53,215,5,5,211,239,5,5,213,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,216,5,5,17,242,192,0,0,0,5,5,83,216,5,5,18,242,5,5,82,216,5,5,16,242,5,5,81,216,5,5,15,242,192,0,0,0,5,5,96,217,5,5,95,217,5,5,82,245,5,5,84,245,192,0,0,0,5,5,83,245,5,5,13,218,5,5,14,218,192,0,0,0,192,0,0,0,5,5,15,218,5,5,153,246,5,5,164,218,192,0,0,0,192,0,0,0,5,5,227,248,5,5,226,248,5,5,184,219,192,0,0,0,5,5,0,176,5,5,49,199,192,0,0,0,192,0,0,0,5,5,225,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,208,5,5,163,208,192,0,0,0,5,5,84,232,5,5,52,212,5,5,3,235,5,5,101,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,220,192,0,0,0,192,0,0,0,5,5,240,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,221,5,5,60,223,5,5,16,225,5,5,251,204,192,0,0,0,192,0,0,0,5,5,85,245,192,0,0,0,5,5,5,219,5,5,0,177,5,5,158,199,5,5,53,220,192,0,0,0,5,5,38,200,5,5,39,200,192,0,0,0,5,5,245,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,206,192,0,0,0,5,5,54,212,192,0,0,0,5,5,55,212,5,5,53,212,192,0,0,0,5,5,0,178,192,0,0,0,5,5,50,199,5,5,52,199,5,5,51,199,5,5,32,220,5,5,53,199,5,5,159,199,5,5,54,220,192,0,0,0,5,5,160,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,200,5,5,41,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,220,192,0,0,0,5,5,226,200,192,0,0,0,5,5,241,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,201,5,5,225,221,192,0,0,0,5,5,247,201,5,5,248,201,5,5,246,201,5,5,17,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,203,5,5,105,203,5,5,107,203,5,5,104,203,192,0,0,0,5,5,61,223,5,5,250,201,5,5,103,203,192,0,0,0,5,5,252,204,5,5,253,204,192,0,0,0,5,5,254,204,192,0,0,0,5,5,61,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,208,5,5,156,229,5,5,195,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,210,192,0,0,0,5,5,57,212,5,5,56,212,5,5,4,235,192,0,0,0,5,5,180,213,5,5,55,215,192,0,0,0,5,5,222,243,5,5,77,248,5,5,228,248,5,5,0,179,5,5,161,199,192,0,0,0,5,5,162,199,5,5,116,220,5,5,43,200,5,5,46,200,192,0,0,0,5,5,114,220,5,5,112,220,5,5,45,200,5,5,115,220,5,5,117,220,5,5,111,220,5,5,48,200,5,5,47,200,5,5,44,200,5,5,42,200,5,5,113,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,200,192,0,0,0,192,0,0,0,5,5,234,200,5,5,246,220,5,5,249,220,5,5,248,220,192,0,0,0,5,5,228,200,5,5,236,200,192,0,0,0,192,0,0,0,5,5,233,200,5,5,245,220,5,5,243,220,5,5,232,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,200,5,5,230,200,192,0,0,0,5,5,244,220,5,5,251,220,5,5,247,220,5,5,231,200,5,5,235,200,5,5,238,200,5,5,242,220,5,5,250,220,5,5,229,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,201,5,5,9,202,192,0,0,0,5,5,237,221,5,5,230,221,5,5,10,202,5,5,241,221,5,5,226,221,5,5,233,221,192,0,0,0,192,0,0,0,5,5,254,201,5,5,227,221,5,5,252,201,5,5,234,221,5,5,238,221,5,5,251,201,192,0,0,0,5,5,239,221,5,5,232,221,192,0,0,0,5,5,235,221,192,0,0,0,5,5,12,202,5,5,3,202,5,5,242,221,5,5,240,221,192,0,0,0,5,5,8,202,5,5,6,202,5,5,231,221,5,5,5,202,5,5,229,221,5,5,228,221,5,5,4,202,5,5,2,202,5,5,11,202,5,5,7,202,5,5,253,201,192,0,0,0,5,5,236,221,192,0,0,0,5,5,109,203,192,0,0,0,5,5,116,203,5,5,75,223,5,5,108,203,5,5,67,223,5,5,63,223,192,0,0,0,5,5,79,223,5,5,62,223,192,0,0,0,5,5,111,203,5,5,72,223,5,5,114,203,5,5,117,203,192,0,0,0,5,5,112,203,5,5,76,223,5,5,115,203,192,0,0,0,5,5,7,205,5,5,82,223,5,5,64,223,192,0,0,0,192,0,0,0,5,5,66,223,5,5,73,223,5,5,77,223,5,5,81,223,5,5,78,223,5,5,71,223,5,5,74,223,192,0,0,0,192,0,0,0,5,5,68,223,5,5,119,203,5,5,70,223,5,5,69,223,5,5,80,223,5,5,110,203,5,5,65,223,5,5,118,203,192,0,0,0,5,5,113,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,205,5,5,25,225,192,0,0,0,5,5,12,205,192,0,0,0,192,0,0,0,5,5,23,225,192,0,0,0,5,5,255,204,192,0,0,0,5,5,6,205,192,0,0,0,5,5,22,225,5,5,19,225,5,5,24,225,5,5,2,205,5,5,18,225,192,0,0,0,5,5,5,205,5,5,3,205,192,0,0,0,5,5,26,225,5,5,4,205,5,5,8,205,192,0,0,0,192,0,0,0,5,5,9,205,192,0,0,0,5,5,11,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,225,5,5,21,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,225,192,0,0,0,5,5,68,227,5,5,196,206,5,5,170,229,5,5,67,227,5,5,86,227,192,0,0,0,192,0,0,0,5,5,202,206,192,0,0,0,5,5,84,227,192,0,0,0,5,5,201,206,5,5,197,206,5,5,93,227,5,5,77,227,5,5,80,227,192,0,0,0,5,5,205,206,5,5,90,227,5,5,82,227,5,5,198,206,5,5,206,206,192,0,0,0,5,5,87,227,5,5,85,227,192,0,0,0,192,0,0,0,5,5,70,227,5,5,91,227,5,5,79,227,5,5,74,227,192,0,0,0,5,5,64,227,5,5,92,227,5,5,76,227,5,5,63,227,192,0,0,0,5,5,204,206,5,5,81,227,5,5,94,227,5,5,78,227,5,5,66,227,5,5,71,227,5,5,62,227,192,0,0,0,5,5,203,206,192,0,0,0,5,5,75,227,5,5,72,227,5,5,199,206,5,5,65,227,192,0,0,0,5,5,89,227,5,5,200,206,192,0,0,0,5,5,73,227,5,5,69,227,192,0,0,0,192,0,0,0,5,5,88,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,208,5,5,163,229,192,0,0,0,5,5,160,229,5,5,177,229,5,5,165,229,5,5,178,229,192,0,0,0,5,5,167,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,229,5,5,171,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,229,5,5,175,229,5,5,179,229,192,0,0,0,5,5,83,227,5,5,181,229,5,5,104,232,192,0,0,0,5,5,168,208,5,5,182,229,5,5,158,229,5,5,168,229,192,0,0,0,5,5,173,229,192,0,0,0,192,0,0,0,5,5,166,208,5,5,169,208,5,5,180,229,5,5,183,229,5,5,162,229,5,5,159,229,192,0,0,0,192,0,0,0,5,5,161,229,192,0,0,0,192,0,0,0,5,5,166,229,5,5,164,229,5,5,170,208,192,0,0,0,5,5,176,229,192,0,0,0,192,0,0,0,5,5,167,229,192,0,0,0,5,5,169,229,5,5,157,229,5,5,92,232,5,5,90,232,5,5,130,210,5,5,128,210,5,5,100,232,5,5,91,232,5,5,101,232,5,5,97,232,5,5,89,232,5,5,103,232,5,5,88,232,5,5,95,232,5,5,127,210,5,5,126,210,5,5,125,210,5,5,93,232,5,5,98,232,5,5,122,210,5,5,129,210,192,0,0,0,5,5,86,232,192,0,0,0,5,5,96,232,5,5,85,232,5,5,94,232,5,5,123,210,5,5,99,232,5,5,87,232,5,5,124,210,5,5,102,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,235,5,5,62,212,5,5,61,212,5,5,63,212,5,5,20,235,5,5,10,235,5,5,16,235,5,5,5,235,5,5,19,235,5,5,18,235,5,5,22,235,5,5,15,235,5,5,58,212,5,5,14,235,5,5,64,212,192,0,0,0,5,5,7,235,5,5,59,212,192,0,0,0,5,5,21,235,5,5,60,212,5,5,9,235,5,5,12,235,5,5,17,235,5,5,11,235,5,5,6,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,235,5,5,103,237,5,5,184,213,5,5,106,237,5,5,105,237,5,5,108,237,5,5,110,237,192,0,0,0,5,5,182,213,192,0,0,0,5,5,104,237,192,0,0,0,5,5,102,237,192,0,0,0,5,5,111,237,5,5,109,237,5,5,107,237,192,0,0,0,5,5,113,237,192,0,0,0,5,5,112,237,5,5,186,213,5,5,181,213,192,0,0,0,5,5,183,213,5,5,185,213,192,0,0,0,192,0,0,0,5,5,114,237,5,5,225,239,192,0,0,0,192,0,0,0,5,5,224,239,5,5,223,239,192,0,0,0,5,5,226,239,5,5,219,239,192,0,0,0,5,5,220,239,5,5,228,239,5,5,221,239,192,0,0,0,5,5,56,215,5,5,230,239,192,0,0,0,5,5,229,239,5,5,222,239,192,0,0,0,5,5,22,242,5,5,87,216,5,5,20,242,5,5,25,242,5,5,24,242,5,5,227,239,192,0,0,0,5,5,86,216,192,0,0,0,5,5,23,242,5,5,19,242,5,5,27,242,5,5,26,242,5,5,85,216,192,0,0,0,5,5,21,242,192,0,0,0,5,5,57,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,243,5,5,86,245,5,5,87,245,5,5,88,245,5,5,165,218,192,0,0,0,192,0,0,0,5,5,166,218,192,0,0,0,5,5,154,246,192,0,0,0,5,5,156,247,5,5,155,247,192,0,0,0,192,0,0,0,5,5,78,248,5,5,79,248,5,5,229,248,5,5,86,249,192,0,0,0,5,5,0,180,5,5,0,181,192,0,0,0,5,5,0,182,5,5,54,199,5,5,163,199,5,5,118,220,5,5,49,200,5,5,50,200,192,0,0,0,5,5,241,200,5,5,242,200,5,5,240,200,5,5,239,200,192,0,0,0,5,5,13,202,192,0,0,0,192,0,0,0,5,5,243,221,5,5,15,202,5,5,14,202,5,5,244,221,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,203,192,0,0,0,5,5,14,205,5,5,28,225,192,0,0,0,5,5,96,227,192,0,0,0,5,5,207,206,5,5,172,208,5,5,95,227,5,5,171,208,192,0,0,0,5,5,65,212,192,0,0,0,5,5,23,235,5,5,58,215,192,0,0,0,5,5,88,216,5,5,28,242,192,0,0,0,5,5,167,218,192,0,0,0,5,5,88,219,192,0,0,0,5,5,55,220,192,0,0,0,5,5,164,199,5,5,56,220,5,5,53,200,192,0,0,0,5,5,51,200,5,5,52,200,5,5,54,200,192,0,0,0,5,5,244,200,5,5,243,200,192,0,0,0,5,5,252,220,5,5,245,200,192,0,0,0,192,0,0,0,5,5,253,220,5,5,245,221,192,0,0,0,5,5,246,221,192,0,0,0,5,5,16,202,5,5,18,202,5,5,20,202,5,5,17,202,5,5,21,202,5,5,19,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,203,5,5,121,203,5,5,123,203,5,5,125,203,5,5,122,203,5,5,29,225,5,5,83,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,225,5,5,30,225,5,5,20,205,192,0,0,0,5,5,16,205,192,0,0,0,192,0,0,0,5,5,17,205,5,5,19,205,5,5,21,205,5,5,18,205,192,0,0,0,5,5,23,205,5,5,22,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,206,5,5,98,227,5,5,97,227,5,5,211,206,192,0,0,0,5,5,210,206,5,5,209,206,5,5,213,206,5,5,208,206,192,0,0,0,192,0,0,0,5,5,189,229,5,5,186,229,5,5,174,208,5,5,185,229,5,5,190,229,192,0,0,0,5,5,176,208,5,5,188,229,5,5,173,208,5,5,175,208,5,5,187,229,192,0,0,0,5,5,105,232,192,0,0,0,5,5,106,232,5,5,107,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,212,5,5,74,212,5,5,24,235,5,5,68,212,5,5,72,212,5,5,25,235,5,5,73,212,5,5,69,212,5,5,70,212,5,5,67,212,5,5,71,212,5,5,189,213,5,5,184,229,5,5,190,213,5,5,188,213,192,0,0,0,5,5,187,213,5,5,231,239,5,5,59,215,5,5,29,242,5,5,30,242,192,0,0,0,192,0,0,0,5,5,16,218,5,5,168,218,192,0,0,0,5,5,0,183,192,0,0,0,5,5,55,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,203,192,0,0,0,5,5,32,225,5,5,24,205,192,0,0,0,192,0,0,0,5,5,216,206,5,5,215,206,5,5,214,206,5,5,177,208,5,5,178,208,5,5,191,229,5,5,75,212,5,5,60,215,5,5,0,184,5,5,33,220,5,5,55,199,5,5,57,220,192,0,0,0,192,0,0,0,5,5,119,220,5,5,56,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,232,192,0,0,0,192,0,0,0,5,5,0,185,192,0,0,0,5,5,56,199,5,5,120,220,192,0,0,0,192,0,0,0,5,5,254,220,192,0,0,0,5,5,255,220,192,0,0,0,5,5,246,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,229,5,5,179,208,192,0,0,0,5,5,109,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,216,5,5,0,186,5,5,9,199,5,5,57,199,5,5,58,220,5,5,165,199,192,0,0,0,5,5,250,200,5,5,249,200,5,5,247,200,5,5,248,200,192,0,0,0,192,0,0,0,5,5,247,221,5,5,24,202,5,5,25,202,5,5,248,221,5,5,23,202,192,0,0,0,192,0,0,0,5,5,130,203,5,5,84,223,5,5,129,203,5,5,127,203,5,5,128,203,5,5,27,205,5,5,25,205,192,0,0,0,192,0,0,0,5,5,34,225,5,5,26,205,5,5,33,225,192,0,0,0,5,5,15,205,5,5,99,227,192,0,0,0,192,0,0,0,5,5,218,206,5,5,219,206,192,0,0,0,192,0,0,0,5,5,217,206,192,0,0,0,5,5,76,212,5,5,26,235,5,5,191,213,5,5,192,213,192,0,0,0,5,5,115,237,5,5,90,216,5,5,224,243,5,5,225,243,192,0,0,0,5,5,6,219,5,5,87,249,5,5,16,220,5,5,58,199,192,0,0,0,5,5,0,187,192,0,0,0,5,5,60,220,5,5,59,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,200,5,5,122,220,5,5,123,220,5,5,121,220,192,0,0,0,5,5,124,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,221,192,0,0,0,5,5,4,221,5,5,6,221,5,5,8,221,5,5,5,221,5,5,254,200,5,5,2,221,192,0,0,0,5,5,3,221,5,5,251,200,5,5,252,200,5,5,7,221,5,5,10,221,5,5,253,200,5,5,11,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,222,192,0,0,0,5,5,2,222,5,5,251,221,5,5,27,202,5,5,5,222,5,5,3,222,5,5,250,221,5,5,9,222,5,5,12,222,5,5,7,222,5,5,254,221,5,5,29,202,5,5,6,222,5,5,30,202,5,5,255,221,5,5,4,222,5,5,249,221,5,5,253,221,5,5,11,222,5,5,31,202,192,0,0,0,5,5,32,202,192,0,0,0,5,5,252,221,5,5,10,222,5,5,26,202,5,5,28,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,223,5,5,94,223,5,5,100,223,5,5,93,223,5,5,95,223,5,5,89,223,5,5,87,223,192,0,0,0,5,5,102,223,5,5,99,223,5,5,85,223,192,0,0,0,5,5,132,203,5,5,97,223,5,5,98,223,192,0,0,0,5,5,96,223,5,5,88,223,5,5,86,223,5,5,131,203,5,5,92,223,5,5,90,223,192,0,0,0,192,0,0,0,5,5,91,223,5,5,103,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,205,192,0,0,0,5,5,31,205,192,0,0,0,5,5,35,225,5,5,28,205,5,5,37,225,192,0,0,0,5,5,33,205,5,5,38,225,192,0,0,0,192,0,0,0,5,5,36,205,192,0,0,0,5,5,34,205,5,5,39,225,5,5,104,223,5,5,41,225,192,0,0,0,5,5,30,205,192,0,0,0,5,5,29,205,192,0,0,0,5,5,36,225,5,5,40,225,5,5,35,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,206,5,5,220,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,227,5,5,105,227,5,5,107,227,5,5,222,206,5,5,110,227,192,0,0,0,5,5,226,206,5,5,112,227,192,0,0,0,5,5,228,206,192,0,0,0,5,5,224,206,5,5,232,206,192,0,0,0,5,5,229,206,5,5,103,227,5,5,223,206,192,0,0,0,5,5,102,227,5,5,100,227,5,5,114,227,5,5,104,227,192,0,0,0,5,5,225,206,5,5,113,227,5,5,230,206,5,5,109,227,5,5,108,227,5,5,231,206,5,5,106,227,5,5,227,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,227,192,0,0,0,5,5,111,227,5,5,207,229,5,5,214,229,5,5,203,229,5,5,182,208,5,5,199,229,5,5,215,229,5,5,193,229,5,5,212,229,5,5,210,229,5,5,204,229,192,0,0,0,5,5,213,229,5,5,206,229,192,0,0,0,5,5,198,229,5,5,216,229,5,5,196,229,5,5,209,229,5,5,194,229,192,0,0,0,5,5,217,229,192,0,0,0,5,5,183,208,192,0,0,0,5,5,211,229,5,5,112,232,5,5,197,229,5,5,180,208,192,0,0,0,5,5,201,229,192,0,0,0,5,5,181,208,5,5,200,229,5,5,205,229,192,0,0,0,192,0,0,0,5,5,202,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,232,5,5,111,232,192,0,0,0,5,5,113,232,192,0,0,0,5,5,118,232,5,5,117,232,5,5,131,210,192,0,0,0,5,5,195,229,5,5,115,232,192,0,0,0,192,0,0,0,5,5,132,210,192,0,0,0,5,5,110,232,5,5,114,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,235,192,0,0,0,5,5,40,235,5,5,31,235,192,0,0,0,5,5,38,235,5,5,29,235,5,5,37,235,5,5,41,235,5,5,28,235,5,5,32,235,5,5,27,235,192,0,0,0,5,5,77,212,192,0,0,0,5,5,30,235,5,5,78,212,5,5,36,235,5,5,35,235,5,5,34,235,192,0,0,0,192,0,0,0,5,5,39,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,237,5,5,121,237,5,5,194,213,5,5,122,237,192,0,0,0,5,5,117,237,192,0,0,0,5,5,116,237,5,5,126,237,192,0,0,0,5,5,124,237,5,5,193,213,5,5,127,237,5,5,118,237,5,5,123,237,5,5,125,237,5,5,120,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,239,5,5,240,239,5,5,234,239,5,5,239,239,192,0,0,0,5,5,232,239,5,5,242,239,5,5,238,239,5,5,243,239,5,5,237,239,5,5,233,239,5,5,241,239,192,0,0,0,5,5,244,239,5,5,236,239,192,0,0,0,5,5,31,242,5,5,94,216,192,0,0,0,5,5,92,216,192,0,0,0,5,5,91,216,5,5,93,216,192,0,0,0,192,0,0,0,5,5,226,243,192,0,0,0,5,5,238,244,5,5,89,245,192,0,0,0,192,0,0,0,5,5,155,246,5,5,156,246,192,0,0,0,5,5,169,218,192,0,0,0,5,5,157,247,192,0,0,0,5,5,7,219,192,0,0,0,5,5,158,247,192,0,0,0,5,5,81,248,5,5,90,219,192,0,0,0,5,5,89,219,5,5,80,248,5,5,143,219,192,0,0,0,5,5,230,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,188,5,5,58,200,5,5,125,220,5,5,12,221,5,5,142,201,5,5,233,206,192,0,0,0,192,0,0,0,5,5,0,189,5,5,168,199,5,5,167,199,5,5,166,199,192,0,0,0,192,0,0,0,5,5,255,200,192,0,0,0,192,0,0,0,5,5,37,205,192,0,0,0,5,5,120,232,5,5,0,190,5,5,0,191,5,5,0,192,5,5,59,199,192,0,0,0,192,0,0,0,5,5,133,203,192,0,0,0,5,5,105,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,208,5,5,0,193,5,5,34,220,192,0,0,0,192,0,0,0,5,5,169,199,5,5,170,199,5,5,61,220,192,0,0,0,5,5,59,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,221,192,0,0,0,5,5,2,201,192,0,0,0,5,5,14,221,192,0,0,0,192,0,0,0,5,5,38,202,192,0,0,0,192,0,0,0,5,5,14,222,5,5,36,202,5,5,35,202,5,5,13,222,5,5,33,202,5,5,15,222,5,5,34,202,5,5,37,202,192,0,0,0,5,5,134,203,192,0,0,0,5,5,136,203,5,5,109,223,5,5,106,223,5,5,107,223,5,5,108,223,5,5,110,223,5,5,135,203,192,0,0,0,192,0,0,0,5,5,43,225,5,5,42,225,192,0,0,0,5,5,39,205,192,0,0,0,5,5,38,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,206,5,5,117,227,192,0,0,0,5,5,235,206,5,5,237,206,5,5,234,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,208,5,5,116,227,192,0,0,0,5,5,187,208,5,5,219,229,192,0,0,0,5,5,188,208,5,5,218,229,5,5,185,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,232,5,5,125,232,5,5,133,210,5,5,124,232,5,5,122,232,5,5,121,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,235,5,5,83,212,5,5,81,212,192,0,0,0,5,5,82,212,5,5,42,235,5,5,43,235,192,0,0,0,5,5,79,212,5,5,131,237,5,5,129,237,192,0,0,0,5,5,196,213,5,5,130,237,5,5,197,213,5,5,195,213,5,5,80,212,192,0,0,0,192,0,0,0,5,5,247,239,5,5,245,239,5,5,246,239,5,5,128,237,5,5,33,242,5,5,95,216,5,5,32,242,5,5,227,243,5,5,228,243,5,5,248,239,5,5,90,245,192,0,0,0,5,5,0,194,5,5,171,199,5,5,61,200,5,5,126,220,5,5,60,200,192,0,0,0,5,5,39,202,5,5,134,210,192,0,0,0,5,5,60,199,5,5,172,199,5,5,137,203,5,5,189,208,192,0,0,0,5,5,62,220,192,0,0,0,5,5,63,220,192,0,0,0,5,5,127,220,192,0,0,0,192,0,0,0,5,5,4,201,5,5,18,221,5,5,16,221,5,5,5,201,5,5,15,221,5,5,17,221,5,5,19,221,192,0,0,0,5,5,3,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,202,5,5,44,202,5,5,41,202,192,0,0,0,192,0,0,0,5,5,40,202,5,5,114,223,5,5,42,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,203,192,0,0,0,5,5,113,223,5,5,115,223,5,5,112,223,5,5,116,223,5,5,139,203,5,5,42,205,5,5,44,225,192,0,0,0,5,5,46,225,5,5,40,205,5,5,47,225,5,5,41,205,5,5,45,225,192,0,0,0,5,5,111,223,5,5,118,227,5,5,121,227,5,5,122,227,5,5,119,227,5,5,241,206,5,5,240,206,5,5,238,206,5,5,239,206,5,5,120,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,206,192,0,0,0,192,0,0,0,5,5,191,208,5,5,192,208,192,0,0,0,5,5,193,208,5,5,126,232,5,5,128,232,5,5,130,232,5,5,136,210,5,5,135,210,5,5,190,208,5,5,129,232,5,5,127,232,192,0,0,0,5,5,48,235,192,0,0,0,192,0,0,0,5,5,46,235,5,5,52,235,5,5,84,212,5,5,53,235,5,5,50,235,5,5,85,212,5,5,47,235,5,5,45,235,5,5,51,235,5,5,199,213,5,5,133,237,5,5,49,235,5,5,201,213,5,5,134,237,5,5,200,213,5,5,203,213,5,5,135,237,5,5,198,213,5,5,202,213,192,0,0,0,5,5,253,239,5,5,251,239,5,5,250,239,5,5,252,239,5,5,249,239,192,0,0,0,192,0,0,0,5,5,18,218,192,0,0,0,5,5,157,246,5,5,158,246,192,0,0,0,5,5,159,247,5,5,82,248,5,5,218,219,192,0,0,0,192,0,0,0,5,5,45,202,5,5,6,201,192,0,0,0,192,0,0,0,5,5,140,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,195,5,5,61,199,192,0,0,0,5,5,173,199,5,5,128,220,192,0,0,0,5,5,7,201,5,5,20,221,192,0,0,0,5,5,117,223,5,5,141,203,192,0,0,0,5,5,86,212,5,5,0,196,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,200,192,0,0,0,192,0,0,0,5,5,137,210,5,5,0,197,5,5,62,199,5,5,63,199,192,0,0,0,5,5,175,199,5,5,174,199,192,0,0,0,5,5,129,220,5,5,63,200,192,0,0,0,5,5,21,221,192,0,0,0,5,5,8,201,192,0,0,0,192,0,0,0,5,5,17,222,5,5,18,222,5,5,19,222,192,0,0,0,5,5,46,202,5,5,47,202,5,5,16,222,5,5,48,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,203,5,5,118,223,192,0,0,0,5,5,49,225,5,5,43,205,192,0,0,0,5,5,48,225,192,0,0,0,5,5,243,206,5,5,123,227,5,5,244,206,5,5,124,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,232,192,0,0,0,192,0,0,0,5,5,55,235,5,5,54,235,192,0,0,0,5,5,87,212,192,0,0,0,5,5,204,213,5,5,136,237,5,5,61,215,5,5,254,239,5,5,96,216,192,0,0,0,5,5,91,219,5,5,232,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,222,192,0,0,0,5,5,119,223,5,5,245,206,5,5,220,229,5,5,138,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,201,192,0,0,0,5,5,9,201,5,5,143,203,192,0,0,0,5,5,50,225,192,0,0,0,5,5,247,206,5,5,11,208,5,5,248,206,5,5,246,206,5,5,195,208,192,0,0,0,5,5,56,235,5,5,88,212,5,5,205,213,192,0,0,0,5,5,17,220,5,5,130,220,192,0,0,0,5,5,23,221,5,5,11,201,5,5,22,221,5,5,12,201,192,0,0,0,192,0,0,0,5,5,52,202,5,5,23,222,5,5,22,222,5,5,51,202,5,5,49,202,5,5,50,202,5,5,21,222,192,0,0,0,192,0,0,0,5,5,145,203,5,5,120,223,5,5,148,203,5,5,144,203,5,5,150,203,5,5,146,203,5,5,147,203,5,5,149,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,205,5,5,45,205,5,5,44,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,227,5,5,249,206,5,5,252,206,5,5,250,206,192,0,0,0,5,5,125,227,5,5,255,206,192,0,0,0,5,5,251,206,5,5,127,227,5,5,254,206,5,5,253,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,229,5,5,221,229,192,0,0,0,5,5,198,208,5,5,196,208,5,5,197,208,5,5,223,229,5,5,139,210,5,5,133,232,5,5,140,210,5,5,132,232,192,0,0,0,192,0,0,0,5,5,137,237,192,0,0,0,192,0,0,0,5,5,207,213,5,5,57,235,5,5,206,213,192,0,0,0,5,5,89,212,192,0,0,0,5,5,35,242,5,5,255,239,5,5,97,216,5,5,34,242,5,5,91,245,5,5,159,246,5,5,160,246,192,0,0,0,5,5,64,199,192,0,0,0,5,5,176,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,220,192,0,0,0,192,0,0,0,5,5,14,201,5,5,16,201,192,0,0,0,5,5,133,220,5,5,26,221,5,5,25,221,5,5,24,221,192,0,0,0,5,5,132,220,5,5,131,220,5,5,65,200,5,5,15,201,5,5,13,201,5,5,64,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,202,5,5,24,222,192,0,0,0,5,5,54,202,5,5,31,221,192,0,0,0,5,5,33,221,5,5,32,221,5,5,25,222,192,0,0,0,192,0,0,0,5,5,28,221,192,0,0,0,5,5,20,201,5,5,18,201,192,0,0,0,5,5,27,221,5,5,29,221,5,5,35,221,192,0,0,0,5,5,17,201,192,0,0,0,5,5,30,221,5,5,39,221,5,5,56,202,192,0,0,0,5,5,36,221,5,5,19,201,192,0,0,0,5,5,34,221,5,5,37,221,192,0,0,0,5,5,55,202,192,0,0,0,5,5,57,202,5,5,38,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,222,5,5,32,222,5,5,30,222,5,5,44,222,5,5,39,222,5,5,155,203,5,5,58,202,5,5,40,222,5,5,43,222,5,5,151,203,5,5,42,222,5,5,59,202,5,5,64,202,5,5,62,202,5,5,33,222,192,0,0,0,5,5,28,222,5,5,35,222,5,5,69,202,5,5,46,222,5,5,152,203,5,5,36,222,192,0,0,0,5,5,153,203,5,5,65,202,5,5,38,222,192,0,0,0,5,5,135,223,5,5,154,203,5,5,27,222,5,5,66,202,5,5,156,203,5,5,67,202,5,5,63,202,5,5,68,202,5,5,37,222,5,5,26,222,5,5,41,222,5,5,60,202,192,0,0,0,192,0,0,0,5,5,29,222,5,5,34,222,5,5,31,222,5,5,61,202,192,0,0,0,5,5,121,223,192,0,0,0,5,5,122,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,223,5,5,54,225,5,5,133,223,5,5,162,203,5,5,136,223,5,5,126,223,5,5,161,203,5,5,128,223,192,0,0,0,5,5,129,223,192,0,0,0,192,0,0,0,5,5,131,223,5,5,157,203,192,0,0,0,192,0,0,0,5,5,50,205,192,0,0,0,192,0,0,0,5,5,127,223,5,5,123,223,5,5,51,205,192,0,0,0,192,0,0,0,5,5,137,223,5,5,47,205,5,5,52,225,5,5,130,223,192,0,0,0,5,5,51,225,5,5,125,223,5,5,134,223,192,0,0,0,192,0,0,0,5,5,160,203,5,5,48,205,5,5,166,203,5,5,49,205,5,5,138,223,5,5,53,225,5,5,159,203,5,5,53,205,5,5,165,203,5,5,164,203,5,5,163,203,5,5,52,205,5,5,139,223,5,5,54,205,5,5,158,203,192,0,0,0,5,5,124,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,207,5,5,57,225,5,5,59,225,192,0,0,0,5,5,61,225,5,5,55,205,5,5,61,205,5,5,130,227,5,5,65,225,5,5,56,225,5,5,4,207,5,5,128,227,192,0,0,0,5,5,60,205,5,5,58,205,5,5,67,225,192,0,0,0,5,5,129,227,192,0,0,0,5,5,58,225,192,0,0,0,5,5,59,205,5,5,62,225,5,5,62,205,5,5,64,225,192,0,0,0,192,0,0,0,5,5,57,205,5,5,63,225,5,5,66,225,5,5,60,225,192,0,0,0,5,5,56,205,5,5,5,207,192,0,0,0,5,5,55,225,5,5,3,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,227,5,5,141,227,5,5,201,208,192,0,0,0,5,5,8,207,5,5,13,207,5,5,202,208,5,5,143,227,5,5,20,207,5,5,225,229,5,5,133,227,5,5,12,207,5,5,15,207,5,5,10,207,5,5,131,227,5,5,145,227,5,5,148,227,5,5,240,229,192,0,0,0,5,5,146,227,5,5,229,229,5,5,11,207,5,5,18,207,5,5,22,207,5,5,140,227,5,5,224,229,5,5,144,227,5,5,7,207,5,5,226,229,5,5,147,227,5,5,228,229,5,5,136,227,192,0,0,0,5,5,199,208,192,0,0,0,5,5,134,227,5,5,135,227,5,5,17,207,192,0,0,0,192,0,0,0,5,5,16,207,5,5,138,227,5,5,21,207,5,5,142,227,5,5,14,207,5,5,139,227,192,0,0,0,5,5,19,207,5,5,203,208,5,5,200,208,5,5,227,229,192,0,0,0,5,5,137,227,192,0,0,0,5,5,9,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,208,5,5,212,208,5,5,231,229,5,5,145,210,5,5,210,208,5,5,235,229,5,5,214,208,5,5,134,232,5,5,237,229,5,5,147,210,5,5,206,208,5,5,209,208,5,5,238,229,192,0,0,0,5,5,239,229,5,5,245,229,5,5,216,208,5,5,148,210,192,0,0,0,5,5,241,229,5,5,246,229,5,5,234,229,5,5,158,210,192,0,0,0,5,5,149,210,5,5,215,208,5,5,232,229,5,5,247,229,192,0,0,0,5,5,157,210,5,5,213,208,5,5,142,210,5,5,244,229,192,0,0,0,5,5,217,208,5,5,236,229,5,5,230,229,5,5,207,208,5,5,233,229,192,0,0,0,5,5,242,229,192,0,0,0,5,5,141,210,5,5,146,210,5,5,204,208,5,5,243,229,192,0,0,0,5,5,144,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,210,5,5,59,235,5,5,145,232,192,0,0,0,5,5,137,232,5,5,58,235,192,0,0,0,5,5,141,232,5,5,143,232,192,0,0,0,192,0,0,0,5,5,140,232,192,0,0,0,5,5,155,210,192,0,0,0,5,5,139,232,5,5,159,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,235,192,0,0,0,192,0,0,0,5,5,154,210,5,5,91,212,5,5,146,232,5,5,60,235,192,0,0,0,192,0,0,0,5,5,152,210,5,5,138,232,5,5,142,232,5,5,90,212,5,5,143,210,5,5,135,232,5,5,136,232,5,5,92,212,5,5,151,210,5,5,153,210,5,5,150,210,5,5,144,232,192,0,0,0,192,0,0,0,5,5,64,235,5,5,65,235,5,5,70,235,5,5,212,213,5,5,77,235,192,0,0,0,5,5,98,212,192,0,0,0,5,5,97,212,5,5,72,235,192,0,0,0,5,5,211,213,5,5,61,235,5,5,96,212,192,0,0,0,5,5,76,235,5,5,94,212,5,5,95,212,192,0,0,0,5,5,73,235,5,5,154,237,5,5,209,213,5,5,211,208,192,0,0,0,5,5,75,235,5,5,216,213,5,5,67,235,192,0,0,0,5,5,210,213,192,0,0,0,5,5,215,213,5,5,62,235,5,5,66,235,5,5,63,235,5,5,69,235,5,5,99,212,5,5,208,213,5,5,93,212,192,0,0,0,5,5,140,237,5,5,71,235,192,0,0,0,5,5,214,213,192,0,0,0,5,5,217,213,192,0,0,0,5,5,68,235,192,0,0,0,5,5,213,213,5,5,139,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,237,5,5,65,215,5,5,138,237,5,5,13,240,5,5,153,237,5,5,221,213,192,0,0,0,5,5,219,213,5,5,63,215,5,5,150,237,5,5,146,237,5,5,225,213,192,0,0,0,5,5,4,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,213,5,5,145,237,192,0,0,0,5,5,2,240,192,0,0,0,5,5,149,237,192,0,0,0,5,5,152,237,5,5,143,237,192,0,0,0,5,5,224,213,192,0,0,0,192,0,0,0,5,5,218,213,5,5,3,240,5,5,64,215,5,5,151,237,5,5,220,213,5,5,222,213,5,5,148,237,5,5,226,213,5,5,147,237,5,5,142,237,5,5,141,237,5,5,62,215,5,5,155,237,5,5,6,240,5,5,37,242,5,5,67,215,192,0,0,0,5,5,12,240,192,0,0,0,5,5,10,240,192,0,0,0,5,5,38,242,192,0,0,0,5,5,68,215,5,5,11,240,192,0,0,0,5,5,8,240,5,5,99,216,5,5,36,242,192,0,0,0,5,5,5,240,5,5,7,240,5,5,100,216,5,5,70,215,5,5,98,216,5,5,69,215,5,5,102,216,5,5,9,240,5,5,66,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,243,192,0,0,0,5,5,229,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,242,5,5,230,243,5,5,40,242,192,0,0,0,192,0,0,0,5,5,99,217,5,5,42,242,5,5,41,242,5,5,101,216,5,5,39,242,5,5,43,242,5,5,238,243,5,5,234,243,5,5,236,243,192,0,0,0,5,5,231,243,5,5,232,243,192,0,0,0,5,5,235,243,5,5,233,243,5,5,19,218,192,0,0,0,192,0,0,0,5,5,22,218,5,5,21,218,5,5,20,218,5,5,170,218,5,5,161,246,5,5,171,218,5,5,92,245,5,5,8,219,5,5,160,247,5,5,9,219,5,5,92,219,5,5,144,219,5,5,233,248,192,0,0,0,5,5,234,248,5,5,235,248,192,0,0,0,192,0,0,0,5,5,8,250,5,5,65,199,5,5,65,220,5,5,177,199,192,0,0,0,5,5,67,200,5,5,68,200,5,5,66,200,192,0,0,0,5,5,69,200,5,5,22,201,5,5,21,201,192,0,0,0,5,5,47,222,5,5,71,202,5,5,70,202,192,0,0,0,192,0,0,0,5,5,68,225,5,5,23,207,5,5,24,207,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,208,5,5,147,232,5,5,160,210,5,5,161,210,5,5,149,232,5,5,151,232,5,5,150,232,192,0,0,0,5,5,79,235,192,0,0,0,5,5,78,235,5,5,100,212,5,5,80,235,192,0,0,0,5,5,156,237,5,5,227,213,192,0,0,0,5,5,71,215,192,0,0,0,5,5,103,216,5,5,100,217,5,5,104,216,192,0,0,0,5,5,66,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,221,192,0,0,0,192,0,0,0,5,5,48,222,5,5,73,202,5,5,72,202,5,5,74,202,5,5,167,203,5,5,140,223,5,5,141,223,192,0,0,0,192,0,0,0,5,5,69,225,5,5,63,205,5,5,25,207,5,5,219,208,5,5,248,229,5,5,67,199,192,0,0,0,5,5,0,198,5,5,68,199,192,0,0,0,5,5,66,220,5,5,181,199,5,5,180,199,5,5,178,199,5,5,179,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,200,5,5,140,220,5,5,142,220,5,5,71,200,5,5,134,220,192,0,0,0,5,5,135,220,192,0,0,0,5,5,141,220,5,5,137,220,5,5,139,220,5,5,70,200,5,5,136,220,5,5,143,220,5,5,138,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,201,5,5,38,201,5,5,36,201,5,5,50,221,5,5,47,221,5,5,55,221,5,5,34,201,5,5,56,221,192,0,0,0,5,5,27,201,5,5,53,221,192,0,0,0,5,5,33,201,5,5,49,221,5,5,48,221,5,5,31,201,5,5,54,221,5,5,32,201,5,5,75,202,5,5,26,201,5,5,51,221,192,0,0,0,5,5,41,221,5,5,23,201,192,0,0,0,5,5,42,201,5,5,46,221,5,5,52,221,5,5,28,201,5,5,30,201,192,0,0,0,5,5,42,221,192,0,0,0,5,5,43,221,5,5,44,221,192,0,0,0,5,5,41,201,5,5,35,201,5,5,40,201,5,5,45,221,5,5,39,201,5,5,25,201,5,5,24,201,5,5,37,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,202,5,5,60,222,5,5,53,222,5,5,84,202,5,5,103,202,5,5,49,222,5,5,56,222,5,5,58,222,5,5,61,222,5,5,98,202,192,0,0,0,5,5,57,222,5,5,50,222,5,5,96,202,5,5,54,222,192,0,0,0,5,5,62,222,5,5,81,202,192,0,0,0,5,5,59,222,5,5,91,202,5,5,90,202,5,5,52,222,5,5,79,202,192,0,0,0,192,0,0,0,5,5,80,202,192,0,0,0,5,5,78,202,192,0,0,0,5,5,102,202,5,5,94,202,5,5,88,202,5,5,76,202,5,5,55,222,5,5,87,202,5,5,77,202,5,5,95,202,5,5,104,202,5,5,142,223,5,5,92,202,5,5,51,222,5,5,82,202,5,5,85,202,5,5,86,202,192,0,0,0,5,5,100,202,5,5,101,202,5,5,99,202,5,5,93,202,5,5,97,202,5,5,83,202,5,5,168,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,223,5,5,180,203,5,5,172,203,5,5,174,203,5,5,179,203,5,5,160,223,5,5,177,203,5,5,70,225,5,5,64,205,5,5,182,203,5,5,145,223,5,5,153,223,5,5,178,203,5,5,152,223,5,5,149,223,5,5,157,223,5,5,159,223,5,5,171,203,5,5,175,203,5,5,181,203,5,5,66,205,5,5,154,223,5,5,173,203,5,5,184,203,5,5,147,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,203,5,5,65,205,5,5,170,203,192,0,0,0,5,5,144,223,5,5,151,223,5,5,143,223,5,5,146,223,5,5,150,223,5,5,71,225,5,5,183,203,192,0,0,0,5,5,155,223,5,5,156,223,5,5,158,223,5,5,169,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,205,5,5,83,225,5,5,78,205,5,5,79,205,5,5,73,225,5,5,89,225,192,0,0,0,5,5,69,205,192,0,0,0,192,0,0,0,5,5,149,227,5,5,91,225,5,5,85,225,192,0,0,0,5,5,76,225,192,0,0,0,5,5,94,225,5,5,79,225,5,5,75,205,5,5,172,227,5,5,82,225,5,5,77,205,5,5,68,205,192,0,0,0,5,5,96,225,5,5,84,225,5,5,71,205,5,5,77,225,5,5,74,225,5,5,75,225,5,5,72,205,5,5,90,225,5,5,97,225,5,5,74,205,5,5,81,225,5,5,80,225,5,5,82,205,5,5,81,205,5,5,67,205,5,5,73,205,5,5,76,205,5,5,93,225,192,0,0,0,192,0,0,0,5,5,87,225,5,5,70,205,5,5,72,225,5,5,95,225,5,5,86,225,5,5,88,225,5,5,92,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,227,192,0,0,0,5,5,33,207,5,5,53,207,5,5,52,207,192,0,0,0,5,5,41,207,192,0,0,0,5,5,168,227,5,5,164,227,5,5,161,227,5,5,179,227,5,5,36,207,5,5,28,207,192,0,0,0,192,0,0,0,5,5,166,227,5,5,235,208,5,5,32,207,5,5,174,227,192,0,0,0,5,5,54,207,5,5,51,207,5,5,170,227,5,5,153,227,192,0,0,0,192,0,0,0,5,5,50,207,5,5,176,227,5,5,152,227,5,5,39,207,5,5,43,207,5,5,175,227,192,0,0,0,5,5,162,227,5,5,44,207,5,5,38,207,5,5,151,227,192,0,0,0,5,5,221,208,5,5,178,227,5,5,160,227,5,5,49,207,5,5,163,227,5,5,177,227,5,5,48,207,192,0,0,0,5,5,249,229,192,0,0,0,5,5,29,207,5,5,158,227,5,5,34,207,5,5,45,207,192,0,0,0,5,5,40,207,5,5,167,227,5,5,157,227,5,5,155,227,5,5,173,227,5,5,26,207,5,5,46,207,5,5,30,207,5,5,220,208,5,5,171,227,5,5,31,207,192,0,0,0,5,5,27,207,5,5,42,207,5,5,37,207,5,5,35,207,5,5,159,227,5,5,47,207,5,5,156,227,5,5,169,227,5,5,165,227,5,5,251,229,5,5,250,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,227,5,5,13,230,192,0,0,0,5,5,223,208,192,0,0,0,5,5,19,230,5,5,2,230,5,5,16,230,5,5,152,232,5,5,226,208,5,5,20,230,5,5,23,230,5,5,225,208,5,5,5,230,5,5,22,230,5,5,21,230,5,5,227,208,5,5,252,229,5,5,222,208,5,5,230,208,192,0,0,0,5,5,228,208,5,5,18,230,192,0,0,0,5,5,8,230,5,5,232,208,5,5,25,230,5,5,17,230,5,5,26,230,5,5,240,208,5,5,238,208,5,5,15,230,5,5,14,230,192,0,0,0,5,5,12,230,5,5,6,230,5,5,231,208,192,0,0,0,5,5,229,208,5,5,78,225,5,5,253,229,192,0,0,0,5,5,182,232,5,5,254,229,5,5,224,208,5,5,237,208,5,5,154,232,192,0,0,0,5,5,233,208,5,5,234,208,5,5,255,229,5,5,24,230,5,5,153,232,5,5,9,230,5,5,4,230,5,5,236,208,5,5,10,230,5,5,7,230,192,0,0,0,192,0,0,0,5,5,241,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,210,192,0,0,0,192,0,0,0,5,5,157,232,5,5,176,232,5,5,181,232,5,5,169,232,5,5,172,210,5,5,186,232,5,5,169,210,5,5,155,232,192,0,0,0,5,5,156,232,5,5,162,210,5,5,171,210,5,5,163,232,5,5,174,210,5,5,175,210,5,5,164,232,192,0,0,0,5,5,177,232,5,5,183,232,5,5,170,210,192,0,0,0,5,5,164,210,5,5,162,232,5,5,158,232,5,5,185,232,5,5,167,232,5,5,168,232,5,5,159,232,5,5,179,232,5,5,170,232,5,5,180,232,5,5,172,232,192,0,0,0,5,5,165,210,5,5,81,235,5,5,168,210,5,5,166,210,5,5,184,232,5,5,175,232,5,5,171,232,192,0,0,0,192,0,0,0,5,5,160,232,5,5,110,212,5,5,174,232,5,5,173,210,5,5,166,232,192,0,0,0,5,5,165,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,210,5,5,163,210,5,5,102,235,5,5,178,232,5,5,173,232,192,0,0,0,5,5,161,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,235,192,0,0,0,5,5,82,235,5,5,93,235,192,0,0,0,5,5,100,235,5,5,108,212,5,5,239,208,5,5,98,235,5,5,103,212,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,212,5,5,105,235,192,0,0,0,5,5,83,235,5,5,96,235,5,5,84,235,5,5,95,235,5,5,106,212,5,5,99,235,5,5,11,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,235,5,5,91,235,5,5,109,212,5,5,170,237,5,5,228,213,192,0,0,0,5,5,104,235,5,5,103,235,5,5,111,212,5,5,157,237,5,5,229,213,5,5,158,237,192,0,0,0,5,5,87,235,5,5,88,235,5,5,85,235,5,5,90,235,5,5,86,235,5,5,107,235,5,5,105,212,5,5,230,213,5,5,107,212,5,5,112,212,192,0,0,0,5,5,89,235,192,0,0,0,5,5,101,235,192,0,0,0,192,0,0,0,5,5,94,235,192,0,0,0,192,0,0,0,5,5,161,237,192,0,0,0,5,5,101,212,5,5,233,213,5,5,20,240,5,5,166,237,5,5,165,237,5,5,167,237,192,0,0,0,192,0,0,0,5,5,164,237,5,5,234,213,192,0,0,0,5,5,240,213,5,5,237,213,192,0,0,0,5,5,238,213,5,5,159,237,5,5,162,237,5,5,172,237,5,5,246,213,5,5,244,213,192,0,0,0,5,5,163,237,5,5,3,230,5,5,231,213,5,5,169,237,5,5,160,237,192,0,0,0,5,5,247,213,5,5,168,237,5,5,104,212,5,5,236,213,5,5,92,235,192,0,0,0,192,0,0,0,5,5,239,213,192,0,0,0,5,5,243,213,5,5,245,213,5,5,242,213,5,5,241,213,192,0,0,0,5,5,235,213,5,5,171,237,5,5,232,213,5,5,248,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,215,5,5,76,215,5,5,19,240,5,5,85,215,5,5,82,215,192,0,0,0,5,5,73,215,5,5,80,215,5,5,21,240,5,5,78,215,5,5,72,215,192,0,0,0,5,5,79,215,192,0,0,0,5,5,18,240,5,5,106,216,5,5,74,215,192,0,0,0,5,5,81,215,5,5,105,216,5,5,17,240,5,5,16,240,192,0,0,0,5,5,83,215,192,0,0,0,5,5,84,215,192,0,0,0,5,5,15,240,5,5,14,240,5,5,107,216,5,5,24,240,5,5,77,215,5,5,22,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,216,192,0,0,0,5,5,113,216,5,5,47,242,5,5,49,242,192,0,0,0,5,5,110,216,192,0,0,0,5,5,50,242,5,5,46,242,192,0,0,0,5,5,48,242,5,5,111,216,5,5,114,216,192,0,0,0,5,5,45,242,5,5,109,216,5,5,112,216,5,5,102,217,5,5,23,240,5,5,101,217,192,0,0,0,192,0,0,0,5,5,107,217,5,5,242,243,192,0,0,0,5,5,105,217,5,5,106,217,5,5,245,243,5,5,241,243,5,5,103,217,5,5,239,243,5,5,23,218,5,5,243,243,192,0,0,0,5,5,244,243,5,5,240,243,192,0,0,0,5,5,104,217,5,5,93,245,192,0,0,0,5,5,96,245,192,0,0,0,192,0,0,0,5,5,97,245,5,5,95,245,5,5,98,245,5,5,24,218,5,5,94,245,192,0,0,0,192,0,0,0,5,5,165,246,5,5,173,218,5,5,164,246,5,5,163,246,5,5,162,246,5,5,172,218,5,5,174,218,192,0,0,0,5,5,161,247,5,5,11,219,5,5,10,219,192,0,0,0,192,0,0,0,5,5,84,248,5,5,83,248,5,5,86,248,5,5,145,219,5,5,93,219,5,5,237,248,5,5,85,248,192,0,0,0,192,0,0,0,5,5,236,248,5,5,147,219,5,5,146,219,5,5,185,219,5,5,88,249,5,5,158,249,5,5,69,199,192,0,0,0,192,0,0,0,5,5,27,230,5,5,25,240,192,0,0,0,192,0,0,0,5,5,73,200,5,5,57,221,5,5,45,201,5,5,43,201,192,0,0,0,5,5,44,201,192,0,0,0,5,5,63,222,5,5,105,202,5,5,185,203,192,0,0,0,5,5,161,223,192,0,0,0,5,5,162,223,192,0,0,0,5,5,186,203,5,5,99,225,192,0,0,0,5,5,83,205,5,5,84,205,5,5,98,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,207,192,0,0,0,5,5,57,207,192,0,0,0,5,5,180,227,5,5,64,207,5,5,63,207,5,5,56,207,5,5,59,207,5,5,62,207,5,5,58,207,192,0,0,0,192,0,0,0,5,5,31,230,5,5,55,207,5,5,242,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,208,5,5,245,208,5,5,30,230,5,5,33,230,5,5,243,208,5,5,28,230,5,5,32,230,192,0,0,0,5,5,29,230,192,0,0,0,5,5,177,210,192,0,0,0,192,0,0,0,5,5,187,232,192,0,0,0,192,0,0,0,5,5,113,212,5,5,108,235,5,5,86,215,5,5,249,213,5,5,173,237,5,5,250,213,5,5,251,213,5,5,175,237,5,5,174,237,5,5,176,237,5,5,27,240,192,0,0,0,192,0,0,0,5,5,26,240,5,5,52,242,5,5,51,242,5,5,115,216,5,5,116,216,5,5,99,245,192,0,0,0,192,0,0,0,5,5,70,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,208,5,5,246,208,5,5,188,232,192,0,0,0,5,5,246,243,5,5,12,219,5,5,238,248,5,5,71,199,192,0,0,0,5,5,85,205,192,0,0,0,5,5,66,207,5,5,65,207,5,5,35,230,5,5,36,230,5,5,178,210,5,5,109,235,5,5,114,212,5,5,28,240,192,0,0,0,5,5,72,199,5,5,182,199,192,0,0,0,5,5,106,202,5,5,64,222,192,0,0,0,5,5,163,223,5,5,187,203,5,5,67,207,192,0,0,0,5,5,37,230,5,5,248,208,5,5,179,210,192,0,0,0,5,5,177,237,5,5,178,237,192,0,0,0,192,0,0,0,5,5,53,242,5,5,108,217,5,5,159,249,5,5,73,199,192,0,0,0,5,5,65,222,5,5,107,202,5,5,188,203,192,0,0,0,5,5,164,223,192,0,0,0,5,5,86,205,5,5,103,225,5,5,101,225,5,5,102,225,5,5,87,205,5,5,100,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,207,5,5,70,207,5,5,181,227,5,5,71,207,5,5,68,207,5,5,38,230,192,0,0,0,5,5,39,230,5,5,189,232,192,0,0,0,192,0,0,0,5,5,116,212,5,5,115,212,192,0,0,0,192,0,0,0,5,5,54,242,5,5,247,243,192,0,0,0,5,5,101,245,5,5,100,245,5,5,166,246,192,0,0,0,5,5,35,220,5,5,189,203,192,0,0,0,192,0,0,0,5,5,74,199,5,5,183,199,192,0,0,0,5,5,75,200,5,5,74,200,192,0,0,0,192,0,0,0,5,5,76,200,5,5,77,200,5,5,145,220,5,5,144,220,5,5,58,221,5,5,46,201,5,5,61,221,5,5,60,221,5,5,59,221,5,5,62,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,202,5,5,71,222,5,5,67,222,5,5,76,222,192,0,0,0,192,0,0,0,5,5,115,202,192,0,0,0,5,5,113,202,5,5,72,222,5,5,68,222,5,5,75,222,5,5,112,202,5,5,119,202,5,5,70,222,5,5,66,222,5,5,118,202,5,5,73,222,5,5,111,202,5,5,74,222,5,5,114,202,5,5,116,202,5,5,78,222,5,5,77,222,5,5,69,222,5,5,110,202,5,5,109,202,5,5,117,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,223,5,5,175,223,192,0,0,0,5,5,195,203,5,5,192,203,5,5,166,223,5,5,171,223,192,0,0,0,5,5,198,203,5,5,190,203,5,5,170,223,5,5,193,203,5,5,196,203,192,0,0,0,192,0,0,0,5,5,173,223,192,0,0,0,5,5,191,203,5,5,178,223,5,5,194,203,192,0,0,0,5,5,197,203,5,5,167,223,5,5,172,223,5,5,176,223,5,5,168,223,5,5,165,223,192,0,0,0,192,0,0,0,5,5,177,223,5,5,174,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,205,5,5,88,205,5,5,91,205,192,0,0,0,5,5,94,205,192,0,0,0,5,5,106,225,192,0,0,0,5,5,89,205,5,5,104,225,192,0,0,0,5,5,93,205,192,0,0,0,192,0,0,0,5,5,90,205,192,0,0,0,5,5,107,225,5,5,92,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,227,5,5,73,207,5,5,184,227,5,5,186,227,5,5,72,207,5,5,77,207,5,5,105,225,192,0,0,0,5,5,183,227,5,5,187,227,192,0,0,0,5,5,74,207,5,5,182,227,5,5,76,207,192,0,0,0,5,5,75,207,192,0,0,0,5,5,46,230,192,0,0,0,5,5,41,230,192,0,0,0,5,5,249,208,5,5,253,208,5,5,250,208,5,5,44,230,5,5,47,230,192,0,0,0,5,5,251,208,192,0,0,0,5,5,252,208,5,5,3,209,5,5,198,232,5,5,45,230,5,5,255,208,5,5,42,230,5,5,40,230,192,0,0,0,5,5,2,209,192,0,0,0,5,5,43,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,210,192,0,0,0,5,5,190,232,5,5,182,210,5,5,183,210,5,5,181,210,5,5,195,232,5,5,194,232,5,5,191,232,5,5,187,210,192,0,0,0,192,0,0,0,5,5,193,232,5,5,254,208,192,0,0,0,192,0,0,0,5,5,197,232,5,5,192,232,5,5,184,210,5,5,180,210,5,5,186,210,5,5,196,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,212,192,0,0,0,5,5,112,235,5,5,111,235,5,5,110,235,5,5,117,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,212,5,5,181,237,5,5,184,237,5,5,253,213,192,0,0,0,192,0,0,0,5,5,252,213,5,5,185,237,5,5,180,237,5,5,255,213,5,5,182,237,192,0,0,0,5,5,254,213,5,5,179,237,192,0,0,0,5,5,183,237,5,5,92,215,5,5,89,215,5,5,37,240,5,5,36,240,192,0,0,0,5,5,35,240,5,5,30,240,192,0,0,0,5,5,31,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,215,192,0,0,0,5,5,87,215,5,5,91,215,5,5,29,240,5,5,88,215,5,5,32,240,5,5,33,240,5,5,38,240,192,0,0,0,192,0,0,0,5,5,34,240,192,0,0,0,192,0,0,0,5,5,55,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,216,192,0,0,0,5,5,250,243,5,5,117,216,5,5,248,243,5,5,249,243,5,5,109,217,5,5,26,218,5,5,102,245,192,0,0,0,5,5,25,218,192,0,0,0,192,0,0,0,5,5,168,246,5,5,169,246,192,0,0,0,5,5,175,218,192,0,0,0,5,5,167,246,5,5,13,219,192,0,0,0,5,5,239,248,5,5,148,219,5,5,89,249,5,5,90,249,192,0,0,0,5,5,75,199,192,0,0,0,5,5,78,200,5,5,79,200,5,5,47,201,192,0,0,0,5,5,79,222,5,5,199,203,5,5,96,205,5,5,78,207,192,0,0,0,192,0,0,0,5,5,157,206,192,0,0,0,5,5,4,209,5,5,5,209,5,5,114,208,5,5,48,230,192,0,0,0,5,5,188,210,5,5,114,235,5,5,113,235,192,0,0,0,192,0,0,0,5,5,76,199,5,5,80,200,5,5,80,222,5,5,121,202,192,0,0,0,5,5,120,202,192,0,0,0,5,5,179,223,5,5,180,223,192,0,0,0,5,5,108,225,5,5,109,225,5,5,97,205,5,5,98,205,192,0,0,0,5,5,99,205,5,5,188,227,192,0,0,0,192,0,0,0,5,5,80,207,192,0,0,0,5,5,7,209,192,0,0,0,5,5,6,209,5,5,199,232,5,5,214,233,5,5,115,235,5,5,39,240,192,0,0,0,192,0,0,0,5,5,110,217,5,5,176,218,5,5,77,199,192,0,0,0,5,5,186,199,5,5,187,199,5,5,185,199,5,5,188,199,5,5,184,199,192,0,0,0,192,0,0,0,5,5,83,200,192,0,0,0,5,5,153,220,5,5,82,200,5,5,84,200,192,0,0,0,192,0,0,0,5,5,148,220,5,5,147,220,5,5,150,220,5,5,149,220,5,5,152,220,5,5,81,200,5,5,146,220,5,5,151,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,221,5,5,57,201,5,5,64,221,5,5,68,221,5,5,56,201,192,0,0,0,5,5,72,221,5,5,67,221,5,5,70,221,5,5,49,201,5,5,50,201,5,5,51,201,5,5,52,201,192,0,0,0,5,5,59,201,192,0,0,0,5,5,66,221,5,5,54,201,5,5,60,201,192,0,0,0,5,5,65,221,5,5,71,221,192,0,0,0,5,5,53,201,5,5,69,221,5,5,55,201,5,5,48,201,5,5,58,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,202,192,0,0,0,5,5,82,222,5,5,122,202,192,0,0,0,5,5,132,202,5,5,133,202,5,5,125,202,5,5,143,202,5,5,127,202,5,5,90,222,5,5,138,202,5,5,85,222,5,5,128,202,5,5,100,222,5,5,101,222,5,5,93,222,5,5,86,222,5,5,141,202,5,5,98,222,5,5,136,202,5,5,134,202,192,0,0,0,5,5,99,222,192,0,0,0,5,5,97,222,5,5,89,222,5,5,81,222,5,5,88,222,5,5,129,202,192,0,0,0,5,5,135,202,192,0,0,0,5,5,123,202,5,5,92,222,5,5,91,222,5,5,83,222,192,0,0,0,5,5,137,202,5,5,95,222,5,5,84,222,5,5,140,202,5,5,102,222,5,5,124,202,192,0,0,0,5,5,131,202,5,5,87,222,5,5,96,222,5,5,139,202,192,0,0,0,5,5,126,202,5,5,130,202,192,0,0,0,5,5,94,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,223,5,5,207,203,5,5,220,203,192,0,0,0,5,5,207,223,5,5,197,223,5,5,213,203,5,5,195,223,5,5,206,203,5,5,190,223,5,5,216,203,5,5,203,223,5,5,184,223,5,5,186,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,223,5,5,181,223,5,5,202,223,5,5,218,223,5,5,211,203,5,5,191,223,5,5,209,223,192,0,0,0,5,5,183,223,5,5,216,223,5,5,217,223,5,5,220,223,5,5,211,223,5,5,196,223,5,5,204,223,5,5,217,203,5,5,204,203,5,5,212,203,5,5,224,203,5,5,201,203,5,5,203,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,223,5,5,221,203,5,5,214,203,5,5,214,223,5,5,185,223,5,5,223,203,5,5,218,203,5,5,194,223,192,0,0,0,192,0,0,0,5,5,222,203,5,5,201,223,5,5,193,223,5,5,215,203,5,5,213,223,5,5,205,223,192,0,0,0,5,5,209,203,5,5,219,223,5,5,192,223,5,5,205,203,5,5,210,223,5,5,200,223,5,5,210,203,5,5,206,223,5,5,202,203,5,5,182,223,5,5,219,203,5,5,114,205,5,5,208,203,5,5,199,223,5,5,198,223,5,5,187,223,192,0,0,0,5,5,215,223,192,0,0,0,5,5,208,223,192,0,0,0,192,0,0,0,5,5,200,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,225,5,5,121,205,5,5,130,225,192,0,0,0,5,5,118,225,5,5,110,205,5,5,122,205,192,0,0,0,5,5,111,225,192,0,0,0,5,5,120,225,5,5,128,225,192,0,0,0,5,5,110,225,5,5,137,225,5,5,100,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,225,5,5,131,225,192,0,0,0,5,5,132,225,5,5,108,205,5,5,119,205,5,5,122,225,192,0,0,0,5,5,123,225,5,5,133,225,5,5,124,225,192,0,0,0,5,5,119,225,5,5,113,225,5,5,114,225,5,5,127,225,5,5,121,225,192,0,0,0,192,0,0,0,5,5,101,205,5,5,105,205,5,5,135,225,5,5,115,225,5,5,117,205,5,5,113,205,192,0,0,0,192,0,0,0,5,5,116,205,5,5,123,205,5,5,106,205,5,5,118,205,5,5,126,225,5,5,120,205,5,5,103,205,192,0,0,0,5,5,102,205,5,5,112,225,192,0,0,0,5,5,116,225,5,5,111,205,5,5,134,225,5,5,125,225,5,5,117,225,5,5,115,205,5,5,112,205,192,0,0,0,5,5,104,205,5,5,107,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,227,192,0,0,0,5,5,193,227,5,5,194,227,5,5,198,227,192,0,0,0,5,5,213,227,5,5,210,227,192,0,0,0,5,5,203,227,5,5,202,227,5,5,87,207,5,5,206,227,5,5,221,227,5,5,189,227,192,0,0,0,5,5,222,227,5,5,208,227,5,5,226,227,5,5,214,227,5,5,86,207,5,5,212,227,5,5,81,207,5,5,102,207,5,5,92,207,192,0,0,0,5,5,96,207,5,5,95,207,5,5,190,227,192,0,0,0,5,5,219,227,5,5,225,227,5,5,217,227,5,5,224,227,192,0,0,0,192,0,0,0,5,5,205,227,5,5,191,227,5,5,223,227,5,5,207,227,5,5,84,207,5,5,97,207,192,0,0,0,5,5,216,227,5,5,90,207,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,227,5,5,192,227,5,5,98,207,192,0,0,0,5,5,100,207,5,5,218,227,5,5,101,207,5,5,83,207,5,5,199,227,5,5,220,227,192,0,0,0,192,0,0,0,5,5,89,207,5,5,99,207,5,5,201,227,5,5,211,227,5,5,196,227,5,5,200,227,5,5,94,207,5,5,195,227,5,5,82,207,5,5,91,207,5,5,88,207,5,5,204,227,5,5,109,205,5,5,71,230,5,5,85,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,207,192,0,0,0,5,5,74,230,5,5,96,230,5,5,85,230,5,5,27,209,192,0,0,0,5,5,22,209,5,5,68,230,5,5,23,209,5,5,84,230,192,0,0,0,5,5,77,230,5,5,90,230,5,5,19,209,5,5,50,230,5,5,92,230,5,5,9,209,5,5,58,230,5,5,12,209,5,5,11,209,192,0,0,0,5,5,28,209,192,0,0,0,5,5,52,230,5,5,86,230,5,5,87,230,5,5,14,209,5,5,10,209,5,5,66,230,192,0,0,0,5,5,21,209,5,5,61,230,192,0,0,0,5,5,88,230,5,5,17,209,5,5,80,230,5,5,93,230,5,5,55,230,5,5,60,230,5,5,54,230,192,0,0,0,5,5,16,209,5,5,73,230,5,5,221,232,5,5,56,230,5,5,20,209,5,5,65,230,5,5,89,230,5,5,15,209,5,5,62,230,5,5,59,230,5,5,76,230,5,5,18,209,5,5,8,209,5,5,30,209,5,5,79,230,5,5,78,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,230,5,5,13,209,5,5,91,230,5,5,67,230,5,5,69,230,192,0,0,0,5,5,82,230,5,5,81,230,5,5,49,230,5,5,24,209,5,5,26,209,5,5,57,230,5,5,64,230,5,5,72,230,5,5,25,209,5,5,63,230,5,5,75,230,5,5,94,230,192,0,0,0,5,5,83,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,232,5,5,196,210,192,0,0,0,5,5,239,232,5,5,218,232,5,5,223,232,5,5,216,232,192,0,0,0,5,5,235,232,5,5,202,232,5,5,209,232,192,0,0,0,5,5,233,232,5,5,243,232,5,5,219,232,192,0,0,0,5,5,206,232,5,5,225,232,5,5,230,232,5,5,210,232,192,0,0,0,5,5,227,232,5,5,207,232,192,0,0,0,192,0,0,0,5,5,214,232,5,5,215,232,5,5,198,210,5,5,234,232,5,5,232,232,192,0,0,0,5,5,203,232,5,5,237,232,192,0,0,0,5,5,238,232,5,5,240,232,5,5,202,210,5,5,194,210,192,0,0,0,5,5,197,227,5,5,211,232,5,5,229,232,5,5,212,232,5,5,191,210,5,5,207,210,5,5,236,232,5,5,205,210,5,5,201,210,5,5,201,232,5,5,193,210,192,0,0,0,5,5,204,232,5,5,206,210,192,0,0,0,5,5,220,232,5,5,200,232,192,0,0,0,5,5,199,210,5,5,224,232,5,5,208,232,5,5,200,210,5,5,217,232,5,5,190,210,5,5,29,209,5,5,226,232,5,5,70,230,5,5,205,232,192,0,0,0,192,0,0,0,5,5,231,232,5,5,195,210,5,5,228,232,5,5,192,210,5,5,222,232,5,5,203,210,5,5,213,232,5,5,242,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,210,5,5,99,233,192,0,0,0,192,0,0,0,5,5,204,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,235,5,5,127,235,192,0,0,0,5,5,149,235,5,5,125,235,192,0,0,0,5,5,143,235,5,5,189,210,5,5,122,212,5,5,121,235,5,5,148,235,192,0,0,0,5,5,126,235,5,5,140,235,5,5,127,212,5,5,120,212,192,0,0,0,5,5,146,235,192,0,0,0,5,5,119,235,5,5,145,235,192,0,0,0,5,5,138,212,5,5,136,235,5,5,152,235,5,5,136,212,5,5,128,235,5,5,121,212,5,5,130,235,5,5,144,235,5,5,130,212,5,5,123,235,5,5,134,212,5,5,124,212,5,5,132,235,5,5,122,235,5,5,116,235,192,0,0,0,5,5,142,235,5,5,131,212,5,5,151,235,5,5,117,235,5,5,128,212,192,0,0,0,5,5,138,235,192,0,0,0,5,5,129,212,5,5,124,235,5,5,135,235,5,5,131,235,5,5,133,235,192,0,0,0,5,5,123,212,5,5,150,235,5,5,137,212,5,5,134,235,192,0,0,0,5,5,153,235,192,0,0,0,192,0,0,0,5,5,118,235,5,5,139,235,5,5,126,212,5,5,135,212,5,5,133,212,5,5,120,235,5,5,141,235,5,5,132,212,192,0,0,0,192,0,0,0,5,5,125,212,5,5,137,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,237,192,0,0,0,5,5,193,237,5,5,189,237,5,5,209,237,5,5,206,237,5,5,4,214,192,0,0,0,192,0,0,0,5,5,213,237,5,5,196,237,5,5,15,214,5,5,203,237,192,0,0,0,192,0,0,0,5,5,192,237,5,5,202,237,5,5,12,214,5,5,222,237,192,0,0,0,5,5,219,237,5,5,205,237,5,5,190,237,192,0,0,0,192,0,0,0,5,5,210,237,5,5,212,237,5,5,8,214,5,5,200,237,5,5,195,237,5,5,186,237,5,5,5,214,5,5,13,214,192,0,0,0,5,5,215,237,5,5,14,214,5,5,187,237,5,5,221,237,5,5,208,237,5,5,214,237,5,5,11,214,192,0,0,0,192,0,0,0,5,5,211,237,192,0,0,0,5,5,218,237,192,0,0,0,5,5,16,214,192,0,0,0,5,5,10,214,5,5,204,237,5,5,191,237,5,5,223,237,5,5,188,237,5,5,216,237,5,5,7,214,192,0,0,0,5,5,198,237,192,0,0,0,5,5,199,237,5,5,6,214,5,5,3,214,5,5,194,237,5,5,9,214,192,0,0,0,5,5,2,214,192,0,0,0,5,5,217,237,5,5,220,237,5,5,201,237,5,5,52,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,240,192,0,0,0,5,5,40,240,5,5,105,215,192,0,0,0,192,0,0,0,5,5,94,215,5,5,99,215,5,5,95,215,5,5,54,240,5,5,65,240,5,5,93,215,5,5,46,240,5,5,55,240,5,5,207,237,5,5,56,240,192,0,0,0,192,0,0,0,5,5,100,215,192,0,0,0,5,5,71,240,5,5,104,215,5,5,107,215,5,5,42,240,192,0,0,0,5,5,103,215,192,0,0,0,5,5,69,240,5,5,70,240,5,5,60,240,5,5,59,240,5,5,51,240,192,0,0,0,192,0,0,0,5,5,61,240,5,5,68,240,5,5,67,240,192,0,0,0,5,5,98,215,5,5,96,215,5,5,53,240,5,5,50,240,192,0,0,0,5,5,47,240,5,5,66,240,5,5,106,215,5,5,64,240,5,5,102,215,5,5,101,215,192,0,0,0,5,5,58,240,192,0,0,0,5,5,41,240,5,5,43,240,5,5,45,240,5,5,63,240,5,5,57,240,5,5,97,215,192,0,0,0,5,5,48,240,192,0,0,0,5,5,62,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,216,5,5,73,242,5,5,119,216,5,5,58,242,192,0,0,0,5,5,69,242,5,5,121,216,5,5,76,242,192,0,0,0,5,5,65,242,192,0,0,0,5,5,60,242,192,0,0,0,192,0,0,0,5,5,77,242,5,5,56,242,5,5,67,242,192,0,0,0,5,5,128,216,5,5,72,242,5,5,78,242,5,5,66,242,5,5,120,216,5,5,68,242,5,5,57,242,5,5,127,216,192,0,0,0,192,0,0,0,5,5,75,242,5,5,62,242,5,5,123,216,192,0,0,0,5,5,64,242,5,5,61,242,5,5,129,216,5,5,63,242,5,5,122,216,5,5,125,216,5,5,71,242,5,5,59,242,5,5,74,242,192,0,0,0,5,5,70,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,217,5,5,7,244,5,5,117,217,5,5,118,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,217,5,5,6,244,192,0,0,0,5,5,3,244,5,5,4,244,5,5,115,217,5,5,252,243,5,5,2,244,5,5,114,217,192,0,0,0,5,5,253,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,217,5,5,113,217,192,0,0,0,5,5,251,243,5,5,255,243,5,5,5,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,245,5,5,105,245,5,5,114,245,192,0,0,0,5,5,113,245,5,5,111,245,5,5,106,245,192,0,0,0,5,5,30,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,245,5,5,29,218,5,5,124,216,5,5,110,245,5,5,28,218,5,5,115,245,5,5,109,245,5,5,104,245,5,5,254,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,218,192,0,0,0,5,5,103,245,5,5,173,246,192,0,0,0,5,5,172,246,5,5,112,245,5,5,177,218,192,0,0,0,5,5,176,246,5,5,177,246,5,5,171,246,5,5,175,246,192,0,0,0,5,5,170,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,247,5,5,174,246,5,5,16,219,5,5,14,219,5,5,163,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,247,192,0,0,0,5,5,162,247,5,5,164,247,5,5,15,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,248,5,5,89,248,5,5,94,219,5,5,87,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,248,5,5,149,219,5,5,240,248,5,5,241,248,5,5,91,249,192,0,0,0,192,0,0,0,5,5,219,219,5,5,162,249,5,5,160,249,5,5,161,249,5,5,163,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,250,192,0,0,0,5,5,78,199,5,5,85,200,192,0,0,0,5,5,144,202,192,0,0,0,5,5,103,222,192,0,0,0,192,0,0,0,5,5,221,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,225,5,5,140,225,192,0,0,0,5,5,139,225,192,0,0,0,5,5,141,225,5,5,103,207,5,5,228,227,5,5,142,225,192,0,0,0,5,5,227,227,5,5,229,227,5,5,230,227,5,5,97,230,5,5,32,209,5,5,98,230,5,5,100,230,5,5,33,209,5,5,31,209,5,5,99,230,192,0,0,0,5,5,249,232,5,5,247,232,5,5,246,232,192,0,0,0,5,5,245,232,5,5,244,232,5,5,208,210,5,5,248,232,5,5,139,212,5,5,154,235,5,5,156,235,5,5,140,212,5,5,155,235,5,5,18,214,192,0,0,0,5,5,17,214,5,5,224,237,192,0,0,0,192,0,0,0,5,5,73,240,5,5,72,240,5,5,74,240,192,0,0,0,192,0,0,0,5,5,108,215,192,0,0,0,5,5,79,242,5,5,130,216,192,0,0,0,5,5,8,244,5,5,119,217,5,5,116,245,5,5,95,219,5,5,79,199,5,5,189,199,5,5,86,200,5,5,61,201,5,5,145,202,5,5,146,202,192,0,0,0,192,0,0,0,5,5,225,203,192,0,0,0,192,0,0,0,5,5,143,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,238,5,5,109,215,5,5,120,217,5,5,80,199,192,0,0,0,5,5,87,200,192,0,0,0,192,0,0,0,5,5,105,222,5,5,147,202,5,5,104,222,192,0,0,0,5,5,222,223,5,5,226,203,5,5,223,223,192,0,0,0,5,5,227,203,192,0,0,0,5,5,145,225,5,5,125,205,5,5,124,205,192,0,0,0,5,5,235,227,5,5,233,227,5,5,234,227,5,5,232,227,192,0,0,0,5,5,231,227,192,0,0,0,192,0,0,0,5,5,101,230,5,5,104,230,5,5,35,209,5,5,102,230,5,5,34,209,5,5,103,230,192,0,0,0,5,5,250,232,192,0,0,0,192,0,0,0,5,5,157,235,5,5,158,235,5,5,159,235,192,0,0,0,5,5,227,237,5,5,226,237,5,5,19,214,5,5,225,237,5,5,228,237,5,5,75,240,192,0,0,0,192,0,0,0,5,5,76,240,5,5,77,240,192,0,0,0,5,5,80,242,5,5,131,216,5,5,121,217,5,5,117,245,192,0,0,0,5,5,17,219,5,5,36,220,192,0,0,0,5,5,228,203,5,5,224,223,5,5,126,205,192,0,0,0,192,0,0,0,5,5,104,207,192,0,0,0,5,5,36,209,5,5,105,230,192,0,0,0,5,5,211,210,5,5,210,210,192,0,0,0,192,0,0,0,5,5,160,235,5,5,161,235,5,5,20,214,5,5,21,214,5,5,79,240,5,5,78,240,5,5,9,244,5,5,243,248,5,5,81,199,5,5,37,220,5,5,190,199,192,0,0,0,5,5,62,201,5,5,73,221,192,0,0,0,5,5,229,203,5,5,212,210,5,5,82,199,192,0,0,0,5,5,225,223,5,5,230,203,5,5,226,223,192,0,0,0,5,5,132,216,5,5,83,199,192,0,0,0,192,0,0,0,5,5,106,222,192,0,0,0,5,5,227,223,192,0,0,0,5,5,150,225,5,5,149,225,5,5,147,225,192,0,0,0,5,5,146,225,5,5,151,225,5,5,148,225,192,0,0,0,192,0,0,0,5,5,105,207,5,5,106,207,192,0,0,0,192,0,0,0,5,5,37,209,5,5,106,230,192,0,0,0,5,5,107,230,5,5,108,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,232,5,5,255,232,5,5,253,232,192,0,0,0,5,5,251,232,5,5,252,232,5,5,213,210,5,5,162,235,5,5,231,237,5,5,230,237,5,5,229,237,5,5,232,237,5,5,81,240,5,5,80,240,5,5,110,215,5,5,82,240,192,0,0,0,5,5,133,216,5,5,81,242,192,0,0,0,5,5,10,244,5,5,118,245,5,5,90,248,192,0,0,0,5,5,84,199,5,5,192,199,5,5,191,199,192,0,0,0,5,5,148,202,5,5,38,220,5,5,67,220,5,5,88,200,192,0,0,0,5,5,154,220,5,5,74,221,5,5,75,221,5,5,149,202,192,0,0,0,5,5,107,222,192,0,0,0,5,5,231,203,5,5,228,223,5,5,229,223,192,0,0,0,5,5,127,205,5,5,131,205,5,5,152,225,5,5,130,205,5,5,128,205,5,5,129,205,192,0,0,0,5,5,236,227,5,5,107,207,5,5,40,209,192,0,0,0,5,5,38,209,5,5,39,209,5,5,109,230,192,0,0,0,192,0,0,0,5,5,141,212,5,5,85,199,192,0,0,0,5,5,68,220,192,0,0,0,5,5,193,199,192,0,0,0,192,0,0,0,5,5,71,220,192,0,0,0,192,0,0,0,5,5,196,199,5,5,70,220,5,5,195,199,5,5,194,199,5,5,63,201,5,5,69,220,192,0,0,0,192,0,0,0,5,5,155,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,220,5,5,161,220,5,5,162,220,5,5,98,200,5,5,99,200,5,5,158,220,5,5,94,200,192,0,0,0,5,5,156,220,192,0,0,0,5,5,160,220,5,5,95,200,192,0,0,0,5,5,90,200,192,0,0,0,5,5,91,200,192,0,0,0,5,5,97,200,5,5,157,220,5,5,89,200,5,5,64,201,5,5,92,200,5,5,93,200,5,5,96,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,221,5,5,90,221,5,5,77,221,5,5,76,201,5,5,84,221,5,5,71,201,5,5,78,221,192,0,0,0,5,5,86,221,192,0,0,0,5,5,83,221,5,5,74,201,5,5,82,221,5,5,81,201,5,5,91,221,5,5,83,201,192,0,0,0,5,5,85,201,192,0,0,0,5,5,76,221,192,0,0,0,5,5,72,201,5,5,93,221,192,0,0,0,5,5,79,201,5,5,82,201,192,0,0,0,5,5,130,222,5,5,66,201,5,5,89,201,5,5,80,201,5,5,79,221,5,5,69,201,5,5,84,201,5,5,87,221,5,5,67,201,5,5,68,201,5,5,128,222,5,5,80,221,5,5,75,201,5,5,86,201,5,5,94,221,5,5,81,221,5,5,73,201,192,0,0,0,5,5,78,201,5,5,108,222,5,5,87,201,5,5,88,221,5,5,77,201,192,0,0,0,5,5,88,201,5,5,65,201,5,5,85,221,5,5,70,201,5,5,89,221,5,5,129,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,202,5,5,177,202,5,5,115,222,5,5,168,202,192,0,0,0,5,5,136,222,5,5,153,202,192,0,0,0,5,5,156,202,5,5,127,222,192,0,0,0,5,5,113,222,5,5,117,222,5,5,164,202,5,5,166,202,5,5,120,222,5,5,173,202,5,5,159,202,5,5,157,202,5,5,158,202,5,5,172,202,5,5,132,222,5,5,167,202,5,5,119,222,5,5,121,222,5,5,165,202,5,5,170,202,5,5,122,222,5,5,135,222,192,0,0,0,5,5,232,203,5,5,176,202,192,0,0,0,5,5,154,202,5,5,134,222,192,0,0,0,5,5,138,222,5,5,118,222,5,5,140,222,5,5,125,222,5,5,163,202,5,5,114,222,5,5,162,202,5,5,180,202,5,5,169,202,192,0,0,0,5,5,112,222,5,5,238,223,5,5,175,202,5,5,179,202,5,5,126,222,5,5,131,222,192,0,0,0,5,5,181,202,5,5,174,202,5,5,160,202,5,5,150,202,192,0,0,0,5,5,155,202,192,0,0,0,5,5,116,222,5,5,151,202,5,5,139,222,192,0,0,0,5,5,110,222,5,5,109,222,5,5,123,222,5,5,111,222,5,5,178,202,5,5,132,205,5,5,171,202,5,5,124,222,5,5,152,202,192,0,0,0,5,5,247,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,223,5,5,248,223,192,0,0,0,5,5,251,223,5,5,240,223,192,0,0,0,192,0,0,0,5,5,254,223,5,5,3,224,5,5,5,224,5,5,237,223,5,5,233,203,5,5,238,203,5,5,157,225,5,5,254,203,5,5,252,223,5,5,6,224,5,5,244,223,5,5,236,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,225,5,5,241,203,5,5,249,223,5,5,241,223,5,5,243,223,5,5,246,203,192,0,0,0,5,5,246,223,5,5,240,203,5,5,233,223,5,5,255,223,192,0,0,0,5,5,4,224,192,0,0,0,192,0,0,0,5,5,237,203,192,0,0,0,5,5,249,203,5,5,230,223,5,5,251,203,5,5,235,203,5,5,255,203,5,5,2,224,5,5,232,223,5,5,252,203,5,5,178,225,5,5,133,222,5,5,239,203,5,5,234,203,5,5,239,223,5,5,231,223,5,5,253,203,5,5,245,203,5,5,250,223,5,5,250,203,5,5,248,203,5,5,242,223,5,5,242,203,5,5,234,223,5,5,243,203,5,5,244,203,5,5,235,223,5,5,253,223,5,5,236,203,5,5,247,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,225,5,5,140,205,5,5,145,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,225,5,5,175,225,5,5,171,225,5,5,158,225,5,5,161,225,5,5,154,225,5,5,155,225,5,5,152,205,5,5,137,205,5,5,170,225,5,5,179,225,5,5,147,205,5,5,133,205,192,0,0,0,5,5,142,205,5,5,162,225,5,5,144,205,5,5,163,225,5,5,173,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,205,5,5,188,225,5,5,156,225,5,5,139,205,5,5,138,205,5,5,150,205,5,5,153,225,5,5,186,225,5,5,174,225,5,5,187,225,5,5,181,225,5,5,167,225,5,5,182,225,192,0,0,0,5,5,176,225,5,5,185,225,5,5,183,225,5,5,151,205,5,5,168,225,5,5,136,205,5,5,135,205,5,5,143,205,5,5,149,205,5,5,180,225,5,5,148,205,5,5,165,225,5,5,108,207,192,0,0,0,5,5,189,225,5,5,164,225,5,5,159,225,5,5,141,205,5,5,153,205,5,5,134,205,192,0,0,0,5,5,172,225,5,5,177,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,207,5,5,238,227,5,5,242,227,192,0,0,0,5,5,123,207,5,5,121,207,192,0,0,0,192,0,0,0,5,5,112,207,5,5,240,227,5,5,239,227,5,5,132,207,192,0,0,0,5,5,245,227,5,5,126,207,192,0,0,0,5,5,9,228,5,5,21,228,5,5,109,207,5,5,6,228,5,5,253,227,5,5,144,207,5,5,237,227,192,0,0,0,5,5,11,228,192,0,0,0,5,5,141,207,5,5,129,207,5,5,140,207,5,5,119,207,5,5,249,227,5,5,13,228,5,5,5,228,5,5,120,207,5,5,114,207,5,5,19,228,192,0,0,0,5,5,12,228,5,5,14,228,5,5,122,207,5,5,130,207,5,5,16,228,5,5,247,227,5,5,10,228,5,5,252,227,5,5,18,228,5,5,135,207,5,5,111,207,5,5,133,207,5,5,3,228,5,5,255,227,5,5,2,228,5,5,124,207,5,5,251,227,5,5,250,227,5,5,113,207,5,5,244,227,5,5,20,228,5,5,115,207,5,5,254,227,5,5,145,207,192,0,0,0,5,5,139,207,5,5,243,227,5,5,136,207,5,5,134,207,5,5,143,207,5,5,7,228,5,5,138,207,5,5,166,225,5,5,8,228,5,5,137,207,5,5,15,228,5,5,110,207,5,5,4,228,5,5,128,207,5,5,246,227,5,5,127,207,192,0,0,0,5,5,125,207,5,5,117,207,5,5,116,207,5,5,110,230,5,5,17,228,192,0,0,0,192,0,0,0,5,5,248,227,192,0,0,0,192,0,0,0,5,5,131,230,192,0,0,0,5,5,118,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,209,5,5,131,207,5,5,51,209,5,5,125,230,5,5,65,209,192,0,0,0,5,5,113,230,5,5,48,209,5,5,44,209,5,5,143,230,5,5,50,209,5,5,54,209,5,5,49,209,5,5,58,209,5,5,147,230,5,5,138,230,192,0,0,0,192,0,0,0,5,5,120,230,5,5,63,209,5,5,57,209,5,5,132,230,5,5,41,209,5,5,144,230,5,5,137,230,5,5,45,209,5,5,126,230,5,5,60,209,5,5,155,230,5,5,156,230,192,0,0,0,5,5,42,209,5,5,142,230,5,5,62,209,5,5,130,230,5,5,116,230,5,5,117,230,5,5,66,209,5,5,121,230,5,5,128,230,5,5,122,230,192,0,0,0,5,5,64,209,5,5,72,209,5,5,118,230,5,5,111,230,5,5,112,230,192,0,0,0,5,5,114,230,5,5,47,209,5,5,127,230,192,0,0,0,5,5,61,209,5,5,70,209,192,0,0,0,192,0,0,0,5,5,129,230,5,5,153,230,5,5,145,230,5,5,43,209,5,5,151,230,5,5,55,209,192,0,0,0,5,5,53,209,192,0,0,0,5,5,157,230,5,5,52,209,5,5,135,230,5,5,123,230,5,5,133,230,5,5,75,209,5,5,139,230,5,5,136,230,5,5,119,230,5,5,71,209,5,5,149,230,5,5,146,230,5,5,154,230,5,5,46,209,5,5,134,230,5,5,74,209,192,0,0,0,5,5,141,230,192,0,0,0,192,0,0,0,5,5,56,209,5,5,59,209,192,0,0,0,5,5,140,230,5,5,73,209,5,5,124,230,5,5,241,227,192,0,0,0,192,0,0,0,5,5,150,230,5,5,148,230,5,5,152,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,230,5,5,68,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,233,5,5,31,233,5,5,5,233,5,5,219,210,192,0,0,0,5,5,30,233,5,5,8,233,5,5,9,233,192,0,0,0,5,5,229,210,5,5,39,233,5,5,224,210,5,5,29,233,192,0,0,0,5,5,2,233,5,5,230,210,5,5,220,210,5,5,17,233,5,5,7,233,5,5,10,233,5,5,34,233,5,5,214,210,5,5,41,233,5,5,33,233,5,5,223,210,5,5,22,233,5,5,234,210,192,0,0,0,192,0,0,0,5,5,233,210,5,5,227,210,192,0,0,0,192,0,0,0,5,5,40,233,5,5,215,210,5,5,20,233,5,5,11,233,5,5,24,233,5,5,36,233,5,5,235,210,192,0,0,0,5,5,217,210,5,5,19,233,192,0,0,0,5,5,12,233,5,5,226,210,192,0,0,0,5,5,225,210,5,5,15,233,5,5,25,233,5,5,35,233,5,5,6,233,5,5,16,233,5,5,218,210,5,5,26,233,5,5,231,210,5,5,222,210,5,5,13,233,5,5,221,210,5,5,4,233,5,5,18,233,5,5,38,233,5,5,67,209,5,5,169,212,5,5,21,233,5,5,163,235,5,5,23,233,5,5,37,233,5,5,228,210,5,5,14,233,5,5,216,210,5,5,232,210,5,5,39,214,5,5,3,233,192,0,0,0,5,5,28,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,235,5,5,166,212,5,5,180,235,5,5,185,235,5,5,155,212,192,0,0,0,5,5,165,235,5,5,168,212,192,0,0,0,5,5,146,212,5,5,164,235,5,5,197,235,5,5,170,212,5,5,168,235,5,5,184,235,192,0,0,0,5,5,170,235,5,5,200,235,5,5,196,235,5,5,144,212,5,5,154,212,5,5,4,238,5,5,167,212,5,5,152,212,5,5,166,235,192,0,0,0,5,5,195,235,5,5,156,212,5,5,192,235,5,5,205,235,5,5,172,235,5,5,181,235,192,0,0,0,192,0,0,0,5,5,203,235,5,5,193,235,5,5,151,212,192,0,0,0,192,0,0,0,5,5,179,235,5,5,145,212,5,5,143,212,5,5,161,212,192,0,0,0,192,0,0,0,5,5,177,235,5,5,174,235,5,5,175,235,192,0,0,0,5,5,199,235,192,0,0,0,5,5,204,235,5,5,202,235,5,5,149,212,5,5,206,235,5,5,153,212,5,5,160,212,192,0,0,0,5,5,167,235,5,5,234,237,5,5,176,235,192,0,0,0,5,5,147,212,5,5,165,212,5,5,162,212,5,5,150,212,5,5,186,235,5,5,171,235,5,5,163,212,5,5,188,235,5,5,157,212,5,5,159,212,5,5,142,212,192,0,0,0,5,5,190,235,5,5,182,235,5,5,169,235,5,5,158,212,5,5,198,235,5,5,201,235,5,5,178,235,5,5,189,235,192,0,0,0,5,5,148,212,5,5,22,214,5,5,187,235,5,5,233,237,192,0,0,0,5,5,194,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,235,5,5,243,237,5,5,253,237,5,5,25,214,5,5,252,237,5,5,10,238,5,5,27,214,5,5,250,237,192,0,0,0,5,5,254,237,5,5,38,214,192,0,0,0,5,5,245,237,5,5,30,214,192,0,0,0,5,5,3,238,5,5,90,240,5,5,42,214,5,5,41,214,5,5,5,238,5,5,242,237,5,5,15,238,5,5,36,214,192,0,0,0,5,5,26,214,5,5,8,238,192,0,0,0,5,5,12,238,5,5,17,238,5,5,6,238,5,5,248,237,5,5,29,214,5,5,32,214,5,5,40,214,5,5,35,214,192,0,0,0,5,5,251,237,5,5,183,235,192,0,0,0,192,0,0,0,5,5,247,237,5,5,16,238,5,5,31,214,192,0,0,0,5,5,34,214,5,5,18,238,5,5,23,214,5,5,7,238,5,5,235,237,5,5,13,238,5,5,142,216,192,0,0,0,5,5,249,237,192,0,0,0,5,5,24,214,5,5,244,237,5,5,28,214,5,5,236,237,5,5,164,212,5,5,240,237,192,0,0,0,5,5,11,238,5,5,241,237,5,5,239,237,5,5,33,214,192,0,0,0,5,5,9,238,192,0,0,0,5,5,238,237,5,5,2,238,5,5,255,237,5,5,14,238,5,5,246,237,5,5,37,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,240,192,0,0,0,5,5,123,215,5,5,113,215,5,5,105,240,5,5,85,240,5,5,115,215,5,5,97,240,5,5,122,215,5,5,117,215,5,5,95,240,5,5,83,242,5,5,101,240,5,5,107,240,5,5,100,240,5,5,83,240,5,5,98,240,5,5,109,240,5,5,111,240,5,5,112,215,5,5,110,240,5,5,118,215,5,5,124,215,192,0,0,0,5,5,121,215,192,0,0,0,5,5,104,240,5,5,120,215,5,5,99,240,192,0,0,0,5,5,87,240,5,5,92,240,192,0,0,0,5,5,103,240,5,5,119,215,5,5,116,215,5,5,111,215,5,5,114,215,5,5,91,240,192,0,0,0,5,5,237,237,5,5,86,240,5,5,89,240,5,5,106,240,5,5,94,240,5,5,84,240,5,5,82,242,5,5,108,240,5,5,88,240,5,5,102,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,242,5,5,146,216,192,0,0,0,192,0,0,0,5,5,134,216,192,0,0,0,192,0,0,0,5,5,138,216,5,5,87,242,5,5,93,242,5,5,91,242,5,5,136,216,5,5,137,216,5,5,144,216,5,5,94,242,5,5,86,242,5,5,139,216,192,0,0,0,5,5,90,242,5,5,89,242,5,5,95,242,5,5,145,216,192,0,0,0,5,5,140,216,5,5,143,216,5,5,88,242,5,5,147,216,5,5,141,216,5,5,148,216,5,5,135,216,5,5,92,242,192,0,0,0,5,5,84,242,192,0,0,0,192,0,0,0,5,5,23,244,192,0,0,0,192,0,0,0,5,5,126,217,5,5,20,244,5,5,22,244,192,0,0,0,5,5,124,217,5,5,18,244,5,5,19,244,5,5,14,244,192,0,0,0,192,0,0,0,5,5,96,240,5,5,15,244,5,5,125,217,5,5,11,244,192,0,0,0,5,5,122,217,5,5,24,244,5,5,123,217,5,5,12,244,5,5,13,244,5,5,17,244,5,5,128,217,192,0,0,0,5,5,127,217,192,0,0,0,192,0,0,0,5,5,16,244,5,5,36,218,5,5,122,245,5,5,128,245,5,5,37,218,5,5,119,245,5,5,34,218,5,5,31,218,5,5,130,245,5,5,35,218,192,0,0,0,5,5,32,218,5,5,121,245,5,5,124,245,5,5,125,245,5,5,126,245,5,5,129,245,192,0,0,0,5,5,21,244,5,5,120,245,5,5,33,218,5,5,127,245,5,5,131,245,5,5,123,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,246,5,5,179,218,5,5,183,246,5,5,180,218,5,5,191,246,5,5,182,246,5,5,179,246,192,0,0,0,5,5,181,246,5,5,185,246,5,5,188,246,5,5,187,246,5,5,190,246,5,5,178,246,192,0,0,0,5,5,178,218,5,5,186,246,5,5,189,246,5,5,192,246,5,5,184,246,5,5,167,247,5,5,168,247,5,5,172,247,5,5,173,247,192,0,0,0,5,5,170,247,5,5,171,247,5,5,169,247,192,0,0,0,5,5,18,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,219,5,5,94,248,192,0,0,0,192,0,0,0,5,5,91,248,5,5,92,248,5,5,93,248,5,5,97,219,192,0,0,0,5,5,245,248,5,5,244,248,192,0,0,0,5,5,94,249,5,5,186,219,5,5,92,249,5,5,95,249,5,5,93,249,5,5,164,249,5,5,220,219,5,5,234,219,5,5,239,249,5,5,218,249,192,0,0,0,5,5,238,249,5,5,30,250,5,5,31,250,5,5,86,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,200,5,5,163,220,192,0,0,0,192,0,0,0,5,5,95,221,192,0,0,0,5,5,90,201,192,0,0,0,5,5,93,201,192,0,0,0,5,5,96,221,192,0,0,0,5,5,91,201,5,5,92,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,222,5,5,151,222,5,5,146,222,5,5,143,222,5,5,145,222,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,202,192,0,0,0,192,0,0,0,5,5,147,222,5,5,184,202,5,5,144,222,5,5,141,222,5,5,182,202,5,5,148,222,192,0,0,0,5,5,142,222,5,5,186,202,5,5,150,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,224,192,0,0,0,5,5,12,224,192,0,0,0,192,0,0,0,5,5,10,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,224,192,0,0,0,5,5,2,204,5,5,5,204,5,5,7,204,5,5,9,204,5,5,6,204,5,5,11,224,5,5,10,224,192,0,0,0,5,5,4,204,5,5,13,224,5,5,14,224,192,0,0,0,5,5,7,224,5,5,8,204,192,0,0,0,5,5,3,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,225,5,5,204,225,5,5,205,225,5,5,158,205,192,0,0,0,5,5,154,205,5,5,194,225,192,0,0,0,5,5,202,225,5,5,207,225,5,5,159,205,192,0,0,0,5,5,192,225,5,5,198,225,5,5,191,225,5,5,201,225,192,0,0,0,192,0,0,0,5,5,197,225,5,5,155,205,5,5,157,205,5,5,206,225,192,0,0,0,5,5,190,225,5,5,193,225,5,5,199,225,192,0,0,0,5,5,200,225,5,5,208,225,5,5,196,225,192,0,0,0,5,5,156,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,207,5,5,28,228,192,0,0,0,192,0,0,0,5,5,30,228,5,5,26,228,192,0,0,0,5,5,38,228,5,5,24,228,5,5,37,228,5,5,146,207,5,5,22,228,5,5,161,230,5,5,32,228,5,5,149,207,192,0,0,0,5,5,33,228,5,5,36,228,192,0,0,0,5,5,40,228,192,0,0,0,5,5,29,228,192,0,0,0,5,5,34,228,192,0,0,0,192,0,0,0,5,5,147,207,5,5,148,207,5,5,39,228,5,5,27,228,5,5,23,228,5,5,41,228,192,0,0,0,5,5,31,228,192,0,0,0,192,0,0,0,5,5,35,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,228,192,0,0,0,5,5,76,209,5,5,77,209,5,5,171,230,5,5,83,209,192,0,0,0,5,5,159,230,5,5,168,230,5,5,158,230,5,5,80,209,5,5,166,230,5,5,164,230,192,0,0,0,5,5,165,230,5,5,78,209,192,0,0,0,5,5,169,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,230,5,5,160,230,5,5,79,209,5,5,163,230,5,5,167,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,233,5,5,54,233,5,5,56,233,5,5,62,233,192,0,0,0,5,5,248,210,5,5,42,233,192,0,0,0,5,5,240,210,192,0,0,0,5,5,57,233,5,5,245,210,5,5,63,233,5,5,236,210,192,0,0,0,5,5,60,233,192,0,0,0,5,5,44,233,5,5,61,233,5,5,43,233,192,0,0,0,5,5,250,210,192,0,0,0,5,5,55,233,5,5,237,210,5,5,64,233,192,0,0,0,5,5,242,210,5,5,48,233,5,5,247,210,5,5,59,233,5,5,46,233,5,5,53,233,5,5,49,233,5,5,45,233,5,5,239,210,5,5,246,210,5,5,244,210,5,5,241,210,5,5,249,210,5,5,238,210,5,5,52,233,192,0,0,0,5,5,243,210,192,0,0,0,5,5,82,209,192,0,0,0,5,5,58,233,192,0,0,0,5,5,50,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,233,192,0,0,0,192,0,0,0,5,5,214,235,192,0,0,0,5,5,173,212,192,0,0,0,192,0,0,0,5,5,210,235,5,5,216,235,5,5,212,235,192,0,0,0,5,5,175,212,5,5,211,235,5,5,215,235,5,5,207,235,192,0,0,0,5,5,209,235,5,5,174,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,235,5,5,208,235,192,0,0,0,5,5,176,212,192,0,0,0,5,5,171,212,192,0,0,0,192,0,0,0,5,5,217,235,192,0,0,0,5,5,172,212,5,5,24,238,5,5,21,238,5,5,33,238,5,5,27,238,5,5,29,238,5,5,43,214,5,5,23,238,5,5,31,238,192,0,0,0,192,0,0,0,5,5,30,238,5,5,28,238,192,0,0,0,5,5,34,238,5,5,46,214,5,5,25,238,5,5,32,238,192,0,0,0,5,5,44,214,192,0,0,0,192,0,0,0,5,5,20,238,5,5,22,238,5,5,45,214,5,5,19,238,5,5,35,238,192,0,0,0,5,5,26,238,192,0,0,0,192,0,0,0,5,5,115,240,5,5,131,215,192,0,0,0,192,0,0,0,5,5,126,240,5,5,124,240,5,5,125,215,5,5,114,240,5,5,117,240,5,5,118,240,5,5,113,240,5,5,135,215,5,5,136,215,5,5,112,240,5,5,127,240,5,5,122,240,5,5,129,215,5,5,126,215,5,5,121,240,5,5,119,240,192,0,0,0,192,0,0,0,5,5,132,215,5,5,123,240,5,5,127,215,192,0,0,0,5,5,128,215,192,0,0,0,5,5,120,240,5,5,130,215,5,5,116,240,192,0,0,0,5,5,125,240,5,5,133,215,5,5,128,240,5,5,129,240,5,5,134,215,192,0,0,0,192,0,0,0,5,5,150,216,5,5,157,216,5,5,96,242,5,5,102,242,192,0,0,0,5,5,100,242,5,5,153,216,5,5,152,216,5,5,149,216,5,5,98,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,216,5,5,154,216,5,5,151,216,192,0,0,0,5,5,101,242,5,5,97,242,5,5,99,242,192,0,0,0,5,5,156,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,217,5,5,27,244,192,0,0,0,5,5,129,217,5,5,130,217,5,5,29,244,5,5,131,217,5,5,26,244,192,0,0,0,5,5,25,244,5,5,135,245,5,5,28,244,192,0,0,0,5,5,136,245,5,5,38,218,5,5,134,245,192,0,0,0,192,0,0,0,5,5,133,245,192,0,0,0,5,5,132,245,5,5,39,218,192,0,0,0,192,0,0,0,5,5,181,218,192,0,0,0,192,0,0,0,5,5,193,246,5,5,194,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,247,5,5,175,247,5,5,19,219,192,0,0,0,5,5,174,247,5,5,95,248,5,5,96,248,192,0,0,0,192,0,0,0,5,5,246,248,5,5,96,249,192,0,0,0,192,0,0,0,5,5,165,249,5,5,10,250,5,5,254,219,5,5,20,250,5,5,87,199,192,0,0,0,5,5,187,202,5,5,188,202,192,0,0,0,192,0,0,0,5,5,11,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,216,5,5,88,199,192,0,0,0,5,5,189,202,5,5,160,205,5,5,251,210,5,5,89,199,192,0,0,0,5,5,151,207,5,5,177,212,5,5,39,220,192,0,0,0,5,5,16,224,5,5,209,225,192,0,0,0,5,5,218,235,192,0,0,0,5,5,159,216,5,5,90,199,5,5,190,202,5,5,17,224,5,5,18,224,5,5,172,230,5,5,84,209,192,0,0,0,192,0,0,0,5,5,65,233,192,0,0,0,192,0,0,0,5,5,252,210,5,5,219,235,192,0,0,0,192,0,0,0,5,5,47,214,192,0,0,0,5,5,40,218,5,5,91,199,5,5,173,230,5,5,92,199,192,0,0,0,5,5,102,200,5,5,164,220,5,5,101,200,5,5,96,201,5,5,95,201,5,5,94,201,5,5,97,221,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,202,192,0,0,0,5,5,192,202,5,5,152,222,192,0,0,0,5,5,19,224,192,0,0,0,5,5,22,224,5,5,13,204,5,5,20,224,192,0,0,0,5,5,12,204,5,5,21,224,5,5,14,204,192,0,0,0,5,5,212,225,5,5,211,225,5,5,210,225,5,5,161,205,192,0,0,0,5,5,43,228,5,5,44,228,5,5,152,207,5,5,42,228,5,5,45,228,5,5,86,209,5,5,153,207,192,0,0,0,192,0,0,0,5,5,85,209,5,5,177,230,5,5,176,230,192,0,0,0,5,5,174,230,5,5,175,230,192,0,0,0,5,5,178,230,5,5,67,233,5,5,66,233,5,5,70,233,192,0,0,0,5,5,69,233,5,5,68,233,5,5,178,212,5,5,222,235,192,0,0,0,5,5,221,235,5,5,179,212,5,5,220,235,5,5,36,238,192,0,0,0,5,5,37,238,5,5,48,214,192,0,0,0,5,5,130,240,5,5,131,240,192,0,0,0,192,0,0,0,5,5,141,245,5,5,41,218,5,5,140,245,5,5,139,245,5,5,137,245,5,5,138,245,5,5,20,219,5,5,195,246,5,5,97,248,5,5,166,249,192,0,0,0,5,5,93,199,192,0,0,0,5,5,72,220,5,5,197,199,5,5,73,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,220,5,5,166,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,221,192,0,0,0,192,0,0,0,5,5,99,221,192,0,0,0,5,5,98,221,5,5,193,202,5,5,102,221,5,5,98,201,5,5,100,221,5,5,97,201,5,5,104,221,5,5,101,221,192,0,0,0,192,0,0,0,5,5,156,222,5,5,23,224,5,5,154,222,5,5,161,222,192,0,0,0,5,5,194,202,192,0,0,0,5,5,197,202,5,5,162,222,5,5,158,222,192,0,0,0,5,5,159,222,192,0,0,0,5,5,153,222,5,5,196,202,5,5,155,222,5,5,195,202,5,5,160,222,192,0,0,0,5,5,157,222,192,0,0,0,192,0,0,0,5,5,27,224,5,5,16,204,5,5,17,204,192,0,0,0,5,5,30,224,5,5,24,224,192,0,0,0,5,5,29,224,192,0,0,0,5,5,25,224,5,5,15,204,5,5,28,224,5,5,26,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,225,5,5,215,225,192,0,0,0,5,5,217,225,5,5,166,205,5,5,165,205,5,5,163,205,5,5,214,225,5,5,219,225,5,5,162,205,5,5,164,205,5,5,216,225,5,5,53,228,5,5,213,225,5,5,220,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,228,5,5,52,228,192,0,0,0,5,5,51,228,5,5,180,230,5,5,191,230,192,0,0,0,192,0,0,0,5,5,54,228,192,0,0,0,5,5,49,228,5,5,179,230,5,5,157,207,192,0,0,0,192,0,0,0,5,5,156,207,5,5,47,228,5,5,50,228,5,5,158,207,192,0,0,0,5,5,155,207,5,5,154,207,5,5,46,228,5,5,55,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,230,5,5,189,230,192,0,0,0,5,5,88,209,5,5,188,230,5,5,185,230,192,0,0,0,5,5,90,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,230,192,0,0,0,192,0,0,0,5,5,181,230,5,5,183,230,5,5,186,230,5,5,184,230,5,5,89,209,5,5,190,230,5,5,87,209,5,5,253,210,192,0,0,0,192,0,0,0,5,5,74,233,5,5,73,233,5,5,71,233,192,0,0,0,5,5,2,211,5,5,255,210,5,5,75,233,192,0,0,0,5,5,72,233,5,5,223,235,5,5,180,212,5,5,254,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,233,5,5,76,233,192,0,0,0,5,5,226,235,5,5,224,235,5,5,49,214,192,0,0,0,5,5,181,212,5,5,225,235,5,5,39,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,214,5,5,38,238,5,5,47,238,5,5,46,238,5,5,44,238,192,0,0,0,5,5,43,238,5,5,40,238,5,5,41,238,5,5,42,238,5,5,45,238,5,5,48,238,192,0,0,0,192,0,0,0,5,5,136,240,5,5,133,240,5,5,134,240,5,5,137,215,5,5,132,240,5,5,138,240,5,5,137,240,5,5,135,240,192,0,0,0,5,5,104,242,5,5,105,242,5,5,160,216,192,0,0,0,5,5,161,216,5,5,103,242,192,0,0,0,5,5,134,217,5,5,30,244,5,5,133,217,5,5,42,218,192,0,0,0,5,5,43,218,5,5,182,218,5,5,197,246,5,5,196,246,5,5,177,247,5,5,98,248,5,5,98,219,5,5,248,248,5,5,247,248,5,5,249,248,5,5,198,199,5,5,31,224,5,5,167,205,5,5,159,207,5,5,56,228,5,5,199,199,5,5,74,220,5,5,94,199,192,0,0,0,192,0,0,0,5,5,167,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,221,5,5,107,221,5,5,108,221,5,5,105,221,5,5,99,201,5,5,106,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,222,192,0,0,0,5,5,200,202,5,5,168,222,5,5,164,222,5,5,167,222,192,0,0,0,5,5,163,222,5,5,202,202,5,5,166,222,192,0,0,0,5,5,199,202,5,5,198,202,192,0,0,0,5,5,201,202,5,5,169,222,5,5,165,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,204,5,5,24,204,5,5,39,224,5,5,38,224,5,5,37,224,5,5,18,204,5,5,46,224,5,5,36,224,192,0,0,0,5,5,20,204,5,5,225,225,192,0,0,0,5,5,43,224,5,5,41,224,5,5,23,204,192,0,0,0,5,5,33,224,5,5,44,224,192,0,0,0,5,5,35,224,5,5,45,224,5,5,42,224,5,5,34,224,192,0,0,0,5,5,19,204,5,5,47,224,5,5,32,224,5,5,22,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,225,5,5,221,225,5,5,232,225,192,0,0,0,5,5,224,225,5,5,235,225,5,5,236,225,5,5,222,225,5,5,234,225,5,5,231,225,5,5,229,225,5,5,233,225,5,5,173,205,192,0,0,0,5,5,171,205,192,0,0,0,192,0,0,0,5,5,227,225,192,0,0,0,5,5,223,225,192,0,0,0,5,5,226,225,5,5,237,225,5,5,228,225,5,5,172,205,5,5,40,224,192,0,0,0,5,5,168,205,5,5,170,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,228,5,5,59,228,5,5,57,228,192,0,0,0,5,5,58,228,192,0,0,0,5,5,65,228,192,0,0,0,5,5,66,228,5,5,62,228,5,5,164,207,5,5,67,228,5,5,64,228,5,5,61,228,192,0,0,0,5,5,162,207,5,5,60,228,5,5,160,207,5,5,163,207,5,5,63,228,5,5,71,228,5,5,169,205,5,5,161,207,5,5,69,228,5,5,68,228,5,5,165,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,230,5,5,100,209,192,0,0,0,5,5,203,230,192,0,0,0,192,0,0,0,5,5,205,230,5,5,198,230,5,5,94,209,5,5,202,230,5,5,201,230,5,5,95,209,5,5,101,209,192,0,0,0,5,5,102,209,5,5,204,230,5,5,92,209,5,5,195,230,5,5,193,230,5,5,199,230,5,5,192,230,5,5,99,209,5,5,194,230,5,5,200,230,5,5,206,230,5,5,93,209,5,5,98,209,5,5,96,209,5,5,97,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,211,5,5,84,233,5,5,8,211,5,5,88,233,192,0,0,0,5,5,78,233,192,0,0,0,5,5,89,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,233,5,5,80,233,192,0,0,0,5,5,90,233,5,5,87,233,5,5,85,233,5,5,86,233,5,5,82,233,5,5,81,233,192,0,0,0,5,5,91,233,5,5,5,211,192,0,0,0,5,5,83,233,192,0,0,0,5,5,10,211,5,5,4,211,5,5,11,211,5,5,12,211,192,0,0,0,5,5,7,211,5,5,6,211,192,0,0,0,192,0,0,0,5,5,227,235,5,5,183,212,5,5,182,212,192,0,0,0,192,0,0,0,5,5,232,235,192,0,0,0,5,5,51,214,5,5,184,212,192,0,0,0,192,0,0,0,5,5,186,212,5,5,233,235,5,5,3,211,5,5,185,212,5,5,229,235,5,5,231,235,5,5,228,235,192,0,0,0,5,5,230,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,238,192,0,0,0,192,0,0,0,5,5,57,238,5,5,54,238,5,5,54,214,5,5,139,240,5,5,55,214,5,5,53,238,192,0,0,0,5,5,53,214,192,0,0,0,5,5,55,238,5,5,52,238,5,5,49,238,5,5,56,238,5,5,50,238,5,5,51,238,5,5,52,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,242,192,0,0,0,5,5,143,240,192,0,0,0,5,5,142,240,5,5,144,240,192,0,0,0,5,5,106,242,5,5,140,215,192,0,0,0,5,5,140,240,192,0,0,0,5,5,138,215,192,0,0,0,5,5,142,215,5,5,141,215,5,5,141,240,5,5,145,240,192,0,0,0,5,5,139,215,192,0,0,0,5,5,113,242,5,5,164,216,5,5,135,217,5,5,165,216,5,5,162,216,5,5,110,242,5,5,108,242,192,0,0,0,5,5,111,242,192,0,0,0,5,5,114,242,5,5,163,216,5,5,112,242,5,5,107,242,192,0,0,0,192,0,0,0,5,5,33,244,5,5,36,244,5,5,144,245,5,5,31,244,192,0,0,0,5,5,198,246,5,5,37,244,192,0,0,0,5,5,44,218,5,5,35,244,5,5,136,217,5,5,32,244,5,5,34,244,5,5,38,244,5,5,145,245,192,0,0,0,5,5,143,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,218,5,5,142,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,219,5,5,100,248,5,5,21,219,5,5,102,248,5,5,99,248,5,5,101,248,5,5,150,219,5,5,97,249,5,5,200,199,5,5,171,222,5,5,238,225,5,5,239,225,5,5,166,207,5,5,92,233,5,5,143,215,5,5,46,218,5,5,99,219,5,5,98,249,5,5,201,199,192,0,0,0,5,5,172,222,5,5,0,134,192,0,0,0,192,0,0,0,5,5,48,224,192,0,0,0,5,5,49,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,225,5,5,241,225,5,5,167,207,5,5,168,207,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,230,192,0,0,0,5,5,95,233,5,5,94,233,5,5,93,233,5,5,234,235,192,0,0,0,5,5,235,235,5,5,236,235,5,5,187,212,192,0,0,0,192,0,0,0,5,5,60,238,5,5,59,238,192,0,0,0,192,0,0,0,5,5,146,240,5,5,144,215,5,5,145,215,192,0,0,0,5,5,118,242,5,5,115,242,5,5,116,242,5,5,117,242,5,5,40,244,5,5,39,244,5,5,137,217,5,5,146,245,5,5,178,247,5,5,202,199,192,0,0,0,5,5,25,204,192,0,0,0,5,5,169,207,5,5,96,233,192,0,0,0,5,5,203,199,192,0,0,0,5,5,242,225,5,5,170,207,192,0,0,0,192,0,0,0,5,5,103,209,5,5,104,209,192,0,0,0,5,5,204,199,5,5,205,199,5,5,168,220,5,5,101,201,5,5,100,201,5,5,26,204,5,5,50,224,5,5,208,230,5,5,206,199,5,5,207,199,5,5,208,199,5,5,209,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,201,5,5,103,201,5,5,111,221,5,5,110,221,192,0,0,0,192,0,0,0,5,5,203,202,5,5,175,222,5,5,173,222,5,5,174,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,224,5,5,52,224,192,0,0,0,192,0,0,0,5,5,30,204,5,5,28,204,192,0,0,0,5,5,29,204,5,5,27,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,205,5,5,177,205,5,5,243,225,5,5,176,205,5,5,175,205,192,0,0,0,5,5,244,225,192,0,0,0,192,0,0,0,5,5,173,207,5,5,73,228,5,5,72,228,5,5,171,207,5,5,172,207,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,209,5,5,105,209,5,5,210,230,192,0,0,0,192,0,0,0,5,5,209,230,5,5,174,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,211,5,5,98,233,5,5,14,211,5,5,97,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,235,5,5,61,238,5,5,56,214,5,5,147,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,242,192,0,0,0,5,5,48,218,5,5,47,218,192,0,0,0,192,0,0,0,5,5,100,219,5,5,210,199,5,5,176,222,192,0,0,0,192,0,0,0,5,5,175,207,5,5,238,235,5,5,188,212,192,0,0,0,192,0,0,0,5,5,112,221,5,5,113,221,192,0,0,0,192,0,0,0,5,5,177,222,5,5,205,202,5,5,206,202,192,0,0,0,192,0,0,0,5,5,204,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,204,5,5,35,204,5,5,32,204,5,5,33,204,192,0,0,0,5,5,53,224,192,0,0,0,192,0,0,0,5,5,54,224,5,5,31,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,225,192,0,0,0,5,5,182,205,5,5,183,205,192,0,0,0,5,5,178,207,5,5,251,225,192,0,0,0,5,5,188,205,5,5,186,205,5,5,252,225,5,5,247,225,5,5,185,205,5,5,184,205,5,5,179,205,5,5,250,225,5,5,249,225,5,5,246,225,5,5,187,205,192,0,0,0,5,5,248,225,5,5,180,205,192,0,0,0,5,5,181,205,192,0,0,0,192,0,0,0,5,5,179,207,5,5,77,228,5,5,78,228,5,5,180,207,5,5,74,228,5,5,76,228,5,5,80,228,5,5,79,228,5,5,75,228,192,0,0,0,5,5,176,207,5,5,177,207,192,0,0,0,5,5,218,230,5,5,111,209,5,5,110,209,5,5,212,230,5,5,108,209,192,0,0,0,5,5,215,230,5,5,112,209,5,5,216,230,5,5,113,209,5,5,213,230,5,5,107,209,5,5,109,209,5,5,217,230,192,0,0,0,5,5,214,230,5,5,211,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,233,192,0,0,0,5,5,100,233,5,5,16,211,5,5,19,211,5,5,18,211,5,5,23,211,5,5,22,211,5,5,112,233,5,5,110,233,5,5,103,233,5,5,107,233,5,5,106,233,5,5,20,211,5,5,109,233,5,5,105,233,5,5,113,233,5,5,104,233,5,5,21,211,5,5,15,211,5,5,17,211,192,0,0,0,5,5,102,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,235,5,5,192,212,5,5,244,235,5,5,191,212,5,5,241,235,5,5,190,212,192,0,0,0,5,5,101,233,5,5,108,233,5,5,243,235,192,0,0,0,5,5,193,212,5,5,245,235,5,5,242,235,5,5,239,235,192,0,0,0,192,0,0,0,5,5,64,238,5,5,68,238,5,5,70,238,5,5,66,238,5,5,65,238,5,5,63,238,5,5,59,214,5,5,57,214,5,5,62,214,5,5,63,214,5,5,67,238,5,5,60,214,5,5,62,238,5,5,61,214,5,5,189,212,5,5,69,238,5,5,58,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,240,192,0,0,0,5,5,148,240,5,5,156,240,5,5,150,240,5,5,155,240,5,5,152,240,5,5,146,215,5,5,154,240,192,0,0,0,192,0,0,0,5,5,147,215,192,0,0,0,5,5,148,215,192,0,0,0,5,5,153,240,5,5,151,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,216,5,5,120,242,192,0,0,0,192,0,0,0,5,5,166,216,5,5,123,242,5,5,121,242,5,5,122,242,192,0,0,0,192,0,0,0,5,5,168,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,244,192,0,0,0,5,5,140,217,5,5,45,244,192,0,0,0,192,0,0,0,5,5,138,217,5,5,46,244,5,5,139,217,5,5,43,244,5,5,47,244,192,0,0,0,5,5,41,244,192,0,0,0,192,0,0,0,5,5,49,218,5,5,147,245,5,5,50,218,5,5,184,218,192,0,0,0,5,5,42,244,5,5,185,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,219,5,5,179,247,192,0,0,0,5,5,102,219,5,5,103,248,5,5,101,219,192,0,0,0,5,5,250,248,5,5,187,219,5,5,188,219,192,0,0,0,192,0,0,0,5,5,26,250,192,0,0,0,192,0,0,0,5,5,36,204,5,5,55,224,192,0,0,0,5,5,114,209,5,5,115,209,5,5,211,199,5,5,103,200,5,5,169,220,192,0,0,0,5,5,114,221,5,5,104,201,192,0,0,0,5,5,207,202,192,0,0,0,5,5,37,204,5,5,38,204,5,5,39,204,5,5,82,228,5,5,253,225,5,5,189,205,192,0,0,0,192,0,0,0,5,5,181,207,5,5,81,228,192,0,0,0,192,0,0,0,5,5,220,230,5,5,117,209,192,0,0,0,5,5,219,230,5,5,116,209,192,0,0,0,192,0,0,0,5,5,114,233,5,5,64,214,5,5,74,238,5,5,71,238,5,5,72,238,5,5,73,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,242,192,0,0,0,5,5,48,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,246,5,5,199,246,192,0,0,0,5,5,104,248,5,5,212,199,5,5,178,222,5,5,190,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,209,5,5,115,233,192,0,0,0,192,0,0,0,5,5,246,235,192,0,0,0,5,5,65,214,5,5,157,240,192,0,0,0,5,5,49,244,5,5,201,246,5,5,213,199,192,0,0,0,192,0,0,0,5,5,208,202,5,5,42,204,5,5,56,224,5,5,43,204,5,5,41,204,192,0,0,0,5,5,40,204,5,5,254,225,5,5,191,205,192,0,0,0,192,0,0,0,5,5,192,205,5,5,193,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,207,5,5,83,228,5,5,182,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,230,5,5,184,207,5,5,119,209,5,5,116,233,5,5,24,211,5,5,25,211,192,0,0,0,5,5,194,212,192,0,0,0,5,5,195,212,5,5,66,214,5,5,150,215,5,5,158,240,5,5,149,215,192,0,0,0,5,5,125,242,5,5,169,216,192,0,0,0,5,5,50,244,5,5,202,246,5,5,214,199,5,5,105,201,5,5,181,222,5,5,180,222,5,5,209,202,5,5,179,222,5,5,210,202,5,5,182,222,192,0,0,0,5,5,62,224,5,5,46,204,5,5,45,204,5,5,64,224,5,5,63,224,5,5,50,204,192,0,0,0,5,5,49,204,192,0,0,0,192,0,0,0,5,5,44,204,192,0,0,0,5,5,58,224,5,5,59,224,5,5,60,224,192,0,0,0,5,5,51,204,5,5,57,224,5,5,47,204,5,5,61,224,5,5,48,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,226,5,5,7,226,5,5,5,226,5,5,4,226,192,0,0,0,5,5,8,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,226,5,5,10,226,5,5,2,226,192,0,0,0,5,5,255,225,192,0,0,0,5,5,195,205,5,5,196,205,192,0,0,0,5,5,11,226,5,5,6,226,192,0,0,0,5,5,92,228,192,0,0,0,5,5,12,226,5,5,197,205,5,5,194,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,228,192,0,0,0,5,5,85,228,192,0,0,0,5,5,87,228,5,5,88,228,5,5,90,228,5,5,89,228,5,5,94,228,5,5,188,207,5,5,185,207,5,5,189,207,5,5,84,228,5,5,190,207,5,5,93,228,5,5,187,207,5,5,91,228,5,5,186,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,230,5,5,226,230,5,5,222,230,5,5,223,230,192,0,0,0,192,0,0,0,5,5,227,230,5,5,229,230,5,5,230,230,5,5,225,230,5,5,228,230,5,5,120,209,192,0,0,0,192,0,0,0,5,5,120,233,192,0,0,0,5,5,125,233,5,5,117,233,5,5,121,233,192,0,0,0,192,0,0,0,5,5,126,233,5,5,122,233,5,5,26,211,5,5,34,211,192,0,0,0,5,5,29,211,5,5,118,233,5,5,119,233,5,5,199,212,5,5,37,211,5,5,30,211,192,0,0,0,5,5,35,211,5,5,28,211,5,5,124,233,5,5,36,211,5,5,123,233,5,5,32,211,5,5,27,211,5,5,33,211,5,5,127,233,5,5,251,235,5,5,253,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,211,192,0,0,0,192,0,0,0,5,5,248,235,5,5,197,212,5,5,254,235,5,5,198,212,5,5,252,235,5,5,247,235,5,5,250,235,5,5,255,235,5,5,196,212,5,5,249,235,192,0,0,0,5,5,68,214,5,5,78,238,5,5,77,238,192,0,0,0,5,5,71,214,5,5,69,214,5,5,75,238,5,5,67,214,5,5,76,238,192,0,0,0,5,5,70,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,240,192,0,0,0,5,5,168,240,192,0,0,0,5,5,167,240,5,5,159,240,5,5,163,240,5,5,162,240,5,5,160,240,5,5,152,215,5,5,153,215,5,5,151,215,5,5,161,240,5,5,164,240,5,5,165,240,192,0,0,0,5,5,154,215,192,0,0,0,5,5,174,216,5,5,133,242,192,0,0,0,5,5,171,216,5,5,127,242,5,5,173,216,5,5,175,216,192,0,0,0,192,0,0,0,5,5,172,216,5,5,132,242,5,5,128,242,5,5,170,216,5,5,131,242,5,5,126,242,5,5,130,242,5,5,129,242,192,0,0,0,192,0,0,0,5,5,52,244,5,5,143,217,5,5,144,217,5,5,141,217,192,0,0,0,5,5,142,217,192,0,0,0,192,0,0,0,5,5,51,244,192,0,0,0,5,5,150,245,192,0,0,0,192,0,0,0,5,5,51,218,192,0,0,0,5,5,148,245,5,5,149,245,192,0,0,0,5,5,203,246,5,5,206,246,5,5,204,246,5,5,205,246,5,5,180,247,192,0,0,0,192,0,0,0,5,5,24,219,5,5,251,248,5,5,99,249,192,0,0,0,5,5,189,219,5,5,167,249,5,5,168,249,5,5,235,219,5,5,215,199,5,5,52,204,192,0,0,0,5,5,231,230,192,0,0,0,5,5,128,233,192,0,0,0,5,5,216,199,5,5,106,201,192,0,0,0,5,5,211,202,192,0,0,0,5,5,65,224,5,5,66,224,5,5,198,205,192,0,0,0,192,0,0,0,5,5,232,230,5,5,121,209,5,5,38,211,5,5,176,216,5,5,134,242,5,5,151,245,5,5,207,246,5,5,217,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,222,5,5,183,222,5,5,185,222,5,5,187,222,5,5,186,222,5,5,184,222,5,5,212,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,204,5,5,75,224,192,0,0,0,5,5,70,224,5,5,67,224,192,0,0,0,192,0,0,0,5,5,74,224,192,0,0,0,192,0,0,0,5,5,55,204,5,5,56,204,5,5,73,224,5,5,72,224,5,5,71,224,5,5,68,224,5,5,69,224,5,5,76,224,5,5,54,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,205,192,0,0,0,5,5,208,205,5,5,207,205,5,5,21,226,5,5,15,226,5,5,13,226,192,0,0,0,5,5,205,205,5,5,101,228,5,5,200,205,5,5,18,226,5,5,22,226,5,5,24,226,5,5,20,226,5,5,14,226,5,5,206,205,5,5,19,226,5,5,17,226,5,5,199,205,5,5,25,226,5,5,209,205,5,5,23,226,5,5,203,205,5,5,16,226,192,0,0,0,5,5,204,205,5,5,201,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,207,192,0,0,0,5,5,102,228,192,0,0,0,192,0,0,0,5,5,95,228,5,5,97,228,5,5,99,228,192,0,0,0,5,5,100,228,5,5,98,228,5,5,193,207,192,0,0,0,5,5,103,228,192,0,0,0,5,5,96,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,230,5,5,122,209,5,5,244,230,192,0,0,0,5,5,233,230,192,0,0,0,5,5,245,230,192,0,0,0,5,5,234,230,5,5,235,230,192,0,0,0,192,0,0,0,5,5,243,230,5,5,242,230,5,5,239,230,5,5,191,207,5,5,123,209,5,5,237,230,5,5,240,230,5,5,124,209,5,5,241,230,5,5,238,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,233,192,0,0,0,5,5,143,233,5,5,45,211,192,0,0,0,5,5,7,236,5,5,48,211,5,5,141,233,192,0,0,0,192,0,0,0,5,5,138,233,5,5,133,233,5,5,135,233,5,5,136,233,5,5,129,233,192,0,0,0,5,5,44,211,192,0,0,0,192,0,0,0,5,5,43,211,192,0,0,0,5,5,39,211,5,5,132,233,192,0,0,0,5,5,46,211,192,0,0,0,5,5,47,211,5,5,131,233,5,5,134,233,5,5,142,233,5,5,41,211,5,5,42,211,5,5,140,233,5,5,130,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,236,5,5,201,212,5,5,11,236,5,5,137,233,5,5,13,236,5,5,205,212,5,5,14,236,5,5,10,236,192,0,0,0,5,5,202,212,5,5,6,236,5,5,204,212,5,5,3,236,5,5,8,236,5,5,12,236,5,5,5,236,192,0,0,0,192,0,0,0,5,5,40,211,192,0,0,0,5,5,2,236,5,5,203,212,5,5,4,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,214,5,5,80,238,5,5,78,214,192,0,0,0,5,5,76,214,192,0,0,0,192,0,0,0,5,5,200,212,192,0,0,0,5,5,87,238,5,5,88,238,5,5,73,214,192,0,0,0,192,0,0,0,5,5,86,238,5,5,89,238,5,5,75,214,5,5,72,214,5,5,82,238,5,5,79,238,5,5,84,238,5,5,81,238,5,5,79,214,5,5,83,238,192,0,0,0,192,0,0,0,5,5,85,238,5,5,77,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,215,5,5,175,240,192,0,0,0,5,5,169,240,5,5,173,240,5,5,179,240,5,5,180,240,5,5,176,240,5,5,177,240,5,5,174,240,192,0,0,0,5,5,171,240,192,0,0,0,5,5,158,215,5,5,155,215,5,5,170,240,5,5,172,240,192,0,0,0,5,5,157,215,5,5,178,240,192,0,0,0,5,5,180,216,192,0,0,0,192,0,0,0,5,5,140,242,5,5,135,242,5,5,179,216,192,0,0,0,192,0,0,0,5,5,177,216,192,0,0,0,5,5,142,242,5,5,178,216,5,5,138,242,5,5,139,242,5,5,136,242,5,5,143,242,5,5,53,244,192,0,0,0,5,5,181,216,5,5,137,242,192,0,0,0,5,5,144,242,5,5,141,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,244,192,0,0,0,192,0,0,0,5,5,54,244,192,0,0,0,5,5,145,217,192,0,0,0,5,5,58,244,5,5,60,244,5,5,59,244,5,5,55,244,5,5,56,244,192,0,0,0,192,0,0,0,5,5,156,245,192,0,0,0,5,5,52,218,192,0,0,0,5,5,153,245,5,5,155,245,5,5,152,245,5,5,157,245,192,0,0,0,192,0,0,0,5,5,154,245,192,0,0,0,5,5,209,246,5,5,212,246,5,5,208,246,5,5,186,218,5,5,210,246,5,5,211,246,5,5,213,246,5,5,187,218,5,5,189,218,5,5,188,218,5,5,181,247,192,0,0,0,5,5,183,247,192,0,0,0,5,5,182,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,248,192,0,0,0,192,0,0,0,5,5,100,249,5,5,169,249,5,5,218,199,192,0,0,0,192,0,0,0,5,5,115,221,5,5,213,202,5,5,190,222,5,5,214,202,5,5,215,202,5,5,189,222,192,0,0,0,5,5,81,224,5,5,80,224,5,5,57,204,5,5,60,204,5,5,59,204,5,5,58,204,5,5,77,224,5,5,79,224,5,5,78,224,192,0,0,0,192,0,0,0,5,5,28,226,5,5,211,205,5,5,32,226,5,5,31,226,5,5,30,226,5,5,26,226,5,5,210,205,5,5,214,205,5,5,217,205,192,0,0,0,192,0,0,0,5,5,218,205,5,5,27,226,5,5,29,226,5,5,216,205,5,5,215,205,5,5,213,205,5,5,212,205,5,5,110,228,192,0,0,0,5,5,108,228,5,5,104,228,5,5,194,207,192,0,0,0,5,5,105,228,5,5,195,207,5,5,106,228,5,5,107,228,5,5,109,228,192,0,0,0,5,5,196,207,192,0,0,0,192,0,0,0,5,5,249,230,192,0,0,0,5,5,248,230,5,5,247,230,5,5,246,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,233,5,5,49,211,192,0,0,0,5,5,144,233,5,5,146,233,192,0,0,0,5,5,50,211,192,0,0,0,5,5,51,211,5,5,145,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,236,192,0,0,0,5,5,16,236,5,5,17,236,192,0,0,0,5,5,208,212,5,5,206,212,5,5,207,212,5,5,25,236,192,0,0,0,5,5,24,236,5,5,21,236,5,5,20,236,5,5,19,236,5,5,18,236,5,5,22,236,5,5,15,236,192,0,0,0,5,5,90,238,5,5,95,238,5,5,93,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,238,5,5,91,238,5,5,94,238,192,0,0,0,5,5,181,240,192,0,0,0,5,5,159,215,5,5,182,216,5,5,146,242,192,0,0,0,5,5,183,216,5,5,145,242,5,5,62,244,5,5,61,244,5,5,146,217,192,0,0,0,5,5,158,245,5,5,53,218,5,5,214,246,5,5,103,219,5,5,106,248,192,0,0,0,5,5,102,249,5,5,101,249,5,5,75,220,5,5,61,204,5,5,62,204,5,5,111,228,192,0,0,0,5,5,53,211,5,5,219,199,5,5,109,201,5,5,108,201,5,5,107,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,222,192,0,0,0,192,0,0,0,5,5,217,202,5,5,216,202,192,0,0,0,5,5,65,204,192,0,0,0,5,5,83,224,5,5,86,224,5,5,84,224,192,0,0,0,5,5,63,204,5,5,64,204,192,0,0,0,192,0,0,0,5,5,82,224,5,5,85,224,192,0,0,0,5,5,225,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,226,5,5,41,226,5,5,40,226,5,5,222,205,5,5,35,226,192,0,0,0,192,0,0,0,5,5,220,205,5,5,219,205,192,0,0,0,5,5,223,205,5,5,221,205,192,0,0,0,5,5,224,205,5,5,38,226,5,5,33,226,5,5,34,226,5,5,37,226,5,5,36,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,228,5,5,115,228,5,5,113,228,192,0,0,0,5,5,112,228,5,5,197,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,209,192,0,0,0,5,5,250,230,5,5,252,230,5,5,254,230,5,5,128,209,192,0,0,0,192,0,0,0,5,5,126,209,192,0,0,0,5,5,251,230,5,5,127,209,5,5,253,230,5,5,125,209,192,0,0,0,192,0,0,0,5,5,157,233,5,5,148,233,5,5,151,233,5,5,155,233,5,5,57,211,5,5,153,233,192,0,0,0,5,5,152,233,5,5,149,233,5,5,150,233,5,5,55,211,5,5,156,233,5,5,54,211,192,0,0,0,5,5,59,211,5,5,58,211,5,5,56,211,192,0,0,0,5,5,154,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,236,192,0,0,0,5,5,30,236,192,0,0,0,192,0,0,0,5,5,26,236,192,0,0,0,192,0,0,0,5,5,209,212,5,5,29,236,5,5,28,236,5,5,210,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,214,192,0,0,0,5,5,97,238,192,0,0,0,5,5,85,214,5,5,81,214,5,5,83,214,192,0,0,0,5,5,80,214,5,5,82,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,240,192,0,0,0,5,5,162,215,5,5,184,240,5,5,183,240,192,0,0,0,5,5,27,236,5,5,164,215,5,5,163,215,5,5,160,215,5,5,161,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,242,192,0,0,0,5,5,149,242,5,5,184,216,5,5,150,242,192,0,0,0,5,5,152,242,5,5,148,242,5,5,147,242,192,0,0,0,192,0,0,0,5,5,63,244,5,5,149,217,5,5,147,217,5,5,148,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,245,5,5,160,245,5,5,55,218,192,0,0,0,5,5,54,218,5,5,216,246,5,5,217,246,5,5,215,246,192,0,0,0,5,5,107,248,5,5,108,248,192,0,0,0,192,0,0,0,5,5,220,199,5,5,170,220,5,5,110,201,192,0,0,0,5,5,192,222,5,5,219,202,5,5,218,202,5,5,193,222,192,0,0,0,192,0,0,0,5,5,88,224,5,5,66,204,5,5,87,224,5,5,67,204,192,0,0,0,192,0,0,0,5,5,226,205,5,5,44,226,5,5,42,226,5,5,48,226,5,5,227,205,5,5,43,226,5,5,47,226,5,5,45,226,5,5,46,226,192,0,0,0,192,0,0,0,5,5,116,228,5,5,118,228,192,0,0,0,5,5,198,207,192,0,0,0,5,5,117,228,5,5,199,207,5,5,132,209,5,5,131,209,5,5,130,209,5,5,255,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,233,5,5,60,211,5,5,61,211,192,0,0,0,5,5,159,233,5,5,158,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,236,5,5,212,212,5,5,211,212,5,5,33,236,5,5,34,236,192,0,0,0,5,5,87,214,5,5,86,214,192,0,0,0,5,5,188,240,5,5,98,238,5,5,100,238,5,5,99,238,5,5,187,240,5,5,185,240,5,5,189,240,5,5,186,240,192,0,0,0,5,5,165,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,242,5,5,185,216,5,5,154,242,5,5,155,242,192,0,0,0,192,0,0,0,5,5,150,217,5,5,151,217,192,0,0,0,5,5,190,218,192,0,0,0,192,0,0,0,5,5,151,219,5,5,221,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,226,5,5,228,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,208,5,5,95,208,192,0,0,0,192,0,0,0,5,5,134,209,5,5,3,231,5,5,133,209,5,5,2,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,233,192,0,0,0,5,5,213,212,5,5,35,236,5,5,214,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,218,5,5,218,246,192,0,0,0,5,5,104,200,5,5,220,202,5,5,194,222,192,0,0,0,5,5,69,204,192,0,0,0,5,5,68,204,5,5,90,224,5,5,91,224,192,0,0,0,192,0,0,0,5,5,51,226,5,5,53,226,5,5,229,205,192,0,0,0,5,5,55,226,5,5,58,226,5,5,56,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,226,5,5,54,226,5,5,50,226,5,5,230,205,5,5,59,226,5,5,52,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,228,5,5,205,207,5,5,136,228,5,5,202,207,192,0,0,0,5,5,129,228,5,5,206,207,192,0,0,0,5,5,200,207,192,0,0,0,5,5,124,228,5,5,137,228,5,5,125,228,5,5,122,228,5,5,204,207,192,0,0,0,5,5,201,207,192,0,0,0,5,5,128,228,5,5,131,228,5,5,203,207,5,5,132,228,5,5,207,207,5,5,133,228,5,5,123,228,5,5,130,228,5,5,134,228,5,5,126,228,5,5,121,228,5,5,119,228,192,0,0,0,192,0,0,0,5,5,135,228,192,0,0,0,192,0,0,0,5,5,5,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,231,5,5,12,231,5,5,137,209,5,5,120,228,5,5,7,231,5,5,135,209,5,5,4,231,5,5,142,209,5,5,8,231,5,5,141,209,5,5,9,231,5,5,143,209,5,5,138,209,5,5,144,209,5,5,139,209,192,0,0,0,5,5,140,209,192,0,0,0,5,5,136,209,192,0,0,0,5,5,11,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,211,5,5,172,233,192,0,0,0,5,5,175,233,5,5,163,233,5,5,168,233,5,5,162,233,5,5,66,211,192,0,0,0,5,5,166,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,233,5,5,65,211,192,0,0,0,5,5,171,233,5,5,170,233,5,5,167,233,5,5,169,233,5,5,165,233,5,5,218,212,5,5,174,233,5,5,62,211,5,5,173,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,236,192,0,0,0,5,5,225,212,5,5,46,236,192,0,0,0,5,5,224,212,5,5,36,236,192,0,0,0,5,5,38,236,5,5,217,212,5,5,43,236,5,5,42,236,5,5,45,236,5,5,222,212,5,5,40,236,5,5,39,236,192,0,0,0,192,0,0,0,5,5,221,212,5,5,216,212,5,5,41,236,5,5,219,212,5,5,47,236,5,5,49,236,192,0,0,0,5,5,44,236,5,5,37,236,5,5,220,212,192,0,0,0,192,0,0,0,5,5,95,214,5,5,215,212,192,0,0,0,192,0,0,0,5,5,50,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,238,5,5,88,214,192,0,0,0,5,5,106,238,192,0,0,0,5,5,89,214,192,0,0,0,192,0,0,0,5,5,91,214,5,5,109,238,192,0,0,0,5,5,101,238,5,5,223,212,5,5,107,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,238,192,0,0,0,5,5,63,211,5,5,94,214,192,0,0,0,192,0,0,0,5,5,90,214,192,0,0,0,5,5,92,214,5,5,93,214,192,0,0,0,5,5,168,215,5,5,108,238,5,5,102,238,5,5,96,214,192,0,0,0,5,5,105,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,240,5,5,194,240,192,0,0,0,192,0,0,0,5,5,204,240,5,5,166,215,5,5,196,240,5,5,170,215,5,5,202,240,5,5,193,240,5,5,190,240,5,5,205,240,5,5,191,216,5,5,171,215,5,5,201,240,5,5,191,240,5,5,169,215,5,5,195,240,5,5,173,215,5,5,192,240,5,5,197,240,5,5,172,215,5,5,200,240,5,5,203,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,242,5,5,174,242,5,5,158,242,5,5,165,242,5,5,163,242,192,0,0,0,192,0,0,0,5,5,189,216,5,5,170,242,5,5,198,240,192,0,0,0,5,5,161,242,192,0,0,0,5,5,171,242,5,5,188,216,5,5,160,242,5,5,159,242,5,5,169,242,5,5,166,242,5,5,168,242,192,0,0,0,5,5,156,242,5,5,172,242,5,5,186,216,192,0,0,0,5,5,167,242,5,5,176,242,5,5,164,242,5,5,190,216,5,5,187,216,5,5,162,242,5,5,157,242,5,5,175,242,5,5,167,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,244,192,0,0,0,192,0,0,0,5,5,64,244,5,5,70,244,5,5,155,217,5,5,68,244,5,5,67,244,5,5,157,217,5,5,73,244,5,5,156,217,192,0,0,0,5,5,74,244,5,5,71,244,5,5,153,217,5,5,72,244,5,5,65,244,5,5,154,217,5,5,152,217,5,5,164,245,5,5,69,244,192,0,0,0,192,0,0,0,5,5,75,244,192,0,0,0,192,0,0,0,5,5,161,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,218,5,5,58,218,5,5,163,245,192,0,0,0,5,5,165,245,5,5,162,245,5,5,59,218,5,5,56,218,5,5,57,218,5,5,61,218,192,0,0,0,192,0,0,0,5,5,193,218,192,0,0,0,5,5,223,246,192,0,0,0,5,5,222,246,5,5,220,246,5,5,219,246,5,5,221,246,192,0,0,0,5,5,192,218,5,5,194,218,192,0,0,0,192,0,0,0,5,5,25,219,192,0,0,0,192,0,0,0,5,5,185,247,5,5,184,247,192,0,0,0,192,0,0,0,5,5,109,248,192,0,0,0,5,5,111,248,5,5,113,248,5,5,112,248,5,5,110,248,192,0,0,0,192,0,0,0,5,5,105,219,5,5,104,219,192,0,0,0,192,0,0,0,5,5,153,219,5,5,152,219,5,5,154,219,5,5,253,248,5,5,252,248,192,0,0,0,5,5,170,249,5,5,103,249,5,5,171,249,5,5,221,219,192,0,0,0,5,5,222,219,5,5,219,249,192,0,0,0,192,0,0,0,5,5,5,220,5,5,105,200,192,0,0,0,5,5,195,222,192,0,0,0,192,0,0,0,5,5,93,224,5,5,94,224,5,5,92,224,192,0,0,0,192,0,0,0,5,5,70,204,192,0,0,0,5,5,95,224,5,5,96,224,5,5,97,224,192,0,0,0,192,0,0,0,5,5,60,226,5,5,66,226,192,0,0,0,192,0,0,0,5,5,64,226,5,5,231,205,5,5,62,226,192,0,0,0,5,5,63,226,5,5,65,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,226,5,5,208,207,192,0,0,0,5,5,138,228,5,5,210,207,5,5,140,228,5,5,209,207,5,5,139,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,231,5,5,145,209,192,0,0,0,5,5,16,231,5,5,13,231,5,5,141,228,192,0,0,0,5,5,146,209,192,0,0,0,192,0,0,0,5,5,15,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,233,192,0,0,0,5,5,67,211,5,5,176,233,5,5,68,211,5,5,177,233,5,5,69,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,212,5,5,55,236,5,5,52,236,5,5,54,236,5,5,227,212,5,5,228,212,5,5,53,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,238,192,0,0,0,192,0,0,0,5,5,111,238,192,0,0,0,5,5,97,214,5,5,113,238,5,5,112,238,192,0,0,0,5,5,0,135,192,0,0,0,5,5,209,240,5,5,210,240,5,5,206,240,192,0,0,0,5,5,207,240,5,5,174,215,5,5,175,215,5,5,208,240,192,0,0,0,5,5,197,216,192,0,0,0,192,0,0,0,5,5,193,216,5,5,198,216,5,5,194,216,5,5,196,216,5,5,192,216,192,0,0,0,5,5,195,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,217,5,5,177,242,192,0,0,0,5,5,167,245,192,0,0,0,5,5,166,245,192,0,0,0,5,5,224,246,5,5,195,218,5,5,196,218,5,5,115,248,5,5,186,247,192,0,0,0,5,5,114,248,192,0,0,0,5,5,172,249,5,5,240,249,5,5,106,200,192,0,0,0,192,0,0,0,5,5,111,201,192,0,0,0,5,5,196,222,5,5,221,202,192,0,0,0,5,5,73,204,5,5,100,224,5,5,71,204,5,5,98,224,5,5,76,204,5,5,72,204,5,5,77,204,5,5,75,204,5,5,99,224,5,5,74,204,5,5,235,205,5,5,234,205,5,5,77,226,5,5,243,205,5,5,70,226,5,5,76,226,5,5,239,205,5,5,69,226,5,5,75,226,5,5,73,226,5,5,238,205,5,5,240,205,5,5,72,226,5,5,233,205,5,5,71,226,5,5,244,205,5,5,241,205,5,5,245,205,5,5,242,205,5,5,68,226,5,5,67,226,5,5,74,226,5,5,236,205,5,5,232,205,5,5,237,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,228,5,5,149,228,192,0,0,0,5,5,151,209,5,5,148,228,192,0,0,0,5,5,214,207,5,5,221,207,5,5,218,207,5,5,224,207,5,5,223,207,5,5,219,207,192,0,0,0,5,5,142,228,5,5,145,228,192,0,0,0,5,5,144,228,5,5,215,207,5,5,146,228,5,5,155,228,5,5,216,207,5,5,143,228,5,5,152,228,5,5,153,228,5,5,217,207,5,5,150,228,5,5,222,207,5,5,212,207,5,5,220,207,5,5,147,228,5,5,211,207,5,5,151,228,192,0,0,0,192,0,0,0,5,5,154,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,231,5,5,24,231,5,5,148,209,5,5,31,231,5,5,28,231,5,5,20,231,5,5,29,231,5,5,150,209,5,5,21,231,192,0,0,0,5,5,17,231,192,0,0,0,192,0,0,0,5,5,75,211,5,5,26,231,192,0,0,0,5,5,147,209,5,5,32,231,192,0,0,0,5,5,154,209,5,5,156,209,5,5,19,231,192,0,0,0,192,0,0,0,5,5,155,209,5,5,22,231,5,5,149,209,5,5,30,231,5,5,23,231,5,5,27,231,192,0,0,0,5,5,25,231,5,5,152,209,5,5,18,231,5,5,157,209,5,5,213,207,5,5,153,209,5,5,158,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,211,5,5,185,233,5,5,187,233,5,5,189,233,5,5,193,233,192,0,0,0,5,5,183,233,5,5,181,233,5,5,73,211,192,0,0,0,5,5,188,233,5,5,192,233,5,5,184,233,5,5,180,233,192,0,0,0,5,5,179,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,233,5,5,182,233,5,5,186,233,5,5,74,211,192,0,0,0,5,5,72,211,5,5,194,233,5,5,70,211,5,5,191,233,192,0,0,0,5,5,72,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,212,5,5,64,236,5,5,110,214,5,5,74,236,5,5,234,212,5,5,78,236,5,5,240,212,5,5,59,236,192,0,0,0,192,0,0,0,5,5,75,236,5,5,56,236,192,0,0,0,5,5,77,236,5,5,60,236,192,0,0,0,5,5,247,212,5,5,244,212,5,5,76,236,5,5,70,236,5,5,230,212,5,5,238,212,5,5,237,212,192,0,0,0,5,5,236,212,5,5,242,212,192,0,0,0,5,5,57,236,5,5,243,212,5,5,71,236,5,5,239,212,5,5,229,212,5,5,73,236,5,5,232,212,5,5,233,212,5,5,241,212,5,5,62,236,5,5,61,236,5,5,58,236,192,0,0,0,5,5,66,236,5,5,63,236,5,5,67,236,5,5,246,212,192,0,0,0,5,5,79,236,5,5,235,212,5,5,68,236,5,5,69,236,192,0,0,0,5,5,65,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,238,5,5,102,214,5,5,111,214,5,5,107,214,5,5,115,238,192,0,0,0,5,5,104,214,5,5,108,214,5,5,127,238,5,5,98,214,5,5,119,238,192,0,0,0,5,5,106,214,192,0,0,0,192,0,0,0,5,5,122,238,5,5,117,238,5,5,105,214,5,5,109,214,5,5,116,238,192,0,0,0,5,5,103,214,192,0,0,0,5,5,126,238,5,5,100,214,5,5,125,238,5,5,124,238,5,5,112,214,5,5,132,237,5,5,99,214,192,0,0,0,5,5,123,238,5,5,114,238,192,0,0,0,5,5,113,214,5,5,121,238,5,5,101,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,215,5,5,183,215,5,5,176,215,5,5,223,240,5,5,214,240,5,5,226,240,5,5,218,240,5,5,224,240,5,5,184,215,5,5,177,215,5,5,211,240,5,5,217,240,5,5,227,240,5,5,220,240,5,5,225,240,5,5,213,240,192,0,0,0,192,0,0,0,5,5,221,240,5,5,179,215,5,5,219,240,5,5,182,215,5,5,181,215,5,5,215,240,5,5,216,240,5,5,212,240,5,5,222,240,5,5,180,215,5,5,229,240,5,5,228,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,242,5,5,184,242,5,5,205,216,192,0,0,0,5,5,178,242,5,5,199,216,5,5,215,216,5,5,190,242,5,5,207,216,5,5,203,216,5,5,181,242,5,5,210,216,5,5,213,216,5,5,192,242,5,5,202,216,5,5,183,242,5,5,211,216,5,5,194,242,5,5,191,242,5,5,179,242,5,5,206,216,5,5,200,216,5,5,214,216,5,5,186,242,5,5,209,216,5,5,180,242,5,5,204,216,5,5,193,242,5,5,208,216,5,5,201,216,5,5,187,242,5,5,212,216,5,5,185,242,192,0,0,0,192,0,0,0,5,5,189,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,244,5,5,83,244,5,5,164,217,5,5,86,244,5,5,159,217,5,5,160,217,5,5,78,244,5,5,85,244,5,5,80,244,5,5,165,217,5,5,162,217,192,0,0,0,5,5,76,244,192,0,0,0,5,5,161,217,5,5,82,244,5,5,84,244,5,5,163,217,5,5,81,244,5,5,79,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,245,5,5,65,218,5,5,66,218,5,5,62,218,192,0,0,0,5,5,63,218,192,0,0,0,5,5,173,245,5,5,171,245,192,0,0,0,5,5,175,245,5,5,68,218,5,5,176,245,5,5,169,245,5,5,168,245,5,5,172,245,5,5,170,245,5,5,64,218,5,5,174,245,5,5,225,246,5,5,199,218,5,5,198,218,5,5,226,246,192,0,0,0,5,5,228,246,5,5,227,246,5,5,200,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,247,5,5,188,247,5,5,189,247,192,0,0,0,5,5,187,247,5,5,190,247,5,5,27,219,5,5,192,247,192,0,0,0,5,5,26,219,192,0,0,0,5,5,116,248,192,0,0,0,5,5,155,219,5,5,157,219,5,5,254,248,5,5,156,219,5,5,104,249,5,5,174,249,5,5,176,249,5,5,173,249,5,5,175,249,5,5,241,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,200,192,0,0,0,5,5,78,204,5,5,195,225,5,5,246,205,192,0,0,0,192,0,0,0,5,5,225,207,5,5,34,231,5,5,35,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,240,5,5,216,216,5,5,195,242,192,0,0,0,192,0,0,0,5,5,166,217,192,0,0,0,5,5,179,245,5,5,178,245,5,5,201,218,5,5,193,247,192,0,0,0,5,5,117,248,5,5,190,219,5,5,171,220,192,0,0,0,192,0,0,0,5,5,222,202,5,5,112,201,192,0,0,0,192,0,0,0,5,5,101,224,192,0,0,0,192,0,0,0,5,5,83,226,5,5,78,226,5,5,82,226,5,5,80,226,5,5,247,205,5,5,81,226,5,5,79,226,192,0,0,0,5,5,157,228,192,0,0,0,5,5,36,231,5,5,37,231,5,5,197,233,5,5,198,233,5,5,77,211,5,5,78,211,5,5,196,233,5,5,199,233,5,5,195,233,5,5,76,211,192,0,0,0,5,5,248,212,192,0,0,0,5,5,79,211,5,5,80,236,192,0,0,0,5,5,114,214,5,5,128,238,5,5,115,214,192,0,0,0,5,5,185,215,5,5,233,240,5,5,231,240,5,5,232,240,5,5,198,242,5,5,197,242,5,5,196,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,245,192,0,0,0,5,5,67,218,5,5,181,245,5,5,118,248,5,5,191,219,5,5,105,249,5,5,108,200,5,5,224,202,5,5,223,202,5,5,103,224,5,5,79,204,192,0,0,0,192,0,0,0,5,5,102,224,5,5,85,226,192,0,0,0,5,5,248,205,5,5,158,228,5,5,84,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,207,5,5,161,228,5,5,159,228,5,5,160,228,5,5,226,207,192,0,0,0,5,5,39,231,5,5,40,231,5,5,38,231,192,0,0,0,5,5,82,211,5,5,201,233,5,5,200,233,5,5,202,233,5,5,81,211,5,5,80,211,192,0,0,0,192,0,0,0,5,5,129,238,5,5,131,238,192,0,0,0,5,5,116,214,5,5,130,238,5,5,234,240,5,5,186,215,5,5,88,244,192,0,0,0,5,5,87,244,5,5,69,218,5,5,182,245,5,5,71,218,5,5,70,218,5,5,229,246,5,5,194,247,5,5,28,219,5,5,109,200,5,5,104,224,5,5,80,204,5,5,88,226,5,5,250,205,5,5,87,226,5,5,86,226,192,0,0,0,5,5,249,205,192,0,0,0,5,5,167,228,192,0,0,0,5,5,169,228,5,5,162,228,5,5,163,228,5,5,228,207,5,5,164,228,5,5,229,207,5,5,168,228,5,5,165,228,5,5,166,228,5,5,230,207,192,0,0,0,5,5,160,209,5,5,161,209,192,0,0,0,5,5,41,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,233,5,5,204,233,192,0,0,0,5,5,84,236,5,5,251,212,5,5,249,212,5,5,250,212,5,5,81,236,5,5,82,236,192,0,0,0,5,5,83,236,5,5,136,238,192,0,0,0,5,5,137,238,5,5,117,214,5,5,134,238,5,5,133,238,5,5,135,238,5,5,132,238,5,5,189,215,5,5,235,240,5,5,187,215,5,5,188,215,5,5,200,242,5,5,217,216,5,5,199,242,5,5,198,243,192,0,0,0,5,5,89,244,5,5,90,244,5,5,167,217,192,0,0,0,5,5,168,217,5,5,218,216,5,5,183,245,5,5,184,245,5,5,230,246,5,5,202,218,5,5,110,200,192,0,0,0,5,5,111,200,5,5,81,204,5,5,225,202,5,5,251,205,5,5,105,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,209,5,5,112,200,5,5,83,204,5,5,106,224,5,5,107,224,5,5,82,204,5,5,84,204,5,5,113,200,192,0,0,0,5,5,108,224,5,5,253,205,5,5,89,226,5,5,255,205,5,5,252,205,5,5,254,205,192,0,0,0,5,5,172,228,5,5,231,207,192,0,0,0,5,5,171,228,5,5,170,228,192,0,0,0,5,5,205,233,192,0,0,0,192,0,0,0,5,5,85,236,192,0,0,0,5,5,118,214,192,0,0,0,5,5,190,215,5,5,237,240,5,5,236,240,192,0,0,0,5,5,201,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,247,192,0,0,0,192,0,0,0,5,5,114,200,5,5,116,221,5,5,197,222,5,5,85,204,5,5,109,224,192,0,0,0,5,5,91,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,206,5,5,90,226,5,5,3,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,228,192,0,0,0,192,0,0,0,5,5,233,207,5,5,173,228,5,5,175,228,192,0,0,0,5,5,232,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,231,5,5,44,231,5,5,42,231,5,5,163,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,211,192,0,0,0,5,5,84,211,192,0,0,0,5,5,253,212,192,0,0,0,5,5,87,236,5,5,86,236,5,5,252,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,238,192,0,0,0,192,0,0,0,5,5,139,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,240,192,0,0,0,192,0,0,0,5,5,222,216,5,5,221,216,5,5,219,216,5,5,220,216,5,5,223,216,192,0,0,0,5,5,91,244,5,5,170,217,5,5,169,217,5,5,185,245,5,5,231,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,219,5,5,106,219,5,5,115,200,192,0,0,0,192,0,0,0,5,5,144,225,192,0,0,0,5,5,86,211,5,5,164,209,5,5,85,211,5,5,254,212,192,0,0,0,5,5,116,200,5,5,76,220,5,5,117,200,5,5,118,200,192,0,0,0,192,0,0,0,5,5,198,222,5,5,119,221,192,0,0,0,5,5,120,221,5,5,114,201,192,0,0,0,5,5,117,221,5,5,113,201,192,0,0,0,5,5,116,201,5,5,118,221,5,5,118,201,5,5,117,201,5,5,121,221,5,5,115,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,202,5,5,228,202,5,5,200,222,192,0,0,0,5,5,227,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,202,5,5,234,202,5,5,231,202,192,0,0,0,5,5,203,222,5,5,199,222,5,5,235,202,192,0,0,0,5,5,229,202,5,5,119,201,192,0,0,0,5,5,233,202,5,5,202,222,192,0,0,0,192,0,0,0,5,5,201,222,192,0,0,0,5,5,226,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,224,5,5,89,204,5,5,90,204,5,5,117,224,192,0,0,0,5,5,111,224,5,5,114,224,5,5,123,224,5,5,121,224,192,0,0,0,5,5,91,204,5,5,127,224,5,5,94,204,5,5,124,224,5,5,116,224,5,5,113,224,192,0,0,0,192,0,0,0,5,5,46,231,5,5,122,224,5,5,86,204,5,5,125,224,5,5,110,224,5,5,119,224,5,5,88,204,5,5,93,204,5,5,120,224,5,5,97,204,5,5,95,204,192,0,0,0,5,5,112,224,5,5,92,204,192,0,0,0,5,5,118,224,5,5,96,204,5,5,87,204,5,5,126,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,206,192,0,0,0,5,5,17,206,5,5,6,206,5,5,4,206,5,5,93,226,5,5,12,206,5,5,9,206,5,5,95,226,192,0,0,0,192,0,0,0,5,5,11,206,5,5,94,226,5,5,92,226,5,5,97,226,5,5,16,206,5,5,14,206,5,5,45,231,192,0,0,0,5,5,98,226,5,5,96,226,5,5,5,206,192,0,0,0,192,0,0,0,5,5,7,206,5,5,10,206,192,0,0,0,5,5,13,206,192,0,0,0,5,5,15,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,228,5,5,235,207,192,0,0,0,5,5,176,228,5,5,178,228,192,0,0,0,5,5,179,228,192,0,0,0,5,5,187,228,5,5,183,228,5,5,181,228,192,0,0,0,5,5,184,228,5,5,188,228,5,5,236,207,5,5,240,207,5,5,177,228,192,0,0,0,5,5,186,228,192,0,0,0,5,5,238,207,192,0,0,0,5,5,237,207,5,5,182,228,5,5,180,228,192,0,0,0,5,5,234,207,5,5,239,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,209,5,5,54,231,192,0,0,0,192,0,0,0,5,5,52,231,5,5,172,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,231,5,5,219,233,192,0,0,0,5,5,171,209,5,5,51,231,192,0,0,0,192,0,0,0,5,5,48,231,5,5,167,209,5,5,173,209,5,5,53,231,5,5,169,209,5,5,50,231,5,5,255,212,5,5,168,209,5,5,49,231,5,5,174,209,5,5,166,209,5,5,165,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,233,5,5,209,233,192,0,0,0,5,5,215,233,192,0,0,0,5,5,207,233,5,5,220,233,5,5,212,233,192,0,0,0,5,5,206,233,5,5,90,211,5,5,96,211,5,5,217,233,192,0,0,0,5,5,210,233,192,0,0,0,5,5,93,211,192,0,0,0,192,0,0,0,5,5,91,211,5,5,218,233,5,5,88,211,5,5,87,211,5,5,213,233,5,5,92,211,5,5,175,209,192,0,0,0,5,5,216,233,5,5,208,233,5,5,89,211,5,5,94,211,5,5,95,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,213,5,5,2,213,192,0,0,0,5,5,7,213,5,5,90,236,192,0,0,0,192,0,0,0,5,5,89,236,5,5,91,236,5,5,4,213,5,5,88,236,5,5,5,213,5,5,94,236,5,5,93,236,5,5,92,236,192,0,0,0,5,5,3,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,238,192,0,0,0,5,5,146,238,5,5,124,214,5,5,145,238,5,5,123,214,5,5,119,214,5,5,120,214,5,5,121,214,5,5,142,238,5,5,141,238,5,5,122,214,192,0,0,0,5,5,144,238,5,5,140,238,192,0,0,0,192,0,0,0,5,5,240,240,5,5,250,240,5,5,193,215,5,5,192,215,192,0,0,0,5,5,244,240,5,5,246,240,192,0,0,0,5,5,241,240,192,0,0,0,5,5,245,240,5,5,239,240,5,5,248,240,5,5,191,215,5,5,247,240,5,5,243,240,192,0,0,0,5,5,249,240,192,0,0,0,5,5,242,240,5,5,226,216,5,5,202,242,5,5,208,242,5,5,230,216,5,5,232,216,5,5,229,216,5,5,228,216,192,0,0,0,5,5,227,216,5,5,225,216,5,5,203,242,5,5,206,242,5,5,224,216,5,5,207,242,192,0,0,0,5,5,231,216,5,5,205,242,192,0,0,0,5,5,204,242,5,5,171,217,192,0,0,0,5,5,172,217,5,5,94,244,5,5,92,244,5,5,93,244,192,0,0,0,192,0,0,0,5,5,187,245,192,0,0,0,5,5,186,245,5,5,72,218,5,5,233,246,5,5,203,218,5,5,232,246,192,0,0,0,5,5,196,247,5,5,119,248,5,5,108,219,5,5,177,249,5,5,178,249,5,5,158,219,5,5,119,200,192,0,0,0,5,5,236,202,5,5,55,231,5,5,8,213,5,5,233,216,5,5,209,242,5,5,120,200,192,0,0,0,5,5,19,206,5,5,18,206,5,5,56,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,240,5,5,121,200,5,5,98,204,192,0,0,0,192,0,0,0,5,5,57,231,5,5,58,231,5,5,59,231,5,5,9,213,5,5,194,215,5,5,122,200,192,0,0,0,5,5,237,202,5,5,128,224,5,5,20,206,5,5,99,226,5,5,241,207,192,0,0,0,5,5,60,231,5,5,97,211,192,0,0,0,5,5,10,213,5,5,195,215,5,5,234,216,5,5,173,217,5,5,234,246,5,5,123,200,5,5,238,202,192,0,0,0,192,0,0,0,5,5,21,206,5,5,189,228,5,5,176,209,192,0,0,0,5,5,11,213,5,5,95,236,5,5,147,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,200,5,5,177,209,5,5,221,233,5,5,12,213,5,5,125,200,5,5,204,222,5,5,129,224,5,5,99,204,192,0,0,0,192,0,0,0,5,5,101,226,192,0,0,0,192,0,0,0,5,5,24,206,192,0,0,0,5,5,22,206,5,5,23,206,5,5,25,206,192,0,0,0,192,0,0,0,5,5,100,226,192,0,0,0,192,0,0,0,5,5,194,228,5,5,191,228,5,5,193,228,5,5,242,207,5,5,244,207,5,5,243,207,5,5,190,228,5,5,245,207,5,5,192,228,192,0,0,0,5,5,61,231,5,5,62,231,192,0,0,0,5,5,63,231,5,5,224,233,192,0,0,0,5,5,225,233,192,0,0,0,5,5,223,233,5,5,226,233,192,0,0,0,5,5,98,211,192,0,0,0,5,5,222,233,192,0,0,0,5,5,13,213,192,0,0,0,192,0,0,0,5,5,152,238,5,5,148,238,5,5,151,238,5,5,153,238,5,5,150,238,5,5,149,238,192,0,0,0,5,5,252,240,5,5,253,240,5,5,254,240,5,5,196,215,5,5,197,215,5,5,211,242,5,5,210,242,5,5,212,242,192,0,0,0,5,5,96,244,5,5,95,244,192,0,0,0,5,5,189,245,192,0,0,0,5,5,190,245,5,5,188,245,192,0,0,0,5,5,204,218,192,0,0,0,5,5,235,246,5,5,236,246,192,0,0,0,5,5,120,248,5,5,255,248,5,5,106,249,5,5,126,200,5,5,120,201,192,0,0,0,5,5,235,216,5,5,127,200,192,0,0,0,5,5,195,228,5,5,64,231,192,0,0,0,5,5,198,219,5,5,172,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,220,5,5,175,220,5,5,128,200,5,5,176,220,5,5,174,220,192,0,0,0,192,0,0,0,5,5,129,221,5,5,130,221,5,5,124,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,221,5,5,122,201,192,0,0,0,5,5,123,201,5,5,125,221,5,5,123,221,5,5,122,221,5,5,126,221,5,5,121,201,5,5,127,221,5,5,130,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,222,5,5,241,202,5,5,208,222,5,5,210,222,192,0,0,0,5,5,240,202,5,5,215,222,5,5,244,202,5,5,205,222,5,5,219,222,5,5,225,222,5,5,251,202,5,5,222,222,5,5,248,202,192,0,0,0,5,5,212,222,5,5,218,222,5,5,220,222,192,0,0,0,5,5,207,222,5,5,247,202,5,5,242,202,5,5,213,222,5,5,249,202,5,5,252,202,5,5,246,202,192,0,0,0,5,5,239,202,5,5,217,222,5,5,211,222,5,5,224,222,5,5,254,202,5,5,250,202,5,5,245,202,5,5,216,222,5,5,26,206,5,5,214,222,5,5,243,202,5,5,253,202,192,0,0,0,5,5,206,222,192,0,0,0,5,5,221,222,5,5,223,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,204,5,5,110,204,5,5,118,204,5,5,115,204,5,5,137,224,5,5,140,224,5,5,111,204,192,0,0,0,5,5,131,224,192,0,0,0,5,5,104,204,5,5,114,204,192,0,0,0,5,5,117,204,5,5,119,204,5,5,152,224,5,5,143,224,192,0,0,0,5,5,103,204,5,5,151,224,5,5,107,204,5,5,105,204,5,5,100,204,5,5,135,224,192,0,0,0,5,5,150,224,5,5,139,224,5,5,142,224,5,5,155,224,192,0,0,0,5,5,120,204,5,5,149,224,5,5,112,204,5,5,144,224,5,5,154,224,5,5,141,224,5,5,145,224,5,5,148,224,192,0,0,0,192,0,0,0,5,5,133,224,5,5,153,224,5,5,147,224,192,0,0,0,192,0,0,0,5,5,132,224,192,0,0,0,5,5,136,224,5,5,113,204,5,5,108,204,5,5,101,204,5,5,106,204,5,5,102,204,5,5,121,204,5,5,134,224,5,5,118,226,5,5,109,204,192,0,0,0,192,0,0,0,5,5,146,224,5,5,29,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,226,5,5,40,206,192,0,0,0,5,5,105,226,192,0,0,0,5,5,116,226,5,5,112,226,192,0,0,0,5,5,131,226,192,0,0,0,5,5,123,226,192,0,0,0,5,5,113,226,192,0,0,0,5,5,122,226,5,5,107,226,5,5,111,226,5,5,134,226,5,5,43,206,5,5,126,226,5,5,117,226,5,5,27,206,5,5,132,226,5,5,103,226,192,0,0,0,5,5,125,226,192,0,0,0,5,5,42,206,5,5,37,206,5,5,102,226,5,5,35,206,5,5,34,206,5,5,39,206,5,5,124,226,5,5,31,206,5,5,38,206,5,5,138,224,5,5,65,231,5,5,119,226,192,0,0,0,192,0,0,0,5,5,109,226,5,5,41,206,5,5,110,226,5,5,114,226,5,5,44,206,5,5,104,226,5,5,128,226,192,0,0,0,5,5,127,226,5,5,135,226,5,5,33,206,5,5,30,206,5,5,133,226,5,5,129,226,5,5,120,226,5,5,115,226,5,5,36,206,5,5,32,206,5,5,106,226,5,5,28,206,5,5,130,226,5,5,29,206,192,0,0,0,5,5,108,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,228,5,5,203,228,5,5,208,228,5,5,228,228,5,5,5,208,5,5,249,207,192,0,0,0,5,5,200,228,5,5,6,208,5,5,7,208,5,5,211,228,5,5,218,228,5,5,224,228,192,0,0,0,5,5,205,228,192,0,0,0,5,5,212,228,192,0,0,0,192,0,0,0,5,5,8,208,5,5,226,228,5,5,221,228,5,5,3,208,5,5,255,207,5,5,217,228,5,5,213,228,5,5,199,228,5,5,246,207,5,5,204,228,5,5,196,228,192,0,0,0,5,5,254,207,5,5,2,208,5,5,209,228,5,5,206,228,5,5,251,207,5,5,222,228,5,5,248,207,5,5,207,228,5,5,229,228,5,5,215,228,192,0,0,0,5,5,214,228,5,5,247,207,192,0,0,0,5,5,4,208,192,0,0,0,5,5,250,207,5,5,197,228,5,5,202,228,5,5,219,228,5,5,225,228,5,5,9,208,5,5,198,228,5,5,210,228,5,5,216,228,5,5,253,207,192,0,0,0,192,0,0,0,5,5,227,228,5,5,220,228,5,5,223,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,207,192,0,0,0,5,5,81,231,5,5,69,231,5,5,185,209,5,5,98,231,5,5,106,231,5,5,109,231,5,5,183,209,5,5,77,231,5,5,102,231,5,5,78,231,5,5,92,231,5,5,196,209,5,5,88,231,5,5,193,209,192,0,0,0,5,5,89,231,5,5,66,231,192,0,0,0,5,5,103,231,192,0,0,0,192,0,0,0,5,5,202,209,5,5,100,231,5,5,90,231,5,5,111,231,5,5,85,231,5,5,4,234,192,0,0,0,5,5,114,231,5,5,200,209,5,5,83,231,5,5,95,231,5,5,203,209,5,5,182,209,5,5,87,231,5,5,112,231,5,5,80,231,5,5,73,231,5,5,84,231,192,0,0,0,5,5,72,231,5,5,70,231,5,5,178,209,5,5,104,231,5,5,79,231,5,5,107,231,192,0,0,0,5,5,108,231,5,5,186,209,5,5,191,209,5,5,187,209,5,5,195,209,5,5,99,231,5,5,188,209,5,5,91,231,5,5,75,231,192,0,0,0,5,5,180,209,5,5,67,231,5,5,101,231,5,5,110,231,5,5,74,231,5,5,194,209,5,5,115,231,5,5,86,231,192,0,0,0,5,5,82,231,192,0,0,0,5,5,179,209,5,5,199,209,192,0,0,0,5,5,97,231,5,5,201,209,192,0,0,0,5,5,93,231,5,5,190,209,5,5,184,209,5,5,192,209,5,5,181,209,5,5,198,209,5,5,94,231,5,5,76,231,5,5,96,231,5,5,71,231,5,5,105,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,234,192,0,0,0,5,5,25,234,5,5,52,211,5,5,8,234,192,0,0,0,5,5,6,234,5,5,239,233,5,5,102,211,5,5,255,233,5,5,21,234,5,5,251,233,5,5,110,211,5,5,20,234,5,5,249,233,5,5,197,209,5,5,11,234,5,5,250,233,5,5,18,234,5,5,109,211,5,5,101,211,192,0,0,0,5,5,228,233,5,5,236,233,192,0,0,0,5,5,7,234,5,5,253,233,5,5,24,234,5,5,2,234,5,5,115,211,5,5,19,234,192,0,0,0,5,5,106,211,192,0,0,0,5,5,5,234,5,5,13,234,5,5,240,233,5,5,12,234,192,0,0,0,5,5,29,234,5,5,235,233,5,5,14,234,192,0,0,0,5,5,27,234,192,0,0,0,5,5,229,233,5,5,189,209,192,0,0,0,5,5,243,233,5,5,242,233,5,5,108,211,192,0,0,0,5,5,246,233,5,5,248,233,5,5,9,234,5,5,26,234,5,5,111,211,192,0,0,0,5,5,112,211,192,0,0,0,5,5,234,233,5,5,104,211,5,5,238,233,5,5,22,234,5,5,113,211,192,0,0,0,5,5,105,211,5,5,107,211,5,5,114,211,5,5,28,234,5,5,15,234,5,5,10,234,192,0,0,0,192,0,0,0,5,5,245,233,5,5,244,233,5,5,103,211,5,5,230,233,5,5,100,211,5,5,254,233,5,5,231,233,5,5,252,233,192,0,0,0,192,0,0,0,5,5,241,233,5,5,23,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,233,5,5,17,234,5,5,232,233,5,5,26,213,5,5,135,236,192,0,0,0,192,0,0,0,5,5,118,236,192,0,0,0,192,0,0,0,5,5,96,236,5,5,126,236,5,5,18,213,5,5,111,236,5,5,121,236,5,5,21,213,5,5,114,236,5,5,19,213,5,5,99,236,5,5,129,236,5,5,98,236,5,5,117,236,192,0,0,0,5,5,97,236,192,0,0,0,192,0,0,0,5,5,115,236,5,5,124,236,5,5,122,236,5,5,110,236,5,5,105,236,5,5,103,236,192,0,0,0,5,5,104,236,5,5,123,236,5,5,134,236,5,5,112,236,5,5,20,213,192,0,0,0,5,5,107,236,192,0,0,0,5,5,127,236,192,0,0,0,5,5,23,213,5,5,106,236,5,5,100,236,5,5,116,236,5,5,27,213,192,0,0,0,192,0,0,0,5,5,15,213,5,5,24,213,5,5,108,236,5,5,102,236,192,0,0,0,5,5,17,213,5,5,16,234,5,5,16,213,5,5,119,236,192,0,0,0,5,5,14,213,5,5,29,213,5,5,22,213,5,5,120,236,5,5,109,236,5,5,101,236,5,5,128,236,5,5,113,236,5,5,28,213,5,5,132,236,5,5,25,213,5,5,131,236,192,0,0,0,5,5,125,236,5,5,130,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,238,5,5,194,238,5,5,181,238,5,5,180,238,5,5,176,238,5,5,136,214,192,0,0,0,5,5,128,214,5,5,196,238,5,5,195,238,5,5,227,233,5,5,173,238,5,5,177,238,5,5,171,238,192,0,0,0,5,5,190,238,5,5,175,238,192,0,0,0,5,5,197,238,5,5,168,238,5,5,166,238,5,5,178,238,5,5,188,238,5,5,183,238,5,5,138,214,5,5,157,238,192,0,0,0,5,5,187,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,214,5,5,247,233,5,5,169,238,5,5,160,238,5,5,163,238,5,5,201,238,5,5,170,238,5,5,161,238,5,5,159,238,5,5,156,238,192,0,0,0,5,5,132,214,5,5,179,238,5,5,131,214,5,5,135,214,5,5,174,238,5,5,182,238,5,5,125,214,5,5,198,238,5,5,202,238,5,5,127,214,192,0,0,0,5,5,165,238,5,5,185,238,5,5,189,238,5,5,162,238,5,5,199,238,5,5,134,214,192,0,0,0,5,5,133,214,5,5,154,238,5,5,137,214,5,5,192,238,5,5,164,238,5,5,184,238,5,5,158,238,5,5,172,238,5,5,167,238,5,5,129,214,5,5,130,214,5,5,186,238,5,5,203,238,5,5,200,238,5,5,191,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,238,192,0,0,0,5,5,126,214,5,5,17,241,192,0,0,0,5,5,8,241,5,5,11,241,192,0,0,0,5,5,203,215,5,5,13,241,5,5,2,241,5,5,9,241,5,5,15,241,5,5,200,215,5,5,204,215,5,5,198,215,192,0,0,0,192,0,0,0,5,5,4,241,5,5,20,241,192,0,0,0,192,0,0,0,5,5,14,241,192,0,0,0,5,5,5,241,5,5,29,241,5,5,23,241,5,5,255,240,5,5,231,242,5,5,7,241,5,5,199,215,192,0,0,0,5,5,18,241,192,0,0,0,5,5,28,241,5,5,207,215,192,0,0,0,5,5,25,241,5,5,6,241,5,5,12,241,5,5,16,241,5,5,10,241,5,5,30,241,5,5,27,241,5,5,24,241,5,5,201,215,5,5,202,215,5,5,206,215,5,5,3,241,5,5,31,241,5,5,205,215,5,5,21,241,192,0,0,0,192,0,0,0,5,5,19,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,241,5,5,244,242,5,5,225,242,5,5,230,242,5,5,243,242,5,5,229,242,5,5,221,242,5,5,226,242,192,0,0,0,5,5,238,216,192,0,0,0,5,5,214,242,5,5,238,242,5,5,240,242,5,5,213,242,5,5,237,216,5,5,242,242,5,5,234,242,5,5,244,216,5,5,241,242,5,5,227,242,5,5,246,216,5,5,219,242,5,5,26,241,5,5,235,242,5,5,232,242,5,5,215,242,5,5,246,242,5,5,240,216,192,0,0,0,192,0,0,0,5,5,241,216,5,5,217,242,5,5,233,242,192,0,0,0,5,5,245,242,5,5,236,242,5,5,223,242,5,5,243,216,5,5,239,216,5,5,237,242,5,5,224,242,5,5,247,242,5,5,218,242,5,5,228,242,5,5,239,242,5,5,220,242,5,5,222,242,192,0,0,0,5,5,182,217,5,5,216,242,5,5,245,216,5,5,175,217,5,5,236,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,216,5,5,179,217,5,5,112,244,192,0,0,0,5,5,102,244,5,5,97,244,5,5,103,244,5,5,113,244,5,5,117,244,5,5,116,244,5,5,181,217,5,5,180,217,192,0,0,0,192,0,0,0,5,5,104,244,5,5,118,244,5,5,107,244,5,5,99,244,192,0,0,0,5,5,101,244,5,5,100,244,5,5,106,244,5,5,111,244,5,5,98,244,5,5,105,244,5,5,110,244,5,5,178,217,192,0,0,0,5,5,108,244,192,0,0,0,5,5,176,217,5,5,109,244,5,5,174,217,5,5,177,217,5,5,206,245,5,5,114,244,192,0,0,0,192,0,0,0,5,5,76,218,192,0,0,0,5,5,198,245,5,5,202,245,5,5,194,245,5,5,197,245,192,0,0,0,5,5,205,245,5,5,74,218,5,5,210,245,5,5,203,245,192,0,0,0,5,5,195,245,5,5,211,245,5,5,204,245,5,5,77,218,5,5,78,218,5,5,208,245,192,0,0,0,5,5,196,245,5,5,73,218,5,5,75,218,5,5,191,245,5,5,199,245,5,5,193,245,192,0,0,0,5,5,209,245,5,5,207,245,5,5,192,245,5,5,200,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,246,5,5,79,218,5,5,201,245,5,5,206,218,5,5,208,218,5,5,205,218,192,0,0,0,5,5,248,246,5,5,240,246,5,5,238,246,5,5,242,246,5,5,239,246,192,0,0,0,192,0,0,0,5,5,244,246,5,5,246,246,5,5,209,218,5,5,211,218,192,0,0,0,5,5,245,246,5,5,212,218,5,5,210,218,5,5,247,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,219,5,5,197,247,5,5,203,247,5,5,31,219,5,5,241,246,5,5,202,247,192,0,0,0,5,5,209,247,5,5,200,247,5,5,207,247,5,5,206,247,5,5,237,246,5,5,201,247,5,5,115,244,5,5,210,247,5,5,199,247,5,5,204,247,192,0,0,0,5,5,208,247,5,5,198,247,192,0,0,0,5,5,124,248,5,5,30,219,5,5,205,247,192,0,0,0,192,0,0,0,5,5,6,249,5,5,125,248,5,5,123,248,5,5,121,248,5,5,122,248,5,5,126,248,192,0,0,0,5,5,159,219,5,5,4,249,5,5,2,249,5,5,7,249,5,5,5,249,192,0,0,0,5,5,8,249,5,5,160,219,5,5,3,249,192,0,0,0,192,0,0,0,5,5,107,249,192,0,0,0,192,0,0,0,5,5,179,249,5,5,180,249,5,5,181,249,192,0,0,0,192,0,0,0,5,5,21,250,5,5,11,250,5,5,177,220,5,5,255,202,192,0,0,0,5,5,122,204,192,0,0,0,5,5,137,226,5,5,136,226,5,5,45,206,5,5,10,208,5,5,231,228,192,0,0,0,192,0,0,0,5,5,230,228,192,0,0,0,5,5,204,209,5,5,117,211,192,0,0,0,5,5,116,211,5,5,118,211,192,0,0,0,5,5,136,236,5,5,204,238,5,5,32,241,5,5,34,241,5,5,33,241,192,0,0,0,5,5,247,216,5,5,248,242,5,5,119,244,5,5,241,249,5,5,129,200,192,0,0,0,5,5,228,222,5,5,229,222,5,5,227,222,5,5,226,222,5,5,2,203,192,0,0,0,5,5,159,224,5,5,157,224,192,0,0,0,192,0,0,0,5,5,156,224,192,0,0,0,5,5,123,204,5,5,125,204,5,5,124,204,5,5,158,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,226,5,5,146,226,5,5,144,226,192,0,0,0,192,0,0,0,5,5,46,206,5,5,147,226,5,5,51,206,5,5,141,226,5,5,156,226,192,0,0,0,5,5,158,226,5,5,142,226,192,0,0,0,5,5,48,206,5,5,159,226,5,5,154,226,5,5,140,226,5,5,145,226,5,5,155,226,5,5,151,226,5,5,148,226,192,0,0,0,5,5,53,206,5,5,157,226,5,5,143,226,192,0,0,0,192,0,0,0,5,5,152,226,5,5,138,226,5,5,52,206,5,5,49,206,5,5,150,226,192,0,0,0,5,5,153,226,5,5,139,226,5,5,50,206,5,5,47,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,208,5,5,238,228,5,5,19,208,192,0,0,0,5,5,241,228,5,5,244,228,5,5,16,208,5,5,14,208,5,5,233,228,5,5,242,228,5,5,240,228,5,5,237,228,5,5,245,228,5,5,246,228,5,5,248,228,5,5,249,228,5,5,232,228,5,5,13,208,5,5,235,228,5,5,234,228,5,5,247,228,5,5,15,208,5,5,236,228,5,5,17,208,5,5,12,208,5,5,239,228,5,5,21,208,192,0,0,0,5,5,18,208,5,5,243,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,209,5,5,130,231,192,0,0,0,5,5,119,231,5,5,208,209,192,0,0,0,5,5,35,234,5,5,128,231,5,5,116,231,5,5,206,209,5,5,121,231,5,5,209,209,5,5,125,231,5,5,123,231,5,5,212,209,5,5,205,209,192,0,0,0,192,0,0,0,5,5,117,231,5,5,120,231,5,5,210,209,192,0,0,0,5,5,118,231,192,0,0,0,5,5,129,231,5,5,127,231,5,5,122,231,5,5,124,231,5,5,126,231,5,5,207,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,234,5,5,42,234,5,5,32,234,5,5,38,234,5,5,119,211,5,5,34,234,5,5,125,211,192,0,0,0,192,0,0,0,5,5,124,211,192,0,0,0,5,5,123,211,5,5,41,234,5,5,126,211,5,5,127,211,5,5,31,234,5,5,44,234,5,5,128,211,5,5,122,211,5,5,121,211,5,5,40,234,5,5,129,211,5,5,30,234,5,5,33,234,5,5,43,234,5,5,39,234,192,0,0,0,192,0,0,0,5,5,168,236,5,5,157,236,5,5,120,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,213,5,5,145,236,5,5,166,236,5,5,146,236,5,5,31,213,192,0,0,0,5,5,143,236,192,0,0,0,5,5,152,236,5,5,144,236,5,5,33,213,5,5,138,236,5,5,165,236,5,5,34,213,5,5,162,236,5,5,163,236,5,5,139,236,5,5,39,213,5,5,154,236,192,0,0,0,5,5,148,236,5,5,155,236,5,5,142,236,192,0,0,0,5,5,167,236,5,5,159,236,5,5,153,236,5,5,137,236,5,5,35,213,5,5,160,236,192,0,0,0,5,5,38,213,5,5,164,236,192,0,0,0,5,5,158,236,5,5,32,213,5,5,156,236,192,0,0,0,5,5,150,236,5,5,30,213,5,5,141,236,5,5,149,236,5,5,161,236,5,5,147,236,192,0,0,0,192,0,0,0,5,5,151,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,214,5,5,37,234,5,5,222,238,5,5,231,238,5,5,221,238,5,5,217,238,5,5,214,238,5,5,150,214,5,5,212,238,5,5,37,213,5,5,205,238,5,5,148,214,5,5,211,238,5,5,147,214,5,5,216,238,5,5,213,238,5,5,229,238,5,5,224,238,5,5,218,238,5,5,223,238,5,5,143,214,5,5,215,238,5,5,234,238,5,5,206,238,5,5,207,238,5,5,230,238,5,5,144,214,5,5,235,238,5,5,146,214,5,5,236,238,5,5,220,238,5,5,140,236,5,5,226,238,5,5,219,238,5,5,228,238,5,5,225,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,238,5,5,141,214,5,5,233,238,5,5,142,214,5,5,208,238,5,5,145,214,5,5,44,241,5,5,227,238,5,5,232,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,241,5,5,140,214,5,5,208,215,5,5,51,241,5,5,47,241,192,0,0,0,5,5,45,241,5,5,40,241,5,5,55,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,215,192,0,0,0,5,5,36,241,5,5,48,241,5,5,49,241,5,5,39,241,5,5,38,241,5,5,52,241,192,0,0,0,5,5,42,241,5,5,37,241,5,5,43,241,192,0,0,0,5,5,54,241,5,5,35,241,5,5,53,241,5,5,50,241,5,5,210,215,5,5,209,215,192,0,0,0,192,0,0,0,5,5,211,215,5,5,46,241,5,5,136,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,242,5,5,253,216,5,5,254,242,5,5,251,242,5,5,4,243,5,5,10,243,5,5,253,242,192,0,0,0,5,5,19,243,5,5,250,216,5,5,13,243,5,5,2,243,5,5,14,243,5,5,9,243,5,5,16,243,5,5,255,242,5,5,255,216,5,5,254,216,5,5,3,243,5,5,17,243,5,5,249,242,5,5,15,243,5,5,248,216,192,0,0,0,5,5,7,243,5,5,6,243,5,5,11,243,5,5,252,242,5,5,252,216,192,0,0,0,5,5,2,217,5,5,5,243,5,5,12,243,5,5,3,217,5,5,8,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,216,5,5,251,216,5,5,132,244,5,5,130,244,192,0,0,0,192,0,0,0,5,5,137,244,5,5,134,244,5,5,138,244,192,0,0,0,5,5,123,244,5,5,131,244,5,5,142,244,5,5,18,243,5,5,127,244,5,5,186,217,5,5,209,238,5,5,122,244,5,5,135,244,5,5,129,244,5,5,126,244,5,5,121,244,5,5,120,244,5,5,141,244,192,0,0,0,5,5,125,244,5,5,124,244,5,5,184,217,5,5,133,244,192,0,0,0,5,5,183,217,192,0,0,0,192,0,0,0,5,5,185,217,5,5,128,244,5,5,140,244,192,0,0,0,5,5,215,245,5,5,216,245,192,0,0,0,5,5,83,218,5,5,213,245,5,5,80,218,5,5,221,245,192,0,0,0,5,5,84,218,5,5,223,245,5,5,212,245,5,5,139,244,5,5,225,245,5,5,214,245,192,0,0,0,5,5,81,218,5,5,220,245,192,0,0,0,5,5,222,245,5,5,217,245,5,5,224,245,5,5,219,245,5,5,218,245,5,5,82,218,192,0,0,0,192,0,0,0,5,5,250,246,5,5,251,246,192,0,0,0,5,5,253,246,5,5,213,218,5,5,214,218,5,5,254,246,5,5,252,246,192,0,0,0,5,5,249,246,192,0,0,0,5,5,213,247,5,5,216,247,5,5,212,247,192,0,0,0,5,5,35,219,5,5,214,247,5,5,34,219,5,5,33,219,5,5,32,219,5,5,215,247,5,5,131,248,5,5,129,248,192,0,0,0,5,5,128,248,5,5,211,247,5,5,130,248,5,5,217,247,5,5,127,248,192,0,0,0,5,5,11,249,5,5,231,248,5,5,9,249,5,5,161,219,5,5,10,249,5,5,12,249,192,0,0,0,5,5,110,249,5,5,192,219,5,5,109,249,5,5,108,249,5,5,193,219,192,0,0,0,5,5,223,219,5,5,220,249,5,5,243,249,5,5,242,249,5,5,244,249,5,5,130,200,5,5,160,224,192,0,0,0,5,5,160,226,5,5,161,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,231,192,0,0,0,5,5,218,247,5,5,111,249,5,5,131,200,5,5,126,204,5,5,161,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,228,5,5,22,208,192,0,0,0,5,5,133,231,5,5,132,231,5,5,213,209,192,0,0,0,5,5,130,211,5,5,237,238,5,5,151,214,192,0,0,0,5,5,152,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,215,5,5,194,219,5,5,132,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,224,5,5,4,203,5,5,164,224,5,5,163,224,5,5,127,204,192,0,0,0,5,5,162,226,192,0,0,0,5,5,169,226,5,5,54,206,5,5,167,226,5,5,165,226,192,0,0,0,5,5,172,226,5,5,163,226,5,5,164,226,5,5,55,206,192,0,0,0,5,5,59,206,192,0,0,0,192,0,0,0,5,5,173,226,5,5,58,206,5,5,171,226,5,5,168,226,5,5,166,226,5,5,56,206,5,5,57,206,5,5,170,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,208,5,5,251,228,192,0,0,0,5,5,29,208,5,5,13,229,5,5,28,208,5,5,15,229,192,0,0,0,192,0,0,0,5,5,3,229,5,5,26,208,5,5,14,229,192,0,0,0,5,5,252,228,5,5,27,208,5,5,10,229,5,5,6,229,5,5,8,229,5,5,2,229,5,5,9,229,192,0,0,0,192,0,0,0,5,5,23,208,5,5,5,229,192,0,0,0,5,5,4,229,5,5,254,228,192,0,0,0,5,5,11,229,192,0,0,0,192,0,0,0,5,5,7,229,5,5,253,228,192,0,0,0,5,5,255,228,5,5,25,208,5,5,12,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,209,5,5,144,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,231,5,5,142,231,5,5,137,231,5,5,136,231,5,5,134,231,192,0,0,0,5,5,141,231,5,5,143,231,5,5,139,231,192,0,0,0,5,5,138,231,5,5,214,209,5,5,215,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,231,5,5,138,211,5,5,46,234,5,5,52,234,5,5,47,234,5,5,48,234,192,0,0,0,5,5,53,234,192,0,0,0,5,5,140,211,192,0,0,0,5,5,132,211,5,5,139,211,5,5,45,234,5,5,135,231,5,5,135,211,5,5,133,211,5,5,51,234,5,5,50,234,5,5,134,211,5,5,136,211,5,5,49,234,5,5,131,211,192,0,0,0,5,5,137,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,236,5,5,46,213,192,0,0,0,192,0,0,0,5,5,181,236,5,5,180,236,192,0,0,0,5,5,175,236,5,5,48,213,5,5,179,236,5,5,171,236,5,5,172,236,5,5,40,213,5,5,42,213,192,0,0,0,5,5,177,236,5,5,169,236,5,5,44,213,5,5,43,213,5,5,173,236,5,5,178,236,5,5,176,236,5,5,45,213,5,5,174,236,192,0,0,0,192,0,0,0,5,5,145,231,5,5,41,213,192,0,0,0,192,0,0,0,5,5,238,238,5,5,245,238,5,5,154,214,192,0,0,0,5,5,249,238,5,5,158,214,5,5,241,238,5,5,239,238,192,0,0,0,5,5,248,238,192,0,0,0,5,5,153,214,5,5,247,238,5,5,155,214,5,5,156,214,5,5,240,238,5,5,157,214,5,5,246,238,5,5,242,238,5,5,243,238,5,5,244,238,5,5,47,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,241,5,5,68,241,192,0,0,0,5,5,218,215,5,5,63,241,5,5,65,241,192,0,0,0,5,5,216,215,5,5,57,241,5,5,61,241,192,0,0,0,5,5,64,241,5,5,214,215,5,5,217,215,5,5,67,241,5,5,59,241,5,5,60,241,5,5,66,241,5,5,58,241,5,5,62,241,5,5,215,215,5,5,21,243,192,0,0,0,5,5,20,243,5,5,5,217,5,5,26,243,5,5,7,217,192,0,0,0,192,0,0,0,5,5,4,217,5,5,22,243,5,5,8,217,5,5,23,243,192,0,0,0,192,0,0,0,5,5,24,243,5,5,27,243,192,0,0,0,5,5,6,217,192,0,0,0,5,5,147,244,192,0,0,0,192,0,0,0,5,5,150,244,192,0,0,0,5,5,144,244,5,5,146,244,192,0,0,0,192,0,0,0,5,5,145,244,5,5,148,244,5,5,149,244,5,5,25,243,5,5,143,244,192,0,0,0,192,0,0,0,5,5,87,218,5,5,229,245,5,5,232,245,5,5,234,245,5,5,227,245,5,5,228,245,5,5,231,245,5,5,233,245,5,5,88,218,5,5,86,218,5,5,85,218,5,5,230,245,5,5,226,245,5,5,255,246,5,5,215,218,192,0,0,0,5,5,2,247,192,0,0,0,192,0,0,0,5,5,220,247,5,5,36,219,5,5,222,247,5,5,37,219,5,5,219,247,5,5,221,247,5,5,110,219,192,0,0,0,5,5,132,248,5,5,109,219,5,5,15,249,5,5,14,249,192,0,0,0,5,5,13,249,192,0,0,0,192,0,0,0,5,5,182,249,5,5,183,249,5,5,185,249,5,5,184,249,192,0,0,0,5,5,178,220,5,5,133,200,192,0,0,0,5,5,128,204,5,5,16,229,5,5,217,209,192,0,0,0,5,5,54,234,5,5,187,217,192,0,0,0,5,5,235,245,192,0,0,0,192,0,0,0,5,5,124,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,208,192,0,0,0,5,5,147,231,5,5,218,209,5,5,149,231,5,5,148,231,192,0,0,0,192,0,0,0,5,5,55,234,5,5,141,211,5,5,182,236,5,5,185,236,5,5,184,236,192,0,0,0,5,5,183,236,5,5,250,238,5,5,252,238,5,5,251,238,192,0,0,0,5,5,220,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,215,192,0,0,0,5,5,9,217,5,5,28,243,5,5,30,243,5,5,29,243,192,0,0,0,192,0,0,0,5,5,188,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,245,5,5,236,245,192,0,0,0,5,5,3,247,5,5,216,218,192,0,0,0,192,0,0,0,5,5,38,219,5,5,134,248,5,5,133,248,5,5,224,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,201,5,5,165,224,5,5,129,204,5,5,19,229,5,5,17,229,192,0,0,0,192,0,0,0,5,5,18,229,5,5,151,231,5,5,152,231,5,5,62,234,5,5,150,231,192,0,0,0,5,5,56,234,5,5,60,234,5,5,59,234,5,5,61,234,5,5,142,211,5,5,58,234,5,5,57,234,5,5,63,234,192,0,0,0,5,5,188,236,5,5,186,236,192,0,0,0,5,5,187,236,5,5,255,238,5,5,253,238,192,0,0,0,192,0,0,0,5,5,254,238,5,5,69,241,5,5,31,243,5,5,32,243,5,5,189,217,192,0,0,0,5,5,238,245,5,5,4,247,5,5,217,218,192,0,0,0,5,5,223,247,5,5,135,248,5,5,111,219,192,0,0,0,5,5,16,249,5,5,186,249,5,5,126,201,192,0,0,0,5,5,131,204,5,5,132,204,5,5,166,224,192,0,0,0,192,0,0,0,5,5,167,224,5,5,130,204,192,0,0,0,5,5,65,206,192,0,0,0,5,5,63,206,192,0,0,0,5,5,62,206,5,5,69,206,5,5,61,206,5,5,70,206,5,5,174,226,5,5,67,206,192,0,0,0,5,5,64,206,5,5,68,206,5,5,66,206,5,5,60,206,192,0,0,0,192,0,0,0,5,5,39,208,192,0,0,0,5,5,33,208,5,5,23,229,5,5,38,208,192,0,0,0,192,0,0,0,5,5,40,208,5,5,34,208,192,0,0,0,5,5,35,208,192,0,0,0,5,5,21,229,192,0,0,0,192,0,0,0,5,5,32,208,192,0,0,0,5,5,22,229,5,5,37,208,192,0,0,0,192,0,0,0,5,5,20,229,5,5,36,208,192,0,0,0,192,0,0,0,5,5,229,209,192,0,0,0,5,5,231,209,192,0,0,0,192,0,0,0,5,5,155,231,5,5,230,209,5,5,219,209,5,5,223,209,192,0,0,0,5,5,161,211,5,5,68,234,5,5,157,231,5,5,224,209,192,0,0,0,192,0,0,0,5,5,160,231,5,5,161,231,5,5,228,209,192,0,0,0,5,5,163,231,192,0,0,0,5,5,165,231,192,0,0,0,5,5,166,231,5,5,154,231,5,5,153,231,5,5,167,231,5,5,227,209,5,5,164,231,5,5,162,231,192,0,0,0,5,5,225,209,5,5,221,209,5,5,232,209,5,5,158,231,5,5,159,231,5,5,156,231,192,0,0,0,5,5,226,209,192,0,0,0,192,0,0,0,5,5,222,209,192,0,0,0,5,5,220,209,5,5,67,234,5,5,156,211,5,5,151,211,192,0,0,0,192,0,0,0,5,5,146,211,192,0,0,0,5,5,162,211,5,5,147,211,192,0,0,0,5,5,143,211,5,5,158,211,5,5,155,211,5,5,157,211,192,0,0,0,5,5,148,211,5,5,153,211,5,5,144,211,5,5,145,211,5,5,75,234,5,5,72,234,5,5,64,234,5,5,69,234,192,0,0,0,5,5,159,211,5,5,76,234,5,5,160,211,5,5,150,211,192,0,0,0,192,0,0,0,5,5,66,234,192,0,0,0,5,5,74,234,5,5,70,234,5,5,73,234,5,5,71,234,5,5,154,211,5,5,65,234,5,5,149,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,236,5,5,50,213,5,5,53,213,192,0,0,0,5,5,193,236,192,0,0,0,5,5,61,213,5,5,192,236,5,5,55,213,192,0,0,0,5,5,163,214,5,5,194,236,192,0,0,0,5,5,60,213,5,5,190,236,5,5,62,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,213,192,0,0,0,5,5,152,211,5,5,54,213,192,0,0,0,5,5,52,213,5,5,56,213,5,5,58,213,5,5,49,213,5,5,63,213,5,5,59,213,192,0,0,0,5,5,57,213,5,5,189,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,214,192,0,0,0,5,5,166,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,214,192,0,0,0,5,5,4,239,5,5,174,214,5,5,16,239,5,5,9,239,5,5,159,214,5,5,17,239,5,5,11,239,5,5,169,214,5,5,12,239,192,0,0,0,5,5,168,214,5,5,15,239,5,5,162,214,5,5,13,239,5,5,3,239,5,5,161,214,5,5,80,241,5,5,167,214,192,0,0,0,5,5,164,214,192,0,0,0,5,5,172,214,192,0,0,0,5,5,2,239,192,0,0,0,5,5,6,239,5,5,160,214,5,5,5,239,5,5,7,239,5,5,8,239,5,5,171,214,5,5,10,239,5,5,14,239,5,5,18,239,192,0,0,0,5,5,175,214,5,5,226,215,5,5,75,241,5,5,81,241,5,5,78,241,5,5,70,241,5,5,82,241,5,5,71,241,192,0,0,0,5,5,77,241,192,0,0,0,5,5,221,215,5,5,227,215,5,5,83,241,192,0,0,0,192,0,0,0,5,5,223,215,192,0,0,0,5,5,233,215,5,5,228,215,5,5,85,241,5,5,79,241,5,5,224,215,5,5,72,241,5,5,234,215,5,5,73,241,5,5,74,241,5,5,235,215,5,5,232,215,5,5,165,214,192,0,0,0,5,5,222,215,5,5,86,241,5,5,236,215,192,0,0,0,5,5,229,215,5,5,84,241,5,5,225,215,5,5,230,215,5,5,231,215,192,0,0,0,5,5,17,217,5,5,37,243,5,5,46,243,5,5,43,243,5,5,45,243,192,0,0,0,5,5,14,217,5,5,38,243,192,0,0,0,5,5,44,243,5,5,10,217,5,5,40,243,5,5,18,217,5,5,36,243,5,5,41,243,5,5,48,243,5,5,76,241,5,5,42,243,5,5,35,243,5,5,11,217,5,5,34,243,5,5,12,217,5,5,49,243,5,5,13,217,5,5,47,243,5,5,16,217,5,5,33,243,192,0,0,0,5,5,15,217,192,0,0,0,5,5,39,243,5,5,153,244,5,5,167,244,5,5,162,244,5,5,164,244,5,5,152,244,5,5,190,217,192,0,0,0,5,5,151,244,5,5,193,217,5,5,192,217,192,0,0,0,5,5,166,244,5,5,158,244,5,5,155,244,5,5,161,244,192,0,0,0,5,5,154,244,192,0,0,0,5,5,156,244,5,5,165,244,5,5,163,244,192,0,0,0,5,5,191,217,5,5,170,244,5,5,168,244,5,5,159,244,5,5,169,244,5,5,160,244,192,0,0,0,5,5,242,245,5,5,89,218,5,5,249,245,192,0,0,0,192,0,0,0,5,5,226,247,5,5,96,218,5,5,157,244,5,5,240,245,5,5,92,218,5,5,241,245,5,5,246,245,192,0,0,0,192,0,0,0,5,5,94,218,5,5,95,218,5,5,239,245,5,5,248,245,5,5,250,245,5,5,243,245,5,5,245,245,5,5,247,245,5,5,244,245,5,5,251,245,5,5,91,218,5,5,97,218,5,5,93,218,192,0,0,0,5,5,90,218,5,5,7,247,192,0,0,0,5,5,222,218,5,5,5,247,192,0,0,0,192,0,0,0,5,5,9,247,192,0,0,0,5,5,10,247,5,5,220,218,5,5,11,247,5,5,8,247,192,0,0,0,5,5,6,247,5,5,223,218,5,5,219,218,5,5,12,247,192,0,0,0,5,5,221,218,5,5,218,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,219,192,0,0,0,192,0,0,0,5,5,40,219,5,5,225,247,5,5,224,247,5,5,227,247,5,5,228,247,192,0,0,0,5,5,41,219,5,5,136,248,5,5,141,248,5,5,112,219,192,0,0,0,5,5,138,248,192,0,0,0,5,5,137,248,5,5,140,248,5,5,139,248,192,0,0,0,5,5,20,249,192,0,0,0,5,5,162,219,5,5,19,249,5,5,17,249,192,0,0,0,5,5,18,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,219,5,5,195,219,5,5,112,249,5,5,113,249,5,5,197,219,192,0,0,0,5,5,187,249,5,5,188,249,5,5,236,219,192,0,0,0,5,5,242,219,192,0,0,0,5,5,245,249,5,5,22,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,201,192,0,0,0,5,5,24,229,192,0,0,0,5,5,25,229,5,5,77,234,5,5,195,236,5,5,19,239,5,5,20,217,192,0,0,0,5,5,19,217,5,5,171,244,5,5,252,245,192,0,0,0,5,5,21,249,5,5,128,201,5,5,175,226,5,5,71,206,5,5,41,208,5,5,79,234,5,5,78,234,5,5,176,214,5,5,20,239,5,5,177,214,5,5,50,243,5,5,194,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,219,5,5,129,201,5,5,230,222,5,5,176,226,192,0,0,0,192,0,0,0,5,5,42,208,192,0,0,0,5,5,26,229,5,5,27,229,192,0,0,0,5,5,168,231,192,0,0,0,5,5,233,209,5,5,163,211,192,0,0,0,5,5,81,234,5,5,80,234,5,5,82,234,192,0,0,0,5,5,196,236,5,5,197,236,5,5,64,213,5,5,237,215,5,5,178,214,5,5,238,215,192,0,0,0,5,5,54,243,5,5,51,243,5,5,53,243,5,5,52,243,5,5,21,217,192,0,0,0,5,5,172,244,5,5,254,245,5,5,253,245,5,5,131,221,5,5,73,206,5,5,72,206,5,5,177,226,192,0,0,0,5,5,28,229,192,0,0,0,192,0,0,0,5,5,170,231,5,5,169,231,5,5,234,209,192,0,0,0,5,5,84,234,5,5,85,234,5,5,83,234,192,0,0,0,192,0,0,0,5,5,165,211,5,5,164,211,192,0,0,0,5,5,66,213,5,5,65,213,192,0,0,0,5,5,21,239,5,5,89,241,5,5,87,241,5,5,88,241,5,5,239,215,5,5,56,243,5,5,55,243,192,0,0,0,5,5,175,244,5,5,174,244,5,5,173,244,5,5,255,245,192,0,0,0,5,5,246,249,5,5,130,201,5,5,133,204,192,0,0,0,5,5,134,204,5,5,74,206,5,5,75,206,5,5,179,226,5,5,178,226,5,5,29,229,192,0,0,0,5,5,48,208,5,5,46,208,5,5,43,208,5,5,47,208,5,5,45,208,5,5,44,208,192,0,0,0,192,0,0,0,5,5,235,209,5,5,173,231,192,0,0,0,5,5,170,211,5,5,237,209,5,5,242,209,5,5,175,231,5,5,244,209,5,5,243,209,5,5,246,209,5,5,174,231,5,5,171,231,5,5,240,209,5,5,236,209,5,5,238,209,5,5,172,231,5,5,245,209,5,5,241,209,5,5,239,209,5,5,172,211,5,5,171,211,5,5,169,211,5,5,173,211,192,0,0,0,5,5,167,211,5,5,168,211,192,0,0,0,5,5,166,211,192,0,0,0,5,5,86,234,192,0,0,0,192,0,0,0,5,5,199,236,192,0,0,0,5,5,68,213,5,5,69,213,5,5,67,213,192,0,0,0,5,5,198,236,192,0,0,0,5,5,200,236,192,0,0,0,5,5,24,239,5,5,26,239,192,0,0,0,5,5,187,214,5,5,27,239,5,5,180,214,5,5,23,239,5,5,179,214,5,5,189,214,5,5,185,214,5,5,186,214,5,5,182,214,5,5,22,239,5,5,181,214,5,5,28,239,5,5,25,239,192,0,0,0,5,5,188,214,192,0,0,0,5,5,183,214,5,5,184,214,5,5,91,241,192,0,0,0,5,5,93,241,5,5,92,241,192,0,0,0,5,5,94,241,5,5,240,215,5,5,90,241,192,0,0,0,192,0,0,0,5,5,25,217,5,5,57,243,5,5,22,217,5,5,26,217,5,5,24,217,5,5,23,217,5,5,176,244,192,0,0,0,5,5,179,244,192,0,0,0,5,5,178,244,192,0,0,0,5,5,177,244,5,5,195,217,5,5,2,246,5,5,3,246,5,5,98,218,5,5,4,246,5,5,99,218,192,0,0,0,192,0,0,0,5,5,225,218,192,0,0,0,5,5,224,218,5,5,229,247,192,0,0,0,192,0,0,0,5,5,42,219,5,5,230,247,5,5,142,248,5,5,113,219,5,5,114,219,192,0,0,0,5,5,22,249,192,0,0,0,5,5,199,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,201,192,0,0,0,5,5,50,208,5,5,49,208,5,5,87,234,5,5,88,234,192,0,0,0,5,5,70,213,5,5,95,241,5,5,190,214,5,5,96,241,5,5,58,243,5,5,132,201,192,0,0,0,5,5,168,224,5,5,136,204,5,5,135,204,192,0,0,0,5,5,180,226,5,5,76,206,5,5,181,226,5,5,32,229,192,0,0,0,5,5,31,229,192,0,0,0,5,5,30,229,192,0,0,0,192,0,0,0,5,5,177,231,5,5,249,209,192,0,0,0,192,0,0,0,5,5,176,231,5,5,248,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,231,5,5,247,209,192,0,0,0,5,5,90,234,5,5,93,234,5,5,91,234,5,5,92,234,5,5,96,234,5,5,89,234,5,5,97,234,5,5,94,234,5,5,95,234,5,5,72,213,5,5,201,236,192,0,0,0,192,0,0,0,5,5,71,213,192,0,0,0,5,5,32,239,5,5,30,239,192,0,0,0,192,0,0,0,5,5,191,214,5,5,29,239,5,5,31,239,192,0,0,0,5,5,192,214,192,0,0,0,5,5,97,241,192,0,0,0,5,5,98,241,5,5,27,217,192,0,0,0,5,5,6,246,5,5,8,246,5,5,5,246,5,5,7,246,5,5,13,247,5,5,231,247,192,0,0,0,192,0,0,0,5,5,221,249,5,5,133,201,5,5,137,204,5,5,182,226,5,5,184,226,5,5,183,226,192,0,0,0,5,5,35,229,5,5,52,208,192,0,0,0,5,5,33,229,192,0,0,0,5,5,51,208,5,5,36,229,192,0,0,0,5,5,37,229,5,5,34,229,192,0,0,0,192,0,0,0,5,5,190,231,5,5,3,210,5,5,182,231,5,5,188,231,192,0,0,0,192,0,0,0,5,5,252,209,5,5,255,209,5,5,181,231,5,5,250,209,5,5,185,231,5,5,103,234,5,5,254,209,192,0,0,0,5,5,180,231,192,0,0,0,5,5,186,231,5,5,183,231,5,5,189,231,5,5,179,231,5,5,187,231,5,5,253,209,5,5,2,210,5,5,184,231,5,5,251,209,192,0,0,0,5,5,175,211,5,5,99,234,5,5,174,211,5,5,106,234,5,5,105,234,5,5,181,211,192,0,0,0,5,5,182,211,5,5,107,234,5,5,176,211,5,5,104,234,5,5,180,211,5,5,109,234,5,5,100,234,192,0,0,0,5,5,102,234,5,5,177,211,5,5,98,234,5,5,101,234,5,5,108,234,5,5,178,211,5,5,110,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,211,192,0,0,0,5,5,73,213,5,5,206,236,5,5,212,236,5,5,204,236,5,5,213,236,192,0,0,0,5,5,203,236,5,5,208,236,5,5,214,236,5,5,211,236,5,5,210,236,5,5,209,236,192,0,0,0,5,5,202,236,5,5,207,236,192,0,0,0,192,0,0,0,5,5,205,236,192,0,0,0,5,5,197,214,5,5,194,214,5,5,41,239,5,5,46,239,5,5,48,239,5,5,45,239,5,5,38,239,5,5,40,239,5,5,50,239,5,5,47,239,5,5,42,239,5,5,51,239,5,5,39,239,5,5,49,239,5,5,195,214,5,5,201,214,5,5,199,214,5,5,33,239,5,5,200,214,5,5,196,214,5,5,34,239,5,5,36,239,5,5,35,239,5,5,43,239,5,5,44,239,192,0,0,0,5,5,198,214,192,0,0,0,5,5,193,214,192,0,0,0,192,0,0,0,5,5,37,239,192,0,0,0,5,5,108,241,5,5,242,215,192,0,0,0,5,5,99,241,5,5,243,215,5,5,246,215,5,5,104,241,192,0,0,0,5,5,101,241,5,5,245,215,192,0,0,0,192,0,0,0,5,5,105,241,5,5,106,241,5,5,100,241,5,5,109,241,5,5,102,241,5,5,107,241,5,5,244,215,192,0,0,0,5,5,241,215,5,5,103,241,192,0,0,0,5,5,64,243,5,5,30,217,5,5,28,217,5,5,31,217,5,5,29,217,5,5,63,243,5,5,60,243,5,5,59,243,192,0,0,0,5,5,62,243,192,0,0,0,192,0,0,0,5,5,61,243,5,5,193,244,5,5,201,217,5,5,184,244,5,5,183,244,192,0,0,0,5,5,196,217,5,5,189,244,5,5,188,244,5,5,180,244,5,5,191,244,5,5,185,244,5,5,200,217,5,5,182,244,5,5,190,244,5,5,181,244,5,5,197,217,5,5,199,217,5,5,186,244,5,5,198,217,5,5,187,244,192,0,0,0,5,5,192,244,5,5,12,246,192,0,0,0,5,5,104,218,5,5,9,246,192,0,0,0,5,5,13,246,192,0,0,0,192,0,0,0,5,5,101,218,5,5,11,246,5,5,106,218,192,0,0,0,5,5,103,218,192,0,0,0,5,5,10,246,192,0,0,0,5,5,105,218,5,5,14,246,5,5,100,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,218,5,5,229,218,192,0,0,0,5,5,16,247,5,5,228,218,5,5,14,247,5,5,102,218,5,5,15,247,5,5,226,218,5,5,43,219,5,5,45,219,5,5,233,247,5,5,44,219,5,5,232,247,192,0,0,0,5,5,147,248,5,5,115,219,5,5,146,248,5,5,116,219,5,5,144,248,5,5,143,248,5,5,148,248,5,5,149,248,5,5,23,249,192,0,0,0,5,5,145,248,192,0,0,0,192,0,0,0,5,5,117,249,5,5,114,249,5,5,115,249,5,5,116,249,5,5,225,219,192,0,0,0,5,5,191,249,5,5,190,249,5,5,189,249,5,5,222,249,192,0,0,0,5,5,12,250,5,5,247,249,5,5,243,219,5,5,134,201,5,5,77,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,214,192,0,0,0,192,0,0,0,5,5,110,241,192,0,0,0,192,0,0,0,5,5,202,217,192,0,0,0,5,5,15,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,249,5,5,135,201,5,5,5,203,5,5,139,204,5,5,138,204,192,0,0,0,5,5,80,206,192,0,0,0,5,5,185,226,5,5,78,206,5,5,186,226,5,5,79,206,192,0,0,0,192,0,0,0,5,5,42,229,5,5,38,229,192,0,0,0,192,0,0,0,5,5,53,208,5,5,41,229,5,5,40,229,5,5,39,229,5,5,54,208,5,5,43,229,5,5,44,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,231,5,5,195,231,5,5,199,231,5,5,200,231,5,5,206,231,192,0,0,0,5,5,202,231,5,5,204,231,192,0,0,0,5,5,196,231,5,5,191,231,192,0,0,0,5,5,203,231,192,0,0,0,192,0,0,0,5,5,205,231,5,5,198,231,5,5,201,231,5,5,192,231,5,5,5,210,5,5,194,231,5,5,193,231,5,5,4,210,5,5,6,210,192,0,0,0,5,5,186,211,5,5,112,234,5,5,114,234,5,5,113,234,5,5,118,234,5,5,184,211,192,0,0,0,5,5,115,234,5,5,111,234,5,5,116,234,5,5,117,234,5,5,185,211,5,5,187,211,5,5,119,234,192,0,0,0,5,5,218,236,5,5,217,236,192,0,0,0,5,5,215,236,5,5,216,236,5,5,75,213,5,5,77,213,5,5,74,213,5,5,76,213,5,5,58,239,5,5,59,239,5,5,54,239,192,0,0,0,5,5,55,239,5,5,204,214,5,5,209,214,5,5,203,214,5,5,210,214,5,5,205,214,5,5,56,239,192,0,0,0,192,0,0,0,5,5,57,239,5,5,53,239,5,5,211,214,5,5,207,214,192,0,0,0,192,0,0,0,5,5,206,214,5,5,208,214,192,0,0,0,5,5,52,239,192,0,0,0,5,5,112,241,5,5,248,215,192,0,0,0,192,0,0,0,5,5,114,241,5,5,250,215,5,5,117,241,5,5,113,241,5,5,111,241,5,5,116,241,5,5,249,215,5,5,115,241,192,0,0,0,5,5,247,215,192,0,0,0,192,0,0,0,5,5,33,217,5,5,36,217,5,5,66,243,192,0,0,0,5,5,34,217,5,5,65,243,5,5,32,217,5,5,35,217,5,5,194,244,5,5,195,244,5,5,196,244,5,5,203,217,192,0,0,0,5,5,197,244,192,0,0,0,5,5,204,217,5,5,108,218,5,5,18,246,5,5,19,246,5,5,17,246,5,5,16,246,5,5,20,246,5,5,107,218,5,5,20,247,5,5,18,247,5,5,19,247,5,5,21,247,5,5,17,247,5,5,22,247,5,5,235,247,192,0,0,0,5,5,236,247,5,5,234,247,5,5,46,219,5,5,150,248,5,5,117,219,5,5,151,248,5,5,25,249,5,5,24,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,201,5,5,7,210,192,0,0,0,192,0,0,0,5,5,188,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,213,192,0,0,0,192,0,0,0,5,5,252,215,192,0,0,0,5,5,251,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,218,5,5,197,218,5,5,47,219,5,5,137,201,5,5,81,206,5,5,189,211,192,0,0,0,5,5,21,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,221,192,0,0,0,192,0,0,0,5,5,138,201,192,0,0,0,5,5,141,201,5,5,140,201,5,5,139,201,192,0,0,0,192,0,0,0,5,5,132,221,192,0,0,0,5,5,232,222,192,0,0,0,5,5,234,222,5,5,6,203,192,0,0,0,192,0,0,0,5,5,8,203,5,5,231,222,5,5,233,222,5,5,7,203,5,5,236,222,5,5,235,222,5,5,237,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,224,5,5,170,224,5,5,142,204,5,5,169,224,5,5,147,204,5,5,144,204,5,5,141,204,192,0,0,0,5,5,148,204,192,0,0,0,5,5,143,204,5,5,146,204,192,0,0,0,5,5,145,204,5,5,171,224,192,0,0,0,5,5,140,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,206,5,5,188,226,5,5,194,226,5,5,84,206,5,5,91,206,192,0,0,0,5,5,86,206,5,5,191,226,5,5,193,226,5,5,89,206,5,5,187,226,5,5,190,226,5,5,85,206,5,5,82,206,5,5,189,226,5,5,88,206,5,5,192,226,5,5,90,206,5,5,83,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,229,5,5,49,229,5,5,56,208,192,0,0,0,5,5,66,208,5,5,62,208,5,5,47,229,192,0,0,0,192,0,0,0,5,5,70,208,5,5,63,208,5,5,68,208,5,5,58,208,192,0,0,0,5,5,55,208,5,5,57,208,5,5,69,208,5,5,48,229,5,5,61,208,5,5,64,208,5,5,60,208,5,5,65,208,5,5,50,229,5,5,67,208,5,5,59,208,5,5,45,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,231,5,5,8,210,5,5,209,231,192,0,0,0,5,5,10,210,5,5,12,210,192,0,0,0,5,5,208,231,5,5,9,210,5,5,13,210,192,0,0,0,5,5,11,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,211,5,5,124,234,5,5,203,211,5,5,121,234,192,0,0,0,5,5,204,211,5,5,193,211,192,0,0,0,5,5,122,234,192,0,0,0,192,0,0,0,5,5,198,211,192,0,0,0,5,5,123,234,5,5,191,211,5,5,190,211,192,0,0,0,5,5,201,211,5,5,200,211,5,5,199,211,5,5,197,211,5,5,202,211,5,5,120,234,5,5,192,211,5,5,194,211,5,5,196,211,192,0,0,0,192,0,0,0,5,5,80,213,5,5,83,213,192,0,0,0,5,5,87,213,5,5,81,213,5,5,86,213,5,5,84,213,192,0,0,0,5,5,79,213,192,0,0,0,5,5,85,213,5,5,82,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,239,5,5,214,214,5,5,212,214,192,0,0,0,5,5,64,239,192,0,0,0,5,5,215,214,5,5,213,214,5,5,62,239,5,5,61,239,192,0,0,0,5,5,2,216,5,5,60,239,5,5,254,215,5,5,253,215,5,5,118,241,5,5,216,214,5,5,255,215,5,5,119,241,5,5,4,216,5,5,120,241,5,5,3,216,5,5,38,217,5,5,68,243,5,5,37,217,5,5,42,217,5,5,40,217,5,5,41,217,5,5,206,217,5,5,39,217,5,5,67,243,5,5,121,241,5,5,205,217,5,5,207,217,192,0,0,0,5,5,110,218,5,5,111,218,192,0,0,0,5,5,23,247,192,0,0,0,5,5,164,219,5,5,163,219,5,5,143,201,192,0,0,0,192,0,0,0,5,5,183,220,5,5,92,206,192,0,0,0,5,5,180,220,5,5,181,220,5,5,179,220,192,0,0,0,5,5,182,220,192,0,0,0,192,0,0,0,5,5,137,221,5,5,134,221,5,5,139,221,5,5,135,221,5,5,144,201,5,5,147,201,192,0,0,0,5,5,136,221,5,5,146,201,5,5,138,221,192,0,0,0,192,0,0,0,5,5,145,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,222,5,5,242,222,5,5,11,203,5,5,238,222,5,5,241,222,5,5,239,222,5,5,9,203,5,5,12,203,192,0,0,0,5,5,10,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,224,5,5,178,224,5,5,175,224,192,0,0,0,5,5,151,204,192,0,0,0,5,5,152,204,192,0,0,0,5,5,177,224,192,0,0,0,5,5,179,224,5,5,181,224,192,0,0,0,5,5,149,204,5,5,180,224,192,0,0,0,192,0,0,0,5,5,150,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,229,5,5,176,224,5,5,195,226,5,5,204,226,5,5,202,226,5,5,197,226,5,5,198,226,5,5,203,226,5,5,205,226,5,5,94,206,192,0,0,0,5,5,200,226,5,5,196,226,5,5,93,206,5,5,95,206,5,5,199,226,5,5,206,226,5,5,201,226,192,0,0,0,192,0,0,0,5,5,71,208,5,5,60,229,5,5,52,229,5,5,58,229,5,5,59,229,5,5,72,208,192,0,0,0,5,5,51,229,5,5,53,229,5,5,173,224,5,5,55,229,5,5,56,229,5,5,54,229,5,5,15,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,231,5,5,122,241,5,5,217,231,5,5,214,231,5,5,73,208,5,5,17,210,5,5,213,231,5,5,219,231,5,5,218,231,5,5,14,210,5,5,222,231,5,5,212,231,5,5,221,231,5,5,210,231,5,5,220,231,5,5,215,231,5,5,16,210,192,0,0,0,5,5,131,234,192,0,0,0,5,5,126,234,5,5,132,234,5,5,127,234,5,5,125,234,5,5,128,234,5,5,205,211,192,0,0,0,5,5,130,234,192,0,0,0,5,5,129,234,5,5,206,211,5,5,89,213,5,5,88,213,5,5,225,236,5,5,228,236,5,5,220,236,5,5,224,236,5,5,90,213,5,5,223,236,5,5,221,236,5,5,227,236,5,5,222,236,5,5,219,236,5,5,226,236,192,0,0,0,5,5,70,239,5,5,219,214,5,5,198,244,5,5,67,239,5,5,68,239,5,5,66,239,5,5,211,231,5,5,218,214,5,5,71,239,5,5,65,239,5,5,217,214,5,5,220,214,5,5,69,239,5,5,123,241,5,5,5,216,5,5,124,241,5,5,125,241,192,0,0,0,5,5,69,243,5,5,43,217,5,5,199,244,5,5,200,244,192,0,0,0,192,0,0,0,5,5,201,244,5,5,23,246,5,5,22,246,5,5,25,247,192,0,0,0,5,5,24,247,5,5,238,247,5,5,239,247,5,5,237,247,5,5,152,248,5,5,118,219,5,5,148,201,5,5,154,204,5,5,153,204,5,5,98,206,5,5,97,206,5,5,208,226,5,5,209,226,5,5,207,226,192,0,0,0,5,5,96,206,5,5,64,229,192,0,0,0,5,5,65,229,5,5,61,229,5,5,74,208,5,5,62,229,192,0,0,0,5,5,63,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,231,5,5,227,231,5,5,223,231,5,5,226,231,5,5,18,210,5,5,224,231,5,5,19,210,192,0,0,0,192,0,0,0,5,5,148,232,5,5,209,211,5,5,208,211,192,0,0,0,5,5,207,211,192,0,0,0,5,5,133,234,5,5,134,234,192,0,0,0,192,0,0,0,5,5,230,236,5,5,232,236,5,5,94,213,5,5,91,213,192,0,0,0,5,5,93,213,5,5,92,213,5,5,231,236,5,5,229,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,239,5,5,75,239,5,5,76,239,5,5,224,214,5,5,77,239,5,5,72,239,5,5,73,239,5,5,221,214,192,0,0,0,5,5,222,214,5,5,74,239,5,5,223,214,192,0,0,0,5,5,129,241,192,0,0,0,5,5,130,241,5,5,127,241,5,5,128,241,5,5,6,216,5,5,126,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,243,5,5,70,243,5,5,72,243,5,5,46,217,5,5,76,243,5,5,45,217,5,5,74,243,5,5,77,243,5,5,75,243,5,5,71,243,5,5,44,217,192,0,0,0,5,5,203,244,192,0,0,0,5,5,204,244,5,5,202,244,192,0,0,0,5,5,206,244,5,5,208,217,5,5,209,217,5,5,25,246,5,5,113,218,5,5,205,244,5,5,24,246,5,5,112,218,5,5,28,247,5,5,29,247,5,5,230,218,5,5,27,247,192,0,0,0,5,5,26,247,192,0,0,0,5,5,240,247,5,5,48,219,192,0,0,0,5,5,26,249,5,5,119,249,5,5,118,249,192,0,0,0,5,5,200,219,5,5,226,219,5,5,120,249,5,5,223,249,192,0,0,0,5,5,244,219,5,5,149,201,5,5,13,203,192,0,0,0,5,5,210,211,192,0,0,0,5,5,231,218,5,5,150,201,5,5,155,204,5,5,75,208,5,5,20,210,5,5,210,217,5,5,14,203,192,0,0,0,5,5,183,224,5,5,182,224,5,5,210,226,192,0,0,0,5,5,101,206,5,5,99,206,5,5,103,206,5,5,212,226,192,0,0,0,5,5,102,206,5,5,100,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,226,5,5,78,208,5,5,71,229,192,0,0,0,5,5,77,208,5,5,79,208,5,5,76,229,5,5,81,208,5,5,73,229,5,5,74,229,5,5,66,229,5,5,80,208,5,5,77,229,192,0,0,0,192,0,0,0,5,5,68,229,192,0,0,0,5,5,69,229,5,5,67,229,5,5,76,208,192,0,0,0,5,5,75,229,5,5,70,229,5,5,72,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,231,192,0,0,0,5,5,238,231,5,5,236,231,5,5,228,231,5,5,243,231,5,5,231,231,5,5,241,231,5,5,248,231,5,5,240,231,5,5,28,210,192,0,0,0,5,5,24,210,5,5,229,231,192,0,0,0,5,5,235,231,5,5,26,210,192,0,0,0,5,5,234,231,5,5,27,210,5,5,29,210,5,5,237,231,192,0,0,0,5,5,21,210,5,5,22,210,5,5,249,231,5,5,247,231,192,0,0,0,5,5,246,231,5,5,232,231,192,0,0,0,5,5,244,231,192,0,0,0,5,5,25,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,210,5,5,245,231,5,5,230,231,5,5,233,231,5,5,242,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,237,5,5,144,234,192,0,0,0,5,5,137,234,5,5,156,234,5,5,165,234,5,5,140,234,5,5,221,211,192,0,0,0,5,5,153,234,5,5,211,211,5,5,213,211,5,5,225,211,5,5,138,234,192,0,0,0,192,0,0,0,5,5,214,211,5,5,216,211,5,5,226,211,5,5,215,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,211,5,5,146,234,192,0,0,0,5,5,135,234,5,5,222,211,5,5,145,234,5,5,218,211,5,5,163,234,5,5,223,211,5,5,161,234,5,5,149,234,5,5,159,234,5,5,220,211,5,5,136,234,5,5,162,234,5,5,157,234,192,0,0,0,5,5,164,234,5,5,212,211,192,0,0,0,192,0,0,0,5,5,227,211,5,5,217,211,192,0,0,0,192,0,0,0,5,5,142,234,192,0,0,0,5,5,150,234,5,5,154,234,192,0,0,0,5,5,158,234,5,5,219,211,5,5,141,234,5,5,139,234,5,5,151,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,234,5,5,147,234,192,0,0,0,5,5,152,234,5,5,155,234,192,0,0,0,5,5,160,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,236,192,0,0,0,5,5,95,213,5,5,245,236,5,5,237,236,5,5,100,213,5,5,104,213,5,5,254,236,5,5,8,237,5,5,247,236,5,5,96,213,192,0,0,0,5,5,251,236,5,5,143,234,192,0,0,0,5,5,97,213,5,5,4,237,5,5,9,237,5,5,255,236,192,0,0,0,5,5,3,237,5,5,12,237,5,5,5,237,5,5,241,236,5,5,250,236,192,0,0,0,192,0,0,0,5,5,105,213,192,0,0,0,5,5,101,213,5,5,239,236,5,5,252,236,5,5,99,213,5,5,246,236,5,5,98,213,5,5,6,237,5,5,243,236,5,5,236,236,5,5,102,213,5,5,11,237,192,0,0,0,192,0,0,0,5,5,238,236,5,5,2,237,5,5,253,236,5,5,248,236,5,5,234,236,5,5,233,236,5,5,242,236,5,5,7,237,5,5,103,213,5,5,10,237,5,5,240,236,5,5,244,236,5,5,229,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,214,5,5,232,214,5,5,111,239,5,5,108,239,5,5,84,239,5,5,227,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,214,5,5,233,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,239,5,5,231,214,5,5,94,239,5,5,80,239,5,5,81,239,5,5,225,214,5,5,110,239,5,5,235,214,5,5,97,239,5,5,102,239,5,5,96,239,5,5,148,241,5,5,92,239,5,5,100,239,5,5,98,239,5,5,85,239,5,5,79,239,5,5,106,239,5,5,234,214,5,5,107,239,192,0,0,0,5,5,101,239,192,0,0,0,5,5,90,239,5,5,88,239,5,5,83,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,239,5,5,104,239,5,5,87,239,5,5,103,239,5,5,109,239,192,0,0,0,192,0,0,0,5,5,230,214,192,0,0,0,5,5,99,239,5,5,105,239,5,5,95,239,5,5,89,239,5,5,228,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,236,5,5,93,239,5,5,236,214,5,5,86,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,241,5,5,9,216,5,5,153,241,5,5,150,241,5,5,169,241,5,5,13,216,192,0,0,0,5,5,166,241,5,5,158,241,5,5,168,241,5,5,143,241,5,5,156,241,192,0,0,0,5,5,15,216,192,0,0,0,5,5,135,241,192,0,0,0,5,5,133,241,5,5,167,241,192,0,0,0,5,5,165,241,5,5,164,241,5,5,147,241,5,5,146,241,5,5,136,241,5,5,17,216,192,0,0,0,5,5,142,241,5,5,152,241,5,5,163,241,5,5,20,216,5,5,170,241,192,0,0,0,5,5,54,217,5,5,22,216,5,5,16,216,5,5,140,241,192,0,0,0,5,5,149,241,5,5,132,241,5,5,134,241,5,5,7,216,5,5,19,216,5,5,12,216,5,5,141,241,5,5,157,241,5,5,151,241,5,5,18,216,5,5,131,241,5,5,49,217,5,5,159,241,5,5,162,241,5,5,14,216,192,0,0,0,5,5,145,241,5,5,21,216,5,5,11,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,216,5,5,155,241,5,5,161,241,5,5,8,216,192,0,0,0,5,5,138,241,5,5,160,241,192,0,0,0,192,0,0,0,5,5,139,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,241,5,5,83,243,192,0,0,0,5,5,88,243,5,5,51,217,5,5,53,217,5,5,94,243,5,5,47,217,5,5,109,243,5,5,100,243,5,5,89,243,5,5,90,243,5,5,99,243,192,0,0,0,5,5,60,217,5,5,98,243,5,5,82,243,5,5,97,243,5,5,85,243,5,5,110,243,5,5,59,217,5,5,57,217,5,5,86,243,192,0,0,0,5,5,105,243,192,0,0,0,5,5,91,243,5,5,104,243,192,0,0,0,5,5,106,243,5,5,81,243,5,5,52,217,192,0,0,0,5,5,107,243,192,0,0,0,192,0,0,0,5,5,95,243,192,0,0,0,5,5,56,217,5,5,92,243,192,0,0,0,192,0,0,0,5,5,58,217,5,5,101,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,217,5,5,87,243,5,5,102,243,192,0,0,0,5,5,96,243,5,5,137,241,5,5,103,243,5,5,84,243,192,0,0,0,5,5,55,217,192,0,0,0,5,5,108,243,192,0,0,0,5,5,48,217,5,5,79,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,244,5,5,213,244,5,5,212,217,192,0,0,0,5,5,208,244,5,5,223,244,5,5,215,244,5,5,93,243,192,0,0,0,5,5,225,244,5,5,209,244,192,0,0,0,5,5,211,217,5,5,219,244,5,5,213,217,5,5,221,217,5,5,219,217,5,5,221,244,5,5,220,217,5,5,211,244,192,0,0,0,5,5,212,244,5,5,217,244,5,5,222,244,192,0,0,0,5,5,78,243,5,5,214,217,5,5,230,244,5,5,227,244,5,5,231,244,5,5,218,244,5,5,214,244,5,5,228,244,5,5,36,246,5,5,216,244,192,0,0,0,5,5,217,217,192,0,0,0,5,5,216,217,5,5,80,243,5,5,218,217,5,5,224,244,5,5,226,244,5,5,215,217,5,5,229,244,5,5,207,244,192,0,0,0,5,5,210,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,246,192,0,0,0,5,5,29,246,5,5,117,218,5,5,43,246,192,0,0,0,192,0,0,0,5,5,27,246,5,5,118,218,192,0,0,0,5,5,38,246,192,0,0,0,5,5,34,246,5,5,123,218,5,5,44,246,5,5,28,246,5,5,31,246,5,5,115,218,5,5,46,246,192,0,0,0,5,5,39,246,5,5,42,246,5,5,121,218,5,5,126,218,5,5,124,218,5,5,35,246,5,5,30,246,192,0,0,0,5,5,119,218,5,5,120,218,5,5,26,246,5,5,116,218,192,0,0,0,5,5,114,218,5,5,122,218,5,5,41,246,5,5,125,218,192,0,0,0,5,5,37,246,5,5,47,246,5,5,127,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,246,192,0,0,0,5,5,40,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,247,5,5,56,247,5,5,44,247,5,5,51,247,5,5,32,246,5,5,49,247,5,5,32,247,5,5,54,247,5,5,234,218,5,5,36,247,5,5,53,247,5,5,43,247,192,0,0,0,192,0,0,0,5,5,233,218,192,0,0,0,192,0,0,0,5,5,58,247,5,5,45,247,192,0,0,0,5,5,50,247,5,5,52,247,5,5,30,247,5,5,55,247,5,5,41,247,5,5,46,247,5,5,34,247,5,5,38,247,5,5,57,247,5,5,48,247,5,5,31,247,5,5,35,247,5,5,37,247,5,5,47,247,192,0,0,0,5,5,232,218,5,5,40,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,247,5,5,244,247,5,5,249,247,5,5,55,219,5,5,251,247,192,0,0,0,5,5,49,219,192,0,0,0,5,5,247,247,5,5,253,247,5,5,54,219,5,5,50,219,192,0,0,0,5,5,51,219,5,5,243,247,5,5,250,247,5,5,53,219,5,5,248,247,5,5,52,219,5,5,242,247,5,5,246,247,5,5,245,247,192,0,0,0,5,5,241,247,5,5,252,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,219,5,5,159,248,5,5,162,248,5,5,158,248,5,5,160,248,5,5,161,248,5,5,155,248,5,5,156,248,5,5,153,248,192,0,0,0,192,0,0,0,5,5,157,248,5,5,154,248,5,5,120,219,5,5,121,219,192,0,0,0,192,0,0,0,5,5,28,249,192,0,0,0,5,5,30,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,249,5,5,31,249,192,0,0,0,5,5,166,219,192,0,0,0,5,5,27,249,5,5,165,219,5,5,167,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,249,5,5,123,249,5,5,201,219,5,5,121,249,192,0,0,0,5,5,193,249,5,5,192,249,5,5,194,249,5,5,228,219,5,5,195,249,5,5,227,219,5,5,196,249,5,5,224,249,5,5,227,249,5,5,226,249,5,5,237,219,5,5,225,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,219,5,5,245,219,5,5,246,219,5,5,252,219,5,5,14,250,5,5,15,250,5,5,13,250,5,5,23,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,203,192,0,0,0,192,0,0,0,5,5,78,229,5,5,250,231,5,5,112,239,5,5,48,246,192,0,0,0,192,0,0,0,5,5,16,203,192,0,0,0,5,5,156,204,5,5,104,206,192,0,0,0,192,0,0,0,5,5,79,229,192,0,0,0,5,5,80,229,5,5,82,208,192,0,0,0,5,5,32,210,5,5,252,231,5,5,251,231,5,5,36,210,5,5,31,210,5,5,253,231,5,5,33,210,5,5,35,210,5,5,34,210,5,5,30,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,211,192,0,0,0,192,0,0,0,5,5,169,234,5,5,167,234,192,0,0,0,5,5,168,234,5,5,166,234,192,0,0,0,5,5,106,213,192,0,0,0,5,5,109,213,5,5,111,213,5,5,110,213,192,0,0,0,192,0,0,0,5,5,107,213,5,5,108,213,192,0,0,0,5,5,114,239,5,5,113,239,5,5,238,214,5,5,115,239,192,0,0,0,5,5,116,239,5,5,239,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,241,5,5,176,241,5,5,116,243,192,0,0,0,5,5,174,241,5,5,175,241,5,5,23,216,5,5,171,241,5,5,179,241,5,5,173,241,5,5,177,241,5,5,112,243,192,0,0,0,192,0,0,0,5,5,114,243,192,0,0,0,5,5,115,243,5,5,65,217,5,5,111,243,5,5,64,217,5,5,113,243,5,5,61,217,5,5,62,217,5,5,63,217,5,5,172,241,192,0,0,0,192,0,0,0,5,5,224,217,5,5,234,244,5,5,232,244,5,5,233,244,5,5,222,217,5,5,225,217,5,5,223,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,246,5,5,50,246,5,5,128,218,192,0,0,0,5,5,59,247,5,5,61,247,5,5,60,247,5,5,235,218,5,5,56,219,5,5,2,248,5,5,255,247,5,5,254,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,203,192,0,0,0,5,5,77,220,192,0,0,0,5,5,186,220,5,5,134,200,5,5,184,220,5,5,187,220,5,5,185,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,221,192,0,0,0,5,5,154,201,192,0,0,0,5,5,155,201,5,5,143,221,5,5,152,201,5,5,142,221,5,5,140,221,5,5,153,201,5,5,151,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,222,5,5,246,222,5,5,20,203,5,5,245,222,5,5,244,222,192,0,0,0,5,5,19,203,5,5,18,203,192,0,0,0,5,5,22,203,5,5,247,222,5,5,21,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,224,5,5,158,204,5,5,159,204,5,5,160,204,5,5,189,224,5,5,185,224,5,5,157,204,5,5,186,224,192,0,0,0,5,5,187,224,5,5,184,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,206,192,0,0,0,192,0,0,0,5,5,108,206,5,5,213,226,5,5,109,206,5,5,112,206,5,5,214,226,192,0,0,0,5,5,107,206,5,5,105,206,5,5,106,206,5,5,110,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,208,5,5,83,229,5,5,91,208,5,5,82,229,192,0,0,0,5,5,85,229,5,5,87,208,5,5,84,229,5,5,44,210,5,5,85,208,5,5,88,208,5,5,84,208,5,5,89,208,5,5,90,208,5,5,86,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,229,5,5,40,210,5,5,255,231,192,0,0,0,5,5,5,232,192,0,0,0,192,0,0,0,5,5,4,232,5,5,45,210,5,5,41,210,5,5,42,210,5,5,254,231,5,5,2,232,5,5,3,232,5,5,37,210,5,5,39,210,192,0,0,0,5,5,43,210,5,5,38,210,192,0,0,0,192,0,0,0,5,5,172,234,5,5,170,234,5,5,171,234,5,5,230,211,5,5,231,211,192,0,0,0,5,5,173,234,5,5,229,211,5,5,112,213,192,0,0,0,5,5,114,213,5,5,113,213,192,0,0,0,5,5,14,237,192,0,0,0,192,0,0,0,5,5,15,237,5,5,118,239,192,0,0,0,5,5,117,239,192,0,0,0,192,0,0,0,5,5,24,216,5,5,25,216,5,5,180,241,5,5,26,216,192,0,0,0,5,5,119,243,192,0,0,0,5,5,117,243,192,0,0,0,5,5,118,243,5,5,66,217,192,0,0,0,5,5,235,244,5,5,129,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,217,5,5,23,203,192,0,0,0,5,5,113,206,5,5,215,226,192,0,0,0,192,0,0,0,5,5,86,229,5,5,92,208,5,5,46,210,5,5,6,232,5,5,8,232,5,5,48,210,5,5,47,210,5,5,49,210,5,5,50,210,5,5,7,232,5,5,234,211,5,5,235,211,5,5,233,211,5,5,115,213,5,5,232,211,5,5,174,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,213,5,5,119,239,5,5,181,241,5,5,27,216,5,5,68,217,5,5,236,244,5,5,240,244,5,5,228,217,5,5,237,244,5,5,229,217,5,5,227,217,5,5,241,244,5,5,230,217,5,5,239,244,192,0,0,0,5,5,51,246,5,5,226,217,5,5,130,218,192,0,0,0,5,5,124,249,192,0,0,0,192,0,0,0,5,5,24,203,5,5,94,208,5,5,93,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,210,5,5,10,232,5,5,9,232,5,5,52,210,192,0,0,0,192,0,0,0,5,5,178,234,5,5,239,211,5,5,236,211,5,5,177,234,5,5,238,211,5,5,175,234,5,5,237,211,192,0,0,0,5,5,176,234,192,0,0,0,5,5,16,237,5,5,117,213,192,0,0,0,5,5,122,239,192,0,0,0,5,5,240,214,5,5,120,239,5,5,241,214,5,5,242,214,5,5,121,239,5,5,243,214,192,0,0,0,5,5,182,241,192,0,0,0,5,5,31,216,5,5,28,216,5,5,33,216,5,5,184,241,5,5,29,216,5,5,183,241,5,5,32,216,192,0,0,0,192,0,0,0,5,5,30,216,192,0,0,0,5,5,122,243,5,5,124,243,192,0,0,0,192,0,0,0,5,5,69,217,5,5,123,243,5,5,70,217,5,5,121,243,5,5,120,243,192,0,0,0,5,5,243,244,5,5,242,244,5,5,231,217,5,5,244,244,5,5,56,246,5,5,132,218,5,5,55,246,5,5,52,246,5,5,131,218,5,5,53,246,5,5,54,246,192,0,0,0,5,5,62,247,5,5,63,247,5,5,236,218,192,0,0,0,5,5,59,219,192,0,0,0,192,0,0,0,5,5,3,248,192,0,0,0,192,0,0,0,5,5,57,219,5,5,58,219,5,5,4,248,192,0,0,0,192,0,0,0,5,5,122,219,5,5,123,219,5,5,163,248,192,0,0,0,192,0,0,0,5,5,202,219,5,5,126,249,5,5,204,219,192,0,0,0,5,5,125,249,5,5,127,249,5,5,203,219,5,5,197,249,192,0,0,0,5,5,249,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,211,192,0,0,0,5,5,17,237,192,0,0,0,5,5,123,239,5,5,34,216,5,5,35,216,192,0,0,0,5,5,26,203,192,0,0,0,5,5,244,214,5,5,133,218,5,5,161,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,216,192,0,0,0,5,5,168,219,5,5,162,204,5,5,87,229,192,0,0,0,5,5,11,232,192,0,0,0,5,5,13,232,192,0,0,0,5,5,12,232,192,0,0,0,5,5,182,234,5,5,179,234,5,5,241,211,192,0,0,0,5,5,242,211,5,5,180,234,5,5,181,234,192,0,0,0,5,5,19,237,5,5,24,237,5,5,118,213,5,5,18,237,5,5,20,237,5,5,27,237,5,5,22,237,5,5,26,237,5,5,23,237,5,5,21,237,5,5,25,237,5,5,119,213,192,0,0,0,192,0,0,0,5,5,126,239,192,0,0,0,5,5,124,239,5,5,246,214,192,0,0,0,5,5,245,214,5,5,125,239,5,5,247,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,241,192,0,0,0,192,0,0,0,5,5,186,241,5,5,37,216,5,5,185,241,5,5,125,243,192,0,0,0,5,5,127,243,5,5,129,243,5,5,128,243,192,0,0,0,5,5,71,217,5,5,126,243,5,5,251,244,5,5,232,217,5,5,249,244,5,5,252,244,5,5,233,217,192,0,0,0,5,5,247,244,192,0,0,0,5,5,250,244,5,5,248,244,5,5,245,244,5,5,234,217,5,5,246,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,246,192,0,0,0,192,0,0,0,5,5,59,246,5,5,58,246,192,0,0,0,5,5,64,247,192,0,0,0,5,5,65,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,248,192,0,0,0,5,5,125,219,192,0,0,0,5,5,124,219,5,5,32,249,5,5,33,249,5,5,205,219,5,5,128,249,192,0,0,0,5,5,238,219,192,0,0,0,5,5,163,204,5,5,53,210,5,5,29,237,5,5,28,237,5,5,128,239,5,5,127,239,192,0,0,0,192,0,0,0,5,5,72,217,5,5,131,243,5,5,130,243,5,5,255,244,5,5,253,244,5,5,2,245,5,5,254,244,192,0,0,0,192,0,0,0,5,5,134,218,5,5,60,246,5,5,61,246,5,5,62,246,192,0,0,0,5,5,6,248,192,0,0,0,5,5,164,248,192,0,0,0,5,5,129,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,204,192,0,0,0,192,0,0,0,5,5,188,241,5,5,132,243,192,0,0,0,5,5,165,204,192,0,0,0,192,0,0,0,5,5,120,213,192,0,0,0,5,5,189,241,5,5,235,217,5,5,3,245,5,5,135,218,192,0,0,0,5,5,66,247,5,5,67,247,5,5,60,219,5,5,34,249,5,5,166,204,5,5,97,208,5,5,98,208,5,5,88,229,5,5,54,210,5,5,55,210,5,5,14,232,5,5,56,210,192,0,0,0,5,5,246,211,192,0,0,0,5,5,248,211,5,5,184,234,5,5,185,234,5,5,183,234,5,5,243,211,5,5,244,211,5,5,247,211,5,5,245,211,192,0,0,0,192,0,0,0,5,5,30,237,5,5,121,213,5,5,122,213,192,0,0,0,192,0,0,0,5,5,135,239,5,5,250,214,5,5,130,239,5,5,129,239,192,0,0,0,5,5,134,239,5,5,248,214,192,0,0,0,192,0,0,0,5,5,44,216,192,0,0,0,5,5,131,239,5,5,136,239,5,5,133,239,5,5,132,239,192,0,0,0,5,5,249,214,192,0,0,0,5,5,42,216,192,0,0,0,5,5,191,241,5,5,38,216,192,0,0,0,5,5,192,241,192,0,0,0,192,0,0,0,5,5,190,241,192,0,0,0,5,5,41,216,5,5,39,216,5,5,43,216,192,0,0,0,5,5,40,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,243,192,0,0,0,5,5,138,243,5,5,134,243,5,5,137,243,5,5,73,217,192,0,0,0,5,5,182,242,5,5,136,243,5,5,135,243,192,0,0,0,5,5,238,217,5,5,236,217,5,5,239,217,5,5,237,217,5,5,4,245,5,5,5,245,5,5,6,245,5,5,240,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,246,5,5,137,218,5,5,64,246,192,0,0,0,5,5,138,218,5,5,63,246,5,5,65,246,5,5,136,218,5,5,71,247,5,5,68,247,192,0,0,0,5,5,69,247,5,5,70,247,5,5,7,248,5,5,62,219,192,0,0,0,5,5,61,219,192,0,0,0,5,5,166,248,5,5,165,248,5,5,126,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,219,5,5,206,219,5,5,229,219,5,5,198,249,5,5,250,249,5,5,251,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,204,5,5,15,232,192,0,0,0,192,0,0,0,5,5,186,234,5,5,31,237,5,5,32,237,5,5,123,213,192,0,0,0,5,5,124,213,5,5,137,239,5,5,251,214,192,0,0,0,192,0,0,0,5,5,74,217,192,0,0,0,5,5,7,245,192,0,0,0,5,5,241,217,5,5,69,246,5,5,139,218,5,5,68,246,5,5,70,246,5,5,67,246,5,5,10,248,5,5,72,247,5,5,73,247,192,0,0,0,5,5,237,218,192,0,0,0,5,5,9,248,192,0,0,0,192,0,0,0,5,5,8,248,192,0,0,0,5,5,167,248,5,5,252,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,204,192,0,0,0,192,0,0,0,5,5,114,206,5,5,216,226,192,0,0,0,5,5,89,229,192,0,0,0,5,5,57,210,192,0,0,0,5,5,60,210,5,5,58,210,5,5,16,232,192,0,0,0,5,5,62,210,192,0,0,0,5,5,59,210,192,0,0,0,192,0,0,0,5,5,61,210,192,0,0,0,5,5,250,211,192,0,0,0,5,5,187,234,192,0,0,0,192,0,0,0,5,5,188,234,5,5,139,239,192,0,0,0,5,5,249,211,5,5,251,211,5,5,252,211,192,0,0,0,5,5,34,237,192,0,0,0,5,5,33,237,5,5,125,213,192,0,0,0,5,5,126,213,192,0,0,0,5,5,35,237,5,5,138,239,5,5,128,213,5,5,252,214,192,0,0,0,5,5,127,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,216,5,5,140,239,5,5,254,214,5,5,253,214,5,5,141,239,5,5,144,239,5,5,142,239,5,5,143,239,5,5,255,214,192,0,0,0,5,5,50,216,5,5,48,216,192,0,0,0,192,0,0,0,5,5,47,216,5,5,194,241,192,0,0,0,5,5,49,216,192,0,0,0,192,0,0,0,5,5,193,241,5,5,139,243,192,0,0,0,5,5,195,241,5,5,46,216,5,5,196,241,5,5,142,243,5,5,140,243,5,5,141,243,5,5,146,243,5,5,245,217,5,5,145,243,5,5,148,243,5,5,147,243,5,5,144,243,5,5,143,243,192,0,0,0,5,5,75,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,245,192,0,0,0,5,5,9,245,5,5,244,217,5,5,242,217,5,5,243,217,192,0,0,0,5,5,8,245,192,0,0,0,5,5,73,246,192,0,0,0,5,5,140,218,192,0,0,0,5,5,72,246,5,5,71,246,5,5,141,218,192,0,0,0,5,5,78,247,5,5,77,247,192,0,0,0,5,5,75,247,192,0,0,0,5,5,74,247,5,5,239,218,5,5,238,218,5,5,79,247,5,5,168,248,5,5,127,219,5,5,12,248,5,5,63,219,5,5,11,248,5,5,76,247,192,0,0,0,5,5,169,248,5,5,170,219,192,0,0,0,5,5,230,219,5,5,199,249,192,0,0,0,5,5,253,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,204,5,5,90,229,5,5,149,243,5,5,171,204,192,0,0,0,192,0,0,0,5,5,37,237,5,5,36,237,5,5,197,241,192,0,0,0,192,0,0,0,5,5,151,243,192,0,0,0,5,5,150,243,192,0,0,0,5,5,246,217,5,5,74,246,5,5,75,246,5,5,240,218,192,0,0,0,192,0,0,0,5,5,254,249,5,5,115,206,5,5,64,210,5,5,63,210,5,5,189,234,5,5,191,234,5,5,254,211,5,5,190,234,5,5,253,211,5,5,255,211,5,5,192,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,237,5,5,41,237,5,5,40,237,192,0,0,0,5,5,43,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,213,5,5,42,237,5,5,38,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,237,192,0,0,0,5,5,151,239,192,0,0,0,5,5,154,239,5,5,156,239,5,5,146,239,5,5,150,239,5,5,147,239,5,5,3,215,5,5,6,215,5,5,8,215,5,5,148,239,5,5,149,239,5,5,7,215,5,5,152,239,5,5,155,239,5,5,153,239,5,5,9,215,192,0,0,0,5,5,5,215,5,5,145,239,5,5,2,215,192,0,0,0,5,5,4,215,192,0,0,0,192,0,0,0,5,5,52,216,5,5,203,241,5,5,201,241,5,5,200,241,192,0,0,0,5,5,206,241,192,0,0,0,5,5,205,241,5,5,204,241,192,0,0,0,5,5,199,241,5,5,51,216,5,5,198,241,192,0,0,0,5,5,202,241,5,5,53,216,192,0,0,0,192,0,0,0,5,5,154,243,192,0,0,0,5,5,158,243,5,5,155,243,5,5,157,243,5,5,156,243,5,5,153,243,5,5,159,243,5,5,162,243,5,5,160,243,5,5,161,243,5,5,77,217,192,0,0,0,5,5,76,217,5,5,152,243,5,5,163,243,5,5,15,245,5,5,18,245,5,5,20,245,5,5,19,245,192,0,0,0,5,5,13,245,5,5,17,245,5,5,12,245,192,0,0,0,5,5,14,245,5,5,247,217,5,5,11,245,192,0,0,0,5,5,16,245,192,0,0,0,192,0,0,0,5,5,88,246,5,5,77,246,5,5,142,218,192,0,0,0,192,0,0,0,5,5,143,218,5,5,76,246,5,5,81,246,5,5,87,246,5,5,79,246,5,5,86,246,192,0,0,0,5,5,83,246,192,0,0,0,5,5,82,246,5,5,85,246,5,5,80,246,5,5,78,246,192,0,0,0,5,5,84,246,192,0,0,0,5,5,86,247,5,5,84,247,5,5,241,218,5,5,83,247,5,5,89,247,5,5,87,247,192,0,0,0,5,5,242,218,5,5,82,247,5,5,80,247,192,0,0,0,5,5,81,247,5,5,244,218,5,5,85,247,5,5,243,218,5,5,88,247,5,5,13,248,5,5,19,248,192,0,0,0,192,0,0,0,5,5,14,248,5,5,67,219,5,5,20,248,5,5,66,219,5,5,18,248,5,5,17,248,5,5,65,219,5,5,16,248,5,5,64,219,5,5,15,248,192,0,0,0,5,5,175,248,5,5,177,248,5,5,176,248,192,0,0,0,5,5,173,248,5,5,129,219,5,5,170,248,5,5,174,248,5,5,179,248,192,0,0,0,5,5,178,248,5,5,171,248,5,5,172,248,5,5,128,219,5,5,35,249,5,5,173,219,192,0,0,0,5,5,36,249,5,5,171,219,5,5,172,219,192,0,0,0,192,0,0,0,5,5,130,249,5,5,207,219,5,5,228,249,192,0,0,0,5,5,239,219,192,0,0,0,5,5,255,249,5,5,240,219,5,5,2,250,5,5,3,250,5,5,17,250,5,5,16,250,5,5,255,219,5,5,27,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,206,192,0,0,0,192,0,0,0,5,5,194,234,192,0,0,0,5,5,193,234,192,0,0,0,5,5,130,213,5,5,131,213,5,5,45,237,192,0,0,0,5,5,157,239,5,5,209,241,192,0,0,0,192,0,0,0,5,5,10,215,5,5,54,216,5,5,207,241,192,0,0,0,5,5,210,241,5,5,55,216,192,0,0,0,5,5,164,243,5,5,208,241,5,5,21,245,5,5,248,217,5,5,89,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,247,5,5,90,247,192,0,0,0,192,0,0,0,5,5,91,247,192,0,0,0,192,0,0,0,5,5,21,248,192,0,0,0,5,5,68,219,5,5,180,248,5,5,176,219,5,5,130,219,5,5,174,219,5,5,175,219,5,5,131,249,5,5,231,219,192,0,0,0,5,5,117,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,245,192,0,0,0,192,0,0,0,5,5,217,226,192,0,0,0,5,5,2,212,192,0,0,0,5,5,46,237,192,0,0,0,192,0,0,0,5,5,132,213,5,5,47,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,239,5,5,158,239,5,5,57,216,5,5,11,215,5,5,12,215,192,0,0,0,5,5,162,239,5,5,161,239,5,5,160,239,192,0,0,0,192,0,0,0,5,5,211,241,5,5,214,241,192,0,0,0,5,5,213,241,5,5,212,241,5,5,56,216,5,5,168,243,5,5,166,243,5,5,165,243,192,0,0,0,192,0,0,0,5,5,167,243,192,0,0,0,5,5,249,217,5,5,24,245,5,5,25,245,5,5,250,217,192,0,0,0,5,5,23,245,192,0,0,0,5,5,91,246,5,5,90,246,5,5,93,246,5,5,144,218,5,5,92,246,192,0,0,0,5,5,93,247,5,5,95,247,5,5,94,247,192,0,0,0,192,0,0,0,5,5,22,248,5,5,25,248,5,5,23,248,5,5,24,248,5,5,181,248,5,5,131,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,249,5,5,38,249,5,5,39,249,192,0,0,0,5,5,208,219,5,5,232,219,5,5,4,250,5,5,118,206,192,0,0,0,5,5,13,215,5,5,58,216,5,5,26,245,192,0,0,0,5,5,182,248,192,0,0,0,192,0,0,0,5,5,18,250,5,5,218,226,192,0,0,0,5,5,2,220,5,5,119,206,5,5,215,241,192,0,0,0,5,5,27,245,192,0,0,0,5,5,94,246,192,0,0,0,192,0,0,0,5,5,26,248,5,5,183,248,5,5,120,206,192,0,0,0,5,5,48,237,5,5,49,237,192,0,0,0,5,5,133,213,5,5,134,213,5,5,164,239,5,5,15,215,5,5,14,215,5,5,163,239,192,0,0,0,5,5,169,243,192,0,0,0,5,5,28,245,5,5,30,245,5,5,29,245,5,5,253,217,5,5,252,217,5,5,251,217,192,0,0,0,5,5,70,219,5,5,27,248,192,0,0,0,5,5,69,219,5,5,185,248,5,5,184,248,192,0,0,0,5,5,209,219,5,5,132,249,5,5,99,208,5,5,195,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,237,5,5,50,237,5,5,51,237,192,0,0,0,192,0,0,0,5,5,173,239,192,0,0,0,5,5,168,239,5,5,165,239,5,5,172,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,239,192,0,0,0,192,0,0,0,5,5,17,215,5,5,171,239,5,5,167,239,192,0,0,0,192,0,0,0,5,5,166,239,5,5,170,239,5,5,169,239,5,5,16,215,192,0,0,0,192,0,0,0,5,5,226,241,5,5,221,241,5,5,219,241,5,5,228,241,5,5,220,241,192,0,0,0,5,5,216,241,192,0,0,0,5,5,222,241,192,0,0,0,192,0,0,0,5,5,217,241,5,5,178,243,5,5,218,241,5,5,229,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,241,5,5,59,216,5,5,224,241,5,5,223,241,192,0,0,0,5,5,227,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,243,5,5,173,243,192,0,0,0,192,0,0,0,5,5,172,243,192,0,0,0,5,5,180,243,5,5,175,243,5,5,179,243,192,0,0,0,5,5,177,243,5,5,176,243,5,5,174,243,192,0,0,0,5,5,171,243,192,0,0,0,5,5,80,217,5,5,79,217,192,0,0,0,5,5,81,217,5,5,78,217,5,5,181,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,245,5,5,39,245,192,0,0,0,5,5,37,245,5,5,41,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,245,192,0,0,0,5,5,34,245,5,5,4,218,5,5,35,245,192,0,0,0,5,5,33,245,5,5,40,245,192,0,0,0,5,5,32,245,5,5,31,245,5,5,3,218,5,5,255,217,5,5,254,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,245,5,5,103,246,5,5,109,246,5,5,147,218,5,5,104,246,192,0,0,0,5,5,107,246,5,5,111,246,5,5,148,218,5,5,106,246,192,0,0,0,5,5,98,246,192,0,0,0,5,5,97,246,5,5,110,246,5,5,101,246,192,0,0,0,5,5,99,246,5,5,108,246,5,5,100,246,5,5,146,218,5,5,145,218,192,0,0,0,5,5,95,246,5,5,96,246,5,5,105,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,247,5,5,101,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,247,5,5,105,247,5,5,103,247,5,5,97,247,5,5,108,247,192,0,0,0,5,5,96,247,192,0,0,0,5,5,246,218,5,5,104,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,247,5,5,245,218,5,5,107,247,192,0,0,0,192,0,0,0,5,5,106,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,248,5,5,29,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,248,192,0,0,0,5,5,32,248,5,5,35,248,5,5,72,219,192,0,0,0,192,0,0,0,5,5,33,248,5,5,34,248,192,0,0,0,5,5,28,248,5,5,31,248,5,5,71,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,219,5,5,196,248,5,5,191,248,5,5,195,248,192,0,0,0,5,5,198,248,5,5,194,248,192,0,0,0,5,5,190,248,192,0,0,0,5,5,135,219,5,5,193,248,5,5,197,248,5,5,134,219,5,5,188,248,5,5,102,247,5,5,192,248,192,0,0,0,192,0,0,0,5,5,189,248,192,0,0,0,5,5,186,248,192,0,0,0,5,5,187,248,5,5,132,219,5,5,43,249,5,5,45,249,5,5,48,249,5,5,44,249,5,5,49,249,192,0,0,0,5,5,42,249,192,0,0,0,5,5,40,249,192,0,0,0,5,5,177,219,5,5,46,249,5,5,179,219,5,5,178,219,5,5,41,249,5,5,47,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,249,5,5,210,219,5,5,138,249,192,0,0,0,5,5,136,249,5,5,133,249,192,0,0,0,192,0,0,0,5,5,135,249,5,5,134,249,5,5,200,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,249,5,5,201,249,192,0,0,0,192,0,0,0,5,5,231,249,192,0,0,0,5,5,230,249,5,5,229,249,5,5,232,249,192,0,0,0,5,5,248,219,5,5,249,219,5,5,24,250,5,5,28,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,208,5,5,17,232,5,5,198,234,192,0,0,0,5,5,3,212,5,5,196,234,192,0,0,0,192,0,0,0,5,5,197,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,237,5,5,54,237,5,5,137,213,5,5,135,213,5,5,55,237,5,5,136,213,5,5,179,239,192,0,0,0,5,5,182,239,5,5,176,239,5,5,183,239,5,5,175,239,5,5,177,239,192,0,0,0,5,5,178,239,5,5,181,239,192,0,0,0,192,0,0,0,5,5,20,215,5,5,186,239,5,5,185,239,5,5,18,215,5,5,180,239,5,5,184,239,5,5,19,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,241,192,0,0,0,5,5,64,216,192,0,0,0,5,5,234,241,5,5,60,216,192,0,0,0,5,5,231,241,5,5,237,241,5,5,240,241,192,0,0,0,5,5,65,216,192,0,0,0,5,5,236,241,5,5,233,241,5,5,241,241,5,5,232,241,192,0,0,0,5,5,238,241,5,5,61,216,192,0,0,0,5,5,230,241,5,5,62,216,192,0,0,0,5,5,63,216,5,5,235,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,243,5,5,186,243,5,5,187,243,5,5,190,243,5,5,188,243,192,0,0,0,5,5,182,243,192,0,0,0,192,0,0,0,5,5,185,243,5,5,195,243,5,5,189,243,192,0,0,0,192,0,0,0,5,5,82,217,192,0,0,0,5,5,197,243,5,5,194,243,5,5,83,217,5,5,196,243,5,5,183,243,5,5,192,243,5,5,193,243,192,0,0,0,5,5,191,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,245,5,5,48,245,5,5,51,245,192,0,0,0,192,0,0,0,5,5,45,245,192,0,0,0,5,5,5,218,5,5,53,245,5,5,44,245,5,5,54,245,192,0,0,0,5,5,50,245,5,5,52,245,5,5,56,245,5,5,49,245,5,5,57,245,5,5,47,245,5,5,43,245,5,5,6,218,192,0,0,0,5,5,55,245,5,5,7,218,5,5,150,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,243,5,5,137,246,5,5,128,246,5,5,152,218,5,5,124,246,5,5,153,218,192,0,0,0,192,0,0,0,5,5,133,246,5,5,127,246,5,5,117,246,5,5,151,218,5,5,130,246,5,5,125,246,5,5,126,246,192,0,0,0,5,5,112,246,5,5,119,246,5,5,134,246,192,0,0,0,5,5,131,246,192,0,0,0,5,5,123,246,192,0,0,0,5,5,135,246,5,5,118,246,5,5,113,246,5,5,132,246,192,0,0,0,5,5,115,246,5,5,129,246,5,5,120,246,5,5,136,246,5,5,116,246,5,5,149,218,5,5,114,246,5,5,121,246,5,5,122,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,247,192,0,0,0,5,5,113,247,192,0,0,0,5,5,118,247,192,0,0,0,5,5,130,247,5,5,121,247,5,5,114,247,5,5,110,247,5,5,123,247,5,5,116,247,5,5,119,247,5,5,112,247,5,5,126,247,5,5,109,247,5,5,117,247,5,5,122,247,5,5,124,247,5,5,127,247,5,5,111,247,192,0,0,0,5,5,131,247,5,5,132,247,5,5,125,247,5,5,129,247,5,5,120,247,192,0,0,0,5,5,52,248,5,5,55,248,192,0,0,0,5,5,73,219,192,0,0,0,5,5,54,248,5,5,59,248,5,5,57,248,5,5,74,219,5,5,48,248,5,5,38,248,5,5,37,248,5,5,76,219,5,5,50,248,5,5,51,248,5,5,47,248,5,5,39,248,192,0,0,0,5,5,44,248,5,5,128,247,192,0,0,0,5,5,40,248,5,5,75,219,5,5,46,248,192,0,0,0,5,5,45,248,192,0,0,0,5,5,41,248,5,5,53,248,192,0,0,0,5,5,42,248,5,5,203,248,5,5,56,248,5,5,58,248,5,5,49,248,5,5,43,248,5,5,204,248,5,5,206,248,5,5,200,248,5,5,136,219,192,0,0,0,5,5,213,248,5,5,211,248,5,5,137,219,5,5,210,248,5,5,209,248,5,5,202,248,5,5,199,248,5,5,205,248,5,5,214,248,5,5,201,248,5,5,207,248,192,0,0,0,5,5,58,249,5,5,63,249,5,5,53,249,5,5,56,249,5,5,180,219,5,5,60,249,192,0,0,0,5,5,67,249,5,5,208,248,192,0,0,0,5,5,54,249,5,5,64,249,5,5,68,249,5,5,59,249,5,5,52,249,5,5,62,249,192,0,0,0,5,5,61,249,5,5,66,249,5,5,65,249,5,5,212,248,5,5,57,249,5,5,51,249,5,5,55,249,5,5,211,219,5,5,212,219,5,5,50,249,192,0,0,0,5,5,149,249,5,5,140,249,5,5,148,249,5,5,145,249,5,5,146,249,5,5,139,249,5,5,142,249,5,5,150,249,5,5,144,249,5,5,143,249,5,5,141,249,192,0,0,0,5,5,147,249,192,0,0,0,5,5,203,249,192,0,0,0,5,5,204,249,192,0,0,0,5,5,206,249,5,5,205,249,5,5,208,249,5,5,207,249,5,5,234,249,5,5,233,249,5,5,5,250,192,0,0,0,5,5,6,250,192,0,0,0,5,5,19,250,5,5,253,219,5,5,3,220,192,0,0,0,5,5,29,250,5,5,4,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,218,5,5,60,248,192,0,0,0,5,5,213,219,5,5,214,219,192,0,0,0,5,5,102,208,5,5,199,234,192,0,0,0,5,5,4,212,5,5,187,239,192,0,0,0,192,0,0,0,5,5,243,241,5,5,244,241,5,5,242,241,5,5,201,243,5,5,200,243,5,5,84,217,5,5,59,245,5,5,202,243,5,5,58,245,192,0,0,0,192,0,0,0,5,5,139,246,5,5,154,218,5,5,156,218,5,5,138,246,192,0,0,0,192,0,0,0,5,5,155,218,192,0,0,0,5,5,133,247,5,5,135,247,5,5,134,247,5,5,61,248,5,5,77,219,192,0,0,0,5,5,181,219,5,5,151,249,5,5,209,249,192,0,0,0,192,0,0,0,5,5,32,250,5,5,103,208,192,0,0,0,5,5,56,237,192,0,0,0,5,5,21,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,241,5,5,245,241,192,0,0,0,5,5,203,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,218,5,5,248,218,5,5,215,248,5,5,25,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,208,5,5,138,213,192,0,0,0,5,5,22,215,192,0,0,0,5,5,140,246,192,0,0,0,5,5,69,249,5,5,65,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,219,5,5,66,210,5,5,23,215,5,5,85,217,5,5,70,249,5,5,67,210,192,0,0,0,5,5,188,239,5,5,67,216,5,5,247,241,5,5,248,241,192,0,0,0,5,5,66,216,192,0,0,0,5,5,205,243,5,5,89,217,5,5,87,217,5,5,88,217,5,5,86,217,5,5,60,245,5,5,8,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,247,5,5,136,247,5,5,139,247,5,5,138,247,5,5,249,218,192,0,0,0,192,0,0,0,5,5,62,248,192,0,0,0,5,5,64,248,5,5,63,248,5,5,78,219,5,5,216,248,192,0,0,0,5,5,71,249,5,5,72,249,5,5,182,219,5,5,210,249,5,5,235,249,5,5,250,219,192,0,0,0,5,5,18,232,5,5,249,241,5,5,206,243,5,5,141,246,5,5,200,234,192,0,0,0,5,5,207,243,5,5,62,245,5,5,61,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,249,5,5,215,219,192,0,0,0,5,5,211,249,5,5,236,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,212,5,5,189,239,5,5,190,239,192,0,0,0,5,5,250,241,5,5,6,212,192,0,0,0,5,5,9,218,5,5,63,245,192,0,0,0,5,5,66,248,5,5,79,219,5,5,67,248,5,5,65,248,5,5,74,249,192,0,0,0,5,5,152,249,192,0,0,0,5,5,7,212,192,0,0,0,5,5,210,243,5,5,209,243,5,5,208,243,5,5,64,245,192,0,0,0,192,0,0,0,5,5,68,245,5,5,67,245,5,5,66,245,5,5,65,245,5,5,10,218,5,5,142,246,5,5,141,247,5,5,250,218,5,5,140,247,5,5,68,248,5,5,219,248,5,5,218,248,5,5,138,219,5,5,217,248,5,5,77,249,5,5,76,249,5,5,75,249,192,0,0,0,192,0,0,0,5,5,139,213,192,0,0,0,5,5,251,241,5,5,90,217,192,0,0,0,5,5,143,246,5,5,144,246,5,5,220,248,5,5,78,249,192,0,0,0,192,0,0,0,5,5,153,249,5,5,212,249,5,5,7,250,5,5,34,250,5,5,140,213,5,5,91,217,5,5,69,245,5,5,145,246,5,5,69,248,5,5,79,249,192,0,0,0,192,0,0,0,5,5,25,215,192,0,0,0,5,5,211,243,5,5,70,245,5,5,146,246,5,5,147,246,5,5,148,246,5,5,146,247,192,0,0,0,5,5,142,247,5,5,80,219,5,5,145,247,5,5,144,247,5,5,251,218,5,5,143,247,5,5,253,218,192,0,0,0,5,5,252,218,5,5,71,248,5,5,70,248,5,5,81,219,5,5,82,219,192,0,0,0,192,0,0,0,5,5,140,219,5,5,221,248,5,5,139,219,192,0,0,0,5,5,82,249,5,5,83,249,5,5,81,249,5,5,80,249,5,5,217,219,192,0,0,0,5,5,154,249,5,5,155,249,5,5,156,249,5,5,216,219,5,5,213,249,5,5,216,249,5,5,215,249,5,5,214,249,192,0,0,0,192,0,0,0,5,5,33,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,216,192,0,0,0,192,0,0,0,5,5,17,218,5,5,147,247,5,5,72,248,192,0,0,0,5,5,141,219,5,5,222,248,192,0,0,0,192,0,0,0,5,5,35,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,243,192,0,0,0,5,5,223,248,192,0,0,0,5,5,237,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,206,5,5,47,201,5,5,135,201,5,5,168,211,5,5,228,210,5,5,135,200,5,5,153,199,5,5,69,216,5,5,69,216,5,5,104,203,5,5,14,203,5,5,136,208,5,5,248,201,5,5,21,218,5,5,23,219,5,5,67,218,5,5,160,219,5,5,255,216,5,5,44,213,5,5,164,219,5,5,13,214,5,5,246,203,5,5,157,205,5,5,173,205,5,5,101,211,5,5,208,211,5,5,53,216,5,5,68,210,5,5,182,200,5,5,15,219,5,5,19,219,5,5,30,219,5,5,4,220,5,5,181,208,5,5,140,216,5,5,176,217,5,5,215,218,5,5,76,202,5,5,72,218,5,5,35,219,5,5,190,208,5,5,99,205,5,5,133,205,5,5,162,205,5,5,150,204,5,5,172,201,5,5,170,200,5,5,120,208,5,5,78,215,5,5,30,218,5,5,181,218,5,5,149,215,5,5,110,200,5,5,209,218,5,5,117,211,5,5,177,211,5,5,59,219,5,5,17,215,5,5,212,219,5,5,43,211,5,5,50,211,5,5,234,212,5,5,92,231,5,5,15,216,5,5,102,208,5,5,171,214,5,5,14,218,5,5,7,201,5,5,104,219,5,5,106,219,5,5,94,201,5,5,75,214,5,5,172,211,5,5,236,211,5,5,96,217,5,5,76,212,5,5,10,214,5,5,133,207,5,5,151,212,5,5,221,207,5,5,202,216,5,5,158,204,5,5,146,206,5,5,117,200,5,5,150,213,5,5,210,204,5,5,54,211,5,5,233,212,5,5,187,209,5,5,84,208,5,5,112,219,5,5,142,223,5,5,13,214,5,5,229,215,5,5,7,199,5,5,67,212,5,5,151,203,5,5,159,207,5,5,174,207,5,5,127,199,5,5,138,242,5,5,33,203,5,5,196,208,5,5,4,199,5,5,154,202,5,5,251,213,5,5,237,205,5,5,156,206,5,5,108,210,5,5,44,204,5,5,106,211,5,5,57,213,5,5,104,207,5,5,137,201,5,5,67,201,5,5,181,203,5,5,107,204,5,5,26,207,5,5,171,207,5,5,29,203,5,5,187,201,192,0,0,0,5,5,81,207,5,5,158,217,5,5,120,201,5,5,160,214,5,5,20,210,5,5,74,216,5,5,194,200,5,5,0,179,5,5,18,218,5,5,87,205,5,5,124,217,5,5,187,218,5,5,238,214,5,5,255,219,5,5,155,218,5,5,23,215,5,5,0,151,5,5,87,215,5,5,109,215,5,5,151,248,5,5,61,200,5,5,219,213,5,5,144,219,5,5,244,213,5,5,160,212,5,5,240,210,5,5,50,238,192,0,0,0,5,5,99,214,5,5,222,216,5,5,207,214,5,5,128,214,5,5,59,208,5,5,51,217,5,5,2,200,5,5,7,200,5,5,82,203,5,5,158,205,5,5,215,209,5,5,57,213,5,5,135,210,5,5,56,202,5,5,51,207,5,5,131,216,5,5,56,218,5,5,134,217,5,5,111,199,5,5,208,221,5,5,67,212,5,5,92,216,5,5,46,222,5,5,21,204,5,5,51,214,5,5,227,207,5,5,233,207,5,5,221,211,5,5,239,211,5,5,203,219,5,5,122,213,5,5,171,201,5,5,146,217,5,5,230,218,5,5,67,217,5,5,200,208,5,5,0,142,5,5,13,212,5,5,187,213,5,5,249,200,5,5,85,205,5,5,13,214,5,5,132,215,5,5,167,216,5,5,178,238,5,5,3,216,5,5,68,216,5,5,183,210,5,5,152,201,5,5,153,213,5,5,86,222,5,5,219,203,5,5,236,203,5,5,230,210,5,5,169,205,5,5,178,205,5,5,191,207,5,5,239,205,5,5,136,218,5,5,28,199,5,5,227,213,5,5,86,208,5,5,203,204,5,5,229,206,5,5,136,207,5,5,208,214,5,5,147,203,5,5,152,210,5,5,110,205,5,5,159,207,5,5,42,210,5,5,173,200,5,5,14,200,5,5,192,213,5,5,110,202,5,5,49,201,5,5,99,207,5,5,155,202,5,5,163,207,5,5,107,209,5,5,185,215,192,0,0,0,5,5,137,211,5,5,150,201,5,5,226,217,5,5,153,206,5,5,226,210,5,5,183,200,5,5,127,215,5,5,140,215,5,5,208,218,192,0,0,0,5,5,178,219,5,5,181,219,5,5,131,202,5,5,120,207,5,5,233,216,5,5,221,199,5,5,200,207,5,5,208,207,5,5,193,202,5,5,186,202,5,5,91,218,5,5,17,199,5,5,39,206,5,5,196,201,5,5,34,199,5,5,139,203,5,5,85,202,5,5,175,215,5,5,53,200,5,5,240,203,5,5,254,213,5,5,247,215,5,5,131,200,5,5,160,204,5,5,124,201,5,5,84,212,5,5,0,169,5,5,51,232,192,0,0,0,192,0,0,0,5,5,112,210,192,0,0,0,5,5,251,208,192,0,0,0,192,0,0,0,5,5,196,239,192,0,0,0,5,5,191,205,192,0,0,0,5,5,215,205,5,5,194,207,5,5,207,212,5,5,240,211,5,5,228,212,5,5,109,200,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,214,192,0,0,0,192,0,0,0,5,5,11,210,5,5,73,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,210,5,5,249,211,5,5,46,216,5,5,74,219,192,0,0,0,192,0,0,0,5,5,44,203,5,5,8,212,5,5,167,200,5,5,64,203,5,5,85,210,5,5,206,201,5,5,130,208,5,5,32,212,5,5,44,215,192,0,0,0,5,5,24,215,5,5,191,213,5,5,16,220,5,5,59,205,5,5,211,208,5,5,221,213,5,5,19,218,5,5,61,207,5,5,189,203,5,5,254,208,5,5,96,207,5,5,139,205,5,5,131,207,5,5,153,212,5,5,82,209,192,0,0,0,5,5,94,209,5,5,46,211,5,5,213,202,5,5,58,204,5,5,59,204,5,5,211,205,5,5,214,205,5,5,216,205,5,5,208,212,5,5,206,212,5,5,82,214,5,5,67,204,5,5,63,211,5,5,99,214,5,5,183,215,5,5,209,216,5,5,79,211,5,5,225,202,5,5,18,206,192,0,0,0,192,0,0,0,5,5,189,209,5,5,153,214,5,5,218,209,5,5,230,215,5,5,191,217,5,5,67,213,5,5,98,218,192,0,0,0,5,5,11,210,5,5,130,218,5,5,60,219,5,5,40,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,201,192,0,0,0,5,5,252,199,5,5,149,221,5,5,114,199,5,5,31,215,5,5,63,203,5,5,0,171,5,5,130,208,5,5,169,206,5,5,151,208,5,5,60,232,5,5,112,210,5,5,175,213,5,5,249,201,5,5,250,201,5,5,203,206,5,5,227,239,5,5,52,235,5,5,51,235,5,5,247,206,5,5,133,232,5,5,16,207,5,5,150,210,5,5,149,210,5,5,221,213,192,0,0,0,5,5,19,218,5,5,104,216,5,5,16,230,5,5,170,210,5,5,239,208,5,5,56,207,5,5,251,208,5,5,99,205,5,5,80,207,5,5,54,201,5,5,80,199,5,5,104,207,5,5,236,203,192,0,0,0,5,5,67,209,5,5,153,212,192,0,0,0,5,5,82,209,5,5,174,216,5,5,158,216,5,5,197,199,192,0,0,0,5,5,229,235,192,0,0,0,192,0,0,0,5,5,65,238,5,5,59,214,5,5,191,205,5,5,184,207,5,5,210,202,5,5,227,230,192,0,0,0,5,5,82,238,5,5,188,240,5,5,63,211,192,0,0,0,5,5,75,211,5,5,99,214,5,5,34,231,5,5,225,202,5,5,28,206,5,5,186,209,5,5,44,241,5,5,24,243,5,5,187,217,5,5,218,209,5,5,169,214,5,5,165,214,5,5,164,214,5,5,230,215,5,5,229,215,5,5,233,215,5,5,191,217,5,5,162,219,5,5,98,218,5,5,249,215,5,5,2,216,5,5,73,243,5,5,235,236,5,5,81,229,5,5,130,218,5,5,240,211,192,0,0,0,5,5,60,219,192,0,0,0,5,5,40,216,5,5,94,247,5,5,69,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,161,192,0,0,0,192,0,0,0,5,5,157,200,5,5,44,203,5,5,4,223,192,0,0,0,5,5,122,206,5,5,108,208,5,5,8,212,5,5,15,212,192,0,0,0,192,0,0,0,5,5,167,200,5,5,184,201,192,0,0,0,5,5,188,201,192,0,0,0,192,0,0,0,5,5,27,199,5,5,254,199,192,0,0,0,5,5,31,199,5,5,206,204,192,0,0,0,5,5,118,199,192,0,0,0,192,0,0,0,5,5,8,220,5,5,0,170,192,0,0,0,5,5,193,201,5,5,178,221,5,5,116,208,5,5,81,210,192,0,0,0,5,5,63,203,5,5,64,203,5,5,85,210,5,5,0,171,5,5,125,199,5,5,126,199,5,5,127,199,5,5,131,199,5,5,206,201,5,5,123,208,5,5,181,200,192,0,0,0,5,5,219,204,5,5,219,204,5,5,219,204,192,0,0,0,5,5,100,200,5,5,47,199,5,5,222,204,192,0,0,0,5,5,147,199,5,5,151,199,5,5,26,200,192,0,0,0,5,5,200,200,5,5,193,200,5,5,232,201,5,5,39,223,192,0,0,0,5,5,224,204,192,0,0,0,5,5,176,206,5,5,159,209,5,5,159,209,5,5,151,208,5,5,150,208,5,5,139,208,5,5,66,232,5,5,43,212,5,5,32,212,192,0,0,0,192,0,0,0,5,5,168,213,5,5,34,199,192,0,0,0,5,5,100,203,5,5,34,227,5,5,59,227,5,5,96,203,5,5,2,225,5,5,158,208,5,5,98,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,220,5,5,39,200,5,5,54,212,5,5,195,206,192,0,0,0,192,0,0,0,5,5,7,205,5,5,5,205,192,0,0,0,5,5,109,203,5,5,199,206,192,0,0,0,192,0,0,0,5,5,186,213,5,5,87,245,5,5,87,245,192,0,0,0,192,0,0,0,5,5,106,232,5,5,67,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,185,192,0,0,0,5,5,217,206,5,5,16,220,192,0,0,0,5,5,2,221,192,0,0,0,5,5,194,229,192,0,0,0,192,0,0,0,5,5,195,229,5,5,38,235,5,5,142,201,5,5,233,206,192,0,0,0,5,5,184,208,5,5,43,225,5,5,186,208,5,5,128,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,223,5,5,122,227,5,5,240,206,5,5,190,208,192,0,0,0,5,5,0,195,192,0,0,0,192,0,0,0,5,5,99,226,5,5,17,222,5,5,17,222,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,201,5,5,248,206,192,0,0,0,192,0,0,0,5,5,16,201,5,5,15,201,192,0,0,0,5,5,59,225,192,0,0,0,192,0,0,0,5,5,59,205,192,0,0,0,5,5,22,207,5,5,143,210,5,5,151,210,5,5,150,210,5,5,151,210,5,5,71,235,5,5,221,213,5,5,62,215,5,5,224,213,5,5,147,237,5,5,44,242,5,5,19,218,5,5,21,218,5,5,69,200,5,5,24,207,192,0,0,0,5,5,98,202,5,5,86,202,5,5,76,205,192,0,0,0,5,5,77,205,5,5,171,203,5,5,53,207,5,5,39,207,5,5,78,225,192,0,0,0,5,5,167,232,5,5,152,232,5,5,37,207,192,0,0,0,5,5,228,213,192,0,0,0,5,5,3,230,5,5,107,235,192,0,0,0,5,5,61,207,5,5,177,210,192,0,0,0,192,0,0,0,5,5,96,205,5,5,89,205,192,0,0,0,5,5,254,208,192,0,0,0,192,0,0,0,5,5,53,203,5,5,142,206,5,5,114,208,192,0,0,0,5,5,203,222,192,0,0,0,5,5,99,205,5,5,80,207,5,5,214,233,5,5,55,201,5,5,59,201,192,0,0,0,192,0,0,0,5,5,215,223,5,5,81,222,192,0,0,0,5,5,96,207,192,0,0,0,192,0,0,0,5,5,110,225,5,5,75,230,192,0,0,0,5,5,210,232,5,5,138,212,192,0,0,0,5,5,70,242,192,0,0,0,5,5,124,216,192,0,0,0,5,5,85,200,192,0,0,0,5,5,73,240,192,0,0,0,5,5,209,210,5,5,158,235,5,5,104,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,200,192,0,0,0,5,5,172,202,5,5,134,222,5,5,77,221,5,5,184,225,5,5,244,203,5,5,139,205,5,5,236,203,5,5,147,205,5,5,138,205,5,5,151,205,192,0,0,0,5,5,231,223,5,5,41,209,5,5,56,209,192,0,0,0,5,5,67,209,5,5,221,210,192,0,0,0,5,5,125,207,5,5,32,214,192,0,0,0,192,0,0,0,5,5,237,237,5,5,188,246,192,0,0,0,5,5,31,218,192,0,0,0,5,5,169,247,5,5,92,201,192,0,0,0,5,5,7,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,238,192,0,0,0,5,5,254,219,5,5,158,216,192,0,0,0,192,0,0,0,5,5,86,209,5,5,221,235,192,0,0,0,192,0,0,0,5,5,43,218,5,5,94,199,192,0,0,0,5,5,202,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,211,5,5,229,235,5,5,55,238,5,5,45,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,222,192,0,0,0,5,5,174,207,192,0,0,0,5,5,108,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,205,5,5,195,205,5,5,227,230,192,0,0,0,5,5,71,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,207,5,5,43,211,5,5,82,238,192,0,0,0,192,0,0,0,5,5,214,205,192,0,0,0,192,0,0,0,5,5,207,212,5,5,33,226,192,0,0,0,5,5,82,214,5,5,27,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,236,192,0,0,0,192,0,0,0,5,5,92,214,5,5,168,215,192,0,0,0,192,0,0,0,5,5,206,240,192,0,0,0,5,5,177,242,192,0,0,0,5,5,73,204,192,0,0,0,5,5,19,231,192,0,0,0,5,5,246,212,192,0,0,0,5,5,208,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,240,192,0,0,0,5,5,158,228,192,0,0,0,5,5,225,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,216,192,0,0,0,192,0,0,0,5,5,119,201,192,0,0,0,192,0,0,0,5,5,172,209,5,5,91,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,226,5,5,60,231,192,0,0,0,192,0,0,0,5,5,126,221,5,5,122,201,5,5,240,202,192,0,0,0,5,5,246,202,5,5,239,202,5,5,243,202,5,5,105,204,192,0,0,0,5,5,107,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,207,5,5,72,231,5,5,189,209,5,5,130,226,5,5,196,209,5,5,193,209,5,5,200,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,233,5,5,177,238,5,5,182,238,192,0,0,0,5,5,10,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,204,5,5,117,211,5,5,247,216,5,5,119,244,5,5,50,206,192,0,0,0,5,5,39,234,5,5,117,231,5,5,44,241,5,5,139,236,5,5,140,236,192,0,0,0,192,0,0,0,5,5,209,238,5,5,139,244,192,0,0,0,192,0,0,0,5,5,132,200,192,0,0,0,5,5,135,231,5,5,49,234,192,0,0,0,5,5,173,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,211,5,5,233,215,5,5,162,219,5,5,129,201,192,0,0,0,5,5,45,208,5,5,239,209,5,5,199,219,5,5,76,206,192,0,0,0,192,0,0,0,5,5,252,209,5,5,33,229,5,5,98,234,192,0,0,0,5,5,79,206,5,5,249,215,192,0,0,0,192,0,0,0,5,5,183,220,5,5,173,224,5,5,128,234,192,0,0,0,5,5,228,236,5,5,213,211,5,5,90,239,5,5,88,239,5,5,104,213,5,5,32,246,5,5,37,247,192,0,0,0,5,5,32,210,192,0,0,0,5,5,116,243,192,0,0,0,192,0,0,0,5,5,8,232,5,5,241,239,5,5,242,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,239,192,0,0,0,5,5,114,206,192,0,0,0,5,5,196,241,5,5,75,246,5,5,42,237,5,5,161,243,192,0,0,0,192,0,0,0,5,5,94,247,5,5,102,247,5,5,177,239,192,0,0,0,192,0,0,0,5,5,184,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,208,192,0,0,0,5,5,18,232,192,0,0,0,192,0,0,0,5,5,189,239,5,5,63,245,5,5,139,213,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,170,170,3,0,68,0,51,0,60,0,27,206,0,16,140,28,0,96,1,0,0,96,170,170,170,170,170,170,170,170,166,114,1,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,76,0,0,0,76,1,0,0,92,83,1,0,92,83,1,0,60,91,1,0,60,91,1,0,248,95,1,0,248,95,1,0,90,110,1,0,90,110,1,0,138,114,1,0,25,0,0,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,254,255,50,105,114,84,1,0,0,9,0,20,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,176,0,184,0,189,0,48,0,197,0,205,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,229,0,237,0,245,0,253,0,5,1,13,1,21,1,29,1,37,1,45,1,53,1,61,1,69,1,77,1,85,1,93,1,101,1,109,1,117,1,125,1,133,1,140,1,147,1,154,1,162,1,170,1,178,1,186,1,194,1,202,1,210,1,218,1,226,1,234,1,242,1,250,1,2,2,10,2,18,2,26,2,34,2,42,2,50,2,58,2,66,2,74,2,82,2,90,2,98,2,106,2,114,2,122,2,130,2,138,2,146,2,154,2,162,2,170,2,178,2,186,2,194,2,202,2,210,2,218,2,226,2,234,2,242,2,250,2,2,3,10,3,18,3,26,3,34,3,42,3,50,3,58,3,66,3,74,3,82,3,90,3,98,3,105,3,113,3,121,3,129,3,137,3,144,3,152,3,160,3,168,3,176,3,184,3,192,3,200,3,208,3,216,3,224,3,232,3,240,3,248,3,255,3,7,4,15,4,21,4,27,4,35,4,43,4,51,4,59,4,67,4,75,4,83,4,91,4,99,4,107,4,115,4,123,4,131,4,139,4,147,4,155,4,163,4,171,4,179,4,187,4,194,4,202,4,210,4,218,4,226,4,234,4,242,4,250,4,2,5,9,5,17,5,25,5,33,5,41,5,49,5,57,5,65,5,73,5,81,5,89,5,97,5,105,5,113,5,121,5,129,5,137,5,145,5,153,5,161,5,169,5,175,5,183,5,191,5,198,5,206,5,214,5,222,5,230,5,238,5,246,5,254,5,6,6,14,6,22,6,30,6,38,6,46,6,54,6,62,6,70,6,78,6,86,6,94,6,102,6,110,6,118,6,126,6,134,6,142,6,149,6,157,6,165,6,172,6,180,6,188,6,196,6,204,6,212,6,220,6,228,6,236,6,244,6,252,6,4,7,12,7,20,7,28,7,36,7,44,7,52,7,60,7,68,7,76,7,84,7,92,7,100,7,108,7,116,7,124,7,132,7,140,7,148,7,156,7,164,7,172,7,180,7,188,7,196,7,204,7,212,7,220,7,228,7,236,7,244,7,48,0,48,0,48,0,252,7,4,8,12,8,20,8,28,8,36,8,44,8,52,8,60,8,68,8,76,8,84,8,92,8,100,8,108,8,116,8,124,8,132,8,140,8,148,8,156,8,164,8,172,8,180,8,188,8,196,8,204,8,212,8,220,8,228,8,236,8,244,8,252,8,4,9,12,9,20,9,28,9,36,9,44,9,48,9,56,9,63,9,71,9,79,9,87,9,95,9,103,9,111,9,118,9,125,9,133,9,141,9,149,9,157,9,165,9,172,9,180,9,188,9,196,9,204,9,212,9,220,9,228,9,236,9,244,9,252,9,4,10,12,10,20,10,28,10,36,10,44,10,52,10,60,10,68,10,76,10,84,10,91,10,99,10,107,10,115,10,123,10,131,10,139,10,147,10,155,10,163,10,171,10,179,10,187,10,195,10,203,10,211,10,219,10,227,10,235,10,243,10,251,10,3,11,11,11,19,11,27,11,35,11,43,11,51,11,59,11,67,11,75,11,83,11,91,11,98,11,106,11,114,11,122,11,130,11,138,11,145,11,153,11,161,11,169,11,177,11,185,11,191,11,199,11,207,11,215,11,223,11,231,11,239,11,247,11,255,11,7,12,15,12,23,12,31,12,39,12,47,12,55,12,59,12,67,12,75,12,83,12,91,12,98,12,106,12,48,0,111,12,48,0,118,12,48,0,48,0,48,0,122,12,130,12,48,0,138,12,146,12,154,12,162,12,170,12,178,12,186,12,194,12,202,12,210,12,218,12,226,12,234,12,242,12,250,12,1,13,9,13,17,13,25,13,33,13,41,13,49,13,57,13,65,13,73,13,81,13,89,13,97,13,105,13,113,13,121,13,129,13,137,13,145,13,153,13,161,13,169,13,177,13,185,13,193,13,201,13,209,13,217,13,225,13,233,13,241,13,249,13,1,14,9,14,17,14,25,14,33,14,41,14,49,14,57,14,65,14,73,14,81,14,89,14,97,14,105,14,112,14,120,14,128,14,136,14,144,14,152,14,160,14,168,14,176,14,184,14,192,14,200,14,208,14,216,14,224,14,232,14,240,14,248,14,0,15,8,15,16,15,24,15,32,15,40,15,48,15,56,15,64,15,72,15,48,0,80,15,88,15,96,15,98,15,106,15,109,15,116,15,48,0,48,0,48,0,123,15,130,15,48,0,137,15,48,0,145,15,153,15,161,15,169,15,177,15,185,15,193,15,201,15,48,0,48,0,48,0,208,15,216,15,224,15,232,15,240,15,248,15,0,16,8,16,16,16,24,16,32,16,39,16,47,16,55,16,62,16,48,0,48,0,48,0,48,0,69,16,77,16,85,16,93,16,101,16,109,16,117,16,125,16,133,16,141,16,149,16,157,16,165,16,173,16,181,16,189,16,197,16,205,16,213,16,220,16,48,0,48,0,48,0,48,0,228,16,234,16,239,16,245,16,48,0,48,0,248,16,48,0,0,17,5,17,48,0,11,17,48,0,48,0,17,17,48,0,25,17,32,17,40,17,48,17,56,17,64,17,72,17,80,17,88,17,48,0,48,0,48,0,96,17,104,17,112,17,120,17,128,17,135,17,143,17,151,17,159,17,167,17,175,17,183,17,191,17,199,17,207,17,48,0,214,17,48,0,48,0,48,0,220,17,228,17,236,17,241,17,249,17,254,17,3,18,7,18,15,18,23,18,30,18,48,0,48,0,48,0,48,0,48,0,35,18,43,18,51,18,59,18,67,18,75,18,83,18,91,18,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,97,18,105,18,113,18,121,18,129,18,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,130,18,138,18,146,18,154,18,162,18,170,18,178,18,186,18,194,18,202,18,210,18,215,18,223,18,231,18,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,232,19,161,0,48,0,48,0,153,0,153,0,240,19,247,19,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,239,18,247,18,255,18,7,19,15,19,23,19,31,19,39,19,47,19,55,19,63,19,71,19,79,19,87,19,93,19,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,192,8,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,98,19,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,106,19,114,19,122,19,130,19,138,19,146,19,154,19,162,19,170,19,178,19,186,19,194,19,202,19,210,19,217,19,48,0,224,19,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,36,0,202,193,36,0,202,226,36,0,202,3,37,0,202,36,37,0,202,69,37,0,202,102,37,0,202,135,37,0,202,168,37,0,202,201,37,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,35,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,34,36,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,36,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,236,5,5,215,225,192,0,0,0,5,5,3,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,234,5,5,121,237,5,5,221,232,5,5,15,233,5,5,58,235,5,5,110,238,5,5,119,224,5,5,221,236,192,0,0,0,5,5,112,238,5,5,15,225,192,0,0,0,5,5,22,238,5,5,84,232,5,5,115,238,5,5,94,233,192,0,0,0,5,5,114,232,5,5,89,224,5,5,73,236,5,5,78,225,5,5,225,225,5,5,187,233,5,5,117,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,225,192,0,0,0,5,5,7,230,5,5,5,236,192,0,0,0,5,5,227,232,5,5,121,238,192,0,0,0,5,5,234,226,5,5,242,235,5,5,186,242,5,5,222,237,192,0,0,0,192,0,0,0,5,5,119,226,192,0,0,0,5,5,40,225,192,0,0,0,5,5,35,230,192,0,0,0,5,5,136,238,192,0,0,0,5,5,162,234,5,5,124,225,5,5,194,234,5,5,7,238,192,0,0,0,5,5,224,229,5,5,7,229,5,5,123,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,231,192,0,0,0,5,5,239,228,192,0,0,0,5,5,125,238,5,5,186,230,5,5,121,236,192,0,0,0,5,5,188,237,5,5,242,234,5,5,87,237,5,5,167,227,5,5,60,226,5,5,192,229,192,0,0,0,5,5,219,231,5,5,150,231,5,5,73,232,192,0,0,0,5,5,40,227,192,0,0,0,5,5,229,224,5,5,102,236,192,0,0,0,192,0,0,0,5,5,139,238,5,5,241,228,5,5,22,232,5,5,70,236,5,5,40,235,5,5,95,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,233,192,0,0,0,192,0,0,0,5,5,140,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,230,5,5,122,230,192,0,0,0,5,5,201,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,230,192,0,0,0,5,5,218,236,5,5,169,237,192,0,0,0,5,5,96,233,5,5,54,226,5,5,109,238,5,5,204,236,5,5,131,229,192,0,0,0,5,5,24,237,5,5,181,227,5,5,141,238,5,5,253,234,5,5,218,228,192,0,0,0,192,0,0,0,5,5,116,238,192,0,0,0,5,5,251,235,5,5,127,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,238,5,5,27,239,5,5,176,234,5,5,70,229,192,0,0,0,5,5,137,228,5,5,87,227,5,5,116,236,5,5,182,224,5,5,146,227,5,5,28,231,192,0,0,0,5,5,101,235,5,5,213,228,5,5,94,234,5,5,11,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,232,5,5,29,239,192,0,0,0,5,5,32,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,232,5,5,181,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,236,5,5,80,233,5,5,170,232,5,5,184,238,5,5,182,238,5,5,146,238,5,5,196,228,5,5,239,231,5,5,12,225,192,0,0,0,5,5,183,238,5,5,191,228,5,5,183,228,192,0,0,0,5,5,180,232,5,5,77,225,192,0,0,0,192,0,0,0,5,5,128,230,192,0,0,0,5,5,146,224,5,5,62,238,5,5,105,233,5,5,247,233,5,5,124,237,5,5,170,226,5,5,65,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,239,5,5,188,238,5,5,44,232,192,0,0,0,5,5,186,238,192,0,0,0,5,5,116,225,5,5,56,230,5,5,104,236,192,0,0,0,192,0,0,0,5,5,185,238,192,0,0,0,5,5,91,236,5,5,187,238,5,5,205,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,236,192,0,0,0,5,5,231,237,5,5,190,238,192,0,0,0,5,5,193,238,5,5,110,228,5,5,75,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,232,192,0,0,0,5,5,115,226,192,0,0,0,5,5,88,226,192,0,0,0,5,5,23,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,238,5,5,85,236,192,0,0,0,192,0,0,0,5,5,3,235,5,5,47,228,5,5,146,226,5,5,59,226,5,5,179,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,237,5,5,183,236,5,5,255,227,5,5,241,227,5,5,189,238,192,0,0,0,192,0,0,0,5,5,223,232,5,5,200,234,5,5,37,225,192,0,0,0,5,5,191,238,192,0,0,0,5,5,11,233,5,5,194,238,5,5,127,230,5,5,195,238,192,0,0,0,192,0,0,0,5,5,201,234,5,5,197,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,224,5,5,20,227,192,0,0,0,5,5,205,238,192,0,0,0,5,5,0,199,192,0,0,0,5,5,48,230,192,0,0,0,5,5,44,233,192,0,0,0,5,5,193,233,192,0,0,0,5,5,194,233,5,5,206,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,225,192,0,0,0,192,0,0,0,5,5,131,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,234,5,5,165,225,5,5,15,238,5,5,98,238,5,5,197,236,192,0,0,0,5,5,65,234,192,0,0,0,5,5,128,227,192,0,0,0,5,5,204,238,5,5,8,239,5,5,210,236,5,5,201,238,5,5,134,226,5,5,101,238,5,5,202,238,5,5,198,238,5,5,203,238,5,5,73,231,192,0,0,0,192,0,0,0,5,5,168,236,5,5,192,238,5,5,9,239,192,0,0,0,5,5,199,238,192,0,0,0,5,5,169,231,192,0,0,0,192,0,0,0,5,5,186,229,192,0,0,0,192,0,0,0,5,5,38,236,5,5,0,185,192,0,0,0,192,0,0,0,5,5,65,228,5,5,208,238,192,0,0,0,5,5,207,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,238,5,5,216,238,192,0,0,0,5,5,213,238,5,5,87,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,238,5,5,196,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,224,5,5,210,238,192,0,0,0,5,5,231,229,192,0,0,0,5,5,106,233,192,0,0,0,5,5,212,238,192,0,0,0,5,5,209,238,192,0,0,0,192,0,0,0,5,5,218,238,192,0,0,0,192,0,0,0,5,5,231,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,226,192,0,0,0,5,5,84,236,192,0,0,0,192,0,0,0,5,5,56,235,192,0,0,0,192,0,0,0,5,5,106,230,192,0,0,0,5,5,146,228,5,5,156,237,5,5,156,224,5,5,74,232,5,5,119,229,5,5,215,238,192,0,0,0,5,5,217,238,192,0,0,0,5,5,4,235,5,5,160,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,225,5,5,37,226,5,5,222,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,239,5,5,80,232,5,5,232,229,5,5,226,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,233,5,5,147,226,192,0,0,0,5,5,223,238,192,0,0,0,5,5,225,238,5,5,0,223,5,5,211,236,5,5,227,238,192,0,0,0,5,5,155,235,192,0,0,0,5,5,224,238,192,0,0,0,192,0,0,0,5,5,219,238,192,0,0,0,5,5,220,238,5,5,241,229,5,5,221,238,192,0,0,0,192,0,0,0,5,5,99,228,5,5,180,235,5,5,157,226,192,0,0,0,5,5,17,229,192,0,0,0,5,5,231,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,238,192,0,0,0,5,5,0,145,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,238,5,5,20,224,192,0,0,0,5,5,233,238,192,0,0,0,192,0,0,0,5,5,145,225,192,0,0,0,5,5,33,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,234,5,5,164,227,5,5,100,236,192,0,0,0,5,5,237,238,192,0,0,0,192,0,0,0,5,5,182,228,192,0,0,0,5,5,197,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,238,5,5,25,229,192,0,0,0,5,5,240,238,5,5,229,238,5,5,69,231,192,0,0,0,5,5,232,238,5,5,235,238,5,5,234,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,237,192,0,0,0,5,5,195,237,192,0,0,0,5,5,101,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,228,5,5,244,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,238,192,0,0,0,5,5,245,238,5,5,205,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,238,192,0,0,0,5,5,93,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,231,5,5,111,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,238,192,0,0,0,192,0,0,0,5,5,241,238,5,5,191,224,5,5,138,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,226,192,0,0,0,192,0,0,0,5,5,230,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,225,192,0,0,0,5,5,248,238,192,0,0,0,5,5,249,238,5,5,28,225,5,5,250,238,192,0,0,0,192,0,0,0,5,5,89,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,238,5,5,243,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,239,5,5,236,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,238,5,5,254,238,5,5,3,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,233,192,0,0,0,5,5,119,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,238,5,5,4,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,226,5,5,111,238,5,5,28,237,192,0,0,0,5,5,250,236,5,5,172,235,5,5,254,224,5,5,135,237,192,0,0,0,5,5,64,235,5,5,54,227,192,0,0,0,5,5,87,229,192,0,0,0,5,5,232,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,226,192,0,0,0,192,0,0,0,5,5,125,234,5,5,26,239,5,5,28,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,225,192,0,0,0,5,5,235,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,228,192,0,0,0,192,0,0,0,5,5,203,232,192,0,0,0,192,0,0,0,5,5,139,232,192,0,0,0,192,0,0,0,5,5,0,169,5,5,253,226,5,5,67,230,5,5,14,239,192,0,0,0,5,5,166,229,5,5,6,227,192,0,0,0,5,5,44,227,5,5,161,235,5,5,86,224,5,5,8,232,5,5,13,229,5,5,188,225,5,5,54,238,192,0,0,0,5,5,46,236,5,5,86,228,5,5,124,233,192,0,0,0,192,0,0,0,5,5,45,228,5,5,18,239,5,5,179,238,192,0,0,0,192,0,0,0,5,5,64,231,192,0,0,0,192,0,0,0,5,5,200,226,5,5,157,232,192,0,0,0,192,0,0,0,5,5,157,224,5,5,43,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,230,192,0,0,0,192,0,0,0,5,5,231,230,5,5,44,239,5,5,191,232,192,0,0,0,5,5,138,235,192,0,0,0,5,5,42,229,5,5,109,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,227,192,0,0,0,5,5,45,239,192,0,0,0,5,5,249,236,5,5,46,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,239,5,5,226,225,192,0,0,0,192,0,0,0,5,5,129,226,5,5,87,224,5,5,40,239,5,5,255,224,5,5,36,229,192,0,0,0,5,5,130,229,5,5,69,236,5,5,206,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,225,5,5,42,239,5,5,41,239,192,0,0,0,192,0,0,0,5,5,231,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,232,192,0,0,0,5,5,42,238,5,5,43,239,192,0,0,0,5,5,3,230,192,0,0,0,5,5,202,225,5,5,50,230,192,0,0,0,192,0,0,0,5,5,101,228,192,0,0,0,5,5,79,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,230,192,0,0,0,5,5,99,231,192,0,0,0,192,0,0,0,5,5,40,228,5,5,72,226,192,0,0,0,192,0,0,0,5,5,133,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,239,192,0,0,0,5,5,224,231,192,0,0,0,5,5,57,229,5,5,219,227,192,0,0,0,192,0,0,0,5,5,162,225,192,0,0,0,5,5,177,239,5,5,173,235,192,0,0,0,5,5,115,234,5,5,0,154,5,5,18,225,5,5,9,228,5,5,178,239,5,5,97,227,192,0,0,0,5,5,54,237,5,5,142,225,5,5,203,225,5,5,162,238,5,5,176,232,192,0,0,0,192,0,0,0,5,5,108,226,5,5,82,232,5,5,163,238,192,0,0,0,5,5,59,229,192,0,0,0,192,0,0,0,5,5,163,239,5,5,164,238,192,0,0,0,192,0,0,0,5,5,162,235,5,5,190,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,245,5,5,26,230,5,5,63,230,5,5,68,237,5,5,201,226,5,5,46,225,192,0,0,0,5,5,17,225,192,0,0,0,192,0,0,0,5,5,252,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,231,5,5,229,229,192,0,0,0,5,5,78,224,192,0,0,0,5,5,165,238,5,5,34,227,192,0,0,0,5,5,149,225,192,0,0,0,192,0,0,0,5,5,166,238,192,0,0,0,192,0,0,0,5,5,212,237,5,5,158,233,5,5,143,232,5,5,240,232,5,5,70,225,5,5,88,229,192,0,0,0,5,5,72,227,192,0,0,0,5,5,167,238,5,5,168,238,5,5,31,226,5,5,49,228,5,5,70,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,235,192,0,0,0,5,5,169,238,5,5,50,232,192,0,0,0,192,0,0,0,5,5,36,227,5,5,113,228,192,0,0,0,192,0,0,0,5,5,58,234,192,0,0,0,5,5,236,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,238,192,0,0,0,5,5,170,238,192,0,0,0,192,0,0,0,5,5,171,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,220,192,0,0,0,5,5,21,229,192,0,0,0,5,5,65,233,5,5,100,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,226,192,0,0,0,192,0,0,0,5,5,226,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,238,192,0,0,0,5,5,153,228,192,0,0,0,5,5,176,238,5,5,175,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,238,192,0,0,0,192,0,0,0,5,5,178,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,229,192,0,0,0,5,5,144,232,5,5,0,202,5,5,248,226,5,5,67,228,5,5,11,235,5,5,165,239,5,5,29,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,225,5,5,10,238,5,5,112,231,5,5,167,228,5,5,166,239,5,5,167,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,229,5,5,206,228,5,5,183,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,239,5,5,100,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,236,192,0,0,0,5,5,233,230,192,0,0,0,5,5,223,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,239,192,0,0,0,5,5,191,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,239,192,0,0,0,5,5,61,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,239,5,5,23,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,227,5,5,10,235,5,5,26,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,218,5,5,76,225,192,0,0,0,5,5,175,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,239,192,0,0,0,5,5,207,240,5,5,23,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,238,5,5,191,227,5,5,15,224,192,0,0,0,5,5,241,224,5,5,154,238,192,0,0,0,192,0,0,0,5,5,35,237,192,0,0,0,192,0,0,0,5,5,129,228,5,5,123,229,192,0,0,0,5,5,51,235,192,0,0,0,192,0,0,0,5,5,156,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,231,5,5,122,232,5,5,81,236,192,0,0,0,192,0,0,0,5,5,158,238,5,5,74,231,192,0,0,0,5,5,76,233,192,0,0,0,5,5,41,232,192,0,0,0,5,5,114,238,192,0,0,0,5,5,61,233,5,5,255,234,5,5,236,227,5,5,0,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,227,5,5,131,235,192,0,0,0,5,5,14,224,5,5,82,238,5,5,45,238,192,0,0,0,5,5,125,225,5,5,156,230,5,5,53,231,192,0,0,0,192,0,0,0,5,5,101,224,192,0,0,0,5,5,115,224,192,0,0,0,5,5,67,224,5,5,22,241,5,5,108,237,5,5,52,229,5,5,84,230,5,5,161,238,5,5,89,230,192,0,0,0,5,5,160,238,5,5,236,234,192,0,0,0,5,5,106,239,192,0,0,0,5,5,216,234,192,0,0,0,192,0,0,0,5,5,128,238,5,5,180,230,5,5,147,236,5,5,187,234,192,0,0,0,5,5,36,228,5,5,148,232,5,5,121,230,192,0,0,0,5,5,27,229,5,5,140,235,192,0,0,0,5,5,107,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,232,192,0,0,0,192,0,0,0,5,5,193,224,192,0,0,0,5,5,42,226,5,5,88,234,5,5,228,229,192,0,0,0,192,0,0,0,5,5,225,229,192,0,0,0,5,5,237,235,5,5,23,236,5,5,147,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,224,192,0,0,0,192,0,0,0,5,5,207,229,192,0,0,0,5,5,163,227,192,0,0,0,192,0,0,0,5,5,148,238,192,0,0,0,5,5,253,236,192,0,0,0,192,0,0,0,5,5,89,235,5,5,149,238,192,0,0,0,5,5,150,238,5,5,59,235,192,0,0,0,5,5,20,225,5,5,243,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,235,192,0,0,0,5,5,222,232,5,5,138,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,236,5,5,162,224,5,5,32,228,5,5,195,236,5,5,167,233,5,5,74,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,226,192,0,0,0,192,0,0,0,5,5,131,233,192,0,0,0,5,5,129,232,5,5,122,233,5,5,66,224,5,5,198,235,192,0,0,0,5,5,149,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,239,5,5,214,225,192,0,0,0,192,0,0,0,5,5,102,229,5,5,25,227,5,5,18,229,5,5,55,230,192,0,0,0,5,5,26,241,5,5,25,241,5,5,201,237,5,5,158,228,5,5,137,237,5,5,0,166,5,5,217,225,5,5,85,229,5,5,4,234,5,5,23,241,5,5,85,233,5,5,196,236,192,0,0,0,5,5,155,238,5,5,74,236,5,5,119,227,5,5,186,233,5,5,26,234,192,0,0,0,5,5,27,241,5,5,200,225,5,5,24,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,236,192,0,0,0,5,5,238,224,5,5,235,226,192,0,0,0,5,5,30,241,192,0,0,0,5,5,129,227,5,5,26,228,5,5,205,225,192,0,0,0,5,5,102,234,5,5,3,231,5,5,165,227,5,5,222,229,5,5,124,234,5,5,106,235,5,5,28,241,5,5,61,235,192,0,0,0,5,5,104,230,5,5,29,241,5,5,152,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,229,192,0,0,0,5,5,41,230,5,5,134,234,5,5,139,236,5,5,99,226,5,5,37,241,192,0,0,0,5,5,40,241,192,0,0,0,192,0,0,0,5,5,135,226,5,5,0,167,5,5,14,226,5,5,106,226,192,0,0,0,5,5,94,227,5,5,89,234,5,5,96,229,5,5,173,233,5,5,24,232,192,0,0,0,5,5,182,237,5,5,41,241,192,0,0,0,5,5,250,234,5,5,205,224,192,0,0,0,192,0,0,0,5,5,22,235,5,5,47,225,192,0,0,0,5,5,223,234,5,5,162,227,192,0,0,0,5,5,249,234,192,0,0,0,5,5,241,235,192,0,0,0,192,0,0,0,5,5,36,241,192,0,0,0,192,0,0,0,5,5,110,225,192,0,0,0,5,5,228,224,192,0,0,0,5,5,218,226,5,5,31,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,231,192,0,0,0,5,5,32,241,5,5,33,241,5,5,34,241,5,5,127,231,5,5,35,241,5,5,38,241,5,5,3,237,5,5,39,241,192,0,0,0,5,5,60,232,5,5,240,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,231,192,0,0,0,5,5,46,241,192,0,0,0,5,5,51,241,192,0,0,0,5,5,234,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,241,5,5,62,241,5,5,206,234,192,0,0,0,5,5,121,227,5,5,50,241,5,5,44,241,5,5,162,231,192,0,0,0,192,0,0,0,5,5,43,233,5,5,166,227,5,5,4,231,192,0,0,0,192,0,0,0,5,5,5,229,192,0,0,0,5,5,42,241,192,0,0,0,5,5,49,241,192,0,0,0,5,5,156,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,237,5,5,127,227,192,0,0,0,5,5,248,228,5,5,175,236,5,5,180,226,192,0,0,0,5,5,242,237,192,0,0,0,5,5,43,241,5,5,18,227,5,5,51,229,192,0,0,0,192,0,0,0,5,5,70,230,5,5,47,241,5,5,48,241,192,0,0,0,5,5,52,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,241,5,5,73,241,192,0,0,0,5,5,59,241,5,5,58,241,5,5,55,238,5,5,71,241,5,5,72,241,5,5,135,243,5,5,59,236,5,5,54,241,192,0,0,0,5,5,53,229,192,0,0,0,5,5,45,237,192,0,0,0,5,5,84,229,5,5,56,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,235,192,0,0,0,192,0,0,0,5,5,65,241,192,0,0,0,5,5,254,235,192,0,0,0,5,5,66,241,5,5,0,133,5,5,217,231,5,5,55,241,192,0,0,0,5,5,151,227,192,0,0,0,5,5,23,226,5,5,149,234,5,5,82,227,5,5,39,237,192,0,0,0,192,0,0,0,5,5,67,241,5,5,100,235,5,5,0,131,5,5,75,241,5,5,53,241,5,5,250,235,5,5,57,241,5,5,60,241,5,5,61,241,5,5,64,241,192,0,0,0,5,5,185,227,192,0,0,0,5,5,68,241,5,5,69,241,192,0,0,0,5,5,70,241,5,5,74,241,5,5,76,241,5,5,166,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,226,5,5,122,231,5,5,78,241,5,5,26,233,5,5,240,229,5,5,42,231,192,0,0,0,192,0,0,0,5,5,106,229,5,5,112,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,237,5,5,82,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,224,192,0,0,0,5,5,145,227,5,5,80,241,192,0,0,0,5,5,169,239,192,0,0,0,5,5,26,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,233,5,5,55,225,192,0,0,0,5,5,0,132,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,241,5,5,34,234,5,5,86,241,192,0,0,0,192,0,0,0,5,5,81,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,241,192,0,0,0,5,5,83,241,5,5,84,241,5,5,205,227,192,0,0,0,192,0,0,0,5,5,87,241,192,0,0,0,192,0,0,0,5,5,88,241,192,0,0,0,5,5,179,227,192,0,0,0,5,5,121,233,5,5,192,234,5,5,105,241,5,5,196,224,192,0,0,0,5,5,104,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,241,192,0,0,0,5,5,147,234,5,5,96,241,192,0,0,0,5,5,94,241,192,0,0,0,5,5,92,229,5,5,50,238,192,0,0,0,5,5,12,233,192,0,0,0,192,0,0,0,5,5,92,241,5,5,0,127,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,241,5,5,100,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,226,192,0,0,0,192,0,0,0,5,5,195,231,5,5,244,232,5,5,156,229,5,5,89,241,192,0,0,0,192,0,0,0,5,5,130,231,192,0,0,0,5,5,144,238,5,5,93,241,5,5,92,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,241,5,5,102,241,5,5,103,241,5,5,123,235,192,0,0,0,192,0,0,0,5,5,118,241,5,5,64,234,192,0,0,0,5,5,115,241,192,0,0,0,5,5,50,229,5,5,113,241,5,5,209,234,5,5,109,241,5,5,6,233,192,0,0,0,192,0,0,0,5,5,152,229,5,5,112,241,5,5,159,227,5,5,98,227,5,5,107,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,241,192,0,0,0,5,5,117,241,192,0,0,0,192,0,0,0,5,5,122,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,225,5,5,123,241,192,0,0,0,192,0,0,0,5,5,42,235,5,5,122,227,192,0,0,0,5,5,114,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,241,192,0,0,0,5,5,77,237,192,0,0,0,5,5,91,241,192,0,0,0,5,5,171,231,192,0,0,0,5,5,111,241,192,0,0,0,5,5,233,236,192,0,0,0,5,5,120,241,5,5,121,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,241,5,5,183,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,241,192,0,0,0,192,0,0,0,5,5,139,241,5,5,140,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,241,5,5,108,241,5,5,226,232,5,5,131,241,192,0,0,0,5,5,116,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,233,5,5,133,241,192,0,0,0,5,5,119,241,192,0,0,0,5,5,227,234,192,0,0,0,5,5,191,233,5,5,143,241,5,5,136,241,5,5,132,241,192,0,0,0,5,5,141,241,192,0,0,0,5,5,124,241,5,5,129,241,5,5,130,241,192,0,0,0,192,0,0,0,5,5,135,241,192,0,0,0,192,0,0,0,5,5,137,241,5,5,138,241,192,0,0,0,5,5,142,241,192,0,0,0,5,5,125,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,233,5,5,151,241,192,0,0,0,5,5,152,241,5,5,148,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,241,5,5,62,228,192,0,0,0,192,0,0,0,5,5,147,241,192,0,0,0,5,5,182,226,5,5,145,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,235,192,0,0,0,192,0,0,0,5,5,151,230,192,0,0,0,192,0,0,0,5,5,145,241,5,5,127,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,241,5,5,149,241,192,0,0,0,192,0,0,0,5,5,153,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,241,5,5,154,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,238,5,5,202,224,192,0,0,0,5,5,90,238,192,0,0,0,5,5,183,233,192,0,0,0,192,0,0,0,5,5,156,241,192,0,0,0,5,5,21,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,241,5,5,159,241,5,5,65,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,241,192,0,0,0,192,0,0,0,5,5,157,241,5,5,155,241,5,5,161,241,192,0,0,0,192,0,0,0,5,5,162,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,241,192,0,0,0,5,5,166,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,232,5,5,120,238,5,5,61,237,5,5,168,241,5,5,103,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,241,5,5,170,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,241,5,5,165,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,227,5,5,67,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,241,192,0,0,0,192,0,0,0,5,5,175,241,192,0,0,0,192,0,0,0,5,5,118,232,5,5,192,233,192,0,0,0,5,5,176,241,5,5,232,227,5,5,130,238,5,5,134,236,5,5,177,241,5,5,127,234,192,0,0,0,5,5,18,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,241,192,0,0,0,5,5,2,237,192,0,0,0,192,0,0,0,5,5,145,229,5,5,75,225,192,0,0,0,192,0,0,0,5,5,191,234,5,5,178,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,241,5,5,32,227,192,0,0,0,192,0,0,0,5,5,78,227,5,5,118,234,5,5,181,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,231,5,5,182,241,192,0,0,0,5,5,4,237,192,0,0,0,5,5,134,232,5,5,184,241,5,5,183,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,241,192,0,0,0,192,0,0,0,5,5,123,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,237,5,5,191,239,5,5,193,239,192,0,0,0,5,5,192,239,5,5,59,227,5,5,196,239,5,5,197,239,5,5,176,225,192,0,0,0,192,0,0,0,5,5,194,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,239,5,5,187,224,5,5,199,239,192,0,0,0,192,0,0,0,5,5,10,228,192,0,0,0,5,5,197,237,192,0,0,0,5,5,200,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,229,192,0,0,0,192,0,0,0,5,5,81,226,192,0,0,0,5,5,184,239,5,5,10,234,5,5,62,229,5,5,197,227,5,5,102,238,5,5,95,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,229,192,0,0,0,192,0,0,0,5,5,81,228,5,5,15,234,5,5,198,239,5,5,0,177,5,5,5,235,5,5,110,226,5,5,39,238,5,5,228,231,192,0,0,0,192,0,0,0,5,5,142,229,192,0,0,0,5,5,21,234,192,0,0,0,5,5,207,239,5,5,201,239,5,5,220,231,5,5,203,239,192,0,0,0,5,5,208,239,192,0,0,0,5,5,187,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,239,192,0,0,0,192,0,0,0,5,5,209,239,5,5,76,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,239,5,5,205,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,225,5,5,150,229,5,5,74,230,5,5,202,239,5,5,204,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,235,5,5,213,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,229,5,5,218,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,239,5,5,186,239,5,5,12,227,5,5,251,236,5,5,212,239,192,0,0,0,5,5,93,229,5,5,216,239,192,0,0,0,5,5,185,239,192,0,0,0,5,5,190,225,192,0,0,0,5,5,211,239,5,5,113,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,239,192,0,0,0,5,5,217,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,226,5,5,0,129,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,230,192,0,0,0,192,0,0,0,5,5,225,224,5,5,215,239,192,0,0,0,192,0,0,0,5,5,224,239,192,0,0,0,5,5,244,231,5,5,220,239,192,0,0,0,192,0,0,0,5,5,221,239,5,5,223,239,5,5,222,239,192,0,0,0,192,0,0,0,5,5,230,239,192,0,0,0,5,5,228,236,5,5,118,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,239,192,0,0,0,5,5,227,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,239,5,5,164,231,5,5,11,228,192,0,0,0,192,0,0,0,5,5,233,239,192,0,0,0,192,0,0,0,5,5,235,239,192,0,0,0,5,5,31,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,226,5,5,102,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,239,192,0,0,0,5,5,232,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,239,192,0,0,0,5,5,239,239,5,5,2,224,192,0,0,0,192,0,0,0,5,5,164,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,233,5,5,199,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,233,192,0,0,0,192,0,0,0,5,5,250,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,234,5,5,241,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,239,192,0,0,0,5,5,245,239,5,5,242,239,192,0,0,0,5,5,223,228,192,0,0,0,5,5,153,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,233,5,5,31,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,232,5,5,244,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,237,5,5,188,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,231,5,5,13,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,233,5,5,169,232,192,0,0,0,5,5,33,238,192,0,0,0,5,5,57,233,192,0,0,0,192,0,0,0,5,5,83,229,192,0,0,0,192,0,0,0,5,5,170,227,192,0,0,0,192,0,0,0,5,5,80,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,242,192,0,0,0,5,5,32,225,192,0,0,0,192,0,0,0,5,5,22,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,226,192,0,0,0,5,5,60,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,239,5,5,30,235,5,5,156,234,192,0,0,0,192,0,0,0,5,5,25,239,5,5,24,226,192,0,0,0,5,5,77,236,192,0,0,0,192,0,0,0,5,5,15,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,242,5,5,55,242,192,0,0,0,5,5,109,225,192,0,0,0,5,5,72,234,5,5,7,234,5,5,136,226,192,0,0,0,5,5,126,238,5,5,33,236,5,5,109,227,192,0,0,0,5,5,69,233,192,0,0,0,192,0,0,0,5,5,113,234,192,0,0,0,192,0,0,0,5,5,88,236,5,5,112,229,5,5,64,228,5,5,25,226,192,0,0,0,5,5,201,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,240,5,5,164,239,192,0,0,0,5,5,15,236,192,0,0,0,192,0,0,0,5,5,10,232,5,5,52,231,5,5,132,226,192,0,0,0,5,5,114,226,192,0,0,0,192,0,0,0,5,5,136,229,5,5,78,238,192,0,0,0,5,5,25,232,192,0,0,0,192,0,0,0,5,5,26,224,5,5,204,240,5,5,127,228,5,5,51,234,5,5,206,240,192,0,0,0,5,5,205,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,225,192,0,0,0,5,5,29,233,192,0,0,0,192,0,0,0,5,5,0,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,231,5,5,111,231,192,0,0,0,5,5,50,231,192,0,0,0,5,5,89,228,5,5,249,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,243,5,5,199,232,5,5,150,243,5,5,183,234,192,0,0,0,5,5,31,238,5,5,178,226,5,5,144,230,192,0,0,0,5,5,177,232,192,0,0,0,192,0,0,0,5,5,151,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,226,5,5,59,228,192,0,0,0,192,0,0,0,5,5,51,236,5,5,155,243,192,0,0,0,5,5,244,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,243,5,5,159,243,5,5,145,234,192,0,0,0,192,0,0,0,5,5,87,226,5,5,152,243,5,5,153,243,5,5,157,243,192,0,0,0,192,0,0,0,5,5,67,231,5,5,162,243,192,0,0,0,192,0,0,0,5,5,161,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,230,192,0,0,0,5,5,2,232,192,0,0,0,192,0,0,0,5,5,164,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,243,5,5,90,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,228,5,5,23,227,5,5,160,243,5,5,171,235,5,5,199,234,192,0,0,0,192,0,0,0,5,5,163,243,5,5,170,243,192,0,0,0,5,5,58,236,192,0,0,0,5,5,120,228,5,5,167,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,243,192,0,0,0,5,5,187,229,192,0,0,0,192,0,0,0,5,5,96,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,243,192,0,0,0,5,5,138,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,238,192,0,0,0,5,5,184,234,192,0,0,0,5,5,152,234,5,5,78,230,5,5,165,243,5,5,166,243,5,5,141,228,5,5,168,243,5,5,173,243,192,0,0,0,192,0,0,0,5,5,172,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,243,192,0,0,0,5,5,178,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,231,192,0,0,0,192,0,0,0,5,5,24,229,5,5,47,233,192,0,0,0,192,0,0,0,5,5,177,243,192,0,0,0,5,5,40,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,236,5,5,174,243,192,0,0,0,5,5,175,243,192,0,0,0,5,5,130,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,231,192,0,0,0,192,0,0,0,5,5,171,234,5,5,181,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,243,192,0,0,0,192,0,0,0,5,5,161,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,236,5,5,185,243,5,5,52,233,5,5,189,243,192,0,0,0,192,0,0,0,5,5,190,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,230,5,5,188,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,243,5,5,41,235,192,0,0,0,5,5,200,245,192,0,0,0,192,0,0,0,5,5,196,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,243,192,0,0,0,192,0,0,0,5,5,78,228,5,5,231,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,228,192,0,0,0,192,0,0,0,5,5,75,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,243,192,0,0,0,5,5,195,243,192,0,0,0,5,5,200,243,192,0,0,0,5,5,202,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,243,5,5,173,225,192,0,0,0,5,5,198,243,192,0,0,0,192,0,0,0,5,5,201,243,192,0,0,0,192,0,0,0,5,5,65,231,192,0,0,0,5,5,192,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,243,5,5,205,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,243,192,0,0,0,5,5,36,239,192,0,0,0,192,0,0,0,5,5,208,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,238,5,5,215,243,192,0,0,0,5,5,216,243,5,5,99,229,5,5,34,237,192,0,0,0,5,5,68,238,5,5,96,225,5,5,235,233,5,5,212,243,5,5,143,238,5,5,60,238,5,5,120,235,192,0,0,0,5,5,213,230,192,0,0,0,192,0,0,0,5,5,217,243,5,5,46,228,5,5,22,227,5,5,213,243,5,5,219,235,192,0,0,0,192,0,0,0,5,5,84,227,5,5,119,230,192,0,0,0,5,5,119,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,233,5,5,138,243,192,0,0,0,5,5,214,243,192,0,0,0,5,5,139,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,232,192,0,0,0,192,0,0,0,5,5,91,231,192,0,0,0,192,0,0,0,5,5,78,243,5,5,100,231,192,0,0,0,5,5,248,233,5,5,79,243,5,5,92,237,192,0,0,0,5,5,224,236,5,5,118,233,5,5,0,144,192,0,0,0,5,5,202,233,5,5,164,234,192,0,0,0,192,0,0,0,5,5,156,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,243,192,0,0,0,5,5,80,243,192,0,0,0,5,5,72,238,5,5,45,227,5,5,244,237,5,5,222,225,5,5,170,234,5,5,95,236,5,5,4,224,5,5,83,233,192,0,0,0,5,5,4,225,5,5,51,233,5,5,89,229,5,5,209,235,5,5,112,233,5,5,82,243,5,5,210,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,235,5,5,254,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,237,192,0,0,0,192,0,0,0,5,5,88,227,5,5,29,236,5,5,116,235,5,5,66,228,192,0,0,0,5,5,83,243,5,5,189,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,229,5,5,84,224,5,5,218,233,192,0,0,0,192,0,0,0,5,5,53,228,192,0,0,0,5,5,52,228,5,5,142,236,5,5,226,230,5,5,104,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,230,192,0,0,0,5,5,96,227,5,5,242,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,232,5,5,21,231,5,5,168,224,192,0,0,0,5,5,37,227,192,0,0,0,192,0,0,0,5,5,87,243,5,5,18,230,192,0,0,0,192,0,0,0,5,5,95,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,243,192,0,0,0,5,5,90,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,225,5,5,12,226,5,5,190,233,5,5,228,235,5,5,148,225,192,0,0,0,192,0,0,0,5,5,119,233,192,0,0,0,5,5,120,226,192,0,0,0,192,0,0,0,5,5,36,233,192,0,0,0,5,5,121,228,192,0,0,0,192,0,0,0,5,5,214,234,5,5,94,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,235,192,0,0,0,5,5,25,233,192,0,0,0,192,0,0,0,5,5,51,226,5,5,210,243,5,5,82,228,192,0,0,0,5,5,216,224,192,0,0,0,5,5,16,233,192,0,0,0,5,5,211,243,5,5,188,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,240,192,0,0,0,5,5,186,236,5,5,209,240,192,0,0,0,5,5,54,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,228,192,0,0,0,192,0,0,0,5,5,211,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,233,5,5,144,236,5,5,249,224,5,5,134,243,5,5,71,231,5,5,205,228,5,5,202,234,5,5,88,231,5,5,4,229,5,5,202,231,5,5,159,224,192,0,0,0,192,0,0,0,5,5,255,228,192,0,0,0,192,0,0,0,5,5,126,232,5,5,71,234,5,5,186,228,5,5,245,234,192,0,0,0,192,0,0,0,5,5,88,233,5,5,227,231,5,5,136,243,5,5,146,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,233,192,0,0,0,5,5,122,234,5,5,109,230,192,0,0,0,5,5,139,243,192,0,0,0,5,5,108,230,5,5,140,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,243,5,5,135,234,192,0,0,0,5,5,251,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,236,5,5,200,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,236,192,0,0,0,5,5,230,233,5,5,21,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,241,5,5,201,241,192,0,0,0,192,0,0,0,5,5,202,241,5,5,207,241,192,0,0,0,192,0,0,0,5,5,169,224,192,0,0,0,5,5,203,241,5,5,206,226,5,5,205,241,5,5,206,241,5,5,208,241,5,5,146,225,5,5,209,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,241,5,5,216,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,236,192,0,0,0,5,5,214,241,5,5,213,241,5,5,53,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,241,192,0,0,0,5,5,18,237,192,0,0,0,5,5,210,241,192,0,0,0,5,5,218,241,5,5,0,148,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,241,192,0,0,0,5,5,133,229,192,0,0,0,5,5,217,241,192,0,0,0,192,0,0,0,5,5,219,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,235,192,0,0,0,192,0,0,0,5,5,221,241,5,5,223,241,5,5,117,230,192,0,0,0,5,5,35,226,192,0,0,0,5,5,234,236,192,0,0,0,192,0,0,0,5,5,79,232,192,0,0,0,192,0,0,0,5,5,123,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,241,5,5,225,241,192,0,0,0,192,0,0,0,5,5,231,241,5,5,3,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,225,192,0,0,0,5,5,246,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,241,192,0,0,0,192,0,0,0,5,5,230,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,241,192,0,0,0,5,5,227,241,5,5,226,241,192,0,0,0,5,5,30,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,237,5,5,228,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,241,5,5,234,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,247,192,0,0,0,192,0,0,0,5,5,243,241,5,5,242,241,5,5,56,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,241,192,0,0,0,192,0,0,0,5,5,238,241,192,0,0,0,5,5,240,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,241,192,0,0,0,5,5,241,241,5,5,237,241,192,0,0,0,192,0,0,0,5,5,239,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,244,192,0,0,0,5,5,34,225,5,5,235,237,192,0,0,0,192,0,0,0,5,5,230,235,5,5,204,224,192,0,0,0,192,0,0,0,5,5,246,226,5,5,97,238,5,5,75,232,5,5,12,229,5,5,2,227,192,0,0,0,5,5,239,234,192,0,0,0,192,0,0,0,5,5,170,224,5,5,183,239,192,0,0,0,5,5,42,228,5,5,101,236,5,5,196,233,5,5,0,171,192,0,0,0,192,0,0,0,5,5,103,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,239,5,5,187,228,192,0,0,0,192,0,0,0,5,5,48,224,5,5,110,233,5,5,120,224,192,0,0,0,5,5,163,233,5,5,65,226,192,0,0,0,5,5,68,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,235,192,0,0,0,192,0,0,0,5,5,186,241,5,5,122,237,5,5,189,241,192,0,0,0,192,0,0,0,5,5,188,241,5,5,133,231,5,5,87,234,192,0,0,0,5,5,249,229,5,5,187,241,5,5,241,237,5,5,107,224,5,5,210,237,5,5,179,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,225,5,5,175,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,235,5,5,0,205,192,0,0,0,192,0,0,0,5,5,190,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,241,5,5,189,224,192,0,0,0,192,0,0,0,5,5,191,241,5,5,192,241,5,5,183,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,230,192,0,0,0,5,5,194,241,5,5,143,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,241,5,5,33,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,241,192,0,0,0,192,0,0,0,5,5,197,241,192,0,0,0,192,0,0,0,5,5,198,241,5,5,43,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,226,5,5,223,231,5,5,80,231,192,0,0,0,5,5,94,224,192,0,0,0,5,5,168,235,192,0,0,0,5,5,53,244,5,5,211,227,5,5,201,236,5,5,182,236,192,0,0,0,5,5,55,227,5,5,79,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,238,192,0,0,0,5,5,110,232,5,5,49,224,192,0,0,0,192,0,0,0,5,5,44,225,5,5,81,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,235,5,5,86,230,5,5,80,242,192,0,0,0,5,5,110,229,5,5,152,236,5,5,175,225,5,5,82,242,5,5,194,225,192,0,0,0,5,5,243,230,5,5,241,226,192,0,0,0,5,5,162,226,192,0,0,0,5,5,151,231,5,5,101,226,5,5,84,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,242,5,5,254,225,5,5,103,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,242,192,0,0,0,5,5,86,242,5,5,154,233,5,5,65,229,5,5,171,236,5,5,85,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,229,5,5,178,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,242,5,5,90,242,5,5,148,229,192,0,0,0,192,0,0,0,5,5,24,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,242,192,0,0,0,5,5,94,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,239,192,0,0,0,5,5,9,236,5,5,92,234,192,0,0,0,192,0,0,0,5,5,118,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,240,5,5,113,238,5,5,54,229,5,5,181,239,5,5,128,236,5,5,30,232,5,5,110,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,240,192,0,0,0,5,5,53,224,5,5,18,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,233,192,0,0,0,5,5,21,241,192,0,0,0,5,5,255,226,192,0,0,0,5,5,145,236,192,0,0,0,5,5,153,226,5,5,157,227,192,0,0,0,192,0,0,0,5,5,244,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,225,5,5,117,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,230,5,5,74,235,5,5,177,227,192,0,0,0,5,5,143,243,5,5,142,243,192,0,0,0,192,0,0,0,5,5,144,243,192,0,0,0,5,5,158,234,192,0,0,0,5,5,213,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,225,5,5,65,232,192,0,0,0,5,5,146,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,243,192,0,0,0,5,5,61,227,5,5,137,225,192,0,0,0,5,5,100,230,5,5,132,243,5,5,131,243,5,5,133,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,242,5,5,164,235,192,0,0,0,5,5,104,234,192,0,0,0,5,5,27,236,192,0,0,0,192,0,0,0,5,5,134,224,5,5,73,224,192,0,0,0,5,5,80,224,5,5,177,231,192,0,0,0,192,0,0,0,5,5,115,237,5,5,162,236,192,0,0,0,5,5,252,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,241,192,0,0,0,5,5,111,236,192,0,0,0,5,5,211,224,5,5,41,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,234,5,5,167,237,5,5,254,241,192,0,0,0,5,5,226,228,5,5,119,225,192,0,0,0,5,5,255,241,5,5,142,227,5,5,2,242,5,5,194,227,5,5,113,230,5,5,3,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,235,192,0,0,0,5,5,119,234,192,0,0,0,192,0,0,0,5,5,4,242,192,0,0,0,5,5,155,225,5,5,139,231,5,5,5,242,192,0,0,0,192,0,0,0,5,5,6,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,242,192,0,0,0,5,5,225,235,192,0,0,0,192,0,0,0,5,5,8,242,5,5,186,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,242,192,0,0,0,5,5,154,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,242,5,5,229,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,235,5,5,96,242,5,5,54,224,5,5,120,236,192,0,0,0,192,0,0,0,5,5,97,242,192,0,0,0,192,0,0,0,5,5,57,228,5,5,172,232,192,0,0,0,5,5,99,242,5,5,50,246,5,5,49,246,5,5,19,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,242,5,5,204,237,5,5,182,234,5,5,172,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,242,192,0,0,0,192,0,0,0,5,5,224,237,5,5,103,242,192,0,0,0,192,0,0,0,5,5,104,242,192,0,0,0,192,0,0,0,5,5,185,236,192,0,0,0,192,0,0,0,5,5,108,242,5,5,120,229,192,0,0,0,5,5,109,242,5,5,101,242,192,0,0,0,192,0,0,0,5,5,218,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,231,192,0,0,0,192,0,0,0,5,5,110,242,192,0,0,0,192,0,0,0,5,5,153,235,192,0,0,0,5,5,168,227,5,5,105,242,5,5,116,226,5,5,195,227,5,5,8,234,5,5,199,233,5,5,100,242,5,5,102,242,5,5,106,242,5,5,107,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,242,192,0,0,0,192,0,0,0,5,5,116,242,5,5,71,237,5,5,115,242,192,0,0,0,192,0,0,0,5,5,113,231,192,0,0,0,5,5,170,237,5,5,134,231,5,5,124,224,192,0,0,0,192,0,0,0,5,5,111,242,192,0,0,0,5,5,114,242,5,5,247,229,5,5,184,233,192,0,0,0,192,0,0,0,5,5,121,225,5,5,121,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,228,5,5,113,242,5,5,170,235,5,5,11,237,5,5,117,242,5,5,42,227,5,5,118,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,238,5,5,51,246,192,0,0,0,192,0,0,0,5,5,120,242,192,0,0,0,5,5,55,246,5,5,126,242,5,5,111,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,229,192,0,0,0,5,5,224,227,192,0,0,0,192,0,0,0,5,5,98,229,192,0,0,0,5,5,149,227,192,0,0,0,192,0,0,0,5,5,157,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,246,5,5,53,246,192,0,0,0,192,0,0,0,5,5,52,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,227,5,5,57,246,5,5,202,235,192,0,0,0,192,0,0,0,5,5,54,246,5,5,144,227,5,5,47,226,5,5,127,242,5,5,232,225,5,5,77,234,5,5,249,226,192,0,0,0,5,5,26,235,5,5,35,232,192,0,0,0,192,0,0,0,5,5,94,229,192,0,0,0,192,0,0,0,5,5,41,226,192,0,0,0,5,5,122,242,5,5,123,242,5,5,125,242,5,5,124,242,5,5,59,231,5,5,128,242,192,0,0,0,5,5,179,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,242,5,5,70,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,235,192,0,0,0,192,0,0,0,5,5,135,242,5,5,105,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,242,192,0,0,0,5,5,234,227,192,0,0,0,5,5,129,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,242,5,5,136,242,192,0,0,0,5,5,132,242,192,0,0,0,5,5,12,235,5,5,184,236,192,0,0,0,192,0,0,0,5,5,204,227,192,0,0,0,192,0,0,0,5,5,21,237,192,0,0,0,5,5,96,231,192,0,0,0,192,0,0,0,5,5,58,246,5,5,210,235,5,5,131,242,192,0,0,0,5,5,251,230,192,0,0,0,5,5,139,242,5,5,13,224,192,0,0,0,5,5,144,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,228,192,0,0,0,192,0,0,0,5,5,138,242,5,5,151,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,232,5,5,142,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,228,5,5,169,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,234,192,0,0,0,192,0,0,0,5,5,141,242,192,0,0,0,5,5,143,242,192,0,0,0,5,5,31,235,5,5,140,242,192,0,0,0,5,5,193,234,5,5,237,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,225,5,5,19,229,5,5,142,224,5,5,231,224,192,0,0,0,5,5,23,224,5,5,137,242,5,5,141,224,5,5,132,225,5,5,51,227,5,5,32,226,192,0,0,0,192,0,0,0,5,5,99,235,5,5,149,242,192,0,0,0,5,5,220,227,192,0,0,0,192,0,0,0,5,5,167,232,5,5,160,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,242,5,5,10,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,246,192,0,0,0,5,5,236,236,5,5,214,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,246,5,5,151,242,5,5,118,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,226,5,5,145,242,192,0,0,0,192,0,0,0,5,5,148,242,5,5,117,226,192,0,0,0,5,5,146,242,5,5,140,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,225,192,0,0,0,5,5,153,242,192,0,0,0,5,5,213,227,192,0,0,0,5,5,55,233,192,0,0,0,192,0,0,0,5,5,37,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,227,5,5,58,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,242,192,0,0,0,5,5,66,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,224,192,0,0,0,192,0,0,0,5,5,73,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,242,5,5,91,227,5,5,62,246,192,0,0,0,192,0,0,0,5,5,155,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,235,192,0,0,0,5,5,0,161,5,5,64,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,246,5,5,171,229,192,0,0,0,5,5,159,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,246,192,0,0,0,5,5,222,226,192,0,0,0,5,5,6,235,5,5,29,245,5,5,189,235,5,5,151,233,5,5,182,232,5,5,47,235,5,5,227,224,5,5,234,234,5,5,178,228,192,0,0,0,192,0,0,0,5,5,188,242,5,5,4,228,5,5,30,245,5,5,109,237,192,0,0,0,5,5,255,231,5,5,31,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,245,192,0,0,0,5,5,34,245,5,5,33,245,192,0,0,0,5,5,36,245,5,5,35,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,228,192,0,0,0,5,5,37,245,192,0,0,0,5,5,102,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,225,5,5,113,225,192,0,0,0,192,0,0,0,5,5,183,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,246,5,5,25,246,5,5,85,226,5,5,245,233,5,5,64,224,192,0,0,0,5,5,27,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,233,5,5,28,246,5,5,29,246,192,0,0,0,5,5,116,233,5,5,212,240,5,5,129,224,5,5,76,237,192,0,0,0,192,0,0,0,5,5,237,231,5,5,0,165,5,5,108,225,5,5,179,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,234,192,0,0,0,192,0,0,0,5,5,68,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,229,192,0,0,0,192,0,0,0,5,5,38,232,5,5,194,237,192,0,0,0,5,5,147,229,5,5,213,240,5,5,230,232,5,5,37,236,5,5,104,231,5,5,0,197,5,5,208,224,5,5,165,232,192,0,0,0,192,0,0,0,5,5,0,192,192,0,0,0,192,0,0,0,5,5,140,226,192,0,0,0,192,0,0,0,5,5,190,231,192,0,0,0,192,0,0,0,5,5,43,226,192,0,0,0,5,5,130,237,5,5,234,224,5,5,44,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,229,5,5,0,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,236,5,5,129,233,5,5,19,238,192,0,0,0,5,5,112,234,5,5,236,225,5,5,69,229,5,5,139,237,192,0,0,0,5,5,155,226,5,5,155,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,240,5,5,101,229,5,5,125,230,5,5,66,232,192,0,0,0,5,5,180,227,5,5,6,224,192,0,0,0,192,0,0,0,5,5,174,231,192,0,0,0,192,0,0,0,5,5,191,231,5,5,3,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,231,192,0,0,0,5,5,215,240,5,5,238,235,5,5,5,225,192,0,0,0,5,5,248,230,192,0,0,0,192,0,0,0,5,5,141,226,192,0,0,0,5,5,4,238,5,5,123,225,5,5,172,224,5,5,26,231,5,5,79,231,5,5,151,229,5,5,216,240,192,0,0,0,5,5,0,198,5,5,136,231,5,5,42,230,192,0,0,0,5,5,41,227,192,0,0,0,5,5,10,229,5,5,146,234,5,5,0,172,192,0,0,0,5,5,137,234,5,5,218,240,5,5,252,228,5,5,44,238,5,5,217,240,5,5,128,237,5,5,0,187,192,0,0,0,192,0,0,0,5,5,72,231,192,0,0,0,192,0,0,0,5,5,75,230,5,5,96,228,192,0,0,0,5,5,167,236,5,5,163,229,5,5,101,231,5,5,98,224,5,5,67,237,192,0,0,0,192,0,0,0,5,5,146,229,5,5,97,233,5,5,219,240,5,5,172,237,192,0,0,0,5,5,4,227,192,0,0,0,5,5,141,232,5,5,165,233,192,0,0,0,5,5,221,240,5,5,73,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,231,5,5,21,238,5,5,78,233,5,5,41,231,192,0,0,0,5,5,240,224,5,5,38,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,237,5,5,114,245,5,5,0,146,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,229,192,0,0,0,192,0,0,0,5,5,80,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,237,5,5,118,230,192,0,0,0,5,5,230,234,5,5,252,233,5,5,132,235,5,5,57,231,5,5,138,225,5,5,220,240,5,5,165,237,5,5,39,228,5,5,227,227,192,0,0,0,192,0,0,0,5,5,0,130,192,0,0,0,5,5,118,231,5,5,102,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,237,192,0,0,0,192,0,0,0,5,5,115,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,240,5,5,96,234,192,0,0,0,192,0,0,0,5,5,166,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,234,5,5,224,240,192,0,0,0,5,5,107,234,5,5,144,229,192,0,0,0,192,0,0,0,5,5,43,238,192,0,0,0,5,5,223,240,5,5,0,164,5,5,102,227,5,5,19,233,5,5,89,231,5,5,22,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,229,5,5,236,233,192,0,0,0,5,5,97,228,5,5,203,227,5,5,143,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,231,192,0,0,0,5,5,234,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,240,5,5,11,229,192,0,0,0,192,0,0,0,5,5,227,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,225,5,5,171,228,192,0,0,0,192,0,0,0,5,5,228,240,5,5,83,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,235,192,0,0,0,5,5,184,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,226,5,5,120,233,5,5,204,225,5,5,233,240,192,0,0,0,5,5,118,237,192,0,0,0,5,5,229,240,5,5,41,234,5,5,34,232,192,0,0,0,5,5,137,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,236,192,0,0,0,5,5,32,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,230,192,0,0,0,5,5,25,234,5,5,210,224,192,0,0,0,5,5,161,228,192,0,0,0,5,5,100,229,5,5,128,234,5,5,16,236,5,5,101,225,192,0,0,0,5,5,232,240,5,5,225,240,5,5,235,240,192,0,0,0,5,5,116,245,192,0,0,0,192,0,0,0,5,5,88,230,5,5,230,240,192,0,0,0,192,0,0,0,5,5,206,237,5,5,127,225,192,0,0,0,5,5,176,224,192,0,0,0,5,5,236,240,192,0,0,0,5,5,246,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,240,192,0,0,0,5,5,245,240,192,0,0,0,192,0,0,0,5,5,192,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,238,5,5,243,240,5,5,238,230,5,5,61,234,192,0,0,0,5,5,161,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,240,192,0,0,0,5,5,239,240,5,5,237,234,192,0,0,0,5,5,33,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,229,5,5,234,228,192,0,0,0,192,0,0,0,5,5,160,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,240,192,0,0,0,5,5,254,236,192,0,0,0,5,5,226,240,192,0,0,0,5,5,238,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,229,192,0,0,0,5,5,240,240,5,5,175,224,5,5,221,226,5,5,79,230,192,0,0,0,192,0,0,0,5,5,143,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,240,5,5,252,240,192,0,0,0,192,0,0,0,5,5,103,224,5,5,30,225,192,0,0,0,192,0,0,0,5,5,100,225,5,5,228,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,240,5,5,205,233,192,0,0,0,5,5,215,226,192,0,0,0,5,5,251,240,5,5,254,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,234,192,0,0,0,5,5,0,191,5,5,104,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,235,192,0,0,0,192,0,0,0,5,5,167,224,192,0,0,0,5,5,117,245,192,0,0,0,5,5,248,240,192,0,0,0,192,0,0,0,5,5,35,233,5,5,247,240,5,5,0,184,5,5,53,236,5,5,85,224,192,0,0,0,5,5,11,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,240,192,0,0,0,5,5,160,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,225,192,0,0,0,5,5,12,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,231,5,5,7,231,5,5,5,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,230,192,0,0,0,5,5,2,241,5,5,29,229,192,0,0,0,5,5,212,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,224,5,5,214,232,192,0,0,0,192,0,0,0,5,5,182,233,5,5,4,241,192,0,0,0,192,0,0,0,5,5,8,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,230,192,0,0,0,192,0,0,0,5,5,77,232,5,5,97,224,5,5,99,225,192,0,0,0,5,5,25,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,231,192,0,0,0,5,5,6,241,5,5,7,241,192,0,0,0,5,5,9,241,192,0,0,0,5,5,101,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,241,192,0,0,0,5,5,200,229,192,0,0,0,192,0,0,0,5,5,3,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,224,5,5,104,232,192,0,0,0,5,5,11,241,192,0,0,0,5,5,94,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,241,5,5,118,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,241,192,0,0,0,5,5,13,241,192,0,0,0,5,5,125,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,229,192,0,0,0,192,0,0,0,5,5,17,241,5,5,181,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,245,5,5,138,245,5,5,115,233,192,0,0,0,5,5,200,238,5,5,184,226,192,0,0,0,5,5,247,226,192,0,0,0,192,0,0,0,5,5,91,226,5,5,174,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,227,192,0,0,0,192,0,0,0,5,5,125,235,5,5,245,248,192,0,0,0,192,0,0,0,5,5,168,225,192,0,0,0,192,0,0,0,5,5,250,230,192,0,0,0,5,5,244,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,245,5,5,0,155,192,0,0,0,192,0,0,0,5,5,154,228,192,0,0,0,5,5,250,229,192,0,0,0,5,5,52,224,5,5,194,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,226,5,5,224,232,192,0,0,0,192,0,0,0,5,5,16,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,245,5,5,224,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,233,192,0,0,0,5,5,69,232,192,0,0,0,5,5,171,237,192,0,0,0,192,0,0,0,5,5,137,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,237,5,5,81,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,245,5,5,0,189,192,0,0,0,5,5,231,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,225,192,0,0,0,5,5,25,230,192,0,0,0,5,5,130,249,5,5,135,235,192,0,0,0,192,0,0,0,5,5,149,237,192,0,0,0,5,5,235,234,192,0,0,0,192,0,0,0,5,5,189,228,5,5,252,224,192,0,0,0,5,5,159,226,192,0,0,0,5,5,102,237,192,0,0,0,5,5,79,246,192,0,0,0,5,5,7,226,192,0,0,0,5,5,181,233,5,5,152,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,226,192,0,0,0,192,0,0,0,5,5,232,245,5,5,71,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,231,192,0,0,0,5,5,235,245,5,5,234,245,5,5,107,230,5,5,233,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,235,5,5,236,245,192,0,0,0,5,5,237,245,5,5,83,238,192,0,0,0,192,0,0,0,5,5,238,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,245,5,5,16,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,234,192,0,0,0,5,5,56,228,192,0,0,0,192,0,0,0,5,5,181,232,5,5,129,225,5,5,245,228,5,5,202,237,5,5,57,237,192,0,0,0,192,0,0,0,5,5,226,235,5,5,199,235,5,5,46,245,5,5,47,245,5,5,48,245,5,5,103,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,233,5,5,129,229,192,0,0,0,192,0,0,0,5,5,180,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,245,192,0,0,0,5,5,0,152,5,5,52,245,192,0,0,0,192,0,0,0,5,5,143,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,245,192,0,0,0,5,5,185,224,192,0,0,0,5,5,253,230,5,5,248,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,236,5,5,14,235,5,5,53,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,245,192,0,0,0,5,5,157,235,5,5,165,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,225,192,0,0,0,5,5,199,230,5,5,96,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,237,192,0,0,0,5,5,101,233,192,0,0,0,5,5,59,245,192,0,0,0,192,0,0,0,5,5,58,245,5,5,61,245,5,5,60,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,237,192,0,0,0,5,5,76,235,192,0,0,0,192,0,0,0,5,5,65,245,192,0,0,0,5,5,222,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,228,5,5,14,233,192,0,0,0,192,0,0,0,5,5,66,245,192,0,0,0,192,0,0,0,5,5,247,232,5,5,118,235,5,5,64,245,5,5,32,237,5,5,67,245,5,5,69,245,192,0,0,0,192,0,0,0,5,5,167,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,245,192,0,0,0,5,5,68,245,192,0,0,0,192,0,0,0,5,5,8,235,192,0,0,0,5,5,238,227,192,0,0,0,5,5,217,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,231,5,5,220,228,5,5,20,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,232,192,0,0,0,5,5,211,228,5,5,70,245,192,0,0,0,192,0,0,0,5,5,213,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,237,192,0,0,0,5,5,71,245,192,0,0,0,192,0,0,0,5,5,54,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,231,5,5,0,147,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,245,5,5,9,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,233,192,0,0,0,5,5,76,245,5,5,77,245,5,5,250,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,245,192,0,0,0,192,0,0,0,5,5,79,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,237,192,0,0,0,5,5,124,232,5,5,75,236,5,5,240,226,192,0,0,0,192,0,0,0,5,5,56,245,192,0,0,0,5,5,152,224,192,0,0,0,192,0,0,0,5,5,164,230,192,0,0,0,5,5,74,237,5,5,66,234,5,5,92,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,237,5,5,194,236,5,5,151,245,5,5,183,231,192,0,0,0,5,5,148,226,192,0,0,0,192,0,0,0,5,5,168,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,233,5,5,178,245,192,0,0,0,5,5,180,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,234,192,0,0,0,5,5,201,224,192,0,0,0,5,5,252,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,245,192,0,0,0,5,5,36,231,192,0,0,0,5,5,204,234,5,5,15,231,5,5,28,224,5,5,79,237,192,0,0,0,5,5,147,233,192,0,0,0,5,5,250,237,192,0,0,0,192,0,0,0,5,5,245,231,5,5,28,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,228,192,0,0,0,192,0,0,0,5,5,182,235,192,0,0,0,192,0,0,0,5,5,239,232,192,0,0,0,5,5,37,237,5,5,136,232,192,0,0,0,192,0,0,0,5,5,191,226,192,0,0,0,5,5,118,244,5,5,250,232,192,0,0,0,192,0,0,0,5,5,115,244,192,0,0,0,5,5,216,229,5,5,169,235,5,5,128,224,5,5,95,225,192,0,0,0,5,5,116,244,192,0,0,0,192,0,0,0,5,5,120,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,225,192,0,0,0,5,5,117,244,5,5,150,233,5,5,208,226,5,5,81,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,229,192,0,0,0,192,0,0,0,5,5,36,236,5,5,119,244,5,5,122,244,192,0,0,0,192,0,0,0,5,5,110,227,192,0,0,0,5,5,11,224,5,5,170,228,192,0,0,0,5,5,51,245,5,5,123,244,192,0,0,0,5,5,126,244,192,0,0,0,5,5,131,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,244,192,0,0,0,5,5,197,233,5,5,0,195,192,0,0,0,5,5,27,228,192,0,0,0,192,0,0,0,5,5,13,227,192,0,0,0,192,0,0,0,5,5,121,244,192,0,0,0,5,5,177,234,192,0,0,0,5,5,130,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,237,192,0,0,0,5,5,32,230,5,5,124,244,192,0,0,0,5,5,188,230,192,0,0,0,5,5,79,227,5,5,180,237,5,5,128,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,233,5,5,56,237,192,0,0,0,5,5,120,244,192,0,0,0,5,5,125,244,5,5,127,244,192,0,0,0,5,5,59,232,5,5,121,226,192,0,0,0,5,5,129,244,192,0,0,0,5,5,105,229,5,5,138,244,192,0,0,0,192,0,0,0,5,5,143,244,192,0,0,0,5,5,141,244,5,5,76,228,5,5,63,228,5,5,147,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,244,192,0,0,0,5,5,146,244,5,5,88,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,182,5,5,25,231,5,5,192,226,5,5,6,232,5,5,158,232,5,5,193,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,244,5,5,140,244,5,5,142,244,192,0,0,0,5,5,69,227,5,5,144,244,5,5,99,238,192,0,0,0,5,5,97,231,192,0,0,0,5,5,148,244,192,0,0,0,192,0,0,0,5,5,165,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,244,192,0,0,0,192,0,0,0,5,5,93,228,192,0,0,0,192,0,0,0,5,5,78,229,5,5,133,244,5,5,9,238,192,0,0,0,5,5,66,230,5,5,173,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,244,192,0,0,0,5,5,95,233,5,5,145,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,237,192,0,0,0,5,5,72,224,5,5,107,237,5,5,134,244,5,5,136,244,5,5,230,225,5,5,139,244,192,0,0,0,5,5,149,244,5,5,162,229,192,0,0,0,5,5,149,233,192,0,0,0,5,5,164,233,192,0,0,0,192,0,0,0,5,5,254,231,5,5,223,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,244,5,5,248,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,244,5,5,153,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,236,5,5,125,227,5,5,237,226,192,0,0,0,192,0,0,0,5,5,229,226,5,5,38,237,5,5,167,244,192,0,0,0,5,5,166,244,5,5,164,244,5,5,68,227,5,5,46,234,5,5,158,244,5,5,190,234,5,5,126,229,192,0,0,0,5,5,0,150,5,5,169,244,5,5,168,244,192,0,0,0,5,5,46,238,192,0,0,0,5,5,156,244,192,0,0,0,5,5,99,234,5,5,225,232,192,0,0,0,5,5,200,227,5,5,169,228,5,5,162,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,244,5,5,155,244,5,5,157,244,5,5,141,225,5,5,159,244,5,5,71,232,5,5,163,244,5,5,165,244,5,5,126,228,5,5,28,238,192,0,0,0,5,5,176,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,244,192,0,0,0,5,5,106,234,5,5,174,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,230,192,0,0,0,5,5,160,244,192,0,0,0,5,5,189,230,5,5,0,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,230,5,5,248,234,5,5,208,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,233,192,0,0,0,5,5,57,234,5,5,139,235,192,0,0,0,192,0,0,0,5,5,127,233,192,0,0,0,5,5,171,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,228,192,0,0,0,5,5,177,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,230,192,0,0,0,5,5,9,232,192,0,0,0,5,5,75,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,210,192,0,0,0,192,0,0,0,5,5,70,238,192,0,0,0,192,0,0,0,5,5,28,228,192,0,0,0,5,5,179,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,234,192,0,0,0,192,0,0,0,5,5,188,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,232,192,0,0,0,5,5,184,244,5,5,204,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,244,5,5,43,227,192,0,0,0,5,5,179,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,244,192,0,0,0,5,5,192,237,5,5,35,238,192,0,0,0,5,5,189,244,192,0,0,0,5,5,133,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,244,5,5,181,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,234,192,0,0,0,192,0,0,0,5,5,64,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,225,192,0,0,0,5,5,53,225,192,0,0,0,192,0,0,0,5,5,193,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,235,192,0,0,0,192,0,0,0,5,5,187,244,192,0,0,0,192,0,0,0,5,5,26,225,192,0,0,0,192,0,0,0,5,5,194,244,5,5,205,229,192,0,0,0,5,5,192,244,192,0,0,0,192,0,0,0,5,5,207,244,192,0,0,0,192,0,0,0,5,5,206,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,244,192,0,0,0,192,0,0,0,5,5,178,244,192,0,0,0,192,0,0,0,5,5,190,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,229,5,5,199,244,5,5,208,244,192,0,0,0,192,0,0,0,5,5,77,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,244,192,0,0,0,5,5,185,226,192,0,0,0,5,5,195,244,192,0,0,0,5,5,206,236,5,5,202,244,5,5,203,244,5,5,205,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,229,5,5,219,244,192,0,0,0,192,0,0,0,5,5,198,244,192,0,0,0,192,0,0,0,5,5,209,244,5,5,0,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,244,5,5,85,237,192,0,0,0,192,0,0,0,5,5,212,244,192,0,0,0,5,5,213,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,244,192,0,0,0,192,0,0,0,5,5,59,230,192,0,0,0,192,0,0,0,5,5,150,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,244,192,0,0,0,5,5,201,244,192,0,0,0,5,5,204,244,192,0,0,0,5,5,193,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,244,5,5,220,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,224,192,0,0,0,5,5,222,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,244,5,5,226,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,237,192,0,0,0,5,5,9,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,244,192,0,0,0,5,5,147,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,244,192,0,0,0,5,5,149,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,244,5,5,230,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,244,192,0,0,0,192,0,0,0,5,5,67,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,244,5,5,226,224,192,0,0,0,5,5,233,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,244,192,0,0,0,192,0,0,0,5,5,240,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,244,192,0,0,0,5,5,242,244,5,5,241,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,244,192,0,0,0,5,5,245,244,5,5,208,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,232,5,5,72,225,5,5,198,227,5,5,150,235,5,5,213,245,192,0,0,0,192,0,0,0,5,5,123,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,245,192,0,0,0,5,5,215,245,5,5,253,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,245,192,0,0,0,192,0,0,0,5,5,217,245,5,5,128,235,192,0,0,0,5,5,58,232,192,0,0,0,192,0,0,0,5,5,220,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,237,5,5,173,237,5,5,69,225,5,5,121,224,5,5,252,234,5,5,11,232,192,0,0,0,192,0,0,0,5,5,155,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,225,192,0,0,0,5,5,188,233,5,5,79,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,244,5,5,249,244,5,5,32,236,5,5,251,244,192,0,0,0,5,5,115,225,5,5,250,244,192,0,0,0,5,5,231,235,5,5,128,233,5,5,140,224,192,0,0,0,5,5,254,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,244,5,5,253,244,192,0,0,0,192,0,0,0,5,5,193,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,244,5,5,2,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,245,5,5,125,231,5,5,6,226,192,0,0,0,5,5,135,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,225,192,0,0,0,5,5,233,227,5,5,227,245,192,0,0,0,192,0,0,0,5,5,119,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,234,192,0,0,0,5,5,30,231,192,0,0,0,5,5,197,230,192,0,0,0,192,0,0,0,5,5,244,225,5,5,133,238,5,5,38,224,5,5,45,224,5,5,47,224,5,5,194,231,192,0,0,0,5,5,46,224,192,0,0,0,5,5,177,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,245,5,5,115,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,245,192,0,0,0,5,5,123,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,245,5,5,127,245,5,5,126,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,245,192,0,0,0,5,5,109,233,5,5,129,238,5,5,247,230,192,0,0,0,5,5,171,230,5,5,28,232,5,5,129,245,5,5,48,231,192,0,0,0,5,5,130,245,5,5,131,245,5,5,132,245,5,5,107,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,226,192,0,0,0,5,5,133,245,5,5,100,232,192,0,0,0,5,5,135,245,192,0,0,0,5,5,86,227,5,5,43,236,5,5,0,143,5,5,134,245,5,5,136,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,225,5,5,112,230,5,5,106,232,192,0,0,0,5,5,137,245,192,0,0,0,5,5,170,233,5,5,189,242,192,0,0,0,192,0,0,0,5,5,178,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,239,192,0,0,0,192,0,0,0,5,5,91,234,5,5,187,237,5,5,117,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,239,5,5,243,227,192,0,0,0,5,5,108,227,5,5,192,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,242,5,5,7,233,192,0,0,0,5,5,107,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,235,5,5,191,242,5,5,202,232,5,5,3,227,5,5,123,228,5,5,242,224,5,5,243,234,192,0,0,0,192,0,0,0,5,5,28,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,242,5,5,199,242,5,5,174,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,234,192,0,0,0,5,5,35,228,192,0,0,0,5,5,200,242,192,0,0,0,5,5,201,242,192,0,0,0,192,0,0,0,5,5,176,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,232,5,5,112,226,192,0,0,0,192,0,0,0,5,5,97,232,5,5,94,236,5,5,238,234,192,0,0,0,5,5,194,242,5,5,202,242,192,0,0,0,5,5,50,233,5,5,219,224,192,0,0,0,192,0,0,0,5,5,197,242,192,0,0,0,192,0,0,0,5,5,7,232,5,5,195,242,192,0,0,0,192,0,0,0,5,5,69,246,5,5,196,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,232,192,0,0,0,5,5,170,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,227,192,0,0,0,5,5,193,230,192,0,0,0,5,5,193,242,5,5,129,231,5,5,236,229,5,5,129,230,5,5,147,224,192,0,0,0,5,5,203,242,5,5,182,227,5,5,19,231,192,0,0,0,5,5,206,242,5,5,8,229,192,0,0,0,192,0,0,0,5,5,217,242,5,5,211,242,5,5,133,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,226,5,5,191,236,192,0,0,0,5,5,220,237,5,5,131,237,5,5,21,227,5,5,100,237,5,5,14,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,235,5,5,120,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,232,5,5,112,224,192,0,0,0,5,5,224,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,242,192,0,0,0,192,0,0,0,5,5,218,242,5,5,205,242,5,5,62,226,5,5,213,242,5,5,210,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,226,192,0,0,0,192,0,0,0,5,5,102,231,192,0,0,0,5,5,212,242,5,5,161,231,5,5,100,224,5,5,32,232,192,0,0,0,5,5,70,231,192,0,0,0,192,0,0,0,5,5,16,238,192,0,0,0,5,5,203,229,5,5,215,242,192,0,0,0,192,0,0,0,5,5,216,242,5,5,219,242,5,5,5,234,5,5,209,242,192,0,0,0,5,5,176,236,192,0,0,0,5,5,33,224,5,5,70,246,5,5,207,242,5,5,208,242,192,0,0,0,5,5,214,242,5,5,144,235,5,5,229,231,5,5,69,237,5,5,220,242,192,0,0,0,192,0,0,0,5,5,174,228,192,0,0,0,192,0,0,0,5,5,227,242,192,0,0,0,192,0,0,0,5,5,226,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,236,5,5,223,242,192,0,0,0,5,5,229,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,235,192,0,0,0,5,5,228,242,5,5,234,242,5,5,141,230,192,0,0,0,192,0,0,0,5,5,234,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,228,192,0,0,0,5,5,222,242,192,0,0,0,192,0,0,0,5,5,155,227,5,5,230,242,192,0,0,0,192,0,0,0,5,5,232,242,192,0,0,0,192,0,0,0,5,5,53,226,5,5,236,237,5,5,238,242,192,0,0,0,5,5,233,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,242,192,0,0,0,5,5,254,227,5,5,151,234,5,5,36,232,5,5,141,231,192,0,0,0,192,0,0,0,5,5,65,230,192,0,0,0,5,5,224,242,192,0,0,0,5,5,53,232,5,5,122,228,5,5,139,228,5,5,225,242,192,0,0,0,5,5,53,238,5,5,158,224,192,0,0,0,5,5,231,242,5,5,51,228,5,5,235,242,192,0,0,0,5,5,251,227,5,5,236,242,5,5,108,231,5,5,237,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,237,5,5,47,229,192,0,0,0,5,5,246,242,192,0,0,0,5,5,243,242,192,0,0,0,5,5,247,242,192,0,0,0,192,0,0,0,5,5,249,242,192,0,0,0,192,0,0,0,5,5,248,231,192,0,0,0,192,0,0,0,5,5,120,227,5,5,181,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,226,5,5,240,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,236,192,0,0,0,192,0,0,0,5,5,85,227,5,5,204,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,234,192,0,0,0,192,0,0,0,5,5,95,231,192,0,0,0,192,0,0,0,5,5,115,235,5,5,38,233,192,0,0,0,192,0,0,0,5,5,177,236,192,0,0,0,5,5,73,235,192,0,0,0,192,0,0,0,5,5,239,242,192,0,0,0,5,5,244,242,5,5,245,242,5,5,69,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,234,192,0,0,0,5,5,190,229,5,5,241,242,5,5,248,229,5,5,242,242,5,5,232,234,192,0,0,0,5,5,209,227,5,5,171,225,192,0,0,0,5,5,211,232,5,5,117,228,5,5,119,237,5,5,234,232,5,5,150,226,5,5,8,243,192,0,0,0,192,0,0,0,5,5,10,243,5,5,248,235,192,0,0,0,192,0,0,0,5,5,78,236,192,0,0,0,192,0,0,0,5,5,95,227,192,0,0,0,192,0,0,0,5,5,134,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,242,5,5,197,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,238,5,5,252,242,5,5,117,235,5,5,251,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,230,5,5,38,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,231,192,0,0,0,5,5,48,234,5,5,6,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,243,5,5,253,242,192,0,0,0,5,5,2,243,5,5,133,225,192,0,0,0,192,0,0,0,5,5,203,236,192,0,0,0,5,5,4,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,236,5,5,93,225,192,0,0,0,5,5,196,227,192,0,0,0,192,0,0,0,5,5,46,233,192,0,0,0,5,5,56,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,227,192,0,0,0,5,5,3,236,192,0,0,0,5,5,73,234,5,5,71,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,236,192,0,0,0,5,5,9,243,5,5,67,238,5,5,254,242,192,0,0,0,5,5,115,228,5,5,3,243,192,0,0,0,192,0,0,0,5,5,216,236,192,0,0,0,5,5,7,243,5,5,56,233,192,0,0,0,192,0,0,0,5,5,250,242,192,0,0,0,192,0,0,0,5,5,215,236,192,0,0,0,192,0,0,0,5,5,128,232,5,5,255,225,192,0,0,0,5,5,78,237,5,5,111,224,5,5,21,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,234,192,0,0,0,5,5,11,243,192,0,0,0,5,5,212,234,192,0,0,0,5,5,207,226,192,0,0,0,192,0,0,0,5,5,20,243,192,0,0,0,5,5,86,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,236,192,0,0,0,5,5,242,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,231,5,5,22,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,234,5,5,13,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,243,5,5,19,243,192,0,0,0,5,5,176,227,192,0,0,0,5,5,94,235,192,0,0,0,192,0,0,0,5,5,111,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,243,192,0,0,0,192,0,0,0,5,5,12,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,234,5,5,72,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,229,192,0,0,0,5,5,116,228,5,5,17,243,192,0,0,0,192,0,0,0,5,5,188,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,243,5,5,6,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,230,192,0,0,0,192,0,0,0,5,5,39,243,192,0,0,0,192,0,0,0,5,5,123,236,192,0,0,0,192,0,0,0,5,5,29,243,192,0,0,0,5,5,30,243,192,0,0,0,192,0,0,0,5,5,34,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,233,192,0,0,0,5,5,24,243,5,5,15,243,192,0,0,0,5,5,35,243,192,0,0,0,5,5,188,232,5,5,33,243,192,0,0,0,192,0,0,0,5,5,77,231,5,5,32,243,192,0,0,0,5,5,31,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,225,5,5,38,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,243,192,0,0,0,5,5,188,227,192,0,0,0,5,5,64,238,5,5,43,234,5,5,204,245,192,0,0,0,5,5,34,243,192,0,0,0,192,0,0,0,5,5,74,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,237,5,5,23,243,5,5,26,243,5,5,162,230,5,5,28,243,192,0,0,0,5,5,115,230,5,5,174,229,5,5,120,230,192,0,0,0,5,5,83,224,5,5,14,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,232,192,0,0,0,192,0,0,0,5,5,51,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,229,5,5,19,236,5,5,44,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,243,5,5,50,243,5,5,166,230,192,0,0,0,5,5,27,243,192,0,0,0,5,5,46,243,192,0,0,0,5,5,156,233,192,0,0,0,5,5,116,237,192,0,0,0,192,0,0,0,5,5,47,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,243,5,5,42,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,243,192,0,0,0,5,5,195,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,232,192,0,0,0,5,5,98,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,234,5,5,203,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,243,192,0,0,0,5,5,49,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,243,192,0,0,0,5,5,59,243,192,0,0,0,5,5,58,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,224,5,5,53,243,192,0,0,0,192,0,0,0,5,5,55,243,5,5,54,243,5,5,176,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,162,192,0,0,0,192,0,0,0,5,5,64,243,192,0,0,0,192,0,0,0,5,5,63,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,228,192,0,0,0,5,5,65,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,243,5,5,82,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,243,192,0,0,0,5,5,69,243,5,5,66,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,243,5,5,70,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,243,5,5,73,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,227,192,0,0,0,192,0,0,0,5,5,76,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,228,5,5,21,246,5,5,246,230,192,0,0,0,5,5,158,225,5,5,226,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,230,5,5,64,237,192,0,0,0,5,5,240,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,238,192,0,0,0,5,5,40,237,5,5,143,224,5,5,240,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,230,5,5,48,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,224,192,0,0,0,5,5,146,232,5,5,71,229,5,5,242,245,192,0,0,0,192,0,0,0,5,5,217,237,192,0,0,0,192,0,0,0,5,5,241,245,5,5,243,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,245,5,5,20,229,5,5,27,234,5,5,158,231,5,5,232,228,192,0,0,0,5,5,248,245,192,0,0,0,5,5,92,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,245,5,5,88,237,5,5,187,225,192,0,0,0,5,5,244,245,5,5,254,229,5,5,253,224,192,0,0,0,192,0,0,0,5,5,245,245,5,5,180,233,5,5,173,229,5,5,90,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,230,192,0,0,0,5,5,250,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,227,5,5,189,229,192,0,0,0,5,5,2,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,229,192,0,0,0,5,5,73,226,5,5,21,233,5,5,249,245,5,5,242,227,192,0,0,0,5,5,40,234,5,5,203,228,5,5,168,232,192,0,0,0,5,5,33,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,234,192,0,0,0,5,5,175,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,235,5,5,106,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,245,192,0,0,0,192,0,0,0,5,5,252,245,192,0,0,0,5,5,208,227,5,5,253,245,192,0,0,0,5,5,22,246,5,5,24,224,5,5,111,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,245,5,5,28,236,5,5,255,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,246,192,0,0,0,5,5,221,227,192,0,0,0,5,5,85,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,246,192,0,0,0,5,5,245,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,230,192,0,0,0,5,5,23,246,5,5,133,237,5,5,4,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,246,5,5,2,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,246,192,0,0,0,5,5,9,246,192,0,0,0,192,0,0,0,5,5,253,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,246,5,5,15,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,233,5,5,14,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,156,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,246,192,0,0,0,5,5,12,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,246,5,5,22,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,237,192,0,0,0,5,5,17,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,246,192,0,0,0,5,5,20,238,192,0,0,0,5,5,132,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,245,5,5,0,140,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,229,5,5,172,226,5,5,67,236,5,5,0,180,5,5,209,225,192,0,0,0,5,5,127,238,192,0,0,0,5,5,168,233,192,0,0,0,5,5,187,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,231,5,5,0,196,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,231,5,5,141,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,245,192,0,0,0,192,0,0,0,5,5,244,235,192,0,0,0,5,5,103,231,192,0,0,0,5,5,104,245,192,0,0,0,5,5,24,231,192,0,0,0,5,5,27,231,5,5,184,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,245,5,5,39,231,192,0,0,0,5,5,9,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,245,5,5,106,245,192,0,0,0,192,0,0,0,5,5,60,233,192,0,0,0,192,0,0,0,5,5,37,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,234,5,5,24,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,245,5,5,108,245,5,5,36,235,5,5,209,229,192,0,0,0,192,0,0,0,5,5,109,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,225,5,5,110,245,192,0,0,0,5,5,111,245,192,0,0,0,5,5,112,245,192,0,0,0,192,0,0,0,5,5,113,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,232,5,5,13,242,192,0,0,0,5,5,78,226,5,5,14,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,242,192,0,0,0,5,5,34,238,5,5,16,242,5,5,17,242,5,5,190,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,242,5,5,125,229,5,5,18,242,5,5,170,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,242,5,5,20,242,192,0,0,0,5,5,174,227,192,0,0,0,5,5,22,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,227,192,0,0,0,5,5,253,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,231,192,0,0,0,5,5,143,227,5,5,148,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,242,5,5,25,242,192,0,0,0,192,0,0,0,5,5,246,225,5,5,57,235,5,5,70,233,5,5,24,242,5,5,168,237,5,5,238,236,5,5,26,242,5,5,30,242,5,5,27,242,192,0,0,0,192,0,0,0,5,5,28,242,5,5,212,229,192,0,0,0,5,5,32,242,5,5,33,242,5,5,177,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,242,192,0,0,0,5,5,31,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,242,192,0,0,0,5,5,40,242,5,5,186,224,5,5,34,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,230,5,5,126,224,5,5,39,242,5,5,38,242,192,0,0,0,192,0,0,0,5,5,36,242,5,5,41,242,192,0,0,0,192,0,0,0,5,5,43,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,235,5,5,251,237,5,5,174,230,5,5,44,242,192,0,0,0,5,5,79,235,192,0,0,0,192,0,0,0,5,5,46,242,192,0,0,0,192,0,0,0,5,5,161,227,192,0,0,0,192,0,0,0,5,5,246,244,5,5,45,242,5,5,42,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,227,5,5,5,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,242,192,0,0,0,192,0,0,0,5,5,47,242,192,0,0,0,5,5,247,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,242,5,5,251,233,192,0,0,0,5,5,52,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,235,192,0,0,0,192,0,0,0,5,5,114,230,192,0,0,0,5,5,227,236,192,0,0,0,5,5,175,234,192,0,0,0,192,0,0,0,5,5,58,244,192,0,0,0,192,0,0,0,5,5,59,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,244,192,0,0,0,192,0,0,0,5,5,61,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,234,192,0,0,0,5,5,187,230,192,0,0,0,192,0,0,0,5,5,60,244,5,5,199,227,5,5,78,235,192,0,0,0,5,5,43,230,5,5,67,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,244,192,0,0,0,192,0,0,0,5,5,78,244,5,5,95,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,244,192,0,0,0,5,5,64,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,244,5,5,69,244,5,5,248,232,192,0,0,0,192,0,0,0,5,5,148,237,192,0,0,0,5,5,63,244,5,5,63,226,5,5,65,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,244,192,0,0,0,5,5,247,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,244,192,0,0,0,5,5,76,244,192,0,0,0,5,5,75,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,232,192,0,0,0,5,5,175,229,5,5,215,229,192,0,0,0,192,0,0,0,5,5,58,230,5,5,74,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,244,5,5,242,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,244,5,5,89,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,238,192,0,0,0,192,0,0,0,5,5,84,244,5,5,83,244,192,0,0,0,5,5,85,244,192,0,0,0,5,5,81,244,192,0,0,0,5,5,88,244,192,0,0,0,5,5,87,244,192,0,0,0,5,5,86,244,192,0,0,0,192,0,0,0,5,5,31,230,5,5,91,232,5,5,193,231,5,5,135,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,244,192,0,0,0,5,5,93,244,192,0,0,0,5,5,95,244,5,5,169,227,5,5,82,244,5,5,92,244,192,0,0,0,5,5,208,232,5,5,232,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,244,192,0,0,0,192,0,0,0,5,5,57,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,236,5,5,96,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,244,192,0,0,0,5,5,101,244,5,5,102,244,192,0,0,0,5,5,239,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,244,192,0,0,0,192,0,0,0,5,5,100,244,192,0,0,0,5,5,108,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,244,192,0,0,0,5,5,105,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,244,5,5,106,244,5,5,107,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,227,192,0,0,0,5,5,90,247,192,0,0,0,5,5,91,247,192,0,0,0,5,5,210,231,5,5,0,200,5,5,159,232,192,0,0,0,5,5,153,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,234,5,5,39,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,245,192,0,0,0,5,5,225,231,5,5,67,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,240,192,0,0,0,5,5,42,245,192,0,0,0,5,5,43,245,192,0,0,0,5,5,44,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,226,5,5,20,241,5,5,53,233,192,0,0,0,5,5,76,234,192,0,0,0,192,0,0,0,5,5,58,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,233,192,0,0,0,192,0,0,0,5,5,181,236,5,5,162,233,192,0,0,0,5,5,154,226,5,5,92,247,5,5,32,224,192,0,0,0,5,5,84,243,5,5,75,234,5,5,187,236,5,5,71,228,5,5,42,233,192,0,0,0,5,5,191,225,192,0,0,0,5,5,54,231,5,5,193,225,192,0,0,0,5,5,158,246,5,5,189,227,192,0,0,0,192,0,0,0,5,5,56,244,192,0,0,0,5,5,159,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,224,192,0,0,0,192,0,0,0,5,5,162,246,192,0,0,0,192,0,0,0,5,5,161,246,5,5,181,228,192,0,0,0,5,5,160,246,5,5,207,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,230,5,5,182,239,5,5,163,246,5,5,201,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,230,5,5,12,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,246,192,0,0,0,5,5,7,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,228,5,5,165,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,246,192,0,0,0,192,0,0,0,5,5,124,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,233,192,0,0,0,5,5,93,236,5,5,136,247,192,0,0,0,5,5,137,247,192,0,0,0,5,5,138,247,5,5,16,230,192,0,0,0,5,5,225,226,5,5,250,228,192,0,0,0,192,0,0,0,5,5,140,247,192,0,0,0,5,5,117,231,5,5,139,247,5,5,39,236,192,0,0,0,5,5,142,247,5,5,0,170,5,5,184,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,236,5,5,141,247,192,0,0,0,5,5,41,225,5,5,126,226,5,5,148,247,5,5,147,247,5,5,197,231,5,5,143,247,5,5,144,247,5,5,61,225,192,0,0,0,192,0,0,0,5,5,145,247,5,5,158,237,192,0,0,0,192,0,0,0,5,5,55,234,5,5,254,228,5,5,34,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,247,5,5,149,247,5,5,146,247,5,5,93,224,192,0,0,0,5,5,176,237,5,5,170,236,5,5,227,228,5,5,140,232,192,0,0,0,192,0,0,0,5,5,152,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,236,192,0,0,0,5,5,218,237,5,5,141,227,5,5,151,247,192,0,0,0,5,5,241,225,192,0,0,0,192,0,0,0,5,5,110,234,192,0,0,0,192,0,0,0,5,5,200,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,229,5,5,153,247,5,5,156,247,192,0,0,0,5,5,155,247,5,5,158,247,5,5,154,247,192,0,0,0,5,5,206,227,5,5,157,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,234,5,5,160,247,192,0,0,0,192,0,0,0,5,5,239,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,224,192,0,0,0,192,0,0,0,5,5,161,247,192,0,0,0,192,0,0,0,5,5,162,247,5,5,164,247,5,5,91,225,192,0,0,0,5,5,159,247,192,0,0,0,5,5,165,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,247,192,0,0,0,5,5,166,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,247,192,0,0,0,5,5,167,247,5,5,170,247,5,5,172,247,192,0,0,0,5,5,173,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,234,5,5,176,247,192,0,0,0,5,5,175,247,192,0,0,0,5,5,64,230,5,5,169,247,5,5,123,233,192,0,0,0,192,0,0,0,5,5,107,225,5,5,79,224,5,5,13,234,192,0,0,0,5,5,178,247,192,0,0,0,192,0,0,0,5,5,179,247,192,0,0,0,192,0,0,0,5,5,184,247,5,5,126,237,5,5,181,247,192,0,0,0,192,0,0,0,5,5,147,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,247,192,0,0,0,5,5,183,247,5,5,180,247,5,5,177,247,192,0,0,0,192,0,0,0,5,5,182,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,135,5,5,185,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,247,192,0,0,0,5,5,189,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,247,192,0,0,0,5,5,186,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,227,192,0,0,0,192,0,0,0,5,5,159,225,192,0,0,0,5,5,0,181,5,5,0,183,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,237,192,0,0,0,5,5,156,225,192,0,0,0,5,5,162,228,5,5,218,227,5,5,85,247,192,0,0,0,192,0,0,0,5,5,210,226,192,0,0,0,192,0,0,0,5,5,86,247,192,0,0,0,192,0,0,0,5,5,0,134,192,0,0,0,5,5,87,247,192,0,0,0,192,0,0,0,5,5,168,234,192,0,0,0,192,0,0,0,5,5,88,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,238,192,0,0,0,192,0,0,0,5,5,89,247,5,5,107,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,231,192,0,0,0,192,0,0,0,5,5,243,237,5,5,240,247,192,0,0,0,5,5,241,247,192,0,0,0,192,0,0,0,5,5,108,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,230,192,0,0,0,192,0,0,0,5,5,205,236,192,0,0,0,192,0,0,0,5,5,223,237,5,5,172,231,192,0,0,0,5,5,161,236,192,0,0,0,5,5,122,236,192,0,0,0,192,0,0,0,5,5,177,246,5,5,0,153,5,5,101,237,5,5,4,236,5,5,80,228,5,5,130,227,192,0,0,0,5,5,132,229,192,0,0,0,5,5,187,226,5,5,153,225,5,5,144,231,192,0,0,0,192,0,0,0,5,5,64,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,231,5,5,216,225,192,0,0,0,5,5,126,246,5,5,170,230,192,0,0,0,5,5,191,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,235,5,5,129,246,192,0,0,0,192,0,0,0,5,5,146,231,192,0,0,0,5,5,20,226,192,0,0,0,192,0,0,0,5,5,63,233,192,0,0,0,192,0,0,0,5,5,127,246,192,0,0,0,192,0,0,0,5,5,130,246,5,5,131,246,5,5,194,230,192,0,0,0,5,5,64,229,192,0,0,0,5,5,128,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,246,5,5,132,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,237,5,5,229,230,192,0,0,0,5,5,133,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,246,192,0,0,0,5,5,83,237,5,5,215,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,246,192,0,0,0,5,5,214,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,246,5,5,128,229,5,5,26,229,5,5,138,246,192,0,0,0,5,5,83,234,192,0,0,0,5,5,17,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,238,5,5,166,237,192,0,0,0,5,5,142,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,246,5,5,140,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,246,5,5,210,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,233,5,5,145,246,5,5,243,225,192,0,0,0,5,5,146,246,5,5,38,231,192,0,0,0,5,5,144,246,192,0,0,0,192,0,0,0,5,5,172,228,5,5,131,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,246,5,5,134,238,5,5,147,246,5,5,150,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,230,5,5,14,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,246,5,5,148,246,5,5,49,235,192,0,0,0,192,0,0,0,5,5,152,246,5,5,159,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,246,5,5,154,246,192,0,0,0,5,5,175,240,192,0,0,0,192,0,0,0,5,5,213,231,192,0,0,0,5,5,72,232,192,0,0,0,5,5,5,238,5,5,161,225,192,0,0,0,5,5,174,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,246,192,0,0,0,192,0,0,0,5,5,101,234,192,0,0,0,5,5,156,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,237,192,0,0,0,5,5,157,246,192,0,0,0,5,5,170,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,230,5,5,242,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,233,5,5,103,236,192,0,0,0,5,5,184,237,192,0,0,0,5,5,66,247,192,0,0,0,5,5,6,229,192,0,0,0,5,5,145,228,5,5,67,247,5,5,4,226,5,5,0,137,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,233,192,0,0,0,192,0,0,0,5,5,72,246,192,0,0,0,5,5,73,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,235,5,5,69,226,5,5,127,229,5,5,74,246,5,5,147,230,5,5,238,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,246,192,0,0,0,192,0,0,0,5,5,26,232,5,5,63,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,246,5,5,188,231,192,0,0,0,5,5,6,236,192,0,0,0,5,5,23,238,5,5,76,246,5,5,77,246,192,0,0,0,5,5,24,236,192,0,0,0,5,5,81,246,5,5,82,246,192,0,0,0,5,5,86,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,246,192,0,0,0,5,5,88,246,5,5,96,246,5,5,152,237,192,0,0,0,5,5,91,246,192,0,0,0,192,0,0,0,5,5,89,246,5,5,80,246,192,0,0,0,192,0,0,0,5,5,173,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,231,192,0,0,0,192,0,0,0,5,5,41,233,5,5,36,237,5,5,83,246,5,5,84,246,5,5,85,246,5,5,87,246,192,0,0,0,5,5,227,229,192,0,0,0,5,5,27,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,227,192,0,0,0,5,5,98,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,246,192,0,0,0,5,5,92,246,192,0,0,0,5,5,97,246,192,0,0,0,5,5,18,235,192,0,0,0,192,0,0,0,5,5,178,233,5,5,94,246,5,5,95,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,246,5,5,60,230,5,5,164,236,5,5,93,246,5,5,151,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,246,192,0,0,0,5,5,199,225,192,0,0,0,192,0,0,0,5,5,93,230,5,5,0,139,5,5,229,233,192,0,0,0,192,0,0,0,5,5,12,224,192,0,0,0,5,5,102,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,234,5,5,186,225,192,0,0,0,5,5,103,246,5,5,101,246,5,5,105,246,192,0,0,0,192,0,0,0,5,5,210,225,192,0,0,0,5,5,106,246,192,0,0,0,5,5,107,246,192,0,0,0,5,5,110,246,192,0,0,0,5,5,42,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,231,5,5,94,228,5,5,108,246,5,5,24,234,5,5,166,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,231,192,0,0,0,192,0,0,0,5,5,63,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,246,5,5,196,229,5,5,98,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,246,5,5,80,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,246,192,0,0,0,5,5,117,246,192,0,0,0,192,0,0,0,5,5,33,230,192,0,0,0,192,0,0,0,5,5,215,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,233,5,5,30,246,5,5,219,229,192,0,0,0,5,5,39,233,192,0,0,0,5,5,31,246,5,5,18,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,246,192,0,0,0,5,5,17,232,5,5,33,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,246,192,0,0,0,192,0,0,0,5,5,84,238,5,5,39,246,192,0,0,0,192,0,0,0,5,5,37,246,5,5,34,246,5,5,35,246,5,5,17,238,5,5,49,233,5,5,234,233,5,5,40,246,192,0,0,0,5,5,38,246,192,0,0,0,192,0,0,0,5,5,97,235,192,0,0,0,5,5,42,246,5,5,211,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,228,192,0,0,0,5,5,41,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,225,5,5,8,228,192,0,0,0,5,5,43,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,239,5,5,201,228,192,0,0,0,192,0,0,0,5,5,99,230,5,5,44,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,236,5,5,122,238,5,5,213,229,192,0,0,0,5,5,95,232,5,5,126,227,192,0,0,0,5,5,185,235,5,5,185,233,192,0,0,0,5,5,116,234,192,0,0,0,192,0,0,0,5,5,197,226,192,0,0,0,192,0,0,0,5,5,90,224,192,0,0,0,5,5,113,232,192,0,0,0,5,5,228,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,229,5,5,241,230,192,0,0,0,192,0,0,0,5,5,69,247,192,0,0,0,192,0,0,0,5,5,222,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,247,5,5,237,224,192,0,0,0,5,5,90,232,5,5,35,236,192,0,0,0,5,5,214,237,192,0,0,0,5,5,72,247,192,0,0,0,5,5,70,247,192,0,0,0,5,5,15,228,5,5,224,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,228,192,0,0,0,192,0,0,0,5,5,90,236,192,0,0,0,5,5,240,227,192,0,0,0,192,0,0,0,5,5,25,235,192,0,0,0,5,5,76,247,5,5,75,247,192,0,0,0,192,0,0,0,5,5,73,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,224,192,0,0,0,5,5,20,233,5,5,172,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,247,192,0,0,0,192,0,0,0,5,5,0,188,192,0,0,0,192,0,0,0,5,5,215,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,247,192,0,0,0,5,5,9,225,192,0,0,0,192,0,0,0,5,5,187,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,247,192,0,0,0,5,5,79,247,192,0,0,0,5,5,150,225,5,5,74,228,5,5,14,228,192,0,0,0,5,5,217,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,235,192,0,0,0,5,5,235,228,5,5,112,232,5,5,194,247,5,5,195,247,5,5,97,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,225,5,5,196,247,5,5,117,234,192,0,0,0,5,5,86,232,5,5,93,237,192,0,0,0,5,5,197,247,192,0,0,0,5,5,198,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,236,5,5,221,237,192,0,0,0,192,0,0,0,5,5,199,247,5,5,159,228,5,5,42,225,5,5,233,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,225,5,5,233,234,192,0,0,0,5,5,107,229,5,5,201,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,229,5,5,200,247,192,0,0,0,5,5,203,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,247,5,5,204,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,233,192,0,0,0,192,0,0,0,5,5,110,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,228,5,5,229,228,5,5,114,237,192,0,0,0,192,0,0,0,5,5,46,229,192,0,0,0,5,5,105,234,5,5,193,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,228,192,0,0,0,5,5,3,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,237,5,5,141,248,192,0,0,0,192,0,0,0,5,5,142,248,192,0,0,0,5,5,193,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,248,5,5,145,248,192,0,0,0,5,5,0,168,192,0,0,0,5,5,143,248,192,0,0,0,5,5,147,248,5,5,237,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,248,192,0,0,0,5,5,124,235,192,0,0,0,192,0,0,0,5,5,40,224,5,5,146,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,248,192,0,0,0,5,5,169,225,192,0,0,0,192,0,0,0,5,5,161,248,192,0,0,0,5,5,156,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,248,5,5,157,248,5,5,145,226,192,0,0,0,5,5,29,224,192,0,0,0,5,5,152,248,5,5,148,248,5,5,178,225,192,0,0,0,5,5,154,248,192,0,0,0,192,0,0,0,5,5,155,248,192,0,0,0,5,5,159,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,248,192,0,0,0,5,5,83,228,192,0,0,0,5,5,71,230,192,0,0,0,5,5,160,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,248,192,0,0,0,5,5,150,248,192,0,0,0,5,5,160,225,192,0,0,0,5,5,188,228,5,5,166,248,192,0,0,0,192,0,0,0,5,5,58,226,5,5,124,229,5,5,14,238,5,5,108,234,192,0,0,0,5,5,106,225,192,0,0,0,5,5,155,224,192,0,0,0,5,5,162,248,192,0,0,0,5,5,163,248,5,5,246,232,192,0,0,0,5,5,167,248,192,0,0,0,192,0,0,0,5,5,168,248,192,0,0,0,5,5,171,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,248,192,0,0,0,192,0,0,0,5,5,173,248,5,5,172,248,192,0,0,0,192,0,0,0,5,5,165,248,192,0,0,0,5,5,118,229,192,0,0,0,5,5,11,225,192,0,0,0,5,5,170,248,192,0,0,0,192,0,0,0,5,5,43,232,192,0,0,0,5,5,98,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,227,192,0,0,0,192,0,0,0,5,5,174,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,224,5,5,16,228,192,0,0,0,5,5,223,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,248,5,5,179,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,227,5,5,184,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,248,5,5,176,248,5,5,180,248,5,5,137,230,5,5,182,248,5,5,185,248,5,5,178,248,5,5,109,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,235,192,0,0,0,192,0,0,0,5,5,186,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,238,5,5,204,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,248,192,0,0,0,5,5,80,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,226,5,5,191,248,192,0,0,0,192,0,0,0,5,5,190,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,248,5,5,193,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,229,192,0,0,0,192,0,0,0,5,5,211,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,248,192,0,0,0,5,5,196,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,248,5,5,195,248,192,0,0,0,192,0,0,0,5,5,198,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,248,5,5,217,227,192,0,0,0,192,0,0,0,5,5,202,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,224,5,5,206,248,5,5,205,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,230,5,5,13,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,229,5,5,244,248,5,5,63,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,248,5,5,235,229,192,0,0,0,192,0,0,0,5,5,235,231,192,0,0,0,5,5,80,225,5,5,99,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,248,5,5,247,248,5,5,249,248,5,5,214,233,192,0,0,0,192,0,0,0,5,5,250,248,192,0,0,0,5,5,19,237,5,5,238,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,230,192,0,0,0,192,0,0,0,5,5,5,230,5,5,251,248,5,5,216,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,225,192,0,0,0,192,0,0,0,5,5,252,248,5,5,253,248,5,5,215,228,192,0,0,0,192,0,0,0,5,5,254,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,249,192,0,0,0,5,5,255,248,5,5,4,249,192,0,0,0,5,5,175,227,192,0,0,0,5,5,2,249,5,5,3,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,226,5,5,35,234,5,5,6,249,192,0,0,0,5,5,150,224,192,0,0,0,192,0,0,0,5,5,217,230,192,0,0,0,192,0,0,0,5,5,53,237,5,5,67,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,249,192,0,0,0,192,0,0,0,5,5,45,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,233,192,0,0,0,5,5,243,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,243,5,5,236,228,5,5,244,243,5,5,158,227,5,5,245,243,5,5,67,235,5,5,246,243,5,5,14,237,5,5,38,228,5,5,247,243,5,5,248,243,5,5,61,228,5,5,178,232,5,5,203,234,5,5,249,243,192,0,0,0,5,5,57,225,5,5,250,243,5,5,242,232,5,5,205,226,5,5,47,231,192,0,0,0,5,5,75,238,5,5,130,230,5,5,109,226,5,5,203,237,5,5,222,234,5,5,90,226,192,0,0,0,192,0,0,0,5,5,106,231,5,5,251,243,5,5,87,235,5,5,252,243,5,5,253,243,5,5,254,243,5,5,255,229,5,5,87,238,5,5,48,233,5,5,48,235,5,5,189,237,5,5,227,237,5,5,255,243,5,5,0,203,5,5,2,244,5,5,3,244,5,5,28,233,5,5,131,236,5,5,217,228,5,5,4,244,5,5,0,209,5,5,190,232,5,5,175,228,5,5,5,244,5,5,166,232,192,0,0,0,5,5,6,244,5,5,246,227,5,5,236,226,5,5,216,235,5,5,7,244,5,5,143,230,5,5,38,229,5,5,152,228,5,5,109,234,5,5,8,244,5,5,9,244,5,5,28,229,5,5,187,235,192,0,0,0,5,5,227,233,5,5,44,234,5,5,60,228,5,5,10,244,5,5,24,228,5,5,205,235,5,5,11,244,192,0,0,0,5,5,206,235,5,5,12,244,5,5,13,244,5,5,60,225,5,5,14,244,5,5,15,244,5,5,62,233,5,5,196,234,5,5,230,230,5,5,17,244,5,5,31,224,5,5,13,225,192,0,0,0,5,5,18,244,5,5,19,244,5,5,73,238,5,5,112,237,5,5,20,244,5,5,116,230,5,5,40,238,5,5,21,244,5,5,22,244,5,5,23,244,5,5,90,228,5,5,235,230,5,5,172,229,5,5,24,244,5,5,25,244,5,5,25,228,192,0,0,0,5,5,26,244,5,5,27,244,5,5,16,244,5,5,8,226,5,5,28,244,192,0,0,0,5,5,29,244,5,5,30,244,5,5,202,227,5,5,182,225,5,5,110,230,5,5,62,224,5,5,31,244,5,5,7,237,5,5,32,244,5,5,179,226,5,5,34,244,5,5,33,244,5,5,130,226,192,0,0,0,5,5,35,244,5,5,180,224,5,5,36,244,5,5,37,244,5,5,38,244,5,5,39,244,5,5,40,244,5,5,41,244,5,5,42,244,5,5,153,236,5,5,241,233,5,5,43,244,5,5,44,244,5,5,45,244,5,5,46,244,5,5,9,233,5,5,47,244,5,5,48,244,5,5,49,244,5,5,50,244,5,5,51,244,5,5,151,228,5,5,52,244,5,5,136,248,192,0,0,0,5,5,203,226,192,0,0,0,5,5,145,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,248,192,0,0,0,5,5,138,248,5,5,139,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,227,5,5,178,234,192,0,0,0,192,0,0,0,5,5,180,238,5,5,99,227,192,0,0,0,5,5,134,230,5,5,167,246,192,0,0,0,5,5,57,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,246,192,0,0,0,5,5,168,246,5,5,0,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,246,5,5,134,237,5,5,93,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,237,192,0,0,0,192,0,0,0,5,5,173,246,5,5,142,233,192,0,0,0,5,5,172,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,246,192,0,0,0,192,0,0,0,5,5,175,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,236,192,0,0,0,5,5,62,232,192,0,0,0,5,5,198,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,230,192,0,0,0,192,0,0,0,5,5,238,248,5,5,181,235,5,5,239,248,192,0,0,0,5,5,83,235,192,0,0,0,192,0,0,0,5,5,154,232,192,0,0,0,192,0,0,0,5,5,240,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,248,5,5,242,248,192,0,0,0,5,5,243,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,239,5,5,242,226,192,0,0,0,192,0,0,0,5,5,141,243,5,5,226,236,192,0,0,0,5,5,10,249,192,0,0,0,5,5,228,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,247,192,0,0,0,5,5,130,236,192,0,0,0,5,5,11,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,235,5,5,12,249,192,0,0,0,192,0,0,0,5,5,78,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,225,5,5,94,225,5,5,14,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,249,5,5,15,249,192,0,0,0,192,0,0,0,5,5,16,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,249,192,0,0,0,5,5,100,227,5,5,0,157,192,0,0,0,5,5,18,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,226,5,5,129,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,236,5,5,185,229,192,0,0,0,5,5,72,229,5,5,119,245,5,5,143,237,5,5,62,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,247,5,5,48,226,5,5,159,233,192,0,0,0,192,0,0,0,5,5,51,231,192,0,0,0,5,5,243,247,192,0,0,0,5,5,244,247,5,5,239,226,5,5,245,247,5,5,118,227,5,5,23,237,5,5,0,176,192,0,0,0,192,0,0,0,5,5,246,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,247,192,0,0,0,5,5,248,247,192,0,0,0,192,0,0,0,5,5,249,247,5,5,250,247,5,5,251,247,5,5,253,247,5,5,252,247,5,5,153,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,247,192,0,0,0,5,5,50,226,192,0,0,0,5,5,2,248,5,5,66,236,5,5,203,240,5,5,198,233,192,0,0,0,192,0,0,0,5,5,246,224,192,0,0,0,5,5,122,225,192,0,0,0,5,5,244,226,192,0,0,0,192,0,0,0,5,5,90,231,5,5,3,248,192,0,0,0,192,0,0,0,5,5,4,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,230,5,5,69,230,5,5,190,237,5,5,5,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,248,192,0,0,0,5,5,242,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,231,192,0,0,0,5,5,9,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,248,5,5,73,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,246,5,5,67,246,192,0,0,0,192,0,0,0,5,5,220,233,5,5,114,236,192,0,0,0,5,5,189,233,5,5,136,237,192,0,0,0,5,5,194,232,192,0,0,0,5,5,201,229,5,5,17,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,245,192,0,0,0,192,0,0,0,5,5,122,235,192,0,0,0,5,5,240,237,192,0,0,0,5,5,253,225,5,5,204,226,5,5,148,245,5,5,194,226,192,0,0,0,5,5,147,245,5,5,192,224,5,5,29,227,5,5,185,237,192,0,0,0,5,5,138,226,5,5,96,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,228,5,5,84,226,5,5,154,245,192,0,0,0,5,5,155,245,5,5,0,151,5,5,91,229,192,0,0,0,5,5,153,245,5,5,239,236,192,0,0,0,5,5,156,245,192,0,0,0,192,0,0,0,5,5,157,245,192,0,0,0,192,0,0,0,5,5,100,226,192,0,0,0,5,5,150,245,5,5,152,245,5,5,54,233,5,5,229,237,5,5,125,237,5,5,136,235,5,5,163,245,5,5,208,234,5,5,164,245,192,0,0,0,5,5,128,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,224,5,5,166,245,5,5,255,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,231,5,5,167,245,192,0,0,0,5,5,165,245,5,5,163,231,5,5,162,245,5,5,66,233,5,5,169,245,5,5,0,217,192,0,0,0,192,0,0,0,5,5,172,227,192,0,0,0,192,0,0,0,5,5,131,238,5,5,239,247,192,0,0,0,5,5,158,245,5,5,159,245,5,5,160,245,5,5,161,245,5,5,170,245,5,5,186,243,5,5,173,245,192,0,0,0,5,5,116,229,5,5,92,236,5,5,171,245,5,5,176,245,5,5,224,226,5,5,172,245,192,0,0,0,5,5,136,228,192,0,0,0,5,5,174,235,192,0,0,0,5,5,0,149,192,0,0,0,5,5,177,245,5,5,66,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,225,192,0,0,0,192,0,0,0,5,5,158,230,5,5,41,228,192,0,0,0,192,0,0,0,5,5,174,245,5,5,175,245,5,5,50,237,5,5,14,232,5,5,58,231,5,5,179,245,5,5,107,231,5,5,33,239,192,0,0,0,5,5,109,224,192,0,0,0,5,5,184,245,192,0,0,0,5,5,147,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,245,192,0,0,0,192,0,0,0,5,5,160,226,192,0,0,0,5,5,139,234,5,5,185,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,245,192,0,0,0,5,5,251,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,234,192,0,0,0,5,5,186,245,192,0,0,0,5,5,154,229,5,5,76,236,5,5,187,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,226,5,5,161,226,192,0,0,0,5,5,188,245,5,5,61,232,5,5,173,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,245,5,5,191,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,235,192,0,0,0,5,5,198,245,192,0,0,0,5,5,194,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,245,5,5,217,232,192,0,0,0,5,5,50,236,5,5,192,245,192,0,0,0,192,0,0,0,5,5,189,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,226,5,5,81,235,5,5,75,231,5,5,195,245,5,5,196,245,5,5,54,234,5,5,130,234,5,5,0,208,192,0,0,0,5,5,202,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,245,192,0,0,0,5,5,110,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,226,192,0,0,0,5,5,203,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,224,192,0,0,0,192,0,0,0,5,5,33,234,5,5,10,231,5,5,29,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,245,192,0,0,0,192,0,0,0,5,5,212,245,192,0,0,0,5,5,182,231,192,0,0,0,5,5,206,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,242,5,5,210,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,234,5,5,211,245,5,5,57,224,5,5,169,236,192,0,0,0,192,0,0,0,5,5,112,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,245,192,0,0,0,5,5,207,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,245,192,0,0,0,192,0,0,0,5,5,66,238,192,0,0,0,5,5,211,248,5,5,16,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,237,5,5,208,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,237,5,5,246,228,192,0,0,0,5,5,207,248,192,0,0,0,5,5,60,236,5,5,208,248,5,5,209,248,192,0,0,0,5,5,210,248,5,5,247,228,5,5,209,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,233,5,5,33,233,192,0,0,0,192,0,0,0,5,5,140,248,192,0,0,0,5,5,132,233,192,0,0,0,5,5,78,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,242,5,5,176,233,192,0,0,0,5,5,2,235,5,5,233,237,192,0,0,0,5,5,213,248,5,5,214,248,5,5,215,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,248,192,0,0,0,5,5,111,227,5,5,219,248,5,5,0,193,5,5,216,248,192,0,0,0,5,5,217,248,5,5,112,228,5,5,145,224,192,0,0,0,5,5,222,248,5,5,223,248,5,5,30,226,5,5,108,224,5,5,71,235,5,5,220,248,5,5,38,225,192,0,0,0,5,5,221,248,192,0,0,0,192,0,0,0,5,5,224,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,248,192,0,0,0,192,0,0,0,5,5,97,234,192,0,0,0,5,5,226,248,192,0,0,0,5,5,227,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,233,192,0,0,0,5,5,229,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,249,5,5,6,230,5,5,88,228,192,0,0,0,5,5,233,232,5,5,20,236,5,5,145,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,239,5,5,105,236,192,0,0,0,192,0,0,0,5,5,250,239,5,5,0,138,5,5,251,239,192,0,0,0,192,0,0,0,5,5,168,228,192,0,0,0,5,5,255,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,238,192,0,0,0,5,5,253,239,5,5,229,236,192,0,0,0,5,5,22,233,5,5,2,240,5,5,252,239,192,0,0,0,5,5,3,240,5,5,168,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,240,5,5,13,240,5,5,5,240,192,0,0,0,192,0,0,0,5,5,247,234,5,5,179,237,192,0,0,0,5,5,23,240,192,0,0,0,5,5,21,240,192,0,0,0,192,0,0,0,5,5,26,240,5,5,180,228,5,5,83,230,192,0,0,0,5,5,254,239,5,5,19,240,5,5,22,240,5,5,6,240,5,5,104,226,5,5,0,163,5,5,15,240,5,5,148,235,5,5,9,240,5,5,184,227,192,0,0,0,5,5,82,226,5,5,20,240,192,0,0,0,192,0,0,0,5,5,14,240,5,5,7,240,5,5,93,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,235,5,5,8,240,192,0,0,0,192,0,0,0,5,5,18,240,192,0,0,0,192,0,0,0,5,5,24,240,192,0,0,0,192,0,0,0,5,5,197,234,5,5,10,240,192,0,0,0,5,5,11,240,5,5,16,240,5,5,17,240,5,5,144,224,5,5,25,240,5,5,209,233,192,0,0,0,5,5,9,237,5,5,35,240,5,5,39,240,5,5,2,234,5,5,46,240,192,0,0,0,5,5,237,230,5,5,36,240,192,0,0,0,192,0,0,0,5,5,77,229,5,5,33,240,192,0,0,0,5,5,0,216,5,5,10,227,5,5,45,240,5,5,27,240,192,0,0,0,5,5,12,240,5,5,30,240,5,5,212,232,5,5,108,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,224,192,0,0,0,5,5,148,236,192,0,0,0,192,0,0,0,5,5,34,240,192,0,0,0,192,0,0,0,5,5,29,240,192,0,0,0,5,5,221,231,192,0,0,0,5,5,38,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,238,5,5,181,230,5,5,76,226,5,5,83,232,5,5,175,230,5,5,42,240,5,5,32,240,5,5,51,240,5,5,28,240,192,0,0,0,192,0,0,0,5,5,37,240,192,0,0,0,5,5,209,228,5,5,31,240,192,0,0,0,5,5,40,240,192,0,0,0,192,0,0,0,5,5,43,240,5,5,44,240,192,0,0,0,5,5,64,240,192,0,0,0,192,0,0,0,5,5,41,240,5,5,72,240,5,5,47,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,228,5,5,62,225,192,0,0,0,192,0,0,0,5,5,169,230,5,5,163,224,5,5,66,240,192,0,0,0,5,5,58,240,192,0,0,0,5,5,55,240,192,0,0,0,5,5,68,240,5,5,54,240,5,5,132,236,5,5,164,224,192,0,0,0,5,5,183,232,5,5,195,232,5,5,67,240,192,0,0,0,5,5,53,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,240,192,0,0,0,192,0,0,0,5,5,61,240,192,0,0,0,192,0,0,0,5,5,207,228,5,5,60,240,192,0,0,0,5,5,153,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,240,5,5,102,228,5,5,48,240,5,5,212,227,192,0,0,0,5,5,221,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,228,5,5,49,240,5,5,50,240,192,0,0,0,5,5,57,240,5,5,62,240,5,5,65,240,5,5,140,225,192,0,0,0,5,5,185,232,5,5,247,227,5,5,70,240,5,5,69,240,5,5,157,236,5,5,71,240,5,5,73,240,5,5,75,240,5,5,133,236,5,5,74,240,5,5,76,240,5,5,77,240,5,5,61,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,227,5,5,79,240,192,0,0,0,192,0,0,0,5,5,92,240,5,5,87,240,5,5,90,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,240,5,5,240,231,192,0,0,0,192,0,0,0,5,5,220,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,240,5,5,84,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,240,192,0,0,0,192,0,0,0,5,5,56,240,5,5,85,240,192,0,0,0,5,5,94,240,192,0,0,0,5,5,82,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,240,5,5,89,240,5,5,83,240,5,5,16,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,240,5,5,157,229,5,5,243,229,5,5,80,240,5,5,81,240,192,0,0,0,5,5,88,240,5,5,3,228,5,5,91,240,5,5,154,236,5,5,96,240,192,0,0,0,5,5,97,240,5,5,173,230,192,0,0,0,192,0,0,0,5,5,120,240,5,5,98,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,240,192,0,0,0,5,5,17,227,192,0,0,0,192,0,0,0,5,5,3,229,192,0,0,0,5,5,40,229,192,0,0,0,192,0,0,0,5,5,124,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,240,192,0,0,0,5,5,107,240,192,0,0,0,5,5,101,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,224,5,5,105,240,192,0,0,0,5,5,113,240,5,5,96,224,5,5,123,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,231,5,5,118,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,240,5,5,44,230,5,5,92,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,240,5,5,117,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,240,192,0,0,0,5,5,115,240,5,5,45,234,192,0,0,0,5,5,111,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,240,5,5,206,230,5,5,222,231,5,5,198,234,5,5,114,240,192,0,0,0,5,5,110,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,240,5,5,132,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,236,5,5,156,236,5,5,121,240,5,5,108,235,5,5,216,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,240,5,5,140,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,238,192,0,0,0,5,5,127,240,5,5,126,240,5,5,228,226,5,5,124,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,231,192,0,0,0,5,5,227,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,240,192,0,0,0,5,5,171,227,5,5,51,237,5,5,141,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,225,192,0,0,0,5,5,128,240,192,0,0,0,5,5,135,229,5,5,137,240,192,0,0,0,5,5,133,240,192,0,0,0,5,5,131,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,240,5,5,130,240,5,5,132,240,192,0,0,0,5,5,125,228,5,5,138,240,192,0,0,0,5,5,139,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,240,192,0,0,0,5,5,207,230,192,0,0,0,192,0,0,0,5,5,222,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,238,192,0,0,0,192,0,0,0,5,5,243,231,192,0,0,0,5,5,154,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,237,5,5,153,240,5,5,150,240,192,0,0,0,192,0,0,0,5,5,146,240,192,0,0,0,5,5,149,240,192,0,0,0,5,5,142,240,192,0,0,0,192,0,0,0,5,5,196,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,232,5,5,148,240,192,0,0,0,192,0,0,0,5,5,143,240,192,0,0,0,192,0,0,0,5,5,144,240,5,5,238,233,192,0,0,0,5,5,147,240,192,0,0,0,192,0,0,0,5,5,43,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,229,192,0,0,0,5,5,43,228,5,5,151,240,192,0,0,0,192,0,0,0,5,5,157,240,192,0,0,0,5,5,156,240,5,5,145,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,240,192,0,0,0,192,0,0,0,5,5,167,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,230,192,0,0,0,5,5,163,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,237,192,0,0,0,192,0,0,0,5,5,205,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,240,192,0,0,0,5,5,136,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,231,5,5,125,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,232,5,5,160,240,5,5,162,240,5,5,164,240,5,5,166,240,5,5,0,136,5,5,44,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,240,5,5,132,228,5,5,207,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,240,192,0,0,0,192,0,0,0,5,5,169,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,240,192,0,0,0,5,5,30,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,240,5,5,174,240,5,5,178,240,192,0,0,0,192,0,0,0,5,5,195,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,221,5,5,186,240,192,0,0,0,5,5,181,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,235,5,5,185,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,240,192,0,0,0,5,5,147,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,240,5,5,139,233,5,5,189,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,240,192,0,0,0,5,5,187,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,224,5,5,240,230,192,0,0,0,192,0,0,0,5,5,190,240,192,0,0,0,5,5,126,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,240,192,0,0,0,5,5,196,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,248,5,5,178,227,5,5,90,230,5,5,116,231,5,5,111,230,192,0,0,0,192,0,0,0,5,5,27,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,225,5,5,28,248,192,0,0,0,5,5,29,248,192,0,0,0,192,0,0,0,5,5,75,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,227,5,5,31,248,5,5,33,248,5,5,32,248,5,5,224,233,5,5,50,235,5,5,30,248,5,5,82,233,5,5,99,236,5,5,148,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,234,5,5,36,248,5,5,0,212,5,5,35,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,248,192,0,0,0,5,5,139,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,235,5,5,38,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,248,5,5,59,237,192,0,0,0,192,0,0,0,5,5,39,248,5,5,34,248,5,5,43,248,5,5,41,248,192,0,0,0,5,5,37,248,192,0,0,0,192,0,0,0,5,5,51,248,5,5,48,248,5,5,50,248,192,0,0,0,192,0,0,0,5,5,54,248,5,5,46,248,5,5,44,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,248,192,0,0,0,5,5,123,232,5,5,31,233,192,0,0,0,5,5,52,248,5,5,26,227,5,5,136,225,192,0,0,0,192,0,0,0,5,5,47,248,5,5,53,248,5,5,60,248,5,5,66,248,192,0,0,0,192,0,0,0,5,5,231,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,248,5,5,150,234,192,0,0,0,5,5,249,237,192,0,0,0,192,0,0,0,5,5,62,248,5,5,64,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,248,5,5,161,230,192,0,0,0,5,5,141,237,5,5,56,248,5,5,57,248,5,5,59,248,5,5,63,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,248,5,5,174,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,226,192,0,0,0,5,5,143,233,192,0,0,0,5,5,122,226,5,5,67,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,248,5,5,70,248,5,5,73,248,5,5,71,248,192,0,0,0,192,0,0,0,5,5,72,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,236,5,5,61,248,192,0,0,0,5,5,131,234,192,0,0,0,5,5,231,234,5,5,183,237,192,0,0,0,5,5,79,248,192,0,0,0,5,5,225,230,192,0,0,0,5,5,76,248,192,0,0,0,192,0,0,0,5,5,153,229,5,5,88,248,5,5,74,248,192,0,0,0,5,5,77,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,248,192,0,0,0,192,0,0,0,5,5,83,248,192,0,0,0,192,0,0,0,5,5,82,248,192,0,0,0,192,0,0,0,5,5,85,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,248,192,0,0,0,192,0,0,0,5,5,80,248,5,5,86,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,236,5,5,81,248,5,5,177,224,192,0,0,0,192,0,0,0,5,5,94,248,192,0,0,0,5,5,129,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,227,192,0,0,0,5,5,101,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,248,192,0,0,0,192,0,0,0,5,5,98,248,5,5,100,248,5,5,102,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,248,192,0,0,0,5,5,93,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,227,192,0,0,0,5,5,211,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,248,5,5,99,248,5,5,89,248,5,5,90,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,248,5,5,112,248,192,0,0,0,5,5,109,248,192,0,0,0,192,0,0,0,5,5,108,248,192,0,0,0,192,0,0,0,5,5,96,248,192,0,0,0,5,5,186,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,248,192,0,0,0,192,0,0,0,5,5,113,248,5,5,115,248,5,5,110,248,192,0,0,0,5,5,104,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,248,192,0,0,0,5,5,116,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,230,192,0,0,0,192,0,0,0,5,5,120,248,192,0,0,0,192,0,0,0,5,5,122,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,248,5,5,118,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,248,5,5,106,248,5,5,119,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,248,192,0,0,0,5,5,196,232,5,5,128,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,248,5,5,58,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,248,192,0,0,0,192,0,0,0,5,5,135,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,248,5,5,156,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,235,5,5,18,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,235,192,0,0,0,192,0,0,0,5,5,164,228,192,0,0,0,5,5,247,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,227,5,5,11,242,5,5,86,236,5,5,206,247,5,5,117,224,192,0,0,0,192,0,0,0,5,5,75,224,5,5,207,247,192,0,0,0,5,5,254,232,5,5,222,224,192,0,0,0,5,5,30,239,192,0,0,0,5,5,161,233,192,0,0,0,5,5,208,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,247,5,5,232,248,5,5,210,247,192,0,0,0,5,5,252,236,5,5,211,247,192,0,0,0,5,5,0,158,5,5,233,248,192,0,0,0,192,0,0,0,5,5,234,248,192,0,0,0,192,0,0,0,5,5,118,225,192,0,0,0,5,5,159,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,247,192,0,0,0,5,5,31,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,224,192,0,0,0,5,5,38,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,224,5,5,27,230,192,0,0,0,192,0,0,0,5,5,30,238,5,5,213,247,192,0,0,0,192,0,0,0,5,5,216,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,239,192,0,0,0,5,5,117,236,5,5,243,236,192,0,0,0,192,0,0,0,5,5,235,248,5,5,153,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,248,192,0,0,0,192,0,0,0,5,5,217,247,5,5,219,247,5,5,111,229,5,5,220,247,192,0,0,0,192,0,0,0,5,5,224,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,247,5,5,221,247,192,0,0,0,5,5,17,233,5,5,165,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,230,5,5,80,227,192,0,0,0,192,0,0,0,5,5,223,247,192,0,0,0,5,5,225,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,227,192,0,0,0,5,5,0,219,5,5,229,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,247,5,5,222,247,5,5,230,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,234,5,5,233,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,247,192,0,0,0,5,5,234,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,247,192,0,0,0,192,0,0,0,5,5,93,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,248,5,5,193,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,235,192,0,0,0,5,5,62,236,192,0,0,0,5,5,9,248,192,0,0,0,192,0,0,0,5,5,166,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,228,5,5,47,227,192,0,0,0,5,5,58,227,5,5,223,230,5,5,113,233,5,5,94,245,5,5,170,229,5,5,35,229,5,5,95,245,5,5,96,245,5,5,97,245,192,0,0,0,5,5,98,245,5,5,99,245,5,5,100,245,5,5,101,245,5,5,149,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,249,192,0,0,0,5,5,134,249,192,0,0,0,5,5,132,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,228,192,0,0,0,5,5,135,249,5,5,31,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,236,5,5,56,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,239,5,5,54,228,5,5,223,225,5,5,176,226,5,5,175,232,5,5,21,228,5,5,48,239,5,5,49,239,5,5,50,234,5,5,163,232,5,5,50,239,5,5,33,232,192,0,0,0,5,5,233,235,5,5,125,236,5,5,234,235,5,5,55,228,192,0,0,0,5,5,128,228,5,5,244,227,5,5,51,239,5,5,52,239,5,5,252,235,5,5,53,239,5,5,195,235,5,5,39,226,5,5,131,230,192,0,0,0,5,5,203,233,5,5,131,226,5,5,40,233,5,5,89,226,5,5,37,229,5,5,178,237,5,5,54,239,5,5,55,239,5,5,226,231,5,5,85,238,5,5,84,233,192,0,0,0,5,5,89,237,5,5,219,233,5,5,159,237,5,5,56,239,5,5,237,237,5,5,68,225,5,5,58,239,5,5,57,239,192,0,0,0,5,5,127,236,5,5,59,239,5,5,60,239,5,5,61,239,5,5,114,233,5,5,62,239,5,5,73,233,5,5,63,239,5,5,64,239,5,5,233,224,5,5,253,237,5,5,65,239,5,5,192,227,5,5,134,225,5,5,66,239,5,5,67,239,5,5,66,227,5,5,227,235,5,5,124,236,5,5,68,239,5,5,183,226,5,5,98,235,5,5,171,224,5,5,69,239,5,5,70,239,192,0,0,0,5,5,185,228,5,5,244,234,5,5,225,236,5,5,71,239,5,5,13,235,5,5,72,239,5,5,199,236,5,5,245,227,5,5,73,239,5,5,177,233,5,5,204,233,5,5,74,239,5,5,109,232,5,5,252,237,5,5,75,239,5,5,121,231,5,5,247,225,5,5,76,239,5,5,98,226,5,5,90,229,5,5,77,239,5,5,78,239,5,5,169,233,5,5,79,239,5,5,207,225,5,5,80,239,5,5,12,230,5,5,41,238,5,5,81,239,5,5,20,234,192,0,0,0,5,5,126,236,5,5,23,231,5,5,82,239,5,5,213,225,5,5,225,227,5,5,83,239,5,5,137,235,5,5,84,239,5,5,85,239,5,5,213,234,5,5,86,239,5,5,87,239,5,5,88,239,5,5,179,224,5,5,91,239,5,5,89,239,5,5,30,236,5,5,90,239,5,5,219,230,5,5,92,239,192,0,0,0,5,5,93,239,5,5,94,239,5,5,95,239,5,5,145,235,5,5,57,236,5,5,0,215,5,5,96,239,5,5,45,232,5,5,97,239,5,5,197,228,5,5,167,230,5,5,98,239,5,5,99,239,5,5,5,231,5,5,19,234,5,5,100,239,5,5,101,239,5,5,168,229,5,5,249,231,5,5,102,239,5,5,103,239,5,5,54,232,5,5,104,239,5,5,105,239,5,5,28,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,225,5,5,34,249,192,0,0,0,5,5,35,249,192,0,0,0,192,0,0,0,5,5,157,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,235,5,5,207,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,227,5,5,245,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,249,5,5,8,224,5,5,174,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,249,192,0,0,0,192,0,0,0,5,5,127,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,227,5,5,126,249,192,0,0,0,5,5,184,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,224,5,5,154,237,5,5,174,226,192,0,0,0,5,5,5,227,5,5,130,224,5,5,66,237,5,5,69,235,5,5,0,186,5,5,123,237,5,5,7,228,5,5,216,237,5,5,77,226,5,5,12,234,5,5,216,231,5,5,63,224,5,5,14,227,5,5,12,238,5,5,53,227,5,5,55,226,5,5,106,228,5,5,80,245,5,5,81,245,5,5,85,234,5,5,71,227,5,5,82,245,5,5,117,225,5,5,185,230,5,5,103,226,5,5,138,227,5,5,83,245,5,5,70,237,5,5,84,245,5,5,70,228,5,5,239,227,5,5,85,245,5,5,40,230,5,5,96,230,5,5,49,237,5,5,56,238,5,5,86,245,5,5,87,245,5,5,90,245,5,5,88,245,5,5,89,245,5,5,30,233,5,5,167,226,5,5,250,225,5,5,91,245,5,5,136,233,5,5,13,233,5,5,71,225,192,0,0,0,192,0,0,0,5,5,89,242,5,5,166,231,5,5,92,245,5,5,159,229,192,0,0,0,5,5,38,238,5,5,93,245,5,5,26,238,5,5,220,232,5,5,159,238,5,5,153,238,5,5,48,237,192,0,0,0,5,5,75,237,5,5,4,233,5,5,160,236,5,5,199,226,5,5,250,224,192,0,0,0,5,5,34,233,5,5,32,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,227,192,0,0,0,5,5,33,249,192,0,0,0,192,0,0,0,5,5,77,238,192,0,0,0,192,0,0,0,5,5,27,249,5,5,164,226,5,5,132,237,5,5,195,226,5,5,20,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,224,192,0,0,0,192,0,0,0,5,5,28,249,5,5,198,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,237,5,5,121,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,249,192,0,0,0,192,0,0,0,5,5,29,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,249,192,0,0,0,5,5,81,238,5,5,131,231,5,5,72,249,192,0,0,0,192,0,0,0,5,5,67,249,192,0,0,0,5,5,75,249,192,0,0,0,5,5,74,249,192,0,0,0,5,5,200,237,5,5,73,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,237,5,5,76,249,192,0,0,0,5,5,84,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,173,5,5,208,225,192,0,0,0,5,5,81,249,5,5,82,249,192,0,0,0,5,5,160,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,249,5,5,78,249,192,0,0,0,192,0,0,0,5,5,79,249,5,5,83,249,192,0,0,0,5,5,14,229,5,5,80,249,5,5,238,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,249,5,5,91,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,229,192,0,0,0,5,5,70,227,5,5,68,249,5,5,85,249,192,0,0,0,192,0,0,0,5,5,95,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,234,192,0,0,0,5,5,105,228,192,0,0,0,5,5,86,249,5,5,87,249,5,5,89,249,5,5,29,226,5,5,90,249,192,0,0,0,5,5,93,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,249,5,5,173,236,192,0,0,0,5,5,8,225,192,0,0,0,192,0,0,0,5,5,254,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,249,5,5,15,229,5,5,96,249,192,0,0,0,192,0,0,0,5,5,59,234,5,5,99,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,224,5,5,71,238,192,0,0,0,5,5,97,249,192,0,0,0,5,5,98,249,5,5,100,249,192,0,0,0,5,5,106,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,249,5,5,101,249,192,0,0,0,192,0,0,0,5,5,105,249,192,0,0,0,192,0,0,0,5,5,102,249,5,5,108,249,5,5,109,249,192,0,0,0,5,5,63,234,192,0,0,0,192,0,0,0,5,5,91,243,5,5,144,225,5,5,107,249,5,5,112,249,5,5,253,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,249,5,5,111,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,224,192,0,0,0,192,0,0,0,5,5,71,249,192,0,0,0,192,0,0,0,5,5,157,225,5,5,160,224,192,0,0,0,5,5,116,249,5,5,113,249,192,0,0,0,5,5,15,226,192,0,0,0,5,5,117,249,192,0,0,0,5,5,114,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,249,192,0,0,0,192,0,0,0,5,5,84,225,192,0,0,0,5,5,60,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,249,192,0,0,0,5,5,21,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,249,5,5,121,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,249,192,0,0,0,5,5,123,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,233,5,5,252,226,192,0,0,0,192,0,0,0,5,5,125,232,192,0,0,0,192,0,0,0,5,5,27,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,224,5,5,80,237,5,5,64,227,5,5,207,235,192,0,0,0,5,5,5,245,5,5,24,238,5,5,6,245,5,5,126,230,5,5,205,232,5,5,150,227,5,5,7,245,5,5,8,245,5,5,9,245,5,5,239,237,5,5,10,245,5,5,11,245,5,5,13,245,5,5,12,245,5,5,14,245,5,5,15,245,5,5,99,232,5,5,16,245,5,5,42,237,5,5,17,245,5,5,156,228,192,0,0,0,5,5,18,245,5,5,19,245,5,5,157,228,5,5,20,245,5,5,156,226,5,5,8,230,5,5,21,245,5,5,16,224,5,5,228,227,5,5,73,227,5,5,22,245,192,0,0,0,5,5,23,245,5,5,24,245,5,5,25,245,5,5,142,226,5,5,29,228,192,0,0,0,5,5,130,233,5,5,144,241,5,5,255,236,5,5,53,235,5,5,103,237,5,5,26,245,5,5,142,237,5,5,27,245,5,5,151,235,5,5,16,227,192,0,0,0,5,5,65,225,5,5,55,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,224,5,5,69,224,192,0,0,0,5,5,70,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,224,5,5,200,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,243,192,0,0,0,192,0,0,0,5,5,61,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,230,5,5,105,225,192,0,0,0,192,0,0,0,5,5,42,232,5,5,202,236,192,0,0,0,5,5,29,232,5,5,236,235,192,0,0,0,5,5,81,227,5,5,157,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,236,192,0,0,0,5,5,29,237,5,5,202,228,192,0,0,0,5,5,94,243,5,5,75,226,5,5,95,243,192,0,0,0,192,0,0,0,5,5,201,227,5,5,146,237,192,0,0,0,5,5,198,228,5,5,8,237,5,5,189,234,5,5,244,229,5,5,243,224,192,0,0,0,192,0,0,0,5,5,82,234,192,0,0,0,5,5,98,243,5,5,96,243,5,5,100,243,192,0,0,0,5,5,102,243,5,5,99,243,5,5,167,225,5,5,234,231,192,0,0,0,5,5,212,225,5,5,97,243,192,0,0,0,5,5,148,233,192,0,0,0,192,0,0,0,5,5,101,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,230,5,5,35,224,5,5,19,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,238,192,0,0,0,192,0,0,0,5,5,133,234,5,5,201,233,5,5,104,233,5,5,47,234,5,5,104,243,5,5,103,243,5,5,76,231,192,0,0,0,192,0,0,0,5,5,213,235,5,5,235,235,5,5,105,243,192,0,0,0,5,5,108,243,192,0,0,0,5,5,114,234,5,5,254,237,5,5,107,243,5,5,181,225,192,0,0,0,5,5,120,234,192,0,0,0,5,5,109,243,5,5,240,225,192,0,0,0,192,0,0,0,5,5,98,234,5,5,56,227,192,0,0,0,5,5,99,233,5,5,235,224,5,5,213,233,5,5,62,237,5,5,110,243,5,5,128,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,243,5,5,120,225,5,5,114,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,243,5,5,112,243,192,0,0,0,5,5,113,236,192,0,0,0,192,0,0,0,5,5,135,230,5,5,36,224,192,0,0,0,5,5,212,236,192,0,0,0,192,0,0,0,5,5,21,226,5,5,232,233,192,0,0,0,5,5,115,243,192,0,0,0,192,0,0,0,5,5,232,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,224,192,0,0,0,5,5,44,226,5,5,118,243,5,5,116,243,5,5,117,243,5,5,152,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,236,5,5,120,243,192,0,0,0,192,0,0,0,5,5,122,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,243,5,5,52,232,192,0,0,0,5,5,55,236,192,0,0,0,192,0,0,0,5,5,119,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,237,5,5,138,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,243,5,5,95,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,243,192,0,0,0,5,5,58,224,5,5,49,236,192,0,0,0,5,5,126,243,5,5,128,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,243,192,0,0,0,192,0,0,0,5,5,129,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,236,192,0,0,0,5,5,163,225,192,0,0,0,5,5,57,244,192,0,0,0,5,5,127,239,192,0,0,0,5,5,130,239,192,0,0,0,5,5,128,239,192,0,0,0,5,5,129,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,239,5,5,165,235,5,5,45,231,192,0,0,0,192,0,0,0,5,5,0,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,235,192,0,0,0,5,5,131,239,192,0,0,0,5,5,188,236,5,5,92,227,5,5,138,239,5,5,115,232,192,0,0,0,5,5,134,239,5,5,133,239,5,5,27,233,5,5,135,239,192,0,0,0,5,5,137,239,5,5,76,238,5,5,136,239,5,5,36,230,192,0,0,0,192,0,0,0,5,5,141,239,192,0,0,0,192,0,0,0,5,5,230,236,192,0,0,0,192,0,0,0,5,5,143,239,5,5,140,239,192,0,0,0,5,5,144,239,192,0,0,0,192,0,0,0,5,5,138,228,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,229,5,5,139,239,5,5,142,239,5,5,177,237,192,0,0,0,5,5,145,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,239,5,5,148,239,5,5,116,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,229,5,5,147,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,239,5,5,25,237,5,5,123,224,192,0,0,0,192,0,0,0,5,5,151,239,192,0,0,0,5,5,77,227,192,0,0,0,5,5,152,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,225,5,5,153,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,226,192,0,0,0,5,5,154,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,239,5,5,157,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,239,192,0,0,0,5,5,158,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,239,192,0,0,0,192,0,0,0,5,5,162,239,192,0,0,0,192,0,0,0,5,5,193,236,5,5,36,249,5,5,119,232,5,5,49,238,5,5,168,231,5,5,38,249,5,5,39,249,5,5,37,249,192,0,0,0,5,5,242,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,235,192,0,0,0,192,0,0,0,5,5,105,226,192,0,0,0,192,0,0,0,5,5,31,237,5,5,6,234,192,0,0,0,192,0,0,0,5,5,42,249,5,5,41,249,5,5,90,227,5,5,40,249,5,5,210,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,249,5,5,188,229,192,0,0,0,5,5,6,225,192,0,0,0,5,5,100,234,5,5,45,249,5,5,43,249,5,5,130,228,5,5,48,249,192,0,0,0,5,5,49,249,5,5,155,228,5,5,190,230,5,5,109,229,5,5,221,233,5,5,50,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,249,5,5,47,249,5,5,86,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,249,192,0,0,0,5,5,54,225,192,0,0,0,5,5,91,238,192,0,0,0,5,5,81,225,5,5,51,249,5,5,54,249,192,0,0,0,192,0,0,0,5,5,53,249,5,5,55,249,5,5,167,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,230,5,5,137,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,249,5,5,57,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,249,192,0,0,0,192,0,0,0,5,5,59,249,5,5,60,249,5,5,61,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,249,5,5,62,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,224,192,0,0,0,5,5,198,236,5,5,107,233,192,0,0,0,5,5,217,229,5,5,230,237,5,5,68,236,5,5,9,230,192,0,0,0,5,5,190,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,246,5,5,181,246,5,5,182,246,5,5,155,237,5,5,218,225,5,5,184,246,5,5,183,246,5,5,185,246,5,5,186,246,5,5,39,232,5,5,187,246,5,5,188,246,192,0,0,0,5,5,70,226,5,5,206,225,5,5,189,246,5,5,191,246,192,0,0,0,5,5,190,246,192,0,0,0,5,5,186,226,5,5,192,246,5,5,193,246,5,5,194,246,5,5,19,226,5,5,200,224,5,5,225,237,5,5,44,231,5,5,19,224,5,5,202,226,5,5,195,246,5,5,196,246,5,5,17,237,5,5,87,232,5,5,41,229,5,5,241,234,5,5,7,227,5,5,198,246,5,5,197,246,5,5,200,246,5,5,199,246,5,5,105,231,5,5,201,246,5,5,202,246,5,5,48,232,5,5,203,246,5,5,49,232,5,5,204,246,5,5,99,224,5,5,205,246,5,5,206,246,5,5,207,246,5,5,208,246,5,5,209,246,5,5,88,238,5,5,210,246,5,5,211,246,5,5,72,228,5,5,212,246,5,5,189,236,5,5,86,234,5,5,104,224,5,5,47,230,5,5,213,246,5,5,40,232,5,5,179,230,192,0,0,0,5,5,214,246,5,5,215,246,5,5,216,246,5,5,217,246,5,5,218,246,5,5,219,246,5,5,220,246,192,0,0,0,5,5,221,246,5,5,222,246,5,5,223,246,192,0,0,0,192,0,0,0,5,5,224,246,5,5,225,246,5,5,226,246,5,5,228,246,5,5,227,246,192,0,0,0,5,5,229,246,5,5,103,234,5,5,105,230,5,5,230,246,5,5,231,246,5,5,232,246,5,5,81,237,5,5,233,246,5,5,43,235,5,5,234,246,5,5,235,246,192,0,0,0,5,5,236,246,5,5,237,246,5,5,239,246,5,5,238,246,5,5,240,246,5,5,233,226,5,5,2,231,5,5,241,246,5,5,242,246,5,5,144,228,5,5,83,236,5,5,181,224,5,5,243,246,5,5,244,246,5,5,245,246,5,5,140,236,5,5,246,246,5,5,13,238,5,5,247,246,5,5,238,231,192,0,0,0,5,5,248,246,5,5,249,246,5,5,252,229,5,5,250,246,5,5,114,235,5,5,244,233,5,5,252,246,5,5,251,246,5,5,22,225,5,5,76,227,5,5,253,246,5,5,254,246,5,5,184,235,5,5,255,246,5,5,2,247,5,5,124,226,5,5,149,235,5,5,3,247,5,5,4,247,5,5,5,247,5,5,209,232,5,5,60,234,5,5,6,247,5,5,7,247,5,5,8,247,5,5,9,247,5,5,10,247,5,5,144,237,5,5,11,247,5,5,103,225,5,5,176,230,5,5,12,247,192,0,0,0,5,5,13,247,5,5,14,247,5,5,15,247,192,0,0,0,5,5,23,235,5,5,16,247,5,5,136,230,5,5,50,225,5,5,36,238,5,5,195,228,192,0,0,0,5,5,63,235,5,5,19,247,5,5,17,247,5,5,18,247,5,5,20,247,5,5,221,225,5,5,108,228,5,5,16,229,5,5,210,230,5,5,21,247,5,5,22,247,192,0,0,0,5,5,23,247,5,5,31,247,5,5,24,247,5,5,25,247,5,5,26,247,5,5,68,232,5,5,65,247,5,5,5,226,5,5,27,247,192,0,0,0,5,5,28,247,5,5,29,247,5,5,252,225,5,5,196,230,5,5,30,247,192,0,0,0,5,5,32,247,5,5,33,247,5,5,34,247,5,5,162,237,192,0,0,0,5,5,35,247,5,5,93,231,192,0,0,0,5,5,36,247,5,5,94,231,5,5,37,247,5,5,38,247,5,5,216,226,5,5,0,213,5,5,39,247,5,5,40,247,5,5,41,247,192,0,0,0,5,5,42,247,5,5,43,247,5,5,44,247,5,5,45,247,192,0,0,0,5,5,46,247,5,5,225,228,5,5,49,247,5,5,47,247,5,5,48,247,192,0,0,0,5,5,50,247,5,5,51,247,5,5,23,230,5,5,52,247,5,5,53,247,5,5,54,247,5,5,55,247,5,5,56,247,5,5,57,247,5,5,58,247,5,5,59,247,5,5,60,247,5,5,194,229,192,0,0,0,5,5,61,247,5,5,245,229,5,5,62,247,5,5,63,247,5,5,64,247,192,0,0,0,192,0,0,0,5,5,90,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,230,5,5,163,242,5,5,255,232,5,5,164,242,192,0,0,0,5,5,51,224,5,5,226,234,5,5,45,225,5,5,210,232,5,5,165,242,5,5,72,235,5,5,166,242,5,5,84,228,5,5,167,242,5,5,168,242,5,5,204,230,5,5,82,237,5,5,60,231,5,5,63,227,5,5,221,234,5,5,169,242,5,5,252,230,5,5,170,242,192,0,0,0,5,5,61,226,5,5,231,226,5,5,132,227,5,5,171,242,5,5,172,242,5,5,22,237,5,5,173,242,192,0,0,0,5,5,174,242,5,5,255,235,5,5,175,242,5,5,176,242,5,5,177,242,5,5,178,242,5,5,12,236,5,5,179,242,5,5,183,224,5,5,165,229,5,5,180,242,192,0,0,0,5,5,149,229,5,5,181,242,5,5,182,242,5,5,183,242,192,0,0,0,5,5,184,242,5,5,185,242,192,0,0,0,5,5,171,226,5,5,108,239,192,0,0,0,5,5,11,226,192,0,0,0,5,5,110,239,5,5,109,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,232,192,0,0,0,192,0,0,0,5,5,111,239,5,5,86,226,5,5,42,236,5,5,137,236,5,5,163,237,5,5,165,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,238,5,5,114,239,5,5,113,239,192,0,0,0,5,5,0,128,5,5,141,234,192,0,0,0,5,5,115,239,192,0,0,0,5,5,177,226,5,5,58,228,5,5,101,230,5,5,76,230,5,5,220,224,5,5,116,239,192,0,0,0,5,5,82,230,5,5,22,231,5,5,131,228,192,0,0,0,192,0,0,0,5,5,86,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,239,5,5,2,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,239,192,0,0,0,5,5,238,225,5,5,12,237,192,0,0,0,5,5,25,225,192,0,0,0,192,0,0,0,5,5,119,239,5,5,27,237,5,5,77,235,5,5,167,231,192,0,0,0,5,5,120,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,239,192,0,0,0,5,5,122,239,5,5,52,230,5,5,49,234,5,5,85,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,236,5,5,73,230,192,0,0,0,5,5,123,239,192,0,0,0,192,0,0,0,5,5,225,233,192,0,0,0,5,5,124,239,192,0,0,0,5,5,226,233,5,5,146,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,226,192,0,0,0,192,0,0,0,5,5,125,239,5,5,0,141,5,5,46,235,192,0,0,0,192,0,0,0,5,5,127,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,239,192,0,0,0,192,0,0,0,5,5,162,242,192,0,0,0,192,0,0,0,5,5,237,229,192,0,0,0,192,0,0,0,5,5,165,249,192,0,0,0,192,0,0,0,5,5,166,249,5,5,167,249,5,5,55,231,192,0,0,0,5,5,152,232,5,5,25,236,192,0,0,0,192,0,0,0,5,5,177,235,5,5,249,235,5,5,31,228,5,5,33,227,192,0,0,0,5,5,68,247,192,0,0,0,192,0,0,0,5,5,64,225,5,5,172,236,5,5,168,249,5,5,23,225,192,0,0,0,192,0,0,0,5,5,169,249,192,0,0,0,192,0,0,0,5,5,201,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,236,5,5,141,249,5,5,221,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,249,192,0,0,0,192,0,0,0,5,5,45,230,5,5,193,229,192,0,0,0,5,5,0,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,235,192,0,0,0,5,5,190,235,5,5,145,249,192,0,0,0,192,0,0,0,5,5,110,235,192,0,0,0,5,5,144,249,5,5,160,237,5,5,146,249,5,5,191,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,228,5,5,148,249,5,5,147,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,231,192,0,0,0,192,0,0,0,5,5,34,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,233,192,0,0,0,5,5,52,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,249,192,0,0,0,192,0,0,0,5,5,150,249,192,0,0,0,192,0,0,0,5,5,151,249,192,0,0,0,5,5,94,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,178,5,5,189,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,232,5,5,140,249,192,0,0,0,192,0,0,0,5,5,228,228,192,0,0,0,192,0,0,0,5,5,222,228,192,0,0,0,5,5,189,225,192,0,0,0,192,0,0,0,5,5,93,226,192,0,0,0,5,5,75,229,5,5,216,230,5,5,236,230,192,0,0,0,192,0,0,0,5,5,152,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,228,5,5,217,235,192,0,0,0,5,5,0,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,235,192,0,0,0,5,5,0,142,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,249,5,5,247,249,192,0,0,0,5,5,248,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,228,192,0,0,0,192,0,0,0,5,5,251,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,249,192,0,0,0,5,5,60,224,192,0,0,0,5,5,249,249,192,0,0,0,192,0,0,0,5,5,252,249,192,0,0,0,5,5,253,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,234,5,5,173,232,192,0,0,0,5,5,93,227,5,5,112,244,5,5,113,244,5,5,114,244,5,5,238,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,236,192,0,0,0,5,5,33,237,5,5,24,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,236,5,5,219,225,5,5,108,232,5,5,10,248,5,5,102,235,5,5,175,233,5,5,193,235,5,5,73,244,5,5,161,234,5,5,31,227,5,5,17,226,5,5,11,248,5,5,0,194,5,5,200,233,5,5,12,248,5,5,244,236,5,5,85,230,5,5,54,230,5,5,230,231,5,5,221,228,5,5,13,248,5,5,69,228,192,0,0,0,5,5,14,248,5,5,15,248,192,0,0,0,5,5,16,248,5,5,87,236,5,5,215,231,192,0,0,0,5,5,129,234,5,5,17,248,192,0,0,0,5,5,163,236,5,5,81,229,5,5,62,234,192,0,0,0,5,5,18,248,5,5,19,248,5,5,11,236,5,5,38,226,5,5,20,248,5,5,21,248,5,5,183,225,5,5,22,248,5,5,23,248,192,0,0,0,5,5,184,224,5,5,24,248,5,5,25,248,5,5,135,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,226,192,0,0,0,192,0,0,0,5,5,219,245,5,5,220,245,5,5,221,245,192,0,0,0,5,5,222,245,192,0,0,0,192,0,0,0,5,5,208,231,5,5,223,245,5,5,224,245,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,226,5,5,81,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,242,5,5,21,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,250,192,0,0,0,192,0,0,0,5,5,137,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,250,5,5,24,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,242,192,0,0,0,5,5,18,228,192,0,0,0,5,5,60,242,5,5,61,242,5,5,62,242,5,5,63,242,5,5,64,242,5,5,65,242,5,5,79,226,5,5,143,236,5,5,114,228,5,5,108,233,5,5,3,224,5,5,195,233,192,0,0,0,5,5,66,242,5,5,52,226,5,5,164,232,5,5,67,242,192,0,0,0,192,0,0,0,5,5,150,228,192,0,0,0,5,5,91,224,5,5,68,242,192,0,0,0,5,5,46,226,5,5,69,242,5,5,63,231,192,0,0,0,192,0,0,0,5,5,70,242,5,5,82,235,5,5,49,227,5,5,71,242,5,5,139,229,192,0,0,0,5,5,72,242,5,5,178,224,192,0,0,0,5,5,73,242,192,0,0,0,5,5,61,230,5,5,74,242,5,5,75,242,5,5,160,230,5,5,76,242,5,5,77,242,5,5,78,242,5,5,117,233,5,5,132,238,5,5,17,239,5,5,91,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,247,192,0,0,0,192,0,0,0,5,5,246,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,230,5,5,246,236,5,5,142,234,5,5,229,235,5,5,245,224,5,5,127,232,192,0,0,0,5,5,113,224,5,5,103,230,5,5,218,243,5,5,89,233,5,5,219,243,5,5,220,243,5,5,2,229,5,5,221,243,5,5,18,238,5,5,143,234,5,5,223,243,5,5,77,228,5,5,222,243,5,5,224,243,5,5,225,243,5,5,150,230,192,0,0,0,5,5,140,228,5,5,226,243,5,5,142,230,5,5,89,227,5,5,227,243,192,0,0,0,5,5,228,243,5,5,236,224,5,5,31,236,192,0,0,0,192,0,0,0,5,5,49,229,5,5,229,243,5,5,19,232,5,5,230,243,5,5,231,243,192,0,0,0,192,0,0,0,5,5,232,243,5,5,207,231,5,5,233,243,192,0,0,0,5,5,229,232,5,5,234,243,5,5,235,243,5,5,236,243,5,5,85,243,5,5,237,243,5,5,238,243,5,5,138,230,5,5,239,243,5,5,240,243,5,5,246,237,5,5,241,243,192,0,0,0,5,5,242,243,5,5,27,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,249,5,5,254,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,250,5,5,2,250,5,5,83,227,192,0,0,0,5,5,5,250,192,0,0,0,5,5,6,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,250,5,5,7,250,5,5,10,250,192,0,0,0,192,0,0,0,5,5,9,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,250,5,5,12,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,250,192,0,0,0,5,5,228,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,250,192,0,0,0,5,5,27,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,250,192,0,0,0,5,5,32,250,192,0,0,0,5,5,29,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,250,192,0,0,0,5,5,31,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,239,192,0,0,0,192,0,0,0,5,5,118,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,243,5,5,65,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,229,5,5,250,227,5,5,15,250,5,5,233,231,5,5,14,250,192,0,0,0,5,5,16,250,5,5,18,250,5,5,17,250,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,250,192,0,0,0,5,5,210,234,192,0,0,0,5,5,20,250,192,0,0,0,192,0,0,0,5,5,13,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,236,192,0,0,0,192,0,0,0,5,5,181,249,192,0,0,0,5,5,91,230,5,5,182,249,192,0,0,0,192,0,0,0,5,5,183,249,5,5,184,249,5,5,185,249,5,5,186,249,192,0,0,0,192,0,0,0,5,5,188,249,192,0,0,0,5,5,9,224,5,5,189,249,192,0,0,0,5,5,190,249,5,5,191,249,5,5,192,249,192,0,0,0,5,5,193,249,5,5,194,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,249,5,5,196,249,5,5,66,235,192,0,0,0,5,5,197,249,5,5,198,249,5,5,199,249,5,5,200,249,5,5,201,249,5,5,202,249,5,5,218,229,5,5,203,249,5,5,204,249,5,5,205,249,5,5,206,249,5,5,207,249,192,0,0,0,5,5,208,249,192,0,0,0,5,5,209,249,5,5,210,249,192,0,0,0,5,5,211,249,5,5,212,249,5,5,213,249,5,5,214,249,5,5,215,249,5,5,216,249,5,5,217,249,5,5,218,249,5,5,212,228,192,0,0,0,5,5,219,249,5,5,220,249,5,5,221,249,5,5,222,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,232,5,5,223,249,5,5,224,249,5,5,225,249,5,5,226,249,192,0,0,0,192,0,0,0,5,5,227,249,5,5,228,249,5,5,229,249,5,5,230,249,5,5,231,249,5,5,232,249,5,5,233,249,192,0,0,0,192,0,0,0,5,5,234,249,5,5,235,249,5,5,236,249,5,5,76,224,5,5,237,249,5,5,238,249,5,5,239,249,192,0,0,0,192,0,0,0,5,5,240,249,5,5,241,249,5,5,37,230,5,5,242,249,192,0,0,0,192,0,0,0,5,5,243,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,231,5,5,93,247,5,5,22,228,5,5,94,247,5,5,255,230,192,0,0,0,5,5,124,231,5,5,239,235,192,0,0,0,5,5,95,247,5,5,96,247,5,5,97,247,5,5,98,247,5,5,99,247,5,5,240,235,192,0,0,0,5,5,34,236,192,0,0,0,5,5,101,247,5,5,100,247,5,5,247,236,192,0,0,0,5,5,140,234,5,5,102,247,5,5,104,247,5,5,103,247,5,5,105,247,5,5,106,247,192,0,0,0,192,0,0,0,5,5,223,226,5,5,107,247,5,5,154,227,192,0,0,0,5,5,108,247,5,5,109,247,5,5,23,229,5,5,110,247,5,5,36,226,5,5,111,247,5,5,112,247,5,5,113,247,5,5,114,247,5,5,149,232,5,5,115,247,5,5,116,247,192,0,0,0,5,5,117,247,5,5,184,231,192,0,0,0,5,5,118,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,247,192,0,0,0,5,5,120,247,5,5,3,250,192,0,0,0,5,5,121,247,5,5,122,247,5,5,123,247,192,0,0,0,5,5,124,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,247,5,5,137,227,192,0,0,0,5,5,126,247,5,5,127,247,5,5,128,247,5,5,129,247,5,5,130,247,5,5,131,247,5,5,132,247,5,5,134,247,192,0,0,0,192,0,0,0,5,5,151,236,5,5,133,247,192,0,0,0,5,5,135,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,249,5,5,97,230,192,0,0,0,192,0,0,0,5,5,42,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,250,5,5,44,250,192,0,0,0,192,0,0,0,5,5,45,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,250,5,5,92,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,250,192,0,0,0,5,5,49,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,249,192,0,0,0,192,0,0,0,5,5,145,230,192,0,0,0,5,5,39,250,5,5,40,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,233,5,5,210,229,5,5,82,247,192,0,0,0,5,5,140,227,192,0,0,0,192,0,0,0,5,5,47,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,231,192,0,0,0,192,0,0,0,5,5,50,250,5,5,51,250,5,5,52,250,192,0,0,0,5,5,54,250,5,5,53,250,192,0,0,0,5,5,55,250,192,0,0,0,192,0,0,0,5,5,58,250,192,0,0,0,5,5,57,250,192,0,0,0,5,5,56,250,5,5,59,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,246,192,0,0,0,5,5,124,246,5,5,125,246,192,0,0,0,5,5,162,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,249,192,0,0,0,5,5,164,249,5,5,220,225,192,0,0,0,5,5,138,238,192,0,0,0,192,0,0,0,5,5,24,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,238,192,0,0,0,5,5,247,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,233,192,0,0,0,5,5,61,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,250,192,0,0,0,192,0,0,0,5,5,63,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,250,192,0,0,0,5,5,64,250,192,0,0,0,5,5,37,224,192,0,0,0,5,5,66,250,5,5,67,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,232,5,5,230,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,224,5,5,153,249,192,0,0,0,192,0,0,0,5,5,154,249,5,5,46,230,5,5,155,249,5,5,156,249,5,5,157,249,5,5,158,249,5,5,159,249,5,5,160,249,5,5,131,232,5,5,161,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,230,5,5,250,226,5,5,122,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,227,5,5,11,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,226,192,0,0,0,192,0,0,0,5,5,188,227,5,5,40,225,5,5,18,229,192,0,0,0,192,0,0,0,5,5,25,232,5,5,190,228,5,5,152,229,5,5,52,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,230,5,5,139,230,192,0,0,0,192,0,0,0,5,5,141,230,5,5,189,229,5,5,77,244,5,5,140,230,5,5,188,229,192,0,0,0,192,0,0,0,5,5,121,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,229,192,0,0,0,192,0,0,0,5,5,178,229,5,5,180,229,5,5,181,229,5,5,177,229,5,5,179,229,192,0,0,0,5,5,206,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,229,192,0,0,0,192,0,0,0,5,5,95,230,5,5,94,230,192,0,0,0,192,0,0,0,5,5,93,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,230,192,0,0,0,192,0,0,0,5,5,110,231,192,0,0,0,192,0,0,0,5,5,184,229,5,5,196,229,192,0,0,0,5,5,193,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,230,5,5,197,229,192,0,0,0,5,5,82,230,5,5,191,229,5,5,201,229,192,0,0,0,5,5,50,230,192,0,0,0,192,0,0,0,5,5,44,230,5,5,52,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,225,192,0,0,0,5,5,113,231,5,5,114,230,192,0,0,0,5,5,15,224,192,0,0,0,5,5,65,224,192,0,0,0,5,5,119,224,5,5,224,230,192,0,0,0,5,5,243,233,192,0,0,0,5,5,219,232,5,5,63,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,224,5,5,50,233,5,5,78,233,5,5,212,232,5,5,123,230,5,5,124,230,5,5,11,230,192,0,0,0,5,5,3,230,5,5,4,230,192,0,0,0,5,5,6,230,192,0,0,0,5,5,9,230,192,0,0,0,192,0,0,0,5,5,114,231,192,0,0,0,5,5,107,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,229,5,5,238,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,230,5,5,29,230,5,5,254,235,5,5,28,230,5,5,27,230,192,0,0,0,5,5,246,229,5,5,84,231,5,5,83,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,230,5,5,180,241,192,0,0,0,192,0,0,0,5,5,247,229,5,5,43,230,192,0,0,0,5,5,49,230,5,5,4,248,192,0,0,0,5,5,45,230,192,0,0,0,192,0,0,0,5,5,231,229,192,0,0,0,5,5,63,249,192,0,0,0,192,0,0,0,5,5,21,230,5,5,15,230,5,5,88,243,5,5,88,231,5,5,25,230,192,0,0,0,5,5,17,230,192,0,0,0,5,5,168,240,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,232,192,0,0,0,192,0,0,0,5,5,66,230,5,5,65,230,5,5,57,230,5,5,58,230,5,5,62,230,5,5,60,230,192,0,0,0,192,0,0,0,5,5,67,230,5,5,102,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,230,192,0,0,0,5,5,223,229,5,5,114,230,5,5,73,230,5,5,229,229,5,5,222,229,5,5,108,230,5,5,107,236,5,5,216,229,5,5,208,229,5,5,70,231,5,5,215,229,5,5,233,229,5,5,174,246,192,0,0,0,192,0,0,0,5,5,217,229,192,0,0,0,5,5,74,231,5,5,77,231,5,5,41,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,250,5,5,32,230,5,5,38,230,192,0,0,0,5,5,234,229,5,5,156,248,5,5,235,229,192,0,0,0,5,5,217,237,192,0,0,0,5,5,80,233,5,5,164,224,5,5,70,225,5,5,82,232,5,5,254,225,5,5,146,234,5,5,35,234,5,5,92,237,5,5,234,225,5,5,7,224,192,0,0,0,5,5,166,235,5,5,131,228,192,0,0,0,5,5,148,229,5,5,111,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,237,5,5,122,236,5,5,219,229,5,5,49,233,5,5,97,235,5,5,151,226,5,5,228,228,5,5,215,228,5,5,226,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,236,5,5,242,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,235,5,5,236,232,5,5,232,230,5,5,233,230,5,5,92,232,5,5,14,224,5,5,122,227,192,0,0,0,5,5,27,232,192,0,0,0,5,5,17,231,192,0,0,0,5,5,148,243,5,5,234,227,5,5,58,229,5,5,73,237,192,0,0,0,5,5,250,230,5,5,56,228,5,5,140,233,5,5,189,230,5,5,85,227,5,5,250,242,192,0,0,0,5,5,3,238,192,0,0,0,5,5,47,238,5,5,12,224,5,5,39,233,5,5,33,246,5,5,17,232,192,0,0,0,5,5,84,238,5,5,17,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,226,5,5,142,233,5,5,143,237,5,5,16,225,5,5,249,239,5,5,249,239,5,5,8,238,5,5,136,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,243,5,5,113,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,229,5,5,139,232,192,0,0,0,5,5,254,224,5,5,45,228,5,5,180,236,5,5,23,233,5,5,122,227,5,5,95,241,5,5,123,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,236,5,5,26,224,5,5,184,243,192,0,0,0,5,5,90,242,192,0,0,0,5,5,134,224,5,5,8,242,5,5,141,242,5,5,55,233,5,5,236,236,5,5,73,237,192,0,0,0,192,0,0,0,5,5,113,225,5,5,241,240,5,5,205,233,5,5,244,240,5,5,0,155,5,5,105,232,5,5,180,229,5,5,181,234,5,5,120,237,5,5,111,225,192,0,0,0,5,5,65,230,192,0,0,0,5,5,58,238,192,0,0,0,192,0,0,0,5,5,3,238,5,5,72,232,5,5,34,229,5,5,78,226,5,5,251,237,192,0,0,0,192,0,0,0,5,5,189,227,192,0,0,0,5,5,217,234,5,5,122,236,5,5,64,233,5,5,191,237,192,0,0,0,5,5,51,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,237,5,5,212,227,192,0,0,0,192,0,0,0,5,5,235,247,5,5,166,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,238,192,0,0,0,192,0,0,0,5,5,104,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,229,5,5,162,234,192,0,0,0,192,0,0,0,5,5,73,231,5,5,4,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,232,5,5,105,235,192,0,0,0,192,0,0,0,5,5,232,230,5,5,125,234,192,0,0,0,5,5,13,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,237,192,0,0,0,5,5,191,232,5,5,249,236,192,0,0,0,5,5,226,225,5,5,130,229,192,0,0,0,5,5,177,239,5,5,176,232,192,0,0,0,5,5,88,229,192,0,0,0,5,5,226,226,192,0,0,0,192,0,0,0,5,5,180,236,5,5,233,230,5,5,92,232,5,5,23,233,5,5,0,218,5,5,76,225,5,5,15,224,5,5,236,227,5,5,14,224,5,5,101,224,5,5,36,228,192,0,0,0,5,5,102,232,5,5,102,232,5,5,102,232,192,0,0,0,5,5,226,227,5,5,32,228,5,5,173,239,192,0,0,0,5,5,158,228,5,5,23,241,5,5,30,241,192,0,0,0,5,5,22,235,5,5,228,224,5,5,234,237,192,0,0,0,192,0,0,0,5,5,34,234,192,0,0,0,192,0,0,0,5,5,6,233,5,5,6,233,5,5,123,241,192,0,0,0,5,5,77,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,232,5,5,33,238,5,5,225,224,5,5,226,239,5,5,232,239,5,5,163,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,226,192,0,0,0,5,5,29,233,192,0,0,0,192,0,0,0,5,5,23,228,192,0,0,0,192,0,0,0,5,5,170,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,233,5,5,121,228,5,5,137,225,5,5,208,240,192,0,0,0,5,5,122,234,5,5,148,243,192,0,0,0,5,5,201,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,241,192,0,0,0,5,5,230,235,5,5,204,224,192,0,0,0,5,5,15,239,192,0,0,0,5,5,183,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,242,5,5,154,233,5,5,178,229,192,0,0,0,5,5,199,240,192,0,0,0,192,0,0,0,5,5,208,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,232,5,5,204,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,227,192,0,0,0,192,0,0,0,5,5,66,225,5,5,213,227,5,5,55,233,5,5,213,227,192,0,0,0,5,5,73,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,224,5,5,31,245,192,0,0,0,5,5,5,224,5,5,0,172,5,5,22,229,192,0,0,0,5,5,166,234,5,5,214,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,236,192,0,0,0,5,5,12,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,230,5,5,224,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,233,192,0,0,0,192,0,0,0,5,5,182,230,5,5,231,230,5,5,92,238,192,0,0,0,5,5,155,245,192,0,0,0,5,5,180,229,5,5,181,234,192,0,0,0,5,5,117,244,5,5,116,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,236,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,231,5,5,85,227,5,5,65,230,5,5,120,227,5,5,204,228,5,5,95,231,192,0,0,0,192,0,0,0,5,5,207,226,5,5,12,243,192,0,0,0,5,5,58,238,5,5,185,225,192,0,0,0,5,5,3,236,5,5,203,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,243,192,0,0,0,5,5,73,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,234,192,0,0,0,5,5,5,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,246,5,5,34,229,192,0,0,0,192,0,0,0,5,5,36,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,237,5,5,150,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,246,5,5,93,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,238,192,0,0,0,192,0,0,0,5,5,151,226,5,5,72,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,236,192,0,0,0,192,0,0,0,5,5,196,231,5,5,200,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,248,5,5,210,248,5,5,65,225,192,0,0,0,5,5,3,240,5,5,229,236,5,5,179,237,5,5,183,229,5,5,184,227,5,5,82,226,5,5,243,235,5,5,108,229,192,0,0,0,5,5,212,232,192,0,0,0,5,5,185,232,192,0,0,0,192,0,0,0,5,5,173,230,192,0,0,0,5,5,8,238,192,0,0,0,5,5,3,229,5,5,40,229,5,5,135,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,232,192,0,0,0,192,0,0,0,5,5,0,173,5,5,74,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,230,192,0,0,0,5,5,123,246,5,5,162,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,224,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,170,170,3,0,68,0,51,0,60,0,155,48,1,16,212,1,0,96,1,0,0,96,98,186,1,0,24,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,72,0,0,0,72,1,0,0,248,132,1,0,248,132,1,0,104,143,1,0,104,143,1,0,40,158,1,0,40,158,1,0,44,179,1,0,26,182,1,0,74,186,1,0,17,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,254,255,50,105,114,84,1,0,0,9,26,23,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,176,0,184,0,189,0,48,0,197,0,205,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,226,0,234,0,242,0,250,0,2,1,10,1,18,1,26,1,48,0,33,1,35,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,42,1,48,0,48,0,48,0,48,0,50,1,58,1,48,0,66,1,74,1,82,1,85,1,48,0,48,0,93,1,101,1,48,0,48,0,48,0,109,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,117,1,125,1,133,1,141,1,149,1,157,1,165,1,173,1,181,1,189,1,197,1,205,1,213,1,221,1,229,1,237,1,245,1,253,1,5,2,13,2,21,2,29,2,37,2,45,2,53,2,61,2,69,2,77,2,85,2,93,2,101,2,109,2,117,2,125,2,133,2,141,2,149,2,157,2,165,2,173,2,181,2,189,2,197,2,205,2,213,2,221,2,229,2,237,2,245,2,253,2,5,3,13,3,21,3,29,3,37,3,45,3,53,3,61,3,69,3,77,3,85,3,93,3,101,3,109,3,117,3,125,3,133,3,141,3,149,3,157,3,165,3,173,3,181,3,189,3,197,3,205,3,213,3,221,3,229,3,237,3,245,3,253,3,5,4,13,4,21,4,29,4,37,4,45,4,53,4,61,4,69,4,77,4,85,4,93,4,101,4,109,4,117,4,125,4,133,4,141,4,149,4,157,4,165,4,173,4,181,4,189,4,197,4,205,4,213,4,221,4,229,4,237,4,245,4,253,4,5,5,13,5,21,5,29,5,37,5,45,5,53,5,61,5,69,5,77,5,85,5,93,5,101,5,109,5,117,5,125,5,133,5,141,5,149,5,157,5,165,5,173,5,181,5,189,5,197,5,205,5,213,5,221,5,229,5,237,5,245,5,253,5,5,6,13,6,21,6,29,6,37,6,45,6,53,6,61,6,69,6,77,6,85,6,93,6,101,6,109,6,117,6,125,6,133,6,141,6,149,6,157,6,165,6,173,6,181,6,189,6,197,6,205,6,213,6,221,6,229,6,237,6,245,6,253,6,5,7,13,7,21,7,29,7,37,7,45,7,53,7,61,7,69,7,77,7,85,7,93,7,101,7,109,7,117,7,125,7,133,7,141,7,149,7,157,7,165,7,173,7,181,7,189,7,197,7,205,7,213,7,221,7,229,7,237,7,245,7,253,7,5,8,13,8,21,8,29,8,37,8,45,8,53,8,61,8,69,8,77,8,85,8,93,8,101,8,109,8,117,8,125,8,133,8,141,8,149,8,157,8,165,8,173,8,181,8,189,8,197,8,205,8,213,8,221,8,229,8,237,8,245,8,253,8,5,9,13,9,21,9,29,9,37,9,45,9,53,9,61,9,69,9,77,9,85,9,93,9,101,9,109,9,117,9,125,9,133,9,141,9,149,9,157,9,165,9,173,9,181,9,189,9,197,9,205,9,213,9,221,9,229,9,237,9,245,9,253,9,5,10,13,10,21,10,29,10,37,10,45,10,53,10,61,10,69,10,77,10,85,10,93,10,101,10,109,10,117,10,125,10,133,10,141,10,149,10,157,10,165,10,173,10,181,10,189,10,197,10,205,10,213,10,221,10,229,10,237,10,245,10,253,10,5,11,13,11,21,11,29,11,37,11,45,11,53,11,61,11,69,11,77,11,85,11,93,11,101,11,109,11,117,11,125,11,133,11,141,11,149,11,157,11,165,11,173,11,181,11,189,11,197,11,205,11,213,11,221,11,229,11,237,11,245,11,253,11,5,12,13,12,21,12,29,12,37,12,45,12,53,12,61,12,69,12,77,12,85,12,93,12,101,12,109,12,117,12,125,12,133,12,141,12,149,12,157,12,165,12,173,12,181,12,189,12,197,12,205,12,213,12,221,12,229,12,237,12,245,12,253,12,5,13,13,13,21,13,29,13,37,13,45,13,53,13,61,13,69,13,77,13,85,13,93,13,101,13,109,13,117,13,125,13,133,13,141,13,149,13,157,13,165,13,173,13,181,13,189,13,197,13,205,13,213,13,221,13,229,13,237,13,245,13,253,13,5,14,13,14,21,14,29,14,37,14,45,14,53,14,61,14,69,14,77,14,85,14,93,14,101,14,109,14,117,14,125,14,133,14,141,14,149,14,157,14,165,14,173,14,181,14,189,14,197,14,205,14,213,14,221,14,229,14,237,14,245,14,253,14,5,15,13,15,21,15,29,15,37,15,45,15,53,15,61,15,69,15,77,15,85,15,93,15,101,15,109,15,117,15,125,15,133,15,141,15,149,15,157,15,165,15,173,15,181,15,189,15,197,15,205,15,213,15,221,15,229,15,237,15,245,15,253,15,5,16,13,16,21,16,29,16,37,16,45,16,53,16,61,16,69,16,77,16,85,16,93,16,101,16,109,16,117,16,125,16,133,16,141,16,149,16,157,16,165,16,173,16,181,16,189,16,197,16,205,16,213,16,221,16,229,16,237,16,245,16,253,16,5,17,13,17,21,17,29,17,37,17,45,17,53,17,61,17,69,17,77,17,85,17,93,17,101,17,109,17,117,17,125,17,133,17,141,17,149,17,157,17,165,17,173,17,181,17,189,17,197,17,205,17,213,17,221,17,229,17,237,17,245,17,253,17,5,18,13,18,21,18,29,18,37,18,45,18,53,18,61,18,69,18,77,18,85,18,93,18,101,18,109,18,117,18,125,18,133,18,141,18,149,18,157,18,165,18,173,18,181,18,189,18,197,18,205,18,213,18,221,18,229,18,237,18,245,18,253,18,5,19,13,19,21,19,29,19,37,19,45,19,53,19,61,19,69,19,77,19,85,19,93,19,101,19,109,19,117,19,125,19,133,19,141,19,149,19,157,19,165,19,173,19,181,19,189,19,197,19,205,19,213,19,221,19,229,19,237,19,245,19,253,19,5,20,13,20,21,20,29,20,37,20,45,20,53,20,61,20,69,20,77,20,85,20,93,20,101,20,109,20,117,20,125,20,133,20,141,20,149,20,157,20,165,20,173,20,181,20,189,20,197,20,205,20,213,20,221,20,229,20,237,20,245,20,253,20,5,21,13,21,21,21,29,21,37,21,45,21,53,21,61,21,69,21,77,21,85,21,93,21,101,21,109,21,117,21,125,21,133,21,141,21,149,21,157,21,165,21,173,21,181,21,189,21,197,21,205,21,213,21,221,21,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,161,0,48,0,48,0,153,0,9,23,153,0,17,23,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,229,21,237,21,245,21,253,21,5,22,13,22,21,22,29,22,37,22,45,22,53,22,61,22,69,22,77,22,85,22,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,92,22,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,192,8,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,97,22,105,22,113,22,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,121,22,129,22,137,22,145,22,153,22,161,22,169,22,177,22,185,22,193,22,201,22,209,22,217,22,225,22,233,22,241,22,249,22,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,41,0,202,65,39,0,202,130,39,0,202,195,39,0,202,4,40,0,202,69,40,0,202,134,40,0,202,199,40,0,202,8,41,0,202,73,41,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,66,117,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,130,117,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,194,117,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,167,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,25,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,57,238,6,5,124,187,6,5,5,248,6,5,121,213,7,5,180,238,6,5,177,197,9,5,5,182,6,5,60,227,7,5,117,218,6,5,218,181,6,5,47,219,7,5,161,168,6,5,114,196,6,5,91,208,6,5,91,171,6,5,170,192,6,5,126,215,6,5,103,178,6,5,90,202,6,5,81,169,6,5,22,170,6,5,136,182,6,5,103,231,8,5,201,221,6,5,244,171,6,5,55,195,6,5,149,173,6,5,54,223,6,5,86,241,6,5,70,199,6,5,231,228,7,5,129,227,6,5,254,221,6,5,158,246,6,5,45,224,6,5,165,230,6,5,154,177,7,5,143,211,6,5,96,249,6,5,128,208,6,5,69,177,6,5,60,233,6,5,24,241,6,5,163,221,6,5,223,173,6,5,68,220,6,5,202,175,6,5,201,185,6,5,171,192,6,5,161,195,6,5,234,184,6,5,111,237,6,5,11,187,6,5,254,239,6,5,230,185,6,5,221,238,6,5,202,185,6,5,190,192,6,5,69,220,6,5,222,174,6,5,213,233,6,5,82,185,6,5,227,189,7,5,92,222,6,5,79,246,6,5,255,213,7,5,158,229,6,5,90,180,6,5,163,195,6,5,137,182,6,5,46,230,7,5,183,218,6,5,253,242,8,5,7,243,7,5,184,209,6,5,142,215,6,5,159,246,6,5,166,177,6,5,116,222,6,5,47,230,6,5,23,170,6,5,69,207,6,5,255,221,6,5,217,214,7,5,12,223,7,5,198,191,6,5,82,245,6,5,73,184,6,5,125,237,6,5,8,212,6,5,82,213,6,5,247,235,6,5,82,211,6,5,253,217,6,5,42,235,6,5,10,242,6,5,141,186,6,5,59,228,6,5,187,184,7,5,111,221,6,5,255,240,6,5,82,226,6,5,26,213,6,5,97,210,6,5,140,171,6,5,230,168,6,5,240,212,6,5,249,208,6,5,187,209,6,5,70,207,6,5,241,221,6,5,203,221,6,5,7,222,6,5,241,218,6,5,153,188,6,5,98,235,6,5,94,202,6,5,235,247,6,5,73,208,6,5,92,208,6,5,153,183,6,5,173,228,6,5,39,237,6,5,226,241,6,5,103,201,6,5,219,181,6,5,184,201,6,5,245,181,6,5,13,242,6,5,9,219,6,5,250,173,6,5,82,249,6,5,197,246,6,5,182,196,6,5,233,220,6,5,220,175,6,5,128,247,6,5,162,185,6,5,229,219,6,5,148,172,6,5,142,189,6,5,28,175,6,5,124,235,6,5,24,234,6,5,63,238,6,5,26,236,6,5,9,194,6,5,192,194,6,5,87,236,6,5,78,186,6,5,91,180,6,5,243,221,6,5,202,246,6,5,164,169,6,5,227,174,7,5,182,249,6,5,191,249,6,5,19,221,6,5,213,173,6,5,218,233,6,5,253,173,6,5,71,176,6,5,244,238,6,5,67,241,6,5,206,170,6,5,64,202,7,5,166,195,6,5,41,245,6,5,220,207,6,5,82,184,6,5,111,202,6,5,142,248,6,5,227,241,6,5,166,216,6,5,178,182,6,5,170,208,6,5,115,185,6,5,242,228,6,5,175,196,6,5,177,239,6,5,8,238,6,5,83,183,6,5,179,182,6,5,219,221,6,5,95,222,6,5,162,232,6,5,182,206,6,5,81,186,6,5,35,185,6,5,234,170,6,5,97,180,6,5,164,173,6,5,118,185,6,5,80,187,6,5,162,241,6,5,232,210,6,5,117,205,6,5,160,205,6,5,229,206,6,5,172,206,6,5,201,190,6,5,169,222,6,5,244,188,6,5,191,246,6,5,165,208,6,5,241,179,6,5,102,186,6,5,172,222,6,5,20,170,6,5,160,214,6,5,221,174,6,5,232,204,6,5,57,187,6,5,38,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,201,221,6,5,216,210,6,5,136,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,8,5,57,238,8,5,5,182,8,5,166,219,7,5,106,223,7,5,181,220,8,5,67,247,7,5,210,231,6,5,96,193,6,5,180,238,6,5,99,171,6,5,225,179,7,5,74,226,6,5,167,178,6,5,117,218,198,131,31,0,198,227,31,0,198,67,32,0,198,163,32,0,198,3,33,0,198,99,33,0,198,195,33,0,198,35,34,0,198,131,34,0,198,227,34,0,198,67,35,0,198,163,35,0,198,3,36,0,198,99,36,0,197,227,35,0,198,195,36,0,198,35,37,0,198,131,37,0,198,227,37,0,197,67,36,0,198,67,38,0,198,163,38,0,197,163,36,0,197,3,37,0,198,3,39,0,198,99,39,0,198,195,39,0,198,35,40,0,197,99,37,0,198,131,40,0,197,195,37,0,198,227,40,0,197,35,38,0,198,67,41,0,197,131,38,0,197,227,38,0,6,5,201,229,6,5,88,241,6,5,158,229,6,5,50,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,57,238,7,5,5,182,7,5,166,219,6,5,106,223,6,5,77,230,6,5,193,204,6,5,58,214,6,5,161,168,6,5,165,196,6,5,201,221,7,5,7,243,6,5,198,191,6,5,12,223,6,5,184,209,6,5,166,195,6,5,129,227,6,5,183,218,6,5,207,247,7,5,63,241,6,5,242,220,6,5,24,209,6,5,210,225,6,5,52,172,6,5,39,248,6,5,79,201,6,5,101,208,6,5,17,210,6,5,143,211,6,5,68,222,6,5,17,241,6,5,29,240,6,5,31,248,6,5,228,232,6,5,87,234,6,5,144,233,6,5,65,246,6,5,181,220,7,5,67,247,6,5,210,231,7,5,30,250,7,5,87,241,6,5,64,238,6,5,97,249,6,5,101,235,6,5,162,193,6,5,194,214,6,5,32,249,6,5,103,233,6,5,3,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,39,0,197,130,39,0,197,194,39,0,197,2,40,0,197,66,40,0,197,130,40,0,197,194,40,0,197,2,41,0,197,66,41,0,197,131,41,0,197,227,41,0,197,67,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,42,0,197,34,43,0,197,98,43,0,197,162,43,0,197,226,43,0,197,34,44,0,197,98,44,0,197,162,44,0,197,226,44,0,197,34,45,0,197,99,45,0,197,195,45,0,197,35,46,0,197,131,46,0,197,227,46,0,197,67,47,0,197,163,47,0,197,3,48,0,197,99,48,0,197,195,48,0,197,35,49,0,197,131,49,0,197,227,49,0,197,67,50,0,197,163,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,51,0,197,66,51,0,197,130,51,0,197,194,51,0,197,4,52,0,197,130,52,0,197,194,52,0,197,2,53,0,197,66,53,0,197,130,53,0,197,194,53,0,197,2,54,0,197,66,54,0,197,130,54,0,197,195,54,0,197,35,55,0,197,131,55,0,197,227,55,0,197,67,56,0,197,163,56,0,197,3,57,0,197,99,57,0,197,195,57,0,197,35,58,0,197,131,58,0,197,227,58,0,197,67,59,0,197,163,59,0,197,3,60,0,197,99,60,0,197,195,60,0,197,35,61,0,197,131,61,0,197,227,61,0,197,67,62,0,197,163,62,0,192,0,0,0,5,5,57,238,5,5,225,179,5,5,186,198,5,5,58,214,5,5,180,220,5,5,209,231,5,5,14,188,5,5,139,228,5,5,47,245,5,5,166,219,5,5,181,220,5,5,210,231,5,5,247,191,5,5,10,172,5,5,221,241,5,5,146,208,5,5,167,184,5,5,87,175,5,5,88,175,5,5,77,248,5,5,63,216,5,5,201,212,5,5,4,222,5,5,3,222,5,5,4,217,5,5,99,171,5,5,251,237,5,5,188,176,5,5,18,180,5,5,56,223,5,5,85,174,5,5,14,180,5,5,5,217,5,5,85,203,5,5,15,180,5,5,64,241,5,5,86,203,5,5,84,236,5,5,125,171,5,5,204,219,5,5,124,187,5,5,144,196,5,5,150,185,5,5,226,235,5,5,206,215,5,5,67,247,5,5,172,192,5,5,131,195,5,5,69,183,5,5,216,186,5,5,227,175,5,5,65,173,5,5,217,203,5,5,210,248,5,5,5,248,5,5,160,168,5,5,93,228,5,5,213,177,5,5,85,229,5,5,6,248,5,5,47,196,5,5,97,202,5,5,35,197,5,5,121,213,5,5,199,183,5,5,99,238,5,5,218,238,5,5,249,209,5,5,76,230,5,5,166,196,5,5,167,196,5,5,217,227,5,5,130,207,5,5,219,238,5,5,58,238,5,5,78,246,5,5,19,230,5,5,166,244,5,5,139,189,5,5,25,182,5,5,135,201,5,5,213,239,5,5,151,213,5,5,45,212,5,5,9,216,5,5,212,189,5,5,174,186,5,5,93,174,5,5,100,174,5,5,180,238,5,5,253,239,5,5,49,236,5,5,202,208,5,5,165,196,5,5,192,214,5,5,243,237,5,5,44,231,5,5,159,232,5,5,168,184,5,5,168,196,5,5,211,231,5,5,224,189,5,5,115,222,5,5,82,180,5,5,242,221,5,5,253,191,5,5,43,210,5,5,36,193,5,5,55,197,5,5,205,221,5,5,94,207,5,5,140,189,5,5,215,206,5,5,53,206,5,5,252,248,5,5,43,219,5,5,100,235,5,5,142,236,5,5,42,184,5,5,15,220,5,5,222,209,5,5,199,184,5,5,148,224,5,5,143,241,5,5,56,177,5,5,152,245,5,5,100,215,5,5,234,246,5,5,34,187,5,5,205,184,5,5,55,206,5,5,2,204,5,5,63,239,5,5,177,197,5,5,151,201,5,5,207,206,5,5,222,241,5,5,19,246,5,5,12,222,5,5,15,222,5,5,5,182,5,5,155,175,5,5,128,241,5,5,225,199,5,5,127,241,5,5,64,243,5,5,225,189,5,5,97,214,5,5,77,230,5,5,46,196,5,5,105,223,5,5,72,224,5,5,163,185,5,5,164,185,5,5,25,236,5,5,92,233,5,5,28,236,5,5,105,214,5,5,31,236,5,5,105,192,5,5,60,227,5,5,164,228,5,5,173,198,5,5,155,177,5,5,152,194,5,5,217,187,5,5,228,238,5,5,62,173,5,5,255,188,5,5,168,209,5,5,56,238,5,5,199,232,5,5,9,196,5,5,215,226,5,5,97,203,5,5,200,232,5,5,13,196,5,5,5,238,5,5,92,216,5,5,184,171,5,5,106,241,5,5,171,233,5,5,254,177,5,5,240,202,5,5,64,181,5,5,226,207,5,5,117,218,5,5,118,218,5,5,92,192,5,5,93,192,5,5,165,228,5,5,220,238,5,5,61,221,5,5,119,218,5,5,133,201,5,5,226,179,5,5,81,244,5,5,187,195,5,5,254,213,5,5,51,175,5,5,162,168,5,5,39,245,5,5,162,195,5,5,132,195,5,5,92,171,5,5,178,218,5,5,187,176,5,5,148,183,5,5,175,219,5,5,67,206,5,5,93,171,5,5,113,172,5,5,59,249,5,5,5,222,5,5,171,224,5,5,48,245,5,5,75,184,5,5,224,231,5,5,225,231,5,5,218,227,5,5,42,189,5,5,254,226,5,5,143,218,5,5,26,215,5,5,215,184,5,5,83,185,5,5,171,171,5,5,169,177,5,5,119,204,5,5,182,238,5,5,207,173,5,5,124,173,5,5,126,219,5,5,125,173,5,5,100,238,5,5,185,209,5,5,235,207,5,5,144,218,5,5,112,182,5,5,208,173,5,5,79,237,5,5,89,215,5,5,111,247,5,5,27,213,5,5,247,229,5,5,79,230,5,5,8,194,5,5,114,193,5,5,176,237,5,5,71,183,5,5,114,172,5,5,146,218,5,5,168,228,5,5,53,183,5,5,199,178,5,5,158,182,5,5,68,247,5,5,194,214,5,5,116,212,5,5,130,241,5,5,152,179,5,5,5,181,5,5,116,230,5,5,229,238,5,5,242,233,5,5,174,198,5,5,62,238,5,5,95,192,5,5,2,168,5,5,80,230,5,5,195,192,5,5,202,183,5,5,26,182,5,5,87,234,5,5,212,195,5,5,202,212,5,5,243,177,5,5,162,183,5,5,136,225,5,5,112,247,5,5,5,241,5,5,199,191,5,5,67,191,5,5,223,241,5,5,28,177,5,5,67,243,5,5,176,219,5,5,23,229,5,5,209,175,5,5,212,173,5,5,248,235,5,5,103,232,5,5,157,220,5,5,106,173,5,5,68,206,5,5,115,172,5,5,200,235,5,5,244,233,5,5,24,229,5,5,23,248,5,5,88,244,5,5,17,232,5,5,135,211,5,5,172,171,5,5,42,186,5,5,148,210,5,5,169,210,5,5,148,233,5,5,31,169,5,5,199,234,5,5,35,204,5,5,171,247,5,5,18,221,5,5,88,217,5,5,139,176,5,5,232,169,5,5,8,222,5,5,38,193,5,5,203,212,5,5,233,238,5,5,109,223,5,5,184,238,5,5,20,246,5,5,101,179,5,5,228,187,5,5,223,206,5,5,8,178,5,5,24,248,5,5,12,172,5,5,89,217,5,5,26,170,5,5,68,245,5,5,132,176,5,5,87,229,5,5,200,178,5,5,25,248,5,5,31,250,5,5,89,241,5,5,80,237,5,5,36,226,5,5,250,244,5,5,155,188,5,5,48,170,5,5,242,227,5,5,234,220,5,5,131,241,5,5,234,238,5,5,205,183,5,5,33,250,5,5,247,185,5,5,75,211,5,5,2,227,5,5,149,210,5,5,230,231,5,5,133,217,5,5,187,240,5,5,60,228,5,5,35,215,5,5,86,222,5,5,81,198,5,5,83,169,5,5,118,212,5,5,41,191,5,5,216,188,5,5,104,201,5,5,190,232,5,5,110,185,5,5,46,237,5,5,232,168,5,5,45,182,5,5,46,209,5,5,41,193,5,5,8,182,5,5,126,171,5,5,106,192,5,5,250,188,5,5,194,191,5,5,70,187,5,5,206,217,5,5,132,226,5,5,193,194,5,5,140,176,5,5,245,238,5,5,244,221,5,5,28,234,5,5,20,221,5,5,225,227,5,5,133,198,5,5,122,246,5,5,147,184,5,5,158,200,5,5,109,238,5,5,206,174,5,5,123,199,5,5,248,186,5,5,104,202,5,5,171,239,5,5,16,222,5,5,75,208,5,5,202,247,5,5,203,234,5,5,90,241,5,5,35,168,5,5,144,205,5,5,147,209,5,5,221,181,5,5,72,206,5,5,52,180,5,5,236,172,5,5,147,174,5,5,203,235,5,5,208,185,5,5,130,247,5,5,67,238,5,5,13,219,5,5,65,177,5,5,168,231,5,5,114,223,5,5,171,177,5,5,231,205,5,5,220,224,5,5,194,194,5,5,174,245,5,5,159,172,5,5,10,216,5,5,138,199,5,5,247,172,5,5,76,211,5,5,96,211,5,5,189,195,5,5,88,230,5,5,106,189,5,5,129,196,5,5,136,174,5,5,248,245,5,5,39,250,5,5,92,175,5,5,93,216,5,5,233,205,5,5,253,196,5,5,193,222,5,5,235,226,5,5,91,221,5,5,183,227,5,5,180,171,5,5,20,210,5,5,243,232,5,5,210,170,5,5,178,227,5,5,228,241,5,5,114,231,5,5,224,176,5,5,101,181,5,5,43,217,5,5,179,234,5,5,17,187,5,5,104,199,5,5,89,230,5,5,44,198,5,5,6,239,5,5,47,184,5,5,71,203,5,5,206,249,5,5,40,216,5,5,112,202,5,5,229,240,5,5,174,191,5,5,76,196,5,5,145,215,5,5,188,219,5,5,115,212,5,5,233,223,5,5,224,183,5,5,182,230,5,5,65,202,5,5,48,184,5,5,153,213,5,5,103,169,5,5,144,241,5,5,113,214,5,5,170,231,5,5,247,233,5,5,88,234,5,5,229,241,5,5,23,179,5,5,214,173,5,5,53,175,5,5,213,246,5,5,145,236,5,5,228,202,5,5,113,202,5,5,159,200,5,5,62,223,5,5,201,193,5,5,89,234,5,5,52,184,5,5,210,191,5,5,74,197,5,5,74,233,5,5,240,211,5,5,17,194,5,5,26,171,5,5,165,175,5,5,228,182,5,5,136,183,5,5,36,236,5,5,64,168,5,5,173,169,5,5,25,242,5,5,224,233,5,5,34,170,5,5,216,189,5,5,108,173,5,5,99,246,5,5,130,171,5,5,187,196,5,5,133,237,5,5,31,177,5,5,229,202,5,5,112,228,5,5,160,200,5,5,119,172,5,5,151,249,5,5,153,185,5,5,190,186,5,5,174,169,5,5,111,226,5,5,125,222,5,5,126,222,5,5,236,207,5,5,134,178,5,5,25,225,5,5,198,197,5,5,9,176,5,5,52,234,5,5,160,212,5,5,138,225,5,5,132,189,5,5,193,238,5,5,63,214,5,5,48,226,5,5,239,184,5,5,80,196,5,5,147,195,5,5,48,224,5,5,163,173,5,5,75,195,5,5,166,182,5,5,126,246,5,5,49,199,5,5,150,197,5,5,98,249,5,5,75,197,5,5,147,215,5,5,124,210,5,5,74,206,5,5,190,248,5,5,230,229,5,5,133,206,5,5,149,223,5,5,237,201,5,5,175,191,5,5,26,180,5,5,86,249,5,5,223,169,5,5,90,230,5,5,76,197,5,5,3,210,5,5,57,172,5,5,204,193,5,5,194,244,5,5,226,237,5,5,127,246,5,5,42,220,5,5,170,216,5,5,78,211,5,5,50,240,5,5,59,174,5,5,101,215,5,5,150,236,5,5,68,219,5,5,120,247,5,5,61,176,5,5,103,193,5,5,221,192,5,5,39,229,5,5,236,241,5,5,134,171,5,5,111,219,5,5,251,225,5,5,201,228,5,5,59,213,5,5,214,236,5,5,86,183,5,5,139,225,5,5,253,229,5,5,154,181,5,5,116,233,5,5,221,173,5,5,145,221,5,5,136,198,5,5,29,179,5,5,45,250,5,5,204,172,5,5,218,226,5,5,178,169,5,5,163,233,5,5,188,190,5,5,189,237,5,5,255,244,5,5,93,175,5,5,56,236,5,5,42,241,5,5,18,194,5,5,189,234,5,5,129,244,5,5,95,176,5,5,93,184,5,5,8,170,5,5,235,246,5,5,134,249,5,5,154,208,5,5,121,192,5,5,198,238,5,5,164,233,5,5,178,235,5,5,47,172,5,5,182,180,5,5,167,172,5,5,188,245,5,5,214,211,5,5,54,227,5,5,55,227,5,5,179,169,5,5,163,243,5,5,25,205,5,5,80,195,5,5,40,229,5,5,58,183,5,5,131,173,5,5,35,187,5,5,211,223,5,5,253,246,5,5,250,223,5,5,160,231,5,5,98,184,5,5,242,242,5,5,236,218,5,5,145,202,5,5,141,211,5,5,122,243,5,5,115,194,5,5,197,206,5,5,67,169,5,5,68,179,5,5,102,225,5,5,124,188,5,5,86,195,5,5,214,230,5,5,125,220,5,5,150,215,5,5,213,197,5,5,121,172,5,5,172,175,5,5,177,219,5,5,183,169,5,5,80,233,5,5,238,240,5,5,137,237,5,5,75,225,5,5,132,224,5,5,89,237,5,5,37,182,5,5,135,171,5,5,58,193,5,5,168,177,5,5,192,243,5,5,141,225,5,5,87,186,5,5,54,171,5,5,144,175,5,5,166,211,5,5,80,172,5,5,190,201,5,5,11,177,5,5,192,240,5,5,5,244,5,5,140,249,5,5,239,169,5,5,168,223,5,5,144,168,5,5,215,175,5,5,244,241,5,5,196,244,5,5,197,249,5,5,161,220,5,5,247,175,5,5,98,196,5,5,243,174,5,5,40,220,5,5,42,188,5,5,21,245,5,5,179,216,5,5,227,236,5,5,46,179,5,5,178,233,5,5,30,205,5,5,184,169,5,5,111,213,5,5,195,195,5,5,50,203,5,5,165,205,5,5,241,206,5,5,61,215,5,5,246,231,5,5,77,225,5,5,124,240,5,5,71,180,5,5,106,248,5,5,229,232,5,5,130,220,5,5,17,216,5,5,138,196,5,5,180,227,5,5,15,250,5,5,20,214,5,5,235,230,5,5,89,201,5,5,155,173,5,5,7,187,5,5,117,203,5,5,82,214,5,5,64,174,5,5,26,173,5,5,62,229,5,5,37,192,5,5,162,171,5,5,98,191,5,5,224,175,5,5,185,226,5,5,31,178,5,5,217,194,5,5,197,196,5,5,10,220,5,5,61,183,5,5,137,232,5,5,14,197,5,5,180,181,5,5,166,194,5,5,42,194,5,5,26,227,5,5,21,204,5,5,206,171,5,5,136,186,5,5,247,231,5,5,10,224,5,5,138,232,5,5,96,194,5,5,15,209,5,5,25,238,5,5,240,195,5,5,120,193,5,5,50,216,5,5,49,213,5,5,99,183,5,5,190,247,5,5,16,168,5,5,163,219,5,5,158,238,5,5,59,198,5,5,102,211,5,5,31,173,5,5,88,239,5,5,91,178,5,5,59,196,5,5,22,235,5,5,146,199,5,5,235,193,5,5,181,175,5,5,234,177,5,5,223,194,5,5,41,220,5,5,195,243,5,5,107,172,5,5,65,171,5,5,62,168,5,5,25,219,5,5,241,224,5,5,72,175,5,5,252,172,5,5,219,200,5,5,160,210,5,5,208,195,5,5,161,215,5,5,247,207,5,5,106,230,5,5,61,211,5,5,249,216,5,5,161,210,5,5,144,173,5,5,203,203,5,5,197,201,5,5,253,205,5,5,192,199,5,5,142,169,5,5,105,242,5,5,255,170,5,5,210,243,5,5,44,247,5,5,141,223,5,5,17,241,5,5,104,188,5,5,218,216,5,5,45,174,5,5,183,202,5,5,231,225,5,5,74,229,5,5,11,205,5,5,149,175,5,5,45,173,5,5,79,218,5,5,153,222,5,5,139,191,5,5,208,202,5,5,119,206,5,5,213,243,5,5,167,211,5,5,145,225,5,5,187,236,5,5,174,201,5,5,56,210,5,5,218,181,5,5,111,230,5,5,96,243,5,5,197,243,5,5,170,242,5,5,65,234,5,5,10,175,5,5,88,245,5,5,66,234,5,5,227,231,5,5,246,186,5,5,218,180,5,5,248,198,5,5,219,180,5,5,148,208,5,5,134,227,5,5,126,173,5,5,220,181,5,5,220,180,5,5,222,181,5,5,165,195,5,5,136,227,5,5,110,223,5,5,143,236,5,5,146,236,5,5,247,221,192,0,0,0,5,5,65,178,5,5,48,215,5,5,77,180,5,5,7,183,5,5,77,207,5,5,43,221,5,5,78,180,192,0,0,0,5,5,33,196,5,5,80,202,5,5,245,190,5,5,47,219,5,5,166,228,5,5,110,210,5,5,204,217,5,5,87,203,5,5,145,241,5,5,161,168,5,5,203,185,5,5,193,204,5,5,166,230,5,5,65,188,5,5,205,200,5,5,239,185,5,5,75,226,5,5,185,186,5,5,46,234,5,5,96,171,5,5,106,214,5,5,65,197,5,5,86,179,5,5,255,248,5,5,4,183,5,5,83,237,5,5,137,193,5,5,100,222,5,5,235,192,5,5,64,239,5,5,2,193,5,5,88,173,5,5,114,196,5,5,102,207,5,5,69,218,5,5,111,210,5,5,171,242,5,5,91,207,5,5,252,184,5,5,70,218,5,5,157,172,5,5,115,196,5,5,158,172,5,5,187,243,5,5,158,186,5,5,124,196,5,5,105,207,5,5,176,247,5,5,107,207,5,5,26,186,5,5,186,234,5,5,155,208,5,5,91,208,5,5,233,218,5,5,212,239,5,5,144,233,5,5,131,198,5,5,17,198,5,5,95,211,5,5,105,238,5,5,41,208,5,5,23,222,5,5,188,186,5,5,240,207,5,5,99,247,5,5,77,197,5,5,143,242,5,5,30,209,5,5,75,199,5,5,218,203,5,5,94,184,5,5,145,233,5,5,119,208,5,5,91,171,5,5,19,180,5,5,249,224,5,5,254,184,5,5,117,183,5,5,95,171,5,5,230,189,5,5,11,175,5,5,180,197,5,5,231,189,5,5,198,199,5,5,245,237,5,5,236,201,5,5,26,212,5,5,206,183,5,5,250,208,5,5,51,180,5,5,67,232,5,5,177,203,5,5,17,215,5,5,130,193,5,5,72,196,5,5,185,223,5,5,182,207,5,5,94,227,5,5,64,214,5,5,123,186,5,5,180,248,5,5,150,223,5,5,81,196,5,5,72,203,5,5,210,216,5,5,131,179,5,5,52,204,5,5,62,180,5,5,240,184,5,5,208,193,5,5,183,239,5,5,212,176,5,5,0,148,5,5,146,202,5,5,2,176,5,5,48,209,5,5,182,248,5,5,12,177,5,5,76,223,5,5,46,181,5,5,241,195,5,5,3,204,5,5,4,204,5,5,62,211,5,5,254,230,5,5,134,180,5,5,170,192,5,5,73,182,5,5,74,182,5,5,75,182,5,5,133,183,5,5,209,196,5,5,140,175,5,5,18,246,5,5,72,183,5,5,188,209,5,5,161,246,5,5,203,183,5,5,73,183,5,5,163,213,5,5,77,183,5,5,92,198,5,5,189,190,5,5,98,198,5,5,206,184,5,5,188,178,5,5,193,213,5,5,126,215,5,5,63,234,5,5,134,199,5,5,75,227,5,5,98,168,5,5,102,175,5,5,249,191,5,5,75,178,5,5,243,187,5,5,246,187,5,5,10,244,5,5,103,178,5,5,126,179,5,5,104,178,5,5,140,218,5,5,141,218,5,5,233,175,5,5,248,182,5,5,64,216,5,5,222,238,5,5,250,191,5,5,123,198,5,5,143,215,5,5,67,177,5,5,109,175,5,5,185,229,5,5,254,191,5,5,244,177,5,5,23,234,5,5,51,190,5,5,94,228,5,5,181,197,5,5,243,201,5,5,9,243,5,5,175,203,5,5,127,204,5,5,41,244,5,5,255,184,5,5,251,175,5,5,207,183,5,5,104,175,5,5,181,217,5,5,129,179,5,5,72,220,5,5,251,208,5,5,36,204,5,5,70,247,5,5,27,212,5,5,36,171,5,5,61,195,5,5,62,195,5,5,74,212,5,5,98,202,5,5,73,220,5,5,37,171,5,5,63,173,5,5,49,196,5,5,142,186,5,5,168,185,5,5,133,178,5,5,253,175,5,5,226,199,5,5,88,199,5,5,69,181,5,5,9,182,5,5,203,246,5,5,225,222,5,5,7,218,5,5,16,220,5,5,141,176,5,5,249,198,5,5,66,195,5,5,93,187,5,5,142,176,5,5,94,187,5,5,93,198,5,5,70,181,5,5,203,192,5,5,45,226,5,5,55,196,5,5,23,205,5,5,132,206,5,5,49,244,5,5,142,242,5,5,92,177,5,5,90,235,5,5,16,199,5,5,128,200,5,5,94,215,5,5,17,220,5,5,254,175,5,5,160,186,5,5,12,194,5,5,93,177,5,5,246,201,5,5,240,225,5,5,229,182,5,5,241,213,5,5,68,173,5,5,116,214,5,5,255,175,5,5,87,249,5,5,11,185,5,5,82,228,5,5,146,171,5,5,12,192,5,5,29,181,5,5,186,216,5,5,119,220,5,5,114,180,5,5,19,194,5,5,216,192,5,5,147,171,5,5,52,236,5,5,78,197,5,5,185,191,5,5,152,221,5,5,209,193,5,5,39,181,5,5,183,180,5,5,34,230,5,5,161,186,5,5,95,184,5,5,150,221,5,5,24,194,5,5,97,185,5,5,132,177,5,5,99,198,5,5,3,176,5,5,206,175,5,5,76,173,5,5,148,227,5,5,166,205,5,5,8,202,5,5,196,212,5,5,93,220,5,5,87,213,5,5,66,199,5,5,211,194,5,5,151,186,5,5,243,215,5,5,221,197,5,5,64,190,5,5,134,244,5,5,230,248,5,5,252,202,5,5,102,197,5,5,227,212,5,5,149,204,5,5,108,187,5,5,224,194,5,5,109,187,5,5,46,194,5,5,47,194,5,5,88,225,5,5,188,191,5,5,3,193,5,5,57,194,5,5,101,239,5,5,58,194,5,5,45,247,5,5,46,173,5,5,255,193,5,5,82,209,5,5,54,202,5,5,19,248,5,5,90,202,5,5,22,236,5,5,6,218,5,5,29,169,5,5,205,185,5,5,35,193,5,5,113,230,5,5,221,206,5,5,176,203,5,5,213,195,5,5,32,199,5,5,99,233,5,5,162,246,5,5,50,180,5,5,26,248,5,5,136,211,5,5,63,195,5,5,134,217,5,5,213,220,5,5,235,238,5,5,201,247,5,5,87,209,5,5,99,202,5,5,214,195,5,5,78,201,5,5,79,201,5,5,148,197,5,5,71,199,5,5,47,237,5,5,43,228,5,5,72,233,5,5,148,209,5,5,169,199,5,5,67,195,5,5,178,203,5,5,156,188,5,5,17,222,5,5,250,198,5,5,219,195,5,5,71,185,5,5,181,171,5,5,255,208,5,5,230,174,5,5,34,201,5,5,230,240,5,5,231,240,5,5,151,208,5,5,251,198,5,5,134,235,5,5,151,197,5,5,187,216,5,5,149,205,5,5,22,172,5,5,20,208,5,5,233,174,5,5,154,201,5,5,119,198,5,5,156,208,5,5,65,180,5,5,216,234,5,5,219,234,5,5,125,198,5,5,130,230,5,5,31,239,5,5,137,235,5,5,215,229,5,5,153,221,5,5,86,201,5,5,198,209,5,5,167,205,5,5,112,213,5,5,54,222,5,5,30,192,5,5,125,216,5,5,137,194,5,5,183,173,5,5,9,218,5,5,230,232,5,5,77,239,5,5,222,197,5,5,57,182,5,5,132,197,5,5,27,227,5,5,103,197,5,5,235,177,5,5,127,233,5,5,231,206,5,5,142,235,5,5,143,235,5,5,18,206,5,5,170,202,5,5,235,173,5,5,80,218,5,5,11,218,5,5,81,169,5,5,206,220,5,5,65,243,5,5,145,196,5,5,124,169,5,5,246,185,5,5,112,230,5,5,66,243,5,5,157,229,5,5,64,234,5,5,169,184,5,5,170,184,5,5,82,169,5,5,152,176,5,5,225,238,5,5,67,234,5,5,142,212,5,5,211,196,5,5,179,225,5,5,111,185,5,5,12,214,5,5,149,181,5,5,82,212,5,5,244,183,5,5,217,185,5,5,133,177,5,5,190,196,5,5,224,185,5,5,22,170,5,5,50,190,5,5,159,169,5,5,81,210,5,5,87,222,5,5,136,182,5,5,180,196,5,5,101,238,5,5,149,243,5,5,126,194,5,5,175,198,5,5,127,194,5,5,168,199,5,5,141,189,5,5,167,231,5,5,90,217,5,5,77,182,5,5,71,187,5,5,69,216,5,5,237,243,5,5,172,199,5,5,207,182,5,5,153,189,5,5,237,241,5,5,83,187,5,5,19,200,5,5,90,191,5,5,229,177,5,5,107,187,5,5,247,202,5,5,253,202,5,5,39,224,5,5,135,180,5,5,203,196,5,5,251,197,5,5,103,231,5,5,24,213,5,5,86,217,5,5,64,238,5,5,200,198,5,5,147,236,5,5,189,170,5,5,174,210,5,5,104,217,5,5,201,221,5,5,197,235,5,5,25,215,5,5,216,210,5,5,136,219,5,5,190,249,5,5,110,221,5,5,78,230,5,5,63,191,5,5,30,169,5,5,9,222,5,5,104,231,5,5,140,228,5,5,31,190,5,5,100,233,5,5,141,228,5,5,148,169,5,5,192,249,5,5,187,248,5,5,103,233,5,5,215,177,5,5,226,206,5,5,21,210,5,5,217,177,5,5,122,192,5,5,196,171,5,5,235,222,5,5,244,171,5,5,194,199,5,5,199,170,5,5,2,172,5,5,249,244,5,5,80,198,5,5,69,205,5,5,65,241,5,5,114,205,5,5,176,230,5,5,163,186,5,5,250,229,5,5,159,233,5,5,55,195,5,5,56,195,5,5,84,229,5,5,91,168,5,5,225,216,5,5,80,246,5,5,92,207,5,5,29,240,5,5,198,228,5,5,214,220,5,5,102,192,5,5,17,218,5,5,52,206,5,5,207,174,5,5,138,197,5,5,155,233,5,5,204,234,5,5,190,195,5,5,18,218,5,5,127,230,5,5,109,192,5,5,155,181,5,5,171,216,5,5,228,230,5,5,171,219,5,5,149,173,5,5,22,229,5,5,131,181,5,5,195,226,5,5,91,202,5,5,116,245,5,5,15,188,5,5,92,202,5,5,13,236,5,5,228,235,5,5,198,236,5,5,240,220,5,5,249,178,5,5,155,244,5,5,52,212,5,5,249,235,5,5,65,216,5,5,252,235,5,5,204,246,5,5,160,172,5,5,54,212,5,5,248,225,5,5,245,201,5,5,244,220,5,5,127,189,5,5,202,226,5,5,226,249,5,5,94,177,5,5,230,182,5,5,181,242,5,5,168,172,5,5,187,242,5,5,164,232,5,5,151,236,5,5,147,202,5,5,214,197,5,5,48,220,5,5,69,179,5,5,112,175,5,5,191,196,5,5,196,195,5,5,104,168,5,5,89,187,5,5,232,236,5,5,77,223,5,5,154,202,5,5,156,173,5,5,216,200,5,5,163,202,5,5,119,236,5,5,180,236,5,5,228,242,5,5,54,223,5,5,204,185,5,5,214,203,5,5,240,218,5,5,179,217,5,5,180,217,5,5,241,181,5,5,183,201,5,5,113,180,5,5,104,232,5,5,78,248,5,5,168,219,5,5,72,172,5,5,73,172,5,5,74,172,5,5,77,172,5,5,12,168,5,5,198,177,5,5,86,241,5,5,198,172,5,5,94,192,5,5,62,241,5,5,242,222,5,5,110,182,5,5,90,222,5,5,182,186,5,5,186,168,5,5,19,182,5,5,109,219,5,5,13,222,5,5,120,222,5,5,205,248,5,5,171,217,5,5,98,222,5,5,207,170,5,5,207,234,5,5,171,231,5,5,32,212,5,5,209,223,5,5,110,192,5,5,93,229,5,5,210,223,5,5,204,179,5,5,98,219,5,5,206,176,5,5,70,199,5,5,74,186,5,5,54,197,5,5,120,204,5,5,159,186,5,5,105,178,5,5,72,199,5,5,160,246,5,5,247,194,5,5,87,245,5,5,164,168,5,5,227,179,5,5,239,198,5,5,225,224,5,5,223,174,5,5,240,221,5,5,87,241,5,5,32,217,5,5,219,213,5,5,252,237,5,5,113,188,5,5,57,223,5,5,71,225,5,5,203,174,5,5,136,201,5,5,127,179,5,5,251,191,5,5,153,203,5,5,23,189,5,5,203,208,5,5,138,234,5,5,34,207,5,5,145,174,5,5,151,185,5,5,255,234,5,5,113,237,5,5,60,249,5,5,154,188,5,5,96,192,5,5,153,179,5,5,70,177,5,5,255,226,5,5,24,209,5,5,125,189,5,5,95,202,5,5,131,227,5,5,218,232,5,5,122,244,5,5,212,231,5,5,244,237,5,5,229,205,5,5,229,235,5,5,208,206,5,5,212,211,5,5,184,191,5,5,65,238,5,5,18,198,5,5,89,175,5,5,15,204,5,5,191,227,5,5,214,239,5,5,218,182,5,5,27,170,5,5,155,216,5,5,156,216,5,5,133,195,5,5,13,172,5,5,154,183,5,5,225,168,5,5,240,180,5,5,249,182,5,5,98,181,5,5,241,187,5,5,199,226,5,5,34,199,5,5,25,223,5,5,198,214,5,5,46,189,5,5,83,246,5,5,3,240,5,5,48,230,5,5,49,230,5,5,200,173,5,5,226,209,5,5,125,235,5,5,168,230,5,5,5,176,5,5,74,180,5,5,186,229,5,5,123,189,5,5,24,189,5,5,50,230,5,5,69,185,5,5,50,236,5,5,43,198,5,5,230,205,5,5,137,181,5,5,109,185,5,5,135,207,5,5,162,177,5,5,199,214,5,5,88,174,5,5,51,230,5,5,70,185,5,5,164,183,5,5,248,194,5,5,25,189,5,5,204,174,5,5,113,221,5,5,227,209,5,5,192,227,5,5,39,184,5,5,236,238,5,5,163,177,5,5,213,211,5,5,100,202,5,5,206,169,5,5,174,242,5,5,145,187,5,5,207,229,5,5,173,215,5,5,26,230,5,5,141,181,5,5,166,221,5,5,139,197,5,5,139,212,5,5,189,229,5,5,102,210,5,5,166,206,5,5,121,204,5,5,56,218,5,5,8,241,5,5,254,178,5,5,131,247,5,5,18,222,5,5,172,247,5,5,192,226,5,5,109,231,5,5,246,238,5,5,227,214,5,5,164,213,5,5,67,249,5,5,43,186,5,5,92,176,5,5,88,229,5,5,183,234,5,5,146,188,5,5,59,210,5,5,136,184,5,5,98,212,5,5,247,238,5,5,241,232,5,5,21,221,5,5,143,189,5,5,51,209,5,5,123,177,5,5,182,217,5,5,32,197,5,5,244,187,5,5,152,243,5,5,226,227,5,5,26,181,5,5,250,213,5,5,75,212,5,5,38,171,5,5,212,183,5,5,25,237,5,5,157,188,5,5,173,243,5,5,158,188,5,5,203,187,5,5,183,196,5,5,226,240,5,5,79,184,5,5,109,177,5,5,173,247,5,5,62,228,5,5,75,198,5,5,44,186,5,5,76,198,5,5,51,250,5,5,15,172,5,5,210,204,5,5,20,180,5,5,49,211,5,5,221,224,5,5,60,223,5,5,105,232,5,5,208,191,5,5,231,214,5,5,10,182,5,5,144,181,5,5,252,186,5,5,169,244,5,5,115,231,5,5,117,238,5,5,173,203,5,5,2,249,5,5,204,208,5,5,38,208,5,5,177,246,5,5,183,237,5,5,9,192,5,5,177,247,5,5,91,185,5,5,194,222,5,5,203,243,5,5,73,233,5,5,204,187,5,5,2,191,5,5,124,199,5,5,90,190,5,5,181,225,5,5,22,232,5,5,145,181,5,5,56,235,5,5,90,234,5,5,146,187,5,5,202,236,5,5,105,201,5,5,69,238,5,5,0,133,5,5,146,213,5,5,72,221,5,5,6,227,5,5,28,189,5,5,71,234,5,5,27,181,5,5,73,228,5,5,199,187,5,5,177,243,5,5,94,241,5,5,223,179,5,5,251,211,5,5,201,232,5,5,0,132,5,5,161,185,5,5,173,199,5,5,15,236,5,5,127,177,5,5,244,232,5,5,60,170,5,5,70,191,5,5,192,210,5,5,20,190,5,5,61,234,5,5,140,199,5,5,52,181,5,5,255,182,5,5,205,192,5,5,97,211,5,5,145,209,5,5,184,240,5,5,117,188,5,5,182,242,5,5,18,205,5,5,251,213,5,5,46,207,5,5,93,185,5,5,190,211,5,5,148,174,5,5,217,220,5,5,242,201,5,5,223,209,5,5,193,249,5,5,171,188,5,5,92,199,5,5,247,232,5,5,116,232,5,5,82,201,5,5,148,171,5,5,123,245,5,5,128,244,5,5,98,203,5,5,174,168,5,5,205,208,5,5,184,203,5,5,49,224,5,5,238,183,5,5,4,172,5,5,230,187,5,5,2,189,5,5,186,185,5,5,35,223,5,5,147,185,5,5,104,241,5,5,207,236,5,5,52,186,5,5,82,186,5,5,207,169,5,5,248,187,5,5,129,224,5,5,43,176,5,5,18,239,5,5,0,134,5,5,79,193,5,5,81,227,5,5,23,232,5,5,113,228,5,5,123,202,5,5,188,230,5,5,100,225,5,5,42,250,5,5,49,217,5,5,216,173,5,5,54,230,5,5,25,244,5,5,16,236,5,5,75,180,5,5,203,214,5,5,220,178,5,5,159,216,5,5,196,206,5,5,100,209,5,5,242,185,5,5,87,180,5,5,183,217,5,5,83,201,5,5,88,203,5,5,149,224,5,5,26,244,5,5,150,190,5,5,74,201,5,5,19,220,5,5,13,192,5,5,210,249,5,5,233,229,5,5,131,183,5,5,227,195,5,5,217,189,5,5,237,214,5,5,101,222,5,5,245,228,5,5,226,222,5,5,165,173,5,5,229,181,5,5,136,202,5,5,233,215,5,5,65,168,5,5,50,244,5,5,185,240,5,5,220,210,5,5,122,241,5,5,112,226,5,5,185,200,5,5,43,220,5,5,198,230,5,5,33,228,5,5,154,189,5,5,0,145,5,5,76,245,5,5,122,211,5,5,22,199,5,5,215,248,5,5,216,248,5,5,159,220,5,5,30,179,5,5,5,189,5,5,219,203,5,5,0,131,5,5,58,172,5,5,165,232,5,5,195,227,5,5,92,230,5,5,201,229,5,5,37,177,5,5,44,220,5,5,88,186,5,5,206,214,5,5,207,214,5,5,186,225,5,5,16,178,5,5,17,178,5,5,13,238,5,5,75,249,5,5,38,170,5,5,38,177,5,5,198,175,5,5,177,188,5,5,17,236,5,5,209,214,5,5,127,245,5,5,180,182,5,5,89,203,5,5,34,232,5,5,254,212,5,5,45,220,5,5,155,200,5,5,51,244,5,5,54,240,5,5,167,186,5,5,227,211,5,5,153,245,5,5,233,219,5,5,101,248,5,5,253,210,5,5,149,187,5,5,100,206,5,5,101,236,5,5,204,178,5,5,215,217,5,5,70,173,5,5,154,171,5,5,254,179,5,5,33,201,5,5,79,233,5,5,3,197,5,5,103,225,5,5,239,174,5,5,252,225,5,5,60,168,5,5,156,196,5,5,23,178,5,5,77,198,5,5,219,240,5,5,98,229,5,5,27,210,5,5,126,220,5,5,44,242,5,5,132,245,5,5,133,200,5,5,36,195,5,5,109,189,5,5,18,188,5,5,192,179,5,5,145,247,5,5,251,172,5,5,75,228,5,5,170,211,5,5,32,242,5,5,189,239,5,5,164,243,5,5,119,237,5,5,188,211,5,5,158,208,5,5,179,189,5,5,104,243,5,5,222,175,5,5,83,191,5,5,159,190,5,5,160,190,5,5,78,231,5,5,149,188,5,5,21,192,5,5,21,200,5,5,100,247,5,5,250,228,5,5,49,220,5,5,224,234,5,5,192,190,5,5,42,181,5,5,3,211,5,5,9,235,5,5,102,203,5,5,45,242,5,5,205,219,5,5,157,174,5,5,16,216,5,5,218,236,5,5,225,177,5,5,141,212,5,5,78,172,5,5,4,202,5,5,186,240,5,5,130,244,5,5,206,228,5,5,176,208,5,5,116,240,5,5,132,212,5,5,6,172,5,5,245,199,5,5,50,231,5,5,46,242,5,5,37,195,5,5,27,205,5,5,111,199,5,5,29,244,5,5,250,189,5,5,7,226,5,5,142,237,5,5,223,188,5,5,0,130,5,5,126,234,5,5,188,215,5,5,239,219,5,5,193,240,5,5,254,223,5,5,94,189,5,5,120,233,5,5,7,168,5,5,136,224,5,5,209,206,5,5,205,172,5,5,222,187,5,5,217,198,5,5,113,177,5,5,197,219,5,5,242,173,5,5,51,219,5,5,188,223,5,5,50,228,5,5,31,192,5,5,64,212,5,5,37,230,5,5,131,215,5,5,55,222,5,5,125,185,5,5,17,249,5,5,38,195,5,5,122,201,5,5,209,229,5,5,66,228,5,5,132,223,5,5,159,174,5,5,95,188,5,5,169,224,192,0,0,0,5,5,205,187,5,5,155,224,5,5,126,216,5,5,6,211,5,5,151,188,5,5,140,246,5,5,161,219,5,5,215,209,5,5,149,185,5,5,219,209,5,5,176,179,5,5,0,140,5,5,183,215,5,5,251,226,5,5,95,170,5,5,106,168,5,5,107,168,5,5,241,202,5,5,228,249,5,5,113,245,5,5,114,209,5,5,220,223,5,5,212,223,5,5,64,225,5,5,231,178,5,5,83,214,5,5,7,195,5,5,19,175,5,5,167,194,5,5,100,198,5,5,78,225,5,5,95,220,5,5,139,172,5,5,65,193,5,5,0,150,5,5,83,233,5,5,113,213,5,5,32,205,5,5,137,184,5,5,104,186,5,5,17,233,5,5,159,189,5,5,99,191,5,5,156,187,5,5,216,211,5,5,248,231,5,5,58,244,5,5,138,173,5,5,162,234,5,5,213,213,5,5,156,178,5,5,210,206,5,5,200,206,5,5,190,189,5,5,227,201,5,5,116,180,5,5,138,184,5,5,86,225,5,5,248,237,5,5,242,169,5,5,66,240,5,5,156,219,5,5,8,195,5,5,111,208,5,5,84,233,5,5,25,190,5,5,218,206,5,5,65,218,5,5,199,175,5,5,153,212,5,5,90,201,5,5,86,233,5,5,41,192,5,5,15,248,5,5,192,173,5,5,30,200,5,5,233,249,5,5,22,233,5,5,84,223,5,5,101,188,5,5,65,184,5,5,123,203,5,5,20,216,5,5,245,230,5,5,182,175,5,5,80,173,5,5,35,178,5,5,245,188,5,5,220,235,5,5,128,181,5,5,16,250,5,5,58,182,5,5,164,174,5,5,27,191,5,5,208,243,5,5,244,175,5,5,233,176,5,5,32,178,5,5,85,242,5,5,198,227,5,5,190,172,5,5,12,195,5,5,230,237,5,5,246,230,5,5,249,214,5,5,98,188,5,5,254,202,5,5,166,234,5,5,175,178,5,5,29,191,5,5,243,239,5,5,6,214,5,5,172,197,5,5,131,216,5,5,186,235,5,5,9,211,5,5,66,205,5,5,85,223,5,5,175,236,5,5,181,240,5,5,116,177,5,5,213,244,5,5,189,211,5,5,193,247,5,5,246,195,5,5,104,211,5,5,111,191,5,5,183,233,5,5,251,214,5,5,190,181,5,5,33,244,5,5,87,238,5,5,74,222,5,5,15,195,5,5,251,242,5,5,0,143,5,5,202,240,5,5,236,197,5,5,149,199,5,5,255,241,5,5,133,212,5,5,145,178,5,5,141,184,5,5,22,189,5,5,248,180,5,5,56,178,5,5,233,233,5,5,157,219,5,5,231,212,5,5,36,213,5,5,208,239,5,5,235,249,5,5,63,211,5,5,240,178,5,5,25,201,5,5,182,224,5,5,189,191,5,5,27,219,5,5,87,188,5,5,218,231,5,5,41,238,5,5,36,181,5,5,51,213,5,5,74,175,5,5,8,193,5,5,250,195,5,5,105,188,5,5,67,226,5,5,145,173,5,5,146,235,5,5,129,207,5,5,40,172,5,5,69,226,5,5,131,205,5,5,130,191,5,5,222,171,5,5,19,241,5,5,22,211,5,5,247,239,5,5,10,190,5,5,133,207,5,5,39,189,5,5,144,245,5,5,36,202,5,5,163,204,5,5,227,187,5,5,44,210,5,5,38,233,5,5,74,209,5,5,251,236,5,5,191,202,5,5,88,205,5,5,233,204,5,5,77,209,5,5,45,178,5,5,46,174,5,5,141,213,5,5,38,213,5,5,235,232,5,5,233,191,5,5,78,209,5,5,151,231,5,5,67,181,5,5,118,199,5,5,125,236,5,5,49,173,5,5,90,240,5,5,90,218,5,5,99,179,5,5,132,200,5,5,216,224,5,5,44,233,5,5,252,197,5,5,89,176,5,5,100,190,5,5,239,191,5,5,116,248,5,5,31,211,5,5,45,233,5,5,46,172,5,5,47,202,5,5,94,173,5,5,6,173,5,5,214,202,5,5,155,239,5,5,102,206,5,5,46,210,5,5,170,243,5,5,232,223,5,5,99,231,5,5,101,244,5,5,194,193,5,5,171,243,5,5,20,248,5,5,243,200,5,5,38,211,5,5,42,210,5,5,17,201,5,5,207,204,5,5,231,228,5,5,38,191,5,5,167,239,5,5,33,217,5,5,106,223,5,5,44,211,5,5,198,193,5,5,39,191,5,5,245,233,5,5,168,239,5,5,16,210,5,5,145,227,5,5,146,227,5,5,6,181,5,5,177,198,5,5,140,242,5,5,125,196,5,5,58,213,5,5,68,243,5,5,153,176,5,5,168,189,5,5,40,191,5,5,175,242,5,5,99,181,5,5,163,187,5,5,93,200,5,5,154,176,5,5,247,226,5,5,92,227,5,5,234,228,5,5,69,206,5,5,164,187,5,5,46,218,5,5,185,218,5,5,38,204,5,5,121,186,5,5,165,187,5,5,222,224,5,5,166,187,5,5,93,227,5,5,95,241,5,5,167,187,5,5,221,239,5,5,176,191,5,5,33,214,5,5,233,241,5,5,249,187,5,5,183,242,5,5,76,206,5,5,199,217,5,5,238,241,5,5,173,216,5,5,168,187,5,5,213,175,5,5,251,228,5,5,189,242,5,5,200,217,5,5,96,199,5,5,37,214,5,5,197,242,5,5,198,242,5,5,45,236,5,5,108,227,5,5,116,227,5,5,117,227,5,5,149,227,5,5,61,206,5,5,103,191,5,5,102,239,5,5,124,190,5,5,34,206,5,5,45,206,5,5,129,227,5,5,23,236,5,5,130,227,5,5,233,226,5,5,147,221,5,5,11,214,5,5,141,205,5,5,135,199,5,5,227,235,5,5,188,243,5,5,233,228,5,5,84,185,5,5,12,242,5,5,20,230,5,5,23,187,5,5,28,213,5,5,102,238,5,5,167,178,5,5,28,215,5,5,29,215,5,5,244,245,5,5,200,248,5,5,76,178,5,5,16,215,5,5,213,231,5,5,71,220,5,5,196,199,5,5,150,173,5,5,100,214,5,5,246,210,5,5,88,209,5,5,255,191,5,5,73,193,5,5,165,246,5,5,166,246,5,5,16,169,5,5,133,235,5,5,237,238,5,5,144,216,5,5,136,207,5,5,19,198,5,5,235,218,5,5,202,227,5,5,139,182,5,5,221,169,5,5,222,169,5,5,10,225,5,5,132,198,5,5,89,190,5,5,34,250,5,5,35,199,5,5,49,170,5,5,50,196,5,5,16,179,5,5,6,196,5,5,197,192,5,5,136,199,5,5,250,178,5,5,7,196,5,5,127,193,5,5,23,225,5,5,101,202,5,5,208,168,5,5,119,230,5,5,17,183,5,5,150,248,5,5,203,213,5,5,33,169,5,5,99,225,5,5,47,200,5,5,95,217,5,5,58,225,5,5,86,246,5,5,245,227,5,5,195,184,5,5,165,213,5,5,103,179,5,5,164,186,5,5,120,210,5,5,228,224,5,5,207,212,5,5,116,196,5,5,81,237,5,5,149,183,5,5,141,168,5,5,145,205,5,5,7,217,5,5,170,209,5,5,240,198,5,5,19,186,5,5,126,235,5,5,189,168,5,5,180,174,5,5,225,173,5,5,39,204,5,5,29,248,5,5,80,184,5,5,144,189,5,5,205,246,5,5,8,176,5,5,120,200,5,5,7,205,5,5,8,205,5,5,72,205,5,5,142,168,5,5,172,177,5,5,76,212,5,5,23,209,5,5,30,234,5,5,53,180,5,5,206,192,5,5,217,188,5,5,4,206,5,5,104,176,5,5,209,174,5,5,186,201,5,5,151,184,5,5,172,239,5,5,128,189,5,5,207,180,5,5,91,245,5,5,225,183,5,5,253,186,5,5,129,237,5,5,53,181,5,5,54,181,5,5,74,187,5,5,216,172,5,5,51,237,5,5,219,239,5,5,28,182,5,5,23,186,5,5,178,242,5,5,180,179,5,5,105,233,5,5,20,199,5,5,173,220,5,5,94,222,5,5,146,181,5,5,128,171,5,5,105,179,5,5,56,189,5,5,233,235,5,5,125,199,5,5,158,177,5,5,82,198,5,5,79,178,5,5,94,198,5,5,72,188,5,5,77,210,5,5,63,168,5,5,5,234,5,5,117,232,5,5,240,242,5,5,48,169,5,5,174,183,5,5,211,168,5,5,19,239,5,5,33,240,5,5,29,188,5,5,211,234,5,5,10,176,5,5,111,216,5,5,187,185,5,5,0,135,5,5,245,169,5,5,154,182,5,5,19,218,5,5,233,240,5,5,47,198,5,5,50,193,5,5,25,179,5,5,212,206,5,5,68,201,5,5,141,197,5,5,94,174,5,5,81,220,5,5,174,195,5,5,124,245,5,5,185,203,5,5,186,203,5,5,23,172,5,5,101,174,5,5,21,190,5,5,24,172,5,5,220,221,5,5,135,235,5,5,147,187,5,5,118,196,5,5,246,237,5,5,221,210,5,5,205,178,5,5,33,242,5,5,29,172,5,5,237,235,5,5,216,217,5,5,77,224,5,5,255,212,5,5,174,216,5,5,116,228,5,5,84,197,5,5,92,206,5,5,26,246,5,5,50,199,5,5,39,175,5,5,28,180,5,5,188,177,5,5,73,225,5,5,66,168,5,5,67,172,5,5,168,175,5,5,246,169,5,5,137,198,5,5,130,246,5,5,57,181,5,5,32,239,5,5,131,246,5,5,33,239,5,5,107,212,5,5,19,192,5,5,181,248,5,5,125,214,5,5,223,219,5,5,85,197,5,5,129,210,5,5,94,199,5,5,3,199,5,5,101,225,5,5,49,200,5,5,176,210,5,5,139,193,5,5,208,180,5,5,193,195,5,5,13,185,5,5,34,242,5,5,156,181,5,5,162,212,5,5,125,186,5,5,138,227,5,5,238,201,5,5,175,182,5,5,3,236,5,5,149,215,5,5,50,200,5,5,80,168,5,5,39,221,5,5,78,181,5,5,83,210,5,5,84,227,5,5,112,174,5,5,190,239,5,5,165,191,5,5,82,170,5,5,51,203,5,5,150,187,5,5,193,179,5,5,102,248,5,5,133,189,5,5,107,169,5,5,108,169,5,5,163,241,5,5,208,178,5,5,81,207,5,5,39,195,5,5,61,219,5,5,16,238,5,5,199,185,5,5,127,198,5,5,101,249,5,5,164,241,5,5,193,190,5,5,163,181,5,5,138,237,5,5,219,236,5,5,133,169,5,5,109,176,5,5,151,207,5,5,153,173,5,5,157,180,5,5,3,228,5,5,34,240,5,5,122,183,5,5,122,247,5,5,151,195,5,5,179,195,5,5,21,189,5,5,18,185,5,5,28,176,5,5,214,193,5,5,183,213,5,5,187,201,5,5,224,232,5,5,185,190,5,5,229,201,5,5,191,180,5,5,85,228,5,5,10,235,5,5,230,192,5,5,132,192,5,5,143,199,5,5,125,240,5,5,178,224,5,5,120,174,5,5,244,240,5,5,103,198,5,5,255,223,5,5,2,224,5,5,226,221,5,5,108,208,5,5,185,224,5,5,217,229,5,5,121,174,5,5,109,227,5,5,106,225,5,5,27,218,5,5,102,247,5,5,155,202,5,5,103,247,5,5,71,169,5,5,153,219,5,5,253,243,5,5,209,180,5,5,95,226,5,5,144,230,5,5,73,246,5,5,138,235,5,5,126,185,5,5,5,246,5,5,8,168,5,5,218,185,5,5,112,236,5,5,140,198,5,5,96,226,5,5,199,242,5,5,138,229,5,5,179,233,5,5,196,204,5,5,214,187,5,5,63,201,5,5,139,173,5,5,167,212,5,5,255,169,5,5,17,174,5,5,174,205,5,5,121,205,5,5,198,211,5,5,157,215,5,5,165,207,5,5,115,209,5,5,83,248,5,5,3,223,5,5,161,222,5,5,52,205,5,5,196,174,5,5,16,207,5,5,240,170,5,5,100,196,5,5,180,172,5,5,213,222,5,5,19,247,5,5,60,245,5,5,151,198,5,5,196,240,5,5,117,179,5,5,30,174,5,5,143,246,5,5,135,231,5,5,154,187,5,5,227,215,5,5,238,195,5,5,51,179,5,5,162,220,5,5,200,209,5,5,14,177,5,5,233,236,5,5,187,224,5,5,102,244,5,5,109,215,5,5,209,215,5,5,79,203,5,5,104,229,5,5,161,248,5,5,248,215,5,5,104,244,5,5,163,234,5,5,132,220,5,5,133,220,5,5,202,168,5,5,22,214,5,5,147,199,5,5,44,180,5,5,91,182,5,5,34,218,5,5,131,209,5,5,244,180,5,5,245,180,5,5,3,250,5,5,52,179,5,5,158,221,5,5,85,181,5,5,88,181,5,5,35,225,5,5,191,178,5,5,166,209,5,5,34,183,5,5,205,190,5,5,36,225,5,5,160,177,5,5,21,238,5,5,60,248,5,5,48,194,5,5,152,168,5,5,215,215,5,5,52,192,5,5,251,215,5,5,25,199,5,5,103,239,5,5,15,213,5,5,130,170,5,5,118,179,5,5,99,194,5,5,250,237,5,5,203,240,5,5,109,235,5,5,41,225,5,5,6,201,5,5,107,197,5,5,91,190,5,5,95,178,5,5,89,218,5,5,166,215,5,5,147,235,5,5,149,232,5,5,93,231,5,5,232,188,5,5,17,168,5,5,244,235,5,5,128,178,5,5,106,188,5,5,63,219,5,5,251,195,5,5,198,201,5,5,215,199,5,5,89,205,5,5,126,236,5,5,51,225,5,5,78,229,5,5,92,190,5,5,13,205,5,5,14,205,5,5,99,219,5,5,192,202,5,5,248,203,5,5,91,218,5,5,50,173,5,5,155,235,5,5,131,236,5,5,175,201,5,5,222,168,5,5,91,228,5,5,254,221,5,5,120,218,5,5,192,219,5,5,133,248,5,5,134,248,5,5,114,221,5,5,66,238,5,5,224,206,5,5,235,198,5,5,35,248,5,5,137,248,5,5,174,189,5,5,176,189,5,5,82,200,5,5,77,238,5,5,180,189,5,5,225,234,5,5,88,200,5,5,107,222,5,5,63,207,5,5,4,250,5,5,108,222,5,5,88,238,5,5,158,246,5,5,73,186,5,5,156,175,5,5,128,194,5,5,118,183,5,5,166,169,5,5,182,244,5,5,211,170,5,5,45,224,5,5,45,218,5,5,40,204,5,5,84,184,5,5,95,177,5,5,215,231,5,5,85,234,5,5,200,233,5,5,73,210,5,5,222,231,5,5,8,200,5,5,165,230,5,5,78,228,5,5,234,242,5,5,93,207,5,5,235,223,5,5,24,181,5,5,25,181,5,5,3,238,5,5,184,216,5,5,79,228,5,5,27,186,5,5,28,186,5,5,239,214,5,5,34,208,5,5,35,208,5,5,240,239,5,5,204,191,5,5,31,174,5,5,154,177,5,5,80,244,5,5,74,226,5,5,248,224,5,5,161,183,5,5,181,186,5,5,112,237,5,5,24,237,5,5,67,188,5,5,53,185,5,5,164,221,5,5,155,225,5,5,250,224,5,5,61,227,5,5,139,236,5,5,24,170,5,5,103,238,5,5,119,199,5,5,37,193,5,5,37,181,5,5,52,190,5,5,191,199,5,5,98,243,5,5,39,193,5,5,168,168,5,5,211,181,5,5,230,202,5,5,146,190,5,5,201,178,5,5,144,236,5,5,89,212,5,5,147,197,5,5,107,214,5,5,6,210,5,5,134,183,5,5,106,233,5,5,55,183,5,5,87,179,5,5,194,217,5,5,238,199,5,5,184,249,5,5,148,190,5,5,232,214,5,5,87,198,5,5,124,244,5,5,208,169,5,5,7,239,5,5,113,194,5,5,207,225,5,5,250,243,5,5,217,169,5,5,189,230,5,5,237,190,5,5,209,182,5,5,132,179,5,5,213,235,5,5,234,169,5,5,112,179,5,5,145,168,5,5,224,220,5,5,216,229,5,5,202,187,5,5,146,168,5,5,145,230,5,5,147,168,5,5,117,194,5,5,248,202,5,5,45,181,5,5,58,243,5,5,118,194,5,5,70,222,5,5,63,183,5,5,224,191,5,5,145,170,5,5,35,206,5,5,68,181,5,5,143,211,5,5,130,211,5,5,238,179,5,5,250,209,5,5,30,215,5,5,124,193,5,5,173,224,5,5,169,196,5,5,152,211,5,5,233,172,5,5,111,188,5,5,228,231,5,5,116,182,5,5,173,192,5,5,38,223,5,5,12,219,5,5,177,182,5,5,191,228,5,5,44,189,5,5,118,248,5,5,76,184,5,5,167,206,5,5,214,177,5,5,151,218,5,5,165,183,5,5,71,196,5,5,85,236,5,5,218,187,5,5,198,229,5,5,71,247,5,5,223,211,5,5,166,180,5,5,198,192,5,5,36,199,5,5,113,247,5,5,114,237,5,5,215,195,5,5,69,243,5,5,196,208,5,5,155,183,5,5,146,174,5,5,10,243,5,5,120,248,5,5,81,211,5,5,199,236,5,5,228,209,5,5,215,233,5,5,18,183,5,5,28,170,5,5,132,241,5,5,21,228,5,5,74,183,5,5,142,228,5,5,151,182,5,5,81,230,5,5,16,242,5,5,24,187,5,5,169,180,5,5,190,168,5,5,118,210,5,5,159,247,5,5,206,248,5,5,70,245,5,5,124,177,5,5,254,209,5,5,236,242,5,5,66,227,5,5,19,232,5,5,123,246,5,5,91,181,5,5,196,207,5,5,89,209,5,5,61,214,5,5,53,170,5,5,22,221,5,5,66,216,5,5,92,181,5,5,159,188,5,5,184,234,5,5,27,182,5,5,21,246,5,5,224,208,5,5,34,169,5,5,171,209,5,5,166,183,5,5,41,204,5,5,61,249,5,5,62,249,5,5,245,221,5,5,71,218,5,5,76,220,5,5,26,237,5,5,238,206,5,5,124,195,5,5,45,186,5,5,111,223,5,5,48,234,5,5,29,229,5,5,3,249,5,5,58,197,5,5,77,220,5,5,125,213,5,5,159,218,5,5,130,237,5,5,54,180,5,5,85,194,5,5,124,222,5,5,111,192,5,5,152,184,5,5,219,232,5,5,32,190,5,5,123,197,5,5,154,194,5,5,24,186,5,5,106,201,5,5,135,193,5,5,136,193,5,5,118,238,5,5,219,210,5,5,125,246,5,5,10,192,5,5,14,192,5,5,112,232,5,5,7,189,5,5,254,186,5,5,21,198,5,5,120,199,5,5,203,236,5,5,47,209,5,5,179,203,5,5,120,212,5,5,147,181,5,5,96,241,5,5,94,236,5,5,238,172,5,5,27,221,5,5,173,239,5,5,213,221,5,5,75,187,5,5,208,217,5,5,4,249,5,5,147,223,5,5,199,228,5,5,57,189,5,5,58,228,5,5,24,205,5,5,33,236,5,5,99,218,5,5,155,194,5,5,24,206,5,5,154,213,5,5,118,232,5,5,218,220,5,5,68,202,5,5,95,174,5,5,160,233,5,5,47,207,5,5,175,183,5,5,130,224,5,5,144,207,5,5,33,229,5,5,254,198,5,5,72,176,5,5,73,176,5,5,236,226,5,5,223,210,5,5,35,234,5,5,23,210,5,5,150,241,5,5,231,209,5,5,242,213,5,5,103,210,5,5,124,197,5,5,33,221,5,5,223,246,5,5,250,187,5,5,26,179,5,5,123,248,5,5,102,181,5,5,133,213,5,5,185,227,5,5,119,232,5,5,153,208,5,5,55,230,5,5,95,236,5,5,93,230,5,5,0,136,5,5,99,236,5,5,151,241,5,5,120,223,5,5,152,241,5,5,46,228,5,5,124,202,5,5,27,232,5,5,225,196,5,5,173,217,5,5,153,248,5,5,68,214,5,5,28,232,5,5,217,248,5,5,29,180,5,5,109,173,5,5,153,205,5,5,0,158,5,5,93,181,5,5,94,181,5,5,26,205,5,5,132,208,5,5,190,176,5,5,252,213,5,5,4,197,5,5,212,213,5,5,59,172,5,5,60,204,5,5,117,228,5,5,20,171,5,5,2,233,5,5,158,222,5,5,208,214,5,5,13,191,5,5,125,182,5,5,245,229,5,5,77,219,5,5,28,225,5,5,181,182,5,5,182,182,5,5,81,195,5,5,76,226,5,5,130,210,5,5,217,217,5,5,77,196,5,5,151,191,5,5,19,196,5,5,53,215,5,5,109,179,5,5,54,234,5,5,246,189,5,5,83,228,5,5,166,200,5,5,74,170,5,5,191,239,5,5,45,175,5,5,92,210,5,5,96,184,5,5,87,196,5,5,77,206,5,5,81,168,5,5,209,200,5,5,51,200,5,5,228,239,5,5,38,236,5,5,226,196,5,5,137,202,5,5,89,179,5,5,29,232,5,5,22,190,5,5,58,190,5,5,55,240,5,5,18,173,5,5,77,221,5,5,219,226,5,5,83,178,5,5,190,237,5,5,138,230,5,5,41,210,5,5,74,176,5,5,104,193,5,5,56,227,5,5,226,234,5,5,47,242,5,5,252,228,5,5,40,179,5,5,244,218,5,5,186,207,5,5,226,177,5,5,70,219,5,5,97,216,5,5,14,191,5,5,2,230,5,5,105,215,5,5,29,176,5,5,178,208,5,5,99,184,5,5,126,195,5,5,184,180,5,5,149,238,5,5,123,247,5,5,152,207,5,5,194,190,5,5,134,208,5,5,42,168,5,5,56,240,5,5,11,235,5,5,40,195,5,5,207,228,5,5,204,207,5,5,243,242,5,5,41,246,5,5,12,217,5,5,46,222,5,5,172,233,5,5,23,228,5,5,52,203,5,5,114,207,5,5,75,218,5,5,67,223,5,5,60,213,5,5,99,229,5,5,49,228,5,5,227,176,5,5,181,189,5,5,136,168,5,5,87,195,5,5,109,169,5,5,152,234,5,5,57,227,5,5,40,187,5,5,117,175,5,5,143,237,5,5,43,213,5,5,51,231,5,5,200,242,5,5,179,240,5,5,201,218,5,5,52,219,5,5,160,174,5,5,138,204,5,5,189,207,5,5,12,212,5,5,137,168,5,5,169,206,5,5,30,186,5,5,22,200,5,5,127,216,5,5,117,193,5,5,222,219,5,5,194,245,5,5,201,242,5,5,41,195,5,5,206,218,5,5,35,209,5,5,63,240,5,5,133,192,5,5,3,224,5,5,233,210,5,5,41,232,5,5,162,225,5,5,58,212,5,5,40,201,5,5,85,210,5,5,97,169,5,5,9,168,5,5,44,213,5,5,136,213,5,5,78,239,5,5,99,213,5,5,74,242,5,5,156,201,5,5,49,235,5,5,236,206,5,5,82,238,5,5,23,245,5,5,161,198,5,5,197,240,5,5,178,210,5,5,16,202,5,5,232,178,5,5,45,187,5,5,69,236,5,5,199,195,5,5,84,248,5,5,140,173,5,5,59,244,5,5,234,187,5,5,115,210,5,5,125,201,5,5,61,209,5,5,114,245,5,5,254,189,5,5,255,189,5,5,148,168,5,5,116,210,5,5,210,215,5,5,211,206,5,5,124,213,5,5,67,186,5,5,102,230,5,5,21,216,5,5,26,228,5,5,244,244,5,5,182,208,5,5,45,232,5,5,46,232,5,5,124,209,5,5,124,203,5,5,255,202,5,5,67,190,5,5,49,187,5,5,176,178,5,5,146,246,5,5,167,234,5,5,86,238,5,5,60,190,5,5,247,230,5,5,31,200,5,5,103,218,5,5,248,230,5,5,237,236,5,5,32,173,5,5,170,194,5,5,191,207,5,5,134,182,5,5,59,182,5,5,253,231,5,5,104,239,5,5,112,191,5,5,16,195,5,5,122,184,5,5,75,222,5,5,131,170,5,5,136,220,5,5,86,224,5,5,216,215,5,5,37,203,5,5,125,190,5,5,234,233,5,5,237,210,5,5,45,180,5,5,105,239,5,5,81,172,5,5,18,168,5,5,224,210,5,5,64,211,5,5,170,206,5,5,169,226,5,5,75,175,5,5,252,195,5,5,123,176,5,5,201,241,5,5,139,213,5,5,225,218,5,5,28,219,5,5,5,210,5,5,75,236,5,5,243,224,5,5,82,240,5,5,167,215,5,5,239,210,5,5,34,243,5,5,134,240,5,5,140,208,5,5,21,170,5,5,171,206,5,5,86,221,5,5,59,234,5,5,187,210,5,5,136,180,5,5,191,204,5,5,165,242,5,5,10,201,5,5,252,236,5,5,245,222,5,5,103,204,5,5,242,194,5,5,225,210,5,5,12,201,5,5,82,215,5,5,91,240,5,5,247,222,5,5,142,191,5,5,244,217,5,5,89,208,5,5,52,202,5,5,36,206,5,5,132,236,5,5,252,247,5,5,14,201,5,5,96,249,5,5,57,195,5,5,178,197,5,5,179,197,5,5,59,199,5,5,115,243,5,5,168,206,5,5,81,249,5,5,64,177,5,5,107,224,5,5,208,183,5,5,162,169,5,5,253,248,5,5,70,233,5,5,246,233,5,5,32,208,5,5,115,223,5,5,223,224,5,5,84,169,5,5,204,192,5,5,46,186,5,5,131,211,5,5,101,235,5,5,91,241,5,5,96,248,5,5,207,187,5,5,25,206,5,5,110,224,5,5,58,210,5,5,206,208,5,5,191,176,5,5,54,215,5,5,159,222,5,5,104,172,5,5,238,235,5,5,18,249,5,5,157,210,5,5,189,183,5,5,27,249,5,5,17,202,5,5,110,235,5,5,239,171,5,5,29,219,5,5,248,209,5,5,26,211,5,5,27,211,5,5,92,240,5,5,37,206,5,5,128,208,5,5,48,211,5,5,234,218,5,5,172,224,5,5,65,187,5,5,190,244,5,5,227,216,5,5,224,241,5,5,93,222,5,5,34,168,5,5,76,227,5,5,176,223,5,5,98,228,5,5,10,219,5,5,177,237,5,5,47,189,5,5,106,238,5,5,51,196,5,5,173,248,5,5,95,208,5,5,7,248,5,5,77,178,5,5,52,189,5,5,97,249,5,5,187,186,5,5,174,247,5,5,251,179,5,5,111,228,5,5,110,238,5,5,100,169,5,5,209,221,5,5,210,221,5,5,38,175,5,5,70,221,5,5,252,198,5,5,4,235,5,5,24,222,5,5,97,241,5,5,149,190,5,5,127,238,5,5,161,226,5,5,248,221,5,5,113,232,5,5,211,185,5,5,96,174,5,5,49,218,5,5,212,185,5,5,248,232,5,5,185,243,5,5,173,244,5,5,105,169,5,5,220,187,5,5,208,236,5,5,249,232,5,5,51,193,5,5,74,221,5,5,3,174,5,5,197,218,5,5,234,190,5,5,100,208,5,5,76,199,5,5,156,199,5,5,51,171,5,5,245,223,5,5,60,172,5,5,206,243,5,5,222,192,5,5,147,242,5,5,223,192,5,5,229,239,5,5,102,208,5,5,77,199,5,5,175,216,5,5,220,188,5,5,191,245,5,5,30,194,5,5,100,184,5,5,55,211,5,5,136,171,5,5,116,190,5,5,205,207,5,5,149,216,5,5,4,188,5,5,48,242,5,5,223,221,5,5,56,211,5,5,232,195,5,5,58,211,5,5,8,247,5,5,245,241,5,5,111,169,5,5,157,199,5,5,59,211,5,5,151,216,5,5,116,209,5,5,226,172,5,5,97,197,5,5,162,186,5,5,152,216,5,5,160,189,5,5,150,230,5,5,118,203,5,5,231,221,5,5,60,211,5,5,197,244,5,5,80,221,5,5,66,229,5,5,146,233,5,5,158,199,5,5,104,191,5,5,125,203,5,5,63,198,5,5,126,190,5,5,121,239,5,5,168,238,5,5,121,169,5,5,107,216,5,5,40,175,5,5,122,169,5,5,109,183,5,5,69,177,5,5,217,180,5,5,107,223,5,5,160,235,5,5,114,178,5,5,3,206,5,5,221,180,5,5,97,222,5,5,220,213,5,5,79,183,5,5,79,248,5,5,176,183,5,5,245,220,5,5,255,198,5,5,86,194,5,5,91,194,5,5,81,248,5,5,95,229,5,5,2,250,5,5,179,235,5,5,207,222,5,5,228,180,5,5,126,178,5,5,60,233,5,5,58,195,5,5,212,220,5,5,242,181,5,5,243,181,5,5,244,181,5,5,143,184,5,5,125,193,5,5,117,222,5,5,249,173,5,5,182,220,5,5,183,220,5,5,59,209,5,5,140,184,5,5,130,173,5,5,166,203,5,5,79,232,5,5,80,232,5,5,96,200,5,5,24,241,5,5,159,228,5,5,25,241,5,5,162,203,5,5,163,203,5,5,126,237,5,5,38,207,5,5,163,228,5,5,160,228,5,5,161,228,5,5,145,184,5,5,127,237,5,5,74,181,5,5,18,200,5,5,101,247,5,5,193,196,5,5,207,184,5,5,93,186,5,5,208,184,5,5,170,227,5,5,212,184,5,5,213,184,5,5,163,221,5,5,255,239,5,5,202,174,5,5,184,198,5,5,119,210,5,5,188,195,5,5,25,229,5,5,240,210,5,5,251,196,5,5,39,213,5,5,191,172,5,5,106,231,5,5,7,170,5,5,212,196,5,5,138,195,5,5,83,226,5,5,96,217,5,5,44,226,5,5,139,195,5,5,29,230,5,5,150,179,5,5,171,221,5,5,249,221,5,5,170,213,5,5,15,192,5,5,161,233,5,5,227,245,5,5,162,233,5,5,125,210,5,5,233,244,5,5,190,230,5,5,34,229,5,5,4,207,5,5,95,181,5,5,59,205,5,5,178,213,5,5,52,226,5,5,233,182,5,5,166,222,5,5,173,233,5,5,103,227,5,5,243,205,5,5,246,205,5,5,84,231,5,5,193,172,5,5,250,205,5,5,104,197,5,5,184,233,5,5,114,197,5,5,175,197,5,5,139,203,5,5,245,197,5,5,182,222,5,5,154,231,5,5,223,173,5,5,201,227,5,5,167,210,5,5,68,220,5,5,41,228,5,5,226,231,5,5,93,202,5,5,132,181,5,5,64,191,5,5,65,191,5,5,209,204,5,5,230,238,5,5,195,214,5,5,147,218,5,5,117,230,5,5,24,188,5,5,16,221,5,5,225,241,5,5,103,175,5,5,73,224,5,5,196,214,5,5,148,218,5,5,11,243,5,5,17,169,5,5,178,237,5,5,92,168,5,5,250,235,5,5,120,230,5,5,64,195,5,5,135,181,5,5,97,192,5,5,36,215,5,5,19,183,5,5,99,228,5,5,101,214,5,5,185,172,5,5,90,215,5,5,102,214,5,5,235,172,5,5,134,195,5,5,91,217,5,5,23,185,5,5,106,232,5,5,139,168,5,5,206,200,5,5,115,178,5,5,169,168,5,5,36,250,5,5,37,250,5,5,82,237,5,5,59,197,5,5,5,185,5,5,241,198,5,5,8,186,5,5,102,235,5,5,204,213,5,5,105,202,5,5,140,226,5,5,97,217,5,5,89,236,5,5,213,183,5,5,119,234,5,5,97,193,5,5,114,204,5,5,246,227,5,5,243,212,5,5,143,168,5,5,173,177,5,5,200,199,5,5,14,243,5,5,98,217,5,5,237,189,5,5,225,213,5,5,225,208,5,5,73,168,5,5,141,226,5,5,42,204,5,5,181,174,5,5,166,213,5,5,21,180,5,5,28,188,5,5,227,199,5,5,120,234,5,5,96,207,5,5,4,227,5,5,103,235,5,5,248,238,5,5,208,170,5,5,162,188,5,5,171,168,5,5,143,206,5,5,148,181,5,5,85,184,5,5,167,235,5,5,181,179,5,5,148,205,5,5,215,181,5,5,224,181,5,5,153,184,5,5,195,217,5,5,55,180,5,5,119,238,5,5,173,209,5,5,214,221,5,5,36,168,5,5,239,228,5,5,109,190,5,5,214,246,5,5,98,208,5,5,66,202,5,5,207,192,5,5,7,227,5,5,240,228,5,5,98,241,5,5,12,215,5,5,172,231,5,5,67,202,5,5,131,237,5,5,249,194,5,5,27,246,5,5,26,206,5,5,156,194,5,5,103,181,5,5,104,181,5,5,26,242,5,5,107,233,5,5,246,171,5,5,43,216,5,5,47,218,5,5,84,183,5,5,85,183,5,5,62,210,5,5,69,202,5,5,35,241,5,5,120,232,5,5,198,218,5,5,117,178,5,5,34,221,5,5,97,174,5,5,95,227,5,5,188,185,5,5,48,198,5,5,74,185,5,5,177,231,5,5,222,239,5,5,234,241,5,5,69,201,5,5,150,198,5,5,84,201,5,5,161,200,5,5,71,232,5,5,20,218,5,5,51,199,5,5,30,175,5,5,31,175,5,5,196,224,5,5,220,203,5,5,56,190,5,5,227,196,5,5,167,200,5,5,126,214,5,5,235,208,5,5,52,200,5,5,53,200,5,5,194,249,5,5,126,186,5,5,10,177,5,5,4,236,5,5,5,236,5,5,24,185,5,5,78,206,5,5,79,206,5,5,228,201,5,5,202,197,5,5,30,181,5,5,34,246,5,5,151,187,5,5,230,239,5,5,30,180,5,5,252,187,5,5,35,246,5,5,41,229,5,5,54,233,5,5,2,213,5,5,57,236,5,5,151,223,5,5,82,195,5,5,235,169,5,5,195,249,5,5,95,199,5,5,31,180,5,5,235,244,5,5,127,186,5,5,231,239,5,5,11,249,5,5,87,244,5,5,195,190,5,5,165,241,5,5,77,228,5,5,60,237,5,5,90,183,5,5,62,217,5,5,61,237,5,5,253,225,5,5,199,238,5,5,254,246,5,5,47,222,5,5,186,243,5,5,191,237,5,5,164,181,5,5,50,248,5,5,128,198,5,5,9,206,5,5,157,236,5,5,187,207,5,5,5,188,5,5,22,192,5,5,23,192,5,5,161,190,5,5,220,226,5,5,155,221,5,5,153,207,5,5,151,215,5,5,139,230,5,5,166,241,5,5,102,249,5,5,211,200,5,5,244,198,5,5,107,236,5,5,108,236,5,5,46,229,5,5,103,249,5,5,220,172,5,5,78,224,5,5,202,218,5,5,212,198,5,5,98,216,5,5,167,241,5,5,139,214,5,5,50,205,5,5,110,227,5,5,210,180,5,5,229,230,5,5,218,229,5,5,122,172,5,5,87,178,5,5,207,218,5,5,91,195,5,5,104,198,5,5,139,204,5,5,146,230,5,5,156,223,5,5,239,215,5,5,19,249,5,5,253,228,5,5,240,169,5,5,70,179,5,5,80,177,5,5,132,215,5,5,245,240,5,5,7,211,5,5,81,177,5,5,182,192,5,5,227,221,5,5,117,219,5,5,171,223,5,5,111,249,5,5,139,194,5,5,119,203,5,5,162,198,5,5,77,173,5,5,208,179,5,5,184,172,5,5,242,179,5,5,88,227,5,5,53,205,5,5,61,245,5,5,240,244,5,5,241,244,5,5,108,168,5,5,140,172,5,5,113,217,5,5,191,215,5,5,15,177,5,5,232,249,5,5,123,178,5,5,124,178,5,5,55,231,5,5,75,242,5,5,129,212,5,5,225,204,5,5,231,232,5,5,194,172,5,5,163,171,5,5,102,216,5,5,171,194,5,5,71,236,5,5,91,201,5,5,8,245,5,5,231,203,5,5,126,203,5,5,127,203,5,5,183,195,5,5,192,178,5,5,86,181,5,5,5,250,5,5,13,195,5,5,110,187,5,5,160,237,5,5,172,194,5,5,161,237,5,5,226,197,5,5,214,244,5,5,106,239,5,5,111,235,5,5,70,210,5,5,36,238,5,5,37,238,5,5,162,238,5,5,16,211,5,5,87,232,5,5,143,192,5,5,187,233,5,5,247,198,5,5,249,230,5,5,61,179,5,5,153,168,5,5,234,249,5,5,224,228,5,5,169,238,5,5,226,218,5,5,129,178,5,5,118,204,5,5,114,195,5,5,2,242,5,5,37,243,5,5,21,240,5,5,59,219,5,5,119,195,5,5,176,202,5,5,58,187,5,5,234,204,5,5,235,204,5,5,77,179,5,5,229,218,5,5,33,231,5,5,26,197,5,5,51,173,5,5,172,240,5,5,236,199,5,5,127,236,5,5,228,228,5,5,76,210,5,5,245,217,5,5,206,173,5,5,254,176,5,5,38,206,5,5,81,179,5,5,82,179,5,5,33,211,5,5,134,236,5,5,133,236,5,5,191,236,5,5,10,200,5,5,192,236,5,5,202,175,5,5,133,199,5,5,203,175,5,5,127,247,5,5,180,190,5,5,8,196,5,5,162,235,5,5,186,173,5,5,187,173,5,5,201,203,5,5,201,185,5,5,30,250,5,5,36,216,5,5,53,197,5,5,231,185,5,5,56,197,5,5,27,230,5,5,55,214,5,5,56,214,5,5,239,172,5,5,63,217,5,5,73,217,5,5,171,192,5,5,181,238,5,5,104,223,5,5,163,168,5,5,84,246,5,5,71,245,5,5,220,232,5,5,128,238,5,5,191,195,5,5,204,235,5,5,149,197,5,5,175,168,5,5,214,235,5,5,161,195,5,5,200,183,5,5,148,243,5,5,44,170,5,5,6,222,5,5,11,172,5,5,228,179,5,5,232,222,5,5,54,182,5,5,245,210,5,5,165,221,5,5,250,182,5,5,235,211,5,5,167,246,5,5,174,230,5,5,233,189,5,5,9,178,5,5,235,228,5,5,50,245,5,5,137,225,5,5,174,177,5,5,90,209,5,5,119,212,5,5,236,211,5,5,177,226,5,5,141,171,5,5,232,202,5,5,206,246,5,5,163,247,5,5,176,171,5,5,207,246,5,5,24,179,5,5,97,209,5,5,8,239,5,5,9,239,5,5,171,213,5,5,18,215,5,5,140,197,5,5,14,219,5,5,233,222,5,5,179,177,5,5,68,246,5,5,14,223,5,5,44,216,5,5,180,245,5,5,175,221,5,5,50,218,5,5,46,231,5,5,49,169,5,5,186,177,5,5,31,187,5,5,54,175,5,5,179,213,5,5,55,245,5,5,189,219,5,5,84,228,5,5,189,177,5,5,246,228,5,5,132,173,5,5,46,220,5,5,127,214,5,5,52,244,5,5,169,187,5,5,115,207,5,5,158,180,5,5,110,189,5,5,71,246,5,5,153,234,5,5,106,208,5,5,254,228,5,5,3,230,5,5,4,184,5,5,50,239,5,5,54,169,5,5,184,213,5,5,194,179,5,5,219,185,5,5,13,212,5,5,239,190,5,5,163,225,5,5,109,208,5,5,118,193,5,5,222,225,5,5,24,191,5,5,85,247,5,5,96,220,5,5,17,207,5,5,201,209,5,5,241,170,5,5,171,187,5,5,60,244,5,5,202,209,5,5,55,169,5,5,62,245,5,5,61,196,5,5,81,173,5,5,23,184,5,5,27,247,5,5,163,189,5,5,60,182,5,5,245,175,5,5,112,170,5,5,123,170,5,5,45,245,5,5,121,208,5,5,252,215,5,5,15,173,5,5,35,183,5,5,254,207,5,5,57,169,5,5,76,175,5,5,215,208,5,5,130,175,5,5,113,195,5,5,94,232,5,5,232,200,5,5,234,184,5,5,161,213,5,5,190,210,5,5,126,193,5,5,124,171,5,5,127,171,5,5,49,234,5,5,245,184,5,5,111,237,5,5,145,190,5,5,88,241,5,5,11,241,5,5,180,192,5,5,11,187,5,5,25,213,5,5,196,226,5,5,82,244,5,5,12,187,5,5,119,248,5,5,58,209,5,5,209,216,5,5,50,170,5,5,108,216,5,5,7,181,5,5,242,175,5,5,69,187,5,5,14,236,5,5,243,168,5,5,135,195,5,5,200,234,5,5,70,205,5,5,82,230,5,5,121,248,5,5,103,199,5,5,47,240,5,5,255,178,5,5,77,212,5,5,104,179,5,5,230,235,5,5,197,208,5,5,169,185,5,5,143,176,5,5,43,184,5,5,5,227,5,5,53,212,5,5,220,182,5,5,192,232,5,5,189,238,5,5,215,246,5,5,133,226,5,5,216,246,5,5,91,234,5,5,170,180,5,5,43,250,5,5,250,232,5,5,96,227,5,5,81,187,5,5,106,199,5,5,48,207,5,5,216,226,5,5,69,241,5,5,247,171,5,5,129,171,5,5,141,174,5,5,168,200,5,5,75,170,5,5,123,192,5,5,39,168,5,5,201,222,5,5,160,198,5,5,191,240,5,5,22,228,5,5,152,223,5,5,202,222,5,5,203,216,5,5,49,242,5,5,239,241,5,5,200,208,5,5,189,223,5,5,172,172,5,5,168,232,5,5,235,182,5,5,194,196,5,5,174,181,5,5,41,187,5,5,197,204,5,5,50,220,5,5,242,202,5,5,41,201,5,5,190,223,5,5,9,247,5,5,31,172,5,5,205,216,5,5,198,196,5,5,195,196,5,5,200,195,5,5,109,168,5,5,107,200,5,5,33,205,5,5,37,240,5,5,167,203,5,5,197,177,5,5,175,205,5,5,79,239,5,5,126,175,5,5,33,173,5,5,118,227,5,5,86,223,5,5,231,233,5,5,201,208,5,5,157,173,5,5,103,230,5,5,239,182,5,5,14,187,5,5,116,199,5,5,150,199,5,5,132,170,5,5,217,215,5,5,188,233,5,5,6,204,5,5,7,204,5,5,140,203,5,5,90,205,5,5,18,193,5,5,173,240,5,5,9,232,5,5,210,226,5,5,213,240,5,5,53,202,5,5,212,226,5,5,254,239,5,5,159,235,5,5,82,236,5,5,214,226,5,5,215,178,5,5,250,211,5,5,10,194,5,5,42,191,5,5,255,209,5,5,43,191,5,5,230,185,5,5,217,210,5,5,86,198,5,5,200,170,5,5,231,238,5,5,223,214,5,5,116,211,5,5,54,183,5,5,33,197,5,5,148,236,5,5,10,239,5,5,251,243,5,5,113,170,5,5,221,238,5,5,59,238,5,5,6,182,5,5,167,219,5,5,10,222,5,5,7,182,5,5,48,222,5,5,56,222,5,5,202,185,5,5,151,179,5,5,2,240,5,5,226,189,5,5,201,183,5,5,43,189,5,5,21,230,5,5,167,227,5,5,176,174,5,5,129,194,5,5,209,168,5,5,67,221,5,5,17,179,5,5,18,245,5,5,184,197,5,5,156,225,5,5,44,184,5,5,2,179,5,5,42,208,5,5,20,232,5,5,170,189,5,5,175,173,5,5,137,211,5,5,73,196,5,5,224,245,5,5,129,238,5,5,78,208,5,5,196,217,5,5,81,228,5,5,189,220,5,5,112,219,5,5,5,235,5,5,82,196,5,5,133,179,5,5,19,245,5,5,133,194,5,5,207,215,5,5,163,212,5,5,18,178,5,5,208,215,5,5,83,170,5,5,84,170,5,5,251,220,5,5,24,178,5,5,224,193,5,5,31,186,5,5,99,185,5,5,23,182,5,5,96,170,5,5,67,199,5,5,231,193,5,5,46,171,5,5,27,233,5,5,36,178,5,5,157,187,5,5,141,194,5,5,86,189,5,5,52,208,5,5,161,187,5,5,90,228,5,5,6,198,5,5,190,192,5,5,191,192,5,5,22,187,5,5,50,178,5,5,146,205,5,5,147,205,5,5,161,227,5,5,80,191,5,5,255,246,5,5,91,191,5,5,92,191,5,5,163,238,5,5,164,238,5,5,172,238,5,5,173,238,5,5,5,243,5,5,6,243,5,5,69,220,5,5,26,234,5,5,159,229,5,5,3,227,5,5,204,236,5,5,205,236,5,5,27,242,5,5,149,174,5,5,61,172,5,5,236,170,5,5,134,179,5,5,52,171,5,5,164,212,5,5,246,240,5,5,88,213,5,5,24,245,5,5,167,240,5,5,174,174,5,5,222,174,5,5,201,248,5,5,20,228,5,5,98,192,5,5,160,182,5,5,72,247,5,5,238,238,5,5,169,228,5,5,224,173,5,5,31,170,5,5,202,178,5,5,43,204,5,5,214,183,5,5,174,228,5,5,22,246,5,5,222,176,5,5,175,228,5,5,74,196,5,5,180,177,5,5,183,230,5,5,205,235,5,5,251,188,5,5,52,237,5,5,77,190,5,5,5,206,5,5,129,189,5,5,178,228,5,5,137,174,5,5,224,246,5,5,180,234,5,5,83,196,5,5,97,227,5,5,189,176,5,5,66,247,5,5,162,200,5,5,192,176,5,5,158,178,5,5,241,211,5,5,76,231,5,5,35,180,5,5,224,192,5,5,133,173,5,5,236,246,5,5,193,176,5,5,139,247,5,5,169,200,5,5,50,242,5,5,165,233,5,5,150,195,5,5,25,194,5,5,49,222,5,5,105,193,5,5,214,170,5,5,196,190,5,5,101,184,5,5,180,235,5,5,47,229,5,5,59,212,5,5,144,237,5,5,214,228,5,5,230,230,5,5,44,246,5,5,114,213,5,5,12,226,5,5,164,178,5,5,49,246,5,5,193,246,5,5,41,171,5,5,165,178,5,5,21,175,5,5,232,173,5,5,225,194,5,5,113,191,5,5,229,194,5,5,33,191,5,5,173,207,5,5,20,205,5,5,180,232,5,5,145,169,5,5,157,217,5,5,213,233,5,5,3,234,5,5,45,170,5,5,223,238,5,5,137,201,5,5,121,218,5,5,106,178,5,5,248,179,5,5,164,184,5,5,199,192,5,5,130,218,5,5,123,218,5,5,97,173,5,5,57,225,5,5,208,225,5,5,209,225,5,5,188,184,5,5,219,214,5,5,11,222,5,5,68,177,5,5,199,246,5,5,192,228,5,5,35,207,5,5,169,230,5,5,55,182,5,5,48,240,5,5,109,226,5,5,226,208,5,5,187,229,5,5,73,247,5,5,12,175,5,5,124,230,5,5,99,192,5,5,83,230,5,5,110,231,5,5,74,193,5,5,6,241,5,5,143,228,5,5,156,176,5,5,143,223,5,5,137,199,5,5,17,242,5,5,201,170,5,5,200,246,5,5,103,214,5,5,29,177,5,5,251,173,5,5,251,224,5,5,203,227,5,5,91,215,5,5,218,210,5,5,161,191,5,5,69,234,5,5,85,211,5,5,182,199,5,5,231,231,5,5,216,233,5,5,156,198,5,5,145,189,5,5,114,198,5,5,56,183,5,5,76,190,5,5,253,224,5,5,164,223,5,5,84,230,5,5,220,211,5,5,160,173,5,5,252,175,5,5,60,197,5,5,249,238,5,5,101,169,5,5,176,173,5,5,227,208,5,5,99,212,5,5,38,250,5,5,97,244,5,5,101,237,5,5,66,197,5,5,35,169,5,5,140,211,5,5,60,210,5,5,23,246,5,5,237,211,5,5,16,172,5,5,178,226,5,5,242,189,5,5,238,189,5,5,67,197,5,5,125,177,5,5,233,202,5,5,63,223,5,5,52,175,5,5,21,179,5,5,181,177,5,5,111,238,5,5,79,227,5,5,32,241,5,5,169,183,5,5,112,192,5,5,143,212,5,5,50,234,5,5,238,242,5,5,121,210,5,5,183,186,5,5,215,183,5,5,111,231,5,5,54,170,5,5,9,241,5,5,67,216,5,5,64,235,5,5,159,176,5,5,102,171,5,5,231,190,5,5,205,234,5,5,158,175,5,5,55,170,5,5,195,222,5,5,184,230,5,5,12,225,5,5,227,240,5,5,133,249,5,5,223,180,5,5,143,209,5,5,173,246,5,5,250,238,5,5,25,222,5,5,114,210,5,5,168,235,5,5,26,222,5,5,116,231,5,5,107,201,5,5,8,189,5,5,174,199,5,5,149,209,5,5,178,246,5,5,108,233,5,5,47,203,5,5,134,226,5,5,232,190,5,5,182,179,5,5,118,188,5,5,60,199,5,5,76,187,5,5,9,189,5,5,185,230,5,5,195,194,5,5,199,222,5,5,65,223,5,5,150,189,5,5,8,217,5,5,102,237,5,5,76,191,5,5,44,191,5,5,231,174,5,5,80,193,5,5,120,238,5,5,72,234,5,5,184,186,5,5,16,204,5,5,3,191,5,5,88,249,5,5,208,234,5,5,211,174,5,5,184,220,5,5,149,211,5,5,254,188,5,5,212,181,5,5,253,198,5,5,56,180,5,5,85,226,5,5,213,185,5,5,197,217,5,5,191,230,5,5,19,215,5,5,16,243,5,5,145,212,5,5,21,199,5,5,157,178,5,5,77,191,5,5,150,181,5,5,91,233,5,5,49,227,5,5,51,236,5,5,95,198,5,5,161,172,5,5,78,210,5,5,119,243,5,5,43,207,5,5,237,240,5,5,234,240,5,5,144,242,5,5,213,212,5,5,79,200,5,5,236,215,5,5,17,243,5,5,35,242,5,5,98,227,5,5,148,195,5,5,199,230,5,5,128,245,5,5,17,204,5,5,49,226,5,5,30,188,5,5,119,188,5,5,71,216,5,5,53,226,5,5,25,172,5,5,20,239,5,5,148,215,5,5,56,191,5,5,192,230,5,5,175,169,5,5,239,206,5,5,71,238,5,5,3,189,5,5,165,223,5,5,198,217,5,5,138,174,5,5,228,199,5,5,131,230,5,5,132,230,5,5,13,241,5,5,251,201,5,5,99,203,5,5,155,190,5,5,160,176,5,5,34,239,5,5,18,243,5,5,125,202,5,5,45,211,5,5,79,210,5,5,157,181,5,5,21,218,5,5,45,235,5,5,49,215,5,5,133,230,5,5,4,209,5,5,194,176,5,5,210,182,5,5,152,169,5,5,160,178,5,5,39,177,5,5,166,173,5,5,230,207,5,5,138,202,5,5,225,192,5,5,224,186,5,5,219,186,5,5,55,234,5,5,135,178,5,5,69,214,5,5,52,199,5,5,113,226,5,5,80,206,5,5,215,230,5,5,138,198,5,5,126,187,5,5,177,210,5,5,188,216,5,5,56,175,5,5,241,180,5,5,180,187,5,5,207,244,5,5,20,196,5,5,118,228,5,5,152,242,5,5,178,195,5,5,231,192,5,5,210,200,5,5,36,242,5,5,218,191,5,5,186,188,5,5,218,217,5,5,29,225,5,5,54,226,5,5,57,226,5,5,254,210,5,5,179,228,5,5,75,176,5,5,155,189,5,5,152,191,5,5,200,230,5,5,152,173,5,5,225,233,5,5,247,228,5,5,84,191,5,5,165,181,5,5,153,224,5,5,136,249,5,5,140,193,5,5,239,240,5,5,110,179,5,5,86,197,5,5,94,172,5,5,113,174,5,5,161,178,5,5,185,169,5,5,74,216,5,5,87,172,5,5,19,178,5,5,220,186,5,5,80,181,5,5,84,210,5,5,123,243,5,5,206,232,5,5,155,248,5,5,195,179,5,5,197,190,5,5,63,176,5,5,235,216,5,5,114,218,5,5,7,234,5,5,173,172,5,5,191,170,5,5,8,209,5,5,104,249,5,5,254,225,5,5,38,216,5,5,63,175,5,5,190,169,5,5,12,235,5,5,208,228,5,5,119,185,5,5,62,215,5,5,48,229,5,5,63,242,5,5,168,241,5,5,85,170,5,5,13,235,5,5,162,190,5,5,11,209,5,5,86,170,5,5,65,239,5,5,159,208,5,5,240,240,5,5,120,198,5,5,84,178,5,5,192,239,5,5,166,181,5,5,12,174,5,5,119,207,5,5,23,215,5,5,7,199,5,5,179,241,5,5,10,168,5,5,77,216,5,5,158,236,5,5,173,211,5,5,225,184,5,5,124,243,5,5,137,249,5,5,151,219,5,5,239,201,5,5,59,183,5,5,57,240,5,5,23,200,5,5,24,200,5,5,32,218,5,5,220,185,5,5,84,243,5,5,4,224,5,5,11,224,5,5,146,214,5,5,145,237,5,5,169,223,5,5,246,190,5,5,134,192,5,5,94,186,5,5,98,197,5,5,4,176,5,5,179,210,5,5,121,233,5,5,105,198,5,5,62,246,5,5,247,240,5,5,150,172,5,5,218,235,5,5,100,221,5,5,200,171,5,5,121,198,5,5,247,242,5,5,129,231,5,5,181,191,5,5,249,240,5,5,92,237,5,5,156,202,5,5,207,219,5,5,164,225,5,5,200,239,5,5,113,176,5,5,232,234,5,5,154,215,5,5,7,225,5,5,186,190,5,5,126,243,5,5,101,221,5,5,49,209,5,5,245,185,5,5,252,220,5,5,197,176,5,5,89,213,5,5,203,209,5,5,207,209,5,5,172,187,5,5,254,174,5,5,96,172,5,5,91,172,5,5,89,172,5,5,16,177,5,5,16,209,5,5,213,225,5,5,25,245,5,5,52,227,5,5,149,168,5,5,4,223,5,5,18,207,5,5,226,186,5,5,35,218,5,5,30,244,5,5,199,196,5,5,105,191,5,5,101,198,5,5,243,202,5,5,221,211,5,5,172,223,5,5,130,216,5,5,39,240,5,5,15,206,5,5,163,220,5,5,108,229,5,5,150,227,5,5,243,206,5,5,67,215,5,5,2,221,5,5,198,240,5,5,216,216,5,5,163,198,5,5,58,179,5,5,147,246,5,5,34,205,5,5,166,197,5,5,88,214,5,5,84,214,5,5,86,242,5,5,194,213,5,5,120,203,5,5,210,176,5,5,16,241,5,5,22,175,5,5,28,247,5,5,53,227,5,5,65,174,5,5,250,214,5,5,114,217,5,5,175,212,5,5,202,169,5,5,29,171,5,5,250,216,5,5,173,194,5,5,105,244,5,5,249,174,5,5,2,203,5,5,197,213,5,5,32,200,5,5,106,191,5,5,22,216,5,5,127,174,5,5,41,240,5,5,42,240,5,5,87,231,5,5,255,230,5,5,37,178,5,5,37,225,5,5,87,181,5,5,230,180,5,5,229,180,5,5,18,224,5,5,237,197,5,5,182,172,5,5,23,233,5,5,61,182,5,5,62,183,5,5,92,201,5,5,126,201,5,5,23,175,5,5,236,187,5,5,252,214,5,5,47,232,5,5,17,209,5,5,62,196,5,5,158,203,5,5,104,230,5,5,97,172,5,5,227,197,5,5,234,176,5,5,144,232,5,5,65,225,5,5,140,221,5,5,236,212,5,5,107,239,5,5,184,175,5,5,254,231,5,5,71,210,5,5,38,178,5,5,66,225,5,5,64,196,5,5,159,223,5,5,53,188,5,5,230,194,5,5,114,229,5,5,29,235,5,5,46,180,5,5,140,216,5,5,135,216,5,5,108,197,5,5,151,172,5,5,27,199,5,5,189,233,5,5,83,240,5,5,154,168,5,5,128,207,5,5,108,239,5,5,8,204,5,5,244,219,5,5,64,198,5,5,82,190,5,5,233,207,5,5,7,201,5,5,19,168,5,5,9,204,5,5,78,236,5,5,115,200,5,5,219,231,5,5,4,175,5,5,3,242,5,5,44,240,5,5,165,177,5,5,26,208,5,5,22,168,5,5,255,207,5,5,234,180,5,5,168,214,5,5,85,209,5,5,222,200,5,5,234,207,5,5,77,175,5,5,46,247,5,5,182,211,5,5,183,211,5,5,76,236,5,5,97,237,5,5,223,171,5,5,51,247,5,5,217,199,5,5,193,199,5,5,85,241,5,5,198,183,5,5,164,204,5,5,216,208,5,5,134,174,5,5,147,191,5,5,100,173,5,5,29,208,5,5,11,201,5,5,84,190,5,5,55,235,5,5,96,218,5,5,102,173,5,5,19,193,5,5,120,197,5,5,101,190,5,5,9,221,5,5,159,239,5,5,68,203,5,5,40,210,5,5,64,208,5,5,146,225,5,5,7,198,5,5,30,185,5,5,31,185,5,5,141,248,5,5,82,185,5,5,8,243,5,5,114,230,5,5,123,193,5,5,139,234,5,5,189,222,5,5,190,218,5,5,105,231,5,5,86,174,5,5,244,229,5,5,136,195,5,5,87,185,5,5,131,193,5,5,175,215,5,5,206,191,5,5,176,215,5,5,251,244,5,5,63,180,5,5,70,214,5,5,82,193,5,5,190,179,5,5,90,244,5,5,84,193,5,5,181,192,5,5,106,246,5,5,129,198,5,5,126,192,5,5,249,199,5,5,180,184,5,5,186,178,5,5,6,245,5,5,192,215,5,5,101,185,5,5,232,193,5,5,102,195,5,5,76,242,5,5,233,193,5,5,172,236,5,5,181,205,5,5,164,189,5,5,10,245,5,5,143,231,5,5,145,231,5,5,69,176,5,5,202,177,5,5,159,217,5,5,227,189,5,5,228,189,5,5,229,189,5,5,133,181,5,5,14,222,5,5,43,226,5,5,95,207,5,5,239,189,5,5,106,202,5,5,152,182,5,5,147,224,5,5,187,170,5,5,106,179,5,5,117,196,5,5,174,220,5,5,130,238,5,5,194,238,5,5,120,220,5,5,247,189,5,5,186,182,5,5,159,236,5,5,92,222,5,5,114,222,5,5,49,172,5,5,121,244,5,5,34,217,5,5,138,201,5,5,3,214,5,5,165,168,5,5,153,177,5,5,177,218,5,5,111,182,5,5,48,219,5,5,189,243,5,5,220,227,5,5,49,245,5,5,149,179,5,5,171,198,5,5,114,241,5,5,87,199,5,5,216,184,5,5,17,221,5,5,199,172,5,5,221,227,5,5,75,186,5,5,73,199,5,5,118,230,5,5,170,178,5,5,31,215,5,5,121,246,5,5,149,218,5,5,97,200,5,5,217,207,5,5,220,219,5,5,38,237,5,5,86,211,5,5,32,169,5,5,220,173,5,5,108,218,5,5,170,230,5,5,92,215,5,5,254,168,5,5,75,193,5,5,133,241,5,5,209,183,5,5,140,168,5,5,175,230,5,5,204,212,5,5,168,246,5,5,201,246,5,5,138,181,5,5,171,178,5,5,84,245,5,5,89,174,5,5,200,192,5,5,140,236,5,5,183,199,5,5,202,170,5,5,174,173,5,5,210,196,5,5,188,229,5,5,169,189,5,5,12,243,5,5,185,197,5,5,204,168,5,5,157,216,5,5,245,177,5,5,57,246,5,5,99,243,5,5,100,228,5,5,99,210,5,5,239,238,5,5,118,222,5,5,70,248,5,5,243,213,5,5,62,227,5,5,84,180,5,5,178,198,5,5,117,245,5,5,244,213,5,5,40,184,5,5,70,212,5,5,188,168,5,5,131,168,5,5,42,244,5,5,147,227,5,5,63,199,5,5,65,206,5,5,223,215,5,5,145,243,5,5,234,189,5,5,125,169,5,5,103,171,5,5,174,246,5,5,144,212,5,5,18,210,5,5,17,172,5,5,208,212,5,5,229,224,5,5,179,237,5,5,222,245,5,5,123,244,5,5,27,237,5,5,126,169,5,5,147,188,5,5,151,210,5,5,4,238,5,5,3,179,5,5,229,174,5,5,209,212,5,5,40,193,5,5,84,209,5,5,197,207,5,5,238,173,5,5,231,235,5,5,44,175,5,5,99,217,5,5,253,208,5,5,159,175,5,5,42,193,5,5,216,183,5,5,156,244,5,5,8,248,5,5,216,177,5,5,243,172,5,5,172,209,5,5,188,210,5,5,121,200,5,5,45,184,5,5,71,212,5,5,36,169,5,5,239,211,5,5,213,203,5,5,216,209,5,5,177,186,5,5,93,215,5,5,61,197,5,5,192,224,5,5,191,168,5,5,227,227,5,5,228,227,5,5,133,168,5,5,213,196,5,5,188,248,5,5,29,212,5,5,72,245,5,5,246,168,5,5,244,168,5,5,4,179,5,5,150,210,5,5,68,197,5,5,98,200,5,5,9,205,5,5,199,193,5,5,11,215,5,5,188,240,5,5,207,200,5,5,50,211,5,5,142,171,5,5,44,244,5,5,45,215,5,5,247,188,5,5,99,200,5,5,27,222,5,5,71,195,5,5,59,246,5,5,46,211,5,5,233,185,5,5,234,185,5,5,212,217,5,5,237,222,5,5,66,177,5,5,153,243,5,5,189,198,5,5,121,238,5,5,109,233,5,5,162,172,5,5,4,191,5,5,126,213,5,5,75,248,5,5,215,221,5,5,217,209,5,5,227,168,5,5,183,174,5,5,166,186,5,5,217,246,5,5,100,200,5,5,55,181,5,5,56,181,5,5,179,246,5,5,72,216,5,5,74,168,5,5,117,211,5,5,249,245,5,5,112,185,5,5,250,194,5,5,127,199,5,5,57,180,5,5,218,209,5,5,135,226,5,5,180,203,5,5,125,244,5,5,234,205,5,5,183,179,5,5,44,228,5,5,191,197,5,5,174,203,5,5,38,197,5,5,225,246,5,5,27,206,5,5,34,236,5,5,229,229,5,5,193,224,5,5,110,233,5,5,61,210,5,5,64,178,5,5,196,194,5,5,28,246,5,5,177,192,5,5,5,191,5,5,24,232,5,5,230,241,5,5,0,137,5,5,230,227,5,5,164,211,5,5,96,177,5,5,185,171,5,5,189,185,5,5,37,226,5,5,252,245,5,5,102,174,5,5,127,219,5,5,128,219,5,5,37,199,5,5,184,207,5,5,118,211,5,5,218,196,5,5,158,212,5,5,205,193,5,5,21,239,5,5,237,226,5,5,82,220,5,5,60,219,5,5,114,228,5,5,111,233,5,5,203,172,5,5,119,183,5,5,200,194,5,5,91,230,5,5,49,198,5,5,188,196,5,5,44,227,5,5,80,200,5,5,211,191,5,5,99,227,5,5,191,248,5,5,245,213,5,5,236,205,5,5,176,168,5,5,31,188,5,5,190,220,5,5,242,210,5,5,125,197,5,5,86,244,5,5,200,222,5,5,235,237,5,5,199,197,5,5,5,172,5,5,104,228,5,5,26,172,5,5,19,250,5,5,9,238,5,5,184,244,5,5,235,205,5,5,186,223,5,5,231,227,5,5,75,201,5,5,119,224,5,5,50,169,5,5,206,193,5,5,151,190,5,5,118,178,5,5,35,229,5,5,145,228,5,5,117,216,5,5,193,212,5,5,239,220,5,5,191,203,5,5,236,208,5,5,222,207,5,5,55,184,5,5,235,168,5,5,87,197,5,5,113,178,5,5,246,229,5,5,0,146,5,5,142,197,5,5,24,243,5,5,135,249,5,5,240,173,5,5,12,176,5,5,83,195,5,5,83,227,5,5,224,169,5,5,236,209,5,5,201,210,5,5,108,219,5,5,24,250,5,5,254,229,5,5,71,214,5,5,241,231,5,5,106,174,5,5,67,179,5,5,221,219,5,5,66,206,5,5,211,216,5,5,14,185,5,5,31,181,5,5,102,222,5,5,158,179,5,5,246,213,5,5,8,179,5,5,43,245,5,5,177,191,5,5,178,192,5,5,159,225,5,5,8,215,5,5,128,214,5,5,242,211,5,5,130,222,5,5,57,215,5,5,61,204,5,5,227,237,5,5,39,236,5,5,203,197,5,5,36,246,5,5,90,203,5,5,168,186,5,5,35,239,5,5,215,191,5,5,123,220,5,5,60,246,5,5,56,206,5,5,62,172,5,5,74,225,5,5,229,173,5,5,97,171,5,5,30,195,5,5,55,226,5,5,61,199,5,5,164,227,5,5,152,236,5,5,99,177,5,5,140,247,5,5,228,196,5,5,128,226,5,5,102,215,5,5,29,199,5,5,228,168,5,5,231,211,5,5,31,195,5,5,116,205,5,5,175,186,5,5,54,209,5,5,84,195,5,5,237,246,5,5,252,177,5,5,37,208,5,5,103,172,5,5,206,219,5,5,221,186,5,5,197,212,5,5,244,242,5,5,171,211,5,5,215,193,5,5,42,246,5,5,157,196,5,5,216,193,5,5,169,241,5,5,113,236,5,5,246,199,5,5,34,210,5,5,32,189,5,5,245,218,5,5,41,213,5,5,209,228,5,5,152,219,5,5,185,249,5,5,14,235,5,5,179,208,5,5,255,225,5,5,243,210,5,5,206,172,5,5,50,222,5,5,138,249,5,5,6,246,5,5,78,238,5,5,181,235,5,5,220,240,5,5,168,170,5,5,62,237,5,5,163,190,5,5,160,236,5,5,207,243,5,5,69,168,5,5,154,234,5,5,41,236,5,5,4,230,5,5,236,198,5,5,195,175,5,5,117,192,5,5,58,226,5,5,130,200,5,5,137,200,5,5,13,174,5,5,88,198,5,5,158,196,5,5,159,196,5,5,106,227,5,5,42,195,5,5,15,191,5,5,166,185,5,5,42,175,5,5,15,233,5,5,196,179,5,5,93,233,5,5,190,242,5,5,103,215,5,5,236,237,5,5,207,172,5,5,131,244,5,5,153,169,5,5,139,237,5,5,210,228,5,5,6,170,5,5,254,200,5,5,203,229,5,5,161,216,5,5,10,173,5,5,98,185,5,5,51,205,5,5,139,249,5,5,167,185,5,5,208,194,5,5,32,186,5,5,162,216,5,5,208,218,5,5,28,218,5,5,46,175,5,5,196,175,5,5,238,244,5,5,123,224,5,5,112,224,5,5,201,171,5,5,175,175,5,5,203,218,5,5,72,169,5,5,72,177,5,5,208,219,5,5,218,198,5,5,146,237,5,5,121,178,5,5,109,246,5,5,142,211,5,5,125,200,5,5,152,193,5,5,191,223,5,5,84,217,5,5,57,185,5,5,81,232,5,5,45,223,5,5,198,219,5,5,233,195,5,5,210,208,5,5,175,181,5,5,14,176,5,5,174,211,5,5,94,220,5,5,198,224,5,5,160,244,5,5,107,225,5,5,15,212,5,5,6,169,5,5,114,177,5,5,157,202,5,5,165,225,5,5,182,189,5,5,10,247,5,5,52,228,5,5,40,190,5,5,68,215,5,5,204,229,5,5,225,215,5,5,97,226,5,5,195,245,5,5,176,181,5,5,122,233,5,5,176,211,5,5,227,217,5,5,221,172,5,5,178,244,5,5,129,185,5,5,96,230,5,5,216,181,5,5,253,220,5,5,172,198,5,5,254,220,5,5,140,222,5,5,240,168,5,5,147,237,5,5,78,171,5,5,197,223,5,5,16,225,5,5,143,219,5,5,78,173,5,5,139,224,5,5,161,196,5,5,20,175,5,5,238,175,5,5,176,186,5,5,114,171,5,5,125,183,5,5,230,222,5,5,53,179,5,5,245,214,5,5,199,223,5,5,187,244,5,5,34,203,5,5,66,174,5,5,161,174,5,5,227,186,5,5,176,205,5,5,154,206,5,5,54,205,5,5,142,249,5,5,175,184,5,5,2,190,5,5,135,244,5,5,248,175,5,5,152,225,5,5,65,190,5,5,17,177,5,5,247,209,5,5,67,209,5,5,94,194,5,5,46,187,5,5,166,240,5,5,144,246,5,5,114,168,5,5,29,247,5,5,10,211,5,5,19,207,5,5,99,173,5,5,68,199,5,5,105,175,5,5,3,221,5,5,151,227,5,5,218,194,5,5,57,209,5,5,63,209,5,5,137,245,5,5,106,172,5,5,43,199,5,5,242,170,5,5,140,194,5,5,152,237,5,5,39,186,5,5,69,215,5,5,168,203,5,5,42,192,5,5,67,240,5,5,173,197,5,5,118,213,5,5,117,213,5,5,77,201,5,5,249,180,5,5,141,232,5,5,62,219,5,5,111,187,5,5,209,243,5,5,89,239,5,5,48,232,5,5,69,174,5,5,70,174,5,5,129,219,5,5,69,210,5,5,98,189,5,5,87,223,5,5,46,188,5,5,20,187,5,5,117,177,5,5,17,250,5,5,207,210,5,5,5,204,5,5,63,246,5,5,28,191,5,5,140,248,5,5,226,194,5,5,185,192,5,5,134,172,5,5,255,177,5,5,2,178,5,5,233,173,5,5,164,171,5,5,222,173,5,5,174,197,5,5,66,184,5,5,112,203,5,5,229,169,5,5,67,184,5,5,51,216,5,5,165,171,5,5,76,177,5,5,226,248,5,5,108,248,5,5,63,229,5,5,7,214,5,5,163,216,5,5,246,180,5,5,208,210,5,5,41,190,5,5,128,233,5,5,67,205,5,5,227,194,5,5,246,176,5,5,204,224,5,5,54,188,5,5,52,216,5,5,241,229,5,5,237,193,5,5,229,184,5,5,204,240,5,5,160,201,5,5,52,210,5,5,127,205,5,5,137,220,5,5,227,248,5,5,67,244,5,5,9,214,5,5,85,176,5,5,61,192,5,5,67,178,5,5,245,219,5,5,135,172,5,5,197,216,5,5,195,216,5,5,174,190,5,5,50,195,5,5,132,216,5,5,132,199,5,5,236,177,5,5,129,233,5,5,79,198,5,5,35,213,5,5,229,168,5,5,156,168,5,5,109,197,5,5,31,238,5,5,191,181,5,5,237,207,5,5,214,223,5,5,53,208,5,5,186,192,5,5,244,224,5,5,236,248,5,5,130,178,5,5,45,234,5,5,9,201,5,5,41,172,5,5,48,197,5,5,242,237,5,5,46,219,5,5,46,238,5,5,42,238,5,5,163,210,5,5,12,230,5,5,115,195,5,5,82,171,5,5,65,211,5,5,105,185,5,5,47,247,5,5,37,247,5,5,110,200,5,5,75,209,5,5,69,194,5,5,137,233,5,5,206,203,5,5,19,225,5,5,241,168,5,5,216,223,5,5,132,205,5,5,64,206,5,5,110,218,5,5,244,225,5,5,7,212,5,5,98,237,5,5,221,201,5,5,42,172,5,5,154,222,5,5,211,243,5,5,213,210,5,5,95,232,5,5,72,198,5,5,192,191,5,5,193,202,5,5,146,200,5,5,144,190,5,5,147,240,5,5,91,205,5,5,15,205,5,5,77,215,5,5,78,215,5,5,212,243,5,5,83,215,5,5,233,200,5,5,10,232,5,5,93,240,5,5,176,207,5,5,92,218,5,5,17,173,5,5,223,229,5,5,250,176,5,5,140,233,5,5,10,221,5,5,122,206,5,5,73,198,5,5,65,208,5,5,173,174,5,5,214,243,5,5,39,206,5,5,20,225,5,5,224,249,5,5,215,202,5,5,83,179,5,5,57,228,5,5,70,178,5,5,244,194,5,5,8,198,5,5,15,201,5,5,222,202,5,5,54,210,5,5,79,246,5,5,92,187,5,5,77,187,5,5,75,214,5,5,188,235,5,5,255,213,5,5,2,214,5,5,91,222,5,5,187,198,5,5,7,241,5,5,165,184,5,5,185,238,5,5,206,185,5,5,191,184,5,5,255,168,5,5,173,182,5,5,69,246,5,5,227,213,5,5,66,179,5,5,74,199,5,5,2,209,5,5,128,230,5,5,122,186,5,5,172,188,5,5,165,172,5,5,75,233,5,5,80,208,5,5,166,175,5,5,116,185,5,5,221,178,5,5,217,234,5,5,2,195,5,5,5,209,5,5,7,174,5,5,192,196,5,5,40,221,5,5,40,181,5,5,240,241,5,5,236,174,5,5,103,168,5,5,247,168,5,5,218,234,5,5,3,195,5,5,41,181,5,5,30,203,5,5,4,211,5,5,76,170,5,5,154,173,5,5,91,179,5,5,32,181,5,5,51,239,5,5,221,184,5,5,190,219,5,5,245,198,5,5,220,236,5,5,242,180,5,5,24,192,5,5,69,227,5,5,81,233,5,5,33,181,5,5,212,194,5,5,94,196,5,5,64,237,5,5,188,231,5,5,12,209,5,5,209,222,5,5,0,151,5,5,244,215,5,5,0,152,5,5,64,246,5,5,237,178,5,5,8,246,5,5,191,183,5,5,216,222,5,5,128,203,5,5,116,217,5,5,86,234,5,5,209,238,5,5,231,194,5,5,138,220,5,5,232,194,5,5,237,248,5,5,122,239,5,5,38,203,5,5,140,170,5,5,41,202,5,5,89,233,5,5,90,233,5,5,158,229,5,5,99,235,5,5,108,214,5,5,117,214,5,5,185,244,5,5,55,171,5,5,204,197,5,5,186,244,5,5,42,201,5,5,211,182,5,5,5,169,5,5,7,169,5,5,220,200,5,5,5,242,5,5,239,200,5,5,83,229,5,5,90,180,5,5,115,221,5,5,165,203,5,5,100,193,5,5,177,189,5,5,117,233,5,5,106,193,5,5,242,241,5,5,196,245,5,5,9,195,5,5,10,230,5,5,167,226,5,5,107,180,5,5,163,195,5,5,224,174,5,5,217,239,5,5,46,184,5,5,177,215,5,5,231,244,5,5,135,217,5,5,208,248,5,5,236,244,5,5,190,180,5,5,101,177,5,5,68,223,5,5,229,233,5,5,219,248,5,5,228,248,5,5,133,216,5,5,235,203,5,5,238,248,5,5,185,175,5,5,204,180,5,5,21,248,5,5,137,182,5,5,66,173,5,5,70,188,5,5,138,241,5,5,172,221,5,5,121,212,5,5,33,241,5,5,199,207,5,5,56,212,5,5,118,214,5,5,202,244,5,5,75,207,5,5,237,205,5,5,122,212,5,5,218,212,5,5,133,204,5,5,178,183,5,5,167,182,5,5,46,235,5,5,21,196,5,5,22,196,5,5,155,210,5,5,196,249,5,5,97,245,5,5,200,238,5,5,140,204,5,5,196,220,5,5,31,194,5,5,180,241,5,5,206,238,5,5,153,214,5,5,38,247,5,5,63,182,5,5,92,213,5,5,64,182,5,5,222,244,5,5,153,199,5,5,100,224,5,5,213,241,5,5,46,230,5,5,192,192,5,5,208,192,5,5,226,192,5,5,219,191,5,5,183,218,5,5,7,178,5,5,181,196,5,5,163,246,5,5,12,244,5,5,101,233,5,5,131,226,5,5,161,235,5,5,198,234,5,5,135,184,5,5,127,200,5,5,235,184,5,5,27,188,5,5,226,224,5,5,18,179,5,5,140,234,5,5,64,173,5,5,206,221,5,5,199,199,5,5,42,237,5,5,211,221,5,5,194,228,5,5,228,208,5,5,229,208,5,5,193,227,5,5,24,176,5,5,85,230,5,5,73,243,5,5,167,169,5,5,93,168,5,5,84,244,5,5,18,169,5,5,65,195,5,5,48,200,5,5,116,221,5,5,240,189,5,5,162,182,5,5,114,188,5,5,95,187,5,5,107,173,5,5,3,235,5,5,25,209,5,5,148,191,5,5,253,182,5,5,145,216,5,5,146,189,5,5,251,238,5,5,177,230,5,5,219,233,5,5,90,236,5,5,85,244,5,5,163,182,5,5,24,225,5,5,92,221,5,5,69,197,5,5,53,237,5,5,204,243,5,5,106,171,5,5,4,234,5,5,176,240,5,5,66,235,5,5,228,213,5,5,225,245,5,5,47,204,5,5,26,176,5,5,115,188,5,5,200,207,5,5,21,250,5,5,98,209,5,5,212,170,5,5,209,234,5,5,149,191,5,5,73,245,5,5,149,249,5,5,28,222,5,5,29,222,5,5,21,242,5,5,225,182,5,5,184,179,5,5,98,207,5,5,171,210,5,5,151,173,5,5,137,229,5,5,24,180,5,5,0,157,5,5,107,171,5,5,94,168,5,5,178,247,5,5,213,204,5,5,69,232,5,5,203,199,5,5,162,226,5,5,185,173,5,5,221,221,5,5,235,190,5,5,236,190,5,5,58,235,5,5,239,199,5,5,146,234,5,5,201,194,5,5,222,195,5,5,226,246,5,5,223,195,5,5,175,220,5,5,10,227,5,5,93,189,5,5,209,236,5,5,155,184,5,5,204,232,5,5,65,220,5,5,61,233,5,5,10,238,5,5,50,243,5,5,9,191,5,5,253,187,5,5,35,188,5,5,53,198,5,5,119,228,5,5,124,232,5,5,54,200,5,5,184,247,5,5,201,230,5,5,103,174,5,5,149,221,5,5,250,171,5,5,129,245,5,5,130,245,5,5,136,230,5,5,120,228,5,5,81,191,5,5,122,188,5,5,8,174,5,5,126,228,5,5,115,226,5,5,220,248,5,5,241,249,5,5,166,247,5,5,36,214,5,5,58,196,5,5,216,230,5,5,111,220,5,5,156,210,5,5,217,230,5,5,190,216,5,5,211,214,5,5,26,196,5,5,84,187,5,5,61,246,5,5,52,239,5,5,2,247,5,5,82,168,5,5,127,228,5,5,222,203,5,5,103,203,5,5,114,173,5,5,181,228,5,5,62,233,5,5,217,243,5,5,187,182,5,5,17,235,5,5,200,185,5,5,150,238,5,5,189,231,5,5,53,243,5,5,19,191,5,5,191,234,5,5,13,209,5,5,250,199,5,5,229,237,5,5,177,240,5,5,168,222,5,5,54,229,5,5,167,222,5,5,194,216,5,5,120,207,5,5,29,210,5,5,225,193,5,5,154,211,5,5,83,168,5,5,65,237,5,5,30,176,5,5,153,237,5,5,156,224,5,5,39,214,5,5,39,209,5,5,219,194,5,5,108,198,5,5,59,185,5,5,220,229,5,5,169,173,5,5,246,214,5,5,130,188,5,5,234,236,5,5,164,202,5,5,13,168,5,5,242,192,5,5,252,192,5,5,231,207,5,5,218,243,5,5,185,233,5,5,131,188,5,5,208,209,5,5,121,209,5,5,169,176,5,5,183,210,5,5,31,245,5,5,107,191,5,5,138,169,5,5,49,188,5,5,51,235,5,5,217,175,5,5,132,203,5,5,251,231,5,5,67,225,5,5,65,196,5,5,119,213,5,5,236,203,5,5,199,227,5,5,88,231,5,5,109,239,5,5,4,193,5,5,249,190,5,5,199,177,5,5,26,238,5,5,27,238,5,5,171,202,5,5,42,225,5,5,34,227,5,5,66,233,5,5,240,182,5,5,84,221,5,5,105,245,5,5,135,188,5,5,123,239,5,5,210,232,5,5,18,234,5,5,56,221,5,5,235,194,5,5,143,169,5,5,106,196,5,5,246,236,5,5,23,168,5,5,43,238,5,5,33,219,5,5,176,222,5,5,3,208,5,5,150,235,5,5,216,237,5,5,54,214,5,5,184,202,5,5,25,174,5,5,218,199,5,5,218,179,5,5,159,203,5,5,2,237,5,5,240,191,5,5,96,205,5,5,34,231,5,5,231,218,5,5,240,204,5,5,53,210,5,5,140,206,5,5,40,206,5,5,67,220,5,5,147,225,5,5,193,236,5,5,254,247,5,5,253,242,5,5,254,242,5,5,87,217,5,5,253,237,5,5,198,185,5,5,255,237,5,5,147,189,5,5,163,188,5,5,127,222,5,5,138,172,5,5,137,172,5,5,127,221,5,5,14,207,5,5,189,172,5,5,192,172,5,5,59,226,5,5,240,249,5,5,95,172,5,5,227,234,5,5,93,191,5,5,14,240,5,5,79,216,5,5,14,183,5,5,21,213,5,5,7,243,5,5,63,241,5,5,65,219,5,5,157,212,5,5,21,183,5,5,217,183,5,5,48,204,5,5,205,182,5,5,136,217,5,5,47,226,5,5,150,211,5,5,163,226,5,5,40,223,5,5,253,245,5,5,61,201,5,5,60,201,5,5,227,249,5,5,31,209,5,5,184,190,5,5,196,228,5,5,196,227,5,5,188,173,5,5,25,192,5,5,76,214,5,5,60,240,5,5,110,249,5,5,197,228,5,5,35,227,5,5,67,201,5,5,93,201,5,5,4,208,5,5,241,204,5,5,184,209,5,5,184,178,5,5,86,229,5,5,86,209,5,5,215,169,5,5,143,244,5,5,187,222,5,5,188,222,5,5,186,209,5,5,200,247,5,5,122,218,5,5,166,168,5,5,32,214,5,5,50,181,5,5,51,181,5,5,107,178,5,5,96,202,5,5,67,187,5,5,2,192,5,5,147,196,5,5,25,170,5,5,113,234,5,5,87,174,5,5,137,176,5,5,12,220,5,5,49,219,5,5,160,243,5,5,205,217,5,5,37,215,5,5,134,241,5,5,192,184,5,5,28,230,5,5,200,172,5,5,74,220,5,5,164,235,5,5,78,182,5,5,121,230,5,5,63,249,5,5,63,202,5,5,47,234,5,5,50,172,5,5,58,177,5,5,152,218,5,5,230,170,5,5,224,227,5,5,19,179,5,5,51,245,5,5,39,207,5,5,225,174,5,5,240,238,5,5,172,184,5,5,207,185,5,5,167,180,5,5,244,201,5,5,200,214,5,5,190,222,5,5,2,185,5,5,139,226,5,5,149,194,5,5,130,208,5,5,144,228,5,5,157,200,5,5,171,196,5,5,40,207,5,5,43,237,5,5,192,206,5,5,186,208,5,5,116,223,5,5,177,242,5,5,71,188,5,5,221,182,5,5,149,169,5,5,68,195,5,5,22,180,5,5,54,185,5,5,180,237,5,5,233,231,5,5,141,175,5,5,25,176,5,5,229,211,5,5,121,222,5,5,53,190,5,5,220,233,5,5,90,175,5,5,30,248,5,5,91,175,5,5,144,223,5,5,19,169,5,5,145,223,5,5,103,192,5,5,251,229,5,5,218,195,5,5,20,186,5,5,8,192,5,5,71,207,5,5,244,212,5,5,56,170,5,5,176,228,5,5,95,168,5,5,142,182,5,5,22,183,5,5,252,238,5,5,218,183,5,5,19,210,5,5,178,230,5,5,241,189,5,5,232,235,5,5,85,180,5,5,239,233,5,5,223,245,5,5,115,237,5,5,216,203,5,5,90,219,5,5,125,181,5,5,139,207,5,5,90,245,5,5,179,187,5,5,87,246,5,5,157,176,5,5,117,243,5,5,254,249,5,5,117,221,5,5,122,222,5,5,13,244,5,5,22,179,5,5,107,202,5,5,73,205,5,5,200,193,5,5,90,174,5,5,146,223,5,5,178,215,5,5,78,183,5,5,199,244,5,5,242,232,5,5,237,231,5,5,91,199,5,5,172,213,5,5,231,224,5,5,73,231,5,5,180,246,5,5,178,186,5,5,245,232,5,5,116,193,5,5,46,193,5,5,11,186,5,5,86,169,5,5,99,209,5,5,11,239,5,5,6,238,5,5,11,238,5,5,30,222,5,5,247,210,5,5,32,170,5,5,75,181,5,5,122,238,5,5,49,204,5,5,108,171,5,5,154,210,5,5,122,200,5,5,164,188,5,5,38,169,5,5,79,182,5,5,77,247,5,5,182,177,5,5,105,176,5,5,84,237,5,5,170,183,5,5,233,168,5,5,163,209,5,5,200,184,5,5,62,214,5,5,73,218,5,5,242,218,5,5,108,207,5,5,209,220,5,5,148,223,5,5,160,245,5,5,173,231,5,5,99,241,5,5,28,221,5,5,96,187,5,5,31,228,5,5,170,244,5,5,22,210,5,5,53,211,5,5,235,240,5,5,5,179,5,5,218,246,5,5,126,244,5,5,217,172,5,5,14,178,5,5,50,186,5,5,20,172,5,5,185,196,5,5,99,168,5,5,226,183,5,5,202,193,5,5,172,168,5,5,76,181,5,5,202,198,5,5,7,210,5,5,36,248,5,5,61,170,5,5,178,204,5,5,248,172,5,5,83,220,5,5,121,223,5,5,162,175,5,5,101,212,5,5,19,222,5,5,179,186,5,5,127,244,5,5,184,237,5,5,53,174,5,5,186,196,5,5,31,222,5,5,92,246,5,5,179,204,5,5,142,207,5,5,114,202,5,5,192,218,5,5,171,244,5,5,14,244,5,5,231,170,5,5,252,244,5,5,219,246,5,5,214,204,5,5,58,180,5,5,76,205,5,5,121,221,5,5,115,202,5,5,208,200,5,5,232,240,5,5,196,222,5,5,174,235,5,5,239,222,5,5,234,214,5,5,181,245,5,5,65,214,5,5,126,202,5,5,131,238,5,5,193,232,5,5,254,245,5,5,127,202,5,5,231,219,5,5,144,186,5,5,124,198,5,5,211,169,5,5,132,218,5,5,76,233,5,5,234,168,5,5,133,218,5,5,131,171,5,5,6,249,5,5,55,175,5,5,22,239,5,5,145,176,5,5,187,234,5,5,207,247,5,5,20,194,5,5,237,249,5,5,227,181,5,5,249,181,5,5,70,241,5,5,34,182,5,5,235,185,5,5,191,198,5,5,110,201,5,5,203,244,5,5,187,203,5,5,179,239,5,5,103,237,5,5,173,188,5,5,159,185,5,5,23,239,5,5,35,222,5,5,117,185,5,5,178,243,5,5,28,206,5,5,239,183,5,5,76,195,5,5,10,189,5,5,99,187,5,5,184,225,5,5,3,187,5,5,243,228,5,5,176,199,5,5,16,219,5,5,77,168,5,5,37,168,5,5,152,197,5,5,132,238,5,5,192,248,5,5,93,199,5,5,227,246,5,5,231,216,5,5,11,227,5,5,195,219,5,5,194,219,5,5,113,190,5,5,255,196,5,5,189,196,5,5,128,235,5,5,77,181,5,5,151,248,5,5,153,241,5,5,205,243,192,0,0,0,5,5,51,240,5,5,77,195,5,5,180,204,5,5,253,244,5,5,235,235,5,5,102,218,5,5,182,245,5,5,81,178,5,5,66,214,5,5,13,216,5,5,57,190,5,5,100,187,5,5,114,194,5,5,124,248,5,5,175,235,5,5,133,224,5,5,25,220,5,5,189,245,5,5,151,169,5,5,204,226,5,5,101,200,5,5,88,196,5,5,240,213,5,5,225,169,5,5,245,183,5,5,78,219,5,5,45,227,5,5,205,197,5,5,202,230,5,5,43,201,5,5,182,204,5,5,87,183,5,5,72,214,5,5,192,229,5,5,27,198,5,5,222,184,5,5,246,223,5,5,73,203,5,5,56,217,5,5,239,226,5,5,73,241,5,5,147,207,5,5,51,169,5,5,19,205,5,5,147,212,5,5,126,248,5,5,31,179,5,5,7,235,5,5,104,227,5,5,28,244,5,5,100,168,5,5,128,186,5,5,77,170,5,5,224,178,5,5,254,187,5,5,73,249,5,5,105,246,5,5,166,218,5,5,180,169,5,5,193,185,5,5,210,193,5,5,156,190,5,5,121,228,5,5,165,211,5,5,54,193,5,5,144,226,5,5,227,192,5,5,3,233,5,5,238,205,5,5,163,191,5,5,193,220,5,5,188,172,5,5,28,183,5,5,153,223,5,5,33,208,5,5,60,230,5,5,252,201,5,5,253,201,5,5,98,180,5,5,147,216,5,5,162,240,5,5,134,224,5,5,229,196,5,5,241,225,5,5,166,233,5,5,83,200,5,5,218,248,5,5,131,222,5,5,9,173,5,5,126,182,5,5,42,229,5,5,89,196,5,5,254,201,5,5,53,171,5,5,216,231,5,5,150,183,5,5,187,225,5,5,238,246,5,5,170,200,5,5,237,202,5,5,211,193,5,5,193,248,5,5,62,204,5,5,5,202,5,5,240,214,5,5,115,171,5,5,83,206,5,5,161,176,5,5,152,215,5,5,135,208,5,5,140,214,5,5,141,214,5,5,69,172,5,5,140,187,5,5,20,173,5,5,162,178,5,5,212,182,5,5,244,211,5,5,68,169,5,5,69,169,5,5,155,191,5,5,105,249,5,5,114,174,5,5,16,244,5,5,127,192,5,5,148,202,5,5,165,212,5,5,51,242,5,5,52,242,5,5,130,186,5,5,56,198,5,5,67,180,5,5,104,225,5,5,16,185,5,5,182,228,5,5,41,179,5,5,102,177,5,5,87,182,5,5,55,174,5,5,4,245,5,5,212,214,5,5,155,242,5,5,161,236,5,5,53,242,5,5,201,217,5,5,53,239,5,5,6,220,5,5,136,218,5,5,15,176,5,5,230,201,5,5,77,214,5,5,195,248,5,5,5,184,5,5,213,198,5,5,175,200,5,5,168,249,5,5,169,249,5,5,98,245,5,5,191,186,5,5,8,183,5,5,29,183,5,5,44,221,5,5,191,216,5,5,134,210,5,5,128,228,5,5,185,187,5,5,161,205,5,5,94,188,5,5,43,195,5,5,201,238,5,5,60,175,5,5,39,197,5,5,9,197,5,5,115,174,5,5,25,250,5,5,75,203,5,5,184,215,5,5,134,246,5,5,16,176,5,5,240,235,5,5,232,196,5,5,154,169,5,5,162,194,5,5,221,248,5,5,20,249,5,5,56,171,5,5,166,212,5,5,3,180,5,5,143,175,5,5,115,173,5,5,215,207,5,5,23,190,5,5,217,193,5,5,42,187,5,5,124,231,5,5,125,180,5,5,153,215,5,5,139,178,5,5,101,187,5,5,92,179,5,5,108,206,5,5,107,246,5,5,12,218,5,5,52,209,5,5,57,184,5,5,174,185,5,5,198,212,5,5,127,220,5,5,142,238,5,5,24,228,5,5,7,220,5,5,59,181,5,5,228,237,5,5,108,184,5,5,55,229,5,5,215,228,5,5,194,180,5,5,107,193,5,5,109,249,5,5,153,193,5,5,151,238,5,5,102,221,5,5,52,231,5,5,228,236,5,5,167,236,5,5,216,175,5,5,154,193,5,5,31,176,5,5,246,241,5,5,190,188,5,5,133,244,5,5,8,230,5,5,70,213,5,5,11,170,5,5,121,237,5,5,220,191,5,5,159,234,5,5,116,219,5,5,66,237,5,5,138,200,5,5,114,236,5,5,220,169,5,5,20,191,5,5,251,199,5,5,152,195,5,5,252,199,5,5,72,223,5,5,94,183,5,5,95,233,5,5,25,228,5,5,239,246,5,5,32,194,5,5,204,209,5,5,121,207,5,5,146,175,5,5,249,189,5,5,187,189,5,5,56,203,5,5,231,201,5,5,225,226,5,5,30,210,5,5,181,241,5,5,50,241,5,5,159,207,5,5,170,223,5,5,77,235,5,5,78,235,5,5,90,237,5,5,197,245,5,5,71,213,5,5,22,238,5,5,135,192,5,5,92,195,5,5,23,238,5,5,145,175,5,5,17,181,5,5,170,241,5,5,186,249,5,5,216,228,5,5,160,207,5,5,60,226,5,5,128,192,5,5,93,195,5,5,106,198,5,5,14,217,5,5,126,240,5,5,7,219,5,5,202,190,5,5,31,205,5,5,145,201,5,5,228,217,5,5,173,232,5,5,147,213,5,5,251,221,5,5,181,184,5,5,31,225,5,5,2,201,5,5,140,229,5,5,182,241,5,5,42,174,5,5,220,205,5,5,41,197,5,5,64,221,5,5,191,175,5,5,12,170,5,5,180,233,5,5,110,193,5,5,80,239,5,5,242,244,5,5,19,184,5,5,177,211,5,5,112,208,5,5,46,201,5,5,212,218,5,5,105,186,5,5,43,194,5,5,42,197,5,5,179,224,5,5,194,237,5,5,205,245,5,5,61,169,5,5,33,220,5,5,207,242,5,5,79,249,5,5,40,209,5,5,12,224,5,5,119,193,5,5,154,237,5,5,103,195,5,5,248,190,5,5,246,184,5,5,213,182,5,5,179,244,5,5,110,215,5,5,201,206,5,5,124,224,5,5,208,242,5,5,181,233,5,5,213,218,5,5,232,221,5,5,113,246,5,5,18,177,5,5,145,229,5,5,226,226,5,5,146,204,5,5,209,218,5,5,111,225,5,5,33,218,5,5,188,244,5,5,78,223,5,5,159,221,5,5,201,224,5,5,223,198,5,5,236,230,5,5,99,186,5,5,85,214,5,5,60,185,5,5,61,185,5,5,116,224,5,5,16,212,5,5,167,225,5,5,130,185,5,5,32,176,5,5,72,179,5,5,123,211,5,5,139,192,5,5,47,223,5,5,36,186,5,5,18,176,5,5,193,215,5,5,224,172,5,5,134,215,5,5,79,190,5,5,166,207,5,5,237,234,5,5,29,185,5,5,40,185,5,5,196,248,5,5,8,228,5,5,18,216,5,5,106,237,5,5,73,179,5,5,111,193,5,5,142,198,5,5,246,249,5,5,125,178,5,5,226,204,5,5,59,171,5,5,219,247,5,5,196,219,5,5,59,231,5,5,43,192,5,5,249,202,5,5,108,191,5,5,200,240,5,5,162,215,5,5,187,187,5,5,182,184,5,5,185,184,5,5,153,227,5,5,68,190,5,5,89,214,5,5,8,220,5,5,20,177,5,5,172,212,5,5,81,241,5,5,193,189,5,5,120,194,5,5,5,190,5,5,172,190,5,5,112,187,5,5,11,211,5,5,90,239,5,5,43,185,5,5,165,198,5,5,50,187,5,5,51,187,5,5,143,172,5,5,25,207,5,5,206,195,5,5,238,178,5,5,131,248,5,5,147,201,5,5,65,201,5,5,18,174,5,5,170,176,5,5,18,202,5,5,101,234,5,5,196,216,5,5,6,223,5,5,92,182,5,5,253,226,5,5,230,186,5,5,63,244,5,5,19,224,5,5,192,201,5,5,124,205,5,5,82,203,5,5,120,208,5,5,38,205,5,5,193,173,5,5,20,224,5,5,226,198,5,5,106,175,5,5,117,225,5,5,247,170,5,5,182,205,5,5,162,196,5,5,165,245,5,5,137,244,5,5,148,222,5,5,32,245,5,5,245,206,5,5,64,209,5,5,236,210,5,5,108,237,5,5,151,226,5,5,173,212,5,5,63,248,5,5,34,220,5,5,2,231,5,5,236,217,5,5,14,189,5,5,164,193,5,5,171,176,5,5,44,192,5,5,72,236,5,5,212,215,5,5,119,235,5,5,74,240,5,5,17,182,5,5,189,235,5,5,150,246,5,5,25,216,5,5,229,249,5,5,204,176,5,5,42,214,5,5,219,222,5,5,66,190,5,5,38,200,5,5,212,245,5,5,7,250,5,5,35,243,5,5,139,220,5,5,3,231,5,5,36,176,5,5,119,179,5,5,43,182,5,5,228,184,5,5,69,209,5,5,107,230,5,5,253,215,5,5,105,218,5,5,23,204,5,5,156,204,5,5,26,216,5,5,145,232,5,5,106,219,5,5,93,182,5,5,246,244,5,5,12,228,5,5,117,201,5,5,93,243,5,5,30,223,5,5,250,180,5,5,72,174,5,5,121,225,5,5,248,207,5,5,20,197,5,5,130,174,5,5,27,224,5,5,238,197,5,5,239,197,5,5,120,179,5,5,114,191,5,5,53,192,5,5,168,211,5,5,233,232,5,5,27,228,5,5,73,211,5,5,84,219,5,5,223,247,5,5,36,227,5,5,107,244,5,5,39,183,5,5,251,216,5,5,77,218,5,5,15,189,5,5,117,215,5,5,69,186,5,5,190,204,5,5,129,201,5,5,44,185,5,5,129,175,5,5,89,231,5,5,161,221,5,5,80,249,5,5,193,219,5,5,152,192,5,5,80,180,5,5,36,196,5,5,128,205,5,5,83,194,5,5,192,175,5,5,215,242,5,5,208,224,5,5,151,222,5,5,102,194,5,5,46,225,5,5,11,204,5,5,107,211,5,5,18,240,5,5,62,231,5,5,124,191,5,5,100,220,5,5,250,249,5,5,53,235,5,5,76,174,5,5,247,184,5,5,21,197,5,5,253,249,5,5,124,239,5,5,136,216,5,5,44,214,5,5,122,236,5,5,161,201,5,5,103,183,5,5,60,191,5,5,96,178,5,5,9,193,5,5,91,224,5,5,240,171,5,5,199,213,5,5,131,174,5,5,150,175,5,5,71,248,5,5,113,187,5,5,153,192,5,5,130,195,5,5,113,193,5,5,198,216,5,5,191,244,5,5,238,193,5,5,219,215,5,5,149,178,5,5,211,238,5,5,25,171,5,5,161,223,5,5,232,220,5,5,12,204,5,5,177,202,5,5,228,172,5,5,5,208,5,5,248,239,5,5,201,225,5,5,246,224,5,5,141,208,5,5,171,214,5,5,155,227,5,5,71,171,5,5,228,191,5,5,15,193,5,5,76,215,5,5,165,210,5,5,68,211,5,5,92,238,5,5,67,185,5,5,144,198,5,5,45,240,5,5,126,211,5,5,208,216,5,5,178,236,5,5,172,214,5,5,125,208,5,5,108,245,5,5,117,187,5,5,38,176,5,5,68,192,5,5,3,200,5,5,218,213,5,5,196,178,5,5,131,175,5,5,142,185,5,5,142,208,5,5,21,241,5,5,53,247,5,5,244,190,5,5,79,215,5,5,201,201,5,5,165,201,5,5,148,219,5,5,134,205,5,5,185,202,5,5,253,176,5,5,21,206,5,5,218,208,5,5,135,191,5,5,206,211,5,5,225,205,5,5,48,247,5,5,48,185,5,5,138,180,5,5,223,242,5,5,194,202,5,5,244,182,5,5,240,248,5,5,218,223,5,5,15,203,5,5,147,194,5,5,136,175,5,5,222,216,5,5,231,247,5,5,97,205,5,5,129,236,5,5,200,202,5,5,230,247,5,5,48,174,5,5,120,195,5,5,201,181,5,5,231,223,5,5,86,190,5,5,28,211,5,5,118,242,5,5,242,204,5,5,201,200,5,5,26,195,5,5,96,232,5,5,64,187,5,5,49,197,5,5,43,233,5,5,106,204,5,5,97,240,5,5,189,193,5,5,26,240,5,5,61,241,5,5,152,240,5,5,183,232,5,5,114,211,5,5,232,171,5,5,53,173,5,5,240,200,5,5,51,197,5,5,249,222,5,5,13,221,5,5,21,229,5,5,208,176,5,5,247,217,5,5,160,217,5,5,131,172,5,5,206,196,5,5,124,242,5,5,126,206,5,5,219,202,5,5,255,176,5,5,41,206,5,5,72,178,5,5,11,198,5,5,135,236,5,5,18,201,5,5,246,200,5,5,255,247,5,5,180,201,5,5,89,202,5,5,224,168,5,5,50,210,5,5,131,242,5,5,109,204,5,5,21,187,5,5,142,215,5,5,138,176,5,5,94,190,5,5,221,233,5,5,135,241,5,5,253,238,5,5,41,215,5,5,193,211,5,5,143,234,5,5,177,173,5,5,163,175,5,5,238,214,5,5,117,198,5,5,24,239,5,5,200,197,5,5,119,231,5,5,212,234,5,5,148,188,5,5,37,242,5,5,20,200,5,5,37,201,5,5,163,199,5,5,42,223,5,5,203,230,5,5,0,138,5,5,79,238,5,5,78,214,5,5,193,175,5,5,215,174,5,5,99,216,5,5,164,199,5,5,139,198,5,5,165,199,5,5,141,198,5,5,223,175,5,5,51,220,5,5,146,186,5,5,195,239,5,5,230,233,5,5,96,233,5,5,183,241,5,5,158,215,5,5,18,233,5,5,28,238,5,5,102,185,5,5,39,230,5,5,81,225,5,5,242,195,5,5,200,211,5,5,165,189,5,5,63,226,5,5,96,190,5,5,168,234,5,5,134,212,5,5,90,231,5,5,87,233,5,5,194,175,5,5,5,221,5,5,140,220,5,5,238,187,5,5,186,175,5,5,125,239,5,5,198,181,5,5,205,241,5,5,88,176,5,5,103,190,5,5,159,246,5,5,65,246,5,5,131,176,5,5,14,172,5,5,86,230,5,5,109,214,5,5,18,172,5,5,19,172,5,5,74,228,5,5,70,197,5,5,96,215,5,5,186,174,5,5,237,219,5,5,216,174,5,5,241,219,5,5,104,247,5,5,80,224,5,5,81,224,5,5,165,202,5,5,64,244,5,5,194,241,5,5,172,202,5,5,59,187,5,5,166,177,5,5,134,181,5,5,103,223,5,5,128,193,5,5,118,245,5,5,91,209,5,5,92,209,5,5,116,237,5,5,93,209,5,5,223,176,5,5,29,237,5,5,110,226,5,5,122,221,5,5,183,177,5,5,158,220,5,5,213,234,5,5,209,235,5,5,128,222,5,5,85,172,5,5,206,197,5,5,103,213,5,5,21,215,5,5,57,217,5,5,247,223,5,5,189,216,5,5,103,243,5,5,49,203,5,5,54,239,5,5,158,183,5,5,135,246,5,5,17,238,5,5,88,172,5,5,156,191,5,5,227,177,5,5,129,192,5,5,205,179,5,5,206,245,5,5,107,243,5,5,141,229,5,5,101,175,5,5,79,171,5,5,64,226,5,5,243,195,5,5,167,220,5,5,244,239,5,5,140,179,5,5,200,196,5,5,115,191,5,5,4,177,5,5,110,239,5,5,237,177,5,5,177,180,5,5,103,194,5,5,63,203,5,5,84,171,5,5,139,180,5,5,183,193,5,5,190,193,5,5,116,222,5,5,194,211,5,5,189,180,5,5,37,248,5,5,180,239,5,5,212,216,5,5,36,239,5,5,20,220,5,5,46,216,5,5,237,198,5,5,57,233,5,5,215,235,5,5,114,179,5,5,57,191,5,5,58,191,5,5,100,186,5,5,245,215,5,5,38,192,5,5,91,239,5,5,201,211,5,5,59,191,5,5,201,180,5,5,93,238,5,5,50,233,5,5,47,230,5,5,215,186,5,5,167,209,5,5,180,207,5,5,181,207,5,5,0,156,5,5,125,195,5,5,120,180,5,5,77,242,5,5,23,170,5,5,46,170,5,5,62,170,5,5,248,212,5,5,249,212,5,5,67,170,5,5,40,173,5,5,69,207,5,5,90,188,5,5,55,172,5,5,245,212,5,5,172,203,5,5,47,193,5,5,201,244,5,5,150,219,5,5,194,209,5,5,32,228,5,5,176,235,5,5,250,181,5,5,199,218,5,5,72,232,5,5,2,197,5,5,164,209,5,5,93,188,5,5,58,217,5,5,99,180,5,5,26,220,5,5,62,225,5,5,108,212,5,5,10,197,5,5,34,181,5,5,42,177,5,5,9,170,5,5,169,219,5,5,170,219,5,5,122,207,5,5,154,219,5,5,141,222,5,5,142,222,5,5,36,228,5,5,191,188,5,5,33,194,5,5,202,224,5,5,172,219,5,5,223,205,5,5,165,209,5,5,84,207,5,5,37,227,5,5,238,218,5,5,158,173,5,5,43,214,5,5,217,205,5,5,218,244,5,5,225,219,5,5,219,244,5,5,6,208,5,5,135,205,5,5,161,217,5,5,222,179,5,5,255,221,5,5,198,178,5,5,223,208,5,5,182,197,5,5,41,207,5,5,217,214,5,5,116,213,5,5,252,209,5,5,220,214,5,5,108,178,5,5,232,231,5,5,204,175,5,5,254,182,5,5,48,237,5,5,112,210,5,5,90,171,5,5,227,183,5,5,29,221,5,5,25,180,5,5,168,216,5,5,235,214,5,5,181,239,5,5,193,230,5,5,221,187,5,5,86,237,5,5,38,168,5,5,37,236,5,5,4,199,5,5,176,216,5,5,42,236,5,5,36,180,5,5,25,178,5,5,10,206,5,5,192,216,5,5,93,237,5,5,54,243,5,5,57,243,5,5,12,223,5,5,23,223,5,5,56,246,5,5,94,171,5,5,224,240,5,5,74,178,5,5,13,223,5,5,139,201,5,5,168,210,5,5,215,227,5,5,76,182,5,5,66,187,5,5,197,226,5,5,81,246,5,5,39,217,5,5,47,171,5,5,83,244,5,5,147,208,5,5,245,176,5,5,66,191,5,5,128,179,5,5,23,188,5,5,234,172,5,5,202,248,5,5,226,175,5,5,95,228,5,5,117,182,5,5,156,177,5,5,171,230,5,5,222,227,5,5,36,207,5,5,37,217,5,5,221,214,5,5,117,220,5,5,149,213,5,5,25,188,5,5,32,215,5,5,22,230,5,5,23,230,5,5,201,235,5,5,108,223,5,5,41,219,5,5,232,185,5,5,84,194,5,5,177,174,5,5,24,230,5,5,140,227,5,5,170,196,5,5,83,225,5,5,85,246,5,5,169,246,5,5,38,215,5,5,93,208,5,5,76,186,5,5,162,228,5,5,52,196,5,5,53,196,5,5,88,219,5,5,20,198,5,5,48,189,5,5,252,224,5,5,254,217,5,5,100,192,5,5,203,170,5,5,204,170,5,5,236,184,5,5,199,229,5,5,69,247,5,5,140,182,5,5,70,234,5,5,186,197,5,5,213,189,5,5,84,211,5,5,224,214,5,5,20,183,5,5,201,234,5,5,206,234,5,5,158,216,5,5,107,238,5,5,248,229,5,5,70,243,5,5,176,242,5,5,84,188,5,5,141,236,201,32,230,0,5,5,252,173,5,5,10,178,5,5,27,241,5,5,8,181,5,5,235,189,5,5,205,191,5,5,60,214,5,5,189,209,5,5,147,211,5,5,137,207,5,5,126,177,5,5,149,208,5,5,94,208,5,5,13,175,5,5,46,212,5,5,29,170,5,5,13,220,5,5,170,246,5,5,117,212,5,5,28,212,5,5,149,248,5,5,150,243,5,5,248,185,5,5,128,204,5,5,138,207,5,5,43,244,5,5,75,183,5,5,192,211,5,5,102,202,5,5,70,206,5,5,116,172,5,5,76,183,5,5,236,228,5,5,236,189,5,5,94,209,5,5,198,207,5,5,191,222,5,5,34,197,5,5,161,243,5,5,229,227,5,5,247,227,5,5,248,227,5,5,160,188,5,5,108,202,5,5,76,208,5,5,112,238,5,5,20,182,5,5,222,182,5,5,30,241,5,5,84,226,5,5,208,246,5,5,85,245,5,5,47,186,5,5,200,244,5,5,91,236,5,5,61,223,5,5,201,199,5,5,126,196,5,5,214,196,5,5,150,233,5,5,41,217,5,5,254,238,5,5,43,193,5,5,74,247,5,5,209,217,5,5,205,213,5,5,69,191,5,5,96,208,5,5,209,169,5,5,45,244,5,5,236,247,5,5,142,201,5,5,10,241,5,5,48,186,5,5,53,189,5,5,196,184,5,5,46,182,5,5,97,207,5,5,117,223,5,5,148,189,5,5,167,213,5,5,133,176,5,5,118,182,5,5,88,246,5,5,237,223,5,5,77,211,5,5,52,174,5,5,44,204,5,5,90,212,5,5,143,171,5,5,228,214,5,5,112,223,5,5,122,210,5,5,252,196,5,5,137,219,5,5,31,248,5,5,118,221,5,5,210,201,5,5,65,235,5,5,188,197,5,5,219,183,5,5,30,212,5,5,254,208,5,5,2,225,5,5,28,237,5,5,175,192,5,5,228,240,5,5,218,186,5,5,252,169,5,5,105,235,5,5,211,204,5,5,74,205,5,5,11,178,5,5,142,206,5,5,151,233,5,5,206,213,5,5,46,244,5,5,10,196,5,5,220,239,5,5,9,212,5,5,72,195,5,5,7,238,5,5,6,191,5,5,45,191,5,5,190,243,5,5,98,174,5,5,174,239,5,5,241,228,5,5,130,189,5,5,13,194,5,5,54,237,5,5,181,203,5,5,123,223,5,5,209,192,5,5,225,181,5,5,31,234,5,5,228,183,5,5,130,219,5,5,230,219,5,5,181,246,5,5,31,240,5,5,56,230,5,5,74,231,5,5,190,198,5,5,205,247,5,5,131,194,5,5,144,206,5,5,148,206,5,5,75,168,5,5,59,180,5,5,46,226,5,5,150,209,5,5,211,201,5,5,70,238,5,5,79,208,5,5,210,217,5,5,168,195,5,5,229,213,5,5,32,229,5,5,52,233,5,5,156,233,5,5,58,189,5,5,210,234,5,5,239,223,5,5,175,199,5,5,182,225,5,5,73,216,5,5,62,197,5,5,247,181,5,5,132,247,5,5,50,219,5,5,173,213,5,5,169,235,5,5,73,234,5,5,220,246,5,5,255,186,5,5,110,190,5,5,27,209,5,5,195,191,5,5,45,228,5,5,20,215,5,5,252,211,5,5,30,230,5,5,100,217,5,5,131,204,5,5,12,239,5,5,48,193,5,5,78,196,5,5,127,215,5,5,88,194,5,5,157,194,5,5,175,245,5,5,173,221,5,5,209,248,5,5,163,172,5,5,29,182,5,5,71,191,5,5,210,192,5,5,130,204,5,5,67,173,5,5,162,191,5,5,215,189,5,5,98,211,5,5,170,235,5,5,220,195,5,5,188,203,5,5,50,217,5,5,36,229,5,5,161,245,5,5,50,198,5,5,251,187,5,5,52,169,5,5,49,207,5,5,211,248,5,5,36,241,5,5,194,230,5,5,186,171,5,5,93,180,5,5,152,190,5,5,63,189,5,5,25,239,5,5,34,214,5,5,161,240,5,5,253,200,5,5,120,188,5,5,70,201,5,5,17,188,5,5,70,202,5,5,171,185,5,5,240,183,5,5,57,230,5,5,48,203,5,5,44,176,5,5,120,183,5,5,26,239,5,5,28,242,5,5,12,227,5,5,85,201,5,5,211,187,5,5,224,195,5,5,52,193,5,5,15,175,5,5,132,196,5,5,185,207,5,5,50,224,5,5,56,174,5,5,123,212,5,5,121,232,5,5,94,221,5,5,100,227,5,5,94,200,5,5,155,213,5,5,249,210,5,5,32,188,5,5,17,196,5,5,251,232,5,5,246,220,5,5,200,210,5,5,82,227,5,5,236,240,5,5,77,233,5,5,25,232,5,5,238,226,5,5,105,181,5,5,240,223,5,5,194,227,5,5,126,197,5,5,186,172,5,5,50,226,5,5,128,202,5,5,15,223,5,5,124,223,5,5,213,201,5,5,16,223,5,5,157,225,5,5,122,180,5,5,120,201,5,5,163,200,5,5,234,202,5,5,244,228,5,5,231,229,5,5,78,243,5,5,153,190,5,5,222,178,5,5,4,189,5,5,102,219,5,5,21,194,5,5,42,245,5,5,232,219,5,5,246,183,5,5,222,186,5,5,56,234,5,5,103,222,5,5,240,222,5,5,6,236,5,5,76,176,5,5,56,245,5,5,14,238,5,5,53,199,5,5,255,229,5,5,255,187,5,5,235,227,5,5,32,180,5,5,178,188,5,5,234,229,5,5,230,196,5,5,247,220,5,5,74,203,5,5,153,191,5,5,197,224,5,5,194,248,5,5,111,179,5,5,75,216,5,5,159,178,5,5,156,197,5,5,12,249,5,5,204,230,5,5,55,233,5,5,129,214,5,5,89,186,5,5,181,187,5,5,58,236,5,5,221,203,5,5,140,225,5,5,141,247,5,5,194,212,5,5,123,188,5,5,110,173,5,5,132,222,5,5,73,214,5,5,145,182,5,5,132,246,5,5,154,205,5,5,93,210,5,5,5,197,5,5,188,225,5,5,195,176,5,5,214,201,5,5,163,245,5,5,180,213,5,5,201,182,5,5,154,223,5,5,114,226,5,5,40,213,5,5,20,178,5,5,38,242,5,5,131,210,5,5,123,241,5,5,155,205,5,5,241,184,5,5,103,208,5,5,90,196,5,5,63,204,5,5,81,206,5,5,232,239,5,5,40,177,5,5,141,217,5,5,78,190,5,5,39,242,5,5,202,210,5,5,41,221,5,5,235,170,5,5,47,176,5,5,156,189,5,5,153,242,5,5,171,200,5,5,178,191,5,5,177,216,5,5,59,236,5,5,129,215,5,5,77,226,5,5,189,208,5,5,185,246,5,5,8,240,5,5,192,171,5,5,226,169,5,5,148,242,5,5,202,229,5,5,114,219,5,5,183,182,5,5,178,216,5,5,149,242,5,5,243,198,5,5,228,192,5,5,248,220,5,5,150,242,5,5,234,219,5,5,156,205,5,5,90,249,5,5,124,180,5,5,72,238,5,5,26,194,5,5,157,208,5,5,253,211,5,5,205,230,5,5,158,241,5,5,151,242,5,5,78,221,5,5,96,221,5,5,246,218,5,5,164,190,5,5,11,248,5,5,218,193,5,5,153,211,5,5,171,241,5,5,64,217,5,5,221,226,5,5,142,217,5,5,173,180,5,5,88,182,5,5,132,244,5,5,197,171,5,5,5,230,5,5,235,229,5,5,42,179,5,5,211,228,5,5,139,229,5,5,19,219,5,5,174,233,5,5,174,172,5,5,100,229,5,5,179,188,5,5,25,185,5,5,162,236,5,5,71,189,5,5,75,235,5,5,84,208,5,5,246,198,5,5,78,207,5,5,58,240,5,5,163,236,5,5,46,241,5,5,33,189,5,5,190,208,5,5,146,221,5,5,188,207,5,5,181,243,5,5,166,191,5,5,11,210,5,5,85,187,5,5,240,174,5,5,167,181,5,5,254,211,5,5,154,207,5,5,53,203,5,5,241,214,5,5,242,214,5,5,155,207,5,5,94,226,5,5,213,176,5,5,255,228,5,5,79,172,5,5,141,227,5,5,160,208,5,5,85,191,5,5,111,209,5,5,155,234,5,5,130,192,5,5,137,212,5,5,146,193,5,5,212,193,5,5,183,189,5,5,137,183,5,5,169,232,5,5,55,239,5,5,35,240,5,5,5,245,5,5,224,221,5,5,44,195,5,5,61,174,5,5,198,190,5,5,76,225,5,5,172,241,5,5,87,170,5,5,9,209,5,5,178,221,5,5,85,227,5,5,130,221,5,5,241,240,5,5,11,197,5,5,68,180,5,5,162,227,5,5,209,194,5,5,213,194,5,5,65,217,5,5,64,236,5,5,85,225,5,5,223,204,5,5,221,191,5,5,191,242,5,5,35,210,5,5,40,169,5,5,77,241,5,5,222,217,5,5,127,248,5,5,104,203,5,5,21,173,5,5,35,232,5,5,49,176,5,5,5,211,5,5,21,249,5,5,86,228,5,5,179,221,5,5,5,207,5,5,121,240,5,5,135,200,5,5,25,200,5,5,123,183,5,5,34,194,5,5,228,234,5,5,28,205,5,5,2,229,5,5,176,184,5,5,159,171,5,5,122,240,5,5,207,213,5,5,234,195,5,5,229,236,5,5,108,225,5,5,202,242,5,5,157,224,5,5,203,242,5,5,244,202,5,5,192,237,5,5,243,207,5,5,183,248,5,5,122,174,5,5,8,199,5,5,6,225,5,5,186,224,5,5,53,228,5,5,124,204,5,5,253,185,5,5,209,219,5,5,36,209,5,5,176,244,5,5,228,221,5,5,66,239,5,5,97,206,5,5,183,206,5,5,38,214,5,5,217,228,5,5,158,202,5,5,182,243,5,5,147,230,5,5,231,230,5,5,142,229,5,5,185,215,5,5,56,244,5,5,181,221,5,5,5,224,5,5,0,149,5,5,128,216,5,5,192,223,5,5,85,243,5,5,127,234,5,5,196,239,5,5,210,218,5,5,180,191,5,5,6,224,5,5,167,224,5,5,180,210,5,5,180,224,5,5,182,221,5,5,53,219,5,5,0,139,5,5,39,212,5,5,176,175,5,5,113,175,5,5,49,212,5,5,210,229,5,5,123,172,5,5,211,208,5,5,127,185,5,5,71,179,5,5,127,188,5,5,247,190,5,5,130,231,5,5,22,249,5,5,228,178,5,5,11,247,5,5,39,234,5,5,61,184,5,5,94,195,5,5,38,190,5,5,100,185,5,5,77,249,5,5,166,225,5,5,226,225,5,5,55,224,5,5,97,170,5,5,5,195,5,5,94,191,5,5,130,187,5,5,237,239,5,5,39,185,5,5,224,204,5,5,3,247,5,5,230,236,5,5,255,220,5,5,7,207,5,5,127,240,5,5,51,176,5,5,12,206,5,5,23,201,5,5,31,206,5,5,148,237,5,5,57,171,5,5,17,225,5,5,64,242,5,5,114,234,5,5,3,190,5,5,98,170,5,5,243,170,5,5,20,247,5,5,138,194,5,5,81,199,5,5,107,221,5,5,164,220,5,5,210,178,5,5,113,208,5,5,110,168,5,5,122,205,5,5,221,189,5,5,161,189,5,5,15,241,5,5,79,173,5,5,133,182,5,5,199,240,5,5,132,187,5,5,8,207,5,5,206,216,5,5,189,241,5,5,115,213,5,5,243,192,5,5,11,236,5,5,191,173,5,5,86,214,5,5,85,231,5,5,244,192,5,5,177,205,5,5,35,205,5,5,227,204,5,5,201,195,5,5,173,187,5,5,198,176,5,5,60,205,5,5,148,246,5,5,184,184,5,5,213,215,5,5,9,202,5,5,170,236,5,5,141,172,5,5,10,195,5,5,164,176,5,5,54,176,5,5,152,227,5,5,199,211,5,5,225,225,5,5,249,237,5,5,56,231,5,5,114,208,5,5,112,225,5,5,117,209,5,5,165,220,5,5,47,188,5,5,245,202,5,5,3,201,5,5,54,228,5,5,197,174,5,5,210,184,5,5,126,183,5,5,50,235,5,5,83,238,5,5,20,207,5,5,95,249,5,5,64,207,5,5,164,198,5,5,155,206,5,5,152,212,5,5,214,222,5,5,44,245,5,5,26,245,5,5,139,248,5,5,238,234,5,5,170,190,5,5,203,191,5,5,44,194,5,5,70,236,5,5,5,223,5,5,121,203,5,5,24,177,5,5,13,226,5,5,107,237,5,5,97,194,5,5,199,176,5,5,168,240,5,5,81,189,5,5,115,234,5,5,215,222,5,5,228,186,5,5,129,240,5,5,19,233,5,5,161,249,5,5,66,200,5,5,239,234,5,5,59,203,5,5,21,247,5,5,5,229,5,5,47,213,5,5,87,242,5,5,14,195,5,5,210,213,5,5,89,178,5,5,109,191,5,5,108,195,5,5,105,230,5,5,234,211,5,5,144,192,5,5,6,212,5,5,9,229,5,5,25,224,5,5,113,215,5,5,114,215,5,5,250,230,5,5,190,205,5,5,139,231,5,5,221,235,5,5,21,181,5,5,206,190,5,5,18,209,5,5,105,219,5,5,21,224,5,5,116,201,5,5,210,245,5,5,200,176,5,5,81,239,5,5,166,245,5,5,88,228,5,5,134,220,5,5,38,225,5,5,194,173,5,5,187,235,5,5,33,200,5,5,231,237,5,5,223,220,5,5,119,227,5,5,220,247,5,5,133,219,5,5,246,188,5,5,124,170,5,5,98,220,5,5,34,173,5,5,35,173,5,5,173,222,5,5,32,227,5,5,8,214,5,5,232,203,5,5,10,229,5,5,250,219,5,5,243,219,5,5,128,174,5,5,141,196,5,5,129,174,5,5,69,190,5,5,174,194,5,5,127,201,5,5,234,173,5,5,226,184,5,5,61,177,5,5,99,189,5,5,88,223,5,5,217,222,5,5,154,212,5,5,10,188,5,5,90,243,5,5,198,204,5,5,100,189,5,5,24,184,5,5,132,188,5,5,192,188,5,5,49,232,5,5,49,194,5,5,99,220,5,5,140,231,5,5,139,242,5,5,125,205,5,5,217,200,5,5,79,211,5,5,202,241,5,5,10,204,5,5,167,208,5,5,17,244,5,5,57,178,5,5,175,190,5,5,68,244,5,5,190,233,5,5,95,242,5,5,81,202,5,5,76,222,5,5,112,235,5,5,89,204,5,5,150,228,5,5,42,249,5,5,205,240,5,5,116,191,5,5,108,172,5,5,61,203,5,5,121,179,5,5,38,238,5,5,155,168,5,5,127,190,5,5,213,245,5,5,37,173,5,5,27,207,5,5,3,178,5,5,39,178,5,5,111,239,5,5,87,224,5,5,50,213,5,5,110,197,5,5,205,224,5,5,137,216,5,5,54,192,5,5,234,248,5,5,8,203,5,5,105,211,5,5,158,187,5,5,247,195,5,5,36,183,5,5,246,219,5,5,145,192,5,5,59,224,5,5,117,191,5,5,148,175,5,5,210,224,5,5,160,223,5,5,244,179,5,5,247,219,5,5,16,248,5,5,191,200,5,5,66,171,5,5,9,203,5,5,88,208,5,5,195,221,5,5,220,222,5,5,122,208,5,5,80,211,5,5,138,240,5,5,139,240,5,5,2,208,5,5,253,195,5,5,169,214,5,5,141,170,5,5,10,193,5,5,107,188,5,5,30,219,5,5,51,177,5,5,13,230,5,5,173,225,5,5,22,240,5,5,23,240,5,5,231,180,5,5,124,176,5,5,225,191,5,5,219,216,5,5,26,201,5,5,67,198,5,5,0,162,5,5,25,214,5,5,239,248,5,5,13,229,5,5,67,171,5,5,112,186,5,5,122,215,5,5,140,240,5,5,68,171,5,5,111,200,5,5,243,182,5,5,126,172,5,5,132,207,5,5,70,194,5,5,75,229,5,5,163,206,5,5,223,243,5,5,20,206,5,5,178,202,5,5,20,241,5,5,109,237,5,5,133,205,5,5,142,223,5,5,39,247,5,5,145,240,5,5,137,180,5,5,189,228,5,5,35,191,5,5,201,233,5,5,21,212,5,5,87,221,5,5,3,171,5,5,43,173,5,5,133,209,5,5,165,204,5,5,180,193,5,5,53,214,5,5,252,219,5,5,133,174,5,5,117,186,5,5,73,171,5,5,234,191,5,5,152,232,5,5,92,205,5,5,164,216,5,5,62,188,5,5,148,240,5,5,230,218,5,5,195,202,5,5,109,196,5,5,39,233,5,5,149,240,5,5,68,224,5,5,79,229,5,5,203,233,5,5,85,190,5,5,132,235,5,5,229,247,5,5,236,204,5,5,197,200,5,5,235,180,5,5,102,182,5,5,207,189,5,5,198,200,5,5,155,222,5,5,123,204,5,5,150,240,5,5,60,208,5,5,25,193,5,5,66,203,5,5,72,194,5,5,153,240,5,5,67,183,5,5,249,203,5,5,148,239,5,5,187,193,5,5,40,243,5,5,52,173,5,5,207,177,5,5,81,218,5,5,252,193,5,5,234,200,5,5,103,182,5,5,9,223,5,5,167,242,5,5,245,248,5,5,110,183,5,5,11,221,5,5,204,201,5,5,235,200,5,5,207,176,5,5,158,217,5,5,214,240,5,5,124,215,5,5,48,182,5,5,236,186,5,5,3,198,5,5,16,237,5,5,141,188,5,5,155,240,5,5,134,219,5,5,230,243,5,5,42,206,5,5,7,237,5,5,48,202,5,5,90,208,5,5,154,220,5,5,21,225,5,5,71,178,5,5,245,194,5,5,95,173,5,5,157,240,5,5,144,188,5,5,223,168,5,5,253,247,5,5,16,201,5,5,244,200,5,5,55,210,5,5,92,228,5,5,46,206,5,5,196,235,5,5,102,232,5,5,19,237,5,5,251,184,5,5,23,237,5,5,136,242,5,5,198,191,5,5,229,170,5,5,207,208,5,5,247,186,5,5,172,178,5,5,253,190,5,5,239,232,5,5,240,232,5,5,254,190,5,5,26,189,5,5,37,204,5,5,22,244,5,5,100,248,5,5,172,196,5,5,167,244,5,5,149,233,5,5,226,174,5,5,204,248,5,5,174,243,5,5,175,243,5,5,102,172,5,5,44,237,5,5,229,214,5,5,75,247,5,5,23,183,5,5,89,211,5,5,127,196,5,5,162,229,5,5,4,214,5,5,255,238,5,5,75,205,5,5,6,176,5,5,210,212,5,5,115,198,5,5,31,212,5,5,92,236,5,5,116,198,5,5,67,212,5,5,191,209,5,5,201,173,5,5,164,203,5,5,97,187,5,5,180,198,5,5,9,181,5,5,249,186,5,5,222,233,5,5,209,246,5,5,250,186,5,5,251,186,5,5,30,229,5,5,232,215,5,5,228,170,5,5,128,177,5,5,174,231,5,5,29,246,5,5,238,247,5,5,242,198,5,5,92,245,5,5,229,183,5,5,193,168,5,5,157,233,5,5,158,233,5,5,122,204,5,5,189,248,5,5,67,235,5,5,71,197,5,5,72,225,5,5,91,212,5,5,130,196,5,5,79,212,5,5,232,224,5,5,233,224,5,5,109,171,5,5,85,237,5,5,248,226,5,5,108,220,5,5,38,248,5,5,172,244,5,5,88,179,5,5,90,229,5,5,216,221,5,5,46,203,5,5,232,174,5,5,233,190,5,5,133,247,5,5,151,189,5,5,39,223,5,5,22,201,5,5,203,226,5,5,202,194,5,5,214,234,5,5,11,189,5,5,2,218,5,5,189,203,5,5,154,190,5,5,56,237,5,5,92,234,5,5,93,234,5,5,73,232,5,5,218,239,5,5,33,230,5,5,135,247,5,5,134,237,5,5,36,222,5,5,200,228,5,5,13,227,5,5,208,208,5,5,179,243,5,5,118,198,5,5,30,189,5,5,121,201,5,5,178,231,5,5,241,247,5,5,59,235,5,5,31,246,5,5,231,213,5,5,53,236,5,5,48,191,5,5,4,187,5,5,227,173,5,5,10,191,5,5,192,198,5,5,79,197,5,5,84,182,5,5,191,220,5,5,12,238,5,5,78,191,192,0,0,0,5,5,151,225,5,5,225,195,5,5,115,218,5,5,190,203,5,5,206,230,5,5,247,183,5,5,133,196,5,5,167,233,5,5,35,214,5,5,205,226,5,5,212,248,5,5,240,226,5,5,106,228,5,5,213,187,5,5,148,212,5,5,62,201,5,5,210,236,5,5,220,234,5,5,88,183,5,5,237,174,5,5,200,218,5,5,178,189,5,5,207,230,5,5,133,222,5,5,221,188,5,5,136,235,5,5,109,199,5,5,127,197,5,5,4,233,5,5,208,230,5,5,60,236,5,5,36,188,5,5,138,248,5,5,54,198,5,5,32,179,5,5,168,233,5,5,124,192,5,5,137,230,5,5,61,236,5,5,239,205,5,5,2,188,5,5,215,236,5,5,157,190,5,5,229,207,5,5,6,197,5,5,136,178,5,5,186,169,5,5,30,183,5,5,19,204,5,5,58,200,5,5,179,191,5,5,197,227,5,5,218,230,5,5,43,177,5,5,63,230,5,5,34,189,5,5,203,173,5,5,58,184,5,5,6,230,5,5,163,194,5,5,162,176,5,5,138,183,5,5,185,213,5,5,236,216,5,5,115,219,5,5,219,230,5,5,237,216,5,5,252,233,5,5,180,173,5,5,221,236,5,5,222,236,5,5,56,239,5,5,215,197,5,5,54,242,5,5,26,185,5,5,63,218,5,5,6,213,5,5,83,234,5,5,27,185,5,5,131,221,5,5,167,173,5,5,194,220,5,5,81,234,5,5,203,210,5,5,175,185,5,5,136,229,5,5,15,174,5,5,224,188,5,5,14,200,5,5,105,247,5,5,195,180,5,5,162,231,5,5,21,191,5,5,139,183,5,5,57,203,5,5,18,235,5,5,9,234,5,5,203,190,5,5,214,194,5,5,155,193,5,5,99,170,5,5,61,240,5,5,13,248,5,5,56,229,5,5,143,227,5,5,112,220,5,5,237,230,5,5,155,211,5,5,156,211,5,5,24,173,5,5,66,236,5,5,134,196,5,5,139,196,5,5,65,242,5,5,209,207,5,5,30,220,5,5,103,229,5,5,148,244,5,5,231,195,5,5,242,216,5,5,248,218,5,5,161,207,5,5,167,190,5,5,233,234,5,5,100,245,5,5,218,228,5,5,89,182,5,5,69,217,5,5,82,224,5,5,67,237,5,5,197,203,5,5,12,248,5,5,47,195,5,5,31,244,5,5,147,186,5,5,89,169,5,5,188,189,5,5,55,243,5,5,37,210,5,5,57,222,5,5,110,203,5,5,171,170,5,5,37,186,5,5,186,227,5,5,113,225,5,5,204,173,5,5,97,220,5,5,214,181,5,5,207,171,5,5,241,190,5,5,125,233,5,5,136,231,5,5,151,230,5,5,238,230,5,5,130,243,5,5,199,188,5,5,226,188,5,5,239,230,5,5,89,243,5,5,80,234,5,5,246,209,5,5,114,220,5,5,243,216,5,5,209,237,5,5,139,235,5,5,115,208,5,5,250,202,5,5,130,240,5,5,99,230,5,5,214,218,5,5,223,185,5,5,235,236,5,5,234,215,5,5,125,204,5,5,240,230,5,5,114,170,5,5,248,170,5,5,172,176,5,5,183,205,5,5,165,193,5,5,162,222,5,5,92,239,5,5,39,205,5,5,174,212,5,5,58,224,5,5,93,239,5,5,217,225,5,5,228,197,5,5,115,249,5,5,131,243,5,5,6,190,5,5,159,238,5,5,30,247,5,5,115,168,5,5,109,229,5,5,187,204,5,5,50,188,5,5,202,211,5,5,116,218,5,5,140,196,5,5,26,207,5,5,70,200,5,5,168,220,5,5,5,177,5,5,108,244,5,5,172,193,5,5,4,231,5,5,5,231,5,5,6,231,5,5,94,239,5,5,88,233,5,5,3,175,5,5,209,190,5,5,86,173,5,5,29,238,5,5,43,225,5,5,67,218,5,5,241,236,5,5,190,235,5,5,254,215,5,5,66,198,5,5,177,178,5,5,22,181,5,5,52,221,5,5,177,194,5,5,40,183,5,5,93,223,5,5,133,203,5,5,96,242,5,5,237,203,5,5,38,227,5,5,202,220,5,5,41,183,5,5,94,182,5,5,242,236,5,5,191,235,5,5,24,201,5,5,192,207,5,5,154,225,5,5,112,239,5,5,142,196,5,5,232,207,5,5,113,196,5,5,233,194,5,5,135,240,5,5,97,242,5,5,126,239,5,5,113,235,5,5,223,200,5,5,8,225,5,5,35,244,5,5,110,172,5,5,92,224,5,5,13,231,5,5,39,218,5,5,145,249,5,5,16,203,5,5,61,191,5,5,248,247,5,5,197,233,5,5,97,204,5,5,226,228,5,5,127,239,5,5,136,233,5,5,106,245,5,5,125,191,5,5,145,177,5,5,108,211,5,5,224,200,5,5,34,219,5,5,92,232,5,5,235,188,5,5,151,235,5,5,255,195,5,5,79,175,5,5,151,178,5,5,217,237,5,5,236,188,5,5,27,201,5,5,6,171,5,5,227,218,5,5,186,202,5,5,138,209,5,5,144,169,5,5,121,219,5,5,22,206,5,5,147,200,5,5,102,168,5,5,156,235,5,5,219,199,5,5,52,223,5,5,147,203,5,5,201,202,5,5,98,205,5,5,246,197,5,5,161,203,5,5,3,237,5,5,35,231,5,5,204,233,5,5,243,204,5,5,47,238,5,5,83,172,5,5,93,218,5,5,43,243,5,5,28,201,5,5,209,176,5,5,4,198,5,5,37,175,5,5,237,186,5,5,122,197,5,5,237,173,5,5,68,208,5,5,148,225,5,5,30,201,5,5,2,248,5,5,19,201,5,5,110,204,5,5,9,177,5,5,138,242,5,5,82,245,5,5,83,245,5,5,230,211,5,5,24,246,5,5,80,212,5,5,54,174,5,5,179,242,5,5,3,168,5,5,101,229,5,5,66,188,5,5,229,197,5,5,240,197,5,5,73,184,5,5,233,237,5,5,210,168,5,5,174,179,5,5,238,237,5,5,125,237,5,5,207,249,5,5,2,223,5,5,253,181,5,5,8,212,5,5,243,175,5,5,203,198,5,5,238,243,5,5,206,179,5,5,194,215,5,5,201,240,5,5,220,215,5,5,82,213,5,5,20,169,5,5,33,212,5,5,184,173,5,5,147,193,5,5,245,211,5,5,126,180,5,5,237,175,5,5,184,241,5,5,149,244,5,5,172,170,5,5,207,179,5,5,62,169,5,5,208,171,5,5,239,175,5,5,82,241,5,5,83,241,5,5,140,180,5,5,247,235,5,5,62,174,5,5,82,211,5,5,83,211,5,5,148,213,5,5,148,196,5,5,146,209,5,5,174,224,5,5,169,209,5,5,80,201,5,5,153,218,5,5,32,207,5,5,143,182,5,5,72,207,5,5,192,209,5,5,6,185,5,5,125,230,5,5,201,236,5,5,89,185,5,5,168,169,5,5,122,223,5,5,14,194,5,5,80,186,5,5,100,241,5,5,92,185,5,5,123,221,5,5,174,209,5,5,6,179,5,5,46,215,5,5,8,218,5,5,213,217,5,5,89,249,5,5,210,225,5,5,195,230,5,5,51,207,5,5,39,199,5,5,55,215,5,5,94,230,5,5,129,186,5,5,220,230,5,5,255,201,5,5,6,202,5,5,253,213,5,5,26,192,5,5,17,185,5,5,136,246,5,5,212,169,5,5,223,217,5,5,50,176,5,5,127,180,5,5,90,197,5,5,62,193,5,5,148,193,5,5,95,183,5,5,61,213,5,5,219,198,5,5,12,197,5,5,194,198,5,5,124,175,5,5,137,231,5,5,195,169,5,5,156,206,5,5,156,195,5,5,175,206,5,5,173,219,5,5,110,229,5,5,85,207,5,5,251,180,5,5,39,227,5,5,27,216,5,5,142,194,5,5,14,231,5,5,187,202,5,5,141,180,5,5,208,203,5,5,249,211,5,5,95,213,5,5,229,171,5,5,36,231,5,5,49,175,5,5,19,229,5,5,12,200,5,5,50,175,5,5,253,217,5,5,252,217,5,5,187,168,5,5,115,182,5,5,35,217,5,5,174,192,5,5,246,172,5,5,203,248,5,5,72,168,5,5,85,185,5,5,135,248,5,5,13,187,5,5,191,206,5,5,28,241,5,5,179,198,5,5,173,171,5,5,124,189,5,5,29,236,5,5,215,239,5,5,95,190,5,5,136,248,5,5,100,243,5,5,184,199,5,5,87,211,5,5,216,178,5,5,185,199,5,5,114,247,5,5,190,209,5,5,163,169,5,5,211,212,5,5,254,196,5,5,113,238,5,5,119,221,5,5,78,212,5,5,169,231,5,5,249,227,5,5,171,189,5,5,45,204,5,5,223,182,5,5,246,212,5,5,152,210,5,5,181,237,5,5,92,241,5,5,9,186,5,5,127,235,5,5,215,196,5,5,12,178,5,5,177,171,5,5,101,199,5,5,68,232,5,5,51,211,5,5,111,190,5,5,252,188,5,5,197,194,5,5,165,188,5,5,93,245,5,5,113,192,5,5,206,235,5,5,84,220,5,5,194,224,5,5,193,218,5,5,99,222,5,5,8,227,5,5,108,201,5,5,121,180,5,5,175,231,5,5,174,221,5,5,141,199,5,5,30,246,5,5,22,242,5,5,108,224,5,5,154,241,5,5,68,170,5,5,50,207,5,5,196,230,5,5,153,197,5,5,247,201,5,5,179,231,5,5,223,239,5,5,36,224,5,5,38,201,5,5,176,169,5,5,228,246,5,5,96,236,5,5,21,220,5,5,129,202,5,5,33,188,5,5,74,232,5,5,23,196,5,5,243,211,5,5,188,182,5,5,5,233,5,5,248,168,5,5,130,214,5,5,132,210,5,5,237,170,5,5,36,240,5,5,172,200,5,5,192,203,5,5,141,193,5,5,181,215,5,5,55,200,5,5,223,236,5,5,182,187,5,5,152,249,5,5,46,208,5,5,111,173,5,5,73,238,5,5,240,246,5,5,37,246,5,5,7,236,5,5,21,208,5,5,48,172,5,5,225,176,5,5,225,220,5,5,193,203,5,5,90,179,5,5,104,206,5,5,184,189,5,5,106,249,5,5,102,187,5,5,49,229,5,5,91,183,5,5,236,229,5,5,192,242,5,5,8,234,5,5,210,247,5,5,67,207,5,5,102,229,5,5,207,175,5,5,132,232,5,5,142,227,5,5,43,236,5,5,65,210,5,5,94,233,5,5,59,193,5,5,111,189,5,5,169,170,5,5,47,241,5,5,51,241,5,5,156,207,5,5,222,172,5,5,149,237,5,5,113,224,5,5,202,171,5,5,37,209,5,5,39,190,5,5,204,242,5,5,193,223,5,5,198,206,5,5,205,242,5,5,164,177,5,5,78,242,5,5,183,221,5,5,96,188,5,5,186,215,5,5,67,239,5,5,198,245,5,5,124,172,5,5,102,188,5,5,21,207,5,5,101,196,5,5,121,194,5,5,118,209,5,5,27,245,5,5,27,173,5,5,116,168,5,5,111,168,5,5,99,188,5,5,19,177,5,5,230,169,5,5,230,197,5,5,125,170,5,5,115,170,5,5,207,190,5,5,23,214,5,5,233,203,5,5,245,234,5,5,33,227,5,5,212,237,5,5,129,203,5,5,48,223,5,5,24,233,5,5,111,222,5,5,247,180,5,5,17,195,5,5,134,185,5,5,169,197,5,5,132,180,5,5,118,191,5,5,151,199,5,5,88,232,5,5,191,233,5,5,188,224,5,5,89,232,5,5,148,235,5,5,66,211,5,5,177,170,5,5,226,191,5,5,125,211,5,5,27,208,5,5,207,203,5,5,89,210,5,5,15,187,5,5,112,222,5,5,93,205,5,5,190,224,5,5,154,232,5,5,61,208,5,5,82,218,5,5,102,190,5,5,90,210,5,5,123,206,5,5,99,232,5,5,190,214,5,5,9,198,5,5,42,235,5,5,198,208,5,5,7,249,5,5,7,206,5,5,81,205,5,5,10,242,5,5,234,223,5,5,167,228,5,5,36,217,5,5,144,184,5,5,229,179,5,5,141,201,5,5,167,168,5,5,3,192,5,5,49,189,5,5,20,179,5,5,228,175,5,5,193,184,5,5,173,196,5,5,136,241,5,5,201,214,5,5,137,241,5,5,161,173,5,5,179,206,5,5,54,189,5,5,87,230,5,5,167,183,5,5,163,229,5,5,140,195,5,5,253,235,5,5,49,171,5,5,209,170,5,5,65,169,5,5,15,243,5,5,189,197,5,5,218,207,5,5,190,197,5,5,101,228,5,5,132,193,5,5,140,207,5,5,246,177,5,5,131,213,5,5,31,229,5,5,107,190,5,5,108,232,5,5,179,215,5,5,50,204,5,5,184,177,5,5,13,239,5,5,59,168,5,5,174,213,5,5,107,179,5,5,230,183,5,5,43,235,5,5,75,231,5,5,145,171,5,5,134,176,5,5,12,186,5,5,98,193,5,5,210,220,5,5,230,213,5,5,103,176,5,5,204,198,5,5,74,218,5,5,124,221,5,5,30,221,5,5,123,238,5,5,208,249,5,5,49,193,5,5,231,208,5,5,85,220,5,5,181,204,5,5,63,170,5,5,176,245,5,5,177,245,5,5,192,197,5,5,49,182,5,5,215,204,5,5,175,195,5,5,252,194,5,5,22,194,5,5,130,202,5,5,5,187,5,5,239,231,5,5,136,247,5,5,236,185,5,5,54,236,5,5,121,234,5,5,57,237,5,5,188,234,5,5,149,206,5,5,241,223,5,5,208,247,5,5,112,216,5,5,224,239,5,5,177,235,5,5,106,169,5,5,251,181,5,5,222,232,5,5,135,237,5,5,180,231,5,5,74,188,5,5,32,187,5,5,16,175,5,5,215,234,5,5,2,169,5,5,124,212,5,5,111,201,5,5,51,178,5,5,52,240,5,5,11,191,5,5,168,229,5,5,107,181,5,5,107,174,5,5,33,179,5,5,95,230,5,5,61,230,5,5,104,174,5,5,55,198,5,5,148,207,5,5,181,169,5,5,241,226,5,5,125,232,5,5,169,175,5,5,3,188,5,5,47,235,5,5,102,236,5,5,59,217,5,5,72,235,5,5,44,201,5,5,72,202,5,5,124,234,5,5,248,183,5,5,134,204,5,5,254,235,5,5,209,230,5,5,64,204,5,5,2,202,5,5,228,195,5,5,31,203,5,5,151,224,5,5,152,224,5,5,89,183,5,5,107,228,5,5,113,179,5,5,135,213,5,5,237,244,5,5,238,219,5,5,237,208,5,5,55,242,5,5,233,196,5,5,241,173,5,5,176,200,5,5,238,208,5,5,156,221,5,5,3,229,5,5,116,226,5,5,173,175,5,5,26,250,5,5,248,169,5,5,57,174,5,5,219,189,5,5,142,214,5,5,177,181,5,5,59,200,5,5,116,173,5,5,143,214,5,5,249,169,5,5,129,228,5,5,162,205,5,5,196,176,5,5,206,186,5,5,164,236,5,5,136,179,5,5,187,169,5,5,223,203,5,5,119,216,5,5,7,213,5,5,232,211,5,5,22,218,5,5,222,248,5,5,120,216,5,5,50,182,5,5,180,195,5,5,238,216,5,5,159,180,5,5,153,195,5,5,167,191,5,5,247,241,5,5,123,207,5,5,162,207,5,5,33,176,5,5,19,235,5,5,8,226,5,5,10,234,5,5,196,177,5,5,249,218,5,5,240,208,5,5,156,193,5,5,57,229,5,5,71,219,5,5,168,190,5,5,123,233,5,5,208,175,5,5,226,193,5,5,104,248,5,5,168,173,5,5,58,203,5,5,229,217,5,5,190,231,5,5,196,180,5,5,245,242,5,5,8,236,5,5,86,210,5,5,189,189,5,5,62,240,5,5,185,241,5,5,204,190,5,5,93,219,5,5,240,219,5,5,147,204,5,5,189,221,5,5,215,218,5,5,158,224,5,5,155,237,5,5,143,229,5,5,100,230,5,5,207,245,5,5,239,195,5,5,132,240,5,5,185,206,5,5,168,225,5,5,150,204,5,5,114,225,5,5,166,202,5,5,47,201,5,5,43,187,5,5,9,246,5,5,195,215,5,5,73,177,5,5,223,197,5,5,86,245,5,5,156,237,5,5,14,168,5,5,60,171,5,5,145,222,5,5,141,173,5,5,71,200,5,5,85,248,5,5,173,176,5,5,207,195,5,5,89,238,5,5,25,177,5,5,174,176,5,5,161,214,5,5,19,202,5,5,63,196,5,5,160,224,5,5,76,217,5,5,52,235,5,5,117,168,5,5,35,203,5,5,224,207,5,5,33,245,5,5,245,239,5,5,30,238,5,5,75,240,5,5,115,229,5,5,196,205,5,5,69,230,5,5,178,178,5,5,128,234,5,5,109,244,5,5,192,235,5,5,148,217,5,5,97,178,5,5,238,203,5,5,134,203,5,5,252,216,5,5,28,224,5,5,210,190,5,5,53,187,5,5,24,214,5,5,66,196,5,5,95,182,5,5,244,195,5,5,157,204,5,5,55,192,5,5,119,191,5,5,67,196,5,5,24,168,5,5,146,170,5,5,111,172,5,5,152,217,5,5,18,244,5,5,58,178,5,5,236,194,5,5,143,187,5,5,69,225,5,5,126,191,5,5,130,190,5,5,251,219,5,5,93,224,5,5,105,226,5,5,151,175,5,5,206,241,5,5,2,196,5,5,94,205,5,5,72,171,5,5,163,222,5,5,206,229,5,5,236,249,5,5,229,200,5,5,98,231,5,5,51,249,5,5,54,235,5,5,75,219,5,5,14,230,5,5,186,184,5,5,166,201,5,5,142,180,5,5,196,202,5,5,54,247,5,5,3,219,5,5,42,202,5,5,225,243,5,5,254,216,5,5,70,226,5,5,62,187,5,5,67,224,5,5,150,200,5,5,244,204,5,5,99,205,5,5,202,202,5,5,228,243,5,5,29,201,5,5,98,240,5,5,66,208,5,5,184,232,5,5,3,217,5,5,238,186,5,5,154,178,5,5,232,243,5,5,141,190,5,5,141,186,5,5,178,171,5,5,187,179,5,5,187,171,5,5,248,189,5,5,141,246,5,5,100,213,5,5,45,169,5,5,85,218,5,5,223,202,5,5,59,228,192,0,0,0,5,5,189,232,5,5,39,215,5,5,21,169,5,5,135,212,5,5,164,182,5,5,247,177,5,5,224,229,5,5,195,211,192,0,0,0,192,0,0,0,5,5,72,228,5,5,172,189,5,5,51,204,5,5,124,238,5,5,177,213,5,5,110,176,5,5,236,168,5,5,128,197,5,5,134,173,5,5,153,174,192,0,0,0,5,5,85,178,5,5,22,208,5,5,30,172,5,5,156,248,5,5,186,213,5,5,173,170,5,5,188,247,5,5,199,245,192,0,0,0,5,5,114,176,5,5,68,240,5,5,247,214,5,5,43,232,5,5,55,205,5,5,59,179,5,5,203,211,5,5,246,207,5,5,86,248,5,5,2,170,5,5,24,204,5,5,118,244,5,5,108,230,5,5,52,213,5,5,238,177,5,5,226,229,5,5,86,240,5,5,181,236,5,5,187,184,5,5,175,177,5,5,62,221,5,5,91,226,5,5,92,226,5,5,7,188,5,5,136,173,5,5,111,221,5,5,185,216,5,5,35,221,5,5,71,173,5,5,72,173,5,5,79,219,5,5,132,221,5,5,223,223,5,5,50,221,5,5,255,240,5,5,231,222,5,5,142,205,5,5,41,184,5,5,225,240,5,5,244,169,5,5,135,183,5,5,57,211,5,5,82,226,5,5,26,241,5,5,96,193,5,5,15,221,5,5,144,244,5,5,100,179,5,5,204,183,5,5,17,210,5,5,65,179,5,5,152,213,5,5,200,226,5,5,54,190,5,5,234,226,5,5,247,245,5,5,176,243,5,5,238,207,5,5,57,170,5,5,58,170,5,5,194,204,5,5,165,235,5,5,129,204,5,5,162,173,5,5,175,209,5,5,74,243,5,5,122,182,5,5,231,183,5,5,170,185,5,5,86,226,5,5,141,195,5,5,142,195,5,5,255,217,5,5,91,229,5,5,232,183,5,5,87,226,5,5,176,209,5,5,28,181,5,5,35,212,5,5,89,194,5,5,47,228,5,5,131,177,5,5,24,210,5,5,132,204,5,5,218,169,5,5,228,245,5,5,167,175,5,5,178,209,5,5,179,209,5,5,166,172,5,5,90,226,5,5,157,184,5,5,69,170,5,5,134,177,5,5,241,246,5,5,57,206,5,5,131,214,5,5,58,206,5,5,4,212,5,5,74,238,5,5,56,182,5,5,59,190,5,5,227,220,5,5,173,241,5,5,181,209,5,5,57,198,5,5,37,239,5,5,135,204,5,5,228,220,5,5,197,179,5,5,61,175,5,5,61,190,5,5,55,178,5,5,158,248,5,5,32,192,5,5,131,228,5,5,93,194,5,5,124,174,5,5,170,173,5,5,216,227,5,5,159,201,5,5,45,192,5,5,212,172,5,5,158,204,5,5,214,179,5,5,160,227,5,5,27,204,5,5,106,194,5,5,108,194,5,5,81,175,5,5,53,213,5,5,219,179,5,5,221,179,5,5,26,213,5,5,69,195,5,5,15,178,5,5,137,222,5,5,138,222,5,5,22,247,5,5,157,238,5,5,97,210,5,5,253,209,5,5,230,179,5,5,30,170,5,5,28,195,5,5,115,203,5,5,7,185,5,5,90,185,5,5,184,196,5,5,164,247,5,5,214,231,5,5,118,220,5,5,141,234,5,5,158,211,5,5,109,202,5,5,49,237,5,5,38,174,5,5,34,241,5,5,173,168,5,5,143,195,5,5,193,197,5,5,114,214,5,5,157,231,5,5,30,177,5,5,64,170,5,5,14,239,5,5,116,202,5,5,150,249,5,5,234,175,5,5,80,183,5,5,40,248,5,5,92,212,5,5,250,212,5,5,202,184,5,5,208,198,5,5,93,176,5,5,91,235,5,5,100,246,5,5,250,177,5,5,229,245,5,5,30,182,5,5,186,246,5,5,220,225,5,5,219,196,5,5,118,192,5,5,231,182,5,5,220,196,5,5,87,220,5,5,53,193,5,5,44,235,5,5,174,244,5,5,132,171,5,5,250,210,5,5,70,246,5,5,189,240,5,5,84,196,5,5,219,217,5,5,221,225,5,5,250,226,5,5,138,238,5,5,32,195,5,5,43,229,5,5,51,191,5,5,13,225,5,5,87,237,5,5,238,174,5,5,242,246,5,5,248,188,5,5,18,236,5,5,206,207,5,5,102,180,5,5,95,196,5,5,7,233,5,5,50,227,5,5,86,227,5,5,55,207,5,5,31,213,5,5,8,233,5,5,37,224,5,5,182,183,5,5,149,202,5,5,4,247,5,5,82,177,5,5,43,181,5,5,140,230,5,5,28,220,5,5,87,201,5,5,105,222,5,5,165,190,5,5,36,232,5,5,68,239,5,5,241,169,5,5,58,245,5,5,207,186,5,5,32,225,5,5,237,182,5,5,173,206,5,5,225,203,5,5,162,174,5,5,236,192,5,5,119,226,5,5,45,168,5,5,244,174,5,5,100,170,5,5,101,170,5,5,241,208,5,5,133,186,5,5,211,180,5,5,96,181,5,5,58,229,5,5,125,241,5,5,45,177,5,5,20,236,5,5,246,247,5,5,229,176,5,5,228,177,5,5,103,221,5,5,107,247,5,5,250,174,5,5,79,242,5,5,113,189,5,5,97,183,5,5,139,200,5,5,69,237,5,5,19,174,5,5,111,227,5,5,248,241,5,5,155,187,5,5,171,229,5,5,171,190,5,5,114,199,5,5,112,193,5,5,201,239,5,5,82,239,5,5,61,205,5,5,224,219,5,5,231,197,5,5,255,174,5,5,251,230,5,5,195,186,5,5,95,239,5,5,146,229,5,5,146,192,5,5,240,175,5,5,9,169,5,5,100,191,5,5,151,204,5,5,4,173,5,5,109,222,5,5,161,211,5,5,74,179,5,5,159,177,5,5,44,171,5,5,18,225,5,5,64,245,5,5,250,170,5,5,109,221,5,5,237,176,5,5,137,206,5,5,113,239,5,5,156,249,5,5,47,175,5,5,65,245,5,5,198,244,5,5,221,223,5,5,248,219,5,5,16,218,5,5,169,179,5,5,63,205,5,5,64,205,5,5,126,209,5,5,138,216,5,5,19,240,5,5,169,240,5,5,215,190,5,5,32,184,5,5,136,203,5,5,229,204,5,5,28,216,5,5,160,204,5,5,94,201,5,5,56,232,5,5,241,182,5,5,239,177,5,5,40,240,5,5,233,188,5,5,0,154,5,5,13,169,5,5,57,232,5,5,196,186,5,5,118,187,5,5,119,211,5,5,110,242,5,5,17,229,5,5,134,239,5,5,209,240,5,5,37,213,5,5,199,201,5,5,179,202,5,5,177,222,5,5,44,178,5,5,13,204,5,5,123,179,5,5,14,204,5,5,195,200,5,5,45,171,5,5,20,193,5,5,170,174,5,5,99,237,5,5,62,235,5,5,52,195,5,5,55,246,5,5,134,207,5,5,209,202,5,5,242,191,5,5,202,200,5,5,78,192,5,5,80,179,5,5,63,235,5,5,175,240,5,5,27,240,5,5,164,217,5,5,218,240,5,5,22,225,5,5,84,179,5,5,141,206,5,5,49,206,5,5,50,206,5,5,140,171,5,5,144,171,5,5,78,187,5,5,194,168,5,5,21,182,5,5,173,178,5,5,22,182,5,5,230,168,5,5,231,168,5,5,61,216,5,5,104,192,5,5,23,244,5,5,24,244,5,5,103,207,5,5,168,178,5,5,224,211,5,5,29,195,5,5,187,190,5,5,28,187,5,5,135,176,5,5,53,204,5,5,32,185,5,5,101,209,5,5,114,192,5,5,204,194,5,5,195,212,5,5,36,185,5,5,0,147,5,5,109,181,5,5,125,188,5,5,40,188,5,5,88,170,5,5,130,228,5,5,64,175,5,5,155,215,5,5,232,230,5,5,0,153,5,5,65,233,5,5,133,188,5,5,250,190,5,5,134,188,5,5,69,244,5,5,27,177,5,5,136,188,5,5,69,233,5,5,32,238,5,5,216,213,5,5,138,188,5,5,238,194,5,5,26,168,5,5,21,234,5,5,252,190,5,5,203,202,5,5,108,213,5,5,213,188,5,5,23,195,5,5,240,212,5,5,217,184,5,5,93,212,5,5,182,247,5,5,28,198,5,5,66,217,5,5,59,177,5,5,29,218,5,5,136,244,5,5,106,186,5,5,32,198,5,5,33,198,5,5,191,247,5,5,139,244,5,5,113,186,5,5,81,245,5,5,143,180,5,5,249,208,5,5,202,214,5,5,110,240,5,5,139,241,5,5,150,169,5,5,74,245,5,5,78,247,5,5,136,212,5,5,166,188,5,5,113,240,5,5,174,188,5,5,27,239,5,5,149,171,5,5,115,228,5,5,175,188,5,5,96,168,5,5,234,244,5,5,100,236,5,5,138,193,5,5,180,188,5,5,124,241,5,5,229,199,5,5,127,182,5,5,174,184,5,5,137,178,5,5,10,212,5,5,59,184,5,5,67,217,5,5,151,221,5,5,140,178,5,5,168,205,5,5,239,244,5,5,244,207,5,5,20,202,5,5,202,195,5,5,240,234,5,5,162,193,5,5,17,212,5,5,231,186,5,5,52,168,5,5,87,205,5,5,197,234,5,5,154,247,5,5,98,178,5,5,55,168,5,5,118,186,5,5,204,202,5,5,187,209,5,5,231,179,5,5,237,184,5,5,142,234,5,5,42,207,5,5,195,228,5,5,124,246,5,5,230,214,5,5,230,242,5,5,88,226,5,5,161,232,5,5,2,181,5,5,223,233,5,5,117,231,5,5,34,212,5,5,81,183,5,5,10,181,5,5,232,208,5,5,28,209,5,5,143,221,5,5,32,222,5,5,75,243,5,5,152,208,5,5,3,212,5,5,165,182,5,5,187,208,5,5,218,177,5,5,143,207,5,5,109,207,5,5,148,198,5,5,114,232,5,5,65,199,5,5,37,222,5,5,31,237,5,5,32,246,5,5,185,237,5,5,36,221,5,5,212,191,5,5,157,177,5,5,230,245,5,5,205,199,5,5,221,196,5,5,95,221,5,5,133,238,5,5,144,221,5,5,203,207,5,5,102,209,5,5,41,248,5,5,183,245,5,5,184,245,5,5,131,208,5,5,38,222,5,5,145,242,5,5,188,179,5,5,175,210,5,5,91,249,5,5,92,249,5,5,202,173,5,5,158,244,5,5,69,235,5,5,111,171,5,5,81,208,5,5,217,204,5,5,53,224,5,5,16,227,5,5,39,208,5,5,224,179,5,5,34,179,5,5,100,210,5,5,32,209,5,5,73,235,5,5,154,174,5,5,207,199,5,5,157,197,5,5,151,209,5,5,2,246,5,5,170,226,5,5,58,237,5,5,153,236,5,5,108,209,5,5,121,247,5,5,103,209,5,5,170,245,5,5,38,246,5,5,157,207,5,5,135,224,5,5,221,220,5,5,41,188,5,5,166,190,5,5,43,179,5,5,142,174,5,5,83,177,5,5,159,197,5,5,110,181,5,5,6,207,5,5,128,232,5,5,221,230,5,5,95,200,5,5,187,200,5,5,219,193,5,5,113,220,5,5,120,226,5,5,141,187,5,5,132,228,5,5,240,201,5,5,58,222,5,5,244,216,5,5,198,203,5,5,9,236,5,5,30,196,5,5,46,246,5,5,10,202,5,5,188,200,5,5,83,224,5,5,163,197,5,5,21,223,5,5,56,224,5,5,117,180,5,5,102,170,5,5,45,213,5,5,205,209,5,5,158,191,5,5,181,210,5,5,169,205,5,5,69,239,5,5,95,195,5,5,63,172,5,5,167,247,5,5,190,241,5,5,159,191,5,5,199,206,5,5,217,231,5,5,43,234,5,5,25,191,5,5,142,187,5,5,183,243,5,5,64,176,5,5,157,193,5,5,210,207,5,5,161,180,5,5,114,189,5,5,21,235,5,5,129,226,5,5,254,199,5,5,41,185,5,5,95,219,5,5,124,207,5,5,241,234,5,5,39,182,5,5,11,230,5,5,180,208,5,5,94,175,5,5,29,200,5,5,40,208,5,5,221,229,5,5,84,199,5,5,92,178,5,5,244,173,5,5,227,198,5,5,213,223,5,5,164,231,5,5,247,216,5,5,127,209,5,5,43,209,5,5,246,206,5,5,22,223,5,5,70,244,5,5,66,245,5,5,114,239,5,5,141,179,5,5,69,199,5,5,128,209,5,5,31,223,5,5,178,176,5,5,22,205,5,5,165,174,5,5,247,206,5,5,104,213,5,5,73,174,5,5,54,187,5,5,249,207,5,5,152,228,5,5,100,219,5,5,120,213,5,5,15,231,5,5,29,216,5,5,26,214,5,5,18,248,5,5,193,178,5,5,85,221,5,5,32,223,5,5,170,203,5,5,236,173,5,5,58,232,5,5,152,198,5,5,33,238,5,5,250,234,5,5,41,227,5,5,158,209,5,5,241,203,5,5,114,187,5,5,64,194,5,5,44,238,5,5,27,168,5,5,131,191,5,5,220,244,5,5,244,193,5,5,119,186,5,5,109,245,5,5,154,217,5,5,175,207,5,5,96,175,5,5,226,219,5,5,74,211,5,5,153,235,5,5,220,237,5,5,230,191,5,5,7,208,5,5,143,208,5,5,142,213,5,5,144,208,5,5,202,201,5,5,220,199,5,5,253,197,5,5,35,235,5,5,145,208,5,5,243,191,5,5,101,205,5,5,13,208,5,5,245,204,5,5,239,186,5,5,13,207,5,5,101,231,5,5,190,175,5,5,149,225,5,5,155,198,5,5,22,248,5,5,70,207,5,5,169,195,5,5,176,195,5,5,56,242,5,5,44,223,5,5,57,244,5,5,12,198,5,5,241,221,5,5,186,238,5,5,71,221,5,5,89,246,5,5,107,189,5,5,73,221,5,5,159,240,5,5,36,197,5,5,142,247,5,5,205,194,5,5,84,177,5,5,188,180,5,5,0,159,5,5,237,194,5,5,110,244,5,5,4,243,5,5,220,168,5,5,203,221,5,5,250,179,5,5,225,214,5,5,6,192,5,5,64,249,5,5,197,184,5,5,126,230,5,5,119,245,5,5,89,199,5,5,8,185,5,5,112,231,5,5,80,182,5,5,202,199,5,5,78,178,5,5,180,206,5,5,18,220,5,5,219,177,5,5,194,197,5,5,117,202,5,5,171,183,5,5,233,208,5,5,126,181,5,5,209,191,5,5,158,198,5,5,182,246,5,5,233,214,5,5,134,198,5,5,144,195,5,5,50,171,5,5,142,181,5,5,35,236,5,5,212,212,5,5,120,245,5,5,97,236,5,5,74,224,5,5,80,248,5,5,215,173,5,5,11,181,5,5,63,228,5,5,206,236,5,5,170,195,5,5,82,183,5,5,35,182,5,5,104,209,5,5,159,244,5,5,222,196,5,5,29,242,5,5,209,198,5,5,252,227,5,5,253,227,5,5,7,179,5,5,195,244,5,5,185,245,5,5,151,181,5,5,241,183,5,5,180,209,5,5,42,248,5,5,129,200,5,5,166,170,5,5,138,211,5,5,156,213,5,5,146,212,5,5,54,204,5,5,94,212,5,5,144,201,5,5,232,213,5,5,150,171,5,5,233,213,5,5,37,221,5,5,162,243,5,5,4,168,5,5,131,202,5,5,218,204,5,5,14,227,5,5,3,241,5,5,132,202,5,5,206,199,5,5,142,175,5,5,38,199,5,5,220,217,5,5,211,247,5,5,177,199,5,5,36,187,5,5,158,181,5,5,63,210,5,5,22,215,5,5,157,205,5,5,44,229,5,5,5,168,5,5,154,185,5,5,126,232,5,5,36,234,5,5,103,236,5,5,66,180,5,5,149,212,5,5,210,230,5,5,112,201,5,5,67,189,5,5,43,223,5,5,182,231,5,5,237,215,5,5,223,216,5,5,248,228,5,5,14,216,5,5,38,239,5,5,40,199,5,5,9,233,5,5,24,218,5,5,98,173,5,5,48,201,5,5,35,189,5,5,174,241,5,5,10,233,5,5,186,231,5,5,61,207,5,5,150,206,5,5,242,240,5,5,218,173,5,5,230,173,5,5,7,230,5,5,136,204,5,5,178,240,5,5,52,207,5,5,25,218,5,5,224,236,5,5,29,220,5,5,85,200,5,5,57,242,5,5,241,174,5,5,24,190,5,5,118,205,5,5,28,174,5,5,220,193,5,5,160,211,5,5,157,223,5,5,223,248,5,5,42,199,5,5,168,212,5,5,67,236,5,5,159,248,5,5,54,199,5,5,108,174,5,5,147,214,5,5,153,249,5,5,213,216,5,5,226,203,5,5,31,198,5,5,160,171,5,5,5,180,5,5,242,208,5,5,138,179,5,5,158,193,5,5,225,188,5,5,170,205,5,5,11,168,5,5,84,224,5,5,30,218,5,5,232,201,5,5,155,169,5,5,238,239,5,5,226,180,5,5,97,230,5,5,148,214,5,5,93,206,5,5,133,228,5,5,94,179,5,5,68,210,5,5,191,169,5,5,244,214,5,5,29,174,5,5,72,219,5,5,116,236,5,5,209,179,5,5,7,180,5,5,128,180,5,5,6,228,5,5,104,195,5,5,64,240,5,5,193,170,5,5,10,199,5,5,116,170,5,5,105,229,5,5,49,223,5,5,208,245,5,5,198,180,5,5,193,231,5,5,90,178,5,5,10,226,5,5,88,210,5,5,199,212,5,5,234,193,5,5,54,179,5,5,79,225,5,5,227,172,5,5,100,226,5,5,248,214,5,5,19,181,5,5,98,183,5,5,80,235,5,5,36,218,5,5,37,218,5,5,186,206,5,5,225,185,5,5,209,210,5,5,22,224,5,5,115,181,5,5,116,176,5,5,152,204,5,5,89,223,5,5,118,225,5,5,76,169,5,5,42,190,5,5,228,212,5,5,64,229,5,5,199,219,5,5,193,201,5,5,75,177,5,5,102,226,5,5,195,231,5,5,252,230,5,5,3,203,5,5,18,212,5,5,11,229,5,5,110,243,5,5,212,180,5,5,139,245,5,5,228,198,5,5,131,200,5,5,87,248,5,5,162,237,5,5,135,187,5,5,90,248,5,5,38,173,5,5,253,214,5,5,118,168,5,5,155,212,5,5,199,204,5,5,129,205,5,5,153,198,5,5,249,175,5,5,32,174,5,5,16,240,5,5,195,201,5,5,251,170,5,5,254,214,5,5,70,209,5,5,255,214,5,5,21,177,5,5,121,249,5,5,217,216,5,5,86,176,5,5,89,206,5,5,62,192,5,5,142,220,5,5,95,201,5,5,149,217,5,5,111,244,5,5,194,178,5,5,65,194,5,5,146,231,5,5,242,203,5,5,12,180,5,5,47,225,5,5,216,190,5,5,20,212,5,5,167,243,5,5,2,216,5,5,212,178,5,5,180,202,5,5,66,194,5,5,179,194,5,5,16,231,5,5,46,245,5,5,30,216,5,5,252,180,5,5,245,193,5,5,106,242,5,5,169,248,5,5,207,188,5,5,14,199,5,5,72,244,5,5,163,201,5,5,116,195,5,5,152,175,5,5,48,238,5,5,41,218,5,5,99,178,5,5,212,238,5,5,107,194,5,5,237,212,5,5,238,212,5,5,111,242,5,5,127,213,5,5,200,181,5,5,29,168,5,5,234,198,5,5,184,193,5,5,112,242,5,5,76,219,5,5,8,208,5,5,96,212,5,5,127,176,5,5,224,171,5,5,100,237,5,5,205,206,5,5,43,172,5,5,60,232,5,5,221,199,5,5,168,201,5,5,203,201,5,5,58,247,5,5,197,202,5,5,205,202,5,5,104,182,5,5,44,218,5,5,97,212,5,5,99,240,5,5,210,202,5,5,246,204,5,5,247,204,5,5,140,209,5,5,234,171,5,5,250,222,5,5,240,186,5,5,241,200,5,5,44,172,5,5,136,236,5,5,7,222,5,5,2,222,5,5,62,202,5,5,180,218,5,5,242,220,5,5,13,243,5,5,113,223,5,5,98,214,5,5,175,224,5,5,193,206,5,5,152,233,5,5,117,237,5,5,234,231,5,5,110,214,5,5,111,214,5,5,175,246,5,5,233,169,5,5,222,180,5,5,115,247,5,5,160,218,5,5,68,238,5,5,217,221,5,5,101,241,5,5,221,246,5,5,143,226,5,5,233,183,5,5,86,184,5,5,99,208,5,5,209,249,5,5,93,246,5,5,40,224,5,5,201,207,5,5,40,250,5,5,101,217,5,5,243,189,5,5,39,248,5,5,63,221,5,5,75,224,5,5,106,176,5,5,250,172,5,5,43,208,5,5,240,205,5,5,235,241,5,5,194,232,5,5,62,230,5,5,136,226,5,5,110,213,5,5,43,248,5,5,82,187,5,5,181,231,5,5,101,246,5,5,229,192,5,5,75,185,5,5,186,245,5,5,76,185,5,5,17,223,5,5,229,195,5,5,97,221,5,5,158,184,5,5,84,200,5,5,35,179,5,5,119,178,5,5,216,191,5,5,191,225,5,5,144,214,5,5,131,186,5,5,225,186,5,5,242,249,5,5,75,204,5,5,164,205,5,5,116,171,5,5,235,195,5,5,120,178,5,5,137,246,5,5,163,205,5,5,22,173,5,5,89,170,5,5,154,245,5,5,22,191,5,5,78,241,5,5,131,231,5,5,197,239,5,5,28,249,5,5,222,191,5,5,200,245,5,5,9,184,5,5,246,242,5,5,66,230,5,5,82,232,5,5,68,237,5,5,110,246,5,5,81,238,5,5,163,207,5,5,73,223,5,5,47,179,5,5,192,169,5,5,229,248,5,5,209,245,5,5,251,240,5,5,245,192,5,5,79,185,5,5,115,225,5,5,79,223,5,5,202,206,5,5,203,224,5,5,112,184,5,5,23,235,5,5,162,214,5,5,107,242,5,5,91,231,5,5,56,192,5,5,138,223,5,5,39,173,5,5,40,178,5,5,115,187,5,5,94,224,5,5,82,202,5,5,109,211,5,5,58,208,5,5,132,178,5,5,188,202,5,5,84,218,5,5,44,243,5,5,34,226,5,5,233,243,5,5,226,201,5,5,241,218,5,5,231,241,5,5,146,241,5,5,248,201,5,5,169,233,5,5,121,216,5,5,153,188,5,5,77,227,5,5,118,234,5,5,59,223,5,5,124,218,5,5,78,227,5,5,65,249,5,5,215,172,5,5,218,184,5,5,2,239,5,5,235,231,5,5,104,171,5,5,191,210,5,5,9,217,5,5,10,217,5,5,98,247,5,5,57,183,5,5,116,188,5,5,76,243,5,5,205,198,5,5,188,208,5,5,94,246,5,5,14,196,5,5,33,170,5,5,95,246,5,5,23,242,5,5,101,208,5,5,107,199,5,5,39,169,5,5,214,212,5,5,126,210,5,5,133,202,5,5,37,241,5,5,187,249,5,5,215,212,5,5,188,171,5,5,55,204,5,5,105,209,5,5,144,174,5,5,193,210,5,5,113,216,5,5,32,237,5,5,22,250,5,5,229,246,5,5,102,246,5,5,157,222,5,5,72,197,5,5,68,249,5,5,196,191,5,5,16,192,5,5,58,174,5,5,17,227,5,5,243,246,5,5,197,191,5,5,181,188,5,5,184,239,5,5,13,249,5,5,244,246,5,5,33,195,5,5,135,218,5,5,172,180,5,5,139,238,5,5,212,247,5,5,82,191,5,5,100,211,5,5,102,184,5,5,222,230,5,5,56,185,5,5,49,201,5,5,183,183,5,5,216,235,5,5,18,223,5,5,241,205,5,5,86,200,5,5,224,184,5,5,27,196,5,5,2,226,5,5,116,174,5,5,107,227,5,5,195,220,5,5,19,223,5,5,46,236,5,5,94,206,5,5,171,205,5,5,134,186,5,5,27,250,5,5,137,218,5,5,186,248,5,5,73,169,5,5,249,168,5,5,33,192,5,5,111,246,5,5,12,247,5,5,89,200,5,5,233,201,5,5,169,212,5,5,220,198,5,5,117,171,5,5,65,175,5,5,243,249,5,5,66,242,5,5,225,223,5,5,60,206,5,5,174,232,5,5,84,238,5,5,138,231,5,5,194,170,5,5,246,192,5,5,20,184,5,5,48,213,5,5,178,211,5,5,48,195,5,5,108,247,5,5,112,249,5,5,193,234,5,5,67,174,5,5,142,178,5,5,194,229,5,5,50,232,5,5,35,249,5,5,88,242,5,5,253,192,5,5,246,234,5,5,239,245,5,5,31,247,5,5,146,178,5,5,121,193,5,5,46,192,5,5,62,185,5,5,63,185,5,5,108,186,5,5,216,218,5,5,88,224,5,5,239,218,5,5,5,193,5,5,166,198,5,5,211,209,5,5,98,172,5,5,172,207,5,5,49,247,5,5,247,192,5,5,191,205,5,5,227,223,5,5,57,192,5,5,170,240,5,5,195,229,5,5,20,217,5,5,249,219,5,5,230,188,5,5,115,239,5,5,217,190,5,5,85,216,5,5,187,192,5,5,95,224,5,5,32,233,5,5,27,214,5,5,180,194,5,5,197,248,5,5,110,247,5,5,255,249,5,5,254,205,5,5,96,224,5,5,111,211,5,5,253,219,5,5,132,191,5,5,78,218,5,5,185,211,5,5,113,242,5,5,128,213,5,5,21,193,5,5,175,227,5,5,196,229,5,5,79,174,5,5,231,191,5,5,222,199,5,5,2,206,5,5,10,171,5,5,255,219,5,5,86,218,5,5,198,248,5,5,56,202,5,5,2,177,5,5,98,235,5,5,42,228,5,5,149,196,5,5,228,216,5,5,179,230,5,5,229,216,5,5,48,199,5,5,118,241,5,5,31,221,5,5,56,196,5,5,200,237,5,5,205,175,5,5,176,248,5,5,80,227,5,5,81,201,5,5,70,216,5,5,192,244,5,5,186,237,5,5,188,170,5,5,96,169,5,5,187,237,5,5,112,171,5,5,48,228,5,5,242,247,5,5,253,194,5,5,45,216,5,5,155,179,5,5,35,230,5,5,37,187,5,5,136,237,5,5,245,246,5,5,235,175,5,5,205,237,5,5,165,226,5,5,4,195,5,5,236,175,5,5,135,196,5,5,11,233,5,5,109,174,5,5,79,199,5,5,3,177,5,5,238,229,5,5,29,178,5,5,98,199,5,5,221,198,5,5,224,248,5,5,160,234,5,5,226,223,5,5,193,186,5,5,230,199,5,5,104,180,5,5,251,248,5,5,140,235,5,5,239,229,5,5,55,228,5,5,47,236,5,5,191,241,5,5,99,197,5,5,248,216,5,5,163,237,5,5,164,237,5,5,168,226,5,5,195,173,5,5,251,241,5,5,103,226,5,5,170,179,5,5,111,197,5,5,169,203,5,5,7,231,5,5,155,230,5,5,232,199,5,5,241,175,5,5,79,245,5,5,166,199,5,5,167,199,5,5,230,204,5,5,77,174,5,5,52,177,5,5,137,203,5,5,36,244,5,5,8,177,5,5,55,216,5,5,255,216,5,5,109,180,5,5,40,244,5,5,16,205,5,5,90,216,5,5,94,202,5,5,157,175,5,5,207,221,5,5,81,184,5,5,42,215,5,5,164,175,5,5,59,189,5,5,115,214,5,5,91,188,5,5,125,221,5,5,2,183,5,5,197,222,5,5,199,208,5,5,172,217,5,5,254,244,5,5,44,248,5,5,56,204,5,5,219,204,5,5,133,171,5,5,85,196,5,5,93,196,5,5,20,245,5,5,237,168,5,5,130,223,5,5,58,198,5,5,72,189,5,5,19,227,5,5,167,223,5,5,96,196,5,5,163,179,5,5,70,239,5,5,210,222,5,5,91,196,5,5,175,217,5,5,105,195,5,5,159,213,5,5,185,180,5,5,21,202,5,5,98,248,5,5,195,172,5,5,179,178,5,5,62,177,5,5,76,228,5,5,111,196,5,5,146,198,5,5,112,196,5,5,235,247,5,5,237,247,5,5,143,201,5,5,159,212,5,5,147,241,5,5,184,174,5,5,201,184,5,5,44,207,5,5,239,247,5,5,102,228,5,5,156,180,5,5,17,192,5,5,203,194,5,5,177,168,5,5,41,224,5,5,115,192,5,5,146,216,5,5,95,245,5,5,120,224,5,5,255,235,5,5,152,248,5,5,184,242,5,5,244,189,5,5,75,188,5,5,78,233,5,5,187,172,5,5,70,170,5,5,35,170,5,5,207,193,5,5,195,238,5,5,33,180,5,5,90,220,5,5,129,221,5,5,112,177,5,5,225,178,5,5,244,247,5,5,237,209,5,5,155,174,5,5,55,186,5,5,139,202,5,5,76,216,5,5,6,209,5,5,88,169,5,5,145,226,5,5,127,223,5,5,249,183,5,5,169,172,5,5,227,169,5,5,36,182,5,5,135,177,5,5,72,249,5,5,36,179,5,5,65,204,5,5,53,244,5,5,133,211,5,5,250,183,5,5,15,186,5,5,86,182,5,5,55,193,5,5,223,184,5,5,128,182,5,5,250,221,5,5,100,207,5,5,222,213,5,5,73,226,5,5,142,193,5,5,232,216,5,5,220,204,5,5,7,209,5,5,167,170,5,5,151,206,5,5,103,187,5,5,108,217,5,5,189,174,5,5,193,239,5,5,206,237,5,5,78,232,5,5,39,170,5,5,233,216,5,5,102,200,5,5,185,178,5,5,58,233,5,5,181,195,5,5,224,217,5,5,122,224,5,5,20,219,5,5,38,182,5,5,178,199,5,5,51,248,5,5,46,227,5,5,27,192,5,5,137,177,5,5,80,188,5,5,175,172,5,5,124,247,5,5,80,199,5,5,177,200,5,5,90,170,5,5,58,220,5,5,54,178,5,5,43,246,5,5,177,172,5,5,186,183,5,5,86,243,5,5,112,227,5,5,233,211,5,5,11,202,5,5,51,201,5,5,40,197,5,5,208,186,5,5,227,193,5,5,8,188,5,5,21,227,5,5,191,231,5,5,13,247,5,5,117,174,5,5,42,224,5,5,59,222,5,5,57,248,5,5,28,250,5,5,63,233,5,5,197,220,5,5,222,226,5,5,178,172,5,5,109,236,5,5,78,185,5,5,144,199,5,5,209,184,5,5,66,175,5,5,179,199,5,5,28,185,5,5,87,243,5,5,197,211,5,5,63,215,5,5,64,233,5,5,228,193,5,5,248,213,5,5,179,200,5,5,171,249,5,5,41,170,5,5,117,170,5,5,118,170,5,5,156,185,5,5,237,224,5,5,180,186,5,5,126,241,5,5,163,193,5,5,143,178,5,5,65,186,5,5,195,174,5,5,50,246,5,5,214,216,5,5,53,220,5,5,168,247,5,5,178,205,5,5,209,171,5,5,39,192,5,5,227,203,5,5,44,224,5,5,60,198,5,5,21,184,5,5,151,244,5,5,66,186,5,5,55,199,5,5,111,215,5,5,70,215,5,5,61,198,5,5,20,176,5,5,209,186,5,5,160,242,5,5,181,172,5,5,198,249,5,5,237,171,5,5,61,244,5,5,80,216,5,5,37,228,5,5,112,206,5,5,230,177,5,5,20,233,5,5,119,219,5,5,50,194,5,5,24,235,5,5,174,170,5,5,125,224,5,5,176,232,5,5,85,232,5,5,195,213,5,5,211,245,5,5,14,234,5,5,194,189,5,5,160,238,5,5,61,248,5,5,3,243,5,5,34,176,5,5,16,206,5,5,41,230,5,5,47,180,5,5,50,223,5,5,147,192,5,5,96,195,5,5,211,190,5,5,15,234,5,5,213,207,5,5,135,182,5,5,218,175,5,5,109,248,5,5,62,213,5,5,100,183,5,5,247,247,5,5,212,190,5,5,83,216,5,5,115,189,5,5,17,217,5,5,192,208,5,5,163,215,5,5,68,186,5,5,34,200,5,5,88,222,5,5,56,205,5,5,94,243,5,5,203,188,5,5,122,225,5,5,36,243,5,5,48,175,5,5,45,185,5,5,217,182,5,5,120,219,5,5,52,246,5,5,3,186,5,5,17,211,5,5,165,215,5,5,67,233,5,5,6,177,5,5,10,205,5,5,177,212,5,5,164,180,5,5,173,202,5,5,133,170,5,5,235,248,5,5,127,175,5,5,60,220,5,5,200,174,5,5,66,248,5,5,198,215,5,5,231,204,5,5,221,200,5,5,173,193,5,5,36,172,5,5,29,202,5,5,127,191,5,5,134,170,5,5,239,178,5,5,179,176,5,5,77,236,5,5,178,212,5,5,99,172,5,5,111,248,5,5,16,213,5,5,105,213,5,5,81,180,5,5,114,242,5,5,217,208,5,5,154,227,5,5,71,244,5,5,61,220,5,5,116,187,5,5,170,238,5,5,8,190,5,5,87,173,5,5,85,199,5,5,238,176,5,5,200,213,5,5,34,244,5,5,63,192,5,5,90,187,5,5,29,224,5,5,57,205,5,5,183,172,5,5,197,205,5,5,211,210,5,5,142,224,5,5,7,177,5,5,145,179,5,5,143,224,5,5,148,201,5,5,202,180,5,5,111,203,5,5,33,233,5,5,225,171,5,5,126,208,5,5,62,220,5,5,100,178,5,5,141,203,5,5,241,177,5,5,124,179,5,5,70,184,5,5,246,193,5,5,19,209,5,5,41,200,5,5,205,177,5,5,184,194,5,5,180,178,5,5,219,190,5,5,126,224,5,5,96,201,5,5,199,243,5,5,40,233,5,5,204,205,5,5,82,222,5,5,200,243,5,5,7,215,5,5,247,211,5,5,173,214,5,5,248,211,5,5,230,184,5,5,117,197,5,5,205,205,5,5,199,205,5,5,128,236,5,5,238,171,5,5,60,178,5,5,165,219,5,5,73,248,5,5,4,186,5,5,80,215,5,5,23,203,5,5,38,172,5,5,196,247,5,5,199,200,5,5,89,222,5,5,236,200,5,5,43,200,5,5,214,241,5,5,39,243,5,5,108,188,5,5,219,245,5,5,247,224,5,5,71,226,5,5,29,211,5,5,82,175,5,5,161,192,5,5,176,238,5,5,183,214,5,5,234,225,5,5,117,248,5,5,198,247,5,5,70,182,5,5,219,223,5,5,197,247,5,5,172,215,5,5,248,248,5,5,236,225,5,5,214,205,5,5,102,205,5,5,3,194,5,5,39,228,5,5,156,240,5,5,127,242,5,5,204,200,5,5,250,204,5,5,91,216,5,5,28,203,5,5,245,200,5,5,87,215,5,5,46,243,5,5,96,247,5,5,162,217,5,5,29,203,5,5,185,170,5,5,206,180,5,5,222,249,5,5,57,202,5,5,102,223,5,5,129,206,5,5,158,240,5,5,48,243,5,5,250,248,5,5,137,242,5,5,73,208,5,5,217,178,5,5,81,182,5,5,23,221,5,5,121,245,5,5,32,221,5,5,145,211,5,5,167,188,5,5,212,201,5,5,238,231,5,5,69,249,5,5,123,210,5,5,71,177,5,5,54,245,5,5,47,215,5,5,183,244,5,5,36,170,5,5,23,169,5,5,134,230,5,5,22,220,5,5,159,198,5,5,243,218,5,5,51,183,5,5,71,170,5,5,32,177,5,5,46,240,5,5,125,245,5,5,82,208,5,5,9,225,5,5,245,189,5,5,178,168,5,5,140,202,5,5,204,184,5,5,80,197,5,5,235,213,5,5,109,209,5,5,217,176,5,5,204,244,5,5,185,247,5,5,156,174,5,5,248,223,5,5,171,226,5,5,141,202,5,5,223,230,5,5,251,223,5,5,73,189,5,5,20,227,5,5,23,249,5,5,170,172,5,5,27,243,5,5,146,247,5,5,224,203,5,5,128,248,5,5,238,168,5,5,76,201,5,5,60,183,5,5,232,181,5,5,109,217,5,5,187,188,5,5,77,203,5,5,133,232,5,5,10,184,5,5,78,203,5,5,105,172,5,5,31,196,5,5,75,202,5,5,30,243,5,5,179,205,5,5,15,197,5,5,154,214,5,5,46,177,5,5,250,168,5,5,28,245,5,5,228,203,5,5,154,249,5,5,34,196,5,5,188,187,5,5,26,190,5,5,178,219,5,5,179,219,5,5,119,225,5,5,196,170,5,5,251,218,5,5,171,208,5,5,116,189,5,5,195,234,5,5,155,249,5,5,195,189,5,5,51,194,5,5,198,243,5,5,119,176,5,5,23,202,5,5,192,233,5,5,195,183,5,5,181,211,5,5,203,169,5,5,110,186,5,5,117,234,5,5,46,185,5,5,123,225,5,5,85,217,5,5,68,193,5,5,136,172,5,5,132,248,5,5,126,225,5,5,54,208,5,5,181,219,5,5,65,183,5,5,7,244,5,5,167,198,5,5,143,194,5,5,71,209,5,5,182,219,5,5,183,219,5,5,184,211,5,5,22,231,5,5,84,203,5,5,145,194,5,5,154,199,5,5,241,171,5,5,135,190,5,5,180,222,5,5,160,249,5,5,155,232,5,5,186,211,5,5,157,227,5,5,34,211,5,5,206,202,5,5,50,250,5,5,246,178,5,5,35,211,5,5,175,226,5,5,32,201,5,5,92,208,5,5,58,223,5,5,150,196,5,5,107,231,5,5,209,185,5,5,58,246,5,5,152,196,5,5,93,241,5,5,211,192,5,5,240,172,5,5,179,247,5,5,171,235,5,5,2,243,5,5,60,189,5,5,120,241,5,5,168,188,5,5,103,228,5,5,161,218,5,5,191,229,5,5,165,229,5,5,51,217,5,5,234,209,5,5,8,249,5,5,68,227,5,5,91,211,5,5,151,183,5,5,217,192,5,5,129,222,5,5,45,176,5,5,216,212,5,5,255,245,5,5,23,220,5,5,64,189,5,5,187,246,5,5,116,192,5,5,5,183,5,5,79,243,5,5,163,218,5,5,251,177,5,5,177,195,5,5,242,223,5,5,168,182,5,5,150,224,5,5,33,177,5,5,176,196,5,5,154,243,5,5,226,168,5,5,192,195,5,5,179,183,5,5,246,246,5,5,79,214,5,5,76,249,5,5,57,175,5,5,68,189,5,5,155,243,5,5,215,201,5,5,121,231,5,5,251,183,5,5,170,233,5,5,42,221,5,5,155,171,5,5,46,248,5,5,105,217,5,5,66,204,5,5,47,248,5,5,220,220,5,5,242,184,5,5,88,237,5,5,252,183,5,5,2,228,5,5,232,245,5,5,190,177,5,5,170,175,5,5,176,221,5,5,83,247,5,5,30,232,5,5,211,249,5,5,119,196,5,5,41,169,5,5,143,217,5,5,110,209,5,5,203,222,5,5,238,249,5,5,208,199,5,5,24,196,5,5,168,218,5,5,81,188,5,5,175,233,5,5,88,195,5,5,215,247,5,5,62,175,5,5,170,186,5,5,239,168,5,5,216,197,5,5,209,199,5,5,185,189,5,5,147,176,5,5,117,190,5,5,176,185,5,5,160,225,5,5,89,195,5,5,112,199,5,5,210,194,5,5,225,217,5,5,166,184,5,5,152,206,5,5,76,235,5,5,237,169,5,5,129,232,5,5,6,184,5,5,158,185,5,5,69,180,5,5,204,218,5,5,172,226,5,5,194,239,5,5,188,201,5,5,176,233,5,5,160,197,5,5,229,234,5,5,159,184,5,5,198,179,5,5,47,227,5,5,69,223,5,5,135,194,5,5,195,232,5,5,86,191,5,5,217,197,5,5,138,246,5,5,229,193,5,5,164,197,5,5,163,174,5,5,163,208,5,5,7,246,5,5,244,205,5,5,118,174,5,5,70,217,5,5,143,222,5,5,60,169,5,5,48,227,5,5,16,233,5,5,119,190,5,5,100,216,5,5,194,185,5,5,116,234,5,5,9,226,5,5,74,227,5,5,124,233,5,5,78,189,5,5,132,231,5,5,11,184,5,5,206,226,5,5,57,224,5,5,227,180,5,5,90,200,5,5,187,183,5,5,32,196,5,5,251,189,5,5,112,246,5,5,110,236,5,5,137,196,5,5,127,183,5,5,237,192,5,5,234,234,5,5,138,218,5,5,113,249,5,5,243,173,5,5,63,181,5,5,167,202,5,5,13,206,5,5,80,203,5,5,70,175,5,5,4,218,5,5,222,220,5,5,155,214,5,5,156,214,5,5,184,248,5,5,157,214,5,5,134,228,5,5,159,215,5,5,139,232,5,5,110,222,5,5,6,229,5,5,213,214,5,5,193,225,5,5,135,228,5,5,19,185,5,5,185,228,5,5,243,169,5,5,162,248,5,5,65,172,5,5,189,187,5,5,47,177,5,5,85,206,5,5,186,204,5,5,214,214,5,5,7,245,5,5,119,170,5,5,81,176,5,5,85,204,5,5,136,208,5,5,87,214,5,5,81,216,5,5,101,226,5,5,114,249,5,5,133,187,5,5,172,249,5,5,241,230,5,5,36,249,5,5,57,234,5,5,93,203,5,5,203,195,5,5,191,182,5,5,80,219,5,5,244,208,5,5,80,242,5,5,143,249,5,5,90,182,5,5,14,206,5,5,242,234,5,5,69,240,5,5,186,220,5,5,6,215,5,5,247,234,5,5,177,232,5,5,166,193,5,5,11,199,5,5,142,232,5,5,73,219,5,5,137,208,5,5,47,192,5,5,200,180,5,5,34,175,5,5,60,179,5,5,245,208,5,5,183,208,5,5,210,242,5,5,186,233,5,5,117,169,5,5,90,223,5,5,18,217,5,5,175,170,5,5,143,190,5,5,179,185,5,5,175,176,5,5,166,208,5,5,111,229,5,5,116,184,5,5,67,229,5,5,64,227,5,5,255,185,5,5,193,208,5,5,130,233,5,5,60,203,5,5,116,249,5,5,219,170,5,5,132,243,5,5,203,239,5,5,14,226,5,5,152,186,5,5,40,247,5,5,133,243,5,5,71,174,5,5,36,173,5,5,200,177,5,5,196,231,5,5,211,242,5,5,144,249,5,5,169,234,5,5,139,221,5,5,221,228,5,5,180,185,5,5,25,235,5,5,136,240,5,5,248,195,5,5,116,239,5,5,164,248,5,5,184,210,5,5,56,169,5,5,109,186,5,5,19,212,5,5,194,247,5,5,174,193,5,5,97,176,5,5,238,217,5,5,7,223,5,5,135,243,5,5,198,231,5,5,22,177,5,5,8,231,5,5,217,218,5,5,171,225,5,5,123,184,5,5,95,243,5,5,247,173,5,5,65,185,5,5,58,219,5,5,199,189,5,5,196,243,5,5,228,225,5,5,146,232,5,5,26,224,5,5,241,245,5,5,157,249,5,5,172,225,5,5,242,190,5,5,71,172,5,5,135,170,5,5,145,183,5,5,239,176,5,5,30,202,5,5,144,224,5,5,177,236,5,5,94,231,5,5,159,249,5,5,162,201,5,5,170,197,5,5,168,215,5,5,29,207,5,5,152,246,5,5,255,205,5,5,212,209,5,5,106,213,5,5,10,203,5,5,55,208,5,5,85,235,5,5,146,249,5,5,64,192,5,5,101,220,5,5,97,224,5,5,98,182,5,5,19,206,5,5,250,169,5,5,91,238,5,5,213,219,5,5,159,209,5,5,166,237,5,5,228,215,5,5,170,191,5,5,3,232,5,5,11,193,5,5,57,220,5,5,133,234,5,5,68,218,5,5,86,235,5,5,101,224,5,5,5,216,5,5,113,244,5,5,32,250,5,5,118,246,5,5,145,220,5,5,184,219,5,5,244,203,5,5,115,242,5,5,65,182,5,5,142,203,5,5,87,176,5,5,8,250,5,5,71,194,5,5,113,218,5,5,89,173,5,5,85,219,5,5,134,234,5,5,133,191,5,5,73,190,5,5,218,249,5,5,23,231,5,5,230,215,5,5,146,243,5,5,161,177,5,5,141,221,5,5,136,191,5,5,150,231,5,5,254,219,5,5,247,193,5,5,109,194,5,5,136,190,5,5,20,244,5,5,183,176,5,5,205,233,5,5,240,194,5,5,150,170,5,5,46,178,5,5,140,239,5,5,115,211,5,5,102,224,5,5,141,239,5,5,64,220,5,5,174,234,5,5,26,193,5,5,75,171,5,5,139,215,5,5,237,200,5,5,30,214,5,5,157,235,5,5,220,249,5,5,184,214,5,5,186,212,5,5,222,237,5,5,141,209,5,5,224,201,5,5,141,233,5,5,221,249,5,5,223,199,5,5,22,241,5,5,252,234,5,5,169,201,5,5,11,232,5,5,54,173,5,5,243,194,5,5,103,205,5,5,55,173,5,5,103,240,5,5,54,172,5,5,94,218,5,5,15,232,5,5,231,249,5,5,223,249,5,5,164,206,5,5,58,202,5,5,155,178,5,5,21,201,5,5,181,201,5,5,69,203,5,5,55,223,5,5,146,196,5,5,115,241,5,5,45,189,5,5,170,247,5,5,229,231,5,5,86,185,5,5,255,242,5,5,101,192,5,5,96,228,5,5,197,199,5,5,196,192,5,5,150,218,5,5,26,229,5,5,71,243,5,5,50,189,5,5,41,176,5,5,205,212,5,5,14,220,5,5,3,185,5,5,229,209,5,5,154,218,5,5,148,249,5,5,71,206,5,5,251,182,5,5,171,246,5,5,160,229,5,5,161,182,5,5,27,248,5,5,246,245,5,5,88,211,5,5,119,222,5,5,109,232,5,5,238,184,5,5,153,233,5,5,220,183,5,5,45,203,5,5,205,249,5,5,24,221,5,5,113,231,5,5,90,246,5,5,76,247,5,5,175,247,5,5,37,169,5,5,221,183,5,5,160,175,5,5,216,220,5,5,3,239,5,5,11,196,5,5,176,177,5,5,59,169,5,5,194,218,5,5,73,195,5,5,105,199,5,5,111,218,5,5,185,179,5,5,73,188,5,5,72,191,5,5,157,185,5,5,68,235,5,5,132,194,5,5,145,206,5,5,195,197,5,5,198,194,5,5,43,227,5,5,190,185,5,5,252,232,5,5,154,197,5,5,122,234,5,5,120,231,5,5,62,224,5,5,158,225,5,5,218,192,5,5,250,225,5,5,20,192,5,5,221,234,5,5,67,204,5,5,59,240,5,5,222,234,5,5,210,214,5,5,184,182,5,5,77,176,5,5,185,220,5,5,127,187,5,5,138,221,5,5,249,228,5,5,133,208,5,5,104,222,5,5,236,169,5,5,58,175,5,5,189,225,5,5,183,204,5,5,3,218,5,5,99,249,5,5,2,245,5,5,122,228,5,5,8,206,5,5,154,248,5,5,14,249,5,5,6,199,5,5,170,232,5,5,149,193,5,5,161,208,5,5,255,200,5,5,3,226,5,5,191,208,5,5,28,192,5,5,51,243,5,5,87,191,5,5,70,223,5,5,58,181,5,5,192,180,5,5,215,170,5,5,130,232,5,5,251,185,5,5,157,248,5,5,142,190,5,5,44,179,5,5,245,205,5,5,170,170,5,5,239,208,5,5,193,242,5,5,236,195,5,5,109,184,5,5,54,219,5,5,238,245,5,5,140,183,5,5,13,177,5,5,58,185,5,5,25,173,5,5,12,202,5,5,71,239,5,5,159,193,5,5,58,171,5,5,90,213,5,5,22,207,5,5,157,201,5,5,70,240,5,5,140,224,5,5,154,209,5,5,211,219,5,5,131,233,5,5,130,203,5,5,135,220,5,5,106,244,5,5,100,194,5,5,138,215,5,5,255,215,5,5,128,190,5,5,234,194,5,5,219,249,5,5,153,183,5,5,154,233,5,5,9,185,5,5,156,183,5,5,13,218,5,5,157,183,5,5,5,215,5,5,156,171,5,5,187,213,5,5,225,232,5,5,111,245,5,5,20,185,5,5,71,240,5,5,76,240,5,5,220,216,5,5,220,231,5,5,232,186,5,5,9,250,5,5,49,225,5,5,78,174,5,5,2,215,5,5,227,229,5,5,94,240,5,5,170,201,5,5,56,225,5,5,104,205,5,5,242,186,5,5,173,228,5,5,172,228,5,5,253,184,5,5,177,228,5,5,16,188,5,5,103,206,5,5,99,206,5,5,234,183,5,5,25,221,5,5,31,182,5,5,53,186,5,5,9,248,5,5,223,196,5,5,76,207,5,5,83,186,5,5,234,208,5,5,12,185,5,5,212,168,5,5,169,186,5,5,4,226,5,5,161,197,5,5,7,184,5,5,104,221,5,5,168,236,5,5,101,245,5,5,244,249,5,5,171,186,5,5,225,248,5,5,67,242,5,5,14,247,5,5,70,168,5,5,40,182,5,5,4,201,5,5,170,222,5,5,80,223,5,5,11,213,5,5,203,206,5,5,188,204,5,5,217,168,5,5,42,182,5,5,31,202,5,5,196,173,5,5,116,229,5,5,126,170,5,5,12,193,5,5,112,244,5,5,25,175,5,5,192,204,5,5,65,192,5,5,171,197,5,5,127,208,5,5,110,245,5,5,116,206,5,5,20,213,5,5,83,192,5,5,89,192,5,5,43,206,5,5,39,237,5,5,77,208,5,5,174,215,5,5,129,177,5,5,183,207,5,5,55,237,5,5,71,241,5,5,68,241,5,5,25,183,5,5,179,168,5,5,33,185,5,5,104,237,5,5,84,186,5,5,180,215,5,5,239,243,5,5,34,185,5,5,68,204,5,5,39,239,5,5,48,248,5,5,206,178,5,5,94,234,5,5,224,215,5,5,143,238,5,5,131,232,5,5,205,218,5,5,52,218,5,5,53,218,5,5,226,215,5,5,120,190,5,5,137,224,5,5,134,232,5,5,72,239,5,5,110,237,5,5,196,215,5,5,115,215,5,5,195,241,5,5,181,185,5,5,109,195,5,5,89,225,5,5,216,242,5,5,9,231,5,5,100,182,5,5,104,220,5,5,44,183,5,5,105,220,5,5,42,203,5,5,167,201,5,5,183,185,5,5,121,211,5,5,235,215,5,5,103,173,5,5,226,241,5,5,241,185,5,5,15,239,5,5,17,175,5,5,208,229,5,5,6,183,5,5,65,189,5,5,234,174,5,5,235,174,5,5,34,177,5,5,253,183,5,5,183,231,5,5,219,169,5,5,40,239,5,5,123,200,5,5,41,239,5,5,219,212,5,5,69,204,5,5,195,204,5,5,247,246,5,5,144,217,5,5,47,231,5,5,119,233,5,5,196,232,5,5,224,230,5,5,225,230,5,5,238,198,5,5,47,216,5,5,88,191,5,5,16,191,5,5,12,233,5,5,52,220,5,5,79,189,5,5,95,194,5,5,233,178,5,5,48,177,5,5,214,182,5,5,144,178,5,5,54,220,5,5,251,174,5,5,62,248,5,5,236,193,5,5,26,235,5,5,2,175,5,5,63,213,5,5,117,249,5,5,110,228,5,5,30,191,5,5,117,189,5,5,204,188,5,5,231,188,5,5,55,188,5,5,119,168,5,5,93,213,5,5,128,239,5,5,11,203,5,5,119,189,5,5,122,168,5,5,245,203,5,5,140,212,5,5,56,216,5,5,125,168,5,5,66,182,5,5,129,239,5,5,137,191,5,5,36,235,5,5,152,178,5,5,221,237,5,5,103,201,5,5,102,201,5,5,188,198,5,5,111,207,5,5,151,245,5,5,119,214,5,5,13,186,5,5,16,186,5,5,14,186,5,5,189,179,5,5,199,179,5,5,219,181,5,5,227,222,5,5,67,219,5,5,8,210,5,5,9,210,5,5,181,180,5,5,184,201,5,5,201,226,5,5,70,249,5,5,172,185,5,5,209,173,5,5,121,188,5,5,80,243,5,5,213,168,5,5,220,212,5,5,140,238,5,5,128,223,5,5,184,217,5,5,56,193,5,5,81,197,5,5,186,191,5,5,118,175,5,5,123,201,5,5,95,206,5,5,140,192,5,5,87,225,5,5,217,211,5,5,40,205,5,5,124,211,5,5,122,194,5,5,65,212,5,5,152,244,5,5,42,205,5,5,69,192,5,5,130,201,5,5,235,191,5,5,23,241,5,5,142,209,5,5,87,190,5,5,245,181,5,5,241,238,5,5,233,179,5,5,234,237,5,5,110,177,5,5,166,223,5,5,114,216,5,5,81,243,5,5,212,174,5,5,220,177,5,5,221,177,5,5,66,189,5,5,191,185,5,5,128,246,5,5,36,212,5,5,251,210,5,5,223,177,5,5,233,245,5,5,228,173,5,5,70,204,5,5,39,246,5,5,74,241,5,5,65,228,5,5,116,203,5,5,221,204,5,5,133,246,5,5,54,211,5,5,137,226,5,5,233,181,5,5,44,236,5,5,181,226,5,5,148,186,5,5,230,234,5,5,238,202,5,5,128,188,5,5,157,221,5,5,199,203,5,5,150,213,5,5,35,196,5,5,100,197,5,5,42,170,5,5,13,179,5,5,174,187,5,5,172,229,5,5,243,234,5,5,157,213,5,5,165,176,5,5,8,180,5,5,137,210,5,5,229,226,5,5,45,197,5,5,176,176,5,5,231,199,5,5,4,203,5,5,35,200,5,5,177,176,5,5,5,203,5,5,222,229,5,5,36,200,5,5,12,203,5,5,17,203,5,5,180,176,5,5,120,168,5,5,134,221,5,5,173,223,5,5,208,226,5,5,42,200,5,5,23,211,5,5,153,246,5,5,242,177,5,5,69,211,5,5,62,216,5,5,166,210,5,5,209,226,5,5,211,226,5,5,251,204,5,5,13,242,5,5,9,242,5,5,96,245,5,5,125,223,5,5,238,223,5,5,73,239,5,5,7,224,5,5,133,223,5,5,102,245,5,5,103,245,5,5,9,219,5,5,226,238,5,5,132,201,5,5,4,192,5,5,38,217,5,5,17,199,5,5,153,172,5,5,88,185,5,5,174,171,5,5,147,190,5,5,181,190,5,5,205,174,5,5,155,218,5,5,71,233,5,5,42,219,5,5,162,247,5,5,235,242,5,5,168,180,5,5,4,185,5,5,191,218,5,5,194,184,5,5,201,172,5,5,249,229,5,5,127,173,5,5,79,186,5,5,91,246,5,5,245,187,5,5,168,183,5,5,200,182,5,5,24,183,5,5,100,212,5,5,68,212,5,5,133,193,5,5,153,182,5,5,175,248,5,5,31,241,5,5,230,209,5,5,89,168,5,5,18,199,5,5,57,218,5,5,210,185,5,5,19,242,5,5,190,229,5,5,128,237,5,5,112,214,5,5,247,212,5,5,128,215,5,5,180,230,5,5,181,230,5,5,224,182,5,5,19,199,5,5,54,196,5,5,254,224,5,5,90,221,5,5,97,247,5,5,52,245,5,5,104,233,5,5,93,221,5,5,92,229,5,5,180,247,5,5,186,179,5,5,248,177,5,5,226,182,5,5,195,168,5,5,182,171,5,5,137,217,5,5,89,226,5,5,170,169,5,5,143,186,5,5,224,224,5,5,66,249,5,5,206,182,5,5,96,246,5,5,172,210,5,5,175,213,5,5,93,249,5,5,49,184,5,5,69,212,5,5,178,245,5,5,26,232,5,5,41,250,5,5,102,212,5,5,99,193,5,5,148,221,5,5,97,246,5,5,87,169,5,5,177,209,5,5,102,217,5,5,173,189,5,5,206,198,5,5,210,174,5,5,32,240,5,5,144,234,5,5,30,237,5,5,216,204,5,5,60,180,5,5,83,198,5,5,77,205,5,5,79,196,5,5,139,211,5,5,55,236,5,5,47,212,5,5,128,199,5,5,134,238,5,5,6,187,5,5,212,187,5,5,94,185,5,5,64,180,5,5,150,174,5,5,161,194,5,5,74,234,5,5,75,234,5,5,228,181,5,5,78,168,5,5,12,189,5,5,67,213,5,5,117,210,5,5,94,249,5,5,33,187,5,5,105,174,5,5,164,226,5,5,103,246,5,5,35,177,5,5,145,207,5,5,112,233,5,5,36,177,5,5,113,233,5,5,228,206,5,5,227,206,5,5,119,192,5,5,114,233,5,5,47,211,5,5,142,199,5,5,140,219,5,5,252,243,5,5,120,214,5,5,80,210,5,5,83,208,5,5,99,211,5,5,30,206,5,5,146,228,5,5,193,171,5,5,193,229,5,5,123,228,5,5,96,234,5,5,206,194,5,5,92,196,5,5,75,241,5,5,6,189,5,5,91,177,5,5,194,203,5,5,88,220,5,5,242,226,5,5,149,207,5,5,48,176,5,5,98,221,5,5,130,215,5,5,169,178,5,5,129,197,5,5,226,176,5,5,95,234,5,5,249,233,5,5,236,227,5,5,72,212,5,5,110,174,5,5,105,210,5,5,14,214,5,5,100,180,5,5,237,227,5,5,241,210,5,5,82,210,5,5,30,213,5,5,90,186,5,5,105,206,5,5,142,202,5,5,32,203,5,5,57,245,5,5,44,177,5,5,45,195,5,5,91,203,5,5,10,223,5,5,8,213,5,5,238,170,5,5,84,206,5,5,69,213,5,5,189,201,5,5,26,200,5,5,17,176,5,5,26,178,5,5,117,226,5,5,106,210,5,5,28,196,5,5,245,209,5,5,136,200,5,5,18,238,5,5,65,236,5,5,169,218,5,5,99,221,5,5,78,176,5,5,63,184,5,5,60,184,5,5,234,196,5,5,202,182,5,5,187,215,5,5,148,228,5,5,70,180,5,5,9,213,5,5,170,187,5,5,107,249,5,5,4,180,5,5,9,230,5,5,164,207,5,5,136,210,5,5,105,248,5,5,245,174,5,5,214,176,5,5,109,206,5,5,215,211,5,5,48,179,5,5,46,168,5,5,11,234,5,5,87,210,5,5,211,222,5,5,241,222,5,5,38,210,5,5,127,243,5,5,106,247,5,5,250,218,5,5,178,181,5,5,155,219,5,5,113,227,5,5,122,237,5,5,35,194,5,5,59,229,5,5,215,194,5,5,175,241,5,5,63,193,5,5,197,180,5,5,103,170,5,5,137,173,5,5,110,184,5,5,135,232,5,5,182,210,5,5,164,208,5,5,67,228,5,5,223,225,5,5,179,227,5,5,63,169,5,5,135,215,5,5,247,205,5,5,68,228,5,5,106,222,5,5,116,225,5,5,13,224,5,5,160,248,5,5,131,185,5,5,83,239,5,5,210,171,5,5,122,203,5,5,141,192,5,5,12,213,5,5,126,233,5,5,42,185,5,5,251,205,5,5,80,171,5,5,204,211,5,5,142,173,5,5,184,205,5,5,176,187,5,5,50,212,5,5,197,175,5,5,249,170,5,5,123,194,5,5,192,183,5,5,120,225,5,5,65,209,5,5,253,230,5,5,88,248,5,5,17,206,5,5,175,194,5,5,180,240,5,5,224,205,5,5,32,247,5,5,118,235,5,5,63,177,5,5,25,204,5,5,40,227,5,5,179,212,5,5,186,210,5,5,200,175,5,5,135,203,5,5,50,177,5,5,55,187,5,5,28,233,5,5,218,225,5,5,96,182,5,5,151,246,5,5,178,194,5,5,141,220,5,5,166,189,5,5,49,177,5,5,107,219,5,5,178,232,5,5,69,224,5,5,64,183,5,5,84,240,5,5,102,220,5,5,72,248,5,5,5,178,5,5,152,199,5,5,110,211,5,5,213,227,5,5,18,203,5,5,142,170,5,5,208,240,5,5,241,197,5,5,187,175,5,5,130,239,5,5,145,197,5,5,145,200,5,5,39,203,5,5,214,219,5,5,214,227,5,5,114,186,5,5,174,214,5,5,55,177,5,5,85,171,5,5,152,235,5,5,96,210,5,5,15,230,5,5,3,244,5,5,153,232,5,5,7,171,5,5,60,234,5,5,159,199,5,5,148,200,5,5,79,236,5,5,100,205,5,5,241,191,5,5,158,243,5,5,139,206,5,5,163,217,5,5,4,244,5,5,44,206,5,5,147,210,5,5,159,243,5,5,250,173,5,5,43,215,5,5,252,229,5,5,19,187,5,5,242,243,5,5,243,203,5,5,16,187,5,5,82,249,5,5,191,194,5,5,252,210,5,5,98,175,5,5,232,192,5,5,38,185,5,5,99,175,5,5,138,208,5,5,18,211,5,5,197,246,5,5,230,246,5,5,120,185,5,5,36,194,5,5,200,179,5,5,108,246,5,5,98,234,5,5,238,224,5,5,214,245,5,5,182,196,5,5,110,232,5,5,140,241,5,5,202,172,5,5,188,237,5,5,148,241,5,5,18,175,5,5,125,231,5,5,126,231,5,5,196,196,5,5,192,241,5,5,249,241,5,5,58,234,5,5,46,197,5,5,201,196,5,5,255,233,5,5,233,220,5,5,238,220,5,5,243,220,5,5,174,196,5,5,39,222,5,5,14,225,5,5,139,222,5,5,66,222,5,5,121,226,5,5,80,225,5,5,50,214,5,5,51,214,5,5,211,186,5,5,74,190,5,5,130,226,5,5,220,175,5,5,27,223,5,5,192,231,5,5,101,230,5,5,128,247,5,5,109,178,5,5,210,175,5,5,86,220,5,5,190,238,5,5,83,182,5,5,226,211,5,5,3,225,5,5,85,182,5,5,24,169,5,5,211,175,5,5,76,188,5,5,169,182,5,5,3,169,5,5,37,170,5,5,79,205,5,5,81,247,5,5,23,194,5,5,120,172,5,5,71,204,5,5,245,247,5,5,54,244,5,5,79,181,5,5,194,171,5,5,31,232,5,5,148,185,5,5,212,175,5,5,184,231,5,5,82,205,5,5,239,216,5,5,57,212,5,5,226,230,5,5,121,199,5,5,12,184,5,5,32,244,5,5,128,183,5,5,13,202,5,5,198,220,5,5,186,241,5,5,52,201,5,5,243,226,5,5,68,242,5,5,60,229,5,5,211,171,5,5,24,208,5,5,222,210,5,5,240,196,5,5,213,190,5,5,96,222,5,5,12,199,5,5,220,170,5,5,209,209,5,5,212,179,5,5,147,178,5,5,78,169,5,5,211,172,5,5,117,239,5,5,201,223,5,5,127,172,5,5,145,172,5,5,43,205,5,5,203,177,5,5,120,235,5,5,218,237,5,5,26,175,5,5,181,178,5,5,61,178,5,5,221,215,5,5,136,205,5,5,213,238,5,5,160,192,5,5,75,194,5,5,236,191,5,5,11,208,5,5,185,214,5,5,138,205,5,5,105,205,5,5,58,173,5,5,253,222,5,5,162,185,5,5,70,203,5,5,134,193,5,5,175,193,5,5,229,219,5,5,211,236,5,5,254,183,5,5,158,213,5,5,253,236,5,5,15,237,5,5,148,172,5,5,156,172,5,5,224,238,5,5,140,201,5,5,198,226,5,5,150,194,5,5,0,167,5,5,251,209,5,5,138,226,5,5,151,194,5,5,59,195,5,5,156,212,5,5,97,228,5,5,232,238,5,5,242,172,5,5,129,208,5,5,74,208,5,5,189,184,5,5,33,215,5,5,14,242,5,5,15,242,5,5,207,220,5,5,224,216,5,5,165,180,5,5,232,189,5,5,197,214,5,5,37,207,5,5,83,249,5,5,73,191,5,5,46,224,5,5,198,246,5,5,160,232,5,5,242,212,5,5,210,183,5,5,204,227,5,5,27,229,5,5,52,230,5,5,82,246,5,5,226,214,5,5,75,220,5,5,161,229,5,5,144,215,5,5,125,218,5,5,211,183,5,5,64,199,5,5,137,195,5,5,71,205,5,5,202,234,5,5,5,192,5,5,109,216,5,5,104,214,5,5,86,236,5,5,252,182,5,5,170,168,5,5,89,219,5,5,217,233,5,5,201,192,5,5,18,190,5,5,19,190,5,5,141,182,5,5,122,230,5,5,187,197,5,5,7,186,5,5,172,246,5,5,72,243,5,5,110,216,5,5,132,168,5,5,111,175,5,5,104,207,5,5,251,235,5,5,219,182,5,5,182,218,5,5,68,188,5,5,155,176,5,5,216,239,5,5,66,241,5,5,205,170,5,5,242,238,5,5,60,216,5,5,28,229,5,5,103,202,5,5,29,213,5,5,139,181,5,5,107,232,5,5,128,173,5,5,117,172,5,5,28,248,5,5,222,223,5,5,247,225,5,5,237,242,5,5,72,218,5,5,46,204,5,5,230,224,5,5,208,220,5,5,218,178,5,5,177,208,5,5,200,216,5,5,110,202,5,5,2,241,5,5,201,198,5,5,193,209,5,5,169,169,5,5,85,169,5,5,10,186,5,5,230,208,5,5,187,238,5,5,188,238,5,5,63,197,5,5,122,213,5,5,110,219,5,5,102,199,5,5,52,211,5,5,153,210,5,5,179,171,5,5,105,171,5,5,78,220,5,5,112,234,5,5,182,237,5,5,236,231,5,5,216,169,5,5,55,189,5,5,49,240,5,5,157,244,5,5,23,180,5,5,216,196,5,5,178,179,5,5,244,210,5,5,198,184,5,5,149,189,5,5,168,213,5,5,141,207,5,5,222,183,5,5,120,221,5,5,49,186,5,5,59,170,5,5,89,229,5,5,223,183,5,5,207,248,5,5,106,207,5,5,120,182,5,5,44,193,5,5,73,207,5,5,74,207,5,5,192,168,5,5,107,176,5,5,95,209,5,5,254,248,5,5,176,246,5,5,182,174,5,5,212,192,5,5,12,196,5,5,212,204,5,5,158,176,5,5,230,210,5,5,194,242,5,5,104,235,5,5,112,240,5,5,230,216,5,5,113,185,5,5,29,209,5,5,118,202,5,5,195,218,5,5,30,240,5,5,165,185,5,5,146,215,5,5,254,172,5,5,2,174,5,5,24,242,5,5,85,188,5,5,84,249,5,5,182,203,5,5,58,230,5,5,213,192,5,5,29,187,5,5,144,176,5,5,203,193,5,5,108,176,5,5,25,186,5,5,2,187,5,5,45,207,5,5,218,172,5,5,158,194,5,5,159,194,5,5,235,183,5,5,149,241,5,5,206,247,5,5,5,249,5,5,87,194,5,5,46,191,5,5,175,239,5,5,219,172,5,5,32,182,5,5,189,218,5,5,15,219,5,5,14,175,5,5,62,207,5,5,9,227,5,5,116,247,5,5,40,215,5,5,240,247,5,5,172,235,5,5,112,190,5,5,172,183,5,5,211,217,5,5,154,184,5,5,111,177,5,5,15,196,5,5,51,234,5,5,221,175,5,5,149,172,5,5,16,196,5,5,226,181,5,5,76,168,5,5,11,216,5,5,185,174,5,5,131,218,5,5,15,194,5,5,249,225,5,5,182,190,5,5,176,213,5,5,119,202,5,5,171,195,5,5,109,201,5,5,198,222,5,5,122,248,5,5,130,177,5,5,77,193,5,5,100,218,5,5,65,170,5,5,164,172,5,5,12,216,5,5,74,191,5,5,214,192,5,5,80,178,5,5,85,249,5,5,196,218,5,5,150,191,5,5,32,234,5,5,146,206,5,5,114,240,5,5,173,235,5,5,221,195,5,5,109,224,5,5,176,239,5,5,216,206,5,5,61,189,5,5,181,247,5,5,201,237,5,5,171,180,5,5,37,229,5,5,249,201,5,5,94,180,5,5,177,183,5,5,134,218,5,5,225,239,5,5,176,188,5,5,19,170,5,5,27,172,5,5,102,243,5,5,223,178,5,5,101,227,5,5,51,224,5,5,52,224,5,5,99,174,5,5,4,174,5,5,59,230,5,5,39,171,5,5,197,230,5,5,192,185,5,5,134,202,5,5,13,214,5,5,45,248,5,5,106,209,5,5,135,202,5,5,125,248,5,5,23,250,5,5,232,227,5,5,52,217,5,5,24,220,5,5,131,224,5,5,5,174,5,5,161,212,5,5,37,197,5,5,146,207,5,5,241,207,5,5,53,234,5,5,18,196,5,5,217,173,5,5,38,221,5,5,25,198,5,5,98,236,5,5,217,226,5,5,38,241,5,5,97,177,5,5,204,186,5,5,34,188,5,5,72,241,5,5,98,177,5,5,81,193,5,5,170,228,5,5,243,223,5,5,92,211,5,5,192,220,5,5,122,232,5,5,71,201,5,5,242,183,5,5,106,181,5,5,107,209,5,5,200,229,5,5,78,195,5,5,25,210,5,5,195,209,5,5,135,198,5,5,164,200,5,5,235,202,5,5,222,221,5,5,232,229,5,5,137,227,5,5,240,231,5,5,213,191,5,5,39,241,5,5,115,240,5,5,53,240,5,5,244,185,5,5,46,176,5,5,59,207,5,5,60,207,5,5,146,176,5,5,124,228,5,5,25,196,5,5,37,179,5,5,138,217,5,5,34,180,5,5,143,193,5,5,167,249,5,5,56,186,5,5,124,200,5,5,158,205,5,5,7,197,5,5,96,229,5,5,29,198,5,5,255,210,5,5,56,200,5,5,182,188,5,5,16,214,5,5,180,243,5,5,55,185,5,5,183,187,5,5,255,183,5,5,82,206,5,5,112,173,5,5,59,175,5,5,155,223,5,5,13,176,5,5,3,245,5,5,223,207,5,5,68,172,5,5,196,168,5,5,3,202,5,5,105,227,5,5,157,171,5,5,37,188,5,5,130,169,5,5,160,216,5,5,143,197,5,5,211,230,5,5,115,216,5,5,9,179,5,5,34,195,5,5,15,214,5,5,82,178,5,5,194,195,5,5,15,216,5,5,234,224,5,5,173,185,5,5,34,190,5,5,57,186,5,5,72,204,5,5,185,182,5,5,118,216,5,5,40,168,5,5,180,228,5,5,247,169,5,5,165,247,5,5,62,236,5,5,231,196,5,5,144,193,5,5,255,203,5,5,61,225,5,5,134,222,5,5,93,226,5,5,138,178,5,5,218,189,5,5,132,214,5,5,183,188,5,5,41,177,5,5,190,225,5,5,27,176,5,5,78,170,5,5,135,173,5,5,114,190,5,5,234,182,5,5,173,200,5,5,74,214,5,5,242,207,5,5,181,213,5,5,202,228,5,5,21,178,5,5,47,220,5,5,115,190,5,5,154,236,5,5,141,238,5,5,146,226,5,5,133,214,5,5,125,228,5,5,171,172,5,5,10,210,5,5,234,245,5,5,34,228,5,5,155,196,5,5,180,226,5,5,106,206,5,5,79,170,5,5,42,239,5,5,5,212,5,5,245,171,5,5,73,212,5,5,255,179,5,5,117,240,5,5,118,240,5,5,119,240,5,5,6,233,5,5,141,219,5,5,13,217,5,5,214,198,5,5,226,232,5,5,147,228,5,5,243,241,5,5,176,241,5,5,103,184,5,5,54,203,5,5,15,235,5,5,16,235,5,5,36,210,5,5,176,172,5,5,237,229,5,5,62,176,5,5,13,233,5,5,159,241,5,5,192,170,5,5,116,207,5,5,43,168,5,5,168,181,5,5,153,206,5,5,123,240,5,5,103,200,5,5,104,200,5,5,92,194,5,5,162,208,5,5,46,250,5,5,47,250,5,5,188,249,5,5,110,169,5,5,247,218,5,5,79,231,5,5,19,238,5,5,44,168,5,5,145,217,5,5,150,193,5,5,8,184,5,5,11,206,5,5,29,196,5,5,138,212,5,5,92,183,5,5,74,189,5,5,75,189,5,5,112,189,5,5,225,236,5,5,87,227,5,5,171,245,5,5,24,249,5,5,171,232,5,5,170,218,5,5,121,185,5,5,10,215,5,5,193,216,5,5,85,208,5,5,199,190,5,5,45,221,5,5,17,214,5,5,177,184,5,5,43,180,5,5,186,247,5,5,37,194,5,5,50,229,5,5,198,171,5,5,212,228,5,5,228,211,5,5,233,192,5,5,186,189,5,5,254,243,5,5,60,193,5,5,193,180,5,5,207,237,5,5,54,224,5,5,163,176,5,5,226,217,5,5,213,228,5,5,192,245,5,5,247,199,5,5,223,226,5,5,157,191,5,5,80,231,5,5,180,221,5,5,243,214,5,5,212,200,5,5,108,249,5,5,120,237,5,5,154,242,5,5,158,207,5,5,52,243,5,5,204,222,5,5,45,179,5,5,103,248,5,5,192,186,5,5,76,218,5,5,92,235,5,5,75,173,5,5,102,198,5,5,27,200,5,5,28,190,5,5,116,194,5,5,29,205,5,5,51,229,5,5,255,211,5,5,112,241,5,5,194,223,5,5,198,239,5,5,184,221,5,5,52,176,5,5,229,221,5,5,56,243,5,5,201,245,5,5,72,201,5,5,21,219,5,5,245,207,5,5,159,202,5,5,14,218,5,5,43,224,5,5,206,242,5,5,160,202,5,5,43,197,5,5,233,230,5,5,74,169,5,5,114,175,5,5,181,234,5,5,114,227,5,5,141,204,5,5,223,191,5,5,95,179,5,5,156,215,5,5,189,249,5,5,237,213,5,5,85,177,5,5,156,242,5,5,119,175,5,5,69,242,5,5,131,199,5,5,14,212,5,5,18,214,5,5,19,214,5,5,242,209,5,5,46,223,5,5,53,231,5,5,31,183,5,5,88,243,5,5,45,246,5,5,160,193,5,5,136,192,5,5,118,219,5,5,125,172,5,5,213,181,5,5,48,208,5,5,86,188,5,5,114,224,5,5,202,245,5,5,38,209,5,5,195,223,5,5,235,234,5,5,142,204,5,5,54,231,5,5,95,186,5,5,45,201,5,5,211,218,5,5,219,229,5,5,183,184,5,5,104,177,5,5,185,221,5,5,109,225,5,5,134,206,5,5,55,219,5,5,138,224,5,5,20,235,5,5,193,169,5,5,193,237,5,5,105,187,5,5,104,170,5,5,141,249,5,5,131,187,5,5,48,250,5,5,147,226,5,5,179,172,5,5,126,212,5,5,214,200,5,5,41,178,5,5,238,192,5,5,14,202,5,5,48,221,5,5,64,201,5,5,70,242,5,5,79,204,5,5,128,240,5,5,119,209,5,5,164,179,5,5,148,226,5,5,101,207,5,5,252,226,5,5,177,175,5,5,170,212,5,5,48,168,5,5,246,202,5,5,166,176,5,5,86,231,5,5,188,213,5,5,15,217,5,5,204,195,5,5,55,176,5,5,106,195,5,5,7,229,5,5,165,227,5,5,142,172,5,5,89,242,5,5,84,239,5,5,58,249,5,5,157,203,5,5,105,170,5,5,123,205,5,5,254,234,5,5,32,172,5,5,29,245,5,5,158,201,5,5,214,215,5,5,23,207,5,5,117,236,5,5,86,204,5,5,234,192,5,5,244,170,5,5,134,187,5,5,19,188,5,5,234,178,5,5,14,224,5,5,180,205,5,5,4,221,5,5,166,220,5,5,235,178,5,5,212,208,5,5,141,235,5,5,24,207,5,5,212,171,5,5,55,179,5,5,86,177,5,5,164,245,5,5,51,221,5,5,81,235,5,5,106,229,5,5,191,189,5,5,112,168,5,5,86,208,5,5,36,205,5,5,230,176,5,5,86,247,5,5,70,172,5,5,214,213,5,5,119,194,5,5,116,208,5,5,167,176,5,5,235,210,5,5,101,191,5,5,167,197,5,5,241,239,5,5,45,194,5,5,189,210,5,5,149,222,5,5,199,239,5,5,175,187,5,5,16,174,5,5,4,190,5,5,31,220,5,5,82,199,5,5,160,215,5,5,174,206,5,5,243,243,5,5,62,244,5,5,211,215,5,5,79,180,5,5,36,203,5,5,22,204,5,5,83,199,5,5,0,160,5,5,120,170,5,5,24,202,5,5,68,229,5,5,148,192,5,5,116,215,5,5,160,221,5,5,62,182,5,5,250,207,5,5,218,211,5,5,82,173,5,5,96,179,5,5,222,235,5,5,176,194,5,5,82,219,5,5,83,219,5,5,194,201,5,5,196,241,5,5,23,216,5,5,125,175,5,5,43,190,5,5,167,193,5,5,219,206,5,5,91,243,5,5,91,169,5,5,56,241,5,5,147,217,5,5,192,205,5,5,104,218,5,5,110,191,5,5,185,181,5,5,15,226,5,5,215,182,5,5,232,197,5,5,248,249,5,5,52,182,5,5,23,219,5,5,37,183,5,5,37,200,5,5,29,223,5,5,81,219,5,5,21,236,5,5,170,234,5,5,117,184,5,5,233,197,5,5,93,178,5,5,68,230,5,5,48,180,5,5,91,223,5,5,29,233,5,5,141,231,5,5,228,204,5,5,147,229,5,5,201,220,5,5,163,214,5,5,168,193,5,5,134,243,5,5,117,224,5,5,90,204,5,5,98,242,5,5,197,231,5,5,225,229,5,5,149,192,5,5,87,189,5,5,140,223,5,5,106,211,5,5,196,201,5,5,30,235,5,5,136,243,5,5,90,242,5,5,60,231,5,5,137,188,5,5,99,169,5,5,88,188,5,5,20,168,5,5,225,228,5,5,120,191,5,5,121,191,5,5,6,193,5,5,125,176,5,5,175,232,5,5,153,228,5,5,213,208,5,5,118,239,5,5,235,201,5,5,101,194,5,5,109,172,5,5,53,221,5,5,218,215,5,5,13,203,5,5,224,198,5,5,217,242,5,5,143,177,5,5,66,226,5,5,91,225,5,5,94,235,5,5,136,170,5,5,215,244,5,5,118,224,5,5,255,231,5,5,97,182,5,5,245,179,5,5,193,233,5,5,111,186,5,5,194,233,5,5,174,222,5,5,59,194,5,5,89,188,5,5,37,189,5,5,147,219,5,5,235,233,5,5,144,235,5,5,214,237,5,5,251,168,5,5,215,223,5,5,175,222,5,5,149,235,5,5,232,180,5,5,140,213,5,5,73,229,5,5,67,211,5,5,78,175,5,5,213,206,5,5,31,219,5,5,101,213,5,5,245,224,5,5,13,193,5,5,19,244,5,5,23,174,5,5,215,245,5,5,2,182,5,5,164,210,5,5,141,240,5,5,66,185,5,5,205,176,5,5,34,233,5,5,170,214,5,5,44,182,5,5,239,193,5,5,249,234,5,5,4,200,5,5,156,192,5,5,198,170,5,5,172,179,5,5,123,208,5,5,225,200,5,5,254,195,201,224,230,0,5,5,194,208,5,5,253,216,5,5,86,216,5,5,90,232,5,5,150,203,5,5,219,211,5,5,59,232,5,5,30,224,5,5,226,205,5,5,135,239,5,5,251,234,5,5,147,233,5,5,37,202,5,5,136,239,5,5,134,200,5,5,200,201,5,5,18,195,5,5,241,178,5,5,194,246,5,5,157,169,5,5,232,225,5,5,219,237,5,5,135,209,5,5,176,190,5,5,4,171,5,5,67,182,5,5,217,223,5,5,50,225,5,5,166,227,5,5,2,217,5,5,31,216,5,5,125,229,5,5,166,204,5,5,128,191,5,5,207,211,5,5,68,185,5,5,140,243,5,5,120,169,5,5,198,202,5,5,178,222,5,5,132,175,5,5,0,163,5,5,28,204,5,5,21,244,5,5,37,235,5,5,165,216,5,5,200,200,5,5,237,191,5,5,38,228,5,5,160,230,5,5,86,219,5,5,87,219,5,5,178,214,5,5,19,189,5,5,95,205,5,5,229,223,5,5,176,227,5,5,12,208,5,5,143,243,5,5,201,213,5,5,7,242,5,5,154,235,5,5,22,193,5,5,122,196,5,5,38,235,5,5,79,209,5,5,26,217,5,5,230,223,5,5,123,196,5,5,187,212,5,5,30,211,5,5,243,171,5,5,83,218,5,5,149,239,5,5,97,232,5,5,217,241,5,5,27,197,5,5,43,203,5,5,44,203,5,5,25,240,5,5,222,215,5,5,95,240,5,5,237,204,5,5,72,227,5,5,30,190,5,5,41,243,5,5,104,204,5,5,156,217,5,5,172,237,5,5,105,182,5,5,177,207,5,5,63,188,5,5,237,199,5,5,238,200,5,5,27,193,5,5,101,178,5,5,31,207,5,5,225,201,5,5,171,201,5,5,36,191,5,5,111,183,5,5,119,246,5,5,130,229,5,5,9,200,5,5,16,245,5,5,88,190,5,5,49,202,5,5,29,193,5,5,67,208,5,5,206,201,5,5,93,190,5,5,124,206,5,5,84,192,5,5,11,200,5,5,215,205,5,5,195,193,5,5,149,219,5,5,237,225,5,5,178,201,5,5,5,218,5,5,51,233,5,5,163,239,5,5,47,206,5,5,227,207,5,5,34,171,5,5,142,189,5,5,214,189,5,5,115,205,5,5,159,211,5,5,6,206,5,5,64,223,5,5,253,232,5,5,97,215,5,5,171,175,5,5,157,189,5,5,149,234,5,5,79,177,5,5,2,184,5,5,150,234,5,5,156,234,5,5,120,205,5,5,220,189,5,5,187,241,5,5,129,188,5,5,168,194,5,5,94,197,5,5,177,187,5,5,140,169,5,5,120,236,5,5,11,245,5,5,12,245,5,5,233,199,5,5,69,171,5,5,147,231,5,5,224,222,5,5,28,175,5,5,40,217,5,5,130,179,5,5,176,192,5,5,42,217,5,5,234,179,5,5,167,221,5,5,156,231,5,5,196,197,5,5,122,245,5,5,235,220,5,5,121,241,5,5,247,187,5,5,71,249,5,5,62,189,5,5,7,191,5,5,239,207,5,5,152,185,5,5,47,224,5,5,158,231,5,5,255,172,5,5,218,221,5,5,191,238,5,5,181,206,5,5,202,232,5,5,146,182,5,5,152,181,5,5,180,168,5,5,213,174,5,5,50,215,5,5,166,229,5,5,167,229,5,5,91,219,5,5,66,169,5,5,251,212,5,5,19,243,5,5,20,243,5,5,26,198,5,5,121,214,5,5,15,227,5,5,5,240,5,5,122,214,5,5,86,172,5,5,185,242,5,5,201,197,5,5,49,191,5,5,116,216,5,5,123,214,5,5,119,247,5,5,2,236,5,5,92,188,5,5,196,209,5,5,171,228,5,5,26,183,5,5,27,183,5,5,77,188,5,5,214,185,5,5,15,244,5,5,90,184,5,5,60,218,5,5,149,195,5,5,243,183,5,5,151,174,5,5,88,180,5,5,131,169,5,5,75,232,5,5,133,210,5,5,191,177,5,5,11,217,5,5,43,241,5,5,175,244,5,5,182,213,5,5,187,174,5,5,105,241,5,5,184,188,5,5,231,187,5,5,82,197,5,5,143,202,5,5,97,184,5,5,62,218,5,5,146,244,5,5,17,186,5,5,3,213,5,5,4,213,5,5,32,232,5,5,49,248,5,5,135,179,5,5,40,171,5,5,113,171,5,5,58,186,5,5,205,244,5,5,106,217,5,5,236,220,5,5,184,226,5,5,73,204,5,5,91,186,5,5,22,178,5,5,92,186,5,5,120,240,5,5,144,202,5,5,60,174,5,5,110,217,5,5,153,209,5,5,122,185,5,5,148,176,5,5,52,191,5,5,53,191,5,5,56,207,5,5,104,184,5,5,63,237,5,5,51,228,5,5,195,203,5,5,216,247,5,5,80,238,5,5,37,232,5,5,105,200,5,5,164,194,5,5,150,202,5,5,57,239,5,5,189,213,5,5,80,214,5,5,201,187,5,5,237,220,5,5,144,238,5,5,183,228,5,5,112,209,5,5,240,216,5,5,78,216,5,5,86,187,5,5,241,216,5,5,5,247,5,5,240,206,5,5,114,201,5,5,133,245,5,5,85,193,5,5,66,210,5,5,71,223,5,5,145,214,5,5,12,234,5,5,154,195,5,5,71,217,5,5,199,220,5,5,248,240,5,5,88,193,5,5,187,227,5,5,219,173,5,5,194,169,5,5,114,181,5,5,43,188,5,5,171,222,5,5,48,235,5,5,96,183,5,5,105,221,5,5,106,221,5,5,62,184,5,5,136,232,5,5,112,245,5,5,67,230,5,5,13,184,5,5,15,202,5,5,53,201,5,5,106,170,5,5,120,175,5,5,157,242,5,5,79,241,5,5,97,195,5,5,27,178,5,5,111,236,5,5,224,226,5,5,115,179,5,5,188,227,5,5,54,191,5,5,240,229,5,5,114,246,5,5,158,223,5,5,192,182,5,5,241,196,5,5,117,208,5,5,158,214,5,5,159,214,5,5,81,242,5,5,62,198,5,5,140,200,5,5,25,208,5,5,189,215,5,5,81,223,5,5,242,230,5,5,86,206,5,5,168,202,5,5,210,179,5,5,152,226,5,5,194,225,5,5,67,200,5,5,9,188,5,5,48,188,5,5,82,242,5,5,75,169,5,5,203,182,5,5,13,213,5,5,220,228,5,5,243,180,5,5,85,239,5,5,162,242,5,5,168,224,5,5,234,217,5,5,136,215,5,5,94,219,5,5,138,210,5,5,180,216,5,5,107,229,5,5,94,203,5,5,190,187,5,5,87,228,5,5,37,180,5,5,181,181,5,5,26,169,5,5,56,179,5,5,186,228,5,5,90,172,5,5,94,237,5,5,131,240,5,5,159,187,5,5,28,173,5,5,9,180,5,5,141,200,5,5,229,198,5,5,98,195,5,5,97,233,5,5,230,226,5,5,127,207,5,5,171,234,5,5,139,208,5,5,197,241,5,5,51,195,5,5,233,221,5,5,27,235,5,5,214,190,5,5,173,236,5,5,176,170,5,5,252,218,5,5,222,228,5,5,118,184,5,5,212,242,5,5,214,207,5,5,112,229,5,5,25,184,5,5,24,219,5,5,132,233,5,5,57,241,5,5,77,217,5,5,86,207,5,5,165,231,5,5,72,240,5,5,191,221,5,5,35,175,5,5,90,225,5,5,221,247,5,5,118,249,5,5,16,226,5,5,119,184,5,5,213,242,5,5,255,199,5,5,251,207,5,5,144,200,5,5,131,180,5,5,196,189,5,5,19,217,5,5,213,179,5,5,169,202,5,5,242,229,5,5,59,243,5,5,176,217,5,5,39,210,5,5,41,205,5,5,35,176,5,5,218,218,5,5,133,240,5,5,98,194,5,5,46,169,5,5,55,201,5,5,60,212,5,5,94,223,5,5,10,231,5,5,150,176,5,5,11,231,5,5,218,242,5,5,212,229,5,5,14,203,5,5,202,223,5,5,11,169,5,5,221,218,5,5,222,218,5,5,154,192,5,5,42,230,5,5,132,234,5,5,56,188,5,5,139,216,5,5,165,238,5,5,14,170,5,5,44,190,5,5,124,225,5,5,210,238,5,5,176,180,5,5,14,210,5,5,205,188,5,5,200,189,5,5,52,187,5,5,187,206,5,5,44,209,5,5,119,239,5,5,178,229,5,5,137,240,5,5,215,225,5,5,89,247,5,5,128,172,5,5,212,219,5,5,165,214,5,5,9,207,5,5,176,226,5,5,169,220,5,5,80,222,5,5,146,172,5,5,167,174,5,5,64,179,5,5,121,168,5,5,198,205,5,5,121,229,5,5,50,247,5,5,127,225,5,5,21,174,5,5,94,213,5,5,150,217,5,5,17,213,5,5,207,241,5,5,67,194,5,5,115,206,5,5,44,205,5,5,154,216,5,5,91,247,5,5,24,240,5,5,104,194,5,5,234,222,5,5,181,229,5,5,35,233,5,5,155,228,5,5,143,245,5,5,168,245,5,5,176,206,5,5,177,206,5,5,162,187,5,5,161,204,5,5,89,207,5,5,17,231,5,5,181,176,5,5,33,202,5,5,11,207,5,5,36,233,5,5,173,173,5,5,35,245,5,5,65,207,5,5,236,232,5,5,136,209,5,5,230,249,5,5,95,223,5,5,23,217,5,5,216,225,5,5,154,246,5,5,183,212,5,5,184,212,5,5,239,194,5,5,153,217,5,5,30,171,5,5,143,203,5,5,22,212,5,5,91,187,5,5,96,231,5,5,188,192,5,5,92,248,5,5,220,190,5,5,204,182,5,5,97,201,5,5,243,197,5,5,244,197,5,5,134,191,5,5,249,239,5,5,44,173,5,5,185,194,5,5,146,220,5,5,72,210,5,5,41,233,5,5,70,230,5,5,36,175,5,5,193,235,5,5,96,223,5,5,133,175,5,5,80,174,5,5,62,178,5,5,84,202,5,5,206,233,5,5,147,220,5,5,214,238,5,5,69,196,5,5,146,177,5,5,47,173,5,5,3,215,5,5,100,176,5,5,211,232,5,5,6,221,5,5,138,206,5,5,141,216,5,5,151,240,5,5,5,173,5,5,189,202,5,5,94,244,5,5,39,235,5,5,24,203,5,5,249,247,5,5,76,244,5,5,98,233,5,5,66,207,5,5,207,233,5,5,186,214,5,5,232,218,5,5,253,193,5,5,30,208,5,5,109,188,5,5,36,219,5,5,238,191,5,5,246,248,5,5,122,195,5,5,143,213,5,5,152,188,5,5,219,208,5,5,108,182,5,5,205,201,5,5,121,195,5,5,153,200,5,5,21,209,5,5,50,202,5,5,66,176,5,5,207,202,5,5,30,217,5,5,36,211,5,5,106,205,5,5,179,180,5,5,48,233,5,5,234,247,5,5,252,204,5,5,51,202,5,5,253,204,5,5,113,183,5,5,232,237,5,5,23,213,5,5,47,210,5,5,120,186,5,5,137,197,5,5,104,240,5,5,183,222,5,5,40,231,5,5,92,172,5,5,165,217,5,5,249,217,5,5,180,180,5,5,93,172,5,5,3,207,5,5,168,217,5,5,123,195,5,5,3,248,5,5,199,248,5,5,124,235,5,5,183,190,5,5,148,211,5,5,103,212,5,5,151,211,5,5,250,233,5,5,125,247,5,5,230,206,5,5,13,182,5,5,78,198,5,5,220,208,5,5,155,231,5,5,24,234,5,5,149,236,5,5,149,198,5,5,241,242,5,5,139,217,5,5,74,204,5,5,74,235,5,5,205,222,5,5,33,232,5,5,51,227,5,5,227,232,5,5,46,195,5,5,42,232,5,5,10,236,5,5,197,189,5,5,113,229,5,5,148,178,5,5,24,175,5,5,117,229,5,5,150,178,5,5,179,248,5,5,16,189,5,5,166,217,5,5,63,238,5,5,61,238,5,5,3,172,5,5,219,184,5,5,141,241,5,5,19,171,5,5,229,172,5,5,114,238,5,5,79,220,5,5,37,174,5,5,173,183,5,5,125,187,5,5,3,183,5,5,229,222,5,5,70,195,5,5,232,209,5,5,79,247,5,5,249,177,5,5,16,239,5,5,117,247,5,5,82,247,5,5,145,195,5,5,183,246,5,5,115,233,5,5,58,218,5,5,98,246,5,5,162,218,5,5,95,216,5,5,172,195,5,5,22,198,5,5,186,242,5,5,202,207,5,5,2,173,5,5,134,168,5,5,231,210,5,5,8,191,5,5,59,218,5,5,57,193,5,5,254,227,5,5,115,204,5,5,192,177,5,5,132,169,5,5,81,212,5,5,204,237,5,5,44,250,5,5,72,170,5,5,219,220,5,5,59,225,5,5,83,197,5,5,219,188,5,5,106,235,5,5,123,234,5,5,231,245,5,5,135,238,5,5,238,211,5,5,151,171,5,5,203,178,5,5,64,228,5,5,91,184,5,5,128,187,5,5,231,246,5,5,248,246,5,5,61,218,5,5,37,212,5,5,28,239,5,5,112,207,5,5,233,227,5,5,235,209,5,5,250,185,5,5,70,235,5,5,126,245,5,5,103,217,5,5,177,169,5,5,40,242,5,5,48,231,5,5,45,208,5,5,189,171,5,5,158,171,5,5,3,184,5,5,217,174,5,5,214,174,5,5,110,199,5,5,167,218,5,5,134,194,5,5,9,215,5,5,27,194,5,5,195,171,5,5,85,195,5,5,230,181,5,5,95,185,5,5,17,219,5,5,213,247,5,5,38,187,5,5,185,239,5,5,53,172,5,5,196,203,5,5,84,198,5,5,62,234,5,5,129,248,5,5,52,178,5,5,157,234,5,5,57,200,5,5,30,199,5,5,234,210,5,5,208,222,5,5,86,193,5,5,87,200,5,5,119,174,5,5,76,202,5,5,130,197,5,5,46,221,5,5,247,213,5,5,123,185,5,5,74,239,5,5,58,242,5,5,235,245,5,5,137,204,5,5,72,217,5,5,51,218,5,5,239,192,5,5,75,239,5,5,7,172,5,5,130,248,5,5,20,223,5,5,32,220,5,5,54,218,5,5,73,202,5,5,239,202,5,5,33,203,5,5,113,199,5,5,221,193,5,5,152,183,5,5,12,173,5,5,107,170,5,5,61,200,5,5,192,225,5,5,248,242,5,5,80,204,5,5,218,174,5,5,117,173,5,5,67,175,5,5,35,181,5,5,21,171,5,5,92,203,5,5,188,220,5,5,111,212,5,5,112,212,5,5,190,182,5,5,158,242,5,5,135,206,5,5,191,187,5,5,169,236,5,5,129,180,5,5,61,226,5,5,23,247,5,5,238,196,5,5,205,238,5,5,149,214,5,5,186,187,5,5,172,186,5,5,31,199,5,5,81,214,5,5,62,226,5,5,11,226,5,5,113,184,5,5,33,175,5,5,182,233,5,5,195,170,5,5,211,179,5,5,68,200,5,5,186,180,5,5,129,234,5,5,130,234,5,5,227,188,5,5,249,242,5,5,92,169,5,5,114,169,5,5,114,184,5,5,193,241,5,5,163,227,5,5,171,236,5,5,26,191,5,5,196,169,5,5,147,175,5,5,248,205,5,5,85,212,5,5,231,177,5,5,108,243,5,5,181,224,5,5,2,186,5,5,115,177,5,5,80,190,5,5,219,218,5,5,250,242,5,5,57,219,5,5,13,210,5,5,143,196,5,5,159,224,5,5,12,169,5,5,189,227,5,5,220,174,5,5,200,219,5,5,238,210,5,5,77,240,5,5,158,195,5,5,73,215,5,5,83,190,5,5,117,199,5,5,6,203,5,5,218,200,5,5,25,202,5,5,157,245,5,5,193,221,5,5,252,205,5,5,120,239,5,5,177,179,5,5,198,233,5,5,4,232,5,5,122,229,5,5,23,171,5,5,144,172,5,5,58,192,5,5,229,215,5,5,9,220,5,5,93,169,5,5,179,232,5,5,127,170,5,5,33,184,5,5,240,193,5,5,112,248,5,5,241,193,5,5,53,177,5,5,157,192,5,5,240,177,5,5,168,243,5,5,99,182,5,5,220,171,5,5,234,232,5,5,240,233,5,5,42,171,5,5,106,218,5,5,10,207,5,5,226,200,5,5,138,168,5,5,73,244,5,5,119,187,5,5,155,172,5,5,98,224,5,5,112,211,5,5,16,173,5,5,41,203,5,5,151,170,5,5,186,195,5,5,59,178,5,5,179,222,5,5,70,225,5,5,152,170,5,5,230,200,5,5,36,184,5,5,35,219,5,5,195,246,5,5,237,180,5,5,181,222,5,5,69,228,5,5,83,222,5,5,242,168,5,5,139,233,5,5,233,171,5,5,49,174,5,5,203,200,5,5,248,204,5,5,70,231,5,5,13,232,5,5,242,200,5,5,158,245,5,5,209,177,5,5,52,197,5,5,234,243,5,5,200,221,5,5,5,194,5,5,43,212,5,5,160,239,5,5,249,200,5,5,26,236,5,5,172,230,5,5,173,230,5,5,202,237,5,5,130,183,5,5,30,225,5,5,105,184,5,5,147,183,5,5,130,184,5,5,219,168,5,5,211,188,5,5,86,192,5,5,91,192,5,5,9,194,5,5,189,186,5,5,213,170,5,5,212,236,5,5,39,187,5,5,207,197,5,5,79,213,5,5,113,207,5,5,104,208,5,5,105,208,5,5,209,208,5,5,43,222,5,5,131,223,5,5,11,173,5,5,110,206,5,5,218,197,5,5,110,208,5,5,173,226,5,5,251,202,5,5,210,237,5,5,24,247,5,5,34,198,5,5,57,231,5,5,115,220,5,5,223,228,5,5,142,231,5,5,123,226,5,5,203,241,5,5,8,201,5,5,192,181,5,5,162,180,5,5,103,216,5,5,66,212,5,5,14,193,5,5,45,209,5,5,142,240,5,5,40,186,5,5,125,217,5,5,13,245,5,5,3,196,5,5,197,186,5,5,182,178,5,5,73,194,5,5,117,206,5,5,191,217,5,5,185,193,5,5,18,229,5,5,254,197,5,5,129,217,5,5,120,206,5,5,13,201,5,5,88,221,5,5,247,178,5,5,202,186,5,5,7,194,5,5,186,186,5,5,200,236,5,5,26,187,5,5,97,208,5,5,20,222,5,5,8,173,5,5,252,200,5,5,197,197,5,5,219,192,5,5,49,231,5,5,226,178,5,5,118,226,5,5,188,241,5,5,38,186,5,5,245,195,5,5,186,217,5,5,192,194,5,5,44,217,5,5,173,195,5,5,218,176,5,5,208,197,5,5,249,246,5,5,210,173,5,5,120,192,5,5,59,186,5,5,28,178,5,5,29,249,5,5,10,179,5,5,160,220,5,5,62,190,5,5,230,217,5,5,128,185,5,5,60,222,5,5,127,195,5,5,87,187,5,5,221,185,5,5,178,175,5,5,128,195,5,5,182,191,5,5,74,217,5,5,13,234,5,5,15,224,5,5,139,210,5,5,48,192,5,5,185,205,5,5,33,247,5,5,138,244,5,5,137,170,5,5,19,234,5,5,203,189,5,5,170,220,5,5,227,185,5,5,55,247,5,5,114,235,5,5,189,175,5,5,28,231,5,5,177,238,5,5,216,202,5,5,5,198,5,5,38,231,5,5,9,237,5,5,42,231,5,5,87,236,5,5,88,236,5,5,252,179,5,5,87,184,5,5,45,217,5,5,46,217,5,5,251,194,5,5,29,189,5,5,215,192,5,5,123,182,5,5,210,235,5,5,156,179,5,5,96,189,5,5,3,173,5,5,206,225,5,5,147,234,5,5,79,195,5,5,136,238,5,5,164,218,5,5,211,235,5,5,226,239,5,5,121,220,5,5,236,214,5,5,234,227,5,5,220,192,5,5,212,235,5,5,227,239,5,5,108,181,5,5,9,183,5,5,40,236,5,5,118,237,5,5,180,223,5,5,79,221,5,5,233,239,5,5,226,233,5,5,209,197,5,5,56,233,5,5,101,210,5,5,9,174,5,5,44,241,5,5,188,246,5,5,76,234,5,5,170,182,5,5,251,233,5,5,179,173,5,5,249,220,5,5,104,236,5,5,131,219,5,5,185,248,5,5,190,234,5,5,43,239,5,5,44,239,5,5,252,223,5,5,158,174,5,5,150,188,5,5,47,221,5,5,188,188,5,5,231,234,5,5,236,245,5,5,52,248,5,5,72,246,5,5,29,186,5,5,30,249,5,5,78,249,5,5,208,244,5,5,96,186,5,5,106,184,5,5,222,193,5,5,201,179,5,5,76,204,5,5,11,179,5,5,105,237,5,5,151,202,5,5,67,210,5,5,38,212,5,5,187,247,5,5,243,184,5,5,58,239,5,5,88,197,5,5,208,237,5,5,177,244,5,5,145,238,5,5,146,238,5,5,174,217,5,5,99,245,5,5,190,213,5,5,91,170,5,5,84,234,5,5,111,217,5,5,197,168,5,5,138,177,5,5,212,249,5,5,161,225,5,5,14,248,5,5,111,176,5,5,134,245,5,5,243,240,5,5,192,234,5,5,182,235,5,5,76,239,5,5,240,190,5,5,193,188,5,5,61,222,5,5,225,172,5,5,82,233,5,5,186,221,5,5,253,188,5,5,241,172,5,5,33,186,5,5,88,187,5,5,231,217,5,5,95,191,5,5,99,195,5,5,63,190,5,5,160,184,5,5,197,232,5,5,219,228,5,5,49,221,5,5,189,247,5,5,22,227,5,5,49,208,5,5,210,244,5,5,53,209,5,5,179,181,5,5,23,191,5,5,115,236,5,5,77,234,5,5,173,186,5,5,15,182,5,5,137,171,5,5,166,226,5,5,152,238,5,5,191,201,5,5,217,247,5,5,180,199,5,5,122,199,5,5,38,230,5,5,71,242,5,5,224,225,5,5,248,192,5,5,25,247,5,5,175,218,5,5,231,176,5,5,66,201,5,5,116,181,5,5,189,199,5,5,210,181,5,5,67,222,5,5,245,226,5,5,30,178,5,5,197,169,5,5,29,173,5,5,110,241,5,5,44,199,5,5,48,216,5,5,101,216,5,5,228,222,5,5,49,168,5,5,250,241,5,5,85,233,5,5,123,174,5,5,157,195,5,5,140,232,5,5,40,230,5,5,152,230,5,5,80,185,5,5,182,223,5,5,252,171,5,5,102,191,5,5,102,196,5,5,36,223,5,5,10,246,5,5,37,223,5,5,130,180,5,5,27,190,5,5,171,173,5,5,11,223,5,5,110,195,5,5,13,199,5,5,117,217,5,5,201,176,5,5,59,233,5,5,89,224,5,5,187,228,5,5,51,232,5,5,216,182,5,5,166,174,5,5,206,224,5,5,96,239,5,5,185,210,5,5,246,239,5,5,168,179,5,5,33,213,5,5,231,248,5,5,83,173,5,5,245,173,5,5,178,248,5,5,254,192,5,5,90,214,5,5,39,225,5,5,165,248,5,5,69,229,5,5,242,196,5,5,207,216,5,5,49,180,5,5,74,246,5,5,65,244,5,5,173,249,5,5,71,215,5,5,232,248,5,5,107,203,5,5,52,194,5,5,183,175,5,5,103,188,5,5,98,206,5,5,81,221,5,5,22,171,5,5,70,190,5,5,74,213,5,5,198,241,5,5,215,179,5,5,172,234,5,5,81,213,5,5,77,222,5,5,31,235,5,5,78,222,5,5,183,191,5,5,71,190,5,5,193,181,5,5,126,247,5,5,62,179,5,5,135,233,5,5,28,184,5,5,41,214,5,5,231,226,5,5,60,194,5,5,215,214,5,5,99,242,5,5,43,249,5,5,91,248,5,5,92,231,5,5,122,191,5,5,205,239,5,5,53,168,5,5,53,232,5,5,31,210,5,5,22,174,5,5,132,183,5,5,224,247,5,5,70,237,5,5,243,236,5,5,218,190,5,5,32,235,5,5,139,185,5,5,179,211,5,5,91,214,5,5,157,209,5,5,39,238,5,5,118,229,5,5,16,234,5,5,230,225,5,5,155,247,5,5,143,220,5,5,242,193,5,5,217,213,5,5,39,200,5,5,243,190,5,5,229,191,5,5,106,185,5,5,143,240,5,5,50,208,5,5,68,233,5,5,124,208,5,5,95,231,5,5,200,215,5,5,248,173,5,5,131,235,5,5,22,226,5,5,31,224,5,5,79,169,5,5,201,174,5,5,74,215,5,5,81,222,5,5,124,194,5,5,219,242,5,5,199,233,5,5,234,188,5,5,174,225,5,5,167,237,5,5,168,237,5,5,68,205,5,5,210,241,5,5,5,171,5,5,211,176,5,5,221,216,5,5,34,202,5,5,72,209,5,5,73,209,5,5,171,220,5,5,145,245,5,5,56,209,5,5,248,193,5,5,74,244,5,5,53,195,5,5,19,203,5,5,45,205,5,5,112,172,5,5,208,211,5,5,144,187,5,5,63,231,5,5,241,248,5,5,123,168,5,5,124,168,5,5,210,195,5,5,146,245,5,5,174,238,5,5,167,189,5,5,148,194,5,5,250,206,5,5,199,173,5,5,60,188,5,5,46,190,5,5,90,173,5,5,173,234,5,5,114,244,5,5,4,220,5,5,29,231,5,5,140,244,5,5,236,180,5,5,77,246,5,5,74,210,5,5,231,200,5,5,123,181,5,5,96,240,5,5,247,197,5,5,72,192,5,5,18,250,5,5,241,194,5,5,242,171,5,5,138,191,5,5,114,248,5,5,73,230,5,5,99,244,5,5,154,244,5,5,237,221,5,5,58,216,5,5,52,225,5,5,100,244,5,5,46,214,5,5,142,221,5,5,40,235,5,5,37,244,5,5,55,225,5,5,68,178,5,5,103,224,5,5,98,232,5,5,75,192,5,5,22,195,5,5,70,196,5,5,15,245,5,5,45,210,5,5,96,238,5,5,0,164,5,5,223,244,5,5,54,213,5,5,62,191,5,5,75,190,5,5,150,239,5,5,151,239,5,5,148,220,5,5,97,218,5,5,129,211,5,5,140,215,5,5,239,180,5,5,218,224,5,5,12,190,5,5,158,247,5,5,110,188,5,5,30,168,5,5,100,240,5,5,76,194,5,5,120,242,5,5,4,194,5,5,145,191,5,5,146,180,5,5,149,245,5,5,88,235,5,5,231,243,5,5,207,201,5,5,89,221,5,5,132,229,5,5,96,173,5,5,220,202,5,5,178,238,5,5,227,170,5,5,150,245,5,5,10,237,5,5,204,181,5,5,85,175,5,5,134,229,5,5,86,175,5,5,224,237,5,5,59,173,5,5,98,218,5,5,28,240,5,5,247,200,5,5,50,174,5,5,142,233,5,5,39,211,5,5,104,190,5,5,235,243,5,5,165,239,5,5,73,178,5,5,230,244,5,5,20,237,5,5,155,180,5,5,81,236,5,5,193,192,5,5,247,179,5,5,74,184,5,5,142,218,5,5,248,191,5,5,60,195,5,5,95,189,5,5,205,225,5,5,95,218,5,5,116,220,5,5,218,214,5,5,219,227,5,5,198,235,5,5,227,238,5,5,199,235,5,5,194,192,5,5,145,218,5,5,112,194,5,5,68,191,5,5,191,211,5,5,57,197,5,5,27,236,5,5,98,210,5,5,182,234,5,5,97,181,5,5,96,206,5,5,68,234,5,5,175,223,5,5,129,183,5,5,241,220,5,5,159,182,5,5,183,197,5,5,66,246,5,5,77,186,5,5,145,188,5,5,162,213,5,5,203,249,5,5,208,221,5,5,82,234,5,5,168,244,5,5,236,223,5,5,221,245,5,5,251,178,5,5,129,247,5,5,102,176,5,5,92,217,5,5,89,245,5,5,51,170,5,5,243,238,5,5,108,238,5,5,170,199,5,5,185,201,5,5,21,222,5,5,165,186,5,5,168,221,5,5,107,192,5,5,255,190,5,5,91,174,5,5,203,247,5,5,26,221,5,5,55,190,5,5,13,178,5,5,21,186,5,5,207,217,5,5,72,187,5,5,166,235,5,5,4,239,5,5,25,246,5,5,148,184,5,5,191,232,5,5,237,172,5,5,173,191,5,5,185,234,5,5,134,247,5,5,146,195,5,5,31,230,5,5,232,241,5,5,41,216,5,5,129,230,5,5,72,185,5,5,102,241,5,5,75,191,5,5,186,199,5,5,34,223,5,5,177,223,5,5,209,181,5,5,202,216,5,5,209,247,5,5,164,249,5,5,169,211,5,5,123,180,5,5,213,248,5,5,208,182,5,5,2,199,5,5,38,229,5,5,155,241,5,5,14,221,5,5,75,221,5,5,157,179,5,5,69,173,5,5,100,203,5,5,177,248,5,5,76,224,5,5,26,225,5,5,76,221,5,5,29,239,5,5,152,209,5,5,10,174,5,5,191,179,5,5,238,190,5,5,28,194,5,5,118,233,5,5,129,235,5,5,15,238,5,5,97,229,5,5,159,181,5,5,41,242,5,5,8,235,5,5,19,173,5,5,15,249,5,5,41,168,5,5,216,236,5,5,38,179,5,5,47,208,5,5,68,213,5,5,151,234,5,5,60,209,5,5,66,178,5,5,253,223,5,5,177,233,5,5,140,237,5,5,70,169,5,5,51,222,5,5,58,215,5,5,107,208,5,5,197,195,5,5,242,206,5,5,135,245,5,5,230,193,5,5,55,209,5,5,34,225,5,5,98,244,5,5,19,216,5,5,215,200,5,5,40,214,5,5,224,197,5,5,238,236,5,5,137,215,5,5,212,244,5,5,47,174,5,5,78,186,5,5,51,215,5,5,69,189,5,5,159,231,5,5,125,192,5,5,80,189,5,5,235,187,5,5,36,189,5,5,18,231,5,5,19,231,5,5,191,191,5,5,144,203,5,5,21,188,5,5,147,180,5,5,254,204,5,5,91,180,5,5,90,194,5,5,204,214,5,5,44,222,5,5,77,202,5,5,174,178,5,5,89,228,5,5,13,170,5,5,218,222,5,5,150,232,5,5,105,183,5,5,59,247,5,5,65,247,5,5,21,237,5,5,22,237,5,5,243,221,5,5,161,175,5,5,12,191,5,5,206,227,5,5,45,239,5,5,207,227,5,5,46,239,5,5,145,193,5,5,183,168,5,5,134,189,5,5,169,181,5,5,115,175,5,5,223,232,5,5,169,190,5,5,161,193,5,5,23,199,5,5,161,184,5,5,95,197,5,5,190,183,5,5,243,230,5,5,61,171,5,5,100,188,5,5,91,242,5,5,225,247,5,5,69,193,5,5,42,183,5,5,20,231,5,5,221,171,5,5,148,229,5,5,131,190,5,5,70,171,5,5,242,178,5,5,123,249,5,5,46,183,5,5,142,239,5,5,202,246,5,5,127,169,5,5,249,172,5,5,79,168,5,5,5,213,5,5,238,209,5,5,221,212,5,5,18,186,5,5,240,209,5,5,107,241,5,5,137,179,5,5,113,209,5,5,134,223,5,5,99,234,5,5,121,190,5,5,62,200,5,5,194,188,5,5,97,188,5,5,120,209,5,5,84,168,5,5,125,207,5,5,22,202,5,5,140,210,5,5,43,170,5,5,4,242,5,5,70,193,5,5,144,227,5,5,68,207,5,5,18,213,5,5,21,231,5,5,131,239,5,5,116,197,5,5,134,209,5,5,107,175,5,5,53,225,5,5,105,190,5,5,14,198,5,5,164,169,5,5,179,245,5,5,180,242,5,5,88,184,5,5,52,172,5,5,243,185,5,5,211,225,5,5,137,238,5,5,79,188,5,5,108,228,5,5,134,213,5,5,217,191,5,5,129,182,5,5,15,225,5,5,223,186,5,5,55,244,5,5,250,246,5,5,12,182,5,5,53,248,5,5,52,222,5,5,92,170,5,5,31,249,5,5,14,182,5,5,104,187,5,5,80,213,5,5,190,170,5,5,217,206,5,5,194,177,5,5,154,221,5,5,210,199,5,5,236,182,5,5,182,226,5,5,147,238,5,5,190,174,5,5,117,207,5,5,222,188,5,5,93,170,5,5,172,205,5,5,20,204,5,5,96,191,5,5,162,184,5,5,72,213,5,5,32,249,5,5,108,193,5,5,236,234,5,5,91,244,5,5,216,194,5,5,163,184,5,5,241,243,5,5,39,194,5,5,73,240,5,5,219,235,5,5,11,246,5,5,230,220,5,5,62,171,5,5,63,171,5,5,75,217,5,5,231,220,5,5,231,175,5,5,244,243,5,5,150,247,5,5,190,200,5,5,219,243,5,5,151,176,5,5,246,173,5,5,177,220,5,5,124,226,5,5,113,212,5,5,182,185,5,5,52,232,5,5,232,206,5,5,53,194,5,5,90,224,5,5,120,184,5,5,82,225,5,5,202,176,5,5,203,176,5,5,34,247,5,5,49,192,5,5,63,245,5,5,163,180,5,5,249,195,5,5,78,234,5,5,65,176,5,5,111,243,5,5,119,169,5,5,184,243,5,5,192,200,5,5,146,183,5,5,133,172,5,5,66,192,5,5,162,221,5,5,132,239,5,5,113,248,5,5,126,184,5,5,41,186,5,5,164,219,5,5,75,244,5,5,145,203,5,5,137,239,5,5,252,168,5,5,35,174,5,5,156,228,5,5,52,247,5,5,170,248,5,5,8,171,5,5,63,243,5,5,120,244,5,5,47,178,5,5,226,243,5,5,254,236,5,5,29,214,5,5,149,220,5,5,158,228,5,5,154,240,5,5,4,196,5,5,248,184,5,5,63,232,5,5,245,243,5,5,159,170,5,5,148,180,5,5,164,222,5,5,8,237,5,5,178,220,5,5,89,235,5,5,21,205,5,5,250,184,5,5,247,243,5,5,161,169,5,5,172,245,5,5,77,184,5,5,172,242,5,5,240,185,5,5,51,172,5,5,47,244,5,5,21,232,5,5,245,168,5,5,53,245,5,5,207,191,5,5,210,246,5,5,121,182,5,5,11,225,5,5,132,213,5,5,186,170,5,5,22,186,5,5,32,248,5,5,217,186,5,5,11,182,5,5,16,194,5,5,210,169,5,5,33,222,5,5,179,226,5,5,98,187,5,5,204,199,5,5,185,177,5,5,110,207,5,5,227,182,5,5,218,188,5,5,125,238,5,5,89,244,5,5,232,246,5,5,101,193,5,5,79,191,5,5,9,249,5,5,18,204,5,5,150,205,5,5,240,243,5,5,10,249,5,5,156,184,5,5,226,195,5,5,60,217,5,5,3,246,5,5,186,200,5,5,226,220,5,5,107,184,5,5,160,180,5,5,29,192,5,5,160,222,5,5,176,220,5,5,149,176,5,5,94,170,5,5,147,247,5,5,177,185,5,5,109,212,5,5,253,177,5,5,189,200,5,5,141,183,5,5,163,248,5,5,115,184,5,5,107,248,5,5,162,219,5,5,66,244,5,5,244,236,5,5,220,243,5,5,60,243,5,5,119,244,5,5,144,220,5,5,144,240,5,5,249,184,5,5,227,174,5,5,212,230,5,5,250,220,5,5,33,210,5,5,23,227,5,5,133,231,5,5,63,174,5,5,228,188,5,5,74,174,5,5,156,245,5,5,199,231,5,5,128,225,5,5,182,249,5,5,181,249,5,5,120,202,5,5,153,196,5,5,89,184,5,5,94,245,5,5,220,184,5,5,205,214,5,5,122,220,5,5,234,216,5,5,6,240,5,5,77,232,5,5,16,249,5,5,210,197,5,5,148,216,5,5,188,174,5,5,94,176,5,5,40,174,5,5,41,174,5,5,202,179,5,5,235,196,5,5,181,173,5,5,209,178,5,5,127,231,5,5,209,244,5,5,219,197,5,5,28,243,5,5,112,217,5,5,137,192,5,5,192,174,5,5,121,175,5,5,150,186,5,5,130,235,5,5,33,249,5,5,149,226,5,5,60,181,5,5,200,203,5,5,227,184,5,5,141,224,5,5,232,176,5,5,58,231,5,5,104,245,5,5,16,224,5,5,17,240,5,5,18,197,5,5,54,194,5,5,38,218,5,5,153,225,5,5,82,176,5,5,26,177,5,5,186,205,5,5,187,217,5,5,94,178,5,5,21,217,5,5,44,249,5,5,19,226,5,5,123,217,5,5,5,175,5,5,224,190,5,5,32,216,5,5,6,216,5,5,19,195,5,5,38,244,5,5,72,226,5,5,4,182,5,5,215,243,5,5,216,243,5,5,191,249,5,5,225,211,5,5,128,169,5,5,108,199,5,5,210,198,5,5,3,181,5,5,211,197,5,5,180,183,5,5,27,174,5,5,213,193,5,5,174,182,5,5,189,246,5,5,176,224,5,5,25,243,5,5,214,168,5,5,134,214,5,5,26,243,5,5,182,215,5,5,35,228,5,5,235,224,5,5,59,239,5,5,204,210,5,5,77,204,5,5,207,207,5,5,198,168,5,5,175,179,5,5,97,199,5,5,4,228,5,5,61,193,5,5,96,176,5,5,88,212,5,5,13,215,5,5,54,248,5,5,236,196,5,5,93,179,5,5,139,246,5,5,184,183,5,5,11,212,5,5,91,197,5,5,92,220,5,5,236,171,5,5,135,210,5,5,89,197,5,5,152,202,5,5,160,185,5,5,153,238,5,5,34,192,5,5,81,181,5,5,83,232,5,5,165,194,5,5,82,181,5,5,218,247,5,5,232,217,5,5,129,199,5,5,76,248,5,5,106,187,5,5,245,216,5,5,15,200,5,5,198,232,5,5,246,174,5,5,173,205,5,5,73,213,5,5,15,247,5,5,89,193,5,5,174,226,5,5,64,172,5,5,38,194,5,5,140,177,5,5,240,215,5,5,108,170,5,5,243,231,5,5,83,181,5,5,35,192,5,5,16,197,5,5,249,192,5,5,146,222,5,5,120,227,5,5,179,175,5,5,103,196,5,5,8,211,5,5,21,233,5,5,33,172,5,5,108,235,5,5,60,177,5,5,183,209,5,5,147,222,5,5,81,203,5,5,250,240,5,5,220,194,5,5,71,175,5,5,246,215,5,5,155,209,5,5,207,224,5,5,55,194,5,5,164,214,5,5,243,229,5,5,70,229,5,5,68,176,5,5,111,195,5,5,150,192,5,5,12,211,5,5,243,196,5,5,13,211,5,5,87,206,5,5,187,205,5,5,241,201,5,5,81,190,5,5,105,197,5,5,198,174,5,5,137,228,5,5,237,217,5,5,243,225,5,5,215,171,5,5,199,249,5,5,84,216,5,5,207,238,5,5,235,176,5,5,119,249,5,5,66,172,5,5,120,249,5,5,200,212,5,5,35,247,5,5,47,246,5,5,97,179,5,5,149,246,5,5,204,241,5,5,47,181,5,5,23,181,5,5,225,175,5,5,253,240,5,5,109,247,5,5,63,179,5,5,163,244,5,5,33,174,5,5,201,175,5,5,56,194,5,5,153,186,5,5,125,225,5,5,47,197,5,5,29,184,5,5,200,249,5,5,216,179,5,5,76,213,5,5,253,218,5,5,180,211,5,5,20,226,5,5,230,172,5,5,181,227,5,5,243,193,5,5,131,178,5,5,77,177,5,5,93,214,5,5,211,224,5,5,201,215,5,5,212,210,5,5,76,179,5,5,23,226,5,5,158,192,5,5,21,211,5,5,249,206,5,5,126,204,5,5,224,243,5,5,143,170,5,5,27,175,5,5,200,205,5,5,146,203,5,5,240,176,5,5,93,225,5,5,206,177,5,5,32,224,5,5,97,231,5,5,17,200,5,5,70,192,5,5,155,246,5,5,203,215,5,5,243,178,5,5,23,212,5,5,124,249,5,5,20,203,5,5,4,170,5,5,8,244,5,5,214,210,5,5,43,171,5,5,177,227,5,5,24,197,5,5,183,178,5,5,197,172,5,5,7,232,5,5,101,182,5,5,137,175,5,5,94,247,5,5,253,180,5,5,168,171,5,5,242,176,5,5,243,176,5,5,248,197,5,5,249,197,5,5,29,204,5,5,184,224,5,5,7,216,5,5,176,197,5,5,47,214,5,5,113,203,5,5,254,180,5,5,249,176,5,5,234,186,5,5,39,244,5,5,148,177,5,5,156,170,5,5,157,170,5,5,250,247,5,5,118,197,5,5,134,175,5,5,59,216,5,5,4,181,5,5,83,175,5,5,79,192,5,5,110,230,5,5,45,243,5,5,215,210,5,5,30,204,5,5,209,203,5,5,157,246,5,5,217,202,5,5,62,247,5,5,56,173,5,5,139,175,5,5,205,180,5,5,133,229,5,5,255,204,5,5,31,204,5,5,14,232,5,5,135,229,5,5,216,249,5,5,248,200,5,5,212,233,5,5,87,218,5,5,135,219,5,5,40,211,5,5,219,224,5,5,167,217,5,5,167,192,5,5,251,176,5,5,90,177,5,5,102,231,5,5,13,200,5,5,15,198,5,5,32,204,5,5,19,221,5,5,215,185,5,5,224,177,5,5,10,183,5,5,107,217,5,5,38,226,5,5,61,181,5,5,62,181,5,5,222,185,5,5,56,201,5,5,139,218,5,5,136,206,5,5,0,161,5,5,50,192,5,5,19,197,5,5,142,225,5,5,56,199,5,5,128,201,5,5,176,236,5,5,193,207,5,5,168,198,5,5,126,217,5,5,46,205,5,5,131,201,5,5,66,181,5,5,156,246,5,5,255,236,5,5,41,226,5,5,153,178,5,5,106,240,5,5,133,242,5,5,213,173,5,5,32,236,5,5,79,187,5,5,23,198,5,5,94,229,5,5,21,243,5,5,248,233,5,5,187,177,5,5,6,235,5,5,124,182,5,5,165,218,5,5,89,220,5,5,187,199,5,5,135,222,5,5,208,227,5,5,11,174,5,5,193,177,5,5,160,181,5,5,239,209,5,5,135,214,5,5,79,207,5,5,69,219,5,5,188,199,5,5,104,215,5,5,97,248,5,5,31,189,5,5,158,189,5,5,146,217,5,5,211,199,5,5,12,179,5,5,78,204,5,5,195,177,5,5,101,168,5,5,237,245,5,5,130,182,5,5,181,199,5,5,91,237,5,5,150,212,5,5,188,169,5,5,60,186,5,5,61,186,5,5,83,212,5,5,55,248,5,5,237,218,5,5,170,181,5,5,199,168,5,5,161,247,5,5,190,246,5,5,141,237,5,5,215,198,5,5,60,239,5,5,6,247,5,5,62,222,5,5,191,213,5,5,234,181,5,5,237,185,5,5,13,197,5,5,6,195,5,5,8,187,5,5,195,188,5,5,107,198,5,5,233,217,5,5,148,247,5,5,193,243,5,5,16,247,5,5,229,220,5,5,106,203,5,5,83,242,5,5,200,220,5,5,54,241,5,5,149,228,5,5,15,240,5,5,138,245,5,5,136,228,5,5,64,184,5,5,181,216,5,5,151,247,5,5,141,210,5,5,234,201,5,5,140,245,5,5,9,245,5,5,108,203,5,5,40,249,5,5,31,191,5,5,188,228,5,5,83,176,5,5,192,187,5,5,143,198,5,5,208,238,5,5,176,212,5,5,164,215,5,5,136,187,5,5,210,210,5,5,196,213,5,5,210,186,5,5,200,169,5,5,88,206,5,5,246,211,5,5,83,203,5,5,74,219,5,5,254,218,5,5,155,192,5,5,71,237,5,5,54,232,5,5,219,175,5,5,216,176,5,5,37,176,5,5,140,185,5,5,59,241,5,5,38,189,5,5,150,222,5,5,124,184,5,5,45,249,5,5,30,184,5,5,149,229,5,5,231,169,5,5,247,244,5,5,208,241,5,5,150,229,5,5,175,225,5,5,115,186,5,5,217,245,5,5,201,231,5,5,220,242,5,5,201,205,5,5,186,194,5,5,197,173,5,5,99,248,5,5,126,229,5,5,171,191,5,5,121,235,5,5,148,245,5,5,20,195,5,5,14,245,5,5,254,171,5,5,119,201,5,5,47,183,5,5,68,182,5,5,247,203,5,5,144,185,5,5,2,220,5,5,147,198,5,5,137,190,5,5,216,238,5,5,162,192,5,5,171,248,5,5,240,181,5,5,121,242,5,5,77,194,5,5,41,189,5,5,173,201,5,5,131,212,5,5,218,202,5,5,221,202,5,5,107,205,5,5,33,204,5,5,211,173,5,5,24,236,5,5,68,187,5,5,2,235,5,5,170,177,5,5,156,218,5,5,95,248,5,5,143,181,5,5,73,206,5,5,66,219,5,5,27,189,5,5,51,186,5,5,207,198,5,5,78,205,5,5,160,247,5,5,184,246,5,5,17,239,5,5,152,189,5,5,226,245,5,5,121,202,5,5,132,237,5,5,169,216,5,5,40,222,5,5,191,243,5,5,233,246,5,5,254,194,5,5,137,247,5,5,214,217,5,5,151,205,5,5,255,194,5,5,131,245,5,5,56,184,5,5,101,203,5,5,205,210,5,5,189,169,5,5,17,191,5,5,129,187,5,5,184,228,5,5,76,203,5,5,79,176,5,5,25,249,5,5,215,176,5,5,14,184,5,5,138,192,5,5,144,229,5,5,144,222,5,5,127,212,5,5,209,242,5,5,194,231,5,5,206,210,5,5,188,205,5,5,142,245,5,5,239,203,5,5,218,233,5,5,62,186,5,5,112,176,5,5,115,176,5,5,46,213,5,5,245,249,5,5,218,170,5,5,142,200,5,5,143,200,5,5,120,176,5,5,95,235,5,5,44,169,5,5,221,170,5,5,222,170,5,5,223,170,5,5,96,235,5,5,224,170,5,5,14,169,5,5,128,176,5,5,225,170,5,5,226,170,5,5,253,173,5,5,44,219,5,5,101,211,5,5,103,211,5,5,91,173,5,5,71,176,5,5,70,176,5,5,60,238,5,5,179,218,5,5,164,170,5,5,165,170,5,5,204,221,5,5,113,241,5,5,114,203,5,5,119,177,5,5,7,173,5,5,190,184,5,5,34,215,5,5,116,241,5,5,117,241,5,5,222,214,5,5,202,235,5,5,104,238,5,5,196,187,5,5,222,206,5,5,59,214,5,5,151,243,5,5,193,228,5,5,135,227,5,5,174,248,5,5,111,240,5,5,120,177,5,5,116,243,5,5,216,195,5,5,69,188,5,5,30,236,5,5,113,182,5,5,123,230,5,5,121,177,5,5,100,181,5,5,206,187,5,5,159,245,5,5,122,177,5,5,217,195,5,5,229,242,5,5,237,228,5,5,231,202,5,5,179,174,5,5,226,173,5,5,170,210,5,5,142,226,5,5,211,246,5,5,115,238,5,5,128,196,5,5,45,193,5,5,255,173,5,5,177,177,5,5,246,181,5,5,219,178,5,5,226,213,5,5,33,248,5,5,179,179,5,5,48,244,5,5,180,225,5,5,192,222,5,5,250,227,5,5,193,217,5,5,75,196,5,5,47,191,5,5,61,180,5,5,103,241,5,5,44,208,5,5,253,169,5,5,11,192,5,5,2,210,5,5,126,238,5,5,74,195,5,5,143,248,5,5,183,203,5,5,207,235,5,5,184,227,5,5,178,223,5,5,34,222,5,5,183,225,5,5,55,212,5,5,131,189,5,5,173,210,5,5,12,181,5,5,131,196,5,5,57,235,5,5,208,235,5,5,248,171,5,5,12,241,5,5,254,232,5,5,53,217,5,5,73,227,5,5,243,247,5,5,54,217,5,5,27,179,5,5,28,179,5,5,102,227,5,5,86,196,5,5,51,226,5,5,95,180,5,5,196,238,5,5,162,245,5,5,249,226,5,5,18,187,5,5,135,230,5,5,41,222,5,5,139,174,5,5,244,223,5,5,27,244,5,5,48,218,5,5,121,183,5,5,236,202,5,5,166,224,5,5,50,191,5,5,71,202,5,5,85,186,5,5,174,200,5,5,228,169,5,5,100,177,5,5,212,197,5,5,254,169,5,5,158,190,5,5,167,177,5,5,159,205,5,5,45,241,5,5,143,247,5,5,230,195,5,5,42,242,5,5,67,176,5,5,240,199,5,5,203,228,5,5,56,226,5,5,47,239,5,5,136,177,5,5,231,242,5,5,107,206,5,5,10,170,5,5,172,211,5,5,177,241,5,5,86,178,5,5,65,224,5,5,15,181,5,5,79,224,5,5,165,236,5,5,214,175,5,5,191,174,5,5,5,226,5,5,59,242,5,5,225,221,5,5,193,245,5,5,48,241,5,5,125,243,5,5,171,181,5,5,216,170,5,5,197,187,5,5,172,181,5,5,187,231,5,5,200,190,5,5,68,217,5,5,141,178,5,5,139,177,5,5,4,229,5,5,28,210,5,5,148,238,5,5,34,186,5,5,150,237,5,5,100,175,5,5,143,204,5,5,217,235,5,5,199,224,5,5,49,179,5,5,193,174,5,5,232,242,5,5,8,224,5,5,200,224,5,5,133,215,5,5,184,206,5,5,151,237,5,5,229,186,5,5,30,245,5,5,113,168,5,5,68,222,5,5,45,172,5,5,252,174,5,5,17,224,5,5,6,244,5,5,115,245,5,5,20,181,5,5,57,179,5,5,37,205,5,5,199,174,5,5,74,177,5,5,234,203,5,5,6,250,5,5,112,218,5,5,72,215,5,5,60,235,5,5,92,242,5,5,161,238,5,5,186,181,5,5,131,203,5,5,112,197,5,5,79,222,5,5,138,170,5,5,124,237,5,5,233,206,5,5,195,233,5,5,99,224,5,5,210,187,5,5,216,244,5,5,227,225,5,5,3,182,5,5,195,208,5,5,178,170,5,5,181,170,5,5,126,200,5,5,38,202,5,5,224,242,5,5,173,237,5,5,125,206,5,5,87,202,5,5,244,238,5,5,213,226,5,5,187,178,5,5,193,214,5,5,190,240,5,5,70,220,5,5,240,187,5,5,129,241,5,5,33,207,5,5,11,219,5,5,226,216,5,5,167,230,5,5,195,199,5,5,163,183,5,5,176,198,5,5,48,171,5,5,138,182,5,5,25,234,5,5,225,209,5,5,214,233,5,5,66,221,5,5,47,169,5,5,173,242,5,5,57,177,5,5,200,191,5,5,102,233,5,5,53,169,5,5,25,230,5,5,64,197,5,5,29,241,5,5,242,187,5,5,227,224,5,5,6,217,5,5,52,170,5,5,206,212,5,5,100,171,5,5,215,220,5,5,165,169,5,5,61,228,5,5,252,178,5,5,162,249,5,5,2,238,5,5,215,203,5,5,171,199,5,5,27,187,5,5,204,247,5,5,169,221,5,5,90,199,5,5,20,242,5,5,149,184,5,5,161,188,5,5,68,216,5,5,212,246,5,5,108,192,5,5,108,190,5,5,126,189,5,5,29,234,5,5,153,194,5,5,45,231,5,5,44,187,5,5,163,211,5,5,35,201,5,5,76,193,5,5,139,199,5,5,67,246,5,5,54,201,5,5,118,243,5,5,93,236,5,5,92,174,5,5,92,180,5,5,186,230,5,5,232,205,5,5,50,184,5,5,53,230,5,5,236,183,5,5,73,185,5,5,112,188,5,5,36,201,5,5,78,193,5,5,185,185,5,5,45,198,5,5,160,240,5,5,183,171,5,5,118,231,5,5,171,169,5,5,122,202,5,5,77,243,5,5,28,172,5,5,53,233,5,5,67,214,5,5,252,212,5,5,172,216,5,5,148,187,5,5,138,247,5,5,27,225,5,5,165,249,5,5,169,213,5,5,165,200,5,5,127,210,5,5,239,173,5,5,40,241,5,5,34,172,5,5,163,232,5,5,222,177,5,5,8,197,5,5,206,240,5,5,238,215,5,5,75,238,5,5,76,180,5,5,155,236,5,5,150,207,5,5,113,219,5,5,182,169,5,5,161,181,5,5,136,222,5,5,158,197,5,5,241,241,5,5,120,243,5,5,108,189,5,5,241,199,5,5,166,232,5,5,167,232,5,5,187,223,5,5,105,225,5,5,34,209,5,5,227,230,5,5,45,219,5,5,174,175,5,5,26,249,5,5,170,249,5,5,20,238,5,5,36,230,5,5,172,232,5,5,82,243,5,5,126,188,5,5,194,240,5,5,40,170,5,5,118,207,5,5,189,173,5,5,188,183,5,5,156,203,5,5,239,239,5,5,82,248,5,5,252,189,5,5,241,215,5,5,68,236,5,5,22,245,5,5,15,207,5,5,242,215,5,5,194,234,5,5,189,178,5,5,147,170,5,5,184,235,5,5,121,170,5,5,103,244,5,5,8,229,5,5,75,246,5,5,126,207,5,5,131,220,5,5,229,203,5,5,215,213,5,5,232,177,5,5,252,207,5,5,34,238,5,5,154,172,5,5,148,199,5,5,101,183,5,5,253,207,5,5,174,249,5,5,214,199,5,5,40,203,5,5,222,243,5,5,41,173,5,5,18,241,5,5,67,192,5,5,248,236,5,5,48,173,5,5,88,177,5,5,101,204,5,5,99,190,5,5,37,231,5,5,108,183,5,5,229,243,5,5,211,202,5,5,67,241,5,5,235,179,5,5,47,217,5,5,214,248,5,5,125,212,5,5,183,247,5,5,197,238,5,5,203,184,5,5,156,241,5,5,177,196,5,5,156,236,5,5,239,249,5,5,80,207,5,5,4,246,5,5,223,234,5,5,101,180,5,5,190,245,5,5,11,183,5,5,188,242,5,5,133,184,5,5,121,243,5,5,4,225,5,5,78,226,5,5,14,215,5,5,5,228,5,5,228,176,5,5,232,187,5,5,63,186,5,5,224,223,5,5,236,213,5,5,68,175,5,5,194,243,5,5,50,209,5,5,124,201,5,5,80,176,5,5,69,175,5,5,109,241,5,5,24,227,5,5,192,246,5,5,244,231,5,5,136,194,5,5,125,174,5,5,38,240,5,5,121,227,5,5,11,195,5,5,167,207,5,5,115,199,5,5,38,224,5,5,216,201,5,5,21,214,5,5,247,249,5,5,215,187,5,5,236,236,5,5,59,220,5,5,226,210,5,5,12,229,5,5,189,205,5,5,5,201,5,5,73,236,5,5,196,225,5,5,104,212,5,5,245,244,5,5,56,176,5,5,40,225,5,5,249,249,5,5,166,248,5,5,236,176,5,5,72,200,5,5,21,226,5,5,55,232,5,5,118,180,5,5,201,189,5,5,196,234,5,5,44,234,5,5,68,225,5,5,79,217,5,5,57,176,5,5,137,243,5,5,239,213,5,5,231,198,5,5,203,223,5,5,51,208,5,5,239,217,5,5,95,175,5,5,78,177,5,5,138,243,5,5,4,241,5,5,97,168,5,5,181,244,5,5,216,187,5,5,129,225,5,5,144,194,5,5,107,213,5,5,36,174,5,5,116,242,5,5,35,202,5,5,9,244,5,5,98,201,5,5,94,238,5,5,146,194,5,5,255,171,5,5,21,195,5,5,30,231,5,5,54,225,5,5,24,182,5,5,113,211,5,5,152,239,5,5,85,202,5,5,119,197,5,5,4,237,5,5,153,239,5,5,227,210,5,5,38,219,5,5,158,235,5,5,84,175,5,5,11,237,5,5,107,204,5,5,69,208,5,5,70,208,5,5,228,210,5,5,2,234,5,5,24,195,5,5,63,220,5,5,72,208,5,5,17,237,5,5,206,170,5,5,56,172,5,5,45,222,5,5,108,241,5,5,53,222,5,5,84,222,5,5,64,202,201,160,231,0,5,5,247,237,5,5,105,203,5,5,24,231,5,5,166,195,5,5,167,195,5,5,48,217,5,5,192,238,5,5,155,203,5,5,110,178,5,5,75,245,5,5,236,179,5,5,234,213,5,5,55,217,5,5,181,168,5,5,53,184,5,5,187,245,5,5,129,246,5,5,182,168,5,5,54,206,5,5,54,184,5,5,4,210,5,5,159,179,5,5,124,220,5,5,37,216,5,5,78,199,5,5,230,175,5,5,74,249,5,5,114,182,5,5,35,190,5,5,36,190,5,5,38,188,5,5,15,185,5,5,136,214,5,5,53,207,5,5,186,218,5,5,39,179,5,5,129,223,5,5,122,231,5,5,48,239,5,5,245,172,5,5,177,221,5,5,133,227,5,5,213,230,5,5,146,211,5,5,56,215,5,5,61,217,5,5,29,194,5,5,42,213,5,5,239,237,5,5,182,195,5,5,206,168,5,5,147,182,5,5,14,174,5,5,38,234,5,5,89,180,5,5,29,243,5,5,59,215,5,5,185,183,5,5,222,212,5,5,241,209,5,5,227,233,5,5,111,181,5,5,220,197,5,5,16,181,5,5,252,185,5,5,9,240,5,5,106,215,5,5,25,169,5,5,142,219,5,5,126,218,5,5,182,173,5,5,93,211,5,5,12,183,5,5,105,243,5,5,202,238,5,5,122,216,5,5,223,212,5,5,152,187,5,5,76,189,5,5,235,239,5,5,30,198,5,5,162,179,5,5,61,239,5,5,84,247,5,5,81,231,5,5,178,184,5,5,187,218,5,5,202,191,5,5,5,225,5,5,182,198,5,5,195,242,5,5,84,205,5,5,173,181,5,5,123,216,5,5,44,181,5,5,37,249,5,5,158,210,5,5,115,227,5,5,63,222,5,5,243,208,5,5,64,186,5,5,222,198,5,5,81,204,5,5,118,171,5,5,135,223,5,5,101,186,5,5,203,171,5,5,224,212,5,5,72,242,5,5,136,223,5,5,29,250,5,5,251,171,5,5,52,241,5,5,98,226,5,5,109,193,5,5,203,245,5,5,252,221,5,5,64,222,5,5,142,246,5,5,92,197,5,5,13,173,5,5,187,221,5,5,188,221,5,5,79,235,5,5,77,245,5,5,134,169,5,5,196,188,5,5,109,170,5,5,133,221,5,5,122,175,5,5,230,221,5,5,204,171,5,5,58,248,5,5,247,174,5,5,156,243,5,5,208,213,5,5,25,227,5,5,108,215,5,5,15,184,5,5,193,244,5,5,185,204,5,5,64,215,5,5,16,184,5,5,161,202,5,5,31,243,5,5,225,212,5,5,34,237,5,5,42,169,5,5,161,171,5,5,100,195,5,5,254,185,5,5,212,222,5,5,48,246,5,5,182,209,5,5,82,231,5,5,83,231,5,5,50,179,5,5,64,193,5,5,206,209,5,5,63,225,5,5,122,190,5,5,203,238,5,5,74,223,5,5,212,199,5,5,85,198,5,5,160,169,5,5,40,194,5,5,28,227,5,5,40,234,5,5,82,189,5,5,221,194,5,5,219,174,5,5,16,182,5,5,157,206,5,5,119,171,5,5,69,222,5,5,156,209,5,5,66,193,5,5,242,239,5,5,35,198,5,5,149,247,5,5,43,175,5,5,207,232,5,5,29,227,5,5,122,209,5,5,217,201,5,5,40,192,5,5,84,242,5,5,244,234,5,5,128,218,5,5,20,250,5,5,26,247,5,5,246,216,5,5,128,220,5,5,253,174,5,5,84,232,5,5,41,234,5,5,235,217,5,5,226,212,5,5,186,226,5,5,222,247,5,5,232,232,5,5,41,209,5,5,126,199,5,5,157,237,5,5,249,231,5,5,44,232,5,5,102,234,5,5,36,198,5,5,209,172,5,5,115,201,5,5,142,192,5,5,32,213,5,5,22,219,5,5,87,208,5,5,85,238,5,5,202,239,5,5,9,187,5,5,71,168,5,5,17,180,5,5,80,241,5,5,242,219,5,5,195,198,5,5,112,215,5,5,32,206,5,5,82,223,5,5,0,141,5,5,165,179,5,5,51,188,5,5,96,219,5,5,71,222,5,5,45,199,5,5,78,217,5,5,25,233,5,5,141,245,5,5,131,234,5,5,255,243,5,5,17,226,5,5,106,177,5,5,154,186,5,5,101,189,5,5,88,247,5,5,58,227,5,5,249,205,5,5,170,207,5,5,57,201,5,5,151,228,5,5,232,233,5,5,92,243,5,5,201,169,5,5,154,230,5,5,23,224,5,5,93,242,5,5,30,173,5,5,10,180,5,5,216,171,5,5,52,188,5,5,91,193,5,5,85,189,5,5,247,176,5,5,102,183,5,5,14,173,5,5,138,228,5,5,36,247,5,5,92,223,5,5,28,235,5,5,45,190,5,5,252,241,5,5,153,226,5,5,213,199,5,5,233,248,5,5,62,206,5,5,42,234,5,5,153,216,5,5,108,221,5,5,11,188,5,5,63,206,5,5,240,237,5,5,128,175,5,5,117,244,5,5,244,196,5,5,143,232,5,5,187,226,5,5,57,207,5,5,52,214,5,5,26,202,5,5,41,212,5,5,97,219,5,5,126,174,5,5,81,185,5,5,78,202,5,5,214,225,5,5,98,171,5,5,64,248,5,5,12,246,5,5,89,227,5,5,189,204,5,5,251,249,5,5,113,197,5,5,159,173,5,5,233,242,5,5,61,194,5,5,21,185,5,5,171,179,5,5,198,225,5,5,143,173,5,5,90,206,5,5,193,187,5,5,91,204,5,5,232,212,5,5,193,205,5,5,32,202,5,5,199,215,5,5,249,213,5,5,146,197,5,5,246,208,5,5,252,249,5,5,180,212,5,5,85,168,5,5,233,212,5,5,147,232,5,5,242,235,5,5,146,248,5,5,220,201,5,5,230,198,5,5,57,199,5,5,209,224,5,5,73,200,5,5,133,180,5,5,113,210,5,5,21,176,5,5,46,249,5,5,51,246,5,5,214,169,5,5,19,211,5,5,158,249,5,5,58,176,5,5,44,225,5,5,11,180,5,5,166,214,5,5,118,215,5,5,167,248,5,5,59,192,5,5,100,242,5,5,209,195,5,5,212,186,5,5,88,207,5,5,119,173,5,5,125,226,5,5,12,231,5,5,62,203,5,5,199,225,5,5,137,186,5,5,107,177,5,5,221,222,5,5,216,245,5,5,194,205,5,5,28,208,5,5,195,205,5,5,29,190,5,5,24,171,5,5,142,184,5,5,180,200,5,5,26,199,5,5,148,182,5,5,163,230,5,5,15,210,5,5,154,228,5,5,221,243,5,5,222,189,5,5,166,178,5,5,2,232,5,5,64,213,5,5,190,191,5,5,109,203,5,5,47,182,5,5,225,207,5,5,110,198,5,5,78,240,5,5,213,178,5,5,64,203,5,5,160,187,5,5,91,232,5,5,178,180,5,5,123,227,5,5,14,229,5,5,122,249,5,5,127,184,5,5,255,218,5,5,159,192,5,5,196,181,5,5,39,198,5,5,34,174,5,5,24,226,5,5,153,244,5,5,9,190,5,5,72,237,5,5,203,180,5,5,202,231,5,5,209,241,5,5,46,199,5,5,135,221,5,5,221,190,5,5,76,229,5,5,128,184,5,5,80,245,5,5,213,172,5,5,87,216,5,5,196,221,5,5,40,189,5,5,5,200,5,5,126,226,5,5,160,209,5,5,3,216,5,5,4,216,5,5,120,189,5,5,59,227,5,5,182,176,5,5,132,190,5,5,45,238,5,5,248,208,5,5,68,194,5,5,187,180,5,5,62,194,5,5,162,223,5,5,6,200,5,5,204,189,5,5,33,235,5,5,65,181,5,5,117,195,5,5,218,245,5,5,179,170,5,5,92,247,5,5,49,249,5,5,105,234,5,5,241,237,5,5,194,207,5,5,2,212,5,5,0,144,5,5,160,195,5,5,170,215,5,5,174,207,5,5,161,224,5,5,147,177,5,5,80,169,5,5,204,231,5,5,21,203,5,5,162,224,5,5,122,198,5,5,167,204,5,5,169,237,5,5,49,238,5,5,127,211,5,5,213,229,5,5,228,218,5,5,131,225,5,5,163,224,5,5,204,215,5,5,190,202,5,5,51,223,5,5,22,176,5,5,226,171,5,5,24,212,5,5,118,177,5,5,17,170,5,5,202,219,5,5,22,185,5,5,50,249,5,5,44,230,5,5,146,240,5,5,251,190,5,5,158,226,5,5,168,204,5,5,111,198,5,5,127,224,5,5,37,220,5,5,204,223,5,5,157,228,5,5,139,188,5,5,16,246,5,5,17,246,5,5,58,201,5,5,138,239,5,5,222,242,5,5,144,225,5,5,24,211,5,5,64,231,5,5,71,193,5,5,108,185,5,5,188,206,5,5,134,197,5,5,183,223,5,5,214,249,5,5,164,224,5,5,221,231,5,5,106,183,5,5,151,229,5,5,221,209,5,5,137,205,5,5,165,224,5,5,209,211,5,5,202,249,5,5,156,227,5,5,108,234,5,5,235,186,5,5,87,235,5,5,65,203,5,5,113,222,5,5,157,168,5,5,12,207,5,5,137,209,5,5,118,206,5,5,148,170,5,5,127,229,5,5,170,204,5,5,245,178,5,5,185,219,5,5,147,249,5,5,175,238,5,5,206,205,5,5,127,168,5,5,47,199,5,5,205,215,5,5,23,177,5,5,95,214,5,5,147,173,5,5,94,225,5,5,30,207,5,5,211,240,5,5,92,173,5,5,107,183,5,5,110,196,5,5,9,171,5,5,222,222,5,5,65,205,5,5,135,234,5,5,184,176,5,5,238,204,5,5,227,243,5,5,74,194,5,5,147,172,5,5,43,202,5,5,223,231,5,5,31,231,5,5,169,198,5,5,8,223,5,5,5,170,5,5,67,245,5,5,171,215,5,5,81,174,5,5,211,205,5,5,47,190,5,5,163,192,5,5,31,214,5,5,140,191,5,5,231,215,5,5,211,213,5,5,250,203,5,5,3,220,5,5,136,234,5,5,186,219,5,5,82,174,5,5,44,200,5,5,99,223,5,5,172,204,5,5,75,210,5,5,226,190,5,5,123,213,5,5,104,224,5,5,106,182,5,5,33,216,5,5,203,217,5,5,75,237,5,5,95,225,5,5,237,232,5,5,255,197,5,5,187,194,5,5,11,250,5,5,148,203,5,5,89,216,5,5,99,201,5,5,238,180,5,5,241,233,5,5,201,243,5,5,76,192,5,5,254,193,5,5,95,247,5,5,197,178,5,5,246,235,5,5,174,240,5,5,214,180,5,5,2,198,5,5,128,211,5,5,202,243,5,5,48,214,5,5,189,226,5,5,107,182,5,5,83,174,5,5,246,179,5,5,150,220,5,5,91,198,5,5,188,193,5,5,246,182,5,5,105,224,5,5,139,205,5,5,136,197,5,5,143,191,5,5,122,242,5,5,26,203,5,5,243,248,5,5,8,216,5,5,78,194,5,5,247,248,5,5,172,201,5,5,160,170,5,5,190,226,5,5,138,190,5,5,52,238,5,5,49,181,5,5,195,187,5,5,63,178,5,5,121,197,5,5,48,183,5,5,149,177,5,5,205,169,5,5,156,239,5,5,31,168,5,5,132,249,5,5,224,235,5,5,173,179,5,5,69,248,5,5,20,189,5,5,172,248,5,5,85,192,5,5,37,211,5,5,214,188,5,5,244,191,5,5,183,216,5,5,76,171,5,5,102,240,5,5,46,200,5,5,70,211,5,5,177,234,5,5,79,194,5,5,80,194,5,5,141,215,5,5,232,172,5,5,64,247,5,5,221,208,5,5,55,202,5,5,176,201,5,5,87,192,5,5,225,249,5,5,224,199,5,5,179,220,5,5,192,212,5,5,154,200,5,5,151,180,5,5,53,223,5,5,91,176,5,5,23,206,5,5,17,171,5,5,146,169,5,5,140,205,5,5,158,232,5,5,161,199,5,5,2,205,5,5,206,181,5,5,108,205,5,5,237,233,5,5,81,194,5,5,31,201,5,5,235,171,5,5,196,193,5,5,225,237,5,5,60,173,5,5,187,232,5,5,82,194,5,5,43,231,5,5,243,186,5,5,132,172,5,5,41,211,5,5,208,201,5,5,252,176,5,5,169,217,5,5,44,212,5,5,130,206,5,5,217,249,5,5,48,206,5,5,11,244,5,5,43,211,5,5,16,198,5,5,150,225,5,5,4,248,5,5,250,200,5,5,164,195,5,5,139,184,5,5,183,238,5,5,173,245,5,5,232,179,5,5,69,245,5,5,202,213,5,5,154,203,5,5,132,227,5,5,44,215,5,5,229,175,5,5,80,220,5,5,138,219,5,5,82,182,5,5,154,179,5,5,219,207,5,5,144,211,5,5,50,237,5,5,244,172,5,5,33,234,5,5,173,184,5,5,21,172,5,5,255,224,5,5,73,197,5,5,13,181,5,5,178,173,5,5,80,247,5,5,233,209,5,5,172,169,5,5,10,185,5,5,22,169,5,5,95,215,5,5,203,237,5,5,94,216,5,5,24,198,5,5,32,230,5,5,249,185,5,5,181,198,5,5,144,182,5,5,201,191,5,5,67,227,5,5,90,211,5,5,205,168,5,5,30,242,5,5,98,215,5,5,33,246,5,5,99,215,5,5,86,186,5,5,152,171,5,5,211,198,5,5,221,213,5,5,249,171,5,5,190,171,5,5,22,243,5,5,215,249,5,5,197,209,5,5,60,225,5,5,102,193,5,5,108,179,5,5,41,241,5,5,183,226,5,5,191,171,5,5,57,204,5,5,41,223,5,5,52,215,5,5,99,207,5,5,129,169,5,5,42,222,5,5,71,235,5,5,177,224,5,5,73,170,5,5,128,210,5,5,217,212,5,5,38,181,5,5,37,234,5,5,193,198,5,5,113,201,5,5,252,181,5,5,54,207,5,5,239,235,5,5,76,241,5,5,111,174,5,5,83,193,5,5,237,237,5,5,64,210,5,5,251,246,5,5,53,178,5,5,18,227,5,5,242,205,5,5,160,179,5,5,186,239,5,5,97,198,5,5,147,244,5,5,214,247,5,5,77,231,5,5,2,180,5,5,16,180,5,5,242,231,5,5,37,190,5,5,221,217,5,5,27,220,5,5,200,187,5,5,161,179,5,5,155,185,5,5,33,209,5,5,40,246,5,5,235,219,5,5,207,194,5,5,76,238,5,5,73,173,5,5,41,175,5,5,84,225,5,5,67,168,5,5,234,239,5,5,18,219,5,5,56,248,5,5,88,201,5,5,49,214,5,5,64,230,5,5,178,200,5,5,212,225,5,5,55,203,5,5,41,199,5,5,14,233,5,5,154,224,5,5,74,202,5,5,116,244,5,5,116,175,5,5,153,187,5,5,77,185,5,5,112,181,5,5,125,234,5,5,103,177,5,5,59,206,5,5,93,183,5,5,228,233,5,5,184,204,5,5,89,198,5,5,223,193,5,5,92,219,5,5,242,225,5,5,50,201,5,5,150,216,5,5,237,196,5,5,0,129,5,5,190,215,5,5,155,245,5,5,175,211,5,5,105,177,5,5,82,207,5,5,213,169,5,5,150,214,5,5,163,178,5,5,9,199,5,5,63,200,5,5,118,173,5,5,234,230,5,5,135,186,5,5,111,206,5,5,19,176,5,5,145,248,5,5,198,195,5,5,17,247,5,5,245,231,5,5,144,197,5,5,187,191,5,5,110,212,5,5,33,225,5,5,6,180,5,5,41,194,5,5,96,197,5,5,23,208,5,5,34,249,5,5,82,216,5,5,65,240,5,5,109,198,5,5,197,215,5,5,83,223,5,5,182,181,5,5,210,172,5,5,247,215,5,5,87,247,5,5,199,180,5,5,200,223,5,5,208,190,5,5,123,190,5,5,0,142,5,5,175,180,5,5,190,207,5,5,62,205,5,5,38,249,5,5,238,182,5,5,168,207,5,5,129,209,5,5,13,246,5,5,217,171,5,5,135,185,5,5,14,211,5,5,143,225,5,5,133,197,5,5,15,211,5,5,220,209,5,5,153,204,5,5,64,185,5,5,77,169,5,5,97,239,5,5,67,193,5,5,64,171,5,5,220,218,5,5,252,170,5,5,92,225,5,5,28,207,5,5,114,206,5,5,3,170,5,5,207,240,5,5,107,196,5,5,211,178,5,5,201,249,5,5,82,235,5,5,159,204,5,5,42,173,5,5,242,197,5,5,171,203,5,5,28,214,5,5,130,205,5,5,233,180,5,5,227,200,5,5,45,214,5,5,248,176,5,5,202,215,5,5,195,178,5,5,232,191,5,5,164,201,5,5,133,190,5,5,242,248,5,5,22,203,5,5,139,239,5,5,231,172,5,5,11,171,5,5,151,200,5,5,57,173,5,5,185,232,5,5,41,245,5,5,129,173,5,5,178,196,5,5,135,168,5,5,203,179,5,5,118,217,5,5,160,203,5,5,63,208,5,5,40,245,5,5,220,207,5,5,194,206,5,5,238,222,5,5,110,220,5,5,214,191,5,5,221,207,5,5,105,236,5,5,80,170,5,5,39,188,5,5,81,170,5,5,91,220,5,5,90,198,5,5,183,198,5,5,238,169,5,5,77,189,5,5,103,219,5,5,191,219,5,5,38,232,5,5,39,232,5,5,151,193,5,5,10,209,5,5,161,231,5,5,24,223,5,5,103,180,5,5,150,244,5,5,94,210,5,5,211,244,5,5,151,212,5,5,208,231,5,5,82,204,5,5,217,170,5,5,110,170,5,5,104,219,5,5,15,168,5,5,194,186,5,5,132,185,5,5,133,185,5,5,41,182,5,5,180,175,5,5,97,189,5,5,47,187,5,5,14,209,5,5,228,219,5,5,91,200,5,5,73,201,5,5,221,205,5,5,227,226,5,5,55,220,5,5,17,197,5,5,32,243,5,5,33,243,5,5,84,173,5,5,188,217,5,5,26,204,5,5,120,173,5,5,66,220,5,5,92,200,5,5,74,236,5,5,179,229,5,5,121,236,5,5,194,181,5,5,160,191,5,5,101,242,5,5,180,229,5,5,104,189,5,5,94,169,5,5,102,189,5,5,190,217,5,5,196,237,5,5,182,229,5,5,28,169,5,5,86,168,5,5,15,229,5,5,209,239,5,5,112,200,5,5,40,218,5,5,228,200,5,5,119,180,5,5,240,217,5,5,104,183,5,5,106,226,5,5,25,211,5,5,214,224,5,5,112,198,5,5,208,188,5,5,42,218,5,5,250,175,5,5,198,186,5,5,108,180,5,5,216,214,5,5,235,199,5,5,133,225,5,5,200,186,5,5,102,213,5,5,154,198,5,5,152,231,5,5,141,191,5,5,93,173,5,5,55,213,5,5,102,178,5,5,139,190,5,5,217,224,5,5,184,229,5,5,183,224,5,5,216,207,5,5,236,222,5,5,106,220,5,5,83,236,5,5,26,188,5,5,47,170,5,5,197,229,5,5,246,175,5,5,101,219,5,5,238,228,5,5,18,232,5,5,51,189,5,5,129,193,5,5,252,208,5,5,157,198,5,5,228,207,5,5,145,244,5,5,91,210,5,5,30,187,5,5,164,229,5,5,195,224,5,5,3,209,5,5,219,205,5,5,96,198,5,5,33,182,5,5,114,185,5,5,169,188,5,5,81,200,5,5,154,196,5,5,23,243,5,5,39,201,5,5,115,180,5,5,43,242,5,5,63,236,5,5,113,173,5,5,123,231,5,5,169,229,5,5,154,191,5,5,106,236,5,5,162,181,5,5,74,173,5,5,213,200,5,5,185,217,5,5,89,191,5,5,106,200,5,5,26,218,5,5,197,188,5,5,99,226,5,5,141,177,5,5,15,218,5,5,20,188,5,5,129,190,5,5,82,184,5,5,72,184,5,5,134,201,5,5,216,180,5,5,243,233,5,5,27,215,5,5,115,230,5,5,171,184,5,5,196,246,5,5,169,239,5,5,40,237,5,5,83,180,5,5,136,181,5,5,112,221,5,5,15,169,5,5,105,212,5,5,33,199,5,5,97,243,5,5,64,219,5,5,164,246,5,5,241,212,5,5,48,196,5,5,150,182,5,5,41,237,5,5,170,239,5,5,245,245,5,5,27,195,5,5,51,174,5,5,140,181,5,5,93,217,5,5,253,178,5,5,204,249,5,5,35,250,5,5,102,179,5,5,113,204,5,5,0,128,5,5,243,227,5,5,244,227,5,5,147,169,5,5,101,171,5,5,78,184,5,5,202,192,5,5,143,205,5,5,6,205,5,5,254,173,5,5,27,234,5,5,71,181,5,5,58,205,5,5,96,209,5,5,130,194,5,5,123,222,5,5,72,181,5,5,111,232,5,5,223,181,5,5,73,187,5,5,119,241,5,5,150,184,5,5,107,220,5,5,46,198,5,5,42,216,5,5,34,234,5,5,42,176,5,5,92,184,5,5,66,170,5,5,176,231,5,5,109,220,5,5,126,221,5,5,222,246,5,5,5,214,5,5,86,180,5,5,239,242,5,5,250,245,5,5,110,175,5,5,115,232,5,5,116,178,5,5,248,210,5,5,101,243,5,5,70,232,5,5,106,212,5,5,232,182,5,5,166,249,5,5,30,239,5,5,224,180,5,5,75,206,5,5,182,239,5,5,224,196,5,5,11,176,5,5,6,174,5,5,253,212,5,5,58,204,5,5,185,225,5,5,123,232,5,5,152,205,5,5,128,221,5,5,76,232,5,5,187,239,5,5,10,248,5,5,59,237,5,5,181,218,5,5,185,231,5,5,32,175,5,5,217,236,5,5,188,239,5,5,206,222,5,5,207,178,5,5,160,241,5,5,222,204,5,5,204,228,5,5,205,228,5,5,2,211,5,5,225,180,5,5,63,224,5,5,68,168,5,5,190,190,5,5,35,195,5,5,64,224,5,5,7,240,5,5,179,184,5,5,166,236,5,5,18,191,5,5,124,185,5,5,106,243,5,5,141,230,5,5,242,199,5,5,6,168,5,5,128,231,5,5,110,225,5,5,240,192,5,5,59,245,5,5,122,178,5,5,105,168,5,5,134,231,5,5,11,240,5,5,144,219,5,5,109,218,5,5,230,203,5,5,169,227,5,5,190,178,5,5,228,194,5,5,85,224,5,5,66,224,5,5,151,168,5,5,86,232,5,5,33,183,5,5,162,210,5,5,236,181,5,5,60,192,5,5,127,178,5,5,61,231,5,5,20,240,5,5,41,247,5,5,34,191,5,5,12,205,5,5,32,231,5,5,111,202,5,5,174,202,5,5,181,202,5,5,142,248,5,5,175,189,5,5,104,246,5,5,121,224,5,5,155,197,5,5,26,210,5,5,49,239,5,5,23,218,5,5,226,236,5,5,124,216,5,5,60,215,5,5,79,234,5,5,19,236,5,5,131,192,5,5,132,186,5,5,118,190,5,5,18,247,5,5,35,186,5,5,162,197,5,5,117,176,5,5,195,240,5,5,239,196,5,5,123,175,5,5,162,189,5,5,166,243,5,5,158,206,5,5,199,241,5,5,73,175,5,5,142,179,5,5,61,224,5,5,61,188,5,5,16,230,5,5,244,222,5,5,233,186,5,5,135,175,5,5,169,243,5,5,210,240,5,5,71,192,5,5,25,231,5,5,80,175,5,5,203,204,5,5,39,202,5,5,32,210,5,5,115,235,5,5,172,243,5,5,168,192,5,5,169,192,5,5,227,241,5,5,161,241,5,5,117,235,5,5,224,209,5,5,159,183,5,5,236,219,5,5,199,209,5,5,170,229,5,5,13,183,5,5,48,212,5,5,83,243,5,5,153,202,5,5,248,174,5,5,35,237,5,5,83,204,5,5,155,201,5,5,61,168,5,5,98,169,5,5,148,230,5,5,116,179,5,5,88,178,5,5,253,189,5,5,149,230,5,5,166,179,5,5,164,234,5,5,250,192,5,5,210,209,5,5,20,174,5,5,26,233,5,5,180,244,5,5,228,226,5,5,14,246,5,5,130,212,5,5,171,207,5,5,87,204,5,5,92,214,5,5,152,247,5,5,227,191,5,5,56,220,5,5,193,182,5,5,88,189,5,5,217,244,5,5,206,239,5,5,142,210,5,5,67,248,5,5,212,227,5,5,240,203,5,5,92,204,5,5,73,180,5,5,79,240,5,5,156,230,5,5,98,204,5,5,243,222,5,5,99,204,5,5,203,231,5,5,90,189,5,5,210,239,5,5,234,206,5,5,235,206,5,5,112,243,5,5,201,204,5,5,36,208,5,5,74,171,5,5,158,230,5,5,128,229,5,5,116,200,5,5,250,239,5,5,65,231,5,5,143,239,5,5,0,165,5,5,48,178,5,5,239,225,5,5,156,232,5,5,123,242,5,5,212,205,5,5,239,204,5,5,208,177,5,5,164,192,5,5,51,212,5,5,77,237,5,5,221,168,5,5,239,212,5,5,20,229,5,5,112,183,5,5,153,231,5,5,30,193,5,5,214,206,5,5,14,208,5,5,15,208,5,5,177,201,5,5,224,202,5,5,245,191,5,5,0,166,5,5,247,182,5,5,211,177,5,5,3,205,5,5,108,204,5,5,33,168,5,5,114,183,5,5,227,202,5,5,123,169,5,5,239,188,5,5,240,188,5,5,242,188,5,5,139,171,5,5,166,216,5,5,167,216,5,5,97,196,5,5,79,226,5,5,204,245,5,5,99,196,5,5,68,174,5,5,215,216,5,5,104,196,5,5,105,196,5,5,122,179,5,5,108,196,5,5,81,226,5,5,178,182,5,5,189,182,5,5,197,198,5,5,59,208,5,5,170,208,5,5,169,208,5,5,136,169,5,5,35,238,5,5,127,226,5,5,144,191,5,5,53,238,5,5,115,185,5,5,237,179,5,5,223,172,5,5,107,215,5,5,171,218,5,5,227,178,5,5,174,180,5,5,142,230,5,5,172,218,5,5,129,216,5,5,237,195,5,5,93,235,5,5,94,211,5,5,207,168,5,5,12,240,5,5,132,219,5,5,243,209,5,5,123,209,5,5,213,249,5,5,142,177,5,5,43,169,5,5,86,239,5,5,211,237,5,5,195,225,5,5,198,169,5,5,49,195,5,5,83,189,5,5,84,212,5,5,36,237,5,5,120,171,5,5,204,239,5,5,136,185,5,5,197,225,5,5,112,195,5,5,133,233,5,5,50,168,5,5,51,168,5,5,249,188,5,5,238,185,5,5,15,215,5,5,144,177,5,5,24,216,5,5,207,226,5,5,248,206,5,5,182,240,5,5,60,224,5,5,154,226,5,5,53,216,5,5,83,235,5,5,62,199,5,5,251,169,5,5,212,224,5,5,187,220,5,5,123,171,5,5,113,200,5,5,248,196,5,5,156,200,5,5,202,233,5,5,2,219,5,5,58,169,5,5,217,181,5,5,24,217,5,5,25,217,5,5,209,188,5,5,57,216,5,5,213,209,5,5,249,196,5,5,176,193,5,5,182,170,5,5,214,178,5,5,181,193,5,5,154,229,5,5,176,225,5,5,5,186,5,5,215,224,5,5,204,169,5,5,138,233,5,5,25,212,5,5,145,185,5,5,153,170,5,5,117,200,5,5,96,225,5,5,48,205,5,5,121,187,5,5,34,216,5,5,97,235,5,5,80,192,5,5,192,193,5,5,110,194,5,5,104,173,5,5,150,177,5,5,14,190,5,5,100,232,5,5,88,215,5,5,152,180,5,5,70,228,5,5,197,193,5,5,251,200,5,5,242,228,5,5,173,218,5,5,22,184,5,5,211,207,5,5,10,218,5,5,137,185,5,5,71,229,5,5,54,216,5,5,13,188,5,5,172,173,5,5,114,200,5,5,8,219,5,5,141,243,5,5,7,221,5,5,80,229,5,5,143,185,5,5,253,168,5,5,177,225,5,5,6,186,5,5,142,243,5,5,49,185,5,5,154,170,5,5,82,229,5,5,106,224,5,5,149,180,5,5,71,228,5,5,153,180,5,5,232,228,5,5,157,218,5,5,237,183,5,5,6,188,5,5,61,229,5,5,128,243,5,5,169,225,5,5,175,196,5,5,179,196,5,5,252,231,5,5,196,233,5,5,5,232,5,5,73,192,5,5,177,239,5,5,165,243,5,5,129,243,5,5,211,220,5,5,146,201,5,5,181,212,5,5,225,190,5,5,85,240,5,5,144,243,5,5,188,212,5,5,57,168,5,5,211,239,5,5,214,232,5,5,15,190,5,5,8,238,5,5,240,179,5,5,204,216,5,5,243,199,5,5,228,232,5,5,28,223,5,5,233,187,5,5,158,234,5,5,154,238,5,5,161,234,5,5,127,181,5,5,181,223,5,5,16,200,5,5,151,214,5,5,82,188,5,5,73,242,5,5,109,228,5,5,8,169,5,5,18,181,5,5,236,178,5,5,233,177,5,5,40,212,5,5,209,213,5,5,117,204,5,5,231,173,5,5,60,196,5,5,218,201,5,5,202,188,5,5,249,215,5,5,187,181,5,5,117,181,5,5,72,229,5,5,134,233,5,5,108,200,5,5,82,221,5,5,166,238,5,5,167,238,5,5,208,187,5,5,215,180,5,5,253,241,5,5,160,213,5,5,219,201,5,5,68,184,5,5,92,193,5,5,65,227,5,5,123,191,5,5,2,200,5,5,93,193,5,5,101,206,5,5,246,226,5,5,75,174,5,5,171,240,5,5,61,243,5,5,202,189,5,5,57,188,5,5,68,196,5,5,171,227,5,5,172,227,5,5,138,213,5,5,193,200,5,5,173,227,5,5,53,249,5,5,52,249,5,5,23,176,5,5,13,180,5,5,194,200,5,5,48,225,5,5,58,188,5,5,75,215,5,5,232,198,5,5,54,177,5,5,61,235,5,5,104,216,5,5,171,238,5,5,159,219,5,5,27,226,5,5,120,181,5,5,199,181,5,5,123,236,5,5,205,229,5,5,145,198,5,5,222,240,5,5,93,248,5,5,124,236,5,5,93,232,5,5,254,233,5,5,215,238,5,5,252,242,5,5,203,219,5,5,78,179,5,5,79,179,5,5,125,194,5,5,234,199,5,5,223,201,5,5,100,201,5,5,109,213,5,5,80,228,5,5,253,206,5,5,244,176,5,5,174,237,5,5,142,188,5,5,35,216,5,5,140,186,5,5,223,235,5,5,189,236,5,5,146,191,5,5,105,173,5,5,39,219,5,5,17,208,5,5,77,171,5,5,101,232,5,5,145,213,5,5,109,205,5,5,20,201,5,5,42,211,5,5,251,217,5,5,254,237,5,5,239,179,5,5,201,216,5,5,229,187,5,5,221,232,5,5,26,223,5,5,145,234,5,5,148,234,5,5,105,228,5,5,124,186,5,5,14,181,5,5,124,214,5,5,4,169,5,5,179,223,5,5,78,188,5,5,31,242,5,5,83,205,5,5,116,204,5,5,223,213,5,5,57,196,5,5,90,195,5,5,87,193,5,5,244,226,5,5,189,188,5,5,163,240,5,5,136,196,5,5,216,198,5,5,155,238,5,5,137,213,5,5,97,191,5,5,168,227,5,5,44,188,5,5,164,240,5,5,165,240,5,5,225,198,5,5,18,226,5,5,221,240,5,5,188,181,5,5,89,248,5,5,118,236,5,5,118,181,5,5,20,211,5,5,237,206,5,5,75,179,5,5,201,219,5,5,140,188,5,5,222,201,5,5,101,173,5,5,37,219,5,5,144,213,5,5,250,217,5,5,83,183,5,5,239,170,5,5,149,186,5,5,17,184,5,5,163,231,5,5,243,244,5,5,245,170,5,5,146,219,5,5,200,168,5,5,239,224,5,5,202,203,5,5,155,186,5,5,84,235,5,5,203,220,5,5,115,197,5,5,2,171,5,5,97,223,5,5,81,229,5,5,74,237,5,5,171,237,5,5,206,223,5,5,113,198,5,5,207,223,5,5,69,182,5,5,171,204,5,5,67,231,5,5,204,204,5,5,96,213,5,5,97,213,5,5,174,204,5,5,12,171,5,5,13,171,5,5,14,171,5,5,151,203,5,5,15,171,5,5,5,220,5,5,115,183,5,5,111,234,5,5,70,183,5,5,45,237,5,5,232,244,5,5,232,170,5,5,139,219,5,5,93,197,5,5,75,223,5,5,198,223,5,5,158,237,5,5,148,204,5,5,91,213,5,5,253,170,5,5,254,170,5,5,179,182,5,5,71,182,5,5,199,182,5,5,176,182,5,5,219,221,5,5,212,221,5,5,75,172,5,5,18,192,5,5,253,179,5,5,126,223,5,5,238,227,5,5,206,244,5,5,111,224,5,5,205,232,5,5,209,227,5,5,174,218,5,5,60,242,5,5,165,197,5,5,242,174,5,5,13,240,5,5,131,182,5,5,132,182,5,5,115,224,5,5,10,240,5,5,70,227,5,5,156,238,5,5,49,250,5,5,111,170,5,5,129,195,5,5,170,225,5,5,112,169,5,5,121,176,5,5,193,226,5,5,137,223,5,5,113,169,5,5,65,222,5,5,84,181,5,5,223,187,5,5,176,218,5,5,122,226,5,5,222,194,5,5,90,193,5,5,121,171,5,5,159,237,5,5,30,227,5,5,122,176,5,5,208,232,5,5,95,237,5,5,168,197,5,5,254,181,5,5,239,236,5,5,153,201,5,5,244,230,5,5,82,172,5,5,166,171,5,5,107,210,5,5,189,181,5,5,35,172,5,5,65,198,5,5,106,180,5,5,24,224,5,5,200,241,5,5,72,222,5,5,165,237,5,5,169,191,5,5,194,187,5,5,73,222,5,5,63,194,5,5,168,248,5,5,122,171,5,5,148,232,5,5,37,172,5,5,40,238,5,5,45,225,5,5,195,182,5,5,34,245,5,5,119,229,5,5,213,186,5,5,195,181,5,5,157,211,5,5,139,243,5,5,205,189,5,5,222,190,5,5,194,226,5,5,129,191,5,5,177,193,5,5,121,189,5,5,25,168,5,5,130,225,5,5,15,183,5,5,123,229,5,5,116,186,5,5,214,172,5,5,184,223,5,5,132,225,5,5,227,171,5,5,47,185,5,5,148,231,5,5,40,200,5,5,202,204,5,5,205,223,5,5,202,225,5,5,50,238,5,5,152,229,5,5,76,209,5,5,134,225,5,5,251,206,5,5,149,170,5,5,119,242,5,5,109,234,5,5,211,195,5,5,187,219,5,5,45,200,5,5,115,248,5,5,151,220,5,5,6,175,5,5,49,178,5,5,154,239,5,5,77,192,5,5,107,218,5,5,84,174,5,5,215,240,5,5,178,225,5,5,131,229,5,5,215,232,5,5,224,244,5,5,16,183,5,5,226,187,5,5,16,208,5,5,12,237,5,5,83,209,5,5,61,173,5,5,216,232,5,5,131,206,5,5,236,243,5,5,51,210,5,5,202,221,5,5,249,179,5,5,252,191,5,5,223,227,5,5,98,225,5,5,205,227,5,5,108,231,5,5,158,218,5,5,18,242,5,5,228,174,5,5,119,182,5,5,4,240,5,5,11,194,5,5,22,222,5,5,102,169,5,5,118,223,5,5,73,181,5,5,116,238,5,5,248,181,5,5,101,218,5,5,203,232,5,5,170,188,5,5,152,201,5,5,199,194,5,5,187,230,5,5,110,171,5,5,153,171,5,5,96,180,5,5,153,181,5,5,157,241,5,5,104,210,5,5,51,198,5,5,184,187,5,5,164,191,5,5,127,232,5,5,205,186,5,5,208,172,5,5,28,200,5,5,97,186,5,5,196,223,5,5,23,173,5,5,24,238,5,5,62,209,5,5,205,171,5,5,144,204,5,5,100,234,5,5,205,195,5,5,244,206,5,5,180,219,5,5,110,248,5,5,49,210,5,5,95,222,5,5,244,199,5,5,178,187,5,5,162,232,5,5,32,183,5,5,213,171,5,5,159,210,5,5,122,170,5,5,218,171,5,5,122,227,5,5,237,187,5,5,196,182,5,5,178,193,5,5,54,168,5,5,28,168,5,5,131,184,5,5,8,232,5,5,62,243,5,5,236,233,5,5,49,183,5,5,129,213,5,5,238,233,5,5,182,206,5,5,61,242,5,5,124,183,5,5,45,188,5,5,229,178,5,5,7,228,5,5,136,245,5,5,194,174,5,5,183,235,5,5,59,248,5,5,115,246,5,5,128,212,5,5,253,233,5,5,188,218,5,5,145,219,5,5,109,243,5,5,173,229,5,5,145,246,5,5,33,178,5,5,222,205,5,5,55,241,5,5,214,171,5,5,115,169,5,5,225,197,5,5,9,228,5,5,87,239,5,5,115,217,5,5,174,229,5,5,119,217,5,5,120,196,5,5,224,213,5,5,78,245,5,5,163,242,5,5,114,212,5,5,192,247,5,5,101,197,5,5,65,248,5,5,134,211,5,5,245,196,5,5,229,212,5,5,249,243,5,5,122,193,5,5,88,204,5,5,240,245,5,5,240,224,5,5,121,184,5,5,96,237,5,5,253,221,5,5,128,170,5,5,10,228,5,5,11,228,5,5,139,223,5,5,154,204,5,5,204,206,5,5,77,213,5,5,200,225,5,5,42,247,5,5,223,218,5,5,229,225,5,5,72,180,5,5,145,235,5,5,202,217,5,5,54,221,5,5,121,196,5,5,255,181,5,5,224,187,5,5,219,171,5,5,226,247,5,5,207,239,5,5,159,206,5,5,153,247,5,5,42,178,5,5,225,187,5,5,162,204,5,5,22,197,5,5,174,223,5,5,105,216,5,5,58,207,5,5,59,201,5,5,59,188,5,5,124,227,5,5,34,235,5,5,190,227,5,5,68,198,5,5,129,181,5,5,143,174,5,5,20,234,5,5,0,155,5,5,202,205,5,5,147,248,5,5,157,247,5,5,8,221,5,5,78,213,5,5,75,200,5,5,203,225,5,5,181,200,5,5,125,249,5,5,15,199,5,5,175,214,5,5,176,214,5,5,249,236,5,5,197,182,5,5,216,219,5,5,250,236,5,5,146,185,5,5,197,237,5,5,161,230,5,5,85,213,5,5,185,176,5,5,86,213,5,5,123,215,5,5,198,182,5,5,227,190,5,5,121,215,5,5,193,191,5,5,215,241,5,5,30,226,5,5,243,217,5,5,206,231,5,5,127,249,5,5,7,200,5,5,4,219,5,5,98,223,5,5,157,186,5,5,16,228,5,5,61,187,5,5,208,223,5,5,84,215,5,5,135,174,5,5,56,247,5,5,173,204,5,5,190,212,5,5,233,225,5,5,68,231,5,5,152,172,5,5,144,180,5,5,5,237,5,5,225,242,5,5,178,249,5,5,217,219,5,5,152,220,5,5,188,214,5,5,60,247,5,5,248,222,5,5,213,205,5,5,69,231,5,5,121,206,5,5,36,245,5,5,139,209,5,5,158,168,5,5,84,172,5,5,16,171,5,5,186,176,5,5,130,217,5,5,158,170,5,5,61,247,5,5,125,242,5,5,176,234,5,5,48,190,5,5,169,171,5,5,33,224,5,5,49,233,5,5,252,203,5,5,17,245,5,5,255,180,5,5,177,204,5,5,18,228,5,5,196,172,5,5,125,179,5,5,188,194,5,5,191,226,5,5,13,237,5,5,127,206,5,5,226,244,5,5,44,196,5,5,161,239,5,5,54,238,5,5,240,227,5,5,130,213,5,5,199,247,5,5,18,237,5,5,4,205,5,5,228,205,5,5,238,225,5,5,188,232,5,5,34,193,5,5,254,222,5,5,31,197,5,5,72,231,5,5,106,190,5,5,59,202,5,5,18,171,5,5,178,206,5,5,11,242,5,5,241,227,5,5,163,235,5,5,178,174,5,5,94,217,5,5,184,218,5,5,175,171,5,5,218,205,5,5,248,243,5,5,246,221,5,5,119,223,5,5,83,184,5,5,217,196,5,5,163,249,5,5,34,248,5,5,251,227,5,5,132,211,5,5,115,193,5,5,5,239,5,5,178,177,5,5,246,232,5,5,195,206,5,5,178,239,5,5,160,194,5,5,33,190,5,5,147,206,5,5,219,187,5,5,66,213,5,5,233,170,5,5,250,201,5,5,140,174,5,5,213,236,5,5,6,234,5,5,96,216,5,5,52,198,5,5,137,214,5,5,138,214,5,5,5,199,5,5,144,248,5,5,100,249,5,5,249,223,5,5,76,172,5,5,83,213,5,5,7,247,5,5,248,199,5,5,210,219,5,5,143,230,5,5,150,168,5,5,145,204,5,5,65,215,5,5,129,220,5,5,246,170,5,5,113,206,5,5,168,176,5,5,85,173,5,5,195,247,5,5,23,193,5,5,246,222,5,5,181,232,5,5,81,186,5,5,45,229,5,5,52,229,5,5,53,229,5,5,178,241,5,5,244,184,5,5,62,239,5,5,90,168,5,5,63,227,5,5,155,195,5,5,137,169,5,5,199,169,5,5,98,176,5,5,39,226,5,5,14,179,5,5,99,199,5,5,209,187,5,5,250,215,5,5,118,189,5,5,130,199,5,5,138,185,5,5,182,227,5,5,196,185,5,5,75,213,5,5,144,170,5,5,233,198,5,5,24,215,5,5,211,241,5,5,70,224,5,5,47,205,5,5,230,171,5,5,42,233,5,5,64,169,5,5,231,171,5,5,99,176,5,5,160,199,5,5,86,171,5,5,80,209,5,5,149,203,5,5,49,205,5,5,46,233,5,5,150,180,5,5,246,243,5,5,71,224,5,5,42,226,5,5,88,171,5,5,162,199,5,5,110,205,5,5,35,185,5,5,37,185,5,5,49,216,5,5,185,198,5,5,39,216,5,5,101,201,5,5,227,219,5,5,234,170,5,5,60,200,5,5,64,200,5,5,230,178,5,5,171,182,5,5,103,234,5,5,64,218,5,5,83,207,5,5,34,178,5,5,69,200,5,5,81,171,5,5,51,182,5,5,155,226,5,5,230,212,5,5,47,249,5,5,53,182,5,5,66,218,5,5,65,226,5,5,139,169,5,5,129,170,5,5,87,207,5,5,26,184,5,5,237,181,5,5,224,218,5,5,121,217,5,5,226,185,5,5,104,234,5,5,109,200,5,5,7,193,5,5,182,212,5,5,74,248,5,5,204,220,5,5,145,224,5,5,68,226,5,5,182,202,5,5,83,171,5,5,126,249,5,5,244,178,5,5,185,212,5,5,163,223,5,5,53,246,5,5,242,217,5,5,128,249,5,5,33,223,5,5,249,193,5,5,29,228,5,5,208,189,5,5,149,200,5,5,163,196,5,5,187,214,5,5,25,203,5,5,242,245,5,5,87,171,5,5,191,212,5,5,206,206,5,5,174,219,5,5,254,206,5,5,255,206,5,5,11,220,5,5,178,234,5,5,210,203,5,5,86,215,5,5,85,215,5,5,48,210,5,5,140,190,5,5,118,200,5,5,71,211,5,5,89,171,5,5,211,203,5,5,88,218,5,5,97,180,5,5,105,180,5,5,95,210,5,5,103,189,5,5,149,231,5,5,110,180,5,5,22,188,5,5,112,180,5,5,111,180,5,5,164,196,5,5,164,173,5,5,134,242,5,5,135,242,5,5,118,185,5,5,245,236,5,5,69,184,5,5,142,216,5,5,60,187,5,5,129,249,5,5,205,204,5,5,63,187,5,5,172,220,5,5,126,242,5,5,80,187,5,5,208,207,5,5,241,192,5,5,152,214,5,5,146,184,5,5,253,199,5,5,168,191,5,5,201,168,5,5,238,213,5,5,212,207,5,5,165,234,5,5,174,236,5,5,30,233,5,5,95,203,5,5,108,242,5,5,174,227,5,5,94,214,5,5,190,228,5,5,96,203,5,5,124,229,5,5,214,184,5,5,171,174,5,5,98,213,5,5,155,170,5,5,81,209,5,5,189,192,5,5,175,234,5,5,97,175,5,5,194,236,5,5,227,244,5,5,162,241,5,5,112,178,5,5,127,218,5,5,101,195,5,5,185,168,5,5,84,189,5,5,239,227,5,5,167,179,5,5,184,192,5,5,248,234,5,5,119,181,5,5,183,181,5,5,35,220,5,5,83,188,5,5,211,227,5,5,130,209,5,5,159,195,5,5,83,221,5,5,27,169,5,5,214,242,5,5,14,213,5,5,126,205,5,5,175,229,5,5,198,189,5,5,86,205,5,5,157,243,5,5,156,182,5,5,38,183,5,5,244,209,5,5,58,241,5,5,84,213,5,5,68,209,5,5,206,188,5,5,200,231,5,5,122,217,5,5,12,188,5,5,234,212,5,5,93,204,5,5,13,228,5,5,167,171,5,5,80,217,5,5,198,213,5,5,31,184,5,5,139,170,5,5,136,176,5,5,120,229,5,5,246,196,5,5,143,179,5,5,218,168,5,5,60,241,5,5,138,187,5,5,235,212,5,5,195,210,5,5,17,234,5,5,242,224,5,5,141,169,5,5,125,184,5,5,164,244,5,5,106,197,5,5,70,186,5,5,235,221,5,5,38,180,5,5,212,177,5,5,213,224,5,5,118,195,5,5,152,222,5,5,137,189,5,5,212,232,5,5,238,181,5,5,87,168,5,5,16,229,5,5,107,245,5,5,227,247,5,5,43,240,5,5,204,203,5,5,160,206,5,5,42,227,5,5,40,226,5,5,133,239,5,5,138,171,5,5,77,229,5,5,181,194,5,5,100,199,5,5,56,187,5,5,6,232,5,5,141,185,5,5,55,191,5,5,118,201,5,5,34,184,5,5,198,198,5,5,106,234,5,5,48,181,5,5,40,198,5,5,28,226,5,5,168,208,5,5,205,220,5,5,165,244,5,5,146,224,5,5,106,216,5,5,212,241,5,5,108,210,5,5,147,245,5,5,139,187,5,5,197,185,5,5,228,223,5,5,71,230,5,5,82,217,5,5,103,220,5,5,10,214,5,5,177,190,5,5,157,226,5,5,83,202,5,5,38,220,5,5,39,220,5,5,199,198,5,5,9,208,5,5,132,174,5,5,40,202,5,5,183,249,5,5,26,231,5,5,254,240,5,5,57,221,5,5,54,249,5,5,179,214,5,5,54,246,5,5,213,232,5,5,109,210,5,5,59,176,5,5,24,193,5,5,147,179,5,5,88,216,5,5,139,186,5,5,169,247,5,5,40,180,5,5,182,200,5,5,245,182,5,5,144,210,5,5,144,239,5,5,76,200,5,5,207,205,5,5,204,196,5,5,122,173,5,5,39,196,5,5,91,206,5,5,102,204,5,5,176,249,5,5,44,202,5,5,31,208,5,5,130,249,5,5,57,247,5,5,199,210,5,5,223,189,5,5,216,241,5,5,15,179,5,5,197,221,5,5,59,221,5,5,178,190,5,5,31,226,5,5,122,189,5,5,22,234,5,5,232,247,5,5,152,200,5,5,131,249,5,5,93,244,5,5,183,170,5,5,184,170,5,5,179,190,5,5,246,217,5,5,95,244,5,5,229,228,5,5,230,228,5,5,218,241,5,5,39,176,5,5,5,219,5,5,220,179,5,5,228,190,5,5,67,203,5,5,182,236,5,5,27,217,5,5,28,217,5,5,250,193,5,5,18,170,5,5,202,181,5,5,76,237,5,5,132,184,5,5,160,219,5,5,231,184,5,5,166,231,5,5,30,228,5,5,209,189,5,5,85,222,5,5,122,219,5,5,41,235,5,5,155,229,5,5,169,215,5,5,143,188,5,5,45,230,5,5,157,182,5,5,218,219,5,5,175,204,5,5,189,206,5,5,239,221,5,5,198,221,5,5,201,186,5,5,57,249,5,5,235,225,5,5,191,224,5,5,175,237,5,5,124,181,5,5,223,240,5,5,125,215,5,5,189,214,5,5,156,229,5,5,123,219,5,5,65,221,5,5,27,203,5,5,128,168,5,5,150,201,5,5,37,191,5,5,22,209,5,5,31,193,5,5,160,226,5,5,131,217,5,5,193,193,5,5,60,221,5,5,2,207,5,5,71,231,5,5,83,217,5,5,28,171,5,5,32,193,5,5,28,193,5,5,251,247,5,5,111,194,5,5,110,234,5,5,94,248,5,5,216,240,5,5,37,245,5,5,170,198,5,5,123,235,5,5,32,171,5,5,128,242,5,5,132,217,5,5,238,232,5,5,170,171,5,5,246,194,5,5,194,235,5,5,34,224,5,5,229,190,5,5,13,250,5,5,155,220,5,5,156,220,5,5,72,182,5,5,122,187,5,5,253,203,5,5,195,235,5,5,185,208,5,5,100,231,5,5,115,244,5,5,186,232,5,5,68,183,5,5,203,186,5,5,138,189,5,5,155,199,5,5,96,244,5,5,219,219,5,5,228,244,5,5,233,184,5,5,123,187,5,5,183,240,5,5,88,202,5,5,148,173,5,5,179,201,5,5,184,222,5,5,32,168,5,5,40,219,5,5,33,193,5,5,253,234,5,5,16,190,5,5,185,222,5,5,225,202,5,5,212,203,5,5,226,202,5,5,222,208,5,5,220,245,5,5,217,232,5,5,208,181,5,5,111,205,5,5,244,186,5,5,60,202,5,5,16,232,5,5,142,241,5,5,111,178,5,5,179,192,5,5,49,241,5,5,210,227,5,5,119,205,5,5,155,182,5,5,184,168,5,5,198,188,5,5,215,168,5,5,192,213,5,5,194,210,5,5,85,205,5,5,53,241,5,5,161,244,5,5,111,184,5,5,216,168,5,5,135,169,5,5,135,189,5,5,10,213,5,5,236,224,5,5,48,187,5,5,107,195,5,5,196,198,5,5,65,229,5,5,235,181,5,5,31,227,5,5,92,244,5,5,136,189,5,5,145,199,5,5,251,192,5,5,169,194,5,5,250,231,5,5,162,244,5,5,209,232,5,5,185,235,5,5,195,185,5,5,27,202,5,5,7,203,5,5,169,193,5,5,79,202,5,5,234,221,5,5,156,226,5,5,137,187,5,5,36,220,5,5,173,190,5,5,37,198,5,5,255,192,5,5,252,240,5,5,182,216,5,5,94,204,5,5,167,214,5,5,175,249,5,5,194,182,5,5,74,200,5,5,121,173,5,5,138,186,5,5,143,210,5,5,196,210,5,5,144,179,5,5,37,196,5,5,55,221,5,5,194,221,5,5,48,249,5,5,66,183,5,5,217,179,5,5,16,170,5,5,146,173,5,5,25,226,5,5,153,229,5,5,227,228,5,5,158,219,5,5,197,181,5,5,22,217,5,5,129,184,5,5,223,190,5,5,241,217,5,5,105,194,5,5,180,170,5,5,215,219,5,5,126,168,5,5,177,214,5,5,189,224,5,5,199,186,5,5,170,237,5,5,61,212,5,5,182,193,5,5,149,201,5,5,27,171,5,5,122,235,5,5,31,171,5,5,252,206,5,5,20,209,5,5,212,240,5,5,129,229,5,5,66,231,5,5,120,187,5,5,153,220,5,5,251,203,5,5,12,250,5,5,13,190,5,5,232,184,5,5,86,202,5,5,225,244,5,5,214,186,5,5,232,210,5,5,204,238,5,5,18,184,5,5,162,202,5,5,160,196,5,5,253,171,5,5,231,236,5,5,51,184,5,5,139,179,5,5,36,192,5,5,142,183,5,5,56,219,5,5,211,184,5,5,190,221,5,5,143,183,5,5,42,209,5,5,116,169,5,5,161,242,5,5,116,246,5,5,7,190,5,5,134,216,5,5,193,183,5,5,10,169,5,5,176,229,5,5,170,193,5,5,192,221,5,5,94,242,5,5,160,183,5,5,123,237,5,5,234,197,5,5,235,197,5,5,34,213,5,5,97,190,5,5,15,246,5,5,118,169,5,5,240,236,5,5,241,235,5,5,76,246,5,5,149,182,5,5,144,183,5,5,177,229,5,5,205,211,5,5,201,177,5,5,103,185,5,5,26,219,5,5,95,204,5,5,214,208,5,5,27,184,5,5,14,228,5,5,247,208,5,5,175,202,5,5,197,170,5,5,43,247,5,5,104,185,5,5,164,242,5,5,126,176,5,5,151,217,5,5,31,233,5,5,168,174,5,5,43,178,5,5,247,196,5,5,195,237,5,5,71,186,5,5,90,247,5,5,102,242,5,5,37,237,5,5,103,242,5,5,243,235,5,5,188,226,5,5,104,242,5,5,104,226,5,5,80,240,5,5,213,180,5,5,43,230,5,5,239,181,5,5,156,186,5,5,21,168,5,5,117,246,5,5,247,236,5,5,17,189,5,5,37,233,5,5,94,193,5,5,205,203,5,5,228,247,5,5,73,237,5,5,26,226,5,5,91,189,5,5,161,206,5,5,32,219,5,5,161,209,5,5,107,185,5,5,129,218,5,5,182,194,5,5,107,234,5,5,156,247,5,5,169,174,5,5,162,206,5,5,18,189,5,5,197,210,5,5,130,181,5,5,33,206,5,5,95,193,5,5,16,193,5,5,125,227,5,5,98,190,5,5,28,228,5,5,8,172,5,5,72,230,5,5,135,197,5,5,117,242,5,5,228,171,5,5,69,198,5,5,70,198,5,5,15,170,5,5,27,231,5,5,71,198,5,5,23,197,5,5,90,227,5,5,38,196,5,5,29,226,5,5,121,181,5,5,122,181,5,5,190,199,5,5,206,189,5,5,109,230,5,5,58,221,5,5,196,200,5,5,25,195,5,5,42,212,5,5,208,205,5,5,19,213,5,5,156,222,5,5,37,184,5,5,56,168,5,5,244,248,5,5,189,212,5,5,143,216,5,5,81,215,5,5,158,169,5,5,148,179,5,5,209,205,5,5,43,218,5,5,186,193,5,5,25,197,5,5,139,227,5,5,245,235,5,5,166,242,5,5,180,214,5,5,45,202,5,5,51,238,5,5,148,248,5,5,58,199,5,5,89,181,5,5,77,200,5,5,137,221,5,5,181,214,5,5,40,196,5,5,145,239,5,5,146,239,5,5,41,196,5,5,55,249,5,5,183,200,5,5,41,180,5,5,96,214,5,5,60,176,5,5,184,185,5,5,250,196,5,5,250,197,5,5,147,239,5,5,10,250,5,5,74,192,5,5,223,222,5,5,88,240,5,5,7,175,5,5,184,208,5,5,6,219,5,5,58,168,5,5,29,217,5,5,32,226,5,5,210,189,5,5,33,226,5,5,203,181,5,5,54,195,5,5,90,207,5,5,38,184,5,5,40,176,5,5,126,227,5,5,183,236,5,5,212,188,5,5,226,242,5,5,65,213,5,5,78,200,5,5,178,207,5,5,211,189,5,5,89,240,5,5,232,175,5,5,162,230,5,5,28,197,5,5,42,180,5,5,129,172,5,5,172,182,5,5,237,188,5,5,101,240,5,5,227,242,5,5,12,232,5,5,214,229,5,5,199,221,5,5,238,188,5,5,138,175,5,5,135,225,5,5,207,231,5,5,124,219,5,5,176,204,5,5,165,192,5,5,72,186,5,5,191,193,5,5,128,224,5,5,64,188,5,5,129,176,5,5,130,176,5,5,157,239,5,5,223,237,5,5,6,237,5,5,81,192,5,5,212,202,5,5,107,226,5,5,86,199,5,5,245,225,5,5,246,225,5,5,158,239,5,5,127,227,5,5,190,206,5,5,47,233,5,5,50,185,5,5,108,226,5,5,26,174,5,5,166,192,5,5,158,227,5,5,169,245,5,5,129,168,5,5,199,237,5,5,97,238,5,5,210,211,5,5,8,175,5,5,63,247,5,5,206,204,5,5,217,240,5,5,227,205,5,5,161,170,5,5,251,222,5,5,249,248,5,5,219,241,5,5,75,230,5,5,10,198,5,5,252,239,5,5,35,226,5,5,100,223,5,5,189,194,5,5,162,239,5,5,49,190,5,5,162,170,5,5,105,240,5,5,35,224,5,5,230,190,5,5,109,182,5,5,190,194,5,5,152,203,5,5,14,237,5,5,52,185,5,5,208,196,5,5,64,232,5,5,65,232,5,5,128,227,5,5,220,206,5,5,14,250,5,5,129,242,5,5,107,240,5,5,216,205,5,5,159,227,5,5,66,232,5,5,116,235,5,5,164,239,5,5,56,213,5,5,186,222,5,5,128,206,5,5,41,231,5,5,179,238,5,5,90,192,5,5,79,244,5,5,220,241,5,5,229,244,5,5,55,238,5,5,78,237,5,5,57,213,5,5,72,211,5,5,17,190,5,5,71,208,5,5,108,240,5,5,19,208,5,5,248,178,5,5,47,243,5,5,130,242,5,5,209,201,5,5,9,172,5,5,112,205,5,5,241,188,5,5,5,205,5,5,255,222,5,5,49,243,5,5,109,240,5,5,245,186,5,5,170,217,5,5,61,202,5,5,51,206,5,5,229,210,5,5,151,196,5,5,7,192,5,5,141,242,5,5,26,209,5,5,170,221,5,5,196,211,5,5,234,235,5,5,118,172,5,5,104,169,5,5,251,245,5,5,54,186,5,5,27,180,5,5,80,205,5,5,236,235,5,5,255,232,5,5,33,237,5,5,59,204,5,5,152,174,5,5,140,217,5,5,146,242,5,5,107,235,5,5,255,227,5,5,66,223,5,5,252,246,5,5,231,181,5,5,145,186,5,5,97,234,5,5,13,189,5,5,144,247,5,5,96,185,5,5,29,206,5,5,70,189,5,5,65,230,5,5,199,171,5,5,7,202,5,5,131,197,5,5,98,186,5,5,113,181,5,5,62,242,5,5,40,232,5,5,6,226,5,5,98,230,5,5,31,218,5,5,181,208,5,5,47,168,5,5,65,200,5,5,156,169,5,5,171,212,5,5,66,215,5,5,53,176,5,5,178,185,5,5,159,242,5,5,9,224,5,5,192,189,5,5,200,188,5,5,184,181,5,5,107,186,5,5,16,217,5,5,118,176,5,5,169,207,5,5,153,230,5,5,98,239,5,5,213,237,5,5,211,229,5,5,155,204,5,5,151,192,5,5,99,239,5,5,171,193,5,5,229,188,5,5,90,238,5,5,81,240,5,5,167,245,5,5,200,204,5,5,138,203,5,5,183,194,5,5,202,196,5,5,109,242,5,5,203,205,5,5,134,190,5,5,221,244,5,5,87,240,5,5,11,190,5,5,10,208,5,5,241,186,5,5,252,222,5,5,117,205,5,5,184,195,5,5,96,204,5,5,251,193,5,5,61,232,5,5,89,177,5,5,2,194,5,5,6,194,5,5,137,236,5,5,87,177,5,5,160,205,5,5,14,241,5,5,219,176,5,5,183,192,5,5,86,212,5,5,220,176,5,5,87,212,5,5,68,248,5,5,38,198,5,5,17,248,5,5,179,193,5,5,56,208,5,5,57,208,5,5,6,242,5,5,169,204,5,5,24,174,5,5,41,198,5,5,246,203,5,5,145,210,5,5,182,214,5,5,210,205,5,5,205,196,5,5,42,198,5,5,42,196,5,5,199,202,5,5,182,232,5,5,62,232,5,5,72,193,5,5,62,208,5,5,213,202,5,5,12,221,5,5,38,245,5,5,254,203,5,5,45,196,5,5,191,214,5,5,111,204,5,5,138,236,5,5,221,176,5,5,229,206,5,5,225,206,5,5,201,188,5,5,205,173,5,5,194,183,5,5,172,208,5,5,173,208,5,5,196,183,5,5,95,212,5,5,189,217,5,5,124,217,5,5,162,209,5,5,197,183,5,5,151,232,5,5,184,200,5,5,127,217,5,5,175,208,5,5,9,175,5,5,116,183,5,5,181,183,5,5,120,217,5,5,174,208,5,5,172,206,5,5,131,207,5,5,66,209,5,5,32,191,5,5,144,209,5,5,177,249,5,5,162,211,5,5,50,183,5,5,201,190,5,5,191,190,5,5,185,195,5,5,10,187,5,5,80,226,5,5,71,227,5,5,89,189,5,5,72,190,5,5,216,199,5,5,92,189,5,5,169,222,5,5,28,202,5,5,198,210,5,5,175,174,5,5,244,188,5,5,243,188,5,5,100,239,5,5,119,215,5,5,4,178,5,5,144,231,5,5,200,227,5,5,132,209,5,5,125,209,5,5,120,215,5,5,204,177,5,5,188,175,5,5,84,241,5,5,98,179,5,5,95,238,5,5,205,231,5,5,179,236,5,5,128,217,5,5,195,207,5,5,184,236,5,5,199,216,5,5,42,243,5,5,46,202,5,5,69,178,5,5,145,180,5,5,100,172,5,5,80,236,5,5,130,236,5,5,188,236,5,5,6,178,5,5,88,168,5,5,243,245,5,5,210,177,5,5,101,172,5,5,98,238,5,5,179,207,5,5,248,244,5,5,197,236,5,5,154,180,5,5,113,205,5,5,191,246,5,5,52,183,5,5,35,184,5,5,71,184,5,5,165,208,5,5,150,208,5,5,221,242,5,5,241,176,5,5,192,217,5,5,198,173,5,5,56,228,5,5,233,247,5,5,120,246,5,5,18,208,5,5,130,168,5,5,33,171,5,5,19,228,5,5,163,170,5,5,196,242,5,5,190,173,5,5,17,228,5,5,241,179,5,5,118,208,5,5,12,210,5,5,243,179,5,5,41,249,5,5,102,186,5,5,103,186,5,5,39,180,5,5,45,183,5,5,204,225,5,5,168,242,5,5,22,213,5,5,123,173,5,5,51,185,5,5,4,215,5,5,169,242,5,5,97,225,5,5,219,225,5,5,172,222,5,5,165,222,5,5,43,183,5,5,242,182,5,5,183,229,5,5,203,168,5,5,146,179,5,5,15,228,5,5,93,247,5,5,155,217,5,5,136,221,5,5,236,221,5,5,111,241,5,5,238,221,5,5,232,226,5,5,74,230,5,5,29,197,5,5,43,196,5,5,172,191,5,5,30,197,5,5,190,236,5,5,91,227,5,5,101,223,5,5,39,231,5,5,157,232,5,5,195,236,5,5,182,201,5,5,20,170,5,5,215,237,5,5,81,217,5,5,239,187,5,5,157,230,5,5,159,230,5,5,105,189,5,5,211,233,5,5,205,181,5,5,141,244,5,5,137,234,5,5,228,229,5,5,142,244,5,5,120,211,5,5,57,210,5,5,160,214,5,5,189,244,5,5,17,193,5,5,56,249,5,5,82,192,5,5,88,192,5,5,99,214,5,5,51,192,5,5,221,174,5,5,43,174,5,5,44,174,5,5,210,188,5,5,12,236,5,5,251,239,5,5,208,233,5,5,95,169,5,5,77,244,5,5,209,233,5,5,253,172,5,5,172,174,5,5,185,236,5,5,50,197,5,5,159,226,5,5,105,204,5,5,100,204,5,5,108,175,5,5,248,217,5,5,210,233,5,5,28,199,5,5,32,211,5,5,207,196,5,5,198,237,5,5,90,176,5,5,113,243,5,5,8,242,5,5,153,175,5,5,217,238,5,5,146,210,5,5,78,244,5,5,179,249,5,5,178,217,5,5,114,243,5,5,196,236,5,5,211,211,5,5,207,181,5,5,18,230,5,5,166,239,5,5,101,176,5,5,180,249,5,5,85,179,5,5,154,175,5,5,5,196,5,5,48,236,5,5,208,174,5,5,39,174,5,5,185,188,5,5,236,239,5,5,44,197,5,5,84,204,5,5,90,169,5,5,150,226,5,5,39,249,5,5,24,199,5,5,254,241,5,5,84,176,5,5,177,217,5,5,17,230,5,5,232,204,5,5,62,212,5,5,228,185,5,5,63,212,5,5,186,236,5,5,249,204,5,5,17,205,5,5,229,185,5,5,130,198,5,5,151,177,5,5,112,204,5,5,152,177,5,5,208,204,5,5,216,185,5,5,126,198,5,5,57,187,5,5,31,217,5,5,35,171,5,5,25,187,5,5,38,243,5,5,7,176,5,5,215,188,5,5,13,198,5,5,143,233,5,5,132,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,214,5,5,198,185,5,5,213,173,5,5,108,193,5,5,38,190,5,5,227,175,5,5,54,197,5,5,57,187,5,5,57,187,5,5,232,214,5,5,166,195,5,5,133,200,5,5,6,210,5,5,11,201,5,5,202,200,5,5,116,206,5,5,124,206,5,5,115,206,5,5,135,206,5,5,125,206,5,5,147,201,5,5,144,206,5,5,121,201,5,5,149,206,5,5,153,206,5,5,124,201,5,5,159,206,5,5,55,206,5,5,52,206,5,5,240,200,5,5,28,201,5,5,238,200,5,5,51,206,5,5,211,200,5,5,26,201,5,5,225,200,5,5,230,200,5,5,121,200,5,5,148,200,5,5,153,200,5,5,41,201,5,5,60,201,5,5,70,201,5,5,38,201,5,5,35,201,5,5,158,200,5,5,236,201,5,5,86,201,5,5,127,205,5,5,134,205,5,5,98,205,5,5,87,205,5,5,103,201,5,5,95,205,5,5,120,205,5,5,173,205,5,5,212,205,5,5,126,205,5,5,216,205,5,5,170,205,5,5,164,205,5,5,13,206,5,5,158,205,5,5,193,205,5,5,160,205,5,5,98,206,5,5,13,205,5,5,116,211,5,5,250,204,5,5,251,204,5,5,80,201,5,5,193,201,5,5,172,205,5,5,155,201,5,5,198,201,5,5,246,205,5,5,38,205,5,5,214,201,5,5,60,205,5,5,215,201,5,5,255,205,5,5,58,205,5,5,154,201,5,5,132,201,5,5,4,204,5,5,52,204,5,5,233,201,5,5,85,204,5,5,72,204,5,5,58,204,5,5,146,180,5,5,216,209,5,5,147,201,5,5,179,211,5,5,213,177,5,5,60,211,5,5,140,211,5,5,7,206,5,5,37,239,5,5,159,169,5,5,20,212,5,5,210,170,5,5,101,184,5,5,10,172,5,5,96,208,5,5,216,222,5,5,150,224,5,5,73,172,5,5,153,219,5,5,143,221,5,5,19,238,5,5,36,223,5,5,20,220,5,5,253,173,201,32,230,0,5,5,215,221,5,5,110,219,5,5,56,206,5,5,57,206,5,5,97,203,5,5,87,203,5,5,72,203,5,5,73,203,5,5,84,203,5,5,70,203,5,5,107,203,5,5,105,203,5,5,170,202,5,5,230,205,5,5,143,211,5,5,90,205,5,5,237,205,5,5,20,206,5,5,197,202,5,5,221,205,5,5,59,202,5,5,199,202,5,5,28,202,5,5,90,202,5,5,171,202,5,5,172,202,5,5,218,202,5,5,190,210,5,5,2,203,5,5,68,203,5,5,207,210,5,5,245,202,5,5,57,203,5,5,35,203,5,5,191,210,5,5,60,203,5,5,17,203,5,5,210,210,5,5,246,202,5,5,236,202,5,5,64,203,5,5,175,203,5,5,176,203,5,5,202,236,5,5,189,203,5,5,196,203,5,5,36,223,5,5,242,202,5,5,218,210,5,5,201,210,5,5,63,203,5,5,23,203,5,5,207,203,5,5,119,204,5,5,38,204,5,5,60,211,5,5,118,204,5,5,233,202,5,5,50,204,5,5,132,240,5,5,68,204,5,5,70,204,5,5,81,204,5,5,83,204,5,5,108,204,5,5,117,204,5,5,104,202,5,5,82,202,5,5,85,202,5,5,181,202,5,5,165,181,5,5,151,201,5,5,117,203,5,5,125,203,5,5,240,210,5,5,165,203,5,5,147,201,5,5,133,203,5,5,136,203,5,5,157,203,5,5,131,203,5,5,232,204,5,5,53,243,5,5,64,219,5,5,149,204,5,5,90,175,5,5,178,204,5,5,131,204,5,5,124,204,5,5,134,204,5,5,132,204,5,5,136,204,5,5,91,211,5,5,223,201,5,5,193,204,5,5,181,205,5,5,152,205,5,5,74,206,5,5,79,206,5,5,81,206,5,5,88,206,5,5,5,206,5,5,156,202,5,5,126,202,5,5,7,206,5,5,222,204,5,5,98,202,5,5,95,202,5,5,250,205,5,5,251,238,5,5,63,202,5,5,252,201,5,5,122,210,5,5,72,202,5,5,149,202,5,5,31,202,5,5,76,202,5,5,73,202,5,5,64,202,5,5,39,202,5,5,174,210,5,5,180,210,5,5,15,204,5,5,237,203,5,5,238,203,5,5,28,204,5,5,230,203,5,5,253,203,5,5,254,203,5,5,216,203,5,5,221,203,5,5,243,203,5,5,94,202,5,5,139,202,5,5,140,202,5,5,136,248,5,5,209,246,5,5,237,221,5,5,61,221,5,5,219,172,5,5,141,176,5,5,64,216,5,5,170,180,5,5,192,224,5,5,123,225,5,5,190,244,5,5,59,180,5,5,138,169,5,5,30,184,5,5,24,234,5,5,130,194,5,5,9,194,5,5,107,200,5,5,111,230,5,5,250,189,192,0,0,0,192,0,0,0,5,5,102,247,192,0,0,0,5,5,190,216,192,0,0,0,192,0,0,0,5,5,254,230,5,5,210,247,5,5,27,239,5,5,62,202,5,5,63,221,5,5,194,232,5,5,9,184,5,5,99,196,5,5,34,196,5,5,226,241,192,0,0,0,5,5,26,217,192,0,0,0,5,5,224,247,192,0,0,0,192,0,0,0,5,5,47,239,5,5,76,180,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,182,5,5,137,223,5,5,213,186,5,5,238,188,5,5,36,201,5,5,174,202,5,5,88,230,5,5,10,220,5,5,148,208,5,5,151,208,5,5,125,216,5,5,148,169,5,5,149,188,5,5,78,225,5,5,251,214,5,5,183,213,5,5,131,209,5,5,193,172,5,5,223,173,5,5,56,191,5,5,101,198,5,5,105,244,5,5,134,174,5,5,5,209,5,5,208,192,5,5,167,222,5,5,147,207,5,5,211,187,5,5,11,248,5,5,47,188,5,5,12,248,5,5,83,245,5,5,26,250,5,5,155,169,5,5,242,220,5,5,175,246,5,5,111,214,5,5,101,241,5,5,209,249,5,5,39,248,5,5,222,191,5,5,200,245,5,5,108,186,5,5,80,227,5,5,96,195,5,5,60,203,5,5,248,195,5,5,98,182,5,5,170,222,5,5,151,245,5,5,98,175,5,5,156,172,5,5,156,172,5,5,171,245,5,5,227,188,5,5,43,222,5,5,39,238,5,5,210,195,5,5,62,171,5,5,120,244,5,5,70,176,5,5,47,239,5,5,32,210,5,5,214,232,5,5,138,213,5,5,77,191,192,0,0,0,5,5,211,186,192,0,0,0,192,0,0,0,5,5,125,171,5,5,198,199,5,5,204,217,5,5,28,234,5,5,10,175,5,5,2,193,5,5,230,240,5,5,206,220,5,5,149,188,5,5,186,225,5,5,83,191,5,5,66,228,5,5,102,247,5,5,34,183,5,5,144,236,5,5,208,169,5,5,74,170,5,5,123,176,5,5,109,168,5,5,79,239,5,5,61,172,5,5,144,237,5,5,179,228,5,5,101,221,5,5,63,242,5,5,105,244,5,5,149,168,5,5,134,174,5,5,202,177,5,5,169,241,5,5,191,223,5,5,114,171,5,5,103,168,5,5,190,216,5,5,60,201,5,5,196,228,5,5,51,245,5,5,166,177,5,5,20,220,5,5,131,204,5,5,237,239,5,5,22,249,5,5,47,188,5,5,109,196,5,5,12,248,5,5,29,216,5,5,240,197,5,5,115,182,5,5,210,247,5,5,9,246,5,5,114,176,5,5,54,190,5,5,195,186,5,5,146,229,5,5,27,239,5,5,151,221,5,5,124,246,5,5,159,197,5,5,170,245,5,5,102,226,5,5,168,226,5,5,96,195,5,5,212,201,5,5,160,225,5,5,60,203,5,5,187,213,5,5,151,245,5,5,182,190,5,5,34,190,5,5,59,243,5,5,229,215,5,5,130,184,5,5,43,222,5,5,168,179,5,5,224,247,5,5,207,216,5,5,39,238,5,5,179,211,5,5,99,242,5,5,210,195,5,5,227,170,5,5,120,244,5,5,150,222,5,5,199,174,5,5,203,223,5,5,40,234,5,5,10,248,5,5,32,210,5,5,99,196,5,5,253,168,5,5,214,232,5,5,127,181,5,5,138,213,5,5,242,245,5,5,57,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,181,5,5,62,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,100,232,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,92,222,6,5,81,249,6,5,242,222,192,0,0,0,6,5,5,182,6,5,24,181,6,5,127,195,6,5,74,226,6,5,152,194,6,5,176,240,6,5,63,230,6,5,165,203,6,5,94,215,6,5,129,189,6,5,187,243,6,5,229,233,6,5,104,175,6,5,83,247,6,5,111,221,6,5,129,182,6,5,114,221,6,5,5,176,6,5,170,236,6,5,62,227,6,5,5,172,6,5,57,238,6,5,166,219,6,5,48,241,6,5,30,250,6,5,67,247,6,5,87,241,6,5,179,246,6,5,182,249,6,5,153,177,6,5,235,195,6,5,48,199,6,5,154,188,6,5,5,207,6,5,63,241,6,5,7,243,6,5,15,221,6,5,97,185,6,5,116,240,6,5,125,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,227,113,0,197,67,114,0,197,163,114,0,197,3,115,0,197,99,115,0,197,195,115,0,197,35,116,0,197,131,116,0,197,227,116,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,158,178,6,5,239,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,202,5,5,93,228,5,5,99,238,192,0,0,0,5,5,149,210,5,5,88,230,5,5,183,227,5,5,130,171,5,5,163,243,5,5,183,169,5,5,10,220,5,5,229,232,192,0,0,0,192,0,0,0,5,5,148,208,5,5,136,227,5,5,245,190,5,5,65,197,192,0,0,0,192,0,0,0,5,5,110,210,5,5,187,243,192,0,0,0,5,5,233,218,5,5,143,242,5,5,92,171,5,5,19,180,5,5,198,199,192,0,0,0,5,5,126,215,5,5,140,218,192,0,0,0,5,5,249,198,5,5,132,206,5,5,97,185,5,5,76,173,192,0,0,0,5,5,230,240,5,5,151,208,5,5,125,216,5,5,206,220,5,5,82,169,5,5,152,176,5,5,159,169,5,5,63,191,5,5,148,169,5,5,196,171,5,5,102,192,5,5,109,192,5,5,171,216,5,5,171,216,5,5,171,216,192,0,0,0,5,5,253,190,5,5,94,192,5,5,210,223,192,0,0,0,5,5,247,194,5,5,223,174,5,5,113,237,5,5,105,232,5,5,168,230,5,5,88,174,5,5,131,247,5,5,144,181,5,5,205,208,5,5,100,225,5,5,206,214,5,5,34,232,5,5,126,220,5,5,126,220,5,5,83,191,5,5,157,174,5,5,130,244,5,5,142,237,5,5,116,227,5,5,78,225,5,5,117,227,5,5,98,188,5,5,133,212,5,5,64,216,5,5,133,248,5,5,94,174,5,5,130,246,5,5,138,227,5,5,30,234,5,5,109,176,5,5,133,169,5,5,52,179,192,0,0,0,5,5,224,206,5,5,176,189,5,5,118,183,5,5,24,181,5,5,34,208,5,5,224,220,192,0,0,0,192,0,0,0,5,5,14,192,5,5,150,241,5,5,185,227,5,5,125,213,5,5,96,184,192,0,0,0,192,0,0,0,5,5,103,218,5,5,10,201,5,5,10,201,192,0,0,0,5,5,147,242,5,5,8,247,5,5,60,211,5,5,121,169,192,0,0,0,5,5,97,222,5,5,86,194,5,5,50,178,5,5,24,241,192,0,0,0,5,5,103,227,5,5,223,173,5,5,120,234,5,5,36,215,192,0,0,0,5,5,157,236,192,0,0,0,5,5,70,179,5,5,19,249,5,5,77,173,5,5,162,235,5,5,186,173,192,0,0,0,5,5,214,235,5,5,14,223,5,5,115,207,5,5,35,183,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,171,5,5,75,170,5,5,201,222,5,5,41,201,192,0,0,0,5,5,230,185,192,0,0,0,192,0,0,0,5,5,148,241,5,5,156,225,5,5,156,225,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,234,5,5,134,179,192,0,0,0,5,5,35,180,5,5,130,218,5,5,199,246,5,5,182,199,5,5,144,242,192,0,0,0,192,0,0,0,5,5,56,191,192,0,0,0,5,5,241,180,5,5,113,176,5,5,186,190,5,5,101,221,5,5,186,190,5,5,34,205,5,5,105,244,5,5,144,232,5,5,62,183,5,5,97,172,5,5,255,207,5,5,134,174,5,5,11,201,5,5,86,174,5,5,82,193,5,5,87,199,5,5,126,169,5,5,191,168,5,5,125,197,192,0,0,0,5,5,114,228,5,5,126,213,5,5,239,220,5,5,221,219,5,5,117,192,192,0,0,0,5,5,233,195,5,5,113,236,5,5,152,236,192,0,0,0,5,5,67,209,5,5,140,194,5,5,28,191,5,5,218,194,192,0,0,0,5,5,5,209,5,5,94,196,192,0,0,0,5,5,226,192,5,5,127,222,5,5,222,195,192,0,0,0,5,5,167,222,192,0,0,0,192,0,0,0,5,5,107,207,5,5,155,208,5,5,240,249,5,5,39,214,5,5,230,209,192,0,0,0,5,5,60,201,5,5,196,228,5,5,110,249,5,5,200,214,5,5,230,170,192,0,0,0,192,0,0,0,5,5,179,186,5,5,8,192,5,5,194,219,5,5,147,207,192,0,0,0,5,5,100,168,5,5,211,169,5,5,20,249,192,0,0,0,5,5,133,244,5,5,154,237,5,5,185,184,5,5,232,220,192,0,0,0,5,5,48,247,192,0,0,0,5,5,138,176,192,0,0,0,5,5,168,234,192,0,0,0,5,5,80,224,5,5,141,229,5,5,20,220,5,5,46,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,182,192,0,0,0,5,5,91,236,5,5,209,169,5,5,38,215,5,5,56,230,5,5,252,211,5,5,211,187,5,5,131,204,5,5,120,188,5,5,224,195,5,5,249,210,192,0,0,0,5,5,173,213,5,5,25,185,5,5,64,236,192,0,0,0,5,5,22,249,5,5,71,179,192,0,0,0,5,5,59,236,5,5,194,173,192,0,0,0,192,0,0,0,5,5,36,183,5,5,40,243,5,5,109,196,5,5,148,240,192,0,0,0,5,5,124,215,5,5,174,243,5,5,100,248,5,5,72,225,192,0,0,0,5,5,195,180,192,0,0,0,5,5,172,176,192,0,0,0,5,5,9,177,5,5,240,197,5,5,149,244,192,0,0,0,5,5,220,230,5,5,195,169,192,0,0,0,192,0,0,0,5,5,190,224,5,5,167,228,192,0,0,0,5,5,15,243,192,0,0,0,192,0,0,0,5,5,196,177,5,5,185,241,5,5,9,246,5,5,160,224,5,5,254,216,192,0,0,0,5,5,79,219,192,0,0,0,5,5,176,243,192,0,0,0,5,5,37,239,192,0,0,0,5,5,248,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,245,5,5,184,245,5,5,184,245,5,5,159,197,192,0,0,0,5,5,244,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,234,5,5,170,205,5,5,102,226,192,0,0,0,192,0,0,0,5,5,209,249,192,0,0,0,192,0,0,0,5,5,9,184,5,5,157,222,192,0,0,0,5,5,108,186,5,5,247,192,5,5,195,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,213,192,0,0,0,192,0,0,0,5,5,109,248,5,5,247,247,192,0,0,0,192,0,0,0,5,5,203,169,192,0,0,0,5,5,145,194,5,5,182,219,5,5,211,192,192,0,0,0,5,5,237,169,192,0,0,0,5,5,36,249,5,5,144,249,5,5,213,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,173,192,0,0,0,5,5,104,237,5,5,125,168,5,5,151,245,192,0,0,0,192,0,0,0,5,5,157,213,192,0,0,0,5,5,180,176,192,0,0,0,192,0,0,0,5,5,19,242,5,5,35,177,192,0,0,0,5,5,8,213,5,5,179,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,241,5,5,126,231,5,5,115,176,192,0,0,0,5,5,197,214,5,5,14,242,5,5,82,246,5,5,78,201,5,5,18,190,5,5,141,182,5,5,251,235,5,5,102,199,192,0,0,0,5,5,110,219,5,5,254,172,5,5,196,218,5,5,78,195,5,5,58,230,5,5,59,207,5,5,9,179,5,5,171,245,5,5,176,213,5,5,7,197,5,5,29,198,5,5,68,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,213,5,5,204,195,5,5,86,177,192,0,0,0,5,5,81,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,211,5,5,120,205,5,5,233,199,5,5,147,231,5,5,151,174,5,5,50,215,5,5,157,242,5,5,189,213,5,5,59,243,5,5,210,179,5,5,221,247,5,5,150,176,192,0,0,0,5,5,91,187,5,5,211,232,192,0,0,0,5,5,179,248,5,5,63,238,192,0,0,0,5,5,137,204,5,5,20,223,192,0,0,0,5,5,169,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,174,5,5,99,242,5,5,227,170,5,5,243,221,192,0,0,0,5,5,223,186,5,5,93,170,5,5,250,184,5,5,205,214,192,0,0,0,192,0,0,0,5,5,198,168,5,5,213,193,5,5,73,213,192,0,0,0,5,5,165,218,5,5,150,222,192,0,0,0,192,0,0,0,5,5,193,214,5,5,169,213,5,5,26,249,192,0,0,0,5,5,189,173,5,5,203,171,5,5,28,235,5,5,45,190,5,5,119,171,5,5,231,215,5,5,201,243,192,0,0,0,5,5,90,198,192,0,0,0,5,5,66,220,192,0,0,0,192,0,0,0,5,5,60,215,5,5,249,230,5,5,112,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,170,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,181,5,5,127,181,5,5,160,213,192,0,0,0,5,5,18,192,192,0,0,0,5,5,195,181,5,5,62,243,5,5,115,169,5,5,190,227,192,0,0,0,192,0,0,0,5,5,242,245,5,5,28,193,5,5,170,193,192,0,0,0,192,0,0,0,5,5,19,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,206,192,0,0,0,5,5,191,246,5,5,150,208,5,5,120,246,5,5,118,208,5,5,45,183,5,5,20,170,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,5,0,0,142,9,0,5,0,5,0,0,57,238,28,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,5,182,24,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,166,219,26,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,106,223,12,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,77,230,23,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,193,204,18,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,58,214,27,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,161,168,19,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,165,196,25,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,201,221,16,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,7,243,8,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,198,191,3,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,12,223,4,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,184,209,6,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,129,227,11,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,183,218,9,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,207,247,5,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,63,241,7,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,24,209,14,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,210,225,2,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,79,201,17,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,169,177,22,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,143,189,13,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,101,235,10,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,194,214,21,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,103,233,15,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,87,234,20,15,0,5,0,0,144,9,0,5,0,5,212,55,18,254,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,5,5,142,9,5,5,166,195,6,5,144,9,5,5,142,9,5,5,242,220,13,5,144,9,5,5,142,9,5,5,52,172,8,5,144,9,5,5,142,9,5,5,39,248,12,5,144,9,5,5,142,9,5,5,162,193,14,5,144,9,5,5,142,9,5,5,32,249,7,5,144,9,5,5,142,9,5,5,229,192,11,5,144,9,5,5,142,9,5,5,82,249,10,5,144,9,5,5,142,9,5,5,197,246,9,5,144,9,5,5,0,21,17,5,7,243,5,5,0,23,16,5,7,243,5,5,0,25,15,5,7,243,5,5,0,27,14,5,7,243,5,5,0,29,13,5,7,243,5,5,0,31,12,5,7,243,5,5,0,33,11,5,7,243,5,5,0,35,10,5,7,243,5,5,0,37,9,5,7,243,5,5,0,21,5,5,0,19,20,5,7,243,5,5,0,21,5,5,0,21,19,5,7,243,5,5,0,21,5,5,0,23,18,5,7,243,5,5,119,204,7,5,158,188,5,5,0,19,30,5,88,179,5,5,0,21,19,5,88,179,5,5,0,23,13,5,88,179,5,5,0,25,12,5,88,179,5,5,0,27,11,5,88,179,5,5,0,29,10,5,88,179,5,5,0,31,9,5,88,179,5,5,0,33,8,5,88,179,5,5,0,35,7,5,88,179,5,5,0,37,6,5,88,179,5,5,0,21,5,5,0,19,29,5,88,179,5,5,0,21,5,5,0,21,28,5,88,179,5,5,0,21,5,5,0,23,27,5,88,179,5,5,0,21,5,5,0,25,26,5,88,179,5,5,0,21,5,5,0,27,25,5,88,179,5,5,0,21,5,5,0,29,24,5,88,179,5,5,0,21,5,5,0,31,23,5,88,179,5,5,0,21,5,5,0,33,22,5,88,179,5,5,0,21,5,5,0,35,21,5,88,179,5,5,0,21,5,5,0,37,20,5,88,179,5,5,0,23,5,5,0,19,18,5,88,179,5,5,0,23,5,5,0,21,17,5,88,179,5,5,0,23,5,5,0,23,16,5,88,179,5,5,0,23,5,5,0,25,15,5,88,179,5,5,0,23,5,5,0,27,14,5,88,179,5,5,161,213,6,5,86,174,5,5,73,245,6,5,158,188,5,5,154,177,7,5,65,246,5,5,25,209,6,5,208,246,5,5,207,247,5,5,10,222,5,5,67,191,7,5,242,220,5,5,0,21,28,5,183,218,5,5,0,23,17,5,183,218,5,5,0,25,14,5,183,218,5,5,0,27,13,5,183,218,5,5,0,29,12,5,183,218,5,5,0,31,11,5,183,218,5,5,0,33,10,5,183,218,5,5,0,35,9,5,183,218,5,5,0,37,8,5,183,218,5,5,0,21,5,5,0,19,38,5,183,218,5,5,0,21,5,5,0,21,37,5,183,218,5,5,0,21,5,5,0,23,36,5,183,218,5,5,0,21,5,5,0,25,35,5,183,218,5,5,0,21,5,5,0,27,34,5,183,218,5,5,0,21,5,5,0,29,33,5,183,218,5,5,0,21,5,5,0,31,32,5,183,218,5,5,0,21,5,5,0,33,31,5,183,218,5,5,0,21,5,5,0,35,30,5,183,218,5,5,0,21,5,5,0,37,29,5,183,218,5,5,0,23,5,5,0,19,27,5,183,218,5,5,0,23,5,5,0,21,26,5,183,218,5,5,0,23,5,5,0,23,25,5,183,218,5,5,0,23,5,5,0,25,24,5,183,218,5,5,0,23,5,5,0,27,23,5,183,218,5,5,0,23,5,5,0,29,22,5,183,218,5,5,0,23,5,5,0,31,21,5,183,218,5,5,0,23,5,5,0,33,20,5,183,218,5,5,0,23,5,5,0,35,19,5,183,218,5,5,0,23,5,5,0,37,18,5,183,218,5,5,0,25,5,5,0,19,16,5,183,218,5,5,0,25,5,5,0,21,15,5,183,218,5,5,68,221,5,5,41,237,5,5,2,244,5,5,158,229,5,5,29,175,5,5,209,216,69,5,39,172,5,160,0,0,69,5,90,181,5,138,0,0,69,5,90,181,5,136,0,0,69,5,90,181,5,142,0,0,69,5,90,181,5,150,0,0,69,5,214,209,5,154,0,0,69,5,187,211,5,138,0,0,69,5,187,211,5,136,0,0,69,5,187,211,5,142,0,0,69,5,187,211,5,154,0,0,69,5,187,211,5,150,0,0,69,5,225,235,5,136,0,0,69,5,39,172,5,136,0,0,69,5,39,172,5,142,0,0,69,5,39,172,5,156,0,0,69,5,39,172,5,144,0,0,69,5,108,177,5,144,0,0,69,5,90,181,5,164,0,0,69,5,90,181,5,140,0,0,69,5,90,181,5,156,0,0,69,5,90,181,5,162,0,0,69,5,90,181,5,144,0,0,69,5,134,184,5,142,0,0,69,5,134,184,5,140,0,0,69,5,134,184,5,156,0,0,69,5,134,184,5,160,0,0,69,5,198,187,5,142,0,0,69,5,246,191,5,142,0,0,69,5,74,198,5,160,0,0,69,5,119,200,5,136,0,0,69,5,119,200,5,160,0,0,69,5,119,200,5,144,0,0,69,5,214,209,5,136,0,0,69,5,214,209,5,160,0,0,69,5,214,209,5,144,0,0,69,5,187,211,5,164,0,0,69,5,187,211,5,140,0,0,69,5,187,211,5,152,0,0,69,5,55,218,5,136,0,0,69,5,55,218,5,160,0,0,69,5,55,218,5,144,0,0,69,5,125,219,5,136,0,0,69,5,125,219,5,142,0,0,69,5,125,219,5,160,0,0,69,5,125,219,5,144,0,0,69,5,170,224,5,160,0,0,69,5,170,224,5,144,0,0,69,5,40,228,5,142,0,0,69,5,225,235,5,142,0,0,69,5,225,235,5,150,0,0,69,5,147,243,5,136,0,0,69,5,147,243,5,156,0,0,69,5,147,243,5,144,0,0,69,5,187,211,5,190,0,0,69,5,187,211,5,144,0,0,69,5,0,127,5,150,0,0,5,164,0,0,69,5,0,127,5,156,0,0,5,164,0,0,69,5,134,184,5,144,0,0,69,5,74,198,5,144,0,0,69,5,187,211,5,162,0,0,69,5,187,211,5,162,0,0,5,164,0,0,69,5,134,184,5,136,0,0,69,5,214,209,5,138,0,0,69,5,0,127,5,146,0,0,5,136,0,0,69,5,90,181,5,184,0,0,69,5,90,181,5,188,0,0,69,5,187,211,5,184,0,0,69,5,187,211,5,188,0,0,69,5,55,218,5,184,0,0,69,5,55,218,5,188,0,0,69,5,125,219,5,202,0,0,69,5,170,224,5,202,0,0,69,5,198,187,5,144,0,0,69,5,90,181,5,160,0,0,69,5,187,211,5,150,0,0,5,164,0,0,69,5,187,211,5,154,0,0,5,164,0,0,69,5,187,211,5,156,0,0,69,5,187,211,5,156,0,0,5,164,0,0,69,5,225,235,5,164,0,0,69,5,159,168,5,156,0,0,69,5,159,168,5,196,0,0,69,5,159,168,5,210,0,0,69,5,39,172,5,160,0,0,5,136,0,0,69,5,108,177,5,156,0,0,69,5,108,177,5,196,0,0,69,5,108,177,5,210,0,0,69,5,108,177,5,160,0,0,69,5,108,177,5,204,0,0,69,5,90,181,5,164,0,0,5,138,0,0,69,5,90,181,5,164,0,0,5,136,0,0,69,5,90,181,5,204,0,0,69,5,90,181,5,208,0,0,69,5,90,181,5,160,0,0,5,140,0,0,69,5,18,182,5,156,0,0,69,5,134,184,5,164,0,0,69,5,198,187,5,156,0,0,69,5,198,187,5,196,0,0,69,5,198,187,5,150,0,0,69,5,198,187,5,160,0,0,69,5,198,187,5,206,0,0,69,5,74,198,5,136,0,0,69,5,74,198,5,196,0,0,69,5,74,198,5,210,0,0,69,5,119,200,5,196,0,0,69,5,119,200,5,196,0,0,5,164,0,0,69,5,119,200,5,210,0,0,69,5,119,200,5,204,0,0,69,5,165,206,5,136,0,0,69,5,165,206,5,156,0,0,69,5,165,206,5,196,0,0,69,5,214,209,5,156,0,0,69,5,214,209,5,196,0,0,69,5,214,209,5,210,0,0,69,5,214,209,5,204,0,0,69,5,187,211,5,154,0,0,5,136,0,0,69,5,187,211,5,154,0,0,5,150,0,0,69,5,187,211,5,164,0,0,5,138,0,0,69,5,187,211,5,164,0,0,5,136,0,0,69,5,222,211,5,136,0,0,69,5,222,211,5,156,0,0,69,5,55,218,5,156,0,0,69,5,55,218,5,196,0,0,69,5,55,218,5,196,0,0,5,164,0,0,69,5,55,218,5,210,0,0,69,5,125,219,5,156,0,0,69,5,125,219,5,196,0,0,69,5,125,219,5,136,0,0,5,156,0,0,69,5,125,219,5,144,0,0,5,156,0,0,69,5,125,219,5,196,0,0,5,156,0,0,69,5,170,224,5,156,0,0,69,5,170,224,5,196,0,0,69,5,170,224,5,210,0,0,69,5,170,224,5,204,0,0,69,5,40,228,5,138,0,0,69,5,40,228,5,136,0,0,69,5,40,228,5,150,0,0,69,5,40,228,5,156,0,0,69,5,40,228,5,196,0,0,69,5,164,230,5,156,0,0,69,5,164,230,5,150,0,0,69,5,225,235,5,156,0,0,69,5,147,243,5,142,0,0,69,5,147,243,5,196,0,0,69,5,147,243,5,210,0,0,69,5,0,127,5,142,0,0,5,136,0,0,69,5,0,127,5,142,0,0,5,138,0,0,69,5,0,127,5,142,0,0,5,182,0,0,69,5,0,127,5,142,0,0,5,154,0,0,69,5,0,127,5,196,0,0,5,142,0,0,69,5,0,127,5,140,0,0,5,136,0,0,69,5,0,127,5,140,0,0,5,138,0,0,69,5,0,127,5,140,0,0,5,182,0,0,69,5,0,127,5,140,0,0,5,154,0,0,69,5,0,127,5,196,0,0,5,140,0,0,69,5,90,181,5,196,0,0,69,5,90,181,5,182,0,0,69,5,90,181,5,154,0,0,69,5,90,181,5,142,0,0,5,136,0,0,69,5,90,181,5,142,0,0,5,138,0,0,69,5,90,181,5,142,0,0,5,182,0,0,69,5,90,181,5,142,0,0,5,154,0,0,69,5,90,181,5,196,0,0,5,142,0,0,69,5,187,211,5,196,0,0,69,5,187,211,5,182,0,0,69,5,187,211,5,142,0,0,5,136,0,0,69,5,187,211,5,142,0,0,5,138,0,0,69,5,187,211,5,142,0,0,5,182,0,0,69,5,187,211,5,142,0,0,5,154,0,0,69,5,187,211,5,196,0,0,5,142,0,0,69,5,187,211,5,190,0,0,5,136,0,0,69,5,187,211,5,190,0,0,5,138,0,0,69,5,187,211,5,190,0,0,5,182,0,0,69,5,187,211,5,190,0,0,5,154,0,0,69,5,187,211,5,190,0,0,5,196,0,0,69,5,225,235,5,138,0,0,69,5,225,235,5,196,0,0,69,5,225,235,5,182,0,0,69,5,225,235,5,154,0,0,5,5,82,10,5,5,215,169,8,5,84,10,5,5,82,10,5,5,166,219,14,5,84,10,5,5,82,10,5,5,5,182,13,5,84,10,5,5,82,10,5,5,34,168,11,5,84,10,5,5,82,10,5,5,88,179,7,5,84,10,5,5,82,10,5,5,153,177,10,5,84,10,5,5,82,10,5,5,137,178,6,5,84,10,5,5,82,10,5,5,153,221,12,5,84,10,5,5,82,10,5,5,247,168,9,5,84,10,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,69,221,5,5,48,0,51,150,63,192,197,2,130,172,5,5,48,0,135,101,63,192,197,66,118,247,5,5,48,0,134,94,63,192,197,130,41,0,198,161,0,0,218,0,40,2,141,1,102,30,199,0,180,30,100,0,212,30,50,0,226,30,25,0,246,30,14,0,246,30,113,192,197,98,248,30,113,192,197,162,42,33,255,255,74,198,69,5,43,33,255,255,69,127,196,146,226,30,112,192,197,131,242,30,112,192,197,226,244,30,113,192,197,34,218,30,12,0,218,30,111,192,197,3,220,30,111,192,197,99,222,30,111,192,197,195,224,30,112,192,197,35,212,30,109,192,197,227,214,30,110,192,197,67,216,30,110,192,197,163,194,30,23,0,204,30,12,0,204,30,108,192,197,162,206,30,108,192,197,226,208,30,109,192,197,35,210,30,109,192,197,131,194,30,107,192,197,131,196,30,107,192,197,227,198,30,108,192,197,67,186,30,12,0,186,30,106,192,197,66,188,30,106,192,197,130,190,30,106,192,197,195,192,30,107,192,197,35,180,30,105,192,197,67,182,30,105,192,197,163,184,30,106,192,197,2,142,30,50,0,166,30,23,0,172,30,12,0,172,30,103,192,197,195,174,30,104,192,197,35,176,30,104,192,197,131,178,30,104,192,197,227,166,30,102,192,197,163,168,30,103,192,197,3,170,30,103,192,197,99,148,30,14,0,148,30,102,192,197,2,160,30,255,255,69,127,196,196,162,30,255,255,69,127,196,182,164,30,102,192,197,67,142,30,101,192,197,66,144,30,101,192,197,130,146,30,101,192,197,194,128,30,23,0,134,30,12,0,134,30,100,192,197,66,136,30,100,192,197,130,138,30,100,192,197,194,140,30,101,192,197,2,128,30,99,192,197,130,130,30,99,192,197,194,132,30,100,192,197,2,108,30,9,0,108,30,98,192,197,194,110,30,99,192,197,2,112,30,99,192,197,66,102,30,97,192,197,195,104,30,98,192,197,35,106,30,98,192,197,130,42,30,98,0,74,30,48,0,88,30,23,0,94,30,12,0,94,30,96,192,197,162,96,30,96,192,197,226,98,30,97,192,197,34,100,30,97,192,197,99,88,30,95,192,197,194,90,30,96,192,197,2,92,30,96,192,197,67,80,30,12,0,80,30,94,192,197,131,82,30,94,192,197,227,84,30,95,192,197,66,86,30,95,192,197,130,74,30,93,192,197,130,76,30,93,192,197,195,78,30,94,192,197,35,60,30,23,0,66,30,12,0,66,30,92,192,197,130,68,30,92,192,197,194,70,30,93,192,197,2,72,30,93,192,197,66,60,30,91,192,197,194,62,30,92,192,197,2,64,30,92,192,197,66,52,30,12,0,52,30,90,192,197,162,54,30,90,192,197,226,56,30,91,192,197,35,58,30,91,192,197,130,42,30,89,192,197,226,48,30,90,192,197,34,50,30,90,192,197,98,14,30,48,0,28,30,23,0,34,30,12,0,34,30,88,192,197,226,36,30,89,192,197,34,38,30,89,192,197,98,40,30,89,192,197,162,28,30,88,192,197,3,30,30,88,192,197,98,32,30,88,192,197,162,20,30,12,0,20,30,86,192,197,195,22,30,87,192,197,35,24,30,87,192,197,130,26,30,87,192,197,194,14,30,86,192,197,2,16,30,86,192,197,66,18,30,86,192,197,130,0,30,24,0,6,30,12,0,6,30,84,192,197,226,8,30,85,192,197,35,10,30,85,192,197,130,12,30,85,192,197,194,0,30,255,255,69,127,196,200,2,30,84,192,197,98,4,30,84,192,197,162,46,2,9,0,46,2,83,192,197,130,48,2,83,192,197,195,50,2,84,192,197,34,40,2,82,192,197,130,42,2,82,192,197,195,44,2,83,192,197,35,28,1,202,0,120,1,105,0,248,1,54,0,14,2,27,0,24,2,16,0,24,2,81,192,197,194,26,2,82,192,197,2,30,2,82,192,197,66,38,2,240,127,69,127,196,156,4,3,77,192,197,227,14,2,81,192,197,2,16,2,81,192,197,66,18,2,81,192,197,130,2,2,13,0,2,2,255,255,69,127,196,188,4,2,80,192,197,66,6,2,80,192,197,130,12,2,80,192,197,194,248,1,79,192,197,162,250,1,79,192,197,227,0,2,255,255,69,127,196,184,222,1,23,0,232,1,12,0,232,1,78,192,197,130,234,1,78,192,197,194,236,1,79,192,197,3,244,1,79,192,197,98,222,1,77,192,197,131,224,1,77,192,197,227,230,1,78,192,197,66,125,1,13,0,125,1,76,192,197,194,160,1,77,192,197,2,205,1,255,255,69,127,196,144,209,1,77,192,197,66,120,1,76,192,197,2,121,1,76,192,197,66,123,1,76,192,197,130,76,1,48,0,92,1,23,0,98,1,12,0,98,1,75,192,197,2,100,1,75,192,197,66,116,1,75,192,197,130,118,1,75,192,197,194,92,1,74,192,197,66,94,1,74,192,197,130,96,1,74,192,197,194,84,1,12,0,84,1,73,192,197,66,86,1,73,192,197,130,88,1,73,192,197,194,90,1,74,192,197,2,76,1,72,192,197,130,78,1,72,192,197,194,80,1,73,192,197,2,54,1,23,0,61,1,12,0,61,1,71,192,197,130,67,1,71,192,197,194,69,1,72,192,197,2,71,1,72,192,197,66,54,1,70,192,197,194,57,1,71,192,197,2,59,1,71,192,197,66,34,1,9,0,34,1,70,192,197,2,36,1,70,192,197,66,52,1,70,192,197,130,28,1,69,192,197,66,30,1,69,192,197,130,32,1,69,192,197,194,196,0,100,0,221,0,51,0,12,1,23,0,20,1,12,0,20,1,68,192,197,66,22,1,68,192,197,130,24,1,68,192,197,194,26,1,69,192,197,2,12,1,67,192,197,130,14,1,67,192,197,194,18,1,68,192,197,2,4,1,13,0,4,1,255,255,69,127,196,162,6,1,66,192,197,194,8,1,67,192,197,2,10,1,67,192,197,66,221,0,66,192,197,130,0,1,255,255,69,127,196,164,2,1,255,255,69,127,196,140,203,0,23,0,211,0,12,0,211,0,65,192,197,130,212,0,65,192,197,194,213,0,66,192,197,2,214,0,66,192,197,66,203,0,64,192,197,194,209,0,65,192,197,2,210,0,65,192,197,66,200,0,9,0,200,0,64,192,197,2,201,0,64,192,197,66,202,0,64,192,197,130,196,0,255,255,69,127,196,150,197,0,255,255,69,127,196,146,199,0,63,192,197,194,79,0,62,0,88,0,30,0,192,0,16,0,192,0,255,255,69,127,196,138,193,0,255,255,69,127,196,136,194,0,255,255,69,127,196,142,195,0,255,255,69,127,196,154,88,0,255,255,164,230,69,5,89,0,255,255,225,235,69,5,90,0,255,255,147,243,69,5,82,0,16,0,82,0,255,255,55,218,69,5,83,0,255,255,125,219,69,5,84,0,255,255,170,224,69,5,87,0,255,255,40,228,69,5,79,0,255,255,187,211,69,5,80,0,255,255,222,211,69,5,81,0,255,255,57,214,69,5,71,0,30,0,75,0,16,0,75,0,255,255,74,198,69,5,76,0,255,255,119,200,69,5,77,0,255,255,165,206,69,5,78,0,255,255,214,209,69,5,71,0,255,255,134,184,69,5,72,0,255,255,198,187,69,5,74,0,255,255,246,191,69,5,68,0,12,0,68,0,255,255,108,177,69,5,69,0,255,255,90,181,69,5,70,0,255,255,18,182,69,5,65,0,255,255,0,127,69,5,66,0,255,255,159,168,69,5,67,0,255,255,39,172,69,5,118,1,65,0,73,0,74,0,76,0,77,0,85,0,87,0,91,0,192,0,198,0,199,0,204,0,209,0,215,0,221,0,222,0,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12,1,13,1,14,1,15,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,26,1,27,1,28,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,52,1,53,1,54,1,55,1,57,1,58,1,59,1,60,1,61,1,62,1,67,1,68,1,69,1,70,1,71,1,72,1,76,1,77,1,78,1,79,1,80,1,81,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,94,1,95,1,96,1,97,1,98,1,99,1,100,1,101,1,116,1,117,1,118,1,119,1,120,1,122,1,123,1,124,1,125,1,126,1,160,1,161,1,205,1,206,1,209,1,210,1,222,1,223,1,224,1,225,1,230,1,231,1,232,1,233,1,234,1,235,1,236,1,237,1,244,1,245,1,248,1,249,1,250,1,251,1,0,2,1,2,2,2,3,2,4,2,5,2,6,2,7,2,12,2,13,2,14,2,15,2,16,2,17,2,18,2,19,2,24,2,25,2,26,2,27,2,30,2,31,2,38,2,39,2,40,2,41,2,42,2,43,2,44,2,45,2,46,2,47,2,48,2,49,2,50,2,51,2,0,30,1,30,2,30,3,30,4,30,5,30,6,30,7,30,8,30,9,30,10,30,11,30,12,30,13,30,14,30,15,30,16,30,17,30,18,30,19,30,20,30,21,30,22,30,23,30,24,30,25,30,26,30,27,30,28,30,29,30,30,30,31,30,32,30,33,30,34,30,35,30,36,30,37,30,38,30,39,30,40,30,41,30,42,30,43,30,48,30,49,30,50,30,51,30,52,30,53,30,54,30,55,30,56,30,57,30,58,30,59,30,60,30,61,30,62,30,63,30,64,30,65,30,66,30,67,30,68,30,69,30,70,30,71,30,72,30,73,30,74,30,75,30,76,30,77,30,78,30,79,30,80,30,81,30,82,30,83,30,84,30,85,30,86,30,87,30,88,30,89,30,90,30,91,30,92,30,93,30,94,30,95,30,96,30,97,30,98,30,99,30,100,30,101,30,102,30,103,30,104,30,105,30,106,30,107,30,108,30,109,30,110,30,111,30,112,30,113,30,128,30,129,30,130,30,131,30,132,30,133,30,134,30,135,30,136,30,137,30,138,30,139,30,140,30,141,30,142,30,143,30,144,30,145,30,146,30,147,30,148,30,149,30,160,30,161,30,162,30,163,30,164,30,165,30,166,30,167,30,168,30,169,30,170,30,171,30,172,30,173,30,174,30,175,30,176,30,177,30,178,30,179,30,180,30,181,30,182,30,183,30,184,30,185,30,186,30,187,30,188,30,189,30,190,30,191,30,192,30,193,30,194,30,195,30,196,30,197,30,198,30,199,30,204,30,205,30,206,30,207,30,208,30,209,30,210,30,211,30,212,30,213,30,214,30,215,30,216,30,217,30,218,30,219,30,220,30,221,30,222,30,223,30,224,30,225,30,226,30,227,30,242,30,243,30,244,30,245,30,246,30,247,30,248,30,249,30,42,33,44,33,134,94,135,94,135,101,136,101,51,150,52,150,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,170,170,3,0,68,0,51,0,60,0,75,141,1,16,219,79,0,96,1,0,0,96,170,170,170,170,34,84,3,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,100,0,0,0,100,1,0,0,68,45,3,0,68,45,3,0,180,55,3,0,180,55,3,0,24,64,3,0,24,64,3,0,196,79,3,0,214,79,3,0,6,84,3,0,17,0,0,0,5,0,0,0,0,0,0,41,127,0,0,96,125,0,0,123,44,0,118,123,125,0,0,126,169,255,0,254,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,0,249,250,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,254,255,50,105,114,84,1,0,112,14,239,48,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,176,0,184,0,189,0,48,0,197,0,205,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,221,0,229,0,237,0,245,0,253,0,5,1,13,1,21,1,29,1,37,1,45,1,48,0,52,1,60,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,67,1,48,0,48,0,48,0,48,0,75,1,83,1,48,0,91,1,99,1,107,1,110,1,48,0,48,0,118,1,126,1,48,0,48,0,48,0,134,1,142,1,150,1,158,1,165,1,173,1,181,1,189,1,197,1,205,1,213,1,221,1,229,1,236,1,244,1,252,1,4,2,12,2,20,2,28,2,36,2,44,2,51,2,59,2,67,2,75,2,83,2,91,2,99,2,103,2,111,2,119,2,125,2,133,2,141,2,48,0,149,2,48,0,157,2,165,2,171,2,179,2,187,2,195,2,203,2,211,2,219,2,226,2,234,2,242,2,250,2,2,3,10,3,18,3,24,3,32,3,40,3,48,3,56,3,64,3,72,3,80,3,88,3,96,3,104,3,112,3,120,3,128,3,136,3,142,3,48,0,148,3,156,3,164,3,172,3,180,3,188,3,196,3,203,3,211,3,218,3,226,3,234,3,242,3,250,3,48,0,0,4,8,4,16,4,24,4,31,4,39,4,47,4,55,4,62,4,70,4,78,4,86,4,94,4,102,4,110,4,115,4,122,4,130,4,138,4,146,4,154,4,162,4,169,4,177,4,183,4,190,4,197,4,205,4,213,4,221,4,229,4,237,4,245,4,48,0,253,4,5,5,13,5,21,5,26,5,30,5,37,5,45,5,53,5,61,5,69,5,77,5,84,5,91,5,99,5,107,5,115,5,123,5,131,5,139,5,147,5,154,5,161,5,166,5,174,5,182,5,189,5,196,5,203,5,211,5,219,5,227,5,232,5,240,5,248,5,255,5,3,6,11,6,19,6,22,6,28,6,36,6,44,6,51,6,59,6,64,6,71,6,75,6,83,6,91,6,99,6,107,6,114,6,121,6,129,6,131,6,139,6,147,6,155,6,161,6,48,0,164,6,171,6,178,6,185,6,193,6,201,6,207,6,212,6,220,6,228,6,236,6,48,0,244,6,252,6,4,7,11,7,19,7,27,7,33,7,41,7,49,7,56,7,62,7,66,7,72,7,48,0,48,0,48,0,80,7,88,7,96,7,104,7,112,7,120,7,128,7,136,7,144,7,152,7,160,7,168,7,176,7,184,7,192,7,200,7,208,7,216,7,224,7,232,7,240,7,248,7,0,8,8,8,16,8,24,8,32,8,40,8,48,8,56,8,64,8,72,8,80,8,88,8,96,8,104,8,112,8,120,8,128,8,136,8,144,8,152,8,160,8,168,8,176,8,184,8,192,8,200,8,208,8,216,8,224,8,232,8,240,8,248,8,0,9,8,9,16,9,24,9,32,9,40,9,48,9,56,9,64,9,72,9,80,9,88,9,96,9,104,9,112,9,120,9,128,9,136,9,144,9,152,9,160,9,168,9,176,9,184,9,192,9,200,9,208,9,216,9,224,9,232,9,240,9,248,9,0,10,8,10,16,10,24,10,32,10,40,10,48,10,56,10,64,10,72,10,80,10,88,10,96,10,104,10,112,10,120,10,128,10,136,10,144,10,152,10,160,10,168,10,176,10,184,10,192,10,200,10,208,10,216,10,224,10,232,10,240,10,248,10,0,11,8,11,16,11,24,11,32,11,40,11,48,11,56,11,64,11,72,11,80,11,88,11,96,11,104,11,112,11,120,11,128,11,136,11,144,11,152,11,160,11,168,11,176,11,184,11,192,11,200,11,208,11,216,11,224,11,232,11,240,11,248,11,0,12,8,12,16,12,24,12,32,12,40,12,48,12,56,12,64,12,72,12,80,12,88,12,96,12,104,12,112,12,120,12,128,12,136,12,144,12,152,12,160,12,168,12,176,12,184,12,192,12,200,12,208,12,216,12,224,12,232,12,240,12,248,12,0,13,8,13,16,13,24,13,32,13,40,13,48,13,56,13,64,13,72,13,80,13,88,13,96,13,104,13,112,13,120,13,128,13,136,13,144,13,152,13,160,13,168,13,176,13,184,13,192,13,200,13,208,13,216,13,224,13,232,13,240,13,248,13,0,14,8,14,16,14,24,14,32,14,40,14,48,14,56,14,64,14,72,14,80,14,88,14,96,14,104,14,112,14,120,14,128,14,136,14,144,14,152,14,160,14,168,14,176,14,184,14,192,14,200,14,208,14,216,14,224,14,232,14,240,14,248,14,0,15,8,15,16,15,24,15,32,15,40,15,48,15,56,15,64,15,72,15,80,15,88,15,96,15,104,15,112,15,120,15,128,15,136,15,144,15,152,15,160,15,168,15,176,15,184,15,192,15,200,15,208,15,216,15,224,15,232,15,240,15,248,15,0,16,8,16,16,16,24,16,32,16,40,16,48,16,56,16,64,16,72,16,80,16,88,16,96,16,104,16,112,16,120,16,128,16,136,16,144,16,152,16,160,16,168,16,176,16,184,16,192,16,200,16,208,16,216,16,224,16,232,16,240,16,248,16,0,17,8,17,16,17,24,17,32,17,40,17,48,17,56,17,64,17,72,17,80,17,88,17,96,17,104,17,112,17,120,17,128,17,136,17,144,17,152,17,160,17,168,17,176,17,184,17,192,17,200,17,208,17,216,17,224,17,232,17,240,17,248,17,0,18,8,18,16,18,24,18,32,18,40,18,48,18,56,18,64,18,72,18,80,18,88,18,96,18,104,18,112,18,120,18,128,18,136,18,144,18,152,18,160,18,168,18,176,18,184,18,192,18,200,18,208,18,216,18,224,18,232,18,240,18,248,18,0,19,8,19,16,19,24,19,32,19,40,19,48,19,56,19,64,19,72,19,80,19,88,19,96,19,104,19,112,19,120,19,128,19,136,19,144,19,152,19,160,19,168,19,176,19,184,19,192,19,200,19,208,19,216,19,224,19,232,19,240,19,248,19,0,20,8,20,16,20,24,20,32,20,40,20,48,20,56,20,64,20,72,20,80,20,88,20,96,20,104,20,112,20,120,20,128,20,136,20,144,20,152,20,160,20,168,20,176,20,184,20,192,20,200,20,208,20,216,20,224,20,232,20,240,20,248,20,0,21,8,21,16,21,24,21,32,21,40,21,48,21,56,21,64,21,72,21,80,21,88,21,96,21,104,21,112,21,120,21,128,21,136,21,144,21,152,21,160,21,168,21,176,21,184,21,192,21,200,21,208,21,216,21,224,21,232,21,240,21,248,21,0,22,8,22,16,22,24,22,32,22,40,22,48,22,56,22,64,22,72,22,80,22,88,22,96,22,104,22,112,22,120,22,128,22,136,22,144,22,152,22,160,22,168,22,176,22,184,22,192,22,200,22,208,22,216,22,224,22,232,22,240,22,248,22,0,23,8,23,16,23,24,23,32,23,40,23,48,23,56,23,64,23,72,23,80,23,88,23,96,23,104,23,112,23,120,23,128,23,136,23,144,23,152,23,160,23,168,23,176,23,184,23,192,23,200,23,208,23,216,23,224,23,232,23,240,23,248,23,0,24,8,24,16,24,24,24,32,24,40,24,48,24,56,24,64,24,72,24,80,24,88,24,96,24,104,24,112,24,120,24,128,24,136,24,144,24,152,24,160,24,168,24,176,24,184,24,192,24,200,24,208,24,216,24,224,24,232,24,240,24,248,24,0,25,8,25,16,25,24,25,32,25,40,25,48,25,56,25,64,25,72,25,80,25,88,25,96,25,104,25,112,25,120,25,128,25,136,25,144,25,152,25,160,25,168,25,176,25,184,25,192,25,200,25,208,25,216,25,224,25,232,25,240,25,248,25,0,26,8,26,16,26,24,26,32,26,40,26,48,26,56,26,64,26,72,26,80,26,88,26,96,26,104,26,112,26,120,26,128,26,136,26,144,26,152,26,160,26,168,26,176,26,184,26,192,26,200,26,208,26,216,26,224,26,232,26,240,26,248,26,0,27,8,27,16,27,24,27,32,27,40,27,48,27,56,27,64,27,72,27,80,27,88,27,96,27,104,27,112,27,120,27,128,27,136,27,144,27,152,27,160,27,168,27,176,27,184,27,191,27,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,208,48,161,0,48,0,48,0,153,0,216,48,224,48,230,48,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,199,27,207,27,215,27,223,27,231,27,239,27,247,27,255,27,7,28,15,28,23,28,31,28,39,28,47,28,55,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,62,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,64,0,191,8,254,8,62,9,126,9,190,9,254,9,62,10,125,10,189,10,253,10,60,11,124,11,188,11,252,11,60,12,123,12,187,12,251,12,58,13,122,13,186,13,240,13,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,48,14,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,67,28,75,28,83,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,91,28,99,28,105,28,112,28,48,0,118,28,123,28,128,28,48,0,48,0,48,0,48,0,135,28,143,28,149,28,156,28,162,28,169,28,176,28,182,28,190,28,198,28,205,28,211,28,218,28,226,28,228,28,236,28,244,28,250,28,253,28,5,29,48,0,48,0,13,29,20,29,28,29,31,29,37,29,48,0,48,0,45,29,48,0,50,29,57,29,65,29,73,29,77,29,84,29,89,29,95,29,48,0,48,0,48,0,48,0,101,29,105,29,48,0,110,29,48,0,48,0,48,0,48,0,117,29,48,0,121,29,48,0,48,0,126,29,48,0,132,29,140,29,143,29,149,29,48,0,48,0,48,0,156,29,160,29,48,0,165,29,170,29,176,29,179,29,187,29,48,0,192,29,48,0,48,0,48,0,197,29,205,29,213,29,221,29,229,29,237,29,245,29,252,29,4,30,12,30,19,30,27,30,35,30,41,30,48,30,53,30,61,30,69,30,75,30,48,0,82,30,48,0,90,30,95,30,102,30,110,30,116,30,124,30,131,30,139,30,146,30,153,30,158,30,163,30,171,30,179,30,183,30,48,0,191,30,199,30,206,30,214,30,222,30,229,30,48,0,235,30,243,30,48,0,251,30,48,0,253,30,48,0,48,0,4,31,12,31,16,31,48,0,24,31,48,0,32,31,40,31,43,31,48,0,50,31,56,31,48,0,64,31,69,31,77,31,84,31,92,31,48,0,98,31,104,31,48,0,110,31,48,0,48,0,48,0,118,31,126,31,48,0,48,0,48,0,132,31,139,31,48,0,147,31,151,31,156,31,164,31,172,31,180,31,187,31,195,31,201,31,48,0,207,31,215,31,223,31,48,0,231,31,239,31,247,31,255,31,7,32,15,32,22,32,30,32,38,32,45,32,52,32,60,32,48,0,66,32,73,32,48,0,78,32,85,32,93,32,48,0,48,0,48,0,48,0,48,0,48,0,100,32,48,0,48,0,48,0,108,32,48,0,48,0,114,32,48,0,118,32,48,0,126,32,48,0,48,0,48,0,48,0,133,32,48,0,141,32,146,32,153,32,159,32,166,32,174,32,48,0,48,0,182,32,189,32,195,32,48,0,201,32,48,0,48,0,207,32,210,32,218,32,48,0,224,32,48,0,48,0,231,32,234,32,242,32,48,0,249,32,251,32,48,0,3,33,6,33,13,33,48,0,21,33,29,33,48,0,35,33,48,0,48,0,38,33,48,0,48,0,48,0,48,0,48,0,46,33,48,0,48,0,48,0,48,33,56,33,62,33,48,0,48,0,48,0,69,33,75,33,80,33,88,33,93,33,97,33,104,33,109,33,48,0,115,33,120,33,48,0,48,0,128,33,136,33,48,0,142,33,149,33,48,0,48,0,156,33,162,33,170,33,48,0,173,33,181,33,187,33,193,33,48,0,201,33,48,0,202,33,210,33,48,0,215,33,223,33,226,33,48,0,233,33,240,33,247,33,255,33,48,0,48,0,48,0,48,0,48,0,48,0,6,34,48,0,48,0,11,34,18,34,23,34,31,34,39,34,45,34,48,0,48,0,51,34,48,0,48,0,58,34,65,34,73,34,79,34,87,34,95,34,48,0,102,34,48,0,109,34,116,34,121,34,129,34,48,0,135,34,140,34,144,34,152,34,154,34,161,34,165,34,48,0,170,34,48,0,48,0,48,0,174,34,48,0,48,0,180,34,188,34,48,0,192,34,199,34,206,34,214,34,218,34,226,34,48,0,234,34,235,34,48,0,243,34,251,34,2,35,8,35,14,35,21,35,28,35,34,35,42,35,50,35,56,35,60,35,68,35,76,35,48,0,48,0,48,0,48,0,84,35,90,35,98,35,106,35,107,35,115,35,120,35,48,0,48,0,48,0,127,35,129,35,136,35,141,35,148,35,151,35,159,35,166,35,170,35,178,35,185,35,193,35,201,35,207,35,215,35,222,35,230,35,238,35,246,35,48,0,254,35,6,36,14,36,22,36,48,0,28,36,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,36,36,48,0,48,0,48,0,48,0,48,0,48,0,43,36,45,36,52,36,59,36,48,0,66,36,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,74,36,76,36,83,36,90,36,93,36,48,0,48,0,101,36,108,36,116,36,120,36,48,0,128,36,135,36,140,36,48,0,48,0,147,36,150,36,158,36,164,36,48,0,172,36,180,36,188,36,196,36,200,36,208,36,214,36,219,36,224,36,232,36,48,0,239,36,48,0,245,36,253,36,4,37,11,37,19,37,27,37,48,0,35,37,41,37,49,37,57,37,48,0,64,37,71,37,78,37,85,37,93,37,98,37,105,37,112,37,118,37,126,37,131,37,139,37,147,37,153,37,160,37,163,37,169,37,176,37,183,37,186,37,194,37,48,0,201,37,209,37,48,0,211,37,48,0,48,0,218,37,48,0,221,37,228,37,48,0,235,37,241,37,48,0,247,37,48,0,254,37,5,38,48,0,48,0,10,38,48,0,48,0,18,38,22,38,30,38,48,0,48,0,38,38,48,0,48,0,44,38,52,38,59,38,67,38,75,38,83,38,90,38,97,38,105,38,112,38,120,38,128,38,136,38,143,38,150,38,158,38,166,38,171,38,48,0,48,0,176,38,48,0,48,0,48,0,180,38,186,38,48,0,48,0,48,0,189,38,48,0,197,38,48,0,204,38,48,0,48,0,48,0,48,0,209,38,48,0,216,38,48,0,219,38,226,38,48,0,48,0,233,38,48,0,48,0,238,38,48,0,242,38,48,0,250,38,1,39,9,39,48,0,14,39,18,39,48,0,23,39,48,0,48,0,48,0,48,0,31,39,37,39,40,39,48,0,48,0,48,39,56,39,48,0,64,39,68,39,48,0,73,39,48,0,80,39,48,0,87,39,48,0,48,0,48,0,48,0,48,0,48,0,48,0,92,39,99,39,106,39,111,39,115,39,48,0,48,0,48,0,48,0,122,39,130,39,138,39,146,39,150,39,157,39,165,39,172,39,175,39,181,39,48,0,189,39,48,0,48,0,197,39,204,39,212,39,48,0,220,39,48,0,48,0,227,39,235,39,48,0,48,0,238,39,246,39,48,0,48,0,252,39,4,40,12,40,48,0,19,40,48,0,48,0,25,40,30,40,48,0,48,0,48,0,34,40,48,0,40,40,48,40,48,0,54,40,48,0,48,0,48,0,57,40,63,40,67,40,74,40,81,40,89,40,97,40,103,40,110,40,114,40,121,40,129,40,130,40,48,0,138,40,146,40,48,0,148,40,155,40,48,0,48,0,162,40,48,0,168,40,48,0,176,40,183,40,191,40,48,0,198,40,48,0,205,40,48,0,48,0,48,0,48,0,213,40,48,0,221,40,227,40,234,40,242,40,249,40,48,0,48,0,1,41,9,41,11,41,48,0,48,0,19,41,24,41,48,0,48,0,48,0,32,41,40,41,48,0,48,0,44,41,48,0,48,0,49,41,55,41,48,0,48,0,60,41,48,0,68,41,76,41,48,0,82,41,88,41,95,41,48,0,48,0,48,0,102,41,48,0,48,0,107,41,48,0,115,41,48,0,48,0,123,41,130,41,48,0,48,0,48,0,135,41,141,41,148,41,156,41,48,0,164,41,48,0,166,41,173,41,179,41,48,0,183,41,48,0,191,41,199,41,205,41,48,0,212,41,48,0,217,41,224,41,231,41,48,0,48,0,237,41,48,0,243,41,48,0,250,41,2,42,48,0,48,0,48,0,48,0,48,0,9,42,17,42,21,42,28,42,36,42,44,42,52,42,55,42,48,0,63,42,71,42,73,42,81,42,88,42,96,42,48,0,48,0,104,42,108,42,113,42,48,0,121,42,125,42,133,42,141,42,48,0,149,42,154,42,161,42,48,0,168,42,48,0,48,0,175,42,48,0,179,42,185,42,193,42,201,42,48,0,209,42,48,0,215,42,48,0,221,42,226,42,231,42,236,42,243,42,250,42,48,0,1,43,48,0,48,0,7,43,48,0,11,43,48,0,48,0,18,43,26,43,30,43,48,0,37,43,48,0,48,0,41,43,48,0,46,43,48,0,48,0,53,43,48,0,61,43,65,43,48,0,72,43,48,0,48,0,48,0,48,0,48,0,48,0,75,43,48,0,83,43,48,0,91,43,99,43,103,43,110,43,48,0,116,43,48,0,48,0,48,0,122,43,126,43,134,43,48,0,142,43,48,0,147,43,48,0,48,0,151,43,158,43,163,43,171,43,177,43,48,0,48,0,184,43,48,0,191,43,48,0,199,43,200,43,208,43,216,43,220,43,228,43,235,43,242,43,244,43,48,0,252,43,3,44,10,44,17,44,24,44,48,0,48,0,48,0,29,44,35,44,48,0,48,0,40,44,48,0,44,44,51,44,48,0,48,0,56,44,60,44,67,44,74,44,81,44,89,44,48,0,48,0,48,0,97,44,48,0,48,0,48,0,48,0,48,0,48,0,102,44,48,0,48,0,48,0,48,0,48,0,106,44,114,44,122,44,128,44,48,0,136,44,141,44,48,0,149,44,48,0,155,44,160,44,168,44,174,44,179,44,48,0,48,0,187,44,48,0,194,44,200,44,208,44,48,0,215,44,223,44,230,44,237,44,48,0,244,44,252,44,48,0,48,0,48,0,0,45,48,0,48,0,6,45,14,45,48,0,48,0,48,0,22,45,23,45,48,0,31,45,48,0,48,0,48,0,37,45,45,45,52,45,48,0,48,0,48,0,59,45,67,45,74,45,79,45,48,0,48,0,48,0,48,0,48,0,48,0,48,0,86,45,92,45,48,0,48,0,48,0,48,0,48,0,48,0,97,45,101,45,107,45,114,45,122,45,128,45,136,45,144,45,152,45,159,45,166,45,48,0,174,45,48,0,182,45,190,45,198,45,206,45,213,45,221,45,226,45,234,45,242,45,249,45,1,46,9,46,48,0,48,0,48,0,48,0,16,46,48,0,48,0,21,46,48,0,48,0,27,46,34,46,48,0,48,0,41,46,45,46,48,0,52,46,55,46,61,46,66,46,73,46,48,0,48,0,48,0,48,0,48,0,48,0,80,46,48,0,48,0,48,0,82,46,89,46,94,46,102,46,109,46,114,46,119,46,127,46,135,46,140,46,148,46,151,46,157,46,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,160,46,168,46,176,46,48,0,48,0,48,0,180,46,187,46,48,0,48,0,48,0,48,0,189,46,197,46,204,46,210,46,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,46,48,0,48,0,48,0,48,0,223,46,48,0,229,46,48,0,234,46,48,0,48,0,241,46,245,46,251,46,3,47,8,47,15,47,23,47,26,47,48,0,34,47,48,0,48,0,40,47,45,47,48,0,48,0,48,0,48,0,48,0,52,47,48,0,48,0,48,0,48,0,48,0,56,47,48,0,48,0,48,0,48,0,62,47,48,0,67,47,48,0,48,0,48,0,71,47,79,47,86,47,94,47,48,0,48,0,101,47,108,47,113,47,48,0,119,47,48,0,124,47,132,47,134,47,48,0,142,47,48,0,48,0,48,0,147,47,153,47,48,0,161,47,48,0,48,0,48,0,168,47,170,47,48,0,178,47,186,47,194,47,200,47,48,0,205,47,211,47,217,47,225,47,48,0,233,47,48,0,48,0,238,47,246,47,254,47,6,48,48,0,48,0,14,48,48,0,48,0,20,48,48,0,48,0,48,0,23,48,29,48,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,36,48,48,0,44,48,48,48,54,48,48,0,48,0,61,48,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,64,48,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,72,48,80,48,88,48,96,48,104,48,112,48,120,48,128,48,136,48,144,48,152,48,160,48,168,48,176,48,184,48,192,48,200,48,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,41,0,202,65,39,0,202,130,39,0,202,195,39,0,202,4,40,0,202,69,40,0,202,134,40,0,202,199,40,0,202,8,41,0,202,73,41,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,98,66,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,162,66,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,226,66,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,157,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,136,192,0,0,0,5,5,22,157,5,5,27,157,5,5,31,157,192,0,0,0,5,5,39,157,192,0,0,0,5,5,116,157,5,5,117,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,158,5,5,69,158,192,0,0,0,6,5,120,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,158,192,0,0,0,5,5,98,158,192,0,0,0,192,0,0,0,5,5,163,159,192,0,0,0,5,5,174,159,192,0,0,0,5,5,165,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,158,192,0,0,0,5,5,151,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,165,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,165,192,0,0,0,5,5,153,157,5,5,119,158,192,0,0,0,5,5,48,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,157,5,5,111,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,251,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,0,128,6,5,0,129,6,5,0,130,6,5,0,131,7,5,0,134,6,5,0,143,9,5,15,157,6,5,16,157,7,5,17,157,6,5,19,157,6,5,20,157,7,5,21,157,6,5,23,157,6,5,24,157,6,5,25,157,6,5,26,157,6,5,28,157,6,5,29,157,6,5,33,157,6,5,34,157,6,5,35,157,6,5,36,157,6,5,37,157,8,5,38,157,6,5,40,157,6,5,41,157,6,5,42,157,6,5,43,157,6,5,45,157,6,5,100,157,6,5,101,157,7,5,102,157,6,5,103,157,6,5,104,157,6,5,105,157,6,5,106,157,6,5,107,157,7,5,109,157,6,5,110,157,6,5,114,157,6,5,115,157,6,5,118,157,6,5,119,157,6,5,122,157,6,5,123,157,6,5,124,157,6,5,125,157,6,5,127,157,6,5,128,157,6,5,131,157,6,5,132,157,6,5,134,157,6,5,135,157,6,5,136,157,6,5,137,157,6,5,138,157,6,5,139,157,6,5,140,157,6,5,143,157,6,5,144,157,6,5,48,158,6,5,50,158,6,5,51,158,7,5,54,158,6,5,57,158,6,5,58,158,7,5,60,158,6,5,61,158,6,5,62,158,6,5,63,158,6,5,64,158,7,5,67,158,6,5,68,158,8,5,70,158,7,5,71,158,6,5,74,158,6,5,75,158,6,5,77,158,6,5,78,158,6,5,79,158,6,5,81,158,6,5,82,158,6,5,83,158,6,5,84,158,7,5,85,158,7,5,86,158,6,5,88,158,6,5,91,158,6,5,92,158,6,5,94,158,6,5,95,158,6,5,96,158,6,5,99,158,6,5,101,158,6,5,144,159,6,5,145,159,6,5,149,159,6,5,150,159,6,5,151,159,7,5,152,159,6,5,153,159,6,5,155,159,6,5,161,159,6,5,164,159,6,5,165,159,6,5,166,159,6,5,167,159,6,5,168,159,6,5,169,159,6,5,170,159,6,5,171,159,6,5,172,159,6,5,173,159,6,5,175,159,6,5,176,159,6,5,177,159,6,5,178,159,6,5,168,161,6,5,169,161,6,5,170,161,6,5,183,161,6,5,184,161,6,5,185,161,6,5,189,161,6,5,190,161,6,5,192,161,6,5,193,161,6,5,194,161,6,5,195,161,6,5,196,161,6,5,201,161,6,5,202,161,6,5,203,161,6,5,204,161,6,5,206,161,6,5,207,161,6,5,208,161,6,5,209,161,6,5,210,161,6,5,211,161,6,5,221,161,6,5,222,161,6,5,223,161,6,5,224,161,6,5,225,161,6,5,226,161,6,5,122,165,6,5,124,165,6,5,127,165,6,5,147,165,6,5,148,165,6,5,149,165,6,5,150,165,6,5,151,165,6,5,154,165,7,5,155,165,6,5,156,165,6,5,158,165,6,5,159,165,6,5,163,165,6,5,164,165,6,5,165,165,6,5,182,165,6,5,199,165,6,5,200,165,6,5,201,165,7,5,70,171,6,5,83,171,6,5,85,171,6,5,88,171,6,5,109,171,6,5,110,171,6,5,112,171,6,5,113,171,6,5,115,171,6,5,192,177,6,5,193,177,6,5,194,177,6,5,196,177,6,5,197,177,6,5,198,177,6,5,203,177,6,5,207,177,6,5,208,177,6,5,219,177,6,5,221,177,6,5,50,185,6,5,57,185,6,5,58,185,6,5,59,185,6,5,60,185,6,5,61,185,6,5,62,185,6,5,63,185,6,5,89,193,6,5,91,193,6,5,101,193,6,5,102,193,6,5,103,193,6,5,105,193,6,5,231,201,6,5,233,201,6,5,234,201,6,5,235,201,6,5,201,209,6,5,203,209,6,5,204,209,6,5,206,209,6,5,244,216,6,5,245,216,6,5,41,224,6,5,51,230,6,5,52,230,6,5,32,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,157,5,5,0,146,5,5,0,147,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,148,5,5,50,157,5,5,160,157,5,5,51,157,5,5,0,149,5,5,52,157,5,5,161,157,5,5,124,158,5,5,125,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,38,157,6,5,61,157,6,5,251,157,5,5,0,150,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,8,5,0,128,8,5,15,157,8,5,56,157,7,5,25,159,7,5,57,157,8,5,170,157,7,5,58,157,6,5,157,159,6,5,0,134,6,5,132,158,6,5,0,152,7,5,22,158,6,5,169,160,6,5,17,157,198,131,31,0,198,227,31,0,198,67,32,0,198,163,32,0,198,3,33,0,198,99,33,0,198,195,33,0,198,35,34,0,198,131,34,0,198,227,34,0,198,67,35,0,198,163,35,0,198,3,36,0,198,99,36,0,197,227,35,0,198,195,36,0,198,35,37,0,198,131,37,0,198,227,37,0,197,67,36,0,198,67,38,0,198,163,38,0,197,163,36,0,197,3,37,0,198,3,39,0,198,99,39,0,198,195,39,0,198,35,40,0,197,99,37,0,198,131,40,0,197,195,37,0,198,227,40,0,197,35,38,0,198,67,41,0,197,131,38,0,197,227,38,0,6,5,246,185,6,5,77,159,6,5,60,158,6,5,171,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,0,128,7,5,15,157,7,5,56,157,6,5,25,159,6,5,187,157,6,5,217,157,6,5,0,154,6,5,21,157,6,5,12,157,6,5,38,157,7,5,70,158,6,5,86,158,6,5,85,158,6,5,71,158,6,5,70,171,6,5,102,157,6,5,67,158,6,5,189,180,7,5,77,161,6,5,62,170,6,5,140,160,6,5,197,181,6,5,114,184,6,5,161,182,6,5,158,162,6,5,170,182,6,5,22,165,6,5,109,157,6,5,186,222,6,5,65,230,6,5,116,160,6,5,138,169,6,5,178,201,6,5,23,160,6,5,193,158,6,5,118,159,6,5,57,157,7,5,170,157,6,5,58,157,7,5,67,159,7,5,7,159,6,5,165,162,6,5,157,167,6,5,149,167,6,5,48,213,6,5,7,160,6,5,42,208,6,5,164,166,6,5,71,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,39,0,197,130,39,0,197,194,39,0,197,2,40,0,197,66,40,0,197,130,40,0,197,194,40,0,197,2,41,0,197,66,41,0,197,131,41,0,197,227,41,0,197,67,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,226,42,0,197,34,43,0,197,98,43,0,197,162,43,0,197,226,43,0,197,34,44,0,197,98,44,0,197,162,44,0,197,226,44,0,197,34,45,0,197,99,45,0,197,195,45,0,197,35,46,0,197,131,46,0,197,227,46,0,197,67,47,0,197,163,47,0,197,3,48,0,197,99,48,0,197,195,48,0,197,35,49,0,197,131,49,0,197,227,49,0,197,67,50,0,197,163,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,2,51,0,197,66,51,0,197,130,51,0,197,194,51,0,197,4,52,0,197,130,52,0,197,194,52,0,197,2,53,0,197,66,53,0,197,130,53,0,197,194,53,0,197,2,54,0,197,66,54,0,197,130,54,0,197,195,54,0,197,35,55,0,197,131,55,0,197,227,55,0,197,67,56,0,197,163,56,0,197,3,57,0,197,99,57,0,197,195,57,0,197,35,58,0,197,131,58,0,197,227,58,0,197,67,59,0,197,163,59,0,197,3,60,0,197,99,60,0,197,195,60,0,197,35,61,0,197,131,61,0,197,227,61,0,197,67,62,0,197,163,62,0,192,0,0,0,5,5,137,158,5,5,219,159,192,0,0,0,192,0,0,0,5,5,64,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,171,192,0,0,0,5,5,83,185,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,159,192,0,0,0,5,5,17,166,192,0,0,0,192,0,0,0,5,5,174,158,5,5,175,158,5,5,176,158,5,5,177,158,5,5,178,158,5,5,179,158,5,5,180,158,5,5,181,158,5,5,52,160,5,5,53,160,192,0,0,0,5,5,54,160,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,160,5,5,56,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,162,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,166,192,0,0,0,5,5,90,166,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,185,5,5,72,178,5,5,73,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,193,192,0,0,0,192,0,0,0,5,5,26,202,5,5,27,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,217,192,0,0,0,192,0,0,0,5,5,22,217,192,0,0,0,5,5,23,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,238,192,0,0,0,5,5,27,242,192,0,0,0,5,5,153,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,235,5,5,186,158,192,0,0,0,192,0,0,0,5,5,115,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,166,192,0,0,0,5,5,139,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,210,192,0,0,0,5,5,17,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,185,192,0,0,0,5,5,24,210,192,0,0,0,192,0,0,0,5,5,78,230,5,5,79,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,157,192,0,0,0,5,5,188,185,192,0,0,0,192,0,0,0,5,5,164,162,5,5,192,185,5,5,56,202,5,5,57,202,5,5,58,202,5,5,28,210,5,5,220,249,5,5,166,162,5,5,188,193,5,5,255,157,192,0,0,0,5,5,115,160,192,0,0,0,192,0,0,0,5,5,98,157,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,210,192,0,0,0,5,5,82,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,210,5,5,133,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,162,192,0,0,0,192,0,0,0,5,5,249,162,192,0,0,0,5,5,250,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,166,5,5,253,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,178,5,5,225,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,186,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,194,192,0,0,0,5,5,13,194,192,0,0,0,192,0,0,0,5,5,14,194,5,5,15,194,192,0,0,0,5,5,16,194,192,0,0,0,192,0,0,0,5,5,17,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,202,192,0,0,0,5,5,123,202,192,0,0,0,192,0,0,0,5,5,124,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,217,5,5,108,217,5,5,109,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,224,192,0,0,0,192,0,0,0,5,5,110,224,192,0,0,0,5,5,111,224,5,5,112,224,5,5,113,224,5,5,114,224,5,5,115,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,246,192,0,0,0,5,5,183,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,167,192,0,0,0,5,5,114,172,5,5,243,178,192,0,0,0,5,5,40,242,5,5,34,159,192,0,0,0,192,0,0,0,5,5,58,163,192,0,0,0,5,5,59,163,192,0,0,0,5,5,60,163,5,5,61,163,192,0,0,0,5,5,62,163,5,5,61,167,5,5,62,167,5,5,63,167,5,5,64,167,5,5,65,167,5,5,160,172,5,5,161,172,5,5,162,172,5,5,163,172,192,0,0,0,5,5,164,172,192,0,0,0,192,0,0,0,5,5,165,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,186,5,5,121,186,5,5,122,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,202,192,0,0,0,5,5,149,210,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,210,5,5,151,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,163,192,0,0,0,5,5,112,163,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,167,5,5,129,167,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,167,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,167,192,0,0,0,192,0,0,0,5,5,132,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,167,192,0,0,0,5,5,232,172,5,5,233,172,5,5,234,172,192,0,0,0,5,5,235,172,5,5,236,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,179,192,0,0,0,192,0,0,0,5,5,87,179,192,0,0,0,5,5,88,179,5,5,89,179,192,0,0,0,5,5,90,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,179,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,179,5,5,93,179,192,0,0,0,192,0,0,0,5,5,206,186,5,5,207,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,194,5,5,155,194,192,0,0,0,5,5,156,194,5,5,157,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,202,192,0,0,0,5,5,238,202,192,0,0,0,192,0,0,0,5,5,239,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,210,192,0,0,0,5,5,199,210,192,0,0,0,5,5,200,210,192,0,0,0,5,5,201,210,5,5,187,217,192,0,0,0,5,5,188,217,5,5,189,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,224,5,5,169,224,5,5,170,224,192,0,0,0,192,0,0,0,5,5,84,235,5,5,85,235,5,5,2,239,5,5,3,239,5,5,4,239,5,5,5,239,5,5,52,242,5,5,53,242,5,5,54,242,5,5,181,244,5,5,110,246,5,5,222,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,167,192,0,0,0,192,0,0,0,5,5,101,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,203,192,0,0,0,192,0,0,0,5,5,255,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,211,5,5,3,211,192,0,0,0,192,0,0,0,5,5,4,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,239,192,0,0,0,5,5,18,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,179,192,0,0,0,5,5,253,194,192,0,0,0,192,0,0,0,5,5,225,167,5,5,38,187,5,5,74,159,5,5,75,159,5,5,3,161,5,5,4,161,5,5,5,161,5,5,184,163,5,5,185,163,5,5,186,163,192,0,0,0,5,5,187,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,217,5,5,203,224,5,5,204,224,5,5,205,224,5,5,176,230,5,5,177,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,211,192,0,0,0,192,0,0,0,5,5,87,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,179,192,0,0,0,5,5,165,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,173,5,5,167,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,179,192,0,0,0,5,5,168,173,192,0,0,0,192,0,0,0,5,5,106,187,5,5,14,180,5,5,107,187,5,5,15,180,5,5,16,180,5,5,108,187,5,5,17,180,5,5,18,180,5,5,19,180,5,5,20,180,192,0,0,0,5,5,109,187,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,195,5,5,105,195,5,5,87,203,5,5,88,203,5,5,106,195,5,5,89,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,218,5,5,75,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,225,192,0,0,0,5,5,103,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,235,192,0,0,0,192,0,0,0,5,5,76,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,164,192,0,0,0,192,0,0,0,5,5,159,168,5,5,160,168,192,0,0,0,192,0,0,0,5,5,176,173,5,5,161,168,5,5,162,168,192,0,0,0,5,5,163,168,5,5,164,168,5,5,165,168,5,5,166,168,192,0,0,0,5,5,231,173,5,5,232,173,192,0,0,0,192,0,0,0,5,5,233,173,5,5,234,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,180,192,0,0,0,192,0,0,0,5,5,253,187,192,0,0,0,192,0,0,0,5,5,254,187,192,0,0,0,5,5,255,187,5,5,2,188,5,5,3,188,5,5,4,188,5,5,5,188,192,0,0,0,5,5,6,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,195,5,5,189,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,203,192,0,0,0,192,0,0,0,5,5,200,203,192,0,0,0,192,0,0,0,5,5,201,203,192,0,0,0,192,0,0,0,5,5,202,203,5,5,203,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,211,192,0,0,0,5,5,150,211,5,5,151,211,5,5,152,211,5,5,153,211,5,5,154,211,5,5,155,211,5,5,156,211,5,5,157,211,5,5,158,211,192,0,0,0,192,0,0,0,5,5,91,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,225,192,0,0,0,5,5,44,225,192,0,0,0,192,0,0,0,5,5,45,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,230,192,0,0,0,5,5,228,230,192,0,0,0,192,0,0,0,5,5,137,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,235,5,5,139,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,168,192,0,0,0,5,5,247,173,5,5,248,173,5,5,249,173,192,0,0,0,5,5,109,180,5,5,110,180,5,5,111,180,5,5,26,188,5,5,27,188,5,5,28,188,5,5,29,188,5,5,30,188,5,5,212,195,5,5,213,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,195,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,173,5,5,253,173,192,0,0,0,192,0,0,0,5,5,226,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,174,192,0,0,0,192,0,0,0,5,5,124,180,192,0,0,0,5,5,47,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,174,192,0,0,0,5,5,45,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,188,192,0,0,0,5,5,69,188,192,0,0,0,192,0,0,0,5,5,3,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,196,5,5,249,203,5,5,250,203,5,5,251,203,5,5,252,203,5,5,253,203,5,5,254,203,5,5,255,203,5,5,2,204,5,5,3,204,5,5,4,204,5,5,5,204,5,5,6,204,5,5,192,211,5,5,193,211,5,5,194,211,5,5,195,211,5,5,173,218,5,5,174,218,5,5,175,218,5,5,176,218,5,5,177,218,5,5,178,218,5,5,87,225,5,5,88,225,5,5,89,225,5,5,90,225,5,5,91,225,5,5,92,225,5,5,93,225,5,5,94,225,5,5,95,225,5,5,248,230,5,5,249,230,5,5,250,230,5,5,151,235,5,5,152,235,5,5,153,235,5,5,154,235,5,5,155,235,5,5,156,235,5,5,61,239,5,5,62,239,5,5,98,242,5,5,139,246,5,5,140,246,5,5,208,247,5,5,110,249,5,5,76,161,5,5,102,225,5,5,253,230,5,5,220,168,5,5,159,180,5,5,160,180,5,5,80,188,5,5,81,188,5,5,19,196,5,5,52,199,5,5,15,204,5,5,202,211,5,5,183,218,5,5,184,218,5,5,185,218,5,5,105,225,5,5,254,230,5,5,97,161,5,5,134,164,5,5,135,164,5,5,136,164,5,5,137,164,5,5,138,164,5,5,34,169,5,5,35,169,5,5,36,169,5,5,37,169,5,5,38,169,5,5,39,169,5,5,40,169,5,5,41,169,5,5,42,169,5,5,43,169,5,5,148,174,5,5,149,174,5,5,150,174,5,5,151,174,5,5,152,174,5,5,153,174,5,5,154,174,5,5,253,180,5,5,254,180,5,5,255,180,5,5,2,181,5,5,3,181,5,5,4,181,5,5,5,181,5,5,6,181,5,5,7,181,5,5,8,181,5,5,9,181,5,5,10,181,5,5,11,181,5,5,12,181,5,5,13,181,5,5,14,181,5,5,169,188,5,5,170,188,5,5,171,188,5,5,172,188,5,5,173,188,5,5,174,188,5,5,175,188,5,5,176,188,5,5,177,188,5,5,178,188,5,5,179,188,5,5,180,188,5,5,181,188,5,5,182,188,5,5,129,196,5,5,183,188,5,5,130,196,5,5,131,196,5,5,132,196,5,5,133,196,5,5,134,196,5,5,135,196,5,5,136,196,5,5,137,196,5,5,138,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,204,5,5,109,204,192,0,0,0,192,0,0,0,5,5,110,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,212,192,0,0,0,5,5,10,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,219,192,0,0,0,5,5,12,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,231,5,5,49,231,5,5,50,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,239,5,5,91,239,5,5,92,239,192,0,0,0,5,5,93,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,242,5,5,115,242,192,0,0,0,192,0,0,0,5,5,116,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,244,192,0,0,0,192,0,0,0,5,5,150,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,204,192,0,0,0,5,5,127,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,164,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,181,5,5,200,188,192,0,0,0,5,5,161,196,192,0,0,0,5,5,162,196,192,0,0,0,5,5,163,196,5,5,164,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,219,5,5,34,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,169,192,0,0,0,5,5,158,169,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,188,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,189,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,197,5,5,47,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,197,192,0,0,0,192,0,0,0,5,5,49,197,192,0,0,0,5,5,50,197,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,204,5,5,240,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,204,192,0,0,0,5,5,154,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,219,192,0,0,0,5,5,125,219,192,0,0,0,192,0,0,0,5,5,126,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,226,192,0,0,0,192,0,0,0,5,5,11,226,192,0,0,0,192,0,0,0,5,5,12,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,226,5,5,14,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,231,192,0,0,0,5,5,108,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,239,192,0,0,0,192,0,0,0,5,5,129,239,192,0,0,0,5,5,130,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,242,192,0,0,0,5,5,143,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,197,5,5,103,197,192,0,0,0,5,5,104,197,192,0,0,0,192,0,0,0,5,5,105,197,5,5,106,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,212,5,5,203,212,192,0,0,0,192,0,0,0,5,5,167,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,226,5,5,66,226,192,0,0,0,192,0,0,0,5,5,67,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,226,5,5,69,226,192,0,0,0,192,0,0,0,5,5,141,231,5,5,142,231,5,5,143,231,192,0,0,0,5,5,248,235,192,0,0,0,5,5,146,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,242,192,0,0,0,192,0,0,0,5,5,238,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,181,192,0,0,0,5,5,213,212,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,189,192,0,0,0,5,5,137,189,192,0,0,0,5,5,138,189,192,0,0,0,5,5,139,189,192,0,0,0,192,0,0,0,5,5,131,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,161,5,5,159,161,5,5,160,161,192,0,0,0,192,0,0,0,5,5,14,165,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,181,192,0,0,0,192,0,0,0,5,5,255,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,182,192,0,0,0,192,0,0,0,5,5,201,189,192,0,0,0,5,5,202,189,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,189,5,5,199,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,197,5,5,94,205,192,0,0,0,192,0,0,0,5,5,201,197,5,5,202,197,192,0,0,0,192,0,0,0,5,5,131,205,192,0,0,0,192,0,0,0,5,5,132,205,5,5,133,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,212,192,0,0,0,5,5,254,212,192,0,0,0,5,5,226,219,5,5,227,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,219,192,0,0,0,192,0,0,0,5,5,229,219,5,5,230,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,231,192,0,0,0,5,5,109,226,192,0,0,0,192,0,0,0,5,5,175,231,5,5,176,231,5,5,177,231,192,0,0,0,192,0,0,0,5,5,170,239,192,0,0,0,5,5,171,239,5,5,175,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,219,192,0,0,0,5,5,27,165,192,0,0,0,192,0,0,0,5,5,167,175,5,5,168,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,236,5,5,186,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,182,5,5,2,190,5,5,3,190,5,5,24,198,5,5,203,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,226,192,0,0,0,192,0,0,0,5,5,180,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,231,192,0,0,0,5,5,236,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,206,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,246,192,0,0,0,5,5,218,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,176,192,0,0,0,5,5,166,182,5,5,167,182,5,5,71,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,176,5,5,35,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,190,192,0,0,0,5,5,92,190,192,0,0,0,5,5,93,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,220,192,0,0,0,5,5,104,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,226,192,0,0,0,192,0,0,0,5,5,30,232,192,0,0,0,5,5,90,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,250,192,0,0,0,5,5,79,170,192,0,0,0,192,0,0,0,5,5,45,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,182,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,198,5,5,151,198,5,5,152,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,206,5,5,119,206,192,0,0,0,5,5,120,206,5,5,121,206,5,5,122,206,5,5,123,206,5,5,124,206,5,5,125,206,5,5,200,213,5,5,201,213,5,5,202,213,5,5,203,213,5,5,204,213,5,5,205,213,5,5,206,213,5,5,207,213,5,5,208,213,5,5,209,213,5,5,210,213,5,5,211,213,5,5,212,213,5,5,151,220,5,5,152,220,5,5,153,220,5,5,154,220,5,5,155,220,5,5,156,220,5,5,157,220,5,5,158,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,220,192,0,0,0,5,5,160,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,220,192,0,0,0,5,5,162,220,5,5,163,220,192,0,0,0,192,0,0,0,5,5,164,220,192,0,0,0,192,0,0,0,5,5,165,220,5,5,23,227,5,5,24,227,192,0,0,0,5,5,25,227,5,5,26,227,192,0,0,0,5,5,27,227,5,5,28,227,5,5,29,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,232,5,5,81,232,5,5,82,232,5,5,83,232,5,5,84,232,5,5,85,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,236,5,5,243,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,247,192,0,0,0,5,5,224,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,170,5,5,88,176,5,5,89,176,192,0,0,0,5,5,90,176,192,0,0,0,192,0,0,0,5,5,26,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,214,5,5,35,214,192,0,0,0,192,0,0,0,5,5,36,214,5,5,37,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,214,192,0,0,0,192,0,0,0,5,5,237,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,220,5,5,239,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,220,5,5,241,220,192,0,0,0,192,0,0,0,5,5,242,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,198,192,0,0,0,192,0,0,0,5,5,247,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,176,5,5,39,183,5,5,223,190,5,5,224,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,198,5,5,249,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,236,192,0,0,0,192,0,0,0,5,5,46,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,183,192,0,0,0,192,0,0,0,5,5,46,191,192,0,0,0,5,5,47,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,199,5,5,54,199,5,5,55,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,214,5,5,103,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,221,5,5,48,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,236,5,5,193,236,5,5,194,236,5,5,39,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,236,192,0,0,0,5,5,212,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,183,5,5,152,183,192,0,0,0,5,5,153,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,199,192,0,0,0,192,0,0,0,5,5,85,199,192,0,0,0,192,0,0,0,5,5,18,207,192,0,0,0,5,5,19,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,214,5,5,122,214,5,5,123,214,192,0,0,0,5,5,124,214,192,0,0,0,192,0,0,0,5,5,125,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,214,5,5,127,214,5,5,128,214,5,5,129,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,227,192,0,0,0,192,0,0,0,5,5,141,227,5,5,142,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,227,192,0,0,0,5,5,144,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,232,192,0,0,0,5,5,198,232,192,0,0,0,192,0,0,0,5,5,199,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,232,5,5,201,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,236,192,0,0,0,192,0,0,0,5,5,204,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,236,192,0,0,0,5,5,206,236,192,0,0,0,5,5,207,236,5,5,208,236,192,0,0,0,192,0,0,0,5,5,209,236,5,5,210,236,5,5,51,240,5,5,52,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,240,5,5,11,243,192,0,0,0,5,5,12,243,5,5,13,243,192,0,0,0,5,5,14,243,5,5,15,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,245,5,5,52,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,246,192,0,0,0,192,0,0,0,5,5,220,246,192,0,0,0,192,0,0,0,5,5,221,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,248,5,5,231,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,199,192,0,0,0,5,5,246,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,228,192,0,0,0,192,0,0,0,5,5,5,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,233,5,5,54,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,243,5,5,65,243,5,5,91,245,5,5,92,245,192,0,0,0,192,0,0,0,5,5,238,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,184,192,0,0,0,5,5,10,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,221,5,5,246,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,192,5,5,35,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,200,5,5,88,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,222,192,0,0,0,5,5,54,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,249,192,0,0,0,5,5,67,192,5,5,68,192,5,5,103,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,228,5,5,93,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,184,192,0,0,0,192,0,0,0,5,5,96,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,200,192,0,0,0,5,5,155,200,192,0,0,0,192,0,0,0,5,5,67,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,222,5,5,140,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,192,5,5,128,192,5,5,129,192,5,5,130,192,5,5,131,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,228,5,5,188,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,201,192,0,0,0,5,5,73,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,216,5,5,39,216,5,5,40,216,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,216,192,0,0,0,192,0,0,0,5,5,37,223,192,0,0,0,5,5,38,223,5,5,39,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,234,192,0,0,0,5,5,216,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,237,5,5,218,237,192,0,0,0,5,5,219,237,192,0,0,0,5,5,40,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,241,192,0,0,0,5,5,42,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,247,192,0,0,0,192,0,0,0,5,5,45,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,223,192,0,0,0,5,5,70,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,227,5,5,68,234,5,5,69,234,5,5,255,237,5,5,63,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,234,192,0,0,0,5,5,7,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,234,5,5,221,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,216,5,5,138,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,238,192,0,0,0,5,5,53,238,5,5,54,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,216,5,5,135,234,192,0,0,0,5,5,136,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,216,192,0,0,0,192,0,0,0,5,5,182,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,234,192,0,0,0,5,5,154,234,192,0,0,0,192,0,0,0,5,5,84,238,192,0,0,0,192,0,0,0,5,5,85,238,5,5,86,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,249,5,5,9,250,192,0,0,0,5,5,109,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,238,5,5,100,238,192,0,0,0,192,0,0,0,5,5,152,241,192,0,0,0,192,0,0,0,5,5,153,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,223,192,0,0,0,192,0,0,0,5,5,227,223,192,0,0,0,5,5,226,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,229,192,0,0,0,5,5,228,229,192,0,0,0,5,5,199,234,5,5,200,234,5,5,201,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,246,192,0,0,0,5,5,18,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,246,5,5,149,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,224,192,0,0,0,5,5,12,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,241,5,5,247,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,249,192,0,0,0,5,5,84,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,230,192,0,0,0,5,5,192,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,242,5,5,124,244,5,5,66,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,238,5,5,14,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,128,5,5,0,152,5,5,0,153,5,5,0,154,5,5,0,155,5,5,0,156,5,5,2,157,5,5,54,157,5,5,55,157,5,5,56,157,5,5,57,157,5,5,58,157,5,5,59,157,5,5,163,157,5,5,164,157,5,5,165,157,5,5,166,157,5,5,167,157,5,5,168,157,5,5,169,157,5,5,128,158,5,5,129,158,5,5,130,158,5,5,127,158,5,5,131,158,5,5,132,158,5,5,133,158,5,5,134,158,5,5,135,158,5,5,136,158,5,5,214,159,5,5,215,159,5,5,216,159,5,5,217,159,5,5,218,159,5,5,32,162,5,5,33,162,5,5,34,162,5,5,253,165,5,5,254,165,5,5,0,129,5,5,3,157,5,5,62,157,5,5,63,157,5,5,93,158,5,5,170,157,5,5,171,157,5,5,172,157,5,5,173,157,5,5,138,158,5,5,37,162,5,5,255,165,5,5,145,171,5,5,240,177,5,5,0,130,5,5,4,157,5,5,65,157,5,5,174,157,5,5,175,157,5,5,139,158,5,5,140,158,5,5,35,162,5,5,146,171,5,5,0,131,5,5,0,132,5,5,0,133,5,5,5,157,5,5,6,157,5,5,7,157,5,5,67,157,5,5,68,157,5,5,69,157,5,5,70,157,5,5,66,157,5,5,71,157,5,5,176,157,5,5,177,157,5,5,141,158,5,5,142,158,5,5,143,158,5,5,144,158,5,5,220,159,5,5,221,159,5,5,222,159,5,5,223,159,5,5,39,162,5,5,2,166,5,5,147,171,5,5,241,177,5,5,0,134,5,5,0,135,5,5,0,137,5,5,11,157,5,5,12,157,5,5,72,157,5,5,73,157,5,5,74,157,5,5,133,157,5,5,34,158,5,5,179,157,5,5,180,157,5,5,181,157,5,5,182,157,5,5,146,158,5,5,224,159,5,5,225,159,5,5,226,159,5,5,227,159,5,5,228,159,5,5,229,159,5,5,230,159,5,5,231,159,5,5,232,159,5,5,40,162,5,5,41,162,5,5,3,166,5,5,4,166,5,5,5,166,5,5,6,166,5,5,7,166,5,5,8,166,5,5,148,171,5,5,149,171,5,5,150,171,5,5,151,171,5,5,242,177,5,5,80,185,5,5,81,185,5,5,82,185,5,5,112,193,5,5,239,201,5,5,240,201,5,5,241,201,5,5,0,143,5,5,13,157,5,5,75,157,5,5,183,157,5,5,233,159,5,5,42,162,5,5,10,166,5,5,15,157,5,5,76,157,5,5,77,157,5,5,78,157,5,5,60,157,5,5,184,157,5,5,185,157,5,5,186,157,5,5,187,157,5,5,188,157,5,5,189,157,5,5,147,158,5,5,234,159,5,5,235,159,5,5,236,159,5,5,11,166,5,5,44,162,5,5,12,166,5,5,13,166,5,5,14,166,5,5,16,157,5,5,79,157,5,5,190,157,5,5,191,157,5,5,237,159,5,5,238,159,5,5,239,159,5,5,240,159,5,5,45,162,5,5,46,162,5,5,47,162,5,5,15,166,5,5,16,166,5,5,153,171,5,5,154,171,5,5,155,171,5,5,156,171,5,5,157,171,5,5,158,171,5,5,243,177,5,5,113,193,5,5,114,193,5,5,242,201,5,5,243,201,5,5,45,224,5,5,91,246,5,5,17,157,5,5,18,157,5,5,80,157,5,5,81,157,5,5,82,157,5,5,83,157,5,5,192,157,5,5,193,157,5,5,194,157,5,5,195,157,5,5,196,157,5,5,197,157,5,5,198,157,5,5,199,157,5,5,200,157,5,5,201,157,5,5,202,157,5,5,203,157,5,5,204,157,5,5,205,157,5,5,206,157,5,5,207,157,5,5,208,157,5,5,209,157,5,5,210,157,5,5,211,157,5,5,148,158,5,5,149,158,5,5,150,158,5,5,151,158,5,5,152,158,5,5,153,158,5,5,154,158,5,5,155,158,5,5,156,158,5,5,157,158,5,5,158,158,5,5,159,158,5,5,160,158,5,5,161,158,5,5,162,158,5,5,163,158,5,5,164,158,5,5,165,158,5,5,166,158,5,5,167,158,5,5,168,158,5,5,169,158,5,5,170,158,5,5,171,158,5,5,172,158,5,5,173,158,5,5,242,159,5,5,243,159,5,5,244,159,5,5,245,159,5,5,246,159,5,5,247,159,5,5,248,159,5,5,249,159,5,5,250,159,5,5,251,159,5,5,252,159,5,5,253,159,5,5,254,159,5,5,255,159,5,5,2,160,5,5,3,160,5,5,4,160,5,5,5,160,5,5,6,160,5,5,7,160,5,5,8,160,5,5,9,160,5,5,10,160,5,5,11,160,5,5,12,160,5,5,13,160,5,5,14,160,5,5,15,160,5,5,16,160,5,5,17,160,5,5,18,160,5,5,19,160,5,5,20,160,5,5,21,160,5,5,22,160,5,5,23,160,5,5,24,160,5,5,25,160,5,5,26,160,5,5,27,160,5,5,28,160,5,5,29,160,5,5,30,160,5,5,31,160,5,5,32,160,5,5,33,160,5,5,34,160,5,5,35,160,5,5,36,160,5,5,37,160,5,5,38,160,5,5,39,160,5,5,40,160,5,5,41,160,5,5,42,160,5,5,43,160,5,5,44,160,5,5,45,160,5,5,46,160,5,5,47,160,5,5,48,160,5,5,49,160,5,5,50,160,5,5,48,162,5,5,49,162,5,5,50,162,5,5,51,162,5,5,52,162,5,5,53,162,5,5,54,162,5,5,55,162,5,5,56,162,5,5,57,162,5,5,58,162,5,5,59,162,5,5,60,162,5,5,61,162,5,5,62,162,5,5,63,162,5,5,64,162,5,5,65,162,5,5,66,162,5,5,67,162,5,5,68,162,5,5,69,162,5,5,70,162,5,5,71,162,5,5,72,162,5,5,73,162,5,5,74,162,5,5,75,162,5,5,76,162,5,5,77,162,5,5,78,162,5,5,18,166,5,5,79,162,5,5,80,162,5,5,81,162,5,5,82,162,5,5,83,162,5,5,84,162,5,5,85,162,5,5,86,162,5,5,87,162,5,5,88,162,5,5,89,162,5,5,90,162,5,5,91,162,5,5,92,162,5,5,93,162,5,5,94,162,5,5,95,162,5,5,96,162,5,5,97,162,5,5,98,162,5,5,99,162,5,5,100,162,5,5,101,162,5,5,51,160,5,5,102,162,5,5,103,162,5,5,104,162,5,5,105,162,5,5,19,166,5,5,20,166,5,5,21,166,5,5,22,166,5,5,23,166,5,5,24,166,5,5,25,166,5,5,26,166,5,5,27,166,5,5,28,166,5,5,29,166,5,5,30,166,5,5,31,166,5,5,32,166,5,5,33,166,5,5,34,166,5,5,35,166,5,5,36,166,5,5,37,166,5,5,38,166,5,5,39,166,5,5,40,166,5,5,41,166,5,5,42,166,5,5,43,166,5,5,44,166,5,5,45,166,5,5,46,166,5,5,47,166,5,5,48,166,5,5,49,166,5,5,50,166,5,5,51,166,5,5,52,166,5,5,53,166,5,5,54,166,5,5,55,166,5,5,56,166,5,5,57,166,5,5,58,166,5,5,59,166,5,5,60,166,5,5,61,166,5,5,62,166,5,5,63,166,5,5,64,166,5,5,65,166,5,5,66,166,5,5,67,166,5,5,68,166,5,5,69,166,5,5,70,166,5,5,71,166,5,5,72,166,5,5,73,166,5,5,74,166,5,5,75,166,5,5,76,166,5,5,77,166,5,5,78,166,5,5,79,166,5,5,80,166,5,5,81,166,5,5,82,166,5,5,83,166,5,5,84,166,5,5,85,166,5,5,86,166,5,5,87,166,5,5,159,171,5,5,160,171,5,5,161,171,5,5,162,171,5,5,163,171,5,5,164,171,5,5,165,171,5,5,166,171,5,5,167,171,5,5,168,171,5,5,169,171,5,5,170,171,5,5,171,171,5,5,172,171,5,5,173,171,5,5,174,171,5,5,175,171,5,5,176,171,5,5,177,171,5,5,178,171,5,5,179,171,5,5,180,171,5,5,181,171,5,5,182,171,5,5,183,171,5,5,184,171,5,5,185,171,5,5,186,171,5,5,187,171,5,5,188,171,5,5,189,171,5,5,190,171,5,5,191,171,5,5,192,171,5,5,193,171,5,5,194,171,5,5,195,171,5,5,196,171,5,5,197,171,5,5,198,171,5,5,199,171,5,5,200,171,5,5,201,171,5,5,202,171,5,5,203,171,5,5,204,171,5,5,205,171,5,5,206,171,5,5,207,171,5,5,208,171,5,5,209,171,5,5,210,171,5,5,211,171,5,5,212,171,5,5,213,171,5,5,214,171,5,5,215,171,5,5,216,171,5,5,217,171,5,5,218,171,5,5,219,171,5,5,220,171,5,5,221,171,5,5,222,171,5,5,244,177,5,5,245,177,5,5,246,177,5,5,247,177,5,5,248,177,5,5,249,177,5,5,250,177,5,5,251,177,5,5,252,177,5,5,253,177,5,5,254,177,5,5,255,177,5,5,2,178,5,5,3,178,5,5,4,178,5,5,5,178,5,5,6,178,5,5,7,178,5,5,8,178,5,5,9,178,5,5,10,178,5,5,11,178,5,5,12,178,5,5,13,178,5,5,14,178,5,5,15,178,5,5,16,178,5,5,17,178,5,5,18,178,5,5,19,178,5,5,20,178,5,5,21,178,5,5,22,178,5,5,23,178,5,5,24,178,5,5,25,178,5,5,26,178,5,5,27,178,5,5,28,178,5,5,29,178,5,5,30,178,5,5,31,178,5,5,32,178,5,5,33,178,5,5,34,178,5,5,35,178,5,5,36,178,5,5,37,178,5,5,38,178,5,5,39,178,5,5,40,178,5,5,41,178,5,5,42,178,5,5,43,178,5,5,44,178,5,5,45,178,5,5,46,178,5,5,47,178,5,5,48,178,5,5,49,178,5,5,50,178,5,5,51,178,5,5,52,178,5,5,53,178,5,5,54,178,5,5,55,178,5,5,56,178,5,5,57,178,5,5,58,178,5,5,59,178,5,5,60,178,5,5,61,178,5,5,62,178,5,5,63,178,5,5,64,178,5,5,65,178,5,5,66,178,5,5,67,178,5,5,68,178,5,5,69,178,5,5,70,178,5,5,71,178,5,5,84,185,5,5,85,185,5,5,86,185,5,5,87,185,5,5,88,185,5,5,89,185,5,5,90,185,5,5,91,185,5,5,92,185,5,5,93,185,5,5,94,185,5,5,95,185,5,5,96,185,5,5,97,185,5,5,98,185,5,5,99,185,5,5,100,185,5,5,101,185,5,5,102,185,5,5,103,185,5,5,104,185,5,5,105,185,5,5,79,178,5,5,106,185,5,5,107,185,5,5,108,185,5,5,109,185,5,5,110,185,5,5,111,185,5,5,112,185,5,5,113,185,5,5,114,185,5,5,115,185,5,5,116,185,5,5,117,185,5,5,118,185,5,5,119,185,5,5,120,185,5,5,121,185,5,5,122,185,5,5,115,193,5,5,123,185,5,5,124,185,5,5,125,185,5,5,126,185,5,5,127,185,5,5,128,185,5,5,129,185,5,5,130,185,5,5,131,185,5,5,132,185,5,5,133,185,5,5,134,185,5,5,135,185,5,5,136,185,5,5,137,185,5,5,138,185,5,5,139,185,5,5,140,185,5,5,141,185,5,5,142,185,5,5,143,185,5,5,144,185,5,5,145,185,5,5,116,193,5,5,117,193,5,5,118,193,5,5,119,193,5,5,120,193,5,5,121,193,5,5,122,193,5,5,123,193,5,5,124,193,5,5,125,193,5,5,126,193,5,5,127,193,5,5,128,193,5,5,129,193,5,5,130,193,5,5,131,193,5,5,132,193,5,5,133,193,5,5,134,193,5,5,135,193,5,5,136,193,5,5,137,193,5,5,138,193,5,5,139,193,5,5,140,193,5,5,141,193,5,5,142,193,5,5,143,193,5,5,144,193,5,5,145,193,5,5,146,193,5,5,147,193,5,5,148,193,5,5,149,193,5,5,150,193,5,5,151,193,5,5,152,193,5,5,153,193,5,5,154,193,5,5,155,193,5,5,156,193,5,5,157,193,5,5,244,201,5,5,245,201,5,5,246,201,5,5,247,201,5,5,248,201,5,5,249,201,5,5,250,201,5,5,251,201,5,5,252,201,5,5,253,201,5,5,254,201,5,5,255,201,5,5,2,202,5,5,3,202,5,5,4,202,5,5,5,202,5,5,6,202,5,5,7,202,5,5,8,202,5,5,9,202,5,5,10,202,5,5,11,202,5,5,12,202,5,5,13,202,5,5,14,202,5,5,15,202,5,5,16,202,5,5,17,202,5,5,18,202,5,5,19,202,5,5,20,202,5,5,21,202,5,5,22,202,5,5,23,202,5,5,24,202,5,5,25,202,5,5,214,209,5,5,215,209,5,5,216,209,5,5,217,209,5,5,218,209,5,5,219,209,5,5,220,209,5,5,221,209,5,5,222,209,5,5,223,209,5,5,224,209,5,5,225,209,5,5,226,209,5,5,227,209,5,5,228,209,5,5,229,209,5,5,230,209,5,5,231,209,5,5,232,209,5,5,233,209,5,5,234,209,5,5,235,209,5,5,236,209,5,5,237,209,5,5,238,209,5,5,239,209,5,5,240,209,5,5,241,209,5,5,242,209,5,5,243,209,5,5,244,209,5,5,245,209,5,5,246,209,5,5,247,209,5,5,248,209,5,5,249,209,5,5,4,210,5,5,250,209,5,5,251,209,5,5,249,216,5,5,250,216,5,5,252,209,5,5,251,216,5,5,252,216,5,5,253,216,5,5,254,216,5,5,255,216,5,5,2,217,5,5,3,217,5,5,4,217,5,5,5,217,5,5,6,217,5,5,7,217,5,5,8,217,5,5,9,217,5,5,10,217,5,5,11,217,5,5,12,217,5,5,13,217,5,5,14,217,5,5,15,217,5,5,16,217,5,5,17,217,5,5,18,217,5,5,19,217,5,5,20,217,5,5,46,224,5,5,47,224,5,5,48,224,5,5,49,224,5,5,50,224,5,5,51,224,5,5,52,224,5,5,53,224,5,5,54,224,5,5,55,224,5,5,56,224,5,5,57,224,5,5,58,224,5,5,59,224,5,5,60,224,5,5,54,230,5,5,55,230,5,5,56,230,5,5,57,230,5,5,58,230,5,5,59,230,5,5,60,230,5,5,61,230,5,5,62,230,5,5,63,230,5,5,64,230,5,5,65,230,5,5,61,224,5,5,66,230,5,5,34,235,5,5,35,235,5,5,36,235,5,5,26,217,5,5,37,235,5,5,70,230,5,5,218,238,5,5,219,238,5,5,220,238,5,5,26,242,5,5,149,244,5,5,150,244,5,5,151,244,5,5,152,244,5,5,92,246,5,5,93,246,5,5,176,247,5,5,182,248,5,5,19,157,5,5,85,157,5,5,212,157,5,5,213,157,5,5,214,157,5,5,184,158,5,5,185,158,5,5,59,160,5,5,60,160,5,5,61,160,5,5,62,160,5,5,63,160,5,5,108,162,5,5,109,162,5,5,110,162,5,5,111,162,5,5,112,162,5,5,113,162,5,5,114,162,5,5,95,166,5,5,96,166,5,5,97,166,5,5,98,166,5,5,99,166,5,5,225,171,5,5,226,171,5,5,227,171,5,5,80,178,5,5,81,178,5,5,151,185,5,5,152,185,5,5,153,185,5,5,162,193,5,5,163,193,5,5,33,202,5,5,5,210,5,5,64,224,5,5,154,244,5,5,20,157,5,5,86,157,5,5,215,157,5,5,64,160,5,5,101,166,5,5,229,171,5,5,21,157,5,5,216,157,5,5,217,157,5,5,218,157,5,5,219,157,5,5,187,158,5,5,66,160,5,5,67,160,5,5,68,160,5,5,69,160,5,5,116,162,5,5,102,166,5,5,103,166,5,5,104,166,5,5,230,171,5,5,84,178,5,5,231,171,5,5,85,178,5,5,154,185,5,5,34,202,5,5,35,202,5,5,66,224,5,5,40,235,5,5,23,157,5,5,220,157,5,5,221,157,5,5,222,157,5,5,223,157,5,5,224,157,5,5,225,157,5,5,188,158,5,5,189,158,5,5,190,158,5,5,191,158,5,5,70,160,5,5,71,160,5,5,117,162,5,5,105,166,5,5,232,171,5,5,233,171,5,5,86,178,5,5,87,178,5,5,155,185,5,5,24,157,5,5,226,157,5,5,227,157,5,5,193,158,5,5,194,158,5,5,72,160,5,5,73,160,5,5,118,162,5,5,106,166,5,5,234,171,5,5,235,171,5,5,88,178,5,5,89,178,5,5,90,178,5,5,91,178,5,5,92,178,5,5,93,178,5,5,94,178,5,5,157,185,5,5,6,210,5,5,67,224,5,5,25,157,5,5,195,158,5,5,196,158,5,5,197,158,5,5,198,158,5,5,74,160,5,5,75,160,5,5,76,160,5,5,77,160,5,5,78,160,5,5,119,162,5,5,120,162,5,5,121,162,5,5,122,162,5,5,123,162,5,5,124,162,5,5,125,162,5,5,107,166,5,5,108,166,5,5,109,166,5,5,110,166,5,5,111,166,5,5,236,171,5,5,237,171,5,5,238,171,5,5,96,178,5,5,97,178,5,5,98,178,5,5,99,178,5,5,100,178,5,5,101,178,5,5,102,178,5,5,103,178,5,5,104,178,5,5,105,178,5,5,106,178,5,5,158,185,5,5,159,185,5,5,160,185,5,5,166,193,5,5,167,193,5,5,168,193,5,5,169,193,5,5,170,193,5,5,36,202,5,5,7,210,5,5,27,217,5,5,28,217,5,5,29,217,5,5,30,217,5,5,68,224,5,5,69,224,5,5,71,230,5,5,26,157,5,5,87,157,5,5,88,157,5,5,89,157,5,5,229,157,5,5,199,158,5,5,200,158,5,5,201,158,5,5,80,160,5,5,81,160,5,5,82,160,5,5,83,160,5,5,127,162,5,5,113,166,5,5,114,166,5,5,115,166,5,5,162,185,5,5,171,193,5,5,172,193,5,5,8,210,5,5,9,210,5,5,28,157,5,5,231,157,5,5,202,158,5,5,203,158,5,5,204,158,5,5,205,158,5,5,206,158,5,5,84,160,5,5,116,166,5,5,242,171,5,5,173,193,5,5,29,157,5,5,30,157,5,5,32,157,5,5,90,157,5,5,91,157,5,5,233,157,5,5,234,157,5,5,235,157,5,5,236,157,5,5,207,158,5,5,208,158,5,5,209,158,5,5,210,158,5,5,211,158,5,5,85,160,5,5,86,160,5,5,87,160,5,5,88,160,5,5,89,160,5,5,90,160,5,5,91,160,5,5,92,160,5,5,93,160,5,5,94,160,5,5,95,160,5,5,96,160,5,5,97,160,5,5,98,160,5,5,128,162,5,5,129,162,5,5,130,162,5,5,131,162,5,5,132,162,5,5,133,162,5,5,134,162,5,5,135,162,5,5,136,162,5,5,137,162,5,5,138,162,5,5,139,162,5,5,140,162,5,5,141,162,5,5,142,162,5,5,143,162,5,5,144,162,5,5,145,162,5,5,117,166,5,5,118,166,5,5,119,166,5,5,120,166,5,5,121,166,5,5,122,166,5,5,123,166,5,5,124,166,5,5,125,166,5,5,126,166,5,5,127,166,5,5,128,166,5,5,129,166,5,5,130,166,5,5,131,166,5,5,132,166,5,5,133,166,5,5,134,166,5,5,135,166,5,5,136,166,5,5,137,166,5,5,243,171,5,5,244,171,5,5,245,171,5,5,141,166,5,5,246,171,5,5,247,171,5,5,248,171,5,5,249,171,5,5,250,171,5,5,251,171,5,5,252,171,5,5,253,171,5,5,254,171,5,5,255,171,5,5,2,172,5,5,110,178,5,5,111,178,5,5,112,178,5,5,113,178,5,5,114,178,5,5,115,178,5,5,116,178,5,5,117,178,5,5,118,178,5,5,119,178,5,5,120,178,5,5,121,178,5,5,122,178,5,5,123,178,5,5,124,178,5,5,125,178,5,5,126,178,5,5,127,178,5,5,128,178,5,5,129,178,5,5,130,178,5,5,131,178,5,5,163,185,5,5,174,193,5,5,164,185,5,5,165,185,5,5,166,185,5,5,167,185,5,5,168,185,5,5,169,185,5,5,170,185,5,5,171,185,5,5,175,193,5,5,176,193,5,5,177,193,5,5,178,193,5,5,172,185,5,5,37,202,5,5,38,202,5,5,39,202,5,5,40,202,5,5,41,202,5,5,42,202,5,5,43,202,5,5,44,202,5,5,45,202,5,5,10,210,5,5,11,210,5,5,12,210,5,5,13,210,5,5,14,210,5,5,32,217,5,5,33,217,5,5,34,217,5,5,35,217,5,5,36,217,5,5,37,217,5,5,38,217,5,5,39,217,5,5,40,217,5,5,41,217,5,5,42,217,5,5,71,224,5,5,72,224,5,5,73,224,5,5,74,224,5,5,75,224,5,5,74,230,5,5,222,238,5,5,155,244,5,5,156,244,5,5,177,247,5,5,178,247,5,5,33,157,5,5,92,157,5,5,237,157,5,5,238,157,5,5,212,158,5,5,213,158,5,5,214,158,5,5,215,158,5,5,99,160,5,5,100,160,5,5,101,160,5,5,102,160,5,5,103,160,5,5,104,160,5,5,147,162,5,5,148,162,5,5,149,162,5,5,150,162,5,5,151,162,5,5,152,162,5,5,153,162,5,5,154,162,5,5,155,162,5,5,156,162,5,5,157,162,5,5,158,162,5,5,142,166,5,5,143,166,5,5,144,166,5,5,145,166,5,5,146,166,5,5,147,166,5,5,148,166,5,5,149,166,5,5,150,166,5,5,151,166,5,5,152,166,5,5,3,172,5,5,4,172,5,5,5,172,5,5,6,172,5,5,7,172,5,5,8,172,5,5,154,166,5,5,9,172,5,5,10,172,5,5,11,172,5,5,12,172,5,5,13,172,5,5,133,178,5,5,134,178,5,5,135,178,5,5,136,178,5,5,137,178,5,5,138,178,5,5,174,185,5,5,175,185,5,5,176,185,5,5,177,185,5,5,178,185,5,5,49,188,5,5,179,185,5,5,180,185,5,5,181,185,5,5,180,193,5,5,181,193,5,5,182,193,5,5,183,193,5,5,46,202,5,5,47,202,5,5,48,202,5,5,49,202,5,5,50,202,5,5,51,202,5,5,52,202,5,5,53,202,5,5,54,202,5,5,18,210,5,5,19,210,5,5,20,210,5,5,21,210,5,5,22,210,5,5,23,210,5,5,43,217,5,5,44,217,5,5,45,217,5,5,46,217,5,5,47,217,5,5,76,224,5,5,75,230,5,5,76,230,5,5,77,230,5,5,223,238,5,5,224,238,5,5,34,157,5,5,93,157,5,5,239,157,5,5,240,157,5,5,241,157,5,5,242,157,5,5,243,157,5,5,244,157,5,5,245,157,5,5,246,157,5,5,216,158,5,5,217,158,5,5,218,158,5,5,219,158,5,5,220,158,5,5,105,160,5,5,159,162,5,5,155,166,5,5,156,166,5,5,157,166,5,5,14,172,5,5,140,178,5,5,183,185,5,5,184,185,5,5,184,193,5,5,185,193,5,5,185,185,5,5,48,217,5,5,35,157,5,5,247,157,5,5,221,158,5,5,186,185,5,5,187,185,5,5,36,157,5,5,222,158,5,5,223,158,5,5,224,158,5,5,225,158,5,5,106,160,5,5,107,160,5,5,108,160,5,5,109,160,5,5,161,162,5,5,162,162,5,5,163,162,5,5,159,166,5,5,15,172,5,5,16,172,5,5,17,172,5,5,141,178,5,5,142,178,5,5,189,185,5,5,190,185,5,5,191,185,5,5,55,202,5,5,25,210,5,5,26,210,5,5,27,210,5,5,49,217,5,5,77,224,5,5,80,230,5,5,225,238,5,5,28,242,5,5,37,157,5,5,249,157,5,5,250,157,5,5,165,162,5,5,160,166,5,5,18,172,5,5,193,185,5,5,194,185,5,5,195,185,5,5,38,157,5,5,94,157,5,5,95,157,5,5,61,157,5,5,251,157,5,5,252,157,5,5,253,157,5,5,254,157,5,5,226,158,5,5,227,158,5,5,110,160,5,5,228,158,5,5,111,160,5,5,112,160,5,5,113,160,5,5,114,160,5,5,161,166,5,5,162,166,5,5,163,166,5,5,164,166,5,5,165,166,5,5,166,166,5,5,19,172,5,5,20,172,5,5,196,185,5,5,189,193,5,5,158,244,5,5,40,157,5,5,2,158,5,5,3,158,5,5,229,158,5,5,230,158,5,5,231,158,5,5,232,158,5,5,167,162,5,5,168,162,5,5,167,166,5,5,168,166,5,5,169,166,5,5,197,185,5,5,41,157,5,5,96,157,5,5,97,157,5,5,4,158,5,5,233,158,5,5,234,158,5,5,235,158,5,5,116,160,5,5,117,160,5,5,169,162,5,5,170,162,5,5,171,162,5,5,172,162,5,5,171,166,5,5,172,166,5,5,173,166,5,5,174,166,5,5,175,166,5,5,21,172,5,5,22,172,5,5,23,172,5,5,198,185,5,5,144,178,5,5,59,202,5,5,60,202,5,5,42,157,5,5,5,158,5,5,6,158,5,5,7,158,5,5,8,158,5,5,237,158,5,5,238,158,5,5,239,158,5,5,118,160,5,5,119,160,5,5,120,160,5,5,121,160,5,5,173,162,5,5,174,162,5,5,175,162,5,5,176,162,5,5,176,166,5,5,177,166,5,5,178,166,5,5,179,166,5,5,24,172,5,5,25,172,5,5,26,172,5,5,27,172,5,5,28,172,5,5,29,172,5,5,145,178,5,5,146,178,5,5,147,178,5,5,148,178,5,5,199,185,5,5,200,185,5,5,201,185,5,5,202,185,5,5,190,193,5,5,191,193,5,5,192,193,5,5,193,193,5,5,194,193,5,5,203,185,5,5,61,202,5,5,62,202,5,5,29,210,5,5,30,210,5,5,31,210,5,5,63,202,5,5,32,210,5,5,50,217,5,5,51,217,5,5,81,230,5,5,226,238,5,5,137,250,5,5,43,157,5,5,9,158,5,5,10,158,5,5,11,158,5,5,240,158,5,5,241,158,5,5,242,158,5,5,123,160,5,5,124,160,5,5,177,162,5,5,181,166,5,5,182,166,5,5,183,166,5,5,204,185,5,5,205,185,5,5,196,193,5,5,34,210,5,5,53,217,5,5,45,157,5,5,99,157,5,5,12,158,5,5,13,158,5,5,14,158,5,5,15,158,5,5,16,158,5,5,243,158,5,5,244,158,5,5,245,158,5,5,125,160,5,5,178,162,5,5,184,166,5,5,185,166,5,5,186,166,5,5,187,166,5,5,188,166,5,5,30,172,5,5,31,172,5,5,32,172,5,5,33,172,5,5,34,172,5,5,151,178,5,5,152,178,5,5,64,202,5,5,78,224,5,5,43,235,5,5,100,157,5,5,246,158,5,5,247,158,5,5,248,158,5,5,249,158,5,5,250,158,5,5,251,158,5,5,252,158,5,5,253,158,5,5,254,158,5,5,255,158,5,5,2,159,5,5,3,159,5,5,4,159,5,5,5,159,5,5,6,159,5,5,7,159,5,5,8,159,5,5,9,159,5,5,10,159,5,5,11,159,5,5,12,159,5,5,13,159,5,5,14,159,5,5,15,159,5,5,16,159,5,5,17,159,5,5,18,159,5,5,126,160,5,5,127,160,5,5,128,160,5,5,129,160,5,5,130,160,5,5,131,160,5,5,132,160,5,5,133,160,5,5,134,160,5,5,135,160,5,5,136,160,5,5,137,160,5,5,138,160,5,5,139,160,5,5,140,160,5,5,141,160,5,5,142,160,5,5,143,160,5,5,144,160,5,5,145,160,5,5,146,160,5,5,147,160,5,5,148,160,5,5,149,160,5,5,150,160,5,5,179,162,5,5,180,162,5,5,181,162,5,5,182,162,5,5,183,162,5,5,184,162,5,5,185,162,5,5,186,162,5,5,187,162,5,5,188,162,5,5,189,162,5,5,190,162,5,5,191,162,5,5,192,162,5,5,193,162,5,5,194,162,5,5,195,162,5,5,196,162,5,5,197,162,5,5,198,162,5,5,199,162,5,5,200,162,5,5,201,162,5,5,202,162,5,5,203,162,5,5,204,162,5,5,205,162,5,5,206,162,5,5,207,162,5,5,208,162,5,5,209,162,5,5,210,162,5,5,211,162,5,5,212,162,5,5,213,162,5,5,214,162,5,5,215,162,5,5,216,162,5,5,217,162,5,5,218,162,5,5,219,162,5,5,220,162,5,5,221,162,5,5,222,162,5,5,223,162,5,5,224,162,5,5,225,162,5,5,226,162,5,5,227,162,5,5,228,162,5,5,229,162,5,5,230,162,5,5,231,162,5,5,232,162,5,5,233,162,5,5,234,162,5,5,235,162,5,5,236,162,5,5,237,162,5,5,238,162,5,5,239,162,5,5,240,162,5,5,241,162,5,5,242,162,5,5,243,162,5,5,244,162,5,5,245,162,5,5,246,162,5,5,247,162,5,5,189,166,5,5,190,166,5,5,191,166,5,5,192,166,5,5,193,166,5,5,194,166,5,5,195,166,5,5,196,166,5,5,197,166,5,5,198,166,5,5,199,166,5,5,200,166,5,5,201,166,5,5,202,166,5,5,203,166,5,5,204,166,5,5,205,166,5,5,206,166,5,5,207,166,5,5,35,172,5,5,208,166,5,5,36,172,5,5,209,166,5,5,210,166,5,5,211,166,5,5,212,166,5,5,213,166,5,5,214,166,5,5,215,166,5,5,216,166,5,5,217,166,5,5,218,166,5,5,219,166,5,5,220,166,5,5,221,166,5,5,222,166,5,5,223,166,5,5,224,166,5,5,225,166,5,5,226,166,5,5,227,166,5,5,228,166,5,5,229,166,5,5,230,166,5,5,231,166,5,5,232,166,5,5,233,166,5,5,234,166,5,5,235,166,5,5,236,166,5,5,237,166,5,5,238,166,5,5,239,166,5,5,240,166,5,5,241,166,5,5,242,166,5,5,243,166,5,5,244,166,5,5,245,166,5,5,246,166,5,5,247,166,5,5,248,166,5,5,249,166,5,5,250,166,5,5,251,166,5,5,37,172,5,5,38,172,5,5,39,172,5,5,40,172,5,5,41,172,5,5,42,172,5,5,43,172,5,5,44,172,5,5,45,172,5,5,46,172,5,5,47,172,5,5,48,172,5,5,49,172,5,5,50,172,5,5,51,172,5,5,52,172,5,5,53,172,5,5,54,172,5,5,55,172,5,5,56,172,5,5,57,172,5,5,58,172,5,5,59,172,5,5,60,172,5,5,61,172,5,5,62,172,5,5,63,172,5,5,64,172,5,5,65,172,5,5,66,172,5,5,67,172,5,5,68,172,5,5,69,172,5,5,70,172,5,5,71,172,5,5,72,172,5,5,73,172,5,5,74,172,5,5,75,172,5,5,76,172,5,5,77,172,5,5,78,172,5,5,79,172,5,5,80,172,5,5,81,172,5,5,82,172,5,5,83,172,5,5,84,172,5,5,85,172,5,5,86,172,5,5,87,172,5,5,88,172,5,5,89,172,5,5,90,172,5,5,91,172,5,5,92,172,5,5,93,172,5,5,94,172,5,5,95,172,5,5,96,172,5,5,97,172,5,5,98,172,5,5,99,172,5,5,100,172,5,5,101,172,5,5,102,172,5,5,153,178,5,5,154,178,5,5,155,178,5,5,156,178,5,5,157,178,5,5,158,178,5,5,159,178,5,5,160,178,5,5,161,178,5,5,162,178,5,5,163,178,5,5,164,178,5,5,165,178,5,5,166,178,5,5,167,178,5,5,168,178,5,5,169,178,5,5,170,178,5,5,171,178,5,5,172,178,5,5,173,178,5,5,174,178,5,5,175,178,5,5,176,178,5,5,177,178,5,5,178,178,5,5,179,178,5,5,180,178,5,5,181,178,5,5,182,178,5,5,183,178,5,5,184,178,5,5,185,178,5,5,186,178,5,5,187,178,5,5,188,178,5,5,189,178,5,5,190,178,5,5,191,178,5,5,192,178,5,5,193,178,5,5,194,178,5,5,195,178,5,5,196,178,5,5,206,185,5,5,197,178,5,5,198,178,5,5,199,178,5,5,200,178,5,5,201,178,5,5,202,178,5,5,203,178,5,5,204,178,5,5,205,178,5,5,206,178,5,5,207,178,5,5,208,178,5,5,209,178,5,5,210,178,5,5,211,178,5,5,212,178,5,5,213,178,5,5,214,178,5,5,215,178,5,5,216,178,5,5,217,178,5,5,218,178,5,5,219,178,5,5,220,178,5,5,221,178,5,5,222,178,5,5,223,178,5,5,207,185,5,5,208,185,5,5,209,185,5,5,210,185,5,5,211,185,5,5,212,185,5,5,213,185,5,5,214,185,5,5,215,185,5,5,216,185,5,5,217,185,5,5,218,185,5,5,219,185,5,5,220,185,5,5,221,185,5,5,222,185,5,5,223,185,5,5,224,185,5,5,225,185,5,5,226,185,5,5,227,185,5,5,228,185,5,5,229,185,5,5,230,185,5,5,231,185,5,5,232,185,5,5,233,185,5,5,234,185,5,5,235,185,5,5,236,185,5,5,237,185,5,5,238,185,5,5,239,185,5,5,240,185,5,5,241,185,5,5,242,185,5,5,243,185,5,5,244,185,5,5,245,185,5,5,246,185,5,5,247,185,5,5,248,185,5,5,249,185,5,5,250,185,5,5,251,185,5,5,252,185,5,5,253,185,5,5,254,185,5,5,255,185,5,5,197,193,5,5,2,186,5,5,3,186,5,5,4,186,5,5,5,186,5,5,6,186,5,5,10,188,5,5,7,186,5,5,8,186,5,5,9,186,5,5,10,186,5,5,11,186,5,5,12,186,5,5,13,186,5,5,14,186,5,5,15,186,5,5,16,186,5,5,17,186,5,5,55,186,5,5,18,186,5,5,19,186,5,5,20,186,5,5,21,186,5,5,22,186,5,5,23,186,5,5,24,186,5,5,25,186,5,5,26,186,5,5,27,186,5,5,28,186,5,5,29,186,5,5,30,186,5,5,31,186,5,5,198,193,5,5,199,193,5,5,200,193,5,5,201,193,5,5,202,193,5,5,203,193,5,5,204,193,5,5,205,193,5,5,206,193,5,5,207,193,5,5,208,193,5,5,209,193,5,5,210,193,5,5,211,193,5,5,212,193,5,5,213,193,5,5,214,193,5,5,215,193,5,5,216,193,5,5,65,202,5,5,217,193,5,5,218,193,5,5,219,193,5,5,220,193,5,5,221,193,5,5,222,193,5,5,223,193,5,5,224,193,5,5,225,193,5,5,226,193,5,5,227,193,5,5,228,193,5,5,229,193,5,5,230,193,5,5,231,193,5,5,232,193,5,5,233,193,5,5,234,193,5,5,235,193,5,5,236,193,5,5,237,193,5,5,238,193,5,5,239,193,5,5,240,193,5,5,241,193,5,5,242,193,5,5,243,193,5,5,244,193,5,5,245,193,5,5,246,193,5,5,247,193,5,5,248,193,5,5,249,193,5,5,250,193,5,5,251,193,5,5,252,193,5,5,253,193,5,5,254,193,5,5,255,193,5,5,2,194,5,5,56,186,5,5,3,194,5,5,4,194,5,5,5,194,5,5,6,194,5,5,7,194,5,5,8,194,5,5,9,194,5,5,10,194,5,5,66,202,5,5,67,202,5,5,68,202,5,5,69,202,5,5,70,202,5,5,71,202,5,5,72,202,5,5,73,202,5,5,74,202,5,5,75,202,5,5,76,202,5,5,77,202,5,5,78,202,5,5,79,202,5,5,80,202,5,5,81,202,5,5,82,202,5,5,83,202,5,5,84,202,5,5,85,202,5,5,86,202,5,5,87,202,5,5,88,202,5,5,89,202,5,5,90,202,5,5,91,202,5,5,92,202,5,5,93,202,5,5,94,202,5,5,95,202,5,5,96,202,5,5,30,194,5,5,97,202,5,5,98,202,5,5,99,202,5,5,100,202,5,5,101,202,5,5,102,202,5,5,103,202,5,5,104,202,5,5,105,202,5,5,106,202,5,5,107,202,5,5,108,202,5,5,109,202,5,5,110,202,5,5,111,202,5,5,112,202,5,5,113,202,5,5,114,202,5,5,115,202,5,5,116,202,5,5,117,202,5,5,118,202,5,5,119,202,5,5,38,210,5,5,39,210,5,5,40,210,5,5,41,210,5,5,42,210,5,5,43,210,5,5,44,210,5,5,45,210,5,5,46,210,5,5,47,210,5,5,48,210,5,5,49,210,5,5,50,210,5,5,51,210,5,5,52,210,5,5,53,210,5,5,54,210,5,5,55,210,5,5,56,210,5,5,57,210,5,5,58,210,5,5,59,210,5,5,60,210,5,5,61,210,5,5,62,210,5,5,63,210,5,5,64,210,5,5,65,210,5,5,66,210,5,5,67,210,5,5,68,210,5,5,69,210,5,5,70,210,5,5,71,210,5,5,72,210,5,5,73,210,5,5,74,210,5,5,75,210,5,5,76,210,5,5,77,210,5,5,78,210,5,5,102,210,5,5,56,217,5,5,79,210,5,5,80,210,5,5,81,210,5,5,82,210,5,5,83,210,5,5,84,210,5,5,85,210,5,5,103,210,5,5,57,217,5,5,58,217,5,5,59,217,5,5,60,217,5,5,61,217,5,5,62,217,5,5,63,217,5,5,64,217,5,5,65,217,5,5,66,217,5,5,67,217,5,5,68,217,5,5,69,217,5,5,70,217,5,5,71,217,5,5,72,217,5,5,73,217,5,5,74,217,5,5,75,217,5,5,76,217,5,5,77,217,5,5,78,217,5,5,79,217,5,5,80,217,5,5,81,217,5,5,82,217,5,5,83,217,5,5,84,217,5,5,11,194,5,5,85,217,5,5,86,217,5,5,87,217,5,5,88,217,5,5,89,217,5,5,90,217,5,5,91,217,5,5,92,217,5,5,93,217,5,5,94,217,5,5,95,217,5,5,86,210,5,5,96,217,5,5,55,217,5,5,97,217,5,5,175,219,5,5,98,217,5,5,99,217,5,5,100,217,5,5,101,217,5,5,102,217,5,5,103,217,5,5,104,217,5,5,105,217,5,5,79,224,5,5,80,224,5,5,81,224,5,5,82,224,5,5,83,224,5,5,84,224,5,5,85,224,5,5,86,224,5,5,87,224,5,5,88,224,5,5,89,224,5,5,90,224,5,5,91,224,5,5,92,224,5,5,93,224,5,5,94,224,5,5,95,224,5,5,96,224,5,5,97,224,5,5,98,224,5,5,99,224,5,5,100,224,5,5,106,217,5,5,101,224,5,5,102,224,5,5,103,224,5,5,104,224,5,5,105,224,5,5,106,224,5,5,107,224,5,5,108,224,5,5,84,230,5,5,85,230,5,5,86,230,5,5,87,230,5,5,88,230,5,5,89,230,5,5,90,230,5,5,91,230,5,5,92,230,5,5,93,230,5,5,94,230,5,5,95,230,5,5,96,230,5,5,97,230,5,5,98,230,5,5,99,230,5,5,100,230,5,5,101,230,5,5,102,230,5,5,103,230,5,5,104,230,5,5,105,230,5,5,106,230,5,5,44,235,5,5,45,235,5,5,46,235,5,5,47,235,5,5,48,235,5,5,49,235,5,5,50,235,5,5,51,235,5,5,52,235,5,5,53,235,5,5,54,235,5,5,55,235,5,5,56,235,5,5,57,235,5,5,58,235,5,5,59,235,5,5,60,235,5,5,228,238,5,5,229,238,5,5,230,238,5,5,231,238,5,5,232,238,5,5,233,238,5,5,234,238,5,5,235,238,5,5,236,238,5,5,73,235,5,5,237,238,5,5,238,238,5,5,29,242,5,5,30,242,5,5,31,242,5,5,32,242,5,5,33,242,5,5,34,242,5,5,35,242,5,5,36,242,5,5,37,242,5,5,159,244,5,5,160,244,5,5,39,242,5,5,161,244,5,5,162,244,5,5,163,244,5,5,164,244,5,5,165,244,5,5,166,244,5,5,167,244,5,5,168,244,5,5,96,246,5,5,97,246,5,5,98,246,5,5,99,246,5,5,100,246,5,5,101,246,5,5,102,246,5,5,180,247,5,5,169,244,5,5,103,246,5,5,181,247,5,5,182,247,5,5,184,248,5,5,185,248,5,5,186,248,5,5,100,249,5,5,101,249,5,5,85,250,5,5,101,157,5,5,22,159,5,5,23,159,5,5,24,159,5,5,25,159,5,5,26,159,5,5,154,160,5,5,155,160,5,5,156,160,5,5,157,160,5,5,158,160,5,5,159,160,5,5,160,160,5,5,2,163,5,5,3,163,5,5,4,163,5,5,5,163,5,5,6,163,5,5,7,163,5,5,8,163,5,5,9,163,5,5,10,163,5,5,11,163,5,5,12,163,5,5,13,163,5,5,14,163,5,5,15,163,5,5,16,163,5,5,17,163,5,5,18,163,5,5,19,163,5,5,9,167,5,5,10,167,5,5,11,167,5,5,12,167,5,5,13,167,5,5,14,167,5,5,15,167,5,5,16,167,5,5,17,167,5,5,112,172,5,5,113,172,5,5,237,178,5,5,238,178,5,5,239,178,5,5,240,178,5,5,241,178,5,5,242,178,5,5,57,186,5,5,58,186,5,5,59,186,5,5,60,186,5,5,61,186,5,5,31,194,5,5,32,194,5,5,33,194,5,5,62,186,5,5,34,194,5,5,144,202,5,5,145,202,5,5,146,202,5,5,147,202,5,5,148,202,5,5,104,210,5,5,105,210,5,5,106,210,5,5,107,210,5,5,119,217,5,5,123,224,5,5,124,224,5,5,105,246,5,5,221,249,5,5,102,157,5,5,17,158,5,5,18,158,5,5,28,159,5,5,29,159,5,5,30,159,5,5,31,159,5,5,32,159,5,5,33,159,5,5,161,160,5,5,162,160,5,5,163,160,5,5,164,160,5,5,165,160,5,5,166,160,5,5,167,160,5,5,168,160,5,5,169,160,5,5,170,160,5,5,171,160,5,5,172,160,5,5,173,160,5,5,174,160,5,5,175,160,5,5,176,160,5,5,177,160,5,5,178,160,5,5,179,160,5,5,20,163,5,5,21,163,5,5,22,163,5,5,23,163,5,5,24,163,5,5,25,163,5,5,26,163,5,5,27,163,5,5,28,163,5,5,29,163,5,5,30,163,5,5,31,163,5,5,32,163,5,5,33,163,5,5,34,163,5,5,35,163,5,5,36,163,5,5,37,163,5,5,38,163,5,5,39,163,5,5,40,163,5,5,41,163,5,5,42,163,5,5,43,163,5,5,44,163,5,5,45,163,5,5,46,163,5,5,47,163,5,5,48,163,5,5,49,163,5,5,50,163,5,5,51,163,5,5,52,163,5,5,53,163,5,5,54,163,5,5,55,163,5,5,56,163,5,5,57,163,5,5,19,167,5,5,20,167,5,5,21,167,5,5,22,167,5,5,23,167,5,5,24,167,5,5,25,167,5,5,26,167,5,5,27,167,5,5,28,167,5,5,29,167,5,5,30,167,5,5,31,167,5,5,32,167,5,5,33,167,5,5,34,167,5,5,35,167,5,5,36,167,5,5,37,167,5,5,38,167,5,5,39,167,5,5,40,167,5,5,41,167,5,5,42,167,5,5,43,167,5,5,44,167,5,5,45,167,5,5,46,167,5,5,47,167,5,5,48,167,5,5,49,167,5,5,50,167,5,5,51,167,5,5,52,167,5,5,53,167,5,5,54,167,5,5,55,167,5,5,56,167,5,5,57,167,5,5,58,167,5,5,59,167,5,5,60,167,5,5,116,172,5,5,117,172,5,5,118,172,5,5,119,172,5,5,120,172,5,5,121,172,5,5,122,172,5,5,123,172,5,5,124,172,5,5,125,172,5,5,126,172,5,5,127,172,5,5,128,172,5,5,129,172,5,5,130,172,5,5,131,172,5,5,132,172,5,5,133,172,5,5,134,172,5,5,135,172,5,5,136,172,5,5,137,172,5,5,138,172,5,5,139,172,5,5,140,172,5,5,141,172,5,5,142,172,5,5,143,172,5,5,144,172,5,5,145,172,5,5,146,172,5,5,147,172,5,5,148,172,5,5,149,172,5,5,150,172,5,5,151,172,5,5,152,172,5,5,153,172,5,5,154,172,5,5,155,172,5,5,156,172,5,5,157,172,5,5,158,172,5,5,244,178,5,5,245,178,5,5,246,178,5,5,247,178,5,5,248,178,5,5,249,178,5,5,250,178,5,5,251,178,5,5,252,178,5,5,253,178,5,5,254,178,5,5,255,178,5,5,2,179,5,5,3,179,5,5,4,179,5,5,5,179,5,5,6,179,5,5,7,179,5,5,8,179,5,5,9,179,5,5,10,179,5,5,11,179,5,5,12,179,5,5,13,179,5,5,159,172,5,5,14,179,5,5,15,179,5,5,16,179,5,5,17,179,5,5,18,179,5,5,19,179,5,5,20,179,5,5,21,179,5,5,22,179,5,5,23,179,5,5,24,179,5,5,25,179,5,5,26,179,5,5,63,186,5,5,64,186,5,5,65,186,5,5,66,186,5,5,67,186,5,5,68,186,5,5,69,186,5,5,70,186,5,5,71,186,5,5,72,186,5,5,73,186,5,5,74,186,5,5,75,186,5,5,76,186,5,5,125,186,5,5,77,186,5,5,78,186,5,5,79,186,5,5,80,186,5,5,81,186,5,5,82,186,5,5,83,186,5,5,84,186,5,5,85,186,5,5,86,186,5,5,87,186,5,5,88,186,5,5,89,186,5,5,90,186,5,5,91,186,5,5,92,186,5,5,93,186,5,5,94,186,5,5,95,186,5,5,96,186,5,5,97,186,5,5,98,186,5,5,99,186,5,5,100,186,5,5,101,186,5,5,102,186,5,5,103,186,5,5,104,186,5,5,105,186,5,5,106,186,5,5,107,186,5,5,108,186,5,5,109,186,5,5,110,186,5,5,111,186,5,5,112,186,5,5,113,186,5,5,114,186,5,5,115,186,5,5,116,186,5,5,117,186,5,5,118,186,5,5,119,186,5,5,35,194,5,5,36,194,5,5,37,194,5,5,38,194,5,5,39,194,5,5,40,194,5,5,41,194,5,5,42,194,5,5,43,194,5,5,44,194,5,5,45,194,5,5,46,194,5,5,47,194,5,5,48,194,5,5,49,194,5,5,50,194,5,5,51,194,5,5,52,194,5,5,53,194,5,5,54,194,5,5,55,194,5,5,56,194,5,5,57,194,5,5,58,194,5,5,59,194,5,5,60,194,5,5,61,194,5,5,62,194,5,5,33,179,5,5,63,194,5,5,64,194,5,5,126,186,5,5,65,194,5,5,66,194,5,5,67,194,5,5,68,194,5,5,69,194,5,5,70,194,5,5,71,194,5,5,149,202,5,5,72,194,5,5,73,194,5,5,74,194,5,5,75,194,5,5,76,194,5,5,150,202,5,5,77,194,5,5,78,194,5,5,79,194,5,5,80,194,5,5,81,194,5,5,151,202,5,5,152,202,5,5,153,202,5,5,154,202,5,5,155,202,5,5,156,202,5,5,157,202,5,5,158,202,5,5,159,202,5,5,160,202,5,5,161,202,5,5,162,202,5,5,163,202,5,5,164,202,5,5,165,202,5,5,166,202,5,5,167,202,5,5,168,202,5,5,169,202,5,5,170,202,5,5,171,202,5,5,172,202,5,5,173,202,5,5,174,202,5,5,175,202,5,5,176,202,5,5,177,202,5,5,178,202,5,5,179,202,5,5,180,202,5,5,181,202,5,5,182,202,5,5,183,202,5,5,184,202,5,5,185,202,5,5,186,202,5,5,187,202,5,5,188,202,5,5,189,202,5,5,190,202,5,5,191,202,5,5,108,210,5,5,109,210,5,5,110,210,5,5,111,210,5,5,112,210,5,5,113,210,5,5,114,210,5,5,115,210,5,5,116,210,5,5,117,210,5,5,118,210,5,5,119,210,5,5,120,210,5,5,121,210,5,5,120,217,5,5,122,210,5,5,123,210,5,5,124,210,5,5,125,210,5,5,126,210,5,5,127,210,5,5,128,210,5,5,129,210,5,5,130,210,5,5,131,210,5,5,132,210,5,5,133,210,5,5,134,210,5,5,135,210,5,5,136,210,5,5,137,210,5,5,138,210,5,5,139,210,5,5,140,210,5,5,141,210,5,5,142,210,5,5,143,210,5,5,144,210,5,5,145,210,5,5,146,210,5,5,147,210,5,5,148,210,5,5,121,217,5,5,122,217,5,5,123,217,5,5,124,217,5,5,125,217,5,5,126,217,5,5,127,217,5,5,128,217,5,5,129,217,5,5,130,217,5,5,131,217,5,5,132,217,5,5,35,224,5,5,133,217,5,5,134,217,5,5,135,217,5,5,136,217,5,5,156,210,5,5,137,217,5,5,138,217,5,5,139,217,5,5,140,217,5,5,141,217,5,5,142,217,5,5,143,217,5,5,144,217,5,5,145,217,5,5,146,217,5,5,147,217,5,5,148,217,5,5,125,224,5,5,126,224,5,5,127,224,5,5,128,224,5,5,129,224,5,5,130,224,5,5,131,224,5,5,132,224,5,5,133,224,5,5,134,224,5,5,135,224,5,5,136,224,5,5,137,224,5,5,138,224,5,5,139,224,5,5,140,224,5,5,141,224,5,5,142,224,5,5,143,224,5,5,116,230,5,5,117,230,5,5,118,230,5,5,119,230,5,5,120,230,5,5,121,230,5,5,122,230,5,5,123,230,5,5,124,230,5,5,125,230,5,5,126,230,5,5,74,235,5,5,75,235,5,5,243,238,5,5,244,238,5,5,245,238,5,5,246,238,5,5,247,238,5,5,248,238,5,5,249,238,5,5,227,238,5,5,250,238,5,5,41,242,5,5,42,242,5,5,43,242,5,5,175,244,5,5,184,247,5,5,185,247,5,5,188,248,5,5,103,249,5,5,103,157,5,5,20,158,5,5,35,159,5,5,181,160,5,5,64,163,5,5,65,163,5,5,66,163,5,5,67,163,5,5,68,163,5,5,167,172,5,5,168,172,5,5,34,179,5,5,127,186,5,5,128,186,5,5,88,194,5,5,89,194,5,5,90,194,5,5,195,202,5,5,157,210,5,5,158,210,5,5,154,217,5,5,155,217,5,5,145,224,5,5,104,157,5,5,21,158,5,5,36,159,5,5,182,160,5,5,69,163,5,5,69,167,5,5,169,172,5,5,170,172,5,5,105,157,5,5,70,163,5,5,70,167,5,5,171,172,5,5,35,179,5,5,36,179,5,5,159,210,5,5,77,235,5,5,251,238,5,5,78,235,5,5,177,244,5,5,106,157,5,5,37,159,5,5,38,159,5,5,39,159,5,5,183,160,5,5,184,160,5,5,185,160,5,5,71,167,5,5,72,167,5,5,37,179,5,5,129,186,5,5,130,186,5,5,91,194,5,5,160,210,5,5,161,210,5,5,162,210,5,5,163,210,5,5,157,217,5,5,107,157,5,5,108,157,5,5,22,158,5,5,23,158,5,5,24,158,5,5,25,158,5,5,26,158,5,5,40,159,5,5,41,159,5,5,42,159,5,5,43,159,5,5,44,159,5,5,45,159,5,5,46,159,5,5,186,160,5,5,187,160,5,5,188,160,5,5,189,160,5,5,190,160,5,5,191,160,5,5,192,160,5,5,193,160,5,5,71,163,5,5,72,163,5,5,73,163,5,5,74,163,5,5,75,163,5,5,76,163,5,5,73,167,5,5,74,167,5,5,75,167,5,5,76,167,5,5,77,167,5,5,78,167,5,5,79,167,5,5,39,179,5,5,80,167,5,5,81,167,5,5,82,167,5,5,172,172,5,5,173,172,5,5,174,172,5,5,175,172,5,5,176,172,5,5,177,172,5,5,83,167,5,5,178,172,5,5,179,172,5,5,40,179,5,5,41,179,5,5,42,179,5,5,43,179,5,5,131,186,5,5,132,186,5,5,133,186,5,5,134,186,5,5,135,186,5,5,92,194,5,5,93,194,5,5,137,186,5,5,94,194,5,5,95,194,5,5,96,194,5,5,196,202,5,5,197,202,5,5,198,202,5,5,164,210,5,5,165,210,5,5,166,210,5,5,167,210,5,5,158,217,5,5,146,224,5,5,147,224,5,5,79,235,5,5,106,246,5,5,187,247,5,5,109,157,5,5,47,159,5,5,48,159,5,5,49,159,5,5,194,160,5,5,195,160,5,5,196,160,5,5,197,160,5,5,198,160,5,5,199,160,5,5,200,160,5,5,201,160,5,5,202,160,5,5,203,160,5,5,204,160,5,5,205,160,5,5,206,160,5,5,207,160,5,5,208,160,5,5,209,160,5,5,210,160,5,5,211,160,5,5,77,163,5,5,78,163,5,5,79,163,5,5,80,163,5,5,184,172,5,5,81,163,5,5,82,163,5,5,83,163,5,5,84,163,5,5,85,163,5,5,86,163,5,5,87,163,5,5,88,163,5,5,89,163,5,5,90,163,5,5,91,163,5,5,92,163,5,5,93,163,5,5,94,163,5,5,95,163,5,5,96,163,5,5,97,163,5,5,98,163,5,5,99,163,5,5,100,163,5,5,101,163,5,5,102,163,5,5,103,163,5,5,104,163,5,5,105,163,5,5,106,163,5,5,107,163,5,5,108,163,5,5,109,163,5,5,110,163,5,5,85,167,5,5,86,167,5,5,87,167,5,5,88,167,5,5,89,167,5,5,90,167,5,5,91,167,5,5,92,167,5,5,93,167,5,5,94,167,5,5,95,167,5,5,96,167,5,5,97,167,5,5,98,167,5,5,99,167,5,5,100,167,5,5,101,167,5,5,102,167,5,5,103,167,5,5,104,167,5,5,105,167,5,5,106,167,5,5,107,167,5,5,108,167,5,5,109,167,5,5,110,167,5,5,111,167,5,5,112,167,5,5,113,167,5,5,114,167,5,5,115,167,5,5,116,167,5,5,117,167,5,5,118,167,5,5,119,167,5,5,120,167,5,5,121,167,5,5,122,167,5,5,123,167,5,5,124,167,5,5,125,167,5,5,183,172,5,5,126,167,5,5,127,167,5,5,185,172,5,5,186,172,5,5,187,172,5,5,188,172,5,5,189,172,5,5,190,172,5,5,191,172,5,5,192,172,5,5,193,172,5,5,194,172,5,5,195,172,5,5,196,172,5,5,197,172,5,5,198,172,5,5,199,172,5,5,200,172,5,5,201,172,5,5,202,172,5,5,203,172,5,5,204,172,5,5,44,179,5,5,205,172,5,5,206,172,5,5,207,172,5,5,208,172,5,5,209,172,5,5,210,172,5,5,211,172,5,5,212,172,5,5,213,172,5,5,214,172,5,5,215,172,5,5,216,172,5,5,217,172,5,5,218,172,5,5,219,172,5,5,220,172,5,5,221,172,5,5,222,172,5,5,223,172,5,5,224,172,5,5,225,172,5,5,226,172,5,5,227,172,5,5,64,176,5,5,228,172,5,5,229,172,5,5,230,172,5,5,231,172,5,5,45,179,5,5,46,179,5,5,47,179,5,5,48,179,5,5,240,172,5,5,49,179,5,5,50,179,5,5,51,179,5,5,52,179,5,5,53,179,5,5,54,179,5,5,55,179,5,5,56,179,5,5,57,179,5,5,58,179,5,5,59,179,5,5,60,179,5,5,61,179,5,5,62,179,5,5,63,179,5,5,64,179,5,5,65,179,5,5,66,179,5,5,67,179,5,5,68,179,5,5,69,179,5,5,70,179,5,5,71,179,5,5,72,179,5,5,73,179,5,5,74,179,5,5,75,179,5,5,76,179,5,5,77,179,5,5,138,186,5,5,140,186,5,5,78,179,5,5,79,179,5,5,80,179,5,5,81,179,5,5,82,179,5,5,83,179,5,5,84,179,5,5,85,179,5,5,141,186,5,5,142,186,5,5,143,186,5,5,144,186,5,5,145,186,5,5,146,186,5,5,147,186,5,5,148,186,5,5,139,186,5,5,149,186,5,5,150,186,5,5,151,186,5,5,152,186,5,5,153,186,5,5,154,186,5,5,155,186,5,5,156,186,5,5,157,186,5,5,158,186,5,5,159,186,5,5,160,186,5,5,161,186,5,5,162,186,5,5,163,186,5,5,164,186,5,5,165,186,5,5,166,186,5,5,167,186,5,5,168,186,5,5,169,186,5,5,170,186,5,5,171,186,5,5,172,186,5,5,173,186,5,5,174,186,5,5,175,186,5,5,176,186,5,5,177,186,5,5,178,186,5,5,179,186,5,5,180,186,5,5,181,186,5,5,182,186,5,5,183,186,5,5,184,186,5,5,185,186,5,5,186,186,5,5,187,186,5,5,188,186,5,5,189,186,5,5,190,186,5,5,191,186,5,5,192,186,5,5,193,186,5,5,194,186,5,5,195,186,5,5,196,186,5,5,197,186,5,5,198,186,5,5,199,186,5,5,200,186,5,5,201,186,5,5,202,186,5,5,203,186,5,5,204,186,5,5,205,186,5,5,97,194,5,5,98,194,5,5,99,194,5,5,100,194,5,5,101,194,5,5,102,194,5,5,103,194,5,5,104,194,5,5,105,194,5,5,106,194,5,5,107,194,5,5,108,194,5,5,109,194,5,5,110,194,5,5,111,194,5,5,112,194,5,5,113,194,5,5,114,194,5,5,115,194,5,5,116,194,5,5,117,194,5,5,118,194,5,5,119,194,5,5,216,186,5,5,120,194,5,5,200,202,5,5,121,194,5,5,122,194,5,5,123,194,5,5,124,194,5,5,125,194,5,5,126,194,5,5,127,194,5,5,128,194,5,5,129,194,5,5,130,194,5,5,131,194,5,5,132,194,5,5,133,194,5,5,134,194,5,5,135,194,5,5,136,194,5,5,137,194,5,5,138,194,5,5,139,194,5,5,140,194,5,5,141,194,5,5,142,194,5,5,143,194,5,5,144,194,5,5,145,194,5,5,146,194,5,5,147,194,5,5,148,194,5,5,149,194,5,5,150,194,5,5,151,194,5,5,201,202,5,5,202,202,5,5,203,202,5,5,204,202,5,5,205,202,5,5,206,202,5,5,207,202,5,5,208,202,5,5,209,202,5,5,210,202,5,5,211,202,5,5,212,202,5,5,213,202,5,5,214,202,5,5,215,202,5,5,216,202,5,5,217,202,5,5,218,202,5,5,219,202,5,5,220,202,5,5,221,202,5,5,222,202,5,5,223,202,5,5,224,202,5,5,225,202,5,5,226,202,5,5,227,202,5,5,228,202,5,5,229,202,5,5,230,202,5,5,231,202,5,5,152,194,5,5,232,202,5,5,233,202,5,5,234,202,5,5,235,202,5,5,236,202,5,5,168,210,5,5,169,210,5,5,170,210,5,5,171,210,5,5,172,210,5,5,173,210,5,5,174,210,5,5,175,210,5,5,176,210,5,5,177,210,5,5,178,210,5,5,179,210,5,5,180,210,5,5,181,210,5,5,182,210,5,5,183,210,5,5,184,210,5,5,185,210,5,5,186,210,5,5,187,210,5,5,188,210,5,5,189,210,5,5,190,210,5,5,191,210,5,5,192,210,5,5,193,210,5,5,194,210,5,5,195,210,5,5,196,210,5,5,197,210,5,5,212,210,5,5,159,217,5,5,160,217,5,5,161,217,5,5,162,217,5,5,163,217,5,5,164,217,5,5,165,217,5,5,166,217,5,5,167,217,5,5,168,217,5,5,169,217,5,5,170,217,5,5,171,217,5,5,172,217,5,5,173,217,5,5,174,217,5,5,175,217,5,5,176,217,5,5,177,217,5,5,178,217,5,5,179,217,5,5,180,217,5,5,181,217,5,5,182,217,5,5,183,217,5,5,184,217,5,5,185,217,5,5,186,217,5,5,148,224,5,5,149,224,5,5,150,224,5,5,151,224,5,5,152,224,5,5,153,224,5,5,154,224,5,5,155,224,5,5,156,224,5,5,157,224,5,5,158,224,5,5,159,224,5,5,160,224,5,5,161,224,5,5,162,224,5,5,163,224,5,5,164,224,5,5,165,224,5,5,166,224,5,5,131,230,5,5,132,230,5,5,133,230,5,5,134,230,5,5,135,230,5,5,178,224,5,5,136,230,5,5,137,230,5,5,138,230,5,5,139,230,5,5,140,230,5,5,141,230,5,5,142,230,5,5,143,230,5,5,144,230,5,5,145,230,5,5,146,230,5,5,167,224,5,5,147,230,5,5,148,230,5,5,149,230,5,5,80,235,5,5,253,238,5,5,81,235,5,5,82,235,5,5,83,235,5,5,252,238,5,5,254,238,5,5,255,238,5,5,45,242,5,5,46,242,5,5,47,242,5,5,48,242,5,5,49,242,5,5,50,242,5,5,51,242,5,5,178,244,5,5,179,244,5,5,180,244,5,5,107,246,5,5,108,246,5,5,109,246,5,5,188,247,5,5,190,248,5,5,191,248,5,5,110,157,5,5,111,157,5,5,112,157,5,5,113,157,5,5,27,158,5,5,50,159,5,5,215,160,5,5,216,160,5,5,217,160,5,5,218,160,5,5,118,163,5,5,119,163,5,5,120,163,5,5,121,163,5,5,122,163,5,5,142,167,5,5,143,167,5,5,144,167,5,5,145,167,5,5,146,167,5,5,147,167,5,5,148,167,5,5,149,167,5,5,150,167,5,5,241,172,5,5,242,172,5,5,243,172,5,5,98,179,5,5,99,179,5,5,100,179,5,5,217,186,5,5,218,186,5,5,219,186,5,5,172,194,5,5,220,186,5,5,175,194,5,5,248,202,5,5,213,210,5,5,251,202,5,5,214,210,5,5,179,224,5,5,180,224,5,5,155,230,5,5,156,230,5,5,9,239,5,5,59,242,5,5,60,242,5,5,113,246,5,5,114,157,5,5,51,159,5,5,52,159,5,5,53,159,5,5,54,159,5,5,220,160,5,5,221,160,5,5,222,160,5,5,223,160,5,5,224,160,5,5,123,163,5,5,124,163,5,5,125,163,5,5,126,163,5,5,127,163,5,5,128,163,5,5,129,163,5,5,130,163,5,5,131,163,5,5,153,167,5,5,154,167,5,5,155,167,5,5,156,167,5,5,157,167,5,5,158,167,5,5,159,167,5,5,160,167,5,5,161,167,5,5,162,167,5,5,163,167,5,5,164,167,5,5,165,167,5,5,166,167,5,5,167,167,5,5,244,172,5,5,245,172,5,5,246,172,5,5,247,172,5,5,248,172,5,5,103,179,5,5,249,172,5,5,250,172,5,5,251,172,5,5,252,172,5,5,104,179,5,5,105,179,5,5,106,179,5,5,107,179,5,5,108,179,5,5,109,179,5,5,110,179,5,5,111,179,5,5,112,179,5,5,113,179,5,5,114,179,5,5,115,179,5,5,116,179,5,5,117,179,5,5,118,179,5,5,119,179,5,5,120,179,5,5,121,179,5,5,122,179,5,5,221,186,5,5,222,186,5,5,223,186,5,5,224,186,5,5,225,186,5,5,226,186,5,5,227,186,5,5,228,186,5,5,229,186,5,5,230,186,5,5,231,186,5,5,176,194,5,5,177,194,5,5,178,194,5,5,179,194,5,5,180,194,5,5,181,194,5,5,182,194,5,5,183,194,5,5,184,194,5,5,185,194,5,5,186,194,5,5,187,194,5,5,252,202,5,5,253,202,5,5,254,202,5,5,255,202,5,5,2,203,5,5,3,203,5,5,4,203,5,5,5,203,5,5,216,210,5,5,217,210,5,5,218,210,5,5,219,210,5,5,220,210,5,5,221,210,5,5,222,210,5,5,223,210,5,5,224,210,5,5,225,210,5,5,226,210,5,5,201,217,5,5,188,194,5,5,202,217,5,5,203,217,5,5,204,217,5,5,205,217,5,5,181,224,5,5,182,224,5,5,157,230,5,5,158,230,5,5,10,239,5,5,11,239,5,5,12,239,5,5,61,242,5,5,183,244,5,5,115,157,5,5,55,159,5,5,225,160,5,5,226,160,5,5,227,160,5,5,132,163,5,5,133,163,5,5,134,163,5,5,169,167,5,5,254,172,5,5,255,172,5,5,123,179,5,5,124,179,5,5,125,179,5,5,2,173,5,5,234,186,5,5,235,186,5,5,236,186,5,5,192,194,5,5,193,194,5,5,194,194,5,5,227,210,5,5,207,217,5,5,118,157,5,5,28,158,5,5,29,158,5,5,56,159,5,5,57,159,5,5,58,159,5,5,59,159,5,5,228,160,5,5,229,160,5,5,230,160,5,5,170,167,5,5,171,167,5,5,3,173,5,5,4,173,5,5,5,173,5,5,195,194,5,5,8,203,5,5,9,203,5,5,228,210,5,5,119,157,5,5,30,158,5,5,31,158,5,5,231,160,5,5,232,160,5,5,233,160,5,5,135,163,5,5,136,163,5,5,137,163,5,5,138,163,5,5,139,163,5,5,172,167,5,5,6,173,5,5,7,173,5,5,196,194,5,5,197,194,5,5,10,203,5,5,11,203,5,5,12,203,5,5,209,217,5,5,159,230,5,5,160,230,5,5,122,157,5,5,178,157,5,5,32,158,5,5,60,159,5,5,61,159,5,5,234,160,5,5,140,163,5,5,141,163,5,5,142,163,5,5,143,163,5,5,144,163,5,5,145,163,5,5,173,167,5,5,174,167,5,5,175,167,5,5,176,167,5,5,177,167,5,5,178,167,5,5,179,167,5,5,8,173,5,5,9,173,5,5,10,173,5,5,11,173,5,5,12,173,5,5,126,179,5,5,127,179,5,5,128,179,5,5,129,179,5,5,130,179,5,5,131,179,5,5,132,179,5,5,133,179,5,5,134,179,5,5,237,186,5,5,238,186,5,5,239,186,5,5,240,186,5,5,241,186,5,5,198,194,5,5,199,194,5,5,242,186,5,5,200,194,5,5,229,210,5,5,230,210,5,5,210,217,5,5,211,217,5,5,212,217,5,5,213,217,5,5,161,230,5,5,87,235,5,5,88,235,5,5,13,239,5,5,184,244,5,5,192,248,5,5,123,157,5,5,33,158,5,5,236,160,5,5,124,157,5,5,35,158,5,5,62,159,5,5,63,159,5,5,64,159,5,5,65,159,5,5,66,159,5,5,237,160,5,5,238,160,5,5,239,160,5,5,240,160,5,5,241,160,5,5,242,160,5,5,243,160,5,5,244,160,5,5,245,160,5,5,246,160,5,5,247,160,5,5,248,160,5,5,146,163,5,5,147,163,5,5,148,163,5,5,149,163,5,5,150,163,5,5,151,163,5,5,152,163,5,5,153,163,5,5,154,163,5,5,172,163,5,5,155,163,5,5,156,163,5,5,157,163,5,5,158,163,5,5,159,163,5,5,160,163,5,5,161,163,5,5,162,163,5,5,163,163,5,5,164,163,5,5,165,163,5,5,166,163,5,5,167,163,5,5,168,163,5,5,169,163,5,5,180,167,5,5,181,167,5,5,182,167,5,5,183,167,5,5,184,167,5,5,185,167,5,5,186,167,5,5,187,167,5,5,188,167,5,5,189,167,5,5,190,167,5,5,191,167,5,5,192,167,5,5,193,167,5,5,194,167,5,5,195,167,5,5,196,167,5,5,197,167,5,5,198,167,5,5,199,167,5,5,200,167,5,5,201,167,5,5,202,167,5,5,203,167,5,5,204,167,5,5,205,167,5,5,206,167,5,5,207,167,5,5,208,167,5,5,209,167,5,5,210,167,5,5,211,167,5,5,212,167,5,5,213,167,5,5,214,167,5,5,215,167,5,5,216,167,5,5,217,167,5,5,218,167,5,5,219,167,5,5,220,167,5,5,13,173,5,5,14,173,5,5,15,173,5,5,16,173,5,5,17,173,5,5,18,173,5,5,19,173,5,5,20,173,5,5,21,173,5,5,22,173,5,5,23,173,5,5,24,173,5,5,25,173,5,5,26,173,5,5,27,173,5,5,28,173,5,5,29,173,5,5,30,173,5,5,31,173,5,5,32,173,5,5,33,173,5,5,34,173,5,5,35,173,5,5,36,173,5,5,37,173,5,5,38,173,5,5,39,173,5,5,40,173,5,5,41,173,5,5,42,173,5,5,43,173,5,5,44,173,5,5,45,173,5,5,46,173,5,5,137,179,5,5,138,179,5,5,139,179,5,5,140,179,5,5,141,179,5,5,142,179,5,5,143,179,5,5,144,179,5,5,145,179,5,5,146,179,5,5,147,179,5,5,148,179,5,5,149,179,5,5,150,179,5,5,151,179,5,5,152,179,5,5,51,173,5,5,153,179,5,5,154,179,5,5,155,179,5,5,156,179,5,5,157,179,5,5,158,179,5,5,159,179,5,5,160,179,5,5,161,179,5,5,162,179,5,5,163,179,5,5,164,179,5,5,165,179,5,5,243,186,5,5,244,186,5,5,245,186,5,5,246,186,5,5,247,186,5,5,248,186,5,5,249,186,5,5,250,186,5,5,251,186,5,5,252,186,5,5,253,186,5,5,254,186,5,5,255,186,5,5,2,187,5,5,3,187,5,5,4,187,5,5,5,187,5,5,6,187,5,5,7,187,5,5,8,187,5,5,9,187,5,5,10,187,5,5,11,187,5,5,12,187,5,5,13,187,5,5,14,187,5,5,15,187,5,5,16,187,5,5,17,187,5,5,18,187,5,5,19,187,5,5,20,187,5,5,21,187,5,5,22,187,5,5,23,187,5,5,24,187,5,5,25,187,5,5,26,187,5,5,27,187,5,5,28,187,5,5,29,187,5,5,30,187,5,5,31,187,5,5,203,194,5,5,204,194,5,5,205,194,5,5,206,194,5,5,207,194,5,5,208,194,5,5,209,194,5,5,210,194,5,5,211,194,5,5,212,194,5,5,213,194,5,5,214,194,5,5,215,194,5,5,216,194,5,5,217,194,5,5,218,194,5,5,219,194,5,5,220,194,5,5,221,194,5,5,222,194,5,5,223,194,5,5,224,194,5,5,225,194,5,5,226,194,5,5,227,194,5,5,14,203,5,5,228,194,5,5,229,194,5,5,230,194,5,5,231,194,5,5,232,194,5,5,233,194,5,5,234,194,5,5,235,194,5,5,236,194,5,5,237,194,5,5,238,194,5,5,239,194,5,5,240,194,5,5,241,194,5,5,242,194,5,5,243,194,5,5,244,194,5,5,245,194,5,5,246,194,5,5,15,203,5,5,16,203,5,5,17,203,5,5,18,203,5,5,19,203,5,5,20,203,5,5,21,203,5,5,22,203,5,5,23,203,5,5,24,203,5,5,25,203,5,5,26,203,5,5,27,203,5,5,251,194,5,5,28,203,5,5,29,203,5,5,30,203,5,5,31,203,5,5,32,203,5,5,33,203,5,5,34,203,5,5,35,203,5,5,36,203,5,5,37,203,5,5,38,203,5,5,231,210,5,5,232,210,5,5,233,210,5,5,234,210,5,5,235,210,5,5,236,210,5,5,237,210,5,5,238,210,5,5,239,210,5,5,240,210,5,5,241,210,5,5,242,210,5,5,243,210,5,5,244,210,5,5,245,210,5,5,246,210,5,5,247,210,5,5,248,210,5,5,249,210,5,5,250,210,5,5,251,210,5,5,252,210,5,5,253,210,5,5,254,210,5,5,215,217,5,5,216,217,5,5,217,217,5,5,218,217,5,5,219,217,5,5,220,217,5,5,221,217,5,5,222,217,5,5,223,217,5,5,224,217,5,5,225,217,5,5,226,217,5,5,227,217,5,5,228,217,5,5,229,217,5,5,230,217,5,5,231,217,5,5,232,217,5,5,233,217,5,5,234,217,5,5,235,217,5,5,236,217,5,5,237,217,5,5,183,224,5,5,184,224,5,5,185,224,5,5,186,224,5,5,187,224,5,5,188,224,5,5,189,224,5,5,190,224,5,5,191,224,5,5,192,224,5,5,193,224,5,5,194,224,5,5,195,224,5,5,196,224,5,5,197,224,5,5,198,224,5,5,199,224,5,5,162,230,5,5,163,230,5,5,164,230,5,5,165,230,5,5,172,230,5,5,166,230,5,5,167,230,5,5,168,230,5,5,169,230,5,5,89,235,5,5,90,235,5,5,91,235,5,5,14,239,5,5,15,239,5,5,16,239,5,5,62,242,5,5,63,242,5,5,64,242,5,5,65,242,5,5,66,242,5,5,185,244,5,5,67,242,5,5,186,244,5,5,114,246,5,5,187,244,5,5,188,244,5,5,115,246,5,5,116,246,5,5,117,246,5,5,118,246,5,5,119,246,5,5,189,247,5,5,120,246,5,5,190,247,5,5,193,248,5,5,191,247,5,5,125,157,5,5,46,157,5,5,126,157,5,5,250,160,5,5,251,160,5,5,173,163,5,5,166,165,5,5,36,187,5,5,37,187,5,5,241,217,5,5,127,157,5,5,67,159,5,5,68,159,5,5,69,159,5,5,252,160,5,5,253,160,5,5,174,163,5,5,52,173,5,5,53,173,5,5,169,179,5,5,252,194,5,5,43,203,5,5,128,157,5,5,129,157,5,5,130,157,5,5,36,158,5,5,175,163,5,5,224,167,5,5,54,173,5,5,55,173,5,5,56,173,5,5,57,173,5,5,58,173,5,5,171,179,5,5,254,194,5,5,131,157,5,5,37,158,5,5,38,158,5,5,39,158,5,5,70,159,5,5,71,159,5,5,72,159,5,5,73,159,5,5,254,160,5,5,255,160,5,5,2,161,5,5,176,163,5,5,177,163,5,5,178,163,5,5,179,163,5,5,180,163,5,5,181,163,5,5,182,163,5,5,183,163,5,5,226,167,5,5,227,167,5,5,228,167,5,5,229,167,5,5,230,167,5,5,231,167,5,5,232,167,5,5,233,167,5,5,234,167,5,5,235,167,5,5,236,167,5,5,237,167,5,5,59,173,5,5,60,173,5,5,61,173,5,5,62,173,5,5,63,173,5,5,64,173,5,5,65,173,5,5,66,173,5,5,67,173,5,5,68,173,5,5,69,173,5,5,172,179,5,5,173,179,5,5,174,179,5,5,175,179,5,5,176,179,5,5,177,179,5,5,178,179,5,5,179,179,5,5,180,179,5,5,181,179,5,5,39,187,5,5,40,187,5,5,41,187,5,5,42,187,5,5,43,187,5,5,44,187,5,5,45,187,5,5,46,187,5,5,47,187,5,5,48,187,5,5,49,187,5,5,3,195,5,5,50,187,5,5,4,195,5,5,5,195,5,5,6,195,5,5,7,195,5,5,8,195,5,5,9,195,5,5,10,195,5,5,11,195,5,5,12,195,5,5,15,195,5,5,13,195,5,5,44,203,5,5,45,203,5,5,46,203,5,5,47,203,5,5,48,203,5,5,49,203,5,5,220,206,5,5,5,211,5,5,6,211,5,5,7,211,5,5,8,211,5,5,9,211,5,5,10,211,5,5,11,211,5,5,12,211,5,5,13,211,5,5,242,217,5,5,14,211,5,5,243,217,5,5,244,217,5,5,245,217,5,5,246,217,5,5,247,217,5,5,248,217,5,5,249,217,5,5,16,211,5,5,250,217,5,5,251,217,5,5,200,224,5,5,201,224,5,5,202,224,5,5,253,217,5,5,173,230,5,5,174,230,5,5,175,230,5,5,92,235,5,5,93,235,5,5,207,224,5,5,21,239,5,5,68,242,5,5,132,157,5,5,76,159,5,5,6,161,5,5,7,161,5,5,8,161,5,5,239,167,5,5,240,167,5,5,50,203,5,5,134,157,5,5,40,158,5,5,77,159,5,5,71,173,5,5,16,195,5,5,135,157,5,5,78,159,5,5,79,159,5,5,80,159,5,5,81,159,5,5,9,161,5,5,10,161,5,5,11,161,5,5,188,163,5,5,189,163,5,5,190,163,5,5,191,163,5,5,192,163,5,5,193,163,5,5,194,163,5,5,195,163,5,5,196,163,5,5,197,163,5,5,198,163,5,5,199,163,5,5,200,163,5,5,201,163,5,5,242,167,5,5,243,167,5,5,244,167,5,5,241,167,5,5,245,167,5,5,246,167,5,5,72,173,5,5,247,167,5,5,248,167,5,5,249,167,5,5,250,167,5,5,73,173,5,5,74,173,5,5,75,173,5,5,76,173,5,5,77,173,5,5,78,173,5,5,79,173,5,5,185,179,5,5,186,179,5,5,187,179,5,5,188,179,5,5,189,179,5,5,190,179,5,5,191,179,5,5,192,179,5,5,193,179,5,5,81,173,5,5,51,187,5,5,52,187,5,5,53,187,5,5,54,187,5,5,55,187,5,5,56,187,5,5,57,187,5,5,58,187,5,5,59,187,5,5,60,187,5,5,61,187,5,5,62,187,5,5,17,195,5,5,63,187,5,5,18,195,5,5,19,195,5,5,20,195,5,5,21,195,5,5,22,195,5,5,24,195,5,5,51,203,5,5,52,203,5,5,53,203,5,5,54,203,5,5,55,203,5,5,23,195,5,5,56,203,5,5,57,203,5,5,17,211,5,5,18,211,5,5,19,211,5,5,20,211,5,5,21,211,5,5,22,211,5,5,23,211,5,5,24,211,5,5,25,211,5,5,26,211,5,5,27,211,5,5,28,211,5,5,29,211,5,5,254,217,5,5,255,217,5,5,30,211,5,5,2,218,5,5,3,218,5,5,4,218,5,5,5,218,5,5,6,218,5,5,7,218,5,5,8,218,5,5,9,218,5,5,208,224,5,5,209,224,5,5,210,224,5,5,211,224,5,5,212,224,5,5,213,224,5,5,94,235,5,5,23,239,5,5,24,239,5,5,70,242,5,5,71,242,5,5,72,242,5,5,190,244,5,5,121,246,5,5,104,249,5,5,136,157,5,5,12,161,5,5,252,167,5,5,202,163,5,5,253,167,5,5,254,167,5,5,82,173,5,5,83,173,5,5,84,173,5,5,194,179,5,5,137,157,5,5,41,158,5,5,42,158,5,5,82,159,5,5,13,161,5,5,203,163,5,5,204,163,5,5,205,163,5,5,2,168,5,5,87,173,5,5,88,173,5,5,195,179,5,5,31,211,5,5,138,157,5,5,43,158,5,5,83,159,5,5,14,161,5,5,15,161,5,5,16,161,5,5,25,195,5,5,59,203,5,5,139,157,5,5,44,158,5,5,45,158,5,5,46,158,5,5,84,159,5,5,85,159,5,5,17,161,5,5,18,161,5,5,19,161,5,5,20,161,5,5,206,163,5,5,207,163,5,5,208,163,5,5,209,163,5,5,3,168,5,5,4,168,5,5,5,168,5,5,6,168,5,5,7,168,5,5,8,168,5,5,9,168,5,5,10,168,5,5,11,168,5,5,12,168,5,5,89,173,5,5,90,173,5,5,91,173,5,5,92,173,5,5,93,173,5,5,196,179,5,5,197,179,5,5,198,179,5,5,199,179,5,5,64,187,5,5,65,187,5,5,66,187,5,5,67,187,5,5,68,187,5,5,69,187,5,5,26,195,5,5,27,195,5,5,28,195,5,5,29,195,5,5,30,195,5,5,60,203,5,5,61,203,5,5,62,203,5,5,63,203,5,5,32,211,5,5,33,211,5,5,34,211,5,5,36,211,5,5,10,218,5,5,11,218,5,5,12,218,5,5,214,224,5,5,215,224,5,5,178,230,5,5,95,235,5,5,122,246,5,5,192,247,5,5,140,157,5,5,142,157,5,5,86,159,5,5,21,161,5,5,14,168,5,5,15,168,5,5,95,173,5,5,71,187,5,5,31,195,5,5,64,203,5,5,65,203,5,5,216,224,5,5,217,224,5,5,96,235,5,5,97,235,5,5,26,239,5,5,223,249,5,5,143,157,5,5,211,163,5,5,212,163,5,5,213,163,5,5,96,173,5,5,97,173,5,5,200,179,5,5,201,179,5,5,72,187,5,5,151,191,5,5,73,187,5,5,74,187,5,5,32,195,5,5,67,203,5,5,37,211,5,5,38,211,5,5,13,218,5,5,123,246,5,5,144,157,5,5,22,161,5,5,23,161,5,5,214,163,5,5,215,163,5,5,216,163,5,5,217,163,5,5,218,163,5,5,219,163,5,5,18,168,5,5,19,168,5,5,20,168,5,5,21,168,5,5,22,168,5,5,23,168,5,5,24,168,5,5,25,168,5,5,26,168,5,5,98,173,5,5,99,173,5,5,100,173,5,5,101,173,5,5,102,173,5,5,103,173,5,5,104,173,5,5,105,173,5,5,106,173,5,5,203,179,5,5,204,179,5,5,205,179,5,5,206,179,5,5,207,179,5,5,208,179,5,5,107,173,5,5,209,179,5,5,75,187,5,5,76,187,5,5,77,187,5,5,78,187,5,5,33,195,5,5,79,187,5,5,80,187,5,5,81,187,5,5,82,187,5,5,83,187,5,5,84,187,5,5,85,187,5,5,86,187,5,5,87,187,5,5,88,187,5,5,34,195,5,5,35,195,5,5,36,195,5,5,37,195,5,5,38,195,5,5,39,195,5,5,40,195,5,5,68,203,5,5,69,203,5,5,70,203,5,5,71,203,5,5,72,203,5,5,40,211,5,5,14,218,5,5,41,211,5,5,42,211,5,5,15,218,5,5,44,211,5,5,16,218,5,5,17,218,5,5,18,218,5,5,19,218,5,5,220,224,5,5,221,224,5,5,179,230,5,5,180,230,5,5,27,239,5,5,73,242,5,5,74,242,5,5,191,244,5,5,48,158,5,5,145,157,5,5,88,159,5,5,49,158,5,5,90,159,5,5,25,161,5,5,91,159,5,5,92,159,5,5,26,161,5,5,224,163,5,5,225,163,5,5,226,163,5,5,27,161,5,5,227,163,5,5,228,163,5,5,229,163,5,5,28,161,5,5,29,161,5,5,30,161,5,5,31,161,5,5,230,163,5,5,231,163,5,5,32,161,5,5,33,161,5,5,34,161,5,5,232,163,5,5,27,168,5,5,28,168,5,5,234,163,5,5,29,168,5,5,235,163,5,5,30,168,5,5,236,163,5,5,237,163,5,5,31,168,5,5,238,163,5,5,239,163,5,5,240,163,5,5,32,168,5,5,241,163,5,5,242,163,5,5,243,163,5,5,244,163,5,5,245,163,5,5,246,163,5,5,247,163,5,5,248,163,5,5,249,163,5,5,250,163,5,5,251,163,5,5,33,168,5,5,252,163,5,5,253,163,5,5,254,163,5,5,255,163,5,5,2,164,5,5,3,164,5,5,4,164,5,5,34,168,5,5,5,164,5,5,35,168,5,5,6,164,5,5,36,168,5,5,37,168,5,5,7,164,5,5,8,164,5,5,9,164,5,5,10,164,5,5,38,168,5,5,39,168,5,5,40,168,5,5,41,168,5,5,42,168,5,5,43,168,5,5,44,168,5,5,108,173,5,5,45,168,5,5,46,168,5,5,47,168,5,5,109,173,5,5,48,168,5,5,49,168,5,5,50,168,5,5,51,168,5,5,52,168,5,5,110,173,5,5,53,168,5,5,54,168,5,5,55,168,5,5,56,168,5,5,111,173,5,5,57,168,5,5,58,168,5,5,112,173,5,5,59,168,5,5,60,168,5,5,113,173,5,5,114,173,5,5,115,173,5,5,61,168,5,5,62,168,5,5,116,173,5,5,63,168,5,5,64,168,5,5,65,168,5,5,66,168,5,5,67,168,5,5,68,168,5,5,69,168,5,5,70,168,5,5,117,173,5,5,71,168,5,5,72,168,5,5,73,168,5,5,74,168,5,5,75,168,5,5,118,173,5,5,119,173,5,5,120,173,5,5,76,168,5,5,121,173,5,5,122,173,5,5,77,168,5,5,78,168,5,5,79,168,5,5,123,173,5,5,211,179,5,5,124,173,5,5,125,173,5,5,126,173,5,5,127,173,5,5,128,173,5,5,129,173,5,5,130,173,5,5,131,173,5,5,132,173,5,5,212,179,5,5,133,173,5,5,134,173,5,5,135,173,5,5,213,179,5,5,214,179,5,5,136,173,5,5,137,173,5,5,138,173,5,5,139,173,5,5,215,179,5,5,216,179,5,5,140,173,5,5,141,173,5,5,217,179,5,5,218,179,5,5,142,173,5,5,143,173,5,5,219,179,5,5,144,173,5,5,145,173,5,5,146,173,5,5,147,173,5,5,148,173,5,5,220,179,5,5,149,173,5,5,221,179,5,5,150,173,5,5,222,179,5,5,151,173,5,5,223,179,5,5,152,173,5,5,153,173,5,5,154,173,5,5,224,179,5,5,155,173,5,5,225,179,5,5,156,173,5,5,157,173,5,5,158,173,5,5,226,179,5,5,227,179,5,5,228,179,5,5,229,179,5,5,230,179,5,5,159,173,5,5,160,173,5,5,161,173,5,5,162,173,5,5,163,173,5,5,164,173,5,5,233,179,5,5,91,187,5,5,234,179,5,5,235,179,5,5,236,179,5,5,237,179,5,5,238,179,5,5,239,179,5,5,92,187,5,5,240,179,5,5,241,179,5,5,93,187,5,5,94,187,5,5,242,179,5,5,243,179,5,5,244,179,5,5,245,179,5,5,246,179,5,5,95,187,5,5,247,179,5,5,248,179,5,5,249,179,5,5,250,179,5,5,251,179,5,5,252,179,5,5,253,179,5,5,96,187,5,5,254,179,5,5,255,179,5,5,2,180,5,5,3,180,5,5,4,180,5,5,5,180,5,5,6,180,5,5,97,187,5,5,98,187,5,5,7,180,5,5,99,187,5,5,100,187,5,5,101,187,5,5,8,180,5,5,9,180,5,5,102,187,5,5,10,180,5,5,103,187,5,5,104,187,5,5,105,187,5,5,11,180,5,5,12,180,5,5,13,180,5,5,110,187,5,5,111,187,5,5,42,195,5,5,43,195,5,5,112,187,5,5,113,187,5,5,44,195,5,5,114,187,5,5,115,187,5,5,45,195,5,5,116,187,5,5,117,187,5,5,118,187,5,5,119,187,5,5,120,187,5,5,121,187,5,5,122,187,5,5,46,195,5,5,123,187,5,5,124,187,5,5,47,195,5,5,125,187,5,5,126,187,5,5,127,187,5,5,128,187,5,5,48,195,5,5,129,187,5,5,130,187,5,5,49,195,5,5,131,187,5,5,50,195,5,5,132,187,5,5,133,187,5,5,51,195,5,5,52,195,5,5,134,187,5,5,135,187,5,5,136,187,5,5,53,195,5,5,137,187,5,5,138,187,5,5,139,187,5,5,140,187,5,5,141,187,5,5,142,187,5,5,143,187,5,5,144,187,5,5,145,187,5,5,54,195,5,5,55,195,5,5,56,195,5,5,57,195,5,5,146,187,5,5,58,195,5,5,147,187,5,5,148,187,5,5,149,187,5,5,59,195,5,5,60,195,5,5,61,195,5,5,150,187,5,5,151,187,5,5,152,187,5,5,153,187,5,5,62,195,5,5,63,195,5,5,64,195,5,5,73,203,5,5,65,195,5,5,66,195,5,5,67,195,5,5,74,203,5,5,68,195,5,5,75,203,5,5,69,195,5,5,70,195,5,5,71,195,5,5,72,195,5,5,73,195,5,5,74,195,5,5,75,195,5,5,76,203,5,5,77,203,5,5,76,195,5,5,77,195,5,5,78,195,5,5,78,203,5,5,79,195,5,5,79,203,5,5,80,195,5,5,81,195,5,5,82,195,5,5,83,195,5,5,80,203,5,5,84,195,5,5,81,203,5,5,85,195,5,5,86,195,5,5,87,195,5,5,88,195,5,5,89,195,5,5,90,195,5,5,91,195,5,5,82,203,5,5,92,195,5,5,83,203,5,5,84,203,5,5,85,203,5,5,93,195,5,5,94,195,5,5,95,195,5,5,86,203,5,5,96,195,5,5,97,195,5,5,98,195,5,5,99,195,5,5,100,195,5,5,101,195,5,5,102,195,5,5,90,203,5,5,45,211,5,5,91,203,5,5,92,203,5,5,93,203,5,5,46,211,5,5,94,203,5,5,95,203,5,5,96,203,5,5,97,203,5,5,98,203,5,5,99,203,5,5,47,211,5,5,100,203,5,5,101,203,5,5,102,203,5,5,103,203,5,5,48,211,5,5,104,203,5,5,105,203,5,5,49,211,5,5,106,203,5,5,107,203,5,5,108,203,5,5,50,211,5,5,109,203,5,5,51,211,5,5,52,211,5,5,110,203,5,5,111,203,5,5,112,203,5,5,113,203,5,5,53,211,5,5,54,211,5,5,114,203,5,5,115,203,5,5,55,211,5,5,116,203,5,5,117,203,5,5,118,203,5,5,119,203,5,5,56,211,5,5,120,203,5,5,58,211,5,5,59,211,5,5,60,211,5,5,20,218,5,5,61,211,5,5,21,218,5,5,62,211,5,5,22,218,5,5,63,211,5,5,64,211,5,5,23,218,5,5,24,218,5,5,65,211,5,5,66,211,5,5,67,211,5,5,68,211,5,5,69,211,5,5,70,211,5,5,25,218,5,5,71,211,5,5,26,218,5,5,27,218,5,5,103,195,5,5,72,211,5,5,73,211,5,5,28,218,5,5,74,211,5,5,42,218,5,5,29,218,5,5,75,211,5,5,30,218,5,5,76,211,5,5,77,211,5,5,78,211,5,5,79,211,5,5,80,211,5,5,31,218,5,5,81,211,5,5,32,218,5,5,33,218,5,5,82,211,5,5,83,211,5,5,34,218,5,5,84,211,5,5,35,218,5,5,36,218,5,5,85,211,5,5,86,211,5,5,37,218,5,5,38,218,5,5,39,218,5,5,40,218,5,5,87,211,5,5,41,218,5,5,88,211,5,5,43,218,5,5,222,224,5,5,44,218,5,5,223,224,5,5,45,218,5,5,46,218,5,5,47,218,5,5,48,218,5,5,224,224,5,5,49,218,5,5,50,218,5,5,51,218,5,5,52,218,5,5,225,224,5,5,226,224,5,5,53,218,5,5,227,224,5,5,54,218,5,5,55,218,5,5,56,218,5,5,228,224,5,5,57,218,5,5,58,218,5,5,229,224,5,5,59,218,5,5,60,218,5,5,61,218,5,5,62,218,5,5,230,224,5,5,63,218,5,5,64,218,5,5,231,224,5,5,232,224,5,5,65,218,5,5,66,218,5,5,67,218,5,5,68,218,5,5,69,218,5,5,70,218,5,5,71,218,5,5,72,218,5,5,233,224,5,5,73,218,5,5,234,224,5,5,182,230,5,5,235,224,5,5,236,224,5,5,237,224,5,5,238,224,5,5,239,224,5,5,7,225,5,5,183,230,5,5,240,224,5,5,241,224,5,5,242,224,5,5,243,224,5,5,244,224,5,5,184,230,5,5,185,230,5,5,245,224,5,5,246,224,5,5,247,224,5,5,186,230,5,5,248,224,5,5,187,230,5,5,249,224,5,5,188,230,5,5,250,224,5,5,251,224,5,5,252,224,5,5,253,224,5,5,254,224,5,5,189,230,5,5,255,224,5,5,2,225,5,5,3,225,5,5,98,235,5,5,99,235,5,5,190,230,5,5,100,235,5,5,191,230,5,5,192,230,5,5,193,230,5,5,194,230,5,5,195,230,5,5,196,230,5,5,101,235,5,5,197,230,5,5,198,230,5,5,199,230,5,5,102,235,5,5,200,230,5,5,201,230,5,5,202,230,5,5,203,230,5,5,204,230,5,5,104,235,5,5,105,235,5,5,106,235,5,5,28,239,5,5,107,235,5,5,108,235,5,5,29,239,5,5,109,235,5,5,110,235,5,5,30,239,5,5,111,235,5,5,112,235,5,5,31,239,5,5,32,239,5,5,33,239,5,5,75,242,5,5,77,242,5,5,78,242,5,5,36,239,5,5,192,244,5,5,193,244,5,5,194,244,5,5,124,246,5,5,193,247,5,5,194,247,5,5,125,246,5,5,195,247,5,5,196,247,5,5,105,249,5,5,106,249,5,5,86,250,5,5,50,158,5,5,94,159,5,5,95,159,5,5,96,159,5,5,36,161,5,5,37,161,5,5,38,161,5,5,39,161,5,5,40,161,5,5,12,164,5,5,13,164,5,5,14,164,5,5,84,168,5,5,85,168,5,5,86,168,5,5,87,168,5,5,170,173,5,5,24,180,5,5,163,187,5,5,164,187,5,5,165,187,5,5,166,187,5,5,110,195,5,5,111,195,5,5,126,203,5,5,127,203,5,5,128,203,5,5,129,203,5,5,130,203,5,5,131,203,5,5,125,203,5,5,91,211,5,5,92,211,5,5,93,211,5,5,94,211,5,5,95,211,5,5,96,211,5,5,80,218,5,5,81,218,5,5,82,218,5,5,9,225,5,5,8,225,5,5,206,230,5,5,114,235,5,5,207,230,5,5,128,246,5,5,51,158,5,5,52,158,5,5,53,158,5,5,97,159,5,5,16,164,5,5,17,164,5,5,18,164,5,5,88,168,5,5,89,168,5,5,90,168,5,5,91,168,5,5,171,173,5,5,172,173,5,5,173,173,5,5,25,180,5,5,26,180,5,5,27,180,5,5,28,180,5,5,167,187,5,5,113,195,5,5,114,195,5,5,54,158,5,5,146,157,5,5,147,157,5,5,55,158,5,5,105,159,5,5,98,159,5,5,99,159,5,5,100,159,5,5,101,159,5,5,102,159,5,5,103,159,5,5,104,159,5,5,41,161,5,5,42,161,5,5,43,161,5,5,44,161,5,5,45,161,5,5,46,161,5,5,47,161,5,5,48,161,5,5,62,161,5,5,49,161,5,5,50,161,5,5,51,161,5,5,52,161,5,5,53,161,5,5,54,161,5,5,55,161,5,5,56,161,5,5,57,161,5,5,58,161,5,5,59,161,5,5,60,161,5,5,61,161,5,5,19,164,5,5,20,164,5,5,21,164,5,5,22,164,5,5,23,164,5,5,24,164,5,5,25,164,5,5,26,164,5,5,27,164,5,5,28,164,5,5,29,164,5,5,75,164,5,5,30,164,5,5,31,164,5,5,32,164,5,5,33,164,5,5,34,164,5,5,35,164,5,5,92,168,5,5,36,164,5,5,37,164,5,5,38,164,5,5,39,164,5,5,40,164,5,5,41,164,5,5,42,164,5,5,43,164,5,5,44,164,5,5,45,164,5,5,46,164,5,5,47,164,5,5,48,164,5,5,49,164,5,5,50,164,5,5,51,164,5,5,52,164,5,5,53,164,5,5,54,164,5,5,55,164,5,5,56,164,5,5,57,164,5,5,58,164,5,5,59,164,5,5,60,164,5,5,61,164,5,5,62,164,5,5,63,164,5,5,64,164,5,5,65,164,5,5,66,164,5,5,67,164,5,5,68,164,5,5,69,164,5,5,70,164,5,5,71,164,5,5,72,164,5,5,73,164,5,5,93,168,5,5,94,168,5,5,95,168,5,5,96,168,5,5,97,168,5,5,98,168,5,5,99,168,5,5,100,168,5,5,101,168,5,5,102,168,5,5,103,168,5,5,104,168,5,5,105,168,5,5,106,168,5,5,107,168,5,5,108,168,5,5,109,168,5,5,110,168,5,5,111,168,5,5,112,168,5,5,113,168,5,5,114,168,5,5,115,168,5,5,116,168,5,5,117,168,5,5,118,168,5,5,119,168,5,5,120,168,5,5,121,168,5,5,122,168,5,5,123,168,5,5,124,168,5,5,125,168,5,5,126,168,5,5,127,168,5,5,128,168,5,5,129,168,5,5,130,168,5,5,131,168,5,5,132,168,5,5,133,168,5,5,174,173,5,5,134,168,5,5,135,168,5,5,136,168,5,5,137,168,5,5,138,168,5,5,139,168,5,5,140,168,5,5,141,168,5,5,142,168,5,5,143,168,5,5,144,168,5,5,145,168,5,5,175,173,5,5,146,168,5,5,147,168,5,5,148,168,5,5,149,168,5,5,150,168,5,5,151,168,5,5,152,168,5,5,153,168,5,5,154,168,5,5,155,168,5,5,156,168,5,5,157,168,5,5,158,168,5,5,177,173,5,5,178,173,5,5,179,173,5,5,180,173,5,5,181,173,5,5,182,173,5,5,183,173,5,5,184,173,5,5,29,180,5,5,30,180,5,5,185,173,5,5,186,173,5,5,187,173,5,5,188,173,5,5,189,173,5,5,190,173,5,5,191,173,5,5,192,173,5,5,193,173,5,5,194,173,5,5,195,173,5,5,31,180,5,5,196,173,5,5,197,173,5,5,198,173,5,5,199,173,5,5,200,173,5,5,201,173,5,5,202,173,5,5,203,173,5,5,32,180,5,5,204,173,5,5,205,173,5,5,206,173,5,5,207,173,5,5,208,173,5,5,209,173,5,5,210,173,5,5,33,180,5,5,211,173,5,5,212,173,5,5,213,173,5,5,214,173,5,5,215,173,5,5,216,173,5,5,217,173,5,5,218,173,5,5,34,180,5,5,35,180,5,5,36,180,5,5,219,173,5,5,220,173,5,5,221,173,5,5,222,173,5,5,223,173,5,5,224,173,5,5,225,173,5,5,226,173,5,5,227,173,5,5,228,173,5,5,229,173,5,5,230,173,5,5,38,180,5,5,39,180,5,5,40,180,5,5,41,180,5,5,42,180,5,5,43,180,5,5,44,180,5,5,45,180,5,5,46,180,5,5,47,180,5,5,168,187,5,5,48,180,5,5,49,180,5,5,50,180,5,5,51,180,5,5,52,180,5,5,53,180,5,5,54,180,5,5,55,180,5,5,169,187,5,5,56,180,5,5,57,180,5,5,58,180,5,5,59,180,5,5,60,180,5,5,61,180,5,5,62,180,5,5,63,180,5,5,64,180,5,5,65,180,5,5,66,180,5,5,67,180,5,5,68,180,5,5,69,180,5,5,70,180,5,5,71,180,5,5,72,180,5,5,73,180,5,5,74,180,5,5,75,180,5,5,76,180,5,5,77,180,5,5,78,180,5,5,79,180,5,5,80,180,5,5,81,180,5,5,82,180,5,5,83,180,5,5,84,180,5,5,85,180,5,5,86,180,5,5,87,180,5,5,88,180,5,5,89,180,5,5,90,180,5,5,91,180,5,5,92,180,5,5,93,180,5,5,94,180,5,5,95,180,5,5,96,180,5,5,170,187,5,5,171,187,5,5,172,187,5,5,173,187,5,5,174,187,5,5,175,187,5,5,176,187,5,5,177,187,5,5,178,187,5,5,179,187,5,5,180,187,5,5,181,187,5,5,182,187,5,5,183,187,5,5,184,187,5,5,185,187,5,5,186,187,5,5,187,187,5,5,188,187,5,5,189,187,5,5,190,187,5,5,191,187,5,5,192,187,5,5,193,187,5,5,194,187,5,5,195,187,5,5,196,187,5,5,197,187,5,5,198,187,5,5,199,187,5,5,200,187,5,5,201,187,5,5,202,187,5,5,203,187,5,5,204,187,5,5,205,187,5,5,206,187,5,5,207,187,5,5,208,187,5,5,115,195,5,5,209,187,5,5,210,187,5,5,211,187,5,5,212,187,5,5,213,187,5,5,214,187,5,5,215,187,5,5,116,195,5,5,216,187,5,5,217,187,5,5,218,187,5,5,219,187,5,5,220,187,5,5,221,187,5,5,222,187,5,5,223,187,5,5,224,187,5,5,225,187,5,5,226,187,5,5,227,187,5,5,228,187,5,5,229,187,5,5,117,195,5,5,230,187,5,5,231,187,5,5,232,187,5,5,233,187,5,5,234,187,5,5,235,187,5,5,236,187,5,5,237,187,5,5,238,187,5,5,239,187,5,5,240,187,5,5,241,187,5,5,118,195,5,5,119,195,5,5,9,188,5,5,242,187,5,5,243,187,5,5,244,187,5,5,245,187,5,5,246,187,5,5,247,187,5,5,248,187,5,5,249,187,5,5,250,187,5,5,251,187,5,5,252,187,5,5,120,195,5,5,121,195,5,5,122,195,5,5,123,195,5,5,124,195,5,5,125,195,5,5,126,195,5,5,210,203,5,5,127,195,5,5,128,195,5,5,129,195,5,5,130,195,5,5,131,195,5,5,132,195,5,5,133,195,5,5,134,195,5,5,135,195,5,5,136,195,5,5,137,195,5,5,138,195,5,5,139,195,5,5,140,195,5,5,141,195,5,5,142,195,5,5,143,195,5,5,144,195,5,5,145,195,5,5,146,195,5,5,147,195,5,5,148,195,5,5,149,195,5,5,150,195,5,5,151,195,5,5,152,195,5,5,153,195,5,5,154,195,5,5,155,195,5,5,156,195,5,5,101,180,5,5,157,195,5,5,158,195,5,5,132,203,5,5,159,195,5,5,160,195,5,5,161,195,5,5,133,203,5,5,162,195,5,5,163,195,5,5,164,195,5,5,165,195,5,5,166,195,5,5,134,203,5,5,167,195,5,5,168,195,5,5,169,195,5,5,170,195,5,5,171,195,5,5,172,195,5,5,173,195,5,5,174,195,5,5,175,195,5,5,176,195,5,5,177,195,5,5,178,195,5,5,179,195,5,5,180,195,5,5,181,195,5,5,182,195,5,5,183,195,5,5,184,195,5,5,185,195,5,5,186,195,5,5,135,203,5,5,136,203,5,5,137,203,5,5,138,203,5,5,139,203,5,5,140,203,5,5,141,203,5,5,142,203,5,5,143,203,5,5,144,203,5,5,145,203,5,5,146,203,5,5,147,203,5,5,148,203,5,5,149,203,5,5,150,203,5,5,151,203,5,5,152,203,5,5,153,203,5,5,154,203,5,5,155,203,5,5,156,203,5,5,157,203,5,5,158,203,5,5,159,203,5,5,160,203,5,5,161,203,5,5,162,203,5,5,163,203,5,5,164,203,5,5,165,203,5,5,166,203,5,5,167,203,5,5,168,203,5,5,169,203,5,5,170,203,5,5,171,203,5,5,97,211,5,5,172,203,5,5,173,203,5,5,174,203,5,5,175,203,5,5,176,203,5,5,211,203,5,5,177,203,5,5,178,203,5,5,98,211,5,5,179,203,5,5,180,203,5,5,181,203,5,5,182,203,5,5,183,203,5,5,184,203,5,5,99,211,5,5,185,203,5,5,186,203,5,5,187,203,5,5,100,211,5,5,188,203,5,5,189,203,5,5,190,203,5,5,191,203,5,5,192,203,5,5,193,203,5,5,194,203,5,5,195,203,5,5,196,203,5,5,197,203,5,5,198,203,5,5,101,211,5,5,102,211,5,5,103,211,5,5,104,211,5,5,105,211,5,5,106,211,5,5,107,211,5,5,187,195,5,5,108,211,5,5,109,211,5,5,110,211,5,5,166,211,5,5,111,211,5,5,112,211,5,5,113,211,5,5,114,211,5,5,115,211,5,5,116,211,5,5,117,211,5,5,118,211,5,5,119,211,5,5,120,211,5,5,196,195,5,5,121,211,5,5,122,211,5,5,123,211,5,5,124,211,5,5,125,211,5,5,126,211,5,5,83,218,5,5,84,218,5,5,127,211,5,5,128,211,5,5,129,211,5,5,130,211,5,5,85,218,5,5,86,218,5,5,87,218,5,5,131,211,5,5,132,211,5,5,133,211,5,5,134,211,5,5,135,211,5,5,136,211,5,5,137,211,5,5,138,211,5,5,88,218,5,5,139,211,5,5,140,211,5,5,141,211,5,5,142,211,5,5,143,211,5,5,144,211,5,5,89,218,5,5,145,211,5,5,146,211,5,5,90,218,5,5,147,211,5,5,92,218,5,5,93,218,5,5,148,211,5,5,94,218,5,5,10,225,5,5,95,218,5,5,96,218,5,5,97,218,5,5,98,218,5,5,99,218,5,5,100,218,5,5,101,218,5,5,102,218,5,5,103,218,5,5,104,218,5,5,105,218,5,5,106,218,5,5,107,218,5,5,108,218,5,5,109,218,5,5,110,218,5,5,111,218,5,5,112,218,5,5,113,218,5,5,114,218,5,5,115,218,5,5,116,218,5,5,117,218,5,5,118,218,5,5,119,218,5,5,120,218,5,5,121,218,5,5,122,218,5,5,167,211,5,5,123,218,5,5,124,218,5,5,125,218,5,5,126,218,5,5,127,218,5,5,128,218,5,5,129,218,5,5,130,218,5,5,131,218,5,5,132,218,5,5,133,218,5,5,134,218,5,5,135,218,5,5,136,218,5,5,137,218,5,5,138,218,5,5,139,218,5,5,140,218,5,5,141,218,5,5,142,218,5,5,11,225,5,5,12,225,5,5,13,225,5,5,14,225,5,5,15,225,5,5,16,225,5,5,17,225,5,5,18,225,5,5,19,225,5,5,20,225,5,5,21,225,5,5,143,218,5,5,22,225,5,5,23,225,5,5,24,225,5,5,208,230,5,5,25,225,5,5,26,225,5,5,27,225,5,5,209,230,5,5,28,225,5,5,29,225,5,5,30,225,5,5,31,225,5,5,32,225,5,5,33,225,5,5,34,225,5,5,35,225,5,5,36,225,5,5,210,230,5,5,37,225,5,5,38,225,5,5,39,225,5,5,40,225,5,5,41,225,5,5,42,225,5,5,211,230,5,5,212,230,5,5,213,230,5,5,214,230,5,5,215,230,5,5,216,230,5,5,117,235,5,5,217,230,5,5,115,235,5,5,218,230,5,5,219,230,5,5,116,235,5,5,220,230,5,5,221,230,5,5,222,230,5,5,223,230,5,5,224,230,5,5,225,230,5,5,226,230,5,5,118,235,5,5,52,225,5,5,119,235,5,5,120,235,5,5,121,235,5,5,122,235,5,5,123,235,5,5,124,235,5,5,125,235,5,5,126,235,5,5,127,235,5,5,128,235,5,5,129,235,5,5,130,235,5,5,37,239,5,5,131,235,5,5,132,235,5,5,133,235,5,5,134,235,5,5,135,235,5,5,136,235,5,5,38,239,5,5,39,239,5,5,40,239,5,5,41,239,5,5,42,239,5,5,43,239,5,5,44,239,5,5,45,239,5,5,46,239,5,5,47,239,5,5,195,244,5,5,48,239,5,5,80,242,5,5,81,242,5,5,82,242,5,5,83,242,5,5,84,242,5,5,85,242,5,5,86,242,5,5,87,242,5,5,196,244,5,5,197,244,5,5,198,244,5,5,129,246,5,5,130,246,5,5,131,246,5,5,132,246,5,5,133,246,5,5,197,247,5,5,134,246,5,5,198,247,5,5,135,246,5,5,136,246,5,5,199,247,5,5,200,247,5,5,201,247,5,5,202,247,5,5,195,248,5,5,196,248,5,5,107,249,5,5,57,158,5,5,63,161,5,5,239,173,5,5,197,195,5,5,53,225,5,5,58,158,5,5,59,158,5,5,64,161,5,5,65,161,5,5,76,164,5,5,77,164,5,5,78,164,5,5,79,164,5,5,80,164,5,5,169,168,5,5,170,168,5,5,240,173,5,5,241,173,5,5,242,173,5,5,243,173,5,5,244,173,5,5,245,173,5,5,246,173,5,5,102,180,5,5,103,180,5,5,104,180,5,5,105,180,5,5,106,180,5,5,107,180,5,5,108,180,5,5,11,188,5,5,12,188,5,5,13,188,5,5,14,188,5,5,15,188,5,5,16,188,5,5,17,188,5,5,18,188,5,5,19,188,5,5,20,188,5,5,21,188,5,5,22,188,5,5,23,188,5,5,24,188,5,5,25,188,5,5,198,195,5,5,31,188,5,5,199,195,5,5,200,195,5,5,201,195,5,5,202,195,5,5,203,195,5,5,204,195,5,5,205,195,5,5,206,195,5,5,207,195,5,5,208,195,5,5,209,195,5,5,210,195,5,5,211,195,5,5,213,203,5,5,214,203,5,5,212,203,5,5,215,203,5,5,216,203,5,5,217,203,5,5,168,211,5,5,169,211,5,5,170,211,5,5,54,225,5,5,148,218,5,5,149,218,5,5,150,218,5,5,151,218,5,5,152,218,5,5,153,218,5,5,154,218,5,5,55,225,5,5,56,225,5,5,57,225,5,5,58,225,5,5,230,230,5,5,231,230,5,5,232,230,5,5,233,230,5,5,51,239,5,5,89,242,5,5,90,242,5,5,60,158,5,5,82,164,5,5,172,168,5,5,113,180,5,5,114,180,5,5,216,195,5,5,32,188,5,5,33,188,5,5,34,188,5,5,217,195,5,5,218,195,5,5,218,203,5,5,60,225,5,5,144,235,5,5,200,244,5,5,204,247,5,5,61,158,5,5,83,164,5,5,115,180,5,5,116,180,5,5,35,188,5,5,36,188,5,5,219,195,5,5,223,195,5,5,220,203,5,5,171,211,5,5,172,211,5,5,61,225,5,5,234,230,5,5,62,158,5,5,106,159,5,5,174,168,5,5,175,168,5,5,176,168,5,5,177,168,5,5,250,173,5,5,251,173,5,5,37,188,5,5,38,188,5,5,224,195,5,5,225,195,5,5,221,203,5,5,227,195,5,5,173,211,5,5,156,218,5,5,62,225,5,5,235,230,5,5,236,230,5,5,146,235,5,5,108,249,5,5,63,158,5,5,178,168,5,5,179,168,5,5,180,168,5,5,254,173,5,5,255,173,5,5,2,174,5,5,3,174,5,5,117,180,5,5,118,180,5,5,119,180,5,5,120,180,5,5,121,180,5,5,122,180,5,5,39,188,5,5,40,188,5,5,41,188,5,5,123,180,5,5,42,188,5,5,43,188,5,5,44,188,5,5,45,188,5,5,46,188,5,5,228,195,5,5,229,195,5,5,222,203,5,5,223,203,5,5,224,203,5,5,225,203,5,5,175,211,5,5,176,211,5,5,63,225,5,5,64,225,5,5,237,230,5,5,147,235,5,5,52,239,5,5,53,239,5,5,54,239,5,5,91,242,5,5,64,158,5,5,65,158,5,5,5,174,5,5,48,188,5,5,226,203,5,5,67,158,5,5,107,159,5,5,108,159,5,5,66,161,5,5,67,161,5,5,68,161,5,5,69,161,5,5,70,161,5,5,71,161,5,5,72,161,5,5,73,161,5,5,84,164,5,5,85,164,5,5,86,164,5,5,87,164,5,5,88,164,5,5,89,164,5,5,90,164,5,5,91,164,5,5,92,164,5,5,182,168,5,5,183,168,5,5,184,168,5,5,185,168,5,5,186,168,5,5,187,168,5,5,188,168,5,5,189,168,5,5,190,168,5,5,191,168,5,5,192,168,5,5,193,168,5,5,194,168,5,5,195,168,5,5,196,168,5,5,197,168,5,5,198,168,5,5,199,168,5,5,200,168,5,5,201,168,5,5,202,168,5,5,203,168,5,5,204,168,5,5,205,168,5,5,206,168,5,5,207,168,5,5,208,168,5,5,209,168,5,5,210,168,5,5,211,168,5,5,212,168,5,5,213,168,5,5,214,168,5,5,6,174,5,5,7,174,5,5,8,174,5,5,9,174,5,5,10,174,5,5,11,174,5,5,12,174,5,5,13,174,5,5,14,174,5,5,15,174,5,5,16,174,5,5,17,174,5,5,18,174,5,5,19,174,5,5,20,174,5,5,21,174,5,5,22,174,5,5,23,174,5,5,24,174,5,5,25,174,5,5,26,174,5,5,27,174,5,5,28,174,5,5,29,174,5,5,30,174,5,5,31,174,5,5,32,174,5,5,33,174,5,5,34,174,5,5,35,174,5,5,36,174,5,5,37,174,5,5,38,174,5,5,39,174,5,5,40,174,5,5,41,174,5,5,42,174,5,5,43,174,5,5,125,180,5,5,126,180,5,5,127,180,5,5,128,180,5,5,129,180,5,5,130,180,5,5,131,180,5,5,132,180,5,5,133,180,5,5,134,180,5,5,135,180,5,5,136,180,5,5,137,180,5,5,138,180,5,5,139,180,5,5,140,180,5,5,141,180,5,5,142,180,5,5,143,180,5,5,144,180,5,5,145,180,5,5,146,180,5,5,147,180,5,5,50,188,5,5,51,188,5,5,52,188,5,5,53,188,5,5,54,188,5,5,55,188,5,5,56,188,5,5,57,188,5,5,150,180,5,5,151,180,5,5,58,188,5,5,59,188,5,5,60,188,5,5,61,188,5,5,62,188,5,5,63,188,5,5,64,188,5,5,65,188,5,5,66,188,5,5,231,195,5,5,232,195,5,5,233,195,5,5,234,195,5,5,235,195,5,5,236,195,5,5,237,195,5,5,238,195,5,5,239,195,5,5,240,195,5,5,241,195,5,5,242,195,5,5,243,195,5,5,244,195,5,5,227,203,5,5,245,195,5,5,246,195,5,5,247,195,5,5,248,195,5,5,249,195,5,5,250,195,5,5,251,195,5,5,252,195,5,5,253,195,5,5,254,195,5,5,255,195,5,5,228,203,5,5,229,203,5,5,230,203,5,5,231,203,5,5,232,203,5,5,233,203,5,5,234,203,5,5,235,203,5,5,236,203,5,5,237,203,5,5,238,203,5,5,239,203,5,5,240,203,5,5,2,196,5,5,241,203,5,5,242,203,5,5,243,203,5,5,244,203,5,5,245,203,5,5,246,203,5,5,247,203,5,5,248,203,5,5,177,211,5,5,178,211,5,5,179,211,5,5,180,211,5,5,181,211,5,5,182,211,5,5,183,211,5,5,184,211,5,5,185,211,5,5,186,211,5,5,187,211,5,5,188,211,5,5,189,211,5,5,190,211,5,5,191,211,5,5,158,218,5,5,159,218,5,5,160,218,5,5,161,218,5,5,162,218,5,5,163,218,5,5,164,218,5,5,165,218,5,5,166,218,5,5,167,218,5,5,168,218,5,5,169,218,5,5,170,218,5,5,171,218,5,5,172,218,5,5,65,225,5,5,66,225,5,5,67,225,5,5,68,225,5,5,181,218,5,5,69,225,5,5,70,225,5,5,71,225,5,5,72,225,5,5,73,225,5,5,74,225,5,5,75,225,5,5,76,225,5,5,77,225,5,5,78,225,5,5,79,225,5,5,80,225,5,5,81,225,5,5,82,225,5,5,83,225,5,5,84,225,5,5,85,225,5,5,238,230,5,5,100,225,5,5,239,230,5,5,240,230,5,5,241,230,5,5,242,230,5,5,243,230,5,5,244,230,5,5,245,230,5,5,246,230,5,5,148,235,5,5,252,230,5,5,247,230,5,5,149,235,5,5,150,235,5,5,55,239,5,5,56,239,5,5,57,239,5,5,58,239,5,5,59,239,5,5,60,239,5,5,92,242,5,5,93,242,5,5,94,242,5,5,95,242,5,5,96,242,5,5,97,242,5,5,201,244,5,5,205,247,5,5,206,247,5,5,207,247,5,5,197,248,5,5,198,248,5,5,109,249,5,5,68,158,5,5,110,159,5,5,74,161,5,5,75,161,5,5,93,164,5,5,94,164,5,5,215,168,5,5,48,174,5,5,152,180,5,5,73,188,5,5,153,180,5,5,154,180,5,5,74,188,5,5,67,188,5,5,11,196,5,5,12,196,5,5,165,193,5,5,13,196,5,5,14,196,5,5,13,204,5,5,199,211,5,5,200,211,5,5,101,225,5,5,203,244,5,5,70,158,5,5,77,161,5,5,216,168,5,5,217,168,5,5,218,168,5,5,219,168,5,5,49,174,5,5,50,174,5,5,51,174,5,5,128,176,5,5,155,180,5,5,156,180,5,5,157,180,5,5,158,180,5,5,75,188,5,5,161,180,5,5,76,188,5,5,77,188,5,5,78,188,5,5,79,188,5,5,15,196,5,5,16,196,5,5,17,196,5,5,18,196,5,5,14,204,5,5,221,206,5,5,201,211,5,5,103,225,5,5,104,225,5,5,105,227,5,5,159,235,5,5,100,242,5,5,71,158,5,5,72,158,5,5,111,159,5,5,112,159,5,5,113,159,5,5,114,159,5,5,115,159,5,5,116,159,5,5,117,159,5,5,78,161,5,5,79,161,5,5,80,161,5,5,81,161,5,5,82,161,5,5,83,161,5,5,84,161,5,5,85,161,5,5,86,161,5,5,87,161,5,5,88,161,5,5,89,161,5,5,90,161,5,5,91,161,5,5,92,161,5,5,93,161,5,5,94,161,5,5,95,161,5,5,96,161,5,5,95,164,5,5,96,164,5,5,97,164,5,5,98,164,5,5,99,164,5,5,100,164,5,5,101,164,5,5,102,164,5,5,103,164,5,5,104,164,5,5,105,164,5,5,106,164,5,5,107,164,5,5,108,164,5,5,109,164,5,5,110,164,5,5,111,164,5,5,112,164,5,5,113,164,5,5,114,164,5,5,115,164,5,5,116,164,5,5,117,164,5,5,118,164,5,5,119,164,5,5,120,164,5,5,121,164,5,5,122,164,5,5,123,164,5,5,124,164,5,5,125,164,5,5,126,164,5,5,127,164,5,5,128,164,5,5,129,164,5,5,130,164,5,5,131,164,5,5,132,164,5,5,221,168,5,5,222,168,5,5,223,168,5,5,224,168,5,5,225,168,5,5,226,168,5,5,227,168,5,5,228,168,5,5,229,168,5,5,230,168,5,5,231,168,5,5,232,168,5,5,233,168,5,5,234,168,5,5,235,168,5,5,236,168,5,5,237,168,5,5,238,168,5,5,239,168,5,5,240,168,5,5,241,168,5,5,242,168,5,5,243,168,5,5,133,164,5,5,244,168,5,5,245,168,5,5,246,168,5,5,247,168,5,5,248,168,5,5,249,168,5,5,250,168,5,5,251,168,5,5,252,168,5,5,253,168,5,5,254,168,5,5,255,168,5,5,2,169,5,5,3,169,5,5,4,169,5,5,5,169,5,5,6,169,5,5,7,169,5,5,8,169,5,5,9,169,5,5,10,169,5,5,11,169,5,5,12,169,5,5,13,169,5,5,14,169,5,5,15,169,5,5,16,169,5,5,17,169,5,5,18,169,5,5,19,169,5,5,20,169,5,5,21,169,5,5,22,169,5,5,23,169,5,5,24,169,5,5,25,169,5,5,26,169,5,5,27,169,5,5,28,169,5,5,29,169,5,5,30,169,5,5,31,169,5,5,32,169,5,5,33,169,5,5,52,174,5,5,53,174,5,5,54,174,5,5,55,174,5,5,56,174,5,5,57,174,5,5,58,174,5,5,59,174,5,5,60,174,5,5,61,174,5,5,62,174,5,5,63,174,5,5,64,174,5,5,65,174,5,5,66,174,5,5,162,180,5,5,67,174,5,5,68,174,5,5,69,174,5,5,70,174,5,5,71,174,5,5,72,174,5,5,73,174,5,5,74,174,5,5,75,174,5,5,76,174,5,5,77,174,5,5,78,174,5,5,79,174,5,5,80,174,5,5,81,174,5,5,82,174,5,5,83,174,5,5,84,174,5,5,85,174,5,5,86,174,5,5,87,174,5,5,88,174,5,5,89,174,5,5,90,174,5,5,91,174,5,5,92,174,5,5,93,174,5,5,94,174,5,5,95,174,5,5,96,174,5,5,97,174,5,5,98,174,5,5,99,174,5,5,100,174,5,5,101,174,5,5,163,180,5,5,102,174,5,5,103,174,5,5,104,174,5,5,105,174,5,5,106,174,5,5,107,174,5,5,108,174,5,5,109,174,5,5,110,174,5,5,111,174,5,5,112,174,5,5,113,174,5,5,114,174,5,5,115,174,5,5,116,174,5,5,117,174,5,5,118,174,5,5,119,174,5,5,164,180,5,5,120,174,5,5,121,174,5,5,122,174,5,5,123,174,5,5,52,169,5,5,124,174,5,5,125,174,5,5,126,174,5,5,127,174,5,5,128,174,5,5,129,174,5,5,130,174,5,5,131,174,5,5,132,174,5,5,133,174,5,5,134,174,5,5,135,174,5,5,136,174,5,5,137,174,5,5,138,174,5,5,139,174,5,5,140,174,5,5,141,174,5,5,142,174,5,5,143,174,5,5,144,174,5,5,145,174,5,5,146,174,5,5,147,174,5,5,165,180,5,5,166,180,5,5,167,180,5,5,168,180,5,5,169,180,5,5,170,180,5,5,171,180,5,5,172,180,5,5,173,180,5,5,174,180,5,5,175,180,5,5,176,180,5,5,177,180,5,5,178,180,5,5,179,180,5,5,180,180,5,5,181,180,5,5,182,180,5,5,183,180,5,5,184,180,5,5,185,180,5,5,186,180,5,5,187,180,5,5,188,180,5,5,189,180,5,5,190,180,5,5,191,180,5,5,192,180,5,5,193,180,5,5,194,180,5,5,195,180,5,5,196,180,5,5,197,180,5,5,198,180,5,5,199,180,5,5,200,180,5,5,201,180,5,5,202,180,5,5,203,180,5,5,204,180,5,5,205,180,5,5,206,180,5,5,207,180,5,5,208,180,5,5,209,180,5,5,210,180,5,5,211,180,5,5,212,180,5,5,213,180,5,5,214,180,5,5,215,180,5,5,216,180,5,5,217,180,5,5,218,180,5,5,219,180,5,5,220,180,5,5,221,180,5,5,222,180,5,5,223,180,5,5,224,180,5,5,225,180,5,5,226,180,5,5,227,180,5,5,228,180,5,5,155,174,5,5,229,180,5,5,230,180,5,5,231,180,5,5,232,180,5,5,233,180,5,5,234,180,5,5,235,180,5,5,236,180,5,5,237,180,5,5,238,180,5,5,239,180,5,5,240,180,5,5,241,180,5,5,242,180,5,5,243,180,5,5,244,180,5,5,245,180,5,5,246,180,5,5,247,180,5,5,248,180,5,5,249,180,5,5,250,180,5,5,251,180,5,5,252,180,5,5,82,188,5,5,83,188,5,5,84,188,5,5,85,188,5,5,86,188,5,5,87,188,5,5,88,188,5,5,89,188,5,5,90,188,5,5,91,188,5,5,92,188,5,5,93,188,5,5,94,188,5,5,95,188,5,5,96,188,5,5,97,188,5,5,98,188,5,5,99,188,5,5,100,188,5,5,101,188,5,5,102,188,5,5,103,188,5,5,104,188,5,5,105,188,5,5,106,188,5,5,107,188,5,5,108,188,5,5,109,188,5,5,110,188,5,5,111,188,5,5,112,188,5,5,113,188,5,5,114,188,5,5,115,188,5,5,116,188,5,5,117,188,5,5,118,188,5,5,119,188,5,5,120,188,5,5,121,188,5,5,122,188,5,5,123,188,5,5,124,188,5,5,125,188,5,5,126,188,5,5,127,188,5,5,128,188,5,5,129,188,5,5,130,188,5,5,131,188,5,5,132,188,5,5,133,188,5,5,134,188,5,5,135,188,5,5,136,188,5,5,137,188,5,5,138,188,5,5,139,188,5,5,140,188,5,5,141,188,5,5,142,188,5,5,143,188,5,5,144,188,5,5,145,188,5,5,146,188,5,5,147,188,5,5,148,188,5,5,149,188,5,5,150,188,5,5,151,188,5,5,152,188,5,5,153,188,5,5,154,188,5,5,20,196,5,5,155,188,5,5,156,188,5,5,157,188,5,5,158,188,5,5,159,188,5,5,160,188,5,5,161,188,5,5,162,188,5,5,163,188,5,5,164,188,5,5,165,188,5,5,166,188,5,5,167,188,5,5,168,188,5,5,21,196,5,5,22,196,5,5,23,196,5,5,24,196,5,5,25,196,5,5,26,196,5,5,27,196,5,5,28,196,5,5,29,196,5,5,30,196,5,5,31,196,5,5,32,196,5,5,33,196,5,5,34,196,5,5,35,196,5,5,36,196,5,5,37,196,5,5,38,196,5,5,39,196,5,5,40,196,5,5,41,196,5,5,42,196,5,5,43,196,5,5,44,196,5,5,45,196,5,5,46,196,5,5,47,196,5,5,48,196,5,5,49,196,5,5,50,196,5,5,51,196,5,5,52,196,5,5,53,196,5,5,54,196,5,5,55,196,5,5,56,196,5,5,57,196,5,5,58,196,5,5,59,196,5,5,60,196,5,5,61,196,5,5,62,196,5,5,63,196,5,5,64,196,5,5,65,196,5,5,66,196,5,5,67,196,5,5,68,196,5,5,69,196,5,5,70,196,5,5,71,196,5,5,72,196,5,5,73,196,5,5,74,196,5,5,75,196,5,5,76,196,5,5,77,196,5,5,78,196,5,5,79,196,5,5,80,196,5,5,81,196,5,5,82,196,5,5,83,196,5,5,84,196,5,5,85,196,5,5,86,196,5,5,87,196,5,5,88,196,5,5,89,196,5,5,90,196,5,5,91,196,5,5,92,196,5,5,93,196,5,5,94,196,5,5,95,196,5,5,96,196,5,5,97,196,5,5,98,196,5,5,99,196,5,5,100,196,5,5,101,196,5,5,102,196,5,5,103,196,5,5,104,196,5,5,105,196,5,5,106,196,5,5,107,196,5,5,108,196,5,5,109,196,5,5,110,196,5,5,111,196,5,5,112,196,5,5,113,196,5,5,114,196,5,5,115,196,5,5,116,196,5,5,117,196,5,5,118,196,5,5,119,196,5,5,120,196,5,5,121,196,5,5,122,196,5,5,123,196,5,5,124,196,5,5,125,196,5,5,126,196,5,5,127,196,5,5,128,196,5,5,16,204,5,5,17,204,5,5,18,204,5,5,19,204,5,5,20,204,5,5,21,204,5,5,22,204,5,5,23,204,5,5,24,204,5,5,25,204,5,5,26,204,5,5,27,204,5,5,28,204,5,5,29,204,5,5,30,204,5,5,31,204,5,5,32,204,5,5,33,204,5,5,34,204,5,5,35,204,5,5,36,204,5,5,37,204,5,5,38,204,5,5,39,204,5,5,40,204,5,5,41,204,5,5,42,204,5,5,43,204,5,5,44,204,5,5,45,204,5,5,46,204,5,5,47,204,5,5,48,204,5,5,49,204,5,5,50,204,5,5,51,204,5,5,52,204,5,5,53,204,5,5,54,204,5,5,184,188,5,5,55,204,5,5,56,204,5,5,57,204,5,5,58,204,5,5,59,204,5,5,60,204,5,5,61,204,5,5,62,204,5,5,63,204,5,5,64,204,5,5,65,204,5,5,66,204,5,5,67,204,5,5,68,204,5,5,69,204,5,5,70,204,5,5,71,204,5,5,72,204,5,5,73,204,5,5,74,204,5,5,75,204,5,5,76,204,5,5,77,204,5,5,142,196,5,5,78,204,5,5,143,196,5,5,79,204,5,5,80,204,5,5,81,204,5,5,82,204,5,5,83,204,5,5,84,204,5,5,85,204,5,5,86,204,5,5,87,204,5,5,88,204,5,5,89,204,5,5,90,204,5,5,91,204,5,5,92,204,5,5,93,204,5,5,94,204,5,5,95,204,5,5,96,204,5,5,97,204,5,5,98,204,5,5,99,204,5,5,100,204,5,5,101,204,5,5,102,204,5,5,103,204,5,5,203,211,5,5,104,204,5,5,105,204,5,5,204,211,5,5,205,211,5,5,206,211,5,5,207,211,5,5,208,211,5,5,209,211,5,5,210,211,5,5,106,204,5,5,211,211,5,5,212,211,5,5,213,211,5,5,107,204,5,5,214,211,5,5,215,211,5,5,216,211,5,5,217,211,5,5,218,211,5,5,219,211,5,5,220,211,5,5,221,211,5,5,222,211,5,5,223,211,5,5,224,211,5,5,225,211,5,5,226,211,5,5,227,211,5,5,228,211,5,5,229,211,5,5,230,211,5,5,231,211,5,5,232,211,5,5,233,211,5,5,234,211,5,5,235,211,5,5,236,211,5,5,237,211,5,5,238,211,5,5,239,211,5,5,240,211,5,5,241,211,5,5,242,211,5,5,243,211,5,5,244,211,5,5,245,211,5,5,246,211,5,5,247,211,5,5,248,211,5,5,249,211,5,5,250,211,5,5,251,211,5,5,252,211,5,5,253,211,5,5,254,211,5,5,255,211,5,5,2,212,5,5,3,212,5,5,4,212,5,5,5,212,5,5,6,212,5,5,7,212,5,5,8,212,5,5,9,212,5,5,10,212,5,5,11,212,5,5,12,212,5,5,13,212,5,5,14,212,5,5,15,212,5,5,16,212,5,5,17,212,5,5,18,212,5,5,19,212,5,5,20,212,5,5,21,212,5,5,22,212,5,5,23,212,5,5,24,212,5,5,25,212,5,5,26,212,5,5,27,212,5,5,28,212,5,5,29,212,5,5,30,212,5,5,31,212,5,5,32,212,5,5,187,218,5,5,188,218,5,5,189,218,5,5,190,218,5,5,191,218,5,5,192,218,5,5,193,218,5,5,186,218,5,5,194,218,5,5,195,218,5,5,196,218,5,5,197,218,5,5,198,218,5,5,199,218,5,5,200,218,5,5,201,218,5,5,202,218,5,5,203,218,5,5,204,218,5,5,205,218,5,5,206,218,5,5,207,218,5,5,208,218,5,5,209,218,5,5,210,218,5,5,211,218,5,5,212,218,5,5,213,218,5,5,214,218,5,5,215,218,5,5,216,218,5,5,217,218,5,5,218,218,5,5,42,212,5,5,219,218,5,5,220,218,5,5,221,218,5,5,222,218,5,5,223,218,5,5,224,218,5,5,225,218,5,5,226,218,5,5,227,218,5,5,228,218,5,5,229,218,5,5,230,218,5,5,231,218,5,5,232,218,5,5,233,218,5,5,234,218,5,5,235,218,5,5,236,218,5,5,237,218,5,5,238,218,5,5,239,218,5,5,240,218,5,5,241,218,5,5,242,218,5,5,243,218,5,5,244,218,5,5,245,218,5,5,246,218,5,5,247,218,5,5,248,218,5,5,249,218,5,5,250,218,5,5,251,218,5,5,252,218,5,5,253,218,5,5,254,218,5,5,106,225,5,5,255,218,5,5,2,219,5,5,3,219,5,5,4,219,5,5,5,219,5,5,33,212,5,5,6,219,5,5,7,219,5,5,8,219,5,5,108,225,5,5,109,225,5,5,110,225,5,5,111,225,5,5,112,225,5,5,113,225,5,5,114,225,5,5,115,225,5,5,116,225,5,5,117,225,5,5,118,225,5,5,119,225,5,5,120,225,5,5,121,225,5,5,122,225,5,5,123,225,5,5,124,225,5,5,125,225,5,5,126,225,5,5,127,225,5,5,128,225,5,5,129,225,5,5,130,225,5,5,131,225,5,5,132,225,5,5,133,225,5,5,134,225,5,5,135,225,5,5,136,225,5,5,137,225,5,5,138,225,5,5,139,225,5,5,140,225,5,5,141,225,5,5,142,225,5,5,143,225,5,5,144,225,5,5,145,225,5,5,146,225,5,5,147,225,5,5,148,225,5,5,149,225,5,5,150,225,5,5,151,225,5,5,152,225,5,5,153,225,5,5,154,225,5,5,155,225,5,5,156,225,5,5,157,225,5,5,158,225,5,5,9,219,5,5,159,225,5,5,160,225,5,5,161,225,5,5,162,225,5,5,163,225,5,5,164,225,5,5,165,225,5,5,166,225,5,5,167,225,5,5,168,225,5,5,169,225,5,5,170,225,5,5,171,225,5,5,172,225,5,5,107,225,5,5,173,225,5,5,174,225,5,5,175,225,5,5,176,225,5,5,177,225,5,5,178,225,5,5,179,225,5,5,180,225,5,5,255,230,5,5,2,231,5,5,3,231,5,5,4,231,5,5,5,231,5,5,6,231,5,5,7,231,5,5,8,231,5,5,9,231,5,5,10,231,5,5,11,231,5,5,12,231,5,5,13,231,5,5,14,231,5,5,15,231,5,5,16,231,5,5,17,231,5,5,18,231,5,5,19,231,5,5,20,231,5,5,21,231,5,5,22,231,5,5,23,231,5,5,24,231,5,5,25,231,5,5,26,231,5,5,27,231,5,5,28,231,5,5,29,231,5,5,30,231,5,5,31,231,5,5,32,231,5,5,33,231,5,5,34,231,5,5,35,231,5,5,36,231,5,5,37,231,5,5,38,231,5,5,39,231,5,5,40,231,5,5,41,231,5,5,42,231,5,5,43,231,5,5,44,231,5,5,45,231,5,5,46,231,5,5,160,235,5,5,161,235,5,5,162,235,5,5,163,235,5,5,164,235,5,5,165,235,5,5,166,235,5,5,167,235,5,5,168,235,5,5,169,235,5,5,170,235,5,5,171,235,5,5,172,235,5,5,173,235,5,5,174,235,5,5,175,235,5,5,176,235,5,5,177,235,5,5,178,235,5,5,179,235,5,5,180,235,5,5,181,235,5,5,182,235,5,5,183,235,5,5,184,235,5,5,185,235,5,5,186,235,5,5,187,235,5,5,188,235,5,5,189,235,5,5,190,235,5,5,191,235,5,5,63,239,5,5,64,239,5,5,65,239,5,5,66,239,5,5,67,239,5,5,68,239,5,5,69,239,5,5,70,239,5,5,71,239,5,5,72,239,5,5,73,239,5,5,74,239,5,5,75,239,5,5,76,239,5,5,77,239,5,5,78,239,5,5,57,231,5,5,79,239,5,5,80,239,5,5,81,239,5,5,82,239,5,5,83,239,5,5,194,235,5,5,84,239,5,5,85,239,5,5,86,239,5,5,87,239,5,5,88,239,5,5,97,239,5,5,101,242,5,5,102,242,5,5,103,242,5,5,89,239,5,5,104,242,5,5,195,235,5,5,105,242,5,5,106,242,5,5,107,242,5,5,108,242,5,5,109,242,5,5,110,242,5,5,111,242,5,5,112,242,5,5,113,242,5,5,141,246,5,5,204,244,5,5,121,242,5,5,205,244,5,5,206,244,5,5,207,244,5,5,208,244,5,5,209,244,5,5,210,244,5,5,211,244,5,5,212,244,5,5,213,244,5,5,214,244,5,5,215,244,5,5,216,244,5,5,142,246,5,5,143,246,5,5,144,246,5,5,145,246,5,5,146,246,5,5,147,246,5,5,217,244,5,5,148,246,5,5,149,246,5,5,209,247,5,5,210,247,5,5,211,247,5,5,212,247,5,5,199,248,5,5,200,248,5,5,201,248,5,5,111,249,5,5,112,249,5,5,113,249,5,5,114,249,5,5,115,249,5,5,116,249,5,5,224,249,5,5,117,249,5,5,89,250,5,5,90,250,5,5,74,158,5,5,98,161,5,5,99,161,5,5,53,169,5,5,140,164,5,5,54,169,5,5,55,169,5,5,56,169,5,5,156,174,5,5,157,174,5,5,158,174,5,5,19,181,5,5,20,181,5,5,21,181,5,5,22,181,5,5,23,181,5,5,24,181,5,5,25,181,5,5,185,188,5,5,186,188,5,5,26,181,5,5,187,188,5,5,188,188,5,5,189,188,5,5,190,188,5,5,145,196,5,5,146,196,5,5,147,196,5,5,148,196,5,5,149,196,5,5,150,196,5,5,151,196,5,5,117,204,5,5,118,204,5,5,119,204,5,5,120,204,5,5,121,204,5,5,122,204,5,5,123,204,5,5,124,204,5,5,125,204,5,5,43,212,5,5,44,212,5,5,45,212,5,5,46,212,5,5,47,212,5,5,20,219,5,5,21,219,5,5,22,219,5,5,23,219,5,5,24,219,5,5,25,219,5,5,190,225,5,5,191,225,5,5,192,225,5,5,193,225,5,5,194,225,5,5,195,225,5,5,196,225,5,5,58,231,5,5,59,231,5,5,60,231,5,5,196,235,5,5,197,235,5,5,98,239,5,5,151,246,5,5,75,158,5,5,118,159,5,5,100,161,5,5,141,164,5,5,58,169,5,5,59,169,5,5,60,169,5,5,61,169,5,5,160,174,5,5,161,174,5,5,27,181,5,5,28,181,5,5,152,196,5,5,153,196,5,5,48,212,5,5,128,204,5,5,129,204,5,5,130,204,5,5,49,212,5,5,26,219,5,5,27,219,5,5,197,225,5,5,198,235,5,5,77,158,5,5,119,159,5,5,101,161,5,5,143,164,5,5,62,169,5,5,63,169,5,5,64,169,5,5,65,169,5,5,66,169,5,5,163,174,5,5,164,174,5,5,165,174,5,5,166,174,5,5,167,174,5,5,168,174,5,5,29,181,5,5,30,181,5,5,31,181,5,5,32,181,5,5,192,188,5,5,193,188,5,5,194,188,5,5,195,188,5,5,196,188,5,5,197,188,5,5,198,188,5,5,199,188,5,5,154,196,5,5,155,196,5,5,156,196,5,5,157,196,5,5,158,196,5,5,159,196,5,5,160,196,5,5,131,204,5,5,132,204,5,5,50,212,5,5,51,212,5,5,52,212,5,5,53,212,5,5,54,212,5,5,28,219,5,5,29,219,5,5,30,219,5,5,31,219,5,5,32,219,5,5,198,225,5,5,199,225,5,5,200,225,5,5,201,225,5,5,202,225,5,5,62,231,5,5,63,231,5,5,64,231,5,5,199,235,5,5,99,239,5,5,100,239,5,5,219,244,5,5,78,158,5,5,67,169,5,5,169,174,5,5,170,174,5,5,34,181,5,5,201,188,5,5,202,188,5,5,203,188,5,5,204,188,5,5,165,196,5,5,166,196,5,5,167,196,5,5,134,204,5,5,135,204,5,5,136,204,5,5,137,204,5,5,55,212,5,5,56,212,5,5,35,219,5,5,36,219,5,5,203,225,5,5,204,225,5,5,200,235,5,5,214,247,5,5,79,158,5,5,80,158,5,5,120,159,5,5,102,161,5,5,145,164,5,5,146,164,5,5,68,169,5,5,171,174,5,5,139,204,5,5,81,158,5,5,103,161,5,5,172,174,5,5,173,174,5,5,174,174,5,5,35,181,5,5,65,231,5,5,82,158,5,5,148,164,5,5,149,164,5,5,69,169,5,5,70,169,5,5,176,174,5,5,177,174,5,5,36,181,5,5,37,181,5,5,38,181,5,5,39,181,5,5,40,181,5,5,41,181,5,5,42,181,5,5,43,181,5,5,44,181,5,5,205,188,5,5,206,188,5,5,207,188,5,5,208,188,5,5,168,196,5,5,169,196,5,5,170,196,5,5,171,196,5,5,172,196,5,5,173,196,5,5,174,196,5,5,175,196,5,5,140,204,5,5,141,204,5,5,142,204,5,5,143,204,5,5,144,204,5,5,145,204,5,5,146,204,5,5,58,212,5,5,37,219,5,5,38,219,5,5,39,219,5,5,40,219,5,5,205,225,5,5,206,225,5,5,207,225,5,5,208,225,5,5,209,225,5,5,66,231,5,5,67,231,5,5,68,231,5,5,201,235,5,5,102,239,5,5,152,246,5,5,225,249,5,5,83,158,5,5,121,159,5,5,122,159,5,5,104,161,5,5,71,169,5,5,84,158,5,5,123,159,5,5,105,161,5,5,106,161,5,5,107,161,5,5,150,164,5,5,151,164,5,5,72,169,5,5,73,169,5,5,74,169,5,5,179,174,5,5,180,174,5,5,181,174,5,5,182,174,5,5,183,174,5,5,45,181,5,5,46,181,5,5,47,181,5,5,48,181,5,5,49,181,5,5,50,181,5,5,51,181,5,5,209,188,5,5,210,188,5,5,176,196,5,5,177,196,5,5,178,196,5,5,179,196,5,5,180,196,5,5,147,204,5,5,59,212,5,5,60,212,5,5,85,158,5,5,148,157,5,5,125,159,5,5,126,159,5,5,127,159,5,5,128,159,5,5,124,159,5,5,129,159,5,5,108,161,5,5,65,160,5,5,130,159,5,5,131,159,5,5,132,159,5,5,133,159,5,5,152,164,5,5,134,159,5,5,135,159,5,5,136,159,5,5,109,161,5,5,137,159,5,5,138,159,5,5,139,159,5,5,110,161,5,5,111,161,5,5,112,161,5,5,113,161,5,5,114,161,5,5,115,161,5,5,116,161,5,5,117,161,5,5,118,161,5,5,119,161,5,5,120,161,5,5,121,161,5,5,153,164,5,5,122,161,5,5,123,161,5,5,124,161,5,5,125,161,5,5,126,161,5,5,127,161,5,5,128,161,5,5,154,164,5,5,129,161,5,5,130,161,5,5,131,161,5,5,132,161,5,5,133,161,5,5,134,161,5,5,155,164,5,5,156,164,5,5,157,164,5,5,158,164,5,5,159,164,5,5,160,164,5,5,161,164,5,5,75,169,5,5,162,164,5,5,163,164,5,5,164,164,5,5,165,164,5,5,166,164,5,5,167,164,5,5,168,164,5,5,169,164,5,5,170,164,5,5,171,164,5,5,135,161,5,5,172,164,5,5,173,164,5,5,174,164,5,5,175,164,5,5,176,164,5,5,177,164,5,5,178,164,5,5,179,164,5,5,76,169,5,5,180,164,5,5,181,164,5,5,182,164,5,5,183,164,5,5,184,164,5,5,185,164,5,5,186,164,5,5,187,164,5,5,188,164,5,5,77,169,5,5,189,164,5,5,190,164,5,5,191,164,5,5,192,164,5,5,193,164,5,5,194,164,5,5,195,164,5,5,196,164,5,5,78,169,5,5,197,164,5,5,198,164,5,5,199,164,5,5,184,174,5,5,200,164,5,5,201,164,5,5,202,164,5,5,203,164,5,5,204,164,5,5,79,169,5,5,205,164,5,5,206,164,5,5,207,164,5,5,208,164,5,5,209,164,5,5,210,164,5,5,211,164,5,5,212,164,5,5,213,164,5,5,214,164,5,5,215,164,5,5,216,164,5,5,217,164,5,5,80,169,5,5,81,169,5,5,82,169,5,5,83,169,5,5,185,174,5,5,84,169,5,5,85,169,5,5,86,169,5,5,87,169,5,5,88,169,5,5,89,169,5,5,90,169,5,5,91,169,5,5,92,169,5,5,93,169,5,5,94,169,5,5,95,169,5,5,96,169,5,5,97,169,5,5,98,169,5,5,99,169,5,5,100,169,5,5,101,169,5,5,102,169,5,5,103,169,5,5,104,169,5,5,105,169,5,5,106,169,5,5,107,169,5,5,108,169,5,5,186,174,5,5,109,169,5,5,110,169,5,5,111,169,5,5,112,169,5,5,113,169,5,5,114,169,5,5,115,169,5,5,116,169,5,5,117,169,5,5,118,169,5,5,119,169,5,5,120,169,5,5,121,169,5,5,122,169,5,5,123,169,5,5,124,169,5,5,189,174,5,5,125,169,5,5,126,169,5,5,127,169,5,5,128,169,5,5,129,169,5,5,130,169,5,5,131,169,5,5,132,169,5,5,133,169,5,5,134,169,5,5,135,169,5,5,136,169,5,5,137,169,5,5,138,169,5,5,139,169,5,5,140,169,5,5,141,169,5,5,142,169,5,5,143,169,5,5,144,169,5,5,145,169,5,5,52,181,5,5,146,169,5,5,147,169,5,5,148,169,5,5,187,174,5,5,228,175,5,5,188,174,5,5,149,169,5,5,150,169,5,5,151,169,5,5,152,169,5,5,153,169,5,5,154,169,5,5,155,169,5,5,156,169,5,5,190,174,5,5,191,174,5,5,192,174,5,5,193,174,5,5,194,174,5,5,195,174,5,5,196,174,5,5,197,174,5,5,198,174,5,5,199,174,5,5,200,174,5,5,201,174,5,5,202,174,5,5,203,174,5,5,56,181,5,5,204,174,5,5,205,174,5,5,206,174,5,5,207,174,5,5,208,174,5,5,209,174,5,5,210,174,5,5,211,174,5,5,57,181,5,5,212,174,5,5,213,174,5,5,214,174,5,5,215,174,5,5,216,174,5,5,53,181,5,5,217,174,5,5,218,174,5,5,219,174,5,5,220,174,5,5,221,174,5,5,222,174,5,5,223,174,5,5,224,174,5,5,225,174,5,5,226,174,5,5,227,174,5,5,228,174,5,5,229,174,5,5,230,174,5,5,231,174,5,5,232,174,5,5,233,174,5,5,234,174,5,5,54,181,5,5,165,169,5,5,235,174,5,5,236,174,5,5,237,174,5,5,238,174,5,5,239,174,5,5,240,174,5,5,241,174,5,5,242,174,5,5,243,174,5,5,244,174,5,5,245,174,5,5,246,174,5,5,247,174,5,5,248,174,5,5,249,174,5,5,250,174,5,5,251,174,5,5,252,174,5,5,253,174,5,5,254,174,5,5,255,174,5,5,55,181,5,5,2,175,5,5,3,175,5,5,4,175,5,5,5,175,5,5,6,175,5,5,7,175,5,5,8,175,5,5,9,175,5,5,10,175,5,5,11,175,5,5,12,175,5,5,13,175,5,5,14,175,5,5,15,175,5,5,16,175,5,5,58,181,5,5,59,181,5,5,60,181,5,5,61,181,5,5,62,181,5,5,63,181,5,5,64,181,5,5,65,181,5,5,66,181,5,5,67,181,5,5,68,181,5,5,69,181,5,5,70,181,5,5,71,181,5,5,72,181,5,5,73,181,5,5,74,181,5,5,75,181,5,5,76,181,5,5,77,181,5,5,78,181,5,5,79,181,5,5,80,181,5,5,81,181,5,5,82,181,5,5,83,181,5,5,84,181,5,5,85,181,5,5,86,181,5,5,87,181,5,5,88,181,5,5,89,181,5,5,90,181,5,5,91,181,5,5,92,181,5,5,93,181,5,5,94,181,5,5,95,181,5,5,96,181,5,5,97,181,5,5,98,181,5,5,99,181,5,5,100,181,5,5,101,181,5,5,102,181,5,5,103,181,5,5,104,181,5,5,105,181,5,5,106,181,5,5,107,181,5,5,108,181,5,5,109,181,5,5,110,181,5,5,111,181,5,5,112,181,5,5,113,181,5,5,212,188,5,5,114,181,5,5,115,181,5,5,116,181,5,5,117,181,5,5,118,181,5,5,119,181,5,5,120,181,5,5,121,181,5,5,122,181,5,5,123,181,5,5,214,188,5,5,124,181,5,5,125,181,5,5,126,181,5,5,127,181,5,5,128,181,5,5,129,181,5,5,130,181,5,5,131,181,5,5,132,181,5,5,133,181,5,5,134,181,5,5,135,181,5,5,136,181,5,5,137,181,5,5,138,181,5,5,139,181,5,5,215,188,5,5,216,188,5,5,217,188,5,5,218,188,5,5,219,188,5,5,220,188,5,5,221,188,5,5,222,188,5,5,223,188,5,5,224,188,5,5,225,188,5,5,226,188,5,5,227,188,5,5,228,188,5,5,229,188,5,5,230,188,5,5,231,188,5,5,232,188,5,5,233,188,5,5,234,188,5,5,235,188,5,5,236,188,5,5,237,188,5,5,238,188,5,5,239,188,5,5,240,188,5,5,241,188,5,5,242,188,5,5,243,188,5,5,244,188,5,5,245,188,5,5,246,188,5,5,247,188,5,5,248,188,5,5,249,188,5,5,250,188,5,5,251,188,5,5,252,188,5,5,253,188,5,5,254,188,5,5,255,188,5,5,2,189,5,5,3,189,5,5,4,189,5,5,5,189,5,5,6,189,5,5,7,189,5,5,8,189,5,5,9,189,5,5,10,189,5,5,11,189,5,5,12,189,5,5,13,189,5,5,14,189,5,5,15,189,5,5,16,189,5,5,17,189,5,5,18,189,5,5,19,189,5,5,20,189,5,5,21,189,5,5,22,189,5,5,23,189,5,5,24,189,5,5,25,189,5,5,26,189,5,5,27,189,5,5,28,189,5,5,29,189,5,5,30,189,5,5,31,189,5,5,32,189,5,5,33,189,5,5,34,189,5,5,35,189,5,5,36,189,5,5,37,189,5,5,38,189,5,5,39,189,5,5,40,189,5,5,41,189,5,5,42,189,5,5,181,196,5,5,43,189,5,5,182,196,5,5,44,189,5,5,45,189,5,5,46,189,5,5,47,189,5,5,183,196,5,5,48,189,5,5,49,189,5,5,50,189,5,5,51,189,5,5,52,189,5,5,53,189,5,5,54,189,5,5,55,189,5,5,56,189,5,5,57,189,5,5,58,189,5,5,59,189,5,5,60,189,5,5,61,189,5,5,62,189,5,5,63,189,5,5,64,189,5,5,65,189,5,5,66,189,5,5,67,189,5,5,184,196,5,5,185,196,5,5,68,189,5,5,186,196,5,5,187,196,5,5,188,196,5,5,189,196,5,5,190,196,5,5,191,196,5,5,192,196,5,5,193,196,5,5,194,196,5,5,195,196,5,5,196,196,5,5,197,196,5,5,198,196,5,5,199,196,5,5,200,196,5,5,201,196,5,5,202,196,5,5,203,196,5,5,204,196,5,5,205,196,5,5,206,196,5,5,207,196,5,5,208,196,5,5,209,196,5,5,210,196,5,5,211,196,5,5,212,196,5,5,213,196,5,5,214,196,5,5,215,196,5,5,216,196,5,5,217,196,5,5,218,196,5,5,219,196,5,5,220,196,5,5,221,196,5,5,222,196,5,5,223,196,5,5,224,196,5,5,225,196,5,5,226,196,5,5,227,196,5,5,228,196,5,5,229,196,5,5,230,196,5,5,231,196,5,5,232,196,5,5,233,196,5,5,234,196,5,5,235,196,5,5,236,196,5,5,237,196,5,5,238,196,5,5,239,196,5,5,240,196,5,5,241,196,5,5,242,196,5,5,243,196,5,5,244,196,5,5,245,196,5,5,246,196,5,5,247,196,5,5,248,196,5,5,249,196,5,5,250,196,5,5,251,196,5,5,252,196,5,5,253,196,5,5,254,196,5,5,255,196,5,5,2,197,5,5,3,197,5,5,4,197,5,5,5,197,5,5,6,197,5,5,7,197,5,5,8,197,5,5,9,197,5,5,10,197,5,5,11,197,5,5,12,197,5,5,148,204,5,5,13,197,5,5,14,197,5,5,15,197,5,5,16,197,5,5,17,197,5,5,18,197,5,5,19,197,5,5,69,189,5,5,20,197,5,5,21,197,5,5,22,197,5,5,23,197,5,5,24,197,5,5,25,197,5,5,26,197,5,5,27,197,5,5,28,197,5,5,29,197,5,5,30,197,5,5,31,197,5,5,32,197,5,5,33,197,5,5,34,197,5,5,35,197,5,5,36,197,5,5,37,197,5,5,38,197,5,5,39,197,5,5,40,197,5,5,41,197,5,5,42,197,5,5,43,197,5,5,149,204,5,5,150,204,5,5,151,204,5,5,152,204,5,5,153,204,5,5,154,204,5,5,155,204,5,5,156,204,5,5,157,204,5,5,158,204,5,5,159,204,5,5,160,204,5,5,161,204,5,5,162,204,5,5,163,204,5,5,164,204,5,5,165,204,5,5,166,204,5,5,167,204,5,5,168,204,5,5,169,204,5,5,170,204,5,5,171,204,5,5,172,204,5,5,173,204,5,5,174,204,5,5,175,204,5,5,176,204,5,5,177,204,5,5,178,204,5,5,179,204,5,5,180,204,5,5,181,204,5,5,182,204,5,5,183,204,5,5,184,204,5,5,185,204,5,5,186,204,5,5,187,204,5,5,188,204,5,5,189,204,5,5,190,204,5,5,191,204,5,5,192,204,5,5,193,204,5,5,194,204,5,5,195,204,5,5,196,204,5,5,197,204,5,5,198,204,5,5,199,204,5,5,200,204,5,5,201,204,5,5,202,204,5,5,203,204,5,5,204,204,5,5,205,204,5,5,206,204,5,5,207,204,5,5,208,204,5,5,209,204,5,5,210,204,5,5,44,197,5,5,62,212,5,5,211,204,5,5,61,212,5,5,212,204,5,5,213,204,5,5,214,204,5,5,215,204,5,5,216,204,5,5,217,204,5,5,41,219,5,5,218,204,5,5,219,204,5,5,220,204,5,5,221,204,5,5,248,204,5,5,222,204,5,5,223,204,5,5,224,204,5,5,45,197,5,5,225,204,5,5,226,204,5,5,227,204,5,5,228,204,5,5,229,204,5,5,230,204,5,5,231,204,5,5,232,204,5,5,233,204,5,5,234,204,5,5,235,204,5,5,236,204,5,5,63,212,5,5,64,212,5,5,65,212,5,5,66,212,5,5,67,212,5,5,68,212,5,5,69,212,5,5,70,212,5,5,71,212,5,5,72,212,5,5,73,212,5,5,74,212,5,5,75,212,5,5,76,212,5,5,77,212,5,5,78,212,5,5,79,212,5,5,80,212,5,5,81,212,5,5,82,212,5,5,83,212,5,5,42,219,5,5,84,212,5,5,85,212,5,5,86,212,5,5,87,212,5,5,88,212,5,5,89,212,5,5,90,212,5,5,91,212,5,5,92,212,5,5,93,212,5,5,47,219,5,5,94,212,5,5,95,212,5,5,96,212,5,5,97,212,5,5,43,219,5,5,98,212,5,5,99,212,5,5,237,204,5,5,100,212,5,5,101,212,5,5,102,212,5,5,103,212,5,5,104,212,5,5,105,212,5,5,106,212,5,5,107,212,5,5,108,212,5,5,109,212,5,5,110,212,5,5,111,212,5,5,112,212,5,5,113,212,5,5,114,212,5,5,115,212,5,5,116,212,5,5,117,212,5,5,44,219,5,5,118,212,5,5,119,212,5,5,120,212,5,5,121,212,5,5,122,212,5,5,123,212,5,5,124,212,5,5,125,212,5,5,126,212,5,5,127,212,5,5,128,212,5,5,129,212,5,5,130,212,5,5,131,212,5,5,132,212,5,5,133,212,5,5,134,212,5,5,135,212,5,5,136,212,5,5,137,212,5,5,138,212,5,5,139,212,5,5,48,219,5,5,140,212,5,5,45,219,5,5,141,212,5,5,46,219,5,5,142,212,5,5,143,212,5,5,144,212,5,5,145,212,5,5,146,212,5,5,147,212,5,5,148,212,5,5,149,212,5,5,150,212,5,5,151,212,5,5,152,212,5,5,153,212,5,5,165,212,5,5,49,219,5,5,50,219,5,5,51,219,5,5,52,219,5,5,53,219,5,5,54,219,5,5,55,219,5,5,56,219,5,5,57,219,5,5,58,219,5,5,59,219,5,5,60,219,5,5,61,219,5,5,62,219,5,5,63,219,5,5,210,225,5,5,64,219,5,5,65,219,5,5,66,219,5,5,67,219,5,5,68,219,5,5,69,219,5,5,70,219,5,5,71,219,5,5,72,219,5,5,73,219,5,5,74,219,5,5,75,219,5,5,76,219,5,5,77,219,5,5,78,219,5,5,79,219,5,5,80,219,5,5,81,219,5,5,82,219,5,5,83,219,5,5,166,212,5,5,84,219,5,5,85,219,5,5,86,219,5,5,87,219,5,5,88,219,5,5,89,219,5,5,90,219,5,5,91,219,5,5,92,219,5,5,93,219,5,5,94,219,5,5,95,219,5,5,71,231,5,5,96,219,5,5,97,219,5,5,211,225,5,5,98,219,5,5,99,219,5,5,100,219,5,5,101,219,5,5,102,219,5,5,103,219,5,5,104,219,5,5,105,219,5,5,106,219,5,5,107,219,5,5,108,219,5,5,109,219,5,5,110,219,5,5,111,219,5,5,112,219,5,5,113,219,5,5,114,219,5,5,115,219,5,5,116,219,5,5,117,219,5,5,118,219,5,5,212,225,5,5,119,219,5,5,120,219,5,5,121,219,5,5,122,219,5,5,213,225,5,5,214,225,5,5,215,225,5,5,216,225,5,5,217,225,5,5,218,225,5,5,219,225,5,5,220,225,5,5,221,225,5,5,222,225,5,5,223,225,5,5,69,231,5,5,224,225,5,5,225,225,5,5,226,225,5,5,227,225,5,5,228,225,5,5,229,225,5,5,230,225,5,5,231,225,5,5,232,225,5,5,233,225,5,5,234,225,5,5,235,225,5,5,236,225,5,5,237,225,5,5,238,225,5,5,239,225,5,5,240,225,5,5,241,225,5,5,242,225,5,5,243,225,5,5,244,225,5,5,245,225,5,5,246,225,5,5,247,225,5,5,248,225,5,5,249,225,5,5,250,225,5,5,251,225,5,5,136,219,5,5,252,225,5,5,253,225,5,5,254,225,5,5,255,225,5,5,2,226,5,5,70,231,5,5,3,226,5,5,4,226,5,5,5,226,5,5,123,219,5,5,6,226,5,5,7,226,5,5,8,226,5,5,72,231,5,5,73,231,5,5,9,226,5,5,74,231,5,5,75,231,5,5,76,231,5,5,77,231,5,5,78,231,5,5,79,231,5,5,80,231,5,5,81,231,5,5,82,231,5,5,83,231,5,5,84,231,5,5,85,231,5,5,86,231,5,5,87,231,5,5,88,231,5,5,89,231,5,5,90,231,5,5,91,231,5,5,92,231,5,5,93,231,5,5,94,231,5,5,95,231,5,5,96,231,5,5,97,231,5,5,98,231,5,5,99,231,5,5,100,231,5,5,101,231,5,5,103,239,5,5,102,231,5,5,103,231,5,5,104,231,5,5,202,235,5,5,105,231,5,5,203,235,5,5,204,235,5,5,205,235,5,5,206,235,5,5,207,235,5,5,208,235,5,5,209,235,5,5,210,235,5,5,211,235,5,5,212,235,5,5,213,235,5,5,23,226,5,5,214,235,5,5,215,235,5,5,216,235,5,5,217,235,5,5,218,235,5,5,219,235,5,5,220,235,5,5,221,235,5,5,222,235,5,5,223,235,5,5,224,235,5,5,225,235,5,5,226,235,5,5,227,235,5,5,228,235,5,5,229,235,5,5,104,239,5,5,105,239,5,5,106,239,5,5,107,239,5,5,108,239,5,5,109,239,5,5,110,239,5,5,111,239,5,5,112,239,5,5,113,239,5,5,114,239,5,5,115,239,5,5,116,239,5,5,117,239,5,5,118,239,5,5,119,239,5,5,120,239,5,5,236,235,5,5,121,239,5,5,122,239,5,5,123,239,5,5,122,242,5,5,124,239,5,5,125,239,5,5,126,239,5,5,127,239,5,5,123,242,5,5,124,242,5,5,125,242,5,5,126,242,5,5,127,242,5,5,128,242,5,5,129,242,5,5,130,242,5,5,131,242,5,5,132,242,5,5,133,242,5,5,134,242,5,5,135,242,5,5,136,242,5,5,137,242,5,5,138,242,5,5,139,242,5,5,140,242,5,5,141,242,5,5,146,242,5,5,220,244,5,5,221,244,5,5,222,244,5,5,223,244,5,5,224,244,5,5,225,244,5,5,226,244,5,5,227,244,5,5,228,244,5,5,229,244,5,5,230,244,5,5,226,249,5,5,231,244,5,5,232,244,5,5,153,246,5,5,154,246,5,5,215,247,5,5,155,246,5,5,156,246,5,5,157,246,5,5,158,246,5,5,159,246,5,5,216,247,5,5,217,247,5,5,218,247,5,5,219,247,5,5,202,248,5,5,203,248,5,5,204,248,5,5,205,248,5,5,206,248,5,5,118,249,5,5,119,249,5,5,227,249,5,5,28,250,5,5,228,249,5,5,29,250,5,5,30,250,5,5,153,250,5,5,159,250,5,5,86,158,5,5,87,158,5,5,140,159,5,5,136,161,5,5,137,161,5,5,138,161,5,5,139,161,5,5,140,161,5,5,141,161,5,5,221,164,5,5,222,164,5,5,223,164,5,5,224,164,5,5,225,164,5,5,226,164,5,5,227,164,5,5,228,164,5,5,229,164,5,5,230,164,5,5,231,164,5,5,232,164,5,5,233,164,5,5,167,169,5,5,168,169,5,5,169,169,5,5,170,169,5,5,171,169,5,5,172,169,5,5,166,169,5,5,173,169,5,5,174,169,5,5,175,169,5,5,176,169,5,5,177,169,5,5,178,169,5,5,179,169,5,5,180,169,5,5,181,169,5,5,182,169,5,5,183,169,5,5,184,169,5,5,185,169,5,5,186,169,5,5,187,169,5,5,188,169,5,5,189,169,5,5,190,169,5,5,191,169,5,5,192,169,5,5,193,169,5,5,194,169,5,5,195,169,5,5,23,175,5,5,24,175,5,5,25,175,5,5,26,175,5,5,27,175,5,5,28,175,5,5,29,175,5,5,30,175,5,5,31,175,5,5,32,175,5,5,33,175,5,5,34,175,5,5,35,175,5,5,36,175,5,5,37,175,5,5,38,175,5,5,39,175,5,5,40,175,5,5,41,175,5,5,42,175,5,5,43,175,5,5,44,175,5,5,45,175,5,5,46,175,5,5,47,175,5,5,48,175,5,5,49,175,5,5,50,175,5,5,51,175,5,5,52,175,5,5,53,175,5,5,54,175,5,5,55,175,5,5,56,175,5,5,57,175,5,5,58,175,5,5,59,175,5,5,143,181,5,5,144,181,5,5,145,181,5,5,146,181,5,5,147,181,5,5,148,181,5,5,149,181,5,5,150,181,5,5,151,181,5,5,152,181,5,5,153,181,5,5,154,181,5,5,155,181,5,5,156,181,5,5,157,181,5,5,158,181,5,5,159,181,5,5,160,181,5,5,161,181,5,5,162,181,5,5,163,181,5,5,164,181,5,5,165,181,5,5,166,181,5,5,167,181,5,5,168,181,5,5,169,181,5,5,170,181,5,5,171,181,5,5,172,181,5,5,173,181,5,5,174,181,5,5,175,181,5,5,176,181,5,5,177,181,5,5,178,181,5,5,179,181,5,5,180,181,5,5,181,181,5,5,182,181,5,5,183,181,5,5,184,181,5,5,185,181,5,5,84,189,5,5,85,189,5,5,86,189,5,5,87,189,5,5,88,189,5,5,89,189,5,5,90,189,5,5,91,189,5,5,92,189,5,5,93,189,5,5,94,189,5,5,95,189,5,5,60,197,5,5,96,189,5,5,97,189,5,5,98,189,5,5,99,189,5,5,100,189,5,5,101,189,5,5,102,189,5,5,103,189,5,5,104,189,5,5,105,189,5,5,106,189,5,5,107,189,5,5,108,189,5,5,109,189,5,5,110,189,5,5,111,189,5,5,112,189,5,5,113,189,5,5,114,189,5,5,115,189,5,5,116,189,5,5,117,189,5,5,118,189,5,5,119,189,5,5,128,189,5,5,120,189,5,5,121,189,5,5,122,189,5,5,123,189,5,5,61,197,5,5,62,197,5,5,63,197,5,5,64,197,5,5,65,197,5,5,66,197,5,5,67,197,5,5,68,197,5,5,69,197,5,5,70,197,5,5,71,197,5,5,72,197,5,5,73,197,5,5,74,197,5,5,75,197,5,5,76,197,5,5,77,197,5,5,78,197,5,5,79,197,5,5,80,197,5,5,81,197,5,5,82,197,5,5,83,197,5,5,84,197,5,5,85,197,5,5,86,197,5,5,87,197,5,5,88,197,5,5,89,197,5,5,90,197,5,5,91,197,5,5,92,197,5,5,93,197,5,5,94,197,5,5,95,197,5,5,96,197,5,5,97,197,5,5,98,197,5,5,99,197,5,5,100,197,5,5,249,204,5,5,250,204,5,5,251,204,5,5,252,204,5,5,253,204,5,5,254,204,5,5,255,204,5,5,2,205,5,5,3,205,5,5,4,205,5,5,5,205,5,5,6,205,5,5,7,205,5,5,8,205,5,5,9,205,5,5,10,205,5,5,11,205,5,5,12,205,5,5,13,205,5,5,14,205,5,5,167,212,5,5,15,205,5,5,16,205,5,5,17,205,5,5,18,205,5,5,19,205,5,5,168,212,5,5,20,205,5,5,21,205,5,5,22,205,5,5,23,205,5,5,24,205,5,5,25,205,5,5,26,205,5,5,27,205,5,5,28,205,5,5,29,205,5,5,30,205,5,5,31,205,5,5,32,205,5,5,33,205,5,5,34,205,5,5,35,205,5,5,36,205,5,5,37,205,5,5,101,197,5,5,38,205,5,5,39,205,5,5,40,205,5,5,41,205,5,5,42,205,5,5,43,205,5,5,44,205,5,5,45,205,5,5,46,205,5,5,47,205,5,5,169,212,5,5,48,205,5,5,170,212,5,5,171,212,5,5,172,212,5,5,173,212,5,5,174,212,5,5,175,212,5,5,176,212,5,5,177,212,5,5,178,212,5,5,179,212,5,5,180,212,5,5,181,212,5,5,182,212,5,5,183,212,5,5,184,212,5,5,185,212,5,5,186,212,5,5,187,212,5,5,188,212,5,5,189,212,5,5,190,212,5,5,191,212,5,5,192,212,5,5,193,212,5,5,194,212,5,5,195,212,5,5,196,212,5,5,197,212,5,5,198,212,5,5,199,212,5,5,200,212,5,5,138,219,5,5,139,219,5,5,140,219,5,5,141,219,5,5,142,219,5,5,143,219,5,5,144,219,5,5,145,219,5,5,146,219,5,5,147,219,5,5,148,219,5,5,149,219,5,5,137,219,5,5,150,219,5,5,151,219,5,5,152,219,5,5,153,219,5,5,154,219,5,5,155,219,5,5,156,219,5,5,157,219,5,5,158,219,5,5,159,219,5,5,160,219,5,5,161,219,5,5,162,219,5,5,163,219,5,5,164,219,5,5,24,226,5,5,25,226,5,5,26,226,5,5,27,226,5,5,28,226,5,5,29,226,5,5,30,226,5,5,31,226,5,5,32,226,5,5,33,226,5,5,34,226,5,5,35,226,5,5,36,226,5,5,37,226,5,5,38,226,5,5,39,226,5,5,40,226,5,5,41,226,5,5,42,226,5,5,43,226,5,5,44,226,5,5,45,226,5,5,46,226,5,5,47,226,5,5,48,226,5,5,49,226,5,5,50,226,5,5,51,226,5,5,52,226,5,5,53,226,5,5,54,226,5,5,55,226,5,5,56,226,5,5,57,226,5,5,58,226,5,5,59,226,5,5,60,226,5,5,61,226,5,5,62,226,5,5,63,226,5,5,64,226,5,5,116,231,5,5,117,231,5,5,118,231,5,5,119,231,5,5,120,231,5,5,121,231,5,5,122,231,5,5,123,231,5,5,124,231,5,5,125,231,5,5,126,231,5,5,127,231,5,5,128,231,5,5,129,231,5,5,130,231,5,5,131,231,5,5,132,231,5,5,133,231,5,5,134,231,5,5,135,231,5,5,136,231,5,5,137,231,5,5,138,231,5,5,139,231,5,5,140,231,5,5,237,235,5,5,238,235,5,5,239,235,5,5,240,235,5,5,241,235,5,5,242,235,5,5,243,235,5,5,244,235,5,5,245,235,5,5,246,235,5,5,134,239,5,5,247,235,5,5,135,239,5,5,136,239,5,5,137,239,5,5,138,239,5,5,139,239,5,5,140,239,5,5,141,239,5,5,147,242,5,5,142,239,5,5,143,239,5,5,144,239,5,5,148,242,5,5,149,242,5,5,150,242,5,5,151,242,5,5,152,242,5,5,153,242,5,5,145,239,5,5,154,242,5,5,155,242,5,5,156,242,5,5,235,244,5,5,236,244,5,5,237,244,5,5,163,246,5,5,240,244,5,5,164,246,5,5,165,246,5,5,166,246,5,5,226,247,5,5,227,247,5,5,208,248,5,5,120,249,5,5,121,249,5,5,122,249,5,5,91,250,5,5,121,250,5,5,165,250,5,5,88,158,5,5,90,158,5,5,201,169,5,5,202,169,5,5,63,175,5,5,64,175,5,5,65,175,5,5,189,181,5,5,114,197,5,5,208,212,5,5,176,219,5,5,146,231,5,5,91,158,5,5,142,161,5,5,203,169,5,5,190,181,5,5,59,205,5,5,92,158,5,5,67,175,5,5,129,189,5,5,209,212,5,5,94,158,5,5,204,169,5,5,68,175,5,5,191,181,5,5,60,205,5,5,210,212,5,5,177,219,5,5,147,231,5,5,95,158,5,5,205,169,5,5,69,175,5,5,70,175,5,5,115,197,5,5,116,197,5,5,117,197,5,5,61,205,5,5,62,205,5,5,63,205,5,5,64,205,5,5,65,205,5,5,211,212,5,5,212,212,5,5,178,219,5,5,179,219,5,5,180,219,5,5,149,239,5,5,96,158,5,5,119,197,5,5,99,158,5,5,100,158,5,5,143,161,5,5,144,161,5,5,145,161,5,5,235,164,5,5,236,164,5,5,237,164,5,5,238,164,5,5,239,164,5,5,206,169,5,5,207,169,5,5,208,169,5,5,209,169,5,5,210,169,5,5,211,169,5,5,212,169,5,5,213,169,5,5,71,175,5,5,72,175,5,5,73,175,5,5,74,175,5,5,75,175,5,5,76,175,5,5,77,175,5,5,78,175,5,5,79,175,5,5,194,181,5,5,195,181,5,5,196,181,5,5,197,181,5,5,198,181,5,5,130,189,5,5,131,189,5,5,132,189,5,5,133,189,5,5,134,189,5,5,120,197,5,5,135,189,5,5,121,197,5,5,122,197,5,5,123,197,5,5,124,197,5,5,125,197,5,5,126,197,5,5,127,197,5,5,128,197,5,5,129,197,5,5,130,197,5,5,66,205,5,5,67,205,5,5,68,205,5,5,69,205,5,5,70,205,5,5,71,205,5,5,214,212,5,5,215,212,5,5,216,212,5,5,217,212,5,5,218,212,5,5,219,212,5,5,181,219,5,5,182,219,5,5,183,219,5,5,184,219,5,5,75,226,5,5,76,226,5,5,77,226,5,5,78,226,5,5,148,231,5,5,150,239,5,5,151,239,5,5,152,239,5,5,153,239,5,5,154,239,5,5,155,239,5,5,161,242,5,5,162,242,5,5,167,246,5,5,123,249,5,5,33,250,5,5,101,158,5,5,149,157,5,5,141,159,5,5,142,159,5,5,143,159,5,5,146,161,5,5,147,161,5,5,148,161,5,5,149,161,5,5,150,161,5,5,241,164,5,5,151,161,5,5,152,161,5,5,242,164,5,5,243,164,5,5,244,164,5,5,245,164,5,5,246,164,5,5,247,164,5,5,248,164,5,5,216,169,5,5,249,164,5,5,250,164,5,5,251,164,5,5,252,164,5,5,253,164,5,5,254,164,5,5,255,164,5,5,2,165,5,5,217,169,5,5,80,175,5,5,218,169,5,5,219,169,5,5,220,169,5,5,221,169,5,5,222,169,5,5,223,169,5,5,224,169,5,5,225,169,5,5,226,169,5,5,227,169,5,5,228,169,5,5,229,169,5,5,230,169,5,5,231,169,5,5,232,169,5,5,233,169,5,5,234,169,5,5,235,169,5,5,236,169,5,5,237,169,5,5,81,175,5,5,82,175,5,5,83,175,5,5,84,175,5,5,85,175,5,5,86,175,5,5,87,175,5,5,88,175,5,5,89,175,5,5,90,175,5,5,91,175,5,5,92,175,5,5,93,175,5,5,94,175,5,5,95,175,5,5,96,175,5,5,97,175,5,5,98,175,5,5,99,175,5,5,100,175,5,5,199,181,5,5,200,181,5,5,201,181,5,5,202,181,5,5,203,181,5,5,204,181,5,5,205,181,5,5,206,181,5,5,207,181,5,5,208,181,5,5,209,181,5,5,210,181,5,5,141,189,5,5,211,181,5,5,212,181,5,5,213,181,5,5,214,181,5,5,142,189,5,5,143,189,5,5,133,197,5,5,144,189,5,5,145,189,5,5,146,189,5,5,147,189,5,5,134,197,5,5,135,197,5,5,148,189,5,5,149,189,5,5,150,189,5,5,151,189,5,5,152,189,5,5,136,197,5,5,153,189,5,5,154,189,5,5,155,189,5,5,156,189,5,5,157,189,5,5,158,189,5,5,159,189,5,5,160,189,5,5,161,189,5,5,162,189,5,5,163,189,5,5,164,189,5,5,165,189,5,5,166,189,5,5,167,189,5,5,138,197,5,5,139,197,5,5,140,197,5,5,141,197,5,5,142,197,5,5,143,197,5,5,144,197,5,5,145,197,5,5,168,189,5,5,137,197,5,5,146,197,5,5,147,197,5,5,74,205,5,5,148,197,5,5,149,197,5,5,150,197,5,5,151,197,5,5,152,197,5,5,153,197,5,5,154,197,5,5,155,197,5,5,75,205,5,5,156,197,5,5,157,197,5,5,77,205,5,5,78,205,5,5,79,205,5,5,80,205,5,5,81,205,5,5,82,205,5,5,83,205,5,5,76,205,5,5,84,205,5,5,220,212,5,5,221,212,5,5,85,205,5,5,86,205,5,5,87,205,5,5,88,205,5,5,89,205,5,5,90,205,5,5,187,219,5,5,222,212,5,5,223,212,5,5,186,219,5,5,224,212,5,5,225,212,5,5,226,212,5,5,227,212,5,5,228,212,5,5,229,212,5,5,230,212,5,5,188,219,5,5,189,219,5,5,190,219,5,5,191,219,5,5,192,219,5,5,193,219,5,5,194,219,5,5,195,219,5,5,196,219,5,5,197,219,5,5,198,219,5,5,199,219,5,5,200,219,5,5,79,226,5,5,201,219,5,5,80,226,5,5,81,226,5,5,82,226,5,5,83,226,5,5,84,226,5,5,85,226,5,5,86,226,5,5,87,226,5,5,88,226,5,5,150,231,5,5,151,231,5,5,152,231,5,5,153,231,5,5,154,231,5,5,155,231,5,5,156,231,5,5,252,235,5,5,253,235,5,5,254,235,5,5,156,239,5,5,157,239,5,5,158,239,5,5,164,242,5,5,165,242,5,5,166,242,5,5,241,244,5,5,168,246,5,5,169,246,5,5,232,247,5,5,233,247,5,5,234,247,5,5,144,159,5,5,102,175,5,5,216,181,5,5,169,189,5,5,170,189,5,5,145,159,5,5,146,159,5,5,102,158,5,5,147,159,5,5,148,159,5,5,154,161,5,5,155,161,5,5,156,161,5,5,157,161,5,5,4,165,5,5,5,165,5,5,6,165,5,5,7,165,5,5,8,165,5,5,9,165,5,5,10,165,5,5,11,165,5,5,12,165,5,5,13,165,5,5,240,169,5,5,241,169,5,5,242,169,5,5,243,169,5,5,244,169,5,5,245,169,5,5,246,169,5,5,247,169,5,5,248,169,5,5,249,169,5,5,250,169,5,5,251,169,5,5,252,169,5,5,253,169,5,5,254,169,5,5,255,169,5,5,2,170,5,5,3,170,5,5,4,170,5,5,5,170,5,5,6,170,5,5,7,170,5,5,104,175,5,5,105,175,5,5,106,175,5,5,107,175,5,5,108,175,5,5,109,175,5,5,110,175,5,5,111,175,5,5,217,181,5,5,112,175,5,5,218,181,5,5,113,175,5,5,114,175,5,5,115,175,5,5,116,175,5,5,117,175,5,5,118,175,5,5,119,175,5,5,120,175,5,5,121,175,5,5,122,175,5,5,123,175,5,5,124,175,5,5,125,175,5,5,126,175,5,5,127,175,5,5,128,175,5,5,129,175,5,5,130,175,5,5,131,175,5,5,132,175,5,5,133,175,5,5,220,181,5,5,221,181,5,5,222,181,5,5,223,181,5,5,224,181,5,5,225,181,5,5,226,181,5,5,227,181,5,5,228,181,5,5,229,181,5,5,230,181,5,5,231,181,5,5,232,181,5,5,233,181,5,5,234,181,5,5,235,181,5,5,236,181,5,5,237,181,5,5,238,181,5,5,239,181,5,5,240,181,5,5,241,181,5,5,242,181,5,5,243,181,5,5,244,181,5,5,245,181,5,5,246,181,5,5,247,181,5,5,248,181,5,5,249,181,5,5,250,181,5,5,251,181,5,5,252,181,5,5,171,189,5,5,172,189,5,5,173,189,5,5,174,189,5,5,159,197,5,5,175,189,5,5,9,182,5,5,176,189,5,5,177,189,5,5,178,189,5,5,179,189,5,5,180,189,5,5,181,189,5,5,182,189,5,5,183,189,5,5,184,189,5,5,185,189,5,5,186,189,5,5,187,189,5,5,188,189,5,5,189,189,5,5,190,189,5,5,253,181,5,5,191,189,5,5,192,189,5,5,193,189,5,5,194,189,5,5,195,189,5,5,196,189,5,5,197,189,5,5,198,189,5,5,199,189,5,5,200,189,5,5,160,197,5,5,161,197,5,5,162,197,5,5,163,197,5,5,164,197,5,5,165,197,5,5,166,197,5,5,167,197,5,5,168,197,5,5,169,197,5,5,95,205,5,5,170,197,5,5,171,197,5,5,172,197,5,5,173,197,5,5,174,197,5,5,175,197,5,5,176,197,5,5,177,197,5,5,93,205,5,5,178,197,5,5,179,197,5,5,180,197,5,5,181,197,5,5,182,197,5,5,183,197,5,5,184,197,5,5,185,197,5,5,186,197,5,5,187,197,5,5,188,197,5,5,189,197,5,5,190,197,5,5,191,197,5,5,192,197,5,5,193,197,5,5,194,197,5,5,195,197,5,5,196,197,5,5,197,197,5,5,198,197,5,5,96,205,5,5,97,205,5,5,98,205,5,5,99,205,5,5,100,205,5,5,101,205,5,5,102,205,5,5,103,205,5,5,104,205,5,5,105,205,5,5,106,205,5,5,107,205,5,5,108,205,5,5,109,205,5,5,110,205,5,5,111,205,5,5,112,205,5,5,113,205,5,5,114,205,5,5,115,205,5,5,116,205,5,5,117,205,5,5,118,205,5,5,119,205,5,5,120,205,5,5,121,205,5,5,122,205,5,5,123,205,5,5,124,205,5,5,125,205,5,5,126,205,5,5,127,205,5,5,128,205,5,5,129,205,5,5,130,205,5,5,231,212,5,5,232,212,5,5,233,212,5,5,234,212,5,5,235,212,5,5,236,212,5,5,237,212,5,5,238,212,5,5,239,212,5,5,203,219,5,5,240,212,5,5,241,212,5,5,204,219,5,5,242,212,5,5,243,212,5,5,146,205,5,5,244,212,5,5,245,212,5,5,246,212,5,5,247,212,5,5,248,212,5,5,249,212,5,5,250,212,5,5,251,212,5,5,252,212,5,5,205,219,5,5,206,219,5,5,207,219,5,5,208,219,5,5,209,219,5,5,210,219,5,5,89,226,5,5,211,219,5,5,212,219,5,5,213,219,5,5,214,219,5,5,215,219,5,5,216,219,5,5,217,219,5,5,218,219,5,5,219,219,5,5,220,219,5,5,221,219,5,5,222,219,5,5,223,219,5,5,90,226,5,5,224,219,5,5,91,226,5,5,157,231,5,5,92,226,5,5,93,226,5,5,225,219,5,5,94,226,5,5,95,226,5,5,96,226,5,5,158,231,5,5,97,226,5,5,98,226,5,5,99,226,5,5,100,226,5,5,101,226,5,5,102,226,5,5,103,226,5,5,104,226,5,5,105,226,5,5,106,226,5,5,121,226,5,5,107,226,5,5,108,226,5,5,160,231,5,5,161,231,5,5,255,235,5,5,162,231,5,5,163,231,5,5,164,231,5,5,165,231,5,5,166,231,5,5,167,231,5,5,168,231,5,5,169,231,5,5,170,231,5,5,171,231,5,5,172,231,5,5,173,231,5,5,174,231,5,5,2,236,5,5,3,236,5,5,159,239,5,5,4,236,5,5,5,236,5,5,167,242,5,5,6,236,5,5,7,236,5,5,160,239,5,5,8,236,5,5,9,236,5,5,10,236,5,5,11,236,5,5,12,236,5,5,161,239,5,5,162,239,5,5,163,239,5,5,164,239,5,5,165,239,5,5,166,239,5,5,167,239,5,5,168,239,5,5,169,239,5,5,168,242,5,5,169,242,5,5,170,242,5,5,171,242,5,5,172,242,5,5,173,242,5,5,174,242,5,5,242,244,5,5,243,244,5,5,170,246,5,5,244,244,5,5,171,246,5,5,172,246,5,5,173,246,5,5,235,247,5,5,209,248,5,5,149,159,5,5,13,170,5,5,10,182,5,5,11,182,5,5,209,189,5,5,147,205,5,5,122,226,5,5,178,239,5,5,174,246,5,5,210,248,5,5,150,159,5,5,19,165,5,5,14,170,5,5,15,170,5,5,140,175,5,5,141,175,5,5,142,175,5,5,143,175,5,5,144,175,5,5,145,175,5,5,146,175,5,5,147,175,5,5,148,175,5,5,12,182,5,5,13,182,5,5,14,182,5,5,211,189,5,5,212,189,5,5,213,189,5,5,221,197,5,5,222,197,5,5,223,197,5,5,224,197,5,5,148,205,5,5,149,205,5,5,150,205,5,5,11,213,5,5,151,205,5,5,12,213,5,5,13,213,5,5,14,213,5,5,15,213,5,5,16,213,5,5,243,219,5,5,244,219,5,5,245,219,5,5,124,226,5,5,125,226,5,5,126,226,5,5,127,226,5,5,128,226,5,5,183,231,5,5,184,231,5,5,185,231,5,5,186,231,5,5,22,236,5,5,23,236,5,5,24,236,5,5,179,239,5,5,247,244,5,5,151,159,5,5,16,170,5,5,149,175,5,5,215,189,5,5,216,189,5,5,152,205,5,5,153,205,5,5,152,159,5,5,150,175,5,5,15,182,5,5,217,189,5,5,218,189,5,5,225,197,5,5,226,197,5,5,227,197,5,5,18,213,5,5,153,159,5,5,154,159,5,5,161,161,5,5,20,165,5,5,21,165,5,5,151,175,5,5,152,175,5,5,228,197,5,5,155,159,5,5,156,159,5,5,157,159,5,5,158,159,5,5,159,159,5,5,160,159,5,5,162,161,5,5,22,165,5,5,23,165,5,5,24,165,5,5,25,165,5,5,17,170,5,5,26,165,5,5,18,170,5,5,19,170,5,5,20,170,5,5,21,170,5,5,22,170,5,5,23,170,5,5,24,170,5,5,25,170,5,5,26,170,5,5,153,175,5,5,154,175,5,5,155,175,5,5,156,175,5,5,157,175,5,5,158,175,5,5,159,175,5,5,160,175,5,5,161,175,5,5,162,175,5,5,163,175,5,5,164,175,5,5,165,175,5,5,166,175,5,5,16,182,5,5,17,182,5,5,18,182,5,5,19,182,5,5,20,182,5,5,21,182,5,5,22,182,5,5,23,182,5,5,24,182,5,5,25,182,5,5,26,182,5,5,27,182,5,5,53,182,5,5,219,189,5,5,220,189,5,5,221,189,5,5,222,189,5,5,223,189,5,5,224,189,5,5,225,189,5,5,144,190,5,5,226,189,5,5,230,197,5,5,231,197,5,5,232,197,5,5,233,197,5,5,234,197,5,5,235,197,5,5,227,189,5,5,239,197,5,5,236,197,5,5,237,197,5,5,238,197,5,5,154,205,5,5,155,205,5,5,156,205,5,5,157,205,5,5,158,205,5,5,159,205,5,5,19,213,5,5,20,213,5,5,21,213,5,5,248,219,5,5,249,219,5,5,129,226,5,5,130,226,5,5,131,226,5,5,188,231,5,5,189,231,5,5,25,236,5,5,180,239,5,5,181,239,5,5,178,242,5,5,179,242,5,5,175,246,5,5,161,159,5,5,27,170,5,5,28,182,5,5,240,197,5,5,241,197,5,5,22,213,5,5,23,213,5,5,164,159,5,5,28,165,5,5,29,165,5,5,30,165,5,5,31,165,5,5,32,165,5,5,28,170,5,5,29,170,5,5,30,170,5,5,31,170,5,5,32,170,5,5,33,170,5,5,34,170,5,5,35,170,5,5,36,170,5,5,37,170,5,5,169,175,5,5,170,175,5,5,171,175,5,5,172,175,5,5,173,175,5,5,174,175,5,5,175,175,5,5,176,175,5,5,177,175,5,5,178,175,5,5,179,175,5,5,180,175,5,5,181,175,5,5,182,175,5,5,29,182,5,5,30,182,5,5,31,182,5,5,32,182,5,5,33,182,5,5,228,189,5,5,34,182,5,5,35,182,5,5,36,182,5,5,37,182,5,5,183,175,5,5,38,182,5,5,39,182,5,5,40,182,5,5,41,182,5,5,42,182,5,5,43,182,5,5,44,182,5,5,45,182,5,5,46,182,5,5,47,182,5,5,48,182,5,5,49,182,5,5,50,182,5,5,51,182,5,5,52,182,5,5,229,189,5,5,230,189,5,5,231,189,5,5,232,189,5,5,233,189,5,5,234,189,5,5,235,189,5,5,236,189,5,5,237,189,5,5,238,189,5,5,239,189,5,5,240,189,5,5,241,189,5,5,242,197,5,5,243,197,5,5,244,197,5,5,245,197,5,5,246,197,5,5,247,197,5,5,248,197,5,5,249,197,5,5,250,197,5,5,251,197,5,5,252,197,5,5,253,197,5,5,254,197,5,5,255,197,5,5,2,198,5,5,3,198,5,5,4,198,5,5,5,198,5,5,6,198,5,5,7,198,5,5,8,198,5,5,163,205,5,5,164,205,5,5,165,205,5,5,166,205,5,5,167,205,5,5,168,205,5,5,169,205,5,5,170,205,5,5,171,205,5,5,172,205,5,5,173,205,5,5,174,205,5,5,175,205,5,5,176,205,5,5,177,205,5,5,178,205,5,5,179,205,5,5,180,205,5,5,181,205,5,5,182,205,5,5,183,205,5,5,184,205,5,5,185,205,5,5,186,205,5,5,187,205,5,5,188,205,5,5,189,205,5,5,24,213,5,5,25,213,5,5,26,213,5,5,27,213,5,5,28,213,5,5,29,213,5,5,30,213,5,5,31,213,5,5,192,205,5,5,193,205,5,5,32,213,5,5,33,213,5,5,34,213,5,5,35,213,5,5,36,213,5,5,37,213,5,5,38,213,5,5,39,213,5,5,251,219,5,5,252,219,5,5,253,219,5,5,254,219,5,5,255,219,5,5,2,220,5,5,250,219,5,5,3,220,5,5,4,220,5,5,5,220,5,5,6,220,5,5,7,220,5,5,8,220,5,5,9,220,5,5,40,213,5,5,10,220,5,5,11,220,5,5,12,220,5,5,13,220,5,5,133,226,5,5,134,226,5,5,135,226,5,5,136,226,5,5,137,226,5,5,138,226,5,5,139,226,5,5,140,226,5,5,141,226,5,5,142,226,5,5,143,226,5,5,144,226,5,5,145,226,5,5,146,226,5,5,147,226,5,5,148,226,5,5,149,226,5,5,150,226,5,5,151,226,5,5,152,226,5,5,191,231,5,5,192,231,5,5,193,231,5,5,194,231,5,5,195,231,5,5,196,231,5,5,197,231,5,5,198,231,5,5,199,231,5,5,200,231,5,5,153,226,5,5,201,231,5,5,202,231,5,5,203,231,5,5,204,231,5,5,26,236,5,5,27,236,5,5,28,236,5,5,29,236,5,5,30,236,5,5,31,236,5,5,32,236,5,5,33,236,5,5,34,236,5,5,35,236,5,5,36,236,5,5,37,236,5,5,38,236,5,5,39,236,5,5,40,236,5,5,41,236,5,5,182,239,5,5,183,239,5,5,184,239,5,5,180,242,5,5,185,239,5,5,42,236,5,5,181,242,5,5,182,242,5,5,248,244,5,5,249,244,5,5,250,244,5,5,251,244,5,5,252,244,5,5,176,246,5,5,177,246,5,5,178,246,5,5,237,247,5,5,238,247,5,5,211,248,5,5,212,248,5,5,230,249,5,5,93,250,5,5,138,250,5,5,165,159,5,5,38,170,5,5,185,175,5,5,186,175,5,5,187,175,5,5,12,198,5,5,13,198,5,5,166,159,5,5,163,161,5,5,164,161,5,5,33,165,5,5,34,165,5,5,35,165,5,5,36,165,5,5,39,170,5,5,188,175,5,5,189,175,5,5,190,175,5,5,191,175,5,5,242,189,5,5,54,182,5,5,55,182,5,5,56,182,5,5,57,182,5,5,243,189,5,5,244,189,5,5,245,189,5,5,246,189,5,5,14,198,5,5,15,198,5,5,16,198,5,5,17,198,5,5,18,198,5,5,194,205,5,5,195,205,5,5,196,205,5,5,18,220,5,5,19,220,5,5,20,220,5,5,21,220,5,5,22,220,5,5,155,226,5,5,156,226,5,5,157,226,5,5,207,231,5,5,208,231,5,5,209,231,5,5,210,231,5,5,43,236,5,5,44,236,5,5,45,236,5,5,186,239,5,5,183,242,5,5,184,242,5,5,254,244,5,5,180,246,5,5,167,159,5,5,40,170,5,5,59,182,5,5,60,182,5,5,247,189,5,5,19,198,5,5,20,198,5,5,199,205,5,5,41,213,5,5,42,213,5,5,43,213,5,5,44,213,5,5,26,220,5,5,158,226,5,5,211,231,5,5,47,236,5,5,185,242,5,5,168,159,5,5,37,165,5,5,38,165,5,5,41,170,5,5,192,175,5,5,193,175,5,5,194,175,5,5,195,175,5,5,196,175,5,5,197,175,5,5,62,182,5,5,63,182,5,5,64,182,5,5,65,182,5,5,66,182,5,5,67,182,5,5,68,182,5,5,69,182,5,5,70,182,5,5,248,189,5,5,249,189,5,5,250,189,5,5,251,189,5,5,252,189,5,5,253,189,5,5,254,189,5,5,21,198,5,5,22,198,5,5,255,189,5,5,23,198,5,5,200,205,5,5,201,205,5,5,202,205,5,5,45,213,5,5,46,213,5,5,47,213,5,5,48,213,5,5,27,220,5,5,159,226,5,5,160,226,5,5,161,226,5,5,212,231,5,5,213,231,5,5,214,231,5,5,49,236,5,5,50,236,5,5,187,242,5,5,169,159,5,5,39,165,5,5,42,170,5,5,43,170,5,5,44,170,5,5,45,170,5,5,46,170,5,5,47,170,5,5,198,175,5,5,199,175,5,5,200,175,5,5,201,175,5,5,202,175,5,5,203,175,5,5,204,175,5,5,205,175,5,5,206,175,5,5,207,175,5,5,208,175,5,5,209,175,5,5,210,175,5,5,211,175,5,5,212,175,5,5,213,175,5,5,214,175,5,5,215,175,5,5,216,175,5,5,217,175,5,5,218,175,5,5,219,175,5,5,220,175,5,5,221,175,5,5,73,182,5,5,74,182,5,5,75,182,5,5,76,182,5,5,77,182,5,5,78,182,5,5,79,182,5,5,80,182,5,5,81,182,5,5,82,182,5,5,83,182,5,5,84,182,5,5,85,182,5,5,86,182,5,5,87,182,5,5,88,182,5,5,89,182,5,5,90,182,5,5,91,182,5,5,92,182,5,5,93,182,5,5,94,182,5,5,95,182,5,5,4,190,5,5,5,190,5,5,96,182,5,5,97,182,5,5,98,182,5,5,99,182,5,5,100,182,5,5,101,182,5,5,6,190,5,5,7,190,5,5,8,190,5,5,9,190,5,5,10,190,5,5,11,190,5,5,12,190,5,5,13,190,5,5,14,190,5,5,15,190,5,5,16,190,5,5,17,190,5,5,18,190,5,5,19,190,5,5,20,190,5,5,21,190,5,5,22,190,5,5,23,190,5,5,102,182,5,5,27,190,5,5,24,190,5,5,25,198,5,5,26,198,5,5,27,198,5,5,28,198,5,5,29,198,5,5,30,198,5,5,31,198,5,5,32,198,5,5,33,198,5,5,34,198,5,5,35,198,5,5,36,198,5,5,37,198,5,5,38,198,5,5,39,198,5,5,40,198,5,5,204,205,5,5,205,205,5,5,206,205,5,5,207,205,5,5,208,205,5,5,209,205,5,5,210,205,5,5,211,205,5,5,212,205,5,5,213,205,5,5,214,205,5,5,215,205,5,5,216,205,5,5,217,205,5,5,218,205,5,5,236,205,5,5,219,205,5,5,220,205,5,5,221,205,5,5,222,205,5,5,223,205,5,5,224,205,5,5,225,205,5,5,226,205,5,5,227,205,5,5,228,205,5,5,229,205,5,5,230,205,5,5,49,213,5,5,50,213,5,5,51,213,5,5,52,213,5,5,53,213,5,5,54,213,5,5,55,213,5,5,56,213,5,5,57,213,5,5,58,213,5,5,59,213,5,5,237,205,5,5,60,213,5,5,61,213,5,5,62,213,5,5,63,213,5,5,64,213,5,5,65,213,5,5,66,213,5,5,67,213,5,5,68,213,5,5,69,213,5,5,70,213,5,5,71,213,5,5,72,213,5,5,28,220,5,5,29,220,5,5,30,220,5,5,31,220,5,5,32,220,5,5,33,220,5,5,34,220,5,5,35,220,5,5,36,220,5,5,37,220,5,5,38,220,5,5,39,220,5,5,40,220,5,5,163,226,5,5,164,226,5,5,165,226,5,5,166,226,5,5,167,226,5,5,168,226,5,5,169,226,5,5,170,226,5,5,171,226,5,5,172,226,5,5,173,226,5,5,174,226,5,5,175,226,5,5,176,226,5,5,177,226,5,5,178,226,5,5,216,231,5,5,183,226,5,5,217,231,5,5,218,231,5,5,219,231,5,5,220,231,5,5,221,231,5,5,222,231,5,5,223,231,5,5,224,231,5,5,225,231,5,5,226,231,5,5,227,231,5,5,228,231,5,5,229,231,5,5,230,231,5,5,231,231,5,5,232,231,5,5,233,231,5,5,234,231,5,5,51,236,5,5,52,236,5,5,53,236,5,5,54,236,5,5,55,236,5,5,56,236,5,5,57,236,5,5,58,236,5,5,59,236,5,5,60,236,5,5,61,236,5,5,188,239,5,5,189,239,5,5,190,239,5,5,191,239,5,5,192,239,5,5,193,239,5,5,194,239,5,5,195,239,5,5,188,242,5,5,189,242,5,5,190,242,5,5,191,242,5,5,192,242,5,5,2,245,5,5,3,245,5,5,4,245,5,5,5,245,5,5,239,247,5,5,214,248,5,5,216,248,5,5,215,248,5,5,125,249,5,5,126,249,5,5,231,249,5,5,170,159,5,5,224,175,5,5,105,182,5,5,43,198,5,5,44,198,5,5,238,205,5,5,127,249,5,5,171,159,5,5,40,165,5,5,48,170,5,5,49,170,5,5,225,175,5,5,226,175,5,5,227,175,5,5,106,182,5,5,28,190,5,5,29,190,5,5,45,198,5,5,46,198,5,5,239,205,5,5,238,231,5,5,239,231,5,5,199,239,5,5,193,242,5,5,172,159,5,5,41,165,5,5,42,165,5,5,43,165,5,5,50,170,5,5,51,170,5,5,52,170,5,5,53,170,5,5,54,170,5,5,55,170,5,5,56,170,5,5,57,170,5,5,58,170,5,5,59,170,5,5,60,170,5,5,229,175,5,5,230,175,5,5,231,175,5,5,232,175,5,5,233,175,5,5,234,175,5,5,235,175,5,5,236,175,5,5,237,175,5,5,238,175,5,5,239,175,5,5,240,175,5,5,241,175,5,5,242,175,5,5,243,175,5,5,244,175,5,5,245,175,5,5,246,175,5,5,247,175,5,5,248,175,5,5,249,175,5,5,250,175,5,5,251,175,5,5,252,175,5,5,253,175,5,5,254,175,5,5,255,175,5,5,107,182,5,5,108,182,5,5,109,182,5,5,110,182,5,5,111,182,5,5,112,182,5,5,113,182,5,5,114,182,5,5,115,182,5,5,30,190,5,5,116,182,5,5,117,182,5,5,118,182,5,5,119,182,5,5,120,182,5,5,121,182,5,5,122,182,5,5,123,182,5,5,124,182,5,5,125,182,5,5,126,182,5,5,127,182,5,5,128,182,5,5,129,182,5,5,130,182,5,5,131,182,5,5,132,182,5,5,133,182,5,5,134,182,5,5,135,182,5,5,136,182,5,5,137,182,5,5,138,182,5,5,139,182,5,5,140,182,5,5,141,182,5,5,142,182,5,5,31,190,5,5,32,190,5,5,33,190,5,5,34,190,5,5,35,190,5,5,36,190,5,5,37,190,5,5,38,190,5,5,39,190,5,5,40,190,5,5,41,190,5,5,42,190,5,5,43,190,5,5,44,190,5,5,45,190,5,5,46,190,5,5,47,190,5,5,48,190,5,5,49,190,5,5,50,190,5,5,51,190,5,5,52,190,5,5,53,190,5,5,54,190,5,5,55,190,5,5,56,190,5,5,47,198,5,5,48,198,5,5,49,198,5,5,50,198,5,5,51,198,5,5,52,198,5,5,53,198,5,5,54,198,5,5,55,198,5,5,56,198,5,5,57,198,5,5,58,198,5,5,59,198,5,5,60,198,5,5,61,198,5,5,62,198,5,5,63,198,5,5,64,198,5,5,65,198,5,5,66,198,5,5,67,198,5,5,68,198,5,5,69,198,5,5,70,198,5,5,71,198,5,5,72,198,5,5,73,198,5,5,74,198,5,5,240,205,5,5,241,205,5,5,242,205,5,5,243,205,5,5,244,205,5,5,245,205,5,5,76,213,5,5,246,205,5,5,247,205,5,5,248,205,5,5,249,205,5,5,250,205,5,5,251,205,5,5,252,205,5,5,253,205,5,5,254,205,5,5,255,205,5,5,2,206,5,5,3,206,5,5,4,206,5,5,5,206,5,5,6,206,5,5,7,206,5,5,8,206,5,5,9,206,5,5,10,206,5,5,11,206,5,5,12,206,5,5,13,206,5,5,14,206,5,5,15,206,5,5,16,206,5,5,17,206,5,5,18,206,5,5,19,206,5,5,20,206,5,5,21,206,5,5,77,213,5,5,78,213,5,5,79,213,5,5,80,213,5,5,81,213,5,5,82,213,5,5,83,213,5,5,84,213,5,5,85,213,5,5,86,213,5,5,87,213,5,5,88,213,5,5,89,213,5,5,90,213,5,5,91,213,5,5,92,213,5,5,93,213,5,5,94,213,5,5,95,213,5,5,22,206,5,5,96,213,5,5,97,213,5,5,98,213,5,5,99,213,5,5,100,213,5,5,101,213,5,5,102,213,5,5,103,213,5,5,104,213,5,5,43,220,5,5,44,220,5,5,45,220,5,5,46,220,5,5,47,220,5,5,48,220,5,5,49,220,5,5,105,213,5,5,50,220,5,5,51,220,5,5,52,220,5,5,53,220,5,5,54,220,5,5,55,220,5,5,56,220,5,5,57,220,5,5,58,220,5,5,59,220,5,5,60,220,5,5,61,220,5,5,62,220,5,5,63,220,5,5,64,220,5,5,65,220,5,5,66,220,5,5,67,220,5,5,68,220,5,5,69,220,5,5,184,226,5,5,70,220,5,5,71,220,5,5,72,220,5,5,186,226,5,5,187,226,5,5,185,226,5,5,188,226,5,5,189,226,5,5,190,226,5,5,191,226,5,5,192,226,5,5,193,226,5,5,194,226,5,5,73,220,5,5,195,226,5,5,196,226,5,5,197,226,5,5,198,226,5,5,199,226,5,5,200,226,5,5,201,226,5,5,202,226,5,5,203,226,5,5,204,226,5,5,240,231,5,5,241,231,5,5,242,231,5,5,243,231,5,5,244,231,5,5,245,231,5,5,246,231,5,5,247,231,5,5,248,231,5,5,249,231,5,5,250,231,5,5,251,231,5,5,252,231,5,5,253,231,5,5,254,231,5,5,255,231,5,5,2,232,5,5,3,232,5,5,4,232,5,5,5,232,5,5,6,232,5,5,7,232,5,5,8,232,5,5,63,236,5,5,64,236,5,5,65,236,5,5,66,236,5,5,67,236,5,5,68,236,5,5,69,236,5,5,70,236,5,5,71,236,5,5,72,236,5,5,73,236,5,5,74,236,5,5,75,236,5,5,76,236,5,5,77,236,5,5,78,236,5,5,79,236,5,5,200,239,5,5,201,239,5,5,202,239,5,5,203,239,5,5,204,239,5,5,205,239,5,5,206,239,5,5,207,239,5,5,208,239,5,5,209,239,5,5,210,239,5,5,194,242,5,5,195,242,5,5,196,242,5,5,197,242,5,5,198,242,5,5,199,242,5,5,200,242,5,5,201,242,5,5,202,242,5,5,203,242,5,5,204,242,5,5,6,245,5,5,7,245,5,5,8,245,5,5,9,245,5,5,10,245,5,5,11,245,5,5,12,245,5,5,13,245,5,5,181,246,5,5,240,247,5,5,241,247,5,5,217,248,5,5,128,249,5,5,173,159,5,5,104,158,5,5,166,161,5,5,45,165,5,5,62,170,5,5,63,170,5,5,64,170,5,5,65,170,5,5,66,170,5,5,67,170,5,5,5,176,5,5,6,176,5,5,7,176,5,5,8,176,5,5,9,176,5,5,10,176,5,5,11,176,5,5,12,176,5,5,13,176,5,5,14,176,5,5,15,176,5,5,147,182,5,5,148,182,5,5,149,182,5,5,150,182,5,5,151,182,5,5,152,182,5,5,153,182,5,5,154,182,5,5,155,182,5,5,156,182,5,5,157,182,5,5,158,182,5,5,159,182,5,5,160,182,5,5,161,182,5,5,162,182,5,5,163,182,5,5,164,182,5,5,58,190,5,5,165,182,5,5,59,190,5,5,60,190,5,5,61,190,5,5,76,198,5,5,62,190,5,5,63,190,5,5,64,190,5,5,65,190,5,5,66,190,5,5,67,190,5,5,68,190,5,5,69,190,5,5,70,190,5,5,77,198,5,5,78,198,5,5,79,198,5,5,80,198,5,5,81,198,5,5,82,198,5,5,83,198,5,5,84,198,5,5,85,198,5,5,25,206,5,5,26,206,5,5,27,206,5,5,28,206,5,5,29,206,5,5,30,206,5,5,31,206,5,5,32,206,5,5,33,206,5,5,34,206,5,5,35,206,5,5,86,198,5,5,36,206,5,5,37,206,5,5,107,213,5,5,108,213,5,5,109,213,5,5,110,213,5,5,111,213,5,5,112,213,5,5,113,213,5,5,114,213,5,5,115,213,5,5,116,213,5,5,117,213,5,5,118,213,5,5,119,213,5,5,120,213,5,5,121,213,5,5,122,213,5,5,123,213,5,5,124,213,5,5,125,213,5,5,77,220,5,5,78,220,5,5,79,220,5,5,80,220,5,5,81,220,5,5,82,220,5,5,83,220,5,5,84,220,5,5,85,220,5,5,86,220,5,5,213,226,5,5,214,226,5,5,215,226,5,5,13,232,5,5,14,232,5,5,216,226,5,5,15,232,5,5,16,232,5,5,80,236,5,5,81,236,5,5,82,236,5,5,83,236,5,5,212,239,5,5,213,239,5,5,205,242,5,5,184,246,5,5,185,246,5,5,242,247,5,5,219,248,5,5,220,248,5,5,175,159,5,5,19,176,5,5,20,176,5,5,74,190,5,5,89,198,5,5,39,206,5,5,176,159,5,5,46,165,5,5,47,165,5,5,48,165,5,5,49,165,5,5,50,165,5,5,68,170,5,5,69,170,5,5,70,170,5,5,71,170,5,5,72,170,5,5,73,170,5,5,74,170,5,5,21,176,5,5,22,176,5,5,23,176,5,5,24,176,5,5,25,176,5,5,26,176,5,5,27,176,5,5,28,176,5,5,29,176,5,5,30,176,5,5,31,176,5,5,32,176,5,5,33,176,5,5,170,182,5,5,171,182,5,5,172,182,5,5,173,182,5,5,174,182,5,5,175,182,5,5,176,182,5,5,177,182,5,5,178,182,5,5,179,182,5,5,180,182,5,5,181,182,5,5,182,182,5,5,183,182,5,5,184,182,5,5,185,182,5,5,186,182,5,5,187,182,5,5,188,182,5,5,189,182,5,5,190,182,5,5,191,182,5,5,192,182,5,5,193,182,5,5,194,182,5,5,75,190,5,5,76,190,5,5,77,190,5,5,78,190,5,5,79,190,5,5,80,190,5,5,81,190,5,5,82,190,5,5,83,190,5,5,84,190,5,5,85,190,5,5,86,190,5,5,87,190,5,5,88,190,5,5,90,198,5,5,91,198,5,5,92,198,5,5,93,198,5,5,94,198,5,5,95,198,5,5,96,198,5,5,89,190,5,5,97,198,5,5,98,198,5,5,99,198,5,5,100,198,5,5,101,198,5,5,102,198,5,5,103,198,5,5,104,198,5,5,41,206,5,5,42,206,5,5,43,206,5,5,44,206,5,5,45,206,5,5,46,206,5,5,47,206,5,5,48,206,5,5,49,206,5,5,50,206,5,5,51,206,5,5,52,206,5,5,53,206,5,5,54,206,5,5,55,206,5,5,56,206,5,5,57,206,5,5,58,206,5,5,59,206,5,5,60,206,5,5,61,206,5,5,62,206,5,5,63,206,5,5,126,213,5,5,127,213,5,5,128,213,5,5,129,213,5,5,130,213,5,5,131,213,5,5,132,213,5,5,133,213,5,5,134,213,5,5,135,213,5,5,136,213,5,5,137,213,5,5,138,213,5,5,139,213,5,5,88,220,5,5,142,213,5,5,89,220,5,5,90,220,5,5,91,220,5,5,92,220,5,5,93,220,5,5,94,220,5,5,95,220,5,5,96,220,5,5,97,220,5,5,98,220,5,5,99,220,5,5,100,220,5,5,101,220,5,5,102,220,5,5,218,226,5,5,219,226,5,5,220,226,5,5,221,226,5,5,222,226,5,5,18,232,5,5,140,213,5,5,223,226,5,5,224,226,5,5,225,226,5,5,226,226,5,5,227,226,5,5,228,226,5,5,229,226,5,5,230,226,5,5,234,226,5,5,19,232,5,5,20,232,5,5,21,232,5,5,22,232,5,5,23,232,5,5,24,232,5,5,25,232,5,5,26,232,5,5,27,232,5,5,28,232,5,5,29,232,5,5,85,236,5,5,86,236,5,5,87,236,5,5,88,236,5,5,89,236,5,5,215,239,5,5,216,239,5,5,217,239,5,5,218,239,5,5,219,239,5,5,220,239,5,5,221,239,5,5,222,239,5,5,206,242,5,5,207,242,5,5,208,242,5,5,209,242,5,5,186,246,5,5,187,246,5,5,222,248,5,5,221,248,5,5,177,159,5,5,167,161,5,5,52,165,5,5,53,165,5,5,75,170,5,5,76,170,5,5,77,170,5,5,78,170,5,5,37,176,5,5,38,176,5,5,39,176,5,5,40,176,5,5,41,176,5,5,42,176,5,5,43,176,5,5,44,176,5,5,195,182,5,5,196,182,5,5,197,182,5,5,198,182,5,5,199,182,5,5,200,182,5,5,201,182,5,5,202,182,5,5,203,182,5,5,204,182,5,5,205,182,5,5,94,190,5,5,95,190,5,5,96,190,5,5,97,190,5,5,98,190,5,5,99,190,5,5,100,190,5,5,106,198,5,5,107,198,5,5,108,198,5,5,109,198,5,5,101,190,5,5,110,198,5,5,111,198,5,5,112,198,5,5,67,206,5,5,68,206,5,5,69,206,5,5,70,206,5,5,71,206,5,5,72,206,5,5,73,206,5,5,74,206,5,5,75,206,5,5,76,206,5,5,143,213,5,5,144,213,5,5,145,213,5,5,146,213,5,5,147,213,5,5,148,213,5,5,107,220,5,5,108,220,5,5,109,220,5,5,110,220,5,5,111,220,5,5,112,220,5,5,113,220,5,5,235,226,5,5,236,226,5,5,237,226,5,5,238,226,5,5,239,226,5,5,240,226,5,5,241,226,5,5,242,226,5,5,243,226,5,5,31,232,5,5,32,232,5,5,33,232,5,5,34,232,5,5,35,232,5,5,18,245,5,5,92,236,5,5,93,236,5,5,225,239,5,5,210,242,5,5,19,245,5,5,20,245,5,5,188,246,5,5,178,159,5,5,54,165,5,5,55,165,5,5,80,170,5,5,81,170,5,5,47,176,5,5,48,176,5,5,49,176,5,5,50,176,5,5,51,176,5,5,52,176,5,5,53,176,5,5,54,176,5,5,207,182,5,5,208,182,5,5,209,182,5,5,210,182,5,5,211,182,5,5,212,182,5,5,213,182,5,5,64,193,5,5,65,193,5,5,102,190,5,5,113,198,5,5,114,198,5,5,115,198,5,5,116,198,5,5,117,198,5,5,118,198,5,5,78,206,5,5,79,206,5,5,80,206,5,5,81,206,5,5,150,213,5,5,151,213,5,5,155,213,5,5,152,213,5,5,153,213,5,5,245,226,5,5,37,232,5,5,38,232,5,5,39,232,5,5,94,236,5,5,211,242,5,5,212,242,5,5,189,246,5,5,168,161,5,5,83,170,5,5,84,170,5,5,55,176,5,5,56,176,5,5,57,176,5,5,58,176,5,5,59,176,5,5,60,176,5,5,61,176,5,5,62,176,5,5,234,182,5,5,215,182,5,5,216,182,5,5,217,182,5,5,218,182,5,5,219,182,5,5,220,182,5,5,221,182,5,5,222,182,5,5,223,182,5,5,224,182,5,5,225,182,5,5,226,182,5,5,227,182,5,5,228,182,5,5,229,182,5,5,230,182,5,5,231,182,5,5,103,190,5,5,104,190,5,5,105,190,5,5,106,190,5,5,107,190,5,5,108,190,5,5,109,190,5,5,110,190,5,5,111,190,5,5,112,190,5,5,113,190,5,5,114,190,5,5,115,190,5,5,116,190,5,5,117,190,5,5,118,190,5,5,119,190,5,5,120,190,5,5,121,190,5,5,122,190,5,5,123,190,5,5,124,190,5,5,125,190,5,5,126,190,5,5,127,190,5,5,128,190,5,5,129,190,5,5,130,190,5,5,131,190,5,5,132,190,5,5,133,190,5,5,134,190,5,5,135,190,5,5,136,190,5,5,137,190,5,5,138,190,5,5,139,190,5,5,140,190,5,5,141,190,5,5,142,190,5,5,143,190,5,5,119,198,5,5,120,198,5,5,121,198,5,5,122,198,5,5,123,198,5,5,124,198,5,5,125,198,5,5,126,198,5,5,127,198,5,5,128,198,5,5,129,198,5,5,130,198,5,5,131,198,5,5,132,198,5,5,133,198,5,5,134,198,5,5,135,198,5,5,136,198,5,5,137,198,5,5,138,198,5,5,139,198,5,5,140,198,5,5,141,198,5,5,142,198,5,5,143,198,5,5,144,198,5,5,145,198,5,5,146,198,5,5,147,198,5,5,148,198,5,5,149,198,5,5,84,206,5,5,85,206,5,5,86,206,5,5,87,206,5,5,88,206,5,5,89,206,5,5,90,206,5,5,91,206,5,5,92,206,5,5,93,206,5,5,94,206,5,5,95,206,5,5,96,206,5,5,97,206,5,5,153,198,5,5,98,206,5,5,99,206,5,5,100,206,5,5,101,206,5,5,102,206,5,5,103,206,5,5,104,206,5,5,105,206,5,5,156,213,5,5,106,206,5,5,107,206,5,5,108,206,5,5,109,206,5,5,110,206,5,5,111,206,5,5,112,206,5,5,113,206,5,5,114,206,5,5,115,206,5,5,116,206,5,5,157,213,5,5,158,213,5,5,159,213,5,5,160,213,5,5,161,213,5,5,162,213,5,5,163,213,5,5,164,213,5,5,165,213,5,5,166,213,5,5,167,213,5,5,168,213,5,5,169,213,5,5,170,213,5,5,171,213,5,5,172,213,5,5,173,213,5,5,174,213,5,5,175,213,5,5,176,213,5,5,177,213,5,5,178,213,5,5,179,213,5,5,180,213,5,5,181,213,5,5,182,213,5,5,183,213,5,5,184,213,5,5,185,213,5,5,186,213,5,5,187,213,5,5,188,213,5,5,189,213,5,5,190,213,5,5,191,213,5,5,192,213,5,5,193,213,5,5,194,213,5,5,195,213,5,5,196,213,5,5,197,213,5,5,198,213,5,5,199,213,5,5,114,220,5,5,115,220,5,5,116,220,5,5,117,220,5,5,118,220,5,5,119,220,5,5,120,220,5,5,121,220,5,5,122,220,5,5,123,220,5,5,124,220,5,5,125,220,5,5,216,213,5,5,126,220,5,5,127,220,5,5,128,220,5,5,129,220,5,5,130,220,5,5,131,220,5,5,132,220,5,5,117,206,5,5,133,220,5,5,134,220,5,5,135,220,5,5,136,220,5,5,137,220,5,5,138,220,5,5,139,220,5,5,140,220,5,5,247,226,5,5,141,220,5,5,142,220,5,5,143,220,5,5,144,220,5,5,145,220,5,5,146,220,5,5,147,220,5,5,148,220,5,5,149,220,5,5,150,220,5,5,248,226,5,5,249,226,5,5,250,226,5,5,251,226,5,5,252,226,5,5,253,226,5,5,254,226,5,5,255,226,5,5,2,227,5,5,3,227,5,5,4,227,5,5,5,227,5,5,6,227,5,5,7,227,5,5,8,227,5,5,9,227,5,5,10,227,5,5,11,227,5,5,12,227,5,5,13,227,5,5,14,227,5,5,15,227,5,5,16,227,5,5,17,227,5,5,18,227,5,5,19,227,5,5,20,227,5,5,21,227,5,5,42,232,5,5,43,232,5,5,44,232,5,5,45,232,5,5,46,232,5,5,47,232,5,5,48,232,5,5,49,232,5,5,50,232,5,5,33,227,5,5,51,232,5,5,52,232,5,5,53,232,5,5,54,232,5,5,55,232,5,5,56,232,5,5,57,232,5,5,58,232,5,5,59,232,5,5,60,232,5,5,61,232,5,5,62,232,5,5,63,232,5,5,64,232,5,5,65,232,5,5,66,232,5,5,67,232,5,5,68,232,5,5,69,232,5,5,70,232,5,5,71,232,5,5,72,232,5,5,73,232,5,5,22,227,5,5,74,232,5,5,75,232,5,5,76,232,5,5,41,232,5,5,77,232,5,5,78,232,5,5,89,232,5,5,95,236,5,5,96,236,5,5,97,236,5,5,98,236,5,5,99,236,5,5,100,236,5,5,101,236,5,5,102,236,5,5,103,236,5,5,104,236,5,5,105,236,5,5,106,236,5,5,107,236,5,5,108,236,5,5,109,236,5,5,110,236,5,5,111,236,5,5,112,236,5,5,113,236,5,5,226,239,5,5,114,236,5,5,115,236,5,5,116,236,5,5,117,236,5,5,118,236,5,5,119,236,5,5,227,239,5,5,228,239,5,5,229,239,5,5,230,239,5,5,231,239,5,5,232,239,5,5,233,239,5,5,234,239,5,5,235,239,5,5,236,239,5,5,237,239,5,5,238,239,5,5,239,239,5,5,240,239,5,5,241,239,5,5,242,239,5,5,213,242,5,5,214,242,5,5,215,242,5,5,216,242,5,5,217,242,5,5,218,242,5,5,219,242,5,5,220,242,5,5,221,242,5,5,222,242,5,5,223,242,5,5,224,242,5,5,225,242,5,5,22,245,5,5,23,245,5,5,24,245,5,5,25,245,5,5,26,245,5,5,226,242,5,5,21,245,5,5,190,246,5,5,191,246,5,5,192,246,5,5,193,246,5,5,194,246,5,5,195,246,5,5,196,246,5,5,243,247,5,5,197,246,5,5,198,246,5,5,199,246,5,5,244,247,5,5,245,247,5,5,246,247,5,5,247,247,5,5,248,247,5,5,249,247,5,5,250,247,5,5,129,249,5,5,223,248,5,5,130,249,5,5,131,249,5,5,132,249,5,5,133,249,5,5,232,249,5,5,233,249,5,5,140,250,5,5,160,250,5,5,169,161,5,5,85,170,5,5,86,170,5,5,87,170,5,5,65,176,5,5,66,176,5,5,67,176,5,5,68,176,5,5,69,176,5,5,70,176,5,5,71,176,5,5,72,176,5,5,73,176,5,5,74,176,5,5,75,176,5,5,76,176,5,5,235,182,5,5,236,182,5,5,237,182,5,5,238,182,5,5,239,182,5,5,240,182,5,5,241,182,5,5,242,182,5,5,243,182,5,5,244,182,5,5,245,182,5,5,246,182,5,5,247,182,5,5,248,182,5,5,249,182,5,5,145,190,5,5,146,190,5,5,147,190,5,5,148,190,5,5,149,190,5,5,150,190,5,5,151,190,5,5,152,190,5,5,153,190,5,5,154,190,5,5,155,190,5,5,156,190,5,5,154,198,5,5,155,198,5,5,156,198,5,5,157,198,5,5,158,198,5,5,157,190,5,5,159,198,5,5,160,198,5,5,161,198,5,5,162,198,5,5,163,198,5,5,164,198,5,5,165,198,5,5,166,198,5,5,167,198,5,5,168,198,5,5,128,206,5,5,129,206,5,5,130,206,5,5,131,206,5,5,132,206,5,5,133,206,5,5,134,206,5,5,135,206,5,5,217,213,5,5,218,213,5,5,219,213,5,5,220,213,5,5,221,213,5,5,222,213,5,5,223,213,5,5,224,213,5,5,225,213,5,5,226,213,5,5,136,206,5,5,227,213,5,5,170,220,5,5,171,220,5,5,172,220,5,5,173,220,5,5,174,220,5,5,175,220,5,5,176,220,5,5,177,220,5,5,178,220,5,5,179,220,5,5,180,220,5,5,181,220,5,5,182,220,5,5,34,227,5,5,35,227,5,5,36,227,5,5,37,227,5,5,38,227,5,5,39,227,5,5,40,227,5,5,41,227,5,5,42,227,5,5,43,227,5,5,90,232,5,5,91,232,5,5,92,232,5,5,93,232,5,5,94,232,5,5,95,232,5,5,96,232,5,5,97,232,5,5,98,232,5,5,99,232,5,5,125,236,5,5,126,236,5,5,127,236,5,5,128,236,5,5,129,236,5,5,100,232,5,5,247,239,5,5,248,239,5,5,249,239,5,5,250,239,5,5,251,239,5,5,227,242,5,5,228,242,5,5,229,242,5,5,201,246,5,5,29,245,5,5,235,249,5,5,202,246,5,5,252,247,5,5,134,249,5,5,34,250,5,5,170,161,5,5,171,161,5,5,56,165,5,5,57,165,5,5,88,170,5,5,89,170,5,5,90,170,5,5,91,170,5,5,78,176,5,5,79,176,5,5,80,176,5,5,81,176,5,5,82,176,5,5,83,176,5,5,84,176,5,5,85,176,5,5,86,176,5,5,87,176,5,5,250,182,5,5,251,182,5,5,252,182,5,5,253,182,5,5,254,182,5,5,255,182,5,5,2,183,5,5,3,183,5,5,4,183,5,5,5,183,5,5,6,183,5,5,7,183,5,5,8,183,5,5,9,183,5,5,10,183,5,5,11,183,5,5,12,183,5,5,13,183,5,5,14,183,5,5,15,183,5,5,16,183,5,5,17,183,5,5,18,183,5,5,19,183,5,5,20,183,5,5,21,183,5,5,22,183,5,5,23,183,5,5,24,183,5,5,25,183,5,5,159,190,5,5,160,190,5,5,170,198,5,5,171,198,5,5,161,190,5,5,162,190,5,5,163,190,5,5,164,190,5,5,165,190,5,5,166,190,5,5,167,190,5,5,168,190,5,5,169,190,5,5,170,190,5,5,171,190,5,5,172,190,5,5,173,190,5,5,174,190,5,5,175,190,5,5,176,190,5,5,177,190,5,5,178,190,5,5,179,190,5,5,180,190,5,5,181,190,5,5,182,190,5,5,183,190,5,5,184,190,5,5,185,190,5,5,186,190,5,5,187,190,5,5,188,190,5,5,189,190,5,5,190,190,5,5,191,190,5,5,192,190,5,5,193,190,5,5,172,198,5,5,173,198,5,5,174,198,5,5,175,198,5,5,176,198,5,5,177,198,5,5,178,198,5,5,179,198,5,5,180,198,5,5,181,198,5,5,182,198,5,5,183,198,5,5,184,198,5,5,185,198,5,5,141,206,5,5,186,198,5,5,187,198,5,5,188,198,5,5,189,198,5,5,190,198,5,5,191,198,5,5,192,198,5,5,193,198,5,5,194,198,5,5,195,198,5,5,196,198,5,5,197,198,5,5,198,198,5,5,199,198,5,5,200,198,5,5,201,198,5,5,202,198,5,5,203,198,5,5,204,198,5,5,205,198,5,5,206,198,5,5,207,198,5,5,208,198,5,5,209,198,5,5,210,198,5,5,211,198,5,5,212,198,5,5,213,198,5,5,142,206,5,5,143,206,5,5,144,206,5,5,145,206,5,5,146,206,5,5,147,206,5,5,214,198,5,5,148,206,5,5,149,206,5,5,150,206,5,5,151,206,5,5,152,206,5,5,153,206,5,5,154,206,5,5,155,206,5,5,156,206,5,5,157,206,5,5,158,206,5,5,159,206,5,5,160,206,5,5,161,206,5,5,162,206,5,5,163,206,5,5,164,206,5,5,165,206,5,5,166,206,5,5,167,206,5,5,168,206,5,5,169,206,5,5,170,206,5,5,230,213,5,5,171,206,5,5,172,206,5,5,173,206,5,5,174,206,5,5,175,206,5,5,232,213,5,5,233,213,5,5,234,213,5,5,235,213,5,5,236,213,5,5,237,213,5,5,238,213,5,5,239,213,5,5,240,213,5,5,241,213,5,5,242,213,5,5,243,213,5,5,244,213,5,5,245,213,5,5,246,213,5,5,247,213,5,5,248,213,5,5,249,213,5,5,250,213,5,5,251,213,5,5,252,213,5,5,253,213,5,5,254,213,5,5,255,213,5,5,2,214,5,5,3,214,5,5,4,214,5,5,5,214,5,5,6,214,5,5,7,214,5,5,8,214,5,5,9,214,5,5,10,214,5,5,11,214,5,5,12,214,5,5,13,214,5,5,14,214,5,5,15,214,5,5,16,214,5,5,17,214,5,5,18,214,5,5,19,214,5,5,20,214,5,5,21,214,5,5,22,214,5,5,23,214,5,5,24,214,5,5,25,214,5,5,26,214,5,5,27,214,5,5,28,214,5,5,29,214,5,5,231,213,5,5,30,214,5,5,31,214,5,5,186,220,5,5,32,214,5,5,33,214,5,5,187,220,5,5,188,220,5,5,189,220,5,5,190,220,5,5,191,220,5,5,192,220,5,5,193,220,5,5,194,220,5,5,195,220,5,5,196,220,5,5,197,220,5,5,198,220,5,5,199,220,5,5,200,220,5,5,201,220,5,5,202,220,5,5,203,220,5,5,204,220,5,5,205,220,5,5,206,220,5,5,207,220,5,5,208,220,5,5,209,220,5,5,210,220,5,5,211,220,5,5,212,220,5,5,213,220,5,5,214,220,5,5,215,220,5,5,216,220,5,5,217,220,5,5,218,220,5,5,219,220,5,5,220,220,5,5,221,220,5,5,222,220,5,5,223,220,5,5,224,220,5,5,225,220,5,5,226,220,5,5,227,220,5,5,228,220,5,5,229,220,5,5,230,220,5,5,231,220,5,5,232,220,5,5,233,220,5,5,234,220,5,5,235,220,5,5,236,220,5,5,45,227,5,5,46,227,5,5,47,227,5,5,48,227,5,5,49,227,5,5,50,227,5,5,51,227,5,5,52,227,5,5,53,227,5,5,54,227,5,5,55,227,5,5,56,227,5,5,57,227,5,5,58,227,5,5,59,227,5,5,60,227,5,5,61,227,5,5,62,227,5,5,63,227,5,5,64,227,5,5,65,227,5,5,66,227,5,5,67,227,5,5,68,227,5,5,69,227,5,5,70,227,5,5,71,227,5,5,72,227,5,5,73,227,5,5,74,227,5,5,75,227,5,5,76,227,5,5,77,227,5,5,102,232,5,5,103,232,5,5,104,232,5,5,105,232,5,5,106,232,5,5,107,232,5,5,108,232,5,5,109,232,5,5,110,232,5,5,111,232,5,5,112,232,5,5,113,232,5,5,114,232,5,5,115,232,5,5,116,232,5,5,117,232,5,5,118,232,5,5,119,232,5,5,120,232,5,5,121,232,5,5,122,232,5,5,123,232,5,5,124,232,5,5,125,232,5,5,126,232,5,5,127,232,5,5,128,232,5,5,129,232,5,5,130,232,5,5,131,232,5,5,132,232,5,5,139,232,5,5,133,232,5,5,134,232,5,5,253,239,5,5,135,232,5,5,136,232,5,5,132,236,5,5,133,236,5,5,134,236,5,5,135,236,5,5,136,236,5,5,137,236,5,5,138,236,5,5,139,236,5,5,140,236,5,5,141,236,5,5,142,236,5,5,143,236,5,5,144,236,5,5,145,236,5,5,146,236,5,5,147,236,5,5,148,236,5,5,149,236,5,5,150,236,5,5,151,236,5,5,152,236,5,5,153,236,5,5,154,236,5,5,155,236,5,5,254,239,5,5,156,236,5,5,255,239,5,5,2,240,5,5,3,240,5,5,4,240,5,5,5,240,5,5,6,240,5,5,7,240,5,5,8,240,5,5,9,240,5,5,157,236,5,5,10,240,5,5,11,240,5,5,12,240,5,5,13,240,5,5,14,240,5,5,15,240,5,5,16,240,5,5,17,240,5,5,18,240,5,5,231,242,5,5,232,242,5,5,233,242,5,5,234,242,5,5,235,242,5,5,236,242,5,5,237,242,5,5,238,242,5,5,239,242,5,5,30,245,5,5,31,245,5,5,32,245,5,5,33,245,5,5,34,245,5,5,35,245,5,5,36,245,5,5,37,245,5,5,38,245,5,5,39,245,5,5,40,245,5,5,41,245,5,5,42,245,5,5,203,246,5,5,204,246,5,5,253,247,5,5,254,247,5,5,255,247,5,5,2,248,5,5,225,248,5,5,135,249,5,5,136,249,5,5,137,249,5,5,138,249,5,5,35,250,5,5,36,250,5,5,123,250,5,5,150,157,5,5,179,159,5,5,172,161,5,5,173,161,5,5,174,161,5,5,175,161,5,5,176,161,5,5,177,161,5,5,178,161,5,5,179,161,5,5,180,161,5,5,181,161,5,5,182,161,5,5,59,165,5,5,60,165,5,5,61,165,5,5,62,165,5,5,63,165,5,5,64,165,5,5,65,165,5,5,66,165,5,5,67,165,5,5,68,165,5,5,58,165,5,5,69,165,5,5,70,165,5,5,71,165,5,5,72,165,5,5,73,165,5,5,74,165,5,5,75,165,5,5,76,165,5,5,93,170,5,5,94,170,5,5,95,170,5,5,96,170,5,5,97,170,5,5,98,170,5,5,99,170,5,5,100,170,5,5,101,170,5,5,102,170,5,5,103,170,5,5,104,170,5,5,105,170,5,5,106,170,5,5,107,170,5,5,108,170,5,5,109,170,5,5,110,170,5,5,91,176,5,5,92,176,5,5,93,176,5,5,94,176,5,5,95,176,5,5,96,176,5,5,97,176,5,5,98,176,5,5,99,176,5,5,100,176,5,5,101,176,5,5,102,176,5,5,103,176,5,5,104,176,5,5,105,176,5,5,27,183,5,5,28,183,5,5,29,183,5,5,30,183,5,5,31,183,5,5,32,183,5,5,33,183,5,5,34,183,5,5,35,183,5,5,196,190,5,5,197,190,5,5,198,190,5,5,199,190,5,5,200,190,5,5,201,190,5,5,202,190,5,5,203,190,5,5,204,190,5,5,205,190,5,5,206,190,5,5,207,190,5,5,208,190,5,5,209,190,5,5,210,190,5,5,211,190,5,5,212,190,5,5,213,190,5,5,214,190,5,5,215,190,5,5,216,190,5,5,217,190,5,5,218,190,5,5,219,190,5,5,220,190,5,5,216,198,5,5,217,198,5,5,218,198,5,5,219,198,5,5,220,198,5,5,221,198,5,5,222,198,5,5,223,198,5,5,224,198,5,5,225,198,5,5,226,198,5,5,227,198,5,5,228,198,5,5,229,198,5,5,230,198,5,5,231,198,5,5,232,198,5,5,233,198,5,5,234,198,5,5,235,198,5,5,236,198,5,5,237,198,5,5,238,198,5,5,178,206,5,5,179,206,5,5,180,206,5,5,181,206,5,5,182,206,5,5,183,206,5,5,184,206,5,5,185,206,5,5,186,206,5,5,187,206,5,5,188,206,5,5,189,206,5,5,41,214,5,5,42,214,5,5,43,214,5,5,44,214,5,5,45,214,5,5,46,214,5,5,47,214,5,5,248,220,5,5,249,220,5,5,250,220,5,5,251,220,5,5,79,227,5,5,80,227,5,5,81,227,5,5,82,227,5,5,83,227,5,5,20,240,5,5,183,161,5,5,111,170,5,5,106,176,5,5,36,183,5,5,37,183,5,5,221,190,5,5,38,183,5,5,222,190,5,5,239,198,5,5,240,198,5,5,241,198,5,5,48,214,5,5,49,214,5,5,84,227,5,5,140,232,5,5,141,232,5,5,142,232,5,5,163,236,5,5,164,236,5,5,165,236,5,5,21,240,5,5,22,240,5,5,244,242,5,5,43,245,5,5,207,246,5,5,208,246,5,5,226,248,5,5,184,161,5,5,180,159,5,5,106,158,5,5,112,170,5,5,77,165,5,5,113,170,5,5,114,170,5,5,108,176,5,5,115,170,5,5,109,176,5,5,40,183,5,5,41,183,5,5,42,183,5,5,43,183,5,5,44,183,5,5,45,183,5,5,46,183,5,5,47,183,5,5,225,190,5,5,242,198,5,5,243,198,5,5,244,198,5,5,190,206,5,5,191,206,5,5,192,206,5,5,193,206,5,5,194,206,5,5,195,206,5,5,196,206,5,5,197,206,5,5,50,214,5,5,51,214,5,5,52,214,5,5,198,206,5,5,53,214,5,5,54,214,5,5,252,220,5,5,253,220,5,5,254,220,5,5,255,220,5,5,85,227,5,5,86,227,5,5,87,227,5,5,88,227,5,5,143,232,5,5,144,232,5,5,145,232,5,5,167,236,5,5,146,232,5,5,168,236,5,5,23,240,5,5,24,240,5,5,25,240,5,5,26,240,5,5,210,246,5,5,227,248,5,5,228,248,5,5,185,161,5,5,116,170,5,5,117,170,5,5,110,176,5,5,111,176,5,5,112,176,5,5,48,183,5,5,113,176,5,5,49,183,5,5,50,183,5,5,51,183,5,5,226,190,5,5,52,183,5,5,53,183,5,5,54,183,5,5,55,183,5,5,227,190,5,5,228,190,5,5,229,190,5,5,230,190,5,5,231,190,5,5,232,190,5,5,245,198,5,5,246,198,5,5,247,198,5,5,200,206,5,5,201,206,5,5,202,206,5,5,203,206,5,5,204,206,5,5,205,206,5,5,206,206,5,5,207,206,5,5,55,214,5,5,2,221,5,5,3,221,5,5,4,221,5,5,5,221,5,5,6,221,5,5,89,227,5,5,90,227,5,5,169,236,5,5,170,236,5,5,171,236,5,5,27,240,5,5,28,240,5,5,29,240,5,5,30,240,5,5,246,242,5,5,44,245,5,5,45,245,5,5,189,161,5,5,115,176,5,5,116,176,5,5,56,183,5,5,57,183,5,5,58,183,5,5,59,183,5,5,60,183,5,5,61,183,5,5,62,183,5,5,233,190,5,5,234,190,5,5,235,190,5,5,236,190,5,5,237,190,5,5,238,190,5,5,239,190,5,5,240,190,5,5,241,190,5,5,242,190,5,5,243,190,5,5,244,190,5,5,250,198,5,5,251,198,5,5,252,198,5,5,253,198,5,5,254,198,5,5,255,198,5,5,2,199,5,5,3,199,5,5,208,206,5,5,209,206,5,5,210,206,5,5,56,214,5,5,57,214,5,5,58,214,5,5,59,214,5,5,60,214,5,5,61,214,5,5,62,214,5,5,64,214,5,5,7,221,5,5,8,221,5,5,9,221,5,5,10,221,5,5,11,221,5,5,12,221,5,5,13,221,5,5,14,221,5,5,91,227,5,5,92,227,5,5,93,227,5,5,94,227,5,5,148,232,5,5,149,232,5,5,150,232,5,5,151,232,5,5,152,232,5,5,172,236,5,5,173,236,5,5,174,236,5,5,175,236,5,5,176,236,5,5,153,232,5,5,31,240,5,5,32,240,5,5,247,242,5,5,248,242,5,5,190,161,5,5,107,158,5,5,191,161,5,5,67,183,5,5,118,170,5,5,68,183,5,5,119,176,5,5,245,190,5,5,246,190,5,5,69,183,5,5,4,199,5,5,192,161,5,5,120,176,5,5,121,176,5,5,122,176,5,5,123,176,5,5,124,176,5,5,193,161,5,5,119,170,5,5,125,176,5,5,70,183,5,5,71,183,5,5,72,183,5,5,73,183,5,5,74,183,5,5,247,190,5,5,248,190,5,5,249,190,5,5,250,190,5,5,251,190,5,5,252,190,5,5,5,199,5,5,211,206,5,5,212,206,5,5,65,214,5,5,66,214,5,5,67,214,5,5,16,221,5,5,17,221,5,5,95,227,5,5,96,227,5,5,97,227,5,5,157,232,5,5,158,232,5,5,180,236,5,5,181,236,5,5,249,242,5,5,47,245,5,5,211,246,5,5,212,246,5,5,194,161,5,5,78,165,5,5,120,170,5,5,126,176,5,5,127,176,5,5,75,183,5,5,76,183,5,5,77,183,5,5,78,183,5,5,79,183,5,5,80,183,5,5,81,183,5,5,82,183,5,5,83,183,5,5,84,183,5,5,85,183,5,5,253,190,5,5,254,190,5,5,255,190,5,5,2,191,5,5,3,191,5,5,4,191,5,5,5,191,5,5,6,191,5,5,7,191,5,5,8,191,5,5,9,191,5,5,6,199,5,5,7,199,5,5,8,199,5,5,9,199,5,5,10,199,5,5,11,199,5,5,12,199,5,5,213,206,5,5,214,206,5,5,215,206,5,5,216,206,5,5,68,214,5,5,69,214,5,5,70,214,5,5,71,214,5,5,72,214,5,5,73,214,5,5,74,214,5,5,13,199,5,5,75,214,5,5,76,214,5,5,77,214,5,5,19,221,5,5,20,221,5,5,21,221,5,5,22,221,5,5,23,221,5,5,24,221,5,5,25,221,5,5,26,221,5,5,99,227,5,5,100,227,5,5,103,227,5,5,159,232,5,5,160,232,5,5,161,232,5,5,162,232,5,5,163,232,5,5,164,232,5,5,182,236,5,5,183,236,5,5,184,236,5,5,33,240,5,5,250,242,5,5,251,242,5,5,252,242,5,5,253,242,5,5,213,246,5,5,214,246,5,5,195,161,5,5,108,158,5,5,86,183,5,5,87,183,5,5,121,170,5,5,217,206,5,5,218,206,5,5,219,206,5,5,80,214,5,5,81,214,5,5,196,161,5,5,184,159,5,5,197,161,5,5,198,161,5,5,199,161,5,5,200,161,5,5,122,170,5,5,79,165,5,5,80,165,5,5,81,165,5,5,82,165,5,5,83,165,5,5,84,165,5,5,85,165,5,5,86,165,5,5,87,165,5,5,88,165,5,5,89,165,5,5,90,165,5,5,91,165,5,5,92,165,5,5,93,165,5,5,94,165,5,5,95,165,5,5,123,170,5,5,124,170,5,5,125,170,5,5,126,170,5,5,127,170,5,5,128,170,5,5,129,170,5,5,130,170,5,5,131,170,5,5,132,170,5,5,133,170,5,5,134,170,5,5,135,170,5,5,136,170,5,5,137,170,5,5,138,170,5,5,139,170,5,5,140,170,5,5,141,170,5,5,142,170,5,5,143,170,5,5,144,170,5,5,145,170,5,5,146,170,5,5,147,170,5,5,148,170,5,5,149,170,5,5,150,170,5,5,151,170,5,5,152,170,5,5,153,170,5,5,154,170,5,5,155,170,5,5,129,176,5,5,130,176,5,5,131,176,5,5,132,176,5,5,133,176,5,5,134,176,5,5,135,176,5,5,136,176,5,5,137,176,5,5,138,176,5,5,139,176,5,5,140,176,5,5,141,176,5,5,142,176,5,5,143,176,5,5,144,176,5,5,145,176,5,5,146,176,5,5,15,199,5,5,147,176,5,5,148,176,5,5,149,176,5,5,150,176,5,5,151,176,5,5,152,176,5,5,153,176,5,5,154,176,5,5,155,176,5,5,156,176,5,5,157,176,5,5,158,176,5,5,159,176,5,5,160,176,5,5,161,176,5,5,162,176,5,5,163,176,5,5,164,176,5,5,165,176,5,5,166,176,5,5,167,176,5,5,168,176,5,5,169,176,5,5,10,191,5,5,88,183,5,5,89,183,5,5,90,183,5,5,91,183,5,5,92,183,5,5,93,183,5,5,94,183,5,5,95,183,5,5,96,183,5,5,97,183,5,5,98,183,5,5,99,183,5,5,100,183,5,5,101,183,5,5,102,183,5,5,103,183,5,5,104,183,5,5,16,199,5,5,105,183,5,5,106,183,5,5,107,183,5,5,108,183,5,5,109,183,5,5,110,183,5,5,111,183,5,5,112,183,5,5,113,183,5,5,114,183,5,5,170,176,5,5,115,183,5,5,116,183,5,5,117,183,5,5,118,183,5,5,119,183,5,5,120,183,5,5,121,183,5,5,122,183,5,5,123,183,5,5,124,183,5,5,17,199,5,5,11,191,5,5,12,191,5,5,13,191,5,5,14,191,5,5,15,191,5,5,16,191,5,5,17,191,5,5,18,191,5,5,19,191,5,5,20,191,5,5,21,191,5,5,18,199,5,5,22,191,5,5,23,191,5,5,24,191,5,5,25,191,5,5,26,191,5,5,27,191,5,5,28,191,5,5,29,191,5,5,30,191,5,5,31,191,5,5,32,191,5,5,33,191,5,5,34,191,5,5,35,191,5,5,36,191,5,5,37,191,5,5,38,191,5,5,39,191,5,5,40,191,5,5,41,191,5,5,42,191,5,5,43,191,5,5,44,191,5,5,45,191,5,5,19,199,5,5,20,199,5,5,21,199,5,5,22,199,5,5,23,199,5,5,24,199,5,5,25,199,5,5,26,199,5,5,27,199,5,5,28,199,5,5,29,199,5,5,30,199,5,5,31,199,5,5,32,199,5,5,33,199,5,5,34,199,5,5,35,199,5,5,36,199,5,5,37,199,5,5,38,199,5,5,39,199,5,5,40,199,5,5,41,199,5,5,82,214,5,5,42,199,5,5,43,199,5,5,44,199,5,5,45,199,5,5,46,199,5,5,47,199,5,5,48,199,5,5,49,199,5,5,50,199,5,5,51,199,5,5,222,206,5,5,223,206,5,5,224,206,5,5,225,206,5,5,226,206,5,5,227,206,5,5,228,206,5,5,229,206,5,5,230,206,5,5,231,206,5,5,232,206,5,5,233,206,5,5,234,206,5,5,235,206,5,5,236,206,5,5,237,206,5,5,238,206,5,5,239,206,5,5,240,206,5,5,241,206,5,5,242,206,5,5,243,206,5,5,244,206,5,5,245,206,5,5,246,206,5,5,58,199,5,5,247,206,5,5,248,206,5,5,249,206,5,5,250,206,5,5,251,206,5,5,252,206,5,5,253,206,5,5,254,206,5,5,255,206,5,5,2,207,5,5,83,214,5,5,84,214,5,5,85,214,5,5,86,214,5,5,87,214,5,5,88,214,5,5,89,214,5,5,90,214,5,5,91,214,5,5,92,214,5,5,93,214,5,5,94,214,5,5,95,214,5,5,96,214,5,5,97,214,5,5,98,214,5,5,99,214,5,5,104,227,5,5,100,214,5,5,28,221,5,5,29,221,5,5,30,221,5,5,31,221,5,5,32,221,5,5,33,221,5,5,34,221,5,5,35,221,5,5,36,221,5,5,37,221,5,5,38,221,5,5,39,221,5,5,40,221,5,5,41,221,5,5,42,221,5,5,43,221,5,5,44,221,5,5,45,221,5,5,182,218,5,5,166,232,5,5,106,227,5,5,107,227,5,5,108,227,5,5,109,227,5,5,110,227,5,5,111,227,5,5,112,227,5,5,113,227,5,5,114,227,5,5,115,227,5,5,116,227,5,5,117,227,5,5,118,227,5,5,119,227,5,5,120,227,5,5,121,227,5,5,122,227,5,5,126,227,5,5,167,232,5,5,127,227,5,5,168,232,5,5,169,232,5,5,170,232,5,5,171,232,5,5,172,232,5,5,173,232,5,5,174,232,5,5,175,232,5,5,176,232,5,5,177,232,5,5,178,232,5,5,179,232,5,5,180,232,5,5,181,232,5,5,182,232,5,5,183,232,5,5,184,232,5,5,34,240,5,5,185,232,5,5,185,236,5,5,186,236,5,5,187,236,5,5,188,236,5,5,189,236,5,5,190,236,5,5,191,236,5,5,35,240,5,5,36,240,5,5,254,242,5,5,37,240,5,5,38,240,5,5,255,242,5,5,2,243,5,5,3,243,5,5,4,243,5,5,48,245,5,5,215,246,5,5,216,246,5,5,139,249,5,5,140,249,5,5,3,248,5,5,201,161,5,5,157,170,5,5,158,170,5,5,59,199,5,5,108,214,5,5,188,232,5,5,189,232,5,5,202,161,5,5,96,165,5,5,129,183,5,5,130,183,5,5,60,199,5,5,61,199,5,5,62,199,5,5,49,221,5,5,128,227,5,5,203,161,5,5,172,176,5,5,64,199,5,5,65,199,5,5,66,199,5,5,67,199,5,5,68,199,5,5,109,214,5,5,129,227,5,5,204,161,5,5,159,170,5,5,160,170,5,5,173,176,5,5,132,183,5,5,133,183,5,5,52,191,5,5,69,199,5,5,70,199,5,5,4,207,5,5,131,227,5,5,110,214,5,5,130,227,5,5,132,227,5,5,196,236,5,5,43,240,5,5,206,161,5,5,161,170,5,5,162,170,5,5,163,170,5,5,134,183,5,5,53,191,5,5,71,199,5,5,111,214,5,5,112,214,5,5,113,214,5,5,50,221,5,5,51,221,5,5,133,227,5,5,197,236,5,5,44,240,5,5,207,161,5,5,72,199,5,5,5,207,5,5,114,214,5,5,208,161,5,5,164,170,5,5,174,176,5,5,175,176,5,5,176,176,5,5,177,176,5,5,135,183,5,5,136,183,5,5,137,183,5,5,138,183,5,5,139,183,5,5,140,183,5,5,141,183,5,5,142,183,5,5,143,183,5,5,144,183,5,5,145,183,5,5,146,183,5,5,147,183,5,5,54,191,5,5,55,191,5,5,56,191,5,5,57,191,5,5,58,191,5,5,59,191,5,5,60,191,5,5,61,191,5,5,62,191,5,5,63,191,5,5,73,199,5,5,74,199,5,5,75,199,5,5,76,199,5,5,6,207,5,5,7,207,5,5,8,207,5,5,9,207,5,5,10,207,5,5,11,207,5,5,12,207,5,5,13,207,5,5,14,207,5,5,15,207,5,5,115,214,5,5,116,214,5,5,117,214,5,5,118,214,5,5,52,221,5,5,53,221,5,5,54,221,5,5,55,221,5,5,56,221,5,5,57,221,5,5,58,221,5,5,134,227,5,5,135,227,5,5,136,227,5,5,137,227,5,5,138,227,5,5,191,232,5,5,192,232,5,5,193,232,5,5,194,232,5,5,198,236,5,5,199,236,5,5,200,236,5,5,45,240,5,5,46,240,5,5,47,240,5,5,48,240,5,5,49,240,5,5,6,243,5,5,7,243,5,5,8,243,5,5,9,243,5,5,49,245,5,5,218,246,5,5,5,248,5,5,229,248,5,5,209,161,5,5,97,165,5,5,165,170,5,5,195,232,5,5,210,161,5,5,149,183,5,5,66,191,5,5,78,199,5,5,50,240,5,5,230,248,5,5,211,161,5,5,152,157,5,5,185,159,5,5,213,161,5,5,214,161,5,5,215,161,5,5,216,161,5,5,217,161,5,5,218,161,5,5,219,161,5,5,220,161,5,5,98,165,5,5,99,165,5,5,100,165,5,5,101,165,5,5,102,165,5,5,103,165,5,5,104,165,5,5,105,165,5,5,106,165,5,5,107,165,5,5,108,165,5,5,109,165,5,5,110,165,5,5,111,165,5,5,112,165,5,5,113,165,5,5,114,165,5,5,178,176,5,5,115,165,5,5,116,165,5,5,117,165,5,5,166,170,5,5,167,170,5,5,168,170,5,5,169,170,5,5,170,170,5,5,171,170,5,5,172,170,5,5,173,170,5,5,174,170,5,5,175,170,5,5,176,170,5,5,177,170,5,5,178,170,5,5,179,170,5,5,180,170,5,5,181,170,5,5,182,170,5,5,183,170,5,5,184,170,5,5,185,170,5,5,186,170,5,5,187,170,5,5,188,170,5,5,189,170,5,5,190,170,5,5,191,170,5,5,192,170,5,5,193,170,5,5,194,170,5,5,195,170,5,5,196,170,5,5,197,170,5,5,198,170,5,5,199,170,5,5,200,170,5,5,150,183,5,5,201,170,5,5,202,170,5,5,203,170,5,5,225,170,5,5,204,170,5,5,205,170,5,5,206,170,5,5,207,170,5,5,208,170,5,5,209,170,5,5,210,170,5,5,211,170,5,5,212,170,5,5,213,170,5,5,214,170,5,5,215,170,5,5,216,170,5,5,217,170,5,5,218,170,5,5,219,170,5,5,179,176,5,5,180,176,5,5,181,176,5,5,182,176,5,5,183,176,5,5,184,176,5,5,185,176,5,5,186,176,5,5,187,176,5,5,188,176,5,5,189,176,5,5,190,176,5,5,191,176,5,5,192,176,5,5,193,176,5,5,194,176,5,5,195,176,5,5,196,176,5,5,197,176,5,5,198,176,5,5,199,176,5,5,200,176,5,5,201,176,5,5,202,176,5,5,203,176,5,5,204,176,5,5,205,176,5,5,206,176,5,5,207,176,5,5,208,176,5,5,209,176,5,5,210,176,5,5,211,176,5,5,212,176,5,5,213,176,5,5,214,176,5,5,215,176,5,5,216,176,5,5,217,176,5,5,218,176,5,5,219,176,5,5,220,176,5,5,221,176,5,5,222,176,5,5,223,176,5,5,224,176,5,5,225,176,5,5,226,176,5,5,227,176,5,5,228,176,5,5,229,176,5,5,230,176,5,5,231,176,5,5,232,176,5,5,233,176,5,5,234,176,5,5,154,183,5,5,235,176,5,5,236,176,5,5,237,176,5,5,238,176,5,5,239,176,5,5,240,176,5,5,241,176,5,5,242,176,5,5,243,176,5,5,79,199,5,5,244,176,5,5,245,176,5,5,246,176,5,5,155,183,5,5,156,183,5,5,157,183,5,5,158,183,5,5,159,183,5,5,160,183,5,5,161,183,5,5,69,191,5,5,162,183,5,5,163,183,5,5,164,183,5,5,165,183,5,5,166,183,5,5,70,191,5,5,167,183,5,5,168,183,5,5,169,183,5,5,170,183,5,5,171,183,5,5,172,183,5,5,173,183,5,5,174,183,5,5,175,183,5,5,176,183,5,5,177,183,5,5,178,183,5,5,179,183,5,5,180,183,5,5,181,183,5,5,182,183,5,5,183,183,5,5,184,183,5,5,185,183,5,5,186,183,5,5,187,183,5,5,188,183,5,5,252,176,5,5,80,199,5,5,189,183,5,5,190,183,5,5,220,170,5,5,191,183,5,5,192,183,5,5,193,183,5,5,194,183,5,5,195,183,5,5,196,183,5,5,197,183,5,5,81,199,5,5,198,183,5,5,199,183,5,5,200,183,5,5,201,183,5,5,202,183,5,5,203,183,5,5,204,183,5,5,205,183,5,5,206,183,5,5,207,183,5,5,208,183,5,5,209,183,5,5,242,183,5,5,210,183,5,5,211,183,5,5,212,183,5,5,213,183,5,5,214,183,5,5,67,191,5,5,215,183,5,5,216,183,5,5,217,183,5,5,218,183,5,5,219,183,5,5,220,183,5,5,221,183,5,5,222,183,5,5,223,183,5,5,224,183,5,5,225,183,5,5,226,183,5,5,227,183,5,5,228,183,5,5,229,183,5,5,230,183,5,5,231,183,5,5,68,191,5,5,232,183,5,5,233,183,5,5,234,183,5,5,235,183,5,5,71,191,5,5,72,191,5,5,73,191,5,5,74,191,5,5,75,191,5,5,76,191,5,5,77,191,5,5,78,191,5,5,79,191,5,5,80,191,5,5,81,191,5,5,82,191,5,5,83,191,5,5,84,191,5,5,85,191,5,5,86,191,5,5,87,191,5,5,88,191,5,5,89,191,5,5,90,191,5,5,91,191,5,5,92,191,5,5,93,191,5,5,94,191,5,5,95,191,5,5,96,191,5,5,97,191,5,5,98,191,5,5,99,191,5,5,100,191,5,5,101,191,5,5,102,191,5,5,103,191,5,5,104,191,5,5,105,191,5,5,106,191,5,5,107,191,5,5,108,191,5,5,109,191,5,5,110,191,5,5,111,191,5,5,112,191,5,5,86,199,5,5,113,191,5,5,114,191,5,5,115,191,5,5,116,191,5,5,117,191,5,5,118,191,5,5,119,191,5,5,120,191,5,5,121,191,5,5,122,191,5,5,123,191,5,5,124,191,5,5,125,191,5,5,126,191,5,5,127,191,5,5,128,191,5,5,129,191,5,5,130,191,5,5,150,191,5,5,131,191,5,5,132,191,5,5,133,191,5,5,134,191,5,5,135,191,5,5,136,191,5,5,137,191,5,5,138,191,5,5,139,191,5,5,140,191,5,5,141,191,5,5,142,191,5,5,143,191,5,5,17,207,5,5,144,191,5,5,145,191,5,5,87,199,5,5,88,199,5,5,89,199,5,5,90,199,5,5,91,199,5,5,92,199,5,5,93,199,5,5,94,199,5,5,95,199,5,5,96,199,5,5,97,199,5,5,98,199,5,5,99,199,5,5,100,199,5,5,101,199,5,5,102,199,5,5,103,199,5,5,104,199,5,5,105,199,5,5,106,199,5,5,107,199,5,5,108,199,5,5,109,199,5,5,110,199,5,5,111,199,5,5,112,199,5,5,113,199,5,5,21,207,5,5,114,199,5,5,115,199,5,5,116,199,5,5,117,199,5,5,118,199,5,5,119,199,5,5,120,199,5,5,121,199,5,5,122,199,5,5,123,199,5,5,124,199,5,5,125,199,5,5,126,199,5,5,127,199,5,5,128,199,5,5,129,199,5,5,130,199,5,5,131,199,5,5,132,199,5,5,133,199,5,5,134,199,5,5,135,199,5,5,136,199,5,5,137,199,5,5,138,199,5,5,139,199,5,5,140,199,5,5,141,199,5,5,142,199,5,5,143,199,5,5,144,199,5,5,145,199,5,5,146,199,5,5,147,199,5,5,148,199,5,5,149,199,5,5,150,199,5,5,151,199,5,5,152,199,5,5,153,199,5,5,154,199,5,5,155,199,5,5,156,199,5,5,157,199,5,5,158,199,5,5,159,199,5,5,160,199,5,5,161,199,5,5,162,199,5,5,163,199,5,5,164,199,5,5,165,199,5,5,166,199,5,5,167,199,5,5,168,199,5,5,169,199,5,5,170,199,5,5,171,199,5,5,172,199,5,5,173,199,5,5,174,199,5,5,175,199,5,5,176,199,5,5,177,199,5,5,178,199,5,5,179,199,5,5,180,199,5,5,181,199,5,5,182,199,5,5,183,199,5,5,184,199,5,5,185,199,5,5,186,199,5,5,187,199,5,5,188,199,5,5,22,207,5,5,189,199,5,5,190,199,5,5,23,207,5,5,24,207,5,5,25,207,5,5,26,207,5,5,40,206,5,5,27,207,5,5,28,207,5,5,29,207,5,5,30,207,5,5,31,207,5,5,32,207,5,5,33,207,5,5,34,207,5,5,35,207,5,5,36,207,5,5,37,207,5,5,205,199,5,5,38,207,5,5,39,207,5,5,40,207,5,5,41,207,5,5,42,207,5,5,43,207,5,5,44,207,5,5,45,207,5,5,46,207,5,5,47,207,5,5,48,207,5,5,49,207,5,5,50,207,5,5,51,207,5,5,52,207,5,5,53,207,5,5,54,207,5,5,55,207,5,5,56,207,5,5,57,207,5,5,58,207,5,5,59,207,5,5,60,207,5,5,61,207,5,5,62,207,5,5,63,207,5,5,64,207,5,5,65,207,5,5,66,207,5,5,67,207,5,5,191,199,5,5,68,207,5,5,69,207,5,5,70,207,5,5,71,207,5,5,72,207,5,5,73,207,5,5,74,207,5,5,75,207,5,5,76,207,5,5,77,207,5,5,78,207,5,5,79,207,5,5,80,207,5,5,81,207,5,5,82,207,5,5,83,207,5,5,84,207,5,5,85,207,5,5,86,207,5,5,87,207,5,5,88,207,5,5,89,207,5,5,90,207,5,5,91,207,5,5,92,207,5,5,93,207,5,5,94,207,5,5,95,207,5,5,96,207,5,5,97,207,5,5,98,207,5,5,99,207,5,5,100,207,5,5,101,207,5,5,102,207,5,5,103,207,5,5,104,207,5,5,105,207,5,5,106,207,5,5,107,207,5,5,108,207,5,5,109,207,5,5,110,207,5,5,111,207,5,5,112,207,5,5,113,207,5,5,114,207,5,5,115,207,5,5,116,207,5,5,117,207,5,5,60,221,5,5,118,207,5,5,119,207,5,5,120,207,5,5,121,207,5,5,122,207,5,5,130,214,5,5,131,214,5,5,132,214,5,5,133,214,5,5,134,214,5,5,135,214,5,5,136,214,5,5,137,214,5,5,138,214,5,5,139,214,5,5,140,214,5,5,141,214,5,5,142,214,5,5,143,214,5,5,144,214,5,5,145,214,5,5,146,214,5,5,147,214,5,5,148,214,5,5,149,214,5,5,150,214,5,5,151,214,5,5,152,214,5,5,153,214,5,5,154,214,5,5,155,214,5,5,156,214,5,5,157,214,5,5,158,214,5,5,159,214,5,5,160,214,5,5,161,214,5,5,162,214,5,5,163,214,5,5,164,214,5,5,165,214,5,5,166,214,5,5,167,214,5,5,168,214,5,5,169,214,5,5,201,212,5,5,170,214,5,5,171,214,5,5,172,214,5,5,173,214,5,5,174,214,5,5,175,214,5,5,176,214,5,5,177,214,5,5,178,214,5,5,179,214,5,5,180,214,5,5,181,214,5,5,135,207,5,5,182,214,5,5,183,214,5,5,136,207,5,5,184,214,5,5,185,214,5,5,186,214,5,5,187,214,5,5,188,214,5,5,189,214,5,5,190,214,5,5,191,214,5,5,192,214,5,5,193,214,5,5,194,214,5,5,195,214,5,5,196,214,5,5,197,214,5,5,198,214,5,5,199,214,5,5,200,214,5,5,201,214,5,5,202,214,5,5,203,214,5,5,204,214,5,5,139,227,5,5,205,214,5,5,62,221,5,5,206,214,5,5,207,214,5,5,208,214,5,5,209,214,5,5,225,214,5,5,210,214,5,5,63,221,5,5,64,221,5,5,65,221,5,5,66,221,5,5,67,221,5,5,68,221,5,5,69,221,5,5,70,221,5,5,71,221,5,5,72,221,5,5,137,207,5,5,73,221,5,5,74,221,5,5,75,221,5,5,76,221,5,5,77,221,5,5,78,221,5,5,79,221,5,5,80,221,5,5,81,221,5,5,82,221,5,5,83,221,5,5,84,221,5,5,85,221,5,5,86,221,5,5,87,221,5,5,88,221,5,5,89,221,5,5,90,221,5,5,91,221,5,5,92,221,5,5,93,221,5,5,138,207,5,5,94,221,5,5,95,221,5,5,96,221,5,5,97,221,5,5,98,221,5,5,99,221,5,5,100,221,5,5,101,221,5,5,102,221,5,5,103,221,5,5,104,221,5,5,105,221,5,5,106,221,5,5,107,221,5,5,108,221,5,5,109,221,5,5,110,221,5,5,111,221,5,5,112,221,5,5,113,221,5,5,114,221,5,5,115,221,5,5,116,221,5,5,117,221,5,5,118,221,5,5,119,221,5,5,120,221,5,5,121,221,5,5,122,221,5,5,123,221,5,5,124,221,5,5,125,221,5,5,126,221,5,5,127,221,5,5,128,221,5,5,129,221,5,5,130,221,5,5,131,221,5,5,132,221,5,5,133,221,5,5,134,221,5,5,135,221,5,5,136,221,5,5,137,221,5,5,138,221,5,5,139,221,5,5,140,221,5,5,141,221,5,5,142,221,5,5,143,221,5,5,144,221,5,5,145,221,5,5,146,221,5,5,159,221,5,5,145,227,5,5,146,227,5,5,147,227,5,5,148,227,5,5,149,227,5,5,150,227,5,5,151,227,5,5,152,227,5,5,153,227,5,5,154,227,5,5,155,227,5,5,156,227,5,5,157,227,5,5,158,227,5,5,159,227,5,5,160,227,5,5,161,227,5,5,160,221,5,5,162,227,5,5,163,227,5,5,164,227,5,5,165,227,5,5,166,227,5,5,167,227,5,5,168,227,5,5,202,232,5,5,169,227,5,5,170,227,5,5,171,227,5,5,172,227,5,5,173,227,5,5,174,227,5,5,175,227,5,5,176,227,5,5,177,227,5,5,178,227,5,5,179,227,5,5,180,227,5,5,181,227,5,5,182,227,5,5,183,227,5,5,184,227,5,5,185,227,5,5,186,227,5,5,187,227,5,5,188,227,5,5,189,227,5,5,190,227,5,5,191,227,5,5,192,227,5,5,193,227,5,5,194,227,5,5,195,227,5,5,196,227,5,5,197,227,5,5,198,227,5,5,203,232,5,5,204,232,5,5,205,232,5,5,206,232,5,5,207,232,5,5,208,232,5,5,209,232,5,5,210,232,5,5,211,232,5,5,212,232,5,5,213,232,5,5,214,232,5,5,215,232,5,5,216,232,5,5,217,232,5,5,218,232,5,5,219,232,5,5,220,232,5,5,221,232,5,5,222,232,5,5,223,232,5,5,224,232,5,5,211,227,5,5,225,232,5,5,226,232,5,5,227,232,5,5,228,232,5,5,229,232,5,5,230,232,5,5,231,232,5,5,232,232,5,5,233,232,5,5,234,232,5,5,235,232,5,5,236,232,5,5,237,232,5,5,238,232,5,5,239,232,5,5,240,232,5,5,241,232,5,5,242,232,5,5,243,232,5,5,244,232,5,5,245,232,5,5,246,232,5,5,247,232,5,5,248,232,5,5,249,232,5,5,250,232,5,5,251,232,5,5,252,232,5,5,211,236,5,5,253,232,5,5,254,232,5,5,255,232,5,5,8,233,5,5,2,233,5,5,9,233,5,5,212,236,5,5,213,236,5,5,214,236,5,5,215,236,5,5,216,236,5,5,217,236,5,5,218,236,5,5,219,236,5,5,220,236,5,5,221,236,5,5,222,236,5,5,223,236,5,5,224,236,5,5,225,236,5,5,226,236,5,5,227,236,5,5,228,236,5,5,229,236,5,5,230,236,5,5,231,236,5,5,232,236,5,5,233,236,5,5,234,236,5,5,235,236,5,5,236,236,5,5,237,236,5,5,238,236,5,5,239,236,5,5,240,236,5,5,241,236,5,5,242,236,5,5,243,236,5,5,244,236,5,5,54,240,5,5,245,236,5,5,246,236,5,5,50,245,5,5,55,240,5,5,56,240,5,5,57,240,5,5,58,240,5,5,59,240,5,5,60,240,5,5,61,240,5,5,62,240,5,5,63,240,5,5,64,240,5,5,65,240,5,5,66,240,5,5,67,240,5,5,68,240,5,5,69,240,5,5,70,240,5,5,71,240,5,5,72,240,5,5,73,240,5,5,74,240,5,5,75,240,5,5,76,240,5,5,77,240,5,5,78,240,5,5,79,240,5,5,17,243,5,5,80,240,5,5,81,240,5,5,82,240,5,5,83,240,5,5,84,240,5,5,85,240,5,5,86,240,5,5,18,243,5,5,90,240,5,5,91,240,5,5,19,243,5,5,20,243,5,5,21,243,5,5,22,243,5,5,23,243,5,5,24,243,5,5,25,243,5,5,26,243,5,5,27,243,5,5,28,243,5,5,29,243,5,5,30,243,5,5,31,243,5,5,32,243,5,5,33,243,5,5,34,243,5,5,35,243,5,5,36,243,5,5,37,243,5,5,38,243,5,5,39,243,5,5,40,243,5,5,41,243,5,5,42,243,5,5,43,243,5,5,51,243,5,5,44,243,5,5,45,243,5,5,53,245,5,5,54,245,5,5,55,245,5,5,56,245,5,5,57,245,5,5,58,245,5,5,52,243,5,5,59,245,5,5,60,245,5,5,61,245,5,5,62,245,5,5,63,245,5,5,64,245,5,5,46,243,5,5,65,245,5,5,10,243,5,5,66,245,5,5,67,245,5,5,68,245,5,5,69,245,5,5,70,245,5,5,71,245,5,5,72,245,5,5,222,246,5,5,73,245,5,5,74,245,5,5,75,245,5,5,53,243,5,5,7,248,5,5,223,246,5,5,224,246,5,5,225,246,5,5,226,246,5,5,227,246,5,5,228,246,5,5,8,248,5,5,9,248,5,5,10,248,5,5,11,248,5,5,12,248,5,5,13,248,5,5,14,248,5,5,15,248,5,5,16,248,5,5,17,248,5,5,141,249,5,5,232,248,5,5,236,249,5,5,233,248,5,5,142,249,5,5,143,249,5,5,144,249,5,5,145,249,5,5,37,250,5,5,124,250,5,5,96,250,5,5,221,161,5,5,226,170,5,5,227,170,5,5,253,176,5,5,243,183,5,5,149,178,5,5,244,183,5,5,245,183,5,5,152,191,5,5,153,191,5,5,154,191,5,5,155,191,5,5,156,191,5,5,157,191,5,5,206,199,5,5,139,207,5,5,207,199,5,5,140,207,5,5,141,207,5,5,226,214,5,5,227,214,5,5,161,221,5,5,213,227,5,5,214,227,5,5,215,227,5,5,216,227,5,5,10,233,5,5,11,233,5,5,251,236,5,5,237,249,5,5,222,161,5,5,120,165,5,5,228,170,5,5,229,170,5,5,230,170,5,5,231,170,5,5,232,170,5,5,233,170,5,5,254,176,5,5,255,176,5,5,2,177,5,5,3,177,5,5,4,177,5,5,5,177,5,5,6,177,5,5,7,177,5,5,8,177,5,5,9,177,5,5,10,177,5,5,11,177,5,5,12,177,5,5,13,177,5,5,14,177,5,5,15,177,5,5,16,177,5,5,246,183,5,5,247,183,5,5,248,183,5,5,249,183,5,5,208,199,5,5,250,183,5,5,251,183,5,5,252,183,5,5,253,183,5,5,254,183,5,5,255,183,5,5,2,184,5,5,3,184,5,5,4,184,5,5,5,184,5,5,6,184,5,5,7,184,5,5,8,184,5,5,9,184,5,5,10,184,5,5,11,184,5,5,12,184,5,5,13,184,5,5,14,184,5,5,15,184,5,5,16,184,5,5,17,184,5,5,18,184,5,5,19,184,5,5,20,184,5,5,21,184,5,5,22,184,5,5,23,184,5,5,24,184,5,5,25,184,5,5,26,184,5,5,27,184,5,5,28,184,5,5,29,184,5,5,158,191,5,5,30,184,5,5,159,191,5,5,160,191,5,5,161,191,5,5,162,191,5,5,163,191,5,5,164,191,5,5,165,191,5,5,166,191,5,5,167,191,5,5,168,191,5,5,169,191,5,5,170,191,5,5,171,191,5,5,172,191,5,5,173,191,5,5,174,191,5,5,175,191,5,5,176,191,5,5,177,191,5,5,178,191,5,5,179,191,5,5,180,191,5,5,181,191,5,5,182,191,5,5,183,191,5,5,184,191,5,5,185,191,5,5,186,191,5,5,187,191,5,5,188,191,5,5,189,191,5,5,190,191,5,5,191,191,5,5,192,191,5,5,193,191,5,5,209,199,5,5,210,199,5,5,211,199,5,5,212,199,5,5,213,199,5,5,214,199,5,5,142,207,5,5,215,199,5,5,216,199,5,5,217,199,5,5,218,199,5,5,219,199,5,5,220,199,5,5,221,199,5,5,222,199,5,5,223,199,5,5,224,199,5,5,225,199,5,5,226,199,5,5,227,199,5,5,228,199,5,5,229,199,5,5,230,199,5,5,231,199,5,5,232,199,5,5,233,199,5,5,234,199,5,5,235,199,5,5,236,199,5,5,237,199,5,5,238,199,5,5,239,199,5,5,240,199,5,5,241,199,5,5,242,199,5,5,243,199,5,5,244,199,5,5,143,207,5,5,144,207,5,5,145,207,5,5,146,207,5,5,147,207,5,5,148,207,5,5,149,207,5,5,150,207,5,5,151,207,5,5,152,207,5,5,153,207,5,5,154,207,5,5,155,207,5,5,156,207,5,5,157,207,5,5,158,207,5,5,159,207,5,5,160,207,5,5,161,207,5,5,162,207,5,5,163,207,5,5,164,207,5,5,165,207,5,5,166,207,5,5,167,207,5,5,168,207,5,5,169,207,5,5,170,207,5,5,229,214,5,5,230,214,5,5,171,207,5,5,172,207,5,5,173,207,5,5,174,207,5,5,175,207,5,5,232,214,5,5,233,214,5,5,234,214,5,5,235,214,5,5,236,214,5,5,237,214,5,5,238,214,5,5,239,214,5,5,240,214,5,5,241,214,5,5,242,214,5,5,243,214,5,5,244,214,5,5,245,214,5,5,246,214,5,5,247,214,5,5,248,214,5,5,249,214,5,5,250,214,5,5,231,214,5,5,251,214,5,5,252,214,5,5,253,214,5,5,254,214,5,5,255,214,5,5,2,215,5,5,3,215,5,5,4,215,5,5,5,215,5,5,6,215,5,5,7,215,5,5,8,215,5,5,9,215,5,5,10,215,5,5,11,215,5,5,12,215,5,5,13,215,5,5,14,215,5,5,15,215,5,5,16,215,5,5,17,215,5,5,18,215,5,5,19,215,5,5,20,215,5,5,21,215,5,5,22,215,5,5,176,207,5,5,23,215,5,5,24,215,5,5,25,215,5,5,26,215,5,5,27,215,5,5,162,221,5,5,178,207,5,5,163,221,5,5,164,221,5,5,165,221,5,5,166,221,5,5,167,221,5,5,168,221,5,5,169,221,5,5,28,215,5,5,170,221,5,5,171,221,5,5,172,221,5,5,173,221,5,5,174,221,5,5,175,221,5,5,176,221,5,5,177,221,5,5,178,221,5,5,179,221,5,5,180,221,5,5,181,221,5,5,182,221,5,5,183,221,5,5,184,221,5,5,185,221,5,5,186,221,5,5,187,221,5,5,188,221,5,5,189,221,5,5,190,221,5,5,29,215,5,5,191,221,5,5,192,221,5,5,193,221,5,5,194,221,5,5,195,221,5,5,196,221,5,5,197,221,5,5,198,221,5,5,199,221,5,5,200,221,5,5,201,221,5,5,202,221,5,5,203,221,5,5,217,227,5,5,204,221,5,5,205,221,5,5,206,221,5,5,207,221,5,5,208,221,5,5,209,221,5,5,210,221,5,5,218,227,5,5,214,221,5,5,219,227,5,5,220,227,5,5,221,227,5,5,222,227,5,5,223,227,5,5,224,227,5,5,225,227,5,5,226,227,5,5,227,227,5,5,228,227,5,5,229,227,5,5,230,227,5,5,231,227,5,5,232,227,5,5,233,227,5,5,234,227,5,5,235,227,5,5,236,227,5,5,237,227,5,5,238,227,5,5,239,227,5,5,240,227,5,5,241,227,5,5,242,227,5,5,243,227,5,5,244,227,5,5,245,227,5,5,246,227,5,5,247,227,5,5,248,227,5,5,249,227,5,5,250,227,5,5,251,227,5,5,252,227,5,5,253,227,5,5,254,227,5,5,255,227,5,5,2,228,5,5,3,228,5,5,12,233,5,5,13,233,5,5,14,233,5,5,15,233,5,5,16,233,5,5,17,233,5,5,18,233,5,5,19,233,5,5,20,233,5,5,21,233,5,5,22,233,5,5,23,233,5,5,24,233,5,5,25,233,5,5,26,233,5,5,27,233,5,5,28,233,5,5,29,233,5,5,30,233,5,5,31,233,5,5,32,233,5,5,33,233,5,5,34,233,5,5,35,233,5,5,36,233,5,5,37,233,5,5,38,233,5,5,39,233,5,5,40,233,5,5,41,233,5,5,42,233,5,5,43,233,5,5,44,233,5,5,45,233,5,5,46,233,5,5,47,233,5,5,48,233,5,5,49,233,5,5,50,233,5,5,51,233,5,5,52,233,5,5,254,236,5,5,255,236,5,5,93,240,5,5,2,237,5,5,253,236,5,5,3,237,5,5,4,237,5,5,5,237,5,5,6,237,5,5,7,237,5,5,8,237,5,5,58,233,5,5,9,237,5,5,10,237,5,5,211,221,5,5,11,237,5,5,12,237,5,5,13,237,5,5,14,237,5,5,15,237,5,5,16,237,5,5,17,237,5,5,18,237,5,5,19,237,5,5,20,237,5,5,21,237,5,5,22,237,5,5,23,237,5,5,24,237,5,5,25,237,5,5,26,237,5,5,27,237,5,5,28,237,5,5,29,237,5,5,30,237,5,5,94,240,5,5,95,240,5,5,96,240,5,5,97,240,5,5,98,240,5,5,99,240,5,5,100,240,5,5,101,240,5,5,102,240,5,5,103,240,5,5,104,240,5,5,92,240,5,5,105,240,5,5,106,240,5,5,107,240,5,5,108,240,5,5,109,240,5,5,110,240,5,5,111,240,5,5,112,240,5,5,113,240,5,5,114,240,5,5,115,240,5,5,116,240,5,5,31,237,5,5,117,240,5,5,54,243,5,5,55,243,5,5,56,243,5,5,57,243,5,5,58,243,5,5,59,243,5,5,60,243,5,5,61,243,5,5,62,243,5,5,63,243,5,5,81,245,5,5,82,245,5,5,83,245,5,5,84,245,5,5,118,240,5,5,85,245,5,5,86,245,5,5,87,245,5,5,88,245,5,5,89,245,5,5,90,245,5,5,232,246,5,5,233,246,5,5,234,246,5,5,235,246,5,5,93,245,5,5,236,246,5,5,94,245,5,5,237,246,5,5,20,248,5,5,21,248,5,5,22,248,5,5,23,248,5,5,24,248,5,5,25,248,5,5,26,248,5,5,19,248,5,5,236,248,5,5,237,248,5,5,238,248,5,5,239,248,5,5,240,248,5,5,241,248,5,5,146,249,5,5,238,249,5,5,38,250,5,5,39,250,5,5,40,250,5,5,223,161,5,5,17,177,5,5,18,177,5,5,31,184,5,5,32,184,5,5,200,191,5,5,250,199,5,5,251,199,5,5,252,199,5,5,253,199,5,5,95,245,5,5,242,248,5,5,224,161,5,5,20,177,5,5,21,177,5,5,33,184,5,5,201,191,5,5,202,191,5,5,203,191,5,5,204,191,5,5,205,191,5,5,254,199,5,5,255,199,5,5,2,200,5,5,179,207,5,5,180,207,5,5,215,221,5,5,216,221,5,5,217,221,5,5,218,221,5,5,6,228,5,5,7,228,5,5,8,228,5,5,9,228,5,5,243,248,5,5,225,161,5,5,186,159,5,5,235,170,5,5,23,177,5,5,24,177,5,5,236,170,5,5,25,177,5,5,26,177,5,5,27,177,5,5,28,177,5,5,35,184,5,5,36,184,5,5,37,184,5,5,38,184,5,5,39,184,5,5,40,184,5,5,41,184,5,5,42,184,5,5,43,184,5,5,44,184,5,5,45,184,5,5,46,184,5,5,47,184,5,5,48,184,5,5,49,184,5,5,50,184,5,5,51,184,5,5,52,184,5,5,53,184,5,5,54,184,5,5,55,184,5,5,56,184,5,5,57,184,5,5,58,184,5,5,59,184,5,5,60,184,5,5,61,184,5,5,206,191,5,5,207,191,5,5,208,191,5,5,209,191,5,5,210,191,5,5,211,191,5,5,212,191,5,5,213,191,5,5,214,191,5,5,215,191,5,5,216,191,5,5,217,191,5,5,218,191,5,5,219,191,5,5,220,191,5,5,221,191,5,5,222,191,5,5,223,191,5,5,224,191,5,5,225,191,5,5,226,191,5,5,227,191,5,5,228,191,5,5,229,191,5,5,230,191,5,5,231,191,5,5,232,191,5,5,233,191,5,5,234,191,5,5,235,191,5,5,236,191,5,5,237,191,5,5,238,191,5,5,239,191,5,5,240,191,5,5,241,191,5,5,242,191,5,5,243,191,5,5,244,191,5,5,247,191,5,5,245,191,5,5,3,200,5,5,4,200,5,5,5,200,5,5,6,200,5,5,7,200,5,5,8,200,5,5,9,200,5,5,10,200,5,5,11,200,5,5,12,200,5,5,13,200,5,5,14,200,5,5,15,200,5,5,16,200,5,5,17,200,5,5,18,200,5,5,19,200,5,5,20,200,5,5,21,200,5,5,22,200,5,5,23,200,5,5,24,200,5,5,25,200,5,5,26,200,5,5,27,200,5,5,181,207,5,5,182,207,5,5,183,207,5,5,184,207,5,5,185,207,5,5,186,207,5,5,187,207,5,5,188,207,5,5,189,207,5,5,190,207,5,5,191,207,5,5,192,207,5,5,193,207,5,5,28,200,5,5,194,207,5,5,195,207,5,5,196,207,5,5,197,207,5,5,198,207,5,5,199,207,5,5,200,207,5,5,201,207,5,5,202,207,5,5,203,207,5,5,30,215,5,5,204,207,5,5,205,207,5,5,206,207,5,5,220,221,5,5,31,215,5,5,32,215,5,5,33,215,5,5,34,215,5,5,35,215,5,5,36,215,5,5,37,215,5,5,38,215,5,5,39,215,5,5,40,215,5,5,41,215,5,5,42,215,5,5,43,215,5,5,44,215,5,5,45,215,5,5,46,215,5,5,47,215,5,5,48,215,5,5,49,215,5,5,50,215,5,5,51,215,5,5,52,215,5,5,53,215,5,5,54,215,5,5,55,215,5,5,56,215,5,5,30,200,5,5,57,215,5,5,58,215,5,5,59,215,5,5,221,221,5,5,222,221,5,5,223,221,5,5,224,221,5,5,225,221,5,5,226,221,5,5,227,221,5,5,228,221,5,5,229,221,5,5,230,221,5,5,231,221,5,5,232,221,5,5,233,221,5,5,234,221,5,5,235,221,5,5,236,221,5,5,237,221,5,5,238,221,5,5,239,221,5,5,240,221,5,5,241,221,5,5,61,215,5,5,242,221,5,5,243,221,5,5,244,221,5,5,12,228,5,5,13,228,5,5,14,228,5,5,15,228,5,5,16,228,5,5,17,228,5,5,18,228,5,5,19,228,5,5,20,228,5,5,21,228,5,5,22,228,5,5,23,228,5,5,24,228,5,5,25,228,5,5,26,228,5,5,27,228,5,5,28,228,5,5,29,228,5,5,30,228,5,5,31,228,5,5,32,228,5,5,59,233,5,5,33,228,5,5,60,233,5,5,61,233,5,5,62,233,5,5,63,233,5,5,64,233,5,5,65,233,5,5,66,233,5,5,67,233,5,5,68,233,5,5,69,233,5,5,70,233,5,5,71,233,5,5,72,233,5,5,73,233,5,5,74,233,5,5,75,233,5,5,76,233,5,5,35,237,5,5,36,237,5,5,37,237,5,5,38,237,5,5,39,237,5,5,40,237,5,5,41,237,5,5,42,237,5,5,43,237,5,5,44,237,5,5,45,237,5,5,46,237,5,5,79,233,5,5,47,237,5,5,77,233,5,5,48,237,5,5,119,240,5,5,120,240,5,5,121,240,5,5,122,240,5,5,123,240,5,5,124,240,5,5,125,240,5,5,126,240,5,5,127,240,5,5,128,240,5,5,129,240,5,5,130,240,5,5,131,240,5,5,66,243,5,5,67,243,5,5,68,243,5,5,69,243,5,5,70,243,5,5,71,243,5,5,96,245,5,5,97,245,5,5,98,245,5,5,99,245,5,5,100,245,5,5,101,245,5,5,239,246,5,5,240,246,5,5,241,246,5,5,242,246,5,5,27,248,5,5,28,248,5,5,244,248,5,5,29,248,5,5,245,248,5,5,148,249,5,5,149,249,5,5,150,249,5,5,151,249,5,5,152,249,5,5,41,250,5,5,226,161,5,5,227,161,5,5,228,161,5,5,31,177,5,5,248,191,5,5,31,200,5,5,32,200,5,5,207,207,5,5,51,237,5,5,132,240,5,5,133,240,5,5,30,248,5,5,153,249,5,5,122,165,5,5,32,177,5,5,65,184,5,5,66,184,5,5,249,191,5,5,250,191,5,5,251,191,5,5,252,191,5,5,253,191,5,5,254,191,5,5,34,200,5,5,72,190,5,5,35,200,5,5,36,200,5,5,33,200,5,5,37,200,5,5,208,207,5,5,209,207,5,5,62,215,5,5,63,215,5,5,64,215,5,5,65,215,5,5,66,215,5,5,248,221,5,5,249,221,5,5,250,221,5,5,251,221,5,5,38,228,5,5,39,228,5,5,40,228,5,5,253,221,5,5,41,228,5,5,82,233,5,5,83,233,5,5,84,233,5,5,85,233,5,5,86,233,5,5,52,237,5,5,53,237,5,5,54,237,5,5,55,237,5,5,134,240,5,5,135,240,5,5,136,240,5,5,137,240,5,5,138,240,5,5,72,243,5,5,73,243,5,5,74,243,5,5,102,245,5,5,103,245,5,5,243,246,5,5,244,246,5,5,154,249,5,5,111,158,5,5,229,161,5,5,123,165,5,5,237,170,5,5,238,170,5,5,16,176,5,5,33,177,5,5,34,177,5,5,35,177,5,5,67,184,5,5,2,192,5,5,38,200,5,5,39,200,5,5,211,207,5,5,67,215,5,5,254,221,5,5,255,221,5,5,124,165,5,5,36,177,5,5,37,177,5,5,3,192,5,5,4,192,5,5,5,192,5,5,6,192,5,5,7,192,5,5,40,200,5,5,41,200,5,5,212,207,5,5,42,200,5,5,43,200,5,5,213,207,5,5,214,207,5,5,215,207,5,5,216,207,5,5,217,207,5,5,218,207,5,5,219,207,5,5,220,207,5,5,221,207,5,5,68,215,5,5,69,215,5,5,70,215,5,5,71,215,5,5,2,222,5,5,3,222,5,5,4,222,5,5,5,222,5,5,6,222,5,5,43,228,5,5,87,233,5,5,88,233,5,5,57,237,5,5,139,240,5,5,140,240,5,5,75,243,5,5,76,243,5,5,77,243,5,5,104,245,5,5,246,246,5,5,247,246,5,5,31,248,5,5,32,248,5,5,155,249,5,5,127,165,5,5,128,165,5,5,38,177,5,5,39,177,5,5,40,177,5,5,41,177,5,5,42,177,5,5,43,177,5,5,44,177,5,5,68,184,5,5,69,184,5,5,70,184,5,5,71,184,5,5,72,184,5,5,73,184,5,5,74,184,5,5,75,184,5,5,76,184,5,5,77,184,5,5,78,184,5,5,79,184,5,5,80,184,5,5,81,184,5,5,82,184,5,5,83,184,5,5,84,184,5,5,85,184,5,5,9,192,5,5,10,192,5,5,11,192,5,5,12,192,5,5,13,192,5,5,14,192,5,5,15,192,5,5,16,192,5,5,17,192,5,5,18,192,5,5,19,192,5,5,20,192,5,5,21,192,5,5,22,192,5,5,23,192,5,5,24,192,5,5,25,192,5,5,26,192,5,5,27,192,5,5,28,192,5,5,29,192,5,5,30,192,5,5,31,192,5,5,32,192,5,5,33,192,5,5,44,200,5,5,45,200,5,5,46,200,5,5,47,200,5,5,48,200,5,5,49,200,5,5,50,200,5,5,51,200,5,5,52,200,5,5,53,200,5,5,222,207,5,5,223,207,5,5,54,200,5,5,55,200,5,5,56,200,5,5,57,200,5,5,58,200,5,5,59,200,5,5,60,200,5,5,61,200,5,5,62,200,5,5,63,200,5,5,64,200,5,5,65,200,5,5,66,200,5,5,67,200,5,5,68,200,5,5,69,200,5,5,70,200,5,5,71,200,5,5,72,200,5,5,73,200,5,5,74,200,5,5,75,200,5,5,76,200,5,5,77,200,5,5,78,200,5,5,79,200,5,5,80,200,5,5,81,200,5,5,82,200,5,5,83,200,5,5,84,200,5,5,85,200,5,5,86,200,5,5,224,207,5,5,225,207,5,5,226,207,5,5,227,207,5,5,228,207,5,5,229,207,5,5,230,207,5,5,231,207,5,5,232,207,5,5,233,207,5,5,234,207,5,5,235,207,5,5,236,207,5,5,237,207,5,5,238,207,5,5,239,207,5,5,240,207,5,5,241,207,5,5,242,207,5,5,243,207,5,5,244,207,5,5,245,207,5,5,246,207,5,5,247,207,5,5,248,207,5,5,249,207,5,5,250,207,5,5,251,207,5,5,252,207,5,5,253,207,5,5,254,207,5,5,255,207,5,5,2,208,5,5,3,208,5,5,4,208,5,5,5,208,5,5,6,208,5,5,7,208,5,5,8,208,5,5,9,208,5,5,10,208,5,5,11,208,5,5,72,215,5,5,73,215,5,5,74,215,5,5,75,215,5,5,76,215,5,5,77,215,5,5,78,215,5,5,79,215,5,5,80,215,5,5,81,215,5,5,7,222,5,5,82,215,5,5,83,215,5,5,84,215,5,5,85,215,5,5,86,215,5,5,87,215,5,5,88,215,5,5,89,215,5,5,90,215,5,5,91,215,5,5,12,208,5,5,92,215,5,5,93,215,5,5,94,215,5,5,95,215,5,5,96,215,5,5,97,215,5,5,98,215,5,5,99,215,5,5,100,215,5,5,101,215,5,5,102,215,5,5,103,215,5,5,104,215,5,5,105,215,5,5,8,222,5,5,9,222,5,5,10,222,5,5,11,222,5,5,12,222,5,5,13,222,5,5,14,222,5,5,15,222,5,5,16,222,5,5,17,222,5,5,18,222,5,5,19,222,5,5,20,222,5,5,21,222,5,5,22,222,5,5,23,222,5,5,24,222,5,5,25,222,5,5,26,222,5,5,27,222,5,5,28,222,5,5,29,222,5,5,30,222,5,5,31,222,5,5,32,222,5,5,33,222,5,5,34,222,5,5,35,222,5,5,36,222,5,5,37,222,5,5,38,222,5,5,39,222,5,5,40,222,5,5,41,222,5,5,42,222,5,5,43,222,5,5,44,222,5,5,45,222,5,5,46,222,5,5,47,222,5,5,48,222,5,5,49,222,5,5,50,222,5,5,51,222,5,5,58,222,5,5,45,228,5,5,46,228,5,5,47,228,5,5,48,228,5,5,49,228,5,5,50,228,5,5,51,228,5,5,52,228,5,5,53,228,5,5,54,228,5,5,55,228,5,5,56,228,5,5,57,228,5,5,52,222,5,5,58,228,5,5,59,228,5,5,60,228,5,5,61,228,5,5,62,228,5,5,63,228,5,5,64,228,5,5,65,228,5,5,66,228,5,5,67,228,5,5,68,228,5,5,69,228,5,5,70,228,5,5,71,228,5,5,59,222,5,5,72,228,5,5,73,228,5,5,74,228,5,5,75,228,5,5,76,228,5,5,77,228,5,5,78,228,5,5,79,228,5,5,80,228,5,5,81,228,5,5,82,228,5,5,90,233,5,5,91,233,5,5,92,233,5,5,93,233,5,5,94,233,5,5,95,233,5,5,96,233,5,5,97,233,5,5,98,233,5,5,99,233,5,5,100,233,5,5,101,233,5,5,102,233,5,5,103,233,5,5,104,233,5,5,105,233,5,5,85,228,5,5,106,233,5,5,107,233,5,5,108,233,5,5,109,233,5,5,110,233,5,5,111,233,5,5,112,233,5,5,113,233,5,5,114,233,5,5,115,233,5,5,116,233,5,5,117,233,5,5,118,233,5,5,119,233,5,5,59,237,5,5,60,237,5,5,61,237,5,5,62,237,5,5,63,237,5,5,64,237,5,5,65,237,5,5,66,237,5,5,67,237,5,5,68,237,5,5,69,237,5,5,70,237,5,5,71,237,5,5,72,237,5,5,73,237,5,5,74,237,5,5,75,237,5,5,76,237,5,5,77,237,5,5,78,237,5,5,79,237,5,5,80,237,5,5,81,237,5,5,82,237,5,5,83,237,5,5,84,237,5,5,85,237,5,5,86,237,5,5,141,240,5,5,142,240,5,5,143,240,5,5,144,240,5,5,145,240,5,5,146,240,5,5,105,245,5,5,147,240,5,5,88,237,5,5,148,240,5,5,149,240,5,5,150,240,5,5,151,240,5,5,152,240,5,5,78,243,5,5,153,240,5,5,154,240,5,5,155,240,5,5,156,240,5,5,157,240,5,5,158,240,5,5,159,240,5,5,160,240,5,5,161,240,5,5,162,240,5,5,163,240,5,5,164,240,5,5,165,240,5,5,166,240,5,5,167,240,5,5,79,243,5,5,80,243,5,5,81,243,5,5,82,243,5,5,83,243,5,5,84,243,5,5,85,243,5,5,86,243,5,5,87,243,5,5,88,243,5,5,89,243,5,5,90,243,5,5,91,243,5,5,92,243,5,5,93,243,5,5,94,243,5,5,95,243,5,5,96,243,5,5,97,243,5,5,98,243,5,5,99,243,5,5,100,243,5,5,106,245,5,5,107,245,5,5,108,245,5,5,109,245,5,5,110,245,5,5,111,245,5,5,112,245,5,5,113,245,5,5,114,245,5,5,115,245,5,5,116,245,5,5,248,246,5,5,249,246,5,5,250,246,5,5,251,246,5,5,252,246,5,5,253,246,5,5,254,246,5,5,255,246,5,5,4,247,5,5,33,248,5,5,34,248,5,5,35,248,5,5,36,248,5,5,37,248,5,5,38,248,5,5,39,248,5,5,40,248,5,5,41,248,5,5,42,248,5,5,247,248,5,5,248,248,5,5,249,248,5,5,250,248,5,5,251,248,5,5,252,248,5,5,156,249,5,5,157,249,5,5,158,249,5,5,239,249,5,5,240,249,5,5,42,250,5,5,43,250,5,5,44,250,5,5,125,250,5,5,47,157,5,5,112,158,5,5,113,158,5,5,114,158,5,5,115,158,5,5,116,158,5,5,187,159,5,5,188,159,5,5,189,159,5,5,190,159,5,5,191,159,5,5,192,159,5,5,193,159,5,5,194,159,5,5,195,159,5,5,196,159,5,5,197,159,5,5,198,159,5,5,230,161,5,5,231,161,5,5,232,161,5,5,233,161,5,5,234,161,5,5,235,161,5,5,236,161,5,5,237,161,5,5,238,161,5,5,239,161,5,5,240,161,5,5,241,161,5,5,242,161,5,5,243,161,5,5,244,161,5,5,129,165,5,5,130,165,5,5,131,165,5,5,132,165,5,5,133,165,5,5,134,165,5,5,135,165,5,5,136,165,5,5,137,165,5,5,138,165,5,5,139,165,5,5,140,165,5,5,141,165,5,5,142,165,5,5,143,165,5,5,144,165,5,5,145,165,5,5,146,165,5,5,239,170,5,5,240,170,5,5,241,170,5,5,242,170,5,5,243,170,5,5,244,170,5,5,245,170,5,5,246,170,5,5,247,170,5,5,248,170,5,5,249,170,5,5,250,170,5,5,251,170,5,5,252,170,5,5,253,170,5,5,254,170,5,5,255,170,5,5,2,171,5,5,3,171,5,5,4,171,5,5,5,171,5,5,6,171,5,5,7,171,5,5,46,177,5,5,47,177,5,5,48,177,5,5,49,177,5,5,50,177,5,5,51,177,5,5,52,177,5,5,53,177,5,5,54,177,5,5,55,177,5,5,56,177,5,5,57,177,5,5,58,177,5,5,87,184,5,5,88,184,5,5,89,184,5,5,90,184,5,5,91,184,5,5,92,184,5,5,93,184,5,5,94,184,5,5,95,184,5,5,96,184,5,5,97,184,5,5,98,184,5,5,99,184,5,5,100,184,5,5,101,184,5,5,102,184,5,5,103,184,5,5,104,184,5,5,105,184,5,5,106,184,5,5,37,192,5,5,38,192,5,5,39,192,5,5,40,192,5,5,41,192,5,5,42,192,5,5,43,192,5,5,44,192,5,5,45,192,5,5,46,192,5,5,47,192,5,5,48,192,5,5,49,192,5,5,50,192,5,5,51,192,5,5,52,192,5,5,53,192,5,5,54,192,5,5,55,192,5,5,56,192,5,5,90,200,5,5,91,200,5,5,92,200,5,5,93,200,5,5,94,200,5,5,95,200,5,5,96,200,5,5,97,200,5,5,98,200,5,5,14,208,5,5,15,208,5,5,16,208,5,5,17,208,5,5,18,208,5,5,109,215,5,5,110,215,5,5,111,215,5,5,112,215,5,5,113,215,5,5,114,215,5,5,60,222,5,5,61,222,5,5,62,222,5,5,171,240,5,5,147,165,5,5,107,184,5,5,57,192,5,5,58,192,5,5,59,192,5,5,19,208,5,5,115,215,5,5,63,222,5,5,124,233,5,5,125,233,5,5,126,233,5,5,89,237,5,5,172,240,5,5,5,247,5,5,43,248,5,5,148,165,5,5,108,184,5,5,109,184,5,5,60,192,5,5,20,208,5,5,21,208,5,5,64,222,5,5,65,222,5,5,66,222,5,5,127,233,5,5,90,237,5,5,106,243,5,5,159,249,5,5,45,250,5,5,97,250,5,5,149,165,5,5,8,171,5,5,110,184,5,5,61,192,5,5,62,192,5,5,63,192,5,5,64,192,5,5,65,192,5,5,66,192,5,5,99,200,5,5,100,200,5,5,101,200,5,5,102,200,5,5,23,208,5,5,24,208,5,5,25,208,5,5,26,208,5,5,27,208,5,5,116,215,5,5,117,215,5,5,118,215,5,5,119,215,5,5,86,228,5,5,69,222,5,5,87,228,5,5,88,228,5,5,128,233,5,5,129,233,5,5,130,233,5,5,131,233,5,5,132,233,5,5,91,237,5,5,92,237,5,5,174,240,5,5,173,240,5,5,150,165,5,5,111,184,5,5,112,184,5,5,113,184,5,5,69,192,5,5,70,192,5,5,104,200,5,5,105,200,5,5,106,200,5,5,107,200,5,5,108,200,5,5,109,200,5,5,28,208,5,5,29,208,5,5,30,208,5,5,31,208,5,5,32,208,5,5,33,208,5,5,34,208,5,5,120,215,5,5,121,215,5,5,122,215,5,5,70,222,5,5,71,222,5,5,91,228,5,5,92,228,5,5,93,228,5,5,94,228,5,5,133,233,5,5,134,233,5,5,135,233,5,5,94,237,5,5,95,237,5,5,96,237,5,5,175,240,5,5,161,249,5,5,46,250,5,5,151,165,5,5,59,177,5,5,60,177,5,5,61,177,5,5,114,184,5,5,115,184,5,5,116,184,5,5,117,184,5,5,71,192,5,5,72,192,5,5,73,192,5,5,74,192,5,5,75,192,5,5,76,192,5,5,77,192,5,5,78,192,5,5,79,192,5,5,80,192,5,5,111,200,5,5,112,200,5,5,113,200,5,5,36,208,5,5,114,200,5,5,115,200,5,5,116,200,5,5,117,200,5,5,118,200,5,5,119,200,5,5,120,200,5,5,121,200,5,5,122,200,5,5,123,200,5,5,124,200,5,5,125,200,5,5,126,200,5,5,127,200,5,5,128,200,5,5,37,208,5,5,38,208,5,5,39,208,5,5,40,208,5,5,41,208,5,5,42,208,5,5,43,208,5,5,44,208,5,5,45,208,5,5,46,208,5,5,47,208,5,5,48,208,5,5,49,208,5,5,123,215,5,5,124,215,5,5,125,215,5,5,126,215,5,5,127,215,5,5,128,215,5,5,129,215,5,5,130,215,5,5,131,215,5,5,132,215,5,5,72,222,5,5,73,222,5,5,74,222,5,5,75,222,5,5,76,222,5,5,77,222,5,5,78,222,5,5,79,222,5,5,80,222,5,5,81,222,5,5,82,222,5,5,83,222,5,5,84,222,5,5,85,222,5,5,86,222,5,5,87,222,5,5,88,222,5,5,89,222,5,5,90,222,5,5,91,222,5,5,93,222,5,5,95,228,5,5,96,228,5,5,97,228,5,5,98,228,5,5,99,228,5,5,100,228,5,5,101,228,5,5,102,228,5,5,136,233,5,5,137,233,5,5,138,233,5,5,139,233,5,5,140,233,5,5,141,233,5,5,142,233,5,5,143,233,5,5,97,237,5,5,98,237,5,5,99,237,5,5,141,235,5,5,100,237,5,5,101,237,5,5,102,237,5,5,103,237,5,5,176,240,5,5,177,240,5,5,178,240,5,5,179,240,5,5,180,240,5,5,181,240,5,5,182,240,5,5,108,243,5,5,109,243,5,5,110,243,5,5,118,245,5,5,119,245,5,5,120,245,5,5,121,245,5,5,122,245,5,5,6,247,5,5,7,247,5,5,8,247,5,5,9,247,5,5,44,248,5,5,45,248,5,5,253,248,5,5,162,249,5,5,117,158,5,5,245,161,5,5,246,161,5,5,247,161,5,5,152,165,5,5,153,165,5,5,9,171,5,5,10,171,5,5,11,171,5,5,12,171,5,5,13,171,5,5,14,171,5,5,15,171,5,5,16,171,5,5,17,171,5,5,18,171,5,5,19,171,5,5,20,171,5,5,21,171,5,5,62,177,5,5,63,177,5,5,64,177,5,5,65,177,5,5,66,177,5,5,67,177,5,5,68,177,5,5,69,177,5,5,70,177,5,5,71,177,5,5,72,177,5,5,73,177,5,5,119,184,5,5,120,184,5,5,121,184,5,5,122,184,5,5,123,184,5,5,124,184,5,5,125,184,5,5,126,184,5,5,127,184,5,5,128,184,5,5,129,184,5,5,81,192,5,5,82,192,5,5,83,192,5,5,84,192,5,5,131,200,5,5,132,200,5,5,133,200,5,5,134,200,5,5,135,200,5,5,136,200,5,5,137,200,5,5,138,200,5,5,139,200,5,5,140,200,5,5,141,200,5,5,53,208,5,5,54,208,5,5,136,215,5,5,137,215,5,5,138,215,5,5,139,215,5,5,94,222,5,5,104,228,5,5,105,228,5,5,106,228,5,5,107,228,5,5,145,233,5,5,146,233,5,5,123,245,5,5,154,165,5,5,85,192,5,5,86,192,5,5,87,192,5,5,55,208,5,5,56,208,5,5,57,208,5,5,140,215,5,5,108,228,5,5,95,222,5,5,109,228,5,5,147,233,5,5,155,165,5,5,248,161,5,5,74,177,5,5,75,177,5,5,76,177,5,5,77,177,5,5,130,184,5,5,131,184,5,5,132,184,5,5,88,192,5,5,89,192,5,5,90,192,5,5,91,192,5,5,92,192,5,5,93,192,5,5,94,192,5,5,142,200,5,5,143,200,5,5,144,200,5,5,145,200,5,5,146,200,5,5,147,200,5,5,148,200,5,5,149,200,5,5,150,200,5,5,151,200,5,5,152,200,5,5,153,200,5,5,58,208,5,5,59,208,5,5,60,208,5,5,61,208,5,5,62,208,5,5,63,208,5,5,64,208,5,5,65,208,5,5,66,208,5,5,141,215,5,5,142,215,5,5,143,215,5,5,144,215,5,5,145,215,5,5,146,215,5,5,96,222,5,5,97,222,5,5,98,222,5,5,99,222,5,5,100,222,5,5,101,222,5,5,102,222,5,5,103,222,5,5,104,222,5,5,105,222,5,5,110,228,5,5,111,228,5,5,112,228,5,5,148,233,5,5,104,237,5,5,183,240,5,5,184,240,5,5,185,240,5,5,186,240,5,5,111,243,5,5,124,245,5,5,125,245,5,5,46,248,5,5,242,249,5,5,156,165,5,5,79,177,5,5,134,184,5,5,135,184,5,5,136,184,5,5,137,184,5,5,97,192,5,5,98,192,5,5,99,192,5,5,69,208,5,5,100,192,5,5,101,192,5,5,102,192,5,5,103,192,5,5,104,192,5,5,105,192,5,5,106,192,5,5,107,192,5,5,156,200,5,5,157,200,5,5,158,200,5,5,159,200,5,5,160,200,5,5,161,200,5,5,162,200,5,5,163,200,5,5,164,200,5,5,165,200,5,5,166,200,5,5,68,208,5,5,167,200,5,5,168,200,5,5,169,200,5,5,170,200,5,5,171,200,5,5,172,200,5,5,173,200,5,5,174,200,5,5,175,200,5,5,176,200,5,5,177,200,5,5,178,200,5,5,179,200,5,5,180,200,5,5,70,208,5,5,71,208,5,5,72,208,5,5,73,208,5,5,74,208,5,5,75,208,5,5,76,208,5,5,77,208,5,5,78,208,5,5,79,208,5,5,80,208,5,5,81,208,5,5,82,208,5,5,83,208,5,5,84,208,5,5,85,208,5,5,86,208,5,5,87,208,5,5,88,208,5,5,89,208,5,5,90,208,5,5,91,208,5,5,181,200,5,5,92,208,5,5,93,208,5,5,94,208,5,5,95,208,5,5,96,208,5,5,97,208,5,5,147,215,5,5,148,215,5,5,149,215,5,5,150,215,5,5,151,215,5,5,152,215,5,5,153,215,5,5,154,215,5,5,155,215,5,5,156,215,5,5,157,215,5,5,158,215,5,5,159,215,5,5,160,215,5,5,161,215,5,5,162,215,5,5,163,215,5,5,164,215,5,5,165,215,5,5,106,222,5,5,107,222,5,5,108,222,5,5,109,222,5,5,110,222,5,5,111,222,5,5,112,222,5,5,113,222,5,5,114,222,5,5,115,222,5,5,116,222,5,5,117,222,5,5,118,222,5,5,119,222,5,5,120,222,5,5,121,222,5,5,122,222,5,5,123,222,5,5,124,222,5,5,125,222,5,5,126,222,5,5,127,222,5,5,128,222,5,5,129,222,5,5,130,222,5,5,131,222,5,5,132,222,5,5,133,222,5,5,144,222,5,5,134,222,5,5,135,222,5,5,136,222,5,5,137,222,5,5,114,228,5,5,115,228,5,5,116,228,5,5,117,228,5,5,118,228,5,5,119,228,5,5,120,228,5,5,145,222,5,5,121,228,5,5,122,228,5,5,138,222,5,5,123,228,5,5,124,228,5,5,125,228,5,5,126,228,5,5,127,228,5,5,128,228,5,5,129,228,5,5,130,228,5,5,131,228,5,5,132,228,5,5,133,228,5,5,149,233,5,5,150,233,5,5,151,233,5,5,152,233,5,5,153,233,5,5,154,233,5,5,155,233,5,5,156,233,5,5,157,233,5,5,158,233,5,5,159,233,5,5,160,233,5,5,161,233,5,5,162,233,5,5,105,237,5,5,106,237,5,5,107,237,5,5,108,237,5,5,109,237,5,5,110,237,5,5,111,237,5,5,112,237,5,5,113,237,5,5,114,237,5,5,115,237,5,5,116,237,5,5,117,237,5,5,118,237,5,5,119,237,5,5,120,237,5,5,121,237,5,5,122,237,5,5,123,237,5,5,124,237,5,5,187,240,5,5,129,237,5,5,188,240,5,5,189,240,5,5,190,240,5,5,191,240,5,5,125,237,5,5,192,240,5,5,193,240,5,5,194,240,5,5,195,240,5,5,196,240,5,5,197,240,5,5,198,240,5,5,199,240,5,5,200,240,5,5,201,240,5,5,202,240,5,5,203,240,5,5,204,240,5,5,205,240,5,5,206,240,5,5,207,240,5,5,208,240,5,5,126,237,5,5,112,243,5,5,113,243,5,5,114,243,5,5,115,243,5,5,116,243,5,5,117,243,5,5,213,240,5,5,118,243,5,5,119,243,5,5,126,245,5,5,127,245,5,5,128,245,5,5,129,245,5,5,130,245,5,5,131,245,5,5,10,247,5,5,11,247,5,5,12,247,5,5,13,247,5,5,14,247,5,5,15,247,5,5,16,247,5,5,17,247,5,5,47,248,5,5,48,248,5,5,18,247,5,5,49,248,5,5,50,248,5,5,254,248,5,5,255,248,5,5,2,249,5,5,3,249,5,5,164,249,5,5,165,249,5,5,166,249,5,5,167,249,5,5,168,249,5,5,243,249,5,5,244,249,5,5,98,250,5,5,47,250,5,5,48,250,5,5,158,165,5,5,139,184,5,5,108,192,5,5,109,192,5,5,110,192,5,5,186,200,5,5,101,208,5,5,102,208,5,5,168,215,5,5,169,215,5,5,170,215,5,5,146,222,5,5,147,222,5,5,148,222,5,5,149,222,5,5,150,222,5,5,151,222,5,5,152,222,5,5,136,228,5,5,137,228,5,5,130,237,5,5,131,237,5,5,132,237,5,5,214,240,5,5,215,240,5,5,216,240,5,5,217,240,5,5,121,243,5,5,134,245,5,5,4,249,5,5,49,250,5,5,159,165,5,5,22,171,5,5,80,177,5,5,81,177,5,5,140,184,5,5,141,184,5,5,142,184,5,5,143,184,5,5,144,184,5,5,145,184,5,5,146,184,5,5,147,184,5,5,113,192,5,5,114,192,5,5,115,192,5,5,116,192,5,5,117,192,5,5,118,192,5,5,119,192,5,5,120,192,5,5,121,192,5,5,122,192,5,5,123,192,5,5,124,192,5,5,125,192,5,5,126,192,5,5,187,200,5,5,188,200,5,5,189,200,5,5,190,200,5,5,191,200,5,5,192,200,5,5,193,200,5,5,194,200,5,5,195,200,5,5,104,208,5,5,196,200,5,5,197,200,5,5,198,200,5,5,199,200,5,5,200,200,5,5,201,200,5,5,202,200,5,5,203,200,5,5,204,200,5,5,205,200,5,5,206,200,5,5,207,200,5,5,208,200,5,5,209,200,5,5,210,200,5,5,211,200,5,5,105,208,5,5,106,208,5,5,107,208,5,5,108,208,5,5,109,208,5,5,110,208,5,5,111,208,5,5,112,208,5,5,113,208,5,5,114,208,5,5,115,208,5,5,116,208,5,5,117,208,5,5,118,208,5,5,119,208,5,5,171,215,5,5,172,215,5,5,173,215,5,5,174,215,5,5,175,215,5,5,176,215,5,5,177,215,5,5,178,215,5,5,179,215,5,5,154,222,5,5,155,222,5,5,156,222,5,5,157,222,5,5,158,222,5,5,159,222,5,5,160,222,5,5,161,222,5,5,162,222,5,5,163,222,5,5,164,222,5,5,165,222,5,5,166,222,5,5,167,222,5,5,168,222,5,5,169,222,5,5,170,222,5,5,171,222,5,5,172,222,5,5,173,222,5,5,174,222,5,5,175,222,5,5,176,222,5,5,138,228,5,5,139,228,5,5,140,228,5,5,141,228,5,5,142,228,5,5,143,228,5,5,144,228,5,5,145,228,5,5,146,228,5,5,147,228,5,5,148,228,5,5,149,228,5,5,150,228,5,5,151,228,5,5,152,228,5,5,153,228,5,5,166,233,5,5,167,233,5,5,168,233,5,5,169,233,5,5,170,233,5,5,171,233,5,5,172,233,5,5,173,233,5,5,174,233,5,5,134,237,5,5,135,237,5,5,136,237,5,5,137,237,5,5,138,237,5,5,139,237,5,5,140,237,5,5,218,240,5,5,219,240,5,5,220,240,5,5,221,240,5,5,222,240,5,5,223,240,5,5,224,240,5,5,225,240,5,5,122,243,5,5,123,243,5,5,124,243,5,5,125,243,5,5,126,243,5,5,127,243,5,5,135,245,5,5,136,245,5,5,137,245,5,5,138,245,5,5,139,245,5,5,19,247,5,5,20,247,5,5,21,247,5,5,52,248,5,5,53,248,5,5,50,250,5,5,118,158,5,5,199,159,5,5,249,161,5,5,160,165,5,5,161,165,5,5,162,165,5,5,23,171,5,5,24,171,5,5,25,171,5,5,26,171,5,5,27,171,5,5,82,177,5,5,83,177,5,5,84,177,5,5,85,177,5,5,86,177,5,5,87,177,5,5,88,177,5,5,89,177,5,5,90,177,5,5,91,177,5,5,92,177,5,5,148,184,5,5,149,184,5,5,150,184,5,5,151,184,5,5,152,184,5,5,153,184,5,5,154,184,5,5,155,184,5,5,133,192,5,5,134,192,5,5,135,192,5,5,215,200,5,5,216,200,5,5,217,200,5,5,218,200,5,5,219,200,5,5,220,200,5,5,221,200,5,5,222,200,5,5,120,208,5,5,121,208,5,5,122,208,5,5,123,208,5,5,124,208,5,5,125,208,5,5,182,215,5,5,183,215,5,5,184,215,5,5,180,222,5,5,155,228,5,5,156,228,5,5,163,165,5,5,223,200,5,5,224,200,5,5,126,208,5,5,127,208,5,5,128,208,5,5,185,215,5,5,186,215,5,5,187,215,5,5,181,222,5,5,157,228,5,5,158,228,5,5,159,228,5,5,160,228,5,5,161,228,5,5,162,228,5,5,177,233,5,5,143,237,5,5,226,240,5,5,128,243,5,5,140,245,5,5,164,165,5,5,156,184,5,5,129,208,5,5,182,222,5,5,227,240,5,5,165,165,5,5,120,158,5,5,200,159,5,5,250,161,5,5,251,161,5,5,252,161,5,5,253,161,5,5,254,161,5,5,255,161,5,5,167,165,5,5,168,165,5,5,169,165,5,5,170,165,5,5,171,165,5,5,172,165,5,5,173,165,5,5,174,165,5,5,175,165,5,5,176,165,5,5,177,165,5,5,178,165,5,5,28,171,5,5,29,171,5,5,30,171,5,5,31,171,5,5,32,171,5,5,33,171,5,5,34,171,5,5,35,171,5,5,36,171,5,5,37,171,5,5,38,171,5,5,39,171,5,5,40,171,5,5,41,171,5,5,42,171,5,5,43,171,5,5,44,171,5,5,45,171,5,5,46,171,5,5,47,171,5,5,48,171,5,5,49,171,5,5,93,177,5,5,94,177,5,5,95,177,5,5,96,177,5,5,97,177,5,5,98,177,5,5,99,177,5,5,100,177,5,5,101,177,5,5,102,177,5,5,103,177,5,5,104,177,5,5,50,171,5,5,105,177,5,5,106,177,5,5,107,177,5,5,108,177,5,5,109,177,5,5,110,177,5,5,111,177,5,5,157,184,5,5,158,184,5,5,159,184,5,5,160,184,5,5,161,184,5,5,162,184,5,5,163,184,5,5,164,184,5,5,165,184,5,5,166,184,5,5,167,184,5,5,168,184,5,5,169,184,5,5,170,184,5,5,171,184,5,5,172,184,5,5,173,184,5,5,174,184,5,5,175,184,5,5,176,184,5,5,177,184,5,5,178,184,5,5,179,184,5,5,136,192,5,5,137,192,5,5,138,192,5,5,139,192,5,5,140,192,5,5,141,192,5,5,142,192,5,5,143,192,5,5,144,192,5,5,145,192,5,5,146,192,5,5,147,192,5,5,148,192,5,5,149,192,5,5,150,192,5,5,151,192,5,5,152,192,5,5,153,192,5,5,154,192,5,5,155,192,5,5,156,192,5,5,157,192,5,5,158,192,5,5,159,192,5,5,160,192,5,5,161,192,5,5,162,192,5,5,163,192,5,5,164,192,5,5,226,200,5,5,227,200,5,5,228,200,5,5,229,200,5,5,230,200,5,5,231,200,5,5,232,200,5,5,233,200,5,5,234,200,5,5,235,200,5,5,236,200,5,5,237,200,5,5,238,200,5,5,239,200,5,5,240,200,5,5,241,200,5,5,242,200,5,5,243,200,5,5,244,200,5,5,245,200,5,5,130,208,5,5,131,208,5,5,132,208,5,5,133,208,5,5,134,208,5,5,135,208,5,5,136,208,5,5,137,208,5,5,138,208,5,5,139,208,5,5,140,208,5,5,141,208,5,5,142,208,5,5,143,208,5,5,144,208,5,5,145,208,5,5,146,208,5,5,147,208,5,5,148,208,5,5,149,208,5,5,150,208,5,5,151,208,5,5,152,208,5,5,153,208,5,5,154,208,5,5,155,208,5,5,156,208,5,5,157,208,5,5,188,215,5,5,189,215,5,5,190,215,5,5,191,215,5,5,192,215,5,5,193,215,5,5,194,215,5,5,195,215,5,5,196,215,5,5,197,215,5,5,198,215,5,5,199,215,5,5,200,215,5,5,201,215,5,5,183,222,5,5,184,222,5,5,185,222,5,5,186,222,5,5,187,222,5,5,188,222,5,5,189,222,5,5,190,222,5,5,191,222,5,5,192,222,5,5,193,222,5,5,194,222,5,5,163,228,5,5,195,222,5,5,164,228,5,5,165,228,5,5,166,228,5,5,196,222,5,5,167,228,5,5,168,228,5,5,169,228,5,5,170,228,5,5,171,228,5,5,178,233,5,5,179,233,5,5,180,233,5,5,181,233,5,5,182,233,5,5,183,233,5,5,184,233,5,5,185,233,5,5,186,233,5,5,172,228,5,5,144,237,5,5,145,237,5,5,187,233,5,5,228,240,5,5,229,240,5,5,230,240,5,5,129,243,5,5,141,245,5,5,54,248,5,5,55,248,5,5,182,165,5,5,201,159,5,5,202,159,5,5,3,162,5,5,180,184,5,5,4,162,5,5,5,162,5,5,6,162,5,5,7,162,5,5,8,162,5,5,9,162,5,5,10,162,5,5,11,162,5,5,183,165,5,5,184,165,5,5,185,165,5,5,186,165,5,5,187,165,5,5,188,165,5,5,189,165,5,5,190,165,5,5,191,165,5,5,192,165,5,5,193,165,5,5,194,165,5,5,195,165,5,5,167,192,5,5,196,165,5,5,52,171,5,5,53,171,5,5,54,171,5,5,55,171,5,5,56,171,5,5,57,171,5,5,58,171,5,5,59,171,5,5,60,171,5,5,61,171,5,5,62,171,5,5,63,171,5,5,64,171,5,5,65,171,5,5,66,171,5,5,112,177,5,5,113,177,5,5,114,177,5,5,115,177,5,5,116,177,5,5,117,177,5,5,118,177,5,5,119,177,5,5,120,177,5,5,121,177,5,5,122,177,5,5,123,177,5,5,124,177,5,5,125,177,5,5,126,177,5,5,127,177,5,5,159,208,5,5,128,177,5,5,129,177,5,5,130,177,5,5,131,177,5,5,132,177,5,5,202,215,5,5,133,177,5,5,168,192,5,5,134,177,5,5,181,184,5,5,182,184,5,5,183,184,5,5,184,184,5,5,185,184,5,5,186,184,5,5,187,184,5,5,188,184,5,5,189,184,5,5,190,184,5,5,191,184,5,5,192,184,5,5,193,184,5,5,194,184,5,5,195,184,5,5,196,184,5,5,197,184,5,5,198,184,5,5,169,192,5,5,170,192,5,5,171,192,5,5,172,192,5,5,173,192,5,5,174,192,5,5,175,192,5,5,176,192,5,5,177,192,5,5,137,177,5,5,178,192,5,5,179,192,5,5,180,192,5,5,248,200,5,5,197,222,5,5,181,192,5,5,182,192,5,5,249,200,5,5,177,228,5,5,250,200,5,5,251,200,5,5,183,192,5,5,252,200,5,5,253,200,5,5,254,200,5,5,255,200,5,5,2,201,5,5,3,201,5,5,4,201,5,5,5,201,5,5,6,201,5,5,7,201,5,5,8,201,5,5,9,201,5,5,10,201,5,5,160,208,5,5,161,208,5,5,162,208,5,5,163,208,5,5,164,208,5,5,165,208,5,5,166,208,5,5,167,208,5,5,168,208,5,5,169,208,5,5,170,208,5,5,171,208,5,5,172,208,5,5,203,215,5,5,204,215,5,5,205,215,5,5,206,215,5,5,207,215,5,5,208,215,5,5,209,215,5,5,210,215,5,5,211,215,5,5,212,215,5,5,213,215,5,5,214,215,5,5,215,215,5,5,216,215,5,5,198,222,5,5,199,222,5,5,147,237,5,5,200,222,5,5,201,222,5,5,202,222,5,5,12,201,5,5,203,222,5,5,204,222,5,5,205,222,5,5,206,222,5,5,207,222,5,5,208,222,5,5,178,228,5,5,179,228,5,5,180,228,5,5,181,228,5,5,182,228,5,5,190,233,5,5,191,233,5,5,148,237,5,5,149,237,5,5,150,237,5,5,151,237,5,5,152,237,5,5,232,240,5,5,233,240,5,5,130,243,5,5,234,240,5,5,131,243,5,5,142,245,5,5,143,245,5,5,144,245,5,5,22,247,5,5,23,247,5,5,199,165,5,5,138,177,5,5,139,177,5,5,199,184,5,5,200,184,5,5,201,184,5,5,202,184,5,5,203,184,5,5,204,184,5,5,205,184,5,5,186,192,5,5,187,192,5,5,188,192,5,5,189,192,5,5,190,192,5,5,191,192,5,5,192,192,5,5,193,192,5,5,194,192,5,5,195,192,5,5,196,192,5,5,197,192,5,5,13,201,5,5,14,201,5,5,15,201,5,5,16,201,5,5,17,201,5,5,18,201,5,5,19,201,5,5,173,208,5,5,174,208,5,5,175,208,5,5,176,208,5,5,177,208,5,5,178,208,5,5,179,208,5,5,180,208,5,5,181,208,5,5,182,208,5,5,183,208,5,5,184,208,5,5,217,215,5,5,218,215,5,5,219,215,5,5,220,215,5,5,221,215,5,5,222,215,5,5,223,215,5,5,224,215,5,5,225,215,5,5,226,215,5,5,227,215,5,5,228,215,5,5,229,215,5,5,230,215,5,5,210,222,5,5,211,222,5,5,212,222,5,5,213,222,5,5,214,222,5,5,215,222,5,5,216,222,5,5,217,222,5,5,218,222,5,5,219,222,5,5,220,222,5,5,221,222,5,5,222,222,5,5,183,228,5,5,184,228,5,5,185,228,5,5,186,228,5,5,187,228,5,5,188,228,5,5,189,228,5,5,190,228,5,5,191,228,5,5,192,228,5,5,193,228,5,5,192,233,5,5,193,233,5,5,194,233,5,5,195,233,5,5,196,233,5,5,197,233,5,5,198,233,5,5,199,233,5,5,200,233,5,5,201,233,5,5,202,233,5,5,203,233,5,5,204,233,5,5,153,237,5,5,154,237,5,5,155,237,5,5,156,237,5,5,157,237,5,5,158,237,5,5,159,237,5,5,160,237,5,5,235,240,5,5,236,240,5,5,237,240,5,5,238,240,5,5,239,240,5,5,132,243,5,5,133,243,5,5,134,243,5,5,135,243,5,5,136,243,5,5,137,243,5,5,138,243,5,5,145,245,5,5,146,245,5,5,147,245,5,5,56,248,5,5,5,249,5,5,6,249,5,5,7,249,5,5,8,249,5,5,169,249,5,5,9,249,5,5,245,249,5,5,246,249,5,5,51,250,5,5,200,165,5,5,69,171,5,5,200,192,5,5,21,201,5,5,22,201,5,5,139,243,5,5,201,165,5,5,140,177,5,5,201,192,5,5,23,201,5,5,161,237,5,5,70,171,5,5,71,171,5,5,141,177,5,5,142,177,5,5,206,184,5,5,207,184,5,5,208,184,5,5,209,184,5,5,210,184,5,5,211,184,5,5,212,184,5,5,213,184,5,5,214,184,5,5,215,184,5,5,216,184,5,5,217,184,5,5,218,184,5,5,219,184,5,5,202,192,5,5,203,192,5,5,204,192,5,5,205,192,5,5,206,192,5,5,207,192,5,5,208,192,5,5,209,192,5,5,210,192,5,5,211,192,5,5,212,192,5,5,213,192,5,5,214,192,5,5,215,192,5,5,216,192,5,5,217,192,5,5,218,192,5,5,219,192,5,5,220,192,5,5,221,192,5,5,222,192,5,5,223,192,5,5,224,192,5,5,225,192,5,5,226,192,5,5,227,192,5,5,24,201,5,5,25,201,5,5,26,201,5,5,27,201,5,5,28,201,5,5,29,201,5,5,30,201,5,5,31,201,5,5,32,201,5,5,33,201,5,5,34,201,5,5,35,201,5,5,36,201,5,5,37,201,5,5,38,201,5,5,39,201,5,5,40,201,5,5,41,201,5,5,42,201,5,5,43,201,5,5,44,201,5,5,45,201,5,5,46,201,5,5,47,201,5,5,48,201,5,5,49,201,5,5,50,201,5,5,51,201,5,5,52,201,5,5,53,201,5,5,54,201,5,5,55,201,5,5,56,201,5,5,57,201,5,5,58,201,5,5,59,201,5,5,60,201,5,5,61,201,5,5,62,201,5,5,63,201,5,5,64,201,5,5,65,201,5,5,66,201,5,5,67,201,5,5,68,201,5,5,69,201,5,5,70,201,5,5,71,201,5,5,232,215,5,5,186,208,5,5,187,208,5,5,188,208,5,5,189,208,5,5,190,208,5,5,191,208,5,5,192,208,5,5,193,208,5,5,194,208,5,5,195,208,5,5,196,208,5,5,197,208,5,5,198,208,5,5,199,208,5,5,200,208,5,5,201,208,5,5,202,208,5,5,203,208,5,5,204,208,5,5,205,208,5,5,206,208,5,5,207,208,5,5,208,208,5,5,209,208,5,5,210,208,5,5,211,208,5,5,212,208,5,5,213,208,5,5,214,208,5,5,215,208,5,5,216,208,5,5,217,208,5,5,218,208,5,5,219,208,5,5,220,208,5,5,221,208,5,5,222,208,5,5,223,208,5,5,224,208,5,5,225,208,5,5,226,208,5,5,227,208,5,5,228,208,5,5,229,208,5,5,230,208,5,5,231,208,5,5,232,208,5,5,233,208,5,5,234,208,5,5,235,208,5,5,236,208,5,5,237,208,5,5,238,208,5,5,239,208,5,5,240,208,5,5,241,208,5,5,242,208,5,5,243,208,5,5,244,208,5,5,245,208,5,5,246,208,5,5,247,208,5,5,248,208,5,5,249,208,5,5,250,208,5,5,251,208,5,5,252,208,5,5,253,208,5,5,254,208,5,5,255,208,5,5,2,209,5,5,233,215,5,5,234,215,5,5,235,215,5,5,236,215,5,5,237,215,5,5,238,215,5,5,239,215,5,5,47,216,5,5,240,215,5,5,241,215,5,5,242,215,5,5,243,215,5,5,244,215,5,5,245,215,5,5,246,215,5,5,247,215,5,5,248,215,5,5,249,215,5,5,250,215,5,5,251,215,5,5,252,215,5,5,253,215,5,5,254,215,5,5,255,215,5,5,2,216,5,5,3,216,5,5,3,209,5,5,4,216,5,5,5,216,5,5,6,216,5,5,7,216,5,5,8,216,5,5,9,216,5,5,10,216,5,5,11,216,5,5,12,216,5,5,13,216,5,5,14,216,5,5,15,216,5,5,16,216,5,5,17,216,5,5,18,216,5,5,19,216,5,5,20,216,5,5,21,216,5,5,22,216,5,5,23,216,5,5,24,216,5,5,25,216,5,5,26,216,5,5,27,216,5,5,28,216,5,5,29,216,5,5,30,216,5,5,31,216,5,5,32,216,5,5,33,216,5,5,34,216,5,5,35,216,5,5,36,216,5,5,37,216,5,5,223,222,5,5,224,222,5,5,225,222,5,5,226,222,5,5,227,222,5,5,228,222,5,5,229,222,5,5,230,222,5,5,231,222,5,5,232,222,5,5,233,222,5,5,234,222,5,5,235,222,5,5,236,222,5,5,237,222,5,5,238,222,5,5,239,222,5,5,240,222,5,5,241,222,5,5,242,222,5,5,243,222,5,5,244,222,5,5,245,222,5,5,246,222,5,5,247,222,5,5,196,228,5,5,248,222,5,5,249,222,5,5,250,222,5,5,251,222,5,5,252,222,5,5,253,222,5,5,254,222,5,5,255,222,5,5,2,223,5,5,3,223,5,5,4,223,5,5,5,223,5,5,6,223,5,5,7,223,5,5,8,223,5,5,9,223,5,5,10,223,5,5,11,223,5,5,12,223,5,5,13,223,5,5,14,223,5,5,15,223,5,5,16,223,5,5,17,223,5,5,18,223,5,5,19,223,5,5,20,223,5,5,21,223,5,5,22,223,5,5,23,223,5,5,24,223,5,5,25,223,5,5,26,223,5,5,27,223,5,5,46,216,5,5,28,223,5,5,29,223,5,5,30,223,5,5,31,223,5,5,32,223,5,5,33,223,5,5,34,223,5,5,35,223,5,5,197,228,5,5,198,228,5,5,199,228,5,5,200,228,5,5,201,228,5,5,202,228,5,5,203,228,5,5,204,228,5,5,205,228,5,5,206,228,5,5,207,228,5,5,208,228,5,5,209,228,5,5,210,228,5,5,211,228,5,5,212,228,5,5,213,228,5,5,214,228,5,5,215,228,5,5,216,228,5,5,217,228,5,5,218,228,5,5,219,228,5,5,220,228,5,5,221,228,5,5,222,228,5,5,223,228,5,5,224,228,5,5,225,228,5,5,226,228,5,5,227,228,5,5,228,228,5,5,229,228,5,5,230,228,5,5,231,228,5,5,232,228,5,5,233,228,5,5,234,228,5,5,235,228,5,5,236,228,5,5,237,228,5,5,238,228,5,5,239,228,5,5,240,228,5,5,241,228,5,5,242,228,5,5,243,228,5,5,244,228,5,5,245,228,5,5,206,233,5,5,246,228,5,5,247,228,5,5,248,228,5,5,249,228,5,5,250,228,5,5,251,228,5,5,252,228,5,5,253,228,5,5,254,228,5,5,255,228,5,5,2,229,5,5,3,229,5,5,4,229,5,5,5,229,5,5,6,229,5,5,7,229,5,5,8,229,5,5,9,229,5,5,10,229,5,5,11,229,5,5,12,229,5,5,13,229,5,5,14,229,5,5,15,229,5,5,16,229,5,5,17,229,5,5,18,229,5,5,19,229,5,5,20,229,5,5,21,229,5,5,207,233,5,5,22,229,5,5,208,233,5,5,209,233,5,5,210,233,5,5,211,233,5,5,212,233,5,5,213,233,5,5,214,233,5,5,215,233,5,5,216,233,5,5,217,233,5,5,218,233,5,5,219,233,5,5,220,233,5,5,221,233,5,5,222,233,5,5,223,233,5,5,224,233,5,5,225,233,5,5,226,233,5,5,227,233,5,5,228,233,5,5,229,233,5,5,230,233,5,5,231,233,5,5,232,233,5,5,233,233,5,5,234,233,5,5,235,233,5,5,236,233,5,5,237,233,5,5,238,233,5,5,239,233,5,5,240,233,5,5,241,233,5,5,242,233,5,5,243,233,5,5,244,233,5,5,245,233,5,5,246,233,5,5,247,233,5,5,248,233,5,5,249,233,5,5,250,233,5,5,251,233,5,5,252,233,5,5,253,233,5,5,254,233,5,5,255,233,5,5,2,234,5,5,36,229,5,5,3,234,5,5,4,234,5,5,5,234,5,5,6,234,5,5,7,234,5,5,8,234,5,5,9,234,5,5,10,234,5,5,11,234,5,5,12,234,5,5,13,234,5,5,14,234,5,5,15,234,5,5,162,237,5,5,163,237,5,5,164,237,5,5,165,237,5,5,166,237,5,5,167,237,5,5,168,237,5,5,169,237,5,5,170,237,5,5,171,237,5,5,172,237,5,5,173,237,5,5,174,237,5,5,175,237,5,5,176,237,5,5,177,237,5,5,178,237,5,5,179,237,5,5,180,237,5,5,181,237,5,5,182,237,5,5,183,237,5,5,184,237,5,5,185,237,5,5,186,237,5,5,32,234,5,5,187,237,5,5,188,237,5,5,189,237,5,5,190,237,5,5,191,237,5,5,192,237,5,5,193,237,5,5,241,240,5,5,194,237,5,5,195,237,5,5,196,237,5,5,197,237,5,5,198,237,5,5,33,234,5,5,199,237,5,5,200,237,5,5,201,237,5,5,202,237,5,5,203,237,5,5,204,237,5,5,205,237,5,5,206,237,5,5,207,237,5,5,208,237,5,5,209,237,5,5,210,237,5,5,211,237,5,5,212,237,5,5,213,237,5,5,214,237,5,5,242,240,5,5,243,240,5,5,244,240,5,5,245,240,5,5,246,240,5,5,247,240,5,5,248,240,5,5,249,240,5,5,250,240,5,5,251,240,5,5,252,240,5,5,253,240,5,5,254,240,5,5,255,240,5,5,2,241,5,5,3,241,5,5,4,241,5,5,5,241,5,5,6,241,5,5,7,241,5,5,8,241,5,5,9,241,5,5,10,241,5,5,11,241,5,5,12,241,5,5,13,241,5,5,14,241,5,5,15,241,5,5,16,241,5,5,17,241,5,5,18,241,5,5,19,241,5,5,20,241,5,5,21,241,5,5,22,241,5,5,23,241,5,5,24,241,5,5,25,241,5,5,26,241,5,5,27,241,5,5,28,241,5,5,29,241,5,5,30,241,5,5,31,241,5,5,32,241,5,5,33,241,5,5,34,241,5,5,35,241,5,5,36,241,5,5,37,241,5,5,38,241,5,5,140,243,5,5,148,245,5,5,141,243,5,5,142,243,5,5,143,243,5,5,144,243,5,5,39,241,5,5,145,243,5,5,146,243,5,5,147,243,5,5,148,243,5,5,149,243,5,5,150,243,5,5,151,243,5,5,152,243,5,5,153,243,5,5,154,243,5,5,155,243,5,5,156,243,5,5,157,243,5,5,158,243,5,5,159,243,5,5,160,243,5,5,161,243,5,5,162,243,5,5,163,243,5,5,164,243,5,5,165,243,5,5,166,243,5,5,167,243,5,5,168,243,5,5,169,243,5,5,170,243,5,5,171,243,5,5,172,243,5,5,173,243,5,5,174,243,5,5,175,243,5,5,176,243,5,5,177,243,5,5,178,243,5,5,179,243,5,5,180,243,5,5,181,243,5,5,182,243,5,5,183,243,5,5,184,243,5,5,185,243,5,5,186,243,5,5,187,243,5,5,188,243,5,5,189,243,5,5,190,243,5,5,191,243,5,5,149,245,5,5,150,245,5,5,151,245,5,5,152,245,5,5,153,245,5,5,154,245,5,5,203,243,5,5,155,245,5,5,156,245,5,5,157,245,5,5,158,245,5,5,159,245,5,5,160,245,5,5,161,245,5,5,162,245,5,5,163,245,5,5,164,245,5,5,165,245,5,5,166,245,5,5,204,243,5,5,167,245,5,5,168,245,5,5,169,245,5,5,170,245,5,5,171,245,5,5,24,247,5,5,25,247,5,5,26,247,5,5,27,247,5,5,28,247,5,5,29,247,5,5,30,247,5,5,31,247,5,5,32,247,5,5,33,247,5,5,34,247,5,5,35,247,5,5,36,247,5,5,37,247,5,5,38,247,5,5,39,247,5,5,40,247,5,5,41,247,5,5,42,247,5,5,57,248,5,5,58,248,5,5,59,248,5,5,60,248,5,5,61,248,5,5,62,248,5,5,63,248,5,5,64,248,5,5,65,248,5,5,66,248,5,5,67,248,5,5,68,248,5,5,69,248,5,5,70,248,5,5,71,248,5,5,72,248,5,5,73,248,5,5,74,248,5,5,43,247,5,5,10,249,5,5,11,249,5,5,12,249,5,5,13,249,5,5,14,249,5,5,170,249,5,5,171,249,5,5,172,249,5,5,173,249,5,5,174,249,5,5,175,249,5,5,176,249,5,5,247,249,5,5,248,249,5,5,249,249,5,5,250,249,5,5,251,249,5,5,252,249,5,5,253,249,5,5,52,250,5,5,53,250,5,5,54,250,5,5,55,250,5,5,100,250,5,5,101,250,5,5,102,250,5,5,103,250,5,5,126,250,5,5,127,250,5,5,203,159,5,5,12,162,5,5,13,162,5,5,202,165,5,5,203,165,5,5,204,165,5,5,205,165,5,5,206,165,5,5,72,171,5,5,73,171,5,5,74,171,5,5,75,171,5,5,76,171,5,5,77,171,5,5,78,171,5,5,79,171,5,5,80,171,5,5,81,171,5,5,82,171,5,5,143,177,5,5,144,177,5,5,145,177,5,5,146,177,5,5,147,177,5,5,148,177,5,5,149,177,5,5,150,177,5,5,151,177,5,5,152,177,5,5,153,177,5,5,154,177,5,5,155,177,5,5,156,177,5,5,157,177,5,5,158,177,5,5,159,177,5,5,160,177,5,5,161,177,5,5,162,177,5,5,163,177,5,5,164,177,5,5,165,177,5,5,166,177,5,5,220,184,5,5,221,184,5,5,222,184,5,5,223,184,5,5,224,184,5,5,225,184,5,5,226,184,5,5,227,184,5,5,228,184,5,5,229,184,5,5,230,184,5,5,231,184,5,5,232,184,5,5,233,184,5,5,234,184,5,5,235,184,5,5,236,184,5,5,237,184,5,5,238,184,5,5,239,184,5,5,240,184,5,5,241,184,5,5,242,184,5,5,243,184,5,5,244,184,5,5,245,184,5,5,246,184,5,5,247,184,5,5,248,184,5,5,249,184,5,5,250,184,5,5,230,192,5,5,231,192,5,5,232,192,5,5,233,192,5,5,234,192,5,5,235,192,5,5,236,192,5,5,237,192,5,5,238,192,5,5,239,192,5,5,240,192,5,5,241,192,5,5,242,192,5,5,243,192,5,5,244,192,5,5,245,192,5,5,246,192,5,5,247,192,5,5,248,192,5,5,249,192,5,5,250,192,5,5,251,192,5,5,252,192,5,5,253,192,5,5,254,192,5,5,255,192,5,5,2,193,5,5,3,193,5,5,4,193,5,5,5,193,5,5,6,193,5,5,7,193,5,5,8,193,5,5,9,193,5,5,10,193,5,5,11,193,5,5,12,193,5,5,13,193,5,5,14,193,5,5,15,193,5,5,16,193,5,5,76,201,5,5,77,201,5,5,78,201,5,5,79,201,5,5,80,201,5,5,81,201,5,5,82,201,5,5,83,201,5,5,84,201,5,5,85,201,5,5,86,201,5,5,87,201,5,5,88,201,5,5,89,201,5,5,90,201,5,5,91,201,5,5,92,201,5,5,93,201,5,5,94,201,5,5,95,201,5,5,96,201,5,5,97,201,5,5,98,201,5,5,99,201,5,5,100,201,5,5,101,201,5,5,102,201,5,5,103,201,5,5,104,201,5,5,105,201,5,5,9,209,5,5,10,209,5,5,11,209,5,5,12,209,5,5,13,209,5,5,14,209,5,5,15,209,5,5,16,209,5,5,17,209,5,5,18,209,5,5,19,209,5,5,20,209,5,5,21,209,5,5,22,209,5,5,23,209,5,5,24,209,5,5,25,209,5,5,26,209,5,5,27,209,5,5,28,209,5,5,29,209,5,5,30,209,5,5,31,209,5,5,32,209,5,5,33,209,5,5,34,209,5,5,35,209,5,5,36,209,5,5,48,216,5,5,49,216,5,5,50,216,5,5,51,216,5,5,52,216,5,5,53,216,5,5,54,216,5,5,55,216,5,5,56,216,5,5,57,216,5,5,58,216,5,5,59,216,5,5,60,216,5,5,61,216,5,5,62,216,5,5,63,216,5,5,64,216,5,5,65,216,5,5,66,216,5,5,67,216,5,5,48,223,5,5,49,223,5,5,50,223,5,5,51,223,5,5,52,223,5,5,53,223,5,5,54,223,5,5,55,223,5,5,56,223,5,5,57,223,5,5,58,223,5,5,59,223,5,5,60,223,5,5,61,223,5,5,62,223,5,5,63,223,5,5,37,229,5,5,38,229,5,5,39,229,5,5,40,229,5,5,41,229,5,5,42,229,5,5,43,229,5,5,44,229,5,5,45,229,5,5,46,229,5,5,47,229,5,5,34,234,5,5,35,234,5,5,36,234,5,5,37,234,5,5,38,234,5,5,39,234,5,5,40,234,5,5,41,234,5,5,42,234,5,5,43,234,5,5,44,234,5,5,228,237,5,5,229,237,5,5,230,237,5,5,231,237,5,5,232,237,5,5,233,237,5,5,53,241,5,5,205,243,5,5,206,243,5,5,49,247,5,5,50,247,5,5,83,171,5,5,84,171,5,5,17,193,5,5,18,193,5,5,106,201,5,5,64,223,5,5,54,241,5,5,51,247,5,5,204,159,5,5,85,171,5,5,167,177,5,5,168,177,5,5,251,184,5,5,252,184,5,5,253,184,5,5,19,193,5,5,20,193,5,5,21,193,5,5,22,193,5,5,23,193,5,5,107,201,5,5,108,201,5,5,109,201,5,5,110,201,5,5,111,201,5,5,112,201,5,5,113,201,5,5,114,201,5,5,115,201,5,5,116,201,5,5,117,201,5,5,118,201,5,5,119,201,5,5,38,209,5,5,39,209,5,5,40,209,5,5,41,209,5,5,42,209,5,5,43,209,5,5,44,209,5,5,45,209,5,5,46,209,5,5,68,216,5,5,69,216,5,5,70,216,5,5,71,216,5,5,72,216,5,5,73,216,5,5,74,216,5,5,75,216,5,5,76,216,5,5,77,216,5,5,65,223,5,5,66,223,5,5,67,223,5,5,68,223,5,5,69,223,5,5,70,223,5,5,71,223,5,5,72,223,5,5,73,223,5,5,74,223,5,5,48,229,5,5,49,229,5,5,46,234,5,5,50,229,5,5,51,229,5,5,52,229,5,5,53,229,5,5,54,229,5,5,55,229,5,5,56,229,5,5,57,229,5,5,45,234,5,5,58,229,5,5,59,229,5,5,47,234,5,5,48,234,5,5,49,234,5,5,50,234,5,5,51,234,5,5,52,234,5,5,53,234,5,5,54,234,5,5,55,234,5,5,56,234,5,5,62,229,5,5,57,234,5,5,58,234,5,5,234,237,5,5,235,237,5,5,236,237,5,5,237,237,5,5,238,237,5,5,239,237,5,5,240,237,5,5,241,237,5,5,242,237,5,5,55,241,5,5,56,241,5,5,57,241,5,5,58,241,5,5,59,241,5,5,207,243,5,5,208,243,5,5,209,243,5,5,210,243,5,5,179,245,5,5,180,245,5,5,181,245,5,5,182,245,5,5,183,245,5,5,52,247,5,5,154,157,5,5,121,158,5,5,205,159,5,5,14,162,5,5,15,162,5,5,16,162,5,5,17,162,5,5,18,162,5,5,207,165,5,5,208,165,5,5,209,165,5,5,210,165,5,5,211,165,5,5,212,165,5,5,213,165,5,5,214,165,5,5,86,171,5,5,87,171,5,5,169,177,5,5,170,177,5,5,171,177,5,5,172,177,5,5,173,177,5,5,174,177,5,5,175,177,5,5,176,177,5,5,177,177,5,5,2,185,5,5,3,185,5,5,4,185,5,5,5,185,5,5,25,193,5,5,26,193,5,5,27,193,5,5,28,193,5,5,29,193,5,5,30,193,5,5,31,193,5,5,32,193,5,5,33,193,5,5,34,193,5,5,120,201,5,5,121,201,5,5,122,201,5,5,123,201,5,5,124,201,5,5,47,209,5,5,48,209,5,5,49,209,5,5,50,209,5,5,78,216,5,5,63,229,5,5,88,171,5,5,155,157,5,5,206,159,5,5,207,159,5,5,19,162,5,5,20,162,5,5,21,162,5,5,22,162,5,5,23,162,5,5,215,165,5,5,216,165,5,5,217,165,5,5,218,165,5,5,219,165,5,5,220,165,5,5,221,165,5,5,222,165,5,5,223,165,5,5,224,165,5,5,225,165,5,5,226,165,5,5,227,165,5,5,228,165,5,5,229,165,5,5,230,165,5,5,231,165,5,5,232,165,5,5,90,171,5,5,91,171,5,5,92,171,5,5,93,171,5,5,94,171,5,5,95,171,5,5,96,171,5,5,97,171,5,5,98,171,5,5,99,171,5,5,100,171,5,5,101,171,5,5,102,171,5,5,103,171,5,5,104,171,5,5,105,171,5,5,106,171,5,5,107,171,5,5,108,171,5,5,178,177,5,5,179,177,5,5,180,177,5,5,181,177,5,5,182,177,5,5,183,177,5,5,184,177,5,5,185,177,5,5,186,177,5,5,187,177,5,5,188,177,5,5,189,177,5,5,6,185,5,5,7,185,5,5,8,185,5,5,9,185,5,5,25,185,5,5,10,185,5,5,11,185,5,5,12,185,5,5,13,185,5,5,14,185,5,5,15,185,5,5,16,185,5,5,17,185,5,5,18,185,5,5,19,185,5,5,20,185,5,5,21,185,5,5,22,185,5,5,23,185,5,5,24,185,5,5,35,193,5,5,36,193,5,5,37,193,5,5,38,193,5,5,39,193,5,5,40,193,5,5,41,193,5,5,42,193,5,5,125,201,5,5,43,193,5,5,44,193,5,5,45,193,5,5,46,193,5,5,47,193,5,5,48,193,5,5,49,193,5,5,50,193,5,5,126,201,5,5,51,193,5,5,127,201,5,5,128,201,5,5,129,201,5,5,130,201,5,5,131,201,5,5,132,201,5,5,133,201,5,5,134,201,5,5,135,201,5,5,136,201,5,5,137,201,5,5,138,201,5,5,139,201,5,5,140,201,5,5,141,201,5,5,142,201,5,5,143,201,5,5,144,201,5,5,51,209,5,5,145,201,5,5,52,209,5,5,53,209,5,5,54,209,5,5,55,209,5,5,56,209,5,5,57,209,5,5,58,209,5,5,59,209,5,5,79,216,5,5,80,216,5,5,81,216,5,5,82,216,5,5,83,216,5,5,84,216,5,5,85,216,5,5,86,216,5,5,87,216,5,5,76,223,5,5,77,223,5,5,78,223,5,5,79,223,5,5,64,229,5,5,65,229,5,5,66,229,5,5,67,229,5,5,68,229,5,5,69,229,5,5,59,234,5,5,60,234,5,5,61,234,5,5,62,234,5,5,63,234,5,5,64,234,5,5,65,234,5,5,244,237,5,5,60,241,5,5,212,243,5,5,109,171,5,5,71,229,5,5,66,234,5,5,110,171,5,5,27,185,5,5,28,185,5,5,29,185,5,5,30,185,5,5,31,185,5,5,55,193,5,5,56,193,5,5,148,201,5,5,149,201,5,5,150,201,5,5,151,201,5,5,152,201,5,5,153,201,5,5,154,201,5,5,155,201,5,5,62,209,5,5,63,209,5,5,64,209,5,5,88,216,5,5,65,209,5,5,66,209,5,5,67,209,5,5,89,216,5,5,90,216,5,5,91,216,5,5,81,223,5,5,72,229,5,5,73,229,5,5,67,234,5,5,245,237,5,5,246,237,5,5,247,237,5,5,248,237,5,5,249,237,5,5,250,237,5,5,251,237,5,5,252,237,5,5,253,237,5,5,254,237,5,5,61,241,5,5,2,238,5,5,62,241,5,5,184,245,5,5,22,249,5,5,23,249,5,5,106,250,5,5,112,171,5,5,57,193,5,5,58,193,5,5,59,193,5,5,156,201,5,5,157,201,5,5,158,201,5,5,159,201,5,5,160,201,5,5,161,201,5,5,162,201,5,5,163,201,5,5,68,209,5,5,69,209,5,5,70,209,5,5,71,209,5,5,72,209,5,5,73,209,5,5,74,209,5,5,75,209,5,5,76,209,5,5,77,209,5,5,78,209,5,5,93,216,5,5,94,216,5,5,95,216,5,5,82,223,5,5,83,223,5,5,84,223,5,5,85,223,5,5,86,223,5,5,87,223,5,5,88,223,5,5,89,223,5,5,90,223,5,5,74,229,5,5,75,229,5,5,76,229,5,5,77,229,5,5,78,229,5,5,79,229,5,5,80,229,5,5,81,229,5,5,82,229,5,5,83,229,5,5,84,229,5,5,85,229,5,5,86,229,5,5,70,234,5,5,71,234,5,5,72,234,5,5,73,234,5,5,74,234,5,5,75,234,5,5,76,234,5,5,77,234,5,5,78,234,5,5,82,234,5,5,3,238,5,5,4,238,5,5,5,238,5,5,6,238,5,5,64,241,5,5,65,241,5,5,66,241,5,5,67,241,5,5,68,241,5,5,69,241,5,5,70,241,5,5,71,241,5,5,213,243,5,5,214,243,5,5,215,243,5,5,216,243,5,5,185,245,5,5,217,243,5,5,218,243,5,5,186,245,5,5,187,245,5,5,188,245,5,5,189,245,5,5,190,245,5,5,191,245,5,5,192,245,5,5,53,247,5,5,54,247,5,5,55,247,5,5,56,247,5,5,57,247,5,5,83,248,5,5,24,249,5,5,25,249,5,5,26,249,5,5,27,249,5,5,28,249,5,5,29,249,5,5,30,249,5,5,179,249,5,5,3,250,5,5,58,250,5,5,59,250,5,5,60,250,5,5,61,250,5,5,129,250,5,5,174,250,5,5,113,171,5,5,114,171,5,5,166,201,5,5,167,201,5,5,80,209,5,5,81,209,5,5,100,216,5,5,101,216,5,5,102,216,5,5,92,223,5,5,92,229,5,5,93,229,5,5,8,238,5,5,115,171,5,5,168,201,5,5,93,223,5,5,75,241,5,5,192,177,5,5,116,171,5,5,103,216,5,5,94,223,5,5,94,229,5,5,193,245,5,5,86,248,5,5,193,177,5,5,63,193,5,5,169,201,5,5,170,201,5,5,171,201,5,5,172,201,5,5,173,201,5,5,174,201,5,5,175,201,5,5,82,209,5,5,83,209,5,5,84,209,5,5,85,209,5,5,86,209,5,5,87,209,5,5,88,209,5,5,89,209,5,5,104,216,5,5,105,216,5,5,106,216,5,5,107,216,5,5,108,216,5,5,109,216,5,5,110,216,5,5,111,216,5,5,112,216,5,5,113,216,5,5,114,216,5,5,115,216,5,5,116,216,5,5,95,223,5,5,96,223,5,5,97,223,5,5,98,223,5,5,99,223,5,5,100,223,5,5,101,223,5,5,102,223,5,5,103,223,5,5,104,223,5,5,105,223,5,5,106,223,5,5,95,229,5,5,96,229,5,5,97,229,5,5,98,229,5,5,99,229,5,5,100,229,5,5,101,229,5,5,84,234,5,5,85,234,5,5,86,234,5,5,87,234,5,5,88,234,5,5,89,234,5,5,90,234,5,5,91,234,5,5,9,238,5,5,10,238,5,5,11,238,5,5,12,238,5,5,13,238,5,5,14,238,5,5,15,238,5,5,16,238,5,5,17,238,5,5,18,238,5,5,19,238,5,5,20,238,5,5,21,238,5,5,22,238,5,5,23,238,5,5,76,241,5,5,77,241,5,5,78,241,5,5,79,241,5,5,80,241,5,5,81,241,5,5,82,241,5,5,222,243,5,5,223,243,5,5,224,243,5,5,225,243,5,5,194,245,5,5,195,245,5,5,196,245,5,5,197,245,5,5,59,247,5,5,60,247,5,5,61,247,5,5,62,247,5,5,87,248,5,5,88,248,5,5,31,249,5,5,32,249,5,5,33,249,5,5,4,250,5,5,143,250,5,5,194,177,5,5,176,201,5,5,117,216,5,5,118,216,5,5,107,223,5,5,108,223,5,5,109,223,5,5,102,229,5,5,92,234,5,5,93,234,5,5,94,234,5,5,24,238,5,5,25,238,5,5,26,238,5,5,27,238,5,5,28,238,5,5,226,243,5,5,83,241,5,5,84,241,5,5,85,241,5,5,86,241,5,5,227,243,5,5,198,245,5,5,199,245,5,5,63,247,5,5,34,249,5,5,35,249,5,5,122,158,5,5,235,165,5,5,195,177,5,5,177,201,5,5,90,209,5,5,91,209,5,5,119,216,5,5,196,177,5,5,92,209,5,5,110,223,5,5,103,229,5,5,95,234,5,5,87,241,5,5,197,177,5,5,93,209,5,5,94,209,5,5,120,216,5,5,121,216,5,5,104,229,5,5,30,238,5,5,31,238,5,5,88,241,5,5,89,241,5,5,228,243,5,5,229,243,5,5,230,243,5,5,89,248,5,5,198,177,5,5,66,193,5,5,67,193,5,5,68,193,5,5,178,201,5,5,179,201,5,5,180,201,5,5,181,201,5,5,95,209,5,5,96,209,5,5,97,209,5,5,98,209,5,5,99,209,5,5,100,209,5,5,101,209,5,5,102,209,5,5,103,209,5,5,104,209,5,5,105,209,5,5,124,216,5,5,125,216,5,5,126,216,5,5,127,216,5,5,128,216,5,5,123,216,5,5,129,216,5,5,112,223,5,5,113,223,5,5,114,223,5,5,115,223,5,5,116,223,5,5,117,223,5,5,118,223,5,5,119,223,5,5,120,223,5,5,105,229,5,5,106,229,5,5,121,223,5,5,122,223,5,5,123,223,5,5,124,223,5,5,125,223,5,5,126,223,5,5,127,223,5,5,107,229,5,5,108,229,5,5,109,229,5,5,110,229,5,5,111,229,5,5,112,229,5,5,113,229,5,5,114,229,5,5,115,229,5,5,116,229,5,5,117,229,5,5,118,229,5,5,119,229,5,5,120,229,5,5,121,229,5,5,122,229,5,5,123,229,5,5,34,238,5,5,33,238,5,5,96,234,5,5,97,234,5,5,98,234,5,5,99,234,5,5,100,234,5,5,101,234,5,5,102,234,5,5,103,234,5,5,104,234,5,5,105,234,5,5,106,234,5,5,35,238,5,5,36,238,5,5,37,238,5,5,38,238,5,5,39,238,5,5,40,238,5,5,41,238,5,5,42,238,5,5,43,238,5,5,44,238,5,5,45,238,5,5,90,241,5,5,91,241,5,5,92,241,5,5,93,241,5,5,94,241,5,5,95,241,5,5,96,241,5,5,97,241,5,5,98,241,5,5,231,243,5,5,232,243,5,5,233,243,5,5,234,243,5,5,235,243,5,5,202,245,5,5,203,245,5,5,204,245,5,5,205,245,5,5,206,245,5,5,64,247,5,5,65,247,5,5,66,247,5,5,90,248,5,5,91,248,5,5,92,248,5,5,93,248,5,5,37,249,5,5,180,249,5,5,181,249,5,5,62,250,5,5,63,250,5,5,24,162,5,5,117,171,5,5,118,171,5,5,199,177,5,5,200,177,5,5,201,177,5,5,202,177,5,5,32,185,5,5,33,185,5,5,34,185,5,5,35,185,5,5,36,185,5,5,37,185,5,5,38,185,5,5,39,185,5,5,40,185,5,5,69,193,5,5,70,193,5,5,71,193,5,5,72,193,5,5,182,201,5,5,183,201,5,5,184,201,5,5,185,201,5,5,186,201,5,5,187,201,5,5,188,201,5,5,107,209,5,5,108,209,5,5,109,209,5,5,110,209,5,5,111,209,5,5,112,209,5,5,113,209,5,5,131,216,5,5,128,223,5,5,129,223,5,5,130,223,5,5,131,223,5,5,132,223,5,5,133,223,5,5,127,229,5,5,128,229,5,5,129,229,5,5,130,229,5,5,46,238,5,5,47,238,5,5,100,241,5,5,236,243,5,5,207,245,5,5,94,248,5,5,203,177,5,5,189,201,5,5,190,201,5,5,114,209,5,5,115,209,5,5,132,216,5,5,133,216,5,5,134,216,5,5,135,216,5,5,136,216,5,5,134,223,5,5,135,223,5,5,131,229,5,5,132,229,5,5,110,234,5,5,111,234,5,5,48,238,5,5,49,238,5,5,50,238,5,5,101,241,5,5,102,241,5,5,103,241,5,5,104,241,5,5,105,241,5,5,106,241,5,5,237,243,5,5,238,243,5,5,239,243,5,5,240,243,5,5,208,245,5,5,209,245,5,5,210,245,5,5,211,245,5,5,212,245,5,5,213,245,5,5,67,247,5,5,64,250,5,5,65,250,5,5,123,158,5,5,236,165,5,5,204,177,5,5,205,177,5,5,206,177,5,5,192,201,5,5,116,209,5,5,141,216,5,5,140,216,5,5,142,216,5,5,136,223,5,5,134,229,5,5,135,229,5,5,207,177,5,5,214,245,5,5,66,250,5,5,156,157,5,5,208,177,5,5,209,177,5,5,73,193,5,5,41,185,5,5,42,185,5,5,43,185,5,5,74,193,5,5,75,193,5,5,193,201,5,5,194,201,5,5,195,201,5,5,196,201,5,5,197,201,5,5,117,209,5,5,198,201,5,5,118,209,5,5,199,201,5,5,200,201,5,5,119,209,5,5,201,201,5,5,121,209,5,5,122,209,5,5,123,209,5,5,124,209,5,5,125,209,5,5,143,216,5,5,126,209,5,5,137,223,5,5,127,209,5,5,128,209,5,5,129,209,5,5,130,209,5,5,131,209,5,5,145,216,5,5,146,216,5,5,147,216,5,5,148,216,5,5,149,216,5,5,150,216,5,5,151,216,5,5,152,216,5,5,138,223,5,5,153,216,5,5,139,223,5,5,140,223,5,5,154,216,5,5,141,223,5,5,155,216,5,5,156,216,5,5,136,229,5,5,143,223,5,5,144,223,5,5,145,223,5,5,146,223,5,5,147,223,5,5,148,223,5,5,149,223,5,5,150,223,5,5,151,223,5,5,138,229,5,5,139,229,5,5,140,229,5,5,137,229,5,5,141,229,5,5,142,229,5,5,143,229,5,5,144,229,5,5,145,229,5,5,146,229,5,5,147,229,5,5,116,234,5,5,148,229,5,5,149,229,5,5,150,229,5,5,151,229,5,5,117,234,5,5,118,234,5,5,119,234,5,5,120,234,5,5,51,238,5,5,121,234,5,5,122,234,5,5,123,234,5,5,124,234,5,5,125,234,5,5,153,229,5,5,126,234,5,5,55,238,5,5,127,234,5,5,56,238,5,5,57,238,5,5,58,238,5,5,59,238,5,5,60,238,5,5,61,238,5,5,62,238,5,5,63,238,5,5,64,238,5,5,65,238,5,5,129,234,5,5,108,241,5,5,110,241,5,5,111,241,5,5,130,234,5,5,112,241,5,5,113,241,5,5,114,241,5,5,241,243,5,5,242,243,5,5,243,243,5,5,244,243,5,5,245,243,5,5,215,245,5,5,246,243,5,5,247,243,5,5,248,243,5,5,249,243,5,5,68,247,5,5,69,247,5,5,216,245,5,5,217,245,5,5,218,245,5,5,250,243,5,5,70,247,5,5,71,247,5,5,95,248,5,5,38,249,5,5,182,249,5,5,183,249,5,5,67,250,5,5,68,250,5,5,144,250,5,5,157,157,5,5,208,159,5,5,209,159,5,5,25,162,5,5,26,162,5,5,237,165,5,5,238,165,5,5,239,165,5,5,240,165,5,5,241,165,5,5,242,165,5,5,243,165,5,5,119,171,5,5,120,171,5,5,121,171,5,5,122,171,5,5,123,171,5,5,124,171,5,5,211,177,5,5,212,177,5,5,213,177,5,5,214,177,5,5,215,177,5,5,216,177,5,5,217,177,5,5,218,177,5,5,44,185,5,5,45,185,5,5,46,185,5,5,47,185,5,5,48,185,5,5,49,185,5,5,76,193,5,5,77,193,5,5,78,193,5,5,79,193,5,5,202,201,5,5,203,201,5,5,132,209,5,5,204,201,5,5,205,201,5,5,133,209,5,5,134,209,5,5,135,209,5,5,136,209,5,5,137,209,5,5,157,216,5,5,158,216,5,5,152,223,5,5,153,223,5,5,184,249,5,5,219,177,5,5,80,193,5,5,131,234,5,5,221,177,5,5,138,209,5,5,159,216,5,5,160,216,5,5,161,216,5,5,154,229,5,5,155,229,5,5,156,229,5,5,132,234,5,5,133,234,5,5,134,234,5,5,66,238,5,5,67,238,5,5,115,241,5,5,116,241,5,5,251,243,5,5,219,245,5,5,96,248,5,5,69,250,5,5,50,185,5,5,206,201,5,5,207,201,5,5,139,209,5,5,140,209,5,5,141,209,5,5,142,209,5,5,143,209,5,5,144,209,5,5,145,209,5,5,163,216,5,5,164,216,5,5,165,216,5,5,166,216,5,5,167,216,5,5,168,216,5,5,169,216,5,5,170,216,5,5,171,216,5,5,172,216,5,5,173,216,5,5,174,216,5,5,175,216,5,5,176,216,5,5,177,216,5,5,178,216,5,5,179,216,5,5,180,216,5,5,154,223,5,5,155,223,5,5,156,223,5,5,157,223,5,5,158,223,5,5,159,223,5,5,160,223,5,5,161,223,5,5,162,223,5,5,163,223,5,5,164,223,5,5,165,223,5,5,166,223,5,5,167,223,5,5,168,223,5,5,169,223,5,5,170,223,5,5,171,223,5,5,172,223,5,5,173,223,5,5,174,223,5,5,175,223,5,5,176,223,5,5,177,223,5,5,178,223,5,5,157,229,5,5,158,229,5,5,159,229,5,5,160,229,5,5,161,229,5,5,162,229,5,5,163,229,5,5,164,229,5,5,165,229,5,5,166,229,5,5,167,229,5,5,168,229,5,5,169,229,5,5,170,229,5,5,171,229,5,5,172,229,5,5,173,229,5,5,174,229,5,5,156,234,5,5,137,234,5,5,138,234,5,5,139,234,5,5,140,234,5,5,141,234,5,5,142,234,5,5,143,234,5,5,144,234,5,5,145,234,5,5,146,234,5,5,147,234,5,5,148,234,5,5,149,234,5,5,150,234,5,5,151,234,5,5,152,234,5,5,68,238,5,5,69,238,5,5,70,238,5,5,71,238,5,5,72,238,5,5,73,238,5,5,74,238,5,5,75,238,5,5,76,238,5,5,77,238,5,5,78,238,5,5,79,238,5,5,80,238,5,5,81,238,5,5,82,238,5,5,83,238,5,5,118,241,5,5,119,241,5,5,120,241,5,5,121,241,5,5,122,241,5,5,123,241,5,5,124,241,5,5,125,241,5,5,126,241,5,5,127,241,5,5,128,241,5,5,129,241,5,5,130,241,5,5,131,241,5,5,132,241,5,5,133,241,5,5,134,241,5,5,135,241,5,5,136,241,5,5,137,241,5,5,138,241,5,5,252,243,5,5,253,243,5,5,254,243,5,5,255,243,5,5,2,244,5,5,3,244,5,5,4,244,5,5,5,244,5,5,6,244,5,5,7,244,5,5,8,244,5,5,9,244,5,5,10,244,5,5,11,244,5,5,12,244,5,5,13,244,5,5,220,245,5,5,221,245,5,5,222,245,5,5,223,245,5,5,224,245,5,5,225,245,5,5,226,245,5,5,227,245,5,5,228,245,5,5,229,245,5,5,230,245,5,5,231,245,5,5,232,245,5,5,233,245,5,5,234,245,5,5,73,247,5,5,74,247,5,5,75,247,5,5,76,247,5,5,77,247,5,5,78,247,5,5,79,247,5,5,80,247,5,5,81,247,5,5,82,247,5,5,83,247,5,5,84,247,5,5,85,247,5,5,86,247,5,5,97,248,5,5,98,248,5,5,99,248,5,5,100,248,5,5,101,248,5,5,102,248,5,5,103,248,5,5,39,249,5,5,40,249,5,5,41,249,5,5,5,250,5,5,6,250,5,5,7,250,5,5,8,250,5,5,70,250,5,5,10,250,5,5,71,250,5,5,72,250,5,5,107,250,5,5,108,250,5,5,130,250,5,5,145,250,5,5,158,157,5,5,210,159,5,5,27,162,5,5,28,162,5,5,29,162,5,5,244,165,5,5,245,165,5,5,246,165,5,5,247,165,5,5,125,171,5,5,126,171,5,5,127,171,5,5,128,171,5,5,129,171,5,5,130,171,5,5,131,171,5,5,132,171,5,5,133,171,5,5,134,171,5,5,135,171,5,5,136,171,5,5,222,177,5,5,223,177,5,5,224,177,5,5,225,177,5,5,226,177,5,5,227,177,5,5,228,177,5,5,229,177,5,5,230,177,5,5,51,185,5,5,52,185,5,5,53,185,5,5,54,185,5,5,55,185,5,5,56,185,5,5,81,193,5,5,82,193,5,5,83,193,5,5,84,193,5,5,85,193,5,5,86,193,5,5,87,193,5,5,208,201,5,5,209,201,5,5,210,201,5,5,211,201,5,5,212,201,5,5,146,209,5,5,147,209,5,5,148,209,5,5,149,209,5,5,183,216,5,5,184,216,5,5,185,216,5,5,180,223,5,5,157,234,5,5,141,241,5,5,20,244,5,5,21,244,5,5,57,185,5,5,213,201,5,5,150,209,5,5,151,209,5,5,152,209,5,5,153,209,5,5,154,209,5,5,186,216,5,5,187,216,5,5,188,216,5,5,181,223,5,5,182,223,5,5,183,223,5,5,184,223,5,5,185,223,5,5,186,223,5,5,176,229,5,5,177,229,5,5,178,229,5,5,179,229,5,5,180,229,5,5,158,234,5,5,159,234,5,5,182,229,5,5,91,238,5,5,92,238,5,5,142,241,5,5,143,241,5,5,22,244,5,5,144,241,5,5,23,244,5,5,24,244,5,5,25,244,5,5,26,244,5,5,27,244,5,5,28,244,5,5,29,244,5,5,236,245,5,5,237,245,5,5,238,245,5,5,88,247,5,5,104,248,5,5,89,247,5,5,105,248,5,5,106,248,5,5,42,249,5,5,188,249,5,5,11,250,5,5,58,185,5,5,88,193,5,5,190,216,5,5,187,223,5,5,93,238,5,5,90,247,5,5,107,248,5,5,59,185,5,5,214,201,5,5,156,209,5,5,157,209,5,5,191,216,5,5,192,216,5,5,193,216,5,5,194,216,5,5,195,216,5,5,196,216,5,5,197,216,5,5,198,216,5,5,188,223,5,5,189,223,5,5,183,229,5,5,190,223,5,5,191,223,5,5,192,223,5,5,193,223,5,5,194,223,5,5,195,223,5,5,196,223,5,5,184,229,5,5,185,229,5,5,186,229,5,5,187,229,5,5,188,229,5,5,189,229,5,5,190,229,5,5,160,234,5,5,161,234,5,5,162,234,5,5,163,234,5,5,164,234,5,5,165,234,5,5,166,234,5,5,94,238,5,5,95,238,5,5,96,238,5,5,97,238,5,5,191,229,5,5,98,238,5,5,145,241,5,5,146,241,5,5,147,241,5,5,148,241,5,5,149,241,5,5,150,241,5,5,151,241,5,5,30,244,5,5,31,244,5,5,32,244,5,5,33,244,5,5,239,245,5,5,240,245,5,5,241,245,5,5,242,245,5,5,243,245,5,5,92,247,5,5,93,247,5,5,94,247,5,5,95,247,5,5,91,247,5,5,108,248,5,5,109,248,5,5,110,248,5,5,43,249,5,5,44,249,5,5,189,249,5,5,74,250,5,5,60,185,5,5,201,216,5,5,197,223,5,5,192,229,5,5,101,238,5,5,34,244,5,5,98,247,5,5,45,249,5,5,46,249,5,5,75,250,5,5,61,185,5,5,76,250,5,5,131,250,5,5,62,185,5,5,193,229,5,5,167,234,5,5,102,238,5,5,103,238,5,5,154,241,5,5,35,244,5,5,244,245,5,5,245,245,5,5,99,247,5,5,63,185,5,5,158,209,5,5,202,216,5,5,203,216,5,5,204,216,5,5,205,216,5,5,206,216,5,5,198,223,5,5,199,223,5,5,200,223,5,5,201,223,5,5,194,229,5,5,168,234,5,5,169,234,5,5,104,238,5,5,105,238,5,5,106,238,5,5,107,238,5,5,108,238,5,5,109,238,5,5,36,244,5,5,246,245,5,5,247,245,5,5,248,245,5,5,249,245,5,5,100,247,5,5,101,247,5,5,47,249,5,5,48,249,5,5,49,249,5,5,89,193,5,5,159,209,5,5,160,209,5,5,161,209,5,5,162,209,5,5,208,216,5,5,209,216,5,5,210,216,5,5,211,216,5,5,203,223,5,5,204,223,5,5,205,223,5,5,206,223,5,5,207,223,5,5,208,223,5,5,209,223,5,5,210,223,5,5,211,223,5,5,212,223,5,5,213,223,5,5,214,223,5,5,215,223,5,5,216,223,5,5,217,223,5,5,218,223,5,5,219,223,5,5,220,223,5,5,221,223,5,5,222,223,5,5,223,223,5,5,224,223,5,5,225,223,5,5,195,229,5,5,196,229,5,5,197,229,5,5,198,229,5,5,199,229,5,5,200,229,5,5,201,229,5,5,202,229,5,5,203,229,5,5,204,229,5,5,205,229,5,5,206,229,5,5,170,234,5,5,207,229,5,5,208,229,5,5,209,229,5,5,210,229,5,5,211,229,5,5,212,229,5,5,213,229,5,5,214,229,5,5,215,229,5,5,216,229,5,5,217,229,5,5,218,229,5,5,219,229,5,5,220,229,5,5,221,229,5,5,222,229,5,5,223,229,5,5,224,229,5,5,171,234,5,5,172,234,5,5,173,234,5,5,174,234,5,5,175,234,5,5,176,234,5,5,177,234,5,5,178,234,5,5,179,234,5,5,180,234,5,5,225,229,5,5,181,234,5,5,182,234,5,5,183,234,5,5,184,234,5,5,185,234,5,5,186,234,5,5,187,234,5,5,188,234,5,5,189,234,5,5,190,234,5,5,191,234,5,5,192,234,5,5,193,234,5,5,194,234,5,5,195,234,5,5,196,234,5,5,197,234,5,5,111,238,5,5,112,238,5,5,113,238,5,5,114,238,5,5,115,238,5,5,198,234,5,5,116,238,5,5,117,238,5,5,118,238,5,5,119,238,5,5,120,238,5,5,121,238,5,5,122,238,5,5,123,238,5,5,124,238,5,5,125,238,5,5,155,241,5,5,126,238,5,5,127,238,5,5,128,238,5,5,129,238,5,5,130,238,5,5,131,238,5,5,132,238,5,5,133,238,5,5,202,234,5,5,134,238,5,5,135,238,5,5,136,238,5,5,137,238,5,5,138,238,5,5,156,241,5,5,157,241,5,5,158,241,5,5,159,241,5,5,160,241,5,5,161,241,5,5,162,241,5,5,163,241,5,5,164,241,5,5,165,241,5,5,166,241,5,5,167,241,5,5,168,241,5,5,169,241,5,5,170,241,5,5,171,241,5,5,172,241,5,5,173,241,5,5,174,241,5,5,175,241,5,5,176,241,5,5,177,241,5,5,178,241,5,5,179,241,5,5,180,241,5,5,181,241,5,5,182,241,5,5,183,241,5,5,184,241,5,5,185,241,5,5,186,241,5,5,187,241,5,5,188,241,5,5,189,241,5,5,38,244,5,5,39,244,5,5,40,244,5,5,41,244,5,5,193,241,5,5,37,244,5,5,42,244,5,5,139,238,5,5,43,244,5,5,44,244,5,5,45,244,5,5,46,244,5,5,47,244,5,5,48,244,5,5,49,244,5,5,50,244,5,5,51,244,5,5,52,244,5,5,53,244,5,5,54,244,5,5,55,244,5,5,56,244,5,5,57,244,5,5,58,244,5,5,59,244,5,5,60,244,5,5,61,244,5,5,62,244,5,5,63,244,5,5,64,244,5,5,65,244,5,5,66,244,5,5,67,244,5,5,68,244,5,5,69,244,5,5,70,244,5,5,71,244,5,5,72,244,5,5,250,245,5,5,251,245,5,5,252,245,5,5,253,245,5,5,73,244,5,5,254,245,5,5,255,245,5,5,2,246,5,5,3,246,5,5,4,246,5,5,5,246,5,5,6,246,5,5,7,246,5,5,8,246,5,5,9,246,5,5,10,246,5,5,11,246,5,5,12,246,5,5,13,246,5,5,14,246,5,5,15,246,5,5,102,247,5,5,103,247,5,5,104,247,5,5,105,247,5,5,106,247,5,5,107,247,5,5,108,247,5,5,109,247,5,5,110,247,5,5,111,247,5,5,112,247,5,5,113,247,5,5,114,247,5,5,115,247,5,5,116,247,5,5,76,244,5,5,117,247,5,5,118,247,5,5,119,247,5,5,120,247,5,5,121,247,5,5,122,247,5,5,123,247,5,5,124,247,5,5,130,247,5,5,111,248,5,5,112,248,5,5,113,248,5,5,114,248,5,5,115,248,5,5,116,248,5,5,117,248,5,5,118,248,5,5,119,248,5,5,120,248,5,5,121,248,5,5,122,248,5,5,123,248,5,5,124,248,5,5,125,248,5,5,126,248,5,5,127,248,5,5,128,248,5,5,51,249,5,5,52,249,5,5,53,249,5,5,54,249,5,5,55,249,5,5,56,249,5,5,57,249,5,5,58,249,5,5,59,249,5,5,60,249,5,5,61,249,5,5,62,249,5,5,190,249,5,5,63,249,5,5,130,248,5,5,64,249,5,5,191,249,5,5,192,249,5,5,193,249,5,5,194,249,5,5,66,249,5,5,12,250,5,5,13,250,5,5,14,250,5,5,15,250,5,5,16,250,5,5,17,250,5,5,77,250,5,5,78,250,5,5,132,250,5,5,147,250,5,5,166,250,5,5,137,171,5,5,64,185,5,5,90,193,5,5,216,201,5,5,217,201,5,5,218,201,5,5,219,201,5,5,220,201,5,5,163,209,5,5,164,209,5,5,165,209,5,5,166,209,5,5,167,209,5,5,168,209,5,5,169,209,5,5,170,209,5,5,171,209,5,5,172,209,5,5,173,209,5,5,174,209,5,5,175,209,5,5,213,216,5,5,214,216,5,5,215,216,5,5,216,216,5,5,217,216,5,5,218,216,5,5,219,216,5,5,220,216,5,5,221,216,5,5,222,216,5,5,223,216,5,5,224,216,5,5,225,216,5,5,226,216,5,5,227,216,5,5,229,223,5,5,230,223,5,5,231,223,5,5,232,223,5,5,233,223,5,5,234,223,5,5,235,223,5,5,236,223,5,5,237,223,5,5,238,223,5,5,239,223,5,5,240,223,5,5,241,223,5,5,231,229,5,5,232,229,5,5,233,229,5,5,234,229,5,5,235,229,5,5,236,229,5,5,237,229,5,5,238,229,5,5,239,229,5,5,240,229,5,5,241,229,5,5,242,229,5,5,243,229,5,5,244,229,5,5,245,229,5,5,203,234,5,5,204,234,5,5,218,234,5,5,205,234,5,5,206,234,5,5,207,234,5,5,208,234,5,5,209,234,5,5,210,234,5,5,211,234,5,5,212,234,5,5,213,234,5,5,214,234,5,5,215,234,5,5,216,234,5,5,217,234,5,5,142,238,5,5,143,238,5,5,144,238,5,5,145,238,5,5,146,238,5,5,147,238,5,5,148,238,5,5,194,241,5,5,195,241,5,5,196,241,5,5,197,241,5,5,198,241,5,5,199,241,5,5,200,241,5,5,201,241,5,5,202,241,5,5,77,244,5,5,78,244,5,5,79,244,5,5,80,244,5,5,21,246,5,5,22,246,5,5,23,246,5,5,24,246,5,5,131,247,5,5,91,193,5,5,221,201,5,5,176,209,5,5,177,209,5,5,178,209,5,5,179,209,5,5,180,209,5,5,232,177,5,5,181,209,5,5,182,209,5,5,183,209,5,5,184,209,5,5,228,216,5,5,229,216,5,5,230,216,5,5,231,216,5,5,232,216,5,5,233,216,5,5,242,223,5,5,243,223,5,5,244,223,5,5,245,223,5,5,246,223,5,5,247,223,5,5,248,223,5,5,249,223,5,5,250,223,5,5,251,223,5,5,252,223,5,5,253,223,5,5,254,223,5,5,255,223,5,5,2,224,5,5,3,224,5,5,4,224,5,5,5,224,5,5,6,224,5,5,246,229,5,5,7,224,5,5,8,224,5,5,9,224,5,5,10,224,5,5,247,229,5,5,248,229,5,5,249,229,5,5,250,229,5,5,251,229,5,5,252,229,5,5,253,229,5,5,254,229,5,5,255,229,5,5,2,230,5,5,3,230,5,5,4,230,5,5,5,230,5,5,219,234,5,5,6,230,5,5,7,230,5,5,8,230,5,5,9,230,5,5,10,230,5,5,11,230,5,5,12,230,5,5,13,230,5,5,14,230,5,5,15,230,5,5,16,230,5,5,17,230,5,5,18,230,5,5,19,230,5,5,20,230,5,5,21,230,5,5,220,234,5,5,221,234,5,5,222,234,5,5,223,234,5,5,224,234,5,5,225,234,5,5,226,234,5,5,227,234,5,5,228,234,5,5,229,234,5,5,230,234,5,5,231,234,5,5,232,234,5,5,233,234,5,5,234,234,5,5,235,234,5,5,236,234,5,5,237,234,5,5,238,234,5,5,239,234,5,5,240,234,5,5,241,234,5,5,242,234,5,5,243,234,5,5,244,234,5,5,245,234,5,5,246,234,5,5,247,234,5,5,248,234,5,5,150,238,5,5,151,238,5,5,152,238,5,5,153,238,5,5,154,238,5,5,155,238,5,5,156,238,5,5,157,238,5,5,158,238,5,5,159,238,5,5,160,238,5,5,161,238,5,5,162,238,5,5,163,238,5,5,164,238,5,5,165,238,5,5,166,238,5,5,167,238,5,5,168,238,5,5,169,238,5,5,170,238,5,5,171,238,5,5,172,238,5,5,203,241,5,5,173,238,5,5,174,238,5,5,58,237,5,5,175,238,5,5,204,241,5,5,252,234,5,5,205,241,5,5,206,241,5,5,207,241,5,5,208,241,5,5,209,241,5,5,210,241,5,5,211,241,5,5,212,241,5,5,213,241,5,5,214,241,5,5,215,241,5,5,216,241,5,5,217,241,5,5,218,241,5,5,219,241,5,5,220,241,5,5,221,241,5,5,222,241,5,5,223,241,5,5,224,241,5,5,225,241,5,5,226,241,5,5,227,241,5,5,228,241,5,5,229,241,5,5,230,241,5,5,231,241,5,5,232,241,5,5,233,241,5,5,234,241,5,5,235,241,5,5,236,241,5,5,237,241,5,5,238,241,5,5,239,241,5,5,240,241,5,5,241,241,5,5,242,241,5,5,243,241,5,5,244,241,5,5,81,244,5,5,245,241,5,5,82,244,5,5,83,244,5,5,84,244,5,5,85,244,5,5,86,244,5,5,87,244,5,5,88,244,5,5,89,244,5,5,90,244,5,5,91,244,5,5,92,244,5,5,93,244,5,5,94,244,5,5,95,244,5,5,96,244,5,5,97,244,5,5,98,244,5,5,99,244,5,5,100,244,5,5,101,244,5,5,102,244,5,5,103,244,5,5,104,244,5,5,105,244,5,5,106,244,5,5,107,244,5,5,25,246,5,5,26,246,5,5,27,246,5,5,28,246,5,5,29,246,5,5,30,246,5,5,31,246,5,5,32,246,5,5,33,246,5,5,34,246,5,5,35,246,5,5,36,246,5,5,37,246,5,5,38,246,5,5,39,246,5,5,40,246,5,5,41,246,5,5,42,246,5,5,43,246,5,5,114,244,5,5,44,246,5,5,45,246,5,5,46,246,5,5,47,246,5,5,48,246,5,5,49,246,5,5,50,246,5,5,51,246,5,5,52,246,5,5,53,246,5,5,54,246,5,5,132,247,5,5,55,246,5,5,56,246,5,5,57,246,5,5,58,246,5,5,133,247,5,5,134,247,5,5,135,247,5,5,136,247,5,5,137,247,5,5,138,247,5,5,139,247,5,5,140,247,5,5,141,247,5,5,142,247,5,5,143,247,5,5,144,247,5,5,145,247,5,5,146,247,5,5,147,247,5,5,148,247,5,5,125,247,5,5,131,248,5,5,132,248,5,5,133,248,5,5,134,248,5,5,135,248,5,5,136,248,5,5,137,248,5,5,138,248,5,5,152,247,5,5,139,248,5,5,140,248,5,5,141,248,5,5,142,248,5,5,143,248,5,5,144,248,5,5,145,248,5,5,146,248,5,5,147,248,5,5,148,248,5,5,149,248,5,5,153,247,5,5,150,248,5,5,151,248,5,5,152,248,5,5,68,249,5,5,67,249,5,5,153,248,5,5,154,248,5,5,69,249,5,5,70,249,5,5,71,249,5,5,72,249,5,5,73,249,5,5,74,249,5,5,75,249,5,5,76,249,5,5,77,249,5,5,78,249,5,5,79,249,5,5,80,249,5,5,81,249,5,5,82,249,5,5,196,249,5,5,197,249,5,5,198,249,5,5,199,249,5,5,200,249,5,5,201,249,5,5,202,249,5,5,203,249,5,5,18,250,5,5,19,250,5,5,79,250,5,5,80,250,5,5,81,250,5,5,110,250,5,5,111,250,5,5,112,250,5,5,133,250,5,5,134,250,5,5,148,250,5,5,149,250,5,5,211,159,5,5,248,165,5,5,249,165,5,5,138,171,5,5,139,171,5,5,140,171,5,5,233,177,5,5,234,177,5,5,235,177,5,5,236,177,5,5,237,177,5,5,65,185,5,5,66,185,5,5,67,185,5,5,68,185,5,5,69,185,5,5,70,185,5,5,71,185,5,5,72,185,5,5,73,185,5,5,74,185,5,5,75,185,5,5,76,185,5,5,77,185,5,5,92,193,5,5,93,193,5,5,94,193,5,5,95,193,5,5,96,193,5,5,97,193,5,5,98,193,5,5,99,193,5,5,100,193,5,5,222,201,5,5,223,201,5,5,224,201,5,5,225,201,5,5,226,201,5,5,227,201,5,5,228,201,5,5,229,201,5,5,230,201,5,5,185,209,5,5,186,209,5,5,187,209,5,5,188,209,5,5,189,209,5,5,190,209,5,5,191,209,5,5,192,209,5,5,193,209,5,5,194,209,5,5,195,209,5,5,196,209,5,5,234,216,5,5,235,216,5,5,236,216,5,5,15,224,5,5,237,216,5,5,238,216,5,5,239,216,5,5,240,216,5,5,16,224,5,5,17,224,5,5,18,224,5,5,19,224,5,5,20,224,5,5,21,224,5,5,22,224,5,5,23,224,5,5,23,230,5,5,24,230,5,5,25,230,5,5,26,230,5,5,253,234,5,5,254,234,5,5,255,234,5,5,2,235,5,5,176,238,5,5,177,238,5,5,178,238,5,5,179,238,5,5,249,241,5,5,250,241,5,5,154,247,5,5,155,247,5,5,101,193,5,5,24,224,5,5,27,230,5,5,251,241,5,5,115,244,5,5,62,246,5,5,63,246,5,5,87,249,5,5,88,249,5,5,28,230,5,5,102,193,5,5,197,209,5,5,198,209,5,5,199,209,5,5,25,224,5,5,26,224,5,5,29,230,5,5,30,230,5,5,31,230,5,5,32,230,5,5,3,235,5,5,4,235,5,5,5,235,5,5,180,238,5,5,181,238,5,5,182,238,5,5,183,238,5,5,184,238,5,5,252,241,5,5,253,241,5,5,254,241,5,5,255,241,5,5,2,242,5,5,3,242,5,5,4,242,5,5,116,244,5,5,117,244,5,5,118,244,5,5,119,244,5,5,64,246,5,5,65,246,5,5,156,247,5,5,159,248,5,5,89,249,5,5,205,249,5,5,114,250,5,5,157,250,5,5,167,250,5,5,103,193,5,5,250,165,5,5,241,216,5,5,28,224,5,5,29,224,5,5,30,224,5,5,31,224,5,5,34,230,5,5,35,230,5,5,36,230,5,5,7,235,5,5,8,235,5,5,190,238,5,5,191,238,5,5,5,242,5,5,6,242,5,5,120,244,5,5,158,247,5,5,135,250,5,5,104,193,5,5,32,224,5,5,38,230,5,5,105,193,5,5,242,216,5,5,243,216,5,5,33,224,5,5,193,238,5,5,7,242,5,5,122,244,5,5,160,248,5,5,231,201,5,5,232,201,5,5,39,230,5,5,40,230,5,5,9,235,5,5,10,235,5,5,11,235,5,5,194,238,5,5,195,238,5,5,206,249,5,5,233,201,5,5,34,224,5,5,12,235,5,5,159,247,5,5,234,201,5,5,106,193,5,5,36,224,5,5,41,230,5,5,42,230,5,5,43,230,5,5,44,230,5,5,45,230,5,5,165,219,5,5,13,235,5,5,14,235,5,5,15,235,5,5,16,235,5,5,17,235,5,5,196,238,5,5,197,238,5,5,198,238,5,5,9,242,5,5,10,242,5,5,125,244,5,5,126,244,5,5,127,244,5,5,128,244,5,5,129,244,5,5,130,244,5,5,131,244,5,5,67,246,5,5,68,246,5,5,69,246,5,5,70,246,5,5,71,246,5,5,160,247,5,5,161,247,5,5,161,248,5,5,162,248,5,5,163,248,5,5,207,249,5,5,21,250,5,5,82,250,5,5,115,250,5,5,235,201,5,5,46,230,5,5,19,235,5,5,11,242,5,5,201,209,5,5,141,171,5,5,20,235,5,5,199,238,5,5,200,238,5,5,201,238,5,5,12,242,5,5,13,242,5,5,72,246,5,5,164,248,5,5,165,248,5,5,208,249,5,5,209,249,5,5,22,250,5,5,236,201,5,5,202,209,5,5,133,244,5,5,203,209,5,5,37,224,5,5,38,224,5,5,39,224,5,5,47,230,5,5,204,209,5,5,205,209,5,5,203,238,5,5,204,238,5,5,15,242,5,5,73,246,5,5,74,246,5,5,75,246,5,5,76,246,5,5,166,248,5,5,210,249,5,5,90,249,5,5,211,249,5,5,206,209,5,5,142,171,5,5,21,235,5,5,22,235,5,5,23,235,5,5,205,238,5,5,206,238,5,5,207,238,5,5,208,238,5,5,209,238,5,5,210,238,5,5,211,238,5,5,212,238,5,5,16,242,5,5,134,244,5,5,135,244,5,5,136,244,5,5,77,246,5,5,162,247,5,5,163,247,5,5,164,247,5,5,165,247,5,5,167,248,5,5,168,248,5,5,169,248,5,5,170,248,5,5,116,250,5,5,244,216,5,5,48,230,5,5,49,230,5,5,24,235,5,5,25,235,5,5,17,242,5,5,18,242,5,5,166,247,5,5,172,248,5,5,173,248,5,5,91,249,5,5,92,249,5,5,212,249,5,5,83,250,5,5,172,250,5,5,245,216,5,5,26,235,5,5,213,238,5,5,19,242,5,5,78,246,5,5,174,248,5,5,30,162,5,5,40,224,5,5,41,224,5,5,50,230,5,5,28,235,5,5,214,238,5,5,20,242,5,5,21,242,5,5,22,242,5,5,138,244,5,5,139,244,5,5,140,244,5,5,79,246,5,5,141,244,5,5,142,244,5,5,143,244,5,5,144,244,5,5,145,244,5,5,29,235,5,5,146,244,5,5,80,246,5,5,81,246,5,5,82,246,5,5,83,246,5,5,84,246,5,5,85,246,5,5,167,247,5,5,168,247,5,5,169,247,5,5,175,248,5,5,176,248,5,5,177,248,5,5,178,248,5,5,179,248,5,5,93,249,5,5,94,249,5,5,95,249,5,5,96,249,5,5,97,249,5,5,98,249,5,5,213,249,5,5,214,249,5,5,215,249,5,5,216,249,5,5,117,250,5,5,118,250,5,5,170,250,5,5,143,171,5,5,78,185,5,5,107,193,5,5,237,201,5,5,207,209,5,5,208,209,5,5,209,209,5,5,210,209,5,5,246,216,5,5,247,216,5,5,42,224,5,5,43,224,5,5,30,235,5,5,31,235,5,5,51,230,5,5,215,238,5,5,23,242,5,5,25,239,5,5,147,244,5,5,87,246,5,5,171,247,5,5,172,247,5,5,173,247,5,5,162,250,5,5,168,250,5,5,176,250,5,5,212,159,5,5,108,193,5,5,109,193,5,5,52,230,5,5,88,246,5,5,119,250,5,5,251,165,5,5,32,235,5,5,89,246,5,5,174,247,5,5,218,249,5,5,24,250,5,5,25,250,5,5,166,219,5,5,86,225,5,5,143,178,5,5,3,233,5,5,78,177,5,5,212,200,5,5,23,229,5,5,235,245,5,5,73,250,5,5,4,209,5,5,76,158,5,5,27,159,5,5,215,237,5,5,144,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,166,5,5,220,163,5,5,221,163,5,5,146,191,5,5,80,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,184,5,5,93,164,5,5,159,165,5,5,43,208,5,5,214,204,5,5,37,162,5,5,247,158,5,5,52,230,5,5,52,230,5,5,175,172,5,5,70,171,5,5,211,193,5,5,78,167,5,5,32,239,5,5,250,244,5,5,25,240,5,5,15,248,5,5,28,233,5,5,48,215,5,5,54,248,5,5,218,218,5,5,216,174,5,5,164,181,5,5,232,181,5,5,42,207,5,5,177,208,5,5,173,229,5,5,239,201,5,5,172,162,5,5,215,244,5,5,237,244,5,5,73,245,5,5,149,250,5,5,233,194,5,5,94,231,5,5,241,236,5,5,67,243,5,5,128,168,5,5,38,240,5,5,85,245,5,5,23,195,5,5,161,180,5,5,78,181,5,5,208,181,5,5,129,177,5,5,48,166,5,5,121,162,5,5,183,193,5,5,20,225,5,5,71,239,5,5,149,242,5,5,161,226,5,5,190,161,5,5,32,243,5,5,139,207,5,5,86,208,5,5,185,245,5,5,215,223,5,5,67,249,5,5,5,206,5,5,31,206,5,5,236,213,5,5,98,199,5,5,210,228,5,5,102,193,5,5,47,222,5,5,248,238,5,5,204,163,5,5,198,246,5,5,214,246,5,5,237,164,5,5,58,220,5,5,37,208,5,5,71,209,5,5,74,235,5,5,229,210,5,5,234,218,5,5,9,189,5,5,97,212,5,5,164,190,5,5,116,232,5,5,179,177,5,5,174,185,5,5,197,161,5,5,30,217,5,5,104,178,5,5,54,206,5,5,12,214,5,5,137,199,5,5,45,193,5,5,250,246,5,5,174,173,5,5,218,218,5,5,77,228,5,5,174,157,5,5,225,210,5,5,109,173,5,5,169,189,5,5,227,189,5,5,221,158,5,5,252,231,5,5,176,171,5,5,38,195,5,5,163,157,5,5,111,169,5,5,151,218,5,5,20,183,5,5,204,185,5,5,172,202,5,5,209,175,5,5,54,207,5,5,101,215,5,5,203,188,5,5,164,165,5,5,187,164,5,5,195,173,5,5,200,176,5,5,227,187,5,5,223,189,5,5,154,171,5,5,101,166,5,5,101,178,5,5,104,188,5,5,129,236,5,5,97,165,5,5,43,222,5,5,23,201,5,5,76,230,5,5,221,162,5,5,109,157,5,5,23,239,5,5,121,180,5,5,208,235,5,5,202,242,5,5,67,223,5,5,130,250,5,5,4,242,5,5,34,224,5,5,33,157,5,5,78,225,5,5,197,225,5,5,21,247,5,5,6,161,5,5,48,218,5,5,193,247,5,5,111,218,5,5,115,212,5,5,3,205,5,5,220,219,5,5,74,170,5,5,217,220,5,5,159,232,5,5,170,222,5,5,70,221,5,5,160,192,5,5,209,233,5,5,94,160,5,5,99,160,5,5,68,172,5,5,147,181,5,5,20,200,5,5,101,215,5,5,55,203,5,5,33,168,5,5,192,187,5,5,64,231,5,5,238,239,5,5,252,235,5,5,164,158,5,5,12,167,5,5,225,210,5,5,165,230,5,5,56,168,5,5,104,175,5,5,203,219,5,5,227,190,5,5,2,191,5,5,192,208,5,5,70,209,5,5,30,249,5,5,128,216,5,5,53,166,5,5,82,236,5,5,134,243,5,5,66,234,5,5,55,195,5,5,13,157,5,5,226,209,5,5,205,217,5,5,141,163,5,5,115,180,5,5,218,218,5,5,48,226,5,5,193,231,5,5,83,221,5,5,171,228,5,5,51,230,5,5,232,203,5,5,224,165,5,5,36,217,5,5,238,168,5,5,119,174,5,5,251,174,5,5,164,204,5,5,253,181,5,5,21,182,5,5,62,198,5,5,2,183,5,5,98,241,5,5,217,157,5,5,81,218,5,5,48,193,5,5,51,178,5,5,8,187,5,5,25,189,5,5,174,222,5,5,104,173,5,5,111,203,5,5,170,180,5,5,169,189,5,5,136,201,5,5,141,162,5,5,142,160,5,5,211,217,5,5,208,168,5,5,105,164,5,5,143,188,5,5,135,169,5,5,188,189,5,5,253,197,5,5,85,227,5,5,186,207,5,5,203,207,5,5,201,165,5,5,2,238,5,5,194,185,5,5,194,204,5,5,184,162,5,5,50,226,5,5,97,226,5,5,20,243,5,5,77,223,5,5,124,248,5,5,159,248,5,5,11,169,5,5,248,188,5,5,188,232,5,5,178,159,5,5,113,190,5,5,145,190,5,5,216,169,5,5,190,169,5,5,163,240,5,5,192,157,5,5,185,183,5,5,129,166,5,5,235,157,5,5,79,173,5,5,137,168,5,5,41,227,5,5,220,160,5,5,218,174,5,5,169,218,5,5,152,228,5,5,224,161,5,5,181,177,5,5,122,165,5,5,23,211,5,5,85,157,5,5,67,202,5,5,36,210,5,5,27,179,5,5,168,202,5,5,247,194,5,5,241,195,5,5,144,196,5,5,34,212,5,5,69,224,5,5,168,189,5,5,63,182,5,5,166,161,5,5,162,182,5,5,61,190,5,5,115,213,5,5,81,209,5,5,225,213,5,5,189,161,5,5,212,227,5,5,51,243,5,5,194,191,5,5,59,222,5,5,95,192,5,5,2,162,5,5,242,200,5,5,183,192,5,5,36,223,5,5,24,229,5,5,60,209,5,5,199,201,5,5,128,209,5,5,150,229,5,5,33,246,5,5,189,184,5,5,71,229,5,5,159,171,5,5,239,209,5,5,110,162,5,5,11,172,5,5,51,202,5,5,161,166,5,5,232,193,5,5,54,210,5,5,89,224,5,5,74,194,5,5,35,224,5,5,210,217,5,5,123,157,5,5,250,179,5,5,103,195,5,5,46,218,5,5,30,239,5,5,13,188,5,5,5,174,5,5,2,196,5,5,108,188,5,5,91,181,5,5,68,189,5,5,114,212,5,5,101,197,5,5,90,158,5,5,173,197,5,5,10,206,5,5,62,170,5,5,10,176,5,5,9,176,5,5,148,182,5,5,154,182,5,5,161,182,5,5,113,213,5,5,114,213,5,5,99,220,5,5,42,176,5,5,117,206,5,5,217,220,5,5,46,227,5,5,126,232,5,5,198,206,5,5,118,170,5,5,130,183,5,5,152,157,5,5,152,157,5,5,191,199,5,5,232,221,5,5,72,190,5,5,80,228,5,5,81,237,5,5,127,215,5,5,178,240,5,5,120,158,5,5,242,200,5,5,62,241,5,5,230,243,5,5,121,229,5,5,228,179,5,5,56,205,5,5,133,227,192,0,0,0,192,0,0,0,5,5,253,165,5,5,119,162,5,5,64,160,5,5,42,166,5,5,185,158,5,5,66,224,5,5,9,172,5,5,93,157,5,5,232,193,5,5,252,185,5,5,228,193,5,5,100,202,5,5,168,202,5,5,142,217,5,5,74,167,5,5,83,167,5,5,185,186,5,5,178,224,5,5,22,211,5,5,29,211,5,5,72,187,5,5,69,203,5,5,138,187,5,5,118,203,5,5,79,203,5,5,46,218,5,5,67,211,5,5,30,239,5,5,207,230,5,5,126,195,5,5,157,203,5,5,187,195,5,5,20,188,5,5,241,195,5,5,161,180,5,5,79,188,5,5,113,164,5,5,77,158,5,5,203,188,5,5,251,174,5,5,222,204,5,5,44,197,5,5,114,212,5,5,113,239,5,5,101,197,5,5,218,231,5,5,146,231,5,5,142,159,5,5,168,189,5,5,245,212,5,5,16,213,5,5,17,170,5,5,255,219,5,5,250,219,5,5,63,182,5,5,255,189,5,5,46,170,5,5,33,198,5,5,27,190,5,5,60,220,5,5,110,220,5,5,117,206,5,5,69,176,5,5,141,206,5,5,217,220,5,5,239,198,5,5,118,170,5,5,209,183,5,5,135,199,5,5,217,227,5,5,72,233,5,5,51,237,5,5,72,190,5,5,24,222,5,5,59,222,5,5,36,222,5,5,80,228,5,5,77,228,5,5,61,228,5,5,81,237,5,5,36,248,5,5,178,240,5,5,149,228,5,5,163,228,5,5,193,233,5,5,234,215,5,5,51,193,5,5,62,241,5,5,81,209,5,5,226,243,5,5,230,243,5,5,97,209,5,5,121,229,5,5,32,244,5,5,52,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,198,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,248,5,5,215,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,230,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,54,158,6,5,216,160,6,5,14,158,192,0,0,0,6,5,15,157,6,5,184,160,6,5,217,207,6,5,22,158,6,5,237,159,6,5,12,174,6,5,69,197,6,5,115,180,6,5,252,171,6,5,105,173,6,5,70,160,6,5,221,203,6,5,129,162,6,5,183,190,6,5,152,159,6,5,75,192,6,5,65,163,6,5,212,162,6,5,100,212,6,5,57,164,6,5,81,180,6,5,0,128,6,5,56,157,6,5,144,208,6,5,67,159,6,5,170,157,6,5,7,159,6,5,203,173,6,5,155,165,6,5,101,159,6,5,33,206,6,5,77,170,6,5,135,160,6,5,31,197,6,5,77,161,6,5,70,158,6,5,158,159,6,5,175,193,6,5,56,186,6,5,200,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,3,63,0,197,99,63,0,197,195,63,0,197,35,64,0,197,131,64,0,197,227,64,0,197,67,65,0,197,163,65,0,197,3,66,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,76,187,6,5,3,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,157,5,5,9,157,192,0,0,0,192,0,0,0,5,5,10,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,138,5,5,0,139,5,5,0,140,5,5,0,141,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,142,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,144,192,0,0,0,5,5,14,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,158,192,0,0,0,5,5,183,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,178,5,5,75,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,178,192,0,0,0,5,5,78,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,185,5,5,149,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,202,5,5,30,202,5,5,31,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,209,5,5,254,209,5,5,255,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,217,192,0,0,0,5,5,25,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,230,5,5,68,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,171,192,0,0,0,192,0,0,0,5,5,82,178,5,5,83,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,224,192,0,0,0,5,5,39,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,178,5,5,108,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,230,5,5,73,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,159,5,5,21,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,162,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,162,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,166,192,0,0,0,5,5,255,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,167,5,5,5,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,167,5,5,7,167,5,5,8,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,172,5,5,107,172,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,178,192,0,0,0,192,0,0,0,5,5,227,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,178,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,178,5,5,230,178,5,5,231,178,5,5,232,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,186,5,5,37,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,186,5,5,39,186,5,5,40,186,5,5,41,186,192,0,0,0,192,0,0,0,5,5,42,186,5,5,43,186,5,5,44,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,186,192,0,0,0,5,5,46,186,192,0,0,0,192,0,0,0,5,5,47,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,186,192,0,0,0,5,5,49,186,5,5,50,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,194,5,5,22,194,192,0,0,0,192,0,0,0,5,5,23,194,5,5,24,194,5,5,25,194,5,5,26,194,5,5,27,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,202,192,0,0,0,5,5,128,202,5,5,129,202,5,5,130,202,5,5,131,202,5,5,132,202,5,5,133,202,5,5,134,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,202,192,0,0,0,5,5,137,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,202,5,5,141,202,5,5,142,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,210,5,5,88,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,210,5,5,91,210,5,5,92,210,5,5,93,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,210,5,5,97,210,192,0,0,0,5,5,98,210,5,5,99,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,217,192,0,0,0,192,0,0,0,5,5,112,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,217,5,5,115,217,5,5,116,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,224,5,5,118,224,5,5,119,224,5,5,120,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,224,5,5,122,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,230,5,5,111,230,5,5,112,230,5,5,113,230,192,0,0,0,192,0,0,0,5,5,114,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,235,5,5,66,235,5,5,67,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,235,5,5,69,235,5,5,70,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,238,5,5,241,238,5,5,242,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,244,192,0,0,0,5,5,171,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,244,192,0,0,0,192,0,0,0,5,5,173,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,167,5,5,67,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,179,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,179,5,5,30,179,5,5,31,179,5,5,32,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,186,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,194,5,5,84,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,202,5,5,194,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,210,192,0,0,0,192,0,0,0,5,5,155,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,217,192,0,0,0,5,5,152,217,5,5,153,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,186,192,0,0,0,192,0,0,0,5,5,199,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,160,192,0,0,0,5,5,214,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,163,5,5,114,163,5,5,115,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,163,192,0,0,0,5,5,117,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,167,5,5,136,167,5,5,137,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,167,5,5,139,167,5,5,140,167,192,0,0,0,5,5,141,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,172,192,0,0,0,192,0,0,0,5,5,238,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,179,5,5,95,179,5,5,96,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,186,5,5,209,186,5,5,210,186,5,5,211,186,5,5,212,186,5,5,213,186,192,0,0,0,5,5,214,186,5,5,215,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,194,5,5,160,194,5,5,161,194,5,5,162,194,5,5,163,194,5,5,164,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,194,5,5,168,194,5,5,169,194,5,5,170,194,192,0,0,0,192,0,0,0,5,5,171,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,202,5,5,242,202,192,0,0,0,5,5,243,202,5,5,244,202,5,5,245,202,5,5,246,202,5,5,247,202,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,210,5,5,204,210,5,5,205,210,192,0,0,0,192,0,0,0,5,5,206,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,210,5,5,208,210,5,5,209,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,217,192,0,0,0,192,0,0,0,5,5,192,217,5,5,193,217,5,5,194,217,5,5,195,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,217,5,5,199,217,5,5,200,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,224,5,5,172,224,5,5,173,224,5,5,174,224,5,5,175,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,224,5,5,177,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,230,5,5,152,230,5,5,153,230,5,5,154,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,239,5,5,7,239,5,5,8,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,242,5,5,56,242,5,5,57,242,192,0,0,0,192,0,0,0,5,5,58,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,194,192,0,0,0,192,0,0,0,5,5,249,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,157,5,5,121,157,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,194,192,0,0,0,192,0,0,0,5,5,202,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,160,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,239,192,0,0,0,192,0,0,0,5,5,20,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,0,145,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,194,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,179,192,0,0,0,5,5,184,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,163,192,0,0,0,192,0,0,0,5,5,223,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,168,5,5,82,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,180,192,0,0,0,5,5,23,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,187,5,5,157,187,5,5,158,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,187,192,0,0,0,5,5,160,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,187,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,203,5,5,123,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,218,5,5,78,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,173,192,0,0,0,5,5,236,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,180,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,188,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,195,5,5,191,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,195,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,211,192,0,0,0,192,0,0,0,5,5,162,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,211,5,5,164,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,225,192,0,0,0,192,0,0,0,5,5,49,225,5,5,50,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,195,5,5,222,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,180,5,5,149,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,188,5,5,72,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,196,5,5,8,196,5,5,9,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,204,192,0,0,0,5,5,9,204,5,5,10,204,5,5,11,204,5,5,12,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,225,5,5,180,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,225,5,5,98,225,5,5,99,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,235,5,5,158,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,169,5,5,47,169,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,169,5,5,49,169,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,169,192,0,0,0,5,5,51,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,181,192,0,0,0,192,0,0,0,5,5,18,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,204,192,0,0,0,192,0,0,0,5,5,116,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,212,5,5,38,212,5,5,39,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,219,192,0,0,0,192,0,0,0,5,5,14,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,231,192,0,0,0,5,5,55,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,242,5,5,119,242,5,5,120,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,164,5,5,219,164,5,5,220,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,169,192,0,0,0,5,5,161,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,169,5,5,163,169,5,5,164,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,175,5,5,20,175,5,5,21,175,5,5,22,175,5,5,141,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,189,5,5,75,189,5,5,76,189,5,5,77,189,5,5,78,189,5,5,79,189,5,5,80,189,5,5,81,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,197,5,5,54,197,5,5,55,197,5,5,56,197,5,5,57,197,5,5,58,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,204,5,5,243,204,5,5,244,204,5,5,245,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,212,5,5,158,212,5,5,159,212,5,5,160,212,5,5,161,212,5,5,162,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,219,5,5,130,219,5,5,131,219,5,5,132,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,219,192,0,0,0,192,0,0,0,5,5,135,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,226,5,5,17,226,5,5,18,226,5,5,19,226,5,5,20,226,5,5,21,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,231,5,5,111,231,5,5,112,231,5,5,113,231,5,5,114,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,235,5,5,233,235,5,5,234,235,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,246,5,5,161,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,247,5,5,222,247,5,5,223,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,247,192,0,0,0,192,0,0,0,5,5,225,247,192,0,0,0,5,5,207,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,250,192,0,0,0,192,0,0,0,5,5,32,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,169,5,5,197,169,5,5,198,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,189,192,0,0,0,192,0,0,0,5,5,127,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,197,5,5,108,197,5,5,109,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,197,192,0,0,0,5,5,112,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,205,192,0,0,0,5,5,53,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,205,5,5,55,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,219,5,5,169,219,5,5,170,219,5,5,171,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,226,5,5,73,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,235,5,5,250,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,239,5,5,148,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,242,5,5,160,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,244,192,0,0,0,192,0,0,0,5,5,228,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,247,192,0,0,0,192,0,0,0,5,5,231,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,165,5,5,16,165,5,5,17,165,5,5,18,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,170,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,170,5,5,10,170,5,5,11,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,175,5,5,135,175,192,0,0,0,5,5,136,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,175,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,175,5,5,139,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,182,5,5,4,182,5,5,5,182,5,5,6,182,5,5,7,182,5,5,8,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,189,5,5,205,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,189,5,5,207,189,5,5,208,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,197,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,197,192,0,0,0,192,0,0,0,5,5,205,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,197,5,5,207,197,5,5,208,197,5,5,209,197,5,5,210,197,5,5,211,197,5,5,212,197,5,5,213,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,197,192,0,0,0,192,0,0,0,5,5,216,197,192,0,0,0,5,5,217,197,192,0,0,0,5,5,218,197,5,5,219,197,5,5,220,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,205,5,5,135,205,5,5,136,205,5,5,137,205,5,5,138,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,205,5,5,143,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,205,192,0,0,0,5,5,145,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,212,5,5,2,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,213,5,5,4,213,5,5,5,213,5,5,6,213,192,0,0,0,5,5,7,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,213,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,213,5,5,10,213,192,0,0,0,5,5,231,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,219,5,5,233,219,5,5,234,219,5,5,235,219,5,5,236,219,5,5,237,219,5,5,238,219,5,5,239,219,5,5,240,219,5,5,241,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,219,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,226,192,0,0,0,192,0,0,0,5,5,111,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,226,5,5,114,226,5,5,115,226,5,5,116,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,226,5,5,119,226,5,5,120,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,231,5,5,180,231,5,5,181,231,5,5,182,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,236,5,5,15,236,5,5,16,236,5,5,17,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,236,5,5,19,236,5,5,20,236,5,5,21,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,239,5,5,173,239,5,5,174,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,239,5,5,176,239,5,5,177,239,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,242,192,0,0,0,192,0,0,0,5,5,245,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,247,192,0,0,0,192,0,0,0,5,5,229,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,205,5,5,162,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,205,5,5,191,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,231,192,0,0,0,5,5,206,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,205,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,220,192,0,0,0,192,0,0,0,5,5,25,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,190,5,5,26,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,205,192,0,0,0,192,0,0,0,5,5,234,205,5,5,235,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,213,5,5,75,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,239,192,0,0,0,192,0,0,0,5,5,197,239,192,0,0,0,5,5,198,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,176,5,5,4,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,182,192,0,0,0,5,5,146,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,226,5,5,207,226,5,5,208,226,5,5,209,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,226,192,0,0,0,192,0,0,0,5,5,211,226,5,5,212,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,232,192,0,0,0,192,0,0,0,5,5,11,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,206,5,5,65,206,5,5,66,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,239,192,0,0,0,192,0,0,0,5,5,224,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,226,5,5,40,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,213,5,5,214,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,232,5,5,122,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,236,192,0,0,0,5,5,124,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,206,5,5,139,206,5,5,140,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,220,5,5,185,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,190,5,5,195,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,220,5,5,246,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,236,5,5,160,236,5,5,161,236,5,5,162,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,242,5,5,242,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,159,5,5,182,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,161,5,5,188,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,176,192,0,0,0,192,0,0,0,5,5,118,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,183,5,5,65,183,5,5,66,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,232,5,5,156,232,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,159,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,183,192,0,0,0,5,5,127,183,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,214,5,5,106,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,236,192,0,0,0,5,5,40,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,191,192,0,0,0,192,0,0,0,5,5,63,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,131,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,161,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,191,5,5,65,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,214,5,5,120,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,170,192,0,0,0,5,5,222,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,176,5,5,248,176,5,5,249,176,5,5,250,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,183,5,5,239,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,199,5,5,193,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,194,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,199,5,5,196,199,5,5,197,199,5,5,198,199,5,5,199,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,199,5,5,202,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,199,192,0,0,0,192,0,0,0,5,5,204,199,192,0,0,0,192,0,0,0,5,5,123,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,207,5,5,126,207,5,5,127,207,5,5,128,207,5,5,129,207,5,5,130,207,5,5,131,207,5,5,132,207,5,5,133,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,214,5,5,213,214,5,5,214,214,5,5,215,214,5,5,216,214,5,5,217,214,5,5,218,214,5,5,219,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,214,5,5,223,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,221,192,0,0,0,5,5,149,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,221,5,5,152,221,5,5,153,221,5,5,154,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,221,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,221,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,227,192,0,0,0,192,0,0,0,5,5,200,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,227,5,5,203,227,5,5,204,227,5,5,205,227,5,5,206,227,5,5,207,227,5,5,208,227,5,5,209,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,233,5,5,5,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,233,192,0,0,0,5,5,7,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,236,5,5,249,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,240,5,5,89,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,243,5,5,49,243,5,5,50,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,245,192,0,0,0,192,0,0,0,5,5,80,245,5,5,229,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,246,5,5,231,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,248,5,5,235,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,233,192,0,0,0,192,0,0,0,5,5,57,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,237,192,0,0,0,5,5,34,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,170,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,221,5,5,11,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,158,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,184,5,5,63,184,5,5,64,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,228,5,5,36,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,49,237,5,5,50,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,233,5,5,122,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,243,5,5,104,243,5,5,105,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,200,5,5,130,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,249,192,0,0,0,5,5,241,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,208,5,5,100,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,228,5,5,135,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,233,5,5,164,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,192,192,0,0,0,5,5,112,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,165,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,200,5,5,247,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,197,165,5,5,198,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,192,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,192,5,5,229,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,201,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,209,5,5,7,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,216,192,0,0,0,5,5,44,216,5,5,45,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,223,192,0,0,0,5,5,44,223,192,0,0,0,192,0,0,0,5,5,45,223,192,0,0,0,5,5,46,223,5,5,47,223,192,0,0,0,192,0,0,0,5,5,26,229,5,5,27,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,229,5,5,29,229,5,5,30,229,5,5,31,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,234,5,5,20,234,5,5,21,234,5,5,22,234,5,5,23,234,5,5,24,234,5,5,25,234,5,5,26,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,234,5,5,28,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,234,5,5,30,234,5,5,31,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,237,5,5,221,237,5,5,222,237,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,237,5,5,226,237,192,0,0,0,5,5,227,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,241,5,5,44,241,5,5,45,241,5,5,46,241,5,5,47,241,5,5,48,241,192,0,0,0,5,5,49,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,243,5,5,194,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,243,5,5,196,243,5,5,197,243,192,0,0,0,5,5,198,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,243,192,0,0,0,5,5,201,243,192,0,0,0,5,5,202,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,245,5,5,174,245,5,5,175,245,5,5,176,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,247,192,0,0,0,192,0,0,0,5,5,47,247,5,5,48,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,248,192,0,0,0,192,0,0,0,5,5,78,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,248,192,0,0,0,192,0,0,0,5,5,80,248,192,0,0,0,5,5,81,248,5,5,82,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,249,5,5,16,249,5,5,17,249,5,5,18,249,5,5,19,249,5,5,20,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,249,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,249,5,5,2,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,250,192,0,0,0,192,0,0,0,5,5,57,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,250,192,0,0,0,5,5,161,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,184,192,0,0,0,192,0,0,0,5,5,255,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,165,192,0,0,0,192,0,0,0,5,5,234,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,177,5,5,191,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,193,5,5,54,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,201,192,0,0,0,192,0,0,0,5,5,165,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,216,5,5,98,216,5,5,99,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,229,5,5,89,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,229,5,5,91,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,234,192,0,0,0,192,0,0,0,5,5,81,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,241,192,0,0,0,192,0,0,0,5,5,219,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,216,192,0,0,0,192,0,0,0,5,5,111,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,36,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,229,5,5,126,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,234,192,0,0,0,5,5,109,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,238,192,0,0,0,5,5,90,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,244,192,0,0,0,5,5,15,244,5,5,16,244,5,5,17,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,229,192,0,0,0,192,0,0,0,5,5,230,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,247,5,5,150,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,248,5,5,157,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,85,249,5,5,86,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,235,192,0,0,0,5,5,186,238,192,0,0,0,5,5,187,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,238,192,0,0,0,192,0,0,0,5,5,189,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,123,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,239,5,5,35,162,5,5,65,157,5,5,0,133,192,0,0,0,5,5,98,162,5,5,159,171,5,5,172,171,5,5,10,178,5,5,140,185,5,5,141,193,5,5,239,209,5,5,215,209,192,0,0,0,192,0,0,0,5,5,110,162,5,5,97,166,5,5,154,244,5,5,103,166,192,0,0,0,192,0,0,0,5,5,215,157,5,5,70,160,192,0,0,0,5,5,226,157,5,5,91,178,5,5,204,157,5,5,195,158,5,5,119,162,192,0,0,0,5,5,28,157,5,5,90,157,5,5,146,162,5,5,130,166,5,5,141,166,5,5,175,193,5,5,37,202,192,0,0,0,5,5,9,172,5,5,11,172,5,5,51,202,5,5,93,157,5,5,218,158,5,5,219,158,5,5,221,158,5,5,226,158,5,5,161,166,5,5,189,193,5,5,170,162,5,5,23,172,5,5,144,178,5,5,144,178,5,5,144,178,192,0,0,0,5,5,138,161,5,5,12,158,5,5,152,178,192,0,0,0,5,5,253,158,5,5,5,159,5,5,133,160,5,5,37,172,5,5,211,162,5,5,227,162,5,5,200,166,5,5,41,172,5,5,175,178,5,5,200,178,5,5,250,185,5,5,10,186,5,5,208,193,5,5,208,193,5,5,228,193,5,5,246,193,5,5,254,193,5,5,69,202,5,5,104,210,5,5,54,210,5,5,105,210,5,5,86,210,5,5,106,217,5,5,235,157,5,5,181,160,5,5,159,172,5,5,86,186,5,5,111,186,5,5,116,172,5,5,33,179,5,5,62,194,5,5,136,217,192,0,0,0,5,5,67,163,5,5,127,186,5,5,69,163,5,5,184,160,5,5,160,210,5,5,137,186,192,0,0,0,192,0,0,0,5,5,44,179,5,5,62,179,5,5,74,179,5,5,185,172,5,5,189,186,192,0,0,0,192,0,0,0,5,5,179,217,5,5,254,238,5,5,254,238,192,0,0,0,5,5,225,186,5,5,254,202,5,5,225,210,5,5,10,239,192,0,0,0,5,5,134,163,5,5,2,173,5,5,21,161,5,5,119,157,192,0,0,0,5,5,242,186,5,5,123,157,5,5,215,167,5,5,172,163,192,0,0,0,5,5,221,194,192,0,0,0,5,5,30,203,5,5,251,194,5,5,236,210,5,5,166,165,5,5,36,187,192,0,0,0,5,5,254,194,5,5,172,179,5,5,3,195,5,5,253,217,5,5,203,224,192,0,0,0,192,0,0,0,5,5,81,173,5,5,53,187,5,5,56,187,5,5,23,195,192,0,0,0,5,5,137,157,192,0,0,0,192,0,0,0,5,5,133,183,5,5,4,168,5,5,4,168,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,163,5,5,73,187,192,0,0,0,5,5,33,195,5,5,225,163,5,5,230,163,5,5,255,163,5,5,235,179,192,0,0,0,192,0,0,0,5,5,250,179,192,0,0,0,5,5,127,187,5,5,54,211,5,5,116,203,5,5,118,203,5,5,116,203,5,5,82,211,5,5,46,218,5,5,233,224,5,5,62,218,5,5,70,218,5,5,196,230,5,5,30,239,5,5,32,239,5,5,40,161,5,5,164,187,5,5,47,161,5,5,104,168,5,5,138,168,5,5,76,180,192,0,0,0,5,5,57,180,5,5,193,173,5,5,173,187,5,5,200,187,5,5,101,180,192,0,0,0,5,5,163,203,5,5,210,203,5,5,235,187,192,0,0,0,5,5,84,218,5,5,143,211,5,5,114,218,5,5,137,211,192,0,0,0,5,5,13,188,5,5,214,203,192,0,0,0,5,5,48,188,5,5,152,180,5,5,134,180,5,5,89,225,5,5,2,196,5,5,2,204,192,0,0,0,5,5,233,171,5,5,155,185,5,5,165,193,5,5,179,211,5,5,135,170,5,5,156,170,5,5,161,180,5,5,79,188,5,5,221,206,5,5,121,164,5,5,110,164,192,0,0,0,5,5,36,169,5,5,124,174,5,5,247,168,5,5,155,174,5,5,108,188,192,0,0,0,5,5,117,188,5,5,178,180,5,5,102,196,192,0,0,0,5,5,35,204,5,5,224,211,5,5,194,218,5,5,44,231,192,0,0,0,5,5,57,231,5,5,150,246,5,5,98,161,192,0,0,0,5,5,190,225,192,0,0,0,5,5,129,204,5,5,52,212,5,5,203,188,5,5,204,188,192,0,0,0,192,0,0,0,5,5,57,212,5,5,114,161,192,0,0,0,5,5,99,169,5,5,112,169,5,5,157,164,5,5,57,181,5,5,248,174,5,5,91,181,5,5,251,174,5,5,77,181,5,5,92,181,5,5,105,181,192,0,0,0,5,5,238,174,5,5,206,196,5,5,14,197,5,5,240,204,5,5,44,197,5,5,207,204,192,0,0,0,5,5,40,189,5,5,79,219,192,0,0,0,192,0,0,0,5,5,136,219,5,5,133,242,5,5,113,239,5,5,110,239,192,0,0,0,5,5,227,244,5,5,230,164,5,5,224,164,5,5,37,175,192,0,0,0,5,5,253,204,192,0,0,0,5,5,140,219,192,0,0,0,5,5,121,250,5,5,146,231,5,5,63,205,192,0,0,0,5,5,120,197,5,5,217,212,192,0,0,0,192,0,0,0,5,5,158,239,5,5,102,158,192,0,0,0,5,5,249,169,5,5,219,181,5,5,219,181,5,5,106,205,5,5,127,205,5,5,245,212,5,5,216,219,5,5,168,239,192,0,0,0,5,5,225,197,192,0,0,0,5,5,19,170,192,0,0,0,5,5,227,189,192,0,0,0,5,5,193,205,192,0,0,0,5,5,255,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,182,5,5,90,182,5,5,90,182,5,5,33,198,5,5,41,198,5,5,32,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,43,190,5,5,5,206,5,5,60,220,192,0,0,0,192,0,0,0,5,5,154,182,192,0,0,0,192,0,0,0,5,5,115,213,5,5,189,182,192,0,0,0,5,5,99,220,5,5,140,213,5,5,227,226,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,213,5,5,201,213,192,0,0,0,5,5,138,220,5,5,247,226,192,0,0,0,192,0,0,0,5,5,37,227,192,0,0,0,5,5,100,232,5,5,125,236,5,5,78,176,192,0,0,0,5,5,193,198,5,5,241,220,5,5,21,214,5,5,231,220,5,5,130,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,227,192,0,0,0,5,5,226,190,5,5,175,236,5,5,118,170,192,0,0,0,192,0,0,0,5,5,13,199,192,0,0,0,5,5,160,232,192,0,0,0,192,0,0,0,5,5,140,170,5,5,109,183,192,0,0,0,5,5,24,199,5,5,206,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,183,5,5,70,199,5,5,126,208,192,0,0,0,5,5,112,165,5,5,106,165,5,5,171,170,5,5,157,162,5,5,191,170,5,5,193,170,5,5,202,170,5,5,201,176,192,0,0,0,5,5,200,176,5,5,69,191,5,5,224,183,5,5,150,191,5,5,70,191,5,5,145,191,5,5,127,199,5,5,191,199,5,5,242,183,5,5,99,199,5,5,101,199,5,5,116,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,207,5,5,74,221,5,5,108,221,192,0,0,0,5,5,181,227,192,0,0,0,192,0,0,0,5,5,51,245,192,0,0,0,5,5,77,245,192,0,0,0,5,5,253,176,5,5,139,207,5,5,10,233,5,5,251,236,5,5,28,184,5,5,208,199,5,5,168,207,5,5,226,199,5,5,217,227,5,5,248,214,5,5,29,215,5,5,222,227,192,0,0,0,5,5,211,221,5,5,92,240,192,0,0,0,5,5,8,228,5,5,225,161,192,0,0,0,5,5,28,200,5,5,200,207,192,0,0,0,5,5,50,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,12,208,5,5,61,228,5,5,36,248,5,5,149,165,192,0,0,0,5,5,77,192,5,5,128,200,5,5,253,248,5,5,131,184,192,0,0,0,192,0,0,0,5,5,162,200,5,5,69,208,5,5,87,208,192,0,0,0,5,5,146,184,5,5,149,228,192,0,0,0,192,0,0,0,5,5,3,162,5,5,137,177,5,5,166,208,192,0,0,0,5,5,206,215,5,5,196,208,5,5,5,223,5,5,6,223,5,5,47,216,5,5,39,241,5,5,172,243,192,0,0,0,5,5,107,201,192,0,0,0,5,5,46,234,192,0,0,0,192,0,0,0,5,5,150,201,5,5,195,224,5,5,4,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,209,5,5,97,209,5,5,124,223,192,0,0,0,5,5,41,185,192,0,0,0,5,5,151,229,5,5,116,241,5,5,175,216,5,5,147,234,192,0,0,0,192,0,0,0,5,5,32,244,5,5,76,244,5,5,248,223,192,0,0,0,5,5,108,244,5,5,252,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,193,192,0,0,0,5,5,235,201,5,5,141,171,5,5,72,246,5,5,37,224,5,5,204,238,5,5,244,216,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,5,0,0,142,9,0,5,0,5,0,0,0,128,28,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,15,157,24,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,56,157,26,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,25,159,12,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,187,157,23,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,217,157,18,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,0,154,27,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,21,157,19,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,12,157,25,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,38,157,16,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,70,158,8,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,86,158,3,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,85,158,4,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,71,158,6,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,102,157,11,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,67,158,9,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,189,180,5,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,77,161,7,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,140,160,14,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,197,181,2,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,158,162,17,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,163,158,22,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,218,166,13,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,149,167,10,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,7,160,21,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,164,166,15,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,23,160,20,15,0,5,0,0,144,9,0,5,0,5,212,55,18,254,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,5,5,142,9,5,5,70,171,6,5,144,9,5,5,142,9,5,5,62,170,13,5,144,9,5,5,142,9,5,5,114,184,8,5,144,9,5,5,142,9,5,5,161,182,12,5,144,9,5,5,142,9,5,5,48,213,14,5,144,9,5,5,142,9,5,5,42,208,7,5,144,9,5,5,142,9,5,5,68,190,11,5,144,9,5,5,142,9,5,5,202,161,10,5,144,9,5,5,142,9,5,5,203,161,9,5,144,9,5,5,0,21,17,5,70,158,5,5,0,23,16,5,70,158,5,5,0,25,15,5,70,158,5,5,0,27,14,5,70,158,5,5,0,29,13,5,70,158,5,5,0,31,12,5,70,158,5,5,0,33,11,5,70,158,5,5,0,35,10,5,70,158,5,5,0,37,9,5,70,158,5,5,0,21,5,5,0,19,20,5,70,158,5,5,0,21,5,5,0,21,19,5,70,158,5,5,0,21,5,5,0,23,18,5,70,158,5,5,164,158,7,5,234,166,5,5,0,19,30,5,49,175,5,5,0,21,19,5,49,175,5,5,0,23,13,5,49,175,5,5,0,25,12,5,49,175,5,5,0,27,11,5,49,175,5,5,0,29,10,5,49,175,5,5,0,31,9,5,49,175,5,5,0,33,8,5,49,175,5,5,0,35,7,5,49,175,5,5,0,37,6,5,49,175,5,5,0,21,5,5,0,19,29,5,49,175,5,5,0,21,5,5,0,21,28,5,49,175,5,5,0,21,5,5,0,23,27,5,49,175,5,5,0,21,5,5,0,25,26,5,49,175,5,5,0,21,5,5,0,27,25,5,49,175,5,5,0,21,5,5,0,29,24,5,49,175,5,5,0,21,5,5,0,31,23,5,49,175,5,5,0,21,5,5,0,33,22,5,49,175,5,5,0,21,5,5,0,35,21,5,49,175,5,5,0,21,5,5,0,37,20,5,49,175,5,5,0,23,5,5,0,19,18,5,49,175,5,5,0,23,5,5,0,21,17,5,49,175,5,5,0,23,5,5,0,23,16,5,49,175,5,5,0,23,5,5,0,25,15,5,49,175,5,5,0,23,5,5,0,27,14,5,49,175,5,5,76,159,6,5,40,161,5,5,25,174,6,5,234,166,5,5,107,157,7,5,118,159,5,5,203,168,6,5,95,169,5,5,189,180,5,5,15,161,5,5,32,160,7,5,62,170,5,5,0,21,28,5,67,158,5,5,0,23,17,5,67,158,5,5,0,25,14,5,67,158,5,5,0,27,13,5,67,158,5,5,0,29,12,5,67,158,5,5,0,31,11,5,67,158,5,5,0,33,10,5,67,158,5,5,0,35,9,5,67,158,5,5,0,37,8,5,67,158,5,5,0,21,5,5,0,19,38,5,67,158,5,5,0,21,5,5,0,21,37,5,67,158,5,5,0,21,5,5,0,23,36,5,67,158,5,5,0,21,5,5,0,25,35,5,67,158,5,5,0,21,5,5,0,27,34,5,67,158,5,5,0,21,5,5,0,29,33,5,67,158,5,5,0,21,5,5,0,31,32,5,67,158,5,5,0,21,5,5,0,33,31,5,67,158,5,5,0,21,5,5,0,35,30,5,67,158,5,5,0,21,5,5,0,37,29,5,67,158,5,5,0,23,5,5,0,19,27,5,67,158,5,5,0,23,5,5,0,21,26,5,67,158,5,5,0,23,5,5,0,23,25,5,67,158,5,5,0,23,5,5,0,25,24,5,67,158,5,5,0,23,5,5,0,27,23,5,67,158,5,5,0,23,5,5,0,29,22,5,67,158,5,5,0,23,5,5,0,31,21,5,67,158,5,5,0,23,5,5,0,33,20,5,67,158,5,5,0,23,5,5,0,35,19,5,67,158,5,5,0,23,5,5,0,37,18,5,67,158,5,5,0,25,5,5,0,19,16,5,67,158,5,5,0,25,5,5,0,21,15,5,67,158,5,5,82,10,5,5,113,159,8,5,84,10,5,5,82,10,5,5,56,157,14,5,84,10,5,5,82,10,5,5,15,157,13,5,84,10,5,5,82,10,5,5,224,160,11,5,84,10,5,5,82,10,5,5,49,175,7,5,84,10,5,5,82,10,5,5,101,159,10,5,84,10,5,5,82,10,5,5,253,189,6,5,84,10,5,5,82,10,5,5,182,193,12,5,84,10,5,5,82,10,5,5,21,188,9,5,84,10,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,41,0,198,161,36,0,19,40,82,0,28,40,42,0,33,40,20,0,33,40,255,255,163,250,5,5,35,40,255,255,169,250,5,5,36,40,255,255,171,250,5,5,39,40,255,255,173,250,5,5,48,40,255,255,175,250,5,5,28,40,255,255,84,250,5,5,29,40,255,255,120,250,5,5,30,40,255,255,136,250,5,5,31,40,255,255,152,250,5,5,32,40,255,255,158,250,5,5,23,40,20,0,23,40,255,255,175,247,5,5,24,40,255,255,181,248,5,5,25,40,255,255,99,249,5,5,26,40,255,255,219,249,5,5,27,40,255,255,26,250,5,5,19,40,255,255,216,238,5,5,20,40,255,255,25,242,5,5,21,40,255,255,148,244,5,5,22,40,255,255,90,246,5,5,10,40,38,0,14,40,20,0,14,40,255,255,211,209,5,5,15,40,255,255,248,216,5,5,16,40,255,255,44,224,5,5,17,40,255,255,53,230,5,5,18,40,255,255,33,235,5,5,10,40,255,255,238,177,5,5,11,40,255,255,79,185,5,5,12,40,255,255,110,193,5,5,13,40,255,255,238,201,5,5,5,40,20,0,5,40,255,255,126,158,5,5,6,40,255,255,213,159,5,5,7,40,255,255,31,162,5,5,8,40,255,255,252,165,5,5,9,40,255,255,144,171,5,5,1,40,255,255,0,127,5,5,2,40,255,255,0,151,5,5,3,40,255,255,53,157,5,5,4,40,255,255,162,157,5,5,8,0,1,40,34,40,35,40,37,40,39,40,40,40,48,40,49,40,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,170,170,3,0,68,0,51,0,60,0,235,251,1,16,206,41,1,96,1,0,0,96,170,170,170,170,140,77,0,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,100,0,0,0,100,1,0,0,164,32,0,0,164,32,0,0,140,40,0,0,140,40,0,0,72,45,0,0,72,45,0,0,8,69,0,0,64,73,0,0,112,77,0,0,17,0,0,0,5,0,0,0,0,0,0,41,127,0,0,96,125,0,0,123,44,0,118,123,125,0,0,126,169,255,0,254,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,0,249,250,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,254,255,50,105,114,84,1,0,64,8,235,0,255,255,192,0,32,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,0,176,0,184,0,189,0,48,0,197,0,205,0,213,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,226,0,161,0,48,0,48,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,153,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,218,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,36,0,202,193,36,0,202,226,36,0,202,3,37,0,202,36,37,0,202,69,37,0,202,102,37,0,202,135,37,0,202,168,37,0,202,201,37,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,226,35,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,34,36,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,98,36,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,230,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,5,212,55,18,254,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,5,5,0,19,5,5,0,21,5,5,0,23,5,5,0,25,5,5,0,27,5,5,0,29,5,5,0,31,5,5,0,33,5,5,0,35,5,5,0,37,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,31,0,198,129,0,0,0,1,12,128,107,2,117,152,75,1,254,158,187,0,7,249,74,0,196,249,38,0,10,250,20,0,10,250,255,255,25,253,193,42,30,250,255,255,195,252,193,136,60,250,255,255,135,251,193,8,149,250,255,255,11,252,193,192,206,250,255,255,224,253,193,118,196,249,255,255,224,253,193,12,233,249,255,255,98,253,193,98,247,249,255,255,152,252,193,118,8,250,255,255,15,253,193,118,64,249,16,0,64,249,255,255,209,253,193,178,113,249,255,255,78,253,193,128,129,249,255,255,106,251,193,100,138,249,255,255,42,251,193,8,7,249,255,255,224,253,193,118,8,249,255,255,224,253,193,118,10,249,255,255,98,253,193,242,52,249,255,255,198,252,193,84,127,159,75,0,159,159,57,0,159,159,255,255,224,253,193,218,160,159,255,255,224,253,193,236,126,216,4,0,2,249,255,255,70,253,193,218,9,0,210,221,20,0,210,221,255,255,45,253,193,112,21,222,255,255,213,253,193,94,23,222,255,255,217,253,193,36,24,222,255,255,217,253,193,222,28,222,255,255,219,253,193,240,29,220,255,255,34,251,193,200,117,220,255,255,130,251,193,144,120,220,255,255,135,251,193,8,144,220,255,255,160,251,193,102,196,221,255,255,16,253,193,52,127,159,255,255,223,253,193,110,141,159,255,255,224,253,193,12,153,159,255,255,224,253,193,96,156,159,255,255,224,253,193,118,59,159,16,0,59,159,255,255,219,253,193,240,74,159,255,255,220,253,193,176,80,159,255,255,220,253,193,236,82,159,255,255,220,253,193,248,254,158,255,255,217,253,193,222,14,159,255,255,218,253,193,6,19,159,255,255,218,253,193,62,32,159,255,255,218,253,193,220,50,155,70,0,165,158,34,0,205,158,16,0,205,158,255,255,214,253,193,124,209,158,255,255,214,253,193,252,249,158,255,255,217,253,193,36,253,158,255,255,217,253,193,62,165,158,255,255,211,253,193,56,166,158,255,255,212,253,193,196,187,158,255,255,213,253,193,94,195,158,255,255,213,253,193,210,229,156,16,0,229,156,255,255,195,253,193,218,31,158,255,255,206,253,193,72,117,158,255,255,208,253,193,240,127,158,255,255,209,253,193,178,50,155,255,255,180,253,193,172,60,155,255,255,181,253,193,166,90,155,255,255,184,253,193,2,124,156,255,255,193,253,193,64,153,153,34,0,216,154,16,0,216,154,255,255,175,253,193,232,223,154,255,255,176,253,193,186,37,155,255,255,180,253,193,58,47,155,255,255,180,253,193,136,153,153,255,255,164,253,193,252,172,153,255,255,165,253,193,208,108,154,255,255,171,253,193,244,168,154,255,255,173,253,193,168,222,152,16,0,222,152,255,255,157,253,193,164,223,152,255,255,157,253,193,170,99,153,255,255,163,253,193,20,150,153,255,255,164,253,193,110,117,152,255,255,153,253,193,70,168,152,255,255,154,253,193,82,206,152,255,255,156,253,193,242,219,152,255,255,157,253,193,122,100,141,142,0,127,149,70,0,94,151,34,0,230,151,16,0,230,151,255,255,147,253,193,30,237,151,255,255,147,253,193,108,243,151,255,255,147,253,193,184,1,152,255,255,148,253,193,142,94,151,255,255,140,253,193,44,98,151,255,255,140,253,193,152,105,151,255,255,141,253,193,160,203,151,255,255,145,253,193,196,182,150,16,0,182,150,255,255,131,253,193,186,185,150,255,255,131,253,193,228,232,150,255,255,134,253,193,178,81,151,255,255,139,253,193,216,127,149,255,255,120,253,193,2,128,149,255,255,120,253,193,6,232,149,255,255,124,253,193,84,28,150,255,255,125,253,193,154,181,143,34,0,204,145,16,0,204,145,255,255,98,253,193,98,209,145,255,255,98,253,193,242,133,148,255,255,114,253,193,86,119,149,255,255,118,253,193,200,181,143,255,255,78,253,193,176,145,144,255,255,87,253,193,98,73,145,255,255,93,253,193,148,198,145,255,255,98,253,193,30,202,142,16,0,202,142,255,255,70,253,193,218,102,143,255,255,76,253,193,100,155,143,255,255,77,253,193,186,176,143,255,255,78,253,193,128,100,141,255,255,54,253,193,190,112,141,255,255,55,253,193,84,179,141,255,255,59,253,193,84,171,142,255,255,68,253,193,230,107,134,70,0,0,138,34,0,85,140,16,0,85,140,255,255,45,253,193,112,120,140,255,255,47,253,193,36,157,140,255,255,48,253,193,190,29,141,255,255,53,253,193,202,0,138,255,255,30,253,193,38,160,139,255,255,40,253,193,192,55,140,255,255,43,253,193,160,70,140,255,255,44,253,193,90,126,137,16,0,126,137,255,255,24,253,193,136,139,137,255,255,25,253,193,42,193,137,255,255,27,253,193,148,210,137,255,255,27,253,193,240,107,134,255,255,254,252,193,150,64,136,255,255,14,253,193,202,76,136,255,255,15,253,193,118,99,136,255,255,16,253,193,52,252,129,34,0,110,130,16,0,110,130,255,255,222,252,193,106,114,130,255,255,222,252,193,140,120,130,255,255,223,252,193,6,77,134,255,255,252,252,193,174,252,129,255,255,217,252,193,10,12,130,255,255,218,252,193,106,27,130,255,255,219,252,193,90,31,130,255,255,219,252,193,128,137,128,16,0,137,128,255,255,203,252,193,226,227,129,255,255,215,252,193,90,234,129,255,255,215,252,193,222,243,129,255,255,216,252,193,152,12,128,255,255,198,252,193,214,18,128,255,255,199,252,193,40,51,128,255,255,200,252,193,74,127,128,255,255,203,252,193,128,54,98,30,1,132,115,142,0,226,119,70,0,115,124,34,0,81,127,16,0,81,127,255,255,189,252,193,238,138,127,255,255,193,252,193,14,189,127,255,255,195,252,193,136,1,128,255,255,198,252,193,84,115,124,255,255,168,252,193,76,248,124,255,255,174,252,193,70,159,126,255,255,185,252,193,220,54,127,255,255,188,252,193,198,190,121,16,0,190,121,255,255,140,252,193,156,116,122,255,255,148,252,193,22,203,122,255,255,152,252,193,118,249,122,255,255,154,252,193,154,226,119,255,255,124,252,193,16,243,119,255,255,125,252,193,134,58,121,255,255,134,252,193,210,184,121,255,255,140,252,193,88,139,117,34,0,174,118,16,0,174,118,255,255,109,252,193,26,191,118,255,255,110,252,193,184,238,118,255,255,113,252,193,128,219,119,255,255,123,252,193,54,139,117,255,255,98,252,193,100,146,117,255,255,98,252,193,176,118,118,255,255,106,252,193,156,125,118,255,255,106,252,193,250,24,117,16,0,24,117,255,255,92,252,193,188,31,117,255,255,93,252,193,36,40,117,255,255,93,252,193,208,48,117,255,255,94,252,193,32,132,115,255,255,79,252,193,112,137,115,255,255,79,252,193,132,220,116,255,255,89,252,193,158,230,116,255,255,90,252,193,104,179,107,70,0,42,114,34,0,71,114,16,0,71,114,255,255,66,252,193,252,89,114,255,255,68,252,193,28,91,114,255,255,68,252,193,94,172,114,255,255,72,252,193,46,42,114,255,255,64,252,193,48,54,114,255,255,65,252,193,150,59,114,255,255,65,252,193,218,63,114,255,255,66,252,193,14,15,108,16,0,15,108,255,255,20,252,193,236,20,108,255,255,21,252,193,54,52,108,255,255,21,252,193,230,107,112,255,255,48,252,193,142,179,107,255,255,14,252,193,174,203,107,255,255,16,252,193,104,212,107,255,255,16,252,193,180,219,107,255,255,17,252,193,22,224,101,34,0,40,103,16,0,40,103,255,255,235,251,193,114,32,107,255,255,6,252,193,188,98,107,255,255,9,252,193,190,121,107,255,255,11,252,193,192,224,101,255,255,222,251,193,42,229,101,255,255,222,251,193,86,240,102,255,255,232,251,193,90,8,103,255,255,233,251,193,86,135,101,16,0,135,101,255,255,217,251,193,254,151,101,255,255,218,251,193,178,164,101,255,255,219,251,193,74,185,101,255,255,220,251,193,68,54,98,255,255,190,251,193,162,75,98,255,255,191,251,193,156,47,101,255,255,212,251,193,60,52,101,255,255,212,251,193,230,215,86,142,0,219,93,70,0,254,94,34,0,97,95,16,0,97,95,255,255,165,251,193,122,115,95,255,255,166,251,193,88,195,95,255,255,169,251,193,252,8,98,255,255,188,251,193,76,254,94,255,255,160,251,193,102,11,95,255,255,161,251,193,108,19,95,255,255,161,251,193,216,80,95,255,255,164,251,193,210,114,94,16,0,114,94,255,255,153,251,193,170,122,94,255,255,154,251,193,90,127,94,255,255,154,251,193,218,244,94,255,255,159,251,193,254,219,93,255,255,147,251,193,66,229,93,255,255,147,251,193,210,241,93,255,255,148,251,193,132,254,93,255,255,149,251,193,20,80,91,34,0,34,92,16,0,34,92,255,255,130,251,193,144,56,92,255,255,131,251,193,192,110,92,255,255,135,251,193,8,113,92,255,255,135,251,193,128,80,91,255,255,119,251,193,108,128,91,255,255,121,251,193,174,248,91,255,255,128,251,193,22,15,92,255,255,129,251,193,34,10,89,16,0,10,89,255,255,100,251,193,232,21,89,255,255,101,251,193,136,39,89,255,255,102,251,193,204,115,89,255,255,106,251,193,100,215,86,255,255,83,251,193,76,31,87,255,255,85,251,193,186,235,88,255,255,99,251,193,220,2,89,255,255,100,251,193,178,224,81,70,0,65,83,34,0,130,83,16,0,130,83,255,255,50,251,193,178,182,83,255,255,53,251,193,120,200,83,255,255,54,251,193,122,227,83,255,255,56,251,193,112,65,83,255,255,47,251,193,180,92,83,255,255,49,251,193,44,100,83,255,255,209,253,193,152,105,83,255,255,49,251,193,240,249,82,16,0,249,82,255,255,44,251,193,244,21,83,255,255,45,251,193,234,26,83,255,255,46,251,193,82,56,83,255,255,47,251,193,118,224,81,255,255,33,251,193,196,245,81,255,255,34,251,193,200,0,82,255,255,35,251,193,132,155,82,255,255,42,251,193,8,160,78,34,0,107,81,16,0,107,81,255,255,28,251,193,74,130,81,255,255,29,251,193,104,150,81,255,255,30,251,193,74,171,81,255,255,31,251,193,62,160,78,255,255,8,251,193,232,186,78,255,255,10,251,193,68,63,81,255,255,26,251,193,4,101,81,255,255,27,251,193,188,63,78,16,0,63,78,255,255,4,251,193,252,89,78,255,255,6,251,193,26,133,78,255,255,7,251,193,248,140,78,255,255,8,251,193,74,0,78,255,255,2,251,193,2,40,78,255,255,4,251,193,60,44,78,255,255,66,252,193,246,54,78,255,255,4,251,193,200,26,130,246,1,0,78,1,78,40,78,41,78,44,78,45,78,54,78,55,78,63,78,64,78,89,78,90,78,133,78,134,78,140,78,141,78,160,78,161,78,186,78,187,78,63,81,64,81,101,81,102,81,107,81,108,81,130,81,131,81,150,81,151,81,171,81,172,81,224,81,225,81,245,81,246,81,0,82,1,82,155,82,156,82,249,82,250,82,21,83,22,83,26,83,27,83,56,83,57,83,65,83,66,83,92,83,93,83,100,83,101,83,105,83,106,83,130,83,131,83,182,83,183,83,200,83,201,83,227,83,228,83,215,86,216,86,31,87,32,87,235,88,236,88,2,89,3,89,10,89,11,89,21,89,22,89,39,89,40,89,115,89,116,89,80,91,81,91,128,91,129,91,248,91,249,91,15,92,16,92,34,92,35,92,56,92,57,92,110,92,111,92,113,92,114,92,219,93,220,93,229,93,230,93,241,93,242,93,254,93,255,93,114,94,115,94,122,94,123,94,127,94,128,94,244,94,245,94,254,94,255,94,11,95,12,95,19,95,20,95,80,95,81,95,97,95,98,95,115,95,116,95,195,95,196,95,8,98,9,98,54,98,55,98,75,98,76,98,47,101,48,101,52,101,53,101,135,101,136,101,151,101,152,101,164,101,165,101,185,101,186,101,224,101,225,101,229,101,230,101,240,102,241,102,8,103,9,103,40,103,41,103,32,107,33,107,98,107,99,107,121,107,122,107,179,107,180,107,203,107,204,107,212,107,213,107,219,107,220,107,15,108,16,108,20,108,21,108,52,108,53,108,107,112,108,112,42,114,43,114,54,114,55,114,59,114,60,114,63,114,64,114,71,114,72,114,89,114,90,114,91,114,92,114,172,114,173,114,132,115,133,115,137,115,138,115,220,116,221,116,230,116,231,116,24,117,25,117,31,117,32,117,40,117,41,117,48,117,49,117,139,117,140,117,146,117,147,117,118,118,119,118,125,118,126,118,174,118,175,118,191,118,192,118,238,118,239,118,219,119,220,119,226,119,227,119,243,119,244,119,58,121,59,121,184,121,185,121,190,121,191,121,116,122,117,122,203,122,204,122,249,122,250,122,115,124,116,124,248,124,249,124,159,126,160,126,54,127,55,127,81,127,82,127,138,127,139,127,189,127,190,127,1,128,2,128,12,128,13,128,18,128,19,128,51,128,52,128,127,128,128,128,137,128,138,128,227,129,228,129,234,129,235,129,243,129,244,129,252,129,253,129,12,130,13,130,27,130,28,130,31,130,32,130,110,130,111,130,114,130,115,130,120,130,121,130,77,134,78,134,107,134,108,134,64,136,65,136,76,136,77,136,99,136,100,136,126,137,127,137,139,137,140,137,193,137,194,137,210,137,211,137,0,138,1,138,160,139,161,139,55,140,56,140,70,140,71,140,85,140,86,140,120,140,121,140,157,140,158,140,29,141,30,141,100,141,101,141,112,141,113,141,179,141,180,141,171,142,172,142,202,142,203,142,102,143,103,143,155,143,156,143,176,143,177,143,181,143,182,143,145,144,146,144,73,145,74,145,198,145,199,145,204,145,205,145,209,145,210,145,133,148,134,148,119,149,120,149,127,149,129,149,232,149,233,149,28,150,29,150,182,150,183,150,185,150,186,150,232,150,233,150,81,151,82,151,94,151,95,151,98,151,99,151,105,151,106,151,203,151,204,151,230,151,231,151,237,151,238,151,243,151,244,151,1,152,2,152,117,152,118,152,168,152,169,152,206,152,207,152,219,152,220,152,222,152,224,152,99,153,100,153,150,153,151,153,153,153,154,153,172,153,173,153,108,154,109,154,168,154,169,154,216,154,217,154,223,154,224,154,37,155,38,155,47,155,48,155,50,155,51,155,60,155,61,155,90,155,91,155,124,156,125,156,229,156,230,156,31,158,32,158,117,158,118,158,127,158,128,158,165,158,167,158,187,158,188,158,195,158,196,158,205,158,206,158,209,158,210,158,249,158,250,158,253,158,255,158,14,159,15,159,19,159,20,159,32,159,33,159,59,159,60,159,74,159,75,159,80,159,81,159,82,159,83,159,127,159,128,159,141,159,142,159,153,159,154,159,156,159,157,159,159,159,161,159,126,216,127,216,2,249,3,249,7,249,9,249,10,249,11,249,52,249,53,249,64,249,65,249,113,249,114,249,129,249,130,249,138,249,139,249,196,249,197,249,233,249,234,249,247,249,248,249,8,250,9,250,10,250,11,250,30,250,31,250,60,250,61,250,149,250,150,250,206,250,207,250,2,0,29,248,2,0,30,248,2,0,117,248,2,0,118,248,2,0,120,248,2,0,121,248,2,0,144,248,2,0,145,248,2,0,196,249,2,0,197,249,2,0,210,249,2,0,211,249,2,0,21,250,2,0,22,250,2,0,23,250,2,0,25,250,2,0,28,250,2,0,29,250,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,3,0,68,0,51,0,60,0,251,208,2,16,11,0,0,96,1,0,0,96,170,170,170,170,170,170,170,170,170,170,170,170,114,114,2,0,28,0,218,39,20,0,0,0,0,0,2,0,85,67,111,108,5,0,0,0,9,104,42,0,0,0,0,0,17,0,0,0,16,32,2,15,0,0,0,0,0,0,0,0,255,255,255,255,68,0,0,0,100,0,0,0,100,1,0,0,172,75,2,0,172,75,2,0,28,86,2,0,28,86,2,0,120,94,2,0,120,94,2,0,28,110,2,0,38,110,2,0,86,114,2,0,17,0,0,0,5,0,0,0,0,0,0,41,127,0,0,96,125,0,0,123,44,0,118,123,125,0,0,126,169,255,0,254,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,0,249,250,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,254,255,50,105,114,84,1,0,28,14,224,34,64,0,192,0,96,0,0,0,8,0,16,0,24,0,48,0,56,0,64,0,72,0,80,0,88,0,96,0,104,0,109,0,117,0,122,0,130,0,137,0,145,0,48,0,56,0,48,0,56,0,152,0,160,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,56,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,184,0,191,0,199,0,204,0,48,0,212,0,220,0,228,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,236,0,244,0,252,0,4,1,12,1,20,1,28,1,36,1,44,1,52,1,60,1,48,0,67,1,69,1,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,76,1,48,0,48,0,48,0,48,0,84,1,92,1,48,0,100,1,108,1,116,1,48,0,48,0,48,0,119,1,127,1,48,0,48,0,48,0,135,1,143,1,149,1,156,1,163,1,171,1,178,1,186,1,194,1,202,1,210,1,218,1,226,1,233,1,241,1,249,1,0,2,8,2,16,2,23,2,31,2,39,2,46,2,54,2,62,2,70,2,78,2,86,2,94,2,98,2,106,2,48,0,114,2,122,2,130,2,48,0,138,2,48,0,146,2,154,2,48,0,160,2,168,2,176,2,184,2,192,2,200,2,207,2,215,2,223,2,231,2,239,2,247,2,255,2,5,3,13,3,17,3,25,3,33,3,41,3,49,3,57,3,65,3,73,3,81,3,89,3,97,3,105,3,113,3,119,3,48,0,125,3,133,3,141,3,149,3,157,3,165,3,173,3,180,3,188,3,194,3,202,3,210,3,218,3,226,3,48,0,232,3,240,3,248,3,0,4,7,4,15,4,23,4,27,4,34,4,40,4,48,4,56,4,63,4,70,4,78,4,83,4,90,4,98,4,105,4,113,4,121,4,129,4,136,4,144,4,150,4,157,4,164,4,172,4,180,4,188,4,196,4,204,4,211,4,48,0,219,4,227,4,235,4,243,4,248,4,252,4,2,5,10,5,18,5,26,5,34,5,42,5,49,5,54,5,62,5,69,5,77,5,85,5,93,5,101,5,109,5,116,5,123,5,127,5,135,5,143,5,150,5,157,5,164,5,171,5,175,5,183,5,188,5,196,5,204,5,210,5,214,5,222,5,230,5,236,5,242,5,250,5,2,6,9,6,17,6,22,6,29,6,33,6,41,6,48,6,56,6,64,6,71,6,48,0,79,6,81,6,89,6,97,6,105,6,111,6,48,0,114,6,120,6,127,6,134,6,142,6,149,6,155,6,160,6,168,6,176,6,184,6,48,0,192,6,200,6,208,6,215,6,223,6,231,6,236,6,244,6,252,6,3,7,9,7,48,0,13,7,48,0,48,0,48,0,21,7,29,7,37,7,45,7,53,7,61,7,69,7,77,7,85,7,93,7,101,7,109,7,117,7,125,7,133,7,141,7,149,7,157,7,165,7,173,7,181,7,189,7,197,7,205,7,213,7,221,7,229,7,237,7,245,7,253,7,5,8,13,8,21,8,29,8,37,8,45,8,53,8,61,8,69,8,77,8,85,8,93,8,101,8,109,8,117,8,125,8,133,8,141,8,149,8,157,8,165,8,173,8,181,8,189,8,197,8,205,8,213,8,221,8,229,8,237,8,245,8,253,8,5,9,13,9,21,9,29,9,37,9,45,9,53,9,61,9,69,9,77,9,85,9,93,9,101,9,109,9,117,9,125,9,133,9,141,9,149,9,157,9,165,9,173,9,181,9,189,9,197,9,205,9,213,9,221,9,229,9,237,9,245,9,253,9,5,10,13,10,21,10,29,10,37,10,45,10,53,10,61,10,69,10,77,10,85,10,93,10,101,10,109,10,117,10,125,10,133,10,141,10,149,10,157,10,165,10,173,10,181,10,189,10,197,10,205,10,213,10,221,10,229,10,237,10,245,10,253,10,5,11,13,11,21,11,29,11,37,11,45,11,53,11,61,11,69,11,77,11,85,11,93,11,101,11,109,11,117,11,125,11,133,11,141,11,149,11,157,11,165,11,173,11,181,11,189,11,197,11,205,11,213,11,221,11,229,11,237,11,245,11,253,11,5,12,13,12,21,12,29,12,37,12,45,12,53,12,61,12,69,12,77,12,85,12,93,12,101,12,109,12,117,12,125,12,133,12,141,12,149,12,157,12,165,12,173,12,181,12,189,12,197,12,205,12,213,12,221,12,229,12,237,12,245,12,253,12,5,13,13,13,21,13,29,13,37,13,45,13,53,13,61,13,69,13,77,13,85,13,93,13,101,13,109,13,117,13,125,13,133,13,141,13,149,13,157,13,165,13,173,13,181,13,189,13,197,13,205,13,213,13,221,13,229,13,237,13,245,13,253,13,5,14,13,14,21,14,29,14,37,14,45,14,53,14,61,14,69,14,77,14,85,14,93,14,101,14,109,14,117,14,125,14,133,14,141,14,149,14,157,14,165,14,173,14,181,14,189,14,197,14,205,14,213,14,221,14,229,14,237,14,245,14,253,14,5,15,13,15,21,15,29,15,37,15,45,15,53,15,61,15,69,15,77,15,85,15,93,15,101,15,109,15,117,15,125,15,133,15,141,15,149,15,157,15,165,15,173,15,181,15,189,15,197,15,205,15,213,15,221,15,229,15,237,15,245,15,253,15,5,16,13,16,21,16,29,16,37,16,45,16,53,16,61,16,69,16,77,16,85,16,93,16,101,16,109,16,117,16,125,16,133,16,141,16,149,16,157,16,165,16,173,16,181,16,189,16,197,16,205,16,213,16,221,16,229,16,237,16,245,16,253,16,5,17,13,17,21,17,29,17,37,17,45,17,53,17,61,17,69,17,77,17,85,17,93,17,101,17,109,17,117,17,125,17,133,17,141,17,149,17,157,17,165,17,173,17,181,17,189,17,197,17,205,17,213,17,221,17,229,17,237,17,245,17,253,17,5,18,13,18,21,18,29,18,37,18,45,18,53,18,61,18,69,18,77,18,85,18,93,18,101,18,109,18,117,18,125,18,133,18,141,18,149,18,157,18,165,18,173,18,181,18,189,18,197,18,205,18,213,18,221,18,229,18,237,18,245,18,253,18,5,19,13,19,21,19,29,19,37,19,45,19,53,19,61,19,69,19,77,19,85,19,93,19,101,19,109,19,117,19,125,19,133,19,141,19,149,19,157,19,165,19,173,19,181,19,189,19,197,19,205,19,213,19,221,19,229,19,237,19,245,19,253,19,5,20,13,20,21,20,29,20,37,20,45,20,53,20,61,20,69,20,77,20,85,20,93,20,101,20,109,20,117,20,125,20,133,20,141,20,149,20,157,20,165,20,173,20,181,20,189,20,197,20,205,20,213,20,221,20,229,20,237,20,245,20,253,20,5,21,13,21,21,21,29,21,37,21,45,21,53,21,61,21,69,21,77,21,85,21,93,21,101,21,109,21,117,21,125,21,133,21,141,21,149,21,157,21,165,21,173,21,181,21,189,21,197,21,205,21,213,21,221,21,229,21,237,21,245,21,253,21,5,22,13,22,21,22,29,22,37,22,45,22,53,22,61,22,69,22,77,22,85,22,93,22,101,22,109,22,117,22,125,22,133,22,141,22,149,22,157,22,165,22,173,22,181,22,189,22,197,22,205,22,213,22,221,22,229,22,237,22,245,22,253,22,5,23,13,23,21,23,29,23,37,23,45,23,53,23,61,23,69,23,77,23,85,23,93,23,101,23,109,23,117,23,125,23,133,23,141,23,149,23,157,23,165,23,173,23,181,23,189,23,197,23,205,23,213,23,221,23,229,23,237,23,245,23,253,23,5,24,13,24,21,24,29,24,37,24,45,24,53,24,61,24,69,24,77,24,85,24,93,24,101,24,109,24,117,24,125,24,133,24,141,24,149,24,157,24,165,24,173,24,181,24,189,24,197,24,205,24,213,24,221,24,229,24,237,24,245,24,253,24,5,25,13,25,21,25,29,25,37,25,45,25,53,25,61,25,69,25,77,25,85,25,93,25,101,25,109,25,117,25,125,25,133,25,141,25,149,25,157,25,165,25,173,25,181,25,189,25,197,25,205,25,213,25,221,25,229,25,237,25,245,25,253,25,5,26,13,26,21,26,29,26,37,26,45,26,53,26,61,26,69,26,77,26,85,26,93,26,101,26,109,26,117,26,125,26,133,26,141,26,149,26,157,26,165,26,173,26,181,26,189,26,197,26,205,26,213,26,221,26,229,26,237,26,245,26,253,26,5,27,13,27,21,27,29,27,37,27,45,27,53,27,61,27,69,27,77,27,85,27,93,27,101,27,109,27,117,27,125,27,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,193,34,176,0,48,0,48,0,168,0,201,34,209,34,215,34,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,168,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,27,141,27,149,27,157,27,165,27,173,27,181,27,189,27,197,27,205,27,213,27,221,27,229,27,237,27,245,27,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,27,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,0,128,0,192,0,0,1,64,1,128,1,180,1,232,1,36,2,192,0,192,0,96,2,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,128,8,64,0,188,8,246,8,54,9,118,9,182,9,240,9,48,10,111,10,174,10,238,10,45,11,107,11,169,11,233,11,39,12,102,12,166,12,223,12,27,13,90,13,154,13,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,218,13,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,1,28,9,28,17,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,24,28,48,0,30,28,48,0,35,28,48,0,48,0,48,0,48,0,41,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,44,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,50,28,48,0,48,0,48,0,48,0,48,0,48,0,57,28,63,28,48,0,66,28,48,0,48,0,72,28,48,0,48,0,48,0,48,0,78,28,82,28,48,0,48,0,48,0,48,0,48,0,48,0,87,28,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,93,28,101,28,107,28,113,28,117,28,124,28,131,28,136,28,144,28,48,0,150,28,48,0,158,28,48,0,163,28,48,0,171,28,177,28,48,0,184,28,48,0,189,28,48,0,193,28,201,28,204,28,48,0,212,28,220,28,48,0,48,0,227,28,48,0,232,28,48,0,240,28,48,0,48,0,48,0,246,28,254,28,48,0,48,0,48,0,6,29,13,29,48,0,48,0,48,0,48,0,48,0,48,0,15,29,48,0,48,0,48,0,23,29,48,0,48,0,48,0,48,0,48,0,26,29,32,29,48,0,48,0,39,29,43,29,50,29,48,0,48,0,58,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,61,29,48,0,48,0,69,29,48,0,48,0,48,0,75,29,78,29,86,29,48,0,90,29,98,29,48,0,48,0,48,0,48,0,48,0,48,0,106,29,48,0,48,0,114,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,122,29,48,0,48,0,128,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,132,29,48,0,48,0,48,0,137,29,48,0,48,0,48,0,48,0,48,0,145,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,151,29,48,0,48,0,48,0,154,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,162,29,48,0,48,0,48,0,48,0,169,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,172,29,48,0,48,0,48,0,48,0,48,0,48,0,178,29,48,0,48,0,48,0,48,0,183,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,189,29,48,0,48,0,48,0,48,0,48,0,196,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,201,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,208,29,48,0,48,0,48,0,214,29,48,0,217,29,225,29,48,0,48,0,48,0,48,0,48,0,48,0,48,0,230,29,238,29,48,0,241,29,249,29,48,0,48,0,48,0,48,0,48,0,254,29,6,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,11,30,19,30,48,0,23,30,48,0,30,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,34,30,48,0,48,0,48,0,41,30,48,0,48,0,49,30,48,0,48,0,48,0,50,30,48,0,48,0,48,0,48,0,58,30,64,30,72,30,48,0,79,30,48,0,48,0,48,0,48,0,48,0,48,0,87,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,94,30,48,0,101,30,109,30,48,0,116,30,48,0,48,0,48,0,121,30,48,0,48,0,48,0,48,0,48,0,48,0,125,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,133,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,136,30,48,0,48,0,48,0,48,0,48,0,48,0,142,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,149,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,154,30,48,0,159,30,48,0,48,0,163,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,169,30,48,0,48,0,176,30,48,0,48,0,48,0,180,30,48,0,48,0,48,0,187,30,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,193,30,48,0,196,30,48,0,48,0,203,30,48,0,48,0,48,0,48,0,48,0,209,30,48,0,48,0,48,0,48,0,48,0,217,30,48,0,48,0,48,0,48,0,225,30,48,0,48,0,229,30,48,0,48,0,48,0,236,30,48,0,244,30,246,30,254,30,3,31,48,0,11,31,15,31,20,31,48,0,48,0,26,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,32,31,48,0,36,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,41,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,31,52,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,57,31,48,0,48,0,48,0,61,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,66,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,73,31,48,0,81,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,88,31,48,0,48,0,48,0,48,0,48,0,48,0,90,31,48,0,48,0,48,0,98,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,103,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,110,31,48,0,118,31,48,0,48,0,122,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,128,31,48,0,48,0,48,0,131,31,48,0,137,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,144,31,48,0,147,31,48,0,48,0,48,0,155,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,160,31,48,0,48,0,48,0,48,0,164,31,48,0,48,0,48,0,48,0,171,31,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,175,31,48,0,48,0,183,31,48,0,48,0,48,0,48,0,48,0,188,31,195,31,198,31,48,0,48,0,48,0,204,31,48,0,48,0,48,0,211,31,48,0,219,31,48,0,225,31,48,0,232,31,48,0,237,31,244,31,248,31,48,0,48,0,48,0,48,0,48,0,48,0,253,31,48,0,48,0,48,0,48,0,48,0,48,0,4,32,48,0,48,0,10,32,48,0,48,0,18,32,48,0,48,0,48,0,26,32,48,0,48,0,48,0,34,32,48,0,48,0,48,0,48,0,39,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,45,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,52,32,48,0,48,0,60,32,48,0,66,32,48,0,48,0,48,0,71,32,48,0,48,0,48,0,48,0,48,0,76,32,48,0,48,0,48,0,48,0,48,0,83,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,87,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,92,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,98,32,48,0,48,0,48,0,48,0,104,32,48,0,48,0,108,32,48,0,115,32,48,0,48,0,48,0,48,0,48,0,48,0,123,32,48,0,48,0,130,32,48,0,138,32,141,32,149,32,154,32,48,0,48,0,48,0,48,0,161,32,48,0,167,32,48,0,48,0,48,0,48,0,48,0,171,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,176,32,183,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,185,32,48,0,192,32,198,32,48,0,206,32,48,0,48,0,48,0,48,0,211,32,216,32,48,0,224,32,48,0,48,0,48,0,227,32,48,0,234,32,48,0,240,32,48,0,48,0,48,0,247,32,48,0,48,0,254,32,48,0,48,0,48,0,48,0,48,0,48,0,48,0,4,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,10,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,15,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,21,33,48,0,48,0,48,0,28,33,48,0,32,33,48,0,48,0,48,0,48,0,40,33,48,0,48,0,48,0,47,33,48,0,48,0,48,0,48,0,48,0,49,33,57,33,48,0,48,0,48,0,48,0,64,33,48,0,48,0,48,0,48,0,48,0,67,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,74,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,80,33,48,0,88,33,93,33,48,0,97,33,105,33,113,33,48,0,48,0,118,33,124,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,132,33,138,33,48,0,48,0,48,0,142,33,149,33,48,0,48,0,48,0,48,0,48,0,153,33,48,0,160,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,166,33,48,0,48,0,48,0,48,0,171,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,177,33,48,0,48,0,184,33,48,0,48,0,48,0,192,33,48,0,48,0,198,33,203,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,207,33,48,0,48,0,48,0,48,0,48,0,48,0,212,33,48,0,219,33,48,0,48,0,226,33,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,232,33,48,0,48,0,238,33,48,0,48,0,48,0,245,33,247,33,48,0,254,33,48,0,6,34,48,0,48,0,48,0,12,34,48,0,18,34,48,0,48,0,48,0,48,0,48,0,24,34,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,31,34,48,0,39,34,43,34,49,34,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,57,34,65,34,73,34,81,34,89,34,97,34,105,34,113,34,121,34,129,34,137,34,145,34,153,34,161,34,169,34,177,34,185,34,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,255,255,255,255,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,3,5,5,6,3,5,5,8,3,5,5,10,3,5,5,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,5,5,90,7,5,5,120,9,5,5,150,10,5,5,138,13,5,5,152,10,5,5,144,10,5,5,106,9,5,5,142,9,5,5,144,9,5,5,128,10,5,5,121,12,5,5,0,6,5,5,14,5,5,5,0,8,5,5,138,10,202,160,41,0,202,65,39,0,202,130,39,0,202,195,39,0,202,4,40,0,202,69,40,0,202,134,40,0,202,199,40,0,202,8,41,0,202,73,41,0,5,5,54,7,5,5,42,7,5,5,129,12,5,5,131,12,5,5,133,12,5,5,98,7,5,5,126,10,201,6,0,0,156,5,0,44,156,5,0,46,156,5,0,48,201,134,2,0,156,5,0,52,156,5,0,54,156,5,0,56,201,38,8,0,156,5,0,60,156,5,0,62,156,5,0,64,201,6,11,0,201,70,14,0,201,134,17,0,156,5,0,72,160,5,0,74,156,5,0,76,156,5,0,78,156,5,0,80,201,198,20,0,156,5,0,84,160,5,0,86,156,5,0,88,156,5,0,90,156,5,0,92,5,5,146,9,5,5,140,10,5,5,148,9,5,5,10,12,5,5,10,5,5,5,4,12,201,70,28,0,5,5,0,44,5,5,0,46,5,5,0,48,201,38,31,0,5,5,0,52,5,5,0,54,5,5,0,56,201,198,36,0,5,5,0,60,5,5,0,62,5,5,0,64,201,166,39,0,201,230,42,0,201,38,46,0,5,5,0,72,5,5,0,74,5,5,0,76,5,5,0,78,5,5,0,80,201,102,49,0,5,5,0,84,5,5,0,86,5,5,0,88,5,5,0,90,5,5,0,92,5,5,150,9,5,5,137,12,5,5,152,9,5,5,141,12,0,0,0,0,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,5,5,253,255,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,0,0,134,3,0,42,196,142,156,42,196,154,156,42,196,150,156,42,196,146,156,42,197,34,66,0,196,160,156,46,198,65,0,0,134,3,0,50,201,230,56,0,196,150,156,50,198,129,0,0,134,3,0,58,196,142,156,58,196,150,156,58,160,112,0,48,196,154,156,68,198,65,1,0,134,3,0,70,196,142,156,70,196,154,156,70,196,150,156,70,5,5,127,12,196,158,156,70,198,129,1,0,134,3,0,82,196,142,156,82,201,198,59,0,196,136,156,90,160,5,38,93,197,98,66,0,198,193,1,0,5,3,0,42,196,142,5,42,196,154,5,42,196,150,5,42,196,146,5,42,197,162,66,0,196,160,5,46,198,1,2,0,5,3,0,50,201,102,63,0,196,150,5,50,198,65,2,0,5,3,0,58,196,142,5,58,196,150,5,58,5,112,0,48,196,154,5,68,198,1,3,0,5,3,0,70,196,142,5,70,196,154,5,70,196,150,5,70,5,5,125,12,196,158,5,70,198,65,3,0,5,3,0,82,196,142,5,82,201,70,66,0,196,136,5,90,5,5,38,93,196,150,5,90,134,2,0,42,5,2,0,42,192,0,0,0,192,0,0,0,201,230,69,0,201,134,72,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,50,5,2,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,75,0,201,70,78,0,198,97,0,0,198,33,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,58,5,2,0,58,192,0,0,0,192,0,0,0,201,38,81,0,201,6,84,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,68,5,3,0,68,201,230,86,0,201,198,89,0,198,33,1,0,198,225,2,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,70,5,2,0,70,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,2,0,82,5,2,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,92,0,201,230,95,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,99,0,201,6,102,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,104,0,201,38,108,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,33,0,0,198,225,1,0,198,161,0,0,198,97,2,0,198,97,1,0,198,33,3,0,198,161,1,0,198,97,3,0,134,70,0,82,5,70,0,82,134,71,0,82,5,71,0,82,134,72,0,82,5,72,0,82,134,73,0,82,5,73,0,82,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,111,0,201,70,114,0,197,98,8,0,197,226,8,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,198,1,1,0,198,193,2,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,117,0,201,6,120,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,194,5,222,251,192,0,0,0,194,5,220,251,194,5,221,251,5,252,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,253,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,254,0,0,5,255,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,122,0,201,198,125,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,11,0,197,98,11,0,197,162,11,0,197,226,11,0,201,166,128,0,201,134,131,0,201,102,134,0,201,70,137,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,140,0,201,6,143,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,3,0,66,5,3,0,66,192,0,0,0,192,0,0,0,201,230,145,0,201,198,148,0,192,0,0,0,192,0,0,0,201,166,151,0,201,134,154,0,201,102,157,0,201,70,160,0,201,38,163,0,201,6,166,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,34,19,0,197,98,19,0,197,162,19,0,197,226,19,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,168,0,201,38,172,0,201,102,175,0,201,166,178,0,201,230,181,0,201,38,185,0,192,0,0,0,192,0,0,0,197,162,24,0,197,226,24,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,188,0,201,70,191,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,38,194,0,201,6,197,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,134,71,0,50,5,71,0,50,134,73,0,50,5,73,0,50,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,230,199,0,201,198,202,0,201,166,205,0,201,134,208,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,5,0,197,34,6,0,198,130,8,0,198,2,9,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,102,211,0,201,70,214,0,201,38,217,0,201,102,220,0,192,0,0,0,192,0,0,0,197,162,6,0,197,98,7,0,198,130,9,0,198,2,10,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,166,223,0,201,230,226,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,242,192,0,0,0,192,0,0,0,192,0,0,0,5,5,47,241,192,0,0,0,5,5,80,208,192,0,0,0,5,5,124,175,192,0,0,0,5,5,148,163,192,0,0,0,5,5,199,214,5,5,200,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,230,5,5,196,248,192,0,0,0,6,5,61,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,219,192,0,0,0,5,5,45,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,227,192,0,0,0,5,5,34,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,230,192,0,0,0,5,5,54,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,225,5,5,248,225,192,0,0,0,5,5,183,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,174,5,5,7,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,38,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,210,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,9,5,82,239,6,5,128,194,6,5,188,221,6,5,64,168,7,5,209,239,6,5,114,207,9,5,67,239,6,5,210,179,7,5,83,230,6,5,25,239,6,5,217,230,7,5,0,128,6,5,81,208,6,5,85,171,6,5,50,166,6,5,123,202,6,5,149,210,6,5,125,175,6,5,22,187,6,5,248,163,6,5,220,164,6,5,145,173,6,5,104,213,8,5,225,226,6,5,149,163,6,5,125,203,6,5,26,225,6,5,101,235,6,5,93,242,6,5,142,195,6,5,255,245,7,5,237,181,6,5,22,227,6,5,140,218,6,5,246,236,6,5,165,212,6,5,47,175,7,5,212,184,6,5,204,231,6,5,173,171,6,5,34,235,6,5,201,214,6,5,26,242,6,5,183,226,6,5,185,223,6,5,37,228,6,5,45,226,6,5,186,194,6,5,124,202,6,5,159,205,6,5,151,192,6,5,139,241,6,5,172,194,6,5,204,243,6,5,216,194,6,5,254,239,6,5,187,194,6,5,146,202,6,5,38,228,6,5,79,223,6,5,241,215,6,5,130,191,6,5,53,199,7,5,14,228,6,5,55,218,6,5,212,168,7,5,19,247,6,5,197,175,6,5,161,205,6,5,146,173,6,5,12,245,7,5,8,230,6,5,188,248,8,5,197,248,7,5,80,172,6,5,164,210,6,5,141,218,6,5,73,175,6,5,59,229,6,5,13,245,6,5,221,164,6,5,19,170,6,5,23,227,6,5,21,209,7,5,208,229,7,5,178,199,6,5,219,219,6,5,186,174,6,5,155,241,6,5,57,167,6,5,123,168,6,5,240,240,6,5,46,184,6,5,100,212,6,5,132,217,6,5,48,248,6,5,103,193,6,5,152,245,6,5,102,192,7,5,8,229,6,5,24,250,6,5,71,181,6,5,22,168,6,5,255,182,6,5,36,163,6,5,155,163,6,5,234,167,6,5,249,171,6,5,83,172,6,5,20,170,6,5,10,227,6,5,227,226,6,5,30,227,6,5,33,230,6,5,83,197,6,5,55,217,6,5,26,187,6,5,165,221,6,5,68,171,6,5,86,171,6,5,230,172,6,5,88,247,6,5,15,244,6,5,6,248,6,5,193,185,6,5,26,239,6,5,117,185,6,5,53,239,6,5,51,248,6,5,56,230,6,5,179,224,6,5,189,231,6,5,178,218,6,5,157,204,6,5,177,227,6,5,64,226,6,5,254,219,6,5,172,192,6,5,222,235,6,5,46,234,6,5,217,198,6,5,166,226,6,5,78,217,6,5,139,216,6,5,87,239,6,5,22,241,6,5,78,205,6,5,27,204,6,5,157,242,6,5,35,193,6,5,198,175,6,5,12,227,6,5,184,218,6,5,201,163,6,5,84,223,7,5,116,232,6,5,217,232,6,5,137,228,6,5,174,223,6,5,244,215,6,5,183,224,6,5,250,225,6,5,22,240,6,5,71,242,6,5,234,165,6,5,250,186,7,5,164,205,6,5,35,221,6,5,163,170,6,5,195,174,6,5,43,187,6,5,81,222,6,5,8,248,6,5,89,211,6,5,153,172,6,5,217,171,6,5,165,191,6,5,12,246,6,5,149,204,6,5,118,243,6,5,88,241,6,5,199,173,6,5,154,172,6,5,241,226,6,5,17,228,6,5,41,216,6,5,34,169,6,5,44,193,6,5,4,192,6,5,143,165,6,5,202,175,6,5,41,225,6,5,170,191,6,5,13,194,6,5,189,247,6,5,33,184,6,5,231,189,6,5,18,190,6,5,182,169,6,5,23,169,6,5,49,201,6,5,110,229,6,5,207,197,6,5,174,218,6,5,210,171,6,5,204,177,6,5,57,193,6,5,114,229,6,5,219,164,6,5,218,208,6,5,77,223,6,5,248,190,6,5,241,193,6,5,233,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,83,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,225,226,6,5,88,184,6,5,207,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,8,5,82,239,8,5,67,239,8,5,79,236,7,5,157,235,7,5,252,228,8,5,193,222,7,5,226,213,6,5,66,203,6,5,209,239,6,5,57,166,6,5,187,177,7,5,61,181,6,5,66,175,6,5,83,230,198,131,31,0,198,227,31,0,198,67,32,0,198,163,32,0,198,3,33,0,198,99,33,0,198,195,33,0,198,35,34,0,198,131,34,0,198,227,34,0,198,67,35,0,198,163,35,0,198,3,36,0,198,99,36,0,197,227,35,0,198,195,36,0,198,35,37,0,198,131,37,0,198,227,37,0,197,67,36,0,198,67,38,0,198,163,38,0,197,163,36,0,197,3,37,0,198,3,39,0,198,99,39,0,198,195,39,0,198,35,40,0,197,99,37,0,198,131,40,0,197,195,37,0,198,227,40,0,197,35,38,0,198,67,41,0,197,131,38,0,197,227,38,0,6,5,62,247,6,5,95,242,6,5,19,247,6,5,95,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,7,5,82,239,7,5,67,239,7,5,79,236,6,5,157,235,6,5,43,245,6,5,99,188,6,5,113,208,6,5,0,128,6,5,141,204,6,5,225,226,7,5,197,248,6,5,178,199,6,5,208,229,6,5,80,172,6,5,164,205,6,5,237,181,6,5,8,230,6,5,136,221,7,5,68,242,6,5,188,227,6,5,26,172,6,5,94,179,6,5,11,234,6,5,226,221,6,5,168,185,6,5,95,171,6,5,95,183,6,5,212,184,6,5,93,227,6,5,19,242,6,5,233,243,6,5,214,221,6,5,104,216,6,5,236,214,6,5,45,214,6,5,112,221,6,5,252,228,7,5,193,222,6,5,226,213,7,5,251,232,7,5,94,242,6,5,88,239,6,5,87,233,6,5,58,217,6,5,227,204,6,5,250,208,6,5,135,231,6,5,254,213,6,5,83,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,66,39,0,197,130,39,0,197,194,39,0,197,2,40,0,197,66,40,0,197,130,40,0,197,194,40,0,197,2,41,0,197,66,41,0,197,131,41,0,197,227,41,0,197,67,42,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,162,42,0,197,226,42,0,197,34,43,0,197,98,43,0,197,162,43,0,197,226,43,0,197,34,44,0,197,98,44,0,197,162,44,0,197,226,44,0,197,35,45,0,197,131,45,0,197,227,45,0,197,67,46,0,197,163,46,0,197,3,47,0,197,99,47,0,197,195,47,0,197,35,48,0,197,131,48,0,197,227,48,0,197,67,49,0,197,163,49,0,197,3,50,0,197,99,50,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,194,50,0,197,2,51,0,197,66,51,0,197,130,51,0,197,196,51,0,197,66,52,0,197,130,52,0,197,194,52,0,197,2,53,0,197,66,53,0,197,130,53,0,197,194,53,0,197,2,54,0,197,66,54,0,197,131,54,0,197,227,54,0,197,67,55,0,197,163,55,0,197,3,56,0,197,99,56,0,197,195,56,0,197,35,57,0,197,131,57,0,197,227,57,0,197,67,58,0,197,163,58,0,197,3,59,0,197,99,59,0,197,195,59,0,197,35,60,0,197,131,60,0,197,227,60,0,197,67,61,0,197,163,61,0,197,3,62,0,197,99,62,0,192,0,0,0,5,5,212,209,5,5,118,181,192,0,0,0,192,0,0,0,5,5,46,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,30,218,192,0,0,0,5,5,5,189,192,0,0,0,192,0,0,0,5,5,18,216,5,5,208,220,5,5,76,175,5,5,80,245,5,5,51,167,192,0,0,0,192,0,0,0,5,5,30,169,5,5,166,210,5,5,7,240,192,0,0,0,5,5,42,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,196,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,171,5,5,54,240,5,5,53,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,208,192,0,0,0,192,0,0,0,5,5,74,180,5,5,173,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,179,192,0,0,0,192,0,0,0,5,5,190,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,173,192,0,0,0,5,5,143,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,212,192,0,0,0,192,0,0,0,5,5,57,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,191,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,236,192,0,0,0,5,5,146,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,136,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,213,192,0,0,0,5,5,164,207,192,0,0,0,192,0,0,0,5,5,176,163,5,5,75,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,223,192,0,0,0,192,0,0,0,5,5,197,198,5,5,16,248,192,0,0,0,5,5,20,194,5,5,104,240,5,5,152,217,5,5,236,194,5,5,7,186,5,5,154,180,5,5,12,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,33,215,192,0,0,0,192,0,0,0,192,0,0,0,5,5,160,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,197,5,5,249,191,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,238,192,0,0,0,192,0,0,0,5,5,79,217,192,0,0,0,5,5,108,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,199,5,5,36,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,243,5,5,165,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,241,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,214,192,0,0,0,5,5,223,237,192,0,0,0,192,0,0,0,5,5,13,196,5,5,4,199,192,0,0,0,5,5,200,213,192,0,0,0,192,0,0,0,5,5,74,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,238,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,92,202,5,5,207,199,5,5,47,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,193,192,0,0,0,192,0,0,0,5,5,50,217,192,0,0,0,5,5,20,233,5,5,144,240,5,5,192,233,192,0,0,0,5,5,149,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,164,192,0,0,0,5,5,122,247,5,5,134,217,192,0,0,0,192,0,0,0,5,5,216,210,192,0,0,0,192,0,0,0,5,5,249,164,192,0,0,0,5,5,117,206,192,0,0,0,5,5,138,238,192,0,0,0,192,0,0,0,5,5,157,220,5,5,227,179,5,5,235,206,192,0,0,0,5,5,3,233,5,5,124,166,5,5,141,203,5,5,56,238,5,5,185,232,5,5,168,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,225,5,5,231,213,5,5,102,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,194,5,5,24,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,197,192,0,0,0,5,5,17,208,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,166,5,5,217,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,178,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,167,192,0,0,0,5,5,142,203,5,5,94,239,5,5,73,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,191,192,0,0,0,192,0,0,0,5,5,93,234,192,0,0,0,5,5,188,212,5,5,200,173,192,0,0,0,5,5,201,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,179,5,5,65,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,188,5,5,229,217,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,172,192,0,0,0,5,5,116,220,192,0,0,0,192,0,0,0,5,5,76,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,149,238,192,0,0,0,5,5,180,210,192,0,0,0,5,5,215,234,192,0,0,0,192,0,0,0,5,5,69,230,192,0,0,0,5,5,165,169,5,5,14,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,248,5,5,38,219,5,5,132,247,5,5,239,199,5,5,28,171,5,5,41,184,5,5,230,246,5,5,53,171,5,5,9,184,5,5,221,211,5,5,158,232,5,5,213,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,197,192,0,0,0,192,0,0,0,5,5,198,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,22,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,175,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,189,192,0,0,0,5,5,240,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,202,5,5,222,164,192,0,0,0,5,5,114,230,5,5,30,201,5,5,6,173,5,5,160,191,5,5,22,196,5,5,207,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,225,5,5,150,170,5,5,245,190,192,0,0,0,5,5,249,243,5,5,130,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,187,187,192,0,0,0,5,5,58,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,187,5,5,26,198,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,233,5,5,203,174,5,5,104,209,5,5,196,163,5,5,189,223,5,5,176,233,5,5,196,170,5,5,63,198,5,5,119,213,5,5,10,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,97,223,5,5,25,210,5,5,93,200,192,0,0,0,5,5,195,247,5,5,110,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,240,5,5,120,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,185,192,0,0,0,192,0,0,0,5,5,191,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,253,199,192,0,0,0,192,0,0,0,5,5,205,193,5,5,83,188,192,0,0,0,192,0,0,0,5,5,191,231,5,5,3,165,5,5,155,245,192,0,0,0,5,5,180,187,192,0,0,0,192,0,0,0,5,5,74,196,192,0,0,0,5,5,195,197,5,5,116,243,192,0,0,0,192,0,0,0,5,5,139,215,5,5,159,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,167,192,0,0,0,192,0,0,0,5,5,36,222,192,0,0,0,192,0,0,0,5,5,231,198,192,0,0,0,5,5,71,166,5,5,220,218,5,5,248,178,5,5,128,178,5,5,10,220,192,0,0,0,5,5,6,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,203,5,5,158,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,237,192,0,0,0,192,0,0,0,5,5,165,203,5,5,99,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,204,199,192,0,0,0,5,5,181,241,5,5,252,233,5,5,24,194,5,5,113,205,5,5,47,205,5,5,146,175,5,5,233,205,5,5,51,169,5,5,101,200,192,0,0,0,192,0,0,0,5,5,113,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,210,192,0,0,0,5,5,148,182,192,0,0,0,192,0,0,0,5,5,61,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,186,192,0,0,0,5,5,223,233,192,0,0,0,192,0,0,0,5,5,126,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,214,5,5,125,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,210,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,210,192,0,0,0,5,5,93,197,5,5,81,174,192,0,0,0,192,0,0,0,5,5,196,215,5,5,36,194,5,5,104,197,5,5,122,212,5,5,126,198,5,5,210,182,5,5,85,163,5,5,79,228,5,5,238,164,5,5,19,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,195,5,5,222,236,192,0,0,0,192,0,0,0,5,5,203,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,142,186,192,0,0,0,5,5,217,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,247,5,5,117,179,5,5,158,224,5,5,137,170,5,5,11,172,5,5,230,200,5,5,2,247,5,5,181,184,5,5,231,200,5,5,32,198,5,5,170,206,5,5,104,163,5,5,155,215,5,5,94,187,5,5,234,205,192,0,0,0,5,5,219,170,5,5,98,168,5,5,228,197,5,5,47,244,192,0,0,0,5,5,224,215,5,5,188,236,5,5,100,246,5,5,200,223,5,5,4,213,5,5,243,205,5,5,139,234,5,5,166,197,5,5,87,173,5,5,224,227,5,5,145,189,192,0,0,0,5,5,150,178,5,5,149,208,5,5,10,169,5,5,235,248,5,5,126,163,192,0,0,0,5,5,135,200,5,5,61,177,5,5,81,243,5,5,106,207,5,5,113,204,5,5,121,183,5,5,214,187,5,5,157,247,5,5,235,180,5,5,68,181,5,5,52,245,5,5,182,201,5,5,190,214,5,5,254,197,192,0,0,0,5,5,17,181,5,5,89,221,192,0,0,0,5,5,37,201,5,5,230,174,192,0,0,0,192,0,0,0,5,5,135,182,192,0,0,0,5,5,175,230,5,5,25,204,192,0,0,0,5,5,23,216,192,0,0,0,192,0,0,0,5,5,92,249,5,5,125,207,5,5,109,199,192,0,0,0,5,5,158,164,5,5,86,170,192,0,0,0,5,5,185,192,5,5,53,246,192,0,0,0,5,5,255,169,5,5,171,235,5,5,241,165,5,5,189,189,5,5,163,211,192,0,0,0,192,0,0,0,5,5,167,191,5,5,135,219,5,5,66,191,5,5,222,166,5,5,54,231,5,5,11,210,5,5,188,187,5,5,222,194,5,5,142,215,5,5,120,213,5,5,253,215,192,0,0,0,5,5,31,184,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,214,5,5,195,187,5,5,34,174,5,5,179,234,5,5,37,222,5,5,0,150,5,5,15,233,5,5,141,219,5,5,26,233,5,5,110,197,5,5,70,202,192,0,0,0,5,5,207,204,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,181,5,5,100,215,5,5,231,242,5,5,72,180,5,5,61,179,5,5,215,176,5,5,154,207,5,5,18,239,5,5,93,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,203,192,0,0,0,192,0,0,0,5,5,237,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,186,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,175,192,0,0,0,5,5,92,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,205,5,5,122,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,186,5,5,127,190,5,5,202,228,192,0,0,0,5,5,142,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,215,192,0,0,0,192,0,0,0,5,5,5,191,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,227,192,0,0,0,5,5,94,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,229,5,5,111,186,192,0,0,0,5,5,217,212,192,0,0,0,5,5,132,208,192,0,0,0,5,5,193,188,5,5,245,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,87,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,169,5,5,203,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,209,192,0,0,0,5,5,129,166,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,250,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,235,5,5,31,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,217,192,0,0,0,5,5,118,205,192,0,0,0,192,0,0,0,5,5,163,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,185,192,0,0,0,192,0,0,0,5,5,78,165,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,240,5,5,119,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,173,192,0,0,0,192,0,0,0,192,0,0,0,5,5,245,187,192,0,0,0,5,5,120,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,156,243,192,0,0,0,5,5,208,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,86,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,174,5,5,16,200,192,0,0,0,5,5,130,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,64,243,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,179,5,5,110,198,192,0,0,0,192,0,0,0,5,5,228,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,185,192,0,0,0,192,0,0,0,5,5,160,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,46,181,192,0,0,0,5,5,232,163,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,227,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,230,192,0,0,0,5,5,87,163,192,0,0,0,192,0,0,0,5,5,210,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,235,5,5,156,204,5,5,221,168,192,0,0,0,192,0,0,0,5,5,169,231,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,239,192,0,0,0,192,0,0,0,5,5,182,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,170,192,0,0,0,5,5,207,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,175,5,5,230,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,166,192,0,0,0,192,0,0,0,5,5,47,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,114,178,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,31,242,192,0,0,0,192,0,0,0,5,5,204,192,5,5,43,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,179,5,5,14,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,173,5,5,111,242,5,5,204,238,5,5,77,182,5,5,228,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,217,192,0,0,0,192,0,0,0,5,5,218,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,213,192,0,0,0,5,5,141,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,221,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,190,199,192,0,0,0,192,0,0,0,192,0,0,0,5,5,126,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,10,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,247,238,192,0,0,0,5,5,136,212,192,0,0,0,5,5,221,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,238,192,0,0,0,5,5,128,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,193,192,0,0,0,5,5,160,204,192,0,0,0,192,0,0,0,5,5,208,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,221,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,222,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,185,5,5,137,230,5,5,61,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,225,5,5,62,208,192,0,0,0,5,5,81,246,5,5,111,240,5,5,147,219,5,5,184,242,192,0,0,0,5,5,83,236,5,5,210,190,5,5,200,168,5,5,223,219,5,5,97,198,5,5,118,248,5,5,106,175,5,5,240,219,5,5,177,172,5,5,162,227,5,5,133,189,5,5,67,179,5,5,179,211,5,5,208,170,5,5,107,241,5,5,11,164,5,5,51,194,5,5,126,193,5,5,116,183,5,5,186,191,192,0,0,0,5,5,3,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,179,192,0,0,0,5,5,22,211,192,0,0,0,192,0,0,0,192,0,0,0,5,5,205,200,192,0,0,0,5,5,10,236,5,5,123,221,192,0,0,0,192,0,0,0,5,5,107,233,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,213,5,5,254,182,192,0,0,0,5,5,56,236,5,5,94,207,192,0,0,0,5,5,240,227,5,5,164,179,5,5,78,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,229,5,5,147,189,5,5,129,185,5,5,47,206,5,5,157,186,5,5,35,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,180,5,5,109,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,158,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,230,192,0,0,0,5,5,247,229,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,209,5,5,239,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,68,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,174,5,5,42,239,192,0,0,0,192,0,0,0,5,5,67,181,5,5,119,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,185,192,0,0,0,192,0,0,0,5,5,59,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,99,184,5,5,136,181,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,195,5,5,151,241,192,0,0,0,192,0,0,0,5,5,242,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,137,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,240,192,0,0,0,192,0,0,0,5,5,95,230,192,0,0,0,192,0,0,0,192,0,0,0,5,5,175,247,5,5,42,242,5,5,150,177,5,5,116,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,236,219,5,5,18,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,25,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,202,5,5,44,222,5,5,23,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,247,5,5,20,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,20,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,247,5,5,52,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,246,170,5,5,51,168,5,5,247,170,5,5,78,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,234,175,5,5,203,173,192,0,0,0,5,5,17,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,171,192,0,0,0,5,5,21,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,35,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,239,232,5,5,195,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,187,192,0,0,0,5,5,215,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,191,219,192,0,0,0,192,0,0,0,5,5,253,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,178,192,0,0,0,5,5,84,238,192,0,0,0,5,5,82,233,5,5,193,196,192,0,0,0,192,0,0,0,5,5,252,243,192,0,0,0,5,5,33,236,5,5,218,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,208,5,5,38,203,192,0,0,0,5,5,130,215,5,5,156,170,192,0,0,0,5,5,99,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,214,192,0,0,0,192,0,0,0,5,5,16,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,207,192,0,0,0,5,5,120,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,3,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,174,5,5,198,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,172,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,241,5,5,170,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,61,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,183,5,5,178,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,208,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,139,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,202,192,0,0,0,192,0,0,0,5,5,135,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,180,192,0,0,0,5,5,183,223,192,0,0,0,192,0,0,0,5,5,127,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,170,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,28,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,165,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,50,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,231,5,5,219,248,5,5,151,207,5,5,228,195,5,5,42,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,243,5,5,154,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,141,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,133,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,249,192,0,0,0,5,5,173,218,192,0,0,0,192,0,0,0,192,0,0,0,5,5,81,195,5,5,25,194,5,5,225,248,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,178,192,0,0,0,192,0,0,0,5,5,94,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,215,192,0,0,0,5,5,170,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,167,234,5,5,193,210,192,0,0,0,5,5,118,228,192,0,0,0,5,5,21,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,246,192,0,0,0,5,5,151,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,173,215,192,0,0,0,192,0,0,0,5,5,128,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,200,192,0,0,0,5,5,241,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,176,5,5,125,245,5,5,234,209,192,0,0,0,5,5,79,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,105,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,176,192,0,0,0,5,5,112,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,176,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,246,5,5,93,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,220,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,171,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,235,223,5,5,87,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,213,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,237,192,0,0,0,5,5,34,164,5,5,33,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,163,5,5,202,164,192,0,0,0,5,5,243,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,174,192,0,0,0,192,0,0,0,5,5,41,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,222,192,0,0,0,192,0,0,0,5,5,252,224,5,5,253,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,165,5,5,24,191,192,0,0,0,5,5,27,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,186,245,5,5,221,172,192,0,0,0,192,0,0,0,5,5,8,236,192,0,0,0,192,0,0,0,5,5,236,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,247,192,0,0,0,192,0,0,0,5,5,0,153,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,228,192,0,0,0,5,5,229,194,5,5,200,239,5,5,249,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,249,192,0,0,0,5,5,197,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,8,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,80,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,39,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,9,181,192,0,0,0,5,5,180,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,73,215,192,0,0,0,5,5,107,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,193,192,0,0,0,192,0,0,0,192,0,0,0,5,5,82,239,5,5,187,177,5,5,117,195,5,5,113,208,5,5,251,228,5,5,225,213,5,5,103,198,5,5,231,246,5,5,40,221,5,5,79,236,5,5,252,228,5,5,226,213,5,5,194,201,5,5,118,166,5,5,255,247,5,5,190,171,5,5,231,191,5,5,52,224,5,5,53,224,5,5,113,222,5,5,93,209,5,5,195,167,5,5,26,227,5,5,25,227,5,5,213,209,5,5,57,166,5,5,78,241,5,5,75,235,5,5,222,178,5,5,103,235,5,5,85,225,5,5,118,177,5,5,214,209,5,5,55,189,5,5,119,177,5,5,69,242,5,5,56,189,5,5,156,242,5,5,83,166,5,5,123,236,5,5,128,194,5,5,119,204,5,5,202,191,5,5,220,240,5,5,56,211,5,5,193,222,5,5,125,202,5,5,203,203,5,5,185,173,5,5,96,194,5,5,71,226,5,5,124,224,5,5,220,188,5,5,29,222,5,5,188,221,5,5,75,197,5,5,184,246,5,5,225,175,5,5,115,246,5,5,189,221,5,5,115,206,5,5,29,187,5,5,20,207,5,5,64,168,5,5,56,174,5,5,126,239,5,5,250,239,5,5,11,183,5,5,133,245,5,5,142,204,5,5,143,204,5,5,249,181,5,5,158,169,5,5,252,239,5,5,83,239,5,5,54,218,5,5,240,244,5,5,105,219,5,5,214,198,5,5,120,172,5,5,13,185,5,5,159,243,5,5,156,168,5,5,106,167,5,5,157,209,5,5,40,199,5,5,194,193,5,5,92,225,5,5,98,225,5,5,209,239,5,5,202,243,5,5,48,241,5,5,124,171,5,5,141,204,5,5,249,208,5,5,70,241,5,5,45,213,5,5,38,216,5,5,232,191,5,5,144,204,5,5,227,213,5,5,50,199,5,5,58,229,5,5,223,175,5,5,11,227,5,5,201,201,5,5,127,183,5,5,254,202,5,5,39,207,5,5,228,226,5,5,46,170,5,5,215,198,5,5,168,169,5,5,186,190,5,5,105,231,5,5,213,230,5,5,57,217,5,5,214,242,5,5,153,174,5,5,122,227,5,5,229,182,5,5,114,192,5,5,221,236,5,5,170,247,5,5,3,235,5,5,165,219,5,5,120,192,5,5,216,218,5,5,219,193,5,5,122,192,5,5,188,190,5,5,8,189,5,5,102,240,5,5,114,207,5,5,31,185,5,5,60,169,5,5,2,248,5,5,62,221,5,5,35,227,5,5,39,227,5,5,67,239,5,5,201,225,5,5,154,247,5,5,101,196,5,5,153,247,5,5,126,249,5,5,51,199,5,5,154,208,5,5,43,245,5,5,114,206,5,5,156,235,5,5,20,237,5,5,173,192,5,5,174,192,5,5,21,241,5,5,242,213,5,5,24,241,5,5,160,208,5,5,26,241,5,5,51,202,5,5,210,179,5,5,78,247,5,5,229,195,5,5,52,179,5,5,236,203,5,5,193,197,5,5,6,240,5,5,121,224,5,5,192,198,5,5,62,172,5,5,138,241,5,5,76,216,5,5,78,206,5,5,145,181,5,5,68,189,5,5,77,216,5,5,81,206,5,5,86,241,5,5,200,210,5,5,77,163,5,5,113,242,5,5,71,214,5,5,13,176,5,5,125,188,5,5,92,178,5,5,169,170,5,5,83,230,5,5,84,230,5,5,39,202,5,5,250,202,5,5,79,247,5,5,253,239,5,5,177,228,5,5,85,230,5,5,11,185,5,5,188,177,5,5,20,232,5,5,182,205,5,5,211,168,5,5,16,224,5,5,0,129,5,5,33,221,5,5,160,205,5,5,204,203,5,5,51,166,5,5,173,230,5,5,74,235,5,5,148,172,5,5,87,236,5,5,191,190,5,5,52,166,5,5,110,234,5,5,166,231,5,5,27,227,5,5,30,179,5,5,41,221,5,5,188,174,5,5,34,215,5,5,35,215,5,5,250,181,5,5,127,201,5,5,161,182,5,5,108,230,5,5,51,210,5,5,132,192,5,5,131,191,5,5,65,163,5,5,77,175,5,5,174,189,5,5,211,239,5,5,5,224,5,5,2,225,5,5,197,235,5,5,5,229,5,5,127,239,5,5,81,172,5,5,178,170,5,5,109,230,5,5,67,203,5,5,6,224,5,5,57,244,5,5,114,210,5,5,239,222,5,5,23,168,5,5,187,245,5,5,45,245,5,5,77,205,5,5,86,203,5,5,209,241,5,5,187,173,5,5,111,234,5,5,111,230,5,5,82,247,5,5,127,173,5,5,148,176,5,5,166,173,5,5,194,222,5,5,250,208,5,5,245,166,5,5,155,247,5,5,96,177,5,5,203,178,5,5,83,245,5,5,8,240,5,5,17,216,5,5,230,195,5,5,86,239,5,5,41,202,5,5,54,238,5,5,46,245,5,5,151,202,5,5,59,174,5,5,121,172,5,5,236,214,5,5,207,205,5,5,196,167,5,5,2,176,5,5,18,174,5,5,110,180,5,5,240,222,5,5,7,242,5,5,179,199,5,5,66,200,5,5,3,248,5,5,229,234,5,5,52,226,5,5,88,236,5,5,48,246,5,5,53,226,5,5,173,223,5,5,241,240,5,5,178,215,5,5,228,228,5,5,237,224,5,5,192,190,5,5,112,234,5,5,254,217,5,5,19,216,5,5,49,246,5,5,207,221,5,5,27,232,5,5,82,215,5,5,146,184,5,5,66,163,5,5,253,192,5,5,180,183,5,5,201,183,5,5,49,214,5,5,99,164,5,5,242,216,5,5,84,189,5,5,43,220,5,5,136,228,5,5,151,211,5,5,210,233,5,5,175,164,5,5,36,227,5,5,2,203,5,5,197,167,5,5,11,240,5,5,160,235,5,5,213,239,5,5,63,221,5,5,160,177,5,5,60,198,5,5,175,169,5,5,21,176,5,5,208,221,5,5,120,166,5,5,152,211,5,5,225,164,5,5,205,219,5,5,202,233,5,5,117,246,5,5,149,176,5,5,209,221,5,5,252,232,5,5,96,242,5,5,58,244,5,5,203,180,5,5,133,220,5,5,85,197,5,5,248,164,5,5,20,182,5,5,178,227,5,5,159,247,5,5,12,240,5,5,62,174,5,5,255,232,5,5,54,192,5,5,136,184,5,5,163,182,5,5,181,183,5,5,40,215,5,5,198,211,5,5,210,249,5,5,153,245,5,5,58,210,5,5,109,227,5,5,245,194,5,5,65,164,5,5,247,166,5,5,41,200,5,5,152,197,5,5,194,185,5,5,66,216,5,5,161,191,5,5,22,244,5,5,157,163,5,5,138,172,5,5,49,172,5,5,4,203,5,5,70,239,5,5,84,166,5,5,52,202,5,5,166,198,5,5,174,199,5,5,255,193,5,5,54,212,5,5,12,181,5,5,28,204,5,5,211,233,5,5,23,240,5,5,13,227,5,5,142,216,5,5,138,228,5,5,3,182,5,5,171,195,5,5,100,218,5,5,212,191,5,5,35,185,5,5,136,239,5,5,60,223,5,5,42,196,5,5,155,194,5,5,35,187,5,5,113,243,5,5,40,227,5,5,70,171,5,5,132,221,5,5,245,216,5,5,97,242,5,5,199,238,5,5,3,190,5,5,84,170,5,5,28,239,5,5,196,190,5,5,5,179,5,5,165,223,5,5,4,223,5,5,3,218,5,5,193,194,5,5,2,220,5,5,91,239,5,5,183,230,5,5,30,235,5,5,184,213,5,5,161,235,5,5,45,232,5,5,59,191,5,5,90,179,5,5,29,204,5,5,159,220,5,5,232,233,5,5,158,209,5,5,81,196,5,5,209,223,5,5,137,184,5,5,188,184,5,5,184,205,5,5,55,245,5,5,25,198,5,5,96,208,5,5,137,225,5,5,237,220,5,5,8,233,5,5,57,224,5,5,201,210,5,5,60,191,5,5,237,206,5,5,131,229,5,5,166,181,5,5,206,228,5,5,94,182,5,5,73,163,5,5,98,183,5,5,124,214,5,5,238,165,5,5,89,182,5,5,9,248,5,5,115,213,5,5,151,234,5,5,155,237,5,5,2,210,5,5,222,216,5,5,179,194,5,5,24,196,5,5,56,245,5,5,42,208,5,5,40,240,5,5,158,174,5,5,41,189,5,5,232,232,5,5,190,209,5,5,44,187,5,5,251,249,5,5,19,201,5,5,145,206,5,5,168,210,5,5,101,236,5,5,244,166,5,5,139,236,5,5,79,174,5,5,181,212,5,5,251,186,5,5,159,174,5,5,158,168,5,5,18,164,5,5,171,247,5,5,169,208,5,5,186,213,5,5,25,216,5,5,237,214,5,5,10,248,5,5,228,176,5,5,175,223,5,5,18,224,5,5,56,219,5,5,217,242,5,5,173,187,5,5,45,187,5,5,36,185,5,5,110,235,5,5,15,205,5,5,241,214,5,5,162,174,5,5,191,199,5,5,57,207,5,5,215,214,5,5,209,166,5,5,85,205,5,5,189,165,5,5,211,225,5,5,203,172,5,5,255,173,5,5,32,241,5,5,229,238,5,5,209,163,5,5,63,248,5,5,252,215,5,5,233,164,5,5,44,199,5,5,239,224,5,5,73,218,5,5,87,166,5,5,163,204,5,5,164,241,5,5,232,234,5,5,174,187,5,5,202,246,5,5,37,185,5,5,116,234,5,5,143,233,5,5,205,191,5,5,69,194,5,5,210,163,5,5,99,181,5,5,69,229,5,5,70,229,5,5,179,170,5,5,156,175,5,5,244,179,5,5,137,207,5,5,29,226,5,5,167,216,5,5,152,167,5,5,112,180,5,5,52,198,5,5,224,239,5,5,118,208,5,5,217,180,5,5,156,192,5,5,150,206,5,5,219,203,5,5,249,236,5,5,40,225,5,5,146,203,5,5,174,173,5,5,104,218,5,5,53,197,5,5,243,207,5,5,88,233,5,5,58,207,5,5,169,210,5,5,152,183,5,5,198,190,5,5,8,222,5,5,169,245,5,5,121,190,5,5,93,237,5,5,160,186,5,5,20,201,5,5,231,178,5,5,192,231,5,5,130,164,5,5,57,245,5,5,59,207,5,5,18,183,5,5,17,234,5,5,17,205,5,5,198,219,5,5,53,241,5,5,105,218,5,5,150,227,5,5,93,211,5,5,126,209,5,5,96,244,5,5,58,225,5,5,204,204,5,5,222,242,5,5,29,231,5,5,248,222,5,5,115,226,5,5,75,203,5,5,177,202,5,5,63,246,5,5,15,248,5,5,91,166,5,5,236,230,5,5,164,180,5,5,226,245,5,5,100,168,5,5,36,243,5,5,204,173,5,5,113,180,5,5,193,245,5,5,212,237,5,5,12,214,5,5,182,223,5,5,38,229,5,5,173,195,5,5,232,176,5,5,13,233,5,5,131,223,5,5,147,181,5,5,215,163,5,5,63,214,5,5,39,201,5,5,222,241,5,5,138,220,5,5,58,224,5,5,127,242,5,5,44,242,5,5,92,205,5,5,232,216,5,5,67,219,5,5,158,233,5,5,207,174,5,5,208,164,5,5,217,218,5,5,126,233,5,5,199,171,5,5,67,202,5,5,227,239,5,5,64,214,5,5,228,217,5,5,4,234,5,5,156,178,5,5,239,233,5,5,173,220,5,5,187,238,5,5,204,179,5,5,205,179,5,5,216,163,5,5,221,231,5,5,228,185,5,5,151,203,5,5,64,246,5,5,132,173,5,5,8,225,5,5,224,193,5,5,67,236,5,5,237,218,5,5,156,236,5,5,174,213,5,5,213,174,5,5,98,249,5,5,99,231,5,5,78,187,5,5,152,184,5,5,184,249,5,5,38,206,5,5,48,169,5,5,161,164,5,5,127,177,5,5,70,180,5,5,2,198,5,5,156,203,5,5,213,212,5,5,95,228,5,5,173,210,5,5,152,207,5,5,118,234,5,5,219,225,5,5,89,236,5,5,221,163,5,5,221,214,5,5,7,250,5,5,168,241,5,5,41,180,5,5,206,236,5,5,67,244,5,5,115,172,5,5,92,166,5,5,23,203,5,5,74,175,5,5,48,232,5,5,115,180,5,5,101,193,5,5,12,166,5,5,189,225,5,5,157,184,5,5,69,234,5,5,122,185,5,5,211,234,5,5,215,249,5,5,61,232,5,5,132,233,5,5,181,164,5,5,113,237,5,5,146,238,5,5,58,226,5,5,25,248,5,5,200,219,5,5,223,232,5,5,232,228,5,5,135,226,5,5,168,206,5,5,101,223,5,5,148,227,5,5,136,198,5,5,12,221,5,5,102,211,5,5,48,243,5,5,251,176,5,5,80,214,5,5,232,185,5,5,228,163,5,5,93,168,5,5,190,205,5,5,196,188,5,5,26,190,5,5,109,170,5,5,85,210,5,5,55,215,5,5,43,180,5,5,168,244,5,5,24,179,5,5,143,222,5,5,106,216,5,5,99,228,5,5,165,209,5,5,107,208,5,5,90,182,5,5,79,233,5,5,228,168,5,5,234,212,5,5,178,185,5,5,32,225,5,5,168,194,5,5,226,187,5,5,135,208,5,5,66,225,5,5,86,224,5,5,89,246,5,5,239,201,5,5,56,163,5,5,99,200,5,5,68,226,5,5,254,180,5,5,43,176,5,5,51,204,5,5,173,204,5,5,126,236,5,5,135,173,5,5,215,215,5,5,252,206,5,5,244,237,5,5,252,203,5,5,112,205,5,5,188,182,5,5,27,189,5,5,103,163,5,5,94,193,5,5,238,215,5,5,169,236,5,5,216,215,5,5,19,206,5,5,14,172,5,5,104,241,5,5,237,205,5,5,93,203,5,5,200,209,5,5,47,168,5,5,216,173,5,5,63,220,5,5,71,238,5,5,13,236,5,5,186,239,5,5,67,208,5,5,194,184,5,5,90,224,5,5,128,240,5,5,108,176,5,5,129,206,5,5,113,217,5,5,90,196,5,5,49,205,5,5,227,225,5,5,245,175,5,5,57,204,5,5,149,227,5,5,51,232,5,5,103,234,5,5,24,166,5,5,227,238,5,5,194,230,5,5,124,179,5,5,37,224,5,5,214,223,5,5,29,186,5,5,192,183,5,5,203,205,5,5,189,210,5,5,232,170,5,5,73,245,5,5,121,184,5,5,154,212,5,5,193,183,5,5,21,225,5,5,206,187,5,5,128,185,5,5,80,191,5,5,17,197,5,5,59,164,5,5,146,248,5,5,164,165,5,5,137,232,5,5,133,218,5,5,192,235,5,5,19,242,5,5,231,197,5,5,228,224,5,5,230,224,5,5,116,187,5,5,143,180,5,5,91,246,5,5,33,191,5,5,195,225,5,5,105,224,5,5,151,230,5,5,97,229,5,5,141,200,5,5,144,187,5,5,105,190,5,5,140,232,5,5,158,184,5,5,119,180,5,5,10,243,5,5,108,185,5,5,140,183,5,5,25,239,5,5,78,245,5,5,159,249,5,5,122,232,5,5,26,249,5,5,29,218,5,5,147,226,5,5,225,219,5,5,31,218,5,5,37,215,5,5,153,194,5,5,132,178,5,5,49,195,5,5,133,178,5,5,192,171,5,5,242,181,5,5,3,225,5,5,27,239,5,5,134,178,5,5,29,239,5,5,163,205,5,5,243,181,5,5,162,235,5,5,215,242,5,5,218,242,5,5,16,227,192,0,0,0,5,5,83,176,5,5,72,210,5,5,183,175,5,5,81,173,5,5,27,170,5,5,159,228,5,5,185,175,192,0,0,0,5,5,102,206,5,5,12,187,5,5,81,201,5,5,217,230,5,5,80,247,5,5,40,183,5,5,52,212,5,5,58,189,5,5,172,247,5,5,0,128,5,5,188,194,5,5,99,188,5,5,166,212,5,5,161,198,5,5,16,186,5,5,230,194,5,5,62,181,5,5,64,194,5,5,162,216,5,5,55,166,5,5,161,208,5,5,42,207,5,5,145,177,5,5,107,231,5,5,77,173,5,5,61,244,5,5,202,204,5,5,22,228,5,5,193,202,5,5,103,240,5,5,216,202,5,5,147,224,5,5,81,208,5,5,55,170,5,5,74,230,5,5,41,183,5,5,27,249,5,5,43,170,5,5,177,192,5,5,75,230,5,5,230,233,5,5,82,208,5,5,231,233,5,5,42,232,5,5,122,193,5,5,91,208,5,5,57,170,5,5,48,220,5,5,59,170,5,5,85,192,5,5,229,216,5,5,200,171,5,5,85,171,5,5,95,231,5,5,158,243,5,5,45,214,5,5,169,195,5,5,13,208,5,5,187,184,5,5,131,239,5,5,34,171,5,5,46,227,5,5,67,194,5,5,224,170,5,5,227,222,5,5,60,207,5,5,250,248,5,5,31,172,5,5,148,195,5,5,221,188,5,5,208,174,5,5,46,214,5,5,116,171,5,5,50,166,5,5,223,178,5,5,105,179,5,5,179,192,5,5,235,173,5,5,54,166,5,5,57,199,5,5,148,226,5,5,118,207,5,5,58,199,5,5,23,197,5,5,72,241,5,5,159,186,5,5,77,167,5,5,63,174,5,5,250,171,5,5,4,179,5,5,137,215,5,5,178,187,5,5,79,209,5,5,195,204,5,5,142,206,5,5,132,229,5,5,236,169,5,5,198,181,5,5,119,208,5,5,81,193,5,5,162,222,5,5,94,237,5,5,151,206,5,5,42,189,5,5,136,211,5,5,76,177,5,5,100,189,5,5,14,179,5,5,157,192,5,5,22,205,5,5,124,243,5,5,56,234,5,5,169,239,5,5,79,187,5,5,144,226,5,5,51,172,5,5,168,222,5,5,212,234,5,5,123,235,5,5,72,178,5,5,238,205,5,5,9,189,5,5,10,189,5,5,122,184,5,5,254,212,5,5,254,177,5,5,123,202,5,5,3,173,5,5,4,173,5,5,5,173,5,5,252,173,5,5,190,206,5,5,186,225,5,5,129,221,5,5,188,173,5,5,110,172,5,5,55,219,5,5,60,174,5,5,189,173,5,5,169,168,5,5,193,173,5,5,83,195,5,5,40,201,5,5,89,195,5,5,123,192,5,5,136,176,5,5,199,168,5,5,149,210,5,5,28,218,5,5,78,196,5,5,179,181,5,5,96,238,5,5,147,225,5,5,197,201,5,5,93,176,5,5,75,198,5,5,79,198,5,5,66,232,5,5,125,175,5,5,72,177,5,5,126,175,5,5,105,230,5,5,106,230,5,5,121,226,5,5,69,173,5,5,94,209,5,5,255,239,5,5,198,201,5,5,161,195,5,5,165,210,5,5,32,235,5,5,154,225,5,5,47,247,5,5,202,201,5,5,3,176,5,5,138,216,5,5,131,199,5,5,185,246,5,5,119,207,5,5,166,186,5,5,199,248,5,5,176,187,5,5,31,188,5,5,234,231,5,5,180,192,5,5,139,226,5,5,64,174,5,5,149,225,5,5,247,211,5,5,191,206,5,5,40,228,5,5,251,171,5,5,85,189,5,5,196,222,5,5,78,167,5,5,124,165,5,5,131,203,5,5,132,203,5,5,12,167,5,5,30,187,5,5,41,228,5,5,125,165,5,5,122,224,5,5,116,206,5,5,104,193,5,5,212,192,5,5,155,175,5,5,141,226,5,5,102,196,5,5,4,196,5,5,97,178,5,5,71,239,5,5,186,218,5,5,171,229,5,5,108,212,5,5,123,227,5,5,212,233,5,5,50,195,5,5,135,203,5,5,30,194,5,5,213,233,5,5,31,194,5,5,84,195,5,5,98,178,5,5,157,202,5,5,214,180,5,5,124,206,5,5,226,185,5,5,120,190,5,5,241,231,5,5,249,248,5,5,193,234,5,5,45,217,5,5,51,195,5,5,234,184,5,5,119,210,5,5,124,227,5,5,142,226,5,5,123,193,5,5,80,205,5,5,194,234,5,5,169,186,5,5,152,180,5,5,204,172,5,5,37,167,5,5,127,224,5,5,174,208,5,5,143,226,5,5,193,231,5,5,191,192,5,5,173,246,5,5,42,163,5,5,213,201,5,5,54,178,5,5,110,211,5,5,89,228,5,5,233,177,5,5,86,205,5,5,170,202,5,5,43,163,5,5,123,242,5,5,61,207,5,5,165,199,5,5,45,229,5,5,23,205,5,5,63,178,5,5,157,178,5,5,255,244,5,5,124,193,5,5,209,174,5,5,43,229,5,5,93,205,5,5,145,191,5,5,29,175,5,5,90,195,5,5,145,226,5,5,49,226,5,5,134,224,5,5,111,182,5,5,27,190,5,5,187,186,5,5,190,167,5,5,60,228,5,5,68,168,5,5,137,195,5,5,45,204,5,5,114,193,5,5,134,209,5,5,163,207,5,5,145,199,5,5,72,219,5,5,77,222,5,5,136,188,5,5,84,207,5,5,222,167,5,5,54,188,5,5,46,194,5,5,58,204,5,5,47,194,5,5,116,205,5,5,117,205,5,5,55,180,5,5,168,199,5,5,217,202,5,5,128,205,5,5,143,240,5,5,129,205,5,5,31,219,5,5,106,224,5,5,70,205,5,5,86,169,5,5,239,186,5,5,203,221,5,5,22,187,5,5,18,241,5,5,107,212,5,5,97,164,5,5,190,194,5,5,253,202,5,5,81,245,5,5,174,169,5,5,177,187,5,5,208,205,5,5,240,195,5,5,250,213,5,5,143,218,5,5,3,179,5,5,210,221,5,5,147,184,5,5,133,203,5,5,199,211,5,5,254,227,5,5,13,240,5,5,131,221,5,5,95,169,5,5,31,187,5,5,209,205,5,5,167,185,5,5,168,185,5,5,240,207,5,5,144,195,5,5,23,244,5,5,136,245,5,5,213,214,5,5,85,170,5,5,250,196,5,5,137,203,5,5,179,187,5,5,86,197,5,5,41,227,5,5,52,195,5,5,214,205,5,5,41,192,5,5,74,163,5,5,255,171,5,5,87,223,5,5,103,186,5,5,252,249,5,5,253,249,5,5,195,171,5,5,53,195,5,5,186,217,5,5,244,207,5,5,111,211,5,5,9,190,5,5,132,166,5,5,7,171,5,5,90,223,5,5,86,185,5,5,111,195,5,5,201,171,5,5,18,179,5,5,6,217,5,5,9,217,5,5,163,195,5,5,102,245,5,5,68,240,5,5,189,217,5,5,123,247,5,5,46,229,5,5,175,185,5,5,94,172,5,5,28,190,5,5,94,168,5,5,78,227,5,5,232,201,5,5,233,210,5,5,60,206,5,5,234,223,5,5,110,212,5,5,107,216,5,5,119,240,5,5,165,207,5,5,241,172,5,5,223,207,5,5,189,182,5,5,85,207,5,5,246,175,5,5,27,214,5,5,184,169,5,5,193,217,5,5,195,217,5,5,101,191,5,5,111,187,5,5,201,223,5,5,152,230,5,5,112,212,5,5,248,163,5,5,244,227,5,5,127,249,5,5,120,204,5,5,41,164,5,5,53,192,5,5,79,245,5,5,128,249,5,5,18,247,5,5,112,165,5,5,233,191,5,5,234,191,5,5,249,163,5,5,37,235,5,5,213,240,5,5,32,218,5,5,133,167,5,5,193,206,5,5,174,179,5,5,162,191,5,5,222,168,5,5,206,237,5,5,19,167,5,5,101,174,5,5,203,194,5,5,30,175,5,5,166,204,5,5,128,212,5,5,220,164,5,5,130,199,5,5,195,163,5,5,68,183,5,5,111,227,5,5,145,173,5,5,154,204,5,5,128,239,5,5,208,231,5,5,50,206,5,5,231,195,5,5,51,206,5,5,248,196,5,5,216,198,5,5,183,213,5,5,153,211,5,5,229,165,5,5,2,194,5,5,97,209,5,5,172,232,5,5,252,196,5,5,181,172,5,5,228,198,5,5,17,248,5,5,14,194,5,5,153,196,5,5,90,200,5,5,242,175,5,5,44,194,5,5,128,188,5,5,137,188,5,5,60,237,5,5,255,177,5,5,180,204,5,5,193,207,5,5,104,213,5,5,20,168,5,5,149,211,5,5,88,239,5,5,250,194,5,5,219,242,5,5,217,165,5,5,208,183,5,5,167,211,5,5,225,226,5,5,251,217,5,5,50,210,5,5,88,184,5,5,207,235,5,5,216,232,5,5,7,229,5,5,44,245,5,5,64,200,5,5,98,164,5,5,31,227,5,5,105,213,5,5,232,246,5,5,107,199,5,5,251,213,5,5,233,246,5,5,181,163,5,5,218,232,5,5,5,222,5,5,254,213,5,5,227,175,5,5,179,169,5,5,99,183,5,5,229,175,5,5,68,202,5,5,92,163,5,5,204,229,5,5,149,163,5,5,19,197,5,5,227,165,5,5,110,166,5,5,132,220,5,5,244,194,5,5,183,189,5,5,70,242,5,5,228,189,5,5,175,212,5,5,127,193,5,5,190,245,5,5,65,214,5,5,125,203,5,5,126,203,5,5,114,246,5,5,13,239,5,5,129,212,5,5,56,218,5,5,44,170,5,5,233,243,5,5,222,245,5,5,255,227,5,5,44,202,5,5,12,212,5,5,185,190,5,5,61,223,5,5,230,207,5,5,51,214,5,5,246,216,5,5,185,205,5,5,13,212,5,5,95,245,5,5,55,202,5,5,213,237,5,5,94,211,5,5,227,212,5,5,108,236,5,5,26,225,5,5,47,246,5,5,187,237,5,5,124,181,5,5,23,187,5,5,126,219,5,5,104,198,5,5,24,187,5,5,8,241,5,5,222,240,5,5,20,243,5,5,186,227,5,5,199,176,5,5,93,219,5,5,114,167,5,5,242,240,5,5,87,197,5,5,244,240,5,5,187,218,5,5,233,233,5,5,116,167,5,5,160,180,5,5,168,186,5,5,189,227,5,5,47,198,5,5,131,181,5,5,24,233,5,5,195,234,5,5,205,172,5,5,37,249,5,5,240,233,5,5,43,249,5,5,42,216,5,5,223,242,5,5,80,187,5,5,153,207,5,5,155,227,5,5,128,177,5,5,157,225,5,5,167,204,5,5,191,205,5,5,103,238,5,5,23,194,5,5,54,243,5,5,124,235,5,5,87,187,5,5,33,225,5,5,27,186,5,5,102,187,5,5,194,242,5,5,255,242,5,5,83,249,5,5,101,235,5,5,189,194,5,5,217,188,5,5,32,230,5,5,245,211,5,5,246,211,5,5,49,239,5,5,116,185,5,5,231,177,5,5,179,215,5,5,114,222,5,5,81,236,5,5,61,234,5,5,62,234,5,5,63,234,5,5,66,234,5,5,67,238,5,5,107,175,5,5,93,242,5,5,124,223,5,5,40,202,5,5,67,242,5,5,236,229,5,5,39,173,5,5,12,228,5,5,203,193,5,5,0,154,5,5,112,172,5,5,233,230,5,5,37,227,5,5,64,229,5,5,24,222,5,5,237,211,5,5,20,228,5,5,235,165,5,5,250,216,5,5,69,203,5,5,83,167,5,5,65,236,5,5,42,192,5,5,123,246,5,5,66,236,5,5,47,177,5,5,18,231,5,5,92,235,5,5,142,195,5,5,31,193,5,5,37,207,5,5,175,189,5,5,121,193,5,5,127,175,5,5,145,195,5,5,142,218,5,5,82,204,5,5,224,219,5,5,0,131,5,5,189,177,5,5,37,195,5,5,106,179,5,5,80,223,5,5,9,227,5,5,94,242,5,5,244,209,5,5,186,166,5,5,79,241,5,5,241,197,5,5,104,235,5,5,37,180,5,5,58,223,5,5,14,185,5,5,73,177,5,5,199,201,5,5,7,188,5,5,107,201,5,5,125,171,5,5,180,216,5,5,182,170,5,5,3,223,5,5,203,191,5,5,92,217,5,5,141,241,5,5,167,231,5,5,84,197,5,5,42,202,5,5,97,177,5,5,35,235,5,5,162,182,5,5,26,172,5,5,46,198,5,5,27,187,5,5,239,181,5,5,94,216,5,5,60,219,5,5,228,213,5,5,71,241,5,5,57,191,5,5,223,240,5,5,61,169,5,5,185,238,5,5,164,199,5,5,89,239,5,5,15,208,5,5,54,224,5,5,21,189,5,5,127,182,5,5,161,243,5,5,193,172,5,5,226,164,5,5,11,211,5,5,12,211,5,5,205,203,5,5,121,166,5,5,231,172,5,5,33,163,5,5,182,178,5,5,70,173,5,5,152,237,5,5,74,198,5,5,128,181,5,5,241,195,5,5,227,229,5,5,254,208,5,5,131,201,5,5,58,218,5,5,207,243,5,5,14,245,5,5,15,245,5,5,252,223,5,5,232,182,5,5,80,217,5,5,171,212,5,5,26,226,5,5,181,175,5,5,48,247,5,5,44,198,5,5,108,201,5,5,16,245,5,5,39,192,5,5,49,241,5,5,41,208,5,5,58,191,5,5,191,237,5,5,159,191,5,5,190,169,5,5,69,175,5,5,255,208,5,5,88,225,5,5,17,245,5,5,40,192,5,5,19,174,5,5,83,204,5,5,109,201,5,5,59,223,5,5,9,229,5,5,233,182,5,5,128,182,5,5,150,174,5,5,14,240,5,5,70,175,5,5,186,238,5,5,32,187,5,5,245,163,5,5,29,249,5,5,139,193,5,5,69,247,5,5,25,211,5,5,246,244,5,5,195,237,5,5,186,226,5,5,231,207,5,5,103,167,5,5,51,247,5,5,6,183,5,5,17,169,5,5,176,189,5,5,59,230,5,5,10,242,5,5,202,176,5,5,3,220,5,5,42,227,5,5,44,220,5,5,7,181,5,5,110,213,5,5,24,240,5,5,30,209,5,5,170,168,5,5,174,231,5,5,254,192,5,5,155,233,5,5,118,246,5,5,226,216,5,5,133,237,5,5,46,183,5,5,119,191,5,5,226,166,5,5,25,240,5,5,122,214,5,5,139,228,5,5,218,198,5,5,54,172,5,5,18,175,5,5,248,211,5,5,17,207,5,5,76,198,5,5,210,231,5,5,4,182,5,5,51,178,5,5,46,167,5,5,13,167,5,5,126,165,5,5,67,174,5,5,255,243,5,5,88,197,5,5,233,231,5,5,89,197,5,5,180,197,5,5,158,204,5,5,249,249,5,5,191,174,5,5,4,175,5,5,45,220,5,5,154,245,5,5,239,194,5,5,255,192,5,5,240,194,5,5,22,233,5,5,123,166,5,5,227,190,5,5,224,178,5,5,109,184,5,5,91,179,5,5,108,235,5,5,186,215,5,5,188,199,5,5,35,209,5,5,72,239,5,5,199,237,5,5,159,194,5,5,108,219,5,5,116,213,5,5,142,239,5,5,175,187,5,5,108,231,5,5,126,171,5,5,31,171,5,5,157,218,5,5,215,241,5,5,211,201,5,5,49,220,5,5,140,191,5,5,133,229,5,5,128,232,5,5,214,214,5,5,181,197,5,5,255,199,5,5,43,196,5,5,247,199,5,5,175,179,5,5,87,215,5,5,200,237,5,5,148,217,5,5,238,214,5,5,140,193,5,5,25,243,5,5,195,185,5,5,92,239,5,5,21,238,5,5,151,168,5,5,185,228,5,5,167,182,5,5,112,201,5,5,36,218,5,5,52,178,5,5,166,245,5,5,71,197,5,5,32,232,5,5,100,242,5,5,67,177,5,5,220,166,5,5,78,216,5,5,22,238,5,5,171,192,5,5,253,196,5,5,10,241,5,5,5,175,5,5,125,214,5,5,7,165,5,5,69,200,5,5,65,184,5,5,103,199,5,5,177,216,5,5,82,196,5,5,78,178,5,5,76,173,5,5,161,202,5,5,189,184,5,5,82,170,5,5,50,241,5,5,247,197,5,5,38,249,5,5,40,191,5,5,47,167,5,5,193,170,5,5,142,191,5,5,141,237,5,5,5,223,5,5,4,228,5,5,165,186,5,5,230,182,5,5,219,232,5,5,103,197,5,5,9,196,5,5,128,214,5,5,191,215,5,5,171,185,5,5,44,163,5,5,133,219,5,5,66,219,5,5,69,189,5,5,0,141,5,5,127,171,5,5,184,187,5,5,250,236,5,5,93,174,5,5,113,166,5,5,120,198,5,5,193,198,5,5,230,192,5,5,176,229,5,5,200,191,5,5,108,242,5,5,30,243,5,5,9,193,5,5,39,193,5,5,246,163,5,5,81,198,5,5,200,236,5,5,96,226,5,5,55,240,5,5,23,238,5,5,44,203,5,5,185,181,5,5,91,215,5,5,203,246,5,5,54,187,5,5,186,212,5,5,68,180,5,5,10,233,5,5,8,210,5,5,177,223,5,5,19,245,5,5,80,232,5,5,11,241,5,5,182,175,5,5,6,209,5,5,168,176,5,5,16,211,5,5,47,169,5,5,109,169,5,5,233,194,5,5,193,175,5,5,250,211,5,5,172,185,5,5,59,189,5,5,223,236,5,5,81,232,5,5,213,200,5,5,147,186,5,5,126,227,5,5,214,201,5,5,253,232,5,5,171,245,5,5,249,173,5,5,222,205,5,5,45,199,5,5,42,209,5,5,23,228,5,5,15,246,5,5,172,229,5,5,42,225,5,5,36,239,5,5,68,187,5,5,83,211,5,5,230,238,5,5,244,231,5,5,51,241,5,5,92,184,5,5,147,247,5,5,101,181,5,5,64,185,5,5,151,227,5,5,197,212,5,5,66,182,5,5,229,198,5,5,34,238,5,5,213,219,5,5,86,183,5,5,199,195,5,5,33,222,5,5,34,222,5,5,230,228,5,5,233,176,5,5,195,198,5,5,223,188,5,5,137,237,5,5,18,234,5,5,43,216,5,5,130,182,5,5,59,245,5,5,62,247,5,5,238,234,5,5,152,227,5,5,45,193,5,5,9,209,5,5,10,209,5,5,180,179,5,5,29,176,5,5,30,176,5,5,93,241,5,5,183,231,5,5,237,164,5,5,239,234,5,5,22,226,5,5,109,197,5,5,12,241,5,5,12,209,5,5,137,219,5,5,155,172,5,5,60,189,5,5,92,215,5,5,247,167,5,5,153,227,5,5,6,185,5,5,245,231,5,5,97,244,5,5,131,193,5,5,156,166,5,5,166,219,5,5,226,235,5,5,138,222,5,5,236,183,5,5,142,193,5,5,86,190,5,5,128,242,5,5,234,176,5,5,63,212,5,5,129,224,5,5,150,163,5,5,217,177,5,5,102,186,5,5,220,214,5,5,241,206,5,5,71,180,5,5,96,223,5,5,165,180,5,5,225,238,5,5,131,204,5,5,35,176,5,5,241,194,5,5,241,249,5,5,127,246,5,5,105,183,5,5,96,228,5,5,81,248,5,5,144,219,5,5,239,184,5,5,105,203,5,5,28,198,5,5,107,198,5,5,36,177,5,5,16,220,5,5,213,223,5,5,215,245,5,5,161,184,5,5,82,248,5,5,131,243,5,5,222,231,5,5,147,241,5,5,139,237,5,5,203,171,5,5,5,199,5,5,167,249,5,5,66,226,5,5,83,200,5,5,221,200,5,5,222,200,5,5,80,213,5,5,79,197,5,5,223,201,5,5,155,196,5,5,228,222,5,5,20,246,5,5,156,227,5,5,14,217,5,5,41,201,5,5,66,178,5,5,238,183,5,5,100,217,5,5,73,189,5,5,83,248,5,5,124,236,5,5,12,223,5,5,163,209,5,5,39,243,5,5,238,175,5,5,105,167,5,5,67,234,5,5,181,186,5,5,52,241,5,5,68,219,5,5,227,245,5,5,145,171,5,5,160,244,5,5,96,167,5,5,115,166,5,5,118,196,5,5,127,213,5,5,84,248,5,5,157,203,5,5,230,185,5,5,30,196,5,5,84,232,5,5,75,199,5,5,173,180,5,5,174,241,5,5,158,197,5,5,136,237,5,5,20,215,5,5,37,211,5,5,231,235,5,5,216,249,5,5,160,236,5,5,183,201,5,5,18,214,5,5,61,238,5,5,208,236,5,5,62,169,5,5,135,223,5,5,199,197,5,5,12,195,5,5,9,175,5,5,116,236,5,5,171,224,5,5,219,230,5,5,43,236,5,5,144,245,5,5,233,201,5,5,127,167,5,5,3,245,5,5,154,210,5,5,79,227,5,5,174,191,5,5,122,231,5,5,115,203,5,5,143,190,5,5,116,247,5,5,159,245,5,5,184,235,5,5,15,223,5,5,220,197,5,5,245,236,192,0,0,0,5,5,182,197,5,5,228,236,5,5,234,210,5,5,243,183,5,5,81,197,5,5,120,218,5,5,11,236,5,5,222,182,5,5,208,191,5,5,226,182,5,5,18,177,5,5,28,238,5,5,86,211,5,5,159,182,5,5,52,165,5,5,104,238,5,5,105,238,5,5,129,188,5,5,27,233,5,5,123,219,5,5,124,169,5,5,76,236,5,5,68,236,5,5,31,180,5,5,178,176,5,5,136,208,5,5,97,204,5,5,156,226,5,5,253,203,5,5,98,195,5,5,44,180,5,5,62,228,5,5,36,234,5,5,31,203,5,5,38,238,5,5,152,214,5,5,95,168,5,5,235,185,5,5,120,191,5,5,59,193,5,5,153,214,5,5,235,198,5,5,100,200,5,5,148,193,5,5,189,238,5,5,59,215,5,5,252,231,5,5,15,225,5,5,205,216,5,5,180,166,5,5,55,175,5,5,63,169,5,5,50,169,5,5,16,199,5,5,163,185,5,5,236,177,5,5,121,191,5,5,53,180,5,5,75,241,5,5,184,164,5,5,110,244,5,5,16,236,5,5,98,204,5,5,107,171,5,5,225,214,5,5,104,199,5,5,171,169,5,5,68,230,5,5,23,226,5,5,146,167,5,5,179,185,5,5,227,214,5,5,244,201,5,5,199,221,5,5,244,223,5,5,164,196,5,5,32,233,5,5,158,214,5,5,130,235,5,5,227,197,5,5,176,174,5,5,232,187,5,5,167,209,5,5,245,212,5,5,228,225,5,5,139,224,5,5,47,176,5,5,208,197,5,5,20,218,5,5,185,237,5,5,80,233,5,5,242,172,5,5,20,223,5,5,13,200,5,5,135,232,5,5,132,226,5,5,158,234,5,5,48,176,5,5,128,248,5,5,133,182,5,5,134,234,5,5,102,204,5,5,57,241,5,5,246,212,5,5,52,209,5,5,223,197,5,5,138,188,5,5,207,216,5,5,124,176,5,5,28,200,5,5,190,243,5,5,216,168,5,5,109,207,5,5,240,210,5,5,239,217,5,5,246,183,5,5,181,189,5,5,131,235,5,5,248,242,5,5,228,244,5,5,13,175,5,5,89,220,5,5,140,237,5,5,66,220,5,5,242,205,5,5,196,184,5,5,113,200,5,5,89,214,5,5,56,209,5,5,252,237,5,5,87,232,5,5,113,239,5,5,97,227,5,5,105,204,5,5,106,249,5,5,32,238,5,5,224,249,5,5,177,207,5,5,92,196,5,5,38,248,5,5,97,167,5,5,168,175,5,5,124,191,5,5,70,197,5,5,190,178,5,5,74,176,5,5,37,216,5,5,5,236,5,5,226,167,5,5,32,168,5,5,153,243,5,5,34,233,5,5,123,184,5,5,187,176,5,5,93,186,5,5,41,179,5,5,170,199,5,5,197,230,5,5,213,197,5,5,233,213,5,5,120,241,5,5,60,178,5,5,49,168,5,5,39,224,5,5,221,202,5,5,248,205,5,5,232,197,5,5,236,180,5,5,22,225,5,5,27,218,5,5,160,169,5,5,224,233,5,5,239,180,5,5,245,189,5,5,130,200,5,5,123,163,5,5,20,242,5,5,4,184,5,5,195,243,5,5,90,199,5,5,161,169,5,5,125,201,5,5,157,219,5,5,218,186,5,5,69,188,5,5,205,197,5,5,128,183,5,5,174,214,5,5,79,169,5,5,74,243,5,5,121,187,5,5,200,189,5,5,251,190,5,5,82,169,5,5,60,176,5,5,231,224,5,5,146,168,5,5,35,168,5,5,112,216,5,5,215,199,5,5,83,169,5,5,158,213,5,5,95,178,5,5,38,196,5,5,200,242,5,5,108,224,5,5,135,244,5,5,163,230,5,5,158,177,5,5,238,184,5,5,85,179,5,5,182,214,5,5,194,207,5,5,16,226,5,5,159,200,5,5,226,199,5,5,153,222,5,5,13,184,5,5,183,214,5,5,229,233,5,5,232,186,5,5,153,224,5,5,222,223,5,5,152,187,5,5,204,240,5,5,88,190,5,5,130,183,5,5,230,231,5,5,138,236,5,5,100,213,5,5,171,232,5,5,8,205,5,5,231,231,5,5,204,221,5,5,56,186,5,5,21,184,5,5,126,183,5,5,85,186,5,5,9,185,5,5,255,245,5,5,38,200,5,5,109,243,5,5,245,209,5,5,157,235,5,5,97,184,5,5,12,205,5,5,39,200,5,5,20,216,5,5,110,243,5,5,94,183,5,5,108,182,5,5,109,182,5,5,204,178,5,5,232,195,5,5,247,248,5,5,92,208,5,5,99,168,5,5,129,249,5,5,38,235,5,5,246,198,5,5,40,200,5,5,30,249,5,5,153,237,5,5,158,193,5,5,240,196,5,5,39,235,5,5,155,182,5,5,196,181,5,5,4,246,5,5,193,190,5,5,159,193,5,5,117,212,5,5,10,230,5,5,87,189,5,5,79,193,5,5,160,193,5,5,102,179,5,5,161,193,5,5,197,181,5,5,101,242,5,5,162,193,5,5,168,243,5,5,21,201,5,5,246,168,5,5,13,248,5,5,82,198,5,5,39,249,5,5,199,190,5,5,46,212,5,5,18,248,5,5,95,211,5,5,163,193,5,5,57,226,5,5,21,246,5,5,44,249,5,5,47,212,5,5,14,196,5,5,222,174,5,5,51,249,5,5,52,249,5,5,43,241,5,5,214,181,5,5,222,181,5,5,223,181,5,5,112,182,5,5,112,191,5,5,103,200,5,5,145,240,5,5,184,200,5,5,167,190,5,5,178,190,5,5,237,181,5,5,19,241,5,5,238,181,5,5,164,181,5,5,40,229,5,5,244,168,5,5,255,189,5,5,100,196,5,5,221,240,5,5,43,232,5,5,3,246,5,5,132,191,5,5,50,248,5,5,241,244,5,5,208,193,5,5,24,168,5,5,129,239,5,5,66,175,5,5,52,210,5,5,53,210,5,5,233,220,5,5,19,222,5,5,94,176,5,5,78,209,5,5,239,213,5,5,129,228,5,5,20,197,5,5,27,225,5,5,156,208,5,5,229,183,5,5,96,169,5,5,206,201,5,5,40,203,5,5,145,218,5,5,146,218,5,5,83,164,5,5,185,217,5,5,15,240,5,5,254,210,5,5,191,169,5,5,16,208,5,5,97,231,5,5,138,182,5,5,147,173,5,5,128,164,5,5,129,164,5,5,226,179,5,5,170,195,5,5,246,199,5,5,2,233,5,5,242,195,5,5,250,164,5,5,118,206,5,5,222,176,5,5,75,206,5,5,153,202,5,5,79,196,5,5,200,176,5,5,76,206,5,5,192,204,5,5,241,179,5,5,33,187,5,5,15,163,5,5,87,245,5,5,92,173,5,5,89,222,5,5,169,166,5,5,101,164,5,5,50,180,5,5,196,196,5,5,157,211,5,5,23,180,5,5,61,218,5,5,21,182,5,5,111,192,5,5,171,168,5,5,161,177,5,5,128,193,5,5,147,183,5,5,108,179,5,5,200,167,5,5,83,208,5,5,59,244,5,5,149,172,5,5,141,238,5,5,4,190,5,5,216,209,5,5,64,172,5,5,38,195,5,5,79,192,5,5,81,217,5,5,0,157,5,5,33,223,5,5,187,223,5,5,88,189,5,5,212,221,5,5,192,174,5,5,219,198,5,5,188,218,5,5,28,226,5,5,226,184,5,5,27,191,5,5,28,191,5,5,185,189,5,5,142,238,5,5,80,175,5,5,14,167,5,5,24,172,5,5,144,216,5,5,6,179,5,5,162,202,5,5,153,197,5,5,86,191,5,5,169,233,5,5,63,223,5,5,119,185,5,5,214,191,5,5,114,243,5,5,48,198,5,5,120,178,5,5,228,219,5,5,80,174,5,5,160,194,5,5,159,241,5,5,79,178,5,5,80,178,5,5,5,194,5,5,143,223,5,5,27,244,5,5,165,243,5,5,123,172,5,5,83,192,5,5,34,249,5,5,22,177,5,5,2,214,5,5,197,195,5,5,244,228,5,5,16,228,5,5,202,237,5,5,98,166,5,5,164,177,5,5,139,201,5,5,227,240,5,5,44,196,5,5,50,175,5,5,248,194,5,5,97,176,5,5,85,195,5,5,191,198,5,5,64,183,5,5,228,238,5,5,120,216,5,5,192,215,5,5,95,249,5,5,141,164,5,5,28,174,5,5,18,163,5,5,56,240,5,5,236,243,5,5,121,198,5,5,255,216,5,5,30,226,5,5,221,210,5,5,231,192,5,5,24,238,5,5,187,164,5,5,162,173,5,5,14,212,5,5,255,249,5,5,44,208,5,5,15,203,5,5,230,176,5,5,164,169,5,5,139,186,5,5,233,207,5,5,93,225,5,5,53,228,5,5,169,205,5,5,134,219,5,5,185,187,5,5,186,187,5,5,133,166,5,5,99,225,5,5,157,199,5,5,134,166,5,5,243,226,5,5,187,217,5,5,141,193,5,5,85,208,5,5,73,241,5,5,93,184,5,5,213,176,5,5,71,248,5,5,138,166,5,5,231,240,5,5,64,212,5,5,25,237,5,5,248,167,5,5,96,211,5,5,206,246,5,5,63,207,5,5,217,190,5,5,77,221,5,5,54,197,5,5,176,226,5,5,233,178,5,5,96,175,5,5,39,180,5,5,231,238,5,5,26,234,5,5,215,225,5,5,188,164,5,5,174,195,5,5,108,218,5,5,83,178,5,5,69,240,5,5,109,218,5,5,70,240,5,5,235,166,5,5,221,201,5,5,163,222,5,5,183,208,5,5,34,236,5,5,64,207,5,5,156,183,5,5,11,196,5,5,61,195,5,5,69,180,5,5,198,196,5,5,209,183,5,5,205,204,5,5,121,178,5,5,188,205,5,5,193,192,5,5,72,248,5,5,214,237,5,5,154,167,5,5,83,193,5,5,245,181,5,5,161,186,5,5,183,173,5,5,249,240,5,5,172,210,5,5,244,196,5,5,245,238,5,5,225,228,5,5,107,178,5,5,69,183,5,5,188,181,5,5,111,225,5,5,132,243,5,5,8,201,5,5,28,165,5,5,190,188,5,5,145,193,5,5,37,177,5,5,139,222,5,5,54,198,5,5,22,164,5,5,23,164,5,5,190,247,5,5,154,176,5,5,30,170,5,5,106,203,5,5,22,231,5,5,96,241,5,5,247,192,5,5,165,195,5,5,91,233,5,5,191,247,5,5,42,201,5,5,224,237,5,5,169,241,5,5,40,243,5,5,49,164,5,5,172,233,5,5,205,169,5,5,30,225,5,5,23,178,5,5,35,182,5,5,238,243,5,5,240,173,5,5,250,222,5,5,224,203,5,5,175,205,5,5,211,198,5,5,198,192,5,5,80,226,5,5,26,205,5,5,210,168,5,5,162,185,5,5,100,216,5,5,35,201,5,5,151,186,5,5,166,178,5,5,176,246,5,5,101,217,5,5,188,202,5,5,78,202,5,5,86,196,5,5,169,244,5,5,37,179,5,5,118,225,5,5,13,250,5,5,92,195,5,5,161,236,5,5,162,236,5,5,249,226,5,5,103,171,5,5,44,179,5,5,125,247,5,5,119,225,5,5,215,181,5,5,75,180,5,5,23,212,5,5,230,222,5,5,88,187,5,5,231,222,5,5,165,164,5,5,2,236,5,5,189,232,5,5,122,178,5,5,85,181,5,5,111,245,5,5,120,221,5,5,190,217,5,5,175,191,5,5,250,220,5,5,62,238,5,5,204,194,5,5,181,242,5,5,178,195,5,5,86,181,5,5,53,249,5,5,255,246,5,5,81,214,5,5,102,188,5,5,204,197,5,5,133,186,5,5,16,225,5,5,163,167,5,5,198,164,5,5,200,224,5,5,36,190,5,5,235,189,5,5,169,238,5,5,179,210,5,5,218,169,5,5,125,169,5,5,118,222,5,5,252,229,5,5,103,229,5,5,255,185,5,5,50,223,5,5,138,170,5,5,149,165,5,5,173,206,5,5,251,233,5,5,153,229,5,5,4,219,5,5,13,221,5,5,189,195,5,5,218,249,5,5,176,177,5,5,214,224,5,5,124,218,5,5,137,213,5,5,149,193,5,5,77,211,5,5,232,205,5,5,255,176,5,5,233,228,5,5,99,172,5,5,214,234,5,5,55,243,5,5,46,179,5,5,194,232,5,5,132,210,5,5,59,211,5,5,49,189,5,5,169,246,5,5,102,222,5,5,141,209,5,5,195,232,5,5,208,216,5,5,100,228,5,5,101,228,5,5,8,163,5,5,232,168,5,5,91,196,5,5,250,178,5,5,20,173,5,5,30,212,5,5,139,169,5,5,186,178,5,5,187,178,5,5,68,233,5,5,7,177,5,5,51,229,5,5,115,178,5,5,116,178,5,5,254,179,5,5,137,176,5,5,59,172,5,5,108,173,5,5,57,201,5,5,255,179,5,5,51,175,5,5,106,241,5,5,253,221,5,5,155,205,5,5,153,238,5,5,65,211,5,5,253,201,5,5,143,209,5,5,202,195,5,5,146,240,5,5,12,168,5,5,75,165,5,5,177,177,5,5,22,206,5,5,77,241,5,5,225,249,5,5,66,217,5,5,6,180,5,5,72,186,5,5,89,207,5,5,249,199,5,5,112,176,5,5,162,230,5,5,191,210,5,5,197,217,5,5,229,215,5,5,93,213,5,5,169,197,5,5,75,238,5,5,237,240,5,5,149,175,5,5,233,197,5,5,24,231,5,5,6,206,5,5,131,185,5,5,36,197,5,5,201,189,5,5,198,242,5,5,15,180,5,5,109,246,5,5,250,199,5,5,34,191,5,5,35,191,5,5,21,231,5,5,122,187,5,5,252,188,5,5,164,230,5,5,166,224,5,5,207,217,5,5,205,242,5,5,109,185,5,5,30,163,5,5,182,246,5,5,22,227,5,5,86,230,5,5,106,236,5,5,183,222,5,5,184,222,5,5,10,229,5,5,90,239,5,5,176,169,5,5,33,195,5,5,219,221,5,5,187,222,5,5,251,198,5,5,255,198,5,5,228,196,5,5,102,239,5,5,6,199,5,5,15,217,5,5,233,196,5,5,28,228,5,5,217,170,5,5,69,233,5,5,30,228,5,5,114,239,5,5,140,218,5,5,30,193,5,5,202,225,5,5,52,206,5,5,236,173,5,5,202,163,5,5,203,219,5,5,239,165,5,5,246,236,5,5,116,212,5,5,89,189,5,5,198,174,5,5,196,234,5,5,230,213,5,5,50,218,5,5,119,214,5,5,60,183,5,5,236,213,5,5,141,196,5,5,165,212,5,5,218,245,5,5,89,249,5,5,45,170,5,5,141,236,5,5,49,178,5,5,50,178,5,5,83,241,5,5,108,211,5,5,220,245,5,5,87,192,5,5,88,192,5,5,43,209,5,5,24,171,5,5,25,171,5,5,187,243,5,5,183,199,5,5,215,224,5,5,47,175,5,5,19,232,5,5,61,181,5,5,132,179,5,5,17,174,5,5,202,193,5,5,140,241,5,5,254,243,5,5,171,198,5,5,23,192,5,5,184,226,5,5,148,179,5,5,133,179,5,5,211,179,5,5,211,242,5,5,223,164,5,5,130,239,5,5,39,196,5,5,255,202,5,5,61,178,5,5,133,199,5,5,16,197,5,5,160,249,5,5,3,203,5,5,0,135,5,5,2,239,5,5,115,188,5,5,209,200,5,5,150,176,5,5,216,242,5,5,26,167,5,5,241,207,5,5,162,208,5,5,22,183,5,5,253,173,5,5,6,214,5,5,129,173,5,5,146,177,5,5,89,244,5,5,114,196,5,5,117,232,5,5,211,200,5,5,36,209,5,5,77,195,5,5,62,219,5,5,115,164,5,5,41,240,5,5,36,206,5,5,203,179,5,5,186,232,5,5,124,164,5,5,187,212,5,5,90,201,5,5,183,172,5,5,77,177,5,5,13,218,5,5,177,164,5,5,171,177,5,5,144,238,5,5,168,227,5,5,124,247,5,5,74,197,5,5,145,238,5,5,112,245,5,5,147,238,5,5,39,206,5,5,130,188,5,5,71,178,5,5,116,249,5,5,41,206,5,5,92,227,5,5,137,173,5,5,208,199,5,5,91,165,5,5,168,190,5,5,96,178,5,5,212,184,5,5,141,184,5,5,200,177,5,5,12,183,5,5,54,210,5,5,189,204,5,5,32,179,5,5,145,204,5,5,179,184,5,5,162,223,5,5,239,197,5,5,38,215,5,5,47,173,5,5,126,202,5,5,179,229,5,5,181,230,5,5,152,172,5,5,106,247,5,5,129,201,5,5,169,222,5,5,189,174,5,5,18,169,5,5,226,175,5,5,119,230,5,5,20,174,5,5,141,206,5,5,165,242,5,5,194,197,5,5,60,247,5,5,197,222,5,5,150,166,5,5,31,178,5,5,154,202,5,5,243,195,5,5,241,222,5,5,142,241,5,5,210,205,5,5,130,249,5,5,165,171,5,5,232,172,5,5,122,223,5,5,200,248,5,5,171,222,5,5,44,184,5,5,22,243,5,5,234,182,5,5,242,215,5,5,93,173,5,5,227,164,5,5,160,247,5,5,54,182,5,5,190,173,5,5,234,246,5,5,158,173,5,5,47,245,5,5,52,248,5,5,209,193,5,5,35,178,5,5,0,158,5,5,145,183,5,5,31,220,5,5,25,222,5,5,207,219,5,5,19,175,5,5,16,183,5,5,91,249,5,5,216,179,5,5,84,215,5,5,101,218,5,5,144,237,5,5,250,169,5,5,97,169,5,5,116,208,5,5,254,164,5,5,140,228,5,5,95,209,5,5,145,237,5,5,90,197,5,5,227,216,5,5,122,172,5,5,64,221,5,5,223,171,5,5,102,164,5,5,65,172,5,5,22,174,5,5,90,189,5,5,170,231,5,5,171,231,5,5,14,227,5,5,76,230,5,5,43,228,5,5,2,244,5,5,105,170,5,5,196,203,5,5,2,193,5,5,163,235,5,5,164,216,5,5,52,246,5,5,109,231,5,5,43,207,5,5,44,228,5,5,128,168,5,5,127,230,5,5,160,241,5,5,7,179,5,5,8,206,5,5,67,229,5,5,56,202,5,5,215,191,5,5,95,216,5,5,110,199,5,5,214,207,5,5,239,203,5,5,84,192,5,5,196,185,5,5,200,204,5,5,201,204,5,5,143,239,5,5,91,184,5,5,103,218,5,5,212,201,5,5,215,201,5,5,187,215,5,5,198,198,5,5,161,194,5,5,19,208,5,5,40,196,5,5,26,243,5,5,50,172,5,5,181,187,5,5,249,166,5,5,203,237,5,5,102,242,5,5,166,242,5,5,167,223,5,5,144,228,5,5,115,243,5,5,236,226,5,5,6,194,5,5,56,212,5,5,110,231,5,5,91,237,5,5,223,245,5,5,140,201,5,5,151,245,5,5,227,185,5,5,29,241,5,5,17,230,5,5,240,203,5,5,157,190,5,5,159,168,5,5,193,215,5,5,5,228,5,5,254,186,5,5,94,225,5,5,59,214,5,5,194,170,5,5,29,174,5,5,202,236,5,5,199,169,5,5,59,246,5,5,57,195,5,5,252,225,5,5,253,225,5,5,167,181,5,5,102,184,5,5,148,216,5,5,101,183,5,5,177,247,5,5,239,182,5,5,38,167,5,5,33,183,5,5,215,207,5,5,150,228,5,5,204,218,5,5,83,198,5,5,231,176,5,5,172,222,5,5,156,237,5,5,137,168,5,5,95,182,5,5,194,215,5,5,197,171,5,5,20,245,5,5,170,242,5,5,60,245,5,5,25,238,5,5,168,242,5,5,178,247,5,5,174,235,5,5,179,247,5,5,139,245,5,5,55,187,5,5,90,215,5,5,206,206,5,5,239,211,5,5,92,222,5,5,122,208,5,5,93,215,5,5,35,222,5,5,234,178,5,5,240,224,5,5,12,190,5,5,46,238,5,5,147,237,5,5,148,237,5,5,229,185,5,5,176,171,5,5,77,235,5,5,48,167,5,5,242,206,5,5,179,166,5,5,5,234,5,5,108,189,5,5,207,246,5,5,183,165,5,5,136,214,5,5,100,229,5,5,11,209,5,5,12,200,5,5,56,173,5,5,184,245,5,5,249,230,5,5,246,179,5,5,156,172,5,5,226,172,5,5,152,203,5,5,63,181,5,5,157,183,5,5,65,212,5,5,156,206,5,5,248,200,5,5,86,206,5,5,76,210,5,5,168,177,5,5,169,216,5,5,72,199,5,5,174,246,5,5,41,185,5,5,20,165,5,5,125,243,5,5,10,224,5,5,79,183,5,5,210,174,5,5,157,206,5,5,200,190,5,5,246,238,5,5,20,186,5,5,199,196,5,5,175,243,5,5,34,241,5,5,207,206,5,5,69,187,5,5,148,177,5,5,94,215,5,5,158,199,5,5,139,199,5,5,98,244,5,5,78,224,5,5,190,228,5,5,149,181,5,5,100,176,5,5,223,241,5,5,106,245,5,5,120,183,5,5,3,226,5,5,76,203,5,5,206,179,5,5,16,217,5,5,85,248,5,5,22,246,5,5,244,176,5,5,35,230,5,5,240,169,5,5,239,175,5,5,31,231,5,5,205,210,5,5,14,200,5,5,196,245,5,5,127,210,5,5,81,226,5,5,148,171,5,5,214,174,5,5,198,203,5,5,158,178,5,5,176,239,5,5,251,222,5,5,206,169,5,5,43,201,5,5,178,171,5,5,206,238,5,5,103,244,5,5,102,217,5,5,107,203,5,5,229,245,5,5,5,170,5,5,99,249,5,5,86,221,5,5,224,209,5,5,70,227,5,5,72,214,5,5,56,182,5,5,192,188,5,5,67,170,5,5,80,230,5,5,114,235,5,5,101,168,5,5,128,246,5,5,142,245,5,5,169,204,5,5,7,199,5,5,135,238,5,5,127,209,5,5,24,164,5,5,194,216,5,5,207,179,5,5,225,193,5,5,160,225,5,5,175,241,5,5,41,168,5,5,51,213,5,5,54,249,5,5,225,244,5,5,64,231,5,5,220,230,5,5,16,223,5,5,43,188,5,5,243,169,5,5,61,167,5,5,136,238,5,5,20,169,5,5,90,192,5,5,160,196,5,5,235,210,5,5,90,203,5,5,32,236,5,5,178,220,5,5,55,249,5,5,116,203,5,5,65,231,5,5,36,172,5,5,106,244,5,5,79,202,5,5,163,236,5,5,34,184,5,5,106,215,5,5,154,179,5,5,120,167,5,5,113,186,5,5,71,183,5,5,9,164,5,5,63,238,5,5,42,168,5,5,140,168,5,5,120,240,5,5,79,168,5,5,113,248,5,5,88,185,5,5,140,217,5,5,103,170,5,5,107,239,5,5,14,221,5,5,215,195,5,5,219,249,5,5,215,183,5,5,197,186,5,5,179,176,5,5,230,193,5,5,143,242,5,5,194,205,5,5,119,222,5,5,17,225,5,5,253,231,5,5,67,198,5,5,124,183,5,5,211,185,5,5,70,169,5,5,124,219,5,5,79,199,5,5,80,199,5,5,150,238,5,5,125,183,5,5,60,211,5,5,64,169,5,5,67,168,5,5,24,193,5,5,69,245,5,5,168,209,5,5,59,182,5,5,123,220,5,5,35,170,5,5,109,215,5,5,110,215,5,5,132,169,5,5,233,187,5,5,139,188,5,5,147,199,5,5,235,193,5,5,125,176,5,5,127,218,5,5,209,216,5,5,112,239,5,5,148,199,5,5,247,212,5,5,165,196,5,5,21,230,5,5,248,212,5,5,58,243,5,5,91,224,5,5,3,204,5,5,246,169,5,5,66,173,5,5,243,172,5,5,63,215,5,5,147,240,5,5,114,200,5,5,106,204,5,5,238,174,5,5,98,227,5,5,76,165,5,5,106,228,5,5,37,237,5,5,66,211,5,5,177,188,5,5,185,200,5,5,8,216,5,5,38,184,5,5,253,178,5,5,148,240,5,5,70,234,5,5,73,238,5,5,103,184,5,5,124,184,5,5,21,169,5,5,53,181,5,5,40,224,5,5,249,205,5,5,193,233,5,5,237,247,5,5,143,168,5,5,86,231,5,5,198,230,5,5,21,183,5,5,149,242,5,5,126,179,5,5,127,244,5,5,81,234,5,5,40,184,5,5,230,248,5,5,181,244,5,5,184,171,5,5,115,165,5,5,22,169,5,5,200,228,5,5,175,216,5,5,221,183,5,5,2,178,5,5,97,188,5,5,20,249,5,5,77,186,5,5,75,243,5,5,239,229,5,5,154,189,5,5,76,204,5,5,104,184,5,5,79,186,5,5,105,210,5,5,136,244,5,5,241,229,5,5,144,200,5,5,91,212,5,5,83,171,5,5,235,186,5,5,169,190,5,5,206,242,5,5,182,221,5,5,82,186,5,5,204,231,5,5,127,203,5,5,116,207,5,5,117,207,5,5,62,197,5,5,178,249,5,5,19,169,5,5,188,231,5,5,29,235,5,5,66,237,5,5,65,174,5,5,199,163,5,5,106,231,5,5,211,214,5,5,22,216,5,5,20,171,5,5,164,235,5,5,103,179,5,5,250,163,5,5,158,202,5,5,3,193,5,5,142,184,5,5,58,217,5,5,119,242,5,5,132,222,5,5,184,197,5,5,158,190,5,5,68,237,5,5,45,183,5,5,128,171,5,5,78,235,5,5,77,210,5,5,101,229,5,5,95,234,5,5,232,240,5,5,123,231,5,5,189,183,5,5,45,174,5,5,130,231,5,5,198,186,5,5,67,217,5,5,143,163,5,5,199,230,5,5,10,183,5,5,8,184,5,5,10,184,5,5,137,244,5,5,170,190,5,5,173,171,5,5,108,184,5,5,96,231,5,5,31,179,5,5,250,193,5,5,194,219,5,5,130,212,5,5,4,248,5,5,15,228,5,5,198,238,5,5,180,181,5,5,122,237,5,5,188,246,5,5,57,230,5,5,210,241,5,5,132,201,5,5,132,239,5,5,119,206,5,5,155,222,5,5,89,171,5,5,191,221,5,5,95,176,5,5,137,201,5,5,87,233,5,5,66,194,5,5,46,220,5,5,214,177,5,5,201,246,5,5,137,239,5,5,15,164,5,5,233,226,5,5,234,226,5,5,175,226,5,5,183,228,5,5,54,195,5,5,95,217,5,5,47,227,5,5,103,242,5,5,212,200,5,5,154,239,5,5,43,181,5,5,17,227,5,5,188,215,5,5,197,194,5,5,100,225,5,5,120,212,5,5,198,194,5,5,129,214,5,5,39,232,5,5,112,219,5,5,20,164,5,5,197,197,5,5,31,243,5,5,130,214,5,5,16,203,5,5,187,228,5,5,186,224,5,5,53,231,5,5,87,201,5,5,93,171,5,5,149,195,5,5,183,196,5,5,9,166,5,5,149,236,5,5,19,234,5,5,132,232,5,5,178,202,5,5,254,248,5,5,179,202,5,5,176,243,5,5,96,171,5,5,150,195,5,5,97,211,5,5,16,212,5,5,177,220,5,5,98,205,5,5,215,174,5,5,115,184,5,5,93,166,5,5,174,200,5,5,6,170,5,5,5,211,5,5,91,198,5,5,86,248,5,5,247,226,5,5,116,184,5,5,226,205,5,5,118,184,5,5,247,218,5,5,26,248,5,5,25,164,5,5,184,196,5,5,119,184,5,5,7,211,5,5,126,169,5,5,152,223,5,5,79,207,5,5,125,193,5,5,8,211,5,5,236,198,5,5,118,245,5,5,227,187,5,5,253,226,5,5,120,184,5,5,201,219,5,5,193,228,5,5,70,246,5,5,47,214,5,5,185,196,5,5,104,200,5,5,234,187,5,5,70,208,5,5,186,200,5,5,164,240,5,5,195,239,5,5,35,164,5,5,215,210,5,5,178,226,5,5,36,164,5,5,225,173,5,5,34,235,5,5,130,178,5,5,158,235,5,5,209,217,5,5,136,175,5,5,85,191,5,5,135,178,5,5,19,228,5,5,187,166,5,5,195,173,5,5,115,222,5,5,30,174,5,5,190,227,5,5,58,195,5,5,9,206,5,5,14,206,5,5,117,222,5,5,125,246,5,5,67,233,5,5,230,217,5,5,145,229,5,5,143,178,5,5,148,175,5,5,201,214,5,5,128,203,5,5,251,227,5,5,50,239,5,5,51,239,5,5,52,239,5,5,126,191,5,5,190,204,5,5,60,229,5,5,178,224,5,5,253,228,5,5,254,228,5,5,155,169,5,5,123,191,5,5,7,225,5,5,22,188,5,5,151,215,5,5,152,215,5,5,245,196,5,5,26,242,5,5,73,247,5,5,27,242,5,5,18,188,5,5,19,188,5,5,156,241,5,5,186,170,5,5,74,247,5,5,75,247,5,5,76,247,5,5,128,191,5,5,157,241,5,5,100,178,5,5,152,196,5,5,229,222,5,5,170,204,5,5,124,192,5,5,52,193,5,5,125,192,5,5,79,182,5,5,129,192,5,5,130,192,5,5,183,226,5,5,205,243,5,5,57,223,5,5,115,195,5,5,146,183,5,5,183,205,5,5,50,246,5,5,42,184,5,5,234,206,5,5,36,168,5,5,135,234,5,5,107,213,5,5,207,164,5,5,194,206,5,5,210,203,5,5,72,181,5,5,158,211,5,5,212,180,5,5,211,203,5,5,250,244,5,5,94,177,5,5,190,226,5,5,18,227,5,5,173,168,5,5,216,201,5,5,60,214,5,5,215,220,5,5,61,214,5,5,153,183,5,5,109,220,5,5,189,212,5,5,60,246,5,5,126,170,5,5,149,237,5,5,9,186,5,5,184,168,5,5,220,180,5,5,207,172,5,5,108,229,5,5,73,214,5,5,205,181,5,5,71,191,5,5,74,191,5,5,86,213,5,5,137,234,5,5,76,191,5,5,86,207,5,5,85,214,5,5,97,207,5,5,112,207,5,5,248,187,5,5,188,207,5,5,123,229,5,5,162,213,5,5,185,223,5,5,137,182,5,5,199,183,5,5,37,228,5,5,165,245,5,5,36,215,5,5,25,187,5,5,188,237,5,5,177,175,5,5,149,200,5,5,226,190,5,5,9,240,5,5,251,208,5,5,112,230,5,5,84,245,5,5,115,198,5,5,134,228,5,5,5,248,5,5,148,225,5,5,21,237,5,5,252,208,5,5,113,230,5,5,201,248,5,5,84,164,5,5,211,241,5,5,14,239,5,5,243,240,5,5,88,245,5,5,134,203,5,5,192,237,5,5,45,202,5,5,59,210,5,5,94,173,5,5,189,246,5,5,157,208,5,5,106,234,5,5,115,210,5,5,158,208,5,5,164,223,5,5,206,203,5,5,154,211,5,5,203,192,5,5,180,215,5,5,139,238,5,5,17,186,5,5,137,175,5,5,0,136,5,5,4,233,5,5,5,233,5,5,60,244,5,5,44,207,5,5,184,192,5,5,40,195,5,5,67,192,5,5,59,217,5,5,170,166,5,5,37,187,5,5,21,181,5,5,159,211,5,5,159,242,5,5,68,174,5,5,13,215,5,5,68,203,5,5,168,189,5,5,22,182,5,5,237,167,5,5,143,238,5,5,81,175,5,5,25,197,5,5,204,248,5,5,160,211,5,5,64,199,5,5,191,166,5,5,224,171,5,5,238,238,5,5,22,181,5,5,91,189,5,5,34,223,5,5,209,168,5,5,226,178,5,5,119,198,5,5,103,196,5,5,14,215,5,5,49,170,5,5,165,182,5,5,60,217,5,5,26,240,5,5,3,166,5,5,92,197,5,5,0,138,5,5,133,190,5,5,204,237,5,5,199,174,5,5,217,217,5,5,23,177,5,5,8,190,5,5,7,239,5,5,30,239,5,5,216,191,5,5,42,212,5,5,8,179,5,5,144,239,5,5,67,172,5,5,237,226,5,5,200,238,5,5,9,246,5,5,168,200,5,5,194,218,5,5,92,171,5,5,252,186,5,5,163,202,5,5,168,182,5,5,10,246,5,5,104,242,5,5,99,193,5,5,187,213,5,5,253,186,5,5,161,241,5,5,84,204,5,5,70,221,5,5,159,190,5,5,241,203,5,5,157,237,5,5,158,237,5,5,64,248,5,5,7,214,5,5,101,166,5,5,192,209,5,5,118,212,5,5,201,173,5,5,202,173,5,5,49,183,5,5,255,186,5,5,39,242,5,5,195,215,5,5,147,201,5,5,138,175,5,5,151,228,5,5,95,225,5,5,199,181,5,5,232,192,5,5,45,208,5,5,248,197,5,5,191,213,5,5,169,243,5,5,14,248,5,5,140,186,5,5,188,195,5,5,173,185,5,5,38,185,5,5,141,215,5,5,15,212,5,5,55,197,5,5,167,226,5,5,168,226,5,5,59,179,5,5,224,188,5,5,140,199,5,5,208,206,5,5,42,185,5,5,184,208,5,5,234,171,5,5,200,196,5,5,201,196,5,5,220,232,5,5,84,193,5,5,210,234,5,5,250,240,5,5,251,240,5,5,205,192,5,5,201,190,5,5,202,190,5,5,150,186,5,5,141,207,5,5,55,178,5,5,78,221,5,5,143,193,5,5,177,243,5,5,235,178,5,5,85,198,5,5,79,221,5,5,65,246,5,5,192,214,5,5,249,167,5,5,129,242,5,5,95,237,5,5,153,203,5,5,178,164,5,5,221,232,5,5,12,196,5,5,236,178,5,5,111,220,5,5,85,193,5,5,178,243,5,5,205,231,5,5,26,232,5,5,44,201,5,5,192,247,5,5,217,245,5,5,36,244,5,5,207,173,5,5,23,210,5,5,37,244,5,5,166,180,5,5,230,239,5,5,239,218,5,5,71,227,5,5,40,232,5,5,224,241,5,5,225,237,5,5,234,221,5,5,166,195,5,5,92,191,5,5,227,242,5,5,241,169,5,5,92,198,5,5,224,201,5,5,225,201,5,5,223,200,5,5,150,181,5,5,48,229,5,5,207,169,5,5,174,210,5,5,107,245,5,5,193,247,5,5,92,233,5,5,22,186,5,5,44,195,5,5,177,242,5,5,178,242,5,5,71,246,5,5,93,233,5,5,147,223,5,5,26,237,5,5,60,231,5,5,75,195,5,5,206,210,5,5,194,247,5,5,245,180,5,5,253,185,5,5,216,181,5,5,123,178,5,5,228,212,5,5,126,247,5,5,119,234,5,5,103,176,5,5,66,231,5,5,164,203,5,5,93,195,5,5,44,188,5,5,113,245,5,5,100,237,5,5,132,209,5,5,124,231,5,5,28,246,5,5,182,164,5,5,129,177,5,5,184,234,5,5,155,210,5,5,14,250,5,5,244,183,5,5,185,234,5,5,137,202,5,5,112,227,5,5,248,230,5,5,117,237,5,5,101,233,5,5,62,206,5,5,228,187,5,5,216,195,5,5,136,224,5,5,51,177,5,5,105,234,5,5,205,177,5,5,192,181,5,5,2,186,5,5,51,221,5,5,119,220,5,5,120,220,5,5,106,238,5,5,37,234,5,5,177,211,5,5,40,211,5,5,216,234,5,5,31,233,5,5,144,175,5,5,145,175,5,5,54,213,5,5,114,248,5,5,5,167,5,5,243,190,5,5,109,216,5,5,138,234,5,5,57,163,5,5,210,210,5,5,4,204,5,5,244,242,5,5,181,185,5,5,145,220,5,5,233,188,5,5,235,187,5,5,236,187,5,5,178,205,5,5,138,176,5,5,117,178,5,5,70,233,5,5,103,204,5,5,48,194,5,5,191,241,5,5,5,204,5,5,192,241,5,5,169,207,5,5,90,220,5,5,149,240,5,5,68,217,5,5,57,183,5,5,109,241,5,5,110,241,5,5,189,239,5,5,252,183,5,5,159,215,5,5,100,202,5,5,90,214,5,5,47,195,5,5,2,213,5,5,12,177,5,5,154,238,5,5,33,233,5,5,171,246,5,5,196,239,5,5,87,231,5,5,150,175,5,5,173,189,5,5,226,231,5,5,40,248,5,5,231,248,5,5,223,243,5,5,230,230,5,5,191,203,5,5,117,187,5,5,243,193,5,5,252,190,5,5,253,190,5,5,136,177,5,5,91,231,5,5,32,213,5,5,12,207,5,5,109,224,5,5,220,244,5,5,112,196,5,5,201,242,5,5,254,245,5,5,63,183,5,5,92,212,5,5,4,224,5,5,13,235,5,5,171,190,5,5,140,177,5,5,141,177,5,5,28,184,5,5,207,242,5,5,204,242,5,5,13,243,5,5,144,196,5,5,14,243,5,5,45,226,5,5,77,196,5,5,46,226,5,5,253,219,5,5,29,201,5,5,77,206,5,5,214,217,5,5,238,223,5,5,239,223,5,5,204,187,5,5,186,194,5,5,251,232,5,5,186,209,5,5,38,207,5,5,217,194,5,5,40,207,5,5,247,244,5,5,13,169,5,5,14,169,5,5,169,223,5,5,24,210,5,5,30,210,5,5,124,202,5,5,210,239,5,5,155,235,5,5,0,130,5,5,59,218,5,5,208,219,5,5,96,216,5,5,145,239,5,5,186,205,5,5,4,218,5,5,242,207,5,5,0,142,5,5,14,218,5,5,159,205,5,5,57,174,5,5,207,231,5,5,244,164,5,5,28,227,5,5,119,166,5,5,190,177,5,5,200,229,5,5,238,172,5,5,227,183,5,5,185,226,5,5,71,173,5,5,164,166,5,5,147,218,5,5,172,212,5,5,59,199,5,5,22,176,5,5,5,246,5,5,43,221,5,5,111,180,5,5,82,175,5,5,98,169,5,5,248,166,5,5,165,166,5,5,246,180,5,5,37,163,5,5,116,188,5,5,189,218,5,5,35,220,5,5,70,163,5,5,190,218,5,5,229,176,5,5,104,169,5,5,42,240,5,5,43,240,5,5,174,168,5,5,81,209,5,5,232,207,5,5,184,230,5,5,201,229,5,5,86,175,5,5,114,221,5,5,209,229,5,5,193,209,5,5,166,220,5,5,195,226,5,5,121,212,5,5,47,213,5,5,142,164,5,5,94,175,5,5,215,193,5,5,19,224,5,5,185,168,5,5,47,221,5,5,102,236,5,5,175,246,5,5,97,175,5,5,16,246,5,5,9,225,5,5,154,227,5,5,185,208,5,5,246,231,5,5,164,193,5,5,68,170,5,5,24,178,5,5,29,198,5,5,118,221,5,5,195,216,5,5,101,171,5,5,23,246,5,5,197,245,5,5,114,174,5,5,87,240,5,5,147,164,5,5,189,168,5,5,70,177,5,5,205,194,5,5,62,167,5,5,92,201,5,5,155,179,5,5,104,171,5,5,91,203,5,5,134,180,5,5,24,200,5,5,213,222,5,5,63,228,5,5,139,170,5,5,100,172,5,5,150,165,5,5,166,193,5,5,254,231,5,5,101,172,5,5,148,164,5,5,52,221,5,5,130,206,5,5,140,224,5,5,135,174,5,5,14,219,5,5,240,198,5,5,244,172,5,5,133,226,5,5,53,165,5,5,114,165,5,5,59,221,5,5,117,171,5,5,144,209,5,5,75,224,5,5,109,173,5,5,238,170,5,5,150,164,5,5,41,224,5,5,138,171,5,5,177,225,5,5,188,203,5,5,167,215,5,5,43,186,5,5,151,192,5,5,167,168,5,5,63,184,5,5,191,204,5,5,81,166,5,5,85,166,5,5,165,216,5,5,161,192,5,5,139,241,5,5,208,200,5,5,95,242,5,5,13,242,5,5,133,202,5,5,172,194,5,5,21,168,5,5,125,181,5,5,21,232,5,5,173,194,5,5,170,222,5,5,67,169,5,5,135,211,5,5,251,164,5,5,217,210,5,5,205,178,5,5,130,226,5,5,254,193,5,5,9,241,5,5,167,163,5,5,208,203,5,5,243,216,5,5,184,189,5,5,48,245,5,5,192,222,5,5,23,196,5,5,92,244,5,5,203,176,5,5,15,167,5,5,162,177,5,5,224,240,5,5,166,171,5,5,213,192,5,5,214,233,5,5,154,174,5,5,166,182,5,5,115,167,5,5,194,172,5,5,69,216,5,5,218,239,5,5,195,218,5,5,13,181,5,5,196,218,5,5,239,214,5,5,36,178,5,5,11,233,5,5,131,214,5,5,200,181,5,5,12,194,5,5,26,196,5,5,195,170,5,5,146,181,5,5,75,242,5,5,102,166,5,5,86,166,5,5,141,225,5,5,43,185,5,5,21,165,5,5,69,202,5,5,203,238,5,5,141,229,5,5,213,195,5,5,214,249,5,5,55,182,5,5,96,237,5,5,142,229,5,5,128,211,5,5,87,248,5,5,19,248,5,5,169,171,5,5,41,236,5,5,243,233,5,5,45,216,5,5,209,172,5,5,171,204,5,5,234,237,5,5,228,193,5,5,103,188,5,5,158,227,5,5,126,188,5,5,114,186,5,5,44,236,5,5,248,218,5,5,50,167,5,5,130,211,5,5,174,204,5,5,175,204,5,5,195,205,5,5,107,238,5,5,62,196,5,5,236,185,5,5,241,243,5,5,23,188,5,5,105,175,5,5,37,190,5,5,121,240,5,5,172,225,5,5,92,224,5,5,224,181,5,5,133,235,5,5,6,216,5,5,170,171,5,5,34,225,5,5,70,245,5,5,215,172,5,5,175,194,5,5,36,196,5,5,93,196,5,5,77,165,5,5,67,211,5,5,91,214,5,5,12,189,5,5,13,189,5,5,249,187,5,5,203,189,5,5,252,202,5,5,221,244,5,5,74,215,5,5,139,181,5,5,235,249,5,5,236,186,5,5,142,181,5,5,204,243,5,5,210,217,5,5,160,242,5,5,144,181,5,5,164,176,5,5,219,166,5,5,81,205,5,5,42,200,5,5,17,183,5,5,45,200,5,5,216,194,5,5,89,184,5,5,76,195,5,5,228,165,5,5,10,240,5,5,26,209,5,5,208,184,5,5,128,173,5,5,18,207,5,5,220,242,5,5,44,240,5,5,187,232,5,5,54,165,5,5,254,239,5,5,84,239,5,5,68,239,5,5,80,236,5,5,32,227,5,5,69,239,5,5,72,227,5,5,80,227,5,5,187,194,5,5,95,177,5,5,206,243,5,5,52,199,5,5,58,174,5,5,128,201,5,5,242,244,5,5,76,182,5,5,30,223,5,5,53,206,5,5,16,163,5,5,181,228,5,5,223,176,5,5,9,221,5,5,124,207,5,5,149,179,5,5,155,174,5,5,204,176,5,5,35,171,5,5,85,215,5,5,248,198,5,5,225,223,5,5,148,184,5,5,143,206,5,5,212,220,5,5,146,239,5,5,73,171,5,5,43,212,5,5,172,246,5,5,227,227,5,5,235,230,5,5,96,217,5,5,152,206,5,5,78,177,5,5,10,221,5,5,57,206,5,5,57,211,5,5,155,167,5,5,31,176,5,5,58,211,5,5,29,165,5,5,30,165,5,5,196,227,5,5,36,176,5,5,36,205,5,5,91,192,5,5,210,191,5,5,117,172,5,5,55,165,5,5,138,195,5,5,154,205,5,5,136,165,5,5,159,214,5,5,49,176,5,5,152,193,5,5,65,206,5,5,173,201,5,5,43,171,5,5,157,193,5,5,181,246,5,5,202,207,5,5,146,202,5,5,147,202,5,5,207,193,5,5,68,176,5,5,5,190,5,5,6,190,5,5,124,182,5,5,80,200,5,5,240,218,5,5,91,200,5,5,92,200,5,5,190,239,5,5,191,239,5,5,201,239,5,5,202,239,5,5,193,248,5,5,195,248,5,5,38,228,5,5,140,216,5,5,20,247,5,5,164,182,5,5,27,243,5,5,28,243,5,5,65,248,5,5,6,223,5,5,20,234,5,5,145,165,5,5,79,177,5,5,10,166,5,5,157,167,5,5,15,250,5,5,85,168,5,5,15,221,5,5,214,244,5,5,28,223,5,5,79,223,5,5,20,222,5,5,53,182,5,5,46,202,5,5,168,173,5,5,198,222,5,5,16,240,5,5,83,247,5,5,186,223,5,5,230,164,5,5,151,176,5,5,92,189,5,5,69,174,5,5,89,247,5,5,65,221,5,5,149,234,5,5,90,247,5,5,144,206,5,5,87,175,5,5,182,212,5,5,5,218,5,5,167,198,5,5,28,244,5,5,232,199,5,5,87,191,5,5,49,198,5,5,93,247,5,5,138,225,5,5,205,218,5,5,223,216,5,5,153,206,5,5,201,181,5,5,76,235,5,5,57,219,5,5,39,185,5,5,79,235,5,5,58,175,5,5,210,166,5,5,78,213,5,5,239,178,5,5,181,202,5,5,10,225,5,5,219,218,5,5,80,235,5,5,9,220,5,5,44,185,5,5,73,248,5,5,66,214,5,5,223,203,5,5,94,205,5,5,73,227,5,5,77,203,5,5,243,165,5,5,45,201,5,5,216,174,5,5,231,217,5,5,72,246,5,5,121,167,5,5,176,241,5,5,238,245,5,5,229,212,5,5,90,221,5,5,96,168,5,5,178,180,5,5,63,175,5,5,93,221,5,5,96,221,5,5,130,165,5,5,64,175,5,5,158,226,5,5,197,223,5,5,59,204,5,5,115,200,5,5,62,204,5,5,33,200,5,5,227,169,5,5,43,191,5,5,58,216,5,5,62,164,5,5,222,211,5,5,241,215,5,5,36,216,5,5,245,164,5,5,2,240,5,5,15,185,5,5,87,230,5,5,128,175,5,5,211,177,5,5,228,191,5,5,155,202,5,5,97,230,5,5,89,230,5,5,156,224,5,5,22,180,5,5,92,179,5,5,93,179,5,5,103,192,5,5,23,209,5,5,33,227,5,5,33,235,5,5,180,218,5,5,107,247,5,5,183,170,5,5,167,212,5,5,7,173,5,5,93,244,5,5,97,181,5,5,225,171,5,5,49,247,5,5,199,222,5,5,149,226,5,5,90,245,5,5,47,202,5,5,49,245,5,5,111,213,5,5,41,203,5,5,8,242,5,5,235,246,5,5,40,235,5,5,88,237,5,5,80,196,5,5,53,248,5,5,230,165,5,5,181,218,5,5,159,208,5,5,230,234,5,5,180,224,5,5,134,179,5,5,139,182,5,5,116,210,5,5,90,184,5,5,4,201,5,5,34,218,5,5,48,184,5,5,9,197,5,5,41,215,5,5,243,215,5,5,209,195,5,5,220,198,5,5,106,195,5,5,130,173,5,5,231,199,5,5,136,179,5,5,109,237,5,5,50,245,5,5,194,238,5,5,37,225,5,5,140,226,5,5,45,207,5,5,27,240,5,5,16,164,5,5,226,223,5,5,226,171,5,5,228,166,5,5,6,233,5,5,167,232,5,5,80,244,5,5,46,207,5,5,103,164,5,5,151,184,5,5,47,183,5,5,66,221,5,5,166,166,5,5,125,166,5,5,247,180,5,5,69,199,5,5,65,199,5,5,47,207,5,5,20,175,5,5,117,188,5,5,111,235,5,5,17,224,5,5,227,176,5,5,88,175,5,5,138,239,5,5,183,181,5,5,36,242,5,5,25,174,5,5,57,202,5,5,135,167,5,5,166,216,5,5,93,249,5,5,149,183,5,5,204,193,5,5,70,174,5,5,112,213,5,5,255,164,5,5,11,242,5,5,96,209,5,5,157,217,5,5,43,235,5,5,58,166,5,5,84,201,5,5,247,216,5,5,204,225,5,5,2,165,5,5,134,229,5,5,183,212,5,5,230,179,5,5,27,250,5,5,125,233,5,5,136,178,5,5,154,169,5,5,153,218,5,5,28,240,5,5,48,227,5,5,123,183,5,5,218,217,5,5,49,227,5,5,117,213,5,5,197,185,5,5,199,198,5,5,254,196,5,5,87,170,5,5,158,218,5,5,3,214,5,5,187,188,5,5,14,181,5,5,85,201,5,5,24,177,5,5,249,197,5,5,64,197,5,5,7,194,5,5,200,198,5,5,184,212,5,5,30,204,5,5,138,229,5,5,195,235,5,5,224,198,5,5,220,209,5,5,81,244,5,5,75,200,5,5,43,200,5,5,88,223,5,5,45,203,5,5,147,239,5,5,37,218,5,5,206,193,5,5,22,189,5,5,2,200,5,5,194,231,5,5,251,216,5,5,65,223,5,5,255,228,5,5,217,184,5,5,170,198,5,5,3,239,5,5,55,195,5,5,9,179,5,5,74,181,5,5,199,194,5,5,44,212,5,5,190,212,5,5,82,209,5,5,207,248,5,5,137,167,5,5,198,195,5,5,57,175,5,5,76,200,5,5,207,237,5,5,234,214,5,5,216,182,5,5,122,242,5,5,86,195,5,5,234,233,5,5,65,183,5,5,181,249,5,5,197,170,5,5,5,250,5,5,2,250,5,5,251,248,5,5,208,167,5,5,225,196,5,5,129,209,5,5,209,248,5,5,74,248,5,5,202,181,5,5,220,203,5,5,198,212,5,5,138,219,5,5,23,189,5,5,218,180,5,5,122,198,5,5,250,197,5,5,101,209,5,5,221,180,5,5,135,166,5,5,57,240,5,5,170,210,5,5,56,200,5,5,191,212,5,5,212,163,5,5,106,170,5,5,99,239,5,5,194,198,5,5,110,237,5,5,45,212,5,5,139,225,5,5,104,196,5,5,98,245,5,5,99,245,5,5,14,242,5,5,172,186,5,5,70,189,5,5,218,200,5,5,44,235,5,5,71,240,5,5,210,248,5,5,56,187,5,5,98,184,5,5,66,183,5,5,215,237,5,5,17,212,5,5,136,217,5,5,73,210,5,5,100,245,5,5,4,172,5,5,81,235,5,5,184,172,5,5,186,163,5,5,67,178,5,5,240,234,5,5,43,225,5,5,173,170,5,5,103,236,5,5,183,202,5,5,104,194,5,5,99,194,5,5,170,216,5,5,157,175,5,5,123,208,5,5,56,197,5,5,103,181,5,5,203,190,5,5,214,212,5,5,175,195,5,5,131,194,5,5,210,183,5,5,112,211,5,5,21,224,5,5,183,178,5,5,177,193,5,5,83,220,5,5,87,206,5,5,208,246,5,5,6,249,5,5,174,205,5,5,189,202,5,5,21,186,5,5,75,248,5,5,199,199,5,5,117,197,5,5,66,212,5,5,247,179,5,5,222,180,5,5,225,180,5,5,237,183,5,5,94,247,5,5,254,225,5,5,230,198,5,5,249,200,5,5,199,212,5,5,29,225,5,5,254,215,5,5,17,246,5,5,84,200,5,5,226,237,5,5,226,236,5,5,128,233,5,5,206,204,5,5,8,250,5,5,169,177,5,5,65,207,5,5,84,234,5,5,112,225,5,5,60,175,5,5,222,163,5,5,105,209,5,5,75,234,5,5,32,176,5,5,100,194,5,5,109,178,5,5,70,183,5,5,185,249,5,5,82,216,5,5,94,222,5,5,38,177,5,5,46,201,5,5,116,226,5,5,139,212,5,5,14,230,5,5,122,216,5,5,244,233,5,5,218,165,5,5,7,172,5,5,94,233,5,5,167,180,5,5,188,209,5,5,28,224,5,5,229,163,5,5,103,217,5,5,230,245,5,5,171,191,5,5,86,210,5,5,73,246,5,5,100,248,5,5,196,247,5,5,31,165,5,5,104,217,5,5,224,200,5,5,10,172,5,5,32,165,5,5,105,240,5,5,204,171,5,5,9,250,5,5,112,195,5,5,101,176,5,5,133,243,5,5,227,237,5,5,196,224,5,5,70,170,5,5,86,209,5,5,65,195,5,5,206,247,5,5,64,238,5,5,108,209,5,5,228,242,5,5,162,184,5,5,142,192,5,5,186,249,5,5,129,233,5,5,254,235,5,5,162,186,5,5,133,173,5,5,233,244,5,5,156,196,5,5,161,196,5,5,28,212,5,5,206,194,5,5,144,249,5,5,164,236,5,5,171,236,5,5,202,208,5,5,177,241,5,5,114,237,5,5,98,201,5,5,80,202,5,5,53,193,5,5,80,207,5,5,146,226,5,5,211,183,5,5,19,214,5,5,94,195,5,5,109,221,5,5,16,250,5,5,48,234,5,5,17,218,5,5,215,228,5,5,96,163,5,5,113,195,5,5,102,249,5,5,133,213,5,5,26,201,5,5,18,250,5,5,69,244,5,5,89,187,5,5,19,236,5,5,156,179,5,5,141,243,5,5,182,233,5,5,21,217,5,5,177,210,5,5,145,179,5,5,36,201,5,5,188,249,5,5,216,228,5,5,52,172,5,5,237,194,5,5,197,227,5,5,84,235,5,5,69,168,5,5,102,172,5,5,103,172,5,5,167,193,5,5,110,223,5,5,86,234,5,5,79,234,5,5,77,234,5,5,217,234,5,5,15,172,5,5,98,179,5,5,17,221,5,5,219,182,5,5,151,238,5,5,253,229,5,5,140,170,5,5,108,194,5,5,31,212,5,5,86,232,5,5,176,204,5,5,105,200,5,5,91,195,5,5,131,188,5,5,195,238,5,5,118,237,5,5,239,210,5,5,244,243,5,5,98,191,5,5,234,228,5,5,137,246,5,5,113,182,5,5,111,170,5,5,91,210,5,5,201,227,5,5,220,249,5,5,142,211,5,5,217,195,5,5,8,177,5,5,128,218,5,5,237,185,5,5,7,208,5,5,141,208,5,5,137,208,5,5,129,248,5,5,201,168,5,5,229,187,5,5,97,235,5,5,18,242,5,5,159,226,5,5,15,219,5,5,220,182,5,5,67,225,5,5,53,209,5,5,178,211,5,5,164,167,5,5,241,163,5,5,117,165,5,5,155,212,5,5,6,204,5,5,196,232,5,5,111,223,5,5,140,188,5,5,204,168,5,5,166,196,5,5,106,200,5,5,170,209,5,5,128,225,5,5,245,243,5,5,246,243,5,5,88,213,5,5,3,213,5,5,50,176,5,5,2,180,5,5,91,178,5,5,145,178,5,5,144,178,5,5,177,236,5,5,178,207,5,5,255,233,5,5,160,214,5,5,245,172,5,5,136,173,5,5,182,185,5,5,212,185,5,5,160,226,5,5,69,198,5,5,57,209,5,5,111,215,5,5,16,172,5,5,131,206,5,5,12,188,5,5,71,245,5,5,87,234,5,5,170,207,5,5,159,234,5,5,223,215,5,5,32,180,5,5,33,229,5,5,230,167,5,5,150,240,5,5,231,225,5,5,64,215,5,5,58,183,5,5,52,176,5,5,33,180,5,5,136,206,5,5,103,237,5,5,148,198,5,5,63,204,5,5,144,246,5,5,119,217,5,5,2,179,5,5,249,210,5,5,243,210,5,5,90,207,5,5,49,234,5,5,204,195,5,5,92,214,5,5,128,244,5,5,155,238,5,5,81,170,5,5,151,240,5,5,14,189,5,5,236,235,5,5,71,208,5,5,236,199,5,5,176,170,5,5,73,186,5,5,74,238,5,5,15,189,5,5,152,242,5,5,68,196,5,5,234,213,5,5,116,223,5,5,41,248,5,5,250,243,5,5,72,175,5,5,15,171,5,5,76,238,5,5,239,170,5,5,148,178,5,5,225,208,5,5,92,169,5,5,33,186,5,5,177,170,5,5,42,224,5,5,32,219,5,5,174,184,5,5,175,184,5,5,150,242,5,5,76,244,5,5,124,163,5,5,39,219,5,5,40,197,5,5,18,197,5,5,91,242,5,5,55,174,5,5,70,188,5,5,139,171,5,5,134,225,5,5,152,200,5,5,160,224,5,5,17,171,5,5,78,186,5,5,241,199,5,5,147,217,5,5,169,230,5,5,162,224,5,5,232,202,5,5,104,207,5,5,160,200,5,5,209,227,5,5,205,240,5,5,212,188,5,5,118,183,5,5,57,171,5,5,120,180,5,5,203,207,5,5,210,192,5,5,211,192,5,5,191,222,5,5,130,191,5,5,198,248,5,5,82,245,5,5,188,204,5,5,181,216,5,5,128,229,5,5,48,231,5,5,106,213,5,5,86,225,5,5,183,245,5,5,209,203,5,5,136,191,5,5,196,204,5,5,26,211,5,5,186,199,5,5,27,211,5,5,134,220,5,5,15,179,5,5,124,208,5,5,48,203,5,5,33,177,5,5,54,232,5,5,51,203,5,5,135,202,5,5,84,218,5,5,167,195,5,5,81,202,5,5,124,196,5,5,242,191,5,5,134,176,5,5,143,220,5,5,41,211,5,5,150,191,5,5,45,205,5,5,176,203,5,5,115,248,5,5,46,205,5,5,245,242,5,5,43,190,5,5,241,198,5,5,147,220,5,5,146,213,5,5,151,213,5,5,246,225,5,5,112,175,5,5,225,211,5,5,53,199,5,5,54,199,5,5,55,199,5,5,189,237,5,5,38,227,5,5,210,180,5,5,47,170,5,5,66,199,5,5,38,187,5,5,160,173,5,5,220,236,5,5,215,165,5,5,165,177,5,5,84,208,5,5,245,228,5,5,155,239,5,5,225,239,5,5,90,228,5,5,73,199,5,5,160,172,5,5,229,242,5,5,14,228,5,5,35,228,5,5,7,234,5,5,59,219,5,5,246,209,5,5,16,185,5,5,214,168,5,5,0,132,5,5,46,175,5,5,172,230,5,5,40,173,5,5,226,230,5,5,44,232,5,5,252,181,5,5,42,221,5,5,93,177,5,5,226,195,5,5,139,247,5,5,3,196,5,5,133,192,5,5,135,228,5,5,125,223,5,5,253,181,5,5,32,193,5,5,146,195,5,5,85,245,5,5,66,176,5,5,55,210,5,5,99,218,5,5,115,230,5,5,52,196,5,5,160,170,5,5,30,236,5,5,14,244,5,5,49,184,5,5,100,164,5,5,181,223,5,5,26,230,5,5,173,212,5,5,117,210,5,5,67,164,5,5,42,203,5,5,161,247,5,5,66,174,5,5,140,238,5,5,174,212,5,5,198,167,5,5,148,218,5,5,182,218,5,5,193,237,5,5,67,176,5,5,220,219,5,5,89,225,5,5,156,202,5,5,212,242,5,5,10,197,5,5,231,165,5,5,223,223,5,5,192,206,5,5,50,247,5,5,247,198,5,5,202,248,5,5,122,207,5,5,11,163,5,5,14,211,5,5,4,176,5,5,104,221,5,5,161,249,5,5,190,246,5,5,3,183,5,5,17,240,5,5,61,229,5,5,254,221,5,5,39,167,5,5,212,179,5,5,189,175,5,5,233,195,5,5,127,219,5,5,40,167,5,5,151,174,5,5,9,167,5,5,0,156,5,5,130,238,5,5,235,231,5,5,110,182,5,5,133,195,5,5,189,190,5,5,73,211,5,5,208,249,5,5,60,199,5,5,42,164,5,5,59,166,5,5,154,218,5,5,136,167,5,5,228,179,5,5,126,166,5,5,201,167,5,5,109,179,5,5,212,241,5,5,210,220,5,5,61,219,5,5,3,244,5,5,43,164,5,5,77,197,5,5,182,183,5,5,84,241,5,5,205,176,5,5,86,223,5,5,202,167,5,5,5,203,5,5,91,169,5,5,251,169,5,5,167,224,5,5,225,240,5,5,9,224,5,5,161,211,5,5,253,171,5,5,205,225,5,5,6,203,5,5,71,174,5,5,94,219,5,5,192,221,5,5,228,175,5,5,206,223,5,5,66,172,5,5,61,184,5,5,227,184,5,5,156,174,5,5,10,167,5,5,104,164,5,5,208,166,5,5,216,188,5,5,223,182,5,5,197,193,5,5,118,210,5,5,48,207,5,5,53,179,5,5,0,159,5,5,5,182,5,5,6,182,5,5,131,238,5,5,195,206,5,5,6,222,5,5,80,167,5,5,209,219,5,5,170,163,5,5,168,163,5,5,206,176,5,5,183,183,5,5,49,207,5,5,53,196,5,5,29,191,5,5,13,205,5,5,75,209,5,5,211,249,5,5,18,186,5,5,110,184,5,5,38,163,5,5,237,231,5,5,69,210,5,5,163,198,5,5,54,196,5,5,50,227,5,5,143,203,5,5,106,221,5,5,100,184,5,5,219,194,5,5,221,194,5,5,59,212,5,5,222,229,5,5,31,235,5,5,212,231,5,5,120,195,5,5,148,239,5,5,4,214,5,5,235,233,5,5,3,200,5,5,129,168,5,5,79,222,5,5,238,226,5,5,224,182,5,5,152,163,5,5,36,223,5,5,130,193,5,5,197,218,5,5,55,196,5,5,81,178,5,5,82,178,5,5,159,218,5,5,102,209,5,5,239,238,5,5,209,184,5,5,238,220,5,5,163,191,5,5,85,204,5,5,47,196,5,5,10,179,5,5,225,182,5,5,15,181,5,5,182,187,5,5,63,219,5,5,61,191,5,5,25,177,5,5,137,245,5,5,130,207,5,5,218,187,5,5,21,207,5,5,207,218,5,5,160,190,5,5,30,241,5,5,168,245,5,5,54,179,5,5,5,214,5,5,48,183,5,5,82,176,5,5,31,204,5,5,71,221,5,5,130,202,5,5,4,200,5,5,88,215,5,5,184,248,5,5,26,238,5,5,8,182,5,5,155,184,5,5,197,234,5,5,78,163,5,5,233,192,5,5,204,180,5,5,241,220,5,5,101,225,5,5,198,235,5,5,199,235,5,5,245,195,5,5,238,169,5,5,41,191,5,5,200,206,5,5,153,167,5,5,18,205,5,5,58,240,5,5,168,181,5,5,56,228,5,5,231,230,5,5,204,246,5,5,8,214,5,5,130,223,5,5,237,173,5,5,35,204,5,5,58,245,5,5,46,208,5,5,164,204,5,5,209,182,5,5,226,196,5,5,192,199,5,5,203,181,5,5,9,222,5,5,41,167,5,5,63,191,5,5,0,143,5,5,123,198,5,5,228,227,5,5,224,183,5,5,216,207,5,5,25,232,5,5,139,229,5,5,62,241,5,5,138,207,5,5,114,166,5,5,194,246,5,5,136,166,5,5,84,233,5,5,59,240,5,5,186,219,5,5,64,191,5,5,40,236,5,5,9,182,5,5,165,185,5,5,78,237,5,5,143,164,5,5,19,205,5,5,214,200,5,5,139,175,5,5,167,246,5,5,236,246,5,5,226,210,5,5,187,167,5,5,184,227,5,5,194,187,5,5,235,171,5,5,165,170,5,5,166,174,5,5,160,163,5,5,66,207,5,5,135,175,5,5,185,245,5,5,35,238,5,5,234,207,5,5,216,248,5,5,127,233,5,5,168,224,5,5,31,226,5,5,154,203,5,5,187,181,5,5,131,164,5,5,242,182,5,5,73,184,5,5,232,230,5,5,243,232,5,5,194,245,5,5,200,212,5,5,50,215,5,5,105,225,5,5,126,177,5,5,31,236,5,5,190,190,5,5,137,211,5,5,194,192,5,5,56,178,5,5,24,228,5,5,102,177,5,5,42,167,5,5,214,176,5,5,37,221,5,5,22,201,5,5,131,202,5,5,152,179,5,5,73,209,5,5,186,208,5,5,211,166,5,5,74,229,5,5,80,210,5,5,109,189,5,5,54,241,5,5,35,241,5,5,142,207,5,5,80,221,5,5,61,189,5,5,132,193,5,5,72,240,5,5,196,199,5,5,93,228,5,5,107,221,5,5,216,237,5,5,21,234,5,5,40,180,5,5,194,223,5,5,56,166,5,5,100,203,5,5,223,180,5,5,65,197,5,5,73,182,5,5,224,242,5,5,198,234,5,5,11,220,5,5,209,206,5,5,119,181,5,5,125,210,5,5,206,195,5,5,153,163,5,5,160,166,5,5,101,203,5,5,230,189,5,5,195,193,5,5,57,172,5,5,251,192,5,5,221,218,5,5,11,176,5,5,29,171,5,5,94,234,5,5,17,236,5,5,101,194,5,5,191,167,5,5,100,249,5,5,164,184,5,5,27,205,5,5,87,221,5,5,132,204,5,5,28,205,5,5,197,247,5,5,182,242,5,5,119,196,5,5,112,183,5,5,116,201,5,5,36,230,5,5,39,168,5,5,231,245,5,5,255,235,5,5,118,232,5,5,105,217,5,5,149,171,5,5,168,180,5,5,225,183,5,5,132,223,5,5,74,227,5,5,130,233,5,5,249,220,5,5,103,239,5,5,232,217,5,5,242,249,5,5,197,165,5,5,38,244,5,5,225,200,5,5,230,242,5,5,134,232,5,5,233,238,5,5,196,216,5,5,38,241,5,5,198,245,5,5,34,195,5,5,19,226,5,5,60,202,5,5,226,180,5,5,236,184,5,5,242,184,5,5,197,224,5,5,78,195,5,5,133,204,5,5,135,204,5,5,210,181,5,5,108,203,5,5,15,200,5,5,176,192,5,5,180,226,5,5,148,214,5,5,39,177,5,5,244,213,5,5,45,249,5,5,128,210,5,5,64,241,5,5,133,223,5,5,69,219,5,5,187,163,5,5,170,241,5,5,232,245,5,5,206,164,5,5,66,186,5,5,65,247,5,5,17,211,5,5,69,224,5,5,146,191,5,5,254,185,5,5,131,233,5,5,218,192,5,5,42,204,5,5,92,192,5,5,20,211,5,5,67,231,5,5,24,212,5,5,11,224,5,5,20,226,5,5,117,220,5,5,82,237,5,5,71,237,5,5,97,163,5,5,221,225,5,5,68,231,5,5,166,164,5,5,172,234,5,5,20,236,5,5,13,195,5,5,178,241,5,5,141,175,5,5,85,218,5,5,153,184,5,5,231,184,5,5,217,204,5,5,45,236,5,5,46,210,5,5,26,192,5,5,153,215,5,5,186,229,5,5,117,236,5,5,227,205,5,5,132,171,5,5,235,237,5,5,36,226,5,5,165,184,5,5,61,228,5,5,62,179,5,5,98,219,5,5,77,180,5,5,63,167,5,5,73,164,5,5,10,175,5,5,90,187,5,5,157,179,5,5,11,199,5,5,249,218,5,5,145,245,5,5,116,199,5,5,92,210,5,5,66,247,5,5,75,211,5,5,87,181,5,5,180,220,5,5,236,237,5,5,20,214,5,5,168,184,5,5,74,212,5,5,150,223,5,5,116,219,5,5,181,191,5,5,63,245,5,5,8,239,5,5,198,227,5,5,227,195,5,5,199,227,5,5,84,229,5,5,164,163,5,5,179,241,5,5,36,166,5,5,46,236,5,5,234,179,5,5,213,235,5,5,137,224,5,5,210,236,5,5,137,204,5,5,157,226,5,5,126,226,5,5,196,193,5,5,73,166,5,5,245,173,5,5,197,229,5,5,2,177,5,5,49,209,5,5,50,236,5,5,189,219,5,5,174,188,5,5,68,225,5,5,19,223,5,5,109,194,5,5,38,190,5,5,145,190,5,5,3,186,5,5,134,233,5,5,239,191,5,5,81,199,5,5,73,219,5,5,136,226,5,5,126,180,5,5,146,199,5,5,218,234,5,5,9,183,5,5,72,169,5,5,17,206,5,5,231,193,5,5,212,244,5,5,125,218,5,5,112,238,5,5,16,219,5,5,247,183,5,5,141,170,5,5,159,224,5,5,139,195,5,5,150,225,5,5,202,227,5,5,114,182,5,5,52,204,5,5,66,169,5,5,73,169,5,5,150,219,5,5,97,234,5,5,251,195,5,5,151,165,5,5,63,206,5,5,142,243,5,5,99,192,5,5,93,210,5,5,24,188,5,5,93,202,5,5,111,244,5,5,110,207,5,5,61,168,5,5,59,168,5,5,166,185,5,5,191,178,5,5,220,215,5,5,23,231,5,5,49,194,5,5,136,232,5,5,130,240,5,5,112,215,5,5,71,225,5,5,72,225,5,5,200,235,5,5,56,183,5,5,187,201,5,5,134,235,5,5,143,198,5,5,183,194,5,5,12,175,5,5,81,233,5,5,79,184,5,5,11,189,5,5,110,221,5,5,27,200,5,5,190,222,5,5,60,204,5,5,140,202,5,5,31,234,5,5,14,176,5,5,15,176,5,5,198,223,5,5,58,163,5,5,184,223,5,5,111,207,5,5,177,174,5,5,221,187,5,5,137,164,5,5,178,174,5,5,201,209,5,5,59,163,5,5,174,234,5,5,51,222,5,5,145,222,5,5,92,246,5,5,217,168,5,5,21,211,5,5,188,178,5,5,80,184,5,5,121,199,5,5,28,214,5,5,182,189,5,5,61,204,5,5,5,235,5,5,74,179,5,5,149,198,5,5,202,209,5,5,182,245,5,5,51,205,5,5,145,192,5,5,226,249,5,5,92,185,5,5,136,183,5,5,241,189,5,5,107,228,5,5,52,222,5,5,5,232,5,5,219,168,5,5,12,226,5,5,5,202,5,5,85,176,5,5,237,235,5,5,32,234,5,5,121,211,5,5,120,211,5,5,239,200,5,5,121,203,5,5,245,210,5,5,76,196,5,5,249,175,5,5,34,214,5,5,243,194,5,5,31,168,5,5,154,163,5,5,156,238,5,5,91,207,5,5,111,241,5,5,18,238,5,5,30,171,5,5,70,236,5,5,44,171,5,5,141,202,5,5,127,179,5,5,61,222,5,5,151,175,5,5,161,216,5,5,76,186,5,5,225,233,5,5,33,207,5,5,68,241,5,5,216,230,5,5,126,241,5,5,121,241,5,5,194,183,5,5,207,245,5,5,106,202,5,5,40,166,5,5,125,184,5,5,155,191,5,5,40,219,5,5,26,219,5,5,69,196,5,5,80,169,5,5,139,205,5,5,38,214,5,5,209,187,5,5,237,179,5,5,165,163,5,5,72,236,5,5,246,189,5,5,116,191,5,5,28,230,5,5,157,180,5,5,56,167,5,5,77,244,5,5,155,185,5,5,226,233,5,5,96,229,5,5,138,232,5,5,85,184,5,5,168,215,5,5,77,208,5,5,172,199,5,5,123,187,5,5,251,184,5,5,207,200,5,5,194,244,5,5,204,189,5,5,36,191,5,5,101,210,5,5,108,210,5,5,139,232,5,5,106,210,5,5,44,186,5,5,75,215,5,5,138,244,5,5,230,169,5,5,165,230,5,5,77,224,5,5,235,244,5,5,9,235,5,5,40,214,5,5,210,227,5,5,109,190,5,5,79,208,5,5,58,171,5,5,237,186,5,5,141,232,5,5,172,190,5,5,238,179,5,5,65,233,5,5,153,187,5,5,142,177,5,5,150,245,5,5,88,176,5,5,79,204,5,5,204,207,5,5,83,186,5,5,163,187,5,5,138,183,5,5,55,218,5,5,29,194,5,5,8,194,5,5,128,208,5,5,243,217,5,5,212,168,5,5,213,168,5,5,13,228,5,5,118,195,5,5,9,242,5,5,229,191,5,5,215,239,5,5,191,194,5,5,104,192,5,5,68,164,5,5,181,173,5,5,115,221,5,5,193,166,5,5,124,177,5,5,147,195,5,5,2,172,5,5,96,245,5,5,80,193,5,5,105,197,5,5,237,233,5,5,216,214,5,5,75,171,5,5,212,225,5,5,166,191,5,5,169,176,5,5,7,217,5,5,91,204,5,5,5,172,5,5,188,224,5,5,168,204,5,5,155,228,5,5,64,178,5,5,20,248,5,5,93,223,5,5,102,238,5,5,171,163,5,5,8,217,5,5,92,204,5,5,65,178,5,5,170,188,5,5,239,183,5,5,22,165,5,5,31,225,5,5,151,177,5,5,57,178,5,5,88,240,5,5,140,192,5,5,104,236,5,5,45,195,5,5,41,243,5,5,184,178,5,5,226,201,5,5,220,179,5,5,222,214,5,5,68,178,5,5,46,204,5,5,169,206,5,5,41,244,5,5,203,213,5,5,238,171,5,5,147,229,5,5,39,238,5,5,135,209,5,5,40,238,5,5,111,221,5,5,183,176,5,5,255,220,5,5,48,174,5,5,156,229,5,5,237,187,5,5,181,211,5,5,51,218,5,5,239,239,5,5,64,204,5,5,132,228,5,5,65,204,5,5,62,222,5,5,165,240,5,5,178,188,5,5,83,165,5,5,223,186,5,5,231,214,5,5,232,214,5,5,19,247,5,5,56,217,5,5,163,208,5,5,175,208,5,5,187,219,5,5,13,166,5,5,143,207,5,5,188,219,5,5,109,186,5,5,185,172,5,5,72,164,5,5,74,164,5,5,30,186,5,5,43,248,5,5,49,186,5,5,113,246,5,5,197,175,5,5,11,229,5,5,21,188,5,5,72,203,5,5,2,199,5,5,13,214,5,5,78,203,5,5,23,248,5,5,181,220,5,5,99,204,5,5,204,245,5,5,52,181,5,5,215,175,5,5,161,205,5,5,81,223,5,5,163,243,5,5,157,174,5,5,28,211,5,5,107,220,5,5,200,211,5,5,26,222,5,5,112,220,5,5,165,178,5,5,201,234,5,5,115,235,5,5,4,216,5,5,40,222,5,5,49,222,5,5,241,210,5,5,238,188,5,5,63,222,5,5,232,225,5,5,179,178,5,5,205,221,5,5,146,173,5,5,125,224,5,5,173,198,5,5,166,247,5,5,191,226,5,5,250,166,5,5,37,242,5,5,253,169,5,5,117,167,5,5,176,208,5,5,78,220,5,5,25,170,5,5,65,191,5,5,251,166,5,5,213,167,5,5,38,188,5,5,33,174,5,5,175,173,5,5,137,217,5,5,88,206,5,5,89,206,5,5,187,183,5,5,222,232,5,5,234,219,5,5,231,239,5,5,45,188,5,5,234,227,5,5,103,205,5,5,207,247,5,5,235,239,5,5,209,208,5,5,27,219,5,5,246,172,5,5,72,168,5,5,248,172,5,5,98,220,5,5,97,196,5,5,50,237,5,5,248,247,5,5,12,245,5,5,148,202,5,5,164,202,5,5,184,202,5,5,202,199,5,5,8,230,5,5,20,176,5,5,155,204,5,5,144,218,5,5,68,232,5,5,252,213,5,5,11,181,5,5,211,217,5,5,241,216,5,5,118,191,5,5,233,184,5,5,152,192,5,5,118,198,5,5,107,179,5,5,224,176,5,5,182,216,5,5,123,224,5,5,230,226,5,5,24,197,5,5,16,244,5,5,235,226,5,5,108,247,5,5,227,171,5,5,228,171,5,5,154,182,5,5,77,226,5,5,51,245,5,5,133,249,5,5,203,163,5,5,15,239,5,5,23,232,5,5,86,164,5,5,138,203,5,5,197,196,5,5,13,229,5,5,67,199,5,5,170,173,5,5,244,197,5,5,32,194,5,5,238,224,5,5,94,217,5,5,27,172,5,5,245,200,5,5,73,173,5,5,255,210,5,5,221,198,5,5,29,240,5,5,176,212,5,5,246,215,5,5,161,242,5,5,24,232,5,5,171,173,5,5,243,179,5,5,207,228,5,5,52,207,5,5,29,244,5,5,129,232,5,5,63,166,5,5,119,216,5,5,223,244,5,5,160,217,5,5,194,166,5,5,213,220,5,5,95,189,5,5,79,226,5,5,245,197,5,5,254,169,5,5,241,232,5,5,105,169,5,5,240,165,5,5,252,216,5,5,246,200,5,5,210,219,5,5,141,233,5,5,51,227,5,5,52,227,5,5,59,248,5,5,200,172,5,5,26,177,5,5,51,170,5,5,203,183,5,5,28,225,5,5,253,246,5,5,228,178,5,5,45,238,5,5,64,166,5,5,16,239,5,5,50,220,5,5,229,190,5,5,140,215,5,5,28,197,5,5,44,181,5,5,237,223,5,5,244,226,5,5,88,201,5,5,89,201,5,5,149,217,5,5,115,196,5,5,188,216,5,5,36,204,5,5,216,205,5,5,208,218,5,5,217,205,5,5,246,228,5,5,170,182,5,5,181,201,5,5,32,243,5,5,219,191,5,5,80,216,5,5,223,227,5,5,202,214,5,5,89,241,5,5,111,249,5,5,7,200,5,5,86,198,5,5,127,198,5,5,53,208,5,5,209,246,5,5,199,215,5,5,202,196,5,5,56,220,5,5,201,212,5,5,102,225,5,5,42,229,5,5,103,166,5,5,139,219,5,5,140,219,5,5,103,245,5,5,128,198,5,5,81,200,5,5,253,197,5,5,189,224,5,5,210,246,5,5,105,181,5,5,41,222,5,5,40,233,5,5,37,220,5,5,249,168,5,5,127,206,5,5,215,212,5,5,80,228,5,5,188,183,5,5,216,212,5,5,114,211,5,5,14,209,5,5,93,206,5,5,16,194,5,5,108,221,5,5,89,240,5,5,241,218,5,5,248,238,5,5,214,246,5,5,226,188,5,5,74,189,5,5,244,224,5,5,95,247,5,5,203,214,5,5,145,232,5,5,227,172,5,5,106,217,5,5,248,192,5,5,177,239,5,5,204,213,5,5,113,249,5,5,19,200,5,5,234,216,5,5,12,172,5,5,125,196,5,5,55,241,5,5,226,244,5,5,111,229,5,5,76,246,5,5,109,229,5,5,117,211,5,5,71,170,5,5,106,183,5,5,37,205,5,5,182,184,5,5,249,238,5,5,42,244,5,5,83,226,5,5,182,241,5,5,231,236,5,5,235,205,5,5,40,172,5,5,53,204,5,5,99,195,5,5,28,192,5,5,127,247,5,5,46,225,5,5,50,209,5,5,8,198,5,5,56,243,5,5,95,187,5,5,68,238,5,5,199,202,5,5,212,202,5,5,174,170,5,5,147,232,5,5,86,214,5,5,9,198,5,5,104,172,5,5,133,169,5,5,53,235,5,5,216,183,5,5,22,221,5,5,107,200,5,5,54,164,5,5,144,198,5,5,142,217,5,5,61,226,5,5,240,187,5,5,65,215,5,5,53,176,5,5,132,206,5,5,62,168,5,5,239,188,5,5,134,182,5,5,90,213,5,5,152,240,5,5,218,202,5,5,103,201,5,5,110,175,5,5,112,241,5,5,113,241,5,5,104,187,5,5,7,180,5,5,196,182,5,5,207,214,5,5,216,172,5,5,197,228,5,5,244,219,5,5,13,198,5,5,166,240,5,5,86,216,5,5,132,216,5,5,172,228,5,5,69,204,5,5,60,164,5,5,182,206,5,5,71,243,5,5,77,238,5,5,122,241,5,5,202,230,5,5,116,229,5,5,240,170,5,5,200,217,5,5,251,241,5,5,12,169,5,5,124,187,5,5,209,224,5,5,41,197,5,5,62,177,5,5,15,188,5,5,82,243,5,5,220,199,5,5,209,189,5,5,33,213,5,5,92,231,5,5,3,191,5,5,137,183,5,5,130,190,5,5,173,190,5,5,226,227,5,5,121,180,5,5,16,243,5,5,184,221,5,5,188,248,5,5,189,248,5,5,150,211,5,5,80,241,5,5,246,192,5,5,82,241,5,5,222,198,5,5,94,197,5,5,71,229,5,5,35,234,5,5,34,234,5,5,56,229,5,5,136,170,5,5,133,234,5,5,136,234,5,5,227,180,5,5,39,233,5,5,85,234,5,5,17,217,5,5,94,200,5,5,217,243,5,5,111,209,5,5,88,173,5,5,18,168,5,5,197,248,5,5,68,242,5,5,26,231,5,5,150,167,5,5,96,173,5,5,72,174,5,5,96,189,5,5,180,172,5,5,201,211,5,5,215,180,5,5,218,184,5,5,45,181,5,5,181,229,5,5,242,220,5,5,130,186,5,5,129,186,5,5,25,233,5,5,33,172,5,5,34,201,5,5,111,247,5,5,131,182,5,5,240,223,5,5,227,201,5,5,129,208,5,5,107,244,5,5,98,233,5,5,112,247,5,5,197,182,5,5,138,186,5,5,223,185,5,5,243,170,5,5,4,191,5,5,80,172,5,5,132,176,5,5,116,246,5,5,94,169,5,5,122,164,5,5,81,219,5,5,126,229,5,5,127,229,5,5,82,172,5,5,130,221,5,5,88,230,5,5,0,133,5,5,245,168,5,5,76,178,5,5,77,178,5,5,129,175,5,5,28,187,5,5,252,193,5,5,203,201,5,5,122,204,5,5,224,164,5,5,8,215,5,5,87,225,5,5,208,233,5,5,119,227,5,5,227,230,5,5,219,231,5,5,53,212,5,5,60,210,5,5,162,247,5,5,105,192,5,5,248,244,5,5,126,223,5,5,42,228,5,5,213,217,5,5,8,173,5,5,89,245,5,5,168,231,5,5,249,186,5,5,163,216,5,5,9,234,5,5,23,235,5,5,120,230,5,5,139,165,5,5,2,182,5,5,225,176,5,5,44,221,5,5,187,170,5,5,82,223,5,5,18,240,5,5,236,191,5,5,192,194,5,5,32,178,5,5,167,186,5,5,2,209,5,5,129,229,5,5,181,192,5,5,20,181,5,5,73,206,5,5,130,228,5,5,251,246,5,5,34,185,5,5,186,204,5,5,188,170,5,5,17,244,5,5,43,169,5,5,155,171,5,5,165,235,5,5,33,249,5,5,174,198,5,5,195,172,5,5,182,163,5,5,139,203,5,5,227,178,5,5,24,192,5,5,213,241,5,5,43,215,5,5,187,225,5,5,78,226,5,5,158,166,5,5,65,229,5,5,135,199,5,5,247,215,5,5,55,224,5,5,213,221,5,5,56,224,5,5,89,237,5,5,87,164,5,5,90,237,5,5,48,202,5,5,191,245,5,5,211,205,5,5,80,192,5,5,209,201,5,5,21,170,5,5,238,167,5,5,4,165,5,5,91,247,5,5,19,239,5,5,150,173,5,5,97,173,5,5,30,240,5,5,73,174,5,5,96,183,5,5,177,212,5,5,68,199,5,5,226,240,5,5,191,175,5,5,13,216,5,5,211,220,5,5,143,241,5,5,218,188,5,5,8,231,5,5,182,237,5,5,194,169,5,5,227,219,5,5,176,193,5,5,62,218,5,5,41,235,5,5,179,249,5,5,53,233,5,5,192,175,5,5,66,229,5,5,69,232,5,5,119,178,5,5,39,187,5,5,81,190,5,5,14,205,5,5,90,225,5,5,130,237,5,5,29,211,5,5,194,173,5,5,97,183,5,5,123,214,5,5,45,215,5,5,6,196,5,5,175,168,5,5,111,179,5,5,75,213,5,5,160,218,5,5,198,193,5,5,126,214,5,5,88,203,5,5,9,203,5,5,70,192,5,5,251,163,5,5,106,169,5,5,46,240,5,5,87,241,5,5,90,241,5,5,53,227,5,5,230,183,5,5,231,164,5,5,101,178,5,5,149,239,5,5,97,189,5,5,65,166,5,5,185,183,5,5,228,184,5,5,95,197,5,5,106,164,5,5,12,173,5,5,204,222,5,5,89,175,5,5,170,233,5,5,62,244,5,5,26,174,5,5,158,163,5,5,101,170,5,5,115,192,5,5,117,208,5,5,77,230,5,5,34,230,5,5,60,170,5,5,246,227,5,5,92,237,5,5,173,219,5,5,188,213,5,5,105,242,5,5,145,228,5,5,34,194,5,5,64,182,5,5,109,219,5,5,100,183,5,5,112,184,5,5,3,250,5,5,209,176,5,5,198,218,5,5,64,219,5,5,144,223,5,5,27,176,5,5,6,193,5,5,130,166,5,5,161,204,5,5,98,238,5,5,82,174,5,5,16,205,5,5,0,139,5,5,102,178,5,5,253,194,5,5,23,183,5,5,220,221,5,5,8,165,5,5,84,188,5,5,210,223,5,5,47,228,5,5,172,235,5,5,208,225,5,5,230,166,5,5,43,227,5,5,199,193,5,5,65,219,5,5,216,241,5,5,54,225,5,5,162,204,5,5,54,227,5,5,68,218,5,5,85,188,5,5,196,169,5,5,170,187,5,5,50,231,5,5,110,219,5,5,95,232,5,5,140,165,5,5,135,220,5,5,199,218,5,5,230,190,5,5,11,179,5,5,190,189,5,5,16,229,5,5,47,187,5,5,19,186,5,5,254,249,5,5,135,229,5,5,222,217,5,5,224,229,5,5,38,209,5,5,167,220,5,5,120,208,5,5,57,187,5,5,156,239,5,5,70,216,5,5,243,220,5,5,58,187,5,5,224,235,5,5,106,193,5,5,162,195,5,5,118,164,5,5,98,230,5,5,217,214,5,5,159,163,5,5,99,230,5,5,88,166,5,5,112,231,5,5,20,224,5,5,60,240,5,5,215,233,5,5,230,216,5,5,136,221,5,5,87,205,5,5,36,233,5,5,33,239,5,5,57,239,5,5,76,242,5,5,128,172,5,5,223,194,5,5,122,195,5,5,199,185,5,5,79,220,5,5,189,187,5,5,120,243,5,5,82,244,5,5,106,197,5,5,169,192,5,5,61,240,5,5,58,227,5,5,168,191,5,5,33,232,5,5,161,190,5,5,94,174,5,5,147,203,5,5,201,198,5,5,37,194,5,5,178,179,5,5,163,194,5,5,13,246,5,5,3,197,5,5,185,230,5,5,241,238,5,5,201,238,5,5,245,207,5,5,157,239,5,5,10,222,5,5,10,196,5,5,209,218,5,5,135,212,5,5,171,182,5,5,115,236,5,5,114,236,5,5,172,200,5,5,239,206,5,5,165,204,5,5,83,217,5,5,106,178,5,5,90,222,5,5,180,247,5,5,131,232,192,0,0,0,5,5,95,244,5,5,235,203,5,5,114,188,5,5,136,220,5,5,229,240,5,5,19,230,5,5,168,220,5,5,98,176,5,5,121,208,5,5,159,209,5,5,138,199,5,5,38,194,5,5,37,206,5,5,173,222,5,5,223,217,5,5,203,236,5,5,130,227,5,5,174,220,5,5,185,163,5,5,133,181,5,5,56,196,5,5,158,206,5,5,207,166,5,5,132,164,5,5,102,174,5,5,250,230,5,5,211,182,5,5,144,207,5,5,202,212,5,5,110,186,5,5,87,188,5,5,205,173,5,5,125,208,5,5,54,247,5,5,24,208,5,5,138,192,5,5,150,236,5,5,43,189,5,5,15,210,5,5,170,181,5,5,78,242,5,5,201,169,5,5,145,164,5,5,42,191,5,5,140,167,5,5,175,222,5,5,235,176,5,5,98,217,5,5,206,181,5,5,82,232,5,5,99,238,5,5,86,193,5,5,23,165,5,5,171,176,5,5,87,198,5,5,180,231,5,5,80,218,5,5,134,230,5,5,218,163,5,5,238,192,5,5,24,205,5,5,219,200,5,5,211,246,5,5,156,184,5,5,19,203,5,5,25,181,5,5,185,202,5,5,137,214,5,5,67,191,5,5,6,201,5,5,230,227,5,5,109,234,5,5,103,173,5,5,97,237,5,5,22,171,5,5,24,245,5,5,173,186,5,5,174,186,5,5,203,175,5,5,3,211,5,5,208,244,5,5,204,236,5,5,210,206,5,5,153,180,5,5,67,214,5,5,229,196,5,5,38,222,5,5,75,229,5,5,70,224,5,5,57,173,5,5,66,246,5,5,159,206,5,5,175,186,5,5,11,166,5,5,240,213,5,5,150,172,5,5,181,179,5,5,222,218,5,5,45,185,5,5,120,188,5,5,25,205,5,5,11,222,5,5,110,189,5,5,182,186,5,5,44,209,5,5,94,166,5,5,206,190,5,5,46,235,5,5,175,210,5,5,179,171,5,5,195,208,5,5,196,208,5,5,27,234,5,5,147,194,5,5,80,224,5,5,61,175,5,5,186,172,5,5,213,166,5,5,162,164,5,5,163,164,5,5,252,200,5,5,95,233,5,5,113,225,5,5,71,232,5,5,75,202,5,5,81,187,5,5,158,167,5,5,88,248,5,5,89,248,5,5,88,193,5,5,58,208,5,5,20,179,5,5,73,180,5,5,196,192,5,5,96,247,5,5,245,176,5,5,202,234,5,5,16,173,5,5,61,225,5,5,140,220,5,5,15,209,5,5,7,249,5,5,232,242,5,5,90,248,5,5,48,212,5,5,90,240,5,5,110,236,5,5,103,230,5,5,32,226,5,5,152,186,5,5,130,208,5,5,13,222,5,5,115,174,5,5,9,195,5,5,50,185,5,5,101,232,5,5,102,232,5,5,235,219,5,5,71,194,5,5,84,173,5,5,104,173,5,5,160,228,5,5,115,211,5,5,163,183,5,5,215,246,5,5,181,193,5,5,20,190,5,5,219,197,5,5,109,203,5,5,232,239,5,5,24,224,5,5,24,207,5,5,245,206,5,5,114,225,5,5,245,232,5,5,45,189,5,5,35,211,5,5,114,218,5,5,33,226,5,5,233,240,5,5,213,206,5,5,188,163,5,5,248,203,5,5,42,222,5,5,125,231,5,5,14,166,5,5,159,167,5,5,219,177,5,5,190,225,5,5,50,225,5,5,180,170,5,5,159,199,5,5,29,205,5,5,226,193,5,5,128,213,5,5,244,177,5,5,176,210,5,5,179,175,5,5,39,194,5,5,186,177,5,5,92,190,5,5,82,218,5,5,113,212,5,5,55,172,5,5,253,174,5,5,252,192,5,5,192,167,5,5,114,220,5,5,216,240,5,5,57,182,5,5,111,236,5,5,85,178,5,5,56,241,5,5,223,174,5,5,77,246,5,5,239,245,5,5,168,178,5,5,79,203,5,5,99,233,5,5,218,204,5,5,178,239,5,5,217,228,5,5,52,213,5,5,49,243,5,5,238,242,5,5,59,226,5,5,219,204,5,5,84,226,5,5,27,248,5,5,123,197,5,5,71,219,5,5,202,245,5,5,110,168,5,5,210,164,5,5,148,241,5,5,203,199,5,5,202,216,5,5,240,230,5,5,43,244,5,5,243,184,5,5,183,242,5,5,127,164,5,5,20,200,5,5,126,196,5,5,225,203,5,5,127,196,5,5,119,235,5,5,210,173,5,5,246,213,5,5,58,182,5,5,223,218,5,5,104,205,5,5,96,172,5,5,72,170,5,5,192,225,5,5,76,199,5,5,12,199,5,5,197,188,5,5,153,186,5,5,152,181,5,5,107,183,5,5,209,247,5,5,54,242,5,5,213,169,5,5,116,237,5,5,171,217,5,5,172,217,5,5,70,244,5,5,182,220,5,5,111,168,5,5,99,241,5,5,82,202,5,5,166,203,5,5,100,241,5,5,191,225,5,5,214,178,5,5,198,247,5,5,119,232,5,5,240,245,5,5,214,169,5,5,229,180,5,5,83,202,5,5,167,203,5,5,95,195,5,5,225,209,5,5,170,244,5,5,53,230,5,5,51,201,5,5,233,185,5,5,24,185,5,5,114,212,5,5,117,216,5,5,152,168,5,5,113,227,5,5,243,191,5,5,250,179,5,5,68,186,5,5,3,247,5,5,210,247,5,5,226,224,5,5,49,191,5,5,25,207,5,5,226,228,5,5,238,225,5,5,57,168,5,5,82,214,5,5,82,203,5,5,122,240,5,5,121,220,5,5,130,174,5,5,169,184,5,5,108,171,5,5,118,186,5,5,71,231,5,5,60,193,5,5,114,205,5,5,26,207,5,5,39,179,5,5,226,241,5,5,188,220,5,5,154,164,5,5,140,227,5,5,60,249,5,5,187,231,5,5,41,172,5,5,172,236,5,5,92,203,5,5,183,241,5,5,177,203,5,5,101,201,5,5,163,192,5,5,187,172,5,5,118,219,5,5,133,210,5,5,52,169,5,5,83,237,5,5,61,249,5,5,83,214,5,5,72,231,5,5,254,226,5,5,88,218,5,5,219,234,5,5,149,249,5,5,156,181,5,5,49,188,5,5,73,231,5,5,80,180,5,5,29,212,5,5,190,219,5,5,125,235,5,5,52,229,5,5,65,179,5,5,19,195,5,5,235,212,5,5,61,193,5,5,138,208,5,5,29,192,5,5,30,192,5,5,74,237,5,5,64,167,5,5,160,179,5,5,182,191,5,5,236,217,5,5,131,177,5,5,87,183,5,5,87,202,5,5,187,229,5,5,95,192,5,5,39,226,5,5,42,211,5,5,153,223,5,5,156,210,5,5,234,199,5,5,219,169,5,5,24,217,5,5,209,192,5,5,10,192,5,5,50,222,5,5,39,182,5,5,210,209,5,5,85,244,5,5,132,177,5,5,83,203,5,5,180,195,5,5,45,233,5,5,180,175,5,5,45,191,5,5,18,166,5,5,149,221,5,5,125,236,5,5,60,213,5,5,245,201,5,5,141,188,5,5,108,200,5,5,223,249,5,5,185,210,5,5,187,193,5,5,250,191,5,5,251,191,5,5,116,182,5,5,149,199,5,5,142,208,5,5,112,236,5,5,221,234,5,5,165,167,5,5,88,242,5,5,19,199,5,5,42,206,5,5,84,199,5,5,237,200,5,5,50,194,5,5,248,183,5,5,131,240,5,5,13,192,5,5,219,195,5,5,236,193,5,5,237,193,5,5,39,234,5,5,146,170,5,5,200,205,5,5,158,176,5,5,181,222,5,5,26,185,5,5,134,186,5,5,202,224,5,5,54,235,5,5,202,186,5,5,253,214,5,5,119,211,5,5,255,229,5,5,21,173,5,5,215,182,5,5,111,194,5,5,2,232,5,5,178,236,5,5,124,185,5,5,237,189,5,5,52,189,5,5,113,171,5,5,239,185,5,5,245,223,5,5,179,236,5,5,22,195,5,5,151,225,5,5,87,180,5,5,155,165,5,5,44,190,5,5,138,204,5,5,177,219,5,5,75,219,5,5,90,229,5,5,23,221,5,5,113,170,5,5,74,169,5,5,36,184,5,5,87,244,5,5,33,181,5,5,166,167,5,5,246,221,5,5,141,227,5,5,5,213,5,5,83,212,5,5,205,198,5,5,231,204,5,5,55,235,5,5,251,202,5,5,105,243,5,5,62,211,5,5,89,217,5,5,117,244,5,5,80,239,5,5,244,217,5,5,131,218,5,5,172,209,5,5,28,233,5,5,91,235,5,5,253,168,5,5,159,229,5,5,151,199,5,5,171,196,5,5,199,220,5,5,71,233,5,5,228,248,5,5,108,228,5,5,6,213,5,5,88,226,5,5,178,177,5,5,136,172,5,5,146,192,5,5,76,169,5,5,74,245,5,5,146,209,5,5,22,230,5,5,29,189,5,5,61,188,5,5,173,209,5,5,225,215,5,5,45,231,5,5,22,173,5,5,125,220,5,5,45,182,5,5,205,185,5,5,154,249,5,5,231,229,5,5,192,178,5,5,74,225,5,5,93,180,5,5,233,170,5,5,5,207,5,5,131,225,5,5,189,236,5,5,179,207,5,5,180,207,5,5,179,177,5,5,116,200,5,5,254,201,5,5,159,184,5,5,110,216,5,5,60,182,5,5,134,184,5,5,255,230,5,5,152,221,5,5,198,182,5,5,199,232,5,5,112,173,5,5,156,212,5,5,81,230,5,5,206,198,5,5,139,210,5,5,25,193,5,5,96,188,5,5,215,185,5,5,14,192,5,5,175,225,5,5,165,213,5,5,57,229,5,5,206,231,5,5,109,236,5,5,101,202,5,5,187,175,5,5,188,206,5,5,242,189,5,5,156,205,5,5,239,225,5,5,70,249,5,5,77,179,5,5,94,229,5,5,24,206,5,5,11,180,5,5,17,189,5,5,198,184,5,5,224,243,5,5,62,213,5,5,40,237,5,5,67,228,5,5,51,233,5,5,145,217,5,5,78,225,5,5,164,192,5,5,6,207,5,5,52,233,5,5,167,240,5,5,250,210,5,5,255,168,5,5,195,242,5,5,94,185,5,5,220,173,5,5,61,200,5,5,114,176,5,5,222,202,5,5,41,237,5,5,144,163,5,5,206,168,5,5,132,225,5,5,196,225,5,5,255,221,5,5,53,194,5,5,107,202,5,5,202,203,5,5,85,203,5,5,123,211,5,5,195,219,5,5,52,205,5,5,68,211,5,5,170,175,5,5,242,239,5,5,187,165,5,5,106,237,5,5,176,227,5,5,18,189,5,5,171,187,5,5,156,223,5,5,244,170,5,5,196,243,5,5,197,179,5,5,129,179,5,5,185,171,5,5,228,208,5,5,118,182,5,5,29,166,5,5,213,199,5,5,227,202,5,5,100,210,5,5,196,183,5,5,127,184,5,5,119,239,5,5,36,192,5,5,182,195,5,5,251,243,5,5,90,183,5,5,134,211,5,5,252,242,5,5,229,208,5,5,120,171,5,5,247,219,5,5,56,194,5,5,91,226,5,5,14,202,5,5,138,196,5,5,185,166,5,5,144,176,5,5,178,225,5,5,211,191,5,5,186,171,5,5,23,242,5,5,42,219,5,5,97,201,5,5,102,210,5,5,134,185,5,5,98,185,5,5,217,235,5,5,248,189,5,5,125,187,5,5,12,235,5,5,104,191,5,5,140,171,5,5,136,200,5,5,178,238,5,5,205,189,5,5,33,219,5,5,18,192,5,5,4,178,5,5,78,249,5,5,126,187,5,5,222,172,5,5,66,222,5,5,73,236,5,5,161,188,5,5,74,206,5,5,180,225,5,5,148,211,5,5,161,221,5,5,210,189,5,5,202,242,5,5,133,187,5,5,160,221,5,5,233,224,5,5,192,203,5,5,10,238,5,5,135,236,5,5,243,199,5,5,11,184,5,5,164,248,5,5,6,191,5,5,80,185,5,5,117,204,5,5,169,215,5,5,249,193,5,5,35,207,5,5,179,214,5,5,157,189,5,5,142,244,5,5,3,205,5,5,229,243,5,5,66,242,5,5,202,244,5,5,61,216,5,5,206,184,5,5,136,163,5,5,112,224,5,5,50,186,5,5,36,207,5,5,243,229,5,5,213,227,5,5,45,246,5,5,95,235,5,5,94,212,5,5,226,211,5,5,132,234,5,5,187,204,5,5,169,248,5,5,111,190,5,5,159,187,5,5,14,235,5,5,174,190,5,5,90,176,5,5,207,207,5,5,108,243,5,5,86,186,5,5,60,186,5,5,185,221,5,5,112,185,5,5,21,187,5,5,32,163,5,5,134,183,5,5,175,248,5,5,162,189,5,5,185,194,5,5,164,210,5,5,209,233,5,5,153,200,5,5,248,215,5,5,163,247,5,5,31,240,5,5,64,210,5,5,165,238,5,5,185,216,5,5,227,223,5,5,209,225,5,5,39,209,5,5,109,195,5,5,62,240,5,5,139,207,5,5,121,213,5,5,2,217,5,5,78,197,5,5,76,248,5,5,154,196,5,5,105,186,5,5,189,196,5,5,183,229,5,5,203,212,5,5,27,238,5,5,104,239,5,5,131,208,5,5,242,225,5,5,71,223,5,5,207,210,5,5,190,196,5,5,177,195,5,5,191,196,5,5,179,195,5,5,67,226,5,5,160,227,5,5,111,193,5,5,139,243,5,5,5,216,5,5,247,213,5,5,211,247,5,5,182,210,5,5,154,214,5,5,105,241,5,5,151,191,5,5,5,245,5,5,47,180,5,5,239,205,5,5,171,238,5,5,242,198,5,5,231,180,5,5,155,200,5,5,213,216,5,5,98,167,5,5,91,213,5,5,228,214,5,5,243,225,5,5,204,227,5,5,109,228,5,5,71,198,5,5,233,225,5,5,168,240,5,5,7,238,5,5,242,247,5,5,15,226,5,5,163,200,5,5,141,218,5,5,112,221,5,5,201,233,5,5,122,166,5,5,53,245,5,5,164,208,5,5,127,166,5,5,128,166,5,5,214,245,5,5,53,207,5,5,121,210,5,5,39,223,5,5,228,235,5,5,72,223,5,5,233,235,5,5,232,222,5,5,28,237,5,5,29,237,5,5,96,187,5,5,207,234,5,5,223,247,5,5,105,187,5,5,244,193,5,5,73,175,5,5,190,237,5,5,154,235,5,5,193,204,5,5,128,219,5,5,99,169,5,5,100,169,5,5,144,241,5,5,101,169,5,5,150,234,5,5,5,244,5,5,98,181,5,5,17,229,5,5,90,175,5,5,229,228,5,5,3,217,5,5,7,218,5,5,72,229,5,5,73,234,5,5,145,207,5,5,84,168,5,5,84,209,5,5,16,210,5,5,151,236,5,5,113,211,5,5,165,249,5,5,189,188,5,5,91,240,5,5,235,172,5,5,115,218,5,5,97,241,5,5,76,234,5,5,253,200,5,5,240,175,5,5,84,202,5,5,48,177,5,5,189,220,5,5,171,249,5,5,6,247,5,5,65,224,5,5,37,166,5,5,232,180,5,5,240,205,5,5,237,228,5,5,191,243,5,5,85,177,5,5,177,204,5,5,117,200,5,5,17,235,5,5,153,240,5,5,250,175,5,5,44,178,5,5,25,206,5,5,205,188,5,5,42,166,5,5,5,178,5,5,158,205,5,5,4,205,5,5,59,229,5,5,166,238,5,5,164,178,5,5,221,221,5,5,121,243,5,5,138,211,5,5,73,240,5,5,131,227,5,5,196,209,5,5,35,195,5,5,196,214,5,5,15,218,5,5,173,177,5,5,57,200,5,5,58,200,5,5,54,193,5,5,136,209,5,5,241,201,5,5,132,240,5,5,172,238,5,5,60,200,5,5,176,178,5,5,120,239,5,5,187,214,5,5,13,245,5,5,95,194,5,5,61,172,5,5,234,169,5,5,235,169,5,5,44,238,5,5,197,203,5,5,239,177,5,5,101,248,5,5,221,164,5,5,246,164,5,5,9,165,5,5,243,167,5,5,244,167,5,5,13,165,5,5,99,224,5,5,19,170,5,5,216,197,5,5,15,234,5,5,239,167,5,5,217,187,5,5,10,203,5,5,77,220,5,5,253,235,5,5,89,172,5,5,65,182,5,5,224,217,5,5,58,239,5,5,55,231,5,5,143,215,5,5,240,206,5,5,58,172,5,5,218,197,5,5,17,210,5,5,204,175,5,5,132,227,5,5,27,180,5,5,237,166,5,5,246,206,5,5,58,178,5,5,242,234,5,5,209,164,5,5,82,236,5,5,107,236,5,5,73,170,5,5,3,236,5,5,85,229,5,5,150,247,5,5,69,182,5,5,124,197,5,5,105,205,5,5,66,179,5,5,84,236,5,5,51,191,5,5,60,172,5,5,36,170,5,5,199,182,5,5,101,231,5,5,35,225,5,5,254,168,5,5,84,190,5,5,92,220,5,5,36,236,5,5,93,220,5,5,245,170,5,5,249,189,5,5,227,211,5,5,66,177,5,5,23,227,5,5,147,176,5,5,222,171,5,5,120,207,5,5,190,170,5,5,21,209,5,5,58,168,5,5,13,183,5,5,24,209,5,5,130,175,5,5,42,215,5,5,47,226,5,5,74,173,5,5,24,244,5,5,43,183,5,5,48,166,5,5,83,174,5,5,146,228,5,5,229,178,5,5,91,211,5,5,40,209,5,5,122,243,5,5,192,212,5,5,198,197,5,5,64,244,5,5,202,238,5,5,33,241,5,5,62,195,5,5,98,211,5,5,39,241,5,5,240,178,5,5,37,176,5,5,93,191,5,5,116,211,5,5,71,244,5,5,117,249,5,5,118,249,5,5,208,229,5,5,218,229,5,5,103,221,5,5,53,166,5,5,247,249,5,5,92,176,5,5,219,229,5,5,17,185,5,5,200,183,5,5,152,182,5,5,45,173,5,5,251,193,5,5,126,181,5,5,57,218,5,5,251,209,5,5,5,166,5,5,22,232,5,5,191,171,5,5,4,235,5,5,65,200,5,5,74,177,5,5,114,198,5,5,163,223,5,5,21,222,5,5,70,226,5,5,186,246,5,5,48,173,5,5,48,175,5,5,168,212,5,5,254,181,5,5,184,170,5,5,249,209,5,5,25,209,5,5,86,228,5,5,154,168,5,5,116,198,5,5,56,210,5,5,243,244,5,5,244,244,5,5,255,217,5,5,159,235,5,5,211,230,5,5,218,194,5,5,7,206,5,5,31,223,5,5,245,244,5,5,247,181,5,5,185,204,5,5,49,180,5,5,60,218,5,5,149,218,5,5,61,210,5,5,87,171,5,5,33,193,5,5,77,247,5,5,120,206,5,5,122,206,5,5,7,231,5,5,18,208,5,5,133,201,5,5,135,179,5,5,101,212,5,5,49,202,5,5,232,165,5,5,233,165,5,5,153,192,5,5,61,247,5,5,195,222,5,5,148,173,5,5,35,218,5,5,123,207,5,5,41,199,5,5,47,184,5,5,27,209,5,5,95,173,5,5,244,216,5,5,248,216,5,5,15,211,5,5,133,239,5,5,188,245,5,5,131,249,5,5,31,249,5,5,190,198,5,5,213,242,5,5,181,224,5,5,182,224,5,5,23,176,5,5,29,242,5,5,206,178,5,5,61,199,5,5,185,199,5,5,114,208,5,5,84,172,5,5,216,184,5,5,192,169,5,5,21,175,5,5,193,171,5,5,88,171,5,5,150,226,5,5,107,167,5,5,228,164,5,5,120,227,5,5,150,218,5,5,246,166,5,5,79,167,5,5,88,222,5,5,209,231,5,5,55,192,5,5,32,188,5,5,193,169,5,5,236,231,5,5,191,173,5,5,164,238,5,5,34,187,5,5,194,190,5,5,113,234,5,5,192,173,5,5,6,246,5,5,62,199,5,5,102,169,5,5,252,169,5,5,130,229,5,5,19,207,5,5,130,232,5,5,7,182,5,5,23,182,5,5,24,182,5,5,91,197,5,5,40,187,5,5,71,171,5,5,139,239,5,5,113,172,5,5,196,172,5,5,33,242,5,5,73,181,5,5,191,218,5,5,221,219,5,5,4,193,5,5,76,220,5,5,162,242,5,5,109,235,5,5,26,197,5,5,94,208,5,5,196,206,5,5,52,214,5,5,253,209,5,5,33,240,5,5,7,203,5,5,200,222,5,5,57,212,5,5,171,166,5,5,68,200,5,5,90,171,5,5,116,164,5,5,238,231,5,5,166,221,5,5,21,185,5,5,12,242,5,5,5,193,5,5,138,201,5,5,112,192,5,5,139,172,5,5,50,170,5,5,166,235,5,5,223,198,5,5,172,168,5,5,203,233,5,5,50,173,5,5,63,218,5,5,143,236,5,5,138,184,5,5,52,225,5,5,93,189,5,5,27,167,5,5,39,163,5,5,31,209,5,5,167,235,5,5,150,183,5,5,236,206,5,5,208,235,5,5,214,221,5,5,14,229,5,5,142,185,5,5,158,217,5,5,126,207,5,5,74,174,5,5,81,167,5,5,254,171,5,5,139,179,5,5,4,244,5,5,128,202,5,5,250,249,5,5,98,194,5,5,195,164,5,5,61,217,5,5,228,190,5,5,186,189,5,5,24,176,5,5,132,190,5,5,53,214,5,5,172,166,5,5,239,231,5,5,79,206,5,5,166,243,5,5,58,167,5,5,144,203,5,5,47,240,5,5,5,200,5,5,44,200,5,5,46,232,5,5,96,225,5,5,117,243,5,5,11,246,5,5,50,198,5,5,82,205,5,5,30,244,5,5,183,187,5,5,175,235,5,5,165,202,5,5,31,239,5,5,145,216,5,5,84,174,5,5,201,235,5,5,223,235,5,5,161,218,5,5,234,243,5,5,21,245,5,5,76,213,5,5,121,195,5,5,134,221,5,5,54,206,5,5,134,190,5,5,137,190,5,5,240,238,5,5,12,179,5,5,216,180,5,5,88,170,5,5,143,185,5,5,96,239,5,5,74,171,5,5,58,212,5,5,166,205,5,5,195,166,5,5,58,246,5,5,189,214,5,5,56,214,5,5,141,201,5,5,253,216,5,5,145,236,5,5,255,196,5,5,176,179,5,5,103,209,5,5,50,207,5,5,54,239,5,5,4,220,5,5,218,230,5,5,176,168,5,5,219,217,5,5,38,218,5,5,200,218,5,5,162,194,5,5,169,200,5,5,29,172,5,5,175,199,5,5,138,245,5,5,83,209,5,5,221,166,5,5,251,244,5,5,164,211,5,5,34,188,5,5,48,240,5,5,11,203,5,5,147,206,5,5,151,210,5,5,10,206,5,5,242,203,5,5,160,220,5,5,192,226,5,5,27,222,5,5,236,233,5,5,124,172,5,5,71,200,5,5,166,202,5,5,35,188,5,5,126,224,5,5,5,201,5,5,43,199,5,5,190,184,5,5,220,217,5,5,215,205,5,5,190,187,5,5,12,210,5,5,61,246,5,5,174,219,5,5,47,208,5,5,84,198,5,5,144,164,5,5,198,170,5,5,30,222,5,5,40,242,5,5,193,212,5,5,79,163,5,5,199,175,5,5,215,200,5,5,148,201,5,5,63,240,5,5,247,168,5,5,206,244,5,5,64,186,5,5,251,197,5,5,141,186,5,5,106,198,5,5,2,187,5,5,215,192,5,5,95,174,5,5,22,245,5,5,188,188,5,5,97,226,5,5,238,173,5,5,64,240,5,5,66,248,5,5,172,182,5,5,174,185,5,5,188,197,5,5,218,205,5,5,17,203,5,5,152,226,5,5,99,208,5,5,239,169,5,5,251,236,5,5,56,225,5,5,252,166,5,5,197,215,5,5,209,228,5,5,204,181,5,5,241,196,5,5,160,168,5,5,231,183,5,5,124,198,5,5,84,206,5,5,132,214,5,5,191,227,5,5,72,184,5,5,186,181,5,5,4,250,5,5,218,214,5,5,95,215,5,5,169,181,5,5,159,237,5,5,146,236,5,5,129,182,5,5,217,207,5,5,107,234,5,5,219,180,5,5,59,187,5,5,210,229,5,5,176,235,5,5,145,185,5,5,211,229,5,5,150,179,5,5,241,177,5,5,207,185,5,5,40,185,5,5,119,188,5,5,14,246,5,5,170,245,5,5,138,249,5,5,216,200,5,5,170,176,5,5,212,198,5,5,41,231,5,5,88,205,5,5,36,221,5,5,225,235,5,5,103,174,5,5,102,194,5,5,171,216,5,5,25,228,5,5,225,229,5,5,252,240,5,5,255,225,5,5,48,221,5,5,94,241,5,5,57,197,5,5,195,245,5,5,88,198,5,5,11,182,5,5,237,178,5,5,111,197,5,5,172,245,5,5,211,206,5,5,192,227,5,5,44,189,5,5,250,200,5,5,60,179,5,5,12,222,5,5,170,177,5,5,106,209,5,5,59,175,5,5,249,207,5,5,118,231,5,5,204,212,5,5,193,214,5,5,187,208,5,5,46,193,5,5,178,193,5,5,131,242,5,5,225,188,5,5,114,180,5,5,12,220,5,5,188,167,5,5,255,197,5,5,241,224,5,5,76,229,5,5,126,208,5,5,155,173,5,5,111,218,5,5,13,190,5,5,80,183,5,5,243,206,5,5,182,179,5,5,82,235,5,5,146,185,5,5,175,219,5,5,186,168,5,5,175,172,5,5,98,237,5,5,104,181,5,5,37,168,5,5,33,176,5,5,77,248,5,5,158,183,5,5,148,247,5,5,14,190,5,5,158,192,5,5,97,171,5,5,160,206,5,5,111,189,5,5,204,190,5,5,179,243,5,5,241,234,5,5,204,211,5,5,233,199,5,5,78,248,5,5,74,184,5,5,156,228,5,5,144,165,5,5,100,226,5,5,232,198,5,5,255,248,5,5,46,185,5,5,23,201,5,5,99,211,5,5,132,242,5,5,152,210,5,5,64,181,5,5,158,171,5,5,169,218,5,5,211,243,5,5,98,171,5,5,133,164,5,5,2,249,5,5,63,247,5,5,237,230,5,5,157,172,5,5,100,211,5,5,3,249,5,5,43,195,5,5,186,202,5,5,193,227,5,5,4,249,5,5,251,235,5,5,15,190,5,5,197,231,5,5,243,177,5,5,66,209,5,5,95,205,5,5,202,171,5,5,38,168,5,5,164,213,5,5,187,247,5,5,5,249,5,5,191,228,5,5,211,228,5,5,37,230,5,5,226,200,5,5,194,221,5,5,30,205,5,5,180,184,5,5,199,247,5,5,26,210,5,5,151,181,5,5,207,211,5,5,39,178,5,5,17,173,5,5,70,219,5,5,93,163,5,5,199,245,5,5,174,245,5,5,246,176,5,5,233,245,5,5,254,246,5,5,188,230,5,5,74,214,5,5,245,233,5,5,129,246,5,5,118,197,5,5,206,192,5,5,233,242,5,5,157,201,5,5,169,217,5,5,78,171,5,5,46,195,5,5,31,170,5,5,104,244,5,5,234,242,5,5,49,242,5,5,117,201,5,5,159,171,5,5,39,229,5,5,242,169,5,5,35,232,5,5,9,201,5,5,27,183,5,5,17,194,5,5,98,223,5,5,228,237,5,5,223,166,5,5,208,169,5,5,194,188,5,5,45,209,5,5,46,209,5,5,209,169,5,5,82,181,5,5,57,234,5,5,24,246,5,5,68,234,5,5,102,182,5,5,205,171,5,5,85,200,5,5,120,169,5,5,197,216,5,5,76,202,5,5,101,167,5,5,211,204,5,5,31,205,5,5,8,199,5,5,2,174,5,5,46,216,5,5,92,240,5,5,239,243,5,5,141,220,5,5,248,226,5,5,110,203,5,5,62,225,5,5,47,201,5,5,42,180,5,5,200,247,5,5,33,165,5,5,8,172,5,5,198,226,5,5,189,181,5,5,25,229,5,5,10,250,5,5,247,206,5,5,21,179,5,5,125,182,5,5,43,204,5,5,47,204,5,5,27,210,5,5,137,242,5,5,52,180,5,5,239,190,5,5,200,199,5,5,46,249,5,5,113,183,5,5,108,164,5,5,83,242,5,5,70,212,5,5,177,222,5,5,75,189,5,5,81,224,5,5,179,242,5,5,103,226,5,5,240,183,5,5,126,231,5,5,177,246,5,5,199,226,5,5,127,170,5,5,164,244,5,5,7,185,5,5,157,196,5,5,13,174,5,5,99,205,5,5,18,217,5,5,231,185,5,5,25,246,5,5,240,191,5,5,241,213,5,5,165,244,5,5,174,166,5,5,228,205,5,5,50,243,5,5,78,180,5,5,56,249,5,5,230,236,5,5,57,249,5,5,127,188,5,5,225,241,5,5,23,171,5,5,164,222,5,5,120,225,5,5,66,195,5,5,144,179,5,5,45,179,5,5,146,245,5,5,28,188,5,5,60,192,5,5,21,236,5,5,37,172,5,5,117,219,5,5,250,226,5,5,106,240,5,5,222,190,5,5,35,169,5,5,250,168,5,5,241,245,5,5,91,187,5,5,13,234,5,5,114,245,5,5,230,212,5,5,4,247,5,5,38,211,5,5,250,231,5,5,201,226,5,5,165,236,5,5,37,238,5,5,236,210,5,5,47,236,5,5,145,249,5,5,21,215,5,5,140,243,5,5,69,231,5,5,25,201,5,5,166,236,5,5,242,236,5,5,212,183,5,5,38,179,5,5,202,226,5,5,221,230,5,5,29,238,5,5,90,167,5,5,222,225,5,5,161,225,5,5,110,167,5,5,117,247,5,5,120,234,5,5,133,171,5,5,176,191,5,5,130,177,5,5,4,198,5,5,100,201,5,5,134,213,5,5,127,231,5,5,180,176,5,5,250,218,5,5,154,216,5,5,171,174,5,5,168,203,5,5,117,199,5,5,149,191,5,5,185,231,5,5,158,179,5,5,138,180,5,5,255,236,5,5,41,165,5,5,95,204,5,5,95,200,5,5,136,194,5,5,185,243,5,5,9,192,5,5,241,190,5,5,242,218,5,5,51,243,5,5,200,227,5,5,129,170,5,5,171,244,5,5,105,226,5,5,94,191,5,5,91,186,5,5,164,190,5,5,235,214,5,5,15,166,5,5,235,179,5,5,102,248,5,5,10,215,5,5,82,199,5,5,56,165,5,5,152,165,5,5,6,219,5,5,64,206,5,5,155,195,5,5,222,228,5,5,235,228,5,5,157,176,5,5,109,171,5,5,108,238,5,5,236,189,5,5,49,199,5,5,237,198,5,5,17,242,5,5,138,224,5,5,65,173,5,5,221,249,5,5,137,194,5,5,130,170,5,5,131,211,5,5,220,247,5,5,97,168,5,5,200,202,5,5,4,241,5,5,242,223,5,5,139,208,5,5,87,213,5,5,201,202,5,5,39,190,5,5,238,185,5,5,244,190,5,5,196,205,5,5,168,193,5,5,85,235,5,5,10,186,5,5,129,218,5,5,247,191,5,5,61,211,5,5,188,186,5,5,242,242,5,5,38,234,5,5,100,204,5,5,50,235,5,5,107,226,5,5,115,182,5,5,170,238,5,5,137,180,5,5,76,241,5,5,55,213,5,5,110,171,5,5,81,180,5,5,127,169,5,5,236,228,5,5,140,198,5,5,132,188,5,5,69,186,5,5,147,245,5,5,51,223,5,5,127,192,5,5,246,173,5,5,141,217,5,5,108,239,5,5,142,170,5,5,202,231,5,5,218,170,5,5,218,195,5,5,146,190,5,5,145,167,5,5,154,229,5,5,38,221,5,5,18,221,5,5,189,222,5,5,25,217,5,5,235,200,5,5,184,199,5,5,115,205,5,5,144,242,5,5,254,229,5,5,230,187,5,5,225,234,5,5,179,180,5,5,86,244,5,5,20,206,5,5,86,235,5,5,215,244,5,5,167,201,5,5,237,217,5,5,155,229,5,5,110,194,5,5,174,244,5,5,155,214,5,5,153,233,5,5,246,196,5,5,26,217,5,5,201,188,5,5,7,219,5,5,30,246,5,5,45,168,5,5,130,248,5,5,104,204,5,5,177,166,5,5,109,176,5,5,109,200,5,5,182,203,5,5,72,245,5,5,163,166,5,5,94,202,5,5,55,167,5,5,32,246,5,5,180,236,5,5,136,210,5,5,137,210,5,5,249,212,5,5,54,190,5,5,144,213,5,5,21,218,5,5,217,178,5,5,58,201,5,5,17,172,5,5,44,231,5,5,181,236,5,5,204,185,5,5,196,220,5,5,87,235,5,5,133,240,5,5,178,219,5,5,179,246,5,5,102,228,5,5,3,180,5,5,246,223,5,5,241,217,5,5,167,196,5,5,58,241,5,5,10,228,5,5,225,181,5,5,153,221,5,5,204,235,5,5,209,197,5,5,64,165,5,5,65,228,5,5,93,224,5,5,94,224,5,5,115,229,5,5,194,182,5,5,218,168,5,5,234,188,5,5,33,246,5,5,242,235,5,5,235,235,5,5,129,225,5,5,110,208,5,5,130,225,5,5,150,199,5,5,7,204,5,5,213,185,5,5,199,223,5,5,144,192,5,5,27,235,5,5,188,201,5,5,135,235,5,5,157,229,5,5,147,167,5,5,99,198,5,5,152,249,5,5,104,188,5,5,189,201,5,5,136,174,5,5,10,198,5,5,136,197,5,5,113,215,5,5,119,205,5,5,66,228,5,5,147,213,5,5,186,248,5,5,238,189,5,5,28,186,5,5,140,184,5,5,232,247,5,5,16,189,5,5,214,171,5,5,72,232,5,5,75,176,5,5,240,200,5,5,6,232,5,5,93,214,5,5,136,248,5,5,13,187,5,5,99,227,5,5,69,217,5,5,139,189,5,5,242,246,5,5,146,231,5,5,227,249,5,5,118,200,5,5,98,234,5,5,203,188,5,5,180,177,5,5,114,241,5,5,157,238,5,5,187,200,5,5,200,220,5,5,96,224,5,5,151,170,5,5,16,176,5,5,54,176,5,5,155,240,5,5,38,237,5,5,48,168,5,5,92,207,5,5,75,179,5,5,246,210,5,5,255,201,5,5,58,222,5,5,146,188,5,5,197,184,5,5,154,193,5,5,244,205,5,5,110,173,5,5,238,235,5,5,102,202,5,5,6,237,5,5,119,200,5,5,194,225,5,5,78,179,5,5,104,237,5,5,207,177,5,5,239,235,5,5,200,221,5,5,70,185,5,5,25,166,5,5,147,188,5,5,82,171,5,5,216,226,5,5,160,229,5,5,118,171,5,5,139,184,5,5,184,244,5,5,185,244,5,5,241,170,5,5,251,205,5,5,226,208,5,5,84,165,5,5,223,202,5,5,235,197,5,5,200,230,5,5,252,234,5,5,208,245,5,5,167,179,5,5,225,243,5,5,226,243,5,5,146,178,5,5,194,233,5,5,210,199,5,5,183,206,5,5,94,186,5,5,73,208,5,5,50,238,5,5,235,168,5,5,64,222,5,5,37,246,5,5,26,166,5,5,68,193,5,5,144,210,5,5,186,244,5,5,49,166,5,5,65,196,5,5,220,172,5,5,130,234,5,5,162,169,5,5,140,205,5,5,105,246,5,5,154,190,5,5,151,232,5,5,103,191,5,5,118,187,5,5,21,242,5,5,88,244,5,5,247,189,5,5,194,235,5,5,28,219,5,5,191,244,5,5,3,178,5,5,104,247,5,5,34,200,5,5,105,214,5,5,72,167,5,5,201,228,5,5,166,165,5,5,102,224,5,5,143,169,5,5,71,188,5,5,247,204,5,5,11,169,5,5,244,235,5,5,133,225,5,5,73,193,5,5,31,166,5,5,216,199,5,5,233,215,5,5,206,189,5,5,23,211,5,5,157,198,5,5,195,244,5,5,90,231,5,5,127,187,5,5,184,206,5,5,178,214,5,5,196,244,5,5,17,237,5,5,110,246,5,5,107,214,5,5,242,199,5,5,87,217,5,5,159,221,5,5,254,190,5,5,77,185,5,5,152,178,5,5,31,173,5,5,35,199,5,5,78,185,5,5,166,229,5,5,180,189,5,5,199,244,5,5,54,171,5,5,238,202,5,5,209,188,5,5,145,205,5,5,200,244,5,5,141,173,5,5,253,188,5,5,192,240,5,5,255,204,5,5,236,248,5,5,110,224,5,5,118,175,5,5,153,230,5,5,66,205,5,5,45,186,5,5,32,173,5,5,4,230,5,5,23,249,5,5,70,222,5,5,227,173,5,5,211,227,5,5,137,185,5,5,51,186,5,5,94,235,5,5,223,211,5,5,236,249,5,5,147,210,5,5,140,172,5,5,118,194,5,5,40,212,5,5,97,243,5,5,19,198,5,5,236,244,5,5,205,235,5,5,159,232,5,5,175,190,5,5,87,243,5,5,238,186,5,5,84,171,5,5,126,228,5,5,239,179,5,5,89,176,5,5,80,204,5,5,154,224,5,5,237,244,5,5,22,198,5,5,31,163,5,5,183,221,5,5,84,186,5,5,57,186,5,5,139,183,5,5,183,246,5,5,179,190,5,5,250,217,5,5,177,215,5,5,99,243,5,5,168,192,5,5,104,243,5,5,181,248,5,5,178,199,5,5,138,165,5,5,129,171,5,5,154,194,5,5,121,176,5,5,252,199,5,5,120,214,5,5,121,214,5,5,150,200,5,5,110,201,5,5,86,189,5,5,77,232,5,5,137,222,5,5,146,204,5,5,106,219,5,5,50,214,5,5,83,223,5,5,23,222,5,5,29,232,5,5,30,232,5,5,92,234,5,5,18,244,5,5,32,209,5,5,201,222,5,5,98,173,5,5,52,184,5,5,95,208,5,5,22,247,5,5,192,166,5,5,34,240,5,5,187,189,5,5,27,226,5,5,203,167,5,5,107,195,5,5,82,167,5,5,163,242,5,5,108,195,5,5,130,167,5,5,86,172,5,5,253,223,5,5,20,188,5,5,33,194,5,5,236,195,5,5,207,178,5,5,156,194,5,5,249,215,5,5,192,218,5,5,157,194,5,5,158,194,5,5,54,246,5,5,82,211,5,5,4,166,5,5,23,175,5,5,189,213,5,5,72,221,5,5,168,221,5,5,42,195,5,5,229,219,5,5,85,174,5,5,0,160,5,5,57,214,5,5,103,178,5,5,177,189,5,5,7,222,5,5,161,217,5,5,54,207,5,5,38,180,5,5,28,167,5,5,97,208,5,5,17,167,5,5,112,179,5,5,113,179,5,5,66,166,5,5,63,244,5,5,156,182,5,5,61,198,5,5,222,221,5,5,111,219,5,5,147,177,5,5,119,246,5,5,239,226,5,5,186,188,5,5,89,223,5,5,86,201,5,5,74,220,5,5,225,198,5,5,180,229,5,5,90,186,5,5,132,181,5,5,37,204,5,5,4,217,5,5,202,198,5,5,103,212,5,5,191,187,5,5,217,200,5,5,32,244,5,5,242,214,5,5,243,214,5,5,144,215,5,5,170,243,5,5,254,244,5,5,6,220,5,5,165,241,5,5,59,227,5,5,225,245,5,5,173,182,5,5,130,171,5,5,34,232,5,5,110,195,5,5,114,201,5,5,208,185,5,5,192,213,5,5,170,221,5,5,150,217,5,5,74,221,5,5,198,166,5,5,124,242,5,5,46,200,5,5,164,194,5,5,190,223,5,5,8,200,5,5,123,195,5,5,236,224,5,5,13,173,5,5,229,227,5,5,91,241,5,5,77,200,192,0,0,0,5,5,125,180,5,5,219,205,5,5,15,230,5,5,219,187,5,5,205,212,5,5,104,174,5,5,101,208,5,5,68,214,5,5,248,168,5,5,134,181,5,5,39,222,5,5,171,181,5,5,196,246,5,5,190,197,5,5,141,167,5,5,131,186,5,5,42,243,5,5,10,217,5,5,206,173,5,5,94,223,5,5,58,231,5,5,3,199,5,5,206,212,5,5,77,229,5,5,155,197,5,5,188,217,5,5,29,196,5,5,218,207,5,5,138,214,5,5,207,212,5,5,133,242,5,5,129,198,5,5,188,222,5,5,54,208,5,5,236,176,5,5,69,214,5,5,71,202,5,5,104,245,5,5,134,242,5,5,107,191,5,5,89,198,5,5,37,243,5,5,220,200,5,5,172,170,5,5,244,206,5,5,158,175,5,5,223,163,5,5,105,173,5,5,25,189,5,5,204,196,5,5,24,201,5,5,132,182,5,5,218,212,5,5,243,234,5,5,28,245,5,5,118,201,5,5,255,223,5,5,168,174,5,5,200,245,5,5,249,203,5,5,47,235,5,5,3,174,5,5,190,168,5,5,140,212,5,5,238,230,5,5,219,212,5,5,141,212,5,5,30,216,5,5,230,223,5,5,43,243,5,5,44,243,5,5,93,240,5,5,155,207,5,5,91,248,5,5,207,192,5,5,66,230,5,5,3,168,5,5,48,218,5,5,114,247,5,5,26,229,5,5,44,225,5,5,232,227,5,5,46,218,5,5,75,184,5,5,219,192,5,5,168,246,5,5,199,224,5,5,159,197,5,5,148,196,5,5,233,222,5,5,169,178,5,5,176,213,5,5,21,200,5,5,4,174,5,5,198,188,5,5,107,217,5,5,124,216,5,5,52,201,5,5,48,204,5,5,220,204,5,5,42,165,5,5,108,244,5,5,198,221,5,5,78,246,5,5,104,182,5,5,81,228,5,5,236,212,5,5,183,184,5,5,184,184,5,5,83,224,5,5,141,242,5,5,105,208,5,5,108,208,5,5,103,248,5,5,9,170,5,5,138,227,5,5,134,246,5,5,86,219,5,5,31,216,5,5,148,212,5,5,38,230,5,5,215,169,5,5,232,200,5,5,22,217,5,5,238,219,5,5,242,245,5,5,18,173,5,5,31,210,5,5,30,237,5,5,44,244,5,5,200,187,5,5,196,221,5,5,117,203,5,5,48,192,5,5,112,193,5,5,255,163,5,5,13,199,5,5,114,249,5,5,177,213,5,5,114,227,5,5,81,189,5,5,200,165,5,5,96,192,5,5,97,182,5,5,82,180,5,5,2,224,5,5,64,228,5,5,5,239,5,5,105,163,5,5,94,201,5,5,25,214,5,5,138,213,5,5,119,245,5,5,237,212,5,5,193,249,5,5,133,197,5,5,161,197,5,5,238,212,5,5,150,249,5,5,45,218,5,5,8,183,5,5,83,228,5,5,163,212,5,5,244,241,5,5,191,217,5,5,111,171,5,5,133,188,5,5,175,244,5,5,66,245,5,5,74,231,5,5,208,194,5,5,106,243,5,5,84,211,5,5,29,188,5,5,239,212,5,5,65,165,5,5,156,165,5,5,56,235,5,5,45,190,5,5,232,204,5,5,104,229,5,5,134,240,5,5,240,185,5,5,167,167,5,5,5,237,5,5,135,240,5,5,129,180,5,5,171,207,5,5,106,233,5,5,194,249,5,5,85,199,5,5,187,239,5,5,17,219,5,5,114,238,5,5,138,246,5,5,93,188,5,5,145,198,5,5,173,238,5,5,16,230,5,5,109,208,5,5,147,170,5,5,247,196,5,5,238,228,5,5,18,235,5,5,200,232,5,5,237,204,5,5,7,213,5,5,8,213,5,5,9,213,5,5,156,240,5,5,229,214,5,5,115,223,5,5,64,201,5,5,144,224,5,5,115,241,5,5,8,180,5,5,71,230,5,5,65,243,5,5,120,215,5,5,147,209,5,5,72,208,5,5,126,176,5,5,219,178,5,5,169,228,5,5,9,204,5,5,113,173,5,5,141,235,5,5,241,187,5,5,137,248,5,5,240,188,5,5,200,182,5,5,239,227,5,5,89,173,5,5,23,173,5,5,66,243,5,5,245,217,5,5,92,186,5,5,247,169,5,5,128,180,5,5,157,240,5,5,133,206,5,5,175,170,5,5,189,206,5,5,66,204,5,5,187,244,5,5,148,248,5,5,169,240,5,5,70,217,5,5,34,186,5,5,146,179,5,5,88,232,5,5,99,234,5,5,42,237,5,5,17,213,5,5,35,212,5,5,65,235,5,5,150,188,5,5,62,200,5,5,178,221,5,5,98,214,5,5,146,189,5,5,249,245,5,5,170,240,5,5,36,214,5,5,245,219,5,5,124,200,5,5,53,175,5,5,199,184,5,5,35,186,5,5,203,230,5,5,164,215,5,5,126,195,5,5,201,217,5,5,252,205,5,5,43,224,5,5,171,175,5,5,252,241,5,5,172,197,5,5,95,186,5,5,168,165,5,5,88,231,5,5,128,187,5,5,147,169,5,5,61,164,5,5,244,230,5,5,105,191,5,5,252,184,5,5,101,238,5,5,24,218,5,5,42,197,5,5,194,229,5,5,27,188,5,5,134,187,5,5,211,189,5,5,195,207,5,5,17,188,5,5,83,243,5,5,34,213,5,5,108,214,5,5,7,191,5,5,133,241,5,5,104,234,5,5,166,230,5,5,239,248,5,5,96,186,5,5,96,235,5,5,200,207,5,5,174,226,5,5,119,194,5,5,107,207,5,5,204,223,5,5,61,171,5,5,122,180,5,5,98,186,5,5,186,221,5,5,87,186,5,5,163,189,5,5,22,235,5,5,183,248,5,5,219,219,5,5,251,219,5,5,159,166,5,5,67,221,5,5,18,167,5,5,55,225,5,5,35,249,5,5,57,238,5,5,131,246,5,5,162,198,5,5,172,207,5,5,183,207,5,5,186,174,5,5,60,241,5,5,17,163,5,5,19,177,5,5,66,241,5,5,155,241,5,5,233,232,5,5,251,229,5,5,61,239,5,5,57,167,5,5,131,226,5,5,254,194,5,5,173,232,5,5,49,177,5,5,43,211,5,5,243,249,5,5,69,211,5,5,123,168,5,5,88,164,5,5,84,167,5,5,236,223,5,5,212,204,5,5,214,166,5,5,246,177,5,5,125,226,5,5,212,247,5,5,87,219,5,5,201,165,5,5,50,177,5,5,155,164,5,5,106,163,5,5,127,226,5,5,89,242,5,5,121,242,5,5,6,178,5,5,240,240,5,5,63,225,5,5,46,184,5,5,60,184,5,5,153,168,5,5,123,204,5,5,83,170,5,5,33,179,5,5,63,172,5,5,169,185,5,5,121,230,5,5,181,170,5,5,151,173,5,5,22,170,5,5,87,172,5,5,186,192,5,5,91,245,5,5,24,243,5,5,138,191,5,5,204,163,5,5,173,235,5,5,83,205,5,5,37,193,5,5,106,242,5,5,141,191,5,5,18,229,5,5,68,172,5,5,210,176,5,5,70,210,5,5,109,212,5,5,60,212,5,5,195,231,5,5,94,179,5,5,194,212,5,5,201,170,5,5,247,195,5,5,78,210,5,5,61,245,5,5,87,193,5,5,220,212,5,5,176,186,5,5,184,186,5,5,49,167,5,5,228,201,5,5,197,192,5,5,116,218,5,5,119,164,5,5,71,212,5,5,104,226,5,5,247,177,5,5,71,207,5,5,27,203,5,5,221,204,5,5,211,173,5,5,102,168,5,5,14,195,5,5,250,206,5,5,128,195,5,5,168,225,5,5,139,213,5,5,233,163,5,5,147,190,5,5,228,203,5,5,25,169,5,5,85,236,5,5,139,246,5,5,37,170,5,5,193,178,5,5,201,182,5,5,211,209,5,5,67,206,5,5,166,213,5,5,129,187,5,5,7,178,5,5,211,187,5,5,218,166,5,5,75,168,5,5,132,163,5,5,35,213,5,5,14,224,5,5,46,246,5,5,146,196,5,5,15,224,5,5,100,212,5,5,99,212,5,5,0,155,5,5,46,173,5,5,247,209,5,5,127,202,5,5,8,234,5,5,22,222,5,5,237,238,5,5,133,191,5,5,185,222,5,5,174,194,5,5,42,169,5,5,30,242,5,5,234,195,5,5,67,163,5,5,45,198,5,5,25,241,5,5,162,243,5,5,154,200,5,5,186,222,5,5,162,249,5,5,11,197,5,5,50,184,5,5,163,176,5,5,88,211,5,5,242,222,5,5,85,172,5,5,200,163,5,5,204,167,5,5,238,206,5,5,140,239,5,5,15,229,5,5,16,167,5,5,185,213,5,5,25,182,5,5,249,198,5,5,94,189,5,5,197,172,5,5,240,167,5,5,184,183,5,5,214,241,5,5,98,242,5,5,68,192,5,5,82,217,5,5,197,206,5,5,25,176,5,5,71,163,5,5,20,196,5,5,138,215,5,5,111,184,5,5,170,200,5,5,168,198,5,5,32,204,5,5,96,197,5,5,230,219,5,5,58,202,5,5,6,218,5,5,48,228,5,5,55,179,5,5,51,231,5,5,21,228,5,5,169,182,5,5,198,185,5,5,240,177,5,5,190,213,5,5,193,226,5,5,83,196,5,5,73,221,5,5,60,248,5,5,67,237,5,5,181,247,5,5,14,165,5,5,199,170,5,5,195,212,5,5,246,207,5,5,170,186,5,5,193,213,5,5,171,243,5,5,57,237,5,5,106,186,5,5,213,163,5,5,210,218,5,5,171,242,5,5,127,227,5,5,60,187,5,5,125,198,5,5,145,215,5,5,90,206,5,5,212,166,5,5,161,172,5,5,139,214,5,5,172,163,5,5,188,208,5,5,159,183,5,5,146,165,5,5,240,243,5,5,47,185,5,5,196,187,5,5,208,204,5,5,33,211,5,5,203,196,5,5,138,242,5,5,179,193,5,5,144,233,5,5,39,171,5,5,242,224,5,5,100,239,5,5,224,218,5,5,81,221,5,5,253,240,5,5,8,171,5,5,6,234,5,5,152,234,5,5,169,227,5,5,220,187,5,5,149,177,5,5,90,190,5,5,9,199,5,5,96,233,5,5,40,194,5,5,74,246,5,5,208,173,5,5,175,245,5,5,47,249,5,5,123,216,5,5,140,221,5,5,17,170,5,5,132,246,5,5,50,226,5,5,209,215,5,5,103,182,5,5,40,241,5,5,52,183,5,5,245,213,5,5,24,203,5,5,30,198,5,5,198,165,5,5,50,242,5,5,55,242,5,5,210,169,5,5,148,223,5,5,180,241,5,5,72,237,5,5,98,163,5,5,38,172,5,5,118,199,5,5,58,249,5,5,48,236,5,5,49,169,5,5,59,249,5,5,71,175,5,5,116,248,5,5,203,226,5,5,221,197,5,5,87,211,5,5,107,240,5,5,183,220,5,5,121,234,5,5,229,197,5,5,143,170,5,5,174,206,5,5,43,206,5,5,128,169,5,5,19,221,5,5,87,224,5,5,110,238,5,5,109,238,5,5,224,197,5,5,220,234,5,5,138,164,5,5,173,207,5,5,66,165,5,5,67,165,5,5,59,201,5,5,233,168,5,5,235,188,5,5,33,217,5,5,195,182,5,5,247,241,5,5,238,187,5,5,190,229,5,5,162,214,5,5,36,228,5,5,189,178,5,5,107,204,5,5,190,191,5,5,10,208,5,5,252,177,5,5,120,200,5,5,94,196,5,5,160,215,5,5,94,214,5,5,48,179,5,5,162,215,5,5,198,217,5,5,126,184,5,5,144,168,5,5,211,199,5,5,89,183,5,5,16,171,5,5,210,187,5,5,76,183,5,5,177,194,5,5,33,228,5,5,207,189,5,5,50,179,5,5,235,215,5,5,55,171,5,5,154,230,5,5,161,200,5,5,77,183,5,5,110,190,5,5,174,215,5,5,247,208,5,5,205,207,5,5,132,217,5,5,167,171,5,5,113,231,5,5,89,191,5,5,194,189,5,5,48,248,5,5,140,236,5,5,81,247,5,5,248,209,5,5,127,191,5,5,191,177,5,5,19,185,5,5,0,134,5,5,204,201,5,5,134,201,5,5,226,176,5,5,72,226,5,5,107,192,5,5,147,204,5,5,164,247,5,5,3,209,5,5,165,247,5,5,38,225,5,5,31,169,5,5,194,194,5,5,54,245,5,5,23,174,5,5,23,247,5,5,212,203,5,5,245,240,5,5,7,166,5,5,236,165,5,5,159,164,5,5,205,248,5,5,127,207,5,5,161,170,5,5,128,207,5,5,192,246,5,5,197,204,5,5,195,169,5,5,5,176,5,5,135,168,5,5,55,246,5,5,167,200,5,5,182,215,5,5,30,211,5,5,98,189,5,5,91,175,5,5,49,240,5,5,224,238,5,5,177,168,5,5,166,177,5,5,86,174,5,5,133,217,5,5,77,213,5,5,41,163,5,5,204,233,5,5,71,192,5,5,70,203,5,5,247,227,5,5,196,166,5,5,171,233,5,5,255,194,5,5,78,230,5,5,19,229,5,5,147,228,5,5,150,239,5,5,234,232,5,5,12,203,5,5,229,171,5,5,49,228,5,5,86,188,5,5,10,165,5,5,161,220,5,5,162,220,5,5,131,207,5,5,141,172,5,5,231,190,5,5,170,205,5,5,87,204,5,5,89,205,5,5,61,187,5,5,180,194,5,5,49,215,5,5,7,220,5,5,224,194,5,5,125,242,5,5,15,215,5,5,33,244,5,5,231,216,5,5,138,190,5,5,147,236,5,5,137,221,5,5,222,210,5,5,172,243,5,5,225,217,5,5,21,164,5,5,59,239,5,5,99,216,5,5,166,241,5,5,194,213,5,5,178,198,5,5,216,193,5,5,153,226,5,5,5,217,5,5,69,164,5,5,253,166,5,5,218,185,5,5,69,176,5,5,232,244,5,5,9,200,5,5,29,247,5,5,160,237,5,5,106,225,5,5,237,176,5,5,62,245,5,5,25,245,5,5,103,225,5,5,55,208,5,5,202,169,5,5,219,163,5,5,172,181,5,5,200,215,5,5,216,225,5,5,90,198,5,5,138,217,5,5,172,242,5,5,18,210,5,5,165,217,5,5,112,186,5,5,3,187,5,5,17,215,5,5,105,174,5,5,36,188,5,5,254,240,5,5,208,212,5,5,112,189,5,5,177,186,5,5,223,205,5,5,171,188,5,5,225,236,5,5,244,236,5,5,12,174,5,5,197,246,5,5,172,177,5,5,139,168,5,5,115,220,5,5,229,235,5,5,236,171,5,5,92,248,5,5,214,206,5,5,170,224,5,5,51,185,5,5,31,247,5,5,49,229,5,5,26,246,5,5,106,181,5,5,220,225,5,5,246,232,5,5,190,164,5,5,64,225,5,5,46,199,5,5,197,208,5,5,238,237,5,5,205,196,5,5,245,224,5,5,198,208,5,5,191,164,5,5,216,246,5,5,21,190,5,5,83,235,5,5,86,194,5,5,235,242,5,5,81,177,5,5,224,163,5,5,227,188,5,5,227,210,5,5,4,168,5,5,161,166,5,5,19,212,5,5,43,222,5,5,228,210,5,5,142,172,5,5,5,206,5,5,142,212,5,5,26,178,5,5,226,203,5,5,10,201,5,5,28,248,5,5,74,170,5,5,216,169,5,5,85,226,5,5,108,217,5,5,174,180,5,5,125,216,5,5,104,175,5,5,39,230,5,5,239,171,5,5,222,204,5,5,79,246,5,5,32,231,5,5,233,200,5,5,21,214,5,5,51,226,5,5,38,205,5,5,140,222,5,5,45,225,5,5,199,188,5,5,75,212,5,5,205,213,5,5,170,178,5,5,101,249,5,5,255,240,5,5,72,183,5,5,14,199,5,5,109,244,5,5,213,247,5,5,53,201,5,5,13,231,5,5,232,235,5,5,50,188,5,5,208,226,5,5,75,231,5,5,232,236,5,5,184,241,5,5,7,247,5,5,67,245,5,5,190,220,5,5,236,205,5,5,178,244,5,5,36,169,5,5,161,179,5,5,55,188,5,5,83,180,5,5,97,187,5,5,119,186,5,5,232,193,5,5,251,220,5,5,44,211,5,5,173,234,5,5,166,207,5,5,222,219,5,5,185,241,5,5,69,238,5,5,19,166,5,5,91,229,5,5,18,225,5,5,216,196,5,5,121,222,5,5,57,235,5,5,201,205,5,5,115,239,5,5,226,234,5,5,58,235,5,5,219,208,5,5,203,186,5,5,216,244,5,5,233,236,5,5,38,210,5,5,143,217,5,5,115,238,5,5,175,188,5,5,167,170,5,5,25,221,5,5,192,243,5,5,163,199,5,5,118,244,5,5,145,246,5,5,59,190,5,5,35,245,5,5,127,176,5,5,22,215,5,5,201,232,5,5,246,217,5,5,212,211,5,5,115,176,5,5,241,188,5,5,242,187,5,5,157,212,5,5,190,236,5,5,65,201,5,5,238,193,5,5,234,168,5,5,134,206,5,5,24,173,5,5,245,205,5,5,62,188,5,5,2,202,5,5,151,200,5,5,137,206,5,5,78,238,5,5,92,165,5,5,100,234,5,5,215,211,5,5,73,232,5,5,76,176,5,5,70,204,5,5,151,194,5,5,35,180,5,5,125,200,5,5,191,200,5,5,243,235,5,5,43,237,5,5,93,181,5,5,240,225,5,5,243,247,5,5,253,205,5,5,208,189,5,5,30,166,5,5,105,229,5,5,68,247,5,5,35,233,5,5,38,186,5,5,99,213,5,5,156,231,5,5,146,217,5,5,37,231,5,5,210,245,5,5,252,191,5,5,99,185,5,5,8,178,5,5,130,187,5,5,43,219,5,5,48,230,5,5,225,186,5,5,154,232,5,5,158,212,5,5,240,180,5,5,246,193,5,5,14,237,5,5,255,184,5,5,8,191,5,5,212,189,5,5,135,187,5,5,157,232,5,5,97,186,5,5,143,244,5,5,59,171,5,5,62,216,5,5,162,212,5,5,120,194,5,5,175,175,5,5,162,232,5,5,202,200,5,5,103,193,5,5,72,163,5,5,31,177,5,5,80,163,5,5,74,199,5,5,121,218,5,5,80,168,5,5,113,164,5,5,156,230,5,5,164,187,5,5,152,245,192,0,0,0,5,5,67,216,5,5,65,210,5,5,89,164,5,5,99,167,5,5,172,173,5,5,6,176,5,5,133,247,5,5,167,238,192,0,0,0,192,0,0,0,5,5,167,245,5,5,252,198,5,5,101,189,5,5,159,239,5,5,187,168,5,5,177,233,5,5,161,163,5,5,220,207,5,5,11,225,5,5,13,223,192,0,0,0,5,5,104,176,5,5,9,171,5,5,141,166,5,5,97,222,5,5,195,168,5,5,202,165,5,5,62,220,5,5,191,220,192,0,0,0,5,5,183,233,5,5,119,244,5,5,54,209,5,5,114,215,5,5,5,186,5,5,13,177,5,5,175,238,5,5,234,170,5,5,125,222,5,5,200,164,5,5,32,189,5,5,210,232,5,5,75,245,5,5,50,168,5,5,252,175,5,5,135,247,5,5,133,244,5,5,8,243,5,5,102,192,5,5,83,175,5,5,178,228,5,5,80,181,5,5,81,181,5,5,95,198,5,5,13,225,5,5,8,229,5,5,109,211,5,5,152,228,5,5,130,224,5,5,131,224,5,5,251,230,5,5,27,229,5,5,130,236,5,5,166,228,5,5,24,250,5,5,199,229,5,5,2,190,5,5,152,174,5,5,248,249,5,5,186,164,5,5,254,173,5,5,117,184,5,5,71,181,5,5,28,242,5,5,66,203,5,5,133,228,5,5,82,219,5,5,159,177,5,5,61,174,5,5,95,183,5,5,123,177,5,5,157,168,5,5,129,181,5,5,136,199,5,5,165,181,5,5,236,220,5,5,31,232,5,5,222,170,5,5,5,165,5,5,165,208,5,5,100,188,5,5,215,217,5,5,33,188,5,5,39,225,5,5,69,172,5,5,135,249,5,5,52,173,5,5,87,174,5,5,214,192,5,5,75,181,5,5,214,203,5,5,215,203,5,5,102,212,5,5,120,246,5,5,88,174,5,5,76,181,5,5,70,172,5,5,53,178,5,5,86,167,5,5,11,206,5,5,140,245,5,5,25,175,5,5,102,183,5,5,37,188,5,5,125,164,5,5,216,220,5,5,213,225,5,5,72,172,5,5,73,172,5,5,238,233,5,5,79,181,5,5,222,191,5,5,24,165,5,5,26,175,5,5,225,218,5,5,218,237,5,5,189,208,5,5,108,191,5,5,54,167,5,5,215,240,5,5,240,172,5,5,141,199,5,5,171,227,5,5,201,247,5,5,75,172,5,5,59,208,5,5,74,240,5,5,39,188,5,5,172,227,5,5,40,177,5,5,25,224,5,5,142,199,5,5,73,176,5,5,96,222,5,5,234,201,5,5,220,246,5,5,15,206,5,5,125,225,5,5,47,225,5,5,153,182,5,5,90,185,5,5,246,201,5,5,138,223,5,5,63,188,5,5,71,177,5,5,123,182,5,5,33,189,5,5,29,206,5,5,31,206,5,5,46,224,5,5,52,168,5,5,63,177,5,5,65,177,5,5,22,168,5,5,140,203,5,5,28,176,5,5,79,229,5,5,80,229,5,5,8,219,5,5,185,239,5,5,255,182,5,5,15,183,5,5,192,177,5,5,229,164,5,5,97,203,5,5,224,187,5,5,187,192,5,5,139,191,5,5,159,204,5,5,36,220,5,5,229,213,5,5,88,228,5,5,183,216,5,5,221,184,5,5,41,187,5,5,25,244,5,5,221,224,5,5,38,242,5,5,0,140,5,5,216,203,5,5,132,207,5,5,170,208,5,5,170,213,5,5,231,234,5,5,11,165,5,5,50,240,5,5,48,187,5,5,142,233,5,5,122,226,5,5,196,173,5,5,223,221,5,5,29,167,5,5,245,167,5,5,118,192,5,5,6,195,5,5,156,233,5,5,46,217,5,5,74,218,5,5,8,176,5,5,217,220,5,5,125,172,5,5,165,218,5,5,132,180,5,5,201,206,5,5,61,202,5,5,206,172,5,5,202,206,5,5,54,228,5,5,18,203,5,5,135,217,5,5,113,219,5,5,89,166,5,5,232,183,5,5,117,221,5,5,212,249,5,5,154,206,5,5,67,212,5,5,133,180,5,5,157,182,5,5,165,239,5,5,103,203,5,5,67,246,5,5,50,200,5,5,231,179,5,5,65,244,5,5,95,223,5,5,226,218,5,5,164,198,5,5,13,241,5,5,7,170,5,5,209,175,5,5,165,206,5,5,141,214,5,5,217,182,5,5,190,181,5,5,205,170,5,5,27,168,5,5,142,214,5,5,58,237,5,5,39,174,5,5,82,187,5,5,243,218,5,5,181,234,5,5,69,178,5,5,108,245,5,5,136,227,5,5,176,185,5,5,27,228,5,5,227,200,5,5,101,215,5,5,108,240,5,5,183,164,5,5,50,221,5,5,87,194,5,5,251,179,5,5,213,172,5,5,24,169,5,5,229,188,5,5,17,223,5,5,194,202,5,5,109,181,5,5,208,238,5,5,102,223,5,5,43,165,5,5,44,165,5,5,240,171,5,5,90,193,5,5,124,178,5,5,150,237,5,5,80,246,5,5,151,247,5,5,246,234,5,5,15,241,5,5,176,221,5,5,155,234,5,5,241,175,5,5,218,228,5,5,235,222,5,5,107,223,5,5,117,248,5,5,34,198,5,5,214,173,5,5,244,184,5,5,45,244,5,5,201,224,5,5,218,181,5,5,29,248,5,5,150,193,5,5,33,247,5,5,236,200,5,5,34,196,5,5,84,203,5,5,143,243,5,5,123,240,5,5,11,186,5,5,35,236,5,5,174,207,5,5,112,223,5,5,251,212,5,5,75,194,5,5,136,240,5,5,8,247,5,5,95,202,5,5,128,226,5,5,76,164,5,5,110,200,5,5,56,188,5,5,220,223,5,5,31,228,5,5,224,184,5,5,133,177,5,5,52,175,5,5,133,165,5,5,236,179,5,5,55,221,5,5,159,165,5,5,224,228,5,5,163,234,5,5,125,190,5,5,158,240,5,5,148,233,5,5,12,224,5,5,56,221,5,5,202,219,5,5,78,236,5,5,240,235,5,5,11,212,5,5,112,177,5,5,13,186,5,5,14,186,5,5,140,169,5,5,247,210,5,5,222,243,5,5,217,244,5,5,67,201,5,5,144,174,5,5,246,187,5,5,249,190,5,5,175,209,5,5,65,188,5,5,184,185,5,5,124,215,5,5,218,172,5,5,251,175,5,5,247,243,5,5,170,197,5,5,42,238,5,5,81,164,5,5,125,215,5,5,76,194,5,5,57,194,5,5,210,184,5,5,153,248,5,5,41,246,5,5,178,240,5,5,231,249,5,5,33,168,5,5,133,185,5,5,119,187,5,5,120,229,5,5,59,176,5,5,19,189,5,5,183,177,5,5,20,189,5,5,75,185,5,5,134,165,5,5,233,202,5,5,25,223,5,5,79,244,5,5,155,217,5,5,122,203,5,5,102,221,5,5,163,169,5,5,145,187,5,5,227,199,5,5,83,185,5,5,25,202,5,5,139,177,5,5,156,217,5,5,222,244,5,5,231,243,5,5,229,211,5,5,240,249,5,5,240,179,5,5,143,177,5,5,131,190,5,5,182,190,5,5,183,190,5,5,36,163,5,5,40,163,5,5,9,194,5,5,0,161,5,5,114,172,5,5,122,176,5,5,116,172,5,5,155,163,5,5,156,163,5,5,89,209,5,5,50,202,5,5,78,232,5,5,79,232,5,5,56,170,5,5,67,175,5,5,153,166,5,5,99,203,5,5,38,201,5,5,212,193,5,5,205,233,5,5,102,189,5,5,255,191,5,5,110,169,5,5,62,202,5,5,38,204,5,5,189,167,5,5,5,192,5,5,36,238,5,5,163,237,5,5,3,198,5,5,133,198,5,5,34,165,5,5,217,246,5,5,29,224,5,5,178,210,5,5,231,212,5,5,41,238,5,5,206,214,5,5,11,198,5,5,102,201,5,5,12,198,5,5,7,232,5,5,228,234,5,5,14,198,5,5,209,214,5,5,123,241,5,5,183,166,5,5,15,198,5,5,72,204,5,5,82,238,5,5,136,216,5,5,105,201,5,5,136,187,5,5,90,168,5,5,149,197,5,5,114,204,5,5,234,167,5,5,134,192,5,5,30,167,5,5,53,220,5,5,25,208,5,5,28,210,5,5,25,235,5,5,25,212,5,5,74,219,5,5,62,193,5,5,30,208,5,5,31,208,5,5,64,220,5,5,77,219,5,5,69,193,5,5,218,219,5,5,9,178,5,5,249,171,5,5,4,209,5,5,155,244,5,5,167,247,5,5,184,163,5,5,211,219,5,5,205,222,5,5,100,167,5,5,97,197,5,5,157,244,5,5,107,197,5,5,65,240,5,5,45,163,5,5,205,246,5,5,108,197,5,5,20,239,5,5,110,220,5,5,169,242,5,5,203,204,5,5,112,197,5,5,149,247,5,5,105,196,5,5,59,173,5,5,238,191,5,5,159,175,5,5,59,167,5,5,169,174,5,5,29,210,5,5,44,229,5,5,160,175,5,5,29,190,5,5,118,220,5,5,229,170,5,5,199,186,5,5,197,205,5,5,27,217,5,5,227,204,5,5,66,167,5,5,113,194,5,5,217,238,5,5,199,189,5,5,240,216,5,5,26,220,5,5,116,176,5,5,220,238,5,5,74,193,5,5,137,187,5,5,83,172,5,5,193,177,5,5,154,192,5,5,184,216,5,5,191,170,5,5,109,247,5,5,102,218,5,5,33,209,5,5,85,249,5,5,77,181,5,5,40,216,5,5,200,178,5,5,251,215,5,5,118,213,5,5,85,167,5,5,197,173,5,5,208,178,5,5,230,171,5,5,30,172,5,5,36,229,5,5,55,227,5,5,136,249,5,5,196,171,5,5,52,167,5,5,173,173,5,5,156,171,5,5,230,175,5,5,197,169,5,5,61,170,5,5,186,195,5,5,189,215,5,5,136,195,5,5,60,227,5,5,7,244,5,5,75,221,5,5,218,241,5,5,153,228,5,5,193,199,5,5,49,175,5,5,218,220,5,5,30,197,5,5,203,206,5,5,210,228,5,5,160,239,5,5,37,229,5,5,2,170,5,5,111,169,5,5,224,221,5,5,169,220,5,5,170,220,5,5,175,171,5,5,61,227,5,5,252,248,5,5,32,177,5,5,206,183,5,5,198,231,5,5,199,231,5,5,254,223,5,5,96,219,5,5,163,217,5,5,69,166,5,5,76,171,5,5,234,190,5,5,252,236,5,5,177,182,5,5,32,171,5,5,69,177,5,5,238,176,5,5,4,183,5,5,34,172,5,5,166,217,5,5,10,223,5,5,31,197,5,5,250,207,5,5,89,170,5,5,246,220,5,5,54,181,5,5,35,244,5,5,225,242,5,5,115,169,5,5,249,222,5,5,112,169,5,5,184,219,5,5,82,221,5,5,211,169,5,5,207,236,5,5,8,228,5,5,134,198,5,5,228,200,5,5,247,176,5,5,143,225,5,5,182,234,5,5,251,207,5,5,164,237,5,5,128,170,5,5,205,215,5,5,221,212,5,5,243,196,5,5,66,185,5,5,32,205,5,5,82,228,5,5,110,181,5,5,148,194,5,5,221,246,5,5,163,186,5,5,81,227,5,5,149,212,5,5,201,187,5,5,2,241,5,5,98,206,5,5,91,221,5,5,190,186,5,5,67,185,5,5,31,237,5,5,2,208,5,5,215,229,5,5,2,237,5,5,235,177,5,5,45,165,5,5,43,168,5,5,97,172,5,5,254,200,5,5,213,183,5,5,30,190,5,5,109,240,5,5,169,203,5,5,22,234,5,5,39,220,5,5,221,247,5,5,2,201,5,5,53,169,5,5,232,213,5,5,159,216,5,5,25,200,5,5,150,194,5,5,37,232,5,5,118,226,5,5,228,204,5,5,11,170,5,5,27,178,5,5,35,198,5,5,111,217,5,5,120,181,5,5,130,196,5,5,11,192,5,5,14,231,5,5,76,170,5,5,28,217,5,5,132,172,5,5,205,245,5,5,151,171,5,5,59,224,5,5,163,196,5,5,33,171,5,5,130,247,5,5,156,195,5,5,110,176,5,5,173,224,5,5,23,195,5,5,69,236,5,5,180,213,5,5,152,212,5,5,136,169,5,5,45,172,5,5,114,170,5,5,217,229,5,5,8,232,5,5,57,221,5,5,159,240,5,5,86,177,5,5,140,195,5,5,141,169,5,5,232,229,5,5,64,235,5,5,225,185,5,5,22,223,5,5,115,170,5,5,86,168,5,5,75,225,5,5,27,194,5,5,235,170,5,5,244,200,5,5,39,231,5,5,63,168,5,5,19,213,5,5,177,209,5,5,236,168,5,5,202,221,5,5,141,176,5,5,199,228,5,5,234,229,5,5,14,188,5,5,202,223,5,5,126,215,5,5,191,195,5,5,124,241,5,5,37,217,5,5,204,182,5,5,96,170,5,5,245,188,5,5,54,194,5,5,133,205,5,5,127,241,5,5,83,238,5,5,131,200,5,5,96,220,5,5,56,205,5,5,75,193,5,5,248,219,5,5,218,211,5,5,229,169,5,5,61,224,5,5,37,236,5,5,135,184,5,5,204,217,5,5,254,241,5,5,217,199,5,5,249,170,5,5,187,171,5,5,147,168,5,5,188,171,5,5,138,187,5,5,43,197,5,5,196,207,5,5,128,217,5,5,189,171,5,5,228,199,5,5,215,189,5,5,254,170,5,5,11,191,5,5,122,194,5,5,135,170,5,5,102,213,5,5,237,225,5,5,123,180,5,5,193,195,5,5,206,221,5,5,20,170,5,5,167,205,5,5,222,188,5,5,93,248,5,5,185,229,5,5,251,231,5,5,208,207,5,5,10,227,5,5,216,239,5,5,184,228,5,5,64,218,5,5,27,198,5,5,186,228,5,5,205,244,5,5,22,207,5,5,13,220,5,5,39,204,5,5,183,234,5,5,163,178,5,5,47,238,5,5,71,204,5,5,202,232,5,5,194,248,5,5,28,163,5,5,227,226,5,5,213,177,5,5,28,209,5,5,207,201,5,5,172,231,5,5,113,192,5,5,92,245,5,5,129,219,5,5,5,196,5,5,188,192,5,5,113,213,5,5,9,173,5,5,27,197,5,5,96,176,5,5,32,169,5,5,125,227,5,5,231,175,5,5,133,207,5,5,49,187,5,5,27,174,5,5,231,171,5,5,183,237,5,5,189,199,5,5,211,195,5,5,162,218,5,5,37,209,5,5,172,195,5,5,217,203,5,5,8,166,5,5,205,237,5,5,31,241,5,5,206,167,5,5,130,219,5,5,167,242,5,5,22,237,5,5,116,222,5,5,176,223,5,5,209,178,5,5,53,167,5,5,29,243,5,5,4,206,5,5,198,173,5,5,129,172,5,5,113,169,5,5,97,219,5,5,204,206,5,5,67,248,5,5,7,195,5,5,30,182,5,5,31,182,5,5,212,176,5,5,199,219,5,5,171,220,5,5,208,237,5,5,96,174,5,5,74,172,5,5,225,221,5,5,235,184,5,5,195,165,5,5,149,184,5,5,161,168,5,5,139,167,5,5,103,189,5,5,31,167,5,5,23,185,5,5,199,166,5,5,46,163,5,5,200,166,5,5,154,228,5,5,220,231,5,5,58,238,5,5,62,187,5,5,235,190,5,5,174,182,5,5,28,250,5,5,63,187,5,5,48,197,5,5,188,225,5,5,246,195,5,5,68,212,5,5,141,221,5,5,4,197,5,5,220,193,5,5,219,237,5,5,50,183,5,5,85,209,5,5,16,190,5,5,68,246,5,5,59,238,5,5,206,191,5,5,201,215,5,5,151,216,5,5,173,242,5,5,19,179,5,5,142,167,5,5,209,212,5,5,219,185,5,5,153,201,5,5,184,229,5,5,196,213,5,5,130,209,5,5,147,211,5,5,18,246,5,5,162,209,5,5,75,240,5,5,248,195,5,5,143,214,5,5,20,212,5,5,157,224,5,5,115,186,5,5,119,201,5,5,202,247,5,5,144,214,5,5,201,213,5,5,214,170,5,5,140,190,5,5,11,250,5,5,179,223,5,5,195,223,5,5,201,245,5,5,40,188,5,5,224,244,5,5,206,170,5,5,21,212,5,5,45,243,5,5,137,227,5,5,230,196,5,5,94,248,5,5,99,223,5,5,160,199,5,5,232,189,5,5,212,224,5,5,33,205,5,5,223,184,5,5,101,237,5,5,46,222,5,5,250,195,5,5,160,167,5,5,142,242,5,5,98,222,5,5,58,197,5,5,121,225,5,5,203,208,5,5,145,233,5,5,139,211,5,5,230,188,5,5,29,208,5,5,54,163,5,5,222,177,5,5,241,171,5,5,83,177,5,5,223,204,5,5,160,197,5,5,31,190,5,5,65,238,5,5,32,237,5,5,26,212,5,5,154,186,5,5,189,163,5,5,186,243,5,5,140,178,5,5,64,245,5,5,204,208,5,5,218,190,5,5,222,246,5,5,153,177,5,5,55,183,5,5,231,163,5,5,47,209,5,5,213,224,5,5,33,231,5,5,186,242,5,5,52,177,5,5,224,177,5,5,248,177,5,5,40,182,5,5,178,203,5,5,112,244,5,5,221,165,5,5,68,195,5,5,57,165,5,5,135,246,5,5,188,229,5,5,192,220,5,5,173,178,5,5,209,213,5,5,107,176,5,5,177,180,5,5,74,183,5,5,193,167,5,5,48,205,5,5,3,177,5,5,45,180,5,5,154,223,5,5,122,181,5,5,51,209,5,5,221,178,5,5,215,173,5,5,174,217,5,5,32,212,5,5,33,212,5,5,37,169,5,5,210,194,5,5,81,184,5,5,183,236,5,5,171,237,5,5,184,233,5,5,57,188,5,5,136,235,5,5,89,180,5,5,170,164,5,5,122,199,5,5,223,167,5,5,93,246,5,5,118,236,5,5,125,185,5,5,175,234,5,5,91,181,5,5,211,213,5,5,252,212,5,5,142,188,5,5,67,167,5,5,34,246,5,5,173,249,5,5,125,178,5,5,152,219,5,5,24,195,5,5,237,184,5,5,122,222,5,5,143,211,5,5,140,194,5,5,126,222,5,5,97,224,5,5,58,209,5,5,118,238,5,5,148,167,5,5,105,188,5,5,243,189,5,5,190,195,5,5,137,226,5,5,216,224,5,5,220,243,5,5,126,185,5,5,160,165,5,5,59,209,5,5,77,169,5,5,60,209,5,5,222,234,5,5,113,233,5,5,144,211,5,5,13,226,5,5,224,190,5,5,6,202,5,5,112,228,5,5,185,185,5,5,216,211,5,5,203,232,5,5,142,176,5,5,134,205,5,5,152,213,5,5,246,188,5,5,228,177,5,5,12,180,5,5,68,201,5,5,69,167,5,5,227,231,5,5,150,209,5,5,160,176,5,5,113,187,5,5,157,205,5,5,12,204,5,5,167,213,5,5,39,221,5,5,178,209,5,5,194,178,5,5,57,205,5,5,154,248,5,5,108,222,5,5,143,197,5,5,72,195,5,5,10,232,5,5,96,185,5,5,48,195,5,5,197,225,5,5,128,241,5,5,37,212,5,5,117,176,5,5,244,239,5,5,30,206,5,5,231,167,5,5,232,167,5,5,155,248,5,5,131,168,5,5,9,238,5,5,86,238,5,5,32,195,5,5,251,204,5,5,161,248,5,5,38,231,5,5,250,170,5,5,33,167,5,5,197,233,5,5,133,163,5,5,91,244,5,5,58,169,5,5,227,233,5,5,129,215,5,5,44,197,5,5,101,185,5,5,136,185,5,5,46,219,5,5,139,187,5,5,140,187,5,5,33,173,5,5,41,212,5,5,34,167,5,5,144,244,5,5,146,187,5,5,12,191,5,5,13,191,5,5,150,169,5,5,137,163,5,5,244,229,5,5,123,194,5,5,53,186,5,5,143,232,5,5,209,242,5,5,30,227,5,5,24,227,5,5,248,186,5,5,177,230,5,5,188,227,5,5,206,248,5,5,168,235,5,5,166,208,5,5,34,179,5,5,44,169,5,5,58,214,5,5,145,241,5,5,46,215,5,5,171,208,5,5,172,208,5,5,163,218,5,5,176,164,5,5,137,178,5,5,243,222,5,5,128,230,5,5,97,239,5,5,245,226,5,5,109,242,5,5,211,218,5,5,24,181,5,5,97,174,5,5,204,174,5,5,94,171,5,5,235,232,5,5,75,218,5,5,61,237,5,5,3,170,5,5,12,233,5,5,166,211,5,5,70,199,5,5,226,221,5,5,179,228,5,5,23,237,5,5,173,233,5,5,212,223,5,5,37,171,5,5,68,191,5,5,21,248,5,5,71,216,5,5,29,245,5,5,16,181,5,5,92,168,5,5,228,221,5,5,15,194,5,5,197,213,5,5,81,218,5,5,187,202,5,5,45,192,5,5,175,220,5,5,46,192,5,5,212,229,5,5,224,205,5,5,213,228,5,5,223,191,5,5,231,196,5,5,248,176,5,5,140,175,5,5,201,199,5,5,187,179,5,5,205,208,5,5,91,193,5,5,107,194,5,5,41,233,5,5,128,189,5,5,32,190,5,5,74,166,5,5,229,205,5,5,142,175,5,5,122,218,5,5,22,190,5,5,84,224,5,5,190,163,5,5,168,219,5,5,26,200,5,5,85,242,5,5,140,213,5,5,144,243,5,5,139,231,5,5,205,199,5,5,193,220,5,5,131,174,5,5,103,249,5,5,34,245,5,5,156,215,5,5,46,244,5,5,89,218,5,5,109,239,5,5,220,169,5,5,126,235,5,5,4,177,5,5,247,163,5,5,53,222,5,5,197,220,5,5,20,250,5,5,96,202,5,5,51,192,5,5,90,180,5,5,137,235,5,5,54,169,5,5,71,179,5,5,255,174,5,5,120,217,5,5,221,208,5,5,138,248,5,5,94,213,5,5,7,202,5,5,191,235,5,5,100,224,5,5,57,176,5,5,58,194,5,5,47,237,5,5,14,187,5,5,202,184,5,5,51,171,5,5,154,175,5,5,141,187,5,5,157,230,5,5,242,248,5,5,201,180,5,5,163,232,5,5,161,185,5,5,33,230,5,5,11,248,5,5,173,247,5,5,178,186,5,5,76,214,5,5,237,210,5,5,83,197,5,5,181,181,5,5,12,215,5,5,107,235,5,5,90,230,5,5,182,181,5,5,173,231,5,5,142,223,5,5,135,192,5,5,35,240,5,5,44,215,5,5,60,166,5,5,64,184,5,5,221,209,5,5,222,209,5,5,226,222,5,5,131,173,5,5,246,197,5,5,137,249,5,5,2,195,5,5,157,171,5,5,69,218,5,5,82,206,5,5,232,164,5,5,70,218,5,5,61,248,5,5,95,171,5,5,27,196,5,5,107,164,5,5,209,167,5,5,154,183,5,5,64,187,5,5,41,242,5,5,213,232,5,5,210,167,5,5,81,163,5,5,104,189,5,5,114,169,5,5,145,225,5,5,66,184,5,5,223,210,5,5,8,244,5,5,242,232,5,5,212,218,5,5,76,218,5,5,99,229,5,5,62,207,5,5,179,231,5,5,176,199,5,5,217,201,5,5,57,225,5,5,178,182,5,5,227,218,5,5,177,199,5,5,113,197,5,5,127,243,5,5,119,231,5,5,228,218,5,5,104,203,5,5,101,230,5,5,37,178,5,5,166,239,5,5,142,221,5,5,82,200,5,5,192,184,5,5,218,174,5,5,222,212,5,5,124,195,5,5,116,186,5,5,40,174,5,5,16,218,5,5,213,229,5,5,69,191,5,5,232,196,5,5,141,192,5,5,94,206,5,5,169,180,5,5,115,225,5,5,212,181,5,5,233,227,5,5,214,229,5,5,44,241,5,5,219,190,5,5,33,190,5,5,92,193,5,5,247,232,5,5,104,230,5,5,167,222,5,5,167,164,5,5,173,163,5,5,235,201,5,5,86,218,5,5,251,218,5,5,234,196,5,5,155,186,5,5,161,167,5,5,15,195,5,5,75,166,5,5,30,224,5,5,42,233,5,5,105,248,5,5,132,236,5,5,110,191,5,5,50,216,5,5,110,239,5,5,141,213,5,5,222,165,5,5,202,202,5,5,132,174,5,5,46,168,5,5,170,184,5,5,119,203,5,5,236,222,5,5,103,233,5,5,236,216,5,5,69,225,5,5,163,175,5,5,56,247,5,5,115,215,5,5,140,231,5,5,131,248,5,5,213,202,5,5,34,217,5,5,228,220,5,5,18,219,5,5,166,175,5,5,94,203,5,5,247,201,5,5,32,192,5,5,33,192,5,5,64,193,5,5,77,231,5,5,34,237,5,5,103,231,5,5,219,202,5,5,220,195,5,5,107,172,5,5,88,234,5,5,226,169,5,5,34,219,5,5,203,202,5,5,55,190,5,5,134,236,5,5,3,202,5,5,218,244,5,5,57,247,5,5,232,209,5,5,241,235,5,5,167,197,5,5,160,240,5,5,70,201,5,5,118,209,5,5,142,202,5,5,44,237,5,5,168,214,5,5,237,168,5,5,13,204,5,5,14,222,5,5,238,222,5,5,54,233,5,5,81,191,5,5,48,237,5,5,203,184,5,5,245,235,5,5,132,200,5,5,150,230,5,5,177,184,5,5,162,248,5,5,132,168,5,5,234,202,5,5,85,182,5,5,58,247,5,5,80,225,5,5,218,199,5,5,45,197,5,5,84,191,5,5,173,165,5,5,252,235,5,5,158,230,5,5,17,222,5,5,242,186,5,5,15,235,5,5,55,217,5,5,135,245,5,5,124,204,5,5,132,212,5,5,178,212,5,5,133,212,5,5,51,197,5,5,143,247,5,5,148,228,5,5,125,206,5,5,234,241,5,5,48,226,5,5,158,222,5,5,184,181,5,5,170,185,5,5,98,209,5,5,196,219,5,5,219,241,5,5,216,165,5,5,8,164,5,5,220,241,5,5,70,166,5,5,141,245,5,5,171,221,5,5,88,204,5,5,194,209,5,5,99,177,5,5,2,245,5,5,222,193,5,5,167,241,5,5,229,218,5,5,123,226,5,5,239,241,5,5,48,181,5,5,93,204,5,5,124,226,5,5,103,208,5,5,145,214,5,5,107,225,5,5,153,195,5,5,16,235,5,5,176,245,5,5,42,176,5,5,16,196,5,5,16,195,5,5,47,222,5,5,203,216,5,5,133,236,5,5,72,194,5,5,106,196,5,5,211,175,5,5,78,222,5,5,192,217,5,5,179,245,5,5,148,245,5,5,45,241,5,5,222,247,5,5,81,207,5,5,153,212,5,5,193,241,5,5,194,241,5,5,51,181,5,5,247,223,5,5,34,248,5,5,92,181,5,5,113,177,5,5,93,207,5,5,25,188,5,5,10,213,5,5,123,245,5,5,108,196,5,5,129,226,5,5,216,219,5,5,194,196,5,5,192,196,5,5,250,190,5,5,79,225,5,5,253,234,5,5,81,168,5,5,93,232,5,5,21,235,5,5,205,209,5,5,159,212,5,5,219,175,5,5,94,232,5,5,38,191,5,5,123,209,5,5,26,187,5,5,203,225,5,5,110,227,5,5,194,174,5,5,195,210,5,5,210,225,5,5,142,201,5,5,173,208,5,5,23,198,5,5,55,229,5,5,143,173,5,5,136,229,5,5,168,171,5,5,238,211,5,5,137,220,5,5,227,221,5,5,105,189,5,5,236,190,5,5,90,166,5,5,155,206,5,5,164,206,5,5,11,221,5,5,179,163,5,5,182,235,5,5,60,208,5,5,158,201,5,5,180,182,5,5,112,237,5,5,166,206,5,5,106,177,5,5,110,240,5,5,148,229,5,5,171,206,5,5,241,211,5,5,179,203,5,5,164,168,5,5,159,178,5,5,249,227,5,5,134,222,5,5,140,234,5,5,128,176,5,5,28,235,5,5,216,245,5,5,186,206,5,5,184,195,5,5,187,206,5,5,165,221,5,5,167,221,5,5,22,185,5,5,151,167,5,5,174,247,5,5,37,223,5,5,116,192,5,5,192,170,5,5,169,221,5,5,252,246,5,5,22,178,5,5,218,201,5,5,191,214,5,5,0,144,5,5,62,237,5,5,63,202,5,5,2,211,5,5,232,219,5,5,79,237,5,5,247,240,5,5,91,222,5,5,40,249,5,5,71,199,5,5,179,198,5,5,219,214,5,5,108,234,5,5,15,165,5,5,234,164,5,5,20,205,5,5,228,239,5,5,238,178,5,5,57,228,5,5,23,229,5,5,8,175,5,5,172,176,5,5,173,221,5,5,243,182,5,5,11,223,5,5,12,193,5,5,70,187,5,5,107,209,5,5,6,172,5,5,254,163,5,5,26,181,5,5,179,235,5,5,106,174,5,5,241,233,5,5,134,164,5,5,255,166,5,5,27,175,5,5,181,231,5,5,239,176,5,5,113,189,5,5,247,231,5,5,144,184,5,5,107,174,5,5,74,192,5,5,15,173,5,5,20,203,5,5,139,192,5,5,60,173,5,5,19,227,5,5,53,170,5,5,189,166,5,5,244,180,5,5,209,204,5,5,137,212,5,5,237,190,5,5,25,172,5,5,196,165,5,5,141,190,5,5,41,194,5,5,172,211,5,5,43,223,5,5,134,243,5,5,241,241,5,5,150,215,5,5,239,164,5,5,143,212,5,5,57,196,5,5,133,176,5,5,197,214,5,5,176,205,5,5,72,212,5,5,81,237,5,5,189,230,5,5,131,172,5,5,5,197,5,5,235,221,5,5,212,182,5,5,229,201,5,5,31,175,5,5,185,198,5,5,246,233,5,5,252,222,5,5,154,195,5,5,52,185,5,5,35,165,5,5,216,227,5,5,71,176,5,5,88,221,5,5,248,233,5,5,43,174,5,5,146,249,5,5,219,181,5,5,162,166,5,5,191,186,5,5,120,186,5,5,27,207,5,5,88,194,5,5,39,205,5,5,96,198,5,5,183,182,5,5,206,213,5,5,252,218,5,5,116,225,5,5,63,237,5,5,82,227,5,5,241,221,5,5,248,232,5,5,204,214,5,5,235,227,5,5,153,181,5,5,249,233,5,5,187,242,5,5,49,192,5,5,88,196,5,5,126,192,5,5,31,224,5,5,50,197,5,5,208,192,5,5,147,249,5,5,142,237,5,5,87,210,5,5,205,214,5,5,40,205,5,5,44,167,5,5,56,185,5,5,105,232,5,5,240,164,5,5,58,165,5,5,59,165,5,5,209,191,5,5,119,179,5,5,201,193,5,5,152,247,5,5,229,204,5,5,164,175,5,5,22,193,5,5,48,223,5,5,95,221,5,5,140,211,5,5,163,227,5,5,40,220,5,5,40,190,5,5,107,163,5,5,242,201,5,5,231,188,5,5,64,237,5,5,63,208,5,5,133,174,5,5,89,219,5,5,23,193,5,5,59,197,5,5,134,210,5,5,94,210,5,5,64,208,5,5,40,226,5,5,89,194,5,5,12,249,5,5,253,233,5,5,224,232,5,5,141,163,5,5,255,231,5,5,112,209,5,5,70,182,5,5,98,190,5,5,243,175,5,5,156,214,5,5,242,230,5,5,120,205,5,5,114,217,5,5,203,165,5,5,84,237,5,5,53,216,5,5,158,215,5,5,202,168,5,5,198,220,5,5,129,216,5,5,20,199,5,5,188,239,5,5,244,221,5,5,192,248,5,5,86,226,5,5,99,191,5,5,7,245,5,5,251,178,5,5,191,229,5,5,97,202,5,5,170,203,5,5,60,201,5,5,130,216,5,5,13,170,5,5,67,173,5,5,62,226,5,5,146,222,5,5,103,168,5,5,217,173,5,5,177,221,5,5,61,201,5,5,116,209,5,5,36,198,5,5,228,209,5,5,161,171,5,5,186,210,5,5,102,193,5,5,168,196,5,5,115,227,5,5,4,186,5,5,155,249,5,5,139,197,5,5,94,180,5,5,229,248,5,5,13,224,5,5,15,192,5,5,190,172,5,5,243,230,5,5,98,221,5,5,63,192,5,5,253,183,5,5,190,210,5,5,208,214,5,5,19,235,5,5,32,191,5,5,171,167,5,5,30,178,5,5,106,187,5,5,79,165,5,5,59,222,5,5,176,225,5,5,218,227,5,5,53,223,5,5,249,221,5,5,48,211,5,5,246,190,5,5,31,186,5,5,239,204,5,5,147,166,5,5,213,186,5,5,126,200,5,5,85,165,5,5,188,176,5,5,66,235,5,5,151,242,5,5,175,167,5,5,89,234,5,5,148,222,5,5,13,168,5,5,87,168,5,5,188,175,5,5,149,248,5,5,136,171,5,5,117,182,5,5,9,232,5,5,219,227,5,5,55,194,5,5,197,239,5,5,88,199,5,5,146,224,5,5,159,195,5,5,164,234,5,5,207,168,5,5,89,232,5,5,8,202,5,5,28,194,5,5,192,236,5,5,6,186,5,5,3,234,5,5,60,190,5,5,83,184,5,5,214,236,5,5,20,235,5,5,117,177,5,5,216,236,5,5,27,185,5,5,177,178,5,5,82,189,5,5,169,214,5,5,127,163,5,5,121,171,5,5,220,227,5,5,118,176,5,5,250,187,5,5,253,175,5,5,184,177,5,5,181,174,5,5,58,205,5,5,18,172,5,5,175,196,5,5,116,175,5,5,17,204,5,5,129,176,5,5,74,201,5,5,85,237,5,5,186,185,5,5,124,232,5,5,175,214,5,5,68,190,5,5,106,227,5,5,125,232,5,5,70,209,5,5,216,166,5,5,71,209,5,5,217,166,5,5,147,192,5,5,101,207,5,5,46,178,5,5,69,190,5,5,199,242,5,5,142,163,5,5,77,176,5,5,15,236,5,5,4,222,5,5,255,190,5,5,103,210,5,5,162,188,5,5,148,166,5,5,70,220,5,5,79,185,5,5,117,227,5,5,46,186,5,5,178,196,5,5,249,247,5,5,237,248,5,5,236,197,5,5,206,220,5,5,131,179,5,5,241,180,5,5,12,184,5,5,47,224,5,5,114,202,5,5,219,240,5,5,72,209,5,5,146,180,5,5,154,222,5,5,72,220,5,5,254,172,5,5,75,236,5,5,71,220,5,5,198,210,5,5,74,222,5,5,148,180,5,5,78,190,5,5,216,189,5,5,72,205,5,5,72,182,5,5,203,244,5,5,172,248,5,5,84,185,5,5,15,191,5,5,128,209,5,5,168,188,5,5,54,186,5,5,112,210,5,5,243,248,5,5,224,222,5,5,230,211,5,5,169,188,5,5,213,165,5,5,181,178,5,5,63,233,5,5,243,186,5,5,153,235,5,5,117,190,5,5,204,244,5,5,245,248,5,5,76,222,5,5,182,248,5,5,68,171,5,5,165,176,5,5,10,173,5,5,141,228,5,5,131,219,5,5,149,228,5,5,214,184,5,5,98,197,5,5,144,185,5,5,47,215,5,5,175,231,5,5,151,183,5,5,36,235,5,5,58,221,5,5,71,210,5,5,204,219,5,5,235,164,5,5,91,164,5,5,101,245,5,5,128,227,5,5,212,195,5,5,52,230,5,5,125,173,5,5,16,165,5,5,233,234,5,5,253,243,5,5,136,219,5,5,67,223,5,5,147,179,5,5,98,199,5,5,0,145,5,5,71,187,5,5,121,192,5,5,67,207,5,5,202,166,5,5,116,169,5,5,144,234,5,5,80,220,5,5,57,220,5,5,179,186,5,5,152,236,5,5,55,181,5,5,72,187,5,5,223,212,5,5,157,236,5,5,159,201,5,5,181,182,5,5,128,231,5,5,242,233,5,5,220,248,5,5,17,220,5,5,228,188,5,5,178,222,5,5,162,163,5,5,221,185,5,5,134,173,5,5,38,239,5,5,173,211,5,5,178,197,5,5,47,189,5,5,210,215,5,5,120,174,5,5,48,189,5,5,96,234,5,5,99,206,5,5,6,187,5,5,223,248,5,5,41,190,5,5,253,206,5,5,210,208,5,5,247,234,5,5,175,163,5,5,20,221,5,5,232,188,5,5,146,233,5,5,103,206,5,5,183,193,5,5,161,199,5,5,90,236,5,5,91,236,5,5,91,180,5,5,223,165,5,5,42,230,5,5,218,171,5,5,37,198,5,5,237,216,5,5,147,233,5,5,21,199,5,5,121,205,5,5,123,232,5,5,188,233,5,5,204,186,5,5,95,214,5,5,52,174,5,5,171,184,5,5,242,163,5,5,66,193,5,5,11,215,5,5,16,192,5,5,95,180,5,5,47,210,5,5,96,203,5,5,33,234,5,5,182,222,5,5,98,180,5,5,45,171,5,5,93,236,5,5,139,173,5,5,63,232,5,5,222,195,5,5,68,206,5,5,78,169,5,5,94,236,5,5,95,236,5,5,176,184,5,5,25,213,5,5,54,189,5,5,69,206,5,5,98,196,5,5,145,163,5,5,196,200,5,5,167,229,5,5,152,233,5,5,236,215,5,5,178,184,5,5,120,182,5,5,17,184,5,5,147,187,5,5,21,233,5,5,196,176,5,5,20,184,5,5,59,181,5,5,100,186,5,5,86,171,5,5,106,235,5,5,125,204,5,5,108,213,5,5,195,194,5,5,105,221,5,5,127,204,5,5,99,242,5,5,167,202,5,5,168,223,5,5,51,220,5,5,221,217,5,5,191,248,5,5,144,201,5,5,144,247,5,5,99,197,5,5,193,246,5,5,129,230,5,5,53,247,5,5,26,247,5,5,13,210,5,5,240,182,5,5,114,231,5,5,218,179,5,5,54,184,5,5,228,172,5,5,171,202,5,5,73,229,5,5,98,226,5,5,211,167,5,5,244,220,5,5,129,227,5,5,149,201,5,5,167,218,5,5,64,202,5,5,78,173,5,5,139,249,5,5,130,230,5,5,9,176,5,5,171,205,5,5,148,236,5,5,176,173,5,5,224,236,5,5,234,234,5,5,150,204,5,5,213,231,5,5,34,163,5,5,187,205,5,5,35,174,5,5,230,218,5,5,206,233,5,5,184,231,5,5,22,224,5,5,154,201,5,5,214,231,5,5,147,185,5,5,124,213,5,5,108,174,5,5,70,214,5,5,157,228,5,5,49,163,5,5,229,221,5,5,168,211,5,5,114,189,5,5,230,221,5,5,6,228,5,5,159,192,5,5,66,244,5,5,109,174,5,5,33,182,5,5,219,220,5,5,98,175,5,5,217,225,5,5,196,226,5,5,211,222,5,5,96,215,5,5,236,232,5,5,86,208,5,5,109,164,5,5,205,211,5,5,117,169,5,5,143,229,5,5,37,233,5,5,49,197,5,5,91,206,5,5,138,230,5,5,186,198,5,5,77,214,5,5,160,203,5,5,144,221,5,5,26,224,5,5,134,193,5,5,163,163,5,5,156,207,5,5,32,197,5,5,10,199,5,5,217,233,5,5,175,200,5,5,220,192,5,5,159,179,5,5,161,203,5,5,31,196,5,5,44,204,5,5,73,212,5,5,230,191,5,5,142,190,5,5,170,217,5,5,179,164,5,5,206,215,5,5,116,174,5,5,254,191,5,5,22,179,5,5,62,231,5,5,56,181,5,5,135,243,5,5,120,185,5,5,78,214,5,5,252,207,5,5,19,217,5,5,224,191,5,5,41,177,5,5,213,182,5,5,116,235,5,5,58,206,5,5,72,216,5,5,86,200,5,5,157,207,5,5,117,218,5,5,41,205,5,5,3,208,5,5,18,223,5,5,207,171,5,5,224,220,5,5,73,191,5,5,117,225,5,5,32,210,5,5,86,229,5,5,153,164,5,5,214,182,5,5,149,214,5,5,179,200,5,5,208,210,5,5,241,192,5,5,9,215,5,5,175,180,5,5,225,179,5,5,22,214,5,5,162,201,5,5,135,213,5,5,121,174,5,5,135,181,5,5,3,237,5,5,142,178,5,5,235,196,5,5,44,174,5,5,100,206,5,5,77,199,5,5,87,218,5,5,188,242,5,5,106,208,5,5,242,173,5,5,195,202,5,5,43,217,5,5,148,230,5,5,104,233,5,5,172,224,5,5,89,178,5,5,98,187,5,5,96,191,5,5,50,189,5,5,34,224,5,5,105,212,5,5,9,228,5,5,211,208,5,5,212,208,5,5,165,222,5,5,213,208,5,5,223,246,5,5,183,210,5,5,218,215,5,5,29,228,5,5,31,246,5,5,17,209,5,5,188,179,5,5,224,246,5,5,199,192,5,5,100,247,5,5,185,164,5,5,99,222,5,5,24,234,5,5,184,193,5,5,248,234,5,5,211,190,5,5,92,188,5,5,18,209,5,5,144,220,5,5,60,165,5,5,8,226,5,5,134,189,5,5,180,171,5,5,140,208,5,5,113,209,5,5,90,181,5,5,105,233,5,5,138,194,5,5,106,232,5,5,240,212,5,5,141,231,5,5,173,216,5,5,63,189,5,5,198,205,5,5,164,172,5,5,252,230,5,5,243,171,5,5,120,248,5,5,135,233,5,5,19,173,5,5,97,191,5,5,29,217,5,5,120,244,5,5,3,229,5,5,67,209,5,5,35,217,5,5,54,216,5,5,233,204,5,5,69,195,5,5,221,215,5,5,34,231,5,5,181,171,5,5,248,201,5,5,175,178,5,5,170,226,5,5,9,177,5,5,245,171,5,5,152,171,5,5,64,249,5,5,87,214,5,5,30,164,5,5,139,235,5,5,229,209,5,5,204,165,5,5,206,200,5,5,224,192,5,5,59,235,5,5,212,171,5,5,140,246,5,5,231,174,5,5,95,246,5,5,214,179,5,5,62,192,5,5,162,171,5,5,29,214,5,5,202,188,5,5,108,233,5,5,248,165,5,5,195,249,5,5,146,243,5,5,180,180,5,5,115,193,5,5,19,219,5,5,196,249,5,5,73,225,5,5,95,224,5,5,109,175,5,5,212,213,5,5,65,249,5,5,137,233,5,5,210,216,5,5,234,244,5,5,170,246,5,5,225,192,5,5,115,217,5,5,182,244,5,5,246,205,5,5,161,240,5,5,105,222,5,5,219,183,5,5,149,164,5,5,67,193,5,5,68,167,5,5,68,220,5,5,240,204,5,5,163,233,5,5,85,212,5,5,2,230,5,5,120,249,5,5,213,213,5,5,223,234,5,5,11,213,5,5,80,231,5,5,165,179,5,5,239,174,5,5,156,249,5,5,176,224,5,5,35,192,5,5,224,230,5,5,26,199,5,5,52,232,5,5,139,180,5,5,226,215,5,5,191,236,5,5,230,220,5,5,149,233,5,5,166,179,5,5,106,201,5,5,30,234,5,5,86,165,5,5,11,174,5,5,165,234,5,5,214,186,5,5,217,236,5,5,251,242,5,5,95,213,5,5,151,233,5,5,95,185,5,5,11,208,5,5,192,210,5,5,153,170,5,5,134,218,5,5,82,191,5,5,108,172,5,5,88,168,5,5,151,188,5,5,46,171,5,5,179,217,5,5,138,233,5,5,9,202,5,5,68,228,5,5,45,237,5,5,26,173,5,5,102,191,5,5,193,164,5,5,117,239,5,5,23,236,5,5,97,170,5,5,197,241,5,5,78,211,5,5,13,201,5,5,239,215,5,5,235,202,5,5,167,227,5,5,27,215,5,5,72,230,5,5,180,217,5,5,49,237,5,5,153,209,5,5,205,232,5,5,254,232,5,5,96,218,5,5,116,228,5,5,96,236,5,5,248,188,5,5,156,248,5,5,249,172,5,5,251,187,5,5,14,226,5,5,73,233,5,5,141,205,5,5,31,230,5,5,148,224,5,5,4,231,5,5,28,215,5,5,133,200,5,5,153,199,5,5,59,233,5,5,26,213,5,5,80,211,5,5,209,249,5,5,54,175,5,5,34,229,5,5,137,200,5,5,157,213,5,5,246,235,5,5,63,205,5,5,32,206,5,5,197,200,5,5,75,232,5,5,70,235,5,5,110,214,5,5,74,204,5,5,96,165,5,5,61,176,5,5,182,240,5,5,207,184,5,5,51,237,5,5,183,240,5,5,222,227,5,5,217,216,5,5,239,202,5,5,33,166,5,5,162,210,5,5,47,186,5,5,241,168,5,5,205,217,5,5,61,233,5,5,241,208,5,5,184,167,5,5,3,242,5,5,151,169,5,5,159,185,5,5,41,214,5,5,62,233,5,5,46,197,5,5,24,242,5,5,40,217,5,5,102,185,5,5,76,215,5,5,113,224,5,5,118,204,5,5,217,189,5,5,114,224,5,5,149,244,5,5,14,234,5,5,167,230,5,5,79,215,5,5,30,233,5,5,64,233,5,5,156,190,5,5,244,186,5,5,176,175,5,5,89,186,5,5,114,185,5,5,214,188,5,5,102,235,5,5,121,204,5,5,140,247,5,5,130,201,5,5,42,220,5,5,39,215,5,5,134,191,5,5,190,248,5,5,43,202,5,5,187,246,5,5,21,197,5,5,152,202,5,5,116,230,5,5,51,246,5,5,132,249,5,5,135,201,5,5,95,226,5,5,199,167,5,5,121,227,5,5,182,192,5,5,235,182,5,5,122,230,5,5,140,233,5,5,195,190,5,5,72,173,5,5,151,218,5,5,21,247,5,5,169,173,5,5,211,221,5,5,234,220,5,5,51,184,5,5,62,229,5,5,183,215,5,5,155,192,5,5,54,214,5,5,75,174,5,5,185,188,5,5,230,232,5,5,142,228,5,5,114,213,5,5,65,218,5,5,202,222,5,5,47,220,5,5,105,164,5,5,76,174,5,5,206,225,5,5,2,228,5,5,36,240,5,5,80,206,5,5,84,175,5,5,152,164,5,5,52,231,5,5,145,203,5,5,25,196,5,5,29,230,5,5,27,177,5,5,177,198,5,5,72,200,5,5,253,191,5,5,162,217,5,5,55,206,5,5,135,190,5,5,134,207,5,5,33,204,5,5,208,182,5,5,234,192,5,5,133,214,5,5,247,207,5,5,16,215,5,5,122,213,5,5,9,237,5,5,151,179,5,5,172,202,5,5,162,180,5,5,222,201,5,5,11,217,5,5,115,189,5,5,99,244,5,5,12,217,5,5,13,209,5,5,158,172,5,5,2,226,5,5,2,229,5,5,132,194,5,5,32,229,5,5,19,246,5,5,177,171,5,5,26,228,5,5,189,164,5,5,23,224,5,5,184,179,5,5,88,188,5,5,104,212,5,5,89,233,5,5,139,220,5,5,212,246,5,5,90,191,5,5,93,222,5,5,120,231,5,5,64,195,5,5,47,216,5,5,213,204,5,5,206,171,5,5,67,186,5,5,170,180,5,5,160,171,5,5,230,201,5,5,112,249,5,5,87,200,5,5,117,235,5,5,84,178,5,5,167,178,5,5,244,165,5,5,207,215,5,5,58,192,5,5,95,222,5,5,204,200,5,5,249,176,5,5,72,191,5,5,199,165,5,5,237,171,5,5,48,249,5,5,230,205,5,5,224,174,5,5,222,230,5,5,225,220,5,5,5,174,5,5,213,234,5,5,27,192,5,5,85,224,5,5,192,186,5,5,112,240,5,5,224,204,5,5,17,166,5,5,70,168,5,5,144,170,5,5,89,185,5,5,113,244,5,5,211,236,5,5,92,170,5,5,22,236,5,5,30,214,5,5,239,187,5,5,104,228,5,5,197,232,5,5,23,206,5,5,161,210,5,5,148,209,5,5,188,200,5,5,67,204,5,5,60,233,5,5,230,172,5,5,55,214,5,5,189,192,5,5,233,172,5,5,8,212,5,5,234,172,5,5,65,209,5,5,50,163,5,5,191,168,5,5,101,216,5,5,252,219,5,5,200,192,5,5,114,244,5,5,122,244,5,5,145,211,5,5,235,213,5,5,114,194,5,5,74,233,5,5,14,180,5,5,131,234,5,5,62,209,5,5,136,247,5,5,139,244,5,5,103,185,5,5,21,180,5,5,218,189,5,5,124,194,5,5,88,247,5,5,87,247,5,5,178,192,5,5,92,247,5,5,105,198,5,5,89,190,5,5,85,190,5,5,89,174,5,5,36,171,5,5,126,172,5,5,10,193,5,5,193,221,5,5,205,206,5,5,26,170,5,5,41,193,5,5,233,171,5,5,192,192,5,5,19,163,5,5,133,193,5,5,171,180,5,5,253,207,5,5,117,174,5,5,219,228,5,5,239,242,5,5,239,219,5,5,43,233,5,5,135,193,5,5,48,222,5,5,106,248,5,5,253,218,5,5,235,238,5,5,133,172,5,5,70,186,5,5,112,229,5,5,127,235,5,5,8,168,5,5,55,169,5,5,94,188,5,5,24,163,5,5,135,172,5,5,209,186,5,5,248,223,5,5,146,246,5,5,80,165,5,5,224,202,5,5,204,232,5,5,163,226,5,5,98,188,5,5,10,202,5,5,12,208,5,5,123,171,5,5,249,219,5,5,102,190,5,5,17,168,5,5,30,202,5,5,36,202,5,5,176,190,5,5,15,244,5,5,72,171,5,5,31,211,5,5,24,175,5,5,237,169,5,5,31,244,5,5,77,242,5,5,74,242,5,5,100,173,5,5,0,146,5,5,2,192,5,5,83,244,5,5,42,193,5,5,32,211,5,5,174,232,5,5,3,192,5,5,117,189,5,5,76,240,5,5,231,221,5,5,152,176,5,5,244,214,5,5,74,211,5,5,170,239,5,5,208,215,5,5,63,231,5,5,123,212,5,5,124,212,5,5,76,211,5,5,180,200,5,5,209,236,5,5,211,215,5,5,113,240,5,5,90,244,5,5,45,211,5,5,138,210,5,5,224,247,5,5,226,192,5,5,183,203,5,5,56,180,5,5,71,249,5,5,12,213,5,5,28,173,5,5,70,228,5,5,118,173,5,5,71,228,5,5,182,188,5,5,100,185,5,5,228,192,5,5,85,183,5,5,85,211,5,5,163,224,5,5,6,248,5,5,232,194,5,5,51,240,5,5,154,226,5,5,115,247,5,5,79,173,5,5,150,201,5,5,91,223,5,5,92,223,5,5,235,234,5,5,110,174,5,5,198,213,5,5,126,164,5,5,77,240,5,5,229,184,5,5,78,240,5,5,214,167,5,5,118,189,5,5,101,188,5,5,231,218,5,5,206,211,5,5,48,213,5,5,17,214,5,5,73,216,5,5,224,212,5,5,129,213,5,5,36,195,5,5,197,209,5,5,88,200,5,5,17,200,5,5,150,214,5,5,161,227,5,5,163,201,5,5,18,206,5,5,181,176,5,5,249,234,5,5,188,172,5,5,165,175,5,5,164,227,5,5,108,223,5,5,245,221,5,5,50,205,5,5,116,217,5,5,113,223,5,5,104,168,5,5,109,233,5,5,200,246,5,5,29,200,5,5,38,198,5,5,140,197,5,5,168,197,5,5,151,198,5,5,119,238,5,5,73,168,5,5,171,240,5,5,152,188,5,5,40,198,5,5,161,238,5,5,249,188,5,5,104,167,5,5,206,209,5,5,122,238,5,5,250,172,5,5,172,240,5,5,138,200,5,5,126,217,5,5,173,175,5,5,2,242,5,5,193,185,5,5,192,185,5,5,119,195,5,5,64,170,5,5,164,219,5,5,177,208,5,5,72,192,5,5,75,192,5,5,76,192,5,5,68,177,5,5,42,177,5,5,26,239,5,5,173,229,5,5,28,231,5,5,24,183,5,5,25,183,5,5,155,178,5,5,117,185,5,5,130,181,5,5,176,231,5,5,217,192,5,5,7,224,5,5,252,197,5,5,140,249,5,5,20,163,5,5,215,167,5,5,167,239,5,5,180,235,5,5,251,211,5,5,21,203,5,5,68,207,5,5,166,199,5,5,162,225,5,5,209,185,5,5,220,190,5,5,88,202,5,5,54,180,5,5,191,238,5,5,241,185,5,5,88,183,5,5,46,206,5,5,128,167,5,5,90,219,5,5,245,185,5,5,15,202,5,5,216,185,5,5,221,199,5,5,25,242,5,5,153,169,5,5,244,199,5,5,53,239,5,5,19,240,5,5,195,177,5,5,61,241,5,5,6,175,5,5,111,237,5,5,224,210,5,5,141,249,5,5,69,223,5,5,232,175,5,5,233,175,5,5,151,201,5,5,235,192,5,5,106,218,5,5,87,167,5,5,233,183,5,5,235,175,5,5,220,220,5,5,193,223,5,5,119,189,5,5,83,221,5,5,79,242,5,5,157,245,5,5,225,187,5,5,238,190,5,5,112,218,5,5,114,184,5,5,18,181,5,5,39,239,5,5,41,241,5,5,249,180,5,5,109,193,5,5,42,217,5,5,124,188,5,5,5,198,5,5,50,229,5,5,202,187,5,5,155,168,5,5,104,206,5,5,82,207,5,5,241,164,5,5,220,176,5,5,169,193,5,5,34,247,5,5,30,217,5,5,162,168,5,5,51,235,5,5,230,177,5,5,168,183,5,5,157,181,5,5,30,207,5,5,60,235,5,5,107,196,5,5,215,188,5,5,169,196,5,5,61,235,5,5,143,188,5,5,131,247,5,5,172,196,5,5,148,188,5,5,153,188,5,5,67,235,5,5,120,238,5,5,29,229,5,5,119,237,5,5,138,181,5,5,176,196,5,5,5,184,5,5,135,218,5,5,255,175,5,5,129,184,5,5,92,209,5,5,198,183,5,5,140,181,5,5,141,181,5,5,16,191,5,5,51,248,5,5,47,248,5,5,233,219,5,5,177,235,5,5,144,236,5,5,114,240,5,5,167,236,5,5,185,235,5,5,241,219,5,5,242,219,5,5,56,230,5,5,3,240,5,5,10,185,5,5,205,201,5,5,250,209,5,5,194,195,5,5,51,234,5,5,137,191,5,5,68,163,5,5,210,200,5,5,31,201,5,5,217,239,5,5,123,230,5,5,212,214,5,5,212,230,5,5,34,220,5,5,90,249,5,5,33,178,5,5,183,192,5,5,49,231,5,5,108,192,5,5,128,223,5,5,189,245,5,5,4,225,5,5,36,193,5,5,66,218,5,5,77,198,5,5,24,174,5,5,174,172,5,5,99,173,5,5,229,166,5,5,131,167,5,5,198,204,5,5,161,173,5,5,156,222,5,5,34,242,5,5,237,182,5,5,11,239,5,5,195,195,5,5,60,230,5,5,196,194,5,5,57,248,5,5,52,247,5,5,158,241,5,5,167,208,5,5,241,167,5,5,150,210,5,5,179,212,5,5,180,212,5,5,198,172,5,5,196,195,5,5,123,206,5,5,137,179,5,5,205,228,5,5,225,222,5,5,45,221,5,5,255,213,5,5,208,228,5,5,121,246,5,5,52,220,5,5,28,177,5,5,7,176,5,5,201,172,5,5,0,162,5,5,75,163,5,5,202,211,5,5,78,181,5,5,206,163,5,5,105,193,5,5,104,179,5,5,177,231,5,5,7,196,5,5,71,218,5,5,204,183,5,5,178,168,5,5,200,231,5,5,160,174,5,5,132,167,5,5,163,220,5,5,89,215,5,5,9,233,5,5,231,166,5,5,71,203,5,5,41,229,5,5,72,218,5,5,252,163,5,5,71,172,5,5,165,211,5,5,250,198,5,5,3,195,5,5,64,223,5,5,235,243,5,5,186,216,5,5,6,244,5,5,232,190,5,5,13,179,5,5,246,194,5,5,191,189,5,5,148,206,5,5,150,184,5,5,126,242,5,5,108,167,5,5,48,196,5,5,161,239,5,5,165,194,5,5,189,197,5,5,143,191,5,5,16,179,5,5,7,223,5,5,245,203,5,5,39,218,5,5,40,218,5,5,34,239,5,5,242,238,5,5,203,198,5,5,108,168,5,5,142,183,5,5,201,231,5,5,217,193,5,5,104,225,5,5,47,181,5,5,77,218,5,5,236,234,5,5,200,169,5,5,9,214,5,5,237,234,5,5,10,214,5,5,181,169,5,5,180,169,5,5,65,202,5,5,118,214,5,5,101,184,5,5,85,196,5,5,210,235,5,5,188,232,5,5,178,208,5,5,67,183,5,5,77,171,5,5,191,184,5,5,163,190,5,5,237,246,5,5,89,163,5,5,55,247,5,5,213,246,5,5,245,214,5,5,40,204,5,5,161,206,5,5,80,242,5,5,196,198,5,5,192,234,5,5,197,187,5,5,58,228,5,5,173,181,5,5,203,169,5,5,101,226,5,5,212,228,5,5,153,210,5,5,68,175,5,5,219,207,5,5,153,234,5,5,246,214,5,5,27,216,5,5,12,182,5,5,11,167,5,5,108,225,5,5,35,183,5,5,223,168,5,5,205,175,5,5,13,182,5,5,43,184,5,5,84,183,5,5,26,168,5,5,47,193,5,5,91,190,5,5,73,187,5,5,172,188,5,5,49,221,5,5,244,234,5,5,111,203,5,5,62,189,5,5,206,229,5,5,5,168,5,5,147,165,5,5,208,190,5,5,109,168,5,5,121,185,5,5,158,196,5,5,34,226,5,5,38,176,5,5,107,181,5,5,36,183,5,5,95,206,5,5,7,183,5,5,241,184,5,5,98,241,5,5,139,242,5,5,139,230,5,5,214,228,5,5,4,226,5,5,174,174,5,5,170,174,5,5,215,206,5,5,176,172,5,5,36,211,5,5,239,246,5,5,23,179,5,5,6,168,5,5,165,193,5,5,97,233,5,5,220,177,5,5,203,245,5,5,244,169,5,5,167,183,5,5,141,222,5,5,103,223,5,5,58,234,5,5,96,190,5,5,188,238,5,5,252,176,5,5,209,238,5,5,126,216,5,5,73,183,5,5,149,229,5,5,226,229,5,5,114,183,5,5,189,249,5,5,234,222,5,5,58,230,5,5,239,237,5,5,4,236,5,5,220,181,5,5,149,241,5,5,107,205,5,5,82,246,5,5,49,204,5,5,203,247,5,5,28,203,5,5,171,178,5,5,46,165,5,5,14,225,5,5,225,174,5,5,212,215,5,5,214,183,5,5,208,171,5,5,160,245,5,5,135,180,5,5,91,182,5,5,156,164,5,5,157,210,5,5,75,191,5,5,161,245,5,5,77,236,5,5,84,180,5,5,173,236,5,5,100,222,5,5,183,191,5,5,124,240,5,5,108,163,5,5,231,187,5,5,89,202,5,5,9,168,5,5,26,214,5,5,12,192,5,5,79,191,5,5,38,166,5,5,182,238,5,5,19,225,5,5,46,190,5,5,170,193,5,5,111,167,5,5,21,226,5,5,157,165,5,5,44,206,5,5,49,174,5,5,92,180,5,5,75,169,5,5,253,212,5,5,123,222,5,5,100,191,5,5,8,204,5,5,227,244,5,5,52,191,5,5,21,219,5,5,88,217,5,5,90,226,5,5,30,189,5,5,202,182,5,5,172,167,5,5,220,183,5,5,24,226,5,5,243,187,5,5,250,234,5,5,239,193,5,5,165,214,5,5,130,180,5,5,25,173,5,5,132,218,5,5,10,204,5,5,110,228,5,5,244,198,5,5,251,234,5,5,46,231,5,5,55,216,5,5,15,237,5,5,138,173,5,5,129,244,5,5,69,228,5,5,2,222,5,5,18,176,5,5,96,196,5,5,200,184,5,5,150,182,5,5,154,188,5,5,87,165,5,5,230,249,5,5,184,207,5,5,234,225,5,5,173,240,5,5,239,207,5,5,250,184,5,5,180,188,5,5,24,236,5,5,151,182,5,5,70,193,5,5,231,208,5,5,255,234,5,5,43,166,5,5,202,217,5,5,83,183,5,5,211,245,5,5,192,232,5,5,234,215,5,5,169,165,5,5,176,216,5,5,186,196,5,5,253,184,5,5,153,242,5,5,213,189,5,5,222,199,5,5,217,231,5,5,129,190,5,5,228,211,5,5,193,232,5,5,177,190,5,5,179,183,5,5,218,231,5,5,179,224,5,5,66,210,5,5,192,245,5,5,182,194,5,5,177,232,5,5,247,188,5,5,176,194,5,5,189,231,5,5,26,204,5,5,234,183,5,5,63,224,5,5,192,202,5,5,8,192,5,5,64,224,5,5,182,171,5,5,254,183,5,5,178,218,5,5,201,218,5,5,172,191,5,5,100,205,5,5,43,177,5,5,83,218,5,5,248,214,5,5,120,179,5,5,201,220,5,5,157,204,5,5,184,215,5,5,168,247,5,5,129,223,5,5,221,241,5,5,182,247,5,5,155,226,5,5,130,213,5,5,131,213,5,5,172,204,5,5,233,247,5,5,32,248,5,5,174,216,5,5,31,207,5,5,179,204,5,5,33,216,5,5,177,227,5,5,183,227,5,5,214,227,5,5,148,204,5,5,62,227,5,5,232,179,5,5,81,229,5,5,89,227,5,5,111,181,5,5,46,180,5,5,7,169,5,5,8,169,5,5,91,194,5,5,154,199,5,5,121,181,5,5,64,226,5,5,229,229,5,5,207,213,5,5,68,245,5,5,254,219,5,5,131,175,5,5,54,226,5,5,50,228,5,5,219,239,5,5,68,173,5,5,155,166,5,5,140,179,5,5,14,173,5,5,92,164,5,5,55,226,5,5,180,198,5,5,177,173,5,5,70,164,5,5,236,164,5,5,82,190,5,5,208,222,5,5,90,205,5,5,117,234,5,5,120,189,5,5,174,221,5,5,248,231,5,5,108,178,5,5,90,163,5,5,97,215,5,5,201,191,5,5,56,226,5,5,199,213,5,5,195,189,5,5,144,212,5,5,119,167,5,5,225,212,5,5,51,196,5,5,122,174,5,5,85,232,5,5,243,173,5,5,193,186,5,5,236,227,5,5,214,247,5,5,121,186,5,5,175,181,5,5,107,248,5,5,83,246,5,5,109,163,5,5,12,171,5,5,94,184,5,5,221,206,5,5,62,201,5,5,18,228,5,5,70,195,5,5,249,165,5,5,105,172,5,5,54,177,5,5,224,175,5,5,172,164,5,5,139,223,5,5,162,240,5,5,57,236,5,5,123,234,5,5,42,234,5,5,246,185,5,5,114,175,5,5,90,217,5,5,253,241,5,5,164,226,5,5,146,176,5,5,78,176,5,5,71,211,5,5,250,189,5,5,245,239,5,5,113,202,5,5,146,205,5,5,223,199,5,5,252,170,5,5,242,208,5,5,252,189,5,5,219,189,5,5,117,224,5,5,248,229,5,5,172,192,5,5,40,189,5,5,199,204,5,5,243,204,5,5,222,235,5,5,33,243,5,5,111,174,5,5,163,168,5,5,76,243,5,5,95,243,5,5,46,234,5,5,55,234,5,5,4,240,5,5,20,185,5,5,127,181,5,5,237,203,5,5,55,238,5,5,14,183,5,5,19,181,5,5,238,203,5,5,130,203,5,5,149,167,5,5,191,246,5,5,20,240,5,5,205,223,5,5,174,171,5,5,69,171,5,5,109,192,5,5,62,210,5,5,54,248,5,5,55,248,5,5,245,227,5,5,127,212,5,5,34,178,5,5,63,199,5,5,5,209,5,5,189,170,5,5,190,231,5,5,73,200,5,5,247,236,5,5,183,218,5,5,39,216,5,5,242,167,5,5,77,174,5,5,141,182,5,5,56,246,5,5,18,245,5,5,67,218,5,5,34,209,5,5,45,228,5,5,24,247,5,5,167,210,5,5,91,230,5,5,78,174,5,5,135,195,5,5,213,203,5,5,188,189,5,5,249,216,5,5,210,201,5,5,219,210,5,5,168,208,5,5,164,242,5,5,75,173,5,5,0,137,5,5,9,231,5,5,250,215,5,5,159,202,5,5,101,199,5,5,102,199,5,5,152,173,5,5,93,245,5,5,129,207,5,5,69,192,5,5,156,218,5,5,134,249,5,5,220,210,5,5,132,238,5,5,155,225,5,5,58,170,5,5,246,240,5,5,199,172,5,5,180,230,5,5,175,198,5,5,42,235,5,5,164,243,5,5,72,242,5,5,237,165,5,5,37,240,5,5,125,209,5,5,57,246,5,5,42,187,5,5,25,168,5,5,196,237,5,5,185,215,5,5,5,225,5,5,114,234,5,5,215,221,5,5,129,236,5,5,161,180,5,5,94,249,5,5,79,230,5,5,99,189,5,5,114,179,5,5,248,227,5,5,166,176,5,5,146,171,5,5,126,211,5,5,50,187,5,5,25,250,5,5,4,195,5,5,88,172,5,5,207,163,5,5,253,163,5,5,73,192,5,5,232,171,5,5,220,239,5,5,221,239,5,5,55,207,5,5,65,168,5,5,234,230,5,5,21,196,5,5,113,184,5,5,186,183,5,5,76,163,5,5,67,166,5,5,51,228,5,5,7,215,5,5,217,241,5,5,48,215,5,5,123,164,5,5,145,201,5,5,94,244,5,5,95,219,5,5,230,178,5,5,199,206,5,5,29,177,5,5,226,183,5,5,117,192,5,5,226,198,5,5,179,168,5,5,198,169,5,5,90,174,5,5,20,229,5,5,7,193,5,5,12,165,5,5,122,246,5,5,91,174,5,5,28,222,5,5,62,170,5,5,53,173,5,5,13,203,5,5,23,170,5,5,24,170,5,5,2,163,5,5,174,233,5,5,107,169,5,5,111,231,5,5,211,176,5,5,38,223,5,5,168,202,5,5,83,206,5,5,233,190,5,5,99,235,5,5,30,184,5,5,49,249,5,5,62,217,5,5,158,244,5,5,134,212,5,5,169,191,5,5,32,172,5,5,65,187,5,5,56,231,5,5,237,243,5,5,175,192,5,5,171,210,5,5,216,223,5,5,187,224,5,5,68,248,5,5,211,197,5,5,196,231,5,5,192,187,5,5,26,245,5,5,173,202,5,5,218,193,5,5,216,233,5,5,21,205,5,5,175,233,5,5,86,192,5,5,166,194,5,5,200,170,5,5,145,223,5,5,246,203,5,5,247,203,5,5,98,174,5,5,183,247,5,5,138,221,5,5,115,231,5,5,12,206,5,5,47,200,5,5,123,243,5,5,146,223,5,5,130,172,5,5,47,231,5,5,186,230,5,5,151,226,5,5,215,170,5,5,175,182,5,5,245,222,5,5,67,210,5,5,172,221,5,5,226,217,5,5,173,200,5,5,31,174,5,5,61,212,5,5,220,191,5,5,7,175,5,5,96,206,5,5,168,216,5,5,65,226,5,5,47,234,5,5,85,206,5,5,35,239,5,5,243,238,5,5,160,209,5,5,40,223,5,5,100,230,5,5,91,205,5,5,163,180,5,5,33,201,5,5,183,168,5,5,66,187,5,5,172,205,5,5,200,185,5,5,140,229,5,5,174,222,5,5,28,175,5,5,46,203,5,5,20,230,5,5,17,165,5,5,243,231,5,5,161,209,5,5,78,200,5,5,174,202,5,5,99,176,5,5,185,248,5,5,57,231,5,5,247,200,5,5,149,216,5,5,139,190,5,5,159,244,5,5,227,217,5,5,220,205,5,5,69,237,5,5,128,243,5,5,169,169,5,5,152,201,5,5,54,220,5,5,238,241,5,5,38,178,5,5,69,246,5,5,180,186,5,5,206,175,5,5,36,174,5,5,102,230,5,5,180,243,5,5,114,197,5,5,218,164,5,5,139,166,5,5,166,249,5,5,173,176,5,5,208,181,5,5,253,236,5,5,254,236,5,5,109,225,5,5,190,224,5,5,27,245,5,5,128,165,5,5,210,212,5,5,239,192,5,5,74,187,5,5,224,168,5,5,232,221,5,5,118,169,5,5,75,187,5,5,176,222,5,5,244,232,5,5,14,182,5,5,19,210,5,5,134,227,5,5,205,236,5,5,191,224,5,5,156,167,5,5,23,207,5,5,204,169,5,5,225,170,5,5,172,216,5,5,92,206,5,5,178,223,5,5,158,228,5,5,26,208,5,5,180,242,5,5,148,181,5,5,45,242,5,5,199,234,5,5,84,194,5,5,130,198,5,5,81,242,5,5,200,234,5,5,49,203,5,5,85,247,5,5,153,236,5,5,55,184,5,5,231,227,5,5,202,215,5,5,143,186,5,5,112,174,5,5,161,237,5,5,119,169,5,5,64,247,5,5,155,203,5,5,104,183,5,5,92,172,5,5,176,195,5,5,48,185,5,5,121,188,5,5,246,226,5,5,173,245,5,5,248,181,5,5,51,215,5,5,197,199,5,5,46,242,5,5,161,244,5,5,100,244,5,5,235,194,5,5,102,226,5,5,213,170,5,5,216,170,5,5,218,233,5,5,218,246,5,5,97,206,5,5,250,176,5,5,208,211,5,5,241,178,5,5,214,204,5,5,103,232,5,5,14,193,5,5,230,184,5,5,24,190,5,5,248,206,5,5,133,246,5,5,27,208,5,5,241,183,5,5,206,196,5,5,119,197,5,5,225,168,5,5,36,232,5,5,25,192,5,5,182,193,5,5,118,174,5,5,209,190,5,5,246,224,5,5,27,224,5,5,99,237,5,5,37,226,5,5,142,220,5,5,166,170,5,5,28,234,5,5,3,163,5,5,185,186,5,5,213,181,5,5,53,163,5,5,135,198,5,5,50,164,5,5,18,211,5,5,235,207,5,5,226,212,5,5,229,210,5,5,216,176,5,5,112,203,5,5,226,168,5,5,102,176,5,5,189,205,5,5,164,209,5,5,115,179,5,5,221,192,5,5,115,199,5,5,15,193,5,5,124,189,5,5,162,172,5,5,230,210,5,5,207,238,5,5,97,247,5,5,192,164,5,5,38,220,5,5,140,242,5,5,216,206,5,5,215,204,5,5,7,189,5,5,28,180,5,5,82,229,5,5,83,181,5,5,161,175,5,5,47,199,5,5,199,208,5,5,120,197,5,5,245,234,5,5,186,179,5,5,82,226,5,5,36,165,5,5,12,225,5,5,176,200,5,5,211,172,5,5,53,185,5,5,133,208,5,5,226,170,5,5,192,168,5,5,234,245,5,5,39,176,5,5,157,227,5,5,177,200,5,5,236,242,5,5,171,239,5,5,27,181,5,5,200,208,5,5,219,246,5,5,247,233,5,5,28,183,5,5,7,221,5,5,67,182,5,5,134,204,5,5,250,180,5,5,93,190,5,5,113,165,5,5,217,240,5,5,227,170,5,5,151,163,5,5,35,167,5,5,221,177,5,5,166,244,5,5,172,244,5,5,167,244,5,5,146,214,5,5,212,235,5,5,226,209,5,5,17,195,5,5,105,216,5,5,240,246,5,5,30,248,5,5,215,247,5,5,226,174,5,5,200,188,5,5,109,217,5,5,110,217,5,5,115,183,5,5,250,233,5,5,177,245,5,5,117,226,5,5,151,214,5,5,204,247,5,5,220,165,5,5,75,170,5,5,210,238,5,5,240,237,5,5,144,190,5,5,173,244,5,5,60,196,5,5,61,196,5,5,16,206,5,5,209,171,5,5,17,233,5,5,18,233,5,5,214,232,5,5,26,164,5,5,41,230,5,5,82,213,5,5,101,241,5,5,211,238,5,5,210,211,5,5,225,204,5,5,123,174,5,5,95,191,5,5,101,206,5,5,102,167,5,5,212,173,5,5,164,201,5,5,165,201,5,5,33,198,5,5,52,243,5,5,191,181,5,5,185,219,5,5,131,231,5,5,51,216,5,5,145,230,5,5,177,191,5,5,74,209,5,5,118,211,5,5,79,171,5,5,54,201,5,5,162,228,5,5,227,168,5,5,244,191,5,5,249,178,5,5,60,220,5,5,108,205,5,5,84,246,5,5,99,163,5,5,243,245,5,5,157,166,5,5,196,202,5,5,15,199,5,5,190,232,5,5,29,203,5,5,172,178,5,5,243,241,5,5,4,237,5,5,49,235,5,5,76,212,5,5,244,245,5,5,184,220,5,5,128,196,5,5,154,181,5,5,255,200,5,5,83,213,5,5,204,226,5,5,48,209,5,5,24,186,5,5,100,233,5,5,150,241,5,5,9,249,5,5,217,169,5,5,115,249,5,5,150,229,5,5,253,176,5,5,142,222,5,5,73,194,5,5,82,230,5,5,48,217,5,5,135,224,5,5,96,195,5,5,162,196,5,5,105,199,5,5,40,206,5,5,234,185,5,5,85,246,5,5,224,166,5,5,120,242,5,5,52,236,5,5,242,243,5,5,209,226,5,5,108,226,5,5,255,226,5,5,119,249,5,5,194,220,5,5,145,186,5,5,191,230,5,5,230,170,5,5,99,187,5,5,10,212,5,5,65,237,5,5,62,249,5,5,100,187,5,5,29,207,5,5,241,212,5,5,168,164,5,5,169,225,5,5,224,216,5,5,226,181,5,5,51,188,5,5,206,199,5,5,154,177,5,5,184,210,5,5,215,232,5,5,203,166,5,5,186,234,5,5,13,249,5,5,170,225,5,5,121,248,5,5,75,196,5,5,65,167,5,5,229,168,5,5,230,168,5,5,251,182,5,5,189,229,5,5,56,213,5,5,107,173,5,5,151,249,5,5,94,221,5,5,230,204,5,5,90,202,5,5,241,230,5,5,122,234,5,5,6,239,5,5,42,171,5,5,212,197,5,5,75,237,5,5,195,220,5,5,42,172,5,5,53,236,5,5,31,217,5,5,46,188,5,5,57,213,5,5,63,193,5,5,122,186,5,5,76,231,5,5,129,247,5,5,248,191,5,5,206,234,5,5,210,226,5,5,85,180,5,5,122,190,5,5,223,230,5,5,212,236,5,5,112,217,5,5,234,163,5,5,227,241,5,5,45,194,5,5,61,165,5,5,136,233,5,5,139,194,5,5,23,233,5,5,31,181,5,5,254,233,5,5,8,167,5,5,25,186,5,5,55,176,5,5,204,202,5,5,205,186,5,5,167,228,5,5,135,186,5,5,122,248,5,5,178,189,5,5,176,244,5,5,129,169,5,5,110,177,5,5,34,181,5,5,54,170,5,5,160,182,5,5,229,225,5,5,168,167,5,5,214,238,5,5,144,188,5,5,62,235,5,5,89,213,5,5,196,168,5,5,230,209,5,5,202,205,5,5,109,226,5,5,184,203,5,5,35,246,5,5,74,182,5,5,40,234,5,5,132,248,5,5,137,240,5,5,164,231,5,5,13,188,5,5,69,165,5,5,239,189,5,5,44,217,5,5,143,166,5,5,26,221,5,5,91,185,5,5,63,211,5,5,148,170,5,5,190,242,5,5,136,189,5,5,197,202,5,5,158,165,5,5,141,194,5,5,109,198,5,5,184,176,5,5,184,236,5,5,47,190,5,5,203,227,5,5,239,228,5,5,185,176,5,5,134,171,5,5,194,217,5,5,149,170,5,5,113,163,5,5,10,177,5,5,187,234,5,5,179,219,5,5,168,228,5,5,175,217,5,5,141,246,5,5,22,199,5,5,116,238,5,5,81,171,5,5,242,185,5,5,160,234,5,5,215,222,5,5,29,234,5,5,181,166,5,5,45,206,5,5,114,171,5,5,63,235,5,5,37,184,5,5,111,200,5,5,8,208,5,5,193,243,5,5,122,205,5,5,62,184,5,5,92,229,5,5,147,243,5,5,171,193,5,5,203,224,5,5,86,199,5,5,142,227,5,5,157,195,5,5,187,210,5,5,26,169,5,5,179,232,5,5,28,232,5,5,64,211,5,5,186,175,5,5,176,188,5,5,28,189,5,5,158,195,5,5,48,238,5,5,70,165,5,5,210,186,5,5,101,246,5,5,103,202,5,5,140,210,5,5,53,229,5,5,247,172,5,5,236,170,5,5,192,238,5,5,145,224,5,5,156,177,5,5,22,218,5,5,11,204,5,5,2,231,5,5,3,231,5,5,127,185,5,5,234,247,5,5,174,209,5,5,173,225,5,5,124,199,5,5,241,204,5,5,172,169,5,5,157,249,5,5,4,164,5,5,63,242,5,5,213,211,5,5,61,190,5,5,23,230,5,5,121,200,5,5,253,237,5,5,185,180,5,5,191,172,5,5,181,207,5,5,48,233,5,5,145,172,5,5,195,230,5,5,114,173,5,5,173,196,5,5,233,229,5,5,253,230,5,5,17,241,5,5,214,216,5,5,240,174,5,5,182,207,5,5,113,176,5,5,36,245,5,5,255,178,5,5,142,235,5,5,166,214,5,5,149,213,5,5,247,190,5,5,9,247,5,5,11,228,5,5,222,208,5,5,242,204,5,5,198,249,5,5,76,237,5,5,149,189,5,5,150,248,5,5,216,213,5,5,134,247,5,5,108,202,5,5,175,201,5,5,193,235,5,5,201,184,5,5,130,185,5,5,123,217,5,5,200,249,5,5,151,248,5,5,63,213,5,5,16,198,5,5,12,164,5,5,214,197,5,5,79,238,5,5,250,245,5,5,127,200,5,5,128,200,5,5,225,202,5,5,195,233,5,5,56,216,5,5,244,246,5,5,137,171,5,5,174,240,5,5,158,186,5,5,26,206,5,5,101,234,5,5,173,228,5,5,70,211,5,5,155,188,5,5,28,195,5,5,73,249,5,5,38,175,5,5,237,180,5,5,61,180,5,5,53,217,5,5,88,165,5,5,94,220,5,5,77,237,5,5,67,215,5,5,27,173,5,5,208,177,5,5,99,214,5,5,71,193,5,5,100,214,5,5,118,229,5,5,135,205,5,5,215,197,5,5,123,201,5,5,216,235,5,5,9,216,5,5,199,217,5,5,250,241,5,5,180,163,5,5,71,236,5,5,119,229,5,5,203,217,5,5,151,178,5,5,145,168,5,5,106,246,5,5,128,184,5,5,44,224,5,5,166,169,5,5,204,230,5,5,82,168,5,5,130,179,5,5,229,202,5,5,74,232,5,5,207,224,5,5,205,220,5,5,64,239,5,5,197,183,5,5,192,244,5,5,37,192,5,5,93,235,5,5,176,214,5,5,232,208,5,5,137,172,5,5,59,205,5,5,38,217,5,5,139,196,5,5,111,202,5,5,226,165,5,5,115,177,5,5,122,171,5,5,39,186,5,5,254,205,5,5,126,234,5,5,163,171,5,5,160,212,5,5,120,209,5,5,165,215,5,5,3,188,5,5,193,238,5,5,127,215,5,5,195,236,5,5,54,191,5,5,184,240,5,5,39,217,5,5,48,214,5,5,226,186,5,5,185,240,5,5,240,184,5,5,135,185,5,5,108,204,5,5,193,176,5,5,176,218,5,5,193,163,5,5,144,180,5,5,255,241,5,5,148,169,5,5,242,200,5,5,170,165,5,5,251,172,5,5,74,236,5,5,16,180,5,5,75,182,5,5,161,212,5,5,181,209,5,5,156,246,5,5,75,188,5,5,139,200,5,5,196,238,5,5,38,192,5,5,204,249,5,5,66,164,5,5,142,187,5,5,121,229,5,5,181,225,5,5,52,238,5,5,35,189,5,5,76,232,5,5,129,217,5,5,24,211,5,5,82,185,5,5,224,199,5,5,71,182,5,5,131,245,5,5,5,231,5,5,6,231,5,5,243,208,5,5,209,198,5,5,214,189,5,5,136,236,5,5,87,182,5,5,253,170,5,5,207,249,5,5,208,168,5,5,45,248,5,5,206,217,5,5,240,202,5,5,89,208,5,5,130,217,5,5,85,169,5,5,49,210,5,5,137,236,5,5,90,208,5,5,15,174,5,5,14,184,5,5,147,163,5,5,155,230,5,5,200,240,5,5,171,215,5,5,250,247,5,5,14,207,5,5,211,188,5,5,184,188,5,5,230,243,5,5,72,211,5,5,145,244,5,5,9,191,5,5,223,179,5,5,111,246,5,5,240,248,5,5,158,189,5,5,224,211,5,5,205,241,5,5,36,173,5,5,232,169,5,5,159,198,5,5,113,196,5,5,52,186,5,5,243,202,5,5,119,176,5,5,158,170,5,5,160,185,5,5,106,185,5,5,36,200,5,5,230,173,5,5,98,218,5,5,161,246,5,5,142,196,5,5,155,220,5,5,245,199,5,5,240,186,5,5,247,202,5,5,63,171,5,5,139,185,5,5,251,199,5,5,113,190,5,5,32,202,5,5,143,196,5,5,80,190,5,5,9,205,5,5,218,235,5,5,151,180,5,5,113,185,5,5,106,212,5,5,188,214,5,5,209,240,5,5,180,190,5,5,170,170,5,5,122,165,5,5,217,198,5,5,42,199,5,5,229,189,5,5,222,184,5,5,88,191,5,5,112,235,5,5,134,214,5,5,122,210,5,5,218,225,5,5,233,198,5,5,191,216,5,5,180,234,5,5,113,174,5,5,192,216,5,5,199,216,5,5,234,189,5,5,48,199,5,5,216,247,5,5,6,198,5,5,255,203,5,5,83,207,5,5,172,193,5,5,57,164,5,5,192,242,5,5,148,220,5,5,149,220,5,5,109,196,5,5,27,166,5,5,154,213,5,5,165,229,5,5,166,226,5,5,252,209,5,5,75,177,5,5,129,202,5,5,255,209,5,5,196,177,5,5,187,226,5,5,169,213,5,5,135,207,5,5,132,219,5,5,179,227,5,5,145,247,5,5,80,198,5,5,178,231,5,5,146,201,5,5,6,200,5,5,223,170,5,5,204,191,5,5,248,236,5,5,171,213,5,5,217,223,5,5,240,226,5,5,222,239,5,5,33,169,5,5,97,216,5,5,154,173,5,5,210,237,5,5,0,147,5,5,70,223,5,5,81,210,5,5,27,247,5,5,28,247,5,5,11,231,5,5,160,164,5,5,246,167,5,5,211,248,5,5,212,248,5,5,22,208,5,5,179,208,5,5,176,182,5,5,209,243,5,5,180,208,5,5,74,234,5,5,41,249,5,5,140,207,5,5,48,200,5,5,225,210,5,5,181,208,5,5,246,222,5,5,248,240,5,5,217,197,5,5,90,172,5,5,84,247,5,5,101,173,5,5,102,173,5,5,181,198,5,5,200,194,5,5,70,232,5,5,205,174,5,5,61,230,5,5,221,203,5,5,99,174,5,5,8,223,5,5,194,175,5,5,47,164,5,5,146,215,5,5,160,183,5,5,96,179,5,5,223,209,5,5,47,242,5,5,114,219,5,5,188,168,5,5,41,223,5,5,112,242,5,5,115,197,5,5,64,198,5,5,69,207,5,5,76,187,5,5,211,174,5,5,64,230,5,5,84,219,5,5,77,192,5,5,251,167,5,5,252,167,5,5,98,215,5,5,233,221,5,5,80,177,5,5,129,165,5,5,72,166,5,5,13,193,5,5,81,220,5,5,169,211,5,5,180,227,5,5,253,180,5,5,121,189,5,5,48,193,5,5,34,176,5,5,49,193,5,5,162,244,5,5,77,187,5,5,59,225,5,5,174,211,5,5,91,170,5,5,173,191,5,5,219,233,5,5,52,200,5,5,53,200,5,5,207,170,5,5,219,174,5,5,39,244,5,5,143,245,5,5,198,187,5,5,145,221,5,5,105,239,5,5,102,215,5,5,58,196,5,5,250,203,5,5,83,187,5,5,96,240,5,5,193,168,5,5,134,208,5,5,73,197,5,5,181,227,5,5,172,239,5,5,98,247,5,5,121,169,5,5,145,212,5,5,109,209,5,5,19,194,5,5,146,212,5,5,244,218,5,5,108,170,5,5,222,185,5,5,145,219,5,5,52,203,5,5,53,183,5,5,118,235,5,5,201,208,5,5,127,216,5,5,227,203,5,5,33,210,5,5,237,227,5,5,17,250,5,5,56,203,5,5,98,182,5,5,180,223,5,5,174,163,5,5,169,237,5,5,137,198,5,5,113,229,5,5,139,217,5,5,213,173,5,5,220,228,5,5,221,228,5,5,172,174,5,5,213,215,5,5,122,219,5,5,32,245,5,5,124,174,5,5,194,186,5,5,123,186,5,5,47,165,5,5,163,225,5,5,10,249,5,5,84,242,5,5,171,203,5,5,44,176,5,5,189,242,5,5,155,181,5,5,174,177,5,5,99,182,5,5,54,200,5,5,178,245,5,5,90,218,5,5,102,237,5,5,165,172,5,5,222,206,5,5,112,171,5,5,215,208,5,5,216,208,5,5,123,248,5,5,65,208,5,5,245,184,5,5,13,171,5,5,46,211,5,5,128,235,5,5,242,212,5,5,212,190,5,5,101,187,5,5,53,177,5,5,32,181,5,5,189,179,5,5,213,196,5,5,98,198,5,5,141,198,5,5,124,248,5,5,169,164,5,5,178,172,5,5,10,168,5,5,246,245,5,5,185,178,5,5,125,240,5,5,14,249,5,5,243,236,5,5,81,212,5,5,158,210,5,5,15,231,5,5,169,183,5,5,103,211,5,5,136,246,5,5,64,189,5,5,185,193,5,5,178,246,5,5,243,178,5,5,245,237,5,5,94,164,5,5,5,177,5,5,101,247,5,5,78,234,5,5,72,244,5,5,177,244,5,5,151,193,5,5,88,224,5,5,225,177,5,5,246,184,5,5,26,195,5,5,172,203,5,5,248,213,5,5,158,181,5,5,79,170,5,5,211,216,5,5,183,171,5,5,226,247,5,5,120,203,5,5,2,227,5,5,117,217,5,5,63,201,5,5,246,242,5,5,205,165,5,5,43,230,5,5,247,245,5,5,232,174,5,5,66,249,5,5,14,170,5,5,142,246,5,5,137,174,5,5,193,230,5,5,31,214,5,5,61,242,5,5,39,210,5,5,38,170,5,5,181,213,5,5,121,244,5,5,212,226,5,5,171,226,5,5,57,180,5,5,150,221,5,5,110,233,5,5,181,180,5,5,233,174,5,5,67,249,5,5,132,196,5,5,231,170,5,5,249,184,5,5,251,177,5,5,23,199,5,5,231,209,5,5,55,177,5,5,103,187,5,5,180,245,5,5,121,249,5,5,242,211,5,5,117,183,5,5,243,185,5,5,87,226,5,5,78,231,5,5,180,244,5,5,21,206,5,5,114,164,5,5,125,186,5,5,123,167,5,5,143,235,5,5,13,213,5,5,222,233,5,5,14,213,5,5,72,249,5,5,119,247,5,5,149,188,5,5,58,236,5,5,79,164,5,5,81,231,5,5,82,231,5,5,104,202,5,5,8,245,5,5,26,215,5,5,152,198,5,5,248,210,5,5,192,239,5,5,213,164,5,5,125,199,5,5,96,180,5,5,240,239,5,5,43,178,5,5,30,183,5,5,141,197,5,5,27,199,5,5,240,193,5,5,38,169,5,5,46,172,5,5,163,240,5,5,40,247,5,5,183,244,5,5,100,179,5,5,217,222,5,5,124,234,5,5,39,236,5,5,69,209,5,5,131,170,5,5,60,181,5,5,240,228,5,5,103,227,5,5,43,234,5,5,24,223,5,5,16,177,5,5,121,238,5,5,62,190,5,5,151,246,5,5,36,219,5,5,99,180,5,5,206,224,5,5,74,168,5,5,217,211,5,5,14,168,5,5,238,247,5,5,136,205,5,5,101,190,5,5,247,185,5,5,10,211,5,5,218,222,5,5,227,243,5,5,27,206,5,5,203,229,5,5,43,247,5,5,170,214,5,5,245,246,5,5,156,219,5,5,181,219,5,5,27,169,5,5,28,169,5,5,155,193,5,5,66,188,5,5,40,170,5,5,20,213,5,5,68,235,5,5,216,186,5,5,132,170,5,5,171,214,5,5,51,225,5,5,29,221,5,5,220,170,5,5,113,216,5,5,144,169,5,5,29,233,5,5,145,235,5,5,236,209,5,5,101,179,5,5,136,218,5,5,177,167,5,5,178,167,5,5,73,204,5,5,219,211,5,5,118,165,5,5,252,187,5,5,73,167,5,5,26,194,5,5,97,213,5,5,143,202,5,5,128,222,5,5,75,201,5,5,179,172,5,5,187,185,5,5,186,207,5,5,187,207,5,5,134,200,5,5,197,243,5,5,103,224,5,5,18,204,5,5,117,228,5,5,59,183,5,5,177,214,5,5,37,245,5,5,173,226,5,5,247,217,5,5,146,235,5,5,241,225,5,5,81,225,5,5,79,176,5,5,16,187,5,5,111,214,5,5,119,228,5,5,246,239,5,5,138,206,5,5,40,175,5,5,107,224,5,5,63,209,5,5,164,233,5,5,88,216,5,5,207,227,5,5,128,190,5,5,252,210,5,5,197,244,5,5,221,223,5,5,131,187,5,5,58,232,5,5,127,217,5,5,163,188,5,5,179,221,5,5,13,232,5,5,249,213,5,5,221,170,5,5,112,214,5,5,244,208,5,5,93,231,5,5,67,205,5,5,19,171,5,5,237,197,5,5,205,230,5,5,225,199,5,5,71,222,5,5,194,203,5,5,148,168,5,5,82,197,5,5,141,171,5,5,37,173,5,5,104,185,5,5,193,203,5,5,4,185,5,5,21,172,5,5,233,186,5,5,120,226,5,5,148,187,5,5,242,209,5,5,18,184,5,5,220,189,5,5,47,178,5,5,184,214,5,5,164,221,5,5,17,191,5,5,149,187,5,5,18,191,5,5,231,173,5,5,59,241,5,5,205,164,5,5,131,183,5,5,78,193,5,5,229,207,5,5,150,244,5,5,168,229,5,5,41,213,5,5,82,234,5,5,231,211,5,5,96,212,5,5,48,178,5,5,83,234,5,5,125,170,5,5,234,211,5,5,195,203,5,5,187,221,5,5,18,222,5,5,78,217,5,5,32,201,5,5,58,184,5,5,232,166,5,5,219,184,5,5,28,216,5,5,253,222,5,5,183,169,5,5,76,239,5,5,242,194,5,5,142,171,5,5,163,213,5,5,139,216,5,5,221,242,5,5,187,195,5,5,96,249,5,5,7,212,5,5,122,189,5,5,167,217,5,5,144,229,5,5,99,215,5,5,218,182,5,5,102,216,5,5,113,203,5,5,107,215,5,5,3,241,5,5,24,199,5,5,143,246,5,5,167,175,5,5,161,226,5,5,147,246,5,5,169,175,5,5,161,222,5,5,207,198,5,5,232,211,5,5,87,239,5,5,85,239,5,5,112,166,5,5,136,192,5,5,176,247,5,5,182,165,5,5,158,223,5,5,151,239,5,5,52,228,5,5,222,224,5,5,32,174,5,5,130,194,5,5,80,173,5,5,196,229,5,5,148,203,5,5,241,182,5,5,209,222,5,5,10,176,5,5,66,240,5,5,247,222,5,5,210,222,5,5,222,203,5,5,168,218,5,5,11,214,5,5,62,230,5,5,78,218,5,5,131,230,5,5,203,210,5,5,173,205,5,5,23,208,5,5,42,249,5,5,4,170,5,5,218,223,5,5,133,238,5,5,32,184,5,5,10,200,5,5,63,230,5,5,22,203,5,5,34,182,5,5,170,189,5,5,99,175,5,5,48,164,5,5,20,167,5,5,240,241,5,5,16,233,5,5,25,165,5,5,7,228,5,5,26,180,5,5,70,207,5,5,156,197,5,5,64,217,5,5,18,215,5,5,221,220,5,5,168,239,5,5,167,166,5,5,51,163,5,5,153,176,5,5,158,245,5,5,212,174,5,5,133,194,5,5,232,218,5,5,233,218,5,5,65,230,5,5,88,167,5,5,79,240,5,5,65,170,5,5,15,182,5,5,245,182,5,5,57,192,5,5,168,217,5,5,142,219,5,5,170,211,5,5,220,163,5,5,134,194,5,5,49,213,5,5,223,183,5,5,91,163,5,5,52,163,5,5,119,174,5,5,73,223,5,5,74,223,5,5,32,196,5,5,140,230,5,5,59,206,5,5,53,203,5,5,101,205,5,5,94,163,5,5,162,203,5,5,40,239,5,5,147,191,5,5,190,230,5,5,146,221,5,5,227,193,5,5,136,243,5,5,12,234,5,5,199,187,5,5,249,194,5,5,178,216,5,5,179,222,5,5,72,176,5,5,200,216,5,5,207,196,5,5,207,195,5,5,35,184,5,5,151,229,5,5,57,203,5,5,236,196,5,5,123,225,5,5,7,187,5,5,222,207,5,5,163,228,5,5,43,167,5,5,178,191,5,5,115,240,5,5,108,248,5,5,226,220,5,5,41,188,5,5,34,210,5,5,125,212,5,5,198,202,5,5,116,240,5,5,116,166,5,5,180,222,5,5,216,229,5,5,139,227,5,5,126,212,5,5,8,187,5,5,134,188,5,5,173,188,5,5,33,196,5,5,42,205,5,5,229,172,5,5,73,224,5,5,62,165,5,5,214,196,5,5,190,179,5,5,104,249,5,5,135,189,5,5,75,223,5,5,248,224,5,5,35,224,5,5,59,178,5,5,184,165,5,5,65,189,5,5,6,229,5,5,240,166,5,5,241,166,5,5,166,172,5,5,15,249,5,5,123,190,5,5,186,193,5,5,243,242,5,5,249,177,5,5,230,180,5,5,10,219,5,5,223,206,5,5,236,239,5,5,205,202,5,5,118,218,5,5,137,193,5,5,208,195,5,5,68,209,5,5,233,180,5,5,182,180,5,5,234,174,5,5,172,226,5,5,88,214,5,5,224,165,5,5,56,177,5,5,217,196,5,5,160,178,5,5,23,215,5,5,24,215,5,5,164,197,5,5,105,249,5,5,3,164,5,5,31,164,5,5,235,174,5,5,227,247,5,5,126,182,5,5,247,242,5,5,30,200,5,5,237,163,5,5,193,225,5,5,77,191,5,5,36,167,5,5,247,175,5,5,174,249,5,5,40,179,5,5,64,192,5,5,15,175,5,5,237,199,5,5,83,231,5,5,107,249,5,5,225,230,5,5,31,183,5,5,111,208,5,5,234,236,5,5,80,164,5,5,100,182,5,5,78,223,5,5,119,236,5,5,39,184,5,5,123,244,5,5,232,203,5,5,97,210,5,5,238,199,5,5,37,196,5,5,156,188,5,5,32,186,5,5,217,186,5,5,170,219,5,5,218,226,5,5,83,191,5,5,175,240,5,5,21,177,5,5,101,214,5,5,68,215,5,5,152,246,5,5,188,165,5,5,44,234,5,5,11,202,5,5,79,211,5,5,113,236,5,5,6,164,5,5,57,216,5,5,116,165,5,5,147,174,5,5,60,205,5,5,150,222,5,5,61,205,5,5,2,235,5,5,112,202,5,5,254,175,5,5,228,231,5,5,29,173,5,5,128,163,5,5,114,216,5,5,15,216,5,5,131,165,5,5,24,230,5,5,133,170,5,5,40,186,5,5,137,238,5,5,14,232,5,5,59,194,5,5,53,234,5,5,52,237,5,5,204,184,5,5,76,224,5,5,183,188,5,5,97,165,5,5,181,205,5,5,80,176,5,5,122,229,5,5,36,180,5,5,100,165,5,5,48,186,5,5,242,168,5,5,206,230,5,5,177,218,5,5,149,178,5,5,124,229,5,5,162,245,5,5,108,227,5,5,166,163,5,5,42,214,5,5,138,163,5,5,234,224,5,5,85,185,5,5,19,191,5,5,72,213,5,5,80,215,5,5,55,186,5,5,171,219,5,5,121,175,5,5,108,207,5,5,164,232,5,5,224,226,5,5,75,205,5,5,93,167,5,5,210,240,5,5,101,186,5,5,22,241,5,5,169,212,5,5,170,212,5,5,235,241,5,5,250,173,5,5,249,179,5,5,254,174,5,5,16,174,5,5,247,174,5,5,27,163,5,5,147,197,5,5,33,202,5,5,38,202,5,5,78,205,5,5,68,194,5,5,242,165,5,5,34,243,5,5,223,193,5,5,146,207,5,5,119,168,5,5,66,170,5,5,99,171,5,5,100,171,5,5,131,171,5,5,66,227,5,5,183,235,5,5,71,224,5,5,94,190,5,5,158,207,5,5,106,171,5,5,57,181,5,5,135,188,5,5,245,241,5,5,11,219,5,5,32,208,5,5,58,213,5,5,84,228,5,5,248,245,5,5,145,213,5,5,113,181,5,5,235,247,5,5,74,186,5,5,254,237,5,5,28,178,5,5,211,210,5,5,129,167,5,5,226,202,5,5,47,172,5,5,188,244,5,5,100,192,5,5,190,211,5,5,150,220,5,5,255,205,5,5,77,194,5,5,130,176,5,5,143,205,5,5,103,190,5,5,5,212,5,5,253,204,5,5,43,246,5,5,197,207,5,5,194,211,5,5,106,190,5,5,80,186,5,5,203,228,5,5,197,176,5,5,83,194,5,5,76,205,5,5,65,194,5,5,23,243,5,5,211,193,5,5,91,171,5,5,56,227,5,5,68,224,5,5,63,186,5,5,136,207,5,5,175,202,5,5,50,213,5,5,174,176,5,5,108,181,5,5,217,247,5,5,97,192,5,5,241,205,5,5,253,211,5,5,27,204,5,5,3,210,5,5,168,205,5,5,145,234,5,5,147,207,5,5,234,218,5,5,8,224,5,5,72,202,5,5,16,193,5,5,40,176,5,5,132,231,5,5,217,176,5,5,231,228,5,5,143,199,5,5,77,212,5,5,179,191,5,5,83,227,5,5,199,203,5,5,21,194,5,5,207,194,5,5,223,225,5,5,200,203,5,5,27,201,5,5,36,210,5,5,128,216,5,5,174,236,5,5,170,183,5,5,249,201,5,5,48,190,5,5,22,219,5,5,76,219,5,5,81,165,5,5,133,216,5,5,30,199,5,5,241,228,5,5,213,194,5,5,44,219,5,5,72,217,5,5,236,225,5,5,36,213,5,5,205,239,5,5,155,187,5,5,201,207,5,5,39,213,5,5,89,243,5,5,43,213,5,5,157,242,5,5,158,242,5,5,215,177,5,5,200,174,5,5,4,210,5,5,5,210,5,5,86,204,5,5,113,201,5,5,169,202,5,5,239,172,5,5,8,218,5,5,100,177,5,5,185,201,5,5,219,223,5,5,202,179,5,5,189,216,5,5,149,203,5,5,162,239,5,5,132,230,5,5,9,218,5,5,173,243,5,5,91,228,5,5,41,209,5,5,10,182,5,5,176,202,5,5,10,218,5,5,174,243,5,5,162,237,5,5,82,173,5,5,36,241,5,5,146,241,5,5,126,237,5,5,192,228,5,5,181,243,5,5,255,215,5,5,148,207,5,5,194,214,5,5,5,183,5,5,192,224,5,5,48,242,5,5,170,218,5,5,41,218,5,5,178,173,5,5,29,216,5,5,229,223,5,5,194,227,5,5,52,215,5,5,202,235,5,5,166,222,5,5,233,216,5,5,80,240,5,5,81,240,5,5,158,236,5,5,14,223,5,5,80,197,5,5,161,228,5,5,121,197,5,5,20,217,5,5,222,220,5,5,236,221,5,5,119,221,5,5,89,192,5,5,133,231,5,5,186,231,5,5,84,220,5,5,50,193,5,5,220,174,5,5,34,205,5,5,44,177,5,5,125,189,5,5,218,176,5,5,84,244,5,5,84,187,5,5,54,183,5,5,89,167,5,5,59,220,5,5,160,192,5,5,97,240,5,5,72,207,5,5,242,241,5,5,115,219,5,5,173,239,5,5,174,239,5,5,240,211,5,5,237,219,5,5,194,168,5,5,37,165,5,5,49,218,5,5,175,211,5,5,4,163,5,5,32,175,5,5,237,232,5,5,153,179,5,5,197,221,5,5,179,233,5,5,146,219,5,5,12,250,5,5,235,216,5,5,234,217,5,5,117,240,5,5,93,201,5,5,125,197,5,5,84,227,5,5,151,223,5,5,224,214,5,5,205,226,5,5,169,198,5,5,171,223,5,5,93,192,5,5,22,194,5,5,78,212,5,5,96,200,5,5,173,203,5,5,144,199,5,5,225,191,5,5,74,216,5,5,245,245,5,5,164,228,5,5,61,220,5,5,184,182,5,5,41,171,5,5,86,220,5,5,56,172,5,5,241,237,5,5,22,200,5,5,185,242,5,5,42,218,5,5,136,193,5,5,78,239,5,5,95,166,5,5,49,181,5,5,179,239,5,5,123,185,5,5,147,221,5,5,7,197,5,5,41,196,5,5,33,245,5,5,109,248,5,5,136,180,5,5,206,202,5,5,12,219,5,5,146,230,5,5,156,234,5,5,136,186,5,5,170,237,5,5,14,197,5,5,94,238,5,5,90,227,5,5,176,181,5,5,51,176,5,5,235,163,5,5,89,224,5,5,117,242,5,5,252,195,5,5,198,209,5,5,209,210,5,5,174,229,5,5,213,238,5,5,33,248,5,5,226,214,5,5,124,225,5,5,229,203,5,5,219,215,5,5,6,245,5,5,120,245,5,5,50,192,5,5,128,237,5,5,106,166,5,5,102,200,5,5,175,206,5,5,177,229,5,5,252,220,5,5,178,229,5,5,250,177,5,5,162,199,5,5,48,225,5,5,207,229,5,5,185,203,5,5,71,195,5,5,182,211,5,5,88,235,5,5,198,214,5,5,35,237,5,5,102,247,5,5,116,215,5,5,189,172,5,5,21,223,5,5,72,179,5,5,138,240,5,5,217,183,5,5,194,243,5,5,111,177,5,5,29,168,5,5,55,222,5,5,141,224,5,5,174,224,5,5,160,222,5,5,214,202,5,5,144,208,5,5,4,180,5,5,103,222,5,5,96,246,5,5,255,206,5,5,133,211,5,5,252,178,5,5,124,221,5,5,3,232,5,5,107,232,5,5,95,210,5,5,56,222,5,5,78,189,5,5,123,205,5,5,230,225,5,5,230,197,5,5,223,190,5,5,194,228,5,5,185,165,5,5,248,199,5,5,114,168,5,5,228,247,5,5,58,177,5,5,215,216,5,5,122,168,5,5,100,227,5,5,121,217,5,5,101,227,5,5,28,201,5,5,152,199,5,5,255,237,5,5,254,222,5,5,14,177,5,5,35,214,5,5,139,174,5,5,252,168,5,5,161,181,5,5,130,205,5,5,19,209,5,5,139,248,5,5,147,231,5,5,127,222,5,5,92,213,5,5,122,200,5,5,149,243,5,5,218,238,5,5,121,215,5,5,108,183,5,5,205,224,5,5,251,173,5,5,154,221,5,5,48,244,5,5,67,243,5,5,66,201,5,5,122,217,5,5,191,191,5,5,172,184,5,5,145,208,5,5,95,170,5,5,117,241,5,5,148,246,5,5,179,216,5,5,142,180,5,5,27,220,5,5,113,228,5,5,54,205,5,5,184,166,5,5,174,196,5,5,96,201,5,5,212,199,5,5,156,191,5,5,189,244,5,5,47,171,5,5,210,214,5,5,119,171,5,5,96,213,5,5,50,211,5,5,177,224,5,5,86,217,5,5,189,180,5,5,193,236,5,5,173,164,5,5,55,223,5,5,98,210,5,5,104,227,5,5,48,206,5,5,74,249,5,5,102,214,5,5,171,197,5,5,168,179,5,5,198,241,5,5,199,241,5,5,58,219,5,5,244,247,5,5,167,165,5,5,98,235,5,5,146,211,5,5,219,186,5,5,81,169,5,5,145,169,5,5,242,228,5,5,158,219,5,5,172,171,5,5,62,205,5,5,11,232,5,5,123,203,5,5,157,188,5,5,248,185,5,5,102,234,5,5,177,238,5,5,152,194,5,5,65,213,5,5,67,222,5,5,123,238,5,5,124,238,5,5,205,205,5,5,159,219,5,5,203,239,5,5,245,198,5,5,71,206,5,5,118,170,5,5,251,223,5,5,158,198,5,5,126,199,5,5,149,224,5,5,216,216,5,5,206,232,5,5,249,235,5,5,29,213,5,5,78,219,5,5,153,178,5,5,127,221,5,5,61,183,5,5,41,186,5,5,179,237,5,5,140,244,5,5,189,207,5,5,18,202,5,5,83,233,5,5,75,204,5,5,146,163,5,5,140,200,5,5,151,222,5,5,40,245,5,5,169,232,5,5,92,219,5,5,6,227,5,5,207,209,5,5,17,180,5,5,170,232,5,5,3,169,5,5,35,229,5,5,131,217,5,5,90,232,5,5,20,180,5,5,86,176,5,5,53,237,5,5,170,215,5,5,22,202,5,5,112,204,5,5,140,206,5,5,152,220,5,5,129,183,5,5,123,239,5,5,87,238,5,5,99,220,5,5,53,168,5,5,63,200,5,5,156,199,5,5,193,240,5,5,194,240,5,5,120,228,5,5,170,230,5,5,93,183,5,5,163,210,5,5,110,222,5,5,86,179,5,5,92,199,5,5,30,220,5,5,238,197,5,5,88,238,5,5,146,244,5,5,147,205,5,5,166,248,5,5,73,205,5,5,147,200,5,5,12,178,5,5,162,219,5,5,182,217,5,5,160,232,5,5,138,185,5,5,204,228,5,5,162,246,5,5,155,224,5,5,160,187,5,5,207,239,5,5,2,166,5,5,163,219,5,5,90,243,5,5,13,238,5,5,50,224,5,5,165,246,5,5,51,224,5,5,5,242,5,5,118,224,5,5,171,230,5,5,232,243,5,5,58,186,5,5,235,224,5,5,43,214,5,5,22,184,5,5,164,200,5,5,165,232,5,5,212,240,5,5,91,176,5,5,106,220,5,5,100,243,5,5,21,178,5,5,155,242,5,5,149,202,5,5,210,177,5,5,187,174,5,5,107,230,5,5,196,201,5,5,129,203,5,5,184,201,5,5,201,179,5,5,168,230,5,5,85,228,5,5,22,209,5,5,251,181,5,5,252,217,5,5,5,240,5,5,253,217,5,5,150,202,5,5,110,230,5,5,35,206,5,5,67,200,5,5,163,238,5,5,41,207,5,5,23,241,5,5,2,183,5,5,225,216,5,5,151,237,5,5,221,190,5,5,33,218,5,5,121,237,5,5,248,173,5,5,187,227,5,5,167,173,5,5,121,207,5,5,113,221,5,5,34,193,5,5,76,197,5,5,168,168,5,5,229,232,5,5,231,226,5,5,47,218,5,5,107,219,5,5,142,236,5,5,209,220,5,5,201,176,5,5,255,219,5,5,167,233,5,5,155,211,5,5,226,219,5,5,252,164,5,5,21,240,5,5,134,239,5,5,251,196,5,5,118,185,5,5,44,227,5,5,129,193,5,5,188,226,5,5,53,202,5,5,254,199,5,5,91,225,5,5,133,221,5,5,143,228,5,5,137,199,5,5,26,176,5,5,81,192,5,5,55,212,5,5,3,194,5,5,216,217,5,5,38,240,5,5,68,221,5,5,213,191,5,5,68,216,5,5,166,223,5,5,18,201,5,5,228,216,5,5,5,220,5,5,218,203,5,5,252,244,5,5,12,248,5,5,191,209,5,5,97,245,5,5,43,192,5,5,107,242,5,5,74,200,5,5,12,197,5,5,175,229,5,5,123,237,5,5,93,238,5,5,127,211,5,5,139,221,5,5,98,232,5,5,160,184,5,5,242,177,5,5,31,222,5,5,182,172,5,5,59,195,5,5,62,246,5,5,184,247,5,5,205,229,5,5,188,228,5,5,101,177,5,5,128,224,5,5,71,189,5,5,159,222,5,5,24,237,5,5,245,179,5,5,189,228,5,5,67,240,5,5,90,170,5,5,193,224,5,5,35,177,5,5,91,201,5,5,96,205,5,5,15,214,5,5,84,217,5,5,95,241,5,5,126,246,5,5,220,237,5,5,79,248,5,5,99,217,5,5,79,224,5,5,121,231,5,5,205,238,5,5,38,243,5,5,240,176,5,5,40,171,5,5,120,168,5,5,193,216,5,5,68,169,5,5,84,176,5,5,159,236,5,5,79,214,5,5,171,241,5,5,164,164,5,5,75,227,5,5,82,210,5,5,102,171,5,5,192,205,5,5,110,170,5,5,148,219,5,5,43,205,5,5,171,171,5,5,253,179,5,5,168,232,5,5,166,209,5,5,26,186,5,5,251,168,5,5,167,207,5,5,59,243,5,5,160,210,5,5,88,220,5,5,232,224,5,5,35,193,5,5,74,210,5,5,155,201,5,5,173,213,5,5,73,202,5,5,166,201,5,5,68,198,5,5,120,201,5,5,21,213,5,5,22,213,5,5,171,199,5,5,253,187,5,5,111,198,5,5,13,178,5,5,20,191,5,5,198,175,5,5,13,206,5,5,7,209,5,5,67,227,5,5,9,187,5,5,123,176,5,5,180,246,5,5,212,164,5,5,158,229,5,5,230,215,5,5,222,173,5,5,47,219,5,5,54,219,5,5,101,243,5,5,103,243,5,5,12,227,5,5,207,225,5,5,11,200,5,5,142,182,5,5,82,240,5,5,143,182,5,5,83,240,5,5,210,204,5,5,0,151,5,5,55,198,5,5,230,237,5,5,158,225,5,5,103,216,5,5,234,200,5,5,226,204,5,5,200,195,5,5,226,191,5,5,76,207,5,5,46,174,5,5,243,212,5,5,20,166,5,5,225,197,5,5,140,248,5,5,155,221,5,5,34,203,5,5,115,173,5,5,23,213,5,5,121,163,5,5,11,247,5,5,192,200,5,5,28,166,5,5,190,176,5,5,115,233,5,5,120,173,5,5,186,240,5,5,184,218,5,5,44,164,5,5,211,223,5,5,244,238,5,5,253,167,5,5,246,182,5,5,216,167,5,5,78,192,5,5,248,182,5,5,114,242,5,5,82,177,5,5,122,169,5,5,186,235,5,5,249,214,5,5,181,200,5,5,209,196,5,5,126,197,5,5,222,197,5,5,123,169,5,5,142,198,5,5,77,170,5,5,200,186,5,5,171,183,5,5,243,164,5,5,39,248,5,5,35,203,5,5,106,182,5,5,18,170,5,5,15,168,5,5,24,213,5,5,4,238,5,5,100,207,5,5,146,169,5,5,152,225,5,5,18,180,5,5,165,200,5,5,211,207,5,5,201,163,5,5,164,220,5,5,36,249,5,5,201,174,5,5,11,234,5,5,234,194,5,5,95,179,5,5,163,239,5,5,184,198,5,5,238,246,5,5,138,168,5,5,198,199,5,5,61,173,5,5,233,179,5,5,103,194,5,5,249,231,5,5,113,218,5,5,75,239,5,5,237,221,5,5,76,227,5,5,38,165,5,5,134,231,5,5,77,239,5,5,42,194,5,5,121,168,5,5,219,165,5,5,170,169,5,5,102,175,5,5,47,229,5,5,33,197,5,5,212,172,5,5,251,180,5,5,175,239,5,5,44,223,5,5,69,170,5,5,157,197,5,5,39,165,5,5,34,190,5,5,26,189,5,5,97,200,5,5,227,191,5,5,112,168,5,5,135,231,5,5,80,203,5,5,23,217,5,5,55,232,5,5,50,204,5,5,245,191,5,5,176,232,5,5,109,205,5,5,115,244,5,5,18,218,5,5,253,220,5,5,174,227,5,5,21,166,5,5,22,166,5,5,37,210,5,5,175,227,5,5,75,226,5,5,178,232,5,5,23,220,5,5,69,185,5,5,148,232,5,5,221,233,5,5,175,224,5,5,248,228,5,5,114,181,5,5,242,166,5,5,227,192,5,5,117,215,5,5,185,169,5,5,124,205,5,5,36,237,5,5,236,174,5,5,48,180,5,5,89,235,5,5,90,235,5,5,23,219,5,5,250,201,5,5,54,221,5,5,29,178,5,5,247,205,5,5,43,218,5,5,119,226,5,5,175,249,5,5,33,164,5,5,38,232,5,5,71,185,5,5,10,174,5,5,129,234,5,5,12,202,5,5,54,229,5,5,176,240,5,5,149,222,5,5,243,174,5,5,101,192,5,5,14,236,5,5,12,232,5,5,254,187,5,5,179,240,5,5,177,163,5,5,219,224,5,5,246,246,5,5,41,219,5,5,109,222,5,5,171,165,5,5,124,249,5,5,211,232,5,5,62,176,5,5,155,232,5,5,77,243,5,5,15,169,5,5,121,228,5,5,249,246,5,5,201,244,5,5,2,206,5,5,165,192,5,5,133,215,5,5,180,232,5,5,105,165,5,5,14,178,5,5,106,229,5,5,88,243,5,5,249,228,5,5,183,217,5,5,44,191,5,5,167,192,5,5,182,232,5,5,198,163,5,5,156,220,5,5,190,174,5,5,28,249,5,5,231,194,5,5,10,234,5,5,240,231,5,5,86,215,5,5,169,163,5,5,46,221,5,5,187,199,5,5,193,218,5,5,51,173,5,5,229,179,5,5,136,168,5,5,214,165,5,5,82,192,5,5,216,221,5,5,97,194,5,5,74,239,5,5,84,205,5,5,117,164,5,5,57,227,5,5,248,180,5,5,35,194,5,5,29,197,5,5,92,175,5,5,63,170,5,5,202,172,5,5,154,197,5,5,152,239,5,5,53,232,5,5,213,218,5,5,73,203,5,5,79,200,5,5,116,231,5,5,24,189,5,5,10,190,5,5,175,232,5,5,117,231,5,5,221,191,5,5,221,205,5,5,20,210,5,5,247,220,5,5,65,185,5,5,170,227,5,5,221,174,5,5,25,178,5,5,231,201,5,5,102,229,5,5,247,228,5,5,220,233,5,5,40,165,5,5,18,220,5,5,222,192,5,5,238,166,5,5,12,176,5,5,68,185,5,5,6,174,5,5,101,222,5,5,228,174,5,5,144,222,5,5,12,236,5,5,4,232,5,5,68,243,5,5,149,232,5,5,122,249,5,5,209,232,5,5,114,228,5,5,190,244,5,5,166,192,5,5,84,223,5,5,211,212,5,5,195,227,5,5,111,183,5,5,185,182,5,5,136,213,5,5,65,225,5,5,162,197,5,5,76,225,5,5,169,219,5,5,214,213,5,5,100,180,5,5,116,232,5,5,115,232,5,5,51,187,5,5,128,204,5,5,202,174,5,5,231,219,5,5,137,192,5,5,8,209,5,5,92,228,5,5,138,212,5,5,210,243,5,5,148,215,5,5,157,233,5,5,149,207,5,5,4,211,5,5,42,223,5,5,159,233,5,5,224,224,5,5,225,224,5,5,45,177,5,5,217,206,5,5,232,223,5,5,155,176,5,5,132,213,5,5,85,220,5,5,159,207,5,5,221,248,5,5,176,211,5,5,85,202,5,5,45,223,5,5,164,225,5,5,113,193,5,5,85,217,5,5,136,231,5,5,29,181,5,5,86,178,5,5,203,187,5,5,143,192,5,5,213,236,5,5,157,234,5,5,59,213,5,5,243,219,5,5,175,236,5,5,221,243,5,5,2,207,5,5,125,205,5,5,34,212,5,5,127,180,5,5,9,226,5,5,227,234,5,5,49,190,5,5,254,211,5,5,111,176,5,5,233,209,5,5,148,231,5,5,186,180,5,5,188,211,5,5,117,223,5,5,77,201,5,5,180,209,5,5,154,209,5,5,109,204,5,5,91,232,5,5,242,180,5,5,66,239,5,5,142,232,5,5,144,232,5,5,217,232,5,5,154,166,5,5,45,164,5,5,28,196,5,5,8,195,5,5,201,178,5,5,150,207,5,5,37,174,5,5,211,224,5,5,44,205,5,5,182,173,5,5,171,218,5,5,36,179,5,5,217,248,5,5,21,163,5,5,190,208,5,5,218,248,5,5,34,211,5,5,68,182,5,5,116,179,5,5,98,240,5,5,76,184,5,5,126,189,5,5,8,170,5,5,5,163,5,5,20,177,5,5,15,196,5,5,36,182,5,5,25,203,5,5,160,233,5,5,25,167,5,5,76,209,5,5,238,221,5,5,218,206,5,5,152,177,5,5,119,218,5,5,41,174,5,5,60,167,5,5,73,207,5,5,59,228,5,5,140,163,5,5,166,183,5,5,74,207,5,5,85,187,5,5,170,192,5,5,180,239,5,5,236,201,5,5,110,178,5,5,154,215,5,5,251,203,5,5,111,178,5,5,148,221,5,5,79,212,5,5,49,196,5,5,80,222,5,5,43,194,5,5,150,212,5,5,149,196,5,5,75,216,5,5,104,223,5,5,35,190,5,5,113,168,5,5,254,218,5,5,58,203,5,5,58,181,5,5,23,234,5,5,102,205,5,5,64,179,5,5,133,209,5,5,48,165,5,5,56,215,5,5,112,178,5,5,237,201,5,5,254,206,5,5,207,202,5,5,88,229,5,5,227,181,5,5,225,225,5,5,176,206,5,5,245,183,5,5,157,214,5,5,142,166,5,5,65,217,5,5,26,235,5,5,79,172,5,5,89,229,5,5,51,189,5,5,19,250,5,5,54,204,5,5,36,224,5,5,137,209,5,5,93,170,5,5,73,179,5,5,126,205,5,5,220,208,5,5,181,245,5,5,97,246,5,5,245,225,5,5,186,203,5,5,98,202,5,5,249,183,5,5,224,206,5,5,225,206,5,5,213,190,5,5,50,190,5,5,164,186,5,5,235,199,5,5,87,207,5,5,52,223,5,5,226,246,5,5,84,212,5,5,156,180,5,5,114,163,5,5,225,232,5,5,117,209,5,5,237,239,5,5,161,234,5,5,111,233,5,5,25,234,5,5,112,233,5,5,194,167,5,5,24,219,5,5,97,221,5,5,155,177,5,5,130,218,5,5,236,247,5,5,73,178,5,5,220,178,5,5,69,226,5,5,22,250,5,5,237,222,5,5,15,177,5,5,101,219,5,5,217,224,5,5,25,226,5,5,127,205,5,5,118,193,5,5,97,180,5,5,32,207,5,5,140,174,5,5,226,232,5,5,59,177,5,5,115,168,5,5,44,230,5,5,173,184,5,5,187,180,5,5,159,223,5,5,92,182,5,5,55,205,5,5,152,175,5,5,177,234,5,5,148,208,5,5,79,179,5,5,51,211,5,5,84,184,5,5,135,177,5,5,190,180,5,5,109,202,5,5,3,184,5,5,70,167,5,5,30,188,5,5,152,232,5,5,93,165,5,5,165,226,5,5,63,190,5,5,255,187,5,5,166,234,5,5,62,180,5,5,117,175,5,5,194,236,5,5,98,213,5,5,151,196,5,5,16,202,5,5,137,218,5,5,53,211,5,5,191,176,5,5,74,167,5,5,116,233,5,5,158,188,5,5,203,164,5,5,64,232,5,5,86,184,5,5,132,165,5,5,86,182,5,5,10,207,5,5,131,176,5,5,143,234,5,5,71,215,5,5,30,173,5,5,182,225,5,5,221,222,5,5,196,178,5,5,62,163,5,5,169,234,5,5,170,234,5,5,190,207,5,5,191,207,5,5,34,189,5,5,43,179,5,5,155,209,5,5,113,207,5,5,4,169,5,5,222,187,5,5,197,178,5,5,8,235,5,5,37,197,5,5,92,232,5,5,41,175,5,5,101,165,5,5,102,165,5,5,180,221,5,5,102,207,5,5,183,225,5,5,208,209,5,5,202,178,5,5,48,224,5,5,26,202,5,5,77,245,5,5,241,248,5,5,87,184,5,5,36,189,5,5,212,187,5,5,139,218,5,5,156,187,5,5,51,219,5,5,115,224,5,5,185,225,5,5,180,178,5,5,163,246,5,5,21,191,5,5,37,189,5,5,78,215,5,5,166,246,5,5,57,233,5,5,59,186,5,5,117,214,5,5,160,230,5,5,206,235,5,5,23,184,5,5,89,179,5,5,233,211,5,5,234,203,5,5,10,235,5,5,191,234,5,5,103,213,5,5,147,196,5,5,212,207,5,5,38,189,5,5,137,228,5,5,201,194,5,5,236,175,5,5,144,173,5,5,171,211,5,5,205,180,5,5,87,178,5,5,88,178,5,5,209,194,5,5,124,186,5,5,149,230,5,5,124,190,5,5,49,238,5,5,251,201,5,5,3,207,5,5,116,180,5,5,68,197,5,5,214,185,5,5,249,242,5,5,16,170,5,5,223,195,5,5,191,211,5,5,249,185,5,5,217,185,5,5,94,178,5,5,138,218,5,5,107,243,5,5,208,180,5,5,174,175,5,5,238,244,5,5,178,248,5,5,174,223,5,5,27,241,5,5,10,194,5,5,20,208,5,5,124,246,5,5,213,248,5,5,26,216,5,5,95,175,5,5,97,217,5,5,55,173,5,5,133,230,5,5,55,228,5,5,13,197,5,5,78,229,5,5,144,182,5,5,194,224,5,5,100,175,5,5,221,237,5,5,247,182,5,5,191,208,5,5,28,170,5,5,30,231,5,5,136,230,5,5,126,210,5,5,133,222,5,5,115,201,5,5,234,198,5,5,209,211,5,5,34,197,5,5,219,176,5,5,127,189,5,5,103,175,5,5,100,238,5,5,223,220,5,5,62,173,5,5,8,197,5,5,68,244,5,5,143,167,5,5,225,163,5,5,17,193,5,5,18,193,5,5,21,167,5,5,239,221,5,5,100,231,5,5,231,237,5,5,6,163,5,5,33,220,5,5,172,218,5,5,172,241,5,5,10,195,5,5,99,240,5,5,245,218,5,5,85,227,5,5,197,168,5,5,41,239,5,5,226,194,5,5,251,206,5,5,96,204,5,5,167,194,5,5,128,197,5,5,97,195,5,5,80,212,5,5,20,220,5,5,49,232,5,5,255,218,5,5,173,227,5,5,77,189,5,5,126,248,5,5,238,227,5,5,59,242,5,5,241,246,5,5,218,243,5,5,151,219,5,5,225,246,5,5,175,174,5,5,104,211,5,5,24,220,5,5,172,183,5,5,156,186,5,5,153,219,5,5,146,220,5,5,79,189,5,5,145,231,5,5,31,200,5,5,103,247,5,5,10,226,5,5,188,193,5,5,181,195,5,5,238,239,5,5,170,167,5,5,188,210,5,5,142,194,5,5,82,184,5,5,203,168,5,5,90,194,5,5,238,163,5,5,214,190,5,5,215,166,5,5,53,189,5,5,36,231,5,5,45,230,5,5,105,202,5,5,49,244,5,5,122,215,5,5,63,226,5,5,60,234,5,5,89,226,5,5,192,191,5,5,64,242,5,5,122,201,5,5,93,229,5,5,241,174,5,5,149,231,5,5,141,174,5,5,10,247,5,5,139,164,5,5,127,220,5,5,239,247,5,5,12,247,5,5,169,179,5,5,72,193,5,5,203,220,5,5,217,213,5,5,75,249,5,5,64,190,5,5,19,204,5,5,249,223,5,5,136,222,5,5,154,246,5,5,14,201,5,5,91,217,5,5,161,219,5,5,110,204,5,5,151,220,5,5,108,166,5,5,206,185,5,5,121,173,5,5,252,172,5,5,251,188,5,5,199,191,5,5,247,235,5,5,185,195,5,5,198,200,5,5,248,239,5,5,115,202,5,5,111,222,5,5,48,239,5,5,167,248,5,5,148,205,5,5,126,201,5,5,107,185,5,5,7,167,5,5,157,187,5,5,162,187,5,5,221,189,5,5,39,189,5,5,172,223,5,5,20,241,5,5,253,193,5,5,93,217,5,5,78,175,5,5,124,230,5,5,131,222,5,5,197,237,5,5,197,190,5,5,27,231,5,5,111,201,5,5,8,193,5,5,5,195,5,5,192,189,5,5,32,220,5,5,164,218,5,5,53,240,5,5,227,198,5,5,214,220,5,5,52,187,5,5,163,241,5,5,92,211,5,5,63,227,5,5,47,232,5,5,214,218,5,5,89,204,5,5,8,220,5,5,62,212,5,5,11,190,5,5,90,204,5,5,143,219,5,5,167,174,5,5,72,189,5,5,77,184,5,5,226,163,5,5,18,200,5,5,135,194,5,5,99,247,5,5,46,189,5,5,5,226,5,5,129,231,5,5,59,234,5,5,125,174,5,5,86,202,5,5,5,247,5,5,87,229,5,5,3,167,5,5,63,249,5,5,210,213,5,5,78,184,5,5,51,190,5,5,155,219,5,5,242,188,5,5,244,215,5,5,19,193,5,5,180,233,5,5,181,233,5,5,44,168,5,5,44,233,5,5,247,165,5,5,247,184,5,5,248,184,5,5,189,233,5,5,51,217,5,5,112,164,5,5,250,165,5,5,251,165,5,5,252,165,5,5,52,217,5,5,253,165,5,5,82,164,5,5,198,233,5,5,254,165,5,5,255,165,5,5,183,224,5,5,214,230,5,5,193,184,5,5,195,184,5,5,150,224,5,5,250,225,5,5,249,225,5,5,214,240,5,5,176,230,5,5,193,165,5,5,194,165,5,5,229,226,5,5,228,230,5,5,223,187,5,5,17,175,5,5,67,224,5,5,110,192,5,5,63,210,5,5,141,247,5,5,142,247,5,5,29,209,5,5,2,218,5,5,135,239,5,5,192,193,5,5,177,169,5,5,115,208,5,5,211,231,5,5,110,247,5,5,244,181,5,5,157,222,5,5,156,244,5,5,213,180,5,5,180,249,5,5,212,205,5,5,176,198,5,5,28,241,5,5,41,173,5,5,94,245,5,5,22,175,5,5,154,237,5,5,183,197,5,5,172,219,5,5,255,222,5,5,213,205,5,5,84,249,5,5,8,246,5,5,118,188,5,5,35,223,5,5,188,223,5,5,205,183,5,5,23,181,5,5,202,218,5,5,153,239,5,5,98,208,5,5,14,203,5,5,185,224,5,5,93,175,5,5,55,239,5,5,167,176,5,5,197,166,5,5,217,221,5,5,30,177,5,5,242,231,5,5,177,179,5,5,137,229,5,5,29,182,5,5,6,212,5,5,149,206,5,5,49,200,5,5,17,179,5,5,110,242,5,5,38,171,5,5,196,164,5,5,219,201,5,5,19,183,5,5,164,239,5,5,150,203,5,5,82,222,5,5,193,187,5,5,11,218,5,5,96,182,5,5,124,237,5,5,64,227,5,5,179,179,5,5,118,167,5,5,53,198,5,5,207,183,5,5,211,178,5,5,100,208,5,5,151,217,5,5,12,218,5,5,104,166,5,5,15,242,5,5,140,214,5,5,21,210,5,5,224,179,5,5,175,221,5,5,22,210,5,5,241,176,5,5,242,176,5,5,209,181,5,5,162,206,5,5,224,180,5,5,207,175,5,5,229,239,5,5,176,219,5,5,158,182,5,5,181,194,5,5,105,245,5,5,68,227,5,5,142,225,5,5,154,236,5,5,83,232,5,5,119,212,5,5,239,173,5,5,123,188,5,5,241,236,5,5,51,200,5,5,4,187,5,5,100,193,5,5,54,185,5,5,136,164,5,5,203,234,5,5,160,207,5,5,197,164,5,5,229,200,5,5,75,175,5,5,25,190,5,5,51,242,5,5,19,220,5,5,225,205,5,5,96,248,5,5,244,225,5,5,121,196,5,5,235,245,5,5,228,180,5,5,100,240,5,5,33,175,5,5,86,249,5,5,95,190,5,5,211,164,5,5,166,184,5,5,218,247,5,5,105,176,5,5,11,237,5,5,215,178,5,5,33,237,5,5,240,242,5,5,60,226,5,5,46,223,5,5,176,180,5,5,110,248,5,5,251,226,5,5,185,220,5,5,56,242,5,5,190,249,5,5,242,237,5,5,245,165,5,5,193,193,5,5,243,237,5,5,208,213,5,5,55,201,5,5,35,210,5,5,162,175,5,5,34,175,5,5,29,246,5,5,122,183,5,5,181,239,5,5,98,192,5,5,186,241,5,5,66,224,5,5,52,188,5,5,19,218,5,5,68,179,5,5,6,177,5,5,49,223,5,5,87,249,5,5,176,236,5,5,69,179,5,5,159,210,5,5,65,169,5,5,187,241,5,5,112,194,5,5,27,221,5,5,117,238,5,5,93,227,5,5,228,233,5,5,114,223,5,5,185,236,5,5,62,232,5,5,125,219,5,5,218,178,5,5,11,177,5,5,244,185,5,5,54,223,5,5,176,234,5,5,243,188,5,5,72,233,5,5,30,230,5,5,96,210,5,5,153,217,5,5,141,248,5,5,193,239,5,5,124,245,5,5,244,187,5,5,98,207,5,5,105,227,5,5,89,165,5,5,154,241,5,5,186,169,5,5,103,214,5,5,46,237,5,5,187,197,5,5,95,220,5,5,140,180,5,5,65,239,5,5,164,171,5,5,206,165,5,5,210,165,5,5,232,184,5,5,227,186,5,5,79,249,5,5,206,241,5,5,114,190,5,5,19,187,5,5,22,240,5,5,143,181,5,5,135,176,5,5,253,208,5,5,213,249,5,5,39,228,5,5,73,198,5,5,158,247,5,5,185,170,5,5,182,230,5,5,131,212,5,5,250,246,5,5,22,197,5,5,21,174,5,5,235,195,5,5,6,166,5,5,149,173,5,5,141,216,5,5,236,182,5,5,245,215,5,5,182,228,5,5,140,164,5,5,32,249,5,5,24,235,5,5,180,199,5,5,253,213,5,5,146,164,5,5,249,244,5,5,51,207,5,5,35,242,5,5,78,198,5,5,110,179,5,5,219,209,5,5,6,165,5,5,205,167,5,5,61,166,5,5,3,228,5,5,205,163,5,5,156,245,5,5,207,176,5,5,96,232,5,5,85,241,5,5,219,188,5,5,2,197,5,5,213,193,5,5,135,221,5,5,194,226,5,5,8,196,5,5,62,248,5,5,217,191,5,5,100,197,5,5,99,209,5,5,203,218,5,5,59,202,5,5,171,200,5,5,51,198,5,5,146,216,5,5,243,203,5,5,46,213,5,5,229,193,5,5,154,184,5,5,104,186,5,5,43,203,5,5,84,196,5,5,116,221,5,5,148,186,5,5,182,249,5,5,174,242,5,5,97,225,5,5,200,175,5,5,196,212,5,5,48,191,5,5,163,174,5,5,23,245,5,5,100,174,5,5,44,192,5,5,240,197,5,5,107,186,5,5,47,203,5,5,236,192,5,5,48,208,5,5,207,244,5,5,82,163,5,5,123,213,5,5,214,163,5,5,67,187,5,5,142,249,5,5,140,166,5,5,195,214,5,5,127,208,5,5,255,167,5,5,101,211,5,5,144,193,5,5,14,220,5,5,248,179,5,5,99,232,5,5,180,168,5,5,49,185,5,5,162,183,5,5,169,224,5,5,52,242,5,5,144,166,5,5,44,216,5,5,237,175,5,5,249,206,5,5,228,249,5,5,131,209,5,5,106,239,5,5,184,175,5,5,237,242,5,5,212,169,5,5,239,230,5,5,227,163,5,5,232,237,5,5,83,229,5,5,255,207,5,5,24,248,5,5,187,249,5,5,31,198,5,5,122,196,5,5,48,216,5,5,49,216,5,5,49,236,5,5,79,180,5,5,39,172,5,5,232,212,5,5,215,230,5,5,224,225,5,5,137,231,5,5,104,232,5,5,102,241,5,5,4,245,5,5,52,216,5,5,148,249,5,5,7,198,5,5,222,249,5,5,242,164,5,5,78,170,5,5,243,223,5,5,47,174,5,5,11,188,5,5,188,243,5,5,120,222,5,5,83,199,5,5,138,209,5,5,146,242,5,5,21,221,5,5,145,170,5,5,139,209,5,5,238,216,5,5,139,176,5,5,94,165,5,5,242,217,5,5,72,165,5,5,198,232,5,5,27,246,5,5,125,221,5,5,80,170,5,5,105,228,5,5,236,188,5,5,182,166,5,5,248,175,5,5,237,170,5,5,118,241,5,5,52,234,5,5,95,196,5,5,219,173,5,5,242,170,5,5,109,232,5,5,38,197,5,5,181,188,5,5,153,232,5,5,104,224,5,5,22,242,5,5,19,202,5,5,78,243,5,5,111,224,5,5,189,234,5,5,155,189,5,5,162,200,5,5,38,213,5,5,228,173,5,5,161,232,5,5,158,187,5,5,71,242,5,5,197,177,5,5,6,210,5,5,32,222,5,5,254,166,5,5,55,220,5,5,226,239,5,5,119,192,5,5,185,247,5,5,151,204,5,5,226,242,5,5,38,233,5,5,29,170,5,5,248,220,5,5,13,217,5,5,208,175,5,5,176,220,5,5,83,173,5,5,109,249,5,5,252,174,5,5,183,249,5,5,142,179,5,5,65,181,5,5,77,209,5,5,37,182,5,5,154,234,5,5,65,198,5,5,20,193,5,5,131,236,5,5,118,172,5,5,32,224,5,5,50,232,5,5,53,172,5,5,210,185,5,5,7,226,5,5,33,224,5,5,116,242,5,5,186,182,5,5,175,218,5,5,57,215,5,5,61,206,5,5,126,225,5,5,243,243,5,5,228,181,5,5,101,204,5,5,221,169,5,5,35,196,5,5,59,237,5,5,149,185,5,5,231,168,5,5,46,233,5,5,191,197,5,5,57,243,5,5,217,227,5,5,105,184,5,5,36,246,5,5,52,190,5,5,71,186,5,5,147,242,5,5,192,179,5,5,233,166,5,5,124,220,5,5,110,226,5,5,5,180,5,5,47,233,5,5,104,222,5,5,162,234,5,5,218,196,5,5,188,180,5,5,123,215,5,5,237,177,5,5,28,199,5,5,239,216,5,5,160,216,5,5,34,180,5,5,41,210,5,5,111,226,5,5,199,249,5,5,205,166,5,5,29,195,5,5,59,236,5,5,48,171,5,5,86,212,5,5,60,224,5,5,178,234,5,5,201,249,5,5,26,250,5,5,21,239,5,5,121,219,5,5,192,197,5,5,101,180,5,5,70,206,5,5,89,168,5,5,220,224,5,5,158,248,5,5,220,186,5,5,65,232,5,5,188,185,5,5,121,239,5,5,72,206,5,5,109,166,5,5,111,204,5,5,30,213,5,5,19,180,5,5,119,172,5,5,205,184,5,5,195,240,5,5,17,187,5,5,103,207,5,5,84,243,5,5,196,240,5,5,106,184,5,5,208,230,5,5,208,217,5,5,49,224,5,5,91,243,5,5,159,189,5,5,64,171,5,5,65,171,5,5,107,184,5,5,35,216,5,5,115,204,5,5,221,227,5,5,67,171,5,5,102,243,5,5,234,165,5,5,16,234,5,5,69,227,5,5,115,242,5,5,77,227,5,5,107,227,5,5,250,186,5,5,244,222,5,5,74,241,5,5,76,189,5,5,221,186,5,5,164,205,5,5,165,205,5,5,7,210,5,5,223,239,5,5,10,188,5,5,132,175,5,5,212,219,5,5,198,177,5,5,201,166,5,5,14,210,5,5,0,148,5,5,164,174,5,5,172,220,5,5,107,218,5,5,0,149,5,5,187,190,5,5,165,174,5,5,20,183,5,5,103,177,5,5,94,228,5,5,187,209,5,5,152,195,5,5,74,226,5,5,182,231,5,5,43,173,5,5,112,199,5,5,113,199,5,5,131,198,5,5,195,192,5,5,192,208,5,5,203,170,5,5,11,230,5,5,243,176,5,5,181,235,5,5,125,213,5,5,84,240,5,5,208,223,5,5,197,226,5,5,241,181,5,5,212,212,5,5,215,184,5,5,79,210,5,5,48,210,5,5,97,205,5,5,40,168,5,5,65,241,5,5,177,205,5,5,13,163,5,5,156,173,5,5,198,224,5,5,153,216,5,5,196,175,5,5,222,248,5,5,83,210,5,5,42,174,5,5,217,167,5,5,249,182,5,5,2,216,5,5,166,237,5,5,161,207,5,5,213,178,5,5,59,192,5,5,212,243,5,5,129,210,5,5,93,164,5,5,211,235,5,5,92,230,5,5,233,223,5,5,56,184,5,5,85,173,5,5,169,249,5,5,136,202,5,5,231,210,5,5,218,167,5,5,146,193,5,5,160,201,5,5,183,243,5,5,28,208,5,5,200,226,5,5,101,240,5,5,212,222,5,5,81,213,5,5,241,191,5,5,12,230,5,5,182,199,5,5,143,179,5,5,238,195,5,5,110,249,5,5,83,190,5,5,233,237,5,5,70,247,5,5,70,178,5,5,142,231,5,5,190,183,5,5,221,181,5,5,86,227,5,5,242,171,5,5,21,193,5,5,18,195,5,5,129,189,5,5,76,166,5,5,187,235,5,5,55,193,5,5,100,163,5,5,219,167,5,5,111,248,5,5,188,235,5,5,249,232,5,5,105,166,5,5,57,242,5,5,88,181,5,5,81,203,5,5,186,220,5,5,20,227,5,5,87,227,5,5,123,218,5,5,77,207,5,5,72,224,5,5,206,226,5,5,207,226,5,5,173,217,5,5,214,219,5,5,51,164,5,5,129,197,5,5,49,165,5,5,28,229,5,5,165,225,5,5,252,226,5,5,101,163,5,5,242,221,5,5,105,223,5,5,215,231,5,5,175,166,5,5,187,182,5,5,131,210,5,5,126,174,5,5,197,219,5,5,90,188,5,5,88,210,5,5,127,174,5,5,92,187,5,5,224,248,5,5,220,167,5,5,10,244,5,5,110,164,5,5,55,163,5,5,174,203,5,5,61,192,5,5,152,229,5,5,92,221,5,5,78,172,5,5,84,213,5,5,85,213,5,5,254,176,5,5,30,203,5,5,98,172,5,5,30,180,5,5,182,200,5,5,234,239,5,5,121,235,5,5,35,197,5,5,247,194,5,5,197,163,5,5,110,205,5,5,190,182,5,5,155,216,5,5,169,201,5,5,55,204,5,5,76,223,5,5,79,239,5,5,148,190,5,5,77,166,5,5,91,227,5,5,94,170,5,5,32,203,5,5,189,243,5,5,33,208,5,5,22,220,5,5,181,226,5,5,83,216,5,5,191,182,5,5,130,169,5,5,150,185,5,5,243,201,5,5,127,248,5,5,32,217,5,5,94,230,5,5,85,233,5,5,13,219,5,5,151,212,5,5,97,228,5,5,109,223,5,5,157,215,5,5,156,216,5,5,82,212,5,5,221,167,5,5,255,180,5,5,151,221,5,5,108,216,5,5,43,172,5,5,45,196,5,5,188,241,5,5,60,215,5,5,108,215,5,5,251,214,5,5,34,208,5,5,136,223,5,5,203,185,5,5,91,202,5,5,28,168,5,5,192,230,5,5,80,171,5,5,111,239,5,5,145,243,5,5,169,194,5,5,236,238,5,5,122,177,5,5,86,242,5,5,234,235,5,5,129,195,5,5,135,210,5,5,165,190,5,5,196,235,5,5,30,238,5,5,107,177,5,5,146,198,5,5,16,231,5,5,95,227,5,5,253,195,5,5,40,210,5,5,163,214,5,5,154,219,5,5,25,215,5,5,191,232,5,5,183,180,5,5,208,234,5,5,116,193,5,5,190,201,5,5,216,222,5,5,208,179,5,5,78,191,5,5,224,169,5,5,126,186,5,5,227,246,5,5,7,216,5,5,153,249,5,5,239,163,5,5,122,245,5,5,186,236,5,5,133,248,5,5,98,224,5,5,226,177,5,5,115,163,5,5,147,198,5,5,61,203,5,5,172,201,5,5,6,235,5,5,218,173,5,5,74,224,5,5,228,246,5,5,25,219,5,5,140,235,5,5,118,217,5,5,123,199,5,5,35,248,5,5,35,181,5,5,227,194,5,5,57,222,5,5,114,191,5,5,157,216,5,5,9,211,5,5,223,228,5,5,100,198,5,5,115,191,5,5,67,241,5,5,174,225,5,5,208,232,5,5,226,206,5,5,222,215,5,5,2,181,5,5,210,170,5,5,9,169,5,5,206,186,5,5,92,167,5,5,17,231,5,5,127,225,5,5,52,192,5,5,10,187,5,5,99,179,5,5,100,166,5,5,247,221,5,5,8,221,5,5,193,181,5,5,95,188,5,5,49,233,5,5,95,207,5,5,36,225,5,5,88,249,5,5,131,205,5,5,201,192,5,5,114,177,5,5,194,179,5,5,20,225,5,5,215,190,5,5,189,193,5,5,140,189,5,5,192,163,5,5,56,190,5,5,212,186,5,5,49,211,5,5,45,167,5,5,238,207,5,5,246,171,5,5,50,233,5,5,173,167,5,5,250,238,5,5,227,167,5,5,227,215,5,5,235,240,5,5,85,222,5,5,153,185,5,5,27,195,5,5,60,197,5,5,76,179,5,5,219,196,5,5,253,177,5,5,44,183,5,5,41,226,5,5,150,231,5,5,99,221,5,5,121,164,5,5,255,183,5,5,150,233,5,5,112,226,5,5,9,180,5,5,227,177,5,5,223,208,5,5,141,210,5,5,106,222,5,5,4,202,5,5,142,248,5,5,204,205,5,5,92,194,5,5,41,170,5,5,249,224,5,5,115,181,5,5,15,213,5,5,204,188,5,5,195,179,5,5,95,193,5,5,209,234,5,5,161,229,5,5,202,220,5,5,57,190,5,5,14,171,5,5,58,190,5,5,106,199,5,5,186,165,5,5,125,191,5,5,59,185,5,5,203,195,5,5,184,173,5,5,134,245,5,5,32,183,5,5,243,246,5,5,150,232,5,5,99,199,5,5,65,175,5,5,66,215,5,5,105,168,5,5,169,199,5,5,80,189,5,5,147,172,5,5,168,170,5,5,102,195,5,5,124,244,5,5,161,176,5,5,206,188,5,5,156,193,5,5,163,215,5,5,45,178,5,5,231,181,5,5,38,246,5,5,114,233,5,5,244,174,5,5,46,230,5,5,110,202,5,5,5,238,5,5,37,208,5,5,218,224,5,5,191,180,5,5,91,219,5,5,89,199,5,5,50,244,5,5,178,178,5,5,218,213,5,5,240,247,5,5,255,195,5,5,134,216,5,5,71,201,5,5,103,246,5,5,245,174,5,5,217,219,5,5,140,223,5,5,119,209,5,5,219,226,5,5,124,201,5,5,136,196,5,5,117,181,5,5,98,170,5,5,151,209,5,5,152,209,5,5,41,198,5,5,209,179,5,5,69,235,5,5,193,200,5,5,125,241,5,5,248,171,5,5,137,205,5,5,161,178,5,5,138,205,5,5,107,237,5,5,137,196,5,5,31,199,5,5,124,217,5,5,93,178,5,5,189,203,5,5,204,220,5,5,207,165,5,5,219,222,5,5,154,231,5,5,255,214,5,5,69,241,5,5,248,169,5,5,225,166,5,5,33,238,5,5,233,203,5,5,196,210,5,5,228,169,5,5,236,236,5,5,39,175,5,5,174,164,5,5,220,213,5,5,159,188,5,5,237,236,5,5,114,195,5,5,72,188,5,5,201,241,5,5,130,241,5,5,91,183,5,5,120,247,5,5,89,231,5,5,104,180,5,5,238,236,5,5,54,211,5,5,120,187,5,5,193,229,5,5,43,226,5,5,129,163,5,5,75,167,5,5,16,175,5,5,215,164,5,5,121,236,5,5,202,192,5,5,155,231,5,5,10,245,5,5,193,244,5,5,104,201,5,5,39,181,5,5,73,188,5,5,103,195,5,5,86,237,5,5,147,227,5,5,60,236,5,5,247,246,5,5,17,198,5,5,5,221,5,5,6,221,5,5,127,186,5,5,180,240,5,5,77,249,5,5,118,180,5,5,6,184,5,5,66,213,5,5,37,203,5,5,158,191,5,5,39,169,5,5,226,207,5,5,131,237,5,5,240,232,5,5,239,236,5,5,237,213,5,5,14,174,5,5,71,247,5,5,228,182,5,5,251,189,5,5,240,236,5,5,179,238,5,5,228,232,5,5,119,182,5,5,3,215,5,5,117,194,5,5,181,217,5,5,207,188,5,5,34,228,5,5,159,238,5,5,134,170,5,5,149,169,5,5,104,190,5,5,98,165,5,5,157,246,5,5,76,188,5,5,194,176,5,5,97,236,5,5,139,233,5,5,204,239,5,5,70,190,5,5,126,238,5,5,2,196,5,5,55,211,5,5,224,234,5,5,152,208,5,5,24,225,5,5,63,180,5,5,154,170,5,5,233,249,5,5,151,224,5,5,223,173,5,5,185,206,5,5,172,165,5,5,163,229,5,5,15,186,5,5,29,215,5,5,71,235,5,5,2,191,5,5,156,232,5,5,144,205,5,5,45,234,5,5,228,186,5,5,238,213,5,5,31,213,5,5,224,195,5,5,5,230,5,5,204,164,5,5,60,221,5,5,197,210,5,5,82,225,5,5,75,190,5,5,127,199,5,5,116,202,5,5,243,168,5,5,142,200,5,5,81,211,5,5,178,166,5,5,254,188,5,5,248,235,5,5,30,215,5,5,98,236,5,5,83,225,5,5,179,196,5,5,149,235,5,5,110,188,5,5,62,183,5,5,79,201,5,5,66,168,5,5,54,237,5,5,34,173,5,5,182,209,5,5,50,212,5,5,53,244,5,5,64,180,5,5,115,216,5,5,198,207,5,5,20,204,5,5,75,233,5,5,2,188,5,5,122,209,5,5,189,185,5,5,154,178,5,5,16,216,5,5,126,232,5,5,23,202,5,5,68,205,5,5,222,222,5,5,145,176,5,5,239,240,5,5,230,244,5,5,127,178,5,5,199,207,5,5,92,183,5,5,127,232,5,5,5,169,5,5,4,181,5,5,35,173,5,5,61,221,5,5,209,177,5,5,122,228,5,5,82,195,5,5,2,205,5,5,224,172,5,5,55,237,5,5,253,189,5,5,228,207,5,5,145,200,5,5,168,248,5,5,166,188,5,5,72,222,5,5,156,209,5,5,149,205,5,5,73,222,5,5,105,185,5,5,106,165,5,5,5,181,5,5,199,200,5,5,134,241,5,5,75,178,5,5,191,193,5,5,81,176,5,5,105,207,5,5,122,173,5,5,42,175,5,5,244,163,5,5,201,240,5,5,89,238,5,5,124,233,5,5,26,218,5,5,116,177,5,5,252,221,5,5,210,198,5,5,112,222,5,5,31,202,5,5,19,184,5,5,150,197,5,5,229,199,5,5,107,211,5,5,34,166,5,5,148,244,5,5,181,196,5,5,131,184,5,5,218,216,5,5,150,205,5,5,151,205,5,5,199,210,5,5,161,223,5,5,53,219,5,5,143,171,5,5,241,186,5,5,110,185,5,5,34,202,5,5,66,233,5,5,47,197,5,5,250,228,5,5,186,167,5,5,5,185,5,5,16,178,5,5,195,229,5,5,18,226,5,5,106,191,5,5,179,165,5,5,63,164,5,5,254,189,5,5,240,215,5,5,195,196,5,5,22,191,5,5,15,238,5,5,222,189,5,5,11,216,5,5,152,205,5,5,99,186,5,5,139,163,5,5,10,205,5,5,6,242,5,5,119,224,5,5,64,216,5,5,153,205,5,5,44,213,5,5,125,194,5,5,127,234,5,5,24,184,5,5,140,185,5,5,11,235,5,5,235,211,5,5,94,167,5,5,118,190,5,5,58,233,5,5,181,190,5,5,67,232,5,5,26,184,5,5,213,207,5,5,124,180,5,5,125,229,5,5,61,186,5,5,162,205,5,5,122,191,5,5,212,239,5,5,158,220,5,5,194,177,5,5,206,219,5,5,168,166,5,5,9,188,5,5,240,181,5,5,68,210,5,5,73,226,5,5,46,228,5,5,54,202,5,5,11,173,5,5,98,177,5,5,162,170,5,5,213,184,5,5,26,244,5,5,207,223,5,5,147,216,5,5,237,191,5,5,131,166,5,5,138,179,5,5,56,207,5,5,210,178,5,5,228,223,5,5,206,222,5,5,238,182,5,5,208,163,5,5,190,192,5,5,90,164,5,5,120,210,5,5,236,241,5,5,202,210,5,5,21,208,5,5,253,244,5,5,56,192,5,5,237,195,5,5,153,173,5,5,181,199,5,5,217,179,5,5,53,184,5,5,12,163,5,5,69,248,5,5,123,210,5,5,76,221,5,5,124,210,5,5,43,193,5,5,47,163,5,5,146,237,5,5,188,166,5,5,137,166,5,5,83,163,5,5,214,248,5,5,55,233,5,5,91,172,5,5,25,180,5,5,74,203,5,5,167,177,5,5,43,242,5,5,252,180,5,5,84,163,5,5,106,189,5,5,182,229,5,5,75,210,5,5,52,170,5,5,46,164,5,5,65,227,5,5,164,217,5,5,35,179,5,5,18,165,5,5,155,183,5,5,212,167,5,5,62,178,5,5,152,216,5,5,127,195,5,5,201,185,5,5,60,239,5,5,204,170,5,5,37,241,5,5,82,242,5,5,110,225,5,5,50,203,5,5,63,241,5,5,51,183,5,5,235,218,5,5,70,176,5,5,179,182,5,5,70,191,5,5,104,177,5,5,129,243,5,5,88,195,5,5,85,219,5,5,143,221,5,5,79,213,5,5,218,177,5,5,121,177,5,5,53,215,5,5,114,199,5,5,69,212,5,5,135,227,5,5,72,197,5,5,105,177,5,5,207,191,5,5,35,172,5,5,85,221,5,5,227,235,5,5,41,204,5,5,101,239,5,5,132,224,5,5,179,226,5,5,51,180,5,5,232,238,5,5,182,243,5,5,187,230,5,5,240,221,5,5,177,185,5,5,6,169,5,5,30,245,5,5,55,185,5,5,97,179,5,5,195,188,5,5,249,195,5,5,147,214,5,5,227,236,5,5,5,187,5,5,207,232,5,5,159,225,5,5,147,193,5,5,47,192,5,5,167,237,5,5,19,215,5,5,204,234,5,5,109,191,5,5,209,173,5,5,3,216,5,5,89,188,5,5,79,195,5,5,35,205,5,5,12,231,5,5,155,180,5,5,117,186,5,5,6,211,5,5,219,206,5,5,135,237,5,5,39,211,5,5,167,219,5,5,167,184,5,5,205,234,5,5,33,170,5,5,120,164,5,5,207,208,5,5,62,175,5,5,67,195,5,5,210,196,5,5,247,224,5,5,233,212,5,5,93,193,5,5,97,190,5,5,38,226,5,5,84,222,5,5,193,205,5,5,2,219,5,5,58,215,5,5,236,207,5,5,167,199,5,5,239,166,5,5,252,179,5,5,223,177,5,5,111,205,5,5,78,207,5,5,11,171,5,5,138,231,5,5,114,209,5,5,116,244,5,5,100,195,5,5,47,211,5,5,129,235,5,5,246,237,5,5,137,223,5,5,140,209,5,5,214,222,5,5,174,178,5,5,54,236,5,5,56,201,5,5,183,200,5,5,31,238,5,5,41,178,5,5,245,169,5,5,12,186,5,5,143,231,5,5,214,172,5,5,222,169,5,5,137,169,5,5,2,221,5,5,116,163,5,5,187,191,5,5,250,183,5,5,117,180,5,5,225,207,5,5,251,183,5,5,227,182,5,5,58,188,5,5,34,192,5,5,171,164,5,5,139,240,5,5,33,203,5,5,23,166,5,5,79,231,5,5,161,165,5,5,60,180,5,5,152,170,5,5,100,190,5,5,199,164,5,5,229,249,5,5,180,206,5,5,159,176,5,5,227,232,5,5,176,217,5,5,64,188,5,5,101,224,5,5,185,207,5,5,26,188,5,5,239,168,5,5,244,189,5,5,147,178,5,5,36,186,5,5,2,169,5,5,7,235,5,5,52,211,5,5,143,176,5,5,214,199,5,5,97,185,5,5,194,200,5,5,68,222,5,5,160,188,5,5,181,240,5,5,160,223,5,5,174,165,5,5,2,185,5,5,116,224,5,5,63,216,5,5,35,221,5,5,6,225,5,5,152,204,5,5,134,238,5,5,46,177,5,5,183,211,5,5,16,188,5,5,60,171,5,5,34,221,5,5,163,170,5,5,45,169,5,5,223,229,5,5,77,228,5,5,194,199,5,5,164,170,5,5,175,242,5,5,26,165,5,5,132,198,5,5,27,165,5,5,131,228,5,5,80,195,5,5,239,195,5,5,180,164,5,5,161,201,5,5,42,231,5,5,105,236,5,5,103,215,5,5,104,215,5,5,216,204,5,5,9,172,5,5,175,213,5,5,220,229,5,5,210,175,5,5,88,219,5,5,81,183,5,5,87,220,5,5,144,167,5,5,224,213,5,5,130,189,5,5,246,165,5,5,50,165,5,5,43,231,5,5,70,238,5,5,74,194,5,5,184,191,5,5,185,191,5,5,134,172,5,5,226,225,5,5,186,201,5,5,233,193,5,5,13,172,5,5,221,235,5,5,237,196,5,5,146,186,5,5,53,191,5,5,159,181,5,5,165,227,5,5,4,207,5,5,226,248,5,5,227,248,5,5,142,224,5,5,255,211,5,5,31,189,5,5,250,224,5,5,225,227,5,5,238,196,5,5,148,242,5,5,41,247,5,5,193,242,5,5,2,238,5,5,3,201,5,5,143,248,5,5,42,247,5,5,111,216,5,5,5,164,5,5,191,201,5,5,3,212,5,5,230,241,5,5,44,247,5,5,96,164,5,5,251,238,5,5,39,246,5,5,154,243,5,5,66,196,5,5,36,212,5,5,37,186,5,5,238,177,5,5,115,212,5,5,221,173,5,5,94,181,5,5,7,184,5,5,83,179,5,5,104,195,5,5,144,197,5,5,38,212,5,5,138,226,5,5,78,194,5,5,217,175,5,5,20,209,5,5,110,196,5,5,106,180,5,5,80,194,5,5,83,168,5,5,192,195,5,5,159,213,5,5,143,200,5,5,152,224,5,5,54,168,5,5,120,176,5,5,200,200,5,5,87,179,5,5,46,247,5,5,42,179,5,5,159,170,5,5,221,229,5,5,75,228,5,5,21,243,5,5,117,198,5,5,247,164,5,5,59,247,5,5,134,226,5,5,40,231,5,5,7,246,5,5,83,215,5,5,136,201,5,5,194,204,5,5,252,171,5,5,210,195,5,5,171,170,5,5,83,219,5,5,78,183,5,5,214,193,5,5,25,247,5,5,56,179,5,5,3,172,5,5,47,191,5,5,87,195,5,5,127,172,5,5,164,191,5,5,101,197,5,5,227,196,5,5,130,204,5,5,215,248,5,5,108,186,5,5,234,177,5,5,80,248,5,5,136,242,5,5,243,224,5,5,126,213,5,5,30,247,5,5,251,200,5,5,176,242,5,5,222,237,5,5,133,224,5,5,23,186,5,5,252,211,5,5,89,200,5,5,59,196,5,5,22,212,5,5,130,197,5,5,89,181,5,5,35,175,5,5,9,212,5,5,108,198,5,5,190,200,5,5,195,174,5,5,185,174,5,5,18,185,5,5,131,178,5,5,21,216,5,5,57,210,5,5,86,245,5,5,235,191,5,5,179,218,5,5,111,243,5,5,19,244,5,5,190,175,5,5,194,237,5,5,12,229,5,5,85,164,5,5,234,166,5,5,244,195,5,5,163,249,5,5,25,231,5,5,152,218,5,5,236,167,5,5,121,206,5,5,159,173,5,5,20,244,5,5,112,243,5,5,235,220,5,5,98,203,5,5,53,225,5,5,198,237,5,5,162,211,5,5,208,176,5,5,231,232,5,5,7,233,5,5,163,177,5,5,169,189,5,5,134,237,5,5,26,182,5,5,27,182,5,5,183,163,5,5,62,166,5,5,196,174,5,5,160,202,5,5,7,190,5,5,30,191,5,5,184,224,5,5,143,216,5,5,104,178,5,5,8,186,5,5,108,169,5,5,56,206,5,5,68,229,5,5,105,178,5,5,190,215,5,5,32,239,5,5,11,194,5,5,146,247,5,5,218,191,5,5,76,228,5,5,49,208,5,5,195,209,5,5,150,216,5,5,99,226,5,5,206,174,5,5,19,165,5,5,195,213,5,5,78,228,5,5,22,229,5,5,215,218,5,5,215,168,5,5,195,175,5,5,97,249,5,5,245,220,5,5,156,225,5,5,198,215,5,5,178,175,5,5,235,183,5,5,164,249,5,5,147,215,5,5,236,166,5,5,208,172,5,5,100,232,5,5,85,240,5,5,138,178,5,5,205,190,5,5,130,243,5,5,212,206,5,5,35,226,5,5,195,224,5,5,2,168,5,5,123,189,5,5,185,179,5,5,203,215,5,5,17,190,5,5,24,229,5,5,149,215,5,5,137,243,5,5,195,221,5,5,40,244,5,5,179,230,5,5,202,213,5,5,169,226,5,5,46,243,5,5,138,243,5,5,146,229,5,5,156,176,5,5,205,247,5,5,240,190,5,5,236,245,5,5,237,245,5,5,242,183,5,5,139,178,5,5,10,237,5,5,234,238,5,5,48,201,5,5,114,203,5,5,12,237,5,5,213,243,5,5,246,191,5,5,241,242,5,5,23,200,5,5,180,191,5,5,170,249,5,5,115,245,5,5,129,196,5,5,66,238,5,5,142,213,5,5,86,180,5,5,208,202,5,5,53,221,5,5,147,175,5,5,111,238,5,5,143,213,5,5,219,243,5,5,220,235,5,5,27,230,5,5,237,188,5,5,80,182,5,5,140,176,5,5,68,204,5,5,39,237,5,5,13,237,5,5,158,238,5,5,161,215,5,5,116,173,5,5,195,183,5,5,45,239,5,5,13,202,5,5,153,175,5,5,64,213,5,5,228,243,5,5,175,237,5,5,35,200,5,5,37,191,5,5,37,213,5,5,43,187,5,5,108,187,5,5,114,187,5,5,81,222,5,5,253,198,5,5,79,218,5,5,80,237,5,5,248,207,5,5,103,183,5,5,86,240,5,5,18,212,5,5,47,243,5,5,232,210,5,5,84,210,5,5,44,218,5,5,14,241,5,5,77,202,5,5,89,193,5,5,178,200,5,5,3,219,5,5,94,192,5,5,4,208,5,5,185,233,5,5,217,249,5,5,220,206,5,5,166,225,5,5,239,198,5,5,224,231,5,5,149,190,5,5,229,247,5,5,38,224,5,5,87,177,5,5,8,237,5,5,156,198,5,5,212,245,5,5,238,229,5,5,116,194,5,5,179,225,5,5,229,231,5,5,232,249,5,5,17,202,5,5,27,213,5,5,45,224,5,5,109,188,5,5,222,186,5,5,109,183,5,5,73,217,5,5,232,231,5,5,121,202,5,5,122,202,5,5,8,248,5,5,188,247,5,5,75,217,5,5,231,182,5,5,236,172,5,5,230,235,5,5,93,172,5,5,32,247,5,5,86,173,5,5,109,167,5,5,143,249,5,5,86,187,5,5,106,223,5,5,11,244,5,5,131,189,5,5,87,185,5,5,226,238,5,5,10,164,5,5,116,245,5,5,175,177,5,5,106,176,5,5,78,199,5,5,117,245,5,5,108,177,5,5,206,216,5,5,209,202,5,5,106,172,5,5,204,224,5,5,164,214,5,5,120,219,5,5,160,181,5,5,3,221,5,5,6,167,5,5,225,169,5,5,137,189,5,5,146,208,5,5,25,220,5,5,209,199,5,5,166,227,5,5,167,172,5,5,174,201,5,5,91,220,5,5,150,243,5,5,173,183,5,5,250,221,5,5,149,182,5,5,244,188,5,5,179,189,5,5,26,179,5,5,130,244,5,5,126,245,5,5,150,189,5,5,237,229,5,5,151,189,5,5,219,213,5,5,176,201,5,5,155,243,5,5,187,169,5,5,188,169,5,5,176,249,5,5,107,188,5,5,27,171,5,5,32,166,5,5,128,245,5,5,158,246,5,5,70,196,5,5,199,243,5,5,67,213,5,5,187,240,5,5,51,238,5,5,63,176,5,5,150,180,5,5,99,236,5,5,165,248,5,5,76,190,5,5,10,191,5,5,119,175,5,5,118,202,5,5,113,167,5,5,55,244,5,5,29,163,5,5,233,167,5,5,44,246,5,5,229,173,5,5,161,213,5,5,244,202,5,5,167,169,5,5,255,170,5,5,2,171,5,5,111,185,5,5,165,187,5,5,230,199,5,5,53,238,5,5,225,172,5,5,122,175,5,5,23,191,5,5,160,189,5,5,90,238,5,5,232,173,5,5,169,187,5,5,38,164,5,5,179,197,5,5,175,197,5,5,177,197,5,5,97,166,5,5,89,211,5,5,90,211,5,5,167,206,5,5,66,181,5,5,187,220,5,5,172,206,5,5,70,225,5,5,141,211,5,5,177,206,5,5,179,206,5,5,181,177,5,5,181,206,5,5,70,181,5,5,153,172,5,5,163,172,5,5,130,195,5,5,52,171,5,5,217,171,5,5,216,171,5,5,53,164,5,5,108,241,5,5,116,181,5,5,146,200,5,5,135,241,5,5,165,191,5,5,199,177,5,5,149,223,5,5,130,210,5,5,141,230,5,5,175,176,5,5,40,178,5,5,109,245,5,5,142,230,5,5,238,210,5,5,231,205,5,5,49,217,5,5,57,184,5,5,14,163,5,5,215,243,5,5,203,235,5,5,250,182,5,5,131,169,5,5,238,232,5,5,36,175,5,5,111,164,5,5,126,240,5,5,246,241,5,5,191,179,5,5,236,163,5,5,59,203,5,5,170,201,5,5,22,167,5,5,12,244,5,5,99,166,5,5,148,243,5,5,188,191,5,5,193,179,5,5,187,203,5,5,32,214,5,5,215,238,5,5,216,238,5,5,165,198,5,5,228,194,5,5,88,209,5,5,37,175,5,5,171,209,5,5,137,181,5,5,116,170,5,5,229,244,5,5,7,237,5,5,38,181,5,5,203,209,5,5,177,217,5,5,67,197,5,5,194,164,5,5,80,179,5,5,4,229,5,5,80,166,5,5,67,196,5,5,230,206,5,5,8,185,5,5,106,214,5,5,47,230,5,5,151,164,5,5,23,239,5,5,237,209,5,5,238,209,5,5,145,197,5,5,230,214,5,5,109,172,5,5,231,206,5,5,248,204,5,5,209,165,5,5,162,176,5,5,249,204,5,5,14,247,5,5,171,179,5,5,65,192,5,5,84,179,5,5,243,163,5,5,39,214,5,5,76,167,5,5,196,191,5,5,103,165,5,5,71,196,5,5,65,180,5,5,251,185,5,5,61,194,5,5,183,209,5,5,54,217,5,5,27,202,5,5,6,205,5,5,33,206,5,5,164,224,5,5,43,175,5,5,94,199,5,5,175,215,5,5,113,210,5,5,18,178,5,5,163,245,5,5,11,205,5,5,62,186,5,5,12,246,5,5,143,230,5,5,134,174,5,5,12,170,5,5,111,212,5,5,189,191,5,5,98,246,5,5,204,209,5,5,102,198,5,5,49,225,5,5,73,196,5,5,54,230,5,5,203,249,5,5,205,227,5,5,107,246,5,5,195,191,5,5,178,163,5,5,172,179,5,5,66,192,5,5,205,249,5,5,19,192,5,5,104,165,5,5,112,246,5,5,56,237,5,5,15,178,5,5,164,245,5,5,19,178,5,5,2,246,5,5,125,230,5,5,92,174,5,5,94,198,5,5,86,246,5,5,191,249,5,5,162,179,5,5,149,204,5,5,153,204,5,5,62,215,5,5,97,214,5,5,69,215,5,5,20,202,5,5,118,243,5,5,223,231,5,5,192,249,5,5,250,227,5,5,25,185,5,5,174,167,5,5,76,201,5,5,131,244,5,5,206,249,5,5,181,167,5,5,222,238,5,5,157,243,5,5,90,216,5,5,95,199,5,5,88,241,5,5,202,177,5,5,129,211,5,5,116,196,5,5,104,216,5,5,230,229,5,5,66,198,5,5,201,216,5,5,182,239,5,5,204,216,5,5,184,237,5,5,127,237,5,5,150,196,5,5,208,208,5,5,187,198,5,5,112,248,5,5,198,246,5,5,75,164,5,5,216,178,5,5,182,176,5,5,244,175,5,5,91,167,5,5,176,166,5,5,172,189,5,5,196,223,5,5,128,206,5,5,151,185,5,5,138,197,5,5,142,209,5,5,248,237,5,5,172,237,5,5,99,246,5,5,33,214,5,5,63,196,5,5,195,228,5,5,194,239,5,5,198,228,5,5,185,197,5,5,129,178,5,5,36,248,5,5,165,168,5,5,152,185,5,5,179,174,5,5,62,203,5,5,215,179,5,5,123,200,5,5,134,196,5,5,63,203,5,5,87,190,5,5,177,181,5,5,77,225,5,5,219,244,5,5,123,249,5,5,29,199,5,5,153,198,5,5,135,206,5,5,81,182,5,5,82,182,5,5,142,168,5,5,72,185,5,5,83,182,5,5,158,231,5,5,157,231,5,5,42,226,5,5,229,177,5,5,73,185,5,5,13,180,5,5,154,198,5,5,99,210,5,5,30,195,5,5,254,234,5,5,154,217,5,5,212,210,5,5,198,239,5,5,7,236,5,5,194,180,5,5,176,237,5,5,8,238,5,5,196,242,5,5,67,247,5,5,183,195,5,5,245,249,5,5,129,222,5,5,197,242,5,5,166,215,5,5,34,216,5,5,247,239,5,5,108,249,5,5,122,236,5,5,137,177,5,5,138,177,5,5,49,206,5,5,111,196,5,5,157,185,5,5,190,185,5,5,91,168,5,5,221,245,5,5,121,170,5,5,171,234,5,5,207,241,5,5,20,198,5,5,184,209,5,5,98,193,5,5,25,218,5,5,11,243,5,5,148,200,5,5,165,224,5,5,209,230,5,5,4,171,5,5,35,166,5,5,176,215,5,5,150,168,5,5,223,189,5,5,88,186,5,5,25,184,5,5,97,212,5,5,81,241,5,5,201,177,5,5,125,211,5,5,62,198,5,5,98,216,5,5,228,229,5,5,187,216,5,5,190,216,5,5,195,246,5,5,82,193,5,5,212,178,5,5,182,208,5,5,71,164,5,5,125,237,5,5,183,198,5,5,70,248,5,5,196,189,5,5,171,189,5,5,173,166,5,5,126,206,5,5,163,203,5,5,54,203,5,5,174,181,5,5,122,197,5,5,209,244,5,5,104,208,5,5,11,195,5,5,183,239,5,5,141,168,5,5,98,200,5,5,78,182,5,5,138,198,5,5,210,244,5,5,211,244,5,5,21,195,5,5,184,180,5,5,244,249,5,5,249,237,5,5,124,222,5,5,191,242,5,5,173,237,5,5,2,184,5,5,104,170,5,5,134,177,5,5,120,236,5,5,18,198,5,5,156,185,5,5,161,224,5,5,207,230,5,5,149,168,5,5,95,212,5,5,199,173,5,5,148,165,5,5,138,193,5,5,128,174,5,5,178,213,5,5,122,220,5,5,153,165,5,5,214,235,5,5,7,163,5,5,121,179,5,5,205,187,5,5,117,193,5,5,178,217,5,5,241,227,5,5,99,207,5,5,165,165,5,5,147,235,5,5,108,246,5,5,52,244,5,5,204,241,5,5,62,236,5,5,105,195,5,5,63,236,5,5,253,172,5,5,77,188,5,5,69,213,5,5,111,188,5,5,76,168,5,5,77,168,5,5,79,188,5,5,175,165,5,5,176,165,5,5,177,165,5,5,4,188,5,5,192,165,5,5,250,235,5,5,233,173,5,5,6,215,5,5,186,173,5,5,21,244,5,5,108,220,5,5,141,165,5,5,209,235,5,5,75,207,5,5,122,235,5,5,55,236,5,5,189,241,5,5,53,188,5,5,71,168,5,5,162,165,5,5,163,165,5,5,154,172,5,5,255,172,5,5,173,172,5,5,151,172,5,5,241,226,5,5,242,226,5,5,64,234,5,5,220,201,5,5,216,177,5,5,178,235,5,5,16,182,5,5,82,220,5,5,70,237,5,5,81,216,5,5,145,182,5,5,144,230,5,5,97,248,5,5,5,208,5,5,100,223,5,5,216,243,5,5,63,173,5,5,64,173,5,5,73,237,5,5,214,243,5,5,221,179,5,5,184,239,5,5,19,233,5,5,51,165,5,5,201,203,5,5,163,179,5,5,91,188,5,5,190,233,5,5,8,181,5,5,189,235,5,5,27,164,5,5,88,227,5,5,113,178,5,5,200,197,5,5,147,230,5,5,112,181,5,5,56,204,5,5,60,203,5,5,78,166,5,5,190,241,5,5,192,182,5,5,191,233,5,5,84,216,5,5,73,244,5,5,9,208,5,5,62,239,5,5,61,243,5,5,33,185,5,5,244,212,5,5,71,234,5,5,60,163,5,5,37,183,5,5,250,237,5,5,145,166,5,5,69,208,5,5,214,175,5,5,187,236,5,5,230,247,5,5,96,227,5,5,196,241,5,5,12,201,5,5,190,193,5,5,102,227,5,5,132,205,5,5,107,222,5,5,79,166,5,5,228,215,5,5,146,166,5,5,119,241,5,5,10,180,5,5,169,172,5,5,28,221,5,5,149,246,5,5,93,194,5,5,3,238,5,5,185,184,5,5,202,249,5,5,32,199,5,5,72,201,5,5,10,181,5,5,129,200,5,5,244,204,5,5,42,198,5,5,80,238,5,5,102,180,5,5,90,173,5,5,153,246,5,5,76,193,5,5,141,223,5,5,129,237,5,5,105,180,5,5,130,163,5,5,17,192,5,5,155,213,5,5,177,196,5,5,108,188,5,5,61,236,5,5,198,179,5,5,131,241,5,5,158,249,5,5,84,169,5,5,107,180,5,5,119,170,5,5,90,165,5,5,163,248,5,5,4,215,5,5,206,205,5,5,100,236,5,5,180,196,5,5,152,222,5,5,123,228,5,5,119,223,5,5,64,176,5,5,197,240,5,5,24,202,5,5,25,230,5,5,84,225,5,5,237,249,5,5,173,179,5,5,160,246,5,5,91,216,5,5,100,220,5,5,91,173,5,5,203,197,5,5,3,171,5,5,92,243,5,5,90,169,5,5,120,224,5,5,92,216,5,5,119,190,5,5,166,232,5,5,135,183,5,5,226,226,5,5,212,177,5,5,200,201,5,5,255,181,5,5,67,180,5,5,140,182,5,5,109,213,5,5,126,230,5,5,56,248,5,5,85,223,5,5,49,173,5,5,208,243,5,5,79,205,5,5,45,227,5,5,17,164,5,5,169,235,5,5,99,178,5,5,141,239,5,5,56,239,5,5,18,230,5,5,79,216,5,5,102,197,5,5,32,185,5,5,34,204,5,5,185,212,5,5,68,166,5,5,48,163,5,5,201,175,5,5,211,237,5,5,186,247,5,5,34,183,5,5,50,208,5,5,180,193,5,5,7,201,5,5,204,215,5,5,85,194,5,5,134,223,5,5,159,196,5,5,56,193,5,5,42,236,5,5,82,224,5,5,103,241,5,5,69,169,5,5,102,163,5,5,47,188,5,5,250,214,5,5,199,205,5,5,112,170,5,5,92,236,5,5,147,222,5,5,133,183,5,5,17,228,5,5,117,196,5,5,173,193,5,5,41,216,5,5,106,173,5,5,111,163,5,5,191,183,5,5,63,165,5,5,119,163,5,5,230,181,5,5,70,198,5,5,170,172,5,5,245,204,5,5,219,238,5,5,85,238,5,5,248,174,5,5,72,215,5,5,125,249,5,5,10,216,5,5,123,173,5,5,133,168,5,5,12,216,5,5,34,169,5,5,98,248,5,5,241,173,5,5,139,198,5,5,176,176,5,5,38,182,5,5,149,219,5,5,47,223,5,5,235,217,5,5,243,221,5,5,91,218,5,5,4,167,5,5,32,216,5,5,13,230,5,5,215,235,5,5,172,249,5,5,35,247,5,5,126,218,5,5,45,176,5,5,50,191,5,5,60,242,5,5,112,163,5,5,28,164,5,5,168,207,5,5,42,182,5,5,127,240,5,5,180,211,5,5,36,247,5,5,184,211,5,5,87,208,5,5,190,166,5,5,215,219,5,5,18,249,5,5,243,166,5,5,65,220,5,5,88,207,5,5,248,221,5,5,145,184,5,5,227,206,5,5,224,167,5,5,184,232,5,5,95,203,5,5,138,189,5,5,229,220,5,5,123,179,5,5,237,174,5,5,74,244,5,5,21,227,5,5,73,165,5,5,43,182,5,5,44,182,5,5,190,235,5,5,59,188,5,5,57,169,5,5,116,168,5,5,196,179,5,5,29,219,5,5,84,231,5,5,141,180,5,5,25,179,5,5,196,217,5,5,49,212,5,5,170,228,5,5,88,208,5,5,63,239,5,5,201,197,5,5,120,163,5,5,156,221,5,5,152,243,5,5,150,190,5,5,75,220,5,5,58,176,5,5,104,214,5,5,68,188,5,5,7,207,5,5,120,237,5,5,213,210,5,5,211,170,5,5,128,186,5,5,155,198,5,5,232,181,5,5,125,217,5,5,101,182,5,5,74,208,5,5,186,237,5,5,144,225,5,5,135,216,5,5,43,238,5,5,65,190,5,5,86,222,5,5,29,220,5,5,206,227,5,5,118,168,5,5,221,196,5,5,199,179,5,5,60,185,5,5,117,233,5,5,73,195,5,5,233,208,5,5,234,208,5,5,73,243,5,5,171,172,5,5,26,236,5,5,253,242,5,5,197,191,5,5,231,241,5,5,129,245,5,5,125,168,5,5,72,235,5,5,126,168,5,5,145,210,5,5,172,172,5,5,78,201,5,5,146,210,5,5,173,199,5,5,246,247,5,5,197,180,5,5,89,212,5,5,222,213,5,5,119,233,5,5,140,196,5,5,49,230,5,5,148,235,5,5,120,193,5,5,49,182,5,5,247,193,5,5,64,236,5,5,107,210,5,5,136,225,5,5,48,219,5,5,78,188,5,5,183,167,5,5,145,180,5,5,70,213,5,5,50,234,5,5,10,178,5,5,85,243,5,5,80,249,5,5,112,232,5,5,27,236,5,5,124,228,5,5,234,186,5,5,49,219,5,5,242,229,5,5,77,190,5,5,71,213,5,5,107,190,5,5,30,221,5,5,152,169,5,5,160,238,5,5,72,234,5,5,178,165,5,5,73,235,5,5,195,211,5,5,107,165,5,5,50,219,5,5,170,248,5,5,219,216,5,5,128,199,5,5,63,163,5,5,196,236,5,5,185,214,5,5,2,189,5,5,154,220,5,5,198,178,5,5,82,188,5,5,51,182,5,5,142,234,5,5,185,177,5,5,22,204,5,5,6,181,5,5,93,243,5,5,115,190,5,5,102,220,5,5,112,206,5,5,206,240,5,5,136,241,5,5,18,182,5,5,134,168,5,5,73,220,5,5,98,243,5,5,25,191,5,5,56,191,5,5,149,180,5,5,65,216,5,5,249,202,5,5,249,229,5,5,16,207,5,5,74,213,5,5,166,200,5,5,245,186,5,5,181,165,5,5,29,169,5,5,49,248,5,5,19,182,5,5,212,217,5,5,32,223,5,5,156,211,5,5,9,230,5,5,69,163,5,5,46,191,5,5,183,232,5,5,15,227,5,5,170,235,5,5,197,174,5,5,198,206,5,5,97,232,5,5,218,221,5,5,28,182,5,5,143,184,5,5,87,203,5,5,39,240,5,5,85,175,5,5,127,214,5,5,46,169,5,5,119,243,5,5,244,203,5,5,111,199,5,5,136,190,5,5,196,197,5,5,107,168,5,5,142,165,5,5,171,186,5,5,140,225,5,5,35,243,5,5,121,216,5,5,204,210,5,5,51,208,5,5,193,208,5,5,194,208,5,5,63,195,5,5,83,222,5,5,90,233,5,5,155,236,5,5,65,234,5,5,124,168,5,5,246,218,5,5,123,196,5,5,18,236,5,5,110,245,5,5,148,238,5,5,48,188,5,5,89,210,5,5,98,228,5,5,154,165,5,5,99,190,5,5,52,235,5,5,143,224,5,5,69,220,5,5,236,202,5,5,240,229,5,5,59,216,5,5,44,193,5,5,75,246,5,5,87,246,5,5,88,246,5,5,219,247,5,5,162,192,5,5,118,240,5,5,12,239,5,5,213,179,5,5,230,203,5,5,55,164,5,5,240,163,5,5,162,233,5,5,206,180,5,5,221,176,5,5,17,196,5,5,186,197,5,5,149,209,5,5,39,198,5,5,50,196,5,5,193,191,5,5,93,182,5,5,244,192,5,5,117,168,5,5,95,165,5,5,31,195,5,5,87,209,5,5,247,247,5,5,18,237,5,5,250,185,5,5,134,163,5,5,181,214,5,5,157,164,5,5,135,163,5,5,165,233,5,5,187,196,5,5,44,166,5,5,87,169,5,5,5,188,5,5,252,185,5,5,186,214,5,5,17,178,5,5,181,232,5,5,19,237,5,5,209,180,5,5,46,166,5,5,188,196,5,5,224,189,5,5,4,192,5,5,7,192,5,5,199,209,5,5,116,195,5,5,189,209,5,5,191,185,5,5,38,236,5,5,143,165,5,5,208,196,5,5,211,196,5,5,177,176,5,5,179,173,5,5,252,214,5,5,67,230,5,5,34,170,5,5,46,176,5,5,215,196,5,5,39,166,5,5,143,172,5,5,36,181,5,5,225,167,5,5,151,231,5,5,144,172,5,5,70,230,5,5,234,180,5,5,56,164,5,5,74,165,5,5,39,170,5,5,138,174,5,5,44,239,5,5,85,231,5,5,186,211,5,5,211,194,5,5,254,214,5,5,64,196,5,5,220,202,5,5,176,167,5,5,3,222,5,5,242,227,5,5,218,236,5,5,238,180,5,5,115,187,5,5,41,166,5,5,118,233,5,5,192,176,5,5,179,167,5,5,108,237,5,5,100,221,5,5,88,212,5,5,120,233,5,5,235,229,5,5,64,205,5,5,62,182,5,5,36,199,5,5,254,184,5,5,139,204,5,5,245,208,5,5,164,188,5,5,231,220,5,5,45,166,5,5,185,167,5,5,59,169,5,5,86,236,5,5,122,170,5,5,123,170,5,5,128,236,5,5,220,216,5,5,213,187,5,5,110,210,5,5,109,210,5,5,132,183,5,5,201,200,5,5,72,196,5,5,132,184,5,5,47,166,5,5,215,187,5,5,161,230,5,5,202,175,5,5,213,175,5,5,82,183,5,5,192,201,5,5,156,213,5,5,220,175,5,5,112,198,5,5,221,175,5,5,222,175,5,5,140,204,5,5,41,225,5,5,179,248,5,5,180,248,5,5,170,191,5,5,70,243,5,5,180,174,5,5,251,210,5,5,245,193,5,5,121,233,5,5,112,188,5,5,248,193,5,5,243,228,5,5,171,248,5,5,13,194,5,5,10,170,5,5,210,202,5,5,217,208,5,5,129,191,5,5,131,196,5,5,11,201,5,5,9,163,5,5,204,166,5,5,15,170,5,5,212,216,5,5,250,242,5,5,172,214,5,5,66,189,5,5,159,248,5,5,84,182,5,5,150,208,5,5,105,247,5,5,67,189,5,5,155,246,5,5,131,192,5,5,27,223,5,5,78,168,5,5,108,165,5,5,88,169,5,5,144,202,5,5,221,216,5,5,62,224,5,5,17,243,5,5,103,220,5,5,189,247,5,5,134,175,5,5,93,230,5,5,175,203,5,5,35,163,5,5,171,201,5,5,17,182,5,5,109,177,5,5,139,202,5,5,36,217,5,5,174,237,5,5,251,237,5,5,143,227,5,5,189,198,5,5,147,182,5,5,138,169,5,5,231,203,5,5,196,228,5,5,95,164,5,5,68,249,5,5,11,168,5,5,240,189,5,5,37,247,5,5,25,199,5,5,198,189,5,5,216,231,5,5,164,173,5,5,111,173,5,5,253,182,5,5,62,242,5,5,127,168,5,5,156,169,5,5,142,197,5,5,215,213,5,5,187,211,5,5,101,198,5,5,228,167,5,5,141,189,5,5,46,182,5,5,61,163,5,5,42,210,5,5,205,168,5,5,142,174,5,5,82,165,5,5,207,233,5,5,150,246,5,5,228,206,5,5,88,177,5,5,26,163,5,5,65,242,5,5,145,194,5,5,229,167,5,5,68,184,5,5,131,216,5,5,125,179,5,5,58,164,5,5,242,174,5,5,102,219,5,5,96,207,5,5,27,193,5,5,116,227,5,5,27,179,5,5,123,175,5,5,81,179,5,5,190,203,5,5,95,229,5,5,58,198,5,5,87,216,5,5,46,239,5,5,252,238,5,5,40,246,5,5,246,219,5,5,157,221,5,5,248,243,5,5,207,187,5,5,151,190,5,5,205,182,5,5,207,180,5,5,177,240,5,5,96,166,5,5,104,246,5,5,14,204,5,5,19,196,5,5,242,193,5,5,70,215,5,5,194,191,5,5,55,200,5,5,224,185,5,5,2,175,5,5,131,195,5,5,32,215,5,5,74,178,5,5,38,208,5,5,195,180,5,5,215,171,5,5,243,227,5,5,103,219,5,5,219,236,5,5,214,210,5,5,245,247,5,5,38,183,5,5,160,219,5,5,146,194,5,5,245,192,5,5,199,236,5,5,38,245,5,5,44,210,5,5,72,228,5,5,220,168,5,5,241,200,5,5,40,181,5,5,15,187,5,5,145,227,5,5,146,227,5,5,132,195,5,5,248,170,5,5,146,225,5,5,172,187,5,5,121,232,5,5,168,213,5,5,23,250,5,5,175,183,5,5,159,231,5,5,237,208,5,5,101,221,5,5,89,216,5,5,39,183,5,5,113,226,5,5,237,202,5,5,91,177,5,5,121,209,5,5,97,193,5,5,41,220,5,5,246,178,5,5,61,185,5,5,223,172,5,5,176,183,5,5,188,240,5,5,222,196,5,5,71,190,5,5,181,204,5,5,253,224,5,5,107,206,5,5,216,190,5,5,153,189,5,5,110,232,5,5,229,186,5,5,18,171,5,5,122,233,5,5,45,219,5,5,71,184,5,5,100,199,5,5,187,248,5,5,17,177,5,5,221,226,5,5,175,228,5,5,17,201,5,5,198,180,5,5,43,198,5,5,137,216,5,5,162,221,5,5,3,185,5,5,123,233,5,5,57,232,5,5,211,165,5,5,212,165,5,5,243,200,5,5,90,212,5,5,59,232,5,5,252,245,5,5,253,245,5,5,251,247,5,5,92,226,5,5,50,230,5,5,64,177,5,5,80,201,5,5,210,188,5,5,3,243,5,5,239,209,5,5,240,209,5,5,69,205,5,5,217,164,5,5,11,238,5,5,54,244,5,5,250,174,5,5,9,236,5,5,148,192,5,5,182,213,5,5,63,182,5,5,37,199,5,5,118,227,5,5,245,230,5,5,184,217,5,5,16,247,5,5,194,210,5,5,21,198,5,5,11,245,5,5,165,173,5,5,28,236,5,5,80,188,5,5,40,169,5,5,8,227,5,5,222,226,5,5,81,194,5,5,163,231,5,5,147,180,5,5,51,179,5,5,208,241,5,5,181,237,5,5,246,249,5,5,148,210,5,5,246,208,5,5,17,247,5,5,246,230,5,5,227,228,5,5,167,188,5,5,127,238,5,5,30,185,5,5,37,200,5,5,22,172,5,5,245,202,5,5,42,181,5,5,196,211,5,5,7,205,5,5,176,228,5,5,124,170,5,5,73,213,5,5,45,210,5,5,191,165,5,5,246,202,5,5,242,202,5,5,181,221,5,5,34,206,5,5,5,215,5,5,130,222,5,5,238,249,5,5,31,221,5,5,225,195,5,5,77,217,5,5,120,165,5,5,173,248,5,5,197,211,5,5,116,216,5,5,64,163,5,5,81,204,5,5,248,217,5,5,197,236,5,5,82,201,5,5,77,233,5,5,127,228,5,5,128,228,5,5,2,173,5,5,62,194,5,5,3,189,5,5,249,217,5,5,154,171,5,5,101,213,5,5,212,232,5,5,118,216,5,5,142,173,5,5,82,194,5,5,59,198,5,5,99,196,5,5,60,232,5,5,29,236,5,5,104,220,5,5,150,192,5,5,63,194,5,5,231,244,5,5,20,187,5,5,25,225,5,5,164,185,5,5,169,229,5,5,91,238,5,5,210,230,5,5,248,202,5,5,41,217,5,5,96,199,5,5,170,229,5,5,167,187,5,5,216,187,5,5,168,187,5,5,144,171,5,5,207,220,5,5,93,216,5,5,17,238,5,5,225,189,5,5,126,194,5,5,246,186,5,5,81,215,5,5,169,247,5,5,133,175,5,5,132,202,5,5,53,242,5,5,146,182,5,5,233,189,5,5,163,173,5,5,0,152,5,5,131,197,5,5,22,163,5,5,198,168,5,5,67,184,5,5,197,189,5,5,58,242,5,5,99,219,5,5,227,174,5,5,23,163,5,5,52,164,5,5,56,198,5,5,7,168,5,5,118,179,5,5,234,193,5,5,181,203,5,5,125,195,5,5,90,246,5,5,43,239,5,5,193,182,5,5,56,232,5,5,57,198,5,5,89,196,5,5,211,202,5,5,2,204,5,5,61,215,5,5,100,219,5,5,85,216,5,5,238,217,5,5,243,192,5,5,207,186,5,5,145,188,5,5,234,204,5,5,11,187,5,5,4,227,5,5,37,181,5,5,143,194,5,5,144,227,5,5,238,200,5,5,35,208,5,5,215,202,5,5,21,250,5,5,106,211,5,5,142,189,5,5,224,208,5,5,108,232,5,5,168,172,5,5,220,196,5,5,251,224,5,5,96,193,5,5,174,183,5,5,69,184,5,5,89,177,5,5,105,206,5,5,171,228,5,5,215,226,5,5,152,231,5,5,140,173,5,5,60,177,5,5,214,164,5,5,23,225,5,5,192,180,5,5,13,247,5,5,251,245,5,5,6,236,5,5,6,238,5,5,235,209,5,5,246,174,5,5,73,201,5,5,87,212,5,5,28,206,5,5,208,165,5,5,25,236,5,5,125,238,5,5,235,208,5,5,49,179,5,5,79,194,5,5,202,241,5,5,124,167,5,5,250,204,5,5,29,185,5,5,190,165,5,5,76,217,5,5,119,165,5,5,120,170,5,5,20,172,5,5,234,249,5,5,159,246,5,5,68,213,5,5,60,194,5,5,125,228,5,5,255,188,5,5,76,233,5,5,93,199,5,5,149,192,5,5,18,187,5,5,101,220,5,5,94,194,5,5,33,184,5,5,233,239,5,5,129,174,5,5,93,187,5,5,136,204,5,5,107,166,5,5,53,243,5,5,161,174,5,5,84,177,5,5,238,201,5,5,7,174,5,5,229,230,5,5,128,192,5,5,211,226,5,5,8,174,5,5,44,172,5,5,29,164,5,5,16,249,5,5,93,218,5,5,87,199,5,5,242,210,5,5,50,174,5,5,77,164,5,5,38,247,5,5,235,204,5,5,213,226,5,5,134,248,5,5,237,172,5,5,153,241,5,5,175,207,5,5,176,207,5,5,30,168,5,5,156,200,5,5,4,221,5,5,32,164,5,5,62,243,5,5,234,240,5,5,126,221,5,5,157,173,5,5,9,174,5,5,39,247,5,5,174,238,5,5,111,175,5,5,153,191,5,5,196,230,5,5,143,189,5,5,135,171,5,5,143,174,5,5,47,182,5,5,247,171,5,5,110,187,5,5,225,165,5,5,30,219,5,5,154,191,5,5,19,249,5,5,196,233,5,5,214,211,5,5,167,214,5,5,23,223,5,5,56,176,5,5,229,206,5,5,228,241,5,5,28,193,5,5,244,178,5,5,144,248,5,5,13,244,5,5,102,231,5,5,236,240,5,5,3,181,5,5,145,248,5,5,123,181,5,5,125,244,5,5,126,178,5,5,9,245,5,5,47,239,5,5,119,193,5,5,81,238,5,5,94,218,5,5,72,243,5,5,208,198,5,5,173,214,5,5,64,203,5,5,208,187,5,5,158,221,5,5,51,244,5,5,193,180,5,5,177,201,5,5,152,190,5,5,201,230,5,5,99,170,5,5,157,191,5,5,96,230,5,5,15,204,5,5,2,215,5,5,28,220,5,5,95,218,5,5,153,190,5,5,213,198,5,5,96,184,5,5,19,238,5,5,166,190,5,5,65,203,5,5,230,202,5,5,233,181,5,5,158,200,5,5,61,182,5,5,117,166,5,5,39,245,5,5,227,207,5,5,160,248,5,5,131,163,5,5,75,208,5,5,23,218,5,5,216,164,5,5,28,213,5,5,76,208,5,5,9,207,5,5,194,181,5,5,106,206,5,5,196,180,5,5,177,237,5,5,178,237,5,5,15,197,5,5,34,199,5,5,76,245,5,5,174,228,5,5,76,185,5,5,116,204,5,5,95,167,5,5,72,190,5,5,16,168,5,5,98,229,5,5,148,174,5,5,221,238,5,5,69,222,5,5,182,167,5,5,253,210,5,5,104,210,5,5,194,163,5,5,92,177,5,5,73,190,5,5,39,212,5,5,254,204,5,5,11,207,5,5,246,181,5,5,238,240,5,5,22,249,5,5,238,208,5,5,230,186,5,5,132,241,5,5,87,222,5,5,61,197,5,5,118,178,5,5,223,196,5,5,31,229,5,5,239,208,5,5,108,206,5,5,189,240,5,5,190,240,5,5,109,206,5,5,160,231,5,5,62,185,5,5,247,178,5,5,153,208,5,5,114,226,5,5,229,192,5,5,232,206,5,5,192,207,5,5,218,240,5,5,86,233,5,5,21,202,5,5,164,229,5,5,134,244,5,5,120,223,5,5,153,171,5,5,51,230,5,5,223,238,5,5,241,209,5,5,199,180,5,5,38,199,5,5,200,180,5,5,12,238,5,5,124,203,5,5,42,170,5,5,149,174,5,5,93,226,5,5,234,181,5,5,4,243,5,5,148,197,5,5,81,249,5,5,106,168,5,5,224,196,5,5,231,169,5,5,39,199,5,5,141,244,5,5,76,226,5,5,132,245,5,5,13,207,5,5,28,179,5,5,125,234,5,5,180,173,5,5,173,197,5,5,147,244,5,5,82,249,5,5,77,215,5,5,121,247,5,5,223,226,5,5,174,197,5,5,184,225,5,5,109,180,5,5,223,213,5,5,247,230,5,5,81,188,5,5,119,202,5,5,29,193,5,5,5,205,5,5,87,237,5,5,160,198,5,5,199,233,5,5,200,233,5,5,202,240,5,5,4,242,5,5,86,243,5,5,28,202,5,5,150,187,5,5,95,181,5,5,160,195,5,5,158,180,5,5,159,180,5,5,203,240,5,5,235,181,5,5,41,169,5,5,21,204,5,5,20,192,5,5,96,181,5,5,210,224,5,5,120,202,5,5,121,182,5,5,183,219,5,5,128,238,5,5,233,241,5,5,124,239,5,5,180,238,5,5,121,223,5,5,52,219,5,5,113,188,5,5,239,249,5,5,55,191,5,5,109,165,5,5,245,229,5,5,75,222,5,5,253,247,5,5,42,245,5,5,206,207,5,5,201,243,5,5,202,180,5,5,151,235,5,5,23,204,5,5,207,240,5,5,129,199,5,5,110,165,5,5,151,244,5,5,198,236,5,5,83,201,5,5,38,173,5,5,24,204,5,5,6,188,5,5,94,243,5,5,22,192,5,5,184,204,5,5,134,215,5,5,135,215,5,5,236,181,5,5,173,169,5,5,78,233,5,5,174,248,5,5,152,244,5,5,79,190,5,5,122,182,5,5,136,215,5,5,74,217,5,5,208,240,5,5,55,168,5,5,199,225,5,5,116,190,5,5,42,213,5,5,208,239,5,5,37,202,5,5,18,232,5,5,254,247,5,5,105,220,5,5,137,241,5,5,56,244,5,5,56,168,5,5,133,184,5,5,97,199,5,5,66,171,5,5,153,244,5,5,6,171,5,5,198,176,5,5,244,248,5,5,176,248,5,5,141,185,5,5,64,164,5,5,226,189,5,5,176,197,5,5,26,191,5,5,250,229,5,5,246,248,5,5,154,244,5,5,127,194,5,5,236,211,5,5,247,186,5,5,184,190,5,5,29,184,5,5,126,204,5,5,208,201,5,5,248,248,5,5,28,172,5,5,189,226,5,5,168,238,5,5,228,240,5,5,115,234,5,5,19,164,5,5,240,220,5,5,11,193,5,5,232,178,5,5,193,189,5,5,230,240,5,5,135,214,5,5,9,244,5,5,107,189,5,5,9,223,5,5,203,211,5,5,253,248,5,5,63,217,5,5,32,182,5,5,113,235,5,5,236,218,5,5,37,239,5,5,108,193,5,5,247,214,5,5,204,198,5,5,15,220,5,5,144,191,5,5,162,190,5,5,156,201,5,5,31,245,5,5,95,163,5,5,186,186,5,5,221,207,5,5,51,193,5,5,168,237,5,5,99,248,5,5,105,215,5,5,172,180,5,5,65,245,5,5,27,212,5,5,150,171,5,5,212,238,5,5,212,196,5,5,191,163,5,5,162,167,5,5,90,210,5,5,106,226,5,5,223,192,5,5,11,249,5,5,168,236,5,5,18,199,5,5,134,197,5,5,247,237,5,5,65,193,5,5,227,209,5,5,187,233,5,5,223,169,5,5,121,245,5,5,140,240,5,5,248,241,5,5,118,247,5,5,60,188,5,5,99,202,5,5,141,240,5,5,236,204,5,5,165,197,5,5,116,239,5,5,126,244,5,5,180,219,5,5,106,188,5,5,247,187,5,5,16,204,5,5,178,204,5,5,152,248,5,5,67,190,5,5,195,200,5,5,97,220,5,5,132,244,5,5,91,199,5,5,251,170,5,5,121,194,5,5,246,229,5,5,231,189,5,5,179,205,5,5,144,189,5,5,65,205,5,5,131,215,5,5,190,234,5,5,71,205,5,5,74,205,5,5,208,242,5,5,188,234,5,5,18,190,5,5,16,242,5,5,146,234,5,5,138,202,5,5,23,167,5,5,147,234,5,5,24,167,5,5,251,221,5,5,36,208,5,5,201,221,5,5,246,204,5,5,49,171,5,5,50,171,5,5,44,248,5,5,74,188,5,5,208,224,5,5,39,208,5,5,250,188,5,5,177,183,5,5,240,208,5,5,74,190,5,5,182,204,5,5,40,208,5,5,110,206,5,5,132,187,5,5,60,216,5,5,132,215,5,5,39,203,5,5,56,171,5,5,151,187,5,5,212,227,5,5,32,221,5,5,4,189,5,5,113,206,5,5,248,208,5,5,165,189,5,5,210,242,5,5,148,234,5,5,182,169,5,5,178,169,5,5,135,197,5,5,3,224,5,5,51,174,5,5,219,171,5,5,213,171,5,5,53,174,5,5,32,167,5,5,2,212,5,5,189,211,5,5,100,170,5,5,54,174,5,5,232,215,5,5,63,185,5,5,192,211,5,5,221,171,5,5,123,223,5,5,234,173,5,5,38,174,5,5,185,211,5,5,220,171,5,5,23,169,5,5,159,169,5,5,71,169,5,5,32,200,5,5,157,169,5,5,111,232,5,5,186,184,5,5,124,173,5,5,49,201,5,5,50,201,5,5,180,205,5,5,170,194,5,5,69,181,5,5,222,179,5,5,178,201,5,5,155,199,5,5,39,197,5,5,180,201,5,5,110,229,5,5,208,186,5,5,70,184,5,5,29,223,5,5,207,197,5,5,206,197,5,5,142,240,5,5,142,210,5,5,17,176,5,5,150,213,5,5,136,182,5,5,142,169,5,5,135,169,5,5,143,210,5,5,115,175,5,5,235,225,5,5,90,242,5,5,157,177,5,5,122,239,5,5,221,213,5,5,254,242,5,5,193,211,5,5,249,169,5,5,5,243,5,5,124,211,5,5,238,248,5,5,231,186,5,5,87,176,5,5,11,178,5,5,90,234,5,5,154,242,5,5,203,242,5,5,9,243,5,5,19,176,5,5,254,238,5,5,232,220,5,5,120,175,5,5,91,234,5,5,125,239,5,5,233,169,5,5,131,220,5,5,19,243,5,5,20,178,5,5,227,189,5,5,174,218,5,5,126,173,5,5,146,174,5,5,182,174,5,5,210,171,5,5,194,171,5,5,76,249,5,5,168,234,5,5,4,212,5,5,250,223,5,5,149,245,5,5,163,221,5,5,97,218,5,5,5,171,5,5,129,238,5,5,121,165,5,5,52,182,5,5,111,165,5,5,50,249,5,5,241,223,5,5,50,182,5,5,204,177,5,5,115,171,5,5,29,183,5,5,206,177,5,5,153,231,5,5,57,193,5,5,58,193,5,5,245,178,5,5,119,173,5,5,200,179,5,5,24,249,5,5,19,168,5,5,255,224,5,5,21,192,5,5,64,209,5,5,25,249,5,5,66,180,5,5,131,180,5,5,114,229,5,5,107,229,5,5,117,173,5,5,219,172,5,5,45,247,5,5,10,163,5,5,90,177,5,5,48,182,5,5,220,222,5,5,220,211,5,5,30,229,5,5,5,227,5,5,118,242,5,5,7,227,5,5,162,181,5,5,41,245,5,5,95,184,5,5,111,206,5,5,16,201,5,5,15,207,5,5,12,243,5,5,195,181,5,5,152,235,5,5,40,213,5,5,237,215,5,5,15,243,5,5,115,185,5,5,219,164,5,5,229,241,5,5,43,210,5,5,72,198,5,5,127,245,5,5,130,245,5,5,24,198,5,5,116,214,5,5,14,238,5,5,79,219,5,5,31,215,5,5,137,247,5,5,80,219,5,5,211,184,5,5,141,183,5,5,218,208,5,5,192,219,5,5,231,202,5,5,161,231,5,5,29,202,5,5,35,202,5,5,155,208,5,5,252,201,5,5,77,223,5,5,227,224,5,5,229,224,5,5,146,197,5,5,5,241,5,5,200,243,5,5,113,214,5,5,7,164,5,5,15,232,5,5,114,214,5,5,215,223,5,5,26,223,5,5,6,243,5,5,34,207,5,5,41,181,5,5,156,189,5,5,152,189,5,5,153,225,5,5,93,212,5,5,115,214,5,5,205,195,5,5,15,184,5,5,183,204,5,5,232,241,5,5,17,226,5,5,239,196,5,5,46,248,5,5,198,225,5,5,249,239,5,5,178,183,5,5,17,232,5,5,113,232,5,5,244,211,5,5,177,249,5,5,18,243,5,5,183,238,5,5,16,238,5,5,213,245,5,5,211,240,5,5,166,233,5,5,114,232,5,5,144,177,5,5,200,225,5,5,3,206,5,5,46,241,5,5,62,223,5,5,223,224,5,5,116,197,5,5,184,243,5,5,28,207,5,5,132,189,5,5,2,164,5,5,30,181,5,5,144,231,5,5,201,195,5,5,37,248,5,5,11,226,5,5,243,211,5,5,209,245,5,5,248,190,5,5,125,167,5,5,214,194,5,5,126,167,5,5,7,243,5,5,14,191,5,5,39,191,5,5,215,194,5,5,168,195,5,5,44,175,5,5,167,189,5,5,45,175,5,5,225,190,5,5,202,194,5,5,164,195,5,5,241,193,5,5,243,209,5,5,123,165,5,5,210,193,5,5,233,248,5,5,44,226,5,5,151,197,5,5,209,207,5,5,44,214,5,5,177,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,209,5,5,246,192,5,5,174,223,5,5,80,203,5,5,117,199,5,5,71,226,5,5,37,207,5,5,241,193,5,5,241,193,5,5,36,209,5,5,164,205,5,5,239,184,5,5,22,183,5,5,78,186,5,5,83,185,5,5,102,190,5,5,113,190,5,5,101,190,5,5,123,190,5,5,114,190,5,5,26,185,5,5,134,190,5,5,208,185,5,5,138,190,5,5,144,190,5,5,210,185,5,5,150,190,5,5,188,190,5,5,185,190,5,5,50,186,5,5,96,186,5,5,52,186,5,5,184,190,5,5,22,186,5,5,94,186,5,5,39,186,5,5,48,186,5,5,227,184,5,5,253,184,5,5,4,185,5,5,114,186,5,5,129,186,5,5,141,186,5,5,106,186,5,5,104,186,5,5,35,185,5,5,159,186,5,5,175,185,5,5,241,189,5,5,248,189,5,5,211,189,5,5,199,189,5,5,193,185,5,5,214,189,5,5,234,189,5,5,35,190,5,5,76,190,5,5,240,189,5,5,79,190,5,5,31,190,5,5,32,190,5,5,96,191,5,5,24,190,5,5,56,190,5,5,18,190,5,5,223,190,5,5,34,191,5,5,208,184,5,5,15,191,5,5,16,191,5,5,169,185,5,5,125,185,5,5,34,190,5,5,87,185,5,5,131,185,5,5,74,191,5,5,239,185,5,5,146,185,5,5,10,186,5,5,147,185,5,5,82,191,5,5,8,186,5,5,86,185,5,5,10,185,5,5,10,189,5,5,100,189,5,5,155,186,5,5,134,189,5,5,124,189,5,5,123,189,5,5,12,178,5,5,223,182,5,5,26,185,5,5,172,184,5,5,225,175,5,5,120,184,5,5,151,184,5,5,89,191,5,5,74,240,5,5,195,163,5,5,69,167,5,5,238,165,5,5,216,174,5,5,118,166,5,5,90,171,5,5,156,229,5,5,224,236,5,5,62,234,5,5,2,236,5,5,36,229,5,5,101,241,5,5,177,229,5,5,131,227,5,5,183,224,5,5,181,224,5,5,238,226,5,5,234,230,5,5,216,237,5,5,218,237,5,5,68,189,5,5,58,189,5,5,42,189,5,5,43,189,5,5,54,189,5,5,40,189,5,5,78,189,5,5,76,189,5,5,111,187,5,5,58,191,5,5,212,184,5,5,203,189,5,5,65,191,5,5,103,191,5,5,139,187,5,5,53,191,5,5,245,186,5,5,132,187,5,5,208,186,5,5,22,187,5,5,104,187,5,5,105,187,5,5,157,187,5,5,63,184,5,5,140,188,5,5,212,188,5,5,79,184,5,5,132,188,5,5,198,188,5,5,175,188,5,5,64,184,5,5,202,188,5,5,153,188,5,5,82,184,5,5,144,188,5,5,123,188,5,5,206,188,5,5,176,187,5,5,177,187,5,5,25,243,5,5,191,187,5,5,199,187,5,5,177,229,5,5,126,188,5,5,90,184,5,5,73,184,5,5,205,188,5,5,162,188,5,5,210,187,5,5,174,189,5,5,87,189,5,5,120,184,5,5,173,189,5,5,117,188,5,5,98,189,5,5,178,244,5,5,117,189,5,5,119,189,5,5,129,189,5,5,131,189,5,5,160,189,5,5,172,189,5,5,35,187,5,5,14,187,5,5,17,187,5,5,114,187,5,5,226,237,5,5,31,185,5,5,226,187,5,5,234,187,5,5,42,184,5,5,21,188,5,5,26,185,5,5,241,187,5,5,246,187,5,5,13,188,5,5,244,187,5,5,248,190,5,5,113,249,5,5,25,231,5,5,54,188,5,5,55,224,5,5,84,188,5,5,34,188,5,5,28,188,5,5,36,188,5,5,37,188,5,5,40,188,5,5,54,184,5,5,157,185,5,5,99,188,5,5,43,190,5,5,17,190,5,5,198,190,5,5,202,190,5,5,204,190,5,5,214,190,5,5,87,191,5,5,89,187,5,5,57,187,5,5,89,191,5,5,240,190,5,5,30,187,5,5,27,187,5,5,76,191,5,5,29,240,5,5,249,186,5,5,173,186,5,5,150,183,5,5,3,187,5,5,82,187,5,5,209,186,5,5,7,187,5,5,8,187,5,5,250,186,5,5,222,186,5,5,208,183,5,5,212,183,5,5,21,189,5,5,240,188,5,5,241,188,5,5,35,189,5,5,237,188,5,5,3,189,5,5,4,189,5,5,218,188,5,5,225,188,5,5,247,188,5,5,26,187,5,5,70,187,5,5,71,187,5,5,186,222,5,5,192,218,5,5,6,227,5,5,177,228,5,5,146,223,5,5,212,233,5,5,94,209,5,5,36,178,5,5,53,179,5,5,95,180,5,5,194,219,5,5,12,179,5,5,54,164,5,5,141,174,5,5,139,216,5,5,56,206,5,5,78,205,5,5,62,196,5,5,78,245,5,5,75,199,192,0,0,0,192,0,0,0,5,5,230,222,192,0,0,0,5,5,114,211,192,0,0,0,192,0,0,0,5,5,254,212,5,5,140,221,5,5,65,240,5,5,248,186,5,5,179,228,5,5,71,216,5,5,131,174,5,5,172,206,5,5,103,206,5,5,6,248,192,0,0,0,5,5,49,210,192,0,0,0,5,5,154,221,192,0,0,0,192,0,0,0,5,5,100,240,5,5,184,175,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,173,5,5,189,235,5,5,93,194,5,5,174,197,5,5,107,186,5,5,108,187,5,5,55,245,5,5,126,236,5,5,192,171,5,5,195,171,5,5,233,210,5,5,181,163,5,5,79,197,5,5,44,180,5,5,56,209,5,5,210,168,5,5,139,169,5,5,137,234,5,5,185,223,5,5,56,200,5,5,91,195,5,5,196,232,5,5,134,225,5,5,5,172,5,5,164,202,5,5,109,229,5,5,201,169,5,5,188,197,5,5,194,221,5,5,140,198,5,5,196,221,5,5,251,219,5,5,246,232,5,5,189,163,5,5,188,227,5,5,163,218,5,5,172,208,5,5,109,242,5,5,235,232,5,5,226,221,5,5,205,199,5,5,193,220,5,5,64,193,5,5,184,181,5,5,170,203,5,5,202,188,5,5,246,205,5,5,26,173,5,5,112,229,5,5,164,219,5,5,63,224,5,5,55,234,5,5,55,234,5,5,185,219,5,5,164,197,5,5,66,227,5,5,117,241,5,5,205,205,5,5,21,166,5,5,211,232,5,5,249,225,5,5,100,240,5,5,109,183,5,5,90,216,5,5,142,168,5,5,76,200,192,0,0,0,5,5,91,194,192,0,0,0,192,0,0,0,5,5,83,166,5,5,23,197,5,5,52,212,5,5,142,216,5,5,147,226,5,5,216,202,5,5,252,249,5,5,244,227,5,5,79,197,5,5,180,179,5,5,83,200,5,5,159,245,5,5,230,222,5,5,108,173,5,5,216,242,5,5,115,164,5,5,20,165,5,5,193,233,5,5,107,238,5,5,121,240,5,5,20,234,5,5,176,241,5,5,94,247,5,5,216,228,5,5,100,248,5,5,196,232,5,5,151,238,5,5,134,225,5,5,112,175,5,5,197,247,5,5,45,236,5,5,73,166,5,5,102,238,5,5,114,211,5,5,129,186,5,5,111,247,5,5,44,221,5,5,73,175,5,5,131,227,5,5,34,188,5,5,185,243,5,5,127,231,5,5,140,198,5,5,184,206,5,5,196,221,5,5,177,209,5,5,183,207,5,5,46,173,5,5,140,221,5,5,251,220,5,5,183,233,5,5,136,199,5,5,75,194,5,5,8,247,5,5,65,240,5,5,44,229,5,5,102,218,5,5,251,207,5,5,184,219,5,5,91,181,5,5,51,181,5,5,170,203,5,5,144,185,5,5,159,179,5,5,202,188,5,5,191,168,5,5,164,219,5,5,33,201,5,5,115,199,5,5,121,249,5,5,79,211,5,5,247,174,5,5,66,227,5,5,111,177,5,5,154,221,5,5,133,211,5,5,117,241,5,5,172,184,5,5,139,248,5,5,205,205,5,5,2,166,5,5,211,232,5,5,93,229,5,5,54,223,5,5,59,236,5,5,155,216,5,5,195,221,5,5,109,183,5,5,172,206,5,5,178,163,5,5,90,216,5,5,184,237,5,5,142,168,5,5,231,220,5,5,241,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,203,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,238,5,5,125,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,201,32,230,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,14,228,6,5,188,231,6,5,236,229,192,0,0,0,6,5,67,239,6,5,49,178,6,5,199,203,6,5,61,181,6,5,236,203,6,5,223,244,6,5,28,245,6,5,21,188,6,5,119,210,6,5,49,198,6,5,42,232,6,5,4,216,6,5,149,225,6,5,211,222,6,5,8,229,6,5,61,173,6,5,10,229,6,5,26,226,6,5,242,242,6,5,212,179,6,5,114,166,6,5,82,239,6,5,79,236,6,5,56,242,6,5,251,232,6,5,193,222,6,5,94,242,6,5,159,218,6,5,116,232,6,5,46,175,6,5,229,205,6,5,51,197,6,5,84,197,6,5,127,170,6,5,68,242,6,5,197,248,6,5,133,228,6,5,145,191,6,5,160,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,197,195,62,0,197,35,63,0,197,131,63,0,197,227,63,0,197,67,64,0,197,163,64,0,197,3,65,0,197,99,65,0,197,195,65,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,6,5,58,175,6,5,37,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,239,5,5,250,232,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,243,192,0,0,0,5,5,129,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,44,173,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,218,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,251,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,177,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,255,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,181,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,207,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,219,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,215,209,192,0,0,0,5,5,190,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,79,175,5,5,219,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,120,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,93,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,69,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,100,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,198,5,5,57,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,107,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,21,171,192,0,0,0,5,5,195,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,125,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,91,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,101,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,77,172,192,0,0,0,5,5,144,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,165,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,245,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,216,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,176,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,195,192,0,0,0,192,0,0,0,5,5,217,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,115,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,11,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,70,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,26,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,4,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,5,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,132,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,147,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,72,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,90,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,27,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,212,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,224,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,195,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,62,214,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,89,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,229,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,51,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,168,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,225,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,57,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,71,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,238,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,63,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,98,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,54,215,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,209,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,53,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,218,192,0,0,0,5,5,202,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,17,199,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,24,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,65,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,75,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,231,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,127,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,111,166,192,0,0,0,5,5,24,216,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,169,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,106,205,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,183,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,177,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,230,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,189,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,7,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,237,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,45,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,143,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,166,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,103,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,41,234,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,199,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,238,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,240,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,249,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,246,192,0,0,0,192,0,0,0,192,0,0,0,5,5,138,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,2,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,117,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,244,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,15,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,113,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,52,240,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,217,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,206,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,14,175,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,228,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,59,200,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,116,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,18,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,13,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,112,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,192,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,202,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,250,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,182,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,134,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,203,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,34,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,95,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,180,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,211,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,78,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,179,213,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,200,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,110,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,214,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,55,209,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,154,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,16,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,119,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,228,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,243,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,214,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,146,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,130,184,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,174,193,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,227,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,76,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,148,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,188,198,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,58,185,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,198,229,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,186,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,135,225,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,108,180,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,252,227,192,0,0,0,5,5,254,167,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,168,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,122,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,185,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,246,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,244,192,0,0,0,192,0,0,0,192,0,0,0,5,5,84,221,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,32,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,222,5,5,19,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,56,223,192,0,0,0,192,0,0,0,192,0,0,0,5,5,241,247,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,128,220,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,210,207,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,37,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,40,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,129,204,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,144,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,19,211,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,242,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,60,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,243,5,5,105,237,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,192,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,155,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,223,222,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,150,235,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,163,206,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,159,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,121,201,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,118,163,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,232,248,192,0,0,0,5,5,199,239,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,233,217,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,226,197,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,67,188,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,201,164,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,174,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,157,223,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,66,190,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,153,220,5,5,15,247,5,5,241,202,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,187,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,171,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,161,233,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,166,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,193,219,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,42,178,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,109,187,192,0,0,0,192,0,0,0,5,5,36,203,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,212,170,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,152,191,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,220,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,254,224,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,226,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,74,195,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,94,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,189,169,5,5,23,172,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,145,196,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,194,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,178,181,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,227,208,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,162,231,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,88,179,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,6,241,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,96,243,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,183,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,29,187,5,5,184,246,5,5,126,239,192,0,0,0,5,5,181,183,5,5,55,245,5,5,94,182,5,5,87,166,5,5,221,231,5,5,221,163,5,5,126,236,5,5,106,216,192,0,0,0,192,0,0,0,5,5,192,171,5,5,243,181,5,5,81,201,5,5,42,207,192,0,0,0,192,0,0,0,5,5,40,183,5,5,42,232,192,0,0,0,5,5,95,231,5,5,250,248,5,5,51,166,5,5,223,178,5,5,23,197,192,0,0,0,5,5,149,210,5,5,105,230,5,5,235,167,5,5,50,195,5,5,120,190,5,5,145,191,5,5,134,224,192,0,0,0,5,5,252,249,5,5,195,171,5,5,233,210,5,5,244,227,5,5,249,163,5,5,37,235,5,5,195,163,5,5,64,200,5,5,181,163,5,5,92,163,5,5,44,202,5,5,55,202,5,5,94,211,5,5,94,211,5,5,94,211,192,0,0,0,5,5,252,199,5,5,40,202,5,5,66,236,192,0,0,0,5,5,82,204,5,5,80,223,5,5,141,241,5,5,186,215,5,5,171,212,5,5,88,225,5,5,3,220,5,5,199,237,5,5,127,171,5,5,68,180,5,5,9,209,5,5,92,215,5,5,96,228,5,5,96,228,5,5,83,200,5,5,12,223,5,5,68,219,5,5,174,241,5,5,222,181,5,5,44,180,5,5,223,181,5,5,223,197,5,5,97,167,5,5,94,209,5,5,183,222,5,5,93,225,5,5,108,218,5,5,245,181,5,5,144,216,5,5,172,233,5,5,49,164,5,5,7,177,192,0,0,0,5,5,176,169,5,5,255,198,5,5,236,173,5,5,49,178,5,5,24,171,5,5,168,227,192,0,0,0,192,0,0,0,5,5,215,201,5,5,177,247,5,5,95,182,5,5,128,168,5,5,210,174,192,0,0,0,192,0,0,0,5,5,21,230,5,5,77,186,5,5,77,186,192,0,0,0,5,5,254,248,5,5,247,218,5,5,120,184,5,5,35,164,192,0,0,0,5,5,19,228,5,5,9,206,5,5,68,176,5,5,26,242,192,0,0,0,5,5,205,181,5,5,185,223,5,5,14,215,5,5,59,210,192,0,0,0,5,5,227,242,192,0,0,0,5,5,129,177,5,5,124,231,5,5,136,224,5,5,214,217,5,5,238,223,192,0,0,0,5,5,14,218,5,5,209,229,5,5,68,170,5,5,109,173,5,5,150,170,192,0,0,0,192,0,0,0,5,5,86,166,5,5,21,165,5,5,141,229,5,5,114,186,192,0,0,0,5,5,216,194,192,0,0,0,192,0,0,0,5,5,182,247,5,5,149,179,5,5,149,179,192,0,0,0,192,0,0,0,192,0,0,0,5,5,140,216,5,5,79,177,192,0,0,0,5,5,239,178,5,5,97,230,5,5,180,218,5,5,9,197,5,5,251,248,192,0,0,0,192,0,0,0,5,5,56,200,192,0,0,0,5,5,183,178,5,5,182,233,5,5,36,201,5,5,216,228,5,5,36,201,5,5,237,185,5,5,196,232,5,5,223,215,5,5,136,173,5,5,87,234,5,5,239,170,5,5,134,225,5,5,78,186,5,5,86,225,5,5,48,203,5,5,3,196,5,5,43,164,5,5,0,159,5,5,216,207,192,0,0,0,5,5,204,246,5,5,129,168,5,5,184,227,5,5,31,236,5,5,60,202,192,0,0,0,5,5,227,205,5,5,182,242,5,5,224,242,192,0,0,0,5,5,72,169,5,5,63,206,5,5,27,200,5,5,52,204,192,0,0,0,5,5,5,172,5,5,169,206,192,0,0,0,5,5,184,202,5,5,71,229,5,5,216,205,5,5,100,246,5,5,109,229,5,5,2,247,192,0,0,0,5,5,59,170,5,5,200,171,5,5,39,233,5,5,235,205,5,5,237,182,5,5,24,180,5,5,129,186,5,5,111,247,5,5,98,233,5,5,2,209,5,5,139,165,192,0,0,0,5,5,109,199,5,5,199,193,5,5,209,201,5,5,114,236,5,5,201,169,192,0,0,0,5,5,99,238,5,5,118,164,5,5,125,231,192,0,0,0,5,5,71,219,5,5,183,241,5,5,251,191,5,5,176,227,192,0,0,0,5,5,33,219,5,5,206,239,5,5,209,233,192,0,0,0,5,5,213,216,192,0,0,0,5,5,28,237,5,5,6,247,5,5,131,227,5,5,196,209,192,0,0,0,192,0,0,0,192,0,0,0,5,5,48,173,192,0,0,0,5,5,162,242,5,5,116,164,5,5,61,210,5,5,21,245,5,5,221,166,5,5,188,197,5,5,34,188,5,5,251,197,5,5,218,205,5,5,231,183,192,0,0,0,5,5,176,168,5,5,206,192,5,5,137,242,5,5,31,191,5,5,127,231,5,5,130,177,192,0,0,0,5,5,132,242,5,5,246,223,192,0,0,0,192,0,0,0,5,5,110,173,5,5,236,248,5,5,184,206,5,5,195,244,192,0,0,0,5,5,147,210,5,5,29,232,5,5,137,222,5,5,38,180,192,0,0,0,5,5,169,178,192,0,0,0,5,5,56,235,192,0,0,0,5,5,22,235,5,5,183,207,5,5,87,219,192,0,0,0,5,5,220,212,5,5,233,163,192,0,0,0,192,0,0,0,5,5,50,179,5,5,81,247,192,0,0,0,5,5,205,248,5,5,181,168,5,5,181,168,5,5,104,175,5,5,213,247,5,5,251,220,5,5,233,236,5,5,158,212,192,0,0,0,5,5,251,230,192,0,0,0,5,5,31,232,192,0,0,0,5,5,74,240,192,0,0,0,5,5,29,248,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,102,218,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,169,220,5,5,170,220,5,5,170,220,5,5,251,207,5,5,159,203,5,5,173,224,192,0,0,0,192,0,0,0,192,0,0,0,5,5,151,216,5,5,31,190,5,5,91,181,192,0,0,0,192,0,0,0,5,5,235,232,192,0,0,0,192,0,0,0,5,5,131,174,5,5,99,229,192,0,0,0,5,5,64,193,5,5,203,202,5,5,57,247,192,0,0,0,192,0,0,0,192,0,0,0,5,5,164,168,5,5,200,168,192,0,0,0,5,5,146,222,5,5,177,221,192,0,0,0,192,0,0,0,5,5,242,163,192,0,0,0,5,5,69,206,5,5,94,236,5,5,167,202,192,0,0,0,5,5,179,164,5,5,151,241,5,5,141,231,5,5,137,233,5,5,23,236,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,248,223,192,0,0,0,5,5,83,244,5,5,122,238,5,5,164,219,192,0,0,0,192,0,0,0,5,5,162,168,192,0,0,0,5,5,67,235,192,0,0,0,192,0,0,0,5,5,57,248,5,5,236,234,192,0,0,0,5,5,5,168,5,5,225,244,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,182,247,5,5,131,213,5,5,181,233,192,0,0,0,5,5,5,209,5,5,54,248,5,5,67,218,5,5,167,185,5,5,101,199,5,5,152,173,5,5,246,240,5,5,21,196,192,0,0,0,5,5,234,230,5,5,216,223,5,5,57,231,5,5,155,203,5,5,26,245,5,5,213,170,5,5,216,176,5,5,185,219,5,5,183,168,5,5,248,206,5,5,27,208,5,5,28,234,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,196,168,5,5,202,205,5,5,187,234,192,0,0,0,5,5,253,230,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,222,184,5,5,234,189,5,5,109,196,5,5,154,213,5,5,8,223,5,5,81,210,5,5,10,249,5,5,193,168,5,5,121,249,5,5,53,177,5,5,150,221,5,5,222,233,192,0,0,0,5,5,26,194,5,5,88,216,192,0,0,0,5,5,161,222,5,5,87,239,192,0,0,0,5,5,41,188,5,5,216,229,192,0,0,0,5,5,243,242,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,124,225,5,5,139,248,5,5,2,166,5,5,12,227,192,0,0,0,5,5,103,194,5,5,39,165,5,5,167,192,5,5,8,209,192,0,0,0,192,0,0,0,5,5,5,163,5,5,44,205,5,5,113,168,192,0,0,0,5,5,133,230,5,5,93,229,192,0,0,0,192,0,0,0,5,5,253,208,5,5,180,168,5,5,137,231,192,0,0,0,5,5,243,223,5,5,100,163,5,5,118,217,5,5,123,199,5,5,77,166,5,5,81,211,5,5,126,232,192,0,0,0,5,5,80,195,192,0,0,0,5,5,225,227,192,0,0,0,192,0,0,0,5,5,84,210,5,5,2,213,5,5,176,249,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,104,165,192,0,0,0,192,0,0,0,192,0,0,0,5,5,184,237,5,5,184,237,5,5,165,168,192,0,0,0,5,5,220,201,192,0,0,0,5,5,3,238,5,5,125,249,5,5,28,164,5,5,101,182,192,0,0,0,192,0,0,0,5,5,231,220,5,5,242,202,5,5,235,204,192,0,0,0,5,5,117,202,5,5,16,168,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,5,5,23,169,192,0,0,0,5,5,174,218,5,5,194,171,5,5,97,218,5,5,115,171,5,5,119,173,5,5,219,164,192,0,0,0,192,0,0,0,192,0,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,204,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,2,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,1,0,0,205,2,0,0,205,1,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,134,3,4,0,0,0,42,0,134,2,4,0,0,0,42,0,134,3,4,0,0,0,50,0,134,2,4,0,0,0,50,0,134,3,4,0,0,0,58,0,134,2,4,0,0,0,58,0,134,3,4,0,0,0,66,0,134,2,4,0,0,0,66,0,134,3,4,0,0,0,68,0,134,2,4,0,0,0,68,0,134,3,4,0,0,0,70,0,134,2,4,0,0,0,70,0,134,3,4,0,0,0,82,0,134,2,4,0,0,0,82,0,5,3,4,0,0,0,42,0,5,2,4,0,0,0,42,0,5,3,4,0,0,0,50,0,5,2,4,0,0,0,50,0,5,3,4,0,0,0,58,0,5,2,4,0,0,0,58,0,5,3,4,0,0,0,66,0,5,2,4,0,0,0,66,0,5,3,4,0,0,0,68,0,5,2,4,0,0,0,68,0,5,3,4,0,0,0,70,0,5,2,4,0,0,0,70,0,5,3,4,0,0,0,82,0,5,2,4,0,0,0,82,0,134,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,162,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,162,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,160,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,160,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,200,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,200,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,66,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,66,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,210,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,210,0,0,0,0,0,134,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,68,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,68,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,198,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,198,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,208,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,208,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,204,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,204,0,0,0,0,0,134,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,42,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,42,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,50,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,50,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,58,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,58,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,70,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,196,0,0,0,0,0,134,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,134,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,3,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,2,4,0,0,0,82,0,5,0,190,0,0,0,0,0,5,0,196,0,0,0,0,0,5,0,5,0,0,142,9,0,5,0,5,0,0,82,239,28,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,67,239,24,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,79,236,26,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,157,235,12,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,43,245,23,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,99,188,18,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,113,208,27,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,0,128,19,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,141,204,25,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,225,226,16,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,197,248,8,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,178,199,3,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,208,229,4,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,80,172,6,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,237,181,11,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,8,230,9,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,136,221,5,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,68,242,7,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,26,172,14,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,94,179,2,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,168,185,17,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,77,175,22,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,218,198,13,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,58,217,10,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,250,208,21,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,254,213,15,15,0,5,0,0,144,9,0,5,0,5,0,0,142,9,0,5,0,5,0,0,236,214,20,15,0,5,0,0,144,9,0,5,0,5,212,55,18,254,0,0,0,0,134,3,0,42,5,162,0,0,134,2,0,42,5,162,0,0,5,3,0,42,5,162,0,0,5,2,0,42,5,162,0,0,134,3,0,50,5,162,0,0,134,2,0,50,5,162,0,0,5,3,0,50,5,162,0,0,5,2,0,50,5,162,0,0,134,3,0,58,5,162,0,0,134,2,0,58,5,162,0,0,5,3,0,58,5,162,0,0,5,2,0,58,5,162,0,0,134,3,0,68,5,160,0,0,134,2,0,68,5,160,0,0,5,3,0,68,5,160,0,0,5,2,0,68,5,160,0,0,134,3,0,82,5,162,0,0,134,2,0,82,5,162,0,0,134,74,0,82,5,162,0,0,5,3,0,82,5,162,0,0,5,2,0,82,5,162,0,0,5,74,0,82,5,162,0,0,134,3,0,70,5,190,0,0,134,2,0,70,5,190,0,0,5,3,0,70,5,190,0,0,5,2,0,70,5,190,0,0,134,3,0,82,5,190,0,0,134,2,0,82,5,190,0,0,134,74,0,82,5,190,0,0,5,3,0,82,5,190,0,0,5,2,0,82,5,190,0,0,5,74,0,82,5,190,0,0,134,3,0,70,5,162,0,0,134,2,0,70,5,162,0,0,5,3,0,70,5,162,0,0,5,2,0,70,5,162,0,0,134,3,0,50,5,160,0,0,134,2,0,50,5,160,0,0,5,3,0,50,5,160,0,0,5,2,0,50,5,160,0,0,134,3,0,42,5,200,0,0,134,2,0,42,5,200,0,0,5,3,0,42,5,200,0,0,5,2,0,42,5,200,0,0,134,2,0,50,5,138,0,0,5,2,0,50,5,138,0,0,134,2,0,50,5,136,0,0,5,2,0,50,5,136,0,0,134,3,0,50,5,204,0,0,134,2,0,50,5,204,0,0,5,3,0,50,5,204,0,0,5,2,0,50,5,204,0,0,134,3,0,50,5,208,0,0,134,2,0,50,5,208,0,0,5,3,0,50,5,208,0,0,5,2,0,50,5,208,0,0,134,3,0,58,5,208,0,0,134,2,0,58,5,208,0,0,5,3,0,58,5,208,0,0,5,2,0,58,5,208,0,0,134,3,0,66,5,196,0,0,134,2,0,66,5,196,0,0,5,3,0,66,5,196,0,0,5,2,0,66,5,196,0,0,134,3,0,68,5,196,0,0,134,2,0,68,5,196,0,0,5,3,0,68,5,196,0,0,5,2,0,68,5,196,0,0,134,3,0,68,5,210,0,0,134,2,0,68,5,210,0,0,5,3,0,68,5,210,0,0,5,2,0,68,5,210,0,0,134,3,0,68,5,204,0,0,134,2,0,68,5,204,0,0,5,3,0,68,5,204,0,0,5,2,0,68,5,204,0,0,134,2,0,70,5,138,0,0,5,2,0,70,5,138,0,0,134,2,0,70,5,136,0,0,5,2,0,70,5,136,0,0,134,3,0,82,5,198,0,0,134,2,0,82,5,198,0,0,134,74,0,82,5,198,0,0,5,3,0,82,5,198,0,0,5,2,0,82,5,198,0,0,5,74,0,82,5,198,0,0,134,3,0,82,5,208,0,0,134,2,0,82,5,208,0,0,134,74,0,82,5,208,0,0,5,3,0,82,5,208,0,0,5,2,0,82,5,208,0,0,5,74,0,82,5,208,0,0,134,3,0,82,5,204,0,0,134,2,0,82,5,204,0,0,134,74,0,82,5,204,0,0,5,3,0,82,5,204,0,0,5,2,0,82,5,204,0,0,5,74,0,82,5,204,0,0,134,2,0,82,5,150,0,0,5,2,0,82,5,150,0,0,134,3,0,42,5,196,0,0,134,2,0,42,5,196,0,0,5,3,0,42,5,196,0,0,5,2,0,42,5,196,0,0,134,3,0,50,5,196,0,0,134,2,0,50,5,196,0,0,5,3,0,50,5,196,0,0,5,2,0,50,5,196,0,0,134,3,0,58,5,196,0,0,134,2,0,58,5,196,0,0,5,3,0,58,5,196,0,0,5,2,0,58,5,196,0,0,134,3,0,70,5,196,0,0,134,2,0,70,5,196,0,0,5,3,0,70,5,196,0,0,5,2,0,70,5,196,0,0,156,5,0,70,5,190,0,0,5,196,0,0,134,3,0,70,5,190,0,0,5,196,0,0,134,2,0,70,5,190,0,0,5,196,0,0,5,5,0,70,5,190,0,0,5,196,0,0,5,3,0,70,5,190,0,0,5,196,0,0,5,2,0,70,5,190,0,0,5,196,0,0,134,3,0,82,5,196,0,0,134,2,0,82,5,196,0,0,134,74,0,82,5,196,0,0,5,3,0,82,5,196,0,0,5,2,0,82,5,196,0,0,5,74,0,82,5,196,0,0,156,5,0,82,5,190,0,0,5,196,0,0,134,3,0,82,5,190,0,0,5,196,0,0,134,2,0,82,5,190,0,0,5,196,0,0,134,74,0,82,5,190,0,0,5,196,0,0,5,5,0,82,5,190,0,0,5,196,0,0,5,3,0,82,5,190,0,0,5,196,0,0,5,2,0,82,5,190,0,0,5,196,0,0,5,74,0,82,5,190,0,0,5,196,0,0,5,5,142,9,5,5,164,205,6,5,144,9,5,5,142,9,5,5,188,227,13,5,144,9,5,5,142,9,5,5,11,234,8,5,144,9,5,5,142,9,5,5,226,221,12,5,144,9,5,5,142,9,5,5,227,204,14,5,144,9,5,5,142,9,5,5,135,231,7,5,144,9,5,5,142,9,5,5,187,202,11,5,144,9,5,5,142,9,5,5,189,231,10,5,144,9,5,5,142,9,5,5,178,218,9,5,144,9,5,5,0,21,17,5,197,248,5,5,0,23,16,5,197,248,5,5,0,25,15,5,197,248,5,5,0,27,14,5,197,248,5,5,0,29,13,5,197,248,5,5,0,31,12,5,197,248,5,5,0,33,11,5,197,248,5,5,0,35,10,5,197,248,5,5,0,37,9,5,197,248,5,5,0,21,5,5,0,19,20,5,197,248,5,5,0,21,5,5,0,21,19,5,197,248,5,5,0,21,5,5,0,23,18,5,197,248,5,5,0,19,30,5,147,177,5,5,0,21,19,5,147,177,5,5,0,23,13,5,147,177,5,5,0,25,12,5,147,177,5,5,0,27,11,5,147,177,5,5,0,29,10,5,147,177,5,5,0,31,9,5,147,177,5,5,0,33,8,5,147,177,5,5,0,35,7,5,147,177,5,5,0,37,6,5,147,177,5,5,0,21,5,5,0,19,29,5,147,177,5,5,0,21,5,5,0,21,28,5,147,177,5,5,0,21,5,5,0,23,27,5,147,177,5,5,0,21,5,5,0,25,26,5,147,177,5,5,0,21,5,5,0,27,25,5,147,177,5,5,0,21,5,5,0,29,24,5,147,177,5,5,0,21,5,5,0,31,23,5,147,177,5,5,0,21,5,5,0,33,22,5,147,177,5,5,0,21,5,5,0,35,21,5,147,177,5,5,0,21,5,5,0,37,20,5,147,177,5,5,0,23,5,5,0,19,18,5,147,177,5,5,0,23,5,5,0,21,17,5,147,177,5,5,0,23,5,5,0,23,16,5,147,177,5,5,0,23,5,5,0,25,15,5,147,177,5,5,0,23,5,5,0,27,14,5,147,177,5,5,167,168,6,5,86,225,5,5,210,219,6,5,89,197,5,5,47,175,7,5,112,221,5,5,27,172,6,5,191,218,5,5,136,221,5,5,32,227,5,5,66,200,7,5,188,227,5,5,0,21,28,5,8,230,5,5,0,23,17,5,8,230,5,5,0,25,14,5,8,230,5,5,0,27,13,5,8,230,5,5,0,29,12,5,8,230,5,5,0,31,11,5,8,230,5,5,0,33,10,5,8,230,5,5,0,35,9,5,8,230,5,5,0,37,8,5,8,230,5,5,0,21,5,5,0,19,38,5,8,230,5,5,0,21,5,5,0,21,37,5,8,230,5,5,0,21,5,5,0,23,36,5,8,230,5,5,0,21,5,5,0,25,35,5,8,230,5,5,0,21,5,5,0,27,34,5,8,230,5,5,0,21,5,5,0,29,33,5,8,230,5,5,0,21,5,5,0,31,32,5,8,230,5,5,0,21,5,5,0,33,31,5,8,230,5,5,0,21,5,5,0,35,30,5,8,230,5,5,0,21,5,5,0,37,29,5,8,230,5,5,0,23,5,5,0,19,27,5,8,230,5,5,0,23,5,5,0,21,26,5,8,230,5,5,0,23,5,5,0,23,25,5,8,230,5,5,0,23,5,5,0,25,24,5,8,230,5,5,0,23,5,5,0,27,23,5,8,230,5,5,0,23,5,5,0,29,22,5,8,230,5,5,0,23,5,5,0,31,21,5,8,230,5,5,0,23,5,5,0,33,20,5,8,230,5,5,0,23,5,5,0,35,19,5,8,230,5,5,0,23,5,5,0,37,18,5,8,230,5,5,0,25,5,5,0,19,16,5,8,230,5,5,0,25,5,5,0,21,15,5,8,230,5,5,82,10,5,5,122,164,8,5,84,10,5,5,82,10,5,5,79,236,14,5,84,10,5,5,82,10,5,5,67,239,13,5,84,10,5,5,82,10,5,5,198,238,11,5,84,10,5,5,82,10,5,5,147,177,7,5,84,10,5,5,82,10,5,5,46,175,10,5,84,10,5,5,82,10,5,5,159,175,6,5,84,10,5,5,82,10,5,5,46,229,12,5,84,10,5,5,82,10,5,5,171,163,9,5,84,10,160,112,0,42,162,5,0,50,5,112,0,78,19,5,0,78,5,112,0,42,19,5,0,50,0,42,156,5,5,0,12,3,7,0,12,3,198,161,64,3,198,129,65,3,0,234,134,3,0,3,198,129,1,3,0,234,134,3,4,3,0,234,134,2,0,50,156,5,6,0,4,3,12,0,4,3,0,242,134,2,12,3,0,192,198,97,64,3,0,192,198,65,65,3,0,242,134,3,0,3,0,192,198,65,1,3,0,242,134,3,2,3,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,58,156,5,5,0,12,3,9,0,12,3,0,192,198,161,64,3,0,192,198,129,65,3,0,250,134,3,0,3,0,192,198,129,1,3,0,250,134,3,4,3,0,250,134,2,0,66,156,5,5,0,12,3,10,0,12,3,0,192,198,225,64,3,0,192,198,193,65,3,255,255,0,66,134,3,0,3,0,192,198,193,1,3,255,255,0,66,134,3,4,3,255,255,0,66,134,2,0,68,156,5,5,0,12,3,10,0,12,3,1,192,198,33,64,3,1,192,198,1,65,3,255,255,0,68,134,3,0,3,1,192,198,1,1,3,255,255,0,68,134,3,4,3,255,255,0,68,134,2,0,70,156,5,5,0,12,3,10,0,12,3,1,192,198,97,64,3,1,192,198,65,65,3,255,255,0,70,134,3,0,3,1,192,198,65,1,3,255,255,0,70,134,3,4,3,255,255,0,70,134,2,0,82,156,5,7,0,12,3,14,0,12,3,1,192,198,161,64,3,1,192,198,129,65,3,255,255,0,82,134,3,68,3,255,255,0,82,134,71,0,3,1,192,198,129,1,3,255,255,0,82,134,3,4,3,255,255,0,82,134,2,8,3,197,127,0,82,134,74,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,0,42,5,5,5,0,12,3,9,0,12,3,1,192,198,225,64,3,1,192,198,193,65,3,0,234,5,3,0,3,1,192,198,193,1,3,0,234,5,3,4,3,0,234,5,2,0,50,5,5,6,0,4,3,12,0,4,3,0,242,5,2,12,3,2,192,198,33,64,3,2,192,198,1,65,3,0,242,5,3,0,3,2,192,198,1,1,3,0,242,5,3,2,3,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,58,5,5,5,0,12,3,9,0,12,3,2,192,198,97,64,3,2,192,198,65,65,3,0,250,5,3,0,3,2,192,198,65,1,3,0,250,5,3,4,3,0,250,5,2,0,66,5,5,5,0,12,3,10,0,12,3,2,192,198,161,64,3,2,192,198,129,65,3,255,255,0,66,5,3,0,3,2,192,198,129,1,3,255,255,0,66,5,3,4,3,255,255,0,66,5,2,0,68,5,5,5,0,12,3,10,0,12,3,2,192,198,225,64,3,2,192,198,193,65,3,255,255,0,68,5,3,0,3,2,192,198,193,1,3,255,255,0,68,5,3,4,3,255,255,0,68,5,2,0,70,5,5,5,0,12,3,10,0,12,3,3,192,198,33,64,3,3,192,198,1,65,3,255,255,0,70,5,3,0,3,3,192,198,1,1,3,255,255,0,70,5,3,4,3,255,255,0,70,5,2,0,82,5,5,7,0,12,3,14,0,12,3,3,192,198,97,64,3,3,192,198,65,65,3,255,255,0,82,5,3,68,3,255,255,0,82,5,71,0,3,3,192,198,65,1,3,255,255,0,82,5,3,4,3,255,255,0,82,5,2,8,3,197,127,0,82,5,74,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,50,196,142,5,0,12,3,9,0,12,3,0,242,134,72,64,3,0,242,134,73,65,3,0,242,134,71,0,3,0,242,134,73,1,3,0,242,134,71,4,3,0,242,134,70,0,82,134,74,5,0,12,3,12,0,12,3,255,255,0,82,134,72,64,3,255,255,0,82,134,73,65,3,255,255,0,82,134,71,0,3,255,255,0,82,134,73,1,3,255,255,0,82,134,71,4,3,255,255,0,82,134,70,5,50,196,142,5,0,12,3,9,0,12,3,0,242,5,72,64,3,0,242,5,73,65,3,0,242,5,71,0,3,0,242,5,73,1,3,0,242,5,71,4,3,0,242,5,70,0,82,5,74,5,0,12,3,12,0,12,3,255,255,0,82,5,72,64,3,255,255,0,82,5,73,65,3,255,255,0,82,5,71,0,3,255,255,0,82,5,73,1,3,255,255,0,82,5,71,4,3,255,255,0,82,5,70,156,42,196,162,5,0,12,3,8,0,12,3,3,192,198,194,64,3,3,192,198,130,65,3,197,162,0,3,3,192,198,130,1,3,197,162,4,3,0,192,197,98,5,42,196,162,5,0,12,3,9,0,12,3,4,192,198,66,64,3,4,192,198,2,65,3,0,192,197,162,0,3,4,192,198,2,1,3,0,192,197,162,4,3,0,192,197,226,156,50,196,162,5,0,12,3,9,0,12,3,4,192,198,194,64,3,4,192,198,130,65,3,1,192,197,34,0,3,4,192,198,130,1,3,1,192,197,34,4,3,1,192,197,98,5,50,196,162,5,0,12,3,9,0,12,3,5,192,198,66,64,3,5,192,198,2,65,3,1,192,197,162,0,3,5,192,198,2,1,3,1,192,197,162,4,3,1,192,197,226,156,58,196,162,5,0,12,3,9,0,12,3,5,192,198,194,64,3,5,192,198,130,65,3,2,192,197,34,0,3,5,192,198,130,1,3,2,192,197,34,4,3,2,192,197,98,5,58,196,162,5,0,12,3,9,0,12,3,6,192,198,66,64,3,6,192,198,2,65,3,2,192,197,162,0,3,6,192,198,2,1,3,2,192,197,162,4,3,2,192,197,226,156,68,196,160,5,0,12,3,9,0,12,3,6,192,198,194,64,3,6,192,198,130,65,3,3,192,197,34,0,3,6,192,198,130,1,3,3,192,197,34,4,3,3,192,197,98,5,68,196,160,5,0,12,3,9,0,12,3,7,192,198,66,64,3,7,192,198,2,65,3,3,192,197,162,0,3,7,192,198,2,1,3,3,192,197,162,4,3,3,192,197,226,156,82,196,162,6,0,8,3,12,0,8,3,4,192,197,162,12,3,7,192,198,194,64,3,7,192,198,130,65,3,4,192,197,34,0,3,7,192,198,130,1,3,4,192,197,34,4,3,4,192,197,98,5,82,196,162,6,0,8,3,12,0,8,3,5,192,197,98,12,3,8,192,198,66,64,3,8,192,198,2,65,3,4,192,197,226,0,3,8,192,198,2,1,3,4,192,197,226,4,3,5,192,197,34,156,70,196,190,5,0,12,3,9,0,12,3,8,192,198,194,64,3,8,192,198,130,65,3,5,192,197,162,0,3,8,192,198,130,1,3,5,192,197,162,4,3,5,192,197,226,5,70,196,190,5,0,12,3,9,0,12,3,9,192,198,66,64,3,9,192,198,2,65,3,6,192,197,34,0,3,9,192,198,2,1,3,6,192,197,34,4,3,6,192,197,98,156,82,196,190,6,0,8,3,12,0,8,3,7,192,197,34,12,3,9,192,198,194,64,3,9,192,198,130,65,3,6,192,197,162,0,3,9,192,198,130,1,3,6,192,197,162,4,3,6,192,197,226,5,82,196,190,6,0,8,3,12,0,8,3,7,192,197,226,12,3,10,192,198,66,64,3,10,192,198,2,65,3,7,192,197,98,0,3,10,192,198,2,1,3,7,192,197,98,4,3,7,192,197,162,156,70,196,162,5,0,12,3,9,0,12,3,10,192,198,194,64,3,10,192,198,130,65,3,8,192,197,34,0,3,10,192,198,130,1,3,8,192,197,34,4,3,8,192,197,98,5,70,196,162,5,0,12,3,9,0,12,3,11,192,198,66,64,3,11,192,198,2,65,3,8,192,197,162,0,3,11,192,198,2,1,3,8,192,197,162,4,3,8,192,197,226,156,50,196,160,5,0,12,3,9,0,12,3,11,192,198,194,64,3,11,192,198,130,65,3,9,192,197,34,0,3,11,192,198,130,1,3,9,192,197,34,4,3,9,192,197,98,5,50,196,160,5,0,12,3,9,0,12,3,12,192,198,66,64,3,12,192,198,2,65,3,9,192,197,162,0,3,12,192,198,2,1,3,9,192,197,162,4,3,9,192,197,226,156,42,196,200,5,0,12,3,9,0,12,3,12,192,198,194,64,3,12,192,198,130,65,3,10,192,197,34,0,3,12,192,198,130,1,3,10,192,197,34,4,3,10,192,197,98,5,42,196,200,5,0,12,3,9,0,12,3,13,192,198,66,64,3,13,192,198,2,65,3,10,192,197,162,0,3,13,192,198,2,1,3,10,192,197,162,4,3,10,192,197,226,156,50,196,204,5,0,12,3,9,0,12,3,13,192,198,194,64,3,13,192,198,130,65,3,12,192,197,34,0,3,13,192,198,130,1,3,12,192,197,34,4,3,12,192,197,98,5,50,196,204,5,0,12,3,9,0,12,3,14,192,198,66,64,3,14,192,198,2,65,3,12,192,197,162,0,3,14,192,198,2,1,3,12,192,197,162,4,3,12,192,197,226,156,50,196,208,5,0,12,3,9,0,12,3,14,192,198,194,64,3,14,192,198,130,65,3,13,192,197,34,0,3,14,192,198,130,1,3,13,192,197,34,4,3,13,192,197,98,5,50,196,208,5,0,12,3,9,0,12,3,15,192,198,66,64,3,15,192,198,2,65,3,13,192,197,162,0,3,15,192,198,2,1,3,13,192,197,162,4,3,13,192,197,226,156,58,196,208,5,0,12,3,9,0,12,3,15,192,198,194,64,3,15,192,198,130,65,3,14,192,197,34,0,3,15,192,198,130,1,3,14,192,197,34,4,3,14,192,197,98,5,58,196,208,5,0,12,3,9,0,12,3,16,192,198,66,64,3,16,192,198,2,65,3,14,192,197,162,0,3,16,192,198,2,1,3,14,192,197,162,4,3,14,192,197,226,156,66,196,196,5,0,12,3,9,0,12,3,16,192,198,194,64,3,16,192,198,130,65,3,15,192,197,34,0,3,16,192,198,130,1,3,15,192,197,34,4,3,15,192,197,98,5,66,196,196,5,0,12,3,9,0,12,3,17,192,198,66,64,3,17,192,198,2,65,3,15,192,197,162,0,3,17,192,198,2,1,3,15,192,197,162,4,3,15,192,197,226,156,68,196,196,5,0,12,3,9,0,12,3,17,192,198,194,64,3,17,192,198,130,65,3,16,192,197,34,0,3,17,192,198,130,1,3,16,192,197,34,4,3,16,192,197,98,5,68,196,196,5,0,12,3,9,0,12,3,18,192,198,66,64,3,18,192,198,2,65,3,16,192,197,162,0,3,18,192,198,2,1,3,16,192,197,162,4,3,16,192,197,226,156,68,196,210,5,0,12,3,9,0,12,3,18,192,198,194,64,3,18,192,198,130,65,3,17,192,197,34,0,3,18,192,198,130,1,3,17,192,197,34,4,3,17,192,197,98,5,68,196,210,5,0,12,3,9,0,12,3,19,192,198,66,64,3,19,192,198,2,65,3,17,192,197,162,0,3,19,192,198,2,1,3,17,192,197,162,4,3,17,192,197,226,156,68,196,204,5,0,12,3,9,0,12,3,19,192,198,194,64,3,19,192,198,130,65,3,18,192,197,34,0,3,19,192,198,130,1,3,18,192,197,34,4,3,18,192,197,98,5,68,196,204,5,0,12,3,9,0,12,3,20,192,198,66,64,3,20,192,198,2,65,3,18,192,197,162,0,3,20,192,198,2,1,3,18,192,197,162,4,3,18,192,197,226,156,82,196,198,6,0,8,3,12,0,8,3,20,192,197,162,12,3,20,192,198,194,64,3,20,192,198,130,65,3,20,192,197,34,0,3,20,192,198,130,1,3,20,192,197,34,4,3,20,192,197,98,5,82,196,198,6,0,8,3,12,0,8,3,21,192,197,98,12,3,21,192,198,66,64,3,21,192,198,2,65,3,20,192,197,226,0,3,21,192,198,2,1,3,20,192,197,226,4,3,21,192,197,34,156,82,196,208,6,0,8,3,12,0,8,3,22,192,197,34,12,3,21,192,198,194,64,3,21,192,198,130,65,3,21,192,197,162,0,3,21,192,198,130,1,3,21,192,197,162,4,3,21,192,197,226,5,82,196,208,6,0,8,3,12,0,8,3,22,192,197,226,12,3,22,192,198,66,64,3,22,192,198,2,65,3,22,192,197,98,0,3,22,192,198,2,1,3,22,192,197,98,4,3,22,192,197,162,156,82,196,204,6,0,8,3,12,0,8,3,23,192,197,162,12,3,22,192,198,194,64,3,22,192,198,130,65,3,23,192,197,34,0,3,22,192,198,130,1,3,23,192,197,34,4,3,23,192,197,98,5,82,196,204,6,0,8,3,12,0,8,3,24,192,197,98,12,3,23,192,198,66,64,3,23,192,198,2,65,3,23,192,197,226,0,3,23,192,198,2,1,3,23,192,197,226,4,3,24,192,197,34,156,42,196,196,5,0,12,3,9,0,12,3,23,192,198,194,64,3,23,192,198,130,65,3,25,192,197,34,0,3,23,192,198,130,1,3,25,192,197,34,4,3,25,192,197,98,5,42,196,196,5,0,12,3,9,0,12,3,24,192,198,66,64,3,24,192,198,2,65,3,25,192,197,162,0,3,24,192,198,2,1,3,25,192,197,162,4,3,25,192,197,226,156,50,196,196,5,0,12,3,9,0,12,3,24,192,198,194,64,3,24,192,198,130,65,3,26,192,197,34,0,3,24,192,198,130,1,3,26,192,197,34,4,3,26,192,197,98,5,50,196,196,5,0,12,3,9,0,12,3,25,192,198,66,64,3,25,192,198,2,65,3,26,192,197,162,0,3,25,192,198,2,1,3,26,192,197,162,4,3,26,192,197,226,156,58,196,196,5,0,12,3,9,0,12,3,25,192,198,194,64,3,25,192,198,130,65,3,27,192,197,34,0,3,25,192,198,130,1,3,27,192,197,34,4,3,27,192,197,98,5,58,196,196,5,0,12,3,9,0,12,3,26,192,198,66,64,3,26,192,198,2,65,3,27,192,197,162,0,3,26,192,198,2,1,3,27,192,197,162,4,3,27,192,197,226,156,70,196,196,5,0,12,3,9,0,12,3,26,192,198,194,64,3,26,192,198,130,65,3,28,192,197,34,0,3,26,192,198,130,1,3,28,192,197,34,4,3,28,192,197,98,5,70,196,196,5,0,12,3,9,0,12,3,27,192,198,66,64,3,27,192,198,2,65,3,28,192,197,162,0,3,27,192,198,2,1,3,28,192,197,162,4,3,28,192,197,226,29,0,197,35,5,0,12,3,9,0,12,3,27,192,198,227,64,3,27,192,198,131,65,3,29,192,197,131,0,3,27,192,198,131,1,3,29,192,197,131,4,3,29,192,197,227,30,0,197,67,5,0,12,3,9,0,12,3,28,192,198,163,64,3,28,192,198,67,65,3,30,192,197,163,0,3,28,192,198,67,1,3,30,192,197,163,4,3,31,192,197,3,156,82,196,196,6,0,8,3,12,0,8,3,31,192,197,226,12,3,29,192,198,66,64,3,29,192,198,2,65,3,31,192,197,98,0,3,29,192,198,2,1,3,31,192,197,98,4,3,31,192,197,162,5,82,196,196,6,0,8,3,12,0,8,3,32,192,197,162,12,3,29,192,198,194,64,3,29,192,198,130,65,3,32,192,197,34,0,3,29,192,198,130,1,3,32,192,197,34,4,3,32,192,197,98,32,0,197,227,6,0,8,3,12,0,8,3,34,192,197,3,12,3,30,192,198,99,64,3,30,192,198,3,65,3,33,192,197,67,0,3,30,192,198,3,1,3,33,192,197,67,4,3,33,192,197,163,34,0,197,99,6,0,8,3,12,0,8,3,35,192,197,131,12,3,31,192,198,35,64,3,30,192,198,195,65,3,34,192,197,195,0,3,30,192,198,195,1,3,34,192,197,195,4,3,35,192,197,35,41,0,198,161,35,0,23,49,78,0,33,49,38,0,37,49,20,0,37,49,255,255,22,239,5,5,38,49,255,255,24,239,5,5,39,49,255,255,81,239,5,5,40,49,255,255,239,244,5,5,41,49,255,255,138,247,5,5,33,49,255,255,162,238,5,5,34,49,255,255,197,238,5,5,35,49,255,255,255,238,5,5,36,49,255,255,10,239,5,5,27,49,20,0,27,49,255,255,138,237,5,5,28,49,255,255,143,237,5,5,30,49,255,255,20,238,5,5,31,49,255,255,92,238,5,5,32,49,255,255,95,238,5,5,23,49,255,255,104,231,5,5,24,49,255,255,154,233,5,5,25,49,255,255,100,235,5,5,26,49,255,255,132,237,5,5,14,49,38,0,18,49,20,0,18,49,255,255,164,212,5,5,19,49,255,255,53,218,5,5,20,49,255,255,2,223,5,5,21,49,255,255,182,226,5,5,22,49,255,255,6,230,5,5,14,49,255,255,238,194,5,5,15,49,255,255,69,197,5,5,16,49,255,255,193,201,5,5,17,49,255,255,112,208,5,5,9,49,20,0,9,49,255,255,3,175,5,5,10,49,255,255,29,179,5,5,11,49,255,255,221,182,5,5,12,49,255,255,225,184,5,5,13,49,255,255,117,191,5,5,5,49,255,255,0,127,5,5,6,49,255,255,149,166,5,5,7,49,255,255,16,169,5,5,8,49,255,255,111,172,5,5,4,0,6,49,29,49,30,49,42,49,5,2,64,12,32,14,192,14,232,14,24,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,12,16,12,24,12,32,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,12,168,12,16,13,184,13,216,14,192,13,176,13,216,12,72,13,80,13,152,13,112,14,144,12,96,12,208,12,160,13,168,16,168,20,168,24,168,28,168,32,168,36,168,40,168,44,168,48,168,52,160,12,152,12,144,14,152,14,160,14,184,12,144,13,26,4,185,60,185,64,185,68,28,4,185,76,185,80,185,84,30,4,186,96,185,100,185,104,32,4,34,4,36,4,185,124,185,128,185,136,186,140,185,144,38,4,185,156,185,160,185,164,185,168,185,172,88,13,168,13,96,13,56,14,80,12,40,14,40,4,168,60,168,64,168,68,42,4,168,76,168,80,168,84,44,4,168,96,168,100,168,104,46,4,48,4,50,4,168,124,168,128,168,136,168,140,168,144,52,4,168,156,168,160,168,164,168,168,168,172,104,13,176,14,112,13,192,14,0,0,0,0,0,0,0,0,0,0,0,0,40,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,176,12,208,14,224,14,200,14,232,14,184,14,128,13,72,14,96,14,170,56,56,13,168,14,0,0,104,14,64,14,88,14,120,14,169,24,169,28,48,14,1,0,136,13,1,0,80,14,169,20,170,120,64,13,1,0,1,0,1,0,192,12,89,56,57,56,217,57,121,58,57,58,25,58,0,8,217,66,121,72,57,72,54,4,58,74,89,88,57,88,218,89,58,90,217,68,122,114,89,120,57,120,217,121,121,122,57,122,136,14,185,122,89,152,57,152,217,153,56,4,153,169,185,176,2,8,72,56,40,56,200,57,104,58,40,58,8,58,4,8,200,66,104,72,40,72,58,4,40,74,72,88,40,88,200,89,40,90,200,68,104,114,72,120,40,120,200,121,104,122,40,122,128,14,168,122,72,152,40,152,200,153,60,4,136,169,168,176,40,170,25,56,8,56,185,57,168,57,62,4,64,4,153,65,136,65,217,65,200,65,153,66,136,66,249,65,232,65,249,69,232,69,25,71,8,71,25,72,8,72,186,73,168,73,154,74,136,74,66,4,68,4,89,72,72,72,217,81,200,81,185,81,168,81,153,82,136,82,217,82,200,82,217,85,200,85,25,87,8,87,122,90,104,90,25,88,8,88,186,89,168,89,70,4,72,4,154,90,168,92,6,8,8,8,218,97,200,97,217,102,200,102,168,132,153,105,136,105,217,106,200,106,249,105,232,105,57,107,40,107,25,107,8,107,25,112,8,112,74,4,76,4,57,112,40,112,10,8,185,116,168,116,25,120,8,120,185,121,168,121,89,122,72,122,12,8,14,8,153,137,136,137,217,138,200,138,249,137,232,137,154,141,136,141,218,141,200,141,218,142,200,142,250,141,232,141,217,146,200,146,249,145,232,145,185,148,168,148,121,154,104,154,25,152,8,152,185,153,168,153,25,154,8,154,89,154,72,154,78,4,80,4,217,161,200,161,217,169,200,169,57,170,153,173,136,173,153,174,136,174,249,173,232,173,232,140,65,12,65,12,65,12,65,12,65,12,65,12,65,12,66,12,65,12,65,12,65,12,0,0,0,0,0,0,0,0,0,0,104,12,105,12,112,12,120,12,128,12,136,12,120,13,88,12,224,12,232,12,240,12,248,12,24,13,32,13,40,13,48,13,216,13,224,13,232,13,240,13,209,12,16,8,1,0,248,13,48,12,56,12,0,0,0,0,0,0,0,0,0,0,66,12,200,13,208,13,0,14,18,8,1,0,8,14,20,8,1,0,16,14,0,13,8,13,24,14,22,8,200,12,72,12,32,14,217,56,187,72,200,140,169,140,200,56,169,72,187,88,187,96,169,88,169,96,169,180,169,112,217,120,187,72,200,120,169,72,209,12,209,12,1,14,1,14,9,14,9,14,169,12,169,12,255,5,0,0,255,5,185,56,255,5,186,72,255,5,186,88,255,5,185,108,255,5,186,112,255,5,185,120,255,5,185,152,255,5,168,56,255,5,168,72,255,5,168,88,255,5,168,108,255,5,168,112,255,5,168,120,255,5,168,152,255,5,218,73,255,5,217,152,255,5,200,73,255,5,200,152,255,5,249,58,255,5,232,58,255,5,250,74,255,5,232,74,255,5,250,90,255,5,232,90,255,5,218,114,255,5,200,114,255,5,249,154,255,5,232,154,255,1,170,170,3,0,68,0,51,0,60,0,103,228,2,16,251,184,0,96,1,0,0,96,8,0,43,0,83,0,91,0,109,0,101,0,116,0,123,0,130,0,170,170,148,48,1,32,4,0,0,96,70,141,1,32,229,251,1,32,233,155,1,80,245,208,2,32,95,228,2,32,5,129,3,32,1,0,32,0,10,129,3,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,72,0,75,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,19,0,0,32,7,0,0,0,13,0,0,0,21,0,0,0,21,0,0,0,1,0,0,0,0,0,0,0,19,0,0,0,99,111,108,108,97,116,105,111,110,115,0,100,101,102,97,117,108,116,0,170,0,0,115,0,116,0,114,0,111,0,107,0,101,0,0,0,1,0,43,0,1,0,170,170,1,0,32,0,8,0,0,80,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,80,7,0,0,0,9,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,95,95,95,0,0,0,1,0,32,0,0,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,77,0,79,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,95,0,83,0,71,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,80,7,0,0,0,10,0,0,0,18,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,18,0,0,0,37,37,65,76,73,65,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,84,0,87,0,0,0,1,0,32,0,1,0,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,252,2,0,32,7,0,0,0,55,1,0,0,254,2,0,0,254,2,0,0,45,1,0,0,1,0,0,0,56,1,0,0,99,111,100,101,77,97,112,0,65,68,80,0,65,69,68,0,65,70,65,0,65,70,78,0,65,76,75,0,65,76,76,0,65,77,68,0,65,78,71,0,65,79,65,0,65,79,75,0,65,79,78,0,65,79,82,0,65,82,65,0,65,82,80,0,65,82,83,0,65,82,89,0,65,84,83,0,65,85,68,0,65,87,71,0,65,89,77,0,65,90,77,0,65,90,78,0,66,65,68,0,66,65,77,0,66,66,68,0,66,68,84,0,66,69,67,0,66,69,70,0,66,69,76,0,66,71,74,0,66,71,75,0,66,71,76,0,66,71,78,0,66,72,68,0,66,73,70,0,66,77,68,0,66,78,68,0,66,79,66,0,66,79,80,0,66,79,86,0,66,82,66,0,66,82,67,0,66,82,69,0,66,82,76,0,66,82,78,0,66,82,82,0,66,83,68,0,66,84,78,0,66,85,75,0,66,87,80,0,66,89,66,0,66,89,78,0,66,89,82,0,66,90,68,0,67,65,68,0,67,68,70,0,67,72,67,0,67,72,69,0,67,72,70,0,67,72,87,0,67,76,70,0,67,76,80,0,67,78,89,0,67,79,80,0,67,79,85,0,67,82,67,0,67,83,68,0,67,83,74,0,67,83,75,0,67,85,67,0,67,85,80,0,67,86,69,0,67,89,80,0,67,90,75,0,68,68,77,0,68,69,77,0,68,74,70,0,68,75,75,0,68,79,80,0,68,90,68,0,69,67,83,0,69,67,86,0,69,69,75,0,69,71,80,0,69,82,78,0,69,83,65,0,69,83,66,0,69,83,80,0,69,84,66,0,69,85,82,0,70,73,77,0,70,74,68,0,70,75,80,0,70,82,70,0,71,66,80,0,71,69,75,0,71,69,76,0,71,72,67,0,71,72,80,0,71,72,83,0,71,73,80,0,71,77,68,0,71,78,69,0,71,78,70,0,71,78,83,0,71,81,69,0,71,82,68,0,71,84,81,0,71,87,69,0,71,87,80,0,71,89,68,0,72,75,68,0,72,78,76,0,72,82,68,0,72,82,75,0,72,84,71,0,72,85,70,0,73,68,82,0,73,69,80,0,73,76,80,0,73,76,82,0,73,76,83,0,73,78,82,0,73,81,68,0,73,82,82,0,73,83,74,0,73,83,75,0,73,84,76,0,74,77,68,0,74,79,68,0,74,80,89,0,75,69,83,0,75,71,83,0,75,72,82,0,75,77,70,0,75,80,87,0,75,82,87,0,75,87,68,0,75,89,68,0,75,90,84,0,76,65,74,0,76,65,75,0,76,66,80,0,76,75,82,0,76,82,68,0,76,83,76,0,76,83,77,0,76,84,76,0,76,84,84,0,76,85,67,0,76,85,70,0,76,85,76,0,76,86,76,0,76,86,82,0,76,89,68,0,77,65,68,0,77,68,76,0,77,71,65,0,77,71,70,0,77,75,68,0,77,76,70,0,77,77,75,0,77,78,84,0,77,79,80,0,77,82,79,0,77,82,85,0,77,84,76,0,77,84,80,0,77,85,82,0,77,86,81,0,77,86,82,0,77,87,75,0,77,88,78,0,77,88,80,0,77,88,86,0,77,89,82,0,77,90,69,0,77,90,77,0,77,90,78,0,78,65,68,0,78,71,78,0,78,73,67,0,78,73,79,0,78,76,71,0,78,79,75,0,78,80,82,0,78,90,68,0,79,77,82,0,80,65,66,0,80,69,72,0,80,69,73,0,80,69,78,0,80,69,83,0,80,71,75,0,80,72,80,0,80,75,82,0,80,76,78,0,80,76,90,0,80,84,69,0,80,89,71,0,81,65,82,0,82,72,68,0,82,79,75,0,82,79,76,0,82,79,78,0,82,83,68,0,82,85,66,0,82,85,82,0,82,87,70,0,83,65,82,0,83,66,68,0,83,67,82,0,83,68,68,0,83,68,71,0,83,68,80,0,83,69,75,0,83,71,68,0,83,72,80,0,83,73,84,0,83,75,75,0,83,76,69,0,83,76,76,0,83,79,83,0,83,82,68,0,83,82,71,0,83,83,80,0,83,84,68,0,83,84,78,0,83,85,82,0,83,86,67,0,83,89,80,0,83,90,76,0,84,72,66,0,84,74,82,0,84,74,83,0,84,77,77,0,84,77,84,0,84,78,68,0,84,79,80,0,84,80,69,0,84,82,76,0,84,82,89,0,84,84,68,0,84,87,68,0,84,90,83,0,85,65,72,0,85,65,75,0,85,71,83,0,85,71,87,0,85,71,88,0,85,83,68,0,85,83,78,0,85,83,83,0,85,89,73,0,85,89,78,0,85,89,80,0,85,89,85,0,85,89,87,0,85,90,83,0,86,69,66,0,86,69,68,0,86,69,70,0,86,69,83,0,86,78,67,0,86,78,68,0,86,85,86,0,87,83,84,0,88,65,70,0,88,65,71,0,88,65,85,0,88,66,65,0,88,66,66,0,88,66,67,0,88,66,68,0,88,67,68,0,88,68,82,0,88,69,85,0,88,79,70,0,88,80,68,0,88,80,70,0,88,80,84,0,88,83,85,0,88,84,83,0,88,85,65,0,88,88,88,0,89,68,68,0,89,69,82,0,89,85,68,0,89,85,77,0,89,85,78,0,90,65,76,0,90,65,82,0,90,77,75,0,90,77,87,0,90,82,78,0,90,82,90,0,90,87,67,0,90,87,68,0,90,87,76,0,90,87,78,0,90,87,82,0,0,0,170,170,45,1,40,0,44,0,48,0,52,0,56,0,60,0,64,0,68,0,72,0,76,0,80,0,84,0,88,0,92,0,96,0,100,0,104,0,108,0,112,0,116,0,120,0,124,0,128,0,132,0,136,0,140,0,144,0,148,0,152,0,156,0,160,0,164,0,168,0,172,0,176,0,180,0,184,0,188,0,192,0,196,0,200,0,204,0,208,0,212,0,216,0,220,0,224,0,228,0,232,0,236,0,240,0,244,0,248,0,252,0,0,1,4,1,8,1,12,1,16,1,20,1,24,1,28,1,32,1,36,1,40,1,44,1,48,1,52,1,56,1,60,1,64,1,68,1,72,1,76,1,80,1,84,1,88,1,92,1,96,1,100,1,104,1,108,1,112,1,116,1,120,1,124,1,128,1,132,1,136,1,140,1,144,1,148,1,152,1,156,1,160,1,164,1,168,1,172,1,176,1,180,1,184,1,188,1,192,1,196,1,200,1,204,1,208,1,212,1,216,1,220,1,224,1,228,1,232,1,236,1,240,1,244,1,248,1,252,1,0,2,4,2,8,2,12,2,16,2,20,2,24,2,28,2,32,2,36,2,40,2,44,2,48,2,52,2,56,2,60,2,64,2,68,2,72,2,76,2,80,2,84,2,88,2,92,2,96,2,100,2,104,2,108,2,112,2,116,2,120,2,124,2,128,2,132,2,136,2,140,2,144,2,148,2,152,2,156,2,160,2,164,2,168,2,172,2,176,2,180,2,184,2,188,2,192,2,196,2,200,2,204,2,208,2,212,2,216,2,220,2,224,2,228,2,232,2,236,2,240,2,244,2,248,2,252,2,0,3,4,3,8,3,12,3,16,3,20,3,24,3,28,3,32,3,36,3,40,3,44,3,48,3,52,3,56,3,60,3,64,3,68,3,72,3,76,3,80,3,84,3,88,3,92,3,96,3,100,3,104,3,108,3,112,3,116,3,120,3,124,3,128,3,132,3,136,3,140,3,144,3,148,3,152,3,156,3,160,3,164,3,168,3,172,3,176,3,180,3,184,3,188,3,192,3,196,3,200,3,204,3,208,3,212,3,216,3,220,3,224,3,228,3,232,3,236,3,240,3,244,3,248,3,252,3,0,4,4,4,8,4,12,4,16,4,20,4,24,4,28,4,32,4,36,4,40,4,44,4,48,4,52,4,56,4,60,4,64,4,68,4,72,4,76,4,80,4,84,4,88,4,92,4,96,4,100,4,104,4,108,4,112,4,116,4,120,4,124,4,128,4,132,4,136,4,140,4,144,4,148,4,152,4,156,4,160,4,164,4,168,4,172,4,176,4,180,4,184,4,188,4,192,4,196,4,200,4,204,4,208,4,212,4,216,4,20,0,0,112,16,3,0,112,4,0,0,112,203,3,0,112,8,0,0,112,8,0,0,112,51,0,0,112,20,2,0,112,205,3,0,112,24,0,0,112,24,0,0,112,214,3,0,112,32,0,0,112,32,0,0,112,32,0,0,112,32,0,0,112,40,0,0,112,36,0,0,112,21,2,0,112,177,3,0,112,31,0,0,112,176,3,0,112,70,0,0,112,209,3,0,112,52,0,0,112,50,0,0,112,225,3,0,112,56,0,0,112,224,3,0,112,100,0,0,112,100,0,0,112,100,0,0,112,207,3,0,112,48,0,0,112,108,0,0,112,60,0,0,112,96,0,0,112,68,0,0,112,68,0,0,112,216,3,0,112,76,0,0,112,76,0,0,112,76,0,0,112,218,3,0,112,76,0,0,112,219,3,0,112,44,0,0,112,64,0,0,112,104,0,0,112,72,0,0,112,112,0,0,112,165,3,0,112,206,3,0,112,84,0,0,112,124,0,0,112,208,3,0,112,180,3,0,112,179,3,0,112,244,2,0,112,180,3,0,112,222,3,0,112,152,0,0,112,156,0,0,112,170,0,0,112,202,3,0,112,188,0,0,112,123,3,0,112,203,0,0,112,200,0,0,112,163,3,0,112,192,0,0,112,132,0,0,112,196,0,0,112,203,0,0,112,22,1,0,112,20,1,0,112,6,1,0,112,208,0,0,112,214,0,0,112,12,0,0,112,218,0,0,112,215,3,0,112,233,0,0,112,50,3,0,112,232,0,0,112,228,3,0,112,227,3,0,112,212,2,0,112,230,0,0,112,210,3,0,112,246,0,0,112,242,0,0,112,238,0,0,112,250,0,0,112,58,3,0,112,12,1,0,112,213,3,0,112,32,1,0,112,171,3,0,112,168,3,0,112,36,1,0,112,14,1,0,112,68,1,0,112,68,1,0,112,68,1,0,112,226,0,0,112,44,1,0,112,64,1,0,112,112,2,0,112,112,2,0,112,72,1,0,112,88,1,0,112,84,1,0,112,191,0,0,112,191,0,0,112,76,1,0,112,92,1,0,112,104,1,0,112,116,1,0,112,120,1,0,112,120,1,0,112,120,1,0,112,100,1,0,112,112,1,0,112,108,1,0,112,96,1,0,112,96,1,0,112,124,1,0,112,132,1,0,112,144,1,0,112,136,1,0,112,148,1,0,112,161,1,0,112,116,0,0,112,174,0,0,112,152,1,0,112,154,1,0,112,158,1,0,112,136,0,0,112,142,1,0,112,162,1,0,112,162,1,0,112,166,1,0,112,144,0,0,112,174,1,0,112,170,1,0,112,170,1,0,112,184,1,0,112,184,1,0,112,221,3,0,112,186,1,0,112,220,3,0,112,172,1,0,112,172,1,0,112,178,1,0,112,248,1,0,112,242,1,0,112,201,3,0,112,194,1,0,112,39,3,0,112,210,1,0,112,104,0,0,112,240,1,0,112,190,1,0,112,222,1,0,112,161,3,0,112,214,1,0,112,214,1,0,112,224,1,0,112,206,1,0,112,206,1,0,112,198,1,0,112,228,1,0,112,228,1,0,112,211,3,0,112,202,1,0,112,252,1,0,112,252,1,0,112,175,3,0,112,4,2,0,112,54,2,0,112,46,2,0,112,46,2,0,112,16,2,0,112,66,2,0,112,12,2,0,112,42,2,0,112,0,2,0,112,78,2,0,112,92,2,0,112,92,2,0,112,92,2,0,112,92,2,0,112,86,2,0,112,96,2,0,112,74,2,0,112,217,3,0,112,104,2,0,112,108,2,0,112,88,2,0,112,122,2,0,112,204,2,0,112,130,2,0,112,130,2,0,112,178,3,0,112,173,3,0,112,131,2,0,112,42,3,0,112,134,2,0,112,170,2,0,112,90,0,0,112,178,2,0,112,224,2,0,112,170,3,0,112,224,2,0,112,240,2,0,112,190,2,0,112,142,2,0,112,193,2,0,112,191,2,0,112,157,3,0,112,182,2,0,112,194,2,0,112,200,3,0,112,228,2,0,112,216,2,0,112,166,2,0,112,162,3,0,112,42,3,0,112,222,0,0,112,248,2,0,112,236,2,0,112,252,2,0,112,250,2,0,112,204,3,0,112,27,3,0,112,166,3,0,112,20,3,0,112,8,3,0,112,114,2,0,112,24,3,0,112,181,3,0,112,12,3,0,112,133,3,0,112,66,3,0,112,212,3,0,112,36,3,0,112,32,3,0,112,32,3,0,112,32,3,0,112,72,3,0,112,229,3,0,112,230,3,0,112,172,3,0,112,90,3,0,112,90,3,0,112,90,3,0,112,159,3,0,112,92,3,0,112,94,3,0,112,158,3,0,112,169,3,0,112,160,3,0,112,192,2,0,112,192,2,0,112,36,2,0,112,114,3,0,112,182,3,0,112,193,3,0,112,191,3,0,112,187,3,0,112,188,3,0,112,189,3,0,112,190,3,0,112,183,3,0,112,192,3,0,112,186,3,0,112,184,3,0,112,196,3,0,112,185,3,0,112,194,3,0,112,226,3,0,112,195,3,0,112,197,3,0,112,231,3,0,112,208,2,0,112,118,3,0,112,122,3,0,112,123,3,0,112,122,3,0,112,223,3,0,112,198,2,0,112,126,3,0,112,199,3,0,112,180,0,0,112,180,0,0,112,204,2,0,112,204,2,0,112,164,3,0,112,174,3,0,112,167,3,0,112,1,0,32,0,56,1,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,50,19,0,32,7,0,0,0,111,1,0,0,55,19,0,0,55,19,0,0,163,0,0,0,1,0,0,0,138,12,0,0,108,111,99,97,108,101,115,0,97,102,0,97,109,0,97,114,0,97,122,0,98,103,0,98,110,0,98,115,0,99,97,0,99,99,112,0,99,104,114,0,99,115,0,99,121,0,100,97,0,100,101,0,101,101,0,101,108,0,101,110,0,101,115,95,67,79,0,101,116,0,101,117,0,102,97,0,102,105,0,102,105,108,0,102,114,0,103,108,0,103,115,119,0,103,117,0,104,101,0,104,105,0,104,105,95,76,97,116,110,0,104,117,0,104,121,0,105,100,0,105,115,0,105,116,0,106,97,0,107,97,0,107,103,112,0,107,107,0,107,109,0,107,110,0,107,111,0,107,121,0,108,105,106,0,108,111,0,108,116,0,108,118,0,109,107,0,109,108,0,109,110,0,109,114,0,109,115,0,109,121,0,110,98,0,110,101,0,110,108,0,110,110,0,110,111,0,112,97,0,112,108,0,112,116,0,114,111,0,114,111,111,116,0,114,117,0,115,105,0,115,107,0,115,108,0,115,113,0,115,114,0,115,118,0,116,97,0,116,101,0,116,104,0,116,114,0,117,107,0,117,114,0,117,122,0,118,105,0,121,114,108,0,121,117,101,0,122,104,0,122,117,0,108,111,99,97,108,101,115,95,115,101,108,101,99,116,105,111,110,0,114,117,108,101,115,0,115,101,116,49,0,98,101,102,111,114,101,0,102,114,111,109,0,112,109,0,115,101,116,49,48,0,97,102,116,101,114,110,111,111,110,49,0,101,118,101,110,105,110,103,49,0,109,105,100,110,105,103,104,116,0,97,116,0,109,111,114,110,105,110,103,49,0,110,105,103,104,116,49,0,110,111,111,110,0,115,101,116,49,48,48,0,115,101,116,49,48,49,0,115,101,116,49,48,50,0,115,101,116,49,48,51,0,115,101,116,49,48,52,0,115,101,116,49,48,53,0,109,111,114,110,105,110,103,50,0,115,101,116,49,48,54,0,115,101,116,49,48,55,0,115,101,116,49,48,56,0,115,101,116,49,48,57,0,115,101,116,49,49,0,115,101,116,49,49,48,0,115,101,116,49,49,49,0,115,101,116,49,49,50,0,115,101,116,49,49,51,0,115,101,116,49,49,52,0,115,101,116,49,49,53,0,115,101,116,49,49,54,0,97,102,116,101,114,110,111,111,110,50,0,110,105,103,104,116,50,0,115,101,116,49,49,55,0,115,101,116,49,49,56,0,115,101,116,49,49,57,0,115,101,116,49,50,0,115,101,116,49,50,48,0,115,101,116,49,50,49,0,115,101,116,49,50,50,0,115,101,116,49,50,51,0,115,101,116,49,50,52,0,115,101,116,49,50,53,0,115,101,116,49,50,54,0,115,101,116,49,50,55,0,115,101,116,49,50,56,0,101,118,101,110,105,110,103,50,0,115,101,116,49,50,57,0,115,101,116,49,51,0,115,101,116,49,51,48,0,115,101,116,49,51,49,0,115,101,116,49,51,50,0,115,101,116,49,51,51,0,115,101,116,49,51,52,0,115,101,116,49,51,53,0,115,101,116,49,51,54,0,115,101,116,49,51,55,0,115,101,116,49,51,56,0,115,101,116,49,51,57,0,115,101,116,49,52,0,115,101,116,49,52,48,0,115,101,116,49,52,49,0,115,101,116,49,52,50,0,115,101,116,49,52,51,0,115,101,116,49,52,52,0,115,101,116,49,52,53,0,115,101,116,49,52,54,0,115,101,116,49,52,55,0,115,101,116,49,52,56,0,115,101,116,49,52,57,0,115,101,116,49,53,0,115,101,116,49,53,48,0,115,101,116,49,53,49,0,115,101,116,49,53,50,0,115,101,116,49,53,51,0,115,101,116,49,53,52,0,115,101,116,49,53,53,0,115,101,116,49,53,54,0,115,101,116,49,53,55,0,115,101,116,49,53,56,0,115,101,116,49,53,57,0,115,101,116,49,54,0,115,101,116,49,54,48,0,115,101,116,49,54,49,0,115,101,116,49,54,50,0,115,101,116,49,54,51,0,115,101,116,49,55,0,115,101,116,49,56,0,115,101,116,49,57,0,115,101,116,50,0,115,101,116,50,48,0,115,101,116,50,49,0,115,101,116,50,50,0,115,101,116,50,51,0,115,101,116,50,52,0,115,101,116,50,53,0,115,101,116,50,54,0,115,101,116,50,55,0,115,101,116,50,56,0,115,101,116,50,57,0,115,101,116,51,0,115,101,116,51,48,0,115,101,116,51,49,0,115,101,116,51,50,0,115,101,116,51,51,0,115,101,116,51,52,0,115,101,116,51,53,0,115,101,116,51,54,0,115,101,116,51,55,0,115,101,116,51,56,0,115,101,116,51,57,0,115,101,116,52,0,115,101,116,52,48,0,115,101,116,52,49,0,115,101,116,52,50,0,115,101,116,52,51,0,115,101,116,52,52,0,115,101,116,52,53,0,115,101,116,52,54,0,115,101,116,52,55,0,115,101,116,52,56,0,115,101,116,52,57,0,115,101,116,53,0,115,101,116,53,48,0,115,101,116,53,49,0,115,101,116,53,50,0,115,101,116,53,51,0,115,101,116,53,52,0,115,101,116,53,53,0,115,101,116,53,54,0,115,101,116,53,55,0,115,101,116,53,56,0,115,101,116,53,57,0,115,101,116,54,0,115,101,116,54,48,0,115,101,116,54,49,0,115,101,116,54,50,0,115,101,116,54,51,0,115,101,116,54,52,0,115,101,116,54,53,0,115,101,116,54,54,0,115,101,116,54,55,0,115,101,116,54,56,0,115,101,116,54,57,0,115,101,116,55,0,115,101,116,55,48,0,115,101,116,55,49,0,115,101,116,55,50,0,115,101,116,55,51,0,115,101,116,55,52,0,115,101,116,55,53,0,115,101,116,55,54,0,115,101,116,55,55,0,115,101,116,55,56,0,115,101,116,55,57,0,115,101,116,56,0,115,101,116,56,48,0,115,101,116,56,49,0,115,101,116,56,50,0,115,101,116,56,51,0,115,101,116,56,52,0,115,101,116,56,53,0,115,101,116,56,54,0,115,101,116,56,55,0,115,101,116,56,56,0,115,101,116,56,57,0,115,101,116,57,0,115,101,116,57,48,0,115,101,116,57,49,0,115,101,116,57,50,0,115,101,116,57,51,0,115,101,116,57,52,0,115,101,116,57,53,0,115,101,116,57,54,0,115,101,116,57,55,0,115,101,116,57,56,0,115,101,116,57,57,0,170,170,170,0,0,115,0,101,0,116,0,56,0,0,0,115,0,101,0,116,0,49,0,0,0,115,0,101,0,116,0,50,0,0,0,115,0,101,0,116,0,51,0,0,0,115,0,101,0,116,0,52,0,0,0,115,0,101,0,116,0,53,0,0,0,115,0,101,0,116,0,54,0,0,0,115,0,101,0,116,0,55,0,0,0,115,0,101,0,116,0,57,0,0,0,49,0,50,0,58,0,48,0,48,0,0,0,49,0,56,0,58,0,48,0,48,0,0,0,48,0,54,0,58,0,48,0,48,0,0,0,48,0,48,0,58,0,48,0,48,0,0,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,58,0,48,0,48,0,0,0,49,0,54,0,58,0,48,0,48,0,0,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,52,0,58,0,48,0,48,0,0,0,48,0,51,0,58,0,48,0,48,0,0,0,48,0,49,0,58,0,48,0,48,0,0,0,48,0,57,0,58,0,48,0,48,0,0,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,49,0,58,0,48,0,48,0,0,0,48,0,56,0,58,0,48,0,48,0,0,0,49,0,53,0,58,0,48,0,48,0,0,0,49,0,55,0,58,0,48,0,48,0,0,0,48,0,55,0,58,0,48,0,48,0,0,0,115,0,101,0,116,0,57,0,48,0,0,0,115,0,101,0,116,0,51,0,54,0,0,0,115,0,101,0,116,0,49,0,48,0,0,0,115,0,101,0,116,0,49,0,49,0,0,0,115,0,101,0,116,0,49,0,50,0,0,0,115,0,101,0,116,0,49,0,51,0,0,0,115,0,101,0,116,0,49,0,52,0,0,0,115,0,101,0,116,0,49,0,53,0,0,0,115,0,101,0,116,0,49,0,54,0,0,0,115,0,101,0,116,0,49,0,55,0,0,0,115,0,101,0,116,0,49,0,56,0,0,0,115,0,101,0,116,0,49,0,57,0,0,0,115,0,101,0,116,0,50,0,48,0,0,0,115,0,101,0,116,0,50,0,49,0,0,0,115,0,101,0,116,0,50,0,50,0,0,0,115,0,101,0,116,0,50,0,51,0,0,0,115,0,101,0,116,0,50,0,52,0,0,0,115,0,101,0,116,0,50,0,53,0,0,0,115,0,101,0,116,0,50,0,54,0,0,0,115,0,101,0,116,0,50,0,55,0,0,0,115,0,101,0,116,0,50,0,56,0,0,0,115,0,101,0,116,0,50,0,57,0,0,0,115,0,101,0,116,0,51,0,48,0,0,0,115,0,101,0,116,0,51,0,49,0,0,0,115,0,101,0,116,0,51,0,50,0,0,0,115,0,101,0,116,0,51,0,51,0,0,0,115,0,101,0,116,0,51,0,52,0,0,0,115,0,101,0,116,0,51,0,53,0,0,0,115,0,101,0,116,0,51,0,55,0,0,0,115,0,101,0,116,0,51,0,56,0,0,0,115,0,101,0,116,0,51,0,57,0,0,0,115,0,101,0,116,0,52,0,48,0,0,0,115,0,101,0,116,0,52,0,49,0,0,0,115,0,101,0,116,0,52,0,50,0,0,0,115,0,101,0,116,0,52,0,51,0,0,0,115,0,101,0,116,0,52,0,52,0,0,0,115,0,101,0,116,0,52,0,53,0,0,0,115,0,101,0,116,0,52,0,54,0,0,0,115,0,101,0,116,0,52,0,55,0,0,0,115,0,101,0,116,0,52,0,56,0,0,0,115,0,101,0,116,0,52,0,57,0,0,0,115,0,101,0,116,0,53,0,48,0,0,0,115,0,101,0,116,0,53,0,49,0,0,0,115,0,101,0,116,0,53,0,50,0,0,0,115,0,101,0,116,0,53,0,51,0,0,0,115,0,101,0,116,0,53,0,52,0,0,0,115,0,101,0,116,0,53,0,53,0,0,0,115,0,101,0,116,0,53,0,54,0,0,0,115,0,101,0,116,0,53,0,55,0,0,0,115,0,101,0,116,0,53,0,56,0,0,0,115,0,101,0,116,0,53,0,57,0,0,0,115,0,101,0,116,0,54,0,48,0,0,0,115,0,101,0,116,0,54,0,49,0,0,0,115,0,101,0,116,0,54,0,50,0,0,0,115,0,101,0,116,0,54,0,51,0,0,0,115,0,101,0,116,0,54,0,52,0,0,0,115,0,101,0,116,0,54,0,53,0,0,0,115,0,101,0,116,0,54,0,54,0,0,0,115,0,101,0,116,0,54,0,55,0,0,0,115,0,101,0,116,0,54,0,56,0,0,0,115,0,101,0,116,0,54,0,57,0,0,0,115,0,101,0,116,0,55,0,48,0,0,0,115,0,101,0,116,0,55,0,49,0,0,0,115,0,101,0,116,0,55,0,50,0,0,0,115,0,101,0,116,0,55,0,51,0,0,0,115,0,101,0,116,0,55,0,52,0,0,0,115,0,101,0,116,0,55,0,53,0,0,0,115,0,101,0,116,0,55,0,54,0,0,0,115,0,101,0,116,0,55,0,55,0,0,0,115,0,101,0,116,0,55,0,56,0,0,0,115,0,101,0,116,0,55,0,57,0,0,0,115,0,101,0,116,0,56,0,48,0,0,0,115,0,101,0,116,0,56,0,49,0,0,0,115,0,101,0,116,0,56,0,50,0,0,0,115,0,101,0,116,0,56,0,51,0,0,0,115,0,101,0,116,0,56,0,52,0,0,0,115,0,101,0,116,0,56,0,53,0,0,0,115,0,101,0,116,0,56,0,54,0,0,0,115,0,101,0,116,0,56,0,55,0,0,0,115,0,101,0,116,0,56,0,56,0,0,0,115,0,101,0,116,0,56,0,57,0,0,0,115,0,101,0,116,0,57,0,49,0,0,0,115,0,101,0,116,0,57,0,50,0,0,0,115,0,101,0,116,0,57,0,51,0,0,0,115,0,101,0,116,0,57,0,52,0,0,0,115,0,101,0,116,0,57,0,53,0,0,0,115,0,101,0,116,0,57,0,54,0,0,0,115,0,101,0,116,0,57,0,55,0,0,0,115,0,101,0,116,0,57,0,56,0,0,0,115,0,101,0,116,0,57,0,57,0,0,0,115,0,101,0,116,0,49,0,50,0,50,0,0,0,115,0,101,0,116,0,49,0,48,0,48,0,0,0,115,0,101,0,116,0,49,0,48,0,49,0,0,0,115,0,101,0,116,0,49,0,48,0,50,0,0,0,115,0,101,0,116,0,49,0,48,0,51,0,0,0,115,0,101,0,116,0,49,0,48,0,52,0,0,0,115,0,101,0,116,0,49,0,48,0,53,0,0,0,115,0,101,0,116,0,49,0,48,0,54,0,0,0,115,0,101,0,116,0,49,0,48,0,55,0,0,0,115,0,101,0,116,0,49,0,48,0,56,0,0,0,115,0,101,0,116,0,49,0,48,0,57,0,0,0,115,0,101,0,116,0,49,0,49,0,48,0,0,0,115,0,101,0,116,0,49,0,49,0,49,0,0,0,115,0,101,0,116,0,49,0,49,0,50,0,0,0,115,0,101,0,116,0,49,0,49,0,51,0,0,0,115,0,101,0,116,0,49,0,49,0,52,0,0,0,115,0,101,0,116,0,49,0,49,0,53,0,0,0,115,0,101,0,116,0,49,0,49,0,54,0,0,0,115,0,101,0,116,0,49,0,49,0,55,0,0,0,115,0,101,0,116,0,49,0,49,0,56,0,0,0,115,0,101,0,116,0,49,0,49,0,57,0,0,0,115,0,101,0,116,0,49,0,50,0,48,0,0,0,115,0,101,0,116,0,49,0,50,0,49,0,0,0,115,0,101,0,116,0,49,0,50,0,51,0,0,0,115,0,101,0,116,0,49,0,50,0,52,0,0,0,115,0,101,0,116,0,49,0,50,0,53,0,0,0,115,0,101,0,116,0,49,0,50,0,54,0,0,0,115,0,101,0,116,0,49,0,50,0,55,0,0,0,115,0,101,0,116,0,49,0,50,0,56,0,0,0,115,0,101,0,116,0,49,0,50,0,57,0,0,0,115,0,101,0,116,0,49,0,51,0,48,0,0,0,115,0,101,0,116,0,49,0,51,0,49,0,0,0,115,0,101,0,116,0,49,0,51,0,50,0,0,0,115,0,101,0,116,0,49,0,51,0,51,0,0,0,115,0,101,0,116,0,49,0,51,0,52,0,0,0,115,0,101,0,116,0,49,0,51,0,53,0,0,0,115,0,101,0,116,0,49,0,51,0,54,0,0,0,115,0,101,0,116,0,49,0,51,0,55,0,0,0,115,0,101,0,116,0,49,0,51,0,56,0,0,0,115,0,101,0,116,0,49,0,51,0,57,0,0,0,115,0,101,0,116,0,49,0,52,0,48,0,0,0,115,0,101,0,116,0,49,0,52,0,49,0,0,0,115,0,101,0,116,0,49,0,52,0,50,0,0,0,115,0,101,0,116,0,49,0,52,0,51,0,0,0,115,0,101,0,116,0,49,0,52,0,52,0,0,0,115,0,101,0,116,0,49,0,52,0,53,0,0,0,115,0,101,0,116,0,49,0,52,0,54,0,0,0,115,0,101,0,116,0,49,0,52,0,55,0,0,0,115,0,101,0,116,0,49,0,52,0,56,0,0,0,115,0,101,0,116,0,49,0,52,0,57,0,0,0,115,0,101,0,116,0,49,0,53,0,48,0,0,0,115,0,101,0,116,0,49,0,53,0,49,0,0,0,115,0,101,0,116,0,49,0,53,0,50,0,0,0,115,0,101,0,116,0,49,0,53,0,51,0,0,0,115,0,101,0,116,0,49,0,53,0,52,0,0,0,115,0,101,0,116,0,49,0,53,0,53,0,0,0,115,0,101,0,116,0,49,0,53,0,54,0,0,0,115,0,101,0,116,0,49,0,53,0,55,0,0,0,115,0,101,0,116,0,49,0,53,0,56,0,0,0,115,0,101,0,116,0,49,0,53,0,57,0,0,0,115,0,101,0,116,0,49,0,54,0,48,0,0,0,115,0,101,0,116,0,49,0,54,0,49,0,0,0,115,0,101,0,116,0,49,0,54,0,50,0,0,0,115,0,101,0,116,0,49,0,54,0,51,0,0,0,85,0,40,0,43,0,46,0,49,0,52,0,55,0,58,0,61,0,64,0,68,0,72,0,75,0,78,0,81,0,84,0,87,0,90,0,69,1,93,0,99,0,102,0,105,0,108,0,111,0,115,0,118,0,121,0,125,0,128,0,131,0,134,0,69,0,142,0,145,0,148,0,151,0,154,0,157,0,160,0,163,0,167,0,170,0,173,0,176,0,179,0,182,0,186,0,189,0,192,0,195,0,198,0,201,0,204,0,207,0,210,0,213,0,216,0,219,0,222,0,225,0,228,0,231,0,234,0,237,0,240,0,245,0,248,0,251,0,254,0,1,1,4,1,7,1,122,0,10,1,13,1,16,1,19,1,22,1,25,1,28,1,31,1,34,1,38,1,42,1,45,1,16,0,44,2,32,2,8,2,18,1,196,0,42,1,232,0,196,0,92,2,54,1,104,2,36,0,31,0,98,2,132,1,11,0,220,0,226,0,186,1,80,2,150,1,180,1,252,1,0,1,214,0,26,0,102,1,38,2,90,1,96,1,36,1,192,1,144,1,240,1,202,0,238,0,210,1,74,2,110,2,14,2,56,2,174,1,216,1,20,2,244,0,234,1,72,1,78,1,24,1,168,1,86,2,108,1,246,1,222,1,1,0,114,1,21,0,1,0,1,0,120,1,66,1,208,0,250,0,6,0,6,1,126,1,60,1,48,1,138,1,30,1,41,0,62,2,156,1,162,1,228,1,2,2,12,1,84,1,26,2,50,2,116,2,204,1,198,1,68,2,84,0,40,0,43,0,46,0,49,0,52,0,55,0,58,0,61,0,64,0,68,0,72,0,75,0,78,0,81,0,84,0,87,0,90,0,69,1,93,0,99,0,102,0,105,0,108,0,111,0,115,0,118,0,121,0,125,0,128,0,131,0,69,0,142,0,145,0,148,0,151,0,154,0,157,0,160,0,163,0,167,0,170,0,173,0,176,0,179,0,182,0,186,0,189,0,192,0,195,0,198,0,201,0,204,0,207,0,210,0,213,0,216,0,219,0,222,0,225,0,228,0,231,0,234,0,237,0,240,0,245,0,248,0,251,0,254,0,1,1,4,1,7,1,122,0,10,1,13,1,16,1,19,1,22,1,25,1,28,1,31,1,34,1,38,1,42,1,45,1,134,2,91,4,28,4,221,3,32,3,218,2,246,2,200,2,218,2,119,4,11,3,133,4,158,2,152,2,126,4,74,3,128,2,188,2,194,2,249,3,98,4,81,3,0,4,56,4,232,2,182,2,146,2,123,3,35,4,116,3,239,2,7,4,88,3,42,4,170,2,206,2,200,3,95,3,140,4,228,3,70,4,179,3,207,3,235,3,212,2,21,4,60,3,67,3,39,3,172,3,105,4,130,3,49,4,112,4,190,0,137,3,140,2,190,0,190,0,144,3,25,3,176,2,225,2,122,2,46,3,151,3,18,3,4,3,102,3,253,2,164,2,77,4,158,3,165,3,14,4,214,3,53,3,109,3,242,3,63,4,147,4,193,3,186,3,84,4,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,160,0,70,0,2,0,77,1,84,1,130,0,160,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,106,0,70,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,70,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,154,0,2,0,77,1,84,1,178,0,46,0,2,0,77,1,84,1,124,0,178,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,70,0,142,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,64,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,76,0,118,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,124,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,124,0,52,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,76,0,94,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,2,0,77,1,84,1,112,0,88,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,76,0,94,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,58,0,142,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,94,0,130,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,100,0,136,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,136,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,124,0,46,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,124,0,1,0,127,1,46,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,172,0,130,0,2,0,77,1,84,1,52,0,172,0,2,0,77,1,84,1,88,0,52,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,88,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,166,0,100,0,2,0,77,1,84,1,46,0,166,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,166,0,100,0,2,0,77,1,84,1,46,0,166,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,154,0,88,0,2,0,77,1,84,1,70,0,154,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,88,0,52,0,2,0,77,1,84,1,76,0,88,0,2,0,77,1,84,1,160,0,58,0,2,0,77,1,84,1,46,0,160,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,178,0,46,0,2,0,77,1,84,1,88,0,178,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,70,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,124,0,46,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,124,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,160,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,160,0,58,0,2,0,77,1,84,1,58,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,154,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,154,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,148,0,58,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,94,0,118,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,124,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,52,0,118,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,136,0,142,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,112,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,172,0,106,0,2,0,77,1,84,1,52,0,172,0,2,0,77,1,84,1,106,0,64,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,88,0,130,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,46,0,142,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,76,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,2,0,77,1,84,1,184,0,70,0,2,0,77,1,84,1,46,0,184,0,2,0,77,1,84,1,70,0,88,0,2,0,77,1,84,1,118,0,106,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,88,0,130,0,2,0,77,1,84,1,76,0,88,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,82,0,46,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,100,0,70,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,160,0,70,0,2,0,77,1,84,1,130,0,160,0,2,0,77,1,84,1,70,0,112,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,70,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,70,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,154,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,124,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,124,0,52,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,76,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,70,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,2,0,77,1,84,1,112,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,76,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,142,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,142,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,178,0,46,0,2,0,77,1,84,1,124,0,178,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,124,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,148,0,70,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,70,0,142,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,94,0,130,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,100,0,136,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,136,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,172,0,130,0,2,0,77,1,84,1,52,0,172,0,2,0,77,1,84,1,88,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,88,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,154,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,154,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,154,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,148,0,58,0,2,0,77,1,84,1,46,0,148,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,58,0,70,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,166,0,100,0,2,0,77,1,84,1,46,0,166,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,166,0,100,0,2,0,77,1,84,1,46,0,166,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,154,0,88,0,2,0,77,1,84,1,70,0,154,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,94,0,118,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,124,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,124,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,52,0,118,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,172,0,106,0,2,0,77,1,84,1,52,0,172,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,64,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,46,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,88,0,130,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,46,0,142,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,88,0,52,0,2,0,77,1,84,1,76,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,160,0,58,0,2,0,77,1,84,1,46,0,160,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,178,0,46,0,2,0,77,1,84,1,88,0,178,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,70,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,70,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,160,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,160,0,58,0,2,0,77,1,84,1,58,0,112,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,52,0,118,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,142,0,64,0,2,0,77,1,84,1,136,0,142,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,52,0,94,0,2,0,77,1,84,1,112,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,136,0,112,0,2,0,77,1,84,1,58,0,136,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,70,0,2,0,77,1,84,1,70,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,94,0,46,0,2,0,77,1,84,1,88,0,94,0,1,0,127,1,64,0,2,0,77,1,84,1,184,0,70,0,2,0,77,1,84,1,46,0,184,0,2,0,77,1,84,1,70,0,88,0,1,0,127,1,46,0,2,0,77,1,84,1,118,0,106,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,88,0,130,0,2,0,77,1,84,1,76,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,1,0,127,1,46,0,2,0,77,1,84,1,82,0,46,0,2,0,77,1,84,1,46,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,100,0,70,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,70,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,1,0,127,1,46,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,46,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,76,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,130,0,46,0,2,0,77,1,84,1,52,0,130,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,46,0,100,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,52,0,118,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,1,0,127,1,64,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,106,0,58,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,106,0,100,0,2,0,77,1,84,1,46,0,106,0,2,0,77,1,84,1,100,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,88,0,46,0,2,0,77,1,84,1,82,0,88,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,76,0,118,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,124,0,46,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,124,0,2,0,77,1,84,1,124,0,46,0,2,0,77,1,84,1,46,0,64,0,2,0,77,1,84,1,82,0,124,0,2,0,77,1,84,1,118,0,46,0,2,0,77,1,84,1,88,0,118,0,2,0,77,1,84,1,76,0,88,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,82,0,76,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,82,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,64,0,2,0,77,1,84,1,52,0,46,0,2,0,77,1,84,1,112,0,52,0,2,0,77,1,84,1,46,0,58,0,2,0,77,1,84,1,58,0,112,0,2,0,43,0,89,1,170,170,238,5,0,80,243,5,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,248,5,0,80,253,5,0,80,2,6,0,80,5,6,0,80,10,6,0,80,15,6,0,80,4,0,98,1,109,1,130,1,139,1,170,170,18,6,0,80,23,6,0,80,28,6,0,80,33,6,0,80,4,0,98,1,109,1,130,1,139,1,170,170,38,6,0,80,43,6,0,80,48,6,0,80,53,6,0,80,4,0,98,1,109,1,130,1,139,1,170,170,58,6,0,80,63,6,0,80,68,6,0,80,73,6,0,80,4,0,98,1,109,1,130,1,139,1,170,170,78,6,0,80,83,6,0,80,88,6,0,80,93,6,0,80,4,0,98,1,109,1,130,1,139,1,170,170,98,6,0,80,103,6,0,80,108,6,0,80,113,6,0,80,5,0,98,1,109,1,130,1,193,1,139,1,118,6,0,80,123,6,0,80,128,6,0,80,133,6,0,80,138,6,0,80,5,0,98,1,109,1,130,1,193,1,139,1,143,6,0,80,148,6,0,80,153,6,0,80,158,6,0,80,163,6,0,80,5,0,98,1,109,1,130,1,193,1,139,1,168,6,0,80,173,6,0,80,178,6,0,80,183,6,0,80,188,6,0,80,5,0,98,1,109,1,130,1,193,1,139,1,193,6,0,80,198,6,0,80,203,6,0,80,208,6,0,80,213,6,0,80,5,0,98,1,109,1,130,1,193,1,139,1,218,6,0,80,223,6,0,80,228,6,0,80,233,6,0,80,238,6,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,243,6,0,80,248,6,0,80,253,6,0,80,0,7,0,80,5,7,0,80,10,7,0,80,5,0,98,1,109,1,130,1,193,1,139,1,13,7,0,80,18,7,0,80,23,7,0,80,28,7,0,80,33,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,38,7,0,80,43,7,0,80,48,7,0,80,53,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,58,7,0,80,63,7,0,80,68,7,0,80,73,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,78,7,0,80,83,7,0,80,88,7,0,80,93,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,98,7,0,80,103,7,0,80,108,7,0,80,113,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,118,7,0,80,123,7,0,80,128,7,0,80,133,7,0,80,6,0,98,1,29,2,130,1,193,1,139,1,40,2,170,170,138,7,0,80,143,7,0,80,148,7,0,80,153,7,0,80,158,7,0,80,163,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,168,7,0,80,173,7,0,80,178,7,0,80,183,7,0,80,4,0,98,1,109,1,130,1,139,1,170,170,188,7,0,80,193,7,0,80,198,7,0,80,203,7,0,80,5,0,98,1,109,1,130,1,193,1,139,1,208,7,0,80,213,7,0,80,218,7,0,80,223,7,0,80,228,7,0,80,6,0,98,1,109,1,118,1,130,1,193,1,139,1,170,170,233,7,0,80,238,7,0,80,243,7,0,80,246,7,0,80,251,7,0,80,0,8,0,80,5,0,98,1,29,2,109,1,130,1,139,1,5,8,0,80,10,8,0,80,15,8,0,80,20,8,0,80,25,8,0,80,4,0,98,1,109,1,130,1,139,1,170,170,30,8,0,80,35,8,0,80,40,8,0,80,45,8,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,50,8,0,80,55,8,0,80,60,8,0,80,65,8,0,80,70,8,0,80,75,8,0,80,4,0,98,1,109,1,130,1,139,1,170,170,80,8,0,80,85,8,0,80,90,8,0,80,95,8,0,80,5,0,98,1,109,1,130,1,193,1,139,1,100,8,0,80,105,8,0,80,110,8,0,80,115,8,0,80,120,8,0,80,5,0,98,1,29,2,109,1,130,1,139,1,125,8,0,80,130,8,0,80,135,8,0,80,140,8,0,80,145,8,0,80,4,0,98,1,109,1,130,1,139,1,170,170,150,8,0,80,155,8,0,80,160,8,0,80,165,8,0,80,6,0,98,1,109,1,130,1,193,1,139,1,40,2,170,170,170,8,0,80,175,8,0,80,180,8,0,80,185,8,0,80,190,8,0,80,195,8,0,80,7,0,98,1,29,2,109,1,137,2,130,1,193,1,139,1,200,8,0,80,205,8,0,80,210,8,0,80,215,8,0,80,220,8,0,80,225,8,0,80,230,8,0,80,4,0,98,1,109,1,130,1,139,1,170,170,235,8,0,80,240,8,0,80,245,8,0,80,250,8,0,80,5,0,109,1,130,1,193,1,139,1,146,1,255,8,0,80,4,9,0,80,9,9,0,80,14,9,0,80,19,9,0,80,7,0,98,1,29,2,109,1,137,2,130,1,193,1,139,1,22,9,0,80,27,9,0,80,32,9,0,80,37,9,0,80,42,9,0,80,47,9,0,80,52,9,0,80,4,0,98,1,109,1,130,1,139,1,170,170,57,9,0,80,62,9,0,80,67,9,0,80,72,9,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,77,9,0,80,82,9,0,80,87,9,0,80,92,9,0,80,97,9,0,80,102,9,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,107,9,0,80,112,9,0,80,117,9,0,80,122,9,0,80,127,9,0,80,132,9,0,80,5,0,98,1,109,1,130,1,139,1,40,2,137,9,0,80,142,9,0,80,147,9,0,80,152,9,0,80,157,9,0,80,5,0,98,1,109,1,130,1,193,1,139,1,162,9,0,80,167,9,0,80,172,9,0,80,177,9,0,80,182,9,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,187,9,0,80,192,9,0,80,197,9,0,80,202,9,0,80,207,9,0,80,212,9,0,80,6,0,98,1,109,1,130,1,193,1,139,1,40,2,170,170,217,9,0,80,222,9,0,80,227,9,0,80,232,9,0,80,237,9,0,80,242,9,0,80,4,0,98,1,109,1,130,1,139,1,170,170,247,9,0,80,252,9,0,80,1,10,0,80,6,10,0,80,4,0,98,1,109,1,130,1,139,1,170,170,11,10,0,80,16,10,0,80,21,10,0,80,26,10,0,80,4,0,109,1,193,1,139,1,146,1,170,170,31,10,0,80,36,10,0,80,41,10,0,80,46,10,0,80,4,0,98,1,109,1,130,1,139,1,170,170,49,10,0,80,54,10,0,80,59,10,0,80,64,10,0,80,4,0,98,1,109,1,130,1,139,1,170,170,69,10,0,80,74,10,0,80,79,10,0,80,84,10,0,80,5,0,98,1,109,1,130,1,193,1,139,1,89,10,0,80,94,10,0,80,99,10,0,80,104,10,0,80,109,10,0,80,6,0,98,1,109,1,130,1,193,1,139,1,40,2,170,170,114,10,0,80,119,10,0,80,124,10,0,80,129,10,0,80,134,10,0,80,139,10,0,80,6,0,98,1,29,2,109,1,137,2,130,1,139,1,170,170,144,10,0,80,149,10,0,80,154,10,0,80,159,10,0,80,164,10,0,80,169,10,0,80,4,0,98,1,109,1,130,1,139,1,170,170,174,10,0,80,179,10,0,80,184,10,0,80,189,10,0,80,7,0,98,1,29,2,109,1,130,1,193,1,139,1,40,2,194,10,0,80,199,10,0,80,204,10,0,80,209,10,0,80,214,10,0,80,219,10,0,80,224,10,0,80,6,0,98,1,29,2,109,1,130,1,139,1,40,2,170,170,229,10,0,80,234,10,0,80,239,10,0,80,244,10,0,80,249,10,0,80,254,10,0,80,4,0,98,1,109,1,130,1,139,1,170,170,3,11,0,80,8,11,0,80,13,11,0,80,18,11,0,80,5,0,98,1,109,1,130,1,193,1,139,1,23,11,0,80,28,11,0,80,33,11,0,80,38,11,0,80,43,11,0,80,7,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,48,11,0,80,53,11,0,80,58,11,0,80,63,11,0,80,66,11,0,80,71,11,0,80,76,11,0,80,5,0,98,1,109,1,130,1,193,1,139,1,81,11,0,80,86,11,0,80,91,11,0,80,96,11,0,80,101,11,0,80,4,0,98,1,109,1,130,1,139,1,170,170,106,11,0,80,111,11,0,80,116,11,0,80,121,11,0,80,4,0,98,1,109,1,130,1,139,1,170,170,126,11,0,80,131,11,0,80,136,11,0,80,141,11,0,80,5,0,98,1,109,1,130,1,193,1,139,1,146,11,0,80,151,11,0,80,156,11,0,80,161,11,0,80,166,11,0,80,5,0,98,1,109,1,130,1,193,1,139,1,171,11,0,80,176,11,0,80,181,11,0,80,186,11,0,80,191,11,0,80,4,0,98,1,109,1,130,1,139,1,170,170,196,11,0,80,201,11,0,80,206,11,0,80,211,11,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,216,11,0,80,221,11,0,80,226,11,0,80,231,11,0,80,236,11,0,80,241,11,0,80,4,0,98,1,109,1,130,1,139,1,170,170,246,11,0,80,251,11,0,80,0,12,0,80,5,12,0,80,4,0,98,1,109,1,130,1,139,1,170,170,10,12,0,80,15,12,0,80,20,12,0,80,25,12,0,80,2,0,98,1,130,1,170,170,30,12,0,80,35,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,40,12,0,80,45,12,0,80,50,12,0,80,53,12,0,80,58,12,0,80,63,12,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,66,12,0,80,71,12,0,80,76,12,0,80,81,12,0,80,86,12,0,80,91,12,0,80,3,0,98,1,109,1,130,1,96,12,0,80,101,12,0,80,106,12,0,80,4,0,98,1,109,1,130,1,139,1,170,170,111,12,0,80,116,12,0,80,121,12,0,80,126,12,0,80,4,0,98,1,109,1,130,1,139,1,170,170,131,12,0,80,136,12,0,80,141,12,0,80,146,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,151,12,0,80,156,12,0,80,161,12,0,80,164,12,0,80,169,12,0,80,174,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,177,12,0,80,182,12,0,80,187,12,0,80,190,12,0,80,195,12,0,80,200,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,203,12,0,80,208,12,0,80,213,12,0,80,216,12,0,80,221,12,0,80,226,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,229,12,0,80,234,12,0,80,239,12,0,80,242,12,0,80,247,12,0,80,252,12,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,255,12,0,80,4,13,0,80,9,13,0,80,12,13,0,80,17,13,0,80,22,13,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,25,13,0,80,30,13,0,80,35,13,0,80,38,13,0,80,43,13,0,80,48,13,0,80,6,0,98,1,109,1,118,1,130,1,193,1,139,1,170,170,51,13,0,80,56,13,0,80,61,13,0,80,64,13,0,80,69,13,0,80,74,13,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,79,13,0,80,84,13,0,80,89,13,0,80,92,13,0,80,97,13,0,80,102,13,0,80,107,13,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,110,13,0,80,115,13,0,80,120,13,0,80,123,13,0,80,128,13,0,80,133,13,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,136,13,0,80,141,13,0,80,146,13,0,80,149,13,0,80,154,13,0,80,159,13,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,162,13,0,80,167,13,0,80,172,13,0,80,175,13,0,80,180,13,0,80,185,13,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,188,13,0,80,193,13,0,80,198,13,0,80,201,13,0,80,206,13,0,80,211,13,0,80,216,13,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,219,13,0,80,224,13,0,80,229,13,0,80,232,13,0,80,237,13,0,80,242,13,0,80,247,13,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,250,13,0,80,255,13,0,80,4,14,0,80,7,14,0,80,12,14,0,80,17,14,0,80,22,14,0,80,5,0,98,1,109,1,118,1,130,1,139,1,25,14,0,80,30,14,0,80,35,14,0,80,38,14,0,80,43,14,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,48,14,0,80,53,14,0,80,58,14,0,80,61,14,0,80,66,14,0,80,71,14,0,80,76,14,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,79,14,0,80,84,14,0,80,89,14,0,80,92,14,0,80,97,14,0,80,102,14,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,105,14,0,80,110,14,0,80,115,14,0,80,118,14,0,80,123,14,0,80,128,14,0,80,6,0,98,1,29,2,109,1,118,1,130,1,139,1,170,170,131,14,0,80,136,14,0,80,141,14,0,80,146,14,0,80,149,14,0,80,154,14,0,80,5,0,98,1,109,1,118,1,130,1,139,1,159,14,0,80,164,14,0,80,169,14,0,80,172,14,0,80,177,14,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,182,14,0,80,187,14,0,80,192,14,0,80,195,14,0,80,200,14,0,80,205,14,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,208,14,0,80,213,14,0,80,218,14,0,80,223,14,0,80,228,14,0,80,233,14,0,80,5,0,98,1,109,1,118,1,130,1,139,1,238,14,0,80,243,14,0,80,248,14,0,80,251,14,0,80,0,15,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,5,15,0,80,10,15,0,80,15,15,0,80,18,15,0,80,23,15,0,80,28,15,0,80,33,15,0,80,7,0,98,1,29,2,109,1,118,1,130,1,139,1,146,1,36,15,0,80,41,15,0,80,46,15,0,80,51,15,0,80,54,15,0,80,59,15,0,80,64,15,0,80,5,0,98,1,109,1,118,1,130,1,139,1,67,15,0,80,72,15,0,80,77,15,0,80,80,15,0,80,85,15,0,80,5,0,98,1,109,1,118,1,130,1,139,1,90,15,0,80,95,15,0,80,100,15,0,80,103,15,0,80,108,15,0,80,8,0,98,1,109,1,118,1,130,1,193,1,139,1,40,2,146,1,170,170,113,15,0,80,118,15,0,80,123,15,0,80,126,15,0,80,131,15,0,80,136,15,0,80,141,15,0,80,146,15,0,80,4,0,98,1,109,1,130,1,139,1,170,170,149,15,0,80,154,15,0,80,159,15,0,80,164,15,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,169,15,0,80,174,15,0,80,179,15,0,80,182,15,0,80,187,15,0,80,192,15,0,80,197,15,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,200,15,0,80,205,15,0,80,210,15,0,80,213,15,0,80,218,15,0,80,223,15,0,80,6,0,98,1,29,2,130,1,193,1,139,1,40,2,170,170,226,15,0,80,231,15,0,80,236,15,0,80,241,15,0,80,246,15,0,80,251,15,0,80,9,0,98,1,29,2,109,1,137,2,118,1,130,1,193,1,139,1,146,1,0,16,0,80,5,16,0,80,10,16,0,80,15,16,0,80,20,16,0,80,23,16,0,80,28,16,0,80,33,16,0,80,38,16,0,80,5,0,98,1,109,1,118,1,130,1,139,1,41,16,0,80,46,16,0,80,51,16,0,80,54,16,0,80,59,16,0,80,9,0,98,1,29,2,109,1,137,2,118,1,130,1,193,1,139,1,146,1,64,16,0,80,69,16,0,80,74,16,0,80,79,16,0,80,84,16,0,80,87,16,0,80,92,16,0,80,97,16,0,80,102,16,0,80,5,0,98,1,109,1,118,1,130,1,139,1,105,16,0,80,110,16,0,80,115,16,0,80,118,16,0,80,123,16,0,80,6,0,98,1,29,2,109,1,118,1,130,1,139,1,170,170,128,16,0,80,133,16,0,80,138,16,0,80,143,16,0,80,146,16,0,80,151,16,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,156,16,0,80,161,16,0,80,166,16,0,80,169,16,0,80,174,16,0,80,179,16,0,80,184,16,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,187,16,0,80,192,16,0,80,197,16,0,80,200,16,0,80,205,16,0,80,210,16,0,80,8,0,98,1,109,1,118,1,130,1,193,1,139,1,40,2,146,1,170,170,213,16,0,80,218,16,0,80,223,16,0,80,226,16,0,80,231,16,0,80,236,16,0,80,241,16,0,80,246,16,0,80,7,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,249,16,0,80,254,16,0,80,3,17,0,80,8,17,0,80,11,17,0,80,16,17,0,80,21,17,0,80,7,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,26,17,0,80,31,17,0,80,36,17,0,80,41,17,0,80,44,17,0,80,49,17,0,80,54,17,0,80,7,0,98,1,109,1,118,1,130,1,139,1,40,2,146,1,59,17,0,80,64,17,0,80,69,17,0,80,72,17,0,80,77,17,0,80,82,17,0,80,87,17,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,90,17,0,80,95,17,0,80,100,17,0,80,103,17,0,80,108,17,0,80,113,17,0,80,118,17,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,121,17,0,80,126,17,0,80,131,17,0,80,134,17,0,80,139,17,0,80,144,17,0,80,8,0,98,1,29,2,109,1,137,2,118,1,130,1,139,1,146,1,170,170,147,17,0,80,152,17,0,80,157,17,0,80,162,17,0,80,167,17,0,80,170,17,0,80,175,17,0,80,180,17,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,183,17,0,80,188,17,0,80,193,17,0,80,196,17,0,80,201,17,0,80,206,17,0,80,7,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,209,17,0,80,214,17,0,80,219,17,0,80,224,17,0,80,227,17,0,80,232,17,0,80,237,17,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,242,17,0,80,247,17,0,80,252,17,0,80,255,17,0,80,4,18,0,80,9,18,0,80,5,0,98,1,109,1,130,1,193,1,139,1,12,18,0,80,17,18,0,80,22,18,0,80,27,18,0,80,32,18,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,37,18,0,80,42,18,0,80,47,18,0,80,50,18,0,80,55,18,0,80,60,18,0,80,65,18,0,80,8,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,146,1,170,170,68,18,0,80,73,18,0,80,78,18,0,80,83,18,0,80,86,18,0,80,91,18,0,80,96,18,0,80,101,18,0,80,8,0,98,1,109,1,118,1,130,1,193,1,139,1,40,2,146,1,170,170,104,18,0,80,109,18,0,80,114,18,0,80,117,18,0,80,122,18,0,80,127,18,0,80,132,18,0,80,137,18,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,140,18,0,80,145,18,0,80,150,18,0,80,153,18,0,80,158,18,0,80,163,18,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,166,18,0,80,171,18,0,80,176,18,0,80,179,18,0,80,184,18,0,80,189,18,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,192,18,0,80,197,18,0,80,202,18,0,80,205,18,0,80,210,18,0,80,215,18,0,80,7,0,98,1,29,2,109,1,130,1,193,1,139,1,40,2,218,18,0,80,223,18,0,80,228,18,0,80,233,18,0,80,238,18,0,80,243,18,0,80,248,18,0,80,7,0,98,1,29,2,109,1,118,1,130,1,139,1,40,2,253,18,0,80,2,19,0,80,7,19,0,80,12,19,0,80,15,19,0,80,20,19,0,80,25,19,0,80,6,0,98,1,109,1,118,1,130,1,193,1,139,1,170,170,30,19,0,80,35,19,0,80,40,19,0,80,43,19,0,80,48,19,0,80,53,19,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,58,19,0,80,63,19,0,80,68,19,0,80,71,19,0,80,76,19,0,80,81,19,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,84,19,0,80,89,19,0,80,94,19,0,80,97,19,0,80,102,19,0,80,107,19,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,110,19,0,80,115,19,0,80,120,19,0,80,123,19,0,80,128,19,0,80,133,19,0,80,7,0,98,1,109,1,118,1,130,1,193,1,139,1,146,1,136,19,0,80,141,19,0,80,146,19,0,80,149,19,0,80,154,19,0,80,159,19,0,80,164,19,0,80,5,0,98,1,109,1,130,1,193,1,139,1,167,19,0,80,172,19,0,80,177,19,0,80,182,19,0,80,187,19,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,192,19,0,80,197,19,0,80,202,19,0,80,205,19,0,80,210,19,0,80,215,19,0,80,7,0,98,1,29,2,109,1,118,1,130,1,193,1,139,1,218,19,0,80,223,19,0,80,228,19,0,80,233,19,0,80,236,19,0,80,241,19,0,80,246,19,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,251,19,0,80,0,20,0,80,5,20,0,80,8,20,0,80,13,20,0,80,18,20,0,80,3,0,98,1,130,1,146,1,21,20,0,80,26,20,0,80,31,20,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,34,20,0,80,39,20,0,80,44,20,0,80,49,20,0,80,54,20,0,80,59,20,0,80,6,0,98,1,109,1,118,1,130,1,193,1,139,1,170,170,64,20,0,80,69,20,0,80,74,20,0,80,77,20,0,80,82,20,0,80,87,20,0,80,5,0,98,1,109,1,118,1,130,1,146,1,92,20,0,80,97,20,0,80,102,20,0,80,105,20,0,80,110,20,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,113,20,0,80,118,20,0,80,123,20,0,80,126,20,0,80,131,20,0,80,136,20,0,80,6,0,98,1,109,1,118,1,130,1,139,1,146,1,170,170,139,20,0,80,144,20,0,80,149,20,0,80,152,20,0,80,157,20,0,80,162,20,0,80,2,0,43,0,89,1,170,170,165,20,0,80,170,20,0,80,4,0,98,1,109,1,130,1,139,1,170,170,175,20,0,80,180,20,0,80,185,20,0,80,190,20,0,80,4,0,98,1,109,1,130,1,139,1,170,170,195,20,0,80,200,20,0,80,205,20,0,80,210,20,0,80,4,0,98,1,109,1,130,1,139,1,170,170,215,20,0,80,220,20,0,80,225,20,0,80,230,20,0,80,6,0,98,1,29,2,109,1,118,1,130,1,139,1,170,170,235,20,0,80,240,20,0,80,245,20,0,80,250,20,0,80,253,20,0,80,2,21,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,7,21,0,80,12,21,0,80,17,21,0,80,22,21,0,80,27,21,0,80,32,21,0,80,5,0,98,1,109,1,130,1,193,1,139,1,37,21,0,80,42,21,0,80,47,21,0,80,52,21,0,80,57,21,0,80,6,0,98,1,109,1,118,1,130,1,193,1,139,1,170,170,62,21,0,80,67,21,0,80,72,21,0,80,75,21,0,80,80,21,0,80,85,21,0,80,5,0,98,1,109,1,130,1,193,1,139,1,90,21,0,80,95,21,0,80,100,21,0,80,105,21,0,80,110,21,0,80,5,0,98,1,109,1,130,1,193,1,139,1,115,21,0,80,120,21,0,80,125,21,0,80,130,21,0,80,135,21,0,80,4,0,98,1,109,1,130,1,139,1,170,170,140,21,0,80,145,21,0,80,150,21,0,80,155,21,0,80,4,0,98,1,109,1,130,1,139,1,170,170,160,21,0,80,165,21,0,80,170,21,0,80,175,21,0,80,5,0,98,1,109,1,130,1,193,1,139,1,180,21,0,80,185,21,0,80,190,21,0,80,195,21,0,80,200,21,0,80,4,0,109,1,130,1,193,1,139,1,170,170,205,21,0,80,210,21,0,80,215,21,0,80,220,21,0,80,3,0,109,1,193,1,139,1,225,21,0,80,230,21,0,80,235,21,0,80,6,0,98,1,29,2,109,1,130,1,193,1,139,1,170,170,240,21,0,80,245,21,0,80,250,21,0,80,255,21,0,80,4,22,0,80,9,22,0,80,4,0,98,1,109,1,130,1,139,1,170,170,14,22,0,80,19,22,0,80,24,22,0,80,29,22,0,80,4,0,98,1,109,1,130,1,139,1,170,170,34,22,0,80,39,22,0,80,44,22,0,80,49,22,0,80,163,0,72,1,92,1,151,1,158,1,165,1,172,1,179,1,186,1,202,1,209,1,216,1,223,1,230,1,236,1,243,1,250,1,1,2,8,2,15,2,22,2,47,2,54,2,61,2,68,2,74,2,81,2,88,2,95,2,102,2,109,2,116,2,123,2,130,2,146,2,153,2,159,2,166,2,173,2,180,2,187,2,194,2,201,2,208,2,215,2,222,2,229,2,235,2,242,2,249,2,0,3,7,3,14,3,21,3,28,3,35,3,42,3,49,3,55,3,62,3,69,3,76,3,83,3,90,3,97,3,104,3,111,3,118,3,125,3,131,3,138,3,145,3,152,3,159,3,165,3,171,3,177,3,182,3,188,3,194,3,200,3,206,3,212,3,218,3,224,3,230,3,236,3,242,3,247,3,253,3,3,4,9,4,15,4,21,4,27,4,33,4,39,4,45,4,51,4,56,4,62,4,68,4,74,4,80,4,86,4,92,4,98,4,104,4,110,4,116,4,121,4,127,4,133,4,139,4,145,4,151,4,157,4,163,4,169,4,175,4,181,4,186,4,192,4,198,4,204,4,210,4,216,4,222,4,228,4,234,4,240,4,246,4,251,4,1,5,7,5,13,5,19,5,25,5,31,5,37,5,43,5,49,5,55,5,60,5,66,5,72,5,78,5,84,5,90,5,96,5,102,5,108,5,114,5,120,5,125,5,131,5,137,5,143,5,149,5,155,5,161,5,167,5,173,5,179,5,138,12,0,32,142,12,0,32,152,12,0,32,159,12,0,32,166,12,0,32,173,12,0,32,180,12,0,32,187,12,0,32,195,12,0,32,203,12,0,32,211,12,0,32,219,12,0,32,227,12,0,32,237,12,0,32,245,12,0,32,252,12,0,32,3,13,0,32,10,13,0,32,17,13,0,32,24,13,0,32,34,13,0,32,41,13,0,32,48,13,0,32,56,13,0,32,66,13,0,32,74,13,0,32,81,13,0,32,91,13,0,32,98,13,0,32,106,13,0,32,114,13,0,32,121,13,0,32,131,13,0,32,142,13,0,32,149,13,0,32,157,13,0,32,168,13,0,32,175,13,0,32,185,13,0,32,195,13,0,32,203,13,0,32,211,13,0,32,221,13,0,32,231,13,0,32,238,13,0,32,245,13,0,32,252,13,0,32,3,14,0,32,10,14,0,32,18,14,0,32,28,14,0,32,38,14,0,32,45,14,0,32,56,14,0,32,66,14,0,32,73,14,0,32,81,14,0,32,92,14,0,32,100,14,0,32,107,14,0,32,114,14,0,32,122,14,0,32,130,14,0,32,137,14,0,32,147,14,0,32,154,14,0,32,161,14,0,32,165,14,0,32,175,14,0,32,185,14,0,32,190,14,0,32,197,14,0,32,204,14,0,32,214,14,0,32,224,14,0,32,234,14,0,32,244,14,0,32,254,14,0,32,8,15,0,32,18,15,0,32,29,15,0,32,39,15,0,32,49,15,0,32,59,15,0,32,70,15,0,32,81,15,0,32,92,15,0,32,100,15,0,32,111,15,0,32,121,15,0,32,131,15,0,32,141,15,0,32,149,15,0,32,159,15,0,32,169,15,0,32,177,15,0,32,188,15,0,32,199,15,0,32,207,15,0,32,215,15,0,32,228,15,0,32,235,15,0,32,246,15,0,32,0,16,0,32,10,16,0,32,24,16,0,32,32,16,0,32,46,16,0,32,54,16,0,32,64,16,0,32,75,16,0,32,85,16,0,32,98,16,0,32,109,16,0,32,120,16,0,32,131,16,0,32,142,16,0,32,152,16,0,32,165,16,0,32,175,16,0,32,186,16,0,32,196,16,0,32,204,16,0,32,215,16,0,32,228,16,0,32,241,16,0,32,251,16,0,32,5,17,0,32,15,17,0,32,26,17,0,32,37,17,0,32,47,17,0,32,57,17,0,32,67,17,0,32,77,17,0,32,88,17,0,32,96,17,0,32,106,17,0,32,117,17,0,32,127,17,0,32,132,17,0,32,142,17,0,32,152,17,0,32,160,17,0,32,170,17,0,32,180,17,0,32,184,17,0,32,191,17,0,32,198,17,0,32,205,17,0,32,215,17,0,32,225,17,0,32,233,17,0,32,243,17,0,32,251,17,0,32,3,18,0,32,10,18,0,32,17,18,0,32,25,18,0,32,32,18,0,32,37,18,0,32,47,18,0,32,54,18,0,32,3,0,32,0,48,1,66,1,154,4,0,80,69,5,0,80,61,18,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,126,0,0,32,7,0,0,0,54,0,0,0,128,0,0,0,128,0,0,0,55,0,0,0,1,0,0,0,126,0,0,0,103,101,110,100,101,114,76,105,115,116,0,97,102,0,97,114,0,98,103,0,98,110,0,99,97,0,99,115,0,100,97,0,100,101,0,101,108,0,101,110,0,101,115,0,101,116,0,101,117,0,102,97,0,102,105,0,102,105,108,0,102,114,0,103,117,0,104,101,0,104,105,0,104,114,0,104,117,0,105,100,0,105,115,0,105,116,0,106,97,0,107,110,0,107,111,0,108,105,106,0,108,116,0,108,118,0,109,108,0,109,114,0,109,115,0,110,108,0,110,111,0,112,108,0,112,116,0,114,111,0,114,117,0,115,107,0,115,108,0,115,114,0,115,118,0,115,119,0,116,97,0,116,101,0,116,104,0,116,114,0,117,107,0,117,114,0,118,105,0,122,104,0,122,104,95,72,97,110,116,0,122,117,0,170,0,0,110,0,101,0,117,0,116,0,114,0,97,0,108,0,0,0,109,0,97,0,108,0,101,0,84,0,97,0,105,0,110,0,116,0,115,0,0,0,109,0,105,0,120,0,101,0,100,0,78,0,101,0,117,0,116,0,114,0,97,0,108,0,0,0,55,0,43,0,46,0,49,0,52,0,55,0,58,0,61,0,64,0,67,0,70,0,73,0,76,0,79,0,82,0,85,0,88,0,92,0,95,0,98,0,101,0,104,0,107,0,110,0,113,0,116,0,119,0,122,0,125,0,128,0,132,0,135,0,138,0,141,0,144,0,147,0,150,0,153,0,156,0,159,0,162,0,165,0,168,0,171,0,174,0,177,0,180,0,183,0,186,0,189,0,192,0,195,0,198,0,201,0,204,0,212,0,1,0,9,0,1,0,1,0,9,0,9,0,1,0,1,0,20,0,1,0,9,0,1,0,1,0,1,0,1,0,1,0,9,0,1,0,9,0,9,0,9,0,1,0,1,0,20,0,9,0,1,0,1,0,1,0,9,0,9,0,9,0,1,0,9,0,1,0,9,0,1,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,1,0,1,0,1,0,1,0,1,0,1,0,9,0,9,0,1,0,9,0,9,0,1,0,1,0,32,0,33,0,0,80,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,215,4,0,32,7,0,0,0,77,0,0,0,217,4,0,0,217,4,0,0,49,0,0,0,1,0,0,0,66,2,0,0,103,114,97,109,109,97,116,105,99,97,108,68,97,116,97,0,100,101,114,105,118,97,116,105,111,110,115,0,100,101,0,99,111,109,112,111,110,101,110,116,0,99,97,115,101,0,112,101,114,0,112,111,119,101,114,0,112,114,101,102,105,120,0,116,105,109,101,115,0,112,108,117,114,97,108,0,99,111,109,112,111,117,110,100,0,103,101,110,100,101,114,0,102,114,0,114,111,111,116,0,102,101,97,116,117,114,101,115,0,97,109,0,110,111,109,105,110,97,108,0,95,0,100,101,102,105,110,105,116,101,110,101,115,115,0,97,114,0,117,110,105,116,115,0,97,122,0,98,110,0,99,97,0,99,115,0,100,97,0,101,108,0,102,97,0,102,105,0,103,117,0,104,101,0,104,105,0,104,114,0,104,117,0,104,121,0,105,100,0,105,115,0,105,116,0,107,107,0,107,110,0,107,121,0,108,116,0,108,118,0,109,108,0,109,114,0,110,98,0,110,108,0,110,110,0,110,111,0,112,97,0,112,108,0,112,116,0,114,111,0,114,117,0,115,105,0,115,107,0,115,108,0,115,114,0,115,118,0,116,101,0,116,114,0,117,107,0,117,114,0,117,122,0,170,170,170,0,0,48,0,0,0,49,0,0,0,111,0,110,0,101,0,0,0,100,0,97,0,116,0,105,0,118,0,101,0,0,0,110,0,101,0,117,0,116,0,101,0,114,0,0,0,99,0,111,0,109,0,109,0,111,0,110,0,0,0,99,0,97,0,117,0,115,0,97,0,108,0,0,0,111,0,98,0,108,0,105,0,113,0,117,0,101,0,0,0,103,0,101,0,110,0,105,0,116,0,105,0,118,0,101,0,0,0,102,0,101,0,109,0,105,0,110,0,105,0,110,0,101,0,0,0,108,0,111,0,99,0,97,0,116,0,105,0,118,0,101,0,0,0,99,0,111,0,109,0,112,0,111,0,117,0,110,0,100,0,0,0,118,0,111,0,99,0,97,0,116,0,105,0,118,0,101,0,0,0,97,0,98,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,100,0,101,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,105,0,108,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,97,0,100,0,101,0,115,0,115,0,105,0,118,0,101,0,0,0,97,0,108,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,105,0,110,0,101,0,115,0,115,0,105,0,118,0,101,0,0,0,97,0,98,0,101,0,115,0,115,0,105,0,118,0,101,0,0,0,101,0,114,0,103,0,97,0,116,0,105,0,118,0,101,0,0,0,112,0,101,0,114,0,115,0,111,0,110,0,97,0,108,0,0,0,109,0,97,0,115,0,99,0,117,0,108,0,105,0,110,0,101,0,0,0,105,0,110,0,97,0,110,0,105,0,109,0,97,0,116,0,101,0,0,0,99,0,111,0,110,0,115,0,116,0,114,0,117,0,99,0,116,0,0,0,112,0,97,0,114,0,116,0,105,0,116,0,105,0,118,0,101,0,0,0,115,0,111,0,99,0,105,0,97,0,116,0,105,0,118,0,101,0,0,0,115,0,117,0,98,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,110,0,111,0,109,0,105,0,110,0,97,0,116,0,105,0,118,0,101,0,0,0,97,0,99,0,99,0,117,0,115,0,97,0,116,0,105,0,118,0,101,0,0,0,105,0,110,0,100,0,101,0,102,0,105,0,110,0,105,0,116,0,101,0,0,0,99,0,111,0,109,0,105,0,116,0,97,0,116,0,105,0,118,0,101,0,0,0,116,0,114,0,97,0,110,0,115,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,115,0,117,0,112,0,101,0,114,0,101,0,115,0,115,0,105,0,118,0,101,0,0,0,116,0,101,0,114,0,109,0,105,0,110,0,97,0,116,0,105,0,118,0,101,0,0,0,117,0,110,0,115,0,112,0,101,0,99,0,105,0,102,0,105,0,101,0,100,0,0,0,105,0,110,0,115,0,116,0,114,0,117,0,109,0,101,0,110,0,116,0,97,0,108,0,0,0,112,0,114,0,101,0,112,0,111,0,115,0,105,0,116,0,105,0,111,0,110,0,97,0,108,0,0,0,108,0,111,0,99,0,97,0,116,0,105,0,118,0,101,0,99,0,111,0,112,0,117,0,108,0,97,0,116,0,105,0,118,0,101,0,0,0,2,0,72,0,242,0,2,0,231,0,72,0,2,0,231,0,72,0,2,0,231,0,72,0,2,0,72,0,5,0,2,0,5,0,72,0,2,0,5,0,72,0,2,0,5,0,72,0,4,0,78,0,82,0,88,0,95,0,1,0,1,0,1,0,3,0,2,0,72,0,5,0,2,0,72,0,72,0,2,0,5,0,72,0,2,0,72,0,72,0,4,0,78,0,82,0,88,0,95,0,1,0,1,0,1,0,1,0,2,0,72,0,231,0,2,0,231,0,72,0,2,0,231,0,72,0,2,0,231,0,72,0,2,0,72,0,5,0,2,0,5,0,72,0,2,0,5,0,72,0,2,0,5,0,72,0,4,0,78,0,82,0,88,0,95,0,1,0,1,0,1,0,3,0,2,0,231,0,242,0,2,0,255,0,253,0,3,0,231,0,45,0,242,0,3,0,255,0,253,0,191,0,2,0,171,0,54,0,6,0,231,0,45,0,9,0,242,0,90,0,63,0,4,0,231,0,242,0,45,0,63,0,2,0,255,0,253,0,2,0,171,0,54,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,6,0,231,0,45,0,9,0,242,0,67,1,63,0,4,0,183,0,181,0,54,0,16,0,3,0,181,0,54,0,16,0,2,0,231,0,45,0,3,0,255,0,253,0,55,1,2,0,23,0,16,0,4,0,231,0,45,0,9,0,242,0,3,0,171,0,54,0,16,0,4,0,231,0,45,0,242,0,81,0,3,0,231,0,45,0,242,0,3,0,171,0,54,0,16,0,2,0,171,0,54,0,3,0,255,0,253,0,191,0,14,0,231,0,144,0,90,0,117,0,126,0,8,1,100,0,36,1,45,0,108,0,135,0,67,1,201,0,19,1,5,0,231,0,100,0,108,0,201,0,45,0,2,0,171,0,54,0,7,0,231,0,45,0,242,0,9,0,63,0,67,1,81,0,3,0,171,0,54,0,16,0,3,0,255,0,253,0,191,0,2,0,171,0,54,0,2,0,231,0,37,0,2,0,171,0,54,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,4,0,231,0,45,0,242,0,67,1,4,0,183,0,181,0,54,0,16,0,3,0,181,0,54,0,16,0,17,0,231,0,90,0,242,0,117,0,126,0,30,0,9,0,99,0,100,0,36,1,108,0,135,0,67,1,221,0,31,1,43,1,19,1,5,0,231,0,242,0,67,1,43,1,19,1,5,0,231,0,90,0,9,0,63,0,67,1,2,0,255,0,253,0,4,0,231,0,45,0,9,0,242,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,2,0,171,0,54,0,7,0,231,0,45,0,9,0,242,0,67,1,90,0,63,0,7,0,231,0,45,0,242,0,9,0,63,0,67,1,81,0,5,0,231,0,45,0,242,0,9,0,63,0,3,0,171,0,54,0,16,0,6,0,231,0,45,0,9,0,242,0,90,0,63,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,6,0,231,0,45,0,9,0,242,0,67,1,63,0,2,0,171,0,54,0,6,0,231,0,45,0,9,0,242,0,81,0,63,0,5,0,231,0,45,0,9,0,242,0,63,0,2,0,171,0,54,0,9,0,231,0,45,0,9,0,242,0,67,1,63,0,8,1,94,1,211,0,4,0,183,0,181,0,54,0,16,0,7,0,231,0,242,0,9,0,153,0,63,0,90,0,45,0,3,0,171,0,54,0,16,0,2,0,231,0,45,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,2,0,23,0,16,0,2,0,231,0,45,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,2,0,231,0,45,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,2,0,231,0,37,0,2,0,171,0,54,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,3,0,242,0,45,0,231,0,5,0,183,0,181,0,162,0,54,0,16,0,3,0,181,0,54,0,16,0,2,0,171,0,54,0,2,0,231,0,45,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,8,0,231,0,45,0,9,0,242,0,67,1,80,1,81,0,63,0,6,0,231,0,242,0,9,0,45,0,80,1,67,1,3,0,171,0,54,0,16,0,5,0,231,0,45,0,90,0,242,0,9,0,2,0,255,0,253,0,3,0,171,0,54,0,16,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,6,0,231,0,45,0,9,0,242,0,67,1,63,0,4,0,183,0,181,0,54,0,16,0,3,0,181,0,54,0,16,0,6,0,231,0,45,0,242,0,9,0,67,1,63,0,3,0,171,0,54,0,16,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,4,0,231,0,45,0,242,0,67,1,4,0,183,0,181,0,54,0,16,0,3,0,181,0,54,0,16,0,2,0,231,0,45,0,2,0,255,0,253,0,2,0,23,0,16,0,8,0,231,0,45,0,242,0,9,0,63,0,67,1,90,0,81,0,4,0,231,0,242,0,9,0,90,0,6,0,231,0,37,0,242,0,9,0,63,0,67,1,7,0,231,0,45,0,9,0,242,0,67,1,90,0,63,0,7,0,231,0,45,0,9,0,242,0,67,1,81,0,63,0,6,0,231,0,45,0,242,0,9,0,63,0,67,1,3,0,171,0,54,0,16,0,2,0,231,0,37,0,2,0,171,0,54,0,6,0,231,0,45,0,9,0,242,0,90,0,63,0,170,170,4,0,78,0,82,0,88,0,95,0,170,170,113,1,0,144,116,1,0,144,119,1,0,144,122,1,0,144,4,0,78,0,82,0,88,0,95,0,170,170,125,1,0,144,128,1,0,144,131,1,0,144,134,1,0,144,2,0,73,0,101,0,170,170,66,2,0,32,73,2,0,32,1,0,117,0,137,1,0,80,2,0,63,0,108,0,170,170,80,2,0,32,84,2,0,32,4,0,78,0,82,0,88,0,95,0,170,170,146,1,0,144,149,1,0,144,152,1,0,144,155,1,0,144,1,0,101,0,90,2,0,32,1,0,117,0,158,1,0,80,2,0,63,0,108,0,170,170,97,2,0,32,99,2,0,32,4,0,78,0,82,0,88,0,95,0,170,170,167,1,0,144,170,1,0,144,173,1,0,144,176,1,0,144,4,0,78,0,82,0,88,0,95,0,170,170,179,1,0,144,182,1,0,144,185,1,0,144,188,1,0,144,2,0,73,0,101,0,170,170,105,2,0,32,112,2,0,32,1,0,117,0,191,1,0,80,2,0,63,0,108,0,170,170,119,2,0,32,123,2,0,32,3,0,60,0,124,0,127,0,86,2,0,32,101,2,0,32,125,2,0,32,1,0,152,0,200,1,0,144,1,0,152,0,203,1,0,144,2,0,73,0,154,0,170,170,134,2,0,32,136,2,0,32,1,0,144,0,138,2,0,32,2,0,152,0,170,0,170,170,206,1,0,144,0,0,0,0,1,0,152,0,210,1,0,144,1,0,152,0,214,1,0,144,3,0,73,0,154,0,117,0,144,2,0,32,148,2,0,32,150,2,0,32,1,0,144,0,152,2,0,32,2,0,152,0,170,0,170,170,217,1,0,144,0,0,0,0,1,0,73,0,159,2,0,32,1,0,144,0,163,2,0,32,2,0,152,0,170,0,170,170,224,1,0,144,0,0,0,0,1,0,152,0,229,1,0,144,2,0,73,0,154,0,170,170,167,2,0,32,171,2,0,32,1,0,144,0,173,2,0,32,1,0,152,0,232,1,0,144,1,0,117,0,179,2,0,32,1,0,144,0,181,2,0,32,2,0,152,0,170,0,170,170,235,1,0,144,243,1,0,144,2,0,152,0,170,0,170,170,250,1,0,144,255,1,0,144,2,0,73,0,117,0,170,170,185,2,0,32,189,2,0,32,1,0,144,0,193,2,0,32,1,0,152,0,3,2,0,144,1,0,152,0,6,2,0,144,1,0,152,0,10,2,0,144,3,0,73,0,154,0,117,0,199,2,0,32,201,2,0,32,203,2,0,32,1,0,144,0,205,2,0,32,1,0,152,0,13,2,0,144,1,0,152,0,18,2,0,144,2,0,73,0,117,0,170,170,212,2,0,32,214,2,0,32,1,0,144,0,216,2,0,32,2,0,152,0,170,0,170,170,22,2,0,144,27,2,0,144,1,0,152,0,31,2,0,144,2,0,73,0,117,0,170,170,222,2,0,32,226,2,0,32,1,0,144,0,228,2,0,32,1,0,152,0,35,2,0,144,1,0,117,0,234,2,0,32,1,0,144,0,236,2,0,32,1,0,152,0,38,2,0,144,1,0,154,0,240,2,0,32,1,0,144,0,242,2,0,32,2,0,152,0,170,0,170,170,42,2,0,144,57,2,0,144,1,0,73,0,246,2,0,32,1,0,144,0,250,2,0,32,1,0,152,0,63,2,0,144,1,0,117,0,254,2,0,32,1,0,144,0,0,3,0,32,2,0,152,0,170,0,170,170,66,2,0,144,0,0,0,0,2,0,152,0,170,0,170,170,74,2,0,144,0,0,0,0,2,0,73,0,117,0,170,170,4,3,0,32,8,3,0,32,1,0,144,0,12,3,0,32,1,0,152,0,78,2,0,144,1,0,152,0,82,2,0,144,2,0,154,0,117,0,170,170,18,3,0,32,20,3,0,32,1,0,144,0,22,3,0,32,1,0,152,0,85,2,0,144,1,0,152,0,88,2,0,144,2,0,73,0,117,0,170,170,28,3,0,32,30,3,0,32,1,0,144,0,32,3,0,32,2,0,152,0,170,0,170,170,91,2,0,144,99,2,0,144,2,0,152,0,170,0,170,170,104,2,0,144,109,2,0,144,2,0,73,0,117,0,170,170,38,3,0,32,42,3,0,32,1,0,144,0,46,3,0,32,2,0,152,0,170,0,170,170,113,2,0,144,131,2,0,144,1,0,73,0,52,3,0,32,1,0,144,0,56,3,0,32,1,0,152,0,137,2,0,144,1,0,73,0,60,3,0,32,1,0,144,0,62,3,0,32,1,0,152,0,143,2,0,144,1,0,154,0,66,3,0,32,1,0,144,0,68,3,0,32,1,0,152,0,146,2,0,144,1,0,152,0,151,2,0,144,1,0,152,0,154,2,0,144,3,0,73,0,154,0,117,0,72,3,0,32,74,3,0,32,76,3,0,32,1,0,144,0,78,3,0,32,1,0,152,0,158,2,0,144,1,0,117,0,85,3,0,32,1,0,144,0,87,3,0,32,2,0,152,0,170,0,170,170,161,2,0,144,0,0,0,0,1,0,73,0,91,3,0,32,1,0,144,0,95,3,0,32,2,0,152,0,170,0,170,170,169,2,0,144,177,2,0,144,2,0,152,0,170,0,170,170,183,2,0,144,16,0,0,96,2,0,73,0,117,0,170,170,99,3,0,32,103,3,0,32,1,0,144,0,107,3,0,32,2,0,152,0,170,0,170,170,187,2,0,144,0,0,0,0,1,0,73,0,113,3,0,32,1,0,144,0,117,3,0,32,2,0,152,0,170,0,170,170,194,2,0,144,202,2,0,144,1,0,152,0,209,2,0,144,2,0,73,0,117,0,170,170,121,3,0,32,125,3,0,32,1,0,144,0,127,3,0,32,2,0,152,0,170,0,170,170,212,2,0,144,219,2,0,144,1,0,152,0,225,2,0,144,2,0,73,0,117,0,170,170,133,3,0,32,137,3,0,32,1,0,144,0,139,3,0,32,2,0,152,0,170,0,170,170,228,2,0,144,0,0,0,0,2,0,152,0,170,0,170,170,238,2,0,144,0,0,0,0,2,0,73,0,117,0,170,170,145,3,0,32,149,3,0,32,1,0,144,0,153,3,0,32,1,0,152,0,243,2,0,144,1,0,152,0,251,2,0,144,2,0,73,0,117,0,170,170,159,3,0,32,161,3,0,32,1,0,144,0,163,3,0,32,1,0,152,0,255,2,0,144,1,0,152,0,2,3,0,144,1,0,152,0,5,3,0,144,3,0,73,0,154,0,117,0,169,3,0,32,171,3,0,32,173,3,0,32,1,0,144,0,175,3,0,32,1,0,152,0,9,3,0,144,1,0,117,0,182,3,0,32,1,0,144,0,184,3,0,32,1,0,152,0,12,3,0,144,1,0,152,0,15,3,0,144,1,0,152,0,18,3,0,144,3,0,73,0,154,0,117,0,188,3,0,32,190,3,0,32,192,3,0,32,1,0,144,0,194,3,0,32,1,0,152,0,22,3,0,144,1,0,152,0,25,3,0,144,1,0,152,0,28,3,0,144,3,0,73,0,154,0,117,0,201,3,0,32,203,3,0,32,205,3,0,32,1,0,144,0,207,3,0,32,1,0,152,0,32,3,0,144,1,0,152,0,35,3,0,144,2,0,73,0,117,0,170,170,214,3,0,32,216,3,0,32,1,0,144,0,218,3,0,32,2,0,152,0,170,0,170,170,38,3,0,144,46,3,0,144,2,0,152,0,170,0,170,170,50,3,0,144,56,3,0,144,2,0,73,0,117,0,170,170,224,3,0,32,228,3,0,32,1,0,144,0,232,3,0,32,1,0,152,0,60,3,0,144,1,0,117,0,238,3,0,32,1,0,144,0,240,3,0,32,1,0,152,0,63,3,0,144,1,0,152,0,66,3,0,144,1,0,152,0,69,3,0,144,3,0,73,0,154,0,117,0,244,3,0,32,246,3,0,32,248,3,0,32,1,0,144,0,250,3,0,32,2,0,152,0,170,0,170,170,73,3,0,144,82,3,0,144,1,0,152,0,89,3,0,144,2,0,73,0,117,0,170,170,1,4,0,32,5,4,0,32,1,0,144,0,7,4,0,32,2,0,152,0,170,0,170,170,93,3,0,144,0,0,0,0,1,0,152,0,99,3,0,144,2,0,152,0,170,0,170,170,102,3,0,144,0,0,0,0,3,0,73,0,154,0,117,0,13,4,0,32,17,4,0,32,19,4,0,32,1,0,144,0,23,4,0,32,2,0,152,0,170,0,170,170,106,3,0,144,114,3,0,144,2,0,152,0,170,0,170,170,121,3,0,144,126,3,0,144,2,0,73,0,117,0,170,170,30,4,0,32,34,4,0,32,1,0,144,0,38,4,0,32,1,0,152,0,130,3,0,144,1,0,152,0,137,3,0,144,2,0,73,0,117,0,170,170,44,4,0,32,46,4,0,32,1,0,144,0,48,4,0,32,2,0,152,0,170,0,170,170,141,3,0,144,149,3,0,144,2,0,152,0,170,0,170,170,154,3,0,144,159,3,0,144,2,0,73,0,117,0,170,170,54,4,0,32,58,4,0,32,1,0,144,0,62,4,0,32,1,0,152,0,163,3,0,144,1,0,152,0,166,3,0,144,1,0,152,0,169,3,0,144,3,0,73,0,154,0,117,0,68,4,0,32,70,4,0,32,72,4,0,32,1,0,144,0,74,4,0,32,2,0,152,0,170,0,170,170,172,3,0,144,181,3,0,144,1,0,73,0,81,4,0,32,1,0,144,0,85,4,0,32,2,0,152,0,170,0,170,170,186,3,0,144,0,0,0,0,1,0,73,0,89,4,0,32,1,0,144,0,93,4,0,32,2,0,152,0,170,0,170,170,193,3,0,144,0,0,0,0,1,0,73,0,97,4,0,32,1,0,144,0,101,4,0,32,2,0,152,0,170,0,170,170,201,3,0,144,209,3,0,144,1,0,152,0,216,3,0,144,2,0,73,0,117,0,170,170,105,4,0,32,109,4,0,32,1,0,144,0,111,4,0,32,2,0,152,0,170,0,170,170,220,3,0,144,0,0,0,0,1,0,152,0,223,3,0,144,2,0,73,0,117,0,170,170,117,4,0,32,121,4,0,32,1,0,144,0,123,4,0,32,2,0,152,0,170,0,170,170,226,3,0,144,0,0,0,0,1,0,73,0,129,4,0,32,1,0,144,0,133,4,0,32,49,0,141,0,167,0,176,0,179,0,182,0,185,0,188,0,60,0,191,0,138,0,194,0,197,0,124,0,200,0,203,0,206,0,209,0,212,0,215,0,218,0,221,0,224,0,227,0,230,0,233,0,236,0,239,0,242,0,245,0,248,0,251,0,254,0,1,1,4,1,7,1,10,1,13,1,16,1,19,1,22,1,25,1,28,1,31,1,45,0,34,1,37,1,40,1,43,1,46,1,142,2,0,32,157,2,0,32,165,2,0,32,177,2,0,32,183,2,0,32,197,2,0,32,210,2,0,32,220,2,0,32,232,2,0,32,238,2,0,32,244,2,0,32,252,2,0,32,2,3,0,32,16,3,0,32,26,3,0,32,36,3,0,32,50,3,0,32,58,3,0,32,64,3,0,32,70,3,0,32,83,3,0,32,89,3,0,32,97,3,0,32,111,3,0,32,119,3,0,32,131,3,0,32,143,3,0,32,157,3,0,32,167,3,0,32,180,3,0,32,186,3,0,32,199,3,0,32,212,3,0,32,222,3,0,32,236,3,0,32,242,3,0,32,255,3,0,32,11,4,0,32,28,4,0,32,42,4,0,32,52,4,0,32,66,4,0,32,79,4,0,32,87,4,0,32,95,4,0,32,103,4,0,32,115,4,0,32,127,4,0,32,135,4,0,32,2,0,48,0,132,0,170,170,129,2,0,32,137,4,0,32,1,0,32,0,211,4,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,12,0,0,32,7,0,0,0,11,0,0,0,14,0,0,0,14,0,0,0,1,0,0,0,1,0,0,0,12,0,0,0,83,116,97,110,100,97,114,100,73,67,85,0,0,0,170,170,1,0,32,0,0,0,0,128,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,13,0,0,80,7,0,0,0,17,0,0,0,27,0,0,0,27,0,0,0,3,0,0,0,1,0,0,0,27,0,0,0,67,76,68,82,86,101,114,115,105,111,110,0,68,97,116,97,86,101,114,115,105,111,110,0,73,67,85,86,101,114,115,105,111,110,0,170,0,0,52,0,50,0,0,0,55,0,50,0,46,0,49,0,46,0,48,0,46,0,48,0,0,0,3,0,32,0,44,0,56,0,1,0,4,0,4,0,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,253,6,0,32,7,0,0,0,65,3,0,0,7,7,0,0,7,7,0,0,49,1,0,0,1,0,0,0,115,6,0,0,98,99,112,84,121,112,101,65,108,105,97,115,0,99,97,0,105,115,108,97,109,105,99,99,0,107,101,121,73,110,102,111,0,100,101,112,114,101,99,97,116,101,100,0,107,104,0,118,116,0,118,97,108,117,101,84,121,112,101,0,100,120,0,104,48,0,120,48,0,107,101,121,77,97,112,0,99,97,108,101,110,100,97,114,0,99,111,108,97,108,116,101,114,110,97,116,101,0,99,111,108,98,97,99,107,119,97,114,100,115,0,99,111,108,99,97,115,101,102,105,114,115,116,0,99,111,108,99,97,115,101,108,101,118,101,108,0,99,111,108,104,105,114,97,103,97,110,97,113,117,97,116,101,114,110,97,114,121,0,99,111,108,108,97,116,105,111,110,0,99,111,108,110,111,114,109,97,108,105,122,97,116,105,111,110,0,99,111,108,110,117,109,101,114,105,99,0,99,111,108,114,101,111,114,100,101,114,0,99,111,108,115,116,114,101,110,103,116,104,0,99,117,114,114,101,110,99,121,0,100,48,0,102,119,0,104,111,117,114,115,0,105,48,0,107,48,0,107,118,0,108,98,0,108,119,0,109,48,0,109,101,97,115,117,114,101,0,109,117,0,110,117,109,98,101,114,115,0,115,48,0,116,48,0,116,105,109,101,122,111,110,101,0,118,97,114,105,97,98,108,101,116,111,112,0,116,121,112,101,65,108,105,97,115,0,113,117,97,114,116,101,114,110,97,114,121,0,116,121,112,101,73,110,102,111,0,99,111,0,100,105,114,101,99,116,0,99,97,109,116,114,0,116,121,112,101,77,97,112,0,98,117,100,100,104,105,115,116,0,99,104,105,110,101,115,101,0,99,111,112,116,105,99,0,100,97,110,103,105,0,101,116,104,105,111,112,105,99,0,101,116,104,105,111,112,105,99,45,97,109,101,116,101,45,97,108,101,109,0,103,114,101,103,111,114,105,97,110,0,104,101,98,114,101,119,0,105,110,100,105,97,110,0,105,115,108,97,109,105,99,0,105,115,108,97,109,105,99,45,99,105,118,105,108,0,105,115,108,97,109,105,99,45,114,103,115,97,0,105,115,108,97,109,105,99,45,116,98,108,97,0,105,115,108,97,109,105,99,45,117,109,97,108,113,117,114,97,0,105,115,111,56,54,48,49,0,106,97,112,97,110,101,115,101,0,112,101,114,115,105,97,110,0,114,111,99,0,97,99,99,111,117,110,116,0,115,116,97,110,100,97,114,100,0,110,111,110,45,105,103,110,111,114,97,98,108,101,0,115,104,105,102,116,101,100,0,121,101,115,0,108,111,119,101,114,0,117,112,112,101,114,0,98,105,103,53,104,97,110,0,99,111,109,112,97,116,0,100,105,99,116,105,111,110,97,114,121,0,100,117,99,101,116,0,101,109,111,106,105,0,103,98,50,51,49,50,104,97,110,0,112,104,111,110,101,98,111,111,107,0,112,104,111,110,101,116,105,99,0,112,105,110,121,105,110,0,114,101,102,111,114,109,101,100,0,115,101,97,114,99,104,0,115,101,97,114,99,104,106,108,0,115,116,114,111,107,101,0,116,114,97,100,105,116,105,111,110,97,108,0,117,110,105,104,97,110,0,122,104,117,121,105,110,0,82,69,79,82,68,69,82,95,67,79,68,69,0,100,105,103,105,116,0,112,117,110,99,116,0,115,112,97,99,101,0,115,121,109,98,111,108,0,105,100,101,110,116,105,99,97,108,0,112,114,105,109,97,114,121,0,115,101,99,111,110,100,97,114,121,0,116,101,114,116,105,97,114,121,0,97,100,112,0,97,101,100,0,97,102,97,0,97,102,110,0,97,108,107,0,97,109,100,0,97,110,103,0,97,111,97,0,97,111,107,0,97,111,110,0,97,111,114,0,97,114,108,0,97,114,109,0,97,114,112,0,97,114,115,0,97,116,115,0,97,117,100,0,97,119,103,0,97,122,109,0,97,122,110,0,98,97,100,0,98,97,109,0,98,97,110,0,98,98,100,0,98,100,116,0,98,101,99,0,98,101,102,0,98,101,108,0,98,103,108,0,98,103,109,0,98,103,110,0,98,103,111,0,98,104,100,0,98,105,102,0,98,109,100,0,98,110,100,0,98,111,98,0,98,111,112,0,98,111,118,0,98,114,98,0,98,114,99,0,98,114,101,0,98,114,108,0,98,114,110,0,98,114,114,0,98,114,122,0,98,115,100,0,98,116,110,0,98,117,107,0,98,119,112,0,98,121,98,0,98,121,110,0,98,121,114,0,98,122,100,0,99,97,100,0,99,100,102,0,99,104,101,0,99,104,102,0,99,104,119,0,99,108,101,0,99,108,102,0,99,108,112,0,99,110,104,0,99,110,120,0,99,110,121,0,99,111,112,0,99,111,117,0,99,114,99,0,99,115,100,0,99,115,107,0,99,117,99,0,99,117,112,0,99,118,101,0,99,121,112,0,99,122,107,0,100,100,109,0,100,101,109,0,100,106,102,0,100,107,107,0,100,111,112,0,100,122,100,0,101,99,115,0,101,99,118,0,101,101,107,0,101,103,112,0,101,114,110,0,101,115,97,0,101,115,98,0,101,115,112,0,101,116,98,0,101,117,114,0,102,105,109,0,102,106,100,0,102,107,112,0,102,114,102,0,103,98,112,0,103,101,107,0,103,101,108,0,103,104,99,0,103,104,115,0,103,105,112,0,103,109,100,0,103,110,102,0,103,110,115,0,103,113,101,0,103,114,100,0,103,116,113,0,103,119,101,0,103,119,112,0,103,121,100,0,104,107,100,0,104,110,108,0,104,114,107,0,104,116,103,0,104,117,102,0,105,100,114,0,105,101,112,0,105,108,112,0,105,108,114,0,105,108,115,0,105,110,114,0,105,113,100,0,105,114,114,0,105,115,106,0,105,115,107,0,105,116,108,0,106,109,100,0,106,111,100,0,106,112,121,0,107,101,115,0,107,103,115,0,107,104,114,0,107,109,102,0,107,112,119,0,107,114,104,0,107,114,111,0,107,114,119,0,107,119,100,0,107,121,100,0,107,122,116,0,108,97,107,0,108,98,112,0,108,107,114,0,108,114,100,0,108,115,108,0,108,116,108,0,108,116,116,0,108,117,99,0,108,117,102,0,108,117,108,0,108,118,108,0,108,118,114,0,108,121,100,0,109,97,100,0,109,97,102,0,109,99,102,0,109,100,99,0,109,100,108,0,109,103,97,0,109,103,102,0,109,107,100,0,109,107,110,0,109,108,102,0,109,109,107,0,109,110,116,0,109,111,112,0,109,114,111,0,109,114,117,0,109,116,108,0,109,116,112,0,109,117,114,0,109,118,112,0,109,118,114,0,109,119,107,0,109,120,110,0,109,120,112,0,109,120,118,0,109,121,114,0,109,122,101,0,109,122,109,0,109,122,110,0,110,97,100,0,110,103,110,0,110,105,99,0,110,105,111,0,110,108,103,0,110,111,107,0,110,112,114,0,110,122,100,0,111,109,114,0,112,97,98,0,112,101,105,0,112,101,110,0,112,101,115,0,112,103,107,0,112,104,112,0,112,107,114,0,112,108,110,0,112,108,122,0,112,116,101,0,112,121,103,0,113,97,114,0,114,104,100,0,114,111,108,0,114,111,110,0,114,115,100,0,114,117,98,0,114,117,114,0,114,119,102,0,115,97,114,0,115,98,100,0,115,99,114,0,115,100,100,0,115,100,103,0,115,100,112,0,115,101,107,0,115,103,100,0,115,104,112,0,115,105,116,0,115,107,107,0,115,108,101,0,115,108,108,0,115,111,115,0,115,114,100,0,115,114,103,0,115,115,112,0,115,116,100,0,115,116,110,0,115,117,114,0,115,118,99,0,115,121,112,0,115,122,108,0,116,104,98,0,116,106,114,0,116,106,115,0,116,109,109,0,116,109,116,0,116,110,100,0,116,112,101,0,116,114,108,0,116,114,121,0,116,116,100,0,116,119,100,0,116,122,115,0,117,97,104,0,117,97,107,0,117,103,115,0,117,103,120,0,117,115,100,0,117,115,110,0,117,115,115,0,117,121,105,0,117,121,112,0,117,121,117,0,117,121,119,0,117,122,115,0,118,101,98,0,118,101,100,0,118,101,102,0,118,101,115,0,118,110,100,0,118,110,110,0,118,117,118,0,119,115,116,0,120,97,102,0,120,97,103,0,120,97,117,0,120,98,97,0,120,98,98,0,120,98,99,0,120,98,100,0,120,99,100,0,120,100,114,0,120,101,117,0,120,102,111,0,120,102,117,0,120,111,102,0,120,112,100,0,120,112,102,0,120,112,116,0,120,114,101,0,120,115,117,0,120,116,115,0,120,117,97,0,120,120,120,0,121,100,100,0,121,101,114,0,121,117,100,0,121,117,109,0,121,117,110,0,121,117,114,0,122,97,108,0,122,97,114,0,122,109,107,0,122,109,119,0,122,114,110,0,122,114,122,0,122,119,100,0,122,119,108,0,122,119,114,0,97,99,99,101,110,116,115,0,97,115,99,105,105,0,99,97,115,101,102,111,108,100,0,102,99,99,0,102,99,100,0,102,117,108,108,119,105,100,116,104,0,104,97,108,102,119,105,100,116,104,0,104,101,120,0,109,111,114,115,101,0,110,97,109,101,0,110,102,99,0,110,102,100,0,110,102,107,99,0,110,102,107,100,0,110,117,108,108,0,110,117,109,101,114,105,99,80,105,110,121,105,110,0,112,117,98,108,105,115,104,105,110,103,0,114,101,109,111,118,101,0,116,105,116,108,101,0,122,97,119,103,121,105,0,83,67,82,73,80,84,95,67,79,68,69,0,100,101,102,97,117,108,116,0,116,101,120,116,0,102,114,105,0,109,111,110,0,115,97,116,0,115,117,110,0,116,104,117,0,116,117,101,0,119,101,100,0,104,121,98,114,105,100,0,104,49,49,0,104,49,50,0,104,50,51,0,104,50,52,0,104,97,110,100,119,114,105,116,0,119,117,98,105,0,49,48,49,107,101,121,0,49,48,50,107,101,121,0,54,48,48,100,112,105,0,55,54,56,100,112,105,0,97,110,100,114,111,105,100,0,97,122,101,114,116,121,0,99,104,114,111,109,101,111,115,0,99,111,108,101,109,97,107,0,100,118,111,114,97,107,0,100,118,111,114,97,107,108,0,100,118,111,114,97,107,114,0,101,108,50,50,48,0,101,108,51,49,57,0,101,120,116,101,110,100,101,100,0,103,111,111,103,108,101,118,107,0,105,115,105,114,105,0,108,101,103,97,99,121,0,108,116,49,50,48,53,0,108,116,49,53,56,50,0,110,117,116,97,97,113,0,111,115,120,0,112,97,116,116,97,0,113,119,101,114,116,121,0,113,119,101,114,116,122,0,116,97,57,57,0,118,97,114,0,118,105,113,114,0,119,105,110,100,111,119,115,0,108,111,111,115,101,0,110,111,114,109,97,108,0,115,116,114,105,99,116,0,98,114,101,97,107,97,108,108,0,107,101,101,112,97,108,108,0,112,104,114,97,115,101,0,97,101,116,104,105,111,112,105,0,97,108,97,108,111,99,0,98,101,116,97,45,109,101,116,115,101,104,97,102,0,98,117,99,107,119,97,108,116,0,99,115,115,0,101,115,51,56,52,50,0,101,119,116,115,0,103,111,115,116,0,103,117,114,97,103,101,0,103,117,116,103,97,114,116,115,0,105,97,115,116,0,105,101,115,45,106,101,115,0,105,115,111,0,106,97,118,97,0,108,97,109,98,100,105,110,0,109,99,115,116,0,109,110,115,0,110,97,109,101,115,0,112,101,114,99,101,110,116,0,112,101,114,108,0,112,108,97,105,110,0,115,97,116,116,115,0,115,101,114,97,0,116,101,107,105,101,45,97,108,105,98,101,107,105,116,0,117,110,103,101,103,110,0,117,110,105,99,111,100,101,0,120,97,108,101,103,101,116,0,120,109,108,0,120,109,108,49,48,0,105,109,112,101,114,105,97,108,0,109,101,116,114,105,99,0,117,115,115,121,115,116,101,109,0,99,101,108,115,105,117,115,0,102,97,104,114,101,110,104,101,0,107,101,108,118,105,110,0,97,100,108,109,0,97,104,111,109,0,97,114,97,98,0,97,114,97,98,101,120,116,0,97,114,109,110,0,97,114,109,110,108,111,119,0,98,97,108,105,0,98,101,110,103,0,98,104,107,115,0,98,114,97,104,0,99,97,107,109,0,99,104,97,109,0,99,121,114,108,0,100,101,118,97,0,100,105,97,107,0,101,116,104,105,0,102,105,110,97,110,99,101,0,102,117,108,108,119,105,100,101,0,103,101,111,114,0,103,111,110,103,0,103,111,110,109,0,103,114,101,107,0,103,114,101,107,108,111,119,0,103,117,106,114,0,103,117,114,117,0,104,97,110,105,100,97,121,115,0,104,97,110,105,100,101,99,0,104,97,110,115,0,104,97,110,115,102,105,110,0,104,97,110,116,0,104,97,110,116,102,105,110,0,104,101,98,114,0,104,109,110,103,0,104,109,110,112,0,106,112,97,110,0,106,112,97,110,102,105,110,0,106,112,97,110,121,101,97,114,0,107,97,108,105,0,107,97,119,105,0,107,104,109,114,0,107,110,100,97,0,108,97,110,97,0,108,97,110,97,116,104,97,109,0,108,97,111,111,0,108,97,116,110,0,108,101,112,99,0,108,105,109,98,0,109,97,116,104,98,111,108,100,0,109,97,116,104,100,98,108,0,109,97,116,104,109,111,110,111,0,109,97,116,104,115,97,110,98,0,109,97,116,104,115,97,110,115,0,109,108,121,109,0,109,111,100,105,0,109,111,110,103,0,109,114,111,111,0,109,116,101,105,0,109,121,109,114,0,109,121,109,114,115,104,97,110,0,109,121,109,114,116,108,110,103,0,110,97,103,109,0,110,97,116,105,118,101,0,110,101,119,97,0,110,107,111,111,0,111,108,99,107,0,111,114,121,97,0,111,115,109,97,0,114,111,104,103,0,114,111,109,97,110,0,114,111,109,97,110,108,111,119,0,115,97,117,114,0,115,101,103,109,101,110,116,0,115,104,114,100,0,115,105,110,100,0,115,105,110,104,0,115,111,114,97,0,115,117,110,100,0,116,97,107,114,0,116,97,108,117,0,116,97,109,108,0,116,97,109,108,100,101,99,0,116,101,108,117,0,116,104,97,105,0,116,105,98,116,0,116,105,114,104,0,116,110,115,97,0,118,97,105,105,0,119,97,114,97,0,119,99,104,111,0,82,71,95,75,69,89,95,86,65,76,85,69,0,83,85,66,68,73,86,73,83,73,79,78,95,67,79,68,69,0,110,111,110,101,0,112,111,115,105,120,0,67,79,68,69,80,79,73,78,84,83,0,80,82,73,86,65,84,69,95,85,83,69,0,170,170,170,0,0,99,0,97,0,0,0,99,0,111,0,0,0,99,0,117,0,0,0,104,0,99,0,0,0,107,0,97,0,0,0,107,0,98,0,0,0,107,0,99,0,0,0,107,0,102,0,0,0,107,0,104,0,0,0,107,0,107,0,0,0,107,0,110,0,0,0,107,0,114,0,0,0,107,0,115,0,0,0,109,0,115,0,0,0,110,0,117,0,0,0,116,0,122,0,0,0,118,0,116,0,0,0,97,0,110,0,121,0,0,0,99,0,49,0,49,0,0,0,116,0,114,0,117,0,101,0,0,0,100,0,105,0,99,0,116,0,0,0,116,0,114,0,97,0,100,0,0,0,102,0,97,0,108,0,115,0,101,0,0,0,102,0,119,0,105,0,100,0,116,0,104,0,0,0,103,0,98,0,50,0,51,0,49,0,50,0,0,0,104,0,119,0,105,0,100,0,116,0,104,0,0,0,105,0,101,0,115,0,106,0,101,0,115,0,0,0,108,0,101,0,118,0,101,0,108,0,49,0,0,0,108,0,101,0,118,0,101,0,108,0,50,0,0,0,108,0,101,0,118,0,101,0,108,0,51,0,0,0,108,0,101,0,118,0,101,0,108,0,52,0,0,0,115,0,105,0,110,0,103,0,108,0,101,0,0,0,110,0,112,0,105,0,110,0,121,0,105,0,110,0,0,0,112,0,117,0,98,0,108,0,105,0,115,0,104,0,0,0,101,0,116,0,104,0,105,0,111,0,97,0,97,0,0,0,103,0,114,0,101,0,103,0,111,0,114,0,121,0,0,0,105,0,100,0,101,0,110,0,116,0,105,0,99,0,0,0,112,0,104,0,111,0,110,0,101,0,98,0,107,0,0,0,109,0,117,0,108,0,116,0,105,0,112,0,108,0,101,0,0,0,98,0,101,0,116,0,97,0,109,0,101,0,116,0,115,0,0,0,99,0,104,0,97,0,114,0,110,0,97,0,109,0,101,0,0,0,110,0,111,0,105,0,103,0,110,0,111,0,114,0,101,0,0,0,112,0,114,0,112,0,114,0,110,0,97,0,109,0,101,0,0,0,116,0,101,0,107,0,105,0,101,0,97,0,108,0,105,0,0,0,116,0,114,0,97,0,100,0,105,0,116,0,105,0,111,0,0,0,117,0,107,0,115,0,121,0,115,0,116,0,101,0,109,0,0,0,113,0,117,0,97,0,116,0,101,0,114,0,110,0,97,0,114,0,121,0,0,0,105,0,110,0,99,0,114,0,101,0,109,0,101,0,110,0,116,0,97,0,108,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,45,0,99,0,105,0,118,0,105,0,108,0,0,0,1,0,48,0,31,1,2,0,76,0,79,0,60,0,60,0,6,0,45,0,92,0,95,0,80,6,79,0,98,0,19,1,192,0,137,0,192,0,192,0,52,0,37,0,108,0,172,5,117,0,130,0,143,0,156,0,169,0,191,0,201,0,218,0,229,0,240,0,252,0,5,1,92,0,153,10,8,1,95,0,11,1,17,1,20,1,23,1,26,1,29,1,32,1,35,1,43,1,46,1,192,6,54,1,32,7,40,7,57,1,60,1,253,10,69,1,98,0,1,0,0,0,13,0,16,0,22,0,19,0,25,0,4,0,28,0,31,0,34,0,37,0,7,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,49,0,0,0,1,0,91,1,8,1,1,0,115,1,60,0,1,0,122,1,60,0,18,0,136,1,145,1,153,1,160,1,166,1,175,1,195,1,205,1,212,1,219,1,227,1,241,1,254,1,11,2,28,2,36,2,45,2,53,2,0,0,0,0,0,0,0,0,0,0,160,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,57,2,65,2,0,0,0,0,2,0,74,2,88,2,219,0,0,0,2,0,222,11,96,2,75,0,60,0,3,0,100,2,222,11,106,2,0,0,75,0,0,0,2,0,222,11,96,2,75,0,60,0,2,0,222,11,96,2,75,0,60,0,19,0,112,2,120,2,127,2,115,1,138,2,144,2,28,11,150,2,160,2,170,2,179,2,186,2,195,2,202,2,65,2,211,2,218,2,230,2,237,2,0,0,0,0,65,0,0,0,0,0,0,0,0,0,88,0,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,0,0,2,0,222,11,96,2,75,0,60,0,2,0,222,11,96,2,75,0,60,0,6,0,244,2,252,0,1,3,7,3,13,3,19,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,26,3,36,3,180,0,44,3,54,3,176,0,109,0,130,0,116,0,123,0,49,1,63,3,67,3,71,3,75,3,79,3,177,9,83,3,87,3,91,3,95,3,99,3,103,3,184,12,107,3,111,3,115,3,119,3,123,3,127,3,131,3,135,3,139,3,143,3,147,3,151,3,155,3,159,3,163,3,167,3,171,3,175,3,179,3,183,3,187,3,191,3,195,3,199,3,203,3,207,3,22,3,211,3,215,3,219,3,223,3,227,3,231,3,235,3,239,3,243,3,247,3,251,3,255,3,3,4,7,4,11,4,15,4,19,4,23,4,27,4,31,4,35,4,39,4,43,4,47,4,51,4,55,4,59,4,63,4,67,4,71,4,75,4,79,4,83,4,87,4,91,4,95,4,99,4,103,4,107,4,111,4,115,4,119,4,123,4,127,4,131,4,135,4,139,4,143,4,147,4,151,4,155,4,159,4,163,4,167,4,171,4,175,4,179,4,183,4,187,4,191,4,195,4,199,4,203,4,207,4,211,4,215,4,219,4,223,4,227,4,231,4,235,4,239,4,243,4,247,4,251,4,106,12,255,4,3,5,7,5,11,5,15,5,19,5,23,5,27,5,31,5,35,5,39,5,43,5,47,5,51,5,55,5,59,5,63,5,67,5,71,5,75,5,79,5,83,5,87,5,91,5,95,5,99,5,103,5,107,5,111,5,115,5,119,5,123,5,127,5,131,5,135,5,139,5,143,5,147,5,151,5,155,5,159,5,163,5,167,5,171,5,175,5,179,5,183,5,187,5,191,5,195,5,199,5,203,5,207,5,211,5,215,5,219,5,223,5,227,5,231,5,235,5,239,5,243,5,247,5,251,5,255,5,3,6,7,6,11,6,15,6,19,6,23,6,27,6,31,6,35,6,39,6,43,6,47,6,51,6,55,6,59,6,63,6,67,6,71,6,75,6,79,6,83,6,87,6,91,6,95,6,99,6,103,6,107,6,111,6,115,6,119,6,123,6,127,6,131,6,135,6,139,6,143,6,147,6,151,6,155,6,159,6,163,6,167,6,171,6,175,6,179,6,183,6,187,6,191,6,195,6,199,6,203,6,207,6,211,6,215,6,219,6,223,6,227,6,231,6,235,6,239,6,243,6,77,1,247,6,251,6,255,6,3,7,7,7,11,7,15,7,19,7,23,7,27,7,31,7,35,7,39,7,43,7,47,7,51,7,55,7,59,7,63,7,67,7,71,7,75,7,79,7,83,7,87,7,91,7,95,7,99,7,103,7,107,7,111,7,115,7,119,7,123,7,127,7,131,7,135,7,139,7,143,7,147,7,151,7,155,7,159,7,163,7,167,7,171,7,175,7,179,7,183,7,187,7,191,7,195,7,199,7,203,7,207,7,211,7,215,7,219,7,223,7,227,7,231,7,235,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,239,7,247,7,253,7,1,3,6,8,10,8,14,8,24,8,34,8,100,2,38,8,44,8,49,8,53,8,57,8,62,8,67,8,72,8,86,8,97,8,104,8,106,2,110,8,0,0,0,0,0,0,0,0,0,0,0,0,81,0,95,0,0,0,0,0,0,0,210,0,0,0,0,0,0,0,0,0,0,0,144,0,152,0,0,0,0,0,0,0,0,0,1,0,117,8,0,0,3,0,129,8,144,2,137,8,0,0,0,0,0,0,7,0,142,8,146,8,150,8,154,8,158,8,162,8,166,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,170,8,0,0,4,0,177,8,181,8,185,8,189,8,0,0,0,0,0,0,0,0,4,0,193,8,179,2,126,12,202,8,0,0,0,0,0,0,0,0,29,0,207,8,214,8,221,8,228,8,235,8,243,8,250,8,3,9,11,9,18,9,26,9,34,9,40,9,46,9,55,9,64,9,70,9,77,9,84,9,91,9,98,9,102,9,108,9,115,9,122,9,126,12,127,9,131,9,136,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,252,0,7,3,13,3,19,3,0,0,0,0,0,0,0,0,3,0,144,9,150,9,157,9,0,0,0,0,0,0,4,0,164,9,173,9,150,9,181,9,0,0,0,0,0,0,0,0,32,0,188,9,197,9,204,9,183,3,218,9,213,6,227,9,34,10,231,9,238,9,243,9,248,9,255,9,8,10,13,10,21,10,25,10,30,10,38,10,43,10,47,10,53,10,61,10,66,10,72,10,78,10,83,10,98,10,105,10,113,10,121,10,125,10,0,0,0,0,201,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,0,0,0,0,228,0,0,0,0,0,0,0,0,0,0,0,237,0,0,0,0,0,0,0,0,0,0,0,3,0,131,10,140,10,147,10,255,0,0,0,0,0,3,0,156,10,164,10,173,10,0,0,0,0,0,0,91,0,180,10,185,10,190,10,195,10,203,10,208,10,216,10,221,10,226,10,231,10,236,10,241,10,246,10,251,10,0,11,5,11,10,11,18,11,27,11,32,11,37,11,42,11,47,11,55,11,60,11,65,11,74,11,82,11,87,11,95,11,100,11,108,11,113,11,118,11,25,10,123,11,128,11,136,11,145,11,150,11,155,11,160,11,165,11,170,11,179,11,184,11,189,11,194,11,199,11,208,11,216,11,225,11,234,11,243,11,248,11,253,11,2,12,7,12,12,12,17,12,26,12,35,12,40,12,47,12,52,12,57,12,62,12,67,12,72,12,77,12,83,12,92,12,97,12,105,12,110,12,115,12,120,12,125,12,130,12,135,12,140,12,145,12,153,12,158,12,163,12,168,12,173,12,218,2,178,12,183,12,188,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,0,0,0,0,0,0,0,1,0,193,12,0,0,7,0,239,7,247,7,34,8,38,8,72,8,86,8,110,8,0,0,0,0,0,0,0,0,144,0,152,0,0,0,1,0,206,12,0,0,2,0,223,12,65,2,0,0,0,0,1,0,126,12,0,0,1,0,228,12,0,0,1,0,234,12,0,0,1,0,245,12,0,0,38,0,0,0,47,0,73,0,67,0,85,0,68,0,65,0,84,0,65,0,47,0,116,0,105,0,109,0,101,0,122,0,111,0,110,0,101,0,84,0,121,0,112,0,101,0,115,0,47,0,98,0,99,0,112,0,84,0,121,0,112,0,101,0,65,0,108,0,105,0,97,0,115,0,47,0,116,0,122,0,0,0,170,170,2,0,45,0,119,9,170,170,45,1,0,80,115,6,0,48,2,0,65,0,82,0,170,170,48,1,0,80,53,1,0,80,41,0,0,0,47,0,73,0,67,0,85,0,68,0,65,0,84,0,65,0,47,0,116,0,105,0,109,0,101,0,122,0,111,0,110,0,101,0,84,0,121,0,112,0,101,0,115,0,47,0,116,0,121,0,112,0,101,0,65,0,108,0,105,0,97,0,115,0,47,0,116,0,105,0,109,0,101,0,122,0,111,0,110,0,101,0,0,0,2,0,240,0,60,1,170,170,141,1,0,80,144,6,0,48,2,0,112,1,119,9,170,170,144,1,0,80,147,1,0,80,1,0,65,0,170,6,0,32,39,0,0,0,47,0,73,0,67,0,85,0,68,0,65,0,84,0,65,0,47,0,116,0,105,0,109,0,101,0,122,0,111,0,110,0,101,0,84,0,121,0,112,0,101,0,115,0,47,0,116,0,121,0,112,0,101,0,77,0,97,0,112,0,47,0,116,0,105,0,109,0,101,0,122,0,111,0,110,0,101,0,0,0,37,0,108,0,172,5,117,0,130,0,143,0,156,0,169,0,191,0,201,0,218,0,229,0,240,0,252,0,5,1,92,0,153,10,8,1,95,0,11,1,17,1,20,1,23,1,26,1,29,1,32,1,35,1,43,1,46,1,192,6,54,1,32,7,40,7,57,1,60,1,253,10,69,1,98,0,150,1,0,80,187,1,0,80,192,1,0,80,197,1,0,80,202,1,0,80,209,1,0,80,214,1,0,80,219,1,0,80,2,2,0,80,7,2,0,80,12,2,0,80,25,2,0,80,36,2,0,80,135,4,0,80,182,4,0,80,185,4,0,80,192,4,0,80,207,4,0,80,210,4,0,80,219,4,0,80,228,4,0,80,31,5,0,80,40,5,0,80,47,5,0,80,56,5,0,80,121,5,0,80,128,5,0,80,135,5,0,80,62,6,0,80,65,6,0,80,80,6,0,80,83,6,0,80,88,6,0,80,176,6,0,48,91,6,0,80,94,6,0,80,97,6,0,80,6,0,32,0,57,0,101,0,81,1,103,1,128,1,170,170,136,6,0,32,140,6,0,32,66,1,0,80,166,6,0,32,174,6,0,32,197,6,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,187,39,0,32,7,0,0,0,34,0,0,0,191,39,0,0,191,39,0,0,5,0,0,0,1,0,0,0,145,25,0,0,108,105,107,101,108,121,0,108,97,110,103,117,97,103,101,65,108,105,97,115,101,115,0,108,115,114,115,0,114,101,103,105,111,110,65,108,105,97,115,101,115,0,116,114,105,101,0,109,97,116,99,104,0,100,105,115,116,97,110,99,101,115,0,112,97,114,97,100,105,103,109,115,0,112,97,114,116,105,116,105,111,110,115,0,114,101,103,105,111,110,84,111,80,97,114,116,105,116,105,111,110,115,0,170,0,0,46,0,0,0,90,0,90,0,0,0,73,0,78,0,0,0,73,0,68,0,0,0,82,0,85,0,0,0,67,0,78,0,0,0,67,0,65,0,0,0,67,0,77,0,0,0,80,0,72,0,0,0,80,0,75,0,0,0,73,0,82,0,0,0,78,0,80,0,0,0,85,0,83,0,0,0,78,0,71,0,0,0,84,0,82,0,0,0,84,0,90,0,0,0,68,0,69,0,0,0,73,0,84,0,0,0,75,0,69,0,0,0,90,0,65,0,0,0,71,0,66,0,0,0,77,0,76,0,0,0,83,0,68,0,0,0,84,0,72,0,0,0,85,0,71,0,0,0,69,0,83,0,0,0,69,0,84,0,0,0,70,0,82,0,0,0,77,0,77,0,0,0,77,0,89,0,0,0,67,0,68,0,0,0,71,0,72,0,0,0,77,0,90,0,0,0,70,0,77,0,0,0,77,0,65,0,0,0,77,0,88,0,0,0,83,0,69,0,0,0,83,0,78,0,0,0,65,0,70,0,0,0,66,0,68,0,0,0,66,0,82,0,0,0,67,0,73,0,0,0,71,0,69,0,0,0,71,0,78,0,0,0,71,0,82,0,0,0,73,0,81,0,0,0,77,0,78,0,0,0,78,0,69,0,0,0,78,0,76,0,0,0,85,0,65,0,0,0,67,0,72,0,0,0,78,0,65,0,0,0,84,0,71,0,0,0,85,0,90,0,0,0,86,0,78,0,0,0,90,0,87,0,0,0,65,0,76,0,0,0,65,0,79,0,0,0,65,0,90,0,0,0,66,0,70,0,0,0,67,0,89,0,0,0,68,0,90,0,0,0,69,0,71,0,0,0,69,0,82,0,0,0,70,0,73,0,0,0,70,0,74,0,0,0,73,0,76,0,0,0,74,0,80,0,0,0,75,0,77,0,0,0,76,0,65,0,0,0,78,0,79,0,0,0,80,0,76,0,0,0,82,0,83,0,0,0,83,0,65,0,0,0,83,0,76,0,0,0,83,0,89,0,0,0,84,0,78,0,0,0,84,0,87,0,0,0,85,0,77,0,0,0,89,0,69,0,0,0,65,0,81,0,0,0,65,0,85,0,0,0,66,0,69,0,0,0,66,0,74,0,0,0,66,0,79,0,0,0,66,0,84,0,0,0,67,0,87,0,0,0,71,0,70,0,0,0,71,0,81,0,0,0,73,0,69,0,0,0,75,0,72,0,0,0,75,0,82,0,0,0,75,0,90,0,0,0,76,0,66,0,0,0,76,0,82,0,0,0,77,0,68,0,0,0,77,0,85,0,0,0,77,0,87,0,0,0,80,0,65,0,0,0,80,0,70,0,0,0,80,0,71,0,0,0,82,0,79,0,0,0,83,0,82,0,0,0,84,0,76,0,0,0,87,0,70,0,0,0,88,0,75,0,0,0,89,0,84,0,0,0,102,0,102,0,0,0,65,0,77,0,0,0,65,0,84,0,0,0,65,0,87,0,0,0,66,0,65,0,0,0,66,0,71,0,0,0,66,0,78,0,0,0,67,0,70,0,0,0,67,0,76,0,0,0,67,0,79,0,0,0,67,0,86,0,0,0,67,0,90,0,0,0,68,0,75,0,0,0,69,0,67,0,0,0,69,0,69,0,0,0,71,0,65,0,0,0,71,0,84,0,0,0,71,0,85,0,0,0,71,0,87,0,0,0,72,0,75,0,0,0,72,0,85,0,0,0,74,0,79,0,0,0,75,0,73,0,0,0,76,0,84,0,0,0,76,0,85,0,0,0,76,0,86,0,0,0,77,0,75,0,0,0,77,0,79,0,0,0,77,0,82,0,0,0,77,0,86,0,0,0,80,0,69,0,0,0,80,0,84,0,0,0,82,0,69,0,0,0,83,0,66,0,0,0,83,0,67,0,0,0,83,0,75,0,0,0,83,0,79,0,0,0,84,0,74,0,0,0,86,0,65,0,0,0,86,0,85,0,0,0,90,0,77,0,0,0,99,0,115,0,0,0,106,0,119,0,0,0,108,0,118,0,0,0,115,0,99,0,0,0,115,0,118,0,0,0,116,0,108,0,0,0,48,0,50,0,0,0,48,0,52,0,0,0,48,0,53,0,0,0,48,0,54,0,0,0,49,0,51,0,0,0,65,0,68,0,0,0,65,0,69,0,0,0,65,0,78,0,0,0,65,0,82,0,0,0,65,0,83,0,0,0,65,0,88,0,0,0,66,0,72,0,0,0,66,0,73,0,0,0,66,0,76,0,0,0,66,0,81,0,0,0,66,0,85,0,0,0,66,0,86,0,0,0,66,0,89,0,0,0,67,0,67,0,0,0,67,0,71,0,0,0,67,0,80,0,0,0,67,0,82,0,0,0,67,0,83,0,0,0,67,0,84,0,0,0,67,0,85,0,0,0,68,0,68,0,0,0,68,0,71,0,0,0,68,0,74,0,0,0,68,0,79,0,0,0,68,0,89,0,0,0,69,0,65,0,0,0,69,0,72,0,0,0,69,0,85,0,0,0,69,0,90,0,0,0,70,0,79,0,0,0,70,0,81,0,0,0,70,0,88,0,0,0,71,0,76,0,0,0,71,0,77,0,0,0,71,0,80,0,0,0,71,0,83,0,0,0,72,0,77,0,0,0,72,0,78,0,0,0,72,0,82,0,0,0,72,0,84,0,0,0,72,0,86,0,0,0,73,0,67,0,0,0,73,0,77,0,0,0,73,0,83,0,0,0,74,0,69,0,0,0,74,0,77,0,0,0,74,0,84,0,0,0,75,0,71,0,0,0,75,0,80,0,0,0,75,0,87,0,0,0,76,0,73,0,0,0,76,0,75,0,0,0,76,0,83,0,0,0,76,0,89,0,0,0,77,0,67,0,0,0,77,0,69,0,0,0,77,0,70,0,0,0,77,0,71,0,0,0,77,0,72,0,0,0,77,0,73,0,0,0,77,0,81,0,0,0,77,0,84,0,0,0,78,0,67,0,0,0,78,0,72,0,0,0,78,0,73,0,0,0,78,0,81,0,0,0,78,0,82,0,0,0,78,0,84,0,0,0,78,0,85,0,0,0,78,0,90,0,0,0,79,0,77,0,0,0,80,0,67,0,0,0,80,0,77,0,0,0,80,0,82,0,0,0,80,0,83,0,0,0,80,0,85,0,0,0,80,0,87,0,0,0,80,0,89,0,0,0,80,0,90,0,0,0,81,0,65,0,0,0,81,0,85,0,0,0,82,0,72,0,0,0,82,0,87,0,0,0,83,0,73,0,0,0,83,0,74,0,0,0,83,0,77,0,0,0,83,0,83,0,0,0,83,0,84,0,0,0,83,0,85,0,0,0,83,0,86,0,0,0,83,0,88,0,0,0,84,0,68,0,0,0,84,0,70,0,0,0,84,0,75,0,0,0,84,0,77,0,0,0,84,0,79,0,0,0,84,0,80,0,0,0,84,0,86,0,0,0,85,0,75,0,0,0,85,0,89,0,0,0,86,0,68,0,0,0,86,0,69,0,0,0,87,0,75,0,0,0,87,0,83,0,0,0,89,0,68,0,0,0,89,0,85,0,0,0,90,0,82,0,0,0,98,0,110,0,0,0,98,0,115,0,0,0,102,0,106,0,0,0,110,0,118,0,0,0,116,0,119,0,0,0,118,0,101,0,0,0,118,0,105,0,0,0,122,0,117,0,0,0,110,0,102,0,114,0,0,0,120,0,101,0,115,0,0,0,108,0,122,0,104,0,0,0,119,0,97,0,114,0,0,0,121,0,101,0,110,0,0,0,48,0,48,0,49,0,0,0,98,0,107,0,117,0,0,0,120,0,115,0,114,0,0,0,98,0,115,0,113,0,0,0,103,0,121,0,105,0,0,0,109,0,100,0,101,0,0,0,115,0,109,0,115,0,0,0,120,0,115,0,97,0,0,0,121,0,97,0,122,0,0,0,100,0,116,0,112,0,0,0,101,0,110,0,108,0,0,0,107,0,104,0,97,0,0,0,109,0,102,0,97,0,0,0,116,0,107,0,107,0,0,0,116,0,115,0,119,0,0,0,98,0,104,0,111,0,0,0,100,0,111,0,105,0,0,0,101,0,109,0,107,0,0,0,109,0,97,0,110,0,0,0,113,0,117,0,122,0,0,0,115,0,117,0,114,0,0,0,116,0,115,0,100,0,0,0,119,0,114,0,111,0,0,0,120,0,109,0,110,0,0,0,121,0,107,0,111,0,0,0,104,0,111,0,99,0,0,0,112,0,112,0,97,0,0,0,115,0,110,0,98,0,0,0,122,0,122,0,97,0,0,0,99,0,106,0,118,0,0,0,101,0,107,0,121,0,0,0,110,0,97,0,107,0,0,0,111,0,107,0,118,0,0,0,115,0,116,0,107,0,0,0,115,0,117,0,107,0,0,0,116,0,98,0,111,0,0,0,119,0,101,0,108,0,0,0,119,0,105,0,116,0,0,0,119,0,106,0,97,0,0,0,121,0,117,0,103,0,0,0,122,0,110,0,101,0,0,0,102,0,105,0,108,0,0,0,105,0,98,0,97,0,0,0,107,0,100,0,116,0,0,0,111,0,121,0,98,0,0,0,112,0,97,0,112,0,0,0,118,0,97,0,106,0,0,0,121,0,117,0,101,0,0,0,114,0,107,0,105,0,0,0,116,0,109,0,104,0,0,0,117,0,116,0,104,0,0,0,121,0,97,0,109,0,0,0,99,0,113,0,117,0,0,0,104,0,104,0,121,0,0,0,107,0,97,0,97,0,0,0,107,0,100,0,118,0,0,0,107,0,100,0,122,0,0,0,108,0,111,0,106,0,0,0,108,0,111,0,114,0,0,0,108,0,116,0,103,0,0,0,109,0,101,0,117,0,0,0,110,0,99,0,117,0,0,0,110,0,104,0,101,0,0,0,110,0,105,0,110,0,0,0,110,0,107,0,103,0,0,0,110,0,109,0,103,0,0,0,110,0,115,0,111,0,0,0,112,0,105,0,115,0,0,0,112,0,107,0,97,0,0,0,114,0,103,0,110,0,0,0,115,0,97,0,102,0,0,0,115,0,99,0,97,0,0,0,115,0,112,0,115,0,0,0,116,0,98,0,103,0,0,0,116,0,99,0,121,0,0,0,116,0,101,0,116,0,0,0,116,0,104,0,114,0,0,0,116,0,105,0,100,0,0,0,116,0,105,0,107,0,0,0,116,0,107,0,114,0,0,0,116,0,109,0,121,0,0,0,117,0,116,0,114,0,0,0,119,0,105,0,117,0,0,0,119,0,105,0,119,0,0,0,119,0,115,0,107,0,0,0,120,0,99,0,114,0,0,0,121,0,97,0,121,0,0,0,122,0,109,0,105,0,0,0,122,0,111,0,109,0,0,0,122,0,115,0,109,0,0,0,52,0,49,0,57,0,0,0,97,0,101,0,98,0,0,0,97,0,106,0,116,0,0,0,98,0,97,0,108,0,0,0,98,0,97,0,110,0,0,0,98,0,98,0,99,0,0,0,98,0,102,0,121,0,0,0,98,0,105,0,107,0,0,0,98,0,117,0,97,0,0,0,98,0,117,0,103,0,0,0,99,0,104,0,109,0,0,0,99,0,109,0,103,0,0,0,100,0,101,0,110,0,0,0,100,0,103,0,108,0,0,0,100,0,109,0,119,0,0,0,100,0,110,0,106,0,0,0,101,0,109,0,97,0,0,0,101,0,115,0,103,0,0,0,101,0,122,0,97,0,0,0,103,0,98,0,97,0,0,0,103,0,111,0,110,0,0,0,103,0,114,0,98,0,0,0,103,0,114,0,99,0,0,0,103,0,118,0,114,0,0,0,104,0,105,0,102,0,0,0,104,0,110,0,106,0,0,0,104,0,110,0,110,0,0,0,105,0,122,0,105,0,0,0,106,0,103,0,107,0,0,0,107,0,98,0,100,0,0,0,107,0,108,0,110,0,0,0,107,0,109,0,98,0,0,0,107,0,111,0,107,0,0,0,107,0,112,0,101,0,0,0,107,0,114,0,117,0,0,0,107,0,116,0,114,0,0,0,107,0,120,0,108,0,0,0,107,0,122,0,104,0,0,0,107,0,122,0,106,0,0,0,107,0,122,0,107,0,0,0,107,0,122,0,116,0,0,0,108,0,97,0,104,0,0,0,108,0,105,0,102,0,0,0,108,0,117,0,121,0,0,0,109,0,97,0,105,0,0,0,109,0,97,0,107,0,0,0,109,0,101,0,110,0,0,0,109,0,110,0,105,0,0,0,109,0,110,0,119,0,0,0,109,0,114,0,121,0,0,0,109,0,119,0,114,0,0,0,110,0,101,0,119,0,0,0,112,0,97,0,108,0,0,0,112,0,105,0,106,0,0,0,114,0,97,0,106,0,0,0,114,0,101,0,106,0,0,0,114,0,104,0,103,0,0,0,114,0,105,0,102,0,0,0,115,0,107,0,114,0,0,0,115,0,109,0,100,0,0,0,115,0,111,0,103,0,0,0,115,0,114,0,120,0,0,0,115,0,121,0,108,0,0,0,115,0,121,0,114,0,0,0,116,0,97,0,106,0,0,0,116,0,98,0,119,0,0,0,116,0,100,0,117,0,0,0,116,0,115,0,102,0,0,0,116,0,118,0,100,0,0,0,117,0,111,0,107,0,0,0,120,0,109,0,114,0,0,0,97,0,108,0,98,0,0,0,97,0,115,0,101,0,0,0,98,0,120,0,104,0,0,0,100,0,116,0,121,0,0,0,103,0,107,0,110,0,0,0,104,0,108,0,117,0,0,0,104,0,110,0,111,0,0,0,106,0,107,0,109,0,0,0,107,0,98,0,109,0,0,0,107,0,102,0,121,0,0,0,107,0,104,0,116,0,0,0,107,0,104,0,122,0,0,0,107,0,107,0,106,0,0,0,109,0,98,0,104,0,0,0,109,0,101,0,101,0,0,0,109,0,102,0,111,0,0,0,109,0,107,0,119,0,0,0,110,0,99,0,101,0,0,0,110,0,103,0,118,0,0,0,110,0,105,0,105,0,0,0,110,0,108,0,110,0,0,0,110,0,115,0,110,0,0,0,110,0,118,0,111,0,0,0,111,0,116,0,97,0,0,0,114,0,119,0,111,0,0,0,115,0,98,0,101,0,0,0,115,0,99,0,118,0,0,0,115,0,103,0,100,0,0,0,115,0,103,0,108,0,0,0,115,0,107,0,115,0,0,0,115,0,114,0,110,0,0,0,116,0,102,0,105,0,0,0,116,0,103,0,117,0,0,0,116,0,105,0,103,0,0,0,116,0,105,0,111,0,0,0,116,0,107,0,108,0,0,0,116,0,116,0,101,0,0,0,116,0,116,0,115,0,0,0,116,0,116,0,116,0,0,0,117,0,103,0,97,0,0,0,117,0,108,0,105,0,0,0,117,0,114,0,119,0,0,0,119,0,97,0,101,0,0,0,119,0,97,0,110,0,0,0,119,0,98,0,114,0,0,0,119,0,101,0,111,0,0,0,119,0,106,0,105,0,0,0,119,0,109,0,111,0,0,0,119,0,110,0,110,0,0,0,119,0,115,0,103,0,0,0,119,0,119,0,97,0,0,0,120,0,98,0,105,0,0,0,120,0,99,0,104,0,0,0,120,0,99,0,111,0,0,0,120,0,108,0,97,0,0,0,120,0,110,0,97,0,0,0,120,0,110,0,114,0,0,0,120,0,110,0,121,0,0,0,120,0,115,0,105,0,0,0,120,0,115,0,108,0,0,0,121,0,97,0,115,0,0,0,121,0,97,0,118,0,0,0,121,0,98,0,97,0,0,0,121,0,108,0,103,0,0,0,121,0,109,0,108,0,0,0,121,0,109,0,116,0,0,0,121,0,111,0,115,0,0,0,121,0,114,0,109,0,0,0,121,0,115,0,115,0,0,0,122,0,105,0,97,0,0,0,48,0,51,0,52,0,0,0,49,0,52,0,51,0,0,0,53,0,56,0,50,0,0,0,56,0,56,0,54,0,0,0,56,0,57,0,48,0,0,0,48,0,50,0,54,0,0,0,48,0,54,0,50,0,0,0,49,0,55,0,50,0,0,0,50,0,48,0,48,0,0,0,50,0,51,0,48,0,0,0,50,0,56,0,48,0,0,0,53,0,51,0,50,0,0,0,55,0,51,0,54,0,0,0,56,0,51,0,48,0,0,0,97,0,97,0,105,0,0,0,97,0,97,0,107,0,0,0,97,0,97,0,109,0,0,0,97,0,97,0,115,0,0,0,97,0,97,0,117,0,0,0,97,0,98,0,105,0,0,0,97,0,98,0,113,0,0,0,97,0,98,0,114,0,0,0,97,0,98,0,116,0,0,0,97,0,98,0,121,0,0,0,97,0,99,0,100,0,0,0,97,0,99,0,101,0,0,0,97,0,99,0,104,0,0,0,97,0,99,0,110,0,0,0,97,0,100,0,97,0,0,0,97,0,100,0,101,0,0,0,97,0,100,0,106,0,0,0,97,0,100,0,112,0,0,0,97,0,100,0,120,0,0,0,97,0,100,0,121,0,0,0,97,0,100,0,122,0,0,0,97,0,101,0,121,0,0,0,97,0,103,0,99,0,0,0,97,0,103,0,100,0,0,0,97,0,103,0,103,0,0,0,97,0,103,0,111,0,0,0,97,0,103,0,112,0,0,0,97,0,103,0,113,0,0,0,97,0,104,0,97,0,0,0,97,0,104,0,108,0,0,0,97,0,104,0,111,0,0,0,97,0,105,0,115,0,0,0,97,0,106,0,103,0,0,0,97,0,106,0,117,0,0,0,97,0,107,0,107,0,0,0,97,0,108,0,97,0,0,0,97,0,108,0,110,0,0,0,97,0,108,0,115,0,0,0,97,0,108,0,116,0,0,0,97,0,109,0,105,0,0,0,97,0,109,0,109,0,0,0,97,0,109,0,110,0,0,0,97,0,109,0,112,0,0,0,97,0,109,0,113,0,0,0,97,0,110,0,99,0,0,0,97,0,110,0,107,0,0,0,97,0,110,0,110,0,0,0,97,0,110,0,121,0,0,0,97,0,111,0,103,0,0,0,97,0,111,0,106,0,0,0,97,0,111,0,109,0,0,0,97,0,111,0,117,0,0,0,97,0,111,0,122,0,0,0,97,0,112,0,99,0,0,0,97,0,112,0,100,0,0,0,97,0,112,0,101,0,0,0,97,0,112,0,102,0,0,0,97,0,112,0,114,0,0,0,97,0,112,0,115,0,0,0,97,0,112,0,122,0,0,0,97,0,113,0,100,0,0,0,97,0,113,0,116,0,0,0,97,0,114,0,104,0,0,0,97,0,114,0,109,0,0,0,97,0,114,0,110,0,0,0,97,0,114,0,111,0,0,0,97,0,114,0,113,0,0,0,97,0,114,0,115,0,0,0,97,0,114,0,121,0,0,0,97,0,114,0,122,0,0,0,97,0,115,0,97,0,0,0,97,0,115,0,100,0,0,0,97,0,115,0,103,0,0,0,97,0,115,0,111,0,0,0,97,0,115,0,116,0,0,0,97,0,116,0,97,0,0,0,97,0,116,0,103,0,0,0,97,0,116,0,106,0,0,0,97,0,117,0,101,0,0,0,97,0,117,0,121,0,0,0,97,0,118,0,108,0,0,0,97,0,118,0,110,0,0,0,97,0,118,0,117,0,0,0,97,0,119,0,97,0,0,0,97,0,119,0,98,0,0,0,97,0,119,0,111,0,0,0,97,0,119,0,120,0,0,0,97,0,121,0,98,0,0,0,97,0,121,0,114,0,0,0,97,0,121,0,120,0,0,0,97,0,122,0,100,0,0,0,97,0,122,0,106,0,0,0,98,0,97,0,112,0,0,0,98,0,97,0,113,0,0,0,98,0,97,0,114,0,0,0,98,0,97,0,115,0,0,0,98,0,97,0,118,0,0,0,98,0,97,0,120,0,0,0,98,0,97,0,122,0,0,0,98,0,98,0,97,0,0,0,98,0,98,0,98,0,0,0,98,0,98,0,100,0,0,0,98,0,98,0,106,0,0,0,98,0,98,0,112,0,0,0,98,0,98,0,114,0,0,0,98,0,99,0,99,0,0,0,98,0,99,0,102,0,0,0,98,0,99,0,103,0,0,0,98,0,99,0,104,0,0,0,98,0,99,0,105,0,0,0,98,0,99,0,108,0,0,0,98,0,99,0,109,0,0,0,98,0,99,0,110,0,0,0,98,0,99,0,111,0,0,0,98,0,99,0,113,0,0,0,98,0,99,0,117,0,0,0,98,0,100,0,100,0,0,0,98,0,101,0,98,0,0,0,98,0,101,0,102,0,0,0,98,0,101,0,104,0,0,0,98,0,101,0,106,0,0,0,98,0,101,0,109,0,0,0,98,0,101,0,116,0,0,0,98,0,101,0,119,0,0,0,98,0,101,0,120,0,0,0,98,0,101,0,122,0,0,0,98,0,102,0,100,0,0,0,98,0,102,0,113,0,0,0,98,0,102,0,116,0,0,0,98,0,103,0,99,0,0,0,98,0,103,0,109,0,0,0,98,0,103,0,110,0,0,0,98,0,103,0,120,0,0,0,98,0,104,0,98,0,0,0,98,0,104,0,103,0,0,0,98,0,104,0,105,0,0,0,98,0,104,0,107,0,0,0,98,0,104,0,108,0,0,0,98,0,104,0,121,0,0,0,98,0,105,0,98,0,0,0,98,0,105,0,99,0,0,0,98,0,105,0,103,0,0,0,98,0,105,0,109,0,0,0,98,0,105,0,110,0,0,0,98,0,105,0,111,0,0,0,98,0,105,0,113,0,0,0,98,0,105,0,114,0,0,0,98,0,106,0,100,0,0,0,98,0,106,0,104,0,0,0,98,0,106,0,105,0,0,0,98,0,106,0,106,0,0,0,98,0,106,0,110,0,0,0,98,0,106,0,111,0,0,0,98,0,106,0,112,0,0,0,98,0,106,0,113,0,0,0,98,0,106,0,114,0,0,0,98,0,106,0,116,0,0,0,98,0,106,0,122,0,0,0,98,0,107,0,98,0,0,0,98,0,107,0,99,0,0,0,98,0,107,0,109,0,0,0,98,0,107,0,113,0,0,0,98,0,107,0,118,0,0,0,98,0,108,0,97,0,0,0,98,0,108,0,103,0,0,0,98,0,108,0,116,0,0,0,98,0,109,0,102,0,0,0,98,0,109,0,104,0,0,0,98,0,109,0,107,0,0,0,98,0,109,0,113,0,0,0,98,0,109,0,117,0,0,0,98,0,110,0,99,0,0,0,98,0,110,0,103,0,0,0,98,0,110,0,109,0,0,0,98,0,110,0,112,0,0,0,98,0,111,0,106,0,0,0,98,0,111,0,109,0,0,0,98,0,111,0,110,0,0,0,98,0,112,0,112,0,0,0,98,0,112,0,121,0,0,0,98,0,113,0,99,0,0,0,98,0,113,0,105,0,0,0,98,0,113,0,112,0,0,0,98,0,113,0,118,0,0,0,98,0,114,0,97,0,0,0,98,0,114,0,104,0,0,0,98,0,114,0,120,0,0,0,98,0,114,0,122,0,0,0,98,0,115,0,106,0,0,0,98,0,115,0,115,0,0,0,98,0,115,0,116,0,0,0,98,0,116,0,98,0,0,0,98,0,116,0,111,0,0,0,98,0,116,0,116,0,0,0,98,0,116,0,118,0,0,0,98,0,117,0,99,0,0,0,98,0,117,0,100,0,0,0,98,0,117,0,107,0,0,0,98,0,117,0,109,0,0,0,98,0,117,0,111,0,0,0,98,0,117,0,114,0,0,0,98,0,117,0,115,0,0,0,98,0,117,0,117,0,0,0,98,0,118,0,98,0,0,0,98,0,119,0,100,0,0,0,98,0,119,0,114,0,0,0,98,0,120,0,107,0,0,0,98,0,120,0,114,0,0,0,98,0,121,0,101,0,0,0,98,0,121,0,110,0,0,0,98,0,121,0,114,0,0,0,98,0,121,0,115,0,0,0,98,0,121,0,118,0,0,0,98,0,121,0,120,0,0,0,98,0,122,0,97,0,0,0,98,0,122,0,99,0,0,0,98,0,122,0,101,0,0,0,98,0,122,0,102,0,0,0,98,0,122,0,104,0,0,0,98,0,122,0,119,0,0,0,99,0,97,0,100,0,0,0,99,0,97,0,110,0,0,0,99,0,97,0,120,0,0,0,99,0,98,0,106,0,0,0,99,0,99,0,104,0,0,0,99,0,99,0,112,0,0,0,99,0,99,0,113,0,0,0,99,0,101,0,98,0,0,0,99,0,102,0,97,0,0,0,99,0,103,0,103,0,0,0,99,0,104,0,105,0,0,0,99,0,104,0,107,0,0,0,99,0,104,0,112,0,0,0,99,0,104,0,114,0,0,0,99,0,105,0,99,0,0,0,99,0,105,0,114,0,0,0,99,0,106,0,97,0,0,0,99,0,106,0,109,0,0,0,99,0,106,0,114,0,0,0,99,0,107,0,97,0,0,0,99,0,107,0,98,0,0,0,99,0,107,0,108,0,0,0,99,0,107,0,111,0,0,0,99,0,107,0,121,0,0,0,99,0,108,0,97,0,0,0,99,0,108,0,99,0,0,0,99,0,108,0,100,0,0,0,99,0,109,0,101,0,0,0,99,0,109,0,107,0,0,0,99,0,109,0,110,0,0,0,99,0,109,0,114,0,0,0,99,0,111,0,112,0,0,0,99,0,111,0,121,0,0,0,99,0,112,0,115,0,0,0,99,0,114,0,103,0,0,0,99,0,114,0,104,0,0,0,99,0,114,0,107,0,0,0,99,0,114,0,108,0,0,0,99,0,114,0,115,0,0,0,99,0,115,0,98,0,0,0,99,0,115,0,119,0,0,0,99,0,116,0,100,0,0,0,99,0,119,0,100,0,0,0,99,0,122,0,101,0,0,0,100,0,97,0,100,0,0,0,100,0,97,0,102,0,0,0,100,0,97,0,103,0,0,0,100,0,97,0,104,0,0,0,100,0,97,0,107,0,0,0,100,0,97,0,112,0,0,0,100,0,97,0,114,0,0,0,100,0,97,0,118,0,0,0,100,0,98,0,100,0,0,0,100,0,98,0,113,0,0,0,100,0,98,0,116,0,0,0,100,0,99,0,99,0,0,0,100,0,100,0,110,0,0,0,100,0,101,0,100,0,0,0,100,0,101,0,108,0,0,0,100,0,101,0,118,0,0,0,100,0,103,0,97,0,0,0,100,0,103,0,104,0,0,0,100,0,103,0,105,0,0,0,100,0,103,0,111,0,0,0,100,0,103,0,114,0,0,0,100,0,103,0,122,0,0,0,100,0,104,0,100,0,0,0,100,0,105,0,97,0,0,0,100,0,105,0,102,0,0,0,100,0,105,0,107,0,0,0,100,0,105,0,110,0,0,0,100,0,105,0,113,0,0,0,100,0,105,0,116,0,0,0,100,0,106,0,101,0,0,0,100,0,106,0,108,0,0,0,100,0,107,0,108,0,0,0,100,0,109,0,102,0,0,0,100,0,111,0,98,0,0,0,100,0,111,0,112,0,0,0,100,0,111,0,119,0,0,0,100,0,114,0,104,0,0,0,100,0,114,0,105,0,0,0,100,0,114,0,108,0,0,0,100,0,114,0,114,0,0,0,100,0,114,0,115,0,0,0,100,0,115,0,98,0,0,0,100,0,116,0,100,0,0,0,100,0,116,0,109,0,0,0,100,0,116,0,115,0,0,0,100,0,117,0,97,0,0,0,100,0,117,0,99,0,0,0,100,0,117,0,100,0,0,0,100,0,117,0,103,0,0,0,100,0,117,0,106,0,0,0,100,0,117,0,116,0,0,0,100,0,117,0,122,0,0,0,100,0,118,0,97,0,0,0,100,0,119,0,108,0,0,0,100,0,119,0,117,0,0,0,100,0,119,0,119,0,0,0,100,0,121,0,111,0,0,0,100,0,121,0,117,0,0,0,100,0,122,0,101,0,0,0,100,0,122,0,103,0,0,0,101,0,98,0,107,0,0,0,101,0,98,0,117,0,0,0,101,0,102,0,105,0,0,0,101,0,103,0,108,0,0,0,101,0,103,0,121,0,0,0,101,0,107,0,97,0,0,0,101,0,107,0,99,0,0,0,101,0,107,0,107,0,0,0,101,0,108,0,112,0,0,0,101,0,109,0,105,0,0,0,101,0,109,0,120,0,0,0,101,0,110,0,110,0,0,0,101,0,110,0,113,0,0,0,101,0,114,0,105,0,0,0,101,0,115,0,107,0,0,0,101,0,115,0,117,0,0,0,101,0,116,0,114,0,0,0,101,0,116,0,116,0,0,0,101,0,116,0,117,0,0,0,101,0,116,0,120,0,0,0,101,0,119,0,111,0,0,0,101,0,120,0,116,0,0,0,102,0,97,0,97,0,0,0,102,0,97,0,98,0,0,0,102,0,97,0,103,0,0,0,102,0,97,0,105,0,0,0,102,0,97,0,110,0,0,0,102,0,97,0,116,0,0,0,102,0,98,0,108,0,0,0,102,0,102,0,105,0,0,0,102,0,102,0,109,0,0,0,102,0,105,0,97,0,0,0,102,0,105,0,116,0,0,0,102,0,108,0,114,0,0,0,102,0,109,0,112,0,0,0,102,0,111,0,100,0,0,0,102,0,111,0,110,0,0,0,102,0,111,0,114,0,0,0,102,0,112,0,101,0,0,0,102,0,113,0,115,0,0,0,102,0,114,0,99,0,0,0,102,0,114,0,101,0,0,0,102,0,114,0,112,0,0,0,102,0,114,0,114,0,0,0,102,0,114,0,115,0,0,0,102,0,117,0,98,0,0,0,102,0,117,0,99,0,0,0,102,0,117,0,100,0,0,0,102,0,117,0,101,0,0,0,102,0,117,0,102,0,0,0,102,0,117,0,104,0,0,0,102,0,117,0,113,0,0,0,102,0,117,0,114,0,0,0,102,0,117,0,118,0,0,0,102,0,117,0,121,0,0,0,102,0,118,0,114,0,0,0,103,0,97,0,97,0,0,0,103,0,97,0,102,0,0,0,103,0,97,0,103,0,0,0,103,0,97,0,104,0,0,0,103,0,97,0,106,0,0,0,103,0,97,0,108,0,0,0,103,0,97,0,110,0,0,0,103,0,97,0,118,0,0,0,103,0,97,0,119,0,0,0,103,0,97,0,121,0,0,0,103,0,97,0,122,0,0,0,103,0,98,0,99,0,0,0,103,0,98,0,102,0,0,0,103,0,98,0,109,0,0,0,103,0,98,0,111,0,0,0,103,0,98,0,121,0,0,0,103,0,98,0,122,0,0,0,103,0,99,0,114,0,0,0,103,0,100,0,101,0,0,0,103,0,100,0,106,0,0,0,103,0,100,0,110,0,0,0,103,0,100,0,114,0,0,0,103,0,101,0,98,0,0,0,103,0,101,0,106,0,0,0,103,0,101,0,108,0,0,0,103,0,101,0,111,0,0,0,103,0,101,0,114,0,0,0,103,0,101,0,122,0,0,0,103,0,102,0,107,0,0,0,103,0,102,0,120,0,0,0,103,0,103,0,110,0,0,0,103,0,103,0,111,0,0,0,103,0,103,0,114,0,0,0,103,0,104,0,115,0,0,0,103,0,105,0,108,0,0,0,103,0,105,0,109,0,0,0,103,0,105,0,111,0,0,0,103,0,106,0,107,0,0,0,103,0,106,0,110,0,0,0,103,0,106,0,117,0,0,0,103,0,107,0,112,0,0,0,103,0,108,0,105,0,0,0,103,0,108,0,107,0,0,0,103,0,109,0,109,0,0,0,103,0,109,0,118,0,0,0,103,0,110,0,100,0,0,0,103,0,110,0,103,0,0,0,103,0,110,0,111,0,0,0,103,0,111,0,100,0,0,0,103,0,111,0,102,0,0,0,103,0,111,0,105,0,0,0,103,0,111,0,109,0,0,0,103,0,111,0,114,0,0,0,103,0,111,0,115,0,0,0,103,0,111,0,116,0,0,0,103,0,114,0,101,0,0,0,103,0,114,0,116,0,0,0,103,0,114,0,119,0,0,0,103,0,115,0,119,0,0,0,103,0,116,0,105,0,0,0,103,0,116,0,117,0,0,0,103,0,117,0,98,0,0,0,103,0,117,0,99,0,0,0,103,0,117,0,100,0,0,0,103,0,117,0,103,0,0,0,103,0,117,0,114,0,0,0,103,0,117,0,118,0,0,0,103,0,117,0,119,0,0,0,103,0,117,0,120,0,0,0,103,0,117,0,122,0,0,0,103,0,118,0,102,0,0,0,103,0,118,0,115,0,0,0,103,0,119,0,99,0,0,0,103,0,119,0,105,0,0,0,103,0,119,0,116,0,0,0,103,0,121,0,97,0,0,0,104,0,97,0,107,0,0,0,104,0,97,0,122,0,0,0,104,0,98,0,98,0,0,0,104,0,100,0,110,0,0,0,104,0,100,0,121,0,0,0,104,0,101,0,97,0,0,0,104,0,105,0,97,0,0,0,104,0,105,0,103,0,0,0,104,0,105,0,104,0,0,0,104,0,105,0,108,0,0,0,104,0,105,0,109,0,0,0,104,0,108,0,97,0,0,0,104,0,108,0,101,0,0,0,104,0,109,0,100,0,0,0,104,0,109,0,110,0,0,0,104,0,109,0,116,0,0,0,104,0,110,0,100,0,0,0,104,0,110,0,101,0,0,0,104,0,111,0,116,0,0,0,104,0,114,0,114,0,0,0,104,0,115,0,98,0,0,0,104,0,115,0,110,0,0,0,104,0,117,0,105,0,0,0,104,0,117,0,114,0,0,0,104,0,117,0,119,0,0,0,105,0,97,0,110,0,0,0,105,0,97,0,114,0,0,0,105,0,98,0,98,0,0,0,105,0,98,0,105,0,0,0,105,0,98,0,121,0,0,0,105,0,99,0,97,0,0,0,105,0,99,0,101,0,0,0,105,0,99,0,104,0,0,0,105,0,100,0,105,0,0,0,105,0,100,0,117,0,0,0,105,0,102,0,101,0,0,0,105,0,103,0,98,0,0,0,105,0,103,0,101,0,0,0,105,0,106,0,106,0,0,0,105,0,107,0,101,0,0,0,105,0,107,0,107,0,0,0,105,0,107,0,119,0,0,0,105,0,107,0,120,0,0,0,105,0,108,0,108,0,0,0,105,0,108,0,109,0,0,0,105,0,108,0,111,0,0,0,105,0,108,0,119,0,0,0,105,0,109,0,111,0,0,0,105,0,111,0,117,0,0,0,105,0,114,0,105,0,0,0,105,0,115,0,107,0,0,0,105,0,116,0,100,0,0,0,105,0,119,0,109,0,0,0,105,0,119,0,115,0,0,0,105,0,122,0,104,0,0,0,106,0,97,0,98,0,0,0,106,0,97,0,108,0,0,0,106,0,97,0,109,0,0,0,106,0,97,0,114,0,0,0,106,0,98,0,107,0,0,0,106,0,98,0,111,0,0,0,106,0,98,0,117,0,0,0,106,0,101,0,103,0,0,0,106,0,101,0,110,0,0,0,106,0,103,0,111,0,0,0,106,0,105,0,98,0,0,0,106,0,109,0,99,0,0,0,106,0,109,0,108,0,0,0,106,0,114,0,97,0,0,0,106,0,114,0,98,0,0,0,106,0,117,0,116,0,0,0,107,0,97,0,98,0,0,0,107,0,97,0,99,0,0,0,107,0,97,0,100,0,0,0,107,0,97,0,105,0,0,0,107,0,97,0,106,0,0,0,107,0,97,0,107,0,0,0,107,0,97,0,109,0,0,0,107,0,97,0,111,0,0,0,107,0,97,0,119,0,0,0,107,0,98,0,112,0,0,0,107,0,98,0,113,0,0,0,107,0,98,0,120,0,0,0,107,0,98,0,121,0,0,0,107,0,99,0,103,0,0,0,107,0,99,0,107,0,0,0,107,0,99,0,108,0,0,0,107,0,99,0,116,0,0,0,107,0,100,0,101,0,0,0,107,0,100,0,104,0,0,0,107,0,100,0,108,0,0,0,107,0,101,0,97,0,0,0,107,0,101,0,110,0,0,0,107,0,101,0,122,0,0,0,107,0,102,0,111,0,0,0,107,0,102,0,114,0,0,0,107,0,103,0,99,0,0,0,107,0,103,0,100,0,0,0,107,0,103,0,101,0,0,0,107,0,103,0,102,0,0,0,107,0,103,0,104,0,0,0,107,0,103,0,112,0,0,0,107,0,104,0,98,0,0,0,107,0,104,0,107,0,0,0,107,0,104,0,110,0,0,0,107,0,104,0,113,0,0,0,107,0,104,0,115,0,0,0,107,0,104,0,119,0,0,0,107,0,105,0,106,0,0,0,107,0,105,0,117,0,0,0,107,0,105,0,119,0,0,0,107,0,106,0,100,0,0,0,107,0,106,0,103,0,0,0,107,0,106,0,115,0,0,0,107,0,106,0,121,0,0,0,107,0,107,0,99,0,0,0,107,0,108,0,113,0,0,0,107,0,108,0,116,0,0,0,107,0,108,0,120,0,0,0,107,0,109,0,104,0,0,0,107,0,109,0,108,0,0,0,107,0,109,0,111,0,0,0,107,0,109,0,114,0,0,0,107,0,109,0,115,0,0,0,107,0,109,0,117,0,0,0,107,0,109,0,119,0,0,0,107,0,110,0,99,0,0,0,107,0,110,0,102,0,0,0,107,0,110,0,103,0,0,0,107,0,110,0,110,0,0,0,107,0,110,0,112,0,0,0,107,0,111,0,105,0,0,0,107,0,111,0,106,0,0,0,107,0,111,0,108,0,0,0,107,0,111,0,115,0,0,0,107,0,111,0,122,0,0,0,107,0,112,0,102,0,0,0,107,0,112,0,111,0,0,0,107,0,112,0,112,0,0,0,107,0,112,0,114,0,0,0,107,0,112,0,118,0,0,0,107,0,112,0,120,0,0,0,107,0,113,0,98,0,0,0,107,0,113,0,102,0,0,0,107,0,113,0,115,0,0,0,107,0,113,0,121,0,0,0,107,0,114,0,99,0,0,0,107,0,114,0,105,0,0,0,107,0,114,0,106,0,0,0,107,0,114,0,108,0,0,0,107,0,114,0,109,0,0,0,107,0,114,0,115,0,0,0,107,0,115,0,98,0,0,0,107,0,115,0,100,0,0,0,107,0,115,0,102,0,0,0,107,0,115,0,104,0,0,0,107,0,115,0,106,0,0,0,107,0,115,0,112,0,0,0,107,0,115,0,114,0,0,0,107,0,116,0,98,0,0,0,107,0,116,0,109,0,0,0,107,0,116,0,111,0,0,0,107,0,116,0,122,0,0,0,107,0,117,0,98,0,0,0,107,0,117,0,100,0,0,0,107,0,117,0,101,0,0,0,107,0,117,0,106,0,0,0,107,0,117,0,109,0,0,0,107,0,117,0,110,0,0,0,107,0,117,0,112,0,0,0,107,0,117,0,115,0,0,0,107,0,118,0,103,0,0,0,107,0,118,0,114,0,0,0,107,0,118,0,115,0,0,0,107,0,118,0,120,0,0,0,107,0,119,0,106,0,0,0,107,0,119,0,107,0,0,0,107,0,119,0,111,0,0,0,107,0,119,0,113,0,0,0,107,0,119,0,118,0,0,0,107,0,120,0,97,0,0,0,107,0,120,0,99,0,0,0,107,0,120,0,101,0,0,0,107,0,120,0,109,0,0,0,107,0,120,0,112,0,0,0,107,0,120,0,114,0,0,0,107,0,120,0,119,0,0,0,107,0,120,0,122,0,0,0,107,0,121,0,101,0,0,0,107,0,121,0,120,0,0,0,107,0,122,0,114,0,0,0,108,0,97,0,98,0,0,0,108,0,97,0,100,0,0,0,108,0,97,0,106,0,0,0,108,0,97,0,107,0,0,0,108,0,97,0,115,0,0,0,108,0,98,0,101,0,0,0,108,0,98,0,107,0,0,0,108,0,98,0,117,0,0,0,108,0,98,0,119,0,0,0,108,0,99,0,109,0,0,0,108,0,99,0,112,0,0,0,108,0,99,0,113,0,0,0,108,0,100,0,98,0,0,0,108,0,101,0,100,0,0,0,108,0,101,0,101,0,0,0,108,0,101,0,103,0,0,0,108,0,101,0,109,0,0,0,108,0,101,0,112,0,0,0,108,0,101,0,113,0,0,0,108,0,101,0,117,0,0,0,108,0,101,0,122,0,0,0,108,0,103,0,103,0,0,0,108,0,105,0,97,0,0,0,108,0,105,0,100,0,0,0,108,0,105,0,103,0,0,0,108,0,105,0,104,0,0,0,108,0,105,0,105,0,0,0,108,0,105,0,106,0,0,0,108,0,105,0,108,0,0,0,108,0,105,0,115,0,0,0,108,0,106,0,112,0,0,0,108,0,107,0,105,0,0,0,108,0,107,0,116,0,0,0,108,0,108,0,101,0,0,0,108,0,108,0,110,0,0,0,108,0,108,0,111,0,0,0,108,0,109,0,109,0,0,0,108,0,109,0,110,0,0,0,108,0,109,0,111,0,0,0,108,0,109,0,112,0,0,0,108,0,110,0,115,0,0,0,108,0,110,0,117,0,0,0,108,0,111,0,107,0,0,0,108,0,111,0,108,0,0,0,108,0,111,0,115,0,0,0,108,0,111,0,122,0,0,0,108,0,114,0,99,0,0,0,108,0,114,0,114,0,0,0,108,0,117,0,97,0,0,0,108,0,117,0,111,0,0,0,108,0,117,0,122,0,0,0,108,0,118,0,115,0,0,0,108,0,119,0,108,0,0,0,108,0,122,0,122,0,0,0,109,0,97,0,99,0,0,0,109,0,97,0,100,0,0,0,109,0,97,0,102,0,0,0,109,0,97,0,103,0,0,0,109,0,97,0,111,0,0,0,109,0,97,0,115,0,0,0,109,0,97,0,119,0,0,0,109,0,97,0,121,0,0,0,109,0,97,0,122,0,0,0,109,0,98,0,111,0,0,0,109,0,98,0,113,0,0,0,109,0,98,0,117,0,0,0,109,0,98,0,119,0,0,0,109,0,99,0,105,0,0,0,109,0,99,0,112,0,0,0,109,0,99,0,113,0,0,0,109,0,99,0,114,0,0,0,109,0,99,0,117,0,0,0,109,0,100,0,97,0,0,0,109,0,100,0,102,0,0,0,109,0,100,0,104,0,0,0,109,0,100,0,106,0,0,0,109,0,100,0,114,0,0,0,109,0,100,0,120,0,0,0,109,0,101,0,100,0,0,0,109,0,101,0,103,0,0,0,109,0,101,0,107,0,0,0,109,0,101,0,114,0,0,0,109,0,101,0,116,0,0,0,109,0,102,0,101,0,0,0,109,0,102,0,110,0,0,0,109,0,102,0,113,0,0,0,109,0,103,0,104,0,0,0,109,0,103,0,108,0,0,0,109,0,103,0,111,0,0,0,109,0,103,0,112,0,0,0,109,0,103,0,120,0,0,0,109,0,103,0,121,0,0,0,109,0,104,0,105,0,0,0,109,0,104,0,108,0,0,0,109,0,104,0,114,0,0,0,109,0,105,0,99,0,0,0,109,0,105,0,102,0,0,0,109,0,105,0,110,0,0,0,109,0,105,0,119,0,0,0,109,0,107,0,105,0,0,0,109,0,107,0,108,0,0,0,109,0,107,0,112,0,0,0,109,0,108,0,101,0,0,0,109,0,108,0,112,0,0,0,109,0,108,0,115,0,0,0,109,0,109,0,111,0,0,0,109,0,109,0,117,0,0,0,109,0,109,0,120,0,0,0,109,0,110,0,97,0,0,0,109,0,110,0,102,0,0,0,109,0,110,0,107,0,0,0,109,0,110,0,116,0,0,0,109,0,111,0,97,0,0,0,109,0,111,0,101,0,0,0,109,0,111,0,102,0,0,0,109,0,111,0,104,0,0,0,109,0,111,0,109,0,0,0,109,0,111,0,115,0,0,0,109,0,111,0,120,0,0,0,109,0,112,0,112,0,0,0,109,0,112,0,115,0,0,0,109,0,112,0,116,0,0,0,109,0,112,0,120,0,0,0,109,0,113,0,108,0,0,0,109,0,114,0,100,0,0,0,109,0,114,0,106,0,0,0,109,0,114,0,111,0,0,0,109,0,115,0,116,0,0,0,109,0,116,0,99,0,0,0,109,0,116,0,102,0,0,0,109,0,116,0,105,0,0,0,109,0,116,0,109,0,0,0,109,0,116,0,114,0,0,0,109,0,117,0,97,0,0,0,109,0,117,0,112,0,0,0,109,0,117,0,114,0,0,0,109,0,117,0,115,0,0,0,109,0,118,0,97,0,0,0,109,0,118,0,110,0,0,0,109,0,118,0,121,0,0,0,109,0,119,0,100,0,0,0,109,0,119,0,106,0,0,0,109,0,119,0,107,0,0,0,109,0,119,0,118,0,0,0,109,0,119,0,119,0,0,0,109,0,120,0,99,0,0,0,109,0,120,0,109,0,0,0,109,0,121,0,100,0,0,0,109,0,121,0,107,0,0,0,109,0,121,0,109,0,0,0,109,0,121,0,116,0,0,0,109,0,121,0,118,0,0,0,109,0,121,0,119,0,0,0,109,0,121,0,120,0,0,0,109,0,121,0,122,0,0,0,109,0,122,0,107,0,0,0,109,0,122,0,109,0,0,0,109,0,122,0,110,0,0,0,109,0,122,0,112,0,0,0,109,0,122,0,119,0,0,0,109,0,122,0,122,0,0,0,110,0,97,0,99,0,0,0,110,0,97,0,100,0,0,0,110,0,97,0,102,0,0,0,110,0,97,0,110,0,0,0,110,0,97,0,112,0,0,0,110,0,97,0,113,0,0,0,110,0,97,0,115,0,0,0,110,0,98,0,102,0,0,0,110,0,98,0,114,0,0,0,110,0,98,0,120,0,0,0,110,0,99,0,97,0,0,0,110,0,99,0,102,0,0,0,110,0,99,0,104,0,0,0,110,0,99,0,111,0,0,0,110,0,99,0,112,0,0,0,110,0,99,0,113,0,0,0,110,0,100,0,99,0,0,0,110,0,100,0,115,0,0,0,110,0,101,0,98,0,0,0,110,0,101,0,120,0,0,0,110,0,103,0,97,0,0,0,110,0,103,0,98,0,0,0,110,0,103,0,108,0,0,0,110,0,103,0,116,0,0,0,110,0,104,0,98,0,0,0,110,0,104,0,119,0,0,0,110,0,105,0,102,0,0,0,110,0,105,0,106,0,0,0,110,0,105,0,117,0,0,0,110,0,105,0,121,0,0,0,110,0,105,0,122,0,0,0,110,0,106,0,111,0,0,0,110,0,106,0,122,0,0,0,110,0,107,0,111,0,0,0,110,0,108,0,114,0,0,0,110,0,109,0,122,0,0,0,110,0,110,0,102,0,0,0,110,0,110,0,104,0,0,0,110,0,110,0,107,0,0,0,110,0,110,0,109,0,0,0,110,0,110,0,112,0,0,0,110,0,110,0,115,0,0,0,110,0,110,0,120,0,0,0,110,0,111,0,100,0,0,0,110,0,111,0,101,0,0,0,110,0,111,0,108,0,0,0,110,0,111,0,110,0,0,0,110,0,111,0,111,0,0,0,110,0,111,0,112,0,0,0,110,0,111,0,117,0,0,0,110,0,112,0,105,0,0,0,110,0,113,0,111,0,0,0,110,0,114,0,98,0,0,0,110,0,114,0,107,0,0,0,110,0,114,0,117,0,0,0,110,0,115,0,107,0,0,0,110,0,115,0,115,0,0,0,110,0,115,0,116,0,0,0,110,0,116,0,109,0,0,0,110,0,116,0,114,0,0,0,110,0,116,0,115,0,0,0,110,0,117,0,105,0,0,0,110,0,117,0,110,0,0,0,110,0,117,0,112,0,0,0,110,0,117,0,115,0,0,0,110,0,117,0,118,0,0,0,110,0,117,0,120,0,0,0,110,0,119,0,98,0,0,0,110,0,119,0,111,0,0,0,110,0,120,0,113,0,0,0,110,0,120,0,114,0,0,0,110,0,120,0,117,0,0,0,110,0,121,0,99,0,0,0,110,0,121,0,109,0,0,0,110,0,121,0,110,0,0,0,110,0,122,0,105,0,0,0,111,0,103,0,99,0,0,0,111,0,106,0,103,0,0,0,111,0,106,0,115,0,0,0,111,0,107,0,97,0,0,0,111,0,107,0,114,0,0,0,111,0,108,0,97,0,0,0,111,0,110,0,110,0,0,0,111,0,110,0,115,0,0,0,111,0,112,0,97,0,0,0,111,0,112,0,109,0,0,0,111,0,114,0,111,0,0,0,111,0,114,0,117,0,0,0,111,0,114,0,121,0,0,0,111,0,115,0,97,0,0,0,111,0,116,0,107,0,0,0,111,0,117,0,105,0,0,0,111,0,117,0,110,0,0,0,111,0,122,0,109,0,0,0,112,0,97,0,103,0,0,0,112,0,97,0,109,0,0,0,112,0,97,0,116,0,0,0,112,0,97,0,117,0,0,0,112,0,98,0,105,0,0,0,112,0,98,0,117,0,0,0,112,0,99,0,100,0,0,0,112,0,99,0,109,0,0,0,112,0,99,0,114,0,0,0,112,0,100,0,99,0,0,0,112,0,100,0,116,0,0,0,112,0,101,0,100,0,0,0,112,0,101,0,114,0,0,0,112,0,101,0,115,0,0,0,112,0,101,0,120,0,0,0,112,0,102,0,108,0,0,0,112,0,104,0,108,0,0,0,112,0,104,0,110,0,0,0,112,0,104,0,114,0,0,0,112,0,105,0,108,0,0,0,112,0,105,0,112,0,0,0,112,0,107,0,111,0,0,0,112,0,108,0,97,0,0,0,112,0,108,0,116,0,0,0,112,0,109,0,99,0,0,0,112,0,109,0,115,0,0,0,112,0,109,0,117,0,0,0,112,0,110,0,98,0,0,0,112,0,110,0,103,0,0,0,112,0,110,0,110,0,0,0,112,0,110,0,116,0,0,0,112,0,111,0,110,0,0,0,112,0,112,0,111,0,0,0,112,0,112,0,114,0,0,0,112,0,113,0,109,0,0,0,112,0,114,0,97,0,0,0,112,0,114,0,100,0,0,0,112,0,114,0,103,0,0,0,112,0,114,0,121,0,0,0,112,0,115,0,115,0,0,0,112,0,116,0,112,0,0,0,112,0,117,0,98,0,0,0,112,0,117,0,117,0,0,0,112,0,117,0,122,0,0,0,112,0,119,0,97,0,0,0,113,0,117,0,99,0,0,0,113,0,117,0,103,0,0,0,113,0,117,0,104,0,0,0,114,0,97,0,111,0,0,0,114,0,97,0,113,0,0,0,114,0,97,0,115,0,0,0,114,0,99,0,102,0,0,0,114,0,101,0,108,0,0,0,114,0,101,0,115,0,0,0,114,0,105,0,97,0,0,0,114,0,106,0,115,0,0,0,114,0,107,0,116,0,0,0,114,0,109,0,102,0,0,0,114,0,109,0,111,0,0,0,114,0,109,0,114,0,0,0,114,0,109,0,116,0,0,0,114,0,109,0,117,0,0,0,114,0,109,0,120,0,0,0,114,0,109,0,121,0,0,0,114,0,110,0,97,0,0,0,114,0,110,0,103,0,0,0,114,0,111,0,98,0,0,0,114,0,111,0,102,0,0,0,114,0,111,0,109,0,0,0,114,0,114,0,111,0,0,0,114,0,116,0,109,0,0,0,114,0,117,0,101,0,0,0,114,0,117,0,103,0,0,0,114,0,117,0,109,0,0,0,114,0,119,0,107,0,0,0,114,0,121,0,117,0,0,0,115,0,97,0,104,0,0,0,115,0,97,0,112,0,0,0,115,0,97,0,113,0,0,0,115,0,97,0,115,0,0,0,115,0,97,0,116,0,0,0,115,0,97,0,118,0,0,0,115,0,97,0,122,0,0,0,115,0,98,0,97,0,0,0,115,0,98,0,112,0,0,0,115,0,99,0,99,0,0,0,115,0,99,0,107,0,0,0,115,0,99,0,108,0,0,0,115,0,99,0,110,0,0,0,115,0,99,0,111,0,0,0,115,0,99,0,114,0,0,0,115,0,100,0,99,0,0,0,115,0,100,0,104,0,0,0,115,0,101,0,102,0,0,0,115,0,101,0,104,0,0,0,115,0,101,0,105,0,0,0,115,0,101,0,115,0,0,0,115,0,103,0,97,0,0,0,115,0,103,0,115,0,0,0,115,0,103,0,119,0,0,0,115,0,103,0,122,0,0,0,115,0,104,0,105,0,0,0,115,0,104,0,107,0,0,0,115,0,104,0,110,0,0,0,115,0,105,0,100,0,0,0,115,0,105,0,103,0,0,0,115,0,105,0,108,0,0,0,115,0,105,0,109,0,0,0,115,0,106,0,114,0,0,0,115,0,107,0,99,0,0,0,115,0,107,0,107,0,0,0,115,0,108,0,100,0,0,0,115,0,108,0,105,0,0,0,115,0,108,0,108,0,0,0,115,0,108,0,111,0,0,0,115,0,108,0,121,0,0,0,115,0,109,0,106,0,0,0,115,0,109,0,110,0,0,0,115,0,109,0,112,0,0,0,115,0,109,0,113,0,0,0,115,0,110,0,99,0,0,0,115,0,110,0,107,0,0,0,115,0,110,0,112,0,0,0,115,0,110,0,120,0,0,0,115,0,110,0,121,0,0,0,115,0,110,0,122,0,0,0,115,0,111,0,107,0,0,0,115,0,111,0,113,0,0,0,115,0,111,0,117,0,0,0,115,0,111,0,121,0,0,0,115,0,112,0,100,0,0,0,115,0,112,0,108,0,0,0,115,0,112,0,121,0,0,0,115,0,114,0,98,0,0,0,115,0,114,0,99,0,0,0,115,0,114,0,114,0,0,0,115,0,115,0,100,0,0,0,115,0,115,0,103,0,0,0,115,0,115,0,121,0,0,0,115,0,116,0,113,0,0,0,115,0,117,0,97,0,0,0,115,0,117,0,101,0,0,0,115,0,117,0,106,0,0,0,115,0,117,0,108,0,0,0,115,0,117,0,109,0,0,0,115,0,117,0,115,0,0,0,115,0,119,0,98,0,0,0,115,0,119,0,99,0,0,0,115,0,119,0,103,0,0,0,115,0,119,0,104,0,0,0,115,0,119,0,112,0,0,0,115,0,119,0,118,0,0,0,115,0,120,0,110,0,0,0,115,0,120,0,119,0,0,0,115,0,122,0,108,0,0,0,116,0,97,0,110,0,0,0,116,0,97,0,113,0,0,0,116,0,98,0,99,0,0,0,116,0,98,0,100,0,0,0,116,0,98,0,102,0,0,0,116,0,98,0,122,0,0,0,116,0,99,0,105,0,0,0,116,0,100,0,100,0,0,0,116,0,100,0,102,0,0,0,116,0,100,0,103,0,0,0,116,0,100,0,104,0,0,0,116,0,101,0,100,0,0,0,116,0,101,0,109,0,0,0,116,0,101,0,111,0,0,0,116,0,103,0,99,0,0,0,116,0,103,0,103,0,0,0,116,0,103,0,111,0,0,0,116,0,104,0,99,0,0,0,116,0,104,0,108,0,0,0,116,0,104,0,113,0,0,0,116,0,104,0,119,0,0,0,116,0,104,0,120,0,0,0,116,0,105,0,98,0,0,0,116,0,105,0,101,0,0,0,116,0,105,0,102,0,0,0,116,0,105,0,109,0,0,0,116,0,105,0,118,0,0,0,116,0,107,0,116,0,0,0,116,0,108,0,102,0,0,0,116,0,108,0,119,0,0,0,116,0,108,0,120,0,0,0,116,0,108,0,121,0,0,0,116,0,109,0,112,0,0,0,116,0,110,0,101,0,0,0,116,0,110,0,104,0,0,0,116,0,111,0,102,0,0,0,116,0,111,0,103,0,0,0,116,0,111,0,107,0,0,0,116,0,111,0,113,0,0,0,116,0,112,0,105,0,0,0,116,0,112,0,109,0,0,0,116,0,112,0,111,0,0,0,116,0,112,0,122,0,0,0,116,0,113,0,111,0,0,0,116,0,114,0,117,0,0,0,116,0,114,0,118,0,0,0,116,0,114,0,119,0,0,0,116,0,115,0,103,0,0,0,116,0,115,0,106,0,0,0,116,0,116,0,100,0,0,0,116,0,116,0,106,0,0,0,116,0,116,0,113,0,0,0,116,0,116,0,114,0,0,0,116,0,117,0,104,0,0,0,116,0,117,0,108,0,0,0,116,0,117,0,109,0,0,0,116,0,117,0,113,0,0,0,116,0,118,0,108,0,0,0,116,0,118,0,117,0,0,0,116,0,119,0,104,0,0,0,116,0,119,0,109,0,0,0,116,0,119,0,113,0,0,0,116,0,120,0,103,0,0,0,116,0,120,0,111,0,0,0,116,0,121,0,97,0,0,0,116,0,121,0,106,0,0,0,116,0,121,0,118,0,0,0,116,0,122,0,109,0,0,0,117,0,98,0,117,0,0,0,117,0,100,0,105,0,0,0,117,0,100,0,109,0,0,0,117,0,108,0,119,0,0,0,117,0,109,0,98,0,0,0,117,0,109,0,117,0,0,0,117,0,110,0,112,0,0,0,117,0,110,0,120,0,0,0,117,0,114,0,105,0,0,0,117,0,114,0,116,0,0,0,117,0,115,0,97,0,0,0,117,0,118,0,104,0,0,0,117,0,118,0,108,0,0,0,117,0,122,0,110,0,0,0,118,0,97,0,103,0,0,0,118,0,97,0,105,0,0,0,118,0,97,0,110,0,0,0,118,0,101,0,99,0,0,0,118,0,101,0,112,0,0,0,118,0,105,0,99,0,0,0,118,0,105,0,118,0,0,0,118,0,108,0,115,0,0,0,118,0,109,0,102,0,0,0,118,0,109,0,119,0,0,0,118,0,111,0,116,0,0,0,118,0,114,0,111,0,0,0,118,0,117,0,110,0,0,0,118,0,117,0,116,0,0,0,119,0,97,0,106,0,0,0,119,0,97,0,108,0,0,0,119,0,97,0,119,0,0,0,119,0,98,0,112,0,0,0,119,0,98,0,113,0,0,0,119,0,99,0,105,0,0,0,119,0,101,0,114,0,0,0,119,0,103,0,98,0,0,0,119,0,103,0,105,0,0,0,119,0,103,0,119,0,0,0,119,0,104,0,103,0,0,0,119,0,105,0,98,0,0,0,119,0,105,0,118,0,0,0,119,0,108,0,115,0,0,0,119,0,110,0,99,0,0,0,119,0,110,0,105,0,0,0,119,0,110,0,117,0,0,0,119,0,110,0,121,0,0,0,119,0,111,0,98,0,0,0,119,0,111,0,115,0,0,0,119,0,114,0,115,0,0,0,119,0,116,0,109,0,0,0,119,0,117,0,117,0,0,0,119,0,117,0,118,0,0,0,120,0,97,0,118,0,0,0,120,0,98,0,97,0,0,0,120,0,105,0,97,0,0,0,120,0,107,0,104,0,0,0,120,0,108,0,99,0,0,0,120,0,108,0,100,0,0,0,120,0,109,0,102,0,0,0,120,0,110,0,116,0,0,0,120,0,111,0,103,0,0,0,120,0,111,0,110,0,0,0,120,0,112,0,101,0,0,0,120,0,112,0,114,0,0,0,120,0,114,0,98,0,0,0,120,0,114,0,113,0,0,0,120,0,115,0,106,0,0,0,120,0,115,0,109,0,0,0,120,0,119,0,101,0,0,0,121,0,97,0,111,0,0,0,121,0,97,0,112,0,0,0,121,0,97,0,116,0,0,0,121,0,98,0,98,0,0,0,121,0,98,0,100,0,0,0,121,0,98,0,121,0,0,0,121,0,100,0,100,0,0,0,121,0,101,0,114,0,0,0,121,0,103,0,114,0,0,0,121,0,103,0,119,0,0,0,121,0,105,0,121,0,0,0,121,0,108,0,101,0,0,0,121,0,108,0,108,0,0,0,121,0,109,0,97,0,0,0,121,0,110,0,113,0,0,0,121,0,111,0,110,0,0,0,121,0,114,0,98,0,0,0,121,0,114,0,101,0,0,0,121,0,117,0,97,0,0,0,121,0,117,0,106,0,0,0,121,0,117,0,116,0,0,0,121,0,117,0,117,0,0,0,121,0,117,0,119,0,0,0,122,0,97,0,103,0,0,0,122,0,97,0,105,0,0,0,122,0,97,0,112,0,0,0,122,0,100,0,106,0,0,0,122,0,101,0,97,0,0,0,122,0,103,0,104,0,0,0,122,0,104,0,120,0,0,0,122,0,105,0,114,0,0,0,122,0,107,0,100,0,0,0,122,0,107,0,116,0,0,0,122,0,108,0,109,0,0,0,122,0,121,0,98,0,0,0,76,0,97,0,116,0,110,0,0,0,65,0,114,0,97,0,98,0,0,0,68,0,101,0,118,0,97,0,0,0,67,0,121,0,114,0,108,0,0,0,69,0,116,0,104,0,105,0,0,0,72,0,97,0,110,0,116,0,0,0,84,0,104,0,97,0,105,0,0,0,66,0,101,0,110,0,103,0,0,0,67,0,97,0,110,0,115,0,0,0,72,0,97,0,110,0,115,0,0,0,67,0,111,0,112,0,116,0,0,0,72,0,101,0,98,0,114,0,0,0,83,0,117,0,110,0,100,0,0,0,77,0,121,0,109,0,114,0,0,0,71,0,114,0,101,0,107,0,0,0,77,0,97,0,114,0,99,0,0,0,84,0,101,0,108,0,117,0,0,0,82,0,117,0,110,0,114,0,0,0,78,0,115,0,104,0,117,0,0,0,84,0,102,0,110,0,103,0,0,0,84,0,105,0,98,0,116,0,0,0,75,0,116,0,104,0,105,0,0,0,75,0,110,0,100,0,97,0,0,0,87,0,99,0,104,0,111,0,0,0,65,0,118,0,115,0,116,0,0,0,68,0,117,0,112,0,108,0,0,0,71,0,117,0,114,0,117,0,0,0,76,0,105,0,115,0,117,0,0,0,80,0,114,0,116,0,105,0,0,0,71,0,101,0,111,0,114,0,0,0,72,0,109,0,110,0,112,0,0,0,75,0,97,0,110,0,97,0,0,0,75,0,111,0,114,0,101,0,0,0,76,0,97,0,111,0,111,0,0,0,78,0,107,0,111,0,111,0,0,0,84,0,97,0,109,0,108,0,0,0,66,0,114,0,97,0,105,0,0,0,67,0,104,0,97,0,109,0,0,0,67,0,112,0,114,0,116,0,0,0,71,0,108,0,97,0,103,0,0,0,73,0,116,0,97,0,108,0,0,0,74,0,97,0,109,0,111,0,0,0,75,0,97,0,108,0,105,0,0,0,75,0,104,0,111,0,106,0,0,0,77,0,111,0,110,0,103,0,0,0,77,0,114,0,111,0,111,0,0,0,78,0,97,0,103,0,109,0,0,0,79,0,103,0,97,0,109,0,0,0,79,0,115,0,109,0,97,0,0,0,80,0,104,0,97,0,103,0,0,0,83,0,97,0,114,0,98,0,0,0,83,0,104,0,97,0,119,0,0,0,83,0,105,0,100,0,100,0,0,0,83,0,105,0,110,0,104,0,0,0,84,0,97,0,118,0,116,0,0,0,88,0,112,0,101,0,111,0,0,0,72,0,117,0,110,0,103,0,0,0,77,0,117,0,108,0,116,0,0,0,83,0,111,0,121,0,111,0,0,0,83,0,121,0,108,0,111,0,0,0,84,0,111,0,116,0,111,0,0,0,65,0,100,0,108,0,109,0,0,0,65,0,103,0,104,0,98,0,0,0,65,0,104,0,111,0,109,0,0,0,65,0,114,0,109,0,105,0,0,0,65,0,114,0,109,0,110,0,0,0,66,0,97,0,108,0,105,0,0,0,66,0,97,0,109,0,117,0,0,0,66,0,97,0,115,0,115,0,0,0,66,0,97,0,116,0,107,0,0,0,66,0,104,0,107,0,115,0,0,0,66,0,111,0,112,0,111,0,0,0,66,0,114,0,97,0,104,0,0,0,66,0,117,0,103,0,105,0,0,0,66,0,117,0,104,0,100,0,0,0,67,0,97,0,107,0,109,0,0,0,67,0,97,0,114,0,105,0,0,0,67,0,104,0,101,0,114,0,0,0,67,0,104,0,114,0,115,0,0,0,67,0,112,0,109,0,110,0,0,0,68,0,105,0,97,0,107,0,0,0,68,0,111,0,103,0,114,0,0,0,69,0,103,0,121,0,112,0,0,0,69,0,108,0,98,0,97,0,0,0,69,0,108,0,121,0,109,0,0,0,71,0,111,0,110,0,103,0,0,0,71,0,111,0,110,0,109,0,0,0,71,0,111,0,116,0,104,0,0,0,71,0,114,0,97,0,110,0,0,0,71,0,117,0,106,0,114,0,0,0,72,0,97,0,110,0,98,0,0,0,72,0,97,0,110,0,103,0,0,0,72,0,97,0,110,0,105,0,0,0,72,0,97,0,110,0,111,0,0,0,72,0,105,0,114,0,97,0,0,0,72,0,108,0,117,0,119,0,0,0,72,0,109,0,110,0,103,0,0,0,74,0,97,0,118,0,97,0,0,0,74,0,112,0,97,0,110,0,0,0,75,0,97,0,119,0,105,0,0,0,75,0,104,0,97,0,114,0,0,0,75,0,104,0,109,0,114,0,0,0,75,0,105,0,116,0,115,0,0,0,76,0,97,0,110,0,97,0,0,0,76,0,101,0,112,0,99,0,0,0,76,0,105,0,109,0,98,0,0,0,76,0,105,0,110,0,97,0,0,0,76,0,105,0,110,0,98,0,0,0,76,0,121,0,99,0,105,0,0,0,76,0,121,0,100,0,105,0,0,0,77,0,97,0,104,0,106,0,0,0,77,0,97,0,107,0,97,0,0,0,77,0,97,0,110,0,100,0,0,0,77,0,97,0,110,0,105,0,0,0,77,0,101,0,100,0,102,0,0,0,77,0,101,0,110,0,100,0,0,0,77,0,101,0,114,0,99,0,0,0,77,0,101,0,114,0,111,0,0,0,77,0,108,0,121,0,109,0,0,0,77,0,111,0,100,0,105,0,0,0,77,0,116,0,101,0,105,0,0,0,78,0,97,0,110,0,100,0,0,0,78,0,97,0,114,0,98,0,0,0,78,0,98,0,97,0,116,0,0,0,78,0,101,0,119,0,97,0,0,0,79,0,108,0,99,0,107,0,0,0,79,0,114,0,107,0,104,0,0,0,79,0,114,0,121,0,97,0,0,0,79,0,115,0,103,0,101,0,0,0,79,0,117,0,103,0,114,0,0,0,80,0,97,0,108,0,109,0,0,0,80,0,97,0,117,0,99,0,0,0,80,0,101,0,114,0,109,0,0,0,80,0,104,0,108,0,105,0,0,0,80,0,104,0,108,0,112,0,0,0,80,0,104,0,110,0,120,0,0,0,80,0,108,0,114,0,100,0,0,0,82,0,106,0,110,0,103,0,0,0,82,0,111,0,104,0,103,0,0,0,83,0,97,0,109,0,114,0,0,0,83,0,97,0,117,0,114,0,0,0,83,0,103,0,110,0,119,0,0,0,83,0,104,0,114,0,100,0,0,0,83,0,105,0,110,0,100,0,0,0,83,0,111,0,103,0,100,0,0,0,83,0,111,0,103,0,111,0,0,0,83,0,111,0,114,0,97,0,0,0,83,0,121,0,114,0,99,0,0,0,84,0,97,0,103,0,98,0,0,0,84,0,97,0,107,0,114,0,0,0,84,0,97,0,108,0,101,0,0,0,84,0,97,0,108,0,117,0,0,0,84,0,97,0,110,0,103,0,0,0,84,0,103,0,108,0,103,0,0,0,84,0,104,0,97,0,97,0,0,0,84,0,105,0,114,0,104,0,0,0,84,0,110,0,115,0,97,0,0,0,85,0,103,0,97,0,114,0,0,0,86,0,97,0,105,0,105,0,0,0,86,0,105,0,116,0,104,0,0,0,87,0,97,0,114,0,97,0,0,0,88,0,115,0,117,0,120,0,0,0,89,0,101,0,122,0,105,0,0,0,89,0,105,0,105,0,105,0,0,0,90,0,97,0,110,0,98,0,0,0,115,0,107,0,105,0,112,0,0,0,48,0,49,0,50,0,51,0,52,0,53,0,0,0,115,0,99,0,114,0,105,0,112,0,116,0,0,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,0,0,206,1,38,7,42,7,98,7,43,4,134,7,254,7,154,7,186,7,186,4,182,4,162,7,82,15,206,5,87,3,178,7,87,3,77,27,67,3,26,8,31,4,58,8,42,23,86,8,198,16,126,8,163,4,130,8,182,20,138,8,107,3,146,8,59,4,166,8,38,6,194,8,190,4,214,8,206,4,38,9,202,8,3,6,134,3,62,9,158,12,78,9,102,9,106,9,214,11,134,9,122,10,150,9,46,12,174,9,242,3,26,10,242,8,62,10,139,4,86,10,94,5,90,10,210,4,166,10,10,4,182,10,63,3,214,10,10,19,218,10,6,11,246,10,174,5,254,10,158,6,2,11,63,3,14,11,134,5,26,4,242,21,54,11,159,4,58,11,188,1,66,11,238,4,82,11,62,20,138,11,138,3,150,11,122,5,162,11,166,11,170,11,186,3,174,11,158,11,182,11,38,12,186,11,14,8,206,11,167,3,218,11,78,5,250,11,18,4,2,12,22,12,6,12,115,3,18,12,102,11,74,12,119,4,78,12,202,7,142,3,146,3,102,12,131,4,154,12,199,3,210,12,55,3,230,12,65,1,42,13,122,11,54,13,171,4,58,13,102,25,70,13,6,5,114,13,91,4,118,13,95,3,130,13,2,4,134,13,14,5,138,13,246,4,142,13,254,13,158,13,234,7,178,13,78,5,202,13,2,5,234,13,219,3,250,13,222,20,14,14,95,4,22,14,10,12,58,14,254,4,74,14,113,26,82,14,118,14,102,14,166,5,138,14,30,15,174,14,14,21,186,14,87,4,218,14,147,4,234,14,238,14,246,14,34,13,71,4,127,4,151,4,67,4,30,5,250,4,38,15,34,5,54,15,250,3,135,6,91,3,191,1,191,3,38,4,66,26,190,15,194,23,194,15,250,19,206,15,30,16,218,15,167,3,38,16,79,3,54,16,135,4,62,16,75,4,66,16,50,5,78,16,10,17,102,16,234,5,110,16,203,3,150,16,182,9,62,5,110,3,242,16,90,13,6,17,22,4,22,17,194,5,66,5,58,5,70,5,230,4,74,5,110,3,82,5,110,3,70,17,178,16,82,17,202,9,118,17,114,3,162,17,250,21,198,17,26,20,202,17,46,22,6,18,194,1,18,18,143,3,34,18,167,4,46,18,99,3,118,18,202,10,162,18,42,15,178,18,218,4,242,18,146,3,246,18,142,6,139,6,163,3,2,19,158,25,54,19,118,5,82,19,138,5,106,19,234,4,110,19,2,4,134,19,222,7,146,19,118,5,194,19,178,6,218,19,150,20,226,19,70,12,246,19,42,4,30,6,134,8,70,20,146,20,98,20,222,19,102,20,22,6,122,20,230,11,134,20,235,3,174,20,134,5,218,20,230,9,242,20,47,4,30,21,51,4,46,21,2,4,62,21,34,17,74,21,107,4,86,21,102,7,102,21,123,3,106,21,123,3,146,21,79,4,150,21,158,14,158,21,126,21,162,21,86,5,178,3,202,4,186,21,102,17,206,21,17,27,226,21,218,21,150,3,27,4,34,22,86,12,50,22,70,22,90,22,163,3,106,22,18,8,102,4,110,14,138,22,83,3,158,22,123,4,62,6,6,15,238,22,250,3,254,22,155,4,158,5,46,5,182,3,242,3,70,23,42,5,78,23,197,1,114,23,58,6,118,23,190,24,138,23,131,3,186,5,110,3,222,23,130,9,230,23,70,24,242,23,2,21,246,23,250,3,250,23,215,3,126,4,10,15,254,23,254,21,126,3,146,24,203,1,238,3,22,24,130,6,34,24,166,24,38,24,110,15,190,5,178,5,110,24,14,4,42,3,199,3,198,24,118,11,202,24,162,3,198,5,242,4,230,24,151,3,218,3,115,4,70,25,62,25,222,3,114,20,150,4,206,20,134,25,150,10,138,25,82,7,142,25,42,25,170,25,54,5,182,25,234,4,186,25,110,23,186,6,226,4,214,25,10,4,222,25,91,3,70,3,254,25,238,25,218,6,250,25,246,17,210,6,70,19,214,6,170,4,26,26,230,3,38,26,42,26,62,26,54,6,174,4,99,3,78,26,187,3,246,18,0,0,0,0,0,0,139,29,151,29,0,0,35,4,82,26,78,0,30,7,82,26,3,0,34,7,82,26,3,0,46,7,82,26,3,0,89,26,97,26,126,0,50,7,82,26,3,0,54,7,97,26,3,0,58,7,82,26,93,0,62,7,82,26,3,0,66,7,82,26,3,0,70,7,82,26,3,0,74,7,82,26,9,0,78,7,82,26,72,0,86,7,82,26,93,0,90,7,82,26,3,0,94,7,82,26,3,0,43,4,182,26,255,0,106,7,97,26,12,0,110,7,82,26,3,0,119,6,202,26,30,0,182,4,87,26,228,0,114,7,82,26,3,0,99,4,82,26,57,0,118,7,82,26,3,0,122,7,82,26,3,0,126,7,82,26,3,0,57,27,82,26,3,0,130,7,82,26,3,0,138,7,82,26,21,0,142,7,82,26,3,0,146,7,82,26,3,0,150,7,141,27,6,0,158,7,82,26,3,0,186,4,87,26,228,0,199,3,82,26,93,0,166,7,119,29,135,0,170,7,82,26,3,0,87,3,82,26,168,0,37,27,82,26,3,0,174,7,82,26,59,1,182,7,97,26,12,0,23,4,102,26,78,0,190,7,82,26,3,0,194,7,82,26,3,0,32,27,82,26,39,0,198,7,82,26,3,0,123,6,82,26,75,0,206,7,82,26,3,0,210,7,82,26,3,0,214,7,82,26,39,0,218,7,82,26,3,0,226,7,82,26,3,0,230,7,82,26,3,0,238,7,82,26,9,0,242,7,87,26,3,0,246,7,87,26,156,0,250,7,82,26,3,0,2,8,82,26,3,0,6,8,82,26,3,0,10,8,82,26,3,0,67,3,87,26,186,0,158,26,146,27,30,0,158,26,185,28,128,1,158,26,220,28,225,0,22,8,82,26,3,0,31,4,151,27,68,1,30,8,82,26,89,1,34,8,82,26,252,0,38,8,87,26,183,0,42,8,87,26,219,0,46,8,87,26,102,0,50,8,87,26,186,0,191,6,117,26,6,0,54,8,82,26,45,0,210,5,19,29,36,0,62,8,82,26,3,0,66,8,82,26,3,0,70,8,82,26,75,0,74,8,82,26,3,0,78,8,82,26,3,0,82,8,82,26,18,0,90,8,82,26,3,0,195,6,97,26,12,0,94,8,87,26,3,0,98,8,82,26,3,0,97,27,82,26,3,0,102,8,82,26,3,0,106,8,92,26,6,0,110,8,82,26,3,0,114,8,82,26,3,0,118,8,82,26,3,0,163,4,82,26,252,0,122,8,82,26,3,0,107,3,82,26,174,0,107,3,87,26,135,0,107,3,87,26,30,0,107,3,97,26,12,0,199,6,97,26,12,0,190,4,87,26,27,0,194,4,82,26,9,0,142,8,92,26,33,0,59,4,82,26,75,0,150,8,82,26,71,1,154,8,82,26,21,0,158,8,82,26,3,0,162,8,161,27,21,0,170,8,82,26,3,0,174,8,82,26,3,0,198,4,82,26,9,0,178,8,82,26,3,0,182,8,82,26,21,0,186,8,82,26,3,0,190,8,82,26,3,0,198,8,82,26,3,0,206,8,82,26,3,0,210,8,82,26,123,0,206,4,82,26,24,0,218,8,82,26,3,0,222,8,82,26,3,0,226,8,82,26,3,0,230,8,102,26,3,0,234,8,82,26,3,0,238,8,82,26,3,0,51,6,97,26,1,2,246,8,82,26,3,0,250,8,82,26,3,0,254,8,87,26,66,0,2,9,82,26,185,1,6,9,82,26,3,0,10,9,82,26,9,0,14,9,82,26,3,0,18,9,82,26,45,0,22,9,82,26,21,0,26,9,1,27,6,0,30,9,87,26,27,0,202,4,92,26,6,0,111,4,97,26,80,1,34,9,92,26,6,0,42,9,87,26,27,0,46,9,152,26,42,0,134,3,92,26,6,0,50,9,92,26,6,0,54,9,82,26,3,0,58,9,92,26,6,0,66,9,82,26,3,0,70,9,82,26,3,0,155,6,82,26,182,1,74,9,82,26,3,0,82,9,82,26,3,0,86,9,82,26,3,0,90,9,82,26,39,0,94,9,82,26,3,0,98,9,82,26,3,0,110,9,82,26,3,0,114,9,102,26,3,0,118,9,92,26,6,0,122,9,82,26,9,0,126,9,82,26,3,0,138,9,82,26,3,0,142,9,82,26,111,0,146,9,82,26,3,0,154,9,82,26,3,0,158,9,82,26,21,0,162,9,82,26,3,0,78,3,82,26,24,0,166,9,82,26,3,0,170,9,82,26,18,0,242,3,82,26,87,0,178,9,96,27,162,0,239,5,82,26,63,0,186,9,82,26,3,0,190,9,82,26,3,0,194,9,82,26,63,0,198,9,82,26,3,0,30,3,117,26,117,0,206,9,82,26,3,0,210,9,82,26,3,0,214,9,82,26,3,0,215,3,182,26,15,0,218,9,82,26,3,0,222,9,82,26,3,0,226,9,82,26,3,0,234,9,117,26,6,0,238,9,82,26,3,0,242,9,87,26,30,0,246,9,82,26,3,0,250,9,82,26,123,0,127,6,82,26,81,0,254,9,92,26,6,0,2,10,87,26,27,0,6,10,92,26,6,0,10,10,82,26,3,0,33,3,82,26,77,1,14,10,82,26,3,0,86,3,166,27,26,1,18,10,82,26,21,0,22,10,102,26,3,0,30,10,82,26,24,0,34,10,82,26,3,0,38,10,92,26,27,0,210,4,97,26,12,0,42,10,82,26,62,1,46,10,82,26,3,0,214,4,82,26,9,0,50,10,82,26,3,0,54,10,82,26,21,0,58,10,82,26,3,0,139,4,147,26,84,0,66,10,82,26,3,0,70,10,82,26,3,0,74,10,82,26,8,1,78,10,82,26,3,0,82,10,82,26,3,0,214,5,82,26,3,0,94,5,82,26,54,0,94,10,82,26,3,0,98,10,102,26,189,0,102,10,82,26,3,0,106,10,82,26,3,0,110,10,82,26,21,0,114,10,82,26,3,0,118,10,82,26,3,0,126,10,82,26,63,0,130,10,82,26,3,0,134,10,82,26,3,0,138,10,82,26,3,0,103,4,82,26,75,0,142,10,82,26,36,0,146,10,82,26,3,0,154,10,82,26,3,0,158,10,82,26,39,0,162,10,201,27,117,0,19,6,97,26,12,0,170,10,82,26,24,0,174,10,82,26,3,0,178,10,82,26,72,0,159,6,82,26,116,1,63,3,127,26,15,0,63,3,107,26,243,0,63,3,107,26,83,1,63,3,107,26,5,1,63,3,107,26,122,1,63,3,107,26,9,0,63,3,107,26,146,1,63,3,107,26,41,1,63,3,107,26,24,0,63,3,107,26,38,1,63,3,107,26,50,1,63,3,107,26,69,0,63,3,107,26,231,0,63,3,107,26,60,0,63,3,107,26,36,0,63,3,107,26,162,0,63,3,181,27,231,0,63,3,20,28,231,0,186,10,82,26,99,0,218,4,97,26,12,0,198,26,82,26,36,0,190,10,82,26,18,0,194,10,211,27,36,0,198,10,82,26,36,0,206,10,87,26,14,1,210,10,11,27,162,0,190,3,82,26,3,0,222,10,87,26,135,0,226,10,82,26,3,0,230,10,82,26,3,0,234,10,82,26,3,0,238,10,82,26,3,0,242,10,82,26,18,0,174,5,49,29,135,0,250,10,82,26,3,0,222,4,116,27,138,0,163,6,82,26,81,0,10,11,132,26,186,0,18,11,82,26,24,0,159,4,122,26,18,0,22,11,82,26,18,0,26,11,97,26,147,0,30,11,122,26,18,0,34,11,122,26,18,0,38,11,82,26,167,1,188,1,82,26,98,1,42,11,82,26,213,0,46,11,122,26,18,0,50,11,225,28,84,0,63,4,97,26,12,0,63,4,21,27,80,1,55,6,97,26,12,0,115,4,82,26,60,0,194,26,82,26,101,1,62,11,82,26,3,0,238,4,82,26,123,0,70,11,82,26,3,0,74,11,82,26,3,0,78,11,82,26,36,0,86,11,97,26,12,0,90,11,82,26,54,0,94,11,82,26,3,0,98,11,82,26,3,0,106,11,87,26,6,0,110,11,82,26,3,0,95,3,82,26,48,0,114,11,82,26,3,0,226,4,82,26,18,0,126,11,82,26,3,0,130,11,82,26,3,0,134,11,82,26,3,0,230,4,87,26,3,0,138,3,92,26,6,0,142,11,82,26,18,0,146,11,82,26,3,0,122,5,92,26,6,0,154,11,82,26,3,0,186,3,82,26,42,0,178,11,82,26,141,0,190,11,140,28,39,0,194,11,82,26,3,0,198,11,82,26,3,0,202,11,82,26,3,0,167,3,97,26,138,0,167,3,46,27,15,0,210,11,82,26,3,0,222,11,102,26,3,0,226,11,82,26,48,0,234,11,82,26,63,0,110,3,82,26,87,0,238,11,82,26,3,0,218,5,92,26,33,0,242,11,82,26,21,0,246,11,82,26,3,0,18,4,82,26,3,0,254,11,82,26,3,0,115,3,82,26,144,0,39,4,84,29,152,1,14,12,82,26,3,0,26,12,82,26,3,0,30,12,82,26,111,0,34,12,82,26,177,0,42,12,82,26,3,0,50,12,82,26,54,0,7,6,82,26,93,0,54,12,82,26,39,0,58,12,82,26,51,0,62,12,236,27,186,0,66,12,82,26,3,0,119,4,82,26,107,1,194,3,36,27,84,0,219,3,152,26,132,0,242,4,82,26,3,0,82,12,82,26,3,0,146,3,82,26,64,2,146,3,252,26,129,0,71,3,82,26,36,0,71,3,81,27,60,0,90,12,82,26,3,0,94,12,82,26,3,0,131,6,82,26,74,3,98,12,82,26,3,0,59,3,82,26,75,0,246,4,0,28,6,0,131,4,82,26,36,0,106,12,82,26,36,0,110,12,82,26,3,0,114,12,26,27,51,0,118,12,82,26,3,0,122,12,82,26,3,0,126,12,82,26,21,0,130,12,82,26,75,0,250,4,82,26,3,0,123,3,87,26,30,0,134,12,82,26,3,0,138,12,82,26,3,0,142,12,82,26,3,0,146,12,82,26,3,0,150,12,82,26,8,1,65,1,82,26,111,0,65,1,131,27,129,0,162,12,82,26,3,0,166,12,82,26,63,0,75,6,82,26,192,0,170,12,87,26,66,0,238,3,82,26,24,0,174,12,82,26,108,0,36,3,82,26,195,0,178,12,82,26,3,0,182,12,82,26,3,0,11,6,82,26,52,2,186,12,82,26,3,0,190,12,82,26,249,0,194,12,82,26,3,0,198,12,82,26,3,0,202,12,82,26,3,0,55,3,82,26,81,0,206,12,82,26,36,0,214,12,82,26,81,0,218,12,82,26,48,0,222,12,82,26,48,0,226,12,87,26,21,0,234,12,82,26,56,1,238,12,82,26,3,0,242,12,82,26,129,0,246,12,82,26,3,0,250,12,82,26,141,0,254,12,82,26,51,0,2,13,82,26,39,0,6,13,82,26,3,0,10,13,82,26,66,0,243,5,82,26,144,0,107,6,82,26,11,1,14,13,82,26,93,0,18,13,82,26,3,0,22,13,82,26,29,1,26,13,82,26,3,0,30,13,82,26,3,0,62,27,82,26,3,0,38,13,127,26,15,0,46,13,82,26,3,0,50,13,82,26,9,0,171,4,82,26,78,0,254,4,82,26,3,0,62,13,82,26,3,0,66,13,92,26,6,0,6,5,82,26,3,0,74,13,82,26,3,0,78,13,87,26,30,0,82,13,82,26,5,1,59,6,82,26,60,0,86,13,82,26,3,0,94,13,82,26,3,0,98,13,82,26,3,0,102,13,82,26,3,0,106,13,82,26,3,0,110,13,82,26,3,0,91,4,227,26,126,0,122,13,102,26,78,0,126,13,82,26,3,0,14,5,92,26,33,0,146,13,82,26,3,0,150,13,82,26,131,1,154,13,82,26,3,0,162,13,87,26,27,0,166,13,82,26,3,0,170,13,87,26,27,0,222,5,82,26,3,0,174,13,82,26,3,0,63,6,82,26,75,0,182,13,87,26,30,0,186,13,82,26,3,0,190,13,102,26,3,0,95,4,82,26,196,2,194,13,82,26,3,0,198,13,82,26,3,0,2,5,162,26,6,0,206,13,82,26,3,0,210,13,102,26,3,0,214,13,82,26,3,0,218,13,92,26,6,0,222,13,82,26,9,0,226,13,82,26,144,0,230,13,5,28,147,0,10,5,16,27,180,0,10,5,105,28,132,0,238,13,117,26,6,0,242,13,82,26,3,0,246,13,82,26,150,0,79,6,15,28,6,0,2,14,82,26,120,0,6,14,82,26,92,1,10,14,82,26,3,0,18,14,82,26,93,0,26,14,82,26,3,0,30,14,82,26,3,0,34,14,82,26,54,0,23,6,82,26,91,2,38,14,82,26,3,0,42,14,82,26,3,0,46,14,87,26,3,0,50,14,82,26,18,0,54,14,87,26,3,0,90,3,82,26,3,0,119,3,82,26,39,0,119,3,87,26,66,0,119,3,87,26,21,0,72,27,82,26,3,0,62,14,127,26,15,0,12,27,82,26,3,0,82,27,82,26,36,0,66,14,87,26,114,0,70,14,82,26,3,0,78,14,102,26,3,0,67,4,137,26,198,0,30,4,82,26,3,0,189,26,92,26,6,0,189,26,82,26,6,0,86,14,82,26,3,0,18,5,82,26,195,0,90,14,82,26,3,0,94,14,82,26,3,0,98,14,82,26,24,0,166,5,92,26,6,0,106,14,82,26,3,0,226,5,45,28,42,0,114,14,250,28,15,0,122,14,82,26,3,0,126,14,87,26,27,0,130,14,92,26,6,0,22,5,232,26,36,0,26,5,82,26,24,0,230,5,87,26,27,0,199,26,82,26,44,1,174,3,92,26,6,0,42,27,92,26,6,0,134,14,82,26,3,0,123,4,82,26,79,2,142,14,82,26,48,0,146,14,127,26,15,0,247,5,82,26,82,2,174,26,82,26,125,1,150,14,82,26,3,0,154,14,82,26,18,0,251,5,82,26,153,0,227,6,82,26,74,3,162,14,82,26,3,0,166,14,82,26,3,0,170,14,82,26,39,0,178,14,82,26,3,0,182,14,82,26,3,0,87,4,82,26,94,2,190,14,82,26,3,0,127,4,82,26,9,0,87,27,82,26,3,0,194,14,82,26,3,0,198,14,82,26,3,0,202,14,82,26,156,0,83,6,82,26,39,0,206,14,82,26,3,0,210,14,82,26,3,0,27,6,129,29,15,0,214,14,82,26,3,0,147,4,122,26,18,0,222,14,82,26,3,0,226,14,82,26,3,0,230,14,82,26,3,0,242,14,82,26,24,0,250,14,82,26,3,0,71,4,82,26,9,0,92,27,97,26,12,0,87,6,82,26,74,3,254,14,82,26,3,0,2,15,82,26,3,0,223,3,82,26,51,0,151,4,137,26,198,0,14,15,82,26,3,0,18,15,82,26,3,0,22,15,82,26,12,0,30,5,82,26,3,0,227,3,60,28,201,0,26,15,82,26,3,0,34,15,82,26,100,2,34,5,82,26,3,0,46,15,82,26,74,3,50,15,82,26,3,0,58,15,82,26,3,0,62,15,82,26,21,0,91,3,137,26,74,3,66,15,82,26,3,0,70,15,82,26,45,0,74,15,92,26,33,0,78,15,82,26,3,0,86,15,82,26,101,1,191,3,82,26,9,0,191,1,82,26,9,0,34,4,97,26,159,0,90,15,82,26,183,0,94,15,82,26,84,0,98,15,82,26,3,0,102,15,82,26,3,0,106,15,82,26,39,0,114,15,82,26,54,0,118,15,82,26,63,0,122,15,65,28,9,0,38,5,97,26,12,0,238,5,82,26,3,0,126,15,82,26,3,0,130,15,82,26,3,0,134,15,82,26,3,0,138,15,87,26,141,0,142,15,82,26,39,0,146,15,82,26,165,0,150,15,82,26,3,0,154,15,82,26,3,0,158,15,82,26,45,0,162,15,82,26,156,0,166,15,82,26,3,0,246,3,112,26,69,0,170,15,82,26,95,1,174,15,82,26,21,0,178,15,82,26,3,0,182,15,82,26,123,0,186,15,92,26,6,0,242,5,92,26,6,0,75,4,82,26,90,0,198,15,82,26,9,0,202,15,82,26,3,0,210,15,82,26,120,0,118,3,82,26,6,0,214,15,69,29,15,0,222,15,92,26,6,0,226,15,82,26,63,0,230,15,82,26,3,0,246,5,147,26,6,0,234,15,87,26,27,0,250,5,82,26,3,0,11,4,82,26,54,0,238,15,82,26,3,0,242,15,82,26,42,0,246,15,82,26,3,0,255,5,82,26,153,0,250,15,82,26,3,0,254,15,247,26,207,0,2,16,82,26,3,0,6,16,82,26,3,0,127,3,97,26,20,1,127,3,87,26,114,0,127,3,87,26,15,0,127,3,87,26,30,0,127,3,87,26,138,0,10,16,82,26,3,0,254,5,82,26,21,0,91,6,82,26,61,2,42,5,82,26,54,0,14,16,82,26,3,0,18,16,82,26,3,0,22,16,82,26,3,0,235,5,75,28,14,1,46,5,82,26,171,0,26,16,82,26,3,0,34,16,82,26,3,0,79,3,82,26,42,0,79,3,87,26,23,1,79,3,87,26,135,0,79,3,124,29,126,0,42,16,82,26,3,0,46,16,82,26,3,0,50,16,82,26,3,0,223,5,192,26,6,0,135,4,82,26,3,0,58,16,82,26,119,1,50,5,92,26,6,0,70,16,82,26,3,0,171,3,242,26,17,1,74,16,97,26,12,0,82,16,82,26,3,0,86,16,82,26,99,0,90,16,82,26,3,0,54,5,82,26,26,1,94,16,82,26,3,0,98,16,82,26,3,0,106,16,82,26,3,0,203,3,97,26,12,0,114,16,82,26,3,0,118,16,82,26,3,0,122,16,82,26,3,0,126,16,82,26,3,0,130,16,102,26,3,0,134,16,97,26,12,0,138,16,82,26,222,0,142,16,82,26,24,0,146,16,82,26,12,0,154,16,82,26,3,0,58,5,92,26,6,0,67,6,87,26,6,0,158,16,82,26,45,0,162,16,82,26,3,0,166,16,82,26,21,0,170,16,82,26,48,0,174,16,82,26,3,0,182,16,82,26,3,0,186,16,102,26,3,0,190,16,82,26,3,0,194,16,82,26,3,0,62,5,82,26,87,0,202,16,82,26,3,0,206,16,82,26,3,0,210,16,82,26,3,0,214,16,82,26,3,0,218,16,97,26,12,0,222,16,82,26,3,0,226,16,82,26,3,0,230,16,82,26,3,0,234,16,82,26,3,0,238,16,82,26,9,0,246,16,87,26,27,0,15,6,82,26,60,0,250,16,82,26,3,0,254,16,82,26,18,0,2,17,82,26,3,0,22,4,82,26,3,0,14,17,82,26,3,0,18,17,102,26,3,0,194,5,82,26,3,0,66,5,92,26,6,0,26,17,112,26,69,0,30,17,87,26,27,0,38,17,82,26,3,0,42,17,82,26,3,0,195,3,97,26,106,2,195,3,87,26,15,0,195,3,82,26,42,0,46,17,82,26,3,0,50,17,82,26,3,0,70,5,87,26,3,0,74,5,82,26,87,0,54,17,82,26,3,0,82,5,82,26,87,0,167,6,82,26,179,1,58,17,100,28,132,0,62,17,137,26,198,0,22,27,82,26,45,0,86,5,87,26,27,0,66,17,82,26,72,0,74,17,82,26,3,0,207,5,82,26,137,1,78,17,97,26,12,0,86,17,82,26,3,0,90,17,82,26,9,0,94,17,82,26,3,0,98,17,112,26,15,0,106,17,82,26,3,0,110,17,82,26,3,0,114,17,82,26,3,0,122,17,82,26,3,0,126,17,90,28,6,0,130,17,82,26,3,0,134,17,82,26,3,0,138,17,97,26,12,0,203,6,82,26,72,0,142,17,82,26,3,0,111,6,82,26,144,0,146,17,82,26,3,0,150,17,82,26,3,0,90,5,92,26,33,0,90,5,95,28,6,0,154,17,82,26,3,0,158,17,82,26,3,0,166,17,82,26,51,0,170,17,82,26,18,0,174,17,217,26,15,0,178,17,82,26,9,0,182,17,87,26,30,0,186,17,82,26,36,0,190,17,82,26,3,0,194,17,82,26,3,0,206,17,162,26,6,0,210,17,82,26,51,0,214,17,82,26,3,0,31,6,82,26,90,0,218,17,82,26,3,0,222,17,82,26,3,0,123,27,247,26,207,0,46,4,82,26,3,0,226,17,82,26,3,0,230,17,82,26,90,0,50,4,82,26,3,0,234,17,82,26,3,0,238,17,82,26,185,1,242,17,87,26,30,0,113,27,82,26,134,1,54,4,82,26,140,1,227,5,82,26,90,0,250,17,82,26,90,0,254,17,82,26,54,0,2,18,87,26,30,0,194,1,82,26,140,1,10,18,112,26,69,0,62,3,127,26,15,0,14,18,82,26,42,0,143,3,97,26,143,1,22,18,82,26,9,0,26,18,82,26,21,0,30,18,92,26,6,0,98,5,92,26,6,0,102,5,82,26,9,0,167,4,82,26,172,2,38,18,82,26,54,0,42,18,82,26,3,0,99,3,82,26,87,0,99,3,87,26,4,2,50,18,82,26,105,0,2,6,82,26,3,0,54,18,82,26,3,0,58,18,82,26,3,0,62,18,82,26,3,0,66,18,82,26,3,0,70,18,82,26,3,0,74,18,82,26,3,0,78,18,82,26,3,0,82,18,82,26,3,0,86,18,82,26,3,0,90,18,82,26,3,0,94,3,87,26,3,0,94,18,97,26,12,0,98,18,82,26,24,0,102,18,82,26,3,0,106,18,82,26,9,0,110,18,102,26,3,0,114,18,82,26,3,0,6,6,82,26,3,0,122,18,82,26,3,0,106,5,82,26,222,0,126,18,82,26,54,0,130,18,82,26,3,0,58,4,82,26,3,0,122,3,87,26,69,0,134,18,82,26,32,1,138,18,82,26,3,0,10,6,82,26,3,0,142,18,82,26,3,0,79,4,82,26,136,2,146,18,82,26,96,0,150,18,82,26,3,0,154,18,82,26,21,0,158,18,92,26,33,0,166,18,82,26,45,0,15,4,82,26,139,2,170,18,82,26,3,0,174,18,82,26,3,0,182,18,82,26,18,0,186,18,82,26,3,0,190,18,82,26,9,0,194,18,82,26,3,0,198,18,87,26,3,0,202,18,82,26,3,0,206,18,82,26,3,0,14,6,82,26,3,0,207,6,160,28,6,0,210,18,82,26,3,0,214,18,82,26,3,0,218,18,82,26,66,0,222,18,82,26,3,0,226,18,82,26,3,0,230,18,82,26,3,0,234,18,82,26,3,0,238,18,82,26,3,0,110,5,117,26,6,0,114,5,147,26,84,0,163,3,82,26,47,1,250,18,82,26,3,0,254,18,82,26,18,0,6,19,82,26,18,0,14,19,82,26,177,0,18,19,82,26,3,0,22,19,82,26,3,0,26,19,82,26,3,0,30,19,82,26,3,0,34,19,82,26,3,0,38,19,82,26,3,0,149,26,92,26,6,0,42,19,92,26,33,0,46,19,97,26,12,0,50,19,51,27,117,0,211,6,82,26,148,2,58,19,82,26,3,0,62,19,82,26,3,0,66,19,82,26,3,0,74,19,92,26,6,0,78,19,82,26,21,0,138,5,92,26,6,0,86,19,82,26,3,0,90,19,82,26,36,0,94,19,82,26,3,0,98,19,82,26,3,0,102,19,87,26,27,0,114,19,82,26,63,0,118,19,82,26,9,0,122,19,232,26,36,0,126,19,82,26,165,0,130,19,82,26,3,0,138,19,82,26,3,0,142,19,102,26,3,0,150,19,97,26,12,0,154,19,82,26,3,0,158,19,82,26,72,0,162,19,130,28,30,0,166,19,82,26,3,0,170,19,82,26,3,0,174,19,87,26,30,0,178,19,82,26,3,0,182,19,82,26,3,0,186,19,82,26,3,0,171,6,82,26,163,2,190,19,82,26,3,0,198,19,82,26,3,0,198,3,82,26,3,0,202,19,127,26,15,0,206,19,82,26,51,0,210,19,82,26,153,0,214,19,82,26,3,0,183,3,82,26,210,0,230,19,82,26,3,0,18,6,82,26,3,0,234,19,82,26,3,0,238,19,82,26,105,0,242,19,82,26,3,0,62,4,82,26,3,0,144,26,82,26,165,0,254,19,82,26,96,0,2,20,82,26,48,0,235,3,92,26,33,0,6,20,82,26,3,0,126,5,92,26,33,0,10,20,82,26,3,0,54,3,82,26,3,0,108,27,82,26,153,0,14,20,82,26,3,0,18,20,82,26,3,0,22,20,82,26,96,0,30,20,82,26,3,0,66,4,82,26,105,0,34,20,82,26,105,0,38,20,82,26,3,0,26,6,82,26,3,0,42,20,82,26,9,0,70,4,82,26,3,0,46,20,82,26,169,2,50,20,82,26,3,0,54,20,82,26,3,0,58,20,82,26,6,0,74,4,82,26,3,0,66,20,82,26,3,0,78,4,82,26,21,0,74,20,82,26,3,0,143,6,82,26,210,0,78,20,82,26,3,0,82,20,82,26,21,0,86,20,82,26,3,0,90,20,82,26,3,0,94,20,197,26,6,0,231,5,82,26,210,0,106,20,85,28,69,0,110,20,92,26,6,0,118,20,167,26,108,0,126,20,82,26,3,0,130,20,82,26,3,0,138,20,252,26,129,0,175,6,82,26,57,0,142,20,82,26,3,0,154,20,122,26,18,0,34,6,82,26,3,0,82,4,82,26,57,0,158,20,82,26,3,0,162,20,94,29,6,0,166,20,82,26,3,0,170,20,82,26,3,0,178,20,82,26,3,0,186,20,82,26,3,0,190,20,82,26,223,2,194,20,82,26,3,0,198,20,82,26,3,0,39,3,82,26,36,0,202,20,82,26,3,0,210,20,82,26,15,0,214,20,82,26,3,0,179,6,82,26,35,1,226,20,82,26,45,0,230,20,82,26,72,0,234,20,82,26,93,0,175,3,82,26,81,0,175,3,82,26,75,0,238,20,82,26,3,0,47,4,122,26,18,0,246,20,122,26,18,0,250,20,82,26,18,0,254,20,82,26,3,0,202,3,82,26,3,0,47,27,82,26,3,0,6,21,82,26,3,0,10,21,82,26,3,0,18,21,82,26,3,0,51,4,205,28,6,0,22,21,82,26,3,0,26,21,87,26,3,0,215,6,97,26,126,0,34,21,210,28,36,0,42,6,87,26,3,0,38,21,200,28,138,0,42,21,215,28,234,6,50,21,82,26,3,0,179,3,212,26,6,0,179,3,87,26,27,0,54,21,82,26,24,0,130,5,235,28,30,0,130,5,240,28,15,0,58,21,82,26,24,0,254,3,82,26,74,1,66,21,82,26,193,2,70,21,82,26,3,0,107,4,87,26,114,0,78,21,82,26,81,0,82,21,82,26,39,0,90,21,82,26,36,0,94,21,82,26,18,0,98,21,82,26,3,0,102,27,101,27,30,0,110,21,82,26,3,0,114,21,82,26,48,0,118,21,87,26,3,0,122,21,245,28,23,1,130,21,82,26,3,0,134,21,82,26,3,0,86,4,82,26,164,1,90,4,186,27,6,0,138,21,82,26,54,0,209,26,82,26,213,0,142,21,82,26,3,0,154,21,82,26,51,0,166,21,82,26,3,0,170,21,82,26,3,0,174,21,152,26,132,0,178,21,82,26,99,0,178,3,92,26,6,0,182,21,82,26,3,0,190,21,82,26,18,0,194,21,70,28,27,0,198,21,87,26,30,0,202,21,82,26,74,3,210,21,82,26,3,0,134,26,82,26,120,0,214,21,82,26,3,0,222,21,82,26,110,1,230,21,82,26,3,0,27,4,82,26,155,1,234,21,82,26,113,1,238,21,82,26,104,1,7,27,82,26,3,0,246,21,82,26,3,0,2,22,82,26,161,1,142,5,82,26,9,0,6,22,82,26,3,0,10,22,82,26,3,0,94,4,82,26,51,0,146,5,4,29,84,0,14,22,82,26,6,0,150,5,177,26,102,0,150,5,82,26,144,0,18,22,92,26,33,0,22,22,117,26,117,0,219,6,82,26,150,0,26,22,82,26,192,0,30,22,82,26,150,0,38,22,87,26,30,0,42,22,82,26,108,0,71,6,82,26,242,1,54,22,82,26,3,0,58,22,82,26,96,0,62,22,82,26,9,0,66,22,82,26,45,0,52,27,82,26,3,0,74,22,82,26,3,0,78,22,82,26,195,0,214,26,97,26,12,0,82,22,97,26,147,0,86,22,82,26,164,1,115,6,82,26,211,2,94,22,82,26,45,0,46,6,82,26,3,0,98,22,237,26,201,0,103,3,92,26,6,0,98,4,82,26,93,0,102,22,97,26,12,0,110,22,82,26,54,0,114,22,82,26,9,0,118,22,195,28,6,0,122,22,82,26,111,0,126,22,14,29,6,0,130,22,82,26,3,0,50,6,82,26,3,0,134,22,82,26,45,0,197,1,82,26,51,0,83,3,97,26,216,0,83,3,82,26,12,0,83,3,82,26,130,2,83,3,82,26,47,1,83,3,82,26,42,0,142,22,92,26,6,0,146,22,87,26,3,0,150,22,82,26,51,0,154,22,82,26,60,0,159,3,87,26,27,0,159,3,92,26,6,0,159,3,41,27,6,0,159,3,29,29,6,0,162,22,82,26,51,0,166,22,87,26,30,0,211,5,82,26,210,0,170,22,82,26,123,0,174,22,82,26,96,0,178,22,82,26,105,0,182,22,82,26,63,0,147,6,82,26,86,1,186,22,61,27,11,1,190,22,82,26,134,1,194,22,102,26,3,0,198,22,82,26,3,0,202,22,177,26,102,0,206,22,82,26,3,0,210,22,147,26,84,0,173,26,87,26,3,0,183,6,91,27,118,2,214,22,82,26,78,0,218,22,82,26,3,0,222,22,82,26,3,0,226,22,82,26,3,0,230,22,82,26,3,0,155,4,82,26,170,1,234,22,82,26,3,0,154,5,87,26,27,0,66,6,82,26,3,0,187,6,82,26,214,2,242,22,82,26,3,0,246,22,82,26,213,0,250,22,82,26,3,0,2,23,82,26,9,0,175,4,82,26,18,3,67,27,82,26,108,0,158,5,82,26,171,0,6,23,82,26,108,0,10,23,82,26,192,0,14,23,9,29,198,0,18,23,82,26,3,0,98,3,82,26,192,0,35,6,82,26,165,0,182,3,82,26,87,0,22,23,82,26,3,0,26,23,82,26,63,0,30,23,82,26,3,0,34,23,82,26,3,0,38,23,82,26,3,0,83,4,82,26,173,1,162,5,34,29,159,0,46,23,82,26,3,0,50,23,82,26,3,0,54,23,112,26,69,0,58,23,82,26,3,0,62,23,82,26,3,0,66,23,82,26,3,0,106,4,82,26,3,0,74,23,44,29,6,0,70,6,82,26,50,1,82,23,82,26,111,0,223,6,82,26,57,0,86,23,82,26,3,0,90,23,82,26,3,0,94,23,82,26,189,0,204,26,82,26,57,0,206,3,82,26,3,0,98,23,82,26,48,0,219,26,82,26,9,0,102,23,82,26,3,0,106,23,82,26,3,0,210,3,82,26,45,0,154,3,82,26,3,0,122,23,82,26,129,0,200,1,82,26,108,0,131,3,82,26,45,0,126,23,87,26,62,1,130,23,82,26,90,0,134,23,82,26,48,0,142,23,82,26,3,0,146,23,92,26,6,0,150,23,82,26,9,0,154,23,82,26,3,0,170,5,117,26,117,0,158,23,82,26,213,0,43,6,1,27,6,0,178,5,92,26,33,0,27,27,82,26,3,0,162,23,82,26,3,0,166,23,82,26,3,0,170,23,82,26,3,0,174,23,82,26,3,0,178,23,82,26,3,0,110,4,82,26,3,0,214,3,82,26,3,0,182,5,82,26,24,0,182,23,82,26,3,0,186,23,82,26,3,0,114,4,192,26,6,0,190,23,64,29,15,0,198,23,92,26,33,0,202,23,92,26,33,0,186,5,82,26,87,0,95,6,162,26,6,0,206,23,82,26,3,0,210,23,82,26,222,0,214,23,82,26,72,0,118,4,82,26,53,1,74,6,82,26,3,0,55,4,97,26,176,1,55,4,87,26,27,0,218,23,82,26,3,0,226,23,82,26,3,0,78,6,82,26,3,0,19,4,112,26,69,0,234,23,92,26,33,0,238,23,92,26,33,0,122,4,92,26,33,0,224,26,102,26,78,0,2,24,82,26,3,0,82,6,102,26,189,0,130,4,82,26,3,0,6,24,82,26,3,0,86,6,82,26,3,0,10,24,82,26,39,0,207,3,82,26,247,2,90,6,82,26,244,2,134,4,82,26,174,0,14,24,92,26,33,0,203,1,82,26,24,0,18,24,82,26,3,0,26,24,82,26,3,0,30,24,82,26,174,0,14,4,82,26,141,0,138,4,82,26,3,0,84,26,82,26,57,0,42,24,82,26,3,0,128,27,82,26,250,2,46,24,82,26,3,0,50,24,82,26,35,1,54,24,82,26,74,3,58,24,82,26,3,0,62,24,82,26,44,1,66,24,82,26,3,0,74,24,82,26,3,0,78,24,82,26,3,0,143,4,82,26,42,0,82,24,82,26,42,0,86,24,82,26,231,0,90,24,87,26,27,0,99,6,82,26,57,0,158,3,152,26,132,0,190,5,92,26,33,0,94,24,82,26,24,0,98,24,182,26,255,0,130,3,82,26,3,0,103,6,97,26,12,0,102,24,82,26,3,0,94,6,82,26,3,0,106,24,82,26,72,0,114,24,82,26,3,0,98,6,112,26,69,0,102,6,82,26,174,0,118,24,82,26,3,0,122,24,82,26,3,0,126,24,82,26,35,1,130,24,82,26,3,0,134,24,82,26,0,3,138,24,82,26,3,0,142,24,82,26,3,0,150,24,82,26,141,0,154,24,74,29,15,0,158,24,126,27,6,0,219,5,82,26,41,1,162,24,82,26,3,0,170,24,97,26,12,0,174,24,82,26,102,0,178,24,82,26,3,0,182,24,136,27,12,0,186,24,97,26,12,0,231,3,87,26,15,0,231,3,97,26,20,1,231,3,97,26,138,0,106,6,99,29,225,0,211,3,97,26,147,0,110,6,82,26,99,0,194,24,82,26,171,0,71,3,82,26,39,0,71,3,82,26,243,0,59,3,82,26,105,0,131,3,82,26,90,0,71,3,82,26,57,0,59,3,82,26,22,2,71,3,82,26,44,1,71,3,82,26,116,1,151,3,82,26,159,0,67,3,87,26,219,0,71,3,82,26,60,0,59,3,82,26,178,4,254,3,82,26,2,1,67,3,87,26,66,0,67,3,87,26,237,0,103,4,82,26,221,1,67,3,87,26,224,1,123,3,87,26,114,0,134,26,82,26,171,0,143,26,82,26,240,0,59,3,82,26,230,1,175,4,82,26,233,1,95,3,82,26,71,1,115,3,82,26,74,1,200,1,82,26,236,1,115,3,82,26,246,0,55,3,82,26,177,0,67,3,87,26,239,1,55,3,82,26,249,0,55,3,82,26,245,1,99,3,82,26,83,1,59,3,82,26,252,0,254,3,82,26,248,1,143,26,82,26,254,1,55,3,82,26,86,1,55,3,82,26,7,2,95,3,82,26,150,0,55,3,82,26,123,0,59,3,82,26,89,1,55,3,82,26,21,0,59,3,82,26,92,1,143,26,82,26,10,2,59,3,82,26,13,2,134,26,82,26,95,1,219,3,152,26,180,0,35,4,82,26,31,2,59,3,82,26,34,2,67,3,87,26,183,0,59,3,82,26,40,2,59,3,82,26,104,1,67,3,87,26,43,2,224,26,102,26,189,0,71,3,82,26,11,1,95,3,82,26,49,2,55,3,82,26,110,1,55,3,82,26,5,1,55,3,82,26,129,0,55,3,82,26,67,2,59,3,82,26,8,1,143,26,82,26,70,2,59,3,82,26,113,1,134,26,82,26,119,1,143,26,82,26,73,2,59,3,82,26,76,2,59,3,82,26,88,2,67,3,87,26,135,0,67,3,87,26,128,1,131,3,82,26,54,0,67,3,87,26,204,0,171,3,242,26,109,2,67,3,87,26,112,2,214,26,97,26,20,1,67,3,87,26,23,1,95,3,82,26,115,2,204,26,82,26,121,2,55,3,82,26,137,1,67,3,87,26,124,2,67,3,87,26,102,0,55,3,82,26,127,2,163,3,82,26,29,1,55,3,82,26,133,2,55,3,82,26,145,2,67,3,87,26,149,1,134,26,82,26,96,0,99,4,82,26,153,0,55,3,82,26,151,2,119,3,82,26,141,0,59,3,82,26,157,2,67,3,87,26,175,2,59,3,82,26,38,1,59,3,82,26,155,1,55,3,82,26,41,1,155,3,87,26,27,0,55,3,82,26,181,2,59,3,82,26,184,2,67,3,87,26,187,2,134,26,82,26,158,1,67,3,87,26,202,2,71,3,82,26,28,2,55,3,82,26,161,1,55,3,82,26,167,1,183,3,82,26,217,2,223,3,82,26,220,2,55,3,82,26,111,0,115,3,82,26,50,1,134,26,82,26,226,2,59,3,82,26,232,2,67,3,87,26,225,0,55,3,82,26,238,2,55,3,82,26,241,2,55,3,82,26,156,0,134,26,82,26,53,1,67,3,87,26,228,0,131,3,82,26,72,0,59,3,82,26,6,3,223,3,82,26,179,1,48,3,82,26,162,0,59,3,82,26,12,3,55,3,82,26,56,1,87,3,82,26,59,1,55,3,82,26,62,1,146,5,87,26,84,0,155,3,87,26,60,0,99,3,87,26,9,0,155,3,87,26,6,0,155,3,87,26,32,1,119,3,87,26,39,0,123,3,87,26,176,1,107,3,87,26,42,0,194,4,156,27,9,0,198,4,171,27,9,0,103,3,176,27,6,0,55,3,6,27,81,0,214,4,191,27,9,0,78,3,196,27,24,0,158,4,206,27,42,0,162,6,216,27,159,0,143,26,221,27,180,0,143,3,97,26,168,0,83,3,97,26,77,1,143,3,97,26,132,0,211,3,97,26,29,1,111,4,97,26,47,1,211,3,97,26,170,1,38,5,97,26,42,0,83,3,97,26,59,1,235,3,92,26,255,0,18,5,92,26,195,0,134,3,92,26,32,1,39,4,226,27,152,1,138,3,231,27,6,0,55,3,207,26,81,0,87,3,241,27,168,0,158,26,246,27,30,0,146,6,251,27,6,0,103,3,10,28,6,0,171,3,25,28,17,1,63,3,30,28,15,0,26,5,35,28,24,0,6,4,107,26,18,0,91,3,137,26,108,0,91,3,137,26,147,0,91,3,137,26,36,0,227,3,40,28,201,0,22,5,50,28,207,0,174,26,106,27,125,1,171,3,31,27,17,1,191,3,55,28,9,0,227,3,237,26,201,0,70,26,80,28,15,0,134,3,187,26,6,0,71,3,82,26,78,0,207,3,82,26,114,0,79,3,82,26,68,1,187,3,82,26,15,0,143,4,82,26,180,0,55,3,82,26,183,0,79,3,82,26,126,0,207,3,82,26,30,0,55,3,82,26,204,0,55,3,82,26,102,0,87,3,82,26,143,1,134,26,82,26,146,1,55,3,82,26,149,1,55,3,82,26,225,0,55,3,82,26,228,0,209,26,82,26,147,0,146,25,110,28,42,0,150,25,115,28,42,0,189,26,120,28,6,0,102,5,125,28,9,0,166,3,135,28,15,0,215,3,157,26,15,0,106,5,145,28,222,0,202,5,150,28,66,0,202,5,155,28,66,0,149,26,165,28,6,0,110,5,170,28,6,0,154,5,111,27,27,0,114,5,147,26,69,0,168,26,56,27,6,0,103,3,175,28,6,0,170,6,180,28,219,0,126,5,190,28,33,0,58,26,172,26,15,0,83,4,66,27,173,1,203,3,230,28,12,0,62,3,71,27,15,0,174,25,222,26,30,0,142,5,255,28,9,0,102,3,76,27,237,0,103,3,24,29,6,0,103,3,86,27,6,0,162,5,39,29,159,0,219,26,142,26,9,0,170,5,121,27,117,0,182,5,54,29,24,0,138,3,59,29,6,0,54,26,177,26,102,0,238,3,79,29,24,0,246,3,112,26,14,1,246,3,112,26,207,0,98,5,89,29,6,0,238,24,104,29,26,1,87,3,109,29,168,0,174,3,114,29,6,0,222,4,134,29,138,0,168,26,117,26,6,0,168,26,92,26,33,0,206,24,117,26,6,0,198,5,82,26,3,0,210,24,82,26,3,0,214,24,82,26,3,0,114,6,82,26,3,0,218,24,82,26,3,0,142,4,82,26,3,0,222,24,82,26,3,0,226,24,82,26,3,0,151,3,87,26,114,0,151,3,97,26,15,0,234,24,82,26,3,0,242,24,82,26,3,0,45,3,82,26,57,0,246,24,82,26,51,0,250,24,82,26,12,0,254,24,82,26,235,2,2,25,82,26,3,0,6,25,82,26,246,0,10,25,82,26,48,0,14,25,82,26,96,0,39,6,82,26,74,3,18,25,82,26,12,0,22,25,82,26,107,1,26,25,82,26,45,0,30,25,82,26,3,0,151,6,82,26,246,0,118,6,82,26,150,0,34,25,82,26,3,0,38,25,102,26,78,0,122,6,82,26,3,0,66,3,82,26,24,0,46,25,82,26,243,0,50,25,162,26,6,0,126,6,92,26,6,0,54,25,82,26,3,0,58,25,82,26,3,0,66,25,82,26,3,0,74,25,82,26,3,0,78,25,82,26,3,0,146,4,82,26,3,0,82,25,82,26,3,0,226,3,82,26,3,0,134,6,82,26,3,0,86,25,82,26,56,1,138,6,82,26,3,0,90,25,82,26,3,0,94,25,87,26,204,0,98,25,82,26,3,0,47,6,82,26,111,0,106,25,82,26,3,0,110,25,82,26,3,0,114,25,82,26,3,0,154,4,82,26,3,0,118,25,92,26,6,0,122,25,127,26,15,0,126,25,82,26,3,0,150,6,82,26,3,0,130,25,82,26,120,0,154,6,82,26,3,0,58,3,82,26,3,0,215,5,82,26,57,0,166,6,82,26,3,0,154,25,227,26,126,0,174,6,92,26,6,0,162,25,82,26,72,0,166,25,82,26,3,0,178,25,82,26,3,0,182,6,82,26,3,0,190,25,82,26,3,0,82,3,92,26,33,0,194,25,82,26,3,0,198,25,82,26,96,0,202,25,82,26,99,0,190,6,82,26,3,0,206,25,82,26,3,0,194,6,82,26,21,0,162,4,82,26,3,0,106,3,82,26,3,0,198,6,82,26,3,0,210,25,82,26,21,0,218,25,82,26,3,0,226,25,82,26,3,0,230,25,82,26,3,0,234,25,82,26,3,0,170,3,82,26,3,0,242,25,82,26,3,0,202,6,82,26,3,0,246,25,82,26,3,0,206,6,82,26,3,0,118,27,82,26,39,0,2,26,82,26,3,0,6,26,82,26,3,0,10,26,82,26,3,0,98,26,82,26,120,0,222,6,82,26,3,0,14,26,82,26,105,0,6,4,107,26,122,1,6,4,127,26,15,0,18,26,82,26,3,0,22,26,82,26,3,0,30,26,82,26,3,0,34,26,82,26,66,0,46,26,87,26,204,0,50,26,82,26,144,0,226,6,82,26,3,0,74,26,82,26,156,0,166,4,82,26,87,0,234,3,82,26,3,0,51,3,82,26,57,0,76,0,254,6,230,6,2,7,12,0,6,7,98,1,10,7,78,0,14,7,48,0,18,7,2,1,238,6,99,0,22,7,66,0,26,7,97,2,242,6,237,0,246,6,216,0,227,1,2,1,251,1,84,0,16,2,216,0,19,2,131,1,25,2,48,0,37,2,249,0,55,2,240,0,58,2,81,0,85,2,177,0,103,2,234,0,142,2,234,0,154,2,182,1,160,2,240,0,166,2,219,0,178,2,99,0,190,2,234,0,199,2,38,1,205,2,46,2,208,2,165,0,229,2,12,0,253,2,53,1,3,3,60,0,9,3,162,0,15,3,234,0,21,3,237,0,24,3,216,0,27,3,90,0,18,0,71,3,82,26,36,0,71,3,82,26,60,0,59,3,82,26,75,0,59,3,82,26,178,4,134,26,82,26,120,0,134,26,82,26,158,1,16,0,1,0,248,6,76,3,240,6,236,6,232,6,149,29,244,6,158,29,209,1,218,1,206,1,215,1,250,6,212,1,144,29,170,170,170,170,170,170,170,170,170,170,8,39,0,0,0,26,109,204,72,116,196,252,119,194,103,119,162,183,120,164,82,121,164,194,122,15,109,125,122,92,122,48,225,173,173,232,46,245,175,81,16,225,165,60,2,42,60,66,204,101,72,17,97,110,1,226,165,0,244,163,251,11,77,37,84,14,84,204,18,85,42,86,16,206,163,254,16,211,163,253,77,216,30,213,80,42,83,16,210,163,249,2,193,163,248,198,163,246,200,163,247,71,213,33,71,50,72,216,30,183,73,16,196,163,244,1,194,163,252,198,163,242,109,50,110,54,115,58,121,16,226,173,173,16,233,175,79,16,229,175,80,16,237,34,1,42,169,21,67,16,195,169,22,104,23,104,50,105,54,107,58,108,16,237,175,78,16,248,173,203,16,225,175,77,16,244,173,168,97,50,100,54,101,58,103,16,232,173,217,16,231,175,74,16,234,175,75,16,225,175,76,0,18,109,70,116,27,116,52,117,56,119,66,225,173,254,239,175,21,16,237,175,26,1,245,175,27,246,175,28,16,225,175,29,109,60,110,64,111,80,114,90,115,1,231,173,153,235,175,25,16,239,175,17,2,227,175,18,233,175,19,245,175,20,1,226,175,22,243,175,23,16,243,175,24,103,38,103,54,104,58,105,62,106,78,108,16,243,175,16,16,233,175,9,16,231,175,10,2,226,175,11,245,175,12,246,175,13,1,225,175,14,233,175,15,97,56,98,84,99,100,101,1,236,165,35,242,175,8,4,229,173,255,234,175,0,236,175,1,238,175,2,242,175,3,2,240,175,4,241,175,5,242,175,6,16,233,175,7,12,110,61,114,33,114,46,115,50,119,78,232,175,33,16,226,175,39,4,225,173,209,233,175,40,236,165,50,237,175,41,242,175,42,16,229,175,43,110,52,111,62,112,1,229,167,146,242,173,207,1,225,173,201,242,175,36,1,231,175,37,238,175,38,101,29,101,58,108,62,109,2,230,175,35,238,173,190,242,173,193,16,243,175,32,2,225,175,34,227,173,186,228,173,187,97,52,98,56,99,1,239,173,135,242,173,134,16,246,175,30,16,233,175,31,13,109,73,115,48,115,48,117,52,233,167,55,239,175,62,16,243,175,67,4,225,175,68,229,50,234,175,71,244,175,72,247,175,73,1,42,46,72,18,97,110,243,175,70,1,42,175,69,67,16,206,175,70,109,58,111,62,114,2,226,175,64,229,175,65,236,175,66,16,236,175,61,16,238,175,63,101,32,101,62,103,66,107,76,108,2,229,175,58,231,175,59,236,175,60,16,242,175,54,1,242,175,55,247,175,56,16,239,175,57,97,46,98,96,100,16,228,167,55,7,244,12,244,175,47,246,175,48,249,175,49,250,175,50,237,167,188,239,175,44,240,175,45,243,175,46,2,225,175,51,226,175,52,249,175,53,116,162,82,117,164,217,118,10,111,31,229,9,229,173,241,233,173,115,239,173,249,111,52,114,56,117,1,238,173,252,244,173,253,16,244,173,250,16,239,173,251,97,60,101,76,105,86,108,96,109,1,230,173,247,247,173,248,2,231,173,239,233,173,222,238,173,240,1,227,173,242,240,173,243,1,227,173,244,246,173,245,16,243,173,246,0,38,117,124,233,31,242,14,242,171,214,243,171,218,244,171,224,247,105,249,171,241,233,171,186,235,171,193,236,171,197,238,171,203,239,171,205,122,36,122,54,225,171,153,229,171,171,231,46,232,171,182,16,237,171,244,1,42,46,65,18,114,97,226,171,178,1,42,171,177,80,16,203,171,178,117,60,118,82,119,98,120,108,121,1,225,171,242,246,171,243,3,232,171,231,236,171,232,237,171,233,241,171,234,2,228,167,191,236,171,235,245,171,236,1,232,171,237,241,171,238,1,231,171,239,239,171,240,107,128,112,73,112,94,113,110,114,114,115,130,116,6,241,12,241,171,201,242,171,228,243,171,229,244,171,230,228,171,225,229,171,226,234,171,227,2,233,171,210,237,171,211,250,171,212,16,239,171,213,2,245,171,215,246,171,216,247,171,217,4,228,171,219,230,171,220,231,171,221,234,171,222,247,171,223,107,72,108,88,109,104,110,114,111,3,230,171,206,231,171,207,235,171,208,241,171,209,2,236,171,194,242,171,195,244,171,196,2,230,171,198,248,171,199,249,171,200,1,232,171,201,249,171,202,16,232,171,204,101,70,101,94,102,116,103,120,104,136,105,6,235,12,235,171,189,237,171,190,239,171,191,246,171,192,226,163,180,230,171,187,231,171,188,3,228,171,172,237,171,173,239,171,174,244,171,175,16,233,171,176,2,227,171,179,239,171,180,245,171,181,2,236,171,183,241,171,184,242,171,185,97,68,98,90,99,134,100,3,228,171,167,231,171,168,232,171,169,245,171,170,3,234,171,154,236,171,155,238,171,156,241,171,157,6,231,12,231,171,161,239,171,162,247,171,163,250,171,164,227,171,158,228,171,159,230,171,160,1,233,171,165,249,171,166,15,115,98,231,44,231,66,235,171,252,242,173,91,250,1,42,134,65,18,114,97,226,173,237,1,42,46,67,18,121,114,236,171,249,2,42,171,248,75,42,77,16,206,171,250,16,218,171,249,115,96,116,100,118,110,122,16,238,1,42,46,65,18,114,97,226,173,237,2,42,173,7,65,42,67,16,206,173,238,16,198,173,237,16,225,173,233,1,232,165,77,242,173,234,1,232,173,235,236,173,236,109,50,109,62,110,66,111,112,114,2,233,173,230,244,173,231,247,173,232,16,226,171,254,1,242,38,248,173,228,1,42,46,68,18,101,118,225,173,227,1,42,173,226,78,16,208,173,227,16,235,173,229,98,50,100,54,103,64,108,16,233,171,253,16,245,171,245,1,233,171,246,237,171,247,16,225,171,251,112,195,172,112,166,6,113,166,238,114,166,251,115,0,40,120,140,236,57,242,41,245,9,245,171,136,246,171,142,247,171,143,242,44,243,171,129,244,171,133,34,3,42,171,58,77,164,204,82,42,84,16,210,171,62,1,207,171,61,213,171,59,236,171,97,237,171,102,238,171,110,239,171,117,241,111,228,49,228,56,229,171,73,231,171,78,233,171,87,235,171,93,3,42,54,68,68,75,76,83,18,105,110,228,171,70,1,42,171,67,73,16,206,171,68,18,101,118,225,171,68,18,104,111,234,171,69,120,52,121,62,122,72,225,171,46,227,171,57,1,238,171,149,247,171,150,1,236,171,151,242,165,16,16,236,171,152,108,181,114,79,114,88,115,116,116,132,117,142,119,5,232,9,232,171,143,240,171,147,246,171,148,226,171,144,227,171,145,231,171,146,4,226,171,126,227,171,57,238,171,127,242,171,128,248,165,246,2,228,171,130,231,171,131,249,171,132,1,235,171,134,241,171,135,4,225,171,137,229,171,138,235,171,139,242,171,140,243,171,141,108,74,109,102,110,146,111,162,75,112,3,228,171,123,236,171,124,243,171,125,249,167,121,4,228,171,98,233,171,99,236,171,100,239,171,93,249,171,101,6,238,12,238,171,106,240,171,107,241,171,108,243,171,109,225,171,103,228,171,104,234,171,105,5,240,9,240,171,114,248,171,115,249,171,116,226,171,111,227,171,112,235,171,113,4,231,171,118,235,171,119,241,171,120,245,171,121,249,171,122,103,62,103,66,104,88,105,110,106,132,107,2,227,171,94,242,171,95,243,171,96,3,225,171,79,243,171,80,247,171,81,250,171,82,3,233,171,83,235,171,84,238,171,85,245,171,86,3,228,171,88,231,171,89,236,171,90,237,171,91,16,242,171,92,97,74,98,118,99,134,100,162,104,101,3,230,171,74,232,171,75,233,171,76,243,171,77,6,243,12,243,171,50,244,171,51,246,171,52,250,171,53,230,171,47,232,171,48,241,171,49,2,225,171,54,229,171,55,240,171,56,5,238,9,238,171,65,239,171,66,242,167,4,227,44,235,171,63,236,171,64,34,5,82,17,82,46,83,50,84,16,210,171,62,16,207,171,61,16,213,171,59,42,171,58,49,42,77,16,197,171,60,17,55,178,171,59,1,227,171,71,232,171,72,0,23,111,90,117,43,236,9,236,169,248,243,169,232,244,171,6,117,76,119,80,225,1,42,46,65,18,114,97,226,169,224,1,42,169,223,80,16,203,169,224,16,245,171,8,16,225,171,9,114,23,114,46,115,62,116,16,240,171,7,2,225,171,2,228,171,3,231,171,4,16,243,171,5,111,46,112,50,113,16,237,171,1,16,238,169,254,1,225,169,255,239,171,0,104,60,108,29,108,64,109,74,110,3,226,167,210,231,169,251,238,169,252,244,169,253,1,225,169,249,244,169,53,16,243,169,250,104,52,105,62,107,1,225,169,246,239,169,247,1,236,169,241,238,169,242,2,236,169,243,240,169,244,243,169,245,100,32,100,46,101,56,102,16,236,169,240,1,227,169,235,244,169,236,4,228,169,237,239,169,238,242,165,116,243,165,116,248,169,239,97,52,98,100,99,1,228,169,233,237,169,234,4,231,169,225,236,50,237,169,228,240,169,229,245,169,230,1,42,169,226,80,18,104,108,240,169,227,1,233,169,231,245,169,232,1,117,38,245,171,10,2,227,171,11,231,171,12,250,171,10,0,20,111,69,121,23,239,9,239,169,81,245,171,39,247,171,42,121,44,237,171,26,238,171,31,16,245,171,45,111,60,114,76,116,80,117,84,119,1,235,171,43,239,171,44,2,226,171,34,230,171,35,239,171,36,16,239,171,37,16,237,171,38,2,229,171,40,231,171,41,237,169,81,105,52,105,60,106,86,107,90,109,94,110,1,225,171,32,231,171,33,1,225,171,21,230,34,1,42,171,22,78,16,204,171,23,16,243,171,24,16,244,171,25,3,230,171,27,239,171,28,244,171,29,245,171,30,97,54,99,70,101,74,103,90,104,16,231,171,20,2,233,171,13,234,169,102,239,171,14,16,230,171,15,2,234,171,16,236,171,17,243,171,18,16,238,171,19,109,162,116,110,166,81,111,14,116,46,234,12,234,169,205,237,165,165,242,169,214,243,169,217,116,62,117,72,122,76,227,34,1,42,169,202,69,16,211,169,203,1,225,169,219,235,169,220,16,233,169,221,16,237,169,222,110,35,110,50,112,66,114,70,115,16,225,169,218,2,231,169,210,238,169,211,243,169,212,16,237,169,213,2,239,169,215,245,169,216,249,169,214,103,58,106,62,107,2,225,169,207,242,169,208,246,169,209,16,227,169,204,1,231,169,205,243,169,206,0,34,116,159,233,38,239,15,239,169,81,242,169,92,243,164,136,244,169,96,249,163,209,233,169,18,235,169,12,236,169,70,238,1,42,186,211,77,18,111,110,231,165,67,120,61,120,52,121,62,122,100,231,169,53,232,169,59,1,227,169,111,237,169,112,5,247,9,247,169,116,248,169,117,250,169,118,235,169,113,237,169,114,246,169,115,5,240,9,240,169,122,247,169,123,250,169,124,235,169,119,237,169,120,238,169,121,116,68,117,90,118,112,119,3,235,169,108,242,165,58,246,169,109,247,169,110,3,227,169,97,230,169,98,233,169,99,242,169,100,3,225,169,101,240,169,102,242,169,103,243,169,104,2,225,169,105,238,169,106,249,169,107,105,123,110,68,110,66,111,94,112,122,113,144,114,2,228,169,93,234,169,94,239,169,95,4,225,169,77,230,169,78,233,169,79,235,182,41,247,169,80,4,225,169,82,229,169,83,232,169,84,243,169,85,248,169,86,3,240,169,87,243,169,88,244,169,89,248,169,90,16,236,169,91,105,62,107,84,108,106,109,2,239,169,74,245,169,75,248,169,76,3,227,169,62,230,169,63,238,169,64,247,169,65,3,233,169,66,236,169,67,240,169,68,247,169,69,2,229,169,71,240,169,72,243,169,73,101,73,101,62,102,106,103,134,104,2,233,169,60,236,169,61,242,165,2,6,238,12,238,169,44,242,169,45,244,169,46,245,169,47,228,169,41,229,169,42,235,169,43,4,225,169,48,229,169,49,238,169,50,239,169,51,241,169,52,4,232,169,54,236,169,55,239,169,56,240,169,57,249,169,58,97,94,98,162,80,99,162,93,100,6,232,12,232,169,37,234,169,38,242,169,39,248,169,40,225,169,34,229,169,35,230,169,36,11,238,29,247,18,247,169,20,249,38,250,169,23,34,1,42,169,21,67,16,195,169,22,238,180,74,239,169,18,243,169,19,231,9,231,169,15,233,169,16,235,169,17,227,169,12,228,169,13,230,169,14,4,232,169,24,239,169,25,241,169,26,245,169,27,247,169,28,4,233,169,29,240,169,30,241,169,31,242,169,32,245,169,33,0,33,116,95,228,29,238,15,238,169,167,239,169,173,242,169,180,246,169,194,249,169,198,228,169,140,229,169,143,231,169,148,236,165,79,121,21,121,48,122,58,225,169,125,226,169,133,1,237,169,199,238,169,200,16,233,169,201,116,56,117,66,119,94,120,1,241,169,196,242,169,197,1,237,169,187,242,169,188,4,233,169,189,240,169,190,243,169,191,246,169,192,248,169,193,16,226,169,195,106,96,111,53,111,78,112,106,113,110,114,114,115,4,235,169,182,238,169,183,239,169,184,243,169,185,244,169,186,4,228,169,174,229,169,175,238,169,176,240,169,177,245,169,178,16,233,169,143,16,239,169,179,16,226,169,181,106,74,107,78,109,88,110,4,230,169,168,232,169,169,235,169,170,237,169,171,240,169,172,16,239,169,162,1,231,169,163,239,169,164,1,231,169,165,250,169,166,102,55,102,90,103,94,104,110,105,6,238,12,238,169,158,245,169,159,249,169,160,250,169,161,230,169,155,233,169,156,234,169,157,16,242,169,147,2,225,169,149,226,169,150,236,169,151,2,226,169,152,229,169,153,247,169,154,97,62,99,106,100,144,101,2,226,169,144,247,169,145,248,169,146,6,238,12,238,169,129,240,169,130,241,169,131,243,169,132,227,169,126,230,169,127,235,169,128,5,232,9,232,169,137,239,169,138,245,169,139,225,169,134,229,169,135,230,169,136,1,227,169,141,243,169,142,102,199,105,105,196,159,105,164,27,106,164,198,107,166,19,108,0,27,116,74,231,23,239,12,239,167,250,244,169,2,245,169,4,246,169,8,231,167,227,233,167,229,238,167,247,119,21,119,48,122,52,225,167,206,226,167,213,16,236,169,9,1,232,169,10,250,169,11,116,46,117,50,118,16,243,169,8,16,231,169,3,3,225,169,5,239,169,6,249,163,216,250,169,7,106,74,109,49,109,50,110,66,111,76,114,16,227,169,1,2,238,167,244,239,167,245,240,167,246,1,243,167,248,245,167,249,5,242,9,242,167,254,243,167,255,250,169,0,234,167,251,235,167,252,236,167,253,106,52,107,56,108,1,229,167,242,238,167,243,16,240,167,239,1,233,167,240,244,167,241,100,77,100,118,101,122,103,162,66,105,7,232,12,232,167,235,234,167,236,236,167,237,243,167,238,225,167,230,228,167,231,230,38,231,167,234,1,42,167,232,76,18,105,109,226,167,233,16,226,167,219,6,240,12,240,167,223,241,167,224,245,167,225,250,167,226,228,167,220,229,167,221,237,167,222,16,231,167,228,97,52,98,90,99,1,237,167,217,240,167,218,5,232,9,232,167,210,234,167,211,243,167,212,226,167,207,228,167,208,231,167,209,2,229,167,214,245,167,215,247,167,216,0,25,119,57,235,23,243,12,243,167,18,244,167,41,245,167,30,247,167,42,235,165,107,238,167,36,239,167,38,228,9,228,167,20,231,167,25,233,167,28,119,42,122,52,225,167,12,1,237,167,43,243,167,44,1,232,167,45,233,167,46,106,51,109,23,109,50,110,54,111,58,114,16,233,167,40,16,239,167,35,16,232,167,37,16,245,167,39,106,46,107,50,108,16,239,167,34,16,234,167,29,3,229,167,30,235,167,31,247,167,32,248,167,33,100,26,100,52,102,68,103,1,226,167,26,229,167,27,2,228,167,21,233,167,22,245,167,23,16,229,167,24,97,58,98,68,99,2,225,167,17,229,167,18,232,167,19,1,238,167,13,242,167,14,2,225,163,169,226,167,15,249,167,16,11,114,26,233,9,233,167,55,246,167,61,247,167,62,114,42,117,46,225,167,47,16,225,167,59,16,244,167,60,103,23,103,52,105,62,109,1,227,167,57,236,167,58,1,235,167,50,239,167,54,16,226,167,56,97,46,98,62,101,16,238,167,53,2,226,167,48,237,167,49,242,167,50,1,239,167,51,245,167,52,0,40,117,192,240,235,116,242,63,246,40,246,167,150,247,167,184,249,2,42,50,65,76,76,18,97,116,238,167,199,2,42,167,197,67,42,84,16,210,167,199,16,206,167,198,18,114,97,226,167,198,242,167,137,243,167,162,245,2,42,164,103,65,164,109,89,18,101,122,233,167,132,235,56,236,167,120,237,167,125,238,167,136,239,167,141,1,42,46,65,18,114,97,226,167,115,4,42,167,113,65,50,67,54,73,58,77,16,206,167,117,16,198,167,114,16,206,167,115,16,210,167,116,122,27,122,56,225,165,180,231,167,92,233,167,104,234,167,108,3,232,167,202,234,167,203,242,167,204,244,167,205,117,60,118,110,119,126,120,148,121,1,229,167,200,248,167,201,7,237,12,237,167,177,238,167,178,240,167,179,243,167,180,226,167,173,228,167,174,229,167,175,234,167,176,2,231,167,181,242,167,182,248,167,183,3,234,167,185,235,167,186,239,167,187,241,167,188,7,237,12,237,167,193,240,167,194,247,167,195,250,167,196,225,167,189,227,167,190,229,167,191,236,167,192,107,192,213,112,99,112,74,113,112,114,134,115,162,69,116,3,226,167,169,237,167,170,239,167,171,242,167,172,5,242,9,242,167,149,246,167,150,248,167,151,229,167,146,230,167,147,239,167,148,3,226,167,152,230,167,153,243,167,154,249,167,155,5,236,9,236,167,159,243,167,160,245,167,161,227,167,156,233,167,157,234,167,158,5,232,9,232,167,166,234,167,167,242,167,168,226,167,163,228,167,164,230,167,165,107,80,108,90,109,112,110,162,87,111,4,233,167,142,235,167,139,236,167,143,243,167,144,250,167,145,1,227,167,118,234,167,119,3,238,167,121,241,167,122,244,167,123,248,167,124,6,242,38,242,50,243,167,133,245,167,134,247,167,135,2,42,50,65,64,89,18,101,122,233,167,132,1,42,167,129,76,16,194,167,130,18,114,97,226,167,131,226,167,126,232,167,127,239,167,128,4,227,167,137,230,167,138,231,167,92,238,167,139,240,167,140,102,82,102,72,103,88,104,104,105,160,106,3,228,167,109,231,167,110,243,167,111,249,167,112,2,239,167,89,242,167,90,249,167,91,2,229,167,93,230,167,94,240,167,95,8,241,15,241,167,99,243,167,100,244,167,101,247,167,102,250,167,103,225,167,96,226,167,97,235,172,149,238,167,98,2,234,167,105,245,167,106,247,167,107,97,70,98,126,99,162,65,100,162,75,101,2,225,167,86,238,167,87,250,167,88,8,233,15,233,167,67,234,167,68,237,167,69,239,167,70,247,167,71,225,167,63,226,167,64,227,167,65,228,167,66,5,241,9,241,167,75,248,167,76,249,167,77,228,167,72,237,167,73,240,167,74,3,231,167,78,235,167,79,236,167,80,244,167,81,3,229,167,82,232,167,83,236,167,84,244,167,85,102,162,194,103,164,119,104,0,19,117,70,242,15,242,167,4,244,167,7,245,167,8,249,163,67,250,167,11,117,52,225,62,229,165,237,233,98,239,167,0,1,233,167,9,242,167,10,34,3,42,165,227,55,46,67,52,83,16,196,165,228,17,51,182,165,228,16,205,165,229,1,42,165,239,76,18,97,116,238,165,240,108,56,108,60,109,70,110,80,111,108,115,1,226,167,5,238,167,6,1,225,165,247,245,165,248,1,228,165,249,244,165,250,4,228,165,251,229,165,252,234,165,253,238,165,254,239,165,255,2,227,167,1,234,167,2,244,167,3,97,88,98,116,100,120,104,124,105,5,232,9,232,165,244,236,165,245,237,165,246,225,165,241,230,165,242,231,165,243,4,231,165,230,235,165,231,237,165,232,247,165,233,250,165,234,16,226,165,235,16,249,165,236,16,249,165,238,0,17,117,83,233,15,233,165,126,234,165,130,239,165,133,242,165,139,249,165,154,117,66,118,148,225,165,116,230,1,42,165,122,65,18,100,108,237,165,123,9,232,15,232,165,148,241,165,149,242,165,150,246,165,151,249,165,152,226,165,144,227,50,228,165,145,229,165,146,230,165,147,1,42,165,122,65,18,100,108,237,165,123,16,242,165,153,109,47,109,78,111,82,112,98,113,102,114,4,227,165,140,229,165,139,240,165,141,242,165,142,243,165,143,16,240,165,132,2,228,165,134,238,165,135,242,165,136,16,229,165,137,16,243,165,138,97,50,102,86,105,96,108,16,242,165,131,5,233,8,233,165,120,238,165,121,244,105,225,165,117,226,165,118,231,165,119,1,233,165,124,237,165,125,2,225,165,127,236,165,128,244,165,129,0,26,110,159,121,29,236,12,236,165,192,238,165,196,245,165,212,246,165,220,121,44,225,165,155,228,165,173,1,225,165,166,233,165,226,115,58,115,62,117,66,118,116,119,2,227,165,223,233,165,224,244,165,225,16,247,165,211,7,242,12,242,165,216,247,165,217,248,165,218,250,165,219,226,165,213,227,165,214,228,165,215,231,165,196,2,230,165,221,242,165,183,243,165,222,110,90,111,106,114,4,226,165,169,227,50,229,165,94,244,165,209,247,165,210,1,42,165,207,76,18,105,110,226,165,208,2,228,165,197,231,165,198,239,165,199,7,238,12,238,165,199,242,165,204,243,165,205,244,165,206,228,165,200,230,165,201,233,165,202,237,165,203,103,60,106,35,106,56,107,72,108,82,109,1,237,165,194,246,165,195,2,235,165,187,238,165,188,245,165,189,1,238,165,190,240,165,191,16,235,165,193,103,52,104,62,105,1,236,165,185,237,165,186,1,238,165,183,239,165,106,16,243,165,184,100,40,100,46,101,62,102,16,235,165,182,2,229,165,174,238,165,175,242,165,176,5,239,9,239,165,180,242,165,48,250,165,181,226,165,177,234,165,178,236,165,179,97,46,98,108,99,16,242,165,172,9,237,15,237,165,161,238,165,162,247,165,163,249,165,164,250,165,165,225,165,156,230,165,157,231,165,158,232,165,159,234,165,160,5,239,9,239,165,169,249,165,170,250,165,171,225,165,166,230,165,167,237,165,168,99,194,244,99,162,163,100,164,250,101,0,18,119,51,238,25,238,56,239,165,103,243,165,105,244,165,92,245,163,103,1,42,165,99,83,18,104,97,247,165,100,119,52,120,56,122,60,229,165,87,236,165,94,16,239,165,113,16,244,165,114,16,225,165,115,109,70,109,72,110,122,114,132,115,136,116,3,242,165,109,244,165,110,245,165,111,248,165,112,2,225,165,95,233,165,96,235,1,42,46,78,18,107,111,239,165,98,1,42,165,97,71,16,206,165,98,1,238,165,101,241,165,102,16,233,165,104,2,231,165,106,235,165,107,245,165,108,98,62,102,66,103,70,107,2,225,165,91,235,165,92,249,165,93,16,245,165,86,16,233,165,88,1,236,165,89,249,165,90,0,27,114,87,232,33,243,22,243,165,28,245,44,246,165,34,249,165,35,1,42,165,32,71,18,108,97,231,165,33,232,163,238,239,165,19,242,165,22,119,18,119,48,122,52,225,163,228,229,163,234,16,228,165,22,16,229,165,28,114,46,115,74,116,16,228,165,31,4,231,165,23,232,165,24,235,165,25,236,165,26,243,165,27,1,226,165,29,247,165,30,105,85,108,51,108,50,109,66,111,114,112,16,243,165,21,2,225,165,14,227,165,15,228,165,16,2,229,165,17,231,165,18,238,2,42,162,99,66,162,174,72,17,97,110,1,226,165,0,244,163,251,16,240,165,20,105,64,106,68,107,3,226,165,10,236,165,11,239,165,12,249,165,13,16,227,165,6,2,225,165,7,237,165,8,246,165,9,101,143,101,162,128,102,162,129,103,162,130,104,5,239,9,239,165,3,240,165,4,242,165,5,233,44,235,165,1,237,165,2,2,42,60,66,162,89,72,17,97,110,1,226,165,0,244,163,251,11,77,45,84,23,84,46,85,56,86,16,196,163,254,1,200,163,250,215,163,251,1,203,163,252,211,163,253,77,180,193,80,42,83,16,210,163,249,2,198,163,246,200,163,247,218,163,248,71,14,71,48,72,180,165,73,16,196,163,244,16,198,163,242,42,163,239,65,42,66,16,206,163,241,16,213,163,240,18,111,112,239,163,255,16,226,163,235,16,225,163,236,16,231,163,237,97,52,98,62,99,1,232,163,232,240,163,233,1,228,163,229,238,163,230,16,234,163,231,0,23,114,111,121,28,229,8,229,165,48,246,165,80,250,69,121,42,122,52,225,165,36,1,239,165,83,245,165,84,16,231,165,85,117,29,117,46,118,74,119,16,247,165,82,4,225,165,75,227,165,76,228,165,77,231,165,78,244,165,79,16,225,165,81,114,64,115,116,116,3,237,165,71,240,165,72,243,165,73,249,165,74,2,232,44,233,165,68,243,165,69,1,42,46,77,18,111,110,231,165,67,1,42,165,66,67,16,206,165,67,16,226,165,70,104,45,109,23,109,170,208,110,60,111,3,226,165,63,233,165,55,240,165,64,247,165,65,16,234,165,38,104,46,105,50,106,16,229,165,61,16,228,165,58,1,225,165,59,241,165,60,100,40,100,86,101,90,103,6,236,12,236,165,54,239,165,55,242,165,56,250,165,57,225,165,51,232,165,52,233,165,53,16,238,165,47,1,228,165,49,238,165,50,97,46,98,90,99,16,227,165,46,6,232,12,232,165,40,235,165,41,242,165,42,246,165,43,228,165,37,230,165,38,231,165,39,1,228,165,44,241,165,45,42,166,0,97,190,213,98,0,35,115,165,229,29,237,15,237,163,171,238,163,176,239,163,180,242,163,189,243,163,194,229,163,125,231,163,138,232,163,142,233,163,148,119,65,119,50,120,60,121,76,122,114,225,163,99,1,228,163,213,242,163,214,2,232,163,215,235,163,216,242,163,202,5,243,9,243,163,220,246,163,221,248,163,222,229,163,217,238,163,218,242,163,219,4,225,163,223,229,163,224,230,163,225,232,163,226,247,163,227,115,50,116,72,117,88,118,16,226,163,212,3,234,163,195,241,163,196,243,163,197,244,163,198,2,239,163,199,244,163,200,246,163,201,9,237,15,237,163,207,239,163,208,242,163,209,243,163,210,245,163,211,225,163,202,227,163,203,228,163,204,231,163,205,235,163,206,106,134,110,59,110,72,111,88,112,104,113,108,114,3,225,163,190,232,163,191,248,163,192,250,163,193,2,231,163,177,237,163,178,240,163,179,2,234,163,181,237,163,182,238,163,183,16,249,163,184,3,227,163,185,233,163,186,240,163,187,246,163,188,106,68,107,118,108,146,109,3,232,163,172,235,163,173,241,163,174,245,163,175,7,239,12,239,163,159,242,163,160,244,163,161,250,163,162,232,163,155,233,163,156,234,163,157,238,163,158,4,227,163,163,237,163,164,241,163,165,245,163,166,246,163,167,2,225,163,168,231,163,169,244,163,170,101,106,101,98,102,148,103,162,68,104,162,75,105,6,237,12,237,163,151,238,163,152,239,163,153,241,163,154,226,163,149,231,163,150,235,163,118,7,244,12,244,163,130,247,163,131,248,163,132,250,163,133,230,163,126,232,163,127,234,163,128,237,163,129,3,228,163,134,241,163,135,244,163,136,249,163,137,2,227,163,139,238,163,140,248,163,141,5,236,9,236,163,146,239,163,142,249,163,147,226,163,143,231,163,144,233,163,145,97,50,98,100,99,144,100,16,228,163,124,7,242,12,242,163,104,243,163,105,246,163,106,248,163,107,236,163,100,238,163,101,240,163,102,241,163,103,6,228,12,228,163,111,234,163,112,240,163,113,242,163,114,225,163,108,226,163,109,227,163,110,9,237,15,237,163,119,238,163,120,239,163,121,241,163,122,245,163,123,227,163,100,230,163,115,232,163,116,233,163,117,236,163,118,0,24,77,194,138,84,192,225,87,54,87,54,88,78,89,100,90,18,97,110,226,173,225,1,97,44,99,17,104,239,169,172,17,114,225,173,224,1,112,42,115,17,117,248,107,17,101,239,169,238,1,101,44,105,17,105,233,167,28,17,122,233,167,132,84,68,85,162,158,86,1,97,44,105,17,116,232,173,223,17,105,233,173,222,7,104,78,104,54,105,134,110,162,66,111,17,116,239,171,240,16,97,1,225,88,233,4,42,171,182,67,50,75,54,76,58,84,16,200,171,182,16,206,167,218,16,200,173,219,16,193,173,220,1,42,165,80,77,16,214,165,80,1,98,42,114,16,232,173,221,16,244,1,42,163,180,66,16,212,69,17,115,225,169,186,97,52,101,128,102,134,103,17,108,231,173,218,5,109,17,109,46,110,50,118,16,244,163,170,16,236,171,153,16,231,171,239,103,52,107,56,108,1,229,171,167,245,167,97,16,226,173,215,16,242,173,216,17,108,245,171,171,17,110,231,173,217,18,103,97,242,171,251,80,192,196,80,162,114,82,162,169,83,6,105,67,105,66,111,106,117,144,121,1,108,42,114,16,227,165,16,16,239,173,214,1,100,62,110,1,228,171,70,232,1,42,171,87,76,16,203,171,87,16,228,173,211,2,103,46,114,56,121,16,239,165,18,1,228,171,118,239,173,212,16,225,171,126,17,110,228,173,213,97,62,103,94,104,1,97,42,114,16,228,173,210,16,247,165,100,2,109,46,114,50,117,16,242,171,53,16,242,171,107,16,226,173,209,17,110,247,163,76,4,97,56,101,76,104,82,108,120,114,17,116,233,173,207,1,108,42,117,16,227,165,31,16,237,163,65,17,114,237,173,205,2,97,46,108,50,110,16,248,169,242,16,231,173,206,1,233,169,226,240,169,227,17,114,228,165,249,2,106,48,111,54,117,17,110,242,169,176,17,110,231,173,208,17,104,231,171,20,77,138,78,162,171,79,4,103,56,108,62,114,68,115,88,117,17,103,242,169,221,17,97,237,171,79,17,99,235,171,51,1,107,42,121,16,225,169,214,16,232,169,220,1,103,42,109,16,225,173,204,16,229,169,218,7,114,46,114,90,116,96,117,102,121,17,109,242,3,42,163,209,73,46,77,50,84,16,200,173,198,16,206,167,101,16,205,163,209,17,111,239,169,95,17,101,233,173,196,17,108,244,173,197,97,66,101,116,108,154,111,1,100,42,110,16,231,165,67,16,233,173,195,3,104,50,107,54,110,58,114,16,227,173,191,16,234,173,188,16,225,173,189,1,228,169,118,233,173,190,2,100,52,110,56,114,1,227,173,193,239,173,194,16,230,165,62,16,228,173,192,17,121,237,169,70,4,97,56,98,88,101,92,107,98,115,17,104,245,173,203,2,103,46,110,50,114,16,226,173,201,16,237,173,199,16,228,173,200,17,97,244,161,17,119,225,173,202,17,111,239,165,98,71,196,17,74,195,53,74,166,192,75,166,217,76,3,97,70,101,166,156,105,166,158,121,1,99,42,100,16,233,173,187,16,233,173,186,2,110,166,121,111,166,122,116,16,238,0,26,75,193,57,84,91,87,20,87,172,115,88,172,119,89,48,90,1,193,173,3,215,171,110,16,212,173,119,84,64,85,130,86,3,193,173,114,197,173,116,206,173,115,213,163,148,11,206,20,214,9,214,171,235,215,171,216,218,171,143,206,173,184,207,171,205,210,171,214,203,197,215,203,171,194,204,173,110,205,171,193,4,193,173,185,199,173,112,211,165,99,217,173,113,218,173,7,78,130,78,138,80,162,74,82,162,109,83,12,206,23,212,12,212,173,104,213,167,159,214,173,105,217,173,183,206,173,102,207,171,117,210,173,103,202,9,202,173,100,203,171,93,205,173,101,195,173,99,197,171,142,201,171,97,6,199,12,199,171,255,201,173,86,204,165,79,207,169,133,193,173,83,195,173,84,197,173,85,10,204,20,212,9,212,173,95,215,169,230,217,165,196,204,169,248,205,173,92,210,173,93,193,173,88,197,173,89,198,173,90,199,171,210,200,165,128,3,197,173,98,207,169,81,213,167,159,215,171,42,75,158,76,162,67,77,0,16,205,29,212,15,212,169,96,213,169,49,216,173,1,217,169,21,218,173,82,205,167,65,207,173,181,209,173,80,210,173,182,198,12,198,173,79,199,169,53,203,173,180,204,163,171,193,173,179,195,173,77,196,173,78,197,171,60,1,197,173,66,205,173,178,4,201,173,72,211,173,73,212,169,2,213,173,74,214,169,8,67,192,194,70,100,70,86,71,102,72,162,77,73,5,210,9,210,173,177,211,167,18,212,167,41,195,173,63,196,167,20,197,173,51,2,201,165,126,207,165,133,210,165,139,12,206,23,211,12,211,173,58,212,173,59,213,173,6,215,173,60,206,173,55,208,173,56,209,173,57,198,8,198,173,54,200,105,204,167,120,193,173,53,194,173,9,197,173,176,4,205,173,61,206,173,62,210,167,4,212,167,7,213,167,8,67,82,68,162,66,69,5,211,9,211,165,105,212,173,170,218,173,52,193,173,47,195,173,48,197,165,92,15,207,26,214,12,214,173,42,215,173,11,217,173,174,218,165,28,207,173,39,208,173,40,210,173,41,213,173,4,201,198,143,201,173,36,204,173,37,205,173,38,206,173,173,5,203,9,203,165,36,207,173,45,218,173,175,197,165,48,199,173,97,202,173,44,52,94,52,174,138,65,120,66,11,206,20,210,9,210,171,6,213,167,65,214,173,32,206,173,29,207,173,30,209,173,31,201,9,201,171,31,202,173,27,204,173,28,193,163,194,197,173,24,198,173,25,12,210,23,213,12,213,173,0,215,173,22,216,173,23,218,163,95,210,173,19,211,173,20,212,173,21,205,9,205,173,172,207,173,17,209,173,18,196,173,14,198,173,171,204,111,42,165,99,49,44,50,17,51,176,173,170,17,55,178,167,159,16,225,169,174,16,239,1,42,167,250,76,16,193,167,250,17,112,227,167,223,2,109,46,110,50,115,16,245,167,238,16,226,167,233,1,225,167,207,226,165,208,1,97,58,112,17,97,238,1,42,167,47,74,16,208,167,47,1,109,42,118,16,225,173,166,16,239,173,165,5,110,30,110,48,111,54,116,17,104,233,173,169,17,100,225,167,136,17,114,229,1,42,167,141,75,1,208,173,68,210,167,141,97,48,104,80,105,17,116,243,173,168,2,108,46,110,50,119,16,233,167,71,16,233,165,93,16,225,173,167,2,97,46,109,50,111,16,234,171,69,16,242,171,2,16,242,1,42,167,125,75,16,200,167,125,71,52,72,162,92,73,18,116,97,236,165,110,4,101,70,108,90,111,96,114,122,117,1,106,42,114,16,245,169,223,16,242,165,212,17,111,242,1,42,165,180,71,16,197,165,180,17,97,231,165,33,1,110,42,116,16,232,165,206,1,231,173,153,237,165,106,1,97,80,101,16,235,3,42,165,94,67,46,71,50,84,16,210,163,141,16,217,173,43,16,210,165,94,16,238,173,154,5,108,24,108,48,109,54,117,17,110,231,173,164,17,117,247,165,248,16,110,1,231,173,163,240,165,253,97,48,101,156,105,17,114,225,173,162,16,110,5,239,42,239,173,157,243,88,244,4,42,163,251,67,50,72,54,77,58,84,16,215,163,251,16,193,173,158,16,203,163,243,16,207,163,245,1,42,163,239,67,16,206,163,239,226,165,0,231,173,155,233,173,156,17,98,242,3,42,165,237,73,52,83,56,85,1,193,173,160,211,173,161,16,204,165,237,16,197,173,159,67,193,20,67,112,68,162,205,69,2,103,64,108,70,116,17,104,233,1,42,119,69,1,210,173,50,212,119,17,121,240,165,90,1,98,42,121,16,237,173,152,16,225,173,151,4,97,162,104,104,162,119,111,162,134,112,162,136,121,17,114,236,10,77,51,84,20,84,46,85,56,88,16,203,173,144,1,202,171,177,210,173,143,16,193,171,252,77,46,82,62,83,16,203,173,142,2,196,173,140,203,169,12,206,165,66,2,207,173,141,211,171,58,213,171,39,42,171,39,65,56,66,60,71,76,75,1,199,167,197,218,173,70,16,204,173,137,2,193,173,138,199,163,138,217,163,125,1,197,45,210,173,139,2,107,46,110,50,114,16,233,173,134,16,237,163,233,16,243,167,30,2,97,46,101,50,114,16,243,173,135,16,237,165,8,16,242,165,5,17,112,244,165,20,1,109,42,114,16,244,165,207,16,238,1,42,173,136,67,16,217,173,136,3,101,52,105,134,111,140,117,17,112,236,173,150,17,118,225,6,73,23,73,50,77,54,78,58,80,16,203,163,201,16,206,165,239,16,213,173,147,16,208,169,143,42,165,239,66,42,70,16,202,173,146,16,212,173,145,17,97,235,173,148,17,103,242,173,149,42,162,84,65,170,49,66,5,111,31,111,62,114,68,117,1,103,42,104,16,228,173,133,16,233,173,132,17,112,239,163,255,16,97,1,232,169,246,233,173,131,97,48,101,92,104,17,107,243,173,130,3,108,50,109,54,115,58,116,16,235,173,129,16,233,173,128,16,245,163,107,16,243,163,196,17,110,231,1,42,163,176,66,16,196,163,176,0,33,74,193,192,82,192,204,86,56,86,60,87,88,88,98,89,102,90,1,210,173,2,215,171,110,4,193,173,114,196,173,115,197,173,116,206,173,115,213,163,148,1,198,173,117,211,171,102,16,203,173,118,3,196,173,13,197,173,13,212,173,119,213,171,58,82,70,83,108,84,162,87,85,3,193,171,252,199,173,112,217,173,113,218,173,7,5,211,9,211,171,58,213,171,39,215,171,42,197,173,98,200,171,110,207,169,81,14,205,26,212,12,212,173,104,213,171,39,214,173,105,217,173,106,205,173,101,206,173,102,207,171,117,210,173,103,197,12,197,171,142,201,171,97,202,173,100,203,171,93,193,173,8,195,173,99,196,173,12,14,205,26,210,12,210,171,214,214,171,235,215,163,251,218,171,143,205,171,193,206,173,111,207,171,205,208,173,110,200,12,200,171,182,202,171,177,203,171,194,204,173,110,196,173,107,198,173,108,199,173,109,78,100,78,64,79,168,150,80,120,81,2,193,173,96,207,173,97,213,173,51,9,204,15,204,165,79,207,169,133,208,169,143,209,173,18,212,173,8,193,173,83,195,173,84,197,173,85,200,163,148,201,173,86,13,205,23,212,12,212,173,95,215,169,230,217,165,196,218,173,88,205,173,92,210,173,93,211,173,94,199,12,199,171,210,200,165,128,203,173,91,204,169,248,193,173,88,197,173,89,198,173,90,74,162,72,75,162,76,76,162,100,77,0,18,206,32,213,15,213,169,49,214,165,80,216,173,1,217,169,21,218,173,82,206,165,66,207,163,245,209,173,80,210,173,81,212,169,96,198,15,198,173,79,199,169,53,203,169,12,204,163,171,205,163,209,193,173,76,195,173,77,196,173,78,197,171,60,1,207,173,65,208,167,47,7,208,12,208,173,68,210,167,141,215,173,69,218,173,70,197,173,66,199,167,197,200,167,125,205,173,67,8,211,15,211,173,73,212,169,2,213,173,74,214,169,8,217,173,75,193,167,250,194,173,71,201,173,72,203,171,87,65,193,96,69,152,69,106,70,162,65,71,162,78,72,162,117,73,7,209,12,209,173,64,210,165,116,211,167,18,212,167,41,195,173,63,196,167,20,204,165,237,206,165,239,9,210,14,210,173,50,211,165,105,212,119,213,173,51,218,173,52,193,173,47,195,173,48,197,165,92,199,157,200,173,49,4,201,165,126,207,165,133,209,173,18,210,165,139,216,165,139,11,208,20,211,9,211,173,58,212,173,59,215,173,60,208,173,56,209,173,57,210,165,94,200,8,200,105,204,167,120,206,173,55,193,173,53,197,165,180,198,173,54,6,210,12,210,167,4,212,167,7,213,167,8,214,173,25,203,163,243,205,173,61,206,173,62,65,94,66,162,76,67,162,131,68,6,203,12,203,165,36,207,173,45,217,173,27,218,173,46,196,165,48,197,165,48,202,173,44,13,209,23,212,12,212,173,21,215,173,22,216,173,23,218,163,95,209,173,18,210,173,19,211,173,20,204,11,204,111,205,163,67,206,173,11,207,173,17,196,173,14,197,173,15,198,173,16,0,16,204,28,210,14,210,171,6,212,69,213,163,209,214,173,32,217,163,125,204,173,28,206,173,29,207,173,30,209,173,31,199,12,199,163,138,200,173,26,201,171,31,202,173,27,193,163,194,196,163,176,197,173,24,198,173,25,0,16,207,29,213,15,213,173,4,214,173,42,215,173,11,217,173,43,218,165,28,207,173,39,208,173,40,210,173,41,211,171,58,201,12,201,173,36,204,173,37,205,173,38,206,163,239,196,173,2,198,173,33,199,173,34,200,173,35,52,34,52,66,53,72,55,78,56,1,56,42,57,16,176,171,58,16,182,173,13,17,49,185,173,10,17,51,178,173,11,17,51,182,173,12,42,165,99,48,80,49,162,107,50,2,48,46,51,56,56,16,176,165,48,1,176,165,28,178,171,255,16,176,119,5,51,35,51,52,53,74,54,1,177,171,102,178,165,239,3,176,163,239,180,165,239,181,167,20,185,167,41,2,179,173,0,180,173,5,183,173,6,48,52,49,74,50,1,177,165,99,185,173,4,3,178,171,255,179,165,99,181,171,6,185,173,0,6,181,11,181,157,183,173,2,184,173,3,185,165,99,177,171,255,179,173,1,180,171,143,2,52,46,53,62,55,16,178,171,39,2,178,163,239,179,173,7,181,173,8,3,176,171,39,177,171,39,180,173,9,181,165,48,4,100,54,103,60,104,66,114,70,118,17,115,244,75,17,108,237,165,123,17,104,226,171,246,17,111,237,99,1,97,60,109,1,233,159,238,1,42,163,67,65,16,205,163,67,16,226,0,19,76,98,81,49,81,60,83,64,84,80,85,106,89,1,197,173,13,212,171,144,16,193,173,96,2,193,173,8,196,173,12,217,173,106,4,199,147,200,169,48,202,173,126,206,173,111,210,173,127,16,203,173,121,76,60,77,70,78,98,79,102,80,1,203,173,91,211,173,94,1,194,173,71,217,173,75,4,193,173,76,205,173,120,206,167,117,210,173,81,213,173,124,16,199,173,125,16,205,173,87,69,46,69,66,71,74,73,78,74,100,75,2,200,165,7,205,173,67,215,173,69,1,199,157,200,173,49,16,194,173,121,3,196,173,122,206,173,123,209,173,64,210,165,116,16,207,173,65,42,157,65,50,66,60,67,70,68,16,218,173,46,1,197,173,15,198,173,16,1,200,173,26,213,173,120,1,195,169,22,206,171,248,0,33,117,136,230,43,242,33,242,157,243,163,74,246,163,84,249,163,93,250,1,42,46,65,18,114,97,226,163,97,2,42,163,95,73,138,82,16,213,163,98,230,81,235,105,237,119,238,129,122,45,122,44,225,37,226,45,229,75,16,234,1,42,46,65,18,114,97,226,163,97,3,42,163,95,49,46,73,52,83,16,213,163,98,17,55,178,163,98,1,209,163,96,210,163,97,117,56,118,60,119,82,121,1,226,163,94,242,163,93,16,249,163,83,3,236,163,85,238,163,86,244,163,87,245,163,88,3,225,163,89,226,163,90,239,163,91,248,163,92,107,151,111,106,111,68,112,78,114,104,115,162,81,116,2,225,163,80,231,163,81,234,163,82,2,234,139,237,141,250,143,5,242,6,242,151,243,153,250,155,227,145,228,147,229,149,9,239,15,239,163,69,241,163,70,243,163,71,249,163,72,250,163,73,226,157,227,50,232,163,66,237,163,67,238,163,68,2,42,159,78,46,80,18,97,108,237,163,65,18,98,97,244,161,4,225,163,75,229,163,76,231,163,77,239,163,78,244,163,79,107,60,108,62,109,88,110,3,227,131,235,133,238,135,249,137,16,235,107,5,238,6,238,115,243,111,244,117,225,109,226,111,233,113,3,237,121,238,123,239,125,240,127,101,39,101,52,103,58,104,84,106,1,231,101,244,103,1,226,77,249,79,5,237,6,237,89,239,91,241,93,227,83,228,85,231,87,2,225,95,236,97,239,99,97,72,98,82,99,100,100,5,240,6,240,69,249,71,250,73,225,63,229,65,234,67,2,233,39,235,41,245,43,4,233,47,241,49,242,51,244,53,249,55,2,228,57,229,59,232,61,4,0,39,0,55,0,60,0,74,0,170,170,166,29,0,144,117,31,0,144,108,50,0,144,147,25,0,16,4,0,0,0,80,0,0,0,50,0,0,0,4,0,0,0,3,0,0,0,170,170,170,170,141,6,0,0,0,0,8,9,10,0,2,0,0,0,11,0,9,0,2,1,9,0,1,1,10,0,10,0,0,0,0,0,0,0,10,12,0,0,0,1,11,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,11,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,0,1,0,0,0,0,14,1,0,0,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,0,2,0,0,1,1,2,1,0,1,2,3,1,1,0,2,1,0,1,1,2,0,1,1,1,1,1,1,1,0,2,2,1,2,0,2,2,2,1,1,2,1,0,1,2,4,0,1,1,0,1,1,1,1,0,1,2,1,1,2,1,0,2,1,0,2,1,2,1,1,1,0,0,0,1,1,0,1,0,0,1,1,0,2,0,2,0,0,0,0,0,0,0,0,0,0,5,1,0,2,0,1,0,1,5,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,2,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,1,6,0,2,1,2,1,1,1,0,0,2,1,1,0,2,1,1,2,2,3,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,7,0,1,2,0,0,0,1,0,2,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,1,2,0,1,0,1,0,0,0,0,1,0,2,1,1,1,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,1,1,1,0,0,5,0,5,0,1,1,1,2,1,3,0,0,1,1,1,1,7,3,2,5,2,1,1,1,1,2,1,1,1,0,1,0,1,1,1,0,2,0,0,1,0,0,1,1,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,1,1,3,0,0,1,1,2,1,0,0,0,4,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,2,1,1,1,2,0,2,1,1,1,0,2,1,0,1,1,1,0,1,1,1,1,5,1,1,0,1,0,2,0,1,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,3,15,0,0,0,0,4,0,0,0,0,0,2,1,1,0,2,0,2,0,2,0,4,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,154,10,0,0,0,25,110,196,43,116,193,177,119,192,199,119,162,125,120,162,135,121,162,151,122,4,108,56,109,170,155,225,56,232,86,245,17,101,238,93,18,237,109,243,53,17,122,232,72,1,42,133,76,22,97,116,238,72,97,110,243,53,17,122,232,32,2,42,133,72,52,76,22,97,116,238,72,97,110,243,73,17,97,110,1,233,126,244,19,72,97,110,244,32,7,179,10,179,62,180,58,181,54,182,16,182,41,42,43,176,38,177,34,178,5,179,200,184,179,41,180,41,181,41,5,179,200,174,179,41,180,41,181,41,18,72,97,110,1,243,73,244,73,1,117,42,239,17,102,242,93,18,245,122,232,53,1,109,42,232,17,101,238,93,2,237,162,65,246,34,247,17,109,231,53,3,105,50,117,56,233,62,239,17,101,238,93,18,232,121,233,53,18,229,122,232,53,17,101,238,92,1,42,133,72,22,101,98,242,76,97,116,238,53,116,74,117,162,180,118,1,107,44,114,18,239,101,244,53,1,235,34,244,17,109,243,53,14,225,113,235,14,235,162,164,238,162,223,239,162,220,244,17,114,245,93,225,78,229,146,231,170,87,233,17,101,238,92,1,42,133,69,22,116,104,233,76,97,116,238,53,1,101,66,116,16,225,32,1,42,133,76,22,97,116,238,84,97,109,236,73,16,238,92,1,42,133,84,22,97,109,236,76,97,116,238,53,1,101,66,116,16,229,32,1,42,133,76,22,97,116,238,84,101,108,245,73,16,238,92,1,42,133,84,22,101,108,245,76,97,116,238,53,108,28,108,54,109,172,28,117,54,120,18,249,109,231,53,18,232,101,238,93,1,237,162,94,249,18,107,108,238,53,100,50,101,162,230,107,18,231,109,231,53,18,248,109,231,53,5,235,24,235,178,205,242,162,154,250,17,114,245,92,1,42,133,76,22,97,116,238,67,121,114,236,53,114,46,122,52,231,17,122,232,73,18,235,109,243,53,18,243,117,250,53,113,193,103,113,162,178,114,164,79,115,0,18,232,91,241,45,241,48,242,52,244,40,245,168,41,247,17,101,238,93,16,115,1,232,41,242,32,2,42,133,67,52,76,22,97,116,238,67,121,114,236,43,22,121,114,236,76,97,116,238,43,232,54,233,70,235,100,238,34,239,17,101,238,93,2,98,172,56,104,34,115,16,242,41,17,101,238,92,1,42,133,83,22,105,110,232,76,97,116,238,53,17,99,243,73,112,46,112,82,114,88,115,94,225,178,32,228,17,101,238,92,1,42,133,65,22,114,97,226,76,97,116,238,53,18,246,111,242,53,18,239,115,227,53,1,232,176,37,249,17,97,225,41,100,52,103,64,104,72,107,18,231,109,231,53,1,227,34,238,17,115,227,53,19,227,107,108,238,53,18,245,97,242,53,4,117,58,118,144,119,162,100,120,162,109,245,17,101,243,93,12,236,22,243,11,243,42,247,38,248,34,249,17,113,245,53,236,38,240,34,242,17,113,245,53,231,9,231,38,232,34,235,17,113,245,53,226,38,228,34,230,17,113,245,53,13,237,22,240,11,240,42,243,38,247,34,250,17,113,245,53,237,38,238,34,239,17,113,245,53,232,11,232,42,233,38,234,34,236,17,113,245,53,225,38,227,34,229,17,113,245,53,3,225,42,227,38,232,34,243,17,113,245,53,10,239,20,244,9,244,38,245,34,247,17,113,245,53,239,38,240,34,242,17,113,245,53,225,46,227,42,232,38,236,34,238,17,113,245,53,17,113,245,53,3,97,168,23,237,48,238,162,137,247,17,102,242,93,17,100,229,73,110,162,115,111,162,217,112,8,107,81,107,172,29,115,98,225,112,243,142,244,17,112,244,162,128,7,179,196,220,179,170,246,180,38,181,34,182,4,176,41,178,41,180,41,181,41,182,41,1,229,162,213,244,17,112,243,53,17,101,238,92,1,42,133,71,22,117,114,245,76,97,116,238,53,17,101,238,92,1,42,133,65,22,114,97,226,76,97,116,238,53,98,52,99,58,101,64,103,18,225,97,242,53,18,244,112,243,53,18,237,101,238,73,18,236,109,243,53,10,121,70,238,25,238,46,239,56,249,17,101,238,93,16,110,1,226,73,239,73,1,100,124,110,1,226,35,238,73,121,72,226,86,229,17,101,238,92,1,42,133,68,22,101,118,225,76,97,116,238,53,1,228,166,117,238,17,101,238,93,1,100,44,110,1,238,73,239,35,16,225,49,97,168,124,104,52,105,58,108,66,115,18,239,101,238,93,18,228,103,238,53,19,241,107,108,238,53,19,229,108,117,249,53,4,107,84,114,92,227,174,56,237,162,228,242,17,101,238,92,1,42,133,79,22,114,121,225,76,97,116,238,53,19,233,107,108,238,53,2,227,166,205,238,34,243,17,109,243,53,103,195,51,106,194,79,106,162,188,107,164,20,108,164,183,109,0,16,118,105,238,53,238,164,17,242,78,243,116,244,162,161,249,17,101,238,92,1,42,133,77,22,121,109,242,76,97,116,238,53,1,104,166,86,109,16,242,32,1,42,133,76,22,97,116,238,68,101,118,225,73,17,105,228,93,118,118,231,164,79,233,166,17,236,1,101,66,109,16,236,32,1,42,133,76,22,97,116,238,77,108,121,237,73,16,238,92,1,42,133,77,22,108,121,237,76,97,116,238,53,18,230,109,238,53,110,31,110,52,113,58,115,64,117,18,233,109,243,53,18,240,122,232,53,18,231,109,243,53,1,232,172,176,233,17,109,243,53,97,52,101,72,102,78,105,18,238,109,243,53,1,233,42,248,17,109,243,53,17,104,233,73,18,239,109,243,53,2,225,74,226,70,229,17,101,238,93,2,97,46,225,58,246,17,105,228,73,1,235,34,248,17,109,243,53,17,106,225,32,3,42,133,72,56,75,120,76,22,97,116,238,74,112,97,238,43,2,97,54,105,66,114,21,107,244,74,112,97,238,43,21,110,233,74,112,97,238,43,17,114,225,1,72,70,74,18,112,97,238,43,18,97,110,225,1,72,44,74,18,112,97,238,43,18,114,107,244,43,10,235,115,239,54,239,46,245,124,249,17,114,245,93,17,107,239,32,2,42,133,72,70,74,18,97,109,239,1,72,44,75,18,111,114,229,43,18,97,110,231,43,17,97,110,1,231,34,233,19,75,111,114,229,43,17,116,242,93,235,168,200,237,106,238,1,101,66,107,16,238,32,1,42,133,76,22,97,116,238,75,110,100,225,73,16,238,92,1,42,133,75,22,110,100,225,76,97,116,238,53,17,101,238,92,1,42,133,75,22,104,109,242,76,97,116,238,53,114,54,118,60,120,72,225,78,231,17,102,242,93,18,233,101,238,93,1,226,34,242,17,109,243,53,18,228,109,243,53,17,101,238,92,1,42,133,71,22,101,111,242,76,97,116,238,53,14,117,62,226,33,226,78,231,162,157,238,76,239,17,101,238,92,1,42,133,76,22,97,111,239,76,97,116,238,53,17,100,229,41,17,102,242,93,117,50,119,56,122,64,225,17,105,244,73,18,225,102,242,93,19,231,108,117,249,53,18,232,122,232,53,111,42,111,72,114,78,115,92,116,2,231,48,239,34,243,18,108,117,249,53,17,108,246,53,18,250,101,238,93,1,233,34,237,18,108,117,249,53,19,237,108,117,249,53,99,70,105,82,107,2,226,38,239,34,243,18,108,117,249,53,18,108,117,249,53,1,229,34,230,17,109,243,53,18,247,109,243,53,103,106,104,162,129,105,5,228,10,228,168,196,231,52,243,17,101,238,73,100,46,107,54,225,17,101,238,93,19,225,108,117,249,53,18,244,105,245,53,10,117,49,236,30,236,164,14,238,164,11,245,1,103,40,104,16,233,93,16,245,32,1,42,133,76,22,97,116,238,71,117,106,242,73,117,46,225,34,228,17,101,238,73,1,233,34,238,17,103,238,53,97,56,107,76,110,84,111,90,115,18,247,100,229,41,2,225,162,87,238,164,132,248,17,111,237,53,19,240,107,112,229,53,18,247,103,238,53,19,237,107,111,235,53,7,233,52,233,78,242,108,244,168,45,249,17,114,245,92,1,42,133,65,22,114,109,238,67,121,114,236,53,17,104,233,32,1,42,133,76,22,97,116,238,68,101,118,225,73,1,98,40,115,16,232,41,16,243,41,97,50,106,76,115,82,225,17,101,238,93,2,229,48,235,164,38,247,17,101,238,73,17,111,237,53,18,233,109,243,53,18,238,122,232,53,100,192,234,100,136,101,162,72,102,3,102,50,117,56,239,106,249,17,110,236,73,18,237,102,230,53,6,232,11,232,42,233,38,241,34,246,17,102,230,53,226,38,229,34,230,17,102,230,53,17,102,230,53,17,100,225,73,2,116,52,117,58,225,16,110,1,226,49,239,49,18,249,110,229,53,18,240,109,243,53,6,238,133,238,54,239,162,133,243,162,65,245,17,101,243,73,17,101,238,162,128,7,179,29,179,100,180,38,181,56,182,4,176,41,177,41,180,41,181,39,182,41,4,176,39,177,39,180,39,181,39,182,39,42,43,176,48,177,44,178,1,178,41,179,41,4,176,41,177,41,180,41,181,39,182,41,17,101,243,162,128,7,179,18,179,122,180,38,181,34,182,4,176,41,178,41,180,41,181,41,182,41,42,43,176,38,177,78,178,4,176,41,178,41,180,41,181,41,182,41,4,176,41,178,41,180,41,181,41,182,41,1,177,41,179,41,110,46,121,54,229,17,101,238,93,19,226,107,108,238,53,19,239,107,108,238,53,97,162,96,98,164,158,99,12,112,46,225,17,225,162,206,239,164,221,243,42,249,17,101,238,73,17,115,235,73,112,62,114,68,122,1,232,34,239,17,122,232,53,17,122,232,53,18,248,122,232,53,18,243,102,242,73,106,20,106,48,107,54,111,18,225,109,243,53,18,249,122,232,53,18,226,97,242,93,100,48,101,54,104,18,242,101,238,73,18,239,122,232,53,19,226,102,105,236,93,0,22,117,192,192,230,146,242,117,242,74,249,162,108,250,17,114,245,92,1,42,133,76,22,97,116,238,67,121,114,236,53,17,97,242,32,1,42,90,76,22,97,116,238,65,114,97,226,72,7,179,39,179,42,180,96,181,34,182,5,179,54,179,41,181,41,182,41,132,7,179,19,179,42,180,56,181,34,182,5,179,34,179,41,181,41,182,41,16,180,41,42,43,176,38,177,34,178,5,179,15,179,41,181,41,182,41,5,179,6,179,41,181,41,182,41,176,41,177,41,178,41,17,101,243,73,230,74,235,162,177,237,17,101,238,92,1,42,133,69,22,116,104,233,76,97,116,238,53,17,110,236,73,122,19,122,46,225,52,226,17,114,245,93,18,226,97,250,53,18,115,115,249,41,117,164,46,118,58,121,3,232,42,236,38,238,34,240,17,97,242,53,18,236,97,242,53,102,53,108,30,108,62,112,68,114,3,241,42,243,38,249,34,250,17,97,242,53,18,238,115,241,53,1,227,34,228,17,97,242,53,102,48,105,54,106,18,240,97,242,53,18,226,97,242,53,19,233,115,121,242,53,97,62,98,78,99,90,100,144,101,1,226,34,227,17,97,242,53,2,229,38,239,50,244,17,115,241,53,1,232,34,246,17,97,242,53,5,247,9,247,38,248,34,249,17,97,242,53,232,46,237,34,241,17,97,242,53,17,101,238,93,17,97,242,53,18,230,97,242,53,14,118,104,238,74,238,62,239,130,242,160,243,1,104,40,115,16,232,41,16,242,41,1,98,66,101,16,238,92,1,42,133,66,22,101,110,231,76,97,116,238,53,16,238,32,1,42,133,76,22,97,116,238,66,101,110,231,73,17,122,232,72,1,42,133,84,22,105,98,244,72,97,110,243,53,17,102,242,73,118,50,122,62,229,68,232,17,104,233,93,1,229,34,245,17,109,243,53,18,227,109,231,53,17,114,245,73,104,34,104,52,106,58,109,78,116,18,234,109,243,53,18,242,109,231,53,1,238,42,241,17,109,231,53,17,109,243,53,18,237,109,231,53,97,48,98,54,101,18,237,101,238,93,18,236,117,242,73,18,250,97,242,53,170,170,5,0,85,0,95,0,105,0,116,0,74,0,93,35,0,224,185,50,0,144,204,50,0,144,99,35,0,16,11,37,0,16,2,0,32,0,79,0,170,170,86,35,0,32,179,39,0,32,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,144,74,0,80,7,0,0,0,206,8,0,0,114,53,0,0,114,53,0,0,91,7,0,0,1,0,0,0,114,53,0,0,97,97,105,0,97,97,107,0,97,97,117,0,97,98,105,0,97,98,113,0,97,98,114,0,97,98,116,0,97,98,121,0,97,99,100,0,97,99,101,0,97,99,104,0,97,100,97,0,97,100,101,0,97,100,106,0,97,100,112,0,97,100,121,0,97,100,122,0,97,101,98,0,97,101,121,0,97,103,99,0,97,103,100,0,97,103,103,0,97,103,111,0,97,103,113,0,97,104,97,0,97,104,108,0,97,104,111,0,97,106,103,0,97,106,116,0,97,107,107,0,97,108,97,0,97,108,110,0,97,108,116,0,97,109,109,0,97,109,110,0,97,109,112,0,97,110,99,0,97,110,107,0,97,110,110,0,97,110,121,0,97,111,106,0,97,111,109,0,97,111,122,0,97,112,99,0,97,112,100,0,97,112,101,0,97,112,114,0,97,112,115,0,97,112,122,0,97,114,99,95,78,98,97,116,0,97,114,99,95,80,97,108,109,0,97,114,104,0,97,114,110,0,97,114,111,0,97,114,113,0,97,114,115,0,97,114,121,0,97,114,122,0,97,115,97,0,97,115,101,0,97,115,103,0,97,115,111,0,97,115,116,0,97,116,97,0,97,116,103,0,97,116,106,0,97,117,121,0,97,118,108,0,97,118,110,0,97,118,117,0,97,119,97,0,97,119,98,0,97,119,111,0,97,119,120,0,97,121,98,0,97,122,95,65,114,97,98,0,97,122,95,73,81,0,97,122,95,73,82,0,97,122,95,82,85,0,98,97,108,0,98,97,110,0,98,97,112,0,98,97,114,0,98,97,115,0,98,97,118,0,98,97,120,0,98,98,97,0,98,98,98,0,98,98,99,0,98,98,100,0,98,98,106,0,98,98,112,0,98,98,114,0,98,99,102,0,98,99,104,0,98,99,105,0,98,99,109,0,98,99,110,0,98,99,111,0,98,99,113,0,98,99,117,0,98,100,100,0,98,101,102,0,98,101,104,0,98,101,106,0,98,101,109,0,98,101,116,0,98,101,119,0,98,101,120,0,98,101,122,0,98,102,100,0,98,102,113,0,98,102,116,0,98,102,121,0,98,103,99,0,98,103,110,0,98,103,120,0,98,104,98,0,98,104,103,0,98,104,105,0,98,104,108,0,98,104,111,0,98,104,121,0,98,105,98,0,98,105,103,0,98,105,107,0,98,105,109,0,98,105,110,0,98,105,111,0,98,105,113,0,98,106,104,0,98,106,105,0,98,106,106,0,98,106,110,0,98,106,111,0,98,106,114,0,98,106,116,0,98,106,122,0,98,107,99,0,98,107,109,0,98,107,113,0,98,107,117,0,98,107,118,0,98,108,97,0,98,108,103,0,98,108,116,0,98,109,104,0,98,109,107,0,98,109,113,0,98,109,117,0,98,110,0,98,110,103,0,98,110,109,0,98,110,112,0,98,111,106,0,98,111,109,0,98,111,110,0,98,112,121,0,98,113,99,0,98,113,105,0,98,113,112,0,98,113,118,0,98,114,97,0,98,114,104,0,98,114,120,0,98,114,122,0,98,115,0,98,115,106,0,98,115,113,0,98,115,115,0,98,115,116,0,98,116,111,0,98,116,116,0,98,116,118,0,98,117,97,0,98,117,99,0,98,117,100,0,98,117,103,0,98,117,107,0,98,117,109,0,98,117,111,0,98,117,115,0,98,117,117,0,98,118,98,0,98,119,100,0,98,119,114,0,98,120,104,0,98,121,101,0,98,121,110,0,98,121,114,0,98,121,115,0,98,121,118,0,98,121,120,0,98,122,97,0,98,122,101,0,98,122,102,0,98,122,104,0,98,122,119,0,99,97,100,0,99,97,110,0,99,98,106,0,99,99,104,0,99,99,112,0,99,101,98,0,99,102,97,0,99,103,103,0,99,104,107,0,99,104,109,0,99,104,112,0,99,104,114,0,99,105,99,0,99,106,97,0,99,106,109,0,99,106,118,0,99,107,98,0,99,107,108,0,99,107,111,0,99,107,121,0,99,108,97,0,99,108,99,0,99,109,101,0,99,109,103,0,99,111,112,0,99,112,115,0,99,114,103,0,99,114,104,0,99,114,107,0,99,114,108,0,99,114,115,0,99,115,0,99,115,98,0,99,115,119,0,99,116,100,0,99,117,95,71,108,97,103,0,99,118,0,100,97,100,0,100,97,102,0,100,97,103,0,100,97,104,0,100,97,107,0,100,97,114,0,100,97,118,0,100,98,100,0,100,98,113,0,100,99,99,0,100,100,110,0,100,101,100,0,100,101,110,0,100,103,97,0,100,103,104,0,100,103,105,0,100,103,108,0,100,103,114,0,100,103,122,0,100,105,97,0,100,106,101,0,100,109,102,0,100,110,106,0,100,111,98,0,100,111,105,0,100,111,112,0,100,111,119,0,100,114,104,0,100,114,105,0,100,114,115,0,100,115,98,0,100,116,109,0,100,116,112,0,100,116,115,0,100,116,121,0,100,117,97,0,100,117,99,0,100,117,100,0,100,117,103,0,100,118,0,100,118,97,0,100,119,119,0,100,121,111,0,100,121,117,0,100,122,103,0,101,98,117,0,101,102,105,0,101,103,108,0,101,103,121,0,101,107,97,0,101,107,121,0,101,109,97,0,101,109,105,0,101,110,95,83,104,97,119,0,101,110,110,0,101,110,113,0,101,114,105,0,101,115,103,0,101,115,117,0,101,116,114,0,101,116,116,0,101,116,117,0,101,116,120,0,101,119,111,0,101,120,116,0,101,122,97,0,102,97,97,0,102,97,98,0,102,97,103,0,102,97,105,0,102,97,110,0,102,102,0,102,102,95,65,100,108,109,0,102,102,105,0,102,102,109,0,102,105,97,0,102,105,108,0,102,105,116,0,102,106,0,102,108,114,0,102,109,112,0,102,111,100,0,102,111,110,0,102,111,114,0,102,112,101,0,102,113,115,0,102,114,99,0,102,114,112,0,102,114,114,0,102,114,115,0,102,117,98,0,102,117,100,0,102,117,101,0,102,117,102,0,102,117,104,0,102,117,113,0,102,117,114,0,102,117,118,0,102,117,121,0,102,118,114,0,103,97,97,0,103,97,102,0,103,97,103,0,103,97,104,0,103,97,106,0,103,97,110,0,103,97,119,0,103,97,121,0,103,98,97,0,103,98,102,0,103,98,109,0,103,98,121,0,103,98,122,0,103,99,114,0,103,100,101,0,103,100,110,0,103,100,114,0,103,101,98,0,103,101,106,0,103,101,108,0,103,101,122,0,103,102,107,0,103,103,110,0,103,104,115,0,103,105,108,0,103,105,109,0,103,106,107,0,103,106,110,0,103,106,117,0,103,107,110,0,103,107,112,0,103,108,107,0,103,109,109,0,103,109,118,0,103,110,100,0,103,110,103,0,103,111,100,0,103,111,102,0,103,111,105,0,103,111,109,0,103,111,110,0,103,111,114,0,103,111,115,0,103,111,116,0,103,114,98,0,103,114,99,0,103,114,99,95,76,105,110,98,0,103,114,116,0,103,114,119,0,103,115,119,0,103,117,98,0,103,117,99,0,103,117,100,0,103,117,114,0,103,117,119,0,103,117,120,0,103,117,122,0,103,118,0,103,118,102,0,103,118,114,0,103,118,115,0,103,119,99,0,103,119,105,0,103,119,116,0,103,121,105,0,104,97,95,67,77,0,104,97,95,83,68,0,104,97,107,0,104,97,122,0,104,98,98,0,104,100,121,0,104,104,121,0,104,105,95,76,97,116,110,0,104,105,97,0,104,105,102,0,104,105,103,0,104,105,104,0,104,105,108,0,104,108,97,0,104,108,117,0,104,109,100,0,104,109,116,0,104,110,100,0,104,110,101,0,104,110,106,0,104,110,110,0,104,110,111,0,104,111,99,0,104,111,116,0,104,115,98,0,104,115,110,0,104,117,105,0,104,117,114,0,105,97,110,0,105,97,114,0,105,98,97,0,105,98,98,0,105,98,121,0,105,99,97,0,105,99,104,0,105,100,105,0,105,100,117,0,105,102,101,0,105,103,98,0,105,103,101,0,105,106,106,0,105,107,107,0,105,107,119,0,105,107,120,0,105,108,111,0,105,109,111,0,105,111,117,0,105,114,105,0,105,119,109,0,105,119,115,0,105,122,104,0,105,122,105,0,106,97,98,0,106,97,109,0,106,97,114,0,106,98,111,0,106,98,117,0,106,101,110,0,106,103,107,0,106,103,111,0,106,105,98,0,106,109,99,0,106,109,108,0,106,114,97,0,106,117,116,0,106,119,0,107,97,97,0,107,97,98,0,107,97,99,0,107,97,100,0,107,97,105,0,107,97,106,0,107,97,109,0,107,97,111,0,107,97,119,0,107,98,100,0,107,98,109,0,107,98,112,0,107,98,113,0,107,98,120,0,107,98,121,0,107,99,103,0,107,99,107,0,107,99,108,0,107,99,116,0,107,100,101,0,107,100,104,0,107,100,108,0,107,100,116,0,107,101,97,0,107,101,110,0,107,101,122,0,107,102,111,0,107,102,114,0,107,102,121,0,107,103,101,0,107,103,102,0,107,103,112,0,107,104,97,0,107,104,98,0,107,104,110,0,107,104,113,0,107,104,115,0,107,104,116,0,107,104,119,0,107,104,122,0,107,105,106,0,107,105,117,0,107,105,119,0,107,106,100,0,107,106,103,0,107,106,115,0,107,106,121,0,107,107,95,65,70,0,107,107,95,65,114,97,98,0,107,107,95,67,78,0,107,107,95,73,82,0,107,107,95,77,78,0,107,107,99,0,107,107,106,0,107,108,110,0,107,108,113,0,107,108,116,0,107,108,120,0,107,109,98,0,107,109,104,0,107,109,111,0,107,109,115,0,107,109,117,0,107,109,119,0,107,110,102,0,107,110,112,0,107,111,105,0,107,111,107,0,107,111,108,0,107,111,115,0,107,111,122,0,107,112,101,0,107,112,102,0,107,112,111,0,107,112,114,0,107,112,120,0,107,113,98,0,107,113,102,0,107,113,115,0,107,113,121,0,107,114,99,0,107,114,105,0,107,114,106,0,107,114,108,0,107,114,115,0,107,114,117,0,107,115,98,0,107,115,100,0,107,115,102,0,107,115,104,0,107,115,106,0,107,115,114,0,107,116,98,0,107,116,109,0,107,116,111,0,107,116,114,0,107,117,95,65,114,97,98,0,107,117,95,76,66,0,107,117,95,89,101,122,105,0,107,117,98,0,107,117,100,0,107,117,101,0,107,117,106,0,107,117,109,0,107,117,110,0,107,117,112,0,107,117,115,0,107,118,103,0,107,118,114,0,107,118,120,0,107,119,106,0,107,119,107,0,107,119,111,0,107,119,113,0,107,120,97,0,107,120,99,0,107,120,101,0,107,120,108,0,107,120,109,0,107,120,112,0,107,120,119,0,107,120,122,0,107,121,95,65,114,97,98,0,107,121,95,67,78,0,107,121,95,76,97,116,110,0,107,121,95,84,82,0,107,121,101,0,107,121,120,0,107,122,104,0,107,122,106,0,107,122,114,0,107,122,116,0,108,97,98,0,108,97,100,0,108,97,104,0,108,97,106,0,108,97,115,0,108,98,0,108,98,101,0,108,98,117,0,108,98,119,0,108,99,109,0,108,99,112,0,108,100,98,0,108,101,100,0,108,101,101,0,108,101,109,0,108,101,112,0,108,101,113,0,108,101,117,0,108,101,122,0,108,103,103,0,108,105,97,0,108,105,100,0,108,105,102,0,108,105,102,95,76,105,109,98,0,108,105,103,0,108,105,104,0,108,105,106,0,108,105,108,0,108,105,115,0,108,106,112,0,108,107,105,0,108,107,116,0,108,108,101,0,108,108,110,0,108,109,110,0,108,109,111,0,108,109,112,0,108,110,115,0,108,110,117,0,108,111,106,0,108,111,107,0,108,111,108,0,108,111,114,0,108,111,115,0,108,111,122,0,108,114,99,0,108,116,103,0,108,117,97,0,108,117,111,0,108,117,121,0,108,117,122,0,108,118,0,108,119,108,0,108,122,104,0,108,122,122,0,109,97,100,0,109,97,102,0,109,97,103,0,109,97,105,0,109,97,107,0,109,97,110,0,109,97,110,95,71,78,0,109,97,110,95,78,107,111,111,0,109,97,115,0,109,97,119,0,109,97,122,0,109,98,104,0,109,98,111,0,109,98,113,0,109,98,117,0,109,98,119,0,109,99,105,0,109,99,112,0,109,99,113,0,109,99,114,0,109,99,117,0,109,100,97,0,109,100,101,0,109,100,102,0,109,100,104,0,109,100,106,0,109,100,114,0,109,100,120,0,109,101,100,0,109,101,101,0,109,101,107,0,109,101,110,0,109,101,114,0,109,101,116,0,109,101,117,0,109,102,97,0,109,102,101,0,109,102,110,0,109,102,111,0,109,102,113,0,109,103,104,0,109,103,108,0,109,103,111,0,109,103,112,0,109,103,121,0,109,104,105,0,109,104,108,0,109,105,99,0,109,105,102,0,109,105,110,0,109,105,119,0,109,107,105,0,109,107,108,0,109,107,112,0,109,107,119,0,109,108,101,0,109,108,112,0,109,108,115,0,109,109,111,0,109,109,117,0,109,109,120,0,109,110,95,67,78,0,109,110,95,77,111,110,103,0,109,110,97,0,109,110,102,0,109,110,105,0,109,110,119,0,109,111,97,0,109,111,101,0,109,111,104,0,109,111,115,0,109,111,120,0,109,112,112,0,109,112,115,0,109,112,116,0,109,112,120,0,109,113,108,0,109,114,100,0,109,114,106,0,109,114,111,0,109,115,95,67,67,0,109,116,99,0,109,116,102,0,109,116,105,0,109,116,114,0,109,117,97,0,109,117,114,0,109,117,115,0,109,118,97,0,109,118,110,0,109,118,121,0,109,119,107,0,109,119,114,0,109,119,118,0,109,119,119,0,109,120,99,0,109,120,109,0,109,121,107,0,109,121,109,0,109,121,118,0,109,121,119,0,109,121,120,0,109,121,122,0,109,122,107,0,109,122,109,0,109,122,110,0,109,122,112,0,109,122,119,0,109,122,122,0,110,97,99,0,110,97,102,0,110,97,107,0,110,97,110,0,110,97,112,0,110,97,113,0,110,97,115,0,110,99,97,0,110,99,101,0,110,99,102,0,110,99,104,0,110,99,111,0,110,99,117,0,110,100,99,0,110,100,115,0,110,101,98,0,110,101,119,0,110,101,120,0,110,102,114,0,110,103,97,0,110,103,98,0,110,103,108,0,110,104,98,0,110,104,101,0,110,104,119,0,110,105,102,0,110,105,105,0,110,105,106,0,110,105,110,0,110,105,117,0,110,105,121,0,110,105,122,0,110,106,111,0,110,107,103,0,110,107,111,0,110,108,0,110,109,103,0,110,109,122,0,110,110,102,0,110,110,104,0,110,110,107,0,110,110,109,0,110,110,112,0,110,111,100,0,110,111,101,0,110,111,110,0,110,111,112,0,110,111,117,0,110,113,111,0,110,114,98,0,110,115,107,0,110,115,110,0,110,115,111,0,110,115,115,0,110,115,116,0,110,116,109,0,110,116,114,0,110,117,105,0,110,117,112,0,110,117,115,0,110,117,118,0,110,117,120,0,110,118,0,110,119,98,0,110,120,113,0,110,120,114,0,110,121,109,0,110,121,110,0,110,122,105,0,111,99,95,69,83,0,111,103,99,0,111,106,115,0,111,107,97,0,111,107,114,0,111,107,118,0,111,110,110,0,111,110,115,0,111,112,109,0,111,114,111,0,111,114,117,0,111,115,97,0,111,116,97,0,111,116,107,0,111,117,105,0,111,122,109,0,112,97,95,65,114,97,98,0,112,97,95,80,75,0,112,97,103,0,112,97,108,0,112,97,108,95,80,104,108,112,0,112,97,109,0,112,97,112,0,112,97,117,0,112,98,105,0,112,99,100,0,112,99,109,0,112,100,99,0,112,100,116,0,112,101,100,0,112,101,120,0,112,102,108,0,112,104,108,0,112,104,110,0,112,105,108,0,112,105,112,0,112,105,115,0,112,107,97,0,112,107,111,0,112,108,97,0,112,109,115,0,112,110,103,0,112,110,110,0,112,110,116,0,112,111,110,0,112,112,97,0,112,112,111,0,112,113,109,0,112,114,97,0,112,114,100,0,112,114,103,0,112,115,115,0,112,116,112,0,112,117,117,0,112,119,97,0,113,117,0,113,117,99,0,113,117,103,0,114,97,106,0,114,97,111,0,114,99,102,0,114,101,106,0,114,101,108,0,114,101,115,0,114,103,110,0,114,104,103,0,114,105,97,0,114,105,102,0,114,105,102,95,78,76,0,114,106,115,0,114,107,116,0,114,109,102,0,114,109,111,0,114,109,116,0,114,109,117,0,114,110,97,0,114,110,103,0,114,111,98,0,114,111,102,0,114,114,111,0,114,116,109,0,114,117,101,0,114,117,103,0,114,119,107,0,114,119,111,0,114,121,117,0,115,97,102,0,115,97,104,0,115,97,113,0,115,97,115,0,115,97,116,0,115,97,118,0,115,97,122,0,115,98,97,0,115,98,101,0,115,98,112,0,115,99,0,115,99,107,0,115,99,108,0,115,99,110,0,115,99,111,0,115,100,95,68,101,118,97,0,115,100,95,73,78,0,115,100,95,75,104,111,106,0,115,100,95,83,105,110,100,0,115,100,99,0,115,100,104,0,115,101,102,0,115,101,104,0,115,101,105,0,115,101,115,0,115,103,97,0,115,103,115,0,115,103,119,0,115,103,122,0,115,104,105,0,115,104,107,0,115,104,110,0,115,105,100,0,115,105,103,0,115,105,108,0,115,105,109,0,115,106,114,0,115,107,99,0,115,107,114,0,115,107,115,0,115,108,0,115,108,100,0,115,108,105,0,115,108,108,0,115,108,121,0,115,109,100,0,115,109,106,0,115,109,110,0,115,109,112,0,115,109,113,0,115,109,115,0,115,110,98,0,115,110,99,0,115,110,107,0,115,110,112,0,115,110,120,0,115,110,121,0,115,111,103,0,115,111,107,0,115,111,113,0,115,111,117,0,115,111,121,0,115,112,100,0,115,112,108,0,115,112,115,0,115,114,95,77,69,0,115,114,95,82,79,0,115,114,95,82,85,0,115,114,95,84,82,0,115,114,98,0,115,114,110,0,115,114,114,0,115,114,120,0,115,115,100,0,115,115,103,0,115,115,121,0,115,116,107,0,115,116,113,0,115,117,97,0,115,117,101,0,115,117,107,0,115,117,114,0,115,117,115,0,115,118,0,115,119,98,0,115,119,99,0,115,119,103,0,115,119,112,0,115,119,118,0,115,120,110,0,115,120,119,0,115,121,108,0,115,121,114,0,115,122,108,0,116,97,106,0,116,97,110,0,116,97,113,0,116,98,99,0,116,98,100,0,116,98,102,0,116,98,103,0,116,98,111,0,116,98,119,0,116,98,122,0,116,99,105,0,116,99,121,0,116,100,100,0,116,100,103,0,116,100,104,0,116,100,117,0,116,101,100,0,116,101,109,0,116,101,111,0,116,101,116,0,116,102,105,0,116,103,95,65,114,97,98,0,116,103,95,80,75,0,116,103,99,0,116,103,111,0,116,103,117,0,116,104,108,0,116,104,113,0,116,104,114,0,116,105,102,0,116,105,103,0,116,105,107,0,116,105,109,0,116,105,111,0,116,105,118,0,116,107,108,0,116,107,114,0,116,107,116,0,116,108,0,116,108,102,0,116,108,120,0,116,108,121,0,116,109,104,0,116,109,121,0,116,110,104,0,116,111,102,0,116,111,103,0,116,111,107,0,116,111,113,0,116,112,105,0,116,112,109,0,116,112,122,0,116,113,111,0,116,114,117,0,116,114,118,0,116,114,119,0,116,115,100,0,116,115,102,0,116,115,103,0,116,115,106,0,116,115,119,0,116,116,100,0,116,116,101,0,116,116,106,0,116,116,114,0,116,116,115,0,116,116,116,0,116,117,104,0,116,117,108,0,116,117,109,0,116,117,113,0,116,118,100,0,116,118,108,0,116,118,117,0,116,119,104,0,116,119,113,0,116,120,103,0,116,120,111,0,116,121,97,0,116,121,118,0,116,122,109,0,117,98,117,0,117,100,105,0,117,100,109,0,117,103,95,67,121,114,108,0,117,103,95,75,90,0,117,103,95,77,78,0,117,103,97,0,117,108,105,0,117,109,98,0,117,110,100,95,48,48,50,0,117,110,100,95,48,48,51,0,117,110,100,95,48,48,53,0,117,110,100,95,48,48,57,0,117,110,100,95,48,49,49,0,117,110,100,95,48,49,51,0,117,110,100,95,48,49,52,0,117,110,100,95,48,49,53,0,117,110,100,95,48,49,55,0,117,110,100,95,48,49,56,0,117,110,100,95,48,49,57,0,117,110,100,95,48,50,49,0,117,110,100,95,48,50,57,0,117,110,100,95,48,51,48,0,117,110,100,95,48,51,52,0,117,110,100,95,48,51,53,0,117,110,100,95,48,51,57,0,117,110,100,95,48,53,51,0,117,110,100,95,48,53,52,0,117,110,100,95,48,53,55,0,117,110,100,95,48,54,49,0,117,110,100,95,49,52,50,0,117,110,100,95,49,52,51,0,117,110,100,95,49,52,53,0,117,110,100,95,49,53,48,0,117,110,100,95,49,53,49,0,117,110,100,95,49,53,52,0,117,110,100,95,49,53,53,0,117,110,100,95,50,48,50,0,117,110,100,95,52,49,57,0,117,110,100,95,65,68,0,117,110,100,95,65,69,0,117,110,100,95,65,70,0,117,110,100,95,65,76,0,117,110,100,95,65,77,0,117,110,100,95,65,79,0,117,110,100,95,65,81,0,117,110,100,95,65,82,0,117,110,100,95,65,83,0,117,110,100,95,65,84,0,117,110,100,95,65,87,0,117,110,100,95,65,88,0,117,110,100,95,65,90,0,117,110,100,95,65,100,108,109,0,117,110,100,95,65,103,104,98,0,117,110,100,95,65,104,111,109,0,117,110,100,95,65,114,97,98,0,117,110,100,95,65,114,97,98,95,67,67,0,117,110,100,95,65,114,97,98,95,67,78,0,117,110,100,95,65,114,97,98,95,71,66,0,117,110,100,95,65,114,97,98,95,73,68,0,117,110,100,95,65,114,97,98,95,73,78,0,117,110,100,95,65,114,97,98,95,75,72,0,117,110,100,95,65,114,97,98,95,77,77,0,117,110,100,95,65,114,97,98,95,77,78,0,117,110,100,95,65,114,97,98,95,77,85,0,117,110,100,95,65,114,97,98,95,78,71,0,117,110,100,95,65,114,97,98,95,80,75,0,117,110,100,95,65,114,97,98,95,84,71,0,117,110,100,95,65,114,97,98,95,84,72,0,117,110,100,95,65,114,97,98,95,84,74,0,117,110,100,95,65,114,97,98,95,84,82,0,117,110,100,95,65,114,97,98,95,89,84,0,117,110,100,95,65,114,109,105,0,117,110,100,95,65,114,109,110,0,117,110,100,95,65,118,115,116,0,117,110,100,95,66,65,0,117,110,100,95,66,68,0,117,110,100,95,66,69,0,117,110,100,95,66,70,0,117,110,100,95,66,71,0,117,110,100,95,66,72,0,117,110,100,95,66,73,0,117,110,100,95,66,74,0,117,110,100,95,66,76,0,117,110,100,95,66,78,0,117,110,100,95,66,79,0,117,110,100,95,66,81,0,117,110,100,95,66,82,0,117,110,100,95,66,84,0,117,110,100,95,66,86,0,117,110,100,95,66,89,0,117,110,100,95,66,97,108,105,0,117,110,100,95,66,97,109,117,0,117,110,100,95,66,97,115,115,0,117,110,100,95,66,97,116,107,0,117,110,100,95,66,101,110,103,0,117,110,100,95,66,104,107,115,0,117,110,100,95,66,111,112,111,0,117,110,100,95,66,114,97,104,0,117,110,100,95,66,114,97,105,0,117,110,100,95,66,117,103,105,0,117,110,100,95,66,117,104,100,0,117,110,100,95,67,68,0,117,110,100,95,67,70,0,117,110,100,95,67,71,0,117,110,100,95,67,72,0,117,110,100,95,67,73,0,117,110,100,95,67,76,0,117,110,100,95,67,77,0,117,110,100,95,67,78,0,117,110,100,95,67,79,0,117,110,100,95,67,80,0,117,110,100,95,67,82,0,117,110,100,95,67,85,0,117,110,100,95,67,86,0,117,110,100,95,67,87,0,117,110,100,95,67,89,0,117,110,100,95,67,90,0,117,110,100,95,67,97,107,109,0,117,110,100,95,67,97,110,115,0,117,110,100,95,67,97,114,105,0,117,110,100,95,67,104,97,109,0,117,110,100,95,67,104,101,114,0,117,110,100,95,67,104,114,115,0,117,110,100,95,67,111,112,116,0,117,110,100,95,67,112,109,110,0,117,110,100,95,67,112,109,110,95,67,89,0,117,110,100,95,67,112,114,116,0,117,110,100,95,67,121,114,108,0,117,110,100,95,67,121,114,108,95,65,76,0,117,110,100,95,67,121,114,108,95,66,65,0,117,110,100,95,67,121,114,108,95,71,69,0,117,110,100,95,67,121,114,108,95,71,82,0,117,110,100,95,67,121,114,108,95,77,68,0,117,110,100,95,67,121,114,108,95,82,79,0,117,110,100,95,67,121,114,108,95,83,75,0,117,110,100,95,67,121,114,108,95,84,82,0,117,110,100,95,67,121,114,108,95,88,75,0,117,110,100,95,68,69,0,117,110,100,95,68,74,0,117,110,100,95,68,75,0,117,110,100,95,68,79,0,117,110,100,95,68,90,0,117,110,100,95,68,101,118,97,0,117,110,100,95,68,101,118,97,95,66,84,0,117,110,100,95,68,101,118,97,95,70,74,0,117,110,100,95,68,101,118,97,95,77,85,0,117,110,100,95,68,101,118,97,95,80,75,0,117,110,100,95,68,105,97,107,0,117,110,100,95,68,111,103,114,0,117,110,100,95,68,117,112,108,0,117,110,100,95,69,65,0,117,110,100,95,69,67,0,117,110,100,95,69,69,0,117,110,100,95,69,71,0,117,110,100,95,69,72,0,117,110,100,95,69,82,0,117,110,100,95,69,83,0,117,110,100,95,69,84,0,117,110,100,95,69,85,0,117,110,100,95,69,90,0,117,110,100,95,69,103,121,112,0,117,110,100,95,69,108,98,97,0,117,110,100,95,69,108,121,109,0,117,110,100,95,69,116,104,105,0,117,110,100,95,70,73,0,117,110,100,95,70,79,0,117,110,100,95,70,82,0,117,110,100,95,71,65,0,117,110,100,95,71,69,0,117,110,100,95,71,70,0,117,110,100,95,71,72,0,117,110,100,95,71,76,0,117,110,100,95,71,78,0,117,110,100,95,71,80,0,117,110,100,95,71,81,0,117,110,100,95,71,82,0,117,110,100,95,71,83,0,117,110,100,95,71,84,0,117,110,100,95,71,87,0,117,110,100,95,71,101,111,114,0,117,110,100,95,71,108,97,103,0,117,110,100,95,71,111,110,103,0,117,110,100,95,71,111,110,109,0,117,110,100,95,71,111,116,104,0,117,110,100,95,71,114,97,110,0,117,110,100,95,71,114,101,107,0,117,110,100,95,71,114,101,107,95,84,82,0,117,110,100,95,71,117,106,114,0,117,110,100,95,71,117,114,117,0,117,110,100,95,72,75,0,117,110,100,95,72,77,0,117,110,100,95,72,78,0,117,110,100,95,72,82,0,117,110,100,95,72,84,0,117,110,100,95,72,85,0,117,110,100,95,72,97,110,98,0,117,110,100,95,72,97,110,103,0,117,110,100,95,72,97,110,105,0,117,110,100,95,72,97,110,111,0,117,110,100,95,72,97,110,115,0,117,110,100,95,72,97,110,116,0,117,110,100,95,72,97,110,116,95,67,65,0,117,110,100,95,72,101,98,114,0,117,110,100,95,72,101,98,114,95,83,69,0,117,110,100,95,72,101,98,114,95,85,65,0,117,110,100,95,72,101,98,114,95,85,83,0,117,110,100,95,72,105,114,97,0,117,110,100,95,72,108,117,119,0,117,110,100,95,72,109,110,103,0,117,110,100,95,72,109,110,112,0,117,110,100,95,72,117,110,103,0,117,110,100,95,73,67,0,117,110,100,95,73,68,0,117,110,100,95,73,76,0,117,110,100,95,73,78,0,117,110,100,95,73,81,0,117,110,100,95,73,82,0,117,110,100,95,73,83,0,117,110,100,95,73,84,0,117,110,100,95,73,116,97,108,0,117,110,100,95,74,79,0,117,110,100,95,74,80,0,117,110,100,95,74,97,109,111,0,117,110,100,95,74,97,118,97,0,117,110,100,95,74,112,97,110,0,117,110,100,95,75,69,0,117,110,100,95,75,71,0,117,110,100,95,75,72,0,117,110,100,95,75,77,0,117,110,100,95,75,80,0,117,110,100,95,75,82,0,117,110,100,95,75,87,0,117,110,100,95,75,90,0,117,110,100,95,75,97,108,105,0,117,110,100,95,75,97,110,97,0,117,110,100,95,75,97,119,105,0,117,110,100,95,75,104,97,114,0,117,110,100,95,75,104,109,114,0,117,110,100,95,75,104,111,106,0,117,110,100,95,75,105,116,115,0,117,110,100,95,75,110,100,97,0,117,110,100,95,75,111,114,101,0,117,110,100,95,75,116,104,105,0,117,110,100,95,76,65,0,117,110,100,95,76,66,0,117,110,100,95,76,73,0,117,110,100,95,76,75,0,117,110,100,95,76,83,0,117,110,100,95,76,84,0,117,110,100,95,76,85,0,117,110,100,95,76,86,0,117,110,100,95,76,89,0,117,110,100,95,76,97,110,97,0,117,110,100,95,76,97,111,111,0,117,110,100,95,76,97,116,110,95,65,70,0,117,110,100,95,76,97,116,110,95,65,77,0,117,110,100,95,76,97,116,110,95,67,78,0,117,110,100,95,76,97,116,110,95,67,89,0,117,110,100,95,76,97,116,110,95,68,90,0,117,110,100,95,76,97,116,110,95,69,84,0,117,110,100,95,76,97,116,110,95,71,69,0,117,110,100,95,76,97,116,110,95,73,82,0,117,110,100,95,76,97,116,110,95,75,77,0,117,110,100,95,76,97,116,110,95,77,65,0,117,110,100,95,76,97,116,110,95,77,75,0,117,110,100,95,76,97,116,110,95,77,77,0,117,110,100,95,76,97,116,110,95,77,79,0,117,110,100,95,76,97,116,110,95,77,82,0,117,110,100,95,76,97,116,110,95,82,85,0,117,110,100,95,76,97,116,110,95,83,89,0,117,110,100,95,76,97,116,110,95,84,78,0,117,110,100,95,76,97,116,110,95,84,87,0,117,110,100,95,76,97,116,110,95,85,65,0,117,110,100,95,76,101,112,99,0,117,110,100,95,76,105,109,98,0,117,110,100,95,76,105,110,97,0,117,110,100,95,76,105,110,98,0,117,110,100,95,76,105,115,117,0,117,110,100,95,76,121,99,105,0,117,110,100,95,76,121,100,105,0,117,110,100,95,77,65,0,117,110,100,95,77,67,0,117,110,100,95,77,68,0,117,110,100,95,77,69,0,117,110,100,95,77,70,0,117,110,100,95,77,71,0,117,110,100,95,77,75,0,117,110,100,95,77,76,0,117,110,100,95,77,77,0,117,110,100,95,77,78,0,117,110,100,95,77,79,0,117,110,100,95,77,81,0,117,110,100,95,77,82,0,117,110,100,95,77,84,0,117,110,100,95,77,85,0,117,110,100,95,77,86,0,117,110,100,95,77,88,0,117,110,100,95,77,89,0,117,110,100,95,77,90,0,117,110,100,95,77,97,104,106,0,117,110,100,95,77,97,107,97,0,117,110,100,95,77,97,110,100,0,117,110,100,95,77,97,110,105,0,117,110,100,95,77,97,114,99,0,117,110,100,95,77,101,100,102,0,117,110,100,95,77,101,110,100,0,117,110,100,95,77,101,114,99,0,117,110,100,95,77,101,114,111,0,117,110,100,95,77,108,121,109,0,117,110,100,95,77,111,100,105,0,117,110,100,95,77,111,110,103,0,117,110,100,95,77,114,111,111,0,117,110,100,95,77,116,101,105,0,117,110,100,95,77,117,108,116,0,117,110,100,95,77,121,109,114,0,117,110,100,95,77,121,109,114,95,73,78,0,117,110,100,95,77,121,109,114,95,84,72,0,117,110,100,95,78,65,0,117,110,100,95,78,67,0,117,110,100,95,78,69,0,117,110,100,95,78,73,0,117,110,100,95,78,76,0,117,110,100,95,78,79,0,117,110,100,95,78,80,0,117,110,100,95,78,97,103,109,0,117,110,100,95,78,97,110,100,0,117,110,100,95,78,97,114,98,0,117,110,100,95,78,98,97,116,0,117,110,100,95,78,101,119,97,0,117,110,100,95,78,107,111,111,0,117,110,100,95,78,115,104,117,0,117,110,100,95,79,77,0,117,110,100,95,79,103,97,109,0,117,110,100,95,79,108,99,107,0,117,110,100,95,79,114,107,104,0,117,110,100,95,79,114,121,97,0,117,110,100,95,79,115,103,101,0,117,110,100,95,79,115,109,97,0,117,110,100,95,79,117,103,114,0,117,110,100,95,80,65,0,117,110,100,95,80,69,0,117,110,100,95,80,70,0,117,110,100,95,80,71,0,117,110,100,95,80,72,0,117,110,100,95,80,75,0,117,110,100,95,80,76,0,117,110,100,95,80,77,0,117,110,100,95,80,82,0,117,110,100,95,80,83,0,117,110,100,95,80,84,0,117,110,100,95,80,87,0,117,110,100,95,80,89,0,117,110,100,95,80,97,108,109,0,117,110,100,95,80,97,117,99,0,117,110,100,95,80,101,114,109,0,117,110,100,95,80,104,97,103,0,117,110,100,95,80,104,108,105,0,117,110,100,95,80,104,108,112,0,117,110,100,95,80,104,110,120,0,117,110,100,95,80,108,114,100,0,117,110,100,95,80,114,116,105,0,117,110,100,95,81,65,0,117,110,100,95,81,79,0,117,110,100,95,82,69,0,117,110,100,95,82,79,0,117,110,100,95,82,83,0,117,110,100,95,82,85,0,117,110,100,95,82,87,0,117,110,100,95,82,106,110,103,0,117,110,100,95,82,111,104,103,0,117,110,100,95,82,117,110,114,0,117,110,100,95,83,65,0,117,110,100,95,83,67,0,117,110,100,95,83,68,0,117,110,100,95,83,69,0,117,110,100,95,83,73,0,117,110,100,95,83,74,0,117,110,100,95,83,75,0,117,110,100,95,83,77,0,117,110,100,95,83,78,0,117,110,100,95,83,79,0,117,110,100,95,83,82,0,117,110,100,95,83,84,0,117,110,100,95,83,86,0,117,110,100,95,83,89,0,117,110,100,95,83,97,109,114,0,117,110,100,95,83,97,114,98,0,117,110,100,95,83,97,117,114,0,117,110,100,95,83,103,110,119,0,117,110,100,95,83,104,97,119,0,117,110,100,95,83,104,114,100,0,117,110,100,95,83,105,100,100,0,117,110,100,95,83,105,110,100,0,117,110,100,95,83,105,110,104,0,117,110,100,95,83,111,103,100,0,117,110,100,95,83,111,103,111,0,117,110,100,95,83,111,114,97,0,117,110,100,95,83,111,121,111,0,117,110,100,95,83,117,110,100,0,117,110,100,95,83,121,108,111,0,117,110,100,95,83,121,114,99,0,117,110,100,95,84,68,0,117,110,100,95,84,70,0,117,110,100,95,84,71,0,117,110,100,95,84,72,0,117,110,100,95,84,74,0,117,110,100,95,84,75,0,117,110,100,95,84,76,0,117,110,100,95,84,77,0,117,110,100,95,84,78,0,117,110,100,95,84,79,0,117,110,100,95,84,82,0,117,110,100,95,84,86,0,117,110,100,95,84,87,0,117,110,100,95,84,90,0,117,110,100,95,84,97,103,98,0,117,110,100,95,84,97,107,114,0,117,110,100,95,84,97,108,101,0,117,110,100,95,84,97,108,117,0,117,110,100,95,84,97,109,108,0,117,110,100,95,84,97,110,103,0,117,110,100,95,84,97,118,116,0,117,110,100,95,84,101,108,117,0,117,110,100,95,84,102,110,103,0,117,110,100,95,84,103,108,103,0,117,110,100,95,84,104,97,97,0,117,110,100,95,84,104,97,105,0,117,110,100,95,84,104,97,105,95,67,78,0,117,110,100,95,84,104,97,105,95,75,72,0,117,110,100,95,84,104,97,105,95,76,65,0,117,110,100,95,84,105,98,116,0,117,110,100,95,84,105,114,104,0,117,110,100,95,84,110,115,97,0,117,110,100,95,84,111,116,111,0,117,110,100,95,85,65,0,117,110,100,95,85,71,0,117,110,100,95,85,89,0,117,110,100,95,85,90,0,117,110,100,95,85,103,97,114,0,117,110,100,95,86,65,0,117,110,100,95,86,69,0,117,110,100,95,86,78,0,117,110,100,95,86,85,0,117,110,100,95,86,97,105,105,0,117,110,100,95,86,105,116,104,0,117,110,100,95,87,70,0,117,110,100,95,87,83,0,117,110,100,95,87,97,114,97,0,117,110,100,95,87,99,104,111,0,117,110,100,95,88,75,0,117,110,100,95,88,112,101,111,0,117,110,100,95,88,115,117,120,0,117,110,100,95,89,69,0,117,110,100,95,89,84,0,117,110,100,95,89,101,122,105,0,117,110,100,95,89,105,105,105,0,117,110,100,95,90,87,0,117,110,100,95,90,97,110,98,0,117,110,114,95,68,101,118,97,0,117,110,114,95,78,80,0,117,110,120,0,117,111,107,0,117,114,105,0,117,114,116,0,117,114,119,0,117,115,97,0,117,116,104,0,117,116,114,0,117,118,104,0,117,118,108,0,117,122,95,65,70,0,117,122,95,65,114,97,98,0,117,122,95,67,78,0,118,97,103,0,118,97,105,0,118,97,110,0,118,101,0,118,101,99,0,118,101,112,0,118,105,0,118,105,99,0,118,105,118,0,118,108,115,0,118,109,102,0,118,109,119,0,118,111,0,118,111,116,0,118,114,111,0,118,117,110,0,118,117,116,0,119,97,101,0,119,97,106,0,119,97,108,0,119,97,110,0,119,97,114,0,119,98,112,0,119,98,113,0,119,98,114,0,119,99,105,0,119,101,114,0,119,103,105,0,119,104,103,0,119,105,98,0,119,105,117,0,119,105,118,0,119,106,97,0,119,106,105,0,119,108,115,0,119,109,111,0,119,110,99,0,119,110,105,0,119,110,117,0,119,111,98,0,119,111,115,0,119,114,115,0,119,115,103,0,119,115,107,0,119,116,109,0,119,117,117,0,119,117,118,0,119,119,97,0,120,97,118,0,120,98,105,0,120,99,111,0,120,99,114,0,120,101,115,0,120,108,97,0,120,108,99,0,120,108,100,0,120,109,102,0,120,109,110,0,120,109,114,0,120,110,97,0,120,110,114,0,120,111,103,0,120,111,110,0,120,112,114,0,120,114,98,0,120,115,97,0,120,115,105,0,120,115,109,0,120,115,114,0,120,119,101,0,121,97,109,0,121,97,111,0,121,97,112,0,121,97,115,0,121,97,116,0,121,97,118,0,121,97,121,0,121,97,122,0,121,98,97,0,121,98,98,0,121,98,121,0,121,101,114,0,121,103,114,0,121,103,119,0,121,107,111,0,121,108,101,0,121,108,103,0,121,108,108,0,121,109,108,0,121,111,110,0,121,114,98,0,121,114,101,0,121,115,115,0,121,117,97,0,121,117,101,0,121,117,101,95,67,78,0,121,117,101,95,72,97,110,115,0,121,117,106,0,121,117,116,0,121,117,119,0,122,97,103,0,122,100,106,0,122,101,97,0,122,103,104,0,122,104,95,65,85,0,122,104,95,66,78,0,122,104,95,66,111,112,111,0,122,104,95,71,66,0,122,104,95,71,70,0,122,104,95,72,75,0,122,104,95,72,97,110,98,0,122,104,95,72,97,110,116,0,122,104,95,73,68,0,122,104,95,77,79,0,122,104,95,80,65,0,122,104,95,80,70,0,122,104,95,80,72,0,122,104,95,83,82,0,122,104,95,84,72,0,122,104,95,84,87,0,122,104,95,85,83,0,122,104,95,86,78,0,122,104,120,0,122,105,97,0,122,107,116,0,122,108,109,0,122,109,105,0,122,110,101,0,122,117,0,122,122,97,0,170,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,114,0,117,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,69,0,71,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,84,0,87,0,0,0,97,0,109,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,84,0,0,0,98,0,110,0,95,0,66,0,101,0,110,0,103,0,95,0,66,0,68,0,0,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,100,0,118,0,95,0,84,0,104,0,97,0,97,0,95,0,77,0,86,0,0,0,101,0,108,0,95,0,71,0,114,0,101,0,107,0,95,0,71,0,82,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,104,0,101,0,95,0,72,0,101,0,98,0,114,0,95,0,73,0,76,0,0,0,104,0,121,0,95,0,65,0,114,0,109,0,110,0,95,0,65,0,77,0,0,0,105,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,105,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,106,0,97,0,95,0,74,0,112,0,97,0,110,0,95,0,74,0,80,0,0,0,107,0,97,0,95,0,71,0,101,0,111,0,114,0,95,0,71,0,69,0,0,0,107,0,109,0,95,0,75,0,104,0,109,0,114,0,95,0,75,0,72,0,0,0,107,0,111,0,95,0,75,0,111,0,114,0,101,0,95,0,75,0,82,0,0,0,108,0,111,0,95,0,76,0,97,0,111,0,111,0,95,0,76,0,65,0,0,0,109,0,110,0,95,0,77,0,111,0,110,0,103,0,95,0,67,0,78,0,0,0,109,0,121,0,95,0,77,0,121,0,109,0,114,0,95,0,77,0,77,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,82,0,0,0,115,0,105,0,95,0,83,0,105,0,110,0,104,0,95,0,76,0,75,0,0,0,115,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,87,0,83,0,0,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,116,0,104,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,117,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,117,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,90,0,0,0,97,0,98,0,95,0,67,0,121,0,114,0,108,0,95,0,71,0,69,0,0,0,97,0,101,0,95,0,65,0,118,0,115,0,116,0,95,0,73,0,82,0,0,0,97,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,65,0,0,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,90,0,0,0,98,0,101,0,95,0,67,0,121,0,114,0,108,0,95,0,66,0,89,0,0,0,98,0,103,0,95,0,67,0,121,0,114,0,108,0,95,0,66,0,71,0,0,0,98,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,86,0,85,0,0,0,98,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,98,0,111,0,95,0,84,0,105,0,98,0,116,0,95,0,67,0,78,0,0,0,98,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,65,0,0,0,99,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,90,0,0,0,99,0,117,0,95,0,71,0,108,0,97,0,103,0,95,0,66,0,71,0,0,0,100,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,75,0,0,0,100,0,122,0,95,0,84,0,105,0,98,0,116,0,95,0,66,0,84,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,85,0,0,0,101,0,110,0,95,0,83,0,104,0,97,0,119,0,95,0,71,0,66,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,85,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,101,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,69,0,0,0,102,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,102,0,102,0,95,0,65,0,100,0,108,0,109,0,95,0,71,0,78,0,0,0,102,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,73,0,0,0,102,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,79,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,103,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,89,0,0,0,103,0,117,0,95,0,71,0,117,0,106,0,114,0,95,0,73,0,78,0,0,0,104,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,72,0,82,0,0,0,104,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,72,0,84,0,0,0,104,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,72,0,85,0,0,0,105,0,105,0,95,0,89,0,105,0,105,0,105,0,95,0,67,0,78,0,0,0,105,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,83,0,0,0,105,0,117,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,107,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,78,0,0,0,107,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,78,0,0,0,107,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,76,0,0,0,107,0,110,0,95,0,75,0,110,0,100,0,97,0,95,0,73,0,78,0,0,0,107,0,117,0,95,0,89,0,101,0,122,0,105,0,95,0,71,0,69,0,0,0,107,0,121,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,78,0,0,0,107,0,121,0,95,0,67,0,121,0,114,0,108,0,95,0,75,0,71,0,0,0,107,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,108,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,84,0,0,0,108,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,86,0,0,0,109,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,71,0,0,0,109,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,77,0,75,0,0,0,109,0,108,0,95,0,77,0,108,0,121,0,109,0,95,0,73,0,78,0,0,0,109,0,110,0,95,0,67,0,121,0,114,0,108,0,95,0,77,0,78,0,0,0,109,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,67,0,0,0,109,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,109,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,84,0,0,0,110,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,79,0,0,0,110,0,101,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,110,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,111,0,114,0,95,0,79,0,114,0,121,0,97,0,95,0,73,0,78,0,0,0,112,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,112,0,97,0,95,0,71,0,117,0,114,0,117,0,95,0,73,0,78,0,0,0,112,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,76,0,0,0,114,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,73,0,0,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,79,0,0,0,114,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,87,0,0,0,115,0,100,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,100,0,95,0,75,0,104,0,111,0,106,0,95,0,73,0,78,0,0,0,115,0,100,0,95,0,83,0,105,0,110,0,100,0,95,0,73,0,78,0,0,0,115,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,75,0,0,0,115,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,73,0,0,0,115,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,87,0,0,0,115,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,79,0,0,0,115,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,76,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,83,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,69,0,0,0,115,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,69,0,0,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,116,0,97,0,95,0,84,0,97,0,109,0,108,0,95,0,73,0,78,0,0,0,116,0,101,0,95,0,84,0,101,0,108,0,117,0,95,0,73,0,78,0,0,0,116,0,103,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,116,0,103,0,95,0,67,0,121,0,114,0,108,0,95,0,84,0,74,0,0,0,116,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,77,0,0,0,116,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,79,0,0,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,117,0,103,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,78,0,0,0,117,0,103,0,95,0,67,0,121,0,114,0,108,0,95,0,75,0,90,0,0,0,117,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,85,0,65,0,0,0,117,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,118,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,86,0,78,0,0,0,122,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,78,0,0,0,122,0,104,0,95,0,66,0,111,0,112,0,111,0,95,0,84,0,87,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,98,0,95,0,84,0,87,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,72,0,75,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,77,0,79,0,0,0,97,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,74,0,0,0,97,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,84,0,0,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,65,0,0,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,69,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,66,0,72,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,68,0,90,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,69,0,72,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,81,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,74,0,79,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,75,0,77,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,75,0,87,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,76,0,66,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,76,0,89,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,65,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,82,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,79,0,77,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,83,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,81,0,65,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,68,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,89,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,78,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,89,0,69,0,0,0,97,0,115,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,97,0,118,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,97,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,79,0,0,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,81,0,0,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,82,0,0,0,97,0,122,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,98,0,97,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,98,0,103,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,79,0,0,0,98,0,111,0,95,0,77,0,97,0,114,0,99,0,95,0,67,0,78,0,0,0,98,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,99,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,68,0,0,0,99,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,99,0,101,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,85,0,0,0,99,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,99,0,114,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,99,0,117,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,99,0,118,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,99,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,66,0,0,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,84,0,0,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,72,0,0,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,90,0,0,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,73,0,0,0,100,0,118,0,95,0,68,0,105,0,97,0,107,0,95,0,77,0,86,0,0,0,101,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,101,0,108,0,95,0,71,0,114,0,101,0,107,0,95,0,67,0,89,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,71,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,84,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,66,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,85,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,69,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,71,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,82,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,79,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,76,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,79,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,82,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,79,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,65,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,67,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,81,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,84,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,72,0,78,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,67,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,73,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,65,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,69,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,82,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,86,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,89,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,86,0,69,0,0,0,101,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,102,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,102,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,74,0,0,0,102,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,102,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,74,0,0,0,102,0,114,0,95,0,66,0,114,0,97,0,105,0,95,0,70,0,82,0,0,0,102,0,114,0,95,0,68,0,117,0,112,0,108,0,95,0,70,0,82,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,74,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,76,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,71,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,90,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,65,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,78,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,80,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,77,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,85,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,65,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,67,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,81,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,82,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,67,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,77,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,69,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,67,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,89,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,68,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,71,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,78,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,87,0,70,0,0,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,89,0,84,0,0,0,102,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,103,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,69,0,0,0,103,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,66,0,0,0,103,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,103,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,77,0,0,0,104,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,77,0,0,0,104,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,78,0,71,0,0,0,104,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,68,0,0,0,104,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,69,0,0,0,104,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,104,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,78,0,0,0,104,0,105,0,95,0,77,0,97,0,104,0,106,0,95,0,73,0,78,0,0,0,104,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,71,0,0,0,104,0,117,0,95,0,72,0,117,0,110,0,103,0,95,0,72,0,85,0,0,0,104,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,65,0,0,0,105,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,105,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,105,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,77,0,0,0,105,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,86,0,65,0,0,0,105,0,119,0,95,0,72,0,101,0,98,0,114,0,95,0,73,0,76,0,0,0,106,0,97,0,95,0,72,0,105,0,114,0,97,0,95,0,74,0,80,0,0,0,106,0,97,0,95,0,75,0,97,0,110,0,97,0,95,0,74,0,80,0,0,0,106,0,105,0,95,0,72,0,101,0,98,0,114,0,95,0,85,0,65,0,0,0,106,0,118,0,95,0,74,0,97,0,118,0,97,0,95,0,73,0,68,0,0,0,106,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,106,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,107,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,107,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,107,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,65,0,0,0,107,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,107,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,107,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,75,0,90,0,0,0,107,0,111,0,95,0,72,0,97,0,110,0,103,0,95,0,75,0,82,0,0,0,107,0,111,0,95,0,74,0,97,0,109,0,111,0,95,0,75,0,82,0,0,0,107,0,111,0,95,0,75,0,111,0,114,0,101,0,95,0,75,0,80,0,0,0,107,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,78,0,0,0,107,0,117,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,81,0,0,0,107,0,117,0,95,0,65,0,114,0,97,0,98,0,95,0,76,0,66,0,0,0,107,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,77,0,0,0,107,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,69,0,0,0,107,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,107,0,118,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,107,0,118,0,95,0,80,0,101,0,114,0,109,0,95,0,82,0,85,0,0,0,107,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,66,0,0,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,86,0,65,0,0,0,108,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,85,0,0,0,108,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,108,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,108,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,108,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,109,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,72,0,0,0,109,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,90,0,0,0,109,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,65,0,76,0,0,0,109,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,71,0,82,0,0,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,79,0,0,0,109,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,114,0,95,0,77,0,111,0,100,0,105,0,95,0,73,0,78,0,0,0,109,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,68,0,0,0,109,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,78,0,0,0,110,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,82,0,0,0,110,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,74,0,0,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,87,0,0,0,110,0,101,0,95,0,68,0,101,0,118,0,97,0,95,0,66,0,84,0,0,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,65,0,0,0,110,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,87,0,0,0,110,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,69,0,0,0,110,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,82,0,0,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,79,0,0,0,110,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,79,0,0,0,110,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,110,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,110,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,87,0,0,0,111,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,111,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,111,0,106,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,111,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,84,0,0,0,111,0,115,0,95,0,67,0,121,0,114,0,108,0,95,0,71,0,69,0,0,0,112,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,65,0,0,0,112,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,79,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,86,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,87,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,79,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,84,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,84,0,0,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,76,0,0,0,113,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,69,0,0,0,114,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,72,0,0,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,68,0,0,0,114,0,117,0,95,0,67,0,121,0,114,0,108,0,95,0,75,0,90,0,0,0,115,0,97,0,95,0,66,0,104,0,107,0,115,0,95,0,73,0,78,0,0,0,115,0,97,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,97,0,95,0,71,0,114,0,97,0,110,0,95,0,73,0,78,0,0,0,115,0,97,0,95,0,78,0,97,0,110,0,100,0,95,0,73,0,78,0,0,0,115,0,97,0,95,0,83,0,104,0,114,0,100,0,95,0,73,0,78,0,0,0,115,0,97,0,95,0,83,0,105,0,100,0,100,0,95,0,73,0,78,0,0,0,115,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,115,0,100,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,115,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,79,0,0,0,115,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,70,0,0,0,115,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,83,0,0,0,115,0,111,0,95,0,79,0,115,0,109,0,97,0,95,0,83,0,79,0,0,0,115,0,113,0,95,0,69,0,108,0,98,0,97,0,95,0,65,0,76,0,0,0,115,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,75,0,0,0,115,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,88,0,75,0,0,0,115,0,113,0,95,0,86,0,105,0,116,0,104,0,95,0,65,0,76,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,66,0,65,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,88,0,75,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,79,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,85,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,115,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,115,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,83,0,0,0,115,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,115,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,115,0,117,0,95,0,83,0,117,0,110,0,100,0,95,0,73,0,68,0,0,0,115,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,88,0,0,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,116,0,105,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,82,0,0,0,116,0,105,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,84,0,0,0,116,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,70,0,0,0,116,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,82,0,0,0,116,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,116,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,89,0,0,0,116,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,116,0,116,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,116,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,70,0,0,0,117,0,103,0,95,0,67,0,121,0,114,0,108,0,95,0,77,0,78,0,0,0,117,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,77,0,68,0,0,0,117,0,107,0,95,0,67,0,121,0,114,0,108,0,95,0,83,0,75,0,0,0,117,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,71,0,66,0,0,0,117,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,78,0,0,0,117,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,85,0,0,0,117,0,122,0,95,0,67,0,121,0,114,0,108,0,95,0,67,0,78,0,0,0,118,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,119,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,69,0,0,0,119,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,120,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,121,0,105,0,95,0,72,0,101,0,98,0,114,0,95,0,83,0,69,0,0,0,121,0,105,0,95,0,72,0,101,0,98,0,114,0,95,0,85,0,65,0,0,0,121,0,105,0,95,0,72,0,101,0,98,0,114,0,95,0,85,0,83,0,0,0,121,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,105,0,95,0,67,0,78,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,65,0,85,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,66,0,78,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,71,0,66,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,71,0,70,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,73,0,68,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,80,0,65,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,80,0,70,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,80,0,72,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,83,0,82,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,84,0,72,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,85,0,83,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,86,0,78,0,0,0,122,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,108,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,98,0,104,0,105,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,97,0,110,0,95,0,78,0,107,0,111,0,111,0,95,0,71,0,78,0,0,0,97,0,104,0,111,0,95,0,65,0,104,0,111,0,109,0,95,0,73,0,78,0,0,0,97,0,107,0,107,0,95,0,88,0,115,0,117,0,120,0,95,0,73,0,81,0,0,0,97,0,112,0,100,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,71,0,0,0,97,0,114,0,99,0,95,0,65,0,114,0,109,0,105,0,95,0,73,0,82,0,0,0,97,0,114,0,99,0,95,0,78,0,98,0,97,0,116,0,95,0,74,0,79,0,0,0,97,0,114,0,99,0,95,0,80,0,97,0,108,0,109,0,95,0,83,0,89,0,0,0,97,0,115,0,101,0,95,0,83,0,103,0,110,0,119,0,95,0,85,0,83,0,0,0,98,0,97,0,120,0,95,0,66,0,97,0,109,0,117,0,95,0,67,0,77,0,0,0,98,0,103,0,120,0,95,0,71,0,114,0,101,0,107,0,95,0,84,0,82,0,0,0,98,0,108,0,116,0,95,0,84,0,97,0,118,0,116,0,95,0,86,0,78,0,0,0,98,0,115,0,113,0,95,0,66,0,97,0,115,0,115,0,95,0,76,0,82,0,0,0,98,0,116,0,118,0,95,0,68,0,101,0,118,0,97,0,95,0,80,0,75,0,0,0,99,0,99,0,112,0,95,0,67,0,97,0,107,0,109,0,95,0,66,0,68,0,0,0,99,0,104,0,114,0,95,0,67,0,104,0,101,0,114,0,95,0,85,0,83,0,0,0,99,0,106,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,75,0,72,0,0,0,99,0,106,0,109,0,95,0,67,0,104,0,97,0,109,0,95,0,86,0,78,0,0,0,99,0,109,0,103,0,95,0,83,0,111,0,121,0,111,0,95,0,77,0,78,0,0,0,99,0,111,0,112,0,95,0,67,0,111,0,112,0,116,0,95,0,69,0,71,0,0,0,99,0,116,0,100,0,95,0,80,0,97,0,117,0,99,0,95,0,77,0,77,0,0,0,100,0,109,0,102,0,95,0,77,0,101,0,100,0,102,0,95,0,78,0,71,0,0,0,101,0,103,0,121,0,95,0,69,0,103,0,121,0,112,0,95,0,69,0,71,0,0,0,101,0,107,0,121,0,95,0,75,0,97,0,108,0,105,0,95,0,77,0,77,0,0,0,101,0,115,0,103,0,95,0,71,0,111,0,110,0,109,0,95,0,73,0,78,0,0,0,101,0,116,0,116,0,95,0,73,0,116,0,97,0,108,0,95,0,73,0,84,0,0,0,102,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,103,0,111,0,116,0,95,0,71,0,111,0,116,0,104,0,95,0,85,0,65,0,0,0,103,0,114,0,99,0,95,0,67,0,112,0,114,0,116,0,95,0,67,0,89,0,0,0,103,0,114,0,99,0,95,0,76,0,105,0,110,0,98,0,95,0,71,0,82,0,0,0,104,0,108,0,117,0,95,0,72,0,108,0,117,0,119,0,95,0,84,0,82,0,0,0,104,0,109,0,100,0,95,0,80,0,108,0,114,0,100,0,95,0,67,0,78,0,0,0,104,0,110,0,106,0,95,0,72,0,109,0,110,0,112,0,95,0,85,0,83,0,0,0,107,0,97,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,77,0,0,0,107,0,97,0,119,0,95,0,75,0,97,0,119,0,105,0,95,0,73,0,68,0,0,0,107,0,104,0,98,0,95,0,84,0,97,0,108,0,117,0,95,0,67,0,78,0,0,0,107,0,104,0,116,0,95,0,77,0,121,0,109,0,114,0,95,0,73,0,78,0,0,0,107,0,114,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,85,0,0,0,108,0,97,0,98,0,95,0,76,0,105,0,110,0,97,0,95,0,71,0,82,0,0,0,108,0,99,0,112,0,95,0,84,0,104,0,97,0,105,0,95,0,67,0,78,0,0,0,108,0,101,0,112,0,95,0,76,0,101,0,112,0,99,0,95,0,73,0,78,0,0,0,108,0,105,0,102,0,95,0,76,0,105,0,109,0,98,0,95,0,73,0,78,0,0,0,108,0,105,0,115,0,95,0,76,0,105,0,115,0,117,0,95,0,67,0,78,0,0,0,109,0,102,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,72,0,0,0,109,0,102,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,85,0,0,0,109,0,114,0,111,0,95,0,77,0,114,0,111,0,111,0,95,0,66,0,68,0,0,0,109,0,121,0,122,0,95,0,77,0,97,0,110,0,100,0,95,0,73,0,82,0,0,0,110,0,110,0,112,0,95,0,87,0,99,0,104,0,111,0,95,0,73,0,78,0,0,0,110,0,111,0,100,0,95,0,76,0,97,0,110,0,97,0,95,0,84,0,72,0,0,0,110,0,111,0,110,0,95,0,82,0,117,0,110,0,114,0,95,0,83,0,69,0,0,0,110,0,115,0,116,0,95,0,84,0,110,0,115,0,97,0,95,0,73,0,78,0,0,0,111,0,115,0,97,0,95,0,79,0,115,0,103,0,101,0,95,0,85,0,83,0,0,0,111,0,116,0,107,0,95,0,79,0,114,0,107,0,104,0,95,0,77,0,78,0,0,0,112,0,97,0,108,0,95,0,80,0,104,0,108,0,105,0,95,0,73,0,82,0,0,0,112,0,97,0,108,0,95,0,80,0,104,0,108,0,112,0,95,0,67,0,78,0,0,0,112,0,97,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,87,0,0,0,112,0,101,0,111,0,95,0,88,0,112,0,101,0,111,0,95,0,73,0,82,0,0,0,112,0,104,0,110,0,95,0,80,0,104,0,110,0,120,0,95,0,76,0,66,0,0,0,112,0,107,0,97,0,95,0,66,0,114,0,97,0,104,0,95,0,73,0,78,0,0,0,112,0,114,0,97,0,95,0,75,0,104,0,97,0,114,0,95,0,80,0,75,0,0,0,114,0,104,0,103,0,95,0,82,0,111,0,104,0,103,0,95,0,77,0,77,0,0,0,115,0,97,0,116,0,95,0,79,0,108,0,99,0,107,0,95,0,73,0,78,0,0,0,115,0,97,0,122,0,95,0,83,0,97,0,117,0,114,0,95,0,73,0,78,0,0,0,115,0,103,0,97,0,95,0,79,0,103,0,97,0,109,0,95,0,73,0,69,0,0,0,115,0,109,0,112,0,95,0,83,0,97,0,109,0,114,0,95,0,73,0,76,0,0,0,115,0,111,0,103,0,95,0,83,0,111,0,103,0,100,0,95,0,85,0,90,0,0,0,115,0,114,0,98,0,95,0,83,0,111,0,114,0,97,0,95,0,73,0,78,0,0,0,115,0,119,0,98,0,95,0,65,0,114,0,97,0,98,0,95,0,89,0,84,0,0,0,115,0,121,0,114,0,95,0,83,0,121,0,114,0,99,0,95,0,73,0,81,0,0,0,116,0,100,0,100,0,95,0,84,0,97,0,108,0,101,0,95,0,67,0,78,0,0,0,116,0,107,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,75,0,0,0,116,0,112,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,71,0,0,0,116,0,114,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,87,0,0,0,116,0,118,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,86,0,0,0,116,0,120,0,103,0,95,0,84,0,97,0,110,0,103,0,95,0,67,0,78,0,0,0,116,0,120,0,111,0,95,0,84,0,111,0,116,0,111,0,95,0,73,0,78,0,0,0,117,0,100,0,105,0,95,0,65,0,103,0,104,0,98,0,95,0,82,0,85,0,0,0,117,0,103,0,97,0,95,0,85,0,103,0,97,0,114,0,95,0,83,0,89,0,0,0,117,0,110,0,100,0,95,0,67,0,112,0,109,0,110,0,95,0,67,0,89,0,0,0,117,0,110,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,118,0,97,0,105,0,95,0,86,0,97,0,105,0,105,0,95,0,76,0,82,0,0,0,119,0,115,0,103,0,95,0,71,0,111,0,110,0,103,0,95,0,73,0,78,0,0,0,120,0,99,0,111,0,95,0,67,0,104,0,114,0,115,0,95,0,85,0,90,0,0,0,120,0,99,0,114,0,95,0,67,0,97,0,114,0,105,0,95,0,84,0,82,0,0,0,120,0,108,0,99,0,95,0,76,0,121,0,99,0,105,0,95,0,84,0,82,0,0,0,120,0,108,0,100,0,95,0,76,0,121,0,100,0,105,0,95,0,84,0,82,0,0,0,120,0,109,0,110,0,95,0,77,0,97,0,110,0,105,0,95,0,67,0,78,0,0,0,120,0,109,0,114,0,95,0,77,0,101,0,114,0,99,0,95,0,83,0,68,0,0,0,120,0,110,0,97,0,95,0,78,0,97,0,114,0,98,0,95,0,83,0,65,0,0,0,120,0,112,0,114,0,95,0,80,0,114,0,116,0,105,0,95,0,73,0,82,0,0,0,120,0,115,0,97,0,95,0,83,0,97,0,114,0,98,0,95,0,89,0,69,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,122,0,103,0,104,0,95,0,84,0,102,0,110,0,103,0,95,0,77,0,65,0,0,0,122,0,104,0,120,0,95,0,78,0,115,0,104,0,117,0,95,0,67,0,78,0,0,0,122,0,107,0,116,0,95,0,75,0,105,0,116,0,115,0,95,0,67,0,78,0,0,0,109,0,105,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,111,0,107,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,97,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,97,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,98,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,98,0,113,0,95,0,67,0,121,0,114,0,108,0,95,0,90,0,90,0,0,0,97,0,98,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,97,0,98,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,98,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,99,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,99,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,97,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,97,0,100,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,97,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,100,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,100,0,112,0,95,0,84,0,105,0,98,0,116,0,95,0,66,0,84,0,0,0,97,0,100,0,121,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,97,0,100,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,101,0,98,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,78,0,0,0,97,0,101,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,103,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,97,0,104,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,104,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,106,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,106,0,116,0,95,0,65,0,114,0,97,0,98,0,95,0,84,0,78,0,0,0,97,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,108,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,108,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,88,0,75,0,0,0,97,0,108,0,116,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,97,0,109,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,109,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,97,0,109,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,110,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,110,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,97,0,110,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,111,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,111,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,111,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,97,0,112,0,99,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,97,0,112,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,112,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,112,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,112,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,114,0,99,0,95,0,69,0,108,0,121,0,109,0,95,0,73,0,82,0,0,0,97,0,114,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,114,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,76,0,0,0,97,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,79,0,0,0,97,0,114,0,113,0,95,0,65,0,114,0,97,0,98,0,95,0,68,0,90,0,0,0,97,0,114,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,65,0,0,0,97,0,114,0,121,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,65,0,0,0,97,0,114,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,69,0,71,0,0,0,97,0,115,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,97,0,115,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,115,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,115,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,97,0,116,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,116,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,116,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,97,0,117,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,118,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,97,0,118,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,118,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,118,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,119,0,97,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,97,0,119,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,119,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,119,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,97,0,121,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,97,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,98,0,97,0,110,0,95,0,66,0,97,0,108,0,105,0,95,0,73,0,68,0,0,0,98,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,98,0,97,0,112,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,98,0,97,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,84,0,0,0,98,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,97,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,98,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,98,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,98,0,99,0,95,0,66,0,97,0,116,0,107,0,95,0,73,0,68,0,0,0,98,0,98,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,98,0,98,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,98,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,98,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,98,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,98,0,99,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,99,0,113,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,98,0,99,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,100,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,101,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,101,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,101,0,106,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,68,0,0,0,98,0,101,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,77,0,0,0,98,0,101,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,101,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,98,0,101,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,101,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,98,0,102,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,102,0,113,0,95,0,84,0,97,0,109,0,108,0,95,0,73,0,78,0,0,0,98,0,102,0,116,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,98,0,102,0,121,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,103,0,99,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,103,0,110,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,98,0,104,0,98,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,104,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,104,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,104,0,111,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,104,0,111,0,95,0,68,0,101,0,118,0,97,0,95,0,77,0,85,0,0,0,98,0,104,0,111,0,95,0,75,0,116,0,104,0,105,0,95,0,73,0,78,0,0,0,98,0,104,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,105,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,105,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,105,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,98,0,105,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,105,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,98,0,105,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,105,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,106,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,106,0,105,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,98,0,106,0,106,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,106,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,98,0,106,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,106,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,106,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,98,0,106,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,107,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,107,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,107,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,107,0,117,0,95,0,66,0,117,0,104,0,100,0,95,0,80,0,72,0,0,0,98,0,107,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,98,0,107,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,98,0,108,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,98,0,109,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,109,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,109,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,98,0,109,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,110,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,110,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,111,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,111,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,111,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,112,0,121,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,98,0,113,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,113,0,105,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,98,0,113,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,113,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,98,0,114,0,97,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,114,0,104,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,98,0,114,0,120,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,98,0,114,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,115,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,115,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,115,0,116,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,98,0,116,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,98,0,116,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,117,0,97,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,98,0,117,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,89,0,84,0,0,0,98,0,117,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,117,0,103,0,95,0,66,0,117,0,103,0,105,0,95,0,73,0,68,0,0,0,98,0,117,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,98,0,117,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,117,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,117,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,117,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,117,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,118,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,81,0,0,0,98,0,119,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,119,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,120,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,121,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,121,0,110,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,82,0,0,0,98,0,121,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,121,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,121,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,98,0,121,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,122,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,122,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,98,0,122,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,122,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,98,0,122,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,97,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,99,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,98,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,99,0,101,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,99,0,102,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,103,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,99,0,104,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,77,0,0,0,99,0,104,0,109,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,99,0,104,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,99,0,104,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,99,0,105,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,99,0,106,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,107,0,98,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,81,0,0,0,99,0,107,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,107,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,107,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,108,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,99,0,109,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,99,0,109,0,103,0,95,0,90,0,97,0,110,0,98,0,95,0,77,0,78,0,0,0,99,0,112,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,99,0,114,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,99,0,114,0,104,0,95,0,67,0,121,0,114,0,108,0,95,0,85,0,65,0,0,0,99,0,114,0,107,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,99,0,114,0,108,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,99,0,114,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,67,0,0,0,99,0,115,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,76,0,0,0,99,0,115,0,119,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,100,0,97,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,100,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,97,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,97,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,100,0,97,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,100,0,97,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,100,0,98,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,98,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,99,0,99,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,78,0,0,0,100,0,100,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,101,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,100,0,103,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,103,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,103,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,103,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,100,0,103,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,100,0,103,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,106,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,69,0,0,0,100,0,110,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,100,0,111,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,111,0,105,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,100,0,111,0,105,0,95,0,68,0,111,0,103,0,114,0,95,0,73,0,78,0,0,0,100,0,111,0,105,0,95,0,84,0,97,0,107,0,114,0,95,0,73,0,78,0,0,0,100,0,111,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,111,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,114,0,104,0,95,0,77,0,111,0,110,0,103,0,95,0,67,0,78,0,0,0,100,0,114,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,114,0,115,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,100,0,115,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,100,0,116,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,100,0,116,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,100,0,116,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,116,0,121,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,100,0,117,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,100,0,117,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,117,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,117,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,118,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,119,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,100,0,121,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,100,0,121,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,70,0,0,0,100,0,122,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,98,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,101,0,102,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,101,0,103,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,101,0,107,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,109,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,109,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,110,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,101,0,114,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,52,0,49,0,57,0,0,0,101,0,115,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,101,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,116,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,116,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,101,0,119,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,101,0,120,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,83,0,0,0,101,0,122,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,97,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,97,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,81,0,0,0,102,0,102,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,102,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,102,0,105,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,83,0,68,0,0,0,102,0,105,0,108,0,95,0,84,0,103,0,108,0,103,0,95,0,80,0,72,0,0,0,102,0,105,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,69,0,0,0,102,0,108,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,109,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,111,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,111,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,74,0,0,0,102,0,111,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,112,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,113,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,114,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,102,0,114,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,102,0,114,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,102,0,114,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,102,0,117,0,98,0,95,0,65,0,114,0,97,0,98,0,95,0,67,0,77,0,0,0,102,0,117,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,87,0,70,0,0,0,102,0,117,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,117,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,78,0,0,0,102,0,117,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,117,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,69,0,0,0,102,0,117,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,102,0,117,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,102,0,117,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,102,0,118,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,68,0,0,0,103,0,97,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,103,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,68,0,0,0,103,0,97,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,97,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,97,0,110,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,103,0,97,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,97,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,103,0,98,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,98,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,98,0,109,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,103,0,98,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,98,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,103,0,99,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,70,0,0,0,103,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,100,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,100,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,101,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,101,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,101,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,101,0,122,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,84,0,0,0,103,0,102,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,103,0,110,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,103,0,104,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,73,0,0,0,103,0,105,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,106,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,103,0,106,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,106,0,117,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,103,0,107,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,107,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,108,0,107,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,103,0,109,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,109,0,118,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,103,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,111,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,111,0,102,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,103,0,111,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,111,0,109,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,103,0,111,0,110,0,95,0,84,0,101,0,108,0,117,0,95,0,73,0,78,0,0,0,103,0,111,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,103,0,111,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,103,0,114,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,114,0,116,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,103,0,114,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,72,0,0,0,103,0,117,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,82,0,0,0,103,0,117,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,79,0,0,0,103,0,117,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,117,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,103,0,117,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,117,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,117,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,103,0,118,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,118,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,103,0,118,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,103,0,119,0,99,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,103,0,119,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,103,0,119,0,116,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,103,0,121,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,97,0,107,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,104,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,97,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,104,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,104,0,98,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,100,0,121,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,104,0,104,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,105,0,102,0,95,0,68,0,101,0,118,0,97,0,95,0,70,0,74,0,0,0,104,0,105,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,74,0,0,0,104,0,105,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,105,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,104,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,109,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,110,0,100,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,104,0,110,0,101,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,104,0,110,0,106,0,95,0,72,0,109,0,110,0,103,0,95,0,76,0,65,0,0,0,104,0,110,0,110,0,95,0,72,0,97,0,110,0,111,0,95,0,80,0,72,0,0,0,104,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,104,0,110,0,111,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,104,0,111,0,99,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,104,0,111,0,99,0,95,0,87,0,97,0,114,0,97,0,95,0,73,0,78,0,0,0,104,0,111,0,106,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,104,0,111,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,115,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,104,0,115,0,110,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,104,0,117,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,104,0,117,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,105,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,97,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,98,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,105,0,98,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,105,0,98,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,99,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,100,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,100,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,100,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,102,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,71,0,0,0,105,0,103,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,103,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,106,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,107,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,107,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,107,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,108,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,105,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,110,0,104,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,105,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,105,0,111,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,114,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,119,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,119,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,105,0,122,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,85,0,0,0,105,0,122,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,97,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,74,0,77,0,0,0,106,0,97,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,98,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,103,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,103,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,106,0,105,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,109,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,106,0,109,0,108,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,106,0,114,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,106,0,117,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,75,0,0,0,107,0,97,0,97,0,95,0,67,0,121,0,114,0,108,0,95,0,85,0,90,0,0,0,107,0,97,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,90,0,0,0,107,0,97,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,97,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,107,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,107,0,97,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,107,0,98,0,100,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,107,0,98,0,100,0,95,0,67,0,121,0,114,0,108,0,95,0,84,0,82,0,0,0,107,0,98,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,98,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,98,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,98,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,98,0,121,0,95,0,65,0,114,0,97,0,98,0,95,0,78,0,69,0,0,0,107,0,99,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,107,0,99,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,87,0,0,0,107,0,99,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,99,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,100,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,107,0,100,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,71,0,0,0,107,0,100,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,100,0,116,0,95,0,84,0,104,0,97,0,105,0,95,0,75,0,72,0,0,0,107,0,100,0,116,0,95,0,84,0,104,0,97,0,105,0,95,0,76,0,65,0,0,0,107,0,100,0,116,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,107,0,101,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,86,0,0,0,107,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,107,0,101,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,102,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,107,0,102,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,102,0,121,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,103,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,107,0,103,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,103,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,82,0,0,0,107,0,104,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,78,0,0,0,107,0,104,0,110,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,104,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,107,0,104,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,104,0,119,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,107,0,104,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,105,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,105,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,107,0,105,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,106,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,106,0,103,0,95,0,76,0,97,0,111,0,111,0,95,0,76,0,65,0,0,0,107,0,106,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,106,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,107,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,107,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,107,0,108,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,107,0,108,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,108,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,108,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,109,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,79,0,0,0,107,0,109,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,109,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,109,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,109,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,110,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,87,0,0,0,107,0,110,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,111,0,105,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,107,0,111,0,107,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,111,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,111,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,77,0,0,0,107,0,111,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,112,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,82,0,0,0,107,0,112,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,112,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,112,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,112,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,113,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,113,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,113,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,113,0,121,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,107,0,114,0,99,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,107,0,114,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,76,0,0,0,107,0,114,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,107,0,114,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,114,0,117,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,115,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,107,0,115,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,115,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,107,0,115,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,107,0,115,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,116,0,98,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,107,0,116,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,116,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,107,0,117,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,109,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,107,0,117,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,117,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,118,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,118,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,107,0,118,0,120,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,107,0,119,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,119,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,107,0,119,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,119,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,120,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,120,0,99,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,107,0,120,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,120,0,108,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,107,0,120,0,109,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,107,0,120,0,112,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,107,0,120,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,120,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,121,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,121,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,122,0,104,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,107,0,122,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,107,0,122,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,107,0,122,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,108,0,97,0,100,0,95,0,72,0,101,0,98,0,114,0,95,0,73,0,76,0,0,0,108,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,108,0,97,0,104,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,108,0,97,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,108,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,98,0,101,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,108,0,98,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,98,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,108,0,99,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,100,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,101,0,122,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,108,0,103,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,105,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,105,0,102,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,108,0,105,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,105,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,105,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,108,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,108,0,106,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,108,0,107,0,105,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,108,0,107,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,108,0,108,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,108,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,109,0,110,0,95,0,84,0,101,0,108,0,117,0,95,0,73,0,78,0,0,0,108,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,108,0,109,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,110,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,110,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,111,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,111,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,111,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,108,0,111,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,111,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,108,0,111,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,77,0,0,0,108,0,114,0,99,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,108,0,116,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,86,0,0,0,108,0,117,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,108,0,117,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,108,0,117,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,108,0,117,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,108,0,119,0,108,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,108,0,122,0,104,0,95,0,80,0,104,0,97,0,103,0,95,0,67,0,78,0,0,0,108,0,122,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,109,0,97,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,109,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,109,0,97,0,103,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,97,0,105,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,97,0,105,0,95,0,84,0,105,0,114,0,104,0,95,0,73,0,78,0,0,0,109,0,97,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,109,0,97,0,107,0,95,0,77,0,97,0,107,0,97,0,95,0,73,0,68,0,0,0,109,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,77,0,0,0,109,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,109,0,97,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,109,0,98,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,98,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,98,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,98,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,98,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,99,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,99,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,99,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,99,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,99,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,100,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,100,0,101,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,109,0,100,0,102,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,109,0,100,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,109,0,100,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,100,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,109,0,100,0,120,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,109,0,101,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,101,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,101,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,76,0,0,0,109,0,101,0,110,0,95,0,77,0,101,0,110,0,100,0,95,0,83,0,76,0,0,0,109,0,101,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,109,0,101,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,101,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,102,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,102,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,102,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,103,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,109,0,103,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,103,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,109,0,103,0,112,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,109,0,103,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,109,0,104,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,104,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,105,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,109,0,105,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,105,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,107,0,105,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,109,0,107,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,107,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,107,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,108,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,108,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,108,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,68,0,0,0,109,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,109,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,109,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,110,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,110,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,110,0,105,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,109,0,110,0,105,0,95,0,77,0,116,0,101,0,105,0,95,0,73,0,78,0,0,0,109,0,110,0,119,0,95,0,77,0,121,0,109,0,114,0,95,0,77,0,77,0,0,0,109,0,110,0,119,0,95,0,77,0,121,0,109,0,114,0,95,0,84,0,72,0,0,0,109,0,111,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,111,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,109,0,111,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,109,0,111,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,70,0,0,0,109,0,111,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,112,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,112,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,112,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,112,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,113,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,114,0,100,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,109,0,114,0,106,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,109,0,116,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,116,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,116,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,116,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,117,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,109,0,117,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,117,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,109,0,118,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,118,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,118,0,121,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,109,0,119,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,109,0,119,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,119,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,109,0,119,0,119,0,95,0,72,0,109,0,110,0,112,0,95,0,85,0,83,0,0,0,109,0,120,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,87,0,0,0,109,0,120,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,121,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,121,0,109,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,109,0,121,0,118,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,109,0,121,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,121,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,109,0,122,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,122,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,122,0,110,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,109,0,122,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,122,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,109,0,122,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,97,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,97,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,97,0,110,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,110,0,97,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,110,0,97,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,65,0,0,0,110,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,99,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,99,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,99,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,99,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,110,0,99,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,99,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,100,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,110,0,100,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,110,0,101,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,101,0,119,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,110,0,101,0,119,0,95,0,78,0,101,0,119,0,97,0,95,0,78,0,80,0,0,0,110,0,101,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,102,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,103,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,103,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,103,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,110,0,104,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,104,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,110,0,104,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,110,0,105,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,105,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,105,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,110,0,105,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,105,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,85,0,0,0,110,0,105,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,105,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,106,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,78,0,0,0,110,0,107,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,107,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,109,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,110,0,109,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,110,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,110,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,110,0,110,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,110,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,111,0,101,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,110,0,111,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,111,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,113,0,111,0,95,0,78,0,107,0,111,0,111,0,95,0,71,0,78,0,0,0,110,0,114,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,115,0,107,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,110,0,115,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,115,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,65,0,0,0,110,0,115,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,116,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,117,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,117,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,117,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,83,0,0,0,110,0,117,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,117,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,119,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,120,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,78,0,0,0,110,0,120,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,110,0,121,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,110,0,121,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,110,0,122,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,111,0,103,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,106,0,115,0,95,0,67,0,97,0,110,0,115,0,95,0,67,0,65,0,0,0,111,0,107,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,111,0,107,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,110,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,112,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,111,0,114,0,117,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,111,0,116,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,111,0,122,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,112,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,112,0,97,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,87,0,0,0,112,0,97,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,81,0,0,0,112,0,97,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,87,0,0,0,112,0,98,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,99,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,82,0,0,0,112,0,99,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,112,0,100,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,83,0,0,0,112,0,100,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,112,0,101,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,101,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,102,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,112,0,104,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,112,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,105,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,105,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,66,0,0,0,112,0,107,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,112,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,109,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,112,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,110,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,110,0,116,0,95,0,71,0,114,0,101,0,107,0,95,0,71,0,82,0,0,0,112,0,111,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,77,0,0,0,112,0,112,0,97,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,112,0,112,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,113,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,112,0,114,0,100,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,112,0,115,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,116,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,112,0,117,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,65,0,0,0,112,0,119,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,113,0,117,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,84,0,0,0,113,0,117,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,67,0,0,0,114,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,97,0,106,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,114,0,97,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,99,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,69,0,0,0,114,0,101,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,114,0,101,0,106,0,95,0,82,0,106,0,110,0,103,0,95,0,73,0,68,0,0,0,114,0,101,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,103,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,114,0,104,0,103,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,77,0,0,0,114,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,78,0,0,0,114,0,105,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,114,0,105,0,102,0,95,0,84,0,102,0,110,0,103,0,95,0,77,0,65,0,0,0,114,0,106,0,115,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,114,0,107,0,116,0,95,0,66,0,101,0,110,0,103,0,95,0,66,0,68,0,0,0,114,0,109,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,73,0,0,0,114,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,72,0,0,0,114,0,109,0,116,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,114,0,109,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,69,0,0,0,114,0,110,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,110,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,114,0,111,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,114,0,111,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,114,0,111,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,116,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,74,0,0,0,114,0,117,0,101,0,95,0,67,0,121,0,114,0,108,0,95,0,85,0,65,0,0,0,114,0,117,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,66,0,0,0,114,0,119,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,114,0,119,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,114,0,121,0,117,0,95,0,75,0,97,0,110,0,97,0,95,0,74,0,80,0,0,0,115,0,97,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,72,0,0,0,115,0,97,0,104,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,115,0,97,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,75,0,69,0,0,0,115,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,115,0,97,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,115,0,98,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,98,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,98,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,115,0,99,0,107,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,99,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,115,0,99,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,115,0,99,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,66,0,0,0,115,0,100,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,115,0,100,0,104,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,115,0,101,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,73,0,0,0,115,0,101,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,115,0,101,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,115,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,115,0,103,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,84,0,0,0,115,0,103,0,119,0,95,0,69,0,116,0,104,0,105,0,95,0,90,0,90,0,0,0,115,0,103,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,104,0,105,0,95,0,84,0,102,0,110,0,103,0,95,0,77,0,65,0,0,0,115,0,104,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,104,0,110,0,95,0,77,0,121,0,109,0,114,0,95,0,77,0,77,0,0,0,115,0,104,0,117,0,95,0,65,0,114,0,97,0,98,0,95,0,90,0,90,0,0,0,115,0,105,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,84,0,0,0,115,0,105,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,105,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,105,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,106,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,107,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,107,0,114,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,115,0,107,0,114,0,95,0,77,0,117,0,108,0,116,0,95,0,80,0,75,0,0,0,115,0,107,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,108,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,108,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,76,0,0,0,115,0,108,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,108,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,115,0,109,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,69,0,0,0,115,0,109,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,79,0,0,0,115,0,109,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,69,0,0,0,115,0,109,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,73,0,0,0,115,0,109,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,109,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,73,0,0,0,115,0,110,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,115,0,110,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,110,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,76,0,0,0,115,0,110,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,110,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,110,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,111,0,103,0,95,0,83,0,111,0,103,0,111,0,95,0,85,0,90,0,0,0,115,0,111,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,111,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,111,0,117,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,115,0,111,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,112,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,112,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,112,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,114,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,82,0,0,0,115,0,114,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,115,0,114,0,120,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,115,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,115,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,115,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,82,0,0,0,115,0,116,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,116,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,115,0,117,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,117,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,117,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,115,0,117,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,117,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,78,0,0,0,115,0,119,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,68,0,0,0,115,0,119,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,115,0,119,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,119,0,118,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,120,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,115,0,120,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,115,0,121,0,108,0,95,0,66,0,101,0,110,0,103,0,95,0,66,0,68,0,0,0,115,0,121,0,108,0,95,0,83,0,121,0,108,0,111,0,95,0,66,0,68,0,0,0,115,0,122,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,76,0,0,0,116,0,97,0,106,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,97,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,97,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,98,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,116,0,98,0,119,0,95,0,84,0,97,0,103,0,98,0,95,0,80,0,72,0,0,0,116,0,98,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,99,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,99,0,121,0,95,0,75,0,110,0,100,0,97,0,95,0,73,0,78,0,0,0,116,0,100,0,103,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,100,0,104,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,100,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,116,0,101,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,101,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,76,0,0,0,116,0,101,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,116,0,101,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,76,0,0,0,116,0,102,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,103,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,103,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,103,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,104,0,108,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,104,0,113,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,104,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,105,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,105,0,103,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,82,0,0,0,116,0,105,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,105,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,105,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,105,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,71,0,0,0,116,0,107,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,90,0,0,0,116,0,107,0,116,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,108,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,108,0,120,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,108,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,90,0,0,0,116,0,109,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,69,0,0,0,116,0,109,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,110,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,111,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,111,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,87,0,0,0,116,0,111,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,112,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,112,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,113,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,114,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,116,0,114,0,119,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,116,0,115,0,100,0,95,0,71,0,114,0,101,0,107,0,95,0,71,0,82,0,0,0,116,0,115,0,102,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,116,0,115,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,116,0,115,0,106,0,95,0,84,0,105,0,98,0,116,0,95,0,66,0,84,0,0,0,116,0,115,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,116,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,116,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,116,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,116,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,116,0,115,0,95,0,84,0,104,0,97,0,105,0,95,0,84,0,72,0,0,0,116,0,116,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,90,0,0,0,116,0,117,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,117,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,117,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,87,0,0,0,116,0,117,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,118,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,118,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,119,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,119,0,113,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,69,0,0,0,116,0,121,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,116,0,121,0,118,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,116,0,122,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,65,0,0,0,117,0,98,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,100,0,109,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,85,0,0,0,117,0,108,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,77,0,0,0,117,0,109,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,79,0,0,0,117,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,81,0,0,0,117,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,86,0,0,0,117,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,80,0,0,0,117,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,71,0,83,0,0,0,117,0,110,0,100,0,95,0,76,0,97,0,116,0,110,0,95,0,72,0,77,0,0,0,117,0,110,0,114,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,117,0,110,0,114,0,95,0,78,0,97,0,103,0,109,0,95,0,73,0,78,0,0,0,117,0,110,0,120,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,117,0,111,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,114,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,114,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,114,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,115,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,116,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,116,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,118,0,104,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,117,0,118,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,118,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,118,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,118,0,101,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,84,0,0,0,118,0,101,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,85,0,0,0,118,0,105,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,88,0,0,0,118,0,105,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,118,0,108,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,69,0,0,0,118,0,109,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,68,0,69,0,0,0,118,0,109,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,118,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,118,0,111,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,85,0,0,0,118,0,114,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,69,0,69,0,0,0,118,0,117,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,90,0,0,0,118,0,117,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,97,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,72,0,0,0,119,0,97,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,97,0,108,0,95,0,69,0,116,0,104,0,105,0,95,0,69,0,84,0,0,0,119,0,97,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,97,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,72,0,0,0,119,0,98,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,85,0,0,0,119,0,98,0,113,0,95,0,84,0,101,0,108,0,117,0,95,0,73,0,78,0,0,0,119,0,98,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,119,0,99,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,101,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,103,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,104,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,105,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,105,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,105,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,106,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,106,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,108,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,87,0,70,0,0,0,119,0,109,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,110,0,99,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,110,0,105,0,95,0,65,0,114,0,97,0,98,0,95,0,75,0,77,0,0,0,119,0,110,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,111,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,111,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,114,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,115,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,116,0,109,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,119,0,117,0,117,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,119,0,117,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,119,0,119,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,97,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,82,0,0,0,120,0,98,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,101,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,108,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,109,0,102,0,95,0,71,0,101,0,111,0,114,0,95,0,71,0,69,0,0,0,120,0,109,0,114,0,95,0,77,0,101,0,114,0,111,0,95,0,83,0,68,0,0,0,120,0,110,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,120,0,111,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,71,0,0,0,120,0,111,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,114,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,115,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,115,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,120,0,115,0,114,0,95,0,68,0,101,0,118,0,97,0,95,0,78,0,80,0,0,0,120,0,119,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,97,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,97,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,90,0,0,0,121,0,97,0,112,0,95,0,76,0,97,0,116,0,110,0,95,0,70,0,77,0,0,0,121,0,97,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,97,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,97,0,118,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,121,0,97,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,98,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,98,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,77,0,0,0,121,0,98,0,121,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,101,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,103,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,103,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,105,0,95,0,72,0,101,0,98,0,114,0,95,0,48,0,48,0,49,0,0,0,121,0,107,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,108,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,108,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,108,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,109,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,111,0,110,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,114,0,98,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,114,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,114,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,82,0,0,0,121,0,115,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,117,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,88,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,116,0,95,0,67,0,65,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,116,0,95,0,72,0,75,0,0,0,121,0,117,0,106,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,117,0,116,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,121,0,117,0,119,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,122,0,97,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,68,0,0,0,122,0,100,0,106,0,95,0,65,0,114,0,97,0,98,0,95,0,75,0,77,0,0,0,122,0,101,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,78,0,76,0,0,0,122,0,105,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,122,0,108,0,109,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,71,0,0,0,122,0,109,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,89,0,0,0,122,0,110,0,101,0,95,0,76,0,97,0,116,0,110,0,95,0,90,0,90,0,0,0,122,0,122,0,97,0,95,0,76,0,97,0,116,0,110,0,95,0,84,0,82,0,0,0,111,0,117,0,105,0,95,0,79,0,117,0,103,0,114,0,95,0,49,0,52,0,51,0,0,0,106,0,98,0,111,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,112,0,114,0,103,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,116,0,111,0,107,0,95,0,76,0,97,0,116,0,110,0,95,0,48,0,48,0,49,0,0,0,91,7,141,7,32,0,36,0,40,0,248,32,44,0,48,0,52,0,56,0,60,0,64,0,68,0,72,0,76,0,80,0,84,0,88,0,92,0,96,0,67,33,100,0,104,0,219,14,108,0,112,0,116,0,121,28,120,0,124,0,128,0,132,0,136,0,140,0,144,0,106,12,148,0,152,0,77,25,156,0,160,0,23,34,164,0,168,0,250,24,172,0,79,33,176,0,180,0,184,0,188,0,192,0,196,0,200,0,204,0,208,0,212,0,216,0,220,0,224,0,83,33,196,27,228,0,237,0,246,0,250,0,254,0,2,1,6,1,10,1,14,1,35,34,18,1,22,1,26,1,30,1,34,1,38,1,42,1,46,1,50,1,43,34,54,1,58,1,128,31,62,1,66,1,70,1,74,1,78,1,47,34,82,1,51,34,86,1,94,1,100,1,106,1,55,34,112,1,116,1,120,1,124,1,128,1,132,1,136,1,140,1,144,1,148,1,152,1,156,1,160,1,164,1,168,1,172,1,176,1,180,1,184,1,188,1,192,1,196,1,200,1,251,14,204,1,208,1,212,1,216,1,220,1,224,1,228,1,232,1,236,1,240,1,244,1,248,1,126,16,252,1,0,2,4,2,8,2,12,2,16,2,20,2,24,2,28,2,195,33,32,2,36,2,40,2,44,2,48,2,52,2,56,2,60,2,64,2,68,2,72,2,76,2,80,2,84,2,88,2,92,2,96,2,100,2,104,2,108,2,112,2,116,2,120,2,181,7,124,2,128,2,132,2,136,2,140,2,143,2,147,2,151,2,130,16,155,2,159,2,163,2,167,2,171,2,175,2,179,2,183,2,95,33,187,2,191,2,195,2,199,2,203,2,206,2,210,2,214,2,218,2,222,2,226,2,230,2,234,2,238,2,242,2,246,2,250,2,254,2,2,3,6,3,10,3,14,3,18,3,22,3,26,3,30,3,34,3,38,3,42,3,46,3,50,3,54,3,58,3,62,3,66,3,70,3,126,12,74,3,78,3,82,3,86,3,90,3,130,12,94,3,98,3,102,3,138,12,106,3,110,3,104,32,114,3,118,3,122,3,126,3,130,3,134,3,138,3,142,3,146,3,150,3,154,3,158,3,162,3,166,3,199,33,170,3,174,3,203,33,178,3,182,3,186,3,190,3,194,3,198,3,201,3,205,3,209,3,146,12,213,3,221,3,146,16,141,25,224,3,228,3,232,3,236,3,240,3,244,3,248,3,252,3,0,4,4,4,8,4,254,10,12,4,16,4,20,4,24,4,28,4,32,4,36,4,40,4,44,4,48,4,52,4,56,4,60,4,64,4,68,4,72,4,76,4,80,4,84,4,88,4,92,4,96,4,100,4,104,4,108,4,112,4,116,4,120,4,124,4,127,4,131,4,135,4,139,4,97,0,143,4,147,4,26,11,151,4,155,4,159,4,163,4,167,4,120,14,171,4,175,4,34,11,179,4,187,4,191,4,174,16,195,4,207,33,199,4,203,4,178,16,207,4,211,4,215,4,219,4,46,11,223,4,227,4,231,4,50,11,235,4,239,4,243,4,247,4,251,4,255,4,2,5,10,5,14,5,182,16,18,5,22,5,26,5,30,5,33,5,37,5,62,11,41,5,45,5,49,5,53,5,57,5,170,12,61,5,65,5,69,5,73,5,77,5,81,5,85,5,89,5,93,5,97,5,101,5,105,5,109,5,113,5,253,7,207,17,117,5,121,5,125,5,129,5,133,5,191,28,137,5,141,5,145,5,149,5,153,5,157,5,161,5,165,5,169,5,170,30,173,5,177,5,181,5,185,5,189,5,193,5,197,5,201,5,205,5,209,5,213,5,217,5,221,5,225,5,229,5,233,5,237,5,182,12,241,5,245,5,249,5,128,14,253,5,1,6,5,6,9,6,13,6,17,6,21,6,25,6,29,6,33,6,37,6,41,6,45,6,54,6,58,6,62,6,208,16,66,6,70,6,74,6,78,6,82,6,86,6,90,6,94,6,97,6,101,6,105,6,109,6,113,6,117,6,121,6,13,8,125,6,131,6,116,29,137,6,135,21,183,4,141,6,145,6,149,6,190,12,153,6,159,25,157,6,165,6,169,6,173,6,177,6,181,6,185,6,189,6,193,6,197,6,201,6,205,6,209,6,213,6,217,6,105,32,221,6,39,15,225,6,220,16,229,6,233,6,33,8,176,28,237,6,241,6,154,6,41,8,29,35,245,6,249,6,253,6,1,7,5,7,9,7,13,7,104,15,142,30,17,7,21,7,25,7,228,16,29,7,33,7,202,12,37,7,232,16,41,7,45,7,49,7,53,7,57,7,210,12,160,30,240,16,61,7,65,7,17,14,27,5,119,33,110,11,69,7,73,7,77,7,81,7,127,33,85,7,89,7,93,7,97,7,101,7,105,7,109,7,113,7,131,33,117,7,121,7,125,7,129,7,133,7,135,3,137,7,21,14,140,7,144,7,148,7,152,7,156,7,160,7,164,7,168,7,172,7,176,7,180,7,184,7,188,7,192,7,196,7,200,7,204,7,208,7,212,7,216,7,220,7,224,7,228,7,232,7,236,7,240,7,244,7,248,7,252,7,230,12,0,8,4,8,8,8,12,8,16,8,20,8,24,8,28,8,32,8,36,8,40,8,114,11,44,8,48,8,52,8,109,8,56,8,60,8,64,8,68,8,42,7,72,8,78,8,86,8,92,8,98,8,104,8,108,8,248,16,112,8,116,8,120,8,124,8,97,2,128,8,132,8,136,8,140,8,144,8,148,8,234,5,152,8,156,8,79,34,160,8,164,8,168,8,172,8,176,8,180,8,184,8,188,8,192,8,196,8,200,8,204,8,208,8,212,8,252,16,216,8,220,8,224,8,228,8,232,8,236,8,132,15,240,8,244,8,248,8,252,8,0,9,4,9,8,9,12,9,16,9,20,9,105,2,24,9,32,9,38,9,46,9,50,9,54,9,58,9,62,9,66,9,70,9,74,9,138,13,78,9,82,9,86,9,126,11,90,9,94,9,98,9,102,9,106,9,110,9,114,9,118,9,122,9,126,9,130,9,134,9,168,4,138,9,146,9,152,9,160,9,166,9,170,9,174,9,178,9,182,9,186,9,211,33,190,9,194,9,217,3,198,9,202,9,206,9,210,9,213,9,217,9,221,9,225,9,229,9,233,9,237,9,241,9,245,9,249,9,253,9,1,10,5,10,87,34,9,10,211,17,13,10,17,10,21,10,25,10,34,10,38,10,42,10,46,10,50,10,54,10,58,10,62,10,66,10,70,10,74,10,78,10,82,10,71,10,86,10,90,10,215,30,94,10,98,10,102,10,106,10,110,10,114,10,118,10,31,28,122,10,190,6,126,10,130,10,134,10,138,10,142,10,145,10,149,10,153,10,157,10,161,10,165,10,169,10,173,10,177,10,181,10,188,10,197,10,201,10,205,10,209,10,213,10,217,10,221,10,225,10,229,10,233,10,237,10,241,10,245,10,249,10,253,10,1,11,5,11,9,11,13,11,17,11,21,11,25,11,29,11,33,11,37,11,41,11,45,11,49,11,53,11,57,11,61,11,65,11,241,12,69,11,73,11,77,11,81,11,85,11,19,17,89,11,93,11,41,35,97,11,101,11,105,11,109,11,129,2,113,11,117,11,121,11,125,11,95,34,129,11,133,11,137,11,141,11,145,11,149,11,227,33,153,11,159,11,167,11,171,11,175,11,179,11,139,33,183,11,187,11,191,11,195,11,199,11,203,11,207,11,211,11,215,11,219,11,40,28,223,11,227,11,231,11,175,15,235,11,167,14,241,11,245,11,249,11,253,11,1,12,5,12,9,12,13,12,17,12,21,12,25,12,29,12,33,12,37,12,41,12,45,12,23,17,49,12,53,12,57,12,61,12,65,12,69,12,73,12,77,12,81,12,85,12,89,12,93,12,235,33,97,12,101,12,105,12,109,12,113,12,117,12,121,12,179,15,125,12,129,12,133,12,137,12,141,12,145,12,206,30,149,12,153,12,45,35,157,12,161,12,165,12,169,12,163,24,173,12,177,12,181,12,185,12,189,12,193,12,197,12,201,12,205,12,209,12,213,12,217,12,221,12,225,12,229,12,233,12,237,12,240,12,244,12,41,14,248,12,252,12,0,13,4,13,8,13,218,6,12,13,16,13,20,13,24,13,28,13,32,13,239,33,36,13,40,13,44,13,48,13,52,13,56,13,60,13,64,13,68,13,72,13,76,13,80,13,84,13,88,13,91,13,95,13,99,13,199,15,103,13,107,13,111,13,222,6,115,13,121,13,95,10,125,13,129,13,133,13,137,13,61,19,163,11,141,13,145,13,149,13,107,10,153,13,157,13,159,33,161,13,165,13,169,13,173,13,177,13,53,14,181,13,189,13,195,13,199,13,203,13,212,13,216,13,220,13,224,13,228,13,232,13,236,13,240,13,244,13,120,32,248,13,252,13,0,14,4,14,8,14,12,14,16,14,20,14,24,14,173,22,28,14,32,14,36,14,40,14,44,14,48,14,52,14,56,14,60,14,64,14,68,14,72,14,231,15,76,14,163,21,80,14,84,14,88,14,92,14,95,14,99,14,225,20,103,14,107,14,111,14,115,14,119,14,123,14,127,14,131,14,135,14,139,14,143,14,150,14,154,14,108,29,158,14,162,14,166,14,170,14,7,16,174,14,178,14,55,33,182,14,186,14,12,28,190,14,194,14,221,23,198,14,202,14,214,32,206,14,210,14,214,14,3,34,218,14,222,14,226,14,230,14,234,14,238,14,242,14,246,14,250,14,254,14,2,15,5,15,9,15,13,15,17,15,75,17,21,15,29,15,35,15,43,15,51,15,55,15,23,1,59,15,63,15,67,15,71,15,167,33,75,15,79,15,83,15,87,15,91,15,95,15,99,15,175,28,7,34,103,15,107,15,111,15,115,15,119,15,171,33,123,15,127,15,131,15,135,15,138,15,142,15,146,15,150,15,11,34,236,28,154,15,158,15,162,15,166,15,170,15,174,15,45,13,178,15,182,15,186,15,190,15,194,15,198,15,49,13,202,15,206,15,210,15,214,15,218,15,222,15,226,15,230,15,211,2,15,34,234,15,240,15,246,15,252,15,2,16,6,16,10,16,14,16,111,34,18,16,22,16,26,16,33,20,30,16,34,16,1,27,38,16,42,16,46,16,50,16,54,16,58,16,91,17,61,16,65,16,69,16,73,16,77,16,81,16,85,16,89,16,93,16,97,16,166,13,101,16,227,24,105,16,109,16,113,16,117,16,121,16,125,16,129,16,133,16,137,16,141,16,145,16,149,16,153,16,157,16,161,16,99,17,165,16,169,16,173,16,177,16,181,16,123,10,185,16,193,16,199,16,203,16,207,16,222,32,211,16,215,16,219,16,162,29,223,16,227,16,231,16,235,16,239,16,243,16,31,16,247,16,251,16,255,16,3,17,6,17,10,17,14,17,18,17,22,17,157,9,26,17,246,31,30,17,34,17,38,17,42,17,46,17,50,17,54,17,58,17,226,32,62,17,66,17,70,17,111,17,74,17,78,17,82,17,86,17,90,17,115,17,94,17,98,17,102,17,106,17,110,17,114,17,118,17,122,17,126,17,130,17,134,17,138,17,142,17,146,17,150,17,154,17,158,17,105,4,162,17,166,17,170,17,174,17,178,17,182,17,203,14,186,17,194,17,200,17,206,17,47,16,210,17,214,17,205,30,218,17,226,17,234,17,242,17,250,17,2,18,10,18,18,18,26,18,34,18,42,18,50,18,58,18,66,18,74,18,82,18,90,18,98,18,106,18,114,18,122,18,130,18,138,18,146,18,154,18,162,18,170,18,178,18,186,18,194,18,202,18,209,18,216,18,223,18,230,18,237,18,244,18,251,18,2,19,9,19,16,19,23,19,30,19,37,19,46,19,55,19,64,19,73,19,85,19,97,19,109,19,121,19,133,19,145,19,157,19,169,19,181,19,193,19,205,19,217,19,229,19,241,19,253,19,9,20,18,20,27,20,36,20,43,20,50,20,57,20,64,20,71,20,78,20,85,20,92,20,99,20,106,20,113,20,120,20,127,20,134,20,141,20,148,20,157,20,166,20,175,20,184,20,193,20,202,20,211,20,220,20,229,20,238,20,247,20,254,20,5,21,12,21,19,21,26,21,33,21,40,21,47,21,54,21,61,21,68,21,75,21,82,21,89,21,96,21,103,21,112,21,121,21,130,21,139,21,148,21,157,21,166,21,175,21,187,21,196,21,205,21,217,21,229,21,241,21,253,21,9,22,21,22,33,22,45,22,57,22,64,22,71,22,78,22,85,22,92,22,101,22,113,22,125,22,137,22,149,22,158,22,167,22,176,22,183,22,190,22,197,22,204,22,211,22,218,22,225,22,232,22,239,22,246,22,255,22,8,23,17,23,26,23,33,23,40,23,47,23,54,23,61,23,68,23,75,23,82,23,89,23,96,23,103,23,110,23,117,23,124,23,131,23,140,23,149,23,158,23,167,23,176,23,185,23,194,23,206,23,215,23,224,23,231,23,238,23,245,23,252,23,3,24,10,24,19,24,28,24,37,24,46,24,55,24,64,24,76,24,85,24,97,24,109,24,121,24,130,24,139,24,148,24,157,24,166,24,173,24,180,24,187,24,194,24,201,24,208,24,215,24,222,24,231,24,238,24,245,24,254,24,7,25,16,25,23,25,30,25,37,25,44,25,51,25,58,25,65,25,72,25,81,25,90,25,99,25,108,25,117,25,126,25,135,25,144,25,153,25,162,25,169,25,176,25,183,25,190,25,197,25,204,25,211,25,218,25,225,25,234,25,243,25,255,25,11,26,23,26,35,26,47,26,59,26,71,26,83,26,95,26,107,26,119,26,131,26,143,26,155,26,167,26,179,26,191,26,203,26,215,26,224,26,233,26,242,26,251,26,4,27,13,27,22,27,29,27,36,27,43,27,50,27,57,27,64,27,71,27,78,27,85,27,92,27,99,27,106,27,113,27,120,27,127,27,134,27,141,27,148,27,155,27,164,27,173,27,182,27,191,27,200,27,209,27,218,27,227,27,236,27,245,27,254,27,7,28,16,28,25,28,34,28,43,28,55,28,67,28,74,28,81,28,88,28,95,28,102,28,109,28,116,28,125,28,134,28,143,28,152,28,161,28,170,28,179,28,186,28,195,28,204,28,213,28,222,28,231,28,240,28,249,28,0,29,7,29,14,29,21,29,28,29,35,29,42,29,49,29,56,29,63,29,70,29,77,29,84,29,93,29,102,29,111,29,120,29,129,29,138,29,147,29,156,29,165,29,172,29,179,29,186,29,193,29,200,29,207,29,214,29,223,29,232,29,241,29,248,29,255,29,6,30,13,30,20,30,27,30,34,30,41,30,48,30,55,30,62,30,69,30,76,30,83,30,92,30,101,30,110,30,119,30,128,30,137,30,146,30,155,30,164,30,173,30,182,30,191,30,200,30,209,30,218,30,227,30,234,30,241,30,248,30,255,30,6,31,13,31,20,31,27,31,34,31,41,31,48,31,55,31,62,31,69,31,78,31,87,31,96,31,105,31,114,31,123,31,132,31,141,31,150,31,159,31,168,31,177,31,189,31,201,31,213,31,222,31,231,31,240,31,249,31,0,32,7,32,14,32,21,32,30,32,37,32,44,32,51,32,58,32,67,32,76,32,83,32,90,32,99,32,108,32,115,32,124,32,133,32,140,32,147,32,156,32,165,32,172,32,237,29,181,32,190,32,197,32,201,32,51,16,205,32,209,32,213,32,217,32,221,32,225,32,229,32,233,32,139,10,237,32,243,32,251,32,1,33,5,33,9,33,13,33,16,33,20,33,24,33,27,33,31,33,35,33,39,33,43,33,47,33,50,33,54,33,58,33,62,33,187,33,66,33,70,33,74,33,78,33,82,33,86,33,90,33,94,33,98,33,102,33,106,33,110,33,114,33,118,33,122,33,126,33,130,33,134,33,138,33,142,33,146,33,150,33,211,14,154,33,158,33,162,33,166,33,170,33,174,33,178,33,182,33,186,33,190,33,194,33,198,33,202,33,206,33,27,3,210,33,214,33,218,33,222,33,226,33,230,33,234,33,238,33,242,33,246,33,250,33,254,33,2,34,6,34,10,34,14,34,18,34,22,34,26,34,30,34,34,34,38,34,42,34,46,34,50,34,54,34,58,34,62,34,66,34,70,34,74,34,122,6,78,34,82,34,86,34,90,34,94,34,197,30,98,34,102,34,106,34,190,17,110,34,114,34,118,34,122,34,129,34,138,34,142,34,146,34,52,35,150,34,154,34,158,34,162,34,150,10,166,34,172,34,178,34,186,34,192,34,198,34,204,34,212,34,220,34,226,34,232,34,238,34,244,34,250,34,0,35,6,35,12,35,18,35,24,35,28,35,32,35,36,35,40,35,44,35,48,35,51,35,41,5,124,21,136,21,148,21,53,1,160,21,172,21,184,21,196,21,208,21,220,21,232,21,244,21,0,22,12,22,24,22,36,22,48,22,60,22,64,1,72,22,84,22,63,5,96,22,108,22,120,22,132,22,144,22,156,22,168,22,180,22,8,17,192,22,204,22,75,1,20,17,216,22,228,22,240,22,252,22,45,0,8,23,20,23,32,23,44,23,74,5,56,23,68,23,80,23,92,23,104,23,116,23,128,23,140,23,32,17,152,23,164,23,176,23,188,23,23,0,44,17,56,17,68,17,212,23,224,23,236,23,248,23,4,24,16,24,28,24,38,6,40,24,80,17,52,24,64,24,76,24,88,24,100,24,112,24,124,24,49,6,136,24,148,24,160,24,172,24,184,24,196,24,208,24,220,24,60,6,232,24,108,1,97,1,71,6,97,1,93,6,104,6,244,24,12,25,24,25,36,25,48,25,60,25,92,17,72,25,84,25,108,25,120,25,132,25,144,25,156,25,168,25,180,25,192,25,204,25,216,25,228,25,240,25,252,25,8,26,119,1,20,26,32,26,44,26,56,26,68,26,80,26,92,26,104,26,116,26,128,26,140,26,152,26,130,1,164,26,176,26,104,17,188,26,200,26,240,16,212,26,224,26,4,27,141,1,16,27,28,27,40,27,52,27,64,27,76,27,88,27,100,27,112,27,124,27,136,27,148,27,160,27,172,27,184,27,196,27,208,27,220,27,244,27,0,28,12,28,24,28,116,17,152,1,36,28,48,28,60,28,72,28,56,0,84,28,96,28,108,28,163,1,120,28,132,28,144,28,156,28,168,28,180,28,192,28,204,28,137,6,216,28,228,28,240,28,252,28,174,1,8,29,128,17,20,29,32,29,44,29,56,29,140,17,68,29,80,29,92,29,116,29,128,29,140,29,152,29,164,29,176,29,188,29,200,29,212,29,224,29,236,29,248,29,4,30,16,30,28,30,40,30,52,30,64,30,76,30,88,30,100,30,159,6,112,30,124,30,136,30,148,30,152,17,170,6,160,30,172,30,184,30,181,6,196,30,208,30,220,30,232,30,164,17,244,30,176,17,188,17,0,31,12,31,24,31,36,31,48,31,60,31,72,31,84,31,200,17,192,6,212,17,108,31,203,6,120,31,132,31,144,31,156,31,168,31,185,1,180,31,192,31,224,17,214,6,196,1,225,6,236,6,207,1,204,31,216,31,228,31,240,31,252,31,8,32,20,32,32,32,44,32,56,32,68,32,67,0,80,32,92,32,104,32,116,32,128,32,140,32,152,32,164,32,176,32,188,32,236,17,200,32,212,32,224,32,4,33,16,33,28,33,40,33,52,33,64,33,76,33,88,33,100,33,112,33,124,33,136,33,148,33,160,33,78,0,172,33,184,33,196,33,208,33,218,1,220,33,232,33,46,7,244,33,0,34,248,17,12,34,4,18,89,0,24,34,36,34,1,0,240,1,48,34,60,34,72,34,84,34,6,2,16,18,108,34,28,2,120,34,28,18,132,34,144,34,98,8,156,34,168,34,180,34,39,2,192,34,204,34,216,34,228,34,240,34,131,8,50,2,252,34,8,35,61,2,20,35,40,18,44,35,142,8,56,35,68,35,72,2,80,35,92,35,104,35,116,35,128,35,83,2,140,35,152,35,164,35,176,35,188,35,200,35,212,35,224,35,236,35,248,35,4,36,16,36,28,36,40,36,15,10,26,10,52,36,64,36,76,36,88,36,100,36,112,36,124,36,136,36,148,36,160,36,172,36,184,36,196,36,208,36,220,36,37,10,232,36,244,36,0,37,12,37,24,37,36,37,48,37,60,37,72,37,84,37,96,37,108,37,120,37,132,37,144,37,156,37,168,37,48,10,180,37,192,37,204,37,94,2,216,37,228,37,240,37,252,37,8,38,20,38,32,38,44,38,56,38,52,18,68,38,64,18,76,18,80,38,92,38,104,38,105,2,116,38,128,38,140,38,152,38,164,38,176,38,188,38,59,10,200,38,212,38,224,38,236,38,248,38,4,39,16,39,114,10,70,10,92,10,28,39,40,39,52,39,64,39,76,39,88,39,100,39,111,0,112,39,241,16,125,10,124,39,148,39,160,39,172,39,184,39,196,39,88,18,100,18,208,39,220,39,232,39,112,18,12,40,24,40,147,10,36,40,60,40,72,40,116,2,84,40,96,40,127,2,138,2,108,40,120,40,122,0,169,10,132,40,144,40,156,40,168,40,180,40,192,40,204,40,216,40,133,0,228,40,240,40,252,40,8,41,180,10,20,41,32,41,149,2,44,41,191,10,56,41,68,41,80,41,92,41,104,41,101,21,116,41,128,41,140,41,152,41,160,2,144,0,171,2,224,10,164,41,176,41,188,41,200,41,155,0,212,41,224,41,236,41,105,74,248,41,4,42,16,42,28,42,1,11,40,42,52,42,64,42,76,42,88,42,23,11,34,11,166,0,100,42,112,42,124,18,124,42,136,42,148,42,160,42,172,42,136,18,184,42,208,42,220,42,232,42,244,42,0,43,12,43,24,43,36,43,48,43,60,43,72,43,84,43,120,43,132,43,144,43,156,43,168,43,180,43,192,43,45,11,204,43,216,43,228,43,240,43,148,18,252,43,8,44,20,44,160,18,32,44,44,44,56,11,56,44,68,44,80,44,67,11,92,44,104,44,116,44,128,44,100,11,78,11,182,2,182,2,89,11,193,2,140,44,152,44,204,2,164,44,176,44,188,44,200,44,177,0,212,44,224,44,236,44,248,44,4,45,16,45,215,2,28,45,40,45,188,0,52,45,64,45,76,45,88,45,100,45,112,45,124,45,136,45,148,45,160,45,172,45,184,45,196,45,208,45,113,21,220,45,232,45,244,45,172,18,0,46,12,46,144,11,24,46,36,46,48,46,60,46,72,46,84,46,96,46,108,46,120,46,132,46,199,11,155,11,166,11,226,2,144,46,156,46,168,46,180,46,192,46,204,46,216,46,228,46,210,11,240,46,252,46,8,47,232,11,20,47,32,47,44,47,56,47,68,47,80,47,92,47,104,47,116,47,128,47,140,47,152,47,248,2,237,2,237,2,3,3,3,3,164,47,176,47,188,47,200,47,212,47,224,47,243,11,184,18,236,47,248,47,4,48,16,48,28,48,254,11,40,48,52,48,64,48,76,48,196,18,88,48,100,48,112,48,124,48,208,18,136,48,148,48,160,48,9,12,172,48,20,12,184,48,196,48,208,48,220,18,220,48,232,48,244,48,0,49,232,18,12,49,24,49,36,49,48,49,60,49,72,49,84,49,96,49,31,12,108,49,120,49,199,0,132,49,144,49,156,49,168,49,180,49,192,49,204,49,14,3,216,49,42,12,228,49,240,49,252,49,8,50,25,3,20,50,228,16,44,50,56,50,68,50,80,50,92,50,116,50,140,50,252,16,252,16,152,50,164,50,176,50,188,50,200,50,212,50,224,50,236,50,248,50,4,51,16,51,28,51,40,51,52,51,64,51,76,51,88,51,100,51,112,51,124,51,136,51,148,51,160,51,172,51,196,51,208,51,220,51,244,18,0,19,232,51,244,51,0,52,36,3,12,52,24,52,36,52,48,52,60,52,53,12,72,52,84,52,64,12,96,52,108,52,100,21,120,52,47,3,132,52,144,52,156,52,168,52,58,3,180,52,192,52,204,52,216,52,228,52,240,52,69,3,210,0,210,0,252,52,8,53,20,53,44,53,97,12,68,53,80,53,92,53,104,53,116,53,128,53,140,53,152,53,164,53,176,53,108,12,188,53,200,53,12,19,91,3,80,3,102,3,212,53,224,53,236,53,248,53,4,54,16,54,28,54,40,54,52,54,64,54,76,54,88,54,100,54,112,54,124,54,136,54,221,0,148,54,160,54,172,54,184,54,196,54,24,19,208,54,220,54,232,54,244,54,0,55,12,55,152,12,24,55,36,55,48,55,60,55,72,55,84,55,96,55,113,3,108,55,120,55,132,55,144,55,156,55,168,55,174,12,180,55,192,55,124,3,204,55,216,55,240,55,252,55,196,12,8,56,20,56,32,56,44,56,56,56,68,56,80,56,92,56,104,56,116,56,128,56,140,56,152,56,164,56,176,56,188,56,135,3,200,56,212,56,240,12,224,56,236,56,248,56,4,57,36,19,251,12,48,19,16,57,60,19,28,57,40,57,52,57,6,13,64,57,76,57,88,57,100,57,112,57,72,19,124,57,136,57,148,57,160,57,172,57,184,57,196,57,17,13,208,57,220,57,232,57,28,13,244,57,0,58,12,58,50,13,39,13,24,58,61,13,36,58,48,58,112,21,60,58,72,13,72,58,84,58,96,58,108,58,146,3,120,58,132,58,83,13,84,19,144,58,96,19,92,74,156,58,168,3,157,3,157,3,168,58,108,19,120,19,180,58,192,58,132,19,228,58,240,58,252,58,8,59,20,59,32,59,144,19,44,59,56,59,68,59,156,19,80,59,92,59,104,59,168,19,116,59,179,3,128,59,140,59,152,59,164,59,176,59,188,59,200,59,212,59,224,59,180,19,236,59,118,74,105,13,248,59,232,0,4,60,16,60,28,60,204,13,40,60,52,60,64,60,76,60,88,60,100,60,112,60,136,60,148,60,160,60,192,19,184,60,208,60,196,60,220,60,232,60,215,13,244,60,0,61,12,61,24,61,190,3,36,61,48,61,201,3,60,61,72,61,84,61,96,61,108,61,12,0,120,61,132,61,212,3,144,61,156,61,168,61,3,14,180,61,192,61,204,61,216,61,204,19,228,61,216,19,240,61,252,61,8,62,58,14,20,62,32,62,44,62,56,62,69,14,223,3,223,3,234,3,245,3,68,62,80,62,80,14,92,62,104,62,116,62,128,62,91,14,228,19,140,62,152,62,164,62,176,62,188,62,200,62,212,62,243,0,224,62,236,62,248,62,4,63,16,63,0,4,28,63,40,63,64,63,11,4,76,63,88,63,100,63,112,63,254,0,124,63,136,63,148,63,160,63,240,19,172,63,184,63,22,4,196,63,208,63,220,63,232,63,244,63,0,64,33,4,252,19,24,64,36,64,48,64,60,64,72,64,84,64,96,64,44,4,55,4,66,4,190,14,201,14,212,14,8,20,108,64,120,64,132,64,223,14,144,64,156,64,168,64,245,14,180,64,192,64,0,15,204,64,216,64,228,64,240,64,252,64,77,4,9,1,20,20,8,65,20,65,32,65,44,65,56,65,68,65,80,65,32,20,104,65,99,4,116,65,128,65,140,65,152,65,164,65,176,65,188,65,200,65,212,65,224,65,248,65,4,66,16,66,44,20,28,66,40,66,52,66,110,4,64,66,76,66,88,66,100,66,112,66,132,4,121,4,121,4,124,66,136,66,148,66,20,1,160,66,172,66,184,66,66,15,196,66,208,66,220,66,232,66,244,66,0,67,143,4,56,20,12,67,24,67,99,15,36,67,48,67,60,67,72,67,84,67,110,15,96,67,154,4,108,67,120,67,131,74,132,67,68,20,144,67,156,67,168,67,165,4,180,67,80,20,192,67,132,15,204,67,216,67,228,67,240,67,252,67,143,15,8,68,20,68,32,68,44,68,56,68,68,68,80,68,92,68,104,68,116,68,128,68,92,20,140,68,152,68,164,68,104,20,116,20,154,15,176,68,188,68,200,68,212,68,128,20,224,68,176,4,187,4,187,4,165,15,140,20,198,4,236,68,248,68,1,0,100,0,1,0,232,0,229,1,100,0,17,2,9,1,23,0,88,4,134,7,1,0,1,0,251,1,229,16,241,16,133,0,144,0,229,1,123,7,101,7,254,0,229,16,42,1,86,1,12,0,12,0,90,7,67,0,100,0,96,34,148,6,85,5,109,8,44,4,122,0,116,13,4,69,145,7,102,14,247,6,207,12,22,15,108,1,50,2,128,20,8,17,23,0,80,3,176,4,198,15,130,12,209,15,176,17,172,60,193,2,220,15,81,10,31,1,32,17,244,18,120,8,82,6,20,20,44,17,122,0,64,1,174,1,56,0,218,12,175,8,130,1,96,5,190,3,186,8,197,8,141,12,156,7,204,58,232,0,218,1,16,69,119,1,0,25,92,17,128,17,96,25,56,0,248,13,242,4,168,19,153,8,104,29,232,27,88,4,208,8,219,8,2,7,230,8,167,7,241,8,229,16,178,7,28,69,189,7,251,1,127,13,216,58,57,7,185,1,152,17,171,2,212,20,188,17,164,17,200,20,212,17,152,20,152,20,64,18,12,0,75,12,168,14,53,1,86,12,176,15,115,6,187,15,196,42,179,14,67,0,30,5,207,1,200,7,107,5,241,16,185,12,136,39,236,26,140,17,35,7,236,32,164,8,211,7,222,7,28,2,23,0,118,5,55,15,6,2,45,0,112,7,13,7,248,17,124,14,200,23,45,0,61,2,72,2,83,2,7,9,166,0,18,9,75,1,204,2,29,9,40,9,233,7,89,0,40,69,244,7,138,13,166,0,196,1,188,20,16,18,52,18,14,14,89,0,104,17,105,2,168,3,8,5,52,69,255,7,116,2,127,2,138,2,253,4,111,11,74,16,0,40,229,16,34,0,192,73,111,0,30,16,41,16,52,16,235,10,88,18,244,39,112,18,158,10,10,8,133,0,111,0,241,16,129,5,39,2,160,2,144,0,28,18,140,5,155,0,122,11,12,11,155,0,33,15,248,2,177,0,151,5,133,11,188,0,162,5,237,13,4,18,246,10,136,18,180,19,177,0,234,3,88,21,215,2,188,0,248,26,199,0,173,5,24,7,243,0,234,14,14,3,62,9,25,3,184,5,48,19,199,0,77,15,177,11,231,4,121,15,252,8,79,7,188,11,88,15,51,9,73,9,135,14,124,18,149,13,117,9,172,18,194,9,238,9,80,20,94,13,208,18,220,18,184,18,76,18,232,18,224,20,236,20,195,5,84,9,226,13,66,4,95,9,36,3,47,3,152,1,221,0,69,3,19,5,106,9,206,5,102,3,0,19,78,0,17,2,91,3,160,13,136,10,128,50,24,19,248,20,126,6,236,17,184,51,4,21,28,72,58,3,119,12,210,0,12,19,32,53,52,63,221,0,160,18,56,53,52,5,128,9,103,10,21,8,135,3,113,3,124,3,76,69,25,14,16,21,56,17,228,55,252,16,76,21,217,5,228,19,204,19,96,19,146,3,84,19,113,14,92,74,32,8,43,8,139,9,68,20,40,18,31,1,179,3,150,9,54,8,228,5,171,13,132,19,94,2,68,17,224,17,221,11,32,50,108,19,120,19,156,19,100,18,28,21,239,5,68,7,161,9,201,3,55,4,12,0,212,3,124,60,192,19,60,19,86,1,172,9,250,5,77,4,11,4,163,12,0,4,202,10,183,9,33,4,229,12,182,13,65,8,5,6,240,19,40,21,216,19,80,17,240,1,36,14,47,14,245,3,243,0,252,19,12,64,8,20,200,17,11,15,92,65,32,20,205,9,216,9,227,9,20,1,132,4,56,20,193,13,143,4,16,6,154,4,165,4,92,20,34,0,9,1,236,65,248,32,44,20,148,18,99,4,104,20,116,17,110,4,64,21,32,35,78,0,20,1,196,18,96,43,108,43,163,1,104,50,72,19,116,20,198,4,44,15,76,8,42,1,140,20,213,10,87,8,220,4,141,1,176,20,157,14,249,9,254,0,48,40,36,19,146,14,144,19,20,17,27,6,4,10,226,2,149,2,22,4,96,31,64,69,164,20,164,20,88,69,100,69,31,1,112,69,124,69,136,69,148,69,160,69,172,69,184,69,196,69,42,1,209,4,209,4,231,15,208,69,176,20,220,69,242,15,232,69,244,69,220,4,0,70,12,70,24,70,36,70,48,70,60,70,72,70,84,70,96,70,108,70,253,15,120,70,132,70,144,70,156,70,168,70,180,70,192,70,204,70,216,70,228,70,240,70,252,70,8,71,20,71,32,71,44,71,56,71,68,71,80,71,92,71,104,71,116,71,8,16,128,71,140,71,152,71,188,20,164,71,176,71,188,71,200,71,212,71,224,71,236,71,200,20,212,20,248,71,19,16,4,72,224,20,236,20,16,72,248,20,4,21,16,21,40,72,52,72,64,72,28,21,76,72,40,21,88,72,100,72,112,72,124,72,136,72,148,72,160,72,172,72,184,72,196,72,208,72,220,72,232,72,244,72,0,73,12,73,24,73,36,73,48,73,60,73,72,73,84,73,96,73,108,73,63,16,120,73,132,73,144,73,156,73,168,73,180,73,204,73,52,21,52,21,216,73,228,73,240,73,231,4,252,73,8,74,20,74,64,21,229,16,85,16,96,16,242,4,107,16,118,16,8,5,253,4,34,0,129,16,19,5,140,16,151,16,162,16,173,16,184,16,34,0,195,16,206,16,76,21,32,74,88,21,44,74,56,74,68,74,217,16,80,74,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,248,41,0,32,7,0,0,0,38,9,0,0,255,41,0,0,255,41,0,0,164,1,0,0,1,0,0,0,31,34,0,0,109,97,112,84,105,109,101,122,111,110,101,115,0,65,99,114,101,0,48,48,49,0,65,102,103,104,97,110,105,115,116,97,110,0,65,102,114,105,99,97,95,67,101,110,116,114,97,108,0,66,73,0,66,87,0,67,68,0,77,87,0,82,87,0,90,77,0,90,87,0,65,102,114,105,99,97,95,69,97,115,116,101,114,110,0,68,74,0,69,82,0,69,84,0,75,77,0,77,71,0,83,79,0,84,90,0,85,71,0,89,84,0,65,102,114,105,99,97,95,70,97,114,87,101,115,116,101,114,110,0,65,102,114,105,99,97,95,83,111,117,116,104,101,114,110,0,76,83,0,83,90,0,65,102,114,105,99,97,95,87,101,115,116,101,114,110,0,65,79,0,66,74,0,67,70,0,67,71,0,67,77,0,71,65,0,71,81,0,78,69,0,84,68,0,65,107,116,121,117,98,105,110,115,107,0,65,108,97,115,107,97,0,65,108,97,115,107,97,95,72,97,119,97,105,105,0,65,109,97,122,111,110,0,65,109,101,114,105,99,97,95,67,101,110,116,114,97,108,0,66,90,0,67,65,0,67,82,0,71,84,0,72,78,0,77,88,0,83,86,0,65,109,101,114,105,99,97,95,69,97,115,116,101,114,110,0,66,83,0,72,84,0,74,77,0,75,89,0,80,65,0,65,109,101,114,105,99,97,95,77,111,117,110,116,97,105,110,0,65,109,101,114,105,99,97,95,80,97,99,105,102,105,99,0,65,114,97,98,105,97,110,0,66,72,0,73,81,0,75,87,0,81,65,0,89,69,0,65,114,103,101,110,116,105,110,97,0,65,114,103,101,110,116,105,110,97,95,87,101,115,116,101,114,110,0,65,114,109,101,110,105,97,0,65,115,104,107,104,97,98,97,100,0,65,116,108,97,110,116,105,99,0,65,71,0,65,73,0,65,87,0,66,66,0,66,77,0,66,81,0,67,87,0,68,77,0,71,68,0,71,76,0,71,80,0,75,78,0,76,67,0,77,70,0,77,81,0,77,83,0,80,82,0,83,88,0,84,84,0,86,67,0,86,71,0,86,73,0,65,117,115,116,114,97,108,105,97,95,67,101,110,116,114,97,108,0,65,117,115,116,114,97,108,105,97,95,67,101,110,116,114,97,108,87,101,115,116,101,114,110,0,65,117,115,116,114,97,108,105,97,95,69,97,115,116,101,114,110,0,65,117,115,116,114,97,108,105,97,95,87,101,115,116,101,114,110,0,65,122,101,114,98,97,105,106,97,110,0,66,97,110,103,108,97,100,101,115,104,0,66,101,114,105,110,103,0,66,104,117,116,97,110,0,66,111,108,105,118,105,97,0,66,111,114,110,101,111,0,66,114,97,115,105,108,105,97,0,66,114,105,116,105,115,104,0,67,104,97,109,111,114,114,111,0,71,85,0,67,104,105,108,101,0,67,104,105,110,97,0,67,111,108,111,109,98,105,97,0,67,111,111,107,0,67,117,98,97,0,68,97,99,99,97,0,68,111,109,105,110,105,99,97,110,0,68,117,116,99,104,95,71,117,105,97,110,97,0,69,97,115,116,95,84,105,109,111,114,0,69,99,117,97,100,111,114,0,69,117,114,111,112,101,95,67,101,110,116,114,97,108,0,65,68,0,65,76,0,65,84,0,66,65,0,66,69,0,67,72,0,67,90,0,68,69,0,68,75,0,69,83,0,71,73,0,72,82,0,72,85,0,73,84,0,76,73,0,76,85,0,77,67,0,77,69,0,77,75,0,78,76,0,78,79,0,80,76,0,82,83,0,83,69,0,83,73,0,83,74,0,83,75,0,83,77,0,84,78,0,86,65,0,88,75,0,69,117,114,111,112,101,95,69,97,115,116,101,114,110,0,65,88,0,66,71,0,67,89,0,69,71,0,70,73,0,71,82,0,76,66,0,69,117,114,111,112,101,95,70,117,114,116,104,101,114,95,69,97,115,116,101,114,110,0,82,85,0,69,117,114,111,112,101,95,87,101,115,116,101,114,110,0,70,79,0,70,97,108,107,108,97,110,100,0,70,114,101,110,99,104,95,71,117,105,97,110,97,0,70,114,101,110,99,104,95,83,111,117,116,104,101,114,110,0,70,114,117,110,122,101,0,66,70,0,67,73,0,71,66,0,71,72,0,71,77,0,71,78,0,73,69,0,77,76,0,77,82,0,83,72,0,83,76,0,83,78,0,84,71,0,71,105,108,98,101,114,116,95,73,115,108,97,110,100,115,0,71,114,101,101,110,108,97,110,100,0,71,114,101,101,110,108,97,110,100,95,67,101,110,116,114,97,108,0,71,114,101,101,110,108,97,110,100,95,69,97,115,116,101,114,110,0,71,114,101,101,110,108,97,110,100,95,87,101,115,116,101,114,110,0,71,117,108,102,0,79,77,0,72,97,119,97,105,105,95,65,108,101,117,116,105,97,110,0,73,110,100,105,97,0,76,75,0,73,110,100,105,97,110,95,79,99,101,97,110,0,73,110,100,111,99,104,105,110,97,0,75,72,0,76,65,0,73,110,100,111,110,101,115,105,97,95,67,101,110,116,114,97,108,0,73,110,100,111,110,101,115,105,97,95,69,97,115,116,101,114,110,0,73,110,100,111,110,101,115,105,97,95,87,101,115,116,101,114,110,0,73,114,97,110,0,73,114,105,115,104,0,73,115,114,97,101,108,0,74,97,112,97,110,0,75,97,122,97,107,104,115,116,97,110,95,69,97,115,116,101,114,110,0,75,97,122,97,107,104,115,116,97,110,95,87,101,115,116,101,114,110,0,75,105,122,105,108,111,114,100,97,0,75,111,114,101,97,0,75,117,121,98,121,115,104,101,118,0,75,121,114,103,121,115,116,97,110,0,76,97,110,107,97,0,76,105,98,101,114,105,97,0,76,105,110,101,95,73,115,108,97,110,100,115,0,77,97,108,97,121,97,0,77,97,108,97,121,115,105,97,0,77,97,114,115,104,97,108,108,95,73,115,108,97,110,100,115,0,77,101,120,105,99,111,95,80,97,99,105,102,105,99,0,77,111,110,103,111,108,105,97,0,77,121,97,110,109,97,114,0,78,101,112,97,108,0,78,101,119,95,67,97,108,101,100,111,110,105,97,0,78,101,119,95,90,101,97,108,97,110,100,0,65,81,0,78,101,119,102,111,117,110,100,108,97,110,100,0,78,111,114,116,104,95,77,97,114,105,97,110,97,0,80,97,107,105,115,116,97,110,0,80,97,112,117,97,95,78,101,119,95,71,117,105,110,101,97,0,80,97,114,97,103,117,97,121,0,80,101,114,117,0,80,104,105,108,105,112,112,105,110,101,115,0,80,104,111,101,110,105,120,95,73,115,108,97,110,100,115,0,80,105,101,114,114,101,95,77,105,113,117,101,108,111,110,0,83,97,109,111,97,0,83,101,121,99,104,101,108,108,101,115,0,83,104,101,118,99,104,101,110,107,111,0,83,111,108,111,109,111,110,0,83,117,114,105,110,97,109,101,0,83,118,101,114,100,108,111,118,115,107,0,84,97,106,105,107,105,115,116,97,110,0,84,111,107,101,108,97,117,0,84,111,110,103,97,0,84,117,114,107,101,121,0,84,117,114,107,109,101,110,105,115,116,97,110,0,84,117,118,97,108,117,0,85,114,97,108,115,107,0,85,114,117,103,117,97,121,0,85,122,98,101,107,105,115,116,97,110,0,86,97,110,117,97,116,117,0,86,101,110,101,122,117,101,108,97,0,89,117,107,111,110,0,109,101,116,97,122,111,110,101,73,100,115,0,97,99,114,101,0,97,102,99,101,0,97,102,101,97,0,97,102,103,104,0,97,102,115,111,0,97,102,119,101,0,97,108,97,109,0,97,108,97,115,0,97,109,97,122,0,97,109,99,101,0,97,109,101,97,0,97,109,109,111,0,97,109,112,97,0,97,110,97,100,0,97,112,105,97,0,97,113,116,97,0,97,113,116,111,0,97,114,97,98,0,97,114,103,101,0,97,114,109,101,0,97,114,119,101,0,97,117,99,101,0,97,117,99,119,0,97,117,101,97,0,97,117,119,101,0,97,122,101,114,0,97,122,111,114,0,98,97,110,103,0,98,104,117,116,0,98,111,108,105,0,98,114,97,115,0,98,114,117,110,0,99,97,115,101,0,99,97,118,101,0,99,104,97,109,0,99,104,97,116,0,99,104,105,108,0,99,104,105,110,0,99,104,111,105,0,99,104,114,105,0,99,111,99,111,0,99,111,108,111,0,99,111,111,107,0,99,117,98,97,0,100,97,118,105,0,100,117,109,111,0,101,97,115,116,0,101,97,116,105,0,101,99,117,97,0,101,117,99,101,0,101,117,101,97,0,101,117,102,101,0,101,117,119,101,0,102,97,108,107,0,102,105,106,105,0,102,114,103,117,0,102,114,115,111,0,103,97,108,97,0,103,97,109,98,0,103,101,111,114,0,103,105,105,115,0,103,114,101,97,0,103,114,101,101,0,103,114,119,101,0,103,117,97,109,0,103,117,108,102,0,103,117,121,97,0,104,97,97,108,0,104,111,107,111,0,104,111,118,100,0,105,110,100,105,0,105,110,100,111,0,105,110,111,99,0,105,110,119,101,0,105,114,97,110,0,105,114,107,117,0,105,115,114,97,0,106,97,112,97,0,107,97,101,97,0,107,97,109,99,0,107,97,119,101,0,107,111,114,101,0,107,111,115,114,0,107,114,97,115,0,107,121,114,103,0,108,97,110,107,0,108,105,105,115,0,108,111,104,111,0,109,97,99,97,0,109,97,103,97,0,109,97,105,115,0,109,97,108,100,0,109,97,114,113,0,109,97,117,114,0,109,97,119,115,0,109,101,112,97,0,109,103,109,116,0,109,111,110,103,0,109,111,115,99,0,109,121,97,110,0,110,97,117,114,0,110,101,99,97,0,110,101,112,97,0,110,101,119,102,0,110,101,122,101,0,110,105,117,101,0,110,111,109,97,0,110,111,114,102,0,110,111,114,111,0,110,111,118,111,0,111,109,115,107,0,112,97,107,105,0,112,97,110,103,0,112,97,114,97,0,112,101,114,117,0,112,104,105,108,0,112,104,105,115,0,112,105,109,105,0,112,105,116,99,0,112,111,110,97,0,112,121,111,110,0,113,121,122,121,0,114,101,117,110,0,114,111,116,104,0,115,97,107,104,0,115,97,109,97,0,115,97,109,111,0,115,101,121,99,0,115,105,110,103,0,115,111,103,101,0,115,111,108,111,0,115,117,114,105,0,115,121,111,119,0,116,97,104,105,0,116,97,105,112,0,116,97,106,105,0,116,111,107,101,0,116,111,110,103,0,116,114,117,107,0,116,117,114,107,0,116,117,118,97,0,117,114,117,103,0,117,122,98,101,0,118,97,110,117,0,118,101,110,101,0,118,108,97,100,0,118,111,108,103,0,118,111,115,116,0,119,97,107,101,0,119,97,108,108,0,121,97,107,117,0,121,101,107,97,0,121,117,107,111,0,109,101,116,97,122,111,110,101,73,110,102,111,0,65,102,114,105,99,97,58,65,98,105,100,106,97,110,0,65,102,114,105,99,97,58,65,99,99,114,97,0,65,102,114,105,99,97,58,65,100,100,105,115,95,65,98,97,98,97,0,65,102,114,105,99,97,58,65,108,103,105,101,114,115,0,65,102,114,105,99,97,58,65,115,109,101,114,97,0,65,102,114,105,99,97,58,66,97,109,97,107,111,0,65,102,114,105,99,97,58,66,97,110,103,117,105,0,65,102,114,105,99,97,58,66,97,110,106,117,108,0,65,102,114,105,99,97,58,66,105,115,115,97,117,0,65,102,114,105,99,97,58,66,108,97,110,116,121,114,101,0,65,102,114,105,99,97,58,66,114,97,122,122,97,118,105,108,108,101,0,65,102,114,105,99,97,58,66,117,106,117,109,98,117,114,97,0,65,102,114,105,99,97,58,67,97,105,114,111,0,65,102,114,105,99,97,58,67,97,115,97,98,108,97,110,99,97,0,65,102,114,105,99,97,58,67,101,117,116,97,0,65,102,114,105,99,97,58,67,111,110,97,107,114,121,0,65,102,114,105,99,97,58,68,97,107,97,114,0,65,102,114,105,99,97,58,68,97,114,95,101,115,95,83,97,108,97,97,109,0,65,102,114,105,99,97,58,68,106,105,98,111,117,116,105,0,65,102,114,105,99,97,58,68,111,117,97,108,97,0,65,102,114,105,99,97,58,69,108,95,65,97,105,117,110,0,65,102,114,105,99,97,58,70,114,101,101,116,111,119,110,0,65,102,114,105,99,97,58,71,97,98,111,114,111,110,101,0,65,102,114,105,99,97,58,72,97,114,97,114,101,0,65,102,114,105,99,97,58,74,111,104,97,110,110,101,115,98,117,114,103,0,65,102,114,105,99,97,58,74,117,98,97,0,65,102,114,105,99,97,58,75,97,109,112,97,108,97,0,65,102,114,105,99,97,58,75,104,97,114,116,111,117,109,0,65,102,114,105,99,97,58,75,105,103,97,108,105,0,65,102,114,105,99,97,58,75,105,110,115,104,97,115,97,0,65,102,114,105,99,97,58,76,97,103,111,115,0,65,102,114,105,99,97,58,76,105,98,114,101,118,105,108,108,101,0,65,102,114,105,99,97,58,76,111,109,101,0,65,102,114,105,99,97,58,76,117,97,110,100,97,0,65,102,114,105,99,97,58,76,117,98,117,109,98,97,115,104,105,0,65,102,114,105,99,97,58,76,117,115,97,107,97,0,65,102,114,105,99,97,58,77,97,108,97,98,111,0,65,102,114,105,99,97,58,77,97,112,117,116,111,0,65,102,114,105,99,97,58,77,97,115,101,114,117,0,65,102,114,105,99,97,58,77,98,97,98,97,110,101,0,65,102,114,105,99,97,58,77,111,103,97,100,105,115,104,117,0,65,102,114,105,99,97,58,77,111,110,114,111,118,105,97,0,65,102,114,105,99,97,58,78,97,105,114,111,98,105,0,65,102,114,105,99,97,58,78,100,106,97,109,101,110,97,0,65,102,114,105,99,97,58,78,105,97,109,101,121,0,65,102,114,105,99,97,58,78,111,117,97,107,99,104,111,116,116,0,65,102,114,105,99,97,58,79,117,97,103,97,100,111,117,103,111,117,0,65,102,114,105,99,97,58,80,111,114,116,111,45,78,111,118,111,0,65,102,114,105,99,97,58,83,97,111,95,84,111,109,101,0,65,102,114,105,99,97,58,84,114,105,112,111,108,105,0,65,102,114,105,99,97,58,84,117,110,105,115,0,65,102,114,105,99,97,58,87,105,110,100,104,111,101,107,0,65,109,101,114,105,99,97,58,65,100,97,107,0,65,109,101,114,105,99,97,58,65,110,99,104,111,114,97,103,101,0,65,109,101,114,105,99,97,58,65,110,103,117,105,108,108,97,0,65,109,101,114,105,99,97,58,65,110,116,105,103,117,97,0,65,109,101,114,105,99,97,58,65,114,97,103,117,97,105,110,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,76,97,95,82,105,111,106,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,82,105,111,95,71,97,108,108,101,103,111,115,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,108,116,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,110,95,74,117,97,110,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,110,95,76,117,105,115,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,84,117,99,117,109,97,110,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,85,115,104,117,97,105,97,0,65,109,101,114,105,99,97,58,65,114,117,98,97,0,65,109,101,114,105,99,97,58,65,115,117,110,99,105,111,110,0,65,109,101,114,105,99,97,58,66,97,104,105,97,0,65,109,101,114,105,99,97,58,66,97,104,105,97,95,66,97,110,100,101,114,97,115,0,65,109,101,114,105,99,97,58,66,97,114,98,97,100,111,115,0,65,109,101,114,105,99,97,58,66,101,108,101,109,0,65,109,101,114,105,99,97,58,66,101,108,105,122,101,0,65,109,101,114,105,99,97,58,66,108,97,110,99,45,83,97,98,108,111,110,0,65,109,101,114,105,99,97,58,66,111,97,95,86,105,115,116,97,0,65,109,101,114,105,99,97,58,66,111,103,111,116,97,0,65,109,101,114,105,99,97,58,66,111,105,115,101,0,65,109,101,114,105,99,97,58,66,117,101,110,111,115,95,65,105,114,101,115,0,65,109,101,114,105,99,97,58,67,97,109,98,114,105,100,103,101,95,66,97,121,0,65,109,101,114,105,99,97,58,67,97,109,112,111,95,71,114,97,110,100,101,0,65,109,101,114,105,99,97,58,67,97,110,99,117,110,0,65,109,101,114,105,99,97,58,67,97,114,97,99,97,115,0,65,109,101,114,105,99,97,58,67,97,116,97,109,97,114,99,97,0,65,109,101,114,105,99,97,58,67,97,121,101,110,110,101,0,65,109,101,114,105,99,97,58,67,97,121,109,97,110,0,65,109,101,114,105,99,97,58,67,104,105,99,97,103,111,0,65,109,101,114,105,99,97,58,67,104,105,104,117,97,104,117,97,0,65,109,101,114,105,99,97,58,67,105,117,100,97,100,95,74,117,97,114,101,122,0,65,109,101,114,105,99,97,58,67,111,114,97,108,95,72,97,114,98,111,117,114,0,65,109,101,114,105,99,97,58,67,111,114,100,111,98,97,0,65,109,101,114,105,99,97,58,67,111,115,116,97,95,82,105,99,97,0,65,109,101,114,105,99,97,58,67,114,101,115,116,111,110,0,65,109,101,114,105,99,97,58,67,117,105,97,98,97,0,65,109,101,114,105,99,97,58,67,117,114,97,99,97,111,0,65,109,101,114,105,99,97,58,68,97,110,109,97,114,107,115,104,97,118,110,0,65,109,101,114,105,99,97,58,68,97,119,115,111,110,0,65,109,101,114,105,99,97,58,68,97,119,115,111,110,95,67,114,101,101,107,0,65,109,101,114,105,99,97,58,68,101,110,118,101,114,0,65,109,101,114,105,99,97,58,68,101,116,114,111,105,116,0,65,109,101,114,105,99,97,58,68,111,109,105,110,105,99,97,0,65,109,101,114,105,99,97,58,69,100,109,111,110,116,111,110,0,65,109,101,114,105,99,97,58,69,105,114,117,110,101,112,101,0,65,109,101,114,105,99,97,58,69,108,95,83,97,108,118,97,100,111,114,0,65,109,101,114,105,99,97,58,70,111,114,116,95,78,101,108,115,111,110,0,65,109,101,114,105,99,97,58,70,111,114,116,97,108,101,122,97,0,65,109,101,114,105,99,97,58,71,108,97,99,101,95,66,97,121,0,65,109,101,114,105,99,97,58,71,111,100,116,104,97,98,0,65,109,101,114,105,99,97,58,71,111,111,115,101,95,66,97,121,0,65,109,101,114,105,99,97,58,71,114,97,110,100,95,84,117,114,107,0,65,109,101,114,105,99,97,58,71,114,101,110,97,100,97,0,65,109,101,114,105,99,97,58,71,117,97,100,101,108,111,117,112,101,0,65,109,101,114,105,99,97,58,71,117,97,116,101,109,97,108,97,0,65,109,101,114,105,99,97,58,71,117,97,121,97,113,117,105,108,0,65,109,101,114,105,99,97,58,71,117,121,97,110,97,0,65,109,101,114,105,99,97,58,72,97,108,105,102,97,120,0,65,109,101,114,105,99,97,58,72,97,118,97,110,97,0,65,109,101,114,105,99,97,58,72,101,114,109,111,115,105,108,108,111,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,75,110,111,120,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,77,97,114,101,110,103,111,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,80,101,116,101,114,115,98,117,114,103,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,84,101,108,108,95,67,105,116,121,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,86,101,118,97,121,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,86,105,110,99,101,110,110,101,115,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,87,105,110,97,109,97,99,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,112,111,108,105,115,0,65,109,101,114,105,99,97,58,73,110,117,118,105,107,0,65,109,101,114,105,99,97,58,73,113,97,108,117,105,116,0,65,109,101,114,105,99,97,58,74,97,109,97,105,99,97,0,65,109,101,114,105,99,97,58,74,117,106,117,121,0,65,109,101,114,105,99,97,58,74,117,110,101,97,117,0,65,109,101,114,105,99,97,58,75,101,110,116,117,99,107,121,58,77,111,110,116,105,99,101,108,108,111,0,65,109,101,114,105,99,97,58,75,114,97,108,101,110,100,105,106,107,0,65,109,101,114,105,99,97,58,76,97,95,80,97,122,0,65,109,101,114,105,99,97,58,76,105,109,97,0,65,109,101,114,105,99,97,58,76,111,115,95,65,110,103,101,108,101,115,0,65,109,101,114,105,99,97,58,76,111,117,105,115,118,105,108,108,101,0,65,109,101,114,105,99,97,58,76,111,119,101,114,95,80,114,105,110,99,101,115,0,65,109,101,114,105,99,97,58,77,97,99,101,105,111,0,65,109,101,114,105,99,97,58,77,97,110,97,103,117,97,0,65,109,101,114,105,99,97,58,77,97,110,97,117,115,0,65,109,101,114,105,99,97,58,77,97,114,105,103,111,116,0,65,109,101,114,105,99,97,58,77,97,114,116,105,110,105,113,117,101,0,65,109,101,114,105,99,97,58,77,97,116,97,109,111,114,111,115,0,65,109,101,114,105,99,97,58,77,97,122,97,116,108,97,110,0,65,109,101,114,105,99,97,58,77,101,110,100,111,122,97,0,65,109,101,114,105,99,97,58,77,101,110,111,109,105,110,101,101,0,65,109,101,114,105,99,97,58,77,101,114,105,100,97,0,65,109,101,114,105,99,97,58,77,101,116,108,97,107,97,116,108,97,0,65,109,101,114,105,99,97,58,77,101,120,105,99,111,95,67,105,116,121,0,65,109,101,114,105,99,97,58,77,105,113,117,101,108,111,110,0,65,109,101,114,105,99,97,58,77,111,110,99,116,111,110,0,65,109,101,114,105,99,97,58,77,111,110,116,101,114,114,101,121,0,65,109,101,114,105,99,97,58,77,111,110,116,101,118,105,100,101,111,0,65,109,101,114,105,99,97,58,77,111,110,116,115,101,114,114,97,116,0,65,109,101,114,105,99,97,58,78,97,115,115,97,117,0,65,109,101,114,105,99,97,58,78,101,119,95,89,111,114,107,0,65,109,101,114,105,99,97,58,78,111,109,101,0,65,109,101,114,105,99,97,58,78,111,114,111,110,104,97,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,66,101,117,108,97,104,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,67,101,110,116,101,114,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,78,101,119,95,83,97,108,101,109,0,65,109,101,114,105,99,97,58,79,106,105,110,97,103,97,0,65,109,101,114,105,99,97,58,80,97,110,97,109,97,0,65,109,101,114,105,99,97,58,80,97,114,97,109,97,114,105,98,111,0,65,109,101,114,105,99,97,58,80,104,111,101,110,105,120,0,65,109,101,114,105,99,97,58,80,111,114,116,45,97,117,45,80,114,105,110,99,101,0,65,109,101,114,105,99,97,58,80,111,114,116,95,111,102,95,83,112,97,105,110,0,65,109,101,114,105,99,97,58,80,111,114,116,111,95,86,101,108,104,111,0,65,109,101,114,105,99,97,58,80,117,101,114,116,111,95,82,105,99,111,0,65,109,101,114,105,99,97,58,80,117,110,116,97,95,65,114,101,110,97,115,0,65,109,101,114,105,99,97,58,82,97,110,107,105,110,95,73,110,108,101,116,0,65,109,101,114,105,99,97,58,82,101,99,105,102,101,0,65,109,101,114,105,99,97,58,82,101,103,105,110,97,0,65,109,101,114,105,99,97,58,82,101,115,111,108,117,116,101,0,65,109,101,114,105,99,97,58,82,105,111,95,66,114,97,110,99,111,0,65,109,101,114,105,99,97,58,83,97,110,116,97,114,101,109,0,65,109,101,114,105,99,97,58,83,97,110,116,105,97,103,111,0,65,109,101,114,105,99,97,58,83,97,110,116,111,95,68,111,109,105,110,103,111,0,65,109,101,114,105,99,97,58,83,97,111,95,80,97,117,108,111,0,65,109,101,114,105,99,97,58,83,99,111,114,101,115,98,121,115,117,110,100,0,65,109,101,114,105,99,97,58,83,105,116,107,97,0,65,109,101,114,105,99,97,58,83,116,95,66,97,114,116,104,101,108,101,109,121,0,65,109,101,114,105,99,97,58,83,116,95,74,111,104,110,115,0,65,109,101,114,105,99,97,58,83,116,95,75,105,116,116,115,0,65,109,101,114,105,99,97,58,83,116,95,76,117,99,105,97,0,65,109,101,114,105,99,97,58,83,116,95,84,104,111,109,97,115,0,65,109,101,114,105,99,97,58,83,116,95,86,105,110,99,101,110,116,0,65,109,101,114,105,99,97,58,83,119,105,102,116,95,67,117,114,114,101,110,116,0,65,109,101,114,105,99,97,58,84,101,103,117,99,105,103,97,108,112,97,0,65,109,101,114,105,99,97,58,84,104,117,108,101,0,65,109,101,114,105,99,97,58,84,105,106,117,97,110,97,0,65,109,101,114,105,99,97,58,84,111,114,111,110,116,111,0,65,109,101,114,105,99,97,58,84,111,114,116,111,108,97,0,65,109,101,114,105,99,97,58,86,97,110,99,111,117,118,101,114,0,65,109,101,114,105,99,97,58,87,104,105,116,101,104,111,114,115,101,0,65,109,101,114,105,99,97,58,87,105,110,110,105,112,101,103,0,65,109,101,114,105,99,97,58,89,97,107,117,116,97,116,0,65,110,116,97,114,99,116,105,99,97,58,67,97,115,101,121,0,65,110,116,97,114,99,116,105,99,97,58,68,97,118,105,115,0,65,110,116,97,114,99,116,105,99,97,58,68,117,109,111,110,116,68,85,114,118,105,108,108,101,0,65,110,116,97,114,99,116,105,99,97,58,77,97,99,113,117,97,114,105,101,0,65,110,116,97,114,99,116,105,99,97,58,77,97,119,115,111,110,0,65,110,116,97,114,99,116,105,99,97,58,77,99,77,117,114,100,111,0,65,110,116,97,114,99,116,105,99,97,58,80,97,108,109,101,114,0,65,110,116,97,114,99,116,105,99,97,58,82,111,116,104,101,114,97,0,65,110,116,97,114,99,116,105,99,97,58,83,121,111,119,97,0,65,110,116,97,114,99,116,105,99,97,58,84,114,111,108,108,0,65,110,116,97,114,99,116,105,99,97,58,86,111,115,116,111,107,0,65,114,99,116,105,99,58,76,111,110,103,121,101,97,114,98,121,101,110,0,65,115,105,97,58,65,100,101,110,0,65,115,105,97,58,65,108,109,97,116,121,0,65,115,105,97,58,65,109,109,97,110,0,65,115,105,97,58,65,110,97,100,121,114,0,65,115,105,97,58,65,113,116,97,117,0,65,115,105,97,58,65,113,116,111,98,101,0,65,115,105,97,58,65,115,104,103,97,98,97,116,0,65,115,105,97,58,65,116,121,114,97,117,0,65,115,105,97,58,66,97,103,104,100,97,100,0,65,115,105,97,58,66,97,104,114,97,105,110,0,65,115,105,97,58,66,97,107,117,0,65,115,105,97,58,66,97,110,103,107,111,107,0,65,115,105,97,58,66,101,105,114,117,116,0,65,115,105,97,58,66,105,115,104,107,101,107,0,65,115,105,97,58,66,114,117,110,101,105,0,65,115,105,97,58,67,97,108,99,117,116,116,97,0,65,115,105,97,58,67,104,105,116,97,0,65,115,105,97,58,67,104,111,105,98,97,108,115,97,110,0,65,115,105,97,58,67,111,108,111,109,98,111,0,65,115,105,97,58,68,97,109,97,115,99,117,115,0,65,115,105,97,58,68,104,97,107,97,0,65,115,105,97,58,68,105,108,105,0,65,115,105,97,58,68,117,98,97,105,0,65,115,105,97,58,68,117,115,104,97,110,98,101,0,65,115,105,97,58,70,97,109,97,103,117,115,116,97,0,65,115,105,97,58,71,97,122,97,0,65,115,105,97,58,72,101,98,114,111,110,0,65,115,105,97,58,72,111,110,103,95,75,111,110,103,0,65,115,105,97,58,72,111,118,100,0,65,115,105,97,58,73,114,107,117,116,115,107,0,65,115,105,97,58,74,97,107,97,114,116,97,0,65,115,105,97,58,74,97,121,97,112,117,114,97,0,65,115,105,97,58,74,101,114,117,115,97,108,101,109,0,65,115,105,97,58,75,97,98,117,108,0,65,115,105,97,58,75,97,109,99,104,97,116,107,97,0,65,115,105,97,58,75,97,114,97,99,104,105,0,65,115,105,97,58,75,97,116,109,97,110,100,117,0,65,115,105,97,58,75,104,97,110,100,121,103,97,0,65,115,105,97,58,75,114,97,115,110,111,121,97,114,115,107,0,65,115,105,97,58,75,117,97,108,97,95,76,117,109,112,117,114,0,65,115,105,97,58,75,117,99,104,105,110,103,0,65,115,105,97,58,75,117,119,97,105,116,0,65,115,105,97,58,77,97,99,97,117,0,65,115,105,97,58,77,97,103,97,100,97,110,0,65,115,105,97,58,77,97,107,97,115,115,97,114,0,65,115,105,97,58,77,97,110,105,108,97,0,65,115,105,97,58,77,117,115,99,97,116,0,65,115,105,97,58,78,105,99,111,115,105,97,0,65,115,105,97,58,78,111,118,111,107,117,122,110,101,116,115,107,0,65,115,105,97,58,78,111,118,111,115,105,98,105,114,115,107,0,65,115,105,97,58,79,109,115,107,0,65,115,105,97,58,79,114,97,108,0,65,115,105,97,58,80,104,110,111,109,95,80,101,110,104,0,65,115,105,97,58,80,111,110,116,105,97,110,97,107,0,65,115,105,97,58,80,121,111,110,103,121,97,110,103,0,65,115,105,97,58,81,97,116,97,114,0,65,115,105,97,58,81,111,115,116,97,110,97,121,0,65,115,105,97,58,81,121,122,121,108,111,114,100,97,0,65,115,105,97,58,82,97,110,103,111,111,110,0,65,115,105,97,58,82,105,121,97,100,104,0,65,115,105,97,58,83,97,105,103,111,110,0,65,115,105,97,58,83,97,107,104,97,108,105,110,0,65,115,105,97,58,83,97,109,97,114,107,97,110,100,0,65,115,105,97,58,83,101,111,117,108,0,65,115,105,97,58,83,104,97,110,103,104,97,105,0,65,115,105,97,58,83,105,110,103,97,112,111,114,101,0,65,115,105,97,58,83,114,101,100,110,101,107,111,108,121,109,115,107,0,65,115,105,97,58,84,97,105,112,101,105,0,65,115,105,97,58,84,97,115,104,107,101,110,116,0,65,115,105,97,58,84,98,105,108,105,115,105,0,65,115,105,97,58,84,101,104,114,97,110,0,65,115,105,97,58,84,104,105,109,112,104,117,0,65,115,105,97,58,84,111,107,121,111,0,65,115,105,97,58,85,108,97,97,110,98,97,97,116,97,114,0,65,115,105,97,58,85,114,117,109,113,105,0,65,115,105,97,58,85,115,116,45,78,101,114,97,0,65,115,105,97,58,86,105,101,110,116,105,97,110,101,0,65,115,105,97,58,86,108,97,100,105,118,111,115,116,111,107,0,65,115,105,97,58,89,97,107,117,116,115,107,0,65,115,105,97,58,89,101,107,97,116,101,114,105,110,98,117,114,103,0,65,115,105,97,58,89,101,114,101,118,97,110,0,65,116,108,97,110,116,105,99,58,65,122,111,114,101,115,0,65,116,108,97,110,116,105,99,58,66,101,114,109,117,100,97,0,65,116,108,97,110,116,105,99,58,67,97,110,97,114,121,0,65,116,108,97,110,116,105,99,58,67,97,112,101,95,86,101,114,100,101,0,65,116,108,97,110,116,105,99,58,70,97,101,114,111,101,0,65,116,108,97,110,116,105,99,58,77,97,100,101,105,114,97,0,65,116,108,97,110,116,105,99,58,82,101,121,107,106,97,118,105,107,0,65,116,108,97,110,116,105,99,58,83,111,117,116,104,95,71,101,111,114,103,105,97,0,65,116,108,97,110,116,105,99,58,83,116,95,72,101,108,101,110,97,0,65,116,108,97,110,116,105,99,58,83,116,97,110,108,101,121,0,65,117,115,116,114,97,108,105,97,58,65,100,101,108,97,105,100,101,0,65,117,115,116,114,97,108,105,97,58,66,114,105,115,98,97,110,101,0,65,117,115,116,114,97,108,105,97,58,66,114,111,107,101,110,95,72,105,108,108,0,65,117,115,116,114,97,108,105,97,58,68,97,114,119,105,110,0,65,117,115,116,114,97,108,105,97,58,69,117,99,108,97,0,65,117,115,116,114,97,108,105,97,58,72,111,98,97,114,116,0,65,117,115,116,114,97,108,105,97,58,76,105,110,100,101,109,97,110,0,65,117,115,116,114,97,108,105,97,58,76,111,114,100,95,72,111,119,101,0,65,117,115,116,114,97,108,105,97,58,77,101,108,98,111,117,114,110,101,0,65,117,115,116,114,97,108,105,97,58,80,101,114,116,104,0,65,117,115,116,114,97,108,105,97,58,83,121,100,110,101,121,0,67,83,84,54,67,68,84,0,69,83,84,53,69,68,84,0,69,116,99,58,71,77,84,0,69,117,114,111,112,101,58,65,109,115,116,101,114,100,97,109,0,69,117,114,111,112,101,58,65,110,100,111,114,114,97,0,69,117,114,111,112,101,58,65,115,116,114,97,107,104,97,110,0,69,117,114,111,112,101,58,65,116,104,101,110,115,0,69,117,114,111,112,101,58,66,101,108,103,114,97,100,101,0,69,117,114,111,112,101,58,66,101,114,108,105,110,0,69,117,114,111,112,101,58,66,114,97,116,105,115,108,97,118,97,0,69,117,114,111,112,101,58,66,114,117,115,115,101,108,115,0,69,117,114,111,112,101,58,66,117,99,104,97,114,101,115,116,0,69,117,114,111,112,101,58,66,117,100,97,112,101,115,116,0,69,117,114,111,112,101,58,66,117,115,105,110,103,101,110,0,69,117,114,111,112,101,58,67,104,105,115,105,110,97,117,0,69,117,114,111,112,101,58,67,111,112,101,110,104,97,103,101,110,0,69,117,114,111,112,101,58,68,117,98,108,105,110,0,69,117,114,111,112,101,58,71,105,98,114,97,108,116,97,114,0,69,117,114,111,112,101,58,71,117,101,114,110,115,101,121,0,69,117,114,111,112,101,58,72,101,108,115,105,110,107,105,0,69,117,114,111,112,101,58,73,115,108,101,95,111,102,95,77,97,110,0,69,117,114,111,112,101,58,73,115,116,97,110,98,117,108,0,69,117,114,111,112,101,58,74,101,114,115,101,121,0,69,117,114,111,112,101,58,75,97,108,105,110,105,110,103,114,97,100,0,69,117,114,111,112,101,58,75,105,101,118,0,69,117,114,111,112,101,58,76,105,115,98,111,110,0,69,117,114,111,112,101,58,76,106,117,98,108,106,97,110,97,0,69,117,114,111,112,101,58,76,111,110,100,111,110,0,69,117,114,111,112,101,58,76,117,120,101,109,98,111,117,114,103,0,69,117,114,111,112,101,58,77,97,100,114,105,100,0,69,117,114,111,112,101,58,77,97,108,116,97,0,69,117,114,111,112,101,58,77,97,114,105,101,104,97,109,110,0,69,117,114,111,112,101,58,77,105,110,115,107,0,69,117,114,111,112,101,58,77,111,110,97,99,111,0,69,117,114,111,112,101,58,77,111,115,99,111,119,0,69,117,114,111,112,101,58,79,115,108,111,0,69,117,114,111,112,101,58,80,97,114,105,115,0,69,117,114,111,112,101,58,80,111,100,103,111,114,105,99,97,0,69,117,114,111,112,101,58,80,114,97,103,117,101,0,69,117,114,111,112,101,58,82,105,103,97,0,69,117,114,111,112,101,58,82,111,109,101,0,69,117,114,111,112,101,58,83,97,109,97,114,97,0,69,117,114,111,112,101,58,83,97,110,95,77,97,114,105,110,111,0,69,117,114,111,112,101,58,83,97,114,97,106,101,118,111,0,69,117,114,111,112,101,58,83,97,114,97,116,111,118,0,69,117,114,111,112,101,58,83,105,109,102,101,114,111,112,111,108,0,69,117,114,111,112,101,58,83,107,111,112,106,101,0,69,117,114,111,112,101,58,83,111,102,105,97,0,69,117,114,111,112,101,58,83,116,111,99,107,104,111,108,109,0,69,117,114,111,112,101,58,84,97,108,108,105,110,110,0,69,117,114,111,112,101,58,84,105,114,97,110,101,0,69,117,114,111,112,101,58,85,108,121,97,110,111,118,115,107,0,69,117,114,111,112,101,58,86,97,100,117,122,0,69,117,114,111,112,101,58,86,97,116,105,99,97,110,0,69,117,114,111,112,101,58,86,105,101,110,110,97,0,69,117,114,111,112,101,58,86,105,108,110,105,117,115,0,69,117,114,111,112,101,58,86,111,108,103,111,103,114,97,100,0,69,117,114,111,112,101,58,87,97,114,115,97,119,0,69,117,114,111,112,101,58,90,97,103,114,101,98,0,69,117,114,111,112,101,58,90,117,114,105,99,104,0,73,110,100,105,97,110,58,65,110,116,97,110,97,110,97,114,105,118,111,0,73,110,100,105,97,110,58,67,104,97,103,111,115,0,73,110,100,105,97,110,58,67,104,114,105,115,116,109,97,115,0,73,110,100,105,97,110,58,67,111,99,111,115,0,73,110,100,105,97,110,58,67,111,109,111,114,111,0,73,110,100,105,97,110,58,75,101,114,103,117,101,108,101,110,0,73,110,100,105,97,110,58,77,97,104,101,0,73,110,100,105,97,110,58,77,97,108,100,105,118,101,115,0,73,110,100,105,97,110,58,77,97,117,114,105,116,105,117,115,0,73,110,100,105,97,110,58,77,97,121,111,116,116,101,0,73,110,100,105,97,110,58,82,101,117,110,105,111,110,0,77,83,84,55,77,68,84,0,80,83,84,56,80,68,84,0,80,97,99,105,102,105,99,58,65,112,105,97,0,80,97,99,105,102,105,99,58,65,117,99,107,108,97,110,100,0,80,97,99,105,102,105,99,58,66,111,117,103,97,105,110,118,105,108,108,101,0,80,97,99,105,102,105,99,58,67,104,97,116,104,97,109,0,80,97,99,105,102,105,99,58,69,97,115,116,101,114,0,80,97,99,105,102,105,99,58,69,102,97,116,101,0,80,97,99,105,102,105,99,58,69,110,100,101,114,98,117,114,121,0,80,97,99,105,102,105,99,58,70,97,107,97,111,102,111,0,80,97,99,105,102,105,99,58,70,105,106,105,0,80,97,99,105,102,105,99,58,70,117,110,97,102,117,116,105,0,80,97,99,105,102,105,99,58,71,97,108,97,112,97,103,111,115,0,80,97,99,105,102,105,99,58,71,97,109,98,105,101,114,0,80,97,99,105,102,105,99,58,71,117,97,100,97,108,99,97,110,97,108,0,80,97,99,105,102,105,99,58,71,117,97,109,0,80,97,99,105,102,105,99,58,72,111,110,111,108,117,108,117,0,80,97,99,105,102,105,99,58,75,105,114,105,116,105,109,97,116,105,0,80,97,99,105,102,105,99,58,75,111,115,114,97,101,0,80,97,99,105,102,105,99,58,75,119,97,106,97,108,101,105,110,0,80,97,99,105,102,105,99,58,77,97,106,117,114,111,0,80,97,99,105,102,105,99,58,77,97,114,113,117,101,115,97,115,0,80,97,99,105,102,105,99,58,77,105,100,119,97,121,0,80,97,99,105,102,105,99,58,78,97,117,114,117,0,80,97,99,105,102,105,99,58,78,105,117,101,0,80,97,99,105,102,105,99,58,78,111,114,102,111,108,107,0,80,97,99,105,102,105,99,58,78,111,117,109,101,97,0,80,97,99,105,102,105,99,58,80,97,103,111,95,80,97,103,111,0,80,97,99,105,102,105,99,58,80,97,108,97,117,0,80,97,99,105,102,105,99,58,80,105,116,99,97,105,114,110,0,80,97,99,105,102,105,99,58,80,111,110,97,112,101,0,80,97,99,105,102,105,99,58,80,111,114,116,95,77,111,114,101,115,98,121,0,80,97,99,105,102,105,99,58,82,97,114,111,116,111,110,103,97,0,80,97,99,105,102,105,99,58,83,97,105,112,97,110,0,80,97,99,105,102,105,99,58,84,97,104,105,116,105,0,80,97,99,105,102,105,99,58,84,97,114,97,119,97,0,80,97,99,105,102,105,99,58,84,111,110,103,97,116,97,112,117,0,80,97,99,105,102,105,99,58,84,114,117,107,0,80,97,99,105,102,105,99,58,87,97,107,101,0,80,97,99,105,102,105,99,58,87,97,108,108,105,115,0,112,114,105,109,97,114,121,90,111,110,101,115,0,67,76,0,67,78,0,69,67,0,77,72,0,77,89,0,78,90,0,80,84,0,85,65,0,85,90,0,0,0,71,0,77,0,84,0,0,0,65,0,99,0,114,0,101,0,0,0,71,0,117,0,108,0,102,0,0,0,67,0,111,0,111,0,107,0,0,0,67,0,117,0,98,0,97,0,0,0,73,0,114,0,97,0,110,0,0,0,80,0,101,0,114,0,117,0,0,0,73,0,110,0,100,0,105,0,97,0,0,0,67,0,104,0,105,0,108,0,101,0,0,0,75,0,111,0,114,0,101,0,97,0,0,0,67,0,104,0,105,0,110,0,97,0,0,0,83,0,97,0,109,0,111,0,97,0,0,0,89,0,117,0,107,0,111,0,110,0,0,0,74,0,97,0,112,0,97,0,110,0,0,0,76,0,97,0,110,0,107,0,97,0,0,0,78,0,101,0,112,0,97,0,108,0,0,0,84,0,111,0,110,0,103,0,97,0,0,0,68,0,97,0,99,0,99,0,97,0,0,0,73,0,114,0,105,0,115,0,104,0,0,0,65,0,109,0,97,0,122,0,111,0,110,0,0,0,65,0,108,0,97,0,115,0,107,0,97,0,0,0,66,0,101,0,114,0,105,0,110,0,103,0,0,0,73,0,115,0,114,0,97,0,101,0,108,0,0,0,66,0,104,0,117,0,116,0,97,0,110,0,0,0,84,0,117,0,114,0,107,0,101,0,121,0,0,0,84,0,117,0,118,0,97,0,108,0,117,0,0,0,66,0,111,0,114,0,110,0,101,0,111,0,0,0,70,0,114,0,117,0,110,0,122,0,101,0,0,0,77,0,97,0,108,0,97,0,121,0,97,0,0,0,85,0,114,0,97,0,108,0,115,0,107,0,0,0,65,0,114,0,97,0,98,0,105,0,97,0,110,0,0,0,66,0,114,0,105,0,116,0,105,0,115,0,104,0,0,0,69,0,99,0,117,0,97,0,100,0,111,0,114,0,0,0,65,0,114,0,109,0,101,0,110,0,105,0,97,0,0,0,66,0,111,0,108,0,105,0,118,0,105,0,97,0,0,0,77,0,121,0,97,0,110,0,109,0,97,0,114,0,0,0,83,0,111,0,108,0,111,0,109,0,111,0,110,0,0,0,84,0,111,0,107,0,101,0,108,0,97,0,117,0,0,0,85,0,114,0,117,0,103,0,117,0,97,0,121,0,0,0,86,0,97,0,110,0,117,0,97,0,116,0,117,0,0,0,76,0,105,0,98,0,101,0,114,0,105,0,97,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,0,0,66,0,114,0,97,0,115,0,105,0,108,0,105,0,97,0,0,0,77,0,111,0,110,0,103,0,111,0,108,0,105,0,97,0,0,0,67,0,104,0,97,0,109,0,111,0,114,0,114,0,111,0,0,0,77,0,97,0,108,0,97,0,121,0,115,0,105,0,97,0,0,0,67,0,111,0,108,0,111,0,109,0,98,0,105,0,97,0,0,0,70,0,97,0,108,0,107,0,108,0,97,0,110,0,100,0,0,0,80,0,97,0,107,0,105,0,115,0,116,0,97,0,110,0,0,0,80,0,97,0,114,0,97,0,103,0,117,0,97,0,121,0,0,0,83,0,117,0,114,0,105,0,110,0,97,0,109,0,101,0,0,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,0,0,73,0,110,0,100,0,111,0,99,0,104,0,105,0,110,0,97,0,0,0,71,0,114,0,101,0,101,0,110,0,108,0,97,0,110,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,107,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,79,0,114,0,97,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,118,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,79,0,109,0,115,0,107,0,0,0,75,0,121,0,114,0,103,0,121,0,115,0,116,0,97,0,110,0,0,0,86,0,101,0,110,0,101,0,122,0,117,0,101,0,108,0,97,0,0,0,65,0,115,0,104,0,107,0,104,0,97,0,98,0,97,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,100,0,101,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,105,0,108,0,105,0,0,0,68,0,111,0,109,0,105,0,110,0,105,0,99,0,97,0,110,0,0,0,75,0,105,0,122,0,105,0,108,0,111,0,114,0,100,0,97,0,0,0,75,0,117,0,121,0,98,0,121,0,115,0,104,0,101,0,118,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,97,0,117,0,0,0,69,0,97,0,115,0,116,0,95,0,84,0,105,0,109,0,111,0,114,0,0,0,85,0,122,0,98,0,101,0,107,0,105,0,115,0,116,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,99,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,104,0,97,0,107,0,97,0,0,0,65,0,122,0,101,0,114,0,98,0,97,0,105,0,106,0,97,0,110,0,0,0,66,0,97,0,110,0,103,0,108,0,97,0,100,0,101,0,115,0,104,0,0,0,83,0,101,0,121,0,99,0,104,0,101,0,108,0,108,0,101,0,115,0,0,0,84,0,97,0,106,0,105,0,107,0,105,0,115,0,116,0,97,0,110,0,0,0,65,0,107,0,116,0,121,0,117,0,98,0,105,0,110,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,98,0,97,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,98,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,97,0,116,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,101,0,111,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,107,0,121,0,111,0,0,0,83,0,104,0,101,0,118,0,99,0,104,0,101,0,110,0,107,0,111,0,0,0,83,0,118,0,101,0,114,0,100,0,108,0,111,0,118,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,111,0,98,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,108,0,109,0,97,0,116,0,121,0,0,0,78,0,101,0,119,0,95,0,90,0,101,0,97,0,108,0,97,0,110,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,110,0,97,0,100,0,121,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,114,0,117,0,110,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,105,0,112,0,101,0,105,0,0,0,65,0,102,0,103,0,104,0,97,0,110,0,105,0,115,0,116,0,97,0,110,0,0,0,80,0,104,0,105,0,108,0,105,0,112,0,112,0,105,0,110,0,101,0,115,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,114,0,117,0,109,0,113,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,109,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,101,0,105,0,114,0,117,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,119,0,97,0,105,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,110,0,105,0,108,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,117,0,115,0,99,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,105,0,121,0,97,0,100,0,104,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,101,0,104,0,114,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,101,0,118,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,79,0,115,0,108,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,82,0,111,0,109,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,104,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,103,0,97,0,100,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,73,0,114,0,107,0,117,0,116,0,115,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,109,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,114,0,97,0,99,0,104,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,98,0,105,0,108,0,105,0,115,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,114,0,101,0,118,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,105,0,115,0,104,0,107,0,101,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,111,0,108,0,111,0,109,0,98,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,99,0,104,0,105,0,110,0,103,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,95,0,79,0,99,0,101,0,97,0,110,0,0,0,76,0,105,0,110,0,101,0,95,0,73,0,115,0,108,0,97,0,110,0,100,0,115,0,0,0,78,0,101,0,119,0,102,0,111,0,117,0,110,0,100,0,108,0,97,0,110,0,100,0,0,0,84,0,117,0,114,0,107,0,109,0,101,0,110,0,105,0,115,0,116,0,97,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,99,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,112,0,105,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,105,0,106,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,105,0,117,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,114,0,117,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,107,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,99,0,99,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,105,0,114,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,107,0,97,0,114,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,103,0,111,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,117,0,110,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,97,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,109,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,103,0,104,0,100,0,97,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,104,0,114,0,97,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,110,0,103,0,107,0,111,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,107,0,97,0,114,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,105,0,99,0,111,0,115,0,105,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,97,0,110,0,103,0,111,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,104,0,105,0,109,0,112,0,104,0,117,0,0,0,68,0,117,0,116,0,99,0,104,0,95,0,71,0,117,0,105,0,97,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,108,0,116,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,105,0,110,0,115,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,97,0,114,0,105,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,111,0,102,0,105,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,100,0,117,0,122,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,115,0,99,0,111,0,119,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,115,0,104,0,107,0,101,0,110,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,109,0,97,0,114,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,115,0,104,0,97,0,110,0,98,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,107,0,104,0,97,0,108,0,105,0,110,0,0,0,65,0,108,0,97,0,115,0,107,0,97,0,95,0,72,0,97,0,119,0,97,0,105,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,115,0,104,0,103,0,97,0,98,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,104,0,97,0,110,0,103,0,104,0,97,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,114,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,68,0,117,0,98,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,111,0,110,0,100,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,100,0,114,0,105,0,100,0,0,0,70,0,114,0,101,0,110,0,99,0,104,0,95,0,71,0,117,0,105,0,97,0,110,0,97,0,0,0,78,0,101,0,119,0,95,0,67,0,97,0,108,0,101,0,100,0,111,0,110,0,105,0,97,0,0,0,78,0,111,0,114,0,116,0,104,0,95,0,77,0,97,0,114,0,105,0,97,0,110,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,97,0,117,0,114,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,108,0,97,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,109,0,101,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,109,0,97,0,107,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,103,0,117,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,106,0,117,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,117,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,114,0,97,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,103,0,97,0,108,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,97,0,110,0,100,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,115,0,97,0,107,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,108,0,97,0,98,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,112,0,117,0,116,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,115,0,101,0,114,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,105,0,97,0,109,0,101,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,117,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,104,0,117,0,108,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,97,0,108,0,99,0,117,0,116,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,121,0,97,0,112,0,117,0,114,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,116,0,109,0,97,0,110,0,100,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,107,0,97,0,115,0,115,0,97,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,116,0,104,0,101,0,110,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,105,0,115,0,98,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,110,0,97,0,99,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,114,0,97,0,103,0,117,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,107,0,111,0,112,0,106,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,105,0,114,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,105,0,101,0,110,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,87,0,97,0,114,0,115,0,97,0,119,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,97,0,103,0,114,0,101,0,98,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,117,0,114,0,105,0,99,0,104,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,97,0,103,0,111,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,109,0,111,0,114,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,102,0,97,0,116,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,121,0,122,0,121,0,108,0,111,0,114,0,100,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,110,0,103,0,95,0,75,0,111,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,109,0,99,0,104,0,97,0,116,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,121,0,111,0,110,0,103,0,121,0,97,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,109,0,97,0,114,0,107,0,97,0,110,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,105,0,110,0,103,0,97,0,112,0,111,0,114,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,82,0,101,0,117,0,110,0,105,0,111,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,106,0,117,0,114,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,83,0,97,0,105,0,112,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,121,0,97,0,110,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,111,0,115,0,114,0,97,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,110,0,97,0,112,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,104,0,105,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,108,0,108,0,105,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,98,0,105,0,100,0,106,0,97,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,110,0,97,0,107,0,114,0,121,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,97,0,109,0,112,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,98,0,97,0,98,0,97,0,110,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,105,0,114,0,111,0,98,0,105,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,101,0,108,0,105,0,122,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,103,0,111,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,109,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,110,0,118,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,118,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,110,0,101,0,97,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,95,0,80,0,97,0,122,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,117,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,115,0,115,0,97,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,110,0,97,0,109,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,101,0,114,0,117,0,115,0,97,0,108,0,101,0,109,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,105,0,101,0,110,0,116,0,105,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,110,0,100,0,111,0,114,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,116,0,105,0,99,0,97,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,121,0,111,0,116,0,116,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,117,0,109,0,101,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,114,0,97,0,119,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,95,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,95,0,83,0,111,0,117,0,116,0,104,0,101,0,114,0,110,0,0,0,72,0,97,0,119,0,97,0,105,0,105,0,95,0,65,0,108,0,101,0,117,0,116,0,105,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,111,0,105,0,98,0,97,0,108,0,115,0,97,0,110,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,65,0,122,0,111,0,114,0,101,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,108,0,100,0,105,0,118,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,100,0,116,0,104,0,97,0,98,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,111,0,110,0,104,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,108,0,103,0,114,0,97,0,100,0,101,0,0,0,70,0,114,0,101,0,110,0,99,0,104,0,95,0,83,0,111,0,117,0,116,0,104,0,101,0,114,0,110,0,0,0,71,0,105,0,108,0,98,0,101,0,114,0,116,0,95,0,73,0,115,0,108,0,97,0,110,0,100,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,67,0,104,0,97,0,116,0,104,0,97,0,109,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,109,0,98,0,105,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,114,0,102,0,111,0,108,0,107,0,0,0,80,0,104,0,111,0,101,0,110,0,105,0,120,0,95,0,73,0,115,0,108,0,97,0,110,0,100,0,115,0,0,0,80,0,105,0,101,0,114,0,114,0,101,0,95,0,77,0,105,0,113,0,117,0,101,0,108,0,111,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,108,0,97,0,110,0,116,0,121,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,106,0,105,0,98,0,111,0,117,0,116,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,65,0,97,0,105,0,117,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,70,0,114,0,101,0,101,0,116,0,111,0,119,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,71,0,97,0,98,0,111,0,114,0,111,0,110,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,110,0,115,0,104,0,97,0,115,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,114,0,111,0,118,0,105,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,100,0,106,0,97,0,109,0,101,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,116,0,105,0,103,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,114,0,97,0,99,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,101,0,110,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,99,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,114,0,97,0,99,0,97,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,114,0,101,0,110,0,97,0,100,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,108,0,105,0,102,0,97,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,97,0,109,0,97,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,105,0,103,0,111,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,105,0,106,0,117,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,111,0,110,0,116,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,116,0,111,0,108,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,104,0,110,0,111,0,109,0,95,0,80,0,101,0,110,0,104,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,110,0,97,0,114,0,121,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,70,0,97,0,101,0,114,0,111,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,69,0,117,0,99,0,108,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,80,0,101,0,114,0,116,0,104,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,117,0,115,0,115,0,101,0,108,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,100,0,97,0,112,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,72,0,101,0,108,0,115,0,105,0,110,0,107,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,116,0,97,0,110,0,98,0,117,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,114,0,97,0,106,0,101,0,118,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,97,0,107,0,97,0,111,0,102,0,111,0,0,0,49,0,57,0,55,0,48,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,57,0,57,0,57,0,57,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,50,0,51,0,58,0,53,0,57,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,95,0,77,0,111,0,117,0,110,0,116,0,97,0,105,0,110,0,0,0,49,0,57,0,55,0,49,0,45,0,49,0,48,0,45,0,51,0,49,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,49,0,48,0,45,0,50,0,57,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,54,0,45,0,48,0,52,0,45,0,48,0,50,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,57,0,45,0,48,0,51,0,45,0,50,0,53,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,54,0,45,0,48,0,49,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,54,0,45,0,50,0,48,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,48,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,51,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,49,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,51,0,45,0,51,0,48,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,50,0,45,0,49,0,53,0,32,0,49,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,56,0,45,0,48,0,52,0,45,0,48,0,53,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,50,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,51,0,45,0,49,0,49,0,45,0,51,0,48,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,67,0,97,0,115,0,101,0,121,0,0,0,49,0,57,0,55,0,50,0,45,0,48,0,53,0,45,0,51,0,49,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,52,0,45,0,48,0,49,0,45,0,48,0,54,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,52,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,49,0,50,0,45,0,50,0,51,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,52,0,45,0,48,0,51,0,45,0,49,0,54,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,51,0,45,0,48,0,49,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,51,0,45,0,48,0,51,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,53,0,45,0,48,0,55,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,56,0,45,0,51,0,49,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,48,0,45,0,50,0,48,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,53,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,48,0,49,0,45,0,49,0,53,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,49,0,50,0,45,0,50,0,50,0,32,0,49,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,49,0,45,0,48,0,52,0,45,0,48,0,49,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,53,0,45,0,51,0,49,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,55,0,45,0,50,0,53,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,55,0,45,0,48,0,51,0,45,0,49,0,49,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,55,0,45,0,49,0,49,0,45,0,48,0,52,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,56,0,45,0,48,0,54,0,45,0,50,0,52,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,49,0,45,0,48,0,51,0,45,0,50,0,55,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,51,0,45,0,49,0,49,0,45,0,49,0,48,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,48,0,45,0,49,0,49,0,45,0,48,0,49,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,52,0,45,0,48,0,50,0,45,0,50,0,57,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,114,0,97,0,115,0,110,0,111,0,121,0,97,0,114,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,108,0,97,0,100,0,105,0,118,0,111,0,115,0,116,0,111,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,111,0,118,0,111,0,115,0,105,0,98,0,105,0,114,0,115,0,107,0,0,0,49,0,57,0,56,0,51,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,49,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,49,0,45,0,49,0,57,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,49,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,49,0,50,0,45,0,48,0,51,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,77,0,97,0,114,0,115,0,104,0,97,0,108,0,108,0,95,0,73,0,115,0,108,0,97,0,110,0,100,0,115,0,0,0,80,0,97,0,112,0,117,0,97,0,95,0,78,0,101,0,119,0,95,0,71,0,117,0,105,0,110,0,101,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,111,0,108,0,103,0,111,0,103,0,114,0,97,0,100,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,114,0,105,0,115,0,116,0,109,0,97,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,117,0,114,0,105,0,116,0,105,0,117,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,105,0,116,0,99,0,97,0,105,0,114,0,110,0,0,0,49,0,57,0,55,0,49,0,45,0,48,0,51,0,45,0,50,0,53,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,49,0,45,0,48,0,51,0,45,0,50,0,53,0,32,0,49,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,50,0,45,0,48,0,52,0,45,0,51,0,48,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,50,0,45,0,48,0,53,0,45,0,48,0,49,0,32,0,48,0,48,0,58,0,52,0,53,0,0,0,49,0,57,0,55,0,50,0,45,0,48,0,56,0,45,0,51,0,48,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,51,0,45,0,48,0,52,0,45,0,50,0,57,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,51,0,45,0,48,0,53,0,45,0,48,0,49,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,52,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,53,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,53,0,45,0,48,0,50,0,45,0,49,0,54,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,53,0,45,0,49,0,49,0,45,0,50,0,48,0,32,0,48,0,51,0,58,0,51,0,48,0,0,0,49,0,57,0,55,0,54,0,45,0,48,0,52,0,45,0,49,0,52,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,54,0,45,0,48,0,53,0,45,0,48,0,50,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,54,0,45,0,48,0,57,0,45,0,50,0,54,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,55,0,45,0,49,0,48,0,45,0,50,0,48,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,55,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,56,0,45,0,48,0,54,0,45,0,50,0,56,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,57,0,45,0,48,0,52,0,45,0,50,0,57,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,57,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,48,0,45,0,48,0,53,0,45,0,48,0,49,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,48,0,50,0,45,0,50,0,56,0,32,0,49,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,48,0,51,0,45,0,50,0,57,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,48,0,51,0,45,0,51,0,49,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,48,0,53,0,45,0,48,0,49,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,48,0,57,0,45,0,51,0,48,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,49,0,54,0,58,0,51,0,48,0,0,0,49,0,57,0,56,0,49,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,50,0,45,0,48,0,51,0,45,0,51,0,49,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,50,0,45,0,48,0,53,0,45,0,48,0,49,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,50,0,45,0,49,0,50,0,45,0,48,0,50,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,51,0,45,0,48,0,51,0,45,0,51,0,49,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,51,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,53,0,45,0,48,0,52,0,45,0,49,0,57,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,53,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,54,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,55,0,45,0,48,0,57,0,45,0,51,0,48,0,32,0,49,0,56,0,58,0,51,0,48,0,0,0,49,0,57,0,56,0,55,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,56,0,45,0,48,0,52,0,45,0,48,0,51,0,32,0,48,0,52,0,58,0,48,0,49,0,0,0,49,0,57,0,56,0,56,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,48,0,50,0,58,0,48,0,49,0,0,0,49,0,57,0,56,0,57,0,45,0,48,0,51,0,45,0,50,0,53,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,51,0,45,0,48,0,52,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,51,0,45,0,49,0,52,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,51,0,45,0,50,0,48,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,53,0,45,0,48,0,51,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,53,0,45,0,48,0,53,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,54,0,45,0,51,0,48,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,48,0,45,0,48,0,54,0,45,0,51,0,48,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,52,0,45,0,48,0,56,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,54,0,45,0,48,0,49,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,56,0,45,0,50,0,57,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,56,0,45,0,51,0,48,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,57,0,45,0,48,0,56,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,57,0,45,0,50,0,50,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,48,0,57,0,45,0,50,0,57,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,48,0,45,0,50,0,54,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,50,0,45,0,49,0,53,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,49,0,45,0,49,0,56,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,51,0,45,0,50,0,56,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,57,0,45,0,50,0,52,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,57,0,45,0,50,0,55,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,48,0,57,0,45,0,50,0,55,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,51,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,51,0,45,0,48,0,51,0,45,0,50,0,56,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,51,0,45,0,48,0,56,0,45,0,50,0,49,0,32,0,49,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,52,0,45,0,48,0,51,0,45,0,50,0,48,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,52,0,45,0,48,0,52,0,45,0,51,0,48,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,54,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,54,0,45,0,48,0,51,0,45,0,51,0,49,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,54,0,45,0,48,0,53,0,45,0,50,0,52,0,32,0,49,0,56,0,58,0,51,0,48,0,0,0,49,0,57,0,57,0,54,0,45,0,48,0,57,0,45,0,50,0,57,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,55,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,55,0,45,0,48,0,51,0,45,0,51,0,48,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,55,0,45,0,49,0,48,0,45,0,48,0,51,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,56,0,45,0,48,0,51,0,45,0,50,0,57,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,56,0,45,0,48,0,56,0,45,0,48,0,50,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,57,0,45,0,49,0,48,0,45,0,48,0,51,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,57,0,45,0,49,0,48,0,45,0,51,0,49,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,57,0,45,0,49,0,48,0,45,0,51,0,49,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,57,0,45,0,49,0,48,0,45,0,51,0,49,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,57,0,45,0,49,0,50,0,45,0,49,0,57,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,48,0,51,0,45,0,48,0,51,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,48,0,57,0,45,0,49,0,54,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,49,0,48,0,45,0,50,0,57,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,49,0,49,0,45,0,48,0,53,0,32,0,48,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,48,0,45,0,49,0,50,0,45,0,48,0,51,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,49,0,45,0,48,0,52,0,45,0,48,0,49,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,51,0,45,0,49,0,48,0,45,0,50,0,54,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,51,0,45,0,49,0,50,0,45,0,51,0,49,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,54,0,45,0,49,0,51,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,49,0,48,0,45,0,51,0,48,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,54,0,45,0,48,0,52,0,45,0,49,0,52,0,32,0,49,0,56,0,58,0,51,0,48,0,0,0,50,0,48,0,48,0,54,0,45,0,49,0,48,0,45,0,50,0,57,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,56,0,45,0,48,0,49,0,45,0,50,0,49,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,56,0,45,0,48,0,51,0,45,0,51,0,48,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,56,0,45,0,48,0,54,0,45,0,50,0,52,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,57,0,45,0,49,0,48,0,45,0,49,0,49,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,57,0,45,0,49,0,48,0,45,0,49,0,55,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,48,0,45,0,48,0,51,0,45,0,48,0,52,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,48,0,45,0,48,0,51,0,45,0,50,0,55,0,32,0,49,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,48,0,45,0,48,0,51,0,45,0,50,0,55,0,32,0,49,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,48,0,45,0,48,0,52,0,45,0,48,0,52,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,48,0,45,0,49,0,49,0,45,0,48,0,55,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,49,0,45,0,48,0,57,0,45,0,49,0,50,0,32,0,49,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,49,0,45,0,48,0,57,0,45,0,49,0,50,0,32,0,49,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,49,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,50,0,45,0,48,0,50,0,45,0,50,0,49,0,32,0,49,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,50,0,45,0,49,0,49,0,45,0,49,0,48,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,51,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,48,0,51,0,45,0,51,0,48,0,32,0,48,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,49,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,48,0,45,0,50,0,53,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,48,0,45,0,50,0,54,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,53,0,45,0,48,0,50,0,45,0,48,0,49,0,32,0,48,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,53,0,45,0,48,0,51,0,45,0,48,0,56,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,53,0,45,0,48,0,51,0,45,0,48,0,56,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,53,0,45,0,48,0,56,0,45,0,49,0,52,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,53,0,45,0,49,0,49,0,45,0,48,0,49,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,48,0,51,0,45,0,50,0,54,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,48,0,51,0,45,0,50,0,54,0,32,0,50,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,48,0,57,0,45,0,48,0,54,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,49,0,48,0,45,0,50,0,49,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,55,0,45,0,49,0,48,0,45,0,50,0,51,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,55,0,45,0,49,0,48,0,45,0,51,0,49,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,48,0,51,0,45,0,49,0,48,0,32,0,49,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,48,0,51,0,45,0,49,0,49,0,32,0,48,0,55,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,48,0,53,0,45,0,48,0,52,0,32,0,49,0,53,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,49,0,48,0,45,0,48,0,54,0,32,0,50,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,49,0,48,0,45,0,50,0,56,0,32,0,48,0,50,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,49,0,49,0,45,0,48,0,52,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,56,0,45,0,49,0,50,0,45,0,50,0,48,0,32,0,49,0,56,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,57,0,45,0,48,0,49,0,45,0,48,0,49,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,57,0,45,0,48,0,49,0,45,0,50,0,48,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,57,0,45,0,48,0,51,0,45,0,49,0,54,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,57,0,45,0,49,0,48,0,45,0,48,0,51,0,32,0,49,0,57,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,48,0,45,0,48,0,51,0,45,0,48,0,55,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,48,0,45,0,49,0,48,0,45,0,48,0,51,0,32,0,49,0,54,0,58,0,48,0,49,0,0,0,50,0,48,0,50,0,49,0,45,0,48,0,49,0,45,0,51,0,49,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,49,0,45,0,48,0,51,0,45,0,49,0,51,0,32,0,49,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,49,0,45,0,49,0,48,0,45,0,48,0,50,0,32,0,49,0,54,0,58,0,48,0,49,0,0,0,50,0,48,0,50,0,50,0,45,0,48,0,51,0,45,0,49,0,50,0,32,0,49,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,50,0,45,0,49,0,48,0,45,0,48,0,49,0,32,0,49,0,54,0,58,0,48,0,49,0,0,0,50,0,48,0,50,0,50,0,45,0,49,0,49,0,45,0,51,0,48,0,32,0,48,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,51,0,45,0,48,0,51,0,45,0,48,0,56,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,52,0,45,0,48,0,51,0,45,0,50,0,54,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,52,0,45,0,48,0,51,0,45,0,51,0,49,0,32,0,48,0,49,0,58,0,48,0,48,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,105,0,97,0,103,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,117,0,99,0,107,0,108,0,97,0,110,0,100,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,97,0,118,0,105,0,115,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,83,0,121,0,111,0,119,0,97,0,0,0,49,0,57,0,55,0,51,0,45,0,49,0,48,0,45,0,50,0,56,0,32,0,48,0,57,0,58,0,48,0,48,0,0,0,49,0,57,0,55,0,53,0,45,0,48,0,54,0,45,0,49,0,50,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,48,0,45,0,48,0,52,0,45,0,50,0,55,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,48,0,45,0,49,0,48,0,45,0,50,0,54,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,56,0,51,0,45,0,49,0,49,0,45,0,51,0,48,0,32,0,49,0,48,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,49,0,45,0,49,0,48,0,45,0,48,0,54,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,49,0,57,0,57,0,50,0,45,0,49,0,48,0,45,0,49,0,56,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,53,0,45,0,50,0,51,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,53,0,45,0,51,0,48,0,32,0,48,0,51,0,58,0,48,0,48,0,0,0,50,0,48,0,48,0,52,0,45,0,48,0,57,0,45,0,50,0,54,0,32,0,48,0,52,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,52,0,45,0,49,0,50,0,45,0,50,0,55,0,32,0,49,0,54,0,58,0,48,0,48,0,0,0,50,0,48,0,49,0,54,0,45,0,48,0,57,0,45,0,48,0,55,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,50,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,50,0,49,0,58,0,48,0,48,0,0,0,50,0,48,0,50,0,50,0,45,0,49,0,48,0,45,0,50,0,55,0,32,0,50,0,50,0,58,0,48,0,48,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,106,0,117,0,109,0,98,0,117,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,103,0,97,0,100,0,105,0,115,0,104,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,103,0,117,0,105,0,108,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,117,0,110,0,99,0,105,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,114,0,98,0,97,0,100,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,109,0,105,0,110,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,100,0,109,0,111,0,110,0,116,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,122,0,97,0,116,0,108,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,105,0,113,0,117,0,101,0,108,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,101,0,119,0,95,0,89,0,111,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,74,0,111,0,104,0,110,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,75,0,105,0,116,0,116,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,76,0,117,0,99,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,110,0,105,0,112,0,101,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,97,0,110,0,98,0,97,0,97,0,116,0,97,0,114,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,66,0,101,0,114,0,109,0,117,0,100,0,97,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,97,0,110,0,108,0,101,0,121,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,121,0,100,0,110,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,109,0,115,0,116,0,101,0,114,0,100,0,97,0,109,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,99,0,104,0,97,0,114,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,71,0,105,0,98,0,114,0,97,0,108,0,116,0,97,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,106,0,117,0,98,0,108,0,106,0,97,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,114,0,105,0,101,0,104,0,97,0,109,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,111,0,100,0,103,0,111,0,114,0,105,0,99,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,116,0,111,0,99,0,107,0,104,0,111,0,108,0,109,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,75,0,101,0,114,0,103,0,117,0,101,0,108,0,101,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,117,0,110,0,97,0,102,0,117,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,72,0,111,0,110,0,111,0,108,0,117,0,108,0,117,0,0,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,73,0,110,0,100,0,111,0,110,0,101,0,115,0,105,0,97,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,71,0,114,0,101,0,101,0,110,0,108,0,97,0,110,0,100,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,73,0,110,0,100,0,111,0,110,0,101,0,115,0,105,0,97,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,108,0,97,0,112,0,97,0,103,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,114,0,113,0,117,0,101,0,115,0,97,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,95,0,70,0,97,0,114,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,121,0,97,0,113,0,117,0,105,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,97,0,108,0,97,0,95,0,76,0,117,0,109,0,112,0,117,0,114,0,0,0,71,0,114,0,101,0,101,0,110,0,108,0,97,0,110,0,100,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,73,0,110,0,100,0,111,0,110,0,101,0,115,0,105,0,97,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,97,0,119,0,115,0,111,0,110,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,86,0,111,0,115,0,116,0,111,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,111,0,115,0,101,0,95,0,66,0,97,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,119,0,97,0,106,0,97,0,108,0,101,0,105,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,98,0,114,0,101,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,98,0,117,0,109,0,98,0,97,0,115,0,104,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,117,0,97,0,107,0,99,0,104,0,111,0,116,0,116,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,45,0,78,0,111,0,118,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,99,0,104,0,111,0,114,0,97,0,103,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,116,0,101,0,109,0,97,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,80,0,97,0,117,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,84,0,104,0,111,0,109,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,86,0,97,0,110,0,99,0,111,0,117,0,118,0,101,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,97,0,116,0,105,0,115,0,108,0,97,0,118,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,111,0,112,0,101,0,110,0,104,0,97,0,103,0,101,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,117,0,120,0,101,0,109,0,98,0,111,0,117,0,114,0,103,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,110,0,95,0,77,0,97,0,114,0,105,0,110,0,111,0,0,0,71,0,114,0,101,0,101,0,110,0,108,0,97,0,110,0,100,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,110,0,100,0,101,0,114,0,98,0,117,0,114,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,103,0,111,0,95,0,80,0,97,0,103,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,82,0,97,0,114,0,111,0,116,0,111,0,110,0,103,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,111,0,110,0,103,0,97,0,116,0,97,0,112,0,117,0,0,0,75,0,97,0,122,0,97,0,107,0,104,0,115,0,116,0,97,0,110,0,95,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,75,0,97,0,122,0,97,0,107,0,104,0,115,0,116,0,97,0,110,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,107,0,97,0,116,0,101,0,114,0,105,0,110,0,98,0,117,0,114,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,114,0,97,0,109,0,97,0,114,0,105,0,98,0,111,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,82,0,111,0,116,0,104,0,101,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,100,0,105,0,115,0,95,0,65,0,98,0,97,0,98,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,114,0,97,0,122,0,122,0,97,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,79,0,117,0,97,0,103,0,97,0,100,0,111,0,117,0,103,0,111,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,115,0,116,0,97,0,95,0,82,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,100,0,101,0,108,0,111,0,117,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,114,0,97,0,108,0,101,0,110,0,100,0,105,0,106,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,116,0,105,0,110,0,105,0,113,0,117,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,101,0,118,0,105,0,100,0,101,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,115,0,101,0,114,0,114,0,97,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,105,0,111,0,95,0,66,0,114,0,97,0,110,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,86,0,105,0,110,0,99,0,101,0,110,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,104,0,105,0,116,0,101,0,104,0,111,0,114,0,115,0,101,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,99,0,77,0,117,0,114,0,100,0,111,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,82,0,101,0,121,0,107,0,106,0,97,0,118,0,105,0,107,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,95,0,72,0,101,0,108,0,101,0,110,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,100,0,101,0,108,0,97,0,105,0,100,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,97,0,108,0,105,0,110,0,105,0,110,0,103,0,114,0,97,0,100,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,105,0,114,0,105,0,116,0,105,0,109,0,97,0,116,0,105,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,112,0,101,0,95,0,86,0,101,0,114,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,111,0,114,0,100,0,95,0,72,0,111,0,119,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,74,0,111,0,104,0,97,0,110,0,110,0,101,0,115,0,98,0,117,0,114,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,83,0,97,0,108,0,118,0,97,0,100,0,111,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,115,0,95,0,65,0,110,0,103,0,101,0,108,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,67,0,105,0,116,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,117,0,101,0,114,0,116,0,111,0,95,0,82,0,105,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,101,0,103,0,117,0,99,0,105,0,103,0,97,0,108,0,112,0,97,0,0,0,65,0,114,0,99,0,116,0,105,0,99,0,47,0,76,0,111,0,110,0,103,0,121,0,101,0,97,0,114,0,98,0,121,0,101,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,65,0,110,0,116,0,97,0,110,0,97,0,110,0,97,0,114,0,105,0,118,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,100,0,97,0,108,0,99,0,97,0,110,0,97,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,99,0,111,0,114,0,101,0,115,0,98,0,121,0,115,0,117,0,110,0,100,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,114,0,95,0,101,0,115,0,95,0,83,0,97,0,108,0,97,0,97,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,114,0,116,0,95,0,77,0,111,0,114,0,101,0,115,0,98,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,119,0,101,0,114,0,95,0,80,0,114,0,105,0,110,0,99,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,95,0,111,0,102,0,95,0,83,0,112,0,97,0,105,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,111,0,95,0,68,0,111,0,109,0,105,0,110,0,103,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,95,0,70,0,117,0,114,0,116,0,104,0,101,0,114,0,95,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,111,0,117,0,116,0,104,0,95,0,71,0,101,0,111,0,114,0,103,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,45,0,97,0,117,0,45,0,80,0,114,0,105,0,110,0,99,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,95,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,87,0,101,0,115,0,116,0,101,0,114,0,110,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,117,0,109,0,111,0,110,0,116,0,68,0,85,0,114,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,110,0,95,0,76,0,117,0,105,0,115,0,0,0,1,0,50,0,83,34,1,0,50,0,121,2,8,0,50,0,81,0,84,0,87,0,90,0,93,0,96,0,99,0,45,7,229,28,85,12,23,32,21,12,245,6,17,7,231,6,10,0,50,0,117,0,120,0,123,0,126,0,129,0,132,0,135,0,138,0,141,0,231,9,37,12,161,6,168,33,69,8,178,35,246,28,239,35,201,9,200,10,1,0,50,0,53,12,3,0,50,0,178,0,181,0,38,35,59,7,216,9,11,0,50,0,199,0,202,0,87,0,205,0,208,0,211,0,214,0,217,0,220,0,223,0,214,4,3,7,59,32,101,12,189,6,187,33,217,6,5,32,31,7,73,7,133,12,1,0,50,0,187,2,1,0,50,0,65,10,1,0,50,0,77,32,1,0,50,0,199,2,1,0,50,0,95,10,8,0,50,0,25,1,28,1,31,1,34,1,37,1,40,1,43,1,197,12,246,9,194,29,225,33,95,32,138,35,98,35,58,35,7,0,50,0,62,1,28,1,65,1,68,1,71,1,74,1,126,29,110,10,53,13,158,36,5,13,20,10,125,10,2,0,50,0,28,1,35,10,75,29,3,0,50,0,28,1,40,1,78,35,149,32,37,13,1,0,50,0,223,2,1,0,50,0,110,4,1,0,50,0,0,2,1,0,50,0,187,2,6,0,50,0,118,1,121,1,124,1,127,1,130,1,99,3,23,5,10,5,63,3,132,2,206,1,1,0,50,0,4,36,1,0,50,0,232,36,1,0,50,0,249,3,1,0,50,0,7,6,23,0,50,0,188,1,191,1,194,1,197,1,200,1,203,1,206,1,209,1,212,1,215,1,218,1,221,1,224,1,227,1,230,1,233,1,236,1,239,1,242,1,245,1,248,1,251,1,245,12,149,12,7,29,87,7,41,29,228,29,7,34,213,12,58,29,229,12,101,7,244,33,160,29,177,29,21,13,26,34,64,34,118,35,46,36,68,36,102,34,69,13,131,32,1,0,50,0,197,34,1,0,50,0,133,13,1,0,50,0,6,30,1,0,50,0,149,13,1,0,50,0,136,1,1,0,50,0,85,11,1,0,50,0,136,1,1,0,50,0,44,2,1,0,50,0,240,4,1,0,50,0,88,5,1,0,50,0,80,10,1,0,50,0,32,4,1,0,50,0,113,32,1,0,50,0,63,6,1,0,50,0,235,2,1,0,50,0,254,34,1,0,50,0,55,15,2,0,50,0,154,2,66,9,210,3,1,0,50,0,197,11,1,0,50,0,179,27,1,0,50,0,21,6,1,0,50,0,69,11,1,0,50,0,121,17,1,0,50,0,97,4,1,0,50,0,5,10,1,0,50,0,37,33,1,0,50,0,50,10,1,0,50,0,44,2,1,0,50,0,213,27,1,0,50,0,90,36,1,0,50,0,206,36,1,0,50,0,221,5,1,0,50,0,130,33,1,0,50,0,216,1,1,0,50,0,96,9,1,0,50,0,117,31,33,0,50,0,251,2,254,2,1,3,4,3,7,3,10,3,13,3,16,3,19,3,22,3,25,3,28,3,31,3,34,3,37,3,40,3,43,3,46,3,49,3,238,29,52,3,55,3,58,3,61,3,64,3,67,3,70,3,73,3,76,3,79,3,82,3,85,3,140,5,170,10,241,7,255,7,229,13,165,13,41,8,213,7,35,6,185,32,77,6,57,30,27,8,181,13,147,3,166,5,203,32,199,7,108,30,227,7,114,5,23,30,135,3,13,8,149,11,125,30,74,30,158,35,167,32,221,32,227,4,185,10,149,11,8,0,50,0,103,3,106,3,109,3,112,3,115,3,118,3,121,3,40,30,91,30,153,5,62,5,188,4,197,13,171,7,51,3,2,0,50,0,147,3,127,5,216,34,2,0,50,0,165,3,101,13,117,13,1,0,50,0,245,29,1,0,50,0,123,4,1,0,50,0,181,12,1,0,50,0,142,30,1,0,50,0,6,4,14,0,50,0,214,3,217,3,220,3,223,3,226,3,229,3,232,3,235,3,238,3,241,3,244,3,247,3,250,3,159,34,206,33,171,9,63,6,175,4,203,6,186,9,49,6,175,6,41,32,178,34,69,12,201,4,39,3,1,0,50,0,63,31,1,0,50,0,213,11,1,0,50,0,236,3,1,0,50,0,230,10,1,0,50,0,225,31,1,0,50,0,117,11,1,0,50,0,218,35,1,0,50,0,218,35,1,0,50,0,117,11,1,0,50,0,210,3,2,0,50,0,82,4,110,2,87,3,1,0,50,0,81,9,1,0,50,0,176,30,1,0,50,0,217,8,1,0,50,0,156,1,2,0,50,0,107,4,115,7,19,4,1,0,50,0,55,8,3,0,50,0,133,4,136,4,36,5,85,13,155,10,1,0,50,0,157,7,1,0,50,0,129,7,1,0,50,0,49,5,1,0,50,0,111,3,1,0,50,0,49,6,1,0,50,0,197,3,1,0,50,0,140,10,1,0,50,0,154,2,1,0,50,0,232,8,1,0,50,0,223,3,1,0,50,0,199,2,1,0,50,0,187,2,1,0,50,0,202,8,1,0,50,0,143,2,1,0,50,0,111,9,1,0,50,0,207,16,1,0,50,0,207,5,1,0,50,0,243,31,1,0,50,0,6,4,1,0,50,0,19,4,1,0,50,0,117,12,1,0,50,0,235,34,1,0,50,0,18,35,1,0,50,0,33,2,1,0,50,0,184,3,1,0,50,0,135,31,1,0,50,0,32,4,1,0,50,0,101,11,1,0,50,0,81,31,1,0,50,0,51,9,1,0,50,0,138,17,1,0,50,0,189,31,1,0,50,0,92,29,1,0,50,0,211,29,1,0,50,0,179,5,1,0,50,0,75,5,1,0,50,0,133,6,1,0,50,0,143,7,1,0,50,0,215,10,2,0,50,0,159,5,196,27,140,34,1,0,50,0,143,29,1,0,50,0,136,4,1,0,50,0,229,11,1,0,50,0,133,11,1,0,50,0,66,9,1,0,50,0,241,16,1,0,50,0,166,1,1,0,50,0,146,1,1,0,50,0,223,3,1,0,50,0,147,6,1,0,50,0,25,36,1,0,50,0,24,29,1,0,50,0,253,4,1,0,50,0,75,3,1,0,50,0,1,33,1,0,50,0,109,29,1,0,50,0,155,17,1,0,50,0,126,9,1,0,50,0,247,8,1,0,50,0,202,8,1,0,50,0,36,9,1,0,50,0,149,33,1,0,50,0,235,5,1,0,50,0,207,5,1,0,50,0,6,9,1,0,50,0,19,33,1,0,50,0,159,3,1,0,50,0,0,2,1,0,50,0,21,9,1,0,50,0,198,35,1,0,50,0,135,36,1,0,50,0,130,33,1,0,50,0,111,33,1,0,50,0,230,27,1,0,50,0,141,9,1,0,50,0,247,2,1,0,50,0,221,5,1,0,50,0,193,5,1,0,50,0,236,3,1,0,50,0,245,13,1,0,50,0,55,33,1,0,50,0,149,4,1,0,50,0,213,13,1,0,50,0,7,6,1,0,50,0,159,30,1,0,50,0,146,1,1,0,50,0,45,34,1,0,50,0,27,3,1,0,50,0,193,5,1,0,50,0,83,8,1,0,50,0,165,12,1,0,50,0,224,16,1,0,50,0,104,17,1,0,50,0,207,31,1,0,50,0,162,4,1,0,50,0,156,9,1,0,50,0,171,3,1,0,50,0,111,33,1,0,50,0,249,3,1,0,50,0,121,34,158,0,187,6,192,6,197,6,202,6,207,6,212,6,217,6,222,6,227,6,232,6,237,6,242,6,247,6,252,6,1,7,6,7,11,7,16,7,21,7,26,7,31,7,180,19,36,7,41,7,46,7,51,7,56,7,61,7,66,7,71,7,76,7,81,7,86,7,91,7,96,7,101,7,106,7,111,7,116,7,121,7,126,7,131,7,136,7,141,7,146,7,151,7,156,7,161,7,166,7,171,7,176,7,181,7,186,7,191,7,196,7,201,7,206,7,211,7,216,7,221,7,226,7,231,7,236,7,241,7,246,7,251,7,0,8,5,8,10,8,15,8,20,8,14,21,25,8,30,8,210,5,35,8,40,8,45,8,50,8,55,8,60,8,65,8,70,8,75,8,80,8,85,8,90,8,95,8,100,8,105,8,110,8,115,8,120,8,125,8,22,17,130,8,135,8,140,8,145,8,150,8,155,8,160,8,165,8,170,8,175,8,180,8,185,8,190,8,195,8,200,8,205,8,210,8,215,8,220,8,225,8,230,8,96,11,235,8,240,8,245,8,250,8,255,8,4,9,9,9,14,9,19,9,24,9,29,9,34,9,39,9,44,9,49,9,54,9,59,9,64,9,69,9,74,9,79,9,84,9,89,9,94,9,99,9,104,9,109,9,114,9,119,9,124,9,129,9,134,9,139,9,144,9,149,9,154,9,159,9,164,9,169,9,174,9,179,9,5,0,127,8,157,8,3,3,37,11,142,8,204,2,114,0,107,0,245,10,5,11,39,14,21,11,228,2,118,4,5,2,192,2,184,0,106,1,208,0,193,30,16,1,247,30,181,36,229,30,211,30,55,2,94,11,66,2,135,0,216,0,25,1,240,2,66,15,7,35,43,1,205,11,41,0,53,0,74,11,128,17,104,4,61,1,15,0,20,0,224,27,217,36,104,9,11,2,200,0,97,8,112,8,112,36,172,8,70,1,131,4,91,6,165,11,71,31,221,11,150,36,181,11,153,31,126,1,27,31,218,3,10,0,89,9,53,11,222,8,161,1,9,31,35,0,116,1,171,31,45,4,45,31,25,0,202,3,128,0,71,0,92,33,237,8,73,33,47,0,119,9,212,16,176,1,77,0,58,4,28,35,38,2,189,3,70,17,52,1,108,11,89,31,145,17,200,31,187,8,1,0,34,1,186,5,224,0,141,6,105,6,83,0,71,4,211,2,144,4,119,6,237,11,141,11,246,16,171,1,79,1,155,6,87,17,88,1,30,0,15,3,245,11,5,12,163,17,134,9,252,8,207,8,43,9,160,33,240,5,214,5,59,0,77,2,26,9,144,36,232,0,97,1,241,27,149,9,252,2,88,2,240,0,89,0,157,4,84,4,149,0,248,0,22,2,0,1,186,1,229,16,111,17,218,31,170,4,164,9,176,3,116,33,65,0,1,0,1,0,1,0,1,0,1,0,157,8,3,0,172,8,5,14,154,18,3,0,97,8,154,18,222,18,3,0,172,8,222,18,51,19,3,0,97,8,51,19,22,14,1,0,157,8,1,0,1,0,1,0,142,8,1,0,1,0,3,0,99,31,5,14,52,18,3,0,1,0,52,18,22,14,1,0,127,8,1,0,142,8,1,0,127,8,1,0,112,8,3,0,172,8,5,14,140,15,3,0,97,8,140,15,238,19,3,0,172,8,238,19,129,26,3,0,172,8,5,14,140,15,3,0,97,8,140,15,22,14,1,0,1,0,1,0,1,0,1,0,157,8,1,0,157,8,1,0,142,8,3,0,99,31,5,14,103,18,3,0,172,8,103,18,129,26,1,0,1,0,1,0,127,8,1,0,127,8,1,0,37,11,3,0,127,8,5,14,3,16,3,0,157,8,3,16,26,27,3,0,127,8,26,27,22,14,1,0,157,8,3,0,127,8,5,14,3,16,3,0,157,8,3,16,27,26,3,0,127,8,27,26,22,14,1,0,127,8,1,0,142,8,1,0,142,8,1,0,142,8,1,0,1,0,1,0,142,8,1,0,127,8,1,0,127,8,1,0,142,8,1,0,127,8,1,0,37,11,1,0,37,11,1,0,157,8,3,0,8,1,5,14,223,17,3,0,1,0,223,17,22,14,1,0,157,8,1,0,142,8,1,0,142,8,1,0,1,0,1,0,1,0,1,0,142,8,3,0,1,0,5,14,44,26,3,0,142,8,44,26,180,26,3,0,1,0,180,26,22,14,3,0,112,8,5,14,119,19,3,0,97,8,119,19,152,20,3,0,112,8,152,20,133,22,3,0,97,8,133,22,184,22,3,0,112,8,184,22,250,24,3,0,97,8,250,24,11,25,3,0,112,8,11,25,22,14,1,0,97,8,3,0,37,11,5,14,135,20,3,0,127,8,135,20,48,22,3,0,142,8,48,22,10,26,3,0,127,8,10,26,22,14,3,0,121,0,5,14,175,14,3,0,53,11,59,28,22,14,3,0,249,5,5,14,2,17,3,0,114,0,4,15,22,14,1,0,16,1,1,0,16,1,1,0,25,1,3,0,106,1,5,14,157,15,3,0,193,30,157,15,191,15,3,0,106,1,191,15,124,14,3,0,193,30,124,14,141,14,3,0,106,1,141,14,22,14,3,0,106,1,5,14,124,14,3,0,193,30,124,14,141,14,3,0,106,1,141,14,22,14,3,0,106,1,5,14,174,15,3,0,106,1,225,15,22,14,3,0,106,1,5,14,157,15,3,0,193,30,157,15,191,15,3,0,106,1,191,15,54,16,3,0,193,30,54,16,71,16,3,0,106,1,71,16,22,14,3,0,106,1,5,14,118,20,3,0,193,30,118,20,237,20,3,0,106,1,237,20,235,22,3,0,193,30,235,22,64,23,3,0,106,1,64,23,54,16,3,0,193,30,54,16,71,16,3,0,106,1,71,16,12,24,3,0,193,30,12,24,63,24,3,0,106,1,63,24,22,14,3,0,106,1,5,14,174,15,3,0,106,1,225,15,124,14,3,0,193,30,124,14,200,23,3,0,106,1,200,23,22,14,3,0,106,1,5,14,127,28,3,0,106,1,141,14,22,14,1,0,16,1,1,0,88,1,1,0,25,1,3,0,21,11,5,14,158,14,3,0,39,14,158,14,148,24,3,0,245,10,148,24,22,14,1,0,16,1,1,0,25,1,1,0,245,10,1,0,16,1,1,0,107,0,1,0,61,1,1,0,39,14,1,0,106,1,3,0,39,14,5,14,30,23,3,0,245,10,30,23,73,14,3,0,5,11,73,14,115,23,3,0,245,10,115,23,149,23,3,0,39,14,149,23,22,14,1,0,107,0,3,0,245,10,5,14,123,15,3,0,5,11,123,15,218,22,3,0,245,10,218,22,113,25,3,0,5,11,113,25,22,14,1,0,186,1,3,0,106,1,5,14,174,15,3,0,106,1,225,15,124,14,3,0,193,30,124,14,141,14,3,0,106,1,141,14,22,14,1,0,91,6,1,0,5,11,1,0,245,10,3,0,245,10,5,14,226,14,3,0,187,8,226,14,243,14,3,0,245,10,243,14,22,14,3,0,245,10,5,14,226,14,3,0,187,8,226,14,243,14,3,0,245,10,243,14,111,27,3,0,39,14,111,27,22,14,1,0,5,11,3,0,106,1,5,14,174,15,3,0,106,1,225,15,22,14,1,0,245,10,1,0,39,14,1,0,107,0,1,0,16,1,3,0,27,31,5,14,82,22,3,0,1,0,82,22,22,14,3,0,21,11,247,27,173,16,3,0,65,0,173,16,22,14,3,0,21,11,5,14,240,17,3,0,39,14,240,17,22,14,1,0,39,14,1,0,5,11,1,0,16,1,1,0,39,14,3,0,5,0,5,14,122,16,3,0,107,0,122,16,156,16,3,0,5,0,156,16,22,14,1,0,245,10,3,0,21,11,5,14,147,25,3,0,39,14,147,25,22,14,1,0,25,1,1,0,16,1,3,0,27,31,5,14,145,27,3,0,126,1,145,27,22,14,3,0,16,1,5,14,50,20,3,0,233,31,50,20,67,20,3,0,16,1,67,20,22,14,3,0,5,11,5,14,130,25,3,0,16,1,130,25,78,26,3,0,5,11,78,26,22,14,1,0,16,1,1,0,16,1,1,0,245,10,1,0,200,0,1,0,89,9,1,0,16,1,1,0,20,0,3,0,21,11,5,14,158,14,3,0,187,8,158,14,22,14,3,0,245,10,5,14,100,21,3,0,5,11,100,21,90,14,3,0,245,10,90,14,22,14,3,0,5,11,5,14,89,15,3,0,245,10,89,15,106,15,3,0,5,11,106,15,22,14,3,0,245,10,5,14,171,18,3,0,5,11,171,18,90,14,3,0,245,10,90,14,105,16,3,0,5,11,105,16,22,14,3,0,5,11,5,14,90,14,3,0,245,10,90,14,22,14,1,0,5,11,3,0,5,11,5,14,90,14,3,0,245,10,90,14,105,16,3,0,5,11,105,16,22,14,3,0,5,11,5,14,90,14,3,0,245,10,90,14,88,16,3,0,5,11,88,16,22,14,1,0,5,11,3,0,21,11,5,14,205,18,3,0,39,14,205,18,22,14,3,0,5,11,5,14,13,23,3,0,245,10,13,23,73,14,3,0,5,11,73,14,22,14,1,0,5,11,3,0,106,1,5,14,101,20,3,0,106,1,76,28,22,14,3,0,21,11,5,14,25,28,3,0,21,11,42,28,204,19,3,0,114,0,4,15,22,14,3,0,245,10,5,14,73,14,3,0,5,11,73,14,22,14,1,0,16,1,1,0,216,0,1,0,30,0,1,0,21,11,3,0,5,11,5,14,89,15,3,0,245,10,89,15,106,15,3,0,5,11,106,15,22,14,1,0,16,1,1,0,25,1,3,0,245,10,5,14,18,18,3,0,5,11,18,18,69,18,3,0,245,10,69,18,134,21,3,0,5,11,134,21,185,21,3,0,245,10,185,21,253,21,3,0,5,11,253,21,150,22,3,0,245,10,150,22,22,14,1,0,107,0,1,0,16,1,1,0,16,1,1,0,245,10,3,0,21,11,5,14,158,14,3,0,187,8,158,14,22,14,3,0,106,1,5,14,101,20,3,0,106,1,93,28,110,28,3,0,106,1,144,28,22,14,3,0,5,11,5,14,1,18,3,0,245,10,1,18,22,14,3,0,245,10,5,14,123,15,3,0,5,11,123,15,170,19,3,0,245,10,170,19,22,14,3,0,21,11,5,14,181,25,3,0,114,0,181,25,146,26,3,0,21,11,146,26,197,26,3,0,114,0,197,26,22,14,1,0,245,10,3,0,16,1,5,14,239,18,3,0,5,12,239,18,22,14,1,0,16,1,1,0,245,10,1,0,248,0,1,0,16,1,1,0,5,11,1,0,5,11,3,0,121,0,5,14,175,14,3,0,114,0,4,15,22,14,1,0,141,11,3,0,39,14,5,14,165,24,3,0,245,10,165,24,22,14,3,0,39,14,5,14,236,21,3,0,245,10,236,21,22,14,3,0,39,14,5,14,166,23,3,0,245,10,166,23,22,14,3,0,245,10,5,14,226,14,3,0,39,14,226,14,243,14,3,0,245,10,243,14,22,14,1,0,5,11,3,0,101,5,5,14,86,18,3,0,97,1,86,18,22,14,1,0,39,14,1,0,5,11,1,0,16,1,1,0,107,0,1,0,16,1,3,0,41,0,5,14,53,17,3,0,245,10,5,14,73,14,3,0,5,11,73,14,37,16,3,0,245,10,37,16,22,14,1,0,25,1,1,0,245,10,3,0,245,10,5,14,73,14,3,0,5,11,73,14,37,16,3,0,245,10,37,16,251,23,3,0,5,11,251,23,88,16,3,0,245,10,88,16,22,14,3,0,5,0,5,14,122,16,3,0,107,0,122,16,156,16,3,0,5,0,156,16,22,14,3,0,107,0,5,14,46,24,3,0,25,1,46,24,22,14,1,0,41,0,3,0,226,1,5,14,35,18,3,0,16,1,35,18,98,23,3,0,5,11,98,23,132,23,3,0,16,1,132,23,22,14,1,0,25,1,3,0,239,32,5,14,17,19,3,0,153,31,17,19,162,27,3,0,126,1,162,27,22,14,3,0,21,11,5,14,204,19,3,0,114,0,4,15,22,14,1,0,16,1,1,0,71,4,1,0,16,1,1,0,16,1,1,0,16,1,1,0,16,1,3,0,39,14,5,14,206,17,3,0,245,10,206,17,22,14,1,0,245,10,1,0,16,1,1,0,21,11,1,0,5,11,1,0,16,1,1,0,21,11,3,0,21,11,5,14,173,16,3,0,65,0,173,16,22,14,1,0,245,10,3,0,114,0,4,15,22,14,3,0,211,30,5,14,80,24,3,0,66,15,80,24,97,24,3,0,211,30,97,24,216,24,3,0,66,15,216,24,233,24,3,0,211,30,233,24,249,25,3,0,66,15,249,25,61,26,3,0,211,30,61,26,112,26,3,0,66,15,112,26,214,26,3,0,211,30,214,26,231,26,3,0,66,15,231,26,248,26,3,0,211,30,248,26,9,27,3,0,66,15,9,27,43,27,3,0,211,30,43,27,60,27,3,0,66,15,60,27,77,27,3,0,211,30,77,27,94,27,3,0,66,15,94,27,128,27,3,0,211,30,128,27,22,14,1,0,224,27,1,0,217,36,1,0,229,30,1,0,200,31,1,0,211,2,3,0,106,1,5,14,153,19,3,0,41,0,153,19,53,17,1,0,160,33,1,0,241,27,1,0,1,0,1,0,218,31,1,0,97,8,1,0,184,0,3,0,204,2,5,14,217,23,3,0,92,33,217,23,190,16,3,0,73,33,190,16,22,14,3,0,112,8,5,14,212,28,3,0,228,2,5,14,114,24,3,0,189,3,114,24,36,17,3,0,228,2,36,17,22,14,3,0,165,2,5,14,209,14,3,0,5,2,209,14,38,15,3,0,73,33,38,15,22,14,3,0,99,2,5,14,209,14,3,0,192,2,209,14,21,15,3,0,73,33,21,15,22,14,3,0,196,1,5,14,83,21,3,0,84,4,83,21,22,14,3,0,73,33,38,15,22,14,1,0,184,0,3,0,10,0,5,14,72,15,3,0,184,0,72,15,22,14,3,0,141,1,5,14,254,20,3,0,55,2,254,20,22,14,1,0,116,1,1,0,112,8,3,0,163,0,5,14,15,21,3,0,176,1,15,21,22,14,1,0,240,2,1,0,35,0,3,0,176,3,5,14,45,25,3,0,202,3,45,25,198,25,3,0,176,3,198,25,22,14,3,0,34,1,5,14,187,19,3,0,74,11,187,19,29,24,3,0,34,1,29,24,22,14,3,0,35,0,5,14,116,22,3,0,77,0,116,22,234,23,3,0,35,0,234,23,22,14,3,0,112,8,5,14,195,28,3,0,95,0,5,14,172,17,3,0,66,2,172,17,22,14,3,0,11,2,5,14,120,18,3,0,9,31,120,18,81,23,3,0,11,2,81,23,22,14,1,0,10,0,3,0,226,5,5,14,32,21,3,0,88,2,32,21,22,14,3,0,112,8,5,14,178,28,3,0,128,0,5,14,242,15,3,0,112,8,242,15,22,14,3,0,128,0,5,14,242,15,3,0,112,8,242,15,22,14,1,0,222,8,1,0,161,1,1,0,202,3,1,0,45,31,1,0,171,31,1,0,128,0,1,0,3,3,1,0,237,8,3,0,228,3,5,14,189,17,3,0,79,1,189,17,22,14,1,0,83,0,3,0,176,3,5,14,183,23,3,0,229,16,183,23,199,24,3,0,176,3,199,24,22,14,1,0,212,16,3,0,170,0,5,14,102,19,3,0,52,1,102,19,22,14,3,0,156,0,5,14,85,19,3,0,52,1,85,19,22,14,1,0,184,0,3,0,38,2,5,14,47,23,3,0,53,0,47,23,22,14,1,0,189,3,1,0,9,31,1,0,15,3,1,0,10,0,1,0,112,8,3,0,212,16,5,14,131,24,3,0,246,16,131,24,62,25,3,0,212,16,62,25,22,14,1,0,246,16,1,0,171,1,3,0,177,0,5,14,117,21,3,0,151,1,117,21,38,15,3,0,73,33,38,15,22,14,1,0,116,1,3,0,9,31,5,14,33,20,3,0,45,31,33,20,22,14,3,0,47,0,5,14,164,25,3,0,252,8,164,25,95,26,3,0,47,0,95,26,22,14,3,0,10,0,5,14,72,15,3,0,184,0,72,15,22,14,3,0,92,33,21,15,190,16,3,0,73,33,190,16,22,14,3,0,236,1,5,14,209,14,3,0,207,8,209,14,21,15,3,0,92,33,21,15,163,26,3,0,73,33,163,26,22,14,1,0,224,0,1,0,184,0,3,0,116,1,8,28,22,14,1,0,240,5,3,0,11,9,5,14,68,19,3,0,198,5,68,19,136,19,3,0,11,9,136,19,208,15,3,0,22,2,208,15,22,14,1,0,47,0,1,0,53,0,1,0,26,9,3,0,189,3,5,14,36,17,1,0,252,2,3,0,198,5,5,14,208,15,3,0,22,2,208,15,22,14,3,0,241,3,5,14,220,20,3,0,150,36,220,20,22,14,1,0,25,0,3,0,35,0,5,14,16,20,3,0,135,0,16,20,22,14,1,0,71,0,1,0,34,1,1,0,32,3,3,0,176,3,5,14,34,19,3,0,189,3,34,19,182,24,3,0,229,16,182,24,22,14,1,0,116,1,1,0,229,16,1,0,176,3,3,0,176,2,5,14,151,21,3,0,116,33,151,21,22,14,3,0,254,3,5,14,49,21,3,0,208,0,49,21,22,14,3,0,94,11,5,14,219,21,3,0,172,8,219,21,14,22,3,0,94,11,14,22,22,14,1,0,16,1,1,0,172,8,1,0,7,35,1,0,172,8,1,0,172,8,1,0,1,0,1,0,144,36,1,0,1,0,1,0,70,1,1,0,247,30,1,0,229,30,1,0,247,30,1,0,247,30,1,0,181,36,1,0,229,30,1,0,229,30,3,0,229,30,5,14,0,19,3,0,28,35,0,19,22,14,1,0,229,30,1,0,211,30,1,0,229,30,1,0,245,10,1,0,5,11,1,0,1,0,1,0,97,8,1,0,97,8,3,0,186,5,168,21,215,25,1,0,112,8,1,0,97,8,1,0,97,8,1,0,97,8,1,0,97,8,1,0,112,8,1,0,97,8,1,0,97,8,3,0,186,5,5,14,169,20,3,0,112,8,169,20,22,14,1,0,97,8,3,0,101,0,5,14,56,14,3,0,1,0,56,14,22,14,1,0,97,8,3,0,192,0,5,14,56,14,3,0,1,0,56,14,22,14,1,0,112,8,3,0,192,0,5,14,56,14,3,0,1,0,56,14,22,14,3,0,112,8,5,14,188,18,3,0,142,0,188,18,221,19,3,0,112,8,221,19,232,25,3,0,142,0,232,25,22,14,3,0,192,0,5,14,56,14,3,0,1,0,56,14,22,14,3,0,186,5,5,14,107,14,3,0,112,8,107,14,139,16,3,0,112,36,139,16,79,25,3,0,112,8,79,25,22,14,3,0,186,5,5,14,186,20,3,0,112,8,186,20,22,14,3,0,97,8,5,14,137,18,3,0,172,8,137,18,202,21,3,0,97,8,202,21,99,22,3,0,172,8,99,22,22,14,1,0,97,8,3,0,192,0,5,14,56,14,3,0,1,0,56,14,22,14,1,0,97,8,1,0,97,8,1,0,97,8,1,0,112,8,3,0,186,5,5,14,192,14,3,0,112,8,192,14,139,16,3,0,112,36,139,16,96,25,3,0,186,5,96,25,22,14,1,0,97,8,3,0,186,5,5,14,192,14,3,0,112,8,192,14,19,17,3,0,186,5,19,17,22,14,1,0,97,8,1,0,97,8,1,0,97,8,1,0,97,8,3,0,186,5,5,14,107,14,3,0,112,8,107,14,22,14,1,0,97,8,3,0,246,1,5,14,84,20,3,0,186,5,84,20,192,14,3,0,112,8,192,14,66,21,3,0,214,5,66,21,22,14,1,0,97,8,1,0,97,8,3,0,186,5,168,21,53,17,3,0,186,5,5,14,203,20,3,0,112,8,203,20,65,22,3,0,186,5,65,22,167,22,3,0,112,8,167,22,28,25,3,0,186,5,28,25,22,14,1,0,97,8,1,0,112,8,1,0,97,8,3,0,186,5,5,14,107,14,3,0,112,8,107,14,22,14,1,0,97,8,3,0,186,5,19,17,215,25,1,0,97,8,1,0,97,8,1,0,97,8,3,0,186,5,5,14,107,14,3,0,112,8,107,14,201,22,3,0,97,8,201,22,252,22,3,0,112,8,252,22,22,14,1,0,111,17,1,0,97,8,1,0,97,8,1,0,97,8,1,0,157,8,1,0,45,4,1,0,128,17,1,0,104,4,1,0,157,8,1,0,165,11,1,0,77,2,1,0,108,11,1,0,145,17,1,0,157,8,1,0,43,9,1,0,39,14,1,0,21,11,1,0,118,4,1,0,211,2,3,0,87,17,5,14,161,28,1,0,205,11,1,0,104,9,1,0,0,1,1,0,245,11,1,0,240,0,1,0,131,4,1,0,149,0,3,0,200,0,5,14,255,19,3,0,71,31,255,19,22,14,1,0,221,11,1,0,232,0,3,0,218,3,5,14,20,16,3,0,43,1,20,16,22,14,3,0,249,5,5,14,2,17,3,0,53,11,2,17,22,14,1,0,58,4,1,0,119,9,3,0,251,31,5,14,31,22,3,0,70,17,31,22,22,14,1,0,70,17,1,0,89,31,3,0,121,0,5,14,175,14,3,0,59,0,175,14,22,14,1,0,141,6,1,0,144,4,1,0,237,11,1,0,105,6,3,0,121,0,5,14,175,14,3,0,59,0,175,14,22,14,1,0,155,6,1,0,163,17,1,0,134,9,1,0,87,17,1,0,15,0,3,0,119,6,5,14,20,16,3,0,43,1,20,16,22,14,1,0,149,9,1,0,181,11,1,0,89,0,1,0,157,4,1,0,170,4,1,0,164,9,11,0,125,36,128,36,16,3,131,36,22,3,134,36,137,36,140,36,143,36,146,36,149,36,179,27,21,6,35,6,117,31,77,6,51,9,135,31,196,27,185,7,123,3,193,5,170,170,190,0,45,0,54,0,66,0,102,0,144,0,162,0,184,0,226,0,237,0,244,0,56,24,2,1,9,1,46,1,77,1,94,1,79,24,23,34,91,24,102,24,110,1,133,1,143,1,161,1,169,1,179,1,254,1,16,2,41,2,59,2,77,2,100,28,166,24,88,2,99,2,106,2,113,2,121,2,128,2,137,2,214,24,149,28,81,23,145,2,74,34,157,2,163,2,251,24,126,33,143,33,169,2,178,2,183,2,188,2,98,23,194,2,115,23,70,25,204,2,217,2,90,34,228,2,236,2,88,3,124,3,150,3,168,3,153,34,177,3,191,3,207,3,237,29,183,34,201,34,227,28,253,3,201,16,13,4,23,4,41,4,59,4,237,34,77,4,53,17,85,4,121,25,136,25,101,4,110,4,123,4,139,4,157,4,175,4,193,4,198,4,146,25,204,4,211,4,212,25,227,25,217,4,236,4,255,4,9,5,30,35,12,26,15,5,45,35,25,5,35,5,41,5,49,5,154,29,72,26,83,26,62,5,69,5,199,33,78,35,78,5,215,33,162,23,95,5,110,5,223,31,119,5,111,35,127,5,133,5,147,5,162,5,125,35,138,35,91,20,175,5,165,26,182,26,192,26,189,5,187,35,198,5,215,5,224,5,229,5,241,5,1,6,201,35,218,35,233,26,17,27,247,33,217,23,69,27,61,32,83,27,17,6,23,6,34,6,123,27,45,6,221,28,53,6,62,6,236,23,31,36,157,27,73,6,169,27,183,27,84,6,92,6,79,36,98,6,105,6,118,6,125,6,132,6,249,27,140,6,151,6,159,6,34,28,33,33,14,24,92,36,105,36,51,28,64,28,83,28,169,6,170,170,3,37,0,80,6,37,0,80,9,37,0,80,26,37,0,80,47,37,0,80,50,37,0,80,57,37,0,80,80,37,0,80,83,37,0,80,86,37,0,80,89,37,0,80,92,37,0,80,95,37,0,80,112,37,0,80,127,37,0,80,132,37,0,80,139,37,0,80,142,37,0,80,145,37,0,80,148,37,0,80,151,37,0,80,164,37,0,80,167,37,0,80,170,37,0,80,173,37,0,80,176,37,0,80,223,37,0,80,226,37,0,80,229,37,0,80,232,37,0,80,235,37,0,80,238,37,0,80,241,37,0,80,244,37,0,80,247,37,0,80,250,37,0,80,253,37,0,80,0,38,0,80,3,38,0,80,6,38,0,80,9,38,0,80,12,38,0,80,15,38,0,80,18,38,0,80,23,38,0,80,26,38,0,80,29,38,0,80,32,38,0,80,35,38,0,80,38,38,0,80,41,38,0,80,44,38,0,80,47,38,0,80,50,38,0,80,53,38,0,80,56,38,0,80,59,38,0,80,62,38,0,80,65,38,0,80,68,38,0,80,71,38,0,80,74,38,0,80,77,38,0,80,144,38,0,80,161,38,0,80,166,38,0,80,171,38,0,80,174,38,0,80,177,38,0,80,180,38,0,80,183,38,0,80,186,38,0,80,215,38,0,80,218,38,0,80,221,38,0,80,224,38,0,80,227,38,0,80,230,38,0,80,233,38,0,80,236,38,0,80,239,38,0,80,242,38,0,80,245,38,0,80,250,38,0,80,253,38,0,80,0,39,0,80,3,39,0,80,6,39,0,80,11,39,0,80,14,39,0,80,21,39,0,80,24,39,0,80,27,39,0,80,30,39,0,80,33,39,0,80,36,39,0,80,39,39,0,80,42,39,0,80,45,39,0,80,48,39,0,80,51,39,0,80,54,39,0,80,57,39,0,80,60,39,0,80,63,39,0,80,66,39,0,80,69,39,0,80,72,39,0,80,75,39,0,80,78,39,0,80,81,39,0,80,84,39,0,80,87,39,0,80,90,39,0,80,93,39,0,80,96,39,0,80,99,39,0,80,102,39,0,80,105,39,0,80,108,39,0,80,111,39,0,80,114,39,0,80,117,39,0,80,120,39,0,80,123,39,0,80,126,39,0,80,129,39,0,80,132,39,0,80,135,39,0,80,138,39,0,80,143,39,0,80,146,39,0,80,149,39,0,80,152,39,0,80,155,39,0,80,158,39,0,80,161,39,0,80,164,39,0,80,167,39,0,80,170,39,0,80,173,39,0,80,176,39,0,80,179,39,0,80,182,39,0,80,185,39,0,80,188,39,0,80,191,39,0,80,194,39,0,80,197,39,0,80,200,39,0,80,203,39,0,80,206,39,0,80,209,39,0,80,212,39,0,80,215,39,0,80,218,39,0,80,221,39,0,80,224,39,0,80,227,39,0,80,230,39,0,80,233,39,0,80,236,39,0,80,239,39,0,80,242,39,0,80,245,39,0,80,248,39,0,80,251,39,0,80,254,39,0,80,1,40,0,80,4,40,0,80,7,40,0,80,10,40,0,80,13,40,0,80,16,40,0,80,19,40,0,80,22,40,0,80,25,40,0,80,28,40,0,80,31,40,0,80,34,40,0,80,37,40,0,80,40,40,0,80,43,40,0,80,46,40,0,80,49,40,0,80,52,40,0,80,55,40,0,80,58,40,0,80,61,40,0,80,64,40,0,80,1,0,0,0,128,41,0,144,1,0,0,0,130,41,0,144,1,0,0,0,132,41,0,144,4,0,0,0,134,41,0,144,138,41,0,144,142,41,0,144,146,41,0,144,1,0,0,0,150,41,0,144,1,0,0,0,152,41,0,144,1,0,0,0,154,41,0,144,1,0,0,0,156,41,0,144,2,0,0,0,158,41,0,144,162,41,0,144,1,0,0,0,166,41,0,144,1,0,0,0,168,41,0,144,1,0,0,0,170,41,0,144,1,0,0,0,172,41,0,144,3,0,0,0,174,41,0,144,178,41,0,144,182,41,0,144,2,0,0,0,186,41,0,144,190,41,0,144,1,0,0,0,194,41,0,144,1,0,0,0,196,41,0,144,1,0,0,0,198,41,0,144,1,0,0,0,200,41,0,144,1,0,0,0,202,41,0,144,2,0,0,0,204,41,0,144,208,41,0,144,1,0,0,0,212,41,0,144,1,0,0,0,214,41,0,144,1,0,0,0,216,41,0,144,1,0,0,0,218,41,0,144,3,0,0,0,220,41,0,144,224,41,0,144,228,41,0,144,1,0,0,0,232,41,0,144,3,0,0,0,234,41,0,144,238,41,0,144,242,41,0,144,1,0,0,0,246,41,0,144,1,0,0,0,248,41,0,144,1,0,0,0,250,41,0,144,1,0,0,0,252,41,0,144,1,0,0,0,254,41,0,144,1,0,0,0,0,42,0,144,1,0,0,0,2,42,0,144,1,0,0,0,4,42,0,144,1,0,0,0,6,42,0,144,1,0,0,0,8,42,0,144,1,0,0,0,10,42,0,144,1,0,0,0,12,42,0,144,1,0,0,0,14,42,0,144,2,0,0,0,16,42,0,144,20,42,0,144,1,0,0,0,24,42,0,144,1,0,0,0,26,42,0,144,1,0,0,0,28,42,0,144,1,0,0,0,30,42,0,144,1,0,0,0,32,42,0,144,1,0,0,0,34,42,0,144,3,0,0,0,36,42,0,144,40,42,0,144,44,42,0,144,7,0,0,0,48,42,0,144,52,42,0,144,56,42,0,144,60,42,0,144,64,42,0,144,68,42,0,144,72,42,0,144,1,0,0,0,76,42,0,144,4,0,0,0,78,42,0,144,82,42,0,144,86,42,0,144,90,42,0,144,2,0,0,0,94,42,0,144,98,42,0,144,2,0,0,0,102,42,0,144,106,42,0,144,1,0,0,0,110,42,0,144,1,0,0,0,112,42,0,144,1,0,0,0,114,42,0,144,5,0,0,0,116,42,0,144,120,42,0,144,124,42,0,144,128,42,0,144,132,42,0,144,3,0,0,0,136,42,0,144,140,42,0,144,144,42,0,144,2,0,0,0,148,42,0,144,152,42,0,144,5,0,0,0,156,42,0,144,160,42,0,144,164,42,0,144,168,42,0,144,172,42,0,144,9,0,0,0,176,42,0,144,180,42,0,144,184,42,0,144,188,42,0,144,192,42,0,144,196,42,0,144,200,42,0,144,204,42,0,144,208,42,0,144,4,0,0,0,212,42,0,144,216,42,0,144,220,42,0,144,224,42,0,144,2,0,0,0,228,42,0,144,232,42,0,144,1,0,0,0,236,42,0,144,1,0,0,0,238,42,0,144,1,0,0,0,240,42,0,144,3,0,0,0,242,42,0,144,246,42,0,144,250,42,0,144,1,0,0,0,254,42,0,144,1,0,0,0,0,43,0,144,1,0,0,0,2,43,0,144,1,0,0,0,4,43,0,144,1,0,0,0,6,43,0,144,1,0,0,0,8,43,0,144,1,0,0,0,10,43,0,144,1,0,0,0,12,43,0,144,5,0,0,0,14,43,0,144,18,43,0,144,22,43,0,144,26,43,0,144,30,43,0,144,1,0,0,0,34,43,0,144,4,0,0,0,36,43,0,144,40,43,0,144,44,43,0,144,48,43,0,144,1,0,0,0,52,43,0,144,4,0,0,0,54,43,0,144,58,43,0,144,62,43,0,144,66,43,0,144,1,0,0,0,70,43,0,144,1,0,0,0,72,43,0,144,1,0,0,0,74,43,0,144,3,0,0,0,76,43,0,144,80,43,0,144,84,43,0,144,4,0,0,0,88,43,0,144,92,43,0,144,96,43,0,144,100,43,0,144,1,0,0,0,104,43,0,144,2,0,0,0,106,43,0,144,110,43,0,144,1,0,0,0,114,43,0,144,1,0,0,0,116,43,0,144,1,0,0,0,118,43,0,144,1,0,0,0,120,43,0,144,2,0,0,0,122,43,0,144,126,43,0,144,2,0,0,0,130,43,0,144,134,43,0,144,2,0,0,0,138,43,0,144,142,43,0,144,1,0,0,0,146,43,0,144,1,0,0,0,148,43,0,144,1,0,0,0,150,43,0,144,1,0,0,0,152,43,0,144,3,0,0,0,154,43,0,144,158,43,0,144,162,43,0,144,1,0,0,0,166,43,0,144,2,0,0,0,168,43,0,144,172,43,0,144,1,0,0,0,176,43,0,144,1,0,0,0,178,43,0,144,2,0,0,0,180,43,0,144,184,43,0,144,3,0,0,0,188,43,0,144,192,43,0,144,196,43,0,144,3,0,0,0,200,43,0,144,204,43,0,144,208,43,0,144,1,0,0,0,212,43,0,144,1,0,0,0,214,43,0,144,1,0,0,0,216,43,0,144,1,0,0,0,218,43,0,144,1,0,0,0,220,43,0,144,1,0,0,0,222,43,0,144,1,0,0,0,224,43,0,144,2,0,0,0,226,43,0,144,230,43,0,144,3,0,0,0,234,43,0,144,238,43,0,144,242,43,0,144,3,0,0,0,246,43,0,144,250,43,0,144,254,43,0,144,4,0,0,0,2,44,0,144,6,44,0,144,10,44,0,144,14,44,0,144,2,0,0,0,18,44,0,144,22,44,0,144,1,0,0,0,26,44,0,144,3,0,0,0,28,44,0,144,32,44,0,144,36,44,0,144,3,0,0,0,40,44,0,144,44,44,0,144,48,44,0,144,1,0,0,0,52,44,0,144,2,0,0,0,54,44,0,144,58,44,0,144,3,0,0,0,62,44,0,144,66,44,0,144,70,44,0,144,1,0,0,0,74,44,0,144,2,0,0,0,76,44,0,144,80,44,0,144,3,0,0,0,84,44,0,144,88,44,0,144,92,44,0,144,2,0,0,0,96,44,0,144,100,44,0,144,1,0,0,0,104,44,0,144,1,0,0,0,106,44,0,144,1,0,0,0,108,44,0,144,1,0,0,0,110,44,0,144,3,0,0,0,112,44,0,144,116,44,0,144,120,44,0,144,1,0,0,0,124,44,0,144,1,0,0,0,126,44,0,144,7,0,0,0,128,44,0,144,132,44,0,144,136,44,0,144,140,44,0,144,144,44,0,144,148,44,0,144,152,44,0,144,1,0,0,0,156,44,0,144,1,0,0,0,158,44,0,144,1,0,0,0,160,44,0,144,1,0,0,0,162,44,0,144,2,0,0,0,164,44,0,144,168,44,0,144,3,0,0,0,172,44,0,144,176,44,0,144,180,44,0,144,2,0,0,0,184,44,0,144,188,44,0,144,3,0,0,0,192,44,0,144,196,44,0,144,200,44,0,144,4,0,0,0,204,44,0,144,208,44,0,144,212,44,0,144,216,44,0,144,1,0,0,0,220,44,0,144,2,0,0,0,222,44,0,144,226,44,0,144,1,0,0,0,230,44,0,144,1,0,0,0,232,44,0,144,1,0,0,0,234,44,0,144,1,0,0,0,236,44,0,144,1,0,0,0,238,44,0,144,1,0,0,0,240,44,0,144,2,0,0,0,242,44,0,144,246,44,0,144,1,0,0,0,250,44,0,144,2,0,0,0,252,44,0,144,0,45,0,144,2,0,0,0,4,45,0,144,8,45,0,144,2,0,0,0,12,45,0,144,16,45,0,144,3,0,0,0,20,45,0,144,24,45,0,144,28,45,0,144,1,0,0,0,32,45,0,144,2,0,0,0,34,45,0,144,38,45,0,144,1,0,0,0,42,45,0,144,1,0,0,0,44,45,0,144,1,0,0,0,46,45,0,144,1,0,0,0,48,45,0,144,1,0,0,0,50,45,0,144,1,0,0,0,52,45,0,144,3,0,0,0,56,45,0,144,60,45,0,144,64,45,0,144,1,0,0,0,68,45,0,144,1,0,0,0,70,45,0,144,5,0,0,0,72,45,0,144,76,45,0,144,80,45,0,144,84,45,0,144,88,45,0,144,3,0,0,0,92,45,0,144,96,45,0,144,100,45,0,144,2,0,0,0,104,45,0,144,108,45,0,144,1,0,0,0,112,45,0,144,4,0,0,0,114,45,0,144,118,45,0,144,122,45,0,144,126,45,0,144,1,0,0,0,130,45,0,144,3,0,0,0,132,45,0,144,136,45,0,144,140,45,0,144,2,0,0,0,144,45,0,144,148,45,0,144,1,0,0,0,152,45,0,144,1,0,0,0,154,45,0,144,1,0,0,0,156,45,0,144,1,0,0,0,158,45,0,144,1,0,0,0,160,45,0,144,1,0,0,0,162,45,0,144,2,0,0,0,164,45,0,144,168,45,0,144,1,0,0,0,172,45,0,144,1,0,0,0,174,45,0,144,1,0,0,0,176,45,0,144,1,0,0,0,178,45,0,144,1,0,0,0,180,45,0,144,1,0,0,0,182,45,0,144,2,0,0,0,184,45,0,144,188,45,0,144,1,0,0,0,192,45,0,144,1,0,0,0,194,45,0,144,17,0,0,0,198,45,0,144,202,45,0,144,206,45,0,144,210,45,0,144,214,45,0,144,218,45,0,144,222,45,0,144,226,45,0,144,230,45,0,144,234,45,0,144,238,45,0,144,242,45,0,144,246,45,0,144,250,45,0,144,254,45,0,144,2,46,0,144,6,46,0,144,1,0,0,0,10,46,0,144,1,0,0,0,12,46,0,144,1,0,0,0,14,46,0,144,1,0,0,0,16,46,0,144,1,0,0,0,18,46,0,144,2,0,0,0,20,46,0,144,24,46,0,144,1,0,0,0,28,46,0,144,1,0,0,0,30,46,0,144,1,0,0,0,32,46,0,144,1,0,0,0,34,46,0,144,1,0,0,0,36,46,0,144,1,0,0,0,38,46,0,144,3,0,0,0,40,46,0,144,44,46,0,144,48,46,0,144,1,0,0,0,52,46,0,144,3,0,0,0,56,46,0,144,60,46,0,144,64,46,0,144,3,0,0,0,68,46,0,144,72,46,0,144,76,46,0,144,3,0,0,0,80,46,0,144,84,46,0,144,88,46,0,144,2,0,0,0,92,46,0,144,96,46,0,144,1,0,0,0,100,46,0,144,1,0,0,0,104,46,0,144,2,0,0,0,106,46,0,144,110,46,0,144,2,0,0,0,114,46,0,144,118,46,0,144,1,0,0,0,122,46,0,144,1,0,0,0,124,46,0,144,2,0,0,0,126,46,0,144,130,46,0,144,1,0,0,0,134,46,0,144,1,0,0,0,136,46,0,144,3,0,0,0,138,46,0,144,142,46,0,144,146,46,0,144,3,0,0,0,150,46,0,144,154,46,0,144,158,46,0,144,3,0,0,0,162,46,0,144,166,46,0,144,170,46,0,144,1,0,0,0,174,46,0,144,2,0,0,0,178,46,0,144,182,46,0,144,3,0,0,0,186,46,0,144,190,46,0,144,194,46,0,144,1,0,0,0,198,46,0,144,2,0,0,0,200,46,0,144,204,46,0,144,1,0,0,0,208,46,0,144,2,0,0,0,212,46,0,144,216,46,0,144,2,0,0,0,220,46,0,144,224,46,0,144,1,0,0,0,228,46,0,144,1,0,0,0,230,46,0,144,1,0,0,0,232,46,0,144,1,0,0,0,234,46,0,144,1,0,0,0,236,46,0,144,1,0,0,0,238,46,0,144,1,0,0,0,240,46,0,144,1,0,0,0,242,46,0,144,2,0,0,0,244,46,0,144,248,46,0,144,1,0,0,0,252,46,0,144,3,0,0,0,254,46,0,144,2,47,0,144,6,47,0,144,1,0,0,0,10,47,0,144,2,0,0,0,12,47,0,144,16,47,0,144,2,0,0,0,20,47,0,144,24,47,0,144,1,0,0,0,28,47,0,144,2,0,0,0,30,47,0,144,34,47,0,144,1,0,0,0,38,47,0,144,1,0,0,0,40,47,0,144,1,0,0,0,42,47,0,144,1,0,0,0,44,47,0,144,1,0,0,0,46,47,0,144,3,0,0,0,48,47,0,144,52,47,0,144,56,47,0,144,1,0,0,0,60,47,0,144,1,0,0,0,62,47,0,144,3,0,0,0,64,47,0,144,68,47,0,144,72,47,0,144,1,0,0,0,76,47,0,144,2,0,0,0,78,47,0,144,82,47,0,144,3,0,0,0,86,47,0,144,90,47,0,144,94,47,0,144,2,0,0,0,98,47,0,144,102,47,0,144,2,0,0,0,106,47,0,144,110,47,0,144,4,0,0,0,114,47,0,144,118,47,0,144,122,47,0,144,126,47,0,144,1,0,0,0,130,47,0,144,1,0,0,0,132,47,0,144,1,0,0,0,134,47,0,144,1,0,0,0,138,47,0,144,4,0,0,0,140,47,0,144,144,47,0,144,148,47,0,144,152,47,0,144,1,0,0,0,156,47,0,144,1,0,0,0,158,47,0,144,1,0,0,0,160,47,0,144,1,0,0,0,162,47,0,144,1,0,0,0,166,47,0,144,2,0,0,0,168,47,0,144,172,47,0,144,2,0,0,0,176,47,0,144,180,47,0,144,1,0,0,0,184,47,0,144,2,0,0,0,186,47,0,144,190,47,0,144,1,0,0,0,194,47,0,144,1,0,0,0,196,47,0,144,1,0,0,0,198,47,0,144,3,0,0,0,200,47,0,144,204,47,0,144,208,47,0,144,1,0,0,0,212,47,0,144,1,0,0,0,214,47,0,144,1,0,0,0,216,47,0,144,2,0,0,0,218,47,0,144,222,47,0,144,2,0,0,0,226,47,0,144,230,47,0,144,3,0,0,0,234,47,0,144,238,47,0,144,242,47,0,144,1,0,0,0,246,47,0,144,1,0,0,0,248,47,0,144,1,0,0,0,250,47,0,144,1,0,0,0,252,47,0,144,1,0,0,0,254,47,0,144,1,0,0,0,0,48,0,144,1,0,0,0,2,48,0,144,1,0,0,0,4,48,0,144,1,0,0,0,6,48,0,144,1,0,0,0,8,48,0,144,1,0,0,0,10,48,0,144,1,0,0,0,12,48,0,144,1,0,0,0,14,48,0,144,1,0,0,0,16,48,0,144,1,0,0,0,18,48,0,144,1,0,0,0,20,48,0,144,2,0,0,0,22,48,0,144,26,48,0,144,1,0,0,0,30,48,0,144,1,0,0,0,32,48,0,144,1,0,0,0,34,48,0,144,1,0,0,0,36,48,0,144,1,0,0,0,38,48,0,144,1,0,0,0,40,48,0,144,1,0,0,0,42,48,0,144,1,0,0,0,44,48,0,144,1,0,0,0,46,48,0,144,1,0,0,0,50,48,0,144,1,0,0,0,52,48,0,144,1,0,0,0,54,48,0,144,1,0,0,0,56,48,0,144,1,0,0,0,58,48,0,144,1,0,0,0,60,48,0,144,1,0,0,0,62,48,0,144,1,0,0,0,64,48,0,144,2,0,0,0,66,48,0,144,70,48,0,144,1,0,0,0,74,48,0,144,2,0,0,0,76,48,0,144,80,48,0,144,1,0,0,0,84,48,0,144,2,0,0,0,86,48,0,144,90,48,0,144,1,0,0,0,94,48,0,144,2,0,0,0,96,48,0,144,100,48,0,144,4,0,0,0,104,48,0,144,108,48,0,144,112,48,0,144,116,48,0,144,2,0,0,0,120,48,0,144,124,48,0,144,4,0,0,0,128,48,0,144,132,48,0,144,136,48,0,144,140,48,0,144,2,0,0,0,144,48,0,144,148,48,0,144,4,0,0,0,152,48,0,144,156,48,0,144,160,48,0,144,164,48,0,144,1,0,0,0,168,48,0,144,2,0,0,0,170,48,0,144,174,48,0,144,1,0,0,0,178,48,0,144,1,0,0,0,180,48,0,144,1,0,0,0,182,48,0,144,1,0,0,0,184,48,0,144,4,0,0,0,186,48,0,144,190,48,0,144,194,48,0,144,198,48,0,144,1,0,0,0,202,48,0,144,3,0,0,0,204,48,0,144,208,48,0,144,212,48,0,144,1,0,0,0,216,48,0,144,1,0,0,0,218,48,0,144,1,0,0,0,220,48,0,144,1,0,0,0,222,48,0,144,2,0,0,0,224,48,0,144,228,48,0,144,1,0,0,0,232,48,0,144,4,0,0,0,234,48,0,144,238,48,0,144,242,48,0,144,246,48,0,144,1,0,0,0,250,48,0,144,1,0,0,0,252,48,0,144,1,0,0,0,254,48,0,144,5,0,0,0,2,49,0,144,6,49,0,144,10,49,0,144,14,49,0,144,18,49,0,144,1,0,0,0,22,49,0,144,1,0,0,0,24,49,0,144,1,0,0,0,26,49,0,144,2,0,0,0,28,49,0,144,32,49,0,144,1,0,0,0,36,49,0,144,1,0,0,0,38,49,0,144,1,0,0,0,42,49,0,144,1,0,0,0,44,49,0,144,1,0,0,0,46,49,0,144,4,0,0,0,48,49,0,144,52,49,0,144,56,49,0,144,60,49,0,144,1,0,0,0,64,49,0,144,1,0,0,0,66,49,0,144,1,0,0,0,68,49,0,144,1,0,0,0,70,49,0,144,1,0,0,0,72,49,0,144,1,0,0,0,74,49,0,144,1,0,0,0,76,49,0,144,1,0,0,0,78,49,0,144,1,0,0,0,80,49,0,144,1,0,0,0,82,49,0,144,1,0,0,0,84,49,0,144,1,0,0,0,86,49,0,144,1,0,0,0,88,49,0,144,1,0,0,0,90,49,0,144,1,0,0,0,92,49,0,144,1,0,0,0,94,49,0,144,1,0,0,0,96,49,0,144,1,0,0,0,98,49,0,144,1,0,0,0,100,49,0,144,1,0,0,0,102,49,0,144,1,0,0,0,106,49,0,144,1,0,0,0,108,49,0,144,1,0,0,0,110,49,0,144,1,0,0,0,112,49,0,144,1,0,0,0,114,49,0,144,1,0,0,0,116,49,0,144,1,0,0,0,118,49,0,144,2,0,0,0,120,49,0,144,124,49,0,144,1,0,0,0,128,49,0,144,1,0,0,0,130,49,0,144,2,0,0,0,132,49,0,144,136,49,0,144,2,0,0,0,140,49,0,144,144,49,0,144,1,0,0,0,148,49,0,144,1,0,0,0,150,49,0,144,2,0,0,0,152,49,0,144,156,49,0,144,1,0,0,0,160,49,0,144,1,0,0,0,162,49,0,144,2,0,0,0,164,49,0,144,168,49,0,144,1,0,0,0,172,49,0,144,1,0,0,0,174,49,0,144,1,0,0,0,176,49,0,144,1,0,0,0,178,49,0,144,2,0,0,0,180,49,0,144,184,49,0,144,1,0,0,0,188,49,0,144,1,0,0,0,190,49,0,144,1,0,0,0,192,49,0,144,1,0,0,0,194,49,0,144,1,0,0,0,196,49,0,144,2,0,0,0,198,49,0,144,202,49,0,144,1,0,0,0,206,49,0,144,1,0,0,0,208,49,0,144,1,0,0,0,210,49,0,144,1,0,0,0,212,49,0,144,1,0,0,0,214,49,0,144,1,0,0,0,216,49,0,144,164,1,197,9,212,9,225,9,244,9,3,10,17,10,31,10,45,10,59,10,73,10,89,10,108,10,125,10,138,10,156,10,169,10,184,10,197,10,218,10,234,10,248,10,8,11,24,11,40,11,54,11,74,11,86,11,101,11,117,11,131,11,147,11,160,11,178,11,190,11,204,11,222,11,236,11,250,11,8,12,22,12,37,12,54,12,70,12,85,12,101,12,115,12,133,12,152,12,170,12,186,12,201,12,214,12,230,12,243,12,5,13,22,13,38,13,56,13,83,13,114,13,138,13,165,13,192,13,218,13,244,13,2,14,19,14,33,14,56,14,73,14,87,14,102,14,123,14,141,14,156,14,170,14,191,14,213,14,234,14,249,14,9,15,27,15,43,15,58,15,74,15,92,15,114,15,136,15,152,15,171,15,187,15,202,15,218,15,239,15,254,15,19,16,34,16,50,16,67,16,84,16,101,16,121,16,141,16,159,16,177,16,193,16,211,16,230,16,246,16,9,17,27,17,45,17,60,17,76,17,91,17,110,17,131,17,155,17,182,17,208,17,230,17,0,18,24,18,45,18,60,18,76,18,92,18,106,18,121,18,149,18,168,18,183,18,196,18,216,18,235,18,1,19,16,19,32,19,47,19,63,19,82,19,100,19,117,19,133,19,151,19,166,19,185,19,205,19,222,19,238,19,0,20,19,20,38,20,53,20,70,20,83,20,99,20,127,20,155,20,186,20,202,20,217,20,236,20,252,20,19,21,41,21,61,21,81,21,102,21,123,21,138,21,153,21,170,21,189,21,206,21,223,21,245,21,7,22,28,22,42,22,64,22,81,22,98,22,115,22,133,22,152,22,174,22,194,22,208,22,224,22,240,22,0,23,18,23,37,23,54,23,70,23,87,23,104,23,130,23,151,23,169,23,188,23,206,23,225,23,242,23,3,24,21,24,41,24,51,24,63,24,74,24,86,24,97,24,109,24,123,24,135,24,148,24,161,24,171,24,184,24,196,24,209,24,221,24,235,24,246,24,6,25,19,25,33,25,44,25,54,25,65,25,79,25,94,25,104,25,116,25,131,25,141,25,154,25,167,25,181,25,196,25,207,25,222,25,235,25,249,25,7,26,24,26,42,26,55,26,67,26,78,26,91,26,105,26,117,26,129,26,142,26,160,26,177,26,187,26,197,26,213,26,228,26,243,26,254,26,12,27,27,27,40,27,52,27,64,27,78,27,93,27,104,27,118,27,133,27,152,27,164,27,178,27,191,27,203,27,216,27,227,27,244,27,0,28,14,28,29,28,46,28,59,28,78,28,91,28,107,28,124,28,140,28,160,28,176,28,193,28,212,28,235,28,254,28,15,29,34,29,53,29,75,29,92,29,108,29,125,29,144,29,164,29,184,29,200,29,217,29,225,29,233,29,241,29,2,30,17,30,34,30,48,30,64,30,78,30,96,30,112,30,129,30,145,30,161,30,177,30,195,30,209,30,226,30,242,30,2,31,21,31,37,31,51,31,70,31,82,31,96,31,113,31,127,31,145,31,159,31,172,31,189,31,202,31,216,31,230,31,242,31,255,31,16,32,30,32,42,32,54,32,68,32,86,32,102,32,117,32,135,32,149,32,162,32,179,32,194,32,208,32,225,32,238,32,253,32,11,33,26,33,43,33,57,33,71,33,85,33,105,33,119,33,136,33,149,33,163,33,180,33,192,33,208,33,225,33,240,33,255,33,7,34,15,34,28,34,45,34,66,34,82,34,97,34,111,34,129,34,145,34,158,34,175,34,193,34,209,34,229,34,242,34,3,35,22,35,37,35,55,35,70,35,88,35,103,35,117,35,130,35,146,35,161,35,179,35,193,35,210,35,225,35,246,35,8,36,23,36,38,36,53,36,71,36,84,36,97,36,170,170,61,35,0,128,63,35,0,128,65,35,0,128,67,35,0,128,72,35,0,128,74,35,0,128,76,35,0,128,78,35,0,128,80,35,0,128,83,35,0,128,85,35,0,128,87,35,0,128,89,35,0,128,91,35,0,128,95,35,0,128,98,35,0,128,100,35,0,128,102,35,0,128,104,35,0,128,106,35,0,128,108,35,0,128,111,35,0,128,113,35,0,128,115,35,0,128,117,35,0,128,119,35,0,128,123,35,0,128,125,35,0,128,129,35,0,128,131,35,0,128,133,35,0,128,135,35,0,128,137,35,0,128,139,35,0,128,141,35,0,128,143,35,0,128,145,35,0,128,147,35,0,128,149,35,0,128,151,35,0,128,153,35,0,128,155,35,0,128,158,35,0,128,160,35,0,128,162,35,0,128,164,35,0,128,166,35,0,128,168,35,0,128,170,35,0,128,174,35,0,128,182,35,0,128,184,35,0,128,189,35,0,128,192,35,0,128,195,35,0,128,197,35,0,128,199,35,0,128,201,35,0,128,207,35,0,128,211,35,0,128,214,35,0,128,220,35,0,128,230,35,0,128,235,35,0,128,238,35,0,128,240,35,0,128,242,35,0,128,244,35,0,128,248,35,0,128,250,35,0,128,252,35,0,128,254,35,0,128,0,36,0,128,2,36,0,128,4,36,0,128,6,36,0,128,8,36,0,128,14,36,0,128,16,36,0,128,21,36,0,128,23,36,0,128,28,36,0,128,30,36,0,128,32,36,0,128,34,36,0,128,38,36,0,128,43,36,0,128,45,36,0,128,48,36,0,128,50,36,0,128,52,36,0,128,54,36,0,128,56,36,0,128,59,36,0,128,62,36,0,128,65,36,0,128,67,36,0,128,69,36,0,128,71,36,0,128,73,36,0,128,77,36,0,128,79,36,0,128,82,36,0,128,84,36,0,128,86,36,0,128,89,36,0,128,93,36,0,128,97,36,0,128,99,36,0,128,101,36,0,128,103,36,0,128,105,36,0,128,107,36,0,128,109,36,0,128,111,36,0,128,114,36,0,128,118,36,0,128,122,36,0,128,127,36,0,128,130,36,0,128,132,36,0,128,136,36,0,128,140,36,0,128,142,36,0,128,145,36,0,128,149,36,0,128,151,36,0,128,154,36,0,128,158,36,0,128,161,36,0,128,163,36,0,128,165,36,0,128,167,36,0,128,169,36,0,128,173,36,0,128,175,36,0,128,177,36,0,128,185,36,0,128,187,36,0,128,189,36,0,128,191,36,0,128,193,36,0,128,196,36,0,128,200,36,0,128,203,36,0,128,207,36,0,128,212,36,0,128,214,36,0,128,217,36,0,128,219,36,0,128,221,36,0,128,223,36,0,128,225,36,0,128,227,36,0,128,229,36,0,128,232,36,0,128,234,36,0,128,237,36,0,128,240,36,0,128,243,36,0,128,247,36,0,128,249,36,0,128,252,36,0,128,254,36,0,128,0,37,0,128,2,37,0,128,4,37,0,128,6,37,0,128,8,37,0,128,12,37,0,128,14,37,0,128,16,37,0,128,22,37,0,128,26,37,0,128,29,37,0,128,31,37,0,128,36,37,0,128,38,37,0,128,42,37,0,128,45,37,0,128,47,37,0,128,49,37,0,128,51,37,0,128,53,37,0,128,55,37,0,128,57,37,0,128,60,37,0,128,62,37,0,128,64,37,0,128,66,37,0,128,68,37,0,128,70,37,0,128,72,37,0,128,75,37,0,128,77,37,0,128,79,37,0,128,97,37,0,128,99,37,0,128,101,37,0,128,103,37,0,128,105,37,0,128,107,37,0,128,110,37,0,128,112,37,0,128,114,37,0,128,116,37,0,128,118,37,0,128,120,37,0,128,122,37,0,128,126,37,0,128,128,37,0,128,132,37,0,128,136,37,0,128,140,37,0,128,143,37,0,128,145,37,0,128,147,37,0,128,150,37,0,128,153,37,0,128,155,37,0,128,157,37,0,128,160,37,0,128,162,37,0,128,164,37,0,128,168,37,0,128,172,37,0,128,176,37,0,128,178,37,0,128,181,37,0,128,185,37,0,128,187,37,0,128,190,37,0,128,192,37,0,128,195,37,0,128,198,37,0,128,200,37,0,128,202,37,0,128,204,37,0,128,206,37,0,128,208,37,0,128,210,37,0,128,212,37,0,128,214,37,0,128,217,37,0,128,219,37,0,128,223,37,0,128,225,37,0,128,228,37,0,128,231,37,0,128,233,37,0,128,236,37,0,128,238,37,0,128,240,37,0,128,242,37,0,128,244,37,0,128,246,37,0,128,250,37,0,128,252,37,0,128,254,37,0,128,2,38,0,128,4,38,0,128,7,38,0,128,11,38,0,128,14,38,0,128,17,38,0,128,22,38,0,128,24,38,0,128,26,38,0,128,28,38,0,128,30,38,0,128,35,38,0,128,37,38,0,128,39,38,0,128,41,38,0,128,43,38,0,128,45,38,0,128,48,38,0,128,51,38,0,128,53,38,0,128,56,38,0,128,58,38,0,128,60,38,0,128,62,38,0,128,66,38,0,128,68,38,0,128,70,38,0,128,72,38,0,128,75,38,0,128,78,38,0,128,82,38,0,128,84,38,0,128,86,38,0,128,88,38,0,128,90,38,0,128,92,38,0,128,94,38,0,128,96,38,0,128,98,38,0,128,100,38,0,128,102,38,0,128,104,38,0,128,106,38,0,128,108,38,0,128,110,38,0,128,112,38,0,128,114,38,0,128,117,38,0,128,119,38,0,128,121,38,0,128,123,38,0,128,125,38,0,128,127,38,0,128,129,38,0,128,131,38,0,128,133,38,0,128,135,38,0,128,137,38,0,128,139,38,0,128,141,38,0,128,143,38,0,128,145,38,0,128,147,38,0,128,149,38,0,128,151,38,0,128,154,38,0,128,156,38,0,128,159,38,0,128,161,38,0,128,164,38,0,128,166,38,0,128,169,38,0,128,174,38,0,128,177,38,0,128,182,38,0,128,185,38,0,128,190,38,0,128,192,38,0,128,195,38,0,128,197,38,0,128,199,38,0,128,201,38,0,128,203,38,0,128,208,38,0,128,210,38,0,128,214,38,0,128,216,38,0,128,218,38,0,128,220,38,0,128,222,38,0,128,225,38,0,128,227,38,0,128,232,38,0,128,234,38,0,128,236,38,0,128,238,38,0,128,244,38,0,128,246,38,0,128,248,38,0,128,250,38,0,128,253,38,0,128,255,38,0,128,1,39,0,128,3,39,0,128,5,39,0,128,7,39,0,128,12,39,0,128,14,39,0,128,16,39,0,128,18,39,0,128,20,39,0,128,22,39,0,128,24,39,0,128,26,39,0,128,28,39,0,128,30,39,0,128,32,39,0,128,34,39,0,128,36,39,0,128,38,39,0,128,40,39,0,128,42,39,0,128,44,39,0,128,46,39,0,128,48,39,0,128,50,39,0,128,52,39,0,128,54,39,0,128,56,39,0,128,58,39,0,128,60,39,0,128,62,39,0,128,64,39,0,128,66,39,0,128,69,39,0,128,71,39,0,128,73,39,0,128,76,39,0,128,79,39,0,128,81,39,0,128,83,39,0,128,86,39,0,128,88,39,0,128,90,39,0,128,93,39,0,128,95,39,0,128,97,39,0,128,99,39,0,128,101,39,0,128,104,39,0,128,106,39,0,128,108,39,0,128,110,39,0,128,112,39,0,128,114,39,0,128,117,39,0,128,119,39,0,128,121,39,0,128,123,39,0,128,125,39,0,128,127,39,0,128,4,0,32,0,175,6,184,9,112,36,170,170,31,34,0,32,67,40,0,80,129,39,0,32,218,49,0,80,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,184,36,0,32,7,0,0,0,157,5,0,0,188,36,0,0,188,36,0,0,128,2,0,0,1,0,0,0,30,29,0,0,97,108,105,97,115,0,108,97,110,103,117,97,103,101,0,97,97,95,115,97,97,104,111,0,114,101,97,115,111,110,0,114,101,112,108,97,99,101,109,101,110,116,0,97,97,109,0,97,97,114,0,97,98,107,0,97,100,112,0,97,102,114,0,97,103,112,0,97,105,115,0,97,106,116,0,97,106,117,0,97,107,97,0,97,108,98,0,97,108,115,0,97,109,104,0,97,114,97,0,97,114,98,0,97,114,103,0,97,114,109,0,97,114,116,95,108,111,106,98,97,110,0,97,115,100,0,97,115,109,0,97,117,101,0,97,118,97,0,97,118,101,0,97,121,109,0,97,121,114,0,97,121,120,0,97,122,101,0,97,122,106,0,98,97,107,0,98,97,109,0,98,97,113,0,98,97,122,0,98,99,99,0,98,99,108,0,98,101,108,0,98,101,110,0,98,103,109,0,98,104,0,98,104,107,0,98,105,99,0,98,105,104,0,98,105,115,0,98,106,100,0,98,106,113,0,98,107,98,0,98,108,103,0,98,111,100,0,98,111,115,0,98,114,101,0,98,116,98,0,98,117,108,0,98,117,114,0,98,120,107,0,98,120,114,0,99,97,116,0,99,99,113,0,99,101,108,95,103,97,117,108,105,115,104,0,99,101,115,0,99,104,97,0,99,104,101,0,99,104,105,0,99,104,117,0,99,104,118,0,99,106,114,0,99,107,97,0,99,108,100,0,99,109,107,0,99,110,114,0,99,111,114,0,99,111,115,0,99,111,121,0,99,113,117,0,99,114,101,0,99,119,100,0,99,121,109,0,99,122,101,0,100,97,102,0,100,97,110,0,100,97,112,0,100,101,117,0,100,103,111,0,100,104,100,0,100,105,107,0,100,105,113,0,100,105,116,0,100,105,118,0,100,106,108,0,100,107,108,0,100,114,104,0,100,114,114,0,100,114,119,0,100,117,100,0,100,117,106,0,100,117,116,0,100,119,108,0,100,122,111,0,101,107,107,0,101,108,108,0,101,108,112,0,101,109,107,0,101,110,95,71,66,95,111,101,100,0,101,110,103,0,101,112,111,0,101,115,107,0,101,115,116,0,101,117,115,0,101,119,101,0,102,97,111,0,102,97,115,0,102,97,116,0,102,105,106,0,102,105,110,0,102,114,97,0,102,114,101,0,102,114,121,0,102,117,99,0,102,117,108,0,103,97,118,0,103,97,122,0,103,98,99,0,103,98,111,0,103,101,111,0,103,101,114,0,103,102,120,0,103,103,110,0,103,103,111,0,103,103,114,0,103,105,111,0,103,108,97,0,103,108,101,0,103,108,103,0,103,108,105,0,103,108,118,0,103,110,111,0,103,114,101,0,103,114,110,0,103,116,105,0,103,117,103,0,103,117,106,0,103,117,118,0,103,121,97,0,104,97,116,0,104,97,117,0,104,98,115,0,104,100,110,0,104,101,97,0,104,101,98,0,104,101,114,0,104,105,109,0,104,105,110,0,104,109,111,0,104,114,114,0,104,114,118,0,104,117,110,0,104,121,95,97,114,101,118,109,100,97,0,104,121,101,0,105,95,97,109,105,0,105,95,98,110,110,0,105,95,100,101,102,97,117,108,116,0,105,95,101,110,111,99,104,105,97,110,0,105,95,104,97,107,0,105,95,107,108,105,110,103,111,110,0,105,95,108,117,120,0,105,95,109,105,110,103,111,0,105,95,110,97,118,97,106,111,0,105,95,112,119,110,0,105,95,116,97,111,0,105,95,116,97,121,0,105,95,116,115,117,0,105,98,105,0,105,98,111,0,105,99,101,0,105,100,111,0,105,105,105,0,105,107,101,0,105,107,117,0,105,108,101,0,105,108,108,0,105,108,119,0,105,110,97,0,105,110,100,0,105,112,107,0,105,115,108,0,105,116,97,0,105,122,105,0,106,97,114,0,106,97,118,0,106,101,103,0,106,112,110,0,106,119,0,107,97,108,0,107,97,110,0,107,97,115,0,107,97,116,0,107,97,117,0,107,97,122,0,107,100,118,0,107,103,99,0,107,103,100,0,107,103,104,0,107,104,107,0,107,104,109,0,107,105,107,0,107,105,110,0,107,105,114,0,107,109,114,0,107,110,99,0,107,110,103,0,107,110,110,0,107,111,106,0,107,111,109,0,107,111,110,0,107,111,114,0,107,112,112,0,107,112,118,0,107,114,109,0,107,116,114,0,107,117,97,0,107,117,114,0,107,118,115,0,107,119,113,0,107,120,101,0,107,120,108,0,107,122,104,0,107,122,106,0,107,122,116,0,108,97,107,0,108,97,111,0,108,97,116,0,108,97,118,0,108,98,107,0,108,101,103,0,108,105,105,0,108,105,109,0,108,105,110,0,108,105,116,0,108,108,111,0,108,109,109,0,108,116,122,0,108,117,98,0,108,117,103,0,108,118,115,0,109,97,99,0,109,97,104,0,109,97,111,0,109,97,114,0,109,97,121,0,109,101,103,0,109,103,120,0,109,104,114,0,109,107,100,0,109,108,103,0,109,108,116,0,109,110,107,0,109,110,116,0,109,111,102,0,109,111,108,0,109,111,110,0,109,114,105,0,109,115,97,0,109,115,116,0,109,117,112,0,109,119,100,0,109,119,106,0,109,121,97,0,109,121,100,0,109,121,116,0,110,97,100,0,110,97,117,0,110,97,118,0,110,98,102,0,110,98,108,0,110,98,120,0,110,99,112,0,110,100,101,0,110,100,111,0,110,101,112,0,110,108,100,0,110,108,110,0,110,108,114,0,110,110,111,0,110,110,115,0,110,110,120,0,110,111,95,98,111,107,0,110,111,95,98,111,107,109,97,108,0,110,111,95,110,121,110,0,110,111,95,110,121,110,111,114,115,107,0,110,111,98,0,110,111,111,0,110,111,114,0,110,112,105,0,110,116,115,0,110,120,117,0,110,121,97,0,111,99,105,0,111,106,103,0,111,106,105,0,111,114,105,0,111,114,109,0,111,115,115,0,111,117,110,0,112,97,110,0,112,97,116,0,112,98,117,0,112,99,114,0,112,101,114,0,112,101,115,0,112,108,105,0,112,108,116,0,112,109,99,0,112,109,117,0,112,110,98,0,112,111,108,0,112,111,114,0,112,112,97,0,112,112,114,0,112,114,115,0,112,114,121,0,112,117,115,0,112,117,122,0,113,117,101,0,113,117,122,0,114,109,114,0,114,109,121,0,114,111,104,0,114,111,110,0,114,117,109,0,114,117,110,0,114,117,115,0,115,97,103,0,115,97,110,0,115,97,112,0,115,99,97,0,115,99,99,0,115,99,114,0,115,103,108,0,115,103,110,95,66,69,95,70,82,0,115,103,110,95,66,69,95,78,76,0,115,103,110,95,66,82,0,115,103,110,95,67,72,95,68,69,0,115,103,110,95,67,79,0,115,103,110,95,68,69,0,115,103,110,95,68,75,0,115,103,110,95,69,83,0,115,103,110,95,70,82,0,115,103,110,95,71,66,0,115,103,110,95,71,82,0,115,103,110,95,73,69,0,115,103,110,95,73,84,0,115,103,110,95,74,80,0,115,103,110,95,77,88,0,115,103,110,95,78,73,0,115,103,110,95,78,76,0,115,103,110,95,78,79,0,115,103,110,95,80,84,0,115,103,110,95,83,69,0,115,103,110,95,85,83,0,115,103,110,95,90,65,0,115,105,110,0,115,107,107,0,115,108,107,0,115,108,111,0,115,108,118,0,115,109,100,0,115,109,101,0,115,109,111,0,115,110,97,0,115,110,98,0,115,110,100,0,115,111,109,0,115,111,116,0,115,112,97,0,115,112,121,0,115,113,105,0,115,114,99,0,115,114,100,0,115,114,112,0,115,115,119,0,115,117,108,0,115,117,110,0,115,119,97,0,115,119,99,0,115,119,101,0,115,119,104,0,116,97,104,0,116,97,109,0,116,97,116,0,116,100,117,0,116,101,108,0,116,103,103,0,116,103,107,0,116,103,108,0,116,104,97,0,116,104,99,0,116,104,119,0,116,104,120,0,116,105,98,0,116,105,100,0,116,105,101,0,116,105,114,0,116,107,107,0,116,108,0,116,108,119,0,116,109,112,0,116,110,101,0,116,110,102,0,116,115,102,0,116,115,110,0,116,115,111,0,116,116,113,0,116,117,107,0,116,117,114,0,116,119,0,116,119,105,0,117,105,103,0,117,107,114,0,117,109,117,0,117,110,100,95,97,97,108,97,110,100,0,117,110,100,95,97,114,101,118,101,108,97,0,117,110,100,95,97,114,101,118,109,100,97,0,117,110,100,95,98,111,107,109,97,108,0,117,110,100,95,104,97,107,107,97,0,117,110,100,95,104,101,112,98,117,114,110,95,104,101,112,108,111,99,0,117,110,100,95,108,111,106,98,97,110,0,117,110,100,95,110,121,110,111,114,115,107,0,117,110,100,95,115,97,97,104,111,0,117,110,100,95,120,105,97,110,103,0,117,110,112,0,117,111,107,0,117,114,100,0,117,122,98,0,117,122,110,0,118,101,110,0,118,105,101,0,118,111,108,0,119,101,108,0,119,103,119,0,119,105,116,0,119,105,119,0,119,108,110,0,119,111,108,0,120,98,97,0,120,104,111,0,120,105,97,0,120,107,104,0,120,112,101,0,120,114,113,0,120,115,106,0,120,115,108,0,121,98,100,0,121,100,100,0,121,101,110,0,121,105,100,0,121,105,121,0,121,109,97,0,121,109,116,0,121,111,114,0,121,111,115,0,121,117,117,0,122,97,105,0,122,104,95,99,109,110,0,122,104,95,99,109,110,95,72,97,110,115,0,122,104,95,99,109,110,95,72,97,110,116,0,122,104,95,103,97,110,0,122,104,95,103,117,111,121,117,0,122,104,95,104,97,107,107,97,0,122,104,95,109,105,110,0,122,104,95,109,105,110,95,110,97,110,0,122,104,95,119,117,117,0,122,104,95,120,105,97,110,103,0,122,104,95,121,117,101,0,122,104,97,0,122,104,111,0,122,105,114,0,122,115,109,0,122,117,108,0,122,121,98,0,115,99,114,105,112,116,0,81,97,97,105,0,115,117,98,100,105,118,105,115,105,111,110,0,99,110,49,49,0,99,110,49,50,0,99,110,49,51,0,99,110,49,52,0,99,110,49,53,0,99,110,50,49,0,99,110,50,50,0,99,110,50,51,0,99,110,51,49,0,99,110,51,50,0,99,110,51,51,0,99,110,51,52,0,99,110,51,53,0,99,110,51,54,0,99,110,51,55,0,99,110,52,49,0,99,110,52,50,0,99,110,52,51,0,99,110,52,52,0,99,110,52,53,0,99,110,52,54,0,99,110,53,48,0,99,110,53,49,0,99,110,53,50,0,99,110,53,51,0,99,110,53,52,0,99,110,54,49,0,99,110,54,50,0,99,110,54,51,0,99,110,54,52,0,99,110,54,53,0,99,110,55,49,0,99,110,57,49,0,99,110,57,50,0,99,122,49,48,97,0,99,122,49,48,98,0,99,122,49,48,99,0,99,122,49,48,100,0,99,122,49,48,101,0,99,122,49,48,102,0,99,122,54,49,49,0,99,122,54,49,50,0,99,122,54,49,51,0,99,122,54,49,52,0,99,122,54,49,53,0,99,122,54,50,49,0,99,122,54,50,50,0,99,122,54,50,51,0,99,122,54,50,52,0,99,122,54,50,54,0,99,122,54,50,55,0,99,122,106,99,0,99,122,106,109,0,99,122,107,97,0,99,122,107,114,0,99,122,108,105,0,99,122,109,111,0,99,122,111,108,0,99,122,112,97,0,99,122,112,108,0,99,122,112,114,0,99,122,115,116,0,99,122,117,115,0,99,122,118,121,0,99,122,122,108,0,102,105,48,49,0,102,114,98,0,102,114,98,108,0,102,114,99,0,102,114,99,112,0,102,114,100,0,102,114,102,0,102,114,103,0,102,114,103,102,0,102,114,103,112,0,102,114,104,0,102,114,105,0,102,114,106,0,102,114,107,0,102,114,108,0,102,114,109,0,102,114,109,102,0,102,114,109,113,0,102,114,110,0,102,114,110,99,0,102,114,111,0,102,114,112,0,102,114,112,102,0,102,114,112,109,0,102,114,113,0,102,114,114,0,102,114,114,101,0,102,114,115,0,102,114,116,0,102,114,116,102,0,102,114,117,0,102,114,118,0,102,114,119,102,0,102,114,121,116,0,108,97,120,110,0,108,117,100,0,108,117,108,0,109,114,110,107,99,0,110,108,97,119,0,110,108,99,119,0,110,108,115,120,0,110,111,50,51,0,110,122,110,0,110,122,115,0,111,109,98,97,0,111,109,115,104,0,112,108,100,115,0,112,108,107,112,0,112,108,108,98,0,112,108,108,100,0,112,108,108,117,0,112,108,109,97,0,112,108,109,122,0,112,108,111,112,0,112,108,112,100,0,112,108,112,107,0,112,108,112,109,0,112,108,115,107,0,112,108,115,108,0,112,108,119,110,0,112,108,119,112,0,112,108,122,112,0,115,104,116,97,0,116,116,101,116,111,0,116,116,114,99,109,0,116,116,119,116,111,0,116,119,107,104,113,0,116,119,116,110,113,0,116,119,116,112,113,0,116,119,116,120,113,0,117,115,97,115,0,117,115,103,117,0,117,115,109,112,0,117,115,112,114,0,117,115,117,109,0,117,115,118,105,0,116,101,114,114,105,116,111,114,121,0,48,48,52,0,48,48,56,0,48,49,48,0,48,49,50,0,48,49,54,0,48,50,48,0,48,50,52,0,48,50,56,0,48,51,49,0,48,51,50,0,48,51,54,0,48,52,48,0,48,52,52,0,48,52,56,0,48,53,48,0,48,53,49,0,48,53,50,0,48,53,54,0,48,54,48,0,48,54,50,0,48,54,52,0,48,54,56,0,48,55,48,0,48,55,50,0,48,55,52,0,48,55,54,0,48,56,52,0,48,56,54,0,48,57,48,0,48,57,50,0,48,57,54,0,49,48,48,0,49,48,52,0,49,48,56,0,49,49,50,0,49,49,54,0,49,50,48,0,49,50,52,0,49,51,50,0,49,51,54,0,49,52,48,0,49,52,52,0,49,52,56,0,49,53,50,0,49,53,54,0,49,53,56,0,49,54,50,0,49,54,54,0,49,55,48,0,49,55,50,0,49,55,52,0,49,55,53,0,49,55,56,0,49,56,48,0,49,56,52,0,49,56,56,0,49,57,49,0,49,57,50,0,49,57,54,0,50,48,48,0,50,48,51,0,50,48,52,0,50,48,56,0,50,49,50,0,50,49,52,0,50,49,56,0,50,50,50,0,50,50,54,0,50,51,48,0,50,51,49,0,50,51,50,0,50,51,51,0,50,51,52,0,50,51,56,0,50,51,57,0,50,52,50,0,50,52,54,0,50,52,56,0,50,52,57,0,50,53,48,0,50,53,52,0,50,53,56,0,50,54,48,0,50,54,50,0,50,54,54,0,50,54,56,0,50,55,48,0,50,55,53,0,50,55,54,0,50,55,56,0,50,56,48,0,50,56,56,0,50,57,50,0,50,57,54,0,51,48,48,0,51,48,52,0,51,48,56,0,51,49,50,0,51,49,54,0,51,50,48,0,51,50,52,0,51,50,56,0,51,51,50,0,51,51,52,0,51,51,54,0,51,52,48,0,51,52,52,0,51,52,56,0,51,53,50,0,51,53,54,0,51,54,48,0,51,54,52,0,51,54,56,0,51,55,50,0,51,55,54,0,51,56,48,0,51,56,52,0,51,56,56,0,51,57,50,0,51,57,56,0,52,48,48,0,52,48,52,0,52,48,56,0,52,49,48,0,52,49,52,0,52,49,55,0,52,49,56,0,52,50,50,0,52,50,54,0,52,50,56,0,52,51,48,0,52,51,52,0,52,51,56,0,52,52,48,0,52,52,50,0,52,52,54,0,52,53,48,0,52,53,52,0,52,53,56,0,52,54,50,0,52,54,54,0,52,55,48,0,52,55,52,0,52,55,56,0,52,56,48,0,52,56,52,0,52,57,50,0,52,57,54,0,52,57,56,0,52,57,57,0,53,48,48,0,53,48,52,0,53,48,56,0,53,49,50,0,53,49,54,0,53,50,48,0,53,50,52,0,53,50,56,0,53,51,48,0,53,51,49,0,53,51,50,0,53,51,51,0,53,51,52,0,53,51,53,0,53,51,54,0,53,52,48,0,53,52,56,0,53,53,52,0,53,53,56,0,53,54,50,0,53,54,54,0,53,55,48,0,53,55,52,0,53,55,56,0,53,56,48,0,53,56,49,0,53,56,50,0,53,56,51,0,53,56,52,0,53,56,53,0,53,56,54,0,53,57,49,0,53,57,56,0,54,48,48,0,54,48,52,0,54,48,56,0,54,49,54,0,54,50,48,0,54,51,48,0,54,51,52,0,54,51,56,0,54,52,50,0,54,52,51,0,54,52,54,0,54,53,50,0,54,53,52,0,54,53,57,0,54,54,48,0,54,54,50,0,54,54,51,0,54,54,54,0,54,55,48,0,54,55,52,0,54,55,56,0,54,56,50,0,54,56,54,0,54,56,56,0,54,57,48,0,54,57,52,0,55,48,50,0,55,48,51,0,55,48,52,0,55,48,53,0,55,48,54,0,55,49,48,0,55,49,54,0,55,50,48,0,55,50,52,0,55,50,56,0,55,50,57,0,55,51,50,0,55,51,54,0,55,52,48,0,55,52,52,0,55,52,56,0,55,53,50,0,55,53,54,0,55,54,48,0,55,54,50,0,55,54,52,0,55,54,56,0,55,55,50,0,55,55,54,0,55,56,48,0,55,56,52,0,55,56,56,0,55,57,50,0,55,57,53,0,55,57,54,0,55,57,56,0,56,48,48,0,56,48,52,0,56,48,55,0,56,49,48,0,56,49,56,0,56,50,54,0,56,51,48,0,56,51,49,0,56,51,50,0,56,51,51,0,56,51,52,0,56,52,48,0,56,53,48,0,56,53,52,0,56,53,56,0,56,54,48,0,56,54,50,0,56,55,54,0,56,56,50,0,56,56,54,0,56,56,55,0,56,57,48,0,56,57,49,0,56,57,52,0,57,53,56,0,57,53,57,0,57,54,48,0,57,54,50,0,57,54,51,0,57,54,52,0,57,54,53,0,57,54,54,0,57,54,55,0,57,54,56,0,57,54,57,0,57,55,48,0,57,55,49,0,57,55,50,0,57,55,51,0,57,55,52,0,57,55,53,0,57,55,54,0,57,55,55,0,57,55,56,0,57,55,57,0,57,56,48,0,57,56,49,0,57,56,50,0,57,56,51,0,57,56,52,0,57,56,53,0,57,56,54,0,57,56,55,0,57,56,56,0,57,56,57,0,57,57,48,0,57,57,49,0,57,57,50,0,57,57,51,0,57,57,52,0,57,57,53,0,57,57,54,0,57,57,55,0,57,57,56,0,57,57,57,0,65,65,65,0,65,66,87,0,65,70,71,0,65,71,79,0,65,73,65,0,65,76,65,0,65,76,66,0,65,78,68,0,65,78,84,0,65,82,69,0,65,82,71,0,65,82,77,0,65,83,67,0,65,83,77,0,65,84,65,0,65,84,70,0,65,84,71,0,65,85,83,0,65,85,84,0,65,90,69,0,66,68,73,0,66,69,76,0,66,69,78,0,66,69,83,0,66,70,65,0,66,71,68,0,66,71,82,0,66,72,82,0,66,72,83,0,66,73,72,0,66,76,77,0,66,76,82,0,66,76,90,0,66,77,85,0,66,79,76,0,66,82,65,0,66,82,66,0,66,82,78,0,66,84,78,0,66,85,0,66,85,82,0,66,86,84,0,66,87,65,0,67,65,70,0,67,65,78,0,67,67,75,0,67,72,69,0,67,72,76,0,67,72,78,0,67,73,86,0,67,77,82,0,67,79,68,0,67,79,71,0,67,79,75,0,67,79,76,0,67,79,77,0,67,80,84,0,67,80,86,0,67,82,73,0,67,83,0,67,85,66,0,67,85,87,0,67,88,82,0,67,89,77,0,67,89,80,0,67,90,69,0,68,68,82,0,68,69,85,0,68,71,65,0,68,74,73,0,68,77,65,0,68,78,75,0,68,79,77,0,68,89,0,68,90,65,0,69,67,85,0,69,71,89,0,69,82,73,0,69,83,72,0,69,83,80,0,69,83,84,0,69,84,72,0,70,73,78,0,70,74,73,0,70,76,75,0,70,81,0,70,82,65,0,70,82,79,0,70,83,77,0,70,88,0,70,88,88,0,71,65,66,0,71,66,82,0,71,69,79,0,71,71,89,0,71,72,65,0,71,73,66,0,71,73,78,0,71,76,80,0,71,77,66,0,71,78,66,0,71,78,81,0,71,82,67,0,71,82,68,0,71,82,76,0,71,84,77,0,71,85,70,0,71,85,77,0,71,85,89,0,72,75,71,0,72,77,68,0,72,78,68,0,72,82,86,0,72,84,73,0,72,85,78,0,72,86,0,73,68,78,0,73,77,78,0,73,78,68,0,73,79,84,0,73,82,76,0,73,82,78,0,73,82,81,0,73,83,76,0,73,83,82,0,73,84,65,0,74,65,77,0,74,69,89,0,74,79,82,0,74,80,78,0,74,84,0,75,65,90,0,75,69,78,0,75,71,90,0,75,72,77,0,75,73,82,0,75,78,65,0,75,79,82,0,75,87,84,0,76,65,79,0,76,66,78,0,76,66,82,0,76,66,89,0,76,67,65,0,76,73,69,0,76,75,65,0,76,83,79,0,76,84,85,0,76,85,88,0,76,86,65,0,77,65,67,0,77,65,70,0,77,65,82,0,77,67,79,0,77,68,65,0,77,68,71,0,77,68,86,0,77,69,88,0,77,72,76,0,77,75,68,0,77,76,73,0,77,76,84,0,77,77,82,0,77,78,69,0,77,78,71,0,77,78,80,0,77,79,90,0,77,82,84,0,77,83,82,0,77,84,81,0,77,85,83,0,77,87,73,0,77,89,83,0,77,89,84,0,78,65,77,0,78,67,76,0,78,69,82,0,78,70,75,0,78,71,65,0,78,72,0,78,73,67,0,78,73,85,0,78,76,68,0,78,79,82,0,78,80,76,0,78,82,85,0,78,84,90,0,78,90,76,0,79,77,78,0,80,65,75,0,80,65,78,0,80,67,0,80,67,78,0,80,69,82,0,80,72,76,0,80,76,87,0,80,78,71,0,80,79,76,0,80,82,73,0,80,82,75,0,80,82,84,0,80,82,89,0,80,83,69,0,80,85,0,80,89,70,0,80,90,0,81,65,84,0,81,77,77,0,81,78,78,0,81,80,80,0,81,81,81,0,81,82,82,0,81,83,83,0,81,84,84,0,81,85,0,81,85,85,0,81,86,86,0,81,87,87,0,81,88,88,0,81,89,89,0,81,90,90,0,82,69,85,0,82,72,0,82,79,85,0,82,85,83,0,82,87,65,0,83,65,85,0,83,67,71,0,83,68,78,0,83,69,78,0,83,71,80,0,83,71,83,0,83,72,78,0,83,74,77,0,83,76,66,0,83,76,69,0,83,76,86,0,83,77,82,0,83,79,77,0,83,80,77,0,83,82,66,0,83,83,68,0,83,84,80,0,83,85,0,83,85,78,0,83,85,82,0,83,86,75,0,83,86,78,0,83,87,69,0,83,87,90,0,83,88,77,0,83,89,67,0,83,89,82,0,84,65,65,0,84,67,65,0,84,67,68,0,84,71,79,0,84,72,65,0,84,74,75,0,84,75,76,0,84,75,77,0,84,76,83,0,84,77,80,0,84,79,78,0,84,84,79,0,84,85,78,0,84,85,82,0,84,85,86,0,84,87,78,0,84,90,65,0,85,71,65,0,85,75,0,85,75,82,0,85,77,73,0,85,82,89,0,85,83,65,0,85,90,66,0,86,65,84,0,86,67,84,0,86,68,0,86,69,78,0,86,71,66,0,86,73,82,0,86,78,77,0,86,85,84,0,87,75,0,87,76,70,0,87,83,77,0,88,65,65,0,88,66,66,0,88,67,67,0,88,68,68,0,88,69,69,0,88,70,70,0,88,71,71,0,88,72,72,0,88,73,73,0,88,74,74,0,88,75,75,0,88,76,76,0,88,77,77,0,88,78,78,0,88,79,79,0,88,80,80,0,88,81,81,0,88,82,82,0,88,83,83,0,88,84,84,0,88,85,85,0,88,86,86,0,88,87,87,0,88,88,88,0,88,89,89,0,88,90,90,0,89,68,0,89,69,77,0,89,77,68,0,89,85,0,89,85,71,0,90,65,70,0,90,65,82,0,90,77,66,0,90,82,0,90,87,69,0,90,90,90,0,117,110,105,116,0,105,110,99,104,45,104,103,0,108,105,116,101,114,45,112,101,114,45,49,48,48,107,105,108,111,109,101,116,101,114,115,0,109,101,116,101,114,45,112,101,114,45,115,101,99,111,110,100,45,115,113,117,97,114,101,100,0,109,101,116,114,105,99,45,116,111,110,0,109,105,108,108,105,103,114,97,109,45,112,101,114,45,100,101,99,105,108,105,116,101,114,0,109,105,108,108,105,109,101,116,101,114,45,111,102,45,109,101,114,99,117,114,121,0,112,97,114,116,45,112,101,114,45,109,105,108,108,105,111,110,0,112,111,117,110,100,45,102,111,111,116,0,112,111,117,110,100,45,112,101,114,45,115,113,117,97,114,101,45,105,110,99,104,0,117,115,97,103,101,0,109,117,115,105,99,45,116,114,97,99,107,0,116,118,45,112,114,111,103,114,97,109,0,118,97,114,105,97,110,116,0,112,111,108,121,116,111,110,105,0,100,101,102,97,117,108,116,67,111,110,116,101,110,116,0,170,170,0,0,85,0,77,0,0,0,89,0,69,0,0,0,122,0,104,0,0,0,84,0,76,0,0,0,110,0,98,0,0,0,65,0,81,0,0,0,65,0,83,0,0,0,65,0,87,0,0,0,66,0,70,0,0,0,66,0,74,0,0,0,66,0,76,0,0,0,67,0,87,0,0,0,69,0,85,0,0,0,71,0,70,0,0,0,71,0,80,0,0,0,71,0,85,0,0,0,75,0,73,0,0,0,77,0,70,0,0,0,77,0,79,0,0,0,77,0,80,0,0,0,77,0,81,0,0,0,78,0,67,0,0,0,80,0,65,0,0,0,80,0,70,0,0,0,80,0,77,0,0,0,80,0,82,0,0,0,82,0,69,0,0,0,83,0,68,0,0,0,83,0,88,0,0,0,86,0,73,0,0,0,86,0,85,0,0,0,87,0,70,0,0,0,89,0,84,0,0,0,102,0,97,0,0,0,109,0,115,0,0,0,115,0,113,0,0,0,121,0,105,0,0,0,65,0,65,0,0,0,65,0,68,0,0,0,65,0,69,0,0,0,65,0,71,0,0,0,65,0,73,0,0,0,65,0,79,0,0,0,65,0,82,0,0,0,65,0,84,0,0,0,66,0,66,0,0,0,66,0,72,0,0,0,66,0,77,0,0,0,66,0,78,0,0,0,66,0,79,0,0,0,66,0,83,0,0,0,66,0,86,0,0,0,66,0,87,0,0,0,66,0,90,0,0,0,67,0,67,0,0,0,67,0,71,0,0,0,67,0,73,0,0,0,67,0,75,0,0,0,67,0,79,0,0,0,67,0,80,0,0,0,67,0,82,0,0,0,67,0,85,0,0,0,67,0,88,0,0,0,67,0,89,0,0,0,68,0,74,0,0,0,68,0,77,0,0,0,68,0,79,0,0,0,69,0,67,0,0,0,69,0,71,0,0,0,69,0,72,0,0,0,70,0,74,0,0,0,70,0,75,0,0,0,70,0,77,0,0,0,71,0,65,0,0,0,71,0,68,0,0,0,71,0,73,0,0,0,71,0,77,0,0,0,71,0,81,0,0,0,71,0,83,0,0,0,71,0,87,0,0,0,71,0,89,0,0,0,72,0,77,0,0,0,72,0,78,0,0,0,72,0,84,0,0,0,73,0,79,0,0,0,74,0,69,0,0,0,74,0,77,0,0,0,74,0,79,0,0,0,75,0,77,0,0,0,75,0,78,0,0,0,75,0,80,0,0,0,75,0,87,0,0,0,75,0,89,0,0,0,76,0,66,0,0,0,76,0,67,0,0,0,76,0,73,0,0,0,76,0,83,0,0,0,76,0,89,0,0,0,77,0,67,0,0,0,77,0,68,0,0,0,77,0,72,0,0,0,77,0,82,0,0,0,77,0,83,0,0,0,77,0,88,0,0,0,78,0,70,0,0,0,78,0,73,0,0,0,78,0,82,0,0,0,78,0,85,0,0,0,79,0,77,0,0,0,80,0,78,0,0,0,80,0,83,0,0,0,80,0,84,0,0,0,81,0,65,0,0,0,81,0,77,0,0,0,81,0,78,0,0,0,81,0,80,0,0,0,81,0,81,0,0,0,81,0,82,0,0,0,81,0,83,0,0,0,81,0,84,0,0,0,81,0,86,0,0,0,81,0,87,0,0,0,81,0,88,0,0,0,81,0,89,0,0,0,81,0,90,0,0,0,83,0,65,0,0,0,83,0,67,0,0,0,83,0,71,0,0,0,83,0,72,0,0,0,83,0,74,0,0,0,83,0,76,0,0,0,83,0,77,0,0,0,83,0,82,0,0,0,83,0,84,0,0,0,83,0,86,0,0,0,83,0,89,0,0,0,83,0,90,0,0,0,84,0,65,0,0,0,84,0,67,0,0,0,84,0,68,0,0,0,84,0,75,0,0,0,84,0,78,0,0,0,84,0,84,0,0,0,84,0,86,0,0,0,85,0,89,0,0,0,86,0,67,0,0,0,86,0,69,0,0,0,86,0,71,0,0,0,87,0,83,0,0,0,88,0,65,0,0,0,88,0,66,0,0,0,88,0,67,0,0,0,88,0,68,0,0,0,88,0,69,0,0,0,88,0,70,0,0,0,88,0,71,0,0,0,88,0,72,0,0,0,88,0,73,0,0,0,88,0,74,0,0,0,88,0,75,0,0,0,88,0,76,0,0,0,88,0,77,0,0,0,88,0,78,0,0,0,88,0,79,0,0,0,88,0,80,0,0,0,88,0,81,0,0,0,88,0,82,0,0,0,88,0,83,0,0,0,88,0,84,0,0,0,88,0,85,0,0,0,88,0,86,0,0,0,88,0,87,0,0,0,88,0,88,0,0,0,88,0,89,0,0,0,88,0,90,0,0,0,90,0,90,0,0,0,97,0,114,0,0,0,97,0,122,0,0,0,99,0,114,0,0,0,100,0,101,0,0,0,101,0,116,0,0,0,101,0,117,0,0,0,102,0,102,0,0,0,102,0,114,0,0,0,103,0,110,0,0,0,104,0,121,0,0,0,105,0,100,0,0,0,105,0,115,0,0,0,105,0,117,0,0,0,106,0,118,0,0,0,107,0,97,0,0,0,107,0,103,0,0,0,107,0,114,0,0,0,107,0,117,0,0,0,107,0,118,0,0,0,108,0,98,0,0,0,108,0,118,0,0,0,109,0,103,0,0,0,109,0,107,0,0,0,109,0,121,0,0,0,110,0,118,0,0,0,111,0,106,0,0,0,112,0,115,0,0,0,113,0,117,0,0,0,115,0,119,0,0,0,65,0,67,0,0,0,68,0,71,0,0,0,97,0,97,0,0,0,97,0,101,0,0,0,97,0,102,0,0,0,97,0,118,0,0,0,98,0,101,0,0,0,98,0,103,0,0,0,98,0,105,0,0,0,98,0,109,0,0,0,98,0,110,0,0,0,99,0,97,0,0,0,99,0,101,0,0,0,99,0,111,0,0,0,99,0,117,0,0,0,100,0,97,0,0,0,100,0,118,0,0,0,101,0,101,0,0,0,102,0,111,0,0,0,103,0,97,0,0,0,103,0,117,0,0,0,104,0,116,0,0,0,104,0,117,0,0,0,104,0,122,0,0,0,105,0,101,0,0,0,105,0,103,0,0,0,105,0,111,0,0,0,105,0,116,0,0,0,106,0,97,0,0,0,107,0,106,0,0,0,107,0,107,0,0,0,107,0,108,0,0,0,107,0,110,0,0,0,107,0,115,0,0,0,107,0,119,0,0,0,107,0,121,0,0,0,108,0,103,0,0,0,108,0,105,0,0,0,108,0,111,0,0,0,108,0,117,0,0,0,109,0,116,0,0,0,110,0,97,0,0,0,110,0,111,0,0,0,110,0,114,0,0,0,111,0,99,0,0,0,111,0,115,0,0,0,112,0,105,0,0,0,112,0,108,0,0,0,112,0,116,0,0,0,114,0,110,0,0,0,114,0,119,0,0,0,115,0,97,0,0,0,115,0,109,0,0,0,115,0,111,0,0,0,115,0,116,0,0,0,115,0,118,0,0,0,116,0,97,0,0,0,116,0,101,0,0,0,116,0,105,0,0,0,116,0,107,0,0,0,116,0,111,0,0,0,116,0,114,0,0,0,116,0,115,0,0,0,116,0,116,0,0,0,116,0,121,0,0,0,117,0,107,0,0,0,117,0,114,0,0,0,118,0,101,0,0,0,118,0,105,0,0,0,119,0,97,0,0,0,120,0,104,0,0,0,121,0,111,0,0,0,122,0,117,0,0,0,117,0,110,0,100,0,0,0,100,0,116,0,112,0,0,0,107,0,97,0,107,0,0,0,119,0,114,0,111,0,0,0,97,0,109,0,105,0,0,0,119,0,110,0,110,0,0,0,111,0,121,0,98,0,0,0,118,0,97,0,106,0,0,0,98,0,104,0,111,0,0,0,105,0,98,0,97,0,0,0,114,0,107,0,105,0,0,0,98,0,105,0,107,0,0,0,100,0,101,0,108,0,0,0,100,0,117,0,122,0,0,0,101,0,110,0,108,0,0,0,105,0,115,0,107,0,0,0,106,0,98,0,111,0,0,0,107,0,100,0,122,0,0,0,110,0,99,0,115,0,0,0,112,0,104,0,114,0,0,0,112,0,115,0,114,0,0,0,116,0,97,0,121,0,0,0,122,0,111,0,109,0,0,0,122,0,122,0,97,0,0,0,100,0,109,0,119,0,0,0,102,0,105,0,108,0,0,0,104,0,97,0,107,0,0,0,107,0,122,0,107,0,0,0,109,0,97,0,110,0,0,0,109,0,114,0,121,0,0,0,112,0,105,0,106,0,0,0,98,0,102,0,105,0,0,0,98,0,102,0,121,0,0,0,99,0,109,0,114,0,0,0,100,0,101,0,110,0,0,0,100,0,103,0,108,0,0,0,105,0,115,0,101,0,0,0,105,0,115,0,103,0,0,0,106,0,107,0,109,0,0,0,106,0,115,0,108,0,0,0,107,0,109,0,108,0,0,0,110,0,97,0,110,0,0,0,110,0,98,0,114,0,0,0,110,0,103,0,118,0,0,0,110,0,115,0,105,0,0,0,110,0,118,0,111,0,0,0,110,0,119,0,111,0,0,0,111,0,108,0,97,0,0,0,111,0,112,0,97,0,0,0,114,0,97,0,115,0,0,0,115,0,99,0,118,0,0,0,115,0,103,0,100,0,0,0,116,0,109,0,104,0,0,0,116,0,115,0,117,0,0,0,117,0,116,0,104,0,0,0,119,0,101,0,111,0,0,0,120,0,99,0,104,0,0,0,120,0,110,0,121,0,0,0,120,0,116,0,103,0,0,0,121,0,97,0,109,0,0,0,121,0,114,0,109,0,0,0,121,0,117,0,103,0,0,0,97,0,97,0,115,0,0,0,97,0,99,0,110,0,0,0,97,0,100,0,120,0,0,0,97,0,101,0,98,0,0,0,97,0,109,0,113,0,0,0,97,0,111,0,103,0,0,0,97,0,111,0,117,0,0,0,97,0,112,0,102,0,0,0,97,0,113,0,100,0,0,0,97,0,113,0,116,0,0,0,97,0,115,0,101,0,0,0,97,0,122,0,100,0,0,0,98,0,97,0,108,0,0,0,98,0,99,0,103,0,0,0,98,0,101,0,98,0,0,0,98,0,105,0,114,0,0,0,98,0,106,0,112,0,0,0,98,0,109,0,102,0,0,0,98,0,110,0,99,0,0,0,98,0,110,0,110,0,0,0,98,0,112,0,112,0,0,0,98,0,117,0,97,0,0,0,98,0,122,0,99,0,0,0,98,0,122,0,115,0,0,0,99,0,97,0,120,0,0,0,99,0,104,0,109,0,0,0,99,0,105,0,114,0,0,0,99,0,115,0,110,0,0,0,100,0,98,0,116,0,0,0,100,0,101,0,118,0,0,0,100,0,105,0,102,0,0,0,100,0,105,0,110,0,0,0,100,0,110,0,106,0,0,0,100,0,111,0,105,0,0,0,100,0,114,0,108,0,0,0,100,0,115,0,101,0,0,0,100,0,115,0,108,0,0,0,100,0,116,0,100,0,0,0,100,0,119,0,117,0,0,0,100,0,122,0,101,0,0,0,101,0,98,0,107,0,0,0,101,0,107,0,99,0,0,0,101,0,109,0,97,0,0,0,101,0,109,0,120,0,0,0,101,0,115,0,103,0,0,0,101,0,122,0,97,0,0,0,102,0,98,0,108,0,0,0,102,0,115,0,108,0,0,0,103,0,97,0,108,0,0,0,103,0,97,0,110,0,0,0,103,0,98,0,97,0,0,0,103,0,100,0,106,0,0,0,103,0,111,0,110,0,0,0,103,0,114,0,98,0,0,0,103,0,115,0,103,0,0,0,103,0,115,0,115,0,0,0,103,0,116,0,117,0,0,0,103,0,118,0,114,0,0,0,104,0,97,0,105,0,0,0,104,0,108,0,101,0,0,0,104,0,109,0,110,0,0,0,104,0,115,0,110,0,0,0,104,0,117,0,119,0,0,0,104,0,121,0,119,0,0,0,105,0,108,0,109,0,0,0,105,0,116,0,100,0,0,0,106,0,97,0,108,0,0,0,106,0,98,0,107,0,0,0,106,0,103,0,107,0,0,0,106,0,114,0,98,0,0,0,107,0,108,0,110,0,0,0,107,0,109,0,98,0,0,0,107,0,111,0,107,0,0,0,107,0,112,0,101,0,0,0,107,0,114,0,117,0,0,0,107,0,115,0,112,0,0,0,107,0,116,0,122,0,0,0,107,0,119,0,118,0,0,0,107,0,120,0,114,0,0,0,108,0,97,0,104,0,0,0,108,0,99,0,113,0,0,0,108,0,114,0,114,0,0,0,108,0,117,0,121,0,0,0,109,0,102,0,115,0,0,0,109,0,111,0,109,0,0,0,109,0,116,0,109,0,0,0,109,0,119,0,114,0,0,0,110,0,103,0,116,0,0,0,110,0,106,0,122,0,0,0,110,0,111,0,108,0,0,0,110,0,114,0,107,0,0,0,110,0,114,0,117,0,0,0,110,0,117,0,110,0,0,0,110,0,121,0,99,0,0,0,112,0,114,0,116,0,0,0,112,0,117,0,98,0,0,0,112,0,119,0,110,0,0,0,113,0,117,0,104,0,0,0,114,0,97,0,106,0,0,0,114,0,97,0,113,0,0,0,114,0,109,0,120,0,0,0,114,0,111,0,109,0,0,0,115,0,102,0,98,0,0,0,115,0,102,0,115,0,0,0,115,0,103,0,103,0,0,0,115,0,110,0,122,0,0,0,115,0,114,0,120,0,0,0,115,0,115,0,112,0,0,0,115,0,115,0,121,0,0,0,115,0,117,0,106,0,0,0,115,0,119,0,108,0,0,0,115,0,121,0,114,0,0,0,116,0,97,0,106,0,0,0,116,0,97,0,111,0,0,0,116,0,100,0,102,0,0,0,116,0,108,0,104,0,0,0,116,0,112,0,111,0,0,0,116,0,118,0,100,0,0,0,116,0,119,0,109,0,0,0,116,0,121,0,106,0,0,0,117,0,108,0,119,0,0,0,118,0,103,0,116,0,0,0,119,0,97,0,119,0,0,0,119,0,103,0,98,0,0,0,119,0,110,0,121,0,0,0,119,0,117,0,117,0,0,0,120,0,110,0,116,0,0,0,121,0,110,0,113,0,0,0,121,0,117,0,101,0,0,0,122,0,97,0,112,0,0,0,122,0,107,0,100,0,0,0,99,0,110,0,109,0,110,0,0,0,99,0,110,0,104,0,101,0,0,0,99,0,110,0,115,0,99,0,0,0,99,0,110,0,99,0,113,0,0,0,99,0,110,0,102,0,106,0,0,0,99,0,110,0,104,0,97,0,0,0,99,0,110,0,104,0,105,0,0,0,99,0,110,0,108,0,110,0,0,0,99,0,110,0,115,0,100,0,0,0,99,0,110,0,115,0,110,0,0,0,90,0,105,0,110,0,104,0,0,0,99,0,110,0,97,0,104,0,0,0,99,0,110,0,98,0,106,0,0,0,99,0,110,0,103,0,100,0,0,0,99,0,110,0,103,0,115,0,0,0,99,0,110,0,103,0,120,0,0,0,99,0,110,0,103,0,122,0,0,0,99,0,110,0,104,0,98,0,0,0,99,0,110,0,104,0,108,0,0,0,99,0,110,0,104,0,110,0,0,0,99,0,110,0,106,0,108,0,0,0,99,0,110,0,106,0,115,0,0,0,99,0,110,0,106,0,120,0,0,0,99,0,110,0,110,0,120,0,0,0,99,0,110,0,113,0,104,0,0,0,99,0,110,0,115,0,104,0,0,0,99,0,110,0,115,0,120,0,0,0,99,0,110,0,116,0,106,0,0,0,99,0,110,0,120,0,106,0,0,0,99,0,110,0,120,0,122,0,0,0,99,0,110,0,121,0,110,0,0,0,99,0,110,0,122,0,106,0,0,0,99,0,122,0,49,0,48,0,0,0,99,0,122,0,50,0,48,0,0,0,99,0,122,0,51,0,49,0,0,0,99,0,122,0,51,0,50,0,0,0,99,0,122,0,52,0,49,0,0,0,99,0,122,0,52,0,50,0,0,0,99,0,122,0,53,0,49,0,0,0,99,0,122,0,53,0,50,0,0,0,99,0,122,0,53,0,51,0,0,0,99,0,122,0,54,0,51,0,0,0,99,0,122,0,54,0,52,0,0,0,99,0,122,0,55,0,49,0,0,0,99,0,122,0,55,0,50,0,0,0,99,0,122,0,56,0,48,0,0,0,108,0,97,0,120,0,115,0,0,0,110,0,111,0,53,0,48,0,0,0,112,0,108,0,48,0,50,0,0,0,112,0,108,0,48,0,52,0,0,0,112,0,108,0,48,0,54,0,0,0,112,0,108,0,48,0,56,0,0,0,112,0,108,0,49,0,48,0,0,0,112,0,108,0,49,0,50,0,0,0,112,0,108,0,49,0,52,0,0,0,112,0,108,0,49,0,54,0,0,0,112,0,108,0,49,0,56,0,0,0,112,0,108,0,50,0,48,0,0,0,112,0,108,0,50,0,50,0,0,0,112,0,108,0,50,0,52,0,0,0,112,0,108,0,50,0,54,0,0,0,112,0,108,0,50,0,56,0,0,0,112,0,108,0,51,0,48,0,0,0,112,0,108,0,51,0,50,0,0,0,82,0,83,0,32,0,77,0,69,0,0,0,102,0,114,0,95,0,70,0,82,0,0,0,102,0,114,0,103,0,101,0,115,0,0,0,83,0,65,0,32,0,73,0,81,0,0,0,102,0,97,0,95,0,65,0,70,0,0,0,102,0,114,0,110,0,97,0,113,0,0,0,102,0,114,0,110,0,111,0,114,0,0,0,109,0,121,0,95,0,77,0,77,0,0,0,115,0,119,0,95,0,67,0,68,0,0,0,65,0,81,0,32,0,84,0,70,0,0,0,99,0,121,0,95,0,71,0,66,0,0,0,109,0,101,0,100,0,105,0,97,0,0,0,115,0,110,0,95,0,90,0,87,0,0,0,74,0,69,0,32,0,71,0,71,0,0,0,97,0,107,0,95,0,71,0,72,0,0,0,98,0,101,0,95,0,66,0,89,0,0,0,98,0,103,0,95,0,66,0,71,0,0,0,99,0,115,0,95,0,67,0,90,0,0,0,100,0,97,0,95,0,68,0,75,0,0,0,100,0,118,0,95,0,77,0,86,0,0,0,100,0,122,0,95,0,66,0,84,0,0,0,101,0,108,0,95,0,71,0,82,0,0,0,101,0,116,0,95,0,69,0,69,0,0,0,101,0,117,0,95,0,69,0,83,0,0,0,102,0,111,0,95,0,70,0,79,0,0,0,102,0,114,0,97,0,114,0,97,0,0,0,102,0,114,0,98,0,102,0,99,0,0,0,102,0,114,0,104,0,100,0,102,0,0,0,102,0,114,0,111,0,99,0,99,0,0,0,102,0,121,0,95,0,78,0,76,0,0,0,103,0,97,0,95,0,73,0,69,0,0,0,103,0,110,0,95,0,80,0,89,0,0,0,103,0,118,0,95,0,73,0,77,0,0,0,104,0,101,0,95,0,73,0,76,0,0,0,104,0,114,0,95,0,72,0,82,0,0,0,104,0,117,0,95,0,72,0,85,0,0,0,104,0,121,0,95,0,65,0,77,0,0,0,105,0,115,0,95,0,73,0,83,0,0,0,105,0,116,0,95,0,73,0,84,0,0,0,105,0,117,0,95,0,67,0,65,0,0,0,106,0,97,0,95,0,74,0,80,0,0,0,106,0,118,0,95,0,73,0,68,0,0,0,107,0,107,0,95,0,75,0,90,0,0,0,107,0,108,0,95,0,71,0,76,0,0,0,107,0,109,0,95,0,75,0,72,0,0,0,107,0,111,0,95,0,75,0,82,0,0,0,107,0,117,0,95,0,84,0,82,0,0,0,107,0,121,0,95,0,75,0,71,0,0,0,108,0,97,0,95,0,86,0,65,0,0,0,108,0,98,0,95,0,76,0,85,0,0,0,108,0,111,0,95,0,76,0,65,0,0,0,108,0,116,0,95,0,76,0,84,0,0,0,108,0,118,0,95,0,76,0,86,0,0,0,109,0,103,0,95,0,77,0,71,0,0,0,109,0,105,0,95,0,78,0,90,0,0,0,109,0,107,0,95,0,77,0,75,0,0,0,109,0,110,0,95,0,77,0,78,0,0,0,109,0,115,0,95,0,77,0,89,0,0,0,109,0,116,0,95,0,77,0,84,0,0,0,110,0,101,0,95,0,78,0,80,0,0,0,110,0,110,0,95,0,78,0,79,0,0,0,110,0,121,0,95,0,77,0,87,0,0,0,111,0,115,0,95,0,71,0,69,0,0,0,112,0,115,0,95,0,65,0,70,0,0,0,112,0,116,0,95,0,66,0,82,0,0,0,113,0,117,0,95,0,80,0,69,0,0,0,114,0,110,0,95,0,66,0,73,0,0,0,114,0,111,0,95,0,82,0,79,0,0,0,114,0,119,0,95,0,82,0,87,0,0,0,115,0,103,0,95,0,67,0,70,0,0,0,115,0,105,0,95,0,76,0,75,0,0,0,115,0,107,0,95,0,83,0,75,0,0,0,115,0,108,0,95,0,83,0,73,0,0,0,115,0,111,0,95,0,83,0,79,0,0,0,115,0,113,0,95,0,65,0,76,0,0,0,115,0,114,0,95,0,77,0,69,0,0,0,115,0,118,0,95,0,83,0,69,0,0,0,116,0,103,0,95,0,84,0,74,0,0,0,116,0,104,0,95,0,84,0,72,0,0,0,116,0,107,0,95,0,84,0,77,0,0,0,116,0,111,0,95,0,84,0,79,0,0,0,116,0,111,0,110,0,110,0,101,0,0,0,116,0,116,0,116,0,111,0,98,0,0,0,117,0,107,0,95,0,85,0,65,0,0,0,119,0,97,0,95,0,66,0,69,0,0,0,121,0,111,0,95,0,78,0,71,0,0,0,122,0,117,0,95,0,90,0,65,0,0,0,67,0,90,0,32,0,83,0,75,0,0,0,97,0,97,0,95,0,69,0,84,0,0,0,97,0,98,0,95,0,71,0,69,0,0,0,97,0,102,0,95,0,90,0,65,0,0,0,97,0,109,0,95,0,69,0,84,0,0,0,97,0,110,0,95,0,69,0,83,0,0,0,97,0,115,0,95,0,73,0,78,0,0,0,98,0,97,0,95,0,82,0,85,0,0,0,98,0,109,0,95,0,77,0,76,0,0,0,98,0,110,0,95,0,66,0,68,0,0,0,98,0,111,0,95,0,67,0,78,0,0,0,98,0,114,0,95,0,70,0,82,0,0,0,99,0,97,0,95,0,69,0,83,0,0,0,99,0,101,0,95,0,82,0,85,0,0,0,99,0,111,0,95,0,70,0,82,0,0,0,99,0,117,0,95,0,82,0,85,0,0,0,99,0,118,0,95,0,82,0,85,0,0,0,99,0,122,0,49,0,49,0,48,0,0,0,99,0,122,0,49,0,49,0,49,0,0,0,99,0,122,0,49,0,49,0,50,0,0,0,99,0,122,0,49,0,49,0,51,0,0,0,99,0,122,0,49,0,49,0,52,0,0,0,99,0,122,0,49,0,49,0,53,0,0,0,99,0,122,0,54,0,51,0,50,0,0,0,99,0,122,0,54,0,51,0,51,0,0,0,99,0,122,0,54,0,51,0,52,0,0,0,99,0,122,0,54,0,51,0,53,0,0,0,99,0,122,0,54,0,52,0,49,0,0,0,99,0,122,0,54,0,52,0,50,0,0,0,99,0,122,0,54,0,52,0,51,0,0,0,99,0,122,0,54,0,52,0,52,0,0,0,99,0,122,0,54,0,52,0,54,0,0,0,99,0,122,0,54,0,52,0,55,0,0,0,99,0,122,0,54,0,54,0,51,0,0,0,100,0,101,0,95,0,68,0,69,0,0,0,101,0,101,0,95,0,71,0,72,0,0,0,101,0,110,0,95,0,85,0,83,0,0,0,101,0,115,0,95,0,69,0,83,0,0,0,102,0,97,0,95,0,73,0,82,0,0,0,102,0,105,0,95,0,70,0,73,0,0,0,102,0,114,0,98,0,114,0,101,0,0,0,102,0,114,0,99,0,111,0,114,0,0,0,102,0,114,0,99,0,118,0,108,0,0,0,102,0,114,0,105,0,100,0,102,0,0,0,102,0,114,0,112,0,97,0,99,0,0,0,102,0,114,0,112,0,100,0,108,0,0,0,103,0,100,0,95,0,71,0,66,0,0,0,103,0,108,0,95,0,69,0,83,0,0,0,103,0,117,0,95,0,73,0,78,0,0,0,104,0,97,0,95,0,78,0,71,0,0,0,104,0,105,0,95,0,73,0,78,0,0,0,105,0,100,0,95,0,73,0,68,0,0,0,105,0,103,0,95,0,78,0,71,0,0,0,105,0,105,0,95,0,67,0,78,0,0,0,107,0,97,0,95,0,71,0,69,0,0,0,107,0,105,0,95,0,75,0,69,0,0,0,107,0,110,0,95,0,73,0,78,0,0,0,107,0,119,0,95,0,71,0,66,0,0,0,108,0,103,0,95,0,85,0,71,0,0,0,108,0,110,0,95,0,67,0,68,0,0,0,108,0,117,0,95,0,67,0,68,0,0,0,109,0,108,0,95,0,73,0,78,0,0,0,109,0,114,0,95,0,73,0,78,0,0,0,110,0,98,0,95,0,78,0,79,0,0,0,110,0,100,0,95,0,90,0,87,0,0,0,110,0,108,0,95,0,78,0,76,0,0,0,110,0,114,0,95,0,90,0,65,0,0,0,110,0,118,0,95,0,85,0,83,0,0,0,111,0,99,0,95,0,70,0,82,0,0,0,111,0,109,0,95,0,69,0,84,0,0,0,111,0,114,0,95,0,73,0,78,0,0,0,112,0,108,0,95,0,80,0,76,0,0,0,114,0,109,0,95,0,67,0,72,0,0,0,114,0,117,0,95,0,82,0,85,0,0,0,115,0,97,0,95,0,73,0,78,0,0,0,115,0,99,0,95,0,73,0,84,0,0,0,115,0,101,0,95,0,78,0,79,0,0,0,115,0,115,0,95,0,90,0,65,0,0,0,115,0,116,0,95,0,90,0,65,0,0,0,115,0,119,0,95,0,84,0,90,0,0,0,116,0,97,0,95,0,73,0,78,0,0,0,116,0,101,0,95,0,73,0,78,0,0,0,116,0,105,0,95,0,69,0,84,0,0,0,116,0,110,0,95,0,90,0,65,0,0,0,116,0,114,0,95,0,84,0,82,0,0,0,116,0,115,0,95,0,90,0,65,0,0,0,116,0,116,0,95,0,82,0,85,0,0,0,116,0,116,0,109,0,114,0,99,0,0,0,116,0,119,0,107,0,104,0,104,0,0,0,116,0,119,0,110,0,119,0,116,0,0,0,116,0,119,0,116,0,110,0,110,0,0,0,116,0,119,0,116,0,120,0,103,0,0,0,117,0,103,0,95,0,67,0,78,0,0,0,117,0,114,0,95,0,80,0,75,0,0,0,118,0,101,0,95,0,90,0,65,0,0,0,118,0,105,0,95,0,86,0,78,0,0,0,119,0,111,0,95,0,83,0,78,0,0,0,120,0,104,0,95,0,90,0,65,0,0,0,108,0,101,0,103,0,97,0,99,0,121,0,0,0,110,0,100,0,115,0,95,0,68,0,69,0,0,0,98,0,108,0,116,0,95,0,86,0,78,0,0,0,103,0,101,0,122,0,95,0,69,0,84,0,0,0,116,0,114,0,118,0,95,0,84,0,87,0,0,0,117,0,110,0,100,0,95,0,65,0,88,0,0,0,97,0,114,0,110,0,95,0,67,0,76,0,0,0,98,0,101,0,109,0,95,0,90,0,77,0,0,0,98,0,101,0,122,0,95,0,84,0,90,0,0,0,98,0,114,0,120,0,95,0,73,0,78,0,0,0,99,0,99,0,112,0,95,0,66,0,68,0,0,0,100,0,121,0,111,0,95,0,83,0,78,0,0,0,102,0,105,0,108,0,95,0,80,0,72,0,0,0,103,0,115,0,119,0,95,0,67,0,72,0,0,0,103,0,117,0,122,0,95,0,75,0,69,0,0,0,104,0,97,0,119,0,95,0,85,0,83,0,0,0,105,0,102,0,101,0,95,0,84,0,71,0,0,0,107,0,97,0,98,0,95,0,68,0,90,0,0,0,107,0,101,0,97,0,95,0,67,0,86,0,0,0,109,0,102,0,101,0,95,0,77,0,85,0,0,0,109,0,103,0,104,0,95,0,77,0,90,0,0,0,109,0,121,0,118,0,95,0,82,0,85,0,0,0,109,0,122,0,110,0,95,0,73,0,82,0,0,0,110,0,97,0,113,0,95,0,78,0,65,0,0,0,110,0,113,0,111,0,95,0,71,0,78,0,0,0,110,0,117,0,115,0,95,0,83,0,83,0,0,0,112,0,105,0,115,0,95,0,83,0,66,0,0,0,113,0,117,0,99,0,95,0,71,0,84,0,0,0,115,0,101,0,115,0,95,0,77,0,76,0,0,0,115,0,109,0,115,0,95,0,70,0,73,0,0,0,115,0,115,0,121,0,95,0,69,0,82,0,0,0,115,0,121,0,114,0,95,0,73,0,81,0,0,0,115,0,122,0,108,0,95,0,80,0,76,0,0,0,116,0,101,0,111,0,95,0,85,0,71,0,0,0,116,0,112,0,105,0,95,0,80,0,71,0,0,0,116,0,114,0,119,0,95,0,80,0,75,0,0,0,116,0,119,0,113,0,95,0,78,0,69,0,0,0,119,0,98,0,112,0,95,0,65,0,85,0,0,0,121,0,97,0,118,0,95,0,67,0,77,0,0,0,97,0,103,0,113,0,95,0,67,0,77,0,0,0,97,0,110,0,110,0,95,0,78,0,71,0,0,0,97,0,114,0,95,0,48,0,48,0,49,0,0,0,97,0,115,0,97,0,95,0,84,0,90,0,0,0,97,0,115,0,116,0,95,0,69,0,83,0,0,0,98,0,97,0,115,0,95,0,67,0,77,0,0,0,98,0,103,0,99,0,95,0,73,0,78,0,0,0,98,0,103,0,110,0,95,0,80,0,75,0,0,0,98,0,104,0,111,0,95,0,73,0,78,0,0,0,98,0,115,0,115,0,95,0,67,0,77,0,0,0,98,0,121,0,110,0,95,0,69,0,82,0,0,0,99,0,97,0,100,0,95,0,85,0,83,0,0,0,99,0,99,0,104,0,95,0,78,0,71,0,0,0,99,0,101,0,98,0,95,0,80,0,72,0,0,0,99,0,103,0,103,0,95,0,85,0,71,0,0,0,99,0,104,0,114,0,95,0,85,0,83,0,0,0,99,0,105,0,99,0,95,0,85,0,83,0,0,0,99,0,107,0,98,0,95,0,73,0,81,0,0,0,100,0,97,0,118,0,95,0,75,0,69,0,0,0,100,0,106,0,101,0,95,0,78,0,69,0,0,0,100,0,111,0,105,0,95,0,73,0,78,0,0,0,100,0,115,0,98,0,95,0,68,0,69,0,0,0,100,0,117,0,97,0,95,0,67,0,77,0,0,0,101,0,98,0,117,0,95,0,75,0,69,0,0,0,101,0,111,0,95,0,48,0,48,0,49,0,0,0,101,0,119,0,111,0,95,0,67,0,77,0,0,0,102,0,114,0,114,0,95,0,68,0,69,0,0,0,102,0,117,0,114,0,95,0,73,0,84,0,0,0,103,0,97,0,97,0,95,0,71,0,72,0,0,0,104,0,115,0,98,0,95,0,68,0,69,0,0,0,105,0,97,0,95,0,48,0,48,0,49,0,0,0,105,0,111,0,95,0,48,0,48,0,49,0,0,0,106,0,103,0,111,0,95,0,67,0,77,0,0,0,106,0,109,0,99,0,95,0,84,0,90,0,0,0,107,0,97,0,106,0,95,0,78,0,71,0,0,0,107,0,97,0,109,0,95,0,75,0,69,0,0,0,107,0,99,0,103,0,95,0,78,0,71,0,0,0,107,0,100,0,101,0,95,0,84,0,90,0,0,0,107,0,101,0,110,0,95,0,67,0,77,0,0,0,107,0,103,0,112,0,95,0,66,0,82,0,0,0,107,0,104,0,113,0,95,0,77,0,76,0,0,0,107,0,107,0,106,0,95,0,67,0,77,0,0,0,107,0,108,0,110,0,95,0,75,0,69,0,0,0,107,0,111,0,107,0,95,0,73,0,78,0,0,0,107,0,112,0,101,0,95,0,76,0,82,0,0,0,107,0,115,0,98,0,95,0,84,0,90,0,0,0,107,0,115,0,102,0,95,0,67,0,77,0,0,0,107,0,115,0,104,0,95,0,68,0,69,0,0,0,108,0,97,0,103,0,95,0,84,0,90,0,0,0,108,0,105,0,106,0,95,0,73,0,84,0,0,0,108,0,107,0,116,0,95,0,85,0,83,0,0,0,108,0,114,0,99,0,95,0,73,0,82,0,0,0,108,0,117,0,111,0,95,0,75,0,69,0,0,0,108,0,117,0,121,0,95,0,75,0,69,0,0,0,109,0,97,0,105,0,95,0,73,0,78,0,0,0,109,0,97,0,115,0,95,0,75,0,69,0,0,0,109,0,100,0,102,0,95,0,82,0,85,0,0,0,109,0,101,0,114,0,95,0,75,0,69,0,0,0,109,0,103,0,111,0,95,0,67,0,77,0,0,0,109,0,111,0,104,0,95,0,67,0,65,0,0,0,109,0,117,0,97,0,95,0,67,0,77,0,0,0,109,0,117,0,115,0,95,0,85,0,83,0,0,0,110,0,109,0,103,0,95,0,67,0,77,0,0,0,110,0,110,0,104,0,95,0,67,0,77,0,0,0,110,0,115,0,111,0,95,0,90,0,65,0,0,0,110,0,121,0,110,0,95,0,85,0,71,0,0,0,111,0,115,0,97,0,95,0,85,0,83,0,0,0,112,0,99,0,109,0,95,0,78,0,71,0,0,0,114,0,97,0,106,0,95,0,73,0,78,0,0,0,114,0,111,0,102,0,95,0,84,0,90,0,0,0,114,0,119,0,107,0,95,0,84,0,90,0,0,0,115,0,97,0,104,0,95,0,82,0,85,0,0,0,115,0,97,0,113,0,95,0,75,0,69,0,0,0,115,0,98,0,112,0,95,0,84,0,90,0,0,0,115,0,99,0,110,0,95,0,73,0,84,0,0,0,115,0,100,0,104,0,95,0,73,0,82,0,0,0,115,0,101,0,104,0,95,0,77,0,90,0,0,0,115,0,104,0,110,0,95,0,77,0,77,0,0,0,115,0,105,0,100,0,95,0,69,0,84,0,0,0,115,0,109,0,97,0,95,0,83,0,69,0,0,0,115,0,109,0,106,0,95,0,83,0,69,0,0,0,115,0,109,0,110,0,95,0,70,0,73,0,0,0,116,0,105,0,103,0,95,0,69,0,82,0,0,0,116,0,122,0,109,0,95,0,77,0,65,0,0,0,118,0,101,0,99,0,95,0,73,0,84,0,0,0,118,0,111,0,95,0,48,0,48,0,49,0,0,0,118,0,117,0,110,0,95,0,84,0,90,0,0,0,119,0,97,0,101,0,95,0,67,0,72,0,0,0,119,0,97,0,108,0,95,0,69,0,84,0,0,0,120,0,111,0,103,0,95,0,85,0,71,0,0,0,121,0,105,0,95,0,48,0,48,0,49,0,0,0,121,0,114,0,108,0,95,0,66,0,82,0,0,0,122,0,103,0,104,0,95,0,77,0,65,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,0,0,107,0,115,0,95,0,65,0,114,0,97,0,98,0,0,0,112,0,97,0,95,0,71,0,117,0,114,0,117,0,0,0,117,0,122,0,95,0,76,0,97,0,116,0,110,0,0,0,48,0,51,0,52,0,32,0,49,0,52,0,51,0,0,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,0,0,98,0,115,0,95,0,76,0,97,0,116,0,110,0,0,0,102,0,102,0,95,0,76,0,97,0,116,0,110,0,0,0,106,0,98,0,111,0,95,0,48,0,48,0,49,0,0,0,112,0,111,0,108,0,121,0,116,0,111,0,110,0,0,0,112,0,114,0,103,0,95,0,48,0,48,0,49,0,0,0,115,0,100,0,95,0,65,0,114,0,97,0,98,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,0,0,115,0,117,0,95,0,76,0,97,0,116,0,110,0,0,0,116,0,111,0,107,0,95,0,48,0,48,0,49,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,0,0,111,0,118,0,101,0,114,0,108,0,111,0,110,0,103,0,0,0,67,0,87,0,32,0,83,0,88,0,32,0,66,0,81,0,0,0,118,0,97,0,105,0,95,0,86,0,97,0,105,0,105,0,0,0,98,0,97,0,108,0,95,0,65,0,114,0,97,0,98,0,0,0,104,0,110,0,106,0,95,0,72,0,109,0,110,0,112,0,0,0,109,0,110,0,105,0,95,0,66,0,101,0,110,0,103,0,0,0,114,0,104,0,103,0,95,0,82,0,111,0,104,0,103,0,0,0,115,0,97,0,116,0,95,0,79,0,108,0,99,0,107,0,0,0,115,0,104,0,105,0,95,0,84,0,102,0,110,0,103,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,116,0,0,0,111,0,109,0,98,0,106,0,32,0,111,0,109,0,98,0,115,0,0,0,111,0,109,0,115,0,106,0,32,0,111,0,109,0,115,0,115,0,0,0,105,0,110,0,99,0,104,0,45,0,111,0,102,0,104,0,103,0,0,0,100,0,101,0,112,0,114,0,101,0,99,0,97,0,116,0,101,0,100,0,0,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,65,0,90,0,0,0,98,0,115,0,95,0,76,0,97,0,116,0,110,0,95,0,66,0,65,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,95,0,82,0,83,0,0,0,117,0,122,0,95,0,76,0,97,0,116,0,110,0,95,0,85,0,90,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,82,0,0,0,97,0,122,0,95,0,67,0,121,0,114,0,108,0,95,0,65,0,90,0,0,0,98,0,109,0,95,0,78,0,107,0,111,0,111,0,95,0,77,0,76,0,0,0,98,0,115,0,95,0,67,0,121,0,114,0,108,0,95,0,66,0,65,0,0,0,101,0,110,0,95,0,68,0,115,0,114,0,116,0,95,0,85,0,83,0,0,0,101,0,110,0,95,0,83,0,104,0,97,0,119,0,95,0,71,0,66,0,0,0,102,0,102,0,95,0,65,0,100,0,108,0,109,0,95,0,71,0,78,0,0,0,102,0,102,0,95,0,76,0,97,0,116,0,110,0,95,0,83,0,78,0,0,0,104,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,78,0,71,0,0,0,104,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,78,0,0,0,105,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,67,0,65,0,0,0,107,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,73,0,78,0,0,0,107,0,115,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,109,0,110,0,95,0,77,0,111,0,110,0,103,0,95,0,67,0,78,0,0,0,109,0,115,0,95,0,65,0,114,0,97,0,98,0,95,0,77,0,89,0,0,0,112,0,97,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,112,0,97,0,95,0,71,0,117,0,114,0,117,0,95,0,73,0,78,0,0,0,112,0,101,0,114,0,109,0,105,0,108,0,108,0,105,0,111,0,110,0,0,0,115,0,100,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,115,0,100,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,95,0,82,0,83,0,0,0,115,0,117,0,95,0,76,0,97,0,116,0,110,0,95,0,73,0,68,0,0,0,117,0,122,0,95,0,65,0,114,0,97,0,98,0,95,0,65,0,70,0,0,0,117,0,122,0,95,0,67,0,121,0,114,0,108,0,95,0,85,0,90,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,84,0,87,0,0,0,70,0,77,0,32,0,77,0,72,0,32,0,77,0,80,0,32,0,80,0,87,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,116,0,95,0,72,0,75,0,0,0,117,0,110,0,100,0,95,0,97,0,108,0,97,0,108,0,99,0,57,0,55,0,0,0,115,0,104,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,77,0,65,0,0,0,118,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,95,0,76,0,82,0,0,0,98,0,97,0,108,0,95,0,65,0,114,0,97,0,98,0,95,0,80,0,75,0,0,0,98,0,97,0,108,0,95,0,76,0,97,0,116,0,110,0,95,0,80,0,75,0,0,0,104,0,110,0,106,0,95,0,72,0,109,0,110,0,112,0,95,0,85,0,83,0,0,0,109,0,110,0,105,0,95,0,66,0,101,0,110,0,103,0,95,0,73,0,78,0,0,0,109,0,110,0,105,0,95,0,77,0,116,0,101,0,105,0,95,0,73,0,78,0,0,0,114,0,104,0,103,0,95,0,82,0,111,0,104,0,103,0,95,0,77,0,77,0,0,0,115,0,97,0,116,0,95,0,68,0,101,0,118,0,97,0,95,0,73,0,78,0,0,0,115,0,97,0,116,0,95,0,79,0,108,0,99,0,107,0,95,0,73,0,78,0,0,0,115,0,104,0,105,0,95,0,84,0,102,0,110,0,103,0,95,0,77,0,65,0,0,0,118,0,97,0,105,0,95,0,86,0,97,0,105,0,105,0,95,0,76,0,82,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,115,0,95,0,67,0,78,0,0,0,110,0,97,0,110,0,95,0,120,0,95,0,122,0,104,0,95,0,109,0,105,0,110,0,0,0,109,0,97,0,99,0,114,0,111,0,108,0,97,0,110,0,103,0,117,0,97,0,103,0,101,0,0,0,98,0,105,0,98,0,108,0,105,0,111,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,0,0,115,0,101,0,101,0,95,0,120,0,95,0,105,0,95,0,109,0,105,0,110,0,103,0,111,0,0,0,101,0,110,0,95,0,120,0,95,0,105,0,95,0,100,0,101,0,102,0,97,0,117,0,108,0,116,0,0,0,101,0,110,0,95,0,71,0,66,0,95,0,111,0,120,0,101,0,110,0,100,0,105,0,99,0,116,0,0,0,108,0,117,0,101,0,99,0,32,0,108,0,117,0,103,0,114,0,32,0,108,0,117,0,114,0,109,0,0,0,109,0,114,0,49,0,51,0,32,0,109,0,114,0,49,0,52,0,32,0,109,0,114,0,49,0,53,0,0,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,45,0,111,0,102,0,104,0,103,0,0,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,45,0,102,0,111,0,111,0,116,0,0,0,117,0,110,0,100,0,95,0,120,0,95,0,105,0,95,0,101,0,110,0,111,0,99,0,104,0,105,0,97,0,110,0,0,0,82,0,83,0,32,0,77,0,69,0,32,0,83,0,73,0,32,0,72,0,82,0,32,0,77,0,75,0,32,0,66,0,65,0,0,0,108,0,117,0,99,0,97,0,32,0,108,0,117,0,101,0,115,0,32,0,108,0,117,0,108,0,117,0,32,0,108,0,117,0,109,0,101,0,0,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,49,0,48,0,48,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,108,0,117,0,99,0,108,0,32,0,108,0,117,0,100,0,105,0,32,0,108,0,117,0,114,0,100,0,32,0,108,0,117,0,118,0,100,0,32,0,108,0,117,0,119,0,105,0,0,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,0,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,45,0,111,0,102,0,103,0,108,0,117,0,99,0,111,0,115,0,101,0,45,0,112,0,101,0,114,0,45,0,100,0,101,0,99,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,82,0,85,0,32,0,65,0,77,0,32,0,65,0,90,0,32,0,66,0,89,0,32,0,71,0,69,0,32,0,75,0,71,0,32,0,75,0,90,0,32,0,77,0,68,0,32,0,84,0,74,0,32,0,84,0,77,0,32,0,85,0,65,0,32,0,85,0,90,0,0,0,41,220,110,0,122,0,99,0,97,0,110,0,32,0,110,0,122,0,109,0,98,0,104,0,32,0,110,0,122,0,110,0,115,0,110,0,32,0,110,0,122,0,111,0,116,0,97,0,32,0,110,0,122,0,115,0,116,0,108,0,32,0,110,0,122,0,116,0,97,0,115,0,32,0,110,0,122,0,119,0,116,0,99,0,0,0,44,220,82,0,85,0,32,0,65,0,77,0,32,0,65,0,90,0,32,0,66,0,89,0,32,0,69,0,69,0,32,0,71,0,69,0,32,0,75,0,90,0,32,0,75,0,71,0,32,0,76,0,86,0,32,0,76,0,84,0,32,0,77,0,68,0,32,0,84,0,74,0,32,0,84,0,77,0,32,0,85,0,65,0,32,0,85,0,90,0,0,0,53,220,110,0,122,0,97,0,117,0,107,0,32,0,110,0,122,0,98,0,111,0,112,0,32,0,110,0,122,0,103,0,105,0,115,0,32,0,110,0,122,0,104,0,107,0,98,0,32,0,110,0,122,0,109,0,119,0,116,0,32,0,110,0,122,0,110,0,116,0,108,0,32,0,110,0,122,0,116,0,107,0,105,0,32,0,110,0,122,0,119,0,103,0,110,0,32,0,110,0,122,0,119,0,107,0,111,0,0,0,2,0,56,0,63,0,121,16,235,5,2,0,56,0,63,0,121,16,59,4,2,0,56,0,63,0,1,16,110,2,2,0,56,0,63,0,1,16,142,15,2,0,56,0,63,0,121,16,136,3,2,0,56,0,63,0,1,16,116,2,2,0,56,0,63,0,121,16,87,4,2,0,56,0,63,0,121,16,83,3,2,0,56,0,63,0,121,16,71,4,2,0,56,0,63,0,155,18,79,5,2,0,56,0,63,0,1,16,76,3,2,0,56,0,63,0,169,18,106,0,2,0,56,0,63,0,155,18,106,0,2,0,56,0,63,0,1,16,48,4,2,0,56,0,63,0,1,16,17,2,2,0,56,0,63,0,155,18,17,2,2,0,56,0,63,0,1,16,232,3,2,0,56,0,63,0,169,18,44,2,2,0,56,0,63,0,121,16,131,3,2,0,56,0,63,0,121,16,223,5,2,0,56,0,63,0,1,16,8,4,2,0,56,0,63,0,121,16,107,5,2,0,56,0,63,0,1,16,119,2,2,0,56,0,63,0,1,16,113,2,2,0,56,0,63,0,1,16,152,3,2,0,56,0,63,0,155,18,152,3,2,0,56,0,63,0,121,16,171,5,2,0,56,0,63,0,1,16,20,2,2,0,56,0,63,0,155,18,20,2,2,0,56,0,63,0,1,16,104,3,2,0,56,0,63,0,1,16,131,2,2,0,56,0,63,0,169,18,32,2,2,0,56,0,63,0,121,16,247,3,2,0,56,0,63,0,155,18,107,4,2,0,56,0,63,0,155,18,111,3,2,0,56,0,63,0,1,16,122,2,2,0,56,0,63,0,1,16,134,2,2,0,56,0,63,0,121,16,111,4,2,0,56,0,63,0,155,18,99,3,2,0,56,0,63,0,121,16,243,4,2,0,56,0,63,0,121,16,119,4,2,0,56,0,63,0,1,16,99,3,2,0,56,0,63,0,1,16,128,2,2,0,56,0,63,0,121,16,195,4,2,0,56,0,63,0,121,16,147,4,2,0,56,0,63,0,121,16,219,4,2,0,56,0,63,0,121,16,103,3,2,0,56,0,63,0,1,16,132,3,2,0,56,0,63,0,1,16,98,16,2,0,56,0,63,0,1,16,236,3,2,0,56,0,63,0,121,16,115,4,2,0,56,0,63,0,1,16,125,2,2,0,56,0,63,0,169,18,86,2,2,0,56,0,63,0,155,18,131,5,2,0,56,0,63,0,155,18,143,4,2,0,56,0,63,0,1,16,137,2,2,0,56,0,63,0,121,16,107,3,2,0,56,0,63,0,221,11,43,4,2,0,56,0,63,0,1,16,140,3,2,0,56,0,63,0,1,16,36,4,2,0,56,0,63,0,1,16,140,2,2,0,56,0,63,0,169,18,7,0,2,0,56,0,63,0,1,16,146,2,2,0,56,0,63,0,1,16,12,4,2,0,56,0,63,0,121,16,139,5,2,0,56,0,63,0,121,16,199,3,2,0,56,0,63,0,155,18,247,5,2,0,56,0,63,0,121,16,35,4,2,0,56,0,63,0,155,18,7,0,2,0,56,0,63,0,221,11,73,9,2,0,56,0,63,0,1,16,206,2,2,0,56,0,63,0,1,16,143,2,2,0,56,0,63,0,121,16,187,3,2,0,56,0,63,0,121,16,191,5,2,0,56,0,63,0,1,16,23,2,2,0,56,0,63,0,155,18,23,2,2,0,56,0,63,0,1,16,225,11,2,0,56,0,63,0,169,18,140,3,2,0,56,0,63,0,121,16,187,4,2,0,56,0,63,0,1,16,149,2,2,0,56,0,63,0,121,16,155,5,2,0,56,0,63,0,1,16,26,2,2,0,56,0,63,0,155,18,191,4,2,0,56,0,63,0,155,18,147,5,2,0,56,0,63,0,155,18,183,4,2,0,56,0,63,0,155,18,159,3,2,0,56,0,63,0,121,16,179,4,2,0,56,0,63,0,1,16,152,2,2,0,56,0,63,0,121,16,215,4,2,0,56,0,63,0,121,16,91,4,2,0,56,0,63,0,121,16,73,6,2,0,56,0,63,0,121,16,175,3,2,0,56,0,63,0,121,16,159,7,2,0,56,0,63,0,121,16,27,4,2,0,56,0,63,0,121,16,211,4,2,0,56,0,63,0,169,18,124,3,2,0,56,0,63,0,121,16,171,4,2,0,56,0,63,0,1,16,136,3,2,0,56,0,63,0,155,18,29,2,2,0,56,0,63,0,1,16,116,3,2,0,56,0,63,0,121,16,75,4,2,0,56,0,63,0,155,18,179,3,2,0,56,0,63,0,121,16,212,18,2,0,56,0,63,0,1,16,204,3,2,0,56,0,63,0,1,16,32,4,2,0,56,0,63,0,155,18,112,3,2,0,56,0,63,0,1,16,29,2,2,0,56,0,63,0,1,16,32,2,2,0,56,0,63,0,1,16,155,2,2,0,56,0,63,0,1,16,158,2,2,0,56,0,63,0,1,16,100,0,2,0,56,0,63,0,155,18,76,3,2,0,56,0,63,0,1,16,93,6,2,0,56,0,63,0,1,16,192,3,2,0,56,0,63,0,1,16,38,2,2,0,56,0,63,0,169,18,38,2,2,0,56,0,63,0,1,16,196,3,2,0,56,0,63,0,155,18,35,2,2,0,56,0,63,0,1,16,35,2,2,0,56,0,63,0,121,16,175,4,2,0,56,0,63,0,155,18,156,3,2,0,56,0,63,0,121,16,43,6,2,0,56,0,63,0,155,18,15,5,2,0,56,0,63,0,169,18,59,2,2,0,56,0,63,0,169,18,26,2,2,0,56,0,63,0,121,16,95,3,2,0,56,0,63,0,121,16,31,5,2,0,56,0,63,0,121,16,235,4,2,0,56,0,63,0,121,16,27,5,2,0,56,0,63,0,121,16,83,4,2,0,56,0,63,0,1,16,16,4,2,0,56,0,63,0,1,16,161,2,2,0,56,0,63,0,1,16,208,3,2,0,56,0,63,0,121,16,175,3,2,0,56,0,63,0,1,16,240,3,2,0,56,0,63,0,155,18,11,5,2,0,56,0,63,0,169,18,116,3,2,0,56,0,63,0,1,16,41,2,2,0,56,0,63,0,121,16,175,5,2,0,56,0,63,0,155,18,41,2,2,0,56,0,63,0,1,16,164,2,2,0,56,0,63,0,121,16,119,3,2,0,56,0,63,0,155,18,3,5,2,0,56,0,63,0,1,16,167,2,2,0,56,0,63,0,1,16,98,6,2,0,56,0,63,0,1,16,121,15,2,0,56,0,63,0,155,18,35,5,2,0,56,0,63,0,155,18,43,5,2,0,56,0,63,0,1,16,78,6,2,0,56,0,63,0,1,16,173,2,2,0,56,0,63,0,155,18,227,5,2,0,56,0,63,0,1,16,103,6,2,0,56,0,63,0,1,16,100,3,2,0,56,0,63,0,121,16,67,5,2,0,56,0,63,0,1,16,144,3,2,0,56,0,63,0,1,16,170,2,2,0,56,0,63,0,121,16,55,5,2,0,56,0,63,0,1,16,44,2,2,0,56,0,63,0,121,16,83,3,2,0,56,0,63,0,121,16,135,4,2,0,56,0,63,0,221,11,197,18,2,0,56,0,63,0,221,11,34,19,2,0,56,0,63,0,121,16,171,3,2,0,56,0,63,0,121,16,7,6,2,0,56,0,63,0,121,16,74,2,2,0,56,0,63,0,221,11,183,18,2,0,56,0,63,0,121,16,89,2,2,0,56,0,63,0,121,16,187,5,2,0,56,0,63,0,121,16,255,5,2,0,56,0,63,0,121,16,151,3,2,0,56,0,63,0,121,16,23,4,2,0,56,0,63,0,121,16,3,4,2,0,56,0,63,0,1,16,179,2,2,0,56,0,63,0,169,18,50,2,2,0,56,0,63,0,1,16,182,2,2,0,56,0,63,0,1,16,25,16,2,0,56,0,63,0,155,18,53,2,2,0,56,0,63,0,1,16,53,2,2,0,56,0,63,0,1,16,176,2,2,0,56,0,63,0,121,16,59,5,2,0,56,0,63,0,121,16,251,4,2,0,56,0,63,0,121,16,47,2,2,0,56,0,63,0,1,16,204,7,2,0,56,0,63,0,1,16,47,2,2,0,56,0,63,0,1,16,112,3,2,0,56,0,63,0,1,16,50,2,2,0,56,0,63,0,1,16,185,2,2,0,56,0,63,0,121,16,78,6,2,0,56,0,63,0,121,16,239,4,2,0,56,0,63,0,121,16,75,5,2,0,56,0,63,0,1,16,56,2,2,0,56,0,63,0,121,16,91,3,2,0,56,0,63,0,121,16,109,0,2,0,56,0,63,0,1,16,188,2,2,0,56,0,63,0,121,16,56,2,2,0,56,0,63,0,1,16,197,2,2,0,56,0,63,0,1,16,200,2,2,0,56,0,63,0,1,16,203,2,2,0,56,0,63,0,1,16,59,2,2,0,56,0,63,0,1,16,65,2,2,0,56,0,63,0,1,16,194,2,2,0,56,0,63,0,121,16,67,6,2,0,56,0,63,0,121,16,3,6,2,0,56,0,63,0,121,16,87,6,2,0,56,0,63,0,121,16,227,3,2,0,56,0,63,0,155,18,73,6,2,0,56,0,63,0,1,16,220,3,2,0,56,0,63,0,1,16,108,3,2,0,56,0,63,0,1,16,254,2,2,0,56,0,63,0,1,16,209,2,2,0,56,0,63,0,155,18,68,2,2,0,56,0,63,0,155,18,65,2,2,0,56,0,63,0,155,18,62,2,2,0,56,0,63,0,155,18,91,5,2,0,56,0,63,0,121,16,111,5,2,0,56,0,63,0,1,16,71,2,2,0,56,0,63,0,1,16,62,2,2,0,56,0,63,0,1,16,145,20,2,0,56,0,63,0,121,16,219,3,2,0,56,0,63,0,155,18,71,2,2,0,56,0,63,0,121,16,127,4,2,0,56,0,63,0,121,16,71,3,2,0,56,0,63,0,1,16,191,2,2,0,56,0,63,0,1,16,68,2,2,0,56,0,63,0,121,16,7,5,2,0,56,0,63,0,121,16,47,4,2,0,56,0,63,0,121,16,15,6,2,0,56,0,63,0,121,16,99,5,2,0,56,0,63,0,121,16,207,3,2,0,56,0,63,0,121,16,71,3,2,0,56,0,63,0,121,16,71,3,2,0,56,0,63,0,121,16,103,5,2,0,56,0,63,0,1,16,218,2,2,0,56,0,63,0,1,16,0,4,2,0,56,0,63,0,1,16,77,2,2,0,56,0,63,0,155,18,131,4,2,0,56,0,63,0,121,16,123,3,2,0,56,0,63,0,121,16,199,5,2,0,56,0,63,0,1,16,215,2,2,0,56,0,63,0,1,16,108,6,2,0,56,0,63,0,1,16,209,18,2,0,56,0,63,0,121,16,151,5,2,0,56,0,63,0,121,16,203,5,2,0,56,0,63,0,1,16,74,2,2,0,56,0,63,0,1,16,221,2,2,0,56,0,63,0,1,16,212,2,2,0,56,0,63,0,155,18,77,2,2,0,56,0,63,0,169,18,83,2,2,0,56,0,63,0,1,16,20,4,2,0,56,0,63,0,1,16,228,3,2,0,56,0,63,0,169,18,84,3,2,0,56,0,63,0,1,16,200,3,2,0,56,0,63,0,169,18,103,0,2,0,56,0,63,0,121,16,163,4,2,0,56,0,63,0,121,16,71,5,2,0,56,0,63,0,155,18,159,4,2,0,56,0,63,0,1,16,83,2,2,0,56,0,63,0,1,16,80,2,2,0,56,0,63,0,1,16,224,2,2,0,56,0,63,0,155,18,179,3,2,0,56,0,63,0,121,16,87,3,2,0,56,0,63,0,121,16,80,3,2,0,56,0,63,0,121,16,51,6,2,0,56,0,63,0,1,16,80,3,2,0,56,0,63,0,1,16,73,6,2,0,56,0,63,0,1,16,84,3,2,0,56,0,63,0,1,16,103,0,2,0,56,0,63,0,121,16,183,3,2,0,56,0,63,0,155,18,195,5,2,0,56,0,63,0,121,16,163,3,2,0,56,0,63,0,121,16,95,3,2,0,56,0,63,0,1,16,86,2,2,0,56,0,63,0,121,16,79,4,2,0,56,0,63,0,121,16,183,3,2,0,56,0,63,0,121,16,39,4,2,0,56,0,63,0,1,16,227,2,2,0,56,0,63,0,1,16,89,2,2,0,56,0,63,0,121,16,167,5,2,0,56,0,63,0,1,16,233,2,2,0,56,0,63,0,121,16,223,4,2,0,56,0,63,0,121,16,135,3,2,0,56,0,63,0,1,16,68,3,2,0,56,0,63,0,1,16,7,16,2,0,56,0,63,0,1,16,112,9,2,0,56,0,63,0,1,16,124,3,2,0,56,0,63,0,121,16,103,4,2,0,56,0,63,0,121,16,163,5,2,0,56,0,63,0,1,16,88,3,2,0,56,0,63,0,121,16,235,3,2,0,56,0,63,0,121,16,239,3,2,0,56,0,63,0,121,16,13,0,2,0,56,0,63,0,121,16,13,0,2,0,56,0,63,0,121,16,88,3,2,0,56,0,63,0,121,16,88,3,2,0,56,0,63,0,1,16,13,0,2,0,56,0,63,0,121,16,207,4,2,0,56,0,63,0,1,16,230,2,2,0,56,0,63,0,155,18,112,9,2,0,56,0,63,0,121,16,187,3,2,0,56,0,63,0,121,16,139,4,2,0,56,0,63,0,1,16,40,4,2,0,56,0,63,0,1,16,236,2,2,0,56,0,63,0,155,18,92,2,2,0,56,0,63,0,1,16,92,2,2,0,56,0,63,0,1,16,174,7,2,0,56,0,63,0,1,16,156,3,2,0,56,0,63,0,155,18,174,7,2,0,56,0,63,0,1,16,239,2,2,0,56,0,63,0,121,16,95,3,2,0,56,0,63,0,1,16,4,4,2,0,56,0,63,0,121,16,115,5,2,0,56,0,63,0,155,18,95,2,2,0,56,0,63,0,121,16,67,4,2,0,56,0,63,0,169,18,100,0,2,0,56,0,63,0,155,18,100,0,2,0,56,0,63,0,1,16,242,2,2,0,56,0,63,0,155,18,80,2,2,0,56,0,63,0,121,16,51,5,2,0,56,0,63,0,121,16,143,3,2,0,56,0,63,0,155,18,119,5,2,0,56,0,63,0,1,16,245,2,2,0,56,0,63,0,1,16,248,2,2,0,56,0,63,0,121,16,195,3,2,0,56,0,63,0,121,16,123,5,2,0,56,0,63,0,1,16,159,7,2,0,56,0,63,0,121,16,179,5,2,0,56,0,63,0,1,16,95,2,2,0,56,0,63,0,121,16,183,5,2,0,56,0,63,0,1,16,98,2,2,0,56,0,63,0,155,18,98,2,2,0,56,0,63,0,121,16,231,4,2,0,56,0,63,0,155,18,207,5,2,0,56,0,63,0,1,16,52,4,2,0,56,0,63,0,1,16,80,3,2,0,56,0,63,0,169,18,80,3,2,0,56,0,63,0,1,16,251,2,2,0,56,0,63,0,1,16,150,15,2,0,56,0,63,0,1,16,216,3,2,0,56,0,63,0,1,16,1,3,2,0,56,0,63,0,121,16,95,4,2,0,56,0,63,0,121,16,39,5,2,0,56,0,63,0,121,16,148,3,2,0,56,0,63,0,121,16,144,3,2,0,56,0,63,0,121,16,127,3,2,0,56,0,63,0,121,16,211,5,2,0,56,0,63,0,121,16,31,6,2,0,56,0,63,0,121,16,151,4,2,0,56,0,63,0,121,16,219,5,2,0,56,0,63,0,121,16,167,4,2,0,56,0,63,0,121,16,19,5,2,0,56,0,63,0,121,16,203,4,2,0,56,0,63,0,121,16,231,5,2,0,56,0,63,0,121,16,247,4,2,0,56,0,63,0,121,16,191,3,2,0,56,0,63,0,121,16,23,5,2,0,56,0,63,0,121,16,215,3,2,0,56,0,63,0,121,16,211,3,2,0,56,0,63,0,121,16,223,3,2,0,56,0,63,0,121,16,135,5,2,0,56,0,63,0,121,16,139,3,2,0,56,0,63,0,121,16,199,4,2,0,56,0,63,0,121,16,243,3,2,0,56,0,63,0,121,16,147,3,2,0,56,0,63,0,121,16,243,5,2,0,56,0,63,0,121,16,99,4,2,0,56,0,63,0,121,16,215,5,2,0,56,0,63,0,221,11,121,15,2,0,56,0,63,0,1,16,244,3,2,0,56,0,63,0,121,16,91,3,2,0,56,0,63,0,1,16,128,3,2,0,56,0,63,0,169,18,128,3,2,0,56,0,63,0,1,16,224,3,2,0,56,0,63,0,121,16,87,5,2,0,56,0,63,0,1,16,212,3,2,0,56,0,63,0,1,16,4,3,2,0,56,0,63,0,1,16,118,6,2,0,56,0,63,0,121,16,103,3,2,0,56,0,63,0,1,16,113,6,2,0,56,0,63,0,1,16,7,3,2,0,56,0,63,0,1,16,10,3,2,0,56,0,63,0,1,16,150,7,2,0,56,0,63,0,155,18,83,5,2,0,56,0,63,0,1,16,106,0,2,0,56,0,63,0,155,18,83,6,2,0,56,0,63,0,1,16,83,6,2,0,56,0,63,0,1,16,148,3,2,0,56,0,63,0,1,16,108,16,2,0,56,0,63,0,121,16,15,4,2,0,56,0,63,0,121,16,27,6,2,0,56,0,63,0,1,16,24,4,2,0,56,0,63,0,1,16,101,2,2,0,56,0,63,0,1,16,183,7,2,0,56,0,63,0,1,16,13,3,2,0,56,0,63,0,155,18,101,2,2,0,56,0,63,0,1,16,40,3,2,0,56,0,63,0,1,16,16,3,2,0,56,0,63,0,1,16,37,3,2,0,56,0,63,0,121,16,71,3,2,0,56,0,63,0,1,16,19,3,2,0,56,0,63,0,121,16,123,4,2,0,56,0,63,0,1,16,44,4,2,0,56,0,63,0,1,16,167,3,2,0,56,0,63,0,1,16,28,4,2,0,56,0,63,0,121,16,11,6,2,0,56,0,63,0,121,16,255,3,2,0,56,0,63,0,121,16,91,3,2,0,56,0,63,0,169,18,132,3,2,0,56,0,63,0,121,16,63,5,2,0,56,0,63,0,121,16,7,4,2,0,56,0,63,0,1,16,22,3,2,0,56,0,63,0,121,16,19,6,2,0,56,0,63,0,221,11,167,3,2,0,56,0,63,0,121,16,31,4,2,0,56,0,63,0,121,16,23,6,2,0,56,0,63,0,121,16,75,3,2,0,56,0,63,0,121,16,159,7,2,0,56,0,63,0,1,16,28,3,2,0,56,0,63,0,121,16,251,5,2,0,56,0,63,0,1,16,158,15,2,0,56,0,63,0,1,16,34,3,2,0,56,0,63,0,155,18,19,4,2,0,56,0,63,0,1,16,25,3,2,0,56,0,63,0,1,16,31,3,2,0,56,0,63,0,155,18,76,3,2,0,56,0,63,0,1,16,76,3,2,0,56,0,63,0,1,16,56,4,2,0,56,0,63,0,1,16,43,3,2,0,56,0,63,0,155,18,115,3,2,0,56,0,63,0,121,16,0,12,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,230,17,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,67,3,2,0,56,0,63,0,121,16,79,3,2,0,56,0,63,0,121,16,227,4,2,0,56,0,63,0,1,16,46,3,2,0,56,0,63,0,1,16,120,3,2,0,56,0,63,0,155,18,120,3,2,0,56,0,63,0,1,16,49,3,2,0,56,0,63,0,1,16,52,3,2,0,56,0,63,0,1,16,248,3,2,0,56,0,63,0,169,18,225,11,2,0,56,0,63,0,121,16,39,6,2,0,56,0,63,0,121,16,159,5,2,0,56,0,63,0,121,16,251,3,2,0,56,0,63,0,1,16,55,3,2,0,56,0,63,0,1,16,252,3,2,0,56,0,63,0,121,16,155,4,2,0,56,0,63,0,1,16,58,3,2,0,56,0,63,0,121,16,63,4,2,0,56,0,63,0,121,16,35,6,2,0,56,0,63,0,155,18,95,5,2,0,56,0,63,0,121,16,163,3,2,0,56,0,63,0,121,16,239,5,2,0,56,0,63,0,155,18,203,3,2,0,56,0,63,0,121,16,107,3,2,0,56,0,63,0,155,18,109,0,2,0,56,0,63,0,121,16,55,6,2,0,56,0,63,0,1,16,109,0,2,0,56,0,63,0,121,16,51,4,2,0,56,0,63,0,121,16,127,5,2,0,56,0,63,0,121,16,143,5,2,0,56,0,63,0,1,16,61,3,2,0,56,0,63,0,121,16,155,3,2,0,56,0,63,0,121,16,55,4,2,0,56,0,63,0,155,18,63,6,2,0,56,0,63,0,121,16,7,0,2,0,56,0,63,0,121,16,129,15,2,0,56,0,63,0,121,16,249,15,2,0,56,0,63,0,121,16,255,4,2,0,56,0,63,0,121,16,7,0,2,0,56,0,63,0,121,16,171,3,2,0,56,0,63,0,221,11,142,18,2,0,56,0,63,0,121,16,231,3,2,0,56,0,63,0,121,16,47,6,2,0,56,0,63,0,121,16,47,5,2,0,56,0,63,0,121,16,59,6,2,0,56,0,63,0,1,16,160,3,2,0,56,0,63,0,1,16,7,0,2,0,56,0,63,0,121,16,11,4,2,0,56,0,63,0,155,18,103,0,2,0,56,0,63,0,1,16,64,3,2,0,56,0,63,0,155,18,160,3,2,0,56,0,63,0,121,16,121,6,2,0,56,0,63,0,121,16,131,6,2,0,56,0,63,0,121,16,206,6,2,0,56,0,63,0,121,16,76,6,2,0,56,0,63,0,121,16,201,6,2,0,56,0,63,0,121,16,71,6,2,0,56,0,63,0,121,16,106,6,2,0,56,0,63,0,121,16,171,6,2,0,56,0,63,0,121,16,161,6,2,0,56,0,63,0,121,16,196,6,2,0,56,0,63,0,121,16,176,6,2,0,56,0,63,0,121,16,226,6,2,0,56,0,63,0,121,16,126,6,2,0,56,0,63,0,121,16,91,6,2,0,56,0,63,0,121,16,181,6,2,0,56,0,63,0,121,16,111,6,2,0,56,0,63,0,121,16,96,6,2,0,56,0,63,0,121,16,156,6,2,0,56,0,63,0,121,16,166,6,2,0,56,0,63,0,121,16,136,6,2,0,56,0,63,0,121,16,146,6,2,0,56,0,63,0,121,16,101,6,2,0,56,0,63,0,121,16,86,6,2,0,56,0,63,0,121,16,81,6,2,0,56,0,63,0,121,16,151,6,2,0,56,0,63,0,121,16,221,6,2,0,56,0,63,0,121,16,216,6,2,0,56,0,63,0,121,16,116,6,2,0,56,0,63,0,121,16,141,6,2,0,56,0,63,0,121,16,191,6,2,0,56,0,63,0,121,16,186,6,2,0,56,0,63,0,121,16,211,6,2,0,56,0,63,0,1,16,253,11,2,0,56,0,63,0,1,16,227,17,2,0,56,0,63,0,1,16,55,0,2,0,56,0,63,0,121,16,247,9,2,0,56,0,63,0,121,16,253,9,2,0,56,0,63,0,121,16,3,10,2,0,56,0,63,0,121,16,9,10,2,0,56,0,63,0,121,16,15,10,2,0,56,0,63,0,121,16,21,10,2,0,56,0,63,0,121,16,87,10,2,0,56,0,63,0,121,16,27,10,2,0,56,0,63,0,121,16,33,10,2,0,56,0,63,0,121,16,39,10,2,0,56,0,63,0,121,16,45,10,2,0,56,0,63,0,121,16,51,10,2,0,56,0,63,0,121,16,57,10,2,0,56,0,63,0,121,16,63,10,2,0,56,0,63,0,121,16,69,10,2,0,56,0,63,0,121,16,75,10,2,0,56,0,63,0,121,16,81,10,2,0,56,0,63,0,121,16,241,6,2,0,56,0,63,0,121,16,25,7,2,0,56,0,63,0,121,16,251,6,2,0,56,0,63,0,121,16,10,7,2,0,56,0,63,0,121,16,5,7,2,0,56,0,63,0,121,16,40,7,2,0,56,0,63,0,121,16,30,7,2,0,56,0,63,0,121,16,15,7,2,0,56,0,63,0,121,16,246,6,2,0,56,0,63,0,121,16,231,6,2,0,56,0,63,0,121,16,236,6,2,0,56,0,63,0,121,16,0,7,2,0,56,0,63,0,121,16,20,7,2,0,56,0,63,0,121,16,35,7,2,0,56,0,63,0,1,16,4,12,2,0,56,0,63,0,121,16,147,7,2,0,56,0,63,0,121,16,165,7,2,0,56,0,63,0,1,16,31,0,2,0,56,0,63,0,121,16,29,8,2,0,56,0,63,0,1,16,178,0,2,0,56,0,63,0,121,16,35,8,2,0,56,0,63,0,121,16,129,10,2,0,56,0,63,0,121,16,141,10,2,0,56,0,63,0,121,16,147,7,2,0,56,0,63,0,1,16,40,0,2,0,56,0,63,0,1,16,43,0,2,0,56,0,63,0,121,16,135,10,2,0,56,0,63,0,121,16,35,8,2,0,56,0,63,0,121,16,147,10,2,0,56,0,63,0,121,16,47,8,2,0,56,0,63,0,121,16,165,7,2,0,56,0,63,0,121,16,147,7,2,0,56,0,63,0,1,16,52,0,2,0,56,0,63,0,1,16,61,0,2,0,56,0,63,0,121,16,47,8,2,0,56,0,63,0,1,16,64,0,2,0,56,0,63,0,121,16,41,8,2,0,56,0,63,0,121,16,171,7,2,0,56,0,63,0,1,16,70,0,2,0,56,0,63,0,1,16,73,0,2,0,56,0,63,0,121,16,171,7,2,0,56,0,63,0,121,16,159,10,2,0,56,0,63,0,1,16,79,0,2,0,56,0,63,0,121,16,41,8,2,0,56,0,63,0,121,16,165,7,2,0,56,0,63,0,1,16,192,7,2,0,56,0,63,0,121,16,153,10,2,0,56,0,63,0,121,16,29,8,2,0,56,0,63,0,1,16,94,0,2,0,56,0,63,0,1,16,97,0,2,0,56,0,63,0,121,16,45,7,2,0,56,0,63,0,121,16,137,19,2,0,56,0,63,0,121,16,227,18,2,0,56,0,63,0,121,16,69,19,2,0,56,0,63,0,121,16,242,18,2,0,56,0,63,0,1,16,22,0,2,0,56,0,63,0,1,16,34,0,2,0,56,0,63,0,1,16,85,0,2,0,56,0,63,0,121,16,50,7,2,0,56,0,63,0,121,16,93,20,2,0,56,0,63,0,121,16,4,20,2,0,56,0,63,0,121,16,91,16,2,0,56,0,63,0,121,16,101,16,2,0,56,0,63,0,121,16,55,7,2,0,56,0,63,0,121,16,60,7,2,0,56,0,63,0,121,16,70,7,2,0,56,0,63,0,121,16,75,7,2,0,56,0,63,0,121,16,65,7,2,0,56,0,63,0,121,16,80,7,2,0,56,0,63,0,121,16,85,7,2,0,56,0,63,0,121,16,90,7,2,0,56,0,63,0,121,16,100,7,2,0,56,0,63,0,121,16,95,7,2,0,56,0,63,0,121,16,105,7,2,0,56,0,63,0,121,16,115,7,2,0,56,0,63,0,121,16,110,7,2,0,56,0,63,0,121,16,120,7,2,0,56,0,63,0,121,16,125,7,2,0,56,0,63,0,121,16,130,7,2,0,56,0,63,0,1,16,156,1,2,0,56,0,63,0,121,16,115,9,2,0,56,0,63,0,121,16,155,11,2,0,56,0,63,0,121,16,115,9,2,0,56,0,63,0,121,16,161,11,2,0,56,0,63,0,121,16,173,11,2,0,56,0,63,0,121,16,167,11,2,0,56,0,63,0,121,16,179,11,2,0,56,0,63,0,1,16,19,0,2,0,56,0,63,0,1,16,46,0,2,0,56,0,63,0,1,16,58,0,2,0,56,0,63,0,1,16,76,0,2,0,56,0,63,0,1,16,1,0,2,0,56,0,63,0,1,16,88,0,2,0,56,0,63,0,1,16,4,9,2,0,56,0,63,0,1,16,70,9,2,0,56,0,63,0,1,16,16,0,2,0,56,0,63,0,1,16,88,12,2,0,56,0,63,0,1,16,19,0,2,0,56,0,63,0,1,16,115,0,2,0,56,0,63,0,1,16,127,0,2,0,56,0,63,0,1,16,121,0,2,0,56,0,63,0,1,16,140,16,2,0,56,0,63,0,1,16,130,0,2,0,56,0,63,0,1,16,228,12,2,0,56,0,63,0,1,16,133,0,2,0,56,0,63,0,1,16,151,0,2,0,56,0,63,0,1,16,139,0,2,0,56,0,63,0,1,16,39,12,2,0,56,0,63,0,1,16,98,8,2,0,56,0,63,0,1,16,136,0,2,0,56,0,63,0,1,16,130,9,2,0,56,0,63,0,1,16,142,0,2,0,56,0,63,0,121,16,161,15,2,0,56,0,63,0,1,16,2,8,2,0,56,0,63,0,1,16,148,0,2,0,56,0,63,0,1,16,151,16,2,0,56,0,63,0,1,16,157,0,2,0,56,0,63,0,1,16,154,0,2,0,56,0,63,0,1,16,10,9,2,0,56,0,63,0,1,16,160,0,2,0,56,0,63,0,1,16,253,0,2,0,56,0,63,0,1,16,151,12,2,0,56,0,63,0,1,16,186,1,2,0,56,0,63,0,1,16,145,0,2,0,56,0,63,0,1,16,234,7,2,0,56,0,63,0,1,16,180,7,2,0,56,0,63,0,1,16,22,9,2,0,56,0,63,0,1,16,228,7,2,0,56,0,63,0,1,16,146,8,2,0,56,0,63,0,1,16,235,12,2,0,56,0,63,0,1,16,116,8,2,0,56,0,63,0,1,16,95,12,2,0,56,0,63,0,1,16,21,1,2,0,56,0,63,0,1,16,40,9,2,0,56,0,63,0,1,16,46,9,2,0,56,0,63,0,1,16,162,1,2,0,56,0,63,0,1,16,11,12,2,0,56,0,63,0,1,16,184,16,2,0,56,0,63,0,1,16,253,11,2,0,56,0,63,0,1,16,187,0,2,0,56,0,63,0,1,16,163,0,2,0,56,0,63,0,1,16,175,0,2,0,56,0,63,0,121,16,224,19,2,0,56,0,63,0,1,16,9,1,2,0,56,0,63,0,1,16,97,0,2,0,56,0,63,0,1,16,166,0,2,0,56,0,63,0,1,16,186,7,2,0,56,0,63,0,1,16,172,0,2,0,56,0,63,0,1,16,181,0,2,0,56,0,63,0,1,16,86,8,2,0,56,0,63,0,1,16,184,0,2,0,56,0,63,0,1,16,190,0,2,0,56,0,63,0,121,16,145,9,2,0,56,0,63,0,1,16,240,7,2,0,56,0,63,0,1,16,28,0,2,0,56,0,63,0,1,16,246,7,2,0,56,0,63,0,1,16,196,0,2,0,56,0,63,0,1,16,199,0,2,0,56,0,63,0,1,16,202,0,2,0,56,0,63,0,1,16,147,1,2,0,56,0,63,0,1,16,232,0,2,0,56,0,63,0,121,16,246,11,2,0,56,0,63,0,1,16,246,11,2,0,56,0,63,0,1,16,179,12,2,0,56,0,63,0,1,16,14,8,2,0,56,0,63,0,1,16,26,8,2,0,56,0,63,0,1,16,214,0,2,0,56,0,63,0,1,16,235,0,2,0,56,0,63,0,1,16,211,0,2,0,56,0,63,0,1,16,172,12,2,0,56,0,63,0,1,16,4,12,2,0,56,0,63,0,1,16,144,7,2,0,56,0,63,0,1,16,144,7,2,0,56,0,63,0,1,16,40,0,2,0,56,0,63,0,1,16,70,0,2,0,56,0,63,0,1,16,192,7,2,0,56,0,63,0,1,16,193,0,2,0,56,0,63,0,1,16,220,0,2,0,56,0,63,0,1,16,254,8,2,0,56,0,63,0,1,16,229,0,2,0,56,0,63,0,1,16,75,1,2,0,56,0,63,0,1,16,232,11,2,0,56,0,63,0,1,16,232,11,2,0,56,0,63,0,121,16,232,11,2,0,56,0,63,0,1,16,222,7,2,0,56,0,63,0,1,16,226,0,2,0,56,0,63,0,1,16,49,0,2,0,56,0,63,0,1,16,8,8,2,0,56,0,63,0,1,16,140,8,2,0,56,0,63,0,1,16,223,0,2,0,56,0,63,0,1,16,43,0,2,0,56,0,63,0,1,16,46,0,2,0,56,0,63,0,1,16,158,12,2,0,56,0,63,0,1,16,137,12,2,0,56,0,63,0,1,16,241,0,2,0,56,0,63,0,1,16,250,0,2,0,56,0,63,0,1,16,244,0,2,0,56,0,63,0,1,16,170,8,2,0,56,0,63,0,1,16,247,0,2,0,56,0,63,0,1,16,227,17,2,0,56,0,63,0,1,16,92,8,2,0,56,0,63,0,1,16,104,8,2,0,56,0,63,0,1,16,32,12,2,0,56,0,63,0,1,16,128,8,2,0,56,0,63,0,1,16,123,12,2,0,56,0,63,0,1,16,186,12,2,0,56,0,63,0,1,16,62,8,2,0,56,0,63,0,1,16,80,8,2,0,56,0,63,0,1,16,110,8,2,0,56,0,63,0,1,16,169,0,2,0,56,0,63,0,1,16,3,1,2,0,56,0,63,0,1,16,122,8,2,0,56,0,63,0,1,16,134,8,2,0,56,0,63,0,1,16,6,1,2,0,56,0,63,0,1,16,67,12,2,0,56,0,63,0,1,16,15,1,2,0,56,0,63,0,1,16,152,8,2,0,56,0,63,0,1,16,18,1,2,0,56,0,63,0,1,16,164,8,2,0,56,0,63,0,1,16,182,8,2,0,56,0,63,0,1,16,24,1,2,0,56,0,63,0,1,16,33,1,2,0,56,0,63,0,1,16,194,8,2,0,56,0,63,0,1,16,7,18,2,0,56,0,63,0,1,16,36,1,2,0,56,0,63,0,1,16,30,1,2,0,56,0,63,0,1,16,188,8,2,0,56,0,63,0,1,16,176,8,2,0,56,0,63,0,1,16,55,0,2,0,56,0,63,0,1,16,200,8,2,0,56,0,63,0,1,16,248,8,2,0,56,0,63,0,1,16,224,8,2,0,56,0,63,0,1,16,252,7,2,0,56,0,63,0,1,16,165,12,2,0,56,0,63,0,1,16,230,8,2,0,56,0,63,0,1,16,61,0,2,0,56,0,63,0,1,16,48,1,2,0,56,0,63,0,1,16,102,12,2,0,56,0,63,0,1,16,54,1,2,0,56,0,63,0,1,16,39,1,2,0,56,0,63,0,1,16,218,8,2,0,56,0,63,0,1,16,42,1,2,0,56,0,63,0,1,16,76,9,2,0,56,0,63,0,1,16,51,1,2,0,56,0,63,0,1,16,251,17,2,0,56,0,63,0,1,16,109,12,2,0,56,0,63,0,1,16,69,1,2,0,56,0,63,0,1,16,130,12,2,0,56,0,63,0,1,16,63,1,2,0,56,0,63,0,1,16,236,8,2,0,56,0,63,0,1,16,56,8,2,0,56,0,63,0,1,16,10,16,2,0,56,0,63,0,1,16,34,0,2,0,56,0,63,0,121,16,10,16,2,0,56,0,63,0,1,16,22,0,2,0,56,0,63,0,1,16,85,0,2,0,56,0,63,0,1,16,16,16,2,0,56,0,63,0,1,16,153,7,2,0,56,0,63,0,1,16,64,0,2,0,56,0,63,0,1,16,91,0,2,0,56,0,63,0,1,16,206,8,2,0,56,0,63,0,1,16,60,1,2,0,56,0,63,0,1,16,221,12,2,0,56,0,63,0,1,16,136,9,2,0,56,0,63,0,1,16,66,1,2,0,56,0,63,0,1,16,57,1,2,0,56,0,63,0,1,16,242,8,2,0,56,0,63,0,1,16,58,0,2,0,56,0,63,0,1,16,1,0,2,0,56,0,63,0,121,16,206,17,2,0,56,0,63,0,1,16,217,0,2,0,56,0,63,0,1,16,45,1,2,0,56,0,63,0,1,16,215,17,2,0,56,0,63,0,1,16,214,12,2,0,56,0,63,0,1,16,67,0,2,0,56,0,63,0,1,16,207,12,2,0,56,0,63,0,1,16,68,8,2,0,56,0,63,0,1,16,16,9,2,0,56,0,63,0,1,16,53,12,2,0,56,0,63,0,1,16,72,1,2,0,56,0,63,0,1,16,193,12,2,0,56,0,63,0,1,16,78,1,2,0,56,0,63,0,1,16,238,0,2,0,56,0,63,0,1,16,10,0,2,0,56,0,63,0,1,16,76,0,2,0,56,0,63,0,1,16,81,1,2,0,56,0,63,0,1,16,79,0,2,0,56,0,63,0,1,16,28,9,2,0,56,0,63,0,1,16,116,12,2,0,56,0,63,0,1,16,34,9,2,0,56,0,63,0,1,16,31,0,2,0,56,0,63,0,1,16,129,1,2,0,56,0,63,0,1,16,12,1,2,0,56,0,63,0,1,16,124,0,2,0,56,0,63,0,1,16,27,1,2,0,56,0,63,0,1,16,52,0,2,0,56,0,63,0,1,16,73,0,2,0,56,0,63,0,1,16,180,1,2,0,56,0,63,0,1,16,138,1,2,0,56,0,63,0,1,16,144,1,2,0,56,0,63,0,1,16,120,1,2,0,56,0,63,0,1,16,46,12,2,0,56,0,63,0,1,16,162,16,2,0,56,0,63,0,1,16,123,1,2,0,56,0,63,0,1,16,135,1,2,0,56,0,63,0,1,16,126,1,2,0,56,0,63,0,1,16,52,9,2,0,56,0,63,0,1,16,239,11,2,0,56,0,63,0,1,16,58,9,2,0,56,0,63,0,1,16,64,9,2,0,56,0,63,0,1,16,142,9,2,0,56,0,63,0,1,16,210,7,2,0,56,0,63,0,1,16,4,0,2,0,56,0,63,0,1,16,20,8,2,0,56,0,63,0,1,16,144,12,2,0,56,0,63,0,1,16,82,0,2,0,56,0,63,0,1,16,208,0,2,0,56,0,63,0,121,16,82,0,2,0,56,0,63,0,1,16,141,1,2,0,56,0,63,0,1,16,132,1,2,0,56,0,63,0,1,16,153,1,2,0,56,0,63,0,1,16,82,9,2,0,56,0,63,0,1,16,60,12,2,0,56,0,63,0,1,16,150,1,2,0,56,0,63,0,1,16,88,9,2,0,56,0,63,0,1,16,94,9,2,0,56,0,63,0,1,16,81,12,2,0,56,0,63,0,1,16,165,1,2,0,56,0,63,0,1,16,106,9,2,0,56,0,63,0,1,16,171,1,2,0,56,0,63,0,1,16,118,0,2,0,56,0,63,0,1,16,168,1,2,0,56,0,63,0,1,16,158,8,2,0,56,0,63,0,1,16,100,9,2,0,56,0,63,0,1,16,159,1,2,0,56,0,63,0,1,16,174,1,2,0,56,0,63,0,1,16,200,12,2,0,56,0,63,0,1,16,124,9,2,0,56,0,63,0,1,16,212,8,2,0,56,0,63,0,1,16,47,20,2,0,56,0,63,0,1,16,205,0,2,0,56,0,63,0,1,16,198,7,2,0,56,0,63,0,121,16,213,7,2,0,56,0,63,0,1,16,216,7,2,0,56,0,63,0,1,16,0,1,2,0,56,0,63,0,1,16,74,8,2,0,56,0,63,0,1,16,25,12,2,0,56,0,63,0,1,16,74,12,2,0,56,0,63,0,1,16,88,0,2,0,56,0,63,0,1,16,25,0,2,0,56,0,63,0,1,16,177,1,2,0,56,0,63,0,1,16,173,16,2,0,56,0,63,0,1,16,183,1,2,0,56,0,63,0,1,16,94,0,2,0,56,0,63,0,1,16,189,1,2,0,56,0,63,0,121,16,4,0,2,0,56,0,63,0,1,16,4,0,2,0,56,0,63,0,121,16,51,19,2,0,56,0,63,0,1,16,135,7,2,0,56,0,63,0,1,16,18,12,2,0,56,0,63,0,1,16,112,0,2,0,56,0,63,0,1,16,84,1,2,0,56,0,63,0,1,16,87,1,2,0,56,0,63,0,1,16,90,1,2,0,56,0,63,0,1,16,93,1,2,0,56,0,63,0,1,16,96,1,2,0,56,0,63,0,1,16,99,1,2,0,56,0,63,0,1,16,102,1,2,0,56,0,63,0,1,16,37,0,2,0,56,0,63,0,1,16,105,1,2,0,56,0,63,0,1,16,108,1,2,0,56,0,63,0,1,16,111,1,2,0,56,0,63,0,1,16,114,1,2,0,56,0,63,0,1,16,117,1,2,0,56,0,63,0,1,16,192,1,2,0,56,0,63,0,1,16,195,1,2,0,56,0,63,0,1,16,198,1,2,0,56,0,63,0,1,16,201,1,2,0,56,0,63,0,1,16,204,1,2,0,56,0,63,0,1,16,207,1,2,0,56,0,63,0,1,16,210,1,2,0,56,0,63,0,1,16,213,1,2,0,56,0,63,0,1,16,216,1,2,0,56,0,63,0,1,16,219,1,2,0,56,0,63,0,1,16,222,1,2,0,56,0,63,0,1,16,225,1,2,0,56,0,63,0,1,16,228,1,2,0,56,0,63,0,1,16,231,1,2,0,56,0,63,0,1,16,234,1,2,0,56,0,63,0,1,16,237,1,2,0,56,0,63,0,1,16,240,1,2,0,56,0,63,0,1,16,243,1,2,0,56,0,63,0,1,16,246,1,2,0,56,0,63,0,1,16,249,1,2,0,56,0,63,0,1,16,252,1,2,0,56,0,63,0,1,16,255,1,2,0,56,0,63,0,1,16,2,2,2,0,56,0,63,0,1,16,5,2,2,0,56,0,63,0,1,16,8,2,2,0,56,0,63,0,1,16,11,2,2,0,56,0,63,0,1,16,14,2,2,0,56,0,63,0,1,16,112,0,2,0,56,0,63,0,1,16,22,0,2,0,56,0,63,0,1,16,4,9,2,0,56,0,63,0,1,16,127,0,2,0,56,0,63,0,1,16,124,0,2,0,56,0,63,0,1,16,4,12,2,0,56,0,63,0,1,16,70,9,2,0,56,0,63,0,121,16,10,16,2,0,56,0,63,0,1,16,115,0,2,0,56,0,63,0,1,16,10,16,2,0,56,0,63,0,1,16,118,0,2,0,56,0,63,0,1,16,130,0,2,0,56,0,63,0,1,16,98,8,2,0,56,0,63,0,1,16,104,2,2,0,56,0,63,0,1,16,19,0,2,0,56,0,63,0,1,16,16,0,2,0,56,0,63,0,1,16,192,7,2,0,56,0,63,0,1,16,121,0,2,0,56,0,63,0,1,16,228,12,2,0,56,0,63,0,1,16,133,0,2,0,56,0,63,0,1,16,140,16,2,0,56,0,63,0,1,16,22,9,2,0,56,0,63,0,1,16,130,9,2,0,56,0,63,0,1,16,28,0,2,0,56,0,63,0,1,16,16,16,2,0,56,0,63,0,1,16,25,0,2,0,56,0,63,0,1,16,39,12,2,0,56,0,63,0,1,16,234,7,2,0,56,0,63,0,1,16,139,0,2,0,56,0,63,0,1,16,151,0,2,0,56,0,63,0,1,16,151,16,2,0,56,0,63,0,1,16,31,0,2,0,56,0,63,0,1,16,228,7,2,0,56,0,63,0,1,16,160,0,2,0,56,0,63,0,1,16,142,0,2,0,56,0,63,0,1,16,148,0,2,0,56,0,63,0,1,16,10,9,2,0,56,0,63,0,1,16,136,0,2,0,56,0,63,0,1,16,145,0,2,0,56,0,63,0,1,16,2,8,2,0,56,0,63,0,121,16,180,7,2,0,56,0,63,0,1,16,180,7,2,0,56,0,63,0,1,16,154,0,2,0,56,0,63,0,1,16,157,0,2,0,56,0,63,0,1,16,40,9,2,0,56,0,63,0,1,16,116,8,2,0,56,0,63,0,1,16,163,0,2,0,56,0,63,0,1,16,60,12,2,0,56,0,63,0,1,16,11,12,2,0,56,0,63,0,1,16,184,16,2,0,56,0,63,0,1,16,169,0,2,0,56,0,63,0,1,16,235,12,2,0,56,0,63,0,1,16,186,7,2,0,56,0,63,0,1,16,166,0,2,0,56,0,63,0,1,16,172,0,2,0,56,0,63,0,1,16,175,0,2,0,56,0,63,0,1,16,9,1,2,0,56,0,63,0,1,16,178,0,2,0,56,0,63,0,1,16,95,12,2,0,56,0,63,0,1,16,181,0,2,0,56,0,63,0,121,16,135,7,2,0,56,0,63,0,121,16,49,0,2,0,56,0,63,0,1,16,184,0,2,0,56,0,63,0,1,16,34,0,2,0,56,0,63,0,1,16,187,0,2,0,56,0,63,0,1,16,21,1,2,0,56,0,63,0,1,16,190,0,2,0,56,0,63,0,1,16,240,7,2,0,56,0,63,0,121,16,232,11,2,0,56,0,63,0,1,16,232,11,2,0,56,0,63,0,1,16,232,11,2,0,56,0,63,0,1,16,107,2,2,0,56,0,63,0,1,16,193,0,2,0,56,0,63,0,1,16,196,0,2,0,56,0,63,0,1,16,246,7,2,0,56,0,63,0,1,16,199,0,2,0,56,0,63,0,121,16,28,0,2,0,56,0,63,0,1,16,88,12,2,0,56,0,63,0,1,16,202,0,2,0,56,0,63,0,1,16,205,0,2,0,56,0,63,0,1,16,179,12,2,0,56,0,63,0,1,16,208,0,2,0,56,0,63,0,1,16,20,8,2,0,56,0,63,0,1,16,14,8,2,0,56,0,63,0,1,16,246,11,2,0,56,0,63,0,1,16,172,12,2,0,56,0,63,0,1,16,211,0,2,0,56,0,63,0,1,16,214,0,2,0,56,0,63,0,121,16,189,7,2,0,56,0,63,0,1,16,144,7,2,0,56,0,63,0,1,16,26,8,2,0,56,0,63,0,1,16,217,0,2,0,56,0,63,0,121,16,144,7,2,0,56,0,63,0,1,16,144,7,2,0,56,0,63,0,1,16,220,0,2,0,56,0,63,0,1,16,198,7,2,0,56,0,63,0,1,16,254,8,2,0,56,0,63,0,1,16,216,7,2,0,56,0,63,0,1,16,222,7,2,0,56,0,63,0,1,16,226,0,2,0,56,0,63,0,1,16,137,12,2,0,56,0,63,0,1,16,43,0,2,0,56,0,63,0,1,16,229,0,2,0,56,0,63,0,1,16,238,0,2,0,56,0,63,0,1,16,232,0,2,0,56,0,63,0,1,16,8,8,2,0,56,0,63,0,1,16,223,0,2,0,56,0,63,0,1,16,140,8,2,0,56,0,63,0,1,16,158,12,2,0,56,0,63,0,1,16,40,0,2,0,56,0,63,0,1,16,46,0,2,0,56,0,63,0,1,16,241,0,2,0,56,0,63,0,1,16,227,17,2,0,56,0,63,0,1,16,244,0,2,0,56,0,63,0,1,16,247,0,2,0,56,0,63,0,1,16,86,8,2,0,56,0,63,0,1,16,250,0,2,0,56,0,63,0,1,16,92,8,2,0,56,0,63,0,121,16,25,0,2,0,56,0,63,0,1,16,128,8,2,0,56,0,63,0,1,16,74,8,2,0,56,0,63,0,1,16,32,12,2,0,56,0,63,0,1,16,253,0,2,0,56,0,63,0,1,16,62,8,2,0,56,0,63,0,1,16,123,12,2,0,56,0,63,0,1,16,186,12,2,0,56,0,63,0,1,16,104,8,2,0,56,0,63,0,1,16,80,8,2,0,56,0,63,0,1,16,110,8,2,0,56,0,63,0,1,16,3,1,2,0,56,0,63,0,1,16,0,1,2,0,56,0,63,0,1,16,6,1,2,0,56,0,63,0,1,16,122,8,2,0,56,0,63,0,121,16,1,0,2,0,56,0,63,0,1,16,134,8,2,0,56,0,63,0,1,16,67,12,2,0,56,0,63,0,1,16,164,8,2,0,56,0,63,0,1,16,146,8,2,0,56,0,63,0,1,16,49,0,2,0,56,0,63,0,1,16,12,1,2,0,56,0,63,0,1,16,152,8,2,0,56,0,63,0,1,16,18,1,2,0,56,0,63,0,1,16,182,8,2,0,56,0,63,0,1,16,24,1,2,0,56,0,63,0,1,16,7,18,2,0,56,0,63,0,1,16,36,1,2,0,56,0,63,0,1,16,27,1,2,0,56,0,63,0,1,16,30,1,2,0,56,0,63,0,1,16,46,9,2,0,56,0,63,0,1,16,33,1,2,0,56,0,63,0,1,16,188,8,2,0,56,0,63,0,1,16,176,8,2,0,56,0,63,0,1,16,194,8,2,0,56,0,63,0,1,16,55,0,2,0,56,0,63,0,1,16,52,0,2,0,56,0,63,0,1,16,251,17,2,0,56,0,63,0,1,16,39,1,2,0,56,0,63,0,1,16,42,1,2,0,56,0,63,0,1,16,200,8,2,0,56,0,63,0,1,16,252,7,2,0,56,0,63,0,1,16,54,1,2,0,56,0,63,0,1,16,45,1,2,0,56,0,63,0,121,16,1,0,2,0,56,0,63,0,1,16,212,8,2,0,56,0,63,0,1,16,165,12,2,0,56,0,63,0,1,16,230,8,2,0,56,0,63,0,1,16,180,7,2,0,56,0,63,0,1,16,76,9,2,0,56,0,63,0,1,16,218,8,2,0,56,0,63,0,1,16,58,0,2,0,56,0,63,0,1,16,109,12,2,0,56,0,63,0,1,16,48,1,2,0,56,0,63,0,1,16,51,1,2,0,56,0,63,0,1,16,61,0,2,0,56,0,63,0,1,16,102,12,2,0,56,0,63,0,1,16,248,8,2,0,56,0,63,0,1,16,224,8,2,0,56,0,63,0,1,16,97,0,2,0,56,0,63,0,1,16,130,12,2,0,56,0,63,0,1,16,64,0,2,0,56,0,63,0,1,16,221,12,2,0,56,0,63,0,1,16,57,1,2,0,56,0,63,0,1,16,136,9,2,0,56,0,63,0,121,16,91,0,2,0,56,0,63,0,1,16,60,1,2,0,56,0,63,0,1,16,66,1,2,0,56,0,63,0,1,16,56,8,2,0,56,0,63,0,1,16,242,8,2,0,56,0,63,0,1,16,236,8,2,0,56,0,63,0,121,16,16,0,2,0,56,0,63,0,1,16,63,1,2,0,56,0,63,0,121,16,153,7,2,0,56,0,63,0,1,16,153,7,2,0,56,0,63,0,1,16,206,8,2,0,56,0,63,0,1,16,69,1,2,0,56,0,63,0,1,16,214,12,2,0,56,0,63,0,1,16,67,0,2,0,56,0,63,0,121,16,206,17,2,0,56,0,63,0,1,16,72,1,2,0,56,0,63,0,1,16,16,9,2,0,56,0,63,0,1,16,53,12,2,0,56,0,63,0,1,16,215,17,2,0,56,0,63,0,1,16,207,12,2,0,56,0,63,0,1,16,193,12,2,0,56,0,63,0,1,16,76,0,2,0,56,0,63,0,1,16,15,1,2,0,56,0,63,0,1,16,78,1,2,0,56,0,63,0,1,16,68,8,2,0,56,0,63,0,1,16,75,1,2,0,56,0,63,0,121,16,1,0,2,0,56,0,63,0,1,16,70,0,2,0,56,0,63,0,121,16,67,0,2,0,56,0,63,0,1,16,81,1,2,0,56,0,63,0,1,16,84,1,2,0,56,0,63,0,1,16,87,1,2,0,56,0,63,0,1,16,90,1,2,0,56,0,63,0,1,16,93,1,2,0,56,0,63,0,1,16,96,1,2,0,56,0,63,0,1,16,99,1,2,0,56,0,63,0,1,16,102,1,2,0,56,0,63,0,121,16,37,0,2,0,56,0,63,0,1,16,37,0,2,0,56,0,63,0,1,16,105,1,2,0,56,0,63,0,1,16,108,1,2,0,56,0,63,0,1,16,111,1,2,0,56,0,63,0,1,16,114,1,2,0,56,0,63,0,1,16,117,1,2,0,56,0,63,0,1,16,79,0,2,0,56,0,63,0,121,16,210,7,2,0,56,0,63,0,1,16,28,9,2,0,56,0,63,0,1,16,116,12,2,0,56,0,63,0,1,16,34,9,2,0,56,0,63,0,1,16,120,1,2,0,56,0,63,0,1,16,135,7,2,0,56,0,63,0,1,16,82,0,2,0,56,0,63,0,1,16,46,12,2,0,56,0,63,0,1,16,126,1,2,0,56,0,63,0,1,16,235,0,2,0,56,0,63,0,1,16,129,1,2,0,56,0,63,0,1,16,132,1,2,0,56,0,63,0,1,16,151,12,2,0,56,0,63,0,1,16,135,1,2,0,56,0,63,0,1,16,147,1,2,0,56,0,63,0,1,16,138,1,2,0,56,0,63,0,1,16,64,9,2,0,56,0,63,0,1,16,73,0,2,0,56,0,63,0,1,16,162,16,2,0,56,0,63,0,1,16,144,12,2,0,56,0,63,0,1,16,144,1,2,0,56,0,63,0,121,16,47,20,2,0,56,0,63,0,1,16,47,20,2,0,56,0,63,0,1,16,141,1,2,0,56,0,63,0,1,16,52,9,2,0,56,0,63,0,1,16,58,9,2,0,56,0,63,0,1,16,82,9,2,0,56,0,63,0,1,16,153,1,2,0,56,0,63,0,1,16,85,0,2,0,56,0,63,0,1,16,123,1,2,0,56,0,63,0,1,16,150,1,2,0,56,0,63,0,1,16,156,1,2,0,56,0,63,0,1,16,159,1,2,0,56,0,63,0,1,16,162,1,2,0,56,0,63,0,1,16,81,12,2,0,56,0,63,0,1,16,94,9,2,0,56,0,63,0,1,16,88,9,2,0,56,0,63,0,1,16,165,1,2,0,56,0,63,0,1,16,100,9,2,0,56,0,63,0,1,16,10,0,2,0,56,0,63,0,1,16,10,0,2,0,56,0,63,0,1,16,106,9,2,0,56,0,63,0,121,16,10,0,2,0,56,0,63,0,1,16,171,1,2,0,56,0,63,0,1,16,168,1,2,0,56,0,63,0,1,16,158,8,2,0,56,0,63,0,1,16,174,1,2,0,56,0,63,0,1,16,253,11,2,0,56,0,63,0,1,16,25,12,2,0,56,0,63,0,1,16,200,12,2,0,56,0,63,0,121,16,198,7,2,0,56,0,63,0,1,16,124,9,2,0,56,0,63,0,1,16,1,0,2,0,56,0,63,0,1,16,177,1,2,0,56,0,63,0,1,16,74,12,2,0,56,0,63,0,1,16,173,16,2,0,56,0,63,0,1,16,170,8,2,0,56,0,63,0,1,16,180,1,2,0,56,0,63,0,121,16,239,11,2,0,56,0,63,0,1,16,183,1,2,0,56,0,63,0,1,16,186,1,2,0,56,0,63,0,1,16,88,0,2,0,56,0,63,0,1,16,239,11,2,0,56,0,63,0,1,16,91,0,2,0,56,0,63,0,121,16,1,0,2,0,56,0,63,0,1,16,94,0,2,0,56,0,63,0,1,16,189,1,2,0,56,0,63,0,1,16,192,1,2,0,56,0,63,0,1,16,195,1,2,0,56,0,63,0,1,16,198,1,2,0,56,0,63,0,1,16,201,1,2,0,56,0,63,0,1,16,204,1,2,0,56,0,63,0,1,16,207,1,2,0,56,0,63,0,1,16,210,1,2,0,56,0,63,0,1,16,213,1,2,0,56,0,63,0,1,16,216,1,2,0,56,0,63,0,1,16,219,1,2,0,56,0,63,0,1,16,222,1,2,0,56,0,63,0,1,16,225,1,2,0,56,0,63,0,1,16,228,1,2,0,56,0,63,0,1,16,231,1,2,0,56,0,63,0,1,16,234,1,2,0,56,0,63,0,1,16,237,1,2,0,56,0,63,0,1,16,240,1,2,0,56,0,63,0,1,16,243,1,2,0,56,0,63,0,1,16,246,1,2,0,56,0,63,0,1,16,249,1,2,0,56,0,63,0,1,16,252,1,2,0,56,0,63,0,1,16,255,1,2,0,56,0,63,0,1,16,2,2,2,0,56,0,63,0,1,16,5,2,2,0,56,0,63,0,1,16,8,2,2,0,56,0,63,0,1,16,11,2,2,0,56,0,63,0,121,16,4,0,2,0,56,0,63,0,1,16,4,0,2,0,56,0,63,0,1,16,4,0,2,0,56,0,63,0,121,16,135,7,2,0,56,0,63,0,1,16,135,7,2,0,56,0,63,0,1,16,142,9,2,0,56,0,63,0,1,16,186,7,2,0,56,0,63,0,1,16,18,12,2,0,56,0,63,0,121,16,186,7,2,0,56,0,63,0,1,16,210,7,2,0,56,0,63,0,1,16,14,2,2,0,56,0,63,0,121,16,111,16,2,0,56,0,63,0,121,16,89,19,2,0,56,0,63,0,121,16,113,19,2,0,56,0,63,0,121,16,109,9,2,0,56,0,63,0,121,16,190,19,2,0,56,0,63,0,121,16,1,19,2,0,56,0,63,0,121,16,118,17,2,0,56,0,63,0,121,16,17,19,2,0,56,0,63,0,121,16,162,19,2,0,56,0,63,0,121,16,201,7,2,0,56,0,63,0,121,16,201,7,2,0,56,0,63,0,121,16,234,17,2,0,56,0,63,0,121,16,201,15,78,1,151,9,157,9,163,9,238,12,219,7,169,9,175,9,245,12,252,12,7,12,181,9,3,13,10,13,187,16,198,16,169,15,132,16,187,9,28,16,10,18,22,18,17,13,225,7,14,12,21,12,231,7,24,13,31,13,38,13,235,11,193,9,209,16,199,9,205,9,211,9,28,12,220,16,177,15,143,16,45,13,52,13,217,9,59,13,66,13,35,12,223,9,73,13,80,13,87,13,94,13,101,13,229,9,237,7,235,9,241,9,195,7,243,7,108,13,93,10,115,13,122,13,129,13,136,13,249,7,42,12,255,7,143,13,99,10,5,8,231,16,242,16,105,10,150,13,111,10,11,8,17,8,157,13,117,10,253,16,185,15,8,17,123,10,49,12,23,8,141,7,164,13,171,13,53,8,59,8,178,13,165,10,242,11,171,10,65,8,56,12,177,10,63,12,71,8,19,17,183,10,70,12,77,8,189,10,30,17,37,16,34,18,83,8,185,13,89,8,95,8,192,13,195,10,77,12,201,10,207,10,199,13,101,8,107,8,113,8,41,17,119,8,193,15,206,13,213,13,125,8,213,10,84,12,220,13,227,13,234,13,241,13,91,12,248,13,255,13,6,14,219,10,131,8,13,14,137,8,20,14,143,8,225,10,149,8,27,14,34,14,137,15,52,17,63,17,41,14,48,14,55,14,155,8,231,10,161,8,167,8,62,14,173,8,237,10,69,14,76,14,243,10,179,8,83,14,185,8,249,10,90,14,97,14,191,8,104,14,111,14,118,14,125,14,98,12,197,8,105,12,132,14,203,8,209,8,255,10,215,8,74,17,46,16,46,18,58,18,139,14,5,11,85,17,221,8,227,8,146,14,153,14,177,7,112,12,119,12,126,12,13,0,11,11,17,11,228,11,233,8,23,11,160,14,239,8,167,14,133,12,29,11,174,14,140,12,35,11,245,8,181,14,41,11,47,11,53,11,251,8,188,14,96,17,145,15,107,17,195,14,147,12,59,11,209,15,1,9,7,9,13,9,154,12,202,14,55,16,70,18,65,11,19,9,25,9,209,14,71,11,31,9,216,14,77,11,223,14,230,14,82,18,64,16,94,18,237,14,83,11,244,14,217,15,129,17,140,17,251,14,89,11,2,15,161,12,37,9,242,17,73,16,106,18,9,15,43,9,16,15,49,9,55,9,23,15,30,15,37,15,168,12,207,7,61,9,67,9,225,15,151,17,154,16,95,11,175,12,101,11,233,15,162,17,79,9,107,11,182,12,189,12,113,11,119,11,196,12,85,9,91,9,125,11,44,15,97,9,131,11,103,9,241,15,203,12,137,11,249,11,210,12,143,11,149,11,217,12,51,15,185,11,121,9,191,11,173,17,184,17,153,15,165,16,254,17,19,16,118,18,197,11,58,15,203,11,65,15,72,15,127,9,79,15,86,15,224,12,209,11,215,11,93,15,231,12,100,15,133,9,107,15,130,18,82,16,218,17,114,15,129,15,176,16,195,17,139,9,170,170,232,1,47,0,75,0,79,0,83,0,87,0,91,0,95,0,99,0,103,0,107,0,111,0,115,0,119,0,123,0,127,0,131,0,135,0,139,0,143,0,154,0,158,0,162,0,166,0,170,0,174,0,178,0,182,0,186,0,190,0,194,0,198,0,202,0,206,0,210,0,214,0,218,0,222,0,226,0,230,0,233,0,237,0,241,0,245,0,249,0,253,0,1,1,5,1,9,1,13,1,17,1,21,1,25,1,29,1,33,1,37,1,41,1,45,1,49,1,61,1,65,1,69,1,73,1,77,1,81,1,85,1,89,1,93,1,97,1,110,8,101,1,105,1,109,1,113,1,117,1,121,1,125,1,129,1,133,1,137,1,141,1,145,1,149,1,153,1,157,1,161,1,165,1,169,1,173,1,177,1,181,1,185,1,189,1,193,1,197,1,201,1,205,1,209,1,213,1,217,1,221,1,225,1,229,1,233,1,243,1,247,1,251,1,255,1,3,2,7,2,11,2,15,2,19,2,23,2,27,2,31,2,35,2,39,2,43,2,47,2,51,2,55,2,59,2,63,2,67,2,71,2,75,2,79,2,83,2,87,2,91,2,95,2,99,2,103,2,107,2,111,2,115,2,119,2,123,2,127,2,131,2,135,2,139,2,143,2,147,2,151,2,155,2,159,2,163,2,167,2,171,2,175,2,179,2,183,2,187,2,191,2,195,2,199,2,210,2,214,2,220,2,226,2,236,2,247,2,253,2,7,3,13,3,21,3,30,3,36,3,42,3,48,3,54,3,58,3,62,3,66,3,70,3,74,3,78,3,82,3,86,3,90,3,136,6,94,3,98,3,102,3,106,3,110,3,20,8,114,3,118,3,122,3,126,3,69,5,130,3,134,3,137,3,141,3,145,3,149,3,153,3,157,3,161,3,165,3,169,3,173,3,177,3,181,3,185,3,189,3,193,3,197,3,201,3,205,3,209,3,213,3,217,3,221,3,225,3,229,3,233,3,237,3,241,3,245,3,249,3,253,3,1,4,5,4,9,4,13,4,17,4,21,4,25,4,29,4,33,4,37,4,41,4,45,4,49,4,53,4,57,4,61,4,65,4,69,4,73,4,77,4,81,4,85,4,89,4,93,4,10,5,97,4,101,4,105,4,109,4,113,4,117,4,121,4,125,4,129,4,133,4,137,4,39,10,141,4,145,4,149,4,153,4,157,4,161,4,165,4,169,4,173,4,177,4,181,4,185,4,189,4,193,4,197,4,201,4,205,4,209,4,213,4,217,4,221,4,225,4,229,4,233,4,237,4,241,4,245,4,249,4,253,4,4,5,14,5,21,5,32,5,36,5,40,5,44,5,48,5,52,5,56,5,60,5,64,5,68,5,72,5,76,5,196,11,80,5,84,5,88,5,92,5,96,5,100,5,104,5,108,5,112,5,116,5,120,5,124,5,128,5,132,5,136,5,140,5,144,5,148,5,152,5,156,5,160,5,164,5,168,5,172,5,176,5,180,5,184,5,188,5,192,5,196,5,200,5,204,5,208,5,212,5,216,5,220,5,224,5,228,5,238,5,248,5,255,5,9,6,16,6,23,6,30,6,37,6,44,6,51,6,58,6,65,6,72,6,79,6,86,6,93,6,100,6,107,6,114,6,121,6,128,6,30,11,135,6,139,6,143,6,147,6,151,6,155,6,159,6,163,6,167,6,171,6,175,6,179,6,183,6,187,6,191,6,195,6,199,6,203,6,207,6,211,6,215,6,181,11,219,6,223,6,227,6,231,6,235,6,239,6,243,6,247,6,251,6,255,6,3,7,7,7,11,7,15,7,19,7,23,7,27,7,31,7,35,7,39,7,43,7,47,7,51,7,54,7,58,7,62,7,66,7,209,21,70,7,74,7,78,7,82,7,86,7,90,7,94,7,97,7,101,7,105,7,109,7,113,7,124,7,136,7,148,7,159,7,169,7,188,7,199,7,211,7,221,7,231,7,235,7,239,7,243,7,247,7,251,7,255,7,3,8,7,8,11,8,15,8,19,8,23,8,27,8,31,8,35,8,39,8,43,8,47,8,51,8,55,8,59,8,63,8,67,8,71,8,75,8,79,8,83,8,87,8,91,8,95,8,99,8,103,8,107,8,114,8,126,8,138,8,145,8,154,8,163,8,170,8,181,8,188,8,197,8,204,8,208,8,212,8,216,8,220,8,224,8,170,170,148,20,0,80,153,20,0,80,158,20,0,80,163,20,0,80,168,20,0,80,173,20,0,80,178,20,0,80,183,20,0,80,188,20,0,80,193,20,0,80,198,20,0,80,203,20,0,80,208,20,0,80,213,20,0,80,218,20,0,80,223,20,0,80,228,20,0,80,233,20,0,80,238,20,0,80,243,20,0,80,248,20,0,80,253,20,0,80,2,21,0,80,7,21,0,80,12,21,0,80,17,21,0,80,22,21,0,80,27,21,0,80,32,21,0,80,37,21,0,80,42,21,0,80,47,21,0,80,52,21,0,80,57,21,0,80,62,21,0,80,67,21,0,80,72,21,0,80,77,21,0,80,82,21,0,80,87,21,0,80,92,21,0,80,97,21,0,80,102,21,0,80,107,21,0,80,112,21,0,80,117,21,0,80,122,21,0,80,127,21,0,80,132,21,0,80,137,21,0,80,142,21,0,80,147,21,0,80,152,21,0,80,157,21,0,80,162,21,0,80,167,21,0,80,172,21,0,80,177,21,0,80,182,21,0,80,187,21,0,80,192,21,0,80,197,21,0,80,202,21,0,80,207,21,0,80,212,21,0,80,217,21,0,80,222,21,0,80,227,21,0,80,232,21,0,80,237,21,0,80,242,21,0,80,247,21,0,80,252,21,0,80,1,22,0,80,6,22,0,80,11,22,0,80,16,22,0,80,21,22,0,80,26,22,0,80,31,22,0,80,36,22,0,80,41,22,0,80,46,22,0,80,51,22,0,80,56,22,0,80,61,22,0,80,66,22,0,80,71,22,0,80,76,22,0,80,81,22,0,80,86,22,0,80,91,22,0,80,96,22,0,80,101,22,0,80,106,22,0,80,111,22,0,80,116,22,0,80,121,22,0,80,126,22,0,80,131,22,0,80,136,22,0,80,141,22,0,80,146,22,0,80,151,22,0,80,156,22,0,80,161,22,0,80,166,22,0,80,171,22,0,80,176,22,0,80,181,22,0,80,186,22,0,80,191,22,0,80,196,22,0,80,201,22,0,80,206,22,0,80,211,22,0,80,216,22,0,80,221,22,0,80,226,22,0,80,231,22,0,80,236,22,0,80,241,22,0,80,246,22,0,80,251,22,0,80,0,23,0,80,5,23,0,80,10,23,0,80,15,23,0,80,20,23,0,80,25,23,0,80,30,23,0,80,35,23,0,80,40,23,0,80,45,23,0,80,50,23,0,80,55,23,0,80,60,23,0,80,65,23,0,80,70,23,0,80,75,23,0,80,80,23,0,80,85,23,0,80,90,23,0,80,95,23,0,80,100,23,0,80,105,23,0,80,110,23,0,80,115,23,0,80,120,23,0,80,125,23,0,80,130,23,0,80,135,23,0,80,140,23,0,80,145,23,0,80,150,23,0,80,155,23,0,80,160,23,0,80,165,23,0,80,170,23,0,80,175,23,0,80,180,23,0,80,185,23,0,80,190,23,0,80,195,23,0,80,200,23,0,80,205,23,0,80,210,23,0,80,215,23,0,80,220,23,0,80,225,23,0,80,230,23,0,80,235,23,0,80,240,23,0,80,245,23,0,80,250,23,0,80,255,23,0,80,4,24,0,80,9,24,0,80,14,24,0,80,19,24,0,80,24,24,0,80,29,24,0,80,34,24,0,80,39,24,0,80,44,24,0,80,49,24,0,80,54,24,0,80,59,24,0,80,64,24,0,80,69,24,0,80,74,24,0,80,79,24,0,80,84,24,0,80,89,24,0,80,94,24,0,80,99,24,0,80,104,24,0,80,109,24,0,80,114,24,0,80,119,24,0,80,124,24,0,80,129,24,0,80,134,24,0,80,139,24,0,80,144,24,0,80,149,24,0,80,154,24,0,80,159,24,0,80,164,24,0,80,169,24,0,80,174,24,0,80,179,24,0,80,184,24,0,80,189,24,0,80,194,24,0,80,199,24,0,80,204,24,0,80,209,24,0,80,214,24,0,80,219,24,0,80,224,24,0,80,229,24,0,80,234,24,0,80,239,24,0,80,244,24,0,80,249,24,0,80,254,24,0,80,3,25,0,80,8,25,0,80,13,25,0,80,18,25,0,80,23,25,0,80,28,25,0,80,33,25,0,80,38,25,0,80,43,25,0,80,48,25,0,80,53,25,0,80,58,25,0,80,63,25,0,80,68,25,0,80,73,25,0,80,78,25,0,80,83,25,0,80,88,25,0,80,93,25,0,80,98,25,0,80,103,25,0,80,108,25,0,80,113,25,0,80,118,25,0,80,123,25,0,80,128,25,0,80,133,25,0,80,138,25,0,80,143,25,0,80,148,25,0,80,153,25,0,80,158,25,0,80,163,25,0,80,168,25,0,80,173,25,0,80,178,25,0,80,183,25,0,80,188,25,0,80,193,25,0,80,198,25,0,80,203,25,0,80,208,25,0,80,213,25,0,80,218,25,0,80,223,25,0,80,228,25,0,80,233,25,0,80,238,25,0,80,243,25,0,80,248,25,0,80,253,25,0,80,2,26,0,80,7,26,0,80,12,26,0,80,17,26,0,80,22,26,0,80,27,26,0,80,32,26,0,80,37,26,0,80,42,26,0,80,47,26,0,80,52,26,0,80,57,26,0,80,62,26,0,80,67,26,0,80,72,26,0,80,77,26,0,80,82,26,0,80,87,26,0,80,92,26,0,80,97,26,0,80,102,26,0,80,107,26,0,80,112,26,0,80,117,26,0,80,122,26,0,80,127,26,0,80,132,26,0,80,137,26,0,80,142,26,0,80,147,26,0,80,152,26,0,80,157,26,0,80,162,26,0,80,167,26,0,80,172,26,0,80,177,26,0,80,182,26,0,80,187,26,0,80,192,26,0,80,197,26,0,80,202,26,0,80,207,26,0,80,212,26,0,80,217,26,0,80,222,26,0,80,227,26,0,80,232,26,0,80,237,26,0,80,242,26,0,80,247,26,0,80,252,26,0,80,1,27,0,80,6,27,0,80,11,27,0,80,16,27,0,80,21,27,0,80,26,27,0,80,31,27,0,80,36,27,0,80,41,27,0,80,46,27,0,80,51,27,0,80,56,27,0,80,61,27,0,80,66,27,0,80,71,27,0,80,76,27,0,80,81,27,0,80,86,27,0,80,91,27,0,80,96,27,0,80,101,27,0,80,106,27,0,80,111,27,0,80,116,27,0,80,121,27,0,80,126,27,0,80,131,27,0,80,136,27,0,80,141,27,0,80,146,27,0,80,151,27,0,80,156,27,0,80,161,27,0,80,166,27,0,80,171,27,0,80,176,27,0,80,181,27,0,80,186,27,0,80,191,27,0,80,196,27,0,80,201,27,0,80,206,27,0,80,211,27,0,80,216,27,0,80,221,27,0,80,226,27,0,80,231,27,0,80,236,27,0,80,241,27,0,80,246,27,0,80,251,27,0,80,0,28,0,80,5,28,0,80,10,28,0,80,15,28,0,80,20,28,0,80,25,28,0,80,30,28,0,80,35,28,0,80,40,28,0,80,45,28,0,80,50,28,0,80,55,28,0,80,60,28,0,80,65,28,0,80,70,28,0,80,75,28,0,80,80,28,0,80,85,28,0,80,90,28,0,80,95,28,0,80,100,28,0,80,105,28,0,80,110,28,0,80,115,28,0,80,120,28,0,80,125,28,0,80,130,28,0,80,135,28,0,80,140,28,0,80,145,28,0,80,150,28,0,80,155,28,0,80,160,28,0,80,165,28,0,80,170,28,0,80,175,28,0,80,180,28,0,80,185,28,0,80,190,28,0,80,195,28,0,80,200,28,0,80,205,28,0,80,210,28,0,80,215,28,0,80,220,28,0,80,225,28,0,80,230,28,0,80,235,28,0,80,240,28,0,80,245,28,0,80,250,28,0,80,255,28,0,80,4,29,0,80,9,29,0,80,14,29,0,80,19,29,0,80,24,29,0,80,29,29,0,80,34,29,0,80,39,29,0,80,44,29,0,80,49,29,0,80,54,29,0,80,59,29,0,80,64,29,0,80,69,29,0,80,74,29,0,80,79,29,0,80,84,29,0,80,89,29,0,80,94,29,0,80,99,29,0,80,104,29,0,80,109,29,0,80,114,29,0,80,119,29,0,80,124,29,0,80,129,29,0,80,134,29,0,80,139,29,0,80,144,29,0,80,149,29,0,80,154,29,0,80,159,29,0,80,164,29,0,80,169,29,0,80,174,29,0,80,179,29,0,80,184,29,0,80,189,29,0,80,194,29,0,80,199,29,0,80,204,29,0,80,209,29,0,80,214,29,0,80,219,29,0,80,224,29,0,80,229,29,0,80,234,29,0,80,239,29,0,80,244,29,0,80,249,29,0,80,254,29,0,80,3,30,0,80,8,30,0,80,13,30,0,80,18,30,0,80,23,30,0,80,1,0,235,8,28,30,0,80,144,0,252,8,1,9,6,9,11,9,16,9,21,9,26,9,31,9,36,9,41,9,46,9,51,9,56,9,61,9,66,9,71,9,76,9,81,9,86,9,91,9,96,9,101,9,106,9,111,9,116,9,121,9,126,9,131,9,136,9,141,9,146,9,151,9,156,9,161,9,166,9,172,9,178,9,184,9,190,9,196,9,202,9,208,9,214,9,220,9,226,9,232,9,238,9,244,9,250,9,0,10,6,10,12,10,17,10,22,10,27,10,32,10,37,10,42,10,47,10,52,10,57,10,62,10,67,10,72,10,77,10,82,10,31,2,87,10,91,10,96,10,100,10,105,10,35,2,109,10,113,10,117,10,122,10,127,10,131,10,135,10,139,10,143,10,147,10,151,10,156,10,161,10,165,10,170,10,174,10,178,10,183,10,188,10,192,10,196,10,201,10,205,10,209,10,214,10,218,10,222,10,227,10,232,10,237,10,81,4,241,10,245,10,251,10,0,11,5,11,10,11,15,11,19,11,23,11,28,11,33,11,38,11,43,11,48,11,53,11,58,11,63,11,68,11,73,11,78,11,83,11,88,11,93,11,98,11,103,11,108,11,113,11,118,11,124,11,130,11,136,11,142,11,148,11,154,11,160,11,165,11,170,11,175,11,180,11,185,11,170,170,33,30,0,80,38,30,0,80,43,30,0,80,48,30,0,80,53,30,0,80,58,30,0,80,63,30,0,80,68,30,0,80,73,30,0,80,78,30,0,80,83,30,0,80,88,30,0,80,93,30,0,80,98,30,0,80,103,30,0,80,108,30,0,80,113,30,0,80,118,30,0,80,123,30,0,80,128,30,0,80,133,30,0,80,138,30,0,80,143,30,0,80,148,30,0,80,153,30,0,80,158,30,0,80,163,30,0,80,168,30,0,80,173,30,0,80,178,30,0,80,183,30,0,80,188,30,0,80,193,30,0,80,198,30,0,80,203,30,0,80,208,30,0,80,213,30,0,80,218,30,0,80,223,30,0,80,228,30,0,80,233,30,0,80,238,30,0,80,243,30,0,80,248,30,0,80,253,30,0,80,2,31,0,80,7,31,0,80,12,31,0,80,17,31,0,80,22,31,0,80,27,31,0,80,32,31,0,80,37,31,0,80,42,31,0,80,47,31,0,80,52,31,0,80,57,31,0,80,62,31,0,80,67,31,0,80,72,31,0,80,77,31,0,80,82,31,0,80,87,31,0,80,92,31,0,80,97,31,0,80,102,31,0,80,107,31,0,80,112,31,0,80,117,31,0,80,122,31,0,80,127,31,0,80,132,31,0,80,137,31,0,80,142,31,0,80,147,31,0,80,152,31,0,80,157,31,0,80,162,31,0,80,167,31,0,80,172,31,0,80,177,31,0,80,182,31,0,80,187,31,0,80,192,31,0,80,197,31,0,80,202,31,0,80,207,31,0,80,212,31,0,80,217,31,0,80,222,31,0,80,227,31,0,80,232,31,0,80,237,31,0,80,242,31,0,80,247,31,0,80,252,31,0,80,1,32,0,80,6,32,0,80,11,32,0,80,16,32,0,80,21,32,0,80,26,32,0,80,31,32,0,80,36,32,0,80,41,32,0,80,46,32,0,80,51,32,0,80,56,32,0,80,61,32,0,80,66,32,0,80,71,32,0,80,76,32,0,80,81,32,0,80,86,32,0,80,91,32,0,80,96,32,0,80,101,32,0,80,106,32,0,80,111,32,0,80,116,32,0,80,121,32,0,80,126,32,0,80,131,32,0,80,136,32,0,80,141,32,0,80,146,32,0,80,151,32,0,80,156,32,0,80,161,32,0,80,166,32,0,80,171,32,0,80,176,32,0,80,181,32,0,80,186,32,0,80,191,32,0,80,196,32,0,80,201,32,0,80,206,32,0,80,211,32,0,80,216,32,0,80,221,32,0,80,226,32,0,80,231,32,0,80,236,32,0,80,128,2,200,11,204,11,208,11,212,11,216,11,220,11,224,11,228,11,232,11,236,11,240,11,244,11,248,11,252,11,0,12,4,12,8,12,12,12,16,12,20,12,24,12,28,12,32,12,36,12,40,12,44,12,48,12,52,12,56,12,60,12,64,12,68,12,72,12,76,12,80,12,84,12,88,12,92,12,96,12,100,12,104,12,108,12,112,12,116,12,120,12,124,12,128,12,132,12,136,12,140,12,144,12,148,12,152,12,156,12,160,12,164,12,168,12,172,12,176,12,180,12,184,12,188,12,192,12,196,12,200,12,204,12,208,12,212,12,216,12,220,12,224,12,228,12,232,12,236,12,240,12,244,12,248,12,252,12,0,13,4,13,8,13,12,13,16,13,20,13,24,13,28,13,32,13,36,13,40,13,44,13,48,13,52,13,56,13,60,13,64,13,68,13,72,13,76,13,80,13,84,13,88,13,92,13,96,13,100,13,104,13,108,13,112,13,116,13,120,13,124,13,128,13,132,13,136,13,140,13,144,13,148,13,152,13,156,13,160,13,164,13,168,13,172,13,176,13,180,13,184,13,188,13,192,13,196,13,200,13,204,13,208,13,212,13,216,13,220,13,224,13,228,13,232,13,236,13,240,13,244,13,248,13,252,13,0,14,4,14,8,14,12,14,16,14,20,14,24,14,28,14,32,14,36,14,40,14,44,14,48,14,52,14,56,14,60,14,64,14,68,14,72,14,76,14,80,14,84,14,88,14,92,14,96,14,100,14,104,14,108,14,112,14,116,14,120,14,124,14,128,14,132,14,136,14,140,14,144,14,148,14,152,14,156,14,160,14,164,14,168,14,172,14,210,9,176,14,180,14,252,9,2,10,184,14,188,14,192,14,196,14,200,14,204,14,208,14,212,14,216,14,220,14,224,14,228,14,232,14,236,14,240,14,244,14,248,14,252,14,0,15,4,15,8,15,12,15,16,15,20,15,24,15,28,15,32,15,36,15,40,15,44,15,48,15,52,15,56,15,60,15,64,15,68,15,72,15,76,15,80,15,84,15,88,15,92,15,96,15,100,15,104,15,108,15,112,15,116,15,120,15,124,15,128,15,132,15,136,15,140,15,144,15,148,15,152,15,156,15,160,15,164,15,168,15,172,15,176,15,180,15,184,15,188,15,192,15,196,15,200,15,204,15,208,15,212,15,216,15,220,15,224,15,228,15,232,15,236,15,240,15,244,15,248,15,252,15,0,16,4,16,8,16,12,16,16,16,20,16,24,16,28,16,32,16,36,16,40,16,44,16,48,16,52,16,56,16,60,16,64,16,68,16,72,16,76,16,80,16,84,16,88,16,92,16,96,16,100,16,104,16,108,16,112,16,116,16,120,16,124,16,128,16,132,16,136,16,140,16,144,16,148,16,152,16,156,16,160,16,164,16,125,19,168,16,172,16,176,16,180,16,184,16,188,16,192,16,196,16,200,16,204,16,208,16,212,16,216,16,220,16,224,16,228,16,232,16,236,16,240,16,244,16,248,16,252,16,0,17,4,17,8,17,12,17,16,17,20,17,24,17,28,17,32,17,36,17,40,17,43,17,47,17,51,17,55,17,59,17,63,17,67,17,71,17,75,17,79,17,83,17,87,17,91,17,95,17,99,17,103,17,107,17,111,17,115,17,119,17,214,20,122,17,126,17,130,17,134,17,138,17,142,17,8,21,146,17,150,17,154,17,158,17,162,17,166,17,170,17,174,17,177,17,181,17,185,17,189,17,193,17,197,17,201,17,205,17,209,17,213,17,217,17,221,17,224,17,228,17,232,17,236,17,239,17,243,17,247,17,251,17,255,17,3,18,7,18,11,18,15,18,19,18,23,18,27,18,31,18,35,18,39,18,43,18,47,18,51,18,55,18,59,18,63,18,67,18,71,18,75,18,79,18,83,18,86,18,90,18,94,18,98,18,102,18,106,18,110,18,114,18,118,18,122,18,126,18,130,18,134,18,138,18,142,18,145,18,149,18,153,18,157,18,161,18,165,18,169,18,173,18,177,18,181,18,185,18,189,18,193,18,197,18,201,18,205,18,209,18,213,18,217,18,221,18,225,18,229,18,233,18,237,18,241,18,245,18,249,18,253,18,194,20,1,19,5,19,9,19,13,19,17,19,21,19,25,19,29,19,33,19,37,19,41,19,45,19,49,19,53,19,57,19,61,19,65,19,69,19,73,19,77,19,81,19,84,19,88,19,92,19,96,19,100,19,28,18,104,19,173,16,108,19,112,19,116,19,120,19,124,19,128,19,131,19,135,19,139,19,143,19,147,19,151,19,155,19,159,19,163,19,167,19,171,19,175,19,178,19,182,19,185,19,189,19,193,19,197,19,201,19,205,19,209,19,213,19,217,19,220,19,224,19,228,19,232,19,236,19,240,19,244,19,248,19,251,19,255,19,3,20,7,20,11,20,15,20,19,20,23,20,27,20,31,20,35,20,39,20,43,20,47,20,51,20,55,20,59,20,63,20,67,20,71,20,75,20,78,20,82,20,86,20,90,20,94,20,98,20,102,20,106,20,110,20,114,20,118,20,122,20,126,20,130,20,134,20,138,20,142,20,146,20,150,20,154,20,72,20,158,20,162,20,166,20,170,20,174,20,178,20,182,20,186,20,189,20,193,20,197,20,201,20,205,20,209,20,213,20,217,20,220,20,224,20,228,20,232,20,236,20,240,20,243,20,247,20,251,20,255,20,3,21,7,21,11,21,15,21,19,21,23,21,27,21,31,21,35,21,39,21,43,21,47,21,51,21,55,21,59,21,63,21,67,21,71,21,75,21,79,21,83,21,87,21,91,21,95,21,99,21,102,21,106,21,110,21,113,21,117,21,121,21,125,21,129,21,132,21,136,21,170,170,241,32,0,80,246,32,0,80,251,32,0,80,0,33,0,80,5,33,0,80,10,33,0,80,15,33,0,80,20,33,0,80,25,33,0,80,30,33,0,80,35,33,0,80,40,33,0,80,45,33,0,80,50,33,0,80,55,33,0,80,60,33,0,80,65,33,0,80,70,33,0,80,75,33,0,80,80,33,0,80,85,33,0,80,90,33,0,80,95,33,0,80,100,33,0,80,105,33,0,80,110,33,0,80,115,33,0,80,120,33,0,80,125,33,0,80,130,33,0,80,135,33,0,80,140,33,0,80,145,33,0,80,150,33,0,80,155,33,0,80,160,33,0,80,165,33,0,80,170,33,0,80,175,33,0,80,180,33,0,80,185,33,0,80,190,33,0,80,195,33,0,80,200,33,0,80,205,33,0,80,210,33,0,80,215,33,0,80,220,33,0,80,225,33,0,80,230,33,0,80,235,33,0,80,240,33,0,80,245,33,0,80,250,33,0,80,255,33,0,80,4,34,0,80,9,34,0,80,14,34,0,80,19,34,0,80,24,34,0,80,29,34,0,80,34,34,0,80,39,34,0,80,44,34,0,80,49,34,0,80,54,34,0,80,59,34,0,80,64,34,0,80,69,34,0,80,74,34,0,80,79,34,0,80,84,34,0,80,89,34,0,80,94,34,0,80,99,34,0,80,104,34,0,80,109,34,0,80,114,34,0,80,119,34,0,80,124,34,0,80,129,34,0,80,134,34,0,80,139,34,0,80,144,34,0,80,149,34,0,80,154,34,0,80,159,34,0,80,164,34,0,80,169,34,0,80,174,34,0,80,179,34,0,80,184,34,0,80,189,34,0,80,194,34,0,80,199,34,0,80,204,34,0,80,209,34,0,80,214,34,0,80,219,34,0,80,224,34,0,80,229,34,0,80,234,34,0,80,239,34,0,80,244,34,0,80,249,34,0,80,254,34,0,80,3,35,0,80,8,35,0,80,13,35,0,80,18,35,0,80,23,35,0,80,28,35,0,80,33,35,0,80,38,35,0,80,43,35,0,80,48,35,0,80,53,35,0,80,58,35,0,80,63,35,0,80,68,35,0,80,73,35,0,80,78,35,0,80,83,35,0,80,88,35,0,80,93,35,0,80,98,35,0,80,103,35,0,80,108,35,0,80,113,35,0,80,118,35,0,80,123,35,0,80,128,35,0,80,133,35,0,80,138,35,0,80,143,35,0,80,148,35,0,80,153,35,0,80,158,35,0,80,163,35,0,80,168,35,0,80,173,35,0,80,178,35,0,80,183,35,0,80,188,35,0,80,193,35,0,80,198,35,0,80,203,35,0,80,208,35,0,80,213,35,0,80,218,35,0,80,223,35,0,80,228,35,0,80,233,35,0,80,238,35,0,80,243,35,0,80,248,35,0,80,253,35,0,80,2,36,0,80,7,36,0,80,12,36,0,80,17,36,0,80,22,36,0,80,27,36,0,80,32,36,0,80,37,36,0,80,42,36,0,80,47,36,0,80,52,36,0,80,57,36,0,80,62,36,0,80,67,36,0,80,72,36,0,80,77,36,0,80,82,36,0,80,87,36,0,80,92,36,0,80,97,36,0,80,102,36,0,80,107,36,0,80,112,36,0,80,117,36,0,80,122,36,0,80,127,36,0,80,132,36,0,80,137,36,0,80,142,36,0,80,147,36,0,80,152,36,0,80,157,36,0,80,162,36,0,80,167,36,0,80,172,36,0,80,177,36,0,80,182,36,0,80,187,36,0,80,192,36,0,80,197,36,0,80,202,36,0,80,207,36,0,80,212,36,0,80,217,36,0,80,222,36,0,80,227,36,0,80,232,36,0,80,237,36,0,80,242,36,0,80,247,36,0,80,252,36,0,80,1,37,0,80,6,37,0,80,11,37,0,80,16,37,0,80,21,37,0,80,26,37,0,80,31,37,0,80,36,37,0,80,41,37,0,80,46,37,0,80,51,37,0,80,56,37,0,80,61,37,0,80,66,37,0,80,71,37,0,80,76,37,0,80,81,37,0,80,86,37,0,80,91,37,0,80,96,37,0,80,101,37,0,80,106,37,0,80,111,37,0,80,116,37,0,80,121,37,0,80,126,37,0,80,131,37,0,80,136,37,0,80,141,37,0,80,146,37,0,80,151,37,0,80,156,37,0,80,161,37,0,80,166,37,0,80,171,37,0,80,176,37,0,80,181,37,0,80,186,37,0,80,191,37,0,80,196,37,0,80,201,37,0,80,206,37,0,80,211,37,0,80,216,37,0,80,221,37,0,80,226,37,0,80,231,37,0,80,236,37,0,80,241,37,0,80,246,37,0,80,251,37,0,80,0,38,0,80,5,38,0,80,10,38,0,80,15,38,0,80,20,38,0,80,25,38,0,80,30,38,0,80,35,38,0,80,40,38,0,80,45,38,0,80,50,38,0,80,55,38,0,80,60,38,0,80,65,38,0,80,70,38,0,80,75,38,0,80,80,38,0,80,85,38,0,80,90,38,0,80,95,38,0,80,100,38,0,80,105,38,0,80,110,38,0,80,115,38,0,80,120,38,0,80,125,38,0,80,130,38,0,80,135,38,0,80,140,38,0,80,145,38,0,80,150,38,0,80,155,38,0,80,160,38,0,80,165,38,0,80,170,38,0,80,175,38,0,80,180,38,0,80,185,38,0,80,190,38,0,80,195,38,0,80,200,38,0,80,205,38,0,80,210,38,0,80,215,38,0,80,220,38,0,80,225,38,0,80,230,38,0,80,235,38,0,80,240,38,0,80,245,38,0,80,250,38,0,80,255,38,0,80,4,39,0,80,9,39,0,80,14,39,0,80,19,39,0,80,24,39,0,80,29,39,0,80,34,39,0,80,39,39,0,80,44,39,0,80,49,39,0,80,54,39,0,80,59,39,0,80,64,39,0,80,69,39,0,80,74,39,0,80,79,39,0,80,84,39,0,80,89,39,0,80,94,39,0,80,99,39,0,80,104,39,0,80,109,39,0,80,114,39,0,80,119,39,0,80,124,39,0,80,129,39,0,80,134,39,0,80,139,39,0,80,144,39,0,80,149,39,0,80,154,39,0,80,159,39,0,80,164,39,0,80,169,39,0,80,174,39,0,80,179,39,0,80,184,39,0,80,189,39,0,80,194,39,0,80,199,39,0,80,204,39,0,80,209,39,0,80,214,39,0,80,219,39,0,80,224,39,0,80,229,39,0,80,234,39,0,80,239,39,0,80,244,39,0,80,249,39,0,80,254,39,0,80,3,40,0,80,8,40,0,80,13,40,0,80,18,40,0,80,23,40,0,80,28,40,0,80,33,40,0,80,38,40,0,80,43,40,0,80,48,40,0,80,53,40,0,80,58,40,0,80,63,40,0,80,68,40,0,80,73,40,0,80,78,40,0,80,83,40,0,80,88,40,0,80,93,40,0,80,98,40,0,80,103,40,0,80,108,40,0,80,113,40,0,80,118,40,0,80,123,40,0,80,128,40,0,80,133,40,0,80,138,40,0,80,143,40,0,80,148,40,0,80,153,40,0,80,158,40,0,80,163,40,0,80,168,40,0,80,173,40,0,80,178,40,0,80,183,40,0,80,188,40,0,80,193,40,0,80,198,40,0,80,203,40,0,80,208,40,0,80,213,40,0,80,218,40,0,80,223,40,0,80,228,40,0,80,233,40,0,80,238,40,0,80,243,40,0,80,248,40,0,80,253,40,0,80,2,41,0,80,7,41,0,80,12,41,0,80,17,41,0,80,22,41,0,80,27,41,0,80,32,41,0,80,37,41,0,80,42,41,0,80,47,41,0,80,52,41,0,80,57,41,0,80,62,41,0,80,67,41,0,80,72,41,0,80,77,41,0,80,82,41,0,80,87,41,0,80,92,41,0,80,97,41,0,80,102,41,0,80,107,41,0,80,112,41,0,80,117,41,0,80,122,41,0,80,127,41,0,80,132,41,0,80,137,41,0,80,142,41,0,80,147,41,0,80,152,41,0,80,157,41,0,80,162,41,0,80,167,41,0,80,172,41,0,80,177,41,0,80,182,41,0,80,187,41,0,80,192,41,0,80,197,41,0,80,202,41,0,80,207,41,0,80,212,41,0,80,217,41,0,80,222,41,0,80,227,41,0,80,232,41,0,80,237,41,0,80,242,41,0,80,247,41,0,80,252,41,0,80,1,42,0,80,6,42,0,80,11,42,0,80,16,42,0,80,21,42,0,80,26,42,0,80,31,42,0,80,36,42,0,80,41,42,0,80,46,42,0,80,51,42,0,80,56,42,0,80,61,42,0,80,66,42,0,80,71,42,0,80,76,42,0,80,81,42,0,80,86,42,0,80,91,42,0,80,96,42,0,80,101,42,0,80,106,42,0,80,111,42,0,80,116,42,0,80,121,42,0,80,126,42,0,80,131,42,0,80,136,42,0,80,141,42,0,80,146,42,0,80,151,42,0,80,156,42,0,80,161,42,0,80,166,42,0,80,171,42,0,80,176,42,0,80,181,42,0,80,186,42,0,80,191,42,0,80,196,42,0,80,201,42,0,80,206,42,0,80,211,42,0,80,216,42,0,80,221,42,0,80,226,42,0,80,231,42,0,80,236,42,0,80,241,42,0,80,246,42,0,80,251,42,0,80,0,43,0,80,5,43,0,80,10,43,0,80,15,43,0,80,20,43,0,80,25,43,0,80,30,43,0,80,35,43,0,80,40,43,0,80,45,43,0,80,50,43,0,80,55,43,0,80,60,43,0,80,65,43,0,80,70,43,0,80,75,43,0,80,80,43,0,80,85,43,0,80,90,43,0,80,95,43,0,80,100,43,0,80,105,43,0,80,110,43,0,80,115,43,0,80,120,43,0,80,125,43,0,80,130,43,0,80,135,43,0,80,140,43,0,80,145,43,0,80,150,43,0,80,155,43,0,80,160,43,0,80,165,43,0,80,170,43,0,80,175,43,0,80,180,43,0,80,185,43,0,80,190,43,0,80,195,43,0,80,200,43,0,80,205,43,0,80,210,43,0,80,215,43,0,80,220,43,0,80,225,43,0,80,230,43,0,80,235,43,0,80,240,43,0,80,245,43,0,80,250,43,0,80,255,43,0,80,4,44,0,80,9,44,0,80,14,44,0,80,19,44,0,80,24,44,0,80,29,44,0,80,34,44,0,80,39,44,0,80,44,44,0,80,49,44,0,80,54,44,0,80,59,44,0,80,64,44,0,80,69,44,0,80,74,44,0,80,79,44,0,80,84,44,0,80,89,44,0,80,94,44,0,80,99,44,0,80,104,44,0,80,109,44,0,80,114,44,0,80,119,44,0,80,124,44,0,80,129,44,0,80,134,44,0,80,139,44,0,80,144,44,0,80,149,44,0,80,154,44,0,80,159,44,0,80,164,44,0,80,169,44,0,80,174,44,0,80,179,44,0,80,184,44,0,80,189,44,0,80,194,44,0,80,199,44,0,80,204,44,0,80,209,44,0,80,214,44,0,80,219,44,0,80,224,44,0,80,229,44,0,80,234,44,0,80,239,44,0,80,244,44,0,80,249,44,0,80,254,44,0,80,3,45,0,80,8,45,0,80,13,45,0,80,18,45,0,80,23,45,0,80,28,45,0,80,33,45,0,80,38,45,0,80,43,45,0,80,48,45,0,80,53,45,0,80,58,45,0,80,63,45,0,80,68,45,0,80,73,45,0,80,78,45,0,80,83,45,0,80,88,45,0,80,93,45,0,80,98,45,0,80,103,45,0,80,108,45,0,80,9,0,145,21,153,21,177,21,202,21,213,21,237,21,3,22,20,22,31,22,113,45,0,80,118,45,0,80,123,45,0,80,128,45,0,80,133,45,0,80,138,45,0,80,143,45,0,80,148,45,0,80,153,45,0,80,2,0,59,22,71,22,170,170,158,45,0,80,163,45,0,80,2,0,181,7,90,22,170,170,168,45,0,80,173,45,0,80,7,0,38,0,228,8,240,8,190,11,140,21,53,22,82,22,30,29,0,32,251,31,0,32,253,31,0,32,214,32,0,32,151,36,0,32,165,36,0,32,169,36,0,32,2,0,32,0,99,22,170,170,173,36,0,32,178,45,0,144,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,218,5,0,32,7,0,0,0,147,0,0,0,220,5,0,0,220,5,0,0,88,0,0,0,1,0,0,0,157,3,0,0,110,117,109,98,101,114,105,110,103,83,121,115,116,101,109,115,0,97,100,108,109,0,97,108,103,111,114,105,116,104,109,105,99,0,100,101,115,99,0,114,97,100,105,120,0,97,104,111,109,0,97,114,97,98,0,97,114,97,98,101,120,116,0,97,114,109,110,0,97,114,109,110,108,111,119,0,98,97,108,105,0,98,101,110,103,0,98,104,107,115,0,98,114,97,104,0,99,97,107,109,0,99,104,97,109,0,99,121,114,108,0,100,101,118,97,0,100,105,97,107,0,101,116,104,105,0,102,117,108,108,119,105,100,101,0,103,101,111,114,0,103,111,110,103,0,103,111,110,109,0,103,114,101,107,0,103,114,101,107,108,111,119,0,103,117,106,114,0,103,117,114,117,0,104,97,110,105,100,97,121,115,0,104,97,110,105,100,101,99,0,104,97,110,115,0,104,97,110,115,102,105,110,0,104,97,110,116,0,104,97,110,116,102,105,110,0,104,101,98,114,0,104,109,110,103,0,104,109,110,112,0,106,97,118,97,0,106,112,97,110,0,106,112,97,110,102,105,110,0,106,112,97,110,121,101,97,114,0,107,97,108,105,0,107,97,119,105,0,107,104,109,114,0,107,110,100,97,0,108,97,110,97,0,108,97,110,97,116,104,97,109,0,108,97,111,111,0,108,97,116,110,0,108,101,112,99,0,108,105,109,98,0,109,97,116,104,98,111,108,100,0,109,97,116,104,100,98,108,0,109,97,116,104,109,111,110,111,0,109,97,116,104,115,97,110,98,0,109,97,116,104,115,97,110,115,0,109,108,121,109,0,109,111,100,105,0,109,111,110,103,0,109,114,111,111,0,109,116,101,105,0,109,121,109,114,0,109,121,109,114,115,104,97,110,0,109,121,109,114,116,108,110,103,0,110,97,103,109,0,110,101,119,97,0,110,107,111,111,0,111,108,99,107,0,111,114,121,97,0,111,115,109,97,0,114,111,104,103,0,114,111,109,97,110,0,114,111,109,97,110,108,111,119,0,115,97,117,114,0,115,101,103,109,101,110,116,0,115,104,114,100,0,115,105,110,100,0,115,105,110,104,0,115,111,114,97,0,115,117,110,100,0,116,97,107,114,0,116,97,108,117,0,116,97,109,108,0,116,97,109,108,100,101,99,0,116,101,108,117,0,116,104,97,105,0,116,105,98,116,0,116,105,114,104,0,116,110,115,97,0,118,97,105,105,0,119,97,114,97,0,119,99,104,111,0,170,0,0,37,0,116,0,97,0,109,0,105,0,108,0,0,0,37,0,104,0,101,0,98,0,114,0,101,0,119,0,0,0,37,0,101,0,116,0,104,0,105,0,111,0,112,0,105,0,99,0,0,0,37,0,103,0,101,0,111,0,114,0,103,0,105,0,97,0,110,0,0,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,57,0,0,0,96,6,97,6,98,6,99,6,100,6,101,6,102,6,103,6,104,6,105,6,0,0,240,6,241,6,242,6,243,6,244,6,245,6,246,6,247,6,248,6,249,6,0,0,192,7,193,7,194,7,195,7,196,7,197,7,198,7,199,7,200,7,201,7,0,0,102,9,103,9,104,9,105,9,106,9,107,9,108,9,109,9,110,9,111,9,0,0,230,9,231,9,232,9,233,9,234,9,235,9,236,9,237,9,238,9,239,9,0,0,102,10,103,10,104,10,105,10,106,10,107,10,108,10,109,10,110,10,111,10,0,0,230,10,231,10,232,10,233,10,234,10,235,10,236,10,237,10,238,10,239,10,0,0,102,11,103,11,104,11,105,11,106,11,107,11,108,11,109,11,110,11,111,11,0,0,230,11,231,11,232,11,233,11,234,11,235,11,236,11,237,11,238,11,239,11,0,0,102,12,103,12,104,12,105,12,106,12,107,12,108,12,109,12,110,12,111,12,0,0,230,12,231,12,232,12,233,12,234,12,235,12,236,12,237,12,238,12,239,12,0,0,102,13,103,13,104,13,105,13,106,13,107,13,108,13,109,13,110,13,111,13,0,0,230,13,231,13,232,13,233,13,234,13,235,13,236,13,237,13,238,13,239,13,0,0,80,14,81,14,82,14,83,14,84,14,85,14,86,14,87,14,88,14,89,14,0,0,208,14,209,14,210,14,211,14,212,14,213,14,214,14,215,14,216,14,217,14,0,0,32,15,33,15,34,15,35,15,36,15,37,15,38,15,39,15,40,15,41,15,0,0,64,16,65,16,66,16,67,16,68,16,69,16,70,16,71,16,72,16,73,16,0,0,144,16,145,16,146,16,147,16,148,16,149,16,150,16,151,16,152,16,153,16,0,0,224,23,225,23,226,23,227,23,228,23,229,23,230,23,231,23,232,23,233,23,0,0,16,24,17,24,18,24,19,24,20,24,21,24,22,24,23,24,24,24,25,24,0,0,70,25,71,25,72,25,73,25,74,25,75,25,76,25,77,25,78,25,79,25,0,0,208,25,209,25,210,25,211,25,212,25,213,25,214,25,215,25,216,25,217,25,0,0,128,26,129,26,130,26,131,26,132,26,133,26,134,26,135,26,136,26,137,26,0,0,144,26,145,26,146,26,147,26,148,26,149,26,150,26,151,26,152,26,153,26,0,0,80,27,81,27,82,27,83,27,84,27,85,27,86,27,87,27,88,27,89,27,0,0,176,27,177,27,178,27,179,27,180,27,181,27,182,27,183,27,184,27,185,27,0,0,64,28,65,28,66,28,67,28,68,28,69,28,70,28,71,28,72,28,73,28,0,0,80,28,81,28,82,28,83,28,84,28,85,28,86,28,87,28,88,28,89,28,0,0,7,48,0,78,140,78,9,78,219,86,148,78,109,81,3,78,107,81,93,78,0,0,32,166,33,166,34,166,35,166,36,166,37,166,38,166,39,166,40,166,41,166,0,0,208,168,209,168,210,168,211,168,212,168,213,168,214,168,215,168,216,168,217,168,0,0,0,169,1,169,2,169,3,169,4,169,5,169,6,169,7,169,8,169,9,169,0,0,208,169,209,169,210,169,211,169,212,169,213,169,214,169,215,169,216,169,217,169,0,0,240,169,241,169,242,169,243,169,244,169,245,169,246,169,247,169,248,169,249,169,0,0,80,170,81,170,82,170,83,170,84,170,85,170,86,170,87,170,88,170,89,170,0,0,240,171,241,171,242,171,243,171,244,171,245,171,246,171,247,171,248,171,249,171,0,0,16,255,17,255,18,255,19,255,20,255,21,255,22,255,23,255,24,255,25,255,0,0,37,0,103,0,114,0,101,0,101,0,107,0,45,0,108,0,111,0,119,0,101,0,114,0,0,0,37,0,103,0,114,0,101,0,101,0,107,0,45,0,117,0,112,0,112,0,101,0,114,0,0,0,37,0,114,0,111,0,109,0,97,0,110,0,45,0,108,0,111,0,119,0,101,0,114,0,0,0,37,0,114,0,111,0,109,0,97,0,110,0,45,0,117,0,112,0,112,0,101,0,114,0,0,0,37,0,97,0,114,0,109,0,101,0,110,0,105,0,97,0,110,0,45,0,108,0,111,0,119,0,101,0,114,0,0,0,37,0,97,0,114,0,109,0,101,0,110,0,105,0,97,0,110,0,45,0,117,0,112,0,112,0,101,0,114,0,0,0,37,0,99,0,121,0,114,0,105,0,108,0,108,0,105,0,99,0,45,0,108,0,111,0,119,0,101,0,114,0,0,0,1,216,160,220,1,216,161,220,1,216,162,220,1,216,163,220,1,216,164,220,1,216,165,220,1,216,166,220,1,216,167,220,1,216,168,220,1,216,169,220,0,0,3,216,48,221,3,216,49,221,3,216,50,221,3,216,51,221,3,216,52,221,3,216,53,221,3,216,54,221,3,216,55,221,3,216,56,221,3,216,57,221,0,0,4,216,102,220,4,216,103,220,4,216,104,220,4,216,105,220,4,216,106,220,4,216,107,220,4,216,108,220,4,216,109,220,4,216,110,220,4,216,111,220,0,0,4,216,240,220,4,216,241,220,4,216,242,220,4,216,243,220,4,216,244,220,4,216,245,220,4,216,246,220,4,216,247,220,4,216,248,220,4,216,249,220,0,0,4,216,54,221,4,216,55,221,4,216,56,221,4,216,57,221,4,216,58,221,4,216,59,221,4,216,60,221,4,216,61,221,4,216,62,221,4,216,63,221,0,0,4,216,208,221,4,216,209,221,4,216,210,221,4,216,211,221,4,216,212,221,4,216,213,221,4,216,214,221,4,216,215,221,4,216,216,221,4,216,217,221,0,0,4,216,240,222,4,216,241,222,4,216,242,222,4,216,243,222,4,216,244,222,4,216,245,222,4,216,246,222,4,216,247,222,4,216,248,222,4,216,249,222,0,0,5,216,80,220,5,216,81,220,5,216,82,220,5,216,83,220,5,216,84,220,5,216,85,220,5,216,86,220,5,216,87,220,5,216,88,220,5,216,89,220,0,0,5,216,208,220,5,216,209,220,5,216,210,220,5,216,211,220,5,216,212,220,5,216,213,220,5,216,214,220,5,216,215,220,5,216,216,220,5,216,217,220,0,0,5,216,80,222,5,216,81,222,5,216,82,222,5,216,83,222,5,216,84,222,5,216,85,222,5,216,86,222,5,216,87,222,5,216,88,222,5,216,89,222,0,0,5,216,192,222,5,216,193,222,5,216,194,222,5,216,195,222,5,216,196,222,5,216,197,222,5,216,198,222,5,216,199,222,5,216,200,222,5,216,201,222,0,0,5,216,48,223,5,216,49,223,5,216,50,223,5,216,51,223,5,216,52,223,5,216,53,223,5,216,54,223,5,216,55,223,5,216,56,223,5,216,57,223,0,0,6,216,224,220,6,216,225,220,6,216,226,220,6,216,227,220,6,216,228,220,6,216,229,220,6,216,230,220,6,216,231,220,6,216,232,220,6,216,233,220,0,0,6,216,80,221,6,216,81,221,6,216,82,221,6,216,83,221,6,216,84,221,6,216,85,221,6,216,86,221,6,216,87,221,6,216,88,221,6,216,89,221,0,0,7,216,80,220,7,216,81,220,7,216,82,220,7,216,83,220,7,216,84,220,7,216,85,220,7,216,86,220,7,216,87,220,7,216,88,220,7,216,89,220,0,0,7,216,80,221,7,216,81,221,7,216,82,221,7,216,83,221,7,216,84,221,7,216,85,221,7,216,86,221,7,216,87,221,7,216,88,221,7,216,89,221,0,0,7,216,160,221,7,216,161,221,7,216,162,221,7,216,163,221,7,216,164,221,7,216,165,221,7,216,166,221,7,216,167,221,7,216,168,221,7,216,169,221,0,0,7,216,80,223,7,216,81,223,7,216,82,223,7,216,83,223,7,216,84,223,7,216,85,223,7,216,86,223,7,216,87,223,7,216,88,223,7,216,89,223,0,0,26,216,96,222,26,216,97,222,26,216,98,222,26,216,99,222,26,216,100,222,26,216,101,222,26,216,102,222,26,216,103,222,26,216,104,222,26,216,105,222,0,0,26,216,192,222,26,216,193,222,26,216,194,222,26,216,195,222,26,216,196,222,26,216,197,222,26,216,198,222,26,216,199,222,26,216,200,222,26,216,201,222,0,0,26,216,80,223,26,216,81,223,26,216,82,223,26,216,83,223,26,216,84,223,26,216,85,223,26,216,86,223,26,216,87,223,26,216,88,223,26,216,89,223,0,0,53,216,206,223,53,216,207,223,53,216,208,223,53,216,209,223,53,216,210,223,53,216,211,223,53,216,212,223,53,216,213,223,53,216,214,223,53,216,215,223,0,0,53,216,216,223,53,216,217,223,53,216,218,223,53,216,219,223,53,216,220,223,53,216,221,223,53,216,222,223,53,216,223,223,53,216,224,223,53,216,225,223,0,0,53,216,226,223,53,216,227,223,53,216,228,223,53,216,229,223,53,216,230,223,53,216,231,223,53,216,232,223,53,216,233,223,53,216,234,223,53,216,235,223,0,0,53,216,236,223,53,216,237,223,53,216,238,223,53,216,239,223,53,216,240,223,53,216,241,223,53,216,242,223,53,216,243,223,53,216,244,223,53,216,245,223,0,0,53,216,246,223,53,216,247,223,53,216,248,223,53,216,249,223,53,216,250,223,53,216,251,223,53,216,252,223,53,216,253,223,53,216,254,223,53,216,255,223,0,0,56,216,64,221,56,216,65,221,56,216,66,221,56,216,67,221,56,216,68,221,56,216,69,221,56,216,70,221,56,216,71,221,56,216,72,221,56,216,73,221,0,0,56,216,240,222,56,216,241,222,56,216,242,222,56,216,243,222,56,216,244,222,56,216,245,222,56,216,246,222,56,216,247,222,56,216,248,222,56,216,249,222,0,0,57,216,240,220,57,216,241,220,57,216,242,220,57,216,243,220,57,216,244,220,57,216,245,220,57,216,246,220,57,216,247,220,57,216,248,220,57,216,249,220,0,0,58,216,80,221,58,216,81,221,58,216,82,221,58,216,83,221,58,216,84,221,58,216,85,221,58,216,86,221,58,216,87,221,58,216,88,221,58,216,89,221,0,0,62,216,240,223,62,216,241,223,62,216,242,223,62,216,243,223,62,216,244,223,62,216,245,223,62,216,246,223,62,216,247,223,62,216,248,223,62,216,249,223,0,0,106,0,97,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,0,0,122,0,104,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,0,0,41,220,122,0,104,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,110,0,117,0,109,0,98,0,101,0,114,0,105,0,110,0,103,0,45,0,100,0,97,0,121,0,115,0,0,0,45,220,106,0,97,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,45,0,102,0,105,0,110,0,97,0,110,0,99,0,105,0,97,0,108,0,0,0,45,220,122,0,104,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,45,0,102,0,105,0,110,0,97,0,110,0,99,0,105,0,97,0,108,0,0,0,46,220,106,0,97,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,110,0,117,0,109,0,98,0,101,0,114,0,105,0,110,0,103,0,45,0,121,0,101,0,97,0,114,0,45,0,108,0,97,0,116,0,110,0,0,0,50,220,122,0,104,0,95,0,72,0,97,0,110,0,116,0,47,0,83,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,82,0,117,0,108,0,101,0,115,0,47,0,37,0,115,0,112,0,101,0,108,0,108,0,111,0,117,0,116,0,45,0,99,0,97,0,114,0,100,0,105,0,110,0,97,0,108,0,45,0,102,0,105,0,110,0,97,0,110,0,99,0,105,0,97,0,108,0,0,0,170,170,3,0,54,0,66,0,71,0,0,0,0,112,139,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,17,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,47,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,58,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,10,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,250,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,55,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,91,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,80,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,84,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,126,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,165,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,26,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,80,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,59,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,16,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,187,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,26,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,122,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,101,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,211,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,198,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,113,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,102,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,38,5,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,99,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,217,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,128,5,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,253,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,223,5,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,8,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,206,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,76,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,143,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,181,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,81,5,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,175,5,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,132,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,143,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,245,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,157,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,33,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,44,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,201,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,36,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,77,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,11,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,227,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,248,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,55,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,34,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,13,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,168,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,231,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,0,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,164,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,176,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,223,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,234,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,154,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,118,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,189,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,69,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,88,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,124,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,42,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,63,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,237,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,224,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,121,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,160,4,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,147,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,168,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,179,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,105,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,66,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,252,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,22,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,1,0,0,112,1,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,135,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,146,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,190,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,212,0,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,210,2,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,185,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,110,1,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,38,3,0,96,10,0,0,112,3,0,54,0,66,0,71,0,0,0,0,112,97,4,0,96,10,0,0,112,88,0,49,0,77,0,82,0,87,0,95,0,100,0,108,0,113,0,118,0,123,0,128,0,133,0,138,0,143,0,148,0,153,0,158,0,167,0,172,0,177,0,182,0,187,0,195,0,200,0,205,0,214,0,222,0,227,0,235,0,240,0,248,0,253,0,2,1,7,1,12,1,17,1,25,1,34,1,39,1,44,1,49,1,54,1,59,1,68,1,73,1,78,1,83,1,88,1,97,1,105,1,114,1,123,1,132,1,137,1,142,1,147,1,152,1,157,1,162,1,171,1,180,1,185,1,190,1,195,1,200,1,205,1,210,1,215,1,221,1,230,1,235,1,243,1,248,1,253,1,2,2,7,2,12,2,17,2,22,2,27,2,35,2,40,2,45,2,50,2,55,2,60,2,65,2,70,2,170,170,157,3,0,32,162,3,0,32,167,3,0,32,172,3,0,32,177,3,0,32,182,3,0,32,187,3,0,32,192,3,0,32,197,3,0,32,202,3,0,32,207,3,0,32,212,3,0,32,217,3,0,32,222,3,0,32,227,3,0,32,232,3,0,32,237,3,0,32,242,3,0,32,247,3,0,32,252,3,0,32,1,4,0,32,6,4,0,32,11,4,0,32,16,4,0,32,21,4,0,32,26,4,0,32,31,4,0,32,36,4,0,32,41,4,0,32,46,4,0,32,51,4,0,32,56,4,0,32,61,4,0,32,66,4,0,32,71,4,0,32,76,4,0,32,81,4,0,32,86,4,0,32,91,4,0,32,96,4,0,32,101,4,0,32,106,4,0,32,111,4,0,32,116,4,0,32,121,4,0,32,126,4,0,32,131,4,0,32,136,4,0,32,141,4,0,32,146,4,0,32,151,4,0,32,156,4,0,32,161,4,0,32,166,4,0,32,171,4,0,32,176,4,0,32,181,4,0,32,186,4,0,32,191,4,0,32,196,4,0,32,201,4,0,32,206,4,0,32,211,4,0,32,216,4,0,32,221,4,0,32,226,4,0,32,231,4,0,32,236,4,0,32,241,4,0,32,246,4,0,32,251,4,0,32,0,5,0,32,5,5,0,32,10,5,0,32,15,5,0,32,20,5,0,32,25,5,0,32,30,5,0,32,35,5,0,32,40,5,0,32,45,5,0,32,50,5,0,32,55,5,0,32,60,5,0,32,65,5,0,32,70,5,0,32,75,5,0,32,80,5,0,32,1,0,32,0,85,5,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,98,3,0,32,7,0,0,0,113,0,0,0,102,3,0,0,102,3,0,0,91,0,0,0,1,0,0,0,123,2,0,0,108,111,99,97,108,101,115,0,97,102,0,97,107,0,97,109,0,97,110,0,97,114,0,97,115,0,97,122,0,98,101,0,98,103,0,98,110,0,98,115,0,99,97,0,99,115,0,99,121,0,100,97,0,100,101,0,101,108,0,101,110,0,101,116,0,101,117,0,102,97,0,102,105,0,102,105,108,0,102,114,0,103,97,0,103,108,0,103,115,119,0,103,117,0,104,101,0,104,105,0,104,114,0,104,117,0,104,121,0,105,97,0,105,100,0,105,111,0,105,115,0,105,116,0,106,97,0,107,97,0,107,107,0,107,109,0,107,110,0,107,111,0,107,121,0,108,105,106,0,108,111,0,108,116,0,108,118,0,109,107,0,109,108,0,109,110,0,109,114,0,109,115,0,109,121,0,110,98,0,110,101,0,110,108,0,110,111,0,111,114,0,112,97,0,112,99,109,0,112,108,0,112,115,0,112,116,0,114,111,0,114,117,0,115,99,0,115,99,110,0,115,100,0,115,105,0,115,107,0,115,108,0,115,113,0,115,114,0,115,118,0,116,97,0,116,101,0,116,104,0,116,107,0,116,114,0,117,103,0,117,107,0,117,114,0,117,122,0,118,105,0,121,117,101,0,122,104,0,122,117,0,114,117,108,101,115,0,115,101,116,48,48,0,115,101,116,48,49,0,115,101,116,48,50,0,115,101,116,48,51,0,115,101,116,48,52,0,115,101,116,48,53,0,115,101,116,48,54,0,115,101,116,48,55,0,115,101,116,48,56,0,115,101,116,48,57,0,115,101,116,49,48,0,115,101,116,49,49,0,115,101,116,49,50,0,115,101,116,49,51,0,115,101,116,49,52,0,115,101,116,49,53,0,115,101,116,49,54,0,115,101,116,49,55,0,115,101,116,49,56,0,115,101,116,49,57,0,115,101,116,50,48,0,115,101,116,50,49,0,170,0,0,111,0,110,0,101,0,0,0,102,0,101,0,119,0,0,0,116,0,119,0,111,0,0,0,109,0,97,0,110,0,121,0,0,0,122,0,101,0,114,0,111,0,0,0,111,0,116,0,104,0,101,0,114,0,0,0,115,0,101,0,116,0,48,0,51,0,0,0,115,0,101,0,116,0,48,0,52,0,0,0,115,0,101,0,116,0,48,0,48,0,0,0,115,0,101,0,116,0,48,0,49,0,0,0,115,0,101,0,116,0,48,0,53,0,0,0,115,0,101,0,116,0,48,0,55,0,0,0,115,0,101,0,116,0,49,0,56,0,0,0,115,0,101,0,116,0,49,0,50,0,0,0,115,0,101,0,116,0,49,0,55,0,0,0,115,0,101,0,116,0,49,0,51,0,0,0,115,0,101,0,116,0,49,0,53,0,0,0,115,0,101,0,116,0,48,0,50,0,0,0,115,0,101,0,116,0,48,0,54,0,0,0,115,0,101,0,116,0,48,0,56,0,0,0,115,0,101,0,116,0,48,0,57,0,0,0,115,0,101,0,116,0,49,0,48,0,0,0,115,0,101,0,116,0,49,0,49,0,0,0,115,0,101,0,116,0,49,0,52,0,0,0,115,0,101,0,116,0,49,0,54,0,0,0,115,0,101,0,116,0,49,0,57,0,0,0,115,0,101,0,116,0,50,0,48,0,0,0,115,0,101,0,116,0,50,0,49,0,0,0,91,0,40,0,43,0,46,0,49,0,52,0,55,0,58,0,61,0,64,0,67,0,70,0,73,0,76,0,79,0,82,0,85,0,88,0,91,0,60,1,94,0,97,0,100,0,103,0,106,0,110,0,113,0,116,0,119,0,123,0,126,0,129,0,132,0,135,0,138,0,141,0,144,0,147,0,150,0,153,0,156,0,159,0,162,0,165,0,168,0,171,0,174,0,177,0,181,0,184,0,187,0,190,0,193,0,196,0,199,0,202,0,205,0,208,0,211,0,214,0,217,0,220,0,223,0,226,0,230,0,233,0,236,0,239,0,242,0,245,0,248,0,252,0,255,0,2,1,5,1,8,1,11,1,14,1,120,0,17,1,20,1,23,1,26,1,29,1,32,1,35,1,38,1,41,1,44,1,47,1,51,1,54,1,35,0,59,0,47,0,35,0,155,0,47,0,29,0,65,0,35,0,47,0,71,0,89,0,77,0,149,0,53,0,29,0,29,0,35,0,89,0,35,0,35,0,59,0,35,0,53,0,83,0,143,0,29,0,29,0,47,0,119,0,47,0,71,0,29,0,47,0,35,0,41,0,35,0,53,0,131,0,41,0,95,0,29,0,41,0,47,0,41,0,29,0,29,0,41,0,65,0,113,0,107,0,29,0,29,0,47,0,41,0,41,0,35,0,29,0,29,0,35,0,59,0,53,0,35,0,77,0,47,0,83,0,125,0,65,0,29,0,29,0,59,0,101,0,77,0,137,0,29,0,71,0,35,0,29,0,29,0,29,0,41,0,29,0,29,0,29,0,65,0,35,0,29,0,41,0,41,0,41,0,47,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,23,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,23,0,1,0,3,0,23,0,1,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,23,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,23,0,23,0,3,0,18,0,18,0,23,0,3,0,18,0,1,0,1,0,3,0,18,0,23,0,23,0,3,0,1,0,18,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,23,0,23,0,3,0,23,0,18,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,23,0,23,0,3,0,1,0,9,0,23,0,3,0,1,0,23,0,23,0,3,0,9,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,9,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,5,0,5,0,3,0,1,0,23,0,23,0,3,0,5,0,1,0,5,0,3,0,5,0,5,0,5,0,3,0,5,0,23,0,23,0,3,0,23,0,5,0,5,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,5,0,5,0,3,0,1,0,23,0,23,0,3,0,5,0,1,0,1,0,3,0,5,0,5,0,5,0,3,0,5,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,5,0,5,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,23,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,23,0,23,0,3,0,1,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,5,0,3,0,1,0,9,0,9,0,3,0,1,0,5,0,5,0,3,0,1,0,23,0,23,0,3,0,9,0,1,0,5,0,3,0,9,0,9,0,9,0,3,0,9,0,5,0,5,0,3,0,9,0,23,0,23,0,3,0,5,0,1,0,5,0,3,0,5,0,9,0,9,0,3,0,5,0,5,0,5,0,3,0,5,0,23,0,23,0,3,0,23,0,1,0,5,0,3,0,23,0,9,0,9,0,3,0,23,0,5,0,5,0,3,0,23,0,23,0,23,0,3,0,1,0,5,0,5,0,3,0,1,0,13,0,13,0,3,0,1,0,23,0,23,0,3,0,5,0,5,0,5,0,3,0,5,0,13,0,13,0,3,0,5,0,23,0,23,0,3,0,13,0,1,0,1,0,3,0,13,0,5,0,5,0,3,0,13,0,13,0,13,0,3,0,13,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,5,0,5,0,3,0,23,0,13,0,13,0,3,0,23,0,23,0,23,0,3,0,1,0,1,0,1,0,3,0,1,0,5,0,5,0,3,0,1,0,13,0,13,0,3,0,1,0,23,0,23,0,3,0,5,0,1,0,1,0,3,0,5,0,5,0,5,0,3,0,5,0,13,0,13,0,3,0,5,0,23,0,23,0,3,0,13,0,1,0,1,0,3,0,13,0,5,0,5,0,3,0,13,0,13,0,13,0,3,0,13,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,5,0,5,0,3,0,23,0,13,0,13,0,3,0,23,0,23,0,23,0,3,0,1,0,9,0,9,0,3,0,1,0,5,0,5,0,3,0,1,0,13,0,13,0,3,0,1,0,23,0,23,0,3,0,9,0,5,0,5,0,3,0,9,0,13,0,13,0,3,0,9,0,23,0,23,0,3,0,5,0,5,0,5,0,3,0,5,0,13,0,13,0,3,0,5,0,23,0,23,0,3,0,13,0,13,0,13,0,3,0,13,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,9,0,9,0,3,0,23,0,5,0,5,0,3,0,23,0,13,0,13,0,3,0,23,0,23,0,23,0,3,0,18,0,1,0,1,0,3,0,18,0,9,0,9,0,3,0,18,0,5,0,5,0,3,0,18,0,13,0,13,0,3,0,18,0,23,0,23,0,3,0,1,0,9,0,9,0,3,0,1,0,5,0,5,0,3,0,1,0,13,0,13,0,3,0,1,0,23,0,23,0,3,0,9,0,5,0,5,0,3,0,9,0,13,0,13,0,3,0,9,0,23,0,23,0,3,0,5,0,13,0,13,0,3,0,5,0,23,0,23,0,3,0,13,0,23,0,23,0,3,0,23,0,1,0,1,0,3,0,23,0,9,0,9,0,3,0,23,0,5,0,5,0,3,0,23,0,13,0,13,0,3,0,23,0,23,0,23,0,3,0,18,0,1,0,18,0,3,0,18,0,9,0,18,0,3,0,18,0,5,0,5,0,3,0,18,0,13,0,13,0,3,0,18,0,23,0,23,0,3,0,1,0,9,0,23,0,3,0,1,0,5,0,5,0,3,0,1,0,13,0,13,0,3,0,1,0,23,0,23,0,3,0,9,0,5,0,5,0,3,0,9,0,13,0,13,0,3,0,9,0,23,0,23,0,3,0,5,0,5,0,5,0,3,0,5,0,13,0,13,0,3,0,5,0,23,0,23,0,3,0,13,0,5,0,5,0,3,0,13,0,13,0,13,0,3,0,13,0,23,0,23,0,3,0,23,0,1,0,23,0,3,0,23,0,9,0,23,0,3,0,23,0,5,0,5,0,3,0,23,0,13,0,13,0,3,0,23,0,23,0,23,0,1,0,0,0,88,1,0,144,3,0,0,0,92,1,0,144,96,1,0,144,100,1,0,144,3,0,0,0,104,1,0,144,108,1,0,144,112,1,0,144,3,0,0,0,116,1,0,144,120,1,0,144,124,1,0,144,3,0,0,0,128,1,0,144,132,1,0,144,136,1,0,144,4,0,0,0,140,1,0,144,144,1,0,144,148,1,0,144,152,1,0,144,4,0,0,0,156,1,0,144,160,1,0,144,164,1,0,144,168,1,0,144,4,0,0,0,172,1,0,144,176,1,0,144,180,1,0,144,184,1,0,144,4,0,0,0,188,1,0,144,192,1,0,144,196,1,0,144,200,1,0,144,9,0,0,0,204,1,0,144,208,1,0,144,212,1,0,144,216,1,0,144,220,1,0,144,224,1,0,144,228,1,0,144,232,1,0,144,236,1,0,144,6,0,0,0,240,1,0,144,244,1,0,144,248,1,0,144,252,1,0,144,0,2,0,144,4,2,0,144,7,0,0,0,8,2,0,144,12,2,0,144,16,2,0,144,20,2,0,144,24,2,0,144,28,2,0,144,32,2,0,144,9,0,0,0,36,2,0,144,40,2,0,144,44,2,0,144,48,2,0,144,52,2,0,144,56,2,0,144,60,2,0,144,64,2,0,144,68,2,0,144,3,0,0,0,72,2,0,144,76,2,0,144,80,2,0,144,3,0,0,0,84,2,0,144,88,2,0,144,92,2,0,144,3,0,0,0,96,2,0,144,100,2,0,144,104,2,0,144,16,0,0,0,108,2,0,144,112,2,0,144,116,2,0,144,120,2,0,144,124,2,0,144,128,2,0,144,132,2,0,144,136,2,0,144,140,2,0,144,144,2,0,144,148,2,0,144,152,2,0,144,156,2,0,144,160,2,0,144,164,2,0,144,168,2,0,144,14,0,0,0,172,2,0,144,176,2,0,144,180,2,0,144,184,2,0,144,188,2,0,144,192,2,0,144,196,2,0,144,200,2,0,144,204,2,0,144,208,2,0,144,212,2,0,144,216,2,0,144,220,2,0,144,224,2,0,144,16,0,0,0,228,2,0,144,232,2,0,144,236,2,0,144,240,2,0,144,244,2,0,144,248,2,0,144,252,2,0,144,0,3,0,144,4,3,0,144,8,3,0,144,12,3,0,144,16,3,0,144,20,3,0,144,24,3,0,144,28,3,0,144,32,3,0,144,17,0,0,0,36,3,0,144,40,3,0,144,44,3,0,144,48,3,0,144,52,3,0,144,56,3,0,144,60,3,0,144,64,3,0,144,68,3,0,144,72,3,0,144,76,3,0,144,80,3,0,144,84,3,0,144,88,3,0,144,92,3,0,144,96,3,0,144,100,3,0,144,20,0,0,0,104,3,0,144,108,3,0,144,112,3,0,144,116,3,0,144,120,3,0,144,124,3,0,144,128,3,0,144,132,3,0,144,136,3,0,144,140,3,0,144,144,3,0,144,148,3,0,144,152,3,0,144,156,3,0,144,160,3,0,144,164,3,0,144,168,3,0,144,172,3,0,144,176,3,0,144,180,3,0,144,23,0,0,0,184,3,0,144,188,3,0,144,192,3,0,144,196,3,0,144,200,3,0,144,204,3,0,144,208,3,0,144,212,3,0,144,216,3,0,144,220,3,0,144,224,3,0,144,228,3,0,144,232,3,0,144,236,3,0,144,240,3,0,144,244,3,0,144,248,3,0,144,252,3,0,144,0,4,0,144,4,4,0,144,8,4,0,144,12,4,0,144,16,4,0,144,22,0,63,1,69,1,75,1,81,1,87,1,93,1,99,1,105,1,111,1,117,1,123,1,129,1,135,1,141,1,147,1,153,1,159,1,165,1,171,1,177,1,183,1,189,1,170,170,123,2,0,128,125,2,0,128,129,2,0,128,133,2,0,128,137,2,0,128,141,2,0,128,146,2,0,128,151,2,0,128,156,2,0,128,161,2,0,128,171,2,0,128,178,2,0,128,186,2,0,128,196,2,0,128,200,2,0,128,204,2,0,128,208,2,0,128,225,2,0,128,240,2,0,128,1,3,0,128,19,3,0,128,40,3,0,128,2,0,32,0,57,1,170,170,161,0,0,80,64,3,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,107,34,0,32,7,0,0,0,29,1,0,0,112,34,0,0,112,34,0,0,219,0,0,0,1,0,0,0,12,34,0,0,108,111,99,97,108,101,115,0,97,102,0,97,107,0,97,109,0,97,110,0,97,114,0,97,114,115,0,97,115,97,0,97,115,116,0,97,122,0,98,97,108,0,98,101,0,98,101,109,0,98,101,122,0,98,103,0,98,104,111,0,98,109,0,98,110,0,98,114,0,98,114,120,0,98,115,0,99,97,0,99,101,0,99,101,98,0,99,103,103,0,99,104,114,0,99,107,98,0,99,115,0,99,121,0,100,97,0,100,111,105,0,100,115,98,0,100,118,0,100,122,0,101,101,0,101,108,0,101,110,0,101,116,0,101,117,0,102,97,0,102,102,0,102,105,0,102,105,108,0,102,111,0,102,114,0,102,117,114,0,102,121,0,103,97,0,103,100,0,103,108,0,103,115,119,0,103,117,0,103,117,119,0,103,118,0,104,97,0,104,97,119,0,104,101,0,104,110,106,0,104,115,98,0,104,117,0,104,121,0,105,97,0,105,100,0,105,105,0,105,110,0,105,111,0,105,115,0,105,116,0,105,117,0,105,119,0,106,97,0,106,98,111,0,106,103,111,0,106,105,0,106,109,99,0,106,118,0,106,119,0,107,97,0,107,97,98,0,107,97,106,0,107,99,103,0,107,100,101,0,107,101,97,0,107,107,0,107,107,106,0,107,108,0,107,109,0,107,110,0,107,111,0,107,115,0,107,115,98,0,107,115,104,0,107,117,0,107,119,0,107,121,0,108,97,103,0,108,98,0,108,103,0,108,105,106,0,108,107,116,0,108,110,0,108,111,0,108,116,0,108,118,0,109,97,115,0,109,103,0,109,103,111,0,109,107,0,109,108,0,109,111,0,109,114,0,109,116,0,109,121,0,110,97,104,0,110,97,113,0,110,98,0,110,100,0,110,108,0,110,110,0,110,110,104,0,110,111,0,110,113,111,0,110,114,0,110,115,111,0,110,121,110,0,111,109,0,111,114,0,111,115,0,111,115,97,0,112,97,0,112,97,112,0,112,99,109,0,112,108,0,112,114,103,0,112,115,0,112,116,0,112,116,95,80,84,0,114,109,0,114,111,102,0,114,111,111,116,0,114,117,0,114,119,107,0,115,97,104,0,115,97,113,0,115,97,116,0,115,99,0,115,99,110,0,115,100,0,115,100,104,0,115,101,0,115,101,104,0,115,101,115,0,115,103,0,115,104,105,0,115,105,0,115,107,0,115,108,0,115,109,97,0,115,109,105,0,115,109,106,0,115,109,110,0,115,109,115,0,115,110,0,115,113,0,115,114,0,115,115,0,115,115,121,0,115,117,0,115,118,0,115,121,114,0,116,97,0,116,101,0,116,101,111,0,116,104,0,116,105,0,116,105,103,0,116,107,0,116,108,0,116,110,0,116,111,0,116,112,105,0,116,114,0,116,115,0,116,122,109,0,117,103,0,117,107,0,117,122,0,118,101,0,118,101,99,0,118,105,0,118,111,0,118,117,110,0,119,97,0,119,97,101,0,120,104,0,120,111,103,0,121,105,0,121,111,0,121,117,101,0,122,104,0,122,117,0,108,111,99,97,108,101,115,95,111,114,100,105,110,97,108,115,0,114,117,108,101,115,0,115,101,116,48,0,111,116,104,101,114,0,115,101,116,49,0,111,110,101,0,115,101,116,49,48,0,115,101,116,49,49,0,115,101,116,49,50,0,122,101,114,111,0,115,101,116,49,51,0,115,101,116,49,52,0,115,101,116,49,53,0,116,119,111,0,115,101,116,49,54,0,115,101,116,49,55,0,102,101,119,0,115,101,116,49,56,0,115,101,116,49,57,0,115,101,116,50,0,115,101,116,50,48,0,109,97,110,121,0,115,101,116,50,49,0,115,101,116,50,50,0,115,101,116,50,51,0,115,101,116,50,52,0,115,101,116,50,53,0,115,101,116,50,54,0,115,101,116,50,55,0,115,101,116,50,56,0,115,101,116,50,57,0,115,101,116,51,0,115,101,116,51,48,0,115,101,116,51,49,0,115,101,116,51,50,0,115,101,116,51,51,0,115,101,116,51,52,0,115,101,116,51,53,0,115,101,116,51,54,0,115,101,116,51,55,0,115,101,116,51,56,0,115,101,116,51,57,0,115,101,116,52,0,115,101,116,52,48,0,115,101,116,52,49,0,115,101,116,52,50,0,115,101,116,52,51,0,115,101,116,52,52,0,115,101,116,52,53,0,115,101,116,52,54,0,115,101,116,52,55,0,115,101,116,52,56,0,115,101,116,52,57,0,115,101,116,53,0,115,101,116,53,48,0,115,101,116,53,49,0,115,101,116,53,50,0,115,101,116,53,51,0,115,101,116,53,52,0,115,101,116,53,53,0,115,101,116,53,54,0,115,101,116,53,55,0,115,101,116,53,56,0,115,101,116,53,57,0,115,101,116,54,0,115,101,116,54,48,0,115,101,116,54,49,0,115,101,116,54,50,0,115,101,116,55,0,115,101,116,56,0,115,101,116,57,0,170,170,170,0,0,115,0,101,0,116,0,55,0,0,0,115,0,101,0,116,0,48,0,0,0,115,0,101,0,116,0,51,0,0,0,115,0,101,0,116,0,49,0,0,0,115,0,101,0,116,0,53,0,0,0,115,0,101,0,116,0,50,0,0,0,115,0,101,0,116,0,52,0,0,0,115,0,101,0,116,0,54,0,0,0,115,0,101,0,116,0,56,0,0,0,115,0,101,0,116,0,57,0,0,0,115,0,101,0,116,0,51,0,57,0,0,0,115,0,101,0,116,0,52,0,49,0,0,0,115,0,101,0,116,0,49,0,54,0,0,0,115,0,101,0,116,0,49,0,57,0,0,0,115,0,101,0,116,0,50,0,50,0,0,0,115,0,101,0,116,0,52,0,56,0,0,0,115,0,101,0,116,0,49,0,49,0,0,0,115,0,101,0,116,0,49,0,50,0,0,0,115,0,101,0,116,0,49,0,53,0,0,0,115,0,101,0,116,0,49,0,56,0,0,0,115,0,101,0,116,0,50,0,54,0,0,0,115,0,101,0,116,0,50,0,55,0,0,0,115,0,101,0,116,0,51,0,49,0,0,0,115,0,101,0,116,0,51,0,55,0,0,0,115,0,101,0,116,0,53,0,57,0,0,0,115,0,101,0,116,0,54,0,48,0,0,0,115,0,101,0,116,0,49,0,48,0,0,0,115,0,101,0,116,0,49,0,51,0,0,0,115,0,101,0,116,0,49,0,52,0,0,0,115,0,101,0,116,0,49,0,55,0,0,0,115,0,101,0,116,0,50,0,48,0,0,0,115,0,101,0,116,0,50,0,49,0,0,0,115,0,101,0,116,0,50,0,51,0,0,0,115,0,101,0,116,0,50,0,52,0,0,0,115,0,101,0,116,0,50,0,53,0,0,0,115,0,101,0,116,0,50,0,56,0,0,0,115,0,101,0,116,0,50,0,57,0,0,0,115,0,101,0,116,0,51,0,48,0,0,0,115,0,101,0,116,0,51,0,50,0,0,0,115,0,101,0,116,0,51,0,51,0,0,0,115,0,101,0,116,0,51,0,52,0,0,0,115,0,101,0,116,0,51,0,53,0,0,0,115,0,101,0,116,0,51,0,54,0,0,0,115,0,101,0,116,0,51,0,56,0,0,0,115,0,101,0,116,0,52,0,48,0,0,0,115,0,101,0,116,0,52,0,50,0,0,0,115,0,101,0,116,0,52,0,51,0,0,0,115,0,101,0,116,0,52,0,52,0,0,0,115,0,101,0,116,0,52,0,53,0,0,0,115,0,101,0,116,0,52,0,54,0,0,0,115,0,101,0,116,0,52,0,55,0,0,0,115,0,101,0,116,0,52,0,57,0,0,0,115,0,101,0,116,0,53,0,48,0,0,0,115,0,101,0,116,0,53,0,49,0,0,0,115,0,101,0,116,0,53,0,50,0,0,0,115,0,101,0,116,0,53,0,51,0,0,0,115,0,101,0,116,0,53,0,52,0,0,0,115,0,101,0,116,0,53,0,53,0,0,0,115,0,101,0,116,0,53,0,54,0,0,0,115,0,101,0,116,0,53,0,55,0,0,0,115,0,101,0,116,0,53,0,56,0,0,0,115,0,101,0,116,0,54,0,49,0,0,0,115,0,101,0,116,0,54,0,50,0,0,0,110,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,0,0,110,0,32,0,61,0,32,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,52,0,0,0,110,0,32,0,61,0,32,0,54,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,54,0,0,0,110,0,32,0,61,0,32,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,0,0,105,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,0,0,110,0,32,0,61,0,32,0,50,0,44,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,51,0,0,0,110,0,32,0,61,0,32,0,49,0,44,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,51,0,0,0,110,0,32,0,61,0,32,0,49,0,44,0,53,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,53,0,0,0,110,0,32,0,61,0,32,0,49,0,46,0,46,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,126,0,52,0,0,0,110,0,32,0,61,0,32,0,51,0,44,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,52,0,0,0,110,0,32,0,61,0,32,0,53,0,44,0,54,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,53,0,44,0,32,0,54,0,0,0,110,0,32,0,61,0,32,0,49,0,44,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,49,0,49,0,0,0,110,0,32,0,61,0,32,0,50,0,44,0,49,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,49,0,50,0,0,0,110,0,32,0,61,0,32,0,51,0,44,0,49,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,49,0,51,0,0,0,105,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,0,0,105,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,0,0,110,0,32,0,61,0,32,0,48,0,44,0,55,0,44,0,56,0,44,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,55,0,126,0,57,0,0,0,105,0,32,0,61,0,32,0,50,0,46,0,46,0,52,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,52,0,0,0,110,0,32,0,61,0,32,0,49,0,44,0,53,0,44,0,55,0,46,0,46,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,53,0,44,0,32,0,55,0,126,0,57,0,0,0,110,0,32,0,61,0,32,0,49,0,44,0,53,0,44,0,55,0,44,0,56,0,44,0,57,0,44,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,53,0,44,0,32,0,55,0,126,0,49,0,48,0,0,0,105,0,32,0,61,0,32,0,48,0,44,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,0,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,126,0,49,0,48,0,44,0,32,0,49,0,51,0,126,0,49,0,57,0,44,0,32,0,50,0,51,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,0,0,105,0,32,0,61,0,32,0,48,0,46,0,46,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,0,0,110,0,32,0,61,0,32,0,49,0,49,0,44,0,56,0,44,0,56,0,48,0,44,0,56,0,48,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,56,0,44,0,32,0,49,0,49,0,44,0,32,0,56,0,48,0,44,0,32,0,56,0,48,0,48,0,0,0,46,220,105,0,32,0,61,0,32,0,48,0,44,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,33,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,49,0,46,0,54,0,0,0,50,220,110,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,48,0,0,0,50,220,110,0,32,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,48,0,0,0,50,220,110,0,32,0,61,0,32,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,48,0,0,0,50,220,110,0,32,0,61,0,32,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,48,0,0,0,50,220,110,0,32,0,61,0,32,0,54,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,54,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,54,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,48,0,48,0,0,0,52,220,32,0,32,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,52,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,49,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,52,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,53,0,44,0,32,0,55,0,44,0,32,0,56,0,44,0,32,0,49,0,49,0,126,0,49,0,53,0,44,0,32,0,49,0,55,0,44,0,32,0,49,0,56,0,44,0,32,0,50,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,53,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,48,0,126,0,50,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,53,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,48,0,126,0,51,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,53,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,49,0,126,0,51,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,51,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,52,0,126,0,49,0,56,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,54,0,126,0,50,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,55,220,110,0,32,0,61,0,32,0,49,0,32,0,111,0,114,0,32,0,116,0,32,0,33,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,61,0,32,0,48,0,44,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,49,0,46,0,54,0,0,0,55,220,110,0,32,0,61,0,32,0,49,0,49,0,44,0,56,0,44,0,56,0,48,0,46,0,46,0,56,0,57,0,44,0,56,0,48,0,48,0,46,0,46,0,56,0,57,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,56,0,44,0,32,0,49,0,49,0,44,0,32,0,56,0,48,0,126,0,56,0,57,0,44,0,32,0,56,0,48,0,48,0,126,0,56,0,48,0,51,0,0,0,56,220,105,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,126,0,48,0,46,0,48,0,52,0,0,0,56,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,48,0,126,0,50,0,52,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,56,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,49,0,126,0,50,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,57,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,50,0,44,0,32,0,52,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,58,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,44,0,32,0,52,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,58,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,44,0,32,0,55,0,126,0,50,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,58,220,102,0,32,0,33,0,61,0,32,0,48,0,32,0,32,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,60,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,52,0,44,0,32,0,54,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,60,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,51,0,126,0,54,0,44,0,32,0,57,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,61,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,44,0,32,0,51,0,44,0,32,0,53,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,62,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,52,0,126,0,49,0,48,0,44,0,32,0,49,0,52,0,126,0,50,0,49,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,64,220,105,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,50,0,48,0,44,0,52,0,48,0,44,0,54,0,48,0,44,0,56,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,65,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,55,0,44,0,32,0,57,0,44,0,32,0,49,0,48,0,44,0,32,0,49,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,73,220,32,0,32,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,73,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,49,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,73,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,49,0,50,0,44,0,32,0,50,0,50,0,44,0,32,0,51,0,50,0,44,0,32,0,52,0,50,0,44,0,32,0,53,0,50,0,44,0,32,0,54,0,50,0,44,0,32,0,55,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,74,220,105,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,105,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,33,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,48,0,46,0,48,0,48,0,126,0,48,0,46,0,48,0,53,0,0,0,75,220,110,0,32,0,61,0,32,0,53,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,53,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,53,0,44,0,32,0,49,0,48,0,53,0,44,0,32,0,50,0,48,0,53,0,44,0,32,0,51,0,48,0,53,0,44,0,32,0,52,0,48,0,53,0,44,0,32,0,53,0,48,0,53,0,44,0,32,0,54,0,48,0,53,0,44,0,32,0,55,0,48,0,53,0,44,0,32,0,49,0,48,0,48,0,53,0,44,0,32,0,38,32,0,0,76,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,53,0,44,0,32,0,55,0,44,0,32,0,56,0,44,0,32,0,49,0,49,0,126,0,49,0,53,0,44,0,32,0,49,0,55,0,44,0,32,0,49,0,56,0,44,0,32,0,50,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,76,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,50,0,48,0,49,0,44,0,32,0,51,0,48,0,49,0,44,0,32,0,52,0,48,0,49,0,44,0,32,0,53,0,48,0,49,0,44,0,32,0,54,0,48,0,49,0,44,0,32,0,55,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,76,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,50,0,48,0,50,0,44,0,32,0,51,0,48,0,50,0,44,0,32,0,52,0,48,0,50,0,44,0,32,0,53,0,48,0,50,0,44,0,32,0,54,0,48,0,50,0,44,0,32,0,55,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,78,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,54,0,44,0,57,0,32,0,111,0,114,0,32,0,110,0,32,0,61,0,32,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,54,0,44,0,32,0,57,0,44,0,32,0,49,0,48,0,44,0,32,0,49,0,54,0,44,0,32,0,49,0,57,0,44,0,32,0,50,0,54,0,44,0,32,0,50,0,57,0,44,0,32,0,51,0,54,0,44,0,32,0,51,0,57,0,44,0,32,0,49,0,48,0,54,0,44,0,32,0,49,0,48,0,48,0,54,0,44,0,32,0,38,32,0,0,78,220,110,0,32,0,61,0,32,0,49,0,44,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,49,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,48,0,0,0,78,220,110,0,32,0,61,0,32,0,50,0,44,0,49,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,49,0,50,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,48,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,48,0,0,0,79,220,118,0,32,0,33,0,61,0,32,0,48,0,32,0,32,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,81,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,51,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,50,0,51,0,44,0,32,0,51,0,51,0,44,0,32,0,52,0,51,0,44,0,32,0,53,0,51,0,44,0,32,0,54,0,51,0,44,0,32,0,55,0,51,0,44,0,32,0,56,0,51,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,0,0,81,220,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,81,220,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,50,0,50,0,44,0,32,0,51,0,50,0,44,0,32,0,52,0,50,0,44,0,32,0,53,0,50,0,44,0,32,0,54,0,50,0,44,0,32,0,55,0,50,0,44,0,32,0,56,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,81,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,81,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,50,0,50,0,44,0,32,0,51,0,50,0,44,0,32,0,52,0,50,0,44,0,32,0,53,0,50,0,44,0,32,0,54,0,50,0,44,0,32,0,55,0,50,0,44,0,32,0,56,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,81,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,52,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,52,0,44,0,32,0,50,0,52,0,44,0,32,0,51,0,52,0,44,0,32,0,52,0,52,0,44,0,32,0,53,0,52,0,44,0,32,0,54,0,52,0,44,0,32,0,55,0,52,0,44,0,32,0,56,0,52,0,44,0,32,0,49,0,48,0,52,0,44,0,32,0,49,0,48,0,48,0,52,0,44,0,32,0,38,32,0,0,82,220,110,0,32,0,61,0,32,0,48,0,46,0,46,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,48,0,0,0,84,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,57,0,44,0,32,0,50,0,50,0,126,0,50,0,57,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,50,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,50,0,126,0,49,0,46,0,57,0,44,0,32,0,49,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,50,0,44,0,32,0,38,32,0,0,85,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,57,0,44,0,32,0,49,0,48,0,44,0,32,0,49,0,57,0,44,0,32,0,50,0,57,0,44,0,32,0,51,0,48,0,44,0,32,0,51,0,57,0,44,0,32,0,52,0,57,0,44,0,32,0,53,0,57,0,44,0,32,0,54,0,57,0,44,0,32,0,55,0,57,0,44,0,32,0,49,0,48,0,57,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,91,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,93,220,105,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,54,0,32,0,111,0,114,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,52,0,48,0,44,0,54,0,48,0,44,0,57,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,54,0,44,0,32,0,49,0,54,0,44,0,32,0,50,0,54,0,44,0,32,0,51,0,54,0,44,0,32,0,52,0,48,0,44,0,32,0,52,0,54,0,44,0,32,0,53,0,54,0,44,0,32,0,49,0,48,0,54,0,44,0,32,0,49,0,48,0,48,0,54,0,44,0,32,0,38,32,0,0,98,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,52,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,52,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,102,220,110,0,32,0,61,0,32,0,49,0,46,0,46,0,52,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,46,0,46,0,52,0,44,0,50,0,49,0,46,0,46,0,50,0,52,0,44,0,52,0,49,0,46,0,46,0,52,0,52,0,44,0,54,0,49,0,46,0,46,0,54,0,52,0,44,0,56,0,49,0,46,0,46,0,56,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,126,0,52,0,44,0,32,0,50,0,49,0,126,0,50,0,52,0,44,0,32,0,52,0,49,0,126,0,52,0,52,0,44,0,32,0,54,0,49,0,126,0,54,0,52,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,104,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,52,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,52,0,44,0,32,0,50,0,50,0,126,0,50,0,52,0,44,0,32,0,51,0,50,0,126,0,51,0,52,0,44,0,32,0,52,0,50,0,126,0,52,0,52,0,44,0,32,0,53,0,50,0,126,0,53,0,52,0,44,0,32,0,54,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,107,220,110,0,32,0,33,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,32,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,108,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,48,0,44,0,50,0,48,0,44,0,52,0,48,0,44,0,54,0,48,0,44,0,56,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,48,0,44,0,32,0,52,0,48,0,44,0,32,0,54,0,48,0,44,0,32,0,56,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,50,0,48,0,44,0,32,0,49,0,52,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,111,220,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,44,0,50,0,44,0,53,0,44,0,55,0,44,0,56,0,32,0,111,0,114,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,48,0,44,0,53,0,48,0,44,0,55,0,48,0,44,0,56,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,44,0,32,0,53,0,44,0,32,0,55,0,44,0,32,0,56,0,44,0,32,0,49,0,49,0,44,0,32,0,49,0,50,0,44,0,32,0,49,0,53,0,44,0,32,0,49,0,55,0,44,0,32,0,49,0,56,0,44,0,32,0,50,0,48,0,126,0,50,0,50,0,44,0,32,0,50,0,53,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,114,220,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,126,0,49,0,48,0,44,0,32,0,49,0,48,0,51,0,126,0,49,0,49,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,46,0,48,0,44,0,32,0,38,32,0,0,117,220,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,55,0,44,0,56,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,55,0,44,0,49,0,56,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,55,0,44,0,32,0,56,0,44,0,32,0,50,0,55,0,44,0,32,0,50,0,56,0,44,0,32,0,51,0,55,0,44,0,32,0,51,0,56,0,44,0,32,0,52,0,55,0,44,0,32,0,52,0,56,0,44,0,32,0,53,0,55,0,44,0,32,0,53,0,56,0,44,0,32,0,54,0,55,0,44,0,32,0,54,0,56,0,44,0,32,0,55,0,55,0,44,0,32,0,55,0,56,0,44,0,32,0,56,0,55,0,44,0,32,0,56,0,56,0,44,0,32,0,49,0,48,0,55,0,44,0,32,0,49,0,48,0,48,0,55,0,44,0,32,0,38,32,0,0,117,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,44,0,50,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,44,0,49,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,44,0,32,0,50,0,49,0,44,0,32,0,50,0,50,0,44,0,32,0,51,0,49,0,44,0,32,0,51,0,50,0,44,0,32,0,52,0,49,0,44,0,32,0,52,0,50,0,44,0,32,0,53,0,49,0,44,0,32,0,53,0,50,0,44,0,32,0,54,0,49,0,44,0,32,0,54,0,50,0,44,0,32,0,55,0,49,0,44,0,32,0,55,0,50,0,44,0,32,0,56,0,49,0,44,0,32,0,56,0,50,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,0,0,117,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,44,0,51,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,44,0,49,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,51,0,44,0,32,0,50,0,50,0,44,0,32,0,50,0,51,0,44,0,32,0,51,0,50,0,44,0,32,0,51,0,51,0,44,0,32,0,52,0,50,0,44,0,32,0,52,0,51,0,44,0,32,0,53,0,50,0,44,0,32,0,53,0,51,0,44,0,32,0,54,0,50,0,44,0,32,0,54,0,51,0,44,0,32,0,55,0,50,0,44,0,32,0,55,0,51,0,44,0,32,0,56,0,50,0,44,0,32,0,56,0,51,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,0,0,119,220,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,57,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,49,0,126,0,50,0,54,0,44,0,32,0,49,0,49,0,49,0,44,0,32,0,49,0,48,0,49,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,55,0,46,0,48,0,44,0,32,0,49,0,56,0,46,0,48,0,44,0,32,0,49,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,119,220,110,0,32,0,61,0,32,0,50,0,46,0,46,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,48,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,50,0,46,0,48,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,44,0,32,0,52,0,46,0,48,0,48,0,44,0,32,0,53,0,46,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,44,0,32,0,55,0,46,0,48,0,48,0,44,0,32,0,56,0,46,0,48,0,48,0,0,0,121,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,56,0,44,0,32,0,49,0,48,0,126,0,50,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,123,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,126,0,51,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,123,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,49,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,123,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,49,0,126,0,50,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,123,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,52,0,44,0,32,0,54,0,44,0,32,0,57,0,44,0,32,0,49,0,52,0,44,0,32,0,49,0,54,0,44,0,32,0,49,0,57,0,44,0,32,0,50,0,52,0,44,0,32,0,50,0,54,0,44,0,32,0,49,0,48,0,52,0,44,0,32,0,49,0,48,0,48,0,52,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,52,0,44,0,32,0,48,0,46,0,54,0,44,0,32,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,52,0,44,0,32,0,49,0,46,0,54,0,44,0,32,0,49,0,46,0,57,0,44,0,32,0,50,0,46,0,52,0,44,0,32,0,50,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,52,0,44,0,32,0,49,0,48,0,48,0,46,0,52,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,52,0,44,0,32,0,38,32,0,0,123,220,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,49,0,126,0,49,0,57,0,44,0,32,0,49,0,49,0,49,0,126,0,49,0,49,0,55,0,44,0,32,0,49,0,48,0,49,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,55,0,46,0,48,0,44,0,32,0,49,0,56,0,46,0,48,0,44,0,32,0,49,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,126,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,126,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,51,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,126,0,50,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,126,220,110,0,32,0,61,0,32,0,48,0,44,0,49,0,32,0,111,0,114,0,32,0,105,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,48,0,46,0,49,0,44,0,32,0,49,0,46,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,49,0,44,0,32,0,49,0,46,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,49,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,48,0,46,0,48,0,48,0,48,0,49,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,48,0,0,0,131,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,50,0,46,0,48,0,126,0,51,0,46,0,52,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,131,220,110,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,51,0,126,0,49,0,48,0,44,0,32,0,49,0,48,0,51,0,126,0,49,0,48,0,57,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,46,0,48,0,44,0,32,0,38,32,0,0,132,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,132,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,50,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,56,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,132,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,53,0,46,0,46,0,57,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,133,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,49,0,126,0,50,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,57,0,44,0,32,0,50,0,46,0,49,0,126,0,50,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,133,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,48,0,126,0,51,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,133,220,110,0,32,0,61,0,32,0,51,0,46,0,46,0,54,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,126,0,54,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,44,0,32,0,52,0,46,0,48,0,48,0,44,0,32,0,53,0,46,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,44,0,32,0,52,0,46,0,48,0,48,0,48,0,44,0,32,0,53,0,46,0,48,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,52,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,53,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,54,0,46,0,48,0,48,0,48,0,48,0,0,0,134,220,110,0,32,0,61,0,32,0,51,0,46,0,46,0,49,0,48,0,44,0,49,0,51,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,126,0,49,0,48,0,44,0,32,0,49,0,51,0,126,0,49,0,57,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,55,0,46,0,48,0,44,0,32,0,49,0,56,0,46,0,48,0,44,0,32,0,49,0,57,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,48,0,0,0,135,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,135,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,51,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,136,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,49,0,126,0,50,0,53,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,136,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,48,0,126,0,51,0,52,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,136,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,48,0,44,0,32,0,49,0,48,0,48,0,126,0,49,0,48,0,54,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,138,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,52,0,44,0,32,0,53,0,44,0,32,0,55,0,126,0,50,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,139,220,110,0,32,0,61,0,32,0,55,0,46,0,46,0,49,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,55,0,126,0,49,0,48,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,48,0,44,0,32,0,56,0,46,0,48,0,48,0,44,0,32,0,57,0,46,0,48,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,48,0,44,0,32,0,55,0,46,0,48,0,48,0,48,0,44,0,32,0,56,0,46,0,48,0,48,0,48,0,44,0,32,0,57,0,46,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,48,0,48,0,44,0,32,0,55,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,56,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,57,0,46,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,48,0,48,0,48,0,0,0,140,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,48,0,46,0,50,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,50,0,126,0,49,0,46,0,56,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,140,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,48,0,46,0,50,0,126,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,50,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,141,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,57,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,57,0,44,0,32,0,50,0,50,0,126,0,50,0,57,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,50,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,50,0,46,0,48,0,44,0,32,0,38,32,0,0,141,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,54,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,57,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,33,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,54,0,44,0,32,0,57,0,44,0,32,0,49,0,48,0,44,0,32,0,49,0,54,0,44,0,32,0,49,0,57,0,44,0,32,0,50,0,48,0,44,0,32,0,50,0,54,0,44,0,32,0,50,0,57,0,44,0,32,0,51,0,48,0,44,0,32,0,51,0,54,0,44,0,32,0,51,0,57,0,44,0,32,0,52,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,143,220,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,44,0,50,0,51,0,44,0,52,0,51,0,44,0,54,0,51,0,44,0,56,0,51,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,50,0,51,0,44,0,32,0,52,0,51,0,44,0,32,0,54,0,51,0,44,0,32,0,56,0,51,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,50,0,51,0,44,0,32,0,49,0,52,0,51,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,50,0,51,0,46,0,48,0,44,0,32,0,52,0,51,0,46,0,48,0,44,0,32,0,54,0,51,0,46,0,48,0,44,0,32,0,56,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,51,0,46,0,48,0,44,0,32,0,49,0,50,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,46,0,48,0,44,0,32,0,38,32,0,0,145,220,110,0,32,0,61,0,32,0,48,0,46,0,46,0,49,0,32,0,111,0,114,0,32,0,110,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,57,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,44,0,32,0,49,0,49,0,126,0,50,0,52,0,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,55,0,46,0,48,0,44,0,32,0,49,0,56,0,46,0,48,0,44,0,32,0,49,0,57,0,46,0,48,0,44,0,32,0,50,0,48,0,46,0,48,0,44,0,32,0,50,0,49,0,46,0,48,0,44,0,32,0,50,0,50,0,46,0,48,0,44,0,32,0,50,0,51,0,46,0,48,0,44,0,32,0,50,0,52,0,46,0,48,0,0,0,146,220,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,51,0,44,0,52,0,32,0,111,0,114,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,32,0,61,0,32,0,49,0,48,0,48,0,44,0,50,0,48,0,48,0,44,0,51,0,48,0,48,0,44,0,52,0,48,0,48,0,44,0,53,0,48,0,48,0,44,0,54,0,48,0,48,0,44,0,55,0,48,0,48,0,44,0,56,0,48,0,48,0,44,0,57,0,48,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,52,0,44,0,32,0,49,0,51,0,44,0,32,0,49,0,52,0,44,0,32,0,50,0,51,0,44,0,32,0,50,0,52,0,44,0,32,0,51,0,51,0,44,0,32,0,51,0,52,0,44,0,32,0,52,0,51,0,44,0,32,0,52,0,52,0,44,0,32,0,53,0,51,0,44,0,32,0,53,0,52,0,44,0,32,0,54,0,51,0,44,0,32,0,54,0,52,0,44,0,32,0,55,0,51,0,44,0,32,0,55,0,52,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,0,0,146,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,33,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,48,0,46,0,46,0,49,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,53,0,46,0,46,0,57,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,50,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,0,0,147,220,118,0,32,0,33,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,33,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,149,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,48,0,46,0,53,0,126,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,53,0,126,0,50,0,46,0,48,0,44,0,32,0,50,0,46,0,53,0,126,0,50,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,150,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,44,0,55,0,49,0,44,0,57,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,44,0,32,0,50,0,49,0,46,0,48,0,44,0,32,0,51,0,49,0,46,0,48,0,44,0,32,0,52,0,49,0,46,0,48,0,44,0,32,0,53,0,49,0,46,0,48,0,44,0,32,0,54,0,49,0,46,0,48,0,44,0,32,0,56,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,150,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,44,0,55,0,50,0,44,0,57,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,50,0,50,0,44,0,32,0,51,0,50,0,44,0,32,0,52,0,50,0,44,0,32,0,53,0,50,0,44,0,32,0,54,0,50,0,44,0,32,0,56,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,50,0,50,0,46,0,48,0,44,0,32,0,51,0,50,0,46,0,48,0,44,0,32,0,52,0,50,0,46,0,48,0,44,0,32,0,53,0,50,0,46,0,48,0,44,0,32,0,54,0,50,0,46,0,48,0,44,0,32,0,56,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,50,0,46,0,48,0,44,0,32,0,38,32,0,0,154,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,44,0,32,0,50,0,49,0,46,0,48,0,44,0,32,0,51,0,49,0,46,0,48,0,44,0,32,0,52,0,49,0,46,0,48,0,44,0,32,0,53,0,49,0,46,0,48,0,44,0,32,0,54,0,49,0,46,0,48,0,44,0,32,0,55,0,49,0,46,0,48,0,44,0,32,0,56,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,158,220,110,0,32,0,33,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,44,0,50,0,49,0,44,0,52,0,49,0,44,0,54,0,49,0,44,0,56,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,50,0,49,0,44,0,32,0,49,0,52,0,49,0,44,0,32,0,49,0,54,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,49,0,46,0,48,0,44,0,32,0,52,0,49,0,46,0,48,0,44,0,32,0,54,0,49,0,46,0,48,0,44,0,32,0,56,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,49,0,46,0,48,0,44,0,32,0,49,0,52,0,49,0,46,0,48,0,44,0,32,0,49,0,54,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,158,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,44,0,32,0,50,0,49,0,46,0,48,0,44,0,32,0,51,0,49,0,46,0,48,0,44,0,32,0,52,0,49,0,46,0,48,0,44,0,32,0,53,0,49,0,46,0,48,0,44,0,32,0,54,0,49,0,46,0,48,0,44,0,32,0,55,0,49,0,46,0,48,0,44,0,32,0,56,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,49,0,46,0,48,0,44,0,32,0,38,32,0,0,163,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,32,0,111,0,114,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,50,0,48,0,49,0,44,0,32,0,51,0,48,0,49,0,44,0,32,0,52,0,48,0,49,0,44,0,32,0,53,0,48,0,49,0,44,0,32,0,54,0,48,0,49,0,44,0,32,0,55,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,44,0,32,0,49,0,46,0,49,0,44,0,32,0,50,0,46,0,49,0,44,0,32,0,51,0,46,0,49,0,44,0,32,0,52,0,46,0,49,0,44,0,32,0,53,0,46,0,49,0,44,0,32,0,54,0,46,0,49,0,44,0,32,0,55,0,46,0,49,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,163,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,32,0,111,0,114,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,50,0,48,0,50,0,44,0,32,0,51,0,48,0,50,0,44,0,32,0,52,0,48,0,50,0,44,0,32,0,53,0,48,0,50,0,44,0,32,0,54,0,48,0,50,0,44,0,32,0,55,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,50,0,44,0,32,0,49,0,46,0,50,0,44,0,32,0,50,0,46,0,50,0,44,0,32,0,51,0,46,0,50,0,44,0,32,0,52,0,46,0,50,0,44,0,32,0,53,0,46,0,50,0,44,0,32,0,54,0,46,0,50,0,44,0,32,0,55,0,46,0,50,0,44,0,32,0,49,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,50,0,44,0,32,0,38,32,0,0,165,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,52,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,52,0,44,0,32,0,50,0,50,0,126,0,50,0,52,0,44,0,32,0,51,0,50,0,126,0,51,0,52,0,44,0,32,0,52,0,50,0,126,0,52,0,52,0,44,0,32,0,53,0,50,0,126,0,53,0,52,0,44,0,32,0,54,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,50,0,50,0,46,0,48,0,44,0,32,0,50,0,51,0,46,0,48,0,44,0,32,0,50,0,52,0,46,0,48,0,44,0,32,0,51,0,50,0,46,0,48,0,44,0,32,0,51,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,50,0,46,0,48,0,44,0,32,0,38,32,0,0,171,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,48,0,48,0,126,0,49,0,48,0,50,0,44,0,32,0,50,0,48,0,48,0,126,0,50,0,48,0,50,0,44,0,32,0,51,0,48,0,48,0,126,0,51,0,48,0,50,0,44,0,32,0,52,0,48,0,48,0,126,0,52,0,48,0,50,0,44,0,32,0,53,0,48,0,48,0,126,0,53,0,48,0,50,0,44,0,32,0,54,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,55,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,175,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,48,0,126,0,50,0,48,0,44,0,32,0,51,0,48,0,44,0,32,0,52,0,48,0,44,0,32,0,53,0,48,0,44,0,32,0,54,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,180,220,101,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,33,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,101,0,32,0,33,0,61,0,32,0,48,0,46,0,46,0,53,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,99,0,54,0,44,0,32,0,50,0,99,0,54,0,44,0,32,0,51,0,99,0,54,0,44,0,32,0,52,0,99,0,54,0,44,0,32,0,53,0,99,0,54,0,44,0,32,0,54,0,99,0,54,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,49,0,46,0,48,0,48,0,48,0,48,0,48,0,48,0,49,0,99,0,54,0,44,0,32,0,49,0,46,0,49,0,99,0,54,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,48,0,48,0,48,0,49,0,99,0,54,0,44,0,32,0,50,0,46,0,49,0,99,0,54,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,48,0,48,0,48,0,49,0,99,0,54,0,44,0,32,0,51,0,46,0,49,0,99,0,54,0,44,0,32,0,38,32,0,0,189,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,52,0,44,0,57,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,48,0,46,0,46,0,49,0,57,0,44,0,55,0,48,0,46,0,46,0,55,0,57,0,44,0,57,0,48,0,46,0,46,0,57,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,52,0,44,0,32,0,57,0,44,0,32,0,50,0,51,0,44,0,32,0,50,0,52,0,44,0,32,0,50,0,57,0,44,0,32,0,51,0,51,0,44,0,32,0,51,0,52,0,44,0,32,0,51,0,57,0,44,0,32,0,52,0,51,0,44,0,32,0,52,0,52,0,44,0,32,0,52,0,57,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,51,0,46,0,48,0,44,0,32,0,52,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,50,0,51,0,46,0,48,0,44,0,32,0,50,0,52,0,46,0,48,0,44,0,32,0,50,0,57,0,46,0,48,0,44,0,32,0,51,0,51,0,46,0,48,0,44,0,32,0,51,0,52,0,46,0,48,0,44,0,32,0,49,0,48,0,51,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,51,0,46,0,48,0,44,0,32,0,38,32,0,0,195,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,49,0,55,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,99,0,51,0,44,0,32,0,50,0,99,0,51,0,44,0,32,0,51,0,99,0,51,0,44,0,32,0,52,0,99,0,51,0,44,0,32,0,53,0,99,0,51,0,44,0,32,0,54,0,99,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,126,0,51,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,49,0,46,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,49,0,99,0,51,0,44,0,32,0,38,32,0,0,195,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,111,0,114,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,44,0,32,0,49,0,46,0,49,0,44,0,32,0,50,0,46,0,49,0,44,0,32,0,51,0,46,0,49,0,44,0,32,0,52,0,46,0,49,0,44,0,32,0,53,0,46,0,49,0,44,0,32,0,54,0,46,0,49,0,44,0,32,0,55,0,46,0,49,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,198,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,99,0,51,0,44,0,32,0,50,0,99,0,51,0,44,0,32,0,51,0,99,0,51,0,44,0,32,0,52,0,99,0,51,0,44,0,32,0,53,0,99,0,51,0,44,0,32,0,54,0,99,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,49,0,46,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,49,0,99,0,51,0,44,0,32,0,38,32,0,0,198,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,52,0,32,0,111,0,114,0,32,0,118,0,32,0,33,0,61,0,32,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,52,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,48,0,52,0,44,0,32,0,50,0,48,0,51,0,44,0,32,0,50,0,48,0,52,0,44,0,32,0,51,0,48,0,51,0,44,0,32,0,51,0,48,0,52,0,44,0,32,0,52,0,48,0,51,0,44,0,32,0,52,0,48,0,52,0,44,0,32,0,53,0,48,0,51,0,44,0,32,0,53,0,48,0,52,0,44,0,32,0,54,0,48,0,51,0,44,0,32,0,54,0,48,0,52,0,44,0,32,0,55,0,48,0,51,0,44,0,32,0,55,0,48,0,52,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,49,0,46,0,53,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,200,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,53,0,46,0,46,0,57,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,53,0,126,0,49,0,57,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,53,0,46,0,48,0,44,0,32,0,54,0,46,0,48,0,44,0,32,0,55,0,46,0,48,0,44,0,32,0,56,0,46,0,48,0,44,0,32,0,57,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,200,220,116,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,111,0,114,0,32,0,116,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,116,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,44,0,32,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,49,0,44,0,32,0,50,0,46,0,49,0,44,0,32,0,51,0,46,0,49,0,44,0,32,0,52,0,46,0,49,0,44,0,32,0,53,0,46,0,49,0,44,0,32,0,54,0,46,0,49,0,44,0,32,0,55,0,46,0,49,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,207,220,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,50,0,126,0,49,0,54,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,99,0,51,0,44,0,32,0,50,0,99,0,51,0,44,0,32,0,51,0,99,0,51,0,44,0,32,0,52,0,99,0,51,0,44,0,32,0,53,0,99,0,51,0,44,0,32,0,54,0,99,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,57,0,44,0,32,0,49,0,46,0,49,0,126,0,49,0,46,0,54,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,49,0,46,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,50,0,46,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,48,0,48,0,48,0,49,0,99,0,51,0,44,0,32,0,51,0,46,0,49,0,99,0,51,0,44,0,32,0,38,32,0,0,225,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,49,0,32,0,111,0,114,0,32,0,118,0,32,0,33,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,49,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,49,0,44,0,32,0,50,0,49,0,44,0,32,0,51,0,49,0,44,0,32,0,52,0,49,0,44,0,32,0,53,0,49,0,44,0,32,0,54,0,49,0,44,0,32,0,55,0,49,0,44,0,32,0,56,0,49,0,44,0,32,0,49,0,48,0,49,0,44,0,32,0,49,0,48,0,48,0,49,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,49,0,44,0,32,0,49,0,46,0,48,0,44,0,32,0,49,0,46,0,49,0,44,0,32,0,50,0,46,0,49,0,44,0,32,0,51,0,46,0,49,0,44,0,32,0,52,0,46,0,49,0,44,0,32,0,53,0,46,0,49,0,44,0,32,0,54,0,46,0,49,0,44,0,32,0,55,0,46,0,49,0,44,0,32,0,49,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,46,0,49,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,49,0,44,0,32,0,38,32,0,0,225,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,52,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,46,0,46,0,49,0,52,0,32,0,111,0,114,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,50,0,46,0,46,0,52,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,33,0,61,0,32,0,49,0,50,0,46,0,46,0,49,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,126,0,52,0,44,0,32,0,50,0,50,0,126,0,50,0,52,0,44,0,32,0,51,0,50,0,126,0,51,0,52,0,44,0,32,0,52,0,50,0,126,0,52,0,52,0,44,0,32,0,53,0,50,0,126,0,53,0,52,0,44,0,32,0,54,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,48,0,48,0,50,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,50,0,126,0,48,0,46,0,52,0,44,0,32,0,49,0,46,0,50,0,126,0,49,0,46,0,52,0,44,0,32,0,50,0,46,0,50,0,126,0,50,0,46,0,52,0,44,0,32,0,51,0,46,0,50,0,126,0,51,0,46,0,52,0,44,0,32,0,52,0,46,0,50,0,126,0,52,0,46,0,52,0,44,0,32,0,53,0,46,0,50,0,44,0,32,0,49,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,46,0,50,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,50,0,44,0,32,0,38,32,0,0,235,220,110,0,32,0,37,0,32,0,49,0,48,0,32,0,61,0,32,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,57,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,50,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,49,0,49,0,46,0,46,0,49,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,44,0,32,0,49,0,48,0,126,0,50,0,48,0,44,0,32,0,51,0,48,0,44,0,32,0,52,0,48,0,44,0,32,0,53,0,48,0,44,0,32,0,54,0,48,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,49,0,46,0,48,0,44,0,32,0,49,0,50,0,46,0,48,0,44,0,32,0,49,0,51,0,46,0,48,0,44,0,32,0,49,0,52,0,46,0,48,0,44,0,32,0,49,0,53,0,46,0,48,0,44,0,32,0,49,0,54,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,247,220,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,52,0,32,0,111,0,114,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,51,0,46,0,46,0,52,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,51,0,44,0,32,0,52,0,44,0,32,0,49,0,48,0,51,0,44,0,32,0,49,0,48,0,52,0,44,0,32,0,50,0,48,0,51,0,44,0,32,0,50,0,48,0,52,0,44,0,32,0,51,0,48,0,51,0,44,0,32,0,51,0,48,0,52,0,44,0,32,0,52,0,48,0,51,0,44,0,32,0,52,0,48,0,52,0,44,0,32,0,53,0,48,0,51,0,44,0,32,0,53,0,48,0,52,0,44,0,32,0,54,0,48,0,51,0,44,0,32,0,54,0,48,0,52,0,44,0,32,0,55,0,48,0,51,0,44,0,32,0,55,0,48,0,52,0,44,0,32,0,49,0,48,0,48,0,51,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,51,0,44,0,32,0,48,0,46,0,52,0,44,0,32,0,49,0,46,0,51,0,44,0,32,0,49,0,46,0,52,0,44,0,32,0,50,0,46,0,51,0,44,0,32,0,50,0,46,0,52,0,44,0,32,0,51,0,46,0,51,0,44,0,32,0,51,0,46,0,52,0,44,0,32,0,52,0,46,0,51,0,44,0,32,0,52,0,46,0,52,0,44,0,32,0,53,0,46,0,51,0,44,0,32,0,53,0,46,0,52,0,44,0,32,0,54,0,46,0,51,0,44,0,32,0,54,0,46,0,52,0,44,0,32,0,55,0,46,0,51,0,44,0,32,0,55,0,46,0,52,0,44,0,32,0,49,0,48,0,46,0,51,0,44,0,32,0,49,0,48,0,48,0,46,0,51,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,51,0,44,0,32,0,38,32,0,0,19,221,110,0,32,0,37,0,32,0,49,0,48,0,48,0,32,0,61,0,32,0,50,0,44,0,50,0,50,0,44,0,52,0,50,0,44,0,54,0,50,0,44,0,56,0,50,0,32,0,111,0,114,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,32,0,61,0,32,0,49,0,48,0,48,0,48,0,46,0,46,0,50,0,48,0,48,0,48,0,48,0,44,0,52,0,48,0,48,0,48,0,48,0,44,0,54,0,48,0,48,0,48,0,48,0,44,0,56,0,48,0,48,0,48,0,48,0,32,0,111,0,114,0,32,0,110,0,32,0,33,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,110,0,32,0,37,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,32,0,61,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,50,0,44,0,32,0,50,0,50,0,44,0,32,0,52,0,50,0,44,0,32,0,54,0,50,0,44,0,32,0,56,0,50,0,44,0,32,0,49,0,48,0,50,0,44,0,32,0,49,0,50,0,50,0,44,0,32,0,49,0,52,0,50,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,50,0,46,0,48,0,44,0,32,0,50,0,50,0,46,0,48,0,44,0,32,0,52,0,50,0,46,0,48,0,44,0,32,0,54,0,50,0,46,0,48,0,44,0,32,0,56,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,50,0,46,0,48,0,44,0,32,0,49,0,50,0,50,0,46,0,48,0,44,0,32,0,49,0,52,0,50,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,29,221,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,61,0,32,0,49,0,44,0,50,0,44,0,51,0,32,0,111,0,114,0,32,0,118,0,32,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,105,0,32,0,37,0,32,0,49,0,48,0,32,0,33,0,61,0,32,0,52,0,44,0,54,0,44,0,57,0,32,0,111,0,114,0,32,0,118,0,32,0,33,0,61,0,32,0,48,0,32,0,97,0,110,0,100,0,32,0,102,0,32,0,37,0,32,0,49,0,48,0,32,0,33,0,61,0,32,0,52,0,44,0,54,0,44,0,57,0,32,0,64,0,105,0,110,0,116,0,101,0,103,0,101,0,114,0,32,0,48,0,126,0,51,0,44,0,32,0,53,0,44,0,32,0,55,0,44,0,32,0,56,0,44,0,32,0,49,0,48,0,126,0,49,0,51,0,44,0,32,0,49,0,53,0,44,0,32,0,49,0,55,0,44,0,32,0,49,0,56,0,44,0,32,0,50,0,48,0,44,0,32,0,50,0,49,0,44,0,32,0,49,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,44,0,32,0,38,32,32,0,64,0,100,0,101,0,99,0,105,0,109,0,97,0,108,0,32,0,48,0,46,0,48,0,126,0,48,0,46,0,51,0,44,0,32,0,48,0,46,0,53,0,44,0,32,0,48,0,46,0,55,0,44,0,32,0,48,0,46,0,56,0,44,0,32,0,49,0,46,0,48,0,126,0,49,0,46,0,51,0,44,0,32,0,49,0,46,0,53,0,44,0,32,0,49,0,46,0,55,0,44,0,32,0,49,0,46,0,56,0,44,0,32,0,50,0,46,0,48,0,44,0,32,0,50,0,46,0,49,0,44,0,32,0,49,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,46,0,48,0,44,0,32,0,38,32,0,0,219,0,40,0,43,0,46,0,49,0,52,0,55,0,129,1,59,0,63,0,67,0,70,0,74,0,77,0,81,0,85,0,88,0,92,0,95,0,16,1,98,0,101,0,105,0,108,0,111,0,114,0,118,0,122,0,126,0,130,0,133,0,136,0,52,1,139,0,143,0,147,0,150,0,153,0,156,0,159,0,111,2,39,2,162,0,165,0,168,0,171,0,174,0,177,0,181,0,184,0,187,0,191,0,194,0,197,0,200,0,203,0,207,0,210,0,214,0,217,0,220,0,224,0,46,2,227,0,123,0,231,0,235,0,238,0,241,0,244,0,121,2,247,0,250,0,253,0,0,1,3,1,6,1,9,1,12,1,15,1,19,1,23,1,26,1,30,1,33,1,36,1,39,1,43,1,47,1,51,1,55,1,59,1,62,1,66,1,69,1,72,1,75,1,78,1,81,1,85,1,89,1,92,1,95,1,98,1,102,1,105,1,108,1,112,1,116,1,119,1,122,1,125,1,128,1,132,1,135,1,139,1,142,1,71,2,145,1,148,1,75,2,151,1,154,1,157,1,161,1,165,1,168,1,246,2,171,1,174,1,177,1,181,1,184,1,188,1,191,1,79,3,195,1,199,1,202,1,205,1,208,1,212,1,215,1,219,1,223,1,226,1,230,1,233,1,236,1,242,1,13,3,245,1,249,1,254,1,1,2,5,2,9,2,13,2,17,2,20,2,24,2,27,2,31,2,34,2,38,2,42,2,86,1,45,2,49,2,52,2,55,2,58,2,62,2,66,2,70,2,74,2,78,2,192,1,81,2,84,2,87,2,90,2,64,0,94,2,97,2,204,0,100,2,104,2,107,2,110,2,114,2,117,2,120,2,124,2,127,2,130,2,133,2,136,2,140,2,143,2,146,2,150,2,153,2,188,0,156,2,159,2,162,2,166,2,169,2,172,2,176,2,179,2,35,3,183,2,186,2,190,2,193,2,196,2,200,2,203,2,1,0,21,0,16,0,1,0,129,0,129,0,16,0,1,0,11,0,1,0,1,0,207,0,1,0,1,0,1,0,21,0,6,0,16,0,6,0,219,0,1,0,69,0,75,0,1,0,87,0,1,0,1,0,1,0,117,0,249,0,41,0,11,0,16,0,111,0,1,0,6,0,1,0,1,0,11,0,1,0,183,0,11,0,1,0,16,0,26,0,11,0,87,0,1,0,171,0,1,0,11,0,231,0,189,0,11,0,1,0,16,0,21,0,237,0,1,0,1,0,99,0,16,0,6,0,69,0,111,0,1,0,26,0,11,0,6,0,6,0,6,0,6,0,11,0,46,0,75,0,63,0,99,0,6,0,6,0,1,0,11,0,1,0,6,0,6,0,1,0,26,0,1,0,1,0,6,0,6,0,1,0,1,0,1,0,6,0,16,0,6,0,1,0,1,0,159,0,1,0,243,0,1,0,153,0,1,0,1,0,11,0,6,0,21,0,6,0,213,0,93,0,1,0,21,0,1,0,147,0,1,0,1,0,105,0,1,0,6,0,225,0,6,0,1,0,63,0,1,0,1,0,1,0,11,0,1,0,1,0,1,0,6,0,1,0,21,0,1,0,1,0,1,0,1,0,1,0,6,0,21,0,1,0,16,0,201,0,93,0,1,0,177,0,75,0,1,0,105,0,1,0,6,0,123,0,1,0,6,0,1,0,63,0,11,0,11,0,1,0,1,0,63,0,1,0,6,0,6,0,69,0,165,0,31,0,117,0,195,0,63,0,63,0,63,0,63,0,63,0,1,0,1,0,1,0,69,0,1,0,1,0,1,0,6,0,11,0,11,0,1,0,1,0,1,0,1,0,6,0,21,0,1,0,1,0,87,0,1,0,6,0,6,0,1,0,1,0,36,0,1,0,123,0,11,0,1,0,1,0,75,0,6,0,1,0,1,0,21,0,1,0,6,0,1,0,1,0,11,0,6,0,6,0,6,0,16,0,104,0,40,0,46,0,49,0,52,0,129,1,63,0,67,0,70,0,74,0,85,0,95,0,105,0,108,0,111,0,130,0,133,0,136,0,52,1,143,0,156,0,159,0,39,2,162,0,165,0,168,0,174,0,177,0,184,0,191,0,194,0,197,0,200,0,203,0,207,0,224,0,46,2,123,0,231,0,235,0,238,0,241,0,244,0,250,0,0,1,3,1,9,1,12,1,36,1,59,1,69,1,72,1,75,1,92,1,95,1,108,1,119,1,122,1,125,1,139,1,142,1,71,2,145,1,148,1,75,2,154,1,165,1,246,2,171,1,181,1,202,1,212,1,223,1,226,1,230,1,233,1,13,3,249,1,254,1,17,2,20,2,24,2,86,1,49,2,52,2,55,2,81,2,84,2,97,2,204,0,104,2,107,2,114,2,124,2,127,2,136,2,140,2,153,2,188,0,156,2,162,2,166,2,196,2,200,2,203,2,51,0,51,0,51,0,51,0,141,0,51,0,95,1,57,0,17,1,51,0,141,0,51,0,83,1,51,0,51,0,107,1,51,0,51,0,51,0,51,0,65,1,51,0,51,0,51,0,51,0,51,0,57,0,57,0,51,0,57,0,77,1,51,0,51,0,135,0,51,0,135,0,51,0,51,0,5,1,57,0,51,0,51,0,51,0,51,0,81,0,51,0,51,0,47,1,35,1,51,0,51,0,51,0,59,1,51,0,41,1,57,0,51,0,51,0,89,1,51,0,51,0,57,0,71,1,57,0,51,0,51,0,11,1,51,0,51,0,101,1,51,0,51,0,51,0,51,0,51,0,57,0,51,0,51,0,81,0,81,0,51,0,51,0,51,0,51,0,51,0,53,1,51,0,255,0,51,0,51,0,51,0,51,0,29,1,57,0,51,0,51,0,23,1,51,0,51,0,81,0,57,0,51,0,51,0,51,0,1,0,234,2,168,24,2,0,245,2,234,2,242,7,37,25,2,0,245,2,234,2,229,50,44,37,2,0,245,2,234,2,96,60,162,25,3,0,245,2,234,2,11,3,159,55,250,16,101,57,3,0,245,2,234,2,11,3,232,3,43,24,76,4,3,0,245,2,234,2,11,3,24,4,38,29,76,4,3,0,245,2,234,2,34,3,240,11,28,27,173,2,3,0,245,2,234,2,34,3,24,4,94,33,128,4,3,0,50,3,245,2,234,2,55,23,242,7,184,30,3,0,50,3,245,2,234,2,36,41,146,2,245,5,3,0,50,3,245,2,234,2,130,56,229,50,185,41,2,0,245,2,234,2,73,3,43,24,3,0,77,3,245,2,234,2,171,48,73,3,32,50,3,0,77,3,245,2,234,2,171,48,152,3,32,50,3,0,77,3,245,2,234,2,171,48,146,2,170,51,3,0,77,3,245,2,234,2,171,48,24,4,206,54,4,0,50,3,245,2,234,2,34,3,77,32,195,13,113,34,19,14,4,0,50,3,245,2,234,2,34,3,114,52,215,12,14,7,37,13,4,0,50,3,245,2,234,2,34,3,82,58,92,45,185,41,1,46,4,0,50,3,77,3,245,2,234,2,228,2,99,14,146,2,14,7,4,0,50,3,77,3,245,2,234,2,47,19,144,40,146,2,15,11,4,0,50,3,77,3,245,2,234,2,166,46,58,53,128,43,28,5,2,0,245,2,234,2,146,2,156,26,4,0,50,3,77,3,245,2,234,2,186,37,83,9,188,44,250,47,4,0,50,3,77,3,245,2,234,2,47,19,50,30,167,17,15,11,5,0,50,3,77,3,245,2,234,2,34,3,97,49,153,19,80,42,176,23,232,42,5,0,50,3,77,3,245,2,234,2,34,3,161,28,31,26,24,4,63,31,128,4,5,0,50,3,77,3,245,2,234,2,34,3,198,31,17,36,24,4,231,33,128,4,5,0,50,3,77,3,245,2,234,2,34,3,6,20,99,14,90,11,112,3,165,11,6,0,50,3,77,3,245,2,234,2,34,3,11,3,216,38,28,44,24,4,99,18,75,59,76,4,6,0,50,3,77,3,245,2,234,2,34,3,11,3,229,20,190,22,24,4,77,47,128,4,76,4,6,0,50,3,77,3,245,2,234,2,34,3,11,3,180,4,232,4,24,4,133,35,128,4,76,4,1,0,234,2,82,5,2,0,245,2,234,2,156,27,172,29,2,0,245,2,234,2,208,21,156,6,2,0,245,2,234,2,113,1,99,6,2,0,245,2,234,2,242,1,143,9,2,0,245,2,234,2,8,2,14,7,2,0,50,3,234,2,71,22,219,8,2,0,50,3,234,2,180,14,160,8,2,0,50,3,234,2,115,13,137,12,2,0,77,3,234,2,73,38,136,5,2,0,77,3,234,2,192,3,204,10,2,0,77,3,234,2,185,7,204,10,2,0,245,2,234,2,166,16,38,29,3,0,77,3,245,2,234,2,138,10,181,1,44,6,3,0,77,3,245,2,234,2,83,16,113,1,11,10,3,0,77,3,245,2,234,2,60,12,199,18,71,7,4,0,50,3,245,2,234,2,34,3,180,14,173,15,213,6,0,16,4,0,50,3,245,2,234,2,34,3,130,1,113,1,14,7,198,1,4,0,50,3,245,2,234,2,34,3,122,2,74,2,74,10,98,2,4,0,50,3,245,2,234,2,34,3,130,1,220,1,14,7,164,1,4,0,77,3,245,2,234,2,34,3,89,21,7,15,205,9,90,15,4,0,50,3,77,3,245,2,234,2,252,39,4,18,116,20,80,17,5,0,50,3,77,3,245,2,234,2,34,3,130,1,147,1,113,1,23,9,198,1,2,0,245,2,234,2,105,39,251,34,5,0,50,3,77,3,245,2,234,2,34,3,130,1,147,1,36,3,102,8,198,1,5,0,50,3,77,3,245,2,234,2,34,3,130,1,147,1,4,3,44,8,198,1,6,0,50,3,77,3,245,2,234,2,34,3,11,3,30,2,52,2,113,1,190,5,164,1,200,2,2,0,245,2,234,2,24,4,213,32,2,0,245,2,234,2,128,7,28,28,2,0,245,2,234,2,4,54,158,36,63,0,229,2,240,2,249,2,255,2,5,3,16,3,22,3,28,3,38,3,44,3,54,3,60,3,66,3,71,3,82,3,88,3,94,3,100,3,106,3,112,3,118,3,124,3,130,3,136,3,141,3,147,3,153,3,159,3,165,3,171,3,177,3,183,3,189,3,195,3,201,3,206,3,212,3,218,3,224,3,230,3,236,3,242,3,248,3,254,3,4,4,10,4,15,4,21,4,27,4,33,4,39,4,45,4,51,4,57,4,63,4,69,4,75,4,80,4,86,4,92,4,98,4,103,4,108,4,7,64,0,80,10,64,0,80,15,64,0,80,20,64,0,80,25,64,0,80,32,64,0,80,39,64,0,80,46,64,0,80,53,64,0,80,60,64,0,80,67,64,0,80,74,64,0,80,81,64,0,80,86,64,0,80,93,64,0,80,100,64,0,80,107,64,0,80,114,64,0,80,123,64,0,80,132,64,0,80,141,64,0,80,150,64,0,80,159,64,0,80,168,64,0,80,173,64,0,80,182,64,0,80,191,64,0,80,202,64,0,80,213,64,0,80,224,64,0,80,235,64,0,80,248,64,0,80,5,65,0,80,18,65,0,80,21,65,0,80,26,65,0,80,31,65,0,80,36,65,0,80,41,65,0,80,46,65,0,80,51,65,0,80,56,65,0,80,61,65,0,80,66,65,0,80,71,65,0,80,76,65,0,80,81,65,0,80,88,65,0,80,95,65,0,80,102,65,0,80,111,65,0,80,120,65,0,80,129,65,0,80,138,65,0,80,147,65,0,80,156,65,0,80,167,65,0,80,172,65,0,80,183,65,0,80,194,65,0,80,207,65,0,80,212,65,0,80,217,65,0,80,3,0,32,0,206,2,223,2,127,61,0,80,54,63,0,80,12,34,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,131,235,0,32,7,0,0,0,48,6,0,0,160,235,0,0,160,235,0,0,23,3,0,0,1,0,0,0,129,161,0,0,99,97,108,101,110,100,97,114,68,97,116,97,0,98,117,100,100,104,105,115,116,0,101,114,97,115,0,115,116,97,114,116,0,115,121,115,116,101,109,0,99,104,105,110,101,115,101,0,99,111,112,116,105,99,0,101,110,100,0,100,97,110,103,105,0,101,116,104,105,111,112,105,99,0,101,116,104,105,111,112,105,99,45,97,109,101,116,101,45,97,108,101,109,0,103,114,101,103,111,114,105,97,110,0,104,101,98,114,101,119,0,105,110,100,105,97,110,0,105,115,108,97,109,105,99,0,105,115,108,97,109,105,99,45,99,105,118,105,108,0,105,115,108,97,109,105,99,45,114,103,115,97,0,105,115,108,97,109,105,99,45,116,98,108,97,0,105,115,108,97,109,105,99,45,117,109,97,108,113,117,114,97,0,106,97,112,97,110,101,115,101,0,49,48,48,0,49,48,49,0,49,48,50,0,49,48,51,0,49,48,52,0,49,48,53,0,49,48,54,0,49,48,55,0,49,48,56,0,49,48,57,0,49,49,48,0,49,49,49,0,49,49,50,0,49,49,51,0,49,49,52,0,49,49,53,0,49,49,54,0,49,49,55,0,49,49,56,0,49,49,57,0,49,50,48,0,49,50,49,0,49,50,50,0,49,50,51,0,49,50,52,0,49,50,53,0,49,50,54,0,49,50,55,0,49,50,56,0,49,50,57,0,49,51,48,0,49,51,49,0,49,51,50,0,49,51,51,0,49,51,52,0,49,51,53,0,49,51,54,0,49,51,55,0,49,51,56,0,49,51,57,0,49,52,48,0,49,52,49,0,49,52,50,0,49,52,51,0,49,52,52,0,49,52,53,0,49,52,54,0,49,52,55,0,49,52,56,0,49,52,57,0,49,53,49,0,49,53,50,0,49,53,51,0,49,53,52,0,49,53,53,0,49,53,54,0,49,53,55,0,49,53,56,0,49,53,57,0,49,54,48,0,49,54,49,0,49,54,50,0,49,54,51,0,49,54,52,0,49,54,53,0,49,54,54,0,49,54,55,0,49,54,56,0,49,54,57,0,49,55,48,0,49,55,49,0,49,55,50,0,49,55,51,0,49,55,52,0,49,55,53,0,49,55,54,0,49,55,55,0,49,55,56,0,49,55,57,0,49,56,48,0,49,56,49,0,49,56,50,0,49,56,51,0,49,56,52,0,49,56,53,0,49,56,54,0,49,56,55,0,49,56,56,0,49,56,57,0,49,57,48,0,49,57,49,0,49,57,50,0,49,57,51,0,49,57,52,0,49,57,53,0,49,57,54,0,49,57,55,0,49,57,56,0,49,57,57,0,50,48,48,0,50,48,49,0,50,48,50,0,50,48,51,0,50,48,52,0,50,48,53,0,50,48,54,0,50,48,55,0,50,48,56,0,50,48,57,0,50,49,48,0,50,49,49,0,50,49,50,0,50,49,51,0,50,49,52,0,50,49,53,0,50,49,54,0,50,49,55,0,50,49,56,0,50,49,57,0,50,50,48,0,50,50,49,0,50,50,50,0,50,50,51,0,50,50,52,0,50,50,53,0,50,50,54,0,50,50,55,0,50,50,56,0,50,50,57,0,50,51,48,0,50,51,49,0,50,51,50,0,50,51,51,0,50,51,52,0,50,51,53,0,50,51,54,0,112,101,114,115,105,97,110,0,114,111,99,0,99,97,108,101,110,100,97,114,80,114,101,102,101,114,101,110,99,101,68,97,116,97,0,65,69,0,65,70,0,65,76,0,65,90,0,66,68,0,66,72,0,67,78,0,67,88,0,68,74,0,68,90,0,69,71,0,69,72,0,69,82,0,69,84,0,73,68,0,73,76,0,73,81,0,73,82,0,74,79,0,74,80,0,75,77,0,75,82,0,75,87,0,76,66,0,76,89,0,77,65,0,77,79,0,77,82,0,77,86,0,77,89,0,78,69,0,79,77,0,80,75,0,80,83,0,81,65,0,83,65,0,83,68,0,83,71,0,83,89,0,84,68,0,84,72,0,84,74,0,84,77,0,84,78,0,84,82,0,85,90,0,88,75,0,89,69,0,99,108,100,114,86,101,114,115,105,111,110,0,99,111,100,101,77,97,112,112,105,110,103,115,0,99,111,100,101,77,97,112,112,105,110,103,115,67,117,114,114,101,110,99,121,0,105,100,86,97,108,105,100,105,116,121,0,99,117,114,114,101,110,99,121,0,100,101,112,114,101,99,97,116,101,100,0,114,101,103,117,108,97,114,0,117,110,107,110,111,119,110,0,108,97,110,103,117,97,103,101,0,112,114,105,118,97,116,101,95,117,115,101,0,114,101,115,101,114,118,101,100,0,115,112,101,99,105,97,108,0,109,97,99,114,111,114,101,103,105,111,110,0,115,99,114,105,112,116,0,115,117,98,100,105,118,105,115,105,111,110,0,117,110,105,116,0,108,97,110,103,117,97,103,101,68,97,116,97,0,112,114,105,109,97,114,121,0,115,99,114,105,112,116,115,0,115,101,99,111,110,100,97,114,121,0,116,101,114,114,105,116,111,114,105,101,115,0,97,98,113,0,97,98,114,0,97,99,101,0,97,99,104,0,97,100,97,0,97,100,121,0,97,101,98,0,97,103,113,0,97,105,105,0,97,105,110,0,97,107,107,0,97,107,122,0,97,108,101,0,97,108,110,0,97,108,116,0,97,109,111,0,97,110,103,0,97,110,110,0,97,110,112,0,97,111,122,0,97,114,99,0,97,114,110,0,97,114,111,0,97,114,112,0,97,114,113,0,97,114,115,0,97,114,119,0,97,114,122,0,97,115,97,0,97,115,116,0,97,116,106,0,97,118,107,0,97,119,97,0,98,97,108,0,98,97,110,0,98,97,112,0,98,97,114,0,98,97,115,0,98,97,120,0,98,98,99,0,98,98,106,0,98,99,105,0,98,101,106,0,98,101,109,0,98,101,119,0,98,101,122,0,98,102,100,0,98,102,113,0,98,102,116,0,98,102,121,0,98,103,0,98,103,99,0,98,103,110,0,98,103,120,0,98,104,98,0,98,104,105,0,98,104,111,0,98,105,0,98,105,107,0,98,105,110,0,98,106,106,0,98,106,110,0,98,106,116,0,98,107,109,0,98,107,117,0,98,108,116,0,98,109,113,0,98,110,0,98,112,121,0,98,113,105,0,98,113,118,0,98,114,97,0,98,114,104,0,98,114,120,0,98,115,0,98,115,99,0,98,115,115,0,98,116,111,0,98,116,118,0,98,117,97,0,98,117,99,0,98,117,103,0,98,117,109,0,98,118,98,0,98,121,110,0,98,121,118,0,98,122,101,0,98,122,120,0,99,97,100,0,99,97,114,0,99,97,121,0,99,99,104,0,99,99,112,0,99,101,98,0,99,103,103,0,99,104,107,0,99,104,109,0,99,104,110,0,99,104,111,0,99,104,112,0,99,104,114,0,99,104,121,0,99,105,99,0,99,106,97,0,99,106,109,0,99,106,115,0,99,107,98,0,99,107,116,0,99,108,99,0,99,111,112,0,99,112,115,0,99,114,103,0,99,114,104,0,99,114,106,0,99,114,107,0,99,114,108,0,99,114,109,0,99,114,115,0,99,115,98,0,99,115,119,0,99,116,100,0,99,117,0,99,118,0,100,97,107,0,100,97,114,0,100,97,118,0,100,99,99,0,100,101,108,0,100,101,110,0,100,103,114,0,100,105,110,0,100,106,101,0,100,110,103,0,100,110,106,0,100,111,105,0,100,115,98,0,100,116,109,0,100,116,112,0,100,116,121,0,100,117,97,0,100,117,109,0,100,118,0,100,121,111,0,100,121,117,0,100,122,0,101,98,117,0,101,102,105,0,101,103,108,0,101,103,121,0,101,107,97,0,101,107,121,0,101,110,109,0,101,115,117,0,101,116,116,0,101,118,110,0,101,119,111,0,101,120,116,0,102,97,110,0,102,98,108,0,102,102,0,102,102,109,0,102,105,97,0,102,105,108,0,102,105,116,0,102,106,0,102,111,110,0,102,114,99,0,102,114,109,0,102,114,111,0,102,114,112,0,102,114,114,0,102,114,115,0,102,117,100,0,102,117,113,0,102,117,114,0,102,117,118,0,102,118,114,0,103,97,97,0,103,97,103,0,103,97,110,0,103,97,121,0,103,98,97,0,103,98,109,0,103,98,122,0,103,99,114,0,103,100,0,103,101,122,0,103,105,108,0,103,106,107,0,103,106,117,0,103,108,100,0,103,108,107,0,103,109,104,0,103,111,104,0,103,111,109,0,103,111,110,0,103,111,114,0,103,111,115,0,103,111,116,0,103,114,98,0,103,114,99,0,103,114,116,0,103,115,119,0,103,117,0,103,117,98,0,103,117,99,0,103,117,114,0,103,117,122,0,103,118,0,103,118,114,0,103,119,105,0,104,97,105,0,104,97,107,0,104,97,122,0,104,105,102,0,104,105,108,0,104,105,116,0,104,109,100,0,104,109,110,0,104,110,100,0,104,110,101,0,104,110,106,0,104,110,110,0,104,110,111,0,104,111,99,0,104,111,106,0,104,111,112,0,104,115,98,0,104,115,110,0,104,117,0,104,117,112,0,104,117,114,0,104,122,0,105,98,97,0,105,98,98,0,105,102,101,0,105,107,116,0,105,108,111,0,105,110,104,0,105,122,104,0,106,97,109,0,106,103,111,0,106,109,99,0,106,109,108,0,106,112,114,0,106,114,98,0,106,117,116,0,106,118,0,107,97,97,0,107,97,98,0,107,97,99,0,107,97,106,0,107,97,109,0,107,97,111,0,107,98,100,0,107,99,97,0,107,99,103,0,107,99,107,0,107,100,101,0,107,100,116,0,107,101,97,0,107,102,111,0,107,102,114,0,107,102,121,0,107,103,0,107,103,101,0,107,103,112,0,107,104,97,0,107,104,98,0,107,104,110,0,107,104,113,0,107,104,116,0,107,104,119,0,107,105,117,0,107,106,103,0,107,106,104,0,107,107,106,0,107,108,110,0,107,109,98,0,107,110,0,107,110,102,0,107,111,105,0,107,111,107,0,107,111,115,0,107,112,101,0,107,112,121,0,107,114,99,0,107,114,105,0,107,114,106,0,107,114,108,0,107,114,117,0,107,115,0,107,115,98,0,107,115,102,0,107,115,104,0,107,117,109,0,107,117,116,0,107,118,0,107,118,114,0,107,118,120,0,107,119,0,107,119,107,0,107,120,109,0,107,120,112,0,107,121,117,0,108,97,98,0,108,97,100,0,108,97,103,0,108,97,104,0,108,97,106,0,108,97,109,0,108,98,0,108,98,101,0,108,98,119,0,108,99,112,0,108,101,112,0,108,101,122,0,108,102,110,0,108,105,102,0,108,105,106,0,108,105,108,0,108,105,115,0,108,105,118,0,108,106,112,0,108,107,105,0,108,107,116,0,108,109,110,0,108,109,111,0,108,111,108,0,108,111,122,0,108,114,99,0,108,116,103,0,108,117,0,108,117,97,0,108,117,105,0,108,117,110,0,108,117,111,0,108,117,115,0,108,117,116,0,108,117,121,0,108,117,122,0,108,118,0,108,119,108,0,108,122,104,0,108,122,122,0,109,97,100,0,109,97,102,0,109,97,103,0,109,97,105,0,109,97,107,0,109,97,110,0,109,97,115,0,109,97,122,0,109,100,102,0,109,100,104,0,109,100,114,0,109,100,116,0,109,101,110,0,109,101,114,0,109,101,121,0,109,102,97,0,109,102,101,0,109,102,118,0,109,103,104,0,109,103,111,0,109,103,112,0,109,103,121,0,109,105,110,0,109,107,0,109,108,115,0,109,110,99,0,109,110,105,0,109,110,115,0,109,110,119,0,109,111,101,0,109,111,104,0,109,111,115,0,109,114,100,0,109,114,106,0,109,114,111,0,109,116,114,0,109,117,97,0,109,117,115,0,109,118,121,0,109,119,107,0,109,119,108,0,109,119,114,0,109,119,118,0,109,120,99,0,109,121,0,109,121,118,0,109,121,120,0,109,121,122,0,109,122,110,0,110,97,110,0,110,97,112,0,110,99,104,0,110,100,99,0,110,100,115,0,110,101,119,0,110,103,108,0,110,104,101,0,110,104,119,0,110,105,97,0,110,105,106,0,110,105,117,0,110,106,111,0,110,109,103,0,110,110,104,0,110,111,100,0,110,111,101,0,110,111,103,0,110,111,110,0,110,111,118,0,110,113,111,0,110,115,107,0,110,115,111,0,110,117,115,0,110,118,0,110,120,113,0,110,121,0,110,121,109,0,110,121,110,0,110,121,111,0,110,122,105,0,111,106,115,0,111,107,97,0,111,115,97,0,111,115,99,0,111,116,107,0,112,97,0,112,97,103,0,112,97,108,0,112,97,109,0,112,97,112,0,112,97,117,0,112,99,100,0,112,99,109,0,112,100,99,0,112,100,116,0,112,101,111,0,112,102,108,0,112,104,110,0,112,105,115,0,112,107,111,0,112,108,0,112,109,115,0,112,110,116,0,112,111,110,0,112,113,109,0,112,114,100,0,112,114,103,0,112,114,111,0,112,117,117,0,113,117,0,113,117,99,0,113,117,103,0,114,97,106,0,114,97,112,0,114,97,114,0,114,99,102,0,114,101,106,0,114,103,110,0,114,104,103,0,114,105,97,0,114,105,102,0,114,106,115,0,114,107,116,0,114,109,102,0,114,109,111,0,114,109,116,0,114,109,117,0,114,110,103,0,114,111,98,0,114,111,102,0,114,111,109,0,114,116,109,0,114,117,101,0,114,117,103,0,114,117,112,0,114,119,107,0,114,121,117,0,115,97,100,0,115,97,102,0,115,97,104,0,115,97,109,0,115,97,113,0,115,97,116,0,115,97,118,0,115,97,122,0,115,98,112,0,115,99,107,0,115,99,111,0,115,99,115,0,115,100,99,0,115,100,104,0,115,101,101,0,115,101,102,0,115,101,104,0,115,101,105,0,115,101,108,0,115,101,115,0,115,103,115,0,115,104,105,0,115,104,110,0,115,105,100,0,115,107,114,0,115,108,105,0,115,108,121,0,115,109,97,0,115,109,106,0,115,109,110,0,115,109,112,0,115,109,115,0,115,110,102,0,115,110,107,0,115,111,117,0,115,113,0,115,114,98,0,115,114,110,0,115,114,114,0,115,114,120,0,115,115,121,0,115,116,113,0,115,117,107,0,115,117,115,0,115,118,0,115,119,98,0,115,119,103,0,115,119,118,0,115,120,110,0,115,121,105,0,115,121,108,0,115,121,114,0,115,122,108,0,116,97,98,0,116,97,106,0,116,98,119,0,116,99,121,0,116,100,100,0,116,100,103,0,116,100,104,0,116,101,111,0,116,101,114,0,116,101,116,0,116,104,0,116,104,108,0,116,104,113,0,116,104,114,0,116,105,0,116,105,103,0,116,105,118,0,116,107,114,0,116,107,116,0,116,108,105,0,116,108,121,0,116,109,104,0,116,110,114,0,116,111,103,0,116,111,107,0,116,112,105,0,116,114,117,0,116,114,118,0,116,114,119,0,116,115,100,0,116,115,103,0,116,115,105,0,116,115,106,0,116,116,106,0,116,116,115,0,116,116,116,0,116,117,109,0,116,119,113,0,116,121,118,0,116,122,109,0,117,100,101,0,117,100,109,0,117,103,97,0,117,108,105,0,117,109,98,0,117,110,100,0,117,110,114,0,117,110,120,0,118,97,105,0,118,101,0,118,101,99,0,118,101,112,0,118,105,0,118,105,99,0,118,108,115,0,118,109,102,0,118,109,119,0,118,111,116,0,118,114,111,0,118,117,110,0,119,97,101,0,119,97,114,0,119,97,115,0,119,98,112,0,119,98,113,0,119,98,114,0,119,110,105,0,119,116,109,0,119,117,117,0,120,97,108,0,120,97,118,0,120,99,114,0,120,104,0,120,108,99,0,120,108,100,0,120,109,102,0,120,109,110,0,120,109,114,0,120,110,97,0,120,110,114,0,120,111,103,0,120,112,114,0,120,115,97,0,120,115,114,0,120,117,109,0,121,97,111,0,121,97,112,0,121,97,118,0,121,98,98,0,121,114,107,0,121,117,97,0,121,117,101,0,122,97,103,0,122,97,112,0,122,100,106,0,122,101,97,0,122,101,110,0,122,103,104,0,122,109,105,0,122,117,0,122,117,110,0,122,122,97,0,108,97,110,103,117,97,103,101,77,97,116,99,104,105,110,103,73,110,102,111,0,119,114,105,116,116,101,110,0,109,97,116,99,104,86,97,114,105,97,98,108,101,0,97,109,101,114,105,99,97,115,0,99,110,115,97,114,0,101,110,85,83,0,109,97,103,104,114,101,98,0,112,97,114,97,100,105,103,109,76,111,99,97,108,101,115,0,108,97,110,103,117,97,103,101,77,97,116,99,104,105,110,103,78,101,119,0,109,101,97,115,117,114,101,109,101,110,116,68,97,116,97,0,77,101,97,115,117,114,101,109,101,110,116,83,121,115,116,101,109,0,80,97,112,101,114,83,105,122,101,0,66,83,0,77,101,97,115,117,114,101,109,101,110,116,83,121,115,116,101,109,67,97,116,101,103,111,114,121,0,116,101,109,112,101,114,97,116,117,114,101,0,66,90,0,67,76,0,67,79,0,67,82,0,71,66,0,71,84,0,75,89,0,76,82,0,77,77,0,77,88,0,78,73,0,80,65,0,80,72,0,80,82,0,80,87,0,83,86,0,86,69,0,112,97,114,101,110,116,76,111,99,97,108,101,115,0,101,110,95,48,48,49,0,101,110,95,49,53,48,0,101,110,95,73,78,0,101,115,95,52,49,57,0,102,114,95,72,84,0,112,116,95,80,84,0,114,111,111,116,0,122,104,95,72,97,110,116,95,72,75,0,112,101,114,115,111,110,78,97,109,101,115,68,101,102,97,117,108,116,115,0,110,97,109,101,79,114,100,101,114,76,111,99,97,108,101,115,68,101,102,97,117,108,116,0,103,105,118,101,110,70,105,114,115,116,0,115,117,114,110,97,109,101,70,105,114,115,116,0,115,117,98,100,105,118,105,115,105,111,110,67,111,110,116,97,105,110,109,101,110,116,0,65,68,0,65,71,0,65,77,0,65,79,0,65,82,0,65,84,0,65,85,0,66,65,0,66,66,0,66,69,0,66,70,0,66,71,0,66,73,0,66,74,0,66,78,0,66,81,0,66,84,0,66,87,0,66,89,0,67,68,0,67,70,0,67,71,0,67,73,0,67,77,0,67,85,0,67,86,0,67,89,0,67,90,0,68,69,0,68,75,0,68,77,0,68,79,0,69,69,0,70,73,0,70,74,0,70,77,0,70,82,0,71,65,0,71,68,0,71,69,0,71,72,0,71,76,0,71,77,0,71,78,0,71,82,0,71,87,0,71,89,0,72,78,0,72,82,0,72,85,0,73,69,0,73,83,0,74,77,0,75,69,0,75,71,0,75,72,0,75,73,0,75,78,0,75,80,0,75,90,0,76,65,0,76,67,0,76,73,0,76,75,0,76,83,0,76,84,0,76,85,0,76,86,0,77,67,0,77,68,0,77,69,0,77,71,0,77,72,0,77,75,0,77,76,0,77,78,0,77,84,0,77,85,0,77,87,0,77,90,0,78,65,0,78,71,0,78,76,0,78,79,0,78,80,0,78,82,0,78,90,0,80,71,0,80,76,0,80,89,0,82,79,0,82,83,0,82,85,0,82,87,0,83,66,0,83,67,0,83,69,0,83,72,0,83,73,0,83,75,0,83,76,0,83,77,0,83,78,0,83,79,0,83,82,0,83,83,0,83,84,0,83,90,0,84,71,0,84,76,0,84,79,0,84,84,0,84,86,0,84,90,0,85,65,0,85,71,0,85,77,0,85,89,0,86,67,0,86,78,0,86,85,0,87,70,0,87,83,0,90,77,0,90,87,0,97,122,110,120,0,98,100,97,0,98,100,98,0,98,100,99,0,98,100,100,0,98,100,101,0,98,100,102,0,98,100,103,0,98,100,104,0,98,101,118,108,103,0,98,101,119,97,108,0,98,102,48,49,0,98,102,48,50,0,98,102,48,51,0,98,102,48,52,0,98,102,48,53,0,98,102,48,54,0,98,102,48,55,0,98,102,48,56,0,98,102,48,57,0,98,102,49,48,0,98,102,49,49,0,98,102,49,50,0,98,102,49,51,0,99,118,98,0,99,118,115,0,99,122,50,48,0,99,122,51,49,0,99,122,51,50,0,99,122,52,49,0,99,122,52,50,0,99,122,53,49,0,99,122,53,50,0,99,122,53,51,0,99,122,54,51,0,99,122,54,52,0,99,122,55,49,0,99,122,55,50,0,99,122,56,48,0,100,111,51,51,0,100,111,51,52,0,100,111,51,53,0,100,111,51,54,0,100,111,51,55,0,100,111,51,56,0,100,111,51,57,0,100,111,52,48,0,100,111,52,49,0,100,111,52,50,0,101,101,51,55,0,101,101,51,57,0,101,101,52,53,0,101,101,53,48,0,101,101,53,50,0,101,101,53,54,0,101,101,54,48,0,101,101,54,52,0,101,101,54,56,0,101,101,55,49,0,101,101,55,52,0,101,101,55,57,0,101,101,56,49,0,101,101,56,52,0,101,101,56,55,0,101,115,97,110,0,101,115,97,114,0,101,115,97,115,0,101,115,99,98,0,101,115,99,108,0,101,115,99,109,0,101,115,99,110,0,101,115,99,116,0,101,115,101,120,0,101,115,103,97,0,101,115,105,98,0,101,115,109,99,0,101,115,109,100,0,101,115,110,99,0,101,115,112,118,0,101,115,114,105,0,101,115,118,99,0,102,106,99,0,102,106,101,0,102,106,110,0,102,106,119,0,102,114,50,48,114,0,102,114,97,114,97,0,102,114,98,102,99,0,102,114,98,114,101,0,102,114,99,118,108,0,102,114,103,101,115,0,102,114,104,100,102,0,102,114,105,100,102,0,102,114,110,97,113,0,102,114,110,111,114,0,102,114,111,99,99,0,102,114,112,97,99,0,102,114,112,100,108,0,103,98,101,110,103,0,103,98,110,105,114,0,103,98,115,99,116,0,103,98,119,108,115,0,103,110,98,0,103,110,100,0,103,110,102,0,103,110,107,0,103,110,108,0,103,110,109,0,103,110,110,0,103,113,99,0,103,113,105,0,103,119,108,0,103,119,110,0,103,119,115,0,105,100,106,119,0,105,100,107,97,0,105,100,109,108,0,105,100,110,117,0,105,100,112,112,0,105,100,115,108,0,105,100,115,109,0,105,101,99,0,105,101,108,0,105,101,109,0,105,101,117,0,105,113,107,114,0,105,115,49,0,105,115,50,0,105,115,51,0,105,115,52,0,105,115,53,0,105,115,54,0,105,115,55,0,105,115,56,0,105,116,50,49,0,105,116,50,53,0,105,116,51,50,0,105,116,51,52,0,105,116,51,54,0,105,116,52,50,0,105,116,52,53,0,105,116,53,50,0,105,116,53,53,0,105,116,53,55,0,105,116,54,50,0,105,116,54,53,0,105,116,54,55,0,105,116,55,50,0,105,116,55,53,0,105,116,55,55,0,105,116,55,56,0,105,116,56,50,0,105,116,56,56,0,107,110,107,0,107,110,110,0,108,107,49,0,108,107,50,0,108,107,51,0,108,107,52,0,108,107,53,0,108,107,54,0,108,107,55,0,108,107,56,0,108,107,57,0,108,116,97,108,0,108,116,107,108,0,108,116,107,117,0,108,116,109,114,0,108,116,112,110,0,108,116,115,97,0,108,116,116,97,0,108,116,116,101,0,108,116,117,116,0,108,116,118,108,0,109,97,48,49,0,109,97,48,50,0,109,97,48,51,0,109,97,48,52,0,109,97,48,53,0,109,97,48,54,0,109,97,48,55,0,109,97,48,56,0,109,97,48,57,0,109,97,49,48,0,109,97,49,49,0,109,97,49,50,0,109,104,108,0,109,104,116,0,109,119,99,0,109,119,110,0,109,119,115,0,110,112,49,0,110,112,50,0,110,112,51,0,110,112,52,0,110,112,53,0,112,104,48,49,0,112,104,48,50,0,112,104,48,51,0,112,104,48,53,0,112,104,48,54,0,112,104,48,55,0,112,104,48,56,0,112,104,48,57,0,112,104,49,48,0,112,104,49,49,0,112,104,49,50,0,112,104,49,51,0,112,104,49,52,0,112,104,49,53,0,112,104,52,48,0,112,104,52,49,0,114,115,107,109,0,114,115,118,111,0,117,103,99,0,117,103,101,0,117,103,110,0,117,103,119,0,116,101,114,114,105,116,111,114,121,67,111,110,116,97,105,110,109,101,110,116,0,48,48,50,0,48,48,53,0,48,48,57,0,48,49,49,0,48,49,51,0,48,49,52,0,48,49,53,0,48,49,55,0,48,49,56,0,48,49,57,0,48,50,49,0,48,50,57,0,48,51,48,0,48,51,52,0,48,51,53,0,48,51,57,0,48,53,51,0,48,53,52,0,48,53,55,0,48,54,49,0,81,79,0,99,111,110,116,97,105,110,101,100,71,114,111,117,112,105,110,103,115,0,103,114,111,117,112,105,110,103,0,48,48,51,0,69,85,0,69,90,0,85,78,0,116,101,114,114,105,116,111,114,121,73,110,102,111,0,65,67,0,112,111,112,117,108,97,116,105,111,110,83,104,97,114,101,70,0,116,101,114,114,105,116,111,114,121,70,0,111,102,102,105,99,105,97,108,83,116,97,116,117,115,0,119,114,105,116,105,110,103,83,104,97,114,101,70,0,107,107,95,65,114,97,98,0,117,122,95,65,114,97,98,0,65,73,0,108,105,116,101,114,97,99,121,83,104,97,114,101,70,0,65,81,0,65,83,0,122,104,95,72,97,110,116,0,65,87,0,65,88,0,97,122,95,67,121,114,108,0,98,115,95,67,121,114,108,0,115,114,95,76,97,116,110,0,102,102,95,65,100,108,109,0,66,76,0,66,77,0,109,115,95,65,114,97,98,0,66,86,0,105,117,95,76,97,116,110,0,67,67,0,67,75,0,104,97,95,65,114,97,98,0,107,101,110,0,107,121,95,65,114,97,98,0,109,110,95,77,111,110,103,0,117,122,95,67,121,114,108,0,121,117,101,95,72,97,110,115,0,67,80,0,67,87,0,68,71,0,69,65,0,70,75,0,70,79,0,101,110,95,83,104,97,119,0,71,70,0,71,71,0,71,73,0,109,97,110,95,78,107,111,111,0,71,80,0,71,83,0,71,85,0,72,77,0,73,67,0,73,77,0,115,100,95,68,101,118,97,0,73,79,0,97,122,95,65,114,97,98,0,74,69,0,117,103,95,67,121,114,108,0,107,117,95,65,114,97,98,0,118,97,105,95,76,97,116,110,0,114,105,102,95,76,97,116,110,0,115,104,105,95,76,97,116,110,0,77,70,0,98,109,95,78,107,111,111,0,77,80,0,77,81,0,77,83,0,78,67,0,78,70,0,117,110,114,95,68,101,118,97,0,78,85,0,80,70,0,112,97,95,65,114,97,98,0,116,103,95,65,114,97,98,0,80,77,0,80,78,0,82,69,0,83,74,0,83,88,0,84,65,0,84,67,0,84,70,0,84,75,0,107,121,95,76,97,116,110,0,105,111,0,106,98,111,0,86,65,0,86,71,0,86,73,0,89,84,0,90,90,0,116,105,109,101,68,97,116,97,0,97,108,108,111,119,101,100,0,112,114,101,102,101,114,114,101,100,0,97,102,95,90,65,0,97,114,95,48,48,49,0,99,97,95,69,83,0,101,115,95,66,79,0,101,115,95,66,82,0,101,115,95,69,67,0,101,115,95,69,83,0,101,115,95,71,81,0,101,115,95,80,69,0,102,114,95,67,65,0,103,108,95,69,83,0,103,117,95,73,78,0,104,105,95,73,78,0,105,116,95,67,72,0,105,116,95,73,84,0,107,110,95,73,78,0,109,108,95,73,78,0,109,114,95,73,78,0,112,97,95,73,78,0,116,97,95,73,78,0,116,101,95,73,78,0,122,117,95,90,65,0,119,101,101,107,68,97,116,97,0,65,78,0,119,101,101,107,68,97,116,97,37,118,97,114,105,97,110,116,0,119,101,101,107,79,102,80,114,101,102,101,114,101,110,99,101,0,105,119,0,122,104,95,84,87,0,170,0,0,104,0,66,0,0,0,73,0,68,0,0,0,80,0,72,0,0,0,69,0,84,0,0,0,68,0,90,0,0,0,102,0,102,0,0,0,67,0,90,0,0,0,84,0,82,0,0,0,66,0,71,0,0,0,67,0,73,0,0,0,68,0,74,0,0,0,72,0,85,0,0,0,73,0,81,0,0,0,75,0,90,0,0,0,77,0,76,0,0,0,78,0,79,0,0,0,66,0,70,0,0,0,66,0,73,0,0,0,69,0,71,0,0,0,71,0,69,0,0,0,83,0,89,0,0,0,88,0,75,0,0,0,89,0,69,0,0,0,65,0,69,0,0,0,66,0,74,0,0,0,72,0,84,0,0,0,74,0,79,0,0,0,75,0,87,0,0,0,76,0,89,0,0,0,77,0,72,0,0,0,81,0,65,0,0,0,84,0,74,0,0,0,85,0,90,0,0,0,65,0,83,0,0,0,65,0,87,0,0,0,66,0,72,0,0,0,66,0,81,0,0,0,66,0,84,0,0,0,67,0,87,0,0,0,71,0,85,0,0,0,73,0,83,0,0,0,74,0,80,0,0,0,75,0,72,0,0,0,77,0,67,0,0,0,77,0,69,0,0,0,78,0,67,0,0,0,65,0,81,0,0,0,65,0,88,0,0,0,66,0,76,0,0,0,66,0,85,0,0,0,66,0,86,0,0,0,69,0,65,0,0,0,70,0,88,0,0,0,71,0,76,0,0,0,77,0,81,0,0,0,80,0,83,0,0,0,81,0,79,0,0,0,81,0,85,0,0,0,84,0,87,0,0,0,90,0,82,0,0,0,67,0,80,0,0,0,69,0,90,0,0,0,81,0,77,0,0,0,81,0,78,0,0,0,81,0,80,0,0,0,81,0,82,0,0,0,81,0,83,0,0,0,81,0,84,0,0,0,81,0,86,0,0,0,81,0,87,0,0,0,81,0,88,0,0,0,81,0,89,0,0,0,81,0,90,0,0,0,88,0,65,0,0,0,88,0,66,0,0,0,88,0,67,0,0,0,88,0,68,0,0,0,88,0,69,0,0,0,88,0,70,0,0,0,88,0,71,0,0,0,88,0,72,0,0,0,88,0,73,0,0,0,88,0,74,0,0,0,88,0,76,0,0,0,88,0,79,0,0,0,88,0,81,0,0,0,88,0,83,0,0,0,88,0,84,0,0,0,88,0,85,0,0,0,88,0,87,0,0,0,88,0,89,0,0,0,88,0,90,0,0,0,104,0,122,0,0,0,107,0,106,0,0,0,122,0,104,0,98,0,0,0,122,0,101,0,110,0,0,0,78,0,82,0,85,0,0,0,105,0,115,0,48,0,0,0,120,0,122,0,104,0,0,0,85,0,83,0,78,0,0,0,80,0,67,0,78,0,0,0,86,0,73,0,82,0,0,0,108,0,117,0,121,0,0,0,86,0,69,0,83,0,0,0,65,0,82,0,83,0,0,0,68,0,77,0,65,0,0,0,84,0,67,0,65,0,0,0,77,0,82,0,79,0,0,0,69,0,84,0,72,0,0,0,73,0,83,0,75,0,0,0,75,0,72,0,82,0,0,0,88,0,67,0,68,0,0,0,78,0,80,0,76,0,0,0,83,0,73,0,84,0,0,0,88,0,69,0,69,0,0,0,107,0,108,0,110,0,0,0,78,0,71,0,78,0,0,0,88,0,85,0,65,0,0,0,77,0,76,0,84,0,0,0,77,0,78,0,69,0,0,0,83,0,76,0,86,0,0,0,90,0,65,0,70,0,0,0,82,0,87,0,70,0,0,0,83,0,84,0,78,0,0,0,66,0,71,0,82,0,0,0,70,0,76,0,75,0,0,0,77,0,78,0,80,0,0,0,84,0,75,0,77,0,0,0,88,0,66,0,65,0,0,0,88,0,66,0,68,0,0,0,70,0,75,0,80,0,0,0,72,0,84,0,71,0,0,0,78,0,65,0,68,0,0,0,84,0,84,0,68,0,0,0,75,0,65,0,90,0,0,0,77,0,76,0,73,0,0,0,77,0,89,0,84,0,0,0,83,0,86,0,78,0,0,0,122,0,104,0,105,0,0,0,88,0,80,0,70,0,0,0,72,0,75,0,71,0,0,0,76,0,66,0,89,0,0,0,76,0,83,0,79,0,0,0,76,0,86,0,65,0,0,0,77,0,67,0,70,0,0,0,77,0,83,0,82,0,0,0,83,0,76,0,66,0,0,0,83,0,79,0,77,0,0,0,85,0,75,0,82,0,0,0,85,0,83,0,65,0,0,0,88,0,77,0,77,0,0,0,88,0,82,0,69,0,0,0,90,0,77,0,75,0,0,0,122,0,111,0,109,0,0,0,75,0,77,0,70,0,0,0,76,0,89,0,68,0,0,0,77,0,78,0,84,0,0,0,85,0,89,0,85,0,0,0,88,0,83,0,85,0,0,0,65,0,76,0,65,0,0,0,71,0,84,0,77,0,0,0,71,0,85,0,77,0,0,0,73,0,83,0,74,0,0,0,76,0,66,0,78,0,0,0,77,0,71,0,70,0,0,0,78,0,65,0,77,0,0,0,79,0,77,0,78,0,0,0,83,0,67,0,71,0,0,0,83,0,77,0,82,0,0,0,85,0,71,0,65,0,0,0,87,0,83,0,77,0,0,0,88,0,70,0,79,0,0,0,89,0,77,0,68,0,0,0,90,0,65,0,76,0,0,0,121,0,100,0,97,0,0,0,88,0,88,0,88,0,0,0,78,0,73,0,67,0,0,0,113,0,120,0,104,0,0,0,65,0,84,0,70,0,0,0,69,0,67,0,83,0,0,0,73,0,84,0,65,0,0,0,75,0,72,0,77,0,0,0,80,0,65,0,78,0,0,0,83,0,71,0,80,0,0,0,83,0,80,0,77,0,0,0,83,0,84,0,80,0,0,0,84,0,77,0,80,0,0,0,85,0,71,0,83,0,0,0,88,0,69,0,85,0,0,0,89,0,68,0,68,0,0,0,119,0,121,0,105,0,0,0,120,0,117,0,114,0,0,0,122,0,116,0,101,0,0,0,57,0,54,0,55,0,0,0,66,0,84,0,78,0,0,0,67,0,72,0,69,0,0,0,77,0,75,0,68,0,0,0,90,0,65,0,82,0,0,0,103,0,113,0,105,0,0,0,105,0,108,0,109,0,0,0,107,0,110,0,110,0,0,0,117,0,103,0,101,0,0,0,77,0,88,0,78,0,0,0,77,0,88,0,86,0,0,0,77,0,65,0,67,0,0,0,84,0,85,0,78,0,0,0,88,0,65,0,65,0,0,0,90,0,90,0,90,0,0,0,99,0,106,0,118,0,0,0,105,0,102,0,121,0,0,0,110,0,122,0,117,0,0,0,116,0,109,0,108,0,0,0,117,0,105,0,115,0,0,0,117,0,116,0,114,0,0,0,118,0,97,0,97,0,0,0,118,0,101,0,111,0,0,0,118,0,101,0,117,0,0,0,119,0,104,0,117,0,0,0,119,0,105,0,116,0,0,0,119,0,110,0,121,0,0,0,119,0,115,0,107,0,0,0,120,0,97,0,121,0,0,0,120,0,103,0,100,0,0,0,120,0,117,0,103,0,0,0,120,0,119,0,111,0,0,0,121,0,101,0,101,0,0,0,121,0,103,0,117,0,0,0,121,0,105,0,97,0,0,0,121,0,107,0,103,0,0,0,121,0,107,0,121,0,0,0,121,0,108,0,103,0,0,0,121,0,109,0,116,0,0,0,121,0,114,0,119,0,0,0,122,0,98,0,101,0,0,0,122,0,99,0,97,0,0,0,122,0,107,0,107,0,0,0,122,0,111,0,99,0,0,0,122,0,116,0,103,0,0,0,122,0,122,0,97,0,0,0,49,0,52,0,53,0,0,0,50,0,51,0,56,0,0,0,50,0,52,0,50,0,0,0,50,0,54,0,50,0,0,0,50,0,55,0,48,0,0,0,50,0,57,0,50,0,0,0,51,0,52,0,48,0,0,0,51,0,52,0,52,0,0,0,51,0,52,0,56,0,0,0,51,0,53,0,50,0,0,0,51,0,53,0,54,0,0,0,51,0,54,0,48,0,0,0,51,0,54,0,52,0,0,0,51,0,54,0,56,0,0,0,51,0,55,0,54,0,0,0,51,0,56,0,56,0,0,0,51,0,57,0,50,0,0,0,51,0,57,0,56,0,0,0,52,0,48,0,48,0,0,0,52,0,52,0,48,0,0,0,52,0,53,0,52,0,0,0,52,0,53,0,56,0,0,0,52,0,54,0,50,0,0,0,52,0,56,0,52,0,0,0,52,0,57,0,54,0,0,0,52,0,57,0,56,0,0,0,53,0,49,0,54,0,0,0,53,0,52,0,56,0,0,0,53,0,53,0,52,0,0,0,53,0,53,0,56,0,0,0,53,0,54,0,54,0,0,0,53,0,55,0,56,0,0,0,53,0,57,0,56,0,0,0,54,0,48,0,48,0,0,0,54,0,50,0,54,0,0,0,54,0,53,0,52,0,0,0,54,0,55,0,56,0,0,0,54,0,56,0,50,0,0,0,54,0,57,0,48,0,0,0,54,0,57,0,52,0,0,0,55,0,49,0,48,0,0,0,55,0,50,0,56,0,0,0,55,0,52,0,56,0,0,0,55,0,53,0,50,0,0,0,55,0,53,0,54,0,0,0,55,0,54,0,48,0,0,0,55,0,54,0,52,0,0,0,55,0,55,0,54,0,0,0,55,0,56,0,48,0,0,0,55,0,56,0,56,0,0,0,56,0,48,0,48,0,0,0,56,0,49,0,56,0,0,0,56,0,50,0,54,0,0,0,56,0,52,0,48,0,0,0,56,0,53,0,56,0,0,0,56,0,54,0,48,0,0,0,56,0,56,0,50,0,0,0,56,0,57,0,49,0,0,0,57,0,53,0,56,0,0,0,57,0,53,0,57,0,0,0,57,0,54,0,48,0,0,0,57,0,54,0,49,0,0,0,57,0,54,0,50,0,0,0,57,0,54,0,51,0,0,0,57,0,54,0,52,0,0,0,57,0,54,0,53,0,0,0,57,0,54,0,56,0,0,0,57,0,54,0,57,0,0,0,57,0,55,0,48,0,0,0,57,0,55,0,53,0,0,0,57,0,55,0,55,0,0,0,57,0,55,0,56,0,0,0,57,0,55,0,57,0,0,0,57,0,56,0,48,0,0,0,57,0,56,0,49,0,0,0,57,0,56,0,52,0,0,0,57,0,56,0,53,0,0,0,57,0,56,0,54,0,0,0,57,0,57,0,55,0,0,0,57,0,57,0,57,0,0,0,65,0,69,0,68,0,0,0,65,0,70,0,78,0,0,0,65,0,76,0,76,0,0,0,65,0,77,0,68,0,0,0,65,0,78,0,71,0,0,0,65,0,79,0,65,0,0,0,65,0,85,0,68,0,0,0,65,0,87,0,71,0,0,0,65,0,90,0,78,0,0,0,66,0,65,0,77,0,0,0,66,0,66,0,68,0,0,0,66,0,68,0,84,0,0,0,66,0,69,0,76,0,0,0,66,0,71,0,78,0,0,0,66,0,72,0,68,0,0,0,66,0,73,0,70,0,0,0,66,0,77,0,68,0,0,0,66,0,78,0,68,0,0,0,66,0,79,0,66,0,0,0,66,0,79,0,76,0,0,0,66,0,79,0,86,0,0,0,66,0,82,0,76,0,0,0,66,0,82,0,78,0,0,0,66,0,83,0,68,0,0,0,66,0,87,0,80,0,0,0,66,0,89,0,82,0,0,0,66,0,90,0,68,0,0,0,67,0,65,0,68,0,0,0,67,0,68,0,70,0,0,0,67,0,72,0,70,0,0,0,67,0,72,0,87,0,0,0,67,0,76,0,80,0,0,0,67,0,78,0,72,0,0,0,67,0,78,0,89,0,0,0,67,0,79,0,80,0,0,0,67,0,79,0,85,0,0,0,67,0,82,0,67,0,0,0,67,0,85,0,67,0,0,0,67,0,85,0,80,0,0,0,67,0,86,0,69,0,0,0,67,0,89,0,80,0,0,0,67,0,90,0,75,0,0,0,68,0,74,0,70,0,0,0,68,0,75,0,75,0,0,0,68,0,79,0,80,0,0,0,68,0,90,0,68,0,0,0,69,0,71,0,80,0,0,0,69,0,82,0,78,0,0,0,69,0,83,0,80,0,0,0,69,0,84,0,66,0,0,0,69,0,85,0,82,0,0,0,70,0,74,0,68,0,0,0,71,0,66,0,80,0,0,0,71,0,69,0,76,0,0,0,71,0,72,0,83,0,0,0,71,0,73,0,80,0,0,0,71,0,77,0,68,0,0,0,71,0,78,0,70,0,0,0,71,0,82,0,68,0,0,0,71,0,84,0,81,0,0,0,71,0,89,0,68,0,0,0,72,0,75,0,68,0,0,0,72,0,78,0,76,0,0,0,72,0,82,0,75,0,0,0,72,0,85,0,70,0,0,0,73,0,68,0,82,0,0,0,73,0,76,0,83,0,0,0,73,0,78,0,82,0,0,0,73,0,81,0,68,0,0,0,73,0,82,0,82,0,0,0,74,0,77,0,68,0,0,0,74,0,79,0,68,0,0,0,74,0,80,0,89,0,0,0,75,0,69,0,83,0,0,0,75,0,71,0,83,0,0,0,75,0,80,0,87,0,0,0,75,0,82,0,87,0,0,0,75,0,87,0,68,0,0,0,75,0,89,0,68,0,0,0,75,0,90,0,84,0,0,0,76,0,65,0,75,0,0,0,76,0,66,0,80,0,0,0,76,0,75,0,82,0,0,0,76,0,82,0,68,0,0,0,76,0,83,0,76,0,0,0,76,0,84,0,76,0,0,0,77,0,65,0,68,0,0,0,77,0,65,0,70,0,0,0,77,0,68,0,76,0,0,0,77,0,71,0,65,0,0,0,77,0,77,0,75,0,0,0,77,0,79,0,80,0,0,0,77,0,82,0,85,0,0,0,77,0,85,0,82,0,0,0,77,0,86,0,82,0,0,0,77,0,87,0,75,0,0,0,77,0,89,0,82,0,0,0,77,0,90,0,78,0,0,0,78,0,73,0,79,0,0,0,78,0,79,0,75,0,0,0,78,0,80,0,82,0,0,0,78,0,90,0,68,0,0,0,79,0,77,0,82,0,0,0,80,0,65,0,66,0,0,0,80,0,69,0,78,0,0,0,80,0,71,0,75,0,0,0,80,0,72,0,80,0,0,0,80,0,75,0,82,0,0,0,80,0,76,0,78,0,0,0,80,0,89,0,71,0,0,0,81,0,65,0,82,0,0,0,81,0,85,0,85,0,0,0,82,0,79,0,78,0,0,0,82,0,83,0,68,0,0,0,82,0,85,0,66,0,0,0,83,0,65,0,82,0,0,0,83,0,66,0,68,0,0,0,83,0,67,0,82,0,0,0,83,0,68,0,71,0,0,0,83,0,69,0,75,0,0,0,83,0,71,0,68,0,0,0,83,0,72,0,80,0,0,0,83,0,76,0,69,0,0,0,83,0,76,0,76,0,0,0,83,0,79,0,83,0,0,0,83,0,82,0,68,0,0,0,83,0,83,0,80,0,0,0,83,0,84,0,68,0,0,0,83,0,85,0,82,0,0,0,83,0,89,0,80,0,0,0,83,0,90,0,76,0,0,0,84,0,72,0,66,0,0,0,84,0,74,0,83,0,0,0,84,0,77,0,84,0,0,0,84,0,78,0,68,0,0,0,84,0,79,0,80,0,0,0,84,0,82,0,89,0,0,0,84,0,87,0,68,0,0,0,84,0,90,0,83,0,0,0,85,0,65,0,72,0,0,0,85,0,71,0,88,0,0,0,85,0,83,0,68,0,0,0,85,0,89,0,73,0,0,0,85,0,89,0,87,0,0,0,85,0,90,0,83,0,0,0,86,0,69,0,68,0,0,0,86,0,69,0,70,0,0,0,86,0,78,0,68,0,0,0,86,0,85,0,86,0,0,0,87,0,83,0,84,0,0,0,88,0,65,0,70,0,0,0,88,0,65,0,71,0,0,0,88,0,65,0,85,0,0,0,88,0,66,0,66,0,0,0,88,0,68,0,82,0,0,0,88,0,79,0,70,0,0,0,88,0,80,0,68,0,0,0,88,0,80,0,84,0,0,0,88,0,84,0,83,0,0,0,89,0,69,0,82,0,0,0,90,0,77,0,87,0,0,0,97,0,106,0,112,0,0,0,97,0,114,0,113,0,0,0,97,0,114,0,115,0,0,0,97,0,114,0,121,0,0,0,97,0,114,0,122,0,0,0,98,0,98,0,122,0,0,0,98,0,106,0,113,0,0,0,99,0,103,0,50,0,0,0,99,0,103,0,53,0,0,0,99,0,106,0,121,0,0,0,99,0,107,0,98,0,0,0,99,0,114,0,97,0,0,0,99,0,114,0,99,0,0,0,99,0,114,0,108,0,0,0,99,0,114,0,112,0,0,0,99,0,118,0,98,0,0,0,99,0,118,0,115,0,0,0,99,0,122,0,104,0,0,0,100,0,116,0,121,0,0,0,101,0,99,0,121,0,0,0,101,0,103,0,99,0,0,0,101,0,115,0,98,0,0,0,101,0,115,0,99,0,0,0,101,0,115,0,112,0,0,0,101,0,115,0,118,0,0,0,101,0,121,0,111,0,0,0,102,0,102,0,109,0,0,0,102,0,105,0,108,0,0,0,102,0,106,0,99,0,0,0,102,0,106,0,101,0,0,0,102,0,106,0,110,0,0,0,102,0,106,0,114,0,0,0,102,0,106,0,119,0,0,0,102,0,114,0,109,0,0,0,102,0,117,0,98,0,0,0,103,0,109,0,98,0,0,0,103,0,109,0,117,0,0,0,103,0,109,0,119,0,0,0,103,0,110,0,98,0,0,0,103,0,110,0,99,0,0,0,103,0,110,0,100,0,0,0,103,0,110,0,102,0,0,0,103,0,110,0,107,0,0,0,103,0,110,0,108,0,0,0,103,0,110,0,109,0,0,0,103,0,110,0,110,0,0,0,103,0,113,0,99,0,0,0,103,0,114,0,109,0,0,0,103,0,115,0,119,0,0,0,103,0,119,0,108,0,0,0,103,0,119,0,115,0,0,0,104,0,106,0,105,0,0,0,104,0,115,0,110,0,0,0,105,0,101,0,99,0,0,0,105,0,101,0,100,0,0,0,105,0,101,0,103,0,0,0,105,0,101,0,108,0,0,0,105,0,101,0,109,0,0,0,105,0,101,0,117,0,0,0,105,0,108,0,100,0,0,0,105,0,108,0,122,0,0,0,107,0,103,0,106,0,0,0,107,0,103,0,116,0,0,0,107,0,103,0,121,0,0,0,107,0,104,0,49,0,0,0,107,0,104,0,50,0,0,0,107,0,105,0,103,0,0,0,107,0,105,0,112,0,0,0,107,0,109,0,97,0,0,0,107,0,109,0,103,0,0,0,107,0,109,0,109,0,0,0,107,0,110,0,107,0,0,0,108,0,107,0,49,0,0,0,108,0,107,0,50,0,0,0,108,0,107,0,51,0,0,0,108,0,107,0,52,0,0,0,108,0,107,0,53,0,0,0,108,0,107,0,54,0,0,0,108,0,107,0,55,0,0,0,108,0,107,0,56,0,0,0,108,0,107,0,57,0,0,0,108,0,114,0,105,0,0,0,108,0,115,0,103,0,0,0,108,0,116,0,115,0,0,0,109,0,103,0,97,0,0,0,109,0,103,0,100,0,0,0,109,0,103,0,102,0,0,0,109,0,103,0,109,0,0,0,109,0,104,0,108,0,0,0,109,0,104,0,116,0,0,0,109,0,108,0,49,0,0,0,109,0,110,0,49,0,0,0,109,0,119,0,99,0,0,0,109,0,119,0,110,0,0,0,109,0,119,0,115,0,0,0,109,0,122,0,103,0,0,0,109,0,122,0,105,0,0,0,109,0,122,0,108,0,0,0,109,0,122,0,110,0,0,0,110,0,122,0,115,0,0,0,111,0,114,0,99,0,0,0,112,0,97,0,49,0,0,0,112,0,121,0,49,0,0,0,113,0,118,0,97,0,0,0,113,0,118,0,99,0,0,0,113,0,118,0,101,0,0,0,113,0,118,0,115,0,0,0,113,0,118,0,119,0,0,0,113,0,119,0,99,0,0,0,113,0,119,0,104,0,0,0,113,0,120,0,97,0,0,0,113,0,120,0,99,0,0,0,113,0,120,0,108,0,0,0,113,0,120,0,119,0,0,0,114,0,111,0,98,0,0,0,115,0,101,0,107,0,0,0,115,0,108,0,110,0,0,0,115,0,108,0,115,0,0,0,115,0,108,0,119,0,0,0,115,0,116,0,112,0,0,0,116,0,103,0,99,0,0,0,116,0,103,0,107,0,0,0,116,0,103,0,109,0,0,0,116,0,103,0,112,0,0,0,116,0,103,0,115,0,0,0,116,0,104,0,115,0,0,0,116,0,109,0,100,0,0,0,117,0,103,0,99,0,0,0,117,0,103,0,110,0,0,0,117,0,103,0,119,0,0,0,117,0,122,0,115,0,0,0,118,0,114,0,111,0,0,0,121,0,117,0,101,0,0,0,67,0,88,0,82,0,0,0,77,0,88,0,80,0,0,0,83,0,88,0,77,0,0,0,88,0,81,0,81,0,0,0,106,0,105,0,111,0,0,0,107,0,111,0,106,0,0,0,115,0,100,0,122,0,0,0,116,0,100,0,118,0,0,0,117,0,98,0,105,0,0,0,117,0,102,0,105,0,0,0,117,0,112,0,105,0,0,0,120,0,98,0,103,0,0,0,120,0,99,0,101,0,0,0,120,0,99,0,114,0,0,0,120,0,105,0,105,0,0,0,120,0,110,0,100,0,0,0,120,0,115,0,108,0,0,0,120,0,118,0,101,0,0,0,121,0,101,0,108,0,0,0,121,0,107,0,105,0,0,0,121,0,111,0,115,0,0,0,121,0,115,0,103,0,0,0,121,0,116,0,108,0,0,0,121,0,116,0,119,0,0,0,121,0,116,0,121,0,0,0,122,0,99,0,104,0,0,0,122,0,105,0,119,0,0,0,122,0,119,0,97,0,0,0,50,0,51,0,57,0,0,0,50,0,52,0,54,0,0,0,50,0,52,0,56,0,0,0,50,0,52,0,57,0,0,0,50,0,53,0,48,0,0,0,50,0,53,0,52,0,0,0,50,0,53,0,56,0,0,0,50,0,54,0,48,0,0,0,50,0,54,0,54,0,0,0,50,0,54,0,56,0,0,0,50,0,55,0,53,0,0,0,50,0,55,0,54,0,0,0,50,0,55,0,56,0,0,0,50,0,56,0,56,0,0,0,51,0,48,0,48,0,0,0,51,0,55,0,50,0,0,0,51,0,56,0,48,0,0,0,51,0,56,0,52,0,0,0,52,0,51,0,56,0,0,0,52,0,53,0,48,0,0,0,52,0,54,0,54,0,0,0,52,0,55,0,48,0,0,0,52,0,55,0,52,0,0,0,52,0,57,0,50,0,0,0,52,0,57,0,57,0,0,0,53,0,48,0,48,0,0,0,53,0,50,0,48,0,0,0,53,0,51,0,48,0,0,0,53,0,51,0,53,0,0,0,53,0,51,0,54,0,0,0,53,0,52,0,48,0,0,0,53,0,54,0,50,0,0,0,53,0,55,0,48,0,0,0,53,0,55,0,52,0,0,0,53,0,56,0,48,0,0,0,53,0,56,0,49,0,0,0,53,0,56,0,51,0,0,0,53,0,56,0,52,0,0,0,53,0,56,0,53,0,0,0,53,0,57,0,48,0,0,0,53,0,57,0,49,0,0,0,54,0,49,0,50,0,0,0,54,0,49,0,54,0,0,0,54,0,50,0,48,0,0,0,54,0,51,0,48,0,0,0,54,0,53,0,50,0,0,0,54,0,53,0,57,0,0,0,54,0,54,0,48,0,0,0,54,0,54,0,50,0,0,0,54,0,54,0,54,0,0,0,54,0,55,0,48,0,0,0,54,0,55,0,52,0,0,0,54,0,56,0,54,0,0,0,54,0,56,0,56,0,0,0,55,0,49,0,54,0,0,0,55,0,50,0,48,0,0,0,55,0,50,0,57,0,0,0,55,0,52,0,48,0,0,0,55,0,52,0,52,0,0,0,55,0,54,0,50,0,0,0,55,0,54,0,56,0,0,0,55,0,55,0,50,0,0,0,55,0,57,0,53,0,0,0,55,0,57,0,56,0,0,0,56,0,51,0,49,0,0,0,56,0,51,0,50,0,0,0,56,0,51,0,51,0,0,0,56,0,53,0,48,0,0,0,56,0,53,0,52,0,0,0,56,0,54,0,50,0,0,0,56,0,55,0,54,0,0,0,56,0,56,0,54,0,0,0,56,0,56,0,55,0,0,0,56,0,57,0,52,0,0,0,57,0,50,0,55,0,0,0,57,0,50,0,57,0,0,0,57,0,51,0,48,0,0,0,57,0,51,0,49,0,0,0,57,0,51,0,52,0,0,0,57,0,51,0,54,0,0,0,57,0,51,0,55,0,0,0,57,0,51,0,56,0,0,0,57,0,52,0,48,0,0,0,57,0,52,0,49,0,0,0,57,0,52,0,52,0,0,0,57,0,52,0,54,0,0,0,57,0,52,0,55,0,0,0,57,0,52,0,56,0,0,0,57,0,52,0,57,0,0,0,57,0,53,0,48,0,0,0,57,0,53,0,49,0,0,0,57,0,53,0,50,0,0,0,57,0,53,0,51,0,0,0,57,0,53,0,53,0,0,0,57,0,53,0,54,0,0,0,57,0,53,0,55,0,0,0,57,0,54,0,54,0,0,0,57,0,56,0,50,0,0,0,57,0,56,0,51,0,0,0,57,0,56,0,55,0,0,0,57,0,56,0,56,0,0,0,57,0,56,0,57,0,0,0,57,0,57,0,49,0,0,0,57,0,57,0,50,0,0,0,57,0,57,0,51,0,0,0,57,0,57,0,53,0,0,0,57,0,57,0,56,0,0,0,65,0,65,0,65,0,0,0,65,0,66,0,87,0,0,0,65,0,68,0,80,0,0,0,65,0,70,0,65,0,0,0,65,0,70,0,71,0,0,0,65,0,71,0,79,0,0,0,65,0,73,0,65,0,0,0,65,0,76,0,66,0,0,0,65,0,76,0,75,0,0,0,65,0,78,0,68,0,0,0,65,0,78,0,84,0,0,0,65,0,79,0,75,0,0,0,65,0,79,0,78,0,0,0,65,0,79,0,82,0,0,0,65,0,82,0,65,0,0,0,65,0,82,0,69,0,0,0,65,0,82,0,71,0,0,0,65,0,82,0,77,0,0,0,65,0,82,0,80,0,0,0,65,0,83,0,77,0,0,0,65,0,84,0,65,0,0,0,65,0,84,0,71,0,0,0,65,0,84,0,83,0,0,0,65,0,85,0,83,0,0,0,65,0,85,0,84,0,0,0,65,0,90,0,69,0,0,0,65,0,90,0,77,0,0,0,66,0,65,0,68,0,0,0,66,0,65,0,78,0,0,0,66,0,68,0,73,0,0,0,66,0,69,0,67,0,0,0,66,0,69,0,70,0,0,0,66,0,69,0,78,0,0,0,66,0,69,0,83,0,0,0,66,0,70,0,65,0,0,0,66,0,71,0,68,0,0,0,66,0,71,0,79,0,0,0,66,0,72,0,82,0,0,0,66,0,72,0,83,0,0,0,66,0,73,0,72,0,0,0,66,0,76,0,77,0,0,0,66,0,76,0,82,0,0,0,66,0,76,0,90,0,0,0,66,0,77,0,85,0,0,0,66,0,79,0,80,0,0,0,66,0,82,0,65,0,0,0,66,0,82,0,66,0,0,0,66,0,82,0,69,0,0,0,66,0,82,0,82,0,0,0,66,0,82,0,90,0,0,0,66,0,85,0,75,0,0,0,66,0,85,0,82,0,0,0,66,0,86,0,84,0,0,0,66,0,87,0,65,0,0,0,66,0,89,0,66,0,0,0,66,0,89,0,78,0,0,0,67,0,65,0,70,0,0,0,67,0,65,0,78,0,0,0,67,0,67,0,75,0,0,0,67,0,72,0,76,0,0,0,67,0,72,0,78,0,0,0,67,0,73,0,86,0,0,0,67,0,76,0,70,0,0,0,67,0,77,0,82,0,0,0,67,0,78,0,88,0,0,0,67,0,79,0,68,0,0,0,67,0,79,0,71,0,0,0,67,0,79,0,75,0,0,0,67,0,79,0,76,0,0,0,67,0,79,0,77,0,0,0,67,0,80,0,86,0,0,0,67,0,82,0,73,0,0,0,67,0,83,0,68,0,0,0,67,0,83,0,75,0,0,0,67,0,85,0,66,0,0,0,67,0,85,0,87,0,0,0,67,0,89,0,77,0,0,0,67,0,90,0,69,0,0,0,68,0,68,0,77,0,0,0,68,0,68,0,82,0,0,0,68,0,69,0,77,0,0,0,68,0,69,0,85,0,0,0,68,0,74,0,73,0,0,0,68,0,78,0,75,0,0,0,68,0,79,0,77,0,0,0,68,0,90,0,65,0,0,0,69,0,67,0,85,0,0,0,69,0,67,0,86,0,0,0,69,0,69,0,75,0,0,0,69,0,71,0,89,0,0,0,69,0,82,0,73,0,0,0,69,0,83,0,72,0,0,0,69,0,83,0,84,0,0,0,70,0,73,0,77,0,0,0,70,0,73,0,78,0,0,0,70,0,74,0,73,0,0,0,70,0,82,0,65,0,0,0,70,0,82,0,70,0,0,0,70,0,82,0,79,0,0,0,70,0,83,0,77,0,0,0,70,0,88,0,88,0,0,0,71,0,65,0,66,0,0,0,71,0,66,0,82,0,0,0,71,0,69,0,75,0,0,0,71,0,69,0,79,0,0,0,71,0,71,0,89,0,0,0,71,0,72,0,65,0,0,0,71,0,72,0,67,0,0,0,71,0,73,0,66,0,0,0,71,0,73,0,78,0,0,0,71,0,76,0,80,0,0,0,71,0,77,0,66,0,0,0,71,0,78,0,66,0,0,0,71,0,78,0,81,0,0,0,71,0,78,0,83,0,0,0,71,0,81,0,69,0,0,0,71,0,82,0,67,0,0,0,71,0,82,0,76,0,0,0,71,0,85,0,70,0,0,0,71,0,85,0,89,0,0,0,71,0,87,0,69,0,0,0,71,0,87,0,80,0,0,0,72,0,77,0,68,0,0,0,72,0,78,0,68,0,0,0,72,0,82,0,68,0,0,0,72,0,82,0,86,0,0,0,72,0,84,0,73,0,0,0,72,0,85,0,78,0,0,0,73,0,68,0,78,0,0,0,73,0,69,0,80,0,0,0,73,0,76,0,80,0,0,0,73,0,76,0,82,0,0,0,73,0,77,0,78,0,0,0,73,0,78,0,68,0,0,0,73,0,79,0,84,0,0,0,73,0,82,0,76,0,0,0,73,0,82,0,78,0,0,0,73,0,82,0,81,0,0,0,73,0,83,0,76,0,0,0,73,0,83,0,82,0,0,0,73,0,84,0,76,0,0,0,74,0,65,0,77,0,0,0,74,0,69,0,89,0,0,0,74,0,79,0,82,0,0,0,74,0,80,0,78,0,0,0,75,0,69,0,78,0,0,0,75,0,71,0,90,0,0,0,75,0,73,0,82,0,0,0,75,0,78,0,65,0,0,0,75,0,79,0,82,0,0,0,75,0,82,0,72,0,0,0,75,0,82,0,79,0,0,0,75,0,87,0,84,0,0,0,76,0,65,0,79,0,0,0,76,0,66,0,82,0,0,0,76,0,67,0,65,0,0,0,76,0,73,0,69,0,0,0,76,0,75,0,65,0,0,0,76,0,84,0,84,0,0,0,76,0,84,0,85,0,0,0,76,0,85,0,67,0,0,0,76,0,85,0,70,0,0,0,76,0,85,0,76,0,0,0,76,0,85,0,88,0,0,0,76,0,86,0,76,0,0,0,76,0,86,0,82,0,0,0,77,0,65,0,82,0,0,0,77,0,67,0,79,0,0,0,77,0,68,0,65,0,0,0,77,0,68,0,67,0,0,0,77,0,68,0,71,0,0,0,77,0,68,0,86,0,0,0,77,0,69,0,88,0,0,0,77,0,72,0,76,0,0,0,77,0,75,0,78,0,0,0,77,0,76,0,70,0,0,0,77,0,77,0,82,0,0,0,77,0,78,0,71,0,0,0,77,0,79,0,90,0,0,0,77,0,82,0,84,0,0,0,77,0,84,0,76,0,0,0,77,0,84,0,80,0,0,0,77,0,84,0,81,0,0,0,77,0,85,0,83,0,0,0,77,0,86,0,80,0,0,0,77,0,87,0,73,0,0,0,77,0,89,0,83,0,0,0,77,0,90,0,69,0,0,0,77,0,90,0,77,0,0,0,78,0,67,0,76,0,0,0,78,0,69,0,82,0,0,0,78,0,70,0,75,0,0,0,78,0,71,0,65,0,0,0,78,0,73,0,85,0,0,0,78,0,76,0,68,0,0,0,78,0,76,0,71,0,0,0,78,0,79,0,82,0,0,0,78,0,84,0,90,0,0,0,78,0,90,0,76,0,0,0,80,0,65,0,75,0,0,0,80,0,69,0,73,0,0,0,80,0,69,0,82,0,0,0,80,0,69,0,83,0,0,0,80,0,72,0,76,0,0,0,80,0,76,0,87,0,0,0,80,0,76,0,90,0,0,0,80,0,78,0,71,0,0,0,80,0,79,0,76,0,0,0,80,0,82,0,73,0,0,0,80,0,82,0,75,0,0,0,80,0,82,0,84,0,0,0,80,0,82,0,89,0,0,0,80,0,83,0,69,0,0,0,80,0,84,0,69,0,0,0,80,0,89,0,70,0,0,0,81,0,65,0,84,0,0,0,81,0,77,0,77,0,0,0,81,0,78,0,78,0,0,0,81,0,79,0,79,0,0,0,81,0,80,0,80,0,0,0,81,0,81,0,81,0,0,0,81,0,82,0,82,0,0,0,81,0,83,0,83,0,0,0,81,0,84,0,84,0,0,0,81,0,86,0,86,0,0,0,81,0,87,0,87,0,0,0,81,0,88,0,88,0,0,0,81,0,89,0,89,0,0,0,81,0,90,0,90,0,0,0,82,0,69,0,85,0,0,0,82,0,72,0,68,0,0,0,82,0,79,0,76,0,0,0,82,0,79,0,85,0,0,0,82,0,85,0,82,0,0,0,82,0,85,0,83,0,0,0,82,0,87,0,65,0,0,0,83,0,65,0,85,0,0,0,83,0,68,0,68,0,0,0,83,0,68,0,78,0,0,0,83,0,68,0,80,0,0,0,83,0,69,0,78,0,0,0,83,0,71,0,83,0,0,0,83,0,72,0,78,0,0,0,83,0,74,0,77,0,0,0,83,0,75,0,75,0,0,0,83,0,82,0,66,0,0,0,83,0,82,0,71,0,0,0,83,0,83,0,68,0,0,0,83,0,85,0,78,0,0,0,83,0,86,0,67,0,0,0,83,0,86,0,75,0,0,0,83,0,87,0,69,0,0,0,83,0,87,0,90,0,0,0,83,0,89,0,67,0,0,0,83,0,89,0,82,0,0,0,84,0,67,0,68,0,0,0,84,0,71,0,79,0,0,0,84,0,72,0,65,0,0,0,84,0,74,0,75,0,0,0,84,0,74,0,82,0,0,0,84,0,75,0,76,0,0,0,84,0,76,0,83,0,0,0,84,0,77,0,77,0,0,0,84,0,79,0,78,0,0,0,84,0,80,0,69,0,0,0,84,0,82,0,76,0,0,0,84,0,84,0,79,0,0,0,84,0,85,0,82,0,0,0,84,0,85,0,86,0,0,0,84,0,87,0,78,0,0,0,84,0,90,0,65,0,0,0,85,0,65,0,75,0,0,0,85,0,77,0,73,0,0,0,85,0,82,0,89,0,0,0,85,0,83,0,83,0,0,0,85,0,89,0,80,0,0,0,85,0,90,0,66,0,0,0,86,0,65,0,84,0,0,0,86,0,67,0,84,0,0,0,86,0,69,0,66,0,0,0,86,0,69,0,78,0,0,0,86,0,71,0,66,0,0,0,86,0,78,0,77,0,0,0,86,0,78,0,78,0,0,0,86,0,85,0,84,0,0,0,87,0,76,0,70,0,0,0,88,0,66,0,67,0,0,0,88,0,67,0,67,0,0,0,88,0,68,0,68,0,0,0,88,0,70,0,70,0,0,0,88,0,70,0,85,0,0,0,88,0,71,0,71,0,0,0,88,0,72,0,72,0,0,0,88,0,73,0,73,0,0,0,88,0,74,0,74,0,0,0,88,0,75,0,75,0,0,0,88,0,76,0,76,0,0,0,88,0,78,0,78,0,0,0,88,0,79,0,79,0,0,0,88,0,80,0,80,0,0,0,88,0,82,0,82,0,0,0,88,0,83,0,83,0,0,0,88,0,84,0,84,0,0,0,88,0,85,0,85,0,0,0,88,0,86,0,86,0,0,0,88,0,87,0,87,0,0,0,88,0,89,0,89,0,0,0,88,0,90,0,90,0,0,0,89,0,69,0,77,0,0,0,89,0,85,0,68,0,0,0,89,0,85,0,71,0,0,0,89,0,85,0,82,0,0,0,90,0,77,0,66,0,0,0,90,0,82,0,78,0,0,0,90,0,82,0,90,0,0,0,90,0,87,0,68,0,0,0,90,0,87,0,69,0,0,0,90,0,87,0,76,0,0,0,90,0,87,0,82,0,0,0,97,0,97,0,101,0,0,0,97,0,97,0,109,0,0,0,97,0,97,0,111,0,0,0,97,0,97,0,122,0,0,0,97,0,98,0,104,0,0,0,97,0,98,0,118,0,0,0,97,0,99,0,109,0,0,0,97,0,99,0,113,0,0,0,97,0,99,0,119,0,0,0,97,0,99,0,120,0,0,0,97,0,99,0,121,0,0,0,97,0,100,0,102,0,0,0,97,0,100,0,108,0,0,0,97,0,100,0,112,0,0,0,97,0,101,0,98,0,0,0,97,0,101,0,117,0,0,0,97,0,101,0,119,0,0,0,97,0,102,0,98,0,0,0,97,0,102,0,107,0,0,0,97,0,102,0,122,0,0,0,97,0,105,0,115,0,0,0,97,0,105,0,116,0,0,0,97,0,106,0,97,0,0,0,97,0,106,0,103,0,0,0,97,0,106,0,105,0,0,0,97,0,106,0,110,0,0,0,97,0,106,0,115,0,0,0,97,0,106,0,119,0,0,0,97,0,106,0,122,0,0,0,97,0,108,0,110,0,0,0,97,0,108,0,115,0,0,0,97,0,111,0,120,0,0,0,97,0,111,0,122,0,0,0,97,0,112,0,99,0,0,0,97,0,112,0,100,0,0,0,97,0,113,0,97,0,0,0,97,0,113,0,103,0,0,0,97,0,113,0,112,0,0,0,97,0,113,0,114,0,0,0,97,0,113,0,116,0,0,0,97,0,113,0,122,0,0,0,97,0,114,0,102,0,0,0,97,0,114,0,103,0,0,0,97,0,114,0,104,0,0,0,97,0,114,0,106,0,0,0,97,0,114,0,108,0,0,0,97,0,114,0,112,0,0,0,97,0,114,0,114,0,0,0,97,0,114,0,117,0,0,0,97,0,114,0,118,0,0,0,97,0,114,0,119,0,0,0,97,0,114,0,120,0,0,0,97,0,115,0,100,0,0,0,97,0,116,0,49,0,0,0,97,0,116,0,50,0,0,0,97,0,116,0,51,0,0,0,97,0,116,0,52,0,0,0,97,0,116,0,53,0,0,0,97,0,116,0,54,0,0,0,97,0,116,0,55,0,0,0,97,0,116,0,56,0,0,0,97,0,116,0,57,0,0,0,97,0,117,0,101,0,0,0,97,0,117,0,122,0,0,0,97,0,118,0,98,0,0,0,97,0,118,0,100,0,0,0,97,0,118,0,108,0,0,0,97,0,119,0,107,0,0,0,97,0,120,0,98,0,0,0,97,0,120,0,103,0,0,0,97,0,120,0,120,0,0,0,97,0,121,0,104,0,0,0,97,0,121,0,108,0,0,0,97,0,121,0,110,0,0,0,97,0,121,0,112,0,0,0,97,0,121,0,114,0,0,0,97,0,121,0,122,0,0,0,97,0,122,0,98,0,0,0,97,0,122,0,103,0,0,0,97,0,122,0,106,0,0,0,97,0,122,0,116,0,0,0,97,0,122,0,122,0,0,0,98,0,99,0,99,0,0,0,98,0,99,0,108,0,0,0,98,0,100,0,97,0,0,0,98,0,100,0,98,0,0,0,98,0,100,0,99,0,0,0,98,0,100,0,100,0,0,0,98,0,100,0,101,0,0,0,98,0,100,0,104,0,0,0,98,0,103,0,109,0,0,0,98,0,104,0,107,0,0,0,98,0,104,0,114,0,0,0,98,0,105,0,99,0,0,0,98,0,105,0,106,0,0,0,98,0,106,0,100,0,0,0,98,0,106,0,110,0,0,0,98,0,107,0,97,0,0,0,98,0,107,0,98,0,0,0,98,0,109,0,109,0,0,0,98,0,109,0,121,0,0,0,98,0,109,0,122,0,0,0,98,0,111,0,98,0,0,0,98,0,111,0,99,0,0,0,98,0,111,0,110,0,0,0,98,0,111,0,111,0,0,0,98,0,111,0,115,0,0,0,98,0,111,0,116,0,0,0,98,0,112,0,97,0,0,0,98,0,112,0,98,0,0,0,98,0,116,0,97,0,0,0,98,0,116,0,98,0,0,0,98,0,116,0,106,0,0,0,98,0,116,0,108,0,0,0,98,0,118,0,101,0,0,0,98,0,118,0,117,0,0,0,98,0,120,0,107,0,0,0,98,0,120,0,114,0,0,0,98,0,120,0,115,0,0,0,98,0,120,0,120,0,0,0,98,0,120,0,122,0,0,0,98,0,121,0,121,0,0,0,98,0,121,0,122,0,0,0,98,0,122,0,99,0,0,0,99,0,98,0,101,0,0,0,99,0,98,0,103,0,0,0,99,0,98,0,104,0,0,0,99,0,98,0,121,0,0,0,99,0,99,0,97,0,0,0,99,0,99,0,106,0,0,0,99,0,99,0,113,0,0,0,99,0,100,0,97,0,0,0,99,0,100,0,103,0,0,0,99,0,100,0,111,0,0,0,99,0,101,0,103,0,0,0,99,0,101,0,110,0,0,0,99,0,101,0,116,0,0,0,99,0,101,0,121,0,0,0,99,0,102,0,97,0,0,0,99,0,102,0,100,0,0,0,99,0,102,0,103,0,0,0,99,0,102,0,109,0,0,0,99,0,103,0,55,0,0,0,99,0,103,0,56,0,0,0,99,0,103,0,57,0,0,0,99,0,103,0,99,0,0,0,99,0,103,0,103,0,0,0,99,0,103,0,107,0,0,0,99,0,104,0,114,0,0,0,99,0,105,0,104,0,0,0,99,0,105,0,107,0,0,0,99,0,105,0,112,0,0,0,99,0,105,0,114,0,0,0,99,0,105,0,119,0,0,0,99,0,105,0,121,0,0,0,99,0,106,0,97,0,0,0,99,0,106,0,107,0,0,0,99,0,106,0,114,0,0,0,99,0,106,0,115,0,0,0,99,0,107,0,97,0,0,0,99,0,107,0,104,0,0,0,99,0,108,0,99,0,0,0,99,0,108,0,101,0,0,0,99,0,108,0,111,0,0,0,99,0,108,0,119,0,0,0,99,0,108,0,121,0,0,0,99,0,109,0,101,0,0,0,99,0,109,0,105,0,0,0,99,0,109,0,107,0,0,0,99,0,110,0,114,0,0,0,99,0,111,0,121,0,0,0,99,0,111,0,122,0,0,0,99,0,112,0,105,0,0,0,99,0,112,0,115,0,0,0,99,0,112,0,117,0,0,0,99,0,112,0,120,0,0,0,99,0,113,0,100,0,0,0,99,0,113,0,117,0,0,0,99,0,114,0,103,0,0,0,99,0,114,0,104,0,0,0,99,0,114,0,115,0,0,0,99,0,116,0,97,0,0,0,99,0,117,0,103,0,0,0,99,0,117,0,109,0,0,0,99,0,118,0,103,0,0,0,99,0,118,0,110,0,0,0,99,0,119,0,100,0,0,0,99,0,119,0,101,0,0,0,99,0,119,0,103,0,0,0,99,0,119,0,116,0,0,0,99,0,121,0,111,0,0,0,99,0,122,0,107,0,0,0,99,0,122,0,111,0,0,0,99,0,122,0,116,0,0,0,100,0,97,0,97,0,0,0,100,0,97,0,102,0,0,0,100,0,97,0,112,0,0,0,100,0,99,0,99,0,0,0,100,0,100,0,97,0,0,0,100,0,100,0,103,0,0,0,100,0,101,0,122,0,0,0,100,0,103,0,117,0,0,0,100,0,104,0,100,0,0,0,100,0,104,0,103,0,0,0,100,0,105,0,107,0,0,0,100,0,105,0,113,0,0,0,100,0,105,0,117,0,0,0,100,0,106,0,108,0,0,0,100,0,106,0,114,0,0,0,100,0,107,0,107,0,0,0,100,0,107,0,120,0,0,0,100,0,108,0,103,0,0,0,100,0,108,0,107,0,0,0,100,0,110,0,97,0,0,0,100,0,110,0,103,0,0,0,100,0,110,0,121,0,0,0,100,0,114,0,103,0,0,0,100,0,114,0,104,0,0,0,100,0,114,0,108,0,0,0,100,0,114,0,113,0,0,0,100,0,114,0,114,0,0,0,100,0,114,0,119,0,0,0,100,0,115,0,101,0,0,0,100,0,115,0,113,0,0,0,100,0,115,0,122,0,0,0,100,0,116,0,100,0,0,0,100,0,116,0,107,0,0,0,100,0,117,0,106,0,0,0,100,0,117,0,112,0,0,0,100,0,118,0,97,0,0,0,100,0,119,0,97,0,0,0,100,0,119,0,107,0,0,0,100,0,119,0,108,0,0,0,100,0,119,0,117,0,0,0,100,0,119,0,119,0,0,0,100,0,121,0,100,0,0,0,100,0,121,0,103,0,0,0,100,0,121,0,105,0,0,0,100,0,121,0,117,0,0,0,100,0,121,0,121,0,0,0,100,0,122,0,97,0,0,0,100,0,122,0,100,0,0,0,100,0,122,0,101,0,0,0,100,0,122,0,103,0,0,0,100,0,122,0,108,0,0,0,100,0,122,0,110,0,0,0,101,0,97,0,97,0,0,0,101,0,98,0,99,0,0,0,101,0,98,0,103,0,0,0,101,0,98,0,107,0,0,0,101,0,98,0,117,0,0,0,101,0,99,0,97,0,0,0,101,0,99,0,98,0,0,0,101,0,99,0,99,0,0,0,101,0,99,0,100,0,0,0,101,0,99,0,102,0,0,0,101,0,99,0,103,0,0,0,101,0,99,0,104,0,0,0,101,0,99,0,105,0,0,0,101,0,99,0,108,0,0,0,101,0,99,0,109,0,0,0,101,0,99,0,112,0,0,0,101,0,99,0,114,0,0,0,101,0,99,0,115,0,0,0,101,0,99,0,116,0,0,0,101,0,99,0,117,0,0,0,101,0,99,0,120,0,0,0,101,0,99,0,122,0,0,0,101,0,101,0,101,0,0,0,101,0,102,0,97,0,0,0,101,0,102,0,101,0,0,0,101,0,102,0,105,0,0,0,101,0,103,0,97,0,0,0,101,0,103,0,111,0,0,0,101,0,104,0,115,0,0,0,101,0,105,0,112,0,0,0,101,0,105,0,118,0,0,0,101,0,107,0,99,0,0,0,101,0,107,0,103,0,0,0,101,0,107,0,105,0,0,0,101,0,107,0,114,0,0,0,101,0,108,0,101,0,0,0,101,0,108,0,111,0,0,0,101,0,108,0,112,0,0,0,101,0,108,0,120,0,0,0,101,0,109,0,101,0,0,0,101,0,109,0,103,0,0,0,101,0,109,0,105,0,0,0,101,0,109,0,107,0,0,0,101,0,109,0,115,0,0,0,101,0,109,0,117,0,0,0,101,0,110,0,98,0,0,0,101,0,110,0,104,0,0,0,101,0,111,0,116,0,0,0,101,0,112,0,105,0,0,0,101,0,115,0,113,0,0,0,101,0,116,0,120,0,0,0,101,0,116,0,122,0,0,0,101,0,118,0,101,0,0,0,101,0,118,0,104,0,0,0,101,0,118,0,110,0,0,0,101,0,119,0,111,0,0,0,101,0,120,0,116,0,0,0,101,0,121,0,97,0,0,0,101,0,122,0,97,0,0,0,101,0,122,0,101,0,0,0,102,0,97,0,100,0,0,0,102,0,97,0,112,0,0,0,102,0,97,0,114,0,0,0,102,0,97,0,116,0,0,0,102,0,97,0,117,0,0,0,102,0,98,0,108,0,0,0,102,0,99,0,115,0,0,0,102,0,102,0,105,0,0,0,102,0,103,0,114,0,0,0,102,0,105,0,97,0,0,0,102,0,105,0,112,0,0,0,102,0,105,0,114,0,0,0,102,0,105,0,119,0,0,0,102,0,107,0,107,0,0,0,102,0,107,0,118,0,0,0,102,0,108,0,108,0,0,0,102,0,108,0,121,0,0,0,102,0,109,0,117,0,0,0,102,0,110,0,98,0,0,0,102,0,110,0,105,0,0,0,102,0,111,0,100,0,0,0,102,0,111,0,105,0,0,0,102,0,111,0,120,0,0,0,102,0,112,0,101,0,0,0,102,0,113,0,115,0,0,0,102,0,114,0,99,0,0,0,102,0,114,0,107,0,0,0,102,0,114,0,110,0,0,0,102,0,115,0,108,0,0,0,102,0,115,0,115,0,0,0,102,0,117,0,99,0,0,0,102,0,117,0,101,0,0,0,102,0,117,0,102,0,0,0,102,0,117,0,104,0,0,0,102,0,117,0,105,0,0,0,102,0,117,0,113,0,0,0,102,0,117,0,121,0,0,0,102,0,118,0,114,0,0,0,102,0,119,0,97,0,0,0,102,0,119,0,101,0,0,0,103,0,97,0,49,0,0,0,103,0,97,0,50,0,0,0,103,0,97,0,51,0,0,0,103,0,97,0,52,0,0,0,103,0,97,0,53,0,0,0,103,0,97,0,54,0,0,0,103,0,97,0,55,0,0,0,103,0,97,0,56,0,0,0,103,0,97,0,57,0,0,0,103,0,97,0,97,0,0,0,103,0,97,0,118,0,0,0,103,0,97,0,120,0,0,0,103,0,97,0,122,0,0,0,103,0,98,0,99,0,0,0,103,0,99,0,108,0,0,0,103,0,99,0,110,0,0,0,103,0,99,0,116,0,0,0,103,0,100,0,120,0,0,0,103,0,101,0,113,0,0,0,103,0,102,0,107,0,0,0,103,0,102,0,116,0,0,0,103,0,102,0,120,0,0,0,103,0,103,0,103,0,0,0,103,0,103,0,114,0,0,0,103,0,103,0,119,0,0,0,103,0,104,0,99,0,0,0,103,0,104,0,101,0,0,0,103,0,104,0,104,0,0,0,103,0,105,0,111,0,0,0,103,0,106,0,107,0,0,0,103,0,106,0,114,0,0,0,103,0,106,0,117,0,0,0,103,0,107,0,97,0,0,0,103,0,107,0,112,0,0,0,103,0,107,0,117,0,0,0,103,0,108,0,104,0,0,0,103,0,108,0,105,0,0,0,103,0,108,0,111,0,0,0,103,0,108,0,114,0,0,0,103,0,108,0,117,0,0,0,103,0,108,0,119,0,0,0,103,0,108,0,121,0,0,0,103,0,109,0,108,0,0,0,103,0,109,0,109,0,0,0,103,0,110,0,111,0,0,0,103,0,110,0,122,0,0,0,103,0,111,0,109,0,0,0,103,0,112,0,97,0,0,0,103,0,112,0,101,0,0,0,103,0,112,0,110,0,0,0,103,0,113,0,97,0,0,0,103,0,113,0,110,0,0,0,103,0,113,0,114,0,0,0,103,0,113,0,117,0,0,0,103,0,114,0,97,0,0,0,103,0,114,0,98,0,0,0,103,0,114,0,99,0,0,0,103,0,114,0,100,0,0,0,103,0,114,0,102,0,0,0,103,0,114,0,103,0,0,0,103,0,114,0,104,0,0,0,103,0,114,0,106,0,0,0,103,0,114,0,107,0,0,0,103,0,114,0,108,0,0,0,103,0,115,0,101,0,0,0,103,0,115,0,103,0,0,0,103,0,115,0,115,0,0,0,103,0,116,0,105,0,0,0,103,0,116,0,117,0,0,0,103,0,117,0,103,0,0,0,103,0,117,0,110,0,0,0,103,0,117,0,122,0,0,0,103,0,118,0,97,0,0,0,103,0,118,0,99,0,0,0,103,0,118,0,106,0,0,0,103,0,118,0,121,0,0,0,103,0,119,0,114,0,0,0,103,0,120,0,120,0,0,0,103,0,121,0,97,0,0,0,103,0,121,0,98,0,0,0,103,0,121,0,105,0,0,0,103,0,121,0,114,0,0,0,103,0,122,0,105,0,0,0,103,0,122,0,110,0,0,0,104,0,97,0,101,0,0,0,104,0,97,0,107,0,0,0,104,0,98,0,117,0,0,0,104,0,99,0,97,0,0,0,104,0,99,0,104,0,0,0,104,0,100,0,110,0,0,0,104,0,100,0,115,0,0,0,104,0,100,0,121,0,0,0,104,0,101,0,97,0,0,0,104,0,101,0,100,0,0,0,104,0,101,0,109,0,0,0,104,0,103,0,109,0,0,0,104,0,103,0,119,0,0,0,104,0,104,0,105,0,0,0,104,0,104,0,114,0,0,0,104,0,104,0,121,0,0,0,104,0,105,0,109,0,0,0,104,0,105,0,111,0,0,0,104,0,105,0,114,0,0,0,104,0,105,0,116,0,0,0,104,0,107,0,97,0,0,0,104,0,107,0,101,0,0,0,104,0,107,0,104,0,0,0,104,0,107,0,107,0,0,0,104,0,107,0,110,0,0,0,104,0,110,0,97,0,0,0,104,0,110,0,117,0,0,0,104,0,112,0,111,0,0,0,104,0,112,0,115,0,0,0,104,0,114,0,97,0,0,0,104,0,114,0,99,0,0,0,104,0,114,0,101,0,0,0,104,0,114,0,107,0,0,0,104,0,114,0,109,0,0,0,104,0,114,0,114,0,0,0,104,0,114,0,122,0,0,0,104,0,115,0,98,0,0,0,104,0,115,0,108,0,0,0,104,0,115,0,115,0,0,0,104,0,116,0,111,0,0,0,104,0,116,0,115,0,0,0,104,0,116,0,117,0,0,0,104,0,116,0,120,0,0,0,104,0,118,0,99,0,0,0,104,0,118,0,107,0,0,0,104,0,118,0,110,0,0,0,104,0,118,0,118,0,0,0,104,0,119,0,97,0,0,0,104,0,119,0,99,0,0,0,104,0,119,0,111,0,0,0,104,0,121,0,97,0,0,0,105,0,97,0,105,0,0,0,105,0,97,0,112,0,0,0,105,0,97,0,114,0,0,0,105,0,98,0,105,0,0,0,105,0,98,0,117,0,0,0,105,0,98,0,121,0,0,0,105,0,99,0,104,0,0,0,105,0,99,0,108,0,0,0,105,0,99,0,114,0,0,0,105,0,100,0,97,0,0,0,105,0,100,0,105,0,0,0,105,0,102,0,107,0,0,0,105,0,102,0,109,0,0,0,105,0,103,0,98,0,0,0,105,0,103,0,101,0,0,0,105,0,103,0,103,0,0,0,105,0,103,0,115,0,0,0,105,0,103,0,119,0,0,0,105,0,104,0,98,0,0,0,105,0,104,0,105,0,0,0,105,0,104,0,112,0,0,0,105,0,104,0,119,0,0,0,105,0,105,0,110,0,0,0,105,0,105,0,114,0,0,0,105,0,106,0,99,0,0,0,105,0,106,0,101,0,0,0,105,0,106,0,106,0,0,0,105,0,106,0,115,0,0,0,105,0,107,0,101,0,0,0,105,0,107,0,116,0,0,0,105,0,107,0,122,0,0,0,105,0,108,0,107,0,0,0,105,0,108,0,108,0,0,0,105,0,108,0,119,0,0,0,105,0,109,0,101,0,0,0,105,0,109,0,108,0,0,0,105,0,110,0,106,0,0,0,105,0,110,0,122,0,0,0,105,0,111,0,114,0,0,0,105,0,111,0,117,0,0,0,105,0,112,0,105,0,0,0,105,0,112,0,111,0,0,0,105,0,113,0,117,0,0,0,105,0,113,0,119,0,0,0,105,0,114,0,101,0,0,0,105,0,114,0,114,0,0,0,105,0,114,0,117,0,0,0,105,0,115,0,49,0,0,0,105,0,115,0,50,0,0,0,105,0,115,0,51,0,0,0,105,0,115,0,52,0,0,0,105,0,115,0,53,0,0,0,105,0,115,0,54,0,0,0,105,0,115,0,55,0,0,0,105,0,115,0,56,0,0,0,105,0,115,0,107,0,0,0,105,0,115,0,114,0,0,0,105,0,116,0,105,0,0,0,105,0,116,0,111,0,0,0,105,0,117,0,109,0,0,0,105,0,118,0,118,0,0,0,105,0,119,0,107,0,0,0,105,0,119,0,109,0,0,0,105,0,119,0,111,0,0,0,105,0,119,0,115,0,0,0,105,0,120,0,99,0,0,0,105,0,120,0,108,0,0,0,105,0,121,0,97,0,0,0,105,0,121,0,111,0,0,0,105,0,121,0,120,0,0,0,105,0,122,0,104,0,0,0,105,0,122,0,105,0,0,0,105,0,122,0,114,0,0,0,106,0,97,0,104,0,0,0,106,0,97,0,120,0,0,0,106,0,98,0,101,0,0,0,106,0,98,0,114,0,0,0,106,0,98,0,119,0,0,0,106,0,100,0,97,0,0,0,106,0,100,0,103,0,0,0,106,0,100,0,116,0,0,0,106,0,101,0,98,0,0,0,106,0,101,0,101,0,0,0,106,0,101,0,103,0,0,0,106,0,101,0,114,0,0,0,106,0,103,0,101,0,0,0,106,0,103,0,107,0,0,0,106,0,103,0,111,0,0,0,106,0,104,0,105,0,0,0,106,0,104,0,115,0,0,0,106,0,105,0,113,0,0,0,106,0,105,0,121,0,0,0,106,0,106,0,101,0,0,0,106,0,106,0,114,0,0,0,106,0,107,0,97,0,0,0,106,0,107,0,109,0,0,0,106,0,107,0,117,0,0,0,106,0,108,0,101,0,0,0,106,0,108,0,115,0,0,0,106,0,109,0,105,0,0,0,106,0,109,0,108,0,0,0,106,0,109,0,110,0,0,0,106,0,110,0,97,0,0,0,106,0,110,0,100,0,0,0,106,0,110,0,108,0,0,0,106,0,110,0,115,0,0,0,106,0,111,0,100,0,0,0,106,0,111,0,103,0,0,0,106,0,112,0,97,0,0,0,106,0,112,0,114,0,0,0,106,0,112,0,120,0,0,0,106,0,113,0,114,0,0,0,106,0,114,0,114,0,0,0,106,0,115,0,108,0,0,0,106,0,117,0,119,0,0,0,106,0,117,0,121,0,0,0,106,0,118,0,100,0,0,0,106,0,118,0,110,0,0,0,106,0,119,0,105,0,0,0,106,0,121,0,97,0,0,0,106,0,121,0,101,0,0,0,106,0,121,0,121,0,0,0,107,0,98,0,102,0,0,0,107,0,100,0,118,0,0,0,107,0,103,0,99,0,0,0,107,0,103,0,104,0,0,0,107,0,103,0,111,0,0,0,107,0,104,0,51,0,0,0,107,0,104,0,52,0,0,0,107,0,104,0,53,0,0,0,107,0,104,0,54,0,0,0,107,0,104,0,55,0,0,0,107,0,104,0,56,0,0,0,107,0,104,0,57,0,0,0,107,0,104,0,107,0,0,0,107,0,106,0,102,0,0,0,107,0,109,0,114,0,0,0,107,0,110,0,99,0,0,0,107,0,110,0,103,0,0,0,107,0,111,0,97,0,0,0,107,0,111,0,107,0,0,0,107,0,111,0,120,0,0,0,107,0,112,0,101,0,0,0,107,0,112,0,112,0,0,0,107,0,114,0,105,0,0,0,107,0,114,0,109,0,0,0,107,0,116,0,114,0,0,0,107,0,118,0,98,0,0,0,107,0,118,0,114,0,0,0,107,0,118,0,115,0,0,0,107,0,119,0,113,0,0,0,107,0,120,0,100,0,0,0,107,0,120,0,101,0,0,0,107,0,120,0,102,0,0,0,107,0,120,0,108,0,0,0,107,0,120,0,117,0,0,0,107,0,122,0,104,0,0,0,107,0,122,0,106,0,0,0,107,0,122,0,116,0,0,0,108,0,97,0,107,0,0,0,108,0,97,0,117,0,0,0,108,0,98,0,107,0,0,0,108,0,99,0,102,0,0,0,108,0,99,0,104,0,0,0,108,0,99,0,115,0,0,0,108,0,100,0,100,0,0,0,108,0,101,0,103,0,0,0,108,0,102,0,97,0,0,0,108,0,102,0,110,0,0,0,108,0,103,0,122,0,0,0,108,0,104,0,112,0,0,0,108,0,105,0,105,0,0,0,108,0,105,0,119,0,0,0,108,0,106,0,97,0,0,0,108,0,106,0,101,0,0,0,108,0,106,0,105,0,0,0,108,0,106,0,108,0,0,0,108,0,106,0,112,0,0,0,108,0,107,0,98,0,0,0,108,0,107,0,115,0,0,0,108,0,107,0,121,0,0,0,108,0,108,0,115,0,0,0,108,0,108,0,120,0,0,0,108,0,110,0,115,0,0,0,108,0,110,0,117,0,0,0,108,0,110,0,122,0,0,0,108,0,111,0,122,0,0,0,108,0,112,0,97,0,0,0,108,0,112,0,101,0,0,0,108,0,113,0,114,0,0,0,108,0,114,0,97,0,0,0,108,0,114,0,99,0,0,0,108,0,114,0,103,0,0,0,108,0,114,0,114,0,0,0,108,0,114,0,116,0,0,0,108,0,114,0,118,0,0,0,108,0,114,0,122,0,0,0,108,0,115,0,97,0,0,0,108,0,115,0,99,0,0,0,108,0,115,0,100,0,0,0,108,0,115,0,101,0,0,0,108,0,115,0,102,0,0,0,108,0,115,0,106,0,0,0,108,0,115,0,121,0,0,0,108,0,116,0,99,0,0,0,108,0,116,0,103,0,0,0,108,0,116,0,111,0,0,0,108,0,116,0,117,0,0,0,108,0,117,0,100,0,0,0,108,0,117,0,103,0,0,0,108,0,117,0,108,0,0,0,108,0,118,0,97,0,0,0,108,0,118,0,107,0,0,0,108,0,118,0,117,0,0,0,108,0,119,0,97,0,0,0,108,0,119,0,101,0,0,0,108,0,119,0,103,0,0,0,108,0,119,0,111,0,0,0,108,0,119,0,119,0,0,0,108,0,120,0,109,0,0,0,108,0,121,0,97,0,0,0,108,0,121,0,103,0,0,0,108,0,121,0,110,0,0,0,108,0,122,0,108,0,0,0,108,0,122,0,110,0,0,0,108,0,122,0,122,0,0,0,109,0,97,0,105,0,0,0,109,0,97,0,120,0,0,0,109,0,97,0,122,0,0,0,109,0,101,0,103,0,0,0,109,0,101,0,111,0,0,0,109,0,102,0,97,0,0,0,109,0,102,0,98,0,0,0,109,0,102,0,101,0,0,0,109,0,103,0,116,0,0,0,109,0,103,0,117,0,0,0,109,0,103,0,120,0,0,0,109,0,104,0,104,0,0,0,109,0,104,0,114,0,0,0,109,0,105,0,110,0,0,0,109,0,105,0,115,0,0,0,109,0,106,0,97,0,0,0,109,0,108,0,50,0,0,0,109,0,108,0,51,0,0,0,109,0,108,0,52,0,0,0,109,0,108,0,53,0,0,0,109,0,108,0,54,0,0,0,109,0,108,0,55,0,0,0,109,0,108,0,56,0,0,0,109,0,108,0,57,0,0,0,109,0,108,0,100,0,0,0,109,0,108,0,122,0,0,0,109,0,110,0,107,0,0,0,109,0,110,0,116,0,0,0,109,0,111,0,97,0,0,0,109,0,111,0,102,0,0,0,109,0,111,0,109,0,0,0,109,0,113,0,103,0,0,0,109,0,115,0,105,0,0,0,109,0,115,0,116,0,0,0,109,0,117,0,105,0,0,0,109,0,117,0,112,0,0,0,109,0,118,0,102,0,0,0,109,0,118,0,109,0,0,0,109,0,119,0,100,0,0,0,109,0,119,0,106,0,0,0,109,0,119,0,122,0,0,0,109,0,121,0,100,0,0,0,109,0,121,0,105,0,0,0,109,0,121,0,113,0,0,0,109,0,121,0,116,0,0,0,109,0,122,0,98,0,0,0,109,0,122,0,112,0,0,0,109,0,122,0,113,0,0,0,109,0,122,0,115,0,0,0,109,0,122,0,116,0,0,0,110,0,98,0,120,0,0,0,110,0,98,0,121,0,0,0,110,0,99,0,120,0,0,0,110,0,99,0,122,0,0,0,110,0,101,0,49,0,0,0,110,0,101,0,50,0,0,0,110,0,101,0,51,0,0,0,110,0,101,0,52,0,0,0,110,0,101,0,53,0,0,0,110,0,101,0,54,0,0,0,110,0,101,0,55,0,0,0,110,0,101,0,56,0,0,0,110,0,102,0,100,0,0,0,110,0,102,0,108,0,0,0,110,0,102,0,117,0,0,0,110,0,103,0,111,0,0,0,110,0,104,0,100,0,0,0,110,0,105,0,113,0,0,0,110,0,106,0,100,0,0,0,110,0,107,0,122,0,0,0,110,0,108,0,99,0,0,0,110,0,108,0,113,0,0,0,110,0,108,0,114,0,0,0,110,0,110,0,115,0,0,0,110,0,111,0,97,0,0,0,110,0,111,0,111,0,0,0,110,0,112,0,49,0,0,0,110,0,112,0,50,0,0,0,110,0,112,0,51,0,0,0,110,0,112,0,52,0,0,0,110,0,112,0,53,0,0,0,110,0,112,0,108,0,0,0,110,0,112,0,115,0,0,0,110,0,112,0,117,0,0,0,110,0,113,0,103,0,0,0,110,0,113,0,113,0,0,0,110,0,113,0,116,0,0,0,110,0,113,0,121,0,0,0,110,0,114,0,105,0,0,0,110,0,114,0,112,0,0,0,110,0,114,0,114,0,0,0,110,0,114,0,120,0,0,0,110,0,114,0,122,0,0,0,110,0,115,0,111,0,0,0,110,0,116,0,109,0,0,0,110,0,116,0,115,0,0,0,110,0,118,0,104,0,0,0,110,0,118,0,109,0,0,0,110,0,118,0,111,0,0,0,110,0,119,0,101,0,0,0,110,0,119,0,103,0,0,0,110,0,119,0,105,0,0,0,110,0,119,0,111,0,0,0,110,0,119,0,114,0,0,0,110,0,120,0,97,0,0,0,110,0,120,0,103,0,0,0,110,0,120,0,105,0,0,0,110,0,120,0,117,0,0,0,110,0,120,0,120,0,0,0,110,0,121,0,100,0,0,0,110,0,122,0,100,0,0,0,110,0,122,0,105,0,0,0,110,0,122,0,107,0,0,0,110,0,122,0,109,0,0,0,110,0,122,0,110,0,0,0,111,0,97,0,97,0,0,0,111,0,97,0,99,0,0,0,111,0,97,0,118,0,0,0,111,0,98,0,105,0,0,0,111,0,98,0,111,0,0,0,111,0,99,0,97,0,0,0,111,0,99,0,104,0,0,0,111,0,99,0,109,0,0,0,111,0,99,0,111,0,0,0,111,0,99,0,117,0,0,0,111,0,100,0,97,0,0,0,111,0,100,0,107,0,0,0,111,0,102,0,111,0,0,0,111,0,102,0,115,0,0,0,111,0,102,0,117,0,0,0,111,0,103,0,103,0,0,0,111,0,105,0,97,0,0,0,111,0,105,0,101,0,0,0,111,0,105,0,110,0,0,0,111,0,106,0,103,0,0,0,111,0,106,0,112,0,0,0,111,0,107,0,105,0,0,0,111,0,107,0,120,0,0,0,111,0,107,0,122,0,0,0,111,0,108,0,97,0,0,0,111,0,108,0,107,0,0,0,111,0,108,0,111,0,0,0,111,0,108,0,114,0,0,0,111,0,109,0,101,0,0,0,111,0,109,0,103,0,0,0,111,0,109,0,105,0,0,0,111,0,111,0,100,0,0,0,111,0,111,0,103,0,0,0,111,0,112,0,97,0,0,0,111,0,112,0,107,0,0,0,111,0,112,0,109,0,0,0,111,0,112,0,121,0,0,0,111,0,114,0,110,0,0,0,111,0,114,0,115,0,0,0,111,0,114,0,121,0,0,0,111,0,114,0,122,0,0,0,111,0,115,0,99,0,0,0,111,0,115,0,105,0,0,0,111,0,115,0,120,0,0,0,111,0,116,0,105,0,0,0,111,0,117,0,101,0,0,0,111,0,117,0,105,0,0,0,111,0,117,0,109,0,0,0,111,0,117,0,110,0,0,0,111,0,118,0,100,0,0,0,111,0,119,0,105,0,0,0,111,0,119,0,108,0,0,0,111,0,121,0,98,0,0,0,111,0,121,0,100,0,0,0,111,0,121,0,109,0,0,0,111,0,121,0,121,0,0,0,111,0,122,0,109,0,0,0,112,0,97,0,50,0,0,0,112,0,97,0,51,0,0,0,112,0,97,0,52,0,0,0,112,0,97,0,53,0,0,0,112,0,97,0,54,0,0,0,112,0,97,0,55,0,0,0,112,0,97,0,56,0,0,0,112,0,97,0,57,0,0,0,112,0,97,0,116,0,0,0,112,0,98,0,116,0,0,0,112,0,98,0,117,0,0,0,112,0,98,0,118,0,0,0,112,0,98,0,121,0,0,0,112,0,98,0,122,0,0,0,112,0,99,0,109,0,0,0,112,0,99,0,112,0,0,0,112,0,99,0,114,0,0,0,112,0,99,0,119,0,0,0,112,0,100,0,97,0,0,0,112,0,100,0,99,0,0,0,112,0,100,0,105,0,0,0,112,0,101,0,108,0,0,0,112,0,101,0,115,0,0,0,112,0,101,0,118,0,0,0,112,0,102,0,97,0,0,0,112,0,102,0,101,0,0,0,112,0,102,0,108,0,0,0,112,0,103,0,100,0,0,0,112,0,103,0,103,0,0,0,112,0,103,0,105,0,0,0,112,0,103,0,110,0,0,0,112,0,103,0,115,0,0,0,112,0,103,0,117,0,0,0,112,0,103,0,121,0,0,0,112,0,103,0,122,0,0,0,112,0,104,0,97,0,0,0,112,0,104,0,100,0,0,0,112,0,105,0,105,0,0,0,112,0,105,0,106,0,0,0,112,0,106,0,116,0,0,0,112,0,108,0,112,0,0,0,112,0,108,0,116,0,0,0,112,0,109,0,99,0,0,0,112,0,109,0,117,0,0,0,112,0,110,0,98,0,0,0,112,0,111,0,99,0,0,0,112,0,111,0,100,0,0,0,112,0,111,0,107,0,0,0,112,0,112,0,97,0,0,0,112,0,112,0,101,0,0,0,112,0,112,0,105,0,0,0,112,0,112,0,114,0,0,0,112,0,113,0,97,0,0,0,112,0,113,0,101,0,0,0,112,0,113,0,109,0,0,0,112,0,113,0,119,0,0,0,112,0,114,0,98,0,0,0,112,0,114,0,115,0,0,0,112,0,114,0,121,0,0,0,112,0,114,0,122,0,0,0,112,0,115,0,116,0,0,0,112,0,115,0,119,0,0,0,112,0,115,0,121,0,0,0,112,0,116,0,97,0,0,0,112,0,116,0,121,0,0,0,112,0,117,0,107,0,0,0,112,0,117,0,109,0,0,0,112,0,117,0,122,0,0,0,112,0,119,0,103,0,0,0,112,0,119,0,105,0,0,0,112,0,119,0,114,0,0,0,112,0,119,0,119,0,0,0,112,0,120,0,109,0,0,0,112,0,121,0,50,0,0,0,112,0,121,0,51,0,0,0,112,0,121,0,52,0,0,0,112,0,121,0,53,0,0,0,112,0,121,0,54,0,0,0,112,0,121,0,55,0,0,0,112,0,121,0,56,0,0,0,112,0,121,0,57,0,0,0,112,0,121,0,101,0,0,0,112,0,121,0,115,0,0,0,112,0,121,0,117,0,0,0,112,0,122,0,104,0,0,0,112,0,122,0,110,0,0,0,113,0,102,0,122,0,0,0,113,0,117,0,98,0,0,0,113,0,117,0,100,0,0,0,113,0,117,0,102,0,0,0,113,0,117,0,103,0,0,0,113,0,117,0,104,0,0,0,113,0,117,0,107,0,0,0,113,0,117,0,108,0,0,0,113,0,117,0,112,0,0,0,113,0,117,0,114,0,0,0,113,0,117,0,119,0,0,0,113,0,117,0,120,0,0,0,113,0,117,0,121,0,0,0,113,0,117,0,122,0,0,0,113,0,118,0,104,0,0,0,113,0,118,0,105,0,0,0,113,0,118,0,106,0,0,0,113,0,118,0,108,0,0,0,113,0,118,0,109,0,0,0,113,0,118,0,110,0,0,0,113,0,118,0,111,0,0,0,113,0,118,0,112,0,0,0,113,0,118,0,122,0,0,0,113,0,119,0,101,0,0,0,113,0,119,0,109,0,0,0,113,0,119,0,115,0,0,0,113,0,120,0,110,0,0,0,113,0,120,0,111,0,0,0,113,0,120,0,112,0,0,0,113,0,120,0,114,0,0,0,113,0,120,0,116,0,0,0,113,0,120,0,117,0,0,0,113,0,121,0,97,0,0,0,113,0,121,0,112,0,0,0,114,0,97,0,103,0,0,0,114,0,98,0,98,0,0,0,114,0,98,0,112,0,0,0,114,0,99,0,102,0,0,0,114,0,101,0,103,0,0,0,114,0,101,0,121,0,0,0,114,0,103,0,97,0,0,0,114,0,103,0,110,0,0,0,114,0,103,0,117,0,0,0,114,0,104,0,103,0,0,0,114,0,104,0,112,0,0,0,114,0,105,0,102,0,0,0,114,0,105,0,114,0,0,0,114,0,106,0,103,0,0,0,114,0,106,0,105,0,0,0,114,0,106,0,115,0,0,0,114,0,107,0,109,0,0,0,114,0,107,0,119,0,0,0,114,0,109,0,114,0,0,0,114,0,109,0,122,0,0,0,114,0,110,0,97,0,0,0,114,0,110,0,98,0,0,0,114,0,110,0,100,0,0,0,114,0,110,0,103,0,0,0,114,0,110,0,108,0,0,0,114,0,110,0,110,0,0,0,114,0,110,0,112,0,0,0,114,0,110,0,114,0,0,0,114,0,110,0,119,0,0,0,114,0,111,0,99,0,0,0,114,0,111,0,114,0,0,0,114,0,111,0,117,0,0,0,114,0,111,0,119,0,0,0,114,0,112,0,110,0,0,0,114,0,112,0,116,0,0,0,114,0,114,0,116,0,0,0,114,0,115,0,98,0,0,0,114,0,116,0,99,0,0,0,114,0,116,0,104,0,0,0,114,0,116,0,109,0,0,0,114,0,116,0,115,0,0,0,114,0,116,0,119,0,0,0,114,0,117,0,107,0,0,0,114,0,119,0,111,0,0,0,114,0,119,0,114,0,0,0,114,0,120,0,100,0,0,0,114,0,120,0,119,0,0,0,114,0,121,0,110,0,0,0,114,0,121,0,115,0,0,0,114,0,121,0,117,0,0,0,114,0,122,0,104,0,0,0,115,0,97,0,111,0,0,0,115,0,100,0,109,0,0,0,115,0,100,0,120,0,0,0,115,0,101,0,100,0,0,0,115,0,101,0,104,0,0,0,115,0,101,0,105,0,0,0,115,0,101,0,109,0,0,0,115,0,101,0,111,0,0,0,115,0,101,0,115,0,0,0,115,0,101,0,117,0,0,0,115,0,101,0,122,0,0,0,115,0,102,0,98,0,0,0,115,0,102,0,101,0,0,0,115,0,102,0,109,0,0,0,115,0,102,0,115,0,0,0,115,0,102,0,119,0,0,0,115,0,103,0,108,0,0,0,115,0,103,0,111,0,0,0,115,0,103,0,112,0,0,0,115,0,106,0,119,0,0,0,115,0,107,0,107,0,0,0,115,0,110,0,98,0,0,0,115,0,112,0,103,0,0,0,115,0,112,0,105,0,0,0,115,0,112,0,120,0,0,0,115,0,112,0,121,0,0,0,115,0,113,0,97,0,0,0,115,0,113,0,104,0,0,0,115,0,113,0,120,0,0,0,115,0,114,0,111,0,0,0,115,0,115,0,104,0,0,0,115,0,115,0,121,0,0,0,115,0,117,0,101,0,0,0,115,0,117,0,103,0,0,0,115,0,117,0,111,0,0,0,115,0,118,0,107,0,0,0,115,0,118,0,109,0,0,0,115,0,118,0,114,0,0,0,115,0,118,0,120,0,0,0,115,0,119,0,98,0,0,0,115,0,119,0,99,0,0,0,115,0,119,0,104,0,0,0,115,0,120,0,101,0,0,0,115,0,120,0,103,0,0,0,115,0,120,0,117,0,0,0,115,0,120,0,119,0,0,0,115,0,121,0,105,0,0,0,115,0,121,0,114,0,0,0,115,0,122,0,103,0,0,0,115,0,122,0,108,0,0,0,115,0,122,0,110,0,0,0,115,0,122,0,112,0,0,0,115,0,122,0,115,0,0,0,115,0,122,0,121,0,0,0,116,0,98,0,98,0,0,0,116,0,100,0,117,0,0,0,116,0,100,0,120,0,0,0,116,0,101,0,99,0,0,0,116,0,101,0,107,0,0,0,116,0,102,0,116,0,0,0,116,0,103,0,103,0,0,0,116,0,104,0,99,0,0,0,116,0,105,0,97,0,0,0,116,0,106,0,103,0,0,0,116,0,106,0,115,0,0,0,116,0,106,0,119,0,0,0,116,0,107,0,103,0,0,0,116,0,107,0,107,0,0,0,116,0,107,0,122,0,0,0,116,0,108,0,104,0,0,0,116,0,108,0,119,0,0,0,116,0,109,0,97,0,0,0,116,0,109,0,109,0,0,0,116,0,109,0,112,0,0,0,116,0,109,0,119,0,0,0,116,0,111,0,101,0,0,0,116,0,113,0,98,0,0,0,116,0,113,0,119,0,0,0,116,0,115,0,102,0,0,0,116,0,116,0,113,0,0,0,116,0,117,0,121,0,0,0,116,0,120,0,101,0,0,0,116,0,120,0,121,0,0,0,116,0,121,0,97,0,0,0,116,0,121,0,101,0,0,0,116,0,121,0,108,0,0,0,116,0,121,0,110,0,0,0,116,0,121,0,112,0,0,0,116,0,122,0,104,0,0,0,116,0,122,0,106,0,0,0,116,0,122,0,120,0,0,0,117,0,97,0,114,0,0,0,117,0,98,0,121,0,0,0,117,0,100,0,103,0,0,0,117,0,103,0,104,0,0,0,117,0,104,0,97,0,0,0,117,0,104,0,110,0,0,0,117,0,105,0,118,0,0,0,117,0,106,0,105,0,0,0,117,0,107,0,115,0,0,0,117,0,107,0,121,0,0,0,117,0,108,0,105,0,0,0,117,0,108,0,119,0,0,0,117,0,109,0,103,0,0,0,117,0,109,0,117,0,0,0,117,0,110,0,97,0,0,0,117,0,110,0,101,0,0,0,117,0,110,0,105,0,0,0,117,0,110,0,112,0,0,0,117,0,110,0,117,0,0,0,117,0,110,0,120,0,0,0,117,0,110,0,122,0,0,0,117,0,111,0,107,0,0,0,117,0,111,0,110,0,0,0,117,0,112,0,118,0,0,0,117,0,114,0,107,0,0,0,117,0,115,0,112,0,0,0,117,0,115,0,117,0,0,0,117,0,116,0,104,0,0,0,117,0,116,0,112,0,0,0,117,0,116,0,117,0,0,0,117,0,117,0,109,0,0,0,117,0,117,0,110,0,0,0,117,0,117,0,114,0,0,0,117,0,117,0,117,0,0,0,117,0,118,0,104,0,0,0,117,0,118,0,108,0,0,0,117,0,121,0,97,0,0,0,117,0,122,0,110,0,0,0,118,0,97,0,121,0,0,0,118,0,98,0,98,0,0,0,118,0,98,0,107,0,0,0,118,0,101,0,97,0,0,0,118,0,101,0,98,0,0,0,118,0,101,0,99,0,0,0,118,0,101,0,100,0,0,0,118,0,101,0,101,0,0,0,118,0,101,0,102,0,0,0,118,0,101,0,103,0,0,0,118,0,101,0,104,0,0,0,118,0,101,0,105,0,0,0,118,0,101,0,106,0,0,0,118,0,101,0,107,0,0,0,118,0,101,0,108,0,0,0,118,0,101,0,112,0,0,0,118,0,101,0,115,0,0,0,118,0,101,0,116,0,0,0,118,0,101,0,118,0,0,0,118,0,101,0,119,0,0,0,118,0,101,0,120,0,0,0,118,0,101,0,121,0,0,0,118,0,101,0,122,0,0,0,118,0,103,0,114,0,0,0,118,0,103,0,116,0,0,0,118,0,105,0,118,0,0,0,118,0,107,0,97,0,0,0,118,0,107,0,105,0,0,0,118,0,107,0,107,0,0,0,118,0,107,0,116,0,0,0,118,0,107,0,122,0,0,0,118,0,108,0,112,0,0,0,118,0,108,0,115,0,0,0,118,0,110,0,107,0,0,0,118,0,110,0,109,0,0,0,118,0,110,0,112,0,0,0,118,0,111,0,116,0,0,0,118,0,114,0,97,0,0,0,118,0,115,0,105,0,0,0,118,0,116,0,111,0,0,0,118,0,117,0,116,0,0,0,118,0,119,0,97,0,0,0,119,0,99,0,105,0,0,0,119,0,100,0,100,0,0,0,119,0,100,0,103,0,0,0,119,0,100,0,121,0,0,0,119,0,101,0,97,0,0,0,119,0,101,0,119,0,0,0,119,0,102,0,103,0,0,0,119,0,103,0,103,0,0,0,119,0,103,0,105,0,0,0,119,0,103,0,111,0,0,0,119,0,103,0,117,0,0,0,119,0,103,0,119,0,0,0,119,0,103,0,121,0,0,0,119,0,104,0,103,0,0,0,119,0,104,0,107,0,0,0,119,0,105,0,114,0,0,0,119,0,105,0,119,0,0,0,119,0,105,0,121,0,0,0,119,0,106,0,105,0,0,0,119,0,107,0,100,0,0,0,119,0,107,0,121,0,0,0,119,0,108,0,97,0,0,0,119,0,108,0,99,0,0,0,119,0,108,0,101,0,0,0,119,0,110,0,103,0,0,0,119,0,111,0,119,0,0,0,119,0,111,0,121,0,0,0,119,0,112,0,99,0,0,0,119,0,114,0,97,0,0,0,119,0,114,0,98,0,0,0,119,0,114,0,100,0,0,0,119,0,115,0,103,0,0,0,119,0,115,0,105,0,0,0,119,0,116,0,102,0,0,0,119,0,116,0,107,0,0,0,119,0,116,0,109,0,0,0,119,0,116,0,119,0,0,0,119,0,117,0,100,0,0,0,119,0,117,0,104,0,0,0,119,0,117,0,114,0,0,0,119,0,117,0,117,0,0,0,119,0,119,0,111,0,0,0,119,0,119,0,114,0,0,0,119,0,119,0,119,0,0,0,119,0,120,0,97,0,0,0,119,0,120,0,119,0,0,0,119,0,121,0,97,0,0,0,119,0,121,0,98,0,0,0,119,0,121,0,114,0,0,0,119,0,121,0,121,0,0,0,120,0,97,0,103,0,0,0,120,0,98,0,97,0,0,0,120,0,98,0,114,0,0,0,120,0,98,0,119,0,0,0,120,0,98,0,120,0,0,0,120,0,98,0,121,0,0,0,120,0,99,0,121,0,0,0,120,0,100,0,97,0,0,0,120,0,100,0,99,0,0,0,120,0,100,0,107,0,0,0,120,0,100,0,109,0,0,0,120,0,100,0,111,0,0,0,120,0,100,0,113,0,0,0,120,0,100,0,121,0,0,0,120,0,101,0,98,0,0,0,120,0,101,0,100,0,0,0,120,0,101,0,103,0,0,0,120,0,101,0,112,0,0,0,120,0,102,0,97,0,0,0,120,0,103,0,105,0,0,0,120,0,103,0,114,0,0,0,120,0,103,0,117,0,0,0,120,0,103,0,119,0,0,0,120,0,104,0,97,0,0,0,120,0,104,0,109,0,0,0,120,0,104,0,114,0,0,0,120,0,105,0,97,0,0,0,120,0,105,0,98,0,0,0,120,0,105,0,108,0,0,0,120,0,105,0,110,0,0,0,120,0,105,0,112,0,0,0,120,0,105,0,118,0,0,0,120,0,105,0,121,0,0,0,120,0,106,0,98,0,0,0,120,0,106,0,116,0,0,0,120,0,107,0,104,0,0,0,120,0,108,0,103,0,0,0,120,0,108,0,105,0,0,0,120,0,108,0,115,0,0,0,120,0,108,0,117,0,0,0,120,0,108,0,121,0,0,0,120,0,109,0,109,0,0,0,120,0,109,0,118,0,0,0,120,0,109,0,119,0,0,0,120,0,111,0,103,0,0,0,120,0,111,0,105,0,0,0,120,0,111,0,107,0,0,0,120,0,111,0,114,0,0,0,120,0,111,0,119,0,0,0,120,0,112,0,101,0,0,0,120,0,113,0,97,0,0,0,120,0,113,0,116,0,0,0,120,0,114,0,103,0,0,0,120,0,114,0,105,0,0,0,120,0,114,0,113,0,0,0,120,0,114,0,114,0,0,0,120,0,114,0,119,0,0,0,120,0,115,0,106,0,0,0,120,0,115,0,121,0,0,0,120,0,116,0,121,0,0,0,120,0,116,0,122,0,0,0,120,0,117,0,100,0,0,0,120,0,117,0,106,0,0,0,120,0,118,0,105,0,0,0,120,0,118,0,115,0,0,0,120,0,119,0,97,0,0,0,120,0,119,0,103,0,0,0,120,0,119,0,114,0,0,0,120,0,119,0,116,0,0,0,120,0,119,0,119,0,0,0,120,0,120,0,98,0,0,0,120,0,120,0,107,0,0,0,120,0,120,0,109,0,0,0,120,0,120,0,114,0,0,0,120,0,120,0,116,0,0,0,120,0,121,0,116,0,0,0,120,0,121,0,121,0,0,0,120,0,122,0,109,0,0,0,120,0,122,0,112,0,0,0,121,0,98,0,100,0,0,0,121,0,98,0,101,0,0,0,121,0,99,0,104,0,0,0,121,0,99,0,110,0,0,0,121,0,99,0,112,0,0,0,121,0,100,0,100,0,0,0,121,0,100,0,103,0,0,0,121,0,100,0,107,0,0,0,121,0,100,0,115,0,0,0,121,0,101,0,97,0,0,0,121,0,101,0,99,0,0,0,121,0,101,0,110,0,0,0,121,0,101,0,121,0,0,0,121,0,103,0,97,0,0,0,121,0,103,0,105,0,0,0,121,0,103,0,112,0,0,0,121,0,103,0,119,0,0,0,121,0,104,0,100,0,0,0,121,0,104,0,115,0,0,0,121,0,105,0,104,0,0,0,121,0,105,0,120,0,0,0,121,0,105,0,121,0,0,0,121,0,105,0,122,0,0,0,121,0,107,0,97,0,0,0,121,0,107,0,114,0,0,0,121,0,108,0,101,0,0,0,121,0,108,0,105,0,0,0,121,0,108,0,114,0,0,0,121,0,108,0,117,0,0,0,121,0,108,0,121,0,0,0,121,0,109,0,120,0,0,0,121,0,109,0,122,0,0,0,121,0,110,0,97,0,0,0,121,0,110,0,103,0,0,0,121,0,110,0,104,0,0,0,121,0,110,0,115,0,0,0,121,0,110,0,117,0,0,0,121,0,111,0,98,0,0,0,121,0,111,0,103,0,0,0,121,0,111,0,105,0,0,0,121,0,111,0,116,0,0,0,121,0,112,0,107,0,0,0,121,0,112,0,122,0,0,0,121,0,114,0,101,0,0,0,121,0,114,0,105,0,0,0,121,0,114,0,115,0,0,0,121,0,114,0,121,0,0,0,121,0,115,0,121,0,0,0,121,0,116,0,112,0,0,0,121,0,117,0,117,0,0,0,121,0,118,0,97,0,0,0,121,0,118,0,116,0,0,0,121,0,119,0,103,0,0,0,121,0,119,0,108,0,0,0,121,0,119,0,110,0,0,0,121,0,119,0,119,0,0,0,121,0,120,0,97,0,0,0,121,0,120,0,103,0,0,0,121,0,120,0,117,0,0,0,121,0,120,0,121,0,0,0,121,0,121,0,114,0,0,0,121,0,121,0,117,0,0,0,121,0,121,0,122,0,0,0,121,0,122,0,103,0,0,0,121,0,122,0,107,0,0,0,122,0,98,0,99,0,0,0,122,0,98,0,108,0,0,0,122,0,98,0,119,0,0,0,122,0,99,0,100,0,0,0,122,0,100,0,106,0,0,0,122,0,101,0,97,0,0,0,122,0,103,0,104,0,0,0,122,0,103,0,114,0,0,0,122,0,104,0,100,0,0,0,122,0,104,0,110,0,0,0,122,0,105,0,122,0,0,0,122,0,107,0,100,0,0,0,122,0,107,0,122,0,0,0,122,0,108,0,101,0,0,0,122,0,108,0,106,0,0,0,122,0,108,0,109,0,0,0,122,0,108,0,113,0,0,0,122,0,108,0,115,0,0,0,122,0,108,0,119,0,0,0,122,0,110,0,107,0,0,0,122,0,110,0,115,0,0,0,122,0,111,0,104,0,0,0,122,0,111,0,111,0,0,0,122,0,113,0,101,0,0,0,122,0,114,0,97,0,0,0,122,0,114,0,103,0,0,0,122,0,114,0,115,0,0,0,122,0,117,0,97,0,0,0,122,0,117,0,104,0,0,0,122,0,117,0,121,0,0,0,122,0,120,0,120,0,0,0,122,0,121,0,98,0,0,0,122,0,121,0,103,0,0,0,122,0,121,0,106,0,0,0,122,0,121,0,110,0,0,0,122,0,121,0,112,0,0,0,122,0,122,0,106,0,0,0,69,0,71,0,126,0,72,0,0,0,116,0,122,0,49,0,48,0,0,0,116,0,122,0,51,0,48,0,0,0,116,0,122,0,50,0,48,0,0,0,115,0,121,0,113,0,117,0,0,0,122,0,119,0,109,0,115,0,0,0,67,0,97,0,110,0,115,0,0,0,109,0,119,0,114,0,117,0,0,0,98,0,119,0,102,0,114,0,0,0,84,0,104,0,97,0,105,0,0,0,109,0,119,0,109,0,103,0,0,0,71,0,114,0,101,0,107,0,0,0,84,0,102,0,110,0,103,0,0,0,103,0,121,0,101,0,115,0,0,0,103,0,121,0,100,0,101,0,0,0,83,0,121,0,114,0,99,0,0,0,109,0,119,0,110,0,98,0,0,0,115,0,121,0,105,0,100,0,0,0,117,0,121,0,116,0,97,0,0,0,82,0,117,0,110,0,114,0,0,0,98,0,122,0,115,0,99,0,0,0,104,0,117,0,112,0,115,0,0,0,115,0,122,0,115,0,104,0,0,0,122,0,119,0,109,0,110,0,0,0,66,0,117,0,103,0,105,0,0,0,73,0,116,0,97,0,108,0,0,0,97,0,122,0,108,0,97,0,0,0,97,0,122,0,109,0,105,0,0,0,97,0,122,0,115,0,114,0,0,0,107,0,119,0,107,0,117,0,0,0,108,0,114,0,109,0,121,0,0,0,117,0,122,0,115,0,97,0,0,0,117,0,122,0,115,0,117,0,0,0,98,0,121,0,104,0,114,0,0,0,103,0,119,0,98,0,115,0,0,0,104,0,117,0,107,0,109,0,0,0,108,0,121,0,110,0,108,0,0,0,109,0,119,0,110,0,101,0,0,0,117,0,122,0,115,0,105,0,0,0,83,0,97,0,114,0,98,0,0,0,100,0,101,0,115,0,108,0,0,0,100,0,101,0,115,0,116,0,0,0,103,0,101,0,115,0,122,0,0,0,105,0,101,0,115,0,111,0,0,0,105,0,113,0,119,0,97,0,0,0,110,0,108,0,122,0,104,0,0,0,110,0,112,0,103,0,97,0,0,0,121,0,101,0,115,0,97,0,0,0,121,0,101,0,115,0,104,0,0,0,97,0,122,0,98,0,97,0,0,0,97,0,122,0,110,0,97,0,0,0,97,0,122,0,115,0,109,0,0,0,98,0,119,0,107,0,108,0,0,0,98,0,119,0,107,0,119,0,0,0,109,0,118,0,110,0,111,0,0,0,115,0,118,0,115,0,118,0,0,0,117,0,122,0,110,0,103,0,0,0,83,0,121,0,108,0,111,0,0,0,97,0,122,0,103,0,97,0,0,0,98,0,115,0,115,0,119,0,0,0,98,0,121,0,98,0,114,0,0,0,98,0,121,0,118,0,105,0,0,0,98,0,122,0,99,0,121,0,0,0,99,0,118,0,115,0,100,0,0,0,101,0,116,0,97,0,102,0,0,0,104,0,117,0,99,0,115,0,0,0,108,0,117,0,114,0,109,0,0,0,108,0,121,0,106,0,97,0,0,0,117,0,121,0,99,0,111,0,0,0,117,0,121,0,115,0,111,0,0,0,117,0,121,0,116,0,116,0,0,0,117,0,122,0,116,0,107,0,0,0,117,0,122,0,116,0,111,0,0,0,67,0,104,0,97,0,109,0,0,0,75,0,97,0,108,0,105,0,0,0,80,0,104,0,97,0,103,0,0,0,83,0,97,0,109,0,114,0,0,0,88,0,115,0,117,0,120,0,0,0,66,0,111,0,112,0,111,0,0,0,67,0,111,0,112,0,116,0,0,0,82,0,106,0,110,0,103,0,0,0,83,0,111,0,114,0,97,0,0,0,86,0,97,0,105,0,105,0,0,0,97,0,101,0,114,0,107,0,0,0,97,0,101,0,117,0,113,0,0,0,97,0,117,0,119,0,97,0,0,0,98,0,105,0,98,0,114,0,0,0,98,0,105,0,107,0,105,0,0,0,98,0,105,0,109,0,97,0,0,0,98,0,105,0,109,0,121,0,0,0,98,0,106,0,97,0,113,0,0,0,98,0,110,0,116,0,117,0,0,0,98,0,115,0,101,0,103,0,0,0,98,0,115,0,114,0,99,0,0,0,98,0,119,0,108,0,111,0,0,0,98,0,119,0,110,0,119,0,0,0,99,0,100,0,105,0,116,0,0,0,99,0,100,0,107,0,103,0,0,0,99,0,100,0,107,0,108,0,0,0,99,0,102,0,109,0,112,0,0,0,99,0,102,0,115,0,101,0,0,0,99,0,104,0,116,0,105,0,0,0,99,0,105,0,108,0,103,0,0,0,99,0,105,0,118,0,98,0,0,0,99,0,105,0,122,0,122,0,0,0,99,0,108,0,114,0,109,0,0,0,99,0,108,0,118,0,115,0,0,0,99,0,110,0,108,0,110,0,0,0,99,0,110,0,110,0,120,0,0,0,99,0,110,0,121,0,110,0,0,0,100,0,101,0,116,0,104,0,0,0,100,0,106,0,111,0,98,0,0,0,101,0,103,0,109,0,110,0,0,0,101,0,115,0,101,0,120,0,0,0,101,0,115,0,103,0,99,0,0,0,101,0,115,0,104,0,117,0,0,0,101,0,115,0,112,0,118,0,0,0,103,0,101,0,107,0,97,0,0,0,103,0,108,0,115,0,109,0,0,0,103,0,110,0,102,0,97,0,0,0,103,0,110,0,102,0,114,0,0,0,103,0,110,0,108,0,111,0,0,0,103,0,110,0,112,0,105,0,0,0,103,0,119,0,99,0,97,0,0,0,103,0,119,0,111,0,105,0,0,0,103,0,121,0,117,0,116,0,0,0,104,0,110,0,99,0,112,0,0,0,104,0,117,0,100,0,101,0,0,0,104,0,117,0,100,0,117,0,0,0,104,0,117,0,103,0,121,0,0,0,104,0,117,0,109,0,105,0,0,0,104,0,117,0,110,0,107,0,0,0,104,0,117,0,115,0,107,0,0,0,104,0,117,0,118,0,101,0,0,0,105,0,100,0,103,0,111,0,0,0,105,0,100,0,106,0,119,0,0,0,105,0,100,0,112,0,112,0,0,0,105,0,101,0,99,0,101,0,0,0,105,0,101,0,99,0,119,0,0,0,105,0,101,0,107,0,101,0,0,0,105,0,101,0,107,0,107,0,0,0,105,0,101,0,107,0,121,0,0,0,105,0,101,0,108,0,107,0,0,0,105,0,101,0,108,0,109,0,0,0,105,0,108,0,104,0,97,0,0,0,105,0,110,0,108,0,97,0,0,0,105,0,110,0,116,0,103,0,0,0,105,0,110,0,116,0,114,0,0,0,105,0,116,0,98,0,97,0,0,0,105,0,116,0,102,0,105,0,0,0,105,0,116,0,102,0,114,0,0,0,105,0,116,0,112,0,97,0,0,0,107,0,119,0,106,0,97,0,0,0,108,0,97,0,97,0,116,0,0,0,108,0,97,0,99,0,104,0,0,0,108,0,97,0,118,0,105,0,0,0,108,0,97,0,120,0,101,0,0,0,108,0,114,0,103,0,107,0,0,0,108,0,114,0,114,0,105,0,0,0,108,0,117,0,101,0,115,0,0,0,108,0,117,0,108,0,117,0,0,0,108,0,121,0,110,0,113,0,0,0,108,0,121,0,119,0,97,0,0,0,109,0,99,0,103,0,97,0,0,0,109,0,99,0,106,0,101,0,0,0,109,0,99,0,108,0,97,0,0,0,109,0,99,0,109,0,97,0,0,0,109,0,99,0,109,0,99,0,0,0,109,0,99,0,109,0,103,0,0,0,109,0,99,0,109,0,111,0,0,0,109,0,100,0,104,0,105,0,0,0,109,0,100,0,114,0,105,0,0,0,109,0,117,0,98,0,108,0,0,0,109,0,117,0,114,0,114,0,0,0,109,0,119,0,110,0,105,0,0,0,109,0,119,0,110,0,107,0,0,0,109,0,119,0,110,0,117,0,0,0,109,0,119,0,115,0,97,0,0,0,110,0,97,0,111,0,104,0,0,0,110,0,103,0,97,0,110,0,0,0,110,0,103,0,98,0,111,0,0,0,110,0,103,0,99,0,114,0,0,0,110,0,103,0,106,0,105,0,0,0,110,0,103,0,114,0,105,0,0,0,110,0,103,0,116,0,97,0,0,0,110,0,105,0,99,0,97,0,0,0,110,0,112,0,107,0,111,0,0,0,110,0,112,0,110,0,97,0,0,0,110,0,112,0,114,0,97,0,0,0,110,0,112,0,115,0,97,0,0,0,110,0,112,0,115,0,101,0,0,0,111,0,109,0,122,0,97,0,0,0,112,0,107,0,103,0,98,0,0,0,114,0,111,0,97,0,114,0,0,0,114,0,117,0,98,0,97,0,0,0,114,0,117,0,98,0,117,0,0,0,114,0,117,0,100,0,97,0,0,0,114,0,117,0,115,0,97,0,0,0,114,0,117,0,116,0,97,0,0,0,115,0,100,0,100,0,119,0,0,0,115,0,100,0,103,0,122,0,0,0,115,0,100,0,110,0,114,0,0,0,115,0,107,0,112,0,118,0,0,0,115,0,107,0,122,0,105,0,0,0,115,0,108,0,110,0,119,0,0,0,115,0,110,0,108,0,103,0,0,0,115,0,111,0,98,0,114,0,0,0,115,0,111,0,103,0,101,0,0,0,115,0,111,0,115,0,97,0,0,0,115,0,114,0,115,0,105,0,0,0,115,0,114,0,119,0,97,0,0,0,115,0,115,0,101,0,99,0,0,0,115,0,115,0,101,0,119,0,0,0,115,0,115,0,106,0,103,0,0,0,115,0,121,0,104,0,97,0,0,0,116,0,100,0,107,0,97,0,0,0,116,0,106,0,103,0,98,0,0,0,116,0,108,0,98,0,97,0,0,0,116,0,108,0,118,0,105,0,0,0,117,0,115,0,99,0,97,0,0,0,117,0,115,0,100,0,99,0,0,0,117,0,115,0,108,0,97,0,0,0,117,0,115,0,110,0,104,0,0,0,117,0,121,0,99,0,108,0,0,0,117,0,121,0,109,0,97,0,0,0,119,0,102,0,117,0,118,0,0,0,119,0,115,0,118,0,115,0,0,0,121,0,101,0,104,0,117,0,0,0,121,0,101,0,106,0,97,0,0,0,121,0,101,0,114,0,97,0,0,0,121,0,101,0,115,0,117,0,0,0,122,0,97,0,101,0,99,0,0,0,122,0,97,0,103,0,112,0,0,0,122,0,119,0,104,0,97,0,0,0,49,0,57,0,57,0,52,0,0,0,83,0,103,0,110,0,119,0,0,0,97,0,122,0,110,0,118,0,0,0,98,0,119,0,106,0,119,0,0,0,98,0,119,0,115,0,101,0,0,0,98,0,121,0,104,0,111,0,0,0,99,0,110,0,102,0,106,0,0,0,99,0,118,0,116,0,115,0,0,0,99,0,122,0,53,0,49,0,0,0,99,0,122,0,53,0,50,0,0,0,99,0,122,0,54,0,52,0,0,0,99,0,122,0,55,0,50,0,0,0,99,0,122,0,56,0,48,0,0,0,103,0,101,0,115,0,106,0,0,0,103,0,121,0,99,0,117,0,0,0,103,0,121,0,112,0,116,0,0,0,104,0,117,0,104,0,101,0,0,0,104,0,117,0,107,0,118,0,0,0,105,0,116,0,109,0,115,0,0,0,109,0,119,0,116,0,104,0,0,0,114,0,111,0,99,0,118,0,0,0,114,0,115,0,118,0,111,0,0,0,115,0,118,0,115,0,115,0,0,0,115,0,122,0,108,0,117,0,0,0,117,0,122,0,102,0,97,0,0,0,117,0,122,0,106,0,105,0,0,0,99,0,122,0,107,0,114,0,0,0,83,0,111,0,121,0,111,0,0,0,99,0,122,0,107,0,97,0,0,0,99,0,122,0,112,0,97,0,0,0,99,0,122,0,115,0,116,0,0,0,104,0,117,0,115,0,110,0,0,0,105,0,116,0,98,0,110,0,0,0,105,0,116,0,98,0,111,0,0,0,105,0,116,0,116,0,110,0,0,0,109,0,116,0,53,0,48,0,0,0,112,0,108,0,108,0,98,0,0,0,117,0,121,0,114,0,110,0,0,0,65,0,103,0,104,0,98,0,0,0,65,0,114,0,109,0,105,0,0,0,65,0,118,0,115,0,116,0,0,0,66,0,97,0,108,0,105,0,0,0,66,0,97,0,109,0,117,0,0,0,66,0,97,0,116,0,107,0,0,0,66,0,117,0,104,0,100,0,0,0,67,0,97,0,107,0,109,0,0,0,67,0,97,0,114,0,105,0,0,0,67,0,104,0,101,0,114,0,0,0,67,0,112,0,114,0,116,0,0,0,68,0,117,0,112,0,108,0,0,0,69,0,103,0,121,0,112,0,0,0,69,0,108,0,98,0,97,0,0,0,71,0,111,0,116,0,104,0,0,0,71,0,114,0,97,0,110,0,0,0,72,0,97,0,110,0,111,0,0,0,72,0,109,0,110,0,103,0,0,0,74,0,97,0,118,0,97,0,0,0,76,0,97,0,110,0,97,0,0,0,76,0,101,0,112,0,99,0,0,0,76,0,105,0,109,0,98,0,0,0,76,0,105,0,115,0,117,0,0,0,76,0,121,0,99,0,105,0,0,0,76,0,121,0,100,0,105,0,0,0,77,0,97,0,104,0,106,0,0,0,77,0,97,0,110,0,100,0,0,0,77,0,97,0,110,0,105,0,0,0,77,0,101,0,110,0,100,0,0,0,77,0,101,0,114,0,99,0,0,0,77,0,111,0,100,0,105,0,0,0,77,0,114,0,111,0,111,0,0,0,78,0,97,0,114,0,98,0,0,0,78,0,98,0,97,0,116,0,0,0,79,0,103,0,97,0,109,0,0,0,79,0,108,0,99,0,107,0,0,0,79,0,114,0,107,0,104,0,0,0,79,0,115,0,103,0,101,0,0,0,79,0,115,0,109,0,97,0,0,0,80,0,97,0,108,0,109,0,0,0,80,0,101,0,114,0,109,0,0,0,80,0,104,0,108,0,105,0,0,0,80,0,104,0,108,0,112,0,0,0,80,0,104,0,110,0,120,0,0,0,80,0,108,0,114,0,100,0,0,0,80,0,114,0,116,0,105,0,0,0,82,0,111,0,104,0,103,0,0,0,83,0,97,0,117,0,114,0,0,0,83,0,104,0,114,0,100,0,0,0,83,0,105,0,100,0,100,0,0,0,83,0,117,0,110,0,100,0,0,0,84,0,97,0,103,0,98,0,0,0,84,0,97,0,107,0,114,0,0,0,84,0,97,0,108,0,101,0,0,0,84,0,97,0,108,0,117,0,0,0,84,0,97,0,118,0,116,0,0,0,84,0,103,0,108,0,103,0,0,0,84,0,104,0,97,0,97,0,0,0,84,0,105,0,114,0,104,0,0,0,85,0,103,0,97,0,114,0,0,0,87,0,97,0,114,0,97,0,0,0,88,0,112,0,101,0,111,0,0,0,89,0,105,0,105,0,105,0,0,0,97,0,101,0,97,0,106,0,0,0,97,0,101,0,97,0,122,0,0,0,97,0,101,0,100,0,117,0,0,0,97,0,101,0,102,0,117,0,0,0,97,0,101,0,115,0,104,0,0,0,97,0,109,0,97,0,103,0,0,0,97,0,109,0,97,0,118,0,0,0,97,0,109,0,101,0,114,0,0,0,97,0,109,0,103,0,114,0,0,0,97,0,109,0,107,0,116,0,0,0,97,0,109,0,108,0,111,0,0,0,97,0,109,0,115,0,104,0,0,0,97,0,109,0,115,0,117,0,0,0,97,0,109,0,116,0,118,0,0,0,97,0,109,0,118,0,100,0,0,0,97,0,117,0,110,0,116,0,0,0,97,0,117,0,115,0,97,0,0,0,97,0,122,0,110,0,120,0,0,0,97,0,122,0,115,0,97,0,0,0,97,0,122,0,120,0,97,0,0,0,97,0,122,0,121,0,101,0,0,0,98,0,104,0,49,0,55,0,0,0,98,0,105,0,98,0,98,0,0,0,98,0,105,0,99,0,97,0,0,0,98,0,105,0,99,0,105,0,0,0,98,0,105,0,103,0,105,0,0,0,98,0,105,0,107,0,114,0,0,0,98,0,105,0,107,0,121,0,0,0,98,0,105,0,109,0,117,0,0,0,98,0,105,0,109,0,119,0,0,0,98,0,105,0,110,0,103,0,0,0,98,0,105,0,114,0,109,0,0,0,98,0,105,0,114,0,116,0,0,0,98,0,105,0,114,0,121,0,0,0,98,0,106,0,98,0,111,0,0,0,98,0,106,0,99,0,111,0,0,0,98,0,106,0,100,0,111,0,0,0,98,0,106,0,107,0,111,0,0,0,98,0,106,0,108,0,105,0,0,0,98,0,106,0,109,0,111,0,0,0,98,0,106,0,111,0,117,0,0,0,98,0,106,0,112,0,108,0,0,0,98,0,106,0,122,0,111,0,0,0,98,0,110,0,98,0,101,0,0,0,98,0,110,0,98,0,109,0,0,0,98,0,110,0,116,0,101,0,0,0,98,0,113,0,98,0,111,0,0,0,98,0,113,0,115,0,97,0,0,0,98,0,113,0,115,0,101,0,0,0,98,0,114,0,97,0,99,0,0,0,98,0,114,0,97,0,112,0,0,0,98,0,114,0,98,0,97,0,0,0,98,0,114,0,99,0,101,0,0,0,98,0,114,0,100,0,102,0,0,0,98,0,114,0,101,0,115,0,0,0,98,0,114,0,103,0,111,0,0,0,98,0,114,0,109,0,97,0,0,0,98,0,114,0,109,0,103,0,0,0,98,0,114,0,112,0,101,0,0,0,98,0,114,0,112,0,105,0,0,0,98,0,114,0,112,0,114,0,0,0,98,0,114,0,114,0,106,0,0,0,98,0,114,0,115,0,99,0,0,0,98,0,114,0,115,0,101,0,0,0,98,0,114,0,115,0,112,0,0,0,98,0,114,0,116,0,111,0,0,0,98,0,115,0,97,0,107,0,0,0,98,0,115,0,98,0,105,0,0,0,98,0,115,0,98,0,112,0,0,0,98,0,115,0,98,0,121,0,0,0,98,0,115,0,99,0,101,0,0,0,98,0,115,0,99,0,105,0,0,0,98,0,115,0,99,0,107,0,0,0,98,0,115,0,99,0,111,0,0,0,98,0,115,0,99,0,115,0,0,0,98,0,115,0,101,0,120,0,0,0,98,0,115,0,102,0,112,0,0,0,98,0,115,0,104,0,105,0,0,0,98,0,115,0,104,0,116,0,0,0,98,0,115,0,105,0,110,0,0,0,98,0,115,0,108,0,105,0,0,0,98,0,115,0,109,0,99,0,0,0,98,0,115,0,109,0,103,0,0,0,98,0,115,0,109,0,105,0,0,0,98,0,115,0,110,0,101,0,0,0,98,0,115,0,110,0,115,0,0,0,98,0,115,0,114,0,105,0,0,0,98,0,115,0,115,0,97,0,0,0,98,0,115,0,115,0,101,0,0,0,98,0,115,0,115,0,111,0,0,0,98,0,115,0,115,0,115,0,0,0,98,0,115,0,119,0,103,0,0,0,98,0,116,0,103,0,97,0,0,0,98,0,116,0,116,0,121,0,0,0,98,0,119,0,99,0,101,0,0,0,98,0,119,0,99,0,104,0,0,0,98,0,119,0,103,0,97,0,0,0,98,0,119,0,103,0,104,0,0,0,98,0,119,0,107,0,103,0,0,0,98,0,119,0,110,0,101,0,0,0,98,0,119,0,115,0,116,0,0,0,98,0,121,0,104,0,109,0,0,0,98,0,121,0,109,0,97,0,0,0,98,0,121,0,109,0,105,0,0,0,98,0,122,0,98,0,122,0,0,0,98,0,122,0,111,0,119,0,0,0,99,0,97,0,97,0,98,0,0,0,99,0,97,0,98,0,99,0,0,0,99,0,97,0,109,0,98,0,0,0,99,0,97,0,110,0,98,0,0,0,99,0,97,0,110,0,108,0,0,0,99,0,97,0,111,0,110,0,0,0,99,0,97,0,112,0,101,0,0,0,99,0,97,0,113,0,99,0,0,0,99,0,97,0,115,0,107,0,0,0,99,0,97,0,121,0,116,0,0,0,99,0,100,0,98,0,99,0,0,0,99,0,100,0,98,0,117,0,0,0,99,0,100,0,101,0,113,0,0,0,99,0,100,0,104,0,117,0,0,0,99,0,100,0,107,0,99,0,0,0,99,0,100,0,107,0,101,0,0,0,99,0,100,0,107,0,110,0,0,0,99,0,100,0,107,0,115,0,0,0,99,0,100,0,108,0,111,0,0,0,99,0,100,0,108,0,117,0,0,0,99,0,100,0,109,0,97,0,0,0,99,0,100,0,110,0,107,0,0,0,99,0,100,0,110,0,117,0,0,0,99,0,100,0,115,0,97,0,0,0,99,0,100,0,115,0,107,0,0,0,99,0,100,0,115,0,117,0,0,0,99,0,100,0,116,0,97,0,0,0,99,0,100,0,116,0,111,0,0,0,99,0,100,0,116,0,117,0,0,0,99,0,102,0,97,0,99,0,0,0,99,0,102,0,98,0,98,0,0,0,99,0,102,0,98,0,107,0,0,0,99,0,102,0,104,0,107,0,0,0,99,0,102,0,104,0,109,0,0,0,99,0,102,0,104,0,115,0,0,0,99,0,102,0,107,0,98,0,0,0,99,0,102,0,107,0,103,0,0,0,99,0,102,0,108,0,98,0,0,0,99,0,102,0,109,0,98,0,0,0,99,0,102,0,110,0,109,0,0,0,99,0,102,0,111,0,112,0,0,0,99,0,102,0,117,0,107,0,0,0,99,0,102,0,118,0,107,0,0,0,99,0,104,0,97,0,103,0,0,0,99,0,104,0,97,0,105,0,0,0,99,0,104,0,97,0,114,0,0,0,99,0,104,0,98,0,101,0,0,0,99,0,104,0,98,0,108,0,0,0,99,0,104,0,98,0,115,0,0,0,99,0,104,0,102,0,114,0,0,0,99,0,104,0,103,0,101,0,0,0,99,0,104,0,103,0,108,0,0,0,99,0,104,0,103,0,114,0,0,0,99,0,104,0,106,0,117,0,0,0,99,0,104,0,108,0,117,0,0,0,99,0,104,0,110,0,101,0,0,0,99,0,104,0,110,0,119,0,0,0,99,0,104,0,111,0,119,0,0,0,99,0,104,0,115,0,111,0,0,0,99,0,104,0,115,0,122,0,0,0,99,0,104,0,116,0,103,0,0,0,99,0,104,0,117,0,114,0,0,0,99,0,104,0,118,0,100,0,0,0,99,0,104,0,118,0,115,0,0,0,99,0,105,0,97,0,98,0,0,0,99,0,105,0,98,0,115,0,0,0,99,0,105,0,99,0,109,0,0,0,99,0,105,0,100,0,110,0,0,0,99,0,105,0,103,0,100,0,0,0,99,0,105,0,108,0,99,0,0,0,99,0,105,0,109,0,103,0,0,0,99,0,105,0,115,0,109,0,0,0,99,0,105,0,115,0,118,0,0,0,99,0,105,0,119,0,114,0,0,0,99,0,105,0,121,0,109,0,0,0,99,0,108,0,97,0,105,0,0,0,99,0,108,0,97,0,110,0,0,0,99,0,108,0,97,0,112,0,0,0,99,0,108,0,97,0,114,0,0,0,99,0,108,0,97,0,116,0,0,0,99,0,108,0,98,0,105,0,0,0,99,0,108,0,99,0,111,0,0,0,99,0,108,0,108,0,105,0,0,0,99,0,108,0,108,0,108,0,0,0,99,0,108,0,108,0,114,0,0,0,99,0,108,0,109,0,97,0,0,0,99,0,108,0,109,0,108,0,0,0,99,0,108,0,110,0,98,0,0,0,99,0,108,0,116,0,97,0,0,0,99,0,109,0,97,0,100,0,0,0,99,0,109,0,99,0,101,0,0,0,99,0,109,0,101,0,110,0,0,0,99,0,109,0,101,0,115,0,0,0,99,0,109,0,108,0,116,0,0,0,99,0,109,0,110,0,111,0,0,0,99,0,109,0,110,0,119,0,0,0,99,0,109,0,111,0,117,0,0,0,99,0,109,0,115,0,117,0,0,0,99,0,109,0,115,0,119,0,0,0,99,0,110,0,97,0,104,0,0,0,99,0,110,0,98,0,106,0,0,0,99,0,110,0,99,0,113,0,0,0,99,0,110,0,103,0,100,0,0,0,99,0,110,0,103,0,115,0,0,0,99,0,110,0,103,0,120,0,0,0,99,0,110,0,103,0,122,0,0,0,99,0,110,0,104,0,101,0,0,0,99,0,110,0,104,0,105,0,0,0,99,0,110,0,104,0,110,0,0,0,99,0,110,0,106,0,108,0,0,0,99,0,110,0,106,0,115,0,0,0,99,0,110,0,106,0,120,0,0,0,99,0,110,0,109,0,111,0,0,0,99,0,110,0,110,0,109,0,0,0,99,0,110,0,113,0,104,0,0,0,99,0,110,0,115,0,104,0,0,0,99,0,110,0,115,0,110,0,0,0,99,0,110,0,115,0,120,0,0,0,99,0,110,0,116,0,106,0,0,0,99,0,110,0,116,0,119,0,0,0,99,0,110,0,120,0,106,0,0,0,99,0,110,0,120,0,122,0,0,0,99,0,110,0,122,0,106,0,0,0,99,0,111,0,100,0,99,0,0,0,99,0,114,0,115,0,106,0,0,0,99,0,117,0,48,0,49,0,0,0,99,0,117,0,57,0,57,0,0,0,99,0,118,0,98,0,114,0,0,0,99,0,118,0,98,0,118,0,0,0,99,0,118,0,99,0,97,0,0,0,99,0,118,0,99,0,102,0,0,0,99,0,118,0,99,0,114,0,0,0,99,0,118,0,109,0,97,0,0,0,99,0,118,0,109,0,111,0,0,0,99,0,118,0,112,0,97,0,0,0,99,0,118,0,112,0,110,0,0,0,99,0,118,0,112,0,114,0,0,0,99,0,118,0,114,0,98,0,0,0,99,0,118,0,114,0,103,0,0,0,99,0,118,0,114,0,115,0,0,0,99,0,118,0,115,0,102,0,0,0,99,0,118,0,115,0,111,0,0,0,99,0,118,0,115,0,115,0,0,0,99,0,118,0,115,0,118,0,0,0,99,0,118,0,116,0,97,0,0,0,99,0,122,0,49,0,48,0,0,0,99,0,122,0,50,0,48,0,0,0,99,0,122,0,51,0,49,0,0,0,99,0,122,0,51,0,50,0,0,0,99,0,122,0,52,0,49,0,0,0,99,0,122,0,52,0,50,0,0,0,99,0,122,0,53,0,51,0,0,0,99,0,122,0,54,0,51,0,0,0,99,0,122,0,55,0,49,0,0,0,100,0,101,0,98,0,98,0,0,0,100,0,101,0,98,0,101,0,0,0,100,0,101,0,98,0,119,0,0,0,100,0,101,0,98,0,121,0,0,0,100,0,101,0,104,0,98,0,0,0,100,0,101,0,104,0,101,0,0,0,100,0,101,0,104,0,104,0,0,0,100,0,101,0,109,0,118,0,0,0,100,0,101,0,110,0,105,0,0,0,100,0,101,0,110,0,119,0,0,0,100,0,101,0,114,0,112,0,0,0,100,0,101,0,115,0,104,0,0,0,100,0,101,0,115,0,110,0,0,0,100,0,106,0,116,0,97,0,0,0,101,0,101,0,51,0,55,0,0,0,101,0,101,0,51,0,57,0,0,0,101,0,101,0,52,0,53,0,0,0,101,0,101,0,53,0,48,0,0,0,101,0,101,0,53,0,50,0,0,0,101,0,101,0,53,0,54,0,0,0,101,0,101,0,54,0,48,0,0,0,101,0,101,0,54,0,52,0,0,0,101,0,101,0,54,0,56,0,0,0,101,0,101,0,55,0,49,0,0,0,101,0,101,0,55,0,52,0,0,0,101,0,101,0,55,0,57,0,0,0,101,0,101,0,56,0,49,0,0,0,101,0,101,0,56,0,52,0,0,0,101,0,101,0,56,0,55,0,0,0,101,0,103,0,98,0,97,0,0,0,101,0,103,0,98,0,104,0,0,0,101,0,103,0,100,0,107,0,0,0,101,0,103,0,100,0,116,0,0,0,101,0,103,0,103,0,104,0,0,0,101,0,103,0,103,0,122,0,0,0,101,0,103,0,105,0,115,0,0,0,101,0,103,0,106,0,115,0,0,0,101,0,103,0,107,0,98,0,0,0,101,0,103,0,107,0,110,0,0,0,101,0,103,0,108,0,120,0,0,0,101,0,103,0,109,0,116,0,0,0,101,0,114,0,97,0,110,0,0,0,101,0,114,0,100,0,107,0,0,0,101,0,114,0,100,0,117,0,0,0,101,0,114,0,103,0,98,0,0,0,101,0,114,0,109,0,97,0,0,0,101,0,114,0,115,0,107,0,0,0,101,0,115,0,97,0,98,0,0,0,101,0,115,0,97,0,108,0,0,0,101,0,115,0,97,0,110,0,0,0,101,0,115,0,97,0,118,0,0,0,101,0,115,0,98,0,97,0,0,0,101,0,115,0,98,0,105,0,0,0,101,0,115,0,98,0,117,0,0,0,101,0,115,0,99,0,101,0,0,0,101,0,115,0,103,0,97,0,0,0,101,0,115,0,103,0,105,0,0,0,101,0,115,0,103,0,114,0,0,0,101,0,115,0,103,0,117,0,0,0,101,0,115,0,105,0,98,0,0,0,101,0,115,0,108,0,101,0,0,0,101,0,115,0,108,0,111,0,0,0,101,0,115,0,108,0,117,0,0,0,101,0,115,0,109,0,97,0,0,0,101,0,115,0,109,0,108,0,0,0,101,0,115,0,109,0,117,0,0,0,101,0,115,0,110,0,97,0,0,0,101,0,115,0,110,0,99,0,0,0,101,0,115,0,111,0,114,0,0,0,101,0,115,0,112,0,109,0,0,0,101,0,115,0,112,0,111,0,0,0,101,0,115,0,114,0,105,0,0,0,101,0,115,0,115,0,97,0,0,0,101,0,115,0,115,0,101,0,0,0,101,0,115,0,115,0,103,0,0,0,101,0,115,0,115,0,111,0,0,0,101,0,115,0,115,0,115,0,0,0,101,0,115,0,116,0,111,0,0,0,101,0,115,0,118,0,97,0,0,0,101,0,115,0,118,0,99,0,0,0,101,0,115,0,118,0,105,0,0,0,101,0,115,0,122,0,97,0,0,0,101,0,116,0,97,0,97,0,0,0,101,0,116,0,97,0,109,0,0,0,101,0,116,0,98,0,101,0,0,0,101,0,116,0,100,0,100,0,0,0,101,0,116,0,103,0,97,0,0,0,101,0,116,0,104,0,97,0,0,0,101,0,116,0,111,0,114,0,0,0,101,0,116,0,115,0,105,0,0,0,101,0,116,0,116,0,105,0,0,0,102,0,105,0,48,0,49,0,0,0,102,0,114,0,98,0,108,0,0,0,102,0,114,0,99,0,112,0,0,0,102,0,114,0,109,0,102,0,0,0,102,0,114,0,110,0,99,0,0,0,102,0,114,0,112,0,102,0,0,0,102,0,114,0,112,0,109,0,0,0,102,0,114,0,116,0,102,0,0,0,102,0,114,0,119,0,102,0,0,0,103,0,100,0,49,0,48,0,0,0,103,0,101,0,97,0,98,0,0,0,103,0,101,0,97,0,106,0,0,0,103,0,101,0,103,0,117,0,0,0,103,0,101,0,105,0,109,0,0,0,103,0,101,0,107,0,107,0,0,0,103,0,101,0,109,0,109,0,0,0,103,0,101,0,114,0,108,0,0,0,103,0,101,0,116,0,98,0,0,0,103,0,104,0,97,0,97,0,0,0,103,0,104,0,97,0,102,0,0,0,103,0,104,0,97,0,104,0,0,0,103,0,104,0,98,0,101,0,0,0,103,0,104,0,98,0,111,0,0,0,103,0,104,0,99,0,112,0,0,0,103,0,104,0,101,0,112,0,0,0,103,0,104,0,110,0,101,0,0,0,103,0,104,0,110,0,112,0,0,0,103,0,104,0,111,0,116,0,0,0,103,0,104,0,115,0,118,0,0,0,103,0,104,0,116,0,118,0,0,0,103,0,104,0,117,0,101,0,0,0,103,0,104,0,117,0,119,0,0,0,103,0,104,0,119,0,110,0,0,0,103,0,104,0,119,0,112,0,0,0,103,0,108,0,97,0,118,0,0,0,103,0,108,0,107,0,117,0,0,0,103,0,108,0,113,0,101,0,0,0,103,0,108,0,113,0,116,0,0,0,103,0,110,0,98,0,107,0,0,0,103,0,110,0,99,0,111,0,0,0,103,0,110,0,100,0,98,0,0,0,103,0,110,0,100,0,105,0,0,0,103,0,110,0,100,0,108,0,0,0,103,0,110,0,100,0,117,0,0,0,103,0,110,0,102,0,111,0,0,0,103,0,110,0,103,0,97,0,0,0,103,0,110,0,103,0,117,0,0,0,103,0,110,0,107,0,115,0,0,0,103,0,110,0,108,0,97,0,0,0,103,0,110,0,108,0,101,0,0,0,103,0,110,0,110,0,122,0,0,0,103,0,110,0,115,0,105,0,0,0,103,0,110,0,116,0,101,0,0,0,103,0,110,0,116,0,111,0,0,0,103,0,110,0,121,0,111,0,0,0,103,0,113,0,97,0,110,0,0,0,103,0,113,0,98,0,110,0,0,0,103,0,113,0,98,0,115,0,0,0,103,0,113,0,99,0,115,0,0,0,103,0,113,0,100,0,106,0,0,0,103,0,113,0,107,0,110,0,0,0,103,0,113,0,108,0,105,0,0,0,103,0,113,0,119,0,110,0,0,0,103,0,114,0,54,0,57,0,0,0,103,0,119,0,98,0,97,0,0,0,103,0,119,0,103,0,97,0,0,0,103,0,119,0,113,0,117,0,0,0,103,0,119,0,116,0,111,0,0,0,103,0,121,0,98,0,97,0,0,0,103,0,121,0,101,0,98,0,0,0,103,0,121,0,109,0,97,0,0,0,103,0,121,0,112,0,109,0,0,0,103,0,121,0,117,0,100,0,0,0,104,0,110,0,97,0,116,0,0,0,104,0,110,0,99,0,104,0,0,0,104,0,110,0,99,0,114,0,0,0,104,0,110,0,101,0,112,0,0,0,104,0,110,0,102,0,109,0,0,0,104,0,110,0,103,0,100,0,0,0,104,0,110,0,105,0,98,0,0,0,104,0,110,0,105,0,110,0,0,0,104,0,110,0,108,0,101,0,0,0,104,0,110,0,108,0,112,0,0,0,104,0,110,0,111,0,99,0,0,0,104,0,110,0,111,0,108,0,0,0,104,0,110,0,115,0,98,0,0,0,104,0,110,0,118,0,97,0,0,0,104,0,110,0,121,0,111,0,0,0,104,0,116,0,99,0,101,0,0,0,104,0,116,0,103,0,97,0,0,0,104,0,116,0,110,0,105,0,0,0,104,0,116,0,110,0,111,0,0,0,104,0,116,0,111,0,117,0,0,0,104,0,117,0,98,0,97,0,0,0,104,0,117,0,98,0,99,0,0,0,104,0,117,0,98,0,101,0,0,0,104,0,117,0,98,0,107,0,0,0,104,0,117,0,98,0,117,0,0,0,104,0,117,0,98,0,122,0,0,0,104,0,117,0,101,0,103,0,0,0,104,0,117,0,101,0,114,0,0,0,104,0,117,0,102,0,101,0,0,0,104,0,117,0,103,0,115,0,0,0,104,0,117,0,104,0,98,0,0,0,104,0,117,0,104,0,118,0,0,0,104,0,117,0,106,0,110,0,0,0,104,0,117,0,107,0,101,0,0,0,104,0,117,0,110,0,111,0,0,0,104,0,117,0,110,0,121,0,0,0,104,0,117,0,112,0,101,0,0,0,104,0,117,0,115,0,100,0,0,0,104,0,117,0,115,0,102,0,0,0,104,0,117,0,115,0,104,0,0,0,104,0,117,0,115,0,122,0,0,0,104,0,117,0,116,0,98,0,0,0,104,0,117,0,116,0,111,0,0,0,104,0,117,0,118,0,97,0,0,0,104,0,117,0,118,0,109,0,0,0,104,0,117,0,122,0,97,0,0,0,104,0,117,0,122,0,101,0,0,0,105,0,100,0,97,0,99,0,0,0,105,0,100,0,98,0,101,0,0,0,105,0,100,0,98,0,116,0,0,0,105,0,100,0,106,0,105,0,0,0,105,0,100,0,106,0,107,0,0,0,105,0,100,0,106,0,116,0,0,0,105,0,100,0,107,0,105,0,0,0,105,0,100,0,108,0,97,0,0,0,105,0,100,0,109,0,97,0,0,0,105,0,100,0,109,0,108,0,0,0,105,0,100,0,109,0,117,0,0,0,105,0,100,0,110,0,98,0,0,0,105,0,100,0,114,0,105,0,0,0,105,0,100,0,115,0,103,0,0,0,105,0,100,0,121,0,111,0,0,0,105,0,101,0,100,0,108,0,0,0,105,0,101,0,108,0,100,0,0,0,105,0,101,0,108,0,104,0,0,0,105,0,101,0,108,0,115,0,0,0,105,0,101,0,109,0,104,0,0,0,105,0,101,0,111,0,121,0,0,0,105,0,101,0,114,0,110,0,0,0,105,0,101,0,116,0,97,0,0,0,105,0,101,0,119,0,100,0,0,0,105,0,101,0,119,0,104,0,0,0,105,0,108,0,106,0,109,0,0,0,105,0,108,0,116,0,97,0,0,0,105,0,110,0,97,0,110,0,0,0,105,0,110,0,97,0,112,0,0,0,105,0,110,0,98,0,114,0,0,0,105,0,110,0,99,0,116,0,0,0,105,0,110,0,100,0,104,0,0,0,105,0,110,0,100,0,108,0,0,0,105,0,110,0,103,0,97,0,0,0,105,0,110,0,103,0,106,0,0,0,105,0,110,0,104,0,112,0,0,0,105,0,110,0,104,0,114,0,0,0,105,0,110,0,106,0,104,0,0,0,105,0,110,0,106,0,107,0,0,0,105,0,110,0,107,0,97,0,0,0,105,0,110,0,107,0,108,0,0,0,105,0,110,0,108,0,100,0,0,0,105,0,110,0,109,0,104,0,0,0,105,0,110,0,109,0,108,0,0,0,105,0,110,0,109,0,110,0,0,0,105,0,110,0,109,0,112,0,0,0,105,0,110,0,109,0,122,0,0,0,105,0,110,0,110,0,108,0,0,0,105,0,110,0,111,0,114,0,0,0,105,0,110,0,112,0,98,0,0,0,105,0,110,0,112,0,121,0,0,0,105,0,110,0,114,0,106,0,0,0,105,0,110,0,115,0,107,0,0,0,105,0,110,0,116,0,110,0,0,0,105,0,110,0,117,0,112,0,0,0,105,0,110,0,117,0,116,0,0,0,105,0,110,0,119,0,98,0,0,0,105,0,113,0,97,0,110,0,0,0,105,0,113,0,97,0,114,0,0,0,105,0,113,0,98,0,103,0,0,0,105,0,113,0,100,0,97,0,0,0,105,0,113,0,100,0,105,0,0,0,105,0,113,0,100,0,113,0,0,0,105,0,113,0,107,0,97,0,0,0,105,0,113,0,107,0,105,0,0,0,105,0,113,0,107,0,114,0,0,0,105,0,113,0,109,0,97,0,0,0,105,0,113,0,109,0,117,0,0,0,105,0,113,0,110,0,97,0,0,0,105,0,113,0,110,0,105,0,0,0,105,0,113,0,113,0,97,0,0,0,105,0,113,0,115,0,100,0,0,0,105,0,113,0,115,0,117,0,0,0,105,0,114,0,51,0,48,0,0,0,105,0,116,0,50,0,49,0,0,0,105,0,116,0,50,0,51,0,0,0,105,0,116,0,50,0,53,0,0,0,105,0,116,0,51,0,50,0,0,0,105,0,116,0,51,0,52,0,0,0,105,0,116,0,51,0,54,0,0,0,105,0,116,0,52,0,50,0,0,0,105,0,116,0,52,0,53,0,0,0,105,0,116,0,53,0,50,0,0,0,105,0,116,0,53,0,53,0,0,0,105,0,116,0,53,0,55,0,0,0,105,0,116,0,54,0,50,0,0,0,105,0,116,0,54,0,53,0,0,0,105,0,116,0,54,0,55,0,0,0,105,0,116,0,55,0,50,0,0,0,105,0,116,0,55,0,53,0,0,0,105,0,116,0,56,0,50,0,0,0,105,0,116,0,56,0,56,0,0,0,105,0,116,0,97,0,103,0,0,0,105,0,116,0,97,0,110,0,0,0,105,0,116,0,97,0,116,0,0,0,105,0,116,0,97,0,118,0,0,0,105,0,116,0,98,0,103,0,0,0,105,0,116,0,98,0,105,0,0,0,105,0,116,0,98,0,108,0,0,0,105,0,116,0,98,0,122,0,0,0,105,0,116,0,99,0,101,0,0,0,105,0,116,0,99,0,104,0,0,0,105,0,116,0,99,0,108,0,0,0,105,0,116,0,99,0,122,0,0,0,105,0,116,0,101,0,110,0,0,0,105,0,116,0,102,0,99,0,0,0,105,0,116,0,102,0,101,0,0,0,105,0,116,0,102,0,103,0,0,0,105,0,116,0,102,0,109,0,0,0,105,0,116,0,103,0,101,0,0,0,105,0,116,0,103,0,111,0,0,0,105,0,116,0,103,0,114,0,0,0,105,0,116,0,105,0,109,0,0,0,105,0,116,0,105,0,115,0,0,0,105,0,116,0,107,0,114,0,0,0,105,0,116,0,108,0,99,0,0,0,105,0,116,0,108,0,101,0,0,0,105,0,116,0,108,0,105,0,0,0,105,0,116,0,108,0,111,0,0,0,105,0,116,0,109,0,101,0,0,0,105,0,116,0,109,0,105,0,0,0,105,0,116,0,110,0,97,0,0,0,105,0,116,0,110,0,111,0,0,0,105,0,116,0,110,0,117,0,0,0,105,0,116,0,111,0,114,0,0,0,105,0,116,0,112,0,103,0,0,0,105,0,116,0,112,0,105,0,0,0,105,0,116,0,112,0,114,0,0,0,105,0,116,0,112,0,122,0,0,0,105,0,116,0,114,0,97,0,0,0,105,0,116,0,114,0,99,0,0,0,105,0,116,0,114,0,101,0,0,0,105,0,116,0,114,0,103,0,0,0,105,0,116,0,114,0,105,0,0,0,105,0,116,0,115,0,97,0,0,0,105,0,116,0,115,0,105,0,0,0,105,0,116,0,116,0,97,0,0,0,105,0,116,0,116,0,101,0,0,0,105,0,116,0,116,0,118,0,0,0,105,0,116,0,117,0,100,0,0,0,105,0,116,0,118,0,101,0,0,0,105,0,116,0,118,0,105,0,0,0,105,0,116,0,118,0,114,0,0,0,105,0,116,0,118,0,116,0,0,0,105,0,116,0,118,0,118,0,0,0,106,0,111,0,97,0,106,0,0,0,106,0,111,0,97,0,109,0,0,0,106,0,111,0,97,0,113,0,0,0,106,0,111,0,97,0,116,0,0,0,106,0,111,0,97,0,122,0,0,0,106,0,111,0,98,0,97,0,0,0,106,0,111,0,105,0,114,0,0,0,106,0,111,0,106,0,97,0,0,0,106,0,111,0,107,0,97,0,0,0,106,0,111,0,109,0,97,0,0,0,106,0,111,0,109,0,100,0,0,0,106,0,111,0,109,0,110,0,0,0,107,0,103,0,103,0,98,0,0,0,107,0,103,0,103,0,111,0,0,0,107,0,110,0,49,0,53,0,0,0,107,0,112,0,49,0,48,0,0,0,107,0,114,0,49,0,49,0,0,0,107,0,114,0,53,0,48,0,0,0,107,0,119,0,97,0,104,0,0,0,107,0,119,0,102,0,97,0,0,0,107,0,119,0,104,0,97,0,0,0,107,0,119,0,109,0,117,0,0,0,108,0,97,0,104,0,111,0,0,0,108,0,97,0,107,0,104,0,0,0,108,0,97,0,108,0,109,0,0,0,108,0,97,0,108,0,112,0,0,0,108,0,97,0,111,0,117,0,0,0,108,0,97,0,112,0,104,0,0,0,108,0,97,0,115,0,108,0,0,0,108,0,97,0,115,0,118,0,0,0,108,0,97,0,118,0,116,0,0,0,108,0,97,0,120,0,97,0,0,0,108,0,97,0,120,0,105,0,0,0,108,0,97,0,120,0,115,0,0,0,108,0,98,0,97,0,107,0,0,0,108,0,98,0,97,0,115,0,0,0,108,0,98,0,98,0,97,0,0,0,108,0,98,0,106,0,97,0,0,0,108,0,98,0,106,0,108,0,0,0,108,0,98,0,110,0,97,0,0,0,108,0,114,0,98,0,103,0,0,0,108,0,114,0,98,0,109,0,0,0,108,0,114,0,99,0,109,0,0,0,108,0,114,0,103,0,98,0,0,0,108,0,114,0,103,0,103,0,0,0,108,0,114,0,103,0,112,0,0,0,108,0,114,0,108,0,111,0,0,0,108,0,114,0,109,0,103,0,0,0,108,0,114,0,109,0,111,0,0,0,108,0,114,0,110,0,105,0,0,0,108,0,114,0,114,0,103,0,0,0,108,0,114,0,115,0,105,0,0,0,108,0,116,0,54,0,48,0,0,0,108,0,116,0,97,0,108,0,0,0,108,0,116,0,107,0,108,0,0,0,108,0,116,0,107,0,117,0,0,0,108,0,116,0,109,0,114,0,0,0,108,0,116,0,112,0,110,0,0,0,108,0,116,0,115,0,97,0,0,0,108,0,116,0,116,0,97,0,0,0,108,0,116,0,116,0,101,0,0,0,108,0,116,0,117,0,116,0,0,0,108,0,116,0,118,0,108,0,0,0,108,0,117,0,99,0,97,0,0,0,108,0,117,0,99,0,108,0,0,0,108,0,117,0,100,0,105,0,0,0,108,0,117,0,101,0,99,0,0,0,108,0,117,0,103,0,114,0,0,0,108,0,117,0,109,0,101,0,0,0,108,0,117,0,114,0,100,0,0,0,108,0,117,0,118,0,100,0,0,0,108,0,117,0,119,0,105,0,0,0,108,0,121,0,98,0,97,0,0,0,108,0,121,0,98,0,117,0,0,0,108,0,121,0,100,0,114,0,0,0,108,0,121,0,103,0,116,0,0,0,108,0,121,0,106,0,103,0,0,0,108,0,121,0,106,0,105,0,0,0,108,0,121,0,106,0,117,0,0,0,108,0,121,0,107,0,102,0,0,0,108,0,121,0,109,0,98,0,0,0,108,0,121,0,109,0,113,0,0,0,108,0,121,0,115,0,98,0,0,0,108,0,121,0,115,0,114,0,0,0,108,0,121,0,116,0,98,0,0,0,108,0,121,0,119,0,100,0,0,0,108,0,121,0,119,0,115,0,0,0,108,0,121,0,122,0,97,0,0,0,109,0,99,0,99,0,108,0,0,0,109,0,99,0,99,0,111,0,0,0,109,0,99,0,102,0,111,0,0,0,109,0,99,0,109,0,117,0,0,0,109,0,99,0,112,0,104,0,0,0,109,0,99,0,115,0,100,0,0,0,109,0,99,0,115,0,114,0,0,0,109,0,99,0,118,0,114,0,0,0,109,0,100,0,97,0,110,0,0,0,109,0,100,0,98,0,97,0,0,0,109,0,100,0,98,0,100,0,0,0,109,0,100,0,99,0,97,0,0,0,109,0,100,0,100,0,111,0,0,0,109,0,100,0,100,0,114,0,0,0,109,0,100,0,100,0,117,0,0,0,109,0,100,0,101,0,100,0,0,0,109,0,100,0,102,0,97,0,0,0,109,0,100,0,102,0,108,0,0,0,109,0,100,0,103,0,97,0,0,0,109,0,100,0,103,0,108,0,0,0,109,0,100,0,105,0,97,0,0,0,109,0,100,0,108,0,101,0,0,0,109,0,100,0,110,0,105,0,0,0,109,0,100,0,111,0,99,0,0,0,109,0,100,0,111,0,114,0,0,0,109,0,100,0,114,0,101,0,0,0,109,0,100,0,115,0,100,0,0,0,109,0,100,0,115,0,105,0,0,0,109,0,100,0,115,0,116,0,0,0,109,0,100,0,115,0,118,0,0,0,109,0,100,0,116,0,97,0,0,0,109,0,100,0,116,0,101,0,0,0,109,0,100,0,117,0,110,0,0,0,109,0,108,0,49,0,48,0,0,0,109,0,117,0,97,0,103,0,0,0,109,0,117,0,99,0,99,0,0,0,109,0,117,0,102,0,108,0,0,0,109,0,117,0,103,0,112,0,0,0,109,0,117,0,109,0,111,0,0,0,109,0,117,0,112,0,97,0,0,0,109,0,117,0,112,0,108,0,0,0,109,0,117,0,112,0,119,0,0,0,109,0,117,0,114,0,111,0,0,0,109,0,117,0,115,0,97,0,0,0,109,0,118,0,49,0,55,0,0,0,109,0,118,0,50,0,48,0,0,0,109,0,119,0,98,0,97,0,0,0,109,0,119,0,98,0,108,0,0,0,109,0,119,0,99,0,107,0,0,0,109,0,119,0,99,0,114,0,0,0,109,0,119,0,99,0,116,0,0,0,109,0,119,0,100,0,101,0,0,0,109,0,119,0,100,0,111,0,0,0,109,0,119,0,108,0,105,0,0,0,109,0,119,0,108,0,107,0,0,0,109,0,119,0,109,0,99,0,0,0,109,0,119,0,109,0,117,0,0,0,109,0,119,0,109,0,119,0,0,0,109,0,119,0,109,0,122,0,0,0,109,0,119,0,110,0,115,0,0,0,109,0,119,0,112,0,104,0,0,0,109,0,119,0,122,0,111,0,0,0,110,0,97,0,99,0,97,0,0,0,110,0,97,0,101,0,114,0,0,0,110,0,97,0,104,0,97,0,0,0,110,0,97,0,107,0,97,0,0,0,110,0,97,0,107,0,101,0,0,0,110,0,97,0,107,0,104,0,0,0,110,0,97,0,107,0,117,0,0,0,110,0,97,0,107,0,119,0,0,0,110,0,97,0,111,0,100,0,0,0,110,0,97,0,111,0,110,0,0,0,110,0,97,0,111,0,119,0,0,0,110,0,103,0,97,0,98,0,0,0,110,0,103,0,97,0,100,0,0,0,110,0,103,0,97,0,107,0,0,0,110,0,103,0,98,0,97,0,0,0,110,0,103,0,98,0,101,0,0,0,110,0,103,0,98,0,121,0,0,0,110,0,103,0,100,0,101,0,0,0,110,0,103,0,101,0,98,0,0,0,110,0,103,0,101,0,100,0,0,0,110,0,103,0,101,0,107,0,0,0,110,0,103,0,101,0,110,0,0,0,110,0,103,0,102,0,99,0,0,0,110,0,103,0,103,0,111,0,0,0,110,0,103,0,105,0,109,0,0,0,110,0,103,0,107,0,116,0,0,0,110,0,103,0,107,0,119,0,0,0,110,0,103,0,108,0,97,0,0,0,110,0,103,0,110,0,97,0,0,0,110,0,103,0,110,0,105,0,0,0,110,0,103,0,111,0,103,0,0,0,110,0,103,0,111,0,110,0,0,0,110,0,103,0,111,0,115,0,0,0,110,0,103,0,111,0,121,0,0,0,110,0,103,0,112,0,108,0,0,0,110,0,103,0,115,0,111,0,0,0,110,0,103,0,121,0,111,0,0,0,110,0,103,0,122,0,97,0,0,0,110,0,105,0,97,0,110,0,0,0,110,0,105,0,97,0,115,0,0,0,110,0,105,0,98,0,111,0,0,0,110,0,105,0,99,0,105,0,0,0,110,0,105,0,99,0,111,0,0,0,110,0,105,0,101,0,115,0,0,0,110,0,105,0,103,0,114,0,0,0,110,0,105,0,106,0,105,0,0,0,110,0,105,0,108,0,101,0,0,0,110,0,105,0,109,0,100,0,0,0,110,0,105,0,109,0,110,0,0,0,110,0,105,0,110,0,115,0,0,0,110,0,105,0,114,0,105,0,0,0,110,0,105,0,115,0,106,0,0,0,110,0,108,0,97,0,119,0,0,0,110,0,108,0,99,0,119,0,0,0,110,0,108,0,100,0,114,0,0,0,110,0,108,0,102,0,108,0,0,0,110,0,108,0,102,0,114,0,0,0,110,0,108,0,103,0,101,0,0,0,110,0,108,0,103,0,114,0,0,0,110,0,108,0,108,0,105,0,0,0,110,0,108,0,110,0,98,0,0,0,110,0,108,0,110,0,104,0,0,0,110,0,108,0,111,0,118,0,0,0,110,0,108,0,115,0,120,0,0,0,110,0,108,0,117,0,116,0,0,0,110,0,108,0,122,0,101,0,0,0,110,0,111,0,48,0,51,0,0,0,110,0,111,0,49,0,49,0,0,0,110,0,111,0,49,0,53,0,0,0,110,0,111,0,49,0,56,0,0,0,110,0,111,0,51,0,48,0,0,0,110,0,111,0,51,0,52,0,0,0,110,0,111,0,51,0,56,0,0,0,110,0,111,0,52,0,50,0,0,0,110,0,111,0,52,0,54,0,0,0,110,0,111,0,53,0,48,0,0,0,110,0,111,0,53,0,52,0,0,0,110,0,112,0,98,0,97,0,0,0,110,0,112,0,98,0,104,0,0,0,110,0,112,0,100,0,104,0,0,0,110,0,112,0,106,0,97,0,0,0,110,0,112,0,107,0,97,0,0,0,110,0,112,0,108,0,117,0,0,0,110,0,112,0,109,0,97,0,0,0,110,0,112,0,109,0,101,0,0,0,111,0,109,0,98,0,106,0,0,0,111,0,109,0,98,0,115,0,0,0,111,0,109,0,98,0,117,0,0,0,111,0,109,0,100,0,97,0,0,0,111,0,109,0,109,0,97,0,0,0,111,0,109,0,109,0,117,0,0,0,111,0,109,0,115,0,106,0,0,0,111,0,109,0,115,0,115,0,0,0,111,0,109,0,119,0,117,0,0,0,111,0,109,0,122,0,117,0,0,0,112,0,97,0,49,0,48,0,0,0,112,0,97,0,101,0,109,0,0,0,112,0,97,0,107,0,121,0,0,0,112,0,97,0,110,0,98,0,0,0,112,0,97,0,110,0,116,0,0,0,112,0,107,0,98,0,97,0,0,0,112,0,107,0,105,0,115,0,0,0,112,0,107,0,106,0,107,0,0,0,112,0,107,0,107,0,112,0,0,0,112,0,107,0,112,0,98,0,0,0,112,0,107,0,115,0,100,0,0,0,112,0,108,0,48,0,50,0,0,0,112,0,108,0,48,0,52,0,0,0,112,0,108,0,48,0,54,0,0,0,112,0,108,0,48,0,56,0,0,0,112,0,108,0,49,0,48,0,0,0,112,0,108,0,49,0,50,0,0,0,112,0,108,0,49,0,52,0,0,0,112,0,108,0,49,0,54,0,0,0,112,0,108,0,49,0,56,0,0,0,112,0,108,0,50,0,48,0,0,0,112,0,108,0,50,0,50,0,0,0,112,0,108,0,50,0,52,0,0,0,112,0,108,0,50,0,54,0,0,0,112,0,108,0,50,0,56,0,0,0,112,0,108,0,51,0,48,0,0,0,112,0,108,0,51,0,50,0,0,0,112,0,116,0,50,0,48,0,0,0,112,0,116,0,51,0,48,0,0,0,112,0,121,0,49,0,57,0,0,0,113,0,97,0,100,0,97,0,0,0,113,0,97,0,107,0,104,0,0,0,113,0,97,0,109,0,115,0,0,0,113,0,97,0,114,0,97,0,0,0,113,0,97,0,115,0,104,0,0,0,113,0,97,0,117,0,115,0,0,0,113,0,97,0,119,0,97,0,0,0,113,0,97,0,122,0,97,0,0,0,114,0,111,0,97,0,98,0,0,0,114,0,111,0,97,0,103,0,0,0,114,0,111,0,98,0,99,0,0,0,114,0,111,0,98,0,104,0,0,0,114,0,111,0,98,0,110,0,0,0,114,0,111,0,98,0,114,0,0,0,114,0,111,0,98,0,116,0,0,0,114,0,111,0,98,0,118,0,0,0,114,0,111,0,98,0,122,0,0,0,114,0,111,0,99,0,106,0,0,0,114,0,111,0,99,0,108,0,0,0,114,0,111,0,100,0,98,0,0,0,114,0,111,0,100,0,106,0,0,0,114,0,111,0,103,0,106,0,0,0,114,0,111,0,103,0,108,0,0,0,114,0,111,0,103,0,114,0,0,0,114,0,111,0,104,0,100,0,0,0,114,0,111,0,104,0,114,0,0,0,114,0,111,0,105,0,102,0,0,0,114,0,111,0,105,0,108,0,0,0,114,0,111,0,105,0,115,0,0,0,114,0,111,0,109,0,104,0,0,0,114,0,111,0,109,0,109,0,0,0,114,0,111,0,109,0,115,0,0,0,114,0,111,0,110,0,116,0,0,0,114,0,111,0,111,0,116,0,0,0,114,0,111,0,112,0,104,0,0,0,114,0,111,0,115,0,98,0,0,0,114,0,111,0,115,0,106,0,0,0,114,0,111,0,115,0,109,0,0,0,114,0,111,0,115,0,118,0,0,0,114,0,111,0,116,0,114,0,0,0,114,0,111,0,118,0,108,0,0,0,114,0,111,0,118,0,110,0,0,0,114,0,111,0,118,0,115,0,0,0,114,0,115,0,107,0,109,0,0,0,114,0,117,0,97,0,100,0,0,0,114,0,117,0,97,0,108,0,0,0,114,0,117,0,99,0,101,0,0,0,114,0,117,0,99,0,117,0,0,0,114,0,117,0,105,0,110,0,0,0,114,0,117,0,107,0,111,0,0,0,114,0,117,0,107,0,114,0,0,0,114,0,117,0,109,0,101,0,0,0,114,0,117,0,109,0,111,0,0,0,114,0,117,0,115,0,101,0,0,0,114,0,117,0,116,0,121,0,0,0,114,0,117,0,117,0,100,0,0,0,115,0,97,0,49,0,52,0,0,0,115,0,98,0,99,0,101,0,0,0,115,0,98,0,99,0,104,0,0,0,115,0,98,0,99,0,116,0,0,0,115,0,98,0,103,0,117,0,0,0,115,0,98,0,105,0,115,0,0,0,115,0,98,0,114,0,98,0,0,0,115,0,98,0,116,0,101,0,0,0,115,0,98,0,119,0,101,0,0,0,115,0,100,0,100,0,99,0,0,0,115,0,100,0,100,0,101,0,0,0,115,0,100,0,100,0,110,0,0,0,115,0,100,0,100,0,115,0,0,0,115,0,100,0,103,0,100,0,0,0,115,0,100,0,103,0,107,0,0,0,115,0,100,0,107,0,97,0,0,0,115,0,100,0,107,0,104,0,0,0,115,0,100,0,107,0,110,0,0,0,115,0,100,0,107,0,115,0,0,0,115,0,100,0,110,0,98,0,0,0,115,0,100,0,110,0,111,0,0,0,115,0,100,0,110,0,119,0,0,0,115,0,100,0,114,0,115,0,0,0,115,0,100,0,115,0,105,0,0,0,115,0,101,0,98,0,100,0,0,0,115,0,104,0,97,0,99,0,0,0,115,0,104,0,104,0,108,0,0,0,115,0,104,0,116,0,97,0,0,0,115,0,107,0,98,0,99,0,0,0,115,0,107,0,98,0,108,0,0,0,115,0,107,0,107,0,105,0,0,0,115,0,107,0,110,0,105,0,0,0,115,0,107,0,116,0,97,0,0,0,115,0,107,0,116,0,99,0,0,0,115,0,110,0,100,0,98,0,0,0,115,0,110,0,100,0,107,0,0,0,115,0,110,0,102,0,107,0,0,0,115,0,110,0,107,0,97,0,0,0,115,0,110,0,107,0,108,0,0,0,115,0,110,0,109,0,116,0,0,0,115,0,110,0,115,0,101,0,0,0,115,0,110,0,115,0,108,0,0,0,115,0,110,0,116,0,99,0,0,0,115,0,110,0,116,0,104,0,0,0,115,0,110,0,122,0,103,0,0,0,115,0,111,0,97,0,119,0,0,0,115,0,111,0,98,0,107,0,0,0,115,0,111,0,98,0,110,0,0,0,115,0,111,0,98,0,121,0,0,0,115,0,111,0,103,0,97,0,0,0,115,0,111,0,104,0,105,0,0,0,115,0,111,0,106,0,100,0,0,0,115,0,111,0,106,0,104,0,0,0,115,0,111,0,109,0,117,0,0,0,115,0,111,0,110,0,117,0,0,0,115,0,111,0,115,0,100,0,0,0,115,0,111,0,115,0,104,0,0,0,115,0,111,0,115,0,111,0,0,0,115,0,111,0,116,0,111,0,0,0,115,0,111,0,119,0,111,0,0,0,115,0,114,0,98,0,114,0,0,0,115,0,114,0,99,0,109,0,0,0,115,0,114,0,99,0,114,0,0,0,115,0,114,0,109,0,97,0,0,0,115,0,114,0,110,0,105,0,0,0,115,0,114,0,112,0,109,0,0,0,115,0,114,0,112,0,114,0,0,0,115,0,114,0,115,0,97,0,0,0,115,0,115,0,98,0,110,0,0,0,115,0,115,0,98,0,119,0,0,0,115,0,115,0,101,0,101,0,0,0,115,0,115,0,108,0,107,0,0,0,115,0,115,0,110,0,117,0,0,0,115,0,115,0,117,0,121,0,0,0,115,0,115,0,119,0,114,0,0,0,115,0,118,0,97,0,104,0,0,0,115,0,118,0,99,0,97,0,0,0,115,0,118,0,99,0,104,0,0,0,115,0,118,0,99,0,117,0,0,0,115,0,118,0,108,0,105,0,0,0,115,0,118,0,109,0,111,0,0,0,115,0,118,0,112,0,97,0,0,0,115,0,118,0,115,0,97,0,0,0,115,0,118,0,115,0,109,0,0,0,115,0,118,0,115,0,111,0,0,0,115,0,118,0,117,0,110,0,0,0,115,0,118,0,117,0,115,0,0,0,115,0,121,0,100,0,105,0,0,0,115,0,121,0,100,0,114,0,0,0,115,0,121,0,100,0,121,0,0,0,115,0,121,0,104,0,105,0,0,0,115,0,121,0,108,0,97,0,0,0,115,0,121,0,114,0,97,0,0,0,115,0,121,0,114,0,100,0,0,0,115,0,121,0,115,0,117,0,0,0,115,0,121,0,116,0,97,0,0,0,115,0,122,0,104,0,104,0,0,0,115,0,122,0,109,0,97,0,0,0,116,0,100,0,98,0,97,0,0,0,116,0,100,0,98,0,103,0,0,0,116,0,100,0,98,0,111,0,0,0,116,0,100,0,99,0,98,0,0,0,116,0,100,0,101,0,101,0,0,0,116,0,100,0,101,0,111,0,0,0,116,0,100,0,103,0,114,0,0,0,116,0,100,0,104,0,108,0,0,0,116,0,100,0,108,0,99,0,0,0,116,0,100,0,108,0,111,0,0,0,116,0,100,0,108,0,114,0,0,0,116,0,100,0,109,0,97,0,0,0,116,0,100,0,109,0,99,0,0,0,116,0,100,0,109,0,101,0,0,0,116,0,100,0,109,0,111,0,0,0,116,0,100,0,110,0,100,0,0,0,116,0,100,0,111,0,100,0,0,0,116,0,100,0,115,0,97,0,0,0,116,0,100,0,115,0,105,0,0,0,116,0,100,0,116,0,97,0,0,0,116,0,100,0,116,0,105,0,0,0,116,0,100,0,119,0,102,0,0,0,116,0,106,0,100,0,117,0,0,0,116,0,106,0,107,0,116,0,0,0,116,0,106,0,114,0,97,0,0,0,116,0,106,0,115,0,117,0,0,0,116,0,108,0,97,0,108,0,0,0,116,0,108,0,97,0,110,0,0,0,116,0,108,0,98,0,111,0,0,0,116,0,108,0,99,0,111,0,0,0,116,0,108,0,100,0,105,0,0,0,116,0,108,0,101,0,114,0,0,0,116,0,108,0,108,0,97,0,0,0,116,0,108,0,108,0,105,0,0,0,116,0,108,0,109,0,102,0,0,0,116,0,108,0,109,0,116,0,0,0,116,0,108,0,111,0,101,0,0,0,116,0,110,0,54,0,49,0,0,0,117,0,97,0,48,0,53,0,0,0,117,0,97,0,48,0,55,0,0,0,117,0,97,0,48,0,57,0,0,0,117,0,97,0,49,0,50,0,0,0,117,0,97,0,49,0,52,0,0,0,117,0,97,0,49,0,56,0,0,0,117,0,97,0,50,0,49,0,0,0,117,0,97,0,50,0,51,0,0,0,117,0,97,0,50,0,54,0,0,0,117,0,97,0,51,0,48,0,0,0,117,0,97,0,51,0,50,0,0,0,117,0,97,0,51,0,53,0,0,0,117,0,97,0,52,0,48,0,0,0,117,0,97,0,52,0,51,0,0,0,117,0,97,0,52,0,54,0,0,0,117,0,97,0,52,0,56,0,0,0,117,0,97,0,53,0,49,0,0,0,117,0,97,0,53,0,51,0,0,0,117,0,97,0,53,0,54,0,0,0,117,0,97,0,53,0,57,0,0,0,117,0,97,0,54,0,49,0,0,0,117,0,97,0,54,0,51,0,0,0,117,0,97,0,54,0,53,0,0,0,117,0,97,0,54,0,56,0,0,0,117,0,97,0,55,0,49,0,0,0,117,0,97,0,55,0,52,0,0,0,117,0,97,0,55,0,55,0,0,0,117,0,109,0,54,0,55,0,0,0,117,0,109,0,55,0,49,0,0,0,117,0,109,0,55,0,54,0,0,0,117,0,109,0,55,0,57,0,0,0,117,0,109,0,56,0,49,0,0,0,117,0,109,0,56,0,52,0,0,0,117,0,109,0,56,0,54,0,0,0,117,0,109,0,56,0,57,0,0,0,117,0,109,0,57,0,53,0,0,0,117,0,115,0,97,0,115,0,0,0,117,0,115,0,97,0,122,0,0,0,117,0,115,0,99,0,111,0,0,0,117,0,115,0,99,0,116,0,0,0,117,0,115,0,100,0,101,0,0,0,117,0,115,0,102,0,108,0,0,0,117,0,115,0,103,0,97,0,0,0,117,0,115,0,103,0,117,0,0,0,117,0,115,0,104,0,105,0,0,0,117,0,115,0,105,0,97,0,0,0,117,0,115,0,105,0,100,0,0,0,117,0,115,0,105,0,108,0,0,0,117,0,115,0,105,0,110,0,0,0,117,0,115,0,107,0,115,0,0,0,117,0,115,0,107,0,121,0,0,0,117,0,115,0,109,0,97,0,0,0,117,0,115,0,109,0,105,0,0,0,117,0,115,0,109,0,112,0,0,0,117,0,115,0,110,0,106,0,0,0,117,0,115,0,110,0,109,0,0,0,117,0,115,0,110,0,118,0,0,0,117,0,115,0,110,0,121,0,0,0,117,0,115,0,111,0,104,0,0,0,117,0,115,0,111,0,107,0,0,0,117,0,115,0,111,0,114,0,0,0,117,0,115,0,112,0,97,0,0,0,117,0,115,0,112,0,114,0,0,0,117,0,115,0,114,0,105,0,0,0,117,0,115,0,116,0,110,0,0,0,117,0,115,0,116,0,120,0,0,0,117,0,115,0,117,0,109,0,0,0,117,0,115,0,117,0,116,0,0,0,117,0,115,0,118,0,97,0,0,0,117,0,115,0,118,0,105,0,0,0,117,0,115,0,118,0,116,0,0,0,117,0,115,0,119,0,97,0,0,0,117,0,115,0,119,0,105,0,0,0,117,0,115,0,119,0,118,0,0,0,117,0,115,0,119,0,121,0,0,0,117,0,121,0,99,0,97,0,0,0,117,0,121,0,100,0,117,0,0,0,117,0,121,0,102,0,100,0,0,0,117,0,121,0,102,0,115,0,0,0,117,0,121,0,108,0,97,0,0,0,117,0,121,0,109,0,111,0,0,0,117,0,121,0,112,0,97,0,0,0,117,0,121,0,114,0,118,0,0,0,117,0,121,0,115,0,97,0,0,0,117,0,121,0,115,0,106,0,0,0,117,0,122,0,97,0,110,0,0,0,117,0,122,0,98,0,117,0,0,0,117,0,122,0,110,0,119,0,0,0,117,0,122,0,113,0,97,0,0,0,117,0,122,0,113,0,114,0,0,0,117,0,122,0,120,0,111,0,0,0,118,0,110,0,48,0,57,0,0,0,118,0,110,0,49,0,56,0,0,0,118,0,110,0,51,0,57,0,0,0,118,0,110,0,52,0,57,0,0,0,118,0,110,0,54,0,49,0,0,0,118,0,110,0,54,0,51,0,0,0,118,0,110,0,99,0,116,0,0,0,118,0,110,0,100,0,110,0,0,0,118,0,110,0,104,0,110,0,0,0,118,0,110,0,104,0,112,0,0,0,118,0,110,0,115,0,103,0,0,0,119,0,102,0,97,0,108,0,0,0,119,0,102,0,115,0,103,0,0,0,119,0,115,0,97,0,97,0,0,0,119,0,115,0,97,0,108,0,0,0,119,0,115,0,97,0,116,0,0,0,119,0,115,0,102,0,97,0,0,0,119,0,115,0,103,0,101,0,0,0,119,0,115,0,103,0,105,0,0,0,119,0,115,0,112,0,97,0,0,0,119,0,115,0,115,0,97,0,0,0,119,0,115,0,116,0,117,0,0,0,119,0,115,0,118,0,102,0,0,0,121,0,101,0,97,0,98,0,0,0,121,0,101,0,97,0,100,0,0,0,121,0,101,0,97,0,109,0,0,0,121,0,101,0,98,0,97,0,0,0,121,0,101,0,100,0,97,0,0,0,121,0,101,0,100,0,104,0,0,0,121,0,101,0,104,0,100,0,0,0,121,0,101,0,104,0,106,0,0,0,121,0,101,0,105,0,98,0,0,0,121,0,101,0,108,0,97,0,0,0,121,0,101,0,109,0,97,0,0,0,121,0,101,0,109,0,114,0,0,0,121,0,101,0,109,0,119,0,0,0,121,0,101,0,115,0,100,0,0,0,121,0,101,0,115,0,110,0,0,0,121,0,101,0,116,0,97,0,0,0,122,0,97,0,102,0,115,0,0,0,122,0,97,0,108,0,112,0,0,0,122,0,97,0,109,0,112,0,0,0,122,0,97,0,110,0,99,0,0,0,122,0,97,0,110,0,119,0,0,0,122,0,97,0,119,0,99,0,0,0,122,0,109,0,49,0,48,0,0,0,122,0,119,0,98,0,117,0,0,0,122,0,119,0,109,0,97,0,0,0,122,0,119,0,109,0,99,0,0,0,122,0,119,0,109,0,101,0,0,0,122,0,119,0,109,0,105,0,0,0,49,0,57,0,57,0,54,0,0,0,66,0,104,0,107,0,115,0,0,0,72,0,109,0,110,0,112,0,0,0,72,0,117,0,110,0,103,0,0,0,77,0,97,0,114,0,99,0,0,0,77,0,101,0,114,0,111,0,0,0,83,0,111,0,103,0,111,0,0,0,97,0,108,0,109,0,109,0,0,0,97,0,108,0,115,0,104,0,0,0,97,0,108,0,115,0,107,0,0,0,98,0,106,0,97,0,107,0,0,0,98,0,114,0,114,0,111,0,0,0,99,0,104,0,115,0,104,0,0,0,99,0,110,0,104,0,107,0,0,0,99,0,118,0,115,0,108,0,0,0,100,0,106,0,97,0,114,0,0,0,101,0,115,0,99,0,98,0,0,0,103,0,101,0,115,0,107,0,0,0,103,0,110,0,98,0,102,0,0,0,103,0,116,0,106,0,97,0,0,0,103,0,116,0,106,0,117,0,0,0,103,0,116,0,122,0,97,0,0,0,104,0,117,0,115,0,115,0,0,0,105,0,100,0,115,0,98,0,0,0,105,0,100,0,115,0,108,0,0,0,105,0,101,0,99,0,110,0,0,0,105,0,101,0,99,0,111,0,0,0,105,0,116,0,109,0,98,0,0,0,105,0,116,0,112,0,99,0,0,0,105,0,116,0,118,0,97,0,0,0,109,0,100,0,99,0,114,0,0,0,109,0,117,0,98,0,114,0,0,0,109,0,119,0,107,0,114,0,0,0,111,0,109,0,115,0,104,0,0,0,112,0,108,0,108,0,117,0,0,0,112,0,108,0,109,0,122,0,0,0,115,0,121,0,104,0,108,0,0,0,117,0,115,0,109,0,100,0,0,0,117,0,115,0,110,0,99,0,0,0,77,0,117,0,108,0,116,0,0,0,99,0,122,0,108,0,105,0,0,0,99,0,122,0,109,0,111,0,0,0,99,0,122,0,112,0,108,0,0,0,100,0,122,0,51,0,50,0,0,0,100,0,122,0,51,0,54,0,0,0,100,0,122,0,52,0,50,0,0,0,100,0,122,0,52,0,52,0,0,0,100,0,122,0,52,0,56,0,0,0,102,0,114,0,56,0,52,0,0,0,102,0,114,0,57,0,48,0,0,0,103,0,119,0,98,0,109,0,0,0,109,0,116,0,54,0,48,0,0,0,109,0,116,0,54,0,56,0,0,0,109,0,119,0,107,0,115,0,0,0,109,0,119,0,109,0,104,0,0,0,116,0,104,0,57,0,54,0,0,0,116,0,122,0,49,0,50,0,0,0,117,0,121,0,114,0,111,0,0,0,68,0,74,0,126,0,75,0,0,0,49,0,57,0,48,0,49,0,0,0,65,0,67,0,126,0,71,0,0,0,65,0,76,0,126,0,77,0,0,0,65,0,81,0,126,0,85,0,0,0,65,0,87,0,126,0,88,0,0,0,65,0,104,0,111,0,109,0,0,0,65,0,114,0,97,0,110,0,0,0,66,0,65,0,126,0,66,0,0,0,66,0,68,0,126,0,74,0,0,0,66,0,76,0,126,0,79,0,0,0,66,0,81,0,126,0,84,0,0,0,66,0,86,0,126,0,87,0,0,0,66,0,89,0,126,0,90,0,0,0,66,0,97,0,115,0,115,0,0,0,67,0,67,0,126,0,68,0,0,0,67,0,70,0,126,0,73,0,0,0,67,0,75,0,126,0,80,0,0,0,67,0,85,0,126,0,90,0,0,0,67,0,104,0,114,0,115,0,0,0,67,0,112,0,109,0,110,0,0,0,68,0,105,0,97,0,107,0,0,0,68,0,111,0,103,0,114,0,0,0,69,0,82,0,126,0,84,0,0,0,69,0,108,0,121,0,109,0,0,0,70,0,73,0,126,0,75,0,0,0,71,0,65,0,126,0,66,0,0,0,71,0,68,0,126,0,73,0,0,0,71,0,76,0,126,0,78,0,0,0,71,0,80,0,126,0,85,0,0,0,71,0,111,0,110,0,103,0,0,0,71,0,111,0,110,0,109,0,0,0,72,0,77,0,126,0,78,0,0,0,72,0,84,0,126,0,85,0,0,0,72,0,97,0,110,0,98,0,0,0,72,0,97,0,116,0,114,0,0,0,72,0,108,0,117,0,119,0,0,0,73,0,67,0,126,0,69,0,0,0,73,0,76,0,126,0,79,0,0,0,73,0,81,0,126,0,84,0,0,0,74,0,79,0,126,0,80,0,0,0,75,0,71,0,126,0,73,0,0,0,75,0,77,0,126,0,78,0,0,0,75,0,89,0,126,0,90,0,0,0,75,0,97,0,119,0,105,0,0,0,75,0,104,0,97,0,114,0,0,0,75,0,105,0,116,0,115,0,0,0,75,0,116,0,104,0,105,0,0,0,76,0,65,0,126,0,67,0,0,0,76,0,82,0,126,0,86,0,0,0,76,0,105,0,110,0,97,0,0,0,76,0,105,0,110,0,98,0,0,0,77,0,67,0,126,0,72,0,0,0,77,0,75,0,126,0,90,0,0,0,77,0,97,0,107,0,97,0,0,0,77,0,101,0,100,0,102,0,0,0,78,0,69,0,126,0,71,0,0,0,78,0,79,0,126,0,80,0,0,0,78,0,97,0,103,0,109,0,0,0,78,0,97,0,110,0,100,0,0,0,78,0,101,0,119,0,97,0,0,0,78,0,115,0,104,0,117,0,0,0,79,0,117,0,103,0,114,0,0,0,80,0,69,0,126,0,72,0,0,0,80,0,75,0,126,0,78,0,0,0,80,0,82,0,126,0,84,0,0,0,80,0,97,0,117,0,99,0,0,0,81,0,77,0,126,0,78,0,0,0,81,0,80,0,126,0,84,0,0,0,81,0,86,0,126,0,90,0,0,0,81,0,97,0,97,0,103,0,0,0,81,0,97,0,97,0,104,0,0,0,81,0,97,0,97,0,105,0,0,0,83,0,65,0,126,0,69,0,0,0,83,0,71,0,126,0,79,0,0,0,83,0,82,0,126,0,84,0,0,0,83,0,88,0,126,0,90,0,0,0,83,0,111,0,103,0,100,0,0,0,84,0,67,0,126,0,68,0,0,0,84,0,70,0,126,0,72,0,0,0,84,0,74,0,126,0,79,0,0,0,84,0,86,0,126,0,87,0,0,0,84,0,97,0,110,0,103,0,0,0,84,0,110,0,115,0,97,0,0,0,84,0,111,0,116,0,111,0,0,0,85,0,89,0,126,0,90,0,0,0,86,0,105,0,116,0,104,0,0,0,87,0,99,0,104,0,111,0,0,0,88,0,65,0,126,0,66,0,0,0,88,0,67,0,126,0,74,0,0,0,88,0,76,0,126,0,90,0,0,0,89,0,101,0,122,0,105,0,0,0,90,0,97,0,110,0,98,0,0,0,90,0,105,0,110,0,104,0,0,0,90,0,109,0,116,0,104,0,0,0,90,0,115,0,121,0,101,0,0,0,90,0,115,0,121,0,109,0,0,0,90,0,120,0,120,0,120,0,0,0,90,0,121,0,121,0,121,0,0,0,90,0,122,0,122,0,122,0,0,0,97,0,100,0,48,0,50,0,0,0,97,0,100,0,48,0,51,0,0,0,97,0,100,0,48,0,52,0,0,0,97,0,100,0,48,0,53,0,0,0,97,0,100,0,48,0,54,0,0,0,97,0,100,0,48,0,55,0,0,0,97,0,100,0,48,0,56,0,0,0,97,0,103,0,48,0,51,0,0,0,97,0,103,0,48,0,52,0,0,0,97,0,103,0,48,0,53,0,0,0,97,0,103,0,48,0,54,0,0,0,97,0,103,0,48,0,55,0,0,0,97,0,103,0,48,0,56,0,0,0,97,0,103,0,49,0,48,0,0,0,97,0,103,0,49,0,49,0,0,0,97,0,108,0,48,0,49,0,0,0,97,0,108,0,48,0,50,0,0,0,97,0,108,0,48,0,51,0,0,0,97,0,108,0,48,0,52,0,0,0,97,0,108,0,48,0,53,0,0,0,97,0,108,0,48,0,54,0,0,0,97,0,108,0,48,0,55,0,0,0,97,0,108,0,48,0,56,0,0,0,97,0,108,0,48,0,57,0,0,0,97,0,108,0,49,0,48,0,0,0,97,0,108,0,49,0,49,0,0,0,97,0,108,0,49,0,50,0,0,0,97,0,108,0,98,0,114,0,0,0,97,0,108,0,98,0,117,0,0,0,97,0,108,0,100,0,105,0,0,0,97,0,108,0,100,0,108,0,0,0,97,0,108,0,100,0,114,0,0,0,97,0,108,0,100,0,118,0,0,0,97,0,108,0,101,0,108,0,0,0,97,0,108,0,101,0,114,0,0,0,97,0,108,0,102,0,114,0,0,0,97,0,108,0,103,0,106,0,0,0,97,0,108,0,103,0,114,0,0,0,97,0,108,0,104,0,97,0,0,0,97,0,108,0,107,0,111,0,0,0,97,0,108,0,107,0,114,0,0,0,97,0,108,0,107,0,117,0,0,0,97,0,108,0,108,0,98,0,0,0,97,0,108,0,108,0,101,0,0,0,97,0,108,0,108,0,117,0,0,0,97,0,108,0,109,0,107,0,0,0,97,0,108,0,109,0,114,0,0,0,97,0,108,0,109,0,116,0,0,0,97,0,108,0,112,0,103,0,0,0,97,0,108,0,112,0,117,0,0,0,97,0,108,0,115,0,114,0,0,0,97,0,108,0,116,0,101,0,0,0,97,0,108,0,116,0,112,0,0,0,97,0,108,0,116,0,114,0,0,0,97,0,108,0,118,0,108,0,0,0,98,0,97,0,49,0,48,0,0,0,98,0,98,0,48,0,49,0,0,0,98,0,98,0,48,0,50,0,0,0,98,0,98,0,48,0,51,0,0,0,98,0,98,0,48,0,52,0,0,0,98,0,98,0,48,0,53,0,0,0,98,0,98,0,48,0,54,0,0,0,98,0,98,0,48,0,55,0,0,0,98,0,98,0,48,0,56,0,0,0,98,0,98,0,48,0,57,0,0,0,98,0,98,0,49,0,48,0,0,0,98,0,98,0,49,0,49,0,0,0,98,0,100,0,48,0,49,0,0,0,98,0,100,0,48,0,50,0,0,0,98,0,100,0,48,0,51,0,0,0,98,0,100,0,48,0,52,0,0,0,98,0,100,0,48,0,53,0,0,0,98,0,100,0,48,0,54,0,0,0,98,0,100,0,48,0,55,0,0,0,98,0,100,0,48,0,56,0,0,0,98,0,100,0,48,0,57,0,0,0,98,0,100,0,49,0,48,0,0,0,98,0,100,0,49,0,49,0,0,0,98,0,100,0,49,0,50,0,0,0,98,0,100,0,49,0,51,0,0,0,98,0,100,0,49,0,52,0,0,0,98,0,100,0,49,0,53,0,0,0,98,0,100,0,49,0,54,0,0,0,98,0,100,0,49,0,55,0,0,0,98,0,100,0,49,0,56,0,0,0,98,0,100,0,49,0,57,0,0,0,98,0,100,0,50,0,48,0,0,0,98,0,100,0,50,0,49,0,0,0,98,0,100,0,50,0,50,0,0,0,98,0,100,0,50,0,51,0,0,0,98,0,100,0,50,0,52,0,0,0,98,0,100,0,50,0,53,0,0,0,98,0,100,0,50,0,54,0,0,0,98,0,100,0,50,0,55,0,0,0,98,0,100,0,50,0,56,0,0,0,98,0,100,0,50,0,57,0,0,0,98,0,100,0,51,0,48,0,0,0,98,0,100,0,51,0,49,0,0,0,98,0,100,0,51,0,50,0,0,0,98,0,100,0,51,0,51,0,0,0,98,0,100,0,51,0,52,0,0,0,98,0,100,0,51,0,53,0,0,0,98,0,100,0,51,0,54,0,0,0,98,0,100,0,51,0,55,0,0,0,98,0,100,0,51,0,56,0,0,0,98,0,100,0,51,0,57,0,0,0,98,0,100,0,52,0,48,0,0,0,98,0,100,0,52,0,49,0,0,0,98,0,100,0,52,0,50,0,0,0,98,0,100,0,52,0,51,0,0,0,98,0,100,0,52,0,52,0,0,0,98,0,100,0,52,0,53,0,0,0,98,0,100,0,52,0,54,0,0,0,98,0,100,0,52,0,55,0,0,0,98,0,100,0,52,0,56,0,0,0,98,0,100,0,52,0,57,0,0,0,98,0,100,0,53,0,48,0,0,0,98,0,100,0,53,0,49,0,0,0,98,0,100,0,53,0,50,0,0,0,98,0,100,0,53,0,51,0,0,0,98,0,100,0,53,0,52,0,0,0,98,0,100,0,53,0,53,0,0,0,98,0,100,0,53,0,54,0,0,0,98,0,100,0,53,0,55,0,0,0,98,0,100,0,53,0,56,0,0,0,98,0,100,0,53,0,57,0,0,0,98,0,100,0,54,0,48,0,0,0,98,0,100,0,54,0,49,0,0,0,98,0,100,0,54,0,50,0,0,0,98,0,100,0,54,0,51,0,0,0,98,0,100,0,54,0,52,0,0,0,98,0,102,0,48,0,49,0,0,0,98,0,102,0,48,0,50,0,0,0,98,0,102,0,48,0,51,0,0,0,98,0,102,0,48,0,52,0,0,0,98,0,102,0,48,0,53,0,0,0,98,0,102,0,48,0,54,0,0,0,98,0,102,0,48,0,55,0,0,0,98,0,102,0,48,0,56,0,0,0,98,0,102,0,48,0,57,0,0,0,98,0,102,0,49,0,48,0,0,0,98,0,102,0,49,0,49,0,0,0,98,0,102,0,49,0,50,0,0,0,98,0,102,0,49,0,51,0,0,0,98,0,103,0,48,0,49,0,0,0,98,0,103,0,48,0,50,0,0,0,98,0,103,0,48,0,51,0,0,0,98,0,103,0,48,0,52,0,0,0,98,0,103,0,48,0,53,0,0,0,98,0,103,0,48,0,54,0,0,0,98,0,103,0,48,0,55,0,0,0,98,0,103,0,48,0,56,0,0,0,98,0,103,0,48,0,57,0,0,0,98,0,103,0,49,0,48,0,0,0,98,0,103,0,49,0,49,0,0,0,98,0,103,0,49,0,50,0,0,0,98,0,103,0,49,0,51,0,0,0,98,0,103,0,49,0,52,0,0,0,98,0,103,0,49,0,53,0,0,0,98,0,103,0,49,0,54,0,0,0,98,0,103,0,49,0,55,0,0,0,98,0,103,0,49,0,56,0,0,0,98,0,103,0,49,0,57,0,0,0,98,0,103,0,50,0,48,0,0,0,98,0,103,0,50,0,49,0,0,0,98,0,103,0,50,0,50,0,0,0,98,0,103,0,50,0,51,0,0,0,98,0,103,0,50,0,52,0,0,0,98,0,103,0,50,0,53,0,0,0,98,0,103,0,50,0,54,0,0,0,98,0,103,0,50,0,55,0,0,0,98,0,103,0,50,0,56,0,0,0,98,0,104,0,49,0,51,0,0,0,98,0,104,0,49,0,52,0,0,0,98,0,104,0,49,0,53,0,0,0,98,0,104,0,49,0,54,0,0,0,98,0,105,0,98,0,108,0,0,0,98,0,105,0,98,0,109,0,0,0,98,0,106,0,97,0,108,0,0,0,98,0,114,0,97,0,108,0,0,0,98,0,114,0,97,0,109,0,0,0,98,0,114,0,109,0,115,0,0,0,98,0,114,0,109,0,116,0,0,0,98,0,114,0,112,0,97,0,0,0,98,0,114,0,112,0,98,0,0,0,98,0,114,0,114,0,110,0,0,0,98,0,114,0,114,0,114,0,0,0,98,0,114,0,114,0,115,0,0,0,98,0,115,0,110,0,111,0,0,0,98,0,115,0,110,0,112,0,0,0,98,0,116,0,49,0,49,0,0,0,98,0,116,0,49,0,50,0,0,0,98,0,116,0,49,0,51,0,0,0,98,0,116,0,49,0,52,0,0,0,98,0,116,0,49,0,53,0,0,0,98,0,116,0,50,0,49,0,0,0,98,0,116,0,50,0,50,0,0,0,98,0,116,0,50,0,51,0,0,0,98,0,116,0,50,0,52,0,0,0,98,0,116,0,51,0,49,0,0,0,98,0,116,0,51,0,50,0,0,0,98,0,116,0,51,0,51,0,0,0,98,0,116,0,51,0,52,0,0,0,98,0,116,0,52,0,49,0,0,0,98,0,116,0,52,0,50,0,0,0,98,0,116,0,52,0,51,0,0,0,98,0,116,0,52,0,52,0,0,0,98,0,116,0,52,0,53,0,0,0,98,0,119,0,115,0,111,0,0,0,98,0,119,0,115,0,112,0,0,0,99,0,97,0,110,0,115,0,0,0,99,0,97,0,110,0,116,0,0,0,99,0,97,0,110,0,117,0,0,0,99,0,100,0,98,0,110,0,0,0,99,0,100,0,104,0,107,0,0,0,99,0,100,0,104,0,108,0,0,0,99,0,100,0,107,0,97,0,0,0,99,0,100,0,107,0,119,0,0,0,99,0,100,0,109,0,110,0,0,0,99,0,100,0,109,0,111,0,0,0,99,0,100,0,111,0,114,0,0,0,99,0,103,0,49,0,49,0,0,0,99,0,103,0,49,0,50,0,0,0,99,0,103,0,49,0,51,0,0,0,99,0,103,0,49,0,52,0,0,0,99,0,103,0,49,0,53,0,0,0,99,0,103,0,49,0,54,0,0,0,99,0,104,0,115,0,103,0,0,0,99,0,104,0,122,0,103,0,0,0,99,0,104,0,122,0,104,0,0,0,99,0,110,0,55,0,49,0,0,0,99,0,110,0,104,0,97,0,0,0,99,0,110,0,104,0,98,0,0,0,99,0,110,0,104,0,108,0,0,0,99,0,110,0,115,0,99,0,0,0,99,0,110,0,115,0,100,0,0,0,99,0,117,0,48,0,51,0,0,0,99,0,117,0,48,0,52,0,0,0,99,0,117,0,48,0,53,0,0,0,99,0,117,0,48,0,54,0,0,0,99,0,117,0,48,0,55,0,0,0,99,0,117,0,48,0,56,0,0,0,99,0,117,0,48,0,57,0,0,0,99,0,117,0,49,0,48,0,0,0,99,0,117,0,49,0,49,0,0,0,99,0,117,0,49,0,50,0,0,0,99,0,117,0,49,0,51,0,0,0,99,0,117,0,49,0,52,0,0,0,99,0,117,0,49,0,53,0,0,0,99,0,117,0,49,0,54,0,0,0,99,0,118,0,115,0,109,0,0,0,99,0,121,0,48,0,49,0,0,0,99,0,121,0,48,0,50,0,0,0,99,0,121,0,48,0,51,0,0,0,99,0,121,0,48,0,52,0,0,0,99,0,121,0,48,0,53,0,0,0,99,0,121,0,48,0,54,0,0,0,99,0,122,0,106,0,99,0,0,0,99,0,122,0,106,0,109,0,0,0,99,0,122,0,111,0,108,0,0,0,99,0,122,0,112,0,114,0,0,0,99,0,122,0,117,0,115,0,0,0,99,0,122,0,118,0,121,0,0,0,99,0,122,0,122,0,108,0,0,0,100,0,106,0,97,0,115,0,0,0,100,0,106,0,100,0,105,0,0,0,100,0,106,0,100,0,106,0,0,0,100,0,107,0,56,0,49,0,0,0,100,0,107,0,56,0,50,0,0,0,100,0,107,0,56,0,51,0,0,0,100,0,107,0,56,0,52,0,0,0,100,0,107,0,56,0,53,0,0,0,100,0,109,0,48,0,50,0,0,0,100,0,109,0,48,0,51,0,0,0,100,0,109,0,48,0,52,0,0,0,100,0,109,0,48,0,53,0,0,0,100,0,109,0,48,0,54,0,0,0,100,0,109,0,48,0,55,0,0,0,100,0,109,0,48,0,56,0,0,0,100,0,109,0,48,0,57,0,0,0,100,0,109,0,49,0,48,0,0,0,100,0,109,0,49,0,49,0,0,0,100,0,111,0,48,0,49,0,0,0,100,0,111,0,48,0,50,0,0,0,100,0,111,0,48,0,51,0,0,0,100,0,111,0,48,0,52,0,0,0,100,0,111,0,48,0,53,0,0,0,100,0,111,0,48,0,54,0,0,0,100,0,111,0,48,0,55,0,0,0,100,0,111,0,48,0,56,0,0,0,100,0,111,0,48,0,57,0,0,0,100,0,111,0,49,0,48,0,0,0,100,0,111,0,49,0,49,0,0,0,100,0,111,0,49,0,50,0,0,0,100,0,111,0,49,0,51,0,0,0,100,0,111,0,49,0,52,0,0,0,100,0,111,0,49,0,53,0,0,0,100,0,111,0,49,0,54,0,0,0,100,0,111,0,49,0,55,0,0,0,100,0,111,0,49,0,56,0,0,0,100,0,111,0,49,0,57,0,0,0,100,0,111,0,50,0,48,0,0,0,100,0,111,0,50,0,49,0,0,0,100,0,111,0,50,0,50,0,0,0,100,0,111,0,50,0,51,0,0,0,100,0,111,0,50,0,52,0,0,0,100,0,111,0,50,0,53,0,0,0,100,0,111,0,50,0,54,0,0,0,100,0,111,0,50,0,55,0,0,0,100,0,111,0,50,0,56,0,0,0,100,0,111,0,50,0,57,0,0,0,100,0,111,0,51,0,48,0,0,0,100,0,111,0,51,0,49,0,0,0,100,0,111,0,51,0,50,0,0,0,100,0,111,0,51,0,51,0,0,0,100,0,111,0,51,0,52,0,0,0,100,0,111,0,51,0,53,0,0,0,100,0,111,0,51,0,54,0,0,0,100,0,111,0,51,0,55,0,0,0,100,0,111,0,51,0,56,0,0,0,100,0,111,0,51,0,57,0,0,0,100,0,111,0,52,0,48,0,0,0,100,0,111,0,52,0,49,0,0,0,100,0,111,0,52,0,50,0,0,0,100,0,122,0,48,0,49,0,0,0,100,0,122,0,48,0,50,0,0,0,100,0,122,0,48,0,51,0,0,0,100,0,122,0,48,0,52,0,0,0,100,0,122,0,48,0,53,0,0,0,100,0,122,0,48,0,54,0,0,0,100,0,122,0,48,0,55,0,0,0,100,0,122,0,48,0,56,0,0,0,100,0,122,0,48,0,57,0,0,0,100,0,122,0,49,0,48,0,0,0,100,0,122,0,49,0,49,0,0,0,100,0,122,0,49,0,50,0,0,0,100,0,122,0,49,0,51,0,0,0,100,0,122,0,49,0,52,0,0,0,100,0,122,0,49,0,53,0,0,0,100,0,122,0,49,0,54,0,0,0,100,0,122,0,49,0,55,0,0,0,100,0,122,0,49,0,56,0,0,0,100,0,122,0,49,0,57,0,0,0,100,0,122,0,50,0,48,0,0,0,100,0,122,0,50,0,49,0,0,0,100,0,122,0,50,0,50,0,0,0,100,0,122,0,50,0,51,0,0,0,100,0,122,0,50,0,52,0,0,0,100,0,122,0,50,0,53,0,0,0,100,0,122,0,50,0,54,0,0,0,100,0,122,0,50,0,55,0,0,0,100,0,122,0,50,0,56,0,0,0,100,0,122,0,50,0,57,0,0,0,100,0,122,0,51,0,48,0,0,0,100,0,122,0,51,0,49,0,0,0,100,0,122,0,51,0,51,0,0,0,100,0,122,0,51,0,52,0,0,0,100,0,122,0,51,0,53,0,0,0,100,0,122,0,51,0,55,0,0,0,100,0,122,0,51,0,56,0,0,0,100,0,122,0,51,0,57,0,0,0,100,0,122,0,52,0,48,0,0,0,100,0,122,0,52,0,49,0,0,0,100,0,122,0,52,0,51,0,0,0,100,0,122,0,52,0,53,0,0,0,100,0,122,0,52,0,54,0,0,0,100,0,122,0,52,0,55,0,0,0,101,0,99,0,115,0,100,0,0,0,101,0,99,0,115,0,101,0,0,0,101,0,101,0,52,0,52,0,0,0,101,0,101,0,52,0,57,0,0,0,101,0,101,0,53,0,49,0,0,0,101,0,101,0,53,0,55,0,0,0,101,0,101,0,53,0,57,0,0,0,101,0,101,0,54,0,53,0,0,0,101,0,101,0,54,0,55,0,0,0,101,0,101,0,55,0,48,0,0,0,101,0,101,0,55,0,56,0,0,0,101,0,101,0,56,0,50,0,0,0,101,0,101,0,56,0,54,0,0,0,101,0,115,0,97,0,114,0,0,0,101,0,115,0,97,0,115,0,0,0,101,0,115,0,99,0,97,0,0,0,101,0,115,0,99,0,99,0,0,0,101,0,115,0,99,0,108,0,0,0,101,0,115,0,99,0,109,0,0,0,101,0,115,0,99,0,110,0,0,0,101,0,115,0,99,0,111,0,0,0,101,0,115,0,99,0,114,0,0,0,101,0,115,0,99,0,115,0,0,0,101,0,115,0,99,0,116,0,0,0,101,0,115,0,99,0,117,0,0,0,101,0,115,0,109,0,99,0,0,0,101,0,115,0,109,0,100,0,0,0,101,0,115,0,116,0,101,0,0,0,101,0,115,0,116,0,102,0,0,0,101,0,116,0,115,0,110,0,0,0,101,0,116,0,115,0,111,0,0,0,102,0,105,0,48,0,50,0,0,0,102,0,105,0,48,0,51,0,0,0,102,0,105,0,48,0,52,0,0,0,102,0,105,0,48,0,53,0,0,0,102,0,105,0,48,0,54,0,0,0,102,0,105,0,48,0,55,0,0,0,102,0,105,0,48,0,56,0,0,0,102,0,105,0,48,0,57,0,0,0,102,0,105,0,49,0,48,0,0,0,102,0,105,0,49,0,49,0,0,0,102,0,105,0,49,0,50,0,0,0,102,0,105,0,49,0,51,0,0,0,102,0,105,0,49,0,52,0,0,0,102,0,105,0,49,0,53,0,0,0,102,0,105,0,49,0,54,0,0,0,102,0,105,0,49,0,55,0,0,0,102,0,105,0,49,0,56,0,0,0,102,0,105,0,49,0,57,0,0,0,102,0,106,0,48,0,49,0,0,0,102,0,106,0,48,0,50,0,0,0,102,0,106,0,48,0,51,0,0,0,102,0,106,0,48,0,52,0,0,0,102,0,106,0,48,0,53,0,0,0,102,0,106,0,48,0,54,0,0,0,102,0,106,0,48,0,55,0,0,0,102,0,106,0,48,0,56,0,0,0,102,0,106,0,48,0,57,0,0,0,102,0,106,0,49,0,48,0,0,0,102,0,106,0,49,0,49,0,0,0,102,0,106,0,49,0,50,0,0,0,102,0,106,0,49,0,51,0,0,0,102,0,106,0,49,0,52,0,0,0,102,0,114,0,48,0,49,0,0,0,102,0,114,0,48,0,50,0,0,0,102,0,114,0,48,0,51,0,0,0,102,0,114,0,48,0,52,0,0,0,102,0,114,0,48,0,53,0,0,0,102,0,114,0,48,0,54,0,0,0,102,0,114,0,48,0,55,0,0,0,102,0,114,0,48,0,56,0,0,0,102,0,114,0,48,0,57,0,0,0,102,0,114,0,49,0,48,0,0,0,102,0,114,0,49,0,49,0,0,0,102,0,114,0,49,0,50,0,0,0,102,0,114,0,49,0,51,0,0,0,102,0,114,0,49,0,52,0,0,0,102,0,114,0,49,0,53,0,0,0,102,0,114,0,49,0,54,0,0,0,102,0,114,0,49,0,55,0,0,0,102,0,114,0,49,0,56,0,0,0,102,0,114,0,49,0,57,0,0,0,102,0,114,0,50,0,49,0,0,0,102,0,114,0,50,0,50,0,0,0,102,0,114,0,50,0,51,0,0,0,102,0,114,0,50,0,52,0,0,0,102,0,114,0,50,0,53,0,0,0,102,0,114,0,50,0,54,0,0,0,102,0,114,0,50,0,55,0,0,0,102,0,114,0,50,0,56,0,0,0,102,0,114,0,50,0,57,0,0,0,102,0,114,0,50,0,97,0,0,0,102,0,114,0,50,0,98,0,0,0,102,0,114,0,51,0,48,0,0,0,102,0,114,0,51,0,49,0,0,0,102,0,114,0,51,0,50,0,0,0,102,0,114,0,51,0,51,0,0,0,102,0,114,0,51,0,52,0,0,0,102,0,114,0,51,0,53,0,0,0,102,0,114,0,51,0,54,0,0,0,102,0,114,0,51,0,55,0,0,0,102,0,114,0,51,0,56,0,0,0,102,0,114,0,51,0,57,0,0,0,102,0,114,0,52,0,48,0,0,0,102,0,114,0,52,0,49,0,0,0,102,0,114,0,52,0,50,0,0,0,102,0,114,0,52,0,51,0,0,0,102,0,114,0,52,0,52,0,0,0,102,0,114,0,52,0,53,0,0,0,102,0,114,0,52,0,54,0,0,0,102,0,114,0,52,0,55,0,0,0,102,0,114,0,52,0,56,0,0,0,102,0,114,0,52,0,57,0,0,0,102,0,114,0,53,0,48,0,0,0,102,0,114,0,53,0,49,0,0,0,102,0,114,0,53,0,50,0,0,0,102,0,114,0,53,0,51,0,0,0,102,0,114,0,53,0,52,0,0,0,102,0,114,0,53,0,53,0,0,0,102,0,114,0,53,0,54,0,0,0,102,0,114,0,53,0,55,0,0,0,102,0,114,0,53,0,56,0,0,0,102,0,114,0,53,0,57,0,0,0,102,0,114,0,54,0,48,0,0,0,102,0,114,0,54,0,49,0,0,0,102,0,114,0,54,0,50,0,0,0,102,0,114,0,54,0,51,0,0,0,102,0,114,0,54,0,52,0,0,0,102,0,114,0,54,0,53,0,0,0,102,0,114,0,54,0,54,0,0,0,102,0,114,0,54,0,55,0,0,0,102,0,114,0,54,0,56,0,0,0,102,0,114,0,54,0,57,0,0,0,102,0,114,0,55,0,48,0,0,0,102,0,114,0,55,0,49,0,0,0,102,0,114,0,55,0,50,0,0,0,102,0,114,0,55,0,51,0,0,0,102,0,114,0,55,0,52,0,0,0,102,0,114,0,55,0,53,0,0,0,102,0,114,0,55,0,54,0,0,0,102,0,114,0,55,0,55,0,0,0,102,0,114,0,55,0,56,0,0,0,102,0,114,0,55,0,57,0,0,0,102,0,114,0,56,0,48,0,0,0,102,0,114,0,56,0,49,0,0,0,102,0,114,0,56,0,50,0,0,0,102,0,114,0,56,0,51,0,0,0,102,0,114,0,56,0,53,0,0,0,102,0,114,0,56,0,54,0,0,0,102,0,114,0,56,0,55,0,0,0,102,0,114,0,56,0,56,0,0,0,102,0,114,0,56,0,57,0,0,0,102,0,114,0,57,0,49,0,0,0,102,0,114,0,57,0,50,0,0,0,102,0,114,0,57,0,51,0,0,0,102,0,114,0,57,0,52,0,0,0,102,0,114,0,57,0,53,0,0,0,102,0,114,0,103,0,102,0,0,0,102,0,114,0,103,0,112,0,0,0,102,0,114,0,109,0,113,0,0,0,102,0,114,0,114,0,101,0,0,0,102,0,114,0,121,0,116,0,0,0,103,0,100,0,48,0,49,0,0,0,103,0,100,0,48,0,50,0,0,0,103,0,100,0,48,0,51,0,0,0,103,0,100,0,48,0,52,0,0,0,103,0,100,0,48,0,53,0,0,0,103,0,100,0,48,0,54,0,0,0,103,0,104,0,98,0,97,0,0,0,103,0,108,0,113,0,97,0,0,0,103,0,110,0,98,0,101,0,0,0,103,0,110,0,107,0,97,0,0,0,103,0,110,0,107,0,98,0,0,0,103,0,110,0,107,0,100,0,0,0,103,0,110,0,107,0,101,0,0,0,103,0,110,0,107,0,110,0,0,0,103,0,110,0,107,0,111,0,0,0,103,0,110,0,109,0,99,0,0,0,103,0,110,0,109,0,100,0,0,0,103,0,110,0,109,0,108,0,0,0,103,0,110,0,109,0,109,0,0,0,103,0,114,0,48,0,49,0,0,0,103,0,114,0,97,0,49,0,0,0,103,0,116,0,48,0,49,0,0,0,103,0,116,0,48,0,50,0,0,0,103,0,116,0,48,0,51,0,0,0,103,0,116,0,48,0,52,0,0,0,103,0,116,0,48,0,53,0,0,0,103,0,116,0,48,0,54,0,0,0,103,0,116,0,48,0,55,0,0,0,103,0,116,0,48,0,56,0,0,0,103,0,116,0,48,0,57,0,0,0,103,0,116,0,49,0,48,0,0,0,103,0,116,0,49,0,49,0,0,0,103,0,116,0,49,0,50,0,0,0,103,0,116,0,49,0,51,0,0,0,103,0,116,0,49,0,52,0,0,0,103,0,116,0,49,0,53,0,0,0,103,0,116,0,49,0,54,0,0,0,103,0,116,0,49,0,55,0,0,0,103,0,116,0,49,0,56,0,0,0,103,0,116,0,49,0,57,0,0,0,103,0,116,0,50,0,48,0,0,0,103,0,116,0,50,0,49,0,0,0,103,0,116,0,50,0,50,0,0,0,103,0,116,0,97,0,118,0,0,0,103,0,116,0,98,0,118,0,0,0,103,0,116,0,99,0,109,0,0,0,103,0,116,0,99,0,113,0,0,0,103,0,116,0,101,0,115,0,0,0,103,0,116,0,103,0,117,0,0,0,103,0,116,0,104,0,117,0,0,0,103,0,116,0,105,0,122,0,0,0,103,0,116,0,112,0,101,0,0,0,103,0,116,0,112,0,114,0,0,0,103,0,116,0,113,0,99,0,0,0,103,0,116,0,113,0,122,0,0,0,103,0,116,0,114,0,101,0,0,0,103,0,116,0,115,0,97,0,0,0,103,0,116,0,115,0,109,0,0,0,103,0,116,0,115,0,111,0,0,0,103,0,116,0,115,0,114,0,0,0,103,0,116,0,115,0,117,0,0,0,103,0,116,0,116,0,111,0,0,0,103,0,119,0,98,0,108,0,0,0,104,0,110,0,99,0,108,0,0,0,104,0,110,0,99,0,109,0,0,0,104,0,114,0,48,0,49,0,0,0,104,0,114,0,48,0,50,0,0,0,104,0,114,0,48,0,51,0,0,0,104,0,114,0,48,0,52,0,0,0,104,0,114,0,48,0,53,0,0,0,104,0,114,0,48,0,54,0,0,0,104,0,114,0,48,0,55,0,0,0,104,0,114,0,48,0,56,0,0,0,104,0,114,0,48,0,57,0,0,0,104,0,114,0,49,0,48,0,0,0,104,0,114,0,49,0,49,0,0,0,104,0,114,0,49,0,50,0,0,0,104,0,114,0,49,0,51,0,0,0,104,0,114,0,49,0,52,0,0,0,104,0,114,0,49,0,53,0,0,0,104,0,114,0,49,0,54,0,0,0,104,0,114,0,49,0,55,0,0,0,104,0,114,0,49,0,56,0,0,0,104,0,114,0,49,0,57,0,0,0,104,0,114,0,50,0,48,0,0,0,104,0,114,0,50,0,49,0,0,0,104,0,116,0,110,0,100,0,0,0,104,0,116,0,110,0,101,0,0,0,104,0,116,0,115,0,100,0,0,0,104,0,116,0,115,0,101,0,0,0,104,0,117,0,115,0,111,0,0,0,104,0,117,0,115,0,116,0,0,0,105,0,100,0,98,0,97,0,0,0,105,0,100,0,98,0,98,0,0,0,105,0,100,0,106,0,97,0,0,0,105,0,100,0,106,0,98,0,0,0,105,0,100,0,107,0,97,0,0,0,105,0,100,0,107,0,98,0,0,0,105,0,100,0,107,0,114,0,0,0,105,0,100,0,107,0,115,0,0,0,105,0,100,0,107,0,116,0,0,0,105,0,100,0,107,0,117,0,0,0,105,0,100,0,110,0,116,0,0,0,105,0,100,0,110,0,117,0,0,0,105,0,100,0,112,0,97,0,0,0,105,0,100,0,112,0,98,0,0,0,105,0,100,0,115,0,97,0,0,0,105,0,100,0,115,0,109,0,0,0,105,0,100,0,115,0,110,0,0,0,105,0,100,0,115,0,114,0,0,0,105,0,100,0,115,0,115,0,0,0,105,0,100,0,115,0,116,0,0,0,105,0,100,0,115,0,117,0,0,0,105,0,101,0,109,0,110,0,0,0,105,0,101,0,109,0,111,0,0,0,105,0,101,0,119,0,119,0,0,0,105,0,101,0,119,0,120,0,0,0,105,0,110,0,97,0,114,0,0,0,105,0,110,0,97,0,115,0,0,0,105,0,110,0,100,0,100,0,0,0,105,0,110,0,100,0,110,0,0,0,105,0,113,0,98,0,97,0,0,0,105,0,113,0,98,0,98,0,0,0,105,0,114,0,48,0,48,0,0,0,105,0,114,0,48,0,49,0,0,0,105,0,114,0,48,0,50,0,0,0,105,0,114,0,48,0,51,0,0,0,105,0,114,0,48,0,52,0,0,0,105,0,114,0,48,0,53,0,0,0,105,0,114,0,48,0,54,0,0,0,105,0,114,0,48,0,55,0,0,0,105,0,114,0,48,0,56,0,0,0,105,0,114,0,48,0,57,0,0,0,105,0,114,0,49,0,48,0,0,0,105,0,114,0,49,0,49,0,0,0,105,0,114,0,49,0,50,0,0,0,105,0,114,0,49,0,51,0,0,0,105,0,114,0,49,0,52,0,0,0,105,0,114,0,49,0,53,0,0,0,105,0,114,0,49,0,54,0,0,0,105,0,114,0,49,0,55,0,0,0,105,0,114,0,49,0,56,0,0,0,105,0,114,0,49,0,57,0,0,0,105,0,114,0,50,0,48,0,0,0,105,0,114,0,50,0,49,0,0,0,105,0,114,0,50,0,50,0,0,0,105,0,114,0,50,0,51,0,0,0,105,0,114,0,50,0,52,0,0,0,105,0,114,0,50,0,53,0,0,0,105,0,114,0,50,0,54,0,0,0,105,0,114,0,50,0,55,0,0,0,105,0,114,0,50,0,56,0,0,0,105,0,114,0,50,0,57,0,0,0,105,0,116,0,55,0,55,0,0,0,105,0,116,0,55,0,56,0,0,0,105,0,116,0,97,0,111,0,0,0,105,0,116,0,97,0,112,0,0,0,105,0,116,0,97,0,113,0,0,0,105,0,116,0,97,0,114,0,0,0,105,0,116,0,98,0,114,0,0,0,105,0,116,0,98,0,115,0,0,0,105,0,116,0,98,0,116,0,0,0,105,0,116,0,99,0,97,0,0,0,105,0,116,0,99,0,98,0,0,0,105,0,116,0,99,0,105,0,0,0,105,0,116,0,99,0,110,0,0,0,105,0,116,0,99,0,111,0,0,0,105,0,116,0,99,0,114,0,0,0,105,0,116,0,99,0,115,0,0,0,105,0,116,0,99,0,116,0,0,0,105,0,116,0,108,0,116,0,0,0,105,0,116,0,108,0,117,0,0,0,105,0,116,0,109,0,99,0,0,0,105,0,116,0,109,0,110,0,0,0,105,0,116,0,109,0,111,0,0,0,105,0,116,0,109,0,116,0,0,0,105,0,116,0,111,0,103,0,0,0,105,0,116,0,111,0,116,0,0,0,105,0,116,0,112,0,100,0,0,0,105,0,116,0,112,0,101,0,0,0,105,0,116,0,112,0,110,0,0,0,105,0,116,0,112,0,111,0,0,0,105,0,116,0,112,0,116,0,0,0,105,0,116,0,112,0,117,0,0,0,105,0,116,0,112,0,118,0,0,0,105,0,116,0,114,0,109,0,0,0,105,0,116,0,114,0,110,0,0,0,105,0,116,0,114,0,111,0,0,0,105,0,116,0,115,0,100,0,0,0,105,0,116,0,115,0,111,0,0,0,105,0,116,0,115,0,112,0,0,0,105,0,116,0,115,0,114,0,0,0,105,0,116,0,115,0,115,0,0,0,105,0,116,0,115,0,117,0,0,0,105,0,116,0,115,0,118,0,0,0,105,0,116,0,116,0,111,0,0,0,105,0,116,0,116,0,112,0,0,0,105,0,116,0,116,0,114,0,0,0,105,0,116,0,116,0,115,0,0,0,105,0,116,0,118,0,98,0,0,0,105,0,116,0,118,0,99,0,0,0,105,0,116,0,118,0,115,0,0,0,106,0,109,0,48,0,49,0,0,0,106,0,109,0,48,0,50,0,0,0,106,0,109,0,48,0,51,0,0,0,106,0,109,0,48,0,52,0,0,0,106,0,109,0,48,0,53,0,0,0,106,0,109,0,48,0,54,0,0,0,106,0,109,0,48,0,55,0,0,0,106,0,109,0,48,0,56,0,0,0,106,0,109,0,48,0,57,0,0,0,106,0,109,0,49,0,48,0,0,0,106,0,109,0,49,0,49,0,0,0,106,0,109,0,49,0,50,0,0,0,106,0,109,0,49,0,51,0,0,0,106,0,109,0,49,0,52,0,0,0,106,0,112,0,48,0,49,0,0,0,106,0,112,0,48,0,50,0,0,0,106,0,112,0,48,0,51,0,0,0,106,0,112,0,48,0,52,0,0,0,106,0,112,0,48,0,53,0,0,0,106,0,112,0,48,0,54,0,0,0,106,0,112,0,48,0,55,0,0,0,106,0,112,0,48,0,56,0,0,0,106,0,112,0,48,0,57,0,0,0,106,0,112,0,49,0,48,0,0,0,106,0,112,0,49,0,49,0,0,0,106,0,112,0,49,0,50,0,0,0,106,0,112,0,49,0,51,0,0,0,106,0,112,0,49,0,52,0,0,0,106,0,112,0,49,0,53,0,0,0,106,0,112,0,49,0,54,0,0,0,106,0,112,0,49,0,55,0,0,0,106,0,112,0,49,0,56,0,0,0,106,0,112,0,49,0,57,0,0,0,106,0,112,0,50,0,48,0,0,0,106,0,112,0,50,0,49,0,0,0,106,0,112,0,50,0,50,0,0,0,106,0,112,0,50,0,51,0,0,0,106,0,112,0,50,0,52,0,0,0,106,0,112,0,50,0,53,0,0,0,106,0,112,0,50,0,54,0,0,0,106,0,112,0,50,0,55,0,0,0,106,0,112,0,50,0,56,0,0,0,106,0,112,0,50,0,57,0,0,0,106,0,112,0,51,0,48,0,0,0,106,0,112,0,51,0,49,0,0,0,106,0,112,0,51,0,50,0,0,0,106,0,112,0,51,0,51,0,0,0,106,0,112,0,51,0,52,0,0,0,106,0,112,0,51,0,53,0,0,0,106,0,112,0,51,0,54,0,0,0,106,0,112,0,51,0,55,0,0,0,106,0,112,0,51,0,56,0,0,0,106,0,112,0,51,0,57,0,0,0,106,0,112,0,52,0,48,0,0,0,106,0,112,0,52,0,49,0,0,0,106,0,112,0,52,0,50,0,0,0,106,0,112,0,52,0,51,0,0,0,106,0,112,0,52,0,52,0,0,0,106,0,112,0,52,0,53,0,0,0,106,0,112,0,52,0,54,0,0,0,106,0,112,0,52,0,55,0,0,0,107,0,101,0,48,0,49,0,0,0,107,0,101,0,48,0,50,0,0,0,107,0,101,0,48,0,51,0,0,0,107,0,101,0,48,0,52,0,0,0,107,0,101,0,48,0,53,0,0,0,107,0,101,0,48,0,54,0,0,0,107,0,101,0,48,0,55,0,0,0,107,0,101,0,48,0,56,0,0,0,107,0,101,0,48,0,57,0,0,0,107,0,101,0,49,0,48,0,0,0,107,0,101,0,49,0,49,0,0,0,107,0,101,0,49,0,50,0,0,0,107,0,101,0,49,0,51,0,0,0,107,0,101,0,49,0,52,0,0,0,107,0,101,0,49,0,53,0,0,0,107,0,101,0,49,0,54,0,0,0,107,0,101,0,49,0,55,0,0,0,107,0,101,0,49,0,56,0,0,0,107,0,101,0,49,0,57,0,0,0,107,0,101,0,50,0,48,0,0,0,107,0,101,0,50,0,49,0,0,0,107,0,101,0,50,0,50,0,0,0,107,0,101,0,50,0,51,0,0,0,107,0,101,0,50,0,52,0,0,0,107,0,101,0,50,0,53,0,0,0,107,0,101,0,50,0,54,0,0,0,107,0,101,0,50,0,55,0,0,0,107,0,101,0,50,0,56,0,0,0,107,0,101,0,50,0,57,0,0,0,107,0,101,0,51,0,48,0,0,0,107,0,101,0,51,0,49,0,0,0,107,0,101,0,51,0,50,0,0,0,107,0,101,0,51,0,51,0,0,0,107,0,101,0,51,0,52,0,0,0,107,0,101,0,51,0,53,0,0,0,107,0,101,0,51,0,54,0,0,0,107,0,101,0,51,0,55,0,0,0,107,0,101,0,51,0,56,0,0,0,107,0,101,0,51,0,57,0,0,0,107,0,101,0,52,0,48,0,0,0,107,0,101,0,52,0,49,0,0,0,107,0,101,0,52,0,50,0,0,0,107,0,101,0,52,0,51,0,0,0,107,0,101,0,52,0,52,0,0,0,107,0,101,0,52,0,53,0,0,0,107,0,101,0,52,0,54,0,0,0,107,0,101,0,52,0,55,0,0,0,107,0,104,0,49,0,48,0,0,0,107,0,104,0,49,0,49,0,0,0,107,0,104,0,49,0,50,0,0,0,107,0,104,0,49,0,51,0,0,0,107,0,104,0,49,0,52,0,0,0,107,0,104,0,49,0,53,0,0,0,107,0,104,0,49,0,54,0,0,0,107,0,104,0,49,0,55,0,0,0,107,0,104,0,49,0,56,0,0,0,107,0,104,0,49,0,57,0,0,0,107,0,104,0,50,0,48,0,0,0,107,0,104,0,50,0,49,0,0,0,107,0,104,0,50,0,50,0,0,0,107,0,104,0,50,0,51,0,0,0,107,0,104,0,50,0,52,0,0,0,107,0,104,0,50,0,53,0,0,0,107,0,110,0,48,0,49,0,0,0,107,0,110,0,48,0,50,0,0,0,107,0,110,0,48,0,51,0,0,0,107,0,110,0,48,0,52,0,0,0,107,0,110,0,48,0,53,0,0,0,107,0,110,0,48,0,54,0,0,0,107,0,110,0,48,0,55,0,0,0,107,0,110,0,48,0,56,0,0,0,107,0,110,0,48,0,57,0,0,0,107,0,110,0,49,0,48,0,0,0,107,0,110,0,49,0,49,0,0,0,107,0,110,0,49,0,50,0,0,0,107,0,110,0,49,0,51,0,0,0,107,0,112,0,48,0,49,0,0,0,107,0,112,0,48,0,50,0,0,0,107,0,112,0,48,0,51,0,0,0,107,0,112,0,48,0,52,0,0,0,107,0,112,0,48,0,53,0,0,0,107,0,112,0,48,0,54,0,0,0,107,0,112,0,48,0,55,0,0,0,107,0,112,0,48,0,56,0,0,0,107,0,112,0,48,0,57,0,0,0,107,0,112,0,49,0,51,0,0,0,107,0,112,0,49,0,52,0,0,0,107,0,114,0,50,0,54,0,0,0,107,0,114,0,50,0,55,0,0,0,107,0,114,0,50,0,56,0,0,0,107,0,114,0,50,0,57,0,0,0,107,0,114,0,51,0,48,0,0,0,107,0,114,0,51,0,49,0,0,0,107,0,114,0,52,0,49,0,0,0,107,0,114,0,52,0,50,0,0,0,107,0,114,0,52,0,51,0,0,0,107,0,114,0,52,0,52,0,0,0,107,0,114,0,52,0,53,0,0,0,107,0,114,0,52,0,54,0,0,0,107,0,114,0,52,0,55,0,0,0,107,0,114,0,52,0,56,0,0,0,107,0,114,0,52,0,57,0,0,0,108,0,97,0,98,0,107,0,0,0,108,0,97,0,98,0,108,0,0,0,108,0,97,0,120,0,110,0,0,0,108,0,98,0,98,0,104,0,0,0,108,0,98,0,98,0,105,0,0,0,108,0,99,0,48,0,49,0,0,0,108,0,99,0,48,0,50,0,0,0,108,0,99,0,48,0,51,0,0,0,108,0,99,0,48,0,53,0,0,0,108,0,99,0,48,0,54,0,0,0,108,0,99,0,48,0,55,0,0,0,108,0,99,0,48,0,56,0,0,0,108,0,99,0,49,0,48,0,0,0,108,0,99,0,49,0,49,0,0,0,108,0,99,0,49,0,50,0,0,0,108,0,105,0,48,0,49,0,0,0,108,0,105,0,48,0,50,0,0,0,108,0,105,0,48,0,51,0,0,0,108,0,105,0,48,0,52,0,0,0,108,0,105,0,48,0,53,0,0,0,108,0,105,0,48,0,54,0,0,0,108,0,105,0,48,0,55,0,0,0,108,0,105,0,48,0,56,0,0,0,108,0,105,0,48,0,57,0,0,0,108,0,105,0,49,0,48,0,0,0,108,0,105,0,49,0,49,0,0,0,108,0,107,0,49,0,49,0,0,0,108,0,107,0,49,0,50,0,0,0,108,0,107,0,49,0,51,0,0,0,108,0,107,0,50,0,49,0,0,0,108,0,107,0,50,0,50,0,0,0,108,0,107,0,50,0,51,0,0,0,108,0,107,0,51,0,49,0,0,0,108,0,107,0,51,0,50,0,0,0,108,0,107,0,51,0,51,0,0,0,108,0,107,0,52,0,49,0,0,0,108,0,107,0,52,0,50,0,0,0,108,0,107,0,52,0,51,0,0,0,108,0,107,0,52,0,52,0,0,0,108,0,107,0,52,0,53,0,0,0,108,0,107,0,53,0,49,0,0,0,108,0,107,0,53,0,50,0,0,0,108,0,107,0,53,0,51,0,0,0,108,0,107,0,54,0,49,0,0,0,108,0,107,0,54,0,50,0,0,0,108,0,107,0,55,0,49,0,0,0,108,0,107,0,55,0,50,0,0,0,108,0,107,0,56,0,49,0,0,0,108,0,107,0,56,0,50,0,0,0,108,0,107,0,57,0,49,0,0,0,108,0,107,0,57,0,50,0,0,0,108,0,116,0,48,0,49,0,0,0,108,0,116,0,48,0,50,0,0,0,108,0,116,0,48,0,51,0,0,0,108,0,116,0,48,0,52,0,0,0,108,0,116,0,48,0,53,0,0,0,108,0,116,0,48,0,54,0,0,0,108,0,116,0,48,0,55,0,0,0,108,0,116,0,48,0,56,0,0,0,108,0,116,0,48,0,57,0,0,0,108,0,116,0,49,0,48,0,0,0,108,0,116,0,49,0,49,0,0,0,108,0,116,0,49,0,50,0,0,0,108,0,116,0,49,0,51,0,0,0,108,0,116,0,49,0,52,0,0,0,108,0,116,0,49,0,53,0,0,0,108,0,116,0,49,0,54,0,0,0,108,0,116,0,49,0,55,0,0,0,108,0,116,0,49,0,56,0,0,0,108,0,116,0,49,0,57,0,0,0,108,0,116,0,50,0,48,0,0,0,108,0,116,0,50,0,49,0,0,0,108,0,116,0,50,0,50,0,0,0,108,0,116,0,50,0,51,0,0,0,108,0,116,0,50,0,52,0,0,0,108,0,116,0,50,0,53,0,0,0,108,0,116,0,50,0,54,0,0,0,108,0,116,0,50,0,55,0,0,0,108,0,116,0,50,0,56,0,0,0,108,0,116,0,50,0,57,0,0,0,108,0,116,0,51,0,48,0,0,0,108,0,116,0,51,0,49,0,0,0,108,0,116,0,51,0,50,0,0,0,108,0,116,0,51,0,51,0,0,0,108,0,116,0,51,0,52,0,0,0,108,0,116,0,51,0,53,0,0,0,108,0,116,0,51,0,54,0,0,0,108,0,116,0,51,0,55,0,0,0,108,0,116,0,51,0,56,0,0,0,108,0,116,0,51,0,57,0,0,0,108,0,116,0,52,0,48,0,0,0,108,0,116,0,52,0,49,0,0,0,108,0,116,0,52,0,50,0,0,0,108,0,116,0,52,0,51,0,0,0,108,0,116,0,52,0,52,0,0,0,108,0,116,0,52,0,53,0,0,0,108,0,116,0,52,0,54,0,0,0,108,0,116,0,52,0,55,0,0,0,108,0,116,0,52,0,56,0,0,0,108,0,116,0,52,0,57,0,0,0,108,0,116,0,53,0,48,0,0,0,108,0,116,0,53,0,49,0,0,0,108,0,116,0,53,0,50,0,0,0,108,0,116,0,53,0,51,0,0,0,108,0,116,0,53,0,52,0,0,0,108,0,116,0,53,0,53,0,0,0,108,0,116,0,53,0,54,0,0,0,108,0,116,0,53,0,55,0,0,0,108,0,116,0,53,0,56,0,0,0,108,0,116,0,53,0,57,0,0,0,108,0,121,0,109,0,105,0,0,0,108,0,121,0,109,0,106,0,0,0,109,0,97,0,48,0,49,0,0,0,109,0,97,0,48,0,50,0,0,0,109,0,97,0,48,0,51,0,0,0,109,0,97,0,48,0,52,0,0,0,109,0,97,0,48,0,53,0,0,0,109,0,97,0,48,0,54,0,0,0,109,0,97,0,48,0,55,0,0,0,109,0,97,0,48,0,56,0,0,0,109,0,97,0,48,0,57,0,0,0,109,0,97,0,49,0,48,0,0,0,109,0,97,0,49,0,49,0,0,0,109,0,97,0,49,0,50,0,0,0,109,0,99,0,115,0,111,0,0,0,109,0,99,0,115,0,112,0,0,0,109,0,100,0,98,0,114,0,0,0,109,0,100,0,98,0,115,0,0,0,109,0,100,0,99,0,108,0,0,0,109,0,100,0,99,0,109,0,0,0,109,0,100,0,99,0,115,0,0,0,109,0,100,0,99,0,116,0,0,0,109,0,100,0,99,0,117,0,0,0,109,0,100,0,115,0,110,0,0,0,109,0,100,0,115,0,111,0,0,0,109,0,101,0,48,0,49,0,0,0,109,0,101,0,48,0,50,0,0,0,109,0,101,0,48,0,51,0,0,0,109,0,101,0,48,0,52,0,0,0,109,0,101,0,48,0,53,0,0,0,109,0,101,0,48,0,54,0,0,0,109,0,101,0,48,0,55,0,0,0,109,0,101,0,48,0,56,0,0,0,109,0,101,0,48,0,57,0,0,0,109,0,101,0,49,0,48,0,0,0,109,0,101,0,49,0,49,0,0,0,109,0,101,0,49,0,50,0,0,0,109,0,101,0,49,0,51,0,0,0,109,0,101,0,49,0,52,0,0,0,109,0,101,0,49,0,53,0,0,0,109,0,101,0,49,0,54,0,0,0,109,0,101,0,49,0,55,0,0,0,109,0,101,0,49,0,56,0,0,0,109,0,101,0,49,0,57,0,0,0,109,0,101,0,50,0,48,0,0,0,109,0,101,0,50,0,49,0,0,0,109,0,101,0,50,0,50,0,0,0,109,0,101,0,50,0,51,0,0,0,109,0,101,0,50,0,52,0,0,0,109,0,109,0,48,0,49,0,0,0,109,0,109,0,48,0,50,0,0,0,109,0,109,0,48,0,51,0,0,0,109,0,109,0,48,0,52,0,0,0,109,0,109,0,48,0,53,0,0,0,109,0,109,0,48,0,54,0,0,0,109,0,109,0,48,0,55,0,0,0,109,0,109,0,49,0,49,0,0,0,109,0,109,0,49,0,50,0,0,0,109,0,109,0,49,0,51,0,0,0,109,0,109,0,49,0,52,0,0,0,109,0,109,0,49,0,53,0,0,0,109,0,109,0,49,0,54,0,0,0,109,0,109,0,49,0,55,0,0,0,109,0,109,0,49,0,56,0,0,0,109,0,114,0,48,0,49,0,0,0,109,0,114,0,48,0,50,0,0,0,109,0,114,0,48,0,51,0,0,0,109,0,114,0,48,0,52,0,0,0,109,0,114,0,48,0,53,0,0,0,109,0,114,0,48,0,54,0,0,0,109,0,114,0,48,0,55,0,0,0,109,0,114,0,48,0,56,0,0,0,109,0,114,0,48,0,57,0,0,0,109,0,114,0,49,0,48,0,0,0,109,0,114,0,49,0,49,0,0,0,109,0,114,0,49,0,50,0,0,0,109,0,114,0,49,0,51,0,0,0,109,0,114,0,49,0,52,0,0,0,109,0,114,0,49,0,53,0,0,0,109,0,116,0,48,0,49,0,0,0,109,0,116,0,48,0,50,0,0,0,109,0,116,0,48,0,51,0,0,0,109,0,116,0,48,0,52,0,0,0,109,0,116,0,48,0,53,0,0,0,109,0,116,0,48,0,54,0,0,0,109,0,116,0,48,0,55,0,0,0,109,0,116,0,48,0,56,0,0,0,109,0,116,0,48,0,57,0,0,0,109,0,116,0,49,0,48,0,0,0,109,0,116,0,49,0,49,0,0,0,109,0,116,0,49,0,50,0,0,0,109,0,116,0,49,0,51,0,0,0,109,0,116,0,49,0,52,0,0,0,109,0,116,0,49,0,53,0,0,0,109,0,116,0,49,0,54,0,0,0,109,0,116,0,49,0,55,0,0,0,109,0,116,0,49,0,56,0,0,0,109,0,116,0,49,0,57,0,0,0,109,0,116,0,50,0,48,0,0,0,109,0,116,0,50,0,49,0,0,0,109,0,116,0,50,0,50,0,0,0,109,0,116,0,50,0,51,0,0,0,109,0,116,0,50,0,52,0,0,0,109,0,116,0,50,0,53,0,0,0,109,0,116,0,50,0,54,0,0,0,109,0,116,0,50,0,55,0,0,0,109,0,116,0,50,0,56,0,0,0,109,0,116,0,50,0,57,0,0,0,109,0,116,0,51,0,48,0,0,0,109,0,116,0,51,0,49,0,0,0,109,0,116,0,51,0,50,0,0,0,109,0,116,0,51,0,51,0,0,0,109,0,116,0,51,0,52,0,0,0,109,0,116,0,51,0,53,0,0,0,109,0,116,0,51,0,54,0,0,0,109,0,116,0,51,0,55,0,0,0,109,0,116,0,51,0,56,0,0,0,109,0,116,0,51,0,57,0,0,0,109,0,116,0,52,0,48,0,0,0,109,0,116,0,52,0,49,0,0,0,109,0,116,0,52,0,50,0,0,0,109,0,116,0,52,0,51,0,0,0,109,0,116,0,52,0,52,0,0,0,109,0,116,0,52,0,53,0,0,0,109,0,116,0,52,0,54,0,0,0,109,0,116,0,52,0,55,0,0,0,109,0,116,0,52,0,56,0,0,0,109,0,116,0,52,0,57,0,0,0,109,0,116,0,53,0,49,0,0,0,109,0,116,0,53,0,50,0,0,0,109,0,116,0,53,0,51,0,0,0,109,0,116,0,53,0,52,0,0,0,109,0,116,0,53,0,53,0,0,0,109,0,116,0,53,0,54,0,0,0,109,0,116,0,53,0,55,0,0,0,109,0,116,0,53,0,56,0,0,0,109,0,116,0,53,0,57,0,0,0,109,0,116,0,54,0,49,0,0,0,109,0,116,0,54,0,50,0,0,0,109,0,116,0,54,0,51,0,0,0,109,0,116,0,54,0,52,0,0,0,109,0,116,0,54,0,53,0,0,0,109,0,116,0,54,0,54,0,0,0,109,0,116,0,54,0,55,0,0,0,109,0,117,0,99,0,117,0,0,0,109,0,117,0,112,0,117,0,0,0,109,0,117,0,113,0,98,0,0,0,109,0,117,0,118,0,112,0,0,0,109,0,118,0,48,0,48,0,0,0,109,0,118,0,48,0,49,0,0,0,109,0,118,0,48,0,50,0,0,0,109,0,118,0,48,0,51,0,0,0,109,0,118,0,48,0,52,0,0,0,109,0,118,0,48,0,53,0,0,0,109,0,118,0,48,0,55,0,0,0,109,0,118,0,48,0,56,0,0,0,109,0,118,0,49,0,50,0,0,0,109,0,118,0,49,0,51,0,0,0,109,0,118,0,49,0,52,0,0,0,109,0,118,0,50,0,51,0,0,0,109,0,118,0,50,0,52,0,0,0,109,0,118,0,50,0,53,0,0,0,109,0,118,0,50,0,54,0,0,0,109,0,118,0,50,0,55,0,0,0,109,0,118,0,50,0,56,0,0,0,109,0,118,0,50,0,57,0,0,0,109,0,118,0,99,0,101,0,0,0,109,0,118,0,110,0,99,0,0,0,109,0,118,0,115,0,99,0,0,0,109,0,118,0,115,0,117,0,0,0,109,0,118,0,117,0,110,0,0,0,109,0,118,0,117,0,115,0,0,0,109,0,121,0,48,0,49,0,0,0,109,0,121,0,48,0,50,0,0,0,109,0,121,0,48,0,51,0,0,0,109,0,121,0,48,0,52,0,0,0,109,0,121,0,48,0,53,0,0,0,109,0,121,0,48,0,54,0,0,0,109,0,121,0,48,0,55,0,0,0,109,0,121,0,48,0,56,0,0,0,109,0,121,0,48,0,57,0,0,0,109,0,121,0,49,0,48,0,0,0,109,0,121,0,49,0,49,0,0,0,109,0,121,0,49,0,50,0,0,0,109,0,121,0,49,0,51,0,0,0,109,0,121,0,49,0,52,0,0,0,109,0,121,0,49,0,53,0,0,0,109,0,121,0,49,0,54,0,0,0,110,0,97,0,111,0,115,0,0,0,110,0,97,0,111,0,116,0,0,0,110,0,103,0,107,0,100,0,0,0,110,0,103,0,107,0,101,0,0,0,110,0,103,0,107,0,110,0,0,0,110,0,103,0,107,0,111,0,0,0,110,0,105,0,109,0,115,0,0,0,110,0,105,0,109,0,116,0,0,0,110,0,111,0,49,0,48,0,0,0,110,0,111,0,49,0,50,0,0,0,110,0,111,0,49,0,52,0,0,0,110,0,111,0,49,0,57,0,0,0,110,0,111,0,50,0,48,0,0,0,110,0,111,0,50,0,49,0,0,0,110,0,111,0,50,0,50,0,0,0,110,0,111,0,50,0,51,0,0,0,110,0,112,0,112,0,49,0,0,0,110,0,112,0,112,0,50,0,0,0,110,0,112,0,112,0,51,0,0,0,110,0,112,0,112,0,52,0,0,0,110,0,112,0,112,0,53,0,0,0,110,0,112,0,112,0,54,0,0,0,110,0,112,0,112,0,55,0,0,0,110,0,114,0,48,0,49,0,0,0,110,0,114,0,48,0,50,0,0,0,110,0,114,0,48,0,51,0,0,0,110,0,114,0,48,0,52,0,0,0,110,0,114,0,48,0,53,0,0,0,110,0,114,0,48,0,54,0,0,0,110,0,114,0,48,0,55,0,0,0,110,0,114,0,48,0,56,0,0,0,110,0,114,0,48,0,57,0,0,0,110,0,114,0,49,0,48,0,0,0,110,0,114,0,49,0,49,0,0,0,110,0,114,0,49,0,50,0,0,0,110,0,114,0,49,0,51,0,0,0,110,0,114,0,49,0,52,0,0,0,111,0,109,0,98,0,97,0,0,0,112,0,104,0,48,0,48,0,0,0,112,0,104,0,48,0,49,0,0,0,112,0,104,0,48,0,50,0,0,0,112,0,104,0,48,0,51,0,0,0,112,0,104,0,48,0,53,0,0,0,112,0,104,0,48,0,54,0,0,0,112,0,104,0,48,0,55,0,0,0,112,0,104,0,48,0,56,0,0,0,112,0,104,0,48,0,57,0,0,0,112,0,104,0,49,0,48,0,0,0,112,0,104,0,49,0,49,0,0,0,112,0,104,0,49,0,50,0,0,0,112,0,104,0,49,0,51,0,0,0,112,0,104,0,49,0,52,0,0,0,112,0,104,0,49,0,53,0,0,0,112,0,104,0,52,0,48,0,0,0,112,0,104,0,52,0,49,0,0,0,112,0,107,0,116,0,97,0,0,0,112,0,108,0,100,0,115,0,0,0,112,0,108,0,107,0,112,0,0,0,112,0,108,0,108,0,100,0,0,0,112,0,108,0,109,0,97,0,0,0,112,0,108,0,111,0,112,0,0,0,112,0,108,0,112,0,100,0,0,0,112,0,108,0,112,0,107,0,0,0,112,0,108,0,112,0,109,0,0,0,112,0,108,0,119,0,110,0,0,0,112,0,108,0,119,0,112,0,0,0,112,0,108,0,122,0,112,0,0,0,112,0,116,0,48,0,49,0,0,0,112,0,116,0,48,0,50,0,0,0,112,0,116,0,48,0,51,0,0,0,112,0,116,0,48,0,52,0,0,0,112,0,116,0,48,0,53,0,0,0,112,0,116,0,48,0,54,0,0,0,112,0,116,0,48,0,55,0,0,0,112,0,116,0,48,0,56,0,0,0,112,0,116,0,48,0,57,0,0,0,112,0,116,0,49,0,48,0,0,0,112,0,116,0,49,0,49,0,0,0,112,0,116,0,49,0,50,0,0,0,112,0,116,0,49,0,51,0,0,0,112,0,116,0,49,0,52,0,0,0,112,0,116,0,49,0,53,0,0,0,112,0,116,0,49,0,54,0,0,0,112,0,116,0,49,0,55,0,0,0,112,0,116,0,49,0,56,0,0,0,112,0,121,0,49,0,48,0,0,0,112,0,121,0,49,0,49,0,0,0,112,0,121,0,49,0,50,0,0,0,112,0,121,0,49,0,51,0,0,0,112,0,121,0,49,0,52,0,0,0,112,0,121,0,49,0,53,0,0,0,112,0,121,0,49,0,54,0,0,0,114,0,111,0,99,0,115,0,0,0,114,0,111,0,99,0,116,0,0,0,114,0,111,0,116,0,108,0,0,0,114,0,111,0,116,0,109,0,0,0,114,0,115,0,48,0,48,0,0,0,114,0,115,0,48,0,49,0,0,0,114,0,115,0,48,0,50,0,0,0,114,0,115,0,48,0,51,0,0,0,114,0,115,0,48,0,52,0,0,0,114,0,115,0,48,0,53,0,0,0,114,0,115,0,48,0,54,0,0,0,114,0,115,0,48,0,55,0,0,0,114,0,115,0,48,0,56,0,0,0,114,0,115,0,48,0,57,0,0,0,114,0,115,0,49,0,48,0,0,0,114,0,115,0,49,0,49,0,0,0,114,0,115,0,49,0,50,0,0,0,114,0,115,0,49,0,51,0,0,0,114,0,115,0,49,0,52,0,0,0,114,0,115,0,49,0,53,0,0,0,114,0,115,0,49,0,54,0,0,0,114,0,115,0,49,0,55,0,0,0,114,0,115,0,49,0,56,0,0,0,114,0,115,0,49,0,57,0,0,0,114,0,115,0,50,0,48,0,0,0,114,0,115,0,50,0,49,0,0,0,114,0,115,0,50,0,50,0,0,0,114,0,115,0,50,0,51,0,0,0,114,0,115,0,50,0,52,0,0,0,114,0,115,0,50,0,53,0,0,0,114,0,115,0,50,0,54,0,0,0,114,0,115,0,50,0,55,0,0,0,114,0,115,0,50,0,56,0,0,0,114,0,115,0,50,0,57,0,0,0,114,0,117,0,107,0,98,0,0,0,114,0,117,0,107,0,99,0,0,0,114,0,117,0,107,0,107,0,0,0,114,0,117,0,107,0,108,0,0,0,114,0,119,0,48,0,49,0,0,0,114,0,119,0,48,0,50,0,0,0,114,0,119,0,48,0,51,0,0,0,114,0,119,0,48,0,52,0,0,0,114,0,119,0,48,0,53,0,0,0,115,0,97,0,48,0,49,0,0,0,115,0,97,0,48,0,50,0,0,0,115,0,97,0,48,0,51,0,0,0,115,0,97,0,48,0,52,0,0,0,115,0,97,0,48,0,53,0,0,0,115,0,97,0,48,0,54,0,0,0,115,0,97,0,48,0,55,0,0,0,115,0,97,0,48,0,56,0,0,0,115,0,97,0,48,0,57,0,0,0,115,0,97,0,49,0,48,0,0,0,115,0,97,0,49,0,49,0,0,0,115,0,97,0,49,0,50,0,0,0,115,0,98,0,109,0,107,0,0,0,115,0,98,0,109,0,108,0,0,0,115,0,99,0,48,0,49,0,0,0,115,0,99,0,48,0,50,0,0,0,115,0,99,0,48,0,51,0,0,0,115,0,99,0,48,0,52,0,0,0,115,0,99,0,48,0,53,0,0,0,115,0,99,0,48,0,54,0,0,0,115,0,99,0,48,0,55,0,0,0,115,0,99,0,48,0,56,0,0,0,115,0,99,0,48,0,57,0,0,0,115,0,99,0,49,0,48,0,0,0,115,0,99,0,49,0,49,0,0,0,115,0,99,0,49,0,50,0,0,0,115,0,99,0,49,0,51,0,0,0,115,0,99,0,49,0,52,0,0,0,115,0,99,0,49,0,53,0,0,0,115,0,99,0,49,0,54,0,0,0,115,0,99,0,49,0,55,0,0,0,115,0,99,0,49,0,56,0,0,0,115,0,99,0,49,0,57,0,0,0,115,0,99,0,50,0,48,0,0,0,115,0,99,0,50,0,49,0,0,0,115,0,99,0,50,0,50,0,0,0,115,0,99,0,50,0,51,0,0,0,115,0,99,0,50,0,52,0,0,0,115,0,99,0,50,0,53,0,0,0,115,0,99,0,50,0,54,0,0,0,115,0,99,0,50,0,55,0,0,0,115,0,101,0,97,0,98,0,0,0,115,0,101,0,97,0,99,0,0,0,115,0,103,0,48,0,49,0,0,0,115,0,103,0,48,0,50,0,0,0,115,0,103,0,48,0,51,0,0,0,115,0,103,0,48,0,52,0,0,0,115,0,103,0,48,0,53,0,0,0,115,0,109,0,48,0,49,0,0,0,115,0,109,0,48,0,50,0,0,0,115,0,109,0,48,0,51,0,0,0,115,0,109,0,48,0,52,0,0,0,115,0,109,0,48,0,53,0,0,0,115,0,109,0,48,0,54,0,0,0,115,0,109,0,48,0,55,0,0,0,115,0,109,0,48,0,56,0,0,0,115,0,109,0,48,0,57,0,0,0,115,0,110,0,107,0,100,0,0,0,115,0,110,0,107,0,101,0,0,0,115,0,116,0,48,0,49,0,0,0,115,0,116,0,48,0,50,0,0,0,115,0,116,0,48,0,51,0,0,0,115,0,116,0,48,0,52,0,0,0,115,0,116,0,48,0,53,0,0,0,115,0,116,0,48,0,54,0,0,0,115,0,121,0,104,0,109,0,0,0,116,0,104,0,49,0,48,0,0,0,116,0,104,0,49,0,49,0,0,0,116,0,104,0,49,0,50,0,0,0,116,0,104,0,49,0,51,0,0,0,116,0,104,0,49,0,52,0,0,0,116,0,104,0,49,0,53,0,0,0,116,0,104,0,49,0,54,0,0,0,116,0,104,0,49,0,55,0,0,0,116,0,104,0,49,0,56,0,0,0,116,0,104,0,49,0,57,0,0,0,116,0,104,0,50,0,48,0,0,0,116,0,104,0,50,0,49,0,0,0,116,0,104,0,50,0,50,0,0,0,116,0,104,0,50,0,51,0,0,0,116,0,104,0,50,0,52,0,0,0,116,0,104,0,50,0,53,0,0,0,116,0,104,0,50,0,54,0,0,0,116,0,104,0,50,0,55,0,0,0,116,0,104,0,51,0,48,0,0,0,116,0,104,0,51,0,49,0,0,0,116,0,104,0,51,0,50,0,0,0,116,0,104,0,51,0,51,0,0,0,116,0,104,0,51,0,52,0,0,0,116,0,104,0,51,0,53,0,0,0,116,0,104,0,51,0,54,0,0,0,116,0,104,0,51,0,55,0,0,0,116,0,104,0,51,0,56,0,0,0,116,0,104,0,51,0,57,0,0,0,116,0,104,0,52,0,48,0,0,0,116,0,104,0,52,0,49,0,0,0,116,0,104,0,52,0,50,0,0,0,116,0,104,0,52,0,51,0,0,0,116,0,104,0,52,0,52,0,0,0,116,0,104,0,52,0,53,0,0,0,116,0,104,0,52,0,54,0,0,0,116,0,104,0,52,0,55,0,0,0,116,0,104,0,52,0,56,0,0,0,116,0,104,0,52,0,57,0,0,0,116,0,104,0,53,0,48,0,0,0,116,0,104,0,53,0,49,0,0,0,116,0,104,0,53,0,50,0,0,0,116,0,104,0,53,0,51,0,0,0,116,0,104,0,53,0,52,0,0,0,116,0,104,0,53,0,53,0,0,0,116,0,104,0,53,0,54,0,0,0,116,0,104,0,53,0,55,0,0,0,116,0,104,0,53,0,56,0,0,0,116,0,104,0,54,0,48,0,0,0,116,0,104,0,54,0,49,0,0,0,116,0,104,0,54,0,50,0,0,0,116,0,104,0,54,0,51,0,0,0,116,0,104,0,54,0,52,0,0,0,116,0,104,0,54,0,53,0,0,0,116,0,104,0,54,0,54,0,0,0,116,0,104,0,54,0,55,0,0,0,116,0,104,0,55,0,48,0,0,0,116,0,104,0,55,0,49,0,0,0,116,0,104,0,55,0,50,0,0,0,116,0,104,0,55,0,51,0,0,0,116,0,104,0,55,0,52,0,0,0,116,0,104,0,55,0,53,0,0,0,116,0,104,0,55,0,54,0,0,0,116,0,104,0,55,0,55,0,0,0,116,0,104,0,56,0,48,0,0,0,116,0,104,0,56,0,49,0,0,0,116,0,104,0,56,0,50,0,0,0,116,0,104,0,56,0,51,0,0,0,116,0,104,0,56,0,52,0,0,0,116,0,104,0,56,0,53,0,0,0,116,0,104,0,56,0,54,0,0,0,116,0,104,0,57,0,48,0,0,0,116,0,104,0,57,0,49,0,0,0,116,0,104,0,57,0,50,0,0,0,116,0,104,0,57,0,51,0,0,0,116,0,104,0,57,0,52,0,0,0,116,0,104,0,57,0,53,0,0,0,116,0,110,0,49,0,49,0,0,0,116,0,110,0,49,0,50,0,0,0,116,0,110,0,49,0,51,0,0,0,116,0,110,0,49,0,52,0,0,0,116,0,110,0,50,0,49,0,0,0,116,0,110,0,50,0,50,0,0,0,116,0,110,0,50,0,51,0,0,0,116,0,110,0,51,0,49,0,0,0,116,0,110,0,51,0,50,0,0,0,116,0,110,0,51,0,51,0,0,0,116,0,110,0,51,0,52,0,0,0,116,0,110,0,52,0,49,0,0,0,116,0,110,0,52,0,50,0,0,0,116,0,110,0,52,0,51,0,0,0,116,0,110,0,53,0,49,0,0,0,116,0,110,0,53,0,50,0,0,0,116,0,110,0,53,0,51,0,0,0,116,0,110,0,55,0,49,0,0,0,116,0,110,0,55,0,50,0,0,0,116,0,110,0,55,0,51,0,0,0,116,0,110,0,56,0,49,0,0,0,116,0,110,0,56,0,50,0,0,0,116,0,110,0,56,0,51,0,0,0,116,0,111,0,48,0,49,0,0,0,116,0,111,0,48,0,50,0,0,0,116,0,111,0,48,0,51,0,0,0,116,0,111,0,48,0,52,0,0,0,116,0,111,0,48,0,53,0,0,0,116,0,114,0,48,0,49,0,0,0,116,0,114,0,48,0,50,0,0,0,116,0,114,0,48,0,51,0,0,0,116,0,114,0,48,0,52,0,0,0,116,0,114,0,48,0,53,0,0,0,116,0,114,0,48,0,54,0,0,0,116,0,114,0,48,0,55,0,0,0,116,0,114,0,48,0,56,0,0,0,116,0,114,0,48,0,57,0,0,0,116,0,114,0,49,0,48,0,0,0,116,0,114,0,49,0,49,0,0,0,116,0,114,0,49,0,50,0,0,0,116,0,114,0,49,0,51,0,0,0,116,0,114,0,49,0,52,0,0,0,116,0,114,0,49,0,53,0,0,0,116,0,114,0,49,0,54,0,0,0,116,0,114,0,49,0,55,0,0,0,116,0,114,0,49,0,56,0,0,0,116,0,114,0,49,0,57,0,0,0,116,0,114,0,50,0,48,0,0,0,116,0,114,0,50,0,49,0,0,0,116,0,114,0,50,0,50,0,0,0,116,0,114,0,50,0,51,0,0,0,116,0,114,0,50,0,52,0,0,0,116,0,114,0,50,0,53,0,0,0,116,0,114,0,50,0,54,0,0,0,116,0,114,0,50,0,55,0,0,0,116,0,114,0,50,0,56,0,0,0,116,0,114,0,50,0,57,0,0,0,116,0,114,0,51,0,48,0,0,0,116,0,114,0,51,0,49,0,0,0,116,0,114,0,51,0,50,0,0,0,116,0,114,0,51,0,51,0,0,0,116,0,114,0,51,0,52,0,0,0,116,0,114,0,51,0,53,0,0,0,116,0,114,0,51,0,54,0,0,0,116,0,114,0,51,0,55,0,0,0,116,0,114,0,51,0,56,0,0,0,116,0,114,0,51,0,57,0,0,0,116,0,114,0,52,0,48,0,0,0,116,0,114,0,52,0,49,0,0,0,116,0,114,0,52,0,50,0,0,0,116,0,114,0,52,0,51,0,0,0,116,0,114,0,52,0,52,0,0,0,116,0,114,0,52,0,53,0,0,0,116,0,114,0,52,0,54,0,0,0,116,0,114,0,52,0,55,0,0,0,116,0,114,0,52,0,56,0,0,0,116,0,114,0,52,0,57,0,0,0,116,0,114,0,53,0,48,0,0,0,116,0,114,0,53,0,49,0,0,0,116,0,114,0,53,0,50,0,0,0,116,0,114,0,53,0,51,0,0,0,116,0,114,0,53,0,52,0,0,0,116,0,114,0,53,0,53,0,0,0,116,0,114,0,53,0,54,0,0,0,116,0,114,0,53,0,55,0,0,0,116,0,114,0,53,0,56,0,0,0,116,0,114,0,53,0,57,0,0,0,116,0,114,0,54,0,48,0,0,0,116,0,114,0,54,0,49,0,0,0,116,0,114,0,54,0,50,0,0,0,116,0,114,0,54,0,51,0,0,0,116,0,114,0,54,0,52,0,0,0,116,0,114,0,54,0,53,0,0,0,116,0,114,0,54,0,54,0,0,0,116,0,114,0,54,0,55,0,0,0,116,0,114,0,54,0,56,0,0,0,116,0,114,0,54,0,57,0,0,0,116,0,114,0,55,0,48,0,0,0,116,0,114,0,55,0,49,0,0,0,116,0,114,0,55,0,50,0,0,0,116,0,114,0,55,0,51,0,0,0,116,0,114,0,55,0,52,0,0,0,116,0,114,0,55,0,53,0,0,0,116,0,114,0,55,0,54,0,0,0,116,0,114,0,55,0,55,0,0,0,116,0,114,0,55,0,56,0,0,0,116,0,114,0,55,0,57,0,0,0,116,0,114,0,56,0,48,0,0,0,116,0,114,0,56,0,49,0,0,0,116,0,122,0,48,0,49,0,0,0,116,0,122,0,48,0,50,0,0,0,116,0,122,0,48,0,51,0,0,0,116,0,122,0,48,0,52,0,0,0,116,0,122,0,48,0,53,0,0,0,116,0,122,0,48,0,54,0,0,0,116,0,122,0,48,0,55,0,0,0,116,0,122,0,48,0,56,0,0,0,116,0,122,0,48,0,57,0,0,0,116,0,122,0,49,0,49,0,0,0,116,0,122,0,49,0,51,0,0,0,116,0,122,0,49,0,52,0,0,0,116,0,122,0,49,0,53,0,0,0,116,0,122,0,49,0,54,0,0,0,116,0,122,0,49,0,55,0,0,0,116,0,122,0,49,0,56,0,0,0,116,0,122,0,49,0,57,0,0,0,116,0,122,0,50,0,49,0,0,0,116,0,122,0,50,0,50,0,0,0,116,0,122,0,50,0,51,0,0,0,116,0,122,0,50,0,52,0,0,0,116,0,122,0,50,0,53,0,0,0,116,0,122,0,50,0,54,0,0,0,116,0,122,0,50,0,55,0,0,0,116,0,122,0,50,0,56,0,0,0,116,0,122,0,50,0,57,0,0,0,116,0,122,0,51,0,49,0,0,0,117,0,115,0,97,0,108,0,0,0,117,0,115,0,109,0,101,0,0,0,117,0,115,0,109,0,110,0,0,0,117,0,115,0,109,0,115,0,0,0,117,0,115,0,109,0,116,0,0,0,117,0,115,0,110,0,100,0,0,0,117,0,115,0,110,0,101,0,0,0,117,0,115,0,115,0,99,0,0,0,117,0,115,0,115,0,100,0,0,0,118,0,99,0,48,0,49,0,0,0,118,0,99,0,48,0,50,0,0,0,118,0,99,0,48,0,51,0,0,0,118,0,99,0,48,0,52,0,0,0,118,0,99,0,48,0,53,0,0,0,118,0,99,0,48,0,54,0,0,0,118,0,110,0,48,0,49,0,0,0,118,0,110,0,48,0,50,0,0,0,118,0,110,0,48,0,51,0,0,0,118,0,110,0,48,0,52,0,0,0,118,0,110,0,48,0,53,0,0,0,118,0,110,0,48,0,54,0,0,0,118,0,110,0,48,0,55,0,0,0,118,0,110,0,49,0,51,0,0,0,118,0,110,0,49,0,52,0,0,0,118,0,110,0,50,0,48,0,0,0,118,0,110,0,50,0,49,0,0,0,118,0,110,0,50,0,50,0,0,0,118,0,110,0,50,0,51,0,0,0,118,0,110,0,50,0,52,0,0,0,118,0,110,0,50,0,53,0,0,0,118,0,110,0,50,0,54,0,0,0,118,0,110,0,50,0,55,0,0,0,118,0,110,0,50,0,56,0,0,0,118,0,110,0,50,0,57,0,0,0,118,0,110,0,51,0,48,0,0,0,118,0,110,0,51,0,49,0,0,0,118,0,110,0,51,0,50,0,0,0,118,0,110,0,51,0,51,0,0,0,118,0,110,0,51,0,52,0,0,0,118,0,110,0,51,0,53,0,0,0,118,0,110,0,51,0,54,0,0,0,118,0,110,0,51,0,55,0,0,0,118,0,110,0,52,0,48,0,0,0,118,0,110,0,52,0,49,0,0,0,118,0,110,0,52,0,51,0,0,0,118,0,110,0,52,0,52,0,0,0,118,0,110,0,52,0,53,0,0,0,118,0,110,0,52,0,54,0,0,0,118,0,110,0,52,0,55,0,0,0,118,0,110,0,53,0,48,0,0,0,118,0,110,0,53,0,49,0,0,0,118,0,110,0,53,0,50,0,0,0,118,0,110,0,53,0,51,0,0,0,118,0,110,0,53,0,52,0,0,0,118,0,110,0,53,0,53,0,0,0,118,0,110,0,53,0,54,0,0,0,118,0,110,0,53,0,55,0,0,0,118,0,110,0,53,0,56,0,0,0,118,0,110,0,53,0,57,0,0,0,118,0,110,0,54,0,54,0,0,0,118,0,110,0,54,0,55,0,0,0,118,0,110,0,54,0,56,0,0,0,118,0,110,0,54,0,57,0,0,0,118,0,110,0,55,0,48,0,0,0,118,0,110,0,55,0,49,0,0,0,118,0,110,0,55,0,50,0,0,0,118,0,110,0,55,0,51,0,0,0,122,0,97,0,103,0,116,0,0,0,122,0,97,0,110,0,108,0,0,0,122,0,109,0,48,0,49,0,0,0,122,0,109,0,48,0,50,0,0,0,122,0,109,0,48,0,51,0,0,0,122,0,109,0,48,0,52,0,0,0,122,0,109,0,48,0,53,0,0,0,122,0,109,0,48,0,54,0,0,0,122,0,109,0,48,0,55,0,0,0,122,0,109,0,48,0,56,0,0,0,122,0,109,0,48,0,57,0,0,0,122,0,119,0,109,0,118,0,0,0,122,0,119,0,109,0,119,0,0,0,101,0,110,0,95,0,73,0,78,0,0,0,97,0,122,0,122,0,97,0,114,0,0,0,101,0,110,0,95,0,68,0,69,0,0,0,101,0,110,0,95,0,71,0,66,0,0,0,101,0,110,0,95,0,90,0,65,0,0,0,101,0,110,0,95,0,80,0,75,0,0,0,101,0,110,0,95,0,85,0,71,0,0,0,101,0,110,0,95,0,75,0,69,0,0,0,101,0,110,0,95,0,78,0,71,0,0,0,101,0,110,0,95,0,78,0,76,0,0,0,112,0,116,0,95,0,70,0,82,0,0,0,49,0,53,0,52,0,126,0,53,0,0,0,101,0,110,0,95,0,65,0,84,0,0,0,112,0,116,0,95,0,77,0,90,0,0,0,101,0,110,0,95,0,66,0,69,0,0,0,101,0,110,0,95,0,70,0,73,0,0,0,101,0,110,0,95,0,83,0,73,0,0,0,101,0,110,0,95,0,71,0,72,0,0,0,101,0,110,0,95,0,84,0,90,0,0,0,112,0,116,0,95,0,67,0,72,0,0,0,112,0,116,0,95,0,76,0,85,0,0,0,112,0,116,0,95,0,80,0,84,0,0,0,101,0,110,0,95,0,67,0,89,0,0,0,101,0,110,0,95,0,68,0,75,0,0,0,101,0,110,0,95,0,77,0,84,0,0,0,101,0,110,0,95,0,78,0,65,0,0,0,101,0,110,0,95,0,90,0,77,0,0,0,108,0,117,0,110,0,97,0,114,0,0,0,110,0,122,0,119,0,103,0,110,0,0,0,101,0,110,0,95,0,69,0,82,0,0,0,101,0,110,0,95,0,70,0,74,0,0,0,101,0,110,0,95,0,70,0,77,0,0,0,101,0,110,0,95,0,73,0,69,0,0,0,101,0,110,0,95,0,77,0,85,0,0,0,101,0,110,0,95,0,77,0,89,0,0,0,101,0,110,0,95,0,82,0,87,0,0,0,101,0,110,0,95,0,83,0,68,0,0,0,101,0,110,0,95,0,83,0,69,0,0,0,101,0,110,0,95,0,83,0,71,0,0,0,101,0,110,0,95,0,83,0,76,0,0,0,101,0,110,0,95,0,86,0,85,0,0,0,101,0,110,0,95,0,90,0,87,0,0,0,112,0,116,0,95,0,65,0,79,0,0,0,112,0,116,0,95,0,66,0,82,0,0,0,112,0,116,0,95,0,71,0,81,0,0,0,116,0,119,0,104,0,115,0,113,0,0,0,101,0,110,0,95,0,67,0,77,0,0,0,101,0,110,0,95,0,72,0,75,0,0,0,101,0,110,0,95,0,73,0,76,0,0,0,101,0,110,0,95,0,74,0,77,0,0,0,101,0,110,0,95,0,77,0,71,0,0,0,101,0,110,0,95,0,77,0,87,0,0,0,101,0,110,0,95,0,78,0,82,0,0,0,101,0,110,0,95,0,78,0,90,0,0,0,101,0,110,0,95,0,80,0,71,0,0,0,101,0,110,0,95,0,80,0,87,0,0,0,101,0,110,0,95,0,83,0,67,0,0,0,101,0,110,0,95,0,87,0,83,0,0,0,101,0,115,0,95,0,66,0,79,0,0,0,101,0,115,0,95,0,69,0,67,0,0,0,101,0,115,0,95,0,77,0,88,0,0,0,101,0,115,0,95,0,80,0,89,0,0,0,103,0,98,0,101,0,115,0,115,0,0,0,108,0,118,0,48,0,49,0,49,0,0,0,116,0,119,0,116,0,110,0,110,0,0,0,103,0,98,0,115,0,103,0,99,0,0,0,109,0,97,0,109,0,97,0,114,0,0,0,112,0,104,0,116,0,97,0,114,0,0,0,114,0,117,0,115,0,97,0,114,0,0,0,114,0,117,0,121,0,97,0,114,0,0,0,115,0,105,0,48,0,50,0,57,0,0,0,98,0,101,0,119,0,104,0,116,0,0,0,101,0,110,0,95,0,66,0,87,0,0,0,101,0,110,0,95,0,68,0,77,0,0,0,101,0,110,0,95,0,71,0,77,0,0,0,101,0,110,0,95,0,71,0,89,0,0,0,101,0,110,0,95,0,75,0,73,0,0,0,101,0,110,0,95,0,76,0,83,0,0,0,101,0,110,0,95,0,77,0,86,0,0,0,101,0,110,0,95,0,78,0,85,0,0,0,101,0,110,0,95,0,83,0,66,0,0,0,101,0,110,0,95,0,83,0,83,0,0,0,101,0,110,0,95,0,83,0,90,0,0,0,101,0,110,0,95,0,84,0,79,0,0,0,101,0,110,0,95,0,84,0,84,0,0,0,101,0,110,0,95,0,84,0,86,0,0,0,101,0,110,0,95,0,86,0,67,0,0,0,101,0,115,0,95,0,65,0,82,0,0,0,101,0,115,0,95,0,66,0,90,0,0,0,101,0,115,0,95,0,67,0,76,0,0,0,101,0,115,0,95,0,67,0,82,0,0,0,101,0,115,0,95,0,68,0,79,0,0,0,101,0,115,0,95,0,71,0,84,0,0,0,101,0,115,0,95,0,78,0,73,0,0,0,101,0,115,0,95,0,80,0,65,0,0,0,101,0,115,0,95,0,80,0,69,0,0,0,101,0,115,0,95,0,83,0,86,0,0,0,101,0,115,0,95,0,86,0,69,0,0,0,103,0,98,0,121,0,111,0,114,0,0,0,107,0,122,0,121,0,117,0,122,0,0,0,109,0,97,0,116,0,97,0,122,0,0,0,112,0,116,0,95,0,67,0,86,0,0,0,112,0,116,0,95,0,71,0,87,0,0,0,112,0,116,0,95,0,84,0,76,0,0,0,97,0,111,0,108,0,117,0,97,0,0,0,97,0,122,0,98,0,97,0,108,0,0,0,101,0,101,0,52,0,52,0,54,0,0,0,101,0,101,0,52,0,55,0,56,0,0,0,101,0,101,0,52,0,56,0,48,0,0,0,101,0,101,0,53,0,56,0,54,0,0,0,101,0,101,0,55,0,56,0,52,0,0,0,101,0,101,0,56,0,51,0,52,0,0,0,102,0,114,0,57,0,55,0,54,0,0,0,103,0,98,0,103,0,119,0,110,0,0,0,105,0,115,0,98,0,111,0,108,0,0,0,109,0,97,0,98,0,101,0,109,0,0,0,109,0,97,0,101,0,115,0,109,0,0,0,109,0,104,0,107,0,105,0,108,0,0,0,109,0,107,0,52,0,49,0,48,0,0,0,109,0,110,0,48,0,51,0,57,0,0,0,109,0,110,0,48,0,54,0,49,0,0,0,109,0,120,0,110,0,108,0,101,0,0,0,109,0,120,0,118,0,101,0,114,0,0,0,112,0,104,0,98,0,111,0,104,0,0,0,112,0,104,0,115,0,108,0,101,0,0,0,112,0,119,0,50,0,49,0,52,0,0,0,97,0,102,0,116,0,97,0,107,0,0,0,97,0,111,0,117,0,105,0,103,0,0,0,101,0,110,0,95,0,65,0,71,0,0,0,101,0,110,0,95,0,65,0,73,0,0,0,101,0,110,0,95,0,65,0,85,0,0,0,101,0,110,0,95,0,66,0,66,0,0,0,101,0,110,0,95,0,66,0,83,0,0,0,101,0,110,0,95,0,67,0,67,0,0,0,101,0,110,0,95,0,71,0,68,0,0,0,101,0,110,0,95,0,71,0,73,0,0,0,101,0,110,0,95,0,73,0,77,0,0,0,101,0,110,0,95,0,74,0,69,0,0,0,101,0,110,0,95,0,75,0,78,0,0,0,101,0,110,0,95,0,76,0,67,0,0,0,101,0,110,0,95,0,76,0,82,0,0,0,101,0,110,0,95,0,83,0,88,0,0,0,101,0,110,0,95,0,84,0,75,0,0,0,101,0,110,0,95,0,86,0,71,0,0,0,101,0,115,0,95,0,67,0,79,0,0,0,101,0,115,0,95,0,67,0,85,0,0,0,101,0,115,0,95,0,72,0,78,0,0,0,101,0,115,0,95,0,80,0,82,0,0,0,101,0,115,0,95,0,85,0,89,0,0,0,103,0,98,0,118,0,103,0,108,0,0,0,103,0,98,0,119,0,108,0,110,0,0,0,103,0,98,0,119,0,108,0,118,0,0,0,103,0,98,0,122,0,101,0,116,0,0,0,105,0,115,0,114,0,107,0,110,0,0,0,105,0,115,0,115,0,98,0,104,0,0,0,107,0,122,0,115,0,104,0,121,0,0,0,107,0,122,0,122,0,104,0,97,0,0,0,109,0,104,0,117,0,116,0,105,0,0,0,109,0,107,0,49,0,48,0,52,0,0,0,109,0,120,0,116,0,97,0,109,0,0,0,110,0,122,0,119,0,107,0,111,0,0,0,112,0,101,0,112,0,105,0,117,0,0,0,112,0,104,0,115,0,117,0,107,0,0,0,112,0,116,0,95,0,77,0,79,0,0,0,112,0,116,0,95,0,83,0,84,0,0,0,114,0,117,0,122,0,97,0,98,0,0,0,115,0,105,0,48,0,48,0,53,0,0,0,115,0,105,0,48,0,49,0,51,0,0,0,115,0,105,0,48,0,50,0,49,0,0,0,115,0,105,0,49,0,53,0,54,0,0,0,116,0,116,0,115,0,102,0,111,0,0,0,114,0,117,0,115,0,97,0,107,0,0,0,114,0,117,0,115,0,109,0,111,0,0,0,97,0,102,0,98,0,100,0,103,0,0,0,97,0,102,0,103,0,104,0,97,0,0,0,97,0,102,0,106,0,111,0,119,0,0,0,97,0,111,0,108,0,110,0,111,0,0,0,97,0,111,0,122,0,97,0,105,0,0,0,97,0,122,0,105,0,109,0,105,0,0,0,97,0,122,0,111,0,103,0,117,0,0,0,97,0,122,0,113,0,117,0,115,0,0,0,98,0,102,0,98,0,97,0,122,0,0,0,98,0,102,0,98,0,108,0,103,0,0,0,98,0,102,0,115,0,101,0,110,0,0,0,98,0,102,0,122,0,105,0,114,0,0,0,99,0,111,0,103,0,117,0,118,0,0,0,99,0,111,0,115,0,97,0,112,0,0,0,101,0,101,0,50,0,57,0,54,0,0,0,101,0,101,0,53,0,50,0,56,0,0,0,101,0,101,0,54,0,50,0,52,0,0,0,101,0,101,0,54,0,51,0,56,0,0,0,101,0,101,0,54,0,54,0,51,0,0,0,101,0,101,0,55,0,51,0,50,0,0,0,101,0,101,0,55,0,57,0,54,0,0,0,101,0,101,0,57,0,48,0,49,0,0,0,101,0,101,0,57,0,50,0,56,0,0,0,102,0,114,0,97,0,114,0,97,0,0,0,102,0,114,0,103,0,101,0,115,0,0,0,103,0,98,0,99,0,108,0,100,0,0,0,103,0,98,0,99,0,109,0,110,0,0,0,103,0,98,0,100,0,98,0,121,0,0,0,103,0,98,0,100,0,101,0,118,0,0,0,103,0,98,0,100,0,117,0,100,0,0,0,103,0,98,0,101,0,114,0,119,0,0,0,103,0,98,0,102,0,108,0,110,0,0,0,103,0,98,0,103,0,114,0,101,0,0,0,103,0,98,0,104,0,110,0,115,0,0,0,103,0,98,0,105,0,111,0,119,0,0,0,103,0,98,0,107,0,104,0,108,0,0,0,103,0,98,0,108,0,99,0,101,0,0,0,103,0,98,0,108,0,110,0,100,0,0,0,103,0,98,0,110,0,119,0,109,0,0,0,103,0,98,0,114,0,100,0,98,0,0,0,103,0,98,0,119,0,111,0,107,0,0,0,105,0,115,0,97,0,114,0,110,0,0,0,105,0,115,0,102,0,108,0,97,0,0,0,105,0,115,0,102,0,108,0,114,0,0,0,105,0,115,0,104,0,118,0,101,0,0,0,105,0,115,0,105,0,115,0,97,0,0,0,105,0,115,0,109,0,117,0,108,0,0,0,105,0,115,0,114,0,103,0,101,0,0,0,105,0,115,0,115,0,100,0,110,0,0,0,105,0,115,0,115,0,116,0,121,0,0,0,105,0,115,0,118,0,101,0,109,0,0,0,107,0,122,0,97,0,108,0,97,0,0,0,108,0,118,0,48,0,53,0,50,0,0,0,108,0,118,0,48,0,53,0,52,0,0,0,108,0,118,0,48,0,53,0,54,0,0,0,108,0,118,0,108,0,112,0,120,0,0,0,108,0,118,0,118,0,101,0,110,0,0,0,109,0,97,0,99,0,104,0,116,0,0,0,109,0,97,0,105,0,110,0,101,0,0,0,109,0,97,0,110,0,97,0,100,0,0,0,109,0,97,0,115,0,101,0,102,0,0,0,109,0,97,0,115,0,101,0,116,0,0,0,109,0,104,0,101,0,98,0,111,0,0,0,109,0,110,0,48,0,51,0,53,0,0,0,109,0,120,0,99,0,111,0,97,0,0,0,109,0,120,0,103,0,114,0,111,0,0,0,109,0,120,0,104,0,105,0,100,0,0,0,110,0,122,0,98,0,111,0,112,0,0,0,112,0,101,0,116,0,117,0,109,0,0,0,112,0,103,0,101,0,98,0,114,0,0,0,112,0,104,0,99,0,101,0,98,0,0,0,112,0,104,0,100,0,97,0,111,0,0,0,112,0,104,0,103,0,117,0,105,0,0,0,112,0,104,0,105,0,102,0,117,0,0,0,112,0,104,0,105,0,108,0,105,0,0,0,112,0,104,0,105,0,108,0,115,0,0,0,112,0,115,0,103,0,122,0,97,0,0,0,112,0,119,0,48,0,48,0,50,0,0,0,112,0,119,0,48,0,48,0,52,0,0,0,112,0,119,0,48,0,49,0,48,0,0,0,112,0,119,0,48,0,53,0,48,0,0,0,112,0,119,0,49,0,48,0,48,0,0,0,112,0,119,0,49,0,53,0,48,0,0,0,112,0,119,0,50,0,49,0,50,0,0,0,112,0,119,0,50,0,49,0,56,0,0,0,112,0,119,0,50,0,50,0,50,0,0,0,114,0,117,0,97,0,114,0,107,0,0,0,114,0,117,0,105,0,114,0,107,0,0,0,114,0,117,0,107,0,97,0,109,0,0,0,114,0,117,0,107,0,100,0,97,0,0,0,114,0,117,0,107,0,103,0,110,0,0,0,114,0,117,0,111,0,114,0,101,0,0,0,114,0,117,0,115,0,118,0,101,0,0,0,114,0,117,0,118,0,111,0,114,0,0,0,116,0,119,0,110,0,97,0,110,0,0,0,118,0,117,0,115,0,101,0,101,0,0,0,97,0,122,0,122,0,97,0,110,0,0,0,101,0,110,0,95,0,66,0,77,0,0,0,101,0,110,0,95,0,67,0,75,0,0,0,101,0,110,0,95,0,67,0,88,0,0,0,101,0,110,0,95,0,68,0,71,0,0,0,101,0,110,0,95,0,70,0,75,0,0,0,101,0,110,0,95,0,71,0,71,0,0,0,101,0,110,0,95,0,73,0,79,0,0,0,101,0,110,0,95,0,75,0,89,0,0,0,101,0,110,0,95,0,77,0,83,0,0,0,101,0,110,0,95,0,78,0,70,0,0,0,101,0,110,0,95,0,80,0,78,0,0,0,101,0,110,0,95,0,83,0,72,0,0,0,101,0,110,0,95,0,84,0,67,0,0,0,108,0,118,0,100,0,103,0,118,0,0,0,109,0,104,0,110,0,109,0,107,0,0,0,112,0,104,0,122,0,97,0,115,0,0,0,118,0,117,0,116,0,97,0,101,0,0,0,99,0,122,0,50,0,48,0,50,0,0,0,99,0,122,0,50,0,48,0,51,0,0,0,99,0,122,0,50,0,48,0,56,0,0,0,99,0,122,0,51,0,50,0,52,0,0,0,99,0,122,0,52,0,50,0,50,0,0,0,99,0,122,0,52,0,50,0,54,0,0,0,99,0,122,0,53,0,49,0,50,0,0,0,99,0,122,0,53,0,50,0,52,0,0,0,99,0,122,0,53,0,51,0,51,0,0,0,99,0,122,0,54,0,51,0,52,0,0,0,99,0,122,0,54,0,52,0,51,0,0,0,99,0,122,0,54,0,52,0,54,0,0,0,102,0,114,0,57,0,55,0,49,0,0,0,102,0,114,0,57,0,55,0,50,0,0,0,102,0,114,0,57,0,55,0,51,0,0,0,102,0,114,0,57,0,55,0,52,0,0,0,108,0,118,0,48,0,53,0,55,0,0,0,109,0,107,0,49,0,48,0,56,0,0,0,109,0,107,0,52,0,48,0,52,0,0,0,109,0,107,0,52,0,48,0,56,0,0,0,109,0,107,0,53,0,48,0,52,0,0,0,109,0,107,0,54,0,48,0,52,0,0,0,109,0,107,0,54,0,48,0,56,0,0,0,109,0,107,0,55,0,48,0,50,0,0,0,109,0,107,0,55,0,48,0,52,0,0,0,109,0,107,0,55,0,48,0,54,0,0,0,109,0,107,0,56,0,48,0,55,0,0,0,115,0,105,0,48,0,48,0,57,0,0,0,115,0,105,0,48,0,49,0,52,0,0,0,115,0,105,0,48,0,49,0,55,0,0,0,115,0,105,0,48,0,49,0,56,0,0,0,115,0,105,0,48,0,49,0,57,0,0,0,115,0,105,0,48,0,51,0,48,0,0,0,115,0,105,0,49,0,49,0,54,0,0,0,115,0,105,0,49,0,50,0,52,0,0,0,115,0,105,0,49,0,51,0,50,0,0,0,115,0,105,0,49,0,51,0,54,0,0,0,115,0,105,0,49,0,52,0,52,0,0,0,115,0,105,0,49,0,53,0,50,0,0,0,115,0,105,0,49,0,55,0,48,0,0,0,115,0,105,0,49,0,55,0,52,0,0,0,115,0,105,0,49,0,56,0,48,0,0,0,115,0,105,0,49,0,56,0,56,0,0,0,115,0,105,0,49,0,57,0,49,0,0,0,115,0,105,0,49,0,57,0,50,0,0,0,117,0,103,0,50,0,51,0,50,0,0,0,117,0,103,0,51,0,50,0,48,0,0,0,117,0,103,0,51,0,50,0,56,0,0,0,117,0,103,0,51,0,51,0,50,0,0,0,117,0,103,0,52,0,49,0,52,0,0,0,117,0,103,0,52,0,49,0,55,0,0,0,117,0,103,0,52,0,49,0,56,0,0,0,117,0,103,0,52,0,49,0,57,0,0,0,117,0,103,0,52,0,51,0,48,0,0,0,117,0,103,0,52,0,51,0,52,0,0,0,42,0,95,0,42,0,95,0,42,0,0,0,97,0,102,0,98,0,100,0,115,0,0,0,97,0,102,0,98,0,103,0,108,0,0,0,97,0,102,0,100,0,97,0,121,0,0,0,97,0,102,0,102,0,114,0,97,0,0,0,97,0,102,0,102,0,121,0,98,0,0,0,97,0,102,0,103,0,104,0,111,0,0,0,97,0,102,0,104,0,101,0,108,0,0,0,97,0,102,0,104,0,101,0,114,0,0,0,97,0,102,0,107,0,97,0,98,0,0,0,97,0,102,0,107,0,97,0,110,0,0,0,97,0,102,0,107,0,97,0,112,0,0,0,97,0,102,0,107,0,100,0,122,0,0,0,97,0,102,0,107,0,104,0,111,0,0,0,97,0,102,0,107,0,110,0,114,0,0,0,97,0,102,0,108,0,97,0,103,0,0,0,97,0,102,0,108,0,111,0,103,0,0,0,97,0,102,0,110,0,97,0,110,0,0,0,97,0,102,0,110,0,105,0,109,0,0,0,97,0,102,0,110,0,117,0,114,0,0,0,97,0,102,0,112,0,97,0,110,0,0,0,97,0,102,0,112,0,97,0,114,0,0,0,97,0,102,0,112,0,105,0,97,0,0,0,97,0,102,0,112,0,107,0,97,0,0,0,97,0,102,0,115,0,97,0,109,0,0,0,97,0,102,0,115,0,97,0,114,0,0,0,97,0,102,0,117,0,114,0,117,0,0,0,97,0,102,0,119,0,97,0,114,0,0,0,97,0,102,0,122,0,97,0,98,0,0,0,97,0,111,0,98,0,103,0,111,0,0,0,97,0,111,0,98,0,103,0,117,0,0,0,97,0,111,0,98,0,105,0,101,0,0,0,97,0,111,0,99,0,97,0,98,0,0,0,97,0,111,0,99,0,99,0,117,0,0,0,97,0,111,0,99,0,117,0,115,0,0,0,97,0,111,0,104,0,117,0,97,0,0,0,97,0,111,0,104,0,117,0,105,0,0,0,97,0,111,0,108,0,115,0,117,0,0,0,97,0,111,0,109,0,97,0,108,0,0,0,97,0,111,0,109,0,111,0,120,0,0,0,97,0,111,0,110,0,97,0,109,0,0,0,97,0,117,0,97,0,99,0,116,0,0,0,97,0,117,0,110,0,115,0,119,0,0,0,97,0,117,0,113,0,108,0,100,0,0,0,97,0,117,0,116,0,97,0,115,0,0,0,97,0,117,0,118,0,105,0,99,0,0,0,97,0,122,0,97,0,98,0,115,0,0,0,97,0,122,0,97,0,103,0,97,0,0,0,97,0,122,0,97,0,103,0,99,0,0,0,97,0,122,0,97,0,103,0,109,0,0,0,97,0,122,0,97,0,103,0,115,0,0,0,97,0,122,0,97,0,103,0,117,0,0,0,97,0,122,0,97,0,115,0,116,0,0,0,97,0,122,0,98,0,97,0,98,0,0,0,97,0,122,0,98,0,97,0,114,0,0,0,97,0,122,0,98,0,101,0,121,0,0,0,97,0,122,0,98,0,105,0,108,0,0,0,97,0,122,0,99,0,97,0,98,0,0,0,97,0,122,0,99,0,97,0,108,0,0,0,97,0,122,0,99,0,117,0,108,0,0,0,97,0,122,0,100,0,97,0,115,0,0,0,97,0,122,0,102,0,117,0,122,0,0,0,97,0,122,0,103,0,97,0,100,0,0,0,97,0,122,0,103,0,111,0,114,0,0,0,97,0,122,0,103,0,111,0,121,0,0,0,97,0,122,0,103,0,121,0,103,0,0,0,97,0,122,0,104,0,97,0,99,0,0,0,97,0,122,0,105,0,115,0,109,0,0,0,97,0,122,0,107,0,97,0,108,0,0,0,97,0,122,0,107,0,97,0,110,0,0,0,97,0,122,0,107,0,117,0,114,0,0,0,97,0,122,0,108,0,97,0,99,0,0,0,97,0,122,0,108,0,97,0,110,0,0,0,97,0,122,0,108,0,101,0,114,0,0,0,97,0,122,0,109,0,97,0,115,0,0,0,97,0,122,0,110,0,101,0,102,0,0,0,97,0,122,0,111,0,114,0,100,0,0,0,97,0,122,0,113,0,97,0,98,0,0,0,97,0,122,0,113,0,97,0,120,0,0,0,97,0,122,0,113,0,97,0,122,0,0,0,97,0,122,0,113,0,98,0,97,0,0,0,97,0,122,0,113,0,98,0,105,0,0,0,97,0,122,0,113,0,111,0,98,0,0,0,97,0,122,0,115,0,97,0,98,0,0,0,97,0,122,0,115,0,97,0,100,0,0,0,97,0,122,0,115,0,97,0,104,0,0,0,97,0,122,0,115,0,97,0,114,0,0,0,97,0,122,0,115,0,97,0,116,0,0,0,97,0,122,0,115,0,98,0,110,0,0,0,97,0,122,0,115,0,105,0,121,0,0,0,97,0,122,0,115,0,107,0,114,0,0,0,97,0,122,0,115,0,109,0,105,0,0,0,97,0,122,0,115,0,109,0,120,0,0,0,97,0,122,0,115,0,117,0,115,0,0,0,97,0,122,0,116,0,97,0,114,0,0,0,97,0,122,0,116,0,111,0,118,0,0,0,97,0,122,0,117,0,99,0,97,0,0,0,97,0,122,0,120,0,97,0,99,0,0,0,97,0,122,0,120,0,99,0,105,0,0,0,97,0,122,0,120,0,105,0,122,0,0,0,97,0,122,0,120,0,118,0,100,0,0,0,97,0,122,0,121,0,97,0,114,0,0,0,97,0,122,0,121,0,101,0,118,0,0,0,98,0,97,0,98,0,105,0,104,0,0,0,98,0,97,0,98,0,114,0,99,0,0,0,98,0,97,0,115,0,114,0,112,0,0,0,98,0,101,0,98,0,114,0,117,0,0,0,98,0,101,0,118,0,97,0,110,0,0,0,98,0,101,0,118,0,98,0,114,0,0,0,98,0,101,0,118,0,108,0,103,0,0,0,98,0,101,0,118,0,108,0,105,0,0,0,98,0,101,0,118,0,111,0,118,0,0,0,98,0,101,0,118,0,119,0,118,0,0,0,98,0,101,0,119,0,97,0,108,0,0,0,98,0,101,0,119,0,98,0,114,0,0,0,98,0,101,0,119,0,108,0,103,0,0,0,98,0,101,0,119,0,108,0,120,0,0,0,98,0,101,0,119,0,110,0,97,0,0,0,98,0,102,0,98,0,103,0,114,0,0,0,98,0,102,0,98,0,108,0,107,0,0,0,98,0,102,0,99,0,111,0,109,0,0,0,98,0,102,0,103,0,97,0,110,0,0,0,98,0,102,0,103,0,110,0,97,0,0,0,98,0,102,0,103,0,111,0,117,0,0,0,98,0,102,0,104,0,111,0,117,0,0,0,98,0,102,0,105,0,111,0,98,0,0,0,98,0,102,0,107,0,97,0,100,0,0,0,98,0,102,0,107,0,101,0,110,0,0,0,98,0,102,0,107,0,109,0,100,0,0,0,98,0,102,0,107,0,109,0,112,0,0,0,98,0,102,0,107,0,111,0,112,0,0,0,98,0,102,0,107,0,111,0,119,0,0,0,98,0,102,0,108,0,101,0,114,0,0,0,98,0,102,0,108,0,111,0,114,0,0,0,98,0,102,0,109,0,111,0,117,0,0,0,98,0,102,0,110,0,97,0,109,0,0,0,98,0,102,0,110,0,97,0,111,0,0,0,98,0,102,0,110,0,97,0,121,0,0,0,98,0,102,0,110,0,111,0,117,0,0,0,98,0,102,0,111,0,117,0,98,0,0,0,98,0,102,0,111,0,117,0,100,0,0,0,98,0,102,0,112,0,97,0,115,0,0,0,98,0,102,0,112,0,111,0,110,0,0,0,98,0,102,0,115,0,105,0,115,0,0,0,98,0,102,0,115,0,109,0,116,0,0,0,98,0,102,0,115,0,110,0,103,0,0,0,98,0,102,0,115,0,111,0,109,0,0,0,98,0,102,0,115,0,111,0,114,0,0,0,98,0,102,0,116,0,97,0,112,0,0,0,98,0,102,0,116,0,117,0,105,0,0,0,98,0,102,0,121,0,97,0,103,0,0,0,98,0,102,0,121,0,97,0,116,0,0,0,98,0,102,0,122,0,111,0,110,0,0,0,98,0,102,0,122,0,111,0,117,0,0,0,98,0,122,0,99,0,122,0,108,0,0,0,98,0,122,0,116,0,111,0,108,0,0,0,99,0,102,0,98,0,103,0,102,0,0,0,99,0,103,0,98,0,122,0,118,0,0,0,99,0,111,0,97,0,109,0,97,0,0,0,99,0,111,0,97,0,110,0,116,0,0,0,99,0,111,0,97,0,114,0,97,0,0,0,99,0,111,0,97,0,116,0,108,0,0,0,99,0,111,0,98,0,111,0,108,0,0,0,99,0,111,0,98,0,111,0,121,0,0,0,99,0,111,0,99,0,97,0,108,0,0,0,99,0,111,0,99,0,97,0,113,0,0,0,99,0,111,0,99,0,97,0,115,0,0,0,99,0,111,0,99,0,97,0,117,0,0,0,99,0,111,0,99,0,101,0,115,0,0,0,99,0,111,0,99,0,104,0,111,0,0,0,99,0,111,0,99,0,111,0,114,0,0,0,99,0,111,0,99,0,117,0,110,0,0,0,99,0,111,0,103,0,117,0,97,0,0,0,99,0,111,0,104,0,117,0,105,0,0,0,99,0,111,0,108,0,97,0,103,0,0,0,99,0,111,0,109,0,97,0,103,0,0,0,99,0,111,0,109,0,101,0,116,0,0,0,99,0,111,0,110,0,97,0,114,0,0,0,99,0,111,0,110,0,115,0,97,0,0,0,99,0,111,0,112,0,117,0,116,0,0,0,99,0,111,0,113,0,117,0,105,0,0,0,99,0,111,0,114,0,105,0,115,0,0,0,99,0,111,0,115,0,97,0,110,0,0,0,99,0,111,0,115,0,117,0,99,0,0,0,99,0,111,0,116,0,111,0,108,0,0,0,99,0,111,0,118,0,97,0,99,0,0,0,99,0,111,0,118,0,97,0,117,0,0,0,99,0,111,0,118,0,105,0,100,0,0,0,101,0,99,0,114,0,126,0,115,0,0,0,101,0,101,0,49,0,51,0,48,0,0,0,101,0,101,0,49,0,55,0,49,0,0,0,101,0,101,0,49,0,56,0,52,0,0,0,101,0,101,0,49,0,57,0,49,0,0,0,101,0,101,0,49,0,57,0,56,0,0,0,101,0,101,0,50,0,48,0,53,0,0,0,101,0,101,0,50,0,49,0,52,0,0,0,101,0,101,0,50,0,52,0,53,0,0,0,101,0,101,0,50,0,52,0,55,0,0,0,101,0,101,0,50,0,53,0,49,0,0,0,101,0,101,0,50,0,53,0,53,0,0,0,101,0,101,0,50,0,55,0,50,0,0,0,101,0,101,0,50,0,57,0,49,0,0,0,101,0,101,0,50,0,57,0,51,0,0,0,101,0,101,0,51,0,48,0,51,0,0,0,101,0,101,0,51,0,48,0,53,0,0,0,101,0,101,0,51,0,49,0,55,0,0,0,101,0,101,0,51,0,50,0,49,0,0,0,101,0,101,0,51,0,51,0,56,0,0,0,101,0,101,0,51,0,53,0,51,0,0,0,101,0,101,0,52,0,50,0,52,0,0,0,101,0,101,0,52,0,56,0,54,0,0,0,101,0,101,0,53,0,48,0,51,0,0,0,101,0,101,0,53,0,49,0,49,0,0,0,101,0,101,0,53,0,49,0,52,0,0,0,101,0,101,0,53,0,53,0,55,0,0,0,101,0,101,0,53,0,54,0,55,0,0,0,101,0,101,0,54,0,49,0,53,0,0,0,101,0,101,0,54,0,49,0,56,0,0,0,101,0,101,0,54,0,50,0,50,0,0,0,101,0,101,0,54,0,53,0,49,0,0,0,101,0,101,0,54,0,53,0,51,0,0,0,101,0,101,0,54,0,54,0,49,0,0,0,101,0,101,0,54,0,54,0,56,0,0,0,101,0,101,0,54,0,56,0,57,0,0,0,101,0,101,0,54,0,57,0,56,0,0,0,101,0,101,0,55,0,48,0,56,0,0,0,101,0,101,0,55,0,49,0,50,0,0,0,101,0,101,0,55,0,49,0,52,0,0,0,101,0,101,0,55,0,49,0,57,0,0,0,101,0,101,0,55,0,50,0,54,0,0,0,101,0,101,0,55,0,51,0,53,0,0,0,101,0,101,0,56,0,48,0,51,0,0,0,101,0,101,0,56,0,48,0,57,0,0,0,101,0,101,0,56,0,50,0,52,0,0,0,101,0,101,0,56,0,53,0,53,0,0,0,101,0,101,0,56,0,57,0,48,0,0,0,101,0,101,0,56,0,57,0,55,0,0,0,101,0,101,0,56,0,57,0,57,0,0,0,101,0,101,0,57,0,48,0,51,0,0,0,101,0,101,0,57,0,48,0,55,0,0,0,101,0,101,0,57,0,49,0,55,0,0,0,101,0,101,0,57,0,49,0,57,0,0,0,101,0,103,0,97,0,108,0,120,0,0,0,101,0,103,0,97,0,115,0,110,0,0,0,101,0,103,0,97,0,115,0,116,0,0,0,101,0,103,0,98,0,110,0,115,0,0,0,101,0,103,0,102,0,121,0,109,0,0,0,101,0,103,0,107,0,102,0,115,0,0,0,101,0,103,0,109,0,110,0,102,0,0,0,101,0,103,0,112,0,116,0,115,0,0,0,101,0,103,0,115,0,104,0,103,0,0,0,101,0,103,0,115,0,104,0,114,0,0,0,101,0,103,0,115,0,105,0,110,0,0,0,101,0,103,0,115,0,117,0,122,0,0,0,101,0,103,0,119,0,97,0,100,0,0,0,102,0,109,0,107,0,115,0,97,0,0,0,102,0,109,0,112,0,110,0,105,0,0,0,102,0,109,0,116,0,114,0,107,0,0,0,102,0,109,0,121,0,97,0,112,0,0,0,102,0,114,0,50,0,48,0,114,0,0,0,102,0,114,0,54,0,57,0,109,0,0,0,102,0,114,0,54,0,97,0,101,0,0,0,102,0,114,0,55,0,53,0,99,0,0,0,102,0,114,0,98,0,102,0,99,0,0,0,102,0,114,0,98,0,114,0,101,0,0,0,102,0,114,0,99,0,118,0,108,0,0,0,102,0,114,0,104,0,100,0,102,0,0,0,102,0,114,0,105,0,100,0,102,0,0,0,102,0,114,0,110,0,97,0,113,0,0,0,102,0,114,0,110,0,111,0,114,0,0,0,102,0,114,0,111,0,99,0,99,0,0,0,102,0,114,0,112,0,97,0,99,0,0,0,102,0,114,0,112,0,100,0,108,0,0,0,103,0,98,0,97,0,103,0,98,0,0,0,103,0,98,0,97,0,103,0,121,0,0,0,103,0,98,0,97,0,110,0,100,0,0,0,103,0,98,0,97,0,110,0,110,0,0,0,103,0,98,0,97,0,110,0,115,0,0,0,103,0,98,0,98,0,97,0,115,0,0,0,103,0,98,0,98,0,98,0,100,0,0,0,103,0,98,0,98,0,99,0,112,0,0,0,103,0,98,0,98,0,101,0,110,0,0,0,103,0,98,0,98,0,101,0,120,0,0,0,103,0,98,0,98,0,102,0,115,0,0,0,103,0,98,0,98,0,103,0,101,0,0,0,103,0,98,0,98,0,103,0,119,0,0,0,103,0,98,0,98,0,105,0,114,0,0,0,103,0,98,0,98,0,107,0,109,0,0,0,103,0,98,0,98,0,110,0,101,0,0,0,103,0,98,0,98,0,110,0,104,0,0,0,103,0,98,0,98,0,110,0,115,0,0,0,103,0,98,0,98,0,111,0,108,0,0,0,103,0,98,0,98,0,112,0,108,0,0,0,103,0,98,0,98,0,114,0,121,0,0,0,103,0,98,0,98,0,115,0,116,0,0,0,103,0,98,0,98,0,117,0,114,0,0,0,103,0,98,0,99,0,97,0,109,0,0,0,103,0,98,0,99,0,97,0,121,0,0,0,103,0,98,0,99,0,98,0,102,0,0,0,103,0,98,0,99,0,99,0,103,0,0,0,103,0,98,0,99,0,103,0,110,0,0,0,103,0,98,0,99,0,104,0,101,0,0,0,103,0,98,0,99,0,104,0,119,0,0,0,103,0,98,0,99,0,108,0,107,0,0,0,103,0,98,0,99,0,109,0,97,0,0,0,103,0,98,0,99,0,109,0,100,0,0,0,103,0,98,0,99,0,111,0,110,0,0,0,103,0,98,0,99,0,111,0,118,0,0,0,103,0,98,0,99,0,114,0,102,0,0,0,103,0,98,0,99,0,114,0,121,0,0,0,103,0,98,0,99,0,119,0,121,0,0,0,103,0,98,0,100,0,97,0,108,0,0,0,103,0,98,0,100,0,101,0,110,0,0,0,103,0,98,0,100,0,101,0,114,0,0,0,103,0,98,0,100,0,103,0,121,0,0,0,103,0,98,0,100,0,111,0,114,0,0,0,103,0,98,0,100,0,114,0,115,0,0,0,103,0,98,0,100,0,117,0,114,0,0,0,103,0,98,0,101,0,97,0,108,0,0,0,103,0,98,0,101,0,97,0,121,0,0,0,103,0,98,0,101,0,100,0,104,0,0,0,103,0,98,0,101,0,100,0,117,0,0,0,103,0,98,0,101,0,108,0,110,0,0,0,103,0,98,0,101,0,108,0,115,0,0,0,103,0,98,0,101,0,114,0,121,0,0,0,103,0,98,0,101,0,115,0,120,0,0,0,103,0,98,0,102,0,97,0,108,0,0,0,103,0,98,0,102,0,105,0,102,0,0,0,103,0,98,0,102,0,109,0,111,0,0,0,103,0,98,0,103,0,97,0,116,0,0,0,103,0,98,0,103,0,108,0,103,0,0,0,103,0,98,0,103,0,108,0,115,0,0,0,103,0,98,0,104,0,97,0,118,0,0,0,103,0,98,0,104,0,99,0,107,0,0,0,103,0,98,0,104,0,101,0,102,0,0,0,103,0,98,0,104,0,105,0,108,0,0,0,103,0,98,0,104,0,108,0,100,0,0,0,103,0,98,0,104,0,109,0,102,0,0,0,103,0,98,0,104,0,112,0,108,0,0,0,103,0,98,0,104,0,114,0,116,0,0,0,103,0,98,0,104,0,114,0,119,0,0,0,103,0,98,0,104,0,114,0,121,0,0,0,103,0,98,0,105,0,111,0,115,0,0,0,103,0,98,0,105,0,115,0,108,0,0,0,103,0,98,0,105,0,118,0,99,0,0,0,103,0,98,0,107,0,101,0,99,0,0,0,103,0,98,0,107,0,101,0,110,0,0,0,103,0,98,0,107,0,105,0,114,0,0,0,103,0,98,0,107,0,116,0,116,0,0,0,103,0,98,0,107,0,119,0,108,0,0,0,103,0,98,0,108,0,97,0,110,0,0,0,103,0,98,0,108,0,98,0,99,0,0,0,103,0,98,0,108,0,98,0,104,0,0,0,103,0,98,0,108,0,100,0,115,0,0,0,103,0,98,0,108,0,101,0,99,0,0,0,103,0,98,0,108,0,101,0,119,0,0,0,103,0,98,0,108,0,105,0,110,0,0,0,103,0,98,0,108,0,105,0,118,0,0,0,103,0,98,0,108,0,117,0,116,0,0,0,103,0,98,0,109,0,97,0,110,0,0,0,103,0,98,0,109,0,100,0,98,0,0,0,103,0,98,0,109,0,100,0,119,0,0,0,103,0,98,0,109,0,101,0,97,0,0,0,103,0,98,0,109,0,105,0,107,0,0,0,103,0,98,0,109,0,108,0,110,0,0,0,103,0,98,0,109,0,111,0,110,0,0,0,103,0,98,0,109,0,114,0,116,0,0,0,103,0,98,0,109,0,114,0,121,0,0,0,103,0,98,0,109,0,116,0,121,0,0,0,103,0,98,0,109,0,117,0,108,0,0,0,103,0,98,0,110,0,97,0,121,0,0,0,103,0,98,0,110,0,98,0,108,0,0,0,103,0,98,0,110,0,101,0,108,0,0,0,103,0,98,0,110,0,101,0,116,0,0,0,103,0,98,0,110,0,102,0,107,0,0,0,103,0,98,0,110,0,103,0,109,0,0,0,103,0,98,0,110,0,105,0,114,0,0,0,103,0,98,0,110,0,108,0,107,0,0,0,103,0,98,0,110,0,108,0,110,0,0,0,103,0,98,0,110,0,109,0,100,0,0,0,103,0,98,0,110,0,115,0,109,0,0,0,103,0,98,0,110,0,116,0,104,0,0,0,103,0,98,0,110,0,116,0,108,0,0,0,103,0,98,0,110,0,116,0,116,0,0,0,103,0,98,0,110,0,116,0,121,0,0,0,103,0,98,0,110,0,119,0,112,0,0,0,103,0,98,0,110,0,121,0,107,0,0,0,103,0,98,0,111,0,108,0,100,0,0,0,103,0,98,0,111,0,114,0,107,0,0,0,103,0,98,0,111,0,120,0,102,0,0,0,103,0,98,0,112,0,101,0,109,0,0,0,103,0,98,0,112,0,107,0,110,0,0,0,103,0,98,0,112,0,108,0,121,0,0,0,103,0,98,0,112,0,111,0,114,0,0,0,103,0,98,0,112,0,111,0,119,0,0,0,103,0,98,0,112,0,116,0,101,0,0,0,103,0,98,0,114,0,99,0,99,0,0,0,103,0,98,0,114,0,99,0,104,0,0,0,103,0,98,0,114,0,99,0,116,0,0,0,103,0,98,0,114,0,100,0,103,0,0,0,103,0,98,0,114,0,102,0,119,0,0,0,103,0,98,0,114,0,105,0,99,0,0,0,103,0,98,0,114,0,111,0,116,0,0,0,103,0,98,0,114,0,117,0,116,0,0,0,103,0,98,0,115,0,97,0,119,0,0,0,103,0,98,0,115,0,97,0,121,0,0,0,103,0,98,0,115,0,99,0,98,0,0,0,103,0,98,0,115,0,99,0,116,0,0,0,103,0,98,0,115,0,102,0,107,0,0,0,103,0,98,0,115,0,102,0,116,0,0,0,103,0,98,0,115,0,104,0,102,0,0,0,103,0,98,0,115,0,104,0,110,0,0,0,103,0,98,0,115,0,104,0,114,0,0,0,103,0,98,0,115,0,107,0,112,0,0,0,103,0,98,0,115,0,108,0,107,0,0,0,103,0,98,0,115,0,110,0,100,0,0,0,103,0,98,0,115,0,111,0,115,0,0,0,103,0,98,0,115,0,114,0,121,0,0,0,103,0,98,0,115,0,116,0,101,0,0,0,103,0,98,0,115,0,116,0,110,0,0,0,103,0,98,0,115,0,116,0,121,0,0,0,103,0,98,0,115,0,119,0,97,0,0,0,103,0,98,0,115,0,119,0,100,0,0,0,103,0,98,0,115,0,119,0,107,0,0,0,103,0,98,0,116,0,97,0,109,0,0,0,103,0,98,0,116,0,102,0,119,0,0,0,103,0,98,0,116,0,104,0,114,0,0,0,103,0,98,0,116,0,111,0,98,0,0,0,103,0,98,0,116,0,111,0,102,0,0,0,103,0,98,0,116,0,114,0,102,0,0,0,103,0,98,0,116,0,119,0,104,0,0,0,103,0,98,0,119,0,97,0,114,0,0,0,103,0,98,0,119,0,98,0,107,0,0,0,103,0,98,0,119,0,100,0,117,0,0,0,103,0,98,0,119,0,102,0,116,0,0,0,103,0,98,0,119,0,103,0,110,0,0,0,103,0,98,0,119,0,105,0,108,0,0,0,103,0,98,0,119,0,107,0,102,0,0,0,103,0,98,0,119,0,108,0,108,0,0,0,103,0,98,0,119,0,108,0,115,0,0,0,103,0,98,0,119,0,110,0,100,0,0,0,103,0,98,0,119,0,110,0,109,0,0,0,103,0,98,0,119,0,111,0,114,0,0,0,103,0,98,0,119,0,114,0,108,0,0,0,103,0,98,0,119,0,114,0,116,0,0,0,103,0,98,0,119,0,114,0,120,0,0,0,103,0,98,0,119,0,115,0,109,0,0,0,103,0,98,0,119,0,115,0,120,0,0,0,103,0,109,0,108,0,126,0,110,0,0,0,105,0,115,0,97,0,107,0,104,0,0,0,105,0,115,0,97,0,107,0,110,0,0,0,105,0,115,0,97,0,107,0,117,0,0,0,105,0,115,0,97,0,115,0,97,0,0,0,105,0,115,0,98,0,108,0,97,0,0,0,105,0,115,0,98,0,108,0,111,0,0,0,105,0,115,0,98,0,111,0,103,0,0,0,105,0,115,0,100,0,97,0,98,0,0,0,105,0,115,0,100,0,97,0,118,0,0,0,105,0,115,0,101,0,111,0,109,0,0,0,105,0,115,0,101,0,121,0,102,0,0,0,105,0,115,0,102,0,106,0,100,0,0,0,105,0,115,0,102,0,106,0,108,0,0,0,105,0,115,0,103,0,97,0,114,0,0,0,105,0,115,0,103,0,111,0,103,0,0,0,105,0,115,0,103,0,114,0,110,0,0,0,105,0,115,0,103,0,114,0,117,0,0,0,105,0,115,0,103,0,114,0,121,0,0,0,105,0,115,0,104,0,97,0,102,0,0,0,105,0,115,0,104,0,101,0,108,0,0,0,105,0,115,0,104,0,114,0,103,0,0,0,105,0,115,0,104,0,114,0,117,0,0,0,105,0,115,0,104,0,117,0,116,0,0,0,105,0,115,0,104,0,117,0,118,0,0,0,105,0,115,0,104,0,118,0,97,0,0,0,105,0,115,0,107,0,97,0,108,0,0,0,105,0,115,0,107,0,106,0,111,0,0,0,105,0,115,0,107,0,111,0,112,0,0,0,105,0,115,0,108,0,97,0,110,0,0,0,105,0,115,0,109,0,111,0,115,0,0,0,105,0,115,0,109,0,121,0,114,0,0,0,105,0,115,0,110,0,111,0,114,0,0,0,105,0,115,0,114,0,103,0,121,0,0,0,105,0,115,0,114,0,104,0,104,0,0,0,105,0,115,0,114,0,107,0,118,0,0,0,105,0,115,0,115,0,98,0,116,0,0,0,105,0,115,0,115,0,100,0,118,0,0,0,105,0,115,0,115,0,101,0,108,0,0,0,105,0,115,0,115,0,102,0,97,0,0,0,105,0,115,0,115,0,104,0,102,0,0,0,105,0,115,0,115,0,107,0,111,0,0,0,105,0,115,0,115,0,107,0,117,0,0,0,105,0,115,0,115,0,110,0,102,0,0,0,105,0,115,0,115,0,111,0,103,0,0,0,105,0,115,0,115,0,111,0,108,0,0,0,105,0,115,0,115,0,115,0,102,0,0,0,105,0,115,0,115,0,115,0,115,0,0,0,105,0,115,0,115,0,116,0,114,0,0,0,105,0,115,0,115,0,118,0,103,0,0,0,105,0,115,0,116,0,97,0,108,0,0,0,105,0,115,0,116,0,104,0,103,0,0,0,105,0,115,0,116,0,106,0,111,0,0,0,105,0,115,0,118,0,101,0,114,0,0,0,105,0,115,0,118,0,111,0,112,0,0,0,107,0,122,0,97,0,107,0,109,0,0,0,107,0,122,0,97,0,107,0,116,0,0,0,107,0,122,0,97,0,108,0,109,0,0,0,107,0,122,0,97,0,115,0,116,0,0,0,107,0,122,0,97,0,116,0,121,0,0,0,107,0,122,0,107,0,97,0,114,0,0,0,107,0,122,0,107,0,117,0,115,0,0,0,107,0,122,0,107,0,122,0,121,0,0,0,107,0,122,0,109,0,97,0,110,0,0,0,107,0,122,0,112,0,97,0,118,0,0,0,107,0,122,0,115,0,101,0,118,0,0,0,107,0,122,0,118,0,111,0,115,0,0,0,107,0,122,0,122,0,97,0,112,0,0,0,108,0,118,0,48,0,48,0,50,0,0,0,108,0,118,0,48,0,48,0,55,0,0,0,108,0,118,0,48,0,50,0,50,0,0,0,108,0,118,0,48,0,50,0,54,0,0,0,108,0,118,0,48,0,51,0,51,0,0,0,108,0,118,0,48,0,52,0,55,0,0,0,108,0,118,0,48,0,53,0,48,0,0,0,108,0,118,0,48,0,54,0,50,0,0,0,108,0,118,0,48,0,55,0,51,0,0,0,108,0,118,0,48,0,55,0,55,0,0,0,108,0,118,0,48,0,56,0,48,0,0,0,108,0,118,0,48,0,57,0,49,0,0,0,108,0,118,0,48,0,57,0,52,0,0,0,108,0,118,0,48,0,57,0,55,0,0,0,108,0,118,0,48,0,57,0,57,0,0,0,108,0,118,0,49,0,48,0,54,0,0,0,108,0,118,0,106,0,101,0,108,0,0,0,108,0,118,0,106,0,117,0,114,0,0,0,108,0,118,0,114,0,101,0,122,0,0,0,108,0,118,0,114,0,105,0,120,0,0,0,109,0,97,0,97,0,103,0,100,0,0,0,109,0,97,0,97,0,111,0,117,0,0,0,109,0,97,0,97,0,115,0,122,0,0,0,109,0,97,0,97,0,122,0,105,0,0,0,109,0,97,0,98,0,111,0,100,0,0,0,109,0,97,0,98,0,111,0,109,0,0,0,109,0,97,0,98,0,114,0,114,0,0,0,109,0,97,0,99,0,97,0,115,0,0,0,109,0,97,0,99,0,104,0,101,0,0,0,109,0,97,0,99,0,104,0,105,0,0,0,109,0,97,0,100,0,114,0,105,0,0,0,109,0,97,0,101,0,114,0,114,0,0,0,109,0,97,0,101,0,115,0,105,0,0,0,109,0,97,0,102,0,97,0,104,0,0,0,109,0,97,0,102,0,101,0,115,0,0,0,109,0,97,0,102,0,105,0,103,0,0,0,109,0,97,0,102,0,113,0,104,0,0,0,109,0,97,0,104,0,97,0,106,0,0,0,109,0,97,0,104,0,97,0,111,0,0,0,109,0,97,0,104,0,111,0,99,0,0,0,109,0,97,0,105,0,102,0,114,0,0,0,109,0,97,0,106,0,100,0,105,0,0,0,109,0,97,0,106,0,114,0,97,0,0,0,109,0,97,0,107,0,101,0,110,0,0,0,109,0,97,0,107,0,101,0,115,0,0,0,109,0,97,0,107,0,104,0,101,0,0,0,109,0,97,0,108,0,97,0,97,0,0,0,109,0,97,0,108,0,97,0,114,0,0,0,109,0,97,0,109,0,100,0,102,0,0,0,109,0,97,0,109,0,101,0,100,0,0,0,109,0,97,0,109,0,101,0,107,0,0,0,109,0,97,0,109,0,105,0,100,0,0,0,109,0,97,0,109,0,111,0,104,0,0,0,109,0,97,0,109,0,111,0,117,0,0,0,109,0,97,0,110,0,111,0,117,0,0,0,109,0,97,0,111,0,117,0,97,0,0,0,109,0,97,0,111,0,117,0,100,0,0,0,109,0,97,0,111,0,117,0,106,0,0,0,109,0,97,0,111,0,117,0,122,0,0,0,109,0,97,0,114,0,97,0,98,0,0,0,109,0,97,0,114,0,101,0,104,0,0,0,109,0,97,0,115,0,97,0,102,0,0,0,109,0,97,0,115,0,97,0,108,0,0,0,109,0,97,0,115,0,105,0,98,0,0,0,109,0,97,0,115,0,105,0,102,0,0,0,109,0,97,0,115,0,107,0,104,0,0,0,109,0,97,0,116,0,97,0,102,0,0,0,109,0,97,0,116,0,97,0,105,0,0,0,109,0,97,0,116,0,97,0,111,0,0,0,109,0,97,0,116,0,97,0,114,0,0,0,109,0,97,0,116,0,97,0,116,0,0,0,109,0,97,0,116,0,101,0,116,0,0,0,109,0,97,0,116,0,105,0,110,0,0,0,109,0,97,0,116,0,105,0,122,0,0,0,109,0,97,0,116,0,110,0,103,0,0,0,109,0,97,0,116,0,110,0,116,0,0,0,109,0,97,0,121,0,117,0,115,0,0,0,109,0,97,0,122,0,97,0,103,0,0,0,109,0,104,0,97,0,114,0,110,0,0,0,109,0,104,0,97,0,117,0,114,0,0,0,109,0,104,0,101,0,110,0,105,0,0,0,109,0,104,0,106,0,97,0,98,0,0,0,109,0,104,0,106,0,97,0,108,0,0,0,109,0,104,0,107,0,119,0,97,0,0,0,109,0,104,0,108,0,97,0,101,0,0,0,109,0,104,0,108,0,105,0,98,0,0,0,109,0,104,0,108,0,105,0,107,0,0,0,109,0,104,0,109,0,97,0,106,0,0,0,109,0,104,0,109,0,97,0,108,0,0,0,109,0,104,0,109,0,101,0,106,0,0,0,109,0,104,0,109,0,105,0,108,0,0,0,109,0,104,0,110,0,109,0,117,0,0,0,109,0,104,0,114,0,111,0,110,0,0,0,109,0,104,0,117,0,106,0,97,0,0,0,109,0,104,0,119,0,116,0,104,0,0,0,109,0,104,0,119,0,116,0,106,0,0,0,109,0,107,0,51,0,48,0,49,0,0,0,109,0,108,0,98,0,107,0,111,0,0,0,109,0,110,0,48,0,51,0,55,0,0,0,109,0,110,0,48,0,52,0,49,0,0,0,109,0,110,0,48,0,52,0,51,0,0,0,109,0,110,0,48,0,52,0,57,0,0,0,109,0,110,0,48,0,53,0,49,0,0,0,109,0,110,0,48,0,53,0,51,0,0,0,109,0,110,0,48,0,53,0,53,0,0,0,109,0,110,0,48,0,53,0,55,0,0,0,109,0,110,0,48,0,53,0,57,0,0,0,109,0,110,0,48,0,54,0,55,0,0,0,109,0,110,0,48,0,54,0,57,0,0,0,109,0,110,0,48,0,55,0,49,0,0,0,109,0,110,0,48,0,55,0,51,0,0,0,109,0,118,0,109,0,108,0,101,0,0,0,109,0,120,0,97,0,103,0,117,0,0,0,109,0,120,0,98,0,99,0,110,0,0,0,109,0,120,0,98,0,99,0,115,0,0,0,109,0,120,0,99,0,97,0,109,0,0,0,109,0,120,0,99,0,104,0,104,0,0,0,109,0,120,0,99,0,104,0,112,0,0,0,109,0,120,0,99,0,109,0,120,0,0,0,109,0,120,0,99,0,111,0,108,0,0,0,109,0,120,0,100,0,117,0,114,0,0,0,109,0,120,0,103,0,117,0,97,0,0,0,109,0,120,0,106,0,97,0,108,0,0,0,109,0,120,0,109,0,101,0,120,0,0,0,109,0,120,0,109,0,105,0,99,0,0,0,109,0,120,0,109,0,111,0,114,0,0,0,109,0,120,0,110,0,97,0,121,0,0,0,109,0,120,0,111,0,97,0,120,0,0,0,109,0,120,0,112,0,117,0,101,0,0,0,109,0,120,0,113,0,117,0,101,0,0,0,109,0,120,0,114,0,111,0,111,0,0,0,109,0,120,0,115,0,105,0,110,0,0,0,109,0,120,0,115,0,108,0,112,0,0,0,109,0,120,0,115,0,111,0,110,0,0,0,109,0,120,0,116,0,97,0,98,0,0,0,109,0,120,0,116,0,108,0,97,0,0,0,109,0,120,0,121,0,117,0,99,0,0,0,109,0,120,0,122,0,97,0,99,0,0,0,109,0,122,0,109,0,112,0,109,0,0,0,110,0,122,0,97,0,117,0,107,0,0,0,110,0,122,0,99,0,97,0,110,0,0,0,110,0,122,0,99,0,105,0,116,0,0,0,110,0,122,0,103,0,105,0,115,0,0,0,110,0,122,0,104,0,107,0,98,0,0,0,110,0,122,0,109,0,98,0,104,0,0,0,110,0,122,0,109,0,119,0,116,0,0,0,110,0,122,0,110,0,115,0,110,0,0,0,110,0,122,0,110,0,116,0,108,0,0,0,110,0,122,0,111,0,116,0,97,0,0,0,110,0,122,0,115,0,116,0,108,0,0,0,110,0,122,0,116,0,97,0,115,0,0,0,110,0,122,0,116,0,107,0,105,0,0,0,110,0,122,0,119,0,116,0,99,0,0,0,111,0,116,0,104,0,101,0,114,0,0,0,112,0,101,0,97,0,109,0,97,0,0,0,112,0,101,0,97,0,110,0,99,0,0,0,112,0,101,0,97,0,112,0,117,0,0,0,112,0,101,0,97,0,114,0,101,0,0,0,112,0,101,0,97,0,121,0,97,0,0,0,112,0,101,0,99,0,97,0,106,0,0,0,112,0,101,0,99,0,97,0,108,0,0,0,112,0,101,0,99,0,117,0,115,0,0,0,112,0,101,0,104,0,117,0,99,0,0,0,112,0,101,0,104,0,117,0,118,0,0,0,112,0,101,0,105,0,99,0,97,0,0,0,112,0,101,0,106,0,117,0,110,0,0,0,112,0,101,0,108,0,105,0,109,0,0,0,112,0,101,0,108,0,109,0,97,0,0,0,112,0,101,0,108,0,111,0,114,0,0,0,112,0,101,0,109,0,100,0,100,0,0,0,112,0,101,0,109,0,111,0,113,0,0,0,112,0,101,0,112,0,97,0,115,0,0,0,112,0,101,0,112,0,117,0,110,0,0,0,112,0,101,0,115,0,97,0,109,0,0,0,112,0,101,0,116,0,97,0,99,0,0,0,112,0,101,0,117,0,99,0,97,0,0,0,112,0,103,0,99,0,112,0,107,0,0,0,112,0,103,0,99,0,112,0,109,0,0,0,112,0,103,0,101,0,104,0,103,0,0,0,112,0,103,0,101,0,112,0,119,0,0,0,112,0,103,0,101,0,115,0,119,0,0,0,112,0,103,0,103,0,112,0,107,0,0,0,112,0,103,0,104,0,108,0,97,0,0,0,112,0,103,0,106,0,119,0,107,0,0,0,112,0,103,0,109,0,98,0,97,0,0,0,112,0,103,0,109,0,114,0,108,0,0,0,112,0,103,0,110,0,99,0,100,0,0,0,112,0,103,0,110,0,105,0,107,0,0,0,112,0,103,0,110,0,112,0,112,0,0,0,112,0,103,0,110,0,115,0,98,0,0,0,112,0,103,0,115,0,97,0,110,0,0,0,112,0,103,0,115,0,104,0,109,0,0,0,112,0,103,0,119,0,98,0,107,0,0,0,112,0,103,0,119,0,104,0,109,0,0,0,112,0,103,0,119,0,112,0,100,0,0,0,112,0,104,0,97,0,98,0,114,0,0,0,112,0,104,0,97,0,103,0,110,0,0,0,112,0,104,0,97,0,103,0,115,0,0,0,112,0,104,0,97,0,107,0,108,0,0,0,112,0,104,0,97,0,108,0,98,0,0,0,112,0,104,0,97,0,110,0,116,0,0,0,112,0,104,0,97,0,112,0,97,0,0,0,112,0,104,0,97,0,117,0,114,0,0,0,112,0,104,0,98,0,97,0,110,0,0,0,112,0,104,0,98,0,97,0,115,0,0,0,112,0,104,0,98,0,101,0,110,0,0,0,112,0,104,0,98,0,105,0,108,0,0,0,112,0,104,0,98,0,116,0,103,0,0,0,112,0,104,0,98,0,116,0,110,0,0,0,112,0,104,0,99,0,97,0,103,0,0,0,112,0,104,0,99,0,97,0,112,0,0,0,112,0,104,0,99,0,97,0,118,0,0,0,112,0,104,0,99,0,111,0,109,0,0,0,112,0,104,0,100,0,97,0,115,0,0,0,112,0,104,0,100,0,97,0,118,0,0,0,112,0,104,0,100,0,105,0,110,0,0,0,112,0,104,0,100,0,118,0,111,0,0,0,112,0,104,0,101,0,97,0,115,0,0,0,112,0,104,0,105,0,108,0,110,0,0,0,112,0,104,0,105,0,115,0,97,0,0,0,112,0,104,0,107,0,97,0,108,0,0,0,112,0,104,0,108,0,97,0,103,0,0,0,112,0,104,0,108,0,97,0,110,0,0,0,112,0,104,0,108,0,97,0,115,0,0,0,112,0,104,0,108,0,101,0,121,0,0,0,112,0,104,0,108,0,117,0,110,0,0,0,112,0,104,0,109,0,97,0,100,0,0,0,112,0,104,0,109,0,97,0,103,0,0,0,112,0,104,0,109,0,97,0,115,0,0,0,112,0,104,0,109,0,100,0,99,0,0,0,112,0,104,0,109,0,100,0,114,0,0,0,112,0,104,0,109,0,111,0,117,0,0,0,112,0,104,0,109,0,115,0,99,0,0,0,112,0,104,0,109,0,115,0,114,0,0,0,112,0,104,0,110,0,99,0,111,0,0,0,112,0,104,0,110,0,101,0,99,0,0,0,112,0,104,0,110,0,101,0,114,0,0,0,112,0,104,0,110,0,115,0,97,0,0,0,112,0,104,0,110,0,117,0,101,0,0,0,112,0,104,0,110,0,117,0,118,0,0,0,112,0,104,0,112,0,108,0,119,0,0,0,112,0,104,0,113,0,117,0,101,0,0,0,112,0,104,0,113,0,117,0,105,0,0,0,112,0,104,0,114,0,105,0,122,0,0,0,112,0,104,0,114,0,111,0,109,0,0,0,112,0,104,0,115,0,97,0,114,0,0,0,112,0,104,0,115,0,99,0,111,0,0,0,112,0,104,0,115,0,105,0,103,0,0,0,112,0,104,0,115,0,108,0,117,0,0,0,112,0,104,0,115,0,111,0,114,0,0,0,112,0,104,0,115,0,117,0,110,0,0,0,112,0,104,0,115,0,117,0,114,0,0,0,112,0,104,0,116,0,97,0,119,0,0,0,112,0,104,0,119,0,115,0,97,0,0,0,112,0,104,0,122,0,97,0,110,0,0,0,112,0,104,0,122,0,109,0,98,0,0,0,112,0,104,0,122,0,115,0,105,0,0,0,112,0,115,0,98,0,116,0,104,0,0,0,112,0,115,0,100,0,101,0,98,0,0,0,112,0,115,0,104,0,98,0,110,0,0,0,112,0,115,0,106,0,114,0,104,0,0,0,112,0,115,0,107,0,121,0,115,0,0,0,112,0,115,0,110,0,98,0,115,0,0,0,112,0,115,0,110,0,103,0,122,0,0,0,112,0,115,0,113,0,113,0,97,0,0,0,112,0,115,0,114,0,98,0,104,0,0,0,112,0,115,0,114,0,102,0,104,0,0,0,112,0,115,0,115,0,108,0,116,0,0,0,112,0,115,0,116,0,98,0,115,0,0,0,112,0,115,0,116,0,107,0,109,0,0,0,112,0,119,0,50,0,50,0,52,0,0,0,112,0,119,0,51,0,53,0,48,0,0,0,112,0,119,0,51,0,55,0,48,0,0,0,112,0,121,0,97,0,115,0,117,0,0,0,114,0,117,0,97,0,108,0,116,0,0,0,114,0,117,0,97,0,109,0,117,0,0,0,114,0,117,0,97,0,115,0,116,0,0,0,114,0,117,0,98,0,101,0,108,0,0,0,114,0,117,0,98,0,114,0,121,0,0,0,114,0,117,0,99,0,104,0,101,0,0,0,114,0,117,0,99,0,104,0,117,0,0,0,114,0,117,0,105,0,118,0,97,0,0,0,114,0,117,0,107,0,101,0,109,0,0,0,114,0,117,0,107,0,103,0,100,0,0,0,114,0,117,0,107,0,104,0,97,0,0,0,114,0,117,0,107,0,104,0,109,0,0,0,114,0,117,0,107,0,105,0,114,0,0,0,114,0,117,0,107,0,108,0,117,0,0,0,114,0,117,0,107,0,111,0,115,0,0,0,114,0,117,0,107,0,114,0,115,0,0,0,114,0,117,0,107,0,121,0,97,0,0,0,114,0,117,0,108,0,101,0,110,0,0,0,114,0,117,0,108,0,105,0,112,0,0,0,114,0,117,0,109,0,97,0,103,0,0,0,114,0,117,0,109,0,111,0,115,0,0,0,114,0,117,0,109,0,111,0,119,0,0,0,114,0,117,0,109,0,117,0,114,0,0,0,114,0,117,0,110,0,101,0,110,0,0,0,114,0,117,0,110,0,103,0,114,0,0,0,114,0,117,0,110,0,105,0,122,0,0,0,114,0,117,0,110,0,118,0,115,0,0,0,114,0,117,0,111,0,109,0,115,0,0,0,114,0,117,0,111,0,114,0,108,0,0,0,114,0,117,0,112,0,101,0,114,0,0,0,114,0,117,0,112,0,110,0,122,0,0,0,114,0,117,0,112,0,114,0,105,0,0,0,114,0,117,0,112,0,115,0,107,0,0,0,114,0,117,0,114,0,111,0,115,0,0,0,114,0,117,0,114,0,121,0,97,0,0,0,114,0,117,0,115,0,97,0,109,0,0,0,114,0,117,0,115,0,112,0,101,0,0,0,114,0,117,0,115,0,116,0,97,0,0,0,114,0,117,0,116,0,97,0,109,0,0,0,114,0,117,0,116,0,111,0,109,0,0,0,114,0,117,0,116,0,117,0,108,0,0,0,114,0,117,0,116,0,118,0,101,0,0,0,114,0,117,0,116,0,121,0,117,0,0,0,114,0,117,0,117,0,108,0,121,0,0,0,114,0,117,0,118,0,103,0,103,0,0,0,114,0,117,0,118,0,108,0,97,0,0,0,114,0,117,0,118,0,108,0,103,0,0,0,114,0,117,0,121,0,97,0,110,0,0,0,114,0,117,0,121,0,101,0,118,0,0,0,116,0,116,0,97,0,114,0,105,0,0,0,116,0,116,0,99,0,104,0,97,0,0,0,116,0,116,0,99,0,116,0,116,0,0,0,116,0,116,0,100,0,109,0,110,0,0,0,116,0,116,0,109,0,114,0,99,0,0,0,116,0,116,0,112,0,101,0,100,0,0,0,116,0,116,0,112,0,111,0,115,0,0,0,116,0,116,0,112,0,114,0,116,0,0,0,116,0,116,0,112,0,116,0,102,0,0,0,116,0,116,0,115,0,103,0,101,0,0,0,116,0,116,0,115,0,105,0,112,0,0,0,116,0,116,0,115,0,106,0,108,0,0,0,116,0,116,0,116,0,111,0,98,0,0,0,116,0,116,0,116,0,117,0,112,0,0,0,116,0,118,0,102,0,117,0,110,0,0,0,116,0,118,0,110,0,105,0,116,0,0,0,116,0,118,0,110,0,107,0,102,0,0,0,116,0,118,0,110,0,107,0,108,0,0,0,116,0,118,0,110,0,109,0,97,0,0,0,116,0,118,0,110,0,109,0,103,0,0,0,116,0,118,0,110,0,117,0,105,0,0,0,116,0,118,0,118,0,97,0,105,0,0,0,116,0,119,0,99,0,104,0,97,0,0,0,116,0,119,0,99,0,121,0,105,0,0,0,116,0,119,0,99,0,121,0,113,0,0,0,116,0,119,0,104,0,115,0,122,0,0,0,116,0,119,0,104,0,117,0,97,0,0,0,116,0,119,0,105,0,108,0,97,0,0,0,116,0,119,0,107,0,101,0,101,0,0,0,116,0,119,0,107,0,104,0,104,0,0,0,116,0,119,0,107,0,105,0,110,0,0,0,116,0,119,0,108,0,105,0,101,0,0,0,116,0,119,0,109,0,105,0,97,0,0,0,116,0,119,0,110,0,119,0,116,0,0,0,116,0,119,0,112,0,101,0,110,0,0,0,116,0,119,0,112,0,105,0,102,0,0,0,116,0,119,0,116,0,97,0,111,0,0,0,116,0,119,0,116,0,112,0,101,0,0,0,116,0,119,0,116,0,116,0,116,0,0,0,116,0,119,0,116,0,120,0,103,0,0,0,116,0,119,0,121,0,117,0,110,0,0,0,118,0,117,0,109,0,97,0,112,0,0,0,118,0,117,0,112,0,97,0,109,0,0,0,118,0,117,0,115,0,97,0,109,0,0,0,118,0,117,0,116,0,111,0,98,0,0,0,122,0,97,0,107,0,122,0,110,0,0,0,99,0,122,0,50,0,48,0,52,0,0,0,99,0,122,0,51,0,49,0,50,0,0,0,99,0,122,0,51,0,49,0,54,0,0,0,99,0,122,0,53,0,51,0,49,0,0,0,99,0,122,0,53,0,51,0,50,0,0,0,99,0,122,0,53,0,51,0,52,0,0,0,99,0,122,0,54,0,52,0,50,0,0,0,99,0,122,0,55,0,50,0,52,0,0,0,99,0,122,0,56,0,48,0,52,0,0,0,101,0,101,0,52,0,52,0,50,0,0,0,101,0,101,0,55,0,57,0,50,0,0,0,102,0,114,0,108,0,114,0,101,0,0,0,103,0,97,0,108,0,108,0,111,0,0,0,103,0,98,0,97,0,114,0,109,0,0,0,103,0,98,0,98,0,100,0,102,0,0,0,103,0,98,0,100,0,103,0,110,0,0,0,103,0,98,0,100,0,114,0,121,0,0,0,103,0,98,0,101,0,110,0,102,0,0,0,103,0,98,0,102,0,101,0,114,0,0,0,103,0,98,0,108,0,115,0,98,0,0,0,103,0,98,0,115,0,116,0,115,0,0,0,105,0,115,0,100,0,106,0,117,0,0,0,105,0,115,0,115,0,101,0,121,0,0,0,105,0,115,0,115,0,107,0,103,0,0,0,108,0,118,0,48,0,49,0,53,0,0,0,108,0,118,0,48,0,49,0,54,0,0,0,108,0,118,0,48,0,52,0,48,0,0,0,108,0,118,0,48,0,53,0,49,0,0,0,108,0,118,0,48,0,53,0,51,0,0,0,108,0,118,0,48,0,54,0,56,0,0,0,108,0,118,0,48,0,57,0,48,0,0,0,108,0,118,0,49,0,49,0,50,0,0,0,109,0,107,0,51,0,48,0,52,0,0,0,109,0,107,0,51,0,48,0,56,0,0,0,109,0,107,0,53,0,48,0,56,0,0,0,109,0,107,0,55,0,48,0,51,0,0,0,109,0,107,0,55,0,48,0,53,0,0,0,109,0,107,0,56,0,49,0,48,0,0,0,109,0,110,0,48,0,54,0,52,0,0,0,111,0,115,0,111,0,106,0,115,0,0,0,112,0,115,0,106,0,101,0,110,0,0,0,112,0,119,0,50,0,50,0,54,0,0,0,115,0,105,0,48,0,48,0,51,0,0,0,115,0,105,0,48,0,48,0,56,0,0,0,115,0,105,0,48,0,49,0,50,0,0,0,115,0,105,0,48,0,50,0,48,0,0,0,115,0,105,0,48,0,50,0,52,0,0,0,115,0,105,0,48,0,50,0,56,0,0,0,115,0,105,0,48,0,51,0,49,0,0,0,115,0,105,0,48,0,51,0,50,0,0,0,115,0,105,0,48,0,51,0,52,0,0,0,115,0,105,0,48,0,51,0,54,0,0,0,115,0,105,0,48,0,52,0,52,0,0,0,115,0,105,0,48,0,52,0,56,0,0,0,115,0,105,0,48,0,54,0,48,0,0,0,115,0,105,0,48,0,55,0,48,0,0,0,115,0,105,0,48,0,55,0,50,0,0,0,115,0,105,0,48,0,55,0,52,0,0,0,115,0,105,0,48,0,55,0,54,0,0,0,115,0,105,0,48,0,56,0,52,0,0,0,115,0,105,0,48,0,56,0,54,0,0,0,115,0,105,0,48,0,57,0,50,0,0,0,115,0,105,0,48,0,57,0,54,0,0,0,115,0,105,0,49,0,50,0,48,0,0,0,115,0,105,0,49,0,52,0,48,0,0,0,115,0,105,0,49,0,52,0,50,0,0,0,115,0,105,0,49,0,52,0,51,0,0,0,115,0,105,0,49,0,52,0,56,0,0,0,115,0,105,0,49,0,53,0,49,0,0,0,115,0,105,0,49,0,53,0,52,0,0,0,115,0,105,0,49,0,53,0,53,0,0,0,115,0,105,0,49,0,53,0,56,0,0,0,115,0,105,0,49,0,54,0,50,0,0,0,115,0,105,0,49,0,54,0,54,0,0,0,115,0,105,0,49,0,55,0,53,0,0,0,115,0,105,0,49,0,55,0,56,0,0,0,115,0,105,0,49,0,56,0,52,0,0,0,115,0,105,0,49,0,57,0,54,0,0,0,117,0,103,0,50,0,51,0,48,0,0,0,117,0,103,0,50,0,51,0,49,0,0,0,117,0,103,0,50,0,51,0,51,0,0,0,117,0,103,0,50,0,51,0,52,0,0,0,117,0,103,0,51,0,51,0,52,0,0,0,117,0,103,0,51,0,51,0,54,0,0,0,117,0,103,0,52,0,50,0,56,0,0,0,109,0,97,0,115,0,105,0,107,0,0,0,115,0,111,0,116,0,97,0,118,0,0,0,48,0,48,0,49,0,126,0,51,0,0,0,48,0,49,0,51,0,126,0,53,0,0,0,48,0,51,0,52,0,126,0,53,0,0,0,48,0,53,0,51,0,126,0,52,0,0,0,49,0,52,0,50,0,126,0,51,0,0,0,49,0,53,0,48,0,126,0,49,0,0,0,65,0,82,0,76,0,126,0,77,0,0,0,66,0,71,0,76,0,126,0,77,0,0,0,66,0,82,0,66,0,126,0,67,0,0,0,67,0,76,0,69,0,126,0,70,0,0,0,69,0,83,0,65,0,126,0,66,0,0,0,72,0,75,0,43,0,77,0,79,0,0,0,88,0,66,0,65,0,126,0,68,0,0,0,89,0,85,0,77,0,126,0,78,0,0,0,97,0,97,0,97,0,126,0,105,0,0,0,97,0,97,0,107,0,126,0,108,0,0,0,97,0,97,0,110,0,126,0,113,0,0,0,97,0,97,0,115,0,126,0,120,0,0,0,97,0,98,0,97,0,126,0,106,0,0,0,97,0,98,0,108,0,126,0,122,0,0,0,97,0,99,0,97,0,126,0,98,0,0,0,97,0,99,0,100,0,126,0,102,0,0,0,97,0,99,0,104,0,126,0,105,0,0,0,97,0,99,0,107,0,126,0,110,0,0,0,97,0,99,0,112,0,126,0,122,0,0,0,97,0,100,0,97,0,126,0,98,0,0,0,97,0,100,0,100,0,126,0,106,0,0,0,97,0,100,0,110,0,126,0,111,0,0,0,97,0,100,0,113,0,126,0,117,0,0,0,97,0,100,0,119,0,126,0,122,0,0,0,97,0,101,0,97,0,126,0,101,0,0,0,97,0,101,0,107,0,126,0,110,0,0,0,97,0,101,0,113,0,126,0,115,0,0,0,97,0,101,0,121,0,126,0,122,0,0,0,97,0,102,0,97,0,126,0,98,0,0,0,97,0,102,0,98,0,97,0,108,0,0,0,97,0,102,0,98,0,97,0,109,0,0,0,97,0,102,0,100,0,126,0,101,0,0,0,97,0,102,0,103,0,126,0,105,0,0,0,97,0,102,0,110,0,126,0,112,0,0,0,97,0,102,0,115,0,126,0,117,0,0,0,97,0,103,0,97,0,126,0,111,0,0,0,97,0,103,0,113,0,126,0,122,0,0,0,97,0,104,0,97,0,126,0,98,0,0,0,97,0,104,0,103,0,126,0,105,0,0,0,97,0,104,0,107,0,126,0,112,0,0,0,97,0,104,0,114,0,126,0,116,0,0,0,97,0,105,0,97,0,126,0,114,0,0,0,97,0,105,0,119,0,126,0,121,0,0,0,97,0,106,0,116,0,126,0,117,0,0,0,97,0,107,0,98,0,126,0,109,0,0,0,97,0,107,0,111,0,126,0,122,0,0,0,97,0,108,0,99,0,126,0,114,0,0,0,97,0,108,0,116,0,126,0,122,0,0,0,97,0,108,0,117,0,107,0,117,0,0,0,97,0,109,0,97,0,126,0,99,0,0,0,97,0,109,0,101,0,126,0,103,0,0,0,97,0,109,0,105,0,126,0,122,0,0,0,97,0,110,0,97,0,126,0,122,0,0,0,97,0,111,0,97,0,126,0,103,0,0,0,97,0,111,0,99,0,110,0,110,0,0,0,97,0,111,0,99,0,110,0,111,0,0,0,97,0,111,0,105,0,126,0,110,0,0,0,97,0,111,0,114,0,126,0,117,0,0,0,97,0,112,0,97,0,126,0,122,0,0,0,97,0,113,0,99,0,126,0,100,0,0,0,97,0,113,0,107,0,126,0,110,0,0,0,97,0,114,0,97,0,126,0,104,0,0,0,97,0,114,0,99,0,126,0,101,0,0,0,97,0,114,0,104,0,126,0,108,0,0,0,97,0,114,0,106,0,126,0,110,0,0,0,97,0,114,0,110,0,126,0,122,0,0,0,97,0,114,0,112,0,126,0,122,0,0,0,97,0,115,0,97,0,126,0,99,0,0,0,97,0,115,0,101,0,126,0,108,0,0,0,97,0,115,0,110,0,126,0,122,0,0,0,97,0,116,0,49,0,126,0,57,0,0,0,97,0,116,0,97,0,126,0,101,0,0,0,97,0,116,0,103,0,126,0,122,0,0,0,97,0,117,0,97,0,126,0,100,0,0,0,97,0,117,0,102,0,126,0,117,0,0,0,97,0,117,0,119,0,126,0,122,0,0,0,97,0,118,0,107,0,126,0,111,0,0,0,97,0,118,0,115,0,126,0,118,0,0,0,97,0,119,0,97,0,126,0,101,0,0,0,97,0,119,0,103,0,126,0,105,0,0,0,97,0,119,0,109,0,126,0,111,0,0,0,97,0,119,0,114,0,126,0,121,0,0,0,97,0,120,0,107,0,126,0,109,0,0,0,97,0,121,0,97,0,126,0,101,0,0,0,97,0,121,0,103,0,126,0,105,0,0,0,97,0,121,0,107,0,126,0,108,0,0,0,97,0,121,0,110,0,126,0,113,0,0,0,97,0,121,0,115,0,126,0,117,0,0,0,97,0,121,0,120,0,126,0,121,0,0,0,97,0,122,0,97,0,126,0,100,0,0,0,97,0,122,0,109,0,126,0,111,0,0,0,97,0,122,0,115,0,97,0,107,0,0,0,97,0,122,0,115,0,97,0,108,0,0,0,97,0,122,0,122,0,97,0,113,0,0,0,98,0,97,0,97,0,126,0,106,0,0,0,98,0,97,0,110,0,126,0,112,0,0,0,98,0,97,0,114,0,108,0,97,0,0,0,98,0,97,0,114,0,126,0,121,0,0,0,98,0,98,0,97,0,126,0,121,0,0,0,98,0,99,0,97,0,126,0,98,0,0,0,98,0,99,0,100,0,126,0,107,0,0,0,98,0,99,0,109,0,126,0,119,0,0,0,98,0,99,0,121,0,126,0,122,0,0,0,98,0,100,0,97,0,126,0,104,0,0,0,98,0,100,0,97,0,126,0,122,0,0,0,98,0,101,0,97,0,126,0,107,0,0,0,98,0,101,0,111,0,126,0,122,0,0,0,98,0,102,0,97,0,126,0,117,0,0,0,98,0,102,0,98,0,97,0,108,0,0,0,98,0,102,0,98,0,97,0,109,0,0,0,98,0,102,0,98,0,97,0,110,0,0,0,98,0,102,0,107,0,111,0,115,0,0,0,98,0,102,0,107,0,111,0,116,0,0,0,98,0,102,0,119,0,126,0,122,0,0,0,98,0,103,0,97,0,126,0,103,0,0,0,98,0,103,0,105,0,126,0,108,0,0,0,98,0,103,0,110,0,126,0,122,0,0,0,98,0,104,0,97,0,126,0,106,0,0,0,98,0,104,0,108,0,126,0,122,0,0,0,98,0,105,0,97,0,126,0,98,0,0,0,98,0,105,0,100,0,126,0,103,0,0,0,98,0,105,0,107,0,126,0,114,0,0,0,98,0,105,0,115,0,107,0,101,0,0,0,98,0,105,0,116,0,126,0,122,0,0,0,98,0,106,0,97,0,126,0,99,0,0,0,98,0,106,0,101,0,126,0,112,0,0,0,98,0,106,0,114,0,126,0,122,0,0,0,98,0,107,0,99,0,126,0,100,0,0,0,98,0,107,0,102,0,126,0,122,0,0,0,98,0,108,0,97,0,126,0,102,0,0,0,98,0,108,0,104,0,126,0,116,0,0,0,98,0,108,0,118,0,126,0,122,0,0,0,98,0,109,0,97,0,126,0,120,0,0,0,98,0,110,0,97,0,126,0,103,0,0,0,98,0,110,0,105,0,126,0,122,0,0,0,98,0,111,0,97,0,126,0,98,0,0,0,98,0,111,0,98,0,126,0,99,0,0,0,98,0,111,0,101,0,126,0,114,0,0,0,98,0,111,0,110,0,126,0,112,0,0,0,98,0,111,0,111,0,110,0,116,0,0,0,98,0,111,0,115,0,126,0,116,0,0,0,98,0,111,0,116,0,126,0,122,0,0,0,98,0,112,0,99,0,126,0,101,0,0,0,98,0,112,0,103,0,126,0,122,0,0,0,98,0,113,0,97,0,126,0,100,0,0,0,98,0,113,0,102,0,126,0,122,0,0,0,98,0,114,0,97,0,126,0,100,0,0,0,98,0,114,0,102,0,126,0,122,0,0,0,98,0,115,0,97,0,126,0,99,0,0,0,98,0,115,0,101,0,126,0,121,0,0,0,98,0,116,0,99,0,126,0,107,0,0,0,98,0,116,0,109,0,126,0,122,0,0,0,98,0,117,0,97,0,126,0,107,0,0,0,98,0,117,0,109,0,126,0,113,0,0,0,98,0,117,0,115,0,126,0,122,0,0,0,98,0,118,0,97,0,126,0,114,0,0,0,98,0,118,0,116,0,126,0,122,0,0,0,98,0,119,0,97,0,126,0,117,0,0,0,98,0,119,0,119,0,126,0,122,0,0,0,98,0,120,0,97,0,126,0,106,0,0,0,98,0,120,0,108,0,126,0,113,0,0,0,98,0,120,0,117,0,126,0,119,0,0,0,98,0,121,0,97,0,126,0,116,0,0,0,98,0,121,0,118,0,126,0,120,0,0,0,98,0,122,0,97,0,126,0,122,0,0,0,99,0,97,0,97,0,126,0,115,0,0,0,99,0,97,0,117,0,126,0,122,0,0,0,99,0,98,0,97,0,126,0,100,0,0,0,99,0,98,0,105,0,126,0,108,0,0,0,99,0,98,0,110,0,126,0,111,0,0,0,99,0,98,0,113,0,126,0,119,0,0,0,99,0,99,0,99,0,126,0,101,0,0,0,99,0,99,0,103,0,126,0,104,0,0,0,99,0,99,0,108,0,126,0,112,0,0,0,99,0,99,0,114,0,126,0,115,0,0,0,99,0,100,0,99,0,126,0,102,0,0,0,99,0,100,0,104,0,126,0,106,0,0,0,99,0,100,0,109,0,126,0,111,0,0,0,99,0,100,0,114,0,126,0,115,0,0,0,99,0,100,0,121,0,126,0,122,0,0,0,99,0,101,0,97,0,126,0,98,0,0,0,99,0,101,0,107,0,126,0,108,0,0,0,99,0,103,0,55,0,126,0,57,0,0,0,99,0,104,0,98,0,126,0,100,0,0,0,99,0,104,0,102,0,126,0,104,0,0,0,99,0,104,0,106,0,126,0,114,0,0,0,99,0,104,0,119,0,126,0,122,0,0,0,99,0,105,0,97,0,126,0,101,0,0,0,99,0,105,0,109,0,126,0,110,0,0,0,99,0,106,0,104,0,126,0,105,0,0,0,99,0,106,0,109,0,126,0,112,0,0,0,99,0,107,0,108,0,126,0,111,0,0,0,99,0,107,0,113,0,126,0,118,0,0,0,99,0,107,0,120,0,126,0,122,0,0,0,99,0,108,0,104,0,126,0,109,0,0,0,99,0,108,0,116,0,126,0,117,0,0,0,99,0,109,0,108,0,126,0,109,0,0,0,99,0,109,0,114,0,126,0,116,0,0,0,99,0,110,0,97,0,126,0,99,0,0,0,99,0,110,0,103,0,126,0,105,0,0,0,99,0,110,0,107,0,126,0,108,0,0,0,99,0,110,0,111,0,126,0,113,0,0,0,99,0,110,0,115,0,126,0,117,0,0,0,99,0,110,0,119,0,126,0,120,0,0,0,99,0,111,0,97,0,126,0,104,0,0,0,99,0,111,0,106,0,126,0,113,0,0,0,99,0,111,0,114,0,110,0,117,0,0,0,99,0,111,0,116,0,126,0,120,0,0,0,99,0,112,0,97,0,126,0,99,0,0,0,99,0,112,0,101,0,126,0,103,0,0,0,99,0,112,0,110,0,126,0,112,0,0,0,99,0,112,0,120,0,126,0,121,0,0,0,99,0,114,0,97,0,126,0,100,0,0,0,99,0,114,0,102,0,126,0,116,0,0,0,99,0,114,0,103,0,126,0,104,0,0,0,99,0,114,0,118,0,126,0,122,0,0,0,99,0,115,0,97,0,126,0,122,0,0,0,99,0,116,0,99,0,126,0,101,0,0,0,99,0,116,0,103,0,126,0,104,0,0,0,99,0,116,0,108,0,126,0,112,0,0,0,99,0,116,0,115,0,126,0,117,0,0,0,99,0,116,0,121,0,126,0,122,0,0,0,99,0,117,0,97,0,126,0,99,0,0,0,99,0,117,0,104,0,126,0,108,0,0,0,99,0,117,0,111,0,126,0,121,0,0,0,99,0,119,0,97,0,126,0,98,0,0,0,99,0,121,0,97,0,126,0,98,0,0,0,99,0,122,0,50,0,48,0,49,0,0,0,99,0,122,0,50,0,48,0,53,0,0,0,99,0,122,0,50,0,48,0,54,0,0,0,99,0,122,0,50,0,48,0,55,0,0,0,99,0,122,0,50,0,48,0,57,0,0,0,99,0,122,0,50,0,48,0,97,0,0,0,99,0,122,0,50,0,48,0,98,0,0,0,99,0,122,0,50,0,48,0,99,0,0,0,99,0,122,0,51,0,49,0,49,0,0,0,99,0,122,0,51,0,49,0,51,0,0,0,99,0,122,0,51,0,49,0,52,0,0,0,99,0,122,0,51,0,49,0,53,0,0,0,99,0,122,0,51,0,49,0,55,0,0,0,99,0,122,0,51,0,50,0,49,0,0,0,99,0,122,0,51,0,50,0,50,0,0,0,99,0,122,0,51,0,50,0,51,0,0,0,99,0,122,0,51,0,50,0,53,0,0,0,99,0,122,0,51,0,50,0,54,0,0,0,99,0,122,0,51,0,50,0,55,0,0,0,99,0,122,0,52,0,49,0,49,0,0,0,99,0,122,0,52,0,49,0,50,0,0,0,99,0,122,0,52,0,49,0,51,0,0,0,99,0,122,0,52,0,50,0,49,0,0,0,99,0,122,0,52,0,50,0,51,0,0,0,99,0,122,0,52,0,50,0,52,0,0,0,99,0,122,0,52,0,50,0,53,0,0,0,99,0,122,0,52,0,50,0,55,0,0,0,99,0,122,0,53,0,49,0,49,0,0,0,99,0,122,0,53,0,49,0,51,0,0,0,99,0,122,0,53,0,49,0,52,0,0,0,99,0,122,0,53,0,50,0,49,0,0,0,99,0,122,0,53,0,50,0,50,0,0,0,99,0,122,0,53,0,50,0,51,0,0,0,99,0,122,0,53,0,50,0,53,0,0,0,99,0,122,0,54,0,51,0,49,0,0,0,99,0,122,0,54,0,51,0,50,0,0,0,99,0,122,0,54,0,51,0,51,0,0,0,99,0,122,0,54,0,51,0,53,0,0,0,99,0,122,0,54,0,52,0,49,0,0,0,99,0,122,0,54,0,52,0,52,0,0,0,99,0,122,0,54,0,52,0,53,0,0,0,99,0,122,0,54,0,52,0,55,0,0,0,99,0,122,0,55,0,49,0,49,0,0,0,99,0,122,0,55,0,49,0,50,0,0,0,99,0,122,0,55,0,49,0,51,0,0,0,99,0,122,0,55,0,49,0,52,0,0,0,99,0,122,0,55,0,49,0,53,0,0,0,99,0,122,0,55,0,50,0,49,0,0,0,99,0,122,0,55,0,50,0,50,0,0,0,99,0,122,0,55,0,50,0,51,0,0,0,99,0,122,0,56,0,48,0,49,0,0,0,99,0,122,0,56,0,48,0,50,0,0,0,99,0,122,0,56,0,48,0,51,0,0,0,99,0,122,0,56,0,48,0,53,0,0,0,99,0,122,0,56,0,48,0,54,0,0,0,99,0,122,0,110,0,126,0,111,0,0,0,100,0,97,0,99,0,126,0,101,0,0,0,100,0,97,0,103,0,126,0,109,0,0,0,100,0,97,0,110,0,103,0,105,0,0,0,100,0,97,0,113,0,126,0,115,0,0,0,100,0,97,0,117,0,126,0,122,0,0,0,100,0,98,0,100,0,126,0,103,0,0,0,100,0,98,0,105,0,126,0,106,0,0,0,100,0,98,0,108,0,126,0,114,0,0,0,100,0,98,0,116,0,126,0,119,0,0,0,100,0,100,0,100,0,126,0,101,0,0,0,100,0,100,0,105,0,126,0,106,0,0,0,100,0,100,0,110,0,126,0,111,0,0,0,100,0,100,0,114,0,126,0,115,0,0,0,100,0,101,0,99,0,126,0,105,0,0,0,100,0,101,0,107,0,126,0,110,0,0,0,100,0,101,0,112,0,126,0,115,0,0,0,100,0,103,0,97,0,126,0,101,0,0,0,100,0,103,0,103,0,126,0,105,0,0,0,100,0,103,0,107,0,126,0,108,0,0,0,100,0,103,0,114,0,126,0,116,0,0,0,100,0,103,0,119,0,126,0,120,0,0,0,100,0,104,0,108,0,126,0,111,0,0,0,100,0,104,0,114,0,126,0,115,0,0,0,100,0,104,0,117,0,126,0,120,0,0,0,100,0,105,0,97,0,126,0,100,0,0,0,100,0,105,0,102,0,126,0,106,0,0,0,100,0,105,0,108,0,126,0,112,0,0,0,100,0,105,0,114,0,126,0,115,0,0,0,100,0,105,0,119,0,126,0,122,0,0,0,100,0,106,0,97,0,126,0,102,0,0,0,100,0,106,0,105,0,126,0,107,0,0,0,100,0,106,0,109,0,126,0,111,0,0,0,100,0,107,0,114,0,126,0,115,0,0,0,100,0,108,0,109,0,126,0,110,0,0,0,100,0,109,0,97,0,126,0,103,0,0,0,100,0,109,0,107,0,126,0,111,0,0,0,100,0,109,0,114,0,126,0,115,0,0,0,100,0,109,0,117,0,126,0,121,0,0,0,100,0,110,0,100,0,126,0,101,0,0,0,100,0,110,0,105,0,126,0,107,0,0,0,100,0,110,0,110,0,126,0,111,0,0,0,100,0,110,0,116,0,126,0,119,0,0,0,100,0,111,0,97,0,126,0,99,0,0,0,100,0,111,0,101,0,126,0,102,0,0,0,100,0,111,0,104,0,126,0,105,0,0,0,100,0,111,0,107,0,126,0,108,0,0,0,100,0,111,0,110,0,126,0,116,0,0,0,100,0,111,0,118,0,126,0,122,0,0,0,100,0,114,0,97,0,126,0,101,0,0,0,100,0,114,0,110,0,126,0,111,0,0,0,100,0,114,0,115,0,126,0,117,0,0,0,100,0,115,0,104,0,126,0,105,0,0,0,100,0,116,0,97,0,126,0,98,0,0,0,100,0,116,0,104,0,126,0,105,0,0,0,100,0,116,0,109,0,126,0,112,0,0,0,100,0,116,0,114,0,126,0,117,0,0,0,100,0,117,0,97,0,126,0,99,0,0,0,100,0,117,0,101,0,126,0,105,0,0,0,100,0,117,0,107,0,126,0,115,0,0,0,100,0,117,0,117,0,126,0,122,0,0,0,100,0,119,0,114,0,126,0,115,0,0,0,100,0,119,0,121,0,126,0,122,0,0,0,100,0,121,0,97,0,126,0,98,0,0,0,100,0,121,0,109,0,126,0,111,0,0,0,101,0,99,0,97,0,126,0,105,0,0,0,101,0,99,0,108,0,126,0,112,0,0,0,101,0,99,0,116,0,126,0,117,0,0,0,101,0,99,0,119,0,126,0,122,0,0,0,101,0,101,0,49,0,52,0,49,0,0,0,101,0,101,0,49,0,52,0,50,0,0,0,101,0,101,0,50,0,56,0,51,0,0,0,101,0,101,0,50,0,56,0,52,0,0,0,101,0,101,0,52,0,51,0,48,0,0,0,101,0,101,0,52,0,51,0,49,0,0,0,101,0,101,0,52,0,51,0,50,0,0,0,101,0,101,0,52,0,52,0,49,0,0,0,101,0,101,0,55,0,57,0,51,0,0,0,101,0,103,0,108,0,126,0,109,0,0,0,101,0,103,0,120,0,126,0,121,0,0,0,101,0,107,0,108,0,126,0,109,0,0,0,101,0,107,0,111,0,126,0,112,0,0,0,101,0,108,0,104,0,126,0,105,0,0,0,101,0,109,0,97,0,126,0,98,0,0,0,101,0,109,0,109,0,126,0,110,0,0,0,101,0,109,0,112,0,126,0,113,0,0,0,101,0,109,0,119,0,126,0,122,0,0,0,101,0,110,0,95,0,66,0,90,0,0,0,101,0,110,0,95,0,67,0,72,0,0,0,101,0,110,0,95,0,77,0,79,0,0,0,101,0,110,0,97,0,126,0,100,0,0,0,101,0,110,0,108,0,126,0,111,0,0,0,101,0,110,0,113,0,126,0,114,0,0,0,101,0,110,0,117,0,126,0,120,0,0,0,101,0,114,0,103,0,126,0,105,0,0,0,101,0,114,0,114,0,126,0,116,0,0,0,101,0,115,0,95,0,66,0,82,0,0,0,101,0,115,0,95,0,85,0,83,0,0,0,101,0,115,0,103,0,126,0,105,0,0,0,101,0,115,0,108,0,126,0,111,0,0,0,101,0,115,0,120,0,126,0,121,0,0,0,101,0,116,0,98,0,126,0,99,0,0,0,101,0,116,0,110,0,126,0,111,0,0,0,101,0,116,0,114,0,126,0,117,0,0,0,102,0,97,0,97,0,126,0,98,0,0,0,102,0,97,0,102,0,126,0,110,0,0,0,102,0,97,0,120,0,126,0,122,0,0,0,102,0,105,0,101,0,126,0,102,0,0,0,102,0,105,0,116,0,126,0,117,0,0,0,102,0,108,0,104,0,126,0,105,0,0,0,102,0,111,0,109,0,126,0,110,0,0,0,102,0,111,0,114,0,126,0,115,0,0,0,102,0,114,0,97,0,126,0,98,0,0,0,102,0,114,0,99,0,111,0,114,0,0,0,102,0,114,0,99,0,126,0,100,0,0,0,102,0,114,0,100,0,126,0,103,0,0,0,102,0,114,0,103,0,117,0,97,0,0,0,102,0,114,0,104,0,126,0,108,0,0,0,102,0,114,0,109,0,97,0,121,0,0,0,102,0,114,0,111,0,126,0,112,0,0,0,102,0,114,0,111,0,126,0,116,0,0,0,102,0,114,0,113,0,126,0,114,0,0,0,102,0,114,0,115,0,126,0,116,0,0,0,102,0,114,0,117,0,126,0,118,0,0,0,102,0,117,0,100,0,126,0,102,0,0,0,102,0,117,0,104,0,126,0,106,0,0,0,102,0,117,0,109,0,126,0,110,0,0,0,102,0,117,0,113,0,126,0,114,0,0,0,102,0,117,0,116,0,126,0,118,0,0,0,103,0,97,0,49,0,126,0,57,0,0,0,103,0,97,0,97,0,126,0,117,0,0,0,103,0,97,0,119,0,126,0,121,0,0,0,103,0,98,0,97,0,98,0,99,0,0,0,103,0,98,0,97,0,98,0,100,0,0,0,103,0,98,0,97,0,98,0,101,0,0,0,103,0,98,0,97,0,110,0,116,0,0,0,103,0,98,0,97,0,114,0,100,0,0,0,103,0,98,0,97,0,126,0,98,0,0,0,103,0,98,0,98,0,100,0,103,0,0,0,103,0,98,0,98,0,108,0,97,0,0,0,103,0,98,0,98,0,108,0,121,0,0,0,103,0,98,0,98,0,109,0,104,0,0,0,103,0,98,0,98,0,110,0,98,0,0,0,103,0,98,0,98,0,114,0,99,0,0,0,103,0,98,0,98,0,114,0,100,0,0,0,103,0,98,0,99,0,103,0,118,0,0,0,103,0,98,0,99,0,107,0,102,0,0,0,103,0,98,0,99,0,107,0,116,0,0,0,103,0,98,0,99,0,108,0,114,0,0,0,103,0,98,0,99,0,115,0,114,0,0,0,103,0,98,0,100,0,110,0,99,0,0,0,103,0,98,0,100,0,110,0,100,0,0,0,103,0,98,0,100,0,111,0,119,0,0,0,103,0,98,0,100,0,126,0,110,0,0,0,103,0,98,0,101,0,97,0,119,0,0,0,103,0,98,0,101,0,110,0,103,0,0,0,103,0,98,0,103,0,98,0,110,0,0,0,103,0,98,0,104,0,97,0,108,0,0,0,103,0,98,0,104,0,97,0,109,0,0,0,103,0,98,0,108,0,109,0,118,0,0,0,103,0,98,0,108,0,114,0,110,0,0,0,103,0,98,0,109,0,102,0,116,0,0,0,103,0,98,0,109,0,121,0,108,0,0,0,103,0,98,0,110,0,100,0,110,0,0,0,103,0,98,0,110,0,116,0,97,0,0,0,103,0,98,0,110,0,121,0,109,0,0,0,103,0,98,0,111,0,109,0,104,0,0,0,103,0,98,0,112,0,111,0,108,0,0,0,103,0,98,0,112,0,126,0,115,0,0,0,103,0,98,0,115,0,108,0,102,0,0,0,103,0,98,0,115,0,108,0,103,0,0,0,103,0,98,0,115,0,111,0,108,0,0,0,103,0,98,0,115,0,111,0,109,0,0,0,103,0,98,0,115,0,116,0,98,0,0,0,103,0,98,0,115,0,116,0,103,0,0,0,103,0,98,0,115,0,116,0,104,0,0,0,103,0,98,0,115,0,116,0,116,0,0,0,103,0,98,0,117,0,107,0,109,0,0,0,103,0,98,0,117,0,126,0,122,0,0,0,103,0,99,0,99,0,126,0,102,0,0,0,103,0,100,0,97,0,126,0,111,0,0,0,103,0,100,0,113,0,126,0,117,0,0,0,103,0,101,0,97,0,126,0,100,0,0,0,103,0,101,0,102,0,126,0,109,0,0,0,103,0,101,0,118,0,126,0,122,0,0,0,103,0,103,0,97,0,126,0,98,0,0,0,103,0,103,0,100,0,126,0,101,0,0,0,103,0,103,0,107,0,126,0,108,0,0,0,103,0,103,0,110,0,126,0,111,0,0,0,103,0,103,0,116,0,126,0,117,0,0,0,103,0,104,0,107,0,126,0,108,0,0,0,103,0,104,0,110,0,126,0,111,0,0,0,103,0,104,0,114,0,126,0,116,0,0,0,103,0,105,0,97,0,126,0,101,0,0,0,103,0,105,0,103,0,126,0,105,0,0,0,103,0,105,0,108,0,126,0,110,0,0,0,103,0,105,0,112,0,126,0,117,0,0,0,103,0,105,0,119,0,126,0,122,0,0,0,103,0,106,0,109,0,126,0,110,0,0,0,103,0,107,0,110,0,126,0,112,0,0,0,103,0,108,0,98,0,126,0,100,0,0,0,103,0,108,0,106,0,126,0,108,0,0,0,103,0,109,0,97,0,126,0,98,0,0,0,103,0,109,0,100,0,126,0,101,0,0,0,103,0,109,0,103,0,126,0,104,0,0,0,103,0,109,0,113,0,126,0,114,0,0,0,103,0,109,0,117,0,126,0,122,0,0,0,103,0,110,0,97,0,126,0,101,0,0,0,103,0,110,0,103,0,126,0,110,0,0,0,103,0,110,0,113,0,126,0,114,0,0,0,103,0,110,0,116,0,126,0,117,0,0,0,103,0,111,0,97,0,126,0,122,0,0,0,103,0,114,0,97,0,126,0,100,0,0,0,103,0,114,0,97,0,126,0,109,0,0,0,103,0,114,0,103,0,126,0,107,0,0,0,103,0,114,0,113,0,126,0,122,0,0,0,103,0,115,0,108,0,126,0,112,0,0,0,103,0,117,0,97,0,126,0,102,0,0,0,103,0,117,0,104,0,126,0,105,0,0,0,103,0,117,0,107,0,126,0,117,0,0,0,103,0,117,0,119,0,126,0,120,0,0,0,103,0,118,0,101,0,126,0,102,0,0,0,103,0,118,0,108,0,126,0,112,0,0,0,103,0,118,0,114,0,126,0,115,0,0,0,103,0,119,0,97,0,126,0,103,0,0,0,103,0,119,0,105,0,126,0,106,0,0,0,103,0,119,0,109,0,126,0,110,0,0,0,103,0,119,0,116,0,126,0,117,0,0,0,103,0,119,0,119,0,126,0,120,0,0,0,103,0,121,0,100,0,126,0,103,0,0,0,103,0,121,0,108,0,126,0,111,0,0,0,103,0,121,0,121,0,126,0,122,0,0,0,104,0,97,0,97,0,126,0,115,0,0,0,104,0,97,0,118,0,126,0,122,0,0,0,104,0,98,0,97,0,126,0,98,0,0,0,104,0,98,0,110,0,126,0,111,0,0,0,104,0,101,0,103,0,126,0,105,0,0,0,104,0,105,0,97,0,126,0,98,0,0,0,104,0,105,0,102,0,126,0,108,0,0,0,104,0,105,0,119,0,126,0,120,0,0,0,104,0,108,0,97,0,126,0,98,0,0,0,104,0,108,0,100,0,126,0,101,0,0,0,104,0,108,0,116,0,126,0,117,0,0,0,104,0,109,0,97,0,126,0,110,0,0,0,104,0,109,0,112,0,126,0,122,0,0,0,104,0,110,0,100,0,126,0,101,0,0,0,104,0,110,0,103,0,126,0,106,0,0,0,104,0,110,0,110,0,126,0,111,0,0,0,104,0,111,0,97,0,126,0,101,0,0,0,104,0,111,0,104,0,126,0,109,0,0,0,104,0,111,0,111,0,126,0,112,0,0,0,104,0,111,0,114,0,126,0,116,0,0,0,104,0,111,0,118,0,126,0,119,0,0,0,104,0,111,0,121,0,126,0,122,0,0,0,104,0,114,0,111,0,126,0,112,0,0,0,104,0,114,0,116,0,126,0,117,0,0,0,104,0,114,0,119,0,126,0,120,0,0,0,104,0,117,0,98,0,126,0,109,0,0,0,104,0,117,0,111,0,126,0,122,0,0,0,104,0,121,0,119,0,126,0,120,0,0,0,105,0,98,0,97,0,126,0,98,0,0,0,105,0,98,0,100,0,126,0,101,0,0,0,105,0,98,0,103,0,126,0,104,0,0,0,105,0,98,0,108,0,126,0,110,0,0,0,105,0,100,0,97,0,126,0,101,0,0,0,105,0,100,0,114,0,126,0,117,0,0,0,105,0,102,0,97,0,126,0,98,0,0,0,105,0,102,0,101,0,126,0,102,0,0,0,105,0,103,0,108,0,126,0,111,0,0,0,105,0,106,0,110,0,126,0,111,0,0,0,105,0,107,0,107,0,126,0,108,0,0,0,105,0,107,0,111,0,126,0,112,0,0,0,105,0,107,0,114,0,126,0,116,0,0,0,105,0,107,0,118,0,126,0,120,0,0,0,105,0,108,0,97,0,126,0,98,0,0,0,105,0,108,0,111,0,126,0,112,0,0,0,105,0,108,0,117,0,126,0,118,0,0,0,105,0,109,0,110,0,126,0,111,0,0,0,105,0,109,0,114,0,126,0,116,0,0,0,105,0,110,0,98,0,126,0,99,0,0,0,105,0,110,0,103,0,126,0,104,0,0,0,105,0,110,0,108,0,126,0,112,0,0,0,105,0,110,0,115,0,126,0,116,0,0,0,105,0,114,0,104,0,126,0,105,0,0,0,105,0,114,0,110,0,126,0,111,0,0,0,105,0,114,0,120,0,126,0,121,0,0,0,105,0,115,0,49,0,126,0,56,0,0,0,105,0,115,0,98,0,102,0,106,0,0,0,105,0,115,0,99,0,126,0,101,0,0,0,105,0,115,0,102,0,108,0,100,0,0,0,105,0,115,0,103,0,126,0,105,0,0,0,105,0,115,0,109,0,126,0,111,0,0,0,105,0,115,0,115,0,107,0,102,0,0,0,105,0,115,0,116,0,126,0,117,0,0,0,105,0,116,0,98,0,126,0,101,0,0,0,105,0,116,0,107,0,126,0,109,0,0,0,105,0,116,0,114,0,126,0,116,0,0,0,105,0,116,0,118,0,126,0,122,0,0,0,106,0,97,0,97,0,126,0,102,0,0,0,106,0,97,0,106,0,126,0,111,0,0,0,106,0,97,0,115,0,126,0,117,0,0,0,106,0,97,0,117,0,101,0,114,0,0,0,106,0,97,0,120,0,126,0,122,0,0,0,106,0,98,0,105,0,126,0,107,0,0,0,106,0,98,0,109,0,126,0,111,0,0,0,106,0,98,0,116,0,126,0,117,0,0,0,106,0,99,0,115,0,126,0,116,0,0,0,106,0,101,0,104,0,126,0,105,0,0,0,106,0,101,0,107,0,126,0,108,0,0,0,106,0,101,0,116,0,126,0,117,0,0,0,106,0,105,0,97,0,126,0,101,0,0,0,106,0,105,0,103,0,126,0,105,0,0,0,106,0,105,0,108,0,126,0,109,0,0,0,106,0,105,0,116,0,126,0,118,0,0,0,106,0,107,0,111,0,126,0,112,0,0,0,106,0,107,0,114,0,126,0,115,0,0,0,106,0,109,0,97,0,126,0,100,0,0,0,106,0,109,0,114,0,126,0,115,0,0,0,106,0,109,0,119,0,126,0,120,0,0,0,106,0,110,0,105,0,126,0,106,0,0,0,106,0,111,0,114,0,126,0,115,0,0,0,106,0,114,0,97,0,126,0,98,0,0,0,106,0,114,0,116,0,126,0,117,0,0,0,106,0,117,0,97,0,126,0,100,0,0,0,106,0,117,0,104,0,126,0,105,0,0,0,106,0,117,0,107,0,126,0,112,0,0,0,106,0,117,0,114,0,126,0,117,0,0,0,107,0,97,0,97,0,126,0,107,0,0,0,107,0,97,0,111,0,126,0,114,0,0,0,107,0,97,0,118,0,126,0,121,0,0,0,107,0,98,0,97,0,126,0,101,0,0,0,107,0,98,0,103,0,126,0,122,0,0,0,107,0,99,0,97,0,126,0,122,0,0,0,107,0,100,0,99,0,126,0,114,0,0,0,107,0,100,0,116,0,126,0,117,0,0,0,107,0,100,0,119,0,126,0,122,0,0,0,107,0,101,0,97,0,126,0,122,0,0,0,107,0,102,0,97,0,126,0,122,0,0,0,107,0,103,0,97,0,126,0,98,0,0,0,107,0,103,0,98,0,126,0,99,0,0,0,107,0,103,0,99,0,126,0,100,0,0,0,107,0,103,0,101,0,126,0,103,0,0,0,107,0,103,0,105,0,126,0,121,0,0,0,107,0,103,0,110,0,126,0,111,0,0,0,107,0,104,0,51,0,126,0,57,0,0,0,107,0,104,0,97,0,126,0,106,0,0,0,107,0,104,0,110,0,126,0,122,0,0,0,107,0,105,0,97,0,126,0,106,0,0,0,107,0,105,0,108,0,126,0,109,0,0,0,107,0,105,0,111,0,126,0,113,0,0,0,107,0,105,0,115,0,126,0,122,0,0,0,107,0,106,0,97,0,126,0,101,0,0,0,107,0,106,0,103,0,126,0,118,0,0,0,107,0,106,0,120,0,126,0,122,0,0,0,107,0,107,0,97,0,126,0,122,0,0,0,107,0,107,0,99,0,111,0,114,0,0,0,107,0,108,0,97,0,126,0,122,0,0,0,107,0,109,0,97,0,126,0,113,0,0,0,107,0,109,0,115,0,126,0,122,0,0,0,107,0,110,0,97,0,126,0,98,0,0,0,107,0,110,0,100,0,126,0,102,0,0,0,107,0,110,0,105,0,126,0,109,0,0,0,107,0,110,0,111,0,126,0,122,0,0,0,107,0,111,0,99,0,126,0,105,0,0,0,107,0,111,0,107,0,126,0,108,0,0,0,107,0,111,0,111,0,126,0,113,0,0,0,107,0,111,0,115,0,126,0,119,0,0,0,107,0,111,0,121,0,126,0,122,0,0,0,107,0,112,0,97,0,126,0,111,0,0,0,107,0,112,0,113,0,126,0,117,0,0,0,107,0,112,0,119,0,126,0,122,0,0,0,107,0,113,0,97,0,126,0,122,0,0,0,107,0,114,0,97,0,126,0,102,0,0,0,107,0,114,0,104,0,126,0,108,0,0,0,107,0,114,0,110,0,126,0,112,0,0,0,107,0,114,0,114,0,126,0,122,0,0,0,107,0,115,0,97,0,126,0,122,0,0,0,107,0,115,0,99,0,111,0,114,0,0,0,107,0,116,0,97,0,126,0,113,0,0,0,107,0,116,0,115,0,126,0,122,0,0,0,107,0,117,0,98,0,126,0,113,0,0,0,107,0,117,0,115,0,126,0,122,0,0,0,107,0,118,0,97,0,126,0,114,0,0,0,107,0,118,0,116,0,126,0,122,0,0,0,107,0,119,0,97,0,126,0,112,0,0,0,107,0,119,0,114,0,126,0,122,0,0,0,107,0,120,0,97,0,126,0,100,0,0,0,107,0,120,0,104,0,126,0,107,0,0,0,107,0,120,0,109,0,126,0,116,0,0,0,107,0,120,0,118,0,126,0,122,0,0,0,107,0,121,0,97,0,126,0,122,0,0,0,107,0,122,0,97,0,126,0,103,0,0,0,107,0,122,0,98,0,97,0,121,0,0,0,107,0,122,0,107,0,126,0,115,0,0,0,107,0,122,0,117,0,126,0,122,0,0,0,108,0,97,0,97,0,126,0,106,0,0,0,108,0,97,0,108,0,126,0,110,0,0,0,108,0,97,0,112,0,126,0,115,0,0,0,108,0,97,0,119,0,126,0,122,0,0,0,108,0,98,0,98,0,126,0,99,0,0,0,108,0,98,0,101,0,126,0,103,0,0,0,108,0,98,0,105,0,126,0,106,0,0,0,108,0,98,0,108,0,126,0,111,0,0,0,108,0,98,0,113,0,126,0,122,0,0,0,108,0,99,0,99,0,126,0,102,0,0,0,108,0,99,0,108,0,126,0,109,0,0,0,108,0,99,0,112,0,126,0,113,0,0,0,108,0,100,0,97,0,126,0,98,0,0,0,108,0,100,0,103,0,126,0,113,0,0,0,108,0,101,0,97,0,126,0,102,0,0,0,108,0,101,0,104,0,126,0,122,0,0,0,108,0,103,0,97,0,126,0,98,0,0,0,108,0,103,0,103,0,126,0,105,0,0,0,108,0,103,0,107,0,126,0,111,0,0,0,108,0,103,0,113,0,126,0,114,0,0,0,108,0,103,0,116,0,126,0,117,0,0,0,108,0,104,0,104,0,126,0,105,0,0,0,108,0,104,0,108,0,126,0,110,0,0,0,108,0,104,0,115,0,126,0,117,0,0,0,108,0,105,0,97,0,126,0,104,0,0,0,108,0,105,0,106,0,126,0,108,0,0,0,108,0,105,0,111,0,126,0,115,0,0,0,108,0,105,0,112,0,97,0,119,0,0,0,108,0,105,0,117,0,126,0,122,0,0,0,108,0,106,0,119,0,126,0,120,0,0,0,108,0,107,0,97,0,126,0,101,0,0,0,108,0,107,0,104,0,126,0,106,0,0,0,108,0,107,0,108,0,126,0,111,0,0,0,108,0,107,0,114,0,126,0,117,0,0,0,108,0,108,0,97,0,126,0,110,0,0,0,108,0,108,0,112,0,126,0,113,0,0,0,108,0,109,0,97,0,126,0,108,0,0,0,108,0,109,0,110,0,126,0,114,0,0,0,108,0,109,0,117,0,126,0,121,0,0,0,108,0,110,0,97,0,126,0,98,0,0,0,108,0,110,0,103,0,126,0,106,0,0,0,108,0,110,0,108,0,126,0,110,0,0,0,108,0,111,0,97,0,126,0,99,0,0,0,108,0,111,0,101,0,126,0,122,0,0,0,108,0,112,0,110,0,126,0,111,0,0,0,108,0,114,0,107,0,126,0,111,0,0,0,108,0,115,0,97,0,126,0,101,0,0,0,108,0,115,0,97,0,126,0,104,0,0,0,108,0,115,0,104,0,126,0,105,0,0,0,108,0,115,0,106,0,126,0,107,0,0,0,108,0,115,0,108,0,126,0,112,0,0,0,108,0,115,0,114,0,126,0,116,0,0,0,108,0,115,0,118,0,126,0,119,0,0,0,108,0,116,0,103,0,126,0,105,0,0,0,108,0,116,0,110,0,126,0,111,0,0,0,108,0,117,0,99,0,126,0,102,0,0,0,108,0,117,0,105,0,126,0,119,0,0,0,108,0,117,0,121,0,126,0,122,0,0,0,108,0,118,0,48,0,48,0,49,0,0,0,108,0,118,0,48,0,49,0,48,0,0,0,108,0,118,0,48,0,52,0,49,0,0,0,108,0,118,0,48,0,52,0,50,0,0,0,108,0,118,0,48,0,53,0,53,0,0,0,108,0,118,0,48,0,53,0,56,0,0,0,108,0,118,0,48,0,53,0,57,0,0,0,108,0,118,0,48,0,54,0,55,0,0,0,108,0,118,0,48,0,54,0,57,0,0,0,108,0,118,0,48,0,56,0,55,0,0,0,108,0,118,0,48,0,56,0,56,0,0,0,108,0,118,0,48,0,56,0,57,0,0,0,108,0,118,0,48,0,57,0,56,0,0,0,108,0,118,0,49,0,48,0,48,0,0,0,108,0,118,0,49,0,48,0,49,0,0,0,108,0,118,0,49,0,48,0,50,0,0,0,108,0,118,0,49,0,49,0,48,0,0,0,108,0,118,0,49,0,49,0,49,0,0,0,108,0,118,0,49,0,49,0,51,0,0,0,108,0,118,0,106,0,107,0,98,0,0,0,108,0,118,0,118,0,109,0,114,0,0,0,108,0,119,0,103,0,126,0,104,0,0,0,108,0,119,0,108,0,126,0,109,0,0,0,108,0,119,0,115,0,126,0,117,0,0,0,109,0,97,0,97,0,126,0,98,0,0,0,109,0,97,0,98,0,101,0,114,0,0,0,109,0,97,0,98,0,101,0,115,0,0,0,109,0,97,0,100,0,126,0,103,0,0,0,109,0,97,0,103,0,117,0,101,0,0,0,109,0,97,0,103,0,117,0,102,0,0,0,109,0,97,0,105,0,126,0,107,0,0,0,109,0,97,0,107,0,104,0,110,0,0,0,109,0,97,0,107,0,104,0,111,0,0,0,109,0,97,0,109,0,109,0,100,0,0,0,109,0,97,0,109,0,109,0,110,0,0,0,109,0,97,0,109,0,126,0,110,0,0,0,109,0,97,0,112,0,126,0,113,0,0,0,109,0,97,0,115,0,105,0,108,0,0,0,109,0,97,0,115,0,121,0,98,0,0,0,109,0,97,0,115,0,126,0,120,0,0,0,109,0,98,0,97,0,126,0,102,0,0,0,109,0,98,0,104,0,126,0,122,0,0,0,109,0,99,0,97,0,126,0,122,0,0,0,109,0,100,0,97,0,126,0,110,0,0,0,109,0,100,0,112,0,126,0,122,0,0,0,109,0,101,0,97,0,126,0,102,0,0,0,109,0,101,0,104,0,126,0,119,0,0,0,109,0,101,0,121,0,126,0,122,0,0,0,109,0,102,0,97,0,126,0,122,0,0,0,109,0,103,0,97,0,126,0,119,0,0,0,109,0,103,0,116,0,126,0,117,0,0,0,109,0,103,0,121,0,126,0,122,0,0,0,109,0,104,0,97,0,108,0,107,0,0,0,109,0,104,0,97,0,108,0,108,0,0,0,109,0,104,0,97,0,126,0,103,0,0,0,109,0,104,0,105,0,126,0,113,0,0,0,109,0,104,0,115,0,126,0,117,0,0,0,109,0,104,0,119,0,126,0,122,0,0,0,109,0,105,0,97,0,126,0,114,0,0,0,109,0,105,0,116,0,126,0,117,0,0,0,109,0,105,0,119,0,126,0,122,0,0,0,109,0,106,0,98,0,126,0,101,0,0,0,109,0,106,0,103,0,126,0,122,0,0,0,109,0,107,0,49,0,48,0,49,0,0,0,109,0,107,0,49,0,48,0,50,0,0,0,109,0,107,0,49,0,48,0,51,0,0,0,109,0,107,0,49,0,48,0,53,0,0,0,109,0,107,0,49,0,48,0,54,0,0,0,109,0,107,0,49,0,48,0,55,0,0,0,109,0,107,0,49,0,48,0,57,0,0,0,109,0,107,0,50,0,48,0,49,0,0,0,109,0,107,0,50,0,48,0,50,0,0,0,109,0,107,0,50,0,48,0,51,0,0,0,109,0,107,0,50,0,48,0,52,0,0,0,109,0,107,0,50,0,48,0,53,0,0,0,109,0,107,0,50,0,48,0,54,0,0,0,109,0,107,0,50,0,48,0,55,0,0,0,109,0,107,0,50,0,48,0,56,0,0,0,109,0,107,0,50,0,48,0,57,0,0,0,109,0,107,0,50,0,49,0,48,0,0,0,109,0,107,0,50,0,49,0,49,0,0,0,109,0,107,0,51,0,48,0,51,0,0,0,109,0,107,0,51,0,48,0,55,0,0,0,109,0,107,0,51,0,49,0,48,0,0,0,109,0,107,0,51,0,49,0,49,0,0,0,109,0,107,0,51,0,49,0,50,0,0,0,109,0,107,0,51,0,49,0,51,0,0,0,109,0,107,0,52,0,48,0,49,0,0,0,109,0,107,0,52,0,48,0,50,0,0,0,109,0,107,0,52,0,48,0,51,0,0,0,109,0,107,0,52,0,48,0,53,0,0,0,109,0,107,0,52,0,48,0,54,0,0,0,109,0,107,0,52,0,48,0,55,0,0,0,109,0,107,0,52,0,48,0,57,0,0,0,109,0,107,0,53,0,48,0,49,0,0,0,109,0,107,0,53,0,48,0,50,0,0,0,109,0,107,0,53,0,48,0,51,0,0,0,109,0,107,0,53,0,48,0,53,0,0,0,109,0,107,0,53,0,48,0,54,0,0,0,109,0,107,0,53,0,48,0,55,0,0,0,109,0,107,0,53,0,48,0,57,0,0,0,109,0,107,0,54,0,48,0,49,0,0,0,109,0,107,0,54,0,48,0,50,0,0,0,109,0,107,0,54,0,48,0,51,0,0,0,109,0,107,0,54,0,48,0,53,0,0,0,109,0,107,0,54,0,48,0,54,0,0,0,109,0,107,0,54,0,48,0,55,0,0,0,109,0,107,0,54,0,48,0,57,0,0,0,109,0,107,0,55,0,48,0,49,0,0,0,109,0,107,0,56,0,48,0,49,0,0,0,109,0,107,0,56,0,48,0,50,0,0,0,109,0,107,0,56,0,48,0,51,0,0,0,109,0,107,0,56,0,48,0,52,0,0,0,109,0,107,0,56,0,48,0,53,0,0,0,109,0,107,0,56,0,48,0,54,0,0,0,109,0,107,0,56,0,48,0,56,0,0,0,109,0,107,0,56,0,48,0,57,0,0,0,109,0,107,0,56,0,49,0,49,0,0,0,109,0,107,0,56,0,49,0,50,0,0,0,109,0,107,0,56,0,49,0,51,0,0,0,109,0,107,0,56,0,49,0,52,0,0,0,109,0,107,0,56,0,49,0,53,0,0,0,109,0,107,0,56,0,49,0,54,0,0,0,109,0,107,0,56,0,49,0,55,0,0,0,109,0,107,0,97,0,126,0,99,0,0,0,109,0,107,0,101,0,126,0,122,0,0,0,109,0,108,0,50,0,126,0,57,0,0,0,109,0,108,0,97,0,126,0,99,0,0,0,109,0,108,0,101,0,126,0,102,0,0,0,109,0,108,0,104,0,126,0,115,0,0,0,109,0,108,0,117,0,126,0,120,0,0,0,109,0,109,0,97,0,126,0,114,0,0,0,109,0,109,0,116,0,126,0,122,0,0,0,109,0,110,0,48,0,52,0,54,0,0,0,109,0,110,0,48,0,52,0,55,0,0,0,109,0,110,0,48,0,54,0,51,0,0,0,109,0,110,0,48,0,54,0,53,0,0,0,109,0,110,0,97,0,126,0,106,0,0,0,109,0,110,0,108,0,126,0,115,0,0,0,109,0,110,0,117,0,126,0,122,0,0,0,109,0,111,0,99,0,126,0,101,0,0,0,109,0,111,0,103,0,126,0,107,0,0,0,109,0,111,0,111,0,126,0,122,0,0,0,109,0,112,0,97,0,126,0,101,0,0,0,109,0,112,0,103,0,126,0,122,0,0,0,109,0,113,0,97,0,126,0,99,0,0,0,109,0,113,0,101,0,126,0,122,0,0,0,109,0,114,0,97,0,126,0,104,0,0,0,109,0,114,0,106,0,126,0,122,0,0,0,109,0,114,0,110,0,107,0,99,0,0,0,109,0,115,0,98,0,126,0,115,0,0,0,109,0,115,0,117,0,126,0,122,0,0,0,109,0,116,0,97,0,126,0,121,0,0,0,109,0,117,0,97,0,126,0,101,0,0,0,109,0,117,0,103,0,126,0,107,0,0,0,109,0,117,0,109,0,126,0,111,0,0,0,109,0,117,0,113,0,126,0,118,0,0,0,109,0,117,0,120,0,126,0,122,0,0,0,109,0,118,0,97,0,126,0,98,0,0,0,109,0,118,0,100,0,126,0,105,0,0,0,109,0,118,0,107,0,126,0,108,0,0,0,109,0,118,0,110,0,126,0,122,0,0,0,109,0,119,0,97,0,126,0,99,0,0,0,109,0,119,0,101,0,126,0,105,0,0,0,109,0,119,0,107,0,126,0,119,0,0,0,109,0,119,0,120,0,126,0,121,0,0,0,109,0,120,0,97,0,126,0,122,0,0,0,109,0,120,0,100,0,105,0,102,0,0,0,109,0,121,0,98,0,126,0,99,0,0,0,109,0,121,0,101,0,126,0,104,0,0,0,109,0,121,0,106,0,126,0,112,0,0,0,109,0,121,0,114,0,126,0,115,0,0,0,109,0,121,0,117,0,126,0,122,0,0,0,109,0,122,0,97,0,126,0,98,0,0,0,109,0,122,0,97,0,126,0,101,0,0,0,109,0,122,0,103,0,126,0,122,0,0,0,109,0,122,0,112,0,126,0,113,0,0,0,109,0,122,0,115,0,126,0,116,0,0,0,110,0,97,0,97,0,126,0,99,0,0,0,110,0,97,0,101,0,126,0,116,0,0,0,110,0,97,0,119,0,126,0,122,0,0,0,110,0,98,0,97,0,126,0,101,0,0,0,110,0,98,0,103,0,126,0,107,0,0,0,110,0,98,0,109,0,126,0,119,0,0,0,110,0,99,0,97,0,126,0,111,0,0,0,110,0,99,0,113,0,126,0,117,0,0,0,110,0,100,0,97,0,126,0,100,0,0,0,110,0,100,0,102,0,126,0,110,0,0,0,110,0,100,0,112,0,126,0,122,0,0,0,110,0,101,0,49,0,126,0,56,0,0,0,110,0,101,0,97,0,126,0,107,0,0,0,110,0,101,0,100,0,105,0,115,0,0,0,110,0,101,0,109,0,126,0,111,0,0,0,110,0,101,0,113,0,126,0,122,0,0,0,110,0,103,0,97,0,126,0,110,0,0,0,110,0,103,0,112,0,126,0,122,0,0,0,110,0,104,0,97,0,126,0,105,0,0,0,110,0,104,0,109,0,126,0,114,0,0,0,110,0,104,0,116,0,126,0,122,0,0,0,110,0,105,0,97,0,126,0,111,0,0,0,110,0,105,0,113,0,126,0,122,0,0,0,110,0,106,0,97,0,126,0,98,0,0,0,110,0,106,0,104,0,126,0,106,0,0,0,110,0,106,0,105,0,118,0,97,0,0,0,110,0,106,0,108,0,126,0,111,0,0,0,110,0,106,0,114,0,126,0,117,0,0,0,110,0,106,0,120,0,126,0,122,0,0,0,110,0,107,0,97,0,126,0,107,0,0,0,110,0,107,0,109,0,126,0,120,0,0,0,110,0,108,0,98,0,113,0,49,0,0,0,110,0,108,0,98,0,113,0,50,0,0,0,110,0,108,0,98,0,113,0,51,0,0,0,110,0,108,0,105,0,126,0,109,0,0,0,110,0,108,0,117,0,126,0,122,0,0,0,110,0,109,0,97,0,126,0,122,0,0,0,110,0,110,0,97,0,126,0,110,0,0,0,110,0,110,0,112,0,126,0,114,0,0,0,110,0,110,0,116,0,126,0,119,0,0,0,110,0,110,0,121,0,126,0,122,0,0,0,110,0,111,0,99,0,126,0,110,0,0,0,110,0,111,0,112,0,126,0,113,0,0,0,110,0,111,0,115,0,126,0,119,0,0,0,110,0,111,0,121,0,126,0,122,0,0,0,110,0,112,0,49,0,126,0,53,0,0,0,110,0,112,0,97,0,126,0,98,0,0,0,110,0,112,0,103,0,126,0,104,0,0,0,110,0,112,0,110,0,126,0,111,0,0,0,110,0,112,0,120,0,126,0,121,0,0,0,110,0,113,0,107,0,126,0,111,0,0,0,110,0,114,0,97,0,126,0,99,0,0,0,110,0,114,0,101,0,126,0,103,0,0,0,110,0,114,0,107,0,126,0,110,0,0,0,110,0,114,0,116,0,126,0,117,0,0,0,110,0,115,0,97,0,126,0,105,0,0,0,110,0,115,0,107,0,126,0,122,0,0,0,110,0,116,0,100,0,126,0,101,0,0,0,110,0,116,0,105,0,126,0,107,0,0,0,110,0,116,0,111,0,126,0,112,0,0,0,110,0,116,0,119,0,126,0,122,0,0,0,110,0,117,0,97,0,126,0,122,0,0,0,110,0,117,0,108,0,105,0,107,0,0,0,110,0,119,0,97,0,126,0,99,0,0,0,110,0,119,0,119,0,126,0,121,0,0,0,110,0,120,0,100,0,126,0,101,0,0,0,110,0,120,0,107,0,126,0,111,0,0,0,110,0,120,0,113,0,126,0,114,0,0,0,110,0,121,0,98,0,126,0,121,0,0,0,110,0,122,0,97,0,126,0,98,0,0,0,110,0,122,0,121,0,126,0,122,0,0,0,111,0,98,0,107,0,126,0,109,0,0,0,111,0,98,0,116,0,126,0,117,0,0,0,111,0,100,0,116,0,126,0,117,0,0,0,111,0,103,0,98,0,126,0,99,0,0,0,111,0,104,0,116,0,126,0,117,0,0,0,111,0,106,0,98,0,126,0,99,0,0,0,111,0,106,0,118,0,126,0,119,0,0,0,111,0,107,0,97,0,126,0,101,0,0,0,111,0,107,0,103,0,126,0,111,0,0,0,111,0,107,0,114,0,126,0,115,0,0,0,111,0,107,0,117,0,126,0,118,0,0,0,111,0,108,0,100,0,126,0,101,0,0,0,111,0,108,0,116,0,126,0,117,0,0,0,111,0,109,0,97,0,126,0,99,0,0,0,111,0,109,0,107,0,126,0,108,0,0,0,111,0,109,0,110,0,126,0,114,0,0,0,111,0,109,0,116,0,126,0,121,0,0,0,111,0,110,0,97,0,126,0,98,0,0,0,111,0,110,0,105,0,126,0,107,0,0,0,111,0,110,0,110,0,126,0,112,0,0,0,111,0,110,0,114,0,126,0,117,0,0,0,111,0,110,0,119,0,126,0,120,0,0,0,111,0,111,0,114,0,126,0,115,0,0,0,111,0,114,0,103,0,126,0,104,0,0,0,111,0,114,0,110,0,126,0,111,0,0,0,111,0,114,0,114,0,126,0,120,0,0,0,111,0,115,0,110,0,126,0,112,0,0,0,111,0,115,0,116,0,126,0,117,0,0,0,111,0,116,0,97,0,126,0,98,0,0,0,111,0,116,0,100,0,126,0,101,0,0,0,111,0,116,0,107,0,126,0,111,0,0,0,111,0,116,0,113,0,126,0,117,0,0,0,111,0,116,0,119,0,126,0,122,0,0,0,111,0,117,0,97,0,126,0,98,0,0,0,112,0,97,0,50,0,126,0,57,0,0,0,112,0,97,0,97,0,126,0,105,0,0,0,112,0,97,0,107,0,126,0,109,0,0,0,112,0,97,0,111,0,126,0,115,0,0,0,112,0,97,0,117,0,126,0,122,0,0,0,112,0,98,0,98,0,126,0,99,0,0,0,112,0,98,0,101,0,126,0,105,0,0,0,112,0,98,0,108,0,126,0,112,0,0,0,112,0,98,0,114,0,126,0,116,0,0,0,112,0,99,0,97,0,126,0,110,0,0,0,112,0,100,0,110,0,126,0,111,0,0,0,112,0,100,0,116,0,126,0,117,0,0,0,112,0,101,0,97,0,110,0,111,0,0,0,112,0,101,0,97,0,126,0,98,0,0,0,112,0,101,0,100,0,126,0,109,0,0,0,112,0,101,0,108,0,97,0,108,0,0,0,112,0,101,0,108,0,97,0,109,0,0,0,112,0,101,0,111,0,126,0,113,0,0,0,112,0,101,0,120,0,126,0,122,0,0,0,112,0,103,0,107,0,126,0,108,0,0,0,112,0,103,0,109,0,112,0,108,0,0,0,112,0,103,0,109,0,112,0,109,0,0,0,112,0,104,0,98,0,117,0,107,0,0,0,112,0,104,0,98,0,117,0,108,0,0,0,112,0,104,0,99,0,97,0,109,0,0,0,112,0,104,0,99,0,97,0,110,0,0,0,112,0,104,0,99,0,97,0,115,0,0,0,112,0,104,0,99,0,97,0,116,0,0,0,112,0,104,0,103,0,126,0,111,0,0,0,112,0,104,0,112,0,97,0,109,0,0,0,112,0,104,0,112,0,97,0,110,0,0,0,112,0,104,0,113,0,126,0,114,0,0,0,112,0,104,0,116,0,126,0,119,0,0,0,112,0,105,0,97,0,126,0,104,0,0,0,112,0,105,0,108,0,126,0,112,0,0,0,112,0,105,0,114,0,126,0,122,0,0,0,112,0,107,0,97,0,126,0,99,0,0,0,112,0,107,0,103,0,126,0,104,0,0,0,112,0,107,0,110,0,126,0,112,0,0,0,112,0,107,0,114,0,126,0,117,0,0,0,112,0,108,0,97,0,126,0,104,0,0,0,112,0,108,0,106,0,126,0,108,0,0,0,112,0,108,0,110,0,126,0,111,0,0,0,112,0,108,0,113,0,126,0,115,0,0,0,112,0,108,0,117,0,126,0,119,0,0,0,112,0,108,0,121,0,126,0,122,0,0,0,112,0,109,0,97,0,126,0,98,0,0,0,112,0,109,0,100,0,126,0,102,0,0,0,112,0,109,0,104,0,126,0,111,0,0,0,112,0,109,0,113,0,126,0,116,0,0,0,112,0,109,0,119,0,126,0,122,0,0,0,112,0,110,0,99,0,126,0,101,0,0,0,112,0,110,0,103,0,126,0,122,0,0,0,112,0,111,0,101,0,126,0,105,0,0,0,112,0,111,0,109,0,126,0,113,0,0,0,112,0,111,0,115,0,126,0,116,0,0,0,112,0,111,0,118,0,126,0,122,0,0,0,112,0,112,0,107,0,126,0,113,0,0,0,112,0,112,0,115,0,126,0,117,0,0,0,112,0,114,0,99,0,126,0,105,0,0,0,112,0,114,0,107,0,126,0,114,0,0,0,112,0,114,0,116,0,126,0,117,0,0,0,112,0,114,0,119,0,126,0,120,0,0,0,112,0,115,0,99,0,126,0,101,0,0,0,112,0,115,0,103,0,126,0,105,0,0,0,112,0,115,0,106,0,101,0,109,0,0,0,112,0,115,0,108,0,126,0,117,0,0,0,112,0,116,0,104,0,126,0,105,0,0,0,112,0,116,0,110,0,126,0,114,0,0,0,112,0,116,0,116,0,126,0,119,0,0,0,112,0,117,0,97,0,126,0,103,0,0,0,112,0,117,0,105,0,126,0,106,0,0,0,112,0,117,0,111,0,126,0,114,0,0,0,112,0,117,0,116,0,101,0,114,0,0,0,112,0,117,0,116,0,126,0,117,0,0,0,112,0,117,0,119,0,126,0,121,0,0,0,112,0,119,0,50,0,50,0,55,0,0,0,112,0,119,0,50,0,50,0,56,0,0,0,112,0,119,0,97,0,126,0,98,0,0,0,112,0,119,0,109,0,126,0,111,0,0,0,112,0,121,0,50,0,126,0,57,0,0,0,112,0,121,0,109,0,126,0,110,0,0,0,112,0,121,0,120,0,126,0,121,0,0,0,113,0,97,0,97,0,126,0,122,0,0,0,113,0,98,0,97,0,126,0,122,0,0,0,113,0,99,0,97,0,126,0,122,0,0,0,113,0,100,0,97,0,126,0,122,0,0,0,113,0,101,0,97,0,126,0,122,0,0,0,113,0,102,0,97,0,126,0,121,0,0,0,113,0,103,0,97,0,126,0,122,0,0,0,113,0,104,0,97,0,126,0,122,0,0,0,113,0,105,0,97,0,126,0,122,0,0,0,113,0,106,0,97,0,126,0,122,0,0,0,113,0,107,0,97,0,126,0,122,0,0,0,113,0,108,0,97,0,126,0,122,0,0,0,113,0,109,0,97,0,126,0,122,0,0,0,113,0,110,0,97,0,126,0,122,0,0,0,113,0,111,0,97,0,126,0,122,0,0,0,113,0,112,0,97,0,126,0,122,0,0,0,113,0,113,0,97,0,126,0,122,0,0,0,113,0,114,0,97,0,126,0,122,0,0,0,113,0,115,0,97,0,126,0,122,0,0,0,113,0,116,0,97,0,126,0,122,0,0,0,113,0,117,0,97,0,126,0,100,0,0,0,113,0,117,0,102,0,126,0,105,0,0,0,113,0,117,0,107,0,126,0,110,0,0,0,113,0,117,0,112,0,126,0,115,0,0,0,113,0,117,0,118,0,126,0,121,0,0,0,113,0,118,0,104,0,126,0,106,0,0,0,113,0,118,0,108,0,126,0,112,0,0,0,113,0,118,0,121,0,126,0,122,0,0,0,113,0,119,0,115,0,126,0,116,0,0,0,113,0,120,0,110,0,126,0,117,0,0,0,114,0,97,0,97,0,126,0,100,0,0,0,114,0,97,0,102,0,126,0,122,0,0,0,114,0,98,0,107,0,126,0,108,0,0,0,114,0,101,0,97,0,126,0,98,0,0,0,114,0,101,0,105,0,126,0,106,0,0,0,114,0,101,0,108,0,126,0,110,0,0,0,114,0,101,0,114,0,126,0,116,0,0,0,114,0,103,0,114,0,126,0,115,0,0,0,114,0,105,0,97,0,126,0,98,0,0,0,114,0,105,0,103,0,105,0,107,0,0,0,114,0,105,0,108,0,126,0,110,0,0,0,114,0,105,0,116,0,126,0,117,0,0,0,114,0,107,0,97,0,126,0,98,0,0,0,114,0,107,0,104,0,126,0,105,0,0,0,114,0,109,0,97,0,126,0,105,0,0,0,114,0,109,0,107,0,126,0,113,0,0,0,114,0,109,0,115,0,126,0,120,0,0,0,114,0,111,0,97,0,126,0,103,0,0,0,114,0,111,0,108,0,126,0,109,0,0,0,114,0,111,0,111,0,126,0,112,0,0,0,114,0,111,0,122,0,97,0,106,0,0,0,114,0,115,0,107,0,126,0,110,0,0,0,114,0,117,0,98,0,126,0,99,0,0,0,114,0,117,0,101,0,126,0,105,0,0,0,114,0,117,0,109,0,103,0,114,0,0,0,114,0,117,0,111,0,126,0,113,0,0,0,114,0,117,0,116,0,126,0,117,0,0,0,114,0,117,0,121,0,126,0,122,0,0,0,114,0,119,0,107,0,126,0,109,0,0,0,115,0,97,0,97,0,126,0,102,0,0,0,115,0,97,0,104,0,126,0,109,0,0,0,115,0,97,0,113,0,126,0,122,0,0,0,115,0,98,0,97,0,126,0,122,0,0,0,115,0,99,0,101,0,126,0,105,0,0,0,115,0,99,0,107,0,126,0,108,0,0,0,115,0,99,0,110,0,126,0,113,0,0,0,115,0,99,0,115,0,126,0,120,0,0,0,115,0,100,0,97,0,126,0,99,0,0,0,115,0,100,0,101,0,126,0,104,0,0,0,115,0,100,0,106,0,126,0,108,0,0,0,115,0,100,0,110,0,126,0,118,0,0,0,115,0,101,0,97,0,126,0,119,0,0,0,115,0,101,0,99,0,126,0,105,0,0,0,115,0,101,0,109,0,126,0,111,0,0,0,115,0,101,0,115,0,126,0,117,0,0,0,115,0,101,0,119,0,126,0,122,0,0,0,115,0,101,0,121,0,126,0,122,0,0,0,115,0,103,0,97,0,126,0,101,0,0,0,115,0,103,0,103,0,126,0,107,0,0,0,115,0,103,0,109,0,126,0,110,0,0,0,115,0,103,0,114,0,126,0,117,0,0,0,115,0,103,0,119,0,126,0,122,0,0,0,115,0,104,0,97,0,126,0,101,0,0,0,115,0,104,0,103,0,126,0,122,0,0,0,115,0,105,0,48,0,48,0,49,0,0,0,115,0,105,0,48,0,48,0,50,0,0,0,115,0,105,0,48,0,48,0,52,0,0,0,115,0,105,0,48,0,48,0,54,0,0,0,115,0,105,0,48,0,48,0,55,0,0,0,115,0,105,0,48,0,49,0,48,0,0,0,115,0,105,0,48,0,49,0,49,0,0,0,115,0,105,0,48,0,49,0,53,0,0,0,115,0,105,0,48,0,49,0,54,0,0,0,115,0,105,0,48,0,50,0,50,0,0,0,115,0,105,0,48,0,50,0,51,0,0,0,115,0,105,0,48,0,50,0,53,0,0,0,115,0,105,0,48,0,50,0,54,0,0,0,115,0,105,0,48,0,50,0,55,0,0,0,115,0,105,0,48,0,51,0,51,0,0,0,115,0,105,0,48,0,51,0,53,0,0,0,115,0,105,0,48,0,51,0,55,0,0,0,115,0,105,0,48,0,51,0,56,0,0,0,115,0,105,0,48,0,51,0,57,0,0,0,115,0,105,0,48,0,52,0,48,0,0,0,115,0,105,0,48,0,52,0,49,0,0,0,115,0,105,0,48,0,52,0,50,0,0,0,115,0,105,0,48,0,52,0,51,0,0,0,115,0,105,0,48,0,52,0,53,0,0,0,115,0,105,0,48,0,52,0,54,0,0,0,115,0,105,0,48,0,52,0,55,0,0,0,115,0,105,0,48,0,52,0,57,0,0,0,115,0,105,0,48,0,53,0,48,0,0,0,115,0,105,0,48,0,53,0,49,0,0,0,115,0,105,0,48,0,53,0,50,0,0,0,115,0,105,0,48,0,53,0,51,0,0,0,115,0,105,0,48,0,53,0,52,0,0,0,115,0,105,0,48,0,53,0,53,0,0,0,115,0,105,0,48,0,53,0,54,0,0,0,115,0,105,0,48,0,53,0,55,0,0,0,115,0,105,0,48,0,53,0,56,0,0,0,115,0,105,0,48,0,53,0,57,0,0,0,115,0,105,0,48,0,54,0,49,0,0,0,115,0,105,0,48,0,54,0,50,0,0,0,115,0,105,0,48,0,54,0,51,0,0,0,115,0,105,0,48,0,54,0,52,0,0,0,115,0,105,0,48,0,54,0,53,0,0,0,115,0,105,0,48,0,54,0,54,0,0,0,115,0,105,0,48,0,54,0,55,0,0,0,115,0,105,0,48,0,54,0,56,0,0,0,115,0,105,0,48,0,54,0,57,0,0,0,115,0,105,0,48,0,55,0,49,0,0,0,115,0,105,0,48,0,55,0,51,0,0,0,115,0,105,0,48,0,55,0,53,0,0,0,115,0,105,0,48,0,55,0,55,0,0,0,115,0,105,0,48,0,55,0,56,0,0,0,115,0,105,0,48,0,55,0,57,0,0,0,115,0,105,0,48,0,56,0,48,0,0,0,115,0,105,0,48,0,56,0,49,0,0,0,115,0,105,0,48,0,56,0,50,0,0,0,115,0,105,0,48,0,56,0,51,0,0,0,115,0,105,0,48,0,56,0,53,0,0,0,115,0,105,0,48,0,56,0,55,0,0,0,115,0,105,0,48,0,56,0,56,0,0,0,115,0,105,0,48,0,56,0,57,0,0,0,115,0,105,0,48,0,57,0,48,0,0,0,115,0,105,0,48,0,57,0,49,0,0,0,115,0,105,0,48,0,57,0,51,0,0,0,115,0,105,0,48,0,57,0,52,0,0,0,115,0,105,0,48,0,57,0,53,0,0,0,115,0,105,0,48,0,57,0,55,0,0,0,115,0,105,0,48,0,57,0,56,0,0,0,115,0,105,0,48,0,57,0,57,0,0,0,115,0,105,0,49,0,48,0,48,0,0,0,115,0,105,0,49,0,48,0,49,0,0,0,115,0,105,0,49,0,48,0,50,0,0,0,115,0,105,0,49,0,48,0,51,0,0,0,115,0,105,0,49,0,48,0,52,0,0,0,115,0,105,0,49,0,48,0,53,0,0,0,115,0,105,0,49,0,48,0,54,0,0,0,115,0,105,0,49,0,48,0,55,0,0,0,115,0,105,0,49,0,48,0,56,0,0,0,115,0,105,0,49,0,48,0,57,0,0,0,115,0,105,0,49,0,49,0,48,0,0,0,115,0,105,0,49,0,49,0,49,0,0,0,115,0,105,0,49,0,49,0,50,0,0,0,115,0,105,0,49,0,49,0,51,0,0,0,115,0,105,0,49,0,49,0,52,0,0,0,115,0,105,0,49,0,49,0,53,0,0,0,115,0,105,0,49,0,49,0,55,0,0,0,115,0,105,0,49,0,49,0,56,0,0,0,115,0,105,0,49,0,49,0,57,0,0,0,115,0,105,0,49,0,50,0,49,0,0,0,115,0,105,0,49,0,50,0,50,0,0,0,115,0,105,0,49,0,50,0,51,0,0,0,115,0,105,0,49,0,50,0,53,0,0,0,115,0,105,0,49,0,50,0,54,0,0,0,115,0,105,0,49,0,50,0,55,0,0,0,115,0,105,0,49,0,50,0,56,0,0,0,115,0,105,0,49,0,50,0,57,0,0,0,115,0,105,0,49,0,51,0,48,0,0,0,115,0,105,0,49,0,51,0,49,0,0,0,115,0,105,0,49,0,51,0,51,0,0,0,115,0,105,0,49,0,51,0,52,0,0,0,115,0,105,0,49,0,51,0,53,0,0,0,115,0,105,0,49,0,51,0,55,0,0,0,115,0,105,0,49,0,51,0,56,0,0,0,115,0,105,0,49,0,51,0,57,0,0,0,115,0,105,0,49,0,52,0,49,0,0,0,115,0,105,0,49,0,52,0,54,0,0,0,115,0,105,0,49,0,52,0,55,0,0,0,115,0,105,0,49,0,52,0,57,0,0,0,115,0,105,0,49,0,53,0,48,0,0,0,115,0,105,0,49,0,53,0,51,0,0,0,115,0,105,0,49,0,53,0,55,0,0,0,115,0,105,0,49,0,53,0,57,0,0,0,115,0,105,0,49,0,54,0,48,0,0,0,115,0,105,0,49,0,54,0,49,0,0,0,115,0,105,0,49,0,54,0,51,0,0,0,115,0,105,0,49,0,54,0,52,0,0,0,115,0,105,0,49,0,54,0,53,0,0,0,115,0,105,0,49,0,54,0,55,0,0,0,115,0,105,0,49,0,54,0,56,0,0,0,115,0,105,0,49,0,54,0,57,0,0,0,115,0,105,0,49,0,55,0,49,0,0,0,115,0,105,0,49,0,55,0,50,0,0,0,115,0,105,0,49,0,55,0,51,0,0,0,115,0,105,0,49,0,55,0,54,0,0,0,115,0,105,0,49,0,55,0,55,0,0,0,115,0,105,0,49,0,55,0,57,0,0,0,115,0,105,0,49,0,56,0,49,0,0,0,115,0,105,0,49,0,56,0,50,0,0,0,115,0,105,0,49,0,56,0,51,0,0,0,115,0,105,0,49,0,56,0,53,0,0,0,115,0,105,0,49,0,56,0,54,0,0,0,115,0,105,0,49,0,56,0,55,0,0,0,115,0,105,0,49,0,56,0,57,0,0,0,115,0,105,0,49,0,57,0,48,0,0,0,115,0,105,0,49,0,57,0,51,0,0,0,115,0,105,0,49,0,57,0,52,0,0,0,115,0,105,0,49,0,57,0,53,0,0,0,115,0,105,0,49,0,57,0,55,0,0,0,115,0,105,0,49,0,57,0,56,0,0,0,115,0,105,0,49,0,57,0,57,0,0,0,115,0,105,0,50,0,48,0,48,0,0,0,115,0,105,0,50,0,48,0,49,0,0,0,115,0,105,0,50,0,48,0,50,0,0,0,115,0,105,0,50,0,48,0,51,0,0,0,115,0,105,0,50,0,48,0,52,0,0,0,115,0,105,0,50,0,48,0,53,0,0,0,115,0,105,0,50,0,48,0,54,0,0,0,115,0,105,0,50,0,48,0,55,0,0,0,115,0,105,0,50,0,48,0,56,0,0,0,115,0,105,0,50,0,48,0,57,0,0,0,115,0,105,0,50,0,49,0,48,0,0,0,115,0,105,0,50,0,49,0,49,0,0,0,115,0,105,0,50,0,49,0,50,0,0,0,115,0,105,0,50,0,49,0,51,0,0,0,115,0,105,0,97,0,126,0,98,0,0,0,115,0,105,0,100,0,126,0,109,0,0,0,115,0,105,0,111,0,126,0,122,0,0,0,115,0,106,0,97,0,126,0,98,0,0,0,115,0,106,0,100,0,126,0,101,0,0,0,115,0,106,0,107,0,126,0,112,0,0,0,115,0,106,0,114,0,126,0,117,0,0,0,115,0,107,0,97,0,126,0,106,0,0,0,115,0,107,0,109,0,126,0,122,0,0,0,115,0,108,0,99,0,126,0,106,0,0,0,115,0,108,0,108,0,126,0,110,0,0,0,115,0,108,0,112,0,126,0,117,0,0,0,115,0,108,0,119,0,126,0,122,0,0,0,115,0,109,0,97,0,126,0,99,0,0,0,115,0,109,0,102,0,126,0,110,0,0,0,115,0,109,0,112,0,126,0,122,0,0,0,115,0,110,0,101,0,126,0,103,0,0,0,115,0,110,0,105,0,126,0,115,0,0,0,115,0,110,0,117,0,126,0,122,0,0,0,115,0,111,0,97,0,126,0,101,0,0,0,115,0,111,0,103,0,126,0,108,0,0,0,115,0,111,0,108,0,98,0,97,0,0,0,115,0,111,0,110,0,126,0,115,0,0,0,115,0,111,0,117,0,126,0,122,0,0,0,115,0,112,0,98,0,126,0,101,0,0,0,115,0,112,0,107,0,126,0,118,0,0,0,115,0,113,0,106,0,126,0,107,0,0,0,115,0,113,0,109,0,126,0,111,0,0,0,115,0,113,0,113,0,126,0,117,0,0,0,115,0,114,0,97,0,126,0,98,0,0,0,115,0,114,0,101,0,126,0,105,0,0,0,115,0,114,0,107,0,126,0,111,0,0,0,115,0,114,0,113,0,126,0,122,0,0,0,115,0,115,0,97,0,126,0,118,0,0,0,115,0,115,0,120,0,126,0,122,0,0,0,115,0,116,0,97,0,126,0,98,0,0,0,115,0,116,0,100,0,126,0,119,0,0,0,115,0,117,0,97,0,126,0,99,0,0,0,115,0,117,0,105,0,126,0,107,0,0,0,115,0,117,0,108,0,126,0,109,0,0,0,115,0,117,0,113,0,126,0,116,0,0,0,115,0,117,0,118,0,126,0,122,0,0,0,115,0,118,0,97,0,126,0,99,0,0,0,115,0,119,0,102,0,126,0,103,0,0,0,115,0,119,0,105,0,126,0,121,0,0,0,115,0,120,0,98,0,126,0,99,0,0,0,115,0,120,0,107,0,126,0,111,0,0,0,115,0,120,0,114,0,126,0,115,0,0,0,115,0,121,0,97,0,126,0,100,0,0,0,115,0,121,0,107,0,126,0,111,0,0,0,115,0,121,0,114,0,126,0,115,0,0,0,115,0,121,0,119,0,126,0,121,0,0,0,115,0,122,0,97,0,126,0,101,0,0,0,115,0,122,0,118,0,126,0,119,0,0,0,116,0,97,0,97,0,126,0,103,0,0,0,116,0,97,0,105,0,126,0,108,0,0,0,116,0,97,0,110,0,126,0,115,0,0,0,116,0,97,0,117,0,126,0,122,0,0,0,116,0,98,0,99,0,126,0,122,0,0,0,116,0,99,0,97,0,126,0,105,0,0,0,116,0,99,0,107,0,126,0,113,0,0,0,116,0,99,0,115,0,126,0,117,0,0,0,116,0,99,0,119,0,126,0,122,0,0,0,116,0,100,0,97,0,126,0,111,0,0,0,116,0,100,0,113,0,126,0,116,0,0,0,116,0,100,0,120,0,126,0,121,0,0,0,116,0,101,0,97,0,126,0,105,0,0,0,116,0,101,0,109,0,126,0,122,0,0,0,116,0,102,0,110,0,126,0,111,0,0,0,116,0,103,0,97,0,126,0,102,0,0,0,116,0,103,0,104,0,126,0,106,0,0,0,116,0,103,0,110,0,126,0,122,0,0,0,116,0,104,0,100,0,126,0,102,0,0,0,116,0,104,0,104,0,126,0,105,0,0,0,116,0,104,0,107,0,126,0,110,0,0,0,116,0,104,0,112,0,126,0,118,0,0,0,116,0,104,0,119,0,126,0,120,0,0,0,116,0,104,0,121,0,126,0,122,0,0,0,116,0,105,0,100,0,126,0,101,0,0,0,116,0,105,0,102,0,126,0,113,0,0,0,116,0,105,0,115,0,126,0,122,0,0,0,116,0,106,0,105,0,126,0,106,0,0,0,116,0,106,0,108,0,126,0,112,0,0,0,116,0,107,0,97,0,126,0,98,0,0,0,116,0,107,0,100,0,126,0,103,0,0,0,116,0,107,0,108,0,126,0,110,0,0,0,116,0,107,0,112,0,126,0,120,0,0,0,116,0,108,0,97,0,126,0,100,0,0,0,116,0,108,0,102,0,126,0,118,0,0,0,116,0,108,0,120,0,126,0,121,0,0,0,116,0,109,0,97,0,126,0,98,0,0,0,116,0,109,0,97,0,126,0,111,0,0,0,116,0,109,0,108,0,126,0,109,0,0,0,116,0,109,0,113,0,126,0,119,0,0,0,116,0,109,0,121,0,126,0,122,0,0,0,116,0,110,0,97,0,126,0,100,0,0,0,116,0,110,0,101,0,126,0,102,0,0,0,116,0,110,0,103,0,126,0,105,0,0,0,116,0,110,0,107,0,126,0,122,0,0,0,116,0,111,0,98,0,126,0,100,0,0,0,116,0,111,0,102,0,126,0,109,0,0,0,116,0,111,0,111,0,126,0,115,0,0,0,116,0,111,0,117,0,126,0,122,0,0,0,116,0,112,0,101,0,126,0,103,0,0,0,116,0,112,0,105,0,126,0,114,0,0,0,116,0,112,0,116,0,126,0,122,0,0,0,116,0,113,0,108,0,126,0,114,0,0,0,116,0,113,0,116,0,126,0,117,0,0,0,116,0,114,0,97,0,126,0,122,0,0,0,116,0,115,0,97,0,126,0,101,0,0,0,116,0,115,0,103,0,126,0,109,0,0,0,116,0,115,0,112,0,126,0,122,0,0,0,116,0,116,0,97,0,126,0,112,0,0,0,116,0,116,0,101,0,116,0,111,0,0,0,116,0,116,0,114,0,99,0,109,0,0,0,116,0,116,0,114,0,126,0,119,0,0,0,116,0,116,0,119,0,116,0,111,0,0,0,116,0,116,0,121,0,126,0,122,0,0,0,116,0,117,0,97,0,126,0,106,0,0,0,116,0,117,0,108,0,126,0,113,0,0,0,116,0,117,0,115,0,126,0,122,0,0,0,116,0,118,0,100,0,126,0,101,0,0,0,116,0,118,0,107,0,126,0,111,0,0,0,116,0,118,0,115,0,126,0,117,0,0,0,116,0,118,0,119,0,126,0,121,0,0,0,116,0,119,0,97,0,126,0,104,0,0,0,116,0,119,0,107,0,104,0,113,0,0,0,116,0,119,0,108,0,126,0,114,0,0,0,116,0,119,0,116,0,110,0,113,0,0,0,116,0,119,0,116,0,112,0,113,0,0,0,116,0,119,0,116,0,120,0,113,0,0,0,116,0,119,0,116,0,126,0,117,0,0,0,116,0,119,0,119,0,126,0,121,0,0,0,116,0,120,0,97,0,126,0,99,0,0,0,116,0,120,0,103,0,126,0,106,0,0,0,116,0,120,0,109,0,126,0,111,0,0,0,116,0,120,0,113,0,126,0,117,0,0,0,116,0,120,0,120,0,126,0,121,0,0,0,116,0,121,0,104,0,126,0,106,0,0,0,116,0,121,0,114,0,126,0,118,0,0,0,116,0,121,0,120,0,126,0,122,0,0,0,116,0,122,0,108,0,126,0,111,0,0,0,117,0,97,0,109,0,126,0,110,0,0,0,117,0,99,0,99,0,111,0,114,0,0,0,117,0,100,0,105,0,126,0,106,0,0,0,117,0,100,0,108,0,126,0,109,0,0,0,117,0,103,0,49,0,48,0,49,0,0,0,117,0,103,0,49,0,48,0,50,0,0,0,117,0,103,0,49,0,48,0,51,0,0,0,117,0,103,0,49,0,48,0,52,0,0,0,117,0,103,0,49,0,48,0,53,0,0,0,117,0,103,0,49,0,48,0,54,0,0,0,117,0,103,0,49,0,48,0,55,0,0,0,117,0,103,0,49,0,48,0,56,0,0,0,117,0,103,0,49,0,48,0,57,0,0,0,117,0,103,0,49,0,49,0,48,0,0,0,117,0,103,0,49,0,49,0,49,0,0,0,117,0,103,0,49,0,49,0,50,0,0,0,117,0,103,0,49,0,49,0,51,0,0,0,117,0,103,0,49,0,49,0,52,0,0,0,117,0,103,0,49,0,49,0,53,0,0,0,117,0,103,0,49,0,49,0,54,0,0,0,117,0,103,0,49,0,49,0,55,0,0,0,117,0,103,0,49,0,49,0,56,0,0,0,117,0,103,0,49,0,49,0,57,0,0,0,117,0,103,0,49,0,50,0,48,0,0,0,117,0,103,0,49,0,50,0,49,0,0,0,117,0,103,0,49,0,50,0,50,0,0,0,117,0,103,0,49,0,50,0,51,0,0,0,117,0,103,0,49,0,50,0,52,0,0,0,117,0,103,0,49,0,50,0,53,0,0,0,117,0,103,0,49,0,50,0,54,0,0,0,117,0,103,0,50,0,48,0,49,0,0,0,117,0,103,0,50,0,48,0,50,0,0,0,117,0,103,0,50,0,48,0,51,0,0,0,117,0,103,0,50,0,48,0,52,0,0,0,117,0,103,0,50,0,48,0,53,0,0,0,117,0,103,0,50,0,48,0,54,0,0,0,117,0,103,0,50,0,48,0,55,0,0,0,117,0,103,0,50,0,48,0,56,0,0,0,117,0,103,0,50,0,48,0,57,0,0,0,117,0,103,0,50,0,49,0,48,0,0,0,117,0,103,0,50,0,49,0,49,0,0,0,117,0,103,0,50,0,49,0,50,0,0,0,117,0,103,0,50,0,49,0,51,0,0,0,117,0,103,0,50,0,49,0,52,0,0,0,117,0,103,0,50,0,49,0,53,0,0,0,117,0,103,0,50,0,49,0,54,0,0,0,117,0,103,0,50,0,49,0,55,0,0,0,117,0,103,0,50,0,49,0,56,0,0,0,117,0,103,0,50,0,49,0,57,0,0,0,117,0,103,0,50,0,50,0,48,0,0,0,117,0,103,0,50,0,50,0,49,0,0,0,117,0,103,0,50,0,50,0,50,0,0,0,117,0,103,0,50,0,50,0,51,0,0,0,117,0,103,0,50,0,50,0,52,0,0,0,117,0,103,0,50,0,50,0,53,0,0,0,117,0,103,0,50,0,50,0,54,0,0,0,117,0,103,0,50,0,50,0,55,0,0,0,117,0,103,0,50,0,50,0,56,0,0,0,117,0,103,0,50,0,50,0,57,0,0,0,117,0,103,0,50,0,51,0,53,0,0,0,117,0,103,0,50,0,51,0,54,0,0,0,117,0,103,0,50,0,51,0,55,0,0,0,117,0,103,0,51,0,48,0,49,0,0,0,117,0,103,0,51,0,48,0,50,0,0,0,117,0,103,0,51,0,48,0,51,0,0,0,117,0,103,0,51,0,48,0,52,0,0,0,117,0,103,0,51,0,48,0,53,0,0,0,117,0,103,0,51,0,48,0,54,0,0,0,117,0,103,0,51,0,48,0,55,0,0,0,117,0,103,0,51,0,48,0,56,0,0,0,117,0,103,0,51,0,48,0,57,0,0,0,117,0,103,0,51,0,49,0,48,0,0,0,117,0,103,0,51,0,49,0,49,0,0,0,117,0,103,0,51,0,49,0,50,0,0,0,117,0,103,0,51,0,49,0,51,0,0,0,117,0,103,0,51,0,49,0,52,0,0,0,117,0,103,0,51,0,49,0,53,0,0,0,117,0,103,0,51,0,49,0,54,0,0,0,117,0,103,0,51,0,49,0,55,0,0,0,117,0,103,0,51,0,49,0,56,0,0,0,117,0,103,0,51,0,49,0,57,0,0,0,117,0,103,0,51,0,50,0,49,0,0,0,117,0,103,0,51,0,50,0,50,0,0,0,117,0,103,0,51,0,50,0,51,0,0,0,117,0,103,0,51,0,50,0,52,0,0,0,117,0,103,0,51,0,50,0,53,0,0,0,117,0,103,0,51,0,50,0,54,0,0,0,117,0,103,0,51,0,50,0,55,0,0,0,117,0,103,0,51,0,50,0,57,0,0,0,117,0,103,0,51,0,51,0,48,0,0,0,117,0,103,0,51,0,51,0,49,0,0,0,117,0,103,0,51,0,51,0,51,0,0,0,117,0,103,0,51,0,51,0,53,0,0,0,117,0,103,0,51,0,51,0,55,0,0,0,117,0,103,0,52,0,48,0,49,0,0,0,117,0,103,0,52,0,48,0,50,0,0,0,117,0,103,0,52,0,48,0,51,0,0,0,117,0,103,0,52,0,48,0,52,0,0,0,117,0,103,0,52,0,48,0,53,0,0,0,117,0,103,0,52,0,48,0,54,0,0,0,117,0,103,0,52,0,48,0,55,0,0,0,117,0,103,0,52,0,48,0,56,0,0,0,117,0,103,0,52,0,48,0,57,0,0,0,117,0,103,0,52,0,49,0,48,0,0,0,117,0,103,0,52,0,49,0,49,0,0,0,117,0,103,0,52,0,49,0,50,0,0,0,117,0,103,0,52,0,49,0,51,0,0,0,117,0,103,0,52,0,49,0,53,0,0,0,117,0,103,0,52,0,49,0,54,0,0,0,117,0,103,0,52,0,50,0,48,0,0,0,117,0,103,0,52,0,50,0,49,0,0,0,117,0,103,0,52,0,50,0,50,0,0,0,117,0,103,0,52,0,50,0,51,0,0,0,117,0,103,0,52,0,50,0,52,0,0,0,117,0,103,0,52,0,50,0,53,0,0,0,117,0,103,0,52,0,50,0,54,0,0,0,117,0,103,0,52,0,50,0,55,0,0,0,117,0,103,0,52,0,50,0,57,0,0,0,117,0,103,0,52,0,51,0,49,0,0,0,117,0,103,0,52,0,51,0,50,0,0,0,117,0,103,0,52,0,51,0,51,0,0,0,117,0,103,0,52,0,51,0,53,0,0,0,117,0,103,0,97,0,126,0,98,0,0,0,117,0,103,0,110,0,126,0,111,0,0,0,117,0,107,0,103,0,126,0,105,0,0,0,117,0,107,0,112,0,126,0,113,0,0,0,117,0,107,0,117,0,126,0,119,0,0,0,117,0,108,0,97,0,126,0,99,0,0,0,117,0,108,0,101,0,126,0,102,0,0,0,117,0,108,0,107,0,126,0,110,0,0,0,117,0,109,0,97,0,126,0,100,0,0,0,117,0,109,0,109,0,126,0,112,0,0,0,117,0,109,0,114,0,126,0,115,0,0,0,117,0,110,0,109,0,126,0,110,0,0,0,117,0,114,0,97,0,126,0,99,0,0,0,117,0,114,0,101,0,126,0,112,0,0,0,117,0,114,0,116,0,126,0,122,0,0,0,117,0,115,0,104,0,126,0,105,0,0,0,118,0,97,0,101,0,126,0,106,0,0,0,118,0,97,0,108,0,126,0,112,0,0,0,118,0,97,0,114,0,126,0,115,0,0,0,118,0,97,0,117,0,126,0,118,0,0,0,118,0,101,0,97,0,126,0,112,0,0,0,118,0,101,0,99,0,126,0,100,0,0,0,118,0,101,0,108,0,126,0,109,0,0,0,118,0,101,0,111,0,126,0,112,0,0,0,118,0,101,0,114,0,126,0,122,0,0,0,118,0,105,0,99,0,126,0,100,0,0,0,118,0,105,0,102,0,126,0,103,0,0,0,118,0,105,0,115,0,126,0,116,0,0,0,118,0,107,0,106,0,126,0,112,0,0,0,118,0,107,0,116,0,126,0,117,0,0,0,118,0,109,0,97,0,126,0,109,0,0,0,118,0,109,0,112,0,126,0,115,0,0,0,118,0,109,0,117,0,126,0,122,0,0,0,118,0,114,0,115,0,126,0,116,0,0,0,118,0,117,0,109,0,126,0,110,0,0,0,119,0,97,0,97,0,126,0,122,0,0,0,119,0,98,0,97,0,126,0,98,0,0,0,119,0,98,0,101,0,126,0,102,0,0,0,119,0,98,0,104,0,126,0,109,0,0,0,119,0,98,0,112,0,126,0,116,0,0,0,119,0,98,0,118,0,126,0,119,0,0,0,119,0,100,0,106,0,126,0,107,0,0,0,119,0,100,0,116,0,126,0,117,0,0,0,119,0,101,0,99,0,126,0,100,0,0,0,119,0,101,0,103,0,126,0,105,0,0,0,119,0,101,0,109,0,126,0,112,0,0,0,119,0,101,0,114,0,126,0,117,0,0,0,119,0,103,0,97,0,126,0,98,0,0,0,119,0,105,0,98,0,126,0,99,0,0,0,119,0,105,0,101,0,126,0,110,0,0,0,119,0,105,0,117,0,126,0,118,0,0,0,119,0,107,0,97,0,126,0,98,0,0,0,119,0,108,0,103,0,126,0,105,0,0,0,119,0,108,0,107,0,126,0,109,0,0,0,119,0,108,0,114,0,126,0,115,0,0,0,119,0,108,0,117,0,126,0,121,0,0,0,119,0,109,0,97,0,126,0,101,0,0,0,119,0,109,0,103,0,126,0,105,0,0,0,119,0,109,0,109,0,126,0,111,0,0,0,119,0,109,0,115,0,126,0,116,0,0,0,119,0,109,0,119,0,126,0,120,0,0,0,119,0,110,0,98,0,126,0,101,0,0,0,119,0,110,0,109,0,126,0,112,0,0,0,119,0,111,0,97,0,126,0,103,0,0,0,119,0,111,0,109,0,126,0,111,0,0,0,119,0,111,0,114,0,126,0,115,0,0,0,119,0,114,0,103,0,126,0,105,0,0,0,119,0,114,0,107,0,126,0,112,0,0,0,119,0,114,0,114,0,126,0,115,0,0,0,119,0,114,0,117,0,126,0,122,0,0,0,119,0,115,0,114,0,126,0,115,0,0,0,119,0,115,0,117,0,126,0,118,0,0,0,119,0,116,0,104,0,126,0,105,0,0,0,119,0,117,0,97,0,126,0,98,0,0,0,119,0,117,0,108,0,126,0,110,0,0,0,119,0,117,0,116,0,126,0,118,0,0,0,119,0,117,0,120,0,126,0,121,0,0,0,119,0,119,0,97,0,126,0,98,0,0,0,119,0,121,0,109,0,126,0,110,0,0,0,120,0,97,0,97,0,126,0,101,0,0,0,120,0,97,0,105,0,126,0,119,0,0,0,120,0,98,0,98,0,126,0,101,0,0,0,120,0,98,0,105,0,126,0,106,0,0,0,120,0,98,0,109,0,126,0,112,0,0,0,120,0,99,0,98,0,126,0,99,0,0,0,120,0,99,0,103,0,126,0,104,0,0,0,120,0,99,0,108,0,126,0,111,0,0,0,120,0,99,0,116,0,126,0,119,0,0,0,120,0,101,0,108,0,126,0,109,0,0,0,120,0,101,0,114,0,126,0,117,0,0,0,120,0,103,0,97,0,126,0,98,0,0,0,120,0,103,0,102,0,126,0,103,0,0,0,120,0,103,0,108,0,126,0,110,0,0,0,120,0,104,0,99,0,126,0,101,0,0,0,120,0,104,0,116,0,126,0,118,0,0,0,120,0,105,0,114,0,126,0,115,0,0,0,120,0,107,0,97,0,126,0,103,0,0,0,120,0,107,0,105,0,126,0,108,0,0,0,120,0,107,0,110,0,126,0,122,0,0,0,120,0,108,0,97,0,126,0,101,0,0,0,120,0,108,0,110,0,126,0,112,0,0,0,120,0,109,0,97,0,126,0,104,0,0,0,120,0,109,0,106,0,126,0,122,0,0,0,120,0,110,0,97,0,126,0,98,0,0,0,120,0,110,0,103,0,126,0,107,0,0,0,120,0,110,0,109,0,126,0,111,0,0,0,120,0,110,0,113,0,126,0,117,0,0,0,120,0,110,0,121,0,126,0,122,0,0,0,120,0,111,0,99,0,126,0,100,0,0,0,120,0,111,0,109,0,126,0,112,0,0,0,120,0,112,0,97,0,126,0,100,0,0,0,120,0,112,0,102,0,126,0,122,0,0,0,120,0,114,0,97,0,126,0,98,0,0,0,120,0,114,0,100,0,126,0,101,0,0,0,120,0,114,0,109,0,126,0,110,0,0,0,120,0,114,0,116,0,126,0,117,0,0,0,120,0,115,0,97,0,126,0,101,0,0,0,120,0,115,0,104,0,126,0,105,0,0,0,120,0,115,0,109,0,126,0,115,0,0,0,120,0,115,0,117,0,126,0,118,0,0,0,120,0,116,0,97,0,126,0,101,0,0,0,120,0,116,0,103,0,126,0,106,0,0,0,120,0,116,0,108,0,126,0,119,0,0,0,120,0,117,0,97,0,126,0,98,0,0,0,120,0,117,0,108,0,126,0,112,0,0,0,120,0,117,0,116,0,126,0,117,0,0,0,120,0,118,0,110,0,126,0,111,0,0,0,120,0,119,0,99,0,126,0,101,0,0,0,120,0,119,0,106,0,126,0,108,0,0,0,120,0,121,0,97,0,126,0,98,0,0,0,120,0,121,0,106,0,126,0,108,0,0,0,121,0,97,0,97,0,126,0,122,0,0,0,121,0,98,0,97,0,126,0,98,0,0,0,121,0,98,0,104,0,126,0,111,0,0,0,121,0,98,0,120,0,126,0,121,0,0,0,121,0,101,0,105,0,126,0,106,0,0,0,121,0,101,0,114,0,126,0,118,0,0,0,121,0,103,0,108,0,126,0,109,0,0,0,121,0,103,0,114,0,126,0,115,0,0,0,121,0,105,0,102,0,126,0,110,0,0,0,121,0,105,0,112,0,126,0,118,0,0,0,121,0,107,0,107,0,126,0,111,0,0,0,121,0,107,0,116,0,126,0,117,0,0,0,121,0,108,0,97,0,126,0,98,0,0,0,121,0,108,0,108,0,126,0,111,0,0,0,121,0,109,0,98,0,126,0,101,0,0,0,121,0,109,0,103,0,126,0,105,0,0,0,121,0,109,0,107,0,126,0,115,0,0,0,121,0,110,0,100,0,126,0,101,0,0,0,121,0,110,0,107,0,126,0,108,0,0,0,121,0,110,0,110,0,126,0,111,0,0,0,121,0,111,0,107,0,126,0,110,0,0,0,121,0,111,0,120,0,126,0,121,0,0,0,121,0,112,0,97,0,126,0,98,0,0,0,121,0,112,0,103,0,126,0,104,0,0,0,121,0,112,0,109,0,126,0,112,0,0,0,121,0,114,0,97,0,126,0,98,0,0,0,121,0,114,0,107,0,126,0,111,0,0,0,121,0,115,0,99,0,126,0,100,0,0,0,121,0,115,0,108,0,126,0,112,0,0,0,121,0,115,0,114,0,126,0,115,0,0,0,121,0,117,0,97,0,126,0,103,0,0,0,121,0,117,0,105,0,126,0,110,0,0,0,121,0,117,0,112,0,126,0,114,0,0,0,121,0,117,0,119,0,126,0,122,0,0,0,121,0,119,0,113,0,126,0,114,0,0,0,121,0,119,0,116,0,126,0,117,0,0,0,121,0,120,0,108,0,126,0,109,0,0,0,122,0,97,0,97,0,126,0,104,0,0,0,122,0,97,0,106,0,126,0,109,0,0,0,122,0,97,0,111,0,126,0,122,0,0,0,122,0,98,0,116,0,126,0,117,0,0,0,122,0,101,0,103,0,126,0,104,0,0,0,122,0,103,0,97,0,126,0,98,0,0,0,122,0,103,0,109,0,126,0,110,0,0,0,122,0,104,0,119,0,126,0,120,0,0,0,122,0,105,0,97,0,126,0,98,0,0,0,122,0,105,0,107,0,126,0,110,0,0,0,122,0,107,0,97,0,126,0,98,0,0,0,122,0,107,0,103,0,126,0,104,0,0,0,122,0,107,0,110,0,126,0,112,0,0,0,122,0,107,0,116,0,126,0,118,0,0,0,122,0,108,0,109,0,126,0,110,0,0,0,122,0,109,0,97,0,126,0,122,0,0,0,122,0,110,0,100,0,126,0,101,0,0,0,122,0,111,0,113,0,126,0,115,0,0,0,122,0,112,0,97,0,126,0,122,0,0,0,122,0,114,0,110,0,126,0,112,0,0,0,122,0,115,0,107,0,126,0,108,0,0,0,122,0,116,0,108,0,126,0,110,0,0,0,122,0,116,0,112,0,126,0,113,0,0,0,122,0,116,0,115,0,126,0,117,0,0,0,122,0,116,0,120,0,126,0,121,0,0,0,122,0,117,0,109,0,126,0,110,0,0,0,116,0,114,0,56,0,48,0,126,0,49,0,0,0,99,0,104,0,122,0,103,0,126,0,104,0,0,0,112,0,116,0,95,0,42,0,95,0,42,0,0,0,103,0,114,0,105,0,116,0,97,0,108,0,0,0,97,0,111,0,49,0,57,0,57,0,48,0,0,0,97,0,114,0,95,0,42,0,95,0,42,0,0,0,101,0,110,0,95,0,42,0,95,0,42,0,0,0,101,0,115,0,95,0,42,0,95,0,42,0,0,0,105,0,100,0,98,0,97,0,126,0,98,0,0,0,105,0,116,0,55,0,55,0,126,0,56,0,0,0,109,0,100,0,115,0,110,0,126,0,111,0,0,0,110,0,103,0,107,0,100,0,126,0,101,0,0,0,114,0,117,0,107,0,107,0,126,0,108,0,0,0,99,0,111,0,112,0,116,0,105,0,99,0,0,0,110,0,100,0,121,0,117,0,107,0,97,0,0,0,112,0,105,0,110,0,121,0,105,0,110,0,0,0,66,0,114,0,97,0,104,0,126,0,105,0,0,0,72,0,97,0,110,0,115,0,126,0,116,0,0,0,76,0,105,0,110,0,97,0,126,0,98,0,0,0,81,0,97,0,97,0,97,0,126,0,102,0,0,0,81,0,97,0,97,0,106,0,126,0,112,0,0,0,81,0,97,0,97,0,113,0,126,0,122,0,0,0,81,0,97,0,98,0,97,0,126,0,120,0,0,0,97,0,99,0,122,0,122,0,122,0,122,0,0,0,97,0,100,0,48,0,50,0,126,0,56,0,0,0,97,0,100,0,122,0,122,0,122,0,122,0,0,0,97,0,101,0,122,0,122,0,122,0,122,0,0,0,97,0,102,0,122,0,122,0,122,0,122,0,0,0,97,0,103,0,48,0,51,0,126,0,56,0,0,0,97,0,103,0,49,0,48,0,126,0,49,0,0,0,97,0,103,0,122,0,122,0,122,0,122,0,0,0,97,0,105,0,122,0,122,0,122,0,122,0,0,0,97,0,108,0,48,0,49,0,126,0,57,0,0,0,97,0,108,0,49,0,48,0,126,0,50,0,0,0,97,0,108,0,107,0,97,0,126,0,99,0,0,0,97,0,108,0,112,0,113,0,126,0,114,0,0,0,97,0,108,0,122,0,122,0,122,0,122,0,0,0,97,0,109,0,122,0,122,0,122,0,122,0,0,0,97,0,111,0,122,0,122,0,122,0,122,0,0,0,97,0,113,0,122,0,122,0,122,0,122,0,0,0,97,0,114,0,97,0,110,0,101,0,115,0,0,0,97,0,114,0,122,0,122,0,122,0,122,0,0,0,97,0,115,0,97,0,110,0,116,0,101,0,0,0,97,0,115,0,122,0,122,0,122,0,122,0,0,0,97,0,116,0,122,0,122,0,122,0,122,0,0,0,97,0,117,0,118,0,101,0,114,0,110,0,0,0,97,0,117,0,122,0,122,0,122,0,122,0,0,0,97,0,119,0,122,0,122,0,122,0,122,0,0,0,97,0,120,0,122,0,122,0,122,0,122,0,0,0,97,0,122,0,122,0,122,0,122,0,122,0,0,0,98,0,97,0,48,0,49,0,126,0,57,0,0,0,98,0,97,0,122,0,122,0,122,0,122,0,0,0,98,0,98,0,48,0,49,0,126,0,57,0,0,0,98,0,98,0,49,0,48,0,126,0,49,0,0,0,98,0,98,0,122,0,122,0,122,0,122,0,0,0,98,0,100,0,48,0,49,0,126,0,57,0,0,0,98,0,100,0,49,0,48,0,126,0,57,0,0,0,98,0,100,0,50,0,48,0,126,0,57,0,0,0,98,0,100,0,51,0,48,0,126,0,57,0,0,0,98,0,100,0,52,0,48,0,126,0,57,0,0,0,98,0,100,0,53,0,48,0,126,0,57,0,0,0,98,0,100,0,54,0,48,0,126,0,52,0,0,0,98,0,100,0,122,0,122,0,122,0,122,0,0,0,98,0,101,0,122,0,122,0,122,0,122,0,0,0,98,0,102,0,48,0,49,0,126,0,57,0,0,0,98,0,102,0,49,0,48,0,126,0,51,0,0,0,98,0,102,0,122,0,122,0,122,0,122,0,0,0,98,0,103,0,48,0,49,0,126,0,57,0,0,0,98,0,103,0,49,0,48,0,126,0,57,0,0,0,98,0,103,0,50,0,48,0,126,0,56,0,0,0,98,0,103,0,122,0,122,0,122,0,122,0,0,0,98,0,104,0,49,0,51,0,126,0,53,0,0,0,98,0,104,0,122,0,122,0,122,0,122,0,0,0,98,0,105,0,98,0,108,0,126,0,109,0,0,0,98,0,105,0,122,0,122,0,122,0,122,0,0,0,98,0,106,0,97,0,107,0,126,0,108,0,0,0,98,0,106,0,122,0,122,0,122,0,122,0,0,0,98,0,108,0,122,0,122,0,122,0,122,0,0,0,98,0,109,0,122,0,122,0,122,0,122,0,0,0,98,0,110,0,122,0,122,0,122,0,122,0,0,0,98,0,111,0,122,0,122,0,122,0,122,0,0,0,98,0,113,0,122,0,122,0,122,0,122,0,0,0,98,0,114,0,97,0,108,0,126,0,109,0,0,0,98,0,114,0,109,0,115,0,126,0,116,0,0,0,98,0,114,0,112,0,97,0,126,0,98,0,0,0,98,0,114,0,114,0,110,0,126,0,111,0,0,0,98,0,114,0,114,0,114,0,126,0,115,0,0,0,98,0,114,0,122,0,122,0,122,0,122,0,0,0,98,0,115,0,110,0,111,0,126,0,112,0,0,0,98,0,115,0,122,0,122,0,122,0,122,0,0,0,98,0,116,0,49,0,49,0,126,0,53,0,0,0,98,0,116,0,50,0,49,0,126,0,52,0,0,0,98,0,116,0,51,0,49,0,126,0,52,0,0,0,98,0,116,0,52,0,49,0,126,0,53,0,0,0,98,0,116,0,122,0,122,0,122,0,122,0,0,0,98,0,118,0,122,0,122,0,122,0,122,0,0,0,98,0,119,0,115,0,111,0,126,0,112,0,0,0,98,0,119,0,122,0,122,0,122,0,122,0,0,0,98,0,121,0,122,0,122,0,122,0,122,0,0,0,98,0,122,0,122,0,122,0,122,0,122,0,0,0,99,0,97,0,110,0,115,0,126,0,117,0,0,0,99,0,97,0,122,0,122,0,122,0,122,0,0,0,99,0,99,0,122,0,122,0,122,0,122,0,0,0,99,0,100,0,104,0,107,0,126,0,108,0,0,0,99,0,100,0,109,0,110,0,126,0,111,0,0,0,99,0,100,0,122,0,122,0,122,0,122,0,0,0,99,0,102,0,122,0,122,0,122,0,122,0,0,0,99,0,103,0,49,0,49,0,126,0,54,0,0,0,99,0,103,0,122,0,122,0,122,0,122,0,0,0,99,0,104,0,115,0,103,0,126,0,104,0,0,0,99,0,104,0,122,0,122,0,122,0,122,0,0,0,99,0,105,0,48,0,49,0,126,0,57,0,0,0,99,0,105,0,49,0,48,0,126,0,57,0,0,0,99,0,105,0,115,0,97,0,117,0,112,0,0,0,99,0,105,0,122,0,122,0,122,0,122,0,0,0,99,0,107,0,122,0,122,0,122,0,122,0,0,0,99,0,108,0,122,0,122,0,122,0,122,0,0,0,99,0,109,0,122,0,122,0,122,0,122,0,0,0,99,0,110,0,49,0,49,0,126,0,53,0,0,0,99,0,110,0,50,0,49,0,126,0,51,0,0,0,99,0,110,0,51,0,49,0,126,0,55,0,0,0,99,0,110,0,52,0,49,0,126,0,54,0,0,0,99,0,110,0,53,0,48,0,126,0,52,0,0,0,99,0,110,0,54,0,49,0,126,0,53,0,0,0,99,0,110,0,57,0,49,0,126,0,50,0,0,0,99,0,110,0,104,0,97,0,126,0,98,0,0,0,99,0,110,0,104,0,107,0,126,0,108,0,0,0,99,0,110,0,115,0,99,0,126,0,100,0,0,0,99,0,110,0,122,0,122,0,122,0,122,0,0,0,99,0,111,0,122,0,122,0,122,0,122,0,0,0,99,0,112,0,122,0,122,0,122,0,122,0,0,0,99,0,114,0,101,0,105,0,115,0,115,0,0,0,99,0,114,0,122,0,122,0,122,0,122,0,0,0,99,0,117,0,48,0,51,0,126,0,57,0,0,0,99,0,117,0,49,0,48,0,126,0,54,0,0,0,99,0,117,0,122,0,122,0,122,0,122,0,0,0,99,0,118,0,115,0,108,0,126,0,109,0,0,0,99,0,118,0,122,0,122,0,122,0,122,0,0,0,99,0,119,0,122,0,122,0,122,0,122,0,0,0,99,0,120,0,122,0,122,0,122,0,122,0,0,0,99,0,121,0,48,0,49,0,126,0,54,0,0,0,99,0,121,0,122,0,122,0,122,0,122,0,0,0,99,0,122,0,122,0,122,0,122,0,122,0,0,0,100,0,97,0,106,0,110,0,107,0,111,0,0,0,100,0,101,0,122,0,122,0,122,0,122,0,0,0,100,0,103,0,122,0,122,0,122,0,122,0,0,0,100,0,106,0,97,0,114,0,126,0,115,0,0,0,100,0,106,0,100,0,105,0,126,0,106,0,0,0,100,0,106,0,122,0,122,0,122,0,122,0,0,0,100,0,107,0,56,0,49,0,126,0,53,0,0,0,100,0,107,0,122,0,122,0,122,0,122,0,0,0,100,0,109,0,48,0,50,0,126,0,57,0,0,0,100,0,109,0,49,0,48,0,126,0,49,0,0,0,100,0,109,0,122,0,122,0,122,0,122,0,0,0,100,0,111,0,48,0,49,0,126,0,57,0,0,0,100,0,111,0,49,0,48,0,126,0,57,0,0,0,100,0,111,0,50,0,48,0,126,0,57,0,0,0,100,0,111,0,51,0,48,0,126,0,57,0,0,0,100,0,111,0,52,0,48,0,126,0,50,0,0,0,100,0,111,0,122,0,122,0,122,0,122,0,0,0,100,0,122,0,48,0,49,0,126,0,57,0,0,0,100,0,122,0,49,0,48,0,126,0,57,0,0,0,100,0,122,0,50,0,48,0,126,0,57,0,0,0,100,0,122,0,51,0,48,0,126,0,57,0,0,0,100,0,122,0,52,0,48,0,126,0,56,0,0,0,100,0,122,0,122,0,122,0,122,0,122,0,0,0,101,0,97,0,122,0,122,0,122,0,122,0,0,0,101,0,99,0,115,0,100,0,126,0,101,0,0,0,101,0,99,0,122,0,122,0,122,0,122,0,0,0,101,0,101,0,122,0,122,0,122,0,122,0,0,0,101,0,103,0,122,0,122,0,122,0,122,0,0,0,101,0,104,0,122,0,122,0,122,0,122,0,0,0,101,0,110,0,95,0,49,0,53,0,48,0,0,0,101,0,114,0,122,0,122,0,122,0,122,0,0,0,101,0,115,0,95,0,52,0,49,0,57,0,0,0,101,0,115,0,97,0,114,0,126,0,115,0,0,0,101,0,115,0,99,0,97,0,126,0,99,0,0,0,101,0,115,0,99,0,108,0,126,0,111,0,0,0,101,0,115,0,99,0,114,0,126,0,117,0,0,0,101,0,115,0,109,0,99,0,126,0,100,0,0,0,101,0,115,0,116,0,101,0,126,0,102,0,0,0,101,0,115,0,122,0,122,0,122,0,122,0,0,0,101,0,116,0,115,0,110,0,126,0,111,0,0,0,101,0,116,0,122,0,122,0,122,0,122,0,0,0,102,0,105,0,48,0,50,0,126,0,57,0,0,0,102,0,105,0,49,0,48,0,126,0,57,0,0,0,102,0,105,0,122,0,122,0,122,0,122,0,0,0,102,0,106,0,48,0,49,0,126,0,57,0,0,0,102,0,106,0,49,0,48,0,126,0,52,0,0,0,102,0,106,0,122,0,122,0,122,0,122,0,0,0,102,0,107,0,122,0,122,0,122,0,122,0,0,0,102,0,109,0,122,0,122,0,122,0,122,0,0,0,102,0,111,0,110,0,105,0,112,0,97,0,0,0,102,0,111,0,110,0,117,0,112,0,97,0,0,0,102,0,111,0,122,0,122,0,122,0,122,0,0,0,102,0,114,0,48,0,49,0,126,0,57,0,0,0,102,0,114,0,49,0,48,0,126,0,57,0,0,0,102,0,114,0,50,0,49,0,126,0,57,0,0,0,102,0,114,0,50,0,97,0,126,0,98,0,0,0,102,0,114,0,51,0,48,0,126,0,57,0,0,0,102,0,114,0,52,0,48,0,126,0,57,0,0,0,102,0,114,0,53,0,48,0,126,0,57,0,0,0,102,0,114,0,54,0,48,0,126,0,57,0,0,0,102,0,114,0,55,0,48,0,126,0,52,0,0,0,102,0,114,0,55,0,54,0,126,0,57,0,0,0,102,0,114,0,56,0,48,0,126,0,57,0,0,0,102,0,114,0,57,0,48,0,126,0,53,0,0,0,102,0,114,0,122,0,122,0,122,0,122,0,0,0,103,0,97,0,115,0,99,0,111,0,110,0,0,0,103,0,97,0,122,0,122,0,122,0,122,0,0,0,103,0,98,0,122,0,122,0,122,0,122,0,0,0,103,0,100,0,48,0,49,0,126,0,54,0,0,0,103,0,100,0,122,0,122,0,122,0,122,0,0,0,103,0,101,0,115,0,106,0,126,0,107,0,0,0,103,0,101,0,122,0,122,0,122,0,122,0,0,0,103,0,102,0,122,0,122,0,122,0,122,0,0,0,103,0,103,0,122,0,122,0,122,0,122,0,0,0,103,0,104,0,122,0,122,0,122,0,122,0,0,0,103,0,105,0,122,0,122,0,122,0,122,0,0,0,103,0,108,0,122,0,122,0,122,0,122,0,0,0,103,0,109,0,122,0,122,0,122,0,122,0,0,0,103,0,110,0,98,0,101,0,126,0,102,0,0,0,103,0,110,0,107,0,97,0,126,0,98,0,0,0,103,0,110,0,107,0,100,0,126,0,101,0,0,0,103,0,110,0,107,0,110,0,126,0,111,0,0,0,103,0,110,0,109,0,99,0,126,0,100,0,0,0,103,0,110,0,109,0,108,0,126,0,109,0,0,0,103,0,110,0,122,0,122,0,122,0,122,0,0,0,103,0,112,0,122,0,122,0,122,0,122,0,0,0,103,0,113,0,122,0,122,0,122,0,122,0,0,0,103,0,114,0,48,0,51,0,126,0,55,0,0,0,103,0,114,0,49,0,49,0,126,0,55,0,0,0,103,0,114,0,50,0,49,0,126,0,52,0,0,0,103,0,114,0,51,0,49,0,126,0,52,0,0,0,103,0,114,0,52,0,49,0,126,0,52,0,0,0,103,0,114,0,53,0,49,0,126,0,57,0,0,0,103,0,114,0,54,0,49,0,126,0,52,0,0,0,103,0,114,0,55,0,49,0,126,0,51,0,0,0,103,0,114,0,56,0,49,0,126,0,53,0,0,0,103,0,114,0,57,0,49,0,126,0,52,0,0,0,103,0,114,0,122,0,122,0,122,0,122,0,0,0,103,0,115,0,122,0,122,0,122,0,122,0,0,0,103,0,116,0,48,0,49,0,126,0,57,0,0,0,103,0,116,0,49,0,48,0,126,0,57,0,0,0,103,0,116,0,50,0,48,0,126,0,50,0,0,0,103,0,116,0,122,0,122,0,122,0,122,0,0,0,103,0,117,0,122,0,122,0,122,0,122,0,0,0,103,0,119,0,98,0,108,0,126,0,109,0,0,0,103,0,119,0,122,0,122,0,122,0,122,0,0,0,103,0,121,0,122,0,122,0,122,0,122,0,0,0,104,0,101,0,98,0,114,0,101,0,119,0,0,0,104,0,101,0,112,0,108,0,111,0,99,0,0,0,104,0,107,0,122,0,122,0,122,0,122,0,0,0,104,0,109,0,122,0,122,0,122,0,122,0,0,0,104,0,110,0,99,0,108,0,126,0,109,0,0,0,104,0,110,0,122,0,122,0,122,0,122,0,0,0,104,0,114,0,48,0,49,0,126,0,57,0,0,0,104,0,114,0,49,0,48,0,126,0,57,0,0,0,104,0,114,0,50,0,48,0,126,0,49,0,0,0,104,0,114,0,122,0,122,0,122,0,122,0,0,0,104,0,116,0,110,0,100,0,126,0,101,0,0,0,104,0,116,0,115,0,100,0,126,0,101,0,0,0,104,0,116,0,122,0,122,0,122,0,122,0,0,0,104,0,117,0,115,0,110,0,126,0,111,0,0,0,104,0,117,0,115,0,115,0,126,0,116,0,0,0,104,0,117,0,122,0,122,0,122,0,122,0,0,0,105,0,99,0,122,0,122,0,122,0,122,0,0,0,105,0,100,0,106,0,97,0,126,0,98,0,0,0,105,0,100,0,107,0,97,0,126,0,98,0,0,0,105,0,100,0,107,0,114,0,126,0,117,0,0,0,105,0,100,0,110,0,116,0,126,0,117,0,0,0,105,0,100,0,112,0,97,0,126,0,98,0,0,0,105,0,100,0,115,0,97,0,126,0,98,0,0,0,105,0,100,0,115,0,108,0,126,0,110,0,0,0,105,0,100,0,115,0,114,0,126,0,117,0,0,0,105,0,100,0,122,0,122,0,122,0,122,0,0,0,105,0,101,0,99,0,110,0,126,0,111,0,0,0,105,0,101,0,109,0,110,0,126,0,111,0,0,0,105,0,101,0,119,0,119,0,126,0,120,0,0,0,105,0,101,0,122,0,122,0,122,0,122,0,0,0,105,0,108,0,122,0,122,0,122,0,122,0,0,0,105,0,109,0,122,0,122,0,122,0,122,0,0,0,105,0,110,0,97,0,114,0,126,0,115,0,0,0,105,0,110,0,100,0,105,0,97,0,110,0,0,0,105,0,110,0,122,0,122,0,122,0,122,0,0,0,105,0,111,0,122,0,122,0,122,0,122,0,0,0,105,0,113,0,98,0,97,0,126,0,98,0,0,0,105,0,113,0,122,0,122,0,122,0,122,0,0,0,105,0,114,0,48,0,48,0,126,0,57,0,0,0,105,0,114,0,49,0,48,0,126,0,57,0,0,0,105,0,114,0,50,0,48,0,126,0,57,0,0,0,105,0,114,0,51,0,49,0,126,0,50,0,0,0,105,0,114,0,122,0,122,0,122,0,122,0,0,0,105,0,115,0,122,0,122,0,122,0,122,0,0,0,105,0,116,0,97,0,112,0,126,0,114,0,0,0,105,0,116,0,98,0,110,0,126,0,111,0,0,0,105,0,116,0,98,0,114,0,126,0,116,0,0,0,105,0,116,0,99,0,97,0,126,0,98,0,0,0,105,0,116,0,99,0,110,0,126,0,111,0,0,0,105,0,116,0,99,0,114,0,126,0,116,0,0,0,105,0,116,0,108,0,116,0,126,0,117,0,0,0,105,0,116,0,109,0,98,0,126,0,99,0,0,0,105,0,116,0,109,0,110,0,126,0,111,0,0,0,105,0,116,0,109,0,115,0,126,0,116,0,0,0,105,0,116,0,112,0,99,0,126,0,101,0,0,0,105,0,116,0,112,0,110,0,126,0,111,0,0,0,105,0,116,0,112,0,116,0,126,0,118,0,0,0,105,0,116,0,114,0,109,0,126,0,111,0,0,0,105,0,116,0,115,0,111,0,126,0,112,0,0,0,105,0,116,0,115,0,114,0,126,0,115,0,0,0,105,0,116,0,115,0,117,0,126,0,118,0,0,0,105,0,116,0,116,0,110,0,126,0,112,0,0,0,105,0,116,0,116,0,114,0,126,0,115,0,0,0,105,0,116,0,118,0,97,0,126,0,99,0,0,0,105,0,116,0,122,0,122,0,122,0,122,0,0,0,106,0,101,0,122,0,122,0,122,0,122,0,0,0,106,0,109,0,48,0,49,0,126,0,57,0,0,0,106,0,109,0,49,0,48,0,126,0,52,0,0,0,106,0,109,0,122,0,122,0,122,0,122,0,0,0,106,0,111,0,122,0,122,0,122,0,122,0,0,0,106,0,112,0,48,0,49,0,126,0,57,0,0,0,106,0,112,0,49,0,48,0,126,0,57,0,0,0,106,0,112,0,50,0,48,0,126,0,57,0,0,0,106,0,112,0,51,0,48,0,126,0,57,0,0,0,106,0,112,0,52,0,48,0,126,0,55,0,0,0,106,0,112,0,122,0,122,0,122,0,122,0,0,0,107,0,101,0,48,0,49,0,126,0,57,0,0,0,107,0,101,0,49,0,48,0,126,0,57,0,0,0,107,0,101,0,50,0,48,0,126,0,57,0,0,0,107,0,101,0,51,0,48,0,126,0,57,0,0,0,107,0,101,0,52,0,48,0,126,0,55,0,0,0,107,0,101,0,122,0,122,0,122,0,122,0,0,0,107,0,103,0,122,0,122,0,122,0,122,0,0,0,107,0,104,0,49,0,48,0,126,0,57,0,0,0,107,0,104,0,50,0,48,0,126,0,53,0,0,0,107,0,104,0,122,0,122,0,122,0,122,0,0,0,107,0,105,0,122,0,122,0,122,0,122,0,0,0,107,0,109,0,122,0,122,0,122,0,122,0,0,0,107,0,110,0,48,0,49,0,126,0,57,0,0,0,107,0,110,0,49,0,48,0,126,0,51,0,0,0,107,0,110,0,122,0,122,0,122,0,122,0,0,0,107,0,112,0,48,0,49,0,126,0,57,0,0,0,107,0,112,0,49,0,51,0,126,0,52,0,0,0,107,0,112,0,122,0,122,0,122,0,122,0,0,0,107,0,114,0,50,0,54,0,126,0,57,0,0,0,107,0,114,0,51,0,48,0,126,0,49,0,0,0,107,0,114,0,52,0,49,0,126,0,57,0,0,0,107,0,114,0,122,0,122,0,122,0,122,0,0,0,107,0,119,0,122,0,122,0,122,0,122,0,0,0,107,0,121,0,122,0,122,0,122,0,122,0,0,0,107,0,122,0,122,0,122,0,122,0,122,0,0,0,108,0,97,0,98,0,107,0,126,0,108,0,0,0,108,0,97,0,122,0,122,0,122,0,122,0,0,0,108,0,98,0,98,0,104,0,126,0,105,0,0,0,108,0,98,0,122,0,122,0,122,0,122,0,0,0,108,0,99,0,48,0,49,0,126,0,51,0,0,0,108,0,99,0,48,0,53,0,126,0,56,0,0,0,108,0,99,0,49,0,48,0,126,0,50,0,0,0,108,0,99,0,122,0,122,0,122,0,122,0,0,0,108,0,105,0,48,0,49,0,126,0,57,0,0,0,108,0,105,0,49,0,48,0,126,0,49,0,0,0,108,0,105,0,122,0,122,0,122,0,122,0,0,0,108,0,107,0,49,0,49,0,126,0,51,0,0,0,108,0,107,0,50,0,49,0,126,0,51,0,0,0,108,0,107,0,51,0,49,0,126,0,51,0,0,0,108,0,107,0,52,0,49,0,126,0,53,0,0,0,108,0,107,0,53,0,49,0,126,0,51,0,0,0,108,0,107,0,54,0,49,0,126,0,50,0,0,0,108,0,107,0,55,0,49,0,126,0,50,0,0,0,108,0,107,0,56,0,49,0,126,0,50,0,0,0,108,0,107,0,57,0,49,0,126,0,50,0,0,0,108,0,107,0,122,0,122,0,122,0,122,0,0,0,108,0,114,0,122,0,122,0,122,0,122,0,0,0,108,0,115,0,122,0,122,0,122,0,122,0,0,0,108,0,116,0,48,0,49,0,126,0,57,0,0,0,108,0,116,0,49,0,48,0,126,0,57,0,0,0,108,0,116,0,50,0,48,0,126,0,57,0,0,0,108,0,116,0,51,0,48,0,126,0,57,0,0,0,108,0,116,0,52,0,48,0,126,0,57,0,0,0,108,0,116,0,53,0,48,0,126,0,57,0,0,0,108,0,116,0,122,0,122,0,122,0,122,0,0,0,108,0,117,0,122,0,122,0,122,0,122,0,0,0,108,0,118,0,122,0,122,0,122,0,122,0,0,0,108,0,121,0,109,0,105,0,126,0,106,0,0,0,108,0,121,0,122,0,122,0,122,0,122,0,0,0,109,0,97,0,48,0,49,0,126,0,57,0,0,0,109,0,97,0,49,0,48,0,126,0,50,0,0,0,109,0,97,0,49,0,51,0,126,0,54,0,0,0,109,0,97,0,122,0,122,0,122,0,122,0,0,0,109,0,99,0,115,0,111,0,126,0,112,0,0,0,109,0,99,0,122,0,122,0,122,0,122,0,0,0,109,0,100,0,98,0,114,0,126,0,115,0,0,0,109,0,100,0,99,0,108,0,126,0,109,0,0,0,109,0,100,0,99,0,114,0,126,0,117,0,0,0,109,0,100,0,122,0,122,0,122,0,122,0,0,0,109,0,101,0,48,0,49,0,126,0,57,0,0,0,109,0,101,0,49,0,48,0,126,0,57,0,0,0,109,0,101,0,50,0,48,0,126,0,52,0,0,0,109,0,101,0,122,0,122,0,122,0,122,0,0,0,109,0,102,0,122,0,122,0,122,0,122,0,0,0,109,0,103,0,122,0,122,0,122,0,122,0,0,0,109,0,104,0,122,0,122,0,122,0,122,0,0,0,109,0,107,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,49,0,48,0,126,0,57,0,0,0,109,0,107,0,50,0,48,0,126,0,57,0,0,0,109,0,107,0,51,0,48,0,126,0,57,0,0,0,109,0,107,0,52,0,48,0,126,0,57,0,0,0,109,0,107,0,53,0,48,0,126,0,57,0,0,0,109,0,107,0,54,0,48,0,126,0,57,0,0,0,109,0,107,0,55,0,48,0,126,0,57,0,0,0,109,0,107,0,56,0,48,0,126,0,53,0,0,0,109,0,107,0,122,0,122,0,122,0,122,0,0,0,109,0,108,0,122,0,122,0,122,0,122,0,0,0,109,0,109,0,48,0,49,0,126,0,55,0,0,0,109,0,109,0,49,0,49,0,126,0,56,0,0,0,109,0,109,0,122,0,122,0,122,0,122,0,0,0,109,0,110,0,122,0,122,0,122,0,122,0,0,0,109,0,111,0,122,0,122,0,122,0,122,0,0,0,109,0,112,0,122,0,122,0,122,0,122,0,0,0,109,0,113,0,122,0,122,0,122,0,122,0,0,0,109,0,114,0,48,0,49,0,126,0,57,0,0,0,109,0,114,0,49,0,48,0,126,0,53,0,0,0,109,0,114,0,122,0,122,0,122,0,122,0,0,0,109,0,115,0,122,0,122,0,122,0,122,0,0,0,109,0,116,0,48,0,49,0,126,0,57,0,0,0,109,0,116,0,49,0,48,0,126,0,57,0,0,0,109,0,116,0,50,0,48,0,126,0,57,0,0,0,109,0,116,0,51,0,48,0,126,0,57,0,0,0,109,0,116,0,52,0,48,0,126,0,57,0,0,0,109,0,116,0,53,0,48,0,126,0,57,0,0,0,109,0,116,0,54,0,48,0,126,0,56,0,0,0,109,0,116,0,122,0,122,0,122,0,122,0,0,0,109,0,117,0,122,0,122,0,122,0,122,0,0,0,109,0,118,0,48,0,48,0,126,0,53,0,0,0,109,0,118,0,48,0,55,0,126,0,56,0,0,0,109,0,118,0,49,0,50,0,126,0,52,0,0,0,109,0,118,0,50,0,51,0,126,0,57,0,0,0,109,0,118,0,122,0,122,0,122,0,122,0,0,0,109,0,119,0,107,0,114,0,126,0,115,0,0,0,109,0,119,0,109,0,103,0,126,0,104,0,0,0,109,0,119,0,122,0,122,0,122,0,122,0,0,0,109,0,120,0,122,0,122,0,122,0,122,0,0,0,109,0,121,0,48,0,49,0,126,0,57,0,0,0,109,0,121,0,49,0,48,0,126,0,54,0,0,0,109,0,121,0,122,0,122,0,122,0,122,0,0,0,109,0,122,0,122,0,122,0,122,0,122,0,0,0,110,0,97,0,111,0,115,0,126,0,116,0,0,0,110,0,97,0,122,0,122,0,122,0,122,0,0,0,110,0,99,0,122,0,122,0,122,0,122,0,0,0,110,0,101,0,122,0,122,0,122,0,122,0,0,0,110,0,102,0,122,0,122,0,122,0,122,0,0,0,110,0,103,0,107,0,110,0,126,0,111,0,0,0,110,0,103,0,122,0,122,0,122,0,122,0,0,0,110,0,105,0,99,0,97,0,114,0,100,0,0,0,110,0,105,0,109,0,115,0,126,0,116,0,0,0,110,0,105,0,122,0,122,0,122,0,122,0,0,0,110,0,108,0,122,0,122,0,122,0,122,0,0,0,110,0,111,0,48,0,49,0,126,0,50,0,0,0,110,0,111,0,48,0,52,0,126,0,57,0,0,0,110,0,111,0,49,0,54,0,126,0,55,0,0,0,110,0,111,0,50,0,49,0,126,0,50,0,0,0,110,0,111,0,122,0,122,0,122,0,122,0,0,0,110,0,112,0,112,0,49,0,126,0,55,0,0,0,110,0,112,0,122,0,122,0,122,0,122,0,0,0,110,0,114,0,48,0,49,0,126,0,57,0,0,0,110,0,114,0,49,0,48,0,126,0,52,0,0,0,110,0,114,0,122,0,122,0,122,0,122,0,0,0,110,0,117,0,122,0,122,0,122,0,122,0,0,0,110,0,122,0,122,0,122,0,122,0,122,0,0,0,111,0,109,0,122,0,122,0,122,0,122,0,0,0,112,0,97,0,109,0,97,0,107,0,97,0,0,0,112,0,97,0,122,0,122,0,122,0,122,0,0,0,112,0,101,0,122,0,122,0,122,0,122,0,0,0,112,0,102,0,122,0,122,0,122,0,122,0,0,0,112,0,103,0,122,0,122,0,122,0,122,0,0,0,112,0,104,0,48,0,48,0,126,0,51,0,0,0,112,0,104,0,48,0,53,0,126,0,57,0,0,0,112,0,104,0,49,0,48,0,126,0,53,0,0,0,112,0,104,0,52,0,48,0,126,0,49,0,0,0,112,0,104,0,122,0,122,0,122,0,122,0,0,0,112,0,107,0,122,0,122,0,122,0,122,0,0,0,112,0,108,0,115,0,107,0,126,0,108,0,0,0,112,0,108,0,122,0,122,0,122,0,122,0,0,0,112,0,109,0,122,0,122,0,122,0,122,0,0,0,112,0,110,0,122,0,122,0,122,0,122,0,0,0,112,0,114,0,122,0,122,0,122,0,122,0,0,0,112,0,115,0,122,0,122,0,122,0,122,0,0,0,112,0,116,0,48,0,49,0,126,0,57,0,0,0,112,0,116,0,49,0,48,0,126,0,56,0,0,0,112,0,116,0,122,0,122,0,122,0,122,0,0,0,112,0,119,0,122,0,122,0,122,0,122,0,0,0,112,0,121,0,49,0,48,0,126,0,54,0,0,0,112,0,121,0,122,0,122,0,122,0,122,0,0,0,113,0,97,0,122,0,122,0,122,0,122,0,0,0,114,0,101,0,122,0,122,0,122,0,122,0,0,0,114,0,111,0,99,0,115,0,126,0,116,0,0,0,114,0,111,0,116,0,108,0,126,0,109,0,0,0,114,0,111,0,122,0,122,0,122,0,122,0,0,0,114,0,115,0,48,0,48,0,126,0,57,0,0,0,114,0,115,0,49,0,48,0,126,0,57,0,0,0,114,0,115,0,50,0,48,0,126,0,57,0,0,0,114,0,115,0,122,0,122,0,122,0,122,0,0,0,114,0,117,0,107,0,98,0,126,0,99,0,0,0,114,0,117,0,122,0,122,0,122,0,122,0,0,0,114,0,119,0,48,0,49,0,126,0,53,0,0,0,114,0,119,0,122,0,122,0,122,0,122,0,0,0,115,0,97,0,48,0,49,0,126,0,57,0,0,0,115,0,97,0,49,0,48,0,126,0,50,0,0,0,115,0,97,0,122,0,122,0,122,0,122,0,0,0,115,0,98,0,109,0,107,0,126,0,108,0,0,0,115,0,98,0,122,0,122,0,122,0,122,0,0,0,115,0,99,0,48,0,49,0,126,0,57,0,0,0,115,0,99,0,49,0,48,0,126,0,57,0,0,0,115,0,99,0,50,0,48,0,126,0,55,0,0,0,115,0,99,0,111,0,117,0,115,0,101,0,0,0,115,0,99,0,122,0,122,0,122,0,122,0,0,0,115,0,100,0,122,0,122,0,122,0,122,0,0,0,115,0,101,0,97,0,98,0,126,0,99,0,0,0,115,0,101,0,122,0,122,0,122,0,122,0,0,0,115,0,103,0,48,0,49,0,126,0,53,0,0,0,115,0,103,0,122,0,122,0,122,0,122,0,0,0,115,0,104,0,122,0,122,0,122,0,122,0,0,0,115,0,105,0,109,0,112,0,108,0,101,0,0,0,115,0,105,0,122,0,122,0,122,0,122,0,0,0,115,0,106,0,122,0,122,0,122,0,122,0,0,0,115,0,107,0,122,0,122,0,122,0,122,0,0,0,115,0,108,0,122,0,122,0,122,0,122,0,0,0,115,0,109,0,48,0,49,0,126,0,57,0,0,0,115,0,109,0,122,0,122,0,122,0,122,0,0,0,115,0,110,0,107,0,100,0,126,0,101,0,0,0,115,0,110,0,122,0,122,0,122,0,122,0,0,0,115,0,111,0,122,0,122,0,122,0,122,0,0,0,115,0,114,0,122,0,122,0,122,0,122,0,0,0,115,0,115,0,122,0,122,0,122,0,122,0,0,0,115,0,116,0,48,0,49,0,126,0,54,0,0,0,115,0,116,0,122,0,122,0,122,0,122,0,0,0,115,0,118,0,122,0,122,0,122,0,122,0,0,0,115,0,120,0,122,0,122,0,122,0,122,0,0,0,115,0,121,0,104,0,108,0,126,0,109,0,0,0,115,0,121,0,122,0,122,0,122,0,122,0,0,0,115,0,122,0,122,0,122,0,122,0,122,0,0,0,116,0,97,0,114,0,97,0,115,0,107,0,0,0,116,0,97,0,122,0,122,0,122,0,122,0,0,0,116,0,99,0,122,0,122,0,122,0,122,0,0,0,116,0,100,0,122,0,122,0,122,0,122,0,0,0,116,0,102,0,122,0,122,0,122,0,122,0,0,0,116,0,103,0,122,0,122,0,122,0,122,0,0,0,116,0,104,0,49,0,48,0,126,0,57,0,0,0,116,0,104,0,50,0,48,0,126,0,55,0,0,0,116,0,104,0,51,0,48,0,126,0,57,0,0,0,116,0,104,0,52,0,48,0,126,0,57,0,0,0,116,0,104,0,53,0,48,0,126,0,56,0,0,0,116,0,104,0,54,0,48,0,126,0,55,0,0,0,116,0,104,0,55,0,48,0,126,0,55,0,0,0,116,0,104,0,56,0,48,0,126,0,54,0,0,0,116,0,104,0,57,0,48,0,126,0,54,0,0,0,116,0,104,0,122,0,122,0,122,0,122,0,0,0,116,0,106,0,122,0,122,0,122,0,122,0,0,0,116,0,107,0,122,0,122,0,122,0,122,0,0,0,116,0,108,0,122,0,122,0,122,0,122,0,0,0,116,0,109,0,122,0,122,0,122,0,122,0,0,0,116,0,110,0,49,0,49,0,126,0,52,0,0,0,116,0,110,0,50,0,49,0,126,0,51,0,0,0,116,0,110,0,51,0,49,0,126,0,52,0,0,0,116,0,110,0,52,0,49,0,126,0,51,0,0,0,116,0,110,0,53,0,49,0,126,0,51,0,0,0,116,0,110,0,55,0,49,0,126,0,51,0,0,0,116,0,110,0,56,0,49,0,126,0,51,0,0,0,116,0,110,0,122,0,122,0,122,0,122,0,0,0,116,0,111,0,48,0,49,0,126,0,53,0,0,0,116,0,111,0,122,0,122,0,122,0,122,0,0,0,116,0,114,0,48,0,49,0,126,0,57,0,0,0,116,0,114,0,49,0,48,0,126,0,57,0,0,0,116,0,114,0,50,0,48,0,126,0,57,0,0,0,116,0,114,0,51,0,48,0,126,0,57,0,0,0,116,0,114,0,52,0,48,0,126,0,57,0,0,0,116,0,114,0,53,0,48,0,126,0,57,0,0,0,116,0,114,0,54,0,48,0,126,0,57,0,0,0,116,0,114,0,55,0,48,0,126,0,57,0,0,0,116,0,114,0,122,0,122,0,122,0,122,0,0,0,116,0,116,0,122,0,122,0,122,0,122,0,0,0,116,0,118,0,122,0,122,0,122,0,122,0,0,0,116,0,119,0,122,0,122,0,122,0,122,0,0,0,116,0,122,0,48,0,49,0,126,0,57,0,0,0,116,0,122,0,49,0,48,0,126,0,57,0,0,0,116,0,122,0,50,0,48,0,126,0,57,0,0,0,116,0,122,0,51,0,48,0,126,0,49,0,0,0,116,0,122,0,122,0,122,0,122,0,122,0,0,0,117,0,97,0,122,0,122,0,122,0,122,0,0,0,117,0,99,0,114,0,99,0,111,0,114,0,0,0,117,0,103,0,122,0,122,0,122,0,122,0,0,0,117,0,108,0,115,0,116,0,101,0,114,0,0,0,117,0,109,0,122,0,122,0,122,0,122,0,0,0,117,0,110,0,105,0,102,0,111,0,110,0,0,0,117,0,115,0,97,0,107,0,126,0,108,0,0,0,117,0,115,0,109,0,100,0,126,0,101,0,0,0,117,0,115,0,109,0,110,0,126,0,111,0,0,0,117,0,115,0,109,0,115,0,126,0,116,0,0,0,117,0,115,0,110,0,99,0,126,0,101,0,0,0,117,0,115,0,115,0,99,0,126,0,100,0,0,0,117,0,115,0,122,0,122,0,122,0,122,0,0,0,117,0,121,0,114,0,110,0,126,0,111,0,0,0,117,0,121,0,122,0,122,0,122,0,122,0,0,0,117,0,122,0,122,0,122,0,122,0,122,0,0,0,118,0,97,0,122,0,122,0,122,0,122,0,0,0,118,0,99,0,48,0,49,0,126,0,54,0,0,0,118,0,99,0,122,0,122,0,122,0,122,0,0,0,118,0,101,0,122,0,122,0,122,0,122,0,0,0,118,0,103,0,122,0,122,0,122,0,122,0,0,0,118,0,105,0,122,0,122,0,122,0,122,0,0,0,118,0,110,0,48,0,49,0,126,0,55,0,0,0,118,0,110,0,49,0,51,0,126,0,52,0,0,0,118,0,110,0,50,0,48,0,126,0,57,0,0,0,118,0,110,0,51,0,48,0,126,0,55,0,0,0,118,0,110,0,52,0,48,0,126,0,49,0,0,0,118,0,110,0,52,0,51,0,126,0,55,0,0,0,118,0,110,0,53,0,48,0,126,0,57,0,0,0,118,0,110,0,54,0,54,0,126,0,57,0,0,0,118,0,110,0,55,0,48,0,126,0,51,0,0,0,118,0,110,0,122,0,122,0,122,0,122,0,0,0,118,0,117,0,122,0,122,0,122,0,122,0,0,0,119,0,102,0,122,0,122,0,122,0,122,0,0,0,119,0,115,0,122,0,122,0,122,0,122,0,0,0,120,0,107,0,122,0,122,0,122,0,122,0,0,0,121,0,101,0,122,0,122,0,122,0,122,0,0,0,121,0,116,0,122,0,122,0,122,0,122,0,0,0,122,0,97,0,122,0,122,0,122,0,122,0,0,0,122,0,109,0,48,0,49,0,126,0,57,0,0,0,122,0,109,0,122,0,122,0,122,0,122,0,0,0,122,0,119,0,109,0,118,0,126,0,119,0,0,0,122,0,119,0,122,0,122,0,122,0,122,0,0,0,117,0,122,0,95,0,76,0,97,0,116,0,110,0,0,0,117,0,122,0,95,0,67,0,121,0,114,0,108,0,0,0,117,0,122,0,95,0,65,0,114,0,97,0,98,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,0,0,101,0,110,0,95,0,76,0,97,0,116,0,110,0,0,0,98,0,110,0,95,0,66,0,101,0,110,0,103,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,115,0,0,0,99,0,104,0,105,0,110,0,101,0,115,0,101,0,0,0,106,0,97,0,95,0,74,0,112,0,97,0,110,0,0,0,97,0,109,0,95,0,69,0,116,0,104,0,105,0,0,0,116,0,101,0,95,0,84,0,101,0,108,0,117,0,0,0,101,0,101,0,50,0,56,0,51,0,126,0,52,0,0,0,98,0,111,0,95,0,84,0,105,0,98,0,116,0,0,0,121,0,105,0,95,0,72,0,101,0,98,0,114,0,0,0,109,0,121,0,95,0,77,0,121,0,109,0,114,0,0,0,107,0,111,0,95,0,75,0,111,0,114,0,101,0,0,0,106,0,97,0,95,0,72,0,114,0,107,0,116,0,0,0,114,0,117,0,95,0,67,0,121,0,114,0,108,0,0,0,106,0,97,0,95,0,75,0,97,0,110,0,97,0,0,0,107,0,110,0,95,0,75,0,110,0,100,0,97,0,0,0,116,0,97,0,95,0,84,0,97,0,109,0,108,0,0,0,98,0,109,0,95,0,78,0,107,0,111,0,111,0,0,0,107,0,97,0,95,0,71,0,101,0,111,0,114,0,0,0,108,0,111,0,95,0,76,0,97,0,111,0,111,0,0,0,115,0,105,0,95,0,83,0,105,0,110,0,104,0,0,0,109,0,108,0,95,0,77,0,108,0,121,0,109,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,0,0,106,0,97,0,95,0,72,0,105,0,114,0,97,0,0,0,109,0,110,0,95,0,77,0,111,0,110,0,103,0,0,0,111,0,114,0,95,0,79,0,114,0,121,0,97,0,0,0,101,0,110,0,95,0,83,0,104,0,97,0,119,0,0,0,107,0,111,0,95,0,72,0,97,0,110,0,103,0,0,0,107,0,111,0,95,0,74,0,97,0,109,0,111,0,0,0,101,0,110,0,95,0,68,0,115,0,114,0,116,0,0,0,102,0,102,0,95,0,65,0,100,0,108,0,109,0,0,0,103,0,117,0,95,0,71,0,117,0,106,0,114,0,0,0,104,0,121,0,95,0,65,0,114,0,109,0,110,0,0,0,107,0,109,0,95,0,75,0,104,0,109,0,114,0,0,0,107,0,111,0,95,0,72,0,97,0,110,0,105,0,0,0,112,0,97,0,95,0,71,0,117,0,114,0,117,0,0,0,115,0,100,0,95,0,75,0,104,0,111,0,106,0,0,0,115,0,100,0,95,0,83,0,105,0,110,0,100,0,0,0,112,0,101,0,114,0,115,0,105,0,97,0,110,0,0,0,115,0,114,0,95,0,76,0,97,0,116,0,110,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,105,0,0,0,108,0,118,0,48,0,49,0,55,0,126,0,57,0,0,0,99,0,117,0,95,0,71,0,108,0,97,0,103,0,0,0,97,0,98,0,108,0,49,0,57,0,52,0,51,0,0,0,98,0,97,0,117,0,100,0,100,0,104,0,97,0,0,0,109,0,101,0,116,0,101,0,108,0,107,0,111,0,0,0,101,0,101,0,55,0,57,0,50,0,126,0,51,0,0,0,97,0,102,0,98,0,97,0,108,0,126,0,109,0,0,0,97,0,107,0,117,0,97,0,112,0,101,0,109,0,0,0,97,0,108,0,97,0,108,0,99,0,57,0,55,0,0,0,97,0,111,0,99,0,110,0,110,0,126,0,111,0,0,0,97,0,114,0,95,0,65,0,114,0,97,0,98,0,0,0,97,0,114,0,95,0,76,0,97,0,116,0,110,0,0,0,97,0,114,0,101,0,118,0,101,0,108,0,97,0,0,0,97,0,114,0,101,0,118,0,109,0,100,0,97,0,0,0,97,0,114,0,107,0,97,0,105,0,107,0,97,0,0,0,97,0,122,0,95,0,65,0,114,0,97,0,98,0,0,0,97,0,122,0,95,0,67,0,121,0,114,0,108,0,0,0,97,0,122,0,95,0,76,0,97,0,116,0,110,0,0,0,97,0,122,0,115,0,97,0,107,0,126,0,108,0,0,0,97,0,122,0,122,0,97,0,113,0,126,0,114,0,0,0,98,0,97,0,108,0,97,0,110,0,107,0,97,0,0,0,98,0,102,0,98,0,97,0,108,0,126,0,110,0,0,0,98,0,102,0,107,0,111,0,115,0,126,0,116,0,0,0,98,0,110,0,95,0,76,0,97,0,116,0,110,0,0,0,98,0,111,0,104,0,111,0,114,0,105,0,99,0,0,0,98,0,115,0,95,0,67,0,121,0,114,0,108,0,0,0,99,0,122,0,49,0,48,0,49,0,126,0,57,0,0,0,99,0,122,0,49,0,48,0,97,0,126,0,102,0,0,0,99,0,122,0,49,0,49,0,48,0,126,0,57,0,0,0,99,0,122,0,49,0,50,0,48,0,126,0,50,0,0,0,99,0,122,0,50,0,48,0,49,0,126,0,57,0,0,0,99,0,122,0,50,0,48,0,97,0,126,0,99,0,0,0,99,0,122,0,51,0,49,0,49,0,126,0,55,0,0,0,99,0,122,0,51,0,50,0,49,0,126,0,55,0,0,0,99,0,122,0,52,0,49,0,49,0,126,0,51,0,0,0,99,0,122,0,52,0,50,0,49,0,126,0,55,0,0,0,99,0,122,0,53,0,49,0,49,0,126,0,52,0,0,0,99,0,122,0,53,0,50,0,49,0,126,0,53,0,0,0,99,0,122,0,53,0,51,0,49,0,126,0,52,0,0,0,99,0,122,0,54,0,49,0,49,0,126,0,53,0,0,0,99,0,122,0,54,0,50,0,49,0,126,0,55,0,0,0,99,0,122,0,54,0,51,0,49,0,126,0,53,0,0,0,99,0,122,0,54,0,52,0,49,0,126,0,55,0,0,0,99,0,122,0,55,0,49,0,49,0,126,0,53,0,0,0,99,0,122,0,55,0,50,0,49,0,126,0,52,0,0,0,99,0,122,0,56,0,48,0,49,0,126,0,54,0,0,0,101,0,101,0,49,0,52,0,49,0,126,0,50,0,0,0,101,0,101,0,52,0,51,0,48,0,126,0,50,0,0,0,101,0,101,0,52,0,52,0,49,0,126,0,50,0,0,0,101,0,109,0,111,0,100,0,101,0,110,0,103,0,0,0,101,0,110,0,95,0,42,0,95,0,71,0,66,0,0,0,102,0,102,0,95,0,65,0,114,0,97,0,98,0,0,0,102,0,111,0,110,0,110,0,97,0,112,0,97,0,0,0,102,0,114,0,57,0,55,0,49,0,126,0,52,0,0,0,103,0,98,0,97,0,98,0,99,0,126,0,101,0,0,0,103,0,98,0,98,0,100,0,102,0,126,0,103,0,0,0,103,0,98,0,98,0,114,0,99,0,126,0,100,0,0,0,103,0,98,0,100,0,110,0,99,0,126,0,100,0,0,0,103,0,98,0,101,0,110,0,102,0,126,0,103,0,0,0,103,0,98,0,104,0,97,0,108,0,126,0,109,0,0,0,103,0,98,0,115,0,108,0,102,0,126,0,103,0,0,0,103,0,98,0,115,0,111,0,108,0,126,0,109,0,0,0,103,0,98,0,115,0,116,0,103,0,126,0,104,0,0,0,103,0,98,0,115,0,116,0,115,0,126,0,116,0,0,0,103,0,114,0,99,0,108,0,97,0,115,0,115,0,0,0,103,0,114,0,109,0,105,0,115,0,116,0,114,0,0,0,103,0,117,0,95,0,76,0,97,0,116,0,110,0,0,0,104,0,97,0,95,0,65,0,114,0,97,0,98,0,0,0,104,0,101,0,112,0,98,0,117,0,114,0,110,0,0,0,104,0,105,0,95,0,68,0,101,0,118,0,97,0,0,0,105,0,115,0,115,0,107,0,102,0,126,0,103,0,0,0,105,0,116,0,105,0,104,0,97,0,115,0,97,0,0,0,105,0,117,0,95,0,76,0,97,0,116,0,110,0,0,0,106,0,97,0,95,0,72,0,97,0,110,0,105,0,0,0,106,0,97,0,95,0,76,0,97,0,116,0,110,0,0,0,107,0,107,0,95,0,65,0,114,0,97,0,98,0,0,0,107,0,110,0,95,0,76,0,97,0,116,0,110,0,0,0,107,0,115,0,95,0,68,0,101,0,118,0,97,0,0,0,107,0,117,0,95,0,65,0,114,0,97,0,98,0,0,0,107,0,121,0,95,0,65,0,114,0,97,0,98,0,0,0,107,0,121,0,95,0,76,0,97,0,116,0,110,0,0,0,108,0,97,0,117,0,107,0,105,0,107,0,97,0,0,0,108,0,101,0,109,0,111,0,115,0,105,0,110,0,0,0,108,0,118,0,48,0,48,0,51,0,126,0,54,0,0,0,108,0,118,0,48,0,48,0,56,0,126,0,57,0,0,0,108,0,118,0,48,0,49,0,50,0,126,0,52,0,0,0,108,0,118,0,48,0,49,0,53,0,126,0,54,0,0,0,108,0,118,0,48,0,50,0,48,0,126,0,49,0,0,0,108,0,118,0,48,0,50,0,51,0,126,0,53,0,0,0,108,0,118,0,48,0,50,0,55,0,126,0,57,0,0,0,108,0,118,0,48,0,51,0,48,0,126,0,50,0,0,0,108,0,118,0,48,0,51,0,52,0,126,0,57,0,0,0,108,0,118,0,48,0,52,0,49,0,126,0,50,0,0,0,108,0,118,0,48,0,52,0,51,0,126,0,54,0,0,0,108,0,118,0,48,0,52,0,56,0,126,0,57,0,0,0,108,0,118,0,48,0,53,0,56,0,126,0,57,0,0,0,108,0,118,0,48,0,54,0,48,0,126,0,49,0,0,0,108,0,118,0,48,0,54,0,51,0,126,0,54,0,0,0,108,0,118,0,48,0,54,0,55,0,126,0,56,0,0,0,108,0,118,0,48,0,55,0,48,0,126,0,50,0,0,0,108,0,118,0,48,0,55,0,52,0,126,0,54,0,0,0,108,0,118,0,48,0,55,0,56,0,126,0,57,0,0,0,108,0,118,0,48,0,56,0,49,0,126,0,54,0,0,0,108,0,118,0,48,0,56,0,55,0,126,0,57,0,0,0,108,0,118,0,48,0,57,0,50,0,126,0,51,0,0,0,108,0,118,0,48,0,57,0,53,0,126,0,54,0,0,0,108,0,118,0,49,0,48,0,49,0,126,0,50,0,0,0,108,0,118,0,49,0,48,0,51,0,126,0,53,0,0,0,108,0,118,0,49,0,48,0,55,0,126,0,57,0,0,0,108,0,118,0,49,0,49,0,49,0,126,0,51,0,0,0,109,0,97,0,98,0,101,0,114,0,126,0,115,0,0,0,109,0,97,0,103,0,117,0,101,0,126,0,102,0,0,0,109,0,97,0,107,0,104,0,110,0,126,0,111,0,0,0,109,0,97,0,115,0,105,0,107,0,126,0,108,0,0,0,109,0,104,0,97,0,108,0,107,0,126,0,108,0,0,0,109,0,107,0,49,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,50,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,50,0,49,0,48,0,126,0,49,0,0,0,109,0,107,0,51,0,48,0,51,0,126,0,52,0,0,0,109,0,107,0,51,0,48,0,55,0,126,0,56,0,0,0,109,0,107,0,51,0,49,0,48,0,126,0,51,0,0,0,109,0,107,0,52,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,53,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,54,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,55,0,48,0,49,0,126,0,54,0,0,0,109,0,107,0,56,0,48,0,49,0,126,0,57,0,0,0,109,0,107,0,56,0,49,0,48,0,126,0,55,0,0,0,109,0,108,0,95,0,65,0,114,0,97,0,98,0,0,0,109,0,108,0,95,0,76,0,97,0,116,0,110,0,0,0,109,0,110,0,48,0,52,0,54,0,126,0,55,0,0,0,109,0,110,0,48,0,54,0,51,0,126,0,53,0,0,0,109,0,111,0,110,0,111,0,116,0,111,0,110,0,0,0,109,0,114,0,95,0,68,0,101,0,118,0,97,0,0,0,109,0,114,0,95,0,76,0,97,0,116,0,110,0,0,0,109,0,115,0,95,0,65,0,114,0,97,0,98,0,0,0,110,0,101,0,95,0,68,0,101,0,118,0,97,0,0,0,110,0,108,0,98,0,113,0,49,0,126,0,51,0,0,0,112,0,97,0,95,0,65,0,114,0,97,0,98,0,0,0,112,0,101,0,108,0,97,0,108,0,126,0,109,0,0,0,112,0,103,0,109,0,112,0,108,0,126,0,109,0,0,0,112,0,104,0,98,0,117,0,107,0,126,0,108,0,0,0,112,0,104,0,99,0,97,0,109,0,126,0,110,0,0,0,112,0,104,0,99,0,97,0,115,0,126,0,116,0,0,0,112,0,104,0,112,0,97,0,109,0,126,0,110,0,0,0,112,0,111,0,108,0,121,0,116,0,111,0,110,0,0,0,112,0,114,0,111,0,118,0,101,0,110,0,99,0,0,0,112,0,115,0,95,0,65,0,114,0,97,0,98,0,0,0,112,0,115,0,106,0,101,0,109,0,126,0,110,0,0,0,112,0,119,0,50,0,50,0,54,0,126,0,56,0,0,0,115,0,100,0,95,0,65,0,114,0,97,0,98,0,0,0,115,0,100,0,95,0,68,0,101,0,118,0,97,0,0,0,115,0,105,0,48,0,48,0,49,0,126,0,57,0,0,0,115,0,105,0,48,0,49,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,50,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,51,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,52,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,53,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,54,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,55,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,56,0,48,0,126,0,57,0,0,0,115,0,105,0,48,0,57,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,48,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,49,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,50,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,51,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,52,0,48,0,126,0,52,0,0,0,115,0,105,0,49,0,52,0,54,0,126,0,57,0,0,0,115,0,105,0,49,0,53,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,54,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,55,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,56,0,48,0,126,0,57,0,0,0,115,0,105,0,49,0,57,0,48,0,126,0,57,0,0,0,115,0,105,0,50,0,48,0,48,0,126,0,57,0,0,0,115,0,105,0,50,0,49,0,48,0,126,0,51,0,0,0,115,0,111,0,95,0,65,0,114,0,97,0,98,0,0,0,115,0,114,0,95,0,67,0,121,0,114,0,108,0,0,0,115,0,117,0,114,0,115,0,105,0,108,0,118,0,0,0,115,0,117,0,116,0,115,0,105,0,108,0,118,0,0,0,115,0,119,0,95,0,65,0,114,0,97,0,98,0,0,0,116,0,97,0,95,0,76,0,97,0,116,0,110,0,0,0,116,0,101,0,95,0,76,0,97,0,116,0,110,0,0,0,116,0,103,0,95,0,65,0,114,0,97,0,98,0,0,0,116,0,105,0,95,0,69,0,116,0,104,0,105,0,0,0,116,0,107,0,95,0,76,0,97,0,116,0,110,0,0,0,117,0,103,0,49,0,48,0,49,0,126,0,57,0,0,0,117,0,103,0,49,0,49,0,48,0,126,0,57,0,0,0,117,0,103,0,49,0,50,0,48,0,126,0,54,0,0,0,117,0,103,0,50,0,48,0,49,0,126,0,57,0,0,0,117,0,103,0,50,0,49,0,48,0,126,0,57,0,0,0,117,0,103,0,50,0,50,0,48,0,126,0,57,0,0,0,117,0,103,0,50,0,51,0,48,0,126,0,55,0,0,0,117,0,103,0,51,0,48,0,49,0,126,0,57,0,0,0,117,0,103,0,51,0,49,0,48,0,126,0,57,0,0,0,117,0,103,0,51,0,50,0,48,0,126,0,57,0,0,0,117,0,103,0,51,0,51,0,48,0,126,0,55,0,0,0,117,0,103,0,52,0,48,0,49,0,126,0,57,0,0,0,117,0,103,0,52,0,49,0,48,0,126,0,57,0,0,0,117,0,103,0,52,0,50,0,48,0,126,0,57,0,0,0,117,0,103,0,52,0,51,0,48,0,126,0,53,0,0,0,117,0,103,0,95,0,67,0,121,0,114,0,108,0,0,0,117,0,114,0,95,0,65,0,114,0,97,0,98,0,0,0,118,0,97,0,105,0,100,0,105,0,107,0,97,0,0,0,119,0,111,0,95,0,65,0,114,0,97,0,98,0,0,0,122,0,97,0,95,0,76,0,97,0,116,0,110,0,0,0,122,0,104,0,95,0,76,0,97,0,116,0,110,0,0,0,115,0,97,0,116,0,95,0,68,0,101,0,118,0,97,0,0,0,115,0,104,0,105,0,95,0,76,0,97,0,116,0,110,0,0,0,109,0,110,0,105,0,95,0,77,0,116,0,101,0,105,0,0,0,100,0,121,0,111,0,95,0,65,0,114,0,97,0,98,0,0,0,105,0,106,0,101,0,107,0,97,0,118,0,115,0,107,0,0,0,98,0,97,0,107,0,117,0,49,0,57,0,50,0,54,0,0,0,98,0,111,0,114,0,110,0,104,0,111,0,108,0,109,0,0,0,116,0,111,0,110,0,103,0,121,0,111,0,110,0,103,0,0,0,120,0,115,0,105,0,115,0,116,0,101,0,109,0,111,0,0,0,107,0,111,0,99,0,105,0,101,0,119,0,105,0,101,0,0,0,49,0,54,0,48,0,54,0,110,0,105,0,99,0,116,0,0,0,49,0,54,0,57,0,52,0,97,0,99,0,97,0,100,0,0,0,49,0,57,0,53,0,57,0,97,0,99,0,97,0,100,0,0,0,98,0,97,0,108,0,95,0,76,0,97,0,116,0,110,0,0,0,98,0,97,0,115,0,105,0,99,0,101,0,110,0,103,0,0,0,98,0,105,0,115,0,99,0,97,0,121,0,97,0,110,0,0,0,98,0,108,0,116,0,95,0,76,0,97,0,116,0,110,0,0,0,98,0,117,0,100,0,100,0,104,0,105,0,115,0,116,0,0,0,98,0,121,0,110,0,95,0,76,0,97,0,116,0,110,0,0,0,99,0,111,0,108,0,98,0,49,0,57,0,52,0,53,0,0,0,100,0,106,0,101,0,95,0,65,0,114,0,97,0,98,0,0,0,101,0,116,0,104,0,105,0,111,0,112,0,105,0,99,0,0,0,102,0,111,0,110,0,107,0,105,0,114,0,115,0,104,0,0,0,102,0,111,0,110,0,120,0,115,0,97,0,109,0,112,0,0,0,104,0,111,0,103,0,110,0,111,0,114,0,115,0,107,0,0,0,104,0,115,0,105,0,115,0,116,0,101,0,109,0,111,0,0,0,105,0,118,0,97,0,110,0,99,0,104,0,111,0,118,0,0,0,106,0,97,0,112,0,97,0,110,0,101,0,115,0,101,0,0,0,106,0,121,0,117,0,116,0,112,0,105,0,110,0,103,0,0,0,108,0,101,0,110,0,103,0,97,0,100,0,111,0,99,0,0,0,108,0,117,0,110,0,97,0,49,0,57,0,49,0,56,0,0,0,109,0,97,0,115,0,115,0,45,0,116,0,111,0,110,0,0,0,110,0,101,0,119,0,102,0,111,0,117,0,110,0,100,0,0,0,111,0,120,0,101,0,110,0,100,0,105,0,99,0,116,0,0,0,112,0,101,0,116,0,114,0,49,0,55,0,48,0,56,0,0,0,115,0,99,0,111,0,116,0,108,0,97,0,110,0,100,0,0,0,115,0,112,0,97,0,110,0,103,0,108,0,105,0,115,0,0,0,115,0,117,0,114,0,109,0,105,0,114,0,97,0,110,0,0,0,115,0,121,0,110,0,110,0,101,0,106,0,121,0,108,0,0,0,116,0,117,0,110,0,117,0,109,0,105,0,105,0,116,0,0,0,118,0,97,0,105,0,95,0,76,0,97,0,116,0,110,0,0,0,118,0,97,0,108,0,101,0,110,0,99,0,105,0,97,0,0,0,118,0,97,0,108,0,108,0,97,0,100,0,101,0,114,0,0,0,118,0,101,0,99,0,100,0,114,0,117,0,107,0,97,0,0,0,118,0,105,0,118,0,97,0,114,0,97,0,117,0,112,0,0,0,119,0,97,0,100,0,101,0,103,0,105,0,108,0,101,0,0,0,121,0,117,0,101,0,95,0,72,0,97,0,110,0,115,0,0,0,103,0,114,0,101,0,103,0,111,0,114,0,105,0,97,0,110,0,0,0,108,0,117,0,110,0,105,0,115,0,111,0,108,0,97,0,114,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,42,0,0,0,97,0,114,0,101,0,97,0,45,0,97,0,99,0,114,0,101,0,0,0,108,0,105,0,103,0,104,0,116,0,45,0,108,0,117,0,120,0,0,0,109,0,97,0,115,0,115,0,45,0,103,0,114,0,97,0,109,0,0,0,112,0,97,0,104,0,97,0,119,0,104,0,50,0,126,0,52,0,0,0,119,0,101,0,101,0,107,0,79,0,102,0,89,0,101,0,97,0,114,0,0,0,119,0,101,0,101,0,107,0,79,0,102,0,68,0,97,0,116,0,101,0,0,0,101,0,110,0,95,0,42,0,95,0,36,0,101,0,110,0,85,0,83,0,0,0,109,0,97,0,115,0,115,0,45,0,112,0,111,0,117,0,110,0,100,0,0,0,109,0,97,0,115,0,115,0,45,0,115,0,116,0,111,0,110,0,101,0,0,0,97,0,114,0,101,0,97,0,45,0,100,0,117,0,110,0,97,0,109,0,0,0,109,0,97,0,115,0,115,0,45,0,99,0,97,0,114,0,97,0,116,0,0,0,109,0,97,0,115,0,115,0,45,0,103,0,114,0,97,0,105,0,110,0,0,0,109,0,97,0,115,0,115,0,45,0,111,0,117,0,110,0,99,0,101,0,0,0,109,0,97,0,115,0,115,0,45,0,116,0,111,0,110,0,110,0,101,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,119,0,97,0,116,0,116,0,0,0,115,0,112,0,101,0,101,0,100,0,45,0,107,0,110,0,111,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,112,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,77,0,79,0,0,0,119,0,101,0,101,0,107,0,79,0,102,0,77,0,111,0,110,0,116,0,104,0,0,0,101,0,110,0,95,0,42,0,95,0,36,0,33,0,101,0,110,0,85,0,83,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,121,0,97,0,114,0,100,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,98,0,105,0,116,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,101,0,109,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,102,0,111,0,111,0,116,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,105,0,110,0,99,0,104,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,109,0,105,0,108,0,101,0,0,0,108,0,105,0,103,0,104,0,116,0,45,0,108,0,117,0,109,0,101,0,110,0,0,0,109,0,97,0,115,0,115,0,45,0,100,0,97,0,108,0,116,0,111,0,110,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,100,0,114,0,97,0,109,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,100,0,114,0,111,0,112,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,112,0,105,0,110,0,116,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,45,0,116,0,98,0,108,0,97,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,112,0,105,0,110,0,99,0,104,0,0,0,97,0,110,0,103,0,108,0,101,0,45,0,100,0,101,0,103,0,114,0,101,0,101,0,0,0,97,0,114,0,101,0,97,0,45,0,104,0,101,0,99,0,116,0,97,0,114,0,101,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,113,0,117,0,97,0,114,0,116,0,0,0,97,0,110,0,103,0,108,0,101,0,45,0,114,0,97,0,100,0,105,0,97,0,110,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,98,0,121,0,116,0,101,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,100,0,97,0,121,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,111,0,104,0,109,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,106,0,111,0,117,0,108,0,101,0,0,0,102,0,111,0,114,0,99,0,101,0,45,0,110,0,101,0,119,0,116,0,111,0,110,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,100,0,111,0,116,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,45,0,114,0,103,0,115,0,97,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,112,0,111,0,105,0,110,0,116,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,98,0,97,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,108,0,105,0,116,0,101,0,114,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,45,0,99,0,105,0,118,0,105,0,108,0,0,0,97,0,114,0,95,0,42,0,95,0,36,0,109,0,97,0,103,0,104,0,114,0,101,0,98,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,105,0,116,0,101,0,109,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,109,0,111,0,108,0,101,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,104,0,111,0,117,0,114,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,119,0,101,0,101,0,107,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,121,0,101,0,97,0,114,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,118,0,111,0,108,0,116,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,102,0,97,0,116,0,104,0,111,0,109,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,112,0,97,0,114,0,115,0,101,0,99,0,0,0,108,0,105,0,103,0,104,0,116,0,45,0,99,0,97,0,110,0,100,0,101,0,108,0,97,0,0,0,109,0,97,0,115,0,115,0,45,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,111,0,102,0,104,0,103,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,98,0,97,0,114,0,114,0,101,0,108,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,98,0,117,0,115,0,104,0,101,0,108,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,106,0,105,0,103,0,103,0,101,0,114,0,0,0,119,0,101,0,101,0,107,0,79,0,102,0,73,0,110,0,116,0,101,0,114,0,118,0,97,0,108,0,0,0,97,0,114,0,95,0,42,0,95,0,36,0,33,0,109,0,97,0,103,0,104,0,114,0,101,0,98,0,0,0,101,0,115,0,95,0,42,0,95,0,36,0,97,0,109,0,101,0,114,0,105,0,99,0,97,0,115,0,0,0,112,0,116,0,95,0,42,0,95,0,36,0,97,0,109,0,101,0,114,0,105,0,99,0,97,0,115,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,36,0,99,0,110,0,115,0,97,0,114,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,107,0,97,0,114,0,97,0,116,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,111,0,110,0,116,0,104,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,99,0,97,0,108,0,111,0,114,0,105,0,101,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,112,0,105,0,120,0,101,0,108,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,102,0,117,0,114,0,108,0,111,0,110,0,103,0,0,0,109,0,97,0,115,0,115,0,45,0,109,0,105,0,99,0,114,0,111,0,103,0,114,0,97,0,109,0,0,0,109,0,97,0,115,0,115,0,45,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,103,0,105,0,103,0,97,0,119,0,97,0,116,0,116,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,107,0,105,0,108,0,111,0,119,0,97,0,116,0,116,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,109,0,101,0,103,0,97,0,119,0,97,0,116,0,116,0,0,0,101,0,115,0,95,0,42,0,95,0,36,0,33,0,97,0,109,0,101,0,114,0,105,0,99,0,97,0,115,0,0,0,112,0,116,0,95,0,42,0,95,0,36,0,33,0,97,0,109,0,101,0,114,0,105,0,99,0,97,0,115,0,0,0,122,0,104,0,95,0,72,0,97,0,110,0,116,0,95,0,36,0,33,0,99,0,110,0,115,0,97,0,114,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,105,0,110,0,117,0,116,0,101,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,103,0,105,0,103,0,97,0,98,0,105,0,116,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,107,0,105,0,108,0,111,0,98,0,105,0,116,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,109,0,101,0,103,0,97,0,98,0,105,0,116,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,116,0,101,0,114,0,97,0,98,0,105,0,116,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,100,0,101,0,99,0,97,0,100,0,101,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,97,0,109,0,112,0,101,0,114,0,101,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,116,0,104,0,101,0,114,0,109,0,45,0,117,0,115,0,0,0,102,0,114,0,101,0,113,0,117,0,101,0,110,0,99,0,121,0,45,0,104,0,101,0,114,0,116,0,122,0,0,0,109,0,97,0,115,0,115,0,45,0,101,0,97,0,114,0,116,0,104,0,45,0,109,0,97,0,115,0,115,0,0,0,109,0,97,0,115,0,115,0,45,0,109,0,101,0,116,0,114,0,105,0,99,0,45,0,116,0,111,0,110,0,0,0,109,0,97,0,115,0,115,0,45,0,111,0,117,0,110,0,99,0,101,0,45,0,116,0,114,0,111,0,121,0,0,0,109,0,97,0,115,0,115,0,45,0,115,0,111,0,108,0,97,0,114,0,45,0,109,0,97,0,115,0,115,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,109,0,105,0,108,0,108,0,105,0,119,0,97,0,116,0,116,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,116,0,101,0,97,0,115,0,112,0,111,0,111,0,110,0,0,0,105,0,115,0,108,0,97,0,109,0,105,0,99,0,45,0,117,0,109,0,97,0,108,0,113,0,117,0,114,0,97,0,0,0,97,0,110,0,103,0,108,0,101,0,45,0,97,0,114,0,99,0,45,0,109,0,105,0,110,0,117,0,116,0,101,0,0,0,97,0,110,0,103,0,108,0,101,0,45,0,97,0,114,0,99,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,97,0,110,0,103,0,108,0,101,0,45,0,114,0,101,0,118,0,111,0,108,0,117,0,116,0,105,0,111,0,110,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,102,0,111,0,111,0,116,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,105,0,108,0,101,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,121,0,97,0,114,0,100,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,101,0,114,0,99,0,101,0,110,0,116,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,111,0,114,0,116,0,105,0,111,0,110,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,103,0,105,0,103,0,97,0,98,0,121,0,116,0,101,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,107,0,105,0,108,0,111,0,98,0,121,0,116,0,101,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,109,0,101,0,103,0,97,0,98,0,121,0,116,0,101,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,112,0,101,0,116,0,97,0,98,0,121,0,116,0,101,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,45,0,116,0,101,0,114,0,97,0,98,0,121,0,116,0,101,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,99,0,101,0,110,0,116,0,117,0,114,0,121,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,113,0,117,0,97,0,114,0,116,0,101,0,114,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,107,0,105,0,108,0,111,0,106,0,111,0,117,0,108,0,101,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,100,0,101,0,99,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,110,0,97,0,110,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,112,0,105,0,99,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,112,0,111,0,119,0,101,0,114,0,45,0,104,0,111,0,114,0,115,0,101,0,112,0,111,0,119,0,101,0,114,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,45,0,104,0,103,0,0,0,112,0,114,0,111,0,112,0,111,0,114,0,116,0,105,0,111,0,110,0,45,0,107,0,97,0,114,0,97,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,97,0,99,0,114,0,101,0,45,0,102,0,111,0,111,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,100,0,101,0,99,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,109,0,101,0,103,0,97,0,108,0,105,0,116,0,101,0,114,0,0,0,100,0,101,0,95,0,102,0,97,0,99,0,116,0,111,0,95,0,111,0,102,0,102,0,105,0,99,0,105,0,97,0,108,0,0,0,111,0,102,0,102,0,105,0,99,0,105,0,97,0,108,0,95,0,114,0,101,0,103,0,105,0,111,0,110,0,97,0,108,0,0,0,77,0,65,0,43,0,68,0,90,0,43,0,84,0,78,0,43,0,76,0,89,0,43,0,77,0,82,0,43,0,69,0,72,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,116,0,97,0,98,0,108,0,101,0,115,0,112,0,111,0,111,0,110,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,101,0,114,0,109,0,105,0,108,0,108,0,101,0,0,0,102,0,111,0,114,0,99,0,101,0,45,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,108,0,105,0,103,0,104,0,116,0,45,0,121,0,101,0,97,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,109,0,105,0,99,0,114,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,109,0,105,0,108,0,108,0,105,0,98,0,97,0,114,0,0,0,116,0,111,0,114,0,113,0,117,0,101,0,45,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,111,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,101,0,110,0,116,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,102,0,111,0,111,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,105,0,110,0,99,0,104,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,109,0,105,0,108,0,101,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,121,0,97,0,114,0,100,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,112,0,45,0,109,0,101,0,116,0,114,0,105,0,99,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,104,0,101,0,99,0,116,0,111,0,108,0,105,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,109,0,105,0,108,0,108,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,107,0,105,0,108,0,111,0,99,0,97,0,108,0,111,0,114,0,105,0,101,0,0,0,116,0,101,0,109,0,112,0,101,0,114,0,97,0,116,0,117,0,114,0,101,0,45,0,107,0,101,0,108,0,118,0,105,0,110,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,111,0,102,0,103,0,108,0,117,0,99,0,111,0,115,0,101,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,101,0,114,0,109,0,121,0,114,0,105,0,97,0,100,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,102,0,111,0,111,0,100,0,99,0,97,0,108,0,111,0,114,0,105,0,101,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,109,0,101,0,103,0,97,0,112,0,105,0,120,0,101,0,108,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,45,0,111,0,102,0,104,0,103,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,102,0,108,0,117,0,105,0,100,0,45,0,111,0,117,0,110,0,99,0,101,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,112,0,105,0,110,0,116,0,45,0,109,0,101,0,116,0,114,0,105,0,99,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,101,0,114,0,109,0,105,0,108,0,108,0,105,0,111,0,110,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,100,0,97,0,121,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,110,0,97,0,110,0,111,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,101,0,108,0,101,0,99,0,116,0,114,0,111,0,110,0,118,0,111,0,108,0,116,0,0,0,102,0,114,0,101,0,113,0,117,0,101,0,110,0,99,0,121,0,45,0,103,0,105,0,103,0,97,0,104,0,101,0,114,0,116,0,122,0,0,0,102,0,114,0,101,0,113,0,117,0,101,0,110,0,99,0,121,0,45,0,107,0,105,0,108,0,111,0,104,0,101,0,114,0,116,0,122,0,0,0,102,0,114,0,101,0,113,0,117,0,101,0,110,0,99,0,121,0,45,0,109,0,101,0,103,0,97,0,104,0,101,0,114,0,116,0,122,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,101,0,97,0,114,0,116,0,104,0,45,0,114,0,97,0,100,0,105,0,117,0,115,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,115,0,111,0,108,0,97,0,114,0,45,0,114,0,97,0,100,0,105,0,117,0,115,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,97,0,116,0,109,0,111,0,115,0,112,0,104,0,101,0,114,0,101,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,107,0,105,0,108,0,111,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,109,0,101,0,103,0,97,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,115,0,112,0,101,0,101,0,100,0,45,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,104,0,111,0,117,0,114,0,0,0,116,0,101,0,109,0,112,0,101,0,114,0,97,0,116,0,117,0,114,0,101,0,45,0,99,0,101,0,108,0,115,0,105,0,117,0,115,0,0,0,116,0,101,0,109,0,112,0,101,0,114,0,97,0,116,0,117,0,114,0,101,0,45,0,103,0,101,0,110,0,101,0,114,0,105,0,99,0,0,0,116,0,111,0,114,0,113,0,117,0,101,0,45,0,110,0,101,0,119,0,116,0,111,0,110,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,97,0,99,0,99,0,101,0,108,0,101,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,103,0,45,0,102,0,111,0,114,0,99,0,101,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,105,0,99,0,114,0,111,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,105,0,108,0,108,0,105,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,119,0,101,0,101,0,107,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,121,0,101,0,97,0,114,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,109,0,105,0,108,0,108,0,105,0,97,0,109,0,112,0,101,0,114,0,101,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,107,0,105,0,108,0,111,0,119,0,97,0,116,0,116,0,45,0,104,0,111,0,117,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,49,0,48,0,48,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,110,0,97,0,117,0,116,0,105,0,99,0,97,0,108,0,45,0,109,0,105,0,108,0,101,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,104,0,101,0,99,0,116,0,111,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,100,0,101,0,115,0,115,0,101,0,114,0,116,0,45,0,115,0,112,0,111,0,111,0,110,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,111,0,110,0,116,0,104,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,100,0,111,0,116,0,45,0,112,0,101,0,114,0,45,0,105,0,110,0,99,0,104,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,113,0,117,0,97,0,114,0,116,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,116,0,101,0,109,0,112,0,101,0,114,0,97,0,116,0,117,0,114,0,101,0,45,0,102,0,97,0,104,0,114,0,101,0,110,0,104,0,101,0,105,0,116,0,0,0,97,0,114,0,101,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,105,0,103,0,104,0,116,0,45,0,115,0,111,0,108,0,97,0,114,0,45,0,108,0,117,0,109,0,105,0,110,0,111,0,115,0,105,0,116,0,121,0,0,0,115,0,112,0,101,0,101,0,100,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,112,0,105,0,120,0,101,0,108,0,45,0,112,0,101,0,114,0,45,0,105,0,110,0,99,0,104,0,0,0,116,0,111,0,114,0,113,0,117,0,101,0,45,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,45,0,102,0,111,0,111,0,116,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,109,0,105,0,108,0,101,0,45,0,115,0,99,0,97,0,110,0,100,0,105,0,110,0,97,0,118,0,105,0,97,0,110,0,0,0,108,0,101,0,110,0,103,0,116,0,104,0,45,0,97,0,115,0,116,0,114,0,111,0,110,0,111,0,109,0,105,0,99,0,97,0,108,0,45,0,117,0,110,0,105,0,116,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,45,0,111,0,102,0,104,0,103,0,0,0,115,0,112,0,101,0,101,0,100,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,104,0,111,0,117,0,114,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,112,0,97,0,114,0,116,0,45,0,112,0,101,0,114,0,45,0,109,0,105,0,108,0,108,0,105,0,111,0,110,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,45,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,45,0,98,0,114,0,105,0,116,0,105,0,115,0,104,0,45,0,116,0,104,0,101,0,114,0,109,0,97,0,108,0,45,0,117,0,110,0,105,0,116,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,100,0,111,0,116,0,45,0,112,0,101,0,114,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,102,0,108,0,117,0,105,0,100,0,45,0,111,0,117,0,110,0,99,0,101,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,109,0,105,0,108,0,108,0,105,0,109,0,111,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,108,0,105,0,116,0,101,0,114,0,0,0,65,0,83,0,43,0,67,0,65,0,43,0,71,0,85,0,43,0,77,0,72,0,43,0,77,0,80,0,43,0,80,0,72,0,43,0,80,0,82,0,43,0,85,0,77,0,43,0,85,0,83,0,43,0,86,0,73,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,45,0,112,0,105,0,120,0,101,0,108,0,45,0,112,0,101,0,114,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,118,0,111,0,108,0,117,0,109,0,101,0,45,0,100,0,101,0,115,0,115,0,101,0,114,0,116,0,45,0,115,0,112,0,111,0,111,0,110,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,45,0,111,0,102,0,45,0,109,0,101,0,114,0,99,0,117,0,114,0,121,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,112,0,111,0,117,0,110,0,100,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,45,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,45,0,112,0,101,0,114,0,45,0,100,0,101,0,99,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,45,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,49,0,48,0,48,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,45,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,49,0,48,0,48,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,115,0,0,0,97,0,99,0,99,0,101,0,108,0,101,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,45,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,0,0,97,0,99,0,99,0,101,0,108,0,101,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,100,0,0,0,102,0,111,0,114,0,99,0,101,0,45,0,107,0,105,0,108,0,111,0,119,0,97,0,116,0,116,0,45,0,104,0,111,0,117,0,114,0,45,0,112,0,101,0,114,0,45,0,49,0,48,0,48,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,42,220,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,45,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,45,0,111,0,102,0,103,0,108,0,117,0,99,0,111,0,115,0,101,0,45,0,112,0,101,0,114,0,45,0,100,0,101,0,99,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,1,0,54,205,5,0,54,205,158,210,215,195,143,207,178,206,5,0,15,197,54,205,215,195,143,207,178,206,3,0,54,205,143,207,178,206,3,0,54,205,143,207,178,206,4,0,54,205,215,195,143,207,178,206,5,0,54,205,158,210,215,195,143,207,178,206,2,0,54,205,247,195,2,0,54,205,247,195,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,5,0,54,205,217,178,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,2,0,54,205,76,204,2,0,54,205,247,195,4,0,54,205,215,195,143,207,178,206,5,0,54,205,84,185,215,195,143,207,178,206,2,0,54,205,59,186,4,0,54,205,215,195,143,207,178,206,5,0,15,197,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,2,0,54,205,130,204,4,0,54,205,215,195,143,207,178,206,2,0,54,205,20,143,5,0,54,205,158,210,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,2,0,54,205,247,195,4,0,54,205,215,195,143,207,178,206,3,0,54,205,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,5,0,54,205,158,210,215,195,143,207,178,206,4,0,158,210,54,205,215,195,78,207,4,0,54,205,215,195,143,207,178,206,2,0,54,205,247,195,4,0,54,205,215,195,143,207,178,206,4,0,54,205,215,195,143,207,178,206,2,0,40,204,54,205,3,0,54,205,143,207,178,206,3,0,54,205,143,207,178,206,4,0,54,205,215,195,143,207,178,206,3,0,54,205,143,207,178,206,3,0,54,205,95,32,247,195,3,0,54,205,143,207,178,206,3,0,54,205,143,207,178,206,4,0,54,205,215,195,143,207,178,206,3,0,220,2,71,4,83,11,3,0,180,1,72,135,119,11,3,0,70,0,12,108,143,11,3,0,136,1,90,111,99,11,3,0,121,108,84,135,167,11,3,0,127,108,99,10,107,11,3,0,88,2,60,135,111,11,3,0,56,2,220,134,151,11,3,0,124,2,19,10,123,11,3,0,117,106,78,135,103,11,3,0,139,0,96,111,163,11,3,0,131,107,96,135,147,11,3,0,100,0,208,134,159,11,3,0,193,105,214,134,179,11,3,0,133,108,108,135,175,11,3,0,103,0,98,112,87,11,3,0,142,0,175,9,31,2,3,0,188,1,90,135,183,11,3,0,164,1,132,135,239,11,3,0,139,108,190,110,11,12,3,0,168,1,102,111,223,11,3,0,205,105,202,110,207,4,3,0,49,0,183,10,219,11,3,0,25,0,108,111,147,1,3,0,106,0,120,135,231,11,3,0,52,0,152,112,199,11,3,0,73,0,58,134,211,11,3,0,145,0,91,10,243,11,3,0,205,111,126,135,255,11,3,0,48,2,174,135,247,4,3,0,213,106,232,134,235,4,3,0,109,0,23,10,215,11,3,0,123,106,150,135,7,12,3,0,145,108,114,135,235,11,3,0,112,0,30,135,171,2,3,0,148,0,44,109,31,12,3,0,151,0,144,135,35,12,3,0,41,107,138,135,39,12,3,0,216,1,244,134,247,11,3,0,137,107,156,135,251,11,3,0,76,1,254,112,55,12,3,0,151,108,240,135,59,12,3,0,96,1,40,113,87,12,3,0,228,1,186,135,51,12,3,0,64,2,252,135,91,12,3,0,235,105,15,4,175,2,3,0,28,0,235,9,71,12,3,0,211,111,2,136,95,12,3,0,143,107,22,113,63,12,3,0,141,106,180,135,79,12,3,0,52,1,110,109,67,12,3,0,217,108,28,113,99,12,3,0,149,107,46,113,111,12,3,0,112,2,67,4,63,2,3,0,223,108,58,113,123,12,3,0,215,107,4,113,107,12,3,0,115,0,76,134,127,12,3,0,217,111,234,135,55,9,3,0,253,105,8,136,63,5,3,0,19,0,56,112,135,12,3,0,152,2,215,9,143,12,3,0,133,105,211,9,151,12,3,0,31,0,107,3,155,12,3,0,3,106,62,112,159,12,3,0,47,107,120,111,71,1,3,0,155,107,102,108,163,12,3,0,13,0,66,135,167,12,3,0,219,106,126,111,171,12,3,0,108,1,26,136,195,12,3,0,55,0,43,4,183,12,3,0,173,212,248,109,191,12,3,0,39,106,64,113,187,12,3,0,64,1,100,134,95,5,3,0,10,0,20,136,83,1,3,0,148,2,167,2,91,6,3,0,211,105,171,9,203,12,3,0,45,106,103,3,207,12,3,0,229,111,99,3,151,1,3,0,51,106,55,10,223,12,3,0,80,2,32,136,219,12,3,0,181,105,183,9,211,12,3,0,157,0,179,9,227,12,3,0,72,2,199,9,231,12,3,0,139,105,47,4,235,12,3,0,157,108,0,135,135,5,3,0,58,0,203,9,243,12,3,0,52,2,187,9,43,13,3,0,235,111,167,10,247,12,3,0,223,105,219,9,251,12,3,0,163,108,115,3,3,13,3,0,160,0,250,134,39,13,3,0,53,107,111,3,15,13,3,0,116,1,68,112,7,13,3,0,128,2,64,134,11,13,3,0,129,106,48,135,23,13,3,0,148,1,223,9,35,13,3,0,144,2,167,9,23,15,3,0,161,107,70,113,35,2,3,0,118,0,70,134,39,2,3,0,221,107,230,109,19,13,3,0,59,107,76,113,47,13,3,0,147,106,123,3,211,1,3,0,120,2,38,136,59,13,3,0,229,108,119,3,63,13,3,0,92,1,52,113,71,13,3,0,76,0,82,113,75,13,3,0,34,0,127,3,79,13,3,0,4,0,139,3,83,13,3,0,57,106,227,9,111,13,3,0,153,106,151,3,127,13,3,0,169,108,175,10,99,13,3,0,121,105,135,3,103,13,3,0,241,111,162,135,107,13,3,0,37,0,147,3,119,13,3,0,56,1,143,3,115,13,3,0,121,0,131,3,123,13,3,0,104,1,231,9,115,2,3,0,175,108,171,10,139,13,3,0,159,106,155,3,135,13,3,0,79,0,167,3,143,13,3,0,124,0,159,3,147,13,3,0,163,105,158,112,151,13,3,0,212,1,94,113,155,13,3,0,127,0,248,112,119,2,3,0,65,107,218,109,159,13,3,0,160,1,34,113,103,12,3,0,181,108,95,10,163,13,3,0,172,1,164,112,151,14,3,0,244,1,60,108,167,13,3,0,82,0,88,113,179,13,3,0,247,111,10,113,131,12,3,0,40,0,163,3,187,1,3,0,32,2,100,113,183,13,3,0,236,1,74,112,47,2,3,0,187,108,103,10,191,13,3,0,192,1,239,9,195,13,3,0,152,1,16,113,199,13,3,0,193,108,112,113,187,13,3,0,71,107,80,112,219,1,3,0,124,1,171,3,207,13,3,0,241,105,112,134,223,13,3,0,132,1,50,136,223,1,3,0,85,0,118,113,215,1,3,0,72,1,170,112,235,13,3,0,130,0,3,10,239,13,3,0,84,2,195,3,243,13,3,0,133,0,7,10,127,1,3,0,12,2,242,109,251,5,3,0,165,106,243,9,251,13,3,0,88,0,59,10,7,14,3,0,4,2,206,112,179,2,3,0,43,0,247,9,191,1,3,0,252,1,44,109,19,14,3,0,60,2,191,3,23,14,3,0,75,109,244,107,211,2,3,0,140,2,47,10,155,1,3,0,163,0,255,9,43,14,3,0,68,2,250,107,31,14,3,0,253,111,11,10,231,1,3,0,9,106,251,9,123,1,3,0,63,106,0,108,47,14,3,0,77,107,183,3,255,13,3,0,171,106,175,3,55,14,3,0,225,106,187,3,3,14,3,0,69,106,179,3,59,14,3,0,199,105,6,135,27,14,3,0,15,106,199,3,55,2,3,0,136,0,31,10,71,14,3,0,128,1,35,10,75,14,3,0,3,112,43,10,79,14,3,0,169,105,215,3,83,14,3,0,167,107,211,3,99,2,3,0,175,105,224,109,91,14,3,0,46,0,219,3,99,14,3,0,156,1,92,112,99,1,3,0,177,106,15,10,35,1,3,0,20,2,27,10,103,14,3,0,83,107,39,10,87,14,3,0,183,106,207,3,107,14,3,0,240,1,86,112,59,2,3,0,173,107,71,10,123,2,3,0,179,107,176,112,119,14,3,0,208,1,191,9,171,14,3,0,189,106,223,3,139,14,3,0,7,0,182,112,127,14,3,0,151,105,6,108,111,14,3,0,100,1,79,10,143,14,3,0,132,2,107,10,131,2,3,0,9,112,75,10,51,1,3,0,235,108,87,10,147,14,3,0,166,0,207,9,163,14,3,0,247,105,83,10,155,14,3,0,195,106,63,10,131,14,3,0,231,106,227,3,159,14,3,0,91,0,104,112,175,14,3,0,187,0,75,4,179,14,3,0,190,0,79,4,183,14,3,0,169,0,83,4,187,14,3,0,193,0,87,4,191,14,3,0,68,9,91,4,195,14,3,0,196,0,95,4,199,14,3,0,199,0,99,4,203,14,3,0,202,0,39,11,207,14,3,0,172,0,167,2,91,6,3,0,205,0,103,4,211,14,3,0,208,0,107,4,215,14,3,0,211,0,111,4,219,14,3,0,214,0,122,112,223,14,3,0,217,0,128,112,227,14,3,0,0,2,236,109,231,14,3,0,80,1,94,134,243,14,3,0,68,1,123,10,39,15,3,0,36,1,110,112,251,14,3,0,75,106,116,112,255,14,3,0,248,1,243,3,3,15,3,0,89,107,238,134,235,1,3,0,201,106,247,3,71,15,3,0,81,106,135,10,11,15,3,0,87,106,11,4,63,15,3,0,93,106,188,112,127,2,3,0,15,112,235,3,27,15,3,0,217,105,18,135,199,1,3,0,44,2,143,10,31,15,3,0,88,1,12,135,59,15,3,0,99,106,251,3,135,6,3,0,76,2,115,10,67,2,3,0,48,1,119,10,19,15,3,0,220,1,200,112,239,1,3,0,232,1,139,10,159,6,3,0,95,107,3,4,47,15,3,0,81,109,239,3,135,2,3,0,28,2,24,135,51,15,3,0,185,107,132,111,131,1,3,0,199,108,88,134,63,9,3,0,61,0,19,4,75,15,3,0,101,107,7,4,67,15,3,0,21,112,254,109,75,1,3,0,184,1,204,135,79,15,3,0,108,2,195,9,107,2,3,0,176,1,151,10,83,15,3,0,84,1,23,4,87,15,3,0,94,0,147,10,91,15,3,0,205,108,155,10,99,15,3,0,227,107,231,3,103,15,3,0,36,2,159,10,159,1,3,0,144,1,35,4,215,2,3,0,107,107,27,4,111,15,3,0,136,2,231,3,139,2,3,0,22,0,118,134,127,15,3,0,113,107,31,4,123,15,3,0,119,107,163,10,131,15,3,0,175,0,228,135,135,15,3,0,229,105,18,108,139,15,3,0,120,1,106,134,243,1,3,0,157,105,39,4,71,2,3,0,40,2,51,10,147,15,3,0,154,205,51,4,247,1,3,0,241,108,55,4,151,15,3,0,97,0,59,4,163,15,3,0,224,1,44,136,167,15,3,0,125,107,111,10,171,15,3,0,191,107,187,10,179,15,3,0,211,108,168,135,183,15,3,0,41,219,179,10,55,1,3,0,200,1,194,112,187,15,3,0,105,106,203,3,195,15,3,0,140,1,191,10,199,15,3,0,207,106,63,4,75,2,3,0,220,0,134,112,219,2,3,0,223,0,140,112,3,7,3,0,226,0,115,4,207,15,3,0,229,0,24,108,211,15,3,0,232,0,119,4,107,1,3,0,235,0,123,4,215,15,3,0,238,0,127,4,223,15,3,0,241,0,131,4,227,15,3,0,244,0,135,4,231,15,3,0,247,0,43,11,235,15,3,0,64,0,47,11,239,15,3,0,250,0,139,4,243,15,3,0,64,9,143,4,251,1,3,0,204,2,147,4,247,15,3,0,253,0,51,11,251,15,3,0,60,9,55,11,255,15,3,0,0,1,59,11,67,9,3,0,56,9,157,178,3,16,3,0,3,1,63,11,7,16,3,0,6,1,67,11,11,16,3,0,9,1,71,11,15,16,3,0,208,2,146,43,19,16,3,0,12,1,75,11,23,16,3,0,96,2,120,69,95,2,3,0,15,1,151,4,27,16,3,0,18,1,79,11,31,16,3,0,16,2,131,10,83,2,3,0,67,0,199,10,35,16,3,0,196,1,246,135,195,1,3,0,24,2,67,4,43,16,3,0,145,105,255,3,135,1,3,0,21,106,203,10,51,16,3,0,178,0,40,113,183,2,3,0,111,106,127,10,67,16,3,0,224,2,155,4,223,2,2,0,159,4,12,108,2,0,163,4,122,112,2,0,167,4,194,178,2,0,171,4,187,43,2,0,175,4,82,134,2,0,179,4,134,112,2,0,67,1,80,70,2,0,183,4,85,70,2,0,187,4,98,112,2,0,191,4,247,10,2,0,195,4,119,4,2,0,199,4,192,43,2,0,203,4,66,44,2,0,211,4,115,4,2,0,215,4,100,70,2,0,219,4,152,112,2,0,223,4,120,70,2,0,227,4,140,70,2,0,231,4,125,70,2,0,239,4,139,4,2,0,243,4,147,4,2,0,251,4,95,70,2,0,171,2,197,43,2,0,255,4,202,43,2,0,3,5,140,112,2,0,7,5,105,70,2,0,11,5,254,112,2,0,15,5,24,108,2,0,175,2,255,10,2,0,19,5,15,4,2,0,23,5,3,11,2,0,75,12,157,178,2,0,27,5,22,113,2,0,31,5,110,109,2,0,35,5,110,109,2,0,39,5,28,113,2,0,43,5,111,4,2,0,47,5,46,113,2,0,51,5,219,10,2,0,55,5,58,113,2,0,59,5,4,113,2,0,67,5,56,112,2,0,71,5,107,3,2,0,75,5,62,112,2,0,79,5,102,108,2,0,83,5,145,70,2,0,87,5,43,4,2,0,91,5,64,113,2,0,99,5,14,136,2,0,103,5,123,4,2,0,107,5,103,3,2,0,171,1,99,3,2,0,111,5,47,4,2,0,115,5,135,4,2,0,119,5,227,10,2,0,123,5,115,3,2,0,127,5,111,3,2,0,131,5,68,112,2,0,139,5,70,113,2,0,143,5,76,113,2,0,147,5,123,3,2,0,151,5,119,3,2,0,155,5,52,113,2,0,175,1,82,113,2,0,159,5,127,3,2,0,163,5,139,3,2,0,167,5,151,3,2,0,171,5,135,3,2,0,175,5,147,3,2,0,179,5,143,3,2,0,87,1,131,3,2,0,183,5,155,3,2,0,187,5,167,3,2,0,191,5,159,3,2,0,195,5,158,112,2,0,199,5,94,113,2,0,91,1,248,112,2,0,11,2,34,113,2,0,203,5,164,112,2,0,207,5,60,108,2,0,211,5,88,113,2,0,215,5,10,113,2,0,219,5,163,3,2,0,223,5,100,113,2,0,227,5,74,112,2,0,231,5,16,113,2,0,235,5,112,113,2,0,239,5,80,112,2,0,243,5,171,3,2,0,15,2,118,113,2,0,247,5,170,112,2,0,255,5,195,3,2,0,3,6,107,4,2,0,179,2,206,112,2,0,7,6,44,109,2,0,19,2,191,3,2,0,11,6,244,107,2,0,79,1,250,107,2,0,15,6,211,10,2,0,19,6,0,108,2,0,23,6,183,3,2,0,27,6,175,3,2,0,203,2,187,3,2,0,207,2,127,4,2,0,31,6,179,3,2,0,35,6,59,197,2,0,179,1,199,3,2,0,115,1,215,3,2,0,39,6,211,3,2,0,43,6,219,3,2,0,47,6,92,112,2,0,51,6,207,3,2,0,55,6,86,112,2,0,59,6,67,10,2,0,63,6,176,112,2,0,67,6,223,3,2,0,71,6,182,112,2,0,75,6,6,108,2,0,79,6,143,4,2,0,83,6,227,3,2,0,87,6,104,112,2,0,95,6,251,10,2,0,99,6,243,10,2,0,103,6,110,112,2,0,139,1,116,112,2,0,107,6,243,3,2,0,111,6,110,70,2,0,115,6,247,3,2,0,119,6,235,10,2,0,123,6,11,4,2,0,127,6,188,112,2,0,131,6,235,3,2,0,139,6,251,3,2,0,143,6,200,112,2,0,147,6,103,4,2,0,151,6,3,4,2,0,155,6,239,3,2,0,143,1,215,10,2,0,163,6,19,4,2,0,167,6,7,4,2,0,171,6,23,4,2,0,175,6,128,112,2,0,179,6,223,10,2,0,183,6,35,4,2,0,187,6,27,4,2,0,191,6,7,11,2,0,183,1,31,4,2,0,195,6,4,110,2,0,199,6,18,108,2,0,203,6,131,4,2,0,207,6,39,4,2,0,211,6,51,4,2,0,47,1,151,4,2,0,215,6,239,10,2,0,23,2,55,4,2,0,219,6,207,10,2,0,223,6,59,4,2,0,227,6,193,203,2,0,231,6,231,10,2,0,63,1,10,110,2,0,235,6,194,112,2,0,239,6,203,3,2,0,243,6,63,4,2,0,247,6,11,11,2,0,251,6,83,4,2,0,255,6,75,4,2,0,163,1,27,11,2,0,3,7,31,11,2,0,203,15,35,11,2,0,167,1,71,4,2,0,95,1,15,11,2,0,7,7,79,4,2,0,11,7,19,11,2,0,15,7,95,4,2,0,207,1,23,11,2,0,19,7,87,4,2,0,27,2,146,43,2,0,23,7,91,4,2,0,119,1,99,4,2,0,95,2,155,4,2,0,27,7,195,10,2,0,183,2,255,3,2,0,31,7,167,2,139,0,91,11,95,11,115,11,127,11,131,11,135,11,139,11,102,136,155,11,171,11,187,11,191,11,195,11,203,11,207,11,207,4,108,136,227,11,235,4,3,12,239,4,114,136,15,12,247,4,19,12,23,12,27,12,43,12,3,5,175,2,23,5,120,136,31,5,83,12,43,5,115,12,119,12,63,5,139,12,147,12,111,2,175,12,179,12,126,136,95,5,199,12,215,12,239,12,255,12,27,13,31,13,135,5,51,13,55,13,67,13,87,13,91,13,95,13,43,2,131,13,171,13,175,13,243,5,203,13,211,13,215,13,219,13,227,13,231,13,251,5,227,1,247,13,51,2,11,14,15,14,79,1,35,14,39,14,51,14,59,9,207,2,63,14,67,14,99,2,95,14,115,14,123,14,135,14,167,14,235,14,239,14,247,14,7,15,15,15,103,1,35,15,43,15,155,6,159,6,55,15,95,15,107,15,115,15,119,15,143,15,143,2,47,1,155,15,215,6,159,15,219,6,175,15,227,6,231,6,191,15,251,6,255,6,138,136,7,7,147,2,79,2,219,15,15,7,19,7,255,1,27,2,23,7,119,1,151,2,39,16,144,136,47,16,87,2,3,2,55,16,59,16,63,16,71,16,75,16,156,0,159,4,163,4,167,4,171,4,175,4,179,4,67,1,183,4,187,4,191,4,195,4,199,4,203,4,211,4,215,4,219,4,223,4,227,4,231,4,243,4,251,4,171,2,255,4,47,12,7,5,11,5,15,5,19,5,27,5,35,5,39,5,47,5,51,5,55,5,59,5,67,5,71,5,75,5,79,5,83,5,87,5,91,5,99,5,103,5,107,5,171,1,111,5,115,5,119,5,123,5,127,5,131,5,139,5,143,5,147,5,151,5,155,5,175,1,159,5,163,5,167,5,171,5,175,5,179,5,87,1,183,5,187,5,191,5,195,5,199,5,91,1,11,2,203,5,207,5,211,5,215,5,219,5,223,5,227,5,231,5,235,5,239,5,15,2,247,5,255,5,3,6,179,2,7,6,19,2,11,6,15,6,19,6,23,6,27,6,203,2,31,6,35,6,179,1,115,1,39,6,43,6,47,6,51,6,55,6,59,6,63,6,67,6,71,6,75,6,79,6,83,6,87,6,95,6,99,6,103,6,139,1,107,6,111,6,115,6,119,6,123,6,127,6,131,6,135,6,139,6,143,6,147,6,151,6,143,1,163,6,167,6,171,6,175,6,179,6,183,6,187,6,191,6,183,1,195,6,199,6,203,6,207,6,211,6,23,2,223,6,63,1,235,6,239,6,243,6,247,6,95,1,11,7,207,1,27,7,183,2,31,7,18,1,83,16,131,16,136,43,159,16,104,137,199,16,122,42,195,39,31,17,71,17,123,17,118,138,139,17,182,109,55,7,151,17,155,17,183,17,21,109,187,17,195,17,199,17,203,17,59,7,215,17,188,109,223,17,3,18,11,18,19,18,31,18,35,18,43,18,51,18,63,18,71,18,79,18,87,18,95,18,195,18,203,18,28,110,239,18,34,110,243,18,247,18,19,19,39,19,43,19,55,19,91,19,95,19,158,41,115,19,67,197,119,19,127,19,131,19,224,40,139,19,234,40,179,19,191,19,195,19,52,110,219,19,239,19,19,20,163,20,188,41,187,20,207,20,220,203,205,69,35,21,143,21,223,21,231,21,235,21,132,42,11,22,106,147,19,22,39,22,142,42,71,22,103,22,195,22,203,22,206,109,239,22,27,23,39,23,71,23,143,23,215,23,223,23,67,24,83,24,87,24,91,24,235,178,160,9,239,24,195,69,31,25,16,44,162,43,187,25,191,25,250,150,199,25,235,25,239,25,243,25,247,25,251,25,195,2,75,9,7,26,15,26,242,42,23,26,27,26,39,26,43,26,51,26,59,26,63,26,67,26,71,26,75,26,79,26,61,43,87,26,107,26,127,26,130,134,155,69,39,70,152,109,107,8,18,41,103,27,131,27,135,27,139,27,151,27,187,27,195,27,199,27,70,70,207,27,223,27,231,27,239,27,243,27,247,27,126,157,255,27,3,28,7,28,11,28,232,110,210,69,35,28,118,41,95,28,23,41,123,28,127,28,28,41,135,28,98,41,215,28,7,29,115,29,151,29,195,29,231,29,43,30,51,30,63,30,75,30,99,30,143,30,159,30,171,30,175,30,179,30,183,30,187,30,195,30,203,30,215,30,235,30,239,30,243,30,15,31,23,31,151,31,3,214,51,32,150,39,59,32,21,43,212,109,71,43,187,32,247,32,251,32,111,39,7,33,49,70,11,33,86,43,27,33,209,40,172,168,75,33,87,33,91,33,143,33,147,33,167,33,171,33,138,169,150,169,195,33,144,9,207,33,219,33,2,170,227,33,239,33,243,33,148,9,87,34,103,34,119,34,159,34,183,34,39,35,143,35,11,3,163,35,211,35,219,35,27,36,47,36,59,36,147,36,163,36,183,36,239,36,3,37,15,37,119,9,27,37,103,37,123,37,135,37,147,37,187,37,96,43,63,3,239,37,135,9,23,38,43,38,158,109,200,109,255,39,231,38,15,0,99,31,88,162,94,162,100,162,106,162,112,162,118,162,124,162,130,162,136,162,142,162,148,162,154,162,160,162,166,162,41,10,252,2,150,136,156,136,162,136,168,136,91,16,87,109,174,136,180,136,186,136,192,136,198,136,204,136,210,136,216,136,222,136,127,16,228,136,234,136,240,136,45,112,246,136,252,136,2,137,139,16,143,16,8,137,65,40,14,137,32,137,38,137,151,16,44,137,50,137,155,16,56,137,62,137,68,137,74,137,80,137,86,137,92,137,163,16,98,137,167,16,171,16,175,16,179,16,35,7,183,16,187,16,191,16,109,108,110,137,116,137,184,110,122,137,128,137,51,109,140,137,146,137,152,137,199,111,158,137,164,137,182,137,188,137,203,16,207,16,194,137,219,16,200,137,223,16,206,137,227,16,231,16,235,16,239,16,127,105,218,137,224,137,236,137,39,112,248,137,254,137,4,138,16,138,22,138,28,138,34,138,40,138,63,136,79,17,83,17,7,42,46,138,52,138,58,138,64,138,91,17,70,138,76,138,95,17,12,42,99,17,82,138,103,17,24,3,88,138,94,138,100,138,106,138,112,138,127,17,209,107,124,138,135,17,130,138,143,17,147,17,246,39,154,138,238,107,160,138,172,138,178,138,184,138,190,138,196,138,202,138,214,138,72,3,220,138,42,108,226,138,232,138,12,139,100,9,18,139,24,139,30,139,36,139,42,139,88,9,48,139,54,139,60,139,72,139,78,139,84,139,90,139,211,17,96,139,102,139,108,139,114,139,120,139,115,70,126,139,227,17,51,44,132,139,138,139,56,44,144,139,156,139,180,139,255,17,186,139,192,139,198,139,204,139,45,40,210,139,216,139,171,39,222,139,228,139,7,18,234,139,240,139,246,139,252,139,2,140,8,140,14,140,20,140,26,140,32,140,38,140,39,18,44,140,47,18,50,140,56,140,55,18,62,140,76,3,68,140,74,140,80,140,67,18,86,140,92,140,98,140,75,18,104,140,110,140,83,18,116,140,122,140,91,18,128,140,134,140,140,140,146,140,152,140,104,9,158,140,103,18,164,140,107,18,111,18,115,18,119,18,123,18,127,18,131,18,47,42,147,18,151,18,155,18,156,9,176,140,182,140,188,140,220,110,194,140,200,140,163,18,167,18,206,140,171,18,175,18,179,18,183,18,187,18,52,42,212,140,191,18,218,140,199,18,227,2,71,7,75,7,207,18,224,140,230,140,236,140,57,42,211,18,215,18,242,140,219,18,248,140,223,18,227,18,62,42,67,42,231,18,72,42,235,18,254,140,77,42,4,141,10,141,16,141,22,141,28,141,34,141,40,141,85,40,46,141,52,141,64,141,251,18,70,141,76,141,255,18,82,141,3,19,7,19,88,141,15,19,108,9,94,141,100,141,112,141,70,40,118,141,35,19,124,141,130,141,136,141,142,141,148,141,217,43,154,141,160,141,166,141,247,43,47,19,51,19,172,141,59,19,63,19,67,19,55,40,178,141,71,19,103,7,75,19,2,143,83,19,92,2,87,19,8,143,14,143,48,111,26,143,32,143,183,178,38,143,44,143,50,143,56,143,40,110,99,19,14,70,103,19,62,143,107,19,68,143,74,143,80,143,227,42,71,39,86,143,92,143,98,143,46,110,111,19,104,143,110,143,116,143,148,134,122,143,128,143,232,42,123,19,82,42,134,143,140,143,146,143,152,143,158,143,164,143,170,143,135,19,176,143,182,143,188,143,194,143,143,19,184,134,163,41,51,43,229,40,147,19,200,143,151,19,155,19,159,19,206,143,212,143,218,143,224,143,230,143,163,19,236,143,167,19,242,143,248,143,237,42,254,143,171,19,4,144,10,144,16,144,22,144,28,144,34,144,168,41,40,144,175,19,87,42,183,19,46,144,187,19,52,144,154,134,235,69,199,19,58,144,240,69,197,178,203,19,207,19,64,144,211,19,70,144,215,19,76,144,82,144,107,7,88,144,94,144,100,144,106,144,84,9,227,19,231,19,235,19,112,144,243,19,247,19,118,144,124,144,251,19,255,19,3,20,130,144,7,20,11,20,80,9,15,20,23,20,27,20,31,20,35,20,39,20,43,20,47,20,51,20,250,110,36,111,55,20,226,117,111,7,40,3,127,20,131,20,135,20,139,20,143,20,214,144,147,20,220,144,151,20,111,43,155,20,68,217,159,20,116,43,73,41,183,41,167,20,171,20,226,144,232,144,175,20,193,41,128,9,179,20,238,144,198,41,203,41,183,20,19,196,191,20,244,144,195,20,199,20,203,20,250,144,0,145,211,20,215,20,6,145,32,1,30,145,160,134,223,20,36,145,42,145,48,145,0,3,227,20,231,20,121,43,54,145,159,40,145,69,60,145,58,110,66,39,251,195,78,145,84,145,235,20,236,106,126,43,90,145,9,109,96,145,38,41,102,145,108,145,239,20,243,20,4,3,164,40,247,20,251,20,255,20,3,21,7,21,11,21,135,7,15,21,19,21,11,44,114,145,23,21,120,145,27,21,31,21,39,21,126,145,43,21,47,21,166,134,16,0,51,21,139,7,55,21,92,9,59,21,132,145,143,7,63,21,67,21,138,145,71,21,177,43,75,21,79,21,130,110,144,145,83,21,64,110,136,110,87,21,239,40,91,21,95,21,60,39,99,21,117,109,103,21,107,21,150,145,156,145,111,21,115,21,119,21,41,39,174,145,127,21,167,7,210,145,244,40,135,21,139,21,171,7,234,145,240,145,246,145,252,145,2,146,167,21,171,21,175,21,179,21,232,2,35,40,14,146,20,146,56,146,152,146,242,146,46,147,52,147,239,21,243,21,137,42,247,21,28,3,58,147,64,147,251,21,70,147,76,147,255,21,22,110,82,147,3,22,7,22,88,147,94,147,15,22,100,147,112,147,23,22,140,109,27,22,31,22,35,22,118,147,124,147,130,147,136,147,142,147,148,147,154,147,160,147,43,22,166,147,47,22,51,22,55,22,204,178,172,147,63,22,247,108,178,147,67,22,184,147,75,22,79,22,83,22,87,22,91,22,190,147,196,147,202,147,250,123,208,147,214,147,33,106,220,147,226,147,232,147,238,147,151,43,107,22,244,147,115,22,119,22,123,22,127,22,187,2,131,22,135,22,139,22,250,147,6,148,223,7,12,111,12,148,183,22,187,22,18,148,191,22,227,7,152,42,199,22,44,3,24,148,30,148,36,148,42,148,211,22,27,112,215,22,219,22,48,148,223,22,54,148,60,148,227,22,66,148,72,148,78,148,231,22,84,148,90,148,235,22,243,22,96,148,247,22,102,148,251,22,108,148,78,111,255,22,3,23,33,109,114,148,120,148,126,148,132,148,15,23,19,23,23,23,31,23,35,23,227,43,43,23,138,148,47,23,51,23,55,23,59,23,63,23,67,23,204,1,144,148,18,111,150,148,75,23,79,23,83,23,156,148,239,7,87,23,91,23,95,23,99,23,103,23,125,69,162,148,168,148,174,148,180,148,186,148,107,23,192,148,198,148,204,148,76,110,111,23,172,43,210,148,216,148,222,148,228,148,234,148,240,148,115,23,119,23,166,39,123,23,127,23,131,23,135,23,139,23,246,148,252,148,2,149,147,23,151,23,180,69,155,23,243,7,159,23,35,107,249,40,163,23,167,23,171,23,175,23,8,3,8,149,14,149,179,23,142,110,183,23,187,23,191,23,195,23,199,23,203,23,27,109,207,23,20,149,21,1,48,3,211,23,24,218,219,23,26,149,32,149,38,149,44,149,174,40,227,23,231,23,157,42,235,23,239,23,243,23,86,39,50,149,251,23,56,149,230,203,62,149,68,149,255,23,3,24,60,111,231,2,115,108,7,24,11,24,15,24,74,149,19,24,23,24,27,24,31,24,35,24,39,24,112,9,43,24,47,24,51,24,55,24,59,24,80,149,63,24,57,136,179,40,86,149,92,149,98,149,104,149,75,24,110,149,254,40,66,111,79,24,191,2,116,149,72,111,122,149,184,40,164,109,95,24,128,149,134,149,189,40,140,149,226,110,146,149,99,24,152,149,158,149,103,24,72,9,107,24,111,24,82,110,115,24,119,24,123,24,127,24,155,196,131,24,164,149,144,111,170,149,135,24,139,24,176,149,244,2,148,110,194,149,206,149,175,24,212,149,179,24,224,149,12,3,230,149,183,24,236,149,187,24,242,149,248,149,63,109,191,24,3,41,195,24,199,24,203,24,207,24,211,24,215,24,219,24,223,24,227,24,231,24,235,24,243,24,8,41,80,40,254,149,247,24,4,150,194,40,10,150,22,150,255,24,28,150,34,150,3,25,40,150,7,25,46,150,11,25,15,25,19,25,23,25,27,25,52,150,58,150,42,135,35,25,64,150,56,43,39,25,43,25,47,25,51,25,55,25,70,150,76,150,82,150,71,9,59,25,88,150,63,25,67,25,71,25,75,25,79,25,94,150,100,150,83,25,87,25,91,25,106,150,95,25,99,25,103,25,112,150,118,150,107,25,111,25,144,40,124,150,115,25,119,25,43,41,123,25,127,25,130,150,146,109,131,25,135,25,139,25,143,25,136,150,147,25,142,150,151,25,148,150,154,150,160,150,166,150,155,25,159,25,228,2,163,25,167,25,171,25,175,25,179,25,183,25,31,44,172,150,150,111,178,150,184,150,190,150,196,150,202,150,156,111,208,150,214,150,220,150,226,150,232,150,52,3,238,150,0,151,6,151,24,151,88,110,30,151,132,9,36,151,42,151,48,151,54,151,24,1,60,151,66,151,72,151,80,3,78,151,5,40,90,151,176,39,96,151,102,151,15,109,108,151,114,151,120,151,126,151,57,109,255,25,132,151,138,151,144,151,150,151,156,151,162,151,168,151,174,151,180,151,21,44,186,151,192,151,198,151,204,151,130,70,210,151,222,151,228,151,146,39,234,151,240,151,232,43,246,151,252,151,10,40,2,152,8,152,14,152,55,26,20,152,26,152,32,152,56,3,38,152,44,152,247,42,56,152,62,152,131,39,68,152,74,152,80,152,83,26,86,152,71,44,92,152,98,152,104,152,110,152,116,152,122,152,95,26,128,152,134,152,99,26,140,152,103,26,146,152,152,152,158,152,111,26,115,26,60,3,164,152,170,152,176,152,182,152,188,152,119,26,208,41,194,152,200,152,123,26,206,152,65,70,212,152,218,152,224,152,236,152,135,26,139,26,143,26,147,26,151,26,242,152,248,152,254,152,4,153,10,153,163,26,16,153,22,153,167,26,34,70,171,26,28,153,34,153,40,153,253,108,46,153,100,110,52,153,58,153,175,26,179,26,252,42,183,26,30,40,64,153,70,153,191,26,195,26,76,153,208,110,199,26,203,26,207,26,124,134,211,26,103,8,82,153,215,26,219,26,223,26,227,26,88,153,100,153,112,153,118,153,124,153,255,26,60,70,3,27,130,153,136,153,111,8,15,27,6,44,232,107,142,153,148,153,154,153,3,109,31,27,66,43,35,27,39,27,43,27,47,27,30,154,36,154,55,27,42,154,59,27,63,27,67,27,71,27,75,27,225,39,79,27,83,27,87,27,48,154,66,154,84,154,114,154,120,154,138,154,99,27,144,154,150,154,156,154,162,154,168,154,174,154,180,154,186,154,192,154,51,39,198,154,210,154,135,70,228,154,234,154,240,154,246,154,136,39,252,154,2,155,8,155,14,155,20,155,33,112,136,156,142,156,240,2,154,156,160,156,166,156,172,156,191,27,178,156,184,156,116,39,214,156,220,156,226,156,203,27,232,156,238,156,211,27,244,156,250,156,0,157,6,157,12,157,52,196,18,157,24,157,26,39,36,157,42,157,64,3,48,157,54,157,60,157,66,157,72,157,78,157,84,157,90,157,96,157,102,157,108,157,114,157,120,157,251,27,132,157,151,39,144,157,150,157,156,157,162,157,168,157,180,157,186,157,251,39,204,157,210,157,216,157,81,39,222,157,228,157,234,157,39,28,240,157,246,157,43,28,47,28,116,9,252,157,2,158,8,158,186,39,20,158,32,158,38,158,83,41,83,28,87,28,88,41,91,28,25,40,44,158,50,158,56,158,185,69,62,158,68,158,74,158,80,158,86,158,107,28,92,158,104,158,110,158,116,158,122,158,128,158,111,28,181,39,213,41,115,28,78,108,1,43,152,158,93,41,119,28,158,158,164,158,249,106,170,158,176,158,182,158,188,158,15,40,131,28,194,158,200,158,206,158,212,158,224,158,230,158,159,28,236,158,163,28,167,28,242,158,171,28,248,158,175,28,179,28,183,28,96,39,254,158,4,159,187,28,10,159,191,28,195,28,16,159,199,28,203,28,22,159,28,159,34,159,218,41,40,159,211,28,46,159,223,41,199,40,52,159,58,159,157,43,219,28,223,28,227,28,70,159,231,28,235,28,239,28,106,110,243,28,247,28,76,159,251,28,82,159,255,28,3,29,88,159,94,159,11,29,16,3,100,159,106,159,19,29,23,29,27,29,31,29,175,8,235,2,112,159,39,29,43,29,197,42,47,29,51,29,118,159,55,29,6,43,124,159,84,3,59,29,63,29,67,29,71,29,75,29,79,29,83,29,130,159,87,29,91,29,95,29,136,159,11,43,99,29,150,69,170,109,142,159,103,29,107,29,111,29,76,9,148,159,119,29,36,135,154,159,160,159,166,159,172,159,178,159,127,29,131,29,135,29,184,159,139,29,202,203,143,29,147,29,190,159,8,2,196,159,155,29,159,29,202,159,208,159,214,159,220,159,175,205,211,203,226,159,232,159,238,159,244,159,163,29,167,29,190,212,250,159,171,29,175,29,179,29,134,40,139,40,183,29,197,107,149,40,179,8,168,111,0,160,6,160,12,160,199,29,136,9,16,43,203,29,207,29,18,160,24,160,211,29,30,160,36,160,215,29,42,160,48,160,54,160,60,160,219,29,223,29,227,29,235,29,239,29,243,29,247,29,251,29,255,29,3,30,7,30,36,44,72,160,78,160,84,160,90,160,96,160,102,160,108,160,114,160,55,30,59,30,120,160,71,30,79,30,83,30,87,30,91,30,126,160,132,160,144,160,150,160,168,160,103,30,174,160,107,30,111,30,115,30,230,39,119,30,123,30,127,30,180,160,131,30,135,30,139,30,147,30,151,30,155,30,234,160,252,160,2,161,96,9,8,161,163,30,14,161,20,161,167,30,26,161,32,161,38,161,44,161,75,70,50,161,56,161,62,161,68,161,74,161,80,161,86,161,92,161,98,161,104,161,110,161,167,42,116,161,122,161,191,30,128,161,199,30,134,161,140,161,146,161,207,30,211,30,152,161,158,161,219,30,223,30,227,30,231,30,172,42,164,161,170,161,176,161,182,161,247,30,106,39,177,42,188,161,194,161,206,161,255,30,3,31,222,43,7,31,212,161,218,161,224,161,11,31,230,161,236,161,19,31,242,161,254,161,4,162,22,162,27,31,31,31,28,162,35,31,39,31,43,31,79,31,40,162,83,31,87,31,46,162,91,31,95,31,21,39,172,162,178,162,184,162,190,162,196,162,191,8,195,8,199,8,202,162,208,162,203,8,207,8,214,162,220,39,211,8,191,31,215,8,195,31,220,162,219,8,223,8,103,2,227,8,226,162,231,8,227,31,231,31,232,162,238,162,239,31,244,162,243,31,247,31,112,110,250,162,213,206,251,31,0,163,6,163,12,163,255,31,3,32,160,110,17,42,7,32,18,163,11,32,15,32,19,32,24,163,23,32,36,163,27,32,42,163,31,32,35,32,39,32,48,163,54,163,43,32,67,196,47,32,75,40,60,163,66,163,72,163,55,32,76,44,63,32,67,32,71,32,75,32,79,32,83,32,87,32,91,32,150,70,78,163,84,163,90,163,99,32,103,32,107,32,111,32,115,32,22,42,175,69,119,32,123,32,102,163,127,32,131,32,135,32,139,32,143,32,36,39,108,163,114,163,147,32,126,163,132,163,138,163,68,3,26,43,144,163,151,32,155,32,159,32,163,32,167,32,171,32,175,32,179,32,156,39,150,163,156,163,183,32,162,163,168,163,101,39,200,69,174,163,180,163,186,163,192,163,60,40,198,163,204,163,210,163,216,163,191,32,79,9,167,43,222,163,252,163,227,32,231,32,235,32,239,32,243,32,140,9,2,164,8,164,14,164,255,32,20,164,26,164,32,164,38,164,191,39,194,167,200,167,206,167,212,167,218,167,41,43,224,167,230,167,3,33,20,3,236,167,242,167,120,9,81,43,248,167,254,167,4,168,10,168,0,40,16,168,22,168,28,168,46,44,54,70,34,168,40,168,46,168,90,40,52,168,58,168,70,168,76,168,82,168,15,33,19,33,88,168,23,33,135,106,31,33,35,33,94,168,100,168,106,168,39,33,141,39,112,168,118,168,124,168,130,168,1,44,136,168,142,168,41,44,148,168,154,168,172,110,161,39,160,168,55,33,59,33,166,168,63,33,178,168,184,168,20,40,190,168,174,111,67,33,71,33,106,43,79,33,40,40,83,33,196,168,202,168,208,168,95,33,99,33,214,168,220,168,103,33,107,33,226,168,111,33,232,168,238,168,244,168,250,168,119,33,123,33,127,33,131,33,135,33,0,169,139,33,91,39,6,169,12,169,18,169,24,169,228,41,30,169,36,169,42,169,48,169,54,169,60,169,66,169,83,9,72,169,164,2,78,169,159,33,84,169,233,41,90,169,238,41,163,33,88,3,96,169,102,169,108,169,242,43,114,169,120,169,126,169,132,169,144,169,39,109,175,33,220,178,156,169,162,169,215,69,179,33,168,169,174,169,183,33,220,69,187,33,100,40,180,169,186,169,192,169,198,169,199,33,204,169,210,169,216,169,228,169,240,169,246,169,61,44,252,169,8,170,14,170,105,40,20,170,26,170,32,170,38,170,243,41,4,70,44,170,50,170,56,170,231,33,62,170,68,170,235,33,248,2,74,170,182,43,80,170,86,170,92,170,95,40,98,170,116,170,128,170,134,170,140,170,146,170,9,70,152,170,158,170,164,170,170,170,176,170,188,170,212,170,218,170,224,170,251,33,230,170,236,170,242,170,248,170,152,9,3,34,7,34,254,170,11,34,15,34,19,34,4,171,10,171,225,69,23,34,27,34,16,171,31,34,22,171,35,34,202,42,87,9,92,42,19,70,207,42,39,34,212,42,123,41,43,34,34,171,40,171,128,41,27,42,91,9,32,3,242,173,199,2,47,34,248,173,133,41,51,34,55,34,243,2,59,34,63,34,69,109,227,178,254,173,211,178,4,174,67,34,10,174,71,34,16,174,22,174,75,34,28,174,32,42,79,34,34,174,83,34,138,41,40,174,46,174,91,34,95,34,135,69,99,34,143,41,52,174,95,39,107,34,111,34,115,34,123,34,95,9,127,34,160,2,58,174,64,174,97,42,70,174,217,42,76,174,148,41,135,34,230,69,139,34,222,42,154,209,143,34,147,34,247,2,151,34,155,34,163,34,167,34,153,41,171,34,175,34,169,40,179,34,203,107,43,9,251,2,82,174,88,174,94,174,100,174,187,34,191,34,195,34,124,9,112,174,118,174,124,174,84,108,23,35,27,35,50,40,136,174,142,174,153,207,22,214,148,174,31,35,35,35,154,174,160,174,51,35,55,35,59,35,166,174,172,174,178,174,63,35,67,35,71,35,252,43,180,111,75,35,79,35,47,9,184,174,83,35,190,69,19,40,87,35,190,174,91,35,95,35,164,9,196,174,202,174,208,174,214,174,220,174,226,174,103,41,99,35,103,35,107,35,232,174,238,174,111,35,115,35,244,174,250,174,0,175,6,175,119,35,123,35,12,175,127,35,131,35,135,35,139,35,147,35,141,43,151,35,155,35,7,3,18,175,24,175,159,35,30,175,167,35,248,41,171,35,36,175,175,35,4,40,24,70,145,39,9,40,179,35,183,35,187,35,191,35,42,175,48,175,214,40,54,175,60,175,66,175,72,175,78,175,84,175,90,175,96,175,195,35,102,42,107,42,102,175,112,42,219,40,15,3,36,3,108,175,108,41,118,110,114,175,120,175,199,35,203,35,207,35,215,35,126,175,132,175,138,175,144,175,117,42,223,35,227,35,19,3,150,175,156,175,231,35,162,175,235,35,239,35,243,35,168,175,247,35,251,35,174,175,255,35,180,175,186,175,192,175,7,36,11,36,15,36,19,36,23,36,31,36,155,2,198,175,35,36,39,36,204,175,43,36,210,175,23,3,216,175,99,9,222,175,228,175,51,36,55,36,63,36,234,175,103,9,240,175,246,175,107,9,252,175,67,36,71,36,75,36,79,36,83,36,87,36,91,36,95,36,99,36,103,36,107,36,2,176,111,36,8,176,115,36,14,176,27,3,20,176,119,36,26,176,123,36,127,36,131,36,104,2,135,36,32,176,139,36,143,36,38,176,151,36,111,9,155,36,159,36,44,176,167,36,171,36,175,36,179,36,50,176,56,176,62,176,68,176,187,36,191,36,74,176,195,36,199,36,203,36,80,176,86,176,92,176,115,9,98,176,104,176,110,176,116,176,122,176,219,36,223,36,227,36,128,176,231,36,235,36,134,176,140,176,243,36,247,36,146,176,152,176,251,36,255,36,158,176,7,37,164,176,11,37,170,176,176,176,182,176,188,176,19,37,194,176,200,176,206,176,23,37,212,176,31,37,31,3,35,37,218,176,159,2,224,176,123,9,39,37,230,176,43,37,47,37,236,176,51,37,242,176,35,3,55,37,59,37,63,37,67,37,71,37,75,37,79,37,83,37,248,176,254,176,87,37,91,37,43,1,95,37,99,37,4,177,10,177,107,37,16,177,22,177,111,37,91,43,115,37,119,37,91,2,70,39,127,37,131,37,139,37,143,37,39,3,28,177,127,9,34,177,151,37,155,37,159,37,40,177,163,37,46,177,43,3,167,37,46,43,171,37,44,70,175,37,156,2,47,3,52,177,58,177,183,37,191,37,195,37,51,3,131,9,64,177,199,37,70,177,55,3,76,177,203,37,59,3,207,37,82,177,211,37,215,37,219,37,88,177,94,177,100,177,223,37,227,37,231,37,106,177,235,37,112,177,118,177,37,42,243,37,247,37,26,44,251,37,255,37,3,38,124,177,7,38,130,177,136,177,142,177,11,38,148,177,15,38,154,177,19,38,160,177,27,38,67,3,31,38,166,177,139,9,172,177,178,177,35,38,90,39,143,9,39,38,147,9,151,9,184,177,190,177,196,177,113,41,202,177,47,38,51,38,42,42,55,38,59,38,63,38,208,177,214,177,67,38,71,38,75,38,220,177,79,38,83,38,87,38,91,38,95,38,99,38,103,38,92,3,226,177,232,177,238,177,245,39,107,38,71,3,111,38,244,177,115,38,75,3,119,38,155,9,123,38,127,38,250,177,31,1,0,178,131,38,6,178,135,38,44,1,27,1,139,38,203,1,143,38,12,178,18,178,24,178,159,9,147,38,30,178,151,38,36,178,79,3,42,178,20,44,48,178,155,38,130,39,159,38,163,38,54,178,171,38,175,38,179,38,60,178,250,39,66,178,24,40,183,38,187,38,83,3,191,38,7,2,195,38,72,178,78,178,199,38,203,38,207,38,84,178,211,38,155,39,90,178,140,39,160,39,163,2,87,3,96,178,102,178,108,178,114,178,236,2,215,38,219,38,120,178,223,38,163,9,235,38,239,38,243,38,247,38,91,3,251,38,6,0,52,162,58,162,64,162,70,162,76,162,82,162,3,0,147,27,154,110,227,38,12,0,124,2,148,0,112,2,152,2,157,0,20,2,172,0,28,2,136,2,16,2,24,2,178,0,24,0,66,136,92,109,212,112,242,106,72,136,41,197,104,109,28,107,242,112,78,136,66,108,84,136,146,112,72,108,90,136,95,3,96,136,184,105,50,112,106,113,148,2,184,0,169,0,216,2,2,0,86,72,91,72,120,0,163,70,127,108,168,70,117,106,173,70,178,70,188,1,193,70,198,70,203,70,208,70,213,70,218,70,76,1,228,70,233,70,238,70,149,107,243,70,133,105,223,111,153,70,47,107,155,107,13,0,154,0,219,106,108,1,255,38,12,71,22,71,51,106,80,2,181,105,27,71,32,71,37,71,42,71,221,107,59,107,147,106,57,71,92,1,62,71,82,71,87,71,92,71,175,108,159,106,97,71,163,105,102,71,107,71,172,1,244,1,82,0,112,71,137,71,192,1,152,1,142,71,85,0,72,1,157,71,162,71,15,106,136,0,177,71,167,107,175,105,182,71,177,106,83,107,183,106,240,1,173,107,212,71,217,71,222,71,195,106,231,106,91,0,0,2,80,1,68,1,36,1,75,106,6,72,11,72,16,72,185,107,21,72,116,2,31,72,36,72,41,72,22,0,113,107,46,72,229,105,120,1,157,105,40,2,154,205,66,72,224,1,125,107,191,107,211,108,41,219,200,1,105,106,140,1,207,106,64,0,67,0,196,1,145,105,21,106,111,106,4,0,220,2,232,71,237,71,242,71,2,0,17,179,24,179,164,0,210,196,79,44,183,70,210,195,84,44,226,196,89,44,94,44,99,44,223,70,104,44,234,195,124,69,133,40,238,178,119,39,109,44,114,44,29,39,119,44,108,40,124,44,248,70,138,40,253,70,129,44,202,195,147,203,2,71,7,71,202,196,134,44,139,44,144,44,17,71,10,196,114,196,50,197,47,71,52,71,149,44,154,44,54,39,218,196,250,196,67,71,186,196,242,196,159,44,245,178,72,71,42,196,154,196,77,71,164,44,129,69,66,196,134,69,124,39,194,196,169,44,2,196,113,40,82,196,117,71,122,71,234,196,2,197,127,71,90,196,58,196,132,71,174,44,122,196,194,195,179,44,184,44,252,178,189,44,194,44,199,44,204,44,167,71,209,44,214,44,139,69,172,71,219,44,224,44,144,69,138,196,229,44,162,196,234,44,165,203,58,70,50,196,187,71,192,71,239,44,244,44,197,71,106,196,202,71,249,44,254,44,3,45,170,196,8,45,13,45,207,71,18,45,227,71,23,45,118,40,28,45,33,45,38,45,43,45,48,45,143,40,53,45,94,39,123,40,194,39,58,45,150,43,178,196,63,45,68,45,10,197,130,196,26,72,149,69,148,40,24,44,73,45,28,40,74,39,78,45,83,45,88,45,93,45,98,196,51,72,98,45,18,196,59,39,103,45,108,45,44,39,34,196,113,45,56,72,61,72,118,45,153,40,71,72,123,45,76,72,128,45,128,40,96,72,133,45,3,0,3,179,252,71,10,179,9,0,188,70,247,71,101,72,106,72,111,72,116,72,121,72,126,72,131,72,50,1,20,73,25,73,30,73,35,73,40,73,45,73,50,73,55,73,60,73,65,73,70,73,75,73,108,179,80,73,85,73,90,73,95,73,100,73,105,73,110,73,154,69,115,73,120,73,125,73,115,179,130,73,159,69,164,69,135,73,140,73,145,73,150,73,155,73,220,179,160,73,248,75,182,76,197,76,202,76,217,76,135,181,142,181,184,181,191,181,198,181,205,181,212,181,219,181,11,77,226,181,247,197,255,197,7,198,15,198,95,198,103,198,146,77,151,77,29,44,19,44,63,70,68,70,156,77,34,44,73,70,161,77,39,44,166,77,171,77,176,77,194,79,199,79,204,79,209,79,214,79,219,79,224,79,229,79,234,79,239,79,244,79,101,52,106,82,162,145,106,52,123,21,168,145,111,52,180,145,201,82,206,82,186,145,192,145,122,134,167,7,198,145,116,52,211,82,131,21,121,52,204,145,126,52,131,52,216,145,216,82,222,145,136,52,228,145,141,52,221,82,44,146,50,146,134,134,68,146,74,146,80,146,86,146,104,146,110,146,116,146,122,146,128,146,146,134,146,146,152,134,158,146,164,134,170,146,188,146,194,146,170,134,200,146,206,146,212,146,218,146,224,146,230,146,236,146,16,147,40,147,0,83,5,83,65,83,200,184,207,184,214,184,221,184,228,184,235,184,242,184,249,184,0,185,7,185,70,83,185,83,190,83,195,83,200,83,205,83,210,83,215,83,220,83,214,69,219,69,225,83,230,83,235,83,240,83,245,83,250,83,255,83,4,84,9,84,14,84,19,84,224,69,53,85,58,85,115,186,39,1,188,149,182,134,200,149,188,134,233,85,22,86,82,86,87,86,142,86,207,86,50,152,13,90,19,27,23,27,27,27,160,153,191,199,199,199,166,153,207,199,39,197,223,199,231,199,239,199,247,199,255,199,212,134,15,200,23,200,218,134,224,134,184,153,144,112,39,200,47,200,208,153,63,200,71,200,79,200,87,200,236,134,103,200,111,200,232,153,238,153,127,200,135,200,0,154,18,154,24,154,19,189,102,154,108,154,132,154,124,189,131,189,138,189,145,189,152,189,159,189,166,189,173,189,180,189,30,157,18,70,249,94,254,94,3,95,8,95,103,95,108,95,13,40,113,95,118,95,123,95,128,95,138,157,132,61,137,61,187,61,253,190,4,191,253,95,2,96,7,96,11,191,12,96,17,96,32,96,35,29,175,8,142,96,28,70,232,96,237,96,242,96,69,44,247,96,33,70,252,96,38,70,1,97,6,97,11,97,16,97,165,191,21,97,26,97,31,97,144,64,178,134,104,170,110,170,122,170,182,170,194,170,200,170,206,170,101,67,136,67,186,67,231,67,251,67,10,68,53,105,58,105,227,11,38,179,138,45,143,45,148,45,153,45,158,40,158,45,163,40,87,197,132,109,128,113,134,113,140,113,146,113,152,113,138,109,158,113,164,113,170,113,144,109,176,113,182,113,188,113,194,113,200,113,206,113,212,113,218,113,224,113,230,113,236,113,242,113,248,113,254,113,4,114,10,114,16,114,106,108,22,114,28,114,34,114,66,179,73,179,94,179,101,179,163,45,3,107,168,45,173,45,178,45,183,45,188,45,193,45,198,45,203,45,208,45,40,114,46,114,52,114,58,114,64,114,111,197,70,114,76,114,82,114,150,109,88,114,230,107,94,114,100,114,106,114,112,108,156,109,212,137,230,137,242,137,10,138,112,114,118,114,213,45,124,114,218,45,130,114,136,114,168,40,142,114,148,114,154,114,160,114,166,114,172,114,178,114,244,39,184,114,236,107,190,114,196,114,202,114,208,114,214,114,220,114,226,114,232,114,33,40,238,114,244,114,250,114,0,115,6,115,162,109,12,115,18,115,24,115,30,115,129,39,36,115,42,115,48,115,54,115,134,39,249,39,60,115,155,43,223,45,168,109,66,115,72,115,78,115,84,115,90,115,96,115,102,115,174,109,228,45,108,115,114,115,120,115,183,197,126,115,132,115,138,115,144,115,150,115,254,39,156,115,162,115,139,39,168,115,174,115,180,115,186,115,233,45,192,115,198,115,204,115,210,115,216,115,238,45,222,115,196,111,191,197,228,115,234,115,240,115,234,179,241,179,255,179,6,180,13,180,20,180,27,180,34,180,41,180,208,138,246,115,252,115,2,116,8,116,14,116,20,116,26,116,32,116,38,116,32,107,44,116,50,116,56,116,62,180,69,180,207,197,180,109,62,116,186,109,68,116,74,116,80,116,86,116,92,116,98,116,104,116,110,116,116,116,122,116,128,116,134,116,215,197,140,116,146,116,152,116,158,116,164,116,170,116,176,116,182,116,188,116,194,116,200,116,206,116,192,109,212,116,218,116,224,116,230,116,236,116,242,116,248,116,254,116,4,117,198,109,10,117,16,117,83,180,90,180,97,180,111,180,243,45,248,45,125,180,173,40,253,45,2,46,7,46,178,40,12,46,17,46,183,40,22,46,27,46,188,40,32,46,37,46,42,46,47,46,139,180,193,40,52,46,57,46,62,46,67,46,72,46,77,46,82,46,87,46,92,46,97,46,102,46,107,46,198,40,150,139,90,108,36,108,162,139,174,139,112,46,117,46,122,46,127,46,188,180,132,46,137,46,142,46,147,46,152,46,157,46,162,46,167,46,195,180,202,180,172,46,177,46,182,46,187,46,209,180,216,180,192,46,197,46,202,46,207,46,212,46,217,46,222,46,227,46,232,46,237,46,242,46,247,46,252,46,203,40,1,47,6,47,253,106,11,47,16,47,21,47,26,47,31,47,36,47,41,47,46,47,230,180,51,47,208,40,56,47,61,47,66,47,71,47,76,47,38,40,81,47,244,180,251,180,2,181,9,181,86,47,91,47,96,47,101,47,39,39,106,47,111,47,160,43,116,47,3,40,8,40,213,40,121,47,218,40,165,43,30,181,126,47,43,40,131,47,170,43,164,39,136,47,141,47,48,40,146,47,53,40,22,117,151,47,99,39,28,117,156,47,161,47,166,47,171,47,176,47,58,181,181,47,186,47,191,47,196,47,201,47,206,47,211,47,216,47,79,181,221,47,223,40,226,47,231,47,228,40,233,40,236,47,241,47,246,47,251,47,0,48,86,181,5,48,10,48,15,48,20,48,25,48,30,48,35,48,40,48,45,48,50,48,34,117,55,48,60,48,65,48,70,48,75,48,80,48,85,48,90,48,238,40,95,48,100,48,243,40,105,48,110,48,107,181,63,7,67,7,170,140,40,117,115,48,120,48,125,48,130,48,135,48,140,48,145,48,150,48,155,48,160,48,165,48,170,48,175,48,180,48,185,48,121,181,190,48,195,48,200,48,248,40,205,48,210,48,215,48,133,178,220,48,225,48,230,48,235,48,240,48,245,48,253,40,250,48,255,48,4,49,2,41,9,49,14,49,7,41,19,49,24,49,29,49,34,49,39,49,44,49,49,49,54,49,59,49,64,49,69,49,74,49,79,49,12,41,84,49,17,41,89,49,94,49,99,49,104,49,109,49,114,49,119,49,124,49,129,49,134,49,139,49,144,49,149,49,175,43,154,49,159,49,164,49,169,49,233,181,174,49,179,49,240,181,184,49,189,49,194,49,199,49,22,41,204,49,209,49,27,41,214,49,247,181,219,49,224,49,229,49,234,49,239,49,244,49,249,49,32,41,254,49,46,117,52,117,58,117,64,117,70,117,76,117,82,117,88,117,94,117,100,117,106,117,112,117,118,117,124,117,3,50,130,117,204,109,136,117,142,117,148,117,154,117,160,117,166,117,172,117,178,117,184,117,190,117,210,109,196,117,202,117,208,117,214,117,220,117,79,7,83,7,106,141,87,7,91,7,8,50,13,50,33,182,40,182,18,50,95,7,23,50,28,50,33,50,38,50,43,50,48,50,53,50,58,50,63,50,68,50,73,50,78,50,83,50,99,7,58,40,88,50,54,182,93,50,98,50,103,50,108,50,180,43,82,182,113,50,118,50,23,198,31,198,123,50,39,198,128,50,47,198,133,50,55,198,138,50,63,198,185,43,71,198,190,43,79,198,143,50,87,198,148,50,111,198,195,43,119,198,153,50,127,198,200,43,135,198,205,43,143,198,158,50,163,50,168,50,173,50,178,50,183,50,188,50,193,50,198,50,203,50,208,50,213,50,199,39,218,50,204,39,37,41,124,182,131,182,42,41,223,50,145,182,159,182,166,182,180,182,187,182,194,182,201,182,208,182,222,182,229,182,236,182,243,182,250,182,136,144,142,144,226,117,15,183,148,144,154,144,232,117,151,198,238,117,244,117,250,117,0,118,6,118,12,118,18,118,24,118,30,118,36,118,42,118,23,196,48,118,54,118,216,109,60,118,66,118,72,118,78,118,84,118,90,118,228,50,233,50,96,118,159,198,167,198,242,107,238,50,248,107,254,107,102,118,243,50,108,118,114,118,120,118,248,50,222,109,126,118,253,50,132,118,4,108,2,51,138,118,144,118,150,118,228,109,234,109,7,51,156,118,162,118,168,118,240,109,174,118,12,51,180,118,186,118,192,118,17,51,198,118,204,118,210,118,216,118,246,109,222,118,22,51,10,108,27,51,79,197,252,109,228,118,234,118,32,51,240,118,16,108,37,51,246,118,42,51,252,118,2,119,8,119,2,110,14,119,20,119,26,119,32,119,8,110,38,119,44,119,50,119,47,51,52,51,56,119,115,7,57,51,62,51,62,119,67,51,72,51,77,51,82,51,87,51,68,119,92,51,97,51,47,41,74,119,102,51,80,119,86,119,92,119,98,119,104,119,110,119,107,51,112,51,117,51,122,51,127,51,132,51,235,39,137,51,142,51,147,51,71,183,152,51,119,7,157,51,162,51,167,51,123,7,78,183,172,51,85,183,92,183,52,41,177,51,57,41,182,51,187,51,192,51,240,39,62,41,197,51,211,43,200,39,202,51,207,51,212,51,48,108,217,51,99,183,222,51,227,51,232,51,237,51,215,39,242,51,127,7,247,51,252,51,67,41,1,52,236,106,6,52,11,52,16,52,21,52,26,52,205,39,106,183,31,52,131,7,36,52,41,52,46,52,210,39,51,52,56,52,63,40,61,52,66,52,71,52,76,52,81,52,86,52,91,52,120,183,96,52,134,183,141,183,155,183,162,183,147,7,151,7,155,7,159,7,163,7,116,119,122,119,128,119,134,119,211,183,218,183,140,119,225,183,232,183,239,183,246,183,253,183,4,184,146,119,152,119,11,184,158,119,18,184,25,184,32,184,207,198,22,108,14,110,164,119,170,119,176,119,20,110,182,119,188,119,194,119,200,119,206,119,212,119,218,119,8,146,215,198,224,119,230,119,236,119,242,119,248,119,254,119,4,120,10,120,223,198,16,120,22,120,28,120,34,120,40,120,46,120,52,120,58,120,64,120,70,120,76,120,82,120,231,198,88,120,94,120,100,120,106,120,112,120,118,120,124,120,130,120,136,120,142,120,26,110,148,120,154,120,160,120,32,110,166,120,172,120,178,120,184,120,190,120,196,120,38,110,202,120,208,120,44,110,214,120,239,198,220,120,226,120,50,110,232,120,238,120,244,120,250,120,0,121,6,121,12,121,247,198,56,110,18,121,234,106,24,121,30,121,36,121,62,110,42,121,48,121,54,121,60,121,68,110,28,108,255,198,66,121,72,121,78,121,84,121,90,121,96,121,74,110,102,121,108,121,114,121,120,121,126,121,80,110,132,121,138,121,144,121,150,121,86,110,156,121,162,121,168,121,174,121,180,121,186,121,92,110,192,121,198,121,204,121,210,121,216,121,98,110,222,121,228,121,234,121,240,121,246,121,252,121,2,122,8,122,14,122,20,122,26,122,32,122,38,122,44,122,50,122,56,122,62,122,68,122,74,122,80,122,86,122,92,122,98,122,104,122,110,122,116,122,122,122,104,110,128,122,134,122,140,122,146,122,152,122,158,122,164,122,170,122,176,122,182,122,188,122,194,122,200,122,206,122,110,110,212,122,218,122,224,122,230,122,236,122,242,122,248,122,254,122,4,123,10,123,16,123,252,106,22,123,28,123,34,123,40,123,7,199,46,123,52,123,15,199,58,123,64,123,70,123,23,199,76,123,31,199,82,123,88,123,94,123,100,123,106,123,112,123,118,123,124,123,130,123,136,123,142,123,244,108,148,123,154,123,160,123,166,123,172,123,178,123,184,123,190,123,250,108,196,123,0,109,202,123,208,123,116,110,214,123,220,123,226,123,232,123,238,123,244,123,194,107,6,109,67,184,146,52,151,52,156,52,161,52,166,52,72,41,171,52,176,52,181,52,81,184,209,39,186,52,191,52,196,52,201,52,206,52,211,52,216,52,221,52,226,52,231,52,236,52,241,52,246,52,251,52,0,53,5,53,10,53,15,53,20,53,25,53,30,53,77,41,175,7,250,123,179,7,183,7,187,7,137,184,35,53,191,7,40,53,195,7,45,53,50,53,55,53,60,53,199,7,82,41,65,53,87,41,70,53,75,53,203,7,144,184,151,184,158,184,80,53,207,7,85,53,90,53,92,41,211,7,165,184,172,184,215,7,95,53,97,41,100,53,105,53,110,53,115,53,120,53,125,53,130,53,219,7,135,53,140,53,187,2,145,53,150,53,155,53,160,53,0,148,28,185,35,185,42,185,165,53,63,185,169,39,102,41,170,53,231,7,30,108,107,41,175,53,235,7,180,53,185,53,215,43,69,39,190,53,64,39,195,53,200,53,220,43,205,53,112,41,210,53,215,53,112,185,117,41,220,53,225,53,230,53,235,53,240,53,245,53,250,53,255,53,4,54,9,54,14,54,19,54,24,54,126,185,133,185,140,185,9,107,29,54,34,54,154,185,39,54,44,54,49,54,161,185,54,54,59,54,64,54,69,54,74,54,79,54,68,40,122,41,127,41,84,54,89,54,94,54,99,54,132,41,104,54,225,43,109,54,114,54,119,54,174,39,230,43,137,41,142,41,124,54,129,54,134,54,104,39,139,54,144,54,149,54,147,41,175,185,182,185,154,54,159,54,164,54,169,54,152,41,174,54,179,54,184,54,189,54,182,178,194,54,199,54,157,41,203,185,204,54,209,54,214,54,162,41,210,185,219,54,217,185,224,54,229,54,234,54,239,54,244,54,224,185,231,185,167,41,249,54,238,185,254,54,245,185,252,185,3,55,247,7,172,41,10,186,177,41,251,7,8,55,255,7,182,41,187,41,192,41,3,8,13,55,18,55,197,41,202,41,23,55,7,8,28,55,17,186,33,55,38,55,214,39,43,55,11,8,48,55,53,55,24,186,15,8,207,41,58,55,191,2,63,55,19,8,68,55,73,55,52,186,78,55,199,206,83,55,88,55,93,55,98,55,103,55,108,55,113,55,118,55,123,55,128,55,133,55,212,41,138,55,143,55,148,55,153,55,158,55,163,55,168,55,173,55,178,55,183,55,188,55,193,55,217,41,198,55,222,41,203,55,208,55,213,55,218,55,223,55,80,186,228,55,233,55,238,55,243,55,248,55,253,55,2,56,7,56,12,56,17,56,22,56,27,56,32,56,37,56,219,39,94,186,101,186,108,186,42,56,182,149,0,124,6,124,12,124,122,110,18,124,24,124,30,124,36,124,34,108,42,124,48,124,54,124,60,124,66,124,72,124,128,110,134,110,78,124,84,124,90,124,96,124,102,124,108,124,114,124,120,124,126,124,132,124,138,124,144,124,140,110,146,110,150,124,156,124,162,124,168,124,174,124,152,110,180,124,186,124,158,110,192,124,198,124,12,109,204,124,18,109,210,124,164,110,216,124,222,124,228,124,234,124,87,199,240,124,246,124,252,124,2,125,8,125,14,125,20,125,26,125,170,110,32,125,38,125,44,125,50,125,176,110,56,125,62,125,47,56,52,56,57,56,62,56,67,56,72,56,77,56,82,56,87,56,92,56,97,56,102,56,107,56,112,56,117,56,122,56,189,178,127,56,132,56,137,56,149,178,142,56,136,186,147,56,152,56,227,41,157,56,162,56,167,56,143,186,150,186,172,56,157,186,177,56,182,56,187,56,164,186,171,186,192,56,197,56,202,56,207,56,212,56,232,41,217,56,237,41,222,56,227,56,232,56,237,56,242,56,247,56,252,56,1,57,6,57,11,57,178,186,185,186,16,57,21,57,192,186,199,186,26,57,31,57,36,57,41,57,242,41,206,186,46,57,51,57,213,186,56,57,220,186,61,57,66,57,71,57,76,57,81,57,86,57,227,186,91,57,96,57,234,186,241,186,248,186,101,57,106,57,255,186,6,187,111,57,116,57,13,187,121,57,126,57,131,57,136,57,141,57,34,187,41,187,146,57,151,57,156,57,161,57,166,57,171,57,176,57,181,57,186,57,191,57,196,57,201,57,62,187,69,187,76,187,83,187,90,187,104,187,111,187,118,187,125,187,132,187,244,150,206,57,211,57,23,8,12,151,27,8,31,8,35,8,153,187,39,8,160,187,18,151,43,8,54,108,47,8,51,8,55,8,59,8,188,187,195,187,216,57,63,8,195,2,209,187,221,57,216,187,226,57,230,187,237,187,244,187,231,57,236,57,241,57,246,57,247,41,144,39,251,57,68,125,74,125,182,110,80,125,86,125,92,125,98,125,104,125,110,125,116,125,122,125,128,125,24,109,134,125,200,107,140,125,30,109,252,41,23,188,1,42,0,58,5,58,10,58,15,58,20,58,25,58,30,58,35,58,6,42,40,58,45,58,11,42,50,58,55,58,60,58,65,58,70,58,37,188,75,58,80,58,85,58,51,188,58,188,65,188,79,188,86,188,67,8,100,188,71,8,107,188,75,8,114,188,79,8,121,188,83,8,128,188,87,8,135,188,91,8,142,188,95,8,149,188,99,8,156,188,90,58,95,58,100,58,105,58,110,58,16,42,115,58,120,58,125,58,130,58,149,39,135,58,140,58,21,42,145,58,94,153,106,153,184,188,191,188,198,188,205,188,212,188,219,188,150,58,155,58,160,58,165,58,170,58,175,58,180,58,185,58,190,58,195,58,200,58,205,58,210,58,215,58,220,58,26,42,225,58,31,42,230,58,235,58,73,40,240,58,245,58,146,125,152,125,240,106,215,199,158,125,164,125,170,125,7,200,176,125,182,125,188,110,194,110,200,110,31,200,188,125,55,200,194,125,200,125,206,125,95,200,212,125,218,125,224,125,230,125,119,200,236,125,143,200,24,112,242,125,248,125,206,110,254,125,4,126,212,110,250,58,255,58,4,59,9,59,78,40,14,59,19,59,24,59,29,59,34,59,247,188,39,59,179,39,36,42,44,59,49,59,54,59,41,42,59,59,64,59,69,59,5,189,12,189,10,126,16,126,22,126,28,126,40,108,151,200,34,126,40,126,46,126,52,126,58,126,64,126,218,110,70,126,76,126,82,126,46,108,88,126,94,126,100,126,106,126,159,200,112,126,118,126,124,126,130,126,224,110,136,126,142,126,148,126,154,126,160,126,167,200,166,126,172,126,2,107,178,126,184,126,190,126,196,126,202,126,208,126,230,110,214,126,220,126,226,126,232,126,238,126,244,126,250,126,0,127,6,127,236,110,242,110,12,127,18,127,175,200,24,127,30,127,36,127,42,127,48,127,54,127,206,107,60,127,66,127,72,127,78,127,84,127,90,127,96,127,74,59,79,59,84,59,46,42,51,42,56,42,61,42,66,42,71,42,76,42,89,59,94,59,99,59,33,189,104,59,109,59,114,59,119,59,124,59,47,189,129,59,54,189,61,189,134,59,139,59,144,59,149,59,154,59,159,59,164,59,169,59,81,42,174,59,179,59,184,59,189,59,194,59,199,59,86,42,204,59,209,59,196,178,214,59,219,59,224,59,229,59,234,59,75,189,82,189,89,189,115,8,119,8,123,8,127,8,204,154,183,200,102,127,108,127,248,110,114,127,120,127,126,127,52,108,132,127,131,8,138,127,144,127,150,127,156,127,162,127,168,127,174,127,30,112,180,127,186,127,135,8,192,127,36,109,198,127,204,127,191,200,199,200,207,200,210,127,215,200,223,200,231,200,239,200,58,108,247,200,255,200,7,201,15,201,23,201,139,8,239,59,148,156,216,127,201,189,208,189,254,110,222,127,64,108,228,127,234,127,47,201,240,127,246,127,252,127,2,128,8,128,14,128,70,108,55,201,20,128,26,128,32,128,38,128,143,8,250,189,1,190,22,190,29,190,36,190,43,190,50,190,57,190,64,190,244,59,91,42,249,59,254,59,3,60,8,60,13,60,18,60,23,60,28,60,96,42,33,60,85,190,92,190,99,190,38,60,43,60,106,190,44,128,48,60,53,60,147,8,58,60,63,60,68,60,73,60,78,60,120,190,83,60,88,60,93,60,127,190,98,60,103,60,108,60,151,8,79,39,184,39,101,42,106,42,113,60,111,42,118,60,34,39,155,8,116,42,240,43,123,60,50,128,56,128,62,128,68,128,74,128,80,128,86,128,4,111,92,128,98,128,10,111,104,128,16,111,110,128,116,128,122,128,128,128,134,128,76,108,140,128,146,128,152,128,158,128,164,128,170,128,176,128,182,128,48,109,188,128,82,108,194,128,200,128,148,190,155,190,174,157,159,8,163,8,167,8,206,128,171,8,192,157,198,157,128,60,133,60,138,60,143,60,148,60,153,60,158,60,163,60,168,60,121,42,173,60,176,190,178,60,14,158,183,60,188,60,193,60,126,42,198,60,203,60,131,42,208,60,136,42,213,60,218,60,223,60,228,60,233,60,238,60,243,60,248,60,141,42,203,178,211,190,253,60,2,61,7,61,12,61,17,61,22,61,27,61,32,61,37,61,42,61,146,42,47,61,151,42,52,61,57,61,62,61,67,61,72,61,156,42,77,61,82,61,87,61,92,61,97,61,102,61,107,61,112,61,232,190,117,61,122,61,127,61,103,201,142,61,147,61,152,61,157,61,162,61,167,61,172,61,177,61,182,61,192,61,197,61,224,39,202,61,207,61,212,61,217,61,18,191,222,61,227,61,232,61,237,61,242,61,247,61,252,61,218,158,1,62,6,62,11,62,229,39,16,62,21,62,161,42,26,62,31,62,36,62,166,42,32,191,171,42,176,42,181,42,46,191,53,191,212,128,22,111,218,128,224,128,230,128,236,128,242,128,248,128,254,128,4,129,10,129,16,129,22,129,28,129,30,106,54,109,34,129,41,62,46,62,51,62,56,62,61,62,66,62,71,62,76,62,81,62,186,42,86,62,183,8,91,62,66,160,96,62,101,62,106,62,111,62,46,129,52,129,58,129,64,129,70,129,76,129,82,129,88,129,94,129,100,129,106,129,112,129,119,201,118,129,124,129,130,129,136,129,142,129,148,129,60,109,154,129,160,129,166,129,28,111,172,129,178,129,184,129,34,111,190,129,196,129,202,129,208,129,214,129,220,129,226,129,127,201,232,129,238,129,244,129,250,129,0,130,6,130,12,130,18,130,24,130,30,130,123,191,130,191,137,191,144,191,36,130,42,130,48,130,54,130,60,130,66,130,72,130,78,130,84,130,90,130,96,130,102,130,88,108,108,130,114,130,135,201,120,130,143,201,126,130,151,201,132,130,40,111,138,130,46,111,144,130,150,130,156,130,162,130,168,130,52,111,58,111,64,111,174,130,70,111,180,130,186,130,192,130,198,130,204,130,210,130,216,130,222,130,228,130,234,130,240,130,246,130,252,130,2,131,8,131,14,131,20,131,26,131,32,131,38,131,44,131,159,201,50,131,56,131,62,131,68,131,74,131,80,131,86,131,92,131,94,108,98,131,104,131,66,109,110,131,116,131,8,107,122,131,128,131,134,131,36,112,140,131,146,131,116,62,191,42,121,62,126,62,131,62,136,62,141,62,146,62,151,62,156,62,161,62,166,62,171,62,176,62,181,62,186,62,191,62,196,62,201,62,206,62,211,62,216,62,221,62,152,131,158,131,76,111,164,131,191,201,170,131,176,131,182,131,188,131,194,131,200,131,206,131,212,131,218,131,224,131,207,191,214,191,226,62,231,62,82,111,88,111,94,111,100,111,106,111,112,111,118,111,100,108,124,111,130,111,230,131,199,201,236,131,242,131,187,8,235,191,236,62,34,162,248,131,241,62,246,62,251,62,0,63,5,63,10,63,15,63,20,63,25,63,30,63,196,42,235,8,35,63,40,63,45,63,50,63,55,63,60,63,65,63,70,63,75,63,7,192,245,43,80,63,85,63,90,63,95,63,100,63,105,63,110,63,115,63,120,63,125,63,130,63,135,63,140,63,145,63,150,63,155,63,160,63,165,63,170,63,175,63,14,192,180,63,185,63,190,63,195,63,28,192,35,192,42,192,200,63,250,43,205,63,210,63,254,131,4,132,136,111,10,132,201,42,16,132,22,132,206,42,215,63,28,132,34,132,220,63,211,42,225,63,142,111,40,132,148,111,56,192,154,111,46,132,52,132,160,111,58,132,64,132,70,132,210,178,76,132,230,63,82,132,235,63,88,132,94,132,100,132,106,132,112,132,240,63,245,63,118,132,124,132,130,132,136,132,142,132,148,132,154,132,160,132,166,111,166,132,172,132,178,132,184,132,190,132,196,132,202,132,216,42,120,109,208,132,14,107,250,63,126,109,214,132,220,132,172,111,221,42,226,132,232,132,238,132,244,132,255,63,250,132,4,64,0,133,6,133,12,133,18,133,178,111,24,133,20,107,30,133,84,109,70,192,84,192,91,192,9,64,14,64,19,64,24,64,29,64,34,64,105,192,39,64,44,64,49,64,119,192,126,192,133,192,54,64,59,64,64,64,69,64,226,42,74,64,79,64,231,42,84,64,89,64,94,64,99,64,104,64,109,64,236,42,114,64,119,64,124,64,161,192,129,64,228,163,239,8,234,163,240,163,246,163,175,192,134,64,139,64,223,201,231,201,239,201,247,201,255,201,7,202,15,202,23,202,31,202,39,202,47,202,55,202,63,202,71,202,79,202,87,202,95,202,103,202,111,202,119,202,127,202,135,202,143,202,149,64,154,64,159,64,164,64,241,42,169,64,174,64,246,42,96,108,243,8,251,42,247,8,251,8,231,192,179,64,184,64,189,64,194,64,245,192,199,64,0,43,204,64,209,64,214,64,219,64,224,64,229,64,234,64,239,64,244,64,5,43,249,64,254,64,10,43,3,65,8,65,13,65,18,65,23,65,15,43,28,65,33,65,38,65,43,65,48,65,53,65,58,65,63,65,68,65,73,65,78,65,83,65,88,65,20,43,25,43,93,65,98,65,30,43,103,65,35,43,40,43,108,65,113,65,118,65,123,65,24,193,255,8,128,65,133,65,138,65,143,65,148,65,153,65,158,65,163,65,168,65,173,65,255,43,18,40,178,65,183,65,188,65,193,65,198,65,45,43,203,65,52,193,84,39,208,65,19,39,213,65,218,65,223,65,228,65,233,65,4,44,238,65,109,39,243,65,248,65,253,65,2,66,7,66,12,66,17,66,22,66,50,43,27,66,32,66,37,66,42,66,47,66,52,66,57,66,62,66,67,66,72,66,77,66,82,66,87,66,92,66,3,9,7,9,11,9,15,9,19,9,115,193,122,193,129,193,136,193,143,193,150,193,157,193,164,193,171,193,23,9,97,66,55,43,102,66,107,66,112,66,117,66,122,66,60,43,127,66,132,66,137,66,142,66,147,66,152,66,157,66,162,66,167,66,65,43,222,169,27,9,234,169,236,43,213,193,220,193,227,193,234,193,241,193,172,66,248,193,255,193,13,194,27,194,34,194,41,194,48,194,55,194,62,194,69,194,76,194,126,178,36,133,42,133,48,133,54,133,60,133,66,133,72,133,78,133,84,133,114,109,90,133,96,133,102,133,108,133,114,133,120,133,126,133,132,133,138,133,144,133,150,133,156,133,162,133,168,133,174,133,180,133,132,106,186,133,192,133,198,133,204,133,210,133,216,133,222,133,228,133,184,111,234,133,240,133,246,133,252,133,246,106,2,134,8,134,14,134,20,134,111,194,118,194,125,194,132,194,177,66,182,66,187,66,192,66,197,66,202,66,207,66,212,66,217,66,222,66,227,66,232,66,237,66,242,66,247,66,252,66,1,67,6,67,11,67,16,67,21,67,26,67,31,67,36,67,41,67,46,67,51,67,231,202,239,202,247,202,255,202,7,203,15,203,23,203,31,203,39,203,47,203,55,203,63,203,71,203,79,203,87,203,31,9,199,2,35,9,39,9,56,67,61,67,66,67,71,67,76,67,81,67,86,67,91,67,96,67,188,194,15,107,106,67,70,43,111,67,116,67,75,43,121,67,126,67,131,67,141,67,146,67,151,67,156,67,161,67,166,67,171,67,80,43,176,67,195,194,181,67,202,194,209,194,216,194,85,43,191,67,196,67,201,67,206,67,211,67,216,67,221,67,226,67,236,67,223,194,241,67,246,67,0,68,5,68,15,68,20,68,25,68,30,68,35,68,21,107,40,68,90,43,83,40,45,68,50,68,55,68,60,68,95,43,65,68,70,68,237,194,75,68,80,68,85,68,88,40,89,39,93,40,90,68,95,68,9,44,14,44,23,40,100,68,105,68,110,68,154,39,189,39,159,39,98,40,103,40,115,68,9,195,106,174,130,174,44,195,120,68,51,195,125,68,58,195,65,195,130,68,72,195,79,195,135,68,86,195,140,68,145,68,93,195,100,195,150,68,155,68,160,68,165,68,170,68,26,134,32,134,38,134,190,111,42,112,44,134,175,68,180,68,100,43,185,68,190,68,195,68,200,68,205,68,210,68,215,68,220,68,225,68,230,68,105,43,235,68,240,68,245,68,250,68,255,68,4,69,9,69,14,69,110,43,19,69,115,43,24,69,29,69,34,69,39,69,120,43,234,39,44,69,239,39,49,69,125,43,54,69,130,43,59,69,135,43,50,134,64,69,69,69,74,69,79,69,84,69,163,195,89,69,94,69,140,43,99,69,104,69,109,69,114,69,114,39,24,39,177,195,0,1,31,179,45,179,52,179,59,179,80,179,87,179,122,179,129,179,136,179,143,179,157,179,171,179,178,179,192,179,199,179,206,179,213,179,227,179,248,179,48,180,55,180,76,180,104,180,118,180,132,180,146,180,153,180,160,180,167,180,174,180,181,180,223,180,237,180,16,181,23,181,37,181,44,181,51,181,65,181,72,181,93,181,100,181,114,181,128,181,156,181,163,181,170,181,177,181,254,181,5,182,12,182,26,182,47,182,61,182,68,182,75,182,89,182,96,182,110,182,117,182,138,182,152,182,173,182,215,182,1,183,8,183,22,183,29,183,36,183,43,183,57,183,113,183,127,183,148,183,169,183,176,183,183,183,204,183,39,184,53,184,60,184,74,184,88,184,95,184,102,184,109,184,116,184,123,184,130,184,179,184,186,184,193,184,14,185,21,185,49,185,56,185,70,185,77,185,98,185,105,185,119,185,147,185,168,185,189,185,196,185,3,186,31,186,38,186,45,186,66,186,73,186,87,186,122,186,129,186,20,187,27,187,48,187,55,187,97,187,139,187,146,187,167,187,174,187,181,187,202,187,223,187,251,187,2,188,9,188,16,188,30,188,44,188,72,188,93,188,163,188,170,188,177,188,226,188,233,188,240,188,254,188,26,189,40,189,68,189,96,189,103,189,110,189,117,189,187,189,194,189,215,189,222,189,229,189,236,189,243,189,8,190,15,190,71,190,78,190,113,190,134,190,141,190,162,190,169,190,183,190,190,190,197,190,204,190,218,190,239,190,246,190,25,191,39,191,60,191,67,191,74,191,81,191,95,191,102,191,109,191,116,191,151,191,158,191,172,191,179,191,186,191,193,191,200,191,221,191,228,191,242,191,249,191,0,192,21,192,49,192,63,192,77,192,98,192,112,192,147,192,154,192,168,192,182,192,189,192,203,192,210,192,217,192,224,192,238,192,252,192,3,193,10,193,17,193,31,193,38,193,45,193,59,193,66,193,80,193,87,193,94,193,101,193,108,193,178,193,185,193,192,193,199,193,206,193,6,194,20,194,83,194,90,194,97,194,104,194,139,194,146,194,160,194,174,194,230,194,244,194,251,194,2,195,16,195,23,195,30,195,37,195,107,195,114,195,121,195,128,195,135,195,142,195,149,195,156,195,170,195,184,195,10,0,158,220,11,220,103,218,37,212,135,219,104,219,54,212,82,213,198,219,62,210,191,0,242,215,47,220,175,210,192,210,204,206,243,206,209,210,84,205,217,206,72,217,226,210,243,210,217,216,194,212,4,211,21,211,179,205,200,208,234,220,241,218,38,211,212,212,45,214,178,214,185,207,171,207,55,211,26,214,231,219,166,219,129,218,84,220,58,206,0,207,158,209,72,211,174,209,89,211,190,209,106,211,123,211,206,209,140,211,157,211,222,209,13,207,198,214,199,207,7,216,28,216,142,209,215,208,239,216,218,214,174,211,238,209,213,207,49,216,227,207,70,216,254,209,91,216,26,207,241,207,230,208,64,214,39,207,244,213,191,211,112,216,238,214,14,210,157,218,230,212,52,207,196,220,2,215,30,210,22,215,42,215,65,207,185,218,5,217,70,206,83,214,245,208,44,219,187,217,133,216,28,218,248,212,208,211,255,207,82,206,4,209,94,206,225,211,10,213,91,207,28,213,106,206,3,218,46,213,242,211,154,216,13,208,3,212,104,207,46,206,62,215,82,215,27,208,118,206,94,205,95,217,190,205,201,205,104,205,41,208,223,205,19,209,34,209,212,205,78,210,157,205,168,205,166,204,130,206,46,210,94,210,49,209,20,212,64,209,79,209,110,210,234,205,102,215,175,216,102,214,117,207,64,213,53,218,121,220,126,210,122,215,142,215,55,208,78,218,245,205,118,217,162,215,182,215,49,217,202,215,7,214,211,217,222,215,71,212,83,208,100,213,235,217,118,213,136,213,141,217,121,214,154,213,172,213,0,206,190,213,88,212,196,216,74,219,154,206,142,206,111,208,191,206,27,217,140,214,213,218,97,208,164,217,208,213,130,207,105,212,226,213,166,206,159,214,230,206,176,212,142,210,69,208,3,0,135,197,143,197,91,185,103,0,233,203,242,203,158,70,251,203,145,43,119,69,55,197,95,197,103,197,134,137,154,178,150,179,151,197,164,179,185,179,188,203,199,197,166,138,13,204,63,197,22,204,66,139,231,197,168,139,197,203,149,181,58,204,58,141,19,182,103,182,181,203,175,198,190,183,85,204,199,198,197,183,94,204,128,134,46,184,39,199,147,178,47,199,71,199,103,204,112,204,179,203,95,199,121,204,16,150,139,204,84,151,224,203,216,151,175,199,183,199,148,204,230,152,157,204,71,197,63,201,224,178,26,158,175,204,225,190,98,158,64,159,34,135,184,204,114,205,88,191,138,160,193,204,231,178,167,201,175,201,248,161,30,163,96,163,120,163,202,204,140,192,196,192,64,168,60,136,211,204,220,204,167,202,175,202,229,204,73,193,206,203,238,204,28,171,153,194,167,194,181,194,111,203,0,205,9,205,18,205,27,205,36,205,215,203,1,0,111,4,194,195,2,0,31,0,10,0,1,0,111,4,202,195,1,0,129,4,58,0,1,0,111,4,202,195,1,0,111,4,194,195,1,0,129,4,223,105,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,89,44,1,0,111,4,210,195,1,0,129,4,144,1,1,0,111,4,194,195,2,0,15,106,145,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,74,39,2,0,82,196,194,195,1,0,111,4,194,195,1,0,129,4,223,105,1,0,111,4,128,40,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,64,0,1,0,111,4,202,195,2,0,111,4,129,4,10,196,10,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,194,195,26,0,70,0,106,0,31,0,13,0,55,0,173,212,39,106,153,106,37,0,79,0,160,1,82,0,236,1,85,0,72,1,68,2,240,1,166,0,91,0,248,1,81,106,220,1,61,0,184,1,144,1,67,0,2,0,56,1,95,107,3,0,84,44,244,44,18,45,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,13,0,1,0,111,4,210,195,1,0,129,4,248,1,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,72,1,1,0,111,4,210,195,1,0,129,4,55,0,1,0,111,4,234,195,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,64,1,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,2,0,111,4,129,4,194,195,213,106,3,0,210,195,202,195,194,195,3,0,37,0,56,1,36,1,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,210,195,2,0,56,1,151,105,1,0,111,4,194,195,2,0,111,4,129,4,94,44,4,0,1,0,111,4,147,203,1,0,111,4,194,195,2,0,193,105,133,105,1,0,111,4,194,195,1,0,111,4,99,44,1,0,111,4,194,195,2,0,111,4,129,4,104,44,4,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,28,0,2,0,111,4,129,4,202,195,216,1,1,0,111,4,210,195,1,0,129,4,81,106,1,0,111,4,194,195,1,0,129,4,21,106,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,98,196,1,0,111,4,210,195,1,0,111,4,34,196,1,0,111,4,147,203,2,0,111,4,129,4,202,195,25,0,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,210,195,1,0,129,4,151,105,1,0,111,4,54,39,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,147,203,3,0,121,105,63,106,156,1,2,0,111,4,129,4,194,195,105,106,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,194,195,1,0,129,4,169,105,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,4,0,1,0,129,4,48,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,109,44,1,0,111,4,194,195,1,0,111,4,98,45,2,0,194,195,106,196,1,0,129,4,43,0,1,0,111,4,194,195,2,0,111,4,129,4,234,195,168,1,1,0,129,4,121,105,1,0,111,4,34,196,1,0,129,4,52,1,1,0,111,4,234,195,1,0,111,4,210,195,1,0,129,4,56,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,210,195,2,0,111,4,129,4,194,195,151,105,1,0,111,4,147,203,1,0,129,4,121,105,2,0,202,195,194,195,1,0,129,4,48,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,202,195,1,0,111,4,194,195,1,0,129,4,196,1,1,0,111,4,194,195,2,0,111,4,129,4,119,39,4,0,1,0,111,4,194,195,1,0,129,4,141,106,1,0,111,4,194,195,1,0,111,4,10,196,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,180,1,1,0,129,4,64,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,234,195,114,44,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,194,195,1,0,129,4,157,105,2,0,111,4,129,4,194,195,118,0,1,0,111,4,194,195,1,0,129,4,51,106,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,29,39,76,1,1,0,111,4,124,44,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,210,195,1,0,111,4,108,40,1,0,111,4,108,40,1,0,111,4,210,195,1,0,111,4,202,195,1,0,111,4,210,195,2,0,37,0,56,1,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,3,0,210,195,138,40,54,39,1,0,111,4,194,195,2,0,29,39,194,195,1,0,129,4,76,1,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,29,39,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,29,39,1,0,111,4,194,195,1,0,129,4,201,106,2,0,111,4,129,4,194,195,19,0,1,0,129,4,88,1,2,0,111,4,129,4,194,195,100,1,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,129,4,139,105,2,0,111,4,129,4,194,195,3,106,1,0,129,4,133,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,121,105,6,0,193,105,205,105,235,105,133,105,192,1,241,105,13,0,123,106,19,0,3,106,211,105,181,105,139,105,34,0,40,0,175,105,100,1,217,105,88,1,154,205,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,29,39,76,1,1,0,111,4,194,195,1,0,129,4,76,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,128,1,1,0,111,4,202,195,1,0,111,4,194,195,1,0,129,4,28,0,1,0,111,4,147,203,2,0,210,195,83,45,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,108,45,77,107,1,0,111,4,194,195,2,0,111,4,129,4,210,195,48,1,1,0,111,4,194,195,1,0,129,4,49,0,2,0,111,4,129,4,34,196,112,0,1,0,111,4,194,195,1,0,111,4,194,195,2,0,223,105,176,1,1,0,111,4,194,195,1,0,129,4,169,105,1,0,111,4,194,195,1,0,111,4,139,44,1,0,111,4,194,195,1,0,111,4,113,40,2,0,253,105,148,1,89,0,121,108,127,108,100,0,133,108,139,108,52,0,205,111,145,108,41,107,137,107,76,1,151,108,211,111,141,106,217,111,223,111,47,107,39,106,45,106,229,111,51,106,139,105,157,108,235,111,223,105,163,108,53,107,118,0,59,107,147,106,57,106,169,108,121,105,241,111,175,108,159,106,163,105,65,107,181,108,247,111,187,108,193,108,71,107,165,106,88,0,140,2,253,111,9,106,63,106,171,106,15,106,3,112,169,105,177,106,83,107,183,106,189,106,7,0,151,105,9,112,235,108,195,106,75,106,89,107,201,106,81,106,93,106,15,112,99,106,95,107,199,108,101,107,21,112,205,108,107,107,113,107,119,107,229,105,157,105,40,2,154,205,125,107,211,108,41,219,105,106,207,106,145,105,21,106,111,106,2,0,202,196,178,196,50,0,212,2,70,0,131,107,193,105,164,1,168,1,205,105,25,0,123,106,235,105,143,107,253,105,19,0,133,105,3,106,13,0,108,1,55,0,64,1,10,0,211,105,181,105,148,1,92,1,34,0,153,106,37,0,104,1,79,0,40,0,236,1,152,1,124,1,241,105,132,1,72,1,77,107,225,106,69,106,175,105,100,1,247,105,80,1,87,106,217,105,88,1,116,2,84,1,22,0,67,0,1,0,111,4,194,195,1,0,111,4,194,195,23,0,131,107,213,106,143,107,217,108,149,107,223,108,155,107,154,0,219,106,64,1,129,106,161,107,229,108,100,2,225,106,167,107,173,107,179,107,235,108,231,106,185,107,241,108,191,107,10,0,180,1,137,107,133,105,181,105,139,105,163,108,7,0,247,105,80,1,154,205,1,0,111,4,194,195,2,0,111,4,129,4,194,195,108,1,2,0,124,39,194,195,1,0,111,4,194,195,1,0,129,4,64,1,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,136,1,56,1,1,0,129,4,151,105,1,0,111,4,194,195,1,0,129,4,129,106,1,0,129,4,7,0,1,0,111,4,194,195,2,0,116,1,48,1,1,0,111,4,194,195,1,0,129,4,43,0,2,0,111,4,129,4,194,195,211,105,2,0,108,1,87,106,1,0,111,4,210,195,2,0,111,4,129,4,194,195,7,0,2,0,111,4,129,4,103,45,154,205,1,0,111,4,194,195,2,0,111,4,129,4,194,195,45,106,2,0,111,4,129,4,194,195,80,2,1,0,111,4,194,195,1,0,129,4,73,0,45,0,205,105,49,0,52,0,73,0,145,0,76,1,96,1,228,1,64,2,235,105,28,0,141,106,31,0,13,0,181,105,72,2,52,2,116,1,128,2,129,106,76,0,160,1,241,105,72,1,130,0,12,2,165,106,43,0,163,0,63,106,136,0,128,1,208,1,132,2,0,2,75,106,201,106,48,1,61,0,184,1,176,1,144,1,105,106,140,1,196,1,8,0,133,105,139,105,104,1,175,105,247,105,80,1,108,2,154,205,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,133,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,140,1,1,0,111,4,194,195,1,0,129,4,128,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,169,105,1,0,111,4,194,195,1,0,129,4,81,106,1,0,111,4,194,195,1,0,129,4,175,105,2,0,111,4,129,4,194,195,57,106,1,0,129,4,139,105,1,0,111,4,194,195,1,0,129,4,223,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,242,195,1,0,129,4,52,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,210,195,1,0,111,4,194,195,1,0,129,4,52,2,1,0,111,4,194,195,1,0,129,4,139,105,1,0,111,4,10,196,2,0,111,4,129,4,194,195,65,107,1,0,111,4,210,195,1,0,111,4,210,195,1,0,111,4,194,195,1,0,129,4,64,1,1,0,111,4,202,195,1,0,111,4,210,195,1,0,129,4,56,1,1,0,111,4,194,195,2,0,111,4,129,4,194,195,231,106,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,2,0,147,203,18,196,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,194,195,1,0,111,4,149,44,1,0,111,4,194,195,3,0,129,44,54,39,152,71,1,0,111,4,234,195,2,0,235,105,192,1,1,0,129,4,133,105,1,0,111,4,218,196,2,0,139,105,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,223,105,1,0,111,4,194,195,1,0,129,4,163,105,2,0,111,4,129,4,194,195,169,108,1,0,111,4,147,203,1,0,111,4,194,195,1,0,129,4,76,1,2,0,210,195,194,195,2,0,128,1,169,105,1,0,111,4,194,195,1,0,111,4,242,195,1,0,129,4,52,1,1,0,111,4,194,195,1,0,129,4,154,205,1,0,111,4,210,195,1,0,129,4,136,1,2,0,111,4,129,4,42,196,153,106,2,0,111,4,129,4,147,203,121,105,2,0,194,195,204,44,3,0,45,106,121,105,145,105,2,0,147,203,194,195,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,128,40,1,0,111,4,43,45,1,0,111,4,194,195,1,0,111,4,164,44,1,0,111,4,210,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,122,196,1,0,111,4,194,195,1,0,111,4,159,44,1,0,111,4,210,195,1,0,129,4,151,105,2,0,111,4,129,4,194,195,189,106,1,0,111,4,147,203,2,0,111,4,129,4,123,45,121,105,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,2,0,164,1,92,1,3,0,193,105,68,1,217,105,1,0,111,4,194,195,1,0,111,4,242,195,1,0,129,4,52,1,2,0,111,4,129,4,194,195,76,0,2,0,111,4,129,4,194,195,34,0,3,0,193,105,80,1,68,1,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,226,196,56,2,1,0,129,4,36,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,169,105,2,0,111,4,129,4,194,195,4,0,1,0,111,4,210,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,169,105,1,0,111,4,133,45,2,0,111,4,129,4,194,195,52,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,202,195,2,0,210,195,194,195,2,0,111,4,129,4,194,195,121,0,4,0,235,105,104,1,76,2,224,1,5,0,133,105,181,105,92,1,9,106,154,205,2,0,29,39,194,195,1,0,129,4,76,1,1,0,111,4,194,195,2,0,111,4,129,4,2,196,124,0,1,0,111,4,194,195,1,0,129,4,159,106,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,42,196,1,0,111,4,42,196,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,169,44,4,0,2,0,111,4,129,4,114,196,58,0,1,0,111,4,202,195,1,0,111,4,194,195,1,0,129,4,13,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,163,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,229,105,1,0,111,4,44,39,1,0,111,4,194,195,1,0,129,4,215,107,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,96,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,234,195,121,105,1,0,111,4,93,45,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,50,196,1,0,111,4,210,195,1,0,111,4,194,195,1,0,129,4,163,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,15,106,1,0,111,4,122,196,1,0,111,4,194,195,1,0,111,4,202,195,2,0,210,195,202,195,1,0,129,4,52,1,1,0,111,4,194,195,2,0,111,4,129,4,194,195,160,0,1,0,129,4,3,106,1,0,111,4,194,195,1,0,129,4,163,105,2,0,111,4,129,4,234,196,127,0,1,0,111,4,194,195,1,0,129,4,117,106,1,0,111,4,90,196,1,0,129,4,121,105,1,0,129,4,48,1,2,0,172,1,244,1,2,0,52,1,154,205,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,129,4,99,106,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,2,0,210,195,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,3,0,210,195,202,195,194,195,2,0,61,0,22,0,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,111,4,202,195,2,0,111,4,129,4,23,45,36,1,1,0,111,4,194,195,1,0,111,4,210,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,44,39,1,0,129,4,84,1,1,0,111,4,210,195,3,0,210,195,202,195,194,195,1,0,111,4,113,40,2,0,111,4,129,4,194,195,224,1,1,0,111,4,147,71,1,0,111,4,42,196,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,151,105,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,194,195,2,0,111,4,129,4,194,195,241,105,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,111,4,44,39,1,0,111,4,179,44,1,0,111,4,202,195,2,0,111,4,129,4,79,44,36,1,2,0,202,195,194,195,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,194,195,2,0,147,203,184,44,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,189,44,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,210,195,1,0,111,4,194,195,1,0,111,4,18,196,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,96,1,2,0,111,4,129,4,122,196,32,2,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,21,106,1,0,111,4,210,195,1,0,129,4,56,1,2,0,111,4,129,4,194,195,124,1,1,0,129,4,100,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,96,1,1,0,111,4,194,195,1,0,129,4,96,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,163,105,1,0,111,4,234,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,163,105,1,0,111,4,210,195,1,0,129,4,56,1,2,0,111,4,129,4,194,195,132,1,1,0,111,4,44,39,1,0,111,4,242,195,2,0,114,196,194,195,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,147,203,2,0,121,105,156,1,1,0,111,4,194,195,2,0,111,4,129,4,119,39,4,0,2,0,194,195,106,196,2,0,53,107,116,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,194,195,1,0,111,4,119,39,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,219,44,99,106,1,0,111,4,194,195,1,0,129,4,163,105,1,0,129,4,48,1,1,0,111,4,210,195,1,0,129,4,84,1,1,0,111,4,194,195,1,0,129,4,63,106,1,0,129,4,48,1,2,0,111,4,129,4,194,195,165,106,1,0,111,4,194,195,1,0,129,4,199,105,1,0,111,4,194,195,1,0,111,4,147,203,1,0,111,4,194,195,2,0,111,4,129,4,194,195,88,0,2,0,111,4,129,4,194,195,183,106,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,4,0,2,0,111,4,129,4,202,195,4,2,1,0,111,4,138,196,1,0,129,4,121,105,1,0,111,4,194,195,2,0,111,4,129,4,202,195,60,2,2,0,162,196,118,40,1,0,111,4,162,196,1,0,111,4,234,195,2,0,111,4,129,4,165,203,121,105,1,0,111,4,202,195,1,0,111,4,50,196,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,49,0,1,0,111,4,147,203,2,0,111,4,129,4,229,44,121,105,1,0,111,4,147,203,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,234,44,2,0,210,195,194,195,3,0,48,2,69,106,93,106,2,0,151,108,4,0,2,0,111,4,129,4,194,195,9,106,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,210,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,50,196,252,1,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,209,44,1,0,111,4,210,195,1,0,129,4,56,1,2,0,111,4,129,4,194,195,177,106,1,0,111,4,242,195,1,0,129,4,52,1,1,0,111,4,194,195,1,0,111,4,194,195,2,0,46,0,44,2,1,0,111,4,194,195,2,0,111,4,129,4,194,195,111,106,1,0,111,4,194,195,1,0,129,4,199,105,1,0,111,4,194,195,2,0,133,105,175,105,2,0,111,4,129,4,147,203,156,1,1,0,129,4,121,105,1,0,111,4,147,203,1,0,129,4,156,1,1,0,111,4,194,195,1,0,129,4,15,106,1,0,111,4,194,195,1,0,129,4,199,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,83,107,1,0,111,4,194,195,7,0,103,0,205,105,109,0,115,0,175,105,232,1,199,108,1,0,129,4,133,105,1,0,111,4,194,195,2,0,111,4,129,4,194,195,46,0,1,0,111,4,194,195,2,0,111,4,129,4,194,195,46,0,1,0,111,4,174,44,1,0,129,4,84,1,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,202,195,1,0,111,4,94,39,1,0,111,4,194,195,1,0,111,4,106,196,1,0,111,4,194,195,1,0,129,4,145,105,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,145,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,171,106,1,0,129,4,21,106,1,0,111,4,194,195,1,0,129,4,229,105,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,64,1,181,105,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,29,39,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,10,196,10,0,1,0,111,4,170,196,1,0,129,4,121,105,1,0,111,4,202,195,1,0,129,4,58,0,1,0,111,4,8,45,1,0,111,4,194,195,2,0,124,39,194,195,1,0,111,4,3,45,2,0,210,195,250,196,3,0,139,105,121,105,151,105,1,0,111,4,194,195,1,0,129,4,7,0,2,0,28,45,33,45,1,0,111,4,194,195,1,0,129,4,7,0,2,0,103,0,115,0,1,0,129,4,109,0,2,0,111,4,129,4,194,195,195,106,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,169,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,128,45,1,0,111,4,194,195,1,0,111,4,38,45,3,0,147,203,130,196,44,39,1,0,111,4,194,195,1,0,129,4,89,107,1,0,111,4,194,195,2,0,111,4,129,4,194,195,100,1,2,0,139,105,120,1,1,0,111,4,194,195,3,0,202,195,54,39,194,195,1,0,111,4,194,195,1,0,129,4,51,106,1,0,111,4,194,195,1,0,111,4,210,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,210,195,136,1,1,0,129,4,151,105,10,0,117,106,123,106,215,107,129,106,221,107,75,109,199,105,247,105,81,109,227,107,1,0,111,4,194,195,3,0,213,106,219,106,179,107,1,0,111,4,194,195,1,0,129,4,161,107,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,0,2,1,0,111,4,194,195,2,0,111,4,129,4,143,40,4,0,1,0,111,4,194,195,1,0,111,4,53,45,2,0,210,195,194,195,1,0,111,4,194,195,2,0,194,195,59,39,1,0,129,4,72,1,1,0,111,4,147,203,1,0,111,4,234,195,2,0,168,1,121,105,1,0,111,4,194,195,1,0,129,4,235,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,56,1,1,0,111,4,194,195,2,0,111,4,129,4,194,195,52,0,1,0,111,4,194,195,1,0,129,4,199,105,2,0,84,2,80,1,2,0,111,4,129,4,202,195,68,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,194,195,5,0,216,1,212,1,40,0,36,1,120,1,9,0,25,0,133,105,108,1,124,1,132,1,100,1,44,2,94,0,97,0,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,75,106,1,0,111,4,194,195,1,0,111,4,82,196,5,0,147,203,154,44,63,45,68,45,130,196,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,202,195,1,0,129,4,36,1,2,0,42,196,123,40,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,4,0,1,0,111,4,254,44,4,0,234,195,147,203,194,195,170,196,1,0,129,4,48,1,1,0,111,4,58,45,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,104,1,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,139,105,1,0,111,4,194,195,2,0,210,195,147,203,2,0,2,197,10,197,2,0,121,105,151,105,1,0,111,4,194,195,1,0,111,4,210,195,1,0,129,4,56,1,1,0,111,4,194,195,2,0,111,4,129,4,202,195,46,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,28,0,1,0,111,4,194,195,1,0,129,4,199,105,1,0,111,4,194,195,1,0,111,4,202,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,228,1,2,0,194,195,249,44,1,0,111,4,194,195,3,0,210,195,194,195,59,39,1,0,129,4,72,1,1,0,111,4,50,196,1,0,129,4,252,1,2,0,111,4,129,4,130,196,152,1,1,0,111,4,194,195,1,0,129,4,10,0,2,0,111,4,129,4,194,195,88,1,2,0,19,0,68,1,1,0,111,4,210,195,1,0,129,4,151,105,2,0,111,4,129,4,194,195,217,105,1,0,129,4,193,105,1,0,111,4,194,195,1,0,111,4,194,195,2,0,100,0,207,106,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,123,40,1,0,111,4,194,195,1,0,129,4,211,105,2,0,111,4,129,4,194,195,111,106,1,0,129,4,48,1,1,0,111,4,194,195,1,0,129,4,43,0,2,0,111,4,129,4,194,195,220,1,2,0,210,195,13,45,2,0,31,0,10,0,1,0,111,4,44,39,1,0,129,4,84,1,2,0,88,2,64,0,2,0,4,2,68,1,2,0,202,195,194,195,4,0,164,1,133,0,68,1,64,0,1,0,111,4,194,195,1,0,111,4,148,40,1,0,111,4,194,195,1,0,129,4,232,1,1,0,111,4,194,195,1,0,129,4,48,1,1,0,111,4,147,203,2,0,111,4,129,4,194,195,101,107,1,0,129,4,145,105,1,0,111,4,194,195,2,0,111,4,129,4,194,195,71,107,1,0,129,4,145,105,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,73,45,4,0,1,0,111,4,194,195,1,0,129,4,229,105,1,0,111,4,194,195,2,0,111,4,129,4,210,195,116,1,3,0,142,0,211,105,87,106,3,0,163,105,229,105,157,105,1,0,129,4,96,1,1,0,111,4,210,195,2,0,111,4,129,4,194,195,196,1,1,0,111,4,194,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,234,195,2,0,111,4,129,4,28,40,168,1,1,0,111,4,74,39,1,0,111,4,194,195,2,0,152,1,93,106,3,0,139,105,121,105,69,106,1,0,111,4,202,195,1,0,111,4,147,203,1,0,111,4,34,196,1,0,111,4,194,195,1,0,111,4,78,45,1,0,111,4,90,196,1,0,129,4,121,105,1,0,111,4,88,45,1,0,111,4,147,203,1,0,111,4,34,196,1,0,111,4,147,203,1,0,111,4,18,196,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,99,106,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,194,195,2,0,111,4,129,4,194,195,227,107,3,0,210,195,202,195,194,195,2,0,111,4,129,4,44,39,84,1,1,0,111,4,147,203,1,0,111,4,147,203,1,0,111,4,147,203,2,0,111,4,129,4,10,196,39,106,1,0,129,4,10,0,1,0,111,4,10,196,1,0,129,4,39,106,1,0,111,4,194,195,1,0,129,4,169,105,3,0,210,195,202,195,194,195,2,0,136,1,56,1,2,0,111,4,129,4,194,195,205,108,2,0,202,195,194,195,1,0,111,4,147,203,1,0,111,4,194,195,3,0,210,195,202,195,194,195,1,0,129,4,188,1,1,0,111,4,194,195,1,0,129,4,128,1,2,0,111,4,129,4,194,195,41,107,1,0,129,4,145,105,1,0,129,4,48,1,2,0,111,4,129,4,194,195,107,107,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,194,195,189,106,2,0,253,105,22,0,2,0,111,4,129,4,210,195,133,105,1,0,111,4,194,195,1,0,111,4,74,39,1,0,111,4,194,195,1,0,111,4,210,195,1,0,111,4,194,195,2,0,199,105,145,105,1,0,111,4,54,39,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,194,195,1,0,111,4,34,196,1,0,111,4,202,195,1,0,129,4,36,1,1,0,111,4,194,195,1,0,111,4,44,39,1,0,129,4,84,1,2,0,202,195,194,195,1,0,111,4,210,195,1,0,111,4,194,195,1,0,129,4,171,106,2,0,111,4,129,4,194,195,119,107,1,0,111,4,194,195,2,0,111,4,129,4,194,195,208,1,1,0,111,4,202,195,1,0,129,4,36,1,2,0,194,195,59,39,1,0,111,4,202,195,1,0,111,4,202,195,2,0,111,4,129,4,194,195,36,1,2,0,210,195,202,195,2,0,111,4,129,4,194,195,52,1,1,0,111,4,118,45,2,0,111,4,129,4,202,195,120,1,1,0,129,4,68,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,117,106,5,0,139,0,151,0,181,0,144,2,120,2,2,0,234,195,147,203,1,0,129,4,121,105,2,0,234,195,147,203,2,0,111,4,129,4,210,195,151,105,2,0,139,105,121,105,3,0,210,195,202,195,194,195,1,0,129,4,136,1,2,0,194,195,153,40,1,0,111,4,194,195,1,0,129,4,145,105,1,0,111,4,194,195,5,0,123,106,92,1,104,1,225,106,217,105,1,0,111,4,194,195,2,0,111,4,129,4,194,195,200,1,2,0,111,4,129,4,242,196,154,205,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,205,105,1,0,111,4,194,195,1,0,129,4,133,105,1,0,111,4,194,195,1,0,129,4,199,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,10,196,1,0,129,4,10,0,1,0,111,4,194,195,1,0,129,4,7,0,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,18,196,1,0,129,4,121,105,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,140,1,2,0,111,4,129,4,210,195,160,1,2,0,111,4,129,4,194,195,48,1,1,0,111,4,210,195,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,242,195,1,0,129,4,52,1,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,119,44,1,0,111,4,194,195,1,0,129,4,145,105,1,0,111,4,194,44,1,0,111,4,199,44,1,0,111,4,114,196,1,0,111,4,214,44,1,0,111,4,224,44,1,0,111,4,239,44,1,0,111,4,147,203,1,0,129,4,121,105,1,0,111,4,194,195,1,0,129,4,157,105,1,0,111,4,48,45,1,0,111,4,194,39,1,0,111,4,147,203,2,0,124,39,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,194,195,1,0,111,4,42,196,2,0,111,4,129,4,194,195,169,105,1,0,111,4,202,195,1,0,111,4,194,195,1,0,111,4,194,195,2,0,242,195,146,196,2,0,52,1,147,106,1,0,111,4,194,195,2,0,111,4,129,4,242,195,52,1,1,0,111,4,194,195,1,0,111,4,194,195,2,0,111,4,129,4,210,195,160,1,1,0,111,4,194,195,1,0,111,4,59,39,1,0,111,4,59,39,1,0,129,4,72,1,2,0,242,195,146,196,5,0,52,1,147,106,75,109,93,106,175,0,2,0,133,40,118,40,5,0,4,0,69,106,84,1,154,205,200,1,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,145,105,1,0,111,4,194,195,1,0,111,4,194,195,1,0,129,4,22,0,4,0,133,14,142,14,148,14,153,14,236,112,132,136,14,219,158,212,6,0,32,1,136,105,66,39,64,183,120,106,244,105,4,0,81,39,15,40,131,178,41,1,4,0,166,39,171,39,29,196,41,1,4,0,111,39,171,39,29,196,41,1,4,0,111,39,166,39,29,196,41,1,4,0,111,39,141,39,29,196,41,1,4,0,51,33,252,2,29,196,41,1,4,0,227,7,71,39,29,196,131,178,4,0,71,44,71,39,29,196,131,178,4,0,92,2,15,40,194,178,41,1,4,0,92,2,81,39,194,178,41,1,4,0,87,109,36,39,11,39,131,178,4,0,2,42,32,1,11,39,131,178,4,0,65,40,181,39,16,39,131,178,4,0,109,108,32,1,11,39,131,178,4,0,51,109,32,1,11,39,131,178,4,0,24,3,66,39,16,39,131,178,4,0,209,107,36,39,11,39,131,178,4,0,238,107,160,2,16,39,131,178,4,0,72,3,36,39,16,39,131,178,4,0,42,108,32,1,11,39,131,178,4,0,21,109,204,1,11,39,131,178,4,0,51,44,32,1,11,39,131,178,4,0,56,44,44,1,16,39,131,178,4,0,45,40,41,39,16,39,131,178,4,0,76,3,66,39,16,39,131,178,4,0,42,111,143,7,11,39,131,178,4,0,159,18,32,1,16,39,131,178,4,0,75,7,127,105,11,39,131,178,4,0,85,40,41,39,16,39,131,178,4,0,31,19,41,39,16,39,131,178,4,0,70,40,20,3,16,39,41,1,4,0,55,40,32,1,16,39,131,178,4,0,40,3,32,1,11,39,131,178,4,0,0,3,32,1,11,39,131,178,4,0,4,3,66,39,16,39,131,178,4,0,117,109,92,2,16,39,131,178,4,0,232,2,181,39,16,39,131,178,4,0,35,40,32,1,16,39,131,178,4,0,219,21,32,1,11,39,131,178,4,0,28,3,32,1,16,39,131,178,4,0,247,108,66,39,16,39,131,178,4,0,33,106,66,39,16,39,131,178,4,0,44,3,204,1,11,39,131,178,4,0,33,109,32,1,11,39,131,178,4,0,179,196,32,1,16,39,131,178,4,0,35,107,41,39,16,39,131,178,4,0,27,109,36,39,11,39,131,178,4,0,48,3,32,1,11,39,131,178,4,0,115,108,32,1,11,39,131,178,4,0,244,2,32,1,16,39,131,178,4,0,228,2,86,39,16,39,131,178,4,0,31,44,32,1,11,39,131,178,4,0,52,3,41,39,11,39,131,178,4,0,80,3,36,39,11,39,131,178,4,0,176,39,32,1,11,39,131,178,4,0,15,109,32,1,11,39,131,178,4,0,19,26,32,1,11,39,131,178,4,0,146,39,248,2,11,39,131,178,4,0,56,3,36,39,11,39,131,178,4,0,131,39,12,3,16,39,131,178,4,0,60,3,32,1,11,39,131,178,4,0,253,108,41,39,11,39,131,178,4,0,30,40,32,1,11,39,131,178,4,0,187,26,32,1,11,39,131,178,4,0,232,107,41,39,11,39,131,178,4,0,91,27,204,1,16,39,131,178,4,0,119,27,32,1,11,39,131,178,4,0,51,39,41,39,11,39,131,178,4,0,136,39,32,1,16,39,131,178,4,0,240,2,32,1,11,39,131,178,4,0,116,39,36,39,11,39,131,178,4,0,52,196,204,1,11,39,131,178,4,0,26,39,86,39,11,39,131,178,4,0,64,3,32,1,11,39,131,178,4,0,151,39,32,1,11,39,131,178,4,0,186,39,32,1,11,39,131,178,4,0,249,106,81,39,16,39,41,1,4,0,249,106,15,40,16,39,41,1,4,0,207,28,32,1,11,39,131,178,4,0,16,3,32,1,11,39,131,178,4,0,33,41,32,1,11,39,131,178,4,0,84,3,41,39,16,39,131,178,4,0,8,2,32,1,11,39,131,178,4,0,197,107,32,1,11,39,131,178,4,0,36,44,32,1,11,39,131,178,4,0,67,30,32,1,16,39,131,178,4,0,106,39,32,1,11,39,131,178,4,0,21,39,66,39,11,39,131,178,4,0,75,40,71,39,16,39,131,178,4,0,76,44,32,1,11,39,131,178,4,0,68,3,41,39,11,39,131,178,4,0,156,39,204,1,11,39,131,178,4,0,60,40,32,1,11,39,131,178,4,0,191,39,32,1,11,39,131,178,4,0,46,44,32,1,11,39,131,178,4,0,90,40,32,1,11,39,131,178,4,0,135,106,32,1,11,39,131,178,4,0,41,44,32,1,11,39,131,178,4,0,161,39,86,39,16,39,131,178,4,0,40,40,32,1,11,39,131,178,4,0,91,39,32,1,11,39,131,178,4,0,164,2,32,1,11,39,131,178,4,0,88,3,36,39,11,39,131,178,4,0,39,109,32,1,11,39,131,178,4,0,100,40,36,39,11,39,131,178,4,0,203,33,32,1,11,39,131,178,4,0,61,44,32,1,11,39,131,178,4,0,105,40,32,1,11,39,131,178,4,0,95,40,36,39,11,39,131,178,4,0,30,111,32,1,11,39,131,178,4,0,32,3,44,1,16,39,131,178,4,0,69,109,36,39,16,39,131,178,4,0,160,2,32,1,11,39,131,178,4,0,203,107,36,39,11,39,131,178,4,0,36,3,41,39,11,39,131,178,4,0,104,2,32,1,11,39,131,178,4,0,156,2,32,1,11,39,131,178,4,0,26,44,32,1,11,39,131,178,4,0,92,3,44,1,16,39,131,178,4,0,236,2,32,1,11,39,131,178,4,0,87,16,127,105,6,39,131,178,4,0,95,16,127,105,6,39,131,178,4,0,99,16,127,105,6,39,131,178,4,0,103,16,127,105,6,39,131,178,4,0,107,16,127,105,6,39,131,178,4,0,111,16,127,105,6,39,131,178,4,0,115,16,127,105,6,39,131,178,4,0,119,16,127,105,6,39,131,178,4,0,123,16,127,105,6,39,131,178,4,0,135,16,127,105,6,39,131,178,4,0,131,43,127,105,6,39,131,178,4,0,147,16,127,105,6,39,131,178,4,0,35,7,127,105,6,39,131,178,4,0,211,16,127,105,6,39,131,178,4,0,215,16,127,105,6,39,131,178,4,0,39,7,127,105,6,39,131,178,4,0,43,7,127,105,6,39,131,178,4,0,47,7,127,105,6,39,131,178,4,0,51,7,127,105,6,39,131,178,4,0,75,17,127,105,6,39,131,178,4,0,87,17,127,105,6,39,131,178,4,0,107,17,127,105,6,39,131,178,4,0,111,17,127,105,6,39,131,178,4,0,115,17,127,105,6,39,131,178,4,0,119,17,127,105,6,39,131,178,4,0,55,7,127,105,6,39,131,178,4,0,230,39,127,105,6,39,131,178,4,0,63,41,127,105,6,39,131,178,4,0,47,33,127,105,6,39,131,178,4,0,131,17,209,107,6,39,131,178,4,0,47,9,9,109,6,39,131,178,4,0,139,7,16,0,6,39,131,178,4,0,171,7,16,0,6,39,131,178,4,0,147,21,16,0,6,39,131,178,4,0,151,21,16,0,6,39,131,178,4,0,155,21,16,0,6,39,131,178,4,0,159,21,16,0,6,39,131,178,4,0,163,21,16,0,6,39,131,178,4,0,101,43,16,0,6,39,131,178,4,0,151,43,33,106,6,39,131,178,4,0,54,111,33,106,6,39,131,178,4,0,207,22,33,106,6,39,131,178,4,0,99,28,33,106,6,39,131,178,4,0,71,24,63,109,6,39,131,178,4,0,219,20,111,1,6,39,131,178,4,0,135,7,111,1,6,39,131,178,4,0,103,28,111,1,6,39,131,178,4,0,123,29,111,1,6,39,131,178,4,0,162,42,111,1,6,39,131,178,4,0,58,41,111,1,6,39,131,178,4,0,155,33,111,1,6,39,131,178,4,0,247,33,111,1,6,39,131,178,4,0,111,22,3,26,6,39,131,178,4,0,59,22,11,26,6,39,131,178,4,0,247,23,59,1,6,39,131,178,4,0,155,26,59,1,6,39,131,178,4,0,75,197,59,1,6,39,131,178,4,0,159,26,59,1,6,39,131,178,4,0,103,8,59,1,6,39,131,178,4,0,13,41,59,1,6,39,131,178,4,0,78,41,59,1,6,39,131,178,4,0,11,27,59,1,6,39,131,178,4,0,111,8,59,1,6,39,131,178,4,0,51,27,59,1,6,39,131,178,4,0,78,108,59,1,6,39,131,178,4,0,15,29,59,1,6,39,131,178,4,0,235,31,59,1,6,39,131,178,4,0,7,27,3,109,6,39,131,178,4,0,191,17,51,39,6,39,131,178,4,0,59,7,51,39,6,39,131,178,4,0,219,17,51,39,6,39,131,178,4,0,59,18,51,39,6,39,131,178,4,0,29,70,51,39,6,39,131,178,4,0,196,134,51,39,6,39,131,178,4,0,151,33,51,39,6,39,131,178,4,0,191,33,51,39,6,39,131,178,4,0,255,33,51,39,6,39,131,178,4,0,211,36,51,39,6,39,131,178,4,0,215,36,51,39,6,39,131,178,4,0,235,27,116,39,6,39,131,178,4,0,207,17,26,39,6,39,131,178,4,0,15,18,26,39,6,39,131,178,4,0,23,18,26,39,6,39,131,178,4,0,27,18,26,39,6,39,131,178,4,0,6,111,26,39,6,39,131,178,4,0,223,19,26,39,6,39,131,178,4,0,239,7,26,39,6,39,131,178,4,0,86,39,26,39,6,39,131,178,4,0,170,69,26,39,6,39,131,178,4,0,251,24,26,39,6,39,131,178,4,0,31,26,26,39,6,39,131,178,4,0,35,26,26,39,6,39,131,178,4,0,47,26,26,39,6,39,131,178,4,0,94,110,26,39,6,39,131,178,4,0,91,26,26,39,6,39,131,178,4,0,131,26,26,39,6,39,131,178,4,0,95,27,26,39,6,39,131,178,4,0,107,27,26,39,6,39,131,178,4,0,111,27,26,39,6,39,131,178,4,0,115,27,26,39,6,39,131,178,4,0,143,27,26,39,6,39,131,178,4,0,215,27,26,39,6,39,131,178,4,0,219,27,26,39,6,39,131,178,4,0,227,27,26,39,6,39,131,178,4,0,187,29,26,39,6,39,131,178,4,0,191,29,26,39,6,39,131,178,4,0,95,30,26,39,6,39,131,178,4,0,182,42,26,39,6,39,131,178,4,0,223,33,26,39,6,39,131,178,4,0,131,34,26,39,6,39,131,178,4,0,43,35,26,39,6,39,131,178,4,0,47,35,26,39,6,39,131,178,4,0,207,36,26,39,6,39,131,178,4,0,167,38,26,39,6,39,131,178,4,0,135,39,26,39,6,39,131,178,4,0,107,7,186,39,6,39,131,178,4,0,227,21,8,2,6,39,131,178,4,0,7,23,8,2,6,39,131,178,4,0,179,8,8,2,6,39,131,178,4,0,68,41,197,107,6,39,131,178,4,0,47,30,106,39,6,39,131,178,4,0,251,30,106,39,6,39,131,178,4,0,103,31,21,39,6,39,131,178,4,0,107,31,21,39,6,39,131,178,4,0,111,31,21,39,6,39,131,178,4,0,115,31,21,39,6,39,131,178,4,0,119,31,21,39,6,39,131,178,4,0,123,31,21,39,6,39,131,178,4,0,127,31,21,39,6,39,131,178,4,0,131,31,21,39,6,39,131,178,4,0,135,31,21,39,6,39,131,178,4,0,176,109,21,39,6,39,131,178,4,0,139,31,21,39,6,39,131,178,4,0,143,31,21,39,6,39,131,178,4,0,147,31,21,39,6,39,131,178,4,0,191,8,21,39,6,39,131,178,4,0,195,8,21,39,6,39,131,178,4,0,199,8,21,39,6,39,131,178,4,0,155,31,21,39,6,39,131,178,4,0,159,31,21,39,6,39,131,178,4,0,163,31,21,39,6,39,131,178,4,0,167,31,21,39,6,39,131,178,4,0,171,31,21,39,6,39,131,178,4,0,175,31,21,39,6,39,131,178,4,0,179,31,21,39,6,39,131,178,4,0,183,31,21,39,6,39,131,178,4,0,203,8,21,39,6,39,131,178,4,0,207,8,21,39,6,39,131,178,4,0,187,31,21,39,6,39,131,178,4,0,220,39,21,39,6,39,131,178,4,0,211,8,21,39,6,39,131,178,4,0,215,8,21,39,6,39,131,178,4,0,199,31,21,39,6,39,131,178,4,0,219,8,21,39,6,39,131,178,4,0,223,8,21,39,6,39,131,178,4,0,103,2,21,39,6,39,131,178,4,0,227,8,21,39,6,39,131,178,4,0,203,31,21,39,6,39,131,178,4,0,207,31,21,39,6,39,131,178,4,0,211,31,21,39,6,39,131,178,4,0,215,31,21,39,6,39,131,178,4,0,219,31,21,39,6,39,131,178,4,0,223,31,21,39,6,39,131,178,4,0,231,8,21,39,6,39,131,178,4,0,76,43,101,39,6,39,131,178,4,0,166,110,101,39,6,39,131,178,4,0,43,33,101,39,6,39,131,178,4,0,79,16,135,106,6,39,131,178,4,0,253,41,135,106,6,39,131,178,4,0,195,16,135,106,6,39,131,178,4,0,154,40,115,33,6,39,131,178,4,0,43,9,203,107,6,39,131,178,4,0,179,37,156,2,6,39,131,178,4,0,99,18,44,1,6,39,131,178,4,0,71,7,44,1,6,39,131,178,4,0,11,19,44,1,6,39,131,178,4,0,103,7,44,1,6,39,131,178,4,0,79,19,44,1,6,39,131,178,4,0,127,42,44,1,6,39,131,178,4,0,11,23,44,1,6,39,131,178,4,0,243,7,44,1,6,39,131,178,4,0,225,39,44,1,6,39,131,178,4,0,130,69,44,1,6,39,131,178,4,0,186,111,44,1,6,39,131,178,4,0,3,36,44,1,6,39,131,178,4,0,51,9,44,1,6,39,131,178,4,0,82,205,82,205,207,43,41,1,4,0,7,196,223,195,6,39,131,178,4,0,175,197,71,196,6,39,131,178,4,0,231,195,223,195,6,39,131,178,4,0,31,196,239,195,6,39,131,178,4,0,223,196,71,196,6,39,131,178,4,0,111,196,223,195,6,39,131,178,4,0,231,196,223,195,6,39,131,178,4,0,87,196,223,195,6,39,131,178,4,0,119,196,223,195,6,39,131,178,4,0,135,196,223,195,6,39,131,178,4,0,47,196,223,195,6,39,131,178,4,0,95,201,223,195,6,39,131,178,4,0,167,196,223,195,6,39,131,178,4,0,247,196,223,195,6,39,131,178,4,0,183,201,223,195,6,39,131,178,4,0,207,201,223,195,6,39,131,178,4,0,127,196,223,195,6,39,131,178,4,0,95,196,223,195,6,39,131,178,4,0,15,196,223,195,6,39,131,178,4,0,215,202,223,195,6,39,131,178,4,0,223,202,71,196,6,39,131,178,4,0,103,203,223,195,6,39,131,178,4,0,191,195,71,196,6,39,131,178,4,0,39,196,223,195,6,39,131,178,4,0,23,197,159,202,188,105,41,1,4,0,127,203,239,195,6,39,131,178,4,0,31,197,239,195,16,39,131,178,4,0,31,197,143,196,16,39,131,178,4,0,127,197,119,197,16,39,131,178,4,0,223,197,231,195,16,39,131,178,4,0,55,199,215,196,16,39,131,178,4,0,153,203,79,199,16,39,131,178,4,0,135,199,87,196,16,39,131,178,4,0,39,201,135,196,16,39,131,178,4,0,79,201,71,201,16,39,131,178,4,0,191,202,95,196,16,39,131,178,4,0,199,202,15,196,16,39,131,178,4,0,135,203,239,195,16,39,131,178,4,0,119,199,255,195,188,105,131,178,4,0,111,199,255,195,188,105,131,178,4,0,151,196,255,195,188,105,131,178,4,0,79,196,255,195,188,105,131,178,4,0,63,196,255,195,188,105,131,178,4,0,151,196,63,196,188,105,131,178,4,0,79,196,63,196,188,105,131,178,4,0,239,196,55,196,188,105,131,178,4,0,183,196,55,196,188,105,131,178,4,0,191,196,55,196,188,105,131,178,4,0,191,196,183,196,188,105,131,178,4,0,143,178,143,178,66,44,41,1,4,0,157,207,157,207,29,196,41,1,4,0,140,208,140,208,29,196,41,1,4,0,161,178,161,178,188,105,41,1,4,0,146,205,146,205,29,196,41,1,4,0,34,206,183,198,85,197,41,1,4,0,34,206,34,206,29,196,41,1,4,0,168,178,168,178,188,105,41,1,4,0,155,208,155,208,29,196,41,1,4,0,94,209,94,209,29,196,41,1,4,0,175,178,175,178,188,105,41,1,4,0,170,208,170,208,29,196,41,1,4,0,110,209,110,209,29,196,41,1,4,0,140,178,140,178,188,105,41,1,4,0,185,208,185,208,29,196,41,1,4,0,126,209,126,209,29,196,41,1,4,0,74,205,74,205,188,105,41,1,4,0,122,113,122,113,29,196,41,1,84,0,50,183,118,108,124,108,130,108,136,108,202,111,142,108,38,107,12,145,148,108,208,111,138,106,214,111,250,105,220,111,44,107,36,106,42,106,226,111,48,106,136,105,154,108,232,111,220,105,160,108,50,107,56,107,144,106,54,106,150,106,166,108,118,105,238,111,172,108,156,106,160,105,62,107,178,108,244,111,184,108,190,108,68,107,162,106,24,145,250,111,6,106,60,106,74,107,168,106,66,106,12,106,0,112,166,105,174,106,80,107,180,106,186,106,148,105,6,112,192,106,72,106,86,107,198,106,78,106,90,106,12,112,96,106,92,107,196,108,98,107,18,112,202,108,104,107,110,107,116,107,226,105,154,105,122,107,208,108,102,106,204,106,142,105,18,106,108,106,9,0,190,105,202,105,18,145,130,105,0,106,208,105,172,105,84,106,214,105,22,0,128,107,210,106,66,145,134,107,140,107,214,108,146,107,220,108,152,107,216,106,158,107,226,108,222,106,164,107,170,107,176,107,232,108,228,106,182,107,72,145,238,108,188,107,2,0,81,39,249,106,11,0,114,106,232,105,212,107,178,105,126,106,218,107,238,105,72,109,196,105,78,109,224,107,43,0,159,197,167,197,4,204,31,204,103,196,239,197,49,204,47,197,67,204,170,203,199,196,175,196,207,196,191,198,63,199,103,199,127,199,143,199,151,199,159,199,167,199,31,201,159,196,161,203,87,201,111,201,143,203,215,201,255,196,7,197,152,203,151,202,23,197,183,202,207,202,95,203,207,195,199,195,247,204,119,203,171,203,45,205,143,196,11,0,8,3,80,40,176,39,57,109,116,39,191,39,91,39,164,2,50,40,51,9,44,1,7,0,141,72,146,72,151,72,156,72,161,72,166,72,171,72,7,0,138,45,143,45,148,45,153,45,158,40,158,45,163,40,34,0,20,137,26,137,132,109,128,113,134,113,140,113,146,113,152,113,138,109,158,113,164,113,170,113,144,109,176,113,182,113,188,113,194,113,200,113,206,113,212,113,218,113,224,113,230,113,236,113,242,113,248,113,254,113,4,114,10,114,16,114,106,108,22,114,28,114,34,114,8,0,176,72,181,72,186,72,191,72,196,72,201,72,206,72,211,72,12,0,216,72,221,72,226,72,231,72,236,72,241,72,246,72,251,72,0,73,5,73,10,73,15,73,11,0,163,45,3,107,168,45,173,45,178,45,183,45,188,45,193,45,198,45,203,45,208,45,18,0,40,114,46,114,52,114,58,114,64,114,170,137,176,137,70,114,76,114,82,114,150,109,88,114,230,107,94,114,100,114,106,114,112,108,156,109,24,0,16,110,195,39,140,69,54,206,226,206,243,16,247,16,251,16,255,16,138,111,3,17,136,134,124,110,7,17,39,7,11,17,43,7,239,206,15,17,19,17,23,17,27,17,47,7,51,7,9,0,35,17,39,17,43,17,47,17,51,17,55,17,59,17,63,17,67,17,8,0,112,114,118,114,213,45,124,114,218,45,130,114,136,114,168,40,70,0,142,114,148,114,154,114,160,114,166,114,172,114,178,114,244,39,236,107,190,114,196,114,202,114,208,114,214,114,226,114,232,114,33,40,238,114,244,114,250,114,0,115,6,115,162,109,12,115,18,115,30,115,129,39,36,115,42,115,48,115,54,115,134,39,249,39,60,115,223,45,168,109,72,115,78,115,84,115,90,115,96,115,102,115,174,109,228,45,108,115,136,138,142,138,132,115,138,115,144,115,150,115,254,39,156,115,162,115,139,39,168,115,174,115,180,115,186,115,233,45,192,115,198,115,204,115,210,115,216,115,238,45,222,115,196,111,148,138,124,105,3,0,228,115,234,115,240,115,11,0,165,73,170,73,175,73,180,73,185,73,190,73,195,73,200,73,205,73,210,73,215,73,8,0,159,17,163,17,167,17,171,17,175,17,142,134,134,109,179,17,3,0,246,115,8,116,32,116,13,0,28,75,33,75,38,75,43,75,48,75,53,75,58,75,63,75,68,75,73,75,78,75,83,75,88,75,28,0,93,75,98,75,103,75,108,75,113,75,118,75,123,75,128,75,133,75,138,75,143,75,148,75,153,75,158,75,163,75,168,75,173,75,178,75,183,75,188,75,193,75,198,75,203,75,208,75,213,75,218,75,223,75,228,75,4,0,233,75,238,75,243,75,243,45,18,0,248,45,253,75,2,76,173,40,253,45,2,46,7,46,178,40,12,46,17,46,183,40,22,46,27,46,188,40,32,46,37,46,42,46,47,46,12,0,169,69,7,76,193,40,52,46,57,46,62,46,67,46,72,46,77,46,82,46,87,46,92,46,4,0,97,46,102,46,107,46,198,40,9,0,231,17,235,17,90,108,36,108,239,17,243,17,24,111,247,17,251,17,3,0,112,46,117,46,122,46,27,0,127,46,12,76,17,76,132,46,137,46,142,46,147,46,152,46,157,46,162,46,167,46,22,76,27,76,32,76,37,76,172,46,177,46,182,46,187,46,42,76,174,69,47,76,52,76,192,46,197,46,202,46,207,46,32,0,212,46,217,46,222,46,227,46,232,46,237,46,242,46,247,46,252,46,203,40,1,47,6,47,253,106,11,47,16,47,21,47,26,47,31,47,36,47,41,47,46,47,57,76,62,76,51,47,208,40,56,47,61,47,66,47,71,47,76,47,38,40,81,47,20,0,67,76,72,76,77,76,82,76,87,76,92,76,97,76,102,76,107,76,112,76,117,76,122,76,127,76,132,76,137,76,142,76,147,76,152,76,86,47,91,47,16,0,96,47,101,47,39,39,106,47,111,47,160,43,116,47,3,40,8,40,213,40,121,47,218,40,165,43,157,76,162,76,126,47,7,0,43,40,131,47,170,43,164,39,136,47,141,47,48,40,6,0,146,47,53,40,22,117,151,47,99,39,28,117,13,0,156,47,161,47,166,47,171,47,176,47,167,76,172,76,177,76,181,47,186,47,191,47,196,47,201,47,26,0,206,47,211,47,216,47,187,76,192,76,221,47,223,40,226,47,231,47,228,40,233,40,236,47,241,47,246,47,251,47,0,48,207,76,212,76,5,48,10,48,15,48,20,48,25,48,30,48,35,48,40,48,17,0,45,48,50,48,34,117,55,48,60,48,65,48,70,48,75,48,80,48,85,48,90,48,238,40,95,48,100,48,243,40,105,48,110,48,12,0,63,7,67,7,135,18,139,18,143,18,222,76,227,76,232,76,237,76,242,76,247,76,40,117,26,0,115,48,120,48,125,48,130,48,135,48,140,48,145,48,150,48,155,48,160,48,165,48,170,48,175,48,180,48,185,48,252,76,179,69,190,48,195,48,200,48,248,40,205,48,210,48,215,48,1,77,6,77,14,0,220,48,225,48,230,48,235,48,240,48,245,48,253,40,250,48,255,48,4,49,2,41,9,49,14,49,7,41,16,0,19,49,24,49,29,49,34,49,39,49,44,49,49,49,54,49,59,49,64,49,69,49,74,49,79,49,12,41,84,49,17,41,10,0,89,49,94,49,99,49,104,49,109,49,114,49,119,49,124,49,129,49,134,49,34,0,139,49,144,49,149,49,175,43,154,49,159,49,164,49,169,49,16,77,21,77,174,49,179,49,184,69,26,77,184,49,189,49,194,49,199,49,22,41,204,49,209,49,27,41,214,49,31,77,36,77,219,49,224,49,229,49,234,49,239,49,244,49,249,49,32,41,254,49,33,0,46,117,52,117,58,117,64,117,70,117,76,117,82,117,88,117,94,117,100,117,106,117,112,117,118,117,124,117,3,50,130,117,204,109,136,117,142,117,148,117,154,117,160,117,166,117,172,117,178,117,184,117,190,117,210,109,196,117,202,117,208,117,214,117,220,117,7,0,79,7,83,7,23,19,27,19,87,7,91,7,8,50,16,0,13,50,41,77,46,77,51,77,56,77,61,77,66,77,71,77,76,77,81,77,86,77,91,77,96,77,101,77,106,77,18,50,2,0,95,7,99,7,6,0,116,77,121,77,126,77,131,77,136,77,141,77,14,0,113,50,118,50,123,50,128,50,133,50,138,50,185,43,190,43,143,50,148,50,195,43,153,50,200,43,205,43,16,0,158,50,163,50,168,50,173,50,178,50,183,50,188,50,193,50,198,50,203,50,208,50,213,50,199,39,218,50,204,39,37,41,6,0,194,69,181,77,186,77,191,77,42,41,223,50,5,0,196,77,201,77,206,77,211,77,216,77,10,0,221,77,226,77,231,77,236,77,241,77,246,77,251,77,0,78,5,78,10,78,10,0,175,78,180,78,185,78,190,78,195,78,200,78,205,78,210,78,215,78,220,78,48,0,225,78,230,78,235,78,240,78,245,78,250,78,255,78,4,79,9,79,14,79,19,79,24,79,29,79,34,79,39,79,44,79,49,79,54,79,59,79,64,79,69,79,74,79,79,79,84,79,89,79,94,79,99,79,104,79,109,79,114,79,119,79,78,70,124,79,129,79,134,79,83,70,139,79,144,79,149,79,154,79,159,79,88,70,164,79,93,70,169,79,174,79,179,79,98,70,24,0,59,20,63,20,67,20,71,20,173,41,75,20,79,20,83,20,87,20,91,20,95,20,245,69,250,69,99,20,103,20,107,20,184,79,189,79,111,20,115,20,178,41,119,20,111,7,123,20,15,0,228,50,233,50,238,50,243,50,248,50,253,50,2,51,7,51,12,51,17,51,22,51,27,51,32,51,37,51,42,51,27,0,38,119,44,119,50,119,47,51,52,51,56,119,115,7,57,51,62,51,62,119,67,51,72,51,77,51,82,51,87,51,68,119,92,51,97,51,47,41,74,119,102,51,80,119,86,119,92,119,98,119,104,119,110,119,6,0,107,51,112,51,117,51,122,51,127,51,132,51,19,0,147,51,249,79,254,79,199,69,172,51,13,80,18,80,23,80,43,80,52,41,177,51,197,51,53,80,58,80,222,51,237,51,67,41,1,52,41,52,12,0,56,52,63,40,61,52,66,52,71,52,76,52,81,52,86,52,91,52,73,80,78,80,96,52,19,0,101,52,83,80,88,80,93,80,98,80,103,80,108,80,113,80,118,80,123,80,128,80,133,80,138,80,143,80,148,80,153,80,158,80,163,80,168,80,5,0,147,7,151,7,155,7,159,7,163,7,4,0,116,119,122,119,128,119,134,119,26,0,140,119,120,112,126,112,132,112,138,112,22,108,14,110,164,119,106,52,170,119,111,52,176,119,20,110,182,119,188,119,116,52,194,119,121,52,200,119,206,119,212,119,218,119,126,52,131,52,136,52,141,52,9,0,183,21,187,21,191,21,195,21,199,21,203,21,207,21,211,21,215,21,4,0,164,146,74,122,4,123,196,123,7,0,226,82,231,82,236,82,241,82,246,82,251,82,146,52,12,0,151,52,156,52,161,52,166,52,72,41,171,52,176,52,181,52,210,43,204,69,209,39,186,52,16,0,191,52,196,52,201,52,206,52,211,52,216,52,221,52,226,52,231,52,236,52,241,52,246,52,251,52,0,53,5,53,10,53,5,0,15,53,20,53,25,53,30,53,77,41,6,0,175,7,95,22,99,22,48,41,179,7,183,7,8,0,187,7,191,7,195,7,199,7,203,7,207,7,211,7,215,7,2,0,219,7,187,2,14,0,160,53,143,22,147,22,151,22,155,22,70,110,159,22,163,22,167,22,147,42,171,22,175,22,179,22,223,7,22,0,75,83,80,83,85,83,90,83,95,83,100,83,105,83,110,83,115,83,120,83,125,83,130,83,135,83,140,83,145,83,150,83,155,83,160,83,165,83,170,83,175,83,180,83,4,0,169,39,231,7,30,108,235,7,10,0,185,53,215,43,69,39,190,53,64,39,195,53,200,53,220,43,205,53,112,41,18,0,210,53,215,53,29,84,34,84,117,41,220,53,225,53,230,53,235,53,240,53,245,53,250,53,255,53,4,54,9,54,14,54,19,54,24,54,21,0,39,84,44,84,49,84,54,84,59,84,64,84,69,84,74,84,79,84,84,84,89,84,94,84,99,84,104,84,109,84,114,84,119,84,124,84,129,84,134,84,139,84,10,0,9,107,29,54,34,54,144,84,149,84,39,54,44,54,49,54,154,84,159,84,43,0,54,54,59,54,64,54,69,54,74,54,79,54,68,40,122,41,127,41,84,54,89,54,94,54,99,54,132,41,104,54,225,43,109,54,114,54,119,54,174,39,230,43,137,41,142,41,124,54,129,54,134,54,104,39,139,54,144,54,149,54,147,41,44,44,164,84,229,69,169,84,154,54,159,54,164,54,169,54,152,41,174,54,179,54,184,54,7,0,162,41,194,84,234,54,229,84,167,41,239,69,249,84,4,0,247,7,3,8,7,8,11,8,6,0,15,8,207,41,58,55,191,2,63,55,19,8,36,0,68,55,73,55,43,85,48,85,78,55,199,206,83,55,88,55,93,55,98,55,103,55,108,55,113,55,118,55,123,55,128,55,133,55,212,41,138,55,143,55,148,55,153,55,158,55,163,55,168,55,173,55,178,55,183,55,188,55,193,55,217,41,198,55,222,41,203,55,208,55,213,55,16,0,218,55,63,85,68,85,228,55,238,55,243,55,248,55,253,55,2,56,7,56,12,56,17,56,22,56,27,56,32,56,219,39,31,0,73,85,78,85,83,85,88,85,93,85,98,85,103,85,108,85,113,85,118,85,123,85,128,85,133,85,138,85,143,85,148,85,153,85,158,85,163,85,168,85,173,85,178,85,183,85,188,85,193,85,198,85,203,85,208,85,213,85,218,85,42,56,8,0,143,24,147,24,151,24,155,24,159,24,163,24,167,24,171,24,20,0,47,56,52,56,57,56,62,56,67,56,72,56,77,56,82,56,87,56,92,56,97,56,102,56,107,56,112,56,117,56,122,56,223,85,228,85,127,56,132,56,14,0,212,86,217,86,222,86,227,86,232,86,237,86,242,86,247,86,252,86,1,87,6,87,11,87,16,87,21,87,12,0,146,57,151,57,156,57,161,57,166,57,171,57,176,57,181,57,186,57,191,57,196,57,201,57,47,0,26,87,31,87,36,87,41,87,46,87,51,87,56,87,61,87,66,87,71,87,76,87,81,87,86,87,91,87,96,87,101,87,106,87,111,87,116,87,121,87,126,87,131,87,136,87,141,87,146,87,151,87,156,87,161,87,166,87,171,87,176,87,181,87,186,87,191,87,196,87,201,87,206,87,211,87,216,87,221,87,226,87,231,87,236,87,241,87,246,87,251,87,0,88,47,0,5,88,10,88,15,88,20,88,25,88,30,88,35,88,40,88,45,88,50,88,55,88,60,88,65,88,70,88,75,88,80,88,85,88,90,88,95,88,100,88,105,88,110,88,115,88,120,88,125,88,130,88,135,88,140,88,145,88,150,88,155,88,160,88,165,88,170,88,175,88,180,88,185,88,190,88,195,88,200,88,205,88,210,88,215,88,220,88,225,88,230,88,235,88,9,0,192,42,195,25,206,57,211,57,23,8,162,111,203,25,27,8,31,8,25,0,35,8,39,8,207,25,211,25,215,25,219,25,223,25,227,25,231,25,240,88,245,88,250,88,255,88,4,89,9,89,14,89,19,89,24,89,29,89,34,89,39,89,44,89,49,89,54,89,59,89,3,0,43,8,54,108,47,8,3,0,51,8,55,8,59,8,2,0,63,8,195,2,12,0,129,89,134,89,139,89,144,89,149,89,154,89,159,89,164,89,169,89,221,57,174,89,179,89,17,0,226,57,184,89,189,89,194,89,199,89,204,89,209,89,214,89,219,89,224,89,229,89,234,89,239,89,244,89,249,89,254,89,231,57,6,0,236,57,241,57,246,57,247,41,144,39,251,57,17,0,68,125,74,125,182,110,80,125,86,125,92,125,98,125,104,125,110,125,116,125,122,125,128,125,24,109,134,125,200,107,140,125,30,109,18,0,252,41,3,90,8,90,1,42,0,58,5,58,10,58,15,58,20,58,25,58,30,58,35,58,6,42,40,58,45,58,11,42,50,58,55,58,8,0,60,58,65,58,70,58,18,90,23,90,75,58,80,58,85,58,10,0,28,90,33,90,38,90,43,90,48,90,53,90,58,90,63,90,68,90,73,90,11,0,78,90,83,90,88,90,93,90,98,90,103,90,108,90,113,90,118,90,123,90,128,90,9,0,67,8,71,8,75,8,79,8,83,8,87,8,91,8,95,8,99,8,15,0,90,58,95,58,100,58,105,58,110,58,16,42,115,58,120,58,125,58,130,58,149,39,135,58,140,58,21,42,145,58,10,0,231,26,172,134,235,26,239,26,243,26,247,26,107,8,160,69,251,26,165,69,10,0,155,58,160,58,165,58,170,58,175,58,180,58,185,58,190,58,195,58,200,58,12,0,205,58,210,58,215,58,220,58,26,42,225,58,31,42,230,58,235,58,73,40,240,58,245,58,43,0,146,125,152,125,240,106,200,134,206,134,158,125,164,125,170,125,172,153,178,153,176,125,182,125,188,110,194,110,200,110,190,153,196,153,188,125,202,153,230,134,194,125,200,125,206,125,214,153,220,153,226,153,212,125,218,125,224,125,230,125,244,153,250,153,236,125,6,154,242,134,12,154,24,112,242,125,248,125,206,110,254,125,4,126,212,110,22,0,250,58,255,58,4,59,9,59,78,40,14,59,19,59,24,59,29,59,34,59,41,92,46,92,39,59,179,39,36,42,44,59,49,59,54,59,41,42,59,59,64,59,69,59,12,0,51,92,56,92,61,92,66,92,71,92,76,92,81,92,86,92,91,92,96,92,101,92,106,92,17,0,74,59,79,59,84,59,46,42,51,42,56,42,61,42,66,42,71,42,76,42,89,59,94,59,99,59,111,92,116,92,104,59,109,59,37,0,114,59,119,59,124,59,121,92,126,92,129,59,131,92,136,92,13,70,141,92,146,92,151,92,134,59,139,59,144,59,149,59,154,59,159,59,164,59,169,59,81,42,174,59,179,59,184,59,189,59,194,59,199,59,86,42,204,59,209,59,156,92,161,92,214,59,219,59,224,59,229,59,234,59,24,0,166,92,171,92,176,92,181,92,186,92,191,92,196,92,201,92,206,92,211,92,216,92,221,92,226,92,231,92,236,92,241,92,246,92,251,92,0,93,5,93,10,93,15,93,20,93,25,93,6,0,115,8,119,8,123,8,127,8,123,27,127,27,2,0,131,8,135,8,80,0,26,155,32,155,38,155,42,109,44,155,50,155,56,155,150,112,62,155,68,155,74,155,80,155,86,155,92,155,98,155,104,155,110,155,116,155,122,155,128,155,210,127,134,155,248,134,140,155,254,134,146,155,152,155,158,155,164,155,170,155,176,155,182,155,156,112,188,155,194,155,200,155,162,112,206,155,58,108,212,155,218,155,224,155,168,112,230,155,236,155,242,155,4,135,248,155,254,155,4,156,10,156,174,112,16,156,22,156,28,156,180,112,34,156,40,156,186,112,10,135,192,112,16,135,198,112,46,156,52,156,58,156,64,156,70,156,76,156,204,112,82,156,88,156,22,135,94,156,100,156,106,156,112,156,118,156,124,156,130,156,11,0,139,8,155,27,159,27,163,27,167,27,171,27,175,27,179,27,183,27,239,59,216,127,15,0,30,93,35,93,40,93,45,93,50,93,55,93,60,93,65,93,70,93,75,93,80,93,85,93,90,93,95,93,100,93,22,0,143,8,254,110,222,127,64,108,228,127,234,127,190,156,196,156,240,127,246,127,252,127,2,128,8,128,14,128,70,108,202,156,28,135,208,156,20,128,26,128,32,128,38,128,15,0,105,93,110,93,115,93,120,93,125,93,130,93,135,93,140,93,145,93,150,93,155,93,160,93,165,93,170,93,175,93,68,0,180,93,185,93,190,93,195,93,200,93,205,93,210,93,215,93,220,93,225,93,230,93,235,93,240,93,245,93,250,93,255,93,4,94,9,94,14,94,19,94,24,94,29,94,34,94,39,94,44,94,49,94,54,94,59,94,64,94,69,94,74,94,79,94,84,94,89,94,94,94,99,94,104,94,109,94,114,94,119,94,124,94,129,94,134,94,139,94,144,94,149,94,154,94,159,94,164,94,64,44,169,94,174,94,179,94,184,94,189,94,194,94,199,94,204,94,209,94,118,70,214,94,219,94,224,94,229,94,234,94,239,94,244,94,123,70,12,0,244,59,91,42,249,59,254,59,3,60,8,60,13,60,18,60,23,60,28,60,96,42,33,60,21,0,13,95,18,95,23,95,28,95,33,95,38,95,43,95,48,95,53,95,58,95,63,95,38,60,43,60,68,95,73,95,78,95,83,95,88,95,93,95,98,95,44,128,3,0,147,8,151,8,155,8,32,0,50,128,56,128,62,128,68,128,74,128,80,128,86,128,4,111,92,128,98,128,10,111,104,128,16,111,110,128,116,128,122,128,128,128,134,128,76,108,140,128,146,128,152,128,158,128,164,128,170,128,176,128,182,128,48,109,188,128,82,108,194,128,200,128,16,0,133,95,138,95,143,95,148,95,153,95,158,95,163,95,168,95,173,95,178,95,183,95,188,95,193,95,198,95,203,95,208,95,11,0,187,42,15,28,159,8,163,8,167,8,206,128,171,8,19,28,23,28,27,28,31,28,14,0,128,60,133,60,138,60,143,60,148,60,153,60,158,60,163,60,168,60,121,42,173,60,213,95,218,95,178,60,8,0,51,28,55,28,59,28,63,28,67,28,71,28,75,28,79,28,37,0,183,60,188,60,193,60,126,42,198,60,203,60,131,42,208,60,136,42,213,60,218,60,223,60,228,60,233,60,238,60,243,60,248,60,141,42,223,95,228,95,233,95,238,95,253,60,2,61,7,61,12,61,17,61,22,61,27,61,32,61,37,61,42,61,146,42,47,61,151,42,52,61,57,61,17,0,62,61,67,61,72,61,156,42,77,61,82,61,87,61,92,61,97,61,102,61,107,61,112,61,243,95,248,95,117,61,122,61,127,61,18,0,132,61,134,158,140,158,146,158,137,61,142,61,147,61,152,61,157,61,162,61,167,61,172,61,177,61,182,61,187,61,192,61,197,61,224,39,13,0,202,61,207,61,212,61,217,61,22,96,27,96,222,61,227,61,232,61,237,61,242,61,247,61,252,61,12,0,139,28,143,28,147,28,151,28,155,28,37,96,42,96,47,96,52,96,57,96,62,96,67,96,14,0,72,96,77,96,82,96,87,96,92,96,97,96,102,96,107,96,112,96,117,96,122,96,127,96,132,96,137,96,17,0,212,128,22,111,218,128,224,128,230,128,236,128,242,128,248,128,254,128,4,129,10,129,16,129,22,129,28,129,30,106,54,109,34,129,11,0,41,62,46,62,51,62,56,62,61,62,66,62,71,62,76,62,81,62,186,42,86,62,14,0,183,8,11,30,15,30,19,30,23,30,27,30,31,30,35,30,39,30,91,62,96,62,101,62,106,62,111,62,26,0,46,129,52,129,58,129,64,129,70,129,76,129,82,129,88,129,94,129,100,129,106,129,112,129,156,160,162,160,118,129,124,129,130,129,136,129,142,129,148,129,60,109,154,129,160,129,166,129,28,111,172,129,22,0,178,129,184,129,34,111,190,129,196,129,202,129,208,129,214,129,220,129,226,129,186,160,192,160,232,129,238,129,244,129,250,129,0,130,6,130,12,130,18,130,24,130,30,130,17,0,147,96,152,96,157,96,162,96,167,96,172,96,177,96,182,96,187,96,192,96,197,96,202,96,207,96,212,96,217,96,222,96,227,96,7,0,116,62,191,42,121,62,126,62,131,62,136,62,141,62,16,0,146,62,151,62,156,62,161,62,166,62,171,62,176,62,181,62,186,62,191,62,196,62,201,62,206,62,211,62,216,62,221,62,16,0,152,131,158,131,76,111,164,131,200,161,40,135,170,131,176,131,182,131,188,131,194,131,200,131,206,131,212,131,218,131,224,131,20,0,36,97,41,97,46,97,51,97,56,97,61,97,66,97,71,97,76,97,81,97,86,97,91,97,96,97,101,97,106,97,111,97,116,97,121,97,226,62,231,62,16,0,82,111,88,111,94,111,100,111,106,111,112,111,118,111,100,108,124,111,130,111,230,131,46,135,10,162,16,162,236,131,242,131,18,0,187,8,47,31,51,31,55,31,59,31,63,31,67,31,71,31,75,31,126,97,131,97,136,97,141,97,146,97,151,97,156,97,236,62,248,131,8,0,241,62,246,62,251,62,0,63,5,63,10,63,15,63,20,63,42,0,25,63,30,63,196,42,235,8,35,63,40,63,45,63,50,63,55,63,60,63,65,63,70,63,75,63,161,97,166,97,245,43,80,63,85,63,90,63,95,63,100,63,105,63,110,63,115,63,120,63,125,63,130,63,135,63,140,63,145,63,150,63,155,63,160,63,165,63,170,63,175,63,171,97,176,97,180,63,185,63,190,63,195,63,20,0,181,97,221,97,226,97,231,97,236,97,241,97,246,97,251,97,0,98,5,98,10,98,15,98,20,98,25,98,30,98,35,98,40,98,45,98,200,63,250,43,83,0,205,63,210,63,254,131,4,132,136,111,10,132,201,42,16,132,22,132,206,42,215,63,28,132,34,132,220,63,211,42,225,63,142,111,40,132,148,111,75,98,80,98,154,111,46,132,52,132,160,111,58,132,64,132,70,132,85,98,90,98,76,132,230,63,82,132,235,63,88,132,94,132,100,132,106,132,112,132,240,63,245,63,118,132,124,132,130,132,136,132,142,132,148,132,154,132,160,132,166,111,166,132,172,132,178,132,184,132,190,132,196,132,202,132,216,42,120,109,208,132,14,107,250,63,126,109,214,132,220,132,172,111,221,42,226,132,232,132,238,132,244,132,255,63,250,132,4,64,0,133,6,133,12,133,18,133,178,111,24,133,20,107,30,133,84,109,5,0,95,98,100,98,105,98,110,98,115,98,13,0,120,98,125,98,130,98,135,98,140,98,145,98,150,98,155,98,160,98,165,98,170,98,175,98,9,64,10,0,14,64,19,64,24,64,29,64,34,64,180,98,185,98,39,64,44,64,49,64,27,0,190,98,195,98,200,98,205,98,210,98,215,98,220,98,225,98,230,98,235,98,240,98,245,98,250,98,255,98,4,99,9,99,14,99,19,99,24,99,29,99,34,99,39,99,44,99,49,99,54,99,59,99,64,99,18,0,54,64,59,64,64,64,69,64,226,42,74,64,79,64,231,42,84,64,89,64,94,64,99,64,104,64,109,64,236,42,114,64,119,64,124,64,21,0,69,99,74,99,129,64,31,43,195,32,192,111,238,110,204,40,199,32,203,32,239,8,207,32,194,109,211,32,215,32,244,110,219,32,36,43,53,41,190,134,223,32,5,0,79,99,84,99,89,99,94,99,99,99,3,0,134,64,139,64,144,64,212,0,44,164,50,164,52,135,56,164,90,109,62,164,68,164,58,135,210,112,74,164,80,164,64,135,96,109,216,112,86,164,92,164,222,112,228,112,234,112,70,135,102,109,98,164,104,164,76,135,110,164,116,164,122,164,82,135,26,107,240,112,88,135,94,135,128,164,100,135,134,164,106,135,140,164,146,164,152,164,158,164,164,164,170,164,176,164,112,135,182,164,188,164,194,164,118,135,200,164,206,164,212,164,218,164,224,164,230,164,236,164,242,164,248,164,254,164,4,165,124,135,10,165,16,165,22,165,28,165,34,165,40,165,46,165,52,165,58,165,130,135,64,165,136,135,70,165,142,135,76,165,148,135,82,165,88,165,94,165,100,165,106,165,112,165,118,165,154,135,124,165,160,135,130,165,136,165,142,165,148,165,154,165,166,135,160,165,166,165,172,165,172,135,178,165,184,165,190,165,196,165,202,165,208,165,214,165,220,165,226,165,232,165,238,165,244,165,250,165,0,166,6,166,12,166,18,166,24,166,30,166,246,112,36,166,42,166,48,166,178,135,54,166,60,166,66,166,252,112,72,166,78,166,84,166,90,166,96,166,102,166,108,166,2,113,114,166,120,166,126,166,8,113,132,166,138,166,144,166,184,135,150,166,190,135,196,135,14,113,156,166,162,166,202,135,168,166,174,166,208,135,20,113,180,166,214,135,220,135,108,109,186,166,226,135,192,166,198,166,204,166,232,135,210,166,216,166,222,166,238,135,228,166,234,166,240,166,26,113,246,166,252,166,2,167,32,113,244,135,8,167,14,167,250,135,20,167,38,113,26,167,32,167,38,167,0,136,44,167,50,167,56,167,44,113,62,167,68,167,50,113,56,113,74,167,80,167,86,167,6,136,92,167,98,167,104,167,110,167,116,167,122,167,128,167,134,167,140,167,146,167,152,167,158,167,164,167,170,167,176,167,182,167,188,167,8,0,149,64,154,64,159,64,164,64,241,42,169,64,174,64,246,42,5,0,96,108,243,8,251,42,247,8,251,8,9,0,104,99,109,99,114,99,119,99,124,99,129,99,134,99,139,99,144,99,14,0,179,64,184,64,189,64,194,64,149,99,154,99,199,64,0,43,204,64,209,64,214,64,219,64,224,64,229,64,18,0,234,64,239,64,244,64,5,43,249,64,254,64,10,43,3,65,8,65,13,65,18,65,23,65,15,43,28,65,33,65,38,65,43,65,48,65,10,0,53,65,58,65,63,65,68,65,73,65,78,65,83,65,88,65,20,43,25,43,10,0,93,65,98,65,30,43,103,65,35,43,40,43,108,65,113,65,118,65,123,65,7,0,159,99,164,99,169,99,174,99,179,99,184,99,255,8,14,0,128,65,133,65,138,65,143,65,148,65,153,65,158,65,163,65,168,65,173,65,255,43,18,40,178,65,183,65,14,0,188,65,193,65,198,65,45,43,203,65,43,70,189,99,84,39,208,65,19,39,213,65,218,65,223,65,228,65,4,0,233,65,4,44,238,65,109,39,23,0,243,65,248,65,253,65,2,66,7,66,12,66,17,66,22,66,50,43,27,66,32,66,37,66,42,66,47,66,52,66,57,66,62,66,67,66,72,66,77,66,82,66,87,66,92,66,5,0,3,9,7,9,11,9,15,9,19,9,78,0,194,99,199,99,204,99,209,99,214,99,219,99,224,99,229,99,234,99,239,99,244,99,249,99,254,99,3,100,8,100,13,100,18,100,23,100,28,100,33,100,38,100,43,100,48,100,53,100,58,100,63,100,68,100,73,100,78,100,83,100,88,100,93,100,98,100,103,100,108,100,113,100,118,100,123,100,128,100,133,100,138,100,143,100,148,100,153,100,158,100,163,100,168,100,173,100,178,100,183,100,188,100,193,100,198,100,203,100,208,100,213,100,218,100,223,100,228,100,233,100,238,100,243,100,248,100,253,100,2,101,7,101,12,101,17,101,22,101,27,101,32,101,37,101,42,101,47,101,52,101,57,101,138,70,23,9,5,0,97,66,55,43,102,66,107,66,112,66,13,0,117,66,122,66,60,43,127,66,132,66,137,66,142,66,147,66,152,66,157,66,162,66,167,66,65,43,6,0,211,33,255,69,27,9,239,2,215,33,236,43,24,0,62,101,67,101,72,101,77,101,82,101,87,101,92,101,97,101,102,101,107,101,112,101,117,101,122,101,127,101,132,101,137,101,142,101,172,66,147,101,152,101,157,101,162,101,167,101,172,101,5,0,177,101,182,101,187,101,192,101,197,101,81,0,202,101,207,101,212,101,217,101,222,101,227,101,232,101,237,101,242,101,247,101,252,101,1,102,6,102,11,102,16,102,21,102,26,102,31,102,36,102,41,102,46,102,51,102,56,102,61,102,66,102,71,102,76,102,81,102,86,102,91,102,96,102,101,102,106,102,111,102,116,102,121,102,126,102,131,102,136,102,141,102,146,102,151,102,156,102,161,102,166,102,171,102,176,102,181,102,186,102,191,102,196,102,201,102,206,102,211,102,216,102,221,102,226,102,231,102,236,102,241,102,246,102,251,102,0,103,5,103,10,103,15,103,20,103,25,103,30,103,35,103,40,103,45,103,50,103,55,103,60,103,65,103,70,103,75,103,80,103,85,103,90,103,15,0,36,133,42,133,48,133,54,133,60,133,66,133,72,133,78,133,84,133,114,109,90,133,96,133,102,133,108,133,114,133,8,0,120,133,126,133,132,133,138,133,144,133,150,133,156,133,162,133,22,0,168,133,174,133,180,133,132,106,186,133,192,133,198,133,204,133,210,133,216,133,222,133,228,133,184,111,234,133,240,133,246,133,252,133,246,106,2,134,8,134,14,134,20,134,31,0,95,103,100,103,105,103,110,103,115,103,120,103,125,103,130,103,135,103,4,39,140,103,143,70,145,103,150,103,155,103,160,103,165,103,170,103,175,103,14,39,180,103,185,103,190,103,195,103,200,103,205,103,210,103,215,103,220,103,9,39,225,103,27,0,177,66,182,66,187,66,192,66,197,66,202,66,207,66,212,66,217,66,222,66,227,66,232,66,237,66,242,66,247,66,252,66,1,67,6,67,11,67,16,67,21,67,26,67,31,67,36,67,41,67,46,67,51,67,4,0,31,9,199,2,35,9,39,9,9,0,56,67,61,67,66,67,71,67,76,67,81,67,86,67,91,67,96,67,57,0,121,109,230,103,15,107,101,67,106,67,70,43,111,67,116,67,75,43,121,67,126,67,131,67,136,67,141,67,146,67,151,67,156,67,161,67,166,67,171,67,80,43,176,67,48,70,235,103,181,67,240,103,127,109,186,67,245,103,250,103,53,70,255,103,4,104,85,43,191,67,196,67,201,67,206,67,211,67,216,67,221,67,226,67,231,67,236,67,9,104,14,104,241,67,246,67,251,67,0,68,5,68,10,68,15,68,20,68,25,68,30,68,35,68,19,0,21,107,40,68,90,43,83,40,45,68,50,68,55,68,60,68,95,43,65,68,70,68,74,44,148,70,75,68,80,68,85,68,88,40,89,39,93,40,14,0,90,68,95,68,9,44,14,44,23,40,100,68,105,68,110,68,154,39,189,39,159,39,98,40,103,40,115,68,6,0,19,104,24,104,29,104,34,104,39,104,44,104,25,0,199,34,203,34,207,34,211,34,215,34,219,34,223,34,227,34,231,34,235,34,239,34,243,34,178,110,214,110,255,2,247,34,84,108,251,34,255,34,3,3,3,35,7,35,11,35,15,35,19,35,63,0,49,104,54,104,59,104,64,104,69,104,74,104,79,104,120,68,84,104,89,104,125,68,94,104,99,104,104,104,109,104,114,104,119,104,124,104,129,104,134,104,139,104,144,104,149,104,154,104,159,104,164,104,169,104,174,104,179,104,130,68,184,104,189,104,194,104,199,104,204,104,209,104,214,104,135,68,219,104,224,104,229,104,234,104,239,104,244,104,249,104,254,104,3,105,8,105,140,68,145,68,13,105,18,105,23,105,28,105,33,105,38,105,43,105,48,105,150,68,155,68,160,68,165,68,170,68,6,0,26,134,32,134,38,134,190,111,42,112,44,134,3,0,175,68,180,68,100,43,11,0,185,68,190,68,195,68,200,68,205,68,210,68,215,68,220,68,225,68,230,68,105,43,22,0,235,68,240,68,245,68,250,68,255,68,4,69,9,69,14,69,110,43,19,69,115,43,24,69,29,69,34,69,39,69,120,43,234,39,44,69,239,39,49,69,125,43,54,69,9,0,130,43,59,69,135,43,50,134,64,69,69,69,74,69,79,69,84,69,10,0,63,105,68,105,73,105,78,105,83,105,88,105,93,105,98,105,103,105,89,69,10,0,94,69,140,43,99,69,104,69,109,69,114,69,114,39,24,39,108,105,113,105,8,0,184,114,220,114,24,115,155,43,66,115,114,115,120,115,126,115,6,0,225,73,245,73,250,73,84,74,209,74,214,74,11,0,220,73,235,73,255,73,4,74,9,74,14,74,39,74,104,74,114,74,194,74,239,74,13,0,24,74,34,74,44,74,49,74,89,74,124,74,134,74,139,74,159,74,169,74,224,74,13,75,18,75,10,0,240,73,19,74,69,74,74,74,94,74,109,74,144,74,154,74,174,74,249,74,8,0,230,73,79,74,179,74,184,74,199,74,204,74,229,74,254,74,8,0,29,74,54,74,99,74,119,74,189,74,219,74,234,74,23,75,4,0,59,74,149,74,3,75,8,75,4,0,64,74,129,74,164,74,244,74,5,0,252,115,2,116,14,116,20,116,26,116,5,0,38,116,32,107,44,116,50,116,56,116,6,0,238,138,250,138,0,139,158,116,176,116,236,116,2,0,74,116,146,116,3,0,186,109,134,116,6,139,3,0,244,138,164,116,218,116,4,0,68,116,212,116,224,116,198,109,3,0,180,109,170,116,16,117,5,0,86,116,92,116,122,116,128,116,242,116,3,0,98,116,116,116,248,116,4,0,152,116,200,116,4,117,10,117,3,0,80,116,140,116,188,116,4,0,194,116,192,109,230,116,254,116,4,0,62,116,104,116,182,116,206,116,8,0,28,50,58,50,63,50,73,50,78,50,189,69,103,50,180,43,14,0,23,50,33,50,38,50,43,50,48,50,53,50,68,50,83,50,58,40,88,50,111,77,93,50,98,50,108,50,12,0,214,141,220,141,226,141,184,141,48,112,54,112,56,134,190,141,196,141,202,141,60,112,208,141,7,0,232,141,62,134,238,141,244,141,250,141,68,134,0,142,7,0,6,142,12,142,18,142,66,112,24,142,30,142,36,142,3,0,42,142,48,142,54,142,7,0,60,142,72,112,66,142,72,142,78,142,78,112,84,142,4,0,90,142,84,112,96,142,102,142,5,0,108,142,114,142,120,142,90,112,126,142,4,0,74,134,80,134,96,112,86,134,5,0,132,142,138,142,144,142,102,112,150,142,7,0,156,142,92,134,108,112,162,142,168,142,114,112,174,142,5,0,180,142,186,142,192,142,198,142,204,142,4,0,210,142,216,142,222,142,98,134,6,0,228,142,234,142,240,142,104,134,246,142,252,142,4,0,40,78,80,78,105,78,110,78,4,0,35,78,85,78,140,78,145,78,3,0,55,78,100,78,135,78,3,0,75,78,130,78,150,78,2,0,45,78,120,78,4,0,25,78,30,78,60,78,90,78,3,0,125,78,155,78,160,78,2,0,15,78,170,78,4,0,20,78,95,78,115,78,165,78,3,0,50,78,65,78,70,78,16,0,160,144,0,118,18,118,216,109,66,118,84,118,90,118,96,118,190,144,242,107,156,118,162,118,210,118,216,118,10,108,252,118,8,0,232,117,30,118,78,118,110,134,114,118,120,118,222,118,228,118,3,0,24,118,102,118,144,118,3,0,36,118,132,118,16,108,3,0,244,117,202,144,20,119,8,0,250,117,42,118,168,118,240,109,116,134,2,110,14,119,8,110,3,0,178,144,150,118,192,118,7,0,12,118,60,118,184,144,228,109,234,109,198,118,234,118,4,0,54,118,72,118,108,118,174,118,3,0,248,107,180,118,204,118,8,0,238,117,172,144,48,118,196,144,222,109,4,108,208,144,252,109,3,0,126,118,240,118,246,118,4,0,254,107,138,118,2,119,8,119,5,0,166,144,186,118,246,109,26,119,32,119,8,0,142,51,3,80,28,80,187,51,240,39,211,43,217,51,11,52,3,0,62,41,63,80,210,39,9,0,152,51,167,51,202,51,127,7,6,52,16,52,21,52,36,52,51,52,5,0,137,51,33,80,48,80,192,51,31,52,2,0,57,41,68,80,4,0,119,7,182,51,200,39,205,39,2,0,157,51,8,80,4,0,123,7,212,51,242,51,252,51,3,0,162,51,26,52,46,52,3,0,235,39,38,80,131,7,5,0,213,80,218,80,228,80,233,80,238,80,3,0,188,80,193,80,198,80,3,0,178,80,183,80,203,80,3,0,173,80,208,80,223,80,2,0,127,81,132,81,13,0,243,80,253,80,17,81,57,81,107,81,177,81,197,81,202,81,46,82,76,82,146,119,96,82,101,82,8,0,82,81,102,81,182,81,21,82,81,82,86,82,171,82,108,70,4,0,87,81,122,81,162,81,11,82,6,0,72,81,117,81,167,81,172,81,192,81,212,81,11,0,152,119,22,81,32,81,242,81,247,81,1,82,6,82,16,82,66,82,71,82,166,82,5,0,248,80,26,82,31,82,41,82,131,82,8,0,158,119,116,82,121,82,176,82,181,82,186,82,191,82,196,82,12,0,62,81,67,81,77,81,92,81,97,81,152,81,187,81,222,81,51,82,126,82,156,82,161,82,5,0,52,81,112,81,237,81,36,82,111,82,13,0,27,81,37,81,42,81,137,81,142,81,147,81,157,81,217,81,227,81,56,82,61,82,136,82,141,82,6,0,2,81,7,81,12,81,47,81,146,82,103,70,5,0,207,81,232,81,252,81,91,82,151,82,151,0,254,119,4,120,10,120,140,134,62,146,16,120,22,120,46,120,52,120,58,120,64,120,70,120,76,120,82,120,92,146,98,146,88,120,94,120,100,120,106,120,118,120,136,120,142,120,26,110,154,120,160,120,166,120,172,120,184,120,196,120,38,110,208,120,44,110,134,146,220,120,50,110,232,120,238,120,158,134,18,121,234,106,24,121,48,121,60,121,68,110,176,146,182,146,66,121,72,121,78,121,84,121,96,121,74,110,102,121,108,121,114,121,120,121,126,121,80,110,132,121,144,121,150,121,86,110,156,121,162,121,168,121,174,121,186,121,92,110,192,121,198,121,204,121,210,121,216,121,98,110,222,121,228,121,234,121,240,121,252,121,14,122,44,122,50,122,56,122,62,122,68,122,86,122,98,122,104,122,116,122,122,122,104,110,134,122,140,122,152,122,170,122,176,122,188,122,194,122,200,122,110,110,212,122,224,122,230,122,236,122,242,122,10,123,16,123,252,106,22,123,28,123,34,123,40,123,248,146,254,146,52,123,4,147,10,147,58,123,64,123,70,123,28,147,76,123,176,134,34,147,82,123,94,123,100,123,106,123,112,123,118,123,124,123,136,123,142,123,148,123,154,123,166,123,172,123,178,123,184,123,190,123,0,109,202,123,208,123,116,110,214,123,220,123,226,123,238,123,244,123,194,107,11,0,26,146,236,119,242,119,28,120,124,120,226,120,42,121,180,121,246,121,32,122,92,122,32,0,32,146,38,146,224,119,248,119,148,120,214,120,140,146,244,120,250,120,0,121,6,121,12,121,56,110,30,121,36,121,54,121,90,121,138,121,2,122,20,122,38,122,80,122,146,122,164,122,218,122,248,122,254,122,46,123,22,147,160,123,250,108,6,109,22,0,230,119,34,120,40,120,112,120,130,120,32,110,178,120,190,120,202,120,62,110,28,108,8,122,26,122,110,122,128,122,158,122,182,122,206,122,88,123,130,123,244,108,232,123,5,0,209,69,35,53,87,41,70,53,35,83,5,0,40,53,60,53,65,53,25,83,105,53,4,0,45,53,50,53,82,41,80,53,5,0,15,83,30,83,40,83,50,83,100,53,5,0,20,83,85,53,90,53,55,83,110,53,3,0,55,53,60,83,97,41,6,0,10,83,75,53,92,41,45,83,95,53,115,53,5,0,135,53,140,53,145,53,150,53,155,53,3,0,120,53,125,53,130,53,2,0,165,53,170,53,3,0,113,70,102,41,107,41,3,0,24,84,175,53,180,53,6,0,199,54,189,84,204,54,209,54,214,54,3,55,5,0,199,84,219,54,209,84,214,84,219,84,2,0,229,54,239,54,3,0,174,84,244,54,224,84,2,0,234,84,239,84,6,0,157,41,244,84,254,54,254,84,3,85,13,85,10,0,189,54,179,84,194,54,184,84,204,84,224,54,249,54,234,69,8,85,18,85,5,0,255,7,202,41,28,85,38,55,214,39,12,0,177,41,251,7,182,41,187,41,13,55,18,55,23,55,28,55,33,55,53,55,33,85,38,85,6,0,172,41,249,69,192,41,197,41,43,55,48,55,3,0,244,69,8,55,23,85,3,0,223,55,233,55,37,56,7,0,78,124,108,124,156,124,162,124,174,124,204,124,222,124,4,0,90,124,12,109,164,110,32,125,10,0,6,124,36,124,42,124,54,124,96,124,114,124,144,124,240,124,252,124,170,110,9,0,122,110,34,108,146,110,150,124,198,124,216,124,26,125,38,125,56,125,7,0,0,124,30,124,132,124,138,124,194,134,14,125,20,125,13,0,12,124,48,124,60,124,72,124,102,124,120,124,168,124,186,124,18,109,210,124,246,124,44,125,50,125,5,0,66,124,134,110,152,110,234,124,62,125,14,0,18,124,24,124,128,110,84,124,126,124,140,110,180,124,158,110,192,124,228,124,218,149,2,125,8,125,176,110,8,0,149,178,147,56,162,56,27,86,31,57,177,86,197,86,202,86,12,0,157,56,2,86,32,86,37,86,252,56,11,57,254,69,21,57,67,86,122,86,147,86,8,70,2,0,172,56,59,44,7,0,167,56,92,86,137,86,111,57,121,57,126,57,131,57,4,0,227,56,102,86,192,86,116,57,4,0,222,56,237,56,152,86,172,86,9,0,54,44,202,56,207,56,72,86,3,70,56,57,66,57,76,57,132,86,10,0,248,85,232,41,232,56,6,57,57,86,235,43,51,57,107,86,112,86,96,57,2,0,46,57,187,86,5,0,142,56,238,85,217,56,62,86,117,86,5,0,237,41,52,86,86,57,127,86,136,57,4,0,243,85,182,56,97,86,106,57,2,0,17,86,242,56,5,0,152,56,49,44,177,56,26,57,91,57,6,0,227,41,253,85,7,86,212,56,1,57,101,57,2,0,77,86,61,57,5,0,42,86,192,56,247,56,71,57,141,57,9,0,137,56,187,56,47,86,197,56,16,57,242,41,81,57,157,86,182,86,5,0,12,86,36,57,41,57,162,86,167,86,9,0,64,89,69,89,74,89,89,89,99,89,104,89,114,89,124,89,216,57,5,0,79,89,84,89,94,89,109,89,119,89,3,0,133,90,138,90,143,90,3,0,148,90,153,90,158,90,3,0,163,90,168,90,173,90,5,0,178,90,183,90,188,90,193,90,198,90,3,0,203,90,208,90,213,90,2,0,218,90,223,90,2,0,228,90,233,90,2,0,238,90,243,90,2,0,248,90,253,90,5,0,7,91,12,91,32,91,117,91,16,92,7,0,97,91,102,91,107,91,137,91,152,91,227,91,237,91,8,0,22,91,47,91,62,91,72,91,77,91,87,91,177,91,187,91,5,0,67,91,82,91,122,91,202,91,21,92,6,0,27,91,112,91,157,91,162,91,167,91,197,91,7,0,2,91,52,91,92,91,147,91,182,91,212,91,217,91,4,0,57,91,142,91,222,91,247,91,4,0,127,91,172,91,192,91,252,91,6,0,17,91,42,91,132,91,11,92,36,92,150,58,8,0,37,91,207,91,232,91,242,91,1,92,6,92,26,92,31,92,8,0,58,126,88,126,124,126,172,126,178,126,238,126,60,127,78,127,8,0,54,154,70,126,100,126,78,154,142,126,230,110,232,126,36,127,9,0,40,126,94,126,112,126,130,126,190,126,208,126,236,110,42,127,206,107,8,0,148,126,160,126,214,126,244,126,6,127,54,136,126,154,24,127,5,0,28,126,40,108,106,126,90,154,96,154,9,0,60,154,46,126,52,126,218,110,136,126,184,126,202,126,242,110,12,127,8,0,64,126,82,126,118,126,154,126,2,107,250,126,0,127,90,127,5,0,76,126,196,126,220,126,66,127,96,127,5,0,10,126,224,110,48,127,54,127,72,127,4,0,22,126,72,154,18,127,84,127,4,0,34,126,46,108,166,126,30,127,2,0,16,126,226,126,14,0,222,154,248,110,114,127,120,127,126,127,52,108,132,127,138,127,144,127,30,112,180,127,186,127,192,127,198,127,10,0,216,154,102,127,108,127,150,127,156,127,162,127,168,127,174,127,36,109,204,127,9,0,73,60,78,60,128,70,83,60,93,60,101,42,106,42,111,42,116,42,6,0,68,60,23,70,88,60,108,60,79,39,34,39,13,0,48,60,53,60,58,60,63,60,49,39,133,70,98,60,103,60,184,39,113,60,118,60,240,43,123,60,3,0,1,62,16,62,166,42,3,0,6,62,21,62,171,42,3,0,11,62,229,39,26,62,3,0,161,42,36,62,176,42,2,0,31,62,181,42,4,0,174,130,70,111,216,130,246,160,5,0,114,130,120,130,180,130,44,131,62,131,7,0,78,130,84,130,204,160,38,131,240,160,8,107,140,131,6,0,60,130,216,160,222,160,228,160,234,130,104,131,6,0,54,130,66,130,126,130,52,111,64,111,20,131,4,0,88,108,40,111,26,131,92,131,6,0,102,130,168,130,210,130,32,131,94,108,128,131,4,0,90,130,134,131,36,112,146,131,4,0,198,160,210,160,2,131,8,131,7,0,138,130,46,111,144,130,150,130,162,130,80,131,86,131,3,0,198,130,14,131,66,109,5,0,42,130,48,130,156,130,110,131,116,131,4,0,204,130,228,130,98,131,122,131,6,0,36,130,72,130,96,130,58,111,186,130,252,130,5,0,108,130,132,130,192,130,56,131,68,131,5,0,222,130,240,130,246,130,50,131,74,131,5,0,50,98,55,98,60,98,65,98,70,98,7,0,186,97,191,97,196,97,201,97,206,97,211,97,216,97,26,0,46,171,52,171,58,171,64,171,70,171,76,171,82,171,88,171,94,171,100,171,106,171,112,171,118,171,124,171,130,171,136,171,142,171,148,171,154,171,160,171,166,171,172,171,178,171,184,171,190,171,196,171,37,0,202,171,208,171,214,171,220,171,226,171,232,171,238,171,244,171,250,171,0,172,6,172,12,172,18,172,24,172,30,172,36,172,42,172,48,172,54,172,60,172,66,172,72,172,78,172,84,172,90,172,96,172,102,172,108,172,114,172,12,136,18,136,62,113,24,136,30,136,120,172,126,172,132,172,37,0,138,172,144,172,150,172,156,172,162,172,168,172,174,172,180,172,186,172,192,172,198,172,204,172,210,172,216,172,222,172,228,172,234,172,240,172,246,172,68,113,252,172,2,173,8,173,14,173,20,173,26,173,32,173,74,113,38,173,44,173,50,173,80,113,56,173,36,136,62,173,42,136,68,173,35,0,74,173,80,173,86,173,92,173,98,173,104,173,110,173,116,173,122,173,128,173,134,173,140,173,146,173,86,113,152,173,158,173,92,113,98,113,104,113,164,173,170,173,176,173,182,173,188,173,194,173,200,173,206,173,48,136,212,173,110,113,218,173,224,173,230,173,116,113,236,173,5,0,236,112,84,111,114,111,192,135,212,112,5,0,202,134,242,106,224,112,218,112,230,112,16,0,131,107,213,106,123,106,151,0,143,107,217,108,219,106,229,111,52,2,144,2,59,107,179,107,231,106,232,1,241,108,191,107,5,0,226,134,196,110,146,112,72,108,169,0,17,0,49,0,73,0,28,0,215,107,223,105,53,107,116,1,221,107,193,108,43,0,68,2,128,1,169,105,15,112,99,106,48,1,176,1,8,0,137,107,149,107,161,107,229,108,225,106,167,107,173,107,185,107,22,0,52,0,31,0,39,106,10,0,241,111,163,105,160,1,165,106,63,106,171,106,199,105,0,2,75,106,201,106,220,1,95,107,108,2,229,105,157,105,196,1,21,106,111,106,9,0,13,0,55,0,173,212,85,0,72,1,81,106,144,1,154,0,100,2,9,0,117,106,96,1,228,1,64,2,141,106,72,2,129,106,81,109,184,1,5,0,41,107,71,107,15,106,101,107,145,105,4,0,104,109,98,109,28,107,92,109,5,0,205,111,76,1,160,0,132,2,154,205,28,0,121,108,127,108,103,0,139,108,145,0,109,0,145,108,223,108,115,0,47,107,155,107,157,108,128,2,76,0,159,106,181,108,247,111,187,108,12,2,163,0,253,111,235,108,199,108,21,112,113,107,125,107,211,108,41,219,8,0,52,1,147,106,124,0,172,1,244,1,60,2,75,109,175,0,9,0,136,1,168,1,112,0,121,105,56,1,152,1,77,107,156,1,151,105,11,0,48,2,4,0,127,0,32,2,252,1,69,106,7,0,93,106,84,1,227,107,200,1,17,0,180,1,88,2,164,1,64,1,163,108,148,1,92,1,104,1,133,0,4,2,9,106,68,1,247,105,217,105,76,2,224,1,64,0,6,0,133,108,151,108,217,111,120,2,3,112,183,106,5,0,45,106,136,0,189,106,89,107,105,106,8,0,51,106,118,0,65,107,88,0,140,2,177,106,195,106,40,2,10,0,100,0,211,111,83,107,208,1,9,112,205,108,107,107,119,107,140,1,207,106,5,0,95,3,198,135,242,112,102,135,0,111,5,0,36,2,94,0,212,1,40,0,97,0,18,0,70,0,56,2,188,1,106,0,253,105,58,0,153,106,37,0,79,0,82,0,236,1,240,1,166,0,91,0,248,1,61,0,22,0,67,0,4,0,216,135,222,135,210,135,66,108,10,0,25,0,216,1,19,0,34,0,84,2,100,1,80,1,36,1,88,1,120,1,16,0,235,111,169,108,175,108,142,0,3,106,108,1,211,105,80,2,139,105,57,106,121,0,124,1,132,1,46,0,87,106,44,2,9,0,193,105,205,105,235,105,133,105,181,105,192,1,241,105,130,0,175,105,5,0,139,0,212,2,181,0,223,111,116,2,3,0,148,2,184,0,216,2,2,0,54,135,106,113,2,0,148,0,136,2,2,0,112,2,24,2,2,0,20,2,16,2,2,0,152,2,157,0,3,0,104,109,98,109,28,107,4,0,242,106,224,112,218,112,230,112,3,0,98,109,28,107,92,109,27,0,193,105,205,105,253,105,19,0,133,105,3,106,108,1,64,1,211,105,181,105,148,1,92,1,34,0,57,106,104,1,124,1,241,105,132,1,9,106,175,105,100,1,247,105,87,106,217,105,88,1,25,0,80,1,19,0,193,105,205,105,253,105,133,105,108,1,64,1,211,105,181,105,148,1,57,106,104,1,124,1,241,105,132,1,9,106,175,105,247,105,217,105,88,1,193,0,180,1,70,0,136,1,121,108,88,2,56,2,117,106,131,107,193,105,133,108,188,1,164,1,139,108,168,1,205,105,49,0,25,0,106,0,52,0,73,0,48,2,213,106,123,106,145,108,112,0,41,107,216,1,137,107,76,1,96,1,228,1,64,2,235,105,28,0,143,107,141,106,52,1,217,108,149,107,223,108,215,107,253,105,19,0,133,105,31,0,3,106,47,107,155,107,13,0,219,106,108,1,55,0,39,106,64,1,10,0,211,105,45,106,51,106,181,105,72,2,139,105,157,108,58,0,223,105,53,107,116,1,129,106,148,1,161,107,221,107,59,107,229,108,92,1,76,0,34,0,4,0,57,106,153,106,121,105,37,0,56,1,121,0,104,1,159,106,79,0,124,0,163,105,212,1,127,0,65,107,160,1,181,108,172,1,244,1,82,0,40,0,32,2,236,1,187,108,192,1,152,1,193,108,71,107,124,1,241,105,132,1,85,0,72,1,130,0,84,2,133,0,165,106,88,0,4,2,43,0,252,1,60,2,68,2,9,106,63,106,77,107,225,106,171,106,69,106,199,105,15,106,128,1,169,105,167,107,175,105,46,0,177,106,156,1,183,106,240,1,173,107,179,107,189,106,7,0,151,105,100,1,247,105,195,106,231,106,91,0,80,1,68,1,36,1,75,106,248,1,89,107,201,106,81,106,87,106,93,106,217,105,88,1,99,106,76,2,48,1,220,1,232,1,95,107,81,109,185,107,61,0,101,107,184,1,176,1,84,1,94,0,227,107,36,2,144,1,107,107,22,0,113,107,119,107,229,105,120,1,157,105,154,205,241,108,97,0,125,107,191,107,200,1,105,106,207,106,67,0,145,105,21,106,111,106,2,0,2,39,138,178,4,0,2,39,138,178,28,1,1,0,2,0,2,39,1,0,4,0,138,178,1,0,28,1,2,39,4,0,2,39,28,1,1,0,138,178,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,3,0,138,178,2,39,1,0,2,0,2,39,1,0,2,0,2,39,1,0,4,0,2,39,138,178,1,0,28,1,2,0,138,178,2,39,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,2,0,241,23,249,23,2,39,2,39,3,0,2,39,1,0,138,178,3,0,2,39,1,0,138,178,4,0,138,178,28,1,2,39,1,0,3,0,138,178,1,0,2,39,2,0,2,39,1,0,2,0,2,39,1,0,3,0,2,39,1,0,138,178,4,0,138,178,1,0,28,1,2,39,2,0,2,39,138,178,2,0,2,39,1,0,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,4,0,28,1,1,0,138,178,2,39,4,0,2,39,1,0,138,178,28,1,2,0,241,23,249,23,2,39,2,39,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,2,0,138,178,2,39,4,0,2,39,138,178,28,1,1,0,2,0,2,39,138,178,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,1,0,2,39,3,0,2,39,138,178,1,0,2,0,2,39,1,0,3,0,2,39,1,0,138,178,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,2,39,138,178,1,0,28,1,3,0,2,39,138,178,1,0,4,0,2,39,1,0,28,1,138,178,4,0,138,178,2,39,1,0,28,1,2,0,241,23,249,23,2,39,2,39,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,2,39,28,1,1,0,2,0,241,23,249,23,2,39,2,39,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,138,178,2,39,2,0,241,23,249,23,2,39,2,39,4,0,138,178,28,1,2,39,1,0,4,0,138,178,2,39,1,0,28,1,4,0,138,178,1,0,28,1,2,39,4,0,2,39,138,178,1,0,28,1,4,0,2,39,1,0,138,178,28,1,2,0,2,39,1,0,4,0,138,178,1,0,28,1,2,39,4,0,138,178,1,0,28,1,2,39,2,0,138,178,2,39,4,0,2,39,1,0,138,178,28,1,4,0,1,0,28,1,138,178,2,39,2,0,241,23,249,23,2,39,2,39,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,2,0,2,39,138,178,2,0,2,39,1,0,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,3,0,2,39,1,0,138,178,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,138,178,2,39,4,0,2,39,138,178,28,1,1,0,2,0,2,39,138,178,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,2,0,2,39,1,0,4,0,2,39,1,0,138,178,28,1,4,0,138,178,2,39,28,1,1,0,4,0,2,39,138,178,1,0,28,1,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,4,0,138,178,1,0,28,1,2,39,4,0,2,39,138,178,1,0,28,1,2,0,2,39,1,0,2,0,2,39,138,178,4,0,2,39,138,178,1,0,28,1,2,0,241,23,249,23,2,39,2,39,4,0,2,39,138,178,28,1,1,0,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,138,178,2,39,4,0,2,39,138,178,28,1,1,0,4,0,138,178,1,0,28,1,2,39,2,0,1,0,2,39,2,0,241,23,249,23,2,39,2,39,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,4,0,138,178,1,0,28,1,2,39,3,0,2,39,156,70,138,178,4,0,1,0,28,1,2,39,138,178,4,0,2,39,138,178,1,0,28,1,4,0,1,0,138,178,2,39,28,1,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,1,0,28,1,4,0,138,178,28,1,2,39,1,0,4,0,138,178,2,39,1,0,28,1,4,0,138,178,2,39,1,0,28,1,4,0,138,178,1,0,28,1,2,39,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,4,0,2,39,28,1,1,0,138,178,4,0,138,178,1,0,28,1,2,39,4,0,138,178,28,1,2,39,1,0,3,0,2,39,1,0,138,178,4,0,2,39,138,178,1,0,28,1,4,0,138,178,28,1,2,39,1,0,2,0,138,178,2,39,4,0,2,39,138,178,28,1,1,0,3,0,2,39,138,178,1,0,4,0,2,39,1,0,28,1,138,178,4,0,138,178,1,0,28,1,2,39,4,0,2,39,138,178,1,0,28,1,2,0,2,39,1,0,2,0,2,39,1,0,3,0,2,39,1,0,138,178,2,0,2,39,1,0,2,0,2,39,138,178,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,241,23,249,23,2,39,2,39,4,0,1,0,28,1,2,39,138,178,4,0,2,39,138,178,28,1,1,0,4,0,138,178,1,0,28,1,2,39,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,4,0,138,178,1,0,28,1,2,39,4,0,2,39,138,178,28,1,1,0,2,0,2,39,138,178,2,0,2,39,138,178,2,0,2,39,138,178,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,1,0,28,1,4,0,28,1,1,0,138,178,2,39,2,0,2,39,1,0,4,0,138,178,2,39,1,0,28,1,2,0,2,39,1,0,2,0,241,23,249,23,2,39,2,39,4,0,2,39,138,178,28,1,1,0,4,0,2,39,138,178,28,1,1,0,4,0,2,39,138,178,1,0,28,1,2,0,2,39,1,0,2,0,2,39,138,178,3,0,2,39,138,178,1,0,4,0,2,39,138,178,28,1,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,4,0,138,178,1,0,28,1,2,39,4,0,138,178,2,39,1,0,28,1,4,0,2,39,1,0,138,178,28,1,3,0,2,39,138,178,1,0,2,0,138,178,2,39,4,0,138,178,1,0,28,1,2,39,3,0,138,178,1,0,2,39,2,0,2,39,138,178,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,2,39,1,0,28,1,4,0,138,178,1,0,28,1,2,39,2,0,2,39,1,0,2,0,138,178,2,39,4,0,2,39,138,178,1,0,28,1,4,0,138,178,1,0,28,1,2,39,2,0,2,39,1,0,2,0,2,39,1,0,3,0,2,39,1,0,138,178,2,0,241,23,249,23,2,39,2,39,2,0,2,39,138,178,4,0,138,178,1,0,28,1,2,39,4,0,138,178,28,1,2,39,1,0,3,0,2,39,138,178,1,0,4,0,138,178,1,0,28,1,2,39,2,0,241,23,249,23,2,39,2,39,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,2,0,2,39,1,0,2,0,241,23,249,23,2,39,2,39,2,0,241,23,249,23,2,39,2,39,4,0,138,178,28,1,2,39,1,0,3,0,2,39,138,178,1,0,3,0,2,39,138,178,1,0,2,0,138,178,2,39,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,2,0,2,39,1,0,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,28,1,1,0,4,0,138,178,1,0,28,1,2,39,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,3,0,138,178,2,39,1,0,3,0,2,39,138,178,1,0,2,0,2,39,1,0,2,0,2,39,138,178,2,0,2,39,138,178,4,0,2,39,1,0,28,1,138,178,2,0,2,39,138,178,4,0,138,178,1,0,28,1,2,39,2,0,138,178,2,39,2,0,2,39,1,0,4,0,138,178,28,1,2,39,1,0,4,0,1,0,28,1,138,178,2,39,4,0,1,0,28,1,2,39,138,178,3,0,2,39,1,0,138,178,4,0,1,0,28,1,2,39,138,178,4,0,138,178,28,1,2,39,1,0,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,1,0,28,1,3,0,2,39,1,0,138,178,3,0,2,39,138,178,1,0,4,0,138,178,28,1,2,39,1,0,4,0,138,178,2,39,1,0,28,1,4,0,138,178,28,1,2,39,1,0,4,0,138,178,28,1,2,39,1,0,2,0,2,39,138,178,2,0,138,178,2,39,2,0,2,39,1,0,2,0,138,178,2,39,3,0,2,39,1,0,138,178,4,0,138,178,1,0,28,1,2,39,2,0,2,39,1,0,4,0,2,39,138,178,28,1,1,0,4,0,138,178,28,1,2,39,1,0,2,0,2,39,138,178,4,0,2,39,138,178,1,0,28,1,4,0,138,178,1,0,28,1,2,39,3,0,2,39,138,178,1,0,4,0,138,178,28,1,2,39,1,0,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,4,0,2,39,138,178,1,0,28,1,3,0,2,39,138,178,1,0,3,0,2,39,138,178,1,0,4,0,1,0,28,1,138,178,2,39,3,0,1,0,138,178,2,39,3,0,2,39,138,178,1,0,3,0,2,39,138,178,1,0,3,0,1,0,138,178,2,39,3,0,1,0,138,178,2,39,4,0,1,0,28,1,138,178,2,39,4,0,1,0,28,1,138,178,2,39,4,0,1,0,138,178,28,1,2,39,3,0,1,0,138,178,2,39,4,0,2,39,1,0,28,1,138,178,3,0,135,205,125,208,22,206,2,0,124,205,22,206,2,0,124,205,22,206,2,0,125,208,22,206,3,0,135,205,22,206,125,208,2,0,135,205,22,206,2,0,124,205,22,206,2,0,124,205,22,206,2,0,124,205,22,206,2,0,124,205,22,206,3,0,135,205,22,206,125,208,2,0,124,205,22,206,2,0,135,205,22,206,2,0,124,205,22,206,2,0,22,206,135,205,2,0,22,206,125,208,3,0,124,205,135,205,22,206,2,0,124,205,22,206,2,0,22,206,125,208,3,0,124,205,22,206,125,208,2,0,22,206,125,208,3,0,135,205,22,206,125,208,2,0,135,205,22,206,2,0,135,205,22,206,2,0,22,206,124,205,3,0,22,206,135,205,124,205,2,0,124,205,22,206,4,0,22,206,125,208,135,205,124,205,2,0,124,205,22,206,2,0,22,206,125,208,2,0,124,205,22,206,3,0,22,206,135,205,124,205,3,0,124,205,22,206,125,208,2,0,22,206,124,205,4,0,22,206,124,205,125,208,135,205,3,0,124,205,22,206,125,208,3,0,135,205,124,205,22,206,3,0,124,205,22,206,125,208,3,0,22,206,135,205,124,205,2,0,22,206,125,208,3,0,135,205,22,206,125,208,2,0,125,208,22,206,2,0,125,208,22,206,2,0,22,206,125,208,2,0,124,205,22,206,4,0,22,206,125,208,135,205,124,205,2,0,22,206,125,208,3,0,124,205,22,206,125,208,3,0,22,206,125,208,124,205,2,0,124,205,22,206,3,0,22,206,125,208,124,205,2,0,124,205,22,206,4,0,22,206,124,205,125,208,135,205,2,0,22,206,125,208,3,0,135,205,22,206,125,208,2,0,22,206,125,208,3,0,124,205,22,206,125,208,3,0,135,205,22,206,125,208,3,0,124,205,135,205,22,206,2,0,124,205,125,208,3,0,0,0,226,253,255,255,1,0,0,0,1,0,0,0,1,0,59,0,129,161,0,224,1,0,70,2,133,161,0,32,2,0,54,0,65,0,170,170,135,161,0,32,68,205,0,96,3,0,0,0,180,245,255,255,1,0,0,0,1,0,0,0,1,0,59,0,141,161,0,224,1,0,70,2,145,161,0,32,2,0,54,0,65,0,170,170,147,161,0,32,64,205,0,96,3,0,0,0,28,1,0,0,8,0,0,0,28,0,0,0,1,0,87,0,153,161,0,224,3,0,0,0,28,1,0,0,8,0,0,0,29,0,0,0,1,0,59,0,159,161,0,224,2,0,70,2,209,19,170,170,157,161,0,32,163,161,0,32,2,0,54,0,65,0,170,170,165,161,0,32,40,129,0,96,3,0,0,0,228,246,255,255,1,0,0,0,1,0,0,0,1,0,59,0,173,161,0,224,1,0,70,2,177,161,0,32,2,0,54,0,65,0,170,170,179,161,0,32,64,205,0,96,3,0,0,0,8,0,0,0,8,0,0,0,28,0,0,0,1,0,87,0,185,161,0,224,3,0,0,0,8,0,0,0,8,0,0,0,29,0,0,0,1,0,59,0,191,161,0,224,2,0,70,2,209,19,170,170,189,161,0,32,195,161,0,32,2,0,54,0,65,0,170,170,197,161,0,32,40,129,0,96,3,0,0,0,140,234,255,255,8,0,0,0,29,0,0,0,1,0,87,0,205,161,0,224,1,0,70,2,209,161,0,32,1,0,54,0,211,161,0,32,3,0,0,0,0,0,0,0,12,0,0,0,31,0,0,0,1,0,87,0,215,161,0,224,3,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,59,0,221,161,0,224,2,0,70,2,209,19,170,170,219,161,0,32,225,161,0,32,2,0,54,0,65,0,170,170,227,161,0,32,68,205,0,96,3,0,0,0,80,241,255,255,10,0,0,0,7,0,0,0,1,0,59,0,235,161,0,224,1,0,70,2,239,161,0,32,2,0,54,0,65,0,170,170,241,161,0,32,64,205,0,96,3,0,0,0,79,0,0,0,1,0,0,0,1,0,0,0,1,0,59,0,247,161,0,224,1,0,70,2,251,161,0,32,1,0,54,0,253,161,0,32,3,0,0,0,110,2,0,0,7,0,0,0,15,0,0,0,1,0,59,0,1,162,0,224,1,0,70,2,5,162,0,32,2,0,54,0,65,0,170,170,7,162,0,32,24,106,0,96,3,0,0,0,110,2,0,0,7,0,0,0,16,0,0,0,1,0,59,0,13,162,0,224,1,0,70,2,17,162,0,32,2,0,54,0,65,0,170,170,19,162,0,32,24,106,0,96,3,0,0,0,110,2,0,0,7,0,0,0,15,0,0,0,1,0,59,0,25,162,0,224,1,0,70,2,29,162,0,32,2,0,54,0,65,0,170,170,31,162,0,32,24,106,0,96,3,0,0,0,110,2,0,0,7,0,0,0,15,0,0,0,1,0,59,0,37,162,0,224,1,0,70,2,41,162,0,32,2,0,54,0,65,0,170,170,43,162,0,32,24,106,0,96,3,0,0,0,110,2,0,0,7,0,0,0,15,0,0,0,1,0,59,0,49,162,0,224,1,0,70,2,53,162,0,32,2,0,54,0,65,0,170,170,55,162,0,32,24,106,0,96,3,0,0,0,133,2,0,0,6,0,0,0,19,0,0,0,1,0,59,0,61,162,0,224,3,0,0,0,138,2,0,0,2,0,0,0,15,0,0,0,1,0,59,0,67,162,0,224,3,0,0,0,217,2,0,0,8,0,0,0,5,0,0,0,1,0,59,0,73,162,0,224,3,0,0,0,145,4,0,0,4,0,0,0,8,0,0,0,1,0,59,0,79,162,0,224,3,0,0,0,147,4,0,0,4,0,0,0,21,0,0,0,1,0,59,0,85,162,0,224,3,0,0,0,151,4,0,0,7,0,0,0,28,0,0,0,1,0,59,0,91,162,0,224,3,0,0,0,153,4,0,0,8,0,0,0,4,0,0,0,1,0,59,0,97,162,0,224,3,0,0,0,157,4,0,0,7,0,0,0,14,0,0,0,1,0,59,0,103,162,0,224,3,0,0,0,158,4,0,0,5,0,0,0,27,0,0,0,1,0,59,0,109,162,0,224,3,0,0,0,160,4,0,0,4,0,0,0,16,0,0,0,1,0,59,0,115,162,0,224,3,0,0,0,161,4,0,0,8,0,0,0,14,0,0,0,1,0,59,0,121,162,0,224,3,0,0,0,166,4,0,0,4,0,0,0,11,0,0,0,1,0,59,0,127,162,0,224,3,0,0,0,175,4,0,0,4,0,0,0,27,0,0,0,1,0,59,0,133,162,0,224,3,0,0,0,237,2,0,0,4,0,0,0,14,0,0,0,1,0,59,0,139,162,0,224,3,0,0,0,177,4,0,0,2,0,0,0,13,0,0,0,1,0,59,0,145,162,0,224,3,0,0,0,180,4,0,0,2,0,0,0,20,0,0,0,1,0,59,0,151,162,0,224,3,0,0,0,182,4,0,0,4,0,0,0,27,0,0,0,1,0,59,0,157,162,0,224,3,0,0,0,183,4,0,0,10,0,0,0,25,0,0,0,1,0,59,0,163,162,0,224,3,0,0,0,187,4,0,0,3,0,0,0,9,0,0,0,1,0,59,0,169,162,0,224,3,0,0,0,189,4,0,0,12,0,0,0,6,0,0,0,1,0,59,0,175,162,0,224,3,0,0,0,195,4,0,0,4,0,0,0,12,0,0,0,1,0,59,0,181,162,0,224,3,0,0,0,198,4,0,0,4,0,0,0,13,0,0,0,1,0,59,0,187,162,0,224,3,0,0,0,200,4,0,0,11,0,0,0,20,0,0,0,1,0,59,0,193,162,0,224,3,0,0,0,201,4,0,0,4,0,0,0,20,0,0,0,1,0,59,0,199,162,0,224,3,0,0,0,237,2,0,0,7,0,0,0,2,0,0,0,1,0,59,0,205,162,0,224,3,0,0,0,203,4,0,0,12,0,0,0,10,0,0,0,1,0,59,0,211,162,0,224,3,0,0,0,205,4,0,0,3,0,0,0,5,0,0,0,1,0,59,0,217,162,0,224,3,0,0,0,208,4,0,0,4,0,0,0,2,0,0,0,1,0,59,0,223,162,0,224,3,0,0,0,209,4,0,0,4,0,0,0,15,0,0,0,1,0,59,0,229,162,0,224,3,0,0,0,210,4,0,0,11,0,0,0,5,0,0,0,1,0,59,0,235,162,0,224,3,0,0,0,211,4,0,0,9,0,0,0,19,0,0,0,1,0,59,0,241,162,0,224,3,0,0,0,214,4,0,0,11,0,0,0,23,0,0,0,1,0,59,0,247,162,0,224,3,0,0,0,215,4,0,0,2,0,0,0,7,0,0,0,1,0,59,0,253,162,0,224,3,0,0,0,216,4,0,0,7,0,0,0,16,0,0,0,1,0,59,0,3,163,0,224,3,0,0,0,219,4,0,0,2,0,0,0,26,0,0,0,1,0,59,0,9,163,0,224,3,0,0,0,245,2,0,0,8,0,0,0,18,0,0,0,1,0,59,0,15,163,0,224,3,0,0,0,223,4,0,0,2,0,0,0,28,0,0,0,1,0,59,0,21,163,0,224,3,0,0,0,225,4,0,0,3,0,0,0,18,0,0,0,1,0,59,0,27,163,0,224,3,0,0,0,232,4,0,0,10,0,0,0,5,0,0,0,1,0,59,0,33,163,0,224,3,0,0,0,233,4,0,0,3,0,0,0,14,0,0,0,1,0,59,0,39,163,0,224,3,0,0,0,235,4,0,0,3,0,0,0,26,0,0,0,1,0,59,0,45,163,0,224,3,0,0,0,236,4,0,0,4,0,0,0,13,0,0,0,1,0,59,0,51,163,0,224,3,0,0,0,237,4,0,0,2,0,0,0,20,0,0,0,1,0,59,0,57,163,0,224,3,0,0,0,240,4,0,0,2,0,0,0,28,0,0,0,1,0,59,0,63,163,0,224,3,0,0,0,251,4,0,0,4,0,0,0,25,0,0,0,1,0,59,0,69,163,0,224,3,0,0,0,254,4,0,0,2,0,0,0,29,0,0,0,1,0,59,0,75,163,0,224,3,0,0,0,253,2,0,0,1,0,0,0,7,0,0,0,1,0,59,0,81,163,0,224,3,0,0,0,8,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,87,163,0,224,3,0,0,0,13,5,0,0,8,0,0,0,5,0,0,0,1,0,59,0,93,163,0,224,3,0,0,0,19,5,0,0,4,0,0,0,25,0,0,0,1,0,59,0,99,163,0,224,3,0,0,0,22,5,0,0,11,0,0,0,21,0,0,0,1,0,59,0,105,163,0,224,3,0,0,0,23,5,0,0,8,0,0,0,5,0,0,0,1,0,59,0,111,163,0,224,3,0,0,0,26,5,0,0,12,0,0,0,14,0,0,0,1,0,59,0,117,163,0,224,3,0,0,0,28,5,0,0,10,0,0,0,9,0,0,0,1,0,59,0,123,163,0,224,3,0,0,0,31,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,129,163,0,224,3,0,0,0,32,5,0,0,3,0,0,0,20,0,0,0,1,0,59,0,135,163,0,224,3,0,0,0,37,5,0,0,2,0,0,0,3,0,0,0,1,0,59,0,141,163,0,224,3,0,0,0,255,2,0,0,8,0,0,0,16,0,0,0,1,0,59,0,147,163,0,224,3,0,0,0,39,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,153,163,0,224,3,0,0,0,41,5,0,0,2,0,0,0,23,0,0,0,1,0,59,0,159,163,0,224,3,0,0,0,44,5,0,0,12,0,0,0,9,0,0,0,1,0,59,0,165,163,0,224,3,0,0,0,46,5,0,0,4,0,0,0,26,0,0,0,1,0,59,0,171,163,0,224,3,0,0,0,49,5,0,0,8,0,0,0,29,0,0,0,1,0,59,0,177,163,0,224,3,0,0,0,51,5,0,0,8,0,0,0,9,0,0,0,1,0,59,0,183,163,0,224,3,0,0,0,54,5,0,0,1,0,0,0,29,0,0,0,1,0,59,0,189,163,0,224,3,0,0,0,56,5,0,0,2,0,0,0,29,0,0,0,1,0,59,0,195,163,0,224,3,0,0,0,60,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,201,163,0,224,3,0,0,0,66,5,0,0,12,0,0,0,8,0,0,0,1,0,59,0,207,163,0,224,3,0,0,0,2,3,0,0,10,0,0,0,1,0,0,0,1,0,59,0,213,163,0,224,3,0,0,0,90,5,0,0,7,0,0,0,24,0,0,0,1,0,59,0,219,163,0,224,3,0,0,0,92,5,0,0,4,0,0,0,1,0,0,0,1,0,59,0,225,163,0,224,3,0,0,0,95,5,0,0,5,0,0,0,27,0,0,0,1,0,59,0,231,163,0,224,3,0,0,0,99,5,0,0,3,0,0,0,22,0,0,0,1,0,59,0,237,163,0,224,3,0,0,0,101,5,0,0,2,0,0,0,10,0,0,0,1,0,59,0,243,163,0,224,3,0,0,0,104,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,249,163,0,224,3,0,0,0,107,5,0,0,8,0,0,0,22,0,0,0,1,0,59,0,255,163,0,224,3,0,0,0,107,5,0,0,8,0,0,0,23,0,0,0,1,0,59,0,5,164,0,224,3,0,0,0,109,5,0,0,2,0,0,0,9,0,0,0,1,0,59,0,11,164,0,224,3,0,0,0,110,5,0,0,3,0,0,0,26,0,0,0,1,0,59,0,17,164,0,224,3,0,0,0,13,3,0,0,1,0,0,0,1,0,0,0,1,0,59,0,23,164,0,224,3,0,0,0,114,5,0,0,7,0,0,0,5,0,0,0,1,0,59,0,29,164,0,224,3,0,0,0,148,5,0,0,4,0,0,0,27,0,0,0,1,0,59,0,35,164,0,224,3,0,0,0,149,5,0,0,9,0,0,0,5,0,0,0,1,0,59,0,41,164,0,224,3,0,0,0,161,5,0,0,2,0,0,0,17,0,0,0,1,0,59,0,47,164,0,224,3,0,0,0,164,5,0,0,2,0,0,0,5,0,0,0,1,0,59,0,53,164,0,224,3,0,0,0,169,5,0,0,7,0,0,0,28,0,0,0,1,0,59,0,59,164,0,224,3,0,0,0,172,5,0,0,7,0,0,0,25,0,0,0,1,0,59,0,65,164,0,224,3,0,0,0,175,5,0,0,7,0,0,0,25,0,0,0,1,0,59,0,71,164,0,224,3,0,0,0,177,5,0,0,9,0,0,0,28,0,0,0,1,0,59,0,77,164,0,224,3,0,0,0,180,5,0,0,12,0,0,0,21,0,0,0,1,0,59,0,83,164,0,224,3,0,0,0,14,3,0,0,8,0,0,0,19,0,0,0,1,0,59,0,89,164,0,224,3,0,0,0,186,5,0,0,2,0,0,0,28,0,0,0,1,0,59,0,95,164,0,224,3,0,0,0,187,5,0,0,3,0,0,0,3,0,0,0,1,0,59,0,101,164,0,224,3,0,0,0,189,5,0,0,4,0,0,0,28,0,0,0,1,0,59,0,107,164,0,224,3,0,0,0,207,5,0,0,7,0,0,0,29,0,0,0,1,0,59,0,113,164,0,224,3,0,0,0,209,5,0,0,8,0,0,0,21,0,0,0,1,0,59,0,119,164,0,224,3,0,0,0,212,5,0,0,7,0,0,0,19,0,0,0,1,0,59,0,125,164,0,224,3,0,0,0,221,5,0,0,2,0,0,0,29,0,0,0,1,0,59,0,131,164,0,224,3,0,0,0,224,5,0,0,2,0,0,0,30,0,0,0,1,0,59,0,137,164,0,224,3,0,0,0,241,5,0,0,8,0,0,0,23,0,0,0,1,0,59,0,143,164,0,224,3,0,0,0,248,5,0,0,8,0,0,0,20,0,0,0,1,0,59,0,149,164,0,224,3,0,0,0,38,3,0,0,5,0,0,0,18,0,0,0,1,0,59,0,155,164,0,224,3,0,0,0,252,5,0,0,7,0,0,0,29,0,0,0,1,0,59,0,161,164,0,224,3,0,0,0,19,6,0,0,10,0,0,0,23,0,0,0,1,0,59,0,167,164,0,224,3,0,0,0,22,6,0,0,2,0,0,0,28,0,0,0,1,0,59,0,173,164,0,224,3,0,0,0,34,6,0,0,4,0,0,0,23,0,0,0,1,0,59,0,179,164,0,224,3,0,0,0,37,6,0,0,7,0,0,0,28,0,0,0,1,0,59,0,185,164,0,224,3,0,0,0,56,6,0,0,12,0,0,0,8,0,0,0,1,0,59,0,191,164,0,224,3,0,0,0,60,6,0,0,10,0,0,0,27,0,0,0,1,0,59,0,197,164,0,224,3,0,0,0,79,6,0,0,7,0,0,0,13,0,0,0,1,0,59,0,203,164,0,224,3,0,0,0,88,6,0,0,2,0,0,0,30,0,0,0,1,0,59,0,209,164,0,224,3,0,0,0,108,6,0,0,12,0,0,0,16,0,0,0,1,0,59,0,215,164,0,224,3,0,0,0,160,2,0,0,1,0,0,0,1,0,0,0,1,0,59,0,221,164,0,224,3,0,0,0,42,3,0,0,9,0,0,0,19,0,0,0,1,0,59,0,227,164,0,224,3,0,0,0,112,6,0,0,2,0,0,0,15,0,0,0,1,0,59,0,233,164,0,224,3,0,0,0,116,6,0,0,9,0,0,0,18,0,0,0,1,0,59,0,239,164,0,224,3,0,0,0,119,6,0,0,4,0,0,0,13,0,0,0,1,0,59,0,245,164,0,224,3,0,0,0,122,6,0,0,7,0,0,0,23,0,0,0,1,0,59,0,251,164,0,224,3,0,0,0,125,6,0,0,4,0,0,0,25,0,0,0,1,0,59,0,1,165,0,224,3,0,0,0,137,6,0,0,9,0,0,0,21,0,0,0,1,0,59,0,7,165,0,224,3,0,0,0,145,6,0,0,9,0,0,0,29,0,0,0,1,0,59,0,13,165,0,224,3,0,0,0,148,6,0,0,2,0,0,0,21,0,0,0,1,0,59,0,19,165,0,224,3,0,0,0,152,6,0,0,9,0,0,0,30,0,0,0,1,0,59,0,25,165,0,224,3,0,0,0,168,6,0,0,3,0,0,0,13,0,0,0,1,0,59,0,31,165,0,224,3,0,0,0,56,3,0,0,1,0,0,0,5,0,0,0,1,0,59,0,37,165,0,224,3,0,0,0,175,6,0,0,4,0,0,0,25,0,0,0,1,0,59,0,43,165,0,224,3,0,0,0,180,6,0,0,6,0,0,0,22,0,0,0,1,0,59,0,49,165,0,224,3,0,0,0,200,6,0,0,4,0,0,0,28,0,0,0,1,0,59,0,55,165,0,224,3,0,0,0,205,6,0,0,2,0,0,0,27,0,0,0,1,0,59,0,61,165,0,224,3,0,0,0,208,6,0,0,2,0,0,0,21,0,0,0,1,0,59,0,67,165,0,224,3,0,0,0,212,6,0,0,7,0,0,0,12,0,0,0,1,0,59,0,73,165,0,224,3,0,0,0,215,6,0,0,10,0,0,0,27,0,0,0,1,0,59,0,79,165,0,224,3,0,0,0,228,6,0,0,6,0,0,0,2,0,0,0,1,0,59,0,85,165,0,224,3,0,0,0,236,6,0,0,11,0,0,0,16,0,0,0,1,0,59,0,91,165,0,224,3,0,0,0,245,6,0,0,4,0,0,0,2,0,0,0,1,0,59,0,97,165,0,224,3,0,0,0,66,3,0,0,1,0,0,0,3,0,0,0,1,0,59,0,103,165,0,224,3,0,0,0,253,6,0,0,1,0,0,0,25,0,0,0,1,0,59,0,109,165,0,224,3,0,0,0,9,7,0,0,2,0,0,0,5,0,0,0,1,0,59,0,115,165,0,224,3,0,0,0,12,7,0,0,2,0,0,0,11,0,0,0,1,0,59,0,121,165,0,224,3,0,0,0,26,7,0,0,4,0,0,0,22,0,0,0,1,0,59,0,127,165,0,224,3,0,0,0,38,7,0,0,12,0,0,0,10,0,0,0,1,0,59,0,133,165,0,224,3,0,0,0,52,7,0,0,12,0,0,0,2,0,0,0,1,0,59,0,139,165,0,224,3,0,0,0,56,7,0,0,2,0,0,0,28,0,0,0,1,0,59,0,145,165,0,224,3,0,0,0,62,7,0,0,11,0,0,0,27,0,0,0,1,0,59,0,151,165,0,224,3,0,0,0,68,7,0,0,3,0,0,0,18,0,0,0,1,0,59,0,157,165,0,224,3,0,0,0,69,7,0,0,2,0,0,0,19,0,0,0,1,0,59,0,163,165,0,224,3,0,0,0,80,3,0,0,6,0,0,0,13,0,0,0,1,0,59,0,169,165,0,224,3,0,0,0,72,7,0,0,2,0,0,0,20,0,0,0,1,0,59,0,175,165,0,224,3,0,0,0,73,7,0,0,4,0,0,0,7,0,0,0,1,0,59,0,181,165,0,224,3,0,0,0,76,7,0,0,9,0,0,0,8,0,0,0,1,0,59,0,187,165,0,224,3,0,0,0,120,7,0,0,7,0,0,0,30,0,0,0,1,0,59,0,193,165,0,224,3,0,0,0,134,7,0,0,12,0,0,0,25,0,0,0,1,0,59,0,199,165,0,224,3,0,0,0,197,7,0,0,1,0,0,0,8,0,0,0,1,0,59,0,205,165,0,224,3,0,0,0,227,7,0,0,5,0,0,0,1,0,0,0,1,0,59,0,211,165,0,224,3,0,0,0,83,3,0,0,4,0,0,0,28,0,0,0,1,0,59,0,217,165,0,224,3,0,0,0,86,3,0,0,11,0,0,0,30,0,0,0,1,0,59,0,223,165,0,224,3,0,0,0,89,3,0,0,2,0,0,0,21,0,0,0,1,0,59,0,229,165,0,224,3,0,0,0,91,3,0,0,4,0,0,0,15,0,0,0,1,0,59,0,235,165,0,224,3,0,0,0,109,3,0,0,4,0,0,0,16,0,0,0,1,0,59,0,241,165,0,224,3,0,0,0,117,3,0,0,2,0,0,0,21,0,0,0,1,0,59,0,247,165,0,224,3,0,0,0,174,2,0,0,7,0,0,0,20,0,0,0,1,0,59,0,253,165,0,224,3,0,0,0,121,3,0,0,4,0,0,0,27,0,0,0,1,0,59,0,3,166,0,224,3,0,0,0,130,3,0,0,4,0,0,0,26,0,0,0,1,0,59,0,9,166,0,224,3,0,0,0,133,3,0,0,7,0,0,0,15,0,0,0,1,0,59,0,15,166,0,224,3,0,0,0,155,3,0,0,4,0,0,0,11,0,0,0,1,0,59,0,21,166,0,224,3,0,0,0,163,3,0,0,4,0,0,0,26,0,0,0,1,0,59,0,27,166,0,224,3,0,0,0,170,3,0,0,5,0,0,0,22,0,0,0,1,0,59,0,33,166,0,224,3,0,0,0,179,3,0,0,4,0,0,0,22,0,0,0,1,0,59,0,39,166,0,224,3,0,0,0,189,3,0,0,10,0,0,0,27,0,0,0,1,0,59,0,45,166,0,224,3,0,0,0,193,3,0,0,2,0,0,0,16,0,0,0,1,0,59,0,51,166,0,224,3,0,0,0,196,3,0,0,7,0,0,0,10,0,0,0,1,0,59,0,57,166,0,224,3,0,0,0,189,2,0,0,3,0,0,0,21,0,0,0,1,0,59,0,63,166,0,224,3,0,0,0,200,3,0,0,8,0,0,0,13,0,0,0,1,0,59,0,69,166,0,224,3,0,0,0,202,3,0,0,3,0,0,0,25,0,0,0,1,0,59,0,75,166,0,224,3,0,0,0,205,3,0,0,12,0,0,0,20,0,0,0,1,0,59,0,81,166,0,224,3,0,0,0,208,3,0,0,7,0,0,0,13,0,0,0,1,0,59,0,87,166,0,224,3,0,0,0,210,3,0,0,11,0,0,0,29,0,0,0,1,0,59,0,93,166,0,224,3,0,0,0,215,3,0,0,4,0,0,0,15,0,0,0,1,0,59,0,99,166,0,224,3,0,0,0,217,3,0,0,4,0,0,0,27,0,0,0,1,0,59,0,105,166,0,224,3,0,0,0,219,3,0,0,4,0,0,0,5,0,0,0,1,0,59,0,111,166,0,224,3,0,0,0,221,3,0,0,8,0,0,0,8,0,0,0,1,0,59,0,117,166,0,224,3,0,0,0,222,3,0,0,11,0,0,0,7,0,0,0,1,0,59,0,123,166,0,224,3,0,0,0,192,2,0,0,5,0,0,0,10,0,0,0,1,0,59,0,129,166,0,224,3,0,0,0,227,3,0,0,2,0,0,0,22,0,0,0,1,0,59,0,135,166,0,224,3,0,0,0,231,3,0,0,1,0,0,0,13,0,0,0,1,0,59,0,141,166,0,224,3,0,0,0,236,3,0,0,7,0,0,0,20,0,0,0,1,0,59,0,147,166,0,224,3,0,0,0,244,3,0,0,12,0,0,0,25,0,0,0,1,0,59,0,153,166,0,224,3,0,0,0,249,3,0,0,4,0,0,0,23,0,0,0,1,0,59,0,159,166,0,224,3,0,0,0,253,3,0,0,2,0,0,0,2,0,0,0,1,0,59,0,165,166,0,224,3,0,0,0,0,4,0,0,7,0,0,0,13,0,0,0,1,0,59,0,171,166,0,224,3,0,0,0,4,4,0,0,7,0,0,0,25,0,0,0,1,0,59,0,177,166,0,224,3,0,0,0,13,4,0,0,4,0,0,0,21,0,0,0,1,0,59,0,183,166,0,224,3,0,0,0,16,4,0,0,11,0,0,0,10,0,0,0,1,0,59,0,189,166,0,224,3,0,0,0,196,2,0,0,1,0,0,0,11,0,0,0,1,0,59,0,195,166,0,224,3,0,0,0,20,4,0,0,11,0,0,0,24,0,0,0,1,0,59,0,201,166,0,224,3,0,0,0,22,4,0,0,4,0,0,0,14,0,0,0,1,0,59,0,207,166,0,224,3,0,0,0,29,4,0,0,1,0,0,0,11,0,0,0,1,0,59,0,213,166,0,224,3,0,0,0,34,4,0,0,8,0,0,0,29,0,0,0,1,0,59,0,219,166,0,224,3,0,0,0,41,4,0,0,8,0,0,0,2,0,0,0,1,0,59,0,225,166,0,224,3,0,0,0,45,4,0,0,4,0,0,0,13,0,0,0,1,0,59,0,231,166,0,224,3,0,0,0,50,4,0,0,8,0,0,0,23,0,0,0,1,0,59,0,237,166,0,224,3,0,0,0,53,4,0,0,11,0,0,0,17,0,0,0,1,0,59,0,243,166,0,224,3,0,0,0,57,4,0,0,2,0,0,0,10,0,0,0,1,0,59,0,249,166,0,224,3,0,0,0,60,4,0,0,2,0,0,0,7,0,0,0,1,0,59,0,255,166,0,224,3,0,0,0,203,2,0,0,9,0,0,0,2,0,0,0,1,0,59,0,5,167,0,224,3,0,0,0,63,4,0,0,4,0,0,0,7,0,0,0,1,0,59,0,11,167,0,224,3,0,0,0,70,4,0,0,12,0,0,0,15,0,0,0,1,0,59,0,17,167,0,224,3,0,0,0,72,4,0,0,12,0,0,0,17,0,0,0,1,0,59,0,23,167,0,224,3,0,0,0,73,4,0,0,11,0,0,0,21,0,0,0,1,0,59,0,29,167,0,224,3,0,0,0,75,4,0,0,8,0,0,0,28,0,0,0,1,0,59,0,35,167,0,224,3,0,0,0,80,4,0,0,2,0,0,0,10,0,0,0,1,0,59,0,41,167,0,224,3,0,0,0,82,4,0,0,4,0,0,0,9,0,0,0,1,0,59,0,47,167,0,224,3,0,0,0,84,4,0,0,8,0,0,0,3,0,0,0,1,0,59,0,53,167,0,224,3,0,0,0,86,4,0,0,7,0,0,0,13,0,0,0,1,0,59,0,59,167,0,224,3,0,0,0,89,4,0,0,7,0,0,0,13,0,0,0,1,0,59,0,65,167,0,224,3,0,0,0,205,2,0,0,11,0,0,0,17,0,0,0,1,0,59,0,71,167,0,224,3,0,0,0,94,4,0,0,4,0,0,0,3,0,0,0,1,0,59,0,77,167,0,224,3,0,0,0,96,4,0,0,4,0,0,0,10,0,0,0,1,0,59,0,83,167,0,224,3,0,0,0,100,4,0,0,4,0,0,0,3,0,0,0,1,0,59,0,89,167,0,224,3,0,0,0,102,4,0,0,1,0,0,0,22,0,0,0,1,0,59,0,95,167,0,224,3,0,0,0,107,4,0,0,1,0,0,0,29,0,0,0,1,0,59,0,101,167,0,224,3,0,0,0,108,4,0,0,8,0,0,0,11,0,0,0,1,0,59,0,107,167,0,224,3,0,0,0,111,4,0,0,4,0,0,0,27,0,0,0,1,0,59,0,113,167,0,224,3,0,0,0,117,4,0,0,7,0,0,0,10,0,0,0,1,0,59,0,119,167,0,224,3,0,0,0,118,4,0,0,4,0,0,0,28,0,0,0,1,0,59,0,125,167,0,224,3,0,0,0,120,4,0,0,2,0,0,0,23,0,0,0,1,0,59,0,131,167,0,224,3,0,0,0,212,2,0,0,2,0,0,0,4,0,0,0,1,0,59,0,137,167,0,224,3,0,0,0,121,4,0,0,7,0,0,0,22,0,0,0,1,0,59,0,143,167,0,224,3,0,0,0,127,4,0,0,1,0,0,0,26,0,0,0,1,0,59,0,149,167,0,224,3,0,0,0,130,4,0,0,10,0,0,0,28,0,0,0,1,0,59,0,155,167,0,224,3,0,0,0,132,4,0,0,4,0,0,0,27,0,0,0,1,0,59,0,161,167,0,224,3,0,0,0,135,4,0,0,4,0,0,0,20,0,0,0,1,0,59,0,167,167,0,224,3,0,0,0,136,4,0,0,1,0,0,0,10,0,0,0,1,0,59,0,173,167,0,224,3,0,0,0,137,4,0,0,9,0,0,0,4,0,0,0,1,0,59,0,179,167,0,224,3,0,0,0,139,4,0,0,3,0,0,0,29,0,0,0,1,0,59,0,185,167,0,224,3,0,0,0,141,4,0,0,6,0,0,0,5,0,0,0,1,0,59,0,191,167,0,224,3,0,0,0,142,4,0,0,8,0,0,0,27,0,0,0,1,0,59,0,197,167,0,224,237,0,70,2,209,19,58,21,224,0,228,0,232,0,236,0,240,0,244,0,248,0,252,0,0,1,4,1,63,21,8,1,12,1,16,1,20,1,24,1,28,1,32,1,36,1,40,1,44,1,68,21,48,1,52,1,56,1,60,1,64,1,68,1,72,1,76,1,80,1,84,1,73,21,88,1,92,1,96,1,100,1,104,1,108,1,112,1,116,1,120,1,124,1,78,21,128,1,132,1,136,1,140,1,144,1,148,1,152,1,156,1,160,1,164,1,83,21,101,15,168,1,172,1,176,1,180,1,184,1,188,1,192,1,196,1,200,1,173,2,204,1,208,1,212,1,216,1,220,1,224,1,228,1,232,1,236,1,240,1,177,2,244,1,248,1,252,1,0,2,4,2,8,2,12,2,16,2,20,2,24,2,181,2,28,2,32,2,36,2,40,2,44,2,48,2,52,2,56,2,60,2,64,2,115,15,68,2,72,2,76,2,80,2,84,2,88,2,92,2,96,2,100,2,104,2,213,19,224,17,108,2,112,2,116,2,120,2,124,2,128,2,132,2,136,2,140,2,144,2,241,19,148,2,152,2,156,2,160,2,164,2,168,2,172,2,176,2,180,2,184,2,197,2,188,2,192,2,196,2,200,2,204,2,208,2,212,2,216,2,220,2,224,2,201,2,228,2,232,2,236,2,240,2,244,2,248,2,252,2,205,2,246,19,213,2,217,2,221,2,225,2,217,19,229,2,229,17,234,17,33,18,0,20,43,18,5,20,53,18,58,18,63,18,221,19,68,18,239,17,244,17,141,1,145,1,15,20,153,1,157,1,161,1,165,1,225,19,98,18,249,17,254,17,3,18,181,1,25,20,108,18,30,20,197,1,201,1,229,19,113,18,209,1,35,20,8,18,13,18,40,20,229,1,45,20,123,18,241,1,233,19,245,1,18,18,23,18,1,2,133,18,55,20,13,2,60,20,65,20,138,18,237,19,28,18,143,18,70,20,41,2,148,18,49,2,53,2,153,18,75,20,65,2,120,20,69,2,73,2,77,2,81,2,85,2,89,2,93,2,97,2,101,2,105,2,65,162,0,32,71,162,0,32,77,162,0,32,83,162,0,32,89,162,0,32,95,162,0,32,101,162,0,32,107,162,0,32,113,162,0,32,119,162,0,32,125,162,0,32,131,162,0,32,137,162,0,32,143,162,0,32,149,162,0,32,155,162,0,32,161,162,0,32,167,162,0,32,173,162,0,32,179,162,0,32,185,162,0,32,191,162,0,32,197,162,0,32,203,162,0,32,209,162,0,32,215,162,0,32,221,162,0,32,227,162,0,32,233,162,0,32,239,162,0,32,245,162,0,32,251,162,0,32,1,163,0,32,7,163,0,32,13,163,0,32,19,163,0,32,25,163,0,32,31,163,0,32,37,163,0,32,43,163,0,32,49,163,0,32,55,163,0,32,61,163,0,32,67,163,0,32,73,163,0,32,79,163,0,32,85,163,0,32,91,163,0,32,97,163,0,32,103,163,0,32,109,163,0,32,115,163,0,32,121,163,0,32,127,163,0,32,133,163,0,32,139,163,0,32,145,163,0,32,151,163,0,32,157,163,0,32,163,163,0,32,169,163,0,32,175,163,0,32,181,163,0,32,187,163,0,32,193,163,0,32,199,163,0,32,205,163,0,32,211,163,0,32,217,163,0,32,223,163,0,32,229,163,0,32,235,163,0,32,241,163,0,32,247,163,0,32,253,163,0,32,3,164,0,32,9,164,0,32,15,164,0,32,21,164,0,32,27,164,0,32,33,164,0,32,39,164,0,32,45,164,0,32,51,164,0,32,57,164,0,32,63,164,0,32,69,164,0,32,75,164,0,32,81,164,0,32,87,164,0,32,93,164,0,32,99,164,0,32,105,164,0,32,111,164,0,32,117,164,0,32,123,164,0,32,129,164,0,32,135,164,0,32,141,164,0,32,147,164,0,32,153,164,0,32,159,164,0,32,165,164,0,32,171,164,0,32,177,164,0,32,183,164,0,32,189,164,0,32,195,164,0,32,201,164,0,32,207,164,0,32,213,164,0,32,219,164,0,32,225,164,0,32,231,164,0,32,237,164,0,32,243,164,0,32,249,164,0,32,255,164,0,32,5,165,0,32,11,165,0,32,17,165,0,32,23,165,0,32,29,165,0,32,35,165,0,32,41,165,0,32,47,165,0,32,53,165,0,32,59,165,0,32,65,165,0,32,71,165,0,32,77,165,0,32,83,165,0,32,89,165,0,32,95,165,0,32,101,165,0,32,107,165,0,32,113,165,0,32,119,165,0,32,125,165,0,32,131,165,0,32,137,165,0,32,143,165,0,32,149,165,0,32,155,165,0,32,161,165,0,32,167,165,0,32,173,165,0,32,179,165,0,32,185,165,0,32,191,165,0,32,197,165,0,32,203,165,0,32,209,165,0,32,215,165,0,32,221,165,0,32,227,165,0,32,233,165,0,32,239,165,0,32,245,165,0,32,251,165,0,32,1,166,0,32,7,166,0,32,13,166,0,32,19,166,0,32,25,166,0,32,31,166,0,32,37,166,0,32,43,166,0,32,49,166,0,32,55,166,0,32,61,166,0,32,67,166,0,32,73,166,0,32,79,166,0,32,85,166,0,32,91,166,0,32,97,166,0,32,103,166,0,32,109,166,0,32,115,166,0,32,121,166,0,32,127,166,0,32,133,166,0,32,139,166,0,32,145,166,0,32,151,166,0,32,157,166,0,32,163,166,0,32,169,166,0,32,175,166,0,32,181,166,0,32,187,166,0,32,193,166,0,32,199,166,0,32,205,166,0,32,211,166,0,32,217,166,0,32,223,166,0,32,229,166,0,32,235,166,0,32,241,166,0,32,247,166,0,32,253,166,0,32,3,167,0,32,9,167,0,32,15,167,0,32,21,167,0,32,27,167,0,32,33,167,0,32,39,167,0,32,45,167,0,32,51,167,0,32,57,167,0,32,63,167,0,32,69,167,0,32,75,167,0,32,81,167,0,32,87,167,0,32,93,167,0,32,99,167,0,32,105,167,0,32,111,167,0,32,117,167,0,32,123,167,0,32,129,167,0,32,135,167,0,32,141,167,0,32,147,167,0,32,153,167,0,32,159,167,0,32,165,167,0,32,171,167,0,32,177,167,0,32,183,167,0,32,189,167,0,32,195,167,0,32,201,167,0,32,2,0,54,0,65,0,170,170,203,167,0,32,68,205,0,96,3,0,0,0,110,2,0,0,1,0,0,0,1,0,0,0,1,0,59,0,51,169,0,224,1,0,70,2,55,169,0,32,2,0,54,0,65,0,170,170,57,169,0,32,68,205,0,96,3,0,0,0,119,7,0,0,12,0,0,0,31,0,0,0,1,0,87,0,63,169,0,224,3,0,0,0,120,7,0,0,1,0,0,0,1,0,0,0,1,0,59,0,69,169,0,224,2,0,70,2,209,19,170,170,67,169,0,32,73,169,0,32,1,0,54,0,75,169,0,32,17,0,45,0,72,0,80,0,91,0,97,0,106,0,126,0,136,0,143,0,150,0,158,0,172,0,185,0,198,0,215,0,0,3,8,3,137,161,0,32,149,161,0,32,169,161,0,32,181,161,0,32,201,161,0,32,213,161,0,32,231,161,0,32,243,161,0,32,255,161,0,32,9,162,0,32,21,162,0,32,33,162,0,32,45,162,0,32,57,162,0,32,47,169,0,32,59,169,0,32,79,169,0,32,52,0,12,24,35,3,38,3,41,3,44,3,47,3,50,3,53,3,56,3,59,3,62,3,65,3,68,3,71,3,74,3,143,15,77,3,80,3,73,24,83,3,86,3,89,3,92,3,95,3,98,3,101,3,104,3,107,3,110,3,113,3,116,3,119,3,122,3,125,3,128,3,131,3,134,3,137,3,140,3,143,3,146,3,149,3,152,3,155,3,158,3,161,3,164,3,167,3,188,24,170,3,173,3,176,3,170,170,22,221,0,144,24,221,0,144,30,221,0,144,36,221,0,144,40,221,0,144,44,221,0,144,49,221,0,144,55,221,0,144,58,221,0,144,61,221,0,144,66,221,0,144,71,221,0,144,77,221,0,144,82,221,0,144,87,221,0,144,90,221,0,144,93,221,0,144,98,221,0,144,104,221,0,144,107,221,0,144,112,221,0,144,118,221,0,144,123,221,0,144,126,221,0,144,131,221,0,144,134,221,0,144,140,221,0,144,145,221,0,144,150,221,0,144,155,221,0,144,158,221,0,144,163,221,0,144,167,221,0,144,172,221,0,144,177,221,0,144,182,221,0,144,187,221,0,144,192,221,0,144,198,221,0,144,203,221,0,144,208,221,0,144,211,221,0,144,216,221,0,144,221,221,0,144,224,221,0,144,228,221,0,144,232,221,0,144,237,221,0,144,241,221,0,144,245,221,0,144,249,221,0,144,253,221,0,144,47,1,0,0,2,222,0,144,6,222,0,144,10,222,0,144,14,222,0,144,18,222,0,144,22,222,0,144,26,222,0,144,30,222,0,144,34,222,0,144,38,222,0,144,42,222,0,144,46,222,0,144,50,222,0,144,54,222,0,144,58,222,0,144,62,222,0,144,66,222,0,144,70,222,0,144,74,222,0,144,78,222,0,144,82,222,0,144,86,222,0,144,90,222,0,144,94,222,0,144,98,222,0,144,102,222,0,144,106,222,0,144,110,222,0,144,114,222,0,144,118,222,0,144,122,222,0,144,126,222,0,144,130,222,0,144,134,222,0,144,138,222,0,144,142,222,0,144,146,222,0,144,150,222,0,144,154,222,0,144,158,222,0,144,162,222,0,144,166,222,0,144,170,222,0,144,174,222,0,144,178,222,0,144,182,222,0,144,186,222,0,144,190,222,0,144,194,222,0,144,198,222,0,144,202,222,0,144,206,222,0,144,210,222,0,144,214,222,0,144,218,222,0,144,222,222,0,144,226,222,0,144,230,222,0,144,234,222,0,144,238,222,0,144,242,222,0,144,246,222,0,144,250,222,0,144,254,222,0,144,2,223,0,144,6,223,0,144,10,223,0,144,14,223,0,144,18,223,0,144,22,223,0,144,26,223,0,144,30,223,0,144,34,223,0,144,38,223,0,144,42,223,0,144,46,223,0,144,50,223,0,144,54,223,0,144,58,223,0,144,62,223,0,144,66,223,0,144,70,223,0,144,74,223,0,144,78,223,0,144,82,223,0,144,86,223,0,144,90,223,0,144,94,223,0,144,98,223,0,144,102,223,0,144,106,223,0,144,110,223,0,144,114,223,0,144,118,223,0,144,122,223,0,144,126,223,0,144,130,223,0,144,134,223,0,144,138,223,0,144,142,223,0,144,146,223,0,144,150,223,0,144,154,223,0,144,158,223,0,144,162,223,0,144,166,223,0,144,170,223,0,144,174,223,0,144,178,223,0,144,182,223,0,144,186,223,0,144,190,223,0,144,194,223,0,144,198,223,0,144,202,223,0,144,206,223,0,144,210,223,0,144,214,223,0,144,218,223,0,144,222,223,0,144,226,223,0,144,230,223,0,144,234,223,0,144,238,223,0,144,242,223,0,144,246,223,0,144,250,223,0,144,254,223,0,144,2,224,0,144,6,224,0,144,10,224,0,144,14,224,0,144,18,224,0,144,22,224,0,144,26,224,0,144,30,224,0,144,34,224,0,144,38,224,0,144,42,224,0,144,46,224,0,144,50,224,0,144,54,224,0,144,58,224,0,144,62,224,0,144,66,224,0,144,70,224,0,144,74,224,0,144,78,224,0,144,82,224,0,144,86,224,0,144,90,224,0,144,94,224,0,144,98,224,0,144,102,224,0,144,106,224,0,144,110,224,0,144,114,224,0,144,118,224,0,144,122,224,0,144,126,224,0,144,130,224,0,144,134,224,0,144,138,224,0,144,142,224,0,144,146,224,0,144,150,224,0,144,154,224,0,144,158,224,0,144,162,224,0,144,166,224,0,144,170,224,0,144,174,224,0,144,178,224,0,144,182,224,0,144,186,224,0,144,190,224,0,144,194,224,0,144,198,224,0,144,202,224,0,144,206,224,0,144,210,224,0,144,214,224,0,144,218,224,0,144,222,224,0,144,226,224,0,144,230,224,0,144,234,224,0,144,238,224,0,144,242,224,0,144,246,224,0,144,250,224,0,144,254,224,0,144,2,225,0,144,6,225,0,144,10,225,0,144,14,225,0,144,18,225,0,144,22,225,0,144,26,225,0,144,30,225,0,144,34,225,0,144,38,225,0,144,42,225,0,144,46,225,0,144,50,225,0,144,54,225,0,144,58,225,0,144,62,225,0,144,66,225,0,144,70,225,0,144,74,225,0,144,78,225,0,144,82,225,0,144,86,225,0,144,90,225,0,144,94,225,0,144,98,225,0,144,102,225,0,144,106,225,0,144,110,225,0,144,114,225,0,144,118,225,0,144,122,225,0,144,126,225,0,144,130,225,0,144,134,225,0,144,138,225,0,144,142,225,0,144,146,225,0,144,150,225,0,144,154,225,0,144,158,225,0,144,162,225,0,144,166,225,0,144,170,225,0,144,174,225,0,144,178,225,0,144,182,225,0,144,186,225,0,144,190,225,0,144,194,225,0,144,198,225,0,144,202,225,0,144,206,225,0,144,210,225,0,144,214,225,0,144,218,225,0,144,222,225,0,144,226,225,0,144,230,225,0,144,234,225,0,144,238,225,0,144,242,225,0,144,246,225,0,144,250,225,0,144,254,225,0,144,2,226,0,144,6,226,0,144,10,226,0,144,14,226,0,144,18,226,0,144,22,226,0,144,26,226,0,144,30,226,0,144,34,226,0,144,38,226,0,144,42,226,0,144,46,226,0,144,50,226,0,144,54,226,0,144,58,226,0,144,62,226,0,144,66,226,0,144,70,226,0,144,74,226,0,144,78,226,0,144,82,226,0,144,86,226,0,144,90,226,0,144,94,226,0,144,98,226,0,144,102,226,0,144,106,226,0,144,110,226,0,144,114,226,0,144,118,226,0,144,122,226,0,144,126,226,0,144,130,226,0,144,134,226,0,144,138,226,0,144,142,226,0,144,146,226,0,144,150,226,0,144,154,226,0,144,158,226,0,144,162,226,0,144,166,226,0,144,170,226,0,144,174,226,0,144,178,226,0,144,182,226,0,144,186,226,0,144,183,0,0,0,190,226,0,144,193,226,0,144,196,226,0,144,199,226,0,144,202,226,0,144,205,226,0,144,208,226,0,144,211,226,0,144,214,226,0,144,217,226,0,144,220,226,0,144,223,226,0,144,226,226,0,144,229,226,0,144,232,226,0,144,235,226,0,144,238,226,0,144,241,226,0,144,244,226,0,144,247,226,0,144,250,226,0,144,253,226,0,144,0,227,0,144,3,227,0,144,6,227,0,144,9,227,0,144,12,227,0,144,15,227,0,144,18,227,0,144,21,227,0,144,24,227,0,144,27,227,0,144,30,227,0,144,33,227,0,144,36,227,0,144,39,227,0,144,42,227,0,144,45,227,0,144,48,227,0,144,51,227,0,144,54,227,0,144,57,227,0,144,60,227,0,144,63,227,0,144,66,227,0,144,69,227,0,144,72,227,0,144,75,227,0,144,78,227,0,144,81,227,0,144,84,227,0,144,87,227,0,144,90,227,0,144,93,227,0,144,96,227,0,144,99,227,0,144,102,227,0,144,105,227,0,144,108,227,0,144,111,227,0,144,114,227,0,144,117,227,0,144,120,227,0,144,123,227,0,144,126,227,0,144,129,227,0,144,132,227,0,144,135,227,0,144,138,227,0,144,141,227,0,144,144,227,0,144,147,227,0,144,150,227,0,144,153,227,0,144,156,227,0,144,159,227,0,144,162,227,0,144,165,227,0,144,168,227,0,144,171,227,0,144,174,227,0,144,177,227,0,144,180,227,0,144,183,227,0,144,186,227,0,144,189,227,0,144,192,227,0,144,195,227,0,144,198,227,0,144,201,227,0,144,204,227,0,144,207,227,0,144,210,227,0,144,213,227,0,144,216,227,0,144,219,227,0,144,222,227,0,144,225,227,0,144,228,227,0,144,231,227,0,144,234,227,0,144,237,227,0,144,240,227,0,144,243,227,0,144,246,227,0,144,249,227,0,144,252,227,0,144,255,227,0,144,2,228,0,144,5,228,0,144,8,228,0,144,11,228,0,144,14,228,0,144,17,228,0,144,20,228,0,144,23,228,0,144,26,228,0,144,29,228,0,144,32,228,0,144,35,228,0,144,38,228,0,144,41,228,0,144,44,228,0,144,47,228,0,144,50,228,0,144,53,228,0,144,56,228,0,144,59,228,0,144,62,228,0,144,65,228,0,144,68,228,0,144,71,228,0,144,74,228,0,144,77,228,0,144,80,228,0,144,83,228,0,144,86,228,0,144,89,228,0,144,92,228,0,144,95,228,0,144,98,228,0,144,101,228,0,144,104,228,0,144,107,228,0,144,110,228,0,144,113,228,0,144,116,228,0,144,119,228,0,144,122,228,0,144,125,228,0,144,128,228,0,144,131,228,0,144,134,228,0,144,137,228,0,144,140,228,0,144,143,228,0,144,146,228,0,144,149,228,0,144,152,228,0,144,155,228,0,144,158,228,0,144,161,228,0,144,164,228,0,144,167,228,0,144,170,228,0,144,173,228,0,144,176,228,0,144,179,228,0,144,182,228,0,144,185,228,0,144,188,228,0,144,191,228,0,144,194,228,0,144,197,228,0,144,200,228,0,144,203,228,0,144,206,228,0,144,209,228,0,144,212,228,0,144,215,228,0,144,218,228,0,144,221,228,0,144,224,228,0,144,3,0,245,3,0,4,8,4,227,228,0,144,111,229,0,144,95,2,0,96,6,0,245,3,25,4,0,4,37,4,46,4,8,4,170,170,12,230,0,144,31,231,0,144,47,231,0,144,89,241,0,144,96,241,0,144,164,205,0,96,7,0,245,3,54,4,25,4,0,4,37,4,46,4,8,4,100,241,0,144,113,241,0,144,138,241,0,144,141,241,0,144,6,242,0,144,81,72,0,96,224,2,0,96,6,0,245,3,25,4,0,4,37,4,46,4,8,4,170,170,1,72,0,96,11,242,0,144,14,242,0,144,179,242,0,144,183,242,0,144,136,72,0,96,3,0,245,3,0,4,8,4,193,242,0,144,244,243,0,144,216,255,0,144,2,0,245,3,0,4,170,170,217,0,1,144,228,0,1,144,2,0,245,3,0,4,170,170,164,1,1,144,168,1,1,144,7,0,236,3,16,4,59,4,66,4,73,4,85,4,157,24,162,171,0,32,167,171,0,32,177,171,0,32,188,171,0,32,198,171,0,32,203,171,0,32,207,171,0,32,1,0,129,4,19,2,1,144,2,0,103,4,119,4,170,170,16,2,1,80,222,171,0,32,2,0,103,4,119,4,170,170,22,2,1,80,25,2,1,80,1,0,103,4,28,2,1,80,2,0,103,4,119,4,170,170,31,2,1,80,34,2,1,80,2,0,103,4,119,4,170,170,37,2,1,80,40,2,1,80,2,0,103,4,119,4,170,170,43,2,1,80,46,2,1,80,1,0,103,4,49,2,1,80,2,0,103,4,119,4,170,170,52,2,1,80,55,2,1,80,1,0,119,4,58,2,1,80,2,0,103,4,119,4,170,170,61,2,1,80,64,2,1,80,1,0,129,4,70,2,1,144,2,0,103,4,119,4,170,170,67,2,1,80,2,172,0,32,1,0,103,4,73,2,1,80,2,0,103,4,119,4,170,170,76,2,1,80,79,2,1,80,1,0,111,4,82,2,1,144,1,0,119,4,14,172,0,32,2,0,103,4,119,4,170,170,85,2,1,80,88,2,1,80,1,0,119,4,91,2,1,80,1,0,103,4,94,2,1,80,1,0,103,4,97,2,1,80,2,0,103,4,119,4,170,170,100,2,1,80,103,2,1,80,1,0,103,4,106,2,1,80,1,0,103,4,109,2,1,80,1,0,103,4,114,2,1,80,1,0,103,4,117,2,1,80,1,0,119,4,120,2,1,80,1,0,103,4,123,2,1,80,1,0,103,4,126,2,1,80,1,0,103,4,129,2,1,80,2,0,111,4,129,4,170,170,210,195,0,96,132,2,1,144,2,0,111,4,129,4,170,170,74,39,0,96,159,2,1,144,2,0,103,4,119,4,170,170,48,172,0,32,52,172,0,32,1,0,111,4,162,2,1,144,1,0,119,4,60,172,0,32,1,0,103,4,166,2,1,80,1,0,103,4,169,2,1,80,1,0,103,4,172,2,1,80,2,0,103,4,119,4,170,170,175,2,1,80,178,2,1,80,2,0,103,4,119,4,170,170,181,2,1,80,184,2,1,80,1,0,119,4,187,2,1,80,2,0,103,4,119,4,170,170,190,2,1,80,193,2,1,80,2,0,103,4,119,4,170,170,196,2,1,80,199,2,1,80,2,0,103,4,119,4,170,170,202,2,1,80,205,2,1,80,1,0,103,4,208,2,1,80,2,0,103,4,119,4,170,170,211,2,1,80,214,2,1,80,1,0,103,4,217,2,1,80,2,0,103,4,119,4,170,170,220,2,1,80,223,2,1,80,1,0,119,4,226,2,1,80,2,0,103,4,119,4,170,170,229,2,1,80,232,2,1,80,1,0,103,4,235,2,1,80,2,0,111,4,129,4,170,170,240,2,1,144,188,1,0,96,1,0,129,4,244,2,1,144,2,0,103,4,119,4,170,170,112,172,0,32,116,172,0,32,2,0,103,4,119,4,170,170,248,2,1,80,251,2,1,80,2,0,111,4,129,4,170,170,194,195,0,96,1,3,1,144,2,0,103,4,119,4,170,170,254,2,1,80,126,172,0,32,2,0,103,4,119,4,170,170,4,3,1,80,7,3,1,80,1,0,103,4,12,3,1,80,1,0,129,4,18,3,1,144,2,0,103,4,119,4,170,170,15,3,1,80,140,172,0,32,1,0,103,4,21,3,1,80,1,0,103,4,24,3,1,80,2,0,103,4,119,4,170,170,27,3,1,80,30,3,1,80,1,0,103,4,35,3,1,80,2,0,103,4,119,4,170,170,38,3,1,80,41,3,1,80,1,0,103,4,44,3,1,80,2,0,103,4,119,4,170,170,49,3,1,80,52,3,1,80,2,0,103,4,119,4,170,170,55,3,1,80,58,3,1,80,2,0,103,4,119,4,170,170,61,3,1,80,64,3,1,80,1,0,103,4,67,3,1,80,1,0,103,4,70,3,1,80,1,0,103,4,73,3,1,80,2,0,103,4,119,4,170,170,76,3,1,80,79,3,1,80,1,0,103,4,82,3,1,80,1,0,103,4,85,3,1,80,2,0,103,4,119,4,170,170,90,3,1,80,93,3,1,80,2,0,103,4,119,4,170,170,96,3,1,80,99,3,1,80,1,0,103,4,102,3,1,80,2,0,103,4,119,4,170,170,105,3,1,80,108,3,1,80,2,0,103,4,119,4,170,170,111,3,1,80,114,3,1,80,1,0,129,4,120,3,1,144,2,0,103,4,119,4,170,170,117,3,1,80,206,172,0,32,1,0,103,4,124,3,1,80,2,0,103,4,119,4,170,170,129,3,1,80,132,3,1,80,2,0,103,4,119,4,170,170,135,3,1,80,138,3,1,80,2,0,103,4,119,4,170,170,141,3,1,80,144,3,1,80,2,0,103,4,119,4,170,170,147,3,1,80,150,3,1,80,1,0,119,4,153,3,1,80,1,0,103,4,156,3,1,80,2,0,103,4,119,4,170,170,159,3,1,80,162,3,1,80,1,0,103,4,165,3,1,80,1,0,103,4,168,3,1,80,1,0,111,4,171,3,1,144,2,0,103,4,119,4,170,170,242,172,0,32,174,3,1,80,1,0,103,4,177,3,1,80,2,0,103,4,119,4,170,170,180,3,1,80,185,3,1,80,2,0,103,4,119,4,170,170,188,3,1,80,191,3,1,80,1,0,103,4,194,3,1,80,2,0,103,4,119,4,170,170,197,3,1,80,200,3,1,80,1,0,103,4,203,3,1,80,1,0,103,4,206,3,1,80,1,0,103,4,209,3,1,80,2,0,103,4,119,4,170,170,212,3,1,80,215,3,1,80,2,0,103,4,119,4,170,170,220,3,1,80,223,3,1,80,2,0,111,4,129,4,170,170,226,3,1,144,164,1,0,96,1,0,103,4,22,173,0,32,1,0,119,4,229,3,1,80,1,0,103,4,232,3,1,80,1,0,103,4,235,3,1,80,1,0,103,4,238,3,1,80,1,0,103,4,241,3,1,80,2,0,103,4,119,4,170,170,244,3,1,80,247,3,1,80,2,0,103,4,119,4,170,170,250,3,1,80,253,3,1,80,2,0,103,4,119,4,170,170,2,4,1,80,5,4,1,80,1,0,103,4,8,4,1,80,1,0,103,4,11,4,1,80,1,0,103,4,14,4,1,80,1,0,103,4,17,4,1,80,1,0,103,4,20,4,1,80,2,0,103,4,119,4,170,170,23,4,1,80,28,4,1,80,1,0,103,4,31,4,1,80,1,0,103,4,34,4,1,80,1,0,103,4,37,4,1,80,1,0,103,4,40,4,1,80,1,0,111,4,43,4,1,144,1,0,103,4,72,173,0,32,2,0,103,4,119,4,170,170,46,4,1,80,49,4,1,80,2,0,103,4,119,4,170,170,52,4,1,80,55,4,1,80,2,0,103,4,119,4,170,170,58,4,1,80,61,4,1,80,1,0,103,4,64,4,1,80,2,0,103,4,119,4,170,170,69,4,1,80,72,4,1,80,1,0,103,4,75,4,1,80,1,0,119,4,78,4,1,80,1,0,103,4,81,4,1,80,2,0,103,4,119,4,170,170,84,4,1,80,87,4,1,80,1,0,103,4,92,4,1,80,1,0,103,4,95,4,1,80,1,0,103,4,98,4,1,80,2,0,103,4,119,4,170,170,101,4,1,80,104,4,1,80,2,0,103,4,119,4,170,170,107,4,1,80,110,4,1,80,1,0,103,4,113,4,1,80,1,0,129,4,119,4,1,144,2,0,103,4,119,4,170,170,116,4,1,80,120,173,0,32,1,0,103,4,122,4,1,80,1,0,103,4,125,4,1,80,1,0,103,4,128,4,1,80,1,0,111,4,131,4,1,144,1,0,119,4,132,173,0,32,1,0,103,4,135,4,1,80,1,0,111,4,138,4,1,144,2,0,103,4,119,4,170,170,138,173,0,32,141,4,1,80,1,0,103,4,144,4,1,80,1,0,103,4,147,4,1,80,2,0,103,4,119,4,170,170,150,4,1,80,153,4,1,80,1,0,103,4,156,4,1,80,2,0,103,4,119,4,170,170,159,4,1,80,162,4,1,80,1,0,103,4,165,4,1,80,2,0,103,4,119,4,170,170,168,4,1,80,171,4,1,80,2,0,103,4,119,4,170,170,174,4,1,80,179,4,1,80,1,0,119,4,182,4,1,80,1,0,103,4,187,4,1,80,1,0,103,4,190,4,1,80,1,0,119,4,193,4,1,80,2,0,103,4,119,4,170,170,196,4,1,80,199,4,1,80,2,0,103,4,119,4,170,170,202,4,1,80,205,4,1,80,2,0,103,4,119,4,170,170,208,4,1,80,213,4,1,80,1,0,103,4,216,4,1,80,1,0,103,4,219,4,1,80,1,0,103,4,222,4,1,80,2,0,103,4,119,4,170,170,225,4,1,80,228,4,1,80,2,0,111,4,129,4,170,170,194,195,0,96,231,4,1,144,2,0,111,4,129,4,170,170,94,39,0,96,238,4,1,144,2,0,103,4,119,4,170,170,198,173,0,32,202,173,0,32,1,0,103,4,252,4,1,80,2,0,103,4,119,4,170,170,255,4,1,80,2,5,1,80,2,0,103,4,119,4,170,170,7,5,1,80,10,5,1,80,1,0,103,4,13,5,1,80,2,0,103,4,119,4,170,170,16,5,1,80,19,5,1,80,1,0,103,4,22,5,1,80,2,0,103,4,119,4,170,170,25,5,1,80,28,5,1,80,2,0,111,4,129,4,170,170,34,5,1,144,121,105,0,96,2,0,103,4,119,4,170,170,31,5,1,80,232,173,0,32,1,0,103,4,37,5,1,80,1,0,103,4,40,5,1,80,1,0,103,4,43,5,1,80,1,0,103,4,46,5,1,80,1,0,103,4,49,5,1,80,1,0,119,4,52,5,1,80,1,0,103,4,55,5,1,80,2,0,103,4,119,4,170,170,60,5,1,80,63,5,1,80,2,0,103,4,119,4,170,170,68,5,1,80,71,5,1,80,1,0,103,4,74,5,1,80,1,0,103,4,79,5,1,80,1,0,129,4,85,5,1,144,2,0,103,4,119,4,170,170,82,5,1,80,10,174,0,32,2,0,103,4,119,4,170,170,88,5,1,80,91,5,1,80,1,0,103,4,94,5,1,80,1,0,119,4,97,5,1,80,1,0,103,4,100,5,1,80,1,0,103,4,103,5,1,80,2,0,111,4,129,4,170,170,54,39,0,96,106,5,1,144,1,0,103,4,28,174,0,32,2,0,111,4,129,4,170,170,194,195,0,96,109,5,1,144,2,0,111,4,129,4,170,170,199,5,1,144,202,5,1,144,2,0,103,4,119,4,170,170,34,174,0,32,38,174,0,32,1,0,119,4,253,5,1,80,1,0,103,4,0,6,1,80,2,0,111,4,129,4,170,170,194,195,0,96,3,6,1,144,1,0,129,4,27,6,1,144,2,0,103,4,119,4,170,170,50,174,0,32,54,174,0,32,1,0,103,4,38,6,1,80,1,0,103,4,41,6,1,80,1,0,111,4,46,6,1,144,1,0,119,4,64,174,0,32,2,0,103,4,119,4,170,170,49,6,1,80,52,6,1,80,1,0,103,4,55,6,1,80,1,0,103,4,58,6,1,80,1,0,103,4,61,6,1,80,2,0,111,4,129,4,170,170,210,195,0,96,64,6,1,144,2,0,103,4,119,4,170,170,78,174,0,32,67,6,1,80,2,0,103,4,119,4,170,170,70,6,1,80,73,6,1,80,1,0,119,4,76,6,1,80,2,0,111,4,129,4,170,170,210,196,0,96,82,6,1,144,2,0,103,4,119,4,170,170,79,6,1,80,92,174,0,32,2,0,103,4,119,4,170,170,85,6,1,80,88,6,1,80,1,0,129,4,96,6,1,144,2,0,103,4,119,4,170,170,91,6,1,80,104,174,0,32,1,0,103,4,99,6,1,80,2,0,103,4,119,4,170,170,102,6,1,80,107,6,1,80,1,0,103,4,112,6,1,80,1,0,103,4,115,6,1,80,1,0,103,4,120,6,1,80,2,0,103,4,119,4,170,170,125,6,1,80,128,6,1,80,2,0,111,4,129,4,170,170,194,195,0,96,131,6,1,144,2,0,111,4,129,4,170,170,134,44,0,96,177,6,1,144,2,0,103,4,119,4,170,170,126,174,0,32,130,174,0,32,1,0,103,4,186,6,1,80,1,0,119,4,189,6,1,80,1,0,119,4,192,6,1,80,1,0,103,4,195,6,1,80,2,0,103,4,119,4,170,170,198,6,1,80,201,6,1,80,1,0,103,4,204,6,1,80,2,0,103,4,119,4,170,170,207,6,1,80,210,6,1,80,2,0,103,4,119,4,170,170,213,6,1,80,216,6,1,80,1,0,103,4,219,6,1,80,2,0,103,4,119,4,170,170,222,6,1,80,225,6,1,80,2,0,103,4,119,4,170,170,228,6,1,80,231,6,1,80,2,0,103,4,119,4,170,170,234,6,1,80,237,6,1,80,2,0,103,4,119,4,170,170,240,6,1,80,245,6,1,80,2,0,103,4,119,4,170,170,248,6,1,80,251,6,1,80,2,0,103,4,119,4,170,170,254,6,1,80,1,7,1,80,2,0,103,4,119,4,170,170,4,7,1,80,7,7,1,80,1,0,103,4,10,7,1,80,1,0,103,4,13,7,1,80,2,0,103,4,119,4,170,170,16,7,1,80,19,7,1,80,1,0,103,4,22,7,1,80,2,0,103,4,119,4,170,170,25,7,1,80,28,7,1,80,2,0,103,4,119,4,170,170,31,7,1,80,34,7,1,80,1,0,119,4,37,7,1,80,1,0,103,4,40,7,1,80,1,0,103,4,45,7,1,80,1,0,103,4,48,7,1,80,2,0,103,4,119,4,170,170,51,7,1,80,54,7,1,80,1,0,103,4,57,7,1,80,2,0,103,4,119,4,170,170,60,7,1,80,63,7,1,80,1,0,119,4,66,7,1,80,1,0,103,4,69,7,1,80,1,0,119,4,74,7,1,80,2,0,103,4,119,4,170,170,77,7,1,80,80,7,1,80,1,0,111,4,83,7,1,144,2,0,103,4,119,4,170,170,236,174,0,32,86,7,1,80,2,0,103,4,119,4,170,170,89,7,1,80,92,7,1,80,1,0,103,4,95,7,1,80,1,0,119,4,98,7,1,80,1,0,103,4,101,7,1,80,1,0,111,4,104,7,1,144,1,0,119,4,252,174,0,32,1,0,103,4,108,7,1,80,2,0,111,4,129,4,170,170,194,195,0,96,111,7,1,144,2,0,103,4,119,4,170,170,2,175,0,32,114,7,1,80,1,0,129,4,120,7,1,144,2,0,103,4,119,4,170,170,117,7,1,80,10,175,0,32,1,0,103,4,123,7,1,80,1,0,103,4,126,7,1,80,2,0,103,4,119,4,170,170,129,7,1,80,132,7,1,80,2,0,103,4,119,4,170,170,135,7,1,80,138,7,1,80,1,0,103,4,141,7,1,80,1,0,103,4,146,7,1,80,2,0,103,4,119,4,170,170,149,7,1,80,152,7,1,80,1,0,111,4,155,7,1,144,1,0,129,4,158,7,1,144,2,0,103,4,119,4,170,170,36,175,0,32,38,175,0,32,1,0,103,4,161,7,1,80,2,0,103,4,119,4,170,170,164,7,1,80,167,7,1,80,2,0,103,4,119,4,170,170,170,7,1,80,173,7,1,80,2,0,103,4,119,4,170,170,176,7,1,80,179,7,1,80,1,0,103,4,182,7,1,80,2,0,111,4,129,4,170,170,192,7,1,144,195,7,1,144,2,0,103,4,119,4,170,170,187,7,1,80,60,175,0,32,2,0,111,4,129,4,170,170,199,7,1,144,45,106,0,96,1,0,103,4,68,175,0,32,2,0,103,4,119,4,170,170,202,7,1,80,205,7,1,80,1,0,119,4,208,7,1,80,1,0,103,4,211,7,1,80,2,0,103,4,119,4,170,170,214,7,1,80,217,7,1,80,1,0,103,4,220,7,1,80,2,0,103,4,119,4,170,170,223,7,1,80,226,7,1,80,1,0,103,4,229,7,1,80,2,0,103,4,119,4,170,170,232,7,1,80,235,7,1,80,2,0,103,4,119,4,170,170,238,7,1,80,241,7,1,80,1,0,103,4,244,7,1,80,2,0,103,4,119,4,170,170,249,7,1,80,252,7,1,80,2,0,103,4,119,4,170,170,1,8,1,80,4,8,1,80,1,0,103,4,7,8,1,80,2,0,111,4,129,4,170,170,194,195,0,96,10,8,1,144,1,0,129,4,13,8,1,144,2,0,103,4,119,4,170,170,114,175,0,32,118,175,0,32,1,0,103,4,17,8,1,80,2,0,103,4,119,4,170,170,20,8,1,80,23,8,1,80,1,0,103,4,26,8,1,80,1,0,129,4,36,8,1,144,2,0,103,4,119,4,170,170,31,8,1,80,132,175,0,32,1,0,103,4,40,8,1,80,1,0,103,4,43,8,1,80,2,0,103,4,119,4,170,170,46,8,1,80,51,8,1,80,1,0,103,4,54,8,1,80,1,0,119,4,57,8,1,80,1,0,103,4,60,8,1,80,2,0,103,4,119,4,170,170,63,8,1,80,66,8,1,80,2,0,103,4,119,4,170,170,69,8,1,80,74,8,1,80,1,0,103,4,77,8,1,80,2,0,103,4,119,4,170,170,80,8,1,80,83,8,1,80,2,0,103,4,119,4,170,170,86,8,1,80,89,8,1,80,1,0,103,4,94,8,1,80,1,0,103,4,97,8,1,80,2,0,103,4,119,4,170,170,100,8,1,80,103,8,1,80,2,0,111,4,129,4,170,170,109,8,1,144,36,1,0,96,2,0,103,4,119,4,170,170,106,8,1,80,178,175,0,32,1,0,103,4,112,8,1,80,2,0,111,4,129,4,170,170,194,195,0,96,117,8,1,144,1,0,129,4,122,8,1,144,2,0,103,4,119,4,170,170,188,175,0,32,192,175,0,32,1,0,111,4,128,8,1,144,2,0,103,4,119,4,170,170,198,175,0,32,131,8,1,80,1,0,103,4,134,8,1,80,1,0,103,4,137,8,1,80,2,0,103,4,119,4,170,170,142,8,1,80,145,8,1,80,1,0,103,4,148,8,1,80,1,0,103,4,151,8,1,80,1,0,103,4,154,8,1,80,1,0,103,4,157,8,1,80,1,0,103,4,160,8,1,80,1,0,119,4,163,8,1,80,2,0,103,4,119,4,170,170,166,8,1,80,169,8,1,80,1,0,103,4,174,8,1,80,1,0,103,4,179,8,1,80,2,0,103,4,119,4,170,170,182,8,1,80,185,8,1,80,1,0,103,4,188,8,1,80,1,0,103,4,191,8,1,80,2,0,103,4,119,4,170,170,194,8,1,80,197,8,1,80,1,0,103,4,200,8,1,80,2,0,103,4,119,4,170,170,203,8,1,80,206,8,1,80,1,0,103,4,209,8,1,80,1,0,103,4,212,8,1,80,1,0,103,4,215,8,1,80,2,0,103,4,119,4,170,170,218,8,1,80,221,8,1,80,1,0,103,4,224,8,1,80,2,0,103,4,119,4,170,170,227,8,1,80,230,8,1,80,1,0,103,4,233,8,1,80,1,0,103,4,236,8,1,80,2,0,103,4,119,4,170,170,239,8,1,80,242,8,1,80,2,0,103,4,119,4,170,170,245,8,1,80,248,8,1,80,1,0,103,4,251,8,1,80,1,0,103,4,254,8,1,80,2,0,103,4,119,4,170,170,1,9,1,80,4,9,1,80,1,0,103,4,9,9,1,80,2,0,103,4,119,4,170,170,12,9,1,80,15,9,1,80,1,0,103,4,18,9,1,80,1,0,103,4,21,9,1,80,1,0,103,4,24,9,1,80,2,0,103,4,119,4,170,170,27,9,1,80,30,9,1,80,1,0,103,4,33,9,1,80,2,0,103,4,119,4,170,170,36,9,1,80,39,9,1,80,2,0,103,4,119,4,170,170,42,9,1,80,45,9,1,80,1,0,103,4,48,9,1,80,2,0,111,4,129,4,170,170,51,9,1,144,40,0,0,96,2,0,103,4,119,4,170,170,58,176,0,32,54,9,1,80,1,0,103,4,57,9,1,80,2,0,103,4,119,4,170,170,60,9,1,80,65,9,1,80,2,0,103,4,119,4,170,170,68,9,1,80,71,9,1,80,1,0,103,4,74,9,1,80,2,0,103,4,119,4,170,170,79,9,1,80,82,9,1,80,2,0,103,4,119,4,170,170,85,9,1,80,88,9,1,80,1,0,119,4,91,9,1,80,2,0,111,4,129,4,170,170,58,196,0,96,94,9,1,144,1,0,129,4,97,9,1,144,2,0,103,4,119,4,170,170,88,176,0,32,92,176,0,32,2,0,103,4,119,4,170,170,100,9,1,80,103,9,1,80,2,0,103,4,119,4,170,170,106,9,1,80,109,9,1,80,1,0,103,4,112,9,1,80,1,0,103,4,115,9,1,80,1,0,103,4,118,9,1,80,1,0,103,4,121,9,1,80,2,0,103,4,119,4,170,170,124,9,1,80,127,9,1,80,2,0,103,4,119,4,170,170,130,9,1,80,133,9,1,80,1,0,103,4,136,9,1,80,1,0,103,4,139,9,1,80,2,0,103,4,119,4,170,170,142,9,1,80,145,9,1,80,1,0,111,4,148,9,1,144,2,0,103,4,119,4,170,170,130,176,0,32,151,9,1,80,1,0,103,4,154,9,1,80,1,0,103,4,157,9,1,80,1,0,103,4,160,9,1,80,1,0,111,4,163,9,1,144,1,0,129,4,167,9,1,144,2,0,103,4,119,4,170,170,142,176,0,32,144,176,0,32,2,0,103,4,119,4,170,170,170,9,1,80,173,9,1,80,1,0,103,4,176,9,1,80,2,0,103,4,119,4,170,170,179,9,1,80,182,9,1,80,1,0,103,4,187,9,1,80,1,0,103,4,190,9,1,80,1,0,103,4,193,9,1,80,1,0,103,4,196,9,1,80,2,0,103,4,119,4,170,170,199,9,1,80,202,9,1,80,1,0,103,4,205,9,1,80,2,0,111,4,129,4,170,170,208,9,1,144,212,1,0,96,1,0,103,4,174,176,0,32,1,0,103,4,212,9,1,80,1,0,119,4,215,9,1,80,1,0,119,4,220,9,1,80,1,0,103,4,223,9,1,80,1,0,103,4,226,9,1,80,2,0,103,4,119,4,170,170,229,9,1,80,232,9,1,80,2,0,103,4,119,4,170,170,235,9,1,80,238,9,1,80,1,0,103,4,241,9,1,80,1,0,103,4,244,9,1,80,2,0,103,4,119,4,170,170,249,9,1,80,252,9,1,80,1,0,103,4,255,9,1,80,1,0,103,4,2,10,1,80,1,0,103,4,5,10,1,80,2,0,103,4,119,4,170,170,8,10,1,80,11,10,1,80,1,0,111,4,16,10,1,144,1,0,119,4,216,176,0,32,2,0,103,4,119,4,170,170,19,10,1,80,22,10,1,80,1,0,103,4,25,10,1,80,1,0,111,4,28,10,1,144,1,0,103,4,226,176,0,32,1,0,103,4,31,10,1,80,1,0,103,4,34,10,1,80,1,0,103,4,37,10,1,80,1,0,119,4,40,10,1,80,2,0,103,4,119,4,170,170,43,10,1,80,46,10,1,80,1,0,103,4,49,10,1,80,1,0,103,4,52,10,1,80,2,0,103,4,119,4,170,170,55,10,1,80,58,10,1,80,1,0,103,4,61,10,1,80,2,0,103,4,119,4,170,170,64,10,1,80,67,10,1,80,1,0,103,4,70,10,1,80,1,0,103,4,75,10,1,80,2,0,103,4,119,4,170,170,78,10,1,80,81,10,1,80,2,0,103,4,119,4,170,170,84,10,1,80,87,10,1,80,2,0,103,4,119,4,170,170,90,10,1,80,95,10,1,80,1,0,103,4,98,10,1,80,2,0,103,4,119,4,170,170,101,10,1,80,104,10,1,80,2,0,103,4,119,4,170,170,107,10,1,80,110,10,1,80,1,0,119,4,113,10,1,80,1,0,103,4,116,10,1,80,2,0,103,4,119,4,170,170,119,10,1,80,122,10,1,80,1,0,103,4,125,10,1,80,1,0,119,4,128,10,1,80,2,0,103,4,119,4,170,170,131,10,1,80,134,10,1,80,2,0,103,4,119,4,170,170,137,10,1,80,140,10,1,80,1,0,103,4,143,10,1,80,1,0,103,4,148,10,1,80,1,0,119,4,151,10,1,80,1,0,111,4,154,10,1,144,1,0,103,4,52,177,0,32,2,0,103,4,119,4,170,170,157,10,1,80,160,10,1,80,1,0,103,4,163,10,1,80,2,0,103,4,119,4,170,170,166,10,1,80,169,10,1,80,2,0,111,4,129,4,170,170,113,45,0,96,175,10,1,144,2,0,103,4,119,4,170,170,172,10,1,80,66,177,0,32,2,0,103,4,119,4,170,170,178,10,1,80,181,10,1,80,1,0,111,4,186,10,1,144,1,0,129,4,189,10,1,144,2,0,103,4,119,4,170,170,78,177,0,32,80,177,0,32,1,0,103,4,192,10,1,80,1,0,103,4,195,10,1,80,2,0,103,4,119,4,170,170,198,10,1,80,201,10,1,80,2,0,103,4,119,4,170,170,204,10,1,80,207,10,1,80,2,0,103,4,119,4,170,170,210,10,1,80,213,10,1,80,1,0,103,4,216,10,1,80,2,0,103,4,119,4,170,170,219,10,1,80,222,10,1,80,2,0,103,4,119,4,170,170,227,10,1,80,230,10,1,80,1,0,119,4,233,10,1,80,2,0,103,4,119,4,170,170,236,10,1,80,239,10,1,80,2,0,103,4,119,4,170,170,242,10,1,80,245,10,1,80,1,0,119,4,248,10,1,80,1,0,103,4,251,10,1,80,2,0,103,4,119,4,170,170,0,11,1,80,3,11,1,80,1,0,103,4,6,11,1,80,1,0,103,4,9,11,1,80,1,0,103,4,12,11,1,80,1,0,103,4,15,11,1,80,1,0,103,4,20,11,1,80,1,0,103,4,25,11,1,80,2,0,103,4,119,4,170,170,28,11,1,80,31,11,1,80,1,0,103,4,34,11,1,80,2,0,103,4,119,4,170,170,39,11,1,80,42,11,1,80,1,0,103,4,45,11,1,80,2,0,111,4,129,4,170,170,53,11,1,144,52,1,0,96,2,0,103,4,119,4,170,170,48,11,1,80,154,177,0,32,1,0,119,4,56,11,1,80,2,0,103,4,119,4,170,170,59,11,1,80,62,11,1,80,1,0,103,4,67,11,1,80,1,0,103,4,70,11,1,80,1,0,103,4,73,11,1,80,1,0,103,4,76,11,1,80,2,0,103,4,119,4,170,170,79,11,1,80,82,11,1,80,2,0,103,4,119,4,170,170,85,11,1,80,88,11,1,80,1,0,103,4,93,11,1,80,1,0,103,4,96,11,1,80,2,0,103,4,119,4,170,170,99,11,1,80,102,11,1,80,2,0,111,4,129,4,170,170,105,11,1,144,108,11,1,144,1,0,129,4,112,11,1,144,2,0,103,4,119,4,170,170,192,177,0,32,196,177,0,32,1,0,103,4,115,11,1,80,2,0,103,4,119,4,170,170,120,11,1,80,123,11,1,80,1,0,103,4,126,11,1,80,1,0,103,4,129,11,1,80,1,0,103,4,132,11,1,80,1,0,103,4,135,11,1,80,1,0,103,4,138,11,1,80,2,0,103,4,119,4,170,170,141,11,1,80,144,11,1,80,1,0,103,4,147,11,1,80,1,0,103,4,150,11,1,80,1,0,103,4,153,11,1,80,2,0,103,4,119,4,170,170,158,11,1,80,161,11,1,80,2,0,103,4,119,4,170,170,164,11,1,80,167,11,1,80,1,0,119,4,170,11,1,80,2,0,103,4,119,4,170,170,173,11,1,80,176,11,1,80,1,0,103,4,179,11,1,80,2,0,103,4,119,4,170,170,184,11,1,80,187,11,1,80,1,0,103,4,190,11,1,80,1,0,103,4,193,11,1,80,2,0,111,4,129,4,170,170,194,195,0,96,196,11,1,144,1,0,103,4,252,177,0,32,1,0,103,4,199,11,1,80,1,0,103,4,202,11,1,80,2,0,103,4,119,4,170,170,207,11,1,80,210,11,1,80,1,0,129,4,216,11,1,144,2,0,103,4,119,4,170,170,213,11,1,80,10,178,0,32,2,0,103,4,119,4,170,170,219,11,1,80,224,11,1,80,2,0,103,4,119,4,170,170,227,11,1,80,230,11,1,80,2,0,103,4,119,4,170,170,233,11,1,80,236,11,1,80,2,0,103,4,119,4,170,170,239,11,1,80,242,11,1,80,1,0,103,4,245,11,1,80,1,0,103,4,248,11,1,80,1,0,103,4,251,11,1,80,1,0,103,4,254,11,1,80,1,0,103,4,1,12,1,80,1,0,103,4,6,12,1,80,2,0,111,4,129,4,170,170,194,195,0,96,9,12,1,144,2,0,103,4,119,4,170,170,44,178,0,32,17,12,1,80,1,0,103,4,20,12,1,80,1,0,103,4,23,12,1,80,1,0,103,4,28,12,1,80,1,0,103,4,31,12,1,80,2,0,103,4,119,4,170,170,36,12,1,80,39,12,1,80,2,0,103,4,119,4,170,170,42,12,1,80,45,12,1,80,1,0,103,4,48,12,1,80,1,0,119,4,51,12,1,80,1,0,119,4,54,12,1,80,1,0,103,4,57,12,1,80,2,0,103,4,119,4,170,170,60,12,1,80,63,12,1,80,2,0,103,4,119,4,170,170,66,12,1,80,69,12,1,80,2,0,103,4,119,4,170,170,72,12,1,80,75,12,1,80,1,0,103,4,78,12,1,80,1,0,103,4,81,12,1,80,1,0,103,4,84,12,1,80,2,0,103,4,119,4,170,170,87,12,1,80,92,12,1,80,2,0,103,4,119,4,170,170,95,12,1,80,98,12,1,80,2,0,103,4,119,4,170,170,101,12,1,80,104,12,1,80,1,0,103,4,107,12,1,80,1,0,103,4,110,12,1,80,1,0,129,4,116,12,1,144,2,0,103,4,119,4,170,170,113,12,1,80,110,178,0,32,2,0,103,4,119,4,170,170,119,12,1,80,122,12,1,80,1,0,103,4,125,12,1,80,1,0,103,4,128,12,1,80,2,0,103,4,119,4,170,170,131,12,1,80,134,12,1,80,2,0,103,4,119,4,170,170,139,12,1,80,142,12,1,80,2,0,103,4,119,4,170,170,145,12,1,80,148,12,1,80,2,0,103,4,119,4,170,170,151,12,1,80,154,12,1,80,1,0,111,4,157,12,1,144,1,0,119,4,140,178,0,32,1,0,119,4,160,12,1,80,1,0,111,4,163,12,1,144,1,0,129,4,166,12,1,144,2,0,103,4,119,4,170,170,146,178,0,32,148,178,0,32,2,0,103,4,119,4,170,170,170,12,1,80,173,12,1,80,1,0,111,4,176,12,1,144,1,0,119,4,158,178,0,32,2,0,103,4,119,4,170,170,179,12,1,80,182,12,1,80,2,0,111,4,129,4,170,170,194,195,0,96,185,12,1,144,2,0,103,4,119,4,170,170,166,178,0,32,188,12,1,80,1,0,103,4,191,12,1,80,1,0,103,4,196,12,1,80,2,0,103,4,119,4,170,170,199,12,1,80,202,12,1,80,1,0,103,4,205,12,1,80,1,0,103,4,208,12,1,80,1,0,119,4,211,12,1,80,1,0,103,4,214,12,1,80,1,0,119,4,217,12,1,80,1,0,111,4,220,12,1,144,1,0,119,4,192,178,0,32,2,0,103,4,119,4,170,170,224,12,1,80,227,12,1,80,1,0,103,4,230,12,1,80,1,0,129,4,238,12,1,144,2,0,103,4,119,4,170,170,233,12,1,80,202,178,0,32,1,0,103,4,241,12,1,80,1,0,111,4,244,12,1,144,1,0,103,4,210,178,0,32,2,0,103,4,119,4,170,170,248,12,1,80,251,12,1,80,1,0,103,4,254,12,1,80,1,0,103,4,1,13,1,80,1,0,119,4,4,13,1,80,1,0,119,4,7,13,1,80,2,0,103,4,119,4,170,170,10,13,1,80,15,13,1,80,2,0,111,4,129,4,170,170,194,195,0,96,18,13,1,144,1,0,103,4,230,178,0,32,1,0,103,4,29,13,1,80,2,0,111,4,129,4,170,170,194,195,0,96,32,13,1,144,1,0,103,4,238,178,0,32,2,0,103,4,119,4,170,170,36,13,1,80,39,13,1,80,1,0,103,4,42,13,1,80,2,0,103,4,119,4,170,170,45,13,1,80,48,13,1,80,1,0,103,4,51,13,1,80,1,0,103,4,54,13,1,80,2,0,103,4,119,4,170,170,57,13,1,80,60,13,1,80,2,0,103,4,119,4,170,170,63,13,1,80,66,13,1,80,1,0,103,4,71,13,1,80,1,0,111,4,77,13,1,144,2,0,103,4,119,4,170,170,74,13,1,80,12,179,0,32,1,0,103,4,80,13,1,80,1,0,111,4,83,13,1,144,2,0,103,4,119,4,170,170,20,179,0,32,86,13,1,80,1,0,103,4,89,13,1,80,1,0,129,4,95,13,1,144,2,0,103,4,119,4,170,170,92,13,1,80,28,179,0,32,2,0,103,4,119,4,170,170,98,13,1,80,101,13,1,80,1,0,103,4,104,13,1,80,1,0,103,4,107,13,1,80,2,0,103,4,119,4,170,170,110,13,1,80,113,13,1,80,1,0,103,4,116,13,1,80,1,0,103,4,119,13,1,80,2,0,103,4,119,4,170,170,124,13,1,80,127,13,1,80,2,0,111,4,129,4,170,170,194,195,0,96,130,13,1,144,2,0,103,4,119,4,170,170,54,179,0,32,133,13,1,80,1,0,103,4,138,13,1,80,1,0,103,4,141,13,1,80,2,0,103,4,119,4,170,170,144,13,1,80,147,13,1,80,1,0,103,4,150,13,1,80,2,0,111,4,129,4,170,170,202,195,0,96,153,13,1,144,1,0,129,4,159,13,1,144,2,0,103,4,119,4,170,170,72,179,0,32,76,179,0,32,1,0,103,4,169,13,1,80,1,0,103,4,172,13,1,80,1,0,103,4,175,13,1,80,1,0,103,4,178,13,1,80,1,0,103,4,183,13,1,80,1,0,103,4,186,13,1,80,2,0,111,4,129,4,170,170,189,13,1,144,121,105,0,96,1,0,119,4,94,179,0,32,1,0,103,4,195,13,1,80,1,0,103,4,198,13,1,80,2,0,103,4,119,4,170,170,201,13,1,80,204,13,1,80,1,0,111,4,207,13,1,144,1,0,119,4,108,179,0,32,1,0,103,4,210,13,1,80,2,0,103,4,119,4,170,170,213,13,1,80,216,13,1,80,2,0,111,4,129,4,170,170,222,13,1,144,121,105,0,96,2,0,103,4,119,4,170,170,219,13,1,80,118,179,0,32,1,0,119,4,227,13,1,80,1,0,103,4,230,13,1,80,1,0,103,4,233,13,1,80,2,0,103,4,119,4,170,170,236,13,1,80,239,13,1,80,2,0,103,4,119,4,170,170,242,13,1,80,245,13,1,80,1,0,103,4,248,13,1,80,2,0,103,4,119,4,170,170,251,13,1,80,254,13,1,80,1,0,103,4,1,14,1,80,1,0,111,4,4,14,1,144,2,0,111,4,129,4,170,170,7,14,1,144,10,14,1,144,2,0,103,4,119,4,170,170,148,179,0,32,150,179,0,32,1,0,103,4,13,14,1,80,2,0,103,4,119,4,170,170,16,14,1,80,19,14,1,80,2,0,103,4,119,4,170,170,22,14,1,80,25,14,1,80,1,0,103,4,30,14,1,80,2,0,103,4,119,4,170,170,33,14,1,80,36,14,1,80,2,0,103,4,119,4,170,170,39,14,1,80,42,14,1,80,1,0,103,4,45,14,1,80,1,0,119,4,48,14,1,80,1,0,103,4,51,14,1,80,1,0,103,4,54,14,1,80,1,0,111,4,59,14,1,144,1,0,119,4,186,179,0,32,1,0,103,4,62,14,1,80,1,0,111,4,65,14,1,144,2,0,103,4,119,4,170,170,192,179,0,32,69,14,1,80,2,0,103,4,119,4,170,170,72,14,1,80,75,14,1,80,1,0,103,4,78,14,1,80,2,0,103,4,119,4,170,170,83,14,1,80,86,14,1,80,1,0,129,4,94,14,1,144,2,0,103,4,119,4,170,170,89,14,1,80,208,179,0,32,2,0,103,4,119,4,170,170,97,14,1,80,100,14,1,80,2,0,103,4,119,4,170,170,103,14,1,80,108,14,1,80,1,0,103,4,111,14,1,80,1,0,103,4,114,14,1,80,2,0,111,4,129,4,170,170,194,195,0,96,117,14,1,144,1,0,103,4,226,179,0,32,1,0,103,4,120,14,1,80,1,0,103,4,123,14,1,80,1,0,103,4,126,14,1,80,1,0,119,4,129,14,1,80,2,0,103,4,119,4,170,170,132,14,1,80,135,14,1,80,1,0,103,4,138,14,1,80,1,0,119,4,143,14,1,80,2,0,103,4,119,4,170,170,146,14,1,80,149,14,1,80,2,0,111,4,129,4,170,170,157,14,1,144,160,14,1,144,2,0,103,4,119,4,170,170,152,14,1,80,252,179,0,32,2,0,103,4,119,4,170,170,163,14,1,80,166,14,1,80,2,0,111,4,129,4,170,170,194,195,0,96,169,14,1,144,2,0,111,4,129,4,170,170,144,44,0,96,172,14,1,144,2,0,103,4,119,4,170,170,8,180,0,32,12,180,0,32,2,0,111,4,129,4,170,170,175,14,1,144,178,14,1,144,1,0,103,4,20,180,0,32,2,0,103,4,119,4,170,170,183,14,1,80,186,14,1,80,2,0,103,4,119,4,170,170,189,14,1,80,192,14,1,80,2,0,103,4,119,4,170,170,195,14,1,80,198,14,1,80,1,0,103,4,201,14,1,80,2,0,103,4,119,4,170,170,204,14,1,80,209,14,1,80,1,0,103,4,212,14,1,80,2,0,103,4,119,4,170,170,215,14,1,80,220,14,1,80,1,0,103,4,223,14,1,80,2,0,103,4,119,4,170,170,226,14,1,80,229,14,1,80,2,0,103,4,119,4,170,170,234,14,1,80,237,14,1,80,2,0,103,4,119,4,170,170,240,14,1,80,243,14,1,80,2,0,111,4,129,4,170,170,194,195,0,96,248,14,1,144,1,0,103,4,64,180,0,32,2,0,111,4,129,4,170,170,194,195,0,96,252,14,1,144,2,0,103,4,119,4,170,170,70,180,0,32,0,15,1,80,2,0,103,4,119,4,170,170,3,15,1,80,6,15,1,80,1,0,103,4,11,15,1,80,2,0,103,4,119,4,170,170,14,15,1,80,17,15,1,80,1,0,103,4,20,15,1,80,1,0,103,4,23,15,1,80,2,0,103,4,119,4,170,170,26,15,1,80,29,15,1,80,1,0,119,4,34,15,1,80,1,0,103,4,37,15,1,80,2,0,111,4,129,4,170,170,98,196,0,96,40,15,1,144,1,0,129,4,43,15,1,144,2,0,103,4,119,4,170,170,100,180,0,32,104,180,0,32,1,0,103,4,47,15,1,80,2,0,103,4,119,4,170,170,50,15,1,80,53,15,1,80,2,0,103,4,119,4,170,170,56,15,1,80,59,15,1,80,2,0,103,4,119,4,170,170,62,15,1,80,65,15,1,80,1,0,103,4,68,15,1,80,2,0,103,4,119,4,170,170,71,15,1,80,74,15,1,80,1,0,103,4,77,15,1,80,2,0,103,4,119,4,170,170,80,15,1,80,83,15,1,80,2,0,103,4,119,4,170,170,86,15,1,80,89,15,1,80,2,0,103,4,119,4,170,170,92,15,1,80,95,15,1,80,1,0,103,4,98,15,1,80,1,0,103,4,101,15,1,80,2,0,111,4,129,4,170,170,106,15,1,144,94,0,0,96,1,0,103,4,148,180,0,32,1,0,103,4,110,15,1,80,1,0,103,4,115,15,1,80,1,0,103,4,118,15,1,80,1,0,103,4,121,15,1,80,2,0,103,4,119,4,170,170,124,15,1,80,129,15,1,80,2,0,103,4,119,4,170,170,132,15,1,80,135,15,1,80,2,0,103,4,119,4,170,170,138,15,1,80,141,15,1,80,2,0,111,4,129,4,170,170,144,15,1,144,36,2,0,96,1,0,129,4,148,15,1,144,2,0,103,4,119,4,170,170,174,180,0,32,178,180,0,32,1,0,103,4,151,15,1,80,1,0,111,4,156,15,1,144,1,0,103,4,186,180,0,32,1,0,103,4,159,15,1,80,1,0,103,4,162,15,1,80,1,0,111,4,165,15,1,144,2,0,103,4,119,4,170,170,194,180,0,32,169,15,1,80,2,0,103,4,119,4,170,170,172,15,1,80,175,15,1,80,2,0,103,4,119,4,170,170,178,15,1,80,183,15,1,80,1,0,119,4,186,15,1,80,1,0,103,4,189,15,1,80,1,0,103,4,194,15,1,80,1,0,119,4,197,15,1,80,1,0,103,4,200,15,1,80,2,0,111,4,129,4,170,170,194,195,0,96,205,15,1,144,2,0,103,4,119,4,170,170,218,180,0,32,208,15,1,80,2,0,103,4,119,4,170,170,213,15,1,80,216,15,1,80,1,0,103,4,219,15,1,80,1,0,103,4,222,15,1,80,1,0,129,4,228,15,1,144,2,0,103,4,119,4,170,170,225,15,1,80,234,180,0,32,1,0,103,4,231,15,1,80,2,0,103,4,119,4,170,170,234,15,1,80,237,15,1,80,1,0,103,4,240,15,1,80,1,0,103,4,243,15,1,80,2,0,103,4,119,4,170,170,246,15,1,80,249,15,1,80,1,0,103,4,252,15,1,80,2,0,103,4,119,4,170,170,255,15,1,80,2,16,1,80,1,0,111,4,5,16,1,144,2,0,103,4,119,4,170,170,4,181,0,32,8,16,1,80,2,0,103,4,119,4,170,170,11,16,1,80,14,16,1,80,1,0,103,4,17,16,1,80,1,0,103,4,22,16,1,80,1,0,103,4,25,16,1,80,2,0,103,4,119,4,170,170,30,16,1,80,33,16,1,80,2,0,111,4,129,4,170,170,36,16,1,144,72,1,0,96,1,0,103,4,24,181,0,32,1,0,103,4,39,16,1,80,2,0,103,4,119,4,170,170,42,16,1,80,45,16,1,80,1,0,111,4,50,16,1,144,2,0,103,4,119,4,170,170,36,181,0,32,53,16,1,80,1,0,119,4,58,16,1,80,2,0,103,4,119,4,170,170,61,16,1,80,66,16,1,80,1,0,103,4,69,16,1,80,2,0,103,4,119,4,170,170,72,16,1,80,75,16,1,80,1,0,129,4,78,16,1,144,1,0,119,4,54,181,0,32,1,0,111,4,84,16,1,144,2,0,103,4,119,4,170,170,58,181,0,32,87,16,1,80,1,0,111,4,90,16,1,144,1,0,103,4,64,181,0,32,1,0,129,4,98,16,1,144,2,0,103,4,119,4,170,170,93,16,1,80,68,181,0,32,2,0,111,4,129,4,170,170,101,16,1,144,97,0,0,96,2,0,103,4,119,4,170,170,74,181,0,32,105,16,1,80,1,0,111,4,108,16,1,144,1,0,103,4,82,181,0,32,2,0,103,4,119,4,170,170,111,16,1,80,114,16,1,80,1,0,129,4,120,16,1,144,2,0,103,4,119,4,170,170,117,16,1,80,90,181,0,32,1,0,103,4,126,16,1,80,2,0,103,4,119,4,170,170,129,16,1,80,134,16,1,80,1,0,103,4,139,16,1,80,2,0,103,4,119,4,170,170,142,16,1,80,145,16,1,80,2,0,103,4,119,4,170,170,148,16,1,80,151,16,1,80,2,0,103,4,119,4,170,170,154,16,1,80,157,16,1,80,1,0,119,4,160,16,1,80,1,0,119,4,163,16,1,80,1,0,103,4,166,16,1,80,1,0,103,4,169,16,1,80,1,0,103,4,172,16,1,80,1,0,103,4,175,16,1,80,2,0,103,4,119,4,170,170,178,16,1,80,181,16,1,80,2,0,103,4,119,4,170,170,184,16,1,80,187,16,1,80,1,0,103,4,190,16,1,80,1,0,103,4,193,16,1,80,2,0,103,4,119,4,170,170,196,16,1,80,199,16,1,80,2,0,103,4,119,4,170,170,202,16,1,80,205,16,1,80,2,0,103,4,119,4,170,170,208,16,1,80,211,16,1,80,1,0,103,4,214,16,1,80,2,0,103,4,119,4,170,170,219,16,1,80,224,16,1,80,2,0,103,4,119,4,170,170,227,16,1,80,230,16,1,80,2,0,103,4,119,4,170,170,233,16,1,80,236,16,1,80,1,0,103,4,239,16,1,80,1,0,103,4,242,16,1,80,1,0,119,4,245,16,1,80,2,0,103,4,119,4,170,170,248,16,1,80,251,16,1,80,1,0,119,4,254,16,1,80,1,0,119,4,1,17,1,80,1,0,103,4,4,17,1,80,1,0,119,4,7,17,1,80,1,0,119,4,10,17,1,80,1,0,119,4,13,17,1,80,2,0,103,4,119,4,170,170,16,17,1,80,19,17,1,80,2,0,103,4,119,4,170,170,22,17,1,80,25,17,1,80,1,0,119,4,28,17,1,80,1,0,119,4,31,17,1,80,1,0,103,4,34,17,1,80,1,0,111,4,37,17,1,144,1,0,119,4,202,181,0,32,1,0,103,4,40,17,1,80,1,0,103,4,43,17,1,80,1,0,103,4,46,17,1,80,1,0,103,4,49,17,1,80,1,0,103,4,52,17,1,80,1,0,103,4,55,17,1,80,1,0,103,4,60,17,1,80,1,0,103,4,63,17,1,80,1,0,103,4,66,17,1,80,1,0,111,4,69,17,1,144,1,0,129,4,72,17,1,144,2,0,103,4,119,4,170,170,224,181,0,32,226,181,0,32,2,0,103,4,119,4,170,170,75,17,1,80,78,17,1,80,1,0,103,4,83,17,1,80,1,0,103,4,86,17,1,80,1,0,103,4,89,17,1,80,1,0,103,4,94,17,1,80,1,0,119,4,97,17,1,80,2,0,103,4,119,4,170,170,100,17,1,80,103,17,1,80,2,0,111,4,129,4,170,170,106,17,1,144,109,17,1,144,2,0,111,4,129,4,170,170,115,17,1,144,118,17,1,144,2,0,103,4,119,4,170,170,250,181,0,32,254,181,0,32,1,0,103,4,124,17,1,80,2,0,103,4,119,4,170,170,127,17,1,80,130,17,1,80,1,0,103,4,133,17,1,80,2,0,103,4,119,4,170,170,136,17,1,80,139,17,1,80,23,3,94,8,201,12,141,4,145,4,149,4,153,4,157,4,161,4,181,13,165,4,251,11,169,4,173,4,177,4,234,9,181,4,185,4,189,4,193,4,197,4,3,12,201,4,158,18,205,4,209,4,213,4,217,4,185,13,221,4,225,4,229,4,233,4,237,4,241,4,245,4,107,4,249,4,189,13,253,4,1,5,5,5,32,14,9,5,13,5,84,7,19,12,35,8,17,5,21,5,25,5,29,5,33,5,37,5,41,5,45,5,49,5,88,9,53,5,57,5,61,5,65,5,69,5,73,5,77,5,81,5,85,5,88,5,92,5,96,5,100,5,104,5,108,5,112,5,115,5,119,5,123,5,127,5,131,5,135,5,139,5,194,0,143,5,92,7,147,5,151,5,214,23,154,5,158,5,162,5,201,13,166,5,170,5,174,5,178,5,181,5,185,5,189,5,193,5,197,5,201,5,205,5,209,5,213,5,217,5,221,5,225,5,229,5,122,8,233,5,237,5,241,5,245,5,249,5,179,24,253,5,1,6,164,10,5,6,9,6,13,6,17,6,21,6,25,6,29,6,33,6,37,6,41,6,45,6,49,6,53,6,57,6,31,12,61,6,65,6,225,13,69,6,73,6,77,6,81,6,85,6,89,6,93,6,35,12,97,6,101,6,105,6,109,6,112,6,213,12,106,17,115,6,119,6,123,6,127,6,103,13,131,6,135,6,139,6,143,6,147,6,151,6,155,6,159,6,163,6,167,6,171,6,175,6,179,6,183,6,187,6,190,6,194,6,198,6,201,6,47,12,205,6,209,6,213,6,217,6,221,6,63,12,68,14,225,6,229,12,67,12,229,6,237,12,233,6,199,19,237,6,241,6,245,6,22,10,249,6,253,6,1,7,4,7,206,6,8,7,12,7,16,7,20,7,22,22,23,7,150,8,27,7,31,7,35,7,39,7,43,7,47,7,51,7,55,7,59,7,63,7,67,7,154,8,111,13,71,7,75,7,79,7,83,7,87,7,91,7,95,7,99,7,103,7,106,7,110,7,114,7,118,7,180,10,122,7,126,7,130,7,115,21,134,7,138,7,142,7,146,7,150,7,154,7,158,7,162,7,166,7,170,7,174,7,177,7,181,7,185,7,189,7,193,7,196,7,200,7,169,8,204,7,208,7,13,23,212,7,184,10,75,12,216,7,220,7,224,7,228,7,232,7,236,7,240,7,244,7,248,7,252,7,18,6,0,8,4,8,8,8,252,12,12,8,16,8,237,20,20,8,23,8,27,8,30,6,31,8,175,11,34,8,38,8,83,12,42,8,3,13,174,4,116,5,46,8,50,8,54,8,93,11,87,4,200,10,58,8,38,6,62,8,66,8,70,8,74,8,78,8,82,8,86,8,90,8,26,11,93,8,97,8,101,8,105,8,109,8,113,8,117,8,121,8,125,8,129,8,133,8,137,8,141,8,145,8,149,8,153,8,157,8,160,8,164,8,168,8,172,8,176,8,180,8,184,8,188,8,136,9,192,8,205,8,196,8,200,8,182,4,204,8,129,20,208,8,98,21,212,8,216,8,219,8,97,11,223,8,227,8,231,8,235,8,239,8,11,13,243,8,247,8,251,8,255,8,3,9,7,9,10,9,14,9,18,9,134,20,22,9,26,9,30,9,33,9,37,9,41,9,44,9,48,9,52,9,222,6,56,9,195,0,60,9,64,9,68,9,72,9,76,9,80,9,84,9,87,9,91,9,95,9,99,9,103,9,107,9,140,17,115,13,111,9,115,9,119,9,123,9,127,9,131,9,135,9,139,9,143,9,147,9,209,8,51,8,151,9,155,9,159,9,187,15,163,9,167,9,170,9,174,9,178,9,182,9,186,9,190,9,194,9,198,9,202,9,205,9,209,9,213,9,217,9,221,9,225,9,229,9,233,9,237,9,241,9,245,9,249,9,253,9,1,10,5,10,9,10,13,10,17,10,21,10,25,10,29,10,208,10,33,10,37,10,41,10,45,10,27,13,76,14,154,0,49,10,53,10,75,8,56,10,244,13,60,10,64,10,68,10,72,10,76,10,80,10,84,10,248,13,88,10,92,10,96,10,115,12,199,11,100,10,104,10,108,10,112,10,116,10,120,10,124,10,128,10,132,10,136,10,139,10,143,10,147,10,151,10,252,13,155,10,159,10,51,19,104,19,163,10,123,13,167,10,171,10,241,7,175,10,207,11,179,10,183,10,187,10,191,10,195,10,199,10,203,10,120,19,207,10,83,20,211,10,253,7,215,10,219,10,223,10,227,10,231,10,235,10,0,14,239,10,243,10,247,10,251,10,254,10,2,11,5,11,9,11,13,11,17,11,9,3,5,8,21,11,25,11,219,11,58,19,85,10,29,11,33,11,37,11,41,11,44,11,48,11,52,11,56,11,60,11,64,11,68,11,72,11,76,11,80,11,84,11,88,11,43,13,92,11,96,11,100,11,103,11,107,11,111,11,115,11,119,11,123,11,127,11,66,6,70,4,131,11,135,11,138,11,142,11,146,11,150,11,154,11,158,11,162,11,166,11,170,11,174,11,178,11,182,11,186,11,32,7,190,11,194,11,198,11,202,11,138,12,206,11,173,13,210,11,214,11,218,11,222,11,47,13,226,11,230,11,234,11,55,13,238,11,242,11,12,14,246,11,250,11,254,11,2,12,6,12,167,18,10,12,14,12,18,12,22,12,34,11,26,12,187,18,30,12,34,12,59,13,38,12,42,12,34,4,46,12,50,12,54,12,58,12,62,12,66,12,63,13,202,18,70,12,74,12,78,12,67,13,82,12,240,10,86,12,178,19,90,12,94,12,183,19,98,12,102,12,106,12,110,12,114,12,17,8,118,12,122,12,244,10,126,12,130,12,16,14,133,12,137,12,141,12,145,12,186,5,149,12,198,15,153,12,230,6,157,12,161,12,165,12,171,7,168,12,172,12,176,12,180,12,184,12,188,12,192,12,196,12,154,20,200,12,204,12,208,12,212,12,216,12,220,12,224,12,159,20,68,0,228,12,232,12,236,12,164,9,240,12,243,12,247,12,251,12,255,12,2,13,6,13,38,11,128,20,10,13,14,13,18,13,22,13,26,13,207,23,30,13,190,5,34,13,38,13,42,13,101,10,46,13,50,13,54,13,79,13,58,13,62,13,66,13,70,13,83,13,74,13,78,13,82,13,86,13,168,20,90,13,233,3,94,13,98,13,102,13,106,13,231,11,110,13,158,12,114,13,118,13,122,13,126,13,130,13,28,8,199,9,134,13,138,13,141,13,145,13,149,13,152,13,156,13,160,13,164,13,103,21,168,13,172,13,176,13,14,5,180,13,145,17,184,13,188,13,192,13,196,13,200,13,99,19,204,13,242,6,208,13,212,13,216,13,220,13,224,13,228,13,231,13,235,13,239,13,243,13,247,13,251,13,255,13,3,14,7,14,11,14,15,14,19,14,23,14,27,14,31,14,35,14,185,12,14,11,39,14,234,22,43,14,47,14,87,14,51,14,55,14,59,14,63,14,67,14,71,14,210,9,75,14,79,14,82,14,86,14,224,171,0,32,228,171,0,32,232,171,0,32,234,171,0,32,238,171,0,32,242,171,0,32,246,171,0,32,248,171,0,32,252,171,0,32,254,171,0,32,4,172,0,32,8,172,0,32,10,172,0,32,16,172,0,32,18,172,0,32,22,172,0,32,24,172,0,32,26,172,0,32,28,172,0,32,32,172,0,32,34,172,0,32,36,172,0,32,38,172,0,32,40,172,0,32,42,172,0,32,44,172,0,32,46,172,0,32,56,172,0,32,62,172,0,32,64,172,0,32,66,172,0,32,68,172,0,32,70,172,0,32,74,172,0,32,78,172,0,32,80,172,0,32,84,172,0,32,88,172,0,32,92,172,0,32,94,172,0,32,98,172,0,32,100,172,0,32,104,172,0,32,106,172,0,32,110,172,0,32,118,172,0,32,122,172,0,32,130,172,0,32,134,172,0,32,138,172,0,32,142,172,0,32,146,172,0,32,148,172,0,32,150,172,0,32,154,172,0,32,156,172,0,32,160,172,0,32,162,172,0,32,166,172,0,32,170,172,0,32,174,172,0,32,176,172,0,32,178,172,0,32,180,172,0,32,184,172,0,32,186,172,0,32,188,172,0,32,192,172,0,32,196,172,0,32,198,172,0,32,202,172,0,32,208,172,0,32,212,172,0,32,214,172,0,32,218,172,0,32,222,172,0,32,226,172,0,32,230,172,0,32,232,172,0,32,234,172,0,32,238,172,0,32,240,172,0,32,244,172,0,32,248,172,0,32,250,172,0,32,254,172,0,32,2,173,0,32,4,173,0,32,8,173,0,32,10,173,0,32,12,173,0,32,14,173,0,32,18,173,0,32,26,173,0,32,28,173,0,32,30,173,0,32,32,173,0,32,34,173,0,32,36,173,0,32,38,173,0,32,42,173,0,32,46,173,0,32,50,173,0,32,52,173,0,32,54,173,0,32,56,173,0,32,58,173,0,32,60,173,0,32,64,173,0,32,66,173,0,32,68,173,0,32,70,173,0,32,74,173,0,32,76,173,0,32,80,173,0,32,84,173,0,32,88,173,0,32,90,173,0,32,94,173,0,32,96,173,0,32,98,173,0,32,100,173,0,32,104,173,0,32,106,173,0,32,108,173,0,32,110,173,0,32,114,173,0,32,118,173,0,32,122,173,0,32,126,173,0,32,128,173,0,32,130,173,0,32,134,173,0,32,136,173,0,32,140,173,0,32,144,173,0,32,146,173,0,32,148,173,0,32,152,173,0,32,154,173,0,32,158,173,0,32,160,173,0,32,164,173,0,32,168,173,0,32,170,173,0,32,172,173,0,32,174,173,0,32,176,173,0,32,180,173,0,32,184,173,0,32,188,173,0,32,190,173,0,32,192,173,0,32,194,173,0,32,206,173,0,32,210,173,0,32,212,173,0,32,216,173,0,32,220,173,0,32,222,173,0,32,226,173,0,32,228,173,0,32,236,173,0,32,240,173,0,32,242,173,0,32,244,173,0,32,246,173,0,32,248,173,0,32,250,173,0,32,252,173,0,32,254,173,0,32,2,174,0,32,6,174,0,32,8,174,0,32,12,174,0,32,16,174,0,32,20,174,0,32,22,174,0,32,24,174,0,32,26,174,0,32,32,174,0,32,42,174,0,32,46,174,0,32,48,174,0,32,56,174,0,32,60,174,0,32,62,174,0,32,66,174,0,32,68,174,0,32,72,174,0,32,74,174,0,32,76,174,0,32,82,174,0,32,86,174,0,32,90,174,0,32,96,174,0,32,100,174,0,32,106,174,0,32,110,174,0,32,112,174,0,32,116,174,0,32,118,174,0,32,120,174,0,32,122,174,0,32,134,174,0,32,138,174,0,32,140,174,0,32,142,174,0,32,144,174,0,32,146,174,0,32,150,174,0,32,152,174,0,32,156,174,0,32,160,174,0,32,162,174,0,32,166,174,0,32,170,174,0,32,174,174,0,32,178,174,0,32,182,174,0,32,186,174,0,32,190,174,0,32,192,174,0,32,194,174,0,32,198,174,0,32,200,174,0,32,204,174,0,32,208,174,0,32,210,174,0,32,212,174,0,32,214,174,0,32,216,174,0,32,220,174,0,32,222,174,0,32,226,174,0,32,228,174,0,32,230,174,0,32,232,174,0,32,238,174,0,32,242,174,0,32,246,174,0,32,248,174,0,32,250,174,0,32,254,174,0,32,0,175,0,32,6,175,0,32,12,175,0,32,16,175,0,32,18,175,0,32,20,175,0,32,24,175,0,32,28,175,0,32,30,175,0,32,32,175,0,32,40,175,0,32,44,175,0,32,46,175,0,32,50,175,0,32,54,175,0,32,58,175,0,32,64,175,0,32,72,175,0,32,74,175,0,32,78,175,0,32,80,175,0,32,82,175,0,32,86,175,0,32,88,175,0,32,92,175,0,32,94,175,0,32,98,175,0,32,102,175,0,32,104,175,0,32,108,175,0,32,112,175,0,32,120,175,0,32,124,175,0,32,126,175,0,32,130,175,0,32,134,175,0,32,138,175,0,32,140,175,0,32,142,175,0,32,146,175,0,32,148,175,0,32,150,175,0,32,152,175,0,32,156,175,0,32,160,175,0,32,162,175,0,32,166,175,0,32,170,175,0,32,172,175,0,32,174,175,0,32,182,175,0,32,186,175,0,32,194,175,0,32,200,175,0,32,204,175,0,32,206,175,0,32,208,175,0,32,212,175,0,32,214,175,0,32,216,175,0,32,218,175,0,32,220,175,0,32,222,175,0,32,224,175,0,32,228,175,0,32,230,175,0,32,232,175,0,32,236,175,0,32,238,175,0,32,240,175,0,32,244,175,0,32,246,175,0,32,250,175,0,32,252,175,0,32,254,175,0,32,0,176,0,32,4,176,0,32,6,176,0,32,10,176,0,32,12,176,0,32,14,176,0,32,18,176,0,32,22,176,0,32,24,176,0,32,26,176,0,32,30,176,0,32,32,176,0,32,36,176,0,32,38,176,0,32,40,176,0,32,42,176,0,32,46,176,0,32,48,176,0,32,52,176,0,32,56,176,0,32,62,176,0,32,66,176,0,32,68,176,0,32,72,176,0,32,76,176,0,32,78,176,0,32,82,176,0,32,86,176,0,32,94,176,0,32,98,176,0,32,102,176,0,32,106,176,0,32,108,176,0,32,110,176,0,32,112,176,0,32,114,176,0,32,118,176,0,32,122,176,0,32,124,176,0,32,126,176,0,32,132,176,0,32,136,176,0,32,138,176,0,32,140,176,0,32,146,176,0,32,150,176,0,32,154,176,0,32,156,176,0,32,160,176,0,32,162,176,0,32,164,176,0,32,166,176,0,32,168,176,0,32,172,176,0,32,178,176,0,32,180,176,0,32,182,176,0,32,184,176,0,32,186,176,0,32,188,176,0,32,190,176,0,32,194,176,0,32,198,176,0,32,200,176,0,32,202,176,0,32,206,176,0,32,208,176,0,32,210,176,0,32,212,176,0,32,218,176,0,32,220,176,0,32,224,176,0,32,228,176,0,32,230,176,0,32,232,176,0,32,234,176,0,32,236,176,0,32,238,176,0,32,242,176,0,32,244,176,0,32,246,176,0,32,250,176,0,32,252,176,0,32,0,177,0,32,2,177,0,32,4,177,0,32,8,177,0,32,12,177,0,32,16,177,0,32,18,177,0,32,22,177,0,32,26,177,0,32,28,177,0,32,30,177,0,32,34,177,0,32,36,177,0,32,38,177,0,32,42,177,0,32,46,177,0,32,48,177,0,32,50,177,0,32,54,177,0,32,56,177,0,32,60,177,0,32,62,177,0,32,70,177,0,32,74,177,0,32,82,177,0,32,86,177,0,32,88,177,0,32,90,177,0,32,94,177,0,32,98,177,0,32,102,177,0,32,104,177,0,32,108,177,0,32,112,177,0,32,114,177,0,32,118,177,0,32,122,177,0,32,124,177,0,32,126,177,0,32,130,177,0,32,132,177,0,32,134,177,0,32,136,177,0,32,138,177,0,32,140,177,0,32,142,177,0,32,146,177,0,32,148,177,0,32,152,177,0,32,158,177,0,32,162,177,0,32,164,177,0,32,168,177,0,32,170,177,0,32,172,177,0,32,174,177,0,32,176,177,0,32,180,177,0,32,184,177,0,32,186,177,0,32,188,177,0,32,198,177,0,32,202,177,0,32,204,177,0,32,208,177,0,32,210,177,0,32,212,177,0,32,214,177,0,32,216,177,0,32,218,177,0,32,222,177,0,32,224,177,0,32,226,177,0,32,228,177,0,32,232,177,0,32,236,177,0,32,238,177,0,32,242,177,0,32,244,177,0,32,248,177,0,32,250,177,0,32,0,178,0,32,2,178,0,32,4,178,0,32,6,178,0,32,12,178,0,32,16,178,0,32,20,178,0,32,24,178,0,32,28,178,0,32,32,178,0,32,34,178,0,32,36,178,0,32,38,178,0,32,40,178,0,32,42,178,0,32,48,178,0,32,52,178,0,32,54,178,0,32,56,178,0,32,58,178,0,32,60,178,0,32,64,178,0,32,68,178,0,32,70,178,0,32,72,178,0,32,74,178,0,32,76,178,0,32,80,178,0,32,84,178,0,32,88,178,0,32,90,178,0,32,92,178,0,32,94,178,0,32,98,178,0,32,102,178,0,32,106,178,0,32,108,178,0,32,112,178,0,32,116,178,0,32,120,178,0,32,122,178,0,32,124,178,0,32,128,178,0,32,132,178,0,32,136,178,0,32,142,178,0,32,144,178,0,32,150,178,0,32,154,178,0,32,160,178,0,32,162,178,0,32,170,178,0,32,174,178,0,32,176,178,0,32,178,178,0,32,182,178,0,32,184,178,0,32,186,178,0,32,188,178,0,32,190,178,0,32,194,178,0,32,196,178,0,32,200,178,0,32,204,178,0,32,208,178,0,32,212,178,0,32,214,178,0,32,218,178,0,32,220,178,0,32,222,178,0,32,224,178,0,32,226,178,0,32,234,178,0,32,236,178,0,32,242,178,0,32,244,178,0,32,248,178,0,32,250,178,0,32,254,178,0,32,0,179,0,32,2,179,0,32,6,179,0,32,10,179,0,32,14,179,0,32,18,179,0,32,22,179,0,32,26,179,0,32,30,179,0,32,34,179,0,32,38,179,0,32,40,179,0,32,42,179,0,32,46,179,0,32,48,179,0,32,50,179,0,32,58,179,0,32,62,179,0,32,64,179,0,32,66,179,0,32,70,179,0,32,78,179,0,32,82,179,0,32,84,179,0,32,86,179,0,32,88,179,0,32,90,179,0,32,92,179,0,32,98,179,0,32,100,179,0,32,102,179,0,32,104,179,0,32,110,179,0,32,112,179,0,32,114,179,0,32,122,179,0,32,126,179,0,32,128,179,0,32,130,179,0,32,132,179,0,32,136,179,0,32,140,179,0,32,142,179,0,32,146,179,0,32,154,179,0,32,158,179,0,32,160,179,0,32,164,179,0,32,168,179,0,32,170,179,0,32,174,179,0,32,178,179,0,32,180,179,0,32,182,179,0,32,184,179,0,32,188,179,0,32,190,179,0,32,194,179,0,32,198,179,0,32,202,179,0,32,204,179,0,32,210,179,0,32,214,179,0,32,218,179,0,32,222,179,0,32,224,179,0,32,230,179,0,32,232,179,0,32,234,179,0,32,236,179,0,32,238,179,0,32,240,179,0,32,244,179,0,32,246,179,0,32,248,179,0,32,0,180,0,32,4,180,0,32,16,180,0,32,24,180,0,32,26,180,0,32,30,180,0,32,34,180,0,32,38,180,0,32,40,180,0,32,44,180,0,32,46,180,0,32,50,180,0,32,52,180,0,32,56,180,0,32,60,180,0,32,68,180,0,32,74,180,0,32,78,180,0,32,82,180,0,32,84,180,0,32,88,180,0,32,90,180,0,32,92,180,0,32,96,180,0,32,98,180,0,32,106,180,0,32,110,180,0,32,112,180,0,32,116,180,0,32,120,180,0,32,124,180,0,32,126,180,0,32,130,180,0,32,132,180,0,32,136,180,0,32,140,180,0,32,144,180,0,32,146,180,0,32,152,180,0,32,154,180,0,32,156,180,0,32,158,180,0,32,160,180,0,32,162,180,0,32,166,180,0,32,170,180,0,32,180,180,0,32,184,180,0,32,188,180,0,32,190,180,0,32,192,180,0,32,196,180,0,32,200,180,0,32,204,180,0,32,208,180,0,32,210,180,0,32,212,180,0,32,214,180,0,32,216,180,0,32,222,180,0,32,226,180,0,32,230,180,0,32,232,180,0,32,236,180,0,32,240,180,0,32,242,180,0,32,246,180,0,32,248,180,0,32,250,180,0,32,254,180,0,32,0,181,0,32,6,181,0,32,10,181,0,32,14,181,0,32,16,181,0,32,18,181,0,32,20,181,0,32,28,181,0,32,30,181,0,32,32,181,0,32,38,181,0,32,42,181,0,32,44,181,0,32,48,181,0,32,50,181,0,32,56,181,0,32,60,181,0,32,66,181,0,32,70,181,0,32,78,181,0,32,84,181,0,32,86,181,0,32,92,181,0,32,96,181,0,32,98,181,0,32,102,181,0,32,104,181,0,32,108,181,0,32,112,181,0,32,116,181,0,32,118,181,0,32,120,181,0,32,122,181,0,32,124,181,0,32,126,181,0,32,128,181,0,32,132,181,0,32,136,181,0,32,138,181,0,32,140,181,0,32,144,181,0,32,148,181,0,32,152,181,0,32,154,181,0,32,158,181,0,32,162,181,0,32,166,181,0,32,168,181,0,32,170,181,0,32,172,181,0,32,176,181,0,32,178,181,0,32,180,181,0,32,182,181,0,32,184,181,0,32,186,181,0,32,188,181,0,32,192,181,0,32,196,181,0,32,198,181,0,32,200,181,0,32,204,181,0,32,206,181,0,32,208,181,0,32,210,181,0,32,212,181,0,32,214,181,0,32,216,181,0,32,218,181,0,32,220,181,0,32,222,181,0,32,228,181,0,32,232,181,0,32,236,181,0,32,238,181,0,32,240,181,0,32,242,181,0,32,244,181,0,32,246,181,0,32,2,182,0,32,6,182,0,32,8,182,0,32,12,182,0,32,14,182,0,32,2,0,119,14,161,14,170,170,142,17,1,80,151,17,1,144,1,0,111,14,181,186,0,32,118,1,0,0,158,17,1,144,163,17,1,144,168,17,1,144,173,17,1,144,178,17,1,144,183,17,1,144,188,17,1,144,193,17,1,144,198,17,1,144,203,17,1,144,208,17,1,144,213,17,1,144,218,17,1,144,223,17,1,144,228,17,1,144,233,17,1,144,238,17,1,144,243,17,1,144,248,17,1,144,253,17,1,144,2,18,1,144,7,18,1,144,12,18,1,144,17,18,1,144,22,18,1,144,27,18,1,144,32,18,1,144,37,18,1,144,42,18,1,144,47,18,1,144,52,18,1,144,57,18,1,144,62,18,1,144,67,18,1,144,72,18,1,144,77,18,1,144,82,18,1,144,87,18,1,144,92,18,1,144,97,18,1,144,102,18,1,144,107,18,1,144,112,18,1,144,117,18,1,144,122,18,1,144,127,18,1,144,132,18,1,144,137,18,1,144,142,18,1,144,147,18,1,144,152,18,1,144,157,18,1,144,162,18,1,144,167,18,1,144,172,18,1,144,177,18,1,144,182,18,1,144,187,18,1,144,192,18,1,144,197,18,1,144,202,18,1,144,207,18,1,144,212,18,1,144,217,18,1,144,222,18,1,144,227,18,1,144,232,18,1,144,237,18,1,144,242,18,1,144,247,18,1,144,252,18,1,144,1,19,1,144,6,19,1,144,11,19,1,144,16,19,1,144,21,19,1,144,26,19,1,144,31,19,1,144,36,19,1,144,41,19,1,144,46,19,1,144,51,19,1,144,56,19,1,144,61,19,1,144,66,19,1,144,71,19,1,144,76,19,1,144,81,19,1,144,86,19,1,144,91,19,1,144,96,19,1,144,101,19,1,144,106,19,1,144,111,19,1,144,116,19,1,144,121,19,1,144,126,19,1,144,131,19,1,144,136,19,1,144,141,19,1,144,146,19,1,144,151,19,1,144,156,19,1,144,161,19,1,144,166,19,1,144,171,19,1,144,176,19,1,144,181,19,1,144,186,19,1,144,191,19,1,144,196,19,1,144,201,19,1,144,206,19,1,144,211,19,1,144,216,19,1,144,221,19,1,144,226,19,1,144,231,19,1,144,236,19,1,144,241,19,1,144,246,19,1,144,251,19,1,144,0,20,1,144,5,20,1,144,10,20,1,144,15,20,1,144,20,20,1,144,25,20,1,144,30,20,1,144,35,20,1,144,40,20,1,144,45,20,1,144,50,20,1,144,55,20,1,144,60,20,1,144,65,20,1,144,70,20,1,144,75,20,1,144,80,20,1,144,85,20,1,144,90,20,1,144,95,20,1,144,100,20,1,144,105,20,1,144,110,20,1,144,115,20,1,144,120,20,1,144,125,20,1,144,130,20,1,144,135,20,1,144,140,20,1,144,145,20,1,144,150,20,1,144,155,20,1,144,160,20,1,144,165,20,1,144,170,20,1,144,175,20,1,144,180,20,1,144,185,20,1,144,190,20,1,144,195,20,1,144,200,20,1,144,205,20,1,144,210,20,1,144,215,20,1,144,220,20,1,144,225,20,1,144,230,20,1,144,235,20,1,144,240,20,1,144,245,20,1,144,250,20,1,144,255,20,1,144,4,21,1,144,9,21,1,144,14,21,1,144,19,21,1,144,24,21,1,144,29,21,1,144,34,21,1,144,39,21,1,144,44,21,1,144,49,21,1,144,54,21,1,144,59,21,1,144,64,21,1,144,69,21,1,144,74,21,1,144,79,21,1,144,84,21,1,144,89,21,1,144,94,21,1,144,99,21,1,144,104,21,1,144,109,21,1,144,114,21,1,144,119,21,1,144,124,21,1,144,129,21,1,144,134,21,1,144,139,21,1,144,144,21,1,144,149,21,1,144,154,21,1,144,159,21,1,144,164,21,1,144,169,21,1,144,174,21,1,144,179,21,1,144,184,21,1,144,189,21,1,144,194,21,1,144,199,21,1,144,204,21,1,144,209,21,1,144,214,21,1,144,219,21,1,144,224,21,1,144,229,21,1,144,234,21,1,144,239,21,1,144,244,21,1,144,249,21,1,144,254,21,1,144,3,22,1,144,8,22,1,144,13,22,1,144,18,22,1,144,23,22,1,144,28,22,1,144,33,22,1,144,38,22,1,144,43,22,1,144,48,22,1,144,53,22,1,144,58,22,1,144,63,22,1,144,68,22,1,144,73,22,1,144,78,22,1,144,83,22,1,144,88,22,1,144,93,22,1,144,98,22,1,144,103,22,1,144,108,22,1,144,113,22,1,144,118,22,1,144,123,22,1,144,128,22,1,144,133,22,1,144,138,22,1,144,143,22,1,144,148,22,1,144,153,22,1,144,158,22,1,144,163,22,1,144,168,22,1,144,173,22,1,144,178,22,1,144,183,22,1,144,188,22,1,144,193,22,1,144,198,22,1,144,203,22,1,144,208,22,1,144,213,22,1,144,218,22,1,144,223,22,1,144,228,22,1,144,233,22,1,144,238,22,1,144,243,22,1,144,248,22,1,144,253,22,1,144,2,23,1,144,7,23,1,144,12,23,1,144,17,23,1,144,22,23,1,144,27,23,1,144,32,23,1,144,37,23,1,144,42,23,1,144,47,23,1,144,52,23,1,144,57,23,1,144,62,23,1,144,67,23,1,144,72,23,1,144,77,23,1,144,82,23,1,144,87,23,1,144,92,23,1,144,97,23,1,144,102,23,1,144,107,23,1,144,112,23,1,144,117,23,1,144,122,23,1,144,127,23,1,144,132,23,1,144,137,23,1,144,142,23,1,144,147,23,1,144,152,23,1,144,157,23,1,144,162,23,1,144,167,23,1,144,172,23,1,144,177,23,1,144,182,23,1,144,187,23,1,144,192,23,1,144,197,23,1,144,202,23,1,144,207,23,1,144,212,23,1,144,217,23,1,144,222,23,1,144,227,23,1,144,232,23,1,144,237,23,1,144,242,23,1,144,247,23,1,144,252,23,1,144,1,24,1,144,6,24,1,144,11,24,1,144,16,24,1,144,21,24,1,144,26,24,1,144,31,24,1,144,36,24,1,144,41,24,1,144,46,24,1,144,51,24,1,144,56,24,1,144,61,24,1,144,66,24,1,144,71,24,1,144,76,24,1,144,81,24,1,144,86,24,1,144,91,24,1,144,96,24,1,144,101,24,1,144,106,24,1,144,111,24,1,144,116,24,1,144,121,24,1,144,126,24,1,144,131,24,1,144,136,24,1,144,141,24,1,144,146,24,1,144,151,24,1,144,156,24,1,144,161,24,1,144,166,24,1,144,171,24,1,144,176,24,1,144,181,24,1,144,186,24,1,144,191,24,1,144,196,24,1,144,201,24,1,144,206,24,1,144,211,24,1,144,216,24,1,144,221,24,1,144,226,24,1,144,231,24,1,144,1,0,111,14,187,186,0,128,2,0,0,0,41,1,0,0,210,0,0,0,2,0,213,14,231,14,170,170,0,0,0,112,52,188,0,224,1,0,14,15,1,0,0,112,1,0,244,14,59,188,0,32,1,0,14,15,1,0,0,112,2,0,0,0,23,1,0,0,216,0,0,0,2,0,244,14,231,14,170,170,63,188,0,32,65,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,72,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,77,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,82,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,87,188,0,224,1,0,213,14,2,0,0,112,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,94,188,0,224,1,0,14,15,1,0,0,112,1,0,244,14,99,188,0,32,1,0,14,15,0,0,0,112,2,0,213,14,244,14,170,170,1,0,0,112,103,188,0,32,1,0,14,15,0,0,0,112,2,0,213,14,244,14,170,170,2,0,0,112,109,188,0,32,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,115,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,120,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,125,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,130,188,0,224,1,0,14,15,1,0,0,112,2,0,0,0,23,1,0,0,216,0,0,0,2,0,244,14,231,14,170,170,135,188,0,32,137,188,0,224,1,0,14,15,1,0,0,112,1,0,244,14,144,188,0,32,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,148,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,2,0,213,14,231,14,170,170,1,0,0,112,153,188,0,224,2,0,0,0,23,1,0,0,216,0,0,0,1,0,231,14,160,188,0,224,21,0,12,24,241,14,26,15,61,24,29,15,32,15,35,15,38,15,41,15,44,15,47,15,50,15,53,15,56,15,59,15,62,15,65,15,68,15,71,15,150,14,74,15,55,188,0,32,61,188,0,32,68,188,0,32,75,188,0,32,80,188,0,32,85,188,0,32,90,188,0,32,92,188,0,32,97,188,0,32,101,188,0,32,105,188,0,32,111,188,0,32,118,188,0,32,123,188,0,32,128,188,0,32,133,188,0,32,140,188,0,32,146,188,0,32,151,188,0,32,156,188,0,32,163,188,0,32,9,0,91,15,98,15,105,15,111,15,118,15,253,7,124,15,130,15,135,15,236,24,1,144,65,25,1,144,153,203,0,96,75,25,1,144,35,107,0,96,98,25,1,144,101,25,1,144,113,25,1,144,11,206,0,96,2,0,190,15,201,15,170,170,164,205,0,96,157,25,1,144,1,0,166,15,211,188,0,32,162,1,237,15,35,3,38,3,240,15,41,3,243,15,246,15,249,15,252,15,255,15,44,3,2,16,5,16,47,3,8,16,11,16,14,16,50,3,17,16,20,16,23,16,25,24,26,16,31,24,241,14,29,16,32,16,35,16,26,15,61,24,38,16,41,16,44,16,85,24,47,16,29,15,50,16,53,3,32,15,35,15,53,16,56,16,59,16,62,16,65,16,59,3,68,16,71,16,74,16,62,3,37,24,77,16,65,3,71,3,43,24,74,3,80,16,83,16,86,16,89,16,92,16,38,15,95,16,98,16,101,16,104,16,107,16,110,16,49,24,113,16,41,15,116,16,119,16,122,16,125,16,121,15,128,16,77,3,131,16,80,3,73,24,83,3,86,3,134,16,91,24,137,16,89,3,92,3,140,16,143,16,146,16,149,16,95,3,152,16,155,16,98,3,101,3,158,16,161,16,104,3,164,16,167,16,170,16,47,15,173,16,176,16,179,16,182,16,107,3,110,3,185,16,188,16,191,16,194,16,197,16,200,16,203,16,50,15,206,16,116,3,209,16,212,16,119,3,215,16,53,15,122,3,218,16,221,16,125,3,224,16,56,15,227,16,230,16,233,16,236,16,239,16,128,3,59,15,55,24,242,16,62,15,131,3,245,16,134,3,127,15,68,15,248,16,137,3,251,16,254,16,1,17,4,17,140,3,7,17,10,17,143,3,13,17,146,3,16,17,19,17,22,17,25,17,28,17,31,17,34,17,37,17,40,17,43,17,71,15,149,3,46,17,152,3,49,17,155,3,158,3,52,17,161,3,164,3,55,17,167,3,58,17,61,17,188,24,64,17,67,17,70,17,73,17,150,14,76,17,170,3,79,17,74,15,82,17,85,17,88,17,91,17,176,3,133,24,94,17,97,17,100,17,105,17,109,17,113,17,117,17,121,17,125,17,129,17,133,17,137,17,143,17,149,17,154,17,159,17,164,17,169,17,174,17,179,17,184,17,189,17,194,17,199,17,204,17,209,17,214,17,218,17,222,17,227,17,232,17,237,17,242,17,247,17,252,17,1,18,6,18,11,18,16,18,21,18,26,18,31,18,36,18,41,18,46,18,51,18,56,18,61,18,66,18,71,18,76,18,81,18,86,18,91,18,96,18,101,18,106,18,111,18,116,18,121,18,126,18,131,18,136,18,141,18,146,18,151,18,156,18,161,18,166,18,171,18,176,18,181,18,186,18,191,18,196,18,201,18,206,18,211,18,216,18,221,18,226,18,231,18,236,18,241,18,245,18,249,18,253,18,1,19,7,19,13,19,19,19,25,19,31,19,37,19,43,19,49,19,55,19,61,19,67,19,73,19,79,19,85,19,91,19,97,19,103,19,107,19,111,19,115,19,119,19,123,19,127,19,131,19,135,19,139,19,143,19,147,19,151,19,156,19,161,19,166,19,171,19,176,19,181,19,186,19,190,19,194,19,198,19,202,19,207,19,211,19,215,19,219,19,223,19,227,19,231,19,235,19,239,19,244,19,249,19,254,19,3,20,8,20,13,20,18,20,23,20,28,20,33,20,38,20,43,20,48,20,53,20,58,20,63,20,68,20,73,20,78,20,82,20,86,20,90,20,94,20,98,20,102,20,106,20,110,20,114,20,118,20,122,20,127,20,132,20,137,20,142,20,147,20,152,20,157,20,162,20,167,20,172,20,177,20,182,20,187,20,192,20,197,20,202,20,207,20,212,20,217,20,222,20,227,20,232,20,236,20,240,20,244,20,248,20,252,20,0,21,4,21,8,21,12,21,16,21,21,21,26,21,31,21,36,21,41,21,46,21,51,21,56,21,61,21,66,21,71,21,76,21,81,21,86,21,91,21,96,21,101,21,106,21,110,21,114,21,118,21,170,170,169,25,1,144,177,25,1,144,185,25,1,144,220,25,1,144,229,25,1,144,242,25,1,144,254,25,1,144,17,26,1,144,42,26,1,144,52,26,1,144,61,26,1,144,132,26,1,144,136,26,1,144,148,26,1,144,157,26,1,144,161,26,1,144,175,26,1,144,204,26,1,144,209,26,1,144,228,26,1,144,241,26,1,144,246,26,1,144,0,27,1,144,4,27,1,144,32,27,1,144,65,27,1,144,86,27,1,144,103,27,1,144,111,27,1,144,118,27,1,144,132,27,1,144,159,27,1,144,177,27,1,144,190,27,1,144,217,27,1,144,232,27,1,144,249,27,1,144,4,28,1,144,39,28,1,144,73,28,1,144,81,28,1,144,98,28,1,144,101,28,1,144,108,28,1,144,123,28,1,144,140,28,1,144,147,28,1,144,153,28,1,144,164,28,1,144,175,28,1,144,224,28,1,144,249,28,1,144,9,29,1,144,37,29,1,144,44,29,1,144,64,29,1,144,77,29,1,144,97,29,1,144,103,29,1,144,108,29,1,144,135,29,1,144,145,29,1,144,150,29,1,144,158,29,1,144,171,29,1,144,188,29,1,144,194,29,1,144,201,29,1,144,210,29,1,144,213,29,1,144,228,29,1,144,251,29,1,144,0,30,1,144,11,30,1,144,30,30,1,144,52,30,1,144,63,30,1,144,107,30,1,144,115,30,1,144,120,30,1,144,127,30,1,144,164,30,1,144,181,30,1,144,213,30,1,144,222,30,1,144,243,30,1,144,2,31,1,144,15,31,1,144,63,31,1,144,111,31,1,144,121,31,1,144,147,31,1,144,151,31,1,144,155,31,1,144,158,31,1,144,171,31,1,144,189,31,1,144,196,31,1,144,214,31,1,144,233,31,1,144,242,31,1,144,253,31,1,144,9,32,1,144,19,32,1,144,35,32,1,144,46,32,1,144,57,32,1,144,70,32,1,144,114,32,1,144,137,32,1,144,150,32,1,144,168,32,1,144,206,32,1,144,231,32,1,144,238,32,1,144,241,32,1,144,66,33,1,144,78,33,1,144,94,33,1,144,117,33,1,144,133,33,1,144,202,33,1,144,215,33,1,144,237,33,1,144,241,33,1,144,18,34,1,144,35,34,1,144,47,34,1,144,62,34,1,144,71,34,1,144,109,34,1,144,127,34,1,144,146,34,1,144,160,34,1,144,173,34,1,144,188,34,1,144,206,34,1,144,218,34,1,144,233,34,1,144,4,35,1,144,27,35,1,144,45,35,1,144,53,35,1,144,70,35,1,144,87,35,1,144,108,35,1,144,125,35,1,144,144,35,1,144,153,35,1,144,196,35,1,144,217,35,1,144,45,36,1,144,51,36,1,144,65,36,1,144,76,36,1,144,104,36,1,144,123,36,1,144,145,36,1,144,151,36,1,144,155,36,1,144,112,37,1,144,121,37,1,144,127,37,1,144,137,37,1,144,152,37,1,144,171,37,1,144,182,37,1,144,193,37,1,144,201,37,1,144,216,37,1,144,231,37,1,144,236,37,1,144,4,38,1,144,10,38,1,144,89,38,1,144,95,38,1,144,109,38,1,144,116,38,1,144,141,38,1,144,147,38,1,144,229,38,1,144,245,38,1,144,254,38,1,144,21,39,1,144,53,39,1,144,81,39,1,144,86,39,1,144,96,39,1,144,154,39,1,144,174,39,1,144,189,39,1,144,196,39,1,144,222,39,1,144,30,40,1,144,37,40,1,144,41,40,1,144,53,40,1,144,76,40,1,144,86,40,1,144,97,40,1,144,108,40,1,144,117,40,1,144,124,40,1,144,136,40,1,144,150,40,1,144,161,40,1,144,170,40,1,144,179,40,1,144,184,40,1,144,189,40,1,144,195,40,1,144,201,40,1,144,208,40,1,144,110,116,0,96,211,40,1,144,215,40,1,144,219,40,1,144,224,40,1,144,228,40,1,144,234,40,1,144,238,40,1,144,243,40,1,144,247,40,1,144,252,40,1,144,1,41,1,144,10,41,1,144,25,41,1,144,38,41,1,144,46,41,1,144,54,41,1,144,58,41,1,144,66,41,1,144,71,41,1,144,77,41,1,144,82,41,1,144,88,41,1,144,96,41,1,144,102,41,1,144,107,41,1,144,114,41,1,144,119,41,1,144,124,41,1,144,128,41,1,144,132,41,1,144,135,41,1,144,140,41,1,144,144,41,1,144,147,41,1,144,152,41,1,144,156,41,1,144,6,118,0,96,173,41,1,144,182,41,1,144,186,41,1,144,190,41,1,144,194,41,1,144,203,41,1,144,207,41,1,144,215,41,1,144,220,41,1,144,224,41,1,144,233,41,1,144,237,41,1,144,242,41,1,144,248,41,1,144,1,42,1,144,215,39,0,96,236,106,0,96,5,42,1,144,15,42,1,144,21,42,1,144,24,42,1,144,29,42,1,144,32,42,1,144,247,51,0,96,227,51,0,96,48,108,0,96,232,51,0,96,37,42,1,144,207,51,0,96,41,42,1,144,45,42,1,144,51,42,1,144,55,42,1,144,59,42,1,144,63,42,1,144,66,42,1,144,80,42,1,144,89,42,1,144,94,42,1,144,101,42,1,144,113,42,1,144,119,42,1,144,128,42,1,144,141,42,1,144,147,42,1,144,161,42,1,144,168,42,1,144,174,42,1,144,70,43,1,144,82,43,1,144,115,43,1,144,138,43,1,144,144,43,1,144,150,43,1,144,155,43,1,144,161,43,1,144,167,43,1,144,171,43,1,144,178,43,1,144,184,43,1,144,188,43,1,144,191,43,1,144,195,43,1,144,199,43,1,144,206,43,1,144,212,43,1,144,215,43,1,144,219,43,1,144,222,43,1,144,229,43,1,144,240,43,1,144,246,43,1,144,3,44,1,144,10,44,1,144,14,44,1,144,18,44,1,144,26,44,1,144,31,44,1,144,42,44,1,144,52,44,1,144,60,44,1,144,74,44,1,144,80,44,1,144,95,44,1,144,104,44,1,144,117,44,1,144,120,44,1,144,128,44,1,144,133,44,1,144,138,44,1,144,148,44,1,144,159,44,1,144,162,44,1,144,168,44,1,144,174,44,1,144,179,44,1,144,182,44,1,144,188,44,1,144,195,44,1,144,198,44,1,144,204,44,1,144,214,44,1,144,220,44,1,144,230,44,1,144,236,44,1,144,240,44,1,144,244,44,1,144,248,44,1,144,254,44,1,144,2,45,1,144,5,45,1,144,8,45,1,144,11,45,1,144,14,45,1,144,20,45,1,144,28,45,1,144,37,45,1,144,43,45,1,144,50,45,1,144,58,45,1,144,63,45,1,144,68,45,1,144,75,45,1,144,84,45,1,144,93,45,1,144,102,45,1,144,112,45,1,144,121,45,1,144,127,45,1,144,137,45,1,144,146,45,1,144,152,45,1,144,158,45,1,144,163,45,1,144,168,45,1,144,171,45,1,144,186,45,1,144,197,45,1,144,207,45,1,144,214,45,1,144,228,45,1,144,232,45,1,144,236,45,1,144,240,45,1,144,244,45,1,144,247,45,1,144,252,45,1,144,2,46,1,144,10,46,1,144,17,46,1,144,24,46,1,144,29,46,1,144,36,46,1,144,41,46,1,144,46,46,1,144,54,46,1,144,58,46,1,144,64,46,1,144,69,46,1,144,76,46,1,144,82,46,1,144,88,46,1,144,94,46,1,144,102,46,1,144,129,46,1,144,167,46,1,144,205,46,1,144,3,0,12,24,143,21,179,21,42,48,1,144,50,112,0,96,46,48,1,144,8,0,12,24,171,21,187,21,199,21,203,21,148,1,168,1,184,1,170,170,172,0,0,96,178,0,0,96,124,2,0,96,49,48,1,144,52,48,1,144,55,48,1,144,28,2,0,96,58,48,1,144,6,0,254,21,116,2,114,15,2,22,5,22,8,22,170,170,61,48,1,144,65,48,1,144,70,48,1,144,74,48,1,144,102,48,1,144,122,48,1,144,32,0,12,24,143,21,147,21,151,21,155,21,159,21,163,21,167,21,171,21,175,21,179,21,183,21,187,21,191,21,195,21,199,21,203,21,207,21,211,21,215,21,219,21,136,1,140,1,148,1,101,15,168,1,180,1,184,1,223,21,226,21,245,3,245,21,170,170,241,46,1,144,247,46,1,144,253,46,1,144,14,47,1,144,20,47,1,144,38,47,1,144,47,47,1,144,70,47,1,144,80,47,1,144,90,47,1,144,96,47,1,144,101,47,1,144,107,47,1,144,136,47,1,144,145,47,1,144,155,47,1,144,167,47,1,144,185,47,1,144,192,47,1,144,198,47,1,144,207,47,1,144,218,47,1,144,224,47,1,144,230,47,1,144,249,47,1,144,254,47,1,144,9,48,1,144,26,48,1,144,36,48,1,144,77,191,0,32,82,191,0,32,95,191,0,32,1,0,28,22,112,201,250,114,3,0,0,0,116,33,108,3,112,201,250,2,224,204,39,3,2,0,68,14,45,22,170,170,154,191,0,32,156,191,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,118,243,114,1,0,28,22,240,61,242,114,1,0,28,22,176,221,231,114,3,0,0,0,92,88,137,3,32,119,252,2,80,185,67,3,4,0,122,8,67,12,150,8,45,22,170,170,164,191,0,32,168,191,0,32,170,191,0,32,172,191,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,1,0,28,22,112,238,223,114,1,0,28,22,96,79,243,114,1,0,28,22,48,82,223,114,1,0,28,22,96,26,231,114,1,0,28,22,208,216,224,114,3,0,0,0,0,104,173,3,224,105,249,2,40,189,101,3,7,0,185,13,17,5,68,14,22,10,75,8,66,6,45,22,183,191,0,32,187,191,0,32,189,191,0,32,191,191,0,32,193,191,0,32,195,191,0,32,197,191,0,224,2,0,28,22,71,22,170,170,176,198,214,114,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,96,79,243,114,1,0,28,22,176,108,229,114,1,0,28,22,176,9,183,114,1,0,28,22,192,64,222,114,2,0,56,22,28,22,170,170,131,212,0,96,240,61,242,114,3,0,0,0,228,31,158,3,232,247,239,2,166,87,107,3,2,0,56,22,28,22,170,170,140,212,0,96,16,4,223,114,1,0,28,22,96,40,187,114,2,0,56,22,28,22,170,170,140,212,0,96,240,151,227,114,10,0,92,5,22,10,212,7,85,22,119,11,66,6,45,22,38,11,231,11,93,22,170,170,212,191,0,32,216,191,0,32,220,191,0,32,222,191,0,32,224,191,0,32,226,191,0,32,230,191,0,224,234,191,0,32,238,191,0,32,240,191,0,32,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,0,221,222,114,3,0,0,0,120,237,135,3,112,201,250,2,158,244,70,3,3,0,68,14,70,4,45,22,4,192,0,32,8,192,0,32,10,192,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,0,0,168,175,119,3,48,45,250,2,36,188,58,3,2,0,68,14,45,22,170,170,19,192,0,32,23,192,0,224,1,0,28,22,48,82,223,114,1,0,28,22,176,85,212,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,164,5,153,3,128,115,250,2,2,47,91,3,4,0,63,12,53,10,130,12,45,22,170,170,31,192,0,32,33,192,0,32,35,192,0,32,39,192,0,224,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,16,117,225,114,3,0,0,0,8,218,151,3,224,224,250,2,52,26,91,3,4,0,19,12,30,6,134,20,45,22,170,170,50,192,0,32,52,192,0,32,56,192,0,32,58,192,0,224,2,0,104,22,28,22,170,170,224,52,237,114,208,126,239,114,1,0,28,22,240,98,215,114,2,0,56,22,28,22,170,170,131,212,0,96,112,231,245,114,3,0,0,0,128,189,165,3,64,108,246,2,167,182,106,3,1,0,28,22,16,27,240,114,5,0,212,8,209,8,70,4,45,22,118,13,69,192,0,32,73,192,0,32,75,192,0,32,79,192,0,224,83,192,0,32,3,0,0,0,248,110,104,3,112,201,250,2,224,8,30,3,1,0,28,22,32,119,252,114,2,0,45,22,122,13,170,170,93,192,0,224,97,192,0,32,1,0,28,22,160,249,199,114,1,0,28,22,96,26,231,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,112,19,197,114,3,0,0,0,52,219,176,3,120,158,250,2,199,176,108,3,5,0,213,12,68,14,67,12,115,21,45,22,103,192,0,32,105,192,0,32,107,192,0,32,111,192,0,32,113,192,0,224,2,0,56,22,28,22,170,170,122,212,0,96,80,123,250,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,3,0,0,0,208,12,127,3,80,123,250,2,162,132,63,3,3,0,68,14,183,19,45,22,125,192,0,32,129,192,0,32,133,192,0,224,1,0,28,22,48,45,250,114,2,0,56,22,28,22,170,170,131,212,0,96,80,123,250,114,1,0,28,22,208,209,246,114,1,0,28,22,240,91,237,114,2,0,56,22,28,22,170,170,140,212,0,96,192,64,222,114,2,0,56,22,28,22,170,170,140,212,0,96,96,33,209,114,1,0,28,22,160,39,234,114,2,0,56,22,28,22,170,170,140,212,0,96,16,207,210,114,3,0,0,0,232,131,169,3,96,162,250,2,185,2,100,3,9,0,29,5,103,13,68,14,150,8,252,12,20,8,87,4,178,19,45,22,142,192,0,32,144,192,0,32,148,192,0,32,150,192,0,32,152,192,0,32,156,192,0,32,160,192,0,32,162,192,0,32,166,192,0,224,2,0,56,22,28,22,170,170,122,212,0,96,64,84,250,114,1,0,28,22,160,196,187,114,1,0,28,22,48,82,223,114,3,0,0,0,0,243,179,3,112,201,250,2,9,163,105,3,1,0,28,22,96,153,189,114,1,0,28,22,80,160,223,114,6,0,68,14,244,7,87,4,45,22,192,13,125,22,170,170,184,192,0,32,188,192,0,32,190,192,0,32,192,192,0,224,196,192,0,32,198,192,0,32,1,0,28,22,144,60,224,114,2,0,56,22,28,22,170,170,131,212,0,96,80,123,250,114,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,3,0,0,0,248,156,138,3,128,115,250,2,68,14,73,3,4,0,68,14,120,19,56,11,45,22,170,170,210,192,0,32,212,192,0,32,216,192,0,32,220,192,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,3,0,0,0,136,50,131,3,32,119,252,2,240,248,59,3,2,0,165,12,45,22,170,170,231,192,0,32,235,192,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,2,0,56,22,28,22,170,170,131,212,0,96,48,135,235,114,1,0,28,22,64,211,208,114,3,0,0,0,232,105,165,3,176,232,250,2,234,78,103,3,1,0,28,22,192,154,207,114,1,0,28,22,32,96,235,114,1,0,28,22,32,133,208,114,7,0,19,12,139,22,134,20,45,22,10,13,22,13,82,13,243,192,0,32,247,192,0,32,251,192,0,32,253,192,0,224,1,193,0,32,3,193,0,32,5,193,0,32,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,3,0,56,22,28,22,71,22,131,212,0,96,112,201,250,114,32,13,228,114,1,0,28,22,16,140,242,114,2,0,56,22,28,22,170,170,131,212,0,96,0,131,237,114,2,0,56,22,28,22,170,170,131,212,0,96,224,52,237,114,3,0,56,22,28,22,71,22,131,212,0,96,224,52,237,114,32,13,228,114,3,0,0,0,44,94,154,3,96,162,250,2,71,88,92,3,7,0,178,5,147,22,68,14,252,12,16,14,155,22,45,22,18,193,0,32,22,193,0,32,27,193,0,32,29,193,0,32,33,193,0,32,37,193,0,32,42,193,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,8,59,140,3,200,228,250,2,96,186,75,3,2,0,68,14,45,22,170,170,57,193,0,32,61,193,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,32,133,208,114,1,0,28,22,96,109,238,114,1,0,28,22,16,11,201,114,1,0,28,22,48,149,191,114,1,0,28,22,160,166,192,114,1,0,28,22,16,94,208,114,1,0,28,22,16,64,213,114,2,0,104,22,28,22,170,170,128,187,238,114,16,87,230,114,2,0,104,22,28,22,170,170,112,5,241,114,32,13,228,114,3,0,0,0,188,81,173,3,40,124,244,2,219,125,119,3,11,0,151,5,249,5,68,14,166,7,64,10,96,10,136,10,170,11,186,11,188,12,45,22,69,193,0,32,73,193,0,32,75,193,0,32,77,193,0,32,79,193,0,32,81,193,0,32,83,193,0,32,85,193,0,32,87,193,0,32,91,193,0,32,95,193,0,224,2,0,56,22,28,22,170,170,131,212,0,96,160,9,239,114,1,0,28,22,240,174,244,114,2,0,56,22,28,22,170,170,131,212,0,96,160,122,241,114,2,0,56,22,28,22,170,170,131,212,0,96,176,18,244,114,3,0,0,0,112,220,170,3,112,201,250,2,23,138,103,3,1,0,28,22,224,52,237,114,2,0,28,22,71,22,170,170,160,69,229,114,32,13,228,114,7,0,103,13,68,14,150,8,120,19,45,22,156,13,14,5,116,193,0,32,120,193,0,32,122,193,0,32,126,193,0,32,130,193,0,224,134,193,0,32,136,193,0,32,1,0,28,22,64,144,240,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,131,212,0,96,160,9,239,114,1,0,28,22,192,200,241,114,3,0,0,0,100,255,152,3,88,15,240,2,34,238,104,3,6,0,194,6,1,7,163,22,150,8,84,10,45,22,170,170,151,193,0,32,153,193,0,32,155,193,0,32,157,193,0,32,161,193,0,32,163,193,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,0,161,232,114,1,0,28,22,208,126,239,114,1,0,28,22,176,48,239,114,3,0,0,0,220,32,165,3,0,178,250,2,114,31,97,3,1,0,28,22,240,91,237,114,6,0,85,5,103,13,68,14,47,13,45,22,101,10,170,170,177,193,0,32,181,193,0,32,183,193,0,32,185,193,0,32,187,193,0,224,191,193,0,32,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,1,0,28,22,16,117,225,114,3,0,0,0,20,99,158,3,144,29,250,2,228,201,88,3,3,0,185,13,75,8,45,22,203,193,0,32,207,193,0,32,209,193,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,253,197,114,2,0,56,22,28,22,170,170,131,212,0,96,240,174,244,114,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,1,0,28,22,224,36,198,114,3,0,0,0,124,124,144,3,64,239,245,2,194,143,103,3,5,0,68,14,150,8,138,12,171,7,45,22,218,193,0,32,222,193,0,32,226,193,0,32,230,193,0,32,232,193,0,224,1,0,28,22,208,126,239,114,2,0,56,22,28,22,170,170,131,212,0,96,112,5,241,114,3,0,0,0,204,102,151,3,128,38,242,2,198,182,103,3,1,0,28,22,48,165,230,114,4,0,23,7,150,8,45,22,14,11,170,170,244,193,0,32,246,193,0,32,250,193,0,224,254,193,0,32,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,152,230,120,3,112,201,250,2,72,149,51,3,2,0,150,8,45,22,170,170,7,194,0,32,11,194,0,224,2,0,56,22,28,22,170,170,131,212,0,96,0,184,249,114,3,0,0,0,28,158,141,3,96,162,250,2,60,236,66,3,2,0,68,14,45,22,170,170,19,194,0,32,23,194,0,224,1,0,28,22,16,4,223,114,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,2,0,56,22,28,22,170,170,131,212,0,96,32,13,228,114,3,0,0,0,12,178,152,3,208,60,250,2,30,82,78,3,1,0,28,22,240,91,237,114,5,0,68,14,115,12,177,22,45,22,125,22,31,194,0,32,33,194,0,32,37,194,0,32,41,194,0,224,45,194,0,32,1,0,28,22,160,30,173,114,2,0,56,22,28,22,170,170,131,212,0,96,128,187,238,114,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,1,0,28,22,144,7,212,114,2,0,56,22,28,22,170,170,131,212,0,96,64,144,240,114,3,0,0,0,80,77,160,3,192,152,249,2,239,134,103,3,6,0,229,4,84,7,67,12,115,21,135,11,45,22,170,170,55,194,0,32,57,194,0,32,61,194,0,32,65,194,0,32,67,194,0,32,71,194,0,224,2,0,56,22,28,22,170,170,131,212,0,96,0,161,232,114,1,0,28,22,80,10,248,114,3,0,0,0,88,81,123,3,64,84,250,2,192,6,59,3,3,0,120,19,56,11,45,22,85,194,0,32,89,194,0,32,91,194,0,224,1,0,28,22,0,251,217,114,1,0,28,22,0,161,232,114,1,0,28,22,192,101,195,114,1,0,28,22,128,118,187,114,1,0,28,22,128,111,209,114,1,0,28,22,16,94,208,114,1,0,28,22,0,145,193,114,1,0,28,22,208,27,193,114,2,0,56,22,28,22,170,170,131,212,0,96,240,144,249,114,3,0,0,0,64,0,183,3,128,121,249,2,132,61,120,3,2,0,56,22,28,22,170,170,140,212,0,96,64,211,208,114,1,0,28,22,48,209,181,114,1,0,28,22,32,110,191,114,13,0,103,13,68,14,67,12,177,7,87,4,38,6,164,8,97,11,70,4,45,22,141,13,220,13,234,22,100,194,0,32,102,194,0,32,104,194,0,32,106,194,0,32,108,194,0,32,110,194,0,32,112,194,0,32,114,194,0,32,116,194,0,32,120,194,0,224,124,194,0,32,128,194,0,32,130,194,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,24,94,149,3,160,68,250,2,249,98,76,3,2,0,68,14,45,22,170,170,152,194,0,32,156,194,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,218,242,114,1,0,28,22,240,91,237,114,1,0,28,22,112,95,226,114,1,0,28,22,80,70,238,114,3,0,0,0,52,67,143,3,192,188,243,2,174,43,83,3,1,0,28,22,48,248,237,114,6,0,198,6,68,14,99,9,241,7,45,22,70,13,170,170,164,194,0,32,168,194,0,32,170,194,0,32,172,194,0,32,174,194,0,224,178,194,0,32,3,0,0,0,0,195,62,3,112,201,250,2,32,119,252,2,1,0,28,22,32,119,252,114,2,0,45,22,122,13,170,170,190,194,0,224,194,194,0,32,1,0,28,22,96,33,209,114,2,0,56,22,28,22,170,170,131,212,0,96,80,10,248,114,3,0,0,0,212,122,153,3,120,170,248,2,43,7,90,3,2,0,56,22,28,22,170,170,131,212,0,96,32,36,245,114,4,0,251,11,68,14,45,22,207,23,170,170,200,194,0,32,202,194,0,32,206,194,0,224,210,194,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,56,22,28,22,170,170,131,212,0,96,0,131,237,114,3,0,0,0,8,134,165,3,224,224,250,2,80,244,100,3,3,0,88,9,47,13,45,22,221,194,0,32,225,194,0,32,229,194,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,0,244,239,114,3,0,0,0,200,45,137,3,40,106,247,2,174,84,77,3,3,0,68,14,67,12,45,22,238,194,0,32,242,194,0,32,244,194,0,224,1,0,28,22,240,181,222,114,1,0,28,22,144,127,192,114,1,0,28,22,80,227,191,114,1,0,28,22,64,211,208,114,2,0,56,22,28,22,170,170,140,212,0,96,160,23,195,114,1,0,28,22,176,39,178,114,2,0,56,22,28,22,170,170,140,212,0,96,0,145,193,114,1,0,28,22,96,100,177,114,1,0,28,22,48,149,191,114,1,0,28,22,224,43,176,114,1,0,28,22,64,248,181,114,1,0,28,22,64,135,179,114,1,0,28,22,160,16,217,114,2,0,56,22,28,22,170,170,140,212,0,96,16,244,183,114,2,0,56,22,28,22,170,170,140,212,0,96,192,48,183,114,1,0,28,22,208,50,210,114,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,0,221,222,114,1,0,28,22,208,20,215,114,1,0,28,22,240,181,222,114,2,0,56,22,28,22,170,170,131,212,0,96,32,66,240,114,1,0,28,22,0,168,210,114,2,0,56,22,28,22,170,170,140,212,0,96,0,152,171,114,1,0,28,22,224,202,212,114,1,0,28,22,128,254,206,114,1,0,28,22,144,37,207,114,1,0,28,22,112,139,177,114,1,0,28,22,112,12,219,114,3,0,104,22,56,22,28,22,32,66,240,114,140,212,0,96,128,254,206,114,3,0,104,22,56,22,28,22,32,66,240,114,140,212,0,96,128,254,206,114,1,0,28,22,160,76,207,114,1,0,28,22,144,7,212,114,1,0,28,22,224,43,176,114,1,0,28,22,32,200,176,114,1,0,28,22,208,27,193,114,1,0,28,22,128,201,194,114,1,0,28,22,48,209,181,114,1,0,28,22,176,115,207,114,1,0,28,22,144,74,180,114,1,0,28,22,112,132,199,114,1,0,28,22,0,2,196,114,1,0,28,22,16,161,176,114,1,0,28,22,0,221,222,114,1,0,28,22,64,211,208,114,1,0,28,22,160,46,212,114,1,0,28,22,16,161,176,114,1,0,28,22,144,120,214,114,1,0,28,22,112,72,209,114,1,0,28,22,64,181,213,114,1,0,28,22,144,37,207,114,1,0,28,22,208,193,207,114,1,0,28,22,208,163,212,114,3,0,0,0,120,192,180,3,112,201,250,2,173,128,107,3,1,0,28,22,96,176,206,114,1,0,28,22,0,55,208,114,1,0,28,22,128,194,216,114,1,0,28,22,208,163,212,114,1,0,28,22,96,100,177,114,1,0,28,22,16,4,223,114,1,0,28,22,32,43,223,114,60,0,185,13,5,5,194,0,151,5,21,6,57,6,225,13,69,6,81,6,85,6,101,6,115,6,103,13,135,6,139,6,63,12,68,14,67,12,22,10,12,7,150,8,174,7,200,7,75,12,252,12,20,8,27,8,87,4,200,10,188,22,38,6,97,11,44,9,119,9,154,0,76,10,80,10,120,19,239,10,5,8,21,11,25,11,41,11,76,11,100,11,115,11,70,4,173,13,47,13,244,10,16,14,154,20,45,22,101,10,158,12,28,8,149,13,184,13,47,14,210,9,170,170,253,194,0,32,255,194,0,32,1,195,0,32,3,195,0,32,5,195,0,32,9,195,0,32,11,195,0,32,15,195,0,32,17,195,0,32,19,195,0,32,21,195,0,32,23,195,0,32,25,195,0,32,27,195,0,32,31,195,0,32,35,195,0,32,37,195,0,32,41,195,0,32,43,195,0,32,45,195,0,32,47,195,0,32,51,195,0,32,53,195,0,32,57,195,0,32,59,195,0,32,61,195,0,32,63,195,0,32,65,195,0,32,67,195,0,32,72,195,0,32,77,195,0,32,79,195,0,32,81,195,0,32,83,195,0,32,85,195,0,32,87,195,0,32,89,195,0,32,91,195,0,32,93,195,0,32,95,195,0,32,97,195,0,32,99,195,0,32,101,195,0,32,103,195,0,32,105,195,0,32,107,195,0,32,109,195,0,32,111,195,0,32,113,195,0,32,115,195,0,32,117,195,0,32,119,195,0,32,121,195,0,224,125,195,0,32,127,195,0,32,129,195,0,32,131,195,0,32,133,195,0,32,135,195,0,32,137,195,0,32,2,0,56,22,28,22,170,170,122,212,0,96,80,70,238,114,1,0,28,22,112,88,248,114,3,0,0,0,68,53,106,3,112,201,250,2,32,141,34,3,3,0,68,14,177,22,45,22,230,195,0,32,234,195,0,32,236,195,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,56,226,114,2,0,56,22,28,22,170,170,140,212,0,96,240,181,222,114,2,0,56,22,28,22,170,170,140,212,0,96,240,38,225,114,1,0,28,22,144,120,214,114,1,0,28,22,112,238,223,114,2,0,56,22,28,22,170,170,140,212,0,96,0,18,235,114,1,0,28,22,32,246,210,114,2,0,56,22,28,22,170,170,140,212,0,96,96,79,243,114,3,0,0,0,176,254,157,3,160,223,245,2,20,144,118,3,9,0,150,8,157,8,209,8,151,9,167,9,170,9,55,13,171,7,45,22,245,195,0,32,249,195,0,32,253,195,0,32,1,196,0,32,3,196,0,32,5,196,0,32,9,196,0,32,11,196,0,32,15,196,0,224,2,0,56,22,28,22,170,170,131,212,0,96,80,40,243,114,1,0,28,22,64,211,208,114,2,0,56,22,28,22,170,170,131,212,0,96,80,40,243,114,3,0,0,0,248,112,137,3,48,81,244,2,46,162,95,3,4,0,150,8,209,8,63,13,45,22,170,170,33,196,0,32,37,196,0,32,39,196,0,32,43,196,0,224,2,0,56,22,28,22,170,170,131,212,0,96,128,127,248,114,1,0,28,22,128,21,224,114,3,0,0,0,12,3,152,3,176,119,248,2,155,145,94,3,3,0,150,8,209,8,45,22,54,196,0,32,58,196,0,32,60,196,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,209,246,114,1,0,28,22,16,253,244,114,2,0,56,22,28,22,170,170,131,212,0,96,144,226,238,114,3,0,56,22,28,22,71,22,122,212,0,96,80,153,245,114,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,176,251,226,114,2,0,28,22,71,22,170,170,144,173,226,114,32,13,228,114,1,0,28,22,32,156,225,114,2,0,56,22,28,22,170,170,140,212,0,96,224,202,212,114,1,0,28,22,144,150,209,114,3,0,0,0,156,196,170,3,112,201,250,2,207,80,99,3,1,0,28,22,128,254,206,114,11,0,103,13,68,14,150,8,170,7,87,4,147,9,70,4,32,7,194,11,45,22,180,13,69,196,0,32,73,196,0,32,75,196,0,32,79,196,0,32,84,196,0,32,88,196,0,32,92,196,0,32,94,196,0,32,98,196,0,32,100,196,0,224,104,196,0,32,2,0,104,22,28,22,170,170,224,52,237,114,240,91,237,114,2,0,104,22,28,22,170,170,224,52,237,114,208,193,207,114,2,0,104,22,28,22,170,170,160,242,221,114,128,134,226,114,2,0,56,22,28,22,170,170,131,212,0,96,80,40,243,114,1,0,28,22,48,172,208,114,2,0,28,22,71,22,170,170,176,251,226,114,32,13,228,114,3,0,0,0,80,90,162,3,232,92,244,2,187,241,105,3,7,0,49,5,162,5,155,6,150,8,145,8,50,12,45,22,123,196,0,32,127,196,0,32,131,196,0,32,135,196,0,32,139,196,0,32,141,196,0,32,145,196,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,252,149,121,3,48,45,250,2,120,204,53,3,2,0,68,14,45,22,170,170,160,196,0,32,164,196,0,224,1,0,28,22,240,181,222,114,1,0,28,22,240,234,234,114,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,68,175,169,3,208,185,250,2,172,134,104,3,4,0,225,4,68,14,67,12,45,22,170,170,172,196,0,32,174,196,0,32,176,196,0,32,180,196,0,224,2,0,104,22,28,22,170,170,128,187,238,114,160,76,207,114,1,0,28,22,48,29,211,114,2,0,104,22,28,22,170,170,208,126,239,114,192,64,222,114,1,0,28,22,192,64,222,114,2,0,104,22,28,22,170,170,208,126,239,114,224,142,222,114,2,0,104,22,28,22,170,170,32,66,240,114,80,220,213,114,2,0,28,22,71,22,170,170,208,103,222,114,32,13,228,114,2,0,104,22,28,22,170,170,32,66,240,114,32,103,213,114,1,0,28,22,224,112,227,114,2,0,104,22,28,22,170,170,48,248,237,114,176,25,222,114,2,0,104,22,28,22,170,170,208,126,239,114,192,124,212,114,2,0,56,22,28,22,170,170,131,212,0,96,160,122,241,114,2,0,104,22,28,22,170,170,48,248,237,114,240,38,225,114,1,0,28,22,64,234,225,114,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,131,212,0,96,128,14,246,114,1,0,28,22,160,76,207,114,2,0,104,22,28,22,170,170,32,66,240,114,224,89,210,114,1,0,28,22,80,250,208,114,1,0,28,22,32,103,213,114,1,0,28,22,192,11,210,114,1,0,28,22,96,116,216,114,2,0,28,22,71,22,170,170,176,85,212,114,32,13,228,114,1,0,28,22,160,242,221,114,2,0,104,22,28,22,170,170,224,52,237,114,128,201,194,114,2,0,104,22,28,22,170,170,0,161,232,114,224,142,222,114,3,0,0,0,168,48,161,3,104,143,246,2,10,252,105,3,1,0,28,22,112,79,187,114,2,0,104,22,28,22,170,170,64,121,223,114,0,221,222,114,29,0,169,4,185,13,33,5,37,5,45,5,69,5,135,5,185,5,209,5,221,5,179,6,68,14,241,6,1,7,163,22,150,8,202,22,66,8,210,22,204,8,14,9,221,9,37,10,104,10,207,10,211,10,45,22,31,14,35,14,191,196,0,32,195,196,0,32,197,196,0,32,201,196,0,32,203,196,0,32,207,196,0,32,211,196,0,32,215,196,0,32,219,196,0,32,221,196,0,32,225,196,0,32,229,196,0,32,233,196,0,32,237,196,0,32,239,196,0,32,241,196,0,32,245,196,0,32,247,196,0,32,251,196,0,32,253,196,0,32,255,196,0,32,1,197,0,32,3,197,0,32,7,197,0,32,9,197,0,32,13,197,0,32,17,197,0,224,21,197,0,32,23,197,0,32,2,0,56,22,28,22,170,170,140,212,0,96,0,55,208,114,1,0,28,22,16,131,181,114,1,0,28,22,16,4,223,114,1,0,28,22,112,238,223,114,1,0,28,22,192,191,180,114,1,0,28,22,208,216,224,114,2,0,104,22,28,22,170,170,0,214,244,114,128,81,214,114,1,0,28,22,176,205,192,114,1,0,28,22,208,223,202,114,2,0,56,22,28,22,170,170,140,212,0,96,176,115,207,114,1,0,28,22,160,23,195,114,1,0,28,22,224,126,183,114,1,0,28,22,80,197,196,114,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,140,212,0,96,96,33,209,114,1,0,28,22,48,82,223,114,1,0,28,22,0,145,193,114,1,0,28,22,224,43,176,114,1,0,28,22,176,205,192,114,3,0,0,0,96,44,197,3,24,49,250,2,74,101,134,3,2,0,56,22,28,22,170,170,140,212,0,96,48,142,213,114,1,0,28,22,128,125,165,114,1,0,28,22,32,4,167,114,1,0,28,22,192,147,229,114,1,0,28,22,64,91,228,114,2,0,56,22,28,22,170,170,140,212,0,96,176,228,209,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,27,0,214,23,68,14,79,7,208,7,244,7,16,8,174,4,172,8,85,22,97,11,214,22,95,9,123,9,209,9,222,22,155,10,254,10,47,13,216,12,45,22,231,11,230,22,149,13,212,13,238,22,87,14,210,9,71,197,0,32,75,197,0,32,77,197,0,32,79,197,0,32,81,197,0,32,83,197,0,32,85,197,0,32,89,197,0,32,91,197,0,32,93,197,0,32,97,197,0,32,99,197,0,32,101,197,0,32,103,197,0,32,105,197,0,32,109,197,0,32,111,197,0,32,113,197,0,32,115,197,0,32,117,197,0,224,121,197,0,32,125,197,0,32,127,197,0,32,129,197,0,32,131,197,0,32,133,197,0,32,137,197,0,32,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,1,0,28,22,112,72,209,114,3,0,0,0,240,164,173,3,128,246,249,2,160,61,109,3,1,0,28,22,16,244,183,114,4,0,67,12,181,7,45,22,234,22,170,170,182,197,0,32,186,197,0,32,188,197,0,224,192,197,0,32,3,0,0,0,164,101,62,3,112,201,250,2,32,119,252,2,1,0,28,22,32,119,252,114,2,0,45,22,122,13,170,170,201,197,0,224,205,197,0,32,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,0,0,232,85,160,3,248,95,250,2,103,69,94,3,2,0,67,12,45,22,170,170,211,197,0,32,215,197,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,104,224,164,3,176,232,250,2,63,112,103,3,2,0,67,12,45,22,170,170,223,197,0,32,227,197,0,224,1,0,28,22,240,144,249,114,2,0,56,22,28,22,170,170,131,212,0,96,0,71,247,114,3,0,0,0,36,8,138,3,168,162,248,2,23,34,80,3,3,0,141,8,70,4,45,22,235,197,0,32,237,197,0,32,241,197,0,224,1,0,28,22,96,56,226,114,2,0,56,22,28,22,170,170,131,212,0,96,0,161,232,114,2,0,56,22,28,22,170,170,122,212,0,96,80,10,248,114,3,0,0,0,160,10,137,3,64,84,250,2,241,138,73,3,4,0,67,12,120,19,56,11,45,22,170,170,250,197,0,32,252,197,0,32,0,198,0,32,4,198,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,3,0,0,0,196,168,118,3,112,201,250,2,148,20,44,3,2,0,68,14,45,22,170,170,15,198,0,32,19,198,0,224,1,0,28,22,96,176,206,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,1,0,28,22,208,209,246,114,1,0,28,22,96,26,231,114,1,0,28,22,32,133,208,114,3,0,0,0,104,96,152,3,184,189,250,2,204,108,88,3,2,0,56,22,28,22,170,170,131,212,0,96,176,48,239,114,7,0,185,13,63,12,68,14,150,8,30,6,45,22,101,10,27,198,0,32,29,198,0,32,33,198,0,32,35,198,0,32,37,198,0,32,39,198,0,224,43,198,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,48,248,237,114,1,0,28,22,240,204,239,114,1,0,28,22,208,163,212,114,1,0,28,22,64,31,238,114,3,0,0,0,156,133,168,3,112,201,250,2,81,98,103,3,6,0,35,12,103,13,68,14,100,11,240,10,45,22,170,170,58,198,0,32,62,198,0,32,64,198,0,32,66,198,0,32,68,198,0,32,70,198,0,224,2,0,28,22,71,22,170,170,80,70,238,114,32,13,228,114,1,0,28,22,64,121,223,114,2,0,56,22,28,22,170,170,131,212,0,96,240,144,249,114,2,0,28,22,71,22,170,170,176,235,187,114,32,13,228,114,1,0,28,22,32,246,210,114,1,0,28,22,64,114,245,114,1,0,28,22,192,147,229,114,1,0,28,22,96,109,238,114,2,0,56,22,28,22,170,170,140,212,0,96,64,188,191,114,1,0,28,22,208,117,178,114,2,0,28,22,71,22,170,170,112,238,223,114,32,13,228,114,1,0,28,22,176,55,217,114,2,0,28,22,71,22,170,170,128,88,192,114,32,13,228,114,1,0,28,22,96,26,231,114,1,0,28,22,160,189,209,114,1,0,28,22,224,59,215,114,2,0,28,22,71,22,170,170,0,131,237,114,32,13,228,114,1,0,28,22,160,39,234,114,1,0,28,22,0,0,0,112,1,0,28,22,144,150,209,114,1,0,28,22,192,147,229,114,1,0,28,22,0,122,176,114,2,0,28,22,71,22,170,170,160,242,221,114,32,13,228,114,3,0,0,0,188,115,184,3,112,201,250,2,125,251,113,3,1,0,28,22,144,60,224,114,1,0,28,22,192,147,229,114,26,0,29,5,106,17,103,13,163,6,63,12,68,14,67,12,150,8,43,7,47,7,170,7,252,12,12,8,87,4,18,9,134,20,171,10,120,19,84,11,100,11,47,13,153,12,172,12,45,22,101,10,160,13,170,170,84,198,0,32,88,198,0,32,90,198,0,32,94,198,0,32,98,198,0,32,100,198,0,32,102,198,0,32,104,198,0,32,106,198,0,32,110,198,0,32,112,198,0,32,116,198,0,32,118,198,0,32,122,198,0,32,124,198,0,32,126,198,0,32,128,198,0,32,132,198,0,32,134,198,0,32,136,198,0,32,138,198,0,32,140,198,0,32,142,198,0,32,146,198,0,224,150,198,0,32,152,198,0,32,2,0,56,22,28,22,170,170,122,212,0,96,112,201,250,114,3,0,0,0,0,37,105,3,112,201,250,2,32,22,33,3,2,0,68,14,45,22,170,170,194,198,0,32,198,198,0,224,1,0,28,22,224,22,242,114,2,0,56,22,28,22,170,170,131,212,0,96,144,143,231,114,2,0,56,22,28,22,170,170,131,212,0,96,80,160,223,114,1,0,28,22,208,239,241,114,3,0,0,0,160,210,137,3,152,10,246,2,140,76,85,3,5,0,94,8,185,13,150,8,244,10,45,22,206,198,0,32,208,198,0,32,212,198,0,32,216,198,0,32,218,198,0,224,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,2,0,56,22,28,22,170,170,140,212,0,96,48,218,242,114,1,0,28,22,160,205,248,114,1,0,28,22,32,246,210,114,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,140,212,0,96,128,254,206,114,1,0,28,22,16,170,237,114,3,0,0,0,120,45,167,3,112,201,250,2,189,114,95,3,8,0,106,17,103,13,68,14,22,22,86,8,129,20,165,12,45,22,170,170,230,198,0,32,234,198,0,32,238,198,0,32,240,198,0,32,242,198,0,32,244,198,0,32,248,198,0,32,250,198,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,6,250,114,3,0,0,0,24,245,128,3,32,6,250,2,158,77,67,3,2,0,68,14,45,22,170,170,11,199,0,32,15,199,0,224,1,0,28,22,64,128,201,114,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,3,0,0,0,8,109,165,3,200,109,249,2,101,90,103,3,3,0,68,14,67,12,45,22,23,199,0,32,25,199,0,32,29,199,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,248,246,114,1,0,28,22,112,88,248,114,1,0,28,22,96,26,231,114,2,0,56,22,28,22,170,170,131,212,0,96,128,187,238,114,2,0,104,22,28,22,170,170,224,52,237,114,224,82,232,114,3,0,0,0,48,102,172,3,48,194,246,2,225,78,108,3,6,0,185,13,237,4,68,14,150,8,97,8,45,22,170,170,38,199,0,32,42,199,0,32,44,199,0,32,46,199,0,32,50,199,0,32,54,199,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,144,103,140,3,168,150,250,2,176,133,73,3,2,0,67,12,45,22,170,170,68,199,0,32,72,199,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,2,0,56,22,28,22,170,170,131,212,0,96,80,70,238,114,1,0,28,22,144,30,229,114,3,0,0,0,40,187,165,3,96,168,249,2,153,84,104,3,4,0,67,12,135,11,142,11,45,22,170,170,80,199,0,32,84,199,0,32,88,199,0,32,90,199,0,224,1,0,28,22,96,79,243,114,2,0,56,22,28,22,170,170,131,212,0,96,176,131,246,114,1,0,28,22,144,226,238,114,1,0,28,22,192,57,244,114,3,0,0,0,244,225,153,3,176,232,250,2,238,93,88,3,1,0,28,22,144,30,229,114,6,0,68,14,237,12,206,6,47,13,45,22,172,13,170,170,101,199,0,32,103,199,0,32,107,199,0,32,109,199,0,32,111,199,0,224,115,199,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,6,250,114,1,0,28,22,64,114,245,114,1,0,28,22,80,54,199,114,1,0,28,22,112,5,241,114,3,0,0,0,208,225,179,3,248,244,246,2,60,153,118,3,5,0,185,13,249,4,63,12,68,14,45,22,127,199,0,32,131,199,0,32,133,199,0,32,135,199,0,32,137,199,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,132,215,130,3,96,79,243,2,175,47,81,3,2,0,185,13,45,22,170,170,149,199,0,32,153,199,0,224,1,0,28,22,64,234,225,114,3,0,56,22,28,22,71,22,131,212,0,96,16,230,227,114,32,13,228,114,1,0,28,22,208,103,222,114,2,0,56,22,28,22,170,170,131,212,0,96,240,174,244,114,1,0,28,22,64,234,225,114,3,0,0,0,104,157,146,3,168,49,246,2,120,197,95,3,2,0,56,22,28,22,170,170,122,212,0,96,0,214,244,114,1,0,28,22,96,109,238,114,8,0,94,8,185,13,217,5,68,14,149,12,45,22,255,12,2,13,170,170,161,199,0,32,163,199,0,32,168,199,0,32,170,199,0,32,174,199,0,32,176,199,0,224,180,199,0,32,184,199,0,32,1,0,28,22,192,214,197,114,2,0,56,22,28,22,170,170,140,212,0,96,208,103,222,114,2,0,56,22,28,22,170,170,140,212,0,96,80,70,238,114,1,0,28,22,192,87,239,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,2,0,56,22,28,22,170,170,140,212,0,96,64,121,223,114,1,0,28,22,208,163,212,114,2,0,56,22,28,22,170,170,140,212,0,96,96,26,231,114,2,0,56,22,28,22,170,170,140,212,0,96,112,192,189,114,3,0,0,0,8,194,180,3,168,150,250,2,254,97,109,3,10,0,158,18,1,5,122,8,68,14,67,12,199,19,245,6,180,10,9,3,45,22,170,170,199,199,0,32,201,199,0,32,205,199,0,32,209,199,0,32,211,199,0,32,215,199,0,32,219,199,0,32,221,199,0,32,225,199,0,32,229,199,0,224,1,0,28,22,224,142,222,114,2,0,56,22,28,22,170,170,131,212,0,96,80,183,240,114,1,0,28,22,240,61,242,114,1,0,28,22,0,0,0,112,1,0,28,22,64,144,240,114,1,0,28,22,48,195,225,114,1,0,28,22,192,147,229,114,3,0,0,0,216,216,165,3,176,161,241,2,209,168,118,3,1,0,28,22,192,147,229,114,1,0,28,22,32,43,223,114,10,0,94,8,3,12,68,14,106,7,219,11,82,12,244,10,45,22,255,12,145,17,170,170,249,199,0,32,251,199,0,32,255,199,0,32,1,200,0,32,3,200,0,32,5,200,0,32,7,200,0,32,9,200,0,224,13,200,0,32,15,200,0,32,1,0,28,22,96,109,238,114,1,0,28,22,160,92,246,114,1,0,28,22,112,215,206,114,2,0,56,22,28,22,170,170,131,212,0,96,32,6,250,114,1,0,28,22,32,163,203,114,1,0,28,22,208,133,217,114,1,0,28,22,192,101,195,114,1,0,28,22,48,149,191,114,2,0,56,22,28,22,170,170,140,212,0,96,48,149,191,114,2,0,56,22,28,22,170,170,131,212,0,96,0,101,242,114,3,0,0,0,228,133,166,3,32,119,252,2,111,254,94,3,11,0,103,13,68,14,237,12,206,6,190,11,47,13,34,4,106,12,114,12,165,12,45,22,33,200,0,32,35,200,0,32,37,200,0,32,39,200,0,32,43,200,0,32,45,200,0,32,47,200,0,32,49,200,0,32,51,200,0,32,55,200,0,32,59,200,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,6,250,114,2,0,56,22,28,22,170,170,131,212,0,96,176,161,241,114,1,0,28,22,0,101,242,114,2,0,56,22,28,22,170,170,131,212,0,96,208,239,241,114,1,0,28,22,112,72,209,114,3,0,0,0,116,111,145,3,104,250,249,2,230,131,85,3,6,0,68,14,20,7,75,12,216,7,222,11,45,22,170,170,80,200,0,32,84,200,0,32,88,200,0,32,90,200,0,32,94,200,0,32,96,200,0,224,2,0,56,22,28,22,170,170,131,212,0,96,192,27,249,114,3,0,0,0,192,40,120,3,112,201,250,2,120,152,45,3,2,0,68,14,45,22,170,170,110,200,0,32,114,200,0,224,1,0,28,22,32,66,240,114,2,0,56,22,28,22,170,170,131,212,0,96,208,96,244,114,1,0,28,22,224,82,232,114,1,0,28,22,176,48,239,114,3,0,0,0,224,81,122,3,208,66,249,2,228,203,72,3,1,0,28,22,208,216,224,114,1,0,28,22,0,48,230,114,7,0,5,6,68,14,231,8,111,11,45,22,114,13,27,14,122,200,0,32,124,200,0,32,128,200,0,32,130,200,0,32,132,200,0,224,136,200,0,32,138,200,0,32,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,0,0,100,82,135,3,112,201,250,2,56,218,63,3,2,0,22,22,45,22,170,170,151,200,0,32,155,200,0,224,2,0,104,22,28,22,170,170,224,255,224,114,240,211,217,114,1,0,28,22,208,193,207,114,2,0,28,22,71,22,170,170,64,211,208,114,32,13,228,114,1,0,28,22,32,13,228,114,1,0,28,22,176,161,241,114,1,0,28,22,16,170,237,114,1,0,28,22,144,37,207,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,1,0,28,22,96,63,204,114,2,0,28,22,71,22,170,170,112,12,219,114,32,13,228,114,1,0,28,22,240,15,208,114,1,0,28,22,64,112,162,114,1,0,28,22,16,4,223,114,1,0,28,22,144,37,207,114,2,0,28,22,71,22,170,170,224,255,224,114,32,13,228,114,1,0,28,22,176,25,222,114,1,0,28,22,208,103,222,114,3,0,0,0,32,103,182,3,112,201,250,2,146,26,112,3,18,0,201,13,122,8,31,12,103,13,68,14,67,12,199,19,150,8,39,7,170,7,244,7,175,11,87,4,120,19,9,3,64,11,70,4,45,22,170,170,163,200,0,32,167,200,0,32,169,200,0,32,173,200,0,32,175,200,0,32,177,200,0,32,179,200,0,32,181,200,0,32,185,200,0,32,187,200,0,32,191,200,0,32,193,200,0,32,195,200,0,32,197,200,0,32,199,200,0,32,203,200,0,32,205,200,0,32,207,200,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,1,0,28,22,160,39,234,114,3,0,0,0,8,31,153,3,208,66,249,2,115,229,89,3,3,0,150,8,131,11,45,22,239,200,0,32,243,200,0,32,245,200,0,224,1,0,28,22,160,189,209,114,1,0,28,22,64,68,211,114,2,0,56,22,28,22,170,170,140,212,0,96,208,103,222,114,1,0,28,22,160,39,234,114,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,0,0,0,112,1,0,28,22,0,161,232,114,1,0,28,22,176,48,239,114,2,0,56,22,28,22,170,170,140,212,0,96,176,115,207,114,3,0,56,22,28,22,71,22,140,212,0,96,112,215,206,114,32,13,228,114,1,0,28,22,208,216,224,114,1,0,28,22,0,55,208,114,1,0,28,22,32,57,179,114,1,0,28,22,0,55,208,114,1,0,28,22,64,234,225,114,1,0,28,22,128,134,226,114,1,0,28,22,0,55,208,114,2,0,28,22,71,22,170,170,144,60,224,114,32,13,228,114,1,0,28,22,0,55,208,114,1,0,28,22,0,78,225,114,3,0,0,0,20,130,182,3,112,201,250,2,11,201,111,3,1,0,28,22,0,55,208,114,1,0,28,22,48,195,225,114,1,0,28,22,160,189,209,114,24,0,185,13,151,5,213,12,103,13,68,14,9,23,67,12,150,8,111,13,103,7,174,7,87,4,41,9,187,15,41,11,100,11,70,4,30,12,244,10,154,20,45,22,101,10,28,8,125,22,170,170,254,200,0,32,0,201,0,32,2,201,0,32,6,201,0,32,8,201,0,32,12,201,0,32,14,201,0,32,16,201,0,32,18,201,0,32,22,201,0,32,27,201,0,32,29,201,0,32,31,201,0,32,33,201,0,32,35,201,0,32,37,201,0,32,39,201,0,32,41,201,0,32,45,201,0,32,47,201,0,32,49,201,0,224,53,201,0,32,55,201,0,32,57,201,0,32,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,8,195,134,3,64,84,250,2,134,245,72,3,2,0,68,14,45,22,170,170,96,201,0,32,100,201,0,224,2,0,56,22,28,22,170,170,140,212,0,96,96,199,223,114,1,0,28,22,96,26,231,114,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,80,190,218,114,2,0,56,22,28,22,170,170,140,212,0,96,96,199,223,114,1,0,28,22,160,39,234,114,3,0,0,0,164,155,153,3,200,228,250,2,84,151,92,3,1,0,28,22,240,91,237,114,8,0,201,12,30,6,26,11,134,20,85,10,47,13,45,22,239,13,170,170,108,201,0,32,112,201,0,32,114,201,0,32,118,201,0,32,120,201,0,32,124,201,0,32,126,201,0,224,130,201,0,32,2,0,56,22,28,22,170,170,131,212,0,96,16,110,247,114,1,0,28,22,224,165,239,114,1,0,28,22,128,21,224,114,3,0,0,0,156,162,134,3,112,88,248,2,21,71,74,3,1,0,28,22,144,60,224,114,5,0,150,8,99,7,244,7,45,22,125,22,145,201,0,32,149,201,0,32,151,201,0,32,153,201,0,224,157,201,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,68,142,137,3,32,119,252,2,184,52,66,3,2,0,68,14,45,22,170,170,167,201,0,32,171,201,0,224,1,0,28,22,32,13,228,114,1,0,28,22,224,255,224,114,2,0,56,22,28,22,170,170,140,212,0,96,176,161,241,114,2,0,56,22,28,22,170,170,140,212,0,96,240,91,237,114,2,0,56,22,28,22,170,170,131,212,0,96,144,226,238,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,140,212,0,96,192,177,224,114,1,0,28,22,48,195,225,114,1,0,28,22,32,73,218,114,1,0,28,22,160,242,221,114,1,0,28,22,96,10,192,114,3,0,0,0,176,212,164,3,56,151,246,2,90,58,106,3,13,0,145,4,157,4,234,9,47,12,68,14,1,7,163,22,71,7,185,7,169,8,17,11,250,11,45,22,179,201,0,32,181,201,0,32,183,201,0,32,187,201,0,32,191,201,0,32,195,201,0,32,197,201,0,32,199,201,0,32,203,201,0,32,205,201,0,32,207,201,0,32,209,201,0,32,211,201,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,227,247,114,1,0,28,22,96,79,243,114,3,0,0,0,48,99,135,3,64,227,247,2,2,125,60,3,3,0,68,14,67,12,45,22,235,201,0,32,239,201,0,32,241,201,0,224,1,0,28,22,32,209,237,114,2,0,56,22,28,22,170,170,131,212,0,96,128,127,248,114,3,0,0,0,84,243,135,3,32,119,252,2,32,196,64,3,3,0,106,17,129,20,45,22,250,201,0,32,252,201,0,32,0,202,0,224,2,0,56,22,28,22,170,170,131,212,0,96,192,200,241,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,1,0,28,22,16,27,240,114,3,0,0,0,16,191,140,3,88,122,243,2,56,207,89,3,5,0,68,14,1,7,163,22,237,9,45,22,9,202,0,32,13,202,0,32,15,202,0,32,17,202,0,32,19,202,0,224,1,0,28,22,224,165,239,114,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,131,212,0,96,16,27,240,114,1,0,28,22,96,56,226,114,1,0,28,22,176,48,239,114,1,0,28,22,32,13,228,114,1,0,28,22,240,91,237,114,3,0,0,0,148,203,151,3,208,239,241,2,154,169,103,3,8,0,1,7,163,22,150,8,235,8,26,23,235,10,161,12,45,22,170,170,31,202,0,32,33,202,0,32,35,202,0,32,39,202,0,32,41,202,0,32,43,202,0,32,45,202,0,32,47,202,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,3,0,0,0,4,161,137,3,224,105,249,2,104,36,78,3,2,0,150,8,45,22,170,170,64,202,0,32,68,202,0,224,1,0,28,22,240,121,232,114,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,1,0,28,22,112,118,243,114,2,0,56,22,28,22,170,170,131,212,0,96,128,217,233,114,2,0,56,22,28,22,170,170,131,212,0,96,160,233,160,114,3,0,0,0,64,86,152,3,240,13,250,2,18,254,83,3,6,0,213,5,67,12,249,6,150,8,70,4,45,22,170,170,76,202,0,32,78,202,0,32,82,202,0,32,84,202,0,32,88,202,0,32,92,202,0,224,1,0,28,22,112,72,209,114,1,0,28,22,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,1,0,28,22,112,118,243,114,1,0,28,22,160,39,234,114,1,0,28,22,0,221,222,114,1,0,28,22,80,17,226,114,1,0,28,22,96,63,204,114,3,0,0,0,100,90,167,3,8,135,250,2,151,94,103,3,1,0,28,22,192,64,222,114,1,0,28,22,112,139,177,114,11,0,85,5,103,13,63,12,68,14,150,8,53,10,107,11,130,12,45,22,101,10,58,13,106,202,0,32,108,202,0,32,110,202,0,32,114,202,0,32,116,202,0,32,118,202,0,32,120,202,0,32,122,202,0,32,124,202,0,224,128,202,0,32,130,202,0,32,3,0,0,0,192,206,84,3,112,201,250,2,0,64,13,3,2,0,104,22,28,22,170,170,32,119,252,114,32,119,252,114,2,0,45,22,122,13,170,170,149,202,0,224,153,202,0,32,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,2,0,56,22,28,22,170,170,140,212,0,96,96,26,231,114,3,0,0,0,180,228,164,3,24,67,247,2,77,94,104,3,3,0,67,12,138,11,45,22,161,202,0,32,165,202,0,32,169,202,0,224,2,0,56,22,28,22,170,170,131,212,0,96,160,9,239,114,2,0,56,22,28,22,170,170,122,212,0,96,240,144,249,114,3,0,0,0,164,27,141,3,112,201,250,2,229,205,73,3,3,0,164,10,68,14,45,22,178,202,0,32,182,202,0,32,186,202,0,224,1,0,28,22,160,233,160,114,1,0,28,22,160,233,160,114,1,0,28,22,160,99,224,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,108,27,137,3,104,30,244,2,198,110,89,3,5,0,1,7,163,22,219,8,70,4,45,22,195,202,0,32,197,202,0,32,199,202,0,32,201,202,0,32,205,202,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,20,226,141,3,48,176,249,2,60,174,82,3,2,0,68,14,45,22,170,170,217,202,0,32,221,202,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,118,243,114,3,0,0,0,52,30,170,3,152,242,249,2,255,141,97,3,1,0,28,22,224,105,249,114,1,0,28,22,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,5,0,68,14,45,22,47,14,210,9,125,22,229,202,0,32,233,202,0,224,237,202,0,32,239,202,0,32,241,202,0,32,3,0,0,0,244,115,63,3,112,201,250,2,32,119,252,2,2,0,104,22,28,22,170,170,32,119,252,114,32,119,252,114,2,0,45,22,122,13,170,170,253,202,0,224,1,203,0,32,1,0,28,22,128,224,211,114,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,3,0,0,0,152,151,154,3,120,170,248,2,142,149,100,3,3,0,68,14,67,12,45,22,9,203,0,32,11,203,0,32,15,203,0,224,1,0,28,22,80,40,243,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,2,0,56,22,28,22,170,170,140,212,0,96,0,221,222,114,3,0,0,0,20,88,164,3,136,197,250,2,119,241,92,3,2,0,56,22,28,22,170,170,140,212,0,96,32,216,215,114,5,0,68,14,252,12,87,4,45,22,141,13,24,203,0,32,26,203,0,32,30,203,0,32,34,203,0,224,38,203,0,32,3,0,104,22,56,22,28,22,32,119,252,114,131,212,0,96,240,151,227,114,2,0,56,22,28,22,170,170,131,212,0,96,80,10,248,114,3,0,0,0,20,147,150,3,152,28,243,2,150,112,103,3,3,0,150,8,237,20,45,22,50,203,0,32,55,203,0,32,59,203,0,224,1,0,28,22,96,109,238,114,1,0,28,22,128,187,238,114,1,0,28,22,224,255,224,114,1,0,28,22,192,11,210,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,240,68,220,114,1,0,28,22,128,254,206,114,1,0,28,22,176,175,197,114,3,0,0,0,128,52,167,3,112,201,250,2,31,103,101,3,9,0,103,13,68,14,150,8,252,12,20,8,173,13,240,10,178,19,45,22,68,203,0,32,70,203,0,32,72,203,0,32,74,203,0,32,76,203,0,32,80,203,0,32,82,203,0,32,84,203,0,32,86,203,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,16,233,158,3,168,150,250,2,195,177,89,3,2,0,67,12,45,22,170,170,104,203,0,32,108,203,0,224,1,0,28,22,224,142,222,114,1,0,28,22,112,72,209,114,2,0,104,22,28,22,170,170,224,52,237,114,32,43,223,114,1,0,28,22,128,51,219,114,1,0,28,22,80,160,223,114,2,0,104,22,28,22,170,170,224,52,237,114,240,181,222,114,2,0,104,22,28,22,170,170,224,52,237,114,0,221,222,114,1,0,28,22,128,254,206,114,1,0,28,22,80,107,211,114,2,0,56,22,28,22,170,170,131,212,0,96,64,114,245,114,2,0,104,22,28,22,170,170,224,52,237,114,96,222,240,114,1,0,28,22,192,11,210,114,1,0,28,22,160,76,207,114,1,0,28,22,144,37,207,114,1,0,28,22,16,177,215,114,2,0,104,22,28,22,170,170,192,200,241,114,240,8,230,114,1,0,28,22,80,77,216,114,1,0,28,22,64,241,203,114,2,0,104,22,28,22,170,170,224,52,237,114,224,255,224,114,1,0,28,22,32,156,225,114,1,0,28,22,192,64,222,114,1,0,28,22,0,145,193,114,1,0,28,22,16,207,210,114,1,0,28,22,160,46,212,114,1,0,28,22,112,215,206,114,1,0,28,22,208,246,219,114,1,0,28,22,224,36,198,114,1,0,28,22,0,131,237,114,1,0,28,22,64,241,203,114,3,0,0,0,8,1,183,3,64,215,249,2,146,21,121,3,1,0,28,22,128,51,219,114,31,0,149,4,217,4,21,5,41,5,61,5,127,5,205,5,83,7,146,7,83,12,90,8,160,8,33,9,91,9,131,9,217,9,233,9,1,10,49,10,115,12,177,22,128,10,195,10,162,11,210,11,167,18,94,12,230,6,180,12,45,22,125,22,116,203,0,32,118,203,0,32,120,203,0,32,124,203,0,32,126,203,0,32,128,203,0,32,132,203,0,32,136,203,0,32,138,203,0,32,140,203,0,32,144,203,0,32,148,203,0,32,150,203,0,32,152,203,0,32,154,203,0,32,156,203,0,32,160,203,0,32,162,203,0,32,164,203,0,32,168,203,0,32,170,203,0,32,172,203,0,32,174,203,0,32,176,203,0,32,178,203,0,32,180,203,0,32,182,203,0,32,184,203,0,32,186,203,0,32,188,203,0,224,192,203,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,80,70,238,114,2,0,56,22,28,22,170,170,131,212,0,96,160,9,239,114,3,0,0,0,84,45,168,3,112,201,250,2,25,100,94,3,4,0,68,14,150,8,111,13,45,22,170,170,241,203,0,32,245,203,0,32,247,203,0,32,251,203,0,224,1,0,28,22,112,42,214,114,2,0,56,22,28,22,170,170,131,212,0,96,128,187,238,114,1,0,28,22,144,166,248,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,160,242,221,114,1,0,28,22,208,103,222,114,1,0,28,22,64,241,203,114,1,0,28,22,240,181,222,114,1,0,28,22,80,17,226,114,1,0,28,22,240,91,237,114,3,0,0,0,236,159,167,3,56,127,250,2,220,186,99,3,1,0,28,22,128,254,206,114,1,0,28,22,224,255,224,114,13,0,3,12,185,13,68,14,184,10,20,8,64,9,75,8,100,11,173,13,47,13,45,22,255,12,185,12,6,204,0,32,8,204,0,32,12,204,0,32,14,204,0,32,18,204,0,32,20,204,0,32,22,204,0,32,24,204,0,32,26,204,0,32,28,204,0,32,30,204,0,224,34,204,0,32,36,204,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,56,22,28,22,170,170,131,212,0,96,48,82,223,114,3,0,0,0,224,161,142,3,112,201,250,2,158,200,69,3,3,0,68,14,193,7,45,22,58,204,0,32,62,204,0,32,66,204,0,224,2,0,56,22,28,22,170,170,140,212,0,96,208,103,222,114,2,0,28,22,71,22,170,170,48,82,223,114,32,13,228,114,1,0,28,22,240,105,193,114,1,0,28,22,32,27,184,114,1,0,28,22,208,140,195,114,2,0,104,22,28,22,170,170,176,18,244,114,192,64,222,114,1,0,28,22,128,254,206,114,1,0,28,22,64,241,203,114,2,0,104,22,28,22,170,170,32,66,240,114,112,238,223,114,2,0,104,22,28,22,170,170,0,214,244,114,64,181,213,114,2,0,56,22,28,22,170,170,140,212,0,96,16,200,232,114,1,0,28,22,48,149,191,114,1,0,28,22,128,5,185,114,1,0,28,22,208,230,180,114,1,0,28,22,160,76,207,114,1,0,28,22,224,156,178,114,1,0,28,22,64,45,194,114,1,0,28,22,240,68,220,114,1,0,28,22,0,55,208,114,1,0,28,22,224,246,163,114,1,0,28,22,64,112,162,114,2,0,56,22,28,22,170,170,131,212,0,96,112,148,238,114,1,0,28,22,112,72,209,114,1,0,28,22,192,11,210,114,1,0,28,22,64,211,208,114,1,0,28,22,208,253,197,114,2,0,56,22,28,22,170,170,140,212,0,96,208,73,227,114,2,0,56,22,28,22,170,170,131,212,0,96,208,239,241,114,1,0,28,22,96,176,206,114,1,0,28,22,176,25,222,114,1,0,28,22,176,2,205,114,1,0,28,22,160,106,202,114,1,0,28,22,48,89,201,114,1,0,28,22,32,133,208,114,3,0,104,22,56,22,28,22,16,27,240,114,140,212,0,96,128,28,202,114,1,0,28,22,176,115,207,114,1,0,28,22,96,17,170,114,2,0,56,22,28,22,170,170,140,212,0,96,80,17,226,114,2,0,56,22,28,22,170,170,140,212,0,96,16,207,210,114,1,0,28,22,240,15,208,114,2,0,56,22,28,22,170,170,140,212,0,96,80,107,211,114,1,0,28,22,208,117,178,114,1,0,28,22,112,252,179,114,1,0,28,22,224,156,178,114,1,0,28,22,112,72,209,114,2,0,104,22,28,22,170,170,32,66,240,114,192,64,222,114,2,0,56,22,28,22,170,170,140,212,0,96,192,64,222,114,2,0,56,22,28,22,170,170,140,212,0,96,0,78,225,114,1,0,28,22,112,215,206,114,2,0,56,22,28,22,170,170,140,212,0,96,96,26,231,114,1,0,28,22,144,180,204,114,1,0,28,22,192,64,222,114,2,0,56,22,28,22,170,170,140,212,0,96,64,181,213,114,1,0,28,22,240,105,193,114,1,0,28,22,144,37,207,114,2,0,56,22,28,22,170,170,140,212,0,96,0,78,225,114,2,0,56,22,28,22,170,170,140,212,0,96,192,177,224,114,1,0,28,22,96,176,206,114,1,0,28,22,80,227,191,114,2,0,104,22,28,22,170,170,128,187,238,114,112,185,211,114,2,0,56,22,28,22,170,170,140,212,0,96,0,122,176,114,2,0,56,22,28,22,170,170,140,212,0,96,48,142,213,114,1,0,28,22,80,84,194,114,1,0,28,22,224,232,207,114,2,0,56,22,28,22,170,170,140,212,0,96,96,33,209,114,2,0,56,22,28,22,170,170,140,212,0,96,160,76,207,114,1,0,28,22,176,62,195,114,1,0,28,22,128,111,209,114,2,0,56,22,28,22,170,170,140,212,0,96,176,108,229,114,1,0,28,22,176,115,207,114,2,0,56,22,28,22,170,170,140,212,0,96,128,104,231,114,3,0,0,0,72,128,192,3,96,67,245,2,193,74,134,3,1,0,28,22,96,63,204,114,1,0,28,22,128,58,197,114,2,0,56,22,28,22,170,170,140,212,0,96,32,13,228,114,1,0,28,22,224,232,207,114,1,0,28,22,176,115,207,114,2,0,104,22,28,22,170,170,208,126,239,114,160,46,212,114,1,0,28,22,192,154,207,114,79,0,189,13,13,5,73,5,77,5,81,5,88,5,100,5,104,5,108,5,123,5,151,5,214,23,154,5,166,5,174,5,193,5,249,5,127,6,159,6,187,6,198,6,68,14,91,7,138,7,142,7,166,7,174,7,75,12,110,23,240,7,0,8,4,8,149,8,153,8,168,8,176,8,184,8,216,8,227,8,3,9,7,9,72,9,99,9,111,9,143,9,225,9,229,9,75,8,64,10,248,13,100,10,124,10,241,7,203,10,219,10,58,19,41,11,146,11,174,11,186,11,12,14,10,12,18,12,26,12,59,13,53,23,145,12,176,12,154,20,212,12,159,20,45,22,126,13,130,13,28,8,196,13,200,13,208,13,255,13,75,204,0,32,79,204,0,32,83,204,0,32,85,204,0,32,87,204,0,32,89,204,0,32,93,204,0,32,95,204,0,32,97,204,0,32,101,204,0,32,105,204,0,32,109,204,0,32,111,204,0,32,113,204,0,32,115,204,0,32,117,204,0,32,119,204,0,32,121,204,0,32,123,204,0,32,125,204,0,32,127,204,0,32,129,204,0,32,133,204,0,32,135,204,0,32,137,204,0,32,139,204,0,32,141,204,0,32,145,204,0,32,149,204,0,32,151,204,0,32,153,204,0,32,155,204,0,32,157,204,0,32,159,204,0,32,161,204,0,32,166,204,0,32,168,204,0,32,170,204,0,32,174,204,0,32,178,204,0,32,180,204,0,32,184,204,0,32,186,204,0,32,188,204,0,32,190,204,0,32,192,204,0,32,196,204,0,32,200,204,0,32,204,204,0,32,206,204,0,32,210,204,0,32,212,204,0,32,214,204,0,32,218,204,0,32,220,204,0,32,222,204,0,32,226,204,0,32,230,204,0,32,232,204,0,32,234,204,0,32,238,204,0,32,242,204,0,32,246,204,0,32,248,204,0,32,250,204,0,32,254,204,0,32,2,205,0,32,4,205,0,32,6,205,0,32,10,205,0,32,12,205,0,32,16,205,0,224,20,205,0,32,22,205,0,32,24,205,0,32,28,205,0,32,30,205,0,32,32,205,0,32,36,205,0,32,3,0,104,22,56,22,28,22,32,119,252,114,131,212,0,96,32,119,252,114,3,0,0,0,180,98,119,3,112,201,250,2,112,14,46,3,2,0,68,14,45,22,170,170,157,205,0,32,162,205,0,224,2,0,56,22,28,22,170,170,131,212,0,96,128,14,246,114,2,0,56,22,28,22,170,170,140,212,0,96,32,43,223,114,2,0,56,22,28,22,170,170,140,212,0,96,128,187,238,114,1,0,28,22,112,5,241,114,1,0,28,22,48,112,218,114,1,0,28,22,144,120,214,114,1,0,28,22,224,202,212,114,3,0,0,0,148,177,172,3,168,168,247,2,183,174,107,3,8,0,185,13,64,23,49,6,68,14,22,10,159,9,192,12,45,22,170,170,170,205,0,32,174,205,0,32,178,205,0,32,182,205,0,32,184,205,0,32,186,205,0,32,188,205,0,32,190,205,0,224,1,0,28,22,64,121,223,114,1,0,28,22,192,87,239,114,1,0,28,22,64,121,223,114,2,0,28,22,71,22,170,170,64,181,213,114,32,13,228,114,1,0,28,22,224,142,222,114,1,0,28,22,112,95,226,114,2,0,56,22,28,22,170,170,131,212,0,96,240,31,247,114,1,0,28,22,32,253,188,114,1,0,28,22,224,112,227,114,1,0,28,22,64,211,208,114,1,0,28,22,240,188,200,114,1,0,28,22,112,252,179,114,1,0,28,22,128,194,216,114,2,0,104,22,28,22,170,170,224,52,237,114,80,160,223,114,1,0,28,22,192,64,222,114,1,0,28,22,32,13,228,114,1,0,28,22,224,202,212,114,1,0,28,22,192,154,207,114,2,0,104,22,28,22,170,170,160,242,221,114,48,82,223,114,1,0,28,22,80,17,226,114,3,0,0,0,32,140,180,3,144,166,248,2,145,181,114,3,1,0,28,22,192,177,224,114,22,0,185,13,64,23,17,5,92,5,158,5,49,6,22,10,95,7,126,7,30,6,26,11,85,22,135,9,159,9,198,9,151,10,119,11,66,6,198,11,42,12,45,22,38,11,170,170,207,205,0,32,209,205,0,32,211,205,0,32,213,205,0,32,217,205,0,32,219,205,0,32,221,205,0,32,225,205,0,32,227,205,0,32,229,205,0,32,231,205,0,32,233,205,0,32,235,205,0,32,237,205,0,32,241,205,0,32,243,205,0,32,245,205,0,32,247,205,0,32,249,205,0,32,253,205,0,32,255,205,0,224,3,206,0,32,1,0,28,22,192,237,214,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,40,77,150,3,112,201,250,2,206,149,76,3,3,0,106,17,93,11,45,22,39,206,0,32,41,206,0,32,45,206,0,224,1,0,28,22,176,62,195,114,1,0,28,22,0,221,222,114,1,0,28,22,160,136,197,114,1,0,28,22,176,62,195,114,1,0,28,22,96,222,240,114,2,0,56,22,28,22,170,170,140,212,0,96,240,8,230,114,2,0,28,22,71,22,170,170,64,15,199,114,32,13,228,114,1,0,28,22,192,48,183,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,1,0,28,22,32,73,218,114,1,0,28,22,96,123,194,114,2,0,28,22,71,22,170,170,208,246,219,114,32,13,228,114,1,0,28,22,112,192,189,114,1,0,28,22,0,0,0,112,1,0,28,22,16,4,223,114,2,0,28,22,71,22,170,170,224,172,217,114,32,13,228,114,1,0,28,22,208,193,207,114,1,0,28,22,208,193,207,114,3,0,0,0,148,148,181,3,112,201,250,2,219,69,111,3,2,0,56,22,28,22,170,170,140,212,0,96,208,103,222,114,20,0,122,8,103,13,209,6,63,12,68,14,150,8,59,7,252,12,87,4,115,9,147,9,159,10,103,11,166,11,34,11,187,18,38,12,178,19,45,22,141,13,170,170,54,206,0,32,56,206,0,32,58,206,0,32,60,206,0,32,62,206,0,32,64,206,0,32,68,206,0,32,72,206,0,32,74,206,0,32,78,206,0,32,80,206,0,32,82,206,0,32,86,206,0,32,88,206,0,32,90,206,0,32,92,206,0,32,96,206,0,32,98,206,0,32,100,206,0,224,104,206,0,32,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,0,0,36,196,140,3,112,201,250,2,145,198,72,3,2,0,68,14,45,22,170,170,139,206,0,32,143,206,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,48,45,250,114,3,0,0,0,248,128,151,3,176,244,248,2,25,199,90,3,3,0,68,14,62,8,45,22,151,206,0,32,155,206,0,32,157,206,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,16,140,242,114,3,0,0,0,144,27,161,3,88,80,250,2,238,102,103,3,3,0,185,13,68,14,45,22,166,206,0,32,170,206,0,32,172,206,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,1,0,28,22,0,25,213,114,2,0,28,22,71,22,170,170,144,233,216,114,32,13,228,114,3,0,0,0,172,89,186,3,112,201,250,2,195,236,118,3,4,0,38,6,97,11,242,11,45,22,170,170,181,206,0,32,185,206,0,32,187,206,0,32,191,206,0,224,1,0,28,22,96,236,196,114,2,0,28,22,71,22,170,170,224,172,217,114,32,13,228,114,2,0,104,22,28,22,170,170,160,242,221,114,240,181,222,114,2,0,56,22,28,22,170,170,131,212,0,96,112,148,238,114,1,0,28,22,16,214,188,114,1,0,28,22,16,230,227,114,1,0,28,22,192,4,232,114,1,0,28,22,80,70,238,114,1,0,28,22,192,4,232,114,1,0,28,22,32,96,235,114,1,0,28,22,240,91,237,114,2,0,104,22,28,22,170,170,96,79,243,114,0,221,222,114,1,0,28,22,128,134,226,114,1,0,28,22,176,85,212,114,1,0,28,22,176,205,192,114,2,0,104,22,28,22,170,170,160,242,221,114,16,177,215,114,2,0,104,22,28,22,170,170,160,242,221,114,160,46,212,114,1,0,28,22,208,103,222,114,2,0,56,22,28,22,170,170,131,212,0,96,96,192,245,114,1,0,28,22,96,116,216,114,3,0,0,0,180,72,165,3,80,4,249,2,47,235,109,3,21,0,185,13,123,6,201,6,68,14,174,7,189,7,109,8,136,9,208,8,182,9,194,9,241,9,13,10,219,11,41,11,96,11,6,12,244,10,171,7,228,12,45,22,202,206,0,32,204,206,0,32,208,206,0,32,212,206,0,32,216,206,0,32,218,206,0,32,220,206,0,32,222,206,0,32,224,206,0,32,226,206,0,32,228,206,0,32,230,206,0,32,234,206,0,32,236,206,0,32,238,206,0,32,240,206,0,32,244,206,0,32,248,206,0,32,250,206,0,32,254,206,0,32,0,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,1,243,114,2,0,56,22,28,22,170,170,131,212,0,96,128,44,241,114,3,0,0,0,76,15,151,3,64,209,250,2,10,152,95,3,3,0,222,6,47,13,45,22,36,207,0,32,40,207,0,32,44,207,0,224,1,0,28,22,0,221,222,114,1,0,28,22,112,215,206,114,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,3,0,0,0,52,83,157,3,248,244,246,2,118,85,104,3,4,0,37,6,137,8,98,21,45,22,170,170,53,207,0,32,55,207,0,32,57,207,0,32,61,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,56,22,28,22,170,170,131,212,0,96,0,214,244,114,3,0,0,0,56,121,120,3,224,105,249,2,116,240,72,3,3,0,68,14,110,7,45,22,72,207,0,32,76,207,0,32,80,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,192,245,114,2,0,56,22,28,22,170,170,131,212,0,96,192,57,244,114,3,0,0,0,252,71,134,3,120,51,247,2,137,37,84,3,2,0,56,22,28,22,170,170,131,212,0,96,96,222,240,114,2,0,56,22,28,22,170,170,131,212,0,96,144,83,241,114,5,0,185,13,150,8,45,22,204,13,59,14,89,207,0,32,93,207,0,32,97,207,0,224,101,207,0,32,105,207,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,56,162,134,3,144,154,250,2,226,47,64,3,2,0,68,14,45,22,170,170,117,207,0,32,121,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,192,27,249,114,3,0,0,0,128,161,153,3,32,119,252,2,243,169,105,3,2,0,97,11,45,22,170,170,129,207,0,32,133,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,108,38,181,3,120,158,250,2,15,169,109,3,2,0,97,11,45,22,170,170,141,207,0,32,145,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,228,52,167,3,56,2,250,2,107,15,91,3,2,0,185,13,45,22,170,170,153,207,0,32,157,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,12,24,136,3,136,197,250,2,48,109,65,3,2,0,68,14,45,22,170,170,165,207,0,32,169,207,0,224,1,0,28,22,0,48,230,114,1,0,28,22,48,248,237,114,2,0,56,22,28,22,170,170,131,212,0,96,64,114,245,114,2,0,56,22,28,22,170,170,131,212,0,96,192,170,246,114,3,0,0,0,200,22,170,3,200,228,250,2,7,170,104,3,1,0,28,22,64,121,223,114,6,0,103,13,68,14,182,4,47,13,45,22,75,23,170,170,177,207,0,32,179,207,0,32,181,207,0,32,185,207,0,32,189,207,0,224,193,207,0,32,1,0,28,22,224,255,224,114,1,0,28,22,192,207,219,114,1,0,28,22,160,69,229,114,2,0,56,22,28,22,170,170,131,212,0,96,144,53,246,114,3,0,0,0,88,14,155,3,24,198,246,2,36,219,97,3,5,0,244,7,137,8,196,8,51,8,45,22,205,207,0,32,207,207,0,32,209,207,0,32,211,207,0,32,215,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,192,200,241,114,1,0,28,22,16,207,210,114,1,0,28,22,64,91,228,114,1,0,28,22,16,4,223,114,3,0,0,0,68,254,160,3,64,90,249,2,145,214,94,3,6,0,185,13,68,14,150,8,30,6,83,23,45,22,170,170,227,207,0,32,231,207,0,32,233,207,0,32,235,207,0,32,237,207,0,32,239,207,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,3,0,0,0,184,37,136,3,200,109,249,2,23,198,73,3,2,0,68,14,45,22,170,170,253,207,0,32,1,208,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,56,22,28,22,71,22,122,212,0,96,144,166,248,114,32,13,228,114,3,0,0,0,72,221,139,3,32,119,252,2,74,242,61,3,1,0,28,22,16,117,225,114,4,0,103,13,170,7,45,22,180,13,170,170,9,208,0,32,13,208,0,32,18,208,0,224,22,208,0,32,1,0,28,22,224,52,237,114,2,0,56,22,28,22,170,170,131,212,0,96,128,14,246,114,2,0,56,22,28,22,170,170,131,212,0,96,48,248,237,114,3,0,0,0,152,254,166,3,192,152,249,2,92,62,105,3,4,0,68,14,67,13,154,20,45,22,170,170,31,208,0,32,33,208,0,32,37,208,0,32,41,208,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,88,248,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,1,0,28,22,32,209,237,114,1,0,28,22,192,124,212,114,3,0,0,0,64,152,141,3,64,245,244,2,194,59,94,3,1,0,28,22,160,99,224,114,1,0,28,22,0,0,0,112,8,0,68,14,1,7,163,22,235,8,9,10,45,22,134,13,91,23,170,170,52,208,0,32,56,208,0,32,58,208,0,32,60,208,0,32,62,208,0,32,64,208,0,224,68,208,0,32,70,208,0,32,2,0,56,22,28,22,170,170,131,212,0,96,240,204,239,114,1,0,28,22,128,21,224,114,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,192,108,142,3,64,90,249,2,69,127,89,3,1,0,28,22,240,68,220,114,1,0,28,22,32,209,237,114,6,0,68,14,186,5,198,15,45,22,228,13,79,14,170,170,85,208,0,32,89,208,0,32,91,208,0,32,95,208,0,224,99,208,0,32,101,208,0,32,1,0,28,22,32,209,237,114,1,0,28,22,160,122,241,114,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,64,227,247,114,1,0,28,22,0,0,0,112,3,0,0,0,12,124,161,3,200,228,250,2,250,168,90,3,6,0,103,13,68,14,187,15,47,13,70,12,45,22,170,170,113,208,0,32,115,208,0,32,117,208,0,32,121,208,0,32,123,208,0,32,125,208,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,1,0,28,22,192,57,244,114,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,3,0,56,22,28,22,71,22,131,212,0,96,112,231,245,114,32,13,228,114,1,0,28,22,64,31,238,114,3,0,0,0,44,1,157,3,32,119,252,2,93,210,80,3,6,0,103,13,68,14,150,8,84,9,70,4,45,22,170,170,139,208,0,32,143,208,0,32,145,208,0,32,149,208,0,32,154,208,0,32,156,208,0,224,1,0,28,22,32,179,242,114,1,0,28,22,144,0,234,114,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,1,0,28,22,160,122,241,114,3,0,0,0,40,197,155,3,176,232,250,2,219,92,89,3,5,0,68,14,163,9,202,9,47,13,45,22,170,208,0,32,172,208,0,32,174,208,0,32,178,208,0,32,180,208,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,248,246,114,3,0,0,0,180,251,156,3,88,86,249,2,158,1,97,3,2,0,185,13,45,22,170,170,192,208,0,32,196,208,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,36,245,114,1,0,28,22,176,244,248,114,1,0,28,22,32,209,237,114,1,0,28,22,144,210,199,114,2,0,56,22,28,22,170,170,122,212,0,96,128,187,238,114,2,0,28,22,71,22,170,170,16,230,227,114,32,13,228,114,2,0,28,22,71,22,170,170,16,230,227,114,32,13,228,114,1,0,28,22,112,178,233,114,1,0,28,22,112,178,233,114,3,0,0,0,168,87,167,3,88,235,245,2,97,45,107,3,3,0,104,22,56,22,28,22,208,126,239,114,131,212,0,96,32,96,235,114,1,0,28,22,160,9,239,114,12,0,185,13,107,4,68,14,67,12,150,8,178,11,100,23,74,12,109,23,45,22,98,13,71,14,170,170,204,208,0,32,208,208,0,32,210,208,0,32,212,208,0,32,214,208,0,32,218,208,0,32,222,208,0,32,226,208,0,32,228,208,0,32,230,208,0,224,234,208,0,32,239,208,0,32,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,3,0,0,0,160,249,143,3,112,201,250,2,240,236,61,3,2,0,150,8,45,22,170,170,4,209,0,32,8,209,0,224,1,0,28,22,224,195,234,114,1,0,28,22,16,117,225,114,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,1,0,28,22,224,255,224,114,3,0,0,0,144,37,151,3,112,201,250,2,66,160,91,3,1,0,28,22,32,209,237,114,6,0,85,5,75,7,173,13,47,13,45,22,158,12,170,170,16,209,0,32,18,209,0,32,20,209,0,32,24,209,0,32,26,209,0,224,30,209,0,32,1,0,28,22,240,121,232,114,1,0,28,22,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,208,55,149,3,232,181,250,2,3,138,80,3,4,0,130,12,16,14,155,22,45,22,170,170,42,209,0,32,44,209,0,32,46,209,0,32,50,209,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,220,147,125,3,112,201,250,2,56,241,60,3,2,0,150,8,45,22,170,170,61,209,0,32,65,209,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,109,238,114,2,0,56,22,28,22,170,170,131,212,0,96,144,53,246,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,3,0,0,0,164,155,153,3,200,133,245,2,53,221,105,3,4,0,68,14,150,8,208,10,45,22,170,170,73,209,0,32,77,209,0,32,81,209,0,32,85,209,0,224,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,2,0,56,22,28,22,170,170,131,212,0,96,208,209,246,114,3,0,0,0,32,0,120,3,104,250,249,2,34,221,67,3,3,0,68,14,27,13,45,22,96,209,0,32,100,209,0,32,104,209,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,231,245,114,2,0,56,22,28,22,170,170,140,212,0,96,208,126,239,114,3,0,0,0,28,67,152,3,240,138,250,2,117,188,89,3,1,0,28,22,48,195,225,114,4,0,53,10,130,12,45,22,101,10,170,170,113,209,0,32,117,209,0,32,121,209,0,224,125,209,0,32,1,0,28,22,96,229,218,114,1,0,28,22,32,179,242,114,1,0,28,22,64,121,223,114,1,0,28,22,32,73,218,114,1,0,28,22,16,34,218,114,1,0,28,22,176,25,222,114,1,0,28,22,208,43,232,114,2,0,56,22,28,22,170,170,131,212,0,96,32,179,242,114,1,0,28,22,160,242,221,114,1,0,28,22,16,4,223,114,1,0,28,22,32,13,228,114,1,0,28,22,32,156,225,114,1,0,28,22,176,108,229,114,3,0,0,0,40,209,153,3,240,198,240,2,14,188,104,3,1,0,28,22,80,160,223,114,15,0,185,13,92,7,121,23,147,5,225,5,167,6,4,7,150,8,113,8,180,8,116,10,66,12,122,12,45,22,26,13,134,209,0,32,136,209,0,32,138,209,0,32,140,209,0,32,142,209,0,32,144,209,0,32,146,209,0,32,148,209,0,32,152,209,0,32,154,209,0,32,156,209,0,32,158,209,0,32,160,209,0,32,162,209,0,224,166,209,0,32,1,0,28,22,224,66,193,114,1,0,28,22,16,4,223,114,1,0,28,22,240,22,186,114,1,0,28,22,240,181,222,114,2,0,56,22,28,22,170,170,131,212,0,96,64,114,245,114,1,0,28,22,16,4,223,114,1,0,28,22,0,48,230,114,3,0,0,0,136,209,167,3,88,211,249,2,205,98,110,3,8,0,244,7,101,8,184,8,72,10,136,10,170,11,78,12,45,22,170,170,191,209,0,32,193,209,0,32,195,209,0,32,197,209,0,32,199,209,0,32,203,209,0,32,205,209,0,32,207,209,0,224,1,0,28,22,128,104,231,114,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,1,0,28,22,144,37,207,114,3,0,0,0,200,43,154,3,240,138,250,2,131,83,91,3,1,0,28,22,128,201,194,114,1,0,28,22,224,142,222,114,6,0,85,22,244,13,47,13,45,22,75,23,210,9,170,170,224,209,0,32,226,209,0,32,230,209,0,32,232,209,0,224,236,209,0,32,238,209,0,32,1,0,28,22,112,238,223,114,2,0,56,22,28,22,170,170,131,212,0,96,32,13,228,114,3,0,0,0,180,83,159,3,160,68,250,2,250,155,80,3,1,0,28,22,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,5,0,68,14,70,4,45,22,210,9,125,22,250,209,0,32,252,209,0,32,0,210,0,224,4,210,0,32,6,210,0,32,1,0,28,22,96,109,238,114,2,0,56,22,28,22,170,170,122,212,0,96,80,123,250,114,3,0,0,0,232,41,134,3,80,123,250,2,154,210,63,3,3,0,164,10,68,14,45,22,18,210,0,32,20,210,0,32,24,210,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,52,154,141,3,96,162,250,2,99,227,77,3,2,0,150,8,45,22,170,170,33,210,0,32,37,210,0,224,2,0,56,22,28,22,170,170,131,212,0,96,144,166,248,114,1,0,28,22,144,30,229,114,1,0,28,22,0,0,0,112,1,0,28,22,80,70,238,114,3,0,0,0,0,42,150,3,80,159,244,2,164,154,92,3,1,0,28,22,80,250,208,114,6,0,185,13,1,7,163,22,150,8,45,22,242,6,170,170,45,210,0,32,49,210,0,32,51,210,0,32,53,210,0,32,55,210,0,224,59,210,0,32,2,0,56,22,28,22,170,170,131,212,0,96,80,153,245,114,3,0,0,0,104,144,119,3,80,123,250,2,20,234,48,3,2,0,68,14,45,22,170,170,71,210,0,32,75,210,0,224,2,0,56,22,28,22,170,170,131,212,0,96,192,27,249,114,1,0,28,22,240,91,237,114,1,0,28,22,192,57,244,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,88,119,150,3,160,199,249,2,243,53,78,3,5,0,68,14,150,8,87,4,199,11,45,22,83,210,0,32,87,210,0,32,89,210,0,32,91,210,0,32,95,210,0,224,1,0,28,22,240,204,239,114,2,0,56,22,28,22,170,170,131,212,0,96,192,170,246,114,2,0,56,22,28,22,170,170,131,212,0,96,224,255,224,114,1,0,28,22,224,105,249,114,1,0,28,22,144,60,224,114,3,0,0,0,76,215,151,3,0,59,249,2,209,152,88,3,1,0,28,22,64,91,228,114,7,0,108,5,68,14,150,8,25,10,154,20,45,22,28,8,107,210,0,32,109,210,0,32,113,210,0,32,117,210,0,32,119,210,0,32,121,210,0,224,125,210,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,1,0,28,22,240,31,247,114,3,0,0,0,116,204,142,3,0,178,250,2,160,54,77,3,3,0,187,6,68,14,45,22,138,210,0,32,142,210,0,32,144,210,0,224,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,3,0,0,0,200,242,150,3,32,24,247,2,62,252,104,3,1,0,28,22,224,29,220,114,1,0,28,22,64,61,233,114,1,0,28,22,208,50,210,114,6,0,68,14,2,11,45,22,34,13,86,13,79,14,170,170,153,210,0,32,157,210,0,32,161,210,0,224,165,210,0,32,167,210,0,32,169,210,0,32,1,0,28,22,16,170,237,114,2,0,56,22,28,22,170,170,122,212,0,96,112,88,248,114,1,0,28,22,224,89,210,114,1,0,28,22,240,15,208,114,1,0,28,22,48,29,211,114,1,0,28,22,48,29,211,114,1,0,28,22,96,17,170,114,3,0,0,0,156,205,181,3,152,242,249,2,10,249,118,3,2,0,56,22,28,22,170,170,140,212,0,96,112,139,177,114,1,0,28,22,240,98,215,114,10,0,68,14,67,12,245,9,163,10,183,10,187,10,58,12,45,22,141,13,43,14,170,170,181,210,0,32,183,210,0,32,187,210,0,32,189,210,0,32,191,210,0,32,193,210,0,32,195,210,0,32,197,210,0,224,201,210,0,32,205,210,0,32,1,0,28,22,112,49,192,114,1,0,28,22,112,245,201,114,1,0,28,22,64,181,213,114,1,0,28,22,144,226,238,114,1,0,28,22,144,60,224,114,1,0,28,22,192,64,222,114,1,0,28,22,176,115,207,114,2,0,56,22,28,22,170,170,131,212,0,96,240,31,247,114,1,0,28,22,160,212,226,114,3,0,0,0,244,6,177,3,248,226,249,2,185,187,106,3,1,0,28,22,80,70,238,114,1,0,28,22,192,64,222,114,12,0,127,5,205,5,171,6,68,14,34,8,90,8,75,8,115,12,154,20,45,22,210,9,75,14,170,170,223,210,0,32,225,210,0,32,227,210,0,32,229,210,0,32,231,210,0,32,233,210,0,32,235,210,0,32,237,210,0,32,241,210,0,32,243,210,0,224,247,210,0,32,249,210,0,32,1,0,28,22,208,73,227,114,1,0,28,22,48,135,235,114,1,0,28,22,64,204,230,114,1,0,28,22,160,99,224,114,2,0,56,22,28,22,170,170,131,212,0,96,240,204,239,114,1,0,28,22,32,156,225,114,1,0,28,22,224,112,227,114,1,0,28,22,112,162,194,114,3,0,0,0,212,47,153,3,168,61,244,2,246,87,106,3,1,0,28,22,240,121,232,114,1,0,28,22,16,170,237,114,1,0,28,22,128,21,224,114,1,0,28,22,0,205,183,114,13,0,33,10,167,10,179,10,2,11,70,4,206,11,54,12,171,7,45,22,79,13,164,13,23,14,79,14,14,211,0,32,16,211,0,32,18,211,0,32,20,211,0,32,22,211,0,32,26,211,0,32,28,211,0,32,30,211,0,32,32,211,0,224,36,211,0,32,38,211,0,32,40,211,0,32,42,211,0,32,1,0,28,22,240,31,247,114,1,0,28,22,96,229,218,114,2,0,56,22,28,22,170,170,131,212,0,96,96,26,231,114,1,0,28,22,176,78,234,114,1,0,28,22,112,5,241,114,1,0,28,22,240,91,237,114,1,0,28,22,144,226,238,114,3,0,0,0,16,150,151,3,0,59,249,2,95,129,90,3,1,0,28,22,64,181,213,114,9,0,251,11,103,13,68,14,31,8,205,8,51,19,207,11,45,22,207,23,64,211,0,32,66,211,0,32,68,211,0,32,72,211,0,32,74,211,0,32,76,211,0,32,78,211,0,32,80,211,0,224,84,211,0,32,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,252,56,149,3,16,92,250,2,153,168,75,3,2,0,150,8,45,22,170,170,100,211,0,32,104,211,0,224,1,0,28,22,16,94,208,114,1,0,28,22,80,70,238,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,2,0,56,22,28,22,170,170,131,212,0,96,16,27,240,114,1,0,28,22,96,26,231,114,1,0,28,22,208,239,241,114,3,0,0,0,232,220,150,3,88,15,240,2,204,57,105,3,1,0,28,22,192,147,229,114,1,0,28,22,176,62,195,114,10,0,185,13,147,6,1,7,163,22,150,8,55,7,169,8,45,22,26,13,90,13,170,170,112,211,0,32,114,211,0,32,116,211,0,32,118,211,0,32,120,211,0,32,124,211,0,32,126,211,0,32,128,211,0,224,132,211,0,32,134,211,0,32,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,88,210,114,3,112,201,250,2,16,98,43,3,2,0,68,14,45,22,170,170,152,211,0,32,156,211,0,224,1,0,28,22,176,235,187,114,1,0,28,22,0,0,0,112,1,0,28,22,240,188,200,114,1,0,28,22,48,255,215,114,1,0,28,22,208,27,193,114,1,0,28,22,224,142,222,114,2,0,56,22,28,22,170,170,131,212,0,96,144,196,243,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,2,0,104,22,28,22,170,170,128,187,238,114,48,165,230,114,1,0,28,22,16,170,237,114,1,0,28,22,160,242,221,114,1,0,28,22,224,142,222,114,1,0,28,22,16,170,237,114,1,0,28,22,16,94,208,114,1,0,28,22,80,24,204,114,1,0,28,22,144,226,238,114,3,0,0,0,100,193,179,3,200,8,245,2,140,70,120,3,2,0,104,22,28,22,170,170,208,126,239,114,0,221,222,114,2,0,56,22,28,22,170,170,131,212,0,96,16,170,237,114,20,0,201,4,209,4,185,13,119,5,245,5,205,6,68,14,1,7,163,22,63,7,169,8,202,22,38,8,3,13,105,8,125,8,68,11,45,22,6,13,14,11,170,170,164,211,0,32,166,211,0,32,168,211,0,32,170,211,0,32,172,211,0,32,174,211,0,32,176,211,0,32,180,211,0,32,182,211,0,32,184,211,0,32,188,211,0,32,190,211,0,32,192,211,0,32,194,211,0,32,196,211,0,32,198,211,0,32,200,211,0,32,202,211,0,224,206,211,0,32,210,211,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,3,0,0,0,224,20,153,3,32,149,247,2,56,245,95,3,2,0,67,12,45,22,170,170,245,211,0,32,249,211,0,224,2,0,28,22,71,22,170,170,176,131,246,114,32,13,228,114,1,0,28,22,224,105,249,114,1,0,28,22,16,27,240,114,2,0,56,22,28,22,170,170,140,212,0,96,176,251,226,114,2,0,28,22,71,22,170,170,64,234,225,114,32,13,228,114,1,0,28,22,32,43,223,114,2,0,28,22,71,22,170,170,112,208,228,114,32,13,228,114,2,0,28,22,71,22,170,170,240,91,237,114,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,192,64,222,114,3,0,0,0,48,228,176,3,112,201,250,2,68,99,104,3,1,0,28,22,192,64,222,114,1,0,28,22,224,142,222,114,13,0,103,13,68,14,150,8,154,8,150,7,83,12,115,13,171,10,120,19,100,23,45,22,101,10,63,14,1,212,0,32,5,212,0,32,7,212,0,32,9,212,0,32,13,212,0,32,17,212,0,32,19,212,0,32,23,212,0,32,27,212,0,32,31,212,0,32,33,212,0,224,37,212,0,32,39,212,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,56,22,28,22,170,170,131,212,0,96,208,126,239,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,56,22,28,22,170,170,140,212,0,96,144,150,209,114,3,0,0,0,80,154,168,3,32,119,252,2,184,213,94,3,5,0,104,19,83,20,253,7,34,4,45,22,61,212,0,32,65,212,0,32,69,212,0,32,73,212,0,32,77,212,0,224,1,0,28,22,96,199,223,114,1,0,28,22,240,181,222,114,1,0,28,22,32,103,213,114,1,0,28,22,64,204,230,114,1,0,28,22,96,63,204,114,1,0,28,22,64,211,208,114,1,0,28,22,144,60,224,114,1,0,28,22,224,255,224,114,1,0,28,22,144,150,209,114,1,0,28,22,96,146,211,114,1,0,28,22,0,78,225,114,1,0,28,22,16,214,188,114,1,0,28,22,176,25,222,114,1,0,28,22,240,91,237,114,1,0,28,22,176,25,222,114,1,0,28,22,240,211,217,114,2,0,56,22,28,22,170,170,131,212,0,96,0,101,242,114,1,0,28,22,16,117,225,114,2,0,104,22,28,22,170,170,112,231,245,114,128,224,211,114,1,0,28,22,112,185,211,114,1,0,28,22,208,103,222,114,1,0,28,22,128,254,206,114,3,0,0,0,92,156,159,3,112,112,244,2,239,96,106,3,1,0,28,22,64,121,223,114,1,0,28,22,160,242,221,114,1,0,28,22,192,64,222,114,1,0,28,22,64,211,208,114,1,0,28,22,176,205,192,114,1,0,28,22,0,25,213,114,29,0,13,5,25,5,81,5,108,5,151,5,214,23,175,6,68,14,196,7,75,12,74,8,99,9,111,9,229,9,41,10,88,10,241,7,175,10,182,11,204,12,220,12,224,12,45,22,243,12,247,12,251,12,14,13,144,23,15,14,89,212,0,32,91,212,0,32,93,212,0,32,95,212,0,32,97,212,0,32,99,212,0,32,101,212,0,32,103,212,0,32,105,212,0,32,107,212,0,32,109,212,0,32,111,212,0,32,113,212,0,32,115,212,0,32,117,212,0,32,119,212,0,32,121,212,0,32,125,212,0,32,127,212,0,32,131,212,0,32,133,212,0,32,135,212,0,32,137,212,0,224,141,212,0,32,143,212,0,32,145,212,0,32,147,212,0,32,149,212,0,32,151,212,0,32,2,0,56,22,28,22,170,170,131,212,0,96,144,166,248,114,2,0,56,22,28,22,170,170,131,212,0,96,48,75,245,114,3,0,0,0,128,115,119,3,112,201,250,2,48,167,57,3,3,0,68,14,252,13,45,22,197,212,0,32,201,212,0,32,205,212,0,224,2,0,56,22,28,22,170,170,131,212,0,96,192,57,244,114,2,0,56,22,28,22,170,170,131,212,0,96,192,57,244,114,3,0,0,0,68,71,103,3,48,45,250,2,128,196,43,3,3,0,68,14,199,10,45,22,214,212,0,32,218,212,0,32,222,212,0,224,2,0,56,22,28,22,170,170,122,212,0,96,96,162,250,114,2,0,56,22,28,22,170,170,131,212,0,96,192,177,224,114,3,0,0,0,136,171,165,3,112,201,250,2,4,2,94,3,3,0,68,14,76,14,45,22,231,212,0,32,235,212,0,32,239,212,0,224,2,0,56,22,28,22,170,170,131,212,0,96,80,10,248,114,1,0,28,22,16,230,227,114,1,0,28,22,160,129,219,114,3,0,0,0,212,175,165,3,200,240,248,2,52,156,93,3,4,0,185,13,17,5,22,10,45,22,170,170,248,212,0,32,252,212,0,32,254,212,0,32,0,213,0,224,1,0,28,22,32,209,237,114,2,0,56,22,28,22,170,170,131,212,0,96,144,53,246,114,3,0,0,0,228,95,164,3,8,10,250,2,32,111,92,3,1,0,28,22,176,115,207,114,4,0,68,14,67,12,45,22,125,22,170,170,11,213,0,32,13,213,0,32,17,213,0,224,21,213,0,32,1,0,28,22,0,221,222,114,2,0,56,22,28,22,170,170,131,212,0,96,208,209,246,114,2,0,56,22,28,22,170,170,131,212,0,96,48,248,237,114,3,0,0,0,28,90,169,3,64,90,249,2,238,158,106,3,4,0,84,7,67,12,135,11,45,22,170,170,30,213,0,32,32,213,0,32,36,213,0,32,40,213,0,224,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,3,0,0,0,72,165,140,3,96,162,250,2,145,188,75,3,2,0,56,22,28,22,170,170,131,212,0,96,48,105,240,114,1,0,28,22,224,82,232,114,4,0,150,8,45,22,233,3,125,22,170,170,51,213,0,32,55,213,0,224,59,213,0,32,63,213,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,79,243,114,3,0,56,22,28,22,71,22,131,212,0,96,80,160,223,114,32,13,228,114,3,0,0,0,76,34,152,3,192,51,245,2,186,145,97,3,3,0,104,22,56,22,28,22,16,140,242,114,131,212,0,96,176,131,246,114,4,0,68,14,18,6,45,22,42,13,170,170,72,213,0,32,76,213,0,32,81,213,0,224,85,213,0,32,1,0,28,22,224,255,224,114,1,0,28,22,208,200,185,114,1,0,28,22,128,111,209,114,3,0,104,22,56,22,28,22,16,170,237,114,140,212,0,96,192,87,239,114,1,0,28,22,224,59,215,114,2,0,56,22,28,22,170,170,131,212,0,96,64,114,245,114,1,0,28,22,48,105,240,114,1,0,28,22,112,238,223,114,2,0,56,22,28,22,170,170,131,212,0,96,0,214,244,114,3,0,104,22,56,22,28,22,0,161,232,114,140,212,0,96,64,61,233,114,1,0,28,22,128,88,192,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,0,18,235,114,1,0,28,22,48,29,211,114,2,0,56,22,28,22,170,170,140,212,0,96,192,64,222,114,2,0,56,22,28,22,170,170,140,212,0,96,224,142,222,114,1,0,28,22,112,238,223,114,2,0,104,22,28,22,170,170,128,44,241,114,0,175,188,114,3,0,0,0,208,43,176,3,208,60,250,2,253,172,118,3,2,0,56,22,28,22,170,170,140,212,0,96,176,25,222,114,2,0,56,22,28,22,170,170,140,212,0,96,208,216,224,114,1,0,28,22,80,77,216,114,21,0,115,5,139,5,189,5,253,5,65,6,68,14,67,12,253,6,12,7,220,7,248,7,50,8,251,8,253,9,44,11,52,11,208,12,45,22,62,13,184,13,125,22,97,213,0,32,99,213,0,32,101,213,0,32,103,213,0,32,108,213,0,32,110,213,0,32,114,213,0,32,116,213,0,32,118,213,0,32,122,213,0,32,127,213,0,32,129,213,0,32,134,213,0,32,136,213,0,32,140,213,0,32,144,213,0,32,146,213,0,32,150,213,0,224,154,213,0,32,158,213,0,32,162,213,0,32,1,0,28,22,160,99,224,114,1,0,28,22,224,232,207,114,2,0,28,22,71,22,170,170,80,220,213,114,32,13,228,114,1,0,28,22,208,103,222,114,1,0,28,22,176,205,192,114,2,0,56,22,28,22,170,170,131,212,0,96,96,79,243,114,1,0,28,22,224,59,215,114,1,0,28,22,112,215,206,114,1,0,28,22,0,55,208,114,1,0,28,22,80,107,211,114,1,0,28,22,16,4,223,114,1,0,28,22,176,115,207,114,1,0,28,22,208,110,200,114,1,0,28,22,192,154,207,114,1,0,28,22,112,215,206,114,1,0,28,22,192,200,241,114,1,0,28,22,160,76,207,114,1,0,28,22,160,92,246,114,1,0,28,22,64,31,238,114,1,0,28,22,48,248,237,114,2,0,104,22,28,22,170,170,160,242,221,114,0,131,237,114,3,0,0,0,244,169,179,3,200,14,244,2,157,146,120,3,1,0,28,22,208,50,210,114,1,0,28,22,208,253,197,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,25,0,17,5,77,5,92,5,170,5,193,5,68,14,22,10,114,7,118,7,236,7,252,7,188,8,7,9,37,9,52,9,72,9,112,10,159,23,66,6,59,13,86,12,45,22,167,23,54,13,28,8,196,213,0,32,198,213,0,32,200,213,0,32,204,213,0,32,206,213,0,32,208,213,0,32,212,213,0,32,214,213,0,32,216,213,0,32,218,213,0,32,220,213,0,32,222,213,0,32,224,213,0,32,226,213,0,32,228,213,0,32,230,213,0,32,232,213,0,32,234,213,0,32,236,213,0,32,238,213,0,32,240,213,0,32,244,213,0,224,248,213,0,32,250,213,0,32,252,213,0,32,1,0,28,22,96,3,214,114,2,0,56,22,28,22,170,170,140,212,0,96,144,37,207,114,2,0,56,22,28,22,170,170,140,212,0,96,112,148,238,114,1,0,28,22,80,183,240,114,2,0,56,22,28,22,170,170,140,212,0,96,208,27,193,114,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,1,0,28,22,160,233,160,114,1,0,28,22,96,109,238,114,1,0,28,22,112,162,194,114,1,0,28,22,208,103,222,114,3,0,0,0,88,195,179,3,200,228,250,2,167,151,107,3,1,0,28,22,48,29,211,114,12,0,88,9,97,6,103,13,68,14,187,15,100,11,123,11,47,13,90,12,196,12,45,22,158,12,170,170,38,214,0,32,40,214,0,32,44,214,0,32,48,214,0,32,50,214,0,32,54,214,0,32,58,214,0,32,60,214,0,32,62,214,0,32,64,214,0,32,66,214,0,224,70,214,0,32,1,0,28,22,48,195,225,114,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,52,255,120,3,112,201,250,2,236,223,48,3,3,0,68,14,150,8,45,22,91,214,0,32,93,214,0,32,97,214,0,224,2,0,56,22,28,22,170,170,131,212,0,96,0,184,249,114,3,0,0,0,192,226,89,3,112,201,250,2,224,211,17,3,2,0,68,14,45,22,170,170,106,214,0,32,110,214,0,224,2,0,56,22,28,22,170,170,122,212,0,96,80,40,243,114,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,3,0,0,0,16,197,164,3,152,117,249,2,187,91,91,3,3,0,68,14,67,12,45,22,118,214,0,32,122,214,0,32,126,214,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,232,195,150,3,232,56,250,2,34,216,93,3,2,0,185,13,45,22,170,170,135,214,0,32,139,214,0,224,1,0,28,22,240,204,239,114,1,0,28,22,224,52,237,114,1,0,28,22,48,248,237,114,1,0,28,22,160,76,207,114,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,52,148,167,3,208,60,250,2,179,82,103,3,6,0,68,14,67,12,150,8,180,10,70,4,45,22,170,170,147,214,0,32,149,214,0,32,151,214,0,32,153,214,0,32,155,214,0,32,159,214,0,224,2,0,56,22,28,22,170,170,131,212,0,96,112,178,233,114,2,0,56,22,28,22,170,170,131,212,0,96,224,248,246,114,3,0,0,0,192,9,121,3,0,184,249,2,146,72,59,3,3,0,68,14,60,11,45,22,173,214,0,32,177,214,0,32,181,214,0,224,1,0,28,22,208,216,224,114,2,0,56,22,28,22,170,170,131,212,0,96,0,78,225,114,2,0,56,22,28,22,170,170,131,212,0,96,64,227,247,114,3,0,0,0,12,24,161,3,56,2,250,2,65,119,97,3,4,0,103,13,67,12,115,21,45,22,170,170,190,214,0,32,192,214,0,32,196,214,0,32,200,214,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,1,0,28,22,240,91,237,114,1,0,28,22,112,72,209,114,3,0,0,0,108,247,167,3,248,95,250,2,193,56,90,3,4,0,185,13,22,10,75,8,45,22,170,170,211,214,0,32,215,214,0,32,217,214,0,32,219,214,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,1,0,28,22,176,131,246,114,1,0,28,22,48,248,237,114,3,0,0,0,60,148,139,3,192,27,249,2,64,64,83,3,4,0,150,8,158,11,154,20,45,22,170,170,230,214,0,32,234,214,0,32,236,214,0,32,238,214,0,224,1,0,28,22,128,201,194,114,1,0,28,22,16,94,208,114,1,0,28,22,176,205,192,114,1,0,28,22,48,105,240,114,1,0,28,22,224,52,237,114,1,0,28,22,80,70,238,114,1,0,28,22,32,126,230,114,1,0,28,22,80,227,191,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,1,0,28,22,128,254,206,114,3,0,0,0,136,41,170,3,168,150,250,2,101,0,105,3,1,0,28,22,144,37,207,114,12,0,85,5,103,13,63,12,68,14,67,12,150,8,20,8,100,11,173,13,155,22,45,22,101,10,170,170,249,214,0,32,251,214,0,32,253,214,0,32,255,214,0,32,1,215,0,32,3,215,0,32,5,215,0,32,7,215,0,32,9,215,0,32,13,215,0,32,15,215,0,224,19,215,0,32,2,0,56,22,28,22,170,170,140,212,0,96,144,90,219,114,2,0,56,22,28,22,170,170,140,212,0,96,0,191,227,114,2,0,56,22,28,22,170,170,140,212,0,96,80,160,223,114,2,0,56,22,28,22,170,170,140,212,0,96,16,34,218,114,1,0,28,22,112,148,238,114,2,0,56,22,28,22,170,170,131,212,0,96,112,201,250,114,3,0,56,22,28,22,71,22,131,212,0,96,112,201,250,114,32,13,228,114,3,0,0,0,36,102,164,3,96,162,250,2,33,49,97,3,2,0,56,22,28,22,170,170,140,212,0,96,0,0,0,112,9,0,252,12,20,8,173,13,240,10,130,12,16,14,155,22,45,22,158,12,40,215,0,32,44,215,0,32,48,215,0,32,52,215,0,32,56,215,0,32,58,215,0,32,62,215,0,32,67,215,0,224,71,215,0,32,2,0,56,22,28,22,170,170,140,212,0,96,0,85,203,114,1,0,28,22,96,10,192,114,2,0,56,22,28,22,170,170,140,212,0,96,48,29,211,114,2,0,56,22,28,22,170,170,140,212,0,96,80,24,204,114,2,0,56,22,28,22,170,170,140,212,0,96,208,103,222,114,1,0,28,22,32,133,208,114,2,0,56,22,28,22,170,170,140,212,0,96,224,59,215,114,1,0,28,22,16,207,210,114,1,0,28,22,0,0,0,112,1,0,28,22,208,103,222,114,1,0,28,22,96,33,209,114,1,0,28,22,64,188,191,114,2,0,104,22,28,22,170,170,96,79,243,114,0,251,217,114,2,0,56,22,28,22,170,170,140,212,0,96,192,154,207,114,1,0,28,22,160,233,160,114,2,0,56,22,28,22,170,170,140,212,0,96,176,228,209,114,2,0,56,22,28,22,170,170,140,212,0,96,80,197,196,114,2,0,56,22,28,22,170,170,140,212,0,96,208,193,207,114,1,0,28,22,160,106,202,114,2,0,56,22,28,22,170,170,140,212,0,96,0,55,208,114,2,0,56,22,28,22,170,170,140,212,0,96,224,232,207,114,2,0,56,22,28,22,170,170,140,212,0,96,96,206,201,114,2,0,56,22,28,22,170,170,140,212,0,96,224,232,207,114,2,0,56,22,28,22,170,170,140,212,0,96,16,94,208,114,1,0,28,22,48,239,176,114,1,0,28,22,208,27,193,114,2,0,56,22,28,22,170,170,140,212,0,96,176,228,209,114,1,0,28,22,192,11,210,114,2,0,56,22,28,22,170,170,131,212,0,96,32,6,250,114,2,0,56,22,28,22,170,170,140,212,0,96,192,11,210,114,1,0,28,22,112,252,179,114,3,0,0,0,64,44,184,3,200,228,250,2,26,44,119,3,2,0,56,22,28,22,170,170,140,212,0,96,224,142,222,114,2,0,56,22,28,22,170,170,140,212,0,96,144,37,207,114,2,0,56,22,28,22,170,170,140,212,0,96,32,246,210,114,1,0,28,22,208,117,178,114,1,0,28,22,0,0,0,112,37,0,161,4,197,4,32,14,139,22,35,8,197,5,179,24,9,6,109,6,112,6,119,6,206,6,30,6,54,8,58,8,117,8,223,8,243,8,255,8,22,9,30,9,87,9,103,9,249,9,244,13,92,10,139,10,85,10,47,13,254,11,155,22,45,22,83,13,94,13,106,13,145,13,168,13,89,215,0,32,93,215,0,32,95,215,0,32,99,215,0,32,103,215,0,32,107,215,0,32,109,215,0,32,113,215,0,32,115,215,0,32,117,215,0,32,119,215,0,32,121,215,0,32,123,215,0,32,127,215,0,32,131,215,0,32,133,215,0,32,137,215,0,32,141,215,0,32,145,215,0,32,147,215,0,32,151,215,0,32,155,215,0,32,159,215,0,32,163,215,0,32,167,215,0,32,169,215,0,32,171,215,0,32,175,215,0,32,177,215,0,32,181,215,0,32,185,215,0,32,187,215,0,224,191,215,0,32,195,215,0,32,199,215,0,32,203,215,0,32,205,215,0,32,2,0,56,22,28,22,170,170,131,212,0,96,48,248,237,114,2,0,56,22,28,22,170,170,131,212,0,96,160,166,192,114,2,0,56,22,28,22,170,170,131,212,0,96,16,110,247,114,3,0,0,0,16,75,151,3,152,135,246,2,212,176,103,3,4,0,68,14,150,8,55,13,45,22,170,170,7,216,0,32,11,216,0,32,15,216,0,32,19,216,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,2,0,28,22,71,22,170,170,224,255,224,114,32,13,228,114,3,0,0,0,220,192,180,3,128,252,248,2,39,247,106,3,3,0,185,13,241,4,45,22,30,216,0,32,34,216,0,32,38,216,0,224,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,1,0,28,22,96,49,248,114,1,0,28,22,224,142,222,114,3,0,0,0,72,76,134,3,104,131,248,2,233,175,81,3,4,0,68,14,92,11,230,11,45,22,170,170,47,216,0,32,51,216,0,32,53,216,0,32,55,216,0,224,1,0,28,22,96,162,250,114,2,0,56,22,28,22,170,170,131,212,0,96,160,122,241,114,2,0,56,22,28,22,170,170,131,212,0,96,0,214,244,114,3,0,0,0,248,118,136,3,48,176,249,2,194,158,70,3,4,0,93,6,68,14,150,8,45,22,170,170,66,216,0,32,68,216,0,32,72,216,0,32,76,216,0,224,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,1,0,28,22,96,169,228,114,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,1,0,28,22,240,211,217,114,1,0,28,22,176,138,224,114,1,0,28,22,32,43,223,114,1,0,28,22,240,68,220,114,3,0,0,0,56,126,165,3,216,166,246,2,0,180,108,3,1,0,28,22,240,241,212,114,9,0,185,13,53,5,68,14,8,7,67,7,202,22,56,10,45,22,51,14,87,216,0,32,91,216,0,32,93,216,0,32,97,216,0,32,99,216,0,32,101,216,0,32,103,216,0,32,105,216,0,224,109,216,0,32,1,0,28,22,160,205,248,114,2,0,56,22,28,22,170,170,140,212,0,96,96,199,223,114,1,0,28,22,48,142,213,114,1,0,28,22,0,0,0,112,1,0,28,22,80,24,204,114,1,0,28,22,208,50,210,114,2,0,104,22,28,22,170,170,240,31,247,114,16,18,179,114,1,0,28,22,112,49,192,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,0,0,176,176,170,3,112,201,250,2,201,78,103,3,1,0,28,22,80,84,194,114,11,0,68,14,206,6,16,7,175,11,202,11,34,4,98,12,102,12,165,12,45,22,185,12,125,216,0,32,127,216,0,32,131,216,0,32,133,216,0,32,135,216,0,32,137,216,0,32,139,216,0,32,143,216,0,32,145,216,0,32,149,216,0,224,153,216,0,32,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,1,0,28,22,192,154,207,114,2,0,56,22,28,22,170,170,131,212,0,96,32,209,237,114,1,0,28,22,176,115,207,114,2,0,56,22,28,22,170,170,131,212,0,96,80,160,223,114,3,0,0,0,36,216,170,3,88,80,250,2,166,247,95,3,2,0,56,22,28,22,170,170,131,212,0,96,16,110,247,114,7,0,68,14,75,8,115,12,41,11,154,20,45,22,210,9,172,216,0,32,176,216,0,32,178,216,0,32,182,216,0,32,184,216,0,32,188,216,0,224,192,216,0,32,2,0,56,22,28,22,170,170,131,212,0,96,144,53,246,114,3,0,0,0,24,127,106,3,80,123,250,2,88,182,52,3,2,0,68,14,45,22,170,170,207,216,0,32,211,216,0,224,1,0,28,22,224,22,242,114,1,0,28,22,240,174,244,114,1,0,28,22,16,253,244,114,1,0,28,22,128,224,211,114,1,0,28,22,240,15,208,114,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,3,0,0,0,108,101,158,3,200,228,250,2,92,179,89,3,2,0,56,22,28,22,170,170,140,212,0,96,224,142,222,114,8,0,103,13,68,14,252,12,20,8,87,4,178,19,45,22,141,13,170,170,219,216,0,32,221,216,0,32,223,216,0,32,225,216,0,32,227,216,0,32,229,216,0,32,233,216,0,224,237,216,0,32,2,0,56,22,28,22,170,170,131,212,0,96,112,118,243,114,1,0,28,22,208,239,241,114,3,0,0,0,96,31,120,3,32,119,252,2,56,46,45,3,3,0,104,19,47,13,45,22,254,216,0,32,2,217,0,32,4,217,0,224,1,0,28,22,48,218,242,114,1,0,28,22,160,9,239,114,1,0,28,22,224,165,239,114,1,0,28,22,240,91,237,114,1,0,28,22,144,90,219,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,3,0,0,0,52,135,165,3,224,224,250,2,60,203,94,3,1,0,28,22,48,82,223,114,8,0,35,12,103,13,68,14,20,8,100,11,240,10,45,22,158,12,170,170,13,217,0,32,15,217,0,32,17,217,0,32,19,217,0,32,21,217,0,32,23,217,0,32,27,217,0,224,31,217,0,32,2,0,56,22,28,22,170,170,131,212,0,96,112,5,241,114,1,0,28,22,0,0,0,112,1,0,28,22,0,0,0,112,1,0,28,22,48,45,250,114,1,0,28,22,240,204,239,114,2,0,104,22,28,22,170,170,192,147,229,114,224,165,239,114,3,0,0,0,44,74,149,3,168,73,242,2,221,153,96,3,7,0,68,14,1,7,163,22,247,8,9,10,68,0,45,22,46,217,0,32,50,217,0,32,52,217,0,32,54,217,0,32,56,217,0,32,58,217,0,32,62,217,0,224,1,0,28,22,64,151,218,114,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,3,0,0,0,0,107,135,3,64,84,250,2,176,50,61,3,3,0,229,12,87,4,45,22,77,217,0,32,79,217,0,32,83,217,0,224,3,0,104,22,56,22,28,22,32,119,252,114,140,212,0,96,144,120,214,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,144,180,204,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,160,99,224,114,2,0,56,22,28,22,170,170,140,212,0,96,144,226,238,114,1,0,28,22,0,0,0,112,3,0,104,22,56,22,28,22,32,119,252,114,131,212,0,96,176,161,241,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,16,94,208,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,96,236,196,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,144,233,216,114,2,0,56,22,28,22,170,170,140,212,0,96,240,181,222,114,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,64,211,208,114,2,0,56,22,28,22,170,170,140,212,0,96,240,91,237,114,3,0,0,0,160,227,155,3,168,67,243,2,244,38,104,3,3,0,104,22,56,22,28,22,224,52,237,114,140,212,0,96,208,27,193,114,2,0,56,22,28,22,170,170,122,212,0,96,160,92,246,114,15,0,131,5,181,5,190,6,1,7,163,22,150,8,219,8,17,10,29,10,14,12,118,12,141,12,45,22,30,13,242,6,92,217,0,32,97,217,0,32,102,217,0,32,107,217,0,32,111,217,0,32,113,217,0,32,118,217,0,32,123,217,0,32,128,217,0,32,133,217,0,32,137,217,0,32,142,217,0,32,146,217,0,224,150,217,0,32,155,217,0,32,3,0,104,22,56,22,28,22,112,201,250,114,131,212,0,96,96,222,240,114,1,0,28,22,96,146,211,114,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,1,0,28,22,64,121,223,114,3,0,0,0,112,165,150,3,208,114,241,2,131,139,103,3,5,0,185,13,219,11,244,10,171,7,45,22,182,217,0,32,187,217,0,32,189,217,0,32,193,217,0,32,195,217,0,224,1,0,28,22,32,246,210,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,2,0,104,22,28,22,170,170,240,31,247,114,128,14,246,114,3,0,0,0,128,134,145,3,120,33,250,2,225,136,80,3,1,0,28,22,176,25,222,114,5,0,244,7,120,19,137,12,45,22,125,22,207,217,0,32,209,217,0,32,213,217,0,32,217,217,0,224,221,217,0,32,1,0,28,22,240,204,239,114,2,0,56,22,28,22,170,170,131,212,0,96,240,204,239,114,1,0,28,22,128,247,228,114,3,0,0,0,164,148,150,3,240,204,239,2,204,92,103,3,4,0,185,13,68,14,247,10,45,22,170,170,231,217,0,32,233,217,0,32,237,217,0,32,239,217,0,224,2,0,56,22,28,22,170,170,131,212,0,96,144,166,248,114,3,0,0,0,48,122,127,3,24,73,246,2,114,116,74,3,2,0,70,4,45,22,170,170,250,217,0,32,254,217,0,224,2,0,56,22,28,22,170,170,131,212,0,96,208,66,249,114,3,0,0,0,212,85,155,3,8,147,248,2,174,97,96,3,2,0,67,12,45,22,170,170,6,218,0,32,10,218,0,224,2,0,56,22,28,22,170,170,131,212,0,96,128,14,246,114,1,0,28,22,240,91,237,114,2,0,56,22,28,22,170,170,131,212,0,96,64,234,225,114,3,0,0,0,104,151,122,3,112,201,250,2,70,170,62,3,1,0,28,22,112,65,231,114,5,0,68,14,67,12,120,19,45,22,152,13,18,218,0,32,22,218,0,32,24,218,0,32,28,218,0,224,32,218,0,32,2,0,56,22,28,22,170,170,131,212,0,96,64,227,247,114,2,0,56,22,28,22,170,170,131,212,0,96,176,108,229,114,1,0,28,22,32,43,223,114,1,0,28,22,0,161,232,114,2,0,28,22,71,22,170,170,192,184,202,114,32,13,228,114,3,0,0,0,16,51,155,3,104,131,248,2,0,182,104,3,6,0,185,13,150,8,30,6,134,20,192,12,45,22,170,170,42,218,0,32,46,218,0,32,50,218,0,32,52,218,0,32,54,218,0,32,58,218,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,227,247,114,2,0,56,22,28,22,170,170,131,212,0,96,224,135,244,114,3,0,0,0,32,76,149,3,240,19,249,2,112,45,88,3,1,0,28,22,16,4,223,114,1,0,28,22,64,204,230,114,5,0,68,14,186,5,45,22,79,13,79,14,72,218,0,32,76,218,0,32,80,218,0,224,84,218,0,32,86,218,0,32,1,0,28,22,112,201,250,114,3,0,0,0,252,157,103,3,112,201,250,2,56,167,29,3,2,0,68,14,45,22,170,170,96,218,0,32,98,218,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,64,167,126,3,96,162,250,2,28,130,64,3,2,0,68,14,45,22,170,170,106,218,0,32,110,218,0,224,2,0,56,22,28,22,170,170,131,212,0,96,80,70,238,114,2,0,56,22,28,22,170,170,131,212,0,96,224,165,239,114,3,0,0,0,248,228,151,3,16,21,241,2,134,83,104,3,3,0,185,13,150,8,45,22,118,218,0,32,122,218,0,32,126,218,0,224,2,0,104,22,28,22,170,170,32,119,252,114,32,119,252,114,3,0,0,0,244,123,95,3,112,201,250,2,224,151,27,3,2,0,150,8,45,22,170,170,135,218,0,32,139,218,0,224,1,0,28,22,80,70,238,114,2,0,56,22,28,22,170,170,131,212,0,96,16,253,244,114,2,0,104,22,28,22,170,170,48,248,237,114,208,103,222,114,3,0,0,0,164,129,149,3,160,229,244,2,172,160,99,3,4,0,47,12,150,8,42,8,45,22,170,170,147,218,0,32,149,218,0,32,153,218,0,32,157,218,0,224,1,0,28,22,240,204,239,114,1,0,28,22,160,219,204,114,2,0,104,22,28,22,170,170,96,79,243,114,192,124,212,114,1,0,28,22,16,4,223,114,2,0,104,22,28,22,170,170,208,126,239,114,32,110,191,114,1,0,28,22,32,110,191,114,1,0,28,22,32,13,228,114,1,0,28,22,208,193,207,114,2,0,28,22,71,22,170,170,0,18,235,114,32,13,228,114,1,0,28,22,128,141,204,114,2,0,28,22,71,22,170,170,0,161,232,114,32,13,228,114,3,0,0,0,80,238,179,3,152,242,249,2,174,70,112,3,3,0,104,22,56,22,28,22,16,223,249,114,131,212,0,96,64,227,247,114,2,0,28,22,71,22,170,170,192,87,239,114,32,13,228,114,1,0,28,22,32,43,223,114,15,0,68,14,244,7,137,8,48,9,95,9,205,9,21,10,72,10,215,10,78,12,126,12,45,22,240,12,78,13,125,22,168,218,0,32,170,218,0,32,172,218,0,32,176,218,0,32,178,218,0,32,182,218,0,32,184,218,0,32,186,218,0,32,188,218,0,32,192,218,0,32,194,218,0,32,198,218,0,224,202,218,0,32,207,218,0,32,211,218,0,32,1,0,28,22,48,149,191,114,1,0,28,22,160,16,217,114,1,0,28,22,0,131,237,114,3,0,0,0,140,221,151,3,200,228,250,2,71,8,100,3,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,5,0,185,13,22,10,47,13,45,22,164,9,236,218,0,32,238,218,0,32,240,218,0,32,242,218,0,224,246,218,0,32,2,0,56,22,28,22,170,170,131,212,0,96,32,149,247,114,3,0,0,0,240,199,88,3,32,6,250,2,156,58,43,3,3,0,56,22,28,22,71,22,131,212,0,96,32,149,247,114,32,13,228,114,3,0,68,14,45,22,128,20,2,219,0,32,6,219,0,224,10,219,0,32,3,0,104,22,56,22,28,22,32,119,252,114,131,212,0,96,240,174,244,114,3,0,0,0,136,153,143,3,152,147,244,2,132,154,88,3,2,0,56,22,28,22,170,170,131,212,0,96,240,174,244,114,3,0,70,4,45,22,236,12,20,219,0,32,25,219,0,224,29,219,0,32,1,0,28,22,64,68,211,114,1,0,28,22,0,131,237,114,3,0,0,0,84,94,164,3,224,224,250,2,159,237,94,3,2,0,56,22,28,22,170,170,131,212,0,96,160,92,246,114,1,0,28,22,160,39,234,114,5,0,134,20,47,13,45,22,38,11,199,9,38,219,0,32,40,219,0,32,42,219,0,224,46,219,0,32,50,219,0,32,1,0,28,22,224,105,249,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,2,0,56,22,28,22,170,170,131,212,0,96,224,248,246,114,3,0,0,0,36,227,164,3,24,192,247,2,28,138,103,3,4,0,165,4,185,13,150,8,45,22,170,170,60,219,0,32,62,219,0,32,66,219,0,32,70,219,0,224,2,0,56,22,28,22,170,170,131,212,0,96,0,244,239,114,3,0,0,0,24,7,126,3,112,201,250,2,47,218,72,3,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,68,14,45,22,190,5,81,219,0,32,85,219,0,224,89,219,0,32,1,0,28,22,80,31,182,114,1,0,28,22,48,29,211,114,1,0,28,22,64,181,213,114,1,0,28,22,96,116,216,114,1,0,28,22,208,20,215,114,1,0,28,22,96,146,211,114,1,0,28,22,160,46,212,114,1,0,28,22,80,31,182,114,1,0,28,22,80,70,238,114,1,0,28,22,0,115,198,114,1,0,28,22,0,115,198,114,1,0,28,22,144,233,216,114,1,0,28,22,240,15,208,114,1,0,28,22,96,17,170,114,1,0,28,22,112,208,228,114,1,0,28,22,32,200,176,114,1,0,28,22,64,45,194,114,1,0,28,22,208,27,193,114,2,0,28,22,71,22,170,170,64,45,194,114,32,13,228,114,3,0,0,0,104,97,181,3,8,10,250,2,15,68,114,3,2,0,56,22,28,22,170,170,131,212,0,96,16,223,249,114,1,0,28,22,144,74,180,114,1,0,28,22,192,78,178,114,1,0,28,22,224,142,222,114,24,0,201,12,161,4,185,13,19,12,64,23,85,5,96,5,63,12,68,14,30,6,26,11,117,8,192,8,182,4,134,20,202,23,213,9,130,12,155,22,45,22,101,10,46,13,199,9,86,14,170,170,98,219,0,32,100,219,0,32,102,219,0,32,104,219,0,32,106,219,0,32,108,219,0,32,110,219,0,32,112,219,0,32,114,219,0,32,116,219,0,32,118,219,0,32,120,219,0,32,122,219,0,32,124,219,0,32,126,219,0,32,128,219,0,32,130,219,0,32,132,219,0,32,134,219,0,32,138,219,0,224,142,219,0,32,146,219,0,32,148,219,0,32,150,219,0,32,2,0,56,22,28,22,170,170,131,212,0,96,192,27,249,114,1,0,28,22,224,89,210,114,3,0,0,0,212,16,154,3,160,193,250,2,47,86,88,3,3,0,68,14,67,12,45,22,189,219,0,32,193,219,0,32,195,219,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,195,234,114,3,0,0,0,224,40,108,3,48,45,250,2,140,180,57,3,2,0,56,22,28,22,170,170,131,212,0,96,176,244,248,114,3,0,68,14,45,22,168,20,204,219,0,32,208,219,0,224,212,219,0,32,3,0,0,0,244,219,179,3,40,88,250,2,62,90,105,3,1,0,28,22,192,244,192,114,2,0,56,22,28,22,170,170,131,212,0,96,48,45,250,114,3,0,45,22,50,13,125,22,221,219,0,224,225,219,0,32,227,219,0,32,1,0,28,22,192,64,222,114,1,0,28,22,16,4,223,114,2,0,56,22,28,22,170,170,131,212,0,96,144,53,246,114,1,0,28,22,96,116,216,114,1,0,28,22,144,60,224,114,1,0,28,22,16,4,223,114,1,0,28,22,48,112,218,114,2,0,104,22,28,22,170,170,96,79,243,114,240,181,222,114,1,0,28,22,224,142,222,114,1,0,28,22,16,117,225,114,1,0,28,22,96,116,216,114,1,0,28,22,32,133,208,114,2,0,104,22,28,22,170,170,160,242,221,114,0,55,208,114,1,0,28,22,112,178,233,114,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,3,0,0,0,4,68,165,3,176,6,246,2,120,175,110,3,1,0,28,22,96,116,216,114,17,0,253,4,65,5,68,14,70,8,133,8,10,9,68,9,241,9,45,10,5,11,214,11,238,11,22,12,157,12,171,7,45,22,176,13,236,219,0,32,238,219,0,32,240,219,0,32,244,219,0,32,246,219,0,32,248,219,0,32,250,219,0,32,252,219,0,32,0,220,0,32,2,220,0,32,4,220,0,32,6,220,0,32,8,220,0,32,12,220,0,32,14,220,0,32,18,220,0,224,22,220,0,32,1,0,28,22,240,211,217,114,1,0,28,22,208,163,212,114,1,0,28,22,64,181,213,114,1,0,28,22,128,88,192,114,1,0,28,22,16,207,210,114,1,0,28,22,128,21,224,114,1,0,28,22,0,25,213,114,2,0,56,22,28,22,170,170,122,212,0,96,32,179,242,114,1,0,28,22,192,64,222,114,3,0,0,0,0,109,168,3,200,228,250,2,253,115,108,3,1,0,28,22,96,146,211,114,2,0,56,22,28,22,170,170,131,212,0,96,80,153,245,114,1,0,28,22,208,103,222,114,13,0,88,9,85,5,73,6,63,12,20,8,100,11,173,13,47,13,226,11,45,22,101,10,158,12,185,12,50,220,0,32,52,220,0,32,54,220,0,32,56,220,0,32,58,220,0,32,60,220,0,32,62,220,0,32,64,220,0,32,68,220,0,32,70,220,0,224,74,220,0,32,76,220,0,32,80,220,0,32,1,0,28,22,80,17,226,114,1,0,28,22,96,169,228,114,2,0,56,22,28,22,170,170,131,212,0,96,112,95,226,114,1,0,28,22,112,109,182,114,1,0,28,22,96,56,226,114,1,0,28,22,16,170,237,114,1,0,28,22,208,216,224,114,1,0,28,22,240,8,230,114,1,0,28,22,80,160,223,114,2,0,56,22,28,22,170,170,131,212,0,96,240,31,247,114,1,0,28,22,112,95,226,114,3,0,0,0,252,34,161,3,160,217,246,2,210,89,108,3,1,0,28,22,48,82,223,114,1,0,28,22,80,130,228,114,14,0,153,4,1,6,68,14,75,12,76,9,140,17,143,10,9,11,55,13,171,7,228,12,45,22,74,13,3,14,170,170,102,220,0,32,104,220,0,32,106,220,0,32,110,220,0,32,112,220,0,32,114,220,0,32,116,220,0,32,118,220,0,32,120,220,0,32,122,220,0,32,126,220,0,32,128,220,0,224,132,220,0,32,134,220,0,32,2,0,56,22,28,22,170,170,122,212,0,96,32,119,252,114,3,0,0,0,176,147,104,3,112,201,250,2,96,71,30,3,2,0,68,14,45,22,170,170,158,220,0,32,162,220,0,224,1,0,28,22,0,0,0,112,1,0,28,22,80,174,179,114,2,0,28,22,71,22,170,170,16,101,186,114,32,13,228,114,1,0,28,22,0,0,0,112,1,0,28,22,240,165,183,114,1,0,28,22,176,85,212,114,2,0,56,22,28,22,170,170,122,212,0,96,64,84,250,114,2,0,56,22,28,22,170,170,140,212,0,96,0,18,235,114,1,0,28,22,48,66,184,114,1,0,28,22,96,146,211,114,1,0,28,22,64,181,213,114,1,0,28,22,128,118,187,114,2,0,56,22,28,22,170,170,140,212,0,96,208,57,188,114,1,0,28,22,176,62,195,114,2,0,28,22,71,22,170,170,192,78,178,114,32,13,228,114,1,0,28,22,0,0,0,112,1,0,28,22,224,89,210,114,1,0,28,22,0,0,0,112,1,0,28,22,160,189,209,114,1,0,28,22,208,117,178,114,1,0,28,22,0,122,176,114,1,0,28,22,160,136,197,114,1,0,28,22,0,0,0,112,1,0,28,22,240,218,195,114,1,0,28,22,64,211,208,114,3,0,0,0,20,71,196,3,112,201,250,2,223,21,122,3,1,0,28,22,224,89,210,114,1,0,28,22,144,97,197,114,1,0,28,22,16,177,215,114,29,0,233,5,17,6,25,6,33,6,115,6,103,13,68,14,67,12,229,6,12,7,150,8,27,7,13,23,244,7,116,5,210,23,87,4,213,23,97,11,139,9,108,10,251,10,29,11,72,11,47,13,45,22,149,13,185,12,125,22,170,220,0,32,172,220,0,32,174,220,0,32,178,220,0,32,180,220,0,32,182,220,0,32,184,220,0,32,188,220,0,32,192,220,0,32,194,220,0,32,196,220,0,32,198,220,0,32,200,220,0,32,204,220,0,32,206,220,0,32,210,220,0,32,212,220,0,32,214,220,0,32,216,220,0,32,218,220,0,32,220,220,0,32,222,220,0,32,224,220,0,32,226,220,0,32,228,220,0,32,230,220,0,224,234,220,0,32,236,220,0,32,238,220,0,32,2,0,56,22,28,22,170,170,131,212,0,96,192,27,249,114,3,0,0,0,32,116,159,3,72,166,250,2,73,169,91,3,2,0,67,12,45,22,170,170,28,221,0,32,32,221,0,224,1,0,28,22,0,221,222,114,1,0,28,22,32,209,237,114,3,0,0,0,88,48,166,3,16,217,250,2,54,106,106,3,1,0,28,22,128,194,216,114,2,0,56,22,28,22,170,170,131,212,0,96,144,166,248,114,2,0,56,22,28,22,170,170,131,212,0,96,48,248,237,114,6,0,93,8,47,13,45,22,101,10,199,9,230,22,170,170,40,221,0,32,42,221,0,32,44,221,0,224,48,221,0,32,50,221,0,32,54,221,0,32,2,0,56,22,28,22,170,170,122,212,0,96,96,49,248,114,1,0,28,22,96,49,248,114,3,0,0,0,164,106,107,3,32,119,252,2,224,61,42,3,3,0,87,4,195,0,45,22,68,221,0,32,72,221,0,32,74,221,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,84,250,114,3,0,0,0,228,50,134,3,64,84,250,2,206,199,72,3,2,0,68,14,45,22,170,170,83,221,0,32,87,221,0,224,2,0,56,22,28,22,170,170,131,212,0,96,96,49,248,114,3,0,0,0,224,155,168,3,184,64,250,2,46,31,106,3,1,0,28,22,160,83,185,114,3,0,67,12,45,22,234,22,95,221,0,32,99,221,0,224,103,221,0,32,2,0,56,22,28,22,170,170,131,212,0,96,96,162,250,114,3,0,0,0,160,163,124,3,144,154,250,2,178,173,61,3,2,0,68,14,45,22,170,170,110,221,0,32,114,221,0,224,2,0,56,22,28,22,170,170,122,212,0,96,240,31,247,114,3,0,0,0,64,45,138,3,112,201,250,2,187,218,72,3,2,0,68,14,45,22,170,170,122,221,0,32,126,221,0,224,1,0,28,22,16,177,215,114,2,0,104,22,28,22,170,170,0,214,244,114,16,124,203,114,1,0,28,22,208,193,207,114,3,0,0,0,60,175,172,3,176,238,249,2,141,208,116,3,2,0,56,22,28,22,170,170,131,212,0,96,160,205,248,114,1,0,28,22,176,25,222,114,6,0,143,5,41,6,244,7,45,22,149,13,125,22,170,170,134,221,0,32,136,221,0,32,140,221,0,32,142,221,0,224,146,221,0,32,150,221,0,32,2,0,56,22,28,22,170,170,131,212,0,96,224,105,249,114,2,0,56,22,28,22,170,170,131,212,0,96,112,88,248,114,2,0,56,22,28,22,170,170,131,212,0,96,96,79,243,114,3,0,0,0,32,202,128,3,64,96,248,2,29,201,75,3,4,0,112,5,68,14,150,8,45,22,170,170,162,221,0,32,166,221,0,32,170,221,0,32,174,221,0,224,2,0,56,22,28,22,170,170,131,212,0,96,64,1,243,114,1,0,28,22,32,66,240,114,3,0,0,0,0,232,110,3,96,79,243,2,204,100,58,3,1,0,28,22,0,214,244,114,4,0,150,8,51,7,45,22,99,19,170,170,185,221,0,32,189,221,0,32,191,221,0,224,195,221,0,32,2,0,56,22,28,22,170,170,131,212,0,96,80,160,223,114,2,0,56,22,28,22,170,170,131,212,0,96,32,119,252,114,3,0,0,0,228,0,134,3,160,193,250,2,190,87,74,3,3,0,68,14,183,19,45,22,204,221,0,32,208,221,0,32,212,221,0,224,1,0,28,22,224,248,246,114,2,0,56,22,28,22,170,170,131,212,0,96,0,184,249,114,2,0,56,22,28,22,170,170,131,212,0,96,32,13,228,114,2,0,56,22,28,22,170,170,131,212,0,96,32,13,228,114,3,0,0,0,160,132,150,3,24,180,249,2,253,112,89,3,5,0,193,4,130,12,16,14,155,22,45,22,221,221,0,32,223,221,0,32,227,221,0,32,231,221,0,32,235,221,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,248,246,114,1,0,28,22,160,39,234,114,3,0,0,0,44,195,158,3,8,165,245,2,156,79,106,3,3,0,185,13,68,14,45,22,247,221,0,32,251,221,0,32,253,221,0,224,1,0,28,22,176,48,239,114,2,0,56,22,28,22,170,170,131,212,0,96,208,96,244,114,1,0,28,22,224,142,222,114,1,0,28,22,192,27,249,114,3,0,0,0,128,143,131,3,0,184,249,2,144,49,74,3,5,0,201,5,150,8,171,7,168,12,45,22,6,222,0,32,8,222,0,32,12,222,0,32,14,222,0,32,16,222,0,224,3,0,104,22,56,22,28,22,112,201,250,114,140,212,0,96,16,170,237,114,3,0,104,22,56,22,28,22,112,201,250,114,131,212,0,96,48,105,240,114,2,0,104,22,28,22,170,170,144,53,246,114,64,121,223,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,0,221,222,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,224,195,234,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,176,138,224,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,240,121,232,114,2,0,104,22,28,22,170,170,96,79,243,114,96,100,177,114,3,0,0,0,32,126,174,3,16,223,249,2,220,93,110,3,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,32,239,232,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,192,34,227,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,112,238,223,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,96,109,238,114,3,0,104,22,56,22,28,22,96,79,243,114,140,212,0,96,192,87,239,114,14,0,251,11,68,14,75,12,0,14,243,10,186,5,198,15,171,7,45,22,207,23,79,13,138,13,228,13,79,14,170,170,28,222,0,32,33,222,0,32,38,222,0,32,42,222,0,32,47,222,0,32,52,222,0,32,57,222,0,32,62,222,0,32,66,222,0,224,70,222,0,32,75,222,0,32,80,222,0,32,85,222,0,32,90,222,0,32,1,0,28,22,48,105,240,114,2,0,56,22,28,22,170,170,131,212,0,96,64,31,238,114,1,0,28,22,192,147,229,114,1,0,28,22,48,248,237,114,3,0,0,0,148,11,158,3,176,12,245,2,250,104,104,3,5,0,57,5,68,14,155,9,2,11,45,22,117,222,0,32,119,222,0,32,123,222,0,32,125,222,0,32,127,222,0,224,2,0,56,22,28,22,170,170,131,212,0,96,224,22,242,114,1,0,28,22,80,130,228,114,1,0,28,22,16,87,230,114,2,0,56,22,28,22,170,170,131,212,0,96,0,131,237,114,1,0,28,22,208,186,229,114,1,0,28,22,48,82,223,114,2,0,56,22,28,22,170,170,131,212,0,96,80,10,248,114,3,0,0,0,172,193,152,3,224,111,248,2,119,248,103,3,1,0,28,22,32,133,208,114,1,0,28,22,192,237,214,114,10,0,68,14,129,8,132,10,123,13,167,10,2,11,17,8,45,22,207,23,138,13,170,170,139,222,0,32,143,222,0,32,145,222,0,32,147,222,0,32,151,222,0,32,153,222,0,32,155,222,0,32,159,222,0,224,163,222,0,32,165,222,0,32,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,45,22,183,222,0,224,1,1,25,22,237,15,35,3,38,3,240,15,101,22,41,3,243,15,246,15,119,22,249,15,122,22,252,15,255,15,133,22,136,22,44,3,2,16,5,16,47,3,8,16,11,16,14,16,50,3,17,16,20,16,171,22,174,22,23,16,25,24,26,16,31,24,241,14,29,16,185,22,32,16,35,16,26,15,61,24,196,22,38,16,41,16,44,16,85,24,47,16,199,22,29,15,50,16,53,3,32,15,247,22,35,15,53,16,56,16,250,22,56,3,59,16,62,16,65,16,253,22,59,3,68,16,71,16,74,16,62,3,0,23,37,24,77,16,65,3,68,3,71,3,43,24,74,3,80,16,83,16,3,23,86,16,6,23,89,16,92,16,38,15,95,16,98,16,17,23,20,23,101,16,23,23,104,16,107,16,110,16,35,23,49,24,113,16,38,23,41,15,41,23,116,16,119,16,143,15,44,23,122,16,125,16,121,15,128,16,47,23,77,3,131,16,80,3,50,23,73,24,61,23,83,3,86,3,134,16,91,24,72,23,137,16,89,3,92,3,140,16,143,16,146,16,149,16,95,3,152,16,155,16,98,3,101,3,44,15,158,16,161,16,104,3,164,16,167,16,170,16,47,15,173,16,176,16,179,16,182,16,107,3,110,3,185,16,188,16,191,16,118,23,194,16,197,16,200,16,203,16,50,15,206,16,113,3,129,23,132,23,116,3,135,23,209,16,212,16,119,3,215,16,53,15,122,3,218,16,221,16,138,23,125,3,141,23,224,16,56,15,227,16,230,16,233,16,236,16,153,23,239,16,128,3,59,15,55,24,156,23,242,16,62,15,131,3,245,16,175,23,178,23,65,15,134,3,127,15,68,15,248,16,137,3,181,23,251,16,254,16,1,17,4,17,140,3,7,17,10,17,143,3,13,17,146,3,16,17,19,17,184,23,22,17,25,17,28,17,31,17,34,17,37,17,40,17,43,17,71,15,187,23,149,3,46,17,190,23,193,23,152,3,196,23,49,17,155,3,158,3,199,23,52,17,161,3,164,3,55,17,167,3,58,17,61,17,188,24,64,17,67,17,70,17,73,17,150,14,76,17,170,3,217,23,79,17,74,15,220,23,223,23,82,17,85,17,88,17,91,17,173,3,176,3,226,23,133,24,94,17,97,17,229,23,160,191,0,32,176,191,0,32,201,191,0,32,244,191,0,32,14,192,0,32,27,192,0,32,43,192,0,32,62,192,0,32,85,192,0,32,99,192,0,32,117,192,0,32,137,192,0,32,170,192,0,32,200,192,0,32,224,192,0,32,239,192,0,32,7,193,0,32,46,193,0,32,65,193,0,32,99,193,0,32,140,193,0,32,167,193,0,32,193,193,0,32,213,193,0,32,236,193,0,32,0,194,0,32,15,194,0,32,27,194,0,32,47,194,0,32,75,194,0,32,95,194,0,32,132,194,0,32,160,194,0,32,180,194,0,32,196,194,0,32,214,194,0,32,233,194,0,32,248,194,0,32,139,195,0,32,240,195,0,32,19,196,0,32,47,196,0,32,64,196,0,32,106,196,0,32,149,196,0,32,168,196,0,32,184,196,0,32,27,197,0,32,141,197,0,32,194,197,0,32,207,197,0,32,219,197,0,32,231,197,0,32,245,197,0,32,8,198,0,32,23,198,0,32,47,198,0,32,74,198,0,32,154,198,0,32,202,198,0,32,222,198,0,32,254,198,0,32,19,199,0,32,33,199,0,32,58,199,0,32,76,199,0,32,94,199,0,32,117,199,0,32,141,199,0,32,157,199,0,32,186,199,0,32,233,199,0,32,17,200,0,32,63,200,0,32,100,200,0,32,118,200,0,32,140,200,0,32,159,200,0,32,211,200,0,32,249,200,0,32,59,201,0,32,104,201,0,32,132,201,0,32,159,201,0,32,175,201,0,32,215,201,0,32,245,201,0,32,4,202,0,32,23,202,0,32,51,202,0,32,72,202,0,32,96,202,0,32,132,202,0,32,157,202,0,32,173,202,0,32,190,202,0,32,209,202,0,32,225,202,0,32,245,202,0,32,5,203,0,32,19,203,0,32,42,203,0,32,63,203,0,32,90,203,0,32,112,203,0,32,194,203,0,32,255,203,0,32,38,204,0,32,70,204,0,32,38,205,0,32,166,205,0,32,194,205,0,32,5,206,0,32,49,206,0,32,108,206,0,32,147,206,0,32,161,206,0,32,176,206,0,32,195,206,0,32,4,207,0,32,48,207,0,32,65,207,0,32,84,207,0,32,109,207,0,32,125,207,0,32,137,207,0,32,149,207,0,32,161,207,0,32,173,207,0,32,195,207,0,32,219,207,0,32,243,207,0,32,5,208,0,32,24,208,0,32,45,208,0,32,72,208,0,32,103,208,0,32,129,208,0,32,160,208,0,32,184,208,0,32,200,208,0,32,241,208,0,32,12,209,0,32,32,209,0,32,54,209,0,32,69,209,0,32,89,209,0,32,108,209,0,32,127,209,0,32,168,209,0,32,211,209,0,32,240,209,0,32,10,210,0,32,28,210,0,32,41,210,0,32,61,210,0,32,79,210,0,32,99,210,0,32,127,210,0,32,148,210,0,32,171,210,0,32,207,210,0,32,251,210,0,32,44,211,0,32,86,211,0,32,108,211,0,32,136,211,0,32,160,211,0,32,214,211,0,32,253,211,0,32,41,212,0,32,81,212,0,32,153,212,0,32,209,212,0,32,226,212,0,32,243,212,0,32,4,213,0,32,23,213,0,32,44,213,0,32,65,213,0,32,90,213,0,32,164,213,0,32,0,214,0,32,72,214,0,32,101,214,0,32,114,214,0,32,130,214,0,32,143,214,0,32,163,214,0,32,185,214,0,32,204,214,0,32,223,214,0,32,242,214,0,32,21,215,0,32,75,215,0,32,207,215,0,32,23,216,0,32,42,216,0,32,59,216,0,32,80,216,0,32,111,216,0,32,155,216,0,32,196,216,0,32,215,216,0,32,241,216,0,32,8,217,0,32,33,217,0,32,66,217,0,32,87,217,0,32,159,217,0,32,199,217,0,32,223,217,0,32,243,217,0,32,2,218,0,32,14,218,0,32,34,218,0,32,62,218,0,32,88,218,0,32,102,218,0,32,114,218,0,32,130,218,0,32,143,218,0,32,161,218,0,32,213,218,0,32,250,218,0,32,15,219,0,32,33,219,0,32,52,219,0,32,74,219,0,32,93,219,0,32,152,219,0,32,199,219,0,32,216,219,0,32,231,219,0,32,24,220,0,32,82,220,0,32,136,220,0,32,166,220,0,32,240,220,0,32,36,221,0,32,58,221,0,32,78,221,0,32,91,221,0,32,105,221,0,32,118,221,0,32,130,221,0,32,152,221,0,32,178,221,0,32,197,221,0,32,216,221,0,32,239,221,0,32,1,222,0,32,20,222,0,32,95,222,0,32,131,222,0,32,167,222,0,32,187,222,0,32,2,0,241,23,249,23,170,170,60,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,63,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,68,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,71,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,76,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,81,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,86,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,91,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,95,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,98,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,101,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,106,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,109,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,112,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,117,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,125,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,129,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,133,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,138,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,142,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,145,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,148,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,152,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,157,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,160,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,163,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,166,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,171,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,176,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,186,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,189,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,194,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,197,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,202,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,205,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,210,49,1,144,138,178,0,96,2,0,241,23,249,23,170,170,215,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,220,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,223,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,227,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,230,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,234,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,237,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,242,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,247,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,251,49,1,144,2,39,0,96,2,0,241,23,249,23,170,170,0,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,10,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,15,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,20,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,23,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,28,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,38,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,41,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,46,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,54,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,59,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,64,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,69,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,74,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,79,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,82,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,87,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,92,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,95,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,100,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,110,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,115,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,120,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,125,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,128,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,131,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,134,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,139,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,144,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,148,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,151,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,156,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,159,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,164,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,167,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,172,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,175,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,178,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,183,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,188,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,193,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,198,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,201,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,206,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,211,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,216,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,219,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,222,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,232,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,237,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,240,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,245,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,248,50,1,144,2,39,0,96,2,0,241,23,249,23,170,170,253,50,1,144,138,178,0,96,2,0,241,23,249,23,170,170,2,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,10,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,13,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,18,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,23,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,28,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,32,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,37,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,42,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,47,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,52,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,57,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,62,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,67,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,72,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,77,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,82,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,85,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,90,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,95,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,100,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,104,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,109,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,114,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,117,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,122,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,126,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,131,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,136,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,141,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,144,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,147,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,151,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,154,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,157,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,162,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,172,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,177,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,182,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,187,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,192,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,195,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,200,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,205,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,208,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,211,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,214,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,219,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,224,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,229,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,232,51,1,144,138,178,0,96,2,0,241,23,249,23,170,170,237,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,245,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,250,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,255,51,1,144,2,39,0,96,2,0,241,23,249,23,170,170,4,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,7,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,10,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,14,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,19,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,24,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,29,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,34,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,39,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,44,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,48,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,51,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,56,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,60,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,63,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,66,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,71,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,76,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,81,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,84,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,87,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,92,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,97,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,100,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,103,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,112,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,115,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,120,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,125,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,129,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,139,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,144,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,149,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,162,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,167,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,171,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,175,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,178,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,181,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,186,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,189,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,194,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,199,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,204,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,209,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,214,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,219,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,223,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,227,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,230,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,233,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,236,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,241,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,244,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,249,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,252,52,1,144,2,39,0,96,2,0,241,23,249,23,170,170,255,52,1,144,138,178,0,96,2,0,241,23,249,23,170,170,4,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,9,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,14,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,18,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,23,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,28,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,33,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,38,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,42,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,46,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,51,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,56,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,61,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,66,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,69,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,72,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,75,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,78,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,82,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,87,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,90,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,95,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,100,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,103,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,108,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,113,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,117,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,122,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,127,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,132,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,137,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,142,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,147,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,152,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,156,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,160,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,165,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,169,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,173,53,1,144,2,39,0,96,2,0,241,23,249,23,170,170,177,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,181,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,185,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,190,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,195,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,200,53,1,144,138,178,0,96,2,0,241,23,249,23,170,170,204,53,1,144,2,39,0,96,16,1,12,24,25,22,237,15,35,3,38,3,240,15,101,22,41,3,243,15,246,15,249,15,122,22,252,15,255,15,133,22,136,22,44,3,2,16,5,16,47,3,8,16,11,16,14,16,50,3,17,16,20,16,171,22,174,22,23,16,25,24,26,16,31,24,241,14,29,16,32,16,35,16,26,15,61,24,196,22,38,16,41,16,44,16,85,24,47,16,199,22,29,15,50,16,53,3,32,15,247,22,35,15,53,16,56,16,56,3,59,16,62,16,65,16,253,22,59,3,68,16,71,16,74,16,62,3,0,23,37,24,77,16,65,3,68,3,71,3,43,24,74,3,80,16,83,16,3,23,86,16,6,23,89,16,92,16,38,15,95,16,98,16,17,23,20,23,101,16,23,23,104,16,107,16,110,16,35,23,49,24,113,16,41,15,41,23,116,16,119,16,143,15,122,16,125,16,128,16,47,23,77,3,131,16,80,3,50,23,73,24,61,23,83,3,86,3,134,16,91,24,72,23,137,16,89,3,92,3,140,16,143,16,146,16,149,16,95,3,152,16,155,16,98,3,101,3,44,15,158,16,161,16,104,3,164,16,167,16,170,16,47,15,173,16,176,16,179,16,182,16,107,3,110,3,185,16,188,16,191,16,118,23,194,16,197,16,200,16,203,16,50,15,206,16,113,3,129,23,132,23,116,3,135,23,209,16,212,16,119,3,215,16,53,15,122,3,218,16,221,16,138,23,125,3,141,23,224,16,56,15,227,16,230,16,233,16,236,16,153,23,239,16,128,3,59,15,55,24,156,23,242,16,62,15,131,3,245,16,175,23,178,23,65,15,134,3,127,15,68,15,248,16,137,3,181,23,251,16,254,16,1,17,4,17,140,3,7,17,10,17,143,3,13,17,146,3,16,17,19,17,184,23,22,17,25,17,28,17,31,17,34,17,37,17,40,17,43,17,71,15,187,23,149,3,46,17,190,23,193,23,152,3,196,23,49,17,155,3,158,3,52,17,161,3,164,3,55,17,167,3,58,17,188,24,64,17,67,17,70,17,73,17,150,14,76,17,170,3,217,23,79,17,74,15,220,23,223,23,82,17,85,17,88,17,91,17,173,3,176,3,226,23,133,24,94,17,97,17,3,24,9,24,16,24,91,15,22,24,28,24,34,24,40,24,46,24,52,24,58,24,64,24,70,24,76,24,82,24,88,24,94,24,100,24,106,24,112,24,118,24,124,24,130,24,170,170,63,224,0,32,67,224,0,32,71,224,0,32,75,224,0,32,79,224,0,32,83,224,0,32,87,224,0,32,91,224,0,32,95,224,0,32,99,224,0,32,103,224,0,32,107,224,0,32,111,224,0,32,115,224,0,32,119,224,0,32,120,49,1,80,123,224,0,32,127,224,0,32,131,224,0,32,135,224,0,32,139,224,0,32,143,224,0,32,147,224,0,32,151,224,0,32,155,224,0,32,159,224,0,32,163,224,0,32,167,224,0,32,171,224,0,32,175,224,0,32,181,49,1,80,179,224,0,32,183,224,0,32,187,224,0,32,191,224,0,32,195,224,0,32,199,224,0,32,203,224,0,32,207,224,0,32,211,224,0,32,215,224,0,32,219,224,0,32,223,224,0,32,227,224,0,32,231,224,0,32,235,224,0,32,239,224,0,32,243,224,0,32,247,224,0,32,5,50,1,80,251,224,0,32,255,224,0,32,3,225,0,32,7,225,0,32,11,225,0,32,33,50,1,80,15,225,0,32,19,225,0,32,23,225,0,32,49,50,1,80,27,225,0,32,31,225,0,32,35,225,0,32,39,225,0,32,43,225,0,32,47,225,0,32,51,225,0,32,55,225,0,32,59,225,0,32,63,225,0,32,67,225,0,32,105,50,1,80,71,225,0,32,75,225,0,32,79,225,0,32,83,225,0,32,87,225,0,32,91,225,0,32,95,225,0,32,99,225,0,32,103,225,0,32,107,225,0,32,111,225,0,32,115,225,0,32,119,225,0,32,123,225,0,32,127,225,0,32,131,225,0,32,135,225,0,32,139,225,0,32,143,225,0,32,147,225,0,32,151,225,0,32,155,225,0,32,159,225,0,32,163,225,0,32,167,225,0,32,171,225,0,32,175,225,0,32,179,225,0,32,227,50,1,80,183,225,0,32,187,225,0,32,191,225,0,32,195,225,0,32,199,225,0,32,203,225,0,32,207,225,0,32,5,51,1,80,211,225,0,32,215,225,0,32,219,225,0,32,223,225,0,32,227,225,0,32,231,225,0,32,235,225,0,32,239,225,0,32,243,225,0,32,247,225,0,32,251,225,0,32,255,225,0,32,3,226,0,32,7,226,0,32,11,226,0,32,15,226,0,32,19,226,0,32,23,226,0,32,27,226,0,32,31,226,0,32,35,226,0,32,39,226,0,32,43,226,0,32,47,226,0,32,51,226,0,32,55,226,0,32,59,226,0,32,63,226,0,32,67,226,0,32,71,226,0,32,75,226,0,32,79,226,0,32,83,226,0,32,87,226,0,32,91,226,0,32,167,51,1,80,95,226,0,32,99,226,0,32,103,226,0,32,107,226,0,32,111,226,0,32,115,226,0,32,119,226,0,32,123,226,0,32,127,226,0,32,131,226,0,32,135,226,0,32,139,226,0,32,143,226,0,32,147,226,0,32,151,226,0,32,155,226,0,32,240,51,1,80,159,226,0,32,163,226,0,32,167,226,0,32,171,226,0,32,175,226,0,32,179,226,0,32,183,226,0,32,187,226,0,32,191,226,0,32,195,226,0,32,199,226,0,32,203,226,0,32,207,226,0,32,211,226,0,32,215,226,0,32,219,226,0,32,223,226,0,32,227,226,0,32,231,226,0,32,235,226,0,32,239,226,0,32,243,226,0,32,247,226,0,32,251,226,0,32,255,226,0,32,3,227,0,32,7,227,0,32,11,227,0,32,107,52,1,80,15,227,0,32,19,227,0,32,23,227,0,32,27,227,0,32,31,227,0,32,134,52,1,80,35,227,0,32,39,227,0,32,43,227,0,32,152,52,1,80,157,52,1,80,47,227,0,32,51,227,0,32,55,227,0,32,59,227,0,32,63,227,0,32,67,227,0,32,71,227,0,32,75,227,0,32,79,227,0,32,83,227,0,32,87,227,0,32,91,227,0,32,95,227,0,32,99,227,0,32,103,227,0,32,107,227,0,32,111,227,0,32,115,227,0,32,119,227,0,32,123,227,0,32,127,227,0,32,131,227,0,32,135,227,0,32,139,227,0,32,143,227,0,32,147,227,0,32,151,227,0,32,155,227,0,32,159,227,0,32,163,227,0,32,167,227,0,32,171,227,0,32,175,227,0,32,179,227,0,32,183,227,0,32,187,227,0,32,191,227,0,32,195,227,0,32,199,227,0,32,203,227,0,32,207,227,0,32,211,227,0,32,215,227,0,32,219,227,0,32,223,227,0,32,227,227,0,32,231,227,0,32,235,227,0,32,239,227,0,32,243,227,0,32,247,227,0,32,251,227,0,32,255,227,0,32,3,228,0,32,7,228,0,32,11,228,0,32,15,228,0,32,19,228,0,32,23,228,0,32,27,228,0,32,31,228,0,32,35,228,0,32,39,228,0,32,43,228,0,32,47,228,0,32,51,228,0,32,55,228,0,32,59,228,0,32,63,228,0,32,67,228,0,32,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,6,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,92,38,5,156,0,12,24,237,15,35,3,38,3,240,15,101,22,41,3,243,15,145,24,249,15,122,22,252,15,255,15,136,22,44,3,2,16,47,3,8,16,14,16,50,3,174,22,23,16,31,24,241,14,29,16,32,16,35,16,26,15,61,24,85,24,29,15,50,16,53,3,32,15,35,15,59,16,62,16,65,16,59,3,68,16,71,16,74,16,62,3,37,24,77,16,65,3,43,24,74,3,80,16,83,16,6,23,89,16,38,15,98,16,17,23,20,23,23,23,35,23,113,16,41,15,41,23,143,15,122,16,125,16,128,16,77,3,131,16,80,3,50,23,73,24,83,3,86,3,134,16,91,24,72,23,137,16,89,3,92,3,140,16,143,16,146,16,98,3,101,3,158,16,161,16,104,3,167,16,170,16,176,16,179,16,182,16,107,3,185,16,188,16,191,16,197,16,200,16,50,15,206,16,113,3,132,23,209,16,119,3,53,15,122,3,218,16,56,15,227,16,230,16,233,16,239,16,128,3,59,15,55,24,62,15,131,3,245,16,65,15,127,15,248,16,137,3,181,23,251,16,254,16,1,17,140,3,143,3,13,17,146,3,19,17,184,23,22,17,28,17,71,15,149,3,155,3,158,3,161,3,167,3,58,17,188,24,67,17,70,17,73,17,150,14,76,17,170,3,217,23,74,15,223,23,82,17,91,17,173,3,176,3,133,24,97,17,170,170,224,229,0,224,231,229,0,224,238,229,0,224,245,229,0,224,252,229,0,224,3,230,0,224,10,230,0,224,17,230,0,224,24,230,0,224,31,230,0,224,38,230,0,224,45,230,0,224,52,230,0,224,59,230,0,224,66,230,0,224,73,230,0,224,80,230,0,224,87,230,0,224,94,230,0,224,101,230,0,224,108,230,0,224,115,230,0,224,122,230,0,224,129,230,0,224,136,230,0,224,143,230,0,224,150,230,0,224,157,230,0,224,164,230,0,224,171,230,0,224,178,230,0,224,185,230,0,224,192,230,0,224,199,230,0,224,206,230,0,224,213,230,0,224,220,230,0,224,227,230,0,224,234,230,0,224,241,230,0,224,248,230,0,224,255,230,0,224,6,231,0,224,13,231,0,224,20,231,0,224,27,231,0,224,34,231,0,224,41,231,0,224,48,231,0,224,55,231,0,224,62,231,0,224,69,231,0,224,76,231,0,224,83,231,0,224,90,231,0,224,97,231,0,224,104,231,0,224,111,231,0,224,118,231,0,224,125,231,0,224,132,231,0,224,139,231,0,224,146,231,0,224,153,231,0,224,160,231,0,224,167,231,0,224,174,231,0,224,181,231,0,224,188,231,0,224,195,231,0,224,202,231,0,224,209,231,0,224,216,231,0,224,223,231,0,224,230,231,0,224,237,231,0,224,244,231,0,224,251,231,0,224,2,232,0,224,9,232,0,224,16,232,0,224,23,232,0,224,30,232,0,224,37,232,0,224,44,232,0,224,51,232,0,224,58,232,0,224,65,232,0,224,72,232,0,224,79,232,0,224,86,232,0,224,93,232,0,224,100,232,0,224,107,232,0,224,114,232,0,224,121,232,0,224,128,232,0,224,135,232,0,224,142,232,0,224,149,232,0,224,156,232,0,224,163,232,0,224,170,232,0,224,177,232,0,224,184,232,0,224,191,232,0,224,198,232,0,224,205,232,0,224,212,232,0,224,219,232,0,224,226,232,0,224,233,232,0,224,240,232,0,224,247,232,0,224,254,232,0,224,5,233,0,224,12,233,0,224,19,233,0,224,26,233,0,224,33,233,0,224,40,233,0,224,47,233,0,224,54,233,0,224,61,233,0,224,68,233,0,224,75,233,0,224,82,233,0,224,89,233,0,224,96,233,0,224,103,233,0,224,110,233,0,224,117,233,0,224,124,233,0,224,131,233,0,224,138,233,0,224,145,233,0,224,152,233,0,224,159,233,0,224,166,233,0,224,173,233,0,224,180,233,0,224,187,233,0,224,194,233,0,224,201,233,0,224,208,233,0,224,215,233,0,224,222,233,0,224,229,233,0,224,236,233,0,224,243,233,0,224,250,233,0,224,1,234,0,224,8,234,0,224,15,234,0,224,22,234,0,224,29,234,0,224,1,0,0,0,1,0,0,0,1,0,38,15,15,235,0,224,74,0,251,11,3,12,185,13,19,12,88,9,85,5,151,5,178,5,122,8,35,12,213,12,106,17,103,13,63,12,68,14,67,12,237,12,199,19,22,10,206,6,12,7,150,8,180,10,174,7,75,12,252,12,20,8,30,6,83,12,93,11,87,4,182,24,38,6,26,11,182,4,98,21,216,8,97,11,222,6,51,8,187,15,202,9,53,10,75,8,244,13,248,13,115,12,104,19,120,19,253,7,41,11,100,11,70,4,173,13,47,13,67,13,240,10,178,19,130,12,16,14,165,12,171,7,154,20,159,20,240,12,101,10,158,12,122,13,28,8,199,9,149,13,210,9,185,24,79,14,170,170,209,53,1,144,213,53,1,144,22,206,0,96,216,53,1,144,219,53,1,144,222,53,1,144,226,53,1,144,229,53,1,144,135,205,0,96,232,53,1,144,235,53,1,144,238,53,1,144,241,53,1,144,245,53,1,144,248,53,1,144,135,205,0,96,251,53,1,144,254,53,1,144,1,54,1,144,4,54,1,144,22,206,0,96,135,205,0,96,135,205,0,96,22,206,0,96,8,54,1,144,11,54,1,144,22,206,0,96,22,206,0,96,22,206,0,96,14,54,1,144,18,54,1,144,21,54,1,144,25,54,1,144,28,54,1,144,22,206,0,96,31,54,1,144,34,54,1,144,22,206,0,96,38,54,1,144,41,54,1,144,46,54,1,144,49,54,1,144,52,54,1,144,55,54,1,144,59,54,1,144,63,54,1,144,66,54,1,144,71,54,1,144,75,54,1,144,79,54,1,144,83,54,1,144,87,54,1,144,90,54,1,144,94,54,1,144,97,54,1,144,100,54,1,144,103,54,1,144,125,208,0,96,106,54,1,144,111,54,1,144,114,54,1,144,118,54,1,144,122,54,1,144,125,54,1,144,129,54,1,144,132,54,1,144,137,54,1,144,124,205,0,96,140,54,1,144,144,54,1,144,147,54,1,144,151,54,1,144,155,54,1,144,159,54,1,144,19,0,32,0,12,3,179,3,191,3,204,3,225,3,90,4,90,14,177,14,197,14,77,15,146,15,214,15,122,21,11,22,232,23,136,24,148,24,165,24,81,169,0,32,107,169,0,32,90,70,0,96,186,169,0,128,234,170,0,128,211,171,0,32,18,182,0,32,185,186,0,32,50,188,0,32,165,188,0,32,197,188,0,32,215,188,0,32,217,188,0,32,105,191,0,32,189,222,0,32,71,228,0,32,36,234,0,32,17,235,0,32,19,235,0,32,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,138,20,0,32,7,0,0,0,0,9,0,0,145,20,0,0,145,20,0,0,195,1,0,0,1,0,0,0,130,20,0,0,98,99,112,84,121,112,101,65,108,105,97,115,0,116,122,0,97,113,97,109,115,0,97,117,107,110,115,0,99,97,102,102,115,0,99,97,109,116,114,0,99,97,110,112,103,0,99,97,112,110,116,0,99,97,116,104,117,0,99,97,121,122,102,0,99,110,99,107,103,0,99,110,104,114,98,0,99,110,107,104,103,0,103,97,122,97,0,109,120,115,116,105,115,0,117,97,111,122,104,0,117,97,117,122,104,0,117,109,106,111,110,0,117,115,110,97,118,97,106,111,0,105,97,110,97,77,97,112,0,116,105,109,101,122,111,110,101,0,65,102,114,105,99,97,58,65,115,109,101,114,97,0,65,109,101,114,105,99,97,58,66,117,101,110,111,115,95,65,105,114,101,115,0,65,109,101,114,105,99,97,58,67,97,116,97,109,97,114,99,97,0,65,109,101,114,105,99,97,58,67,111,114,97,108,95,72,97,114,98,111,117,114,0,65,109,101,114,105,99,97,58,67,111,114,100,111,98,97,0,65,109,101,114,105,99,97,58,71,111,100,116,104,97,98,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,112,111,108,105,115,0,65,109,101,114,105,99,97,58,74,117,106,117,121,0,65,109,101,114,105,99,97,58,76,111,117,105,115,118,105,108,108,101,0,65,109,101,114,105,99,97,58,77,101,110,100,111,122,97,0,65,115,105,97,58,67,97,108,99,117,116,116,97,0,65,115,105,97,58,75,97,116,109,97,110,100,117,0,65,115,105,97,58,82,97,110,103,111,111,110,0,65,115,105,97,58,83,97,105,103,111,110,0,65,116,108,97,110,116,105,99,58,70,97,101,114,111,101,0,69,117,114,111,112,101,58,75,105,101,118,0,80,97,99,105,102,105,99,58,69,110,100,101,114,98,117,114,121,0,80,97,99,105,102,105,99,58,80,111,110,97,112,101,0,80,97,99,105,102,105,99,58,84,114,117,107,0,116,121,112,101,65,108,105,97,115,0,65,102,114,105,99,97,58,65,115,109,97,114,97,0,65,102,114,105,99,97,58,84,105,109,98,117,107,116,117,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,66,117,101,110,111,115,95,65,105,114,101,115,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,67,97,116,97,109,97,114,99,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,67,111,109,111,100,82,105,118,97,100,97,118,105,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,67,111,114,100,111,98,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,74,117,106,117,121,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,77,101,110,100,111,122,97,0,65,109,101,114,105,99,97,58,65,116,105,107,111,107,97,110,0,65,109,101,114,105,99,97,58,65,116,107,97,0,65,109,101,114,105,99,97,58,69,110,115,101,110,97,100,97,0,65,109,101,114,105,99,97,58,70,111,114,116,95,87,97,121,110,101,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,73,110,100,105,97,110,97,112,111,108,105,115,0,65,109,101,114,105,99,97,58,75,101,110,116,117,99,107,121,58,76,111,117,105,115,118,105,108,108,101,0,65,109,101,114,105,99,97,58,75,110,111,120,95,73,78,0,65,109,101,114,105,99,97,58,77,111,110,116,114,101,97,108,0,65,109,101,114,105,99,97,58,78,105,112,105,103,111,110,0,65,109,101,114,105,99,97,58,78,117,117,107,0,65,109,101,114,105,99,97,58,80,97,110,103,110,105,114,116,117,110,103,0,65,109,101,114,105,99,97,58,80,111,114,116,111,95,65,99,114,101,0,65,109,101,114,105,99,97,58,82,97,105,110,121,95,82,105,118,101,114,0,65,109,101,114,105,99,97,58,82,111,115,97,114,105,111,0,65,109,101,114,105,99,97,58,83,97,110,116,97,95,73,115,97,98,101,108,0,65,109,101,114,105,99,97,58,83,104,105,112,114,111,99,107,0,65,109,101,114,105,99,97,58,84,104,117,110,100,101,114,95,66,97,121,0,65,109,101,114,105,99,97,58,86,105,114,103,105,110,0,65,109,101,114,105,99,97,58,89,101,108,108,111,119,107,110,105,102,101,0,65,110,116,97,114,99,116,105,99,97,58,83,111,117,116,104,95,80,111,108,101,0,65,115,105,97,58,65,115,104,107,104,97,98,97,100,0,65,115,105,97,58,67,104,111,110,103,113,105,110,103,0,65,115,105,97,58,67,104,117,110,103,107,105,110,103,0,65,115,105,97,58,68,97,99,99,97,0,65,115,105,97,58,72,97,114,98,105,110,0,65,115,105,97,58,72,111,95,67,104,105,95,77,105,110,104,0,65,115,105,97,58,73,115,116,97,110,98,117,108,0,65,115,105,97,58,75,97,115,104,103,97,114,0,65,115,105,97,58,75,97,116,104,109,97,110,100,117,0,65,115,105,97,58,75,111,108,107,97,116,97,0,65,115,105,97,58,77,97,99,97,111,0,65,115,105,97,58,84,101,108,95,65,118,105,118,0,65,115,105,97,58,84,104,105,109,98,117,0,65,115,105,97,58,85,106,117,110,103,95,80,97,110,100,97,110,103,0,65,115,105,97,58,85,108,97,110,95,66,97,116,111,114,0,65,115,105,97,58,89,97,110,103,111,110,0,65,116,108,97,110,116,105,99,58,70,97,114,111,101,0,65,116,108,97,110,116,105,99,58,74,97,110,95,77,97,121,101,110,0,65,117,115,116,114,97,108,105,97,58,65,67,84,0,65,117,115,116,114,97,108,105,97,58,67,97,110,98,101,114,114,97,0,65,117,115,116,114,97,108,105,97,58,67,117,114,114,105,101,0,65,117,115,116,114,97,108,105,97,58,76,72,73,0,65,117,115,116,114,97,108,105,97,58,78,83,87,0,65,117,115,116,114,97,108,105,97,58,78,111,114,116,104,0,65,117,115,116,114,97,108,105,97,58,81,117,101,101,110,115,108,97,110,100,0,65,117,115,116,114,97,108,105,97,58,83,111,117,116,104,0,65,117,115,116,114,97,108,105,97,58,84,97,115,109,97,110,105,97,0,65,117,115,116,114,97,108,105,97,58,86,105,99,116,111,114,105,97,0,65,117,115,116,114,97,108,105,97,58,87,101,115,116,0,65,117,115,116,114,97,108,105,97,58,89,97,110,99,111,119,105,110,110,97,0,66,114,97,122,105,108,58,65,99,114,101,0,66,114,97,122,105,108,58,68,101,78,111,114,111,110,104,97,0,66,114,97,122,105,108,58,69,97,115,116,0,66,114,97,122,105,108,58,87,101,115,116,0,67,97,110,97,100,97,58,65,116,108,97,110,116,105,99,0,67,97,110,97,100,97,58,67,101,110,116,114,97,108,0,67,97,110,97,100,97,58,69,97,115,116,45,83,97,115,107,97,116,99,104,101,119,97,110,0,67,97,110,97,100,97,58,69,97,115,116,101,114,110,0,67,97,110,97,100,97,58,77,111,117,110,116,97,105,110,0,67,97,110,97,100,97,58,78,101,119,102,111,117,110,100,108,97,110,100,0,67,97,110,97,100,97,58,80,97,99,105,102,105,99,0,67,97,110,97,100,97,58,83,97,115,107,97,116,99,104,101,119,97,110,0,67,97,110,97,100,97,58,89,117,107,111,110,0,67,104,105,108,101,58,67,111,110,116,105,110,101,110,116,97,108,0,67,104,105,108,101,58,69,97,115,116,101,114,73,115,108,97,110,100,0,69,116,99,58,71,77,84,43,48,0,69,116,99,58,71,77,84,45,48,0,69,116,99,58,71,77,84,48,0,69,116,99,58,71,114,101,101,110,119,105,99,104,0,69,116,99,58,85,67,84,0,69,116,99,58,85,110,105,118,101,114,115,97,108,0,69,116,99,58,90,117,108,117,0,69,117,114,111,112,101,58,66,101,108,102,97,115,116,0,69,117,114,111,112,101,58,75,121,105,118,0,69,117,114,111,112,101,58,78,105,99,111,115,105,97,0,69,117,114,111,112,101,58,84,105,114,97,115,112,111,108,0,69,117,114,111,112,101,58,85,122,104,103,111,114,111,100,0,69,117,114,111,112,101,58,90,97,112,111,114,111,122,104,121,101,0,77,101,120,105,99,111,58,66,97,106,97,78,111,114,116,101,0,77,101,120,105,99,111,58,66,97,106,97,83,117,114,0,77,101,120,105,99,111,58,71,101,110,101,114,97,108,0,80,97,99,105,102,105,99,58,67,104,117,117,107,0,80,97,99,105,102,105,99,58,74,111,104,110,115,116,111,110,0,80,97,99,105,102,105,99,58,75,97,110,116,111,110,0,80,97,99,105,102,105,99,58,80,111,104,110,112,101,105,0,80,97,99,105,102,105,99,58,83,97,109,111,97,0,80,97,99,105,102,105,99,58,89,97,112,0,85,83,58,65,108,97,115,107,97,0,85,83,58,65,108,101,117,116,105,97,110,0,85,83,58,65,114,105,122,111,110,97,0,85,83,58,67,101,110,116,114,97,108,0,85,83,58,69,97,115,116,45,73,110,100,105,97,110,97,0,85,83,58,69,97,115,116,101,114,110,0,85,83,58,72,97,119,97,105,105,0,85,83,58,73,110,100,105,97,110,97,45,83,116,97,114,107,101,0,85,83,58,77,105,99,104,105,103,97,110,0,85,83,58,77,111,117,110,116,97,105,110,0,85,83,58,80,97,99,105,102,105,99,0,85,83,58,80,97,99,105,102,105,99,45,78,101,119,0,85,83,58,83,97,109,111,97,0,67,117,98,97,0,69,83,84,0,69,103,121,112,116,0,71,66,0,71,66,45,69,105,114,101,0,72,83,84,0,72,111,110,103,107,111,110,103,0,73,99,101,108,97,110,100,0,73,114,97,110,0,73,115,114,97,101,108,0,74,97,112,97,110,0,76,105,98,121,97,0,77,83,84,0,78,90,0,78,90,45,67,72,65,84,0,78,97,118,97,106,111,0,80,82,67,0,80,111,108,97,110,100,0,80,111,114,116,117,103,97,108,0,82,79,67,0,82,79,75,0,84,117,114,107,101,121,0,87,45,83,85,0,116,121,112,101,77,97,112,0,65,102,114,105,99,97,58,65,98,105,100,106,97,110,0,65,102,114,105,99,97,58,65,99,99,114,97,0,65,102,114,105,99,97,58,65,100,100,105,115,95,65,98,97,98,97,0,65,102,114,105,99,97,58,65,108,103,105,101,114,115,0,65,102,114,105,99,97,58,66,97,109,97,107,111,0,65,102,114,105,99,97,58,66,97,110,103,117,105,0,65,102,114,105,99,97,58,66,97,110,106,117,108,0,65,102,114,105,99,97,58,66,105,115,115,97,117,0,65,102,114,105,99,97,58,66,108,97,110,116,121,114,101,0,65,102,114,105,99,97,58,66,114,97,122,122,97,118,105,108,108,101,0,65,102,114,105,99,97,58,66,117,106,117,109,98,117,114,97,0,65,102,114,105,99,97,58,67,97,105,114,111,0,65,102,114,105,99,97,58,67,97,115,97,98,108,97,110,99,97,0,65,102,114,105,99,97,58,67,101,117,116,97,0,65,102,114,105,99,97,58,67,111,110,97,107,114,121,0,65,102,114,105,99,97,58,68,97,107,97,114,0,65,102,114,105,99,97,58,68,97,114,95,101,115,95,83,97,108,97,97,109,0,65,102,114,105,99,97,58,68,106,105,98,111,117,116,105,0,65,102,114,105,99,97,58,68,111,117,97,108,97,0,65,102,114,105,99,97,58,69,108,95,65,97,105,117,110,0,65,102,114,105,99,97,58,70,114,101,101,116,111,119,110,0,65,102,114,105,99,97,58,71,97,98,111,114,111,110,101,0,65,102,114,105,99,97,58,72,97,114,97,114,101,0,65,102,114,105,99,97,58,74,111,104,97,110,110,101,115,98,117,114,103,0,65,102,114,105,99,97,58,74,117,98,97,0,65,102,114,105,99,97,58,75,97,109,112,97,108,97,0,65,102,114,105,99,97,58,75,104,97,114,116,111,117,109,0,65,102,114,105,99,97,58,75,105,103,97,108,105,0,65,102,114,105,99,97,58,75,105,110,115,104,97,115,97,0,65,102,114,105,99,97,58,76,97,103,111,115,0,65,102,114,105,99,97,58,76,105,98,114,101,118,105,108,108,101,0,65,102,114,105,99,97,58,76,111,109,101,0,65,102,114,105,99,97,58,76,117,97,110,100,97,0,65,102,114,105,99,97,58,76,117,98,117,109,98,97,115,104,105,0,65,102,114,105,99,97,58,76,117,115,97,107,97,0,65,102,114,105,99,97,58,77,97,108,97,98,111,0,65,102,114,105,99,97,58,77,97,112,117,116,111,0,65,102,114,105,99,97,58,77,97,115,101,114,117,0,65,102,114,105,99,97,58,77,98,97,98,97,110,101,0,65,102,114,105,99,97,58,77,111,103,97,100,105,115,104,117,0,65,102,114,105,99,97,58,77,111,110,114,111,118,105,97,0,65,102,114,105,99,97,58,78,97,105,114,111,98,105,0,65,102,114,105,99,97,58,78,100,106,97,109,101,110,97,0,65,102,114,105,99,97,58,78,105,97,109,101,121,0,65,102,114,105,99,97,58,78,111,117,97,107,99,104,111,116,116,0,65,102,114,105,99,97,58,79,117,97,103,97,100,111,117,103,111,117,0,65,102,114,105,99,97,58,80,111,114,116,111,45,78,111,118,111,0,65,102,114,105,99,97,58,83,97,111,95,84,111,109,101,0,65,102,114,105,99,97,58,84,114,105,112,111,108,105,0,65,102,114,105,99,97,58,84,117,110,105,115,0,65,102,114,105,99,97,58,87,105,110,100,104,111,101,107,0,65,109,101,114,105,99,97,58,65,100,97,107,0,65,109,101,114,105,99,97,58,65,110,99,104,111,114,97,103,101,0,65,109,101,114,105,99,97,58,65,110,103,117,105,108,108,97,0,65,109,101,114,105,99,97,58,65,110,116,105,103,117,97,0,65,109,101,114,105,99,97,58,65,114,97,103,117,97,105,110,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,76,97,95,82,105,111,106,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,82,105,111,95,71,97,108,108,101,103,111,115,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,108,116,97,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,110,95,74,117,97,110,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,83,97,110,95,76,117,105,115,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,84,117,99,117,109,97,110,0,65,109,101,114,105,99,97,58,65,114,103,101,110,116,105,110,97,58,85,115,104,117,97,105,97,0,65,109,101,114,105,99,97,58,65,114,117,98,97,0,65,109,101,114,105,99,97,58,65,115,117,110,99,105,111,110,0,65,109,101,114,105,99,97,58,66,97,104,105,97,0,65,109,101,114,105,99,97,58,66,97,104,105,97,95,66,97,110,100,101,114,97,115,0,65,109,101,114,105,99,97,58,66,97,114,98,97,100,111,115,0,65,109,101,114,105,99,97,58,66,101,108,101,109,0,65,109,101,114,105,99,97,58,66,101,108,105,122,101,0,65,109,101,114,105,99,97,58,66,108,97,110,99,45,83,97,98,108,111,110,0,65,109,101,114,105,99,97,58,66,111,97,95,86,105,115,116,97,0,65,109,101,114,105,99,97,58,66,111,103,111,116,97,0,65,109,101,114,105,99,97,58,66,111,105,115,101,0,65,109,101,114,105,99,97,58,67,97,109,98,114,105,100,103,101,95,66,97,121,0,65,109,101,114,105,99,97,58,67,97,109,112,111,95,71,114,97,110,100,101,0,65,109,101,114,105,99,97,58,67,97,110,99,117,110,0,65,109,101,114,105,99,97,58,67,97,114,97,99,97,115,0,65,109,101,114,105,99,97,58,67,97,121,101,110,110,101,0,65,109,101,114,105,99,97,58,67,97,121,109,97,110,0,65,109,101,114,105,99,97,58,67,104,105,99,97,103,111,0,65,109,101,114,105,99,97,58,67,104,105,104,117,97,104,117,97,0,65,109,101,114,105,99,97,58,67,105,117,100,97,100,95,74,117,97,114,101,122,0,65,109,101,114,105,99,97,58,67,111,115,116,97,95,82,105,99,97,0,65,109,101,114,105,99,97,58,67,114,101,115,116,111,110,0,65,109,101,114,105,99,97,58,67,117,105,97,98,97,0,65,109,101,114,105,99,97,58,67,117,114,97,99,97,111,0,65,109,101,114,105,99,97,58,68,97,110,109,97,114,107,115,104,97,118,110,0,65,109,101,114,105,99,97,58,68,97,119,115,111,110,0,65,109,101,114,105,99,97,58,68,97,119,115,111,110,95,67,114,101,101,107,0,65,109,101,114,105,99,97,58,68,101,110,118,101,114,0,65,109,101,114,105,99,97,58,68,101,116,114,111,105,116,0,65,109,101,114,105,99,97,58,68,111,109,105,110,105,99,97,0,65,109,101,114,105,99,97,58,69,100,109,111,110,116,111,110,0,65,109,101,114,105,99,97,58,69,105,114,117,110,101,112,101,0,65,109,101,114,105,99,97,58,69,108,95,83,97,108,118,97,100,111,114,0,65,109,101,114,105,99,97,58,70,111,114,116,95,78,101,108,115,111,110,0,65,109,101,114,105,99,97,58,70,111,114,116,97,108,101,122,97,0,65,109,101,114,105,99,97,58,71,108,97,99,101,95,66,97,121,0,65,109,101,114,105,99,97,58,71,111,111,115,101,95,66,97,121,0,65,109,101,114,105,99,97,58,71,114,97,110,100,95,84,117,114,107,0,65,109,101,114,105,99,97,58,71,114,101,110,97,100,97,0,65,109,101,114,105,99,97,58,71,117,97,100,101,108,111,117,112,101,0,65,109,101,114,105,99,97,58,71,117,97,116,101,109,97,108,97,0,65,109,101,114,105,99,97,58,71,117,97,121,97,113,117,105,108,0,65,109,101,114,105,99,97,58,71,117,121,97,110,97,0,65,109,101,114,105,99,97,58,72,97,108,105,102,97,120,0,65,109,101,114,105,99,97,58,72,97,118,97,110,97,0,65,109,101,114,105,99,97,58,72,101,114,109,111,115,105,108,108,111,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,75,110,111,120,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,77,97,114,101,110,103,111,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,80,101,116,101,114,115,98,117,114,103,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,84,101,108,108,95,67,105,116,121,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,86,101,118,97,121,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,86,105,110,99,101,110,110,101,115,0,65,109,101,114,105,99,97,58,73,110,100,105,97,110,97,58,87,105,110,97,109,97,99,0,65,109,101,114,105,99,97,58,73,110,117,118,105,107,0,65,109,101,114,105,99,97,58,73,113,97,108,117,105,116,0,65,109,101,114,105,99,97,58,74,97,109,97,105,99,97,0,65,109,101,114,105,99,97,58,74,117,110,101,97,117,0,65,109,101,114,105,99,97,58,75,101,110,116,117,99,107,121,58,77,111,110,116,105,99,101,108,108,111,0,65,109,101,114,105,99,97,58,75,114,97,108,101,110,100,105,106,107,0,65,109,101,114,105,99,97,58,76,97,95,80,97,122,0,65,109,101,114,105,99,97,58,76,105,109,97,0,65,109,101,114,105,99,97,58,76,111,115,95,65,110,103,101,108,101,115,0,65,109,101,114,105,99,97,58,76,111,119,101,114,95,80,114,105,110,99,101,115,0,65,109,101,114,105,99,97,58,77,97,99,101,105,111,0,65,109,101,114,105,99,97,58,77,97,110,97,103,117,97,0,65,109,101,114,105,99,97,58,77,97,110,97,117,115,0,65,109,101,114,105,99,97,58,77,97,114,105,103,111,116,0,65,109,101,114,105,99,97,58,77,97,114,116,105,110,105,113,117,101,0,65,109,101,114,105,99,97,58,77,97,116,97,109,111,114,111,115,0,65,109,101,114,105,99,97,58,77,97,122,97,116,108,97,110,0,65,109,101,114,105,99,97,58,77,101,110,111,109,105,110,101,101,0,65,109,101,114,105,99,97,58,77,101,114,105,100,97,0,65,109,101,114,105,99,97,58,77,101,116,108,97,107,97,116,108,97,0,65,109,101,114,105,99,97,58,77,101,120,105,99,111,95,67,105,116,121,0,65,109,101,114,105,99,97,58,77,105,113,117,101,108,111,110,0,65,109,101,114,105,99,97,58,77,111,110,99,116,111,110,0,65,109,101,114,105,99,97,58,77,111,110,116,101,114,114,101,121,0,65,109,101,114,105,99,97,58,77,111,110,116,101,118,105,100,101,111,0,65,109,101,114,105,99,97,58,77,111,110,116,115,101,114,114,97,116,0,65,109,101,114,105,99,97,58,78,97,115,115,97,117,0,65,109,101,114,105,99,97,58,78,101,119,95,89,111,114,107,0,65,109,101,114,105,99,97,58,78,111,109,101,0,65,109,101,114,105,99,97,58,78,111,114,111,110,104,97,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,66,101,117,108,97,104,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,67,101,110,116,101,114,0,65,109,101,114,105,99,97,58,78,111,114,116,104,95,68,97,107,111,116,97,58,78,101,119,95,83,97,108,101,109,0,65,109,101,114,105,99,97,58,79,106,105,110,97,103,97,0,65,109,101,114,105,99,97,58,80,97,110,97,109,97,0,65,109,101,114,105,99,97,58,80,97,114,97,109,97,114,105,98,111,0,65,109,101,114,105,99,97,58,80,104,111,101,110,105,120,0,65,109,101,114,105,99,97,58,80,111,114,116,45,97,117,45,80,114,105,110,99,101,0,65,109,101,114,105,99,97,58,80,111,114,116,95,111,102,95,83,112,97,105,110,0,65,109,101,114,105,99,97,58,80,111,114,116,111,95,86,101,108,104,111,0,65,109,101,114,105,99,97,58,80,117,101,114,116,111,95,82,105,99,111,0,65,109,101,114,105,99,97,58,80,117,110,116,97,95,65,114,101,110,97,115,0,65,109,101,114,105,99,97,58,82,97,110,107,105,110,95,73,110,108,101,116,0,65,109,101,114,105,99,97,58,82,101,99,105,102,101,0,65,109,101,114,105,99,97,58,82,101,103,105,110,97,0,65,109,101,114,105,99,97,58,82,101,115,111,108,117,116,101,0,65,109,101,114,105,99,97,58,82,105,111,95,66,114,97,110,99,111,0,65,109,101,114,105,99,97,58,83,97,110,116,97,114,101,109,0,65,109,101,114,105,99,97,58,83,97,110,116,105,97,103,111,0,65,109,101,114,105,99,97,58,83,97,110,116,111,95,68,111,109,105,110,103,111,0,65,109,101,114,105,99,97,58,83,97,111,95,80,97,117,108,111,0,65,109,101,114,105,99,97,58,83,99,111,114,101,115,98,121,115,117,110,100,0,65,109,101,114,105,99,97,58,83,105,116,107,97,0,65,109,101,114,105,99,97,58,83,116,95,66,97,114,116,104,101,108,101,109,121,0,65,109,101,114,105,99,97,58,83,116,95,74,111,104,110,115,0,65,109,101,114,105,99,97,58,83,116,95,75,105,116,116,115,0,65,109,101,114,105,99,97,58,83,116,95,76,117,99,105,97,0,65,109,101,114,105,99,97,58,83,116,95,84,104,111,109,97,115,0,65,109,101,114,105,99,97,58,83,116,95,86,105,110,99,101,110,116,0,65,109,101,114,105,99,97,58,83,119,105,102,116,95,67,117,114,114,101,110,116,0,65,109,101,114,105,99,97,58,84,101,103,117,99,105,103,97,108,112,97,0,65,109,101,114,105,99,97,58,84,104,117,108,101,0,65,109,101,114,105,99,97,58,84,105,106,117,97,110,97,0,65,109,101,114,105,99,97,58,84,111,114,111,110,116,111,0,65,109,101,114,105,99,97,58,84,111,114,116,111,108,97,0,65,109,101,114,105,99,97,58,86,97,110,99,111,117,118,101,114,0,65,109,101,114,105,99,97,58,87,104,105,116,101,104,111,114,115,101,0,65,109,101,114,105,99,97,58,87,105,110,110,105,112,101,103,0,65,109,101,114,105,99,97,58,89,97,107,117,116,97,116,0,65,110,116,97,114,99,116,105,99,97,58,67,97,115,101,121,0,65,110,116,97,114,99,116,105,99,97,58,68,97,118,105,115,0,65,110,116,97,114,99,116,105,99,97,58,68,117,109,111,110,116,68,85,114,118,105,108,108,101,0,65,110,116,97,114,99,116,105,99,97,58,77,97,99,113,117,97,114,105,101,0,65,110,116,97,114,99,116,105,99,97,58,77,97,119,115,111,110,0,65,110,116,97,114,99,116,105,99,97,58,77,99,77,117,114,100,111,0,65,110,116,97,114,99,116,105,99,97,58,80,97,108,109,101,114,0,65,110,116,97,114,99,116,105,99,97,58,82,111,116,104,101,114,97,0,65,110,116,97,114,99,116,105,99,97,58,83,121,111,119,97,0,65,110,116,97,114,99,116,105,99,97,58,84,114,111,108,108,0,65,110,116,97,114,99,116,105,99,97,58,86,111,115,116,111,107,0,65,114,99,116,105,99,58,76,111,110,103,121,101,97,114,98,121,101,110,0,65,115,105,97,58,65,100,101,110,0,65,115,105,97,58,65,108,109,97,116,121,0,65,115,105,97,58,65,109,109,97,110,0,65,115,105,97,58,65,110,97,100,121,114,0,65,115,105,97,58,65,113,116,97,117,0,65,115,105,97,58,65,113,116,111,98,101,0,65,115,105,97,58,65,115,104,103,97,98,97,116,0,65,115,105,97,58,65,116,121,114,97,117,0,65,115,105,97,58,66,97,103,104,100,97,100,0,65,115,105,97,58,66,97,104,114,97,105,110,0,65,115,105,97,58,66,97,107,117,0,65,115,105,97,58,66,97,110,103,107,111,107,0,65,115,105,97,58,66,97,114,110,97,117,108,0,65,115,105,97,58,66,101,105,114,117,116,0,65,115,105,97,58,66,105,115,104,107,101,107,0,65,115,105,97,58,66,114,117,110,101,105,0,65,115,105,97,58,67,104,105,116,97,0,65,115,105,97,58,67,104,111,105,98,97,108,115,97,110,0,65,115,105,97,58,67,111,108,111,109,98,111,0,65,115,105,97,58,68,97,109,97,115,99,117,115,0,65,115,105,97,58,68,104,97,107,97,0,65,115,105,97,58,68,105,108,105,0,65,115,105,97,58,68,117,98,97,105,0,65,115,105,97,58,68,117,115,104,97,110,98,101,0,65,115,105,97,58,70,97,109,97,103,117,115,116,97,0,65,115,105,97,58,71,97,122,97,0,65,115,105,97,58,72,101,98,114,111,110,0,65,115,105,97,58,72,111,110,103,95,75,111,110,103,0,65,115,105,97,58,72,111,118,100,0,65,115,105,97,58,73,114,107,117,116,115,107,0,65,115,105,97,58,74,97,107,97,114,116,97,0,65,115,105,97,58,74,97,121,97,112,117,114,97,0,65,115,105,97,58,74,101,114,117,115,97,108,101,109,0,65,115,105,97,58,75,97,98,117,108,0,65,115,105,97,58,75,97,109,99,104,97,116,107,97,0,65,115,105,97,58,75,97,114,97,99,104,105,0,65,115,105,97,58,75,104,97,110,100,121,103,97,0,65,115,105,97,58,75,114,97,115,110,111,121,97,114,115,107,0,65,115,105,97,58,75,117,97,108,97,95,76,117,109,112,117,114,0,65,115,105,97,58,75,117,99,104,105,110,103,0,65,115,105,97,58,75,117,119,97,105,116,0,65,115,105,97,58,77,97,99,97,117,0,65,115,105,97,58,77,97,103,97,100,97,110,0,65,115,105,97,58,77,97,107,97,115,115,97,114,0,65,115,105,97,58,77,97,110,105,108,97,0,65,115,105,97,58,77,117,115,99,97,116,0,65,115,105,97,58,78,105,99,111,115,105,97,0,65,115,105,97,58,78,111,118,111,107,117,122,110,101,116,115,107,0,65,115,105,97,58,78,111,118,111,115,105,98,105,114,115,107,0,65,115,105,97,58,79,109,115,107,0,65,115,105,97,58,79,114,97,108,0,65,115,105,97,58,80,104,110,111,109,95,80,101,110,104,0,65,115,105,97,58,80,111,110,116,105,97,110,97,107,0,65,115,105,97,58,80,121,111,110,103,121,97,110,103,0,65,115,105,97,58,81,97,116,97,114,0,65,115,105,97,58,81,111,115,116,97,110,97,121,0,65,115,105,97,58,81,121,122,121,108,111,114,100,97,0,65,115,105,97,58,82,105,121,97,100,104,0,65,115,105,97,58,83,97,107,104,97,108,105,110,0,65,115,105,97,58,83,97,109,97,114,107,97,110,100,0,65,115,105,97,58,83,101,111,117,108,0,65,115,105,97,58,83,104,97,110,103,104,97,105,0,65,115,105,97,58,83,105,110,103,97,112,111,114,101,0,65,115,105,97,58,83,114,101,100,110,101,107,111,108,121,109,115,107,0,65,115,105,97,58,84,97,105,112,101,105,0,65,115,105,97,58,84,97,115,104,107,101,110,116,0,65,115,105,97,58,84,98,105,108,105,115,105,0,65,115,105,97,58,84,101,104,114,97,110,0,65,115,105,97,58,84,104,105,109,112,104,117,0,65,115,105,97,58,84,111,107,121,111,0,65,115,105,97,58,84,111,109,115,107,0,65,115,105,97,58,85,108,97,97,110,98,97,97,116,97,114,0,65,115,105,97,58,85,114,117,109,113,105,0,65,115,105,97,58,85,115,116,45,78,101,114,97,0,65,115,105,97,58,86,105,101,110,116,105,97,110,101,0,65,115,105,97,58,86,108,97,100,105,118,111,115,116,111,107,0,65,115,105,97,58,89,97,107,117,116,115,107,0,65,115,105,97,58,89,101,107,97,116,101,114,105,110,98,117,114,103,0,65,115,105,97,58,89,101,114,101,118,97,110,0,65,116,108,97,110,116,105,99,58,65,122,111,114,101,115,0,65,116,108,97,110,116,105,99,58,66,101,114,109,117,100,97,0,65,116,108,97,110,116,105,99,58,67,97,110,97,114,121,0,65,116,108,97,110,116,105,99,58,67,97,112,101,95,86,101,114,100,101,0,65,116,108,97,110,116,105,99,58,77,97,100,101,105,114,97,0,65,116,108,97,110,116,105,99,58,82,101,121,107,106,97,118,105,107,0,65,116,108,97,110,116,105,99,58,83,111,117,116,104,95,71,101,111,114,103,105,97,0,65,116,108,97,110,116,105,99,58,83,116,95,72,101,108,101,110,97,0,65,116,108,97,110,116,105,99,58,83,116,97,110,108,101,121,0,65,117,115,116,114,97,108,105,97,58,65,100,101,108,97,105,100,101,0,65,117,115,116,114,97,108,105,97,58,66,114,105,115,98,97,110,101,0,65,117,115,116,114,97,108,105,97,58,66,114,111,107,101,110,95,72,105,108,108,0,65,117,115,116,114,97,108,105,97,58,68,97,114,119,105,110,0,65,117,115,116,114,97,108,105,97,58,69,117,99,108,97,0,65,117,115,116,114,97,108,105,97,58,72,111,98,97,114,116,0,65,117,115,116,114,97,108,105,97,58,76,105,110,100,101,109,97,110,0,65,117,115,116,114,97,108,105,97,58,76,111,114,100,95,72,111,119,101,0,65,117,115,116,114,97,108,105,97,58,77,101,108,98,111,117,114,110,101,0,65,117,115,116,114,97,108,105,97,58,80,101,114,116,104,0,65,117,115,116,114,97,108,105,97,58,83,121,100,110,101,121,0,69,116,99,58,71,77,84,0,69,116,99,58,71,77,84,43,49,0,69,116,99,58,71,77,84,43,49,48,0,69,116,99,58,71,77,84,43,49,49,0,69,116,99,58,71,77,84,43,49,50,0,69,116,99,58,71,77,84,43,50,0,69,116,99,58,71,77,84,43,51,0,69,116,99,58,71,77,84,43,52,0,69,116,99,58,71,77,84,43,53,0,69,116,99,58,71,77,84,43,54,0,69,116,99,58,71,77,84,43,55,0,69,116,99,58,71,77,84,43,56,0,69,116,99,58,71,77,84,43,57,0,69,116,99,58,71,77,84,45,49,0,69,116,99,58,71,77,84,45,49,48,0,69,116,99,58,71,77,84,45,49,49,0,69,116,99,58,71,77,84,45,49,50,0,69,116,99,58,71,77,84,45,49,51,0,69,116,99,58,71,77,84,45,49,52,0,69,116,99,58,71,77,84,45,50,0,69,116,99,58,71,77,84,45,51,0,69,116,99,58,71,77,84,45,52,0,69,116,99,58,71,77,84,45,53,0,69,116,99,58,71,77,84,45,54,0,69,116,99,58,71,77,84,45,55,0,69,116,99,58,71,77,84,45,56,0,69,116,99,58,71,77,84,45,57,0,69,116,99,58,85,84,67,0,69,116,99,58,85,110,107,110,111,119,110,0,69,117,114,111,112,101,58,65,109,115,116,101,114,100,97,109,0,69,117,114,111,112,101,58,65,110,100,111,114,114,97,0,69,117,114,111,112,101,58,65,115,116,114,97,107,104,97,110,0,69,117,114,111,112,101,58,65,116,104,101,110,115,0,69,117,114,111,112,101,58,66,101,108,103,114,97,100,101,0,69,117,114,111,112,101,58,66,101,114,108,105,110,0,69,117,114,111,112,101,58,66,114,97,116,105,115,108,97,118,97,0,69,117,114,111,112,101,58,66,114,117,115,115,101,108,115,0,69,117,114,111,112,101,58,66,117,99,104,97,114,101,115,116,0,69,117,114,111,112,101,58,66,117,100,97,112,101,115,116,0,69,117,114,111,112,101,58,66,117,115,105,110,103,101,110,0,69,117,114,111,112,101,58,67,104,105,115,105,110,97,117,0,69,117,114,111,112,101,58,67,111,112,101,110,104,97,103,101,110,0,69,117,114,111,112,101,58,68,117,98,108,105,110,0,69,117,114,111,112,101,58,71,105,98,114,97,108,116,97,114,0,69,117,114,111,112,101,58,71,117,101,114,110,115,101,121,0,69,117,114,111,112,101,58,72,101,108,115,105,110,107,105,0,69,117,114,111,112,101,58,73,115,108,101,95,111,102,95,77,97,110,0,69,117,114,111,112,101,58,73,115,116,97,110,98,117,108,0,69,117,114,111,112,101,58,74,101,114,115,101,121,0,69,117,114,111,112,101,58,75,97,108,105,110,105,110,103,114,97,100,0,69,117,114,111,112,101,58,75,105,114,111,118,0,69,117,114,111,112,101,58,76,105,115,98,111,110,0,69,117,114,111,112,101,58,76,106,117,98,108,106,97,110,97,0,69,117,114,111,112,101,58,76,111,110,100,111,110,0,69,117,114,111,112,101,58,76,117,120,101,109,98,111,117,114,103,0,69,117,114,111,112,101,58,77,97,100,114,105,100,0,69,117,114,111,112,101,58,77,97,108,116,97,0,69,117,114,111,112,101,58,77,97,114,105,101,104,97,109,110,0,69,117,114,111,112,101,58,77,105,110,115,107,0,69,117,114,111,112,101,58,77,111,110,97,99,111,0,69,117,114,111,112,101,58,77,111,115,99,111,119,0,69,117,114,111,112,101,58,79,115,108,111,0,69,117,114,111,112,101,58,80,97,114,105,115,0,69,117,114,111,112,101,58,80,111,100,103,111,114,105,99,97,0,69,117,114,111,112,101,58,80,114,97,103,117,101,0,69,117,114,111,112,101,58,82,105,103,97,0,69,117,114,111,112,101,58,82,111,109,101,0,69,117,114,111,112,101,58,83,97,109,97,114,97,0,69,117,114,111,112,101,58,83,97,110,95,77,97,114,105,110,111,0,69,117,114,111,112,101,58,83,97,114,97,106,101,118,111,0,69,117,114,111,112,101,58,83,97,114,97,116,111,118,0,69,117,114,111,112,101,58,83,105,109,102,101,114,111,112,111,108,0,69,117,114,111,112,101,58,83,107,111,112,106,101,0,69,117,114,111,112,101,58,83,111,102,105,97,0,69,117,114,111,112,101,58,83,116,111,99,107,104,111,108,109,0,69,117,114,111,112,101,58,84,97,108,108,105,110,110,0,69,117,114,111,112,101,58,84,105,114,97,110,101,0,69,117,114,111,112,101,58,85,108,121,97,110,111,118,115,107,0,69,117,114,111,112,101,58,86,97,100,117,122,0,69,117,114,111,112,101,58,86,97,116,105,99,97,110,0,69,117,114,111,112,101,58,86,105,101,110,110,97,0,69,117,114,111,112,101,58,86,105,108,110,105,117,115,0,69,117,114,111,112,101,58,86,111,108,103,111,103,114,97,100,0,69,117,114,111,112,101,58,87,97,114,115,97,119,0,69,117,114,111,112,101,58,90,97,103,114,101,98,0,69,117,114,111,112,101,58,90,117,114,105,99,104,0,73,110,100,105,97,110,58,65,110,116,97,110,97,110,97,114,105,118,111,0,73,110,100,105,97,110,58,67,104,97,103,111,115,0,73,110,100,105,97,110,58,67,104,114,105,115,116,109,97,115,0,73,110,100,105,97,110,58,67,111,99,111,115,0,73,110,100,105,97,110,58,67,111,109,111,114,111,0,73,110,100,105,97,110,58,75,101,114,103,117,101,108,101,110,0,73,110,100,105,97,110,58,77,97,104,101,0,73,110,100,105,97,110,58,77,97,108,100,105,118,101,115,0,73,110,100,105,97,110,58,77,97,117,114,105,116,105,117,115,0,73,110,100,105,97,110,58,77,97,121,111,116,116,101,0,73,110,100,105,97,110,58,82,101,117,110,105,111,110,0,80,97,99,105,102,105,99,58,65,112,105,97,0,80,97,99,105,102,105,99,58,65,117,99,107,108,97,110,100,0,80,97,99,105,102,105,99,58,66,111,117,103,97,105,110,118,105,108,108,101,0,80,97,99,105,102,105,99,58,67,104,97,116,104,97,109,0,80,97,99,105,102,105,99,58,69,97,115,116,101,114,0,80,97,99,105,102,105,99,58,69,102,97,116,101,0,80,97,99,105,102,105,99,58,70,97,107,97,111,102,111,0,80,97,99,105,102,105,99,58,70,105,106,105,0,80,97,99,105,102,105,99,58,70,117,110,97,102,117,116,105,0,80,97,99,105,102,105,99,58,71,97,108,97,112,97,103,111,115,0,80,97,99,105,102,105,99,58,71,97,109,98,105,101,114,0,80,97,99,105,102,105,99,58,71,117,97,100,97,108,99,97,110,97,108,0,80,97,99,105,102,105,99,58,71,117,97,109,0,80,97,99,105,102,105,99,58,72,111,110,111,108,117,108,117,0,80,97,99,105,102,105,99,58,75,105,114,105,116,105,109,97,116,105,0,80,97,99,105,102,105,99,58,75,111,115,114,97,101,0,80,97,99,105,102,105,99,58,75,119,97,106,97,108,101,105,110,0,80,97,99,105,102,105,99,58,77,97,106,117,114,111,0,80,97,99,105,102,105,99,58,77,97,114,113,117,101,115,97,115,0,80,97,99,105,102,105,99,58,77,105,100,119,97,121,0,80,97,99,105,102,105,99,58,78,97,117,114,117,0,80,97,99,105,102,105,99,58,78,105,117,101,0,80,97,99,105,102,105,99,58,78,111,114,102,111,108,107,0,80,97,99,105,102,105,99,58,78,111,117,109,101,97,0,80,97,99,105,102,105,99,58,80,97,103,111,95,80,97,103,111,0,80,97,99,105,102,105,99,58,80,97,108,97,117,0,80,97,99,105,102,105,99,58,80,105,116,99,97,105,114,110,0,80,97,99,105,102,105,99,58,80,111,114,116,95,77,111,114,101,115,98,121,0,80,97,99,105,102,105,99,58,82,97,114,111,116,111,110,103,97,0,80,97,99,105,102,105,99,58,83,97,105,112,97,110,0,80,97,99,105,102,105,99,58,84,97,104,105,116,105,0,80,97,99,105,102,105,99,58,84,97,114,97,119,97,0,80,97,99,105,102,105,99,58,84,111,110,103,97,116,97,112,117,0,80,97,99,105,102,105,99,58,87,97,107,101,0,80,97,99,105,102,105,99,58,87,97,108,108,105,115,0,67,83,84,54,67,68,84,0,69,83,84,53,69,68,84,0,77,83,84,55,77,68,84,0,80,83,84,56,80,68,84,0,170,170,170,0,0,103,0,109,0,116,0,0,0,117,0,110,0,107,0,0,0,117,0,116,0,99,0,0,0,99,0,97,0,116,0,111,0,114,0,0,0,99,0,110,0,115,0,104,0,97,0,0,0,117,0,97,0,105,0,101,0,118,0,0,0,97,0,117,0,104,0,98,0,97,0,0,0,99,0,97,0,101,0,100,0,109,0,0,0,99,0,97,0,105,0,113,0,108,0,0,0,99,0,97,0,119,0,110,0,112,0,0,0,99,0,110,0,117,0,114,0,99,0,0,0,109,0,120,0,116,0,105,0,106,0,0,0,110,0,122,0,97,0,107,0,108,0,0,0,117,0,115,0,100,0,101,0,110,0,0,0,117,0,115,0,104,0,110,0,108,0,0,0,97,0,100,0,97,0,108,0,118,0,0,0,97,0,101,0,100,0,120,0,98,0,0,0,97,0,102,0,107,0,98,0,108,0,0,0,97,0,103,0,97,0,110,0,117,0,0,0,97,0,105,0,97,0,120,0,97,0,0,0,97,0,108,0,116,0,105,0,97,0,0,0,97,0,109,0,101,0,118,0,110,0,0,0,97,0,110,0,99,0,117,0,114,0,0,0,97,0,111,0,108,0,97,0,100,0,0,0,97,0,113,0,99,0,97,0,115,0,0,0,97,0,113,0,100,0,97,0,118,0,0,0,97,0,113,0,100,0,100,0,117,0,0,0,97,0,113,0,109,0,97,0,119,0,0,0,97,0,113,0,109,0,99,0,109,0,0,0,97,0,113,0,112,0,108,0,109,0,0,0,97,0,113,0,114,0,111,0,116,0,0,0,97,0,113,0,115,0,121,0,119,0,0,0,97,0,113,0,116,0,114,0,108,0,0,0,97,0,113,0,118,0,111,0,115,0,0,0,97,0,114,0,98,0,117,0,101,0,0,0,97,0,114,0,99,0,111,0,114,0,0,0,97,0,114,0,99,0,116,0,99,0,0,0,97,0,114,0,105,0,114,0,106,0,0,0,97,0,114,0,106,0,117,0,106,0,0,0,97,0,114,0,108,0,117,0,113,0,0,0,97,0,114,0,109,0,100,0,122,0,0,0,97,0,114,0,114,0,103,0,108,0,0,0,97,0,114,0,115,0,108,0,97,0,0,0,97,0,114,0,116,0,117,0,99,0,0,0,97,0,114,0,117,0,97,0,113,0,0,0,97,0,114,0,117,0,115,0,104,0,0,0,97,0,115,0,112,0,112,0,103,0,0,0,97,0,116,0,118,0,105,0,101,0,0,0,97,0,117,0,97,0,100,0,108,0,0,0,97,0,117,0,98,0,104,0,113,0,0,0,97,0,117,0,98,0,110,0,101,0,0,0,97,0,117,0,100,0,114,0,119,0,0,0,97,0,117,0,101,0,117,0,99,0,0,0,97,0,117,0,108,0,100,0,99,0,0,0,97,0,117,0,108,0,100,0,104,0,0,0,97,0,117,0,109,0,101,0,108,0,0,0,97,0,117,0,109,0,113,0,105,0,0,0,97,0,117,0,112,0,101,0,114,0,0,0,97,0,117,0,115,0,121,0,100,0,0,0,97,0,119,0,97,0,117,0,97,0,0,0,97,0,122,0,98,0,97,0,107,0,0,0,98,0,97,0,115,0,106,0,106,0,0,0,98,0,98,0,98,0,103,0,105,0,0,0,98,0,100,0,100,0,97,0,99,0,0,0,98,0,101,0,98,0,114,0,117,0,0,0,98,0,102,0,111,0,117,0,97,0,0,0,98,0,103,0,115,0,111,0,102,0,0,0,98,0,104,0,98,0,97,0,104,0,0,0,98,0,105,0,98,0,106,0,109,0,0,0,98,0,106,0,112,0,116,0,110,0,0,0,98,0,109,0,98,0,100,0,97,0,0,0,98,0,110,0,98,0,119,0,110,0,0,0,98,0,111,0,108,0,112,0,98,0,0,0,98,0,113,0,107,0,114,0,97,0,0,0,98,0,114,0,97,0,117,0,120,0,0,0,98,0,114,0,98,0,101,0,108,0,0,0,98,0,114,0,98,0,118,0,98,0,0,0,98,0,114,0,99,0,103,0,98,0,0,0,98,0,114,0,99,0,103,0,114,0,0,0,98,0,114,0,101,0,114,0,110,0,0,0,98,0,114,0,102,0,101,0,110,0,0,0,98,0,114,0,102,0,111,0,114,0,0,0,98,0,114,0,109,0,97,0,111,0,0,0,98,0,114,0,109,0,99,0,122,0,0,0,98,0,114,0,112,0,118,0,104,0,0,0,98,0,114,0,114,0,98,0,114,0,0,0,98,0,114,0,114,0,101,0,99,0,0,0,98,0,114,0,115,0,97,0,111,0,0,0,98,0,114,0,115,0,115,0,97,0,0,0,98,0,114,0,115,0,116,0,109,0,0,0,98,0,115,0,110,0,97,0,115,0,0,0,98,0,116,0,116,0,104,0,105,0,0,0,98,0,119,0,103,0,98,0,101,0,0,0,98,0,121,0,109,0,115,0,113,0,0,0,98,0,122,0,98,0,122,0,101,0,0,0,99,0,97,0,99,0,102,0,113,0,0,0,99,0,97,0,102,0,110,0,101,0,0,0,99,0,97,0,103,0,108,0,98,0,0,0,99,0,97,0,103,0,111,0,111,0,0,0,99,0,97,0,104,0,97,0,108,0,0,0,99,0,97,0,109,0,111,0,110,0,0,0,99,0,97,0,114,0,101,0,98,0,0,0,99,0,97,0,114,0,101,0,103,0,0,0,99,0,97,0,115,0,106,0,102,0,0,0,99,0,97,0,118,0,97,0,110,0,0,0,99,0,97,0,121,0,98,0,120,0,0,0,99,0,97,0,121,0,99,0,98,0,0,0,99,0,97,0,121,0,100,0,97,0,0,0,99,0,97,0,121,0,100,0,113,0,0,0,99,0,97,0,121,0,101,0,107,0,0,0,99,0,97,0,121,0,101,0,118,0,0,0,99,0,97,0,121,0,120,0,121,0,0,0,99,0,97,0,121,0,121,0,110,0,0,0,99,0,97,0,121,0,122,0,115,0,0,0,99,0,99,0,99,0,99,0,107,0,0,0,99,0,100,0,102,0,98,0,109,0,0,0,99,0,100,0,102,0,105,0,104,0,0,0,99,0,102,0,98,0,103,0,102,0,0,0,99,0,103,0,98,0,122,0,118,0,0,0,99,0,104,0,122,0,114,0,104,0,0,0,99,0,105,0,97,0,98,0,106,0,0,0,99,0,107,0,114,0,97,0,114,0,0,0,99,0,108,0,105,0,112,0,99,0,0,0,99,0,108,0,112,0,117,0,113,0,0,0,99,0,108,0,115,0,99,0,108,0,0,0,99,0,109,0,100,0,108,0,97,0,0,0,99,0,111,0,98,0,111,0,103,0,0,0,99,0,114,0,115,0,106,0,111,0,0,0,99,0,117,0,104,0,97,0,118,0,0,0,99,0,118,0,114,0,97,0,105,0,0,0,99,0,120,0,120,0,99,0,104,0,0,0,99,0,121,0,102,0,109,0,103,0,0,0,99,0,121,0,110,0,105,0,99,0,0,0,99,0,122,0,112,0,114,0,103,0,0,0,100,0,101,0,98,0,101,0,114,0,0,0,100,0,106,0,106,0,105,0,98,0,0,0,100,0,107,0,99,0,112,0,104,0,0,0,100,0,109,0,100,0,111,0,109,0,0,0,100,0,111,0,115,0,100,0,113,0,0,0,100,0,122,0,97,0,108,0,103,0,0,0,101,0,99,0,103,0,112,0,115,0,0,0,101,0,99,0,103,0,121,0,101,0,0,0,101,0,101,0,116,0,108,0,108,0,0,0,101,0,103,0,99,0,97,0,105,0,0,0,101,0,104,0,101,0,97,0,105,0,0,0,101,0,114,0,97,0,115,0,109,0,0,0,101,0,115,0,99,0,101,0,117,0,0,0,101,0,115,0,108,0,112,0,97,0,0,0,101,0,115,0,109,0,97,0,100,0,0,0,101,0,116,0,97,0,100,0,100,0,0,0,102,0,105,0,104,0,101,0,108,0,0,0,102,0,105,0,109,0,104,0,113,0,0,0,102,0,106,0,115,0,117,0,118,0,0,0,102,0,107,0,112,0,115,0,121,0,0,0,102,0,109,0,107,0,115,0,97,0,0,0,102,0,109,0,112,0,110,0,105,0,0,0,102,0,109,0,116,0,107,0,107,0,0,0,102,0,111,0,116,0,104,0,111,0,0,0,102,0,114,0,112,0,97,0,114,0,0,0,103,0,97,0,108,0,98,0,118,0,0,0,103,0,98,0,108,0,111,0,110,0,0,0,103,0,100,0,103,0,110,0,100,0,0,0,103,0,101,0,116,0,98,0,115,0,0,0,103,0,102,0,99,0,97,0,121,0,0,0,103,0,103,0,103,0,99,0,105,0,0,0,103,0,104,0,97,0,99,0,99,0,0,0,103,0,105,0,103,0,105,0,98,0,0,0,103,0,108,0,103,0,111,0,104,0,0,0,103,0,108,0,111,0,98,0,121,0,0,0,103,0,108,0,116,0,104,0,117,0,0,0,103,0,109,0,98,0,106,0,108,0,0,0,103,0,110,0,99,0,107,0,121,0,0,0,103,0,112,0,98,0,98,0,114,0,0,0,103,0,112,0,109,0,115,0,98,0,0,0,103,0,112,0,115,0,98,0,104,0,0,0,103,0,113,0,115,0,115,0,103,0,0,0,103,0,114,0,97,0,116,0,104,0,0,0,103,0,115,0,103,0,114,0,118,0,0,0,103,0,116,0,103,0,117,0,97,0,0,0,103,0,117,0,103,0,117,0,109,0,0,0,103,0,119,0,111,0,120,0,98,0,0,0,103,0,121,0,103,0,101,0,111,0,0,0,104,0,107,0,104,0,107,0,103,0,0,0,104,0,110,0,116,0,103,0,117,0,0,0,104,0,114,0,122,0,97,0,103,0,0,0,104,0,116,0,112,0,97,0,112,0,0,0,104,0,117,0,98,0,117,0,100,0,0,0,105,0,100,0,100,0,106,0,106,0,0,0,105,0,100,0,106,0,107,0,116,0,0,0,105,0,100,0,109,0,97,0,107,0,0,0,105,0,100,0,112,0,110,0,107,0,0,0,105,0,101,0,100,0,117,0,98,0,0,0,105,0,109,0,100,0,103,0,115,0,0,0,105,0,110,0,99,0,99,0,117,0,0,0,105,0,111,0,100,0,103,0,97,0,0,0,105,0,113,0,98,0,103,0,119,0,0,0,105,0,114,0,116,0,104,0,114,0,0,0,105,0,115,0,114,0,101,0,121,0,0,0,105,0,116,0,114,0,111,0,109,0,0,0,106,0,101,0,115,0,116,0,104,0,0,0,106,0,109,0,107,0,105,0,110,0,0,0,106,0,111,0,97,0,109,0,109,0,0,0,106,0,112,0,116,0,121,0,111,0,0,0,107,0,101,0,110,0,98,0,111,0,0,0,107,0,103,0,102,0,114,0,117,0,0,0,107,0,104,0,112,0,110,0,104,0,0,0,107,0,105,0,99,0,120,0,105,0,0,0,107,0,105,0,112,0,104,0,111,0,0,0,107,0,105,0,116,0,114,0,119,0,0,0,107,0,109,0,121,0,118,0,97,0,0,0,107,0,110,0,98,0,97,0,115,0,0,0,107,0,112,0,102,0,110,0,106,0,0,0,107,0,114,0,115,0,101,0,108,0,0,0,107,0,119,0,107,0,119,0,105,0,0,0,107,0,121,0,103,0,101,0,99,0,0,0,107,0,122,0,97,0,97,0,117,0,0,0,107,0,122,0,97,0,107,0,120,0,0,0,107,0,122,0,97,0,108,0,97,0,0,0,107,0,122,0,103,0,117,0,119,0,0,0,107,0,122,0,107,0,115,0,110,0,0,0,107,0,122,0,107,0,122,0,111,0,0,0,107,0,122,0,117,0,114,0,97,0,0,0,108,0,97,0,118,0,116,0,101,0,0,0,108,0,98,0,98,0,101,0,121,0,0,0,108,0,99,0,99,0,97,0,115,0,0,0,108,0,105,0,118,0,100,0,122,0,0,0,108,0,107,0,99,0,109,0,98,0,0,0,108,0,114,0,109,0,108,0,119,0,0,0,108,0,115,0,109,0,115,0,117,0,0,0,108,0,116,0,118,0,110,0,111,0,0,0,108,0,117,0,108,0,117,0,120,0,0,0,108,0,118,0,114,0,105,0,120,0,0,0,108,0,121,0,116,0,105,0,112,0,0,0,109,0,97,0,99,0,97,0,115,0,0,0,109,0,99,0,109,0,111,0,110,0,0,0,109,0,100,0,107,0,105,0,118,0,0,0,109,0,101,0,116,0,103,0,100,0,0,0,109,0,103,0,116,0,110,0,114,0,0,0,109,0,104,0,107,0,119,0,97,0,0,0,109,0,104,0,109,0,97,0,106,0,0,0,109,0,107,0,115,0,107,0,112,0,0,0,109,0,108,0,98,0,107,0,111,0,0,0,109,0,109,0,114,0,103,0,110,0,0,0,109,0,110,0,99,0,111,0,113,0,0,0,109,0,110,0,104,0,118,0,100,0,0,0,109,0,110,0,117,0,108,0,110,0,0,0,109,0,111,0,109,0,102,0,109,0,0,0,109,0,112,0,115,0,112,0,110,0,0,0,109,0,113,0,102,0,100,0,102,0,0,0,109,0,114,0,110,0,107,0,99,0,0,0,109,0,115,0,109,0,110,0,105,0,0,0,109,0,116,0,109,0,108,0,97,0,0,0,109,0,117,0,112,0,108,0,117,0,0,0,109,0,118,0,109,0,108,0,101,0,0,0,109,0,119,0,98,0,108,0,122,0,0,0,109,0,120,0,99,0,104,0,105,0,0,0,109,0,120,0,99,0,106,0,115,0,0,0,109,0,120,0,99,0,117,0,110,0,0,0,109,0,120,0,104,0,109,0,111,0,0,0,109,0,120,0,109,0,97,0,109,0,0,0,109,0,120,0,109,0,101,0,120,0,0,0,109,0,120,0,109,0,105,0,100,0,0,0,109,0,120,0,109,0,116,0,121,0,0,0,109,0,120,0,109,0,122,0,116,0,0,0,109,0,120,0,111,0,106,0,105,0,0,0,109,0,120,0,112,0,118,0,114,0,0,0,109,0,121,0,107,0,99,0,104,0,0,0,109,0,121,0,107,0,117,0,108,0,0,0,109,0,122,0,109,0,112,0,109,0,0,0,110,0,97,0,119,0,100,0,104,0,0,0,110,0,99,0,110,0,111,0,117,0,0,0,110,0,101,0,110,0,105,0,109,0,0,0,110,0,102,0,110,0,108,0,107,0,0,0,110,0,103,0,108,0,111,0,115,0,0,0,110,0,105,0,109,0,103,0,97,0,0,0,110,0,108,0,97,0,109,0,115,0,0,0,110,0,111,0,111,0,115,0,108,0,0,0,110,0,112,0,107,0,116,0,109,0,0,0,110,0,114,0,105,0,110,0,117,0,0,0,110,0,117,0,105,0,117,0,101,0,0,0,110,0,122,0,99,0,104,0,116,0,0,0,111,0,109,0,109,0,99,0,116,0,0,0,112,0,97,0,112,0,116,0,121,0,0,0,112,0,101,0,108,0,105,0,109,0,0,0,112,0,102,0,103,0,109,0,114,0,0,0,112,0,102,0,110,0,104,0,118,0,0,0,112,0,102,0,112,0,112,0,116,0,0,0,112,0,103,0,112,0,111,0,109,0,0,0,112,0,103,0,114,0,97,0,119,0,0,0,112,0,104,0,109,0,110,0,108,0,0,0,112,0,107,0,107,0,104,0,105,0,0,0,112,0,108,0,119,0,97,0,119,0,0,0,112,0,109,0,109,0,113,0,99,0,0,0,112,0,110,0,112,0,99,0,110,0,0,0,112,0,114,0,115,0,106,0,117,0,0,0,112,0,116,0,102,0,110,0,99,0,0,0,112,0,116,0,108,0,105,0,115,0,0,0,112,0,116,0,112,0,100,0,108,0,0,0,112,0,119,0,114,0,111,0,114,0,0,0,112,0,121,0,97,0,115,0,117,0,0,0,113,0,97,0,100,0,111,0,104,0,0,0,114,0,101,0,114,0,101,0,117,0,0,0,114,0,111,0,98,0,117,0,104,0,0,0,114,0,115,0,98,0,101,0,103,0,0,0,114,0,117,0,97,0,115,0,102,0,0,0,114,0,117,0,98,0,97,0,120,0,0,0,114,0,117,0,100,0,121,0,114,0,0,0,114,0,117,0,103,0,100,0,120,0,0,0,114,0,117,0,105,0,107,0,116,0,0,0,114,0,117,0,107,0,103,0,100,0,0,0,114,0,117,0,107,0,114,0,97,0,0,0,114,0,117,0,107,0,117,0,102,0,0,0,114,0,117,0,107,0,118,0,120,0,0,0,114,0,117,0,109,0,111,0,119,0,0,0,114,0,117,0,110,0,111,0,122,0,0,0,114,0,117,0,111,0,109,0,115,0,0,0,114,0,117,0,111,0,118,0,98,0,0,0,114,0,117,0,112,0,107,0,99,0,0,0,114,0,117,0,114,0,116,0,119,0,0,0,114,0,117,0,116,0,111,0,102,0,0,0,114,0,117,0,117,0,108,0,121,0,0,0,114,0,117,0,117,0,117,0,115,0,0,0,114,0,117,0,118,0,111,0,103,0,0,0,114,0,117,0,118,0,118,0,111,0,0,0,114,0,117,0,121,0,101,0,107,0,0,0,114,0,117,0,121,0,107,0,115,0,0,0,114,0,119,0,107,0,103,0,108,0,0,0,115,0,97,0,114,0,117,0,104,0,0,0,115,0,98,0,104,0,105,0,114,0,0,0,115,0,99,0,109,0,97,0,119,0,0,0,115,0,100,0,107,0,114,0,116,0,0,0,115,0,101,0,115,0,116,0,111,0,0,0,115,0,103,0,115,0,105,0,110,0,0,0,115,0,104,0,115,0,104,0,110,0,0,0,115,0,105,0,108,0,106,0,117,0,0,0,115,0,106,0,108,0,121,0,114,0,0,0,115,0,107,0,98,0,116,0,115,0,0,0,115,0,108,0,102,0,110,0,97,0,0,0,115,0,109,0,115,0,97,0,105,0,0,0,115,0,110,0,100,0,107,0,114,0,0,0,115,0,111,0,109,0,103,0,113,0,0,0,115,0,114,0,112,0,98,0,109,0,0,0,115,0,115,0,106,0,117,0,98,0,0,0,115,0,116,0,116,0,109,0,115,0,0,0,115,0,118,0,115,0,97,0,108,0,0,0,115,0,120,0,112,0,104,0,105,0,0,0,115,0,121,0,100,0,97,0,109,0,0,0,115,0,122,0,113,0,109,0,110,0,0,0,116,0,99,0,103,0,100,0,116,0,0,0,116,0,100,0,110,0,100,0,106,0,0,0,116,0,102,0,112,0,102,0,114,0,0,0,116,0,103,0,108,0,102,0,119,0,0,0,116,0,104,0,98,0,107,0,107,0,0,0,116,0,106,0,100,0,121,0,117,0,0,0,116,0,107,0,102,0,107,0,111,0,0,0,116,0,108,0,100,0,105,0,108,0,0,0,116,0,109,0,97,0,115,0,98,0,0,0,116,0,110,0,116,0,117,0,110,0,0,0,116,0,111,0,116,0,98,0,117,0,0,0,116,0,114,0,105,0,115,0,116,0,0,0,116,0,116,0,112,0,111,0,115,0,0,0,116,0,118,0,102,0,117,0,110,0,0,0,116,0,119,0,116,0,112,0,101,0,0,0,116,0,122,0,100,0,97,0,114,0,0,0,117,0,97,0,115,0,105,0,112,0,0,0,117,0,103,0,107,0,108,0,97,0,0,0,117,0,109,0,97,0,119,0,107,0,0,0,117,0,109,0,109,0,100,0,121,0,0,0,117,0,115,0,97,0,100,0,107,0,0,0,117,0,115,0,97,0,101,0,103,0,0,0,117,0,115,0,97,0,110,0,99,0,0,0,117,0,115,0,98,0,111,0,105,0,0,0,117,0,115,0,99,0,104,0,105,0,0,0,117,0,115,0,100,0,101,0,116,0,0,0,117,0,115,0,105,0,110,0,100,0,0,0,117,0,115,0,106,0,110,0,117,0,0,0,117,0,115,0,107,0,110,0,120,0,0,0,117,0,115,0,108,0,97,0,120,0,0,0,117,0,115,0,108,0,117,0,105,0,0,0,117,0,115,0,109,0,110,0,109,0,0,0,117,0,115,0,109,0,111,0,99,0,0,0,117,0,115,0,109,0,116,0,109,0,0,0,117,0,115,0,110,0,121,0,99,0,0,0,117,0,115,0,111,0,101,0,97,0,0,0,117,0,115,0,111,0,109,0,101,0,0,0,117,0,115,0,112,0,104,0,120,0,0,0,117,0,115,0,115,0,105,0,116,0,0,0,117,0,115,0,116,0,101,0,108,0,0,0,117,0,115,0,119,0,108,0,122,0,0,0,117,0,115,0,119,0,115,0,113,0,0,0,117,0,115,0,120,0,117,0,108,0,0,0,117,0,115,0,121,0,97,0,107,0,0,0,117,0,121,0,109,0,118,0,100,0,0,0,117,0,122,0,115,0,107,0,100,0,0,0,117,0,122,0,116,0,97,0,115,0,0,0,118,0,97,0,118,0,97,0,116,0,0,0,118,0,99,0,115,0,118,0,100,0,0,0,118,0,101,0,99,0,99,0,115,0,0,0,118,0,103,0,116,0,111,0,118,0,0,0,118,0,105,0,115,0,116,0,116,0,0,0,118,0,110,0,115,0,103,0,110,0,0,0,118,0,117,0,118,0,108,0,105,0,0,0,119,0,102,0,109,0,97,0,117,0,0,0,119,0,115,0,97,0,112,0,119,0,0,0,121,0,101,0,97,0,100,0,101,0,0,0,121,0,116,0,109,0,97,0,109,0,0,0,122,0,97,0,106,0,110,0,98,0,0,0,122,0,109,0,108,0,117,0,110,0,0,0,122,0,119,0,104,0,114,0,101,0,0,0,104,0,101,0,98,0,114,0,111,0,110,0,0,0,114,0,117,0,115,0,114,0,101,0,100,0,0,0,117,0,116,0,99,0,101,0,48,0,49,0,0,0,117,0,116,0,99,0,101,0,48,0,50,0,0,0,117,0,116,0,99,0,101,0,48,0,51,0,0,0,117,0,116,0,99,0,101,0,48,0,52,0,0,0,117,0,116,0,99,0,101,0,48,0,53,0,0,0,117,0,116,0,99,0,101,0,48,0,54,0,0,0,117,0,116,0,99,0,101,0,48,0,55,0,0,0,117,0,116,0,99,0,101,0,48,0,56,0,0,0,117,0,116,0,99,0,101,0,48,0,57,0,0,0,117,0,116,0,99,0,101,0,49,0,48,0,0,0,117,0,116,0,99,0,101,0,49,0,49,0,0,0,117,0,116,0,99,0,101,0,49,0,50,0,0,0,117,0,116,0,99,0,101,0,49,0,51,0,0,0,117,0,116,0,99,0,101,0,49,0,52,0,0,0,117,0,116,0,99,0,119,0,48,0,49,0,0,0,117,0,116,0,99,0,119,0,48,0,50,0,0,0,117,0,116,0,99,0,119,0,48,0,51,0,0,0,117,0,116,0,99,0,119,0,48,0,52,0,0,0,117,0,116,0,99,0,119,0,48,0,53,0,0,0,117,0,116,0,99,0,119,0,48,0,54,0,0,0,117,0,116,0,99,0,119,0,48,0,55,0,0,0,117,0,116,0,99,0,119,0,48,0,56,0,0,0,117,0,116,0,99,0,119,0,48,0,57,0,0,0,117,0,116,0,99,0,119,0,49,0,48,0,0,0,117,0,116,0,99,0,119,0,49,0,49,0,0,0,117,0,116,0,99,0,119,0,49,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,0,0,69,0,116,0,99,0,47,0,85,0,84,0,67,0,0,0,99,0,115,0,116,0,54,0,99,0,100,0,116,0,0,0,100,0,101,0,98,0,115,0,110,0,103,0,110,0,0,0,101,0,115,0,116,0,53,0,101,0,100,0,116,0,0,0,106,0,101,0,114,0,117,0,115,0,108,0,109,0,0,0,109,0,115,0,116,0,55,0,109,0,100,0,116,0,0,0,112,0,115,0,116,0,56,0,112,0,100,0,116,0,0,0,114,0,117,0,99,0,104,0,105,0,116,0,97,0,0,0,114,0,117,0,107,0,104,0,110,0,100,0,103,0,0,0,114,0,117,0,117,0,110,0,101,0,114,0,97,0,0,0,117,0,115,0,105,0,110,0,118,0,101,0,118,0,0,0,117,0,115,0,110,0,100,0,99,0,110,0,116,0,0,0,117,0,115,0,110,0,100,0,110,0,115,0,108,0,0,0,103,0,97,0,122,0,97,0,115,0,116,0,114,0,112,0,0,0,103,0,108,0,100,0,107,0,115,0,104,0,118,0,110,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,53,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,55,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,104,0,97,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,99,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,101,0,111,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,107,0,121,0,111,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,48,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,101,0,118,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,105,0,103,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,105,0,112,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,101,0,104,0,114,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,114,0,117,0,109,0,113,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,97,0,110,0,103,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,121,0,105,0,118,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,97,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,114,0,117,0,107,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,105,0,114,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,117,0,117,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,111,0,108,0,107,0,97,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,105,0,99,0,111,0,115,0,105,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,97,0,110,0,103,0,111,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,104,0,105,0,109,0,112,0,104,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,104,0,97,0,110,0,103,0,104,0,97,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,111,0,110,0,100,0,111,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,109,0,97,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,109,0,101,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,109,0,97,0,107,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,106,0,117,0,121,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,115,0,104,0,103,0,97,0,98,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,97,0,108,0,99,0,117,0,116,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,116,0,109,0,97,0,110,0,100,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,107,0,97,0,115,0,115,0,97,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,68,0,117,0,98,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,105,0,115,0,98,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,115,0,99,0,111,0,119,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,87,0,97,0,114,0,115,0,97,0,119,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,67,0,104,0,117,0,117,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,110,0,118,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,103,0,105,0,110,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,101,0,114,0,117,0,115,0,97,0,108,0,101,0,109,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,114,0,105,0,112,0,111,0,108,0,105,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,118,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,117,0,115,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,110,0,103,0,95,0,75,0,111,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,116,0,104,0,109,0,97,0,110,0,100,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,105,0,110,0,103,0,97,0,112,0,111,0,114,0,101,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,70,0,97,0,114,0,111,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,97,0,110,0,116,0,111,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,110,0,97,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,111,0,110,0,116,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,105,0,106,0,117,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,100,0,111,0,98,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,116,0,97,0,110,0,98,0,117,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,99,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,116,0,114,0,111,0,105,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,100,0,116,0,104,0,97,0,98,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,108,0,105,0,102,0,97,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,113,0,97,0,108,0,117,0,105,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,97,0,109,0,97,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,110,0,100,0,111,0,122,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,111,0,110,0,104,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,104,0,111,0,101,0,110,0,105,0,120,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,70,0,97,0,101,0,114,0,111,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,80,0,101,0,114,0,116,0,104,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,104,0,105,0,115,0,105,0,110,0,97,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,67,0,104,0,97,0,116,0,104,0,97,0,109,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,104,0,110,0,112,0,101,0,105,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,121,0,100,0,110,0,101,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,100,0,109,0,111,0,110,0,116,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,110,0,105,0,112,0,101,0,103,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,72,0,111,0,98,0,97,0,114,0,116,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,117,0,99,0,107,0,108,0,97,0,110,0,100,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,72,0,111,0,110,0,111,0,108,0,117,0,108,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,116,0,105,0,107,0,111,0,107,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,122,0,97,0,116,0,108,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,101,0,119,0,95,0,89,0,111,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,105,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,74,0,111,0,104,0,110,0,115,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,95,0,67,0,104,0,105,0,95,0,77,0,105,0,110,0,104,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,97,0,110,0,98,0,97,0,97,0,116,0,97,0,114,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,68,0,97,0,114,0,119,0,105,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,116,0,97,0,109,0,97,0,114,0,99,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,103,0,111,0,95,0,80,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,99,0,104,0,111,0,114,0,97,0,103,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,80,0,97,0,117,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,84,0,104,0,111,0,109,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,86,0,97,0,110,0,99,0,111,0,117,0,118,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,110,0,100,0,101,0,114,0,98,0,117,0,114,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,119,0,97,0,106,0,97,0,108,0,101,0,105,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,105,0,111,0,95,0,66,0,114,0,97,0,110,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,117,0,105,0,115,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,104,0,105,0,116,0,101,0,104,0,111,0,114,0,115,0,101,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,82,0,101,0,121,0,107,0,106,0,97,0,118,0,105,0,107,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,100,0,101,0,108,0,97,0,105,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,105,0,115,0,98,0,97,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,115,0,95,0,65,0,110,0,103,0,101,0,108,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,67,0,105,0,116,0,121,0,0,0,65,0,114,0,99,0,116,0,105,0,99,0,47,0,76,0,111,0,110,0,103,0,121,0,101,0,97,0,114,0,98,0,121,0,101,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,111,0,114,0,100,0,95,0,72,0,111,0,119,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,77,0,101,0,108,0,98,0,111,0,117,0,114,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,112,0,111,0,108,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,75,0,110,0,111,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,97,0,108,0,95,0,72,0,97,0,114,0,98,0,111,0,117,0,114,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,111,0,107,0,101,0,110,0,95,0,72,0,105,0,108,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,74,0,117,0,106,0,117,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,67,0,111,0,114,0,100,0,111,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,77,0,101,0,110,0,100,0,111,0,122,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,67,0,97,0,116,0,97,0,109,0,97,0,114,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,101,0,110,0,116,0,117,0,99,0,107,0,121,0,47,0,76,0,111,0,117,0,105,0,115,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,112,0,111,0,108,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,0,0,17,0,48,0,54,0,60,0,66,0,72,0,78,0,84,0,90,0,96,0,102,0,108,0,114,0,119,0,126,0,132,0,138,0,144,0,67,0,31,0,49,0,13,0,13,0,43,0,13,0,37,0,19,0,19,0,55,0,197,10,61,0,25,0,25,0,79,0,73,0,19,0,170,0,184,0,205,0,223,0,245,0,5,1,21,1,42,1,56,1,75,1,91,1,105,1,119,1,132,1,144,1,160,1,172,1,190,1,205,1,250,11,243,17,158,17,249,14,106,17,157,11,214,17,82,17,186,17,132,17,170,11,25,13,94,11,78,15,55,13,106,11,85,13,131,14,162,12,144,0,228,1,242,1,2,2,33,2,61,2,94,2,120,2,144,2,170,2,187,2,200,2,217,2,236,2,9,3,37,3,53,3,70,3,86,3,99,3,119,3,138,3,158,3,174,3,195,3,212,3,232,3,247,3,11,4,33,4,48,4,63,4,78,4,89,4,101,4,118,4,132,4,145,4,160,4,173,4,184,4,198,4,210,4,229,4,245,4,1,5,16,5,35,5,49,5,68,5,85,5,99,5,113,5,129,5,150,5,166,5,185,5,204,5,219,5,240,5,252,5,13,6,25,6,37,6,53,6,68,6,93,6,108,6,124,6,144,6,159,6,179,6,192,6,210,6,176,8,181,8,185,8,197,8,229,6,239,6,249,6,2,7,16,7,24,7,38,7,47,7,62,7,74,7,89,7,105,7,121,7,191,8,194,8,119,28,233,6,243,6,253,6,6,7,202,8,206,8,215,8,223,8,228,8,76,17,235,8,182,34,241,8,247,8,139,7,156,7,171,7,251,8,254,8,6,9,13,9,186,7,200,7,217,7,232,7,248,7,6,8,17,9,24,9,33,9,37,9,26,26,41,9,20,7,18,8,28,8,40,8,51,8,62,8,78,8,89,8,99,8,117,8,129,8,141,8,152,8,167,8,139,29,28,7,48,9,42,7,8,12,22,12,17,17,129,15,129,15,147,13,36,12,19,14,38,17,118,11,131,13,231,16,231,16,36,16,252,16,115,13,115,13,211,13,243,13,17,16,181,14,147,13,131,13,176,12,115,13,201,15,164,14,215,14,50,12,222,11,222,11,235,10,222,11,46,11,163,13,82,11,78,12,64,12,246,10,206,12,209,11,92,12,95,15,196,11,67,14,171,16,147,14,147,14,198,14,191,16,147,14,112,15,112,16,93,16,198,14,211,16,83,14,60,17,17,16,35,14,183,15,251,12,227,13,181,14,191,12,115,13,164,14,61,15,219,15,191,12,55,16,44,15,70,13,236,12,215,10,144,11,106,12,85,10,85,10,85,10,85,10,93,10,93,10,93,10,236,11,34,11,183,11,99,14,34,11,34,11,236,11,236,11,85,10,85,10,85,10,85,10,85,10,23,11,10,13,74,16,70,11,206,12,3,14,12,11,255,15,221,12,225,10,131,13,10,15,151,16,215,14,115,14,176,12,222,11,131,11,232,14,237,15,100,13,147,15,131,11,148,12,120,12,58,11,1,11,40,13,163,13,93,10,165,15,118,11,51,14,179,13,231,16,27,15,232,14,252,16,195,13,176,12,131,16,131,16,147,15,93,10,93,10,134,12,93,10,195,1,61,9,76,9,89,9,108,9,170,0,123,9,137,9,151,9,165,9,179,9,195,9,214,9,231,9,244,9,6,10,19,10,34,10,47,10,68,10,84,10,98,10,114,10,130,10,146,10,160,10,180,10,192,10,207,10,223,10,237,10,253,10,10,11,28,11,40,11,54,11,72,11,86,11,100,11,114,11,128,11,143,11,160,11,176,11,191,11,207,11,221,11,239,11,2,12,20,12,36,12,51,12,64,12,80,12,93,12,111,12,128,12,144,12,162,12,189,12,220,12,244,12,15,13,42,13,68,13,94,13,108,13,125,13,139,13,162,13,179,13,193,13,208,13,229,13,247,13,6,14,184,0,20,14,42,14,63,14,78,14,205,0,94,14,110,14,125,14,141,14,159,14,223,0,245,0,181,14,200,14,216,14,231,14,247,14,12,15,27,15,48,15,63,15,79,15,96,15,113,15,130,15,150,15,170,15,188,15,5,1,206,15,224,15,243,15,3,16,22,16,40,16,58,16,73,16,89,16,104,16,123,16,144,16,168,16,195,16,221,16,243,16,13,17,21,1,37,17,52,17,68,17,42,1,84,17,99,17,127,17,146,17,161,17,174,17,56,1,194,17,216,17,231,17,247,17,6,18,22,18,41,18,59,18,75,1,76,18,94,18,109,18,128,18,148,18,165,18,181,18,199,18,218,18,237,18,252,18,13,19,26,19,42,19,70,19,98,19,129,19,145,19,160,19,179,19,195,19,218,19,240,19,4,20,24,20,45,20,66,20,81,20,96,20,113,20,132,20,149,20,166,20,188,20,206,20,227,20,241,20,7,21,24,21,41,21,58,21,76,21,95,21,117,21,137,21,151,21,167,21,183,21,199,21,217,21,236,21,253,21,13,22,30,22,47,22,73,22,94,22,112,22,131,22,149,22,168,22,185,22,202,22,220,22,240,22,250,22,6,23,17,23,29,23,40,23,52,23,66,23,78,23,91,23,104,23,114,23,127,23,140,23,152,23,165,23,91,1,177,23,188,23,204,23,217,23,231,23,242,23,252,23,7,24,21,24,36,24,46,24,58,24,73,24,83,24,96,24,109,24,123,24,138,24,149,24,164,24,105,1,177,24,191,24,208,24,226,24,239,24,251,24,6,25,19,25,33,25,45,25,57,25,70,25,88,25,105,25,115,25,125,25,141,25,156,25,171,25,182,25,196,25,119,1,211,25,132,1,223,25,237,25,252,25,7,26,21,26,36,26,55,26,67,26,81,26,94,26,106,26,119,26,130,26,141,26,158,26,170,26,184,26,199,26,216,26,229,26,248,26,5,27,21,27,38,27,54,27,144,1,74,27,91,27,110,27,133,27,152,27,169,27,188,27,207,27,229,27,246,27,6,28,23,28,42,28,62,28,82,28,98,28,221,35,229,35,115,28,123,28,133,28,144,28,155,28,166,28,176,28,186,28,196,28,206,28,216,28,226,28,236,28,246,28,0,29,11,29,22,29,33,29,44,29,55,29,65,29,75,29,85,29,95,29,105,29,115,29,125,29,135,29,143,29,155,29,172,29,187,29,204,29,218,29,234,29,248,29,10,30,26,30,43,30,59,30,75,30,91,30,109,30,123,30,140,30,156,30,172,30,191,30,207,30,221,30,160,1,240,30,253,30,11,31,28,31,42,31,60,31,74,31,87,31,104,31,117,31,131,31,145,31,157,31,170,31,187,31,201,31,213,31,225,31,239,31,1,32,17,32,32,32,50,32,64,32,77,32,94,32,109,32,123,32,140,32,153,32,168,32,182,32,197,32,214,32,228,32,242,32,0,33,20,33,34,33,51,33,64,33,78,33,95,33,107,33,123,33,140,33,155,33,237,35,245,35,170,33,183,33,200,33,221,33,237,33,252,33,172,1,10,34,26,34,39,34,56,34,74,34,90,34,110,34,123,34,140,34,159,34,174,34,192,34,207,34,225,34,240,34,254,34,11,35,27,35,42,35,60,35,74,35,190,1,91,35,112,35,130,35,145,35,160,35,175,35,205,1,193,35,206,35,203,2,217,3,121,3,61,3,97,3,161,5,185,2,247,3,51,4,239,5,191,2,147,1,85,3,113,5,103,3,253,3,237,7,125,8,37,3,233,2,91,3,225,7,35,2,139,9,127,9,255,7,137,8,183,7,159,7,179,2,97,6,181,3,53,8,133,0,173,2,133,9,21,4,67,6,83,5,29,8,243,7,77,5,189,4,41,8,85,6,209,5,129,1,153,1,5,8,107,5,89,8,73,6,155,8,167,8,109,0,103,0,183,1,217,0,241,0,247,0,3,1,229,0,253,0,9,1,93,1,253,6,11,2,49,6,111,1,189,1,47,2,113,2,195,1,239,2,173,8,199,0,119,2,207,1,1,6,73,9,211,0,205,3,255,4,179,8,245,5,251,5,161,2,205,0,245,2,53,2,201,1,127,0,206,10,125,2,131,2,73,0,185,8,49,3,37,0,213,1,11,8,59,2,225,1,65,2,229,3,71,2,35,8,193,3,3,4,39,4,73,3,57,4,77,2,251,2,7,6,203,8,161,8,25,9,13,9,173,10,245,8,19,9,191,8,143,2,43,0,171,4,223,0,197,8,227,8,177,1,171,1,157,6,209,8,215,8,17,8,237,1,103,6,231,1,9,4,203,5,13,6,37,6,235,0,221,8,25,6,233,8,19,6,211,6,83,2,31,6,43,9,215,5,23,2,239,8,251,8,219,1,31,9,181,10,189,10,43,6,151,6,249,7,1,9,81,4,107,8,243,1,223,6,221,2,137,2,255,1,95,2,89,2,249,1,17,2,227,2,55,3,5,2,235,3,7,9,15,4,101,2,231,4,59,5,85,9,67,9,155,2,69,4,241,3,61,0,13,0,79,9,107,2,149,2,49,0,37,9,139,0,145,0,151,0,75,1,157,0,163,0,169,0,175,0,181,0,187,0,193,0,213,7,115,9,17,5,177,4,39,7,5,5,11,5,83,8,23,5,141,4,141,1,99,1,59,8,33,7,53,5,195,4,165,1,129,4,149,10,173,5,71,5,23,8,117,1,77,8,91,0,65,8,13,3,197,10,145,9,63,4,179,5,51,7,99,4,93,4,125,10,97,0,105,7,199,6,121,6,157,10,63,7,61,6,55,6,249,4,191,5,45,7,105,4,193,6,145,6,19,3,87,7,99,7,93,7,41,5,201,4,111,4,237,4,3,7,29,5,35,5,167,5,165,7,91,9,129,7,49,9,243,4,19,0,195,7,152,9,119,8,55,9,199,3,147,4,29,2,183,4,117,7,185,5,55,0,165,10,47,5,141,7,153,7,147,7,121,0,241,6,159,1,109,3,1,3,169,3,229,6,153,4,33,4,201,7,145,3,27,1,39,1,33,1,45,1,51,1,31,0,57,1,63,1,69,1,81,1,87,1,101,10,117,10,1,0,1,10,64,10,71,10,78,10,8,10,15,10,22,10,29,10,36,10,43,10,50,10,57,10,159,9,222,9,229,9,236,9,243,9,250,9,166,9,173,9,180,9,187,9,194,9,201,9,208,9,215,9,9,0,5,0,109,6,85,0,27,7,27,4,21,7,31,3,219,7,123,1,15,7,87,4,109,10,125,5,43,3,117,4,223,3,211,3,127,3,123,4,101,8,165,4,57,7,25,0,75,7,235,6,207,7,187,3,95,5,115,3,221,5,133,3,41,2,119,5,81,7,115,6,175,3,131,5,25,3,101,5,159,4,69,7,231,7,105,1,111,7,131,8,155,5,135,1,189,7,79,3,115,0,123,7,65,5,61,9,21,1,89,5,135,7,205,6,75,4,197,2,137,5,135,4,7,3,167,2,225,4,47,8,177,7,233,5,227,5,121,9,9,7,133,10,141,10,109,9,67,0,187,6,139,6,215,2,97,9,213,4,71,8,139,3,113,8,67,3,163,6,171,7,45,4,79,0,207,4,151,3,143,5,149,5,169,6,149,8,127,6,133,6,91,6,79,6,15,1,247,6,217,6,157,3,181,6,209,2,197,5,175,6,219,4,95,8,163,3,143,8,103,9,1,0,45,0,18,18,0,80,1,0,161,0,53,18,0,80,1,0,161,0,92,18,0,80,1,0,161,0,125,19,0,80,4,0,32,0,153,0,218,1,53,9,170,170,130,20,0,32,132,20,0,32,134,20,0,32,136,20,0,32,170,170,170,170,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,238,15,0,32,7,0,0,0,136,2,0,0,246,15,0,0,246,15,0,0,113,0,0,0,1,0,0,0,158,11,0,0,99,108,100,114,86,101,114,115,105,111,110,0,99,111,110,118,101,114,116,85,110,105,116,115,0,49,48,48,45,107,105,108,111,109,101,116,101,114,0,102,97,99,116,111,114,0,116,97,114,103,101,116,0,97,99,114,101,0,97,114,99,45,109,105,110,117,116,101,0,97,114,99,45,115,101,99,111,110,100,0,97,115,116,114,111,110,111,109,105,99,97,108,45,117,110,105,116,0,97,116,109,111,115,112,104,101,114,101,0,98,97,114,0,98,97,114,114,101,108,0,98,105,116,0,98,114,105,116,105,115,104,45,116,104,101,114,109,97,108,45,117,110,105,116,0,98,117,115,104,101,108,0,98,121,116,101,0,99,97,110,100,101,108,97,0,99,97,114,97,116,0,99,101,108,115,105,117,115,0,111,102,102,115,101,116,0,99,101,110,116,117,114,121,0,99,117,112,0,99,117,112,45,109,101,116,114,105,99,0,100,97,108,116,111,110,0,100,97,121,0,100,97,121,45,112,101,114,115,111,110,0,100,101,99,97,100,101,0,100,101,103,114,101,101,0,100,101,115,115,101,114,116,45,115,112,111,111,110,0,100,101,115,115,101,114,116,45,115,112,111,111,110,45,105,109,112,101,114,105,97,108,0,100,111,116,0,100,114,97,109,0,100,114,111,112,0,100,117,110,97,109,0,101,97,114,116,104,45,109,97,115,115,0,101,97,114,116,104,45,114,97,100,105,117,115,0,101,108,101,99,116,114,111,110,118,111,108,116,0,102,97,104,114,101,110,104,101,105,116,0,102,97,116,104,111,109,0,102,108,117,105,100,45,111,117,110,99,101,0,102,108,117,105,100,45,111,117,110,99,101,45,105,109,112,101,114,105,97,108,0,102,111,111,100,99,97,108,111,114,105,101,0,102,111,111,116,0,102,117,114,108,111,110,103,0,103,45,102,111,114,99,101,0,103,97,108,108,111,110,0,103,97,108,108,111,110,45,105,109,112,101,114,105,97,108,0,103,114,97,105,110,0,104,101,99,116,97,114,101,0,104,101,114,116,122,0,104,111,114,115,101,112,111,119,101,114,0,104,111,117,114,0,105,116,101,109,0,106,105,103,103,101,114,0,106,111,117,108,101,0,107,97,114,97,116,0,107,101,108,118,105,110,0,107,110,111,116,0,108,105,103,104,116,45,121,101,97,114,0,108,105,116,101,114,0,108,117,109,101,110,0,108,117,120,0,109,105,108,101,45,115,99,97,110,100,105,110,97,118,105,97,110,0,109,111,110,116,104,0,109,111,110,116,104,45,112,101,114,115,111,110,0,110,97,117,116,105,99,97,108,45,109,105,108,101,0,110,101,119,116,111,110,0,111,102,103,108,117,99,111,115,101,0,111,102,104,103,0,111,104,109,0,111,117,110,99,101,45,116,114,111,121,0,112,97,114,115,101,99,0,112,97,115,99,97,108,0,112,101,114,99,101,110,116,0,112,101,114,109,105,108,108,101,0,112,101,114,109,105,108,108,105,111,110,0,112,101,114,109,121,114,105,97,100,0,112,105,110,99,104,0,112,105,110,116,0,112,105,110,116,45,109,101,116,114,105,99,0,112,105,120,101,108,0,112,111,105,110,116,0,112,111,114,116,105,111,110,0,112,111,117,110,100,0,112,111,117,110,100,45,102,111,114,99,101,0,113,117,97,114,116,0,113,117,97,114,116,45,105,109,112,101,114,105,97,108,0,113,117,97,114,116,101,114,0,114,97,100,105,97,110,0,115,111,108,97,114,45,108,117,109,105,110,111,115,105,116,121,0,115,111,108,97,114,45,109,97,115,115,0,115,111,108,97,114,45,114,97,100,105,117,115,0,115,116,111,110,101,0,116,97,98,108,101,115,112,111,111,110,0,116,101,97,115,112,111,111,110,0,116,104,101,114,109,45,117,115,0,116,111,110,110,101,0,119,97,116,116,0,119,101,101,107,0,119,101,101,107,45,112,101,114,115,111,110,0,121,97,114,100,0,121,101,97,114,45,112,101,114,115,111,110,0,117,110,105,116,67,111,110,115,116,97,110,116,115,0,80,73,0,102,116,50,95,116,111,95,109,50,0,102,116,51,95,116,111,95,109,51,0,102,116,95,116,111,95,109,0,103,97,108,95,105,109,112,95,116,111,95,109,51,0,103,97,108,95,116,111,95,109,51,0,103,108,117,99,111,115,101,95,109,111,108,97,114,95,109,97,115,115,0,103,114,97,118,105,116,121,0,105,110,51,95,116,111,95,109,51,0,105,116,101,109,95,112,101,114,95,109,111,108,101,0,108,98,95,116,111,95,107,103,0,109,101,116,101,114,115,95,112,101,114,95,65,85,0,115,101,99,95,112,101,114,95,106,117,108,105,97,110,95,121,101,97,114,0,115,112,101,101,100,95,111,102,95,108,105,103,104,116,95,109,101,116,101,114,115,95,112,101,114,95,115,101,99,111,110,100,0,117,110,105,116,80,114,101,102,101,114,101,110,99,101,68,97,116,97,0,97,114,101,97,0,100,101,102,97,117,108,116,0,48,48,49,0,71,66,0,85,83,0,103,101,111,103,114,97,112,104,0,108,97,110,100,0,99,111,110,99,101,110,116,114,97,116,105,111,110,0,98,108,111,111,100,45,103,108,117,99,111,115,101,0,65,71,0,65,73,0,65,79,0,66,65,0,66,71,0,66,72,0,66,77,0,66,78,0,66,87,0,66,89,0,67,65,0,67,72,0,67,77,0,67,78,0,67,90,0,68,75,0,68,77,0,69,69,0,70,73,0,70,74,0,71,68,0,72,75,0,72,82,0,72,85,0,73,69,0,73,77,0,73,83,0,75,69,0,75,78,0,75,87,0,75,90,0,76,67,0,76,73,0,76,84,0,76,85,0,76,86,0,77,69,0,77,71,0,77,75,0,77,79,0,77,83,0,77,84,0,77,85,0,77,89,0,77,90,0,78,65,0,78,76,0,78,79,0,78,90,0,79,77,0,80,71,0,82,83,0,82,85,0,83,69,0,83,71,0,83,73,0,83,75,0,84,67,0,84,79,0,85,65,0,85,71,0,86,67,0,86,71,0,86,78,0,86,85,0,90,65,0,99,111,110,115,117,109,112,116,105,111,110,0,118,101,104,105,99,108,101,45,102,117,101,108,0,66,82,0,73,84,0,74,80,0,75,82,0,77,88,0,84,72,0,84,82,0,109,101,100,105,97,0,101,110,101,114,103,121,0,102,111,111,100,0,102,111,99,97,108,45,108,101,110,103,116,104,0,73,78,0,112,101,114,115,111,110,45,104,101,105,103,104,116,0,65,84,0,66,69,0,103,101,113,0,68,90,0,69,71,0,69,83,0,70,82,0,73,68,0,73,76,0,74,79,0,83,65,0,114,97,105,110,102,97,108,108,0,114,111,97,100,0,115,107,101,108,101,116,111,110,0,115,110,111,119,102,97,108,108,0,118,101,104,105,99,108,101,0,118,105,115,105,98,108,116,121,0,68,69,0,109,97,115,115,45,100,101,110,115,105,116,121,0,101,110,103,105,110,101,0,112,114,101,115,115,117,114,101,0,98,97,114,111,109,116,114,99,0,115,112,101,101,100,0,119,105,110,100,0,80,76,0,116,101,109,112,101,114,97,116,117,114,101,0,119,101,97,116,104,101,114,0,66,83,0,66,90,0,75,89,0,80,82,0,80,87,0,118,111,108,117,109,101,0,102,108,117,105,100,0,111,105,108,0,121,101,97,114,45,100,117,114,97,116,105,111,110,0,112,101,114,115,111,110,45,97,103,101,0,117,110,105,116,81,117,97,110,116,105,116,105,101,115,0,99,97,110,100,101,108,97,45,112,101,114,45,115,113,117,97,114,101,45,109,101,116,101,114,0,99,97,110,100,101,108,97,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,115,113,117,97,114,101,45,109,101,116,101,114,0,107,105,108,111,103,114,97,109,45,112,101,114,45,107,105,108,111,103,114,97,109,0,107,105,108,111,103,114,97,109,45,112,101,114,45,99,117,98,105,99,45,109,101,116,101,114,0,107,105,108,111,103,114,97,109,45,112,101,114,45,109,101,116,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,0,107,105,108,111,103,114,97,109,45,112,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,45,97,109,112,101,114,101,0,107,105,108,111,103,114,97,109,45,109,101,116,101,114,45,112,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,99,117,98,105,99,45,115,101,99,111,110,100,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,99,117,98,105,99,45,115,101,99,111,110,100,45,97,109,112,101,114,101,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,99,117,98,105,99,45,115,101,99,111,110,100,45,115,113,117,97,114,101,45,97,109,112,101,114,101,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,45,97,109,112,101,114,101,0,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,45,112,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,45,115,113,117,97,114,101,45,97,109,112,101,114,101,0,99,117,98,105,99,45,109,101,116,101,114,45,112,101,114,45,107,105,108,111,103,114,97,109,0,99,117,98,105,99,45,109,101,116,101,114,45,112,101,114,45,109,101,116,101,114,0,109,101,116,101,114,45,112,101,114,45,115,101,99,111,110,100,0,107,105,108,111,103,114,97,109,45,112,101,114,45,115,113,117,97,114,101,45,109,101,116,101,114,45,115,113,117,97,114,101,45,115,101,99,111,110,100,0,112,111,119,52,45,115,101,99,111,110,100,45,115,113,117,97,114,101,45,97,109,112,101,114,101,45,112,101,114,45,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,0,99,117,98,105,99,45,115,101,99,111,110,100,45,115,113,117,97,114,101,45,97,109,112,101,114,101,45,112,101,114,45,107,105,108,111,103,114,97,109,45,115,113,117,97,114,101,45,109,101,116,101,114,0,97,109,112,101,114,101,45,112,101,114,45,115,113,117,97,114,101,45,109,101,116,101,114,0,97,109,112,101,114,101,45,112,101,114,45,109,101,116,101,114,0,115,113,117,97,114,101,45,114,101,118,111,108,117,116,105,111,110,0,114,101,118,111,108,117,116,105,111,110,45,112,101,114,45,109,101,116,101,114,0,114,101,118,111,108,117,116,105,111,110,45,112,101,114,45,115,101,99,111,110,100,0,105,116,101,109,45,112,101,114,45,107,105,108,111,103,114,97,109,0,105,116,101,109,45,112,101,114,45,99,117,98,105,99,45,109,101,116,101,114,0,112,105,120,101,108,45,112,101,114,45,109,101,116,101,114,0,0,0,52,0,50,0,0,0,51,0,46,0,48,0,0,0,48,0,46,0,53,0,0,0,98,0,105,0,116,0,0,0,116,0,111,0,110,0,0,0,48,0,46,0,49,0,0,0,48,0,46,0,57,0,0,0,49,0,47,0,52,0,0,0,50,0,46,0,53,0,0,0,99,0,117,0,112,0,0,0,100,0,97,0,121,0,0,0,97,0,99,0,114,0,101,0,0,0,121,0,97,0,114,0,100,0,0,0,105,0,116,0,101,0,109,0,0,0,49,0,47,0,49,0,50,0,0,0,49,0,47,0,50,0,52,0,0,0,49,0,56,0,53,0,50,0,0,0,52,0,49,0,56,0,52,0,0,0,97,0,114,0,101,0,97,0,0,0,100,0,111,0,115,0,101,0,0,0,112,0,105,0,110,0,116,0,0,0,48,0,46,0,48,0,48,0,49,0,0,0,49,0,48,0,48,0,46,0,48,0,0,0,51,0,48,0,48,0,46,0,48,0,0,0,56,0,54,0,52,0,48,0,48,0,0,0,112,0,105,0,120,0,101,0,108,0,0,0,49,0,47,0,49,0,48,0,48,0,0,0,49,0,47,0,51,0,54,0,48,0,0,0,52,0,46,0,49,0,56,0,52,0,0,0,102,0,111,0,114,0,99,0,101,0,0,0,109,0,111,0,110,0,116,0,104,0,0,0,113,0,117,0,97,0,114,0,116,0,0,0,115,0,112,0,101,0,101,0,100,0,0,0,116,0,111,0,110,0,110,0,101,0,0,0,107,0,101,0,108,0,118,0,105,0,110,0,0,0,49,0,47,0,49,0,48,0,48,0,48,0,0,0,49,0,48,0,48,0,48,0,48,0,48,0,0,0,54,0,48,0,52,0,56,0,48,0,48,0,0,0,48,0,46,0,48,0,48,0,48,0,50,0,0,0,48,0,46,0,48,0,48,0,48,0,53,0,0,0,48,0,46,0,51,0,48,0,52,0,56,0,0,0,49,0,47,0,50,0,42,0,80,0,73,0,0,0,49,0,48,0,49,0,51,0,50,0,53,0,0,0,50,0,55,0,51,0,46,0,49,0,53,0,0,0,98,0,97,0,114,0,114,0,101,0,108,0,0,0,101,0,110,0,101,0,114,0,103,0,121,0,0,0,109,0,105,0,110,0,117,0,116,0,101,0,0,0,112,0,111,0,114,0,116,0,105,0,111,0,110,0,0,0,49,0,47,0,49,0,48,0,48,0,48,0,48,0,0,0,99,0,101,0,108,0,115,0,105,0,117,0,115,0,0,0,104,0,101,0,99,0,116,0,97,0,114,0,101,0,0,0,48,0,46,0,48,0,48,0,48,0,50,0,53,0,0,0,57,0,46,0,56,0,48,0,54,0,54,0,53,0,0,0,99,0,97,0,110,0,100,0,101,0,108,0,97,0,0,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,0,0,118,0,111,0,108,0,116,0,97,0,103,0,101,0,0,0,109,0,105,0,108,0,108,0,105,0,98,0,97,0,114,0,0,0,107,0,105,0,108,0,111,0,119,0,97,0,116,0,116,0,0,0,49,0,47,0,51,0,54,0,48,0,42,0,54,0,48,0,0,0,49,0,56,0,48,0,46,0,49,0,53,0,53,0,55,0,0,0,51,0,49,0,53,0,53,0,55,0,54,0,48,0,48,0,0,0,54,0,46,0,51,0,55,0,56,0,49,0,69,0,54,0,0,0,103,0,105,0,103,0,97,0,119,0,97,0,116,0,116,0,0,0,103,0,114,0,97,0,112,0,104,0,105,0,99,0,115,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,0,0,109,0,101,0,103,0,97,0,119,0,97,0,116,0,116,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,0,0,116,0,101,0,97,0,115,0,112,0,111,0,111,0,110,0,0,0,105,0,110,0,99,0,104,0,45,0,111,0,102,0,104,0,103,0,0,0,109,0,105,0,99,0,114,0,111,0,103,0,114,0,97,0,109,0,0,0,49,0,56,0,53,0,50,0,47,0,51,0,54,0,48,0,48,0,0,0,50,0,57,0,57,0,55,0,57,0,50,0,52,0,53,0,56,0,0,0,49,0,47,0,49,0,48,0,48,0,48,0,48,0,48,0,48,0,0,0,49,0,48,0,53,0,52,0,56,0,48,0,52,0,48,0,48,0,0,0,50,0,50,0,57,0,56,0,46,0,51,0,53,0,47,0,57,0,0,0,51,0,46,0,56,0,50,0,56,0,69,0,43,0,50,0,54,0,0,0,54,0,57,0,53,0,55,0,48,0,48,0,48,0,48,0,48,0,0,0,102,0,114,0,101,0,113,0,117,0,101,0,110,0,99,0,121,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,42,0,51,0,0,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,0,0,109,0,105,0,108,0,108,0,105,0,119,0,97,0,116,0,116,0,0,0,116,0,121,0,112,0,101,0,119,0,105,0,100,0,116,0,104,0,0,0,102,0,97,0,104,0,114,0,101,0,110,0,104,0,101,0,105,0,116,0,0,0,114,0,101,0,118,0,111,0,108,0,117,0,116,0,105,0,111,0,110,0,0,0,104,0,111,0,114,0,115,0,101,0,112,0,111,0,119,0,101,0,114,0,0,0,109,0,105,0,108,0,108,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,99,0,117,0,98,0,105,0,99,0,45,0,102,0,111,0,111,0,116,0,0,0,99,0,117,0,98,0,105,0,99,0,45,0,105,0,110,0,99,0,104,0,0,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,48,0,46,0,48,0,48,0,52,0,53,0,52,0,54,0,48,0,57,0,0,0,48,0,46,0,48,0,51,0,49,0,49,0,48,0,51,0,52,0,56,0,0,0,48,0,46,0,52,0,53,0,51,0,53,0,57,0,50,0,51,0,55,0,0,0,53,0,46,0,57,0,55,0,50,0,50,0,69,0,43,0,50,0,52,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,47,0,49,0,50,0,0,0,109,0,101,0,103,0,97,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,110,0,97,0,110,0,111,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,114,0,101,0,115,0,111,0,108,0,117,0,116,0,105,0,111,0,110,0,0,0,116,0,97,0,98,0,108,0,101,0,115,0,112,0,111,0,111,0,110,0,0,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,105,0,108,0,101,0,0,0,109,0,105,0,99,0,114,0,111,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,54,0,46,0,54,0,55,0,52,0,48,0,56,0,69,0,45,0,49,0,49,0,0,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,102,0,111,0,111,0,116,0,0,0,104,0,101,0,99,0,116,0,111,0,112,0,97,0,115,0,99,0,97,0,108,0,0,0,115,0,111,0,108,0,105,0,100,0,45,0,97,0,110,0,103,0,108,0,101,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,42,0,54,0,54,0,48,0,0,0,49,0,46,0,57,0,56,0,56,0,52,0,55,0,69,0,43,0,51,0,48,0,0,0,49,0,47,0,51,0,54,0,48,0,42,0,54,0,48,0,42,0,54,0,48,0,0,0,99,0,111,0,110,0,115,0,117,0,109,0,112,0,116,0,105,0,111,0,110,0,0,0,102,0,108,0,117,0,105,0,100,0,45,0,111,0,117,0,110,0,99,0,101,0,0,0,102,0,111,0,111,0,100,0,99,0,97,0,108,0,111,0,114,0,105,0,101,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,32,0,42,0,32,0,54,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,47,0,56,0,54,0,52,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,52,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,56,0,0,0,105,0,108,0,108,0,117,0,109,0,105,0,110,0,97,0,110,0,99,0,101,0,0,0,107,0,105,0,108,0,111,0,99,0,97,0,108,0,111,0,114,0,105,0,101,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,42,0,49,0,52,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,47,0,49,0,54,0,0,0,109,0,105,0,108,0,108,0,105,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,116,0,101,0,109,0,112,0,101,0,114,0,97,0,116,0,117,0,114,0,101,0,0,0,119,0,97,0,118,0,101,0,45,0,110,0,117,0,109,0,98,0,101,0,114,0,0,0,121,0,101,0,97,0,114,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,52,0,50,0,42,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,0,0,49,0,46,0,54,0,48,0,50,0,49,0,55,0,55,0,69,0,45,0,49,0,57,0,0,0,49,0,52,0,57,0,53,0,57,0,55,0,56,0,55,0,48,0,55,0,48,0,48,0,0,0,97,0,99,0,99,0,101,0,108,0,101,0,114,0,97,0,116,0,105,0,111,0,110,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,42,0,53,0,50,0,56,0,48,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,54,0,0,0,109,0,97,0,115,0,115,0,45,0,100,0,101,0,110,0,115,0,105,0,116,0,121,0,0,0,102,0,111,0,111,0,116,0,45,0,97,0,110,0,100,0,45,0,105,0,110,0,99,0,104,0,0,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,104,0,111,0,117,0,114,0,0,0,121,0,101,0,97,0,114,0,45,0,100,0,117,0,114,0,97,0,116,0,105,0,111,0,110,0,0,0,107,0,105,0,108,0,111,0,119,0,97,0,116,0,116,0,45,0,104,0,111,0,117,0,114,0,0,0,50,0,51,0,49,0,42,0,105,0,110,0,51,0,95,0,116,0,111,0,95,0,109,0,51,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,97,0,116,0,105,0,111,0,110,0,0,0,103,0,97,0,108,0,95,0,105,0,109,0,112,0,95,0,116,0,111,0,95,0,109,0,51,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,50,0,56,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,50,0,53,0,54,0,0,0,105,0,116,0,101,0,109,0,95,0,112,0,101,0,114,0,95,0,109,0,111,0,108,0,101,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,42,0,50,0,48,0,48,0,48,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,47,0,55,0,48,0,48,0,48,0,0,0,108,0,117,0,109,0,105,0,110,0,111,0,117,0,115,0,45,0,102,0,108,0,117,0,120,0,0,0,109,0,97,0,103,0,110,0,101,0,116,0,105,0,99,0,45,0,102,0,108,0,117,0,120,0,0,0,109,0,97,0,115,0,115,0,45,0,102,0,114,0,97,0,99,0,116,0,105,0,111,0,110,0,0,0,109,0,101,0,116,0,101,0,114,0,115,0,95,0,112,0,101,0,114,0,95,0,65,0,85,0,0,0,54,0,46,0,48,0,50,0,50,0,49,0,52,0,48,0,55,0,54,0,69,0,43,0,50,0,51,0,0,0,112,0,111,0,117,0,110,0,100,0,45,0,97,0,110,0,100,0,45,0,111,0,117,0,110,0,99,0,101,0,0,0,115,0,116,0,111,0,110,0,101,0,45,0,97,0,110,0,100,0,45,0,112,0,111,0,117,0,110,0,100,0,0,0,109,0,105,0,108,0,108,0,105,0,109,0,101,0,116,0,101,0,114,0,45,0,111,0,102,0,104,0,103,0,0,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,0,0,49,0,51,0,53,0,57,0,53,0,46,0,49,0,42,0,103,0,114,0,97,0,118,0,105,0,116,0,121,0,0,0,115,0,112,0,101,0,99,0,105,0,102,0,105,0,99,0,45,0,118,0,111,0,108,0,117,0,109,0,101,0,0,0,99,0,117,0,114,0,114,0,101,0,110,0,116,0,45,0,100,0,101,0,110,0,115,0,105,0,116,0,121,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,99,0,104,0,97,0,114,0,103,0,101,0,0,0,103,0,97,0,108,0,95,0,105,0,109,0,112,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,52,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,50,0,56,0,42,0,56,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,54,0,42,0,52,0,56,0,0,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,99,0,117,0,98,0,105,0,99,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,99,0,117,0,114,0,114,0,101,0,110,0,116,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,54,0,42,0,49,0,50,0,56,0,0,0,115,0,117,0,98,0,115,0,116,0,97,0,110,0,99,0,101,0,45,0,97,0,109,0,111,0,117,0,110,0,116,0,0,0,105,0,116,0,101,0,109,0,45,0,112,0,101,0,114,0,45,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,0,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,49,0,46,0,52,0,57,0,50,0,52,0,49,0,56,0,48,0,56,0,53,0,54,0,48,0,69,0,45,0,49,0,48,0,0,0,50,0,49,0,53,0,48,0,46,0,52,0,50,0,42,0,105,0,110,0,51,0,95,0,116,0,111,0,95,0,109,0,51,0,0,0,102,0,116,0,50,0,95,0,116,0,111,0,95,0,109,0,50,0,32,0,42,0,32,0,52,0,51,0,53,0,54,0,48,0,0,0,103,0,97,0,108,0,95,0,105,0,109,0,112,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,54,0,48,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,42,0,51,0,47,0,49,0,50,0,56,0,42,0,50,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,50,0,56,0,42,0,49,0,50,0,56,0,0,0,103,0,97,0,108,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,50,0,56,0,42,0,53,0,55,0,54,0,0,0,109,0,105,0,108,0,101,0,45,0,115,0,99,0,97,0,110,0,100,0,105,0,110,0,97,0,118,0,105,0,97,0,110,0,0,0,109,0,105,0,110,0,117,0,116,0,101,0,45,0,97,0,110,0,100,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,104,0,111,0,117,0,114,0,0,0,52,0,46,0,49,0,56,0,52,0,42,0,50,0,50,0,54,0,55,0,46,0,57,0,54,0,49,0,56,0,53,0,47,0,57,0,0,0,99,0,111,0,110,0,99,0,101,0,110,0,116,0,114,0,97,0,116,0,105,0,111,0,110,0,45,0,109,0,97,0,115,0,115,0,0,0,102,0,116,0,51,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,50,0,42,0,49,0,50,0,42,0,49,0,50,0,0,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,32,0,42,0,32,0,103,0,114,0,97,0,118,0,105,0,116,0,121,0,0,0,108,0,117,0,109,0,105,0,110,0,111,0,117,0,115,0,45,0,105,0,110,0,116,0,101,0,110,0,115,0,105,0,116,0,121,0,0,0,109,0,97,0,103,0,110,0,101,0,116,0,105,0,99,0,45,0,105,0,110,0,100,0,117,0,99,0,116,0,105,0,111,0,110,0,0,0,109,0,105,0,108,0,108,0,105,0,109,0,111,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,108,0,105,0,116,0,101,0,114,0,0,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,112,0,114,0,101,0,115,0,115,0,117,0,114,0,101,0,45,0,112,0,101,0,114,0,45,0,108,0,101,0,110,0,103,0,116,0,104,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,105,0,110,0,100,0,117,0,99,0,116,0,97,0,110,0,99,0,101,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,114,0,101,0,115,0,105,0,115,0,116,0,97,0,110,0,99,0,101,0,0,0,109,0,101,0,116,0,101,0,114,0,45,0,97,0,110,0,100,0,45,0,99,0,101,0,110,0,116,0,105,0,109,0,101,0,116,0,101,0,114,0,0,0,105,0,116,0,101,0,109,0,45,0,112,0,101,0,114,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,99,0,97,0,112,0,97,0,99,0,105,0,116,0,97,0,110,0,99,0,101,0,0,0,101,0,108,0,101,0,99,0,116,0,114,0,105,0,99,0,45,0,99,0,111,0,110,0,100,0,117,0,99,0,116,0,97,0,110,0,99,0,101,0,0,0,102,0,108,0,117,0,105,0,100,0,45,0,111,0,117,0,110,0,99,0,101,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,103,0,97,0,108,0,95,0,105,0,109,0,112,0,95,0,116,0,111,0,95,0,109,0,51,0,47,0,49,0,54,0,42,0,49,0,50,0,56,0,0,0,112,0,114,0,101,0,99,0,105,0,115,0,105,0,111,0,110,0,45,0,105,0,110,0,99,0,114,0,101,0,109,0,101,0,110,0,116,0,47,0,49,0,0,0,52,0,49,0,49,0,53,0,53,0,55,0,57,0,56,0,55,0,32,0,47,0,32,0,49,0,51,0,49,0,48,0,48,0,50,0,57,0,55,0,54,0,0,0,114,0,101,0,118,0,111,0,108,0,117,0,116,0,105,0,111,0,110,0,45,0,112,0,101,0,114,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,112,0,114,0,101,0,99,0,105,0,115,0,105,0,111,0,110,0,45,0,105,0,110,0,99,0,114,0,101,0,109,0,101,0,110,0,116,0,47,0,49,0,48,0,0,0,112,0,114,0,101,0,99,0,105,0,115,0,105,0,111,0,110,0,45,0,105,0,110,0,99,0,114,0,101,0,109,0,101,0,110,0,116,0,47,0,53,0,48,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,42,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,42,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,0,0,108,0,105,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,49,0,48,0,48,0,45,0,107,0,105,0,108,0,111,0,109,0,101,0,116,0,101,0,114,0,0,0,109,0,97,0,103,0,110,0,101,0,116,0,105,0,99,0,45,0,102,0,105,0,101,0,108,0,100,0,45,0,115,0,116,0,114,0,101,0,110,0,103,0,116,0,104,0,0,0,109,0,105,0,108,0,101,0,45,0,112,0,101,0,114,0,45,0,103,0,97,0,108,0,108,0,111,0,110,0,45,0,105,0,109,0,112,0,101,0,114,0,105,0,97,0,108,0,0,0,99,0,97,0,110,0,100,0,101,0,108,0,97,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,112,0,101,0,114,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,109,0,101,0,116,0,101,0,114,0,115,0,95,0,112,0,101,0,114,0,95,0,65,0,85,0,42,0,54,0,48,0,42,0,54,0,48,0,42,0,49,0,56,0,48,0,47,0,80,0,73,0,0,0,112,0,111,0,117,0,110,0,100,0,45,0,102,0,111,0,114,0,99,0,101,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,105,0,110,0,99,0,104,0,0,0,121,0,101,0,97,0,114,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,45,0,97,0,110,0,100,0,45,0,109,0,111,0,110,0,116,0,104,0,45,0,112,0,101,0,114,0,115,0,111,0,110,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,112,0,101,0,114,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,109,0,105,0,108,0,108,0,105,0,103,0,114,0,97,0,109,0,45,0,111,0,102,0,103,0,108,0,117,0,99,0,111,0,115,0,101,0,45,0,112,0,101,0,114,0,45,0,100,0,101,0,99,0,105,0,108,0,105,0,116,0,101,0,114,0,0,0,102,0,116,0,95,0,116,0,111,0,95,0,109,0,32,0,42,0,32,0,108,0,98,0,95,0,116,0,111,0,95,0,107,0,103,0,32,0,42,0,32,0,103,0,114,0,97,0,118,0,105,0,116,0,121,0,32,0,42,0,32,0,53,0,53,0,48,0,0,0,99,0,97,0,110,0,100,0,101,0,108,0,97,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,0,0,49,0,48,0,48,0,48,0,42,0,105,0,116,0,101,0,109,0,95,0,112,0,101,0,114,0,95,0,109,0,111,0,108,0,101,0,47,0,103,0,108,0,117,0,99,0,111,0,115,0,101,0,95,0,109,0,111,0,108,0,97,0,114,0,95,0,109,0,97,0,115,0,115,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,112,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,0,0,45,220,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,45,0,97,0,109,0,112,0,101,0,114,0,101,0,0,0,52,220,115,0,112,0,101,0,101,0,100,0,95,0,111,0,102,0,95,0,108,0,105,0,103,0,104,0,116,0,95,0,109,0,101,0,116,0,101,0,114,0,115,0,95,0,112,0,101,0,114,0,95,0,115,0,101,0,99,0,111,0,110,0,100,0,42,0,115,0,101,0,99,0,95,0,112,0,101,0,114,0,95,0,106,0,117,0,108,0,105,0,97,0,110,0,95,0,121,0,101,0,97,0,114,0,0,0,52,220,107,0,105,0,108,0,111,0,103,0,114,0,97,0,109,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,109,0,101,0,116,0,101,0,114,0,45,0,112,0,101,0,114,0,45,0,99,0,117,0,98,0,105,0,99,0,45,0,115,0,101,0,99,0,111,0,110,0,100,0,45,0,115,0,113,0,117,0,97,0,114,0,101,0,45,0,97,0,109,0,112,0,101,0,114,0,101,0,0,0,2,0,71,0,78,0,186,0,228,7,2,0,71,0,78,0,191,6,155,10,2,0,71,0,78,0,25,3,217,11,2,0,71,0,78,0,97,1,82,2,2,0,71,0,78,0,87,3,82,2,2,0,71,0,78,0,68,5,228,7,2,0,71,0,78,0,228,0,251,9,2,0,71,0,78,0,186,0,251,9,2,0,71,0,78,0,23,4,68,8,2,0,71,0,78,0,25,3,12,0,2,0,71,0,78,0,80,7,245,10,2,0,71,0,78,0,173,6,68,8,2,0,71,0,78,0,225,1,12,0,2,0,71,0,78,0,136,0,245,10,2,0,71,0,78,0,25,3,55,1,2,0,71,0,78,0,200,0,128,6,3,0,71,0,211,0,78,0,25,3,235,0,172,0,2,0,71,0,78,0,126,0,165,11,2,0,71,0,78,0,88,4,68,8,2,0,71,0,78,0,39,1,68,8,2,0,71,0,78,0,155,6,245,10,2,0,71,0,78,0,112,0,8,3,2,0,71,0,78,0,112,0,8,3,2,0,71,0,78,0,250,8,165,11,2,0,71,0,78,0,130,0,82,2,2,0,71,0,78,0,85,6,68,8,2,0,71,0,78,0,143,8,68,8,2,0,71,0,78,0,25,3,118,0,2,0,71,0,78,0,241,5,68,8,2,0,71,0,78,0,7,7,68,8,2,0,71,0,78,0,181,0,155,10,2,0,71,0,78,0,181,2,128,6,2,0,71,0,78,0,124,1,228,7,2,0,71,0,78,0,36,4,245,10,2,0,71,0,78,0,25,3,56,0,3,0,71,0,211,0,78,0,95,7,247,1,172,0,2,0,71,0,78,0,135,3,228,7,2,0,71,0,78,0,212,4,68,8,2,0,71,0,78,0,209,6,68,8,2,0,71,0,78,0,74,0,245,10,2,0,71,0,78,0,36,9,228,7,2,0,71,0,78,0,63,3,228,7,2,0,71,0,78,0,169,5,37,10,2,0,71,0,78,0,26,4,68,8,2,0,71,0,78,0,198,4,68,8,2,0,71,0,78,0,12,5,128,6,2,0,71,0,78,0,94,0,128,6,2,0,71,0,78,0,17,1,155,10,2,0,71,0,78,0,25,3,208,8,2,0,71,0,78,0,95,10,206,10,2,0,71,0,78,0,212,1,8,3,2,0,71,0,78,0,192,2,228,7,2,0,71,0,78,0,25,3,54,0,2,0,71,0,78,0,227,6,68,8,2,0,71,0,78,0,25,3,245,10,2,0,71,0,78,0,64,0,7,1,2,0,71,0,78,0,25,3,172,0,2,0,71,0,78,0,25,3,128,6,2,0,71,0,78,0,207,1,17,6,2,0,71,0,78,0,116,11,228,7,2,0,71,0,78,0,94,0,68,8,2,0,71,0,78,0,25,3,130,10,2,0,71,0,78,0,25,3,117,9,2,0,71,0,78,0,25,3,228,7,2,0,71,0,78,0,75,4,228,7,2,0,71,0,78,0,17,1,228,7,2,0,71,0,78,0,72,3,8,3,2,0,71,0,78,0,240,4,54,0,2,0,71,0,78,0,59,0,165,11,2,0,71,0,78,0,59,0,165,11,2,0,71,0,78,0,69,0,228,7,2,0,71,0,78,0,25,3,28,10,2,0,71,0,78,0,168,10,119,6,2,0,71,0,78,0,161,5,29,11,2,0,71,0,78,0,25,3,170,11,2,0,71,0,78,0,219,3,128,6,2,0,71,0,78,0,159,2,128,6,2,0,71,0,78,0,167,9,228,7,2,0,71,0,78,0,25,3,251,9,2,0,71,0,78,0,124,0,7,1,2,0,71,0,78,0,179,0,7,1,2,0,71,0,78,0,227,1,7,1,2,0,71,0,78,0,15,1,7,1,2,0,71,0,78,0,245,6,68,8,2,0,71,0,78,0,171,3,68,8,2,0,71,0,78,0,207,0,68,8,2,0,71,0,78,0,25,3,118,0,2,0,71,0,78,0,147,3,228,7,2,0,71,0,78,0,25,3,7,1,2,0,71,0,78,0,151,1,128,6,2,0,71,0,78,0,137,7,28,10,2,0,71,0,78,0,159,3,68,8,2,0,71,0,78,0,225,5,68,8,2,0,71,0,78,0,28,0,165,11,2,0,71,0,78,0,221,0,82,2,2,0,71,0,78,0,25,3,82,2,2,0,71,0,78,0,25,3,8,3,2,0,71,0,78,0,1,2,206,10,2,0,71,0,78,0,75,3,128,6,2,0,71,0,78,0,11,2,228,7,2,0,71,0,78,0,207,3,128,6,2,0,71,0,78,0,226,4,68,8,2,0,71,0,78,0,1,6,68,8,2,0,71,0,78,0,237,1,245,10,2,0,71,0,78,0,254,4,128,6,2,0,71,0,78,0,181,0,128,6,2,0,71,0,78,0,25,3,69,11,2,0,71,0,78,0,25,3,206,10,2,0,71,0,78,0,193,0,8,3,2,0,71,0,78,0,193,0,8,3,2,0,71,0,78,0,31,2,228,7,2,0,71,0,78,0,25,3,165,11,2,0,71,0,78,0,25,3,165,11,15,0,122,5,181,3,184,3,194,3,204,3,212,3,226,3,236,3,255,3,7,4,17,4,31,4,40,4,54,4,74,4,15,3,186,8,28,9,20,9,214,0,148,2,170,4,106,1,47,1,118,7,82,5,170,2,49,4,115,1,217,1,1,0,172,0,34,6,1,0,172,0,31,1,1,0,172,0,155,10,1,0,172,0,137,6,1,0,172,0,247,2,1,0,172,0,44,0,1,0,172,0,27,3,1,0,172,0,210,9,1,0,172,0,247,2,1,0,172,0,44,0,1,0,172,0,27,3,1,0,172,0,210,9,1,0,172,0,34,6,1,0,172,0,247,2,1,0,172,0,247,2,1,0,172,0,31,1,1,0,172,0,44,0,1,0,172,0,44,0,1,0,172,0,61,10,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,194,7,1,0,172,0,59,8,1,0,172,0,44,9,1,0,172,0,44,9,1,0,172,0,214,7,1,0,172,0,92,9,1,0,172,0,92,9,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,214,7,1,0,172,0,145,5,1,0,172,0,40,0,1,0,172,0,165,4,1,0,172,0,0,1,1,0,172,0,8,3,1,0,172,0,231,3,1,0,172,0,3,3,1,0,172,0,214,2,1,0,172,0,43,7,1,0,172,0,8,3,1,0,172,0,156,4,1,0,172,0,195,3,1,0,172,0,123,3,1,0,172,0,224,7,1,0,172,0,228,7,1,0,172,0,144,6,1,0,172,0,254,2,1,0,172,0,34,3,1,0,172,0,217,9,1,0,172,0,254,2,1,0,172,0,34,3,1,0,172,0,217,9,1,0,172,0,137,2,1,0,172,0,144,6,1,0,172,0,217,9,1,0,172,0,217,9,1,0,172,0,217,9,1,0,172,0,217,9,1,0,172,0,144,6,1,0,172,0,38,8,1,0,172,0,38,8,2,0,233,5,172,0,4,0,114,4,1,0,172,0,217,9,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,2,0,233,5,172,0,4,0,114,4,1,0,172,0,217,9,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,2,0,233,5,172,0,4,0,114,4,1,0,172,0,217,9,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,1,0,172,0,38,8,2,0,233,5,172,0,4,0,114,4,1,0,172,0,217,9,1,0,172,0,38,8,1,0,172,0,137,2,1,0,172,0,144,6,1,0,172,0,217,9,2,0,233,5,172,0,24,0,224,7,3,0,233,5,19,6,172,0,106,0,253,8,228,7,3,0,233,5,19,6,172,0,250,8,230,8,228,7,2,0,19,6,172,0,164,8,228,7,2,0,233,5,172,0,8,0,254,2,3,0,233,5,19,6,172,0,100,0,253,8,49,0,3,0,233,5,19,6,172,0,250,8,230,8,49,0,2,0,19,6,172,0,164,8,49,0,1,0,172,0,25,7,1,0,172,0,224,7,3,0,233,5,19,6,172,0,106,0,253,8,228,7,3,0,233,5,19,6,172,0,250,8,230,8,228,7,2,0,19,6,172,0,164,8,228,7,2,0,233,5,172,0,8,0,254,2,3,0,233,5,19,6,172,0,100,0,253,8,34,3,3,0,233,5,19,6,172,0,250,8,230,8,34,3,2,0,19,6,172,0,164,8,34,3,1,0,172,0,144,6,1,0,172,0,217,9,1,0,172,0,228,7,1,0,172,0,114,4,1,0,172,0,114,4,2,0,233,5,172,0,20,0,224,7,1,0,172,0,228,7,1,0,172,0,228,7,1,0,172,0,254,2,1,0,172,0,34,3,1,0,172,0,228,7,1,0,172,0,254,2,1,0,172,0,34,3,1,0,172,0,166,0,1,0,172,0,128,6,1,0,172,0,202,1,1,0,172,0,41,2,1,0,172,0,197,1,1,0,172,0,16,0,1,0,172,0,123,5,1,0,172,0,107,5,1,0,172,0,16,0,1,0,172,0,123,5,1,0,172,0,107,5,1,0,172,0,128,6,1,0,172,0,202,1,1,0,172,0,113,5,1,0,172,0,97,5,1,0,172,0,97,5,1,0,172,0,123,5,1,0,172,0,97,5,1,0,172,0,142,9,1,0,172,0,133,1,1,0,172,0,160,1,1,0,172,0,88,1,1,0,172,0,92,1,1,0,172,0,51,2,1,0,172,0,88,1,1,0,172,0,93,2,1,0,172,0,93,2,1,0,172,0,39,3,1,0,172,0,79,1,1,0,172,0,79,1,1,0,172,0,79,1,1,0,172,0,79,1,1,0,172,0,187,1,1,0,172,0,129,5,1,0,172,0,129,5,1,0,172,0,79,1,1,0,172,0,187,1,1,0,172,0,203,2,1,0,172,0,44,3,1,0,172,0,194,9,1,0,172,0,194,9,1,0,172,0,61,7,1,0,172,0,128,4,1,0,172,0,128,4,1,0,172,0,61,7,1,0,172,0,17,6,1,0,172,0,17,6,1,0,172,0,17,6,1,0,172,0,17,6,1,0,172,0,17,6,1,0,172,0,17,6,1,0,172,0,128,4,1,0,172,0,23,1,1,0,172,0,71,2,1,0,172,0,23,1,1,0,172,0,71,2,1,0,172,0,71,2,1,0,172,0,71,2,1,0,172,0,71,2,1,0,172,0,71,2,1,0,172,0,71,2,1,0,172,0,68,8,1,0,172,0,51,6,1,0,172,0,115,2,1,0,172,0,126,2,1,0,172,0,115,2,1,0,172,0,126,2,1,0,172,0,109,2,1,0,172,0,104,2,1,0,172,0,101,9,1,0,172,0,122,8,1,0,172,0,154,5,1,0,172,0,154,0,1,0,172,0,89,0,1,0,172,0,36,0,1,0,172,0,111,3,1,0,172,0,236,2,1,0,172,0,178,1,1,0,172,0,242,0,1,0,172,0,109,2,1,0,172,0,154,5,1,0,172,0,165,11,1,0,172,0,148,0,2,0,233,5,172,0,32,0,11,4,1,0,172,0,222,9,1,0,172,0,238,9,1,0,189,0,156,7,1,0,201,6,183,3,1,0,226,6,26,5,1,0,194,8,201,10,1,0,8,7,54,5,1,0,30,7,101,4,1,0,55,7,169,1,1,0,88,7,175,7,1,0,122,7,142,0,1,0,155,7,98,2,1,0,194,7,71,1,1,0,240,7,18,8,1,0,37,8,249,0,1,0,77,8,40,5,1,0,124,8,254,7,1,0,4,10,186,5,1,0,178,8,177,5,1,0,203,8,99,3,1,0,251,6,79,0,1,0,46,8,84,0,1,0,65,0,247,7,1,0,225,8,160,0,1,0,131,7,62,4,1,0,242,8,234,7,1,0,26,9,80,8,1,0,78,9,101,8,1,0,100,4,147,4,1,0,110,8,209,5,1,0,69,4,142,4,1,0,171,8,68,6,1,0,131,9,193,5,1,0,155,9,68,9,1,0,26,2,243,3,1,0,172,9,51,3,1,0,179,9,57,3,1,0,190,9,255,3,1,0,211,9,21,2,1,0,2,2,102,6,1,0,233,9,99,7,1,0,251,9,184,4,1,0,240,2,7,1,1,0,152,0,63,1,1,0,228,2,142,1,1,0,16,10,225,2,1,0,4,2,61,2,113,0,57,0,85,0,171,8,90,0,101,0,112,0,130,0,141,0,145,0,152,0,156,0,177,0,184,0,170,1,189,0,197,0,203,0,218,0,226,0,230,0,241,0,248,0,252,0,7,1,14,1,21,1,35,1,58,1,62,1,67,1,72,1,78,1,89,1,102,1,4,2,115,1,126,1,133,1,145,1,166,1,178,1,183,1,191,1,199,1,206,1,222,1,198,8,228,1,236,1,242,1,253,1,206,2,2,2,7,2,14,2,20,2,26,2,194,8,33,2,38,2,49,2,55,2,61,2,65,0,111,2,65,2,94,0,26,4,83,2,89,2,102,2,116,2,123,2,133,2,138,2,139,1,142,2,153,2,160,2,167,2,175,2,184,2,195,2,205,2,211,2,216,2,228,2,234,2,240,2,248,2,254,2,10,3,16,3,31,3,39,3,179,9,100,4,46,3,63,3,74,3,87,3,93,3,104,3,113,3,119,2,122,3,110,1,128,3,133,3,138,3,150,3,69,4,155,3,224,11,0,80,229,11,0,80,234,11,0,80,239,11,0,80,244,11,0,80,249,11,0,80,254,11,0,80,3,12,0,80,8,12,0,80,13,12,0,80,18,12,0,80,23,12,0,80,28,12,0,80,33,12,0,80,38,12,0,80,43,12,0,80,48,12,0,80,55,12,0,80,60,12,0,80,65,12,0,80,70,12,0,80,75,12,0,80,80,12,0,80,85,12,0,80,90,12,0,80,95,12,0,80,100,12,0,80,105,12,0,80,110,12,0,80,115,12,0,80,120,12,0,80,125,12,0,80,130,12,0,80,135,12,0,80,140,12,0,80,145,12,0,80,152,12,0,80,157,12,0,80,162,12,0,80,167,12,0,80,172,12,0,80,177,12,0,80,182,12,0,80,187,12,0,80,192,12,0,80,197,12,0,80,202,12,0,80,207,12,0,80,212,12,0,80,217,12,0,80,222,12,0,80,227,12,0,80,232,12,0,80,237,12,0,80,242,12,0,80,247,12,0,80,252,12,0,80,1,13,0,80,6,13,0,80,11,13,0,80,16,13,0,80,21,13,0,80,26,13,0,80,31,13,0,80,36,13,0,80,41,13,0,80,46,13,0,80,51,13,0,80,56,13,0,80,61,13,0,80,66,13,0,80,71,13,0,80,76,13,0,80,81,13,0,80,86,13,0,80,91,13,0,80,96,13,0,80,101,13,0,80,106,13,0,80,111,13,0,80,116,13,0,80,121,13,0,80,126,13,0,80,131,13,0,80,136,13,0,80,141,13,0,80,146,13,0,80,151,13,0,80,156,13,0,80,161,13,0,80,166,13,0,80,171,13,0,80,176,13,0,80,181,13,0,80,186,13,0,80,191,13,0,80,196,13,0,80,201,13,0,80,206,13,0,80,211,13,0,80,216,13,0,80,221,13,0,80,226,13,0,80,231,13,0,80,236,13,0,80,241,13,0,80,246,13,0,80,251,13,0,80,0,14,0,80,5,14,0,80,10,14,0,80,15,14,0,80,20,14,0,80,4,0,0,0,56,14,0,80,59,14,0,80,62,14,0,80,65,14,0,80,4,0,0,0,68,14,0,80,71,14,0,80,74,14,0,80,77,14,0,80,4,0,0,0,80,14,0,80,83,14,0,80,86,14,0,80,89,14,0,80,3,0,139,4,143,4,146,4,72,12,0,128,77,12,0,128,82,12,0,128,1,0,0,0,92,14,0,80,1,0,0,0,95,14,0,80,1,0,0,0,98,14,0,80,3,0,139,4,143,4,146,4,92,12,0,128,94,12,0,128,96,12,0,128,1,0,0,0,101,14,0,80,1,0,0,0,104,14,0,80,1,0,0,0,107,14,0,80,3,0,139,4,143,4,146,4,103,12,0,128,105,12,0,128,107,12,0,128,3,0,131,4,149,4,158,4,87,12,0,32,98,12,0,32,109,12,0,32,1,0,0,0,110,14,0,80,1,0,0,0,113,14,0,80,1,0,0,0,116,14,0,80,1,0,0,0,119,14,0,80,1,0,0,0,122,14,0,80,1,0,0,0,125,14,0,80,1,0,0,0,128,14,0,80,1,0,0,0,131,14,0,80,1,0,0,0,134,14,0,80,1,0,0,0,137,14,0,80,1,0,0,0,140,14,0,80,1,0,0,0,143,14,0,80,1,0,0,0,146,14,0,80,1,0,0,0,149,14,0,80,1,0,0,0,152,14,0,80,1,0,0,0,155,14,0,80,1,0,0,0,158,14,0,80,1,0,0,0,161,14,0,80,1,0,0,0,164,14,0,80,1,0,0,0,167,14,0,80,1,0,0,0,170,14,0,80,1,0,0,0,173,14,0,80,1,0,0,0,176,14,0,80,1,0,0,0,179,14,0,80,1,0,0,0,182,14,0,80,1,0,0,0,185,14,0,80,1,0,0,0,188,14,0,80,1,0,0,0,191,14,0,80,1,0,0,0,194,14,0,80,1,0,0,0,197,14,0,80,1,0,0,0,200,14,0,80,1,0,0,0,203,14,0,80,1,0,0,0,206,14,0,80,1,0,0,0,209,14,0,80,1,0,0,0,212,14,0,80,1,0,0,0,215,14,0,80,1,0,0,0,218,14,0,80,1,0,0,0,221,14,0,80,1,0,0,0,224,14,0,80,1,0,0,0,227,14,0,80,1,0,0,0,230,14,0,80,1,0,0,0,233,14,0,80,1,0,0,0,236,14,0,80,1,0,0,0,239,14,0,80,1,0,0,0,242,14,0,80,1,0,0,0,245,14,0,80,1,0,0,0,248,14,0,80,1,0,0,0,251,14,0,80,1,0,0,0,254,14,0,80,1,0,0,0,1,15,0,80,1,0,0,0,4,15,0,80,1,0,0,0,7,15,0,80,1,0,0,0,10,15,0,80,1,0,0,0,13,15,0,80,1,0,0,0,16,15,0,80,1,0,0,0,19,15,0,80,1,0,0,0,22,15,0,80,1,0,0,0,25,15,0,80,1,0,0,0,28,15,0,80,1,0,0,0,31,15,0,80,1,0,0,0,34,15,0,80,1,0,0,0,37,15,0,80,1,0,0,0,40,15,0,80,1,0,0,0,43,15,0,80,1,0,0,0,46,15,0,80,1,0,0,0,49,15,0,80,1,0,0,0,52,15,0,80,1,0,0,0,55,15,0,80,1,0,0,0,58,15,0,80,69,0,139,4,191,4,194,4,197,4,51,4,200,4,203,4,206,4,209,4,212,4,215,4,218,4,221,4,224,4,227,4,230,4,233,4,236,4,239,4,242,4,245,4,248,4,143,4,251,4,254,4,1,5,4,5,7,5,10,5,13,5,16,5,19,5,22,5,25,5,28,5,31,5,34,5,37,5,40,5,43,5,46,5,49,5,52,5,55,5,58,5,61,5,64,5,67,5,70,5,73,5,76,5,79,5,82,5,85,5,88,5,91,5,94,5,97,5,100,5,103,5,106,5,109,5,112,5,115,5,118,5,121,5,124,5,127,5,130,5,119,12,0,128,121,12,0,128,123,12,0,128,125,12,0,128,127,12,0,128,129,12,0,128,131,12,0,128,133,12,0,128,135,12,0,128,137,12,0,128,139,12,0,128,141,12,0,128,143,12,0,128,145,12,0,128,147,12,0,128,149,12,0,128,151,12,0,128,153,12,0,128,155,12,0,128,157,12,0,128,159,12,0,128,161,12,0,128,163,12,0,128,165,12,0,128,167,12,0,128,169,12,0,128,171,12,0,128,173,12,0,128,175,12,0,128,177,12,0,128,179,12,0,128,181,12,0,128,183,12,0,128,185,12,0,128,187,12,0,128,189,12,0,128,191,12,0,128,193,12,0,128,195,12,0,128,197,12,0,128,199,12,0,128,201,12,0,128,203,12,0,128,205,12,0,128,207,12,0,128,209,12,0,128,211,12,0,128,213,12,0,128,215,12,0,128,217,12,0,128,219,12,0,128,221,12,0,128,223,12,0,128,225,12,0,128,227,12,0,128,229,12,0,128,231,12,0,128,233,12,0,128,235,12,0,128,237,12,0,128,239,12,0,128,241,12,0,128,243,12,0,128,245,12,0,128,247,12,0,128,249,12,0,128,251,12,0,128,253,12,0,128,255,12,0,128,1,0,0,0,61,15,0,80,1,0,139,4,105,13,0,128,2,0,177,4,131,4,170,170,1,13,0,32,107,13,0,32,1,0,0,0,64,15,0,80,1,0,139,4,113,13,0,128,1,0,0,0,67,15,0,80,1,0,0,0,70,15,0,80,1,0,0,0,73,15,0,80,1,0,0,0,76,15,0,80,1,0,0,0,79,15,0,80,1,0,0,0,82,15,0,80,1,0,0,0,85,15,0,80,1,0,0,0,88,15,0,80,1,0,0,0,91,15,0,80,1,0,0,0,94,15,0,80,1,0,0,0,97,15,0,80,1,0,0,0,100,15,0,80,1,0,0,0,103,15,0,80,13,0,139,4,158,5,221,4,143,4,161,5,164,5,167,5,170,5,64,5,73,5,173,5,176,5,146,4,117,13,0,128,119,13,0,128,121,13,0,128,123,13,0,128,125,13,0,128,127,13,0,128,129,13,0,128,131,13,0,128,133,13,0,128,135,13,0,128,137,13,0,128,139,13,0,128,141,13,0,128,2,0,131,4,145,5,170,170,115,13,0,32,143,13,0,32,7,0,0,0,106,15,0,80,109,15,0,80,112,15,0,80,115,15,0,80,118,15,0,80,121,15,0,80,124,15,0,80,1,0,139,4,167,13,0,128,2,0,0,0,127,15,0,80,130,15,0,80,1,0,139,4,177,13,0,128,2,0,131,4,179,5,170,170,175,13,0,32,180,13,0,32,1,0,0,0,133,15,0,80,1,0,139,4,186,13,0,128,1,0,0,0,136,15,0,80,1,0,0,0,139,15,0,80,2,0,139,4,146,4,170,170,190,13,0,128,192,13,0,128,2,0,131,4,192,5,170,170,188,13,0,32,194,13,0,32,3,0,0,0,142,15,0,80,145,15,0,80,148,15,0,80,3,0,0,0,151,15,0,80,154,15,0,80,157,15,0,80,3,0,0,0,160,15,0,80,163,15,0,80,166,15,0,80,3,0,139,4,143,4,146,4,202,13,0,128,206,13,0,128,210,13,0,128,1,0,0,0,169,15,0,80,1,0,139,4,219,13,0,128,1,0,0,0,172,15,0,80,1,0,0,0,175,15,0,80,1,0,0,0,178,15,0,80,1,0,0,0,181,15,0,80,1,0,0,0,184,15,0,80,5,0,139,4,221,4,143,4,210,5,146,4,223,13,0,128,225,13,0,128,227,13,0,128,229,13,0,128,231,13,0,128,1,0,0,0,187,15,0,80,1,0,0,0,190,15,0,80,1,0,0,0,193,15,0,80,2,0,0,0,196,15,0,80,201,15,0,80,1,0,0,0,204,15,0,80,1,0,0,0,207,15,0,80,1,0,0,0,210,15,0,80,1,0,0,0,213,15,0,80,2,0,0,0,216,15,0,80,221,15,0,80,1,0,0,0,224,15,0,80,1,0,0,0,227,15,0,80,1,0,0,0,230,15,0,80,2,0,0,0,233,15,0,80,238,15,0,80,1,0,0,0,241,15,0,80,1,0,0,0,244,15,0,80,1,0,0,0,247,15,0,80,1,0,0,0,250,15,0,80,1,0,0,0,253,15,0,80,1,0,0,0,0,16,0,80,2,0,0,0,3,16,0,80,8,16,0,80,1,0,0,0,11,16,0,80,21,0,139,4,227,5,230,5,221,4,237,5,240,5,243,5,246,5,143,4,254,4,249,5,252,5,210,5,161,5,255,5,64,5,2,6,94,5,176,5,146,4,124,5,241,13,0,128,243,13,0,128,245,13,0,128,247,13,0,128,250,13,0,128,252,13,0,128,254,13,0,128,0,14,0,128,2,14,0,128,5,14,0,128,7,14,0,128,9,14,0,128,11,14,0,128,14,14,0,128,16,14,0,128,18,14,0,128,20,14,0,128,22,14,0,128,24,14,0,128,26,14,0,128,29,14,0,128,1,0,0,0,14,16,0,80,1,0,0,0,17,16,0,80,1,0,0,0,20,16,0,80,3,0,139,4,158,5,146,4,63,14,0,128,65,14,0,128,67,14,0,128,4,0,0,0,23,16,0,80,28,16,0,80,35,16,0,80,42,16,0,80,4,0,0,0,47,16,0,80,52,16,0,80,59,16,0,80,66,16,0,80,5,0,0,0,71,16,0,80,74,16,0,80,77,16,0,80,84,16,0,80,91,16,0,80,4,0,0,0,96,16,0,80,101,16,0,80,108,16,0,80,115,16,0,80,4,0,139,4,143,4,94,5,146,4,170,170,74,14,0,128,79,14,0,128,84,14,0,128,90,14,0,128,1,0,0,0,120,16,0,80,1,0,0,0,123,16,0,80,2,0,139,4,146,4,170,170,102,14,0,128,104,14,0,128,1,0,0,0,126,16,0,80,1,0,0,0,129,16,0,80,1,0,0,0,132,16,0,80,3,0,139,4,143,4,146,4,110,14,0,128,112,14,0,128,114,14,0,128,2,0,0,0,135,16,0,80,140,16,0,80,1,0,0,0,143,16,0,80,2,0,0,0,146,16,0,80,149,16,0,80,1,0,0,0,152,16,0,80,2,0,0,0,155,16,0,80,158,16,0,80,5,0,139,4,54,6,143,4,73,5,146,4,121,14,0,128,124,14,0,128,126,14,0,128,129,14,0,128,131,14,0,128,9,0,131,4,197,5,0,1,213,5,5,6,14,6,28,6,37,6,45,6,214,13,0,32,221,13,0,32,233,13,0,32,31,14,0,32,69,14,0,32,95,14,0,32,106,14,0,32,116,14,0,32,134,14,0,32,5,0,0,0,161,16,0,80,164,16,0,80,167,16,0,80,170,16,0,80,173,16,0,80,3,0,0,0,176,16,0,80,179,16,0,80,182,16,0,80,3,0,0,0,185,16,0,80,188,16,0,80,191,16,0,80,3,0,139,4,143,4,146,4,156,14,0,128,162,14,0,128,166,14,0,128,2,0,0,0,194,16,0,80,197,16,0,80,2,0,0,0,200,16,0,80,203,16,0,80,1,0,0,0,206,16,0,80,2,0,0,0,209,16,0,80,212,16,0,80,4,0,139,4,143,4,254,4,146,4,170,170,175,14,0,128,178,14,0,128,181,14,0,128,183,14,0,128,2,0,131,4,0,1,170,170,170,14,0,32,186,14,0,32,1,0,0,0,215,16,0,80,1,0,139,4,197,14,0,128,1,0,131,4,199,14,0,32,5,0,0,0,218,16,0,80,221,16,0,80,224,16,0,80,227,16,0,80,230,16,0,80,1,0,139,4,203,14,0,128,1,0,0,0,233,16,0,80,1,0,0,0,236,16,0,80,1,0,0,0,239,16,0,80,3,0,139,4,143,4,146,4,211,14,0,128,213,14,0,128,215,14,0,128,2,0,131,4,70,6,170,170,209,14,0,32,217,14,0,32,1,0,0,0,242,16,0,80,1,0,0,0,245,16,0,80,1,0,0,0,248,16,0,80,1,0,0,0,251,16,0,80,1,0,0,0,254,16,0,80,1,0,0,0,1,17,0,80,1,0,0,0,4,17,0,80,1,0,0,0,7,17,0,80,1,0,0,0,10,17,0,80,1,0,0,0,13,17,0,80,10,0,139,4,158,5,240,5,143,4,252,5,210,5,170,5,91,5,173,5,146,4,170,170,226,14,0,128,228,14,0,128,230,14,0,128,232,14,0,128,234,14,0,128,236,14,0,128,238,14,0,128,240,14,0,128,242,14,0,128,244,14,0,128,2,0,0,0,16,17,0,80,19,17,0,80,1,0,0,0,22,17,0,80,1,0,0,0,25,17,0,80,3,0,139,4,143,4,146,4,6,15,0,128,9,15,0,128,11,15,0,128,2,0,86,6,131,4,170,170,246,14,0,32,13,15,0,32,1,0,0,0,28,17,0,80,1,0,0,0,31,17,0,80,1,0,0,0,34,17,0,80,3,0,139,4,143,4,146,4,22,15,0,128,24,15,0,128,26,15,0,128,1,0,0,0,37,17,0,80,1,0,0,0,40,17,0,80,1,0,0,0,43,17,0,80,1,0,0,0,46,17,0,80,1,0,0,0,49,17,0,80,1,0,0,0,52,17,0,80,1,0,0,0,55,17,0,80,1,0,0,0,58,17,0,80,8,0,139,4,245,4,167,5,76,5,106,6,91,5,94,5,146,4,170,170,33,15,0,128,35,15,0,128,37,15,0,128,39,15,0,128,41,15,0,128,43,15,0,128,45,15,0,128,47,15,0,128,2,0,131,4,101,6,170,170,28,15,0,32,49,15,0,32,1,0,0,0,61,17,0,80,1,0,0,0,64,17,0,80,2,0,139,4,146,4,170,170,66,15,0,128,68,15,0,128,1,0,0,0,67,17,0,80,1,0,0,0,70,17,0,80,1,0,0,0,73,17,0,80,1,0,0,0,76,17,0,80,1,0,0,0,79,17,0,80,1,0,0,0,82,17,0,80,1,0,0,0,85,17,0,80,7,0,139,4,129,6,132,6,135,6,138,6,141,6,146,4,74,15,0,128,76,15,0,128,78,15,0,128,80,15,0,128,82,15,0,128,84,15,0,128,86,15,0,128,2,0,131,4,121,6,170,170,70,15,0,32,88,15,0,32,2,0,0,0,88,17,0,80,91,17,0,80,2,0,0,0,94,17,0,80,97,17,0,80,2,0,0,0,100,17,0,80,103,17,0,80,3,0,139,4,143,4,146,4,103,15,0,128,106,15,0,128,109,15,0,128,2,0,0,0,106,17,0,80,109,17,0,80,2,0,0,0,112,17,0,80,115,17,0,80,7,0,0,0,118,17,0,80,121,17,0,80,124,17,0,80,127,17,0,80,130,17,0,80,133,17,0,80,136,17,0,80,3,0,139,4,143,4,146,4,117,15,0,128,120,15,0,128,123,15,0,128,1,0,0,0,139,17,0,80,1,0,139,4,136,15,0,128,1,0,0,0,142,17,0,80,1,0,0,0,145,17,0,80,2,0,139,4,146,4,170,170,140,15,0,128,142,15,0,128,4,0,131,4,151,6,157,6,37,6,170,170,112,15,0,32,131,15,0,32,138,15,0,32,144,15,0,32,2,0,0,0,148,17,0,80,151,17,0,80,1,0,139,4,155,15,0,128,3,0,0,0,154,17,0,80,159,17,0,80,162,17,0,80,1,0,139,4,160,15,0,128,2,0,131,4,175,6,170,170,158,15,0,32,164,15,0,32,14,0,126,4,163,4,133,5,166,6,185,5,203,5,250,3,57,6,247,1,77,6,95,6,109,6,144,6,161,6,170,170,114,12,0,32,109,13,0,32,163,13,0,32,182,13,0,32,198,13,0,32,142,14,0,32,193,14,0,32,201,14,0,32,222,14,0,32,18,15,0,32,62,15,0,32,99,15,0,32,148,15,0,32,166,15,0,32,45,0,0,0,165,17,0,80,168,17,0,80,171,17,0,80,174,17,0,80,177,17,0,80,180,17,0,80,183,17,0,80,186,17,0,80,189,17,0,80,192,17,0,80,195,17,0,80,198,17,0,80,201,17,0,80,204,17,0,80,207,17,0,80,210,17,0,80,213,17,0,80,216,17,0,80,219,17,0,80,222,17,0,80,225,17,0,80,228,17,0,80,231,17,0,80,234,17,0,80,237,17,0,80,240,17,0,80,243,17,0,80,246,17,0,80,249,17,0,80,252,17,0,80,255,17,0,80,2,18,0,80,5,18,0,80,8,18,0,80,11,18,0,80,14,18,0,80,17,18,0,80,20,18,0,80,23,18,0,80,26,18,0,80,29,18,0,80,32,18,0,80,35,18,0,80,38,18,0,80,41,18,0,80,5,0,32,0,44,0,167,3,107,4,186,6,1,0,0,96,158,11,0,32,25,14,0,80,170,15,0,32,192,15,0,128,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,144,21,0,32,7,0,0,0,189,3,0,0,146,21,0,0,146,21,0,0,139,0,0,0,1,0,0,0,191,20,0,0,109,97,112,84,105,109,101,122,111,110,101,115,0,65,85,83,32,67,101,110,116,114,97,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,48,48,49,0,65,85,0,65,85,83,32,69,97,115,116,101,114,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,102,103,104,97,110,105,115,116,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,70,0,65,108,97,115,107,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,85,83,0,65,108,101,117,116,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,108,116,97,105,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,82,85,0,65,114,97,98,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,72,0,75,87,0,81,65,0,83,65,0,89,69,0,65,114,97,98,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,69,0,79,77,0,90,90,0,65,114,97,98,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,73,81,0,65,114,103,101,110,116,105,110,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,82,0,65,115,116,114,97,107,104,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,116,108,97,110,116,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,77,0,67,65,0,71,76,0,65,117,115,32,67,101,110,116,114,97,108,32,87,46,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,122,101,114,98,97,105,106,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,90,0,65,122,111,114,101,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,84,0,66,97,104,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,82,0,66,97,110,103,108,97,100,101,115,104,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,68,0,66,84,0,66,101,108,97,114,117,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,89,0,66,111,117,103,97,105,110,118,105,108,108,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,71,0,67,97,110,97,100,97,32,67,101,110,116,114,97,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,97,112,101,32,86,101,114,100,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,86,0,67,97,117,99,97,115,117,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,77,0,67,101,110,46,32,65,117,115,116,114,97,108,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,101,110,116,114,97,108,32,65,109,101,114,105,99,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,90,0,67,82,0,69,67,0,71,84,0,72,78,0,78,73,0,83,86,0,65,81,0,67,78,0,73,79,0,75,71,0,67,101,110,116,114,97,108,32,66,114,97,122,105,108,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,101,110,116,114,97,108,32,69,117,114,111,112,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,76,0,67,90,0,72,85,0,77,69,0,82,83,0,83,73,0,83,75,0,67,101,110,116,114,97,108,32,69,117,114,111,112,101,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,65,0,72,82,0,77,75,0,80,76,0,67,101,110,116,114,97,108,32,80,97,99,105,102,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,70,77,0,78,67,0,83,66,0,86,85,0,67,101,110,116,114,97,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,32,40,77,101,120,105,99,111,41,0,77,88,0,67,104,97,116,104,97,109,32,73,115,108,97,110,100,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,90,0,67,104,105,110,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,72,75,0,77,79,0,67,117,98,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,85,0,68,97,116,101,108,105,110,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,46,32,65,102,114,105,99,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,68,74,0,69,82,0,69,84,0,75,69,0,75,77,0,77,71,0,83,79,0,84,90,0,85,71,0,89,84,0,69,46,32,65,117,115,116,114,97,108,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,46,32,69,117,114,111,112,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,68,0,69,46,32,83,111,117,116,104,32,65,109,101,114,105,99,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,97,115,116,101,114,32,73,115,108,97,110,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,76,0,69,97,115,116,101,114,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,32,40,77,101,120,105,99,111,41,0,66,83,0,69,103,121,112,116,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,71,0,69,107,97,116,101,114,105,110,98,117,114,103,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,70,76,69,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,88,0,66,71,0,69,69,0,70,73,0,76,84,0,76,86,0,85,65,0,70,105,106,105,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,70,74,0,71,77,84,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,83,0,70,79,0,71,66,0,71,71,0,73,69,0,73,77,0,74,69,0,71,84,66,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,89,0,71,82,0,82,79,0,71,101,111,114,103,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,71,69,0,71,114,101,101,110,108,97,110,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,71,114,101,101,110,119,105,99,104,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,70,0,67,73,0,71,72,0,71,77,0,71,78,0,71,87,0,73,83,0,76,82,0,77,76,0,77,82,0,83,72,0,83,76,0,83,78,0,84,71,0,72,97,105,116,105,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,72,84,0,72,97,119,97,105,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,75,0,80,70,0,73,110,100,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,73,78,0,73,114,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,73,82,0,73,115,114,97,101,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,73,76,0,74,111,114,100,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,74,79,0,75,97,108,105,110,105,110,103,114,97,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,75,82,0,76,105,98,121,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,76,89,0,76,105,110,101,32,73,115,108,97,110,100,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,75,73,0,76,111,114,100,32,72,111,119,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,97,103,97,100,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,97,103,97,108,108,97,110,101,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,97,114,113,117,101,115,97,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,97,117,114,105,116,105,117,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,85,0,82,69,0,83,67,0,77,105,100,100,108,101,32,69,97,115,116,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,76,66,0,77,111,110,116,101,118,105,100,101,111,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,85,89,0,77,111,114,111,99,99,111,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,69,72,0,77,65,0,77,111,117,110,116,97,105,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,32,40,77,101,120,105,99,111,41,0,77,121,97,110,109,97,114,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,67,0,77,77,0,78,46,32,67,101,110,116,114,97,108,32,65,115,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,97,109,105,98,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,65,0,78,101,112,97,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,80,0,78,101,119,32,90,101,97,108,97,110,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,101,119,102,111,117,110,100,108,97,110,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,111,114,102,111,108,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,70,0,78,111,114,116,104,32,65,115,105,97,32,69,97,115,116,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,111,114,116,104,32,65,115,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,78,111,114,116,104,32,75,111,114,101,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,75,80,0,79,109,115,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,97,99,105,102,105,99,32,83,65,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,97,99,105,102,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,32,40,77,101,120,105,99,111,41,0,80,97,107,105,115,116,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,75,0,80,97,114,97,103,117,97,121,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,89,0,81,121,122,121,108,111,114,100,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,75,90,0,82,111,109,97,110,99,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,69,0,68,75,0,70,82,0,82,117,115,115,105,97,32,84,105,109,101,32,90,111,110,101,32,49,48,0,82,117,115,115,105,97,32,84,105,109,101,32,90,111,110,101,32,49,49,0,82,117,115,115,105,97,32,84,105,109,101,32,90,111,110,101,32,51,0,82,117,115,115,105,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,65,32,69,97,115,116,101,114,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,70,75,0,71,70,0,83,82,0,83,65,32,80,97,99,105,102,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,79,0,74,77,0,75,89,0,80,65,0,80,69,0,83,65,32,87,101,115,116,101,114,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,71,0,65,73,0,65,87,0,66,66,0,66,76,0,66,79,0,66,81,0,67,87,0,68,77,0,68,79,0,71,68,0,71,80,0,71,89,0,75,78,0,76,67,0,77,70,0,77,81,0,77,83,0,80,82,0,83,88,0,84,84,0,86,67,0,86,71,0,86,73,0,83,69,32,65,115,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,67,88,0,73,68,0,75,72,0,76,65,0,84,72,0,86,78,0,83,97,105,110,116,32,80,105,101,114,114,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,77,0,83,97,107,104,97,108,105,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,97,109,111,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,87,83,0,83,97,111,32,84,111,109,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,84,0,83,97,114,97,116,111,118,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,105,110,103,97,112,111,114,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,78,0,77,89,0,80,72,0,83,71,0,83,111,117,116,104,32,65,102,114,105,99,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,66,73,0,66,87,0,67,68,0,76,83,0,77,87,0,77,90,0,82,87,0,83,90,0,90,65,0,90,77,0,90,87,0,83,111,117,116,104,32,83,117,100,97,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,83,0,83,114,105,32,76,97,110,107,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,76,75,0,83,68,0,83,121,114,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,83,89,0,84,97,105,112,101,105,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,87,0,84,97,115,109,97,110,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,111,99,97,110,116,105,110,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,111,107,121,111,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,74,80,0,80,87,0,84,76,0,84,111,109,115,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,111,110,103,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,79,0,84,114,97,110,115,98,97,105,107,97,108,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,117,114,107,101,121,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,84,82,0,84,117,114,107,115,32,65,110,100,32,67,97,105,99,111,115,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,85,83,32,77,111,117,110,116,97,105,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,85,84,67,0,85,84,67,43,49,50,0,77,72,0,78,82,0,84,86,0,85,77,0,87,70,0,85,84,67,43,49,51,0,84,75,0,85,84,67,45,48,50,0,71,83,0,85,84,67,45,48,56,0,80,78,0,85,84,67,45,48,57,0,85,84,67,45,49,49,0,65,83,0,78,85,0,85,108,97,97,110,98,97,97,116,97,114,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,78,0,86,101,110,101,122,117,101,108,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,86,69,0,86,108,97,100,105,118,111,115,116,111,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,86,111,108,103,111,103,114,97,100,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,87,46,32,65,117,115,116,114,97,108,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,87,46,32,67,101,110,116,114,97,108,32,65,102,114,105,99,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,79,0,66,74,0,67,70,0,67,71,0,67,77,0,68,90,0,71,65,0,71,81,0,78,69,0,78,71,0,84,68,0,84,78,0,87,46,32,69,117,114,111,112,101,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,65,68,0,65,84,0,67,72,0,68,69,0,71,73,0,73,84,0,76,73,0,76,85,0,77,67,0,77,84,0,78,76,0,78,79,0,83,69,0,83,74,0,83,77,0,86,65,0,87,46,32,77,111,110,103,111,108,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,87,101,115,116,32,65,115,105,97,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,77,86,0,84,70,0,84,74,0,84,77,0,85,90,0,87,101,115,116,32,66,97,110,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,80,83,0,87,101,115,116,32,80,97,99,105,102,105,99,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,71,85,0,77,80,0,89,97,107,117,116,115,107,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,89,117,107,111,110,32,83,116,97,110,100,97,114,100,32,84,105,109,101,0,0,0,67,0,83,0,84,0,54,0,67,0,68,0,84,0,0,0,69,0,83,0,84,0,53,0,69,0,68,0,84,0,0,0,69,0,116,0,99,0,47,0,85,0,84,0,67,0,0,0,77,0,83,0,84,0,55,0,77,0,68,0,84,0,0,0,80,0,83,0,84,0,56,0,80,0,68,0,84,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,107,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,118,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,79,0,109,0,115,0,107,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,56,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,57,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,100,0,101,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,105,0,108,0,105,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,51,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,52,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,53,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,54,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,55,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,51,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,52,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,53,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,54,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,55,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,56,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,57,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,109,0,109,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,105,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,104,0,97,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,98,0,97,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,98,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,101,0,111,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,107,0,121,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,109,0,115,0,107,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,51,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,99,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,97,0,116,0,97,0,114,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,48,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,48,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,52,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,98,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,101,0,105,0,114,0,117,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,105,0,121,0,97,0,100,0,104,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,105,0,112,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,101,0,104,0,114,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,101,0,118,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,109,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,114,0,117,0,110,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,101,0,98,0,114,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,119,0,97,0,105,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,110,0,105,0,108,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,117,0,115,0,99,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,105,0,103,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,114,0,117,0,109,0,113,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,79,0,115,0,108,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,82,0,105,0,103,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,82,0,111,0,109,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,104,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,105,0,114,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,103,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,97,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,103,0,104,0,100,0,97,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,110,0,103,0,107,0,111,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,114,0,110,0,97,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,105,0,115,0,104,0,107,0,101,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,111,0,108,0,111,0,109,0,98,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,73,0,114,0,107,0,117,0,116,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,114,0,97,0,99,0,104,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,103,0,97,0,100,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,97,0,110,0,103,0,111,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,98,0,105,0,108,0,105,0,115,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,114,0,101,0,118,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,105,0,110,0,115,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,97,0,114,0,105,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,112,0,105,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,105,0,106,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,99,0,99,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,107,0,97,0,114,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,117,0,110,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,109,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,104,0,114,0,97,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,104,0,105,0,109,0,112,0,104,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,115,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,108,0,116,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,111,0,102,0,105,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,100,0,117,0,122,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,99,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,109,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,105,0,117,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,114,0,117,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,107,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,104,0,105,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,97,0,108,0,99,0,117,0,116,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,97,0,109,0,97,0,115,0,99,0,117,0,115,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,116,0,109,0,97,0,110,0,100,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,107,0,104,0,97,0,108,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,104,0,97,0,110,0,103,0,104,0,97,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,111,0,110,0,100,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,109,0,97,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,87,0,97,0,114,0,115,0,97,0,119,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,109,0,101,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,109,0,97,0,107,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,103,0,117,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,106,0,117,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,105,0,115,0,115,0,97,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,117,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,114,0,97,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,103,0,97,0,108,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,97,0,110,0,100,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,115,0,97,0,107,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,108,0,97,0,98,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,112,0,117,0,116,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,115,0,101,0,114,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,105,0,97,0,109,0,101,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,117,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,104,0,117,0,108,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,115,0,104,0,103,0,97,0,98,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,115,0,104,0,97,0,110,0,98,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,121,0,97,0,112,0,117,0,114,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,107,0,97,0,115,0,115,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,115,0,104,0,107,0,101,0,110,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,116,0,104,0,101,0,110,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,114,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,68,0,117,0,98,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,74,0,101,0,114,0,115,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,110,0,97,0,99,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,115,0,99,0,111,0,119,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,114,0,97,0,103,0,117,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,107,0,111,0,112,0,106,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,105,0,114,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,105,0,101,0,110,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,97,0,103,0,114,0,101,0,98,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,117,0,114,0,105,0,99,0,104,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,97,0,103,0,111,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,109,0,111,0,114,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,102,0,97,0,116,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,97,0,117,0,114,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,108,0,97,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,105,0,114,0,111,0,98,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,114,0,105,0,112,0,111,0,108,0,105,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,103,0,111,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,110,0,99,0,117,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,118,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,95,0,80,0,97,0,122,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,101,0,114,0,117,0,115,0,97,0,108,0,101,0,109,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,121,0,111,0,110,0,103,0,121,0,97,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,121,0,122,0,121,0,108,0,111,0,114,0,100,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,105,0,110,0,103,0,97,0,112,0,111,0,114,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,114,0,97,0,116,0,111,0,118,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,98,0,105,0,100,0,106,0,97,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,108,0,103,0,105,0,101,0,114,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,110,0,97,0,107,0,114,0,121,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,97,0,109,0,112,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,98,0,97,0,98,0,97,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,101,0,108,0,105,0,122,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,109,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,105,0,97,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,110,0,118,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,121,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,115,0,115,0,97,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,110,0,97,0,109,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,103,0,105,0,110,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,110,0,103,0,95,0,75,0,111,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,109,0,99,0,104,0,97,0,116,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,105,0,101,0,110,0,116,0,105,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,110,0,100,0,111,0,114,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,97,0,108,0,108,0,105,0,110,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,116,0,105,0,99,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,105,0,108,0,110,0,105,0,117,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,121,0,111,0,116,0,116,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,82,0,101,0,117,0,110,0,105,0,111,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,105,0,100,0,119,0,97,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,117,0,109,0,101,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,83,0,97,0,105,0,112,0,97,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,104,0,105,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,114,0,97,0,119,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,108,0,108,0,105,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,104,0,97,0,114,0,116,0,111,0,117,0,109,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,84,0,111,0,109,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,100,0,104,0,111,0,101,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,114,0,97,0,99,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,101,0,110,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,100,0,116,0,104,0,97,0,98,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,104,0,111,0,101,0,110,0,105,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,105,0,106,0,117,0,97,0,110,0,97,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,65,0,122,0,111,0,114,0,101,0,115,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,69,0,117,0,99,0,108,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,80,0,101,0,114,0,116,0,104,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,100,0,97,0,112,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,104,0,105,0,115,0,105,0,110,0,97,0,117,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,116,0,97,0,110,0,98,0,117,0,108,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,67,0,104,0,97,0,116,0,104,0,97,0,109,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,114,0,102,0,111,0,108,0,107,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,108,0,97,0,110,0,116,0,121,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,106,0,105,0,98,0,111,0,117,0,116,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,65,0,97,0,105,0,117,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,70,0,114,0,101,0,101,0,116,0,111,0,119,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,71,0,97,0,98,0,111,0,114,0,111,0,110,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,110,0,115,0,104,0,97,0,115,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,114,0,111,0,118,0,105,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,100,0,106,0,97,0,109,0,101,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,116,0,105,0,103,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,99,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,114,0,97,0,99,0,97,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,114,0,101,0,110,0,97,0,100,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,108,0,105,0,102,0,97,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,97,0,109,0,97,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,103,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,105,0,103,0,111,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,111,0,110,0,104,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,116,0,111,0,108,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,104,0,110,0,111,0,109,0,95,0,80,0,101,0,110,0,104,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,110,0,97,0,114,0,121,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,70,0,97,0,101,0,114,0,111,0,101,0,0,0,69,0,116,0,99,0,47,0,85,0,84,0,67,0,32,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,108,0,103,0,114,0,97,0,100,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,117,0,115,0,115,0,101,0,108,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,71,0,117,0,101,0,114,0,110,0,115,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,72,0,101,0,108,0,115,0,105,0,110,0,107,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,114,0,97,0,106,0,101,0,118,0,111,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,108,0,100,0,105,0,118,0,101,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,97,0,107,0,97,0,111,0,102,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,109,0,98,0,105,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,117,0,110,0,99,0,105,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,122,0,97,0,116,0,108,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,105,0,113,0,117,0,101,0,108,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,105,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,74,0,111,0,104,0,110,0,115,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,111,0,118,0,111,0,115,0,105,0,98,0,105,0,114,0,115,0,107,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,68,0,97,0,114,0,119,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,99,0,104,0,97,0,114,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,111,0,108,0,103,0,111,0,103,0,114,0,97,0,100,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,117,0,114,0,105,0,116,0,105,0,117,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,117,0,99,0,107,0,108,0,97,0,110,0,100,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,72,0,111,0,110,0,111,0,108,0,117,0,108,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,106,0,117,0,109,0,98,0,117,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,103,0,97,0,100,0,105,0,115,0,104,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,103,0,117,0,105,0,108,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,114,0,98,0,97,0,100,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,109,0,105,0,110,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,101,0,119,0,95,0,89,0,111,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,75,0,105,0,116,0,116,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,76,0,117,0,99,0,105,0,97,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,67,0,97,0,115,0,101,0,121,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,97,0,118,0,105,0,115,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,83,0,121,0,111,0,119,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,114,0,97,0,115,0,110,0,111,0,121,0,97,0,114,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,97,0,110,0,98,0,97,0,97,0,116,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,108,0,97,0,100,0,105,0,118,0,111,0,115,0,116,0,111,0,107,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,66,0,101,0,114,0,109,0,117,0,100,0,97,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,97,0,110,0,108,0,101,0,121,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,72,0,111,0,98,0,97,0,114,0,116,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,121,0,100,0,110,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,109,0,115,0,116,0,101,0,114,0,100,0,97,0,109,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,115,0,116,0,114,0,97,0,107,0,104,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,71,0,105,0,98,0,114,0,97,0,108,0,116,0,97,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,106,0,117,0,98,0,108,0,106,0,97,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,114,0,105,0,101,0,104,0,97,0,109,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,111,0,100,0,103,0,111,0,114,0,105,0,99,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,116,0,111,0,99,0,107,0,104,0,111,0,108,0,109,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,114,0,105,0,115,0,116,0,109,0,97,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,75,0,101,0,114,0,103,0,117,0,101,0,108,0,101,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,117,0,110,0,97,0,102,0,117,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,105,0,116,0,99,0,97,0,105,0,114,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,115,0,97,0,98,0,108,0,97,0,110,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,97,0,103,0,117,0,97,0,105,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,116,0,101,0,109,0,97,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,80,0,97,0,117,0,108,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,114,0,113,0,117,0,101,0,115,0,97,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,111,0,110,0,103,0,97,0,116,0,97,0,112,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,98,0,114,0,101,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,98,0,117,0,109,0,98,0,97,0,115,0,104,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,117,0,97,0,107,0,99,0,104,0,111,0,116,0,116,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,45,0,78,0,111,0,118,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,99,0,104,0,111,0,114,0,97,0,103,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,121,0,97,0,113,0,117,0,105,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,84,0,104,0,111,0,109,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,86,0,97,0,110,0,99,0,111,0,117,0,118,0,101,0,114,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,97,0,119,0,115,0,111,0,110,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,86,0,111,0,115,0,116,0,111,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,97,0,116,0,105,0,115,0,108,0,97,0,118,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,111,0,112,0,101,0,110,0,104,0,97,0,103,0,101,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,117,0,120,0,101,0,109,0,98,0,111,0,117,0,114,0,103,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,110,0,95,0,77,0,97,0,114,0,105,0,110,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,105,0,109,0,102,0,101,0,114,0,111,0,112,0,111,0,108,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,110,0,100,0,101,0,114,0,98,0,117,0,114,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,108,0,97,0,112,0,97,0,103,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,103,0,111,0,95,0,80,0,97,0,103,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,82,0,97,0,114,0,111,0,116,0,111,0,110,0,103,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,114,0,97,0,110,0,100,0,95,0,84,0,117,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,101,0,118,0,105,0,100,0,101,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,114,0,101,0,100,0,110,0,101,0,107,0,111,0,108,0,121,0,109,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,107,0,97,0,116,0,101,0,114,0,105,0,110,0,98,0,117,0,114,0,103,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,82,0,101,0,121,0,107,0,106,0,97,0,118,0,105,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,97,0,108,0,105,0,110,0,105,0,110,0,103,0,114,0,97,0,100,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,105,0,114,0,105,0,116,0,105,0,109,0,97,0,116,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,100,0,105,0,115,0,95,0,65,0,98,0,97,0,98,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,114,0,97,0,122,0,122,0,97,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,79,0,117,0,97,0,103,0,97,0,100,0,111,0,117,0,103,0,111,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,115,0,116,0,97,0,95,0,82,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,100,0,101,0,108,0,111,0,117,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,101,0,114,0,109,0,111,0,115,0,105,0,108,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,114,0,97,0,108,0,101,0,110,0,100,0,105,0,106,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,116,0,105,0,110,0,105,0,113,0,117,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,115,0,101,0,114,0,114,0,97,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,114,0,97,0,109,0,97,0,114,0,105,0,98,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,86,0,105,0,110,0,99,0,101,0,110,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,104,0,105,0,116,0,101,0,104,0,111,0,114,0,115,0,101,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,99,0,77,0,117,0,114,0,100,0,111,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,95,0,72,0,101,0,108,0,101,0,110,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,100,0,101,0,108,0,97,0,105,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,105,0,115,0,98,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,108,0,101,0,95,0,111,0,102,0,95,0,77,0,97,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,74,0,111,0,104,0,97,0,110,0,110,0,101,0,115,0,98,0,117,0,114,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,115,0,95,0,65,0,110,0,103,0,101,0,108,0,101,0,115,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,112,0,101,0,95,0,86,0,101,0,114,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,111,0,114,0,100,0,95,0,72,0,111,0,119,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,100,0,97,0,108,0,99,0,97,0,110,0,97,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,83,0,97,0,108,0,118,0,97,0,100,0,111,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,67,0,105,0,116,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,117,0,101,0,114,0,116,0,111,0,95,0,82,0,105,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,101,0,103,0,117,0,99,0,105,0,103,0,97,0,108,0,112,0,97,0,0,0,65,0,114,0,99,0,116,0,105,0,99,0,47,0,76,0,111,0,110,0,103,0,121,0,101,0,97,0,114,0,98,0,121,0,101,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,65,0,110,0,116,0,97,0,110,0,97,0,110,0,97,0,114,0,105,0,118,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,117,0,110,0,116,0,97,0,95,0,65,0,114,0,101,0,110,0,97,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,66,0,111,0,117,0,103,0,97,0,105,0,110,0,118,0,105,0,108,0,108,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,114,0,116,0,95,0,77,0,111,0,114,0,101,0,115,0,98,0,121,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,114,0,95,0,101,0,115,0,95,0,83,0,97,0,108,0,97,0,97,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,108,0,97,0,110,0,99,0,45,0,83,0,97,0,98,0,108,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,110,0,109,0,97,0,114,0,107,0,115,0,104,0,97,0,118,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,112,0,111,0,108,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,99,0,111,0,114,0,101,0,115,0,98,0,121,0,115,0,117,0,110,0,100,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,105,0,117,0,100,0,97,0,100,0,95,0,74,0,117,0,97,0,114,0,101,0,122,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,97,0,108,0,95,0,72,0,97,0,114,0,98,0,111,0,117,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,119,0,101,0,114,0,95,0,80,0,114,0,105,0,110,0,99,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,95,0,111,0,102,0,95,0,83,0,112,0,97,0,105,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,111,0,95,0,68,0,111,0,109,0,105,0,110,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,66,0,97,0,114,0,116,0,104,0,101,0,108,0,101,0,109,0,121,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,101,0,98,0,114,0,111,0,110,0,32,0,65,0,115,0,105,0,97,0,47,0,71,0,97,0,122,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,45,0,97,0,117,0,45,0,80,0,114,0,105,0,110,0,99,0,101,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,111,0,117,0,116,0,104,0,95,0,71,0,101,0,111,0,114,0,103,0,105,0,97,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,117,0,109,0,111,0,110,0,116,0,68,0,85,0,114,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,109,0,99,0,104,0,97,0,116,0,107,0,97,0,32,0,65,0,115,0,105,0,97,0,47,0,65,0,110,0,97,0,100,0,121,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,115,0,107,0,32,0,65,0,115,0,105,0,97,0,47,0,75,0,104,0,97,0,110,0,100,0,121,0,103,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,100,0,114,0,105,0,100,0,32,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,101,0,117,0,116,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,115,0,99,0,111,0,119,0,32,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,114,0,111,0,118,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,107,0,97,0,114,0,116,0,97,0,32,0,65,0,115,0,105,0,97,0,47,0,80,0,111,0,110,0,116,0,105,0,97,0,110,0,97,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,105,0,99,0,111,0,115,0,105,0,97,0,32,0,65,0,115,0,105,0,97,0,47,0,70,0,97,0,109,0,97,0,103,0,117,0,115,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,110,0,118,0,101,0,114,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,105,0,115,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,115,0,104,0,107,0,101,0,110,0,116,0,32,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,109,0,97,0,114,0,107,0,97,0,110,0,100,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,114,0,108,0,105,0,110,0,32,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,115,0,105,0,110,0,103,0,101,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,110,0,97,0,112,0,101,0,32,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,111,0,115,0,114,0,97,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,97,0,108,0,97,0,95,0,76,0,117,0,109,0,112,0,117,0,114,0,32,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,99,0,104,0,105,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,108,0,97,0,100,0,105,0,118,0,111,0,115,0,116,0,111,0,107,0,32,0,65,0,115,0,105,0,97,0,47,0,85,0,115,0,116,0,45,0,78,0,101,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,105,0,115,0,98,0,111,0,110,0,32,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,77,0,97,0,100,0,101,0,105,0,114,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,111,0,110,0,116,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,113,0,97,0,108,0,117,0,105,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,97,0,110,0,98,0,97,0,97,0,116,0,97,0,114,0,32,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,111,0,105,0,98,0,97,0,108,0,115,0,97,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,106,0,117,0,114,0,111,0,32,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,119,0,97,0,106,0,97,0,108,0,101,0,105,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,116,0,97,0,109,0,111,0,114,0,111,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,79,0,106,0,105,0,110,0,97,0,103,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,104,0,105,0,116,0,101,0,104,0,111,0,114,0,115,0,101,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,119,0,115,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,115,0,116,0,114,0,97,0,107,0,104,0,97,0,110,0,32,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,85,0,108,0,121,0,97,0,110,0,111,0,118,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,114,0,97,0,115,0,110,0,111,0,121,0,97,0,114,0,115,0,107,0,32,0,65,0,115,0,105,0,97,0,47,0,78,0,111,0,118,0,111,0,107,0,117,0,122,0,110,0,101,0,116,0,115,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,105,0,97,0,98,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,109,0,112,0,111,0,95,0,71,0,114,0,97,0,110,0,100,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,105,0,111,0,95,0,66,0,114,0,97,0,110,0,99,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,105,0,114,0,117,0,110,0,101,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,103,0,105,0,110,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,119,0,105,0,102,0,116,0,95,0,67,0,117,0,114,0,114,0,101,0,110,0,116,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,82,0,111,0,116,0,104,0,101,0,114,0,97,0,32,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,80,0,97,0,108,0,109,0,101,0,114,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,121,0,100,0,110,0,101,0,121,0,32,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,77,0,101,0,108,0,98,0,111,0,117,0,114,0,110,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,105,0,115,0,98,0,97,0,110,0,101,0,32,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,105,0,110,0,100,0,101,0,109,0,97,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,72,0,111,0,98,0,97,0,114,0,116,0,32,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,97,0,99,0,113,0,117,0,97,0,114,0,105,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,100,0,101,0,108,0,97,0,105,0,100,0,101,0,32,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,111,0,107,0,101,0,110,0,95,0,72,0,105,0,108,0,108,0,0,0,52,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,117,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,97,0,95,0,86,0,105,0,115,0,116,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,95,0,86,0,101,0,108,0,104,0,111,0,0,0,53,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,100,0,109,0,111,0,110,0,116,0,111,0,110,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,109,0,98,0,114,0,105,0,100,0,103,0,101,0,95,0,66,0,97,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,117,0,118,0,105,0,107,0,0,0,54,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,110,0,105,0,112,0,101,0,103,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,97,0,110,0,107,0,105,0,110,0,95,0,73,0,110,0,108,0,101,0,116,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,115,0,111,0,108,0,117,0,116,0,101,0,0,0,56,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,114,0,101,0,115,0,116,0,111,0,110,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,119,0,115,0,111,0,110,0,95,0,67,0,114,0,101,0,101,0,107,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,70,0,111,0,114,0,116,0,95,0,78,0,101,0,108,0,115,0,111,0,110,0,0,0,66,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,112,0,111,0,108,0,105,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,77,0,97,0,114,0,101,0,110,0,103,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,86,0,101,0,118,0,97,0,121,0,0,0,67,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,108,0,105,0,102,0,97,0,120,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,108,0,97,0,99,0,101,0,95,0,66,0,97,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,111,0,115,0,101,0,95,0,66,0,97,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,99,0,116,0,111,0,110,0,0,0,70,220,65,0,115,0,105,0,97,0,47,0,79,0,114,0,97,0,108,0,32,0,65,0,115,0,105,0,97,0,47,0,65,0,108,0,109,0,97,0,116,0,121,0,32,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,97,0,117,0,32,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,111,0,98,0,101,0,32,0,65,0,115,0,105,0,97,0,47,0,65,0,116,0,121,0,114,0,97,0,117,0,32,0,65,0,115,0,105,0,97,0,47,0,81,0,111,0,115,0,116,0,97,0,110,0,97,0,121,0,0,0,78,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,70,0,111,0,114,0,116,0,97,0,108,0,101,0,122,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,101,0,108,0,101,0,109,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,99,0,101,0,105,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,99,0,105,0,102,0,101,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,97,0,114,0,101,0,109,0,0,0,94,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,99,0,104,0,111,0,114,0,97,0,103,0,101,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,110,0,101,0,97,0,117,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,116,0,108,0,97,0,107,0,97,0,116,0,108,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,109,0,101,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,105,0,116,0,107,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,97,0,116,0,0,0,94,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,67,0,105,0,116,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,104,0,105,0,97,0,95,0,66,0,97,0,110,0,100,0,101,0,114,0,97,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,114,0,105,0,100,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,101,0,114,0,114,0,101,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,104,0,117,0,97,0,104,0,117,0,97,0,32,0,0,0,156,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,101,0,119,0,95,0,89,0,111,0,114,0,107,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,116,0,114,0,111,0,105,0,116,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,80,0,101,0,116,0,101,0,114,0,115,0,98,0,117,0,114,0,103,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,86,0,105,0,110,0,99,0,101,0,110,0,110,0,101,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,87,0,105,0,110,0,97,0,109,0,97,0,99,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,101,0,110,0,116,0,117,0,99,0,107,0,121,0,47,0,77,0,111,0,110,0,116,0,105,0,99,0,101,0,108,0,108,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,117,0,105,0,115,0,118,0,105,0,108,0,108,0,101,0,0,0,167,220,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,99,0,97,0,103,0,111,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,75,0,110,0,111,0,120,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,84,0,101,0,108,0,108,0,95,0,67,0,105,0,116,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,110,0,111,0,109,0,105,0,110,0,101,0,101,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,66,0,101,0,117,0,108,0,97,0,104,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,67,0,101,0,110,0,116,0,101,0,114,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,78,0,101,0,119,0,95,0,83,0,97,0,108,0,101,0,109,0,0,0,16,221,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,76,0,97,0,95,0,82,0,105,0,111,0,106,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,82,0,105,0,111,0,95,0,71,0,97,0,108,0,108,0,101,0,103,0,111,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,108,0,116,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,110,0,95,0,74,0,117,0,97,0,110,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,110,0,95,0,76,0,117,0,105,0,115,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,84,0,117,0,99,0,117,0,109,0,97,0,110,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,85,0,115,0,104,0,117,0,97,0,105,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,116,0,97,0,109,0,97,0,114,0,99,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,100,0,111,0,98,0,97,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,106,0,117,0,121,0,32,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,110,0,100,0,111,0,122,0,97,0,0,0,2,0,71,0,75,0,138,12,138,12,2,0,71,0,75,0,17,14,214,23,2,0,71,0,130,0,59,1,59,1,2,0,71,0,155,0,145,15,112,26,2,0,71,0,155,0,199,2,199,2,2,0,71,0,201,0,238,2,238,2,6,0,71,0,223,0,226,0,229,0,232,0,235,0,237,1,203,3,65,2,158,1,237,1,101,0,4,0,71,0,4,1,7,1,10,1,48,1,48,1,89,2,211,0,2,0,71,0,34,1,212,2,212,2,2,0,71,0,61,1,172,19,119,28,2,0,71,0,201,0,51,14,255,22,4,0,71,0,111,1,114,1,117,1,4,11,222,13,147,25,170,5,2,0,71,0,75,0,212,9,212,9,2,0,71,0,174,1,41,0,41,0,3,0,71,0,117,1,198,1,196,9,235,19,196,9,2,0,71,0,221,1,90,4,90,4,3,0,71,0,249,1,252,1,37,1,37,1,216,3,2,0,71,0,21,2,99,3,99,3,2,0,71,0,51,2,88,19,88,19,2,0,71,0,114,1,84,8,140,23,3,0,71,0,108,2,10,1,143,18,143,18,121,0,2,0,71,0,134,2,86,3,86,3,2,0,71,0,75,0,46,18,71,24,9,0,71,0,196,2,199,2,202,2,205,2,208,2,211,2,214,2,10,1,1,15,235,7,93,17,105,16,1,15,7,19,36,11,203,18,161,0,6,0,71,0,217,2,220,2,223,2,226,2,10,1,251,2,235,15,113,2,166,6,251,2,231,0,2,0,71,0,221,1,9,8,68,23,8,0,71,0,34,3,37,3,40,3,43,3,46,3,49,3,52,3,244,9,110,6,82,6,244,9,119,14,164,11,85,14,253,15,5,0,71,0,86,3,89,3,92,3,95,3,202,4,228,11,138,6,96,6,202,4,7,0,71,0,217,2,128,3,131,3,134,3,137,3,10,1,183,18,120,13,222,21,249,8,183,18,194,6,191,1,5,0,71,0,114,1,171,3,155,0,10,1,212,10,221,24,187,22,206,27,1,0,2,0,71,0,171,3,223,18,208,26,2,0,71,0,204,3,36,10,36,10,4,0,71,0,220,2,227,3,230,3,160,4,160,4,99,8,147,1,2,0,71,0,252,3,40,7,40,7,2,0,71,0,10,1,114,1,114,1,13,0,71,0,217,2,46,4,49,4,52,4,55,4,58,4,61,4,64,4,67,4,70,4,73,4,10,1,236,6,154,13,84,10,216,4,36,17,236,6,180,6,47,19,1,13,130,19,205,7,204,8,201,0,2,0,71,0,75,0,65,18,251,23,2,0,71,0,127,4,4,10,4,10,2,0,71,0,221,1,19,15,19,15,2,0,71,0,189,4,145,7,145,7,5,0,71,0,223,4,114,1,155,0,10,1,69,13,54,8,89,22,48,27,9,0,2,0,71,0,171,3,25,7,25,7,2,0,71,0,246,4,173,2,173,2,2,0,71,0,201,0,216,16,216,16,8,0,71,0,38,5,41,5,44,5,47,5,50,5,53,5,56,5,17,2,102,14,255,3,159,8,212,11,189,8,137,2,17,2,2,0,71,0,78,5,138,3,138,3,9,0,71,0,99,5,102,5,105,5,108,5,111,5,114,5,117,5,198,1,174,4,116,11,132,11,174,4,196,11,26,6,84,18,40,6,58,22,4,0,71,0,138,5,141,5,144,5,155,12,106,21,254,5,155,12,2,0,71,0,170,5,73,3,73,3,2,0,71,0,117,1,148,9,148,9,16,0,71,0,221,5,224,5,227,5,117,1,230,5,233,5,236,5,239,5,242,5,245,5,248,5,251,5,254,5,1,6,4,6,235,16,74,17,160,7,151,3,193,19,2,5,190,7,16,5,235,16,164,10,230,4,109,15,27,18,116,10,164,3,29,2,2,0,71,0,27,6,154,20,154,20,5,0,71,0,53,6,56,6,155,0,10,1,223,12,141,16,23,9,223,12,169,1,2,0,71,0,79,6,104,4,104,4,2,0,71,0,101,6,5,2,5,2,2,0,71,0,125,6,70,7,70,7,2,0,71,0,149,6,15,1,15,1,2,0,71,0,201,0,254,16,254,16,2,0,71,0,178,6,70,1,70,1,2,0,71,0,201,6,251,6,251,6,3,0,71,0,231,6,10,1,17,17,17,17,202,1,2,0,71,0,75,0,163,18,163,18,2,0,71,0,201,0,47,3,47,3,2,0,71,0,189,4,67,19,67,19,2,0,71,0,56,6,37,15,37,15,4,0,71,0,97,7,100,7,103,7,189,12,189,12,219,8,161,2,2,0,71,0,132,7,225,1,225,1,2,0,71,0,160,7,178,16,178,16,3,0,71,0,185,7,188,7,221,14,100,10,221,14,5,0,71,0,114,1,171,3,155,0,10,1,24,8,166,24,0,20,134,21,25,0,2,0,71,0,171,3,53,12,53,12,3,0,71,0,245,7,248,7,60,3,25,4,60,3,2,0,71,0,201,0,121,12,121,12,2,0,71,0,47,8,100,9,100,9,2,0,71,0,70,8,132,4,132,4,3,0,71,0,217,2,204,3,206,12,8,18,206,12,2,0,71,0,114,1,104,12,104,12,2,0,71,0,148,8,52,10,52,10,2,0,71,0,201,0,21,3,21,3,2,0,71,0,201,0,171,13,33,23,2,0,71,0,232,8,85,7,85,7,2,0,71,0,201,0,61,0,61,0,2,0,71,0,189,4,87,12,87,12,4,0,71,0,114,1,155,0,10,1,123,18,199,15,123,18,33,0,2,0,71,0,171,3,180,9,180,9,2,0,71,0,77,9,34,3,34,3,2,0,71,0,103,9,36,12,36,12,2,0,71,0,130,9,100,7,100,7,5,0,71,0,155,9,158,9,99,5,161,9,112,3,180,11,15,16,24,21,112,3,2,0,71,0,201,0,197,16,197,16,2,0,71,0,201,0,114,8,226,20,2,0,71,0,201,0,188,4,188,4,3,0,71,0,201,0,56,5,68,6,51,21,69,16,7,0,71,0,217,2,221,1,14,10,17,10,20,10,10,1,132,9,177,23,32,26,239,13,132,9,207,17,131,0,10,0,71,0,221,1,114,1,48,10,202,2,51,10,54,10,57,10,60,10,10,1,10,7,104,23,22,20,10,7,163,15,20,11,250,7,69,8,190,3,151,0,28,0,71,0,88,10,91,10,94,10,97,10,100,10,103,10,106,10,221,1,114,1,109,10,112,10,115,10,118,10,121,10,124,10,127,10,130,10,133,10,136,10,139,10,142,10,145,10,148,10,151,10,154,10,157,10,10,1,55,7,196,10,18,13,156,5,35,13,110,20,55,7,150,17,112,24,151,19,228,10,52,13,88,20,244,10,112,17,39,8,86,13,103,13,52,11,169,17,188,17,243,18,44,20,66,20,226,17,84,11,181,15,141,0,9,0,71,0,217,2,182,10,185,10,188,10,191,10,194,10,197,10,10,1,225,2,137,13,153,14,78,21,100,11,129,8,225,2,101,2,241,0,2,0,71,0,227,10,70,12,70,12,2,0,71,0,201,0,146,4,146,4,2,0,71,0,17,11,125,3,125,3,2,0,71,0,43,11,84,9,84,9,2,0,71,0,201,0,130,7,130,7,7,0,71,0,92,11,185,10,95,11,98,11,101,11,10,1,115,7,41,2,226,5,252,21,77,2,115,7,251,0,13,0,71,0,131,11,134,11,137,11,140,11,143,11,146,11,149,11,152,11,155,11,158,11,161,11,10,1,103,18,240,12,132,10,91,15,128,5,68,10,114,5,58,5,220,7,103,18,86,5,44,5,191,0,2,0,71,0,190,11,213,1,213,1,2,0,71,0,217,11,8,3,8,3,2,0,71,0,220,11,68,9,68,9,2,0,71,0,243,11,118,4,118,4,2,0,71,0,11,12,249,1,249,1,2,0,71,0,75,0,0,14,33,24,2,0,71,0,221,1,239,14,239,14,6,0,71,0,185,10,81,12,84,12,87,12,10,1,81,1,212,5,81,1,222,6,111,0,5,1,2,0,71,0,201,0,92,1,92,1,2,0,71,0,130,12,55,15,55,15,2,0,71,0,201,0,26,1,26,1,2,0,71,0,180,12,20,10,20,10,2,0,71,0,241,12,159,16,159,16,2,0,71,0,155,0,214,19,79,25,5,0,71,0,114,1,171,3,155,0,10,1,164,9,21,25,131,17,164,9,171,0,2,0,71,0,10,1,17,0,148,11,8,0,71,0,231,6,251,12,254,12,1,13,4,13,7,13,10,1,125,1,38,9,154,22,208,6,187,14,77,4,53,9,125,1,4,0,71,0,231,6,17,13,10,1,136,1,87,16,4,12,136,1,4,0,71,0,221,1,27,13,10,1,71,0,68,11,177,20,71,0,3,0,71,0,37,13,10,1,81,0,204,14,81,0,3,0,71,0,56,6,10,1,91,0,20,12,91,0,5,0,71,0,54,13,57,13,4,13,10,1,103,1,123,16,51,4,234,8,103,1,2,0,71,0,86,13,188,13,121,22,2,0,71,0,113,13,116,9,116,9,2,0,71,0,201,0,205,13,27,22,2,0,71,0,201,0,172,12,172,12,2,0,71,0,75,0,228,9,228,9,15,0,71,0,225,13,228,13,137,11,231,13,234,13,237,13,240,13,243,13,246,13,249,13,252,13,255,13,2,14,10,1,186,2,72,5,127,15,148,10,244,4,55,17,30,5,175,7,73,15,100,5,142,5,186,2,180,10,177,3,181,0,17,0,71,0,29,14,32,14,35,14,38,14,41,14,44,14,47,14,50,14,53,14,56,14,59,14,62,14,65,14,68,14,71,14,74,14,12,6,144,8,124,6,152,6,192,21,68,14,149,2,12,4,33,16,54,6,242,3,34,14,125,2,136,14,27,19,51,16,174,8,2,0,71,0,86,13,51,0,51,0,9,0,71,0,217,2,130,9,127,14,130,14,133,14,136,14,139,14,10,1,240,5,217,15,216,25,244,11,170,14,198,5,184,5,163,21,221,0,2,0,71,0,166,14,53,2,132,20,7,0,71,0,217,2,128,3,196,14,199,14,51,2,10,1,109,19,200,20,64,4,38,4,8,9,109,19,180,1,2,0,71,0,201,0,229,3,253,20,2,0,71,0,114,1,245,17,221,22,139,0,45,0,78,0,104,0,133,0,158,0,181,0,204,0,238,0,13,1,37,1,64,1,88,1,120,1,149,1,177,1,201,1,224,1,255,1,24,2,54,2,83,2,111,2,137,2,166,2,254,7,229,2,5,3,55,3,98,3,61,2,140,3,174,3,207,3,233,3,255,3,22,4,76,4,103,4,130,4,161,4,82,0,192,4,226,4,249,4,20,5,59,5,81,5,120,5,147,5,173,5,197,5,7,6,30,6,59,6,82,6,104,6,128,6,152,6,212,8,181,6,204,6,234,6,2,7,24,7,49,7,73,7,106,7,135,7,163,7,217,12,191,7,223,7,251,7,25,8,50,8,73,8,99,8,126,8,151,8,181,8,206,8,235,8,254,8,174,14,23,9,54,9,80,9,106,9,133,9,164,9,184,9,204,9,223,9,245,9,23,10,63,10,160,10,200,10,230,10,253,10,20,11,46,11,68,11,104,11,164,11,193,11,170,11,223,11,246,11,14,12,37,12,61,12,90,12,110,12,133,12,159,12,183,12,79,0,214,12,240,12,244,12,10,13,20,13,30,13,40,13,47,13,60,13,89,13,116,13,142,13,166,13,193,13,5,14,77,14,103,14,142,14,169,14,202,14,224,14,137,29,0,80,142,29,0,80,147,29,0,80,152,29,0,80,157,29,0,80,162,29,0,80,167,29,0,80,180,29,0,80,189,29,0,80,194,29,0,80,199,29,0,80,204,29,0,80,213,29,0,80,218,29,0,80,223,29,0,80,230,29,0,80,235,29,0,80,242,29,0,80,247,29,0,80,252,29,0,80,1,30,0,80,8,30,0,80,13,30,0,80,18,30,0,80,37,30,0,80,50,30,0,80,55,30,0,80,72,30,0,80,83,30,0,80,98,30,0,80,109,30,0,80,114,30,0,80,119,30,0,80,128,30,0,80,133,30,0,80,138,30,0,80,165,30,0,80,170,30,0,80,175,30,0,80,180,30,0,80,185,30,0,80,196,30,0,80,201,30,0,80,206,30,0,80,211,30,0,80,228,30,0,80,233,30,0,80,252,30,0,80,5,31,0,80,10,31,0,80,15,31,0,80,48,31,0,80,53,31,0,80,64,31,0,80,69,31,0,80,74,31,0,80,79,31,0,80,84,31,0,80,89,31,0,80,94,31,0,80,99,31,0,80,106,31,0,80,111,31,0,80,116,31,0,80,121,31,0,80,126,31,0,80,135,31,0,80,140,31,0,80,145,31,0,80,152,31,0,80,163,31,0,80,168,31,0,80,175,31,0,80,180,31,0,80,185,31,0,80,190,31,0,80,197,31,0,80,202,31,0,80,207,31,0,80,212,31,0,80,217,31,0,80,222,31,0,80,227,31,0,80,232,31,0,80,241,31,0,80,246,31,0,80,251,31,0,80,0,32,0,80,5,32,0,80,16,32,0,80,21,32,0,80,26,32,0,80,31,32,0,80,38,32,0,80,53,32,0,80,74,32,0,80,131,32,0,80,150,32,0,80,155,32,0,80,160,32,0,80,165,32,0,80,170,32,0,80,175,32,0,80,190,32,0,80,217,32,0,80,222,32,0,80,227,32,0,80,232,32,0,80,237,32,0,80,242,32,0,80,247,32,0,80,252,32,0,80,9,33,0,80,14,33,0,80,19,33,0,80,24,33,0,80,29,33,0,80,34,33,0,80,39,33,0,80,50,33,0,80,55,33,0,80,72,33,0,80,81,33,0,80,90,33,0,80,97,33,0,80,104,33,0,80,115,33,0,80,120,33,0,80,125,33,0,80,130,33,0,80,135,33,0,80,140,33,0,80,171,33,0,80,206,33,0,80,211,33,0,80,230,33,0,80,235,33,0,80,250,33,0,80,255,33,0,80,1,0,32,0,191,20,0,32,170,170,170,170,170,170,170,170,32,0,218,39,20,0,0,0,0,0,2,0,82,101,115,66,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,228,147,0,32,7,0,0,0,71,0,0,0,236,147,0,0,236,147,0,0,24,0,0,0,1,0,0,0,131,22,0,0,84,90,86,101,114,115,105,111,110,0,90,111,110,101,115,0,116,114,97,110,115,0,116,121,112,101,79,102,102,115,101,116,115,0,116,121,112,101,77,97,112,0,108,105,110,107,115,0,116,114,97,110,115,80,114,101,51,50,0,102,105,110,97,108,82,117,108,101,0,102,105,110,97,108,82,97,119,0,102,105,110,97,108,89,101,97,114,0,116,114,97,110,115,80,111,115,116,51,50,0,78,97,109,101,115,0,82,117,108,101,115,0,65,78,0,65,83,0,65,84,0,65,86,0,67,45,69,117,114,0,67,97,110,97,100,97,0,67,104,97,116,104,97,109,0,67,104,105,108,101,0,67,117,98,97,0,69,85,0,69,85,65,115,105,97,0,69,103,121,112,116,0,72,97,105,116,105,0,76,72,0,76,101,98,97,110,111,110,0,77,111,108,100,111,118,97,0,78,90,0,80,97,108,101,115,116,105,110,101,0,80,97,114,97,0,83,121,115,116,101,109,86,0,84,104,117,108,101,0,84,114,111,108,108,0,85,83,0,90,105,111,110,0,82,101,103,105,111,110,115,0,170,0,0,85,0,83,0,0,0,67,0,65,0,0,0,69,0,85,0,0,0,82,0,85,0,0,0,65,0,85,0,0,0,66,0,82,0,0,0,65,0,82,0,0,0,77,0,88,0,0,0,65,0,81,0,0,0,67,0,78,0,0,0,75,0,90,0,0,0,78,0,90,0,0,0,70,0,77,0,0,0,65,0,83,0,0,0,67,0,76,0,0,0,71,0,66,0,0,0,71,0,76,0,0,0,73,0,68,0,0,0,85,0,65,0,0,0,75,0,73,0,0,0,77,0,78,0,0,0,80,0,84,0,0,0,66,0,68,0,0,0,67,0,89,0,0,0,69,0,71,0,0,0,69,0,83,0,0,0,73,0,76,0,0,0,74,0,80,0,0,0,77,0,72,0,0,0,80,0,70,0,0,0,84,0,82,0,0,0,85,0,77,0,0,0,86,0,78,0,0,0,65,0,77,0,0,0,65,0,78,0,0,0,66,0,84,0,0,0,67,0,68,0,0,0,67,0,73,0,0,0,67,0,85,0,0,0,68,0,69,0,0,0,69,0,67,0,0,0,69,0,82,0,0,0,70,0,79,0,0,0,70,0,82,0,0,0,72,0,75,0,0,0,73,0,69,0,0,0,73,0,82,0,0,0,74,0,77,0,0,0,75,0,69,0,0,0,75,0,82,0,0,0,76,0,89,0,0,0,77,0,68,0,0,0,77,0,76,0,0,0,77,0,77,0,0,0,77,0,79,0,0,0,77,0,89,0,0,0,77,0,90,0,0,0,78,0,80,0,0,0,80,0,71,0,0,0,80,0,75,0,0,0,80,0,76,0,0,0,80,0,82,0,0,0,80,0,83,0,0,0,83,0,66,0,0,0,83,0,71,0,0,0,83,0,74,0,0,0,84,0,77,0,0,0,84,0,87,0,0,0,85,0,90,0,0,0,86,0,73,0,0,0,87,0,83,0,0,0,65,0,68,0,0,0,65,0,69,0,0,0,65,0,70,0,0,0,65,0,71,0,0,0,65,0,73,0,0,0,65,0,76,0,0,0,65,0,79,0,0,0,65,0,86,0,0,0,65,0,87,0,0,0,65,0,88,0,0,0,65,0,90,0,0,0,66,0,65,0,0,0,66,0,66,0,0,0,66,0,69,0,0,0,66,0,70,0,0,0,66,0,71,0,0,0,66,0,72,0,0,0,66,0,73,0,0,0,66,0,74,0,0,0,66,0,76,0,0,0,66,0,77,0,0,0,66,0,78,0,0,0,66,0,79,0,0,0,66,0,81,0,0,0,66,0,83,0,0,0,66,0,87,0,0,0,66,0,89,0,0,0,66,0,90,0,0,0,67,0,67,0,0,0,67,0,70,0,0,0,67,0,71,0,0,0,67,0,72,0,0,0,67,0,75,0,0,0,67,0,77,0,0,0,67,0,79,0,0,0,67,0,82,0,0,0,67,0,86,0,0,0,67,0,87,0,0,0,67,0,88,0,0,0,67,0,90,0,0,0,68,0,74,0,0,0,68,0,75,0,0,0,68,0,77,0,0,0,68,0,79,0,0,0,68,0,90,0,0,0,69,0,69,0,0,0,69,0,72,0,0,0,70,0,73,0,0,0,70,0,74,0,0,0,70,0,75,0,0,0,71,0,65,0,0,0,71,0,68,0,0,0,71,0,69,0,0,0,71,0,70,0,0,0,71,0,71,0,0,0,71,0,72,0,0,0,71,0,73,0,0,0,71,0,77,0,0,0,71,0,78,0,0,0,71,0,80,0,0,0,71,0,81,0,0,0,71,0,82,0,0,0,71,0,83,0,0,0,71,0,85,0,0,0,71,0,87,0,0,0,71,0,89,0,0,0,72,0,78,0,0,0,72,0,82,0,0,0,72,0,84,0,0,0,72,0,85,0,0,0,73,0,77,0,0,0,73,0,79,0,0,0,73,0,81,0,0,0,73,0,83,0,0,0,74,0,69,0,0,0,74,0,79,0,0,0,75,0,71,0,0,0,75,0,72,0,0,0,75,0,77,0,0,0,75,0,78,0,0,0,75,0,80,0,0,0,75,0,87,0,0,0,75,0,89,0,0,0,76,0,65,0,0,0,76,0,66,0,0,0,76,0,67,0,0,0,76,0,72,0,0,0,76,0,73,0,0,0,76,0,75,0,0,0,76,0,82,0,0,0,76,0,83,0,0,0,76,0,85,0,0,0,76,0,86,0,0,0,77,0,65,0,0,0,77,0,67,0,0,0,77,0,69,0,0,0,77,0,70,0,0,0,77,0,71,0,0,0,77,0,75,0,0,0,77,0,80,0,0,0,77,0,81,0,0,0,77,0,82,0,0,0,77,0,83,0,0,0,77,0,85,0,0,0,77,0,86,0,0,0,77,0,87,0,0,0,78,0,65,0,0,0,78,0,67,0,0,0,78,0,69,0,0,0,78,0,70,0,0,0,78,0,71,0,0,0,78,0,73,0,0,0,78,0,76,0,0,0,78,0,79,0,0,0,78,0,82,0,0,0,78,0,85,0,0,0,79,0,77,0,0,0,80,0,65,0,0,0,80,0,69,0,0,0,80,0,72,0,0,0,80,0,77,0,0,0,80,0,78,0,0,0,80,0,87,0,0,0,80,0,89,0,0,0,81,0,65,0,0,0,82,0,69,0,0,0,82,0,79,0,0,0,82,0,83,0,0,0,82,0,87,0,0,0,83,0,65,0,0,0,83,0,67,0,0,0,83,0,68,0,0,0,83,0,69,0,0,0,83,0,72,0,0,0,83,0,73,0,0,0,83,0,75,0,0,0,83,0,76,0,0,0,83,0,77,0,0,0,83,0,78,0,0,0,83,0,79,0,0,0,83,0,82,0,0,0,83,0,83,0,0,0,83,0,86,0,0,0,83,0,88,0,0,0,83,0,89,0,0,0,83,0,90,0,0,0,84,0,68,0,0,0,84,0,70,0,0,0,84,0,71,0,0,0,84,0,72,0,0,0,84,0,74,0,0,0,84,0,75,0,0,0,84,0,76,0,0,0,84,0,78,0,0,0,84,0,79,0,0,0,84,0,86,0,0,0,84,0,90,0,0,0,85,0,71,0,0,0,85,0,89,0,0,0,86,0,65,0,0,0,86,0,67,0,0,0,86,0,69,0,0,0,86,0,71,0,0,0,86,0,85,0,0,0,87,0,70,0,0,0,89,0,69,0,0,0,89,0,84,0,0,0,90,0,65,0,0,0,90,0,77,0,0,0,90,0,87,0,0,0,48,0,48,0,49,0,0,0,65,0,71,0,84,0,0,0,67,0,84,0,84,0,0,0,77,0,73,0,84,0,0,0,80,0,76,0,84,0,0,0,86,0,83,0,84,0,0,0,87,0,69,0,84,0,0,0,65,0,69,0,84,0,0,0,65,0,82,0,84,0,0,0,65,0,83,0,84,0,0,0,66,0,69,0,84,0,0,0,66,0,83,0,84,0,0,0,67,0,65,0,84,0,0,0,67,0,69,0,84,0,0,0,67,0,78,0,84,0,0,0,67,0,83,0,84,0,0,0,69,0,65,0,84,0,0,0,69,0,67,0,84,0,0,0,69,0,69,0,84,0,0,0,69,0,83,0,84,0,0,0,72,0,83,0,84,0,0,0,73,0,69,0,84,0,0,0,73,0,83,0,84,0,0,0,74,0,83,0,84,0,0,0,77,0,69,0,84,0,0,0,77,0,83,0,84,0,0,0,78,0,69,0,84,0,0,0,78,0,83,0,84,0,0,0,80,0,78,0,84,0,0,0,80,0,82,0,67,0,0,0,80,0,82,0,84,0,0,0,80,0,83,0,84,0,0,0,82,0,79,0,67,0,0,0,82,0,79,0,75,0,0,0,83,0,83,0,84,0,0,0,67,0,117,0,98,0,97,0,0,0,73,0,114,0,97,0,110,0,0,0,80,0,97,0,114,0,97,0,0,0,87,0,45,0,83,0,85,0,0,0,90,0,105,0,111,0,110,0,0,0,67,0,45,0,69,0,117,0,114,0,0,0,67,0,104,0,105,0,108,0,101,0,0,0,69,0,103,0,121,0,112,0,116,0,0,0,50,0,48,0,50,0,52,0,97,0,0,0,72,0,97,0,105,0,116,0,105,0,0,0,74,0,97,0,112,0,97,0,110,0,0,0,76,0,105,0,98,0,121,0,97,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,0,0,69,0,85,0,65,0,115,0,105,0,97,0,0,0,73,0,115,0,114,0,97,0,101,0,108,0,0,0,78,0,97,0,118,0,97,0,106,0,111,0,0,0,80,0,111,0,108,0,97,0,110,0,100,0,0,0,84,0,117,0,114,0,107,0,101,0,121,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,0,0,78,0,90,0,45,0,67,0,72,0,65,0,84,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,0,0,69,0,116,0,99,0,47,0,85,0,84,0,67,0,0,0,71,0,66,0,45,0,69,0,105,0,114,0,101,0,0,0,69,0,116,0,99,0,47,0,85,0,67,0,84,0,0,0,70,0,97,0,99,0,116,0,111,0,114,0,121,0,0,0,73,0,99,0,101,0,108,0,97,0,110,0,100,0,0,0,76,0,101,0,98,0,97,0,110,0,111,0,110,0,0,0,77,0,111,0,108,0,100,0,111,0,118,0,97,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,48,0,0,0,69,0,116,0,99,0,47,0,90,0,117,0,108,0,117,0,0,0,72,0,111,0,110,0,103,0,107,0,111,0,110,0,103,0,0,0,80,0,111,0,114,0,116,0,117,0,103,0,97,0,108,0,0,0,85,0,83,0,47,0,83,0,97,0,109,0,111,0,97,0,0,0,80,0,97,0,108,0,101,0,115,0,116,0,105,0,110,0,101,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,48,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,48,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,100,0,101,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,107,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,105,0,108,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,71,0,97,0,122,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,118,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,79,0,109,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,79,0,114,0,97,0,108,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,51,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,52,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,53,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,54,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,55,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,56,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,57,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,51,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,52,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,53,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,54,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,55,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,56,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,57,0,0,0,85,0,83,0,47,0,65,0,108,0,97,0,115,0,107,0,97,0,0,0,85,0,83,0,47,0,72,0,97,0,119,0,97,0,105,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,109,0,109,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,105,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,97,0,99,0,99,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,104,0,97,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,98,0,97,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,98,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,99,0,97,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,99,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,97,0,116,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,101,0,111,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,107,0,121,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,111,0,109,0,115,0,107,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,48,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,43,0,49,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,48,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,49,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,50,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,51,0,0,0,69,0,116,0,99,0,47,0,71,0,77,0,84,0,45,0,49,0,52,0,0,0,85,0,83,0,47,0,65,0,114,0,105,0,122,0,111,0,110,0,97,0,0,0,85,0,83,0,47,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,85,0,83,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,85,0,83,0,47,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,98,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,109,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,108,0,109,0,97,0,116,0,121,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,110,0,97,0,100,0,121,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,113,0,116,0,111,0,98,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,116,0,121,0,114,0,97,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,101,0,105,0,114,0,117,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,114,0,117,0,110,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,97,0,114,0,98,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,101,0,98,0,114,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,119,0,97,0,105,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,110,0,105,0,108,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,117,0,115,0,99,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,105,0,121,0,97,0,100,0,104,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,105,0,103,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,105,0,112,0,101,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,101,0,104,0,114,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,104,0,105,0,109,0,98,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,114,0,117,0,109,0,113,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,97,0,110,0,103,0,111,0,110,0,0,0,66,0,114,0,97,0,122,0,105,0,108,0,47,0,65,0,99,0,114,0,101,0,0,0,66,0,114,0,97,0,122,0,105,0,108,0,47,0,69,0,97,0,115,0,116,0,0,0,66,0,114,0,97,0,122,0,105,0,108,0,47,0,87,0,101,0,115,0,116,0,0,0,69,0,116,0,99,0,47,0,85,0,110,0,107,0,110,0,111,0,119,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,101,0,118,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,121,0,105,0,118,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,79,0,115,0,108,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,82,0,105,0,103,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,82,0,111,0,109,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,104,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,89,0,97,0,112,0,0,0,85,0,83,0,47,0,65,0,108,0,101,0,117,0,116,0,105,0,97,0,110,0,0,0,85,0,83,0,47,0,77,0,105,0,99,0,104,0,105,0,103,0,97,0,110,0,0,0,85,0,83,0,47,0,77,0,111,0,117,0,110,0,116,0,97,0,105,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,99,0,99,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,105,0,114,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,101,0,117,0,116,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,107,0,97,0,114,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,103,0,111,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,117,0,110,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,97,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,116,0,107,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,109,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,109,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,117,0,117,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,103,0,104,0,100,0,97,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,104,0,114,0,97,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,110,0,103,0,107,0,111,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,97,0,114,0,110,0,97,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,66,0,105,0,115,0,104,0,107,0,101,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,111,0,108,0,111,0,109,0,98,0,111,0,0,0,65,0,115,0,105,0,97,0,47,0,73,0,114,0,107,0,117,0,116,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,107,0,97,0,114,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,114,0,97,0,99,0,104,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,115,0,104,0,103,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,111,0,108,0,107,0,97,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,99,0,104,0,105,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,103,0,97,0,100,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,105,0,99,0,111,0,115,0,105,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,82,0,97,0,110,0,103,0,111,0,111,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,98,0,105,0,108,0,105,0,115,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,104,0,105,0,109,0,112,0,104,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,114,0,101,0,118,0,97,0,110,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,89,0,117,0,107,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,105,0,114,0,111,0,118,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,108,0,116,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,105,0,110,0,115,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,97,0,114,0,105,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,111,0,102,0,105,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,100,0,117,0,122,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,99,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,112,0,105,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,105,0,106,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,109,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,105,0,117,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,114,0,117,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,107,0,101,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,65,0,83,0,84,0,52,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,67,0,83,0,84,0,54,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,69,0,83,0,84,0,53,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,77,0,83,0,84,0,55,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,80,0,83,0,84,0,56,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,89,0,83,0,84,0,57,0,0,0,69,0,116,0,99,0,47,0,71,0,114,0,101,0,101,0,110,0,119,0,105,0,99,0,104,0,0,0,69,0,116,0,99,0,47,0,85,0,110,0,105,0,118,0,101,0,114,0,115,0,97,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,104,0,117,0,108,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,67,0,84,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,109,0,97,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,109,0,101,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,109,0,97,0,107,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,103,0,117,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,110,0,106,0,117,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,105,0,115,0,115,0,97,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,117,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,114,0,97,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,103,0,97,0,108,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,97,0,110,0,100,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,115,0,97,0,107,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,108,0,97,0,98,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,112,0,117,0,116,0,111,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,115,0,101,0,114,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,105,0,97,0,109,0,101,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,117,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,104,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,101,0,108,0,101,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,105,0,115,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,106,0,117,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,105,0,116,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,115,0,104,0,103,0,97,0,98,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,97,0,108,0,99,0,117,0,116,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,97,0,109,0,97,0,115,0,99,0,117,0,115,0,0,0,65,0,115,0,105,0,97,0,47,0,68,0,117,0,115,0,104,0,97,0,110,0,98,0,101,0,0,0,65,0,115,0,105,0,97,0,47,0,73,0,115,0,116,0,97,0,110,0,98,0,117,0,108,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,97,0,121,0,97,0,112,0,117,0,114,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,116,0,109,0,97,0,110,0,100,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,104,0,97,0,110,0,100,0,121,0,103,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,77,0,97,0,107,0,97,0,115,0,115,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,111,0,115,0,116,0,97,0,110,0,97,0,121,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,107,0,104,0,97,0,108,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,104,0,97,0,110,0,103,0,104,0,97,0,105,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,97,0,115,0,104,0,107,0,101,0,110,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,84,0,101,0,108,0,95,0,65,0,118,0,105,0,118,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,115,0,116,0,45,0,78,0,101,0,114,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,72,0,73,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,78,0,83,0,87,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,116,0,104,0,101,0,110,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,114,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,68,0,117,0,98,0,108,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,74,0,101,0,114,0,115,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,105,0,115,0,98,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,111,0,110,0,100,0,111,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,100,0,114,0,105,0,100,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,110,0,97,0,99,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,111,0,115,0,99,0,111,0,119,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,114,0,97,0,103,0,117,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,109,0,97,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,107,0,111,0,112,0,106,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,105,0,114,0,97,0,110,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,105,0,101,0,110,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,87,0,97,0,114,0,115,0,97,0,119,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,97,0,103,0,114,0,101,0,98,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,117,0,114,0,105,0,99,0,104,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,97,0,103,0,111,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,111,0,109,0,111,0,114,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,67,0,104,0,117,0,117,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,102,0,97,0,116,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,97,0,117,0,114,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,108,0,97,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,83,0,97,0,109,0,111,0,97,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,72,0,83,0,84,0,49,0,48,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,105,0,110,0,103,0,97,0,112,0,111,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,98,0,105,0,100,0,106,0,97,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,108,0,103,0,105,0,101,0,114,0,115,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,110,0,97,0,107,0,114,0,121,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,97,0,109,0,112,0,97,0,108,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,98,0,97,0,98,0,97,0,110,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,105,0,114,0,111,0,98,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,114,0,105,0,112,0,111,0,108,0,105,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,101,0,108,0,105,0,122,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,103,0,111,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,110,0,99,0,117,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,109,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,105,0,97,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,119,0,115,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,110,0,118,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,121,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,118,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,117,0,118,0,105,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,117,0,110,0,101,0,97,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,97,0,95,0,80,0,97,0,122,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,99,0,101,0,105,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,117,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,114,0,105,0,100,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,97,0,115,0,115,0,97,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,110,0,97,0,109,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,99,0,105,0,102,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,103,0,105,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,86,0,105,0,114,0,103,0,105,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,65,0,115,0,104,0,107,0,104,0,97,0,98,0,97,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,111,0,110,0,103,0,113,0,105,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,117,0,110,0,103,0,107,0,105,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,70,0,97,0,109,0,97,0,103,0,117,0,115,0,116,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,110,0,103,0,95,0,75,0,111,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,74,0,101,0,114,0,117,0,115,0,97,0,108,0,101,0,109,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,109,0,99,0,104,0,97,0,116,0,107,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,97,0,116,0,104,0,109,0,97,0,110,0,100,0,117,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,111,0,110,0,116,0,105,0,97,0,110,0,97,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,121,0,111,0,110,0,103,0,121,0,97,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,81,0,121,0,122,0,121,0,108,0,111,0,114,0,100,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,97,0,109,0,97,0,114,0,107,0,97,0,110,0,100,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,105,0,101,0,110,0,116,0,105,0,97,0,110,0,101,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,70,0,97,0,114,0,111,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,87,0,101,0,115,0,116,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,67,0,101,0,110,0,116,0,114,0,97,0,108,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,110,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,110,0,100,0,111,0,114,0,114,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,108,0,102,0,97,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,78,0,105,0,99,0,111,0,115,0,105,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,114,0,97,0,116,0,111,0,118,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,97,0,108,0,108,0,105,0,110,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,97,0,116,0,105,0,99,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,105,0,108,0,110,0,105,0,117,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,121,0,111,0,116,0,116,0,101,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,82,0,101,0,117,0,110,0,105,0,111,0,110,0,0,0,77,0,101,0,120,0,105,0,99,0,111,0,47,0,66,0,97,0,106,0,97,0,83,0,117,0,114,0,0,0,77,0,101,0,120,0,105,0,99,0,111,0,47,0,71,0,101,0,110,0,101,0,114,0,97,0,108,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,97,0,110,0,116,0,111,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,111,0,115,0,114,0,97,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,106,0,117,0,114,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,105,0,100,0,119,0,97,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,117,0,109,0,101,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,110,0,97,0,112,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,83,0,97,0,105,0,112,0,97,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,104,0,105,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,97,0,114,0,97,0,119,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,87,0,97,0,108,0,108,0,105,0,115,0,0,0,85,0,83,0,47,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,45,0,78,0,101,0,119,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,110,0,111,0,120,0,95,0,73,0,78,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,74,0,97,0,109,0,97,0,105,0,99,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,67,0,104,0,97,0,116,0,104,0,97,0,109,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,67,0,83,0,84,0,54,0,67,0,68,0,84,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,69,0,83,0,84,0,53,0,69,0,68,0,84,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,77,0,83,0,84,0,55,0,77,0,68,0,84,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,80,0,83,0,84,0,56,0,80,0,68,0,84,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,108,0,97,0,110,0,116,0,121,0,114,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,106,0,105,0,98,0,111,0,117,0,116,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,65,0,97,0,105,0,117,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,70,0,114,0,101,0,101,0,116,0,111,0,119,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,71,0,97,0,98,0,111,0,114,0,111,0,110,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,104,0,97,0,114,0,116,0,111,0,117,0,109,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,75,0,105,0,110,0,115,0,104,0,97,0,115,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,114,0,111,0,118,0,105,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,100,0,106,0,97,0,109,0,101,0,110,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,84,0,111,0,109,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,84,0,105,0,109,0,98,0,117,0,107,0,116,0,117,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,100,0,104,0,111,0,101,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,116,0,105,0,103,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,114,0,97,0,99,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,121,0,101,0,110,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,99,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,100,0,111,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,114,0,101,0,115,0,116,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,117,0,114,0,97,0,99,0,97,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,101,0,116,0,114,0,111,0,105,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,100,0,116,0,104,0,97,0,98,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,114,0,101,0,110,0,97,0,100,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,97,0,108,0,105,0,102,0,97,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,113,0,97,0,108,0,117,0,105,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,110,0,97,0,103,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,105,0,103,0,111,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,110,0,100,0,111,0,122,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,99,0,116,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,105,0,112,0,105,0,103,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,111,0,110,0,104,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,79,0,106,0,105,0,110,0,97,0,103,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,104,0,111,0,101,0,110,0,105,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,111,0,115,0,97,0,114,0,105,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,105,0,106,0,117,0,97,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,111,0,110,0,116,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,111,0,114,0,116,0,111,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,89,0,97,0,107,0,117,0,116,0,97,0,116,0,0,0,65,0,115,0,105,0,97,0,47,0,67,0,104,0,111,0,105,0,98,0,97,0,108,0,115,0,97,0,110,0,0,0,65,0,115,0,105,0,97,0,47,0,80,0,104,0,110,0,111,0,109,0,95,0,80,0,101,0,110,0,104,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,110,0,95,0,66,0,97,0,116,0,111,0,114,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,65,0,122,0,111,0,114,0,101,0,115,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,110,0,97,0,114,0,121,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,70,0,97,0,101,0,114,0,111,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,69,0,117,0,99,0,108,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,80,0,101,0,114,0,116,0,104,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,111,0,117,0,116,0,104,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,77,0,111,0,117,0,110,0,116,0,97,0,105,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,101,0,108,0,103,0,114,0,97,0,100,0,101,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,117,0,115,0,115,0,101,0,108,0,115,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,100,0,97,0,112,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,115,0,105,0,110,0,103,0,101,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,104,0,105,0,115,0,105,0,110,0,97,0,117,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,71,0,117,0,101,0,114,0,110,0,115,0,101,0,121,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,72,0,101,0,108,0,115,0,105,0,110,0,107,0,105,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,116,0,97,0,110,0,98,0,117,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,114,0,97,0,106,0,101,0,118,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,84,0,105,0,114,0,97,0,115,0,112,0,111,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,85,0,122,0,104,0,103,0,111,0,114,0,111,0,100,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,108,0,100,0,105,0,118,0,101,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,97,0,107,0,97,0,111,0,102,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,109,0,98,0,105,0,101,0,114,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,78,0,111,0,114,0,102,0,111,0,108,0,107,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,104,0,110,0,112,0,101,0,105,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,65,0,83,0,84,0,52,0,65,0,68,0,84,0,0,0,83,0,121,0,115,0,116,0,101,0,109,0,86,0,47,0,89,0,83,0,84,0,57,0,89,0,68,0,84,0,0,0,85,0,83,0,47,0,69,0,97,0,115,0,116,0,45,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,84,0,114,0,111,0,108,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,106,0,117,0,109,0,98,0,117,0,114,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,103,0,97,0,100,0,105,0,115,0,104,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,103,0,117,0,105,0,108,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,115,0,117,0,110,0,99,0,105,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,116,0,105,0,107,0,111,0,107,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,114,0,98,0,97,0,100,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,111,0,109,0,105,0,110,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,100,0,109,0,111,0,110,0,116,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,105,0,114,0,117,0,110,0,101,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,110,0,115,0,101,0,110,0,97,0,100,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,122,0,97,0,116,0,108,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,105,0,113,0,117,0,101,0,108,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,114,0,101,0,97,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,101,0,119,0,95,0,89,0,111,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,101,0,115,0,111,0,108,0,117,0,116,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,97,0,114,0,101,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,105,0,97,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,104,0,105,0,112,0,114,0,111,0,99,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,74,0,111,0,104,0,110,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,75,0,105,0,116,0,116,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,76,0,117,0,99,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,105,0,110,0,110,0,105,0,112,0,101,0,103,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,67,0,97,0,115,0,101,0,121,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,97,0,118,0,105,0,115,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,83,0,121,0,111,0,119,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,72,0,111,0,95,0,67,0,104,0,105,0,95,0,77,0,105,0,110,0,104,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,114,0,97,0,115,0,110,0,111,0,121,0,97,0,114,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,111,0,118,0,111,0,115,0,105,0,98,0,105,0,114,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,108,0,97,0,97,0,110,0,98,0,97,0,97,0,116,0,97,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,86,0,108,0,97,0,100,0,105,0,118,0,111,0,115,0,116,0,111,0,107,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,66,0,101,0,114,0,109,0,117,0,100,0,97,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,77,0,97,0,100,0,101,0,105,0,114,0,97,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,97,0,110,0,108,0,101,0,121,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,67,0,117,0,114,0,114,0,105,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,68,0,97,0,114,0,119,0,105,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,72,0,111,0,98,0,97,0,114,0,116,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,83,0,121,0,100,0,110,0,101,0,121,0,0,0,66,0,114,0,97,0,122,0,105,0,108,0,47,0,68,0,101,0,78,0,111,0,114,0,111,0,110,0,104,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,109,0,115,0,116,0,101,0,114,0,100,0,97,0,109,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,65,0,115,0,116,0,114,0,97,0,107,0,104,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,117,0,99,0,104,0,97,0,114,0,101,0,115,0,116,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,71,0,105,0,98,0,114,0,97,0,108,0,116,0,97,0,114,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,106,0,117,0,98,0,108,0,106,0,97,0,110,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,77,0,97,0,114,0,105,0,101,0,104,0,97,0,109,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,80,0,111,0,100,0,103,0,111,0,114,0,105,0,99,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,116,0,111,0,99,0,107,0,104,0,111,0,108,0,109,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,85,0,108,0,121,0,97,0,110,0,111,0,118,0,115,0,107,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,86,0,111,0,108,0,103,0,111,0,103,0,114,0,97,0,100,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,67,0,104,0,114,0,105,0,115,0,116,0,109,0,97,0,115,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,75,0,101,0,114,0,103,0,117,0,101,0,108,0,101,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,77,0,97,0,117,0,114,0,105,0,116,0,105,0,117,0,115,0,0,0,77,0,101,0,120,0,105,0,99,0,111,0,47,0,66,0,97,0,106,0,97,0,78,0,111,0,114,0,116,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,65,0,117,0,99,0,107,0,108,0,97,0,110,0,100,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,70,0,117,0,110,0,97,0,102,0,117,0,116,0,105,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,72,0,111,0,110,0,111,0,108,0,117,0,108,0,117,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,74,0,111,0,104,0,110,0,115,0,116,0,111,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,105,0,116,0,99,0,97,0,105,0,114,0,110,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,119,0,97,0,106,0,97,0,108,0,101,0,105,0,110,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,115,0,97,0,98,0,108,0,97,0,110,0,99,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,105,0,98,0,114,0,101,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,76,0,117,0,98,0,117,0,109,0,98,0,97,0,115,0,104,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,117,0,97,0,107,0,99,0,104,0,111,0,116,0,116,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,45,0,78,0,111,0,118,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,110,0,99,0,104,0,111,0,114,0,97,0,103,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,97,0,103,0,117,0,97,0,105,0,110,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,111,0,97,0,95,0,86,0,105,0,115,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,116,0,97,0,109,0,97,0,114,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,104,0,105,0,104,0,117,0,97,0,104,0,117,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,70,0,111,0,114,0,116,0,97,0,108,0,101,0,122,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,108,0,97,0,99,0,101,0,95,0,66,0,97,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,111,0,111,0,115,0,101,0,95,0,66,0,97,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,116,0,101,0,109,0,97,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,121,0,97,0,113,0,117,0,105,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,116,0,97,0,109,0,111,0,114,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,110,0,111,0,109,0,105,0,110,0,101,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,101,0,114,0,114,0,101,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,111,0,95,0,80,0,97,0,117,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,84,0,104,0,111,0,109,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,86,0,97,0,110,0,99,0,111,0,117,0,118,0,101,0,114,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,97,0,119,0,115,0,111,0,110,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,80,0,97,0,108,0,109,0,101,0,114,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,86,0,111,0,115,0,116,0,111,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,75,0,117,0,97,0,108,0,97,0,95,0,76,0,117,0,109,0,112,0,117,0,114,0,0,0,65,0,115,0,105,0,97,0,47,0,78,0,111,0,118,0,111,0,107,0,117,0,122,0,110,0,101,0,116,0,115,0,107,0,0,0,67,0,104,0,105,0,108,0,101,0,47,0,67,0,111,0,110,0,116,0,105,0,110,0,101,0,110,0,116,0,97,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,66,0,114,0,97,0,116,0,105,0,115,0,108,0,97,0,118,0,97,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,67,0,111,0,112,0,101,0,110,0,104,0,97,0,103,0,101,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,76,0,117,0,120,0,101,0,109,0,98,0,111,0,117,0,114,0,103,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,97,0,110,0,95,0,77,0,97,0,114,0,105,0,110,0,111,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,83,0,105,0,109,0,102,0,101,0,114,0,111,0,112,0,111,0,108,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,90,0,97,0,112,0,111,0,114,0,111,0,122,0,104,0,121,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,69,0,110,0,100,0,101,0,114,0,98,0,117,0,114,0,121,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,97,0,108,0,97,0,112,0,97,0,103,0,111,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,77,0,97,0,114,0,113,0,117,0,101,0,115,0,97,0,115,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,97,0,103,0,111,0,95,0,80,0,97,0,103,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,82,0,97,0,114,0,111,0,116,0,111,0,110,0,103,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,84,0,111,0,110,0,103,0,97,0,116,0,97,0,112,0,117,0,0,0,85,0,83,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,45,0,83,0,116,0,97,0,114,0,107,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,65,0,100,0,100,0,105,0,115,0,95,0,65,0,98,0,97,0,98,0,97,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,66,0,114,0,97,0,122,0,122,0,97,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,79,0,117,0,97,0,103,0,97,0,100,0,111,0,117,0,103,0,111,0,117,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,115,0,116,0,97,0,95,0,82,0,105,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,70,0,111,0,114,0,116,0,95,0,87,0,97,0,121,0,110,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,114,0,97,0,110,0,100,0,95,0,84,0,117,0,114,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,71,0,117,0,97,0,100,0,101,0,108,0,111,0,117,0,112,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,72,0,101,0,114,0,109,0,111,0,115,0,105,0,108,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,114,0,97,0,108,0,101,0,110,0,100,0,105,0,106,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,117,0,105,0,115,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,97,0,114,0,116,0,105,0,110,0,105,0,113,0,117,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,116,0,108,0,97,0,107,0,97,0,116,0,108,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,101,0,118,0,105,0,100,0,101,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,111,0,110,0,116,0,115,0,101,0,114,0,114,0,97,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,114,0,97,0,109,0,97,0,114,0,105,0,98,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,95,0,65,0,99,0,114,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,105,0,111,0,95,0,66,0,114,0,97,0,110,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,86,0,105,0,110,0,99,0,101,0,110,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,87,0,104,0,105,0,116,0,101,0,104,0,111,0,114,0,115,0,101,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,99,0,77,0,117,0,114,0,100,0,111,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,82,0,111,0,116,0,104,0,101,0,114,0,97,0,0,0,65,0,115,0,105,0,97,0,47,0,83,0,114,0,101,0,100,0,110,0,101,0,107,0,111,0,108,0,121,0,109,0,115,0,107,0,0,0,65,0,115,0,105,0,97,0,47,0,85,0,106,0,117,0,110,0,103,0,95,0,80,0,97,0,110,0,100,0,97,0,110,0,103,0,0,0,65,0,115,0,105,0,97,0,47,0,89,0,101,0,107,0,97,0,116,0,101,0,114,0,105,0,110,0,98,0,117,0,114,0,103,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,74,0,97,0,110,0,95,0,77,0,97,0,121,0,101,0,110,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,82,0,101,0,121,0,107,0,106,0,97,0,118,0,105,0,107,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,116,0,95,0,72,0,101,0,108,0,101,0,110,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,65,0,100,0,101,0,108,0,97,0,105,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,105,0,115,0,98,0,97,0,110,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,67,0,97,0,110,0,98,0,101,0,114,0,114,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,105,0,110,0,100,0,101,0,109,0,97,0,110,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,84,0,97,0,115,0,109,0,97,0,110,0,105,0,97,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,86,0,105,0,99,0,116,0,111,0,114,0,105,0,97,0,0,0,67,0,104,0,105,0,108,0,101,0,47,0,69,0,97,0,115,0,116,0,101,0,114,0,73,0,115,0,108,0,97,0,110,0,100,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,73,0,115,0,108,0,101,0,95,0,111,0,102,0,95,0,77,0,97,0,110,0,0,0,69,0,117,0,114,0,111,0,112,0,101,0,47,0,75,0,97,0,108,0,105,0,110,0,105,0,110,0,103,0,114,0,97,0,100,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,75,0,105,0,114,0,105,0,116,0,105,0,109,0,97,0,116,0,105,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,74,0,111,0,104,0,97,0,110,0,110,0,101,0,115,0,98,0,117,0,114,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,69,0,108,0,95,0,83,0,97,0,108,0,118,0,97,0,100,0,111,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,70,0,111,0,114,0,116,0,95,0,78,0,101,0,108,0,115,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,115,0,95,0,65,0,110,0,103,0,101,0,108,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,77,0,101,0,120,0,105,0,99,0,111,0,95,0,67,0,105,0,116,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,97,0,110,0,103,0,110,0,105,0,114,0,116,0,117,0,110,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,111,0,95,0,86,0,101,0,108,0,104,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,117,0,101,0,114,0,116,0,111,0,95,0,82,0,105,0,99,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,97,0,105,0,110,0,121,0,95,0,82,0,105,0,118,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,101,0,103,0,117,0,99,0,105,0,103,0,97,0,108,0,112,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,84,0,104,0,117,0,110,0,100,0,101,0,114,0,95,0,66,0,97,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,89,0,101,0,108,0,108,0,111,0,119,0,107,0,110,0,105,0,102,0,101,0,0,0,65,0,114,0,99,0,116,0,105,0,99,0,47,0,76,0,111,0,110,0,103,0,121,0,101,0,97,0,114,0,98,0,121,0,101,0,110,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,67,0,97,0,112,0,101,0,95,0,86,0,101,0,114,0,100,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,76,0,111,0,114,0,100,0,95,0,72,0,111,0,119,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,77,0,101,0,108,0,98,0,111,0,117,0,114,0,110,0,101,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,78,0,101,0,119,0,102,0,111,0,117,0,110,0,100,0,108,0,97,0,110,0,100,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,83,0,97,0,115,0,107,0,97,0,116,0,99,0,104,0,101,0,119,0,97,0,110,0,0,0,73,0,110,0,100,0,105,0,97,0,110,0,47,0,65,0,110,0,116,0,97,0,110,0,97,0,110,0,97,0,114,0,105,0,118,0,111,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,71,0,117,0,97,0,100,0,97,0,108,0,99,0,97,0,110,0,97,0,108,0,0,0,65,0,102,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,114,0,95,0,101,0,115,0,95,0,83,0,97,0,108,0,97,0,97,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,108,0,97,0,110,0,99,0,45,0,83,0,97,0,98,0,108,0,111,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,109,0,112,0,111,0,95,0,71,0,114,0,97,0,110,0,100,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,110,0,109,0,97,0,114,0,107,0,115,0,104,0,97,0,118,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,68,0,97,0,119,0,115,0,111,0,110,0,95,0,67,0,114,0,101,0,101,0,107,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,75,0,110,0,111,0,120,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,112,0,111,0,108,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,117,0,110,0,116,0,97,0,95,0,65,0,114,0,101,0,110,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,82,0,97,0,110,0,107,0,105,0,110,0,95,0,73,0,110,0,108,0,101,0,116,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,97,0,95,0,73,0,115,0,97,0,98,0,101,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,99,0,111,0,114,0,101,0,115,0,98,0,121,0,115,0,117,0,110,0,100,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,77,0,97,0,99,0,113,0,117,0,97,0,114,0,105,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,81,0,117,0,101,0,101,0,110,0,115,0,108,0,97,0,110,0,100,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,89,0,97,0,110,0,99,0,111,0,119,0,105,0,110,0,110,0,97,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,66,0,111,0,117,0,103,0,97,0,105,0,110,0,118,0,105,0,108,0,108,0,101,0,0,0,80,0,97,0,99,0,105,0,102,0,105,0,99,0,47,0,80,0,111,0,114,0,116,0,95,0,77,0,111,0,114,0,101,0,115,0,98,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,97,0,109,0,98,0,114,0,105,0,100,0,103,0,101,0,95,0,66,0,97,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,105,0,117,0,100,0,97,0,100,0,95,0,74,0,117,0,97,0,114,0,101,0,122,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,67,0,111,0,114,0,97,0,108,0,95,0,72,0,97,0,114,0,98,0,111,0,117,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,86,0,101,0,118,0,97,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,76,0,111,0,119,0,101,0,114,0,95,0,80,0,114,0,105,0,110,0,99,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,95,0,111,0,102,0,95,0,83,0,112,0,97,0,105,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,97,0,110,0,116,0,111,0,95,0,68,0,111,0,109,0,105,0,110,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,116,0,95,0,66,0,97,0,114,0,116,0,104,0,101,0,108,0,101,0,109,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,83,0,119,0,105,0,102,0,116,0,95,0,67,0,117,0,114,0,114,0,101,0,110,0,116,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,83,0,111,0,117,0,116,0,104,0,95,0,80,0,111,0,108,0,101,0,0,0,65,0,117,0,115,0,116,0,114,0,97,0,108,0,105,0,97,0,47,0,66,0,114,0,111,0,107,0,101,0,110,0,95,0,72,0,105,0,108,0,108,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,66,0,97,0,104,0,105,0,97,0,95,0,66,0,97,0,110,0,100,0,101,0,114,0,97,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,80,0,111,0,114,0,116,0,45,0,97,0,117,0,45,0,80,0,114,0,105,0,110,0,99,0,101,0,0,0,65,0,116,0,108,0,97,0,110,0,116,0,105,0,99,0,47,0,83,0,111,0,117,0,116,0,104,0,95,0,71,0,101,0,111,0,114,0,103,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,74,0,117,0,106,0,117,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,108,0,116,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,77,0,97,0,114,0,101,0,110,0,103,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,87,0,105,0,110,0,97,0,109,0,97,0,99,0,0,0,67,0,97,0,110,0,97,0,100,0,97,0,47,0,69,0,97,0,115,0,116,0,45,0,83,0,97,0,115,0,107,0,97,0,116,0,99,0,104,0,101,0,119,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,67,0,111,0,114,0,100,0,111,0,98,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,77,0,101,0,110,0,100,0,111,0,122,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,84,0,117,0,99,0,117,0,109,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,85,0,115,0,104,0,117,0,97,0,105,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,84,0,101,0,108,0,108,0,95,0,67,0,105,0,116,0,121,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,86,0,105,0,110,0,99,0,101,0,110,0,110,0,101,0,115,0,0,0,65,0,110,0,116,0,97,0,114,0,99,0,116,0,105,0,99,0,97,0,47,0,68,0,117,0,109,0,111,0,110,0,116,0,68,0,85,0,114,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,76,0,97,0,95,0,82,0,105,0,111,0,106,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,110,0,95,0,74,0,117,0,97,0,110,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,83,0,97,0,110,0,95,0,76,0,117,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,80,0,101,0,116,0,101,0,114,0,115,0,98,0,117,0,114,0,103,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,67,0,97,0,116,0,97,0,109,0,97,0,114,0,99,0,97,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,101,0,110,0,116,0,117,0,99,0,107,0,121,0,47,0,76,0,111,0,117,0,105,0,115,0,118,0,105,0,108,0,108,0,101,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,75,0,101,0,110,0,116,0,117,0,99,0,107,0,121,0,47,0,77,0,111,0,110,0,116,0,105,0,99,0,101,0,108,0,108,0,111,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,66,0,101,0,117,0,108,0,97,0,104,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,67,0,101,0,110,0,116,0,101,0,114,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,47,0,73,0,110,0,100,0,105,0,97,0,110,0,97,0,112,0,111,0,108,0,105,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,66,0,117,0,101,0,110,0,111,0,115,0,95,0,65,0,105,0,114,0,101,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,82,0,105,0,111,0,95,0,71,0,97,0,108,0,108,0,101,0,103,0,111,0,115,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,78,0,111,0,114,0,116,0,104,0,95,0,68,0,97,0,107,0,111,0,116,0,97,0,47,0,78,0,101,0,119,0,95,0,83,0,97,0,108,0,101,0,109,0,0,0,65,0,109,0,101,0,114,0,105,0,99,0,97,0,47,0,65,0,114,0,103,0,101,0,110,0,116,0,105,0,110,0,97,0,47,0,67,0,111,0,109,0,111,0,100,0,82,0,105,0,118,0,97,0,100,0,97,0,118,0,105,0,97,0,0,0,126,2,223,10,240,2,216,2,244,2,248,2,100,14,33,8,204,29,115,14,227,10,241,10,255,10,13,11,27,11,41,11,208,18,223,29,33,23,46,8,252,26,59,8,130,14,72,8,27,34,224,18,55,11,240,18,0,19,16,19,69,11,139,32,137,6,145,14,32,19,83,11,48,19,85,8,14,27,149,6,97,11,32,27,111,11,125,11,139,11,153,11,160,14,50,23,64,19,175,14,80,19,167,11,50,27,242,29,68,27,96,19,112,19,190,14,98,8,128,19,111,8,86,27,67,23,144,19,104,27,251,38,82,38,88,39,48,37,183,36,230,37,74,37,26,39,207,36,1,38,28,38,100,37,126,37,181,11,84,23,101,23,124,8,195,11,114,36,118,23,209,11,205,14,48,34,122,27,220,14,223,11,69,34,128,35,90,34,235,14,160,19,140,27,176,19,250,14,192,19,158,27,150,35,172,35,208,19,5,30,224,19,9,15,240,19,111,34,24,15,132,34,39,15,0,20,135,23,152,23,169,23,159,32,186,23,179,32,24,30,176,27,194,27,16,20,212,27,43,30,32,20,62,30,230,27,248,27,54,15,48,20,69,15,81,30,222,38,153,34,231,36,55,38,152,37,194,35,178,37,255,36,174,34,84,15,64,20,112,18,237,11,99,15,110,38,138,38,96,18,100,30,114,15,137,8,199,32,119,30,216,35,129,15,80,20,144,15,96,20,138,30,10,28,203,23,112,20,28,28,159,15,157,30,219,32,220,23,128,20,46,28,176,30,237,23,195,30,174,15,254,23,144,20,150,8,160,20,166,38,194,38,57,39,163,8,176,20,189,15,239,32,214,30,192,20,137,36,238,35,233,30,3,33,23,33,195,34,43,33,216,34,204,15,219,15,15,24,252,30,208,20,237,34,32,24,49,24,4,36,64,28,2,35,66,24,251,11,26,36,83,24,100,24,117,24,82,28,15,31,48,36,63,33,199,10,83,33,224,20,240,20,0,21,100,28,234,15,34,31,134,24,16,21,103,33,151,24,168,24,204,37,23,35,118,28,53,31,136,28,72,31,70,36,185,24,16,23,154,28,123,33,104,4,161,6,118,5,173,6,129,5,185,6,9,12,249,15,197,6,176,8,189,8,114,4,202,8,215,8,209,6,228,8,221,6,23,12,140,5,32,21,8,16,23,16,241,8,151,5,37,12,162,5,124,4,173,5,51,12,38,16,134,4,233,6,245,6,202,24,53,16,144,4,254,8,65,12,11,9,79,12,68,16,184,5,83,16,24,9,37,9,98,16,93,12,107,12,50,9,219,24,172,28,63,9,1,7,195,5,206,5,76,9,121,12,13,7,25,7,89,9,190,28,236,24,154,4,164,4,48,21,113,16,128,16,217,5,135,12,143,16,102,9,37,7,49,7,149,12,158,16,228,5,163,12,85,14,91,31,61,7,177,12,115,9,73,7,191,12,85,7,128,9,239,5,250,5,110,31,253,24,64,21,97,7,205,12,173,16,14,25,141,9,109,7,129,31,154,9,80,21,31,25,96,21,143,33,112,21,188,16,148,31,48,25,167,31,160,36,186,31,65,25,213,10,205,31,224,31,92,36,243,31,82,25,99,25,128,21,116,25,219,12,6,32,163,33,183,33,233,12,144,21,160,21,44,35,176,21,133,25,25,32,44,32,203,16,65,35,252,2,0,3,121,7,150,25,133,7,145,7,4,3,8,3,12,3,16,3,152,18,220,2,192,21,218,16,23,37,233,16,208,21,203,33,248,16,223,33,167,9,208,28,63,32,96,3,20,3,24,3,28,3,32,3,168,18,133,3,240,3,221,3,84,4,174,4,5,6,16,6,27,6,184,4,194,4,204,4,214,4,224,4,234,4,244,4,254,4,94,4,8,5,38,6,49,6,60,6,71,6,82,6,18,5,28,5,38,5,48,5,58,5,68,5,78,5,88,5,29,4,171,10,245,3,229,3,185,10,157,7,38,4,167,25,7,17,184,25,247,12,22,17,224,21,5,13,226,28,240,21,201,25,0,22,16,22,32,22,244,28,19,13,218,25,48,22,64,22,82,32,80,22,33,13,101,32,169,7,180,9,181,7,47,13,235,25,61,13,6,29,75,13,193,9,252,25,206,9,89,13,103,13,37,17,193,7,219,9,13,26,117,13,205,7,217,7,131,13,24,29,96,22,52,17,42,29,145,13,232,9,30,26,67,17,159,13,112,22,47,26,128,22,245,9,82,17,173,13,97,17,64,26,187,13,201,13,60,29,215,13,253,3,46,0,237,3,225,3,88,4,98,4,33,4,175,10,36,3,47,4,40,3,44,3,5,4,243,33,229,13,81,26,2,10,243,13,98,26,229,7,144,22,115,26,112,17,127,17,101,3,177,3,48,3,120,18,151,3,242,26,157,3,52,3,224,2,56,3,184,18,132,26,142,17,157,17,60,3,64,3,34,0,213,3,184,3,228,2,68,3,72,3,76,3,80,3,200,18,15,10,149,26,86,35,128,18,1,14,172,17,15,14,78,29,160,22,28,10,166,26,96,29,176,22,7,34,41,10,183,26,200,26,187,17,120,32,202,17,234,26,217,17,114,29,232,17,29,14,54,10,192,22,247,17,132,29,43,14,217,26,208,22,6,18,107,35,150,29,21,18,57,14,36,18,51,18,168,29,67,10,80,10,66,18,241,7,191,3,56,4,84,3,88,3,92,3,90,14,93,10,224,22,106,10,144,18,119,10,160,18,71,14,132,10,176,18,145,10,192,18,158,10,240,22,198,3,249,3,98,5,253,7,93,6,104,6,0,23,115,6,108,5,186,29,9,8,21,8,126,6,81,18,65,4,233,3,189,10,232,2,111,3,236,2,42,4,126,2,13,0,13,0,19,0,73,0,1,0,112,0,123,1,237,2,90,1,124,0,124,0,157,0,45,1,129,1,150,1,17,2,48,1,9,1,73,0,237,1,76,0,132,1,116,2,170,2,78,1,57,1,96,1,110,2,33,1,209,2,203,2,125,2,173,2,95,2,86,2,109,0,32,2,108,1,146,2,232,0,109,0,206,2,138,1,169,0,228,1,137,2,119,2,225,1,145,0,140,2,26,2,5,2,0,1,12,1,233,2,157,0,151,0,161,2,20,2,1,0,1,0,226,0,223,0,16,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,19,0,238,0,71,2,4,0,1,0,16,0,22,0,250,0,16,0,39,1,4,0,16,0,60,1,1,0,19,0,4,0,16,0,22,0,185,2,19,0,117,1,204,1,1,0,22,0,22,0,4,0,19,0,63,1,4,0,16,0,69,1,49,0,4,0,4,0,1,0,1,0,84,1,4,0,16,0,128,2,22,0,4,0,1,0,16,0,4,0,49,0,4,0,234,3,111,1,135,1,217,2,121,0,153,1,4,0,115,0,22,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,4,0,142,0,19,0,1,0,1,0,1,0,1,0,27,1,24,1,56,2,1,0,1,0,131,2,16,0,35,2,16,0,246,1,2,2,22,0,22,0,19,0,1,0,22,0,1,0,22,0,62,2,4,0,22,0,176,2,4,0,8,2,30,1,1,0,4,0,1,0,16,0,1,0,1,0,1,0,49,0,22,0,53,2,4,0,122,2,1,0,162,1,221,2,16,0,16,0,184,0,43,0,4,0,4,0,16,0,4,0,4,0,16,0,19,0,22,0,16,0,43,0,87,1,16,0,49,0,1,0,1,0,15,1,4,0,195,1,213,1,208,0,182,2,4,0,156,1,49,0,4,0,22,0,4,0,188,2,4,0,208,0,4,0,4,0,1,0,4,0,25,0,25,0,25,0,13,0,25,0,25,0,25,0,25,0,25,0,25,0,25,0,25,0,196,0,197,2,31,0,183,1,10,0,31,0,31,0,199,0,199,0,31,0,174,1,6,1,244,0,149,2,10,0,210,1,186,1,21,1,109,18,10,0,61,0,28,0,28,0,222,1,67,0,134,2,67,0,158,2,217,0,152,2,70,0,187,0,28,0,187,0,97,0,133,0,61,0,10,0,91,0,52,0,52,0,79,0,220,0,10,0,178,0,28,0,172,0,172,0,10,0,109,18,10,0,166,0,166,0,201,1,163,0,163,0,10,0,52,0,59,2,50,2,70,0,10,0,10,0,10,0,31,0,189,1,52,0,198,1,74,2,31,0,31,0,160,0,89,2,97,0,10,0,205,0,148,0,28,0,193,0,10,0,202,0,205,0,114,1,139,0,79,0,106,0,106,0,82,0,10,0,52,0,61,0,61,0,28,0,10,0,207,1,10,0,10,0,160,0,10,0,100,0,64,0,18,1,76,0,66,1,127,0,127,0,196,0,64,0,177,1,144,1,101,2,105,1,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,16,0,67,0,16,0,16,0,16,0,16,0,169,0,212,2,4,0,1,0,212,2,28,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,43,0,43,0,115,0,145,0,130,0,212,2,212,2,212,2,73,0,136,0,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,38,2,214,0,10,0,141,1,46,0,83,2,118,0,107,2,253,0,80,2,165,1,118,0,154,0,81,1,136,0,126,1,120,1,99,1,168,1,91,0,180,1,10,0,55,0,10,0,55,0,64,0,104,2,46,0,231,1,76,0,226,3,241,0,36,1,240,1,10,0,70,0,41,2,130,0,243,1,75,1,234,1,225,2,10,0,113,2,247,0,10,0,55,0,252,1,3,1,98,2,93,1,229,0,154,0,10,0,55,0,219,1,179,2,218,3,229,2,10,0,181,0,159,1,55,0,51,1,212,2,46,0,46,0,212,2,212,2,212,2,212,2,212,2,212,2,133,0,1,0,109,18,112,0,249,1,171,1,72,1,42,1,192,1,143,2,92,2,14,2,11,2,200,2,77,2,139,0,79,0,82,0,142,0,82,0,85,0,151,0,212,2,211,0,212,2,212,2,22,0,22,0,22,0,100,0,34,0,34,0,34,0,1,0,178,0,1,0,28,0,184,0,1,0,212,2,211,0,34,0,175,0,34,0,37,0,43,0,191,2,58,0,155,2,102,1,167,2,121,0,88,0,190,0,147,1,1,0,94,0,58,0,58,0,37,0,85,0,85,0,88,0,94,0,44,2,47,2,29,2,23,2,40,0,68,2,65,2,37,0,37,0,175,0,54,1,255,1,40,0,88,0,58,0,164,2,37,0,94,0,194,2,37,0,181,0,64,0,202,0,148,0,190,0,193,0,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,212,2,91,0,212,2,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,40,0,212,2,212,2,97,0,10,0,212,2,212,2,170,170,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,32,28,0,0,1,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,8,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,10,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,8,0,0,0,226,255,255,255,255,255,255,255,172,38,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,172,38,0,0,1,0,0,0,16,14,0,0,11,0,0,0,8,0,0,0,2,0,0,0,255,255,255,255,64,56,0,0,2,0,0,0,3,0,0,0,2,0,0,0,255,255,255,255,48,42,0,0,2,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,10,0,0,0,1,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,16,14,0,0,11,0,0,0,3,0,0,0,226,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,9,0,0,0,225,255,255,255,251,255,255,255,128,81,1,0,0,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,8,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,10,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,8,7,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,32,28,0,0,0,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,48,42,0,0,0,0,0,0,16,14,0,0,11,0,0,0,8,0,0,0,226,255,255,255,255,255,255,255,32,28,0,0,1,0,0,0,3,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,1,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,226,255,255,255,249,255,255,255,32,28,0,0,0,0,0,0,9,0,0,0,226,255,255,255,249,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,9,0,0,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,22,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,16,14,0,0,11,0,0,0,3,0,0,0,226,255,255,255,255,255,255,255,32,28,0,0,0,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,8,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,10,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,16,14,0,0,2,0,0,0,32,28,0,0,11,0,0,0,2,0,0,0,8,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,10,0,0,0,1,0,0,0,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,11,0,0,0,2,0,0,0,23,0,0,0,250,255,255,255,32,28,0,0,0,0,0,0,9,0,0,0,225,255,255,255,255,255,255,255,32,28,0,0,0,0,0,0,16,14,0,0,24,0,144,0,147,0,150,0,153,0,156,0,162,0,169,0,177,0,183,0,188,0,191,0,198,0,204,0,210,0,213,0,221,0,229,0,232,0,242,0,247,0,255,0,5,1,11,1,14,1,170,170,131,22,0,224,143,22,0,224,155,22,0,224,167,22,0,224,179,22,0,224,191,22,0,224,203,22,0,224,215,22,0,224,227,22,0,224,239,22,0,224,251,22,0,224,7,23,0,224,19,23,0,224,31,23,0,224,43,23,0,224,55,23,0,224,67,23,0,224,79,23,0,224,91,23,0,224,103,23,0,224,115,23,0,224,127,23,0,224,139,23,0,224,151,23,0,224,14,0,0,0,5,0,0,0,6,0,0,0,11,0,0,0,13,0,0,0,21,0,0,0,22,0,0,0,27,0,0,0,38,0,0,0,51,0,0,0,52,0,0,0,55,0,0,0,91,1,0,0,93,1,0,0,5,2,0,0,1,0,0,0,72,146,230,146,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,56,252,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,200,23,0,224,215,23,0,224,219,23,0,16,221,23,0,224,33,0,0,0,79,80,96,145,240,120,71,155,112,44,215,155,112,145,188,156,240,72,192,157,112,254,137,158,240,42,160,159,240,165,96,160,240,12,128,161,240,18,46,162,240,76,122,163,240,129,53,164,112,6,184,164,112,6,255,198,128,186,88,199,160,9,218,199,16,52,146,207,0,0,138,208,16,22,114,209,112,36,78,210,112,7,75,212,0,211,206,229,240,176,92,243,240,193,120,2,240,200,67,3,0,215,207,13,240,68,173,14,0,90,120,15,16,89,104,16,112,67,118,18,128,66,102,19,16,124,95,20,0,95,79,21,2,0,0,0,255,255,255,255,36,155,201,107,170,170,170,170,34,0,0,0,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,4,5,4,5,4,1,4,1,2,1,2,4,5,4,1,2,1,4,170,170,12,0,0,0,220,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,49,2,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,233,23,0,224,11,24,0,224,15,24,0,16,25,24,0,224,2,0,0,0,144,156,230,146,16,97,103,9,170,170,170,170,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,100,241,255,255,0,0,0,0,240,241,255,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,48,0,66,0,54,0,45,24,0,224,51,24,0,16,53,24,0,224,3,0,0,0,3,0,0,0,18,0,0,0,147,1,0,0,128,0,0,0,224,180,147,200,208,123,250,200,224,239,252,201,208,232,199,202,96,174,203,203,208,41,223,204,224,225,172,205,208,244,198,206,224,102,143,207,208,121,169,208,224,96,132,209,80,173,138,210,96,99,54,232,80,45,244,232,96,185,11,234,208,96,213,234,240,250,236,235,0,109,181,236,240,127,207,237,0,242,151,238,112,179,176,239,128,37,121,240,240,230,145,241,0,89,90,242,112,26,115,243,128,140,59,244,112,159,85,245,128,17,30,246,240,210,54,247,0,69,255,247,112,6,24,249,0,202,225,249,240,57,249,250,128,253,194,251,240,190,219,252,128,130,165,253,112,242,188,254,0,182,134,255,240,37,158,0,128,233,103,1,112,89,127,2,0,29,73,3,112,222,97,4,0,162,43,5,240,17,67,6,128,213,12,7,112,69,36,8,0,9,238,8,240,120,5,10,128,60,207,10,240,253,231,11,128,193,177,12,112,49,201,13,0,245,146,14,240,100,170,15,128,40,116,16,112,152,139,17,0,92,85,18,112,29,110,19,0,225,55,20,240,80,79,21,128,20,25,22,240,147,160,23,0,72,250,23,240,163,112,25,128,123,219,25,240,60,244,26,128,0,190,27,112,112,213,28,0,52,159,29,240,163,182,30,128,103,128,31,112,215,151,32,0,155,97,33,112,92,122,34,0,32,68,35,112,39,98,36,128,83,37,37,112,195,60,38,0,135,6,39,240,246,29,40,128,186,231,40,240,123,0,42,128,63,202,42,112,175,225,43,0,115,171,44,240,226,194,45,128,166,140,46,224,19,160,47,208,12,107,48,224,245,127,49,208,238,74,50,224,215,95,51,208,208,42,52,224,185,63,53,208,178,10,54,96,214,40,55,80,207,243,55,96,184,8,57,80,177,211,57,96,154,232,58,80,147,179,59,96,124,200,60,80,117,147,61,96,94,168,62,80,87,115,63,224,122,145,64,208,115,92,65,224,92,113,66,208,85,60,67,224,62,81,68,80,253,18,69,224,32,49,70,80,106,224,70,224,2,17,72,208,17,183,72,224,228,240,73,80,185,141,74,96,1,218,75,208,189,97,76,224,88,137,76,80,250,164,76,224,56,117,83,208,137,172,83,96,188,218,83,80,130,36,84,96,240,74,100,80,211,58,101,2,0,0,0,255,255,255,255,171,77,189,125,170,170,170,170,170,170,170,170,129,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,85,29,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,32,28,0,112,133,3,0,96,232,7,0,112,65,24,0,224,69,24,0,224,198,24,0,224,203,24,0,16,237,24,0,224,94,0,0,0,156,249,81,150,128,20,255,198,112,172,88,199,128,237,217,199,240,50,161,210,0,164,53,219,240,39,238,219,64,114,37,251,112,239,194,251,128,132,107,8,240,109,198,8,0,12,232,11,240,71,97,12,128,63,201,13,112,242,142,14,128,81,211,15,112,163,39,16,0,166,183,26,240,111,24,30,128,230,65,72,112,34,187,72,0,26,35,74,112,213,141,74,128,192,220,75,112,229,93,76,128,184,151,77,240,140,52,78,160,160,156,79,160,187,8,80,32,154,49,80,160,167,103,80,160,130,124,81,160,203,216,81,160,158,5,82,160,115,108,82,160,122,55,83,160,33,174,83,32,70,220,83,160,85,76,84,160,92,23,85,32,224,124,85,160,4,171,85,160,55,44,86,160,62,247,86,160,135,83,87,32,172,129,87,32,84,21,88,160,32,215,88,160,244,32,89,160,83,88,89,32,54,245,89,160,2,183,90,32,156,247,90,160,192,37,91,160,67,206,92,32,104,252,92,160,176,155,94,160,15,211,94,32,88,114,96,160,124,160,96,32,197,63,98,32,36,119,98,160,108,22,100,32,145,68,100,32,20,237,101,160,56,27,102,32,129,186,103,32,224,241,103,160,40,145,105,32,77,191,105,32,208,103,107,160,244,149,107,32,61,53,109,32,156,108,109,160,228,11,111,32,9,58,111,160,81,217,112,160,176,16,113,32,249,175,114,160,29,222,114,160,160,134,116,32,197,180,116,160,13,84,118,160,108,139,118,32,181,42,120,160,217,88,120,32,34,248,121,32,129,47,122,160,201,206,123,160,40,6,124,32,113,165,125,160,149,211,125,32,222,114,127,32,61,170,127,204,0,0,0,0,0,0,0,160,133,73,129,0,0,0,0,32,170,119,129,0,0,0,0,32,45,32,131,0,0,0,0,160,81,78,131,0,0,0,0,32,154,237,132,0,0,0,0,32,249,36,133,0,0,0,0,160,65,196,134,0,0,0,0,32,102,242,134,0,0,0,0,160,174,145,136,0,0,0,0,160,13,201,136,0,0,0,0,32,86,104,138,0,0,0,0,32,181,159,138,0,0,0,0,160,253,62,140,0,0,0,0,32,34,109,140,0,0,0,0,160,106,12,142,0,0,0,0,160,201,67,142,0,0,0,0,32,18,227,143,0,0,0,0,160,54,17,144,0,0,0,0,160,185,185,145,0,0,0,0,32,222,231,145,0,0,0,0,160,38,135,147,0,0,0,0,160,133,190,147,0,0,0,0,32,206,93,149,0,0,0,0,160,242,139,149,0,0,0,0,32,59,43,151,0,0,0,0,32,154,98,151,0,0,0,0,160,226,1,153,0,0,0,0,160,65,57,153,0,0,0,0,32,138,216,154,0,0,0,0,160,174,6,155,0,0,0,0,32,247,165,156,0,0,0,0,32,86,221,156,0,0,0,0,160,158,124,158,0,0,0,0,32,195,170,158,0,0,0,0,32,70,83,160,0,0,0,0,160,106,129,160,0,0,0,0,32,179,32,162,0,0,0,0,32,18,88,162,0,0,0,0,160,90,247,163,0,0,0,0,32,127,37,164,0,0,0,0,160,199,196,165,0,0,0,0,160,38,252,165,0,0,0,0,32,111,155,167,0,0,0,0,32,206,210,167,0,0,0,0,160,22,114,169,0,0,0,0,32,59,160,169,0,0,0,0,160,131,63,171,0,0,0,0,160,226,118,171,0,0,0,0,32,43,22,173,0,0,0,0,160,79,68,173,0,0,0,0,160,210,236,174,0,0,0,0,32,247,26,175,0,0,0,0,160,63,186,176,0,0,0,0,160,158,241,176,0,0,0,0,32,231,144,178,0,0,0,0,160,11,191,178,0,0,0,0,32,84,94,180,0,0,0,0,32,179,149,180,0,0,0,0,160,251,52,182,0,0,0,0,160,90,108,182,0,0,0,0,32,163,11,184,0,0,0,0,160,199,57,184,0,0,0,0,32,16,217,185,0,0,0,0,32,111,16,186,0,0,0,0,160,183,175,187,0,0,0,0,32,220,221,187,0,0,0,0,32,95,134,189,0,0,0,0,160,131,180,189,0,0,0,0,32,204,83,191,0,0,0,0,32,43,139,191,0,0,0,0,160,115,42,193,0,0,0,0,32,152,88,193,0,0,0,0,160,224,247,194,0,0,0,0,160,63,47,195,0,0,0,0,32,136,206,196,0,0,0,0,32,231,5,197,0,0,0,0,160,47,165,198,0,0,0,0,32,84,211,198,0,0,0,0,160,156,114,200,0,0,0,0,160,251,169,200,0,0,0,0,32,68,73,202,0,0,0,0,160,104,119,202,0,0,0,0,160,235,31,204,0,0,0,0,32,16,78,204,0,0,0,0,160,88,237,205,0,0,0,0,160,183,36,206,0,0,0,0,32,0,196,207,0,0,0,0,160,36,242,207,0,0,0,0,32,109,145,209,0,0,0,0,32,204,200,209,0,0,0,0,160,20,104,211,0,0,0,0,32,57,150,211,0,0,0,0,32,188,62,213,0,0,0,0,160,224,108,213,0,0,0,0,32,41,12,215,0,0,0,0,32,136,67,215,0,0,0,0,160,208,226,216,0,0,0,0,32,245,16,217,0,0,0,0,32,120,185,218,0,0,0,0,160,156,231,218,0,0,0,0,32,229,134,220,0,0,0,0,32,68,190,220,170,170,170,170,170,170,170,170,196,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,8,0,0,0,228,248,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,16,14,0,0,0,0,0,0,4,0,48,0,120,0,66,0,54,0,170,170,1,25,0,224,96,25,0,224,47,26,0,16,97,26,0,224,43,0,0,0,112,117,214,158,96,110,161,159,112,239,5,170,0,110,231,170,240,167,201,173,0,50,167,174,112,79,160,175,0,20,135,176,0,122,137,177,128,48,112,178,64,114,37,251,112,239,194,251,128,132,107,8,240,109,198,8,0,12,232,11,240,71,97,12,128,63,201,13,112,242,142,14,128,81,211,15,112,163,39,16,0,166,183,26,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,0,181,54,126,170,170,170,170,170,170,170,170,170,170,170,170,44,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,10,0,0,0,4,251,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,113,26,0,224,157,26,0,224,163,26,0,16,175,26,0,224,83,0,0,0,224,240,72,188,144,176,209,11,0,12,232,11,240,71,97,12,128,63,201,13,112,242,142,14,128,81,211,15,112,163,39,16,128,230,65,72,112,34,187,72,0,26,35,74,112,213,141,74,128,192,220,75,112,229,93,76,128,184,151,77,240,140,52,78,160,160,156,79,160,187,8,80,32,154,49,80,160,167,103,80,160,130,124,81,160,203,216,81,160,158,5,82,160,115,108,82,160,122,55,83,160,33,174,83,32,70,220,83,160,85,76,84,160,92,23,85,32,224,124,85,160,4,171,85,160,55,44,86,160,62,247,86,160,135,83,87,32,172,129,87,32,84,21,88,160,32,215,88,160,244,32,89,160,83,88,89,32,54,245,89,160,2,183,90,32,156,247,90,160,192,37,91,160,67,206,92,32,104,252,92,160,176,155,94,160,15,211,94,32,88,114,96,160,124,160,96,32,197,63,98,32,36,119,98,160,108,22,100,32,145,68,100,32,20,237,101,160,56,27,102,32,129,186,103,32,224,241,103,160,40,145,105,32,77,191,105,32,208,103,107,160,244,149,107,32,61,53,109,32,156,108,109,160,228,11,111,32,9,58,111,160,81,217,112,160,176,16,113,32,249,175,114,160,29,222,114,160,160,134,116,32,197,180,116,160,13,84,118,160,108,139,118,32,181,42,120,160,217,88,120,32,34,248,121,32,129,47,122,160,201,206,123,160,40,6,124,32,113,165,125,160,149,211,125,32,222,114,127,32,61,170,127,204,0,0,0,0,0,0,0,160,133,73,129,0,0,0,0,32,170,119,129,0,0,0,0,32,45,32,131,0,0,0,0,160,81,78,131,0,0,0,0,32,154,237,132,0,0,0,0,32,249,36,133,0,0,0,0,160,65,196,134,0,0,0,0,32,102,242,134,0,0,0,0,160,174,145,136,0,0,0,0,160,13,201,136,0,0,0,0,32,86,104,138,0,0,0,0,32,181,159,138,0,0,0,0,160,253,62,140,0,0,0,0,32,34,109,140,0,0,0,0,160,106,12,142,0,0,0,0,160,201,67,142,0,0,0,0,32,18,227,143,0,0,0,0,160,54,17,144,0,0,0,0,160,185,185,145,0,0,0,0,32,222,231,145,0,0,0,0,160,38,135,147,0,0,0,0,160,133,190,147,0,0,0,0,32,206,93,149,0,0,0,0,160,242,139,149,0,0,0,0,32,59,43,151,0,0,0,0,32,154,98,151,0,0,0,0,160,226,1,153,0,0,0,0,160,65,57,153,0,0,0,0,32,138,216,154,0,0,0,0,160,174,6,155,0,0,0,0,32,247,165,156,0,0,0,0,32,86,221,156,0,0,0,0,160,158,124,158,0,0,0,0,32,195,170,158,0,0,0,0,32,70,83,160,0,0,0,0,160,106,129,160,0,0,0,0,32,179,32,162,0,0,0,0,32,18,88,162,0,0,0,0,160,90,247,163,0,0,0,0,32,127,37,164,0,0,0,0,160,199,196,165,0,0,0,0,160,38,252,165,0,0,0,0,32,111,155,167,0,0,0,0,32,206,210,167,0,0,0,0,160,22,114,169,0,0,0,0,32,59,160,169,0,0,0,0,160,131,63,171,0,0,0,0,160,226,118,171,0,0,0,0,32,43,22,173,0,0,0,0,160,79,68,173,0,0,0,0,160,210,236,174,0,0,0,0,32,247,26,175,0,0,0,0,160,63,186,176,0,0,0,0,160,158,241,176,0,0,0,0,32,231,144,178,0,0,0,0,160,11,191,178,0,0,0,0,32,84,94,180,0,0,0,0,32,179,149,180,0,0,0,0,160,251,52,182,0,0,0,0,160,90,108,182,0,0,0,0,32,163,11,184,0,0,0,0,160,199,57,184,0,0,0,0,32,16,217,185,0,0,0,0,32,111,16,186,0,0,0,0,160,183,175,187,0,0,0,0,32,220,221,187,0,0,0,0,32,95,134,189,0,0,0,0,160,131,180,189,0,0,0,0,32,204,83,191,0,0,0,0,32,43,139,191,0,0,0,0,160,115,42,193,0,0,0,0,32,152,88,193,0,0,0,0,160,224,247,194,0,0,0,0,160,63,47,195,0,0,0,0,32,136,206,196,0,0,0,0,32,231,5,197,0,0,0,0,160,47,165,198,0,0,0,0,32,84,211,198,0,0,0,0,160,156,114,200,0,0,0,0,160,251,169,200,0,0,0,0,32,68,73,202,0,0,0,0,160,104,119,202,0,0,0,0,160,235,31,204,0,0,0,0,32,16,78,204,0,0,0,0,160,88,237,205,0,0,0,0,160,183,36,206,0,0,0,0,32,0,196,207,0,0,0,0,160,36,242,207,0,0,0,0,32,109,145,209,0,0,0,0,32,204,200,209,0,0,0,0,160,20,104,211,0,0,0,0,32,57,150,211,0,0,0,0,32,188,62,213,0,0,0,0,160,224,108,213,0,0,0,0,32,41,12,215,0,0,0,0,32,136,67,215,0,0,0,0,160,208,226,216,0,0,0,0,32,245,16,217,0,0,0,0,32,120,185,218,0,0,0,0,160,156,231,218,0,0,0,0,32,229,134,220,0,0,0,0,32,68,190,220,170,170,170,170,185,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,170,170,170,8,0,0,0,160,243,255,255,0,0,0,0,240,241,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,4,0,48,0,120,0,66,0,54,0,170,170,197,26,0,224,25,27,0,224,231,27,0,16,23,28,0,224,3,0,0,0,30,0,0,0,44,0,0,0,45,0,0,0,5,0,0,0,104,207,70,130,128,140,174,204,112,111,158,205,128,110,142,206,112,81,126,207,2,0,0,0,255,255,255,255,64,65,123,109,170,170,170,170,170,170,170,170,170,170,170,170,6,0,0,0,1,2,3,2,3,2,170,170,8,0,0,0,64,26,0,0,0,0,0,0,24,21,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,39,28,0,224,43,28,0,224,49,28,0,224,55,28,0,16,58,28,0,224,35,0,0,0,220,218,163,182,224,23,158,0,80,52,122,1,224,249,125,2,208,103,91,3,224,126,96,4,208,236,61,5,224,96,64,6,80,32,31,7,224,66,32,8,208,83,0,9,224,36,0,10,80,135,225,10,224,6,224,11,80,12,196,12,224,232,191,13,208,63,165,14,96,5,169,15,80,115,134,16,96,231,136,17,208,166,103,18,96,201,104,19,208,43,74,20,96,171,72,21,80,95,43,22,96,141,40,23,208,146,12,24,96,111,8,25,80,198,237,25,224,139,241,26,80,75,208,27,224,109,209,28,208,126,177,29,32,69,128,56,80,26,23,96,35,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,170,8,0,0,0,164,29,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,3,0,48,0,66,0,54,0,75,28,0,224,111,28,0,16,121,28,0,224,35,0,0,0,0,218,163,182,224,23,158,0,80,52,122,1,224,249,125,2,208,103,91,3,224,126,96,4,208,236,61,5,224,96,64,6,80,32,31,7,224,66,32,8,208,83,0,9,224,36,0,10,80,135,225,10,224,6,224,11,80,12,196,12,224,232,191,13,208,63,165,14,96,5,169,15,80,115,134,16,96,231,136,17,208,166,103,18,96,201,104,19,208,43,74,20,96,171,72,21,80,95,43,22,96,141,40,23,208,146,12,24,96,111,8,25,80,198,237,25,224,139,241,26,80,75,208,27,224,109,209,28,208,126,177,29,32,69,128,56,80,228,248,89,35,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,170,8,0,0,0,128,30,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,3,0,48,0,66,0,54,0,135,28,0,224,171,28,0,16,181,28,0,224,10,0,0,0,12,0,0,0,16,0,0,0,25,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,39,0,0,0,42,0,0,0,50,0,0,0,53,0,0,0,4,0,0,0,209,112,171,134,0,96,80,140,209,67,170,150,120,239,81,161,4,0,0,0,1,0,2,3,8,0,0,0,47,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,16,14,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,195,28,0,224,206,28,0,224,211,28,0,16,213,28,0,224,9,0,0,0,15,0,0,0,17,0,0,0,28,0,0,0,29,0,0,0,34,0,0,0,40,0,0,0,41,0,0,0,43,0,0,0,124,1,0,0,1,0,0,0,244,197,70,130,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,140,30,0,0,0,0,0,0,32,28,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,229,28,0,224,239,28,0,224,243,28,0,16,245,28,0,224,2,0,0,0,156,108,95,160,110,90,202,3,170,170,170,170,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,228,245,255,255,0,0,0,0,146,245,255,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,48,0,66,0,54,0,1,29,0,224,7,29,0,16,9,29,0,224,12,0,0,0,7,0,0,0,9,0,0,0,10,0,0,0,23,0,0,0,24,0,0,0,32,0,0,0,46,0,0,0,48,0,0,0,142,1,0,0,6,2,0,0,10,2,0,0,15,2,0,0,5,0,0,0,252,209,255,139,88,218,238,177,208,224,199,180,88,173,237,193,212,122,108,204,170,170,170,170,170,170,170,170,170,170,170,170,5,0,0,0,1,3,1,2,3,170,170,170,8,0,0,0,132,34,0,0,0,0,0,0,40,35,0,0,0,0,0,0,172,38,0,0,0,0,0,0,48,42,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,21,29,0,224,34,29,0,224,43,29,0,16,46,29,0,224,3,0,0,0,100,128,230,146,112,113,102,18,96,222,38,19,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,28,14,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,3,0,48,0,66,0,54,0,62,29,0,224,67,29,0,16,69,29,0,224,3,0,0,0,128,142,230,146,16,136,73,90,144,187,42,92,2,0,0,0,255,255,255,255,48,253,60,94,170,170,170,170,170,170,170,170,170,170,170,170,4,0,0,0,1,2,3,2,8,0,0,0,80,6,0,0,0,0,0,0,99,247,255,255,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,81,29,0,224,85,29,0,224,91,29,0,16,93,29,0,224,2,0,0,0,56,0,0,0,23,2,0,0,32,0,0,0,36,193,242,161,16,177,187,221,96,173,35,222,16,210,120,225,224,101,231,225,112,63,47,229,224,204,169,229,240,198,78,235,96,66,146,22,112,247,8,23,224,43,250,23,240,42,234,24,96,95,219,25,240,175,204,26,96,228,189,27,240,122,180,28,224,23,159,29,112,11,147,30,96,238,130,31,112,74,112,32,224,126,97,33,112,207,82,34,224,3,68,35,240,2,52,36,96,55,37,37,240,183,64,38,96,241,78,50,112,54,68,51,224,106,53,52,0,153,157,80,128,217,84,81,128,180,105,82,170,170,170,170,170,170,170,170,32,0,0,0,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,3,1,2,3,8,0,0,0,92,12,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,109,29,0,224,112,29,0,224,147,29,0,16,156,29,0,224,33,0,0,0,79,80,96,145,224,136,58,198,96,158,88,199,224,34,219,199,224,84,226,202,240,105,173,203,16,75,231,204,144,23,169,205,0,22,194,205,16,176,204,205,0,53,162,206,16,52,146,207,224,227,137,208,16,22,114,209,96,22,78,210,240,223,199,13,112,172,137,14,240,100,170,15,112,26,116,16,240,58,163,34,240,40,60,35,240,25,44,36,240,10,28,37,112,195,60,38,112,39,5,39,240,13,116,66,0,128,60,67,144,231,37,68,16,253,67,69,144,201,5,70,16,223,35,71,16,230,238,71,16,193,3,73,2,0,0,0,255,255,255,255,244,19,70,89,170,170,170,170,170,170,170,170,34,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,140,9,0,0,0,0,0,0,49,2,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,172,29,0,224,206,29,0,224,211,29,0,16,221,29,0,224,52,0,0,0,104,207,70,130,128,140,174,204,112,111,158,205,96,199,140,45,16,28,105,46,0,233,125,47,16,254,72,48,128,5,103,49,16,224,40,50,128,231,70,51,144,252,17,52,128,201,38,53,144,222,241,53,128,171,6,55,144,192,209,55,128,141,230,56,144,162,177,57,128,111,198,58,144,132,145,59,0,140,175,60,144,102,113,61,0,110,143,62,16,131,90,63,0,80,111,64,16,101,58,65,0,50,79,66,16,71,26,67,0,20,47,68,16,41,250,68,0,246,14,70,16,11,218,70,128,18,248,71,144,39,195,72,128,244,215,73,144,9,163,74,128,214,183,75,144,235,130,76,128,184,151,77,144,205,98,78,128,154,119,79,144,175,66,80,0,183,96,81,144,145,34,82,0,153,64,83,16,174,11,84,0,123,32,85,16,144,235,85,0,93,0,87,16,114,203,87,0,63,224,88,16,84,171,89,96,102,238,89,2,0,0,0,255,255,255,255,120,75,123,109,170,170,170,170,170,170,170,170,53,0,0,0,3,4,5,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,170,170,170,12,0,0,0,8,16,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,24,21,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,237,29,0,224,34,30,0,224,39,30,0,16,54,30,0,224,3,0,0,0,59,0,0,0,80,0,0,0,108,2,0,0,80,0,0,0,208,68,137,203,64,80,97,210,80,113,184,254,64,84,168,255,80,83,152,0,64,54,136,1,80,53,120,2,192,82,113,3,208,81,97,4,192,52,81,5,208,51,65,6,192,22,49,7,208,109,141,7,192,248,16,9,80,233,173,9,192,218,240,10,208,217,224,11,64,247,217,12,208,187,192,13,64,217,185,14,80,216,169,15,64,187,153,16,80,186,137,17,64,157,121,18,80,156,105,19,64,127,89,20,80,126,73,21,64,97,57,22,80,96,41,23,192,125,34,24,80,66,9,25,192,95,2,26,192,80,242,26,176,51,226,27,192,50,210,28,176,21,194,29,192,20,178,30,176,247,161,31,64,71,118,32,176,217,129,33,64,41,86,34,48,246,106,35,64,11,54,36,48,216,74,37,64,237,21,38,48,186,42,39,192,9,255,39,48,156,10,41,192,235,222,41,48,126,234,42,192,205,190,43,176,154,211,44,192,175,158,45,176,124,179,46,192,145,126,47,176,94,147,48,64,174,103,49,176,64,115,50,64,144,71,51,176,34,83,52,64,114,39,53,176,4,51,54,64,84,7,55,48,33,28,56,64,54,231,56,48,3,252,57,64,24,199,58,48,229,219,59,192,52,176,60,48,199,187,61,192,22,144,62,48,169,155,63,192,248,111,64,176,197,132,65,192,218,79,66,176,167,100,67,192,188,47,68,176,137,68,69,64,239,243,69,48,166,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,94,90,135,125,170,170,170,170,170,170,170,170,170,170,170,170,82,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,12,0,0,0,226,171,0,0,0,0,0,0,98,90,255,255,0,0,0,0,80,101,255,255,0,0,0,0,80,101,255,255,16,14,0,0,96,115,255,255,0,0,0,0,96,115,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,96,115,255,127,1,0,0,96,216,7,0,112,74,30,0,224,78,30,0,224,159,30,0,224,167,30,0,16,189,30,0,224,3,0,0,0,4,0,0,0,60,0,0,0,107,2,0,0,80,0,0,0,192,54,137,203,48,66,97,210,64,99,184,254,48,70,168,255,64,69,152,0,48,40,136,1,64,39,120,2,176,68,113,3,192,67,97,4,176,38,81,5,192,37,65,6,176,8,49,7,192,95,141,7,176,234,16,9,64,219,173,9,176,204,240,10,192,203,224,11,48,233,217,12,192,173,192,13,48,203,185,14,64,202,169,15,48,173,153,16,64,172,137,17,48,143,121,18,64,142,105,19,48,113,89,20,64,112,73,21,48,83,57,22,64,82,41,23,176,111,34,24,64,52,9,25,176,81,2,26,176,66,242,26,160,37,226,27,176,36,210,28,160,7,194,29,176,6,178,30,160,233,161,31,48,57,118,32,160,203,129,33,48,27,86,34,32,232,106,35,48,253,53,36,32,202,74,37,48,223,21,38,32,172,42,39,176,251,254,39,32,142,10,41,176,221,222,41,32,112,234,42,176,191,190,43,160,140,211,44,176,161,158,45,160,110,179,46,176,131,126,47,160,80,147,48,48,160,103,49,160,50,115,50,48,130,71,51,160,20,83,52,48,100,39,53,160,246,50,54,48,70,7,55,32,19,28,56,48,40,231,56,32,245,251,57,48,10,199,58,32,215,219,59,176,38,176,60,32,185,187,61,176,8,144,62,32,155,155,63,176,234,111,64,160,183,132,65,176,204,79,66,160,153,100,67,176,174,47,68,160,123,68,69,48,225,243,69,32,152,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,72,65,135,125,170,170,170,170,170,170,170,170,82,0,0,0,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,12,0,0,0,248,196,0,0,0,0,0,0,96,115,255,255,0,0,0,0,96,115,255,255,16,14,0,0,120,115,255,255,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,112,129,255,127,1,0,0,96,216,7,0,112,215,30,0,224,219,30,0,224,44,31,0,224,51,31,0,16,73,31,0,224,51,0,0,0,48,116,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,48,121,128,48,160,77,29,49,176,32,87,50,32,106,6,51,48,84,56,52,32,193,248,52,48,31,32,54,160,104,207,54,176,198,246,55,32,133,184,56,48,227,223,57,160,44,143,58,176,255,200,59,160,14,111,60,48,145,196,61,160,240,78,62,48,101,131,80,160,57,32,81,51,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,208,210,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,99,31,0,224,151,31,0,16,165,31,0,224,3,0,0,0,2,0,0,0,64,0,0,0,90,0,0,0,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,48,241,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,9,119,71,32,127,220,71,176,162,250,72,32,97,188,73,2,0,0,0,255,255,255,255,76,168,156,114,170,170,170,170,170,170,170,170,61,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,4,5,4,5,4,3,4,5,4,5,4,170,170,170,12,0,0,0,52,201,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,177,31,0,224,181,31,0,224,242,31,0,224,247,31,0,16,8,32,0,224,3,0,0,0,65,0,0,0,66,0,0,0,95,0,0,0,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,64,255,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,48,241,187,64,192,11,213,64,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,44,175,156,114,170,170,170,170,170,170,170,170,61,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,2,5,4,5,4,3,4,2,4,5,4,170,170,170,12,0,0,0,84,194,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,29,32,0,224,33,32,0,224,94,32,0,224,99,32,0,16,116,32,0,224,3,0,0,0,67,0,0,0,102,0,0,0,199,0,0,0,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,64,255,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,9,119,71,32,127,220,71,176,162,250,72,32,97,188,73,170,170,170,170,60,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,4,3,4,1,4,3,4,3,2,3,4,3,4,3,10,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,137,32,0,224,141,32,0,224,203,32,0,16,219,32,0,224,2,0,0,0,68,0,0,0,144,0,0,0,58,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,192,87,42,39,176,219,226,39,64,138,238,40,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,184,174,156,114,170,170,170,170,59,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,2,3,2,5,4,5,4,3,4,5,4,170,12,0,0,0,200,194,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,237,32,0,224,240,32,0,224,43,33,0,224,47,33,0,16,63,33,0,224,61,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,181,205,39,64,38,38,40,48,241,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,48,241,187,64,192,11,213,64,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,44,176,156,114,170,170,170,170,170,170,170,170,62,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,2,4,5,4,5,4,3,4,2,4,5,4,170,170,12,0,0,0,84,193,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,84,33,0,224,146,33,0,224,151,33,0,16,168,33,0,224,2,0,0,0,70,0,0,0,162,0,0,0,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,64,52,25,39,176,195,205,39,192,103,250,40,176,72,176,41,64,225,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,19,176,64,192,62,86,65,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,4,178,156,114,61,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,2,3,2,3,2,5,4,3,4,2,4,5,4,170,170,170,12,0,0,0,124,191,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,188,33,0,224,191,33,0,224,252,33,0,224,255,33,0,16,16,34,0,224,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,48,241,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,48,241,187,64,192,11,213,64,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,100,178,156,114,170,170,170,170,170,170,170,170,61,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,4,5,4,5,4,3,4,2,4,5,4,170,170,170,12,0,0,0,28,191,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,37,34,0,224,98,34,0,224,103,34,0,16,120,34,0,224,58,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,64,255,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,212,174,156,114,170,170,170,170,59,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,2,5,4,5,4,3,4,5,4,170,12,0,0,0,172,194,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,140,34,0,224,199,34,0,224,203,34,0,16,219,34,0,224,61,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,181,205,39,64,38,38,40,48,241,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,176,159,186,64,64,48,3,65,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,188,177,156,114,170,170,170,170,170,170,170,170,170,170,170,170,62,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,2,4,5,4,5,4,3,4,2,4,5,4,170,170,12,0,0,0,196,191,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,239,34,0,224,45,35,0,224,51,35,0,16,68,35,0,224,61,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,165,253,37,64,52,25,39,176,195,205,39,192,27,71,40,176,198,246,55,176,42,191,56,176,159,186,64,64,48,3,65,176,9,119,71,160,252,147,71,176,82,211,71,64,118,241,72,176,52,179,73,64,88,209,74,2,0,0,0,255,255,255,255,180,175,156,114,170,170,170,170,170,170,170,170,62,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,2,3,2,4,3,4,2,4,5,3,2,3,2,4,170,170,12,0,0,0,204,193,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,88,35,0,224,150,35,0,224,155,35,0,16,172,35,0,224,62,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,64,255,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,48,241,187,64,64,209,203,64,176,9,119,71,32,127,220,71,176,162,250,72,32,97,188,73,2,0,0,0,255,255,255,255,164,174,156,114,170,170,170,170,63,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,2,5,4,5,4,3,4,2,4,5,4,5,4,170,12,0,0,0,220,194,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,192,35,0,224,255,35,0,224,3,36,0,16,20,36,0,224,60,0,0,0,48,143,146,162,64,82,123,182,176,201,26,183,64,143,30,184,48,112,212,184,192,125,23,186,176,163,181,186,64,177,248,187,48,215,150,188,192,228,217,189,176,10,120,190,64,24,187,191,176,143,90,192,64,157,157,193,48,195,59,194,192,208,126,195,176,246,28,196,64,4,96,197,48,42,254,197,192,55,65,199,48,175,224,199,64,148,129,200,176,161,77,202,192,134,238,202,48,255,77,206,192,237,176,206,176,53,41,211,192,100,67,212,48,8,61,244,192,246,159,244,48,108,5,245,64,16,50,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,181,148,35,160,148,16,36,176,242,55,37,160,118,240,37,48,15,33,39,160,88,208,39,48,241,0,41,160,58,176,41,48,211,224,42,32,87,153,43,176,198,246,55,176,42,191,56,48,78,185,64,192,11,213,64,176,9,119,71,32,127,220,71,2,0,0,0,255,255,255,255,136,177,156,114,170,170,170,170,170,170,170,170,170,170,170,170,61,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,5,4,5,4,5,4,5,4,5,4,5,4,3,4,2,4,5,4,170,170,170,12,0,0,0,248,191,255,255,0,0,0,0,208,195,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,40,36,0,224,101,36,0,224,107,36,0,16,124,36,0,224,80,0,0,0,144,245,23,184,64,218,43,5,176,240,252,7,192,116,207,10,176,202,151,11,192,249,177,12,48,254,120,13,64,45,147,14,176,49,90,15,192,96,116,16,176,67,100,17,64,148,85,18,176,200,70,19,64,25,56,20,48,252,39,21,192,76,25,22,176,47,9,23,64,128,250,23,48,99,234,24,192,179,219,25,48,232,204,26,192,56,190,27,176,27,174,28,64,108,159,29,48,79,143,30,192,159,128,31,176,130,112,32,64,211,97,33,176,7,83,34,64,88,68,35,48,59,52,36,64,59,65,37,176,110,21,38,64,191,6,39,48,162,246,39,64,138,238,40,176,72,176,41,192,189,207,42,48,9,185,43,64,171,171,44,176,12,112,45,192,222,140,46,176,238,79,47,64,18,110,48,48,104,54,49,192,46,87,50,176,178,15,51,192,16,55,52,48,207,248,52,192,242,22,54,176,235,225,54,192,212,246,55,176,205,193,56,192,182,214,57,176,175,161,58,64,211,191,59,48,182,175,60,192,144,113,61,48,152,143,62,64,173,90,63,48,122,111,64,64,238,113,65,176,172,51,66,64,208,81,67,176,142,19,68,64,178,49,69,176,112,243,69,192,206,26,71,176,82,211,71,192,176,250,72,176,52,179,73,192,146,218,74,48,59,193,75,192,255,167,76,48,29,161,77,192,225,135,78,48,255,128,79,64,254,112,80,48,108,78,81,64,224,80,82,170,170,170,170,170,170,170,170,80,0,0,0,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,8,0,0,0,240,201,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,192,199,255,127,106,3,0,96,222,7,0,112,144,36,0,224,227,36,0,16,248,36,0,224,61,0,0,0,28,107,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,48,15,33,39,160,227,189,39,48,241,0,41,32,139,148,41,176,13,234,42,160,50,107,43,48,181,192,44,32,196,102,45,48,151,160,46,32,166,70,47,48,121,128,48,160,77,29,49,176,32,87,50,32,106,6,51,48,84,56,52,32,193,248,52,48,31,32,54,160,104,207,54,176,198,246,55,32,133,184,56,48,227,223,57,160,44,143,58,176,255,200,59,160,14,111,60,48,145,196,61,160,240,78,62,176,72,154,78,32,146,73,79,170,170,170,170,170,170,170,170,61,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,228,219,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,11,37,0,224,75,37,0,16,92,37,0,224,63,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,96,113,234,203,240,180,145,216,128,112,0,0,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,144,18,245,58,0,209,182,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,144,116,15,70,128,65,36,71,16,145,248,71,128,35,4,73,16,115,216,73,128,5,228,74,16,85,184,75,240,19,205,76,0,41,152,77,240,245,172,78,0,11,120,79,240,215,140,80,128,39,97,81,240,185,108,82,128,9,65,83,240,155,76,84,128,235,32,85,240,125,44,86,128,205,0,87,112,154,21,88,128,175,224,88,112,124,245,89,128,145,192,90,112,94,213,91,0,174,169,92,112,64,181,93,0,144,137,94,112,34,149,95,0,114,105,96,240,62,126,97,0,84,73,98,240,32,94,99,170,170,170,170,170,170,170,170,170,170,170,170,63,0,0,0,2,4,2,3,2,4,2,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,12,0,0,0,84,157,255,255,0,0,0,0,128,143,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,104,37,0,224,171,37,0,16,188,37,0,224,15,0,0,0,101,169,64,146,208,203,227,203,224,130,148,204,208,34,214,205,224,77,124,206,208,166,155,207,96,106,101,208,224,242,0,14,208,140,148,14,224,0,151,15,208,110,116,16,224,226,118,17,208,80,84,18,96,255,95,19,80,62,48,20,170,170,170,170,15,0,0,0,1,3,1,3,1,2,1,3,1,3,1,3,1,3,1,170,8,0,0,0,27,200,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,8,7,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,206,37,0,224,223,37,0,16,228,37,0,224,29,0,0,0,116,116,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,170,170,170,170,170,170,170,170,170,170,170,170,29,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,140,210,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,242,37,0,224,19,38,0,16,28,38,0,224,97,0,0,0,176,217,94,147,224,59,159,159,216,81,69,160,224,29,127,161,88,110,46,162,224,255,94,163,88,80,14,164,224,225,62,165,88,50,238,165,96,254,39,167,88,20,206,167,96,224,7,169,88,246,173,169,96,194,231,170,216,18,151,171,96,164,199,172,216,244,118,173,96,134,167,174,216,214,86,175,96,104,135,176,216,184,54,177,224,132,112,178,216,154,22,179,224,102,80,180,216,124,246,180,224,72,48,182,88,153,223,182,224,42,16,184,88,123,191,184,224,12,240,185,88,93,159,186,96,41,217,187,88,63,127,188,96,11,185,189,88,33,95,190,96,237,152,191,88,3,63,192,96,207,120,193,216,31,40,194,96,177,88,195,216,1,8,196,96,147,56,197,216,227,231,197,224,175,33,199,216,197,199,199,224,145,1,201,216,167,167,201,224,115,225,202,88,196,144,203,224,34,64,204,80,113,198,210,96,250,41,214,216,74,217,214,96,220,9,216,216,44,185,216,96,190,233,217,216,14,153,218,224,218,210,219,216,240,120,220,224,188,178,221,216,210,88,222,224,158,146,223,88,239,65,224,224,128,114,225,88,209,33,226,224,98,82,227,88,179,1,228,224,68,50,229,88,149,225,229,96,97,27,231,88,119,193,231,96,67,251,232,88,89,161,233,96,37,219,234,216,117,138,235,96,7,187,236,216,87,106,237,96,233,154,238,216,57,74,239,224,5,132,240,216,27,42,241,224,231,99,242,216,253,9,243,224,201,67,244,216,223,233,244,224,171,35,246,88,252,210,246,224,141,3,248,88,222,178,248,224,111,227,249,88,192,146,250,96,140,204,251,88,162,114,252,96,219,98,7,80,208,185,7,96,113,97,24,80,55,171,24,170,170,170,170,97,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,170,170,170,8,0,0,0,80,173,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,8,7,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,40,38,0,224,139,38,0,16,165,38,0,224,33,0,0,0,224,127,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,192,212,246,55,48,147,184,56,64,241,223,57,176,29,233,57,170,170,170,170,170,170,170,170,33,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,32,199,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,179,38,0,224,215,38,0,16,225,38,0,224,3,0,0,0,112,85,88,152,80,115,3,42,64,137,116,43,170,170,170,170,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,144,186,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,3,0,48,0,66,0,54,0,237,38,0,224,243,38,0,16,245,38,0,224,89,0,0,0,160,72,166,158,144,21,187,159,160,42,134,160,144,247,154,161,32,76,70,168,144,12,137,203,0,24,97,210,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,31,178,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,2,0,0,0,255,255,255,255,192,26,4,94,170,170,170,170,90,0,0,0,1,2,1,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,15,147,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,144,157,255,127,1,0,0,96,216,7,0,112,1,39,0,224,91,39,0,224,95,39,0,16,119,39,0,224,76,0,0,0,128,205,242,161,144,12,137,203,0,24,97,210,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,221,32,8,128,192,16,9,144,191,0,10,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,0,254,230,56,240,202,251,57,80,233,4,58,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,170,170,170,170,76,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,5,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,12,0,0,0,0,0,0,0,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,144,157,255,127,163,3,0,96,216,7,0,112,141,39,0,224,219,39,0,16,239,39,0,224,91,0,0,0,52,122,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,192,30,88,35,48,126,226,35,192,0,56,37,48,213,212,37,64,29,33,39,176,241,189,39,64,255,0,41,48,153,148,41,192,27,234,42,176,64,107,43,64,195,192,44,48,210,102,45,64,165,160,46,48,180,70,47,64,135,128,48,176,91,29,49,192,46,87,50,48,120,6,51,64,98,56,52,48,207,248,52,64,45,32,54,176,118,207,54,192,212,246,55,48,147,184,56,64,241,223,57,176,58,143,58,192,13,201,59,176,28,111,60,64,159,196,61,176,254,78,62,64,12,146,63,176,224,46,64,64,6,135,65,48,253,23,66,64,208,81,67,48,223,247,67,192,97,77,69,176,251,224,69,64,148,17,71,48,163,183,71,192,176,250,72,48,133,151,73,192,146,218,74,176,161,128,75,192,116,186,76,176,131,96,77,192,86,154,78,48,160,73,79,64,115,131,80,176,71,32,81,64,85,99,82,176,41,0,83,64,55,67,84,48,70,233,84,64,25,35,86,48,40,201,86,64,251,2,88,48,10,169,88,64,221,226,89,48,236,136,90,192,110,222,91,48,206,104,92,170,170,170,170,91,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,204,204,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,6,40,0,224,99,40,0,16,123,40,0,224,42,0,0,0,96,218,182,165,96,213,134,22,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,0,196,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,128,4,245,58,240,194,182,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,128,102,15,70,112,51,36,71,0,131,248,71,112,21,4,73,0,101,216,73,112,247,227,74,0,71,184,75,240,19,205,76,0,41,152,77,240,245,172,78,0,11,120,79,240,215,140,80,128,39,97,81,240,185,108,82,128,9,65,83,240,155,76,84,0,221,205,84,170,170,170,170,42,0,0,0,1,3,4,3,4,3,4,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,10,0,0,0,168,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,3,0,48,0,66,0,54,0,135,40,0,224,179,40,0,16,191,40,0,224,4,0,0,0,60,44,30,147,72,236,152,246,112,146,91,71,112,169,37,87,2,0,0,0,255,255,255,255,64,26,135,105,5,0,0,0,2,1,3,1,3,170,170,170,8,0,0,0,64,193,255,255,0,0,0,0,184,192,255,255,0,0,0,0,68,193,255,255,0,0,0,0,192,199,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,207,40,0,224,212,40,0,224,215,40,0,16,218,40,0,224,2,0,0,0,144,43,244,145,192,53,195,251,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,240,206,255,255,0,0,0,0,192,199,255,255,0,0,0,0,208,213,255,255,0,0,0,0,3,0,48,0,66,0,54,0,234,40,0,224,239,40,0,16,241,40,0,224,3,0,0,0,98,0,0,0,127,1,0,0,110,2,0,0,174,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,0,116,203,162,240,247,131,163,128,210,69,164,240,217,99,165,0,217,83,166,112,151,21,167,0,187,51,168,240,179,254,168,0,157,19,170,240,149,222,170,0,127,243,171,240,119,190,172,0,97,211,173,240,89,158,174,0,67,179,175,240,59,126,176,128,95,156,177,112,88,103,178,128,65,124,179,112,58,71,180,128,35,92,181,112,28,39,182,128,5,60,183,112,254,6,184,128,231,27,185,112,224,230,185,0,4,5,187,112,194,198,187,0,230,228,188,240,222,175,189,0,200,196,190,240,192,143,191,0,214,90,192,112,60,176,193,0,140,132,194,240,132,79,195,0,110,100,196,240,102,47,197,128,138,77,198,240,72,15,199,128,108,45,200,112,101,248,200,128,78,13,202,112,71,216,202,128,254,136,203,240,9,97,210,0,243,117,211,240,235,64,212,0,213,85,213,240,205,32,214,0,183,53,215,240,175,0,216,0,153,21,217,240,145,224,217,128,181,254,218,240,115,192,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,240,60,87,229,0,60,71,230,240,30,55,231,0,30,39,232,240,0,23,233,0,0,7,234,240,226,246,234,0,226,230,235,240,196,214,236,0,196,198,237,112,225,191,238,128,224,175,239,112,195,159,240,128,194,143,241,112,165,127,242,128,164,111,243,112,135,95,244,128,134,79,245,112,105,63,246,128,104,47,247,240,133,40,248,128,74,15,249,240,103,8,250,0,103,248,250,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,160,254,3,94,175,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,8,0,0,0,212,173,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,171,255,127,1,0,0,96,216,7,0,112,253,40,0,224,1,41,0,224,176,41,0,224,179,41,0,16,224,41,0,224,60,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,144,18,245,58,0,209,182,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,144,116,15,70,128,65,36,71,16,145,248,71,128,35,4,73,16,115,216,73,128,5,228,74,16,85,184,75,0,34,205,76,16,55,152,77,0,4,173,78,16,25,120,79,0,230,140,80,144,53,97,81,0,200,108,82,144,23,65,83,0,170,76,84,144,249,32,85,0,140,44,86,144,219,0,87,128,168,21,88,144,189,224,88,128,138,245,89,144,159,192,90,128,108,213,91,16,188,169,92,128,78,181,93,16,158,137,94,128,48,149,95,16,128,105,96,0,77,126,97,16,98,73,98,0,47,94,99,60,0,0,0,1,3,1,2,1,3,4,3,4,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,10,0,0,0,140,156,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,246,41,0,224,51,42,0,16,67,42,0,224,63,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,144,18,245,58,0,209,182,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,144,116,15,70,128,65,36,71,16,145,248,71,128,35,4,73,16,115,216,73,128,5,228,74,144,165,156,75,128,92,214,76,144,135,124,77,128,62,182,78,144,105,92,79,128,32,150,80,144,75,60,81,128,2,118,82,144,45,28,83,128,228,85,84,144,15,252,84,128,198,53,86,16,44,229,86,0,227,30,88,16,14,197,88,0,197,254,89,16,240,164,90,0,167,222,91,16,210,132,92,0,137,190,93,16,180,100,94,0,107,158,95,144,208,77,96,128,135,135,97,144,178,45,98,0,47,94,99,96,241,134,99,144,148,13,100,128,75,71,101,63,0,0,0,1,3,1,2,1,3,4,3,4,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,1,2,1,170,10,0,0,0,44,156,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,144,157,255,127,1,0,0,96,232,7,0,112,83,42,0,224,147,42,0,16,164,42,0,224,9,0,0,0,77,22,232,163,96,73,54,17,80,110,183,17,96,43,22,19,80,80,151,19,96,224,151,39,208,182,110,40,96,194,119,41,208,217,194,41,9,0,0,0,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,51,177,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,185,42,0,224,195,42,0,16,199,42,0,224,89,0,0,0,148,123,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,192,30,88,35,48,126,226,35,192,0,56,37,48,213,212,37,64,29,33,39,176,241,189,39,64,255,0,41,48,153,148,41,192,27,234,42,176,64,107,43,64,195,192,44,48,210,102,45,64,165,160,46,48,180,70,47,64,135,128,48,176,91,29,49,192,46,87,50,48,120,6,51,64,98,56,52,48,207,248,52,64,45,32,54,176,118,207,54,192,212,246,55,48,147,184,56,64,241,223,57,176,58,143,58,192,13,201,59,176,28,111,60,64,159,196,61,176,254,78,62,64,6,135,65,48,253,23,66,64,208,81,67,48,223,247,67,192,97,77,69,176,251,224,69,64,148,17,71,48,163,183,71,192,176,250,72,48,133,151,73,192,146,218,74,176,161,128,75,192,116,186,76,176,131,96,77,192,86,154,78,48,160,73,79,64,115,131,80,176,71,32,81,64,85,99,82,176,41,0,83,64,55,67,84,48,70,233,84,64,25,35,86,48,40,201,86,64,251,2,88,48,10,169,88,64,221,226,89,48,236,136,90,192,110,222,91,48,206,104,92,170,170,170,170,170,170,170,170,89,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,108,203,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,211,42,0,224,47,43,0,16,71,43,0,224,34,0,0,0,0,73,128,155,80,124,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,48,78,231,48,170,170,170,170,34,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,8,0,0,0,128,238,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,0,0,0,0,0,0,0,0,3,0,48,0,66,0,54,0,83,43,0,224,119,43,0,16,129,43,0,224,91,0,0,0,176,203,184,158,160,35,187,159,176,12,208,160,128,210,162,161,176,40,137,203,32,52,97,210,144,118,47,247,16,162,40,248,144,236,48,7,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,32,181,211,71,16,108,13,73,32,151,179,73,16,78,237,74,160,179,156,75,144,106,214,76,160,149,124,77,144,76,182,78,160,119,92,79,144,46,150,80,160,89,60,81,144,16,118,82,160,59,28,83,144,242,85,84,160,29,252,84,144,212,53,86,32,58,229,86,16,241,30,88,32,28,197,88,16,211,254,89,32,254,164,90,16,181,222,91,32,224,132,92,16,151,190,93,32,194,100,94,240,92,158,95,2,0,0,0,255,255,255,255,180,142,134,125,170,170,170,170,92,0,0,0,1,2,1,2,1,2,1,3,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,6,14,0,0,0,76,125,255,255,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,112,129,255,255,32,28,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,143,43,0,224,235,43,0,224,239,43,0,16,7,44,0,224,56,0,0,0,160,189,184,158,144,21,187,159,160,26,137,203,16,38,97,210,32,241,85,213,16,234,32,214,32,211,53,215,16,204,0,216,32,181,21,217,16,174,224,217,160,209,254,218,16,144,192,219,160,179,222,220,144,172,169,221,160,149,190,222,144,142,137,223,160,119,158,224,144,112,105,225,160,89,126,226,144,82,73,227,160,59,94,228,144,52,41,229,32,88,71,230,16,81,18,231,32,58,39,232,16,51,242,232,32,28,7,234,16,21,210,234,32,254,230,235,16,247,177,236,32,224,198,237,16,217,145,238,160,252,175,239,16,187,113,240,160,222,143,241,144,193,127,242,160,192,111,243,144,163,95,244,160,162,79,245,144,133,63,246,160,132,47,247,16,162,40,248,160,102,15,249,16,132,8,250,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,240,1,5,2,0,0,0,255,255,255,255,56,116,61,94,170,170,170,170,170,170,170,170,57,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,170,170,170,8,0,0,0,72,143,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,29,44,0,224,86,44,0,224,91,44,0,16,107,44,0,224,4,0,0,0,110,0,0,0,206,0,0,0,35,2,0,0,116,2,0,0,96,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,254,101,162,0,6,132,163,144,224,69,164,128,166,143,164,144,12,137,203,0,24,97,210,144,118,47,247,0,148,40,248,144,88,15,249,0,118,8,250,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,2,0,0,0,255,255,255,255,176,12,4,94,170,170,170,170,170,170,170,170,170,170,170,170,97,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,148,157,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,144,157,255,127,1,0,0,96,216,7,0,112,123,44,0,224,128,44,0,224,225,44,0,224,231,44,0,16,1,45,0,224,2,0,0,0,111,0,0,0,115,2,0,0,80,0,0,0,91,34,189,133,0,148,60,153,112,240,136,203,224,251,96,210,240,168,53,215,224,161,0,216,140,144,51,251,224,59,232,251,240,58,216,252,224,29,200,253,112,223,64,6,96,194,48,7,112,25,141,7,96,164,16,9,112,163,0,10,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,170,170,170,170,170,170,170,170,80,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,8,0,0,0,37,178,255,255,0,0,0,0,160,171,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,176,185,255,127,1,0,0,96,216,7,0,112,21,45,0,224,24,45,0,224,107,45,0,16,128,45,0,224,3,0,0,0,113,0,0,0,226,0,0,0,134,1,0,0,89,0,0,0,224,206,222,136,144,175,184,158,128,7,187,159,144,145,152,160,128,133,210,160,144,232,138,162,0,6,132,163,144,202,106,164,128,195,53,165,16,231,83,166,128,165,21,167,16,201,51,168,0,194,254,168,144,12,137,203,0,24,97,210,16,227,85,213,0,220,32,214,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,221,32,8,128,192,16,9,144,191,0,10,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,170,170,170,170,89,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,160,149,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,144,157,255,127,163,3,0,96,216,7,0,112,148,45,0,224,152,45,0,224,243,45,0,16,11,46,0,224,33,0,0,0,128,136,170,150,0,102,15,184,192,92,253,184,80,80,241,185,64,144,222,186,80,202,56,218,80,22,236,218,208,253,25,220,64,117,185,220,80,49,251,221,64,250,155,222,80,182,221,223,64,79,84,224,208,27,152,244,64,122,5,245,80,128,192,246,192,58,14,247,80,72,81,248,64,225,199,248,208,238,10,250,192,20,169,250,80,34,236,251,192,153,139,252,80,170,201,29,192,243,120,30,208,81,160,31,192,235,51,32,80,133,129,33,192,228,11,34,80,209,192,44,64,224,102,45,80,127,96,72,192,4,127,82,33,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,170,170,170,8,0,0,0,128,190,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,192,199,255,255,0,0,0,0,3,0,48,0,66,0,54,0,29,46,0,224,63,46,0,16,73,46,0,224,5,0,0,0,32,166,213,163,224,220,154,32,80,155,92,33,224,190,122,34,80,125,60,35,170,170,170,170,170,170,170,170,5,0,0,0,1,2,1,2,1,170,170,170,6,0,0,0,96,172,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,87,46,0,224,95,46,0,16,98,46,0,224,141,0,0,0,160,189,184,158,144,21,187,159,160,26,137,203,16,38,97,210,32,241,85,213,16,234,32,214,32,211,53,215,16,204,0,216,32,181,21,217,16,174,224,217,160,209,254,218,16,144,192,219,160,179,222,220,144,172,169,221,160,149,190,222,144,142,137,223,160,119,158,224,144,112,105,225,160,89,126,226,144,82,73,227,160,59,94,228,144,52,41,229,32,88,71,230,16,81,18,231,32,58,39,232,16,51,242,232,32,28,7,234,16,21,210,234,32,254,230,235,16,247,177,236,32,224,198,237,16,217,145,238,160,252,175,239,16,187,113,240,160,222,143,241,144,193,127,242,160,192,111,243,144,163,95,244,160,162,79,245,144,133,63,246,160,132,47,247,16,162,40,248,160,102,15,249,16,132,8,250,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,235,32,8,144,206,16,9,160,205,0,10,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,32,181,211,71,16,108,13,73,32,151,179,73,16,78,237,74,160,179,156,75,144,106,214,76,160,149,124,77,144,76,182,78,160,119,92,79,144,46,150,80,160,89,60,81,144,16,118,82,160,59,28,83,144,242,85,84,160,29,252,84,2,0,0,0,255,255,255,255,135,118,61,94,142,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,8,0,0,0,249,140,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,110,46,0,224,252,46,0,224,255,46,0,16,36,47,0,224,39,0,0,0,24,107,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,176,198,246,55,32,133,184,56,48,227,223,57,32,74,242,57,176,255,200,59,160,14,111,60,170,170,170,170,170,170,170,170,170,170,170,170,39,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,232,219,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,52,47,0,224,95,47,0,16,106,47,0,224,79,0,0,0,52,168,241,128,96,133,184,158,80,221,186,159,96,226,136,203,208,237,96,210,96,63,158,224,80,56,105,225,96,239,96,4,80,210,80,5,96,209,64,6,80,180,48,7,96,179,32,8,80,150,16,9,96,149,0,10,80,120,240,10,96,119,224,11,208,148,217,12,96,89,192,13,208,118,185,14,224,117,169,15,208,88,153,16,224,87,137,17,208,58,121,18,224,57,105,19,208,28,89,20,224,27,73,21,208,254,56,22,224,253,40,23,80,27,34,24,224,223,8,25,80,253,1,26,96,252,241,26,80,223,225,27,96,222,209,28,80,193,193,29,96,192,177,30,80,163,161,31,224,242,117,32,80,133,129,33,224,212,85,34,208,161,106,35,224,182,53,36,208,131,74,37,224,152,21,38,208,101,42,39,96,181,254,39,208,71,10,41,96,151,222,41,208,41,234,42,96,121,190,43,80,70,211,44,96,91,158,45,80,40,179,46,96,61,126,47,80,10,147,48,224,89,103,49,80,236,114,50,224,59,71,51,80,206,82,52,224,29,39,53,80,176,50,54,224,255,6,55,208,204,27,56,224,225,230,56,208,174,251,57,224,195,198,58,208,144,219,59,96,224,175,60,208,114,187,61,96,194,143,62,208,84,155,63,96,164,111,64,80,113,132,65,96,134,79,66,80,83,100,67,96,104,47,68,80,53,68,69,224,154,243,69,208,81,45,71,170,170,170,170,79,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,204,199,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,192,199,255,127,163,3,0,96,216,7,0,112,118,47,0,224,199,47,0,16,220,47,0,224,152,0,0,0,140,126,184,158,124,214,186,159,108,77,158,190,56,49,184,192,168,239,121,193,56,19,152,194,168,209,89,195,56,245,119,196,168,179,57,197,184,17,97,198,168,149,25,199,184,243,64,200,40,178,2,201,184,213,32,202,40,148,226,202,184,183,0,204,200,230,96,210,216,68,136,211,72,3,74,212,216,38,104,213,72,229,41,214,216,8,72,215,72,199,9,216,216,234,39,217,72,169,233,217,88,7,17,219,200,197,210,219,88,116,222,220,72,109,169,221,88,86,190,222,72,79,137,223,88,56,158,224,72,49,105,225,88,26,126,226,72,19,73,227,88,252,93,228,72,245,40,229,216,24,71,230,200,17,18,231,216,250,38,232,200,243,241,232,216,220,6,234,200,213,209,234,216,190,230,235,200,183,177,236,216,160,198,237,72,190,191,238,88,189,175,239,72,160,159,240,88,159,143,241,72,130,127,242,88,129,111,243,72,100,95,244,88,99,79,245,72,70,63,246,88,69,47,247,200,98,40,248,88,107,218,248,96,46,15,249,208,75,8,250,224,74,248,250,208,45,232,251,224,44,216,252,208,15,200,253,224,14,184,254,208,241,167,255,224,240,151,0,208,211,135,1,224,210,119,2,80,240,112,3,96,239,96,4,80,210,80,5,96,209,64,6,80,180,48,7,96,179,32,8,80,150,16,9,96,149,0,10,80,120,240,10,96,119,224,11,208,148,217,12,96,89,192,13,208,118,185,14,224,117,169,15,208,88,153,16,224,87,137,17,208,58,121,18,224,57,105,19,208,28,89,20,224,27,73,21,208,254,56,22,224,253,40,23,80,27,34,24,224,223,8,25,80,253,1,26,96,252,241,26,80,223,225,27,96,222,209,28,80,193,193,29,96,192,177,30,80,163,161,31,252,214,117,32,108,105,129,33,252,184,85,34,220,119,106,35,252,154,53,36,236,103,74,37,252,124,21,38,236,73,42,39,124,153,254,39,236,43,10,41,124,123,222,41,236,13,234,42,124,93,190,43,108,42,211,44,124,63,158,45,108,12,179,46,124,33,126,47,108,238,146,48,252,61,103,49,108,208,114,50,252,31,71,51,108,178,82,52,252,1,39,53,108,148,50,54,252,227,6,55,236,176,27,56,252,197,230,56,236,146,251,57,252,167,198,58,236,116,219,59,124,196,175,60,236,86,187,61,124,166,143,62,236,56,155,63,124,136,111,64,108,85,132,65,124,106,79,66,108,55,100,67,124,76,47,68,108,25,68,69,252,126,243,69,236,53,45,71,252,96,211,71,236,23,13,73,252,66,179,73,236,249,236,74,124,95,156,75,108,22,214,76,124,65,124,77,80,20,182,78,96,63,92,79,80,246,149,80,2,0,0,0,255,255,255,255,36,60,61,94,170,170,170,170,170,170,170,170,153,0,0,0,4,5,4,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,16,0,0,0,92,199,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,192,199,255,255,32,28,0,0,148,206,255,255,0,0,0,0,148,206,255,255,16,14,0,0,200,206,255,255,0,0,0,0,200,206,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,192,199,255,127,163,3,0,96,221,7,0,112,237,47,0,224,134,48,0,224,139,48,0,16,179,48,0,224,76,0,0,0,254,180,15,147,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,240,138,211,71,224,65,13,73,240,108,179,73,224,35,237,74,112,137,156,75,96,64,214,76,112,107,124,77,96,34,182,78,112,77,92,79,96,4,150,80,112,47,60,81,96,230,117,82,112,17,28,83,96,200,85,84,112,243,251,84,240,211,164,90,224,138,222,91,2,0,0,0,255,255,255,255,48,30,135,105,77,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,3,2,170,170,170,10,0,0,0,80,189,255,255,0,0,0,0,2,184,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,192,199,255,255,0,0,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,227,7,0,112,207,48,0,224,28,49,0,224,31,49,0,16,52,49,0,224,9,0,0,0,220,234,157,159,96,172,85,7,208,150,205,7,96,120,44,25,80,228,207,25,224,238,234,39,208,92,200,40,96,82,84,68,80,75,31,69,170,170,170,170,170,170,170,170,170,170,170,170,9,0,0,0,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,36,171,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,74,49,0,224,87,49,0,16,91,49,0,224,3,0,0,0,24,66,164,182,208,252,22,43,64,230,113,43,2,0,0,0,255,255,255,255,88,38,135,105,170,170,170,170,4,0,0,0,1,2,3,2,8,0,0,0,40,181,255,255,0,0,0,0,104,182,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,103,49,0,224,107,49,0,224,111,49,0,16,113,49,0,224,4,0,0,0,135,15,29,146,64,123,217,152,188,5,127,10,192,64,213,41,170,170,170,170,4,0,0,0,1,2,3,1,8,0,0,0,121,201,255,255,0,0,0,0,192,199,255,255,0,0,0,0,68,203,255,255,0,0,0,0,208,213,255,255,0,0,0,0,3,0,48,0,66,0,54,0,129,49,0,224,135,49,0,16,137,49,0,224,2,0,0,0,129,0,0,0,130,1,0,0,167,0,0,0,160,171,241,128,192,222,228,154,48,19,214,155,96,133,184,158,80,221,186,159,64,23,157,162,48,177,48,163,64,86,122,164,48,31,27,165,192,160,83,166,176,82,252,166,64,189,60,168,176,52,220,168,64,159,28,170,48,58,205,170,64,129,252,171,48,145,191,172,64,216,238,173,48,254,140,174,64,69,188,175,48,85,127,176,64,156,174,177,176,112,75,178,64,126,142,179,48,187,36,180,64,96,110,181,176,192,21,182,64,66,78,183,176,23,8,184,192,233,36,185,176,249,231,185,192,203,4,187,48,22,209,187,64,93,0,189,176,49,157,189,64,180,242,190,48,218,144,191,192,231,211,192,48,71,94,193,64,142,141,194,48,158,80,195,64,112,109,196,48,128,48,197,64,60,114,198,48,98,16,199,192,110,54,200,176,126,249,200,192,80,22,202,176,96,217,202,96,226,136,203,208,237,96,210,224,214,117,211,208,207,64,212,224,184,85,213,208,177,32,214,224,154,53,215,208,147,0,216,224,124,21,217,208,117,224,217,96,123,222,220,80,116,169,221,96,93,190,222,80,86,137,223,96,63,158,224,80,56,105,225,96,33,126,226,80,26,73,227,224,31,71,230,208,24,18,231,224,1,39,232,208,250,241,232,224,227,6,234,208,220,209,234,224,197,230,235,208,190,177,236,96,166,143,241,80,137,127,242,96,136,111,243,80,107,95,244,96,106,79,245,80,77,63,246,96,76,47,247,208,105,40,248,96,46,15,249,208,75,8,250,224,74,248,250,208,45,232,251,224,44,216,252,208,15,200,253,224,14,184,254,208,241,167,255,224,240,151,0,208,211,135,1,224,210,119,2,80,240,112,3,96,239,96,4,80,210,80,5,96,209,64,6,80,180,48,7,96,179,32,8,80,150,16,9,96,149,0,10,80,120,240,10,96,119,224,11,208,148,217,12,96,89,192,13,208,118,185,14,224,117,169,15,208,88,153,16,224,87,137,17,208,58,121,18,224,57,105,19,208,28,89,20,224,27,73,21,208,254,56,22,224,253,40,23,80,27,34,24,224,223,8,25,80,253,1,26,96,252,241,26,80,223,225,27,96,222,209,28,80,193,193,29,96,192,177,30,80,163,161,31,224,242,117,32,80,133,129,33,224,212,85,34,208,161,106,35,224,182,53,36,208,131,74,37,224,152,21,38,208,101,42,39,96,181,254,39,208,71,10,41,96,151,222,41,208,41,234,42,96,121,190,43,80,70,211,44,96,91,158,45,80,40,179,46,96,61,126,47,80,10,147,48,224,89,103,49,80,236,114,50,224,59,71,51,80,206,82,52,224,29,39,53,80,176,50,54,224,255,6,55,208,204,27,56,224,225,230,56,208,174,251,57,224,195,198,58,208,144,219,59,96,224,175,60,208,114,187,61,96,194,143,62,208,84,155,63,96,164,111,64,80,113,132,65,96,134,79,66,80,83,100,67,96,104,47,68,80,53,68,69,224,154,243,69,208,81,45,71,170,170,170,170,167,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,96,196,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,192,199,255,127,163,3,0,96,216,7,0,112,151,49,0,224,154,49,0,224,67,50,0,16,110,50,0,224,2,0,0,0,130,0,0,0,141,1,0,0,107,0,0,0,128,194,98,172,80,148,211,177,64,93,116,178,208,102,91,200,64,81,211,200,208,72,59,202,192,109,188,202,80,101,36,204,192,79,156,204,80,11,196,209,192,245,59,210,80,237,163,211,192,215,27,212,208,5,96,247,64,125,255,247,208,68,61,249,192,83,227,249,208,59,219,250,64,134,167,251,208,169,197,252,64,104,135,253,208,0,184,254,192,227,167,255,208,226,151,0,192,197,135,1,208,196,119,2,64,226,112,3,80,225,96,4,192,20,53,5,80,195,64,6,64,72,22,7,80,165,32,8,192,123,247,8,80,135,0,10,64,106,240,10,80,105,224,11,192,134,217,12,80,75,192,13,192,104,185,14,80,162,178,15,64,155,125,16,208,234,81,17,192,183,102,18,208,204,49,19,192,153,70,20,208,130,91,21,192,123,38,22,208,100,59,23,192,93,6,24,208,70,27,25,192,63,230,25,208,40,251,26,64,92,207,27,208,10,219,28,64,62,175,29,80,83,122,30,64,32,143,31,80,53,90,32,64,2,111,33,208,81,67,34,64,228,78,35,208,51,35,36,64,198,46,37,208,138,21,38,192,226,23,39,80,167,254,39,208,210,247,40,80,137,222,41,208,180,215,42,80,107,190,43,208,150,183,44,80,77,158,45,208,120,151,46,80,47,126,47,208,90,119,48,208,75,103,49,208,60,87,50,208,45,71,51,80,89,64,52,80,213,29,53,80,176,50,54,80,183,253,54,208,204,27,56,208,211,230,56,208,174,251,57,208,181,198,58,208,144,219,59,80,210,175,60,208,114,187,61,80,180,143,62,208,84,155,63,208,91,102,64,80,53,68,69,208,140,243,69,80,23,36,71,80,169,220,71,80,249,3,73,208,80,179,73,80,219,227,74,80,109,156,75,208,247,204,76,208,137,133,77,208,78,191,78,208,224,119,79,80,246,149,80,80,19,60,81,80,216,117,82,2,0,0,0,255,255,255,255,184,40,135,105,170,170,170,170,108,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,8,0,0,0,200,178,255,255,0,0,0,0,192,178,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,176,185,255,127,96,3,0,96,222,7,0,112,128,50,0,224,131,50,0,224,239,50,0,224,243,50,0,16,15,51,0,224,15,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,96,113,234,203,240,180,145,216,128,112,0,0,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,170,170,170,170,170,170,170,170,15,0,0,0,2,4,2,3,2,4,2,1,2,3,2,3,2,3,2,170,10,0,0,0,248,151,255,255,0,0,0,0,128,143,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,3,0,48,0,66,0,54,0,37,51,0,224,55,51,0,16,60,51,0,224,5,0,0,0,118,0,0,0,132,0,0,0,140,0,0,0,3,2,0,0,111,2,0,0,37,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,34,87,202,112,71,216,202,128,254,136,203,240,9,97,210,0,243,117,211,240,235,64,212,0,213,85,213,240,205,32,214,0,183,53,215,240,175,0,216,0,153,21,217,240,145,224,217,128,181,254,218,240,115,192,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,240,22,242,232,0,0,7,234,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,160,254,3,94,38,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,58,175,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,176,185,255,127,1,0,0,96,216,7,0,112,76,51,0,224,82,51,0,224,120,51,0,224,123,51,0,16,134,51,0,224,3,0,0,0,133,0,0,0,148,0,0,0,114,2,0,0,92,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,213,85,213,240,205,32,214,0,183,53,215,240,175,0,216,0,153,21,217,240,145,224,217,128,181,254,218,240,115,192,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,240,60,87,229,0,60,71,230,240,30,55,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,196,214,236,0,196,198,237,112,225,191,238,128,224,175,239,112,195,159,240,128,194,143,241,112,135,95,244,0,103,248,250,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,112,118,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,93,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,1,170,170,170,8,0,0,0,202,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,171,255,127,1,0,0,96,216,7,0,112,158,51,0,224,162,51,0,224,255,51,0,224,3,52,0,16,28,52,0,224,41,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,128,151,222,220,112,144,169,221,128,61,126,226,112,54,73,227,128,31,94,228,112,24,41,229,0,60,71,230,240,52,18,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,218,177,236,0,196,198,237,240,188,145,238,128,224,175,239,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,25,141,7,112,178,16,9,240,148,173,9,96,134,240,10,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,160,254,3,94,42,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,4,3,4,3,4,3,2,3,4,3,4,3,4,3,170,170,10,0,0,0,13,175,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,216,7,0,112,50,52,0,224,92,52,0,224,95,52,0,16,107,52,0,224,56,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,224,61,103,228,112,24,41,229,0,60,71,230,240,52,18,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,218,177,236,0,196,198,237,240,188,145,238,128,224,175,239,112,195,159,240,128,194,143,241,112,165,127,242,128,164,111,243,112,135,95,244,128,134,79,245,112,105,63,246,128,104,47,247,240,103,8,250,0,103,248,250,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,112,118,47,68,112,81,68,69,0,183,243,69,240,109,45,71,240,138,211,71,224,65,13,73,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,57,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,3,4,3,170,170,170,10,0,0,0,45,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,217,7,0,112,129,52,0,224,186,52,0,224,191,52,0,16,207,52,0,224,36,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,224,61,103,228,112,24,41,229,0,60,71,230,240,52,18,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,218,177,236,0,196,198,237,240,188,145,238,128,224,175,239,112,195,159,240,128,194,143,241,112,165,127,242,128,164,111,243,112,135,95,244,128,134,79,245,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,224,255,167,255,240,254,151,0,224,225,135,1,112,118,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,37,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,4,3,4,3,2,1,2,1,170,170,170,10,0,0,0,169,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,171,255,127,1,0,0,96,216,7,0,112,229,52,0,224,10,53,0,224,15,53,0,16,26,53,0,224,19,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,128,61,126,226,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,160,254,3,94,20,0,0,0,1,2,1,2,1,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,10,0,0,0,64,176,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,216,7,0,112,48,53,0,224,68,53,0,224,71,53,0,16,77,53,0,224,41,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,243,117,211,240,235,64,212,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,224,61,103,228,112,24,41,229,0,60,71,230,240,52,18,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,218,177,236,0,196,198,237,112,225,191,238,128,224,175,239,240,158,113,240,128,194,143,241,112,165,127,242,128,164,111,243,112,135,95,244,128,134,79,245,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,112,118,47,68,112,81,68,69,0,183,243,69,240,109,45,71,240,138,211,71,224,65,13,73,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,170,170,170,170,42,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,2,1,2,3,4,3,170,170,10,0,0,0,241,173,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,217,7,0,112,99,53,0,224,141,53,0,224,147,53,0,16,159,53,0,224,47,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,243,117,211,240,235,64,212,0,213,85,213,240,205,32,214,0,183,53,215,240,175,0,216,0,153,21,217,240,145,224,217,128,181,254,218,240,115,192,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,240,60,87,229,0,60,71,230,240,30,55,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,218,177,236,0,196,198,237,240,188,145,238,128,224,175,239,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,112,118,47,68,112,81,68,69,0,183,243,69,224,95,45,71,240,138,211,71,224,65,13,73,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,170,170,170,170,48,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,2,1,4,3,4,3,10,0,0,0,207,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,217,7,0,112,181,53,0,224,229,53,0,224,235,53,0,16,248,53,0,224,73,0,0,0,128,78,6,224,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,235,32,8,144,206,16,9,160,205,0,10,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,170,170,170,170,170,170,170,170,170,170,170,170,73,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,170,10,0,0,0,0,0,0,0,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,144,157,255,127,163,3,0,96,216,7,0,112,14,54,0,224,91,54,0,16,111,54,0,224,2,0,0,0,142,0,0,0,184,0,0,0,74,0,0,0,128,161,108,204,224,251,96,210,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,193,32,8,96,164,16,9,112,163,0,10,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,0,254,230,56,240,202,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,170,170,170,170,74,0,0,0,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,0,0,0,0,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,176,185,255,127,163,3,0,96,216,7,0,112,132,54,0,224,135,54,0,224,211,54,0,16,231,54,0,224,2,0,0,0,143,0,0,0,20,2,0,0,21,0,0,0,254,180,15,147,112,25,141,7,96,164,16,9,240,148,173,9,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,170,170,170,170,21,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,2,184,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,253,54,0,224,0,55,0,224,23,55,0,16,30,55,0,224,80,0,0,0,160,26,137,203,16,38,97,210,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,206,16,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,32,99,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,176,66,242,26,160,37,226,27,176,36,210,28,160,7,194,29,176,6,178,30,160,233,161,31,48,57,118,32,160,203,129,33,48,27,86,34,32,232,106,35,48,253,53,36,32,202,74,37,48,223,21,38,32,172,42,39,176,251,254,39,32,142,10,41,176,221,222,41,32,112,234,42,176,191,190,43,160,140,211,44,176,161,158,45,160,110,179,46,176,131,126,47,160,80,147,48,48,160,103,49,160,50,115,50,48,130,71,51,160,20,83,52,48,100,39,53,160,246,50,54,48,70,7,55,32,19,28,56,48,40,231,56,32,245,251,57,48,10,199,58,32,215,219,59,176,38,176,60,32,185,187,61,176,8,144,62,32,155,155,63,176,234,111,64,160,183,132,65,176,204,79,66,160,153,100,67,176,174,47,68,160,123,68,69,48,225,243,69,32,152,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,197,50,135,125,170,170,170,170,82,0,0,0,3,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,2,4,5,4,5,4,5,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,12,0,0,0,123,211,0,0,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,251,129,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,112,129,255,127,1,0,0,96,216,7,0,112,44,55,0,224,125,55,0,224,131,55,0,16,153,55,0,224,2,0,0,0,146,0,0,0,153,0,0,0,116,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,0,247,115,164,112,17,22,165,128,78,13,202,112,71,216,202,128,254,136,203,240,9,97,210,28,215,117,211,112,9,164,211,128,181,254,218,240,115,192,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,112,24,41,229,0,60,71,230,240,30,55,231,0,30,39,232,240,0,23,233,0,0,7,234,240,226,246,234,0,226,230,235,240,196,214,236,0,196,198,237,112,225,191,238,128,224,175,239,112,144,30,240,240,58,216,252,224,29,200,253,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,25,141,7,112,178,16,9,240,148,173,9,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,170,170,170,170,117,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,170,10,0,0,0,154,175,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,176,185,255,127,1,0,0,96,216,7,0,112,177,55,0,224,180,55,0,224,41,56,0,224,47,56,0,16,78,56,0,224,86,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,160,254,3,94,170,170,170,170,170,170,170,170,170,170,170,170,87,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,10,0,0,0,116,176,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,1,0,0,96,216,7,0,112,102,56,0,224,189,56,0,224,195,56,0,16,218,56,0,224,2,0,0,0,228,150,30,184,212,213,238,184,2,0,0,0,1,2,170,170,6,0,0,0,28,192,255,255,0,0,0,0,28,192,255,255,16,14,0,0,192,199,255,255,0,0,0,0,3,0,48,0,66,0,54,0,240,56,0,224,243,56,0,16,245,56,0,224,15,0,0,0,212,64,116,140,80,74,207,195,64,227,69,196,208,74,47,197,192,45,31,198,208,44,15,199,192,15,255,199,80,196,24,30,64,93,143,30,208,247,249,31,192,144,112,32,208,227,158,37,192,124,21,38,80,3,37,45,64,156,155,45,2,0,0,0,255,255,255,255,188,35,135,105,170,170,170,170,170,170,170,170,170,170,170,170,16,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,8,0,0,0,196,183,255,255,0,0,0,0,172,183,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,1,57,0,224,17,57,0,224,23,57,0,16,28,57,0,224,4,0,0,0,152,0,0,0,40,2,0,0,117,2,0,0,118,2,0,0,124,0,0,0,160,72,166,158,144,21,187,159,160,42,134,160,144,247,154,161,160,26,137,203,16,38,97,210,92,116,254,214,144,173,128,216,144,195,254,218,16,144,192,219,144,165,222,220,144,172,169,221,144,135,190,222,144,142,137,223,144,105,158,224,144,112,105,225,144,75,126,226,144,82,73,227,144,45,94,228,144,52,41,229,16,74,71,230,16,81,18,231,16,44,39,232,16,51,242,232,16,14,7,234,16,21,210,234,16,240,230,235,16,247,177,236,16,210,198,237,16,217,145,238,144,238,175,239,16,187,113,240,144,208,143,241,144,193,127,242,144,178,111,243,144,163,95,244,144,148,79,245,144,133,63,246,144,118,47,247,16,162,40,248,144,88,15,249,16,132,8,250,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,206,16,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,2,0,0,0,255,255,255,255,192,26,4,94,170,170,170,170,170,170,170,170,125,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,38,145,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,128,143,255,127,1,0,0,96,216,7,0,112,44,57,0,224,49,57,0,224,174,57,0,224,179,57,0,16,212,57,0,224,41,0,0,0,124,104,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,48,121,128,48,160,77,29,49,176,198,246,55,32,133,184,56,48,227,223,57,32,74,242,57,176,255,200,59,160,14,111,60,170,170,170,170,41,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,132,222,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,232,57,0,224,19,58,0,16,31,58,0,224,15,0,0,0,232,72,45,189,96,116,67,6,80,62,164,9,224,248,81,17,80,111,212,17,224,218,49,19,80,81,180,19,32,145,97,41,80,75,193,42,224,221,67,43,80,239,201,50,224,192,88,66,80,105,63,67,128,110,84,68,96,89,31,69,2,0,0,0,255,255,255,255,100,44,135,105,170,170,170,170,16,0,0,0,3,1,4,1,2,1,2,1,4,1,4,1,2,1,2,1,10,0,0,0,28,175,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,24,175,255,255,0,0,0,0,176,185,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,43,58,0,224,59,58,0,224,63,58,0,16,68,58,0,224,2,0,0,0,157,0,0,0,123,1,0,0,31,0,0,0,68,127,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,64,195,192,44,48,210,102,45,170,170,170,170,170,170,170,170,31,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,188,199,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,86,58,0,224,89,58,0,224,123,58,0,16,132,58,0,224,3,0,0,0,68,200,163,145,64,110,77,19,176,22,52,20,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,188,198,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,146,58,0,224,151,58,0,16,153,58,0,224,33,0,0,0,96,218,182,165,0,241,85,34,240,189,106,35,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,128,4,245,58,240,194,182,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,128,102,15,70,112,51,36,71,0,131,248,71,112,21,4,73,0,101,216,73,112,247,227,74,128,151,156,75,112,78,214,76,33,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,152,164,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,160,171,255,127,1,0,0,96,219,7,0,112,165,58,0,224,199,58,0,16,209,58,0,224,2,0,0,0,161,0,0,0,29,2,0,0,63,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,96,113,234,203,240,180,145,216,128,112,0,0,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,144,18,245,58,0,209,182,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,144,116,15,70,128,65,36,71,16,145,248,71,128,35,4,73,16,115,216,73,128,5,228,74,16,85,184,75,0,34,205,76,16,55,152,77,0,4,173,78,16,25,120,79,0,230,140,80,144,53,97,81,0,200,108,82,144,23,65,83,0,170,76,84,144,249,32,85,0,140,44,86,144,219,0,87,128,168,21,88,144,189,224,88,128,138,245,89,144,159,192,90,128,108,213,91,16,188,169,92,128,78,181,93,16,158,137,94,128,48,149,95,16,128,105,96,0,77,126,97,16,98,73,98,0,47,94,99,170,170,170,170,170,170,170,170,63,0,0,0,2,4,2,3,2,4,2,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,10,0,0,0,60,156,255,255,0,0,0,0,128,143,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,226,58,0,224,229,58,0,224,39,59,0,16,56,59,0,224,81,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,243,117,211,240,235,64,212,128,74,15,249,240,103,8,250,0,43,184,254,112,223,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,99,73,119,97,82,0,0,0,1,2,1,2,1,2,1,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,8,0,0,0,221,173,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,171,255,127,1,0,0,96,216,7,0,112,74,59,0,224,156,59,0,224,159,59,0,16,181,59,0,224,57,0,0,0,96,218,182,165,96,213,134,22,80,75,76,24,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,128,4,245,58,240,194,182,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,128,102,15,70,112,51,36,71,0,131,248,71,112,21,4,73,0,101,216,73,112,247,227,74,0,71,184,75,240,19,205,76,0,41,152,77,240,245,172,78,0,11,120,79,240,215,140,80,128,39,97,81,240,185,108,82,128,9,65,83,240,155,76,84,128,235,32,85,240,125,44,86,128,205,0,87,112,154,21,88,128,175,224,88,112,124,245,89,128,145,192,90,112,94,213,91,0,174,169,92,112,64,181,93,0,144,137,94,112,34,149,95,0,114,105,96,240,62,126,97,0,84,73,98,240,32,94,99,57,0,0,0,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,8,0,0,0,252,171,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,3,0,48,0,66,0,54,0,201,59,0,224,3,60,0,16,19,60,0,224,42,0,0,0,160,26,137,203,16,38,97,210,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,206,16,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,226,53,86,48,72,229,86,32,255,30,88,48,42,197,88,32,225,254,89,48,12,165,90,32,195,222,91,160,70,68,92,48,238,132,92,32,165,190,93,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,26,48,135,125,170,170,170,170,170,170,170,170,44,0,0,0,3,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,1,2,1,2,1,2,4,1,2,1,12,0,0,0,38,214,0,0,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,166,132,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,112,129,255,127,1,0,0,96,228,7,0,112,33,60,0,224,76,60,0,224,83,60,0,16,95,60,0,224,2,0,0,0,166,0,0,0,30,2,0,0,68,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,96,176,222,197,80,52,151,198,224,241,85,201,80,221,234,201,224,198,2,207,80,86,183,207,224,21,153,218,208,131,118,219,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,128,4,245,58,240,194,182,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,128,102,15,70,112,51,36,71,0,131,248,71,112,21,4,73,0,101,216,73,112,247,227,74,0,71,184,75,240,19,205,76,0,41,152,77,240,245,172,78,0,11,120,79,240,215,140,80,128,39,97,81,240,185,108,82,128,9,65,83,240,155,76,84,128,235,32,85,240,125,44,86,128,205,0,87,112,154,21,88,128,175,224,88,112,124,245,89,128,145,192,90,112,94,213,91,0,174,169,92,112,64,181,93,0,144,137,94,112,34,149,95,0,114,105,96,240,62,126,97,0,84,73,98,240,32,94,99,68,0,0,0,1,3,1,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,10,0,0,0,12,163,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,119,60,0,224,122,60,0,224,191,60,0,16,209,60,0,224,44,0,0,0,40,23,223,145,192,99,110,19,208,228,117,32,64,119,129,33,208,198,85,34,192,147,106,35,208,168,53,36,192,117,74,37,208,138,21,38,192,87,42,39,80,167,254,39,192,57,10,41,80,137,222,41,192,27,234,42,80,107,190,43,64,56,211,44,80,77,158,45,64,26,179,46,80,47,126,47,64,252,146,48,208,75,103,49,64,222,114,50,208,45,71,51,64,192,82,52,208,15,39,53,64,162,50,54,208,241,6,55,192,190,27,56,208,211,230,56,192,160,251,57,208,181,198,58,192,130,219,59,80,210,175,60,192,100,187,61,80,180,143,62,192,70,155,63,80,150,111,64,64,99,132,65,80,120,79,66,64,69,100,67,80,90,47,68,64,39,68,69,208,140,243,69,192,67,45,71,170,170,170,170,170,170,170,170,170,170,170,170,44,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,8,0,0,0,88,203,255,255,0,0,0,0,192,199,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,208,213,255,127,163,3,0,96,216,7,0,112,227,60,0,224,19,61,0,16,31,61,0,224,145,0,0,0,80,182,241,128,96,133,184,158,80,221,186,159,208,56,60,187,64,35,180,187,208,26,28,189,64,5,148,189,208,252,251,190,64,231,115,191,208,222,219,192,64,201,83,193,208,192,187,194,64,171,51,195,208,162,155,196,64,141,19,197,208,248,112,198,64,205,13,199,208,241,72,200,64,175,237,200,208,94,22,202,192,203,214,202,96,226,136,203,208,237,96,210,224,214,117,211,208,207,64,212,224,184,85,213,208,177,32,214,224,154,53,215,208,147,0,216,224,124,21,217,208,117,224,217,96,153,254,218,208,87,192,219,96,123,222,220,80,116,169,221,96,93,190,222,80,86,137,223,96,63,158,224,80,56,105,225,96,33,126,226,80,26,73,227,96,3,94,228,80,252,40,229,224,31,71,230,208,24,18,231,224,1,39,232,208,228,22,233,224,227,6,234,208,198,246,234,224,197,230,235,208,168,214,236,224,167,198,237,80,197,191,238,96,196,175,239,80,167,159,240,96,166,143,241,80,137,127,242,96,136,111,243,80,107,95,244,96,106,79,245,80,77,63,246,96,76,47,247,208,105,40,248,96,46,15,249,208,75,8,250,224,74,248,250,208,45,232,251,224,44,216,252,208,15,200,253,224,14,184,254,208,241,167,255,224,240,151,0,208,211,135,1,224,210,119,2,80,240,112,3,96,239,96,4,80,210,80,5,96,179,32,8,80,150,16,9,96,149,0,10,80,120,240,10,96,119,224,11,208,148,217,12,96,89,192,13,208,118,185,14,224,117,169,15,208,88,153,16,224,87,137,17,208,58,121,18,224,57,105,19,208,28,89,20,224,27,73,21,208,254,56,22,224,253,40,23,80,27,34,24,224,223,8,25,80,253,1,26,96,252,241,26,80,223,225,27,96,222,209,28,80,193,193,29,96,192,177,30,80,163,161,31,224,242,117,32,80,133,129,33,224,212,85,34,208,161,106,35,224,182,53,36,208,131,74,37,224,152,21,38,208,101,42,39,96,181,254,39,208,71,10,41,96,151,222,41,208,41,234,42,124,93,190,43,108,42,211,44,124,63,158,45,108,12,179,46,124,33,126,47,108,238,146,48,252,61,103,49,108,208,114,50,252,31,71,51,108,178,82,52,252,1,39,53,108,148,50,54,252,227,6,55,236,176,27,56,252,197,230,56,236,146,251,57,252,167,198,58,236,116,219,59,124,196,175,60,236,86,187,61,124,166,143,62,236,56,155,63,124,136,111,64,108,85,132,65,124,106,79,66,108,55,100,67,124,76,47,68,108,25,68,69,224,154,243,69,208,81,45,71,2,0,0,0,255,255,255,255,188,237,30,94,146,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,68,195,255,255,0,0,0,0,176,185,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,192,199,255,127,163,3,0,96,216,7,0,112,50,61,0,224,196,61,0,224,199,61,0,16,237,61,0,224,57,0,0,0,96,218,182,165,0,241,85,34,240,189,106,35,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,128,4,245,58,240,194,182,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,128,102,15,70,112,51,36,71,0,131,248,71,112,21,4,73,0,101,216,73,112,247,227,74,0,71,184,75,240,19,205,76,0,41,152,77,240,245,172,78,0,11,120,79,240,215,140,80,128,39,97,81,240,185,108,82,128,9,65,83,240,155,76,84,128,235,32,85,240,125,44,86,128,205,0,87,112,154,21,88,128,175,224,88,112,124,245,89,128,145,192,90,112,94,213,91,0,174,169,92,112,64,181,93,0,144,137,94,112,34,149,95,0,114,105,96,240,62,126,97,0,84,73,98,240,32,94,99,57,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,244,161,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,1,62,0,224,59,62,0,16,75,62,0,224,85,0,0,0,179,135,146,162,64,219,255,168,176,15,241,169,56,89,226,170,48,67,210,171,184,140,195,172,176,118,179,173,184,181,244,187,176,181,191,188,184,151,212,189,176,151,159,190,184,121,180,191,176,121,127,192,184,91,148,193,176,91,95,194,56,120,125,195,176,61,63,196,56,90,93,197,176,31,31,198,56,82,24,199,48,60,8,200,56,30,29,201,48,30,232,201,56,159,139,202,48,198,30,205,40,102,149,205,176,133,11,236,40,53,242,236,176,74,69,237,32,214,133,237,176,114,19,247,32,27,250,247,48,62,254,252,40,17,246,253,48,117,150,0,32,82,216,0,176,138,87,4,160,58,198,4,176,27,150,7,152,218,223,7,40,159,198,8,48,78,90,9,32,115,219,9,48,18,26,13,160,135,127,13,48,127,231,14,160,105,95,15,48,214,217,16,160,75,63,17,176,45,137,17,160,162,49,19,48,84,195,33,32,120,39,34,176,228,161,35,160,148,16,36,176,103,74,37,32,60,231,37,48,15,33,39,160,88,208,39,176,43,10,41,160,58,176,41,48,211,224,42,160,28,144,43,48,246,76,65,192,47,70,66,208,163,72,67,192,156,19,68,80,75,31,69,192,126,243,69,208,103,8,71,192,96,211,71,208,73,232,72,192,66,179,73,208,43,200,74,64,95,156,75,208,13,168,76,64,65,124,77,208,239,135,78,64,35,92,79,80,12,113,80,64,5,60,81,80,238,80,82,64,231,27,83,80,208,48,84,64,201,251,84,170,170,170,170,170,170,170,170,85,0,0,0,1,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,5,4,5,4,6,4,6,4,5,4,6,4,6,4,7,5,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,6,4,170,170,170,16,0,0,0,77,203,255,255,0,0,0,0,192,199,255,255,0,0,0,0,200,206,255,255,0,0,0,0,200,206,255,255,8,7,0,0,208,213,255,255,0,0,0,0,208,213,255,255,8,7,0,0,208,213,255,255,16,14,0,0,208,213,255,255,24,21,0,0,3,0,48,0,66,0,54,0,87,62,0,224,175,62,0,16,198,62,0,224,2,0,0,0,174,0,0,0,112,2,0,0,174,0,0,0,112,30,166,158,96,235,186,159,112,0,134,160,96,205,154,161,112,226,101,162,224,233,131,163,112,174,106,164,96,167,53,165,240,202,83,166,96,137,21,167,240,172,51,168,224,165,254,168,240,142,19,170,224,135,222,170,240,112,243,171,224,105,190,172,240,82,211,173,224,75,158,174,240,52,179,175,224,45,126,176,112,81,156,177,96,74,103,178,112,51,124,179,96,44,71,180,112,21,92,181,96,14,39,182,112,247,59,183,96,240,6,184,112,217,27,185,96,210,230,185,240,245,4,187,96,180,198,187,240,215,228,188,224,208,175,189,240,185,196,190,224,178,143,191,240,155,164,192,224,148,111,193,240,125,132,194,224,118,79,195,240,95,100,196,224,88,47,197,112,124,77,198,224,58,15,199,112,94,45,200,96,87,248,200,112,64,13,202,96,57,216,202,112,240,136,203,224,251,96,210,240,228,117,211,224,221,64,212,240,198,85,213,224,191,32,214,240,168,53,215,224,161,0,216,240,138,21,217,224,131,224,217,112,167,254,218,224,101,192,219,112,137,222,220,96,130,169,221,112,107,190,222,96,100,137,223,112,77,158,224,96,70,105,225,112,47,126,226,96,40,73,227,112,17,94,228,224,46,87,229,240,45,71,230,224,16,55,231,240,15,39,232,224,242,22,233,240,241,6,234,224,212,246,234,240,211,230,235,224,182,214,236,240,181,198,237,96,211,191,238,112,210,175,239,96,181,159,240,112,180,143,241,96,151,127,242,112,150,111,243,96,121,95,244,112,120,79,245,96,91,63,246,112,90,47,247,224,119,40,248,112,60,15,249,224,89,8,250,240,88,248,250,224,59,232,251,240,58,216,252,224,29,200,253,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,25,141,7,96,164,16,9,240,148,173,9,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,144,240,3,94,170,170,170,170,170,170,170,170,175,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,158,186,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,176,185,255,127,1,0,0,96,216,7,0,112,220,62,0,224,223,62,0,224,142,63,0,224,147,63,0,16,192,63,0,224,80,0,0,0,208,68,137,203,64,80,97,210,80,113,184,254,64,84,168,255,80,83,152,0,64,54,136,1,80,53,120,2,192,82,113,3,208,81,97,4,192,52,81,5,208,51,65,6,192,22,49,7,208,109,141,7,192,248,16,9,80,233,173,9,192,218,240,10,208,217,224,11,64,247,217,12,208,187,192,13,64,217,185,14,80,216,169,15,64,187,153,16,80,186,137,17,64,157,121,18,80,156,105,19,64,127,89,20,80,126,73,21,64,97,57,22,80,96,41,23,192,125,34,24,80,66,9,25,192,95,2,26,176,66,242,26,160,37,226,27,176,36,210,28,160,7,194,29,176,6,178,30,160,233,161,31,48,57,118,32,160,203,129,33,48,27,86,34,32,232,106,35,48,253,53,36,32,202,74,37,48,223,21,38,32,172,42,39,176,251,254,39,32,142,10,41,176,221,222,41,32,112,234,42,176,191,190,43,160,140,211,44,176,161,158,45,160,110,179,46,176,131,126,47,160,80,147,48,48,160,103,49,160,50,115,50,48,130,71,51,160,20,83,52,48,100,39,53,160,246,50,54,48,70,7,55,32,19,28,56,48,40,231,56,32,245,251,57,48,10,199,58,32,215,219,59,176,38,176,60,32,185,187,61,176,8,144,62,32,155,155,63,176,234,111,64,160,183,132,65,176,204,79,66,160,153,100,67,176,174,47,68,160,123,68,69,48,225,243,69,32,152,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,210,79,135,125,170,170,170,170,82,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,12,0,0,0,110,182,0,0,0,0,0,0,238,100,255,255,0,0,0,0,80,101,255,255,0,0,0,0,80,101,255,255,16,14,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,112,129,255,127,1,0,0,96,216,7,0,112,212,63,0,224,37,64,0,224,43,64,0,16,65,64,0,224,2,0,0,0,177,0,0,0,121,1,0,0,39,0,0,0,100,101,170,150,208,59,15,184,144,50,253,184,32,38,241,185,16,102,222,186,32,160,56,218,32,236,235,218,160,211,25,220,16,75,185,220,32,7,251,221,16,208,155,222,32,140,221,223,16,37,84,224,160,241,151,244,16,80,5,245,32,86,192,246,144,16,14,247,32,30,81,248,16,183,199,248,160,196,10,250,144,234,168,250,32,248,235,251,144,111,139,252,32,128,201,29,144,201,120,30,160,39,160,31,144,193,51,32,32,91,129,33,144,186,11,34,160,2,88,35,16,98,226,35,160,228,55,37,16,185,212,37,160,184,246,55,16,119,184,56,32,213,223,57,144,1,233,57,160,241,200,59,144,0,111,60,170,170,170,170,170,170,170,170,170,170,170,170,39,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,156,225,255,255,0,0,0,0,224,227,255,255,0,0,0,0,224,227,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,89,64,0,224,92,64,0,224,135,64,0,16,146,64,0,224,96,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,12,137,203,0,24,97,210,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,16,167,211,71,0,94,13,73,16,137,179,73,0,64,237,74,144,165,156,75,128,92,214,76,128,121,124,77,112,48,182,78,2,0,0,0,255,255,255,255,176,12,4,94,170,170,170,170,170,170,170,170,170,170,170,170,97,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,170,170,170,10,0,0,0,149,160,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,171,255,127,1,0,0,96,220,7,0,112,160,64,0,224,1,65,0,224,7,65,0,16,33,65,0,224,88,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,12,137,203,0,24,97,210,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,176,12,4,94,89,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,170,10,0,0,0,8,161,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,171,255,127,1,0,0,96,216,7,0,112,55,65,0,224,144,65,0,224,147,65,0,16,171,65,0,224,88,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,12,137,203,0,24,97,210,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,176,12,4,94,170,170,170,170,170,170,170,170,89,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,170,170,170,10,0,0,0,237,160,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,171,255,127,1,0,0,96,216,7,0,112,193,65,0,224,26,66,0,224,31,66,0,16,55,66,0,224,2,0,0,0,121,0,0,0,181,0,0,0,90,0,0,0,0,104,128,155,80,124,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,16,187,61,51,16,150,82,52,16,157,29,53,16,120,50,54,16,127,253,54,144,148,27,56,16,97,221,56,144,118,251,57,16,67,189,58,144,88,219,59,144,95,166,60,144,58,187,61,144,65,134,62,144,28,155,63,144,35,102,64,16,57,132,65,144,5,70,66,16,27,100,67,144,231,37,68,16,253,67,69,144,201,5,70,16,223,35,71,16,230,238,71,16,193,3,73,16,200,206,73,16,163,227,74,16,170,174,75,144,191,204,76,16,140,142,77,144,161,172,78,16,110,110,79,144,131,140,80,144,138,87,81,144,101,108,82,144,108,55,83,144,71,76,84,144,78,23,85,144,41,44,86,144,48,247,86,16,70,21,88,144,18,215,88,16,40,245,89,144,244,182,90,16,10,213,91,16,17,160,92,16,236,180,93,16,243,127,94,16,206,148,95,16,213,95,96,144,234,125,97,16,183,63,98,144,204,93,99,16,153,31,100,144,181,8,102,144,144,29,103,90,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,170,170,10,0,0,0,128,207,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,224,227,255,255,0,0,0,0,224,227,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,224,227,255,127,7,0,0,96,233,7,0,112,77,66,0,224,80,66,0,224,171,66,0,16,195,66,0,224,62,0,0,0,112,232,182,165,224,110,242,175,96,86,102,182,96,210,67,183,96,54,12,184,240,134,253,184,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,144,18,245,58,0,209,182,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,144,116,15,70,128,65,36,71,16,145,248,71,128,35,4,73,16,115,216,73,128,5,228,74,144,165,156,75,128,92,214,76,144,135,124,77,128,62,182,78,144,105,92,79,128,32,150,80,144,75,60,81,128,2,118,82,144,45,28,83,128,228,85,84,144,15,252,84,128,198,53,86,16,44,229,86,0,227,30,88,16,14,197,88,0,197,254,89,16,240,164,90,0,167,222,91,16,210,132,92,0,137,190,93,16,180,100,94,0,107,158,95,144,208,77,96,128,135,135,97,144,178,45,98,0,47,94,99,128,134,13,100,112,61,71,101,170,170,170,170,170,170,170,170,170,170,170,170,62,0,0,0,1,3,1,2,1,3,4,3,4,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,170,170,10,0,0,0,28,158,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,160,171,255,127,1,0,0,96,232,7,0,112,217,66,0,224,27,67,0,16,44,67,0,224,4,0,0,0,79,0,0,0,97,0,0,0,101,0,0,0,183,0,0,0,1,0,0,0,232,97,244,139,2,0,0,0,255,255,255,255,16,38,135,105,2,0,0,0,1,2,170,170,6,0,0,0,112,181,255,255,0,0,0,0,24,181,255,255,0,0,0,0,176,185,255,255,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,65,67,0,224,70,67,0,224,72,67,0,224,75,67,0,16,77,67,0,224,4,0,0,0,184,142,5,145,196,75,42,190,180,44,98,210,184,49,190,27,170,170,170,170,170,170,170,170,4,0,0,0,1,2,3,4,10,0,0,0,72,204,255,255,0,0,0,0,60,204,255,255,0,0,0,0,76,204,255,255,0,0,0,0,200,206,255,255,0,0,0,0,208,213,255,255,0,0,0,0,3,0,48,0,66,0,54,0,92,67,0,224,99,67,0,16,101,67,0,224,4,0,0,0,104,0,0,0,186,0,0,0,37,2,0,0,109,2,0,0,10,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,12,137,203,28,223,23,207,172,229,143,207,28,26,129,208,16,117,248,250,0,88,232,251,2,0,0,0,255,255,255,255,176,12,4,94,170,170,170,170,170,170,170,170,170,170,170,170,11,0,0,0,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,238,150,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,117,67,0,224,122,67,0,224,133,67,0,224,139,67,0,16,143,67,0,224,45,0,0,0,252,113,110,156,208,70,27,25,64,239,1,26,80,238,241,26,64,209,225,27,80,208,209,28,64,179,193,29,80,178,177,30,64,149,161,31,80,148,145,32,64,119,129,33,224,212,85,34,224,175,106,35,224,182,53,36,224,145,74,37,224,152,21,38,224,115,42,39,96,181,254,39,224,85,10,41,96,151,222,41,224,55,234,42,96,121,190,43,96,84,211,44,96,91,158,45,96,54,179,46,96,61,126,47,96,24,147,48,224,89,103,49,96,250,114,50,224,59,71,51,96,220,82,52,80,120,79,66,64,69,100,67,80,90,47,68,64,39,68,69,112,77,92,79,96,4,150,80,112,47,60,81,96,230,117,82,112,17,28,83,96,200,85,84,112,243,251,84,96,170,53,86,240,241,196,88,224,168,254,89,2,0,0,0,255,255,255,255,80,31,135,105,46,0,0,0,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,8,0,0,0,48,188,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,68,188,255,255,0,0,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,185,255,127,145,3,0,96,226,7,0,112,158,67,0,224,204,67,0,224,207,67,0,16,220,67,0,224,29,0,0,0,232,130,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,170,170,170,170,29,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,24,196,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,3,0,48,0,66,0,54,0,240,67,0,224,15,68,0,16,24,68,0,224,22,0,0,0,61,0,0,0,62,0,0,0,77,0,0,0,86,0,0,0,106,0,0,0,112,0,0,0,124,0,0,0,125,0,0,0,149,0,0,0,154,0,0,0,158,0,0,0,172,0,0,0,188,0,0,0,191,0,0,0,208,0,0,0,210,0,0,0,211,0,0,0,212,0,0,0,213,0,0,0,220,0,0,0,222,0,0,0,39,2,0,0,2,0,0,0,192,50,246,203,208,237,96,210,2,0,0,0,255,255,255,255,185,149,230,122,170,170,170,170,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,7,194,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,36,68,0,224,59,68,0,224,62,68,0,224,67,68,0,16,69,68,0,224,116,0,0,0,69,71,48,143,80,229,92,155,197,226,124,159,192,113,0,161,197,119,94,176,64,61,119,177,208,0,65,178,192,112,88,179,80,52,34,180,64,164,57,181,208,103,3,182,192,215,26,183,80,155,228,183,192,92,253,184,80,32,199,185,64,110,28,204,208,231,108,204,64,227,23,212,192,85,51,213,64,146,118,213,64,60,209,253,176,250,146,254,192,205,204,255,176,220,114,0,192,80,117,1,176,73,64,2,192,50,85,3,176,43,32,4,64,79,62,5,176,13,0,6,64,188,11,7,176,239,223,7,64,19,254,8,176,209,191,9,64,245,221,10,48,238,168,11,64,215,189,12,48,208,136,13,64,185,157,14,48,178,104,15,192,213,134,16,48,148,72,17,192,183,102,18,48,118,40,19,192,153,70,20,176,146,17,21,192,123,38,22,176,116,241,22,192,93,6,24,176,86,209,24,192,63,230,25,176,56,177,26,64,92,207,27,176,26,145,28,64,62,175,29,176,252,112,30,64,32,143,31,48,3,127,32,64,2,111,33,48,251,57,34,64,228,78,35,48,221,25,36,192,0,56,37,48,191,249,37,192,248,242,38,48,161,217,39,192,196,247,40,176,189,194,41,192,166,215,42,176,159,162,43,192,136,183,44,176,129,130,45,192,106,151,46,176,99,98,47,64,135,128,48,176,69,66,49,64,105,96,50,48,215,61,51,64,75,64,52,48,68,11,53,64,184,13,54,176,213,6,55,64,15,0,56,48,8,203,56,192,43,233,57,48,234,170,58,192,13,201,59,48,204,138,60,192,239,168,61,48,174,106,62,192,209,136,63,176,202,83,64,192,179,104,65,176,172,51,66,192,149,72,67,176,142,19,68,64,178,49,69,176,112,243,69,64,148,17,71,48,2,239,71,64,118,241,72,48,111,188,73,64,88,209,74,176,0,184,75,64,58,177,76,48,7,198,77,192,130,80,78,176,174,156,79,192,217,66,80,176,144,124,81,64,246,43,82,176,114,92,83,64,216,11,84,48,230,55,87,192,236,175,87,176,134,67,88,2,0,0,0,255,255,255,255,252,29,135,105,170,170,170,170,170,170,170,170,170,170,170,170,117,0,0,0,3,1,3,4,3,2,1,2,1,2,1,2,1,2,1,4,1,4,2,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,6,170,170,170,14,0,0,0,132,189,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,187,189,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,84,68,0,224,201,68,0,224,207,68,0,16,238,68,0,224,73,0,0,0,0,110,140,231,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,207,32,8,112,178,16,9,128,177,0,10,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,170,170,170,170,73,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,8,0,0,0,0,0,0,0,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,160,171,255,127,163,3,0,96,216,7,0,112,4,69,0,224,79,69,0,16,99,69,0,224,39,0,0,0,184,103,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,176,255,151,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,176,198,246,55,32,133,184,56,48,227,223,57,160,15,233,57,176,255,200,59,160,14,111,60,170,170,170,170,39,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,72,223,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,118,69,0,224,159,69,0,16,170,69,0,224,3,0,0,0,196,0,0,0,132,1,0,0,137,1,0,0,52,0,0,0,28,147,253,134,144,175,184,158,128,7,187,159,240,79,101,181,224,72,48,182,240,49,69,183,224,42,16,184,240,19,37,185,224,12,240,185,112,48,14,187,224,238,207,187,112,18,238,188,96,11,185,189,240,8,114,194,224,235,97,195,240,234,81,196,96,147,56,197,240,204,49,198,224,175,33,199,112,233,26,200,96,204,10,201,112,203,250,201,96,174,234,202,144,12,137,203,0,24,97,210,16,140,99,211,0,111,83,212,16,227,85,213,0,220,32,214,16,197,53,215,0,190,0,216,16,167,21,217,0,160,224,217,144,195,254,218,0,130,192,219,144,165,222,220,128,158,169,221,144,135,190,222,128,128,137,223,144,105,158,224,128,98,105,225,144,75,126,226,128,68,73,227,144,45,94,228,128,38,41,229,16,74,71,230,0,67,18,231,16,44,39,232,0,37,242,232,16,240,230,235,0,211,214,236,16,210,198,237,52,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,8,0,0,0,228,157,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,182,69,0,224,186,69,0,224,239,69,0,16,253,69,0,224,73,0,0,0,128,129,251,213,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,207,32,8,112,178,16,9,128,177,0,10,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,73,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,3,2,1,170,170,170,8,0,0,0,0,0,0,0,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,160,171,255,127,163,3,0,96,216,7,0,112,13,70,0,224,87,70,0,16,107,70,0,224,3,0,0,0,189,0,0,0,198,0,0,0,120,1,0,0,31,0,0,0,144,134,170,150,0,102,15,184,192,92,253,184,80,80,241,185,64,144,222,186,80,202,56,218,80,22,236,218,208,253,25,220,64,117,185,220,80,49,251,221,64,250,155,222,80,182,221,223,64,79,84,224,208,27,152,244,64,122,5,245,80,128,192,246,192,58,14,247,80,72,81,248,64,225,199,248,208,238,10,250,192,20,169,250,80,34,236,251,192,153,139,252,80,170,201,29,192,243,120,30,208,81,160,31,192,235,51,32,80,133,129,33,192,228,11,34,80,127,96,72,192,4,127,82,170,170,170,170,31,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,170,8,0,0,0,112,192,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,192,199,255,255,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,126,70,0,224,130,70,0,224,163,70,0,16,172,70,0,224,30,0,0,0,72,122,170,150,240,87,15,184,176,78,253,184,64,66,241,185,48,130,222,186,64,188,56,218,64,8,236,218,192,239,25,220,48,103,185,220,64,35,251,221,48,236,155,222,64,168,221,223,48,65,84,224,192,13,152,244,48,108,5,245,64,114,192,246,176,44,14,247,64,58,81,248,48,211,199,248,192,224,10,250,176,6,169,250,64,20,236,251,176,139,139,252,64,156,201,29,176,229,120,30,192,67,160,31,176,221,51,32,64,119,129,33,176,214,11,34,64,113,96,72,30,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,8,0,0,0,184,204,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,3,0,48,0,66,0,54,0,188,70,0,224,219,70,0,16,228,70,0,224,2,0,0,0,202,0,0,0,139,1,0,0,130,0,0,0,69,71,48,143,80,229,92,155,197,226,124,159,192,113,0,161,197,119,94,176,64,61,119,177,208,0,65,178,192,112,88,179,80,52,34,180,64,164,57,181,208,103,3,182,192,215,26,183,80,155,228,183,192,92,253,184,80,32,199,185,64,110,28,204,208,231,108,204,192,143,220,211,48,213,23,212,192,85,51,213,64,146,118,213,64,60,209,253,176,250,146,254,192,205,204,255,176,220,114,0,192,80,117,1,176,73,64,2,192,50,85,3,176,43,32,4,64,79,62,5,176,13,0,6,64,188,11,7,176,239,223,7,64,19,254,8,176,209,191,9,64,245,221,10,48,238,168,11,64,215,189,12,48,208,136,13,64,185,157,14,48,178,104,15,192,213,134,16,48,148,72,17,192,183,102,18,48,118,40,19,192,153,70,20,176,146,17,21,192,123,38,22,176,116,241,22,192,93,6,24,176,86,209,24,192,63,230,25,176,56,177,26,64,92,207,27,176,26,145,28,64,62,175,29,176,252,112,30,64,32,143,31,48,3,127,32,64,2,111,33,48,251,57,34,64,228,78,35,48,221,25,36,192,0,56,37,48,191,249,37,192,248,242,38,48,161,217,39,192,196,247,40,176,189,194,41,192,166,215,42,176,159,162,43,192,136,183,44,176,129,130,45,192,106,151,46,176,99,98,47,64,135,128,48,176,69,66,49,64,105,96,50,48,215,61,51,64,75,64,52,48,68,11,53,64,184,13,54,176,213,6,55,64,15,0,56,48,8,203,56,192,43,233,57,48,234,170,58,192,13,201,59,48,204,138,60,192,239,168,61,48,174,106,62,192,209,136,63,176,202,83,64,192,179,104,65,176,172,51,66,192,149,72,67,176,142,19,68,64,178,49,69,176,112,243,69,64,148,17,71,48,2,239,71,64,118,241,72,48,111,188,73,64,88,209,74,176,0,184,75,64,58,177,76,48,7,198,77,192,130,80,78,176,174,156,79,192,217,66,80,176,144,124,81,64,246,43,82,176,114,92,83,64,216,11,84,48,230,55,87,192,236,175,87,48,200,23,89,192,206,143,89,48,170,247,90,192,176,111,91,176,103,169,92,192,124,116,93,176,73,137,94,192,94,84,95,176,43,105,96,192,64,52,97,176,13,73,98,64,93,29,99,176,239,40,100,192,4,244,100,170,170,170,170,170,170,170,170,170,170,170,170,130,0,0,0,1,0,3,0,2,1,2,1,2,1,2,1,2,1,3,1,3,4,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,170,170,10,0,0,0,187,189,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,192,199,255,127,127,3,0,96,232,7,0,112,242,70,0,224,245,70,0,224,123,71,0,16,157,71,0,224,16,0,0,0,96,66,223,186,208,75,8,250,64,195,167,250,208,241,167,255,200,123,67,0,208,211,135,1,72,127,250,1,80,240,112,3,72,4,221,3,80,210,80,5,72,137,191,5,80,180,48,7,200,188,160,7,80,150,16,9,224,188,251,57,96,225,41,58,2,0,0,0,255,255,255,255,8,29,135,105,17,0,0,0,4,1,3,1,2,1,2,1,2,1,2,1,2,1,5,1,5,170,170,170,12,0,0,0,120,190,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,8,7,0,0,176,185,255,255,16,14,0,0,96,190,255,255,0,0,0,0,192,199,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,179,71,0,224,196,71,0,224,199,71,0,16,205,71,0,224,3,0,0,0,204,0,0,0,118,1,0,0,122,1,0,0,91,0,0,0,180,114,170,150,224,73,15,184,160,64,253,184,48,52,241,185,32,116,222,186,48,174,56,218,48,250,235,218,176,225,25,220,32,89,185,220,48,21,251,221,32,222,155,222,48,154,221,223,32,51,84,224,48,9,90,244,32,94,5,245,48,100,192,246,160,30,14,247,48,44,81,248,32,197,199,248,176,210,10,250,160,248,168,250,48,6,236,251,160,125,139,252,48,142,201,29,160,215,120,30,176,53,160,31,160,207,51,32,48,105,129,33,160,200,11,34,176,16,88,35,32,112,226,35,176,242,55,37,32,199,212,37,48,15,33,39,160,227,189,39,48,241,0,41,32,139,148,41,176,13,234,42,160,50,107,43,48,181,192,44,32,196,102,45,48,151,160,46,32,166,70,47,48,121,128,48,160,77,29,49,176,32,87,50,32,106,6,51,48,84,56,52,32,193,248,52,48,31,32,54,160,104,207,54,176,198,246,55,32,133,184,56,48,227,223,57,160,44,143,58,176,255,200,59,160,14,111,60,48,145,196,61,160,240,78,62,48,254,145,63,160,210,46,64,48,248,134,65,32,239,23,66,48,194,81,67,32,209,247,67,176,83,77,69,160,237,224,69,48,134,17,71,32,149,183,71,176,162,250,72,32,119,151,73,176,132,218,74,160,147,128,75,176,102,186,76,160,117,96,77,176,72,154,78,32,146,73,79,48,101,131,80,160,57,32,81,48,71,99,82,160,27,0,83,48,41,67,84,32,56,233,84,48,11,35,86,32,26,201,86,48,237,2,88,32,252,168,88,48,207,226,89,32,222,136,90,176,96,222,91,32,192,104,92,170,170,170,170,170,170,170,170,91,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,76,212,255,255,0,0,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,225,71,0,224,229,71,0,224,67,72,0,16,91,72,0,224,91,0,0,0,24,76,128,155,64,110,77,19,192,36,52,20,160,249,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,16,187,61,51,16,150,82,52,16,157,29,53,16,120,50,54,16,127,253,54,144,148,27,56,16,97,221,56,144,118,251,57,16,67,189,58,144,88,219,59,144,95,166,60,144,58,187,61,144,65,134,62,144,28,155,63,144,35,102,64,16,57,132,65,144,5,70,66,16,27,100,67,144,231,37,68,16,253,67,69,144,201,5,70,16,223,35,71,16,230,238,71,16,193,3,73,16,200,206,73,16,163,227,74,16,170,174,75,144,191,204,76,16,140,142,77,144,161,172,78,16,110,110,79,144,131,140,80,144,138,87,81,144,101,108,82,144,108,55,83,144,71,76,84,144,78,23,85,144,41,44,86,144,48,247,86,16,70,21,88,144,18,215,88,16,40,245,89,144,244,182,90,16,10,213,91,16,17,160,92,16,236,180,93,16,243,127,94,16,206,148,95,16,213,95,96,144,234,125,97,16,183,63,98,144,204,93,99,16,153,31,100,144,174,61,101,144,181,8,102,144,144,29,103,170,170,170,170,170,170,170,170,91,0,0,0,1,2,1,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,170,10,0,0,0,104,235,255,255,0,0,0,0,224,227,255,255,0,0,0,0,224,227,255,255,16,14,0,0,240,241,255,255,0,0,0,0,240,241,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,224,227,255,127,7,0,0,96,233,7,0,112,105,72,0,224,199,72,0,16,223,72,0,224,80,0,0,0,160,26,137,203,16,38,97,210,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,206,16,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,176,66,242,26,160,37,226,27,176,36,210,28,160,7,194,29,176,6,178,30,160,233,161,31,48,57,118,32,160,203,129,33,48,27,86,34,32,232,106,35,48,253,53,36,32,202,74,37,48,223,21,38,32,172,42,39,176,251,254,39,32,142,10,41,176,221,222,41,32,112,234,42,176,191,190,43,160,140,211,44,176,161,158,45,160,110,179,46,176,131,126,47,160,80,147,48,48,160,103,49,160,50,115,50,48,130,71,51,160,20,83,52,48,100,39,53,160,246,50,54,48,70,7,55,32,19,28,56,48,40,231,56,32,245,251,57,48,10,199,58,32,215,219,59,176,38,176,60,32,185,187,61,176,8,144,62,32,155,155,63,176,234,111,64,160,183,132,65,176,204,79,66,160,153,100,67,176,174,47,68,160,123,68,69,48,225,243,69,32,152,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,153,51,135,125,170,170,170,170,82,0,0,0,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,12,0,0,0,167,210,0,0,0,0,0,0,39,129,255,255,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,112,129,255,127,1,0,0,96,216,7,0,112,244,72,0,224,69,73,0,224,75,73,0,16,97,73,0,224,3,0,0,0,209,0,0,0,126,1,0,0,135,1,0,0,187,0,0,0,12,98,207,156,252,230,164,157,140,126,184,158,124,214,186,159,220,136,182,160,76,255,56,161,92,25,149,162,76,252,132,163,92,251,116,164,76,222,100,165,220,23,94,166,76,192,68,167,220,249,61,168,76,162,36,169,220,219,29,170,76,132,4,171,220,189,253,171,76,102,228,172,220,159,221,173,204,130,205,174,220,129,189,175,204,100,173,176,92,158,166,177,204,70,141,178,92,128,134,179,204,40,109,180,92,98,102,181,204,10,77,182,92,68,70,183,204,236,44,184,92,38,38,185,76,9,22,186,220,66,15,187,76,235,245,187,220,36,239,188,76,205,213,189,108,77,158,190,168,6,207,190,24,175,181,191,56,49,184,192,168,239,121,193,56,19,152,194,168,209,89,195,56,245,119,196,168,179,57,197,184,17,97,198,168,149,25,199,184,243,64,200,40,178,2,201,184,213,32,202,40,148,226,202,184,183,0,204,200,230,96,210,216,68,136,211,72,3,74,212,216,38,104,213,72,229,41,214,216,8,72,215,72,199,9,216,216,234,39,217,72,169,233,217,88,7,17,219,200,197,210,219,88,116,222,220,72,109,169,221,88,86,190,222,72,79,137,223,88,56,158,224,72,49,105,225,88,26,126,226,72,19,73,227,88,252,93,228,72,245,40,229,216,24,71,230,200,17,18,231,216,250,38,232,200,243,241,232,216,220,6,234,200,213,209,234,216,190,230,235,200,183,177,236,216,160,198,237,72,190,191,238,88,189,175,239,72,160,159,240,88,159,143,241,72,130,127,242,88,129,111,243,72,100,95,244,88,99,79,245,72,70,63,246,88,69,47,247,200,98,40,248,88,39,15,249,200,68,8,250,216,67,248,250,200,38,232,251,216,37,216,252,200,8,200,253,216,7,184,254,200,234,167,255,216,233,151,0,200,204,135,1,216,203,119,2,72,233,112,3,88,232,96,4,72,203,80,5,88,202,64,6,72,173,48,7,88,172,32,8,72,143,16,9,88,142,0,10,72,113,240,10,88,112,224,11,200,141,217,12,88,82,192,13,200,111,185,14,216,110,169,15,200,81,153,16,216,80,137,17,200,51,121,18,216,50,105,19,200,21,89,20,216,20,73,21,200,247,56,22,216,246,40,23,72,20,34,24,216,216,8,25,72,246,1,26,88,245,241,26,72,216,225,27,88,215,209,28,72,186,193,29,88,185,177,30,72,156,161,31,244,207,117,32,100,98,129,33,244,177,85,34,212,112,106,35,244,147,53,36,228,96,74,37,244,117,21,38,228,66,42,39,116,146,254,39,228,36,10,41,116,116,222,41,228,6,234,42,116,86,190,43,100,35,211,44,116,56,158,45,100,5,179,46,116,26,126,47,100,231,146,48,244,54,103,49,100,201,114,50,244,24,71,51,100,171,82,52,244,250,38,53,100,141,50,54,244,220,6,55,228,169,27,56,244,190,230,56,228,139,251,57,244,160,198,58,228,109,219,59,116,189,175,60,228,79,187,61,116,159,143,62,228,49,155,63,116,129,111,64,100,78,132,65,116,99,79,66,100,48,100,67,116,69,47,68,100,18,68,69,244,119,243,69,228,46,45,71,244,89,211,71,228,16,13,73,244,59,179,73,228,242,236,74,116,88,156,75,100,15,214,76,116,58,124,77,72,13,182,78,88,56,92,79,72,239,149,80,170,170,170,170,170,170,170,170,187,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,10,0,0,0,148,206,255,255,0,0,0,0,148,206,255,255,16,14,0,0,200,206,255,255,0,0,0,0,200,206,255,255,16,14,0,0,200,206,255,255,32,28,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,200,206,255,127,163,3,0,96,221,7,0,112,121,73,0,224,125,73,0,224,59,74,0,16,107,74,0,224,22,0,0,0,24,150,253,134,144,175,184,158,128,7,187,159,144,12,137,203,0,24,97,210,16,1,118,211,0,111,83,212,16,227,85,213,0,220,32,214,16,197,53,215,0,190,0,216,16,167,21,217,0,160,224,217,16,44,39,232,0,15,23,233,16,240,230,235,0,211,214,236,16,210,198,237,0,203,145,238,144,238,175,239,0,173,113,240,144,25,97,4,170,170,170,170,170,170,170,170,170,170,170,170,22,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,8,0,0,0,232,154,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,3,0,48,0,66,0,54,0,129,74,0,224,155,74,0,16,162,74,0,224,7,0,0,0,68,75,76,164,224,220,154,32,80,155,92,33,224,190,122,34,80,125,60,35,224,140,93,68,208,200,214,68,170,170,170,170,170,170,170,170,170,170,170,170,7,0,0,0,1,2,1,2,1,2,1,170,6,0,0,0,60,174,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,3,0,48,0,66,0,54,0,176,74,0,224,187,74,0,16,190,74,0,224,35,0,0,0,252,119,128,155,224,122,245,39,208,93,229,40,224,92,213,41,208,63,197,42,96,121,190,43,80,70,211,44,96,91,158,45,80,40,179,46,96,61,126,47,80,10,147,48,224,89,103,49,80,236,114,50,224,59,71,51,80,206,82,52,224,29,39,53,80,176,50,54,224,255,6,55,208,204,27,56,224,225,230,56,208,174,251,57,224,195,198,58,208,144,219,59,96,224,175,60,208,114,187,61,96,194,143,62,208,84,155,63,96,164,111,64,80,113,132,65,96,134,79,66,80,83,100,67,96,104,47,68,80,53,68,69,224,154,243,69,208,81,45,71,170,170,170,170,35,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,132,191,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,192,199,255,127,207,10,0,96,216,7,0,112,202,74,0,224,239,74,0,16,249,74,0,224,4,0,0,0,116,0,0,0,200,0,0,0,218,0,0,0,28,2,0,0,94,0,0,0,112,232,182,165,112,79,121,169,240,124,242,175,112,100,102,182,0,16,27,183,240,242,10,184,128,141,234,203,112,186,153,210,0,89,27,215,240,180,145,216,144,75,126,226,144,82,73,227,144,45,94,228,144,52,41,229,16,74,71,230,16,81,18,231,16,44,39,232,16,51,242,232,16,14,7,234,16,21,210,234,16,240,230,235,16,247,177,236,16,210,198,237,16,217,145,238,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,160,130,15,70,144,79,36,71,32,159,248,71,144,49,4,73,32,129,216,73,144,19,228,74,160,179,156,75,144,106,214,76,170,170,170,170,94,0,0,0,3,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,8,0,0,0,76,146,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,128,143,255,127,1,0,0,96,219,7,0,112,10,75,0,224,15,75,0,224,111,75,0,16,136,75,0,224,6,0,0,0,171,0,0,0,173,0,0,0,175,0,0,0,217,0,0,0,219,0,0,0,133,1,0,0,170,0,0,0,112,147,184,158,96,235,186,159,200,46,135,160,64,177,154,161,240,6,148,162,64,169,85,163,240,93,134,164,96,120,40,165,240,63,102,166,224,78,12,167,240,33,70,168,224,48,236,168,112,201,28,170,96,77,213,170,112,171,252,171,96,47,181,172,112,141,220,173,96,17,149,174,112,111,188,175,224,45,126,176,112,81,156,177,96,74,103,178,112,51,124,179,96,44,71,180,112,21,92,181,96,14,39,182,112,247,59,183,96,240,6,184,240,19,37,185,96,210,230,185,240,245,4,187,224,238,207,187,240,215,228,188,224,208,175,189,240,185,196,190,224,178,143,191,240,155,164,192,224,148,111,193,240,125,132,194,224,118,79,195,240,95,100,196,224,88,47,197,112,124,77,198,224,58,15,199,112,94,45,200,224,251,96,210,240,228,117,211,224,221,64,212,240,198,85,213,224,191,32,214,240,168,53,215,224,161,0,216,240,138,21,217,96,146,51,218,112,167,254,218,96,116,19,220,112,137,222,220,96,130,169,221,112,107,190,222,96,100,137,223,112,77,158,224,96,70,105,225,112,47,126,226,96,40,73,227,112,17,94,228,96,10,41,229,240,45,71,230,224,38,18,231,240,15,39,232,224,242,22,233,240,241,6,234,224,212,246,234,240,211,230,235,224,182,214,236,240,181,198,237,96,211,191,238,112,210,175,239,96,181,159,240,112,180,143,241,96,151,127,242,112,150,111,243,96,121,95,244,112,120,79,245,96,91,63,246,112,90,47,247,224,119,40,248,112,60,15,249,224,89,8,250,240,88,248,250,224,59,232,251,240,58,216,252,224,29,200,253,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,193,32,8,96,164,16,9,112,163,0,10,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,2,0,0,0,255,255,255,255,236,120,238,114,170,170,170,170,170,170,170,170,171,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,148,181,255,255,0,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,176,185,255,127,163,3,0,96,216,7,0,112,156,75,0,224,163,75,0,224,78,76,0,224,83,76,0,16,127,76,0,224,2,0,0,0,221,0,0,0,136,1,0,0,128,0,0,0,160,189,184,158,144,21,187,159,160,26,137,203,16,38,97,210,32,15,118,211,16,8,65,212,32,241,85,213,16,234,32,214,32,211,53,215,16,204,0,216,32,181,21,217,16,174,224,217,160,209,254,218,16,144,192,219,160,179,222,220,144,172,169,221,160,149,190,222,144,142,137,223,160,119,158,224,144,112,105,225,160,89,126,226,144,82,73,227,160,59,94,228,144,52,41,229,32,88,71,230,16,81,18,231,32,58,39,232,16,51,242,232,32,28,7,234,16,21,210,234,32,254,230,235,16,247,177,236,32,224,198,237,16,217,145,238,160,252,175,239,16,187,113,240,160,222,143,241,144,193,127,242,160,192,111,243,144,163,95,244,160,162,79,245,144,133,63,246,160,132,47,247,16,162,40,248,160,102,15,249,16,132,8,250,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,235,32,8,144,206,16,9,160,205,0,10,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,2,0,0,0,255,255,255,255,236,118,61,94,170,170,170,170,129,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,148,140,255,255,0,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,128,143,255,127,163,3,0,96,216,7,0,112,147,76,0,224,150,76,0,224,23,77,0,224,27,77,0,16,61,77,0,224,2,0,0,0,223,0,0,0,138,1,0,0,91,0,0,0,176,203,184,158,160,35,187,159,176,12,208,160,128,210,162,161,176,40,137,203,32,52,97,210,144,118,47,247,16,162,40,248,144,132,197,248,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,32,181,211,71,16,108,13,73,32,151,179,73,16,78,237,74,160,179,156,75,144,106,214,76,160,149,124,77,144,76,182,78,160,119,92,79,144,46,150,80,160,89,60,81,144,16,118,82,160,59,28,83,144,242,85,84,160,29,252,84,144,212,53,86,32,58,229,86,16,241,30,88,32,28,197,88,16,211,254,89,32,254,164,90,16,181,222,91,32,224,132,92,16,151,190,93,32,194,100,94,240,92,158,95,2,0,0,0,255,255,255,255,156,138,134,125,92,0,0,0,1,2,1,2,1,2,1,3,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,6,14,0,0,0,100,129,255,255,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,112,129,255,255,32,28,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,144,157,255,255,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,81,77,0,224,84,77,0,224,176,77,0,224,179,77,0,16,203,77,0,224,3,0,0,0,193,0,0,0,224,0,0,0,131,1,0,0,124,0,0,0,224,251,1,155,80,186,195,155,128,161,184,158,112,249,186,159,128,59,160,194,240,132,79,195,128,254,136,203,240,9,97,210,0,104,136,211,240,96,83,212,0,213,85,213,240,205,32,214,0,183,53,215,240,175,0,216,0,153,21,217,240,145,224,217,0,7,0,219,240,92,200,219,128,151,222,220,112,144,169,221,128,121,190,222,112,114,137,223,128,91,158,224,112,84,105,225,128,61,126,226,112,54,73,227,128,31,94,228,112,24,41,229,0,60,71,230,240,52,18,231,0,30,39,232,240,22,242,232,0,0,7,234,240,248,209,234,0,226,230,235,240,196,214,236,0,196,198,237,240,188,145,238,128,164,111,243,240,98,49,244,128,74,15,249,0,118,8,250,0,103,248,250,0,88,232,251,0,73,216,252,0,58,200,253,0,43,184,254,0,28,168,255,0,13,152,0,0,254,135,1,0,239,119,2,128,26,113,3,128,11,97,4,128,252,80,5,128,237,64,6,128,222,48,7,128,207,32,8,128,192,16,9,128,177,0,10,128,162,240,10,128,147,224,11,0,191,217,12,128,117,192,13,0,161,185,14,0,146,169,15,0,131,153,16,0,116,137,17,0,101,121,18,0,86,105,19,0,71,89,20,0,56,73,21,0,41,57,22,0,26,41,23,128,69,34,24,0,252,8,25,128,39,2,26,128,24,242,26,128,9,226,27,128,250,209,28,128,235,193,29,128,220,177,30,128,205,161,31,0,15,118,32,128,175,129,33,0,241,85,34,0,204,106,35,0,211,53,36,0,174,74,37,0,181,21,38,0,144,42,39,128,209,254,39,0,114,10,41,128,179,222,41,0,84,234,42,128,149,190,43,128,112,211,44,128,119,158,45,128,82,179,46,128,89,126,47,128,52,147,48,0,118,103,49,128,22,115,50,0,88,71,51,128,248,82,52,0,58,39,53,128,218,50,54,0,28,7,55,0,247,27,56,0,254,230,56,0,217,251,57,0,224,198,58,0,187,219,59,128,252,175,60,0,157,187,61,128,222,143,62,0,127,155,63,128,192,111,64,128,155,132,65,128,162,79,66,128,125,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,2,0,0,0,255,255,255,255,148,176,228,100,170,170,170,170,125,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,236,164,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,171,255,127,163,3,0,96,216,7,0,112,226,77,0,224,230,77,0,224,99,78,0,224,103,78,0,16,136,78,0,224,80,0,0,0,176,40,137,203,32,52,97,210,48,85,184,254,32,56,168,255,48,55,152,0,32,26,136,1,48,25,120,2,160,54,113,3,176,53,97,4,160,24,81,5,176,23,65,6,160,250,48,7,176,81,141,7,160,220,16,9,48,205,173,9,160,190,240,10,176,189,224,11,32,219,217,12,176,159,192,13,32,189,185,14,48,188,169,15,32,159,153,16,48,158,137,17,32,129,121,18,48,128,105,19,32,99,89,20,48,98,73,21,32,69,57,22,48,68,41,23,160,97,34,24,48,38,9,25,160,67,2,26,176,66,242,26,160,37,226,27,176,36,210,28,160,7,194,29,176,6,178,30,160,233,161,31,48,57,118,32,160,203,129,33,48,27,86,34,32,232,106,35,48,253,53,36,32,202,74,37,48,223,21,38,32,172,42,39,176,251,254,39,32,142,10,41,176,221,222,41,32,112,234,42,176,191,190,43,160,140,211,44,176,161,158,45,160,110,179,46,176,131,126,47,160,80,147,48,48,160,103,49,160,50,115,50,48,130,71,51,160,20,83,52,48,100,39,53,160,246,50,54,48,70,7,55,32,19,28,56,48,40,231,56,32,245,251,57,48,10,199,58,32,215,219,59,176,38,176,60,32,185,187,61,176,8,144,62,32,155,155,63,176,234,111,64,160,183,132,65,176,204,79,66,160,153,100,67,176,174,47,68,160,123,68,69,48,225,243,69,32,152,45,71,4,0,0,0,255,255,255,255,209,253,194,63,255,255,255,255,191,55,135,125,170,170,170,170,82,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,129,206,0,0,0,0,0,0,1,125,255,255,0,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,112,129,255,127,1,0,0,96,216,7,0,112,156,78,0,224,237,78,0,224,243,78,0,16,9,79,0,224,17,0,0,0,128,204,30,254,32,6,218,74,240,202,143,75,32,156,169,78,144,205,67,79,128,59,10,88,16,15,164,90,64,20,185,91,128,29,141,92,48,69,150,93,0,197,99,94,60,160,120,95,80,183,76,96,60,130,88,97,80,153,44,98,60,100,56,99,0,177,8,100,17,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,0,0,0,0,0,0,0,0,128,112,0,0,0,0,0,0,176,154,0,0,0,0,0,0,3,0,48,0,66,0,54,0,29,79,0,224,47,79,0,16,53,79,0,224,7,0,0,0,0,64,156,231,16,223,71,246,0,171,71,254,48,20,218,74,64,250,151,75,48,170,169,78,192,247,67,79,170,170,170,170,170,170,170,170,7,0,0,0,2,0,2,1,2,1,2,170,6,0,0,0,0,0,0,0,0,0,0,0,80,70,0,0,0,0,0,0,112,98,0,0,0,0,0,0,3,0,48,0,66,0,54,0,65,79,0,224,75,79,0,16,78,79,0,224,91,0,0,0,128,120,213,155,0,47,188,156,96,180,135,160,0,104,12,215,0,141,194,251,0,126,178,252,0,89,199,253,128,176,118,254,0,59,167,255,128,146,86,0,0,29,135,1,0,175,63,2,128,57,112,3,0,28,13,4,128,27,80,5,128,56,246,5,128,253,47,7,128,26,214,7,128,223,15,9,128,252,181,9,128,193,239,10,0,25,159,11,0,222,216,12,0,251,126,13,0,192,184,14,0,221,94,15,0,162,152,16,0,191,62,17,0,132,120,18,0,161,30,19,0,102,88,20,0,131,254,20,0,72,56,22,0,79,3,23,128,100,33,24,0,49,227,24,128,70,1,26,128,99,167,26,128,40,225,27,128,69,135,28,128,10,193,29,128,39,103,30,0,178,151,31,128,126,89,32,128,206,128,33,0,155,66,34,0,235,105,35,0,125,34,36,0,205,73,37,0,95,2,38,0,175,41,39,0,182,244,39,128,225,237,40,0,152,212,41,128,195,205,42,0,122,180,43,128,165,173,44,0,92,148,45,128,135,141,46,0,62,116,47,128,105,109,48,128,90,93,49,0,134,86,50,128,60,61,51,0,104,54,52,128,30,29,53,0,74,22,54,128,0,253,54,0,44,246,55,128,226,220,56,128,233,167,57,128,196,188,58,128,42,191,59,0,225,165,60,128,12,159,61,0,195,133,62,128,238,126,63,0,165,101,64,128,208,94,65,0,135,69,66,128,178,62,67,128,163,46,68,128,148,30,69,0,75,5,70,0,177,7,71,0,162,247,71,0,147,231,72,0,132,215,73,0,117,199,74,0,72,151,77,0,57,135,78,2,0,0,0,255,255,255,255,0,22,5,124,170,170,170,170,170,170,170,170,92,0,0,0,1,2,1,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,6,0,0,0,0,0,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,160,140,0,112,218,3,0,96,220,7,0,112,90,79,0,224,182,79,0,224,187,79,0,16,211,79,0,224,2,0,0,0,128,50,32,226,64,34,218,74,170,170,170,170,170,170,170,170,170,170,170,170,2,0,0,0,2,1,170,170,6,0,0,0,0,0,0,0,0,0,0,0,80,70,0,0,0,0,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,229,79,0,224,235,79,0,16,237,79,0,224,82,0,0,0,0,173,152,246,176,159,230,246,192,67,19,248,48,211,199,248,64,119,244,249,176,54,211,250,192,53,195,251,48,83,188,252,64,82,172,253,48,53,156,254,64,52,140,255,176,74,163,7,160,111,36,8,176,188,48,23,192,93,6,24,176,86,209,24,192,63,230,25,176,56,177,26,64,92,207,27,176,26,145,28,64,62,175,29,176,252,112,30,64,32,143,31,48,3,127,32,64,2,111,33,48,251,57,34,64,228,78,35,48,221,25,36,192,0,56,37,48,191,249,37,192,248,242,38,48,161,217,39,192,196,247,40,176,189,194,41,192,166,215,42,176,159,162,43,192,136,183,44,176,129,130,45,192,106,151,46,176,99,98,47,64,135,128,48,176,69,66,49,64,105,96,50,48,215,61,51,64,75,64,52,48,68,11,53,64,184,13,54,176,213,6,55,64,15,0,56,48,8,203,56,192,43,233,57,48,234,170,58,192,13,201,59,48,204,138,60,192,239,168,61,48,174,106,62,192,209,136,63,176,202,83,64,192,179,104,65,176,172,51,66,192,149,72,67,176,142,19,68,64,178,49,69,176,112,243,69,64,148,17,71,48,2,239,71,64,118,241,72,48,111,188,73,64,88,209,74,176,0,184,75,64,58,177,76,48,7,198,77,192,130,80,78,176,174,156,79,192,217,66,80,176,144,124,81,64,246,43,82,176,114,92,83,64,216,11,84,48,230,55,87,192,236,175,87,176,134,67,88,170,170,170,170,170,170,170,170,170,170,170,170,82,0,0,0,2,1,2,1,2,1,2,1,2,1,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,170,170,10,0,0,0,0,0,0,0,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,249,79,0,224,79,80,0,16,101,80,0,224,1,0,0,0,0,45,2,13,1,0,0,0,1,170,170,170,4,0,0,0,0,0,0,0,0,0,0,0,208,213,255,255,0,0,0,0,3,0,48,0,66,0,54,0,117,80,0,224,119,80,0,16,121,80,0,224,2,0,0,0,144,5,70,66,16,27,100,67,170,170,170,170,2,0,0,0,1,0,170,170,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,28,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,0,0,0,112,27,23,0,96,214,7,0,112,131,80,0,224,135,80,0,16,137,80,0,224,4,0,0,0,128,137,88,233,16,57,77,45,0,133,181,46,48,69,127,101,170,170,170,170,170,170,170,170,4,0,0,0,2,0,2,1,6,0,0,0,0,0,0,0,0,0,0,0,80,70,0,0,0,0,0,0,112,98,0,0,0,0,0,0,3,0,48,0,66,0,54,0,152,80,0,224,159,80,0,16,161,80,0,224,52,0,0,0,220,123,25,170,48,239,163,181,160,125,39,21,16,178,24,22,32,177,8,23,144,229,249,23,160,228,233,24,16,25,219,25,160,105,204,26,192,118,188,27,192,103,172,28,192,88,156,29,192,73,140,30,192,58,124,31,192,43,108,32,192,28,92,33,192,13,76,34,192,254,59,35,192,239,43,36,192,224,27,37,192,209,11,38,64,253,4,39,64,238,244,39,80,237,228,40,80,149,120,41,64,208,212,41,64,193,196,42,64,178,180,43,64,163,164,44,64,148,148,45,64,133,132,46,64,118,116,47,64,103,100,48,192,146,93,49,192,109,114,50,192,116,61,51,192,79,82,52,192,86,29,53,192,49,50,54,192,56,253,54,64,78,27,56,192,26,221,56,64,48,251,57,192,252,188,58,64,18,219,59,64,25,166,60,64,244,186,61,64,251,133,62,64,214,154,63,64,221,101,64,192,242,131,65,32,198,224,101,170,170,170,170,52,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,1,10,0,0,0,36,72,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,3,0,48,0,66,0,54,0,173,80,0,224,227,80,0,16,241,80,0,224,87,0,0,0,208,214,163,182,224,121,114,6,80,171,12,7,96,55,36,8,208,222,237,8,224,106,5,10,80,18,207,10,224,239,231,11,208,117,218,12,96,35,201,13,208,202,146,14,96,5,169,15,208,172,114,16,96,213,173,28,208,9,159,29,96,253,146,30,80,224,130,31,96,223,114,32,80,194,98,33,96,193,82,34,208,222,75,35,96,188,100,36,208,192,43,37,96,111,55,38,208,162,11,39,224,115,11,40,80,74,226,40,96,190,228,41,208,102,203,42,224,101,187,43,208,72,171,44,224,71,155,45,208,181,120,46,96,100,132,47,224,165,88,48,96,70,100,49,96,194,65,50,96,40,68,51,96,164,33,52,96,10,36,53,96,134,1,54,96,147,122,55,224,162,234,55,224,124,226,56,96,191,211,57,224,94,194,58,96,161,179,59,96,146,163,60,96,131,147,61,96,116,131,62,96,79,152,63,96,86,99,64,224,246,110,65,224,114,76,66,224,99,60,67,224,84,44,68,224,47,65,69,224,54,12,70,224,17,33,71,224,24,236,71,96,46,10,73,224,250,203,73,96,16,234,74,224,220,171,75,96,242,201,76,96,249,148,77,96,212,169,78,96,219,116,79,80,94,179,82,96,159,52,83,224,180,82,84,96,129,20,85,224,150,50,86,224,157,253,86,224,120,18,88,224,127,221,88,224,90,242,89,224,97,189,90,224,60,210,91,224,67,157,92,224,30,178,93,224,37,125,94,96,59,155,95,224,7,93,96,96,29,123,97,224,255,23,98,96,255,90,99,170,170,170,170,170,170,170,170,87,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,170,8,0,0,0,176,33,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,3,0,48,0,66,0,54,0,1,81,0,224,91,81,0,16,114,81,0,224,64,0,0,0,156,29,25,170,192,140,163,181,48,27,39,21,160,79,24,22,176,78,8,23,48,145,249,23,64,144,233,24,176,196,218,25,64,21,204,26,96,34,188,27,96,19,172,28,96,4,156,29,96,245,139,30,96,230,123,31,96,215,107,32,96,200,91,33,96,185,75,34,96,170,59,35,96,155,43,36,96,140,27,37,96,125,11,38,224,168,4,39,224,153,244,39,240,152,228,40,240,64,120,41,224,123,212,41,224,108,196,42,224,93,180,43,224,78,164,44,224,63,148,45,224,48,132,46,224,33,116,47,224,18,100,48,96,62,93,49,96,25,114,50,96,32,61,51,96,251,81,52,96,2,29,53,96,221,49,54,96,228,252,54,224,249,26,56,96,198,220,56,224,219,250,57,96,168,188,58,224,189,218,59,224,196,165,60,224,159,186,61,224,166,133,62,224,129,154,63,224,136,101,64,96,158,131,65,224,106,69,66,96,128,99,67,224,76,37,68,96,98,67,69,224,46,5,70,96,68,35,71,96,75,238,71,96,38,3,73,96,45,206,73,96,8,227,74,96,15,174,75,240,50,204,76,112,255,141,77,170,170,170,170,170,170,170,170,64,0,0,0,3,5,6,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,14,0,0,0,100,166,0,0,0,0,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,192,168,0,0,0,0,0,0,192,168,0,0,16,14,0,0,208,182,0,0,0,0,0,0,208,182,0,0,16,14,0,0,3,0,48,0,66,0,54,0,128,81,0,224,195,81,0,16,212,81,0,224,50,0,0,0,224,148,25,170,64,253,163,181,48,206,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,80,222,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,96,146,116,47,96,131,100,48,224,174,93,49,224,137,114,50,224,144,61,51,224,107,82,52,224,114,29,53,224,77,50,54,224,84,253,54,96,106,27,56,224,54,221,56,96,76,251,57,224,24,189,58,96,46,219,59,96,53,166,60,96,16,187,61,96,23,134,62,96,242,154,63,96,249,101,64,224,14,132,65,50,0,0,0,1,3,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,170,170,12,0,0,0,32,47,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,232,81,0,224,27,82,0,16,41,82,0,224,51,0,0,0,104,142,25,170,64,253,163,181,176,139,39,21,32,192,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,80,222,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,80,132,116,47,80,117,100,48,208,160,93,49,208,123,114,50,208,130,61,51,208,93,82,52,208,100,29,53,208,63,50,54,208,70,253,54,80,92,27,56,208,40,221,56,80,62,251,57,208,10,189,58,80,32,219,59,80,39,166,60,80,2,187,61,80,9,134,62,80,228,154,63,80,235,101,64,208,0,132,65,51,0,0,0,1,3,4,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,12,0,0,0,152,53,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,59,82,0,224,111,82,0,16,125,82,0,224,2,0,0,0,246,0,0,0,247,0,0,0,25,0,0,0,68,141,25,170,64,253,163,181,176,139,39,21,32,192,24,22,48,191,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,170,170,170,170,170,170,170,170,170,170,170,170,25,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,170,170,170,10,0,0,0,188,54,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,143,82,0,224,146,82,0,224,175,82,0,16,183,82,0,224,50,0,0,0,80,147,25,170,80,11,164,181,48,206,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,80,222,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,80,132,116,47,80,117,100,48,208,160,93,49,208,123,114,50,208,130,61,51,208,93,82,52,208,100,29,53,208,63,50,54,208,70,253,54,96,106,27,56,224,54,221,56,96,76,251,57,224,24,189,58,96,46,219,59,96,53,166,60,96,16,187,61,96,23,134,62,96,242,154,63,96,249,101,64,224,14,132,65,170,170,170,170,170,170,170,170,170,170,170,170,50,0,0,0,1,4,6,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,3,2,3,2,3,2,3,2,3,4,170,170,14,0,0,0,176,48,0,0,0,0,0,0,48,42,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,201,82,0,224,255,82,0,16,13,83,0,224,53,0,0,0,224,60,48,158,80,104,48,23,192,15,250,23,80,189,232,24,64,67,219,25,208,147,204,26,64,200,189,27,80,199,173,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,224,252,27,37,224,237,11,38,96,25,5,39,0,120,246,39,128,186,231,40,0,253,216,41,128,63,202,42,128,48,186,43,0,115,171,44,0,100,155,45,128,166,140,46,128,151,124,47,0,218,109,48,128,28,95,49,0,95,80,50,0,80,64,51,128,146,49,52,128,131,33,53,0,198,18,54,0,183,2,55,128,249,243,55,0,60,229,56,128,126,214,57,128,111,198,58,0,178,183,59,0,163,167,60,128,229,152,61,128,214,136,62,0,25,122,63,128,91,107,64,0,158,92,65,0,143,76,66,128,209,61,67,128,194,45,68,0,5,31,69,0,246,14,70,128,56,0,71,2,0,0,0,255,255,255,255,220,177,134,105,170,170,170,170,54,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,164,41,0,0,0,0,0,0,160,41,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,33,83,0,224,87,83,0,224,91,83,0,16,106,83,0,224,66,0,0,0,68,149,25,170,80,12,218,231,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,224,252,27,37,224,237,11,38,96,25,5,39,96,10,245,39,112,9,229,40,112,250,212,41,112,235,196,42,16,217,93,49,16,180,114,50,0,173,61,51,0,136,82,52,0,143,29,53,0,106,50,54,0,113,253,54,128,134,27,56,0,83,221,56,128,104,251,57,0,53,189,58,128,74,219,59,128,81,166,60,128,44,187,61,128,51,134,62,128,14,155,63,128,21,102,64,0,43,132,65,128,247,69,66,0,13,100,67,128,217,37,68,0,239,67,69,128,187,5,70,0,209,35,71,0,216,238,71,0,179,3,73,0,186,206,73,0,149,227,74,0,156,174,75,128,177,204,76,0,126,142,77,128,147,172,78,0,96,110,79,128,117,140,80,128,124,87,81,128,87,108,82,128,94,55,83,128,57,76,84,128,64,23,85,128,27,44,86,170,170,170,170,170,170,170,170,66,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,188,46,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,122,83,0,224,191,83,0,16,209,83,0,224,4,0,0,0,252,0,0,0,48,1,0,0,77,1,0,0,8,2,0,0,1,0,0,0,196,103,106,162,170,170,170,170,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,60,94,0,0,0,0,0,0,112,98,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,225,83,0,224,230,83,0,224,235,83,0,16,237,83,0,224,67,0,0,0,252,125,213,161,32,225,163,181,144,111,39,21,0,164,24,22,16,163,8,23,128,215,249,23,144,214,233,24,0,11,219,25,144,91,204,26,176,104,188,27,176,89,172,28,176,74,156,29,176,59,140,30,176,44,124,31,176,29,108,32,176,14,92,33,176,255,75,34,176,240,59,35,176,225,43,36,176,210,27,37,176,195,11,38,48,239,4,39,48,224,244,39,64,223,228,40,64,135,120,41,48,194,212,41,48,179,196,42,48,164,180,43,48,149,164,44,48,134,148,45,48,119,132,46,48,104,116,47,128,76,199,47,64,103,100,48,192,146,93,49,192,109,114,50,192,116,61,51,192,79,82,52,192,86,29,53,192,49,50,54,192,56,253,54,64,78,27,56,192,26,221,56,64,48,251,57,192,252,188,58,64,18,219,59,64,25,166,60,64,244,186,61,64,251,133,62,64,214,154,63,64,221,101,64,192,242,131,65,64,191,69,66,192,212,99,67,64,161,37,68,192,182,67,69,64,131,5,70,192,152,35,71,192,159,238,71,192,122,3,73,192,129,206,73,192,92,227,74,192,99,174,75,64,121,204,76,192,69,142,77,48,243,75,84,64,234,246,86,170,170,170,170,170,170,170,170,67,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,170,10,0,0,0,132,78,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,3,0,48,0,66,0,54,0,249,83,0,224,63,84,0,16,81,84,0,224,64,0,0,0,224,99,101,162,80,130,123,163,96,128,78,164,208,180,63,165,224,39,37,166,208,127,39,167,224,243,41,168,80,178,235,168,224,133,42,232,80,45,244,232,96,185,11,234,208,96,213,234,224,236,236,235,80,148,182,236,224,113,207,237,80,25,153,238,96,165,176,239,208,76,122,240,96,94,166,4,208,119,43,5,224,3,67,6,80,171,12,7,96,55,36,8,208,222,237,8,224,106,5,10,80,18,207,10,224,239,231,11,80,151,177,12,96,35,201,13,208,202,146,14,96,5,169,15,208,172,114,16,224,46,244,26,208,156,209,27,96,98,213,28,80,208,178,29,224,149,182,30,208,3,148,31,96,201,151,32,80,55,117,33,224,44,163,34,80,188,87,35,96,95,103,36,208,239,56,37,96,181,60,38,80,35,26,39,224,232,29,40,208,86,251,40,224,109,0,42,208,9,206,42,96,206,180,43,80,177,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,145,77,50,224,144,61,51,208,115,45,52,224,114,29,53,208,85,13,54,224,84,253,54,80,92,27,56,2,0,0,0,255,255,255,255,184,194,182,86,170,170,170,170,170,170,170,170,65,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,72,33,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,32,28,0,112,13,4,0,96,208,7,0,112,97,84,0,224,162,84,0,224,167,84,0,16,185,84,0,224,52,0,0,0,16,126,25,170,48,239,163,181,160,125,39,21,16,178,24,22,32,177,8,23,144,229,249,23,160,228,233,24,16,25,219,25,160,105,204,26,192,118,188,27,192,103,172,28,192,88,156,29,192,73,140,30,192,58,124,31,192,43,108,32,192,28,92,33,192,13,76,34,192,254,59,35,192,239,43,36,192,224,27,37,192,209,11,38,64,253,4,39,64,238,244,39,192,163,190,40,48,55,231,41,32,165,196,42,48,25,199,43,32,135,164,44,48,251,166,45,32,105,132,46,48,221,134,47,32,75,100,48,48,191,102,49,160,103,77,50,216,137,61,51,200,86,82,52,216,107,29,53,200,56,50,54,216,77,253,54,72,85,27,56,216,47,221,56,72,55,251,57,216,17,189,58,72,25,219,59,88,46,166,60,72,251,186,61,88,16,134,62,72,221,154,63,88,242,101,64,200,249,131,65,88,212,69,66,32,146,251,66,170,170,170,170,170,170,170,170,170,170,170,170,52,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,10,0,0,0,240,69,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,3,0,48,0,66,0,54,0,203,84,0,224,3,85,0,16,17,85,0,224,66,0,0,0,160,249,219,161,0,197,163,181,112,83,39,21,224,135,24,22,240,134,8,23,96,187,249,23,112,186,233,24,224,238,218,25,112,63,204,26,144,76,188,27,144,61,172,28,144,46,156,29,144,31,140,30,144,16,124,31,144,1,108,32,144,242,91,33,144,227,75,34,144,212,59,35,144,197,43,36,144,182,27,37,144,167,11,38,16,211,4,39,16,196,244,39,32,195,228,40,32,107,120,41,16,166,212,41,16,151,196,42,16,136,180,43,16,121,164,44,16,106,148,45,16,91,132,46,16,76,116,47,16,61,100,48,144,104,93,49,144,67,114,50,144,74,61,51,144,37,82,52,144,44,29,53,144,7,50,54,144,14,253,54,16,36,27,56,144,240,220,56,16,6,251,57,144,210,188,58,16,232,218,59,16,239,165,60,16,202,186,61,16,209,133,62,16,172,154,63,16,179,101,64,144,200,131,65,16,149,69,66,144,170,99,67,16,119,37,68,144,140,67,69,16,89,5,70,144,110,35,71,144,117,238,71,144,80,3,73,144,87,206,73,144,50,227,74,144,57,174,75,16,79,204,76,144,27,142,77,0,201,75,84,32,206,246,86,170,170,170,170,170,170,170,170,170,170,170,170,66,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,1,3,170,170,12,0,0,0,96,106,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,160,140,0,0,0,0,0,0,3,0,48,0,66,0,54,0,33,85,0,224,103,85,0,16,121,85,0,224,51,0,0,0,40,231,211,134,144,220,11,15,128,200,233,24,224,238,218,25,112,63,204,26,96,34,188,27,112,33,172,28,96,4,156,29,112,3,140,30,96,230,123,31,112,229,107,32,96,200,91,33,112,199,75,34,96,170,59,35,112,169,43,36,96,140,27,37,112,139,11,38,224,168,4,39,240,167,244,39,224,138,228,40,240,137,212,41,224,108,196,42,240,107,180,43,224,78,164,44,240,77,148,45,224,48,132,46,240,47,116,47,224,18,100,48,112,76,93,49,96,47,77,50,112,46,61,51,96,17,45,52,112,16,29,53,96,243,12,54,144,165,233,58,128,158,180,59,144,157,164,60,128,128,148,61,144,127,132,62,128,98,116,63,144,97,100,64,128,68,84,65,144,67,68,66,128,38,52,67,144,37,36,68,0,67,29,69,240,170,239,71,160,154,21,85,112,97,5,86,160,124,245,86,112,67,229,87,51,0,0,0,1,2,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,2,3,2,3,2,170,12,0,0,0,88,107,0,0,0,0,0,0,112,98,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,3,0,48,0,66,0,54,0,139,85,0,224,191,85,0,16,205,85,0,224,7,0,0,0,28,189,157,135,40,28,90,203,160,43,149,204,56,128,117,210,40,0,166,49,32,0,113,50,40,234,63,68,2,0,0,0,255,255,255,255,36,153,182,86,170,170,170,170,8,0,0,0,1,2,3,4,2,6,5,2,14,0,0,0,220,74,0,0,0,0,0,0,228,74,0,0,0,0,0,0,88,77,0,0,0,0,0,0,88,77,0,0,8,7,0,0,88,77,0,0,16,14,0,0,96,84,0,0,0,0,0,0,104,91,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,223,85,0,224,231,85,0,224,235,85,0,16,238,85,0,224,121,0,0,0,120,171,242,161,128,47,129,162,112,157,94,163,128,17,97,164,112,127,62,165,128,243,64,166,112,97,30,167,128,213,32,168,240,125,7,169,0,82,143,241,112,156,91,242,128,40,115,243,112,126,59,244,128,173,85,245,240,84,31,246,0,225,54,247,240,54,255,247,0,218,14,249,240,187,225,249,0,72,249,250,112,239,194,251,0,205,219,252,112,116,165,253,128,0,189,254,240,167,134,255,0,52,158,0,112,219,103,1,128,103,127,2,240,14,73,3,128,236,97,4,240,147,43,5,0,32,67,6,112,199,12,7,128,83,36,8,240,250,237,8,0,135,5,10,112,46,207,10,0,12,232,11,112,179,177,12,128,63,201,13,240,89,107,14,0,115,170,15,112,141,76,16,0,197,244,24,112,109,219,25,0,74,215,26,112,242,189,27,0,35,85,30,112,229,138,31,0,122,71,32,240,25,137,33,0,116,60,34,240,158,107,35,128,191,50,36,112,69,37,37,128,68,21,38,112,39,5,39,224,91,246,39,80,144,231,40,96,27,226,41,80,21,202,42,96,43,178,43,208,95,163,44,224,71,155,45,80,124,140,46,96,123,124,47,208,175,109,48,96,0,95,49,208,52,80,50,96,226,62,51,80,104,49,52,96,196,30,53,208,155,18,54,224,154,2,55,80,207,243,55,224,31,229,56,80,84,214,57,96,83,198,58,208,135,183,59,224,134,167,60,80,187,152,61,96,186,136,62,208,238,121,63,96,63,107,64,208,115,92,65,224,114,76,66,80,167,61,67,96,166,45,68,80,253,18,69,224,54,12,70,80,62,42,71,96,83,245,71,208,113,11,73,224,250,203,73,80,2,234,74,96,23,181,75,80,228,201,76,96,249,148,77,80,198,169,78,96,219,116,79,80,168,137,80,96,189,84,81,80,138,105,82,96,159,52,83,208,166,82,84,96,129,20,85,208,136,50,86,96,99,244,86,208,106,18,88,224,127,221,88,208,76,242,89,224,97,189,90,208,46,210,91,224,67,157,92,208,16,178,93,224,37,125,94,80,45,155,95,224,7,93,96,80,15,123,97,224,233,60,98,80,241,90,99,170,170,170,170,121,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,170,170,170,8,0,0,0,8,34,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,3,0,48,0,66,0,54,0,4,86,0,224,127,86,0,16,159,86,0,224,3,0,0,0,7,1,0,0,9,1,0,0,119,1,0,0,6,0,0,0,176,134,219,202,24,113,5,204,168,50,149,204,152,210,168,221,16,196,59,74,144,216,60,75,2,0,0,0,255,255,255,255,188,134,134,105,7,0,0,0,2,5,1,5,3,4,3,170,12,0,0,0,196,84,0,0,0,0,0,0,88,77,0,0,0,0,0,0,208,82,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,104,91,0,0,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,173,86,0,224,177,86,0,224,184,86,0,224,187,86,0,16,190,86,0,224,4,0,0,0,196,24,230,146,240,50,153,203,112,48,234,11,0,153,195,57,170,170,170,170,170,170,170,170,170,170,170,170,4,0,0,0,1,2,1,2,6,0,0,0,188,117,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,3,0,48,0,66,0,54,0,211,86,0,224,219,86,0,16,221,86,0,224,4,0,0,0,11,1,0,0,42,1,0,0,12,2,0,0,16,2,0,0,1,0,0,0,168,153,242,161,170,170,170,170,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,216,51,0,0,0,0,0,0,64,56,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,233,86,0,224,238,86,0,224,243,86,0,16,245,86,0,224,24,0,0,0,128,131,25,170,48,239,163,181,160,125,39,21,16,178,24,22,32,177,8,23,144,229,249,23,160,228,233,24,16,25,219,25,160,105,204,26,192,118,188,27,192,103,172,28,192,88,156,29,192,73,140,30,192,58,124,31,192,43,108,32,192,28,92,33,192,13,76,34,192,254,59,35,192,239,43,36,192,224,27,37,192,209,11,38,64,253,4,39,64,238,244,39,80,143,202,40,170,170,170,170,24,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,10,0,0,0,128,64,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,3,0,48,0,66,0,54,0,1,87,0,224,27,87,0,16,34,87,0,224,88,0,0,0,44,30,119,165,224,175,237,9,208,146,221,10,224,100,250,11,80,198,190,12,96,57,164,13,208,225,138,14,96,27,132,15,208,79,117,16,96,253,99,17,80,224,83,18,224,25,77,19,80,194,51,20,96,193,35,21,80,164,19,22,96,163,3,23,80,134,243,23,96,133,227,24,80,104,211,25,96,103,195,26,208,132,188,27,224,131,172,28,208,102,156,29,224,101,140,30,208,72,124,31,224,71,108,32,208,42,92,33,224,41,76,34,208,12,60,35,224,11,44,36,208,238,27,37,224,237,11,38,80,11,5,39,96,10,245,39,80,237,228,40,96,236,212,41,80,207,196,42,96,206,180,43,80,177,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,145,77,50,224,144,61,51,208,115,45,52,224,114,29,53,16,120,50,54,16,127,253,54,144,148,27,56,16,97,221,56,144,118,251,57,16,67,189,58,144,88,219,59,144,95,166,60,144,58,187,61,144,65,134,62,144,28,155,63,144,35,102,64,16,57,132,65,144,5,70,66,16,27,100,67,144,231,37,68,16,253,67,69,144,201,5,70,16,223,35,71,16,230,238,71,16,193,3,73,16,200,206,73,16,163,227,74,16,170,174,75,144,191,204,76,16,140,142,77,144,161,172,78,16,110,110,79,144,131,140,80,144,138,87,81,144,101,108,82,144,108,55,83,144,71,76,84,144,78,23,85,144,41,44,86,144,48,247,86,208,127,208,87,16,40,245,89,144,244,182,90,16,10,213,91,88,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,1,2,1,8,0,0,0,212,31,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,170,3,0,96,227,7,0,112,50,87,0,224,139,87,0,16,162,87,0,224,148,0,0,0,0,207,89,200,0,166,250,200,128,156,56,201,128,235,229,204,0,254,172,205,0,31,199,206,0,131,143,207,0,164,169,208,0,125,132,209,128,215,138,210,128,176,101,211,0,11,108,212,96,99,54,232,80,45,244,232,96,185,11,234,208,96,213,234,240,250,236,235,0,109,181,236,240,127,207,237,0,242,151,238,112,179,176,239,128,37,121,240,240,230,145,241,0,89,90,242,112,26,115,243,128,140,59,244,112,159,85,245,128,17,30,246,240,210,54,247,0,69,255,247,112,6,24,249,0,202,225,249,240,57,249,250,80,66,39,251,224,139,124,8,208,176,253,8,96,234,246,9,208,51,166,10,96,252,233,19,96,91,33,20,96,198,250,26,96,110,142,27,224,248,190,28,208,124,119,29,96,255,204,30,80,153,96,31,96,177,130,32,208,181,73,33,224,158,94,34,80,93,32,35,96,48,90,36,80,63,0,37,224,237,11,38,208,230,214,38,224,207,235,39,80,3,192,40,96,236,212,41,208,31,169,42,224,101,187,43,208,1,137,44,224,71,155,45,80,169,95,46,224,41,123,47,208,197,72,48,96,70,100,49,96,194,65,50,96,40,68,51,96,164,33,52,96,10,36,53,96,134,1,54,96,97,22,55,80,68,6,56,224,125,255,56,208,96,239,57,224,95,223,58,208,66,207,59,224,65,191,60,208,36,175,61,224,35,159,62,208,6,143,63,224,5,127,64,224,129,92,65,224,231,94,66,240,183,65,67,96,166,45,68,80,253,18,69,224,217,14,70,112,111,232,70,224,24,236,71,208,17,183,72,224,250,203,73,96,60,160,74,156,46,173,75,208,189,97,76,156,249,148,77,80,194,53,78,96,219,116,79,224,145,91,80,96,189,84,81,80,160,68,82,96,159,52,83,80,108,73,84,224,210,21,85,96,92,41,86,240,194,245,86,96,202,19,88,240,164,213,88,96,172,243,89,240,134,181,90,96,142,211,91,224,67,157,92,80,98,179,93,96,119,126,94,96,82,147,95,96,89,94,96,96,29,123,97,224,140,63,98,240,94,92,99,0,94,76,100,240,64,60,101,128,5,35,102,240,34,28,103,0,173,249,103,240,4,252,104,0,26,199,105,240,230,219,106,0,252,166,107,112,3,197,108,0,222,134,109,112,229,164,110,0,192,102,111,112,199,132,112,128,220,79,113,112,169,100,114,128,190,47,115,112,139,68,116,128,160,15,117,240,167,45,118,128,130,239,118,240,137,13,120,128,100,207,120,240,107,237,121,128,70,175,122,240,77,205,123,0,99,152,124,112,245,163,125,0,69,120,126,240,156,122,127,64,1,0,0,0,0,0,0,0,39,88,128,0,0,0,0,240,9,72,129,0,0,0,0,0,9,56,130,0,0,0,0,112,177,30,131,0,0,0,0,0,235,23,132,0,0,0,0,112,30,236,132,0,0,0,0,0,198,44,133,0,0,0,0,112,242,53,133,0,0,0,0,128,7,1,134,0,0,0,0,240,197,194,134,0,0,0,0,0,51,250,134,0,0,0,0,112,212,21,135,0,0,0,0,128,233,224,135,0,0,0,0,112,109,153,136,0,0,0,0,128,218,208,136,0,0,0,0,112,182,245,136,0,0,0,0,128,203,192,137,0,0,0,0,112,218,102,138,0,0,0,0,0,130,167,138,0,0,0,0,112,152,213,138,0,0,0,0,128,173,160,139,0,0,0,0,240,129,61,140,0,0,0,0,0,239,116,140,0,0,0,0,240,180,190,140,0,0,0,0,128,143,128,141,0,0,0,0,112,41,20,142,0,0,0,0,128,150,75,142,0,0,0,0,240,150,158,142,0,0,0,0,128,113,96,143,0,0,0,0,112,150,225,143,0,0,0,0,0,62,34,144,0,0,0,0,240,120,126,144,0,0,0,0,0,142,73,145,0,0,0,0,240,61,184,145,0,0,0,0,0,171,239,145,0,0,0,0,240,90,94,146,0,0,0,0,0,112,41,147,0,0,0,0,240,170,133,147,0,0,0,0,128,82,198,147,0,0,0,0,240,60,62,148,0,0,0,0,0,82,9,149,0,0,0,0,112,82,92,149,0,0,0,0,128,191,147,149,0,0,0,0,112,89,39,150,0,0,0,0,0,52,233,150,0,0,0,0,240,249,50,151,0,0,0,0,0,103,106,151,0,0,0,0,112,59,7,152,0,0,0,0,0,22,201,152,0,0,0,0,240,102,0,153,0,0,0,0,128,14,65,153,0,0,0,0,112,29,231,153,0,0,0,0,128,50,178,154,0,0,0,0,112,14,215,154,0,0,0,0,128,123,14,155,0,0,0,0,112,255,198,155,0,0,0,0,128,20,146,156,0,0,0,0,112,123,164,156,0,0,0,0,0,35,229,156,0,0,0,0,112,225,166,157,0,0,0,0,128,246,113,158,0,0,0,0,240,34,123,158,0,0,0,0,128,202,187,158,0,0,0,0,112,195,134,159,0,0,0,0,128,55,137,160,0,0,0,0,240,223,111,161,0,0,0,0,0,223,95,162,0,0,0,0,240,193,79,163,0,0,0,0,0,76,45,164,0,0,0,0,240,163,47,165,0,0,0,0,128,243,3,166,0,0,0,0,240,133,15,167,0,0,0,0,0,155,218,167,0,0,0,0,240,103,239,168,0,0,0,0,0,125,186,169,0,0,0,0,112,132,216,170,0,0,0,0,0,95,154,171,0,0,0,0,112,102,184,172,0,0,0,0,0,65,122,173,0,0,0,0,112,72,152,174,0,0,0,0,0,35,90,175,0,0,0,0,112,42,120,176,0,0,0,0,128,63,67,177,0,0,0,0,112,12,88,178,0,0,0,0,128,33,35,179,0,0,0,0,112,238,55,180,0,0,0,0,128,3,3,181,0,0,0,0,240,10,33,182,0,0,0,0,128,229,226,182,0,0,0,0,240,236,0,184,0,0,0,0,128,199,194,184,0,0,0,0,112,148,215,185,0,0,0,0,0,228,171,186,0,0,0,0,240,59,174,187,0,0,0,0,0,198,139,188,0,0,0,0,112,227,132,189,0,0,0,0,0,168,107,190,0,0,0,0,112,80,82,191,0,0,0,0,0,138,75,192,0,0,0,0,240,247,40,193,0,0,0,0,0,101,96,193,0,0,0,0,112,145,105,193,0,0,0,0,0,108,43,194,0,0,0,0,112,159,255,194,0,0,0,0,128,12,55,195,0,0,0,0,112,115,73,195,0,0,0,0,0,78,11,196,0,0,0,0,112,12,205,196,0,0,0,0,0,180,13,197,0,0,0,0,112,85,41,197,0,0,0,0,128,106,244,197,0,0,0,0,240,179,163,198,0,0,0,0,0,33,219,198,0,0,0,0,112,55,9,199,0,0,0,0,128,76,212,199,0,0,0,0,240,32,113,200,0,0,0,0,128,200,177,200,0,0,0,0,112,25,233,200,0,0,0,0,128,46,180,201,0,0,0,0,112,200,71,202,0,0,0,0,0,112,136,202,0,0,0,0,240,53,210,202,0,0,0,0,128,16,148,203,0,0,0,0,240,111,30,204,0,0,0,0,0,221,85,204,0,0,0,0,240,23,178,204,0,0,0,0,128,242,115,205,0,0,0,0,240,220,235,205,0,0,0,0,128,132,44,206,0,0,0,0,240,249,145,206,0,0,0,0,0,15,93,207,0,0,0,0,112,132,194,207,0,0,0,0,128,241,249,207,0,0,0,0,240,219,113,208,0,0,0,0,0,241,60,209,0,0,0,0,240,43,153,209,0,0,0,0,0,153,208,209,0,0,0,0,240,189,81,210,0,0,0,0,0,211,28,211,0,0,0,0,240,152,102,211,0,0,0,0,128,64,167,211,0,0,0,0,240,159,49,212,0,0,0,0,0,181,252,212,0,0,0,0,112,64,61,213,0,0,0,0,128,173,116,213,0,0,0,0,112,188,26,214,0,0,0,0,0,151,220,214,0,0,0,0,112,173,10,215,0,0,0,0,0,85,75,215,0,0,0,0,112,158,250,215,0,0,0,0,0,121,188,216,0,0,0,0,240,84,225,216,0,0,0,0,128,252,33,217,0,0,0,0,112,128,218,217,0,0,0,0,128,149,165,218,0,0,0,0,112,252,183,218,0,0,0,0,128,105,239,218,0,0,0,0,112,98,186,219,0,0,0,0,128,119,133,220,0,0,0,0,112,68,154,221,2,0,0,0,255,255,255,255,176,74,189,125,170,170,170,170,53,1,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,80,32,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,8,0,101,0,91,0,110,0,48,0,120,0,80,0,66,0,54,0,170,170,32,28,0,112,74,4,0,96,40,8,0,112,181,87,0,224,74,88,0,224,139,89,0,224,143,89,0,16,222,89,0,224,150,0,0,0,0,207,89,200,0,166,250,200,128,156,56,201,128,235,229,204,0,254,172,205,0,31,199,206,0,131,143,207,0,164,169,208,0,125,132,209,128,215,138,210,128,176,101,211,0,11,108,212,96,99,54,232,80,45,244,232,96,185,11,234,208,96,213,234,240,250,236,235,0,109,181,236,240,127,207,237,0,242,151,238,112,179,176,239,128,37,121,240,240,230,145,241,0,89,90,242,112,26,115,243,128,140,59,244,112,159,85,245,128,17,30,246,240,210,54,247,0,69,255,247,112,6,24,249,0,202,225,249,240,57,249,250,80,66,39,251,224,139,124,8,208,176,253,8,96,234,246,9,208,51,166,10,96,252,233,19,96,91,33,20,96,198,250,26,96,110,142,27,224,248,190,28,208,124,119,29,96,255,204,30,80,153,96,31,96,177,130,32,208,181,73,33,224,158,94,34,80,93,32,35,96,48,90,36,80,63,0,37,224,237,11,38,208,230,214,38,224,207,235,39,80,3,192,40,96,236,212,41,208,31,169,42,224,101,187,43,208,1,137,44,224,71,155,45,80,169,95,46,224,41,123,47,208,197,72,48,96,70,100,49,96,194,65,50,96,40,68,51,96,164,33,52,96,10,36,53,96,134,1,54,96,97,22,55,80,68,6,56,224,125,255,56,208,96,239,57,224,95,223,58,208,66,207,59,224,65,191,60,208,36,175,61,224,35,159,62,208,6,143,63,224,5,127,64,224,129,92,65,224,231,94,66,240,183,65,67,96,166,45,68,80,253,18,69,224,217,14,70,112,111,232,70,224,24,236,71,80,6,187,72,224,250,203,73,96,60,160,74,224,220,171,75,208,189,97,76,156,249,148,77,80,194,53,78,224,11,92,78,80,220,132,78,96,219,116,79,224,145,91,80,96,189,84,81,80,160,68,82,96,159,52,83,80,108,73,84,224,210,21,85,96,92,41,86,240,194,245,86,96,202,19,88,240,164,213,88,96,172,243,89,240,134,181,90,96,142,211,91,224,67,157,92,80,98,179,93,96,119,126,94,96,82,147,95,96,89,94,96,96,29,123,97,224,140,63,98,240,94,92,99,0,94,76,100,240,64,60,101,128,5,35,102,240,34,28,103,0,173,249,103,240,4,252,104,0,26,199,105,240,230,219,106,0,252,166,107,112,3,197,108,0,222,134,109,112,229,164,110,0,192,102,111,112,199,132,112,128,220,79,113,112,169,100,114,128,190,47,115,112,139,68,116,128,160,15,117,240,167,45,118,128,130,239,118,240,137,13,120,128,100,207,120,240,107,237,121,128,70,175,122,240,77,205,123,0,99,152,124,112,245,163,125,0,69,120,126,240,156,122,127,64,1,0,0,0,0,0,0,0,39,88,128,0,0,0,0,240,9,72,129,0,0,0,0,0,9,56,130,0,0,0,0,112,177,30,131,0,0,0,0,0,235,23,132,0,0,0,0,112,30,236,132,0,0,0,0,0,198,44,133,0,0,0,0,112,242,53,133,0,0,0,0,128,7,1,134,0,0,0,0,240,197,194,134,0,0,0,0,0,51,250,134,0,0,0,0,112,212,21,135,0,0,0,0,128,233,224,135,0,0,0,0,112,109,153,136,0,0,0,0,128,218,208,136,0,0,0,0,112,182,245,136,0,0,0,0,128,203,192,137,0,0,0,0,112,218,102,138,0,0,0,0,0,130,167,138,0,0,0,0,112,152,213,138,0,0,0,0,128,173,160,139,0,0,0,0,240,129,61,140,0,0,0,0,0,239,116,140,0,0,0,0,240,180,190,140,0,0,0,0,128,143,128,141,0,0,0,0,112,41,20,142,0,0,0,0,128,150,75,142,0,0,0,0,240,150,158,142,0,0,0,0,128,113,96,143,0,0,0,0,112,150,225,143,0,0,0,0,0,62,34,144,0,0,0,0,240,120,126,144,0,0,0,0,0,142,73,145,0,0,0,0,240,61,184,145,0,0,0,0,0,171,239,145,0,0,0,0,240,90,94,146,0,0,0,0,0,112,41,147,0,0,0,0,240,170,133,147,0,0,0,0,128,82,198,147,0,0,0,0,240,60,62,148,0,0,0,0,0,82,9,149,0,0,0,0,112,82,92,149,0,0,0,0,128,191,147,149,0,0,0,0,112,89,39,150,0,0,0,0,0,52,233,150,0,0,0,0,240,249,50,151,0,0,0,0,0,103,106,151,0,0,0,0,112,59,7,152,0,0,0,0,0,22,201,152,0,0,0,0,240,102,0,153,0,0,0,0,128,14,65,153,0,0,0,0,112,29,231,153,0,0,0,0,128,50,178,154,0,0,0,0,112,14,215,154,0,0,0,0,128,123,14,155,0,0,0,0,112,255,198,155,0,0,0,0,128,20,146,156,0,0,0,0,112,123,164,156,0,0,0,0,0,35,229,156,0,0,0,0,112,225,166,157,0,0,0,0,128,246,113,158,0,0,0,0,240,34,123,158,0,0,0,0,128,202,187,158,0,0,0,0,112,195,134,159,0,0,0,0,128,55,137,160,0,0,0,0,240,223,111,161,0,0,0,0,0,223,95,162,0,0,0,0,240,193,79,163,0,0,0,0,0,76,45,164,0,0,0,0,240,163,47,165,0,0,0,0,128,243,3,166,0,0,0,0,240,133,15,167,0,0,0,0,0,155,218,167,0,0,0,0,240,103,239,168,0,0,0,0,0,125,186,169,0,0,0,0,112,132,216,170,0,0,0,0,0,95,154,171,0,0,0,0,112,102,184,172,0,0,0,0,0,65,122,173,0,0,0,0,112,72,152,174,0,0,0,0,0,35,90,175,0,0,0,0,112,42,120,176,0,0,0,0,128,63,67,177,0,0,0,0,112,12,88,178,0,0,0,0,128,33,35,179,0,0,0,0,112,238,55,180,0,0,0,0,128,3,3,181,0,0,0,0,240,10,33,182,0,0,0,0,128,229,226,182,0,0,0,0,240,236,0,184,0,0,0,0,128,199,194,184,0,0,0,0,112,148,215,185,0,0,0,0,0,228,171,186,0,0,0,0,240,59,174,187,0,0,0,0,0,198,139,188,0,0,0,0,112,227,132,189,0,0,0,0,0,168,107,190,0,0,0,0,112,80,82,191,0,0,0,0,0,138,75,192,0,0,0,0,240,247,40,193,0,0,0,0,0,101,96,193,0,0,0,0,112,145,105,193,0,0,0,0,0,108,43,194,0,0,0,0,112,159,255,194,0,0,0,0,128,12,55,195,0,0,0,0,112,115,73,195,0,0,0,0,0,78,11,196,0,0,0,0,112,12,205,196,0,0,0,0,0,180,13,197,0,0,0,0,112,85,41,197,0,0,0,0,128,106,244,197,0,0,0,0,240,179,163,198,0,0,0,0,0,33,219,198,0,0,0,0,112,55,9,199,0,0,0,0,128,76,212,199,0,0,0,0,240,32,113,200,0,0,0,0,128,200,177,200,0,0,0,0,112,25,233,200,0,0,0,0,128,46,180,201,0,0,0,0,112,200,71,202,0,0,0,0,0,112,136,202,0,0,0,0,240,53,210,202,0,0,0,0,128,16,148,203,0,0,0,0,240,111,30,204,0,0,0,0,0,221,85,204,0,0,0,0,240,23,178,204,0,0,0,0,128,242,115,205,0,0,0,0,240,220,235,205,0,0,0,0,128,132,44,206,0,0,0,0,240,249,145,206,0,0,0,0,0,15,93,207,0,0,0,0,112,132,194,207,0,0,0,0,128,241,249,207,0,0,0,0,240,219,113,208,0,0,0,0,0,241,60,209,0,0,0,0,240,43,153,209,0,0,0,0,0,153,208,209,0,0,0,0,240,189,81,210,0,0,0,0,0,211,28,211,0,0,0,0,240,152,102,211,0,0,0,0,128,64,167,211,0,0,0,0,240,159,49,212,0,0,0,0,0,181,252,212,0,0,0,0,112,64,61,213,0,0,0,0,128,173,116,213,0,0,0,0,112,188,26,214,0,0,0,0,0,151,220,214,0,0,0,0,112,173,10,215,0,0,0,0,0,85,75,215,0,0,0,0,112,158,250,215,0,0,0,0,0,121,188,216,0,0,0,0,240,84,225,216,0,0,0,0,128,252,33,217,0,0,0,0,112,128,218,217,0,0,0,0,128,149,165,218,0,0,0,0,112,252,183,218,0,0,0,0,128,105,239,218,0,0,0,0,112,98,186,219,0,0,0,0,128,119,133,220,0,0,0,0,112,68,154,221,2,0,0,0,255,255,255,255,25,74,189,125,170,170,170,170,170,170,170,170,55,1,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,231,32,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,8,0,101,0,91,0,110,0,48,0,120,0,80,0,66,0,54,0,170,170,32,28,0,112,74,4,0,96,40,8,0,112,242,89,0,224,137,90,0,224,202,91,0,224,207,91,0,16,30,92,0,224,3,0,0,0,17,1,0,0,56,1,0,0,122,2,0,0,8,0,0,0,10,43,163,145,128,230,53,205,112,206,89,209,240,62,59,210,16,187,50,213,144,242,182,228,0,152,47,237,0,199,61,10,8,0,0,0,1,2,3,1,2,1,2,1,8,0,0,0,246,99,0,0,0,0,0,0,112,98,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,50,92,0,224,54,92,0,224,63,92,0,16,66,92,0,224,2,0,0,0,18,1,0,0,2,2,0,0,69,0,0,0,144,99,105,133,48,49,77,202,48,147,219,202,120,113,75,203,144,222,160,210,128,215,107,211,184,88,147,212,56,176,66,213,184,58,115,214,184,65,62,215,184,50,46,216,184,57,249,216,184,20,14,218,184,27,217,218,184,246,237,219,184,253,184,220,184,216,205,221,56,26,162,222,56,245,182,223,56,252,129,224,40,201,150,225,56,105,79,226,40,171,118,227,56,75,47,228,168,199,95,229,56,45,15,230,168,169,63,231,184,73,248,231,168,139,31,233,184,43,216,233,168,109,255,234,184,13,184,235,168,79,223,236,184,239,151,237,40,108,200,238,184,209,119,239,40,78,168,240,184,179,87,241,40,48,136,242,56,208,64,243,40,18,104,244,56,178,32,245,40,244,71,246,56,126,37,247,40,97,21,248,56,96,5,249,40,67,245,249,56,66,229,250,168,95,222,251,184,94,206,252,168,65,190,253,184,64,174,254,168,35,158,255,184,34,142,0,168,5,126,1,184,4,110,2,168,231,93,3,184,230,77,4,40,4,71,5,56,3,55,6,40,230,38,7,56,61,131,7,40,200,6,9,56,199,246,9,40,170,230,10,56,169,214,11,40,140,198,12,56,57,155,17,168,108,111,18,69,0,0,0,1,3,2,4,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,170,170,170,10,0,0,0,10,107,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,8,7,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,82,92,0,224,85,92,0,224,155,92,0,16,174,92,0,224,50,0,0,0,148,252,211,134,160,234,11,15,144,214,233,24,0,11,219,25,144,91,204,26,128,62,188,27,144,61,172,28,128,32,156,29,144,31,140,30,128,2,124,31,144,1,108,32,128,228,91,33,144,227,75,34,128,198,59,35,144,197,43,36,128,168,27,37,144,167,11,38,0,197,4,39,16,196,244,39,0,167,228,40,16,166,212,41,0,137,196,42,16,136,180,43,0,107,164,44,16,106,148,45,0,77,132,46,16,76,116,47,0,47,100,48,144,104,93,49,128,75,77,50,144,74,61,51,128,45,45,52,144,44,29,53,128,15,13,54,176,193,233,58,160,186,180,59,176,185,164,60,160,156,148,61,176,155,132,62,160,126,116,63,176,125,100,64,160,96,84,65,176,95,68,66,160,66,52,67,176,65,36,68,32,95,29,69,176,168,21,85,128,111,5,86,176,138,245,86,128,81,229,87,50,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,236,85,0,0,0,0,0,0,96,84,0,0,0,0,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,3,0,48,0,66,0,54,0,192,92,0,224,243,92,0,16,1,93,0,224,65,0,0,0,191,15,18,162,16,211,163,181,128,97,39,21,240,149,24,22,0,149,8,23,112,201,249,23,128,200,233,24,240,252,218,25,128,77,204,26,160,90,188,27,160,75,172,28,160,60,156,29,160,45,140,30,160,30,124,31,160,15,108,32,160,0,92,33,160,241,75,34,160,226,59,35,160,211,43,36,160,196,27,37,160,181,11,38,32,225,4,39,32,210,244,39,48,209,228,40,48,121,120,41,32,180,212,41,32,165,196,42,32,150,180,43,32,135,164,44,32,120,148,45,32,105,132,46,32,90,116,47,32,75,100,48,160,118,93,49,160,81,114,50,160,88,61,51,160,51,82,52,160,58,29,53,160,21,50,54,160,28,253,54,32,50,27,56,160,254,220,56,32,20,251,57,160,224,188,58,32,246,218,59,32,253,165,60,32,216,186,61,32,223,133,62,32,186,154,63,32,193,101,64,160,214,131,65,32,163,69,66,160,184,99,67,32,133,37,68,160,154,67,69,32,103,5,70,160,124,35,71,160,131,238,71,160,94,3,73,160,101,206,73,160,64,227,74,160,71,174,75,32,93,204,76,160,41,142,77,16,215,75,84,170,170,170,170,170,170,170,170,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,193,97,0,0,0,0,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,3,0,48,0,66,0,54,0,15,93,0,224,83,93,0,16,101,93,0,224,7,0,0,0,224,133,120,169,96,222,22,186,136,131,191,203,112,238,86,210,8,198,60,215,0,38,255,218,136,190,181,244,7,0,0,0,2,3,5,3,4,3,1,170,12,0,0,0,32,100,0,0,0,0,0,0,112,98,0,0,0,0,0,0,32,103,0,0,0,0,0,0,120,105,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,3,0,48,0,66,0,54,0,119,93,0,224,127,93,0,16,130,93,0,224,3,0,0,0,152,193,22,186,240,185,88,208,104,162,181,244,170,170,170,170,170,170,170,170,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,232,131,0,0,0,0,0,0,144,126,0,0,0,0,0,0,152,133,0,0,0,0,0,0,3,0,48,0,66,0,54,0,148,93,0,224,155,93,0,16,157,93,0,224,3,0,0,0,24,1,0,0,67,1,0,0,18,2,0,0,100,0,0,0,136,69,48,158,0,207,89,200,0,166,250,200,128,156,56,201,128,235,229,204,0,254,172,205,0,31,199,206,0,131,143,207,0,164,169,208,0,125,132,209,128,215,138,210,128,176,101,211,0,11,108,212,128,48,90,215,0,88,223,215,128,195,47,216,0,99,30,217,0,247,16,218,0,208,235,218,0,52,180,219,0,61,185,220,0,141,224,221,128,206,180,222,128,191,164,223,0,118,139,224,0,125,86,225,128,102,190,226,0,95,54,227,128,72,158,228,0,65,22,229,0,240,116,230,128,210,17,231,128,173,38,232,0,122,232,232,224,139,124,8,208,176,253,8,96,234,246,9,208,51,166,10,96,252,233,19,96,91,33,20,96,198,250,26,96,110,142,27,224,248,190,28,208,124,119,29,96,255,204,30,80,153,96,31,96,177,130,32,208,181,73,33,224,158,94,34,80,93,32,35,96,48,90,36,80,63,0,37,224,237,11,38,208,230,214,38,224,207,235,39,80,3,192,40,96,236,212,41,208,31,169,42,224,101,187,43,208,1,137,44,224,71,155,45,80,169,95,46,224,41,123,47,208,197,72,48,224,150,72,49,80,110,60,50,96,179,49,51,208,254,26,52,96,149,17,53,80,166,241,53,128,8,4,55,112,1,207,55,128,95,246,56,224,249,220,57,112,237,208,58,96,91,174,59,112,160,163,60,96,178,160,61,112,130,131,62,224,159,124,63,112,54,115,64,96,164,80,65,0,143,76,66,112,79,72,67,0,113,44,68,240,246,30,69,0,83,12,70,240,99,236,70,0,53,236,71,112,245,231,72,0,23,204,73,240,156,190,74,0,249,171,75,240,9,140,76,128,21,149,77,112,155,135,78,128,247,116,79,240,66,94,80,128,217,84,81,112,73,108,82,2,0,0,0,255,255,255,255,250,194,182,86,170,170,170,170,170,170,170,170,101,0,0,0,4,1,2,1,2,1,2,1,2,1,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,10,0,0,0,6,33,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,32,28,0,0,32,28,0,0,248,32,0,0,0,0,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,32,28,0,112,116,3,0,96,222,7,0,112,169,93,0,224,173,93,0,224,18,94,0,224,23,94,0,16,50,94,0,224,1,0,0,0,64,215,249,208,2,0,0,0,255,255,255,255,160,154,134,105,2,0,0,0,1,2,170,170,6,0,0,0,224,64,0,0,0,0,0,0,64,56,0,0,0,0,0,0,72,63,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,74,94,0,224,76,94,0,224,79,94,0,16,81,94,0,224,64,0,0,0,196,150,82,167,208,154,163,181,64,41,39,21,176,93,24,22,192,92,8,23,48,145,249,23,64,144,233,24,176,196,218,25,64,21,204,26,96,34,188,27,96,19,172,28,96,4,156,29,96,245,139,30,96,230,123,31,96,215,107,32,96,200,91,33,96,185,75,34,96,170,59,35,96,155,43,36,96,140,27,37,96,125,11,38,224,168,4,39,224,153,244,39,240,152,228,40,240,64,120,41,224,123,212,41,224,108,196,42,224,93,180,43,224,78,164,44,224,63,148,45,224,48,132,46,224,33,116,47,224,18,100,48,96,62,93,49,96,25,114,50,96,32,61,51,96,251,81,52,96,2,29,53,96,221,49,54,96,228,252,54,224,249,26,56,96,198,220,56,224,219,250,57,96,168,188,58,224,189,218,59,224,196,165,60,224,159,186,61,224,166,133,62,224,129,154,63,224,136,101,64,96,158,131,65,224,106,69,66,96,128,99,67,224,76,37,68,96,98,67,69,224,46,5,70,96,68,35,71,96,75,238,71,96,38,3,73,96,45,206,73,96,8,227,74,96,15,174,75,240,50,204,76,112,255,141,77,170,170,170,170,170,170,170,170,170,170,170,170,64,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,10,0,0,0,188,148,0,0,0,0,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,192,168,0,0,0,0,0,0,192,168,0,0,16,14,0,0,3,0,48,0,66,0,54,0,95,94,0,224,163,94,0,16,180,94,0,224,2,0,0,0,27,1,0,0,36,2,0,0,10,0,0,0,164,252,126,137,168,50,149,204,152,18,116,210,168,224,168,221,176,69,175,60,160,40,159,61,48,160,65,72,160,71,11,73,48,221,228,73,32,123,236,74,170,170,170,170,10,0,0,0,3,4,3,1,2,1,2,1,2,1,170,170,10,0,0,0,220,62,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,88,77,0,0,0,0,0,0,88,77,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,196,94,0,224,199,94,0,224,211,94,0,16,215,94,0,224,2,0,0,0,29,1,0,0,30,1,0,0,2,0,0,0,132,125,242,161,168,48,24,30,2,0,0,0,1,2,170,170,6,0,0,0,252,79,0,0,0,0,0,0,88,77,0,0,0,0,0,0,220,80,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,233,94,0,224,236,94,0,224,239,94,0,16,241,94,0,224,67,0,0,0,235,228,219,161,0,197,163,181,112,83,39,21,224,135,24,22,240,134,8,23,96,187,249,23,112,186,233,24,224,238,218,25,112,63,204,26,144,76,188,27,144,61,172,28,144,46,156,29,144,31,140,30,144,16,124,31,144,1,108,32,144,242,91,33,144,227,75,34,144,212,59,35,144,197,43,36,144,182,27,37,144,167,11,38,16,211,4,39,16,196,244,39,32,195,228,40,32,107,120,41,16,166,212,41,16,151,196,42,16,136,180,43,16,121,164,44,16,106,148,45,16,91,132,46,16,76,116,47,16,61,100,48,144,104,93,49,144,67,114,50,144,74,61,51,144,37,82,52,144,44,29,53,144,7,50,54,144,14,253,54,16,36,27,56,144,240,220,56,16,6,251,57,144,210,188,58,16,232,218,59,16,239,165,60,16,202,186,61,16,209,133,62,16,172,154,63,112,228,242,63,0,165,101,64,128,186,131,65,0,135,69,66,128,156,99,67,0,105,37,68,128,126,67,69,0,75,5,70,128,96,35,71,128,103,238,71,128,66,3,73,128,73,206,73,128,36,227,74,128,43,174,75,0,65,204,76,128,13,142,77,80,2,110,78,0,201,75,84,67,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,3,170,16,0,0,0,21,127,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,3,0,48,0,66,0,54,0,255,94,0,224,67,95,0,16,85,95,0,224,3,0,0,0,1,1,0,0,32,1,0,0,4,2,0,0,5,0,0,0,186,188,157,135,40,140,219,202,24,113,5,204,168,50,149,204,152,18,116,210,4,0,0,0,255,255,255,255,40,24,186,38,255,255,255,255,48,235,231,67,170,170,170,170,7,0,0,0,4,1,2,3,2,3,2,170,10,0,0,0,216,82,0,0,0,0,0,0,70,75,0,0,0,0,0,0,88,77,0,0,0,0,0,0,88,77,0,0,16,14,0,0,208,82,0,0,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,107,95,0,224,111,95,0,224,117,95,0,224,123,95,0,16,126,95,0,224,65,0,0,0,242,13,249,161,32,225,163,181,144,111,39,21,0,164,24,22,16,163,8,23,128,215,249,23,144,214,233,24,0,11,219,25,144,91,204,26,176,104,188,27,176,89,172,28,176,74,156,29,176,59,140,30,176,44,124,31,176,29,108,32,176,14,92,33,176,255,75,34,176,240,59,35,176,225,43,36,176,210,27,37,176,195,11,38,48,239,4,39,48,224,244,39,64,223,228,40,64,135,120,41,48,194,212,41,48,179,196,42,48,164,180,43,48,149,164,44,48,134,148,45,48,119,132,46,48,104,116,47,48,89,100,48,176,132,93,49,176,95,114,50,176,102,61,51,176,65,82,52,176,72,29,53,176,35,50,54,176,42,253,54,48,64,27,56,176,12,221,56,48,34,251,57,176,238,188,58,48,4,219,59,48,11,166,60,48,230,186,61,48,237,133,62,48,200,154,63,48,207,101,64,176,228,131,65,48,177,69,66,176,198,99,67,48,147,37,68,176,168,67,69,48,117,5,70,176,138,35,71,176,145,238,71,176,108,3,73,176,115,206,73,176,78,227,74,176,85,174,75,48,107,204,76,176,55,142,77,32,229,75,84,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,14,87,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,128,112,0,0,0,0,0,0,3,0,48,0,66,0,54,0,145,95,0,224,211,95,0,16,229,95,0,224,2,0,0,0,0,1,0,0,35,1,0,0,18,0,0,0,144,6,138,173,136,71,103,186,128,39,123,191,80,27,243,191,128,172,93,193,80,160,213,193,0,224,62,195,208,211,182,195,128,19,32,197,80,7,152,197,0,71,1,199,208,58,121,199,0,204,227,200,208,191,91,201,128,255,196,202,80,243,60,203,0,88,145,203,240,109,72,210,170,170,170,170,170,170,170,170,18,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,2,170,170,10,0,0,0,112,103,0,0,0,0,0,0,120,105,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,176,4,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,247,95,0,224,250,95,0,224,15,96,0,16,21,96,0,224,2,0,0,0,37,1,0,0,38,1,0,0,71,0,0,0,142,91,105,133,240,117,71,203,224,202,242,203,80,186,251,204,96,254,211,205,208,165,157,206,112,122,97,210,112,248,120,211,240,173,66,212,112,171,75,213,240,76,116,214,240,83,63,215,240,68,47,216,112,250,248,216,112,213,13,218,112,220,216,218,112,183,237,219,112,190,184,220,240,234,206,221,240,218,161,222,240,181,182,223,240,188,129,224,240,151,150,225,240,41,79,226,240,121,118,227,240,11,47,228,112,150,95,229,240,237,14,230,168,169,63,231,184,73,248,231,168,139,31,233,184,43,216,233,168,109,255,234,184,13,184,235,168,79,223,236,184,239,151,237,40,108,200,238,184,209,119,239,40,78,168,240,184,179,87,241,40,48,136,242,56,208,64,243,40,18,104,244,56,178,32,245,40,244,71,246,56,126,37,247,24,83,21,248,56,96,5,249,24,53,245,249,56,66,229,250,168,95,222,251,184,94,206,252,168,65,190,253,184,64,174,254,168,35,158,255,184,34,142,0,168,5,126,1,184,4,110,2,168,231,93,3,184,230,77,4,40,4,71,5,56,3,55,6,40,230,38,7,56,61,131,7,40,200,6,9,56,199,246,9,40,170,230,10,56,169,214,11,40,140,198,12,56,57,155,17,168,108,111,18,170,170,170,170,71,0,0,0,1,3,4,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,10,0,0,0,114,106,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,39,96,0,224,42,96,0,224,115,96,0,16,134,96,0,224,66,0,0,0,160,54,25,170,224,168,163,181,80,55,39,21,192,107,24,22,208,106,8,23,64,159,249,23,80,158,233,24,192,210,218,25,80,35,204,26,112,48,188,27,112,33,172,28,112,18,156,29,112,3,140,30,112,244,123,31,112,229,107,32,112,214,91,33,112,199,75,34,112,184,59,35,112,169,43,36,112,154,27,37,112,139,11,38,240,182,4,39,240,167,244,39,0,167,228,40,0,79,120,41,240,137,212,41,240,122,196,42,240,107,180,43,240,92,164,44,240,77,148,45,240,62,132,46,240,47,116,47,240,32,100,48,112,76,93,49,112,39,114,50,112,46,61,51,112,9,82,52,112,16,29,53,112,235,49,54,112,242,252,54,240,7,27,56,112,212,220,56,240,233,250,57,112,182,188,58,240,203,218,59,240,210,165,60,240,173,186,61,240,180,133,62,240,143,154,63,240,150,101,64,112,172,131,65,240,120,69,66,112,142,99,67,240,90,37,68,112,112,67,69,240,60,5,70,112,82,35,71,112,89,238,71,112,52,3,73,112,59,206,73,112,22,227,74,112,29,174,75,240,50,204,76,112,255,141,77,224,172,75,84,0,156,27,87,66,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,1,3,170,170,12,0,0,0,96,141,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,192,168,0,0,0,0,0,0,3,0,48,0,66,0,54,0,152,96,0,224,219,96,0,16,237,96,0,224,2,0,0,0,40,1,0,0,72,1,0,0,3,0,0,0,144,213,22,186,128,29,136,203,112,238,86,210,170,170,170,170,3,0,0,0,1,2,1,170,6,0,0,0,240,111,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,255,96,0,224,2,97,0,224,7,97,0,16,9,97,0,224,8,0,0,0,128,244,156,193,112,48,22,194,0,231,242,203,112,37,169,208,0,57,108,226,240,162,213,226,128,70,117,15,240,122,102,16,4,0,0,0,255,255,255,255,16,220,225,20,255,255,255,255,144,63,31,123,170,170,170,170,170,170,170,170,10,0,0,0,3,1,2,1,4,1,2,1,2,1,170,170,10,0,0,0,240,31,255,255,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,112,113,0,0,0,0,0,0,144,126,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,23,97,0,224,32,97,0,224,39,97,0,16,43,97,0,224,2,0,0,0,43,1,0,0,220,1,0,0,51,0,0,0,184,30,119,165,224,175,237,9,208,146,221,10,224,100,250,11,80,198,190,12,96,57,164,13,208,225,138,14,96,27,132,15,208,79,117,16,96,253,99,17,80,224,83,18,224,25,77,19,80,194,51,20,96,193,35,21,80,164,19,22,96,163,3,23,80,134,243,23,96,133,227,24,80,104,211,25,96,103,195,26,208,132,188,27,224,131,172,28,208,102,156,29,224,101,140,30,208,72,124,31,224,71,108,32,208,42,92,33,224,41,76,34,208,12,60,35,224,11,44,36,208,238,27,37,224,237,11,38,80,11,5,39,96,10,245,39,80,237,228,40,96,236,212,41,80,207,196,42,96,206,180,43,80,177,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,145,77,50,224,144,61,51,208,115,45,52,224,114,29,53,16,120,50,54,16,127,253,54,144,148,27,56,170,170,170,170,170,170,170,170,170,170,170,170,51,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,72,31,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,32,28,0,112,170,3,0,96,208,7,0,112,61,97,0,224,64,97,0,224,119,97,0,16,133,97,0,224,64,0,0,0,192,32,24,170,32,225,163,181,144,111,39,21,0,164,24,22,16,163,8,23,128,215,249,23,144,214,233,24,0,11,219,25,144,91,204,26,176,104,188,27,176,89,172,28,176,74,156,29,176,59,140,30,176,44,124,31,176,29,108,32,176,14,92,33,176,255,75,34,176,240,59,35,176,225,43,36,176,210,27,37,176,195,11,38,48,239,4,39,48,224,244,39,64,223,228,40,64,135,120,41,48,194,212,41,48,179,196,42,48,164,180,43,48,149,164,44,48,134,148,45,48,119,132,46,48,104,116,47,48,89,100,48,176,132,93,49,176,95,114,50,176,102,61,51,176,65,82,52,176,72,29,53,176,35,50,54,176,42,253,54,48,64,27,56,176,12,221,56,48,34,251,57,176,238,188,58,48,4,219,59,48,11,166,60,48,230,186,61,48,237,133,62,48,200,154,63,48,207,101,64,176,228,131,65,48,177,69,66,176,198,99,67,48,147,37,68,176,168,67,69,48,117,5,70,176,138,35,71,176,145,238,71,176,108,3,73,176,115,206,73,176,78,227,74,176,85,174,75,64,121,204,76,192,69,142,77,170,170,170,170,170,170,170,170,170,170,170,170,64,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,10,0,0,0,192,81,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,3,0,48,0,66,0,54,0,151,97,0,224,219,97,0,16,236,97,0,224,67,0,0,0,36,25,219,161,32,225,163,181,144,111,39,21,0,164,24,22,16,163,8,23,128,215,249,23,144,214,233,24,0,11,219,25,144,91,204,26,176,104,188,27,176,89,172,28,176,74,156,29,176,59,140,30,176,44,124,31,176,29,108,32,176,14,92,33,176,255,75,34,176,240,59,35,176,225,43,36,176,210,27,37,176,195,11,38,48,239,4,39,48,224,244,39,64,223,228,40,64,135,120,41,48,194,212,41,48,179,196,42,48,164,180,43,0,78,254,43,64,163,164,44,64,148,148,45,64,133,132,46,64,118,116,47,64,103,100,48,192,146,93,49,192,109,114,50,192,116,61,51,192,79,82,52,192,86,29,53,192,49,50,54,192,56,253,54,64,78,27,56,192,26,221,56,64,48,251,57,192,252,188,58,64,18,219,59,64,25,166,60,64,244,186,61,64,251,133,62,64,214,154,63,64,221,101,64,192,242,131,65,64,191,69,66,192,212,99,67,64,161,37,68,192,182,67,69,64,131,5,70,192,152,35,71,192,159,238,71,192,122,3,73,192,129,206,73,192,92,227,74,192,99,174,75,64,121,204,76,192,69,142,77,48,243,75,84,192,204,147,87,170,170,170,170,170,170,170,170,170,170,170,170,67,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,170,10,0,0,0,188,77,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,3,0,48,0,66,0,54,0,252,97,0,224,67,98,0,16,85,98,0,224,65,0,0,0,182,64,179,161,48,239,163,181,160,125,39,21,16,178,24,22,32,177,8,23,144,229,249,23,160,228,233,24,16,25,219,25,160,105,204,26,192,118,188,27,192,103,172,28,192,88,156,29,192,73,140,30,192,58,124,31,192,43,108,32,192,28,92,33,192,13,76,34,192,254,59,35,192,239,43,36,192,224,27,37,192,209,11,38,64,253,4,39,64,238,244,39,80,237,228,40,80,149,120,41,64,208,212,41,64,193,196,42,64,178,180,43,64,163,164,44,64,148,148,45,64,133,132,46,64,118,116,47,64,103,100,48,192,146,93,49,192,109,114,50,192,116,61,51,192,79,82,52,192,86,29,53,192,49,50,54,192,56,253,54,64,78,27,56,192,26,221,56,64,48,251,57,192,252,188,58,64,18,219,59,64,25,166,60,64,244,186,61,64,251,133,62,64,214,154,63,64,221,101,64,192,242,131,65,64,191,69,66,192,212,99,67,64,161,37,68,192,182,67,69,64,131,5,70,192,152,35,71,192,159,238,71,192,122,3,73,192,129,206,73,192,92,227,74,192,99,174,75,64,121,204,76,192,69,142,77,48,243,75,84,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,202,68,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,3,0,48,0,66,0,54,0,101,98,0,224,167,98,0,16,185,98,0,224,51,0,0,0,220,147,25,170,80,11,164,181,176,139,39,21,32,192,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,224,252,27,37,224,237,11,38,96,25,5,39,96,10,245,39,96,251,228,40,96,163,120,41,80,222,212,41,96,221,196,42,96,206,180,43,96,191,164,44,96,176,148,45,96,161,132,46,96,146,116,47,96,131,100,48,224,174,93,49,224,137,114,50,224,144,61,51,224,107,82,52,224,114,29,53,224,77,50,54,224,84,253,54,96,106,27,56,224,54,221,56,96,76,251,57,224,24,189,58,96,46,219,59,96,53,166,60,96,16,187,61,96,23,134,62,96,242,154,63,96,249,101,64,224,14,132,65,51,0,0,0,1,4,5,6,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,3,2,3,2,4,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,170,14,0,0,0,36,48,0,0,0,0,0,0,48,42,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,203,98,0,224,255,98,0,16,13,99,0,224,7,0,0,0,0,223,22,186,8,164,121,203,112,238,86,210,8,198,60,215,0,38,255,218,136,190,181,244,128,116,218,33,170,170,170,170,170,170,170,170,7,0,0,0,2,4,2,3,2,3,1,170,10,0,0,0,128,102,0,0,0,0,0,0,112,98,0,0,0,0,0,0,120,105,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,3,0,48,0,66,0,54,0,33,99,0,224,43,99,0,16,46,99,0,224,4,0,0,0,156,241,215,139,248,22,230,146,112,2,206,85,112,117,236,90,4,0,0,0,1,2,1,2,6,0,0,0,228,117,0,0,0,0,0,0,136,119,0,0,0,0,0,0,144,126,0,0,0,0,0,0,3,0,48,0,66,0,54,0,62,99,0,224,67,99,0,16,69,99,0,224,2,0,0,0,250,0,0,0,51,1,0,0,2,0,0,0,48,157,242,161,192,146,138,4,2,0,0,0,2,1,170,170,6,0,0,0,80,48,0,0,0,0,0,0,48,42,0,0,0,0,0,0,64,56,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,81,99,0,224,84,99,0,224,87,99,0,16,89,99,0,224,52,0,0,0,92,136,25,170,64,253,163,181,176,139,39,21,32,192,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,80,222,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,80,132,116,47,80,117,100,48,208,160,93,49,208,123,114,50,208,130,61,51,208,93,82,52,208,100,29,53,208,63,50,54,208,70,253,54,80,92,27,56,208,40,221,56,80,62,251,57,208,10,189,58,80,32,219,59,80,39,166,60,80,2,187,61,80,9,134,62,80,228,154,63,80,235,101,64,208,0,132,65,32,198,224,101,170,170,170,170,170,170,170,170,170,170,170,170,52,0,0,0,1,3,4,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,5,3,12,0,0,0,164,59,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,103,99,0,224,159,99,0,16,173,99,0,224,52,0,0,0,160,134,25,170,64,253,163,181,176,139,39,21,32,192,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,80,149,120,41,64,208,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,80,132,116,47,80,117,100,48,208,160,93,49,208,123,114,50,208,130,61,51,208,93,82,52,208,100,29,53,208,63,50,54,208,70,253,54,80,92,27,56,208,40,221,56,80,62,251,57,208,10,189,58,80,32,219,59,80,39,166,60,80,2,187,61,80,9,134,62,80,228,154,63,80,235,101,64,208,0,132,65,160,216,27,92,170,170,170,170,170,170,170,170,170,170,170,170,52,0,0,0,1,3,4,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,3,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,5,3,12,0,0,0,96,61,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,191,99,0,224,247,99,0,16,5,100,0,224,4,0,0,0,236,0,0,0,240,0,0,0,36,1,0,0,55,1,0,0,1,0,0,0,180,54,27,213,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,204,43,0,0,0,0,0,0,48,42,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,23,100,0,224,28,100,0,224,31,100,0,16,33,100,0,224,66,0,0,0,184,205,240,134,240,178,48,210,80,55,39,21,192,107,24,22,208,106,8,23,64,159,249,23,80,158,233,24,192,210,218,25,80,35,204,26,112,48,188,27,112,33,172,28,112,18,156,29,112,3,140,30,112,244,123,31,112,229,107,32,112,214,91,33,112,199,75,34,112,184,59,35,112,169,43,36,112,154,27,37,112,139,11,38,240,182,4,39,240,167,244,39,0,167,228,40,0,79,120,41,240,137,212,41,240,122,196,42,240,107,180,43,240,92,164,44,240,77,148,45,240,62,132,46,240,47,116,47,240,32,100,48,112,76,93,49,112,39,114,50,112,46,61,51,128,23,82,52,128,30,29,53,128,249,49,54,128,0,253,54,0,22,27,56,128,226,220,56,0,248,250,57,128,196,188,58,0,218,218,59,0,225,165,60,0,188,186,61,0,195,133,62,0,158,154,63,0,165,101,64,128,186,131,65,0,135,69,66,128,156,99,67,0,105,37,68,128,126,67,69,0,75,5,70,128,96,35,71,128,103,238,71,128,66,3,73,128,73,206,73,128,36,227,74,128,43,174,75,0,65,204,76,128,13,142,77,240,186,75,84,0,178,246,86,170,170,170,170,170,170,170,170,170,170,170,170,66,0,0,0,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,4,5,4,5,4,5,4,5,4,5,4,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,4,2,4,170,170,12,0,0,0,200,133,0,0,0,0,0,0,144,126,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,3,0,48,0,66,0,54,0,45,100,0,224,115,100,0,16,133,100,0,224,24,0,0,0,55,133,25,170,64,253,163,181,176,139,39,21,32,192,24,22,32,177,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,80,237,228,40,170,170,170,170,170,170,170,170,170,170,170,170,24,0,0,0,1,2,3,4,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,10,0,0,0,201,62,0,0,0,0,0,0,64,56,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,151,100,0,224,179,100,0,16,186,100,0,224,2,0,0,0,59,1,0,0,89,2,0,0,28,0,0,0,120,240,215,139,248,22,230,146,112,143,101,215,96,157,238,215,112,250,248,216,224,45,205,217,240,138,215,218,224,15,173,219,240,226,230,220,224,241,140,221,240,41,79,226,248,183,107,228,104,24,19,229,120,3,98,230,232,76,17,231,120,112,47,232,104,244,231,232,120,82,15,234,104,214,199,234,120,52,239,235,104,184,167,236,120,22,207,237,104,154,135,238,120,113,53,240,144,96,163,32,144,103,110,33,144,66,131,34,144,73,78,35,170,170,170,170,28,0,0,0,1,3,4,3,4,3,4,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,10,0,0,0,8,119,0,0,0,0,0,0,136,119,0,0,0,0,0,0,136,119,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,202,100,0,224,205,100,0,224,235,100,0,16,243,100,0,224,6,0,0,0,4,1,0,0,5,1,0,0,15,1,0,0,60,1,0,0,129,1,0,0,38,2,0,0,28,0,0,0,128,162,151,160,240,4,121,161,128,94,89,200,112,249,9,201,0,189,211,201,240,138,5,203,0,64,124,203,240,62,59,210,128,123,139,211,240,173,66,212,0,34,69,213,240,191,76,214,0,191,60,215,112,102,6,216,128,242,29,217,240,124,65,217,32,82,186,30,144,155,105,31,160,132,126,32,144,125,73,33,32,161,103,34,144,95,41,35,32,131,71,36,16,124,18,37,32,101,39,38,16,94,242,38,32,71,7,40,16,64,210,40,2,0,0,0,255,255,255,255,41,67,54,126,170,170,170,170,170,170,170,170,170,170,170,170,29,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,215,113,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,5,101,0,224,12,101,0,224,41,101,0,224,47,101,0,16,56,101,0,224,3,0,0,0,34,1,0,0,61,1,0,0,91,2,0,0,7,0,0,0,163,133,131,134,144,78,103,186,96,228,10,192,96,229,179,202,8,95,145,203,240,109,72,210,0,238,145,22,7,0,0,0,1,2,3,4,6,4,5,170,14,0,0,0,93,97,0,0,0,0,0,0,112,98,0,0,0,0,0,0,112,98,0,0,176,4,0,0,32,103,0,0,0,0,0,0,120,105,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,71,101,0,224,75,101,0,224,83,101,0,16,86,101,0,224,65,0,0,0,228,51,25,170,224,168,163,181,80,55,39,21,192,107,24,22,208,106,8,23,64,159,249,23,80,158,233,24,192,210,218,25,80,35,204,26,112,48,188,27,112,33,172,28,112,18,156,29,112,3,140,30,112,244,123,31,112,229,107,32,112,214,91,33,112,199,75,34,112,184,59,35,112,169,43,36,112,154,27,37,112,139,11,38,240,182,4,39,240,167,244,39,0,167,228,40,0,79,120,41,240,137,212,41,240,122,196,42,240,107,180,43,240,92,164,44,240,77,148,45,240,62,132,46,240,47,116,47,240,32,100,48,112,76,93,49,112,39,114,50,112,46,61,51,112,9,82,52,112,16,29,53,112,235,49,54,112,242,252,54,240,7,27,56,112,212,220,56,240,233,250,57,112,182,188,58,240,203,218,59,240,210,165,60,240,173,186,61,240,180,133,62,240,143,154,63,240,150,101,64,112,172,131,65,240,120,69,66,112,142,99,67,240,90,37,68,112,112,67,69,240,60,5,70,112,82,35,71,112,89,238,71,112,52,3,73,112,59,206,73,112,22,227,74,112,29,174,75,240,50,204,76,112,255,141,77,224,172,75,84,170,170,170,170,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,28,144,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,192,168,0,0,0,0,0,0,3,0,48,0,66,0,54,0,108,101,0,224,175,101,0,16,193,101,0,224,2,0,0,0,63,1,0,0,88,2,0,0,40,0,0,0,128,73,85,195,128,89,84,210,128,123,139,211,240,173,66,212,0,34,69,213,240,191,76,214,0,191,60,215,112,102,6,216,128,242,29,217,240,153,231,217,0,38,255,218,112,205,200,219,128,89,224,220,240,0,170,221,0,115,114,222,112,100,181,223,0,133,124,224,240,151,150,225,128,184,93,226,112,203,119,227,0,236,62,228,112,32,48,229,0,113,33,230,112,165,18,231,128,164,2,232,240,216,243,232,0,216,227,233,112,12,213,234,128,11,197,235,240,63,182,236,0,252,247,237,240,196,152,238,128,47,217,239,112,248,121,240,0,86,252,7,112,138,237,8,128,137,221,9,240,189,206,10,128,161,219,17,112,221,84,18,2,0,0,0,255,255,255,255,24,240,206,116,170,170,170,170,41,0,0,0,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,8,0,0,0,232,113,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,211,101,0,224,214,101,0,224,255,101,0,224,3,102,0,16,15,102,0,224,24,0,0,0,9,131,25,170,48,239,163,181,160,125,39,21,16,178,24,22,32,177,8,23,144,229,249,23,160,228,233,24,16,25,219,25,160,105,204,26,192,118,188,27,192,103,172,28,192,88,156,29,192,73,140,30,192,58,124,31,192,43,108,32,192,28,92,33,192,13,76,34,192,254,59,35,192,239,43,36,192,224,27,37,192,209,11,38,64,253,4,39,64,238,244,39,80,237,228,40,170,170,170,170,170,170,170,170,24,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,10,0,0,0,247,64,0,0,0,0,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,3,0,48,0,66,0,54,0,32,102,0,224,59,102,0,16,66,102,0,224,50,0,0,0,1,154,25,170,80,12,218,231,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,224,252,27,37,224,237,11,38,96,25,5,39,96,10,245,39,112,9,229,40,80,222,212,41,64,193,196,42,80,192,180,43,64,163,164,44,80,162,148,45,64,133,132,46,64,118,116,47,48,89,100,48,192,146,93,49,176,65,82,52,192,86,29,53,176,35,50,54,192,56,253,54,48,64,27,56,192,26,221,56,48,34,251,57,192,252,188,58,48,4,219,59,64,25,166,60,48,230,186,61,64,251,133,62,48,200,154,63,64,221,101,64,176,199,221,64,240,28,132,65,112,233,69,66,170,170,170,170,170,170,170,170,50,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,2,1,3,170,170,10,0,0,0,255,41,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,82,102,0,224,135,102,0,16,149,102,0,224,2,0,0,0,66,1,0,0,17,2,0,0,70,0,0,0,72,204,0,191,56,68,148,13,184,19,173,14,64,115,121,15,192,202,40,16,64,58,237,16,72,188,173,17,184,74,69,18,200,236,55,19,184,21,45,20,200,118,32,40,184,157,219,40,200,156,203,41,184,34,190,42,72,208,172,43,56,86,159,44,200,3,142,45,184,137,128,46,72,55,111,47,56,189,97,48,200,106,80,49,184,240,66,50,200,239,50,51,184,117,37,52,72,35,20,53,56,169,6,54,200,86,245,54,184,220,231,55,72,138,214,56,56,16,201,57,72,15,185,58,56,149,171,59,200,66,154,60,184,200,140,61,72,118,123,62,56,252,109,63,200,169,92,64,184,47,79,65,200,46,63,66,184,180,49,67,72,201,226,71,56,79,213,72,72,78,197,73,56,212,183,74,200,129,166,75,184,7,153,76,72,181,135,77,56,59,122,78,200,232,104,79,184,110,91,80,200,109,75,81,184,243,61,82,72,161,44,83,56,39,31,84,200,212,13,85,184,90,0,86,72,8,239,86,56,142,225,87,72,141,209,88,56,19,196,89,200,192,178,90,184,70,165,91,72,244,147,92,56,122,134,93,200,39,117,94,184,173,103,95,200,172,87,96,184,50,74,97,72,224,56,98,56,102,43,99,70,0,0,0,1,2,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,10,0,0,0,56,48,0,0,0,0,0,0,56,49,0,0,0,0,0,0,56,49,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,165,102,0,224,168,102,0,224,239,102,0,16,2,103,0,224,2,0,0,0,68,1,0,0,69,1,0,0,2,0,0,0,116,21,230,213,168,77,97,33,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,12,84,0,0,0,0,0,0,88,77,0,0,0,0,0,0,96,84,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,20,103,0,224,23,103,0,224,27,103,0,16,29,103,0,224,3,0,0,0,70,1,0,0,19,2,0,0,21,2,0,0,8,0,0,0,112,2,62,215,240,89,237,215,112,250,248,216,240,59,205,217,240,0,7,219,240,29,173,219,240,226,230,220,240,255,140,221,2,0,0,0,255,255,255,255,112,164,194,101,9,0,0,0,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,3,131,0,0,0,0,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,43,103,0,224,47,103,0,224,56,103,0,224,59,103,0,16,63,103,0,224,67,0,0,0,217,78,229,161,32,225,163,181,144,111,39,21,0,164,24,22,16,163,8,23,128,215,249,23,144,214,233,24,0,11,219,25,144,91,204,26,176,104,188,27,176,89,172,28,176,74,156,29,176,59,140,30,176,44,124,31,176,29,108,32,176,14,92,33,176,255,75,34,176,240,59,35,176,225,43,36,176,210,27,37,176,195,11,38,48,239,4,39,48,224,244,39,64,223,228,40,64,135,120,41,48,194,212,41,48,179,196,42,48,164,180,43,48,149,164,44,48,134,148,45,48,119,132,46,48,104,116,47,48,89,100,48,176,132,93,49,176,95,114,50,176,102,61,51,176,65,82,52,176,72,29,53,176,35,50,54,176,42,253,54,48,64,27,56,176,12,221,56,48,34,251,57,176,238,188,58,48,4,219,59,48,11,166,60,176,233,206,60,64,244,186,61,64,251,133,62,64,214,154,63,64,221,101,64,192,242,131,65,64,191,69,66,192,212,99,67,64,161,37,68,192,182,67,69,64,131,5,70,192,152,35,71,192,159,238,71,192,122,3,73,192,129,206,73,192,92,227,74,192,99,174,75,64,121,204,76,192,69,142,77,48,243,75,84,192,248,73,87,170,170,170,170,67,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,170,10,0,0,0,167,79,0,0,0,0,0,0,96,84,0,0,0,0,0,0,96,84,0,0,16,14,0,0,112,98,0,0,0,0,0,0,112,98,0,0,16,14,0,0,3,0,48,0,66,0,54,0,78,103,0,224,147,103,0,16,165,103,0,224,2,0,0,0,73,1,0,0,74,1,0,0,50,0,0,0,76,238,211,134,144,220,11,15,128,200,233,24,240,252,218,25,128,77,204,26,112,48,188,27,128,47,172,28,112,18,156,29,128,17,140,30,112,244,123,31,128,243,107,32,112,214,91,33,128,213,75,34,112,184,59,35,128,183,43,36,112,154,27,37,128,153,11,38,240,182,4,39,0,182,244,39,240,152,228,40,0,152,212,41,240,122,196,42,0,122,180,43,240,92,164,44,0,92,148,45,240,62,132,46,0,62,116,47,240,32,100,48,128,90,93,49,112,61,77,50,128,60,61,51,112,31,45,52,128,30,29,53,112,1,13,54,160,179,233,58,144,172,180,59,160,171,164,60,144,142,148,61,160,141,132,62,144,112,116,63,160,111,100,64,144,82,84,65,160,81,68,66,144,52,52,67,160,51,36,68,16,81,29,69,160,154,21,85,112,97,5,86,160,124,245,86,112,67,229,87,50,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,52,100,0,0,0,0,0,0,112,98,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,181,103,0,224,184,103,0,224,235,103,0,16,249,103,0,224,2,0,0,0,28,1,0,0,75,1,0,0,1,0,0,0,100,186,254,176,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,28,82,0,0,0,0,0,0,96,84,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,9,104,0,224,12,104,0,224,15,104,0,16,17,104,0,224,66,0,0,0,186,221,219,161,0,197,163,181,112,83,39,21,192,107,24,22,208,106,8,23,64,159,249,23,80,158,233,24,192,210,218,25,80,35,204,26,112,48,188,27,112,33,172,28,112,18,156,29,112,3,140,30,112,244,123,31,112,229,107,32,112,214,91,33,112,199,75,34,112,184,59,35,112,169,43,36,112,154,27,37,112,139,11,38,240,182,4,39,240,167,244,39,0,167,228,40,0,79,120,41,240,137,212,41,240,122,196,42,240,107,180,43,240,92,164,44,240,77,148,45,240,62,132,46,240,47,116,47,240,32,100,48,112,76,93,49,112,39,114,50,112,46,61,51,112,9,82,52,112,16,29,53,112,235,49,54,112,242,252,54,240,7,27,56,112,212,220,56,240,233,250,57,112,182,188,58,240,203,218,59,240,210,165,60,240,173,186,61,240,180,133,62,240,143,154,63,240,150,101,64,112,172,131,65,240,120,69,66,112,142,99,67,240,90,37,68,112,112,67,69,240,60,5,70,112,82,35,71,112,89,238,71,112,52,3,73,112,59,206,73,112,22,227,74,112,29,174,75,240,50,204,76,112,255,141,77,64,244,109,78,240,186,75,84,170,170,170,170,170,170,170,170,170,170,170,170,66,0,0,0,1,2,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,4,3,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,3,170,170,16,0,0,0,70,134,0,0,0,0,0,0,128,112,0,0,0,0,0,0,144,126,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,192,168,0,0,0,0,0,0,3,0,48,0,66,0,54,0,29,104,0,224,99,104,0,16,117,104,0,224,65,0,0,0,93,71,89,167,240,182,163,181,96,69,39,21,208,121,24,22,224,120,8,23,80,173,249,23,96,172,233,24,208,224,218,25,96,49,204,26,128,62,188,27,128,47,172,28,128,32,156,29,128,17,140,30,128,2,124,31,128,243,107,32,128,228,91,33,128,213,75,34,128,198,59,35,128,183,43,36,128,168,27,37,128,153,11,38,0,197,4,39,0,182,244,39,16,181,228,40,16,93,120,41,0,152,212,41,0,137,196,42,0,122,180,43,0,107,164,44,0,92,148,45,0,77,132,46,0,62,116,47,0,47,100,48,128,90,93,49,128,53,114,50,128,60,61,51,128,23,82,52,128,30,29,53,128,249,49,54,128,0,253,54,0,22,27,56,128,226,220,56,0,248,250,57,128,196,188,58,0,218,218,59,0,225,165,60,0,188,186,61,0,195,133,62,0,158,154,63,0,165,101,64,128,186,131,65,0,135,69,66,128,156,99,67,0,105,37,68,128,126,67,69,0,75,5,70,128,96,35,71,128,103,238,71,128,66,3,73,128,73,206,73,128,36,227,74,128,43,174,75,0,65,204,76,128,13,142,77,240,186,75,84,170,170,170,170,170,170,170,170,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,163,123,0,0,0,0,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,176,154,0,0,0,0,0,0,3,0,48,0,66,0,54,0,139,104,0,224,207,104,0,16,225,104,0,224,65,0,0,0,94,234,219,161,0,197,163,181,112,83,39,21,224,135,24,22,240,134,8,23,96,187,249,23,112,186,233,24,224,238,218,25,112,63,204,26,144,76,188,27,144,61,172,28,144,46,156,29,144,31,140,30,144,16,124,31,144,1,108,32,144,242,91,33,144,227,75,34,144,212,59,35,144,197,43,36,144,182,27,37,144,167,11,38,16,211,4,39,16,196,244,39,32,195,228,40,32,107,120,41,16,166,212,41,16,151,196,42,16,136,180,43,16,121,164,44,16,106,148,45,16,91,132,46,16,76,116,47,16,61,100,48,144,104,93,49,144,67,114,50,144,74,61,51,144,37,82,52,144,44,29,53,144,7,50,54,144,14,253,54,16,36,27,56,144,240,220,56,16,6,251,57,144,210,188,58,16,232,218,59,16,239,165,60,16,202,186,61,16,209,133,62,16,172,154,63,16,179,101,64,144,200,131,65,16,149,69,66,144,170,99,67,16,119,37,68,144,140,67,69,16,89,5,70,144,110,35,71,144,117,238,71,144,80,3,73,144,87,206,73,144,50,227,74,144,57,174,75,16,79,204,76,144,27,142,77,0,201,75,84,170,170,170,170,170,170,170,170,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,170,170,170,12,0,0,0,162,121,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,144,126,0,0,0,0,0,0,144,126,0,0,16,14,0,0,160,140,0,0,0,0,0,0,3,0,48,0,66,0,54,0,243,104,0,224,55,105,0,16,73,105,0,224,3,0,0,0,54,1,0,0,80,1,0,0,9,2,0,0,3,0,0,0,81,115,242,161,24,252,242,203,240,103,154,209,3,0,0,0,1,2,1,170,6,0,0,0,47,90,0,0,0,0,0,0,104,91,0,0,0,0,0,0,144,126,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,91,105,0,224,95,105,0,224,99,105,0,16,101,105,0,224,66,0,0,0,39,9,95,155,255,177,18,161,64,253,163,181,176,139,39,21,32,192,24,22,48,191,8,23,160,243,249,23,176,242,233,24,32,39,219,25,176,119,204,26,208,132,188,27,208,117,172,28,208,102,156,29,208,87,140,30,208,72,124,31,208,57,108,32,208,42,92,33,208,27,76,34,208,12,60,35,208,253,43,36,208,238,27,37,208,223,11,38,80,11,5,39,80,252,244,39,96,251,228,40,96,163,120,41,80,222,212,41,80,207,196,42,80,192,180,43,80,177,164,44,80,162,148,45,80,147,132,46,80,132,116,47,80,117,100,48,208,160,93,49,208,123,114,50,208,130,61,51,208,93,82,52,208,100,29,53,208,63,50,54,208,70,253,54,80,92,27,56,208,40,221,56,80,62,251,57,208,10,189,58,80,32,219,59,80,39,166,60,80,2,187,61,80,9,134,62,80,228,154,63,80,235,101,64,208,0,132,65,80,205,69,66,208,226,99,67,80,175,37,68,208,196,67,69,80,145,5,70,208,166,35,71,208,173,238,71,208,136,3,73,208,143,206,73,208,106,227,74,208,113,174,75,80,135,204,76,208,83,142,77,64,1,76,84,170,170,170,170,66,0,0,0,1,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,6,4,170,170,14,0,0,0,217,56,0,0,0,0,0,0,193,52,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,80,70,0,0,0,0,0,0,80,70,0,0,16,14,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,115,105,0,224,183,105,0,16,201,105,0,224,2,0,0,0,82,1,0,0,31,2,0,0,62,0,0,0,72,154,25,170,80,12,218,231,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,224,252,27,37,224,237,11,38,96,25,5,39,96,10,245,39,112,9,229,40,112,250,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,224,144,61,51,224,107,82,52,224,114,29,53,224,77,50,54,224,84,253,54,96,106,27,56,224,54,221,56,96,76,251,57,224,24,189,58,96,46,219,59,96,53,166,60,96,16,187,61,96,23,134,62,96,242,154,63,96,249,101,64,224,14,132,65,96,219,69,66,224,240,99,67,96,189,37,68,224,210,67,69,96,159,5,70,224,180,35,71,224,187,238,71,224,150,3,73,224,157,206,73,224,120,227,74,224,127,174,75,96,149,204,76,224,97,142,77,96,119,172,78,62,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,184,41,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,4,0,74,0,48,0,66,0,54,0,170,170,221,105,0,224,224,105,0,224,31,106,0,16,48,106,0,224,140,0,0,0,160,170,230,146,144,137,75,155,160,227,254,155,144,9,157,156,144,159,201,157,144,142,127,158,16,211,170,159,144,112,95,160,144,6,140,161,144,245,65,162,144,139,110,163,16,41,35,164,16,191,79,165,144,11,6,170,16,171,244,170,16,196,201,173,16,64,167,174,144,107,160,175,16,34,135,176,16,136,137,177,144,62,112,178,144,164,114,179,144,32,80,180,144,104,50,183,144,228,15,184,144,213,255,184,144,198,239,185,16,212,200,188,16,197,184,189,144,123,159,190,16,167,152,191,16,13,155,192,16,137,120,193,16,122,104,194,16,107,88,195,144,33,63,196,16,77,56,197,16,179,58,198,144,200,88,199,144,251,217,199,144,75,1,201,144,60,241,201,16,127,226,202,16,111,181,203,0,192,236,203,0,104,128,204,16,191,220,204,16,81,149,205,128,103,195,205,0,191,114,206,144,219,197,206,16,51,117,207,0,132,172,207,0,161,82,208,144,189,165,208,16,21,85,209,0,102,140,209,0,131,50,210,144,159,133,210,16,225,89,211,16,210,73,212,64,237,57,213,64,222,41,214,64,207,25,215,64,192,9,216,64,177,249,216,64,162,233,217,64,147,217,218,64,132,201,219,64,117,185,220,192,160,178,221,192,145,162,222,192,130,146,223,192,115,130,224,192,100,114,225,192,85,98,226,192,70,82,227,192,55,66,228,192,40,50,229,192,25,34,230,64,69,27,231,64,54,11,232,64,39,251,232,64,24,235,233,64,9,219,234,64,250,202,235,64,235,186,236,64,220,170,237,64,205,154,238,64,190,138,239,64,175,122,240,64,160,106,241,192,203,99,242,192,188,83,243,192,173,67,244,192,158,51,245,192,143,35,246,192,128,19,247,192,113,3,248,192,98,243,248,16,41,155,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,160,38,84,18,144,9,68,19,160,8,52,20,160,249,35,21,160,234,19,22,160,219,3,23,160,204,243,23,176,203,227,24,160,174,211,25,160,159,195,26,32,203,188,27,32,188,172,28,32,173,156,29,32,158,140,30,32,143,124,31,32,128,108,32,32,113,92,33,32,98,76,34,32,83,60,35,32,68,44,36,32,53,28,37,32,38,12,38,160,81,5,39,160,66,245,39,160,51,229,40,160,36,213,41,160,21,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,144,27,61,94,170,170,170,170,141,0,0,0,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,7,6,5,6,5,6,5,6,5,170,170,170,16,0,0,0,240,231,255,255,0,0,0,0,224,227,255,255,0,0,0,0,224,227,255,255,16,14,0,0,224,227,255,255,32,28,0,0,40,229,255,255,0,0,0,0,240,241,255,255,0,0,0,0,240,241,255,255,16,14,0,0,0,0,0,0,0,0,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,240,241,255,127,7,0,0,96,205,7,0,112,66,106,0,224,207,106,0,224,211,106,0,16,248,106,0,224,95,0,0,0,70,174,204,156,54,75,183,157,198,109,184,158,54,184,132,159,230,29,195,180,224,166,98,203,208,188,211,204,224,209,158,205,208,19,198,206,96,121,117,207,80,48,175,208,96,91,85,209,80,18,143,210,96,104,113,213,208,60,14,214,224,132,90,215,80,228,228,215,224,102,58,217,80,198,196,217,96,131,35,219,80,168,164,219,96,101,3,221,80,138,132,221,96,71,227,222,208,166,109,223,224,9,108,230,208,2,55,231,96,179,32,8,80,150,16,9,96,149,0,10,80,120,240,10,96,119,224,11,208,148,217,12,96,89,192,13,208,118,185,14,224,117,169,15,208,88,153,16,224,87,137,17,208,58,121,18,224,57,105,19,208,28,89,20,224,27,73,21,208,254,56,22,224,253,40,23,80,27,34,24,224,223,8,25,80,253,1,26,96,252,241,26,80,223,225,27,96,222,209,28,80,193,193,29,96,192,177,30,80,163,161,31,224,242,117,32,80,133,129,33,224,212,85,34,208,161,106,35,224,182,53,36,208,131,74,37,224,152,21,38,208,101,42,39,96,181,254,39,208,71,10,41,96,151,222,41,208,41,234,42,96,121,190,43,80,70,211,44,96,91,158,45,80,40,179,46,96,61,126,47,80,10,147,48,224,89,103,49,80,236,114,50,224,59,71,51,80,206,82,52,224,29,39,53,80,176,50,54,224,255,6,55,208,204,27,56,224,225,230,56,208,174,251,57,224,195,198,58,208,144,219,59,96,224,175,60,208,114,187,61,96,194,143,62,208,84,155,63,96,164,111,64,80,113,132,65,96,134,79,66,80,83,100,67,96,104,47,68,80,53,68,69,224,154,243,69,208,81,45,71,170,170,170,170,170,170,170,170,170,170,170,170,95,0,0,0,1,0,1,0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,8,0,0,0,58,195,255,255,0,0,0,0,58,195,255,255,16,14,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,192,199,255,127,1,0,0,96,216,7,0,112,20,107,0,224,119,107,0,16,144,107,0,224,36,0,0,0,240,92,4,166,32,247,65,212,0,54,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,36,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,8,0,0,0,144,241,255,255,0,0,0,0,240,241,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,0,0,0,112,7,0,0,96,205,7,0,112,163,107,0,224,203,107,0,16,213,107,0,224,4,0,0,0,160,170,230,146,32,156,149,204,16,124,116,210,64,247,23,11,170,170,170,170,170,170,170,170,4,0,0,0,1,2,1,3,8,0,0,0,244,233,255,255,0,0,0,0,224,227,255,255,0,0,0,0,224,227,255,255,16,14,0,0,240,241,255,255,0,0,0,0,3,0,48,0,66,0,54,0,232,107,0,224,239,107,0,16,241,107,0,224,2,0,0,0,87,1,0,0,88,1,0,0,33,0,0,0,88,164,109,139,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,33,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,168,249,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,0,0,0,112,7,0,0,96,205,7,0,112,255,107,0,224,2,108,0,224,39,108,0,16,49,108,0,224,140,0,0,0,144,156,230,146,128,123,75,155,144,213,254,155,128,251,156,156,128,145,201,157,128,128,127,158,0,197,170,159,128,98,95,160,128,248,139,161,128,231,65,162,128,125,110,163,0,27,35,164,0,177,79,165,128,253,5,170,0,157,244,170,0,182,201,173,0,50,167,174,128,93,160,175,0,20,135,176,0,122,137,177,128,48,112,178,128,150,114,179,128,18,80,180,128,90,50,183,128,214,15,184,128,199,255,184,128,184,239,185,0,198,200,188,0,183,184,189,128,109,159,190,0,153,152,191,0,255,154,192,0,123,120,193,0,108,104,194,0,93,88,195,128,19,63,196,0,63,56,197,0,165,58,198,128,186,88,199,128,237,217,199,128,61,1,201,128,46,241,201,0,113,226,202,0,97,181,203,240,177,236,203,240,89,128,204,0,177,220,204,0,67,149,205,112,89,195,205,240,176,114,206,128,205,197,206,0,37,117,207,240,117,172,207,240,146,82,208,128,175,165,208,0,7,85,209,240,87,140,209,240,116,50,210,128,145,133,210,0,211,89,211,0,196,73,212,48,223,57,213,48,208,41,214,48,193,25,215,48,178,9,216,48,163,249,216,48,148,233,217,48,133,217,218,48,118,201,219,48,103,185,220,176,146,178,221,176,131,162,222,176,116,146,223,176,101,130,224,176,86,114,225,176,71,98,226,176,56,82,227,176,41,66,228,176,26,50,229,176,11,34,230,48,55,27,231,48,40,11,232,48,25,251,232,48,10,235,233,48,251,218,234,48,236,202,235,48,221,186,236,48,206,170,237,48,191,154,238,48,176,138,239,48,161,122,240,48,146,106,241,176,189,99,242,176,174,83,243,176,159,67,244,176,144,51,245,176,129,35,246,176,114,19,247,176,99,3,248,176,84,243,248,0,27,155,13,0,12,139,14,128,55,132,15,128,40,116,16,128,25,100,17,144,24,84,18,128,251,67,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,160,189,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,140,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,12,0,0,0,40,240,255,255,0,0,0,0,240,241,255,255,0,0,0,0,240,241,255,255,16,14,0,0,240,241,255,255,32,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,0,0,0,112,7,0,0,96,205,7,0,112,67,108,0,224,211,108,0,16,247,108,0,224,2,0,0,0,255,255,255,255,192,253,134,105,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,192,221,255,255,0,0,0,0,224,227,255,255,0,0,0,0,3,0,80,0,66,0,54,0,14,109,0,224,19,109,0,16,21,109,0,224,69,0,0,0,60,95,68,147,192,90,79,195,48,3,54,196,192,60,47,197,48,229,21,198,64,89,24,199,176,1,255,199,64,59,248,200,176,227,222,201,64,29,216,202,176,197,190,203,64,255,183,204,48,129,54,205,64,254,17,25,176,188,211,25,32,196,241,26,48,100,170,27,32,166,209,28,48,70,138,29,176,91,168,30,64,54,106,31,176,61,136,32,64,24,74,33,176,31,104,34,64,250,41,35,176,1,72,36,64,220,9,37,48,30,49,38,64,190,233,38,48,0,17,40,192,218,210,40,48,226,240,41,192,188,178,42,48,196,208,43,192,158,146,44,48,166,176,45,192,128,114,46,48,136,144,47,192,98,82,48,176,164,121,49,64,127,59,50,176,134,89,51,64,97,27,52,176,104,57,53,64,67,251,53,176,74,25,55,64,37,219,55,176,44,249,56,64,7,187,57,208,42,217,58,224,202,145,59,80,71,194,60,224,172,113,61,80,41,162,62,96,201,90,63,80,11,130,64,96,171,58,65,80,237,97,66,96,141,26,67,80,207,65,68,96,111,250,68,80,177,33,70,96,81,218,70,208,205,10,72,224,109,195,72,208,175,234,73,224,79,163,74,208,145,202,75,224,49,131,76,170,170,170,170,170,170,170,170,69,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,3,4,3,4,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,170,170,170,10,0,0,0,196,201,255,255,0,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,208,213,255,255,0,0,0,0,208,213,255,255,16,14,0,0,3,0,48,0,66,0,54,0,31,109,0,224,103,109,0,16,122,109,0,224,2,0,0,0,96,1,0,0,112,1,0,0,83,0,0,0,136,201,78,156,8,54,188,156,8,186,84,203,136,108,199,203,136,93,183,204,136,78,167,205,8,122,160,206,136,48,135,207,136,64,112,3,8,35,13,4,136,34,80,5,136,63,246,5,136,4,48,7,136,33,214,7,136,230,15,9,136,3,182,9,136,200,239,10,8,32,159,11,8,229,216,12,8,2,127,13,8,199,184,14,8,228,94,15,8,169,152,16,8,198,62,17,8,139,120,18,8,168,30,19,8,109,88,20,8,138,254,20,8,79,56,22,136,166,231,22,136,107,33,24,136,136,199,24,136,77,1,26,136,106,167,26,136,47,225,27,136,76,135,28,136,17,193,29,136,163,121,30,8,185,151,31,136,133,89,32,136,213,128,33,8,162,66,34,8,242,105,35,8,132,34,36,8,212,73,37,8,102,2,38,8,182,41,39,8,211,207,39,8,152,9,41,136,100,203,41,8,122,233,42,136,209,152,43,136,150,210,44,136,40,139,45,136,120,178,46,8,69,116,47,136,90,146,48,136,97,93,49,136,60,114,50,136,67,61,51,136,30,82,52,136,37,29,53,136,0,50,54,136,7,253,54,8,29,27,56,136,233,220,56,8,255,250,57,136,203,188,58,8,225,218,59,8,232,165,60,8,195,186,61,8,202,133,62,8,165,154,63,8,172,101,64,136,193,131,65,8,142,69,66,136,163,99,67,136,170,46,68,136,133,67,69,8,82,5,70,136,103,35,71,8,169,247,71,8,154,231,72,4,0,0,0,255,255,255,255,20,139,22,115,255,255,255,255,112,3,18,123,170,170,170,170,85,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,170,170,170,8,0,0,0,236,129,0,0,0,0,0,0,144,126,0,0,0,0,0,0,152,133,0,0,0,0,0,0,152,133,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,152,133,0,112,40,0,0,96,217,7,0,112,138,109,0,224,141,109,0,224,225,109,0,224,231,109,0,16,254,109,0,224,2,0,0,0,97,1,0,0,111,1,0,0,16,0,0,0,128,194,78,156,0,47,188,156,0,179,84,203,128,101,199,203,128,86,183,204,128,71,167,205,0,115,160,206,128,41,135,207,128,57,112,3,0,28,13,4,0,205,73,37,0,234,239,37,0,175,41,39,0,204,207,39,0,145,9,41,0,174,175,41,2,0,0,0,255,255,255,255,8,159,237,114,17,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,120,143,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,20,110,0,224,23,110,0,224,40,110,0,224,43,110,0,16,49,110,0,224,2,0,0,0,98,1,0,0,117,1,0,0,83,0,0,0,136,201,78,156,8,54,188,156,8,186,84,203,136,108,199,203,136,93,183,204,136,78,167,205,8,122,160,206,136,48,135,207,136,64,112,3,8,35,13,4,136,34,80,5,136,63,246,5,136,4,48,7,136,33,214,7,136,230,15,9,136,3,182,9,136,200,239,10,8,32,159,11,8,229,216,12,8,2,127,13,8,199,184,14,8,228,94,15,8,169,152,16,8,198,62,17,8,139,120,18,8,168,30,19,8,109,88,20,8,138,254,20,8,79,56,22,136,144,12,23,136,107,33,24,136,136,199,24,136,77,1,26,136,106,167,26,136,47,225,27,136,76,135,28,136,17,193,29,136,163,121,30,8,185,151,31,136,133,89,32,136,213,128,33,8,162,66,34,8,242,105,35,8,132,34,36,8,212,73,37,8,241,239,37,8,182,41,39,8,211,207,39,8,152,9,41,8,181,175,41,8,122,233,42,136,209,152,43,136,150,210,44,136,179,120,45,136,120,178,46,136,149,88,47,136,90,146,48,136,97,93,49,136,60,114,50,136,67,61,51,136,30,82,52,136,37,29,53,136,0,50,54,136,7,253,54,8,29,27,56,136,233,220,56,8,255,250,57,136,203,188,58,8,225,218,59,8,232,165,60,8,195,186,61,8,202,133,62,8,165,154,63,8,172,101,64,136,193,131,65,8,142,69,66,136,163,99,67,136,170,46,68,136,133,67,69,8,82,5,70,136,103,35,71,8,169,247,71,8,154,231,72,6,0,0,0,255,255,255,255,100,136,22,115,255,255,255,255,224,165,4,118,255,255,255,255,112,3,18,123,170,170,170,170,86,0,0,0,4,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,170,170,10,0,0,0,156,132,0,0,0,0,0,0,144,126,0,0,0,0,0,0,152,133,0,0,0,0,0,0,152,133,0,0,16,14,0,0,160,140,0,0,0,0,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,152,133,0,112,40,0,0,96,217,7,0,112,64,110,0,224,67,110,0,224,151,110,0,224,159,110,0,16,182,110,0,224,3,0,0,0,0,0,0,0,101,1,0,0,109,1,0,0,8,0,0,0,136,201,78,156,8,54,188,156,8,186,84,203,136,108,199,203,136,93,183,204,136,78,167,205,8,122,160,206,136,48,135,207,4,0,0,0,255,255,255,255,88,146,22,115,255,255,255,255,112,3,18,123,170,170,170,170,170,170,170,170,170,170,170,170,10,0,0,0,1,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,168,122,0,0,0,0,0,0,144,126,0,0,0,0,0,0,152,133,0,0,0,0,0,0,152,133,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,206,110,0,224,210,110,0,224,219,110,0,224,227,110,0,16,231,110,0,224,18,0,0,0,20,212,78,156,148,64,188,156,148,196,84,203,20,119,199,203,20,104,183,204,20,89,167,205,20,241,15,9,20,14,182,9,20,88,1,26,20,117,167,26,20,82,37,41,148,191,175,41,148,180,113,69,148,92,5,70,20,114,35,71,20,121,238,71,20,84,3,73,20,91,206,73,2,0,0,0,255,255,255,255,176,10,166,116,170,170,170,170,19,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,208,120,0,0,0,0,0,0,12,123,0,0,0,0,0,0,12,123,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,248,110,0,224,11,111,0,224,15,111,0,16,21,111,0,224,3,0,0,0,100,1,0,0,103,1,0,0,114,1,0,0,95,0,0,0,128,120,213,155,0,47,188,156,128,68,218,157,128,97,128,158,128,38,186,159,128,67,96,160,0,179,84,203,128,101,199,203,128,86,183,204,128,71,167,205,0,115,160,206,128,41,135,207,0,141,194,251,0,126,178,252,0,89,199,253,128,176,118,254,0,59,167,255,128,146,86,0,0,29,135,1,0,175,63,2,128,57,112,3,0,28,13,4,128,27,80,5,128,56,246,5,128,253,47,7,128,26,214,7,128,223,15,9,128,252,181,9,128,193,239,10,0,25,159,11,0,222,216,12,0,251,126,13,0,192,184,14,0,221,94,15,0,162,152,16,0,191,62,17,0,132,120,18,0,161,30,19,0,102,88,20,0,131,254,20,0,72,56,22,0,79,3,23,128,100,33,24,0,49,227,24,128,70,1,26,128,99,167,26,128,40,225,27,128,69,135,28,128,10,193,29,128,39,103,30,0,178,151,31,128,126,89,32,128,206,128,33,0,155,66,34,0,235,105,35,0,125,34,36,0,205,73,37,0,95,2,38,0,175,41,39,0,182,244,39,128,225,237,40,0,152,212,41,128,195,205,42,0,122,180,43,128,165,173,44,0,92,148,45,128,135,141,46,0,62,116,47,128,105,109,48,128,90,93,49,0,134,86,50,128,60,61,51,0,104,54,52,128,30,29,53,0,74,22,54,128,0,253,54,0,44,246,55,128,226,220,56,128,233,167,57,128,196,188,58,128,42,191,59,0,225,165,60,128,12,159,61,0,195,133,62,128,238,126,63,0,165,101,64,128,208,94,65,0,135,69,66,128,178,62,67,128,163,46,68,128,148,30,69,0,75,5,70,0,177,7,71,0,162,247,71,0,147,231,72,2,0,0,0,255,255,255,255,228,0,46,116,170,170,170,170,96,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,6,0,0,0,28,138,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,140,0,112,218,3,0,96,217,7,0,112,35,111,0,224,39,111,0,224,135,111,0,224,139,111,0,16,164,111,0,224,20,0,0,0,128,194,78,156,0,47,188,156,0,179,84,203,128,101,199,203,128,86,183,204,128,71,167,205,0,115,160,206,128,41,135,207,128,57,112,3,0,28,13,4,0,205,73,37,0,234,239,37,0,175,41,39,0,204,207,39,0,145,9,41,0,174,175,41,0,115,233,42,128,202,152,43,128,143,210,44,128,172,120,45,2,0,0,0,255,255,255,255,212,162,237,114,170,170,170,170,170,170,170,170,170,170,170,170,21,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,172,139,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,184,111,0,224,205,111,0,224,211,111,0,16,218,111,0,224,2,0,0,0,104,1,0,0,106,1,0,0,56,0,0,0,224,102,254,20,248,64,56,22,104,138,231,22,120,93,33,24,104,108,199,24,120,63,1,26,104,78,167,26,120,33,225,27,104,48,135,28,120,3,193,29,112,142,121,30,248,170,151,31,112,112,89,32,120,199,128,33,240,140,66,34,248,227,105,35,240,110,34,36,248,197,73,37,240,219,239,37,248,167,41,39,240,189,207,39,248,137,9,41,240,159,175,41,248,107,233,42,112,188,152,43,120,136,210,44,112,158,120,45,120,106,178,46,112,128,88,47,120,76,146,48,112,76,93,49,120,46,114,50,112,46,61,51,120,16,82,52,112,16,29,53,120,242,49,54,112,242,252,54,248,14,27,56,112,212,220,56,120,226,167,57,112,182,188,58,248,210,218,59,240,210,165,60,248,180,186,61,240,180,133,62,248,150,154,63,240,150,101,64,120,179,131,65,240,120,69,66,120,149,99,67,112,149,46,68,120,119,67,69,240,60,5,70,120,89,35,71,240,147,247,71,248,139,231,72,2,0,0,0,255,255,255,255,220,119,22,115,57,0,0,0,1,2,4,2,4,2,4,2,4,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,170,170,170,10,0,0,0,36,149,0,0,0,0,0,0,160,140,0,0,0,0,0,0,168,147,0,0,0,0,0,0,168,147,0,0,8,7,0,0,168,147,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,168,147,0,112,216,1,0,96,217,7,0,112,232,111,0,224,235,111,0,224,36,112,0,224,39,112,0,16,55,112,0,224,2,0,0,0,107,1,0,0,115,1,0,0,83,0,0,0,128,194,78,156,0,47,188,156,0,179,84,203,128,101,199,203,128,86,183,204,128,71,167,205,0,115,160,206,128,41,135,207,128,57,112,3,0,28,13,4,128,27,80,5,128,56,246,5,128,253,47,7,128,26,214,7,128,223,15,9,128,252,181,9,128,193,239,10,0,25,159,11,0,222,216,12,0,251,126,13,0,192,184,14,0,221,94,15,0,162,152,16,0,191,62,17,0,132,120,18,0,161,30,19,0,102,88,20,0,131,254,20,0,72,56,22,128,159,231,22,128,100,33,24,128,129,199,24,128,70,1,26,128,99,167,26,128,40,225,27,128,69,135,28,128,10,193,29,128,156,121,30,0,178,151,31,128,126,89,32,0,148,119,33,0,155,66,34,0,235,105,35,0,125,34,36,0,205,73,37,0,95,2,38,0,175,41,39,0,204,207,39,0,145,9,41,0,174,175,41,0,115,233,42,128,202,152,43,128,143,210,44,128,172,120,45,128,113,178,46,0,62,116,47,128,83,146,48,128,90,93,49,128,53,114,50,128,60,61,51,128,23,82,52,128,30,29,53,128,249,49,54,128,0,253,54,0,22,27,56,128,226,220,56,128,233,167,57,128,196,188,58,0,218,218,59,0,225,165,60,0,188,186,61,0,195,133,62,0,158,154,63,0,165,101,64,128,186,131,65,0,135,69,66,128,156,99,67,128,163,46,68,128,126,67,69,0,75,5,70,128,96,35,71,0,162,247,71,0,147,231,72,2,0,0,0,255,255,255,255,24,133,22,115,170,170,170,170,170,170,170,170,84,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,6,0,0,0,232,135,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,140,0,112,235,0,0,96,217,7,0,112,79,112,0,224,82,112,0,224,166,112,0,224,171,112,0,16,193,112,0,224,2,0,0,0,110,1,0,0,116,1,0,0,18,0,0,0,160,222,78,156,32,75,188,156,32,207,84,203,160,129,199,203,160,114,183,204,160,99,167,205,160,251,15,9,160,24,182,9,160,98,1,26,160,127,167,26,160,92,37,41,32,202,175,41,32,191,113,69,32,103,5,70,160,124,35,71,160,131,238,71,160,94,3,73,160,101,206,73,2,0,0,0,255,255,255,255,228,22,166,116,170,170,170,170,19,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,156,108,0,0,0,0,0,0,128,112,0,0,0,0,0,0,128,112,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,213,112,0,224,216,112,0,224,235,112,0,224,239,112,0,16,245,112,0,224,5,0,0,0,1,0,0,0,95,1,0,0,99,1,0,0,108,1,0,0,113,1,0,0,83,0,0,0,128,194,78,156,0,47,188,156,0,179,84,203,128,101,199,203,128,86,183,204,128,71,167,205,0,115,160,206,128,41,135,207,128,57,112,3,0,28,13,4,128,27,80,5,128,56,246,5,128,253,47,7,128,26,214,7,128,223,15,9,128,252,181,9,128,193,239,10,0,25,159,11,0,222,216,12,0,251,126,13,0,192,184,14,0,221,94,15,0,162,152,16,0,191,62,17,0,132,120,18,0,161,30,19,0,102,88,20,0,131,254,20,0,72,56,22,128,137,12,23,128,100,33,24,128,129,199,24,128,70,1,26,128,99,167,26,128,40,225,27,128,69,135,28,128,10,193,29,128,156,121,30,0,178,151,31,128,126,89,32,128,206,128,33,0,155,66,34,0,235,105,35,0,125,34,36,0,205,73,37,0,234,239,37,0,175,41,39,0,204,207,39,0,145,9,41,0,174,175,41,0,115,233,42,128,202,152,43,128,143,210,44,128,172,120,45,128,113,178,46,128,142,88,47,128,83,146,48,128,90,93,49,128,53,114,50,128,60,61,51,128,23,82,52,128,30,29,53,128,249,49,54,128,0,253,54,0,22,27,56,128,226,220,56,128,233,167,57,128,196,188,58,0,218,218,59,0,225,165,60,0,188,186,61,0,195,133,62,0,158,154,63,0,165,101,64,128,186,131,65,0,135,69,66,128,156,99,67,128,163,46,68,128,126,67,69,0,75,5,70,128,96,35,71,0,162,247,71,0,147,231,72,2,0,0,0,255,255,255,255,60,127,22,115,170,170,170,170,170,170,170,170,84,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,6,0,0,0,196,141,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,160,140,0,112,103,0,0,96,217,7,0,112,4,113,0,224,10,113,0,224,94,113,0,224,99,113,0,16,121,113,0,224,54,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,144,64,78,210,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,54,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,16,14,0,112,121,3,0,96,205,7,0,112,141,113,0,224,199,113,0,16,214,113,0,224,88,0,0,0,128,44,166,158,112,249,186,159,128,14,134,160,112,219,154,161,128,254,136,203,240,9,97,210,0,103,248,250,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,178,16,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,128,117,192,13,240,146,185,14,0,146,169,15,240,116,153,16,0,116,137,17,240,86,121,18,0,86,105,19,240,56,89,20,0,56,73,21,240,26,57,22,0,26,41,23,112,55,34,24,0,252,8,25,112,25,2,26,128,24,242,26,112,251,225,27,128,250,209,28,112,221,193,29,128,220,177,30,112,191,161,31,0,15,118,32,112,161,129,33,0,241,85,34,240,189,106,35,0,211,53,36,240,159,74,37,0,181,21,38,240,129,42,39,128,209,254,39,240,99,10,41,128,179,222,41,240,69,234,42,128,149,190,43,112,98,211,44,128,119,158,45,112,68,179,46,128,89,126,47,112,38,147,48,0,118,103,49,112,8,115,50,0,88,71,51,112,234,82,52,0,58,39,53,112,204,50,54,0,28,7,55,240,232,27,56,0,254,230,56,240,202,251,57,0,224,198,58,240,172,219,59,128,252,175,60,240,142,187,61,128,222,143,62,240,112,155,63,128,192,111,64,112,141,132,65,128,162,79,66,112,111,100,67,128,132,47,68,112,81,68,69,0,183,243,69,240,109,45,71,170,170,170,170,88,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,160,171,255,127,1,0,0,96,216,7,0,112,229,113,0,224,63,114,0,16,86,114,0,224,40,0,0,0,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,40,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,7,0,0,96,205,7,0,112,101,114,0,224,143,114,0,16,154,114,0,224,2,0,0,0,176,185,255,255,0,0,0,0,1,0,54,0,169,114,0,224,88,0,0,0,112,30,166,158,96,235,186,159,112,0,134,160,96,205,154,161,112,240,136,203,224,251,96,210,240,88,248,250,224,59,232,251,240,58,216,252,224,29,200,253,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,25,141,7,96,164,16,9,240,148,173,9,96,134,240,10,112,133,224,11,224,162,217,12,112,103,192,13,224,132,185,14,240,131,169,15,224,102,153,16,240,101,137,17,224,72,121,18,240,71,105,19,224,42,89,20,240,41,73,21,224,12,57,22,240,11,41,23,96,41,34,24,240,237,8,25,96,11,2,26,112,10,242,26,96,237,225,27,112,236,209,28,96,207,193,29,112,206,177,30,96,177,161,31,240,0,118,32,96,147,129,33,240,226,85,34,224,175,106,35,240,196,53,36,224,145,74,37,240,166,21,38,224,115,42,39,112,195,254,39,224,85,10,41,112,165,222,41,224,55,234,42,112,135,190,43,96,84,211,44,112,105,158,45,96,54,179,46,112,75,126,47,96,24,147,48,240,103,103,49,96,250,114,50,240,73,71,51,96,220,82,52,240,43,39,53,96,190,50,54,240,13,7,55,224,218,27,56,240,239,230,56,224,188,251,57,240,209,198,58,224,158,219,59,112,238,175,60,224,128,187,61,112,208,143,62,224,98,155,63,112,178,111,64,96,127,132,65,112,148,79,66,96,97,100,67,112,118,47,68,96,67,68,69,240,168,243,69,224,95,45,71,88,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,176,185,255,127,1,0,0,96,216,7,0,112,174,114,0,224,7,115,0,16,30,115,0,224,10,0,0,0,149,1,0,0,150,1,0,0,163,1,0,0,178,1,0,0,179,1,0,0,252,1,0,0,253,1,0,0,254,1,0,0,255,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,74,0,54,0,170,170,45,115,0,224,56,115,0,224,2,0,0,0,240,241,255,255,0,0,0,0,1,0,54,0,63,115,0,224,2,0,0,0,96,115,255,255,0,0,0,0,1,0,54,0,68,115,0,224,2,0,0,0,80,101,255,255,0,0,0,0,1,0,54,0,73,115,0,224,2,0,0,0,64,87,255,255,0,0,0,0,1,0,54,0,78,115,0,224,2,0,0,0,224,227,255,255,0,0,0,0,1,0,54,0,83,115,0,224,2,0,0,0,208,213,255,255,0,0,0,0,1,0,54,0,88,115,0,224,2,0,0,0,192,199,255,255,0,0,0,0,1,0,54,0,93,115,0,224,2,0,0,0,176,185,255,255,0,0,0,0,1,0,54,0,98,115,0,224,2,0,0,0,160,171,255,255,0,0,0,0,1,0,54,0,103,115,0,224,2,0,0,0,144,157,255,255,0,0,0,0,1,0,54,0,108,115,0,224,2,0,0,0,128,143,255,255,0,0,0,0,1,0,54,0,113,115,0,224,2,0,0,0,112,129,255,255,0,0,0,0,1,0,54,0,118,115,0,224,2,0,0,0,16,14,0,0,0,0,0,0,1,0,54,0,123,115,0,224,2,0,0,0,160,140,0,0,0,0,0,0,1,0,54,0,128,115,0,224,2,0,0,0,176,154,0,0,0,0,0,0,1,0,54,0,133,115,0,224,2,0,0,0,192,168,0,0,0,0,0,0,1,0,54,0,138,115,0,224,2,0,0,0,208,182,0,0,0,0,0,0,1,0,54,0,143,115,0,224,2,0,0,0,224,196,0,0,0,0,0,0,1,0,54,0,148,115,0,224,2,0,0,0,32,28,0,0,0,0,0,0,1,0,54,0,153,115,0,224,2,0,0,0,48,42,0,0,0,0,0,0,1,0,54,0,158,115,0,224,2,0,0,0,64,56,0,0,0,0,0,0,1,0,54,0,163,115,0,224,2,0,0,0,80,70,0,0,0,0,0,0,1,0,54,0,168,115,0,224,2,0,0,0,96,84,0,0,0,0,0,0,1,0,54,0,173,115,0,224,2,0,0,0,112,98,0,0,0,0,0,0,1,0,54,0,178,115,0,224,2,0,0,0,128,112,0,0,0,0,0,0,1,0,54,0,183,115,0,224,2,0,0,0,144,126,0,0,0,0,0,0,1,0,54,0,188,115,0,224,8,0,0,0,180,1,0,0,181,1,0,0,182,1,0,0,184,1,0,0,106,2,0,0,120,2,0,0,121,2,0,0,125,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,74,0,54,0,170,170,193,115,0,224,202,115,0,224,2,0,0,0,0,0,0,0,0,0,0,0,1,0,54,0,209,115,0,224,25,0,0,0,0,219,65,212,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,148,179,54,126,26,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,108,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,214,115,0,224,240,115,0,224,243,115,0,16,251,115,0,224,64,0,0,0,116,69,24,170,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,96,236,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,112,20,247,86,170,170,170,170,170,170,170,170,170,170,170,170,64,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,10,0,0,0,12,45,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,15,116,0,224,83,116,0,16,100,116,0,224,55,0,0,0,128,33,128,155,224,233,124,185,208,175,198,185,224,99,242,201,80,168,16,202,16,75,231,204,240,76,170,205,224,24,162,206,112,105,147,207,96,158,19,223,80,10,183,223,96,94,236,9,96,244,24,11,0,174,205,11,0,159,189,12,128,85,164,13,128,93,140,14,128,55,132,15,16,252,106,16,240,123,100,17,240,170,82,18,96,130,70,19,80,194,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,55,0,0,0,3,4,3,4,2,1,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,10,0,0,0,60,22,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,7,0,0,96,205,7,0,112,116,116,0,224,175,116,0,16,190,116,0,224,6,0,0,0,190,1,0,0,211,1,0,0,223,1,0,0,229,1,0,0,232,1,0,0,246,1,0,0,36,0,0,0,224,53,2,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,140,161,209,144,64,78,210,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,72,240,60,94,170,170,170,170,37,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,56,19,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,211,116,0,224,218,116,0,224,255,116,0,224,3,117,0,16,14,117,0,224,6,0,0,0,239,0,0,0,89,1,0,0,191,1,0,0,198,1,0,0,221,1,0,0,234,1,0,0,60,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,0,150,182,209,128,190,88,210,16,79,161,210,144,27,99,211,144,35,75,212,32,209,57,213,144,231,103,213,0,115,168,213,16,180,41,214,16,26,44,215,16,150,9,216,144,193,2,217,16,120,233,217,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,248,97,162,111,170,170,170,170,170,170,170,170,61,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,8,0,0,0,136,12,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,16,14,0,0,32,28,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,34,117,0,224,41,117,0,224,102,117,0,224,107,117,0,16,124,117,0,224,3,0,0,0,185,1,0,0,193,1,0,0,213,1,0,0,101,0,0,0,128,73,68,152,112,37,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,48,248,206,159,240,165,96,160,112,187,126,161,240,18,46,162,240,76,122,163,240,129,53,164,112,35,94,165,240,53,37,166,240,155,39,167,240,1,42,168,240,125,7,169,112,52,238,169,240,95,231,170,240,80,215,171,240,65,199,172,240,167,201,173,240,35,167,174,112,79,160,175,240,5,135,176,240,107,137,177,160,76,112,178,160,178,114,179,160,46,80,180,32,90,73,181,160,16,48,182,160,118,50,183,160,242,15,184,160,227,255,184,160,212,239,185,32,139,214,186,32,241,216,187,32,226,200,188,32,211,184,189,160,137,159,190,32,181,152,191,32,27,155,192,32,151,120,193,32,136,104,194,32,121,88,195,160,47,63,196,32,91,56,197,32,193,58,198,160,214,88,199,160,9,218,199,32,25,74,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,144,94,110,208,16,22,114,209,144,64,78,210,16,64,145,211,144,35,75,212,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,0,200,232,109,102,0,0,0,1,3,4,3,4,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,170,170,10,0,0,0,26,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,146,117,0,224,150,117,0,224,252,117,0,224,255,117,0,16,26,118,0,224,55,0,0,0,8,210,176,183,96,243,62,185,96,156,239,185,96,141,223,186,96,126,207,187,224,169,200,188,224,154,184,189,224,139,168,190,224,124,152,191,224,109,136,192,224,94,120,193,224,79,104,194,224,64,88,195,224,49,72,196,224,34,56,197,224,19,40,198,224,4,24,199,96,209,173,17,80,224,83,18,208,11,77,19,96,208,51,20,128,221,35,21,128,206,19,22,128,191,3,23,128,176,243,23,128,161,227,24,128,146,211,25,128,131,195,26,0,175,188,27,0,160,172,28,0,145,156,29,0,130,140,30,0,115,124,31,0,100,108,32,0,85,92,33,0,70,76,34,0,55,60,35,0,40,44,36,0,25,28,37,0,10,12,38,128,53,5,39,96,10,245,39,96,251,228,40,96,236,212,41,96,221,196,42,96,206,180,43,96,191,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,123,114,50,16,187,61,51,16,150,82,52,170,170,170,170,55,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,120,24,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,7,0,0,96,206,7,0,112,50,118,0,224,107,118,0,16,122,118,0,224,68,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,16,196,154,160,144,121,100,161,16,26,112,162,16,150,77,163,96,181,243,201,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,224,120,153,209,112,201,138,210,144,166,80,211,128,21,75,212,16,195,57,213,16,180,41,214,16,165,25,215,16,150,9,216,144,193,2,217,16,120,233,217,240,168,162,226,96,242,81,227,16,167,130,228,144,254,49,229,16,254,116,230,144,224,17,231,16,224,84,232,144,194,241,232,240,39,77,19,112,222,51,20,112,207,35,21,112,192,19,22,112,177,3,23,112,162,243,23,112,147,227,24,112,132,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,156,145,23,107,69,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,228,17,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,139,118,0,224,208,118,0,224,211,118,0,16,230,118,0,224,2,0,0,0,197,1,0,0,237,1,0,0,60,0,0,0,12,159,107,158,8,210,176,183,96,243,62,185,96,156,239,185,96,141,223,186,96,126,207,187,224,169,200,188,224,154,184,189,224,139,168,190,224,124,152,191,224,109,136,192,224,94,120,193,224,79,104,194,224,64,88,195,224,49,72,196,224,34,56,197,224,19,40,198,224,4,24,199,96,147,188,200,80,125,119,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,96,144,78,208,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,224,76,67,38,128,53,5,39,128,38,245,39,128,23,229,40,96,236,212,41,80,207,196,42,96,206,180,43,80,177,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,123,114,50,0,173,61,51,0,136,82,52,2,0,0,0,255,255,255,255,248,200,182,86,61,0,0,0,4,3,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,2,1,2,1,2,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,170,170,170,18,0,0,0,8,27,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,120,24,0,0,0,0,0,0,244,26,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,32,28,0,112,21,4,0,96,206,7,0,112,248,118,0,224,251,118,0,224,56,119,0,224,59,119,0,16,76,119,0,224,2,0,0,0,148,1,0,0,199,1,0,0,145,0,0,0,145,179,38,155,17,11,214,155,160,48,207,156,160,195,164,157,160,157,156,158,160,26,151,159,32,186,133,160,160,252,118,161,32,156,101,162,160,200,123,163,160,184,78,164,32,251,63,165,32,96,37,166,32,198,39,167,32,44,42,168,160,248,235,168,160,211,0,170,32,21,213,170,32,240,233,171,32,108,199,172,32,210,201,173,32,78,167,174,160,121,160,175,32,48,135,176,160,208,146,177,160,76,112,178,160,178,114,179,160,46,80,180,32,90,73,181,160,16,48,182,160,118,50,183,160,242,15,184,160,88,18,185,160,212,239,185,32,0,233,186,32,241,216,187,32,87,219,188,32,211,184,189,160,254,177,190,32,181,152,191,32,27,155,192,32,151,120,193,32,253,122,194,32,121,88,195,160,164,81,196,32,91,56,197,32,193,58,198,160,214,88,199,160,9,218,199,32,224,73,212,160,33,30,213,32,172,78,214,32,40,44,215,32,142,46,216,32,149,249,216,32,112,14,218,32,236,235,218,160,23,229,219,32,206,203,220,160,249,196,221,160,234,180,222,32,22,174,223,160,204,148,224,160,72,114,225,32,116,107,226,160,42,82,227,160,144,84,228,160,12,50,229,32,173,61,230,32,41,27,231,160,84,20,232,32,11,251,232,32,113,253,233,32,237,218,234,32,83,221,235,32,207,186,236,160,250,179,237,32,177,154,238,160,103,129,239,32,125,159,240,160,73,97,241,32,95,127,242,32,102,74,243,32,65,95,244,160,13,33,245,32,35,63,246,160,239,0,247,32,5,31,248,160,209,224,248,32,231,254,249,160,179,192,250,160,3,232,251,160,171,123,252,112,187,199,253,32,198,112,3,32,88,41,4,32,168,80,5,32,58,9,6,32,138,48,7,32,28,233,7,32,108,16,9,32,254,200,9,32,78,240,10,160,26,178,11,32,48,208,12,160,252,145,13,32,18,176,14,160,222,113,15,160,46,153,16,160,192,81,17,160,16,121,18,160,162,49,19,160,242,88,20,144,235,35,21,144,198,56,22,144,205,3,23,144,168,24,24,144,175,227,24,144,138,248,25,144,145,195,26,16,167,225,27,16,174,172,28,16,137,193,29,16,144,140,30,16,107,161,31,16,114,108,32,16,77,129,33,16,84,76,34,16,47,97,35,16,54,44,36,144,75,74,37,16,24,12,38,144,45,42,39,144,52,245,39,144,15,10,41,144,22,213,41,144,241,233,42,144,248,180,43,144,211,201,44,144,218,148,45,144,181,169,46,144,188,116,47,144,151,137,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,145,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,170,10,0,0,0,15,250,255,255,0,0,0,0,15,250,255,255,16,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,16,14,0,0,0,0,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,0,0,0,112,7,0,0,96,205,7,0,112,108,119,0,224,111,119,0,224,3,120,0,16,41,120,0,224,115,0,0,0,160,173,38,155,32,5,214,155,160,48,207,156,160,195,164,157,160,157,156,158,160,26,151,159,32,186,133,160,160,252,118,161,32,156,101,162,160,200,123,163,160,184,78,164,32,251,63,165,32,96,37,166,32,198,39,167,32,44,42,168,160,248,235,168,160,211,0,170,32,21,213,170,32,240,233,171,32,108,199,172,32,210,201,173,32,78,167,174,160,121,160,175,32,48,135,176,160,208,146,177,160,76,112,178,160,178,114,179,160,46,80,180,32,90,73,181,160,16,48,182,160,118,50,183,160,242,15,184,160,88,18,185,160,212,239,185,32,0,233,186,32,241,216,187,32,87,219,188,32,211,184,189,160,254,177,190,32,181,152,191,32,27,155,192,32,151,120,193,32,253,122,194,32,121,88,195,160,164,81,196,32,91,56,197,32,193,58,198,160,214,88,199,160,9,218,199,144,38,22,202,144,89,151,202,144,30,209,203,144,59,119,204,144,0,177,205,16,88,96,206,144,226,144,207,144,94,110,208,16,22,114,209,16,50,251,209,32,254,105,210,160,41,99,211,32,224,73,212,160,33,30,213,144,253,66,213,16,224,223,213,32,172,78,214,160,3,254,214,32,142,46,216,32,149,249,216,32,112,14,218,32,236,235,218,160,23,229,219,32,206,203,220,160,249,196,221,160,234,180,222,32,22,174,223,160,204,148,224,160,72,114,225,32,116,107,226,160,42,82,227,160,144,84,228,160,12,50,229,32,173,61,230,32,41,27,231,160,84,20,232,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,4,10,209,87,170,170,170,170,116,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,3,2,3,2,3,2,3,2,1,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,12,0,0,0,252,250,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,32,28,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,63,120,0,224,179,120,0,224,183,120,0,16,213,120,0,224,2,0,0,0,202,1,0,0,216,1,0,0,35,0,0,0,27,111,115,164,96,81,206,203,96,229,192,204,128,221,35,21,128,206,19,22,128,191,3,23,128,176,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,170,170,170,170,35,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,101,23,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,32,28,0,112,7,0,0,96,205,7,0,112,237,120,0,224,240,120,0,224,23,121,0,16,33,121,0,224,3,0,0,0,21,1,0,0,204,1,0,0,105,2,0,0,114,0,0,0,152,245,139,144,96,23,12,155,208,190,213,155,224,99,101,162,80,130,123,163,96,128,78,164,208,180,63,165,224,39,37,166,208,127,39,167,96,40,40,170,208,253,225,170,224,137,249,171,80,49,195,172,224,63,129,200,80,19,1,201,96,245,74,201,80,128,206,202,96,174,203,203,80,9,107,210,96,57,162,211,80,2,67,212,224,13,76,213,208,123,41,214,224,239,43,215,208,93,9,216,96,151,2,217,208,63,233,217,224,179,235,218,80,92,210,219,96,208,212,220,80,62,178,221,96,185,244,241,80,239,98,244,96,6,104,245,208,56,31,246,112,147,110,6,112,154,57,7,0,117,251,7,112,124,25,9,0,203,208,9,112,94,249,10,128,254,177,11,112,64,217,12,128,85,164,13,112,173,166,14,128,55,132,15,80,17,248,15,112,176,137,25,224,176,220,25,240,208,230,27,240,239,198,28,112,49,155,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,112,9,229,40,112,250,212,41,112,235,196,42,112,220,180,43,112,205,164,44,240,131,139,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,144,201,5,70,16,223,35,71,16,230,238,71,16,193,3,73,16,200,206,73,16,163,227,74,16,170,174,75,144,191,204,76,144,221,143,77,144,161,172,78,16,110,110,79,144,131,140,80,144,138,87,81,144,101,108,82,16,190,56,83,144,71,76,84,144,78,23,85,144,158,62,86,144,48,247,86,80,46,207,87,2,0,0,0,255,255,255,255,216,200,182,86,170,170,170,170,170,170,170,170,115,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,5,4,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,4,170,12,0,0,0,40,27,0,0,0,0,0,0,104,27,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,51,121,0,224,55,121,0,224,170,121,0,224,175,121,0,16,205,121,0,224,79,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,224,119,124,209,96,132,149,209,80,173,138,210,224,182,89,211,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,0,25,28,37,0,10,12,38,128,53,5,39,128,38,245,39,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,0,166,114,50,0,173,61,51,0,136,82,52,0,143,29,53,0,106,50,54,0,113,253,54,128,134,27,56,0,83,221,56,128,104,251,57,0,53,189,58,128,74,219,59,128,81,166,60,128,44,187,61,128,51,134,62,128,14,155,63,128,21,102,64,0,43,132,65,128,247,69,66,0,13,100,67,128,217,37,68,0,239,67,69,128,187,5,70,0,209,35,71,0,216,238,71,0,179,3,73,0,186,206,73,0,149,227,74,0,156,174,75,128,177,204,76,0,126,142,77,112,43,76,84,2,0,0,0,255,255,255,255,72,91,162,111,170,170,170,170,170,170,170,170,80,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,14,0,0,0,56,19,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,226,121,0,224,50,122,0,224,55,122,0,16,76,122,0,224,63,0,0,0,128,57,0,161,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,96,236,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,170,170,170,170,63,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,170,10,0,0,0,152,46,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,98,122,0,224,163,122,0,16,180,122,0,224,4,0,0,0,207,1,0,0,209,1,0,0,239,1,0,0,247,1,0,0,40,0,0,0,100,167,25,170,96,25,164,181,208,46,205,202,16,75,231,204,144,23,169,205,16,67,162,206,112,168,205,206,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,224,32,141,38,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,16,180,114,50,16,187,61,51,16,150,82,52,170,170,170,170,40,0,0,0,3,5,2,1,2,1,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,4,3,4,3,4,3,4,3,4,3,4,3,4,3,14,0,0,0,156,28,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,32,28,0,112,7,0,0,96,206,7,0,112,196,122,0,224,201,122,0,224,243,122,0,16,254,122,0,224,2,0,0,0,210,1,0,0,87,2,0,0,141,0,0,0,128,142,230,146,112,109,75,155,128,199,254,155,112,237,156,156,112,131,201,157,112,114,127,158,240,182,170,159,112,84,95,160,112,234,139,161,112,217,65,162,112,111,110,163,240,12,35,164,240,162,79,165,112,239,5,170,240,142,244,170,240,167,201,173,240,35,167,174,112,79,160,175,240,5,135,176,240,107,137,177,112,34,112,178,112,136,114,179,112,4,80,180,112,76,50,183,112,200,15,184,112,185,255,184,112,170,239,185,240,183,200,188,240,168,184,189,112,95,159,190,240,138,152,191,240,240,154,192,240,108,120,193,240,93,104,194,240,78,88,195,112,5,63,196,240,48,56,197,240,150,58,198,112,172,88,199,112,223,217,199,112,47,1,201,112,32,241,201,240,98,226,202,240,82,181,203,224,163,236,203,224,75,128,204,240,162,220,204,240,52,149,205,96,75,195,205,224,162,114,206,112,191,197,206,240,22,117,207,224,103,172,207,224,132,82,208,112,161,165,208,240,248,84,209,224,73,140,209,224,102,50,210,112,131,133,210,240,196,89,211,240,181,73,212,32,209,57,213,32,194,41,214,32,179,25,215,32,164,9,216,32,149,249,216,32,134,233,217,32,119,217,218,32,104,201,219,32,89,185,220,160,132,178,221,160,117,162,222,160,102,146,223,160,87,130,224,160,72,114,225,160,57,98,226,160,42,82,227,160,27,66,228,160,12,50,229,160,253,33,230,32,41,27,231,32,26,11,232,32,11,251,232,32,252,234,233,32,237,218,234,32,222,202,235,32,207,186,236,32,192,170,237,32,177,154,238,32,162,138,239,32,147,122,240,32,132,106,241,160,175,99,242,160,160,83,243,160,145,67,244,160,130,51,245,160,115,35,246,160,100,19,247,160,85,3,248,160,70,243,248,0,42,171,12,0,27,155,13,0,12,139,14,128,55,132,15,128,40,116,16,128,25,100,17,144,24,84,18,128,251,67,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,160,189,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,141,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,5,4,5,4,5,4,2,1,170,170,170,12,0,0,0,99,247,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,32,28,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,0,0,0,112,7,0,0,96,205,7,0,112,24,123,0,224,27,123,0,224,171,123,0,16,208,123,0,224,7,0,0,0,189,1,0,0,201,1,0,0,203,1,0,0,205,1,0,0,212,1,0,0,250,1,0,0,251,1,0,0,159,0,0,0,160,173,38,155,32,5,214,155,160,48,207,156,160,195,164,157,160,157,156,158,160,26,151,159,32,186,133,160,160,252,118,161,32,156,101,162,160,200,123,163,160,184,78,164,32,251,63,165,32,96,37,166,32,198,39,167,32,44,42,168,160,248,235,168,160,211,0,170,32,21,213,170,32,240,233,171,32,108,199,172,32,210,201,173,32,78,167,174,160,121,160,175,32,48,135,176,160,208,146,177,160,76,112,178,160,178,114,179,160,46,80,180,32,90,73,181,160,16,48,182,160,118,50,183,160,242,15,184,160,88,18,185,160,212,239,185,32,0,233,186,32,241,216,187,32,87,219,188,32,211,184,189,160,254,177,190,32,181,152,191,32,27,155,192,32,151,120,193,32,253,122,194,32,121,88,195,160,164,81,196,32,91,56,197,32,193,58,198,160,214,88,199,160,9,218,199,144,38,22,202,144,89,151,202,144,30,209,203,144,59,119,204,144,0,177,205,16,88,96,206,144,226,144,207,144,94,110,208,16,22,114,209,16,50,251,209,32,254,105,210,160,41,99,211,32,224,73,212,160,33,30,213,144,253,66,213,16,224,223,213,32,172,78,214,160,3,254,214,32,142,46,216,32,149,249,216,32,112,14,218,32,236,235,218,160,23,229,219,32,206,203,220,160,249,196,221,160,234,180,222,32,22,174,223,160,204,148,224,160,72,114,225,32,116,107,226,160,42,82,227,160,144,84,228,160,12,50,229,32,173,61,230,32,41,27,231,160,84,20,232,32,11,251,232,32,113,253,233,32,237,218,234,32,83,221,235,32,207,186,236,160,250,179,237,32,177,154,238,160,103,129,239,32,125,159,240,160,73,97,241,32,95,127,242,32,102,74,243,32,65,95,244,160,13,33,245,32,35,63,246,160,239,0,247,32,5,31,248,160,209,224,248,32,231,254,249,160,179,192,250,160,3,232,251,160,171,123,252,112,187,199,253,32,198,112,3,32,88,41,4,32,168,80,5,32,58,9,6,32,138,48,7,32,28,233,7,32,108,16,9,32,254,200,9,32,78,240,10,160,26,178,11,32,48,208,12,160,252,145,13,32,18,176,14,160,222,113,15,160,46,153,16,160,192,81,17,160,16,121,18,160,162,49,19,160,242,88,20,144,235,35,21,144,198,56,22,144,205,3,23,144,168,24,24,144,175,227,24,144,138,248,25,144,145,195,26,16,167,225,27,16,174,172,28,16,137,193,29,16,144,140,30,16,107,161,31,16,114,108,32,16,77,129,33,16,84,76,34,16,47,97,35,16,54,44,36,144,75,74,37,16,24,12,38,144,45,42,39,144,52,245,39,144,15,10,41,144,22,213,41,144,241,233,42,144,248,180,43,144,211,201,44,144,218,148,45,144,181,169,46,144,188,116,47,144,151,137,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,203,9,93,26,160,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,3,2,3,2,3,2,3,2,1,2,1,2,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,10,0,0,0,181,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,32,28,0,0,16,14,0,0,0,0,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,0,0,0,112,7,0,0,96,205,7,0,112,232,123,0,224,240,123,0,224,144,124,0,224,147,124,0,16,188,124,0,224,79,0,0,0,240,197,186,158,0,57,160,159,240,27,144,160,128,108,129,161,112,239,5,170,0,110,231,170,240,167,201,173,0,50,167,174,112,79,160,175,0,20,135,176,0,122,137,177,128,48,112,178,112,136,114,179,128,18,80,180,240,236,201,194,0,93,88,195,240,63,72,196,224,27,109,196,96,116,57,197,128,91,33,199,240,142,245,199,96,222,245,203,240,113,149,204,96,75,195,205,112,213,160,206,96,45,163,207,112,183,128,208,96,15,131,209,112,153,96,210,96,241,98,211,112,123,64,212,224,70,30,217,240,91,233,217,224,205,13,8,112,146,244,8,224,175,237,9,112,116,212,10,224,28,187,11,240,27,171,12,96,57,164,13,240,253,138,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,0,181,54,126,80,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,12,0,0,0,140,252,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,32,28,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,212,124,0,224,36,125,0,224,39,125,0,16,60,125,0,224,86,0,0,0,112,248,56,155,224,204,213,155,240,203,197,156,96,0,183,157,112,254,137,158,224,28,160,159,240,165,96,160,96,173,126,161,112,55,92,162,96,26,76,163,240,53,108,200,16,75,231,204,144,23,169,205,16,67,162,206,144,226,144,207,144,94,110,208,16,22,114,209,240,210,76,210,144,49,62,211,16,210,73,212,112,247,29,213,240,151,41,214,144,128,235,214,16,150,9,216,240,181,51,249,224,196,217,249,112,210,28,251,240,180,185,251,112,180,252,252,240,150,153,253,240,208,229,254,112,179,130,255,240,178,197,0,112,149,98,1,112,90,156,2,112,119,66,3,240,118,133,4,240,147,43,5,112,51,26,6,112,36,10,7,112,22,23,8,112,52,218,8,144,20,247,9,128,13,194,10,144,246,214,11,128,239,161,12,144,216,182,13,128,209,129,14,144,186,150,15,128,179,97,16,144,156,118,17,128,149,65,18,16,91,69,19,0,178,42,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,100,211,189,112,170,170,170,170,87,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,156,13,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,84,125,0,224,171,125,0,224,175,125,0,16,198,125,0,224,67,0,0,0,56,170,25,170,96,25,164,181,208,112,94,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,96,2,10,208,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,112,24,245,39,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,0,166,114,50,0,173,61,51,0,136,82,52,0,143,29,53,0,106,50,54,0,113,253,54,128,134,27,56,0,83,221,56,128,104,251,57,0,53,189,58,128,74,219,59,128,81,166,60,128,44,187,61,128,51,134,62,128,14,155,63,128,21,102,64,0,43,132,65,128,247,69,66,0,13,100,67,128,217,37,68,0,239,67,69,128,187,5,70,0,209,35,71,0,216,238,71,0,179,3,73,0,186,206,73,0,149,227,74,0,156,174,75,128,177,204,76,0,126,142,77,2,0,0,0,255,255,255,255,40,202,182,86,68,0,0,0,3,4,6,2,1,2,1,2,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,6,16,0,0,0,216,25,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,200,25,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,4,0,48,0,80,0,66,0,54,0,170,170,216,125,0,224,28,126,0,224,31,126,0,16,49,126,0,224,2,0,0,0,219,1,0,0,123,2,0,0,77,0,0,0,199,30,95,155,121,242,62,157,249,238,42,158,105,57,247,158,249,87,132,159,233,108,216,160,128,57,0,161,64,166,60,161,192,109,16,164,176,50,61,164,176,104,21,165,192,3,61,165,80,69,30,167,96,25,164,181,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,128,23,229,40,128,191,120,41,112,250,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,170,170,170,170,77,0,0,0,3,4,3,5,4,5,7,6,7,8,7,6,1,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,2,1,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,9,6,170,170,170,20,0,0,0,57,35,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,119,35,0,0,0,0,0,0,119,35,0,0,16,14,0,0,119,35,0,0,32,28,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,48,42,0,0,32,28,0,0,64,56,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,73,126,0,224,76,126,0,224,155,126,0,16,176,126,0,224,3,0,0,0,143,1,0,0,218,1,0,0,222,1,0,0,101,0,0,0,79,80,96,145,240,120,71,155,112,44,215,155,112,145,188,156,240,72,192,157,112,254,137,158,240,42,160,159,240,165,96,160,240,12,128,161,240,18,46,162,240,76,122,163,240,129,53,164,112,35,94,165,240,53,37,166,240,155,39,167,112,38,88,168,240,125,7,169,112,52,238,169,240,95,231,170,240,80,215,171,240,65,199,172,240,167,201,173,240,35,167,174,112,79,160,175,240,5,135,176,240,107,137,177,112,34,112,178,112,136,114,179,112,4,80,180,240,47,73,181,112,230,47,182,112,76,50,183,112,200,15,184,112,185,255,184,112,170,239,185,240,96,214,186,240,198,216,187,240,183,200,188,240,168,184,189,112,95,159,190,240,138,152,191,240,240,154,192,240,108,120,193,240,93,104,194,240,78,88,195,112,5,63,196,240,48,56,197,240,150,58,198,112,172,88,199,160,9,218,199,224,39,108,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,224,225,79,208,240,241,137,208,16,22,114,209,144,64,78,210,0,57,187,11,240,27,171,12,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,101,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,4,5,4,5,3,2,3,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,170,12,0,0,0,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,32,28,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,204,126,0,224,208,126,0,224,55,127,0,16,82,127,0,224,2,0,0,0,192,1,0,0,224,1,0,0,60,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,16,7,98,210,144,28,128,211,16,210,73,212,32,180,147,212,32,114,2,213,16,56,76,213,16,180,41,214,16,26,44,215,16,150,9,216,16,112,1,217,16,120,233,217,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,248,234,207,108,170,170,170,170,170,170,170,170,61,0,0,0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,170,8,0,0,0,136,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,106,127,0,224,109,127,0,224,170,127,0,224,175,127,0,16,192,127,0,224,53,0,0,0,254,135,185,158,254,142,132,159,126,70,136,160,254,130,203,160,222,241,231,173,96,100,175,200,80,101,98,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,112,137,144,208,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,0,25,28,37,0,10,12,38,128,53,5,39,128,38,245,39,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,0,188,77,50,16,187,61,51,16,150,82,52,16,157,29,53,16,120,50,54,16,127,253,54,144,148,27,56,16,67,189,58,144,88,219,59,170,170,170,170,170,170,170,170,170,170,170,170,53,0,0,0,3,0,3,0,4,6,2,1,2,1,2,1,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,170,16,0,0,0,162,22,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,162,22,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,7,0,0,96,210,7,0,112,214,127,0,224,15,128,0,16,30,128,0,224,3,0,0,0,226,1,0,0,228,1,0,0,241,1,0,0,86,0,0,0,112,248,56,155,224,204,213,155,240,203,197,156,96,0,183,157,112,254,137,158,224,28,160,159,240,165,96,160,96,173,126,161,112,55,92,162,96,26,76,163,240,53,108,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,144,94,110,208,16,22,114,209,240,210,76,210,144,49,62,211,16,210,73,212,112,247,29,213,240,151,41,214,144,128,235,214,16,150,9,216,240,181,51,249,224,196,217,249,112,210,28,251,240,180,185,251,112,180,252,252,240,150,153,253,240,208,229,254,112,179,130,255,240,178,197,0,112,149,98,1,112,90,156,2,112,119,66,3,240,118,133,4,240,147,43,5,112,147,110,6,240,117,11,7,240,58,69,8,240,87,235,8,112,87,46,10,240,57,203,10,112,57,14,12,240,27,171,12,240,224,228,13,240,253,138,14,112,253,205,15,112,26,116,16,112,223,173,17,112,252,83,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,112,129,188,112,87,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,180,11,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,57,128,0,224,61,128,0,224,148,128,0,224,151,128,0,16,174,128,0,224,64,0,0,0,128,57,0,161,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,128,23,229,40,0,199,0,41,96,236,212,41,96,221,196,42,96,206,180,43,96,191,164,44,96,176,148,45,96,161,132,46,96,146,116,47,96,131,100,48,224,174,93,49,224,137,114,50,224,144,61,51,224,107,82,52,224,114,29,53,224,77,50,54,224,84,253,54,96,106,27,56,224,54,221,56,96,76,251,57,224,24,189,58,96,46,219,59,96,53,166,60,96,16,187,61,96,23,134,62,96,242,154,63,96,249,101,64,224,14,132,65,96,219,69,66,224,240,99,67,96,189,37,68,224,210,67,69,96,159,5,70,224,180,35,71,224,187,238,71,224,150,3,73,224,157,206,73,224,120,227,74,224,127,174,75,112,163,204,76,240,111,142,77,64,0,0,0,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,3,2,1,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,3,2,4,12,0,0,0,244,46,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,194,128,0,224,3,129,0,16,20,129,0,224,64,0,0,0,128,57,0,161,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,96,236,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,112,78,67,88,64,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,10,0,0,0,50,43,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,38,129,0,224,103,129,0,16,120,129,0,224,74,0,0,0,32,164,25,170,96,25,164,181,208,141,4,203,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,224,56,159,207,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,46,141,38,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,208,198,194,45,112,175,132,46,112,160,116,47,112,145,100,48,208,160,93,49,0,166,114,50,16,187,61,51,16,150,82,52,16,157,29,53,16,120,50,54,16,127,253,54,144,148,27,56,16,97,221,56,144,118,251,57,16,67,189,58,144,88,219,59,144,95,166,60,144,58,187,61,144,65,134,62,144,28,155,63,144,35,102,64,16,57,132,65,144,5,70,66,16,27,100,67,144,231,37,68,16,253,67,69,144,201,5,70,16,223,35,71,16,230,238,71,16,193,3,73,16,200,206,73,16,163,227,74,16,170,174,75,144,191,204,76,16,140,142,77,144,161,172,78,16,110,110,79,144,131,140,80,144,138,87,81,144,101,108,82,128,94,55,83,96,29,76,84,2,0,0,0,255,255,255,255,8,196,182,86,170,170,170,170,75,0,0,0,5,3,6,2,1,2,1,2,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,7,6,3,4,3,4,3,4,7,6,7,6,7,6,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,8,6,170,18,0,0,0,248,31,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,224,31,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,136,129,0,224,211,129,0,224,215,129,0,16,235,129,0,224,44,0,0,0,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,32,36,114,209,80,239,99,17,224,63,85,18,208,11,77,19,224,33,53,20,208,237,44,21,112,192,19,22,208,207,12,23,128,176,243,23,128,161,227,24,128,146,211,25,128,131,195,26,0,175,188,27,0,160,172,28,0,145,156,29,0,130,140,30,0,115,124,31,0,100,108,32,0,85,92,33,0,70,76,34,0,55,60,35,0,40,44,36,0,25,28,37,0,10,12,38,128,53,5,39,96,10,245,39,80,237,228,40,96,236,212,41,80,207,196,42,96,206,180,43,80,177,164,44,96,176,148,45,80,147,132,46,96,146,116,47,80,117,100,48,224,174,93,49,208,123,114,50,16,187,61,51,16,150,82,52,4,0,0,0,255,255,255,255,36,206,182,86,255,255,255,255,24,227,195,114,46,0,0,0,3,4,1,2,1,2,1,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,170,170,12,0,0,0,220,21,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,104,27,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,32,28,0,112,7,0,0,96,206,7,0,112,5,130,0,224,50,130,0,224,55,130,0,16,68,130,0,224,52,0,0,0,204,45,89,158,144,144,185,158,144,151,132,159,112,43,0,161,76,111,115,164,224,181,176,200,80,151,198,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,224,203,116,208,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,0,25,28,37,0,10,12,38,128,53,5,39,128,38,245,39,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,0,166,114,50,0,173,61,51,0,136,82,52,0,143,29,53,16,120,50,54,16,127,253,54,144,148,27,56,144,95,166,60,144,58,187,61,170,170,170,170,170,170,170,170,52,0,0,0,1,2,1,0,3,5,2,1,2,1,2,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,14,0,0,0,52,23,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,32,28,0,112,7,0,0,96,211,7,0,112,92,130,0,224,147,130,0,16,161,130,0,224,51,0,0,0,104,52,170,150,112,135,109,200,16,75,231,204,144,23,169,205,144,233,184,205,240,57,40,8,96,62,239,8,240,120,5,10,224,113,208,10,112,79,233,11,96,72,180,12,240,107,210,13,96,42,148,14,112,252,176,15,96,12,116,16,112,222,144,17,96,238,83,18,112,192,112,19,96,185,59,20,112,185,72,21,96,178,19,22,240,213,49,23,224,206,252,23,112,148,0,25,96,95,219,25,240,175,204,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,51,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,152,18,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,186,130,0,224,239,130,0,16,253,130,0,224,66,0,0,0,128,57,0,161,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,224,26,60,35,224,11,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,128,23,229,40,128,191,120,41,112,250,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,112,20,247,86,170,170,170,170,170,170,170,170,66,0,0,0,3,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,4,3,4,3,2,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,5,3,5,170,170,14,0,0,0,96,45,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,14,131,0,224,83,131,0,16,101,131,0,224,56,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,16,26,112,162,144,91,68,163,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,16,69,127,209,144,27,99,211,144,35,75,212,16,195,57,213,16,180,41,214,16,26,44,215,16,150,9,216,240,39,77,19,96,208,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,2,0,0,0,255,255,255,255,47,95,162,111,170,170,170,170,170,170,170,170,57,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,81,15,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,121,131,0,224,178,131,0,224,183,131,0,16,199,131,0,224,51,0,0,0,80,31,79,156,152,74,133,161,240,48,241,162,96,120,102,163,112,207,172,200,208,42,89,202,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,224,61,48,208,208,167,39,21,64,220,24,22,80,219,8,23,192,15,250,23,208,14,234,24,64,67,219,25,208,147,204,26,240,160,188,27,240,145,172,28,240,130,156,29,240,115,140,30,240,100,124,31,240,85,108,32,240,70,92,33,240,55,76,34,240,40,60,35,240,25,44,36,0,25,28,37,0,10,12,38,128,53,5,39,128,38,245,39,128,23,229,40,128,8,213,41,128,249,196,42,128,234,180,43,128,219,164,44,128,204,148,45,128,189,132,46,128,174,116,47,128,159,100,48,0,203,93,49,0,166,114,50,0,173,61,51,0,136,82,52,16,157,29,53,16,120,50,54,16,127,253,54,144,148,27,56,144,65,134,62,144,28,155,63,2,0,0,0,255,255,255,255,68,204,182,86,170,170,170,170,170,170,170,170,170,170,170,170,52,0,0,0,3,4,1,5,1,7,2,1,2,1,2,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,2,1,2,5,6,5,18,0,0,0,188,23,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,176,19,0,0,0,0,0,0,104,22,0,0,0,0,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,32,28,0,112,7,0,0,96,212,7,0,112,217,131,0,224,13,132,0,224,19,132,0,16,33,132,0,224,65,0,0,0,220,70,245,161,80,11,164,181,192,153,39,21,48,206,24,22,64,205,8,23,176,1,250,23,192,0,234,24,48,53,219,25,192,133,204,26,224,146,188,27,224,131,172,28,224,116,156,29,224,101,140,30,224,86,124,31,224,71,108,32,224,56,92,33,224,41,76,34,240,40,60,35,240,25,44,36,240,10,28,37,240,251,11,38,112,39,5,39,112,24,245,39,96,236,212,41,112,235,196,42,112,220,180,43,112,205,164,44,112,190,148,45,112,175,132,46,112,160,116,47,112,145,100,48,240,188,93,49,240,151,114,50,240,158,61,51,240,121,82,52,240,128,29,53,240,91,50,54,240,98,253,54,112,120,27,56,240,68,221,56,112,90,251,57,240,38,189,58,112,60,219,59,112,67,166,60,112,30,187,61,112,37,134,62,112,0,155,63,112,7,102,64,240,28,132,65,112,233,69,66,240,254,99,67,112,203,37,68,240,224,67,69,112,173,5,70,240,194,35,71,240,201,238,71,240,164,3,73,240,171,206,73,240,134,227,74,240,141,174,75,112,163,204,76,240,111,142,77,96,29,76,84,240,237,212,91,96,178,231,95,170,170,170,170,170,170,170,170,65,0,0,0,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,2,1,2,1,2,1,3,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,170,170,170,10,0,0,0,164,41,0,0,0,0,0,0,48,42,0,0,0,0,0,0,48,42,0,0,16,14,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,63,132,0,224,131,132,0,16,149,132,0,224,2,0,0,0,245,1,0,0,86,2,0,0,82,0,0,0,208,42,168,153,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,0,182,154,160,0,189,101,161,96,124,125,166,16,222,118,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,0,186,132,208,112,146,149,209,96,187,138,210,112,255,98,211,144,35,75,212,16,173,94,213,16,180,41,214,16,26,44,215,16,150,9,216,144,193,2,217,16,120,233,217,0,210,84,232,128,180,241,232,128,165,225,233,128,150,209,234,0,150,20,236,0,179,186,236,0,164,170,237,0,149,154,238,0,90,212,239,0,119,122,240,0,60,180,241,0,89,90,242,0,30,148,243,0,59,58,244,128,58,125,245,0,29,26,246,128,85,164,13,0,12,139,14,128,55,132,15,128,40,116,16,128,25,100,17,128,10,84,18,0,54,77,19,128,236,51,20,128,221,35,21,128,206,19,22,128,191,3,23,128,176,243,23,128,161,227,24,128,146,211,25,128,131,195,26,0,175,188,27,0,160,172,28,0,145,156,29,0,130,140,30,0,115,124,31,0,100,108,32,0,85,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,82,0,0,0,1,2,1,2,1,2,3,4,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,10,0,0,0,176,19,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,32,28,0,0,0,0,0,0,32,28,0,0,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,16,14,0,112,7,0,0,96,205,7,0,112,165,132,0,224,168,132,0,224,251,132,0,16,17,133,0,224,3,0,0,0,196,1,0,0,240,1,0,0,248,1,0,0,36,0,0,0,0,106,23,202,0,113,226,202,0,76,247,203,0,83,194,204,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,4,0,0,0,255,255,255,255,128,234,240,36,255,255,255,255,134,6,212,113,170,170,170,170,170,170,170,170,38,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,0,8,0,0,0,0,0,0,250,6,0,0,0,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,16,14,0,112,7,0,0,96,205,7,0,112,39,133,0,224,43,133,0,224,80,133,0,224,87,133,0,16,98,133,0,224,2,0,0,0,0,0,0,0,0,0,0,0,1,0,54,0,120,133,0,224,2,0,0,0,96,115,255,255,0,0,0,0,1,0,54,0,125,133,0,224,2,0,0,0,156,247,126,137,176,221,230,48,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,228,67,0,0,0,0,0,0,80,70,0,0,0,0,0,0,96,84,0,0,0,0,0,0,3,0,48,0,66,0,54,0,130,133,0,224,135,133,0,16,137,133,0,224,2,0,0,0,11,2,0,0,13,2,0,0,1,0,0,0,152,195,47,237,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,232,68,0,0,0,0,0,0,80,70,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,149,133,0,224,152,133,0,224,155,133,0,16,157,133,0,224,5,0,0,0,152,5,127,137,64,237,5,24,48,114,219,24,224,150,3,73,208,143,206,73,5,0,0,0,1,2,1,2,1,170,170,170,6,0,0,0,232,53,0,0,0,0,0,0,64,56,0,0,0,0,0,0,64,56,0,0,16,14,0,0,3,0,48,0,66,0,54,0,169,133,0,224,175,133,0,16,178,133,0,224,54,0,0,0,96,23,12,155,240,218,213,155,144,174,217,156,144,181,164,157,144,144,185,158,144,151,132,159,144,113,9,200,16,75,231,204,144,23,169,205,16,67,162,206,16,52,146,207,16,37,130,208,16,22,114,209,144,64,78,210,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,170,170,170,170,54,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,16,14,0,0,0,0,0,0,16,14,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,16,14,0,112,121,3,0,96,205,7,0,112,190,133,0,224,247,133,0,16,6,134,0,224,2,0,0,0,144,157,255,255,0,0,0,0,1,0,54,0,21,134,0,224,88,0,0,0,144,58,166,158,128,7,187,159,144,28,134,160,128,233,154,161,144,12,137,203,0,24,97,210,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,192,16,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,144,131,192,13,0,161,185,14,16,160,169,15,0,131,153,16,16,130,137,17,0,101,121,18,16,100,105,19,0,71,89,20,16,70,73,21,0,41,57,22,16,40,41,23,128,69,34,24,16,10,9,25,128,39,2,26,144,38,242,26,128,9,226,27,144,8,210,28,128,235,193,29,144,234,177,30,128,205,161,31,16,29,118,32,128,175,129,33,16,255,85,34,0,204,106,35,16,225,53,36,0,174,74,37,16,195,21,38,0,144,42,39,144,223,254,39,0,114,10,41,144,193,222,41,0,84,234,42,144,163,190,43,128,112,211,44,144,133,158,45,128,82,179,46,144,103,126,47,128,52,147,48,16,132,103,49,128,22,115,50,16,102,71,51,128,248,82,52,16,72,39,53,128,218,50,54,16,42,7,55,0,247,27,56,16,12,231,56,0,217,251,57,16,238,198,58,0,187,219,59,144,10,176,60,0,157,187,61,144,236,143,62,0,127,155,63,144,206,111,64,128,155,132,65,144,176,79,66,128,125,100,67,144,146,47,68,128,95,68,69,16,197,243,69,0,124,45,71,88,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,144,157,255,127,1,0,0,96,216,7,0,112,26,134,0,224,115,134,0,16,138,134,0,224,88,0,0,0,160,72,166,158,144,21,187,159,160,42,134,160,144,247,154,161,160,26,137,203,16,38,97,210,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,206,16,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,160,145,192,13,16,175,185,14,32,174,169,15,16,145,153,16,32,144,137,17,16,115,121,18,32,114,105,19,16,85,89,20,32,84,73,21,16,55,57,22,32,54,41,23,144,83,34,24,32,24,9,25,144,53,2,26,160,52,242,26,144,23,226,27,160,22,210,28,144,249,193,29,160,248,177,30,144,219,161,31,32,43,118,32,144,189,129,33,32,13,86,34,16,218,106,35,32,239,53,36,16,188,74,37,32,209,21,38,16,158,42,39,160,237,254,39,16,128,10,41,160,207,222,41,16,98,234,42,160,177,190,43,144,126,211,44,160,147,158,45,144,96,179,46,160,117,126,47,144,66,147,48,32,146,103,49,144,36,115,50,32,116,71,51,144,6,83,52,32,86,39,53,144,232,50,54,32,56,7,55,16,5,28,56,32,26,231,56,16,231,251,57,32,252,198,58,16,201,219,59,160,24,176,60,16,171,187,61,160,250,143,62,16,141,155,63,160,220,111,64,144,169,132,65,160,190,79,66,144,139,100,67,160,160,47,68,144,109,68,69,32,211,243,69,16,138,45,71,170,170,170,170,88,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,128,143,255,127,1,0,0,96,216,7,0,112,153,134,0,224,243,134,0,16,10,135,0,224,2,0,0,0,25,2,0,0,42,2,0,0,25,0,0,0,0,252,5,145,56,4,98,218,176,39,159,76,224,43,151,77,96,226,125,78,160,139,253,78,224,13,119,79,224,254,102,80,96,42,96,81,224,224,70,82,96,12,64,83,224,194,38,84,96,238,31,85,224,164,6,86,96,208,255,86,224,134,230,87,96,178,223,88,224,104,198,89,96,148,191,90,96,133,175,91,224,176,168,92,96,103,143,93,224,146,136,94,96,73,111,95,224,116,104,96,2,0,0,0,255,255,255,255,0,201,61,110,170,170,170,170,170,170,170,170,26,0,0,0,2,1,3,4,3,4,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,170,170,14,0,0,0,128,176,0,0,0,0,0,0,72,94,255,255,0,0,0,0,0,95,255,255,0,0,0,0,80,101,255,255,0,0,0,0,80,101,255,255,16,14,0,0,208,182,0,0,0,0,0,0,208,182,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,25,135,0,224,28,135,0,224,54,135,0,224,59,135,0,16,67,135,0,224,5,0,0,0,232,0,0,0,235,0,0,0,32,2,0,0,33,2,0,0,43,2,0,0,97,0,0,0,232,178,180,176,88,135,81,177,104,229,120,178,96,229,67,179,104,199,88,180,96,199,35,181,104,169,56,182,96,169,3,183,104,139,24,184,224,197,236,184,104,109,248,185,224,167,204,186,104,79,216,187,224,232,227,188,232,246,174,189,224,202,195,190,232,216,142,191,224,172,163,192,232,186,110,193,224,142,131,194,232,156,78,195,224,112,99,196,232,126,46,197,96,141,76,198,232,96,14,199,96,111,44,200,104,125,247,200,64,154,218,210,224,253,24,9,224,165,172,9,96,165,239,10,224,252,158,11,224,193,216,12,224,222,126,13,224,163,184,14,224,192,94,15,224,133,152,16,224,162,62,17,224,103,120,18,224,132,30,19,224,73,88,20,224,102,254,20,224,43,56,22,96,131,231,22,96,72,33,24,96,101,199,24,96,42,1,26,96,71,167,26,96,12,225,27,96,41,135,28,96,238,192,29,96,11,103,30,96,208,160,31,96,237,70,32,96,178,128,33,224,9,48,34,224,206,105,35,224,235,15,36,96,1,46,37,224,66,2,38,96,227,13,39,224,36,226,39,96,197,237,40,224,6,194,41,96,167,205,42,96,35,171,43,96,137,173,44,96,5,139,45,96,107,141,46,96,231,106,47,96,77,109,48,96,201,74,49,224,105,86,50,96,171,42,51,224,75,54,52,96,141,10,53,224,45,22,54,224,169,243,54,224,15,246,55,224,139,211,56,224,241,213,57,224,109,179,58,96,14,191,59,224,79,147,60,96,240,158,61,224,49,115,62,96,210,126,63,96,78,92,64,96,180,94,65,96,48,60,66,96,150,62,67,96,18,28,68,96,120,30,69,96,244,251,69,96,90,254,70,224,133,247,71,96,60,222,72,2,0,0,0,255,255,255,255,168,76,183,65,170,170,170,170,170,170,170,170,98,0,0,0,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,170,170,12,0,0,0,216,163,0,0,0,0,0,0,184,161,0,0,0,0,0,0,184,161,0,0,8,7,0,0,184,161,0,0,16,14,0,0,192,168,0,0,0,0,0,0,192,168,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,192,168,0,112,34,0,0,96,217,7,0,112,90,135,0,224,96,135,0,224,194,135,0,224,199,135,0,16,225,135,0,224,3,0,0,0,96,54,67,204,240,108,43,210,128,215,158,84,4,0,0,0,255,255,255,255,40,82,182,86,255,255,255,255,144,164,237,114,170,170,170,170,170,170,170,170,170,170,170,170,5,0,0,0,2,3,1,3,4,170,170,170,10,0,0,0,216,145,0,0,0,0,0,0,144,126,0,0,0,0,0,0,240,137,0,0,0,0,0,0,160,140,0,0,0,0,0,0,176,154,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,251,135,0,224,255,135,0,224,7,136,0,16,10,136,0,224,2,0,0,0,34,2,0,0,45,2,0,0,70,0,0,0,188,150,218,210,224,253,24,9,224,165,172,9,96,165,239,10,224,252,158,11,224,193,216,12,224,222,126,13,224,163,184,14,224,192,94,15,224,133,152,16,224,162,62,17,224,103,120,18,224,132,30,19,224,73,88,20,224,102,254,20,224,43,56,22,96,131,231,22,96,72,33,24,96,101,199,24,96,42,1,26,96,71,167,26,96,12,225,27,96,41,135,28,96,238,192,29,96,11,103,30,96,208,160,31,96,237,70,32,96,178,128,33,224,9,48,34,224,206,105,35,224,235,15,36,96,1,46,37,224,66,2,38,96,227,13,39,224,36,226,39,96,197,237,40,224,6,194,41,96,167,205,42,96,35,171,43,96,137,173,44,96,5,139,45,96,107,141,46,96,231,106,47,96,77,109,48,96,201,74,49,224,105,86,50,96,171,42,51,224,75,54,52,96,141,10,53,224,45,22,54,224,169,243,54,224,15,246,55,224,139,211,56,224,241,213,57,224,109,179,58,96,14,191,59,224,79,147,60,96,240,158,61,224,49,115,62,96,210,126,63,96,78,92,64,96,180,94,65,96,48,60,66,96,150,62,67,96,18,28,68,96,120,30,69,96,244,251,69,96,90,254,70,224,133,247,71,96,60,222,72,2,0,0,0,255,255,255,255,132,68,183,65,170,170,170,170,170,170,170,170,71,0,0,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,170,8,0,0,0,252,171,0,0,0,0,0,0,68,172,0,0,0,0,0,0,76,179,0,0,0,0,0,0,76,179,0,0,16,14,0,0,8,0,101,0,91,0,110,0,74,0,48,0,80,0,66,0,54,0,170,170,76,179,0,112,136,18,0,96,217,7,0,112,28,136,0,224,31,136,0,224,102,136,0,224,107,136,0,16,126,136,0,224,2,0,0,0,140,1,0,0,47,2,0,0,110,0,0,0,136,64,199,185,64,60,209,253,176,250,146,254,192,205,204,255,176,220,114,0,192,80,117,1,176,73,64,2,192,50,85,3,176,43,32,4,64,79,62,5,176,13,0,6,64,188,11,7,176,239,223,7,64,19,254,8,176,209,191,9,64,245,221,10,48,238,168,11,64,215,189,12,48,208,136,13,64,185,157,14,48,178,104,15,192,213,134,16,48,148,72,17,192,183,102,18,48,118,40,19,192,153,70,20,176,146,17,21,192,123,38,22,176,116,241,22,192,93,6,24,176,86,209,24,192,63,230,25,176,56,177,26,64,92,207,27,176,26,145,28,64,62,175,29,176,252,112,30,64,32,143,31,48,3,127,32,64,2,111,33,48,251,57,34,64,228,78,35,48,221,25,36,192,0,56,37,48,191,249,37,192,248,242,38,48,161,217,39,192,196,247,40,176,189,194,41,192,166,215,42,176,159,162,43,192,136,183,44,176,129,130,45,192,106,151,46,176,99,98,47,64,135,128,48,176,69,66,49,64,105,96,50,48,215,61,51,64,75,64,52,48,68,11,53,64,184,13,54,176,213,6,55,64,15,0,56,48,8,203,56,192,43,233,57,48,234,170,58,192,13,201,59,48,204,138,60,192,239,168,61,48,174,106,62,192,209,136,63,176,202,83,64,192,179,104,65,176,172,51,66,192,149,72,67,176,142,19,68,64,178,49,69,176,112,243,69,64,148,17,71,48,2,239,71,64,118,241,72,48,111,188,73,64,88,209,74,176,0,184,75,64,58,177,76,48,7,198,77,192,130,80,78,176,174,156,79,192,217,66,80,176,144,124,81,64,246,43,82,176,114,92,83,64,216,11,84,48,230,55,87,192,236,175,87,48,200,23,89,192,206,143,89,48,170,247,90,192,176,111,91,176,103,169,92,192,124,116,93,176,73,137,94,192,94,84,95,176,43,105,96,192,64,52,97,176,13,73,98,64,93,29,99,176,239,40,100,192,4,244,100,170,170,170,170,110,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,170,170,10,0,0,0,120,153,255,255,0,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,7,0,101,0,91,0,110,0,74,0,48,0,66,0,54,0,160,171,255,127,127,3,0,96,232,7,0,112,148,136,0,224,151,136,0,224,7,137,0,16,36,137,0,224,23,0,0,0,180,194,245,146,64,153,121,7,64,204,250,7,208,247,210,25,192,218,194,26,208,217,178,27,192,188,162,28,80,246,155,29,192,158,130,30,80,216,123,31,64,187,107,32,80,186,91,33,64,157,75,34,80,156,59,35,64,127,43,36,80,126,27,37,64,97,11,38,80,96,251,38,64,67,235,39,208,124,228,40,64,81,129,41,208,72,233,42,64,51,97,43,170,170,170,170,23,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,6,0,0,0,204,157,0,0,0,0,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,3,0,48,0,66,0,54,0,58,137,0,224,83,137,0,16,90,137,0,224,1,0,0,0,176,153,253,78,2,0,0,0,255,255,255,255,136,85,55,126,2,0,0,0,1,2,170,170,6,0,0,0,120,95,255,255,0,0,0,0,80,101,255,255,0,0,0,0,208,182,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,102,137,0,224,104,137,0,224,107,137,0,16,109,137,0,224,29,0,0,0,192,177,19,154,224,23,59,54,96,250,215,54,96,52,36,56,96,220,183,56,224,44,17,75,96,15,174,75,96,234,194,76,224,65,114,77,96,204,162,78,224,196,26,79,96,174,130,80,224,166,250,80,224,202,107,82,208,122,218,82,96,231,84,84,224,106,186,84,96,201,52,86,224,76,154,86,224,229,29,88,224,46,122,88,224,199,253,89,224,16,90,90,224,169,221,91,224,242,57,92,96,198,198,93,224,212,25,94,96,7,222,95,96,241,2,96,170,170,170,170,170,170,170,170,29,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,170,170,170,6,0,0,0,192,167,0,0,0,0,0,0,192,168,0,0,0,0,0,0,192,168,0,0,16,14,0,0,3,0,48,0,66,0,54,0,123,137,0,224,155,137,0,16,164,137,0,224,4,0,0,0,128,76,164,182,80,196,24,30,224,10,23,43,80,244,113,43,170,170,170,170,170,170,170,170,4,0,0,0,3,1,2,1,8,0,0,0,0,172,255,255,0,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,176,185,255,255,0,0,0,0,3,0,48,0,66,0,54,0,176,137,0,224,183,137,0,16,185,137,0,224,1,0,0,0,4,72,80,148,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,124,129,255,255,0,0,0,0,112,129,255,255,0,0,0,0,3,0,48,0,66,0,54,0,199,137,0,224,203,137,0,16,205,137,0,224,4,0,0,0,55,2,0,0,73,2,0,0,74,2,0,0,90,2,0,0,1,0,0,0,140,51,79,148,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,244,149,0,0,0,0,0,0,176,154,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,215,137,0,224,220,137,0,224,223,137,0,16,225,137,0,224,2,0,0,0,56,2,0,0,77,2,0,0,18,0,0,0,224,149,55,203,240,137,46,208,0,190,55,236,240,248,54,239,0,0,155,251,140,39,63,254,0,30,1,255,240,88,93,255,0,44,151,0,112,117,70,1,0,14,119,2,112,87,38,3,0,151,112,7,240,209,204,7,0,145,8,12,44,135,124,12,128,148,191,13,112,163,101,14,4,0,0,0,255,255,255,255,204,197,225,20,255,255,255,255,76,45,54,126,170,170,170,170,170,170,170,170,170,170,170,170,20,0,0,0,2,3,1,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,10,0,0,0,52,54,255,255,0,0,0,0,144,126,0,0,0,0,0,0,180,135,0,0,0,0,0,0,160,140,0,0,0,0,0,0,160,140,0,0,16,14,0,0,5,0,74,0,48,0,80,0,66,0,54,0,237,137,0,224,240,137,0,224,3,138,0,224,11,138,0,16,17,138,0,224,3,0,0,0,57,2,0,0,58,2,0,0,113,2,0,0,5,0,0,0,72,67,5,187,88,113,33,187,200,61,137,203,56,73,97,210,72,115,141,213,2,0,0,0,255,255,255,255,190,112,224,116,170,170,170,170,170,170,170,170,6,0,0,0,1,2,1,2,1,3,170,170,8,0,0,0,2,108,255,255,0,0,0,0,88,108,255,255,0,0,0,0,88,108,255,255,16,14,0,0,96,115,255,255,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,36,138,0,224,40,138,0,224,46,138,0,224,51,138,0,16,54,138,0,224,2,0,0,0,49,2,0,0,59,2,0,0,3,0,0,0,128,219,44,195,192,4,86,18,176,57,5,47,170,170,170,170,3,0,0,0,1,2,3,170,8,0,0,0,0,0,0,0,0,0,0,0,64,87,255,255,0,0,0,0,80,101,255,255,0,0,0,0,208,182,0,0,0,0,0,0,4,0,74,0,48,0,66,0,54,0,170,170,71,138,0,224,74,138,0,224,79,138,0,16,81,138,0,224,2,0,0,0,0,242,85,18,160,43,5,47,2,0,0,0,255,255,255,255,128,72,55,126,3,0,0,0,1,2,3,170,8,0,0,0,128,108,255,255,0,0,0,0,0,106,255,255,0,0,0,0,96,115,255,255,0,0,0,0,224,196,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,97,138,0,224,100,138,0,224,103,138,0,16,105,138,0,224,7,0,0,0,208,149,17,152,240,249,57,160,208,53,237,193,96,10,234,201,240,14,17,210,80,27,134,255,64,103,139,54,4,0,0,0,255,255,255,255,180,180,225,20,255,255,255,255,52,28,54,126,170,170,170,170,9,0,0,0,3,4,1,4,2,1,4,5,4,170,170,170,12,0,0,0,76,71,255,255,0,0,0,0,144,126,0,0,0,0,0,0,160,140,0,0,0,0,0,0,204,152,0,0,0,0,0,0,176,154,0,0,0,0,0,0,192,168,0,0,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,121,138,0,224,129,138,0,224,135,138,0,16,139,138,0,224,2,0,0,0,22,2,0,0,62,2,0,0,5,0,0,0,208,53,237,193,96,10,234,201,240,129,70,207,80,27,134,255,64,14,118,44,2,0,0,0,255,255,255,255,32,24,54,126,6,0,0,0,4,3,2,4,1,5,170,170,12,0,0,0,224,156,0,0,0,0,0,0,64,87,255,255,0,0,0,0,144,126,0,0,0,0,0,0,160,140,0,0,0,0,0,0,176,154,0,0,0,0,0,0,192,168,0,0,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,159,138,0,224,162,138,0,224,168,138,0,224,171,138,0,16,174,138,0,224,1,0,0,0,72,76,80,148,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,56,125,255,255,0,0,0,0,104,122,255,255,0,0,0,0,3,0,48,0,66,0,54,0,195,138,0,224,199,138,0,16,201,138,0,224,4,0,0,0,4,43,231,163,200,233,144,204,240,39,67,210,232,168,33,17,170,170,170,170,170,170,170,170,170,170,170,170,4,0,0,0,2,1,2,3,8,0,0,0,124,156,0,0,0,0,0,0,144,126,0,0,0,0,0,0,184,161,0,0,0,0,0,0,192,168,0,0,0,0,0,0,3,0,48,0,66,0,54,0,211,138,0,224,219,138,0,16,221,138,0,224,2,0,0,0,76,106,161,223,96,184,166,245,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,180,96,255,255,0,0,0,0,160,96,255,255,0,0,0,0,80,101,255,255,0,0,0,0,3,0,48,0,66,0,54,0,235,138,0,224,239,138,0,16,241,138,0,224,7,0,0,0,128,248,65,220,104,202,15,9,104,231,181,9,104,230,15,86,240,175,152,93,240,160,136,94,240,145,120,95,2,0,0,0,255,255,255,255,136,23,54,126,170,170,170,170,170,170,170,170,170,170,170,170,8,0,0,0,3,4,5,4,1,2,1,2,12,0,0,0,120,157,0,0,0,0,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,128,157,0,0,0,0,0,0,184,161,0,0,0,0,0,0,184,161,0,0,16,14,0,0,7,0,101,0,91,0,110,0,48,0,80,0,66,0,54,0,176,154,0,112,103,0,0,96,229,7,0,112,253,138,0,224,5,139,0,224,11,139,0,16,14,139,0,224,7,0,0,0,116,196,245,146,80,186,230,14,192,187,86,15,80,156,198,16,64,239,55,17,240,75,160,50,112,68,24,51,170,170,170,170,7,0,0,0,1,2,1,2,1,2,1,170,6,0,0,0,12,156,0,0,0,0,0,0,176,154,0,0,0,0,0,0,176,154,0,0,16,14,0,0,3,0,48,0,66,0,54,0,38,139,0,224,47,139,0,16,50,139,0,224,4,0,0,0,65,2,0,0,70,2,0,0,78,2,0,0,119,2,0,0,1,0,0,0,8,251,5,145,2,0,0,0,255,255,255,255,8,200,61,110,170,170,170,170,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,120,177,0,0,0,0,0,0,248,95,255,255,0,0,0,0,80,101,255,255,0,0,0,0,5,0,74,0,48,0,80,0,66,0,54,0,62,139,0,224,67,139,0,224,69,139,0,224,75,139,0,16,77,139,0,224,4,0,0,0,255,255,255,255,108,207,225,20,255,255,255,255,236,54,54,126,170,170,170,170,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,148,44,255,255,0,0,0,0,20,126,0,0,0,0,0,0,144,126,0,0,0,0,0,0,3,0,80,0,66,0,54,0,92,139,0,224,99,139,0,16,101,139,0,224,1,0,0,0,8,66,68,53,2,0,0,0,255,255,255,255,244,46,55,126,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,12,134,255,255,0,0,0,0,120,136,255,255,0,0,0,0,128,143,255,255,0,0,0,0,4,0,48,0,80,0,66,0,54,0,170,170,113,139,0,224,115,139,0,224,119,139,0,16,121,139,0,224,5,0,0,0,229,0,0,0,46,2,0,0,75,2,0,0,82,2,0,0,85,2,0,0,4,0,0,0,255,255,255,255,8,90,182,86,255,255,255,255,144,164,237,114,170,170,170,170,2,0,0,0,1,2,170,170,6,0,0,0,248,137,0,0,0,0,0,0,240,137,0,0,0,0,0,0,160,140,0,0,0,0,0,0,4,0,74,0,80,0,66,0,54,0,170,170,135,139,0,224,141,139,0,224,147,139,0,16,149,139,0,224,27,0,0,0,200,96,161,223,40,27,172,16,24,181,63,17,32,129,121,18,24,151,31,19,32,99,89,20,24,121,255,20,32,69,57,22,152,149,232,22,160,97,34,24,152,119,200,24,160,67,2,26,152,89,168,26,160,37,226,27,152,59,136,28,160,7,194,29,152,29,104,30,160,233,161,31,152,255,71,32,160,203,129,33,24,28,49,34,32,232,106,35,24,254,16,36,32,202,74,37,24,224,240,37,32,172,42,39,24,194,208,39,2,0,0,0,255,255,255,255,200,220,76,124,170,170,170,170,28,0,0,0,1,2,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,10,0,0,0,184,187,0,0,0,0,0,0,56,106,255,255,0,0,0,0,88,108,255,255,0,0,0,0,96,115,255,255,0,0,0,0,96,115,255,255,8,7,0,0,4,0,48,0,80,0,66,0,54,0,170,170,163,139,0,224,191,139,0,224,195,139,0,16,203,139,0,224,1,0,0,0,184,85,80,148,1,0,0,0,1,170,170,170,4,0,0,0,200,115,255,255,0,0,0,0,96,115,255,255,0,0,0,0,3,0,48,0,66,0,54,0,221,139,0,224,223,139,0,16,225,139,0,224,5,0,0,0,52,2,0,0,63,2,0,0,80,2,0,0,83,2,0,0,84,2,0,0,2,0,0,0,255,255,255,255,204,18,54,126,170,170,170,170,170,170,170,170,170,170,170,170,1,0,0,0,1,170,170,170,4,0,0,0,52,162,0,0,0,0,0,0,192,168,0,0,0,0,0,0,4,0,74,0,80,0,66,0,54,0,170,170,235,139,0,224,241,139,0,224,247,139,0,16,249,139,0,224,10,0,0,0,64,156,69,210,16,224,17,239,208,71,251,55,208,125,211,56,80,8,4,58,64,184,114,58,80,234,227,59,64,154,82,60,208,215,29,88,208,32,122,88,170,170,170,170,170,170,170,170,170,170,170,170,10,0,0,0,1,2,3,2,3,2,3,2,3,2,170,170,8,0,0,0,64,173,0,0,0,0,0,0,112,173,0,0,0,0,0,0,208,182,0,0,0,0,0,0,208,182,0,0,16,14,0,0,3,0,48,0,66,0,54,0,5,140,0,224,19,140,0,16,23,140,0,224,2,0,0,0,192,199,255,255,0,0,0,0,1,0,54,0,37,140,0,224,150,0,0,0,224,42,177,128,208,13,161,129,224,12,145,130,208,239,128,131,224,238,112,132,80,12,106,133,96,11,90,134,80,238,73,135,96,237,57,136,80,208,41,137,96,207,25,138,80,178,9,139,96,177,249,139,80,148,233,140,96,147,217,141,208,176,210,142,96,117,185,143,208,146,178,144,224,145,162,145,208,116,146,146,224,115,130,147,208,86,114,148,224,85,98,149,208,56,82,150,224,55,66,151,208,26,50,152,224,25,34,153,80,55,27,154,96,54,11,155,80,25,251,155,96,24,235,156,80,251,218,157,96,250,202,158,80,221,186,159,96,220,170,160,80,191,154,161,96,190,138,162,208,219,131,163,96,160,106,164,208,189,99,165,224,188,83,166,208,159,67,167,224,158,51,168,208,129,35,169,224,128,19,170,208,99,3,171,224,98,243,171,208,69,227,172,224,68,211,173,80,98,204,174,224,38,179,175,80,68,172,176,96,67,156,177,80,38,140,178,96,37,124,179,80,8,108,180,96,7,92,181,80,234,75,182,96,233,59,183,80,204,43,184,96,203,27,185,208,232,20,186,224,231,4,187,208,202,244,187,224,201,228,188,208,172,212,189,224,171,196,190,208,142,180,191,224,141,164,192,208,112,148,193,224,111,132,194,80,141,125,195,224,81,100,196,80,111,93,197,96,110,77,198,80,81,61,199,96,80,45,200,80,51,29,201,96,50,13,202,80,21,253,202,96,20,237,203,80,247,220,204,96,246,204,205,208,19,198,206,224,18,182,207,208,245,165,208,224,244,149,209,208,215,133,210,224,214,117,211,208,185,101,212,224,184,85,213,208,155,69,214,224,154,53,215,80,184,46,216,224,124,21,217,80,154,14,218,96,153,254,218,80,124,238,219,96,123,222,220,80,94,206,221,96,93,190,222,80,64,174,223,96,63,158,224,80,34,142,225,96,33,126,226,208,62,119,227,96,3,94,228,208,32,87,229,224,31,71,230,208,2,55,231,224,1,39,232,208,228,22,233,224,227,6,234,208,198,246,234,224,197,230,235,208,168,214,236,224,167,198,237,80,197,191,238,96,196,175,239,80,167,159,240,96,166,143,241,80,137,127,242,96,136,111,243,80,107,95,244,96,106,79,245,80,77,63,246,96,76,47,247,208,105,40,248,96,46,15,249,208,75,8,250,224,74,248,250,208,45,232,251,224,44,216,252,208,15,200,253,224,14,184,254,208,241,167,255,224,240,151,0,208,211,135,1,224,210,119,2,80,240,112,3,96,239,96,4,80,210,80,5,96,209,64,6,80,180,48,7,96,11,141,7,80,128,53,9,224,134,173,9,80,120,240,10,96,119,224,11,208,148,217,12,170,170,170,170,170,170,170,170,150,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,192,199,255,255,0,0,0,0,192,199,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,192,199,255,127,205,3,0,96,185,7,0,112,42,140,0,224,195,140,0,16,234,140,0,224,2,0,0,0,160,171,255,255,0,0,0,0,1,0,54,0,249,140,0,224,150,0,0,0,0,71,177,128,240,41,161,129,0,41,145,130,240,11,129,131,0,11,113,132,112,40,106,133,128,39,90,134,112,10,74,135,128,9,58,136,112,236,41,137,128,235,25,138,112,206,9,139,128,205,249,139,112,176,233,140,128,175,217,141,240,204,210,142,128,145,185,143,240,174,178,144,0,174,162,145,240,144,146,146,0,144,130,147,240,114,114,148,0,114,98,149,240,84,82,150,0,84,66,151,240,54,50,152,0,54,34,153,112,83,27,154,128,82,11,155,112,53,251,155,128,52,235,156,112,23,219,157,128,22,203,158,112,249,186,159,128,248,170,160,112,219,154,161,128,218,138,162,240,247,131,163,128,188,106,164,240,217,99,165,0,217,83,166,240,187,67,167,0,187,51,168,240,157,35,169,0,157,19,170,240,127,3,171,0,127,243,171,240,97,227,172,0,97,211,173,112,126,204,174,0,67,179,175,112,96,172,176,128,95,156,177,112,66,140,178,128,65,124,179,112,36,108,180,128,35,92,181,112,6,76,182,128,5,60,183,112,232,43,184,128,231,27,185,240,4,21,186,0,4,5,187,240,230,244,187,0,230,228,188,240,200,212,189,0,200,196,190,240,170,180,191,0,170,164,192,240,140,148,193,0,140,132,194,112,169,125,195,0,110,100,196,112,139,93,197,128,138,77,198,112,109,61,199,128,108,45,200,112,79,29,201,128,78,13,202,112,49,253,202,128,48,237,203,112,19,221,204,128,18,205,205,240,47,198,206,0,47,182,207,240,17,166,208,0,17,150,209,240,243,133,210,0,243,117,211,240,213,101,212,0,213,85,213,240,183,69,214,0,183,53,215,112,212,46,216,0,153,21,217,112,182,14,218,128,181,254,218,112,152,238,219,128,151,222,220,112,122,206,221,128,121,190,222,112,92,174,223,128,91,158,224,112,62,142,225,128,61,126,226,240,90,119,227,128,31,94,228,240,60,87,229,0,60,71,230,240,30,55,231,0,30,39,232,240,0,23,233,0,0,7,234,240,226,246,234,0,226,230,235,240,196,214,236,0,196,198,237,112,225,191,238,128,224,175,239,112,195,159,240,128,194,143,241,112,165,127,242,128,164,111,243,112,135,95,244,128,134,79,245,112,105,63,246,128,104,47,247,240,133,40,248,128,74,15,249,240,103,8,250,0,103,248,250,240,73,232,251,0,73,216,252,240,43,200,253,0,43,184,254,240,13,168,255,0,13,152,0,240,239,135,1,0,239,119,2,112,12,113,3,128,11,97,4,112,238,80,5,128,237,64,6,112,208,48,7,128,39,141,7,112,156,53,9,0,163,173,9,112,148,240,10,128,147,224,11,240,176,217,12,170,170,170,170,170,170,170,170,150,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,160,171,255,255,0,0,0,0,160,171,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,160,171,255,127,205,3,0,96,185,7,0,112,254,140,0,224,151,141,0,16,190,141,0,224,2,0,0,0,176,185,255,255,0,0,0,0,1,0,54,0,205,141,0,224,150,0,0,0,240,56,177,128,224,27,161,129,240,26,145,130,224,253,128,131,240,252,112,132,96,26,106,133,112,25,90,134,96,252,73,135,112,251,57,136,96,222,41,137,112,221,25,138,96,192,9,139,112,191,249,139,96,162,233,140,112,161,217,141,224,190,210,142,112,131,185,143,224,160,178,144,240,159,162,145,224,130,146,146,240,129,130,147,224,100,114,148,240,99,98,149,224,70,82,150,240,69,66,151,224,40,50,152,240,39,34,153,96,69,27,154,112,68,11,155,96,39,251,155,112,38,235,156,96,9,219,157,112,8,203,158,96,235,186,159,112,234,170,160,96,205,154,161,112,204,138,162,224,233,131,163,112,174,106,164,224,203,99,165,240,202,83,166,224,173,67,167,240,172,51,168,224,143,35,169,240,142,19,170,224,113,3,171,240,112,243,171,224,83,227,172,240,82,211,173,96,112,204,174,240,52,179,175,96,82,172,176,112,81,156,177,96,52,140,178,112,51,124,179,96,22,108,180,112,21,92,181,96,248,75,182,112,247,59,183,96,218,43,184,112,217,27,185,224,246,20,186,240,245,4,187,224,216,244,187,240,215,228,188,224,186,212,189,240,185,196,190,224,156,180,191,240,155,164,192,224,126,148,193,240,125,132,194,96,155,125,195,240,95,100,196,96,125,93,197,112,124,77,198,96,95,61,199,112,94,45,200,96,65,29,201,112,64,13,202,96,35,253,202,112,34,237,203,96,5,221,204,112,4,205,205,224,33,198,206,240,32,182,207,224,3,166,208,240,2,150,209,224,229,133,210,240,228,117,211,224,199,101,212,240,198,85,213,224,169,69,214,240,168,53,215,96,198,46,216,240,138,21,217,96,168,14,218,112,167,254,218,96,138,238,219,112,137,222,220,96,108,206,221,112,107,190,222,96,78,174,223,112,77,158,224,96,48,142,225,112,47,126,226,224,76,119,227,112,17,94,228,224,46,87,229,240,45,71,230,224,16,55,231,240,15,39,232,224,242,22,233,240,241,6,234,224,212,246,234,240,211,230,235,224,182,214,236,240,181,198,237,96,211,191,238,112,210,175,239,96,181,159,240,112,180,143,241,96,151,127,242,112,150,111,243,96,121,95,244,112,120,79,245,96,91,63,246,112,90,47,247,224,119,40,248,112,60,15,249,224,89,8,250,240,88,248,250,224,59,232,251,240,58,216,252,224,29,200,253,240,28,184,254,224,255,167,255,240,254,151,0,224,225,135,1,240,224,119,2,96,254,112,3,112,253,96,4,96,224,80,5,112,223,64,6,96,194,48,7,112,25,141,7,96,142,53,9,240,148,173,9,96,134,240,10,112,133,224,11,224,162,217,12,170,170,170,170,170,170,170,170,150,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,176,185,255,255,0,0,0,0,176,185,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,176,185,255,127,205,3,0,96,185,7,0,112,210,141,0,224,107,142,0,16,146,142,0,224,2,0,0,0,96,115,255,255,0,0,0,0,1,0,54,0,161,142,0,224,2,0,0,0,144,157,255,255,0,0,0,0,1,0,54,0,166,142,0,224,150,0,0,0,16,85,177,128,0,56,161,129,16,55,145,130,0,26,129,131,16,25,113,132,128,54,106,133,144,53,90,134,128,24,74,135,144,23,58,136,128,250,41,137,144,249,25,138,128,220,9,139,144,219,249,139,128,190,233,140,144,189,217,141,0,219,210,142,144,159,185,143,0,189,178,144,16,188,162,145,0,159,146,146,16,158,130,147,0,129,114,148,16,128,98,149,0,99,82,150,16,98,66,151,0,69,50,152,16,68,34,153,128,97,27,154,144,96,11,155,128,67,251,155,144,66,235,156,128,37,219,157,144,36,203,158,128,7,187,159,144,6,171,160,128,233,154,161,144,232,138,162,0,6,132,163,144,202,106,164,0,232,99,165,16,231,83,166,0,202,67,167,16,201,51,168,0,172,35,169,16,171,19,170,0,142,3,171,16,141,243,171,0,112,227,172,16,111,211,173,128,140,204,174,16,81,179,175,128,110,172,176,144,109,156,177,128,80,140,178,144,79,124,179,128,50,108,180,144,49,92,181,128,20,76,182,144,19,60,183,128,246,43,184,144,245,27,185,0,19,21,186,16,18,5,187,0,245,244,187,16,244,228,188,0,215,212,189,16,214,196,190,0,185,180,191,16,184,164,192,0,155,148,193,16,154,132,194,128,183,125,195,16,124,100,196,128,153,93,197,144,152,77,198,128,123,61,199,144,122,45,200,128,93,29,201,144,92,13,202,128,63,253,202,144,62,237,203,128,33,221,204,144,32,205,205,0,62,198,206,16,61,182,207,0,32,166,208,16,31,150,209,0,2,134,210,16,1,118,211,0,228,101,212,16,227,85,213,0,198,69,214,16,197,53,215,128,226,46,216,16,167,21,217,128,196,14,218,144,195,254,218,128,166,238,219,144,165,222,220,128,136,206,221,144,135,190,222,128,106,174,223,144,105,158,224,128,76,142,225,144,75,126,226,0,105,119,227,144,45,94,228,0,75,87,229,16,74,71,230,0,45,55,231,16,44,39,232,0,15,23,233,16,14,7,234,0,241,246,234,16,240,230,235,0,211,214,236,16,210,198,237,128,239,191,238,144,238,175,239,128,209,159,240,144,208,143,241,128,179,127,242,144,178,111,243,128,149,95,244,144,148,79,245,128,119,63,246,144,118,47,247,0,148,40,248,144,88,15,249,0,118,8,250,16,117,248,250,0,88,232,251,16,87,216,252,0,58,200,253,16,57,184,254,0,28,168,255,16,27,152,0,0,254,135,1,16,253,119,2,128,26,113,3,144,25,97,4,128,252,80,5,144,251,64,6,128,222,48,7,144,53,141,7,128,170,53,9,16,177,173,9,128,162,240,10,144,161,224,11,0,191,217,12,170,170,170,170,150,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,144,157,255,255,0,0,0,0,144,157,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,144,157,255,127,205,3,0,96,185,7,0,112,171,142,0,224,67,143,0,16,106,143,0,224,2,0,0,0,128,143,255,255,0,0,0,0,1,0,54,0,121,143,0,224,150,0,0,0,32,99,177,128,16,70,161,129,32,69,145,130,16,40,129,131,32,39,113,132,144,68,106,133,160,67,90,134,144,38,74,135,160,37,58,136,144,8,42,137,160,7,26,138,144,234,9,139,160,233,249,139,144,204,233,140,160,203,217,141,16,233,210,142,160,173,185,143,16,203,178,144,32,202,162,145,16,173,146,146,32,172,130,147,16,143,114,148,32,142,98,149,16,113,82,150,32,112,66,151,16,83,50,152,32,82,34,153,144,111,27,154,160,110,11,155,144,81,251,155,160,80,235,156,144,51,219,157,160,50,203,158,144,21,187,159,160,20,171,160,144,247,154,161,160,246,138,162,16,20,132,163,160,216,106,164,16,246,99,165,32,245,83,166,16,216,67,167,32,215,51,168,16,186,35,169,32,185,19,170,16,156,3,171,32,155,243,171,16,126,227,172,32,125,211,173,144,154,204,174,32,95,179,175,144,124,172,176,160,123,156,177,144,94,140,178,160,93,124,179,144,64,108,180,160,63,92,181,144,34,76,182,160,33,60,183,144,4,44,184,160,3,28,185,16,33,21,186,32,32,5,187,16,3,245,187,32,2,229,188,16,229,212,189,32,228,196,190,16,199,180,191,32,198,164,192,16,169,148,193,32,168,132,194,144,197,125,195,32,138,100,196,144,167,93,197,160,166,77,198,144,137,61,199,160,136,45,200,144,107,29,201,160,106,13,202,144,77,253,202,160,76,237,203,144,47,221,204,160,46,205,205,16,76,198,206,32,75,182,207,16,46,166,208,32,45,150,209,16,16,134,210,32,15,118,211,16,242,101,212,32,241,85,213,16,212,69,214,32,211,53,215,144,240,46,216,32,181,21,217,144,210,14,218,160,209,254,218,144,180,238,219,160,179,222,220,144,150,206,221,160,149,190,222,144,120,174,223,160,119,158,224,144,90,142,225,160,89,126,226,16,119,119,227,160,59,94,228,16,89,87,229,32,88,71,230,16,59,55,231,32,58,39,232,16,29,23,233,32,28,7,234,16,255,246,234,32,254,230,235,16,225,214,236,32,224,198,237,144,253,191,238,160,252,175,239,144,223,159,240,160,222,143,241,144,193,127,242,160,192,111,243,144,163,95,244,160,162,79,245,144,133,63,246,160,132,47,247,16,162,40,248,160,102,15,249,16,132,8,250,32,131,248,250,16,102,232,251,32,101,216,252,16,72,200,253,32,71,184,254,16,42,168,255,32,41,152,0,16,12,136,1,32,11,120,2,144,40,113,3,160,39,97,4,144,10,81,5,160,9,65,6,144,236,48,7,160,67,141,7,144,184,53,9,32,191,173,9,144,176,240,10,160,175,224,11,16,205,217,12,170,170,170,170,170,170,170,170,150,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,128,143,255,255,0,0,0,0,128,143,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,128,143,255,127,205,3,0,96,185,7,0,112,126,143,0,224,23,144,0,16,62,144,0,224,2,0,0,0,112,129,255,255,0,0,0,0,1,0,54,0,77,144,0,224,150,0,0,0,48,113,177,128,32,84,161,129,48,83,145,130,32,54,129,131,48,53,113,132,160,82,106,133,176,81,90,134,160,52,74,135,176,51,58,136,160,22,42,137,176,21,26,138,160,248,9,139,176,247,249,139,160,218,233,140,176,217,217,141,32,247,210,142,176,187,185,143,32,217,178,144,48,216,162,145,32,187,146,146,48,186,130,147,32,157,114,148,48,156,98,149,32,127,82,150,48,126,66,151,32,97,50,152,48,96,34,153,160,125,27,154,176,124,11,155,160,95,251,155,176,94,235,156,160,65,219,157,176,64,203,158,160,35,187,159,176,34,171,160,160,5,155,161,176,4,139,162,32,34,132,163,176,230,106,164,32,4,100,165,48,3,84,166,32,230,67,167,48,229,51,168,32,200,35,169,48,199,19,170,32,170,3,171,48,169,243,171,32,140,227,172,48,139,211,173,160,168,204,174,48,109,179,175,160,138,172,176,176,137,156,177,160,108,140,178,176,107,124,179,160,78,108,180,176,77,92,181,160,48,76,182,176,47,60,183,160,18,44,184,176,17,28,185,32,47,21,186,48,46,5,187,32,17,245,187,48,16,229,188,32,243,212,189,48,242,196,190,32,213,180,191,48,212,164,192,32,183,148,193,48,182,132,194,160,211,125,195,48,152,100,196,160,181,93,197,176,180,77,198,160,151,61,199,176,150,45,200,160,121,29,201,176,120,13,202,160,91,253,202,176,90,237,203,160,61,221,204,176,60,205,205,32,90,198,206,48,89,182,207,32,60,166,208,48,59,150,209,32,30,134,210,48,29,118,211,32,0,102,212,48,255,85,213,32,226,69,214,48,225,53,215,160,254,46,216,48,195,21,217,160,224,14,218,176,223,254,218,160,194,238,219,176,193,222,220,160,164,206,221,176,163,190,222,160,134,174,223,176,133,158,224,160,104,142,225,176,103,126,226,32,133,119,227,176,73,94,228,32,103,87,229,48,102,71,230,32,73,55,231,48,72,39,232,32,43,23,233,48,42,7,234,32,13,247,234,48,12,231,235,32,239,214,236,48,238,198,237,160,11,192,238,176,10,176,239,160,237,159,240,176,236,143,241,160,207,127,242,176,206,111,243,160,177,95,244,176,176,79,245,160,147,63,246,176,146,47,247,32,176,40,248,176,116,15,249,32,146,8,250,48,145,248,250,32,116,232,251,48,115,216,252,32,86,200,253,48,85,184,254,32,56,168,255,48,55,152,0,32,26,136,1,48,25,120,2,160,54,113,3,176,53,97,4,160,24,81,5,176,23,65,6,160,250,48,7,176,81,141,7,160,198,53,9,48,205,173,9,160,190,240,10,176,189,224,11,32,219,217,12,170,170,170,170,170,170,170,170,150,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,170,170,4,0,0,0,112,129,255,255,0,0,0,0,112,129,255,255,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,112,129,255,127,205,3,0,96,185,7,0,112,82,144,0,224,235,144,0,16,18,145,0,224,40,0,0,0,144,99,164,13,16,26,139,14,144,69,132,15,144,54,116,16,144,39,100,17,144,24,84,18,16,68,77,19,144,250,51,20,144,235,35,21,144,220,19,22,144,205,3,23,144,190,243,23,144,175,227,24,144,160,211,25,144,145,195,26,16,189,188,27,16,174,172,28,16,159,156,29,16,144,140,30,16,129,124,31,16,114,108,32,16,99,92,33,16,84,76,34,16,69,60,35,16,54,44,36,16,39,28,37,16,24,12,38,144,67,5,39,144,52,245,39,144,37,229,40,144,22,213,41,144,7,197,42,144,248,180,43,144,233,164,44,144,218,148,45,144,203,132,46,144,188,116,47,144,173,100,48,16,217,93,49,16,180,114,50,170,170,170,170,40,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,0,0,6,0,101,0,91,0,110,0,48,0,66,0,54,0,170,170,0,0,0,112,7,0,0,96,205,7,0,112,33,145,0,224,75,145,0,16,86,145,0,224,126,2,0,0,101,1,0,112,113,1,0,112,64,0,0,112,18,0,0,112,60,0,0,112,226,23,0,32,5,0,0,112,48,0,0,112,38,24,0,32,48,0,0,112,48,0,0,112,5,0,0,112,36,0,0,112,5,0,0,112,60,24,0,32,43,0,0,112,36,0,0,112,43,0,0,112,244,24,0,32,106,26,0,32,186,26,0,32,5,0,0,112,5,0,0,112,48,0,0,112,48,0,0,112,36,0,0,112,32,28,0,32,5,0,0,112,43,0,0,112,43,0,0,112,67,28,0,32,130,28,0,32,48,0,0,112,190,28,0,32,43,0,0,112,36,0,0,112,222,28,0,32,36,0,0,112,5,0,0,112,36,0,0,112,43,0,0,112,43,0,0,112,36,0,0,112,250,28,0,32,30,0,0,112,30,0,0,112,48,0,0,112,16,29,0,32,55,29,0,32,76,29,0,32,36,0,0,112,5,0,0,112,5,0,0,112,36,0,0,112,102,29,0,32,5,0,0,112,165,29,0,32,230,29,0,32,67,30,0,32,202,30,0,32,86,31,0,32,191,0,0,112,191,0,0,112,172,31,0,32,21,32,0,32,129,32,0,32,65,0,0,112,230,32,0,32,76,33,0,32,181,33,0,32,29,34,0,32,133,34,0,32,232,34,0,32,81,35,0,32,185,35,0,32,33,36,0,32,137,36,0,32,191,0,0,112,1,37,0,32,183,0,0,112,59,0,0,112,99,37,0,32,201,37,0,32,237,37,0,32,35,38,0,32,174,38,0,32,191,0,0,112,232,38,0,32,252,38,0,32,130,39,0,32,64,0,0,112,252,39,0,32,130,40,0,32,202,40,0,32,227,40,0,32,65,0,0,112,248,40,0,32,183,0,0,112,233,41,0,32,78,42,0,32,175,42,0,32,183,0,0,112,67,0,0,112,206,42,0,32,186,0,0,112,78,43,0,32,191,0,0,112,138,43,0,32,22,44,0,32,116,44,0,32,8,45,0,32,137,45,0,32,191,0,0,112,18,46,0,32,82,46,0,32,105,46,0,32,218,0,0,112,45,47,0,32,132,0,0,112,113,47,0,32,227,47,0,32,181,0,0,112,196,48,0,32,63,49,0,32,191,0,0,112,191,0,0,112,98,49,0,32,122,49,0,32,146,49,0,32,117,50,0,32,24,51,0,32,71,51,0,32,145,51,0,32,37,52,0,32,118,52,0,32,218,52,0,32,37,53,0,32,88,53,0,32,170,53,0,32,3,54,0,32,132,0,0,112,122,54,0,32,242,54,0,32,37,55,0,32,68,0,0,112,166,55,0,32,89,56,0,32,229,56,0,32,133,0,0,112,191,0,0,112,252,56,0,32,37,57,0,32,219,57,0,32,146,0,0,112,191,0,0,112,38,58,0,32,79,58,0,32,139,58,0,32,191,0,0,112,160,58,0,32,216,58,0,32,67,59,0,32,70,0,0,112,190,59,0,32,28,60,0,32,108,60,0,32,220,60,0,32,40,61,0,32,246,61,0,32,82,62,0,32,215,62,0,32,219,0,0,112,191,0,0,112,219,0,0,112,199,63,0,32,219,0,0,112,78,64,0,32,153,64,0,32,44,65,0,32,182,65,0,32,66,66,0,32,206,66,0,32,55,67,0,32,84,67,0,32,142,0,0,112,112,67,0,32,150,67,0,32,229,67,0,32,191,0,0,112,198,0,0,112,31,68,0,32,76,68,0,32,253,68,0,32,224,0,0,112,108,69,0,32,177,69,0,32,6,70,0,32,116,70,0,32,181,70,0,32,67,0,0,112,218,0,0,112,237,70,0,32,168,71,0,32,218,71,0,32,98,72,0,32,234,72,0,32,110,0,0,112,110,73,0,32,191,0,0,112,118,74,0,32,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,171,74,0,32,197,74,0,32,0,75,0,32,219,0,0,112,145,75,0,32,134,76,0,32,191,0,0,112,68,77,0,32,191,0,0,112,218,77,0,32,143,78,0,32,18,79,0,32,113,0,0,112,60,79,0,32,85,79,0,32,75,2,0,112,218,79,0,32,244,79,0,32,43,2,0,112,112,80,0,32,126,80,0,32,43,2,0,112,55,1,0,112,142,80,0,32,168,80,0,32,191,1,0,112,55,1,0,112,252,80,0,32,123,81,0,32,227,81,0,32,54,82,0,32,138,82,0,32,194,82,0,32,246,0,0,112,28,83,0,32,115,83,0,32,51,1,0,112,220,83,0,32,242,83,0,32,92,84,0,32,192,84,0,32,28,85,0,32,35,1,0,112,32,1,0,112,134,85,0,32,218,85,0,32,60,1,0,112,60,1,0,112,253,85,0,32,9,1,0,112,168,86,0,32,203,86,0,32,228,86,0,32,250,86,0,32,45,87,0,32,171,87,0,32,229,89,0,32,60,1,0,112,37,92,0,32,75,92,0,32,185,92,0,32,10,93,0,32,114,93,0,32,204,1,0,112,143,93,0,32,164,93,0,32,61,94,0,32,88,94,0,32,191,94,0,32,226,94,0,32,75,1,0,112,248,94,0,32,29,1,0,112,102,95,0,32,137,95,0,32,242,95,0,32,61,1,0,112,32,96,0,32,55,1,0,112,38,1,0,112,145,96,0,32,250,96,0,32,16,97,0,32,54,97,0,32,11,1,0,112,140,97,0,32,247,97,0,32,96,98,0,32,198,98,0,32,28,99,0,32,252,0,0,112,57,99,0,32,76,99,0,32,96,99,0,32,186,99,0,32,18,100,0,32,80,1,0,112,38,100,0,32,17,1,0,112,146,100,0,32,197,100,0,32,254,100,0,32,63,101,0,32,101,101,0,32,206,101,0,32,24,102,0,32,77,102,0,32,160,102,0,32,13,103,0,32,24,1,0,112,69,1,0,112,36,103,0,32,70,103,0,32,176,103,0,32,40,1,0,112,2,104,0,32,73,1,0,112,22,104,0,32,134,104,0,32,252,0,0,112,238,104,0,32,86,105,0,32,108,105,0,32,216,105,0,32,59,106,0,32,9,107,0,32,153,107,0,32,222,107,0,32,250,107,0,32,88,1,0,112,56,108,0,32,191,1,0,112,4,109,0,32,5,0,0,112,26,109,0,32,5,0,0,112,133,109,0,32,113,1,0,112,7,110,0,32,56,110,0,32,193,110,0,32,113,1,0,112,103,1,0,112,240,110,0,32,28,111,0,32,171,111,0,32,106,1,0,112,225,111,0,32,66,112,0,32,200,112,0,32,113,1,0,112,101,1,0,112,252,112,0,32,97,1,0,112,96,1,0,112,128,113,0,32,103,1,0,112,107,1,0,112,110,1,0,112,98,1,0,112,204,0,0,112,9,1,0,112,198,0,0,112,177,0,0,112,204,0,0,112,157,0,0,112,43,0,0,112,219,113,0,32,209,0,0,112,98,0,0,112,91,114,0,32,60,1,0,112,129,0,0,112,224,0,0,112,196,0,0,112,219,0,0,112,113,0,0,112,209,0,0,112,221,0,0,112,196,0,0,112,223,0,0,112,202,0,0,112,47,2,0,112,130,0,0,112,48,0,0,112,222,1,0,112,159,114,0,32,172,114,0,32,35,115,0,32,18,0,0,112,199,1,0,112,59,115,0,32,149,1,0,112,66,115,0,32,71,115,0,32,76,115,0,32,81,115,0,32,86,115,0,32,91,115,0,32,96,115,0,32,101,115,0,32,106,115,0,32,111,115,0,32,116,115,0,32,121,115,0,32,149,1,0,112,126,115,0,32,131,115,0,32,136,115,0,32,141,115,0,32,146,115,0,32,151,115,0,32,156,115,0,32,161,115,0,32,166,115,0,32,171,115,0,32,176,115,0,32,181,115,0,32,186,115,0,32,191,115,0,32,149,1,0,112,149,1,0,112,181,1,0,112,205,115,0,32,181,1,0,112,212,115,0,32,181,1,0,112,193,1,0,112,4,116,0,32,111,116,0,32,201,116,0,32,212,1,0,112,21,117,0,32,133,117,0,32,224,1,0,112,37,118,0,32,129,118,0,32,237,118,0,32,248,1,0,112,95,119,0,32,191,1,0,112,52,120,0,32,226,120,0,32,212,1,0,112,40,121,0,32,212,1,0,112,218,121,0,32,212,1,0,112,91,122,0,32,209,1,0,112,191,122,0,32,13,123,0,32,221,123,0,32,190,1,0,112,199,124,0,32,193,1,0,112,73,125,0,32,205,125,0,32,202,1,0,112,66,126,0,32,222,1,0,112,197,126,0,32,43,1,0,112,191,1,0,112,95,127,0,32,190,1,0,112,201,127,0,32,47,128,0,32,181,128,0,32,33,129,0,32,226,1,0,112,190,1,0,112,131,129,0,32,254,129,0,32,190,1,0,112,81,130,0,32,191,1,0,112,176,130,0,32,4,131,0,32,197,1,0,112,116,131,0,32,209,1,0,112,248,1,0,112,226,1,0,112,206,131,0,32,52,132,0,32,160,132,0,32,28,133,0,32,190,1,0,112,209,1,0,112,107,133,0,32,123,133,0,32,212,1,0,112,212,1,0,112,149,1,0,112,149,1,0,112,149,1,0,112,149,1,0,112,149,1,0,112,128,133,0,32,18,1,0,112,132,0,0,112,32,1,0,112,5,0,0,112,48,0,0,112,144,133,0,32,252,0,0,112,80,1,0,112,48,0,0,112,13,2,0,112,11,1,0,112,162,133,0,32,185,133,0,32,48,0,0,112,11,1,0,112,66,1,0,112,24,1,0,112,70,1,0,112,143,0,0,112,70,1,0,112,62,2,0,112,56,0,0,112,11,134,0,32,42,2,0,112,24,134,0,32,143,134,0,32,218,0,0,112,161,0,0,112,166,0,0,112,82,1,0,112,43,2,0,112,43,2,0,112,45,2,0,112,110,0,0,112,27,1,0,112,186,0,0,112,60,1,0,112,191,0,0,112,152,0,0,112,15,135,0,32,82,135,0,32,238,135,0,32,21,136,0,32,135,136,0,32,75,2,0,112,47,137,0,32,97,137,0,32,59,2,0,112,116,137,0,32,171,137,0,32,80,2,0,112,194,137,0,32,210,137,0,32,230,137,0,32,28,138,0,32,63,138,0,32,57,2,0,112,90,138,0,32,114,138,0,32,152,138,0,32,187,138,0,32,80,2,0,112,206,138,0,32,70,2,0,112,230,138,0,32,248,138,0,32,27,139,0,32,57,139,0,32,84,139,0,32,108,139,0,32,128,139,0,32,55,2,0,112,55,2,0,112,156,139,0,32,214,139,0,32,56,2,0,112,70,2,0,112,230,139,0,32,254,139,0,32,32,140,0,32,75,2,0,112,80,2,0,112,80,2,0,112,75,2,0,112,245,1,0,112,210,1,0,112,63,1,0,112,59,1,0,112,55,2,0,112,61,1,0,112,40,140,0,32,239,140,0,32,252,140,0,32,195,141,0,32,208,141,0,32,151,142,0,32,164,142,0,32,169,142,0,32,111,143,0,32,124,143,0,32,67,144,0,32,80,144,0,32,23,145,0,32,204,1,0,112,181,1,0,112,60,0,0,112,59,0,0,112,186,0,0,112,98,0,0,112,132,0,0,112,174,0,0,112,57,2,0,112,133,0,0,112,111,0,0,112,110,0,0,112,152,0,0,112,152,0,0,112,70,2,0,112,181,1,0,112,181,1,0,112,17,1,0,112,219,1,0,112,91,145,0,32,181,1,0,112,5,0,132,0,19,1,138,0,32,0,42,0,121,39,0,144,248,41,0,144,163,23,0,32,139,3,0,96,101,145,0,128 }; diff --git a/extension/inet/inet_extension.cpp b/extension/inet/inet_extension.cpp index 1a7825795f96..f477ecb916a2 100644 --- a/extension/inet/inet_extension.cpp +++ b/extension/inet/inet_extension.cpp @@ -28,8 +28,8 @@ void InetExtension::Load(DuckDB &db) { ExtensionUtil::RegisterType(*db.instance, INET_TYPE_NAME, inet_type); // add the casts to and from INET type - ExtensionUtil::RegisterCastFunction(*db.instance, LogicalType::VARCHAR, inet_type, INetFunctions::CastVarcharToINET, - 100); + ExtensionUtil::RegisterCastFunction(*db.instance, LogicalType::VARCHAR, inet_type, + INetFunctions::CastVarcharToINET); ExtensionUtil::RegisterCastFunction(*db.instance, inet_type, LogicalType::VARCHAR, INetFunctions::CastINETToVarchar); diff --git a/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h b/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h index f821cb1a0dff..8fed2f0e8fba 100644 --- a/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h +++ b/extension/jemalloc/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h @@ -220,7 +220,7 @@ namespace duckdb_jemalloc { #elif defined(COMPILER_MSVC) && defined(_M_IX86) #define LG_PAGE 12 #elif defined(__aarch64__) -#define LG_PAGE 14 +#define LG_PAGE 16 #elif defined(__ARM_ARCH) #define LG_PAGE 14 #else diff --git a/extension/json/CMakeLists.txt b/extension/json/CMakeLists.txt index b2626205d1ee..0068703cc62e 100644 --- a/extension/json/CMakeLists.txt +++ b/extension/json/CMakeLists.txt @@ -29,6 +29,7 @@ set(JSON_EXTENSION_FILES json_functions/json_type.cpp json_functions/json_valid.cpp json_functions/json_serialize_sql.cpp + json_functions/json_serialize_plan.cpp json_functions/read_json.cpp json_functions/read_json_objects.cpp ${YYJSON_OBJECT_FILES}) diff --git a/extension/json/buffered_json_reader.cpp b/extension/json/buffered_json_reader.cpp index 8f50e5316636..868e71ecea86 100644 --- a/extension/json/buffered_json_reader.cpp +++ b/extension/json/buffered_json_reader.cpp @@ -14,8 +14,8 @@ JSONBufferHandle::JSONBufferHandle(idx_t buffer_index_p, idx_t readers_p, Alloca JSONFileHandle::JSONFileHandle(unique_ptr file_handle_p, Allocator &allocator_p) : file_handle(std::move(file_handle_p)), allocator(allocator_p), can_seek(file_handle->CanSeek()), - plain_file_source(file_handle->OnDiskFile() && can_seek), file_size(file_handle->GetFileSize()), read_position(0), - requested_reads(0), actual_reads(0), cached_size(0) { + file_size(file_handle->GetFileSize()), read_position(0), requested_reads(0), actual_reads(0), + last_read_requested(false), cached_size(0) { } bool JSONFileHandle::IsOpen() const { @@ -34,6 +34,7 @@ void JSONFileHandle::Reset() { read_position = 0; requested_reads = 0; actual_reads = 0; + last_read_requested = false; if (IsOpen() && CanSeek()) { file_handle->Reset(); } @@ -55,70 +56,94 @@ bool JSONFileHandle::CanSeek() const { return can_seek; } -idx_t JSONFileHandle::GetPositionAndSize(idx_t &position, idx_t requested_size) { +FileHandle &JSONFileHandle::GetHandle() { + return *file_handle; +} + +bool JSONFileHandle::GetPositionAndSize(idx_t &position, idx_t &size, idx_t requested_size) { D_ASSERT(requested_size != 0); + if (last_read_requested) { + return false; + } position = read_position; - auto actual_size = MinValue(requested_size, Remaining()); - read_position += actual_size; - if (actual_size != 0) { - requested_reads++; + size = MinValue(requested_size, Remaining()); + read_position += size; + + requested_reads++; + if (size == 0) { + last_read_requested = true; } - return actual_size; + return true; } -void JSONFileHandle::ReadAtPosition(char *pointer, idx_t size, idx_t position, bool sample_run) { - D_ASSERT(size != 0); - if (plain_file_source) { - file_handle->Read(pointer, size, position); - } else if (sample_run) { // Cache the buffer - file_handle->Read(pointer, size, position); +void JSONFileHandle::ReadAtPosition(char *pointer, idx_t size, idx_t position, bool &file_done, bool sample_run, + optional_ptr override_handle) { + if (size != 0) { + auto &handle = override_handle ? *override_handle.get() : *file_handle.get(); + if (can_seek) { + handle.Read(pointer, size, position); + } else if (sample_run) { // Cache the buffer + handle.Read(pointer, size, position); - cached_buffers.emplace_back(allocator.Allocate(size)); - memcpy(cached_buffers.back().get(), pointer, size); - cached_size += size; - } else { - if (!cached_buffers.empty() || position < cached_size) { - ReadFromCache(pointer, size, position); - } + cached_buffers.emplace_back(allocator.Allocate(size)); + memcpy(cached_buffers.back().get(), pointer, size); + cached_size += size; + } else { + if (!cached_buffers.empty() || position < cached_size) { + ReadFromCache(pointer, size, position); + } - if (size != 0) { - file_handle->Read(pointer, size, position); + if (size != 0) { + handle.Read(pointer, size, position); + } } } - if (++actual_reads > requested_reads) { + + const auto incremented_actual_reads = ++actual_reads; + if (incremented_actual_reads > requested_reads) { throw InternalException("JSONFileHandle performed more actual reads than requested reads"); } + + if (last_read_requested && incremented_actual_reads == requested_reads) { + file_done = true; + } } -idx_t JSONFileHandle::Read(char *pointer, idx_t requested_size, bool sample_run) { +bool JSONFileHandle::Read(char *pointer, idx_t &read_size, idx_t requested_size, bool &file_done, bool sample_run) { D_ASSERT(requested_size != 0); - if (plain_file_source) { - auto actual_size = ReadInternal(pointer, requested_size); - read_position += actual_size; - return actual_size; + if (last_read_requested) { + return false; } - if (sample_run) { // Cache the buffer - auto actual_size = ReadInternal(pointer, requested_size); - if (actual_size > 0) { - cached_buffers.emplace_back(allocator.Allocate(actual_size)); - memcpy(cached_buffers.back().get(), pointer, actual_size); + if (can_seek) { + read_size = ReadInternal(pointer, requested_size); + read_position += read_size; + } else if (sample_run) { // Cache the buffer + read_size = ReadInternal(pointer, requested_size); + if (read_size > 0) { + cached_buffers.emplace_back(allocator.Allocate(read_size)); + memcpy(cached_buffers.back().get(), pointer, read_size); + } + cached_size += read_size; + read_position += read_size; + } else { + read_size = 0; + if (!cached_buffers.empty() || read_position < cached_size) { + read_size += ReadFromCache(pointer, requested_size, read_position); + } + if (requested_size != 0) { + read_size += ReadInternal(pointer, requested_size); } - cached_size += actual_size; - read_position += actual_size; - return actual_size; } - idx_t actual_size = 0; - if (!cached_buffers.empty() || read_position < cached_size) { - actual_size += ReadFromCache(pointer, requested_size, read_position); - } - if (requested_size != 0) { - actual_size += ReadInternal(pointer, requested_size); + if (read_size == 0) { + last_read_requested = true; + file_done = true; } - return actual_size; + + return true; } idx_t JSONFileHandle::ReadInternal(char *pointer, const idx_t requested_size) { @@ -176,19 +201,6 @@ void BufferedJSONReader::OpenJSONFile() { Reset(); } -void BufferedJSONReader::CloseJSONFile() { - while (true) { - lock_guard guard(lock); - if (!file_handle->IsOpen()) { - return; // Already closed - } - if (file_handle->RequestedReadsComplete()) { - file_handle->Close(); - break; - } - } -} - void BufferedJSONReader::Reset() { buffer_index = 0; buffer_map.clear(); @@ -251,10 +263,11 @@ optional_ptr BufferedJSONReader::GetBuffer(idx_t buffer_idx) { return it == buffer_map.end() ? nullptr : it->second.get(); } -AllocatedData BufferedJSONReader::RemoveBuffer(idx_t buffer_idx) { +AllocatedData BufferedJSONReader::RemoveBuffer(JSONBufferHandle &handle) { lock_guard guard(lock); - auto it = buffer_map.find(buffer_idx); + auto it = buffer_map.find(handle.buffer_index); D_ASSERT(it != buffer_map.end()); + D_ASSERT(RefersToSameObject(handle, *it->second)); auto result = std::move(it->second->buffer); buffer_map.erase(it); return result; @@ -265,9 +278,12 @@ idx_t BufferedJSONReader::GetBufferIndex() { return buffer_index++; } -void BufferedJSONReader::SetBufferLineOrObjectCount(idx_t index, idx_t count) { +void BufferedJSONReader::SetBufferLineOrObjectCount(JSONBufferHandle &handle, idx_t count) { lock_guard guard(lock); - buffer_line_or_object_counts[index] = count; + D_ASSERT(buffer_map.find(handle.buffer_index) != buffer_map.end()); + D_ASSERT(RefersToSameObject(handle, *buffer_map.find(handle.buffer_index)->second)); + D_ASSERT(buffer_line_or_object_counts[handle.buffer_index] == -1); + buffer_line_or_object_counts[handle.buffer_index] = count; } idx_t BufferedJSONReader::GetLineNumber(idx_t buf_index, idx_t line_or_object_in_buf) { @@ -286,11 +302,11 @@ idx_t BufferedJSONReader::GetLineNumber(idx_t buf_index, idx_t line_or_object_in break; } else { line += buffer_line_or_object_counts[b_idx]; - thrown = true; } } } if (can_throw) { + thrown = true; // SQL uses 1-based indexing so I guess we will do that in our exception here as well return line + 1; } diff --git a/extension/json/include/buffered_json_reader.hpp b/extension/json/include/buffered_json_reader.hpp index 0b83d8c22eba..c7e31cac5c37 100644 --- a/extension/json/include/buffered_json_reader.hpp +++ b/extension/json/include/buffered_json_reader.hpp @@ -66,9 +66,14 @@ struct JSONFileHandle { bool CanSeek() const; - idx_t GetPositionAndSize(idx_t &position, idx_t requested_size); - void ReadAtPosition(char *pointer, idx_t size, idx_t position, bool sample_run); - idx_t Read(char *pointer, idx_t requested_size, bool sample_run); + FileHandle &GetHandle(); + + //! The next two functions return whether the read was successful + bool GetPositionAndSize(idx_t &position, idx_t &size, idx_t requested_size); + bool Read(char *pointer, idx_t &read_size, idx_t requested_size, bool &file_done, bool sample_run); + //! Read at position optionally allows passing a custom handle to read from, otherwise the default one is used + void ReadAtPosition(char *pointer, idx_t size, idx_t position, bool &file_done, bool sample_run, + optional_ptr override_handle = nullptr); private: idx_t ReadInternal(char *pointer, const idx_t requested_size); @@ -81,13 +86,13 @@ struct JSONFileHandle { //! File properties const bool can_seek; - const bool plain_file_source; const idx_t file_size; //! Read properties idx_t read_position; idx_t requested_reads; atomic actual_reads; + bool last_read_requested; //! Cached buffers for resetting when reading stream vector cached_buffers; @@ -99,7 +104,6 @@ class BufferedJSONReader { BufferedJSONReader(ClientContext &context, BufferedJSONReaderOptions options, string file_name); void OpenJSONFile(); - void CloseJSONFile(); void Reset(); bool HasFileHandle() const; @@ -120,12 +124,12 @@ class BufferedJSONReader { //! Insert/get/remove buffer (grabs the lock) void InsertBuffer(idx_t buffer_idx, unique_ptr &&buffer); optional_ptr GetBuffer(idx_t buffer_idx); - AllocatedData RemoveBuffer(idx_t buffer_idx); + AllocatedData RemoveBuffer(JSONBufferHandle &handle); //! Get a new buffer index (must hold the lock) idx_t GetBufferIndex(); //! Set line count for a buffer that is done (grabs the lock) - void SetBufferLineOrObjectCount(idx_t index, idx_t count); + void SetBufferLineOrObjectCount(JSONBufferHandle &handle, idx_t count); //! Throws a parse error that mentions the file name and line number void ThrowParseError(idx_t buf_index, idx_t line_or_object_in_buf, yyjson_read_err &err, const string &extra = ""); //! Throws a transform error that mentions the file name and line number diff --git a/extension/json/include/json.json b/extension/json/include/json.json index d4d171b583eb..8b182dec927c 100644 --- a/extension/json/include/json.json +++ b/extension/json/include/json.json @@ -135,6 +135,24 @@ "name": "timestamp_format", "type": "string", "serialize_property": "GetTimestampFormat()" + }, + { + "id": 113, + "name": "field_appearance_threshold", + "type": "double", + "default": 0.1 + }, + { + "id": 114, + "name": "maximum_sample_files", + "type": "idx_t", + "default": 32 + }, + { + "id": 115, + "name": "convert_strings_to_integers", + "type": "bool", + "default": false } ], "constructor": ["$ClientContext", "files", "date_format", "timestamp_format"] diff --git a/extension/json/include/json_common.hpp b/extension/json/include/json_common.hpp index d4bec7797fa2..1e7da02f0c83 100644 --- a/extension/json/include/json_common.hpp +++ b/extension/json/include/json_common.hpp @@ -85,20 +85,6 @@ using json_key_set_t = unordered_set; //! Common JSON functionality for most JSON functions struct JSONCommon { -public: - //! The JSON logical type, registered when the extension is loaded - static constexpr auto JSON_TYPE_NAME = "JSON"; - - static const LogicalType JSONType() { - auto json_type = LogicalType(LogicalTypeId::VARCHAR); - json_type.SetAlias(JSON_TYPE_NAME); - return json_type; - } - - static bool LogicalTypeIsJSON(const LogicalType &type) { - return type.id() == LogicalTypeId::VARCHAR && type.HasAlias() && type.GetAlias() == JSON_TYPE_NAME; - } - public: //! Read/Write flags static constexpr auto READ_FLAG = YYJSON_READ_ALLOW_INF_AND_NAN | YYJSON_READ_ALLOW_TRAILING_COMMAS; diff --git a/extension/json/include/json_deserializer.hpp b/extension/json/include/json_deserializer.hpp index bec6973aa75d..6ddf7e9ab43d 100644 --- a/extension/json/include/json_deserializer.hpp +++ b/extension/json/include/json_deserializer.hpp @@ -78,6 +78,7 @@ class JsonDeserializer : public Deserializer { double ReadDouble() final; string ReadString() final; hugeint_t ReadHugeInt() final; + uhugeint_t ReadUhugeInt() final; void ReadDataPtr(data_ptr_t &ptr, idx_t count) final; }; diff --git a/extension/json/include/json_functions.hpp b/extension/json/include/json_functions.hpp index b3c6d3d1ea4a..4f7f26b272c0 100644 --- a/extension/json/include/json_functions.hpp +++ b/extension/json/include/json_functions.hpp @@ -101,6 +101,7 @@ class JSONFunctions { static ScalarFunctionSet GetValidFunction(); static ScalarFunctionSet GetSerializeSqlFunction(); static ScalarFunctionSet GetDeserializeSqlFunction(); + static ScalarFunctionSet GetSerializePlanFunction(); static PragmaFunctionSet GetExecuteJsonSerializedSqlPragmaFunction(); diff --git a/extension/json/include/json_scan.hpp b/extension/json/include/json_scan.hpp index 13af2b45a663..959c3e14a72a 100644 --- a/extension/json/include/json_scan.hpp +++ b/extension/json/include/json_scan.hpp @@ -122,6 +122,14 @@ struct JSONScanData : public TableFunctionData { idx_t sample_size = idx_t(STANDARD_VECTOR_SIZE) * 10; //! Max depth we go to detect nested JSON schema (defaults to unlimited) idx_t max_depth = NumericLimits::Maximum(); + //! We divide the number of appearances of each JSON field by the auto-detection sample size + //! If the average over the fields of an object is less than this threshold, + //! we default to the JSON type for this object rather than the shredded type + double field_appearance_threshold = 0.1; + //! The maximum number of files we sample to sample sample_size rows + idx_t maximum_sample_files = 32; + //! Whether we auto-detect and convert JSON strings to integers + bool convert_strings_to_integers = false; //! All column names (in order) vector names; @@ -218,19 +226,19 @@ struct JSONScanLocalState { private: bool ReadNextBuffer(JSONScanGlobalState &gstate); - void ReadNextBufferInternal(JSONScanGlobalState &gstate, optional_idx &buffer_index); - void ReadNextBufferSeek(JSONScanGlobalState &gstate, optional_idx &buffer_index); - void ReadNextBufferNoSeek(JSONScanGlobalState &gstate, optional_idx &buffer_index); + bool ReadNextBufferInternal(JSONScanGlobalState &gstate, optional_idx &buffer_index, bool &file_done); + bool ReadNextBufferSeek(JSONScanGlobalState &gstate, optional_idx &buffer_index, bool &file_done); + bool ReadNextBufferNoSeek(JSONScanGlobalState &gstate, optional_idx &buffer_index, bool &file_done); void SkipOverArrayStart(); void ReadAndAutoDetect(JSONScanGlobalState &gstate, optional_idx &buffer_index); - void ReconstructFirstObject(); + bool ReconstructFirstObject(); void ParseNextChunk(); void ParseJSON(char *const json_start, const idx_t json_size, const idx_t remaining); void ThrowObjectSizeError(const idx_t object_size); - void ThrowInvalidAtEndError(); + //! Must hold the lock void TryIncrementFileIndex(JSONScanGlobalState &gstate) const; bool IsParallel(JSONScanGlobalState &gstate) const; @@ -246,6 +254,12 @@ struct JSONScanLocalState { //! Whether this is the last batch of the file bool is_last; + //! The current main filesystem + FileSystem &fs; + + //! For some filesystems (e.g. S3), using a filehandle per thread increases performance + unique_ptr thread_local_filehandle; + //! Current buffer read info char *buffer_ptr; idx_t buffer_size; diff --git a/extension/json/include/json_serializer.hpp b/extension/json/include/json_serializer.hpp index 5d37644b2c81..17f5f53d2ca2 100644 --- a/extension/json/include/json_serializer.hpp +++ b/extension/json/include/json_serializer.hpp @@ -24,13 +24,13 @@ struct JsonSerializer : Serializer { // Either adds a value to the current object with the current tag, or appends it to the current array void PushValue(yyjson_mut_val *val); +public: explicit JsonSerializer(yyjson_mut_doc *doc, bool skip_if_null, bool skip_if_empty) : doc(doc), stack({yyjson_mut_obj(doc)}), skip_if_null(skip_if_null), skip_if_empty(skip_if_empty) { serialize_enum_as_string = true; serialize_default_values = true; } -public: template static yyjson_mut_val *Serialize(T &value, yyjson_mut_doc *doc, bool skip_if_null, bool skip_if_empty) { JsonSerializer serializer(doc, skip_if_null, skip_if_empty); @@ -71,6 +71,7 @@ struct JsonSerializer : Serializer { void WriteValue(uint64_t value) final; void WriteValue(int64_t value) final; void WriteValue(hugeint_t value) final; + void WriteValue(uhugeint_t value) final; void WriteValue(float value) final; void WriteValue(double value) final; void WriteValue(const string_t value) final; diff --git a/extension/json/include/json_structure.hpp b/extension/json/include/json_structure.hpp index 9548534e7dd5..7fcd43b35fe2 100644 --- a/extension/json/include/json_structure.hpp +++ b/extension/json/include/json_structure.hpp @@ -31,25 +31,26 @@ struct JSONStructureNode { JSONStructureDescription &GetOrCreateDescription(LogicalTypeId type); bool ContainsVarchar() const; - void InitializeCandidateTypes(const idx_t max_depth, idx_t depth = 0); - void RefineCandidateTypes(yyjson_val *vals[], idx_t count, Vector &string_vector, ArenaAllocator &allocator, + void InitializeCandidateTypes(const idx_t max_depth, const bool convert_strings_to_integers, idx_t depth = 0); + void RefineCandidateTypes(yyjson_val *vals[], idx_t val_count, Vector &string_vector, ArenaAllocator &allocator, DateFormatMap &date_format_map); private: - void RefineCandidateTypesArray(yyjson_val *vals[], idx_t count, Vector &string_vector, ArenaAllocator &allocator, - DateFormatMap &date_format_map); - void RefineCandidateTypesObject(yyjson_val *vals[], idx_t count, Vector &string_vector, ArenaAllocator &allocator, + void RefineCandidateTypesArray(yyjson_val *vals[], idx_t val_count, Vector &string_vector, + ArenaAllocator &allocator, DateFormatMap &date_format_map); + void RefineCandidateTypesObject(yyjson_val *vals[], idx_t val_count, Vector &string_vector, + ArenaAllocator &allocator, DateFormatMap &date_format_map); + void RefineCandidateTypesString(yyjson_val *vals[], idx_t val_count, Vector &string_vector, DateFormatMap &date_format_map); - void RefineCandidateTypesString(yyjson_val *vals[], idx_t count, Vector &string_vector, - DateFormatMap &date_format_map); - void EliminateCandidateTypes(idx_t count, Vector &string_vector, DateFormatMap &date_format_map); - bool EliminateCandidateFormats(idx_t count, Vector &string_vector, Vector &result_vector, + void EliminateCandidateTypes(idx_t vec_count, Vector &string_vector, DateFormatMap &date_format_map); + bool EliminateCandidateFormats(idx_t vec_count, Vector &string_vector, Vector &result_vector, vector &formats); public: duckdb::unique_ptr key; bool initialized = false; vector descriptions; + idx_t count; }; struct JSONStructureDescription { @@ -81,7 +82,8 @@ struct JSONStructure { public: static void ExtractStructure(yyjson_val *val, JSONStructureNode &node); static LogicalType StructureToType(ClientContext &context, const JSONStructureNode &node, const idx_t max_depth, - idx_t depth = 0); + const double field_appearance_threshold, idx_t depth = 0, + idx_t sample_count = DConstants::INVALID_INDEX); }; } // namespace duckdb diff --git a/extension/json/json_common.cpp b/extension/json/json_common.cpp index 85ef1d9a6417..65e5ba721edd 100644 --- a/extension/json/json_common.cpp +++ b/extension/json/json_common.cpp @@ -1,4 +1,5 @@ #include "json_common.hpp" +#include "duckdb/common/exception/binder_exception.hpp" namespace duckdb { diff --git a/extension/json/json_config.py b/extension/json/json_config.py index 543d4f23f59d..9ac16e272ef8 100644 --- a/extension/json/json_config.py +++ b/extension/json/json_config.py @@ -28,6 +28,7 @@ 'extension/json/json_functions/read_json_objects.cpp', 'extension/json/json_functions/read_json.cpp', 'extension/json/yyjson/yyjson.cpp', + 'extension/json/json_functions/json_serialize_plan.cpp', 'extension/json/json_functions/json_serialize_sql.cpp', 'extension/json/json_serializer.cpp', 'extension/json/json_deserializer.cpp', diff --git a/extension/json/json_deserializer.cpp b/extension/json/json_deserializer.cpp index 36127454324b..fa4319a410f5 100644 --- a/extension/json/json_deserializer.cpp +++ b/extension/json/json_deserializer.cpp @@ -255,6 +255,19 @@ hugeint_t JsonDeserializer::ReadHugeInt() { return result; } +uhugeint_t JsonDeserializer::ReadUhugeInt() { + auto val = GetNextValue(); + if (!yyjson_is_obj(val)) { + ThrowTypeError(val, "object"); + } + Push(val); + uhugeint_t result; + ReadProperty(100, "upper", result.upper); + ReadProperty(101, "lower", result.lower); + Pop(); + return result; +} + void JsonDeserializer::ReadDataPtr(data_ptr_t &ptr, idx_t count) { auto val = GetNextValue(); if (!yyjson_is_str(val)) { diff --git a/extension/json/json_extension.cpp b/extension/json/json_extension.cpp index d80945b9cd20..88671d30e361 100644 --- a/extension/json/json_extension.cpp +++ b/extension/json/json_extension.cpp @@ -19,15 +19,15 @@ namespace duckdb { static DefaultMacro json_macros[] = { {DEFAULT_SCHEMA, "json_group_array", {"x", nullptr}, "to_json(list(x))"}, {DEFAULT_SCHEMA, "json_group_object", {"name", "value", nullptr}, "to_json(map(list(name), list(value)))"}, - {DEFAULT_SCHEMA, "json_group_structure", {"x", nullptr}, "json_structure(json_group_array(x))->0"}, + {DEFAULT_SCHEMA, "json_group_structure", {"x", nullptr}, "json_structure(json_group_array(x))->'0'"}, {DEFAULT_SCHEMA, "json", {"x", nullptr}, "json_extract(x, '$')"}, {nullptr, nullptr, {nullptr}, nullptr}}; void JsonExtension::Load(DuckDB &db) { auto &db_instance = *db.instance; // JSON type - auto json_type = JSONCommon::JSONType(); - ExtensionUtil::RegisterType(db_instance, JSONCommon::JSON_TYPE_NAME, std::move(json_type)); + auto json_type = LogicalType::JSON(); + ExtensionUtil::RegisterType(db_instance, LogicalType::JSON_TYPE_NAME, std::move(json_type)); // JSON casts JSONFunctions::RegisterSimpleCastFunctions(DBConfig::GetConfig(db_instance).GetCastFunctions()); diff --git a/extension/json/json_functions.cpp b/extension/json/json_functions.cpp index 72246ab8d69d..f4b724f79da8 100644 --- a/extension/json/json_functions.cpp +++ b/extension/json/json_functions.cpp @@ -54,7 +54,7 @@ unique_ptr JSONReadFunctionData::Bind(ClientContext &context, Scal vector> &arguments) { D_ASSERT(bound_function.arguments.size() == 2); bool constant = false; - string path = ""; + string path; size_t len = 0; JSONPathType path_type = JSONPathType::REGULAR; if (arguments[1]->IsFoldable()) { @@ -62,6 +62,7 @@ unique_ptr JSONReadFunctionData::Bind(ClientContext &context, Scal const auto path_val = ExpressionExecutor::EvaluateScalar(context, *arguments[1]); path_type = CheckPath(path_val, path, len); } + bound_function.arguments[1] = LogicalType::VARCHAR; if (path_type == JSONCommon::JSONPathType::WILDCARD) { bound_function.return_type = LogicalType::LIST(bound_function.return_type); } @@ -157,6 +158,7 @@ vector JSONFunctions::GetScalarFunctions() { functions.push_back(GetKeysFunction()); functions.push_back(GetTypeFunction()); functions.push_back(GetValidFunction()); + functions.push_back(GetSerializePlanFunction()); functions.push_back(GetSerializeSqlFunction()); functions.push_back(GetDeserializeSqlFunction()); @@ -227,6 +229,7 @@ static bool CastVarcharToJSON(Vector &source, Vector &result, idx_t count, CastP success = false; } } + return input; }); StringVector::AddHeapReference(result, source); @@ -235,16 +238,17 @@ static bool CastVarcharToJSON(Vector &source, Vector &result, idx_t count, CastP void JSONFunctions::RegisterSimpleCastFunctions(CastFunctionSet &casts) { // JSON to VARCHAR is basically free - casts.RegisterCastFunction(JSONCommon::JSONType(), LogicalType::VARCHAR, DefaultCasts::ReinterpretCast, 1); + casts.RegisterCastFunction(LogicalType::JSON(), LogicalType::VARCHAR, DefaultCasts::ReinterpretCast, 1); // VARCHAR to JSON requires a parse so it's not free. Let's make it 1 more than a cast to STRUCT auto varchar_to_json_cost = casts.ImplicitCastCost(LogicalType::SQLNULL, LogicalTypeId::STRUCT) + 1; - BoundCastInfo info(CastVarcharToJSON, nullptr, JSONFunctionLocalState::InitCastLocalState); - casts.RegisterCastFunction(LogicalType::VARCHAR, JSONCommon::JSONType(), std::move(info), varchar_to_json_cost); + BoundCastInfo varchar_to_json_info(CastVarcharToJSON, nullptr, JSONFunctionLocalState::InitCastLocalState); + casts.RegisterCastFunction(LogicalType::VARCHAR, LogicalType::JSON(), std::move(varchar_to_json_info), + varchar_to_json_cost); // Register NULL to JSON with a different cost than NULL to VARCHAR so the binder can disambiguate functions auto null_to_json_cost = casts.ImplicitCastCost(LogicalType::SQLNULL, LogicalTypeId::VARCHAR) + 1; - casts.RegisterCastFunction(LogicalType::SQLNULL, JSONCommon::JSONType(), DefaultCasts::ReinterpretCast, + casts.RegisterCastFunction(LogicalType::SQLNULL, LogicalType::JSON(), DefaultCasts::TryVectorNullCast, null_to_json_cost); } diff --git a/extension/json/json_functions/CMakeLists.txt b/extension/json/json_functions/CMakeLists.txt index 444e42b2e841..2eb609d8aa27 100644 --- a/extension/json/json_functions/CMakeLists.txt +++ b/extension/json/json_functions/CMakeLists.txt @@ -12,6 +12,7 @@ add_library_unity( json_create.cpp json_type.cpp json_valid.cpp + json_serialize_plan.cpp json_serialize_sql.cpp read_json.cpp read_json_objects.cpp) diff --git a/extension/json/json_functions/copy_json.cpp b/extension/json/json_functions/copy_json.cpp index 9b4a02006e7f..dd26e6d0c0b1 100644 --- a/extension/json/json_functions/copy_json.cpp +++ b/extension/json/json_functions/copy_json.cpp @@ -12,7 +12,7 @@ namespace duckdb { static void ThrowJSONCopyParameterException(const string &loption) { - throw BinderException("COPY (FORMAT JSON) parameter %s expects a single argument."); + throw BinderException("COPY (FORMAT JSON) parameter %s expects a single argument.", loption); } static BoundStatement CopyToJSONPlan(Binder &binder, CopyStatement &stmt) { @@ -23,7 +23,8 @@ static BoundStatement CopyToJSONPlan(Binder &binder, CopyStatement &stmt) { // Parse the options, creating options for the CSV writer while doing so string date_format; string timestamp_format; - case_insensitive_map_t> csv_copy_options; + // We insert the JSON file extension here so it works properly with PER_THREAD_OUTPUT/FILE_SIZE_BYTES etc. + case_insensitive_map_t> csv_copy_options {{"file_extension", {"json"}}}; for (const auto &kv : info.options) { const auto &loption = StringUtil::Lower(kv.first); if (loption == "dateformat" || loption == "date_format") { @@ -36,8 +37,6 @@ static BoundStatement CopyToJSONPlan(Binder &binder, CopyStatement &stmt) { ThrowJSONCopyParameterException(loption); } timestamp_format = StringValue::Get(kv.second.back()); - } else if (loption == "compression") { - csv_copy_options.insert(kv); } else if (loption == "array") { if (kv.second.size() > 1) { ThrowJSONCopyParameterException(loption); @@ -47,6 +46,11 @@ static BoundStatement CopyToJSONPlan(Binder &binder, CopyStatement &stmt) { csv_copy_options["suffix"] = {"\n]\n"}; csv_copy_options["new_line"] = {",\n\t"}; } + } else if (loption == "compression" || loption == "encoding" || loption == "per_thread_output" || + loption == "file_size_bytes" || loption == "use_tmp_file" || loption == "overwrite_or_ignore" || + loption == "filename_pattern" || loption == "file_extension") { + // We support these base options + csv_copy_options.insert(kv); } else { throw BinderException("Unknown option for COPY ... TO ... (FORMAT JSON): \"%s\".", loption); } diff --git a/extension/json/json_functions/json_array_length.cpp b/extension/json/json_functions/json_array_length.cpp index 8ebad365a45c..fc33f37143ec 100644 --- a/extension/json/json_functions/json_array_length.cpp +++ b/extension/json/json_functions/json_array_length.cpp @@ -31,7 +31,7 @@ static void GetArrayLengthFunctionsInternal(ScalarFunctionSet &set, const Logica ScalarFunctionSet JSONFunctions::GetArrayLengthFunction() { ScalarFunctionSet set("json_array_length"); GetArrayLengthFunctionsInternal(set, LogicalType::VARCHAR); - GetArrayLengthFunctionsInternal(set, JSONCommon::JSONType()); + GetArrayLengthFunctionsInternal(set, LogicalType::JSON()); return set; } diff --git a/extension/json/json_functions/json_contains.cpp b/extension/json/json_functions/json_contains.cpp index 8b254200d394..bb0c43da214c 100644 --- a/extension/json/json_functions/json_contains.cpp +++ b/extension/json/json_functions/json_contains.cpp @@ -146,9 +146,9 @@ static void GetContainsFunctionInternal(ScalarFunctionSet &set, const LogicalTyp ScalarFunctionSet JSONFunctions::GetContainsFunction() { ScalarFunctionSet set("json_contains"); GetContainsFunctionInternal(set, LogicalType::VARCHAR, LogicalType::VARCHAR); - GetContainsFunctionInternal(set, LogicalType::VARCHAR, JSONCommon::JSONType()); - GetContainsFunctionInternal(set, JSONCommon::JSONType(), LogicalType::VARCHAR); - GetContainsFunctionInternal(set, JSONCommon::JSONType(), JSONCommon::JSONType()); + GetContainsFunctionInternal(set, LogicalType::VARCHAR, LogicalType::JSON()); + GetContainsFunctionInternal(set, LogicalType::JSON(), LogicalType::VARCHAR); + GetContainsFunctionInternal(set, LogicalType::JSON(), LogicalType::JSON()); // TODO: implement json_contains that accepts path argument as well return set; diff --git a/extension/json/json_functions/json_create.cpp b/extension/json/json_functions/json_create.cpp index a5f6c3c68962..0abd23491a33 100644 --- a/extension/json/json_functions/json_create.cpp +++ b/extension/json/json_functions/json_create.cpp @@ -32,7 +32,7 @@ struct JSONCreateFunctionData : public FunctionData { }; static LogicalType GetJSONType(StructNames &const_struct_names, const LogicalType &type) { - if (JSONCommon::LogicalTypeIsJSON(type)) { + if (type.IsJSONType()) { return type; } @@ -55,6 +55,7 @@ static LogicalType GetJSONType(StructNames &const_struct_names, const LogicalTyp return LogicalType::UBIGINT; case LogicalTypeId::FLOAT: case LogicalTypeId::DECIMAL: + case LogicalTypeId::UHUGEINT: case LogicalTypeId::HUGEINT: return LogicalType::DOUBLE; // The nested types need to conform as well @@ -211,6 +212,14 @@ struct CreateJSONValue { } }; +template <> +struct CreateJSONValue { + static inline yyjson_mut_val *Operation(yyjson_mut_doc *doc, const uhugeint_t &input) { + const auto input_string = input.ToString(); + return yyjson_mut_strncpy(doc, input_string.c_str(), input_string.length()); + } +}; + inline yyjson_mut_val *CreateJSONValueFromJSON(yyjson_mut_doc *doc, const string_t &value) { auto value_doc = JSONCommon::ReadDocument(value, JSONCommon::READ_FLAG, &doc->alc); auto result = yyjson_val_mut_copy(doc, value_doc->root); @@ -255,7 +264,7 @@ static void TemplatedCreateValues(yyjson_mut_doc *doc, yyjson_mut_val *vals[], V value_v.ToUnifiedFormat(count, value_data); auto values = UnifiedVectorFormat::GetData(value_data); - const auto type_is_json = JSONCommon::LogicalTypeIsJSON(value_v.GetType()); + const auto type_is_json = value_v.GetType().IsJSONType(); for (idx_t i = 0; i < count; i++) { idx_t val_idx = value_data.sel->get_index(i); if (!value_data.validity.RowIsValid(val_idx)) { @@ -424,6 +433,33 @@ static void CreateValuesList(const StructNames &names, yyjson_mut_doc *doc, yyjs } } +static void CreateValuesArray(const StructNames &names, yyjson_mut_doc *doc, yyjson_mut_val *vals[], Vector &value_v, + idx_t count) { + // Initialize array for the nested values + auto &child_v = ArrayVector::GetEntry(value_v); + auto array_size = ArrayType::GetSize(value_v.GetType()); + auto child_count = count * array_size; + + auto nested_vals = JSONCommon::AllocateArray(doc, child_count); + // Fill nested_vals with list values + CreateValues(names, doc, nested_vals, child_v, child_count); + // Now we add the values to the appropriate JSON arrays + UnifiedVectorFormat list_data; + value_v.ToUnifiedFormat(count, list_data); + for (idx_t i = 0; i < count; i++) { + idx_t idx = list_data.sel->get_index(i); + if (!list_data.validity.RowIsValid(idx)) { + vals[i] = yyjson_mut_null(doc); + } else { + vals[i] = yyjson_mut_arr(doc); + auto offset = idx * array_size; + for (idx_t child_i = offset; child_i < offset + array_size; child_i++) { + yyjson_mut_arr_append(vals[i], nested_vals[child_i]); + } + } + } +} + static void CreateValues(const StructNames &names, yyjson_mut_doc *doc, yyjson_mut_val *vals[], Vector &value_v, idx_t count) { switch (value_v.GetType().id()) { @@ -448,6 +484,9 @@ static void CreateValues(const StructNames &names, yyjson_mut_doc *doc, yyjson_m case LogicalTypeId::HUGEINT: TemplatedCreateValues(doc, vals, value_v, count); break; + case LogicalTypeId::UHUGEINT: + TemplatedCreateValues(doc, vals, value_v, count); + break; case LogicalTypeId::UTINYINT: TemplatedCreateValues(doc, vals, value_v, count); break; @@ -483,6 +522,9 @@ static void CreateValues(const StructNames &names, yyjson_mut_doc *doc, yyjson_m case LogicalTypeId::UNION: CreateValuesUnion(names, doc, vals, value_v, count); break; + case LogicalTypeId::ARRAY: + CreateValuesArray(names, doc, vals, value_v, count); + break; case LogicalTypeId::AGGREGATE_STATE: case LogicalTypeId::ENUM: case LogicalTypeId::DATE: @@ -612,7 +654,7 @@ static void ToJSONFunction(DataChunk &args, ExpressionState &state, Vector &resu } ScalarFunctionSet JSONFunctions::GetObjectFunction() { - ScalarFunction fun("json_object", {}, JSONCommon::JSONType(), ObjectFunction, JSONObjectBind, nullptr, nullptr, + ScalarFunction fun("json_object", {}, LogicalType::JSON(), ObjectFunction, JSONObjectBind, nullptr, nullptr, JSONFunctionLocalState::Init); fun.varargs = LogicalType::ANY; fun.null_handling = FunctionNullHandling::SPECIAL_HANDLING; @@ -620,7 +662,7 @@ ScalarFunctionSet JSONFunctions::GetObjectFunction() { } ScalarFunctionSet JSONFunctions::GetArrayFunction() { - ScalarFunction fun("json_array", {}, JSONCommon::JSONType(), ArrayFunction, JSONArrayBind, nullptr, nullptr, + ScalarFunction fun("json_array", {}, LogicalType::JSON(), ArrayFunction, JSONArrayBind, nullptr, nullptr, JSONFunctionLocalState::Init); fun.varargs = LogicalType::ANY; fun.null_handling = FunctionNullHandling::SPECIAL_HANDLING; @@ -628,21 +670,21 @@ ScalarFunctionSet JSONFunctions::GetArrayFunction() { } ScalarFunctionSet JSONFunctions::GetToJSONFunction() { - ScalarFunction fun("to_json", {}, JSONCommon::JSONType(), ToJSONFunction, ToJSONBind, nullptr, nullptr, + ScalarFunction fun("to_json", {}, LogicalType::JSON(), ToJSONFunction, ToJSONBind, nullptr, nullptr, JSONFunctionLocalState::Init); fun.varargs = LogicalType::ANY; return ScalarFunctionSet(fun); } ScalarFunctionSet JSONFunctions::GetArrayToJSONFunction() { - ScalarFunction fun("array_to_json", {}, JSONCommon::JSONType(), ToJSONFunction, ArrayToJSONBind, nullptr, nullptr, + ScalarFunction fun("array_to_json", {}, LogicalType::JSON(), ToJSONFunction, ArrayToJSONBind, nullptr, nullptr, JSONFunctionLocalState::Init); fun.varargs = LogicalType::ANY; return ScalarFunctionSet(fun); } ScalarFunctionSet JSONFunctions::GetRowToJSONFunction() { - ScalarFunction fun("row_to_json", {}, JSONCommon::JSONType(), ToJSONFunction, RowToJSONBind, nullptr, nullptr, + ScalarFunction fun("row_to_json", {}, LogicalType::JSON(), ToJSONFunction, RowToJSONBind, nullptr, nullptr, JSONFunctionLocalState::Init); fun.varargs = LogicalType::ANY; return ScalarFunctionSet(fun); @@ -698,6 +740,9 @@ void JSONFunctions::RegisterJSONCreateCastFunctions(CastFunctionSet &casts) { case LogicalTypeId::UNION: source_type = LogicalType::UNION({{"any", LogicalType::ANY}}); break; + case LogicalTypeId::ARRAY: + source_type = LogicalType::ARRAY(LogicalType::ANY); + break; case LogicalTypeId::VARCHAR: // We skip this one here as it's handled in json_functions.cpp continue; @@ -707,7 +752,7 @@ void JSONFunctions::RegisterJSONCreateCastFunctions(CastFunctionSet &casts) { // We prefer going to JSON over going to VARCHAR if a function can do either const auto source_to_json_cost = MaxValue(casts.ImplicitCastCost(source_type, LogicalType::VARCHAR) - 1, 0); - casts.RegisterCastFunction(source_type, JSONCommon::JSONType(), AnyToJSONCastBind, source_to_json_cost); + casts.RegisterCastFunction(source_type, LogicalType::JSON(), AnyToJSONCastBind, source_to_json_cost); } } diff --git a/extension/json/json_functions/json_extract.cpp b/extension/json/json_functions/json_extract.cpp index 3728e7c2c5b8..59daa49ccc8e 100644 --- a/extension/json/json_functions/json_extract.cpp +++ b/extension/json/json_functions/json_extract.cpp @@ -2,11 +2,11 @@ namespace duckdb { -static inline string_t ExtractFromVal(yyjson_val *val, yyjson_alc *alc, Vector &result) { +static inline string_t ExtractFromVal(yyjson_val *val, yyjson_alc *alc, Vector &) { return JSONCommon::WriteVal(val, alc); } -static inline string_t ExtractStringFromVal(yyjson_val *val, yyjson_alc *alc, Vector &result) { +static inline string_t ExtractStringFromVal(yyjson_val *val, yyjson_alc *alc, Vector &) { return yyjson_is_str(val) ? string_t(unsafe_yyjson_get_str(val), unsafe_yyjson_get_len(val)) : JSONCommon::WriteVal(val, alc); } @@ -28,10 +28,12 @@ static void ExtractStringManyFunction(DataChunk &args, ExpressionState &state, V } static void GetExtractFunctionsInternal(ScalarFunctionSet &set, const LogicalType &input_type) { - set.AddFunction(ScalarFunction({input_type, LogicalType::VARCHAR}, JSONCommon::JSONType(), ExtractFunction, + set.AddFunction(ScalarFunction({input_type, LogicalType::BIGINT}, LogicalType::JSON(), ExtractFunction, + JSONReadFunctionData::Bind, nullptr, nullptr, JSONFunctionLocalState::Init)); + set.AddFunction(ScalarFunction({input_type, LogicalType::VARCHAR}, LogicalType::JSON(), ExtractFunction, JSONReadFunctionData::Bind, nullptr, nullptr, JSONFunctionLocalState::Init)); set.AddFunction(ScalarFunction({input_type, LogicalType::LIST(LogicalType::VARCHAR)}, - LogicalType::LIST(JSONCommon::JSONType()), ExtractManyFunction, + LogicalType::LIST(LogicalType::JSON()), ExtractManyFunction, JSONReadManyFunctionData::Bind, nullptr, nullptr, JSONFunctionLocalState::Init)); } @@ -39,11 +41,13 @@ ScalarFunctionSet JSONFunctions::GetExtractFunction() { // Generic extract function ScalarFunctionSet set("json_extract"); GetExtractFunctionsInternal(set, LogicalType::VARCHAR); - GetExtractFunctionsInternal(set, JSONCommon::JSONType()); + GetExtractFunctionsInternal(set, LogicalType::JSON()); return set; } static void GetExtractStringFunctionsInternal(ScalarFunctionSet &set, const LogicalType &input_type) { + set.AddFunction(ScalarFunction({input_type, LogicalType::BIGINT}, LogicalType::VARCHAR, ExtractStringFunction, + JSONReadFunctionData::Bind, nullptr, nullptr, JSONFunctionLocalState::Init)); set.AddFunction(ScalarFunction({input_type, LogicalType::VARCHAR}, LogicalType::VARCHAR, ExtractStringFunction, JSONReadFunctionData::Bind, nullptr, nullptr, JSONFunctionLocalState::Init)); set.AddFunction(ScalarFunction({input_type, LogicalType::LIST(LogicalType::VARCHAR)}, @@ -55,7 +59,7 @@ ScalarFunctionSet JSONFunctions::GetExtractStringFunction() { // String extract function ScalarFunctionSet set("json_extract_string"); GetExtractStringFunctionsInternal(set, LogicalType::VARCHAR); - GetExtractStringFunctionsInternal(set, JSONCommon::JSONType()); + GetExtractStringFunctionsInternal(set, LogicalType::JSON()); return set; } diff --git a/extension/json/json_functions/json_keys.cpp b/extension/json/json_functions/json_keys.cpp index 6fc8167889e4..eb9918839e9c 100644 --- a/extension/json/json_functions/json_keys.cpp +++ b/extension/json/json_functions/json_keys.cpp @@ -52,7 +52,7 @@ static void GetJSONKeysFunctionsInternal(ScalarFunctionSet &set, const LogicalTy ScalarFunctionSet JSONFunctions::GetKeysFunction() { ScalarFunctionSet set("json_keys"); GetJSONKeysFunctionsInternal(set, LogicalType::VARCHAR); - GetJSONKeysFunctionsInternal(set, JSONCommon::JSONType()); + GetJSONKeysFunctionsInternal(set, LogicalType::JSON()); return set; } diff --git a/extension/json/json_functions/json_merge_patch.cpp b/extension/json/json_functions/json_merge_patch.cpp index e3d72ba77715..743aa5adc6ac 100644 --- a/extension/json/json_functions/json_merge_patch.cpp +++ b/extension/json/json_functions/json_merge_patch.cpp @@ -11,8 +11,7 @@ static unique_ptr JSONMergePatchBind(ClientContext &context, Scala bound_function.arguments.reserve(arguments.size()); for (auto &arg : arguments) { const auto &arg_type = arg->return_type; - if (arg_type == LogicalTypeId::SQLNULL || arg_type == LogicalType::VARCHAR || - JSONCommon::LogicalTypeIsJSON(arg_type)) { + if (arg_type == LogicalTypeId::SQLNULL || arg_type == LogicalType::VARCHAR || arg_type.IsJSONType()) { bound_function.arguments.push_back(arg_type); } else { throw InvalidInputException("Arguments to json_merge_patch must be of type VARCHAR or JSON"); @@ -97,7 +96,7 @@ static void MergePatchFunction(DataChunk &args, ExpressionState &state, Vector & } ScalarFunctionSet JSONFunctions::GetMergePatchFunction() { - ScalarFunction fun("json_merge_patch", {}, JSONCommon::JSONType(), MergePatchFunction, JSONMergePatchBind, nullptr, + ScalarFunction fun("json_merge_patch", {}, LogicalType::JSON(), MergePatchFunction, JSONMergePatchBind, nullptr, nullptr, JSONFunctionLocalState::Init); fun.varargs = LogicalType::ANY; fun.null_handling = FunctionNullHandling::SPECIAL_HANDLING; diff --git a/extension/json/json_functions/json_serialize_plan.cpp b/extension/json/json_functions/json_serialize_plan.cpp new file mode 100644 index 000000000000..bfe34b1f7238 --- /dev/null +++ b/extension/json/json_functions/json_serialize_plan.cpp @@ -0,0 +1,210 @@ +#include "duckdb/execution/column_binding_resolver.hpp" +#include "duckdb/execution/expression_executor.hpp" +#include "duckdb/main/connection.hpp" +#include "duckdb/main/database.hpp" +#include "duckdb/optimizer/optimizer.hpp" +#include "duckdb/parser/parsed_data/create_pragma_function_info.hpp" +#include "duckdb/parser/parser.hpp" +#include "duckdb/planner/planner.hpp" +#include "json_common.hpp" +#include "json_deserializer.hpp" +#include "json_functions.hpp" +#include "json_serializer.hpp" + +namespace duckdb { + +//----------------------------------------------------------------------------- +// json_serialize_plan +//----------------------------------------------------------------------------- +struct JsonSerializePlanBindData : public FunctionData { + bool skip_if_null = false; + bool skip_if_empty = false; + bool format = false; + bool optimize = false; + + JsonSerializePlanBindData(bool skip_if_null_p, bool skip_if_empty_p, bool format_p, bool optimize_p) + : skip_if_null(skip_if_null_p), skip_if_empty(skip_if_empty_p), format(format_p), optimize(optimize_p) { + } + +public: + unique_ptr Copy() const override { + return make_uniq(skip_if_null, skip_if_empty, format, optimize); + } + bool Equals(const FunctionData &other_p) const override { + return true; + } +}; + +static unique_ptr JsonSerializePlanBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + if (arguments.empty()) { + throw BinderException("json_serialize_plan takes at least one argument"); + } + + if (arguments[0]->return_type != LogicalType::VARCHAR) { + throw InvalidTypeException("json_serialize_plan first argument must be a VARCHAR"); + } + + // Optional arguments + bool skip_if_null = false; + bool skip_if_empty = false; + bool format = false; + bool optimize = false; + + for (idx_t i = 1; i < arguments.size(); i++) { + auto &arg = arguments[i]; + if (arg->HasParameter()) { + throw ParameterNotResolvedException(); + } + if (!arg->IsFoldable()) { + throw BinderException("json_serialize_plan: arguments must be constant"); + } + if (arg->alias == "skip_null") { + if (arg->return_type.id() != LogicalTypeId::BOOLEAN) { + throw BinderException("json_serialize_plan: 'skip_null' argument must be a boolean"); + } + skip_if_null = BooleanValue::Get(ExpressionExecutor::EvaluateScalar(context, *arg)); + } else if (arg->alias == "skip_empty") { + if (arg->return_type.id() != LogicalTypeId::BOOLEAN) { + throw BinderException("json_serialize_plan: 'skip_empty' argument must be a boolean"); + } + skip_if_empty = BooleanValue::Get(ExpressionExecutor::EvaluateScalar(context, *arg)); + } else if (arg->alias == "format") { + if (arg->return_type.id() != LogicalTypeId::BOOLEAN) { + throw BinderException("json_serialize_plan: 'format' argument must be a boolean"); + } + format = BooleanValue::Get(ExpressionExecutor::EvaluateScalar(context, *arg)); + } else if (arg->alias == "optimize") { + if (arg->return_type.id() != LogicalTypeId::BOOLEAN) { + throw BinderException("json_serialize_plan: 'optimize' argument must be a boolean"); + } + optimize = BooleanValue::Get(ExpressionExecutor::EvaluateScalar(context, *arg)); + } else { + throw BinderException(StringUtil::Format("json_serialize_plan: Unknown argument '%s'", arg->alias.c_str())); + } + } + return make_uniq(skip_if_null, skip_if_empty, format, optimize); +} + +static bool OperatorSupportsSerialization(LogicalOperator &op, string &operator_name) { + for (auto &child : op.children) { + if (!OperatorSupportsSerialization(*child, operator_name)) { + return false; + } + } + auto supported = op.SupportSerialization(); + if (!supported) { + operator_name = EnumUtil::ToString(op.type); + } + return supported; +} + +static void JsonSerializePlanFunction(DataChunk &args, ExpressionState &state, Vector &result) { + auto &local_state = JSONFunctionLocalState::ResetAndGet(state); + auto alc = local_state.json_allocator.GetYYAlc(); + auto &inputs = args.data[0]; + + auto &func_expr = state.expr.Cast(); + const auto &info = func_expr.bind_info->Cast(); + + if (!state.HasContext()) { + throw InvalidInputException("json_serialize_plan: No client context available"); + } + auto &context = state.GetContext(); + + UnaryExecutor::Execute(inputs, result, args.size(), [&](string_t input) { + auto doc = JSONCommon::CreateDocument(alc); + auto result_obj = yyjson_mut_obj(doc); + yyjson_mut_doc_set_root(doc, result_obj); + + try { + Parser parser; + parser.ParseQuery(input.GetString()); + auto plans_arr = yyjson_mut_arr(doc); + + for (auto &statement : parser.statements) { + auto stmt = std::move(statement); + + Planner planner(context); + planner.CreatePlan(std::move(stmt)); + auto plan = std::move(planner.plan); + + if (info.optimize && plan->RequireOptimizer()) { + Optimizer optimizer(*planner.binder, context); + plan = optimizer.Optimize(std::move(plan)); + } + + ColumnBindingResolver resolver; + resolver.Verify(*plan); + resolver.VisitOperator(*plan); + plan->ResolveOperatorTypes(); + + string operator_name; + if (!OperatorSupportsSerialization(*plan, operator_name)) { + throw InvalidInputException("Operator '%s' does not support serialization", operator_name); + } + + auto plan_json = JsonSerializer::Serialize(*plan, doc, info.skip_if_null, info.skip_if_empty); + yyjson_mut_arr_append(plans_arr, plan_json); + } + + yyjson_mut_obj_add_false(doc, result_obj, "error"); + yyjson_mut_obj_add_val(doc, result_obj, "plans", plans_arr); + + idx_t len; + auto data = yyjson_mut_val_write_opts(result_obj, + info.format ? JSONCommon::WRITE_PRETTY_FLAG : JSONCommon::WRITE_FLAG, + alc, reinterpret_cast(&len), nullptr); + if (data == nullptr) { + throw SerializationException( + "Failed to serialize json, perhaps the query contains invalid utf8 characters?"); + } + + return StringVector::AddString(result, data, len); + + } catch (std::exception &ex) { + ErrorData error(ex); + yyjson_mut_obj_add_true(doc, result_obj, "error"); + // error type and message + yyjson_mut_obj_add_strcpy(doc, result_obj, "error_type", + StringUtil::Lower(Exception::ExceptionTypeToString(error.Type())).c_str()); + yyjson_mut_obj_add_strcpy(doc, result_obj, "error_message", error.RawMessage().c_str()); + // add extra info + for (auto &entry : error.ExtraInfo()) { + yyjson_mut_obj_add_strcpy(doc, result_obj, entry.first.c_str(), entry.second.c_str()); + } + + idx_t len; + auto data = yyjson_mut_val_write_opts(result_obj, + info.format ? JSONCommon::WRITE_PRETTY_FLAG : JSONCommon::WRITE_FLAG, + alc, reinterpret_cast(&len), nullptr); + return StringVector::AddString(result, data, len); + } + }); +} + +ScalarFunctionSet JSONFunctions::GetSerializePlanFunction() { + ScalarFunctionSet set("json_serialize_plan"); + + set.AddFunction(ScalarFunction({LogicalType::VARCHAR}, LogicalType::JSON(), JsonSerializePlanFunction, + JsonSerializePlanBind, nullptr, nullptr, JSONFunctionLocalState::Init)); + + set.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::BOOLEAN}, LogicalType::JSON(), + JsonSerializePlanFunction, JsonSerializePlanBind, nullptr, nullptr, + JSONFunctionLocalState::Init)); + + set.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::BOOLEAN, LogicalType::BOOLEAN}, + LogicalType::JSON(), JsonSerializePlanFunction, JsonSerializePlanBind, nullptr, + nullptr, JSONFunctionLocalState::Init)); + + set.AddFunction(ScalarFunction( + {LogicalType::VARCHAR, LogicalType::BOOLEAN, LogicalType::BOOLEAN, LogicalType::BOOLEAN}, LogicalType::JSON(), + JsonSerializePlanFunction, JsonSerializePlanBind, nullptr, nullptr, JSONFunctionLocalState::Init)); + set.AddFunction(ScalarFunction( + {LogicalType::VARCHAR, LogicalType::BOOLEAN, LogicalType::BOOLEAN, LogicalType::BOOLEAN, LogicalType::BOOLEAN}, + LogicalType::JSON(), JsonSerializePlanFunction, JsonSerializePlanBind, nullptr, nullptr, + JSONFunctionLocalState::Init)); + return set; +} + +} // namespace duckdb diff --git a/extension/json/json_functions/json_serialize_sql.cpp b/extension/json/json_functions/json_serialize_sql.cpp index 2212fd4a9307..3d3adb67ccd9 100644 --- a/extension/json/json_functions/json_serialize_sql.cpp +++ b/extension/json/json_functions/json_serialize_sql.cpp @@ -1,13 +1,12 @@ #include "duckdb/execution/expression_executor.hpp" +#include "duckdb/main/connection.hpp" +#include "duckdb/main/database.hpp" #include "duckdb/parser/parsed_data/create_pragma_function_info.hpp" #include "duckdb/parser/parser.hpp" #include "json_deserializer.hpp" #include "json_functions.hpp" #include "json_serializer.hpp" -#include "duckdb/main/connection.hpp" -#include "duckdb/main/database.hpp" - namespace duckdb { struct JsonSerializeBindData : public FunctionData { @@ -50,25 +49,25 @@ static unique_ptr JsonSerializeBind(ClientContext &context, Scalar throw ParameterNotResolvedException(); } if (!arg->IsFoldable()) { - throw InvalidInputException("arguments to json_serialize_sql must be constant"); + throw BinderException("json_serialize_sql: arguments must be constant"); } if (arg->alias == "skip_null") { if (arg->return_type.id() != LogicalTypeId::BOOLEAN) { - throw InvalidTypeException("skip_null argument must be a boolean"); + throw BinderException("json_serialize_sql: 'skip_null' argument must be a boolean"); } skip_if_null = BooleanValue::Get(ExpressionExecutor::EvaluateScalar(context, *arg)); } else if (arg->alias == "skip_empty") { if (arg->return_type.id() != LogicalTypeId::BOOLEAN) { - throw InvalidTypeException("skip_empty argument must be a boolean"); + throw BinderException("json_serialize_sql: 'skip_empty' argument must be a boolean"); } skip_if_empty = BooleanValue::Get(ExpressionExecutor::EvaluateScalar(context, *arg)); } else if (arg->alias == "format") { if (arg->return_type.id() != LogicalTypeId::BOOLEAN) { - throw InvalidTypeException("indent argument must be a boolean"); + throw BinderException("json_serialize_sql: 'format' argument must be a boolean"); } format = BooleanValue::Get(ExpressionExecutor::EvaluateScalar(context, *arg)); } else { - throw BinderException(StringUtil::Format("Unknown argument to json_serialize_sql: %s", arg->alias.c_str())); + throw BinderException(StringUtil::Format("json_serialize_sql: Unknown argument '%s'", arg->alias.c_str())); } } return make_uniq(skip_if_null, skip_if_empty, format); @@ -115,11 +114,16 @@ static void JsonSerializeFunction(DataChunk &args, ExpressionState &state, Vecto } return StringVector::AddString(result, data, len); - } catch (Exception &exception) { + } catch (std::exception &ex) { + ErrorData error(ex); yyjson_mut_obj_add_true(doc, result_obj, "error"); yyjson_mut_obj_add_strcpy(doc, result_obj, "error_type", - StringUtil::Lower(exception.ExceptionTypeToString(exception.type)).c_str()); - yyjson_mut_obj_add_strcpy(doc, result_obj, "error_message", exception.RawMessage().c_str()); + StringUtil::Lower(Exception::ExceptionTypeToString(error.Type())).c_str()); + yyjson_mut_obj_add_strcpy(doc, result_obj, "error_message", error.RawMessage().c_str()); + // add extra info + for (auto &entry : error.ExtraInfo()) { + yyjson_mut_obj_add_strcpy(doc, result_obj, entry.first.c_str(), entry.second.c_str()); + } idx_t len; auto data = yyjson_mut_val_write_opts(result_obj, @@ -132,21 +136,20 @@ static void JsonSerializeFunction(DataChunk &args, ExpressionState &state, Vecto ScalarFunctionSet JSONFunctions::GetSerializeSqlFunction() { ScalarFunctionSet set("json_serialize_sql"); - set.AddFunction(ScalarFunction({LogicalType::VARCHAR}, JSONCommon::JSONType(), JsonSerializeFunction, + set.AddFunction(ScalarFunction({LogicalType::VARCHAR}, LogicalType::JSON(), JsonSerializeFunction, JsonSerializeBind, nullptr, nullptr, JSONFunctionLocalState::Init)); - set.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::BOOLEAN}, JSONCommon::JSONType(), + set.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::BOOLEAN}, LogicalType::JSON(), JsonSerializeFunction, JsonSerializeBind, nullptr, nullptr, JSONFunctionLocalState::Init)); set.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::BOOLEAN, LogicalType::BOOLEAN}, - JSONCommon::JSONType(), JsonSerializeFunction, JsonSerializeBind, nullptr, nullptr, + LogicalType::JSON(), JsonSerializeFunction, JsonSerializeBind, nullptr, nullptr, JSONFunctionLocalState::Init)); - set.AddFunction( - ScalarFunction({LogicalType::VARCHAR, LogicalType::BOOLEAN, LogicalType::BOOLEAN, LogicalType::BOOLEAN}, - JSONCommon::JSONType(), JsonSerializeFunction, JsonSerializeBind, nullptr, nullptr, - JSONFunctionLocalState::Init)); + set.AddFunction(ScalarFunction( + {LogicalType::VARCHAR, LogicalType::BOOLEAN, LogicalType::BOOLEAN, LogicalType::BOOLEAN}, LogicalType::JSON(), + JsonSerializeFunction, JsonSerializeBind, nullptr, nullptr, JSONFunctionLocalState::Init)); return set; } @@ -204,7 +207,7 @@ static void JsonDeserializeFunction(DataChunk &args, ExpressionState &state, Vec ScalarFunctionSet JSONFunctions::GetDeserializeSqlFunction() { ScalarFunctionSet set("json_deserialize_sql"); - set.AddFunction(ScalarFunction({JSONCommon::JSONType()}, LogicalType::VARCHAR, JsonDeserializeFunction, nullptr, + set.AddFunction(ScalarFunction({LogicalType::JSON()}, LogicalType::VARCHAR, JsonDeserializeFunction, nullptr, nullptr, nullptr, JSONFunctionLocalState::Init)); return set; } diff --git a/extension/json/json_functions/json_structure.cpp b/extension/json/json_functions/json_structure.cpp index 83e571c4e46c..ad319c6a9469 100644 --- a/extension/json/json_functions/json_structure.cpp +++ b/extension/json/json_functions/json_structure.cpp @@ -19,11 +19,11 @@ static inline LogicalTypeId MaxNumericType(LogicalTypeId &a, LogicalTypeId &b) { return LogicalTypeId::BIGINT; } -JSONStructureNode::JSONStructureNode() : initialized(false) { +JSONStructureNode::JSONStructureNode() : initialized(false), count(0) { } JSONStructureNode::JSONStructureNode(yyjson_val *key_p, yyjson_val *val_p) - : key(make_uniq(unsafe_yyjson_get_str(key_p), unsafe_yyjson_get_len(key_p))), initialized(false) { + : key(make_uniq(unsafe_yyjson_get_str(key_p), unsafe_yyjson_get_len(key_p))), initialized(false), count(0) { D_ASSERT(yyjson_is_str(key_p)); JSONStructure::ExtractStructure(val_p, *this); } @@ -32,12 +32,14 @@ JSONStructureNode::JSONStructureNode(JSONStructureNode &&other) noexcept { std::swap(key, other.key); std::swap(initialized, other.initialized); std::swap(descriptions, other.descriptions); + std::swap(count, other.count); } JSONStructureNode &JSONStructureNode::operator=(JSONStructureNode &&other) noexcept { std::swap(key, other.key); std::swap(initialized, other.initialized); std::swap(descriptions, other.descriptions); + std::swap(count, other.count); return *this; } @@ -92,7 +94,8 @@ bool JSONStructureNode::ContainsVarchar() const { return false; } -void JSONStructureNode::InitializeCandidateTypes(const idx_t max_depth, idx_t depth) { +void JSONStructureNode::InitializeCandidateTypes(const idx_t max_depth, const bool convert_strings_to_integers, + idx_t depth) { if (depth >= max_depth) { return; } @@ -103,16 +106,21 @@ void JSONStructureNode::InitializeCandidateTypes(const idx_t max_depth, idx_t de auto &description = descriptions[0]; if (description.type == LogicalTypeId::VARCHAR && !initialized) { // We loop through the candidate types and format templates from back to front - description.candidate_types = {LogicalTypeId::UUID, LogicalTypeId::BIGINT, LogicalTypeId::TIMESTAMP, - LogicalTypeId::DATE, LogicalTypeId::TIME}; + if (convert_strings_to_integers) { + description.candidate_types = {LogicalTypeId::UUID, LogicalTypeId::BIGINT, LogicalTypeId::TIMESTAMP, + LogicalTypeId::DATE, LogicalTypeId::TIME}; + } else { + description.candidate_types = {LogicalTypeId::UUID, LogicalTypeId::TIMESTAMP, LogicalTypeId::DATE, + LogicalTypeId::TIME}; + } } initialized = true; for (auto &child : description.children) { - child.InitializeCandidateTypes(max_depth, depth + 1); + child.InitializeCandidateTypes(max_depth, convert_strings_to_integers, depth + 1); } } -void JSONStructureNode::RefineCandidateTypes(yyjson_val *vals[], idx_t count, Vector &string_vector, +void JSONStructureNode::RefineCandidateTypes(yyjson_val *vals[], idx_t val_count, Vector &string_vector, ArenaAllocator &allocator, DateFormatMap &date_format_map) { if (descriptions.size() != 1) { // We can't refine types if we have more than 1 description (yet), defaults to JSON type for now @@ -124,17 +132,17 @@ void JSONStructureNode::RefineCandidateTypes(yyjson_val *vals[], idx_t count, Ve auto &description = descriptions[0]; switch (description.type) { case LogicalTypeId::LIST: - return RefineCandidateTypesArray(vals, count, string_vector, allocator, date_format_map); + return RefineCandidateTypesArray(vals, val_count, string_vector, allocator, date_format_map); case LogicalTypeId::STRUCT: - return RefineCandidateTypesObject(vals, count, string_vector, allocator, date_format_map); + return RefineCandidateTypesObject(vals, val_count, string_vector, allocator, date_format_map); case LogicalTypeId::VARCHAR: - return RefineCandidateTypesString(vals, count, string_vector, date_format_map); + return RefineCandidateTypesString(vals, val_count, string_vector, date_format_map); default: return; } } -void JSONStructureNode::RefineCandidateTypesArray(yyjson_val *vals[], idx_t count, Vector &string_vector, +void JSONStructureNode::RefineCandidateTypesArray(yyjson_val *vals[], idx_t val_count, Vector &string_vector, ArenaAllocator &allocator, DateFormatMap &date_format_map) { D_ASSERT(descriptions.size() == 1 && descriptions[0].type == LogicalTypeId::LIST); auto &desc = descriptions[0]; @@ -142,7 +150,7 @@ void JSONStructureNode::RefineCandidateTypesArray(yyjson_val *vals[], idx_t coun auto &child = desc.children[0]; idx_t total_list_size = 0; - for (idx_t i = 0; i < count; i++) { + for (idx_t i = 0; i < val_count; i++) { if (vals[i] && !unsafe_yyjson_is_null(vals[i])) { D_ASSERT(yyjson_is_arr(vals[i])); total_list_size += unsafe_yyjson_get_len(vals[i]); @@ -155,7 +163,7 @@ void JSONStructureNode::RefineCandidateTypesArray(yyjson_val *vals[], idx_t coun size_t idx, max; yyjson_val *child_val; - for (idx_t i = 0; i < count; i++) { + for (idx_t i = 0; i < val_count; i++) { if (vals[i] && !unsafe_yyjson_is_null(vals[i])) { yyjson_arr_foreach(vals[i], idx, max, child_val) { child_vals[offset++] = child_val; @@ -165,7 +173,7 @@ void JSONStructureNode::RefineCandidateTypesArray(yyjson_val *vals[], idx_t coun child.RefineCandidateTypes(child_vals, total_list_size, string_vector, allocator, date_format_map); } -void JSONStructureNode::RefineCandidateTypesObject(yyjson_val *vals[], idx_t count, Vector &string_vector, +void JSONStructureNode::RefineCandidateTypesObject(yyjson_val *vals[], idx_t val_count, Vector &string_vector, ArenaAllocator &allocator, DateFormatMap &date_format_map) { D_ASSERT(descriptions.size() == 1 && descriptions[0].type == LogicalTypeId::STRUCT); auto &desc = descriptions[0]; @@ -175,7 +183,7 @@ void JSONStructureNode::RefineCandidateTypesObject(yyjson_val *vals[], idx_t cou child_vals.reserve(child_count); for (idx_t child_idx = 0; child_idx < child_count; child_idx++) { child_vals.emplace_back( - reinterpret_cast(allocator.AllocateAligned(count * sizeof(yyjson_val *)))); + reinterpret_cast(allocator.AllocateAligned(val_count * sizeof(yyjson_val *)))); } idx_t found_key_count; @@ -184,7 +192,7 @@ void JSONStructureNode::RefineCandidateTypesObject(yyjson_val *vals[], idx_t cou const auto &key_map = desc.key_map; size_t idx, max; yyjson_val *child_key, *child_val; - for (idx_t i = 0; i < count; i++) { + for (idx_t i = 0; i < val_count; i++) { if (vals[i] && !unsafe_yyjson_is_null(vals[i])) { found_key_count = 0; memset(found_keys, false, child_count); @@ -218,23 +226,24 @@ void JSONStructureNode::RefineCandidateTypesObject(yyjson_val *vals[], idx_t cou } for (idx_t child_idx = 0; child_idx < child_count; child_idx++) { - desc.children[child_idx].RefineCandidateTypes(child_vals[child_idx], count, string_vector, allocator, + desc.children[child_idx].RefineCandidateTypes(child_vals[child_idx], val_count, string_vector, allocator, date_format_map); } } -void JSONStructureNode::RefineCandidateTypesString(yyjson_val *vals[], idx_t count, Vector &string_vector, +void JSONStructureNode::RefineCandidateTypesString(yyjson_val *vals[], idx_t val_count, Vector &string_vector, DateFormatMap &date_format_map) { D_ASSERT(descriptions.size() == 1 && descriptions[0].type == LogicalTypeId::VARCHAR); if (descriptions[0].candidate_types.empty()) { return; } static JSONTransformOptions OPTIONS; - JSONTransform::GetStringVector(vals, count, LogicalType::SQLNULL, string_vector, OPTIONS); - EliminateCandidateTypes(count, string_vector, date_format_map); + JSONTransform::GetStringVector(vals, val_count, LogicalType::SQLNULL, string_vector, OPTIONS); + EliminateCandidateTypes(val_count, string_vector, date_format_map); } -void JSONStructureNode::EliminateCandidateTypes(idx_t count, Vector &string_vector, DateFormatMap &date_format_map) { +void JSONStructureNode::EliminateCandidateTypes(idx_t vec_count, Vector &string_vector, + DateFormatMap &date_format_map) { D_ASSERT(descriptions.size() == 1 && descriptions[0].type == LogicalTypeId::VARCHAR); auto &description = descriptions[0]; auto &candidate_types = description.candidate_types; @@ -243,17 +252,17 @@ void JSONStructureNode::EliminateCandidateTypes(idx_t count, Vector &string_vect return; } const auto type = candidate_types.back(); - Vector result_vector(type, count); + Vector result_vector(type, vec_count); if (date_format_map.HasFormats(type)) { auto &formats = date_format_map.GetCandidateFormats(type); - if (EliminateCandidateFormats(count, string_vector, result_vector, formats)) { + if (EliminateCandidateFormats(vec_count, string_vector, result_vector, formats)) { return; } else { candidate_types.pop_back(); } } else { string error_message; - if (!VectorOperations::DefaultTryCast(string_vector, result_vector, count, &error_message, true)) { + if (!VectorOperations::DefaultTryCast(string_vector, result_vector, vec_count, &error_message, true)) { candidate_types.pop_back(); } else { return; @@ -287,7 +296,7 @@ bool TryParse(Vector &string_vector, StrpTimeFormat &format, const idx_t count) return true; } -bool JSONStructureNode::EliminateCandidateFormats(idx_t count, Vector &string_vector, Vector &result_vector, +bool JSONStructureNode::EliminateCandidateFormats(idx_t vec_count, Vector &string_vector, Vector &result_vector, vector &formats) { D_ASSERT(descriptions.size() == 1 && descriptions[0].type == LogicalTypeId::VARCHAR); const auto type = result_vector.GetType().id(); @@ -297,10 +306,10 @@ bool JSONStructureNode::EliminateCandidateFormats(idx_t count, Vector &string_ve bool success; switch (type) { case LogicalTypeId::DATE: - success = TryParse(string_vector, format, count); + success = TryParse(string_vector, format, vec_count); break; case LogicalTypeId::TIMESTAMP: - success = TryParse(string_vector, format, count); + success = TryParse(string_vector, format, vec_count); break; default: throw InternalException("No date/timestamp formats for %s", EnumUtil::ToString(type)); @@ -399,6 +408,7 @@ static inline void ExtractStructureVal(yyjson_val *val, JSONStructureNode &node) } void JSONStructure::ExtractStructure(yyjson_val *val, JSONStructureNode &node) { + node.count++; switch (yyjson_get_tag(val)) { case YYJSON_TYPE_ARR | YYJSON_SUBTYPE_NONE: return ExtractStructureArray(val, node); @@ -433,7 +443,7 @@ static inline yyjson_mut_val *ConvertStructureObject(const JSONStructureNode &no auto &desc = node.descriptions[0]; if (desc.children.empty()) { // Empty struct - let's do JSON instead - return yyjson_mut_str(doc, JSONCommon::JSON_TYPE_NAME); + return yyjson_mut_str(doc, LogicalType::JSON_TYPE_NAME); } auto obj = yyjson_mut_obj(doc); @@ -450,7 +460,7 @@ static inline yyjson_mut_val *ConvertStructure(const JSONStructureNode &node, yy return yyjson_mut_str(doc, JSONCommon::TYPE_STRING_NULL); } if (node.descriptions.size() != 1) { // Inconsistent types, so we resort to JSON - return yyjson_mut_str(doc, JSONCommon::JSON_TYPE_NAME); + return yyjson_mut_str(doc, LogicalType::JSON_TYPE_NAME); } auto &desc = node.descriptions[0]; D_ASSERT(desc.type != LogicalTypeId::INVALID); @@ -474,40 +484,57 @@ static void StructureFunction(DataChunk &args, ExpressionState &state, Vector &r } static void GetStructureFunctionInternal(ScalarFunctionSet &set, const LogicalType &input_type) { - set.AddFunction(ScalarFunction({input_type}, JSONCommon::JSONType(), StructureFunction, nullptr, nullptr, nullptr, + set.AddFunction(ScalarFunction({input_type}, LogicalType::JSON(), StructureFunction, nullptr, nullptr, nullptr, JSONFunctionLocalState::Init)); } ScalarFunctionSet JSONFunctions::GetStructureFunction() { ScalarFunctionSet set("json_structure"); GetStructureFunctionInternal(set, LogicalType::VARCHAR); - GetStructureFunctionInternal(set, JSONCommon::JSONType()); + GetStructureFunctionInternal(set, LogicalType::JSON()); return set; } static LogicalType StructureToTypeArray(ClientContext &context, const JSONStructureNode &node, const idx_t max_depth, - idx_t depth) { + const double field_appearance_threshold, idx_t depth, + const idx_t sample_count) { D_ASSERT(node.descriptions.size() == 1 && node.descriptions[0].type == LogicalTypeId::LIST); const auto &desc = node.descriptions[0]; D_ASSERT(desc.children.size() == 1); - return LogicalType::LIST(JSONStructure::StructureToType(context, desc.children[0], max_depth, depth + 1)); + return LogicalType::LIST(JSONStructure::StructureToType( + context, desc.children[0], max_depth, field_appearance_threshold, depth + 1, desc.children[0].count)); } static LogicalType StructureToTypeObject(ClientContext &context, const JSONStructureNode &node, const idx_t max_depth, - idx_t depth) { + const double field_appearance_threshold, idx_t depth, + const idx_t sample_count) { D_ASSERT(node.descriptions.size() == 1 && node.descriptions[0].type == LogicalTypeId::STRUCT); auto &desc = node.descriptions[0]; + + // If it's an empty struct we do JSON instead if (desc.children.empty()) { // Empty struct - let's do JSON instead - return JSONCommon::JSONType(); + return LogicalType::JSON(); + } + + // If it's an inconsistent object we also just do JSON + double total_child_counts = 0; + for (const auto &child : desc.children) { + total_child_counts += double(child.count) / sample_count; + } + const auto avg_occurrence = total_child_counts / desc.children.size(); + if (avg_occurrence < field_appearance_threshold) { + return LogicalType::JSON(); } child_list_t child_types; child_types.reserve(desc.children.size()); for (auto &child : desc.children) { D_ASSERT(child.key); - child_types.emplace_back(*child.key, JSONStructure::StructureToType(context, child, max_depth, depth + 1)); + child_types.emplace_back(*child.key, + JSONStructure::StructureToType(context, child, max_depth, field_appearance_threshold, + depth + 1, sample_count)); } return LogicalType::STRUCT(child_types); } @@ -522,27 +549,28 @@ static LogicalType StructureToTypeString(const JSONStructureNode &node) { } LogicalType JSONStructure::StructureToType(ClientContext &context, const JSONStructureNode &node, const idx_t max_depth, - idx_t depth) { + const double field_appearance_threshold, idx_t depth, idx_t sample_count) { if (depth >= max_depth) { - return JSONCommon::JSONType(); + return LogicalType::JSON(); } if (node.descriptions.empty()) { - return JSONCommon::JSONType(); + return LogicalType::JSON(); } if (node.descriptions.size() != 1) { // Inconsistent types, so we resort to JSON - return JSONCommon::JSONType(); + return LogicalType::JSON(); } + sample_count = sample_count == DConstants::INVALID_INDEX ? node.count : sample_count; auto &desc = node.descriptions[0]; D_ASSERT(desc.type != LogicalTypeId::INVALID); switch (desc.type) { case LogicalTypeId::LIST: - return StructureToTypeArray(context, node, max_depth, depth); + return StructureToTypeArray(context, node, max_depth, field_appearance_threshold, depth, sample_count); case LogicalTypeId::STRUCT: - return StructureToTypeObject(context, node, max_depth, depth); + return StructureToTypeObject(context, node, max_depth, field_appearance_threshold, depth, sample_count); case LogicalTypeId::VARCHAR: return StructureToTypeString(node); case LogicalTypeId::SQLNULL: - return JSONCommon::JSONType(); + return LogicalType::JSON(); case LogicalTypeId::UBIGINT: return LogicalTypeId::BIGINT; // We prefer not to return UBIGINT in our type auto-detection default: diff --git a/extension/json/json_functions/json_transform.cpp b/extension/json/json_functions/json_transform.cpp index d0b5af4e2565..aaab5cb42791 100644 --- a/extension/json/json_functions/json_transform.cpp +++ b/extension/json/json_functions/json_transform.cpp @@ -79,7 +79,7 @@ static unique_ptr JSONTransformBind(ClientContext &context, Scalar if (structure_val.IsNull() || arguments[1]->return_type == LogicalTypeId::SQLNULL) { bound_function.return_type = LogicalTypeId::SQLNULL; } else { - if (!structure_val.DefaultTryCastAs(JSONCommon::JSONType())) { + if (!structure_val.DefaultTryCastAs(LogicalType::JSON())) { throw BinderException("Cannot cast JSON structure to string"); } auto structure_string = structure_val.GetValueUnsafe(); @@ -489,8 +489,8 @@ static bool TransformObjectInternal(yyjson_val *objects[], yyjson_alc *alc, Vect return JSONTransform::TransformObject(objects, alc, count, child_names, child_vectors, options); } -static bool TransformArray(yyjson_val *arrays[], yyjson_alc *alc, Vector &result, const idx_t count, - JSONTransformOptions &options) { +static bool TransformArrayToList(yyjson_val *arrays[], yyjson_alc *alc, Vector &result, const idx_t count, + JSONTransformOptions &options) { bool success = true; // Initialize list vector @@ -567,6 +567,96 @@ static bool TransformArray(yyjson_val *arrays[], yyjson_alc *alc, Vector &result return success; } +static bool TransformArrayToArray(yyjson_val *arrays[], yyjson_alc *alc, Vector &result, const idx_t count, + JSONTransformOptions &options) { + bool success = true; + + // Initialize array vector + auto &result_validity = FlatVector::Validity(result); + auto array_size = ArrayType::GetSize(result.GetType()); + auto child_count = count * array_size; + + for (idx_t i = 0; i < count; i++) { + const auto &arr = arrays[i]; + if (!arr || unsafe_yyjson_is_null(arr)) { + result_validity.SetInvalid(i); + continue; + } + + if (!unsafe_yyjson_is_arr(arr)) { + result_validity.SetInvalid(i); + if (success && options.strict_cast) { + options.error_message = + StringUtil::Format("Expected ARRAY, but got %s: %s", JSONCommon::ValTypeToString(arrays[i]), + JSONCommon::ValToString(arrays[i], 50)); + options.object_index = i; + success = false; + } + continue; + } + + auto json_arr_size = unsafe_yyjson_get_len(arr); + if (json_arr_size != array_size) { + result_validity.SetInvalid(i); + if (success && options.strict_cast) { + options.error_message = + StringUtil::Format("Expected array of size %u, but got '%s' with size %u", array_size, + JSONCommon::ValToString(arrays[i], 50), json_arr_size); + options.object_index = i; + success = false; + } + continue; + } + } + + // Initialize array for the nested values + auto nested_vals = JSONCommon::AllocateArray(alc, child_count); + + // Get array values + size_t idx, max; + yyjson_val *val; + idx_t nested_elem_idx = 0; + for (idx_t i = 0; i < count; i++) { + if (!result_validity.RowIsValid(i)) { + // We already marked this as invalid, but we still need to increment nested_elem_idx + // and set the nullptrs (otherwise indexing will break after compaction) + for (idx_t j = 0; j < array_size; j++) { + nested_vals[nested_elem_idx] = nullptr; + nested_elem_idx++; + }; + } else { + yyjson_arr_foreach(arrays[i], idx, max, val) { + nested_vals[nested_elem_idx] = val; + nested_elem_idx++; + } + } + } + + if (!success) { + // Set object index in case of error in nested array so we can get accurate line number information + for (idx_t i = 0; i < count; i++) { + if (!result_validity.RowIsValid(i)) { + continue; + } + auto offset = i * array_size; + if (options.object_index >= offset && options.object_index < offset + array_size) { + options.object_index = i; + } + } + } + + // Transform array values + if (!JSONTransform::Transform(nested_vals, alc, ArrayVector::GetEntry(result), child_count, options)) { + success = false; + } + + if (!options.delay_error && !success) { + throw InvalidInputException(options.error_message); + } + + return success; +} + static bool TransformObjectToMap(yyjson_val *objects[], yyjson_alc *alc, Vector &result, const idx_t count, JSONTransformOptions &options) { // Pre-allocate list vector @@ -736,7 +826,7 @@ bool JSONTransform::Transform(yyjson_val *vals[], yyjson_alc *alc, Vector &resul return TransformFromStringWithFormat(vals, result, count, options); } - if (JSONCommon::LogicalTypeIsJSON(result_type)) { + if (result_type.IsJSONType()) { return TransformToJSON(vals, alc, result, count); } @@ -764,6 +854,8 @@ bool JSONTransform::Transform(yyjson_val *vals[], yyjson_alc *alc, Vector &resul return TransformNumerical(vals, result, count, options); case LogicalTypeId::HUGEINT: return TransformNumerical(vals, result, count, options); + case LogicalTypeId::UHUGEINT: + return TransformNumerical(vals, result, count, options); case LogicalTypeId::FLOAT: return TransformNumerical(vals, result, count, options); case LogicalTypeId::DOUBLE: @@ -803,11 +895,13 @@ bool JSONTransform::Transform(yyjson_val *vals[], yyjson_alc *alc, Vector &resul case LogicalTypeId::STRUCT: return TransformObjectInternal(vals, alc, result, count, options); case LogicalTypeId::LIST: - return TransformArray(vals, alc, result, count, options); + return TransformArrayToList(vals, alc, result, count, options); case LogicalTypeId::MAP: return TransformObjectToMap(vals, alc, result, count, options); case LogicalTypeId::UNION: return TransformValueIntoUnion(vals, alc, result, count, options); + case LogicalTypeId::ARRAY: + return TransformArrayToArray(vals, alc, result, count, options); default: throw NotImplementedException("Cannot read a value of type %s from a json file", result_type.ToString()); } @@ -862,7 +956,7 @@ static void GetTransformFunctionInternal(ScalarFunctionSet &set, const LogicalTy ScalarFunctionSet JSONFunctions::GetTransformFunction() { ScalarFunctionSet set("json_transform"); GetTransformFunctionInternal(set, LogicalType::VARCHAR); - GetTransformFunctionInternal(set, JSONCommon::JSONType()); + GetTransformFunctionInternal(set, LogicalType::JSON()); return set; } @@ -874,7 +968,7 @@ static void GetTransformStrictFunctionInternal(ScalarFunctionSet &set, const Log ScalarFunctionSet JSONFunctions::GetTransformStrictFunction() { ScalarFunctionSet set("json_transform_strict"); GetTransformStrictFunctionInternal(set, LogicalType::VARCHAR); - GetTransformStrictFunctionInternal(set, JSONCommon::JSONType()); + GetTransformStrictFunctionInternal(set, LogicalType::JSON()); return set; } @@ -914,6 +1008,9 @@ void JSONFunctions::RegisterJSONTransformCastFunctions(CastFunctionSet &casts) { case LogicalTypeId::UNION: target_type = LogicalType::UNION({{"any", LogicalType::ANY}}); break; + case LogicalTypeId::ARRAY: + target_type = LogicalType::ARRAY(LogicalType::ANY); + break; case LogicalTypeId::VARCHAR: // We skip this one here as it's handled in json_functions.cpp continue; @@ -922,7 +1019,7 @@ void JSONFunctions::RegisterJSONTransformCastFunctions(CastFunctionSet &casts) { } // Going from JSON to another type has the same cost as going from VARCHAR to that type const auto json_to_target_cost = casts.ImplicitCastCost(LogicalType::VARCHAR, target_type); - casts.RegisterCastFunction(JSONCommon::JSONType(), target_type, JSONToAnyCastBind, json_to_target_cost); + casts.RegisterCastFunction(LogicalType::JSON(), target_type, JSONToAnyCastBind, json_to_target_cost); } } diff --git a/extension/json/json_functions/json_type.cpp b/extension/json/json_functions/json_type.cpp index cc1d3ccd5350..b1e9dbcc2d46 100644 --- a/extension/json/json_functions/json_type.cpp +++ b/extension/json/json_functions/json_type.cpp @@ -31,7 +31,7 @@ static void GetTypeFunctionsInternal(ScalarFunctionSet &set, const LogicalType & ScalarFunctionSet JSONFunctions::GetTypeFunction() { ScalarFunctionSet set("json_type"); GetTypeFunctionsInternal(set, LogicalType::VARCHAR); - GetTypeFunctionsInternal(set, JSONCommon::JSONType()); + GetTypeFunctionsInternal(set, LogicalType::JSON()); return set; } diff --git a/extension/json/json_functions/json_valid.cpp b/extension/json/json_functions/json_valid.cpp index bd24a2ebd432..50c3071ccafb 100644 --- a/extension/json/json_functions/json_valid.cpp +++ b/extension/json/json_functions/json_valid.cpp @@ -19,7 +19,7 @@ static void GetValidFunctionInternal(ScalarFunctionSet &set, const LogicalType & ScalarFunctionSet JSONFunctions::GetValidFunction() { ScalarFunctionSet set("json_valid"); GetValidFunctionInternal(set, LogicalType::VARCHAR); - GetValidFunctionInternal(set, JSONCommon::JSONType()); + GetValidFunctionInternal(set, LogicalType::JSON()); return set; } diff --git a/extension/json/json_functions/read_json.cpp b/extension/json/json_functions/read_json.cpp index 238660a1e207..8b331c8a7c26 100644 --- a/extension/json/json_functions/read_json.cpp +++ b/extension/json/json_functions/read_json.cpp @@ -16,7 +16,7 @@ void JSONScan::AutoDetect(ClientContext &context, JSONScanData &bind_data, vecto ArenaAllocator allocator(BufferAllocator::Get(context)); Vector string_vector(LogicalType::VARCHAR); - // Loop through the files (if union_by_name, else just sample the first file) + // Loop through the files (if union_by_name, else sample up to sample_size rows or maximum_sample_files files) idx_t remaining = bind_data.sample_size; for (idx_t file_idx = 0; file_idx < bind_data.files.size(); file_idx++) { // Create global/local state and place the reader in the right field @@ -46,7 +46,7 @@ void JSONScan::AutoDetect(ClientContext &context, JSONScanData &bind_data, vecto if (!node.ContainsVarchar()) { // Can't refine non-VARCHAR types continue; } - node.InitializeCandidateTypes(bind_data.max_depth); + node.InitializeCandidateTypes(bind_data.max_depth, bind_data.convert_strings_to_integers); node.RefineCandidateTypes(lstate.values, next, string_vector, allocator, bind_data.date_format_map); remaining -= next; } @@ -59,8 +59,8 @@ void JSONScan::AutoDetect(ClientContext &context, JSONScanData &bind_data, vecto if (bind_data.options.file_options.union_by_name) { // When union_by_name=true we sample sample_size per file remaining = bind_data.sample_size; - } else if (remaining == 0) { - // When union_by_name=false, we sample sample_size in total (across the first files) + } else if (remaining == 0 || file_idx == bind_data.maximum_sample_files - 1) { + // When union_by_name=false, we sample sample_size in total (across the first maximum_sample_files files) break; } } @@ -69,7 +69,8 @@ void JSONScan::AutoDetect(ClientContext &context, JSONScanData &bind_data, vecto bind_data.type = JSONScanType::READ_JSON; // Convert structure to logical type - auto type = JSONStructure::StructureToType(context, node, bind_data.max_depth); + auto type = + JSONStructure::StructureToType(context, node, bind_data.max_depth, bind_data.field_appearance_threshold); // Auto-detect record type if (bind_data.options.record_type == JSONRecordType::AUTO_DETECT) { @@ -115,6 +116,9 @@ unique_ptr ReadJSONBind(ClientContext &context, TableFunctionBindI for (auto &kv : input.named_parameters) { auto loption = StringUtil::Lower(kv.first); + if (kv.second.IsNull()) { + throw BinderException("read_json parameter \"%s\" cannot be NULL.", loption); + } if (loption == "columns") { auto &child_type = kv.second.type(); if (child_type.id() != LogicalTypeId::STRUCT) { @@ -145,8 +149,8 @@ unique_ptr ReadJSONBind(ClientContext &context, TableFunctionBindI } else if (arg > 0) { bind_data->sample_size = arg; } else { - throw BinderException( - "read_json \"sample_size\" parameter must be positive, or -1 to sample the entire file."); + throw BinderException("read_json \"sample_size\" parameter must be positive, or -1 to sample all input " + "files entirely, up to \"maximum_sample_files\" files."); } } else if (loption == "maximum_depth") { auto arg = BigIntValue::Get(kv.second); @@ -155,6 +159,13 @@ unique_ptr ReadJSONBind(ClientContext &context, TableFunctionBindI } else { bind_data->max_depth = arg; } + } else if (loption == "field_appearance_threshold") { + auto arg = DoubleValue::Get(kv.second); + if (arg < 0 || arg > 1) { + throw BinderException( + "read_json_auto \"field_appearance_threshold\" parameter must be between 0 and 1"); + } + bind_data->field_appearance_threshold = arg; } else if (loption == "dateformat" || loption == "date_format") { auto format_string = StringValue::Get(kv.second); if (StringUtil::Lower(format_string) == "iso") { @@ -190,6 +201,18 @@ unique_ptr ReadJSONBind(ClientContext &context, TableFunctionBindI } else { throw BinderException("read_json requires \"records\" to be one of ['auto', 'true', 'false']."); } + } else if (loption == "maximum_sample_files") { + auto arg = BigIntValue::Get(kv.second); + if (arg == -1) { + bind_data->maximum_sample_files = NumericLimits::Maximum(); + } else if (arg > 0) { + bind_data->maximum_sample_files = arg; + } else { + throw BinderException("read_json \"maximum_sample_files\" parameter must be positive, or -1 to remove " + "the limit on the number of files used to sample \"sample_size\" rows."); + } + } else if (loption == "convert_strings_to_integers") { + bind_data->convert_strings_to_integers = BooleanValue::Get(kv.second); } } @@ -201,8 +224,8 @@ unique_ptr ReadJSONBind(ClientContext &context, TableFunctionBindI if (!bind_data->auto_detect) { // Need to specify columns if RECORDS and not auto-detecting if (return_types.empty()) { - throw BinderException("read_json requires columns to be specified through the \"columns\" parameter." - "\n Use read_json_auto or set auto_detect=true to automatically guess columns."); + throw BinderException("When auto_detect=false, read_json requires columns to be specified through the " + "\"columns\" parameter."); } // If we are reading VALUES, we can only have one column if (bind_data->options.record_type == JSONRecordType::VALUES && return_types.size() != 1) { @@ -305,6 +328,7 @@ TableFunction JSONFunctions::GetReadJSONTableFunction(shared_ptr f table_function.named_parameters["timestampformat"] = LogicalType::VARCHAR; table_function.named_parameters["timestamp_format"] = LogicalType::VARCHAR; table_function.named_parameters["records"] = LogicalType::VARCHAR; + table_function.named_parameters["maximum_sample_files"] = LogicalType::BIGINT; // TODO: might be able to do filter pushdown/prune ? @@ -313,36 +337,37 @@ TableFunction JSONFunctions::GetReadJSONTableFunction(shared_ptr f return table_function; } -TableFunctionSet CreateJSONFunctionInfo(string name, shared_ptr info, bool auto_function = false) { +TableFunctionSet CreateJSONFunctionInfo(string name, shared_ptr info) { auto table_function = JSONFunctions::GetReadJSONTableFunction(std::move(info)); table_function.name = std::move(name); - if (auto_function) { - table_function.named_parameters["maximum_depth"] = LogicalType::BIGINT; - } + table_function.named_parameters["maximum_depth"] = LogicalType::BIGINT; + table_function.named_parameters["field_appearance_threshold"] = LogicalType::DOUBLE; + table_function.named_parameters["convert_strings_to_integers"] = LogicalType::BOOLEAN; return MultiFileReader::CreateFunctionSet(table_function); } TableFunctionSet JSONFunctions::GetReadJSONFunction() { - auto info = make_shared(JSONScanType::READ_JSON, JSONFormat::ARRAY, JSONRecordType::RECORDS); + auto info = + make_shared(JSONScanType::READ_JSON, JSONFormat::AUTO_DETECT, JSONRecordType::AUTO_DETECT, true); return CreateJSONFunctionInfo("read_json", std::move(info)); } TableFunctionSet JSONFunctions::GetReadNDJSONFunction() { - auto info = - make_shared(JSONScanType::READ_JSON, JSONFormat::NEWLINE_DELIMITED, JSONRecordType::RECORDS); + auto info = make_shared(JSONScanType::READ_JSON, JSONFormat::NEWLINE_DELIMITED, + JSONRecordType::AUTO_DETECT, true); return CreateJSONFunctionInfo("read_ndjson", std::move(info)); } TableFunctionSet JSONFunctions::GetReadJSONAutoFunction() { auto info = make_shared(JSONScanType::READ_JSON, JSONFormat::AUTO_DETECT, JSONRecordType::AUTO_DETECT, true); - return CreateJSONFunctionInfo("read_json_auto", std::move(info), true); + return CreateJSONFunctionInfo("read_json_auto", std::move(info)); } TableFunctionSet JSONFunctions::GetReadNDJSONAutoFunction() { auto info = make_shared(JSONScanType::READ_JSON, JSONFormat::NEWLINE_DELIMITED, JSONRecordType::AUTO_DETECT, true); - return CreateJSONFunctionInfo("read_ndjson_auto", std::move(info), true); + return CreateJSONFunctionInfo("read_ndjson_auto", std::move(info)); } } // namespace duckdb diff --git a/extension/json/json_functions/read_json_objects.cpp b/extension/json/json_functions/read_json_objects.cpp index dab77ddbf209..197a6a34843b 100644 --- a/extension/json/json_functions/read_json_objects.cpp +++ b/extension/json/json_functions/read_json_objects.cpp @@ -10,7 +10,7 @@ unique_ptr ReadJSONObjectsBind(ClientContext &context, TableFuncti bind_data->Bind(context, input); bind_data->names.emplace_back("json"); - return_types.push_back(JSONCommon::JSONType()); + return_types.push_back(LogicalType::JSON()); names.emplace_back("json"); bind_data->reader_bind = diff --git a/extension/json/json_scan.cpp b/extension/json/json_scan.cpp index 1a2a0c839b54..f96d6c55eac6 100644 --- a/extension/json/json_scan.cpp +++ b/extension/json/json_scan.cpp @@ -146,8 +146,8 @@ JSONScanGlobalState::JSONScanGlobalState(ClientContext &context, const JSONScanD JSONScanLocalState::JSONScanLocalState(ClientContext &context, JSONScanGlobalState &gstate) : scan_count(0), batch_index(DConstants::INVALID_INDEX), total_read_size(0), total_tuple_count(0), - bind_data(gstate.bind_data), allocator(BufferAllocator::Get(context)), current_reader(nullptr), - current_buffer_handle(nullptr), is_last(false), buffer_size(0), buffer_offset(0), prev_buffer_remainder(0) { + bind_data(gstate.bind_data), allocator(BufferAllocator::Get(context)), is_last(false), + fs(FileSystem::GetFileSystem(context)), buffer_size(0), buffer_offset(0), prev_buffer_remainder(0) { // Buffer to reconstruct JSON values when they cross a buffer boundary reconstruct_buffer = gstate.allocator.Allocate(gstate.buffer_capacity); @@ -274,11 +274,11 @@ idx_t JSONScanLocalState::ReadNext(JSONScanGlobalState &gstate) { if (!ReadNextBuffer(gstate)) { break; } - D_ASSERT(buffer_size != 0); if (current_buffer_handle->buffer_index != 0 && current_reader->GetFormat() == JSONFormat::NEWLINE_DELIMITED) { - ReconstructFirstObject(); - scan_count++; + if (ReconstructFirstObject()) { + scan_count++; + } } } @@ -288,14 +288,14 @@ idx_t JSONScanLocalState::ReadNext(JSONScanGlobalState &gstate) { return scan_count; } -static inline const char *NextNewline(char *ptr, idx_t size) { - return char_ptr_cast(memchr(ptr, '\n', size)); +static inline const char *NextNewline(const char *ptr, const idx_t size) { + return const_char_ptr_cast(memchr(ptr, '\n', size)); } -static inline const char *PreviousNewline(const char *ptr) { - for (ptr--; true; ptr--) { - const auto &c = *ptr; - if (c == '\n') { +static inline const char *PreviousNewline(const char *ptr, const idx_t size) { + const auto end = ptr - size; + for (ptr--; ptr != end; ptr--) { + if (*ptr == '\n') { break; } } @@ -431,14 +431,9 @@ void JSONScanLocalState::ThrowObjectSizeError(const idx_t object_size) { bind_data.maximum_object_size, current_reader->GetFileName(), object_size); } -void JSONScanLocalState::ThrowInvalidAtEndError() { - throw InvalidInputException("Invalid JSON detected at the end of file \"%s\".", current_reader->GetFileName()); -} - void JSONScanLocalState::TryIncrementFileIndex(JSONScanGlobalState &gstate) const { - lock_guard guard(gstate.lock); if (gstate.file_index < gstate.json_readers.size() && - current_reader.get() == gstate.json_readers[gstate.file_index].get()) { + RefersToSameObject(*current_reader, *gstate.json_readers[gstate.file_index])) { gstate.file_index++; } } @@ -538,10 +533,10 @@ bool JSONScanLocalState::ReadNextBuffer(JSONScanGlobalState &gstate) { AllocatedData buffer; // Try to re-use a buffer that was used before - if (current_reader) { - current_reader->SetBufferLineOrObjectCount(current_buffer_handle->buffer_index, lines_or_objects_in_buffer); - if (current_buffer_handle && --current_buffer_handle->readers == 0) { - buffer = current_reader->RemoveBuffer(current_buffer_handle->buffer_index); + if (current_reader && current_buffer_handle) { + current_reader->SetBufferLineOrObjectCount(*current_buffer_handle, lines_or_objects_in_buffer); + if (--current_buffer_handle->readers == 0) { + buffer = current_reader->RemoveBuffer(*current_buffer_handle); } } @@ -559,69 +554,75 @@ bool JSONScanLocalState::ReadNextBuffer(JSONScanGlobalState &gstate) { optional_idx buffer_index; while (true) { - // Now we finish the current reader + // Continue with the current reader if (current_reader) { - // If we performed the final read of this reader in the previous iteration, close it now - if (is_last) { - TryIncrementFileIndex(gstate); - current_reader->CloseJSONFile(); - current_reader = nullptr; - continue; + // Try to read (if we were not the last read in the previous iteration) + bool file_done = false; + bool read_success = ReadNextBufferInternal(gstate, buffer_index, file_done); + if (!is_last && read_success) { + // We read something + if (buffer_index.GetIndex() == 0 && current_reader->GetFormat() == JSONFormat::ARRAY) { + SkipOverArrayStart(); + } } - // Try to read - ReadNextBufferInternal(gstate, buffer_index); - - // If this is the last read, end the parallel scan now so threads can move on - if (is_last && IsParallel(gstate)) { + if (file_done) { + lock_guard guard(gstate.lock); TryIncrementFileIndex(gstate); + current_reader->GetFileHandle().Close(); } - if (buffer_size == 0) { - // We didn't read anything, re-enter the loop - continue; - } else { - // We read something! + if (read_success) { break; } + + // We were the last reader last time, or we didn't read anything this time + current_reader = nullptr; + current_buffer_handle = nullptr; + is_last = false; } + D_ASSERT(!current_buffer_handle); // If we got here, we don't have a reader (anymore). Try to get one - is_last = false; - { - lock_guard guard(gstate.lock); - if (gstate.file_index == gstate.json_readers.size()) { - return false; // No more files left - } + unique_lock guard(gstate.lock); + if (gstate.file_index == gstate.json_readers.size()) { + return false; // No more files left + } - // Assign the next reader to this thread - current_reader = gstate.json_readers[gstate.file_index].get(); + // Assign the next reader to this thread + current_reader = gstate.json_readers[gstate.file_index].get(); - // Open the file if it is not yet open - if (!current_reader->IsOpen()) { - current_reader->OpenJSONFile(); - } - batch_index = gstate.batch_index++; + batch_index = gstate.batch_index++; + if (!gstate.enable_parallel_scans) { + // Non-parallel scans, increment file index and unlock + gstate.file_index++; + guard.unlock(); + } - // Auto-detect format / record type - if (gstate.enable_parallel_scans) { - // Auto-detect within the lock, so threads may join a parallel NDJSON scan - if (current_reader->GetFormat() == JSONFormat::AUTO_DETECT) { - ReadAndAutoDetect(gstate, buffer_index); + // Open the file if it is not yet open + if (!current_reader->IsOpen()) { + current_reader->OpenJSONFile(); + if (current_reader->GetFileHandle().FileSize() == 0) { + current_reader->GetFileHandle().Close(); + // Skip over empty files + if (gstate.enable_parallel_scans) { + TryIncrementFileIndex(gstate); } - } else { - gstate.file_index++; // Increment the file index before dropping lock so other threads move on + continue; } } - // If we didn't auto-detect within the lock, do it now - if (current_reader->GetFormat() == JSONFormat::AUTO_DETECT) { + // Auto-detect if we haven't yet done this during the bind + if (gstate.bind_data.options.record_type == JSONRecordType::AUTO_DETECT || + current_reader->GetFormat() == JSONFormat::AUTO_DETECT) { ReadAndAutoDetect(gstate, buffer_index); } - // If we haven't already, increment the file index if non-parallel scan - if (gstate.enable_parallel_scans && !IsParallel(gstate)) { - TryIncrementFileIndex(gstate); + if (gstate.enable_parallel_scans) { + if (!IsParallel(gstate)) { + // We still have the lock here if parallel scans are enabled + TryIncrementFileIndex(gstate); + } } if (!buffer_index.IsValid() || buffer_size == 0) { @@ -631,7 +632,6 @@ bool JSONScanLocalState::ReadNextBuffer(JSONScanGlobalState &gstate) { break; } - D_ASSERT(buffer_size != 0); // We should have read something if we got here D_ASSERT(buffer_index.IsValid()); idx_t readers = 1; @@ -656,13 +656,18 @@ bool JSONScanLocalState::ReadNextBuffer(JSONScanGlobalState &gstate) { void JSONScanLocalState::ReadAndAutoDetect(JSONScanGlobalState &gstate, optional_idx &buffer_index) { // We have to detect the JSON format - hold the gstate lock while we do this - ReadNextBufferInternal(gstate, buffer_index); + bool file_done = false; + if (!ReadNextBufferInternal(gstate, buffer_index, file_done)) { + return; + } if (buffer_size == 0) { return; } auto format_and_record_type = DetectFormatAndRecordType(buffer_ptr, buffer_size, allocator.GetYYAlc()); - current_reader->SetFormat(format_and_record_type.first); + if (current_reader->GetFormat() == JSONFormat::AUTO_DETECT) { + current_reader->SetFormat(format_and_record_type.first); + } if (current_reader->GetRecordType() == JSONRecordType::AUTO_DETECT) { current_reader->SetRecordType(format_and_record_type.second); } @@ -677,20 +682,24 @@ void JSONScanLocalState::ReadAndAutoDetect(JSONScanGlobalState &gstate, optional } } -void JSONScanLocalState::ReadNextBufferInternal(JSONScanGlobalState &gstate, optional_idx &buffer_index) { +bool JSONScanLocalState::ReadNextBufferInternal(JSONScanGlobalState &gstate, optional_idx &buffer_index, + bool &file_done) { if (current_reader->GetFileHandle().CanSeek()) { - ReadNextBufferSeek(gstate, buffer_index); + if (!ReadNextBufferSeek(gstate, buffer_index, file_done)) { + return false; + } } else { - ReadNextBufferNoSeek(gstate, buffer_index); + if (!ReadNextBufferNoSeek(gstate, buffer_index, file_done)) { + return false; + } } buffer_offset = 0; - if (buffer_index.GetIndex() == 0 && current_reader->GetFormat() == JSONFormat::ARRAY) { - SkipOverArrayStart(); - } + + return true; } -void JSONScanLocalState::ReadNextBufferSeek(JSONScanGlobalState &gstate, optional_idx &buffer_index) { +bool JSONScanLocalState::ReadNextBufferSeek(JSONScanGlobalState &gstate, optional_idx &buffer_index, bool &file_done) { auto &file_handle = current_reader->GetFileHandle(); idx_t request_size = gstate.buffer_capacity - prev_buffer_remainder - YYJSON_PADDING_SIZE; @@ -699,59 +708,61 @@ void JSONScanLocalState::ReadNextBufferSeek(JSONScanGlobalState &gstate, optiona { lock_guard reader_guard(current_reader->lock); - buffer_index = current_reader->GetBufferIndex(); - - read_size = file_handle.GetPositionAndSize(read_position, request_size); - is_last = read_size < request_size; - - if (!gstate.bind_data.ignore_errors && read_size == 0 && prev_buffer_remainder != 0) { - ThrowInvalidAtEndError(); + if (!file_handle.GetPositionAndSize(read_position, read_size, request_size)) { + return false; // We weren't able to read } + buffer_index = current_reader->GetBufferIndex(); + is_last = read_size == 0; - if (read_size != 0 && current_reader->GetFormat() == JSONFormat::NEWLINE_DELIMITED) { + if (current_reader->GetFormat() == JSONFormat::NEWLINE_DELIMITED) { batch_index = gstate.batch_index++; } } buffer_size = prev_buffer_remainder + read_size; - if (buffer_size == 0) { - current_reader->SetBufferLineOrObjectCount(buffer_index.GetIndex(), 0); - return; + + if (read_size != 0) { + auto &raw_handle = file_handle.GetHandle(); + // For non-on-disk files, we create a handle per thread: this is faster for e.g. S3Filesystem where throttling + // per tcp connection can occur meaning that using multiple connections is faster. + if (!raw_handle.OnDiskFile() && raw_handle.CanSeek()) { + if (!thread_local_filehandle || thread_local_filehandle->GetPath() != raw_handle.GetPath()) { + thread_local_filehandle = + fs.OpenFile(raw_handle.GetPath(), FileFlags::FILE_FLAGS_READ | FileFlags::FILE_FLAGS_DIRECT_IO); + } + } else if (thread_local_filehandle) { + thread_local_filehandle = nullptr; + } } // Now read the file lock-free! - file_handle.ReadAtPosition(buffer_ptr + prev_buffer_remainder, read_size, read_position, - gstate.bind_data.type == JSONScanType::SAMPLE); + file_handle.ReadAtPosition(buffer_ptr + prev_buffer_remainder, read_size, read_position, file_done, + gstate.bind_data.type == JSONScanType::SAMPLE, thread_local_filehandle); + + return true; } -void JSONScanLocalState::ReadNextBufferNoSeek(JSONScanGlobalState &gstate, optional_idx &buffer_index) { +bool JSONScanLocalState::ReadNextBufferNoSeek(JSONScanGlobalState &gstate, optional_idx &buffer_index, + bool &file_done) { idx_t request_size = gstate.buffer_capacity - prev_buffer_remainder - YYJSON_PADDING_SIZE; idx_t read_size; + { lock_guard reader_guard(current_reader->lock); - buffer_index = current_reader->GetBufferIndex(); - - if (current_reader->HasFileHandle() && current_reader->IsOpen()) { - read_size = current_reader->GetFileHandle().Read(buffer_ptr + prev_buffer_remainder, request_size, - gstate.bind_data.type == JSONScanType::SAMPLE); - is_last = read_size < request_size; - } else { - read_size = 0; - is_last = true; - } - - if (!gstate.bind_data.ignore_errors && read_size == 0 && prev_buffer_remainder != 0) { - ThrowInvalidAtEndError(); + if (!current_reader->HasFileHandle() || !current_reader->IsOpen() || + !current_reader->GetFileHandle().Read(buffer_ptr + prev_buffer_remainder, read_size, request_size, + file_done, gstate.bind_data.type == JSONScanType::SAMPLE)) { + return false; // Couldn't read anything } + buffer_index = current_reader->GetBufferIndex(); + is_last = read_size == 0; - if (read_size != 0 && current_reader->GetFormat() == JSONFormat::NEWLINE_DELIMITED) { + if (current_reader->GetFormat() == JSONFormat::NEWLINE_DELIMITED) { batch_index = gstate.batch_index++; } } buffer_size = prev_buffer_remainder + read_size; - if (buffer_size == 0) { - current_reader->SetBufferLineOrObjectCount(buffer_index.GetIndex(), 0); - return; - } + + return true; } void JSONScanLocalState::SkipOverArrayStart() { @@ -783,7 +794,7 @@ void JSONScanLocalState::SkipOverArrayStart() { } } -void JSONScanLocalState::ReconstructFirstObject() { +bool JSONScanLocalState::ReconstructFirstObject() { D_ASSERT(current_buffer_handle->buffer_index != 0); D_ASSERT(current_reader->GetFormat() == JSONFormat::NEWLINE_DELIMITED); @@ -795,37 +806,48 @@ void JSONScanLocalState::ReconstructFirstObject() { // First we find the newline in the previous block auto prev_buffer_ptr = char_ptr_cast(previous_buffer_handle->buffer.get()) + previous_buffer_handle->buffer_size; - auto part1_ptr = PreviousNewline(prev_buffer_ptr); + auto part1_ptr = PreviousNewline(prev_buffer_ptr, previous_buffer_handle->buffer_size); auto part1_size = prev_buffer_ptr - part1_ptr; // Now copy the data to our reconstruct buffer const auto reconstruct_ptr = reconstruct_buffer.get(); memcpy(reconstruct_ptr, part1_ptr, part1_size); - // Now find the newline in the current block - auto line_end = NextNewline(buffer_ptr, buffer_size); - if (line_end == nullptr) { - ThrowObjectSizeError(buffer_size - buffer_offset); - } else { - line_end++; + + // We copied the object, so we are no longer reading the previous buffer + if (--previous_buffer_handle->readers == 0) { + current_reader->RemoveBuffer(*previous_buffer_handle); } - idx_t part2_size = line_end - buffer_ptr; - idx_t line_size = part1_size + part2_size; - if (line_size > bind_data.maximum_object_size) { - ThrowObjectSizeError(line_size); + if (part1_size == 1) { + // Just a newline + return false; } - // And copy the remainder of the line to the reconstruct buffer - memcpy(reconstruct_ptr + part1_size, buffer_ptr, part2_size); - memset(reconstruct_ptr + line_size, 0, YYJSON_PADDING_SIZE); - buffer_offset += part2_size; + idx_t line_size = part1_size; + if (buffer_size != 0) { + // Now find the newline in the current block + auto line_end = NextNewline(buffer_ptr, buffer_size); + if (line_end == nullptr) { + ThrowObjectSizeError(buffer_size - buffer_offset); + } else { + line_end++; + } + idx_t part2_size = line_end - buffer_ptr; - // We copied the object, so we are no longer reading the previous buffer - if (--previous_buffer_handle->readers == 0) { - current_reader->RemoveBuffer(current_buffer_handle->buffer_index - 1); + line_size += part2_size; + if (line_size > bind_data.maximum_object_size) { + ThrowObjectSizeError(line_size); + } + + // And copy the remainder of the line to the reconstruct buffer + memcpy(reconstruct_ptr + part1_size, buffer_ptr, part2_size); + memset(reconstruct_ptr + line_size, 0, YYJSON_PADDING_SIZE); + buffer_offset += part2_size; } ParseJSON(char_ptr_cast(reconstruct_ptr), line_size, line_size); + + return true; } void JSONScanLocalState::ParseNextChunk() { @@ -846,7 +868,7 @@ void JSONScanLocalState::ParseNextChunk() { if (!is_last) { // Last bit of data belongs to the next batch if (format != JSONFormat::NEWLINE_DELIMITED) { - if (scan_count == 0) { + if (remaining > bind_data.maximum_object_size) { ThrowObjectSizeError(remaining); } memcpy(reconstruct_buffer.get(), json_start, remaining); diff --git a/extension/json/json_serializer.cpp b/extension/json/json_serializer.cpp index 2181d3a414f6..574351143b61 100644 --- a/extension/json/json_serializer.cpp +++ b/extension/json/json_serializer.cpp @@ -162,6 +162,15 @@ void JsonSerializer::WriteValue(hugeint_t value) { stack.pop_back(); } +void JsonSerializer::WriteValue(uhugeint_t value) { + auto val = yyjson_mut_obj(doc); + PushValue(val); + stack.push_back(val); + WriteProperty(100, "upper", value.upper); + WriteProperty(101, "lower", value.lower); + stack.pop_back(); +} + void JsonSerializer::WriteValue(float value) { auto val = yyjson_mut_real(doc, value); PushValue(val); diff --git a/extension/json/serialize_json.cpp b/extension/json/serialize_json.cpp index 9802488a89ec..c45ffc2f51ae 100644 --- a/extension/json/serialize_json.cpp +++ b/extension/json/serialize_json.cpp @@ -41,6 +41,9 @@ void JSONScanData::Serialize(Serializer &serializer) const { serializer.WritePropertyWithDefault>(110, "names", names); serializer.WritePropertyWithDefault(111, "date_format", GetDateFormat()); serializer.WritePropertyWithDefault(112, "timestamp_format", GetTimestampFormat()); + serializer.WritePropertyWithDefault(113, "field_appearance_threshold", field_appearance_threshold, 0.1); + serializer.WritePropertyWithDefault(114, "maximum_sample_files", maximum_sample_files, 32); + serializer.WritePropertyWithDefault(115, "convert_strings_to_integers", convert_strings_to_integers, false); } unique_ptr JSONScanData::Deserialize(Deserializer &deserializer) { @@ -68,6 +71,9 @@ unique_ptr JSONScanData::Deserialize(Deserializer &deserializer) { result->max_depth = max_depth; result->transform_options = transform_options; result->names = std::move(names); + deserializer.ReadPropertyWithDefault(113, "field_appearance_threshold", result->field_appearance_threshold, 0.1); + deserializer.ReadPropertyWithDefault(114, "maximum_sample_files", result->maximum_sample_files, 32); + deserializer.ReadPropertyWithDefault(115, "convert_strings_to_integers", result->convert_strings_to_integers, false); return result; } diff --git a/extension/parquet/CMakeLists.txt b/extension/parquet/CMakeLists.txt index 1ef3305093f4..ff9b061e0389 100644 --- a/extension/parquet/CMakeLists.txt +++ b/extension/parquet/CMakeLists.txt @@ -3,23 +3,29 @@ cmake_minimum_required(VERSION 3.5) project(ParquetExtension) include_directories( - include ../../third_party/parquet ../../third_party/snappy - ../../third_party/miniz ../../third_party/thrift - ../../third_party/zstd/include) + include + ../../third_party/parquet + ../../third_party/thrift + ../../third_party/snappy + ../../third_party/zstd/include + ../../third_party/mbedtls + ../../third_party/mbedtls/include) set(PARQUET_EXTENSION_FILES + column_reader.cpp column_writer.cpp + parquet_crypto.cpp parquet_extension.cpp parquet_metadata.cpp parquet_reader.cpp + parquet_statistics.cpp parquet_timestamp.cpp parquet_writer.cpp - parquet_statistics.cpp serialize_parquet.cpp - zstd_file_system.cpp - column_reader.cpp) + zstd_file_system.cpp) if(NOT CLANG_TIDY) + # parquet/thrift/snappy set(PARQUET_EXTENSION_FILES ${PARQUET_EXTENSION_FILES} ../../third_party/parquet/parquet_constants.cpp @@ -28,7 +34,10 @@ if(NOT CLANG_TIDY) ../../third_party/thrift/thrift/transport/TTransportException.cpp ../../third_party/thrift/thrift/transport/TBufferTransports.cpp ../../third_party/snappy/snappy.cc - ../../third_party/snappy/snappy-sinksource.cc + ../../third_party/snappy/snappy-sinksource.cc) + # zstd + set(PARQUET_EXTENSION_FILES + ${PARQUET_EXTENSION_FILES} ../../third_party/zstd/decompress/zstd_ddict.cpp ../../third_party/zstd/decompress/huf_decompress.cpp ../../third_party/zstd/decompress/zstd_decompress.cpp @@ -53,7 +62,6 @@ if(NOT CLANG_TIDY) endif() build_static_extension(parquet ${PARQUET_EXTENSION_FILES}) - set(PARAMETERS "-warnings") build_loadable_extension(parquet ${PARAMETERS} ${PARQUET_EXTENSION_FILES}) diff --git a/extension/parquet/column_reader.cpp b/extension/parquet/column_reader.cpp index 2c13b5f46e52..959850cf08b7 100644 --- a/extension/parquet/column_reader.cpp +++ b/extension/parquet/column_reader.cpp @@ -20,7 +20,6 @@ #ifndef DUCKDB_AMALGAMATION #include "duckdb/common/types/bit.hpp" #include "duckdb/common/types/blob.hpp" -#include "duckdb/common/types/chunk_collection.hpp" #endif namespace duckdb { @@ -181,11 +180,7 @@ idx_t ColumnReader::GroupRowsAvailable() { } unique_ptr ColumnReader::Stats(idx_t row_group_idx_p, const vector &columns) { - if (Type().id() == LogicalTypeId::LIST || Type().id() == LogicalTypeId::STRUCT || - Type().id() == LogicalTypeId::MAP) { - return nullptr; - } - return ParquetStatisticsUtils::TransformColumnStatistics(Schema(), Type(), columns[file_idx]); + return ParquetStatisticsUtils::TransformColumnStatistics(*this, columns); } void ColumnReader::Plain(shared_ptr plain_data, uint8_t *defines, idx_t num_values, // NOLINT @@ -246,7 +241,7 @@ void ColumnReader::PrepareRead(parquet_filter_t &filter) { bss_decoder.reset(); block.reset(); PageHeader page_hdr; - page_hdr.read(protocol); + reader.Read(page_hdr, *protocol); switch (page_hdr.type) { case PageType::DATA_PAGE_V2: @@ -287,7 +282,7 @@ void ColumnReader::PreparePageV2(PageHeader &page_hdr) { uncompressed = true; } if (uncompressed) { - trans.read(block->ptr, page_hdr.compressed_page_size); + reader.ReadData(*protocol, block->ptr, page_hdr.compressed_page_size); return; } @@ -299,7 +294,7 @@ void ColumnReader::PreparePageV2(PageHeader &page_hdr) { auto compressed_bytes = page_hdr.compressed_page_size - uncompressed_bytes; AllocateCompressed(compressed_bytes); - trans.read(compressed_buffer.ptr, compressed_bytes); + reader.ReadData(*protocol, compressed_buffer.ptr, compressed_bytes); DecompressInternal(chunk->meta_data.codec, compressed_buffer.ptr, compressed_bytes, block->ptr + uncompressed_bytes, page_hdr.uncompressed_page_size - uncompressed_bytes); @@ -318,19 +313,17 @@ void ColumnReader::AllocateCompressed(idx_t size) { } void ColumnReader::PreparePage(PageHeader &page_hdr) { - auto &trans = reinterpret_cast(*protocol->getTransport()); - AllocateBlock(page_hdr.uncompressed_page_size + 1); if (chunk->meta_data.codec == CompressionCodec::UNCOMPRESSED) { if (page_hdr.compressed_page_size != page_hdr.uncompressed_page_size) { throw std::runtime_error("Page size mismatch"); } - trans.read((uint8_t *)block->ptr, page_hdr.compressed_page_size); + reader.ReadData(*protocol, block->ptr, page_hdr.compressed_page_size); return; } AllocateCompressed(page_hdr.compressed_page_size + 1); - trans.read((uint8_t *)compressed_buffer.ptr, page_hdr.compressed_page_size); + reader.ReadData(*protocol, compressed_buffer.ptr, page_hdr.compressed_page_size); DecompressInternal(chunk->meta_data.codec, compressed_buffer.ptr, page_hdr.compressed_page_size, block->ptr, page_hdr.uncompressed_page_size); @@ -1139,8 +1132,8 @@ struct DecimalParquetValueConversion { byte_len = plain_data.read(); } plain_data.available(byte_len); - auto res = - ParquetDecimalUtils::ReadDecimalValue(const_data_ptr_cast(plain_data.ptr), byte_len); + auto res = ParquetDecimalUtils::ReadDecimalValue(const_data_ptr_cast(plain_data.ptr), + byte_len, reader.Schema()); plain_data.inc(byte_len); return res; @@ -1194,11 +1187,39 @@ static unique_ptr CreateDecimalReaderInternal(ParquetReader &reade case PhysicalType::INT128: return make_uniq>(reader, type_p, schema_p, file_idx_p, max_define, max_repeat); + case PhysicalType::DOUBLE: + return make_uniq>(reader, type_p, schema_p, file_idx_p, max_define, + max_repeat); default: throw InternalException("Unrecognized type for Decimal"); } } +template <> +double ParquetDecimalUtils::ReadDecimalValue(const_data_ptr_t pointer, idx_t size, + const duckdb_parquet::format::SchemaElement &schema_ele) { + double res = 0; + bool positive = (*pointer & 0x80) == 0; + for (idx_t i = 0; i < size; i += 8) { + auto byte_size = MinValue(sizeof(uint64_t), size - i); + uint64_t input = 0; + auto res_ptr = reinterpret_cast(&input); + for (idx_t k = 0; k < byte_size; k++) { + auto byte = pointer[i + k]; + res_ptr[sizeof(uint64_t) - k - 1] = positive ? byte : byte ^ 0xFF; + } + res *= double(NumericLimits::Maximum()) + 1; + res += input; + } + if (!positive) { + res += 1; + res /= pow(10, schema_ele.scale); + return -res; + } + res /= pow(10, schema_ele.scale); + return res; +} + unique_ptr ParquetDecimalUtils::CreateReader(ParquetReader &reader, const LogicalType &type_p, const SchemaElement &schema_p, idx_t file_idx_p, idx_t max_define, idx_t max_repeat) { @@ -1374,8 +1395,14 @@ unique_ptr ColumnReader::CreateReader(ParquetReader &reader, const return make_uniq>>( reader, type_p, schema_p, file_idx_p, max_define, max_repeat); case LogicalTypeId::DOUBLE: - return make_uniq>>( - reader, type_p, schema_p, file_idx_p, max_define, max_repeat); + switch (schema_p.type) { + case Type::BYTE_ARRAY: + case Type::FIXED_LEN_BYTE_ARRAY: + return ParquetDecimalUtils::CreateReader(reader, type_p, schema_p, file_idx_p, max_define, max_repeat); + default: + return make_uniq>>( + reader, type_p, schema_p, file_idx_p, max_define, max_repeat); + } case LogicalTypeId::TIMESTAMP: case LogicalTypeId::TIMESTAMP_TZ: switch (schema_p.type) { @@ -1437,11 +1464,18 @@ unique_ptr ColumnReader::CreateReader(ParquetReader &reader, const break; } } + throw NotImplementedException("Unsupported time encoding in Parquet file"); case LogicalTypeId::TIME_TZ: if (schema_p.__isset.logicalType && schema_p.logicalType.__isset.TIME) { - if (schema_p.logicalType.TIME.unit.__isset.MICROS) { + if (schema_p.logicalType.TIME.unit.__isset.MILLIS) { + return make_uniq>( + reader, type_p, schema_p, file_idx_p, max_define, max_repeat); + } else if (schema_p.logicalType.TIME.unit.__isset.MICROS) { return make_uniq>( reader, type_p, schema_p, file_idx_p, max_define, max_repeat); + } else if (schema_p.logicalType.TIME.unit.__isset.NANOS) { + return make_uniq>( + reader, type_p, schema_p, file_idx_p, max_define, max_repeat); } } else if (schema_p.__isset.converted_type) { switch (schema_p.converted_type) { @@ -1452,6 +1486,7 @@ unique_ptr ColumnReader::CreateReader(ParquetReader &reader, const break; } } + throw NotImplementedException("Unsupported time encoding in Parquet file"); case LogicalTypeId::BLOB: case LogicalTypeId::VARCHAR: return make_uniq(reader, type_p, schema_p, file_idx_p, max_define, max_repeat); diff --git a/extension/parquet/column_writer.cpp b/extension/parquet/column_writer.cpp index e9ef6e881894..bad4e9fac799 100644 --- a/extension/parquet/column_writer.cpp +++ b/extension/parquet/column_writer.cpp @@ -10,15 +10,15 @@ #include "duckdb/common/mutex.hpp" #include "duckdb/common/operator/comparison_operators.hpp" #include "duckdb/common/serializer/buffered_file_writer.hpp" +#include "duckdb/common/serializer/memory_stream.hpp" +#include "duckdb/common/serializer/write_stream.hpp" #include "duckdb/common/string_map_set.hpp" -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/common/types/date.hpp" #include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include "duckdb/common/types/string_heap.hpp" #include "duckdb/common/types/time.hpp" #include "duckdb/common/types/timestamp.hpp" -#include "duckdb/common/serializer/write_stream.hpp" -#include "duckdb/common/serializer/memory_stream.hpp" #endif #include "miniz_wrapper.hpp" @@ -644,6 +644,11 @@ void BasicColumnWriter::SetParquetStatistics(BasicColumnWriterState &state, column_chunk.meta_data.statistics.__isset.max_value = true; column_chunk.meta_data.__isset.statistics = true; } + if (HasDictionary(state)) { + column_chunk.meta_data.statistics.distinct_count = DictionarySize(state); + column_chunk.meta_data.statistics.__isset.distinct_count = true; + column_chunk.meta_data.__isset.statistics = true; + } for (const auto &write_info : state.write_info) { column_chunk.meta_data.encodings.push_back(write_info.page_header.data_page_header.encoding); } @@ -678,11 +683,11 @@ void BasicColumnWriter::FinalizeWrite(ColumnWriterState &state_p) { for (auto &write_info : state.write_info) { D_ASSERT(write_info.page_header.uncompressed_page_size > 0); auto header_start_offset = column_writer.GetTotalWritten(); - write_info.page_header.write(writer.GetProtocol()); + writer.Write(write_info.page_header); // total uncompressed size in the column chunk includes the header size (!) total_uncompressed_size += column_writer.GetTotalWritten() - header_start_offset; total_uncompressed_size += write_info.page_header.uncompressed_page_size; - column_writer.WriteData(write_info.compressed_data, write_info.compressed_size); + writer.WriteData(write_info.compressed_data, write_info.compressed_size); } column_chunk.meta_data.total_compressed_size = column_writer.GetTotalWritten() - start_offset; column_chunk.meta_data.total_uncompressed_size = total_uncompressed_size; @@ -819,6 +824,22 @@ struct ParquetHugeintOperator { } }; +struct ParquetUhugeintOperator { + template + static TGT Operation(SRC input) { + return Uhugeint::Cast(input); + } + + template + static unique_ptr InitializeStats() { + return make_uniq(); + } + + template + static void HandleStats(ColumnWriterStatistics *stats, SRC source_value, TGT target_value) { + } +}; + template static void TemplatedWritePlain(Vector &col, ColumnWriterStatistics *stats, idx_t chunk_start, idx_t chunk_end, ValidityMask &mask, WriteStream &ser) { @@ -1274,7 +1295,6 @@ class StringColumnWriter : public BasicColumnWriter { idx_t run_count = 0; auto strings = FlatVector::GetData(vector); for (idx_t i = 0; i < vcount; i++) { - if (parent && !parent->is_empty.empty() && parent->is_empty[parent_index + i]) { continue; } @@ -1993,6 +2013,9 @@ unique_ptr ColumnWriter::CreateWriterRecursive(vector>( writer, schema_idx, std::move(schema_path), max_repeat, max_define, can_have_nulls); + case LogicalTypeId::UHUGEINT: + return make_uniq>( + writer, schema_idx, std::move(schema_path), max_repeat, max_define, can_have_nulls); case LogicalTypeId::TIMESTAMP_NS: return make_uniq>( writer, schema_idx, std::move(schema_path), max_repeat, max_define, can_have_nulls); diff --git a/extension/parquet/include/column_reader.hpp b/extension/parquet/include/column_reader.hpp index 3d6491ceb6c0..f4e32f39102d 100644 --- a/extension/parquet/include/column_reader.hpp +++ b/extension/parquet/include/column_reader.hpp @@ -19,7 +19,6 @@ #ifndef DUCKDB_AMALGAMATION #include "duckdb/common/operator/cast_operators.hpp" -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/common/types/string_type.hpp" #include "duckdb/common/types/vector.hpp" #include "duckdb/common/types/vector_cache.hpp" diff --git a/extension/parquet/include/decode_utils.hpp b/extension/parquet/include/decode_utils.hpp index 1fb6bbc2222a..3b2829d612af 100644 --- a/extension/parquet/include/decode_utils.hpp +++ b/extension/parquet/include/decode_utils.hpp @@ -7,8 +7,8 @@ class ParquetDecodeUtils { public: template - static T ZigzagToInt(const T n) { - return (n >> 1) ^ -(n & 1); + static T ZigzagToInt(const uint64_t n) { + return T(n >> 1) ^ -T(n & 1); } static const uint64_t BITPACK_MASKS[]; diff --git a/extension/parquet/include/parquet.json b/extension/parquet/include/parquet.json index 6d0dcad10ee6..e73d919b12b5 100644 --- a/extension/parquet/include/parquet.json +++ b/extension/parquet/include/parquet.json @@ -1,4 +1,53 @@ [ + { + "class": "ParquetColumnDefinition", + "includes": [ + "parquet_reader.hpp" + ], + "members": [ + { + "id": 100, + "name": "field_id", + "type": "int32_t" + }, + { + "id": 101, + "name": "name", + "type": "string" + }, + { + "id": 103, + "name": "type", + "type": "LogicalType" + }, + { + "id": 104, + "name": "default_value", + "type": "Value" + } + ], + "pointer_type": "none" + }, + { + "class": "ParquetEncryptionConfig", + "includes": [ + "parquet_crypto.hpp" + ], + "members": [ + { + "id": 100, + "name": "footer_key", + "type": "string" + }, + { + "id": 101, + "name": "column_keys", + "type": "unordered_map" + } + ], + "pointer_type": "shared_ptr", + "constructor": ["$ClientContext"] + }, { "class": "ParquetOptions", "includes": [ @@ -19,6 +68,55 @@ "id": 102, "name": "file_options", "type": "MultiFileReaderOptions" + }, + { + "id": 103, + "name": "schema", + "type": "vector" + }, + { + "id": 104, + "name": "encryption_config", + "type": "shared_ptr", + "default": "nullptr" + } + ], + "pointer_type": "none" + }, + { + "class": "FieldID", + "includes": [ + "parquet_writer.hpp" + ], + "members": [ + { + "id": 100, + "name": "set", + "type": "bool" + }, + { + "id": 101, + "name": "field_id", + "type": "int32_t" + }, + { + "id": 102, + "name": "child_field_ids", + "type": "ChildFieldIDs" + } + ], + "pointer_type": "none" + }, + { + "class": "ChildFieldIDs", + "includes": [ + "parquet_writer.hpp" + ], + "members": [ + { + "id": 100, + "name": "ids", + "type": "unique_ptr>" } ], "pointer_type": "none" diff --git a/extension/parquet/include/parquet_crypto.hpp b/extension/parquet/include/parquet_crypto.hpp new file mode 100644 index 000000000000..3a3185dfe184 --- /dev/null +++ b/extension/parquet/include/parquet_crypto.hpp @@ -0,0 +1,87 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// parquet_crypto.hpp +// +// +//===----------------------------------------------------------------------===/ + +#pragma once + +#include "parquet_types.h" + +#ifndef DUCKDB_AMALGAMATION +#include "duckdb/storage/object_cache.hpp" +#endif + +namespace duckdb { + +using duckdb_apache::thrift::TBase; +using duckdb_apache::thrift::protocol::TProtocol; + +class BufferedFileWriter; + +class ParquetKeys : public ObjectCacheEntry { +public: + static ParquetKeys &Get(ClientContext &context); + +public: + void AddKey(const string &key_name, const string &key); + bool HasKey(const string &key_name) const; + const string &GetKey(const string &key_name) const; + +public: + static string ObjectType(); + string GetObjectType() override; + +private: + unordered_map keys; +}; + +class ParquetEncryptionConfig { +public: + explicit ParquetEncryptionConfig(ClientContext &context); + ParquetEncryptionConfig(ClientContext &context, const Value &arg); + +public: + static shared_ptr Create(ClientContext &context, const Value &arg); + const string &GetFooterKey() const; + +public: + void Serialize(Serializer &serializer) const; + static shared_ptr Deserialize(Deserializer &deserializer); + +private: + ClientContext &context; + //! Name of the key used for the footer + string footer_key; + //! Mapping from column name to key name + unordered_map column_keys; +}; + +class ParquetCrypto { +public: + //! Encrypted modules + static constexpr uint32_t LENGTH_BYTES = 4; + static constexpr uint32_t NONCE_BYTES = 12; + static constexpr uint32_t TAG_BYTES = 16; + + //! Block size we encrypt/decrypt + static constexpr uint32_t CRYPTO_BLOCK_SIZE = 4096; + +public: + //! Decrypt and read a Thrift object from the transport protocol + static uint32_t Read(TBase &object, TProtocol &iprot, const string &key); + //! Encrypt and write a Thrift object to the transport protocol + static uint32_t Write(const TBase &object, TProtocol &oprot, const string &key); + //! Decrypt and read a buffer + static uint32_t ReadData(TProtocol &iprot, const data_ptr_t buffer, const uint32_t buffer_size, const string &key); + //! Encrypt and write a buffer to a file + static uint32_t WriteData(TProtocol &oprot, const const_data_ptr_t buffer, const uint32_t buffer_size, + const string &key); + +public: + static void AddKey(ClientContext &context, const FunctionParameters ¶meters); +}; + +} // namespace duckdb diff --git a/extension/parquet/include/parquet_dbp_decoder.hpp b/extension/parquet/include/parquet_dbp_decoder.hpp index 601147a6ba77..c40c3c0268b5 100644 --- a/extension/parquet/include/parquet_dbp_decoder.hpp +++ b/extension/parquet/include/parquet_dbp_decoder.hpp @@ -10,7 +10,7 @@ class DbpDecoder { block_value_count = ParquetDecodeUtils::VarintDecode(buffer_); miniblocks_per_block = ParquetDecodeUtils::VarintDecode(buffer_); total_value_count = ParquetDecodeUtils::VarintDecode(buffer_); - start_value = ParquetDecodeUtils::ZigzagToInt(ParquetDecodeUtils::VarintDecode(buffer_)); + start_value = ParquetDecodeUtils::ZigzagToInt(ParquetDecodeUtils::VarintDecode(buffer_)); // some derivatives D_ASSERT(miniblocks_per_block > 0); @@ -61,7 +61,8 @@ class DbpDecoder { if (bitpack_pos > 0) { // have to eat the leftovers if any buffer_.inc(1); } - min_delta = ParquetDecodeUtils::ZigzagToInt(ParquetDecodeUtils::VarintDecode(buffer_)); + min_delta = + ParquetDecodeUtils::ZigzagToInt(ParquetDecodeUtils::VarintDecode(buffer_)); for (idx_t miniblock_idx = 0; miniblock_idx < miniblocks_per_block; miniblock_idx++) { miniblock_bit_widths[miniblock_idx] = buffer_.read(); // TODO what happens if width is 0? @@ -80,7 +81,7 @@ class DbpDecoder { ParquetDecodeUtils::BitUnpack(buffer_, bitpack_pos, &values[value_offset], read_now, miniblock_bit_widths[miniblock_offset]); for (idx_t i = value_offset; i < value_offset + read_now; i++) { - values[i] = ((i == 0) ? start_value : values[i - 1]) + min_delta + values[i]; + values[i] = T(uint64_t((i == 0) ? start_value : values[i - 1]) + min_delta + uint64_t(values[i])); } value_offset += read_now; values_left_in_miniblock -= read_now; diff --git a/extension/parquet/include/parquet_decimal_utils.hpp b/extension/parquet/include/parquet_decimal_utils.hpp index 33b253538f88..42debd2c7ee9 100644 --- a/extension/parquet/include/parquet_decimal_utils.hpp +++ b/extension/parquet/include/parquet_decimal_utils.hpp @@ -16,18 +16,27 @@ namespace duckdb { class ParquetDecimalUtils { public: template - static PHYSICAL_TYPE ReadDecimalValue(const_data_ptr_t pointer, idx_t size) { - D_ASSERT(size <= sizeof(PHYSICAL_TYPE)); + static PHYSICAL_TYPE ReadDecimalValue(const_data_ptr_t pointer, idx_t size, + const duckdb_parquet::format::SchemaElement &) { PHYSICAL_TYPE res = 0; auto res_ptr = (uint8_t *)&res; bool positive = (*pointer & 0x80) == 0; // numbers are stored as two's complement so some muckery is required - for (idx_t i = 0; i < size; i++) { + for (idx_t i = 0; i < MinValue(size, sizeof(PHYSICAL_TYPE)); i++) { auto byte = *(pointer + (size - i - 1)); res_ptr[i] = positive ? byte : byte ^ 0xFF; } + // Verify that there are only 0s here + if (size > sizeof(PHYSICAL_TYPE)) { + for (idx_t i = sizeof(PHYSICAL_TYPE); i < size; i++) { + auto byte = *(pointer + (size - i - 1)); + if (byte != 0) { + throw InvalidInputException("Invalid decimal encoding in Parquet file"); + } + } + } if (!positive) { res += 1; return -res; @@ -40,4 +49,8 @@ class ParquetDecimalUtils { idx_t max_repeat); }; +template <> +double ParquetDecimalUtils::ReadDecimalValue(const_data_ptr_t pointer, idx_t size, + const duckdb_parquet::format::SchemaElement &schema_ele); + } // namespace duckdb diff --git a/extension/parquet/include/parquet_metadata.hpp b/extension/parquet/include/parquet_metadata.hpp index f3666b5e1413..2310e1de80e2 100644 --- a/extension/parquet/include/parquet_metadata.hpp +++ b/extension/parquet/include/parquet_metadata.hpp @@ -23,4 +23,14 @@ class ParquetSchemaFunction : public TableFunction { ParquetSchemaFunction(); }; +class ParquetKeyValueMetadataFunction : public TableFunction { +public: + ParquetKeyValueMetadataFunction(); +}; + +class ParquetFileMetadataFunction : public TableFunction { +public: + ParquetFileMetadataFunction(); +}; + } // namespace duckdb diff --git a/extension/parquet/include/parquet_reader.hpp b/extension/parquet/include/parquet_reader.hpp index 736e5935a42a..3393749373c4 100644 --- a/extension/parquet/include/parquet_reader.hpp +++ b/extension/parquet/include/parquet_reader.hpp @@ -10,16 +10,16 @@ #include "duckdb.hpp" #ifndef DUCKDB_AMALGAMATION -#include "duckdb/planner/table_filter.hpp" -#include "duckdb/planner/filter/constant_filter.hpp" -#include "duckdb/planner/filter/null_filter.hpp" -#include "duckdb/planner/filter/conjunction_filter.hpp" #include "duckdb/common/common.hpp" #include "duckdb/common/exception.hpp" +#include "duckdb/common/multi_file_reader.hpp" +#include "duckdb/common/multi_file_reader_options.hpp" #include "duckdb/common/string_util.hpp" #include "duckdb/common/types/data_chunk.hpp" -#include "duckdb/common/multi_file_reader_options.hpp" -#include "duckdb/common/multi_file_reader.hpp" +#include "duckdb/planner/filter/conjunction_filter.hpp" +#include "duckdb/planner/filter/constant_filter.hpp" +#include "duckdb/planner/filter/null_filter.hpp" +#include "duckdb/planner/table_filter.hpp" #endif #include "column_reader.hpp" #include "parquet_file_metadata_cache.hpp" @@ -40,6 +40,7 @@ class Allocator; class ClientContext; class BaseStatistics; class TableFilterSet; +class ParquetEncryptionConfig; struct ParquetReaderPrefetchConfig { // Percentage of data in a row group span that should be scanned for enabling whole group prefetch @@ -64,6 +65,21 @@ struct ParquetReaderScanState { bool current_group_prefetched = false; }; +struct ParquetColumnDefinition { +public: + static ParquetColumnDefinition FromSchemaValue(ClientContext &context, const Value &column_value); + +public: + int32_t field_id; + string name; + LogicalType type; + Value default_value; + +public: + void Serialize(Serializer &serializer) const; + static ParquetColumnDefinition Deserialize(Deserializer &deserializer); +}; + struct ParquetOptions { explicit ParquetOptions() { } @@ -71,7 +87,10 @@ struct ParquetOptions { bool binary_as_string = false; bool file_row_number = false; + shared_ptr encryption_config; + MultiFileReaderOptions file_options; + vector schema; public: void Serialize(Serializer &serializer) const; @@ -95,6 +114,11 @@ class ParquetReader { MultiFileReaderData reader_data; unique_ptr root_reader; + //! Index of the file_row_number column + idx_t file_row_number_idx = DConstants::INVALID_INDEX; + //! Parquet schema for the generated columns + vector generated_column_schema; + public: void InitializeScan(ParquetReaderScanState &state, vector groups_to_read); void Scan(ParquetReaderScanState &state, DataChunk &output); @@ -104,6 +128,10 @@ class ParquetReader { const duckdb_parquet::format::FileMetaData *GetFileMetadata(); + uint32_t Read(duckdb_apache::thrift::TBase &object, TProtocol &iprot); + uint32_t ReadData(duckdb_apache::thrift::protocol::TProtocol &iprot, const data_ptr_t buffer, + const uint32_t buffer_size); + unique_ptr ReadStatistics(const string &name); static LogicalType DeriveLogicalType(const SchemaElement &s_ele, bool binary_as_string); diff --git a/extension/parquet/include/parquet_statistics.hpp b/extension/parquet/include/parquet_statistics.hpp index 23d5cf0dc15a..94ce194e2d5a 100644 --- a/extension/parquet/include/parquet_statistics.hpp +++ b/extension/parquet/include/parquet_statistics.hpp @@ -12,11 +12,12 @@ using duckdb_parquet::format::ColumnChunk; using duckdb_parquet::format::SchemaElement; struct LogicalType; +class ColumnReader; struct ParquetStatisticsUtils { - static unique_ptr TransformColumnStatistics(const SchemaElement &s_ele, const LogicalType &type, - const ColumnChunk &column_chunk); + static unique_ptr TransformColumnStatistics(const ColumnReader &reader, + const vector &columns); static Value ConvertValue(const LogicalType &type, const duckdb_parquet::format::SchemaElement &schema_ele, const std::string &stats); diff --git a/extension/parquet/include/parquet_timestamp.hpp b/extension/parquet/include/parquet_timestamp.hpp index 9aec990ff6fa..d9c33b4d75ac 100644 --- a/extension/parquet/include/parquet_timestamp.hpp +++ b/extension/parquet/include/parquet_timestamp.hpp @@ -25,6 +25,8 @@ date_t ParquetIntToDate(const int32_t &raw_date); dtime_t ParquetIntToTimeMs(const int32_t &raw_time); dtime_t ParquetIntToTime(const int64_t &raw_time); dtime_t ParquetIntToTimeNs(const int64_t &raw_time); +dtime_tz_t ParquetIntToTimeMsTZ(const int32_t &raw_time); dtime_tz_t ParquetIntToTimeTZ(const int64_t &raw_time); +dtime_tz_t ParquetIntToTimeNsTZ(const int64_t &raw_time); } // namespace duckdb diff --git a/extension/parquet/include/parquet_writer.hpp b/extension/parquet/include/parquet_writer.hpp index 5295a4bcab47..6b71b8196b26 100644 --- a/extension/parquet/include/parquet_writer.hpp +++ b/extension/parquet/include/parquet_writer.hpp @@ -25,6 +25,10 @@ namespace duckdb { class FileSystem; class FileOpener; +class ParquetEncryptionConfig; + +class Serializer; +class Deserializer; struct PreparedRowGroup { duckdb_parquet::format::RowGroup row_group; @@ -37,6 +41,9 @@ struct ChildFieldIDs { ChildFieldIDs(); ChildFieldIDs Copy() const; unique_ptr> ids; + + void Serialize(Serializer &serializer) const; + static ChildFieldIDs Deserialize(Deserializer &source); }; struct FieldID { @@ -47,12 +54,17 @@ struct FieldID { bool set; int32_t field_id; ChildFieldIDs child_field_ids; + + void Serialize(Serializer &serializer) const; + static FieldID Deserialize(Deserializer &source); }; class ParquetWriter { public: ParquetWriter(FileSystem &fs, string file_name, vector types, vector names, - duckdb_parquet::format::CompressionCodec::type codec, ChildFieldIDs field_ids); + duckdb_parquet::format::CompressionCodec::type codec, ChildFieldIDs field_ids, + const vector> &kv_metadata, + shared_ptr encryption_config); public: void PrepareRowGroup(ColumnDataCollection &buffer, PreparedRowGroup &result); @@ -75,9 +87,16 @@ class ParquetWriter { BufferedFileWriter &GetWriter() { return *writer; } + idx_t FileSize() { + lock_guard glock(lock); + return writer->total_written; + } static CopyTypeSupport TypeIsSupported(const LogicalType &type); + uint32_t Write(const duckdb_apache::thrift::TBase &object); + uint32_t WriteData(const const_data_ptr_t buffer, const uint32_t buffer_size); + private: static CopyTypeSupport DuckDBTypeToParquetTypeInternal(const LogicalType &duckdb_type, duckdb_parquet::format::Type::type &type); @@ -86,6 +105,7 @@ class ParquetWriter { vector column_names; duckdb_parquet::format::CompressionCodec::type codec; ChildFieldIDs field_ids; + shared_ptr encryption_config; unique_ptr writer; shared_ptr protocol; diff --git a/extension/parquet/parquet_config.py b/extension/parquet/parquet_config.py index a21a1ff1baaf..49ca7661b305 100644 --- a/extension/parquet/parquet_config.py +++ b/extension/parquet/parquet_config.py @@ -6,18 +6,34 @@ for x in [ 'extension/parquet/include', 'third_party/parquet', - 'third_party/snappy', 'third_party/thrift', + 'third_party/snappy', 'third_party/zstd/include', + 'third_party/mbedtls', + 'third_party/mbedtls/include', ] ] # source files source_files = [ os.path.sep.join(x.split('/')) for x in [ - 'extension/parquet/parquet_extension.cpp', + 'extension/parquet/column_reader.cpp', 'extension/parquet/column_writer.cpp', + 'extension/parquet/parquet_crypto.cpp', + 'extension/parquet/parquet_extension.cpp', + 'extension/parquet/parquet_metadata.cpp', + 'extension/parquet/parquet_reader.cpp', + 'extension/parquet/parquet_statistics.cpp', + 'extension/parquet/parquet_timestamp.cpp', + 'extension/parquet/parquet_writer.cpp', 'extension/parquet/serialize_parquet.cpp', + 'extension/parquet/zstd_file_system.cpp', + ] +] +# parquet/thrift/snappy +source_files += [ + os.path.sep.join(x.split('/')) + for x in [ 'third_party/parquet/parquet_constants.cpp', 'third_party/parquet/parquet_types.cpp', 'third_party/thrift/thrift/protocol/TProtocol.cpp', @@ -40,11 +56,6 @@ 'third_party/zstd/common/zstd_common.cpp', 'third_party/zstd/common/error_private.cpp', 'third_party/zstd/common/xxhash.cpp', - ] -] -source_files += [ - os.path.sep.join(x.split('/')) - for x in [ 'third_party/zstd/compress/fse_compress.cpp', 'third_party/zstd/compress/hist.cpp', 'third_party/zstd/compress/huf_compress.cpp', @@ -59,15 +70,3 @@ 'third_party/zstd/compress/zstd_opt.cpp', ] ] -source_files += [ - os.path.sep.join(x.split('/')) - for x in [ - 'extension/parquet/parquet_reader.cpp', - 'extension/parquet/parquet_timestamp.cpp', - 'extension/parquet/parquet_writer.cpp', - 'extension/parquet/column_reader.cpp', - 'extension/parquet/parquet_statistics.cpp', - 'extension/parquet/parquet_metadata.cpp', - 'extension/parquet/zstd_file_system.cpp', - ] -] diff --git a/extension/parquet/parquet_crypto.cpp b/extension/parquet/parquet_crypto.cpp new file mode 100644 index 000000000000..6982d366da4c --- /dev/null +++ b/extension/parquet/parquet_crypto.cpp @@ -0,0 +1,370 @@ +#include "parquet_crypto.hpp" + +#include "mbedtls_wrapper.hpp" +#include "thrift_tools.hpp" + +#ifndef DUCKDB_AMALGAMATION +#include "duckdb/common/common.hpp" +#include "duckdb/storage/arena_allocator.hpp" +#endif + +namespace duckdb { + +ParquetKeys &ParquetKeys::Get(ClientContext &context) { + auto &cache = ObjectCache::GetObjectCache(context); + if (!cache.Get(ParquetKeys::ObjectType())) { + cache.Put(ParquetKeys::ObjectType(), make_shared()); + } + return *cache.Get(ParquetKeys::ObjectType()); +} + +void ParquetKeys::AddKey(const string &key_name, const string &key) { + keys[key_name] = key; +} + +bool ParquetKeys::HasKey(const string &key_name) const { + return keys.find(key_name) != keys.end(); +} + +const string &ParquetKeys::GetKey(const string &key_name) const { + D_ASSERT(HasKey(key_name)); + return keys.at(key_name); +} + +string ParquetKeys::ObjectType() { + return "parquet_keys"; +} + +string ParquetKeys::GetObjectType() { + return ObjectType(); +} + +ParquetEncryptionConfig::ParquetEncryptionConfig(ClientContext &context_p) : context(context_p) { +} + +ParquetEncryptionConfig::ParquetEncryptionConfig(ClientContext &context_p, const Value &arg) + : ParquetEncryptionConfig(context_p) { + if (arg.type().id() != LogicalTypeId::STRUCT) { + throw BinderException("Parquet encryption_config must be of type STRUCT"); + } + const auto &child_types = StructType::GetChildTypes(arg.type()); + auto &children = StructValue::GetChildren(arg); + const auto &keys = ParquetKeys::Get(context); + for (idx_t i = 0; i < StructType::GetChildCount(arg.type()); i++) { + auto &struct_key = child_types[i].first; + if (StringUtil::Lower(struct_key) == "footer_key") { + const auto footer_key_name = StringValue::Get(children[i].DefaultCastAs(LogicalType::VARCHAR)); + if (!keys.HasKey(footer_key_name)) { + throw BinderException( + "No key with name \"%s\" exists. Add it with PRAGMA add_parquet_key('','');", + footer_key_name); + } + footer_key = footer_key_name; + } else if (StringUtil::Lower(struct_key) == "column_keys") { + throw NotImplementedException("Parquet encryption_config column_keys not yet implemented"); + } else { + throw BinderException("Unknown key in encryption_config \"%s\"", struct_key); + } + } +} + +shared_ptr ParquetEncryptionConfig::Create(ClientContext &context, const Value &arg) { + return shared_ptr(new ParquetEncryptionConfig(context, arg)); +} + +const string &ParquetEncryptionConfig::GetFooterKey() const { + const auto &keys = ParquetKeys::Get(context); + D_ASSERT(!footer_key.empty()); + D_ASSERT(keys.HasKey(footer_key)); + return keys.GetKey(footer_key); +} + +using duckdb_apache::thrift::transport::TTransport; +using AESGCMState = duckdb_mbedtls::MbedTlsWrapper::AESGCMState; +using duckdb_apache::thrift::protocol::TCompactProtocolFactoryT; + +static void GenerateNonce(const data_ptr_t nonce) { + duckdb_mbedtls::MbedTlsWrapper::GenerateRandomData(nonce, ParquetCrypto::NONCE_BYTES); +} + +//! Encryption wrapper for a transport protocol +class EncryptionTransport : public TTransport { +public: + EncryptionTransport(TProtocol &prot_p, const string &key) + : prot(prot_p), trans(*prot.getTransport()), aes(key), + allocator(Allocator::DefaultAllocator(), ParquetCrypto::CRYPTO_BLOCK_SIZE) { + Initialize(); + } + + bool isOpen() const override { + return trans.isOpen(); + } + + void open() override { + trans.open(); + } + + void close() override { + trans.close(); + } + + void write_virt(const uint8_t *buf, uint32_t len) override { + memcpy(allocator.Allocate(len), buf, len); + } + + uint32_t Finalize() { + // Write length + const auto ciphertext_length = allocator.SizeInBytes(); + const uint32_t total_length = ParquetCrypto::NONCE_BYTES + ciphertext_length + ParquetCrypto::TAG_BYTES; + trans.write(const_data_ptr_cast(&total_length), ParquetCrypto::LENGTH_BYTES); + + // Write nonce + trans.write(nonce, ParquetCrypto::NONCE_BYTES); + + // Encrypt and write data + data_t aes_buffer[ParquetCrypto::CRYPTO_BLOCK_SIZE]; + auto current = allocator.GetTail(); + while (current != nullptr) { + for (idx_t pos = 0; pos < current->current_position; pos += ParquetCrypto::CRYPTO_BLOCK_SIZE) { + auto next = MinValue(current->current_position - pos, ParquetCrypto::CRYPTO_BLOCK_SIZE); + auto write_size = + aes.Process(current->data.get() + pos, next, aes_buffer, ParquetCrypto::CRYPTO_BLOCK_SIZE); + trans.write(aes_buffer, write_size); + } + current = current->prev; + } + + // Finalize the last encrypted data and write tag + data_t tag[ParquetCrypto::TAG_BYTES]; + auto write_size = aes.Finalize(aes_buffer, ParquetCrypto::CRYPTO_BLOCK_SIZE, tag, ParquetCrypto::TAG_BYTES); + trans.write(aes_buffer, write_size); + trans.write(tag, ParquetCrypto::TAG_BYTES); + + return ParquetCrypto::LENGTH_BYTES + total_length; + } + +private: + void Initialize() { + // Generate nonce and initialize AES + GenerateNonce(nonce); + aes.InitializeEncryption(nonce, ParquetCrypto::NONCE_BYTES); + } + +private: + //! Protocol and corresponding transport that we're wrapping + TProtocol &prot; + TTransport &trans; + + //! AES context + AESGCMState aes; + + //! Nonce created by Initialize() + data_t nonce[ParquetCrypto::NONCE_BYTES]; + + //! Arena Allocator to fully materialize in memory before encrypting + ArenaAllocator allocator; +}; + +//! Decryption wrapper for a transport protocol +class DecryptionTransport : public TTransport { +public: + DecryptionTransport(TProtocol &prot_p, const string &key) + : prot(prot_p), trans(*prot.getTransport()), aes(key), read_buffer_size(0), read_buffer_offset(0) { + Initialize(); + } + + uint32_t read_virt(uint8_t *buf, uint32_t len) override { + const uint32_t result = len; + + if (len > transport_remaining - ParquetCrypto::TAG_BYTES + read_buffer_size - read_buffer_offset) { + throw InvalidInputException("Too many bytes requested from crypto buffer"); + } + + while (len != 0) { + if (read_buffer_offset == read_buffer_size) { + ReadBlock(); + } + const auto next = MinValue(read_buffer_size - read_buffer_offset, len); + memcpy(buf, read_buffer + read_buffer_offset, next); + read_buffer_offset += next; + buf += next; + len -= next; + } + + return result; + } + + uint32_t Finalize() { + if (read_buffer_offset != read_buffer_size) { + throw InternalException("DecryptionTransport::Finalize was called with bytes remaining in read buffer"); + } + + data_t computed_tag[ParquetCrypto::TAG_BYTES]; + if (aes.Finalize(read_buffer, AESGCMState::BLOCK_SIZE, computed_tag, ParquetCrypto::TAG_BYTES) != 0) { + throw InternalException("DecryptionTransport::Finalize was called with bytes remaining in AES context"); + } + + data_t read_tag[ParquetCrypto::TAG_BYTES]; + transport_remaining -= trans.read(read_tag, ParquetCrypto::TAG_BYTES); + if (memcmp(computed_tag, read_tag, ParquetCrypto::TAG_BYTES) != 0) { + throw InvalidInputException("Computed AES tag differs from read AES tag, are you using the right key?"); + } + + if (transport_remaining != 0) { + throw InvalidInputException("Encoded ciphertext length differs from actual ciphertext length"); + } + + return ParquetCrypto::LENGTH_BYTES + total_bytes; + } + + AllocatedData ReadAll() { + D_ASSERT(transport_remaining == total_bytes - ParquetCrypto::NONCE_BYTES); + auto result = Allocator::DefaultAllocator().Allocate(transport_remaining - ParquetCrypto::TAG_BYTES); + read_virt(result.get(), transport_remaining - ParquetCrypto::TAG_BYTES); + Finalize(); + return result; + } + +private: + void Initialize() { + // Read encoded length (don't add to read_bytes) + data_t length_buf[ParquetCrypto::LENGTH_BYTES]; + trans.read(length_buf, ParquetCrypto::LENGTH_BYTES); + total_bytes = Load(length_buf); + transport_remaining = total_bytes; + + // Read nonce and initialize AES + transport_remaining -= trans.read(nonce, ParquetCrypto::NONCE_BYTES); + aes.InitializeDecryption(nonce, ParquetCrypto::NONCE_BYTES); + } + + void ReadBlock() { + // Read from transport into read_buffer at one AES block size offset (up to the tag) + read_buffer_size = MinValue(ParquetCrypto::CRYPTO_BLOCK_SIZE, transport_remaining - ParquetCrypto::TAG_BYTES); + transport_remaining -= trans.read(read_buffer + AESGCMState::BLOCK_SIZE, read_buffer_size); + + // Decrypt from read_buffer + block size into read_buffer start (decryption can trail behind in same buffer) +#ifdef DEBUG + auto size = aes.Process(read_buffer + AESGCMState::BLOCK_SIZE, read_buffer_size, read_buffer, + ParquetCrypto::CRYPTO_BLOCK_SIZE + AESGCMState::BLOCK_SIZE); + D_ASSERT(size == read_buffer_size); +#else + aes.Process(read_buffer + AESGCMState::BLOCK_SIZE, read_buffer_size, read_buffer, + ParquetCrypto::CRYPTO_BLOCK_SIZE + AESGCMState::BLOCK_SIZE); +#endif + read_buffer_offset = 0; + } + +private: + //! Protocol and corresponding transport that we're wrapping + TProtocol &prot; + TTransport &trans; + + //! AES context and buffers + AESGCMState aes; + + //! We read/decrypt big blocks at a time + data_t read_buffer[ParquetCrypto::CRYPTO_BLOCK_SIZE + AESGCMState::BLOCK_SIZE]; + uint32_t read_buffer_size; + uint32_t read_buffer_offset; + + //! Remaining bytes to read, set by Initialize(), decremented by ReadBlock() + uint32_t total_bytes; + uint32_t transport_remaining; + //! Nonce read by Initialize() + data_t nonce[ParquetCrypto::NONCE_BYTES]; +}; + +class SimpleReadTransport : public TTransport { +public: + explicit SimpleReadTransport(data_ptr_t read_buffer_p, uint32_t read_buffer_size_p) + : read_buffer(read_buffer_p), read_buffer_size(read_buffer_size_p), read_buffer_offset(0) { + } + + uint32_t read_virt(uint8_t *buf, uint32_t len) override { + const auto remaining = read_buffer_size - read_buffer_offset; + if (len > remaining) { + return remaining; + } + memcpy(buf, read_buffer + read_buffer_offset, len); + read_buffer_offset += len; + return len; + } + +private: + const data_ptr_t read_buffer; + const uint32_t read_buffer_size; + uint32_t read_buffer_offset; +}; + +uint32_t ParquetCrypto::Read(TBase &object, TProtocol &iprot, const string &key) { + // Create decryption protocol + TCompactProtocolFactoryT tproto_factory; + auto dprot = tproto_factory.getProtocol(make_shared(iprot, key)); + auto &dtrans = reinterpret_cast(*dprot->getTransport()); + + // We have to read the whole thing otherwise thrift throws an error before we realize we're decryption is wrong + auto all = dtrans.ReadAll(); + TCompactProtocolFactoryT tsimple_proto_factory; + auto simple_prot = tsimple_proto_factory.getProtocol(make_shared(all.get(), all.GetSize())); + + // Read the object + object.read(simple_prot.get()); + + return ParquetCrypto::LENGTH_BYTES + ParquetCrypto::NONCE_BYTES + all.GetSize() + ParquetCrypto::TAG_BYTES; +} + +uint32_t ParquetCrypto::Write(const TBase &object, TProtocol &oprot, const string &key) { + // Create encryption protocol + TCompactProtocolFactoryT tproto_factory; + auto eprot = tproto_factory.getProtocol(make_shared(oprot, key)); + auto &etrans = reinterpret_cast(*eprot->getTransport()); + + // Write the object in memory + object.write(eprot.get()); + + // Encrypt and write to oprot + return etrans.Finalize(); +} + +uint32_t ParquetCrypto::ReadData(TProtocol &iprot, const data_ptr_t buffer, const uint32_t buffer_size, + const string &key) { + // Create decryption protocol + TCompactProtocolFactoryT tproto_factory; + auto dprot = tproto_factory.getProtocol(make_shared(iprot, key)); + auto &dtrans = reinterpret_cast(*dprot->getTransport()); + + // Read buffer + dtrans.read(buffer, buffer_size); + + // Verify AES tag and read length + return dtrans.Finalize(); +} + +uint32_t ParquetCrypto::WriteData(TProtocol &oprot, const const_data_ptr_t buffer, const uint32_t buffer_size, + const string &key) { + // FIXME: we know the size upfront so we could do a streaming write instead of this + // Create encryption protocol + TCompactProtocolFactoryT tproto_factory; + auto eprot = tproto_factory.getProtocol(make_shared(oprot, key)); + auto &etrans = reinterpret_cast(*eprot->getTransport()); + + // Write the data in memory + etrans.write(buffer, buffer_size); + + // Encrypt and write to oprot + return etrans.Finalize(); +} + +void ParquetCrypto::AddKey(ClientContext &context, const FunctionParameters ¶meters) { + const auto &key_name = StringValue::Get(parameters.values[0]); + const auto &key = StringValue::Get(parameters.values[1]); + if (!AESGCMState::ValidKey(key)) { + throw InvalidInputException( + "Invalid AES key. Must have a length of 128, 192, or 256 bits (16, 24, or 32 bytes)"); + } + auto &keys = ParquetKeys::Get(context); + keys.AddKey(key_name, key); +} + +} // namespace duckdb diff --git a/extension/parquet/parquet_extension.cpp b/extension/parquet/parquet_extension.cpp index d61ddafa7e9b..7a4f97a53984 100644 --- a/extension/parquet/parquet_extension.cpp +++ b/extension/parquet/parquet_extension.cpp @@ -2,10 +2,13 @@ #include "parquet_extension.hpp" +#include "cast_column_reader.hpp" #include "duckdb.hpp" +#include "parquet_crypto.hpp" #include "parquet_metadata.hpp" #include "parquet_reader.hpp" #include "parquet_writer.hpp" +#include "struct_column_reader.hpp" #include "zstd_file_system.hpp" #include @@ -22,8 +25,8 @@ #include "duckdb/common/multi_file_reader.hpp" #include "duckdb/common/serializer/deserializer.hpp" #include "duckdb/common/serializer/serializer.hpp" -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/function/copy_function.hpp" +#include "duckdb/function/pragma_function.hpp" #include "duckdb/function/table_function.hpp" #include "duckdb/main/client_context.hpp" #include "duckdb/main/config.hpp" @@ -118,12 +121,16 @@ struct ParquetWriteBindData : public TableFunctionData { vector sql_types; vector column_names; duckdb_parquet::format::CompressionCodec::type codec = duckdb_parquet::format::CompressionCodec::SNAPPY; + vector> kv_metadata; idx_t row_group_size = Storage::ROW_GROUP_SIZE; //! If row_group_size_bytes is not set, we default to row_group_size * BYTES_PER_ROW static constexpr const idx_t BYTES_PER_ROW = 1024; idx_t row_group_size_bytes; + //! How/Whether to encrypt the data + shared_ptr encryption_config; + ChildFieldIDs field_ids; }; @@ -141,7 +148,7 @@ struct ParquetWriteLocalState : public LocalFunctionData { ColumnDataAppendState append_state; }; -BindInfo ParquetGetBatchInfo(const FunctionData *bind_data) { +BindInfo ParquetGetBindInfo(const optional_ptr bind_data) { auto bind_info = BindInfo(ScanType::PARQUET); auto &parquet_bind = bind_data->Cast(); vector file_path; @@ -157,6 +164,138 @@ BindInfo ParquetGetBatchInfo(const FunctionData *bind_data) { return bind_info; } +static MultiFileReaderBindData BindSchema(ClientContext &context, vector &return_types, + vector &names, ParquetReadBindData &result, ParquetOptions &options) { + D_ASSERT(!options.schema.empty()); + auto &file_options = options.file_options; + if (file_options.union_by_name || file_options.hive_partitioning) { + throw BinderException("Parquet schema cannot be combined with union_by_name=true or hive_partitioning=true"); + } + + vector schema_col_names; + vector schema_col_types; + schema_col_names.reserve(options.schema.size()); + schema_col_types.reserve(options.schema.size()); + for (const auto &column : options.schema) { + schema_col_names.push_back(column.name); + schema_col_types.push_back(column.type); + } + + // perform the binding on the obtained set of names + types + auto bind_data = + MultiFileReader::BindOptions(options.file_options, result.files, schema_col_types, schema_col_names); + + names = schema_col_names; + return_types = schema_col_types; + D_ASSERT(names.size() == return_types.size()); + + if (options.file_row_number) { + if (std::find(names.begin(), names.end(), "file_row_number") != names.end()) { + throw BinderException( + "Using file_row_number option on file with column named file_row_number is not supported"); + } + + bind_data.file_row_number_idx = names.size(); + return_types.emplace_back(LogicalType::BIGINT); + names.emplace_back("file_row_number"); + } + + return bind_data; +} + +static void InitializeParquetReader(ParquetReader &reader, const ParquetReadBindData &bind_data, + const vector &global_column_ids, + optional_ptr table_filters, ClientContext &context) { + auto &parquet_options = bind_data.parquet_options; + auto &reader_data = reader.reader_data; + if (bind_data.parquet_options.schema.empty()) { + MultiFileReader::InitializeReader(reader, parquet_options.file_options, bind_data.reader_bind, bind_data.types, + bind_data.names, global_column_ids, table_filters, bind_data.files[0], + context); + return; + } + + // a fixed schema was supplied, initialize the MultiFileReader settings here so we can read using the schema + + // this deals with hive partitioning and filename=true + MultiFileReader::FinalizeBind(parquet_options.file_options, bind_data.reader_bind, reader.GetFileName(), + reader.GetNames(), bind_data.types, bind_data.names, global_column_ids, reader_data, + context); + + // create a mapping from field id to column index in file + unordered_map field_id_to_column_index; + auto &column_readers = reader.root_reader->Cast().child_readers; + for (idx_t column_index = 0; column_index < column_readers.size(); column_index++) { + auto &column_schema = column_readers[column_index]->Schema(); + if (column_schema.__isset.field_id) { + field_id_to_column_index[column_schema.field_id] = column_index; + } + } + + // loop through the schema definition + for (idx_t i = 0; i < global_column_ids.size(); i++) { + auto global_column_index = global_column_ids[i]; + + // check if this is a constant column + bool constant = false; + for (auto &entry : reader_data.constant_map) { + if (entry.column_id == i) { + constant = true; + break; + } + } + if (constant) { + // this column is constant for this file + continue; + } + + // Handle any generate columns that are not in the schema (currently only file_row_number) + if (global_column_index >= parquet_options.schema.size()) { + if (bind_data.reader_bind.file_row_number_idx == global_column_index) { + reader_data.column_mapping.push_back(i); + reader_data.column_ids.push_back(reader.file_row_number_idx); + } + continue; + } + + const auto &column_definition = parquet_options.schema[global_column_index]; + auto it = field_id_to_column_index.find(column_definition.field_id); + if (it == field_id_to_column_index.end()) { + // field id not present in file, use default value + reader_data.constant_map.emplace_back(i, column_definition.default_value); + continue; + } + + const auto &local_column_index = it->second; + auto &column_reader = column_readers[local_column_index]; + if (column_reader->Type() != column_definition.type) { + // differing types, wrap in a cast column reader + reader_data.cast_map[local_column_index] = column_definition.type; + } + + reader_data.column_mapping.push_back(i); + reader_data.column_ids.push_back(local_column_index); + } + reader_data.empty_columns = reader_data.column_ids.empty(); + + // Finally, initialize the filters + MultiFileReader::CreateFilterMap(bind_data.types, table_filters, reader_data); + reader_data.filters = table_filters; +} + +static bool GetBooleanArgument(const pair> &option) { + if (option.second.empty()) { + return true; + } + Value boolean_value; + string error_message; + if (!option.second[0].DefaultTryCastAs(LogicalType::BOOLEAN, boolean_value, &error_message)) { + throw InvalidInputException("Unable to cast \"%s\" to BOOLEAN for Parquet option \"%s\"", + option.second[0].ToString(), option.first); + } + return BooleanValue::Get(boolean_value); +} + class ParquetScanFunction { public: static TableFunctionSet GetFunctionSet() { @@ -168,11 +307,16 @@ class ParquetScanFunction { table_function.named_parameters["binary_as_string"] = LogicalType::BOOLEAN; table_function.named_parameters["file_row_number"] = LogicalType::BOOLEAN; table_function.named_parameters["compression"] = LogicalType::VARCHAR; + table_function.named_parameters["schema"] = + LogicalType::MAP(LogicalType::INTEGER, LogicalType::STRUCT({{{"name", LogicalType::VARCHAR}, + {"type", LogicalType::VARCHAR}, + {"default_value", LogicalType::VARCHAR}}})); + table_function.named_parameters["encryption_config"] = LogicalTypeId::ANY; MultiFileReader::AddParameters(table_function); table_function.get_batch_index = ParquetScanGetBatchIndex; table_function.serialize = ParquetScanSerialize; table_function.deserialize = ParquetScanDeserialize; - table_function.get_batch_info = ParquetGetBatchInfo; + table_function.get_bind_info = ParquetGetBindInfo; table_function.projection_pushdown = true; table_function.filter_pushdown = true; table_function.filter_prune = true; @@ -193,9 +337,14 @@ class ParquetScanFunction { // These options are determined from the file. continue; } else if (loption == "binary_as_string") { - parquet_options.binary_as_string = true; + parquet_options.binary_as_string = GetBooleanArgument(option); } else if (loption == "file_row_number") { - parquet_options.file_row_number = true; + parquet_options.file_row_number = GetBooleanArgument(option); + } else if (loption == "encryption_config") { + if (option.second.size() != 1) { + throw BinderException("Parquet encryption_config cannot be empty!"); + } + parquet_options.encryption_config = ParquetEncryptionConfig::Create(context, option.second[0]); } else { throw NotImplementedException("Unsupported option for COPY FROM parquet: %s", option.first); } @@ -271,8 +420,14 @@ class ParquetScanFunction { ParquetOptions parquet_options) { auto result = make_uniq(); result->files = std::move(files); - result->reader_bind = - MultiFileReader::BindReader(context, result->types, result->names, *result, parquet_options); + if (parquet_options.schema.empty()) { + result->reader_bind = MultiFileReader::BindReader(context, result->types, result->names, + *result, parquet_options); + } else { + // a schema was supplied + result->reader_bind = BindSchema(context, result->types, result->names, *result, parquet_options); + } + if (return_types.empty()) { // no expected types - just copy the types return_types = result->types; @@ -286,6 +441,7 @@ class ParquetScanFunction { // expected types - overwrite the types we want to read instead result->types = return_types; } + result->parquet_options = parquet_options; return std::move(result); } @@ -302,6 +458,23 @@ class ParquetScanFunction { parquet_options.binary_as_string = BooleanValue::Get(kv.second); } else if (loption == "file_row_number") { parquet_options.file_row_number = BooleanValue::Get(kv.second); + } else if (loption == "schema") { + // Argument is a map that defines the schema + const auto &schema_value = kv.second; + const auto column_values = ListValue::GetChildren(schema_value); + if (column_values.empty()) { + throw BinderException("Parquet schema cannot be empty"); + } + parquet_options.schema.reserve(column_values.size()); + for (idx_t i = 0; i < column_values.size(); i++) { + parquet_options.schema.emplace_back( + ParquetColumnDefinition::FromSchemaValue(context, column_values[i])); + } + + // cannot be combined with hive_partitioning=true, so we disable auto-detection + parquet_options.file_options.auto_detect_hive_partitioning = false; + } else if (loption == "encryption_config") { + parquet_options.encryption_config = ParquetEncryptionConfig::Create(context, kv.second); } } parquet_options.file_options.AutoDetectHivePartitioning(files, context); @@ -317,10 +490,9 @@ class ParquetScanFunction { if (bind_data.initial_file_cardinality == 0) { return (100.0 * (bind_data.cur_file + 1)) / bind_data.files.size(); } - auto percentage = (bind_data.chunk_count * STANDARD_VECTOR_SIZE * 100.0 / bind_data.initial_file_cardinality) / - bind_data.files.size(); - percentage += 100.0 * bind_data.cur_file / bind_data.files.size(); - return percentage; + auto percentage = std::min( + 100.0, (bind_data.chunk_count * STANDARD_VECTOR_SIZE * 100.0 / bind_data.initial_file_cardinality)); + return (percentage + 100.0 * bind_data.cur_file) / bind_data.files.size(); } static unique_ptr @@ -372,9 +544,7 @@ class ParquetScanFunction { if (!reader) { continue; } - MultiFileReader::InitializeReader(*reader, bind_data.parquet_options.file_options, bind_data.reader_bind, - bind_data.types, bind_data.names, input.column_ids, input.filters, - bind_data.files[0], context); + InitializeParquetReader(*reader, bind_data, input.column_ids, input.filters, context); } result->column_ids = input.column_ids; @@ -458,7 +628,10 @@ class ParquetScanFunction { static idx_t ParquetScanMaxThreads(ClientContext &context, const FunctionData *bind_data) { auto &data = bind_data->Cast(); - return data.initial_file_row_groups * data.files.size(); + if (data.files.size() > 1) { + return TaskScheduler::GetScheduler(context).NumberOfThreads(); + } + return MaxValue(data.initial_file_row_groups, (idx_t)1); } // This function looks for the next available row group. If not available, it will open files from bind_data.files @@ -569,10 +742,8 @@ class ParquetScanFunction { shared_ptr reader; try { reader = make_shared(context, file, pq_options); - MultiFileReader::InitializeReader(*reader, bind_data.parquet_options.file_options, - bind_data.reader_bind, bind_data.types, bind_data.names, - parallel_state.column_ids, parallel_state.filters, - bind_data.files.front(), context); + InitializeParquetReader(*reader, bind_data, parallel_state.column_ids, parallel_state.filters, + context); } catch (...) { parallel_lock.lock(); parallel_state.error_opening_file = true; @@ -740,12 +911,12 @@ static void GetFieldIDs(const Value &field_ids_value, ChildFieldIDs &field_ids, } } -unique_ptr ParquetWriteBind(ClientContext &context, const CopyInfo &info, const vector &names, - const vector &sql_types) { +unique_ptr ParquetWriteBind(ClientContext &context, CopyFunctionBindInput &input, + const vector &names, const vector &sql_types) { D_ASSERT(names.size() == sql_types.size()); bool row_group_size_bytes_set = false; auto bind_data = make_uniq(); - for (auto &option : info.options) { + for (auto &option : input.info.options) { const auto loption = StringUtil::Lower(option.first); if (option.second.size() != 1) { // All parquet write options require exactly one argument @@ -792,11 +963,37 @@ unique_ptr ParquetWriteBind(ClientContext &context, const CopyInfo } GetFieldIDs(option.second[0], bind_data->field_ids, unique_field_ids, name_to_type_map); } + } else if (loption == "kv_metadata") { + auto &kv_struct = option.second[0]; + auto &kv_struct_type = kv_struct.type(); + if (kv_struct_type.id() != LogicalTypeId::STRUCT) { + throw BinderException("Expected kv_metadata argument to be a STRUCT"); + } + auto values = StructValue::GetChildren(kv_struct); + for (idx_t i = 0; i < values.size(); i++) { + auto value = values[i]; + auto key = StructType::GetChildName(kv_struct_type, i); + // If the value is a blob, write the raw blob bytes + // otherwise, cast to string + if (value.type().id() == LogicalTypeId::BLOB) { + bind_data->kv_metadata.emplace_back(key, StringValue::Get(value)); + } else { + bind_data->kv_metadata.emplace_back(key, value.ToString()); + } + } + } else if (loption == "encryption_config") { + bind_data->encryption_config = ParquetEncryptionConfig::Create(context, option.second[0]); } else { throw NotImplementedException("Unrecognized option for PARQUET: %s", option.first.c_str()); } } - if (!row_group_size_bytes_set) { + if (row_group_size_bytes_set) { + if (DBConfig::GetConfig(context).options.preserve_insertion_order) { + throw BinderException("ROW_GROUP_SIZE_BYTES does not work while preserving insertion order. Use \"SET " + "preserve_insertion_order=false;\" to disable preserving insertion order."); + } + } else { + // We always set a max row group size bytes so we don't use too much memory bind_data->row_group_size_bytes = bind_data->row_group_size * ParquetWriteBindData::BYTES_PER_ROW; } @@ -812,7 +1009,8 @@ unique_ptr ParquetWriteInitializeGlobal(ClientContext &conte auto &fs = FileSystem::GetFileSystem(context); global_state->writer = make_uniq(fs, file_path, parquet_bind.sql_types, parquet_bind.column_names, - parquet_bind.codec, parquet_bind.field_ids.Copy()); + parquet_bind.codec, parquet_bind.field_ids.Copy(), + parquet_bind.kv_metadata, parquet_bind.encryption_config); return std::move(global_state); } @@ -920,6 +1118,11 @@ static void ParquetCopySerialize(Serializer &serializer, const FunctionData &bin serializer.WriteProperty(101, "column_names", bind_data.column_names); serializer.WriteProperty(102, "codec", bind_data.codec); serializer.WriteProperty(103, "row_group_size", bind_data.row_group_size); + serializer.WriteProperty(104, "row_group_size_bytes", bind_data.row_group_size_bytes); + serializer.WriteProperty(105, "kv_metadata", bind_data.kv_metadata); + serializer.WriteProperty(106, "field_ids", bind_data.field_ids); + serializer.WritePropertyWithDefault>(107, "encryption_config", + bind_data.encryption_config, nullptr); } static unique_ptr ParquetCopyDeserialize(Deserializer &deserializer, CopyFunction &function) { @@ -928,6 +1131,11 @@ static unique_ptr ParquetCopyDeserialize(Deserializer &deserialize data->column_names = deserializer.ReadProperty>(101, "column_names"); data->codec = deserializer.ReadProperty(102, "codec"); data->row_group_size = deserializer.ReadProperty(103, "row_group_size"); + data->row_group_size_bytes = deserializer.ReadProperty(104, "row_group_size_bytes"); + data->kv_metadata = deserializer.ReadProperty>>(105, "kv_metadata"); + data->field_ids = deserializer.ReadProperty(106, "field_ids"); + deserializer.ReadPropertyWithDefault>(107, "encryption_config", + data->encryption_config, nullptr); return std::move(data); } // LCOV_EXCL_STOP @@ -978,6 +1186,14 @@ idx_t ParquetWriteDesiredBatchSize(ClientContext &context, FunctionData &bind_da return bind_data.row_group_size; } +//===--------------------------------------------------------------------===// +// Current File Size +//===--------------------------------------------------------------------===// +idx_t ParquetWriteFileSize(GlobalFunctionData &gstate) { + auto &global_state = gstate.Cast(); + return global_state.writer->FileSize(); +} + //===--------------------------------------------------------------------===// // Scan Replacement //===--------------------------------------------------------------------===// @@ -1018,6 +1234,14 @@ void ParquetExtension::Load(DuckDB &db) { ParquetSchemaFunction schema_fun; ExtensionUtil::RegisterFunction(db_instance, MultiFileReader::CreateFunctionSet(schema_fun)); + // parquet_key_value_metadata + ParquetKeyValueMetadataFunction kv_meta_fun; + ExtensionUtil::RegisterFunction(db_instance, MultiFileReader::CreateFunctionSet(kv_meta_fun)); + + // parquet_file_metadata + ParquetFileMetadataFunction file_meta_fun; + ExtensionUtil::RegisterFunction(db_instance, MultiFileReader::CreateFunctionSet(file_meta_fun)); + CopyFunction function("parquet"); function.copy_to_bind = ParquetWriteBind; function.copy_to_initialize_global = ParquetWriteInitializeGlobal; @@ -1031,6 +1255,7 @@ void ParquetExtension::Load(DuckDB &db) { function.prepare_batch = ParquetWritePrepareBatch; function.flush_batch = ParquetWriteFlushBatch; function.desired_batch_size = ParquetWriteDesiredBatchSize; + function.file_size_bytes = ParquetWriteFileSize; function.serialize = ParquetCopySerialize; function.deserialize = ParquetCopyDeserialize; function.supports_type = ParquetWriter::TypeIsSupported; @@ -1038,6 +1263,11 @@ void ParquetExtension::Load(DuckDB &db) { function.extension = "parquet"; ExtensionUtil::RegisterFunction(db_instance, function); + // parquet_key + auto parquet_key_fun = PragmaFunction::PragmaCall("add_parquet_key", ParquetCrypto::AddKey, + {LogicalType::VARCHAR, LogicalType::VARCHAR}); + ExtensionUtil::RegisterFunction(db_instance, parquet_key_fun); + auto &config = DBConfig::GetConfig(*db.instance); config.replacement_scans.emplace_back(ParquetScanReplacement); config.AddExtensionOption("binary_as_string", "In Parquet files, interpret binary data as a string.", diff --git a/extension/parquet/parquet_metadata.cpp b/extension/parquet/parquet_metadata.cpp index f37194291226..618d57e52ac2 100644 --- a/extension/parquet/parquet_metadata.cpp +++ b/extension/parquet/parquet_metadata.cpp @@ -24,6 +24,8 @@ struct ParquetMetaDataBindData : public TableFunctionData { } }; +enum class ParquetMetadataOperatorType { META_DATA, SCHEMA, KEY_VALUE_META_DATA, FILE_META_DATA }; + struct ParquetMetaDataOperatorData : public GlobalTableFunctionState { explicit ParquetMetaDataOperatorData(ClientContext &context, const vector &types) : collection(context, types) { @@ -36,9 +38,13 @@ struct ParquetMetaDataOperatorData : public GlobalTableFunctionState { public: static void BindMetaData(vector &return_types, vector &names); static void BindSchema(vector &return_types, vector &names); + static void BindKeyValueMetaData(vector &return_types, vector &names); + static void BindFileMetaData(vector &return_types, vector &names); - void LoadFileMetaData(ClientContext &context, const vector &return_types, const string &file_path); + void LoadRowGroupMetadata(ClientContext &context, const vector &return_types, const string &file_path); void LoadSchemaData(ClientContext &context, const vector &return_types, const string &file_path); + void LoadKeyValueMetaData(ClientContext &context, const vector &return_types, const string &file_path); + void LoadFileMetaData(ClientContext &context, const vector &return_types, const string &file_path); }; template @@ -63,6 +69,13 @@ Value ParquetElementString(T &&value, bool is_set) { return Value(ConvertParquetElementToString(value)); } +Value ParquetElementStringVal(const string &value, bool is_set) { + if (!is_set) { + return Value(); + } + return Value(value); +} + template Value ParquetElementInteger(T &&value, bool is_iset) { if (!is_iset) { @@ -79,6 +92,9 @@ Value ParquetElementBigint(T &&value, bool is_iset) { return Value::BIGINT(value); } +//===--------------------------------------------------------------------===// +// Row Group Meta Data +//===--------------------------------------------------------------------===// void ParquetMetaDataOperatorData::BindMetaData(vector &return_types, vector &names) { names.emplace_back("file_name"); return_types.emplace_back(LogicalType::VARCHAR); @@ -148,6 +164,9 @@ void ParquetMetaDataOperatorData::BindMetaData(vector &return_types names.emplace_back("total_uncompressed_size"); return_types.emplace_back(LogicalType::BIGINT); + + names.emplace_back("key_value_metadata"); + return_types.emplace_back(LogicalType::MAP(LogicalType::BLOB, LogicalType::BLOB)); } Value ConvertParquetStats(const LogicalType &type, const duckdb_parquet::format::SchemaElement &schema_ele, @@ -158,8 +177,8 @@ Value ConvertParquetStats(const LogicalType &type, const duckdb_parquet::format: return ParquetStatisticsUtils::ConvertValue(type, schema_ele, stats).DefaultCastAs(LogicalType::VARCHAR); } -void ParquetMetaDataOperatorData::LoadFileMetaData(ClientContext &context, const vector &return_types, - const string &file_path) { +void ParquetMetaDataOperatorData::LoadRowGroupMetadata(ClientContext &context, const vector &return_types, + const string &file_path) { collection.Reset(); ParquetOptions parquet_options(context); auto reader = make_uniq(context, file_path, parquet_options); @@ -272,6 +291,16 @@ void ParquetMetaDataOperatorData::LoadFileMetaData(ClientContext &context, const // total_uncompressed_size, LogicalType::BIGINT current_chunk.SetValue(22, count, Value::BIGINT(col_meta.total_uncompressed_size)); + // key_value_metadata, LogicalType::MAP(LogicalType::BLOB, LogicalType::BLOB) + vector map_keys, map_values; + for (auto &entry : col_meta.key_value_metadata) { + map_keys.push_back(Value::BLOB_RAW(entry.key)); + map_values.push_back(Value::BLOB_RAW(entry.value)); + } + current_chunk.SetValue( + 23, count, + Value::MAP(LogicalType::BLOB, LogicalType::BLOB, std::move(map_keys), std::move(map_values))); + count++; if (count >= STANDARD_VECTOR_SIZE) { current_chunk.SetCardinality(count); @@ -288,6 +317,9 @@ void ParquetMetaDataOperatorData::LoadFileMetaData(ClientContext &context, const collection.InitializeScan(scan_state); } +//===--------------------------------------------------------------------===// +// Schema Data +//===--------------------------------------------------------------------===// void ParquetMetaDataOperatorData::BindSchema(vector &return_types, vector &names) { names.emplace_back("file_name"); return_types.emplace_back(LogicalType::VARCHAR); @@ -429,13 +461,129 @@ void ParquetMetaDataOperatorData::LoadSchemaData(ClientContext &context, const v collection.InitializeScan(scan_state); } -template +//===--------------------------------------------------------------------===// +// KV Meta Data +//===--------------------------------------------------------------------===// +void ParquetMetaDataOperatorData::BindKeyValueMetaData(vector &return_types, vector &names) { + names.emplace_back("file_name"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("key"); + return_types.emplace_back(LogicalType::BLOB); + + names.emplace_back("value"); + return_types.emplace_back(LogicalType::BLOB); +} + +void ParquetMetaDataOperatorData::LoadKeyValueMetaData(ClientContext &context, const vector &return_types, + const string &file_path) { + collection.Reset(); + ParquetOptions parquet_options(context); + auto reader = make_uniq(context, file_path, parquet_options); + idx_t count = 0; + DataChunk current_chunk; + current_chunk.Initialize(context, return_types); + auto meta_data = reader->GetFileMetadata(); + + for (idx_t col_idx = 0; col_idx < meta_data->key_value_metadata.size(); col_idx++) { + auto &entry = meta_data->key_value_metadata[col_idx]; + + current_chunk.SetValue(0, count, Value(file_path)); + current_chunk.SetValue(1, count, Value::BLOB_RAW(entry.key)); + current_chunk.SetValue(2, count, Value::BLOB_RAW(entry.value)); + + count++; + if (count >= STANDARD_VECTOR_SIZE) { + current_chunk.SetCardinality(count); + collection.Append(current_chunk); + + count = 0; + current_chunk.Reset(); + } + } + current_chunk.SetCardinality(count); + collection.Append(current_chunk); + collection.InitializeScan(scan_state); +} + +//===--------------------------------------------------------------------===// +// File Meta Data +//===--------------------------------------------------------------------===// +void ParquetMetaDataOperatorData::BindFileMetaData(vector &return_types, vector &names) { + names.emplace_back("file_name"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("created_by"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("num_rows"); + return_types.emplace_back(LogicalType::BIGINT); + + names.emplace_back("num_row_groups"); + return_types.emplace_back(LogicalType::BIGINT); + + names.emplace_back("format_version"); + return_types.emplace_back(LogicalType::BIGINT); + + names.emplace_back("encryption_algorithm"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("footer_signing_key_metadata"); + return_types.emplace_back(LogicalType::VARCHAR); +} + +void ParquetMetaDataOperatorData::LoadFileMetaData(ClientContext &context, const vector &return_types, + const string &file_path) { + collection.Reset(); + ParquetOptions parquet_options(context); + auto reader = make_uniq(context, file_path, parquet_options); + DataChunk current_chunk; + current_chunk.Initialize(context, return_types); + auto meta_data = reader->GetFileMetadata(); + + // file_name + current_chunk.SetValue(0, 0, Value(file_path)); + // created_by + current_chunk.SetValue(1, 0, ParquetElementStringVal(meta_data->created_by, meta_data->__isset.created_by)); + // num_rows + current_chunk.SetValue(2, 0, Value::BIGINT(meta_data->num_rows)); + // num_row_groups + current_chunk.SetValue(3, 0, Value::BIGINT(meta_data->row_groups.size())); + // format_version + current_chunk.SetValue(4, 0, Value::BIGINT(meta_data->version)); + // encryption_algorithm + current_chunk.SetValue( + 5, 0, ParquetElementString(meta_data->encryption_algorithm, meta_data->__isset.encryption_algorithm)); + // footer_signing_key_metadata + current_chunk.SetValue(6, 0, + ParquetElementStringVal(meta_data->footer_signing_key_metadata, + meta_data->__isset.footer_signing_key_metadata)); + current_chunk.SetCardinality(1); + collection.Append(current_chunk); + collection.InitializeScan(scan_state); +} + +//===--------------------------------------------------------------------===// +// Bind +//===--------------------------------------------------------------------===// +template unique_ptr ParquetMetaDataBind(ClientContext &context, TableFunctionBindInput &input, vector &return_types, vector &names) { - if (SCHEMA) { + switch (TYPE) { + case ParquetMetadataOperatorType::SCHEMA: ParquetMetaDataOperatorData::BindSchema(return_types, names); - } else { + break; + case ParquetMetadataOperatorType::META_DATA: ParquetMetaDataOperatorData::BindMetaData(return_types, names); + break; + case ParquetMetadataOperatorType::KEY_VALUE_META_DATA: + ParquetMetaDataOperatorData::BindKeyValueMetaData(return_types, names); + break; + case ParquetMetadataOperatorType::FILE_META_DATA: + ParquetMetaDataOperatorData::BindFileMetaData(return_types, names); + break; + default: + throw InternalException("Unsupported ParquetMetadataOperatorType"); } auto result = make_uniq(); @@ -444,22 +592,33 @@ unique_ptr ParquetMetaDataBind(ClientContext &context, TableFuncti return std::move(result); } -template +template unique_ptr ParquetMetaDataInit(ClientContext &context, TableFunctionInitInput &input) { auto &bind_data = input.bind_data->Cast(); D_ASSERT(!bind_data.files.empty()); auto result = make_uniq(context, bind_data.return_types); - if (SCHEMA) { + switch (TYPE) { + case ParquetMetadataOperatorType::SCHEMA: result->LoadSchemaData(context, bind_data.return_types, bind_data.files[0]); - } else { + break; + case ParquetMetadataOperatorType::META_DATA: + result->LoadRowGroupMetadata(context, bind_data.return_types, bind_data.files[0]); + break; + case ParquetMetadataOperatorType::KEY_VALUE_META_DATA: + result->LoadKeyValueMetaData(context, bind_data.return_types, bind_data.files[0]); + break; + case ParquetMetadataOperatorType::FILE_META_DATA: result->LoadFileMetaData(context, bind_data.return_types, bind_data.files[0]); + break; + default: + throw InternalException("Unsupported ParquetMetadataOperatorType"); } result->file_index = 0; return std::move(result); } -template +template void ParquetMetaDataImplementation(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) { auto &data = data_p.global_state->Cast(); auto &bind_data = data_p.bind_data->Cast(); @@ -469,10 +628,21 @@ void ParquetMetaDataImplementation(ClientContext &context, TableFunctionInput &d if (data.file_index + 1 < bind_data.files.size()) { // load the metadata for the next file data.file_index++; - if (SCHEMA) { + switch (TYPE) { + case ParquetMetadataOperatorType::SCHEMA: data.LoadSchemaData(context, bind_data.return_types, bind_data.files[data.file_index]); - } else { + break; + case ParquetMetadataOperatorType::META_DATA: + data.LoadRowGroupMetadata(context, bind_data.return_types, bind_data.files[data.file_index]); + break; + case ParquetMetadataOperatorType::KEY_VALUE_META_DATA: + data.LoadKeyValueMetaData(context, bind_data.return_types, bind_data.files[data.file_index]); + break; + case ParquetMetadataOperatorType::FILE_META_DATA: data.LoadFileMetaData(context, bind_data.return_types, bind_data.files[data.file_index]); + break; + default: + throw InternalException("Unsupported ParquetMetadataOperatorType"); } continue; } else { @@ -487,13 +657,31 @@ void ParquetMetaDataImplementation(ClientContext &context, TableFunctionInput &d } ParquetMetaDataFunction::ParquetMetaDataFunction() - : TableFunction("parquet_metadata", {LogicalType::VARCHAR}, ParquetMetaDataImplementation, - ParquetMetaDataBind, ParquetMetaDataInit) { + : TableFunction("parquet_metadata", {LogicalType::VARCHAR}, + ParquetMetaDataImplementation, + ParquetMetaDataBind, + ParquetMetaDataInit) { } ParquetSchemaFunction::ParquetSchemaFunction() - : TableFunction("parquet_schema", {LogicalType::VARCHAR}, ParquetMetaDataImplementation, - ParquetMetaDataBind, ParquetMetaDataInit) { + : TableFunction("parquet_schema", {LogicalType::VARCHAR}, + ParquetMetaDataImplementation, + ParquetMetaDataBind, + ParquetMetaDataInit) { +} + +ParquetKeyValueMetadataFunction::ParquetKeyValueMetadataFunction() + : TableFunction("parquet_kv_metadata", {LogicalType::VARCHAR}, + ParquetMetaDataImplementation, + ParquetMetaDataBind, + ParquetMetaDataInit) { +} + +ParquetFileMetadataFunction::ParquetFileMetadataFunction() + : TableFunction("parquet_file_metadata", {LogicalType::VARCHAR}, + ParquetMetaDataImplementation, + ParquetMetaDataBind, + ParquetMetaDataInit) { } } // namespace duckdb diff --git a/extension/parquet/parquet_reader.cpp b/extension/parquet/parquet_reader.cpp index f6f5723ae18d..efc16ff0ede2 100644 --- a/extension/parquet/parquet_reader.cpp +++ b/extension/parquet/parquet_reader.cpp @@ -1,47 +1,46 @@ #include "parquet_reader.hpp" -#include "parquet_timestamp.hpp" -#include "parquet_statistics.hpp" -#include "column_reader.hpp" #include "boolean_column_reader.hpp" -#include "row_number_column_reader.hpp" -#include "cast_column_reader.hpp" #include "callback_column_reader.hpp" +#include "cast_column_reader.hpp" +#include "column_reader.hpp" +#include "duckdb.hpp" #include "list_column_reader.hpp" +#include "parquet_crypto.hpp" +#include "parquet_file_metadata_cache.hpp" +#include "parquet_statistics.hpp" +#include "parquet_timestamp.hpp" +#include "row_number_column_reader.hpp" #include "string_column_reader.hpp" #include "struct_column_reader.hpp" #include "templated_column_reader.hpp" - #include "thrift_tools.hpp" - -#include "parquet_file_metadata_cache.hpp" - -#include "duckdb.hpp" #ifndef DUCKDB_AMALGAMATION -#include "duckdb/planner/table_filter.hpp" -#include "duckdb/planner/filter/constant_filter.hpp" -#include "duckdb/planner/filter/null_filter.hpp" -#include "duckdb/planner/filter/conjunction_filter.hpp" #include "duckdb/common/file_system.hpp" +#include "duckdb/common/hive_partitioning.hpp" +#include "duckdb/common/pair.hpp" #include "duckdb/common/string_util.hpp" #include "duckdb/common/types/date.hpp" -#include "duckdb/common/pair.hpp" -#include "duckdb/common/hive_partitioning.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" - +#include "duckdb/planner/filter/conjunction_filter.hpp" +#include "duckdb/planner/filter/constant_filter.hpp" +#include "duckdb/planner/filter/null_filter.hpp" +#include "duckdb/planner/filter/struct_filter.hpp" +#include "duckdb/planner/table_filter.hpp" #include "duckdb/storage/object_cache.hpp" #endif -#include #include #include #include +#include namespace duckdb { using duckdb_parquet::format::ColumnChunk; using duckdb_parquet::format::ConvertedType; using duckdb_parquet::format::FieldRepetitionType; +using duckdb_parquet::format::FileCryptoMetaData; using duckdb_parquet::format::FileMetaData; using ParquetRowGroup = duckdb_parquet::format::RowGroup; using duckdb_parquet::format::SchemaElement; @@ -49,16 +48,18 @@ using duckdb_parquet::format::Statistics; using duckdb_parquet::format::Type; static unique_ptr -CreateThriftProtocol(Allocator &allocator, FileHandle &file_handle, bool prefetch_mode) { +CreateThriftFileProtocol(Allocator &allocator, FileHandle &file_handle, bool prefetch_mode) { auto transport = make_shared(allocator, file_handle, prefetch_mode); return make_uniq>(std::move(transport)); } -static shared_ptr LoadMetadata(Allocator &allocator, FileHandle &file_handle) { +static shared_ptr +LoadMetadata(Allocator &allocator, FileHandle &file_handle, + const shared_ptr &encryption_config) { auto current_time = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now()); - auto proto = CreateThriftProtocol(allocator, file_handle, false); - auto &transport = reinterpret_cast(*proto->getTransport()); + auto file_proto = CreateThriftFileProtocol(allocator, file_handle, false); + auto &transport = reinterpret_cast(*file_proto->getTransport()); auto file_size = transport.GetSize(); if (file_size < 12) { throw InvalidInputException("File '%s' too small to be a Parquet file", file_handle.path); @@ -69,25 +70,48 @@ static shared_ptr LoadMetadata(Allocator &allocator, F buf.zero(); transport.SetLocation(file_size - 8); - transport.read((uint8_t *)buf.ptr, 8); - - if (memcmp(buf.ptr + 4, "PAR1", 4) != 0) { - if (memcmp(buf.ptr + 4, "PARE", 4) == 0) { - throw InvalidInputException("Encrypted Parquet files are not supported for file '%s'", file_handle.path); + transport.read(buf.ptr, 8); + + bool footer_encrypted; + if (memcmp(buf.ptr + 4, "PAR1", 4) == 0) { + footer_encrypted = false; + if (encryption_config) { + throw InvalidInputException("File '%s' is not encrypted, but 'encryption_config' was set", + file_handle.path); } + } else if (memcmp(buf.ptr + 4, "PARE", 4) == 0) { + footer_encrypted = true; + if (!encryption_config) { + throw InvalidInputException("File '%s' is encrypted, but 'encryption_config' was not set", + file_handle.path); + } + } else { throw InvalidInputException("No magic bytes found at end of file '%s'", file_handle.path); } + // read four-byte footer length from just before the end magic bytes auto footer_len = *reinterpret_cast(buf.ptr); if (footer_len == 0 || file_size < 12 + footer_len) { throw InvalidInputException("Footer length error in file '%s'", file_handle.path); } + auto metadata_pos = file_size - (footer_len + 8); transport.SetLocation(metadata_pos); transport.Prefetch(metadata_pos, footer_len); auto metadata = make_uniq(); - metadata->read(proto.get()); + if (footer_encrypted) { + auto crypto_metadata = make_uniq(); + crypto_metadata->read(file_proto.get()); + if (crypto_metadata->encryption_algorithm.__isset.AES_GCM_CTR_V1) { + throw InvalidInputException("File '%s' is encrypted with AES_GCM_CTR_V1, but only AES_GCM_V1 is supported", + file_handle.path); + } + ParquetCrypto::Read(*metadata, *file_proto, encryption_config->GetFooterKey()); + } else { + metadata->read(file_proto.get()); + } + return make_shared(std::move(metadata), current_time); } @@ -180,6 +204,9 @@ LogicalType ParquetReader::DeriveLogicalType(const SchemaElement &s_ele, bool bi if (!s_ele.__isset.precision || !s_ele.__isset.scale) { throw IOException("DECIMAL requires a length and scale specifier!"); } + if (s_ele.precision > DecimalType::MaxWidth()) { + return LogicalType::DOUBLE; + } switch (s_ele.type) { case Type::BYTE_ARRAY: case Type::FIXED_LEN_BYTE_ARRAY: @@ -385,8 +412,11 @@ unique_ptr ParquetReader::CreateReader() { root_struct_reader.child_readers[column_idx] = std::move(cast_reader); } if (parquet_options.file_row_number) { - root_struct_reader.child_readers.push_back( - make_uniq(*this, LogicalType::BIGINT, SchemaElement(), next_file_idx, 0, 0)); + file_row_number_idx = root_struct_reader.child_readers.size(); + + generated_column_schema.push_back(SchemaElement()); + root_struct_reader.child_readers.push_back(make_uniq( + *this, LogicalType::BIGINT, generated_column_schema.back(), next_file_idx, 0, 0)); } return ret; @@ -396,7 +426,10 @@ void ParquetReader::InitializeSchema() { auto file_meta_data = GetFileMetadata(); if (file_meta_data->__isset.encryption_algorithm) { - throw FormatException("Encrypted Parquet files are not supported"); + if (file_meta_data->encryption_algorithm.__isset.AES_GCM_CTR_V1) { + throw InvalidInputException("File '%s' is encrypted with AES_GCM_CTR_V1, but only AES_GCM_V1 is supported", + file_name); + } } // check if we like this schema if (file_meta_data->schema.size() < 2) { @@ -429,6 +462,25 @@ ParquetOptions::ParquetOptions(ClientContext &context) { } } +ParquetColumnDefinition ParquetColumnDefinition::FromSchemaValue(ClientContext &context, const Value &column_value) { + ParquetColumnDefinition result; + result.field_id = IntegerValue::Get(StructValue::GetChildren(column_value)[0]); + + const auto &column_def = StructValue::GetChildren(column_value)[1]; + D_ASSERT(column_def.type().id() == LogicalTypeId::STRUCT); + + const auto children = StructValue::GetChildren(column_def); + result.name = StringValue::Get(children[0]); + result.type = TransformStringToLogicalType(StringValue::Get(children[1])); + string error_message; + if (!children[2].TryCastAs(context, result.type, result.default_value, &error_message)) { + throw BinderException("Unable to cast Parquet schema default_value \"%s\" to %s", children[2].ToString(), + result.type.ToString()); + } + + return result; +} + ParquetReader::ParquetReader(ClientContext &context_p, string file_name_p, ParquetOptions parquet_options_p) : fs(FileSystem::GetFileSystem(context_p)), allocator(BufferAllocator::Get(context_p)), parquet_options(std::move(parquet_options_p)) { @@ -443,12 +495,12 @@ ParquetReader::ParquetReader(ClientContext &context_p, string file_name_p, Parqu // or if this file has cached metadata // or if the cached version already expired if (!ObjectCache::ObjectCacheEnabled(context_p)) { - metadata = LoadMetadata(allocator, *file_handle); + metadata = LoadMetadata(allocator, *file_handle, parquet_options.encryption_config); } else { auto last_modify_time = fs.GetLastModifiedTime(*file_handle); metadata = ObjectCache::GetObjectCache(context_p).Get(file_name); if (!metadata || (last_modify_time + 10 >= metadata->read_time)) { - metadata = LoadMetadata(allocator, *file_handle); + metadata = LoadMetadata(allocator, *file_handle, parquet_options.encryption_config); ObjectCache::GetObjectCache(context_p).Put(file_name, metadata); } } @@ -501,6 +553,23 @@ unique_ptr ParquetReader::ReadStatistics(const string &name) { return column_stats; } +uint32_t ParquetReader::Read(duckdb_apache::thrift::TBase &object, TProtocol &iprot) { + if (parquet_options.encryption_config) { + return ParquetCrypto::Read(object, iprot, parquet_options.encryption_config->GetFooterKey()); + } else { + return object.read(&iprot); + } +} + +uint32_t ParquetReader::ReadData(duckdb_apache::thrift::protocol::TProtocol &iprot, const data_ptr_t buffer, + const uint32_t buffer_size) { + if (parquet_options.encryption_config) { + return ParquetCrypto::ReadData(iprot, buffer, buffer_size, parquet_options.encryption_config->GetFooterKey()); + } else { + return iprot.getTransport()->read(buffer, buffer_size); + } +} + const ParquetRowGroup &ParquetReader::GetGroup(ParquetReaderScanState &state) { auto file_meta_data = GetFileMetadata(); D_ASSERT(state.current_group >= 0 && (idx_t)state.current_group < state.group_idx_list.size()); @@ -627,7 +696,7 @@ void ParquetReader::InitializeScan(ParquetReaderScanState &state, vector state.file_handle = fs.OpenFile(file_handle->path, flags); } - state.thrift_file_proto = CreateThriftProtocol(allocator, *state.file_handle, state.prefetch_mode); + state.thrift_file_proto = CreateThriftFileProtocol(allocator, *state.file_handle, state.prefetch_mode); state.root_reader = CreateReader(); state.define_buf.resize(allocator, STANDARD_VECTOR_SIZE); state.repeat_buf.resize(allocator, STANDARD_VECTOR_SIZE); @@ -806,6 +875,11 @@ static void ApplyFilter(Vector &v, TableFilter &filter, parquet_filter_t &filter case TableFilterType::IS_NULL: FilterIsNull(v, filter_mask, count); break; + case TableFilterType::STRUCT_EXTRACT: { + auto &struct_filter = filter.Cast(); + auto &child = StructVector::GetEntries(v)[struct_filter.child_idx]; + ApplyFilter(*child, *struct_filter.child_filter, filter_mask, count); + } break; default: D_ASSERT(0); break; diff --git a/extension/parquet/parquet_statistics.cpp b/extension/parquet/parquet_statistics.cpp index 3eef0d1650e1..351b5938ad22 100644 --- a/extension/parquet/parquet_statistics.cpp +++ b/extension/parquet/parquet_statistics.cpp @@ -4,10 +4,12 @@ #include "parquet_decimal_utils.hpp" #include "parquet_timestamp.hpp" #include "string_column_reader.hpp" +#include "struct_column_reader.hpp" #ifndef DUCKDB_AMALGAMATION #include "duckdb/common/types/blob.hpp" #include "duckdb/common/types/time.hpp" #include "duckdb/common/types/value.hpp" +#include "duckdb/storage/statistics/struct_stats.hpp" #endif namespace duckdb { @@ -92,6 +94,14 @@ Value ParquetStatisticsUtils::ConvertValue(const LogicalType &type, return Value::FLOAT(val); } case LogicalTypeId::DOUBLE: { + switch (schema_ele.type) { + case Type::FIXED_LEN_BYTE_ARRAY: + case Type::BYTE_ARRAY: + // decimals cast to double + return Value::DOUBLE(ParquetDecimalUtils::ReadDecimalValue(stats_data, stats.size(), schema_ele)); + default: + break; + } if (stats.size() != sizeof(double)) { throw InternalException("Incorrect stats size for type DOUBLE"); } @@ -119,22 +129,20 @@ Value ParquetStatisticsUtils::ConvertValue(const LogicalType &type, } case Type::BYTE_ARRAY: case Type::FIXED_LEN_BYTE_ARRAY: - if (stats.size() > GetTypeIdSize(type.InternalType())) { - throw InternalException("Incorrect stats size for type %s", type.ToString()); - } switch (type.InternalType()) { case PhysicalType::INT16: - return Value::DECIMAL(ParquetDecimalUtils::ReadDecimalValue(stats_data, stats.size()), width, - scale); + return Value::DECIMAL( + ParquetDecimalUtils::ReadDecimalValue(stats_data, stats.size(), schema_ele), width, scale); case PhysicalType::INT32: - return Value::DECIMAL(ParquetDecimalUtils::ReadDecimalValue(stats_data, stats.size()), width, - scale); + return Value::DECIMAL( + ParquetDecimalUtils::ReadDecimalValue(stats_data, stats.size(), schema_ele), width, scale); case PhysicalType::INT64: - return Value::DECIMAL(ParquetDecimalUtils::ReadDecimalValue(stats_data, stats.size()), width, - scale); + return Value::DECIMAL( + ParquetDecimalUtils::ReadDecimalValue(stats_data, stats.size(), schema_ele), width, scale); case PhysicalType::INT128: - return Value::DECIMAL(ParquetDecimalUtils::ReadDecimalValue(stats_data, stats.size()), width, - scale); + return Value::DECIMAL( + ParquetDecimalUtils::ReadDecimalValue(stats_data, stats.size(), schema_ele), width, + scale); default: throw InternalException("Unsupported internal type for decimal"); } @@ -200,11 +208,12 @@ Value ParquetStatisticsUtils::ConvertValue(const LogicalType &type, } case LogicalTypeId::TIMESTAMP: case LogicalTypeId::TIMESTAMP_TZ: { + timestamp_t timestamp_value; if (schema_ele.type == Type::INT96) { if (stats.size() != sizeof(Int96)) { throw InternalException("Incorrect stats size for type TIMESTAMP"); } - return Value::TIMESTAMP(ImpalaTimestampToTimestamp(Load(stats_data))); + timestamp_value = ImpalaTimestampToTimestamp(Load(stats_data)); } else { D_ASSERT(schema_ele.type == Type::INT64); if (stats.size() != sizeof(int64_t)) { @@ -214,36 +223,72 @@ Value ParquetStatisticsUtils::ConvertValue(const LogicalType &type, if (schema_ele.__isset.logicalType && schema_ele.logicalType.__isset.TIMESTAMP) { // logical type if (schema_ele.logicalType.TIMESTAMP.unit.__isset.MILLIS) { - return Value::TIMESTAMPMS(timestamp_t(val)); + timestamp_value = Timestamp::FromEpochMs(val); } else if (schema_ele.logicalType.TIMESTAMP.unit.__isset.NANOS) { - return Value::TIMESTAMPNS(timestamp_t(val)); + timestamp_value = Timestamp::FromEpochNanoSeconds(val); } else if (schema_ele.logicalType.TIMESTAMP.unit.__isset.MICROS) { - return Value::TIMESTAMP(timestamp_t(val)); + timestamp_value = timestamp_t(val); } else { throw InternalException("Timestamp logicalType is set but unit is not defined"); } - } - if (schema_ele.converted_type == duckdb_parquet::format::ConvertedType::TIMESTAMP_MILLIS) { - return Value::TIMESTAMPMS(timestamp_t(val)); + } else if (schema_ele.converted_type == duckdb_parquet::format::ConvertedType::TIMESTAMP_MILLIS) { + timestamp_value = Timestamp::FromEpochMs(val); } else { - return Value::TIMESTAMP(timestamp_t(val)); + timestamp_value = timestamp_t(val); } } + if (type.id() == LogicalTypeId::TIMESTAMP_TZ) { + return Value::TIMESTAMPTZ(timestamp_value); + } else { + return Value::TIMESTAMP(timestamp_value); + } } default: throw InternalException("Unsupported type for stats %s", type.ToString()); } } -unique_ptr ParquetStatisticsUtils::TransformColumnStatistics(const SchemaElement &s_ele, - const LogicalType &type, - const ColumnChunk &column_chunk) { +unique_ptr ParquetStatisticsUtils::TransformColumnStatistics(const ColumnReader &reader, + const vector &columns) { + + // Not supported types + if (reader.Type().id() == LogicalTypeId::ARRAY || reader.Type().id() == LogicalTypeId::MAP || + reader.Type().id() == LogicalTypeId::LIST) { + return nullptr; + } + + unique_ptr row_group_stats; + + // Structs are handled differently (they dont have stats) + if (reader.Type().id() == LogicalTypeId::STRUCT) { + auto struct_stats = StructStats::CreateUnknown(reader.Type()); + auto &struct_reader = reader.Cast(); + // Recurse into child readers + for (idx_t i = 0; i < struct_reader.child_readers.size(); i++) { + auto &child_reader = *struct_reader.child_readers[i]; + auto child_stats = ParquetStatisticsUtils::TransformColumnStatistics(child_reader, columns); + StructStats::SetChildStats(struct_stats, i, std::move(child_stats)); + } + row_group_stats = struct_stats.ToUnique(); + + // null count is generic + if (row_group_stats) { + row_group_stats->Set(StatsInfo::CAN_HAVE_NULL_AND_VALID_VALUES); + } + return row_group_stats; + } + + // Otherwise, its a standard column with stats + + auto &column_chunk = columns[reader.FileIdx()]; if (!column_chunk.__isset.meta_data || !column_chunk.meta_data.__isset.statistics) { // no stats present for row group return nullptr; } auto &parquet_stats = column_chunk.meta_data.statistics; - unique_ptr row_group_stats; + + auto &type = reader.Type(); + auto &s_ele = reader.Schema(); switch (type.id()) { case LogicalTypeId::UTINYINT: @@ -258,7 +303,9 @@ unique_ptr ParquetStatisticsUtils::TransformColumnStatistics(con case LogicalTypeId::DOUBLE: case LogicalTypeId::DATE: case LogicalTypeId::TIME: + case LogicalTypeId::TIME_TZ: case LogicalTypeId::TIMESTAMP: + case LogicalTypeId::TIMESTAMP_TZ: case LogicalTypeId::TIMESTAMP_SEC: case LogicalTypeId::TIMESTAMP_MS: case LogicalTypeId::TIMESTAMP_NS: @@ -296,13 +343,11 @@ unique_ptr ParquetStatisticsUtils::TransformColumnStatistics(con } // end of type switch // null count is generic - if (!row_group_stats) { - // if stats are missing from any row group we know squat - return nullptr; - } - row_group_stats->Set(StatsInfo::CAN_HAVE_NULL_AND_VALID_VALUES); - if (parquet_stats.__isset.null_count && parquet_stats.null_count == 0) { - row_group_stats->Set(StatsInfo::CANNOT_HAVE_NULL_VALUES); + if (row_group_stats) { + row_group_stats->Set(StatsInfo::CAN_HAVE_NULL_AND_VALID_VALUES); + if (parquet_stats.__isset.null_count && parquet_stats.null_count == 0) { + row_group_stats->Set(StatsInfo::CANNOT_HAVE_NULL_VALUES); + } } return row_group_stats; } diff --git a/extension/parquet/parquet_timestamp.cpp b/extension/parquet/parquet_timestamp.cpp index ec3ee8b1f697..e8779061d704 100644 --- a/extension/parquet/parquet_timestamp.cpp +++ b/extension/parquet/parquet_timestamp.cpp @@ -54,21 +54,28 @@ date_t ParquetIntToDate(const int32_t &raw_date) { return date_t(raw_date); } -dtime_t ParquetIntToTimeMs(const int32_t &raw_time) { - return Time::FromTimeMs(raw_time); +dtime_t ParquetIntToTimeMs(const int32_t &raw_millis) { + return Time::FromTimeMs(raw_millis); } -dtime_t ParquetIntToTime(const int64_t &raw_time) { - return dtime_t(raw_time); +dtime_t ParquetIntToTime(const int64_t &raw_micros) { + return dtime_t(raw_micros); } -dtime_t ParquetIntToTimeNs(const int64_t &raw_time) { - return Time::FromTimeNs(raw_time); +dtime_t ParquetIntToTimeNs(const int64_t &raw_nanos) { + return Time::FromTimeNs(raw_nanos); +} + +dtime_tz_t ParquetIntToTimeMsTZ(const int32_t &raw_millis) { + return dtime_tz_t(Time::FromTimeMs(raw_millis), 0); } dtime_tz_t ParquetIntToTimeTZ(const int64_t &raw_micros) { - dtime_t t(raw_micros); - return dtime_tz_t(t, 0); + return dtime_tz_t(dtime_t(raw_micros), 0); +} + +dtime_tz_t ParquetIntToTimeNsTZ(const int64_t &raw_nanos) { + return dtime_tz_t(Time::FromTimeNs(raw_nanos), 0); } } // namespace duckdb diff --git a/extension/parquet/parquet_writer.cpp b/extension/parquet/parquet_writer.cpp index a80dc0dbba65..0999a8aa8b98 100644 --- a/extension/parquet/parquet_writer.cpp +++ b/extension/parquet/parquet_writer.cpp @@ -1,15 +1,18 @@ #include "parquet_writer.hpp" #include "duckdb.hpp" +#include "mbedtls_wrapper.hpp" +#include "parquet_crypto.hpp" #include "parquet_timestamp.hpp" + #ifndef DUCKDB_AMALGAMATION #include "duckdb/common/file_system.hpp" #include "duckdb/common/serializer/buffered_file_writer.hpp" +#include "duckdb/common/serializer/write_stream.hpp" #include "duckdb/common/string_util.hpp" #include "duckdb/function/table_function.hpp" #include "duckdb/main/client_context.hpp" #include "duckdb/main/connection.hpp" -#include "duckdb/common/serializer/write_stream.hpp" #include "duckdb/parser/parsed_data/create_copy_function_info.hpp" #include "duckdb/parser/parsed_data/create_table_function_info.hpp" #endif @@ -24,14 +27,14 @@ using duckdb_parquet::format::CompressionCodec; using duckdb_parquet::format::ConvertedType; using duckdb_parquet::format::Encoding; using duckdb_parquet::format::FieldRepetitionType; +using duckdb_parquet::format::FileCryptoMetaData; using duckdb_parquet::format::FileMetaData; using duckdb_parquet::format::PageHeader; using duckdb_parquet::format::PageType; using ParquetRowGroup = duckdb_parquet::format::RowGroup; using duckdb_parquet::format::Type; -ChildFieldIDs::ChildFieldIDs() { - ids = make_uniq>(); +ChildFieldIDs::ChildFieldIDs() : ids(make_uniq>()) { } ChildFieldIDs ChildFieldIDs::Copy() const { @@ -98,6 +101,7 @@ CopyTypeSupport ParquetWriter::DuckDBTypeToParquetTypeInternal(const LogicalType case LogicalTypeId::DOUBLE: parquet_type = Type::DOUBLE; break; + case LogicalTypeId::UHUGEINT: case LogicalTypeId::HUGEINT: parquet_type = Type::DOUBLE; return CopyTypeSupport::LOSSY; @@ -309,6 +313,23 @@ void ParquetWriter::SetSchemaProperties(const LogicalType &duckdb_type, } } +uint32_t ParquetWriter::Write(const duckdb_apache::thrift::TBase &object) { + if (encryption_config) { + return ParquetCrypto::Write(object, *protocol, encryption_config->GetFooterKey()); + } else { + return object.write(protocol.get()); + } +} + +uint32_t ParquetWriter::WriteData(const const_data_ptr_t buffer, const uint32_t buffer_size) { + if (encryption_config) { + return ParquetCrypto::WriteData(*protocol, buffer, buffer_size, encryption_config->GetFooterKey()); + } else { + protocol->getTransport()->write(buffer, buffer_size); + return buffer_size; + } +} + void VerifyUniqueNames(const vector &names) { #ifdef DEBUG unordered_set name_set; @@ -323,14 +344,23 @@ void VerifyUniqueNames(const vector &names) { } ParquetWriter::ParquetWriter(FileSystem &fs, string file_name_p, vector types_p, vector names_p, - CompressionCodec::type codec, ChildFieldIDs field_ids_p) + CompressionCodec::type codec, ChildFieldIDs field_ids_p, + const vector> &kv_metadata, + shared_ptr encryption_config_p) : file_name(std::move(file_name_p)), sql_types(std::move(types_p)), column_names(std::move(names_p)), codec(codec), - field_ids(std::move(field_ids_p)) { + field_ids(std::move(field_ids_p)), encryption_config(std::move(encryption_config_p)) { // initialize the file writer writer = make_uniq(fs, file_name.c_str(), FileFlags::FILE_FLAGS_WRITE | FileFlags::FILE_FLAGS_FILE_CREATE_NEW); - // parquet files start with the string "PAR1" - writer->WriteData(const_data_ptr_cast("PAR1"), 4); + if (encryption_config) { + // encrypted parquet files start with the string "PARE" + writer->WriteData(const_data_ptr_cast("PARE"), 4); + // we only support this one for now, not "AES_GCM_CTR_V1" + file_meta_data.encryption_algorithm.__isset.AES_GCM_V1 = true; + } else { + // parquet files start with the string "PAR1" + writer->WriteData(const_data_ptr_cast("PAR1"), 4); + } TCompactProtocolFactoryT tproto_factory; protocol = tproto_factory.getProtocol(make_shared(*writer)); @@ -342,6 +372,14 @@ ParquetWriter::ParquetWriter(FileSystem &fs, string file_name_p, vectorGetTotalWritten(); - file_meta_data.write(protocol.get()); + if (encryption_config) { + // Crypto metadata is written unencrypted + FileCryptoMetaData crypto_metadata; + duckdb_parquet::format::AesGcmV1 aes_gcm_v1; + duckdb_parquet::format::EncryptionAlgorithm alg; + alg.__set_AES_GCM_V1(aes_gcm_v1); + crypto_metadata.__set_encryption_algorithm(alg); + crypto_metadata.write(protocol.get()); + } + Write(file_meta_data); writer->Write(writer->GetTotalWritten() - start_offset); - // parquet files also end with the string "PAR1" - writer->WriteData(const_data_ptr_cast("PAR1"), 4); + if (encryption_config) { + // encrypted parquet files also end with the string "PARE" + writer->WriteData(const_data_ptr_cast("PARE"), 4); + } else { + // parquet files also end with the string "PAR1" + writer->WriteData(const_data_ptr_cast("PAR1"), 4); + } // flush to disk writer->Sync(); diff --git a/extension/parquet/serialize_parquet.cpp b/extension/parquet/serialize_parquet.cpp index 5f0a0921f2a7..b28ff0211f3e 100644 --- a/extension/parquet/serialize_parquet.cpp +++ b/extension/parquet/serialize_parquet.cpp @@ -6,13 +6,71 @@ #include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/serializer/deserializer.hpp" #include "parquet_reader.hpp" +#include "parquet_crypto.hpp" +#include "parquet_reader.hpp" +#include "parquet_writer.hpp" +#include "parquet_writer.hpp" namespace duckdb { +void ChildFieldIDs::Serialize(Serializer &serializer) const { + serializer.WritePropertyWithDefault>>(100, "ids", ids); +} + +ChildFieldIDs ChildFieldIDs::Deserialize(Deserializer &deserializer) { + ChildFieldIDs result; + deserializer.ReadPropertyWithDefault>>(100, "ids", result.ids); + return result; +} + +void FieldID::Serialize(Serializer &serializer) const { + serializer.WritePropertyWithDefault(100, "set", set); + serializer.WritePropertyWithDefault(101, "field_id", field_id); + serializer.WriteProperty(102, "child_field_ids", child_field_ids); +} + +FieldID FieldID::Deserialize(Deserializer &deserializer) { + FieldID result; + deserializer.ReadPropertyWithDefault(100, "set", result.set); + deserializer.ReadPropertyWithDefault(101, "field_id", result.field_id); + deserializer.ReadProperty(102, "child_field_ids", result.child_field_ids); + return result; +} + +void ParquetColumnDefinition::Serialize(Serializer &serializer) const { + serializer.WritePropertyWithDefault(100, "field_id", field_id); + serializer.WritePropertyWithDefault(101, "name", name); + serializer.WriteProperty(103, "type", type); + serializer.WriteProperty(104, "default_value", default_value); +} + +ParquetColumnDefinition ParquetColumnDefinition::Deserialize(Deserializer &deserializer) { + ParquetColumnDefinition result; + deserializer.ReadPropertyWithDefault(100, "field_id", result.field_id); + deserializer.ReadPropertyWithDefault(101, "name", result.name); + deserializer.ReadProperty(103, "type", result.type); + deserializer.ReadProperty(104, "default_value", result.default_value); + return result; +} + +void ParquetEncryptionConfig::Serialize(Serializer &serializer) const { + serializer.WritePropertyWithDefault(100, "footer_key", footer_key); + serializer.WritePropertyWithDefault>(101, "column_keys", column_keys); +} + +shared_ptr ParquetEncryptionConfig::Deserialize(Deserializer &deserializer) { + auto result = duckdb::shared_ptr(new ParquetEncryptionConfig(deserializer.Get())); + deserializer.ReadPropertyWithDefault(100, "footer_key", result->footer_key); + deserializer.ReadPropertyWithDefault>(101, "column_keys", result->column_keys); + return result; +} + void ParquetOptions::Serialize(Serializer &serializer) const { serializer.WritePropertyWithDefault(100, "binary_as_string", binary_as_string); serializer.WritePropertyWithDefault(101, "file_row_number", file_row_number); serializer.WriteProperty(102, "file_options", file_options); + serializer.WritePropertyWithDefault>(103, "schema", schema); + serializer.WritePropertyWithDefault>(104, "encryption_config", encryption_config, nullptr); } ParquetOptions ParquetOptions::Deserialize(Deserializer &deserializer) { @@ -20,6 +78,8 @@ ParquetOptions ParquetOptions::Deserialize(Deserializer &deserializer) { deserializer.ReadPropertyWithDefault(100, "binary_as_string", result.binary_as_string); deserializer.ReadPropertyWithDefault(101, "file_row_number", result.file_row_number); deserializer.ReadProperty(102, "file_options", result.file_options); + deserializer.ReadPropertyWithDefault>(103, "schema", result.schema); + deserializer.ReadPropertyWithDefault>(104, "encryption_config", result.encryption_config, nullptr); return result; } diff --git a/extension/sqlsmith/include/statement_generator.hpp b/extension/sqlsmith/include/statement_generator.hpp index 00d7d0ffd469..949056b9313b 100644 --- a/extension/sqlsmith/include/statement_generator.hpp +++ b/extension/sqlsmith/include/statement_generator.hpp @@ -50,9 +50,12 @@ class StatementGenerator { private: unique_ptr GenerateStatement(StatementType type); - unique_ptr GenerateSelect(); + unique_ptr GenerateSelect(); + unique_ptr GenerateCreate(); unique_ptr GenerateQueryNode(); + unique_ptr GenerateCreateInfo(); + void GenerateCTEs(QueryNode &node); unique_ptr GenerateTableRef(); unique_ptr GenerateExpression(); @@ -94,12 +97,18 @@ class StatementGenerator { bool RandomBoolean(); //! Returns true with a percentage change (0-100) bool RandomPercentage(idx_t percentage); + string RandomString(idx_t length); unique_ptr RandomExpression(idx_t percentage); + //! Generate identifier for a column or parent using "t" or "c" prefixes. ie. t0, or c0 string GenerateIdentifier(); string GenerateTableIdentifier(); + string GenerateSchemaIdentifier(); + string GenerateViewIdentifier(); + //! using the parent generate a relation name. ie. t0 string GenerateRelationName(); + //! using the parent, generate a valid column name. ie. c0 string GenerateColumnName(); idx_t GetIndex(); @@ -107,6 +116,8 @@ class StatementGenerator { ExpressionType GenerateComparisonType(); + //! used to create columns when creating new tables; + private: ClientContext &context; optional_ptr parent; diff --git a/extension/sqlsmith/statement_generator.cpp b/extension/sqlsmith/statement_generator.cpp index d74102ed56fb..973287df5dab 100644 --- a/extension/sqlsmith/statement_generator.cpp +++ b/extension/sqlsmith/statement_generator.cpp @@ -1,19 +1,24 @@ #include "statement_generator.hpp" +#include "duckdb/catalog/catalog_entry/list.hpp" +#include "duckdb/common/random_engine.hpp" +#include "duckdb/common/types/uuid.hpp" +#include "duckdb/function/table/system_functions.hpp" +#include "duckdb/parser/expression/list.hpp" +#include "duckdb/parser/parsed_data/create_schema_info.hpp" +#include "duckdb/parser/parsed_data/create_table_info.hpp" +#include "duckdb/parser/parsed_data/create_view_info.hpp" +#include "duckdb/parser/parsed_data/create_function_info.hpp" +#include "duckdb/parser/parsed_data/create_type_info.hpp" +#include "duckdb/parser/parsed_expression_iterator.hpp" #include "duckdb/parser/query_node/select_node.hpp" #include "duckdb/parser/query_node/set_operation_node.hpp" -#include "duckdb/parser/tableref/list.hpp" -#include "duckdb/parser/parsed_expression_iterator.hpp" -#include "duckdb/parser/expression/list.hpp" +#include "duckdb/parser/statement/create_statement.hpp" #include "duckdb/parser/statement/delete_statement.hpp" #include "duckdb/parser/statement/insert_statement.hpp" -#include "duckdb/parser/statement/update_statement.hpp" #include "duckdb/parser/statement/select_statement.hpp" -#include "duckdb/function/table/system_functions.hpp" -#include "duckdb/catalog/catalog_entry/list.hpp" -#include "duckdb/parser/expression/list.hpp" -#include "duckdb/common/random_engine.hpp" -#include "duckdb/common/types/uuid.hpp" +#include "duckdb/parser/statement/update_statement.hpp" +#include "duckdb/parser/tableref/list.hpp" namespace duckdb { @@ -72,13 +77,18 @@ shared_ptr StatementGenerator::GetDatabaseState(ClientContext } unique_ptr StatementGenerator::GenerateStatement() { - return GenerateStatement(StatementType::SELECT_STATEMENT); + if (RandomPercentage(80)) { + return GenerateStatement(StatementType::SELECT_STATEMENT); + } + return GenerateStatement(StatementType::CREATE_STATEMENT); } unique_ptr StatementGenerator::GenerateStatement(StatementType type) { switch (type) { case StatementType::SELECT_STATEMENT: return GenerateSelect(); + case StatementType::CREATE_STATEMENT: + return GenerateCreate(); default: throw InternalException("Unsupported type"); } @@ -87,10 +97,69 @@ unique_ptr StatementGenerator::GenerateStatement(StatementType typ //===--------------------------------------------------------------------===// // Statements //===--------------------------------------------------------------------===// -unique_ptr StatementGenerator::GenerateSelect() { +unique_ptr StatementGenerator::GenerateSelect() { auto select = make_uniq(); select->node = GenerateQueryNode(); - return std::move(select); + return select; +} + +unique_ptr StatementGenerator::GenerateCreate() { + auto create = make_uniq(); + create->info = GenerateCreateInfo(); + return create; +} + +//===--------------------------------------------------------------------===// +// Create Info Node +//===--------------------------------------------------------------------===// + +unique_ptr StatementGenerator::GenerateCreateInfo() { + switch (RandomValue(4)) { + case 0: { + auto info = make_uniq(); + info->name = RandomString(5); + idx_t num_enums = RandomValue(10); + auto Enum_Vector = Vector(LogicalType::VARCHAR, num_enums); + for (idx_t i = 0; i < num_enums; i++) { + Enum_Vector.SetValue(i, Value(RandomString(10))); + } + info->type = LogicalType::ENUM("My_enum", Enum_Vector, num_enums); + return std::move(info); + } + case 1: { + auto info = make_uniq(); + info->catalog = INVALID_CATALOG; + info->schema = DEFAULT_SCHEMA; + info->table = GenerateTableIdentifier(); + if (RandomPercentage(50)) { + info->query = GenerateSelect(); + } else { + idx_t num_cols = RandomValue(1000); + for (idx_t i = 0; i < num_cols; i++) { + info->columns.AddColumn(ColumnDefinition(GenerateIdentifier(), GenerateLogicalType())); + } + } + // TODO: add constraints to the columns (primary keys etc.); + return std::move(info); + } + case 2: { + auto info = make_uniq(); + info->catalog = INVALID_CATALOG; + info->on_conflict = OnCreateConflict::REPLACE_ON_CONFLICT; + info->schema = GenerateSchemaIdentifier(); + return std::move(info); + } + case 3: { + auto info = make_uniq(); + info->view_name = GenerateViewIdentifier(); + info->query = GenerateSelect(); + // TODO: add support for aliases in the view. + return std::move(info); + } + default: + break; + } + throw InternalException("Unsupported Create Info Type"); } //===--------------------------------------------------------------------===// @@ -880,6 +949,18 @@ string StatementGenerator::GenerateIdentifier() { return identifier; } +string StatementGenerator::GenerateSchemaIdentifier() { + auto identifier = "s" + to_string(GetIndex()); + // TODO: add support for current_schema_names + return identifier; +} + +string StatementGenerator::GenerateViewIdentifier() { + auto identifier = "v" + to_string(GetIndex()); + current_relation_names.push_back(identifier); + return identifier; +} + idx_t StatementGenerator::GetIndex() { if (parent) { return parent->GetIndex(); @@ -1004,6 +1085,18 @@ idx_t StatementGenerator::RandomValue(idx_t max) { return RandomEngine::Get(context).NextRandomInteger() % max; } +string StatementGenerator::RandomString(idx_t length) { + + const string charset = "$_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + string result = ""; + for (int i = 0; i < length; ++i) { + int randomIndex = RandomValue(charset.length()); + result += charset[randomIndex]; + } + + return result; +} + bool StatementGenerator::RandomBoolean() { return RandomValue(2) == 0; } diff --git a/extension/tpcds/dsdgen/dsdgen.cpp b/extension/tpcds/dsdgen/dsdgen.cpp index e2c2ea35326c..7634c9bf9821 100644 --- a/extension/tpcds/dsdgen/dsdgen.cpp +++ b/extension/tpcds/dsdgen/dsdgen.cpp @@ -21,6 +21,7 @@ template static void CreateTPCDSTable(ClientContext &context, string catalog_name, string schema, string suffix, bool keys, bool overwrite) { auto info = make_uniq(); + info->catalog = catalog_name; info->schema = schema; info->table = T::Name + suffix; info->on_conflict = overwrite ? OnCreateConflict::REPLACE_ON_CONFLICT : OnCreateConflict::ERROR_ON_CONFLICT; @@ -114,10 +115,13 @@ void DSDGenWrapper::DSDGen(double scale, ClientContext &context, string catalog_ assert(builder_func); for (ds_key_t i = k_first_row; k_row_count; i++, k_row_count--) { + if (k_row_count % 1000 == 0 && context.interrupted) { + throw InterruptException(); + } // append happens directly in builders since they dump child tables // immediately if (builder_func((void *)&append_info, i)) { - throw Exception("Table generation failed"); + throw InternalException("Table generation failed"); } } } diff --git a/extension/tpch/dbgen/dbgen.cpp b/extension/tpch/dbgen/dbgen.cpp index 8ad0b5ec1a56..815cfc8f233e 100644 --- a/extension/tpch/dbgen/dbgen.cpp +++ b/extension/tpch/dbgen/dbgen.cpp @@ -420,6 +420,7 @@ const LogicalType LineitemInfo::Types[] = { template static void CreateTPCHTable(ClientContext &context, string catalog_name, string schema, string suffix) { auto info = make_uniq(); + info->catalog = catalog_name; info->schema = schema; info->table = T::Name + suffix; info->on_conflict = OnCreateConflict::IGNORE_ON_CONFLICT; diff --git a/extension/visualizer/CMakeLists.txt b/extension/visualizer/CMakeLists.txt deleted file mode 100644 index b72db20ad7f4..000000000000 --- a/extension/visualizer/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) - -project(VisualizerExtension) - -include_directories(include) - -build_static_extension(visualizer visualizer_extension.cpp) -set(PARAMETERS "-warnings") -build_loadable_extension(visualizer ${PARAMETERS} visualizer_extension.cpp) -install( - TARGETS visualizer_extension - EXPORT "${DUCKDB_EXPORT_SET}" - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" - ARCHIVE DESTINATION "${INSTALL_LIB_DIR}") diff --git a/extension/visualizer/LICENSE b/extension/visualizer/LICENSE deleted file mode 100644 index 8f12edcec9f0..000000000000 --- a/extension/visualizer/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright 2010-2020 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/extension/visualizer/d3.js b/extension/visualizer/d3.js deleted file mode 100644 index 3483729c3bbc..000000000000 --- a/extension/visualizer/d3.js +++ /dev/null @@ -1,19708 +0,0 @@ -// https://d3js.org v6.7.0 Copyright 2021 Mike Bostock -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.d3 = global.d3 || {})); -}(this, (function (exports) { 'use strict'; - - var version = "6.7.0"; - - function ascending$3(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } - - function bisector(f) { - let delta = f; - let compare = f; - - if (f.length === 1) { - delta = (d, x) => f(d) - x; - compare = ascendingComparator(f); - } - - function left(a, x, lo, hi) { - if (lo == null) lo = 0; - if (hi == null) hi = a.length; - while (lo < hi) { - const mid = (lo + hi) >>> 1; - if (compare(a[mid], x) < 0) lo = mid + 1; - else hi = mid; - } - return lo; - } - - function right(a, x, lo, hi) { - if (lo == null) lo = 0; - if (hi == null) hi = a.length; - while (lo < hi) { - const mid = (lo + hi) >>> 1; - if (compare(a[mid], x) > 0) hi = mid; - else lo = mid + 1; - } - return lo; - } - - function center(a, x, lo, hi) { - if (lo == null) lo = 0; - if (hi == null) hi = a.length; - const i = left(a, x, lo, hi - 1); - return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i; - } - - return {left, center, right}; - } - - function ascendingComparator(f) { - return (d, x) => ascending$3(f(d), x); - } - - function number$3(x) { - return x === null ? NaN : +x; - } - - function* numbers(values, valueof) { - if (valueof === undefined) { - for (let value of values) { - if (value != null && (value = +value) >= value) { - yield value; - } - } - } else { - let index = -1; - for (let value of values) { - if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) { - yield value; - } - } - } - } - - const ascendingBisect = bisector(ascending$3); - const bisectRight = ascendingBisect.right; - const bisectLeft = ascendingBisect.left; - const bisectCenter = bisector(number$3).center; - - function count$1(values, valueof) { - let count = 0; - if (valueof === undefined) { - for (let value of values) { - if (value != null && (value = +value) >= value) { - ++count; - } - } - } else { - let index = -1; - for (let value of values) { - if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) { - ++count; - } - } - } - return count; - } - - function length$3(array) { - return array.length | 0; - } - - function empty$2(length) { - return !(length > 0); - } - - function arrayify(values) { - return typeof values !== "object" || "length" in values ? values : Array.from(values); - } - - function reducer(reduce) { - return values => reduce(...values); - } - - function cross$2(...values) { - const reduce = typeof values[values.length - 1] === "function" && reducer(values.pop()); - values = values.map(arrayify); - const lengths = values.map(length$3); - const j = values.length - 1; - const index = new Array(j + 1).fill(0); - const product = []; - if (j < 0 || lengths.some(empty$2)) return product; - while (true) { - product.push(index.map((j, i) => values[i][j])); - let i = j; - while (++index[i] === lengths[i]) { - if (i === 0) return reduce ? product.map(reduce) : product; - index[i--] = 0; - } - } - } - - function cumsum(values, valueof) { - var sum = 0, index = 0; - return Float64Array.from(values, valueof === undefined - ? v => (sum += +v || 0) - : v => (sum += +valueof(v, index++, values) || 0)); - } - - function descending$2(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; - } - - function variance(values, valueof) { - let count = 0; - let delta; - let mean = 0; - let sum = 0; - if (valueof === undefined) { - for (let value of values) { - if (value != null && (value = +value) >= value) { - delta = value - mean; - mean += delta / ++count; - sum += delta * (value - mean); - } - } - } else { - let index = -1; - for (let value of values) { - if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) { - delta = value - mean; - mean += delta / ++count; - sum += delta * (value - mean); - } - } - } - if (count > 1) return sum / (count - 1); - } - - function deviation(values, valueof) { - const v = variance(values, valueof); - return v ? Math.sqrt(v) : v; - } - - function extent$1(values, valueof) { - let min; - let max; - if (valueof === undefined) { - for (const value of values) { - if (value != null) { - if (min === undefined) { - if (value >= value) min = max = value; - } else { - if (min > value) min = value; - if (max < value) max = value; - } - } - } - } else { - let index = -1; - for (let value of values) { - if ((value = valueof(value, ++index, values)) != null) { - if (min === undefined) { - if (value >= value) min = max = value; - } else { - if (min > value) min = value; - if (max < value) max = value; - } - } - } - } - return [min, max]; - } - -// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423 - class Adder { - constructor() { - this._partials = new Float64Array(32); - this._n = 0; - } - add(x) { - const p = this._partials; - let i = 0; - for (let j = 0; j < this._n && j < 32; j++) { - const y = p[j], - hi = x + y, - lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x); - if (lo) p[i++] = lo; - x = hi; - } - p[i] = x; - this._n = i + 1; - return this; - } - valueOf() { - const p = this._partials; - let n = this._n, x, y, lo, hi = 0; - if (n > 0) { - hi = p[--n]; - while (n > 0) { - x = hi; - y = p[--n]; - hi = x + y; - lo = y - (hi - x); - if (lo) break; - } - if (n > 0 && ((lo < 0 && p[n - 1] < 0) || (lo > 0 && p[n - 1] > 0))) { - y = lo * 2; - x = hi + y; - if (y == x - hi) hi = x; - } - } - return hi; - } - } - - function fsum(values, valueof) { - const adder = new Adder(); - if (valueof === undefined) { - for (let value of values) { - if (value = +value) { - adder.add(value); - } - } - } else { - let index = -1; - for (let value of values) { - if (value = +valueof(value, ++index, values)) { - adder.add(value); - } - } - } - return +adder; - } - - function fcumsum(values, valueof) { - const adder = new Adder(); - let index = -1; - return Float64Array.from(values, valueof === undefined - ? v => adder.add(+v || 0) - : v => adder.add(+valueof(v, ++index, values) || 0) - ); - } - - class InternMap extends Map { - constructor(entries, key = keyof) { - super(); - Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}}); - if (entries != null) for (const [key, value] of entries) this.set(key, value); - } - get(key) { - return super.get(intern_get(this, key)); - } - has(key) { - return super.has(intern_get(this, key)); - } - set(key, value) { - return super.set(intern_set(this, key), value); - } - delete(key) { - return super.delete(intern_delete(this, key)); - } - } - - class InternSet extends Set { - constructor(values, key = keyof) { - super(); - Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}}); - if (values != null) for (const value of values) this.add(value); - } - has(value) { - return super.has(intern_get(this, value)); - } - add(value) { - return super.add(intern_set(this, value)); - } - delete(value) { - return super.delete(intern_delete(this, value)); - } - } - - function intern_get({_intern, _key}, value) { - const key = _key(value); - return _intern.has(key) ? _intern.get(key) : value; - } - - function intern_set({_intern, _key}, value) { - const key = _key(value); - if (_intern.has(key)) return _intern.get(key); - _intern.set(key, value); - return value; - } - - function intern_delete({_intern, _key}, value) { - const key = _key(value); - if (_intern.has(key)) { - value = _intern.get(value); - _intern.delete(key); - } - return value; - } - - function keyof(value) { - return value !== null && typeof value === "object" ? value.valueOf() : value; - } - - function identity$9(x) { - return x; - } - - function group(values, ...keys) { - return nest(values, identity$9, identity$9, keys); - } - - function groups(values, ...keys) { - return nest(values, Array.from, identity$9, keys); - } - - function rollup(values, reduce, ...keys) { - return nest(values, identity$9, reduce, keys); - } - - function rollups(values, reduce, ...keys) { - return nest(values, Array.from, reduce, keys); - } - - function index$4(values, ...keys) { - return nest(values, identity$9, unique, keys); - } - - function indexes(values, ...keys) { - return nest(values, Array.from, unique, keys); - } - - function unique(values) { - if (values.length !== 1) throw new Error("duplicate key"); - return values[0]; - } - - function nest(values, map, reduce, keys) { - return (function regroup(values, i) { - if (i >= keys.length) return reduce(values); - const groups = new InternMap(); - const keyof = keys[i++]; - let index = -1; - for (const value of values) { - const key = keyof(value, ++index, values); - const group = groups.get(key); - if (group) group.push(value); - else groups.set(key, [value]); - } - for (const [key, values] of groups) { - groups.set(key, regroup(values, i)); - } - return map(groups); - })(values, 0); - } - - function permute(source, keys) { - return Array.from(keys, key => source[key]); - } - - function sort(values, ...F) { - if (typeof values[Symbol.iterator] !== "function") throw new TypeError("values is not iterable"); - values = Array.from(values); - let [f = ascending$3] = F; - if (f.length === 1 || F.length > 1) { - const index = Uint32Array.from(values, (d, i) => i); - if (F.length > 1) { - F = F.map(f => values.map(f)); - index.sort((i, j) => { - for (const f of F) { - const c = ascending$3(f[i], f[j]); - if (c) return c; - } - }); - } else { - f = values.map(f); - index.sort((i, j) => ascending$3(f[i], f[j])); - } - return permute(values, index); - } - return values.sort(f); - } - - function groupSort(values, reduce, key) { - return (reduce.length === 1 - ? sort(rollup(values, reduce, key), (([ak, av], [bk, bv]) => ascending$3(av, bv) || ascending$3(ak, bk))) - : sort(group(values, key), (([ak, av], [bk, bv]) => reduce(av, bv) || ascending$3(ak, bk)))) - .map(([key]) => key); - } - - var array$5 = Array.prototype; - - var slice$4 = array$5.slice; - - function constant$b(x) { - return function() { - return x; - }; - } - - var e10 = Math.sqrt(50), - e5 = Math.sqrt(10), - e2 = Math.sqrt(2); - - function ticks(start, stop, count) { - var reverse, - i = -1, - n, - ticks, - step; - - stop = +stop, start = +start, count = +count; - if (start === stop && count > 0) return [start]; - if (reverse = stop < start) n = start, start = stop, stop = n; - if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return []; - - if (step > 0) { - let r0 = Math.round(start / step), r1 = Math.round(stop / step); - if (r0 * step < start) ++r0; - if (r1 * step > stop) --r1; - ticks = new Array(n = r1 - r0 + 1); - while (++i < n) ticks[i] = (r0 + i) * step; - } else { - step = -step; - let r0 = Math.round(start * step), r1 = Math.round(stop * step); - if (r0 / step < start) ++r0; - if (r1 / step > stop) --r1; - ticks = new Array(n = r1 - r0 + 1); - while (++i < n) ticks[i] = (r0 + i) / step; - } - - if (reverse) ticks.reverse(); - - return ticks; - } - - function tickIncrement(start, stop, count) { - var step = (stop - start) / Math.max(0, count), - power = Math.floor(Math.log(step) / Math.LN10), - error = step / Math.pow(10, power); - return power >= 0 - ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power) - : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1); - } - - function tickStep(start, stop, count) { - var step0 = Math.abs(stop - start) / Math.max(0, count), - step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)), - error = step0 / step1; - if (error >= e10) step1 *= 10; - else if (error >= e5) step1 *= 5; - else if (error >= e2) step1 *= 2; - return stop < start ? -step1 : step1; - } - - function nice$1(start, stop, count) { - let prestep; - while (true) { - const step = tickIncrement(start, stop, count); - if (step === prestep || step === 0 || !isFinite(step)) { - return [start, stop]; - } else if (step > 0) { - start = Math.floor(start / step) * step; - stop = Math.ceil(stop / step) * step; - } else if (step < 0) { - start = Math.ceil(start * step) / step; - stop = Math.floor(stop * step) / step; - } - prestep = step; - } - } - - function thresholdSturges(values) { - return Math.ceil(Math.log(count$1(values)) / Math.LN2) + 1; - } - - function bin() { - var value = identity$9, - domain = extent$1, - threshold = thresholdSturges; - - function histogram(data) { - if (!Array.isArray(data)) data = Array.from(data); - - var i, - n = data.length, - x, - values = new Array(n); - - for (i = 0; i < n; ++i) { - values[i] = value(data[i], i, data); - } - - var xz = domain(values), - x0 = xz[0], - x1 = xz[1], - tz = threshold(values, x0, x1); - - // Convert number of thresholds into uniform thresholds, and nice the - // default domain accordingly. - if (!Array.isArray(tz)) { - const max = x1, tn = +tz; - if (domain === extent$1) [x0, x1] = nice$1(x0, x1, tn); - tz = ticks(x0, x1, tn); - - // If the last threshold is coincident with the domain’s upper bound, the - // last bin will be zero-width. If the default domain is used, and this - // last threshold is coincident with the maximum input value, we can - // extend the niced upper bound by one tick to ensure uniform bin widths; - // otherwise, we simply remove the last threshold. Note that we don’t - // coerce values or the domain to numbers, and thus must be careful to - // compare order (>=) rather than strict equality (===)! - if (tz[tz.length - 1] >= x1) { - if (max >= x1 && domain === extent$1) { - const step = tickIncrement(x0, x1, tn); - if (isFinite(step)) { - if (step > 0) { - x1 = (Math.floor(x1 / step) + 1) * step; - } else if (step < 0) { - x1 = (Math.ceil(x1 * -step) + 1) / -step; - } - } - } else { - tz.pop(); - } - } - } - - // Remove any thresholds outside the domain. - var m = tz.length; - while (tz[0] <= x0) tz.shift(), --m; - while (tz[m - 1] > x1) tz.pop(), --m; - - var bins = new Array(m + 1), - bin; - - // Initialize bins. - for (i = 0; i <= m; ++i) { - bin = bins[i] = []; - bin.x0 = i > 0 ? tz[i - 1] : x0; - bin.x1 = i < m ? tz[i] : x1; - } - - // Assign data to bins by value, ignoring any outside the domain. - for (i = 0; i < n; ++i) { - x = values[i]; - if (x0 <= x && x <= x1) { - bins[bisectRight(tz, x, 0, m)].push(data[i]); - } - } - - return bins; - } - - histogram.value = function(_) { - return arguments.length ? (value = typeof _ === "function" ? _ : constant$b(_), histogram) : value; - }; - - histogram.domain = function(_) { - return arguments.length ? (domain = typeof _ === "function" ? _ : constant$b([_[0], _[1]]), histogram) : domain; - }; - - histogram.thresholds = function(_) { - return arguments.length ? (threshold = typeof _ === "function" ? _ : Array.isArray(_) ? constant$b(slice$4.call(_)) : constant$b(_), histogram) : threshold; - }; - - return histogram; - } - - function max$3(values, valueof) { - let max; - if (valueof === undefined) { - for (const value of values) { - if (value != null - && (max < value || (max === undefined && value >= value))) { - max = value; - } - } - } else { - let index = -1; - for (let value of values) { - if ((value = valueof(value, ++index, values)) != null - && (max < value || (max === undefined && value >= value))) { - max = value; - } - } - } - return max; - } - - function min$2(values, valueof) { - let min; - if (valueof === undefined) { - for (const value of values) { - if (value != null - && (min > value || (min === undefined && value >= value))) { - min = value; - } - } - } else { - let index = -1; - for (let value of values) { - if ((value = valueof(value, ++index, values)) != null - && (min > value || (min === undefined && value >= value))) { - min = value; - } - } - } - return min; - } - -// Based on https://github.com/mourner/quickselect -// ISC license, Copyright 2018 Vladimir Agafonkin. - function quickselect(array, k, left = 0, right = array.length - 1, compare = ascending$3) { - while (right > left) { - if (right - left > 600) { - const n = right - left + 1; - const m = k - left + 1; - const z = Math.log(n); - const s = 0.5 * Math.exp(2 * z / 3); - const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); - const newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); - const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); - quickselect(array, k, newLeft, newRight, compare); - } - - const t = array[k]; - let i = left; - let j = right; - - swap$1(array, left, k); - if (compare(array[right], t) > 0) swap$1(array, left, right); - - while (i < j) { - swap$1(array, i, j), ++i, --j; - while (compare(array[i], t) < 0) ++i; - while (compare(array[j], t) > 0) --j; - } - - if (compare(array[left], t) === 0) swap$1(array, left, j); - else ++j, swap$1(array, j, right); - - if (j <= k) left = j + 1; - if (k <= j) right = j - 1; - } - return array; - } - - function swap$1(array, i, j) { - const t = array[i]; - array[i] = array[j]; - array[j] = t; - } - - function quantile$1(values, p, valueof) { - values = Float64Array.from(numbers(values, valueof)); - if (!(n = values.length)) return; - if ((p = +p) <= 0 || n < 2) return min$2(values); - if (p >= 1) return max$3(values); - var n, - i = (n - 1) * p, - i0 = Math.floor(i), - value0 = max$3(quickselect(values, i0).subarray(0, i0 + 1)), - value1 = min$2(values.subarray(i0 + 1)); - return value0 + (value1 - value0) * (i - i0); - } - - function quantileSorted(values, p, valueof = number$3) { - if (!(n = values.length)) return; - if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values); - if (p >= 1) return +valueof(values[n - 1], n - 1, values); - var n, - i = (n - 1) * p, - i0 = Math.floor(i), - value0 = +valueof(values[i0], i0, values), - value1 = +valueof(values[i0 + 1], i0 + 1, values); - return value0 + (value1 - value0) * (i - i0); - } - - function freedmanDiaconis(values, min, max) { - return Math.ceil((max - min) / (2 * (quantile$1(values, 0.75) - quantile$1(values, 0.25)) * Math.pow(count$1(values), -1 / 3))); - } - - function scott(values, min, max) { - return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(count$1(values), -1 / 3))); - } - - function maxIndex(values, valueof) { - let max; - let maxIndex = -1; - let index = -1; - if (valueof === undefined) { - for (const value of values) { - ++index; - if (value != null - && (max < value || (max === undefined && value >= value))) { - max = value, maxIndex = index; - } - } - } else { - for (let value of values) { - if ((value = valueof(value, ++index, values)) != null - && (max < value || (max === undefined && value >= value))) { - max = value, maxIndex = index; - } - } - } - return maxIndex; - } - - function mean(values, valueof) { - let count = 0; - let sum = 0; - if (valueof === undefined) { - for (let value of values) { - if (value != null && (value = +value) >= value) { - ++count, sum += value; - } - } - } else { - let index = -1; - for (let value of values) { - if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) { - ++count, sum += value; - } - } - } - if (count) return sum / count; - } - - function median(values, valueof) { - return quantile$1(values, 0.5, valueof); - } - - function* flatten(arrays) { - for (const array of arrays) { - yield* array; - } - } - - function merge(arrays) { - return Array.from(flatten(arrays)); - } - - function minIndex(values, valueof) { - let min; - let minIndex = -1; - let index = -1; - if (valueof === undefined) { - for (const value of values) { - ++index; - if (value != null - && (min > value || (min === undefined && value >= value))) { - min = value, minIndex = index; - } - } - } else { - for (let value of values) { - if ((value = valueof(value, ++index, values)) != null - && (min > value || (min === undefined && value >= value))) { - min = value, minIndex = index; - } - } - } - return minIndex; - } - - function pairs(values, pairof = pair) { - const pairs = []; - let previous; - let first = false; - for (const value of values) { - if (first) pairs.push(pairof(previous, value)); - previous = value; - first = true; - } - return pairs; - } - - function pair(a, b) { - return [a, b]; - } - - function sequence(start, stop, step) { - start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step; - - var i = -1, - n = Math.max(0, Math.ceil((stop - start) / step)) | 0, - range = new Array(n); - - while (++i < n) { - range[i] = start + i * step; - } - - return range; - } - - function least(values, compare = ascending$3) { - let min; - let defined = false; - if (compare.length === 1) { - let minValue; - for (const element of values) { - const value = compare(element); - if (defined - ? ascending$3(value, minValue) < 0 - : ascending$3(value, value) === 0) { - min = element; - minValue = value; - defined = true; - } - } - } else { - for (const value of values) { - if (defined - ? compare(value, min) < 0 - : compare(value, value) === 0) { - min = value; - defined = true; - } - } - } - return min; - } - - function leastIndex(values, compare = ascending$3) { - if (compare.length === 1) return minIndex(values, compare); - let minValue; - let min = -1; - let index = -1; - for (const value of values) { - ++index; - if (min < 0 - ? compare(value, value) === 0 - : compare(value, minValue) < 0) { - minValue = value; - min = index; - } - } - return min; - } - - function greatest(values, compare = ascending$3) { - let max; - let defined = false; - if (compare.length === 1) { - let maxValue; - for (const element of values) { - const value = compare(element); - if (defined - ? ascending$3(value, maxValue) > 0 - : ascending$3(value, value) === 0) { - max = element; - maxValue = value; - defined = true; - } - } - } else { - for (const value of values) { - if (defined - ? compare(value, max) > 0 - : compare(value, value) === 0) { - max = value; - defined = true; - } - } - } - return max; - } - - function greatestIndex(values, compare = ascending$3) { - if (compare.length === 1) return maxIndex(values, compare); - let maxValue; - let max = -1; - let index = -1; - for (const value of values) { - ++index; - if (max < 0 - ? compare(value, value) === 0 - : compare(value, maxValue) > 0) { - maxValue = value; - max = index; - } - } - return max; - } - - function scan(values, compare) { - const index = leastIndex(values, compare); - return index < 0 ? undefined : index; - } - - var shuffle$1 = shuffler(Math.random); - - function shuffler(random) { - return function shuffle(array, i0 = 0, i1 = array.length) { - let m = i1 - (i0 = +i0); - while (m) { - const i = random() * m-- | 0, t = array[m + i0]; - array[m + i0] = array[i + i0]; - array[i + i0] = t; - } - return array; - }; - } - - function sum$1(values, valueof) { - let sum = 0; - if (valueof === undefined) { - for (let value of values) { - if (value = +value) { - sum += value; - } - } - } else { - let index = -1; - for (let value of values) { - if (value = +valueof(value, ++index, values)) { - sum += value; - } - } - } - return sum; - } - - function transpose(matrix) { - if (!(n = matrix.length)) return []; - for (var i = -1, m = min$2(matrix, length$2), transpose = new Array(m); ++i < m;) { - for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) { - row[j] = matrix[j][i]; - } - } - return transpose; - } - - function length$2(d) { - return d.length; - } - - function zip() { - return transpose(arguments); - } - - function every(values, test) { - if (typeof test !== "function") throw new TypeError("test is not a function"); - let index = -1; - for (const value of values) { - if (!test(value, ++index, values)) { - return false; - } - } - return true; - } - - function some(values, test) { - if (typeof test !== "function") throw new TypeError("test is not a function"); - let index = -1; - for (const value of values) { - if (test(value, ++index, values)) { - return true; - } - } - return false; - } - - function filter$1(values, test) { - if (typeof test !== "function") throw new TypeError("test is not a function"); - const array = []; - let index = -1; - for (const value of values) { - if (test(value, ++index, values)) { - array.push(value); - } - } - return array; - } - - function map$1(values, mapper) { - if (typeof values[Symbol.iterator] !== "function") throw new TypeError("values is not iterable"); - if (typeof mapper !== "function") throw new TypeError("mapper is not a function"); - return Array.from(values, (value, index) => mapper(value, index, values)); - } - - function reduce(values, reducer, value) { - if (typeof reducer !== "function") throw new TypeError("reducer is not a function"); - const iterator = values[Symbol.iterator](); - let done, next, index = -1; - if (arguments.length < 3) { - ({done, value} = iterator.next()); - if (done) return; - ++index; - } - while (({done, value: next} = iterator.next()), !done) { - value = reducer(value, next, ++index, values); - } - return value; - } - - function reverse$1(values) { - if (typeof values[Symbol.iterator] !== "function") throw new TypeError("values is not iterable"); - return Array.from(values).reverse(); - } - - function difference(values, ...others) { - values = new Set(values); - for (const other of others) { - for (const value of other) { - values.delete(value); - } - } - return values; - } - - function disjoint(values, other) { - const iterator = other[Symbol.iterator](), set = new Set(); - for (const v of values) { - if (set.has(v)) return false; - let value, done; - while (({value, done} = iterator.next())) { - if (done) break; - if (Object.is(v, value)) return false; - set.add(value); - } - } - return true; - } - - function set$2(values) { - return values instanceof Set ? values : new Set(values); - } - - function intersection(values, ...others) { - values = new Set(values); - others = others.map(set$2); - out: for (const value of values) { - for (const other of others) { - if (!other.has(value)) { - values.delete(value); - continue out; - } - } - } - return values; - } - - function superset(values, other) { - const iterator = values[Symbol.iterator](), set = new Set(); - for (const o of other) { - if (set.has(o)) continue; - let value, done; - while (({value, done} = iterator.next())) { - if (done) return false; - set.add(value); - if (Object.is(o, value)) break; - } - } - return true; - } - - function subset(values, other) { - return superset(other, values); - } - - function union(...others) { - const set = new Set(); - for (const other of others) { - for (const o of other) { - set.add(o); - } - } - return set; - } - - var slice$3 = Array.prototype.slice; - - function identity$8(x) { - return x; - } - - var top = 1, - right = 2, - bottom = 3, - left = 4, - epsilon$5 = 1e-6; - - function translateX(x) { - return "translate(" + x + ",0)"; - } - - function translateY(y) { - return "translate(0," + y + ")"; - } - - function number$2(scale) { - return d => +scale(d); - } - - function center$1(scale, offset) { - offset = Math.max(0, scale.bandwidth() - offset * 2) / 2; - if (scale.round()) offset = Math.round(offset); - return d => +scale(d) + offset; - } - - function entering() { - return !this.__axis; - } - - function axis(orient, scale) { - var tickArguments = [], - tickValues = null, - tickFormat = null, - tickSizeInner = 6, - tickSizeOuter = 6, - tickPadding = 3, - offset = typeof window !== "undefined" && window.devicePixelRatio > 1 ? 0 : 0.5, - k = orient === top || orient === left ? -1 : 1, - x = orient === left || orient === right ? "x" : "y", - transform = orient === top || orient === bottom ? translateX : translateY; - - function axis(context) { - var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues, - format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity$8) : tickFormat, - spacing = Math.max(tickSizeInner, 0) + tickPadding, - range = scale.range(), - range0 = +range[0] + offset, - range1 = +range[range.length - 1] + offset, - position = (scale.bandwidth ? center$1 : number$2)(scale.copy(), offset), - selection = context.selection ? context.selection() : context, - path = selection.selectAll(".domain").data([null]), - tick = selection.selectAll(".tick").data(values, scale).order(), - tickExit = tick.exit(), - tickEnter = tick.enter().append("g").attr("class", "tick"), - line = tick.select("line"), - text = tick.select("text"); - - path = path.merge(path.enter().insert("path", ".tick") - .attr("class", "domain") - .attr("stroke", "currentColor")); - - tick = tick.merge(tickEnter); - - line = line.merge(tickEnter.append("line") - .attr("stroke", "currentColor") - .attr(x + "2", k * tickSizeInner)); - - text = text.merge(tickEnter.append("text") - .attr("fill", "currentColor") - .attr(x, k * spacing) - .attr("dy", orient === top ? "0em" : orient === bottom ? "0.71em" : "0.32em")); - - if (context !== selection) { - path = path.transition(context); - tick = tick.transition(context); - line = line.transition(context); - text = text.transition(context); - - tickExit = tickExit.transition(context) - .attr("opacity", epsilon$5) - .attr("transform", function(d) { return isFinite(d = position(d)) ? transform(d + offset) : this.getAttribute("transform"); }); - - tickEnter - .attr("opacity", epsilon$5) - .attr("transform", function(d) { var p = this.parentNode.__axis; return transform((p && isFinite(p = p(d)) ? p : position(d)) + offset); }); - } - - tickExit.remove(); - - path - .attr("d", orient === left || orient === right - ? (tickSizeOuter ? "M" + k * tickSizeOuter + "," + range0 + "H" + offset + "V" + range1 + "H" + k * tickSizeOuter : "M" + offset + "," + range0 + "V" + range1) - : (tickSizeOuter ? "M" + range0 + "," + k * tickSizeOuter + "V" + offset + "H" + range1 + "V" + k * tickSizeOuter : "M" + range0 + "," + offset + "H" + range1)); - - tick - .attr("opacity", 1) - .attr("transform", function(d) { return transform(position(d) + offset); }); - - line - .attr(x + "2", k * tickSizeInner); - - text - .attr(x, k * spacing) - .text(format); - - selection.filter(entering) - .attr("fill", "none") - .attr("font-size", 10) - .attr("font-family", "sans-serif") - .attr("text-anchor", orient === right ? "start" : orient === left ? "end" : "middle"); - - selection - .each(function() { this.__axis = position; }); - } - - axis.scale = function(_) { - return arguments.length ? (scale = _, axis) : scale; - }; - - axis.ticks = function() { - return tickArguments = slice$3.call(arguments), axis; - }; - - axis.tickArguments = function(_) { - return arguments.length ? (tickArguments = _ == null ? [] : slice$3.call(_), axis) : tickArguments.slice(); - }; - - axis.tickValues = function(_) { - return arguments.length ? (tickValues = _ == null ? null : slice$3.call(_), axis) : tickValues && tickValues.slice(); - }; - - axis.tickFormat = function(_) { - return arguments.length ? (tickFormat = _, axis) : tickFormat; - }; - - axis.tickSize = function(_) { - return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner; - }; - - axis.tickSizeInner = function(_) { - return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner; - }; - - axis.tickSizeOuter = function(_) { - return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter; - }; - - axis.tickPadding = function(_) { - return arguments.length ? (tickPadding = +_, axis) : tickPadding; - }; - - axis.offset = function(_) { - return arguments.length ? (offset = +_, axis) : offset; - }; - - return axis; - } - - function axisTop(scale) { - return axis(top, scale); - } - - function axisRight(scale) { - return axis(right, scale); - } - - function axisBottom(scale) { - return axis(bottom, scale); - } - - function axisLeft(scale) { - return axis(left, scale); - } - - var noop$3 = {value: () => {}}; - - function dispatch() { - for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) { - if (!(t = arguments[i] + "") || (t in _) || /[\s.]/.test(t)) throw new Error("illegal type: " + t); - _[t] = []; - } - return new Dispatch(_); - } - - function Dispatch(_) { - this._ = _; - } - - function parseTypenames$1(typenames, types) { - return typenames.trim().split(/^|\s+/).map(function(t) { - var name = "", i = t.indexOf("."); - if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); - if (t && !types.hasOwnProperty(t)) throw new Error("unknown type: " + t); - return {type: t, name: name}; - }); - } - - Dispatch.prototype = dispatch.prototype = { - constructor: Dispatch, - on: function(typename, callback) { - var _ = this._, - T = parseTypenames$1(typename + "", _), - t, - i = -1, - n = T.length; - - // If no callback was specified, return the callback of the given type and name. - if (arguments.length < 2) { - while (++i < n) if ((t = (typename = T[i]).type) && (t = get$1(_[t], typename.name))) return t; - return; - } - - // If a type was specified, set the callback for the given type and name. - // Otherwise, if a null callback was specified, remove callbacks of the given name. - if (callback != null && typeof callback !== "function") throw new Error("invalid callback: " + callback); - while (++i < n) { - if (t = (typename = T[i]).type) _[t] = set$1(_[t], typename.name, callback); - else if (callback == null) for (t in _) _[t] = set$1(_[t], typename.name, null); - } - - return this; - }, - copy: function() { - var copy = {}, _ = this._; - for (var t in _) copy[t] = _[t].slice(); - return new Dispatch(copy); - }, - call: function(type, that) { - if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2]; - if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); - for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); - }, - apply: function(type, that, args) { - if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); - for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); - } - }; - - function get$1(type, name) { - for (var i = 0, n = type.length, c; i < n; ++i) { - if ((c = type[i]).name === name) { - return c.value; - } - } - } - - function set$1(type, name, callback) { - for (var i = 0, n = type.length; i < n; ++i) { - if (type[i].name === name) { - type[i] = noop$3, type = type.slice(0, i).concat(type.slice(i + 1)); - break; - } - } - if (callback != null) type.push({name: name, value: callback}); - return type; - } - - var xhtml = "http://www.w3.org/1999/xhtml"; - - var namespaces = { - svg: "http://www.w3.org/2000/svg", - xhtml: xhtml, - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/" - }; - - function namespace(name) { - var prefix = name += "", i = prefix.indexOf(":"); - if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1); - return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins - } - - function creatorInherit(name) { - return function() { - var document = this.ownerDocument, - uri = this.namespaceURI; - return uri === xhtml && document.documentElement.namespaceURI === xhtml - ? document.createElement(name) - : document.createElementNS(uri, name); - }; - } - - function creatorFixed(fullname) { - return function() { - return this.ownerDocument.createElementNS(fullname.space, fullname.local); - }; - } - - function creator(name) { - var fullname = namespace(name); - return (fullname.local - ? creatorFixed - : creatorInherit)(fullname); - } - - function none$2() {} - - function selector(selector) { - return selector == null ? none$2 : function() { - return this.querySelector(selector); - }; - } - - function selection_select(select) { - if (typeof select !== "function") select = selector(select); - - for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { - if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { - if ("__data__" in node) subnode.__data__ = node.__data__; - subgroup[i] = subnode; - } - } - } - - return new Selection$1(subgroups, this._parents); - } - - function array$4(x) { - return typeof x === "object" && "length" in x - ? x // Array, TypedArray, NodeList, array-like - : Array.from(x); // Map, Set, iterable, string, or anything else - } - - function empty$1() { - return []; - } - - function selectorAll(selector) { - return selector == null ? empty$1 : function() { - return this.querySelectorAll(selector); - }; - } - - function arrayAll(select) { - return function() { - var group = select.apply(this, arguments); - return group == null ? [] : array$4(group); - }; - } - - function selection_selectAll(select) { - if (typeof select === "function") select = arrayAll(select); - else select = selectorAll(select); - - for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { - if (node = group[i]) { - subgroups.push(select.call(node, node.__data__, i, group)); - parents.push(node); - } - } - } - - return new Selection$1(subgroups, parents); - } - - function matcher(selector) { - return function() { - return this.matches(selector); - }; - } - - function childMatcher(selector) { - return function(node) { - return node.matches(selector); - }; - } - - var find$1 = Array.prototype.find; - - function childFind(match) { - return function() { - return find$1.call(this.children, match); - }; - } - - function childFirst() { - return this.firstElementChild; - } - - function selection_selectChild(match) { - return this.select(match == null ? childFirst - : childFind(typeof match === "function" ? match : childMatcher(match))); - } - - var filter = Array.prototype.filter; - - function children() { - return this.children; - } - - function childrenFilter(match) { - return function() { - return filter.call(this.children, match); - }; - } - - function selection_selectChildren(match) { - return this.selectAll(match == null ? children - : childrenFilter(typeof match === "function" ? match : childMatcher(match))); - } - - function selection_filter(match) { - if (typeof match !== "function") match = matcher(match); - - for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { - if ((node = group[i]) && match.call(node, node.__data__, i, group)) { - subgroup.push(node); - } - } - } - - return new Selection$1(subgroups, this._parents); - } - - function sparse(update) { - return new Array(update.length); - } - - function selection_enter() { - return new Selection$1(this._enter || this._groups.map(sparse), this._parents); - } - - function EnterNode(parent, datum) { - this.ownerDocument = parent.ownerDocument; - this.namespaceURI = parent.namespaceURI; - this._next = null; - this._parent = parent; - this.__data__ = datum; - } - - EnterNode.prototype = { - constructor: EnterNode, - appendChild: function(child) { return this._parent.insertBefore(child, this._next); }, - insertBefore: function(child, next) { return this._parent.insertBefore(child, next); }, - querySelector: function(selector) { return this._parent.querySelector(selector); }, - querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); } - }; - - function constant$a(x) { - return function() { - return x; - }; - } - - function bindIndex(parent, group, enter, update, exit, data) { - var i = 0, - node, - groupLength = group.length, - dataLength = data.length; - - // Put any non-null nodes that fit into update. - // Put any null nodes into enter. - // Put any remaining data into enter. - for (; i < dataLength; ++i) { - if (node = group[i]) { - node.__data__ = data[i]; - update[i] = node; - } else { - enter[i] = new EnterNode(parent, data[i]); - } - } - - // Put any non-null nodes that don’t fit into exit. - for (; i < groupLength; ++i) { - if (node = group[i]) { - exit[i] = node; - } - } - } - - function bindKey(parent, group, enter, update, exit, data, key) { - var i, - node, - nodeByKeyValue = new Map, - groupLength = group.length, - dataLength = data.length, - keyValues = new Array(groupLength), - keyValue; - - // Compute the key for each node. - // If multiple nodes have the same key, the duplicates are added to exit. - for (i = 0; i < groupLength; ++i) { - if (node = group[i]) { - keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + ""; - if (nodeByKeyValue.has(keyValue)) { - exit[i] = node; - } else { - nodeByKeyValue.set(keyValue, node); - } - } - } - - // Compute the key for each datum. - // If there a node associated with this key, join and add it to update. - // If there is not (or the key is a duplicate), add it to enter. - for (i = 0; i < dataLength; ++i) { - keyValue = key.call(parent, data[i], i, data) + ""; - if (node = nodeByKeyValue.get(keyValue)) { - update[i] = node; - node.__data__ = data[i]; - nodeByKeyValue.delete(keyValue); - } else { - enter[i] = new EnterNode(parent, data[i]); - } - } - - // Add any remaining nodes that were not bound to data to exit. - for (i = 0; i < groupLength; ++i) { - if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) { - exit[i] = node; - } - } - } - - function datum(node) { - return node.__data__; - } - - function selection_data(value, key) { - if (!arguments.length) return Array.from(this, datum); - - var bind = key ? bindKey : bindIndex, - parents = this._parents, - groups = this._groups; - - if (typeof value !== "function") value = constant$a(value); - - for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) { - var parent = parents[j], - group = groups[j], - groupLength = group.length, - data = array$4(value.call(parent, parent && parent.__data__, j, parents)), - dataLength = data.length, - enterGroup = enter[j] = new Array(dataLength), - updateGroup = update[j] = new Array(dataLength), - exitGroup = exit[j] = new Array(groupLength); - - bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); - - // Now connect the enter nodes to their following update node, such that - // appendChild can insert the materialized enter node before this node, - // rather than at the end of the parent node. - for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) { - if (previous = enterGroup[i0]) { - if (i0 >= i1) i1 = i0 + 1; - while (!(next = updateGroup[i1]) && ++i1 < dataLength); - previous._next = next || null; - } - } - } - - update = new Selection$1(update, parents); - update._enter = enter; - update._exit = exit; - return update; - } - - function selection_exit() { - return new Selection$1(this._exit || this._groups.map(sparse), this._parents); - } - - function selection_join(onenter, onupdate, onexit) { - var enter = this.enter(), update = this, exit = this.exit(); - enter = typeof onenter === "function" ? onenter(enter) : enter.append(onenter + ""); - if (onupdate != null) update = onupdate(update); - if (onexit == null) exit.remove(); else onexit(exit); - return enter && update ? enter.merge(update).order() : update; - } - - function selection_merge(selection) { - if (!(selection instanceof Selection$1)) throw new Error("invalid merge"); - - for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { - for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { - if (node = group0[i] || group1[i]) { - merge[i] = node; - } - } - } - - for (; j < m0; ++j) { - merges[j] = groups0[j]; - } - - return new Selection$1(merges, this._parents); - } - - function selection_order() { - - for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) { - for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) { - if (node = group[i]) { - if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next); - next = node; - } - } - } - - return this; - } - - function selection_sort(compare) { - if (!compare) compare = ascending$2; - - function compareNode(a, b) { - return a && b ? compare(a.__data__, b.__data__) : !a - !b; - } - - for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) { - if (node = group[i]) { - sortgroup[i] = node; - } - } - sortgroup.sort(compareNode); - } - - return new Selection$1(sortgroups, this._parents).order(); - } - - function ascending$2(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } - - function selection_call() { - var callback = arguments[0]; - arguments[0] = this; - callback.apply(null, arguments); - return this; - } - - function selection_nodes() { - return Array.from(this); - } - - function selection_node() { - - for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { - for (var group = groups[j], i = 0, n = group.length; i < n; ++i) { - var node = group[i]; - if (node) return node; - } - } - - return null; - } - - function selection_size() { - let size = 0; - for (const node of this) ++size; // eslint-disable-line no-unused-vars - return size; - } - - function selection_empty() { - return !this.node(); - } - - function selection_each(callback) { - - for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { - for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { - if (node = group[i]) callback.call(node, node.__data__, i, group); - } - } - - return this; - } - - function attrRemove$1(name) { - return function() { - this.removeAttribute(name); - }; - } - - function attrRemoveNS$1(fullname) { - return function() { - this.removeAttributeNS(fullname.space, fullname.local); - }; - } - - function attrConstant$1(name, value) { - return function() { - this.setAttribute(name, value); - }; - } - - function attrConstantNS$1(fullname, value) { - return function() { - this.setAttributeNS(fullname.space, fullname.local, value); - }; - } - - function attrFunction$1(name, value) { - return function() { - var v = value.apply(this, arguments); - if (v == null) this.removeAttribute(name); - else this.setAttribute(name, v); - }; - } - - function attrFunctionNS$1(fullname, value) { - return function() { - var v = value.apply(this, arguments); - if (v == null) this.removeAttributeNS(fullname.space, fullname.local); - else this.setAttributeNS(fullname.space, fullname.local, v); - }; - } - - function selection_attr(name, value) { - var fullname = namespace(name); - - if (arguments.length < 2) { - var node = this.node(); - return fullname.local - ? node.getAttributeNS(fullname.space, fullname.local) - : node.getAttribute(fullname); - } - - return this.each((value == null - ? (fullname.local ? attrRemoveNS$1 : attrRemove$1) : (typeof value === "function" - ? (fullname.local ? attrFunctionNS$1 : attrFunction$1) - : (fullname.local ? attrConstantNS$1 : attrConstant$1)))(fullname, value)); - } - - function defaultView(node) { - return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node - || (node.document && node) // node is a Window - || node.defaultView; // node is a Document - } - - function styleRemove$1(name) { - return function() { - this.style.removeProperty(name); - }; - } - - function styleConstant$1(name, value, priority) { - return function() { - this.style.setProperty(name, value, priority); - }; - } - - function styleFunction$1(name, value, priority) { - return function() { - var v = value.apply(this, arguments); - if (v == null) this.style.removeProperty(name); - else this.style.setProperty(name, v, priority); - }; - } - - function selection_style(name, value, priority) { - return arguments.length > 1 - ? this.each((value == null - ? styleRemove$1 : typeof value === "function" - ? styleFunction$1 - : styleConstant$1)(name, value, priority == null ? "" : priority)) - : styleValue(this.node(), name); - } - - function styleValue(node, name) { - return node.style.getPropertyValue(name) - || defaultView(node).getComputedStyle(node, null).getPropertyValue(name); - } - - function propertyRemove(name) { - return function() { - delete this[name]; - }; - } - - function propertyConstant(name, value) { - return function() { - this[name] = value; - }; - } - - function propertyFunction(name, value) { - return function() { - var v = value.apply(this, arguments); - if (v == null) delete this[name]; - else this[name] = v; - }; - } - - function selection_property(name, value) { - return arguments.length > 1 - ? this.each((value == null - ? propertyRemove : typeof value === "function" - ? propertyFunction - : propertyConstant)(name, value)) - : this.node()[name]; - } - - function classArray(string) { - return string.trim().split(/^|\s+/); - } - - function classList(node) { - return node.classList || new ClassList(node); - } - - function ClassList(node) { - this._node = node; - this._names = classArray(node.getAttribute("class") || ""); - } - - ClassList.prototype = { - add: function(name) { - var i = this._names.indexOf(name); - if (i < 0) { - this._names.push(name); - this._node.setAttribute("class", this._names.join(" ")); - } - }, - remove: function(name) { - var i = this._names.indexOf(name); - if (i >= 0) { - this._names.splice(i, 1); - this._node.setAttribute("class", this._names.join(" ")); - } - }, - contains: function(name) { - return this._names.indexOf(name) >= 0; - } - }; - - function classedAdd(node, names) { - var list = classList(node), i = -1, n = names.length; - while (++i < n) list.add(names[i]); - } - - function classedRemove(node, names) { - var list = classList(node), i = -1, n = names.length; - while (++i < n) list.remove(names[i]); - } - - function classedTrue(names) { - return function() { - classedAdd(this, names); - }; - } - - function classedFalse(names) { - return function() { - classedRemove(this, names); - }; - } - - function classedFunction(names, value) { - return function() { - (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names); - }; - } - - function selection_classed(name, value) { - var names = classArray(name + ""); - - if (arguments.length < 2) { - var list = classList(this.node()), i = -1, n = names.length; - while (++i < n) if (!list.contains(names[i])) return false; - return true; - } - - return this.each((typeof value === "function" - ? classedFunction : value - ? classedTrue - : classedFalse)(names, value)); - } - - function textRemove() { - this.textContent = ""; - } - - function textConstant$1(value) { - return function() { - this.textContent = value; - }; - } - - function textFunction$1(value) { - return function() { - var v = value.apply(this, arguments); - this.textContent = v == null ? "" : v; - }; - } - - function selection_text(value) { - return arguments.length - ? this.each(value == null - ? textRemove : (typeof value === "function" - ? textFunction$1 - : textConstant$1)(value)) - : this.node().textContent; - } - - function htmlRemove() { - this.innerHTML = ""; - } - - function htmlConstant(value) { - return function() { - this.innerHTML = value; - }; - } - - function htmlFunction(value) { - return function() { - var v = value.apply(this, arguments); - this.innerHTML = v == null ? "" : v; - }; - } - - function selection_html(value) { - return arguments.length - ? this.each(value == null - ? htmlRemove : (typeof value === "function" - ? htmlFunction - : htmlConstant)(value)) - : this.node().innerHTML; - } - - function raise() { - if (this.nextSibling) this.parentNode.appendChild(this); - } - - function selection_raise() { - return this.each(raise); - } - - function lower() { - if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild); - } - - function selection_lower() { - return this.each(lower); - } - - function selection_append(name) { - var create = typeof name === "function" ? name : creator(name); - return this.select(function() { - return this.appendChild(create.apply(this, arguments)); - }); - } - - function constantNull() { - return null; - } - - function selection_insert(name, before) { - var create = typeof name === "function" ? name : creator(name), - select = before == null ? constantNull : typeof before === "function" ? before : selector(before); - return this.select(function() { - return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null); - }); - } - - function remove() { - var parent = this.parentNode; - if (parent) parent.removeChild(this); - } - - function selection_remove() { - return this.each(remove); - } - - function selection_cloneShallow() { - var clone = this.cloneNode(false), parent = this.parentNode; - return parent ? parent.insertBefore(clone, this.nextSibling) : clone; - } - - function selection_cloneDeep() { - var clone = this.cloneNode(true), parent = this.parentNode; - return parent ? parent.insertBefore(clone, this.nextSibling) : clone; - } - - function selection_clone(deep) { - return this.select(deep ? selection_cloneDeep : selection_cloneShallow); - } - - function selection_datum(value) { - return arguments.length - ? this.property("__data__", value) - : this.node().__data__; - } - - function contextListener(listener) { - return function(event) { - listener.call(this, event, this.__data__); - }; - } - - function parseTypenames(typenames) { - return typenames.trim().split(/^|\s+/).map(function(t) { - var name = "", i = t.indexOf("."); - if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); - return {type: t, name: name}; - }); - } - - function onRemove(typename) { - return function() { - var on = this.__on; - if (!on) return; - for (var j = 0, i = -1, m = on.length, o; j < m; ++j) { - if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) { - this.removeEventListener(o.type, o.listener, o.options); - } else { - on[++i] = o; - } - } - if (++i) on.length = i; - else delete this.__on; - }; - } - - function onAdd(typename, value, options) { - return function() { - var on = this.__on, o, listener = contextListener(value); - if (on) for (var j = 0, m = on.length; j < m; ++j) { - if ((o = on[j]).type === typename.type && o.name === typename.name) { - this.removeEventListener(o.type, o.listener, o.options); - this.addEventListener(o.type, o.listener = listener, o.options = options); - o.value = value; - return; - } - } - this.addEventListener(typename.type, listener, options); - o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options}; - if (!on) this.__on = [o]; - else on.push(o); - }; - } - - function selection_on(typename, value, options) { - var typenames = parseTypenames(typename + ""), i, n = typenames.length, t; - - if (arguments.length < 2) { - var on = this.node().__on; - if (on) for (var j = 0, m = on.length, o; j < m; ++j) { - for (i = 0, o = on[j]; i < n; ++i) { - if ((t = typenames[i]).type === o.type && t.name === o.name) { - return o.value; - } - } - } - return; - } - - on = value ? onAdd : onRemove; - for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options)); - return this; - } - - function dispatchEvent(node, type, params) { - var window = defaultView(node), - event = window.CustomEvent; - - if (typeof event === "function") { - event = new event(type, params); - } else { - event = window.document.createEvent("Event"); - if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail; - else event.initEvent(type, false, false); - } - - node.dispatchEvent(event); - } - - function dispatchConstant(type, params) { - return function() { - return dispatchEvent(this, type, params); - }; - } - - function dispatchFunction(type, params) { - return function() { - return dispatchEvent(this, type, params.apply(this, arguments)); - }; - } - - function selection_dispatch(type, params) { - return this.each((typeof params === "function" - ? dispatchFunction - : dispatchConstant)(type, params)); - } - - function* selection_iterator() { - for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { - for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { - if (node = group[i]) yield node; - } - } - } - - var root$1 = [null]; - - function Selection$1(groups, parents) { - this._groups = groups; - this._parents = parents; - } - - function selection() { - return new Selection$1([[document.documentElement]], root$1); - } - - function selection_selection() { - return this; - } - - Selection$1.prototype = selection.prototype = { - constructor: Selection$1, - select: selection_select, - selectAll: selection_selectAll, - selectChild: selection_selectChild, - selectChildren: selection_selectChildren, - filter: selection_filter, - data: selection_data, - enter: selection_enter, - exit: selection_exit, - join: selection_join, - merge: selection_merge, - selection: selection_selection, - order: selection_order, - sort: selection_sort, - call: selection_call, - nodes: selection_nodes, - node: selection_node, - size: selection_size, - empty: selection_empty, - each: selection_each, - attr: selection_attr, - style: selection_style, - property: selection_property, - classed: selection_classed, - text: selection_text, - html: selection_html, - raise: selection_raise, - lower: selection_lower, - append: selection_append, - insert: selection_insert, - remove: selection_remove, - clone: selection_clone, - datum: selection_datum, - on: selection_on, - dispatch: selection_dispatch, - [Symbol.iterator]: selection_iterator - }; - - function select(selector) { - return typeof selector === "string" - ? new Selection$1([[document.querySelector(selector)]], [document.documentElement]) - : new Selection$1([[selector]], root$1); - } - - function create$1(name) { - return select(creator(name).call(document.documentElement)); - } - - var nextId = 0; - - function local$1() { - return new Local; - } - - function Local() { - this._ = "@" + (++nextId).toString(36); - } - - Local.prototype = local$1.prototype = { - constructor: Local, - get: function(node) { - var id = this._; - while (!(id in node)) if (!(node = node.parentNode)) return; - return node[id]; - }, - set: function(node, value) { - return node[this._] = value; - }, - remove: function(node) { - return this._ in node && delete node[this._]; - }, - toString: function() { - return this._; - } - }; - - function sourceEvent(event) { - let sourceEvent; - while (sourceEvent = event.sourceEvent) event = sourceEvent; - return event; - } - - function pointer(event, node) { - event = sourceEvent(event); - if (node === undefined) node = event.currentTarget; - if (node) { - var svg = node.ownerSVGElement || node; - if (svg.createSVGPoint) { - var point = svg.createSVGPoint(); - point.x = event.clientX, point.y = event.clientY; - point = point.matrixTransform(node.getScreenCTM().inverse()); - return [point.x, point.y]; - } - if (node.getBoundingClientRect) { - var rect = node.getBoundingClientRect(); - return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop]; - } - } - return [event.pageX, event.pageY]; - } - - function pointers(events, node) { - if (events.target) { // i.e., instanceof Event, not TouchList or iterable - events = sourceEvent(events); - if (node === undefined) node = events.currentTarget; - events = events.touches || [events]; - } - return Array.from(events, event => pointer(event, node)); - } - - function selectAll(selector) { - return typeof selector === "string" - ? new Selection$1([document.querySelectorAll(selector)], [document.documentElement]) - : new Selection$1([selector == null ? [] : array$4(selector)], root$1); - } - - function nopropagation$2(event) { - event.stopImmediatePropagation(); - } - - function noevent$2(event) { - event.preventDefault(); - event.stopImmediatePropagation(); - } - - function dragDisable(view) { - var root = view.document.documentElement, - selection = select(view).on("dragstart.drag", noevent$2, true); - if ("onselectstart" in root) { - selection.on("selectstart.drag", noevent$2, true); - } else { - root.__noselect = root.style.MozUserSelect; - root.style.MozUserSelect = "none"; - } - } - - function yesdrag(view, noclick) { - var root = view.document.documentElement, - selection = select(view).on("dragstart.drag", null); - if (noclick) { - selection.on("click.drag", noevent$2, true); - setTimeout(function() { selection.on("click.drag", null); }, 0); - } - if ("onselectstart" in root) { - selection.on("selectstart.drag", null); - } else { - root.style.MozUserSelect = root.__noselect; - delete root.__noselect; - } - } - - var constant$9 = x => () => x; - - function DragEvent(type, { - sourceEvent, - subject, - target, - identifier, - active, - x, y, dx, dy, - dispatch - }) { - Object.defineProperties(this, { - type: {value: type, enumerable: true, configurable: true}, - sourceEvent: {value: sourceEvent, enumerable: true, configurable: true}, - subject: {value: subject, enumerable: true, configurable: true}, - target: {value: target, enumerable: true, configurable: true}, - identifier: {value: identifier, enumerable: true, configurable: true}, - active: {value: active, enumerable: true, configurable: true}, - x: {value: x, enumerable: true, configurable: true}, - y: {value: y, enumerable: true, configurable: true}, - dx: {value: dx, enumerable: true, configurable: true}, - dy: {value: dy, enumerable: true, configurable: true}, - _: {value: dispatch} - }); - } - - DragEvent.prototype.on = function() { - var value = this._.on.apply(this._, arguments); - return value === this._ ? this : value; - }; - -// Ignore right-click, since that should open the context menu. - function defaultFilter$2(event) { - return !event.ctrlKey && !event.button; - } - - function defaultContainer() { - return this.parentNode; - } - - function defaultSubject(event, d) { - return d == null ? {x: event.x, y: event.y} : d; - } - - function defaultTouchable$2() { - return navigator.maxTouchPoints || ("ontouchstart" in this); - } - - function drag() { - var filter = defaultFilter$2, - container = defaultContainer, - subject = defaultSubject, - touchable = defaultTouchable$2, - gestures = {}, - listeners = dispatch("start", "drag", "end"), - active = 0, - mousedownx, - mousedowny, - mousemoving, - touchending, - clickDistance2 = 0; - - function drag(selection) { - selection - .on("mousedown.drag", mousedowned) - .filter(touchable) - .on("touchstart.drag", touchstarted) - .on("touchmove.drag", touchmoved) - .on("touchend.drag touchcancel.drag", touchended) - .style("touch-action", "none") - .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); - } - - function mousedowned(event, d) { - if (touchending || !filter.call(this, event, d)) return; - var gesture = beforestart(this, container.call(this, event, d), event, d, "mouse"); - if (!gesture) return; - select(event.view).on("mousemove.drag", mousemoved, true).on("mouseup.drag", mouseupped, true); - dragDisable(event.view); - nopropagation$2(event); - mousemoving = false; - mousedownx = event.clientX; - mousedowny = event.clientY; - gesture("start", event); - } - - function mousemoved(event) { - noevent$2(event); - if (!mousemoving) { - var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny; - mousemoving = dx * dx + dy * dy > clickDistance2; - } - gestures.mouse("drag", event); - } - - function mouseupped(event) { - select(event.view).on("mousemove.drag mouseup.drag", null); - yesdrag(event.view, mousemoving); - noevent$2(event); - gestures.mouse("end", event); - } - - function touchstarted(event, d) { - if (!filter.call(this, event, d)) return; - var touches = event.changedTouches, - c = container.call(this, event, d), - n = touches.length, i, gesture; - - for (i = 0; i < n; ++i) { - if (gesture = beforestart(this, c, event, d, touches[i].identifier, touches[i])) { - nopropagation$2(event); - gesture("start", event, touches[i]); - } - } - } - - function touchmoved(event) { - var touches = event.changedTouches, - n = touches.length, i, gesture; - - for (i = 0; i < n; ++i) { - if (gesture = gestures[touches[i].identifier]) { - noevent$2(event); - gesture("drag", event, touches[i]); - } - } - } - - function touchended(event) { - var touches = event.changedTouches, - n = touches.length, i, gesture; - - if (touchending) clearTimeout(touchending); - touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed! - for (i = 0; i < n; ++i) { - if (gesture = gestures[touches[i].identifier]) { - nopropagation$2(event); - gesture("end", event, touches[i]); - } - } - } - - function beforestart(that, container, event, d, identifier, touch) { - var dispatch = listeners.copy(), - p = pointer(touch || event, container), dx, dy, - s; - - if ((s = subject.call(that, new DragEvent("beforestart", { - sourceEvent: event, - target: drag, - identifier, - active, - x: p[0], - y: p[1], - dx: 0, - dy: 0, - dispatch - }), d)) == null) return; - - dx = s.x - p[0] || 0; - dy = s.y - p[1] || 0; - - return function gesture(type, event, touch) { - var p0 = p, n; - switch (type) { - case "start": gestures[identifier] = gesture, n = active++; break; - case "end": delete gestures[identifier], --active; // nobreak - case "drag": p = pointer(touch || event, container), n = active; break; - } - dispatch.call( - type, - that, - new DragEvent(type, { - sourceEvent: event, - subject: s, - target: drag, - identifier, - active: n, - x: p[0] + dx, - y: p[1] + dy, - dx: p[0] - p0[0], - dy: p[1] - p0[1], - dispatch - }), - d - ); - }; - } - - drag.filter = function(_) { - return arguments.length ? (filter = typeof _ === "function" ? _ : constant$9(!!_), drag) : filter; - }; - - drag.container = function(_) { - return arguments.length ? (container = typeof _ === "function" ? _ : constant$9(_), drag) : container; - }; - - drag.subject = function(_) { - return arguments.length ? (subject = typeof _ === "function" ? _ : constant$9(_), drag) : subject; - }; - - drag.touchable = function(_) { - return arguments.length ? (touchable = typeof _ === "function" ? _ : constant$9(!!_), drag) : touchable; - }; - - drag.on = function() { - var value = listeners.on.apply(listeners, arguments); - return value === listeners ? drag : value; - }; - - drag.clickDistance = function(_) { - return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2); - }; - - return drag; - } - - function define(constructor, factory, prototype) { - constructor.prototype = factory.prototype = prototype; - prototype.constructor = constructor; - } - - function extend(parent, definition) { - var prototype = Object.create(parent.prototype); - for (var key in definition) prototype[key] = definition[key]; - return prototype; - } - - function Color() {} - - var darker = 0.7; - var brighter = 1 / darker; - - var reI = "\\s*([+-]?\\d+)\\s*", - reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", - reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", - reHex = /^#([0-9a-f]{3,8})$/, - reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"), - reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"), - reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"), - reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"), - reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"), - reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$"); - - var named = { - aliceblue: 0xf0f8ff, - antiquewhite: 0xfaebd7, - aqua: 0x00ffff, - aquamarine: 0x7fffd4, - azure: 0xf0ffff, - beige: 0xf5f5dc, - bisque: 0xffe4c4, - black: 0x000000, - blanchedalmond: 0xffebcd, - blue: 0x0000ff, - blueviolet: 0x8a2be2, - brown: 0xa52a2a, - burlywood: 0xdeb887, - cadetblue: 0x5f9ea0, - chartreuse: 0x7fff00, - chocolate: 0xd2691e, - coral: 0xff7f50, - cornflowerblue: 0x6495ed, - cornsilk: 0xfff8dc, - crimson: 0xdc143c, - cyan: 0x00ffff, - darkblue: 0x00008b, - darkcyan: 0x008b8b, - darkgoldenrod: 0xb8860b, - darkgray: 0xa9a9a9, - darkgreen: 0x006400, - darkgrey: 0xa9a9a9, - darkkhaki: 0xbdb76b, - darkmagenta: 0x8b008b, - darkolivegreen: 0x556b2f, - darkorange: 0xff8c00, - darkorchid: 0x9932cc, - darkred: 0x8b0000, - darksalmon: 0xe9967a, - darkseagreen: 0x8fbc8f, - darkslateblue: 0x483d8b, - darkslategray: 0x2f4f4f, - darkslategrey: 0x2f4f4f, - darkturquoise: 0x00ced1, - darkviolet: 0x9400d3, - deeppink: 0xff1493, - deepskyblue: 0x00bfff, - dimgray: 0x696969, - dimgrey: 0x696969, - dodgerblue: 0x1e90ff, - firebrick: 0xb22222, - floralwhite: 0xfffaf0, - forestgreen: 0x228b22, - fuchsia: 0xff00ff, - gainsboro: 0xdcdcdc, - ghostwhite: 0xf8f8ff, - gold: 0xffd700, - goldenrod: 0xdaa520, - gray: 0x808080, - green: 0x008000, - greenyellow: 0xadff2f, - grey: 0x808080, - honeydew: 0xf0fff0, - hotpink: 0xff69b4, - indianred: 0xcd5c5c, - indigo: 0x4b0082, - ivory: 0xfffff0, - khaki: 0xf0e68c, - lavender: 0xe6e6fa, - lavenderblush: 0xfff0f5, - lawngreen: 0x7cfc00, - lemonchiffon: 0xfffacd, - lightblue: 0xadd8e6, - lightcoral: 0xf08080, - lightcyan: 0xe0ffff, - lightgoldenrodyellow: 0xfafad2, - lightgray: 0xd3d3d3, - lightgreen: 0x90ee90, - lightgrey: 0xd3d3d3, - lightpink: 0xffb6c1, - lightsalmon: 0xffa07a, - lightseagreen: 0x20b2aa, - lightskyblue: 0x87cefa, - lightslategray: 0x778899, - lightslategrey: 0x778899, - lightsteelblue: 0xb0c4de, - lightyellow: 0xffffe0, - lime: 0x00ff00, - limegreen: 0x32cd32, - linen: 0xfaf0e6, - magenta: 0xff00ff, - maroon: 0x800000, - mediumaquamarine: 0x66cdaa, - mediumblue: 0x0000cd, - mediumorchid: 0xba55d3, - mediumpurple: 0x9370db, - mediumseagreen: 0x3cb371, - mediumslateblue: 0x7b68ee, - mediumspringgreen: 0x00fa9a, - mediumturquoise: 0x48d1cc, - mediumvioletred: 0xc71585, - midnightblue: 0x191970, - mintcream: 0xf5fffa, - mistyrose: 0xffe4e1, - moccasin: 0xffe4b5, - navajowhite: 0xffdead, - navy: 0x000080, - oldlace: 0xfdf5e6, - olive: 0x808000, - olivedrab: 0x6b8e23, - orange: 0xffa500, - orangered: 0xff4500, - orchid: 0xda70d6, - palegoldenrod: 0xeee8aa, - palegreen: 0x98fb98, - paleturquoise: 0xafeeee, - palevioletred: 0xdb7093, - papayawhip: 0xffefd5, - peachpuff: 0xffdab9, - peru: 0xcd853f, - pink: 0xffc0cb, - plum: 0xdda0dd, - powderblue: 0xb0e0e6, - purple: 0x800080, - rebeccapurple: 0x663399, - red: 0xff0000, - rosybrown: 0xbc8f8f, - royalblue: 0x4169e1, - saddlebrown: 0x8b4513, - salmon: 0xfa8072, - sandybrown: 0xf4a460, - seagreen: 0x2e8b57, - seashell: 0xfff5ee, - sienna: 0xa0522d, - silver: 0xc0c0c0, - skyblue: 0x87ceeb, - slateblue: 0x6a5acd, - slategray: 0x708090, - slategrey: 0x708090, - snow: 0xfffafa, - springgreen: 0x00ff7f, - steelblue: 0x4682b4, - tan: 0xd2b48c, - teal: 0x008080, - thistle: 0xd8bfd8, - tomato: 0xff6347, - turquoise: 0x40e0d0, - violet: 0xee82ee, - wheat: 0xf5deb3, - white: 0xffffff, - whitesmoke: 0xf5f5f5, - yellow: 0xffff00, - yellowgreen: 0x9acd32 - }; - - define(Color, color, { - copy: function(channels) { - return Object.assign(new this.constructor, this, channels); - }, - displayable: function() { - return this.rgb().displayable(); - }, - hex: color_formatHex, // Deprecated! Use color.formatHex. - formatHex: color_formatHex, - formatHsl: color_formatHsl, - formatRgb: color_formatRgb, - toString: color_formatRgb - }); - - function color_formatHex() { - return this.rgb().formatHex(); - } - - function color_formatHsl() { - return hslConvert(this).formatHsl(); - } - - function color_formatRgb() { - return this.rgb().formatRgb(); - } - - function color(format) { - var m, l; - format = (format + "").trim().toLowerCase(); - return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000 - : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00 - : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000 - : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000 - : null) // invalid hex - : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0) - : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%) - : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1) - : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1) - : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%) - : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1) - : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins - : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) - : null; - } - - function rgbn(n) { - return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1); - } - - function rgba(r, g, b, a) { - if (a <= 0) r = g = b = NaN; - return new Rgb(r, g, b, a); - } - - function rgbConvert(o) { - if (!(o instanceof Color)) o = color(o); - if (!o) return new Rgb; - o = o.rgb(); - return new Rgb(o.r, o.g, o.b, o.opacity); - } - - function rgb(r, g, b, opacity) { - return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); - } - - function Rgb(r, g, b, opacity) { - this.r = +r; - this.g = +g; - this.b = +b; - this.opacity = +opacity; - } - - define(Rgb, rgb, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); - }, - rgb: function() { - return this; - }, - displayable: function() { - return (-0.5 <= this.r && this.r < 255.5) - && (-0.5 <= this.g && this.g < 255.5) - && (-0.5 <= this.b && this.b < 255.5) - && (0 <= this.opacity && this.opacity <= 1); - }, - hex: rgb_formatHex, // Deprecated! Use color.formatHex. - formatHex: rgb_formatHex, - formatRgb: rgb_formatRgb, - toString: rgb_formatRgb - })); - - function rgb_formatHex() { - return "#" + hex(this.r) + hex(this.g) + hex(this.b); - } - - function rgb_formatRgb() { - var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a)); - return (a === 1 ? "rgb(" : "rgba(") - + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " - + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " - + Math.max(0, Math.min(255, Math.round(this.b) || 0)) - + (a === 1 ? ")" : ", " + a + ")"); - } - - function hex(value) { - value = Math.max(0, Math.min(255, Math.round(value) || 0)); - return (value < 16 ? "0" : "") + value.toString(16); - } - - function hsla(h, s, l, a) { - if (a <= 0) h = s = l = NaN; - else if (l <= 0 || l >= 1) h = s = NaN; - else if (s <= 0) h = NaN; - return new Hsl(h, s, l, a); - } - - function hslConvert(o) { - if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); - if (!(o instanceof Color)) o = color(o); - if (!o) return new Hsl; - if (o instanceof Hsl) return o; - o = o.rgb(); - var r = o.r / 255, - g = o.g / 255, - b = o.b / 255, - min = Math.min(r, g, b), - max = Math.max(r, g, b), - h = NaN, - s = max - min, - l = (max + min) / 2; - if (s) { - if (r === max) h = (g - b) / s + (g < b) * 6; - else if (g === max) h = (b - r) / s + 2; - else h = (r - g) / s + 4; - s /= l < 0.5 ? max + min : 2 - max - min; - h *= 60; - } else { - s = l > 0 && l < 1 ? 0 : h; - } - return new Hsl(h, s, l, o.opacity); - } - - function hsl$2(h, s, l, opacity) { - return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); - } - - function Hsl(h, s, l, opacity) { - this.h = +h; - this.s = +s; - this.l = +l; - this.opacity = +opacity; - } - - define(Hsl, hsl$2, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Hsl(this.h, this.s, this.l * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Hsl(this.h, this.s, this.l * k, this.opacity); - }, - rgb: function() { - var h = this.h % 360 + (this.h < 0) * 360, - s = isNaN(h) || isNaN(this.s) ? 0 : this.s, - l = this.l, - m2 = l + (l < 0.5 ? l : 1 - l) * s, - m1 = 2 * l - m2; - return new Rgb( - hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), - hsl2rgb(h, m1, m2), - hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), - this.opacity - ); - }, - displayable: function() { - return (0 <= this.s && this.s <= 1 || isNaN(this.s)) - && (0 <= this.l && this.l <= 1) - && (0 <= this.opacity && this.opacity <= 1); - }, - formatHsl: function() { - var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a)); - return (a === 1 ? "hsl(" : "hsla(") - + (this.h || 0) + ", " - + (this.s || 0) * 100 + "%, " - + (this.l || 0) * 100 + "%" - + (a === 1 ? ")" : ", " + a + ")"); - } - })); - - /* From FvD 13.37, CSS Color Module Level 3 */ - function hsl2rgb(h, m1, m2) { - return (h < 60 ? m1 + (m2 - m1) * h / 60 - : h < 180 ? m2 - : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 - : m1) * 255; - } - - const radians$1 = Math.PI / 180; - const degrees$2 = 180 / Math.PI; - -// https://observablehq.com/@mbostock/lab-and-rgb - const K = 18, - Xn = 0.96422, - Yn = 1, - Zn = 0.82521, - t0$1 = 4 / 29, - t1$1 = 6 / 29, - t2 = 3 * t1$1 * t1$1, - t3 = t1$1 * t1$1 * t1$1; - - function labConvert(o) { - if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity); - if (o instanceof Hcl) return hcl2lab(o); - if (!(o instanceof Rgb)) o = rgbConvert(o); - var r = rgb2lrgb(o.r), - g = rgb2lrgb(o.g), - b = rgb2lrgb(o.b), - y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z; - if (r === g && g === b) x = z = y; else { - x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn); - z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn); - } - return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity); - } - - function gray(l, opacity) { - return new Lab(l, 0, 0, opacity == null ? 1 : opacity); - } - - function lab$1(l, a, b, opacity) { - return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity); - } - - function Lab(l, a, b, opacity) { - this.l = +l; - this.a = +a; - this.b = +b; - this.opacity = +opacity; - } - - define(Lab, lab$1, extend(Color, { - brighter: function(k) { - return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity); - }, - darker: function(k) { - return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity); - }, - rgb: function() { - var y = (this.l + 16) / 116, - x = isNaN(this.a) ? y : y + this.a / 500, - z = isNaN(this.b) ? y : y - this.b / 200; - x = Xn * lab2xyz(x); - y = Yn * lab2xyz(y); - z = Zn * lab2xyz(z); - return new Rgb( - lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z), - lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z), - lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z), - this.opacity - ); - } - })); - - function xyz2lab(t) { - return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0$1; - } - - function lab2xyz(t) { - return t > t1$1 ? t * t * t : t2 * (t - t0$1); - } - - function lrgb2rgb(x) { - return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055); - } - - function rgb2lrgb(x) { - return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4); - } - - function hclConvert(o) { - if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity); - if (!(o instanceof Lab)) o = labConvert(o); - if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity); - var h = Math.atan2(o.b, o.a) * degrees$2; - return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity); - } - - function lch(l, c, h, opacity) { - return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity); - } - - function hcl$2(h, c, l, opacity) { - return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity); - } - - function Hcl(h, c, l, opacity) { - this.h = +h; - this.c = +c; - this.l = +l; - this.opacity = +opacity; - } - - function hcl2lab(o) { - if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity); - var h = o.h * radians$1; - return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity); - } - - define(Hcl, hcl$2, extend(Color, { - brighter: function(k) { - return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity); - }, - darker: function(k) { - return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity); - }, - rgb: function() { - return hcl2lab(this).rgb(); - } - })); - - var A = -0.14861, - B = +1.78277, - C = -0.29227, - D = -0.90649, - E = +1.97294, - ED = E * D, - EB = E * B, - BC_DA = B * C - D * A; - - function cubehelixConvert(o) { - if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity); - if (!(o instanceof Rgb)) o = rgbConvert(o); - var r = o.r / 255, - g = o.g / 255, - b = o.b / 255, - l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB), - bl = b - l, - k = (E * (g - l) - C * bl) / D, - s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1 - h = s ? Math.atan2(k, bl) * degrees$2 - 120 : NaN; - return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity); - } - - function cubehelix$3(h, s, l, opacity) { - return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity); - } - - function Cubehelix(h, s, l, opacity) { - this.h = +h; - this.s = +s; - this.l = +l; - this.opacity = +opacity; - } - - define(Cubehelix, cubehelix$3, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Cubehelix(this.h, this.s, this.l * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Cubehelix(this.h, this.s, this.l * k, this.opacity); - }, - rgb: function() { - var h = isNaN(this.h) ? 0 : (this.h + 120) * radians$1, - l = +this.l, - a = isNaN(this.s) ? 0 : this.s * l * (1 - l), - cosh = Math.cos(h), - sinh = Math.sin(h); - return new Rgb( - 255 * (l + a * (A * cosh + B * sinh)), - 255 * (l + a * (C * cosh + D * sinh)), - 255 * (l + a * (E * cosh)), - this.opacity - ); - } - })); - - function basis$1(t1, v0, v1, v2, v3) { - var t2 = t1 * t1, t3 = t2 * t1; - return ((1 - 3 * t1 + 3 * t2 - t3) * v0 - + (4 - 6 * t2 + 3 * t3) * v1 - + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2 - + t3 * v3) / 6; - } - - function basis$2(values) { - var n = values.length - 1; - return function(t) { - var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n), - v1 = values[i], - v2 = values[i + 1], - v0 = i > 0 ? values[i - 1] : 2 * v1 - v2, - v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1; - return basis$1((t - i / n) * n, v0, v1, v2, v3); - }; - } - - function basisClosed$1(values) { - var n = values.length; - return function(t) { - var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n), - v0 = values[(i + n - 1) % n], - v1 = values[i % n], - v2 = values[(i + 1) % n], - v3 = values[(i + 2) % n]; - return basis$1((t - i / n) * n, v0, v1, v2, v3); - }; - } - - var constant$8 = x => () => x; - - function linear$2(a, d) { - return function(t) { - return a + t * d; - }; - } - - function exponential$1(a, b, y) { - return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { - return Math.pow(a + t * b, y); - }; - } - - function hue$1(a, b) { - var d = b - a; - return d ? linear$2(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant$8(isNaN(a) ? b : a); - } - - function gamma$1(y) { - return (y = +y) === 1 ? nogamma : function(a, b) { - return b - a ? exponential$1(a, b, y) : constant$8(isNaN(a) ? b : a); - }; - } - - function nogamma(a, b) { - var d = b - a; - return d ? linear$2(a, d) : constant$8(isNaN(a) ? b : a); - } - - var interpolateRgb = (function rgbGamma(y) { - var color = gamma$1(y); - - function rgb$1(start, end) { - var r = color((start = rgb(start)).r, (end = rgb(end)).r), - g = color(start.g, end.g), - b = color(start.b, end.b), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.r = r(t); - start.g = g(t); - start.b = b(t); - start.opacity = opacity(t); - return start + ""; - }; - } - - rgb$1.gamma = rgbGamma; - - return rgb$1; - })(1); - - function rgbSpline(spline) { - return function(colors) { - var n = colors.length, - r = new Array(n), - g = new Array(n), - b = new Array(n), - i, color; - for (i = 0; i < n; ++i) { - color = rgb(colors[i]); - r[i] = color.r || 0; - g[i] = color.g || 0; - b[i] = color.b || 0; - } - r = spline(r); - g = spline(g); - b = spline(b); - color.opacity = 1; - return function(t) { - color.r = r(t); - color.g = g(t); - color.b = b(t); - return color + ""; - }; - }; - } - - var rgbBasis = rgbSpline(basis$2); - var rgbBasisClosed = rgbSpline(basisClosed$1); - - function numberArray(a, b) { - if (!b) b = []; - var n = a ? Math.min(b.length, a.length) : 0, - c = b.slice(), - i; - return function(t) { - for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t; - return c; - }; - } - - function isNumberArray(x) { - return ArrayBuffer.isView(x) && !(x instanceof DataView); - } - - function array$3(a, b) { - return (isNumberArray(b) ? numberArray : genericArray)(a, b); - } - - function genericArray(a, b) { - var nb = b ? b.length : 0, - na = a ? Math.min(nb, a.length) : 0, - x = new Array(na), - c = new Array(nb), - i; - - for (i = 0; i < na; ++i) x[i] = interpolate$2(a[i], b[i]); - for (; i < nb; ++i) c[i] = b[i]; - - return function(t) { - for (i = 0; i < na; ++i) c[i] = x[i](t); - return c; - }; - } - - function date$1(a, b) { - var d = new Date; - return a = +a, b = +b, function(t) { - return d.setTime(a * (1 - t) + b * t), d; - }; - } - - function interpolateNumber(a, b) { - return a = +a, b = +b, function(t) { - return a * (1 - t) + b * t; - }; - } - - function object$1(a, b) { - var i = {}, - c = {}, - k; - - if (a === null || typeof a !== "object") a = {}; - if (b === null || typeof b !== "object") b = {}; - - for (k in b) { - if (k in a) { - i[k] = interpolate$2(a[k], b[k]); - } else { - c[k] = b[k]; - } - } - - return function(t) { - for (k in i) c[k] = i[k](t); - return c; - }; - } - - var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, - reB = new RegExp(reA.source, "g"); - - function zero(b) { - return function() { - return b; - }; - } - - function one(b) { - return function(t) { - return b(t) + ""; - }; - } - - function interpolateString(a, b) { - var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b - am, // current match in a - bm, // current match in b - bs, // string preceding current number in b, if any - i = -1, // index in s - s = [], // string constants and placeholders - q = []; // number interpolators - - // Coerce inputs to strings. - a = a + "", b = b + ""; - - // Interpolate pairs of numbers in a & b. - while ((am = reA.exec(a)) - && (bm = reB.exec(b))) { - if ((bs = bm.index) > bi) { // a string precedes the next number in b - bs = b.slice(bi, bs); - if (s[i]) s[i] += bs; // coalesce with previous string - else s[++i] = bs; - } - if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match - if (s[i]) s[i] += bm; // coalesce with previous string - else s[++i] = bm; - } else { // interpolate non-matching numbers - s[++i] = null; - q.push({i: i, x: interpolateNumber(am, bm)}); - } - bi = reB.lastIndex; - } - - // Add remains of b. - if (bi < b.length) { - bs = b.slice(bi); - if (s[i]) s[i] += bs; // coalesce with previous string - else s[++i] = bs; - } - - // Special optimization for only a single match. - // Otherwise, interpolate each of the numbers and rejoin the string. - return s.length < 2 ? (q[0] - ? one(q[0].x) - : zero(b)) - : (b = q.length, function(t) { - for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }); - } - - function interpolate$2(a, b) { - var t = typeof b, c; - return b == null || t === "boolean" ? constant$8(b) - : (t === "number" ? interpolateNumber - : t === "string" ? ((c = color(b)) ? (b = c, interpolateRgb) : interpolateString) - : b instanceof color ? interpolateRgb - : b instanceof Date ? date$1 - : isNumberArray(b) ? numberArray - : Array.isArray(b) ? genericArray - : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object$1 - : interpolateNumber)(a, b); - } - - function discrete(range) { - var n = range.length; - return function(t) { - return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))]; - }; - } - - function hue(a, b) { - var i = hue$1(+a, +b); - return function(t) { - var x = i(t); - return x - 360 * Math.floor(x / 360); - }; - } - - function interpolateRound(a, b) { - return a = +a, b = +b, function(t) { - return Math.round(a * (1 - t) + b * t); - }; - } - - var degrees$1 = 180 / Math.PI; - - var identity$7 = { - translateX: 0, - translateY: 0, - rotate: 0, - skewX: 0, - scaleX: 1, - scaleY: 1 - }; - - function decompose(a, b, c, d, e, f) { - var scaleX, scaleY, skewX; - if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX; - if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX; - if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY; - if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; - return { - translateX: e, - translateY: f, - rotate: Math.atan2(b, a) * degrees$1, - skewX: Math.atan(skewX) * degrees$1, - scaleX: scaleX, - scaleY: scaleY - }; - } - - var svgNode; - - /* eslint-disable no-undef */ - function parseCss(value) { - const m = new (typeof DOMMatrix === "function" ? DOMMatrix : WebKitCSSMatrix)(value + ""); - return m.isIdentity ? identity$7 : decompose(m.a, m.b, m.c, m.d, m.e, m.f); - } - - function parseSvg(value) { - if (value == null) return identity$7; - if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); - svgNode.setAttribute("transform", value); - if (!(value = svgNode.transform.baseVal.consolidate())) return identity$7; - value = value.matrix; - return decompose(value.a, value.b, value.c, value.d, value.e, value.f); - } - - function interpolateTransform(parse, pxComma, pxParen, degParen) { - - function pop(s) { - return s.length ? s.pop() + " " : ""; - } - - function translate(xa, ya, xb, yb, s, q) { - if (xa !== xb || ya !== yb) { - var i = s.push("translate(", null, pxComma, null, pxParen); - q.push({i: i - 4, x: interpolateNumber(xa, xb)}, {i: i - 2, x: interpolateNumber(ya, yb)}); - } else if (xb || yb) { - s.push("translate(" + xb + pxComma + yb + pxParen); - } - } - - function rotate(a, b, s, q) { - if (a !== b) { - if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path - q.push({i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: interpolateNumber(a, b)}); - } else if (b) { - s.push(pop(s) + "rotate(" + b + degParen); - } - } - - function skewX(a, b, s, q) { - if (a !== b) { - q.push({i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: interpolateNumber(a, b)}); - } else if (b) { - s.push(pop(s) + "skewX(" + b + degParen); - } - } - - function scale(xa, ya, xb, yb, s, q) { - if (xa !== xb || ya !== yb) { - var i = s.push(pop(s) + "scale(", null, ",", null, ")"); - q.push({i: i - 4, x: interpolateNumber(xa, xb)}, {i: i - 2, x: interpolateNumber(ya, yb)}); - } else if (xb !== 1 || yb !== 1) { - s.push(pop(s) + "scale(" + xb + "," + yb + ")"); - } - } - - return function(a, b) { - var s = [], // string constants and placeholders - q = []; // number interpolators - a = parse(a), b = parse(b); - translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); - rotate(a.rotate, b.rotate, s, q); - skewX(a.skewX, b.skewX, s, q); - scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); - a = b = null; // gc - return function(t) { - var i = -1, n = q.length, o; - while (++i < n) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }; - }; - } - - var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); - var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); - - var epsilon2$1 = 1e-12; - - function cosh(x) { - return ((x = Math.exp(x)) + 1 / x) / 2; - } - - function sinh(x) { - return ((x = Math.exp(x)) - 1 / x) / 2; - } - - function tanh(x) { - return ((x = Math.exp(2 * x)) - 1) / (x + 1); - } - - var interpolateZoom = (function zoomRho(rho, rho2, rho4) { - - // p0 = [ux0, uy0, w0] - // p1 = [ux1, uy1, w1] - function zoom(p0, p1) { - var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], - ux1 = p1[0], uy1 = p1[1], w1 = p1[2], - dx = ux1 - ux0, - dy = uy1 - uy0, - d2 = dx * dx + dy * dy, - i, - S; - - // Special case for u0 ≅ u1. - if (d2 < epsilon2$1) { - S = Math.log(w1 / w0) / rho; - i = function(t) { - return [ - ux0 + t * dx, - uy0 + t * dy, - w0 * Math.exp(rho * t * S) - ]; - }; - } - - // General case. - else { - var d1 = Math.sqrt(d2), - b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), - b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), - r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), - r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1); - S = (r1 - r0) / rho; - i = function(t) { - var s = t * S, - coshr0 = cosh(r0), - u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0)); - return [ - ux0 + u * dx, - uy0 + u * dy, - w0 * coshr0 / cosh(rho * s + r0) - ]; - }; - } - - i.duration = S * 1000 * rho / Math.SQRT2; - - return i; - } - - zoom.rho = function(_) { - var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2; - return zoomRho(_1, _2, _4); - }; - - return zoom; - })(Math.SQRT2, 2, 4); - - function hsl(hue) { - return function(start, end) { - var h = hue((start = hsl$2(start)).h, (end = hsl$2(end)).h), - s = nogamma(start.s, end.s), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.s = s(t); - start.l = l(t); - start.opacity = opacity(t); - return start + ""; - }; - } - } - - var hsl$1 = hsl(hue$1); - var hslLong = hsl(nogamma); - - function lab(start, end) { - var l = nogamma((start = lab$1(start)).l, (end = lab$1(end)).l), - a = nogamma(start.a, end.a), - b = nogamma(start.b, end.b), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.l = l(t); - start.a = a(t); - start.b = b(t); - start.opacity = opacity(t); - return start + ""; - }; - } - - function hcl(hue) { - return function(start, end) { - var h = hue((start = hcl$2(start)).h, (end = hcl$2(end)).h), - c = nogamma(start.c, end.c), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.c = c(t); - start.l = l(t); - start.opacity = opacity(t); - return start + ""; - }; - } - } - - var hcl$1 = hcl(hue$1); - var hclLong = hcl(nogamma); - - function cubehelix$1(hue) { - return (function cubehelixGamma(y) { - y = +y; - - function cubehelix(start, end) { - var h = hue((start = cubehelix$3(start)).h, (end = cubehelix$3(end)).h), - s = nogamma(start.s, end.s), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.s = s(t); - start.l = l(Math.pow(t, y)); - start.opacity = opacity(t); - return start + ""; - }; - } - - cubehelix.gamma = cubehelixGamma; - - return cubehelix; - })(1); - } - - var cubehelix$2 = cubehelix$1(hue$1); - var cubehelixLong = cubehelix$1(nogamma); - - function piecewise(interpolate, values) { - if (values === undefined) values = interpolate, interpolate = interpolate$2; - var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n); - while (i < n) I[i] = interpolate(v, v = values[++i]); - return function(t) { - var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n))); - return I[i](t - i); - }; - } - - function quantize$1(interpolator, n) { - var samples = new Array(n); - for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1)); - return samples; - } - - var frame = 0, // is an animation frame pending? - timeout$1 = 0, // is a timeout pending? - interval$1 = 0, // are any timers active? - pokeDelay = 1000, // how frequently we check for clock skew - taskHead, - taskTail, - clockLast = 0, - clockNow = 0, - clockSkew = 0, - clock = typeof performance === "object" && performance.now ? performance : Date, - setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); }; - - function now() { - return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew); - } - - function clearNow() { - clockNow = 0; - } - - function Timer() { - this._call = - this._time = - this._next = null; - } - - Timer.prototype = timer.prototype = { - constructor: Timer, - restart: function(callback, delay, time) { - if (typeof callback !== "function") throw new TypeError("callback is not a function"); - time = (time == null ? now() : +time) + (delay == null ? 0 : +delay); - if (!this._next && taskTail !== this) { - if (taskTail) taskTail._next = this; - else taskHead = this; - taskTail = this; - } - this._call = callback; - this._time = time; - sleep(); - }, - stop: function() { - if (this._call) { - this._call = null; - this._time = Infinity; - sleep(); - } - } - }; - - function timer(callback, delay, time) { - var t = new Timer; - t.restart(callback, delay, time); - return t; - } - - function timerFlush() { - now(); // Get the current time, if not already set. - ++frame; // Pretend we’ve set an alarm, if we haven’t already. - var t = taskHead, e; - while (t) { - if ((e = clockNow - t._time) >= 0) t._call.call(null, e); - t = t._next; - } - --frame; - } - - function wake() { - clockNow = (clockLast = clock.now()) + clockSkew; - frame = timeout$1 = 0; - try { - timerFlush(); - } finally { - frame = 0; - nap(); - clockNow = 0; - } - } - - function poke() { - var now = clock.now(), delay = now - clockLast; - if (delay > pokeDelay) clockSkew -= delay, clockLast = now; - } - - function nap() { - var t0, t1 = taskHead, t2, time = Infinity; - while (t1) { - if (t1._call) { - if (time > t1._time) time = t1._time; - t0 = t1, t1 = t1._next; - } else { - t2 = t1._next, t1._next = null; - t1 = t0 ? t0._next = t2 : taskHead = t2; - } - } - taskTail = t0; - sleep(time); - } - - function sleep(time) { - if (frame) return; // Soonest alarm already set, or will be. - if (timeout$1) timeout$1 = clearTimeout(timeout$1); - var delay = time - clockNow; // Strictly less than if we recomputed clockNow. - if (delay > 24) { - if (time < Infinity) timeout$1 = setTimeout(wake, time - clock.now() - clockSkew); - if (interval$1) interval$1 = clearInterval(interval$1); - } else { - if (!interval$1) clockLast = clock.now(), interval$1 = setInterval(poke, pokeDelay); - frame = 1, setFrame(wake); - } - } - - function timeout(callback, delay, time) { - var t = new Timer; - delay = delay == null ? 0 : +delay; - t.restart(elapsed => { - t.stop(); - callback(elapsed + delay); - }, delay, time); - return t; - } - - function interval(callback, delay, time) { - var t = new Timer, total = delay; - if (delay == null) return t.restart(callback, delay, time), t; - t._restart = t.restart; - t.restart = function(callback, delay, time) { - delay = +delay, time = time == null ? now() : +time; - t._restart(function tick(elapsed) { - elapsed += total; - t._restart(tick, total += delay, time); - callback(elapsed); - }, delay, time); - }; - t.restart(callback, delay, time); - return t; - } - - var emptyOn = dispatch("start", "end", "cancel", "interrupt"); - var emptyTween = []; - - var CREATED = 0; - var SCHEDULED = 1; - var STARTING = 2; - var STARTED = 3; - var RUNNING = 4; - var ENDING = 5; - var ENDED = 6; - - function schedule(node, name, id, index, group, timing) { - var schedules = node.__transition; - if (!schedules) node.__transition = {}; - else if (id in schedules) return; - create(node, id, { - name: name, - index: index, // For context during callback. - group: group, // For context during callback. - on: emptyOn, - tween: emptyTween, - time: timing.time, - delay: timing.delay, - duration: timing.duration, - ease: timing.ease, - timer: null, - state: CREATED - }); - } - - function init(node, id) { - var schedule = get(node, id); - if (schedule.state > CREATED) throw new Error("too late; already scheduled"); - return schedule; - } - - function set(node, id) { - var schedule = get(node, id); - if (schedule.state > STARTED) throw new Error("too late; already running"); - return schedule; - } - - function get(node, id) { - var schedule = node.__transition; - if (!schedule || !(schedule = schedule[id])) throw new Error("transition not found"); - return schedule; - } - - function create(node, id, self) { - var schedules = node.__transition, - tween; - - // Initialize the self timer when the transition is created. - // Note the actual delay is not known until the first callback! - schedules[id] = self; - self.timer = timer(schedule, 0, self.time); - - function schedule(elapsed) { - self.state = SCHEDULED; - self.timer.restart(start, self.delay, self.time); - - // If the elapsed delay is less than our first sleep, start immediately. - if (self.delay <= elapsed) start(elapsed - self.delay); - } - - function start(elapsed) { - var i, j, n, o; - - // If the state is not SCHEDULED, then we previously errored on start. - if (self.state !== SCHEDULED) return stop(); - - for (i in schedules) { - o = schedules[i]; - if (o.name !== self.name) continue; - - // While this element already has a starting transition during this frame, - // defer starting an interrupting transition until that transition has a - // chance to tick (and possibly end); see d3/d3-transition#54! - if (o.state === STARTED) return timeout(start); - - // Interrupt the active transition, if any. - if (o.state === RUNNING) { - o.state = ENDED; - o.timer.stop(); - o.on.call("interrupt", node, node.__data__, o.index, o.group); - delete schedules[i]; - } - - // Cancel any pre-empted transitions. - else if (+i < id) { - o.state = ENDED; - o.timer.stop(); - o.on.call("cancel", node, node.__data__, o.index, o.group); - delete schedules[i]; - } - } - - // Defer the first tick to end of the current frame; see d3/d3#1576. - // Note the transition may be canceled after start and before the first tick! - // Note this must be scheduled before the start event; see d3/d3-transition#16! - // Assuming this is successful, subsequent callbacks go straight to tick. - timeout(function() { - if (self.state === STARTED) { - self.state = RUNNING; - self.timer.restart(tick, self.delay, self.time); - tick(elapsed); - } - }); - - // Dispatch the start event. - // Note this must be done before the tween are initialized. - self.state = STARTING; - self.on.call("start", node, node.__data__, self.index, self.group); - if (self.state !== STARTING) return; // interrupted - self.state = STARTED; - - // Initialize the tween, deleting null tween. - tween = new Array(n = self.tween.length); - for (i = 0, j = -1; i < n; ++i) { - if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) { - tween[++j] = o; - } - } - tween.length = j + 1; - } - - function tick(elapsed) { - var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1), - i = -1, - n = tween.length; - - while (++i < n) { - tween[i].call(node, t); - } - - // Dispatch the end event. - if (self.state === ENDING) { - self.on.call("end", node, node.__data__, self.index, self.group); - stop(); - } - } - - function stop() { - self.state = ENDED; - self.timer.stop(); - delete schedules[id]; - for (var i in schedules) return; // eslint-disable-line no-unused-vars - delete node.__transition; - } - } - - function interrupt(node, name) { - var schedules = node.__transition, - schedule, - active, - empty = true, - i; - - if (!schedules) return; - - name = name == null ? null : name + ""; - - for (i in schedules) { - if ((schedule = schedules[i]).name !== name) { empty = false; continue; } - active = schedule.state > STARTING && schedule.state < ENDING; - schedule.state = ENDED; - schedule.timer.stop(); - schedule.on.call(active ? "interrupt" : "cancel", node, node.__data__, schedule.index, schedule.group); - delete schedules[i]; - } - - if (empty) delete node.__transition; - } - - function selection_interrupt(name) { - return this.each(function() { - interrupt(this, name); - }); - } - - function tweenRemove(id, name) { - var tween0, tween1; - return function() { - var schedule = set(this, id), - tween = schedule.tween; - - // If this node shared tween with the previous node, - // just assign the updated shared tween and we’re done! - // Otherwise, copy-on-write. - if (tween !== tween0) { - tween1 = tween0 = tween; - for (var i = 0, n = tween1.length; i < n; ++i) { - if (tween1[i].name === name) { - tween1 = tween1.slice(); - tween1.splice(i, 1); - break; - } - } - } - - schedule.tween = tween1; - }; - } - - function tweenFunction(id, name, value) { - var tween0, tween1; - if (typeof value !== "function") throw new Error; - return function() { - var schedule = set(this, id), - tween = schedule.tween; - - // If this node shared tween with the previous node, - // just assign the updated shared tween and we’re done! - // Otherwise, copy-on-write. - if (tween !== tween0) { - tween1 = (tween0 = tween).slice(); - for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) { - if (tween1[i].name === name) { - tween1[i] = t; - break; - } - } - if (i === n) tween1.push(t); - } - - schedule.tween = tween1; - }; - } - - function transition_tween(name, value) { - var id = this._id; - - name += ""; - - if (arguments.length < 2) { - var tween = get(this.node(), id).tween; - for (var i = 0, n = tween.length, t; i < n; ++i) { - if ((t = tween[i]).name === name) { - return t.value; - } - } - return null; - } - - return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value)); - } - - function tweenValue(transition, name, value) { - var id = transition._id; - - transition.each(function() { - var schedule = set(this, id); - (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments); - }); - - return function(node) { - return get(node, id).value[name]; - }; - } - - function interpolate$1(a, b) { - var c; - return (typeof b === "number" ? interpolateNumber - : b instanceof color ? interpolateRgb - : (c = color(b)) ? (b = c, interpolateRgb) - : interpolateString)(a, b); - } - - function attrRemove(name) { - return function() { - this.removeAttribute(name); - }; - } - - function attrRemoveNS(fullname) { - return function() { - this.removeAttributeNS(fullname.space, fullname.local); - }; - } - - function attrConstant(name, interpolate, value1) { - var string00, - string1 = value1 + "", - interpolate0; - return function() { - var string0 = this.getAttribute(name); - return string0 === string1 ? null - : string0 === string00 ? interpolate0 - : interpolate0 = interpolate(string00 = string0, value1); - }; - } - - function attrConstantNS(fullname, interpolate, value1) { - var string00, - string1 = value1 + "", - interpolate0; - return function() { - var string0 = this.getAttributeNS(fullname.space, fullname.local); - return string0 === string1 ? null - : string0 === string00 ? interpolate0 - : interpolate0 = interpolate(string00 = string0, value1); - }; - } - - function attrFunction(name, interpolate, value) { - var string00, - string10, - interpolate0; - return function() { - var string0, value1 = value(this), string1; - if (value1 == null) return void this.removeAttribute(name); - string0 = this.getAttribute(name); - string1 = value1 + ""; - return string0 === string1 ? null - : string0 === string00 && string1 === string10 ? interpolate0 - : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1)); - }; - } - - function attrFunctionNS(fullname, interpolate, value) { - var string00, - string10, - interpolate0; - return function() { - var string0, value1 = value(this), string1; - if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local); - string0 = this.getAttributeNS(fullname.space, fullname.local); - string1 = value1 + ""; - return string0 === string1 ? null - : string0 === string00 && string1 === string10 ? interpolate0 - : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1)); - }; - } - - function transition_attr(name, value) { - var fullname = namespace(name), i = fullname === "transform" ? interpolateTransformSvg : interpolate$1; - return this.attrTween(name, typeof value === "function" - ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, "attr." + name, value)) - : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname) - : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value)); - } - - function attrInterpolate(name, i) { - return function(t) { - this.setAttribute(name, i.call(this, t)); - }; - } - - function attrInterpolateNS(fullname, i) { - return function(t) { - this.setAttributeNS(fullname.space, fullname.local, i.call(this, t)); - }; - } - - function attrTweenNS(fullname, value) { - var t0, i0; - function tween() { - var i = value.apply(this, arguments); - if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i); - return t0; - } - tween._value = value; - return tween; - } - - function attrTween(name, value) { - var t0, i0; - function tween() { - var i = value.apply(this, arguments); - if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i); - return t0; - } - tween._value = value; - return tween; - } - - function transition_attrTween(name, value) { - var key = "attr." + name; - if (arguments.length < 2) return (key = this.tween(key)) && key._value; - if (value == null) return this.tween(key, null); - if (typeof value !== "function") throw new Error; - var fullname = namespace(name); - return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value)); - } - - function delayFunction(id, value) { - return function() { - init(this, id).delay = +value.apply(this, arguments); - }; - } - - function delayConstant(id, value) { - return value = +value, function() { - init(this, id).delay = value; - }; - } - - function transition_delay(value) { - var id = this._id; - - return arguments.length - ? this.each((typeof value === "function" - ? delayFunction - : delayConstant)(id, value)) - : get(this.node(), id).delay; - } - - function durationFunction(id, value) { - return function() { - set(this, id).duration = +value.apply(this, arguments); - }; - } - - function durationConstant(id, value) { - return value = +value, function() { - set(this, id).duration = value; - }; - } - - function transition_duration(value) { - var id = this._id; - - return arguments.length - ? this.each((typeof value === "function" - ? durationFunction - : durationConstant)(id, value)) - : get(this.node(), id).duration; - } - - function easeConstant(id, value) { - if (typeof value !== "function") throw new Error; - return function() { - set(this, id).ease = value; - }; - } - - function transition_ease(value) { - var id = this._id; - - return arguments.length - ? this.each(easeConstant(id, value)) - : get(this.node(), id).ease; - } - - function easeVarying(id, value) { - return function() { - var v = value.apply(this, arguments); - if (typeof v !== "function") throw new Error; - set(this, id).ease = v; - }; - } - - function transition_easeVarying(value) { - if (typeof value !== "function") throw new Error; - return this.each(easeVarying(this._id, value)); - } - - function transition_filter(match) { - if (typeof match !== "function") match = matcher(match); - - for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { - if ((node = group[i]) && match.call(node, node.__data__, i, group)) { - subgroup.push(node); - } - } - } - - return new Transition(subgroups, this._parents, this._name, this._id); - } - - function transition_merge(transition) { - if (transition._id !== this._id) throw new Error; - - for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { - for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { - if (node = group0[i] || group1[i]) { - merge[i] = node; - } - } - } - - for (; j < m0; ++j) { - merges[j] = groups0[j]; - } - - return new Transition(merges, this._parents, this._name, this._id); - } - - function start(name) { - return (name + "").trim().split(/^|\s+/).every(function(t) { - var i = t.indexOf("."); - if (i >= 0) t = t.slice(0, i); - return !t || t === "start"; - }); - } - - function onFunction(id, name, listener) { - var on0, on1, sit = start(name) ? init : set; - return function() { - var schedule = sit(this, id), - on = schedule.on; - - // If this node shared a dispatch with the previous node, - // just assign the updated shared dispatch and we’re done! - // Otherwise, copy-on-write. - if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener); - - schedule.on = on1; - }; - } - - function transition_on(name, listener) { - var id = this._id; - - return arguments.length < 2 - ? get(this.node(), id).on.on(name) - : this.each(onFunction(id, name, listener)); - } - - function removeFunction(id) { - return function() { - var parent = this.parentNode; - for (var i in this.__transition) if (+i !== id) return; - if (parent) parent.removeChild(this); - }; - } - - function transition_remove() { - return this.on("end.remove", removeFunction(this._id)); - } - - function transition_select(select) { - var name = this._name, - id = this._id; - - if (typeof select !== "function") select = selector(select); - - for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { - if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { - if ("__data__" in node) subnode.__data__ = node.__data__; - subgroup[i] = subnode; - schedule(subgroup[i], name, id, i, subgroup, get(node, id)); - } - } - } - - return new Transition(subgroups, this._parents, name, id); - } - - function transition_selectAll(select) { - var name = this._name, - id = this._id; - - if (typeof select !== "function") select = selectorAll(select); - - for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { - if (node = group[i]) { - for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) { - if (child = children[k]) { - schedule(child, name, id, k, children, inherit); - } - } - subgroups.push(children); - parents.push(node); - } - } - } - - return new Transition(subgroups, parents, name, id); - } - - var Selection = selection.prototype.constructor; - - function transition_selection() { - return new Selection(this._groups, this._parents); - } - - function styleNull(name, interpolate) { - var string00, - string10, - interpolate0; - return function() { - var string0 = styleValue(this, name), - string1 = (this.style.removeProperty(name), styleValue(this, name)); - return string0 === string1 ? null - : string0 === string00 && string1 === string10 ? interpolate0 - : interpolate0 = interpolate(string00 = string0, string10 = string1); - }; - } - - function styleRemove(name) { - return function() { - this.style.removeProperty(name); - }; - } - - function styleConstant(name, interpolate, value1) { - var string00, - string1 = value1 + "", - interpolate0; - return function() { - var string0 = styleValue(this, name); - return string0 === string1 ? null - : string0 === string00 ? interpolate0 - : interpolate0 = interpolate(string00 = string0, value1); - }; - } - - function styleFunction(name, interpolate, value) { - var string00, - string10, - interpolate0; - return function() { - var string0 = styleValue(this, name), - value1 = value(this), - string1 = value1 + ""; - if (value1 == null) string1 = value1 = (this.style.removeProperty(name), styleValue(this, name)); - return string0 === string1 ? null - : string0 === string00 && string1 === string10 ? interpolate0 - : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1)); - }; - } - - function styleMaybeRemove(id, name) { - var on0, on1, listener0, key = "style." + name, event = "end." + key, remove; - return function() { - var schedule = set(this, id), - on = schedule.on, - listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined; - - // If this node shared a dispatch with the previous node, - // just assign the updated shared dispatch and we’re done! - // Otherwise, copy-on-write. - if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener); - - schedule.on = on1; - }; - } - - function transition_style(name, value, priority) { - var i = (name += "") === "transform" ? interpolateTransformCss : interpolate$1; - return value == null ? this - .styleTween(name, styleNull(name, i)) - .on("end.style." + name, styleRemove(name)) - : typeof value === "function" ? this - .styleTween(name, styleFunction(name, i, tweenValue(this, "style." + name, value))) - .each(styleMaybeRemove(this._id, name)) - : this - .styleTween(name, styleConstant(name, i, value), priority) - .on("end.style." + name, null); - } - - function styleInterpolate(name, i, priority) { - return function(t) { - this.style.setProperty(name, i.call(this, t), priority); - }; - } - - function styleTween(name, value, priority) { - var t, i0; - function tween() { - var i = value.apply(this, arguments); - if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority); - return t; - } - tween._value = value; - return tween; - } - - function transition_styleTween(name, value, priority) { - var key = "style." + (name += ""); - if (arguments.length < 2) return (key = this.tween(key)) && key._value; - if (value == null) return this.tween(key, null); - if (typeof value !== "function") throw new Error; - return this.tween(key, styleTween(name, value, priority == null ? "" : priority)); - } - - function textConstant(value) { - return function() { - this.textContent = value; - }; - } - - function textFunction(value) { - return function() { - var value1 = value(this); - this.textContent = value1 == null ? "" : value1; - }; - } - - function transition_text(value) { - return this.tween("text", typeof value === "function" - ? textFunction(tweenValue(this, "text", value)) - : textConstant(value == null ? "" : value + "")); - } - - function textInterpolate(i) { - return function(t) { - this.textContent = i.call(this, t); - }; - } - - function textTween(value) { - var t0, i0; - function tween() { - var i = value.apply(this, arguments); - if (i !== i0) t0 = (i0 = i) && textInterpolate(i); - return t0; - } - tween._value = value; - return tween; - } - - function transition_textTween(value) { - var key = "text"; - if (arguments.length < 1) return (key = this.tween(key)) && key._value; - if (value == null) return this.tween(key, null); - if (typeof value !== "function") throw new Error; - return this.tween(key, textTween(value)); - } - - function transition_transition() { - var name = this._name, - id0 = this._id, - id1 = newId(); - - for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { - if (node = group[i]) { - var inherit = get(node, id0); - schedule(node, name, id1, i, group, { - time: inherit.time + inherit.delay + inherit.duration, - delay: 0, - duration: inherit.duration, - ease: inherit.ease - }); - } - } - } - - return new Transition(groups, this._parents, name, id1); - } - - function transition_end() { - var on0, on1, that = this, id = that._id, size = that.size(); - return new Promise(function(resolve, reject) { - var cancel = {value: reject}, - end = {value: function() { if (--size === 0) resolve(); }}; - - that.each(function() { - var schedule = set(this, id), - on = schedule.on; - - // If this node shared a dispatch with the previous node, - // just assign the updated shared dispatch and we’re done! - // Otherwise, copy-on-write. - if (on !== on0) { - on1 = (on0 = on).copy(); - on1._.cancel.push(cancel); - on1._.interrupt.push(cancel); - on1._.end.push(end); - } - - schedule.on = on1; - }); - - // The selection was empty, resolve end immediately - if (size === 0) resolve(); - }); - } - - var id = 0; - - function Transition(groups, parents, name, id) { - this._groups = groups; - this._parents = parents; - this._name = name; - this._id = id; - } - - function transition(name) { - return selection().transition(name); - } - - function newId() { - return ++id; - } - - var selection_prototype = selection.prototype; - - Transition.prototype = transition.prototype = { - constructor: Transition, - select: transition_select, - selectAll: transition_selectAll, - filter: transition_filter, - merge: transition_merge, - selection: transition_selection, - transition: transition_transition, - call: selection_prototype.call, - nodes: selection_prototype.nodes, - node: selection_prototype.node, - size: selection_prototype.size, - empty: selection_prototype.empty, - each: selection_prototype.each, - on: transition_on, - attr: transition_attr, - attrTween: transition_attrTween, - style: transition_style, - styleTween: transition_styleTween, - text: transition_text, - textTween: transition_textTween, - remove: transition_remove, - tween: transition_tween, - delay: transition_delay, - duration: transition_duration, - ease: transition_ease, - easeVarying: transition_easeVarying, - end: transition_end, - [Symbol.iterator]: selection_prototype[Symbol.iterator] - }; - - const linear$1 = t => +t; - - function quadIn(t) { - return t * t; - } - - function quadOut(t) { - return t * (2 - t); - } - - function quadInOut(t) { - return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2; - } - - function cubicIn(t) { - return t * t * t; - } - - function cubicOut(t) { - return --t * t * t + 1; - } - - function cubicInOut(t) { - return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2; - } - - var exponent$1 = 3; - - var polyIn = (function custom(e) { - e = +e; - - function polyIn(t) { - return Math.pow(t, e); - } - - polyIn.exponent = custom; - - return polyIn; - })(exponent$1); - - var polyOut = (function custom(e) { - e = +e; - - function polyOut(t) { - return 1 - Math.pow(1 - t, e); - } - - polyOut.exponent = custom; - - return polyOut; - })(exponent$1); - - var polyInOut = (function custom(e) { - e = +e; - - function polyInOut(t) { - return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2; - } - - polyInOut.exponent = custom; - - return polyInOut; - })(exponent$1); - - var pi$4 = Math.PI, - halfPi$3 = pi$4 / 2; - - function sinIn(t) { - return (+t === 1) ? 1 : 1 - Math.cos(t * halfPi$3); - } - - function sinOut(t) { - return Math.sin(t * halfPi$3); - } - - function sinInOut(t) { - return (1 - Math.cos(pi$4 * t)) / 2; - } - -// tpmt is two power minus ten times t scaled to [0,1] - function tpmt(x) { - return (Math.pow(2, -10 * x) - 0.0009765625) * 1.0009775171065494; - } - - function expIn(t) { - return tpmt(1 - +t); - } - - function expOut(t) { - return 1 - tpmt(t); - } - - function expInOut(t) { - return ((t *= 2) <= 1 ? tpmt(1 - t) : 2 - tpmt(t - 1)) / 2; - } - - function circleIn(t) { - return 1 - Math.sqrt(1 - t * t); - } - - function circleOut(t) { - return Math.sqrt(1 - --t * t); - } - - function circleInOut(t) { - return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2; - } - - var b1 = 4 / 11, - b2 = 6 / 11, - b3 = 8 / 11, - b4 = 3 / 4, - b5 = 9 / 11, - b6 = 10 / 11, - b7 = 15 / 16, - b8 = 21 / 22, - b9 = 63 / 64, - b0 = 1 / b1 / b1; - - function bounceIn(t) { - return 1 - bounceOut(1 - t); - } - - function bounceOut(t) { - return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9; - } - - function bounceInOut(t) { - return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2; - } - - var overshoot = 1.70158; - - var backIn = (function custom(s) { - s = +s; - - function backIn(t) { - return (t = +t) * t * (s * (t - 1) + t); - } - - backIn.overshoot = custom; - - return backIn; - })(overshoot); - - var backOut = (function custom(s) { - s = +s; - - function backOut(t) { - return --t * t * ((t + 1) * s + t) + 1; - } - - backOut.overshoot = custom; - - return backOut; - })(overshoot); - - var backInOut = (function custom(s) { - s = +s; - - function backInOut(t) { - return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2; - } - - backInOut.overshoot = custom; - - return backInOut; - })(overshoot); - - var tau$5 = 2 * Math.PI, - amplitude = 1, - period = 0.3; - - var elasticIn = (function custom(a, p) { - var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau$5); - - function elasticIn(t) { - return a * tpmt(-(--t)) * Math.sin((s - t) / p); - } - - elasticIn.amplitude = function(a) { return custom(a, p * tau$5); }; - elasticIn.period = function(p) { return custom(a, p); }; - - return elasticIn; - })(amplitude, period); - - var elasticOut = (function custom(a, p) { - var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau$5); - - function elasticOut(t) { - return 1 - a * tpmt(t = +t) * Math.sin((t + s) / p); - } - - elasticOut.amplitude = function(a) { return custom(a, p * tau$5); }; - elasticOut.period = function(p) { return custom(a, p); }; - - return elasticOut; - })(amplitude, period); - - var elasticInOut = (function custom(a, p) { - var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau$5); - - function elasticInOut(t) { - return ((t = t * 2 - 1) < 0 - ? a * tpmt(-t) * Math.sin((s - t) / p) - : 2 - a * tpmt(t) * Math.sin((s + t) / p)) / 2; - } - - elasticInOut.amplitude = function(a) { return custom(a, p * tau$5); }; - elasticInOut.period = function(p) { return custom(a, p); }; - - return elasticInOut; - })(amplitude, period); - - var defaultTiming = { - time: null, // Set on use. - delay: 0, - duration: 250, - ease: cubicInOut - }; - - function inherit(node, id) { - var timing; - while (!(timing = node.__transition) || !(timing = timing[id])) { - if (!(node = node.parentNode)) { - throw new Error(`transition ${id} not found`); - } - } - return timing; - } - - function selection_transition(name) { - var id, - timing; - - if (name instanceof Transition) { - id = name._id, name = name._name; - } else { - id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + ""; - } - - for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { - if (node = group[i]) { - schedule(node, name, id, i, group, timing || inherit(node, id)); - } - } - } - - return new Transition(groups, this._parents, name, id); - } - - selection.prototype.interrupt = selection_interrupt; - selection.prototype.transition = selection_transition; - - var root = [null]; - - function active(node, name) { - var schedules = node.__transition, - schedule, - i; - - if (schedules) { - name = name == null ? null : name + ""; - for (i in schedules) { - if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) { - return new Transition([[node]], root, name, +i); - } - } - } - - return null; - } - - var constant$7 = x => () => x; - - function BrushEvent(type, { - sourceEvent, - target, - selection, - mode, - dispatch - }) { - Object.defineProperties(this, { - type: {value: type, enumerable: true, configurable: true}, - sourceEvent: {value: sourceEvent, enumerable: true, configurable: true}, - target: {value: target, enumerable: true, configurable: true}, - selection: {value: selection, enumerable: true, configurable: true}, - mode: {value: mode, enumerable: true, configurable: true}, - _: {value: dispatch} - }); - } - - function nopropagation$1(event) { - event.stopImmediatePropagation(); - } - - function noevent$1(event) { - event.preventDefault(); - event.stopImmediatePropagation(); - } - - var MODE_DRAG = {name: "drag"}, - MODE_SPACE = {name: "space"}, - MODE_HANDLE = {name: "handle"}, - MODE_CENTER = {name: "center"}; - - const {abs: abs$3, max: max$2, min: min$1} = Math; - - function number1(e) { - return [+e[0], +e[1]]; - } - - function number2(e) { - return [number1(e[0]), number1(e[1])]; - } - - var X = { - name: "x", - handles: ["w", "e"].map(type), - input: function(x, e) { return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; }, - output: function(xy) { return xy && [xy[0][0], xy[1][0]]; } - }; - - var Y = { - name: "y", - handles: ["n", "s"].map(type), - input: function(y, e) { return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; }, - output: function(xy) { return xy && [xy[0][1], xy[1][1]]; } - }; - - var XY = { - name: "xy", - handles: ["n", "w", "e", "s", "nw", "ne", "sw", "se"].map(type), - input: function(xy) { return xy == null ? null : number2(xy); }, - output: function(xy) { return xy; } - }; - - var cursors = { - overlay: "crosshair", - selection: "move", - n: "ns-resize", - e: "ew-resize", - s: "ns-resize", - w: "ew-resize", - nw: "nwse-resize", - ne: "nesw-resize", - se: "nwse-resize", - sw: "nesw-resize" - }; - - var flipX = { - e: "w", - w: "e", - nw: "ne", - ne: "nw", - se: "sw", - sw: "se" - }; - - var flipY = { - n: "s", - s: "n", - nw: "sw", - ne: "se", - se: "ne", - sw: "nw" - }; - - var signsX = { - overlay: +1, - selection: +1, - n: null, - e: +1, - s: null, - w: -1, - nw: -1, - ne: +1, - se: +1, - sw: -1 - }; - - var signsY = { - overlay: +1, - selection: +1, - n: -1, - e: null, - s: +1, - w: null, - nw: -1, - ne: -1, - se: +1, - sw: +1 - }; - - function type(t) { - return {type: t}; - } - -// Ignore right-click, since that should open the context menu. - function defaultFilter$1(event) { - return !event.ctrlKey && !event.button; - } - - function defaultExtent$1() { - var svg = this.ownerSVGElement || this; - if (svg.hasAttribute("viewBox")) { - svg = svg.viewBox.baseVal; - return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]]; - } - return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]]; - } - - function defaultTouchable$1() { - return navigator.maxTouchPoints || ("ontouchstart" in this); - } - -// Like d3.local, but with the name “__brush” rather than auto-generated. - function local(node) { - while (!node.__brush) if (!(node = node.parentNode)) return; - return node.__brush; - } - - function empty(extent) { - return extent[0][0] === extent[1][0] - || extent[0][1] === extent[1][1]; - } - - function brushSelection(node) { - var state = node.__brush; - return state ? state.dim.output(state.selection) : null; - } - - function brushX() { - return brush$1(X); - } - - function brushY() { - return brush$1(Y); - } - - function brush() { - return brush$1(XY); - } - - function brush$1(dim) { - var extent = defaultExtent$1, - filter = defaultFilter$1, - touchable = defaultTouchable$1, - keys = true, - listeners = dispatch("start", "brush", "end"), - handleSize = 6, - touchending; - - function brush(group) { - var overlay = group - .property("__brush", initialize) - .selectAll(".overlay") - .data([type("overlay")]); - - overlay.enter().append("rect") - .attr("class", "overlay") - .attr("pointer-events", "all") - .attr("cursor", cursors.overlay) - .merge(overlay) - .each(function() { - var extent = local(this).extent; - select(this) - .attr("x", extent[0][0]) - .attr("y", extent[0][1]) - .attr("width", extent[1][0] - extent[0][0]) - .attr("height", extent[1][1] - extent[0][1]); - }); - - group.selectAll(".selection") - .data([type("selection")]) - .enter().append("rect") - .attr("class", "selection") - .attr("cursor", cursors.selection) - .attr("fill", "#777") - .attr("fill-opacity", 0.3) - .attr("stroke", "#fff") - .attr("shape-rendering", "crispEdges"); - - var handle = group.selectAll(".handle") - .data(dim.handles, function(d) { return d.type; }); - - handle.exit().remove(); - - handle.enter().append("rect") - .attr("class", function(d) { return "handle handle--" + d.type; }) - .attr("cursor", function(d) { return cursors[d.type]; }); - - group - .each(redraw) - .attr("fill", "none") - .attr("pointer-events", "all") - .on("mousedown.brush", started) - .filter(touchable) - .on("touchstart.brush", started) - .on("touchmove.brush", touchmoved) - .on("touchend.brush touchcancel.brush", touchended) - .style("touch-action", "none") - .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); - } - - brush.move = function(group, selection) { - if (group.tween) { - group - .on("start.brush", function(event) { emitter(this, arguments).beforestart().start(event); }) - .on("interrupt.brush end.brush", function(event) { emitter(this, arguments).end(event); }) - .tween("brush", function() { - var that = this, - state = that.__brush, - emit = emitter(that, arguments), - selection0 = state.selection, - selection1 = dim.input(typeof selection === "function" ? selection.apply(this, arguments) : selection, state.extent), - i = interpolate$2(selection0, selection1); - - function tween(t) { - state.selection = t === 1 && selection1 === null ? null : i(t); - redraw.call(that); - emit.brush(); - } - - return selection0 !== null && selection1 !== null ? tween : tween(1); - }); - } else { - group - .each(function() { - var that = this, - args = arguments, - state = that.__brush, - selection1 = dim.input(typeof selection === "function" ? selection.apply(that, args) : selection, state.extent), - emit = emitter(that, args).beforestart(); - - interrupt(that); - state.selection = selection1 === null ? null : selection1; - redraw.call(that); - emit.start().brush().end(); - }); - } - }; - - brush.clear = function(group) { - brush.move(group, null); - }; - - function redraw() { - var group = select(this), - selection = local(this).selection; - - if (selection) { - group.selectAll(".selection") - .style("display", null) - .attr("x", selection[0][0]) - .attr("y", selection[0][1]) - .attr("width", selection[1][0] - selection[0][0]) - .attr("height", selection[1][1] - selection[0][1]); - - group.selectAll(".handle") - .style("display", null) - .attr("x", function(d) { return d.type[d.type.length - 1] === "e" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; }) - .attr("y", function(d) { return d.type[0] === "s" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; }) - .attr("width", function(d) { return d.type === "n" || d.type === "s" ? selection[1][0] - selection[0][0] + handleSize : handleSize; }) - .attr("height", function(d) { return d.type === "e" || d.type === "w" ? selection[1][1] - selection[0][1] + handleSize : handleSize; }); - } - - else { - group.selectAll(".selection,.handle") - .style("display", "none") - .attr("x", null) - .attr("y", null) - .attr("width", null) - .attr("height", null); - } - } - - function emitter(that, args, clean) { - var emit = that.__brush.emitter; - return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean); - } - - function Emitter(that, args, clean) { - this.that = that; - this.args = args; - this.state = that.__brush; - this.active = 0; - this.clean = clean; - } - - Emitter.prototype = { - beforestart: function() { - if (++this.active === 1) this.state.emitter = this, this.starting = true; - return this; - }, - start: function(event, mode) { - if (this.starting) this.starting = false, this.emit("start", event, mode); - else this.emit("brush", event); - return this; - }, - brush: function(event, mode) { - this.emit("brush", event, mode); - return this; - }, - end: function(event, mode) { - if (--this.active === 0) delete this.state.emitter, this.emit("end", event, mode); - return this; - }, - emit: function(type, event, mode) { - var d = select(this.that).datum(); - listeners.call( - type, - this.that, - new BrushEvent(type, { - sourceEvent: event, - target: brush, - selection: dim.output(this.state.selection), - mode, - dispatch: listeners - }), - d - ); - } - }; - - function started(event) { - if (touchending && !event.touches) return; - if (!filter.apply(this, arguments)) return; - - var that = this, - type = event.target.__data__.type, - mode = (keys && event.metaKey ? type = "overlay" : type) === "selection" ? MODE_DRAG : (keys && event.altKey ? MODE_CENTER : MODE_HANDLE), - signX = dim === Y ? null : signsX[type], - signY = dim === X ? null : signsY[type], - state = local(that), - extent = state.extent, - selection = state.selection, - W = extent[0][0], w0, w1, - N = extent[0][1], n0, n1, - E = extent[1][0], e0, e1, - S = extent[1][1], s0, s1, - dx = 0, - dy = 0, - moving, - shifting = signX && signY && keys && event.shiftKey, - lockX, - lockY, - points = Array.from(event.touches || [event], t => { - const i = t.identifier; - t = pointer(t, that); - t.point0 = t.slice(); - t.identifier = i; - return t; - }); - - if (type === "overlay") { - if (selection) moving = true; - const pts = [points[0], points[1] || points[0]]; - state.selection = selection = [[ - w0 = dim === Y ? W : min$1(pts[0][0], pts[1][0]), - n0 = dim === X ? N : min$1(pts[0][1], pts[1][1]) - ], [ - e0 = dim === Y ? E : max$2(pts[0][0], pts[1][0]), - s0 = dim === X ? S : max$2(pts[0][1], pts[1][1]) - ]]; - if (points.length > 1) move(); - } else { - w0 = selection[0][0]; - n0 = selection[0][1]; - e0 = selection[1][0]; - s0 = selection[1][1]; - } - - w1 = w0; - n1 = n0; - e1 = e0; - s1 = s0; - - var group = select(that) - .attr("pointer-events", "none"); - - var overlay = group.selectAll(".overlay") - .attr("cursor", cursors[type]); - - interrupt(that); - var emit = emitter(that, arguments, true).beforestart(); - - if (event.touches) { - emit.moved = moved; - emit.ended = ended; - } else { - var view = select(event.view) - .on("mousemove.brush", moved, true) - .on("mouseup.brush", ended, true); - if (keys) view - .on("keydown.brush", keydowned, true) - .on("keyup.brush", keyupped, true); - - dragDisable(event.view); - } - - redraw.call(that); - emit.start(event, mode.name); - - function moved(event) { - for (const p of event.changedTouches || [event]) { - for (const d of points) - if (d.identifier === p.identifier) d.cur = pointer(p, that); - } - if (shifting && !lockX && !lockY && points.length === 1) { - const point = points[0]; - if (abs$3(point.cur[0] - point[0]) > abs$3(point.cur[1] - point[1])) - lockY = true; - else - lockX = true; - } - for (const point of points) - if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1]; - moving = true; - noevent$1(event); - move(event); - } - - function move(event) { - const point = points[0], point0 = point.point0; - var t; - - dx = point[0] - point0[0]; - dy = point[1] - point0[1]; - - switch (mode) { - case MODE_SPACE: - case MODE_DRAG: { - if (signX) dx = max$2(W - w0, min$1(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx; - if (signY) dy = max$2(N - n0, min$1(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy; - break; - } - case MODE_HANDLE: { - if (points[1]) { - if (signX) w1 = max$2(W, min$1(E, points[0][0])), e1 = max$2(W, min$1(E, points[1][0])), signX = 1; - if (signY) n1 = max$2(N, min$1(S, points[0][1])), s1 = max$2(N, min$1(S, points[1][1])), signY = 1; - } else { - if (signX < 0) dx = max$2(W - w0, min$1(E - w0, dx)), w1 = w0 + dx, e1 = e0; - else if (signX > 0) dx = max$2(W - e0, min$1(E - e0, dx)), w1 = w0, e1 = e0 + dx; - if (signY < 0) dy = max$2(N - n0, min$1(S - n0, dy)), n1 = n0 + dy, s1 = s0; - else if (signY > 0) dy = max$2(N - s0, min$1(S - s0, dy)), n1 = n0, s1 = s0 + dy; - } - break; - } - case MODE_CENTER: { - if (signX) w1 = max$2(W, min$1(E, w0 - dx * signX)), e1 = max$2(W, min$1(E, e0 + dx * signX)); - if (signY) n1 = max$2(N, min$1(S, n0 - dy * signY)), s1 = max$2(N, min$1(S, s0 + dy * signY)); - break; - } - } - - if (e1 < w1) { - signX *= -1; - t = w0, w0 = e0, e0 = t; - t = w1, w1 = e1, e1 = t; - if (type in flipX) overlay.attr("cursor", cursors[type = flipX[type]]); - } - - if (s1 < n1) { - signY *= -1; - t = n0, n0 = s0, s0 = t; - t = n1, n1 = s1, s1 = t; - if (type in flipY) overlay.attr("cursor", cursors[type = flipY[type]]); - } - - if (state.selection) selection = state.selection; // May be set by brush.move! - if (lockX) w1 = selection[0][0], e1 = selection[1][0]; - if (lockY) n1 = selection[0][1], s1 = selection[1][1]; - - if (selection[0][0] !== w1 - || selection[0][1] !== n1 - || selection[1][0] !== e1 - || selection[1][1] !== s1) { - state.selection = [[w1, n1], [e1, s1]]; - redraw.call(that); - emit.brush(event, mode.name); - } - } - - function ended(event) { - nopropagation$1(event); - if (event.touches) { - if (event.touches.length) return; - if (touchending) clearTimeout(touchending); - touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed! - } else { - yesdrag(event.view, moving); - view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null); - } - group.attr("pointer-events", "all"); - overlay.attr("cursor", cursors.overlay); - if (state.selection) selection = state.selection; // May be set by brush.move (on start)! - if (empty(selection)) state.selection = null, redraw.call(that); - emit.end(event, mode.name); - } - - function keydowned(event) { - switch (event.keyCode) { - case 16: { // SHIFT - shifting = signX && signY; - break; - } - case 18: { // ALT - if (mode === MODE_HANDLE) { - if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; - if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; - mode = MODE_CENTER; - move(); - } - break; - } - case 32: { // SPACE; takes priority over ALT - if (mode === MODE_HANDLE || mode === MODE_CENTER) { - if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx; - if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy; - mode = MODE_SPACE; - overlay.attr("cursor", cursors.selection); - move(); - } - break; - } - default: return; - } - noevent$1(event); - } - - function keyupped(event) { - switch (event.keyCode) { - case 16: { // SHIFT - if (shifting) { - lockX = lockY = shifting = false; - move(); - } - break; - } - case 18: { // ALT - if (mode === MODE_CENTER) { - if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1; - if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1; - mode = MODE_HANDLE; - move(); - } - break; - } - case 32: { // SPACE - if (mode === MODE_SPACE) { - if (event.altKey) { - if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; - if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; - mode = MODE_CENTER; - } else { - if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1; - if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1; - mode = MODE_HANDLE; - } - overlay.attr("cursor", cursors[type]); - move(); - } - break; - } - default: return; - } - noevent$1(event); - } - } - - function touchmoved(event) { - emitter(this, arguments).moved(event); - } - - function touchended(event) { - emitter(this, arguments).ended(event); - } - - function initialize() { - var state = this.__brush || {selection: null}; - state.extent = number2(extent.apply(this, arguments)); - state.dim = dim; - return state; - } - - brush.extent = function(_) { - return arguments.length ? (extent = typeof _ === "function" ? _ : constant$7(number2(_)), brush) : extent; - }; - - brush.filter = function(_) { - return arguments.length ? (filter = typeof _ === "function" ? _ : constant$7(!!_), brush) : filter; - }; - - brush.touchable = function(_) { - return arguments.length ? (touchable = typeof _ === "function" ? _ : constant$7(!!_), brush) : touchable; - }; - - brush.handleSize = function(_) { - return arguments.length ? (handleSize = +_, brush) : handleSize; - }; - - brush.keyModifiers = function(_) { - return arguments.length ? (keys = !!_, brush) : keys; - }; - - brush.on = function() { - var value = listeners.on.apply(listeners, arguments); - return value === listeners ? brush : value; - }; - - return brush; - } - - var abs$2 = Math.abs; - var cos$2 = Math.cos; - var sin$2 = Math.sin; - var pi$3 = Math.PI; - var halfPi$2 = pi$3 / 2; - var tau$4 = pi$3 * 2; - var max$1 = Math.max; - var epsilon$4 = 1e-12; - - function range$1(i, j) { - return Array.from({length: j - i}, (_, k) => i + k); - } - - function compareValue(compare) { - return function(a, b) { - return compare( - a.source.value + a.target.value, - b.source.value + b.target.value - ); - }; - } - - function chord() { - return chord$1(false, false); - } - - function chordTranspose() { - return chord$1(false, true); - } - - function chordDirected() { - return chord$1(true, false); - } - - function chord$1(directed, transpose) { - var padAngle = 0, - sortGroups = null, - sortSubgroups = null, - sortChords = null; - - function chord(matrix) { - var n = matrix.length, - groupSums = new Array(n), - groupIndex = range$1(0, n), - chords = new Array(n * n), - groups = new Array(n), - k = 0, dx; - - matrix = Float64Array.from({length: n * n}, transpose - ? (_, i) => matrix[i % n][i / n | 0] - : (_, i) => matrix[i / n | 0][i % n]); - - // Compute the scaling factor from value to angle in [0, 2pi]. - for (let i = 0; i < n; ++i) { - let x = 0; - for (let j = 0; j < n; ++j) x += matrix[i * n + j] + directed * matrix[j * n + i]; - k += groupSums[i] = x; - } - k = max$1(0, tau$4 - padAngle * n) / k; - dx = k ? padAngle : tau$4 / n; - - // Compute the angles for each group and constituent chord. - { - let x = 0; - if (sortGroups) groupIndex.sort((a, b) => sortGroups(groupSums[a], groupSums[b])); - for (const i of groupIndex) { - const x0 = x; - if (directed) { - const subgroupIndex = range$1(~n + 1, n).filter(j => j < 0 ? matrix[~j * n + i] : matrix[i * n + j]); - if (sortSubgroups) subgroupIndex.sort((a, b) => sortSubgroups(a < 0 ? -matrix[~a * n + i] : matrix[i * n + a], b < 0 ? -matrix[~b * n + i] : matrix[i * n + b])); - for (const j of subgroupIndex) { - if (j < 0) { - const chord = chords[~j * n + i] || (chords[~j * n + i] = {source: null, target: null}); - chord.target = {index: i, startAngle: x, endAngle: x += matrix[~j * n + i] * k, value: matrix[~j * n + i]}; - } else { - const chord = chords[i * n + j] || (chords[i * n + j] = {source: null, target: null}); - chord.source = {index: i, startAngle: x, endAngle: x += matrix[i * n + j] * k, value: matrix[i * n + j]}; - } - } - groups[i] = {index: i, startAngle: x0, endAngle: x, value: groupSums[i]}; - } else { - const subgroupIndex = range$1(0, n).filter(j => matrix[i * n + j] || matrix[j * n + i]); - if (sortSubgroups) subgroupIndex.sort((a, b) => sortSubgroups(matrix[i * n + a], matrix[i * n + b])); - for (const j of subgroupIndex) { - let chord; - if (i < j) { - chord = chords[i * n + j] || (chords[i * n + j] = {source: null, target: null}); - chord.source = {index: i, startAngle: x, endAngle: x += matrix[i * n + j] * k, value: matrix[i * n + j]}; - } else { - chord = chords[j * n + i] || (chords[j * n + i] = {source: null, target: null}); - chord.target = {index: i, startAngle: x, endAngle: x += matrix[i * n + j] * k, value: matrix[i * n + j]}; - if (i === j) chord.source = chord.target; - } - if (chord.source && chord.target && chord.source.value < chord.target.value) { - const source = chord.source; - chord.source = chord.target; - chord.target = source; - } - } - groups[i] = {index: i, startAngle: x0, endAngle: x, value: groupSums[i]}; - } - x += dx; - } - } - - // Remove empty chords. - chords = Object.values(chords); - chords.groups = groups; - return sortChords ? chords.sort(sortChords) : chords; - } - - chord.padAngle = function(_) { - return arguments.length ? (padAngle = max$1(0, _), chord) : padAngle; - }; - - chord.sortGroups = function(_) { - return arguments.length ? (sortGroups = _, chord) : sortGroups; - }; - - chord.sortSubgroups = function(_) { - return arguments.length ? (sortSubgroups = _, chord) : sortSubgroups; - }; - - chord.sortChords = function(_) { - return arguments.length ? (_ == null ? sortChords = null : (sortChords = compareValue(_))._ = _, chord) : sortChords && sortChords._; - }; - - return chord; - } - - const pi$2 = Math.PI, - tau$3 = 2 * pi$2, - epsilon$3 = 1e-6, - tauEpsilon = tau$3 - epsilon$3; - - function Path$1() { - this._x0 = this._y0 = // start of current subpath - this._x1 = this._y1 = null; // end of current subpath - this._ = ""; - } - - function path() { - return new Path$1; - } - - Path$1.prototype = path.prototype = { - constructor: Path$1, - moveTo: function(x, y) { - this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y); - }, - closePath: function() { - if (this._x1 !== null) { - this._x1 = this._x0, this._y1 = this._y0; - this._ += "Z"; - } - }, - lineTo: function(x, y) { - this._ += "L" + (this._x1 = +x) + "," + (this._y1 = +y); - }, - quadraticCurveTo: function(x1, y1, x, y) { - this._ += "Q" + (+x1) + "," + (+y1) + "," + (this._x1 = +x) + "," + (this._y1 = +y); - }, - bezierCurveTo: function(x1, y1, x2, y2, x, y) { - this._ += "C" + (+x1) + "," + (+y1) + "," + (+x2) + "," + (+y2) + "," + (this._x1 = +x) + "," + (this._y1 = +y); - }, - arcTo: function(x1, y1, x2, y2, r) { - x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r; - var x0 = this._x1, - y0 = this._y1, - x21 = x2 - x1, - y21 = y2 - y1, - x01 = x0 - x1, - y01 = y0 - y1, - l01_2 = x01 * x01 + y01 * y01; - - // Is the radius negative? Error. - if (r < 0) throw new Error("negative radius: " + r); - - // Is this path empty? Move to (x1,y1). - if (this._x1 === null) { - this._ += "M" + (this._x1 = x1) + "," + (this._y1 = y1); - } - - // Or, is (x1,y1) coincident with (x0,y0)? Do nothing. - else if (!(l01_2 > epsilon$3)); - - // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear? - // Equivalently, is (x1,y1) coincident with (x2,y2)? - // Or, is the radius zero? Line to (x1,y1). - else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon$3) || !r) { - this._ += "L" + (this._x1 = x1) + "," + (this._y1 = y1); - } - - // Otherwise, draw an arc! - else { - var x20 = x2 - x0, - y20 = y2 - y0, - l21_2 = x21 * x21 + y21 * y21, - l20_2 = x20 * x20 + y20 * y20, - l21 = Math.sqrt(l21_2), - l01 = Math.sqrt(l01_2), - l = r * Math.tan((pi$2 - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), - t01 = l / l01, - t21 = l / l21; - - // If the start tangent is not coincident with (x0,y0), line to. - if (Math.abs(t01 - 1) > epsilon$3) { - this._ += "L" + (x1 + t01 * x01) + "," + (y1 + t01 * y01); - } - - this._ += "A" + r + "," + r + ",0,0," + (+(y01 * x20 > x01 * y20)) + "," + (this._x1 = x1 + t21 * x21) + "," + (this._y1 = y1 + t21 * y21); - } - }, - arc: function(x, y, r, a0, a1, ccw) { - x = +x, y = +y, r = +r, ccw = !!ccw; - var dx = r * Math.cos(a0), - dy = r * Math.sin(a0), - x0 = x + dx, - y0 = y + dy, - cw = 1 ^ ccw, - da = ccw ? a0 - a1 : a1 - a0; - - // Is the radius negative? Error. - if (r < 0) throw new Error("negative radius: " + r); - - // Is this path empty? Move to (x0,y0). - if (this._x1 === null) { - this._ += "M" + x0 + "," + y0; - } - - // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0). - else if (Math.abs(this._x1 - x0) > epsilon$3 || Math.abs(this._y1 - y0) > epsilon$3) { - this._ += "L" + x0 + "," + y0; - } - - // Is this arc empty? We’re done. - if (!r) return; - - // Does the angle go the wrong way? Flip the direction. - if (da < 0) da = da % tau$3 + tau$3; - - // Is this a complete circle? Draw two arcs to complete the circle. - if (da > tauEpsilon) { - this._ += "A" + r + "," + r + ",0,1," + cw + "," + (x - dx) + "," + (y - dy) + "A" + r + "," + r + ",0,1," + cw + "," + (this._x1 = x0) + "," + (this._y1 = y0); - } - - // Is this arc non-empty? Draw an arc! - else if (da > epsilon$3) { - this._ += "A" + r + "," + r + ",0," + (+(da >= pi$2)) + "," + cw + "," + (this._x1 = x + r * Math.cos(a1)) + "," + (this._y1 = y + r * Math.sin(a1)); - } - }, - rect: function(x, y, w, h) { - this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y) + "h" + (+w) + "v" + (+h) + "h" + (-w) + "Z"; - }, - toString: function() { - return this._; - } - }; - - var slice$2 = Array.prototype.slice; - - function constant$6(x) { - return function() { - return x; - }; - } - - function defaultSource$1(d) { - return d.source; - } - - function defaultTarget(d) { - return d.target; - } - - function defaultRadius$1(d) { - return d.radius; - } - - function defaultStartAngle(d) { - return d.startAngle; - } - - function defaultEndAngle(d) { - return d.endAngle; - } - - function defaultPadAngle() { - return 0; - } - - function defaultArrowheadRadius() { - return 10; - } - - function ribbon(headRadius) { - var source = defaultSource$1, - target = defaultTarget, - sourceRadius = defaultRadius$1, - targetRadius = defaultRadius$1, - startAngle = defaultStartAngle, - endAngle = defaultEndAngle, - padAngle = defaultPadAngle, - context = null; - - function ribbon() { - var buffer, - s = source.apply(this, arguments), - t = target.apply(this, arguments), - ap = padAngle.apply(this, arguments) / 2, - argv = slice$2.call(arguments), - sr = +sourceRadius.apply(this, (argv[0] = s, argv)), - sa0 = startAngle.apply(this, argv) - halfPi$2, - sa1 = endAngle.apply(this, argv) - halfPi$2, - tr = +targetRadius.apply(this, (argv[0] = t, argv)), - ta0 = startAngle.apply(this, argv) - halfPi$2, - ta1 = endAngle.apply(this, argv) - halfPi$2; - - if (!context) context = buffer = path(); - - if (ap > epsilon$4) { - if (abs$2(sa1 - sa0) > ap * 2 + epsilon$4) sa1 > sa0 ? (sa0 += ap, sa1 -= ap) : (sa0 -= ap, sa1 += ap); - else sa0 = sa1 = (sa0 + sa1) / 2; - if (abs$2(ta1 - ta0) > ap * 2 + epsilon$4) ta1 > ta0 ? (ta0 += ap, ta1 -= ap) : (ta0 -= ap, ta1 += ap); - else ta0 = ta1 = (ta0 + ta1) / 2; - } - - context.moveTo(sr * cos$2(sa0), sr * sin$2(sa0)); - context.arc(0, 0, sr, sa0, sa1); - if (sa0 !== ta0 || sa1 !== ta1) { - if (headRadius) { - var hr = +headRadius.apply(this, arguments), tr2 = tr - hr, ta2 = (ta0 + ta1) / 2; - context.quadraticCurveTo(0, 0, tr2 * cos$2(ta0), tr2 * sin$2(ta0)); - context.lineTo(tr * cos$2(ta2), tr * sin$2(ta2)); - context.lineTo(tr2 * cos$2(ta1), tr2 * sin$2(ta1)); - } else { - context.quadraticCurveTo(0, 0, tr * cos$2(ta0), tr * sin$2(ta0)); - context.arc(0, 0, tr, ta0, ta1); - } - } - context.quadraticCurveTo(0, 0, sr * cos$2(sa0), sr * sin$2(sa0)); - context.closePath(); - - if (buffer) return context = null, buffer + "" || null; - } - - if (headRadius) ribbon.headRadius = function(_) { - return arguments.length ? (headRadius = typeof _ === "function" ? _ : constant$6(+_), ribbon) : headRadius; - }; - - ribbon.radius = function(_) { - return arguments.length ? (sourceRadius = targetRadius = typeof _ === "function" ? _ : constant$6(+_), ribbon) : sourceRadius; - }; - - ribbon.sourceRadius = function(_) { - return arguments.length ? (sourceRadius = typeof _ === "function" ? _ : constant$6(+_), ribbon) : sourceRadius; - }; - - ribbon.targetRadius = function(_) { - return arguments.length ? (targetRadius = typeof _ === "function" ? _ : constant$6(+_), ribbon) : targetRadius; - }; - - ribbon.startAngle = function(_) { - return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$6(+_), ribbon) : startAngle; - }; - - ribbon.endAngle = function(_) { - return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$6(+_), ribbon) : endAngle; - }; - - ribbon.padAngle = function(_) { - return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$6(+_), ribbon) : padAngle; - }; - - ribbon.source = function(_) { - return arguments.length ? (source = _, ribbon) : source; - }; - - ribbon.target = function(_) { - return arguments.length ? (target = _, ribbon) : target; - }; - - ribbon.context = function(_) { - return arguments.length ? ((context = _ == null ? null : _), ribbon) : context; - }; - - return ribbon; - } - - function ribbon$1() { - return ribbon(); - } - - function ribbonArrow() { - return ribbon(defaultArrowheadRadius); - } - - var array$2 = Array.prototype; - - var slice$1 = array$2.slice; - - function ascending$1(a, b) { - return a - b; - } - - function area$3(ring) { - var i = 0, n = ring.length, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1]; - while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1]; - return area; - } - - var constant$5 = x => () => x; - - function contains$2(ring, hole) { - var i = -1, n = hole.length, c; - while (++i < n) if (c = ringContains(ring, hole[i])) return c; - return 0; - } - - function ringContains(ring, point) { - var x = point[0], y = point[1], contains = -1; - for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) { - var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1]; - if (segmentContains(pi, pj, point)) return 0; - if (((yi > y) !== (yj > y)) && ((x < (xj - xi) * (y - yi) / (yj - yi) + xi))) contains = -contains; - } - return contains; - } - - function segmentContains(a, b, c) { - var i; return collinear$1(a, b, c) && within(a[i = +(a[0] === b[0])], c[i], b[i]); - } - - function collinear$1(a, b, c) { - return (b[0] - a[0]) * (c[1] - a[1]) === (c[0] - a[0]) * (b[1] - a[1]); - } - - function within(p, q, r) { - return p <= q && q <= r || r <= q && q <= p; - } - - function noop$2() {} - - var cases = [ - [], - [[[1.0, 1.5], [0.5, 1.0]]], - [[[1.5, 1.0], [1.0, 1.5]]], - [[[1.5, 1.0], [0.5, 1.0]]], - [[[1.0, 0.5], [1.5, 1.0]]], - [[[1.0, 1.5], [0.5, 1.0]], [[1.0, 0.5], [1.5, 1.0]]], - [[[1.0, 0.5], [1.0, 1.5]]], - [[[1.0, 0.5], [0.5, 1.0]]], - [[[0.5, 1.0], [1.0, 0.5]]], - [[[1.0, 1.5], [1.0, 0.5]]], - [[[0.5, 1.0], [1.0, 0.5]], [[1.5, 1.0], [1.0, 1.5]]], - [[[1.5, 1.0], [1.0, 0.5]]], - [[[0.5, 1.0], [1.5, 1.0]]], - [[[1.0, 1.5], [1.5, 1.0]]], - [[[0.5, 1.0], [1.0, 1.5]]], - [] - ]; - - function contours() { - var dx = 1, - dy = 1, - threshold = thresholdSturges, - smooth = smoothLinear; - - function contours(values) { - var tz = threshold(values); - - // Convert number of thresholds into uniform thresholds. - if (!Array.isArray(tz)) { - var domain = extent$1(values), start = domain[0], stop = domain[1]; - tz = tickStep(start, stop, tz); - tz = sequence(Math.floor(start / tz) * tz, Math.floor(stop / tz) * tz, tz); - } else { - tz = tz.slice().sort(ascending$1); - } - - return tz.map(function(value) { - return contour(values, value); - }); - } - - // Accumulate, smooth contour rings, assign holes to exterior rings. - // Based on https://github.com/mbostock/shapefile/blob/v0.6.2/shp/polygon.js - function contour(values, value) { - var polygons = [], - holes = []; - - isorings(values, value, function(ring) { - smooth(ring, values, value); - if (area$3(ring) > 0) polygons.push([ring]); - else holes.push(ring); - }); - - holes.forEach(function(hole) { - for (var i = 0, n = polygons.length, polygon; i < n; ++i) { - if (contains$2((polygon = polygons[i])[0], hole) !== -1) { - polygon.push(hole); - return; - } - } - }); - - return { - type: "MultiPolygon", - value: value, - coordinates: polygons - }; - } - - // Marching squares with isolines stitched into rings. - // Based on https://github.com/topojson/topojson-client/blob/v3.0.0/src/stitch.js - function isorings(values, value, callback) { - var fragmentByStart = new Array, - fragmentByEnd = new Array, - x, y, t0, t1, t2, t3; - - // Special case for the first row (y = -1, t2 = t3 = 0). - x = y = -1; - t1 = values[0] >= value; - cases[t1 << 1].forEach(stitch); - while (++x < dx - 1) { - t0 = t1, t1 = values[x + 1] >= value; - cases[t0 | t1 << 1].forEach(stitch); - } - cases[t1 << 0].forEach(stitch); - - // General case for the intermediate rows. - while (++y < dy - 1) { - x = -1; - t1 = values[y * dx + dx] >= value; - t2 = values[y * dx] >= value; - cases[t1 << 1 | t2 << 2].forEach(stitch); - while (++x < dx - 1) { - t0 = t1, t1 = values[y * dx + dx + x + 1] >= value; - t3 = t2, t2 = values[y * dx + x + 1] >= value; - cases[t0 | t1 << 1 | t2 << 2 | t3 << 3].forEach(stitch); - } - cases[t1 | t2 << 3].forEach(stitch); - } - - // Special case for the last row (y = dy - 1, t0 = t1 = 0). - x = -1; - t2 = values[y * dx] >= value; - cases[t2 << 2].forEach(stitch); - while (++x < dx - 1) { - t3 = t2, t2 = values[y * dx + x + 1] >= value; - cases[t2 << 2 | t3 << 3].forEach(stitch); - } - cases[t2 << 3].forEach(stitch); - - function stitch(line) { - var start = [line[0][0] + x, line[0][1] + y], - end = [line[1][0] + x, line[1][1] + y], - startIndex = index(start), - endIndex = index(end), - f, g; - if (f = fragmentByEnd[startIndex]) { - if (g = fragmentByStart[endIndex]) { - delete fragmentByEnd[f.end]; - delete fragmentByStart[g.start]; - if (f === g) { - f.ring.push(end); - callback(f.ring); - } else { - fragmentByStart[f.start] = fragmentByEnd[g.end] = {start: f.start, end: g.end, ring: f.ring.concat(g.ring)}; - } - } else { - delete fragmentByEnd[f.end]; - f.ring.push(end); - fragmentByEnd[f.end = endIndex] = f; - } - } else if (f = fragmentByStart[endIndex]) { - if (g = fragmentByEnd[startIndex]) { - delete fragmentByStart[f.start]; - delete fragmentByEnd[g.end]; - if (f === g) { - f.ring.push(end); - callback(f.ring); - } else { - fragmentByStart[g.start] = fragmentByEnd[f.end] = {start: g.start, end: f.end, ring: g.ring.concat(f.ring)}; - } - } else { - delete fragmentByStart[f.start]; - f.ring.unshift(start); - fragmentByStart[f.start = startIndex] = f; - } - } else { - fragmentByStart[startIndex] = fragmentByEnd[endIndex] = {start: startIndex, end: endIndex, ring: [start, end]}; - } - } - } - - function index(point) { - return point[0] * 2 + point[1] * (dx + 1) * 4; - } - - function smoothLinear(ring, values, value) { - ring.forEach(function(point) { - var x = point[0], - y = point[1], - xt = x | 0, - yt = y | 0, - v0, - v1 = values[yt * dx + xt]; - if (x > 0 && x < dx && xt === x) { - v0 = values[yt * dx + xt - 1]; - point[0] = x + (value - v0) / (v1 - v0) - 0.5; - } - if (y > 0 && y < dy && yt === y) { - v0 = values[(yt - 1) * dx + xt]; - point[1] = y + (value - v0) / (v1 - v0) - 0.5; - } - }); - } - - contours.contour = contour; - - contours.size = function(_) { - if (!arguments.length) return [dx, dy]; - var _0 = Math.floor(_[0]), _1 = Math.floor(_[1]); - if (!(_0 >= 0 && _1 >= 0)) throw new Error("invalid size"); - return dx = _0, dy = _1, contours; - }; - - contours.thresholds = function(_) { - return arguments.length ? (threshold = typeof _ === "function" ? _ : Array.isArray(_) ? constant$5(slice$1.call(_)) : constant$5(_), contours) : threshold; - }; - - contours.smooth = function(_) { - return arguments.length ? (smooth = _ ? smoothLinear : noop$2, contours) : smooth === smoothLinear; - }; - - return contours; - } - -// TODO Optimize edge cases. -// TODO Optimize index calculation. -// TODO Optimize arguments. - function blurX(source, target, r) { - var n = source.width, - m = source.height, - w = (r << 1) + 1; - for (var j = 0; j < m; ++j) { - for (var i = 0, sr = 0; i < n + r; ++i) { - if (i < n) { - sr += source.data[i + j * n]; - } - if (i >= r) { - if (i >= w) { - sr -= source.data[i - w + j * n]; - } - target.data[i - r + j * n] = sr / Math.min(i + 1, n - 1 + w - i, w); - } - } - } - } - -// TODO Optimize edge cases. -// TODO Optimize index calculation. -// TODO Optimize arguments. - function blurY(source, target, r) { - var n = source.width, - m = source.height, - w = (r << 1) + 1; - for (var i = 0; i < n; ++i) { - for (var j = 0, sr = 0; j < m + r; ++j) { - if (j < m) { - sr += source.data[i + j * n]; - } - if (j >= r) { - if (j >= w) { - sr -= source.data[i + (j - w) * n]; - } - target.data[i + (j - r) * n] = sr / Math.min(j + 1, m - 1 + w - j, w); - } - } - } - } - - function defaultX$1(d) { - return d[0]; - } - - function defaultY$1(d) { - return d[1]; - } - - function defaultWeight() { - return 1; - } - - function density() { - var x = defaultX$1, - y = defaultY$1, - weight = defaultWeight, - dx = 960, - dy = 500, - r = 20, // blur radius - k = 2, // log2(grid cell size) - o = r * 3, // grid offset, to pad for blur - n = (dx + o * 2) >> k, // grid width - m = (dy + o * 2) >> k, // grid height - threshold = constant$5(20); - - function density(data) { - var values0 = new Float32Array(n * m), - values1 = new Float32Array(n * m); - - data.forEach(function(d, i, data) { - var xi = (+x(d, i, data) + o) >> k, - yi = (+y(d, i, data) + o) >> k, - wi = +weight(d, i, data); - if (xi >= 0 && xi < n && yi >= 0 && yi < m) { - values0[xi + yi * n] += wi; - } - }); - - // TODO Optimize. - blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k); - blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k); - blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k); - blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k); - blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k); - blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k); - - var tz = threshold(values0); - - // Convert number of thresholds into uniform thresholds. - if (!Array.isArray(tz)) { - var stop = max$3(values0); - tz = tickStep(0, stop, tz); - tz = sequence(0, Math.floor(stop / tz) * tz, tz); - tz.shift(); - } - - return contours() - .thresholds(tz) - .size([n, m]) - (values0) - .map(transform); - } - - function transform(geometry) { - geometry.value *= Math.pow(2, -2 * k); // Density in points per square pixel. - geometry.coordinates.forEach(transformPolygon); - return geometry; - } - - function transformPolygon(coordinates) { - coordinates.forEach(transformRing); - } - - function transformRing(coordinates) { - coordinates.forEach(transformPoint); - } - - // TODO Optimize. - function transformPoint(coordinates) { - coordinates[0] = coordinates[0] * Math.pow(2, k) - o; - coordinates[1] = coordinates[1] * Math.pow(2, k) - o; - } - - function resize() { - o = r * 3; - n = (dx + o * 2) >> k; - m = (dy + o * 2) >> k; - return density; - } - - density.x = function(_) { - return arguments.length ? (x = typeof _ === "function" ? _ : constant$5(+_), density) : x; - }; - - density.y = function(_) { - return arguments.length ? (y = typeof _ === "function" ? _ : constant$5(+_), density) : y; - }; - - density.weight = function(_) { - return arguments.length ? (weight = typeof _ === "function" ? _ : constant$5(+_), density) : weight; - }; - - density.size = function(_) { - if (!arguments.length) return [dx, dy]; - var _0 = +_[0], _1 = +_[1]; - if (!(_0 >= 0 && _1 >= 0)) throw new Error("invalid size"); - return dx = _0, dy = _1, resize(); - }; - - density.cellSize = function(_) { - if (!arguments.length) return 1 << k; - if (!((_ = +_) >= 1)) throw new Error("invalid cell size"); - return k = Math.floor(Math.log(_) / Math.LN2), resize(); - }; - - density.thresholds = function(_) { - return arguments.length ? (threshold = typeof _ === "function" ? _ : Array.isArray(_) ? constant$5(slice$1.call(_)) : constant$5(_), density) : threshold; - }; - - density.bandwidth = function(_) { - if (!arguments.length) return Math.sqrt(r * (r + 1)); - if (!((_ = +_) >= 0)) throw new Error("invalid bandwidth"); - return r = Math.round((Math.sqrt(4 * _ * _ + 1) - 1) / 2), resize(); - }; - - return density; - } - - const EPSILON = Math.pow(2, -52); - const EDGE_STACK = new Uint32Array(512); - - class Delaunator { - - static from(points, getX = defaultGetX, getY = defaultGetY) { - const n = points.length; - const coords = new Float64Array(n * 2); - - for (let i = 0; i < n; i++) { - const p = points[i]; - coords[2 * i] = getX(p); - coords[2 * i + 1] = getY(p); - } - - return new Delaunator(coords); - } - - constructor(coords) { - const n = coords.length >> 1; - if (n > 0 && typeof coords[0] !== 'number') throw new Error('Expected coords to contain numbers.'); - - this.coords = coords; - - // arrays that will store the triangulation graph - const maxTriangles = Math.max(2 * n - 5, 0); - this._triangles = new Uint32Array(maxTriangles * 3); - this._halfedges = new Int32Array(maxTriangles * 3); - - // temporary arrays for tracking the edges of the advancing convex hull - this._hashSize = Math.ceil(Math.sqrt(n)); - this._hullPrev = new Uint32Array(n); // edge to prev edge - this._hullNext = new Uint32Array(n); // edge to next edge - this._hullTri = new Uint32Array(n); // edge to adjacent triangle - this._hullHash = new Int32Array(this._hashSize).fill(-1); // angular edge hash - - // temporary arrays for sorting points - this._ids = new Uint32Array(n); - this._dists = new Float64Array(n); - - this.update(); - } - - update() { - const {coords, _hullPrev: hullPrev, _hullNext: hullNext, _hullTri: hullTri, _hullHash: hullHash} = this; - const n = coords.length >> 1; - - // populate an array of point indices; calculate input data bbox - let minX = Infinity; - let minY = Infinity; - let maxX = -Infinity; - let maxY = -Infinity; - - for (let i = 0; i < n; i++) { - const x = coords[2 * i]; - const y = coords[2 * i + 1]; - if (x < minX) minX = x; - if (y < minY) minY = y; - if (x > maxX) maxX = x; - if (y > maxY) maxY = y; - this._ids[i] = i; - } - const cx = (minX + maxX) / 2; - const cy = (minY + maxY) / 2; - - let minDist = Infinity; - let i0, i1, i2; - - // pick a seed point close to the center - for (let i = 0; i < n; i++) { - const d = dist(cx, cy, coords[2 * i], coords[2 * i + 1]); - if (d < minDist) { - i0 = i; - minDist = d; - } - } - const i0x = coords[2 * i0]; - const i0y = coords[2 * i0 + 1]; - - minDist = Infinity; - - // find the point closest to the seed - for (let i = 0; i < n; i++) { - if (i === i0) continue; - const d = dist(i0x, i0y, coords[2 * i], coords[2 * i + 1]); - if (d < minDist && d > 0) { - i1 = i; - minDist = d; - } - } - let i1x = coords[2 * i1]; - let i1y = coords[2 * i1 + 1]; - - let minRadius = Infinity; - - // find the third point which forms the smallest circumcircle with the first two - for (let i = 0; i < n; i++) { - if (i === i0 || i === i1) continue; - const r = circumradius(i0x, i0y, i1x, i1y, coords[2 * i], coords[2 * i + 1]); - if (r < minRadius) { - i2 = i; - minRadius = r; - } - } - let i2x = coords[2 * i2]; - let i2y = coords[2 * i2 + 1]; - - if (minRadius === Infinity) { - // order collinear points by dx (or dy if all x are identical) - // and return the list as a hull - for (let i = 0; i < n; i++) { - this._dists[i] = (coords[2 * i] - coords[0]) || (coords[2 * i + 1] - coords[1]); - } - quicksort(this._ids, this._dists, 0, n - 1); - const hull = new Uint32Array(n); - let j = 0; - for (let i = 0, d0 = -Infinity; i < n; i++) { - const id = this._ids[i]; - if (this._dists[id] > d0) { - hull[j++] = id; - d0 = this._dists[id]; - } - } - this.hull = hull.subarray(0, j); - this.triangles = new Uint32Array(0); - this.halfedges = new Uint32Array(0); - return; - } - - // swap the order of the seed points for counter-clockwise orientation - if (orient(i0x, i0y, i1x, i1y, i2x, i2y)) { - const i = i1; - const x = i1x; - const y = i1y; - i1 = i2; - i1x = i2x; - i1y = i2y; - i2 = i; - i2x = x; - i2y = y; - } - - const center = circumcenter(i0x, i0y, i1x, i1y, i2x, i2y); - this._cx = center.x; - this._cy = center.y; - - for (let i = 0; i < n; i++) { - this._dists[i] = dist(coords[2 * i], coords[2 * i + 1], center.x, center.y); - } - - // sort the points by distance from the seed triangle circumcenter - quicksort(this._ids, this._dists, 0, n - 1); - - // set up the seed triangle as the starting hull - this._hullStart = i0; - let hullSize = 3; - - hullNext[i0] = hullPrev[i2] = i1; - hullNext[i1] = hullPrev[i0] = i2; - hullNext[i2] = hullPrev[i1] = i0; - - hullTri[i0] = 0; - hullTri[i1] = 1; - hullTri[i2] = 2; - - hullHash.fill(-1); - hullHash[this._hashKey(i0x, i0y)] = i0; - hullHash[this._hashKey(i1x, i1y)] = i1; - hullHash[this._hashKey(i2x, i2y)] = i2; - - this.trianglesLen = 0; - this._addTriangle(i0, i1, i2, -1, -1, -1); - - for (let k = 0, xp, yp; k < this._ids.length; k++) { - const i = this._ids[k]; - const x = coords[2 * i]; - const y = coords[2 * i + 1]; - - // skip near-duplicate points - if (k > 0 && Math.abs(x - xp) <= EPSILON && Math.abs(y - yp) <= EPSILON) continue; - xp = x; - yp = y; - - // skip seed triangle points - if (i === i0 || i === i1 || i === i2) continue; - - // find a visible edge on the convex hull using edge hash - let start = 0; - for (let j = 0, key = this._hashKey(x, y); j < this._hashSize; j++) { - start = hullHash[(key + j) % this._hashSize]; - if (start !== -1 && start !== hullNext[start]) break; - } - - start = hullPrev[start]; - let e = start, q; - while (q = hullNext[e], !orient(x, y, coords[2 * e], coords[2 * e + 1], coords[2 * q], coords[2 * q + 1])) { - e = q; - if (e === start) { - e = -1; - break; - } - } - if (e === -1) continue; // likely a near-duplicate point; skip it - - // add the first triangle from the point - let t = this._addTriangle(e, i, hullNext[e], -1, -1, hullTri[e]); - - // recursively flip triangles from the point until they satisfy the Delaunay condition - hullTri[i] = this._legalize(t + 2); - hullTri[e] = t; // keep track of boundary triangles on the hull - hullSize++; - - // walk forward through the hull, adding more triangles and flipping recursively - let n = hullNext[e]; - while (q = hullNext[n], orient(x, y, coords[2 * n], coords[2 * n + 1], coords[2 * q], coords[2 * q + 1])) { - t = this._addTriangle(n, i, q, hullTri[i], -1, hullTri[n]); - hullTri[i] = this._legalize(t + 2); - hullNext[n] = n; // mark as removed - hullSize--; - n = q; - } - - // walk backward from the other side, adding more triangles and flipping - if (e === start) { - while (q = hullPrev[e], orient(x, y, coords[2 * q], coords[2 * q + 1], coords[2 * e], coords[2 * e + 1])) { - t = this._addTriangle(q, i, e, -1, hullTri[e], hullTri[q]); - this._legalize(t + 2); - hullTri[q] = t; - hullNext[e] = e; // mark as removed - hullSize--; - e = q; - } - } - - // update the hull indices - this._hullStart = hullPrev[i] = e; - hullNext[e] = hullPrev[n] = i; - hullNext[i] = n; - - // save the two new edges in the hash table - hullHash[this._hashKey(x, y)] = i; - hullHash[this._hashKey(coords[2 * e], coords[2 * e + 1])] = e; - } - - this.hull = new Uint32Array(hullSize); - for (let i = 0, e = this._hullStart; i < hullSize; i++) { - this.hull[i] = e; - e = hullNext[e]; - } - - // trim typed triangle mesh arrays - this.triangles = this._triangles.subarray(0, this.trianglesLen); - this.halfedges = this._halfedges.subarray(0, this.trianglesLen); - } - - _hashKey(x, y) { - return Math.floor(pseudoAngle(x - this._cx, y - this._cy) * this._hashSize) % this._hashSize; - } - - _legalize(a) { - const {_triangles: triangles, _halfedges: halfedges, coords} = this; - - let i = 0; - let ar = 0; - - // recursion eliminated with a fixed-size stack - while (true) { - const b = halfedges[a]; - - /* if the pair of triangles doesn't satisfy the Delaunay condition - * (p1 is inside the circumcircle of [p0, pl, pr]), flip them, - * then do the same check/flip recursively for the new pair of triangles - * - * pl pl - * /||\ / \ - * al/ || \bl al/ \a - * / || \ / \ - * / a||b \ flip /___ar___\ - * p0\ || /p1 => p0\---bl---/p1 - * \ || / \ / - * ar\ || /br b\ /br - * \||/ \ / - * pr pr - */ - const a0 = a - a % 3; - ar = a0 + (a + 2) % 3; - - if (b === -1) { // convex hull edge - if (i === 0) break; - a = EDGE_STACK[--i]; - continue; - } - - const b0 = b - b % 3; - const al = a0 + (a + 1) % 3; - const bl = b0 + (b + 2) % 3; - - const p0 = triangles[ar]; - const pr = triangles[a]; - const pl = triangles[al]; - const p1 = triangles[bl]; - - const illegal = inCircle( - coords[2 * p0], coords[2 * p0 + 1], - coords[2 * pr], coords[2 * pr + 1], - coords[2 * pl], coords[2 * pl + 1], - coords[2 * p1], coords[2 * p1 + 1]); - - if (illegal) { - triangles[a] = p1; - triangles[b] = p0; - - const hbl = halfedges[bl]; - - // edge swapped on the other side of the hull (rare); fix the halfedge reference - if (hbl === -1) { - let e = this._hullStart; - do { - if (this._hullTri[e] === bl) { - this._hullTri[e] = a; - break; - } - e = this._hullPrev[e]; - } while (e !== this._hullStart); - } - this._link(a, hbl); - this._link(b, halfedges[ar]); - this._link(ar, bl); - - const br = b0 + (b + 1) % 3; - - // don't worry about hitting the cap: it can only happen on extremely degenerate input - if (i < EDGE_STACK.length) { - EDGE_STACK[i++] = br; - } - } else { - if (i === 0) break; - a = EDGE_STACK[--i]; - } - } - - return ar; - } - - _link(a, b) { - this._halfedges[a] = b; - if (b !== -1) this._halfedges[b] = a; - } - - // add a new triangle given vertex indices and adjacent half-edge ids - _addTriangle(i0, i1, i2, a, b, c) { - const t = this.trianglesLen; - - this._triangles[t] = i0; - this._triangles[t + 1] = i1; - this._triangles[t + 2] = i2; - - this._link(t, a); - this._link(t + 1, b); - this._link(t + 2, c); - - this.trianglesLen += 3; - - return t; - } - } - -// monotonically increases with real angle, but doesn't need expensive trigonometry - function pseudoAngle(dx, dy) { - const p = dx / (Math.abs(dx) + Math.abs(dy)); - return (dy > 0 ? 3 - p : 1 + p) / 4; // [0..1] - } - - function dist(ax, ay, bx, by) { - const dx = ax - bx; - const dy = ay - by; - return dx * dx + dy * dy; - } - -// return 2d orientation sign if we're confident in it through J. Shewchuk's error bound check - function orientIfSure(px, py, rx, ry, qx, qy) { - const l = (ry - py) * (qx - px); - const r = (rx - px) * (qy - py); - return Math.abs(l - r) >= 3.3306690738754716e-16 * Math.abs(l + r) ? l - r : 0; - } - -// a more robust orientation test that's stable in a given triangle (to fix robustness issues) - function orient(rx, ry, qx, qy, px, py) { - const sign = orientIfSure(px, py, rx, ry, qx, qy) || - orientIfSure(rx, ry, qx, qy, px, py) || - orientIfSure(qx, qy, px, py, rx, ry); - return sign < 0; - } - - function inCircle(ax, ay, bx, by, cx, cy, px, py) { - const dx = ax - px; - const dy = ay - py; - const ex = bx - px; - const ey = by - py; - const fx = cx - px; - const fy = cy - py; - - const ap = dx * dx + dy * dy; - const bp = ex * ex + ey * ey; - const cp = fx * fx + fy * fy; - - return dx * (ey * cp - bp * fy) - - dy * (ex * cp - bp * fx) + - ap * (ex * fy - ey * fx) < 0; - } - - function circumradius(ax, ay, bx, by, cx, cy) { - const dx = bx - ax; - const dy = by - ay; - const ex = cx - ax; - const ey = cy - ay; - - const bl = dx * dx + dy * dy; - const cl = ex * ex + ey * ey; - const d = 0.5 / (dx * ey - dy * ex); - - const x = (ey * bl - dy * cl) * d; - const y = (dx * cl - ex * bl) * d; - - return x * x + y * y; - } - - function circumcenter(ax, ay, bx, by, cx, cy) { - const dx = bx - ax; - const dy = by - ay; - const ex = cx - ax; - const ey = cy - ay; - - const bl = dx * dx + dy * dy; - const cl = ex * ex + ey * ey; - const d = 0.5 / (dx * ey - dy * ex); - - const x = ax + (ey * bl - dy * cl) * d; - const y = ay + (dx * cl - ex * bl) * d; - - return {x, y}; - } - - function quicksort(ids, dists, left, right) { - if (right - left <= 20) { - for (let i = left + 1; i <= right; i++) { - const temp = ids[i]; - const tempDist = dists[temp]; - let j = i - 1; - while (j >= left && dists[ids[j]] > tempDist) ids[j + 1] = ids[j--]; - ids[j + 1] = temp; - } - } else { - const median = (left + right) >> 1; - let i = left + 1; - let j = right; - swap(ids, median, i); - if (dists[ids[left]] > dists[ids[right]]) swap(ids, left, right); - if (dists[ids[i]] > dists[ids[right]]) swap(ids, i, right); - if (dists[ids[left]] > dists[ids[i]]) swap(ids, left, i); - - const temp = ids[i]; - const tempDist = dists[temp]; - while (true) { - do i++; while (dists[ids[i]] < tempDist); - do j--; while (dists[ids[j]] > tempDist); - if (j < i) break; - swap(ids, i, j); - } - ids[left + 1] = ids[j]; - ids[j] = temp; - - if (right - i + 1 >= j - left) { - quicksort(ids, dists, i, right); - quicksort(ids, dists, left, j - 1); - } else { - quicksort(ids, dists, left, j - 1); - quicksort(ids, dists, i, right); - } - } - } - - function swap(arr, i, j) { - const tmp = arr[i]; - arr[i] = arr[j]; - arr[j] = tmp; - } - - function defaultGetX(p) { - return p[0]; - } - function defaultGetY(p) { - return p[1]; - } - - const epsilon$2 = 1e-6; - - class Path { - constructor() { - this._x0 = this._y0 = // start of current subpath - this._x1 = this._y1 = null; // end of current subpath - this._ = ""; - } - moveTo(x, y) { - this._ += `M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`; - } - closePath() { - if (this._x1 !== null) { - this._x1 = this._x0, this._y1 = this._y0; - this._ += "Z"; - } - } - lineTo(x, y) { - this._ += `L${this._x1 = +x},${this._y1 = +y}`; - } - arc(x, y, r) { - x = +x, y = +y, r = +r; - const x0 = x + r; - const y0 = y; - if (r < 0) throw new Error("negative radius"); - if (this._x1 === null) this._ += `M${x0},${y0}`; - else if (Math.abs(this._x1 - x0) > epsilon$2 || Math.abs(this._y1 - y0) > epsilon$2) this._ += "L" + x0 + "," + y0; - if (!r) return; - this._ += `A${r},${r},0,1,1,${x - r},${y}A${r},${r},0,1,1,${this._x1 = x0},${this._y1 = y0}`; - } - rect(x, y, w, h) { - this._ += `M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${+w}v${+h}h${-w}Z`; - } - value() { - return this._ || null; - } - } - - class Polygon { - constructor() { - this._ = []; - } - moveTo(x, y) { - this._.push([x, y]); - } - closePath() { - this._.push(this._[0].slice()); - } - lineTo(x, y) { - this._.push([x, y]); - } - value() { - return this._.length ? this._ : null; - } - } - - class Voronoi { - constructor(delaunay, [xmin, ymin, xmax, ymax] = [0, 0, 960, 500]) { - if (!((xmax = +xmax) >= (xmin = +xmin)) || !((ymax = +ymax) >= (ymin = +ymin))) throw new Error("invalid bounds"); - this.delaunay = delaunay; - this._circumcenters = new Float64Array(delaunay.points.length * 2); - this.vectors = new Float64Array(delaunay.points.length * 2); - this.xmax = xmax, this.xmin = xmin; - this.ymax = ymax, this.ymin = ymin; - this._init(); - } - update() { - this.delaunay.update(); - this._init(); - return this; - } - _init() { - const {delaunay: {points, hull, triangles}, vectors} = this; - - // Compute circumcenters. - const circumcenters = this.circumcenters = this._circumcenters.subarray(0, triangles.length / 3 * 2); - for (let i = 0, j = 0, n = triangles.length, x, y; i < n; i += 3, j += 2) { - const t1 = triangles[i] * 2; - const t2 = triangles[i + 1] * 2; - const t3 = triangles[i + 2] * 2; - const x1 = points[t1]; - const y1 = points[t1 + 1]; - const x2 = points[t2]; - const y2 = points[t2 + 1]; - const x3 = points[t3]; - const y3 = points[t3 + 1]; - - const dx = x2 - x1; - const dy = y2 - y1; - const ex = x3 - x1; - const ey = y3 - y1; - const bl = dx * dx + dy * dy; - const cl = ex * ex + ey * ey; - const ab = (dx * ey - dy * ex) * 2; - - if (!ab) { - // degenerate case (collinear diagram) - x = (x1 + x3) / 2 - 1e8 * ey; - y = (y1 + y3) / 2 + 1e8 * ex; - } - else if (Math.abs(ab) < 1e-8) { - // almost equal points (degenerate triangle) - x = (x1 + x3) / 2; - y = (y1 + y3) / 2; - } else { - const d = 1 / ab; - x = x1 + (ey * bl - dy * cl) * d; - y = y1 + (dx * cl - ex * bl) * d; - } - circumcenters[j] = x; - circumcenters[j + 1] = y; - } - - // Compute exterior cell rays. - let h = hull[hull.length - 1]; - let p0, p1 = h * 4; - let x0, x1 = points[2 * h]; - let y0, y1 = points[2 * h + 1]; - vectors.fill(0); - for (let i = 0; i < hull.length; ++i) { - h = hull[i]; - p0 = p1, x0 = x1, y0 = y1; - p1 = h * 4, x1 = points[2 * h], y1 = points[2 * h + 1]; - vectors[p0 + 2] = vectors[p1] = y0 - y1; - vectors[p0 + 3] = vectors[p1 + 1] = x1 - x0; - } - } - render(context) { - const buffer = context == null ? context = new Path : undefined; - const {delaunay: {halfedges, inedges, hull}, circumcenters, vectors} = this; - if (hull.length <= 1) return null; - for (let i = 0, n = halfedges.length; i < n; ++i) { - const j = halfedges[i]; - if (j < i) continue; - const ti = Math.floor(i / 3) * 2; - const tj = Math.floor(j / 3) * 2; - const xi = circumcenters[ti]; - const yi = circumcenters[ti + 1]; - const xj = circumcenters[tj]; - const yj = circumcenters[tj + 1]; - this._renderSegment(xi, yi, xj, yj, context); - } - let h0, h1 = hull[hull.length - 1]; - for (let i = 0; i < hull.length; ++i) { - h0 = h1, h1 = hull[i]; - const t = Math.floor(inedges[h1] / 3) * 2; - const x = circumcenters[t]; - const y = circumcenters[t + 1]; - const v = h0 * 4; - const p = this._project(x, y, vectors[v + 2], vectors[v + 3]); - if (p) this._renderSegment(x, y, p[0], p[1], context); - } - return buffer && buffer.value(); - } - renderBounds(context) { - const buffer = context == null ? context = new Path : undefined; - context.rect(this.xmin, this.ymin, this.xmax - this.xmin, this.ymax - this.ymin); - return buffer && buffer.value(); - } - renderCell(i, context) { - const buffer = context == null ? context = new Path : undefined; - const points = this._clip(i); - if (points === null || !points.length) return; - context.moveTo(points[0], points[1]); - let n = points.length; - while (points[0] === points[n-2] && points[1] === points[n-1] && n > 1) n -= 2; - for (let i = 2; i < n; i += 2) { - if (points[i] !== points[i-2] || points[i+1] !== points[i-1]) - context.lineTo(points[i], points[i + 1]); - } - context.closePath(); - return buffer && buffer.value(); - } - *cellPolygons() { - const {delaunay: {points}} = this; - for (let i = 0, n = points.length / 2; i < n; ++i) { - const cell = this.cellPolygon(i); - if (cell) cell.index = i, yield cell; - } - } - cellPolygon(i) { - const polygon = new Polygon; - this.renderCell(i, polygon); - return polygon.value(); - } - _renderSegment(x0, y0, x1, y1, context) { - let S; - const c0 = this._regioncode(x0, y0); - const c1 = this._regioncode(x1, y1); - if (c0 === 0 && c1 === 0) { - context.moveTo(x0, y0); - context.lineTo(x1, y1); - } else if (S = this._clipSegment(x0, y0, x1, y1, c0, c1)) { - context.moveTo(S[0], S[1]); - context.lineTo(S[2], S[3]); - } - } - contains(i, x, y) { - if ((x = +x, x !== x) || (y = +y, y !== y)) return false; - return this.delaunay._step(i, x, y) === i; - } - *neighbors(i) { - const ci = this._clip(i); - if (ci) for (const j of this.delaunay.neighbors(i)) { - const cj = this._clip(j); - // find the common edge - if (cj) loop: for (let ai = 0, li = ci.length; ai < li; ai += 2) { - for (let aj = 0, lj = cj.length; aj < lj; aj += 2) { - if (ci[ai] == cj[aj] - && ci[ai + 1] == cj[aj + 1] - && ci[(ai + 2) % li] == cj[(aj + lj - 2) % lj] - && ci[(ai + 3) % li] == cj[(aj + lj - 1) % lj] - ) { - yield j; - break loop; - } - } - } - } - } - _cell(i) { - const {circumcenters, delaunay: {inedges, halfedges, triangles}} = this; - const e0 = inedges[i]; - if (e0 === -1) return null; // coincident point - const points = []; - let e = e0; - do { - const t = Math.floor(e / 3); - points.push(circumcenters[t * 2], circumcenters[t * 2 + 1]); - e = e % 3 === 2 ? e - 2 : e + 1; - if (triangles[e] !== i) break; // bad triangulation - e = halfedges[e]; - } while (e !== e0 && e !== -1); - return points; - } - _clip(i) { - // degenerate case (1 valid point: return the box) - if (i === 0 && this.delaunay.hull.length === 1) { - return [this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax, this.xmin, this.ymin]; - } - const points = this._cell(i); - if (points === null) return null; - const {vectors: V} = this; - const v = i * 4; - return V[v] || V[v + 1] - ? this._clipInfinite(i, points, V[v], V[v + 1], V[v + 2], V[v + 3]) - : this._clipFinite(i, points); - } - _clipFinite(i, points) { - const n = points.length; - let P = null; - let x0, y0, x1 = points[n - 2], y1 = points[n - 1]; - let c0, c1 = this._regioncode(x1, y1); - let e0, e1; - for (let j = 0; j < n; j += 2) { - x0 = x1, y0 = y1, x1 = points[j], y1 = points[j + 1]; - c0 = c1, c1 = this._regioncode(x1, y1); - if (c0 === 0 && c1 === 0) { - e0 = e1, e1 = 0; - if (P) P.push(x1, y1); - else P = [x1, y1]; - } else { - let S, sx0, sy0, sx1, sy1; - if (c0 === 0) { - if ((S = this._clipSegment(x0, y0, x1, y1, c0, c1)) === null) continue; - [sx0, sy0, sx1, sy1] = S; - } else { - if ((S = this._clipSegment(x1, y1, x0, y0, c1, c0)) === null) continue; - [sx1, sy1, sx0, sy0] = S; - e0 = e1, e1 = this._edgecode(sx0, sy0); - if (e0 && e1) this._edge(i, e0, e1, P, P.length); - if (P) P.push(sx0, sy0); - else P = [sx0, sy0]; - } - e0 = e1, e1 = this._edgecode(sx1, sy1); - if (e0 && e1) this._edge(i, e0, e1, P, P.length); - if (P) P.push(sx1, sy1); - else P = [sx1, sy1]; - } - } - if (P) { - e0 = e1, e1 = this._edgecode(P[0], P[1]); - if (e0 && e1) this._edge(i, e0, e1, P, P.length); - } else if (this.contains(i, (this.xmin + this.xmax) / 2, (this.ymin + this.ymax) / 2)) { - return [this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax, this.xmin, this.ymin]; - } - return P; - } - _clipSegment(x0, y0, x1, y1, c0, c1) { - while (true) { - if (c0 === 0 && c1 === 0) return [x0, y0, x1, y1]; - if (c0 & c1) return null; - let x, y, c = c0 || c1; - if (c & 0b1000) x = x0 + (x1 - x0) * (this.ymax - y0) / (y1 - y0), y = this.ymax; - else if (c & 0b0100) x = x0 + (x1 - x0) * (this.ymin - y0) / (y1 - y0), y = this.ymin; - else if (c & 0b0010) y = y0 + (y1 - y0) * (this.xmax - x0) / (x1 - x0), x = this.xmax; - else y = y0 + (y1 - y0) * (this.xmin - x0) / (x1 - x0), x = this.xmin; - if (c0) x0 = x, y0 = y, c0 = this._regioncode(x0, y0); - else x1 = x, y1 = y, c1 = this._regioncode(x1, y1); - } - } - _clipInfinite(i, points, vx0, vy0, vxn, vyn) { - let P = Array.from(points), p; - if (p = this._project(P[0], P[1], vx0, vy0)) P.unshift(p[0], p[1]); - if (p = this._project(P[P.length - 2], P[P.length - 1], vxn, vyn)) P.push(p[0], p[1]); - if (P = this._clipFinite(i, P)) { - for (let j = 0, n = P.length, c0, c1 = this._edgecode(P[n - 2], P[n - 1]); j < n; j += 2) { - c0 = c1, c1 = this._edgecode(P[j], P[j + 1]); - if (c0 && c1) j = this._edge(i, c0, c1, P, j), n = P.length; - } - } else if (this.contains(i, (this.xmin + this.xmax) / 2, (this.ymin + this.ymax) / 2)) { - P = [this.xmin, this.ymin, this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax]; - } - return P; - } - _edge(i, e0, e1, P, j) { - while (e0 !== e1) { - let x, y; - switch (e0) { - case 0b0101: e0 = 0b0100; continue; // top-left - case 0b0100: e0 = 0b0110, x = this.xmax, y = this.ymin; break; // top - case 0b0110: e0 = 0b0010; continue; // top-right - case 0b0010: e0 = 0b1010, x = this.xmax, y = this.ymax; break; // right - case 0b1010: e0 = 0b1000; continue; // bottom-right - case 0b1000: e0 = 0b1001, x = this.xmin, y = this.ymax; break; // bottom - case 0b1001: e0 = 0b0001; continue; // bottom-left - case 0b0001: e0 = 0b0101, x = this.xmin, y = this.ymin; break; // left - } - if ((P[j] !== x || P[j + 1] !== y) && this.contains(i, x, y)) { - P.splice(j, 0, x, y), j += 2; - } - } - if (P.length > 4) { - for (let i = 0; i < P.length; i+= 2) { - const j = (i + 2) % P.length, k = (i + 4) % P.length; - if (P[i] === P[j] && P[j] === P[k] - || P[i + 1] === P[j + 1] && P[j + 1] === P[k + 1]) - P.splice(j, 2), i -= 2; - } - } - return j; - } - _project(x0, y0, vx, vy) { - let t = Infinity, c, x, y; - if (vy < 0) { // top - if (y0 <= this.ymin) return null; - if ((c = (this.ymin - y0) / vy) < t) y = this.ymin, x = x0 + (t = c) * vx; - } else if (vy > 0) { // bottom - if (y0 >= this.ymax) return null; - if ((c = (this.ymax - y0) / vy) < t) y = this.ymax, x = x0 + (t = c) * vx; - } - if (vx > 0) { // right - if (x0 >= this.xmax) return null; - if ((c = (this.xmax - x0) / vx) < t) x = this.xmax, y = y0 + (t = c) * vy; - } else if (vx < 0) { // left - if (x0 <= this.xmin) return null; - if ((c = (this.xmin - x0) / vx) < t) x = this.xmin, y = y0 + (t = c) * vy; - } - return [x, y]; - } - _edgecode(x, y) { - return (x === this.xmin ? 0b0001 - : x === this.xmax ? 0b0010 : 0b0000) - | (y === this.ymin ? 0b0100 - : y === this.ymax ? 0b1000 : 0b0000); - } - _regioncode(x, y) { - return (x < this.xmin ? 0b0001 - : x > this.xmax ? 0b0010 : 0b0000) - | (y < this.ymin ? 0b0100 - : y > this.ymax ? 0b1000 : 0b0000); - } - } - - const tau$2 = 2 * Math.PI, pow$2 = Math.pow; - - function pointX(p) { - return p[0]; - } - - function pointY(p) { - return p[1]; - } - -// A triangulation is collinear if all its triangles have a non-null area - function collinear(d) { - const {triangles, coords} = d; - for (let i = 0; i < triangles.length; i += 3) { - const a = 2 * triangles[i], - b = 2 * triangles[i + 1], - c = 2 * triangles[i + 2], - cross = (coords[c] - coords[a]) * (coords[b + 1] - coords[a + 1]) - - (coords[b] - coords[a]) * (coords[c + 1] - coords[a + 1]); - if (cross > 1e-10) return false; - } - return true; - } - - function jitter(x, y, r) { - return [x + Math.sin(x + y) * r, y + Math.cos(x - y) * r]; - } - - class Delaunay { - static from(points, fx = pointX, fy = pointY, that) { - return new Delaunay("length" in points - ? flatArray(points, fx, fy, that) - : Float64Array.from(flatIterable(points, fx, fy, that))); - } - constructor(points) { - this._delaunator = new Delaunator(points); - this.inedges = new Int32Array(points.length / 2); - this._hullIndex = new Int32Array(points.length / 2); - this.points = this._delaunator.coords; - this._init(); - } - update() { - this._delaunator.update(); - this._init(); - return this; - } - _init() { - const d = this._delaunator, points = this.points; - - // check for collinear - if (d.hull && d.hull.length > 2 && collinear(d)) { - this.collinear = Int32Array.from({length: points.length/2}, (_,i) => i) - .sort((i, j) => points[2 * i] - points[2 * j] || points[2 * i + 1] - points[2 * j + 1]); // for exact neighbors - const e = this.collinear[0], f = this.collinear[this.collinear.length - 1], - bounds = [ points[2 * e], points[2 * e + 1], points[2 * f], points[2 * f + 1] ], - r = 1e-8 * Math.hypot(bounds[3] - bounds[1], bounds[2] - bounds[0]); - for (let i = 0, n = points.length / 2; i < n; ++i) { - const p = jitter(points[2 * i], points[2 * i + 1], r); - points[2 * i] = p[0]; - points[2 * i + 1] = p[1]; - } - this._delaunator = new Delaunator(points); - } else { - delete this.collinear; - } - - const halfedges = this.halfedges = this._delaunator.halfedges; - const hull = this.hull = this._delaunator.hull; - const triangles = this.triangles = this._delaunator.triangles; - const inedges = this.inedges.fill(-1); - const hullIndex = this._hullIndex.fill(-1); - - // Compute an index from each point to an (arbitrary) incoming halfedge - // Used to give the first neighbor of each point; for this reason, - // on the hull we give priority to exterior halfedges - for (let e = 0, n = halfedges.length; e < n; ++e) { - const p = triangles[e % 3 === 2 ? e - 2 : e + 1]; - if (halfedges[e] === -1 || inedges[p] === -1) inedges[p] = e; - } - for (let i = 0, n = hull.length; i < n; ++i) { - hullIndex[hull[i]] = i; - } - - // degenerate case: 1 or 2 (distinct) points - if (hull.length <= 2 && hull.length > 0) { - this.triangles = new Int32Array(3).fill(-1); - this.halfedges = new Int32Array(3).fill(-1); - this.triangles[0] = hull[0]; - this.triangles[1] = hull[1]; - this.triangles[2] = hull[1]; - inedges[hull[0]] = 1; - if (hull.length === 2) inedges[hull[1]] = 0; - } - } - voronoi(bounds) { - return new Voronoi(this, bounds); - } - *neighbors(i) { - const {inedges, hull, _hullIndex, halfedges, triangles, collinear} = this; - - // degenerate case with several collinear points - if (collinear) { - const l = collinear.indexOf(i); - if (l > 0) yield collinear[l - 1]; - if (l < collinear.length - 1) yield collinear[l + 1]; - return; - } - - const e0 = inedges[i]; - if (e0 === -1) return; // coincident point - let e = e0, p0 = -1; - do { - yield p0 = triangles[e]; - e = e % 3 === 2 ? e - 2 : e + 1; - if (triangles[e] !== i) return; // bad triangulation - e = halfedges[e]; - if (e === -1) { - const p = hull[(_hullIndex[i] + 1) % hull.length]; - if (p !== p0) yield p; - return; - } - } while (e !== e0); - } - find(x, y, i = 0) { - if ((x = +x, x !== x) || (y = +y, y !== y)) return -1; - const i0 = i; - let c; - while ((c = this._step(i, x, y)) >= 0 && c !== i && c !== i0) i = c; - return c; - } - _step(i, x, y) { - const {inedges, hull, _hullIndex, halfedges, triangles, points} = this; - if (inedges[i] === -1 || !points.length) return (i + 1) % (points.length >> 1); - let c = i; - let dc = pow$2(x - points[i * 2], 2) + pow$2(y - points[i * 2 + 1], 2); - const e0 = inedges[i]; - let e = e0; - do { - let t = triangles[e]; - const dt = pow$2(x - points[t * 2], 2) + pow$2(y - points[t * 2 + 1], 2); - if (dt < dc) dc = dt, c = t; - e = e % 3 === 2 ? e - 2 : e + 1; - if (triangles[e] !== i) break; // bad triangulation - e = halfedges[e]; - if (e === -1) { - e = hull[(_hullIndex[i] + 1) % hull.length]; - if (e !== t) { - if (pow$2(x - points[e * 2], 2) + pow$2(y - points[e * 2 + 1], 2) < dc) return e; - } - break; - } - } while (e !== e0); - return c; - } - render(context) { - const buffer = context == null ? context = new Path : undefined; - const {points, halfedges, triangles} = this; - for (let i = 0, n = halfedges.length; i < n; ++i) { - const j = halfedges[i]; - if (j < i) continue; - const ti = triangles[i] * 2; - const tj = triangles[j] * 2; - context.moveTo(points[ti], points[ti + 1]); - context.lineTo(points[tj], points[tj + 1]); - } - this.renderHull(context); - return buffer && buffer.value(); - } - renderPoints(context, r = 2) { - const buffer = context == null ? context = new Path : undefined; - const {points} = this; - for (let i = 0, n = points.length; i < n; i += 2) { - const x = points[i], y = points[i + 1]; - context.moveTo(x + r, y); - context.arc(x, y, r, 0, tau$2); - } - return buffer && buffer.value(); - } - renderHull(context) { - const buffer = context == null ? context = new Path : undefined; - const {hull, points} = this; - const h = hull[0] * 2, n = hull.length; - context.moveTo(points[h], points[h + 1]); - for (let i = 1; i < n; ++i) { - const h = 2 * hull[i]; - context.lineTo(points[h], points[h + 1]); - } - context.closePath(); - return buffer && buffer.value(); - } - hullPolygon() { - const polygon = new Polygon; - this.renderHull(polygon); - return polygon.value(); - } - renderTriangle(i, context) { - const buffer = context == null ? context = new Path : undefined; - const {points, triangles} = this; - const t0 = triangles[i *= 3] * 2; - const t1 = triangles[i + 1] * 2; - const t2 = triangles[i + 2] * 2; - context.moveTo(points[t0], points[t0 + 1]); - context.lineTo(points[t1], points[t1 + 1]); - context.lineTo(points[t2], points[t2 + 1]); - context.closePath(); - return buffer && buffer.value(); - } - *trianglePolygons() { - const {triangles} = this; - for (let i = 0, n = triangles.length / 3; i < n; ++i) { - yield this.trianglePolygon(i); - } - } - trianglePolygon(i) { - const polygon = new Polygon; - this.renderTriangle(i, polygon); - return polygon.value(); - } - } - - function flatArray(points, fx, fy, that) { - const n = points.length; - const array = new Float64Array(n * 2); - for (let i = 0; i < n; ++i) { - const p = points[i]; - array[i * 2] = fx.call(that, p, i, points); - array[i * 2 + 1] = fy.call(that, p, i, points); - } - return array; - } - - function* flatIterable(points, fx, fy, that) { - let i = 0; - for (const p of points) { - yield fx.call(that, p, i, points); - yield fy.call(that, p, i, points); - ++i; - } - } - - var EOL = {}, - EOF = {}, - QUOTE = 34, - NEWLINE = 10, - RETURN = 13; - - function objectConverter(columns) { - return new Function("d", "return {" + columns.map(function(name, i) { - return JSON.stringify(name) + ": d[" + i + "] || \"\""; - }).join(",") + "}"); - } - - function customConverter(columns, f) { - var object = objectConverter(columns); - return function(row, i) { - return f(object(row), i, columns); - }; - } - -// Compute unique columns in order of discovery. - function inferColumns(rows) { - var columnSet = Object.create(null), - columns = []; - - rows.forEach(function(row) { - for (var column in row) { - if (!(column in columnSet)) { - columns.push(columnSet[column] = column); - } - } - }); - - return columns; - } - - function pad$1(value, width) { - var s = value + "", length = s.length; - return length < width ? new Array(width - length + 1).join(0) + s : s; - } - - function formatYear$1(year) { - return year < 0 ? "-" + pad$1(-year, 6) - : year > 9999 ? "+" + pad$1(year, 6) - : pad$1(year, 4); - } - - function formatDate(date) { - var hours = date.getUTCHours(), - minutes = date.getUTCMinutes(), - seconds = date.getUTCSeconds(), - milliseconds = date.getUTCMilliseconds(); - return isNaN(date) ? "Invalid Date" - : formatYear$1(date.getUTCFullYear()) + "-" + pad$1(date.getUTCMonth() + 1, 2) + "-" + pad$1(date.getUTCDate(), 2) - + (milliseconds ? "T" + pad$1(hours, 2) + ":" + pad$1(minutes, 2) + ":" + pad$1(seconds, 2) + "." + pad$1(milliseconds, 3) + "Z" - : seconds ? "T" + pad$1(hours, 2) + ":" + pad$1(minutes, 2) + ":" + pad$1(seconds, 2) + "Z" - : minutes || hours ? "T" + pad$1(hours, 2) + ":" + pad$1(minutes, 2) + "Z" - : ""); - } - - function dsvFormat(delimiter) { - var reFormat = new RegExp("[\"" + delimiter + "\n\r]"), - DELIMITER = delimiter.charCodeAt(0); - - function parse(text, f) { - var convert, columns, rows = parseRows(text, function(row, i) { - if (convert) return convert(row, i - 1); - columns = row, convert = f ? customConverter(row, f) : objectConverter(row); - }); - rows.columns = columns || []; - return rows; - } - - function parseRows(text, f) { - var rows = [], // output rows - N = text.length, - I = 0, // current character index - n = 0, // current line number - t, // current token - eof = N <= 0, // current token followed by EOF? - eol = false; // current token followed by EOL? - - // Strip the trailing newline. - if (text.charCodeAt(N - 1) === NEWLINE) --N; - if (text.charCodeAt(N - 1) === RETURN) --N; - - function token() { - if (eof) return EOF; - if (eol) return eol = false, EOL; - - // Unescape quotes. - var i, j = I, c; - if (text.charCodeAt(j) === QUOTE) { - while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE); - if ((i = I) >= N) eof = true; - else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true; - else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; } - return text.slice(j + 1, i - 1).replace(/""/g, "\""); - } - - // Find next delimiter or newline. - while (I < N) { - if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true; - else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; } - else if (c !== DELIMITER) continue; - return text.slice(j, i); - } - - // Return last token before EOF. - return eof = true, text.slice(j, N); - } - - while ((t = token()) !== EOF) { - var row = []; - while (t !== EOL && t !== EOF) row.push(t), t = token(); - if (f && (row = f(row, n++)) == null) continue; - rows.push(row); - } - - return rows; - } - - function preformatBody(rows, columns) { - return rows.map(function(row) { - return columns.map(function(column) { - return formatValue(row[column]); - }).join(delimiter); - }); - } - - function format(rows, columns) { - if (columns == null) columns = inferColumns(rows); - return [columns.map(formatValue).join(delimiter)].concat(preformatBody(rows, columns)).join("\n"); - } - - function formatBody(rows, columns) { - if (columns == null) columns = inferColumns(rows); - return preformatBody(rows, columns).join("\n"); - } - - function formatRows(rows) { - return rows.map(formatRow).join("\n"); - } - - function formatRow(row) { - return row.map(formatValue).join(delimiter); - } - - function formatValue(value) { - return value == null ? "" - : value instanceof Date ? formatDate(value) - : reFormat.test(value += "") ? "\"" + value.replace(/"/g, "\"\"") + "\"" - : value; - } - - return { - parse: parse, - parseRows: parseRows, - format: format, - formatBody: formatBody, - formatRows: formatRows, - formatRow: formatRow, - formatValue: formatValue - }; - } - - var csv$1 = dsvFormat(","); - - var csvParse = csv$1.parse; - var csvParseRows = csv$1.parseRows; - var csvFormat = csv$1.format; - var csvFormatBody = csv$1.formatBody; - var csvFormatRows = csv$1.formatRows; - var csvFormatRow = csv$1.formatRow; - var csvFormatValue = csv$1.formatValue; - - var tsv$1 = dsvFormat("\t"); - - var tsvParse = tsv$1.parse; - var tsvParseRows = tsv$1.parseRows; - var tsvFormat = tsv$1.format; - var tsvFormatBody = tsv$1.formatBody; - var tsvFormatRows = tsv$1.formatRows; - var tsvFormatRow = tsv$1.formatRow; - var tsvFormatValue = tsv$1.formatValue; - - function autoType(object) { - for (var key in object) { - var value = object[key].trim(), number, m; - if (!value) value = null; - else if (value === "true") value = true; - else if (value === "false") value = false; - else if (value === "NaN") value = NaN; - else if (!isNaN(number = +value)) value = number; - else if (m = value.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)) { - if (fixtz && !!m[4] && !m[7]) value = value.replace(/-/g, "/").replace(/T/, " "); - value = new Date(value); - } - else continue; - object[key] = value; - } - return object; - } - -// https://github.com/d3/d3-dsv/issues/45 - const fixtz = new Date("2019-01-01T00:00").getHours() || new Date("2019-07-01T00:00").getHours(); - - function responseBlob(response) { - if (!response.ok) throw new Error(response.status + " " + response.statusText); - return response.blob(); - } - - function blob(input, init) { - return fetch(input, init).then(responseBlob); - } - - function responseArrayBuffer(response) { - if (!response.ok) throw new Error(response.status + " " + response.statusText); - return response.arrayBuffer(); - } - - function buffer(input, init) { - return fetch(input, init).then(responseArrayBuffer); - } - - function responseText(response) { - if (!response.ok) throw new Error(response.status + " " + response.statusText); - return response.text(); - } - - function text(input, init) { - return fetch(input, init).then(responseText); - } - - function dsvParse(parse) { - return function(input, init, row) { - if (arguments.length === 2 && typeof init === "function") row = init, init = undefined; - return text(input, init).then(function(response) { - return parse(response, row); - }); - }; - } - - function dsv(delimiter, input, init, row) { - if (arguments.length === 3 && typeof init === "function") row = init, init = undefined; - var format = dsvFormat(delimiter); - return text(input, init).then(function(response) { - return format.parse(response, row); - }); - } - - var csv = dsvParse(csvParse); - var tsv = dsvParse(tsvParse); - - function image(input, init) { - return new Promise(function(resolve, reject) { - var image = new Image; - for (var key in init) image[key] = init[key]; - image.onerror = reject; - image.onload = function() { resolve(image); }; - image.src = input; - }); - } - - function responseJson(response) { - if (!response.ok) throw new Error(response.status + " " + response.statusText); - if (response.status === 204 || response.status === 205) return; - return response.json(); - } - - function json(input, init) { - return fetch(input, init).then(responseJson); - } - - function parser(type) { - return (input, init) => text(input, init) - .then(text => (new DOMParser).parseFromString(text, type)); - } - - var xml = parser("application/xml"); - - var html = parser("text/html"); - - var svg = parser("image/svg+xml"); - - function center(x, y) { - var nodes, strength = 1; - - if (x == null) x = 0; - if (y == null) y = 0; - - function force() { - var i, - n = nodes.length, - node, - sx = 0, - sy = 0; - - for (i = 0; i < n; ++i) { - node = nodes[i], sx += node.x, sy += node.y; - } - - for (sx = (sx / n - x) * strength, sy = (sy / n - y) * strength, i = 0; i < n; ++i) { - node = nodes[i], node.x -= sx, node.y -= sy; - } - } - - force.initialize = function(_) { - nodes = _; - }; - - force.x = function(_) { - return arguments.length ? (x = +_, force) : x; - }; - - force.y = function(_) { - return arguments.length ? (y = +_, force) : y; - }; - - force.strength = function(_) { - return arguments.length ? (strength = +_, force) : strength; - }; - - return force; - } - - function tree_add(d) { - const x = +this._x.call(null, d), - y = +this._y.call(null, d); - return add(this.cover(x, y), x, y, d); - } - - function add(tree, x, y, d) { - if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points - - var parent, - node = tree._root, - leaf = {data: d}, - x0 = tree._x0, - y0 = tree._y0, - x1 = tree._x1, - y1 = tree._y1, - xm, - ym, - xp, - yp, - right, - bottom, - i, - j; - - // If the tree is empty, initialize the root as a leaf. - if (!node) return tree._root = leaf, tree; - - // Find the existing leaf for the new point, or add it. - while (node.length) { - if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm; - if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym; - if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree; - } - - // Is the new point is exactly coincident with the existing point? - xp = +tree._x.call(null, node.data); - yp = +tree._y.call(null, node.data); - if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree; - - // Otherwise, split the leaf node until the old and new point are separated. - do { - parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4); - if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm; - if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym; - } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm))); - return parent[j] = node, parent[i] = leaf, tree; - } - - function addAll(data) { - var d, i, n = data.length, - x, - y, - xz = new Array(n), - yz = new Array(n), - x0 = Infinity, - y0 = Infinity, - x1 = -Infinity, - y1 = -Infinity; - - // Compute the points and their extent. - for (i = 0; i < n; ++i) { - if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue; - xz[i] = x; - yz[i] = y; - if (x < x0) x0 = x; - if (x > x1) x1 = x; - if (y < y0) y0 = y; - if (y > y1) y1 = y; - } - - // If there were no (valid) points, abort. - if (x0 > x1 || y0 > y1) return this; - - // Expand the tree to cover the new points. - this.cover(x0, y0).cover(x1, y1); - - // Add the new points. - for (i = 0; i < n; ++i) { - add(this, xz[i], yz[i], data[i]); - } - - return this; - } - - function tree_cover(x, y) { - if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points - - var x0 = this._x0, - y0 = this._y0, - x1 = this._x1, - y1 = this._y1; - - // If the quadtree has no extent, initialize them. - // Integer extent are necessary so that if we later double the extent, - // the existing quadrant boundaries don’t change due to floating point error! - if (isNaN(x0)) { - x1 = (x0 = Math.floor(x)) + 1; - y1 = (y0 = Math.floor(y)) + 1; - } - - // Otherwise, double repeatedly to cover. - else { - var z = x1 - x0 || 1, - node = this._root, - parent, - i; - - while (x0 > x || x >= x1 || y0 > y || y >= y1) { - i = (y < y0) << 1 | (x < x0); - parent = new Array(4), parent[i] = node, node = parent, z *= 2; - switch (i) { - case 0: x1 = x0 + z, y1 = y0 + z; break; - case 1: x0 = x1 - z, y1 = y0 + z; break; - case 2: x1 = x0 + z, y0 = y1 - z; break; - case 3: x0 = x1 - z, y0 = y1 - z; break; - } - } - - if (this._root && this._root.length) this._root = node; - } - - this._x0 = x0; - this._y0 = y0; - this._x1 = x1; - this._y1 = y1; - return this; - } - - function tree_data() { - var data = []; - this.visit(function(node) { - if (!node.length) do data.push(node.data); while (node = node.next) - }); - return data; - } - - function tree_extent(_) { - return arguments.length - ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1]) - : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]]; - } - - function Quad(node, x0, y0, x1, y1) { - this.node = node; - this.x0 = x0; - this.y0 = y0; - this.x1 = x1; - this.y1 = y1; - } - - function tree_find(x, y, radius) { - var data, - x0 = this._x0, - y0 = this._y0, - x1, - y1, - x2, - y2, - x3 = this._x1, - y3 = this._y1, - quads = [], - node = this._root, - q, - i; - - if (node) quads.push(new Quad(node, x0, y0, x3, y3)); - if (radius == null) radius = Infinity; - else { - x0 = x - radius, y0 = y - radius; - x3 = x + radius, y3 = y + radius; - radius *= radius; - } - - while (q = quads.pop()) { - - // Stop searching if this quadrant can’t contain a closer node. - if (!(node = q.node) - || (x1 = q.x0) > x3 - || (y1 = q.y0) > y3 - || (x2 = q.x1) < x0 - || (y2 = q.y1) < y0) continue; - - // Bisect the current quadrant. - if (node.length) { - var xm = (x1 + x2) / 2, - ym = (y1 + y2) / 2; - - quads.push( - new Quad(node[3], xm, ym, x2, y2), - new Quad(node[2], x1, ym, xm, y2), - new Quad(node[1], xm, y1, x2, ym), - new Quad(node[0], x1, y1, xm, ym) - ); - - // Visit the closest quadrant first. - if (i = (y >= ym) << 1 | (x >= xm)) { - q = quads[quads.length - 1]; - quads[quads.length - 1] = quads[quads.length - 1 - i]; - quads[quads.length - 1 - i] = q; - } - } - - // Visit this point. (Visiting coincident points isn’t necessary!) - else { - var dx = x - +this._x.call(null, node.data), - dy = y - +this._y.call(null, node.data), - d2 = dx * dx + dy * dy; - if (d2 < radius) { - var d = Math.sqrt(radius = d2); - x0 = x - d, y0 = y - d; - x3 = x + d, y3 = y + d; - data = node.data; - } - } - } - - return data; - } - - function tree_remove(d) { - if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points - - var parent, - node = this._root, - retainer, - previous, - next, - x0 = this._x0, - y0 = this._y0, - x1 = this._x1, - y1 = this._y1, - x, - y, - xm, - ym, - right, - bottom, - i, - j; - - // If the tree is empty, initialize the root as a leaf. - if (!node) return this; - - // Find the leaf node for the point. - // While descending, also retain the deepest parent with a non-removed sibling. - if (node.length) while (true) { - if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm; - if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym; - if (!(parent = node, node = node[i = bottom << 1 | right])) return this; - if (!node.length) break; - if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i; - } - - // Find the point to remove. - while (node.data !== d) if (!(previous = node, node = node.next)) return this; - if (next = node.next) delete node.next; - - // If there are multiple coincident points, remove just the point. - if (previous) return (next ? previous.next = next : delete previous.next), this; - - // If this is the root point, remove it. - if (!parent) return this._root = next, this; - - // Remove this leaf. - next ? parent[i] = next : delete parent[i]; - - // If the parent now contains exactly one leaf, collapse superfluous parents. - if ((node = parent[0] || parent[1] || parent[2] || parent[3]) - && node === (parent[3] || parent[2] || parent[1] || parent[0]) - && !node.length) { - if (retainer) retainer[j] = node; - else this._root = node; - } - - return this; - } - - function removeAll(data) { - for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]); - return this; - } - - function tree_root() { - return this._root; - } - - function tree_size() { - var size = 0; - this.visit(function(node) { - if (!node.length) do ++size; while (node = node.next) - }); - return size; - } - - function tree_visit(callback) { - var quads = [], q, node = this._root, child, x0, y0, x1, y1; - if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1)); - while (q = quads.pop()) { - if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) { - var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2; - if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1)); - if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1)); - if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym)); - if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym)); - } - } - return this; - } - - function tree_visitAfter(callback) { - var quads = [], next = [], q; - if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1)); - while (q = quads.pop()) { - var node = q.node; - if (node.length) { - var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2; - if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym)); - if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym)); - if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1)); - if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1)); - } - next.push(q); - } - while (q = next.pop()) { - callback(q.node, q.x0, q.y0, q.x1, q.y1); - } - return this; - } - - function defaultX(d) { - return d[0]; - } - - function tree_x(_) { - return arguments.length ? (this._x = _, this) : this._x; - } - - function defaultY(d) { - return d[1]; - } - - function tree_y(_) { - return arguments.length ? (this._y = _, this) : this._y; - } - - function quadtree(nodes, x, y) { - var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN); - return nodes == null ? tree : tree.addAll(nodes); - } - - function Quadtree(x, y, x0, y0, x1, y1) { - this._x = x; - this._y = y; - this._x0 = x0; - this._y0 = y0; - this._x1 = x1; - this._y1 = y1; - this._root = undefined; - } - - function leaf_copy(leaf) { - var copy = {data: leaf.data}, next = copy; - while (leaf = leaf.next) next = next.next = {data: leaf.data}; - return copy; - } - - var treeProto = quadtree.prototype = Quadtree.prototype; - - treeProto.copy = function() { - var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1), - node = this._root, - nodes, - child; - - if (!node) return copy; - - if (!node.length) return copy._root = leaf_copy(node), copy; - - nodes = [{source: node, target: copy._root = new Array(4)}]; - while (node = nodes.pop()) { - for (var i = 0; i < 4; ++i) { - if (child = node.source[i]) { - if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)}); - else node.target[i] = leaf_copy(child); - } - } - } - - return copy; - }; - - treeProto.add = tree_add; - treeProto.addAll = addAll; - treeProto.cover = tree_cover; - treeProto.data = tree_data; - treeProto.extent = tree_extent; - treeProto.find = tree_find; - treeProto.remove = tree_remove; - treeProto.removeAll = removeAll; - treeProto.root = tree_root; - treeProto.size = tree_size; - treeProto.visit = tree_visit; - treeProto.visitAfter = tree_visitAfter; - treeProto.x = tree_x; - treeProto.y = tree_y; - - function constant$4(x) { - return function() { - return x; - }; - } - - function jiggle(random) { - return (random() - 0.5) * 1e-6; - } - - function x$3(d) { - return d.x + d.vx; - } - - function y$3(d) { - return d.y + d.vy; - } - - function collide(radius) { - var nodes, - radii, - random, - strength = 1, - iterations = 1; - - if (typeof radius !== "function") radius = constant$4(radius == null ? 1 : +radius); - - function force() { - var i, n = nodes.length, - tree, - node, - xi, - yi, - ri, - ri2; - - for (var k = 0; k < iterations; ++k) { - tree = quadtree(nodes, x$3, y$3).visitAfter(prepare); - for (i = 0; i < n; ++i) { - node = nodes[i]; - ri = radii[node.index], ri2 = ri * ri; - xi = node.x + node.vx; - yi = node.y + node.vy; - tree.visit(apply); - } - } - - function apply(quad, x0, y0, x1, y1) { - var data = quad.data, rj = quad.r, r = ri + rj; - if (data) { - if (data.index > node.index) { - var x = xi - data.x - data.vx, - y = yi - data.y - data.vy, - l = x * x + y * y; - if (l < r * r) { - if (x === 0) x = jiggle(random), l += x * x; - if (y === 0) y = jiggle(random), l += y * y; - l = (r - (l = Math.sqrt(l))) / l * strength; - node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj)); - node.vy += (y *= l) * r; - data.vx -= x * (r = 1 - r); - data.vy -= y * r; - } - } - return; - } - return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r; - } - } - - function prepare(quad) { - if (quad.data) return quad.r = radii[quad.data.index]; - for (var i = quad.r = 0; i < 4; ++i) { - if (quad[i] && quad[i].r > quad.r) { - quad.r = quad[i].r; - } - } - } - - function initialize() { - if (!nodes) return; - var i, n = nodes.length, node; - radii = new Array(n); - for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes); - } - - force.initialize = function(_nodes, _random) { - nodes = _nodes; - random = _random; - initialize(); - }; - - force.iterations = function(_) { - return arguments.length ? (iterations = +_, force) : iterations; - }; - - force.strength = function(_) { - return arguments.length ? (strength = +_, force) : strength; - }; - - force.radius = function(_) { - return arguments.length ? (radius = typeof _ === "function" ? _ : constant$4(+_), initialize(), force) : radius; - }; - - return force; - } - - function index$3(d) { - return d.index; - } - - function find(nodeById, nodeId) { - var node = nodeById.get(nodeId); - if (!node) throw new Error("node not found: " + nodeId); - return node; - } - - function link$2(links) { - var id = index$3, - strength = defaultStrength, - strengths, - distance = constant$4(30), - distances, - nodes, - count, - bias, - random, - iterations = 1; - - if (links == null) links = []; - - function defaultStrength(link) { - return 1 / Math.min(count[link.source.index], count[link.target.index]); - } - - function force(alpha) { - for (var k = 0, n = links.length; k < iterations; ++k) { - for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) { - link = links[i], source = link.source, target = link.target; - x = target.x + target.vx - source.x - source.vx || jiggle(random); - y = target.y + target.vy - source.y - source.vy || jiggle(random); - l = Math.sqrt(x * x + y * y); - l = (l - distances[i]) / l * alpha * strengths[i]; - x *= l, y *= l; - target.vx -= x * (b = bias[i]); - target.vy -= y * b; - source.vx += x * (b = 1 - b); - source.vy += y * b; - } - } - } - - function initialize() { - if (!nodes) return; - - var i, - n = nodes.length, - m = links.length, - nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d])), - link; - - for (i = 0, count = new Array(n); i < m; ++i) { - link = links[i], link.index = i; - if (typeof link.source !== "object") link.source = find(nodeById, link.source); - if (typeof link.target !== "object") link.target = find(nodeById, link.target); - count[link.source.index] = (count[link.source.index] || 0) + 1; - count[link.target.index] = (count[link.target.index] || 0) + 1; - } - - for (i = 0, bias = new Array(m); i < m; ++i) { - link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]); - } - - strengths = new Array(m), initializeStrength(); - distances = new Array(m), initializeDistance(); - } - - function initializeStrength() { - if (!nodes) return; - - for (var i = 0, n = links.length; i < n; ++i) { - strengths[i] = +strength(links[i], i, links); - } - } - - function initializeDistance() { - if (!nodes) return; - - for (var i = 0, n = links.length; i < n; ++i) { - distances[i] = +distance(links[i], i, links); - } - } - - force.initialize = function(_nodes, _random) { - nodes = _nodes; - random = _random; - initialize(); - }; - - force.links = function(_) { - return arguments.length ? (links = _, initialize(), force) : links; - }; - - force.id = function(_) { - return arguments.length ? (id = _, force) : id; - }; - - force.iterations = function(_) { - return arguments.length ? (iterations = +_, force) : iterations; - }; - - force.strength = function(_) { - return arguments.length ? (strength = typeof _ === "function" ? _ : constant$4(+_), initializeStrength(), force) : strength; - }; - - force.distance = function(_) { - return arguments.length ? (distance = typeof _ === "function" ? _ : constant$4(+_), initializeDistance(), force) : distance; - }; - - return force; - } - -// https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use - const a$1 = 1664525; - const c$3 = 1013904223; - const m = 4294967296; // 2^32 - - function lcg$1() { - let s = 1; - return () => (s = (a$1 * s + c$3) % m) / m; - } - - function x$2(d) { - return d.x; - } - - function y$2(d) { - return d.y; - } - - var initialRadius = 10, - initialAngle = Math.PI * (3 - Math.sqrt(5)); - - function simulation(nodes) { - var simulation, - alpha = 1, - alphaMin = 0.001, - alphaDecay = 1 - Math.pow(alphaMin, 1 / 300), - alphaTarget = 0, - velocityDecay = 0.6, - forces = new Map(), - stepper = timer(step), - event = dispatch("tick", "end"), - random = lcg$1(); - - if (nodes == null) nodes = []; - - function step() { - tick(); - event.call("tick", simulation); - if (alpha < alphaMin) { - stepper.stop(); - event.call("end", simulation); - } - } - - function tick(iterations) { - var i, n = nodes.length, node; - - if (iterations === undefined) iterations = 1; - - for (var k = 0; k < iterations; ++k) { - alpha += (alphaTarget - alpha) * alphaDecay; - - forces.forEach(function(force) { - force(alpha); - }); - - for (i = 0; i < n; ++i) { - node = nodes[i]; - if (node.fx == null) node.x += node.vx *= velocityDecay; - else node.x = node.fx, node.vx = 0; - if (node.fy == null) node.y += node.vy *= velocityDecay; - else node.y = node.fy, node.vy = 0; - } - } - - return simulation; - } - - function initializeNodes() { - for (var i = 0, n = nodes.length, node; i < n; ++i) { - node = nodes[i], node.index = i; - if (node.fx != null) node.x = node.fx; - if (node.fy != null) node.y = node.fy; - if (isNaN(node.x) || isNaN(node.y)) { - var radius = initialRadius * Math.sqrt(0.5 + i), angle = i * initialAngle; - node.x = radius * Math.cos(angle); - node.y = radius * Math.sin(angle); - } - if (isNaN(node.vx) || isNaN(node.vy)) { - node.vx = node.vy = 0; - } - } - } - - function initializeForce(force) { - if (force.initialize) force.initialize(nodes, random); - return force; - } - - initializeNodes(); - - return simulation = { - tick: tick, - - restart: function() { - return stepper.restart(step), simulation; - }, - - stop: function() { - return stepper.stop(), simulation; - }, - - nodes: function(_) { - return arguments.length ? (nodes = _, initializeNodes(), forces.forEach(initializeForce), simulation) : nodes; - }, - - alpha: function(_) { - return arguments.length ? (alpha = +_, simulation) : alpha; - }, - - alphaMin: function(_) { - return arguments.length ? (alphaMin = +_, simulation) : alphaMin; - }, - - alphaDecay: function(_) { - return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay; - }, - - alphaTarget: function(_) { - return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget; - }, - - velocityDecay: function(_) { - return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay; - }, - - randomSource: function(_) { - return arguments.length ? (random = _, forces.forEach(initializeForce), simulation) : random; - }, - - force: function(name, _) { - return arguments.length > 1 ? ((_ == null ? forces.delete(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name); - }, - - find: function(x, y, radius) { - var i = 0, - n = nodes.length, - dx, - dy, - d2, - node, - closest; - - if (radius == null) radius = Infinity; - else radius *= radius; - - for (i = 0; i < n; ++i) { - node = nodes[i]; - dx = x - node.x; - dy = y - node.y; - d2 = dx * dx + dy * dy; - if (d2 < radius) closest = node, radius = d2; - } - - return closest; - }, - - on: function(name, _) { - return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name); - } - }; - } - - function manyBody() { - var nodes, - node, - random, - alpha, - strength = constant$4(-30), - strengths, - distanceMin2 = 1, - distanceMax2 = Infinity, - theta2 = 0.81; - - function force(_) { - var i, n = nodes.length, tree = quadtree(nodes, x$2, y$2).visitAfter(accumulate); - for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply); - } - - function initialize() { - if (!nodes) return; - var i, n = nodes.length, node; - strengths = new Array(n); - for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes); - } - - function accumulate(quad) { - var strength = 0, q, c, weight = 0, x, y, i; - - // For internal nodes, accumulate forces from child quadrants. - if (quad.length) { - for (x = y = i = 0; i < 4; ++i) { - if ((q = quad[i]) && (c = Math.abs(q.value))) { - strength += q.value, weight += c, x += c * q.x, y += c * q.y; - } - } - quad.x = x / weight; - quad.y = y / weight; - } - - // For leaf nodes, accumulate forces from coincident quadrants. - else { - q = quad; - q.x = q.data.x; - q.y = q.data.y; - do strength += strengths[q.data.index]; - while (q = q.next); - } - - quad.value = strength; - } - - function apply(quad, x1, _, x2) { - if (!quad.value) return true; - - var x = quad.x - node.x, - y = quad.y - node.y, - w = x2 - x1, - l = x * x + y * y; - - // Apply the Barnes-Hut approximation if possible. - // Limit forces for very close nodes; randomize direction if coincident. - if (w * w / theta2 < l) { - if (l < distanceMax2) { - if (x === 0) x = jiggle(random), l += x * x; - if (y === 0) y = jiggle(random), l += y * y; - if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l); - node.vx += x * quad.value * alpha / l; - node.vy += y * quad.value * alpha / l; - } - return true; - } - - // Otherwise, process points directly. - else if (quad.length || l >= distanceMax2) return; - - // Limit forces for very close nodes; randomize direction if coincident. - if (quad.data !== node || quad.next) { - if (x === 0) x = jiggle(random), l += x * x; - if (y === 0) y = jiggle(random), l += y * y; - if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l); - } - - do if (quad.data !== node) { - w = strengths[quad.data.index] * alpha / l; - node.vx += x * w; - node.vy += y * w; - } while (quad = quad.next); - } - - force.initialize = function(_nodes, _random) { - nodes = _nodes; - random = _random; - initialize(); - }; - - force.strength = function(_) { - return arguments.length ? (strength = typeof _ === "function" ? _ : constant$4(+_), initialize(), force) : strength; - }; - - force.distanceMin = function(_) { - return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2); - }; - - force.distanceMax = function(_) { - return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2); - }; - - force.theta = function(_) { - return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2); - }; - - return force; - } - - function radial$1(radius, x, y) { - var nodes, - strength = constant$4(0.1), - strengths, - radiuses; - - if (typeof radius !== "function") radius = constant$4(+radius); - if (x == null) x = 0; - if (y == null) y = 0; - - function force(alpha) { - for (var i = 0, n = nodes.length; i < n; ++i) { - var node = nodes[i], - dx = node.x - x || 1e-6, - dy = node.y - y || 1e-6, - r = Math.sqrt(dx * dx + dy * dy), - k = (radiuses[i] - r) * strengths[i] * alpha / r; - node.vx += dx * k; - node.vy += dy * k; - } - } - - function initialize() { - if (!nodes) return; - var i, n = nodes.length; - strengths = new Array(n); - radiuses = new Array(n); - for (i = 0; i < n; ++i) { - radiuses[i] = +radius(nodes[i], i, nodes); - strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes); - } - } - - force.initialize = function(_) { - nodes = _, initialize(); - }; - - force.strength = function(_) { - return arguments.length ? (strength = typeof _ === "function" ? _ : constant$4(+_), initialize(), force) : strength; - }; - - force.radius = function(_) { - return arguments.length ? (radius = typeof _ === "function" ? _ : constant$4(+_), initialize(), force) : radius; - }; - - force.x = function(_) { - return arguments.length ? (x = +_, force) : x; - }; - - force.y = function(_) { - return arguments.length ? (y = +_, force) : y; - }; - - return force; - } - - function x$1(x) { - var strength = constant$4(0.1), - nodes, - strengths, - xz; - - if (typeof x !== "function") x = constant$4(x == null ? 0 : +x); - - function force(alpha) { - for (var i = 0, n = nodes.length, node; i < n; ++i) { - node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha; - } - } - - function initialize() { - if (!nodes) return; - var i, n = nodes.length; - strengths = new Array(n); - xz = new Array(n); - for (i = 0; i < n; ++i) { - strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes); - } - } - - force.initialize = function(_) { - nodes = _; - initialize(); - }; - - force.strength = function(_) { - return arguments.length ? (strength = typeof _ === "function" ? _ : constant$4(+_), initialize(), force) : strength; - }; - - force.x = function(_) { - return arguments.length ? (x = typeof _ === "function" ? _ : constant$4(+_), initialize(), force) : x; - }; - - return force; - } - - function y$1(y) { - var strength = constant$4(0.1), - nodes, - strengths, - yz; - - if (typeof y !== "function") y = constant$4(y == null ? 0 : +y); - - function force(alpha) { - for (var i = 0, n = nodes.length, node; i < n; ++i) { - node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha; - } - } - - function initialize() { - if (!nodes) return; - var i, n = nodes.length; - strengths = new Array(n); - yz = new Array(n); - for (i = 0; i < n; ++i) { - strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes); - } - } - - force.initialize = function(_) { - nodes = _; - initialize(); - }; - - force.strength = function(_) { - return arguments.length ? (strength = typeof _ === "function" ? _ : constant$4(+_), initialize(), force) : strength; - }; - - force.y = function(_) { - return arguments.length ? (y = typeof _ === "function" ? _ : constant$4(+_), initialize(), force) : y; - }; - - return force; - } - - function formatDecimal(x) { - return Math.abs(x = Math.round(x)) >= 1e21 - ? x.toLocaleString("en").replace(/,/g, "") - : x.toString(10); - } - -// Computes the decimal coefficient and exponent of the specified number x with -// significant digits p, where x is positive and p is in [1, 21] or undefined. -// For example, formatDecimalParts(1.23) returns ["123", 0]. - function formatDecimalParts(x, p) { - if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity - var i, coefficient = x.slice(0, i); - - // The string returned by toExponential either has the form \d\.\d+e[-+]\d+ - // (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3). - return [ - coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, - +x.slice(i + 1) - ]; - } - - function exponent(x) { - return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN; - } - - function formatGroup(grouping, thousands) { - return function(value, width) { - var i = value.length, - t = [], - j = 0, - g = grouping[0], - length = 0; - - while (i > 0 && g > 0) { - if (length + g + 1 > width) g = Math.max(1, width - length); - t.push(value.substring(i -= g, i + g)); - if ((length += g + 1) > width) break; - g = grouping[j = (j + 1) % grouping.length]; - } - - return t.reverse().join(thousands); - }; - } - - function formatNumerals(numerals) { - return function(value) { - return value.replace(/[0-9]/g, function(i) { - return numerals[+i]; - }); - }; - } - -// [[fill]align][sign][symbol][0][width][,][.precision][~][type] - var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; - - function formatSpecifier(specifier) { - if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier); - var match; - return new FormatSpecifier({ - fill: match[1], - align: match[2], - sign: match[3], - symbol: match[4], - zero: match[5], - width: match[6], - comma: match[7], - precision: match[8] && match[8].slice(1), - trim: match[9], - type: match[10] - }); - } - - formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof - - function FormatSpecifier(specifier) { - this.fill = specifier.fill === undefined ? " " : specifier.fill + ""; - this.align = specifier.align === undefined ? ">" : specifier.align + ""; - this.sign = specifier.sign === undefined ? "-" : specifier.sign + ""; - this.symbol = specifier.symbol === undefined ? "" : specifier.symbol + ""; - this.zero = !!specifier.zero; - this.width = specifier.width === undefined ? undefined : +specifier.width; - this.comma = !!specifier.comma; - this.precision = specifier.precision === undefined ? undefined : +specifier.precision; - this.trim = !!specifier.trim; - this.type = specifier.type === undefined ? "" : specifier.type + ""; - } - - FormatSpecifier.prototype.toString = function() { - return this.fill - + this.align - + this.sign - + this.symbol - + (this.zero ? "0" : "") - + (this.width === undefined ? "" : Math.max(1, this.width | 0)) - + (this.comma ? "," : "") - + (this.precision === undefined ? "" : "." + Math.max(0, this.precision | 0)) - + (this.trim ? "~" : "") - + this.type; - }; - -// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k. - function formatTrim(s) { - out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) { - switch (s[i]) { - case ".": i0 = i1 = i; break; - case "0": if (i0 === 0) i0 = i; i1 = i; break; - default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break; - } - } - return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s; - } - - var prefixExponent; - - function formatPrefixAuto(x, p) { - var d = formatDecimalParts(x, p); - if (!d) return x + ""; - var coefficient = d[0], - exponent = d[1], - i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1, - n = coefficient.length; - return i === n ? coefficient - : i > n ? coefficient + new Array(i - n + 1).join("0") - : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i) - : "0." + new Array(1 - i).join("0") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y! - } - - function formatRounded(x, p) { - var d = formatDecimalParts(x, p); - if (!d) return x + ""; - var coefficient = d[0], - exponent = d[1]; - return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient - : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1) - : coefficient + new Array(exponent - coefficient.length + 2).join("0"); - } - - var formatTypes = { - "%": (x, p) => (x * 100).toFixed(p), - "b": (x) => Math.round(x).toString(2), - "c": (x) => x + "", - "d": formatDecimal, - "e": (x, p) => x.toExponential(p), - "f": (x, p) => x.toFixed(p), - "g": (x, p) => x.toPrecision(p), - "o": (x) => Math.round(x).toString(8), - "p": (x, p) => formatRounded(x * 100, p), - "r": formatRounded, - "s": formatPrefixAuto, - "X": (x) => Math.round(x).toString(16).toUpperCase(), - "x": (x) => Math.round(x).toString(16) - }; - - function identity$6(x) { - return x; - } - - var map = Array.prototype.map, - prefixes = ["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"]; - - function formatLocale$1(locale) { - var group = locale.grouping === undefined || locale.thousands === undefined ? identity$6 : formatGroup(map.call(locale.grouping, Number), locale.thousands + ""), - currencyPrefix = locale.currency === undefined ? "" : locale.currency[0] + "", - currencySuffix = locale.currency === undefined ? "" : locale.currency[1] + "", - decimal = locale.decimal === undefined ? "." : locale.decimal + "", - numerals = locale.numerals === undefined ? identity$6 : formatNumerals(map.call(locale.numerals, String)), - percent = locale.percent === undefined ? "%" : locale.percent + "", - minus = locale.minus === undefined ? "\u2212" : locale.minus + "", - nan = locale.nan === undefined ? "NaN" : locale.nan + ""; - - function newFormat(specifier) { - specifier = formatSpecifier(specifier); - - var fill = specifier.fill, - align = specifier.align, - sign = specifier.sign, - symbol = specifier.symbol, - zero = specifier.zero, - width = specifier.width, - comma = specifier.comma, - precision = specifier.precision, - trim = specifier.trim, - type = specifier.type; - - // The "n" type is an alias for ",g". - if (type === "n") comma = true, type = "g"; - - // The "" type, and any invalid type, is an alias for ".12~g". - else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = "g"; - - // If zero fill is specified, padding goes after sign and before digits. - if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "="; - - // Compute the prefix and suffix. - // For SI-prefix, the suffix is lazily computed. - var prefix = symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "", - suffix = symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : ""; - - // What format function should we use? - // Is this an integer type? - // Can this type generate exponential notation? - var formatType = formatTypes[type], - maybeSuffix = /[defgprs%]/.test(type); - - // Set the default precision if not specified, - // or clamp the specified precision to the supported range. - // For significant precision, it must be in [1, 21]. - // For fixed precision, it must be in [0, 20]. - precision = precision === undefined ? 6 - : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) - : Math.max(0, Math.min(20, precision)); - - function format(value) { - var valuePrefix = prefix, - valueSuffix = suffix, - i, n, c; - - if (type === "c") { - valueSuffix = formatType(value) + valueSuffix; - value = ""; - } else { - value = +value; - - // Determine the sign. -0 is not less than 0, but 1 / -0 is! - var valueNegative = value < 0 || 1 / value < 0; - - // Perform the initial formatting. - value = isNaN(value) ? nan : formatType(Math.abs(value), precision); - - // Trim insignificant zeros. - if (trim) value = formatTrim(value); - - // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign. - if (valueNegative && +value === 0 && sign !== "+") valueNegative = false; - - // Compute the prefix and suffix. - valuePrefix = (valueNegative ? (sign === "(" ? sign : minus) : sign === "-" || sign === "(" ? "" : sign) + valuePrefix; - valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : ""); - - // Break the formatted value into the integer “value” part that can be - // grouped, and fractional or exponential “suffix” part that is not. - if (maybeSuffix) { - i = -1, n = value.length; - while (++i < n) { - if (c = value.charCodeAt(i), 48 > c || c > 57) { - valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix; - value = value.slice(0, i); - break; - } - } - } - } - - // If the fill character is not "0", grouping is applied before padding. - if (comma && !zero) value = group(value, Infinity); - - // Compute the padding. - var length = valuePrefix.length + value.length + valueSuffix.length, - padding = length < width ? new Array(width - length + 1).join(fill) : ""; - - // If the fill character is "0", grouping is applied after padding. - if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = ""; - - // Reconstruct the final output based on the desired alignment. - switch (align) { - case "<": value = valuePrefix + value + valueSuffix + padding; break; - case "=": value = valuePrefix + padding + value + valueSuffix; break; - case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break; - default: value = padding + valuePrefix + value + valueSuffix; break; - } - - return numerals(value); - } - - format.toString = function() { - return specifier + ""; - }; - - return format; - } - - function formatPrefix(specifier, value) { - var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)), - e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3, - k = Math.pow(10, -e), - prefix = prefixes[8 + e / 3]; - return function(value) { - return f(k * value) + prefix; - }; - } - - return { - format: newFormat, - formatPrefix: formatPrefix - }; - } - - var locale$1; - exports.format = void 0; - exports.formatPrefix = void 0; - - defaultLocale$1({ - thousands: ",", - grouping: [3], - currency: ["$", ""] - }); - - function defaultLocale$1(definition) { - locale$1 = formatLocale$1(definition); - exports.format = locale$1.format; - exports.formatPrefix = locale$1.formatPrefix; - return locale$1; - } - - function precisionFixed(step) { - return Math.max(0, -exponent(Math.abs(step))); - } - - function precisionPrefix(step, value) { - return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step))); - } - - function precisionRound(step, max) { - step = Math.abs(step), max = Math.abs(max) - step; - return Math.max(0, exponent(max) - exponent(step)) + 1; - } - - var epsilon$1 = 1e-6; - var epsilon2 = 1e-12; - var pi$1 = Math.PI; - var halfPi$1 = pi$1 / 2; - var quarterPi = pi$1 / 4; - var tau$1 = pi$1 * 2; - - var degrees = 180 / pi$1; - var radians = pi$1 / 180; - - var abs$1 = Math.abs; - var atan = Math.atan; - var atan2$1 = Math.atan2; - var cos$1 = Math.cos; - var ceil = Math.ceil; - var exp = Math.exp; - var hypot = Math.hypot; - var log$1 = Math.log; - var pow$1 = Math.pow; - var sin$1 = Math.sin; - var sign$1 = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; }; - var sqrt$2 = Math.sqrt; - var tan = Math.tan; - - function acos$1(x) { - return x > 1 ? 0 : x < -1 ? pi$1 : Math.acos(x); - } - - function asin$1(x) { - return x > 1 ? halfPi$1 : x < -1 ? -halfPi$1 : Math.asin(x); - } - - function haversin(x) { - return (x = sin$1(x / 2)) * x; - } - - function noop$1() {} - - function streamGeometry(geometry, stream) { - if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) { - streamGeometryType[geometry.type](geometry, stream); - } - } - - var streamObjectType = { - Feature: function(object, stream) { - streamGeometry(object.geometry, stream); - }, - FeatureCollection: function(object, stream) { - var features = object.features, i = -1, n = features.length; - while (++i < n) streamGeometry(features[i].geometry, stream); - } - }; - - var streamGeometryType = { - Sphere: function(object, stream) { - stream.sphere(); - }, - Point: function(object, stream) { - object = object.coordinates; - stream.point(object[0], object[1], object[2]); - }, - MultiPoint: function(object, stream) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]); - }, - LineString: function(object, stream) { - streamLine(object.coordinates, stream, 0); - }, - MultiLineString: function(object, stream) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) streamLine(coordinates[i], stream, 0); - }, - Polygon: function(object, stream) { - streamPolygon(object.coordinates, stream); - }, - MultiPolygon: function(object, stream) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) streamPolygon(coordinates[i], stream); - }, - GeometryCollection: function(object, stream) { - var geometries = object.geometries, i = -1, n = geometries.length; - while (++i < n) streamGeometry(geometries[i], stream); - } - }; - - function streamLine(coordinates, stream, closed) { - var i = -1, n = coordinates.length - closed, coordinate; - stream.lineStart(); - while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]); - stream.lineEnd(); - } - - function streamPolygon(coordinates, stream) { - var i = -1, n = coordinates.length; - stream.polygonStart(); - while (++i < n) streamLine(coordinates[i], stream, 1); - stream.polygonEnd(); - } - - function geoStream(object, stream) { - if (object && streamObjectType.hasOwnProperty(object.type)) { - streamObjectType[object.type](object, stream); - } else { - streamGeometry(object, stream); - } - } - - var areaRingSum$1 = new Adder(); - -// hello? - - var areaSum$1 = new Adder(), - lambda00$2, - phi00$2, - lambda0$2, - cosPhi0$1, - sinPhi0$1; - - var areaStream$1 = { - point: noop$1, - lineStart: noop$1, - lineEnd: noop$1, - polygonStart: function() { - areaRingSum$1 = new Adder(); - areaStream$1.lineStart = areaRingStart$1; - areaStream$1.lineEnd = areaRingEnd$1; - }, - polygonEnd: function() { - var areaRing = +areaRingSum$1; - areaSum$1.add(areaRing < 0 ? tau$1 + areaRing : areaRing); - this.lineStart = this.lineEnd = this.point = noop$1; - }, - sphere: function() { - areaSum$1.add(tau$1); - } - }; - - function areaRingStart$1() { - areaStream$1.point = areaPointFirst$1; - } - - function areaRingEnd$1() { - areaPoint$1(lambda00$2, phi00$2); - } - - function areaPointFirst$1(lambda, phi) { - areaStream$1.point = areaPoint$1; - lambda00$2 = lambda, phi00$2 = phi; - lambda *= radians, phi *= radians; - lambda0$2 = lambda, cosPhi0$1 = cos$1(phi = phi / 2 + quarterPi), sinPhi0$1 = sin$1(phi); - } - - function areaPoint$1(lambda, phi) { - lambda *= radians, phi *= radians; - phi = phi / 2 + quarterPi; // half the angular distance from south pole - - // Spherical excess E for a spherical triangle with vertices: south pole, - // previous point, current point. Uses a formula derived from Cagnoli’s - // theorem. See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2). - var dLambda = lambda - lambda0$2, - sdLambda = dLambda >= 0 ? 1 : -1, - adLambda = sdLambda * dLambda, - cosPhi = cos$1(phi), - sinPhi = sin$1(phi), - k = sinPhi0$1 * sinPhi, - u = cosPhi0$1 * cosPhi + k * cos$1(adLambda), - v = k * sdLambda * sin$1(adLambda); - areaRingSum$1.add(atan2$1(v, u)); - - // Advance the previous points. - lambda0$2 = lambda, cosPhi0$1 = cosPhi, sinPhi0$1 = sinPhi; - } - - function area$2(object) { - areaSum$1 = new Adder(); - geoStream(object, areaStream$1); - return areaSum$1 * 2; - } - - function spherical(cartesian) { - return [atan2$1(cartesian[1], cartesian[0]), asin$1(cartesian[2])]; - } - - function cartesian(spherical) { - var lambda = spherical[0], phi = spherical[1], cosPhi = cos$1(phi); - return [cosPhi * cos$1(lambda), cosPhi * sin$1(lambda), sin$1(phi)]; - } - - function cartesianDot(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; - } - - function cartesianCross(a, b) { - return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]]; - } - -// TODO return a - function cartesianAddInPlace(a, b) { - a[0] += b[0], a[1] += b[1], a[2] += b[2]; - } - - function cartesianScale(vector, k) { - return [vector[0] * k, vector[1] * k, vector[2] * k]; - } - -// TODO return d - function cartesianNormalizeInPlace(d) { - var l = sqrt$2(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]); - d[0] /= l, d[1] /= l, d[2] /= l; - } - - var lambda0$1, phi0, lambda1, phi1, // bounds - lambda2, // previous lambda-coordinate - lambda00$1, phi00$1, // first point - p0, // previous 3D point - deltaSum, - ranges, - range; - - var boundsStream$1 = { - point: boundsPoint$1, - lineStart: boundsLineStart, - lineEnd: boundsLineEnd, - polygonStart: function() { - boundsStream$1.point = boundsRingPoint; - boundsStream$1.lineStart = boundsRingStart; - boundsStream$1.lineEnd = boundsRingEnd; - deltaSum = new Adder(); - areaStream$1.polygonStart(); - }, - polygonEnd: function() { - areaStream$1.polygonEnd(); - boundsStream$1.point = boundsPoint$1; - boundsStream$1.lineStart = boundsLineStart; - boundsStream$1.lineEnd = boundsLineEnd; - if (areaRingSum$1 < 0) lambda0$1 = -(lambda1 = 180), phi0 = -(phi1 = 90); - else if (deltaSum > epsilon$1) phi1 = 90; - else if (deltaSum < -epsilon$1) phi0 = -90; - range[0] = lambda0$1, range[1] = lambda1; - }, - sphere: function() { - lambda0$1 = -(lambda1 = 180), phi0 = -(phi1 = 90); - } - }; - - function boundsPoint$1(lambda, phi) { - ranges.push(range = [lambda0$1 = lambda, lambda1 = lambda]); - if (phi < phi0) phi0 = phi; - if (phi > phi1) phi1 = phi; - } - - function linePoint(lambda, phi) { - var p = cartesian([lambda * radians, phi * radians]); - if (p0) { - var normal = cartesianCross(p0, p), - equatorial = [normal[1], -normal[0], 0], - inflection = cartesianCross(equatorial, normal); - cartesianNormalizeInPlace(inflection); - inflection = spherical(inflection); - var delta = lambda - lambda2, - sign = delta > 0 ? 1 : -1, - lambdai = inflection[0] * degrees * sign, - phii, - antimeridian = abs$1(delta) > 180; - if (antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) { - phii = inflection[1] * degrees; - if (phii > phi1) phi1 = phii; - } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) { - phii = -inflection[1] * degrees; - if (phii < phi0) phi0 = phii; - } else { - if (phi < phi0) phi0 = phi; - if (phi > phi1) phi1 = phi; - } - if (antimeridian) { - if (lambda < lambda2) { - if (angle(lambda0$1, lambda) > angle(lambda0$1, lambda1)) lambda1 = lambda; - } else { - if (angle(lambda, lambda1) > angle(lambda0$1, lambda1)) lambda0$1 = lambda; - } - } else { - if (lambda1 >= lambda0$1) { - if (lambda < lambda0$1) lambda0$1 = lambda; - if (lambda > lambda1) lambda1 = lambda; - } else { - if (lambda > lambda2) { - if (angle(lambda0$1, lambda) > angle(lambda0$1, lambda1)) lambda1 = lambda; - } else { - if (angle(lambda, lambda1) > angle(lambda0$1, lambda1)) lambda0$1 = lambda; - } - } - } - } else { - ranges.push(range = [lambda0$1 = lambda, lambda1 = lambda]); - } - if (phi < phi0) phi0 = phi; - if (phi > phi1) phi1 = phi; - p0 = p, lambda2 = lambda; - } - - function boundsLineStart() { - boundsStream$1.point = linePoint; - } - - function boundsLineEnd() { - range[0] = lambda0$1, range[1] = lambda1; - boundsStream$1.point = boundsPoint$1; - p0 = null; - } - - function boundsRingPoint(lambda, phi) { - if (p0) { - var delta = lambda - lambda2; - deltaSum.add(abs$1(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta); - } else { - lambda00$1 = lambda, phi00$1 = phi; - } - areaStream$1.point(lambda, phi); - linePoint(lambda, phi); - } - - function boundsRingStart() { - areaStream$1.lineStart(); - } - - function boundsRingEnd() { - boundsRingPoint(lambda00$1, phi00$1); - areaStream$1.lineEnd(); - if (abs$1(deltaSum) > epsilon$1) lambda0$1 = -(lambda1 = 180); - range[0] = lambda0$1, range[1] = lambda1; - p0 = null; - } - -// Finds the left-right distance between two longitudes. -// This is almost the same as (lambda1 - lambda0 + 360°) % 360°, except that we want -// the distance between ±180° to be 360°. - function angle(lambda0, lambda1) { - return (lambda1 -= lambda0) < 0 ? lambda1 + 360 : lambda1; - } - - function rangeCompare(a, b) { - return a[0] - b[0]; - } - - function rangeContains(range, x) { - return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x; - } - - function bounds(feature) { - var i, n, a, b, merged, deltaMax, delta; - - phi1 = lambda1 = -(lambda0$1 = phi0 = Infinity); - ranges = []; - geoStream(feature, boundsStream$1); - - // First, sort ranges by their minimum longitudes. - if (n = ranges.length) { - ranges.sort(rangeCompare); - - // Then, merge any ranges that overlap. - for (i = 1, a = ranges[0], merged = [a]; i < n; ++i) { - b = ranges[i]; - if (rangeContains(a, b[0]) || rangeContains(a, b[1])) { - if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1]; - if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0]; - } else { - merged.push(a = b); - } - } - - // Finally, find the largest gap between the merged ranges. - // The final bounding box will be the inverse of this gap. - for (deltaMax = -Infinity, n = merged.length - 1, i = 0, a = merged[n]; i <= n; a = b, ++i) { - b = merged[i]; - if ((delta = angle(a[1], b[0])) > deltaMax) deltaMax = delta, lambda0$1 = b[0], lambda1 = a[1]; - } - } - - ranges = range = null; - - return lambda0$1 === Infinity || phi0 === Infinity - ? [[NaN, NaN], [NaN, NaN]] - : [[lambda0$1, phi0], [lambda1, phi1]]; - } - - var W0, W1, - X0$1, Y0$1, Z0$1, - X1$1, Y1$1, Z1$1, - X2$1, Y2$1, Z2$1, - lambda00, phi00, // first point - x0$4, y0$4, z0; // previous point - - var centroidStream$1 = { - sphere: noop$1, - point: centroidPoint$1, - lineStart: centroidLineStart$1, - lineEnd: centroidLineEnd$1, - polygonStart: function() { - centroidStream$1.lineStart = centroidRingStart$1; - centroidStream$1.lineEnd = centroidRingEnd$1; - }, - polygonEnd: function() { - centroidStream$1.lineStart = centroidLineStart$1; - centroidStream$1.lineEnd = centroidLineEnd$1; - } - }; - -// Arithmetic mean of Cartesian vectors. - function centroidPoint$1(lambda, phi) { - lambda *= radians, phi *= radians; - var cosPhi = cos$1(phi); - centroidPointCartesian(cosPhi * cos$1(lambda), cosPhi * sin$1(lambda), sin$1(phi)); - } - - function centroidPointCartesian(x, y, z) { - ++W0; - X0$1 += (x - X0$1) / W0; - Y0$1 += (y - Y0$1) / W0; - Z0$1 += (z - Z0$1) / W0; - } - - function centroidLineStart$1() { - centroidStream$1.point = centroidLinePointFirst; - } - - function centroidLinePointFirst(lambda, phi) { - lambda *= radians, phi *= radians; - var cosPhi = cos$1(phi); - x0$4 = cosPhi * cos$1(lambda); - y0$4 = cosPhi * sin$1(lambda); - z0 = sin$1(phi); - centroidStream$1.point = centroidLinePoint; - centroidPointCartesian(x0$4, y0$4, z0); - } - - function centroidLinePoint(lambda, phi) { - lambda *= radians, phi *= radians; - var cosPhi = cos$1(phi), - x = cosPhi * cos$1(lambda), - y = cosPhi * sin$1(lambda), - z = sin$1(phi), - w = atan2$1(sqrt$2((w = y0$4 * z - z0 * y) * w + (w = z0 * x - x0$4 * z) * w + (w = x0$4 * y - y0$4 * x) * w), x0$4 * x + y0$4 * y + z0 * z); - W1 += w; - X1$1 += w * (x0$4 + (x0$4 = x)); - Y1$1 += w * (y0$4 + (y0$4 = y)); - Z1$1 += w * (z0 + (z0 = z)); - centroidPointCartesian(x0$4, y0$4, z0); - } - - function centroidLineEnd$1() { - centroidStream$1.point = centroidPoint$1; - } - -// See J. E. Brock, The Inertia Tensor for a Spherical Triangle, -// J. Applied Mechanics 42, 239 (1975). - function centroidRingStart$1() { - centroidStream$1.point = centroidRingPointFirst; - } - - function centroidRingEnd$1() { - centroidRingPoint(lambda00, phi00); - centroidStream$1.point = centroidPoint$1; - } - - function centroidRingPointFirst(lambda, phi) { - lambda00 = lambda, phi00 = phi; - lambda *= radians, phi *= radians; - centroidStream$1.point = centroidRingPoint; - var cosPhi = cos$1(phi); - x0$4 = cosPhi * cos$1(lambda); - y0$4 = cosPhi * sin$1(lambda); - z0 = sin$1(phi); - centroidPointCartesian(x0$4, y0$4, z0); - } - - function centroidRingPoint(lambda, phi) { - lambda *= radians, phi *= radians; - var cosPhi = cos$1(phi), - x = cosPhi * cos$1(lambda), - y = cosPhi * sin$1(lambda), - z = sin$1(phi), - cx = y0$4 * z - z0 * y, - cy = z0 * x - x0$4 * z, - cz = x0$4 * y - y0$4 * x, - m = hypot(cx, cy, cz), - w = asin$1(m), // line weight = angle - v = m && -w / m; // area weight multiplier - X2$1.add(v * cx); - Y2$1.add(v * cy); - Z2$1.add(v * cz); - W1 += w; - X1$1 += w * (x0$4 + (x0$4 = x)); - Y1$1 += w * (y0$4 + (y0$4 = y)); - Z1$1 += w * (z0 + (z0 = z)); - centroidPointCartesian(x0$4, y0$4, z0); - } - - function centroid$1(object) { - W0 = W1 = - X0$1 = Y0$1 = Z0$1 = - X1$1 = Y1$1 = Z1$1 = 0; - X2$1 = new Adder(); - Y2$1 = new Adder(); - Z2$1 = new Adder(); - geoStream(object, centroidStream$1); - - var x = +X2$1, - y = +Y2$1, - z = +Z2$1, - m = hypot(x, y, z); - - // If the area-weighted ccentroid is undefined, fall back to length-weighted ccentroid. - if (m < epsilon2) { - x = X1$1, y = Y1$1, z = Z1$1; - // If the feature has zero length, fall back to arithmetic mean of point vectors. - if (W1 < epsilon$1) x = X0$1, y = Y0$1, z = Z0$1; - m = hypot(x, y, z); - // If the feature still has an undefined ccentroid, then return. - if (m < epsilon2) return [NaN, NaN]; - } - - return [atan2$1(y, x) * degrees, asin$1(z / m) * degrees]; - } - - function constant$3(x) { - return function() { - return x; - }; - } - - function compose(a, b) { - - function compose(x, y) { - return x = a(x, y), b(x[0], x[1]); - } - - if (a.invert && b.invert) compose.invert = function(x, y) { - return x = b.invert(x, y), x && a.invert(x[0], x[1]); - }; - - return compose; - } - - function rotationIdentity(lambda, phi) { - return [abs$1(lambda) > pi$1 ? lambda + Math.round(-lambda / tau$1) * tau$1 : lambda, phi]; - } - - rotationIdentity.invert = rotationIdentity; - - function rotateRadians(deltaLambda, deltaPhi, deltaGamma) { - return (deltaLambda %= tau$1) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma)) - : rotationLambda(deltaLambda)) - : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma) - : rotationIdentity); - } - - function forwardRotationLambda(deltaLambda) { - return function(lambda, phi) { - return lambda += deltaLambda, [lambda > pi$1 ? lambda - tau$1 : lambda < -pi$1 ? lambda + tau$1 : lambda, phi]; - }; - } - - function rotationLambda(deltaLambda) { - var rotation = forwardRotationLambda(deltaLambda); - rotation.invert = forwardRotationLambda(-deltaLambda); - return rotation; - } - - function rotationPhiGamma(deltaPhi, deltaGamma) { - var cosDeltaPhi = cos$1(deltaPhi), - sinDeltaPhi = sin$1(deltaPhi), - cosDeltaGamma = cos$1(deltaGamma), - sinDeltaGamma = sin$1(deltaGamma); - - function rotation(lambda, phi) { - var cosPhi = cos$1(phi), - x = cos$1(lambda) * cosPhi, - y = sin$1(lambda) * cosPhi, - z = sin$1(phi), - k = z * cosDeltaPhi + x * sinDeltaPhi; - return [ - atan2$1(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi), - asin$1(k * cosDeltaGamma + y * sinDeltaGamma) - ]; - } - - rotation.invert = function(lambda, phi) { - var cosPhi = cos$1(phi), - x = cos$1(lambda) * cosPhi, - y = sin$1(lambda) * cosPhi, - z = sin$1(phi), - k = z * cosDeltaGamma - y * sinDeltaGamma; - return [ - atan2$1(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi), - asin$1(k * cosDeltaPhi - x * sinDeltaPhi) - ]; - }; - - return rotation; - } - - function rotation(rotate) { - rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0); - - function forward(coordinates) { - coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians); - return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates; - } - - forward.invert = function(coordinates) { - coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians); - return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates; - }; - - return forward; - } - -// Generates a circle centered at [0°, 0°], with a given radius and precision. - function circleStream(stream, radius, delta, direction, t0, t1) { - if (!delta) return; - var cosRadius = cos$1(radius), - sinRadius = sin$1(radius), - step = direction * delta; - if (t0 == null) { - t0 = radius + direction * tau$1; - t1 = radius - step / 2; - } else { - t0 = circleRadius(cosRadius, t0); - t1 = circleRadius(cosRadius, t1); - if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau$1; - } - for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) { - point = spherical([cosRadius, -sinRadius * cos$1(t), -sinRadius * sin$1(t)]); - stream.point(point[0], point[1]); - } - } - -// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0]. - function circleRadius(cosRadius, point) { - point = cartesian(point), point[0] -= cosRadius; - cartesianNormalizeInPlace(point); - var radius = acos$1(-point[1]); - return ((-point[2] < 0 ? -radius : radius) + tau$1 - epsilon$1) % tau$1; - } - - function circle$2() { - var center = constant$3([0, 0]), - radius = constant$3(90), - precision = constant$3(6), - ring, - rotate, - stream = {point: point}; - - function point(x, y) { - ring.push(x = rotate(x, y)); - x[0] *= degrees, x[1] *= degrees; - } - - function circle() { - var c = center.apply(this, arguments), - r = radius.apply(this, arguments) * radians, - p = precision.apply(this, arguments) * radians; - ring = []; - rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert; - circleStream(stream, r, p, 1); - c = {type: "Polygon", coordinates: [ring]}; - ring = rotate = null; - return c; - } - - circle.center = function(_) { - return arguments.length ? (center = typeof _ === "function" ? _ : constant$3([+_[0], +_[1]]), circle) : center; - }; - - circle.radius = function(_) { - return arguments.length ? (radius = typeof _ === "function" ? _ : constant$3(+_), circle) : radius; - }; - - circle.precision = function(_) { - return arguments.length ? (precision = typeof _ === "function" ? _ : constant$3(+_), circle) : precision; - }; - - return circle; - } - - function clipBuffer() { - var lines = [], - line; - return { - point: function(x, y, m) { - line.push([x, y, m]); - }, - lineStart: function() { - lines.push(line = []); - }, - lineEnd: noop$1, - rejoin: function() { - if (lines.length > 1) lines.push(lines.pop().concat(lines.shift())); - }, - result: function() { - var result = lines; - lines = []; - line = null; - return result; - } - }; - } - - function pointEqual(a, b) { - return abs$1(a[0] - b[0]) < epsilon$1 && abs$1(a[1] - b[1]) < epsilon$1; - } - - function Intersection(point, points, other, entry) { - this.x = point; - this.z = points; - this.o = other; // another intersection - this.e = entry; // is an entry? - this.v = false; // visited - this.n = this.p = null; // next & previous - } - -// A generalized polygon clipping algorithm: given a polygon that has been cut -// into its visible line segments, and rejoins the segments by interpolating -// along the clip edge. - function clipRejoin(segments, compareIntersection, startInside, interpolate, stream) { - var subject = [], - clip = [], - i, - n; - - segments.forEach(function(segment) { - if ((n = segment.length - 1) <= 0) return; - var n, p0 = segment[0], p1 = segment[n], x; - - if (pointEqual(p0, p1)) { - if (!p0[2] && !p1[2]) { - stream.lineStart(); - for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]); - stream.lineEnd(); - return; - } - // handle degenerate cases by moving the point - p1[0] += 2 * epsilon$1; - } - - subject.push(x = new Intersection(p0, segment, null, true)); - clip.push(x.o = new Intersection(p0, null, x, false)); - subject.push(x = new Intersection(p1, segment, null, false)); - clip.push(x.o = new Intersection(p1, null, x, true)); - }); - - if (!subject.length) return; - - clip.sort(compareIntersection); - link$1(subject); - link$1(clip); - - for (i = 0, n = clip.length; i < n; ++i) { - clip[i].e = startInside = !startInside; - } - - var start = subject[0], - points, - point; - - while (1) { - // Find first unvisited intersection. - var current = start, - isSubject = true; - while (current.v) if ((current = current.n) === start) return; - points = current.z; - stream.lineStart(); - do { - current.v = current.o.v = true; - if (current.e) { - if (isSubject) { - for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.n.x, 1, stream); - } - current = current.n; - } else { - if (isSubject) { - points = current.p.z; - for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.p.x, -1, stream); - } - current = current.p; - } - current = current.o; - points = current.z; - isSubject = !isSubject; - } while (!current.v); - stream.lineEnd(); - } - } - - function link$1(array) { - if (!(n = array.length)) return; - var n, - i = 0, - a = array[0], - b; - while (++i < n) { - a.n = b = array[i]; - b.p = a; - a = b; - } - a.n = b = array[0]; - b.p = a; - } - - function longitude(point) { - if (abs$1(point[0]) <= pi$1) - return point[0]; - else - return sign$1(point[0]) * ((abs$1(point[0]) + pi$1) % tau$1 - pi$1); - } - - function polygonContains(polygon, point) { - var lambda = longitude(point), - phi = point[1], - sinPhi = sin$1(phi), - normal = [sin$1(lambda), -cos$1(lambda), 0], - angle = 0, - winding = 0; - - var sum = new Adder(); - - if (sinPhi === 1) phi = halfPi$1 + epsilon$1; - else if (sinPhi === -1) phi = -halfPi$1 - epsilon$1; - - for (var i = 0, n = polygon.length; i < n; ++i) { - if (!(m = (ring = polygon[i]).length)) continue; - var ring, - m, - point0 = ring[m - 1], - lambda0 = longitude(point0), - phi0 = point0[1] / 2 + quarterPi, - sinPhi0 = sin$1(phi0), - cosPhi0 = cos$1(phi0); - - for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) { - var point1 = ring[j], - lambda1 = longitude(point1), - phi1 = point1[1] / 2 + quarterPi, - sinPhi1 = sin$1(phi1), - cosPhi1 = cos$1(phi1), - delta = lambda1 - lambda0, - sign = delta >= 0 ? 1 : -1, - absDelta = sign * delta, - antimeridian = absDelta > pi$1, - k = sinPhi0 * sinPhi1; - - sum.add(atan2$1(k * sign * sin$1(absDelta), cosPhi0 * cosPhi1 + k * cos$1(absDelta))); - angle += antimeridian ? delta + sign * tau$1 : delta; - - // Are the longitudes either side of the point’s meridian (lambda), - // and are the latitudes smaller than the parallel (phi)? - if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) { - var arc = cartesianCross(cartesian(point0), cartesian(point1)); - cartesianNormalizeInPlace(arc); - var intersection = cartesianCross(normal, arc); - cartesianNormalizeInPlace(intersection); - var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin$1(intersection[2]); - if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) { - winding += antimeridian ^ delta >= 0 ? 1 : -1; - } - } - } - } - - // First, determine whether the South pole is inside or outside: - // - // It is inside if: - // * the polygon winds around it in a clockwise direction. - // * the polygon does not (cumulatively) wind around it, but has a negative - // (counter-clockwise) area. - // - // Second, count the (signed) number of times a segment crosses a lambda - // from the point to the South pole. If it is zero, then the point is the - // same side as the South pole. - - return (angle < -epsilon$1 || angle < epsilon$1 && sum < -epsilon2) ^ (winding & 1); - } - - function clip(pointVisible, clipLine, interpolate, start) { - return function(sink) { - var line = clipLine(sink), - ringBuffer = clipBuffer(), - ringSink = clipLine(ringBuffer), - polygonStarted = false, - polygon, - segments, - ring; - - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - clip.point = pointRing; - clip.lineStart = ringStart; - clip.lineEnd = ringEnd; - segments = []; - polygon = []; - }, - polygonEnd: function() { - clip.point = point; - clip.lineStart = lineStart; - clip.lineEnd = lineEnd; - segments = merge(segments); - var startInside = polygonContains(polygon, start); - if (segments.length) { - if (!polygonStarted) sink.polygonStart(), polygonStarted = true; - clipRejoin(segments, compareIntersection, startInside, interpolate, sink); - } else if (startInside) { - if (!polygonStarted) sink.polygonStart(), polygonStarted = true; - sink.lineStart(); - interpolate(null, null, 1, sink); - sink.lineEnd(); - } - if (polygonStarted) sink.polygonEnd(), polygonStarted = false; - segments = polygon = null; - }, - sphere: function() { - sink.polygonStart(); - sink.lineStart(); - interpolate(null, null, 1, sink); - sink.lineEnd(); - sink.polygonEnd(); - } - }; - - function point(lambda, phi) { - if (pointVisible(lambda, phi)) sink.point(lambda, phi); - } - - function pointLine(lambda, phi) { - line.point(lambda, phi); - } - - function lineStart() { - clip.point = pointLine; - line.lineStart(); - } - - function lineEnd() { - clip.point = point; - line.lineEnd(); - } - - function pointRing(lambda, phi) { - ring.push([lambda, phi]); - ringSink.point(lambda, phi); - } - - function ringStart() { - ringSink.lineStart(); - ring = []; - } - - function ringEnd() { - pointRing(ring[0][0], ring[0][1]); - ringSink.lineEnd(); - - var clean = ringSink.clean(), - ringSegments = ringBuffer.result(), - i, n = ringSegments.length, m, - segment, - point; - - ring.pop(); - polygon.push(ring); - ring = null; - - if (!n) return; - - // No intersections. - if (clean & 1) { - segment = ringSegments[0]; - if ((m = segment.length - 1) > 0) { - if (!polygonStarted) sink.polygonStart(), polygonStarted = true; - sink.lineStart(); - for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]); - sink.lineEnd(); - } - return; - } - - // Rejoin connected segments. - // TODO reuse ringBuffer.rejoin()? - if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift())); - - segments.push(ringSegments.filter(validSegment)); - } - - return clip; - }; - } - - function validSegment(segment) { - return segment.length > 1; - } - -// Intersections are sorted along the clip edge. For both antimeridian cutting -// and circle clipping, the same comparison is used. - function compareIntersection(a, b) { - return ((a = a.x)[0] < 0 ? a[1] - halfPi$1 - epsilon$1 : halfPi$1 - a[1]) - - ((b = b.x)[0] < 0 ? b[1] - halfPi$1 - epsilon$1 : halfPi$1 - b[1]); - } - - var clipAntimeridian = clip( - function() { return true; }, - clipAntimeridianLine, - clipAntimeridianInterpolate, - [-pi$1, -halfPi$1] - ); - -// Takes a line and cuts into visible segments. Return values: 0 - there were -// intersections or the line was empty; 1 - no intersections; 2 - there were -// intersections, and the first and last segments should be rejoined. - function clipAntimeridianLine(stream) { - var lambda0 = NaN, - phi0 = NaN, - sign0 = NaN, - clean; // no intersections - - return { - lineStart: function() { - stream.lineStart(); - clean = 1; - }, - point: function(lambda1, phi1) { - var sign1 = lambda1 > 0 ? pi$1 : -pi$1, - delta = abs$1(lambda1 - lambda0); - if (abs$1(delta - pi$1) < epsilon$1) { // line crosses a pole - stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi$1 : -halfPi$1); - stream.point(sign0, phi0); - stream.lineEnd(); - stream.lineStart(); - stream.point(sign1, phi0); - stream.point(lambda1, phi0); - clean = 0; - } else if (sign0 !== sign1 && delta >= pi$1) { // line crosses antimeridian - if (abs$1(lambda0 - sign0) < epsilon$1) lambda0 -= sign0 * epsilon$1; // handle degeneracies - if (abs$1(lambda1 - sign1) < epsilon$1) lambda1 -= sign1 * epsilon$1; - phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1); - stream.point(sign0, phi0); - stream.lineEnd(); - stream.lineStart(); - stream.point(sign1, phi0); - clean = 0; - } - stream.point(lambda0 = lambda1, phi0 = phi1); - sign0 = sign1; - }, - lineEnd: function() { - stream.lineEnd(); - lambda0 = phi0 = NaN; - }, - clean: function() { - return 2 - clean; // if intersections, rejoin first and last segments - } - }; - } - - function clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) { - var cosPhi0, - cosPhi1, - sinLambda0Lambda1 = sin$1(lambda0 - lambda1); - return abs$1(sinLambda0Lambda1) > epsilon$1 - ? atan((sin$1(phi0) * (cosPhi1 = cos$1(phi1)) * sin$1(lambda1) - - sin$1(phi1) * (cosPhi0 = cos$1(phi0)) * sin$1(lambda0)) - / (cosPhi0 * cosPhi1 * sinLambda0Lambda1)) - : (phi0 + phi1) / 2; - } - - function clipAntimeridianInterpolate(from, to, direction, stream) { - var phi; - if (from == null) { - phi = direction * halfPi$1; - stream.point(-pi$1, phi); - stream.point(0, phi); - stream.point(pi$1, phi); - stream.point(pi$1, 0); - stream.point(pi$1, -phi); - stream.point(0, -phi); - stream.point(-pi$1, -phi); - stream.point(-pi$1, 0); - stream.point(-pi$1, phi); - } else if (abs$1(from[0] - to[0]) > epsilon$1) { - var lambda = from[0] < to[0] ? pi$1 : -pi$1; - phi = direction * lambda / 2; - stream.point(-lambda, phi); - stream.point(0, phi); - stream.point(lambda, phi); - } else { - stream.point(to[0], to[1]); - } - } - - function clipCircle(radius) { - var cr = cos$1(radius), - delta = 6 * radians, - smallRadius = cr > 0, - notHemisphere = abs$1(cr) > epsilon$1; // TODO optimise for this common case - - function interpolate(from, to, direction, stream) { - circleStream(stream, radius, delta, direction, from, to); - } - - function visible(lambda, phi) { - return cos$1(lambda) * cos$1(phi) > cr; - } - - // Takes a line and cuts into visible segments. Return values used for polygon - // clipping: 0 - there were intersections or the line was empty; 1 - no - // intersections 2 - there were intersections, and the first and last segments - // should be rejoined. - function clipLine(stream) { - var point0, // previous point - c0, // code for previous point - v0, // visibility of previous point - v00, // visibility of first point - clean; // no intersections - return { - lineStart: function() { - v00 = v0 = false; - clean = 1; - }, - point: function(lambda, phi) { - var point1 = [lambda, phi], - point2, - v = visible(lambda, phi), - c = smallRadius - ? v ? 0 : code(lambda, phi) - : v ? code(lambda + (lambda < 0 ? pi$1 : -pi$1), phi) : 0; - if (!point0 && (v00 = v0 = v)) stream.lineStart(); - if (v !== v0) { - point2 = intersect(point0, point1); - if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2)) - point1[2] = 1; - } - if (v !== v0) { - clean = 0; - if (v) { - // outside going in - stream.lineStart(); - point2 = intersect(point1, point0); - stream.point(point2[0], point2[1]); - } else { - // inside going out - point2 = intersect(point0, point1); - stream.point(point2[0], point2[1], 2); - stream.lineEnd(); - } - point0 = point2; - } else if (notHemisphere && point0 && smallRadius ^ v) { - var t; - // If the codes for two points are different, or are both zero, - // and there this segment intersects with the small circle. - if (!(c & c0) && (t = intersect(point1, point0, true))) { - clean = 0; - if (smallRadius) { - stream.lineStart(); - stream.point(t[0][0], t[0][1]); - stream.point(t[1][0], t[1][1]); - stream.lineEnd(); - } else { - stream.point(t[1][0], t[1][1]); - stream.lineEnd(); - stream.lineStart(); - stream.point(t[0][0], t[0][1], 3); - } - } - } - if (v && (!point0 || !pointEqual(point0, point1))) { - stream.point(point1[0], point1[1]); - } - point0 = point1, v0 = v, c0 = c; - }, - lineEnd: function() { - if (v0) stream.lineEnd(); - point0 = null; - }, - // Rejoin first and last segments if there were intersections and the first - // and last points were visible. - clean: function() { - return clean | ((v00 && v0) << 1); - } - }; - } - - // Intersects the great circle between a and b with the clip circle. - function intersect(a, b, two) { - var pa = cartesian(a), - pb = cartesian(b); - - // We have two planes, n1.p = d1 and n2.p = d2. - // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2). - var n1 = [1, 0, 0], // normal - n2 = cartesianCross(pa, pb), - n2n2 = cartesianDot(n2, n2), - n1n2 = n2[0], // cartesianDot(n1, n2), - determinant = n2n2 - n1n2 * n1n2; - - // Two polar points. - if (!determinant) return !two && a; - - var c1 = cr * n2n2 / determinant, - c2 = -cr * n1n2 / determinant, - n1xn2 = cartesianCross(n1, n2), - A = cartesianScale(n1, c1), - B = cartesianScale(n2, c2); - cartesianAddInPlace(A, B); - - // Solve |p(t)|^2 = 1. - var u = n1xn2, - w = cartesianDot(A, u), - uu = cartesianDot(u, u), - t2 = w * w - uu * (cartesianDot(A, A) - 1); - - if (t2 < 0) return; - - var t = sqrt$2(t2), - q = cartesianScale(u, (-w - t) / uu); - cartesianAddInPlace(q, A); - q = spherical(q); - - if (!two) return q; - - // Two intersection points. - var lambda0 = a[0], - lambda1 = b[0], - phi0 = a[1], - phi1 = b[1], - z; - - if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z; - - var delta = lambda1 - lambda0, - polar = abs$1(delta - pi$1) < epsilon$1, - meridian = polar || delta < epsilon$1; - - if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z; - - // Check that the first point is between a and b. - if (meridian - ? polar - ? phi0 + phi1 > 0 ^ q[1] < (abs$1(q[0] - lambda0) < epsilon$1 ? phi0 : phi1) - : phi0 <= q[1] && q[1] <= phi1 - : delta > pi$1 ^ (lambda0 <= q[0] && q[0] <= lambda1)) { - var q1 = cartesianScale(u, (-w + t) / uu); - cartesianAddInPlace(q1, A); - return [q, spherical(q1)]; - } - } - - // Generates a 4-bit vector representing the location of a point relative to - // the small circle's bounding box. - function code(lambda, phi) { - var r = smallRadius ? radius : pi$1 - radius, - code = 0; - if (lambda < -r) code |= 1; // left - else if (lambda > r) code |= 2; // right - if (phi < -r) code |= 4; // below - else if (phi > r) code |= 8; // above - return code; - } - - return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi$1, radius - pi$1]); - } - - function clipLine(a, b, x0, y0, x1, y1) { - var ax = a[0], - ay = a[1], - bx = b[0], - by = b[1], - t0 = 0, - t1 = 1, - dx = bx - ax, - dy = by - ay, - r; - - r = x0 - ax; - if (!dx && r > 0) return; - r /= dx; - if (dx < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dx > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - - r = x1 - ax; - if (!dx && r < 0) return; - r /= dx; - if (dx < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dx > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - - r = y0 - ay; - if (!dy && r > 0) return; - r /= dy; - if (dy < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dy > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - - r = y1 - ay; - if (!dy && r < 0) return; - r /= dy; - if (dy < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dy > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - - if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy; - if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy; - return true; - } - - var clipMax = 1e9, clipMin = -clipMax; - -// TODO Use d3-polygon’s polygonContains here for the ring check? -// TODO Eliminate duplicate buffering in clipBuffer and polygon.push? - - function clipRectangle(x0, y0, x1, y1) { - - function visible(x, y) { - return x0 <= x && x <= x1 && y0 <= y && y <= y1; - } - - function interpolate(from, to, direction, stream) { - var a = 0, a1 = 0; - if (from == null - || (a = corner(from, direction)) !== (a1 = corner(to, direction)) - || comparePoint(from, to) < 0 ^ direction > 0) { - do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0); - while ((a = (a + direction + 4) % 4) !== a1); - } else { - stream.point(to[0], to[1]); - } - } - - function corner(p, direction) { - return abs$1(p[0] - x0) < epsilon$1 ? direction > 0 ? 0 : 3 - : abs$1(p[0] - x1) < epsilon$1 ? direction > 0 ? 2 : 1 - : abs$1(p[1] - y0) < epsilon$1 ? direction > 0 ? 1 : 0 - : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon - } - - function compareIntersection(a, b) { - return comparePoint(a.x, b.x); - } - - function comparePoint(a, b) { - var ca = corner(a, 1), - cb = corner(b, 1); - return ca !== cb ? ca - cb - : ca === 0 ? b[1] - a[1] - : ca === 1 ? a[0] - b[0] - : ca === 2 ? a[1] - b[1] - : b[0] - a[0]; - } - - return function(stream) { - var activeStream = stream, - bufferStream = clipBuffer(), - segments, - polygon, - ring, - x__, y__, v__, // first point - x_, y_, v_, // previous point - first, - clean; - - var clipStream = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: polygonStart, - polygonEnd: polygonEnd - }; - - function point(x, y) { - if (visible(x, y)) activeStream.point(x, y); - } - - function polygonInside() { - var winding = 0; - - for (var i = 0, n = polygon.length; i < n; ++i) { - for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) { - a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1]; - if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; } - else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; } - } - } - - return winding; - } - - // Buffer geometry within a polygon and then clip it en masse. - function polygonStart() { - activeStream = bufferStream, segments = [], polygon = [], clean = true; - } - - function polygonEnd() { - var startInside = polygonInside(), - cleanInside = clean && startInside, - visible = (segments = merge(segments)).length; - if (cleanInside || visible) { - stream.polygonStart(); - if (cleanInside) { - stream.lineStart(); - interpolate(null, null, 1, stream); - stream.lineEnd(); - } - if (visible) { - clipRejoin(segments, compareIntersection, startInside, interpolate, stream); - } - stream.polygonEnd(); - } - activeStream = stream, segments = polygon = ring = null; - } - - function lineStart() { - clipStream.point = linePoint; - if (polygon) polygon.push(ring = []); - first = true; - v_ = false; - x_ = y_ = NaN; - } - - // TODO rather than special-case polygons, simply handle them separately. - // Ideally, coincident intersection points should be jittered to avoid - // clipping issues. - function lineEnd() { - if (segments) { - linePoint(x__, y__); - if (v__ && v_) bufferStream.rejoin(); - segments.push(bufferStream.result()); - } - clipStream.point = point; - if (v_) activeStream.lineEnd(); - } - - function linePoint(x, y) { - var v = visible(x, y); - if (polygon) ring.push([x, y]); - if (first) { - x__ = x, y__ = y, v__ = v; - first = false; - if (v) { - activeStream.lineStart(); - activeStream.point(x, y); - } - } else { - if (v && v_) activeStream.point(x, y); - else { - var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))], - b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))]; - if (clipLine(a, b, x0, y0, x1, y1)) { - if (!v_) { - activeStream.lineStart(); - activeStream.point(a[0], a[1]); - } - activeStream.point(b[0], b[1]); - if (!v) activeStream.lineEnd(); - clean = false; - } else if (v) { - activeStream.lineStart(); - activeStream.point(x, y); - clean = false; - } - } - } - x_ = x, y_ = y, v_ = v; - } - - return clipStream; - }; - } - - function extent() { - var x0 = 0, - y0 = 0, - x1 = 960, - y1 = 500, - cache, - cacheStream, - clip; - - return clip = { - stream: function(stream) { - return cache && cacheStream === stream ? cache : cache = clipRectangle(x0, y0, x1, y1)(cacheStream = stream); - }, - extent: function(_) { - return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], cache = cacheStream = null, clip) : [[x0, y0], [x1, y1]]; - } - }; - } - - var lengthSum$1, - lambda0, - sinPhi0, - cosPhi0; - - var lengthStream$1 = { - sphere: noop$1, - point: noop$1, - lineStart: lengthLineStart, - lineEnd: noop$1, - polygonStart: noop$1, - polygonEnd: noop$1 - }; - - function lengthLineStart() { - lengthStream$1.point = lengthPointFirst$1; - lengthStream$1.lineEnd = lengthLineEnd; - } - - function lengthLineEnd() { - lengthStream$1.point = lengthStream$1.lineEnd = noop$1; - } - - function lengthPointFirst$1(lambda, phi) { - lambda *= radians, phi *= radians; - lambda0 = lambda, sinPhi0 = sin$1(phi), cosPhi0 = cos$1(phi); - lengthStream$1.point = lengthPoint$1; - } - - function lengthPoint$1(lambda, phi) { - lambda *= radians, phi *= radians; - var sinPhi = sin$1(phi), - cosPhi = cos$1(phi), - delta = abs$1(lambda - lambda0), - cosDelta = cos$1(delta), - sinDelta = sin$1(delta), - x = cosPhi * sinDelta, - y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta, - z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta; - lengthSum$1.add(atan2$1(sqrt$2(x * x + y * y), z)); - lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi; - } - - function length$1(object) { - lengthSum$1 = new Adder(); - geoStream(object, lengthStream$1); - return +lengthSum$1; - } - - var coordinates = [null, null], - object = {type: "LineString", coordinates: coordinates}; - - function distance(a, b) { - coordinates[0] = a; - coordinates[1] = b; - return length$1(object); - } - - var containsObjectType = { - Feature: function(object, point) { - return containsGeometry(object.geometry, point); - }, - FeatureCollection: function(object, point) { - var features = object.features, i = -1, n = features.length; - while (++i < n) if (containsGeometry(features[i].geometry, point)) return true; - return false; - } - }; - - var containsGeometryType = { - Sphere: function() { - return true; - }, - Point: function(object, point) { - return containsPoint(object.coordinates, point); - }, - MultiPoint: function(object, point) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) if (containsPoint(coordinates[i], point)) return true; - return false; - }, - LineString: function(object, point) { - return containsLine(object.coordinates, point); - }, - MultiLineString: function(object, point) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) if (containsLine(coordinates[i], point)) return true; - return false; - }, - Polygon: function(object, point) { - return containsPolygon(object.coordinates, point); - }, - MultiPolygon: function(object, point) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) if (containsPolygon(coordinates[i], point)) return true; - return false; - }, - GeometryCollection: function(object, point) { - var geometries = object.geometries, i = -1, n = geometries.length; - while (++i < n) if (containsGeometry(geometries[i], point)) return true; - return false; - } - }; - - function containsGeometry(geometry, point) { - return geometry && containsGeometryType.hasOwnProperty(geometry.type) - ? containsGeometryType[geometry.type](geometry, point) - : false; - } - - function containsPoint(coordinates, point) { - return distance(coordinates, point) === 0; - } - - function containsLine(coordinates, point) { - var ao, bo, ab; - for (var i = 0, n = coordinates.length; i < n; i++) { - bo = distance(coordinates[i], point); - if (bo === 0) return true; - if (i > 0) { - ab = distance(coordinates[i], coordinates[i - 1]); - if ( - ab > 0 && - ao <= ab && - bo <= ab && - (ao + bo - ab) * (1 - Math.pow((ao - bo) / ab, 2)) < epsilon2 * ab - ) - return true; - } - ao = bo; - } - return false; - } - - function containsPolygon(coordinates, point) { - return !!polygonContains(coordinates.map(ringRadians), pointRadians(point)); - } - - function ringRadians(ring) { - return ring = ring.map(pointRadians), ring.pop(), ring; - } - - function pointRadians(point) { - return [point[0] * radians, point[1] * radians]; - } - - function contains$1(object, point) { - return (object && containsObjectType.hasOwnProperty(object.type) - ? containsObjectType[object.type] - : containsGeometry)(object, point); - } - - function graticuleX(y0, y1, dy) { - var y = sequence(y0, y1 - epsilon$1, dy).concat(y1); - return function(x) { return y.map(function(y) { return [x, y]; }); }; - } - - function graticuleY(x0, x1, dx) { - var x = sequence(x0, x1 - epsilon$1, dx).concat(x1); - return function(y) { return x.map(function(x) { return [x, y]; }); }; - } - - function graticule() { - var x1, x0, X1, X0, - y1, y0, Y1, Y0, - dx = 10, dy = dx, DX = 90, DY = 360, - x, y, X, Y, - precision = 2.5; - - function graticule() { - return {type: "MultiLineString", coordinates: lines()}; - } - - function lines() { - return sequence(ceil(X0 / DX) * DX, X1, DX).map(X) - .concat(sequence(ceil(Y0 / DY) * DY, Y1, DY).map(Y)) - .concat(sequence(ceil(x0 / dx) * dx, x1, dx).filter(function(x) { return abs$1(x % DX) > epsilon$1; }).map(x)) - .concat(sequence(ceil(y0 / dy) * dy, y1, dy).filter(function(y) { return abs$1(y % DY) > epsilon$1; }).map(y)); - } - - graticule.lines = function() { - return lines().map(function(coordinates) { return {type: "LineString", coordinates: coordinates}; }); - }; - - graticule.outline = function() { - return { - type: "Polygon", - coordinates: [ - X(X0).concat( - Y(Y1).slice(1), - X(X1).reverse().slice(1), - Y(Y0).reverse().slice(1)) - ] - }; - }; - - graticule.extent = function(_) { - if (!arguments.length) return graticule.extentMinor(); - return graticule.extentMajor(_).extentMinor(_); - }; - - graticule.extentMajor = function(_) { - if (!arguments.length) return [[X0, Y0], [X1, Y1]]; - X0 = +_[0][0], X1 = +_[1][0]; - Y0 = +_[0][1], Y1 = +_[1][1]; - if (X0 > X1) _ = X0, X0 = X1, X1 = _; - if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _; - return graticule.precision(precision); - }; - - graticule.extentMinor = function(_) { - if (!arguments.length) return [[x0, y0], [x1, y1]]; - x0 = +_[0][0], x1 = +_[1][0]; - y0 = +_[0][1], y1 = +_[1][1]; - if (x0 > x1) _ = x0, x0 = x1, x1 = _; - if (y0 > y1) _ = y0, y0 = y1, y1 = _; - return graticule.precision(precision); - }; - - graticule.step = function(_) { - if (!arguments.length) return graticule.stepMinor(); - return graticule.stepMajor(_).stepMinor(_); - }; - - graticule.stepMajor = function(_) { - if (!arguments.length) return [DX, DY]; - DX = +_[0], DY = +_[1]; - return graticule; - }; - - graticule.stepMinor = function(_) { - if (!arguments.length) return [dx, dy]; - dx = +_[0], dy = +_[1]; - return graticule; - }; - - graticule.precision = function(_) { - if (!arguments.length) return precision; - precision = +_; - x = graticuleX(y0, y1, 90); - y = graticuleY(x0, x1, precision); - X = graticuleX(Y0, Y1, 90); - Y = graticuleY(X0, X1, precision); - return graticule; - }; - - return graticule - .extentMajor([[-180, -90 + epsilon$1], [180, 90 - epsilon$1]]) - .extentMinor([[-180, -80 - epsilon$1], [180, 80 + epsilon$1]]); - } - - function graticule10() { - return graticule()(); - } - - function interpolate(a, b) { - var x0 = a[0] * radians, - y0 = a[1] * radians, - x1 = b[0] * radians, - y1 = b[1] * radians, - cy0 = cos$1(y0), - sy0 = sin$1(y0), - cy1 = cos$1(y1), - sy1 = sin$1(y1), - kx0 = cy0 * cos$1(x0), - ky0 = cy0 * sin$1(x0), - kx1 = cy1 * cos$1(x1), - ky1 = cy1 * sin$1(x1), - d = 2 * asin$1(sqrt$2(haversin(y1 - y0) + cy0 * cy1 * haversin(x1 - x0))), - k = sin$1(d); - - var interpolate = d ? function(t) { - var B = sin$1(t *= d) / k, - A = sin$1(d - t) / k, - x = A * kx0 + B * kx1, - y = A * ky0 + B * ky1, - z = A * sy0 + B * sy1; - return [ - atan2$1(y, x) * degrees, - atan2$1(z, sqrt$2(x * x + y * y)) * degrees - ]; - } : function() { - return [x0 * degrees, y0 * degrees]; - }; - - interpolate.distance = d; - - return interpolate; - } - - var identity$5 = x => x; - - var areaSum = new Adder(), - areaRingSum = new Adder(), - x00$2, - y00$2, - x0$3, - y0$3; - - var areaStream = { - point: noop$1, - lineStart: noop$1, - lineEnd: noop$1, - polygonStart: function() { - areaStream.lineStart = areaRingStart; - areaStream.lineEnd = areaRingEnd; - }, - polygonEnd: function() { - areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop$1; - areaSum.add(abs$1(areaRingSum)); - areaRingSum = new Adder(); - }, - result: function() { - var area = areaSum / 2; - areaSum = new Adder(); - return area; - } - }; - - function areaRingStart() { - areaStream.point = areaPointFirst; - } - - function areaPointFirst(x, y) { - areaStream.point = areaPoint; - x00$2 = x0$3 = x, y00$2 = y0$3 = y; - } - - function areaPoint(x, y) { - areaRingSum.add(y0$3 * x - x0$3 * y); - x0$3 = x, y0$3 = y; - } - - function areaRingEnd() { - areaPoint(x00$2, y00$2); - } - - var x0$2 = Infinity, - y0$2 = x0$2, - x1 = -x0$2, - y1 = x1; - - var boundsStream = { - point: boundsPoint, - lineStart: noop$1, - lineEnd: noop$1, - polygonStart: noop$1, - polygonEnd: noop$1, - result: function() { - var bounds = [[x0$2, y0$2], [x1, y1]]; - x1 = y1 = -(y0$2 = x0$2 = Infinity); - return bounds; - } - }; - - function boundsPoint(x, y) { - if (x < x0$2) x0$2 = x; - if (x > x1) x1 = x; - if (y < y0$2) y0$2 = y; - if (y > y1) y1 = y; - } - -// TODO Enforce positive area for exterior, negative area for interior? - - var X0 = 0, - Y0 = 0, - Z0 = 0, - X1 = 0, - Y1 = 0, - Z1 = 0, - X2 = 0, - Y2 = 0, - Z2 = 0, - x00$1, - y00$1, - x0$1, - y0$1; - - var centroidStream = { - point: centroidPoint, - lineStart: centroidLineStart, - lineEnd: centroidLineEnd, - polygonStart: function() { - centroidStream.lineStart = centroidRingStart; - centroidStream.lineEnd = centroidRingEnd; - }, - polygonEnd: function() { - centroidStream.point = centroidPoint; - centroidStream.lineStart = centroidLineStart; - centroidStream.lineEnd = centroidLineEnd; - }, - result: function() { - var centroid = Z2 ? [X2 / Z2, Y2 / Z2] - : Z1 ? [X1 / Z1, Y1 / Z1] - : Z0 ? [X0 / Z0, Y0 / Z0] - : [NaN, NaN]; - X0 = Y0 = Z0 = - X1 = Y1 = Z1 = - X2 = Y2 = Z2 = 0; - return centroid; - } - }; - - function centroidPoint(x, y) { - X0 += x; - Y0 += y; - ++Z0; - } - - function centroidLineStart() { - centroidStream.point = centroidPointFirstLine; - } - - function centroidPointFirstLine(x, y) { - centroidStream.point = centroidPointLine; - centroidPoint(x0$1 = x, y0$1 = y); - } - - function centroidPointLine(x, y) { - var dx = x - x0$1, dy = y - y0$1, z = sqrt$2(dx * dx + dy * dy); - X1 += z * (x0$1 + x) / 2; - Y1 += z * (y0$1 + y) / 2; - Z1 += z; - centroidPoint(x0$1 = x, y0$1 = y); - } - - function centroidLineEnd() { - centroidStream.point = centroidPoint; - } - - function centroidRingStart() { - centroidStream.point = centroidPointFirstRing; - } - - function centroidRingEnd() { - centroidPointRing(x00$1, y00$1); - } - - function centroidPointFirstRing(x, y) { - centroidStream.point = centroidPointRing; - centroidPoint(x00$1 = x0$1 = x, y00$1 = y0$1 = y); - } - - function centroidPointRing(x, y) { - var dx = x - x0$1, - dy = y - y0$1, - z = sqrt$2(dx * dx + dy * dy); - - X1 += z * (x0$1 + x) / 2; - Y1 += z * (y0$1 + y) / 2; - Z1 += z; - - z = y0$1 * x - x0$1 * y; - X2 += z * (x0$1 + x); - Y2 += z * (y0$1 + y); - Z2 += z * 3; - centroidPoint(x0$1 = x, y0$1 = y); - } - - function PathContext(context) { - this._context = context; - } - - PathContext.prototype = { - _radius: 4.5, - pointRadius: function(_) { - return this._radius = _, this; - }, - polygonStart: function() { - this._line = 0; - }, - polygonEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._point = 0; - }, - lineEnd: function() { - if (this._line === 0) this._context.closePath(); - this._point = NaN; - }, - point: function(x, y) { - switch (this._point) { - case 0: { - this._context.moveTo(x, y); - this._point = 1; - break; - } - case 1: { - this._context.lineTo(x, y); - break; - } - default: { - this._context.moveTo(x + this._radius, y); - this._context.arc(x, y, this._radius, 0, tau$1); - break; - } - } - }, - result: noop$1 - }; - - var lengthSum = new Adder(), - lengthRing, - x00, - y00, - x0, - y0; - - var lengthStream = { - point: noop$1, - lineStart: function() { - lengthStream.point = lengthPointFirst; - }, - lineEnd: function() { - if (lengthRing) lengthPoint(x00, y00); - lengthStream.point = noop$1; - }, - polygonStart: function() { - lengthRing = true; - }, - polygonEnd: function() { - lengthRing = null; - }, - result: function() { - var length = +lengthSum; - lengthSum = new Adder(); - return length; - } - }; - - function lengthPointFirst(x, y) { - lengthStream.point = lengthPoint; - x00 = x0 = x, y00 = y0 = y; - } - - function lengthPoint(x, y) { - x0 -= x, y0 -= y; - lengthSum.add(sqrt$2(x0 * x0 + y0 * y0)); - x0 = x, y0 = y; - } - - function PathString() { - this._string = []; - } - - PathString.prototype = { - _radius: 4.5, - _circle: circle$1(4.5), - pointRadius: function(_) { - if ((_ = +_) !== this._radius) this._radius = _, this._circle = null; - return this; - }, - polygonStart: function() { - this._line = 0; - }, - polygonEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._point = 0; - }, - lineEnd: function() { - if (this._line === 0) this._string.push("Z"); - this._point = NaN; - }, - point: function(x, y) { - switch (this._point) { - case 0: { - this._string.push("M", x, ",", y); - this._point = 1; - break; - } - case 1: { - this._string.push("L", x, ",", y); - break; - } - default: { - if (this._circle == null) this._circle = circle$1(this._radius); - this._string.push("M", x, ",", y, this._circle); - break; - } - } - }, - result: function() { - if (this._string.length) { - var result = this._string.join(""); - this._string = []; - return result; - } else { - return null; - } - } - }; - - function circle$1(radius) { - return "m0," + radius - + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius - + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius - + "z"; - } - - function index$2(projection, context) { - var pointRadius = 4.5, - projectionStream, - contextStream; - - function path(object) { - if (object) { - if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments)); - geoStream(object, projectionStream(contextStream)); - } - return contextStream.result(); - } - - path.area = function(object) { - geoStream(object, projectionStream(areaStream)); - return areaStream.result(); - }; - - path.measure = function(object) { - geoStream(object, projectionStream(lengthStream)); - return lengthStream.result(); - }; - - path.bounds = function(object) { - geoStream(object, projectionStream(boundsStream)); - return boundsStream.result(); - }; - - path.centroid = function(object) { - geoStream(object, projectionStream(centroidStream)); - return centroidStream.result(); - }; - - path.projection = function(_) { - return arguments.length ? (projectionStream = _ == null ? (projection = null, identity$5) : (projection = _).stream, path) : projection; - }; - - path.context = function(_) { - if (!arguments.length) return context; - contextStream = _ == null ? (context = null, new PathString) : new PathContext(context = _); - if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius); - return path; - }; - - path.pointRadius = function(_) { - if (!arguments.length) return pointRadius; - pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_); - return path; - }; - - return path.projection(projection).context(context); - } - - function transform$1(methods) { - return { - stream: transformer$3(methods) - }; - } - - function transformer$3(methods) { - return function(stream) { - var s = new TransformStream; - for (var key in methods) s[key] = methods[key]; - s.stream = stream; - return s; - }; - } - - function TransformStream() {} - - TransformStream.prototype = { - constructor: TransformStream, - point: function(x, y) { this.stream.point(x, y); }, - sphere: function() { this.stream.sphere(); }, - lineStart: function() { this.stream.lineStart(); }, - lineEnd: function() { this.stream.lineEnd(); }, - polygonStart: function() { this.stream.polygonStart(); }, - polygonEnd: function() { this.stream.polygonEnd(); } - }; - - function fit(projection, fitBounds, object) { - var clip = projection.clipExtent && projection.clipExtent(); - projection.scale(150).translate([0, 0]); - if (clip != null) projection.clipExtent(null); - geoStream(object, projection.stream(boundsStream)); - fitBounds(boundsStream.result()); - if (clip != null) projection.clipExtent(clip); - return projection; - } - - function fitExtent(projection, extent, object) { - return fit(projection, function(b) { - var w = extent[1][0] - extent[0][0], - h = extent[1][1] - extent[0][1], - k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])), - x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2, - y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2; - projection.scale(150 * k).translate([x, y]); - }, object); - } - - function fitSize(projection, size, object) { - return fitExtent(projection, [[0, 0], size], object); - } - - function fitWidth(projection, width, object) { - return fit(projection, function(b) { - var w = +width, - k = w / (b[1][0] - b[0][0]), - x = (w - k * (b[1][0] + b[0][0])) / 2, - y = -k * b[0][1]; - projection.scale(150 * k).translate([x, y]); - }, object); - } - - function fitHeight(projection, height, object) { - return fit(projection, function(b) { - var h = +height, - k = h / (b[1][1] - b[0][1]), - x = -k * b[0][0], - y = (h - k * (b[1][1] + b[0][1])) / 2; - projection.scale(150 * k).translate([x, y]); - }, object); - } - - var maxDepth = 16, // maximum depth of subdivision - cosMinDistance = cos$1(30 * radians); // cos(minimum angular distance) - - function resample(project, delta2) { - return +delta2 ? resample$1(project, delta2) : resampleNone(project); - } - - function resampleNone(project) { - return transformer$3({ - point: function(x, y) { - x = project(x, y); - this.stream.point(x[0], x[1]); - } - }); - } - - function resample$1(project, delta2) { - - function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) { - var dx = x1 - x0, - dy = y1 - y0, - d2 = dx * dx + dy * dy; - if (d2 > 4 * delta2 && depth--) { - var a = a0 + a1, - b = b0 + b1, - c = c0 + c1, - m = sqrt$2(a * a + b * b + c * c), - phi2 = asin$1(c /= m), - lambda2 = abs$1(abs$1(c) - 1) < epsilon$1 || abs$1(lambda0 - lambda1) < epsilon$1 ? (lambda0 + lambda1) / 2 : atan2$1(b, a), - p = project(lambda2, phi2), - x2 = p[0], - y2 = p[1], - dx2 = x2 - x0, - dy2 = y2 - y0, - dz = dy * dx2 - dx * dy2; - if (dz * dz / d2 > delta2 // perpendicular projected distance - || abs$1((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end - || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance - resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream); - stream.point(x2, y2); - resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream); - } - } - } - return function(stream) { - var lambda00, x00, y00, a00, b00, c00, // first point - lambda0, x0, y0, a0, b0, c0; // previous point - - var resampleStream = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; }, - polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; } - }; - - function point(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - } - - function lineStart() { - x0 = NaN; - resampleStream.point = linePoint; - stream.lineStart(); - } - - function linePoint(lambda, phi) { - var c = cartesian([lambda, phi]), p = project(lambda, phi); - resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream); - stream.point(x0, y0); - } - - function lineEnd() { - resampleStream.point = point; - stream.lineEnd(); - } - - function ringStart() { - lineStart(); - resampleStream.point = ringPoint; - resampleStream.lineEnd = ringEnd; - } - - function ringPoint(lambda, phi) { - linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0; - resampleStream.point = linePoint; - } - - function ringEnd() { - resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream); - resampleStream.lineEnd = lineEnd; - lineEnd(); - } - - return resampleStream; - }; - } - - var transformRadians = transformer$3({ - point: function(x, y) { - this.stream.point(x * radians, y * radians); - } - }); - - function transformRotate(rotate) { - return transformer$3({ - point: function(x, y) { - var r = rotate(x, y); - return this.stream.point(r[0], r[1]); - } - }); - } - - function scaleTranslate(k, dx, dy, sx, sy) { - function transform(x, y) { - x *= sx; y *= sy; - return [dx + k * x, dy - k * y]; - } - transform.invert = function(x, y) { - return [(x - dx) / k * sx, (dy - y) / k * sy]; - }; - return transform; - } - - function scaleTranslateRotate(k, dx, dy, sx, sy, alpha) { - if (!alpha) return scaleTranslate(k, dx, dy, sx, sy); - var cosAlpha = cos$1(alpha), - sinAlpha = sin$1(alpha), - a = cosAlpha * k, - b = sinAlpha * k, - ai = cosAlpha / k, - bi = sinAlpha / k, - ci = (sinAlpha * dy - cosAlpha * dx) / k, - fi = (sinAlpha * dx + cosAlpha * dy) / k; - function transform(x, y) { - x *= sx; y *= sy; - return [a * x - b * y + dx, dy - b * x - a * y]; - } - transform.invert = function(x, y) { - return [sx * (ai * x - bi * y + ci), sy * (fi - bi * x - ai * y)]; - }; - return transform; - } - - function projection(project) { - return projectionMutator(function() { return project; })(); - } - - function projectionMutator(projectAt) { - var project, - k = 150, // scale - x = 480, y = 250, // translate - lambda = 0, phi = 0, // center - deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate - alpha = 0, // post-rotate angle - sx = 1, // reflectX - sy = 1, // reflectX - theta = null, preclip = clipAntimeridian, // pre-clip angle - x0 = null, y0, x1, y1, postclip = identity$5, // post-clip extent - delta2 = 0.5, // precision - projectResample, - projectTransform, - projectRotateTransform, - cache, - cacheStream; - - function projection(point) { - return projectRotateTransform(point[0] * radians, point[1] * radians); - } - - function invert(point) { - point = projectRotateTransform.invert(point[0], point[1]); - return point && [point[0] * degrees, point[1] * degrees]; - } - - projection.stream = function(stream) { - return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream))))); - }; - - projection.preclip = function(_) { - return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip; - }; - - projection.postclip = function(_) { - return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip; - }; - - projection.clipAngle = function(_) { - return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees; - }; - - projection.clipExtent = function(_) { - return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity$5) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]]; - }; - - projection.scale = function(_) { - return arguments.length ? (k = +_, recenter()) : k; - }; - - projection.translate = function(_) { - return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y]; - }; - - projection.center = function(_) { - return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees]; - }; - - projection.rotate = function(_) { - return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees]; - }; - - projection.angle = function(_) { - return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees; - }; - - projection.reflectX = function(_) { - return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0; - }; - - projection.reflectY = function(_) { - return arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0; - }; - - projection.precision = function(_) { - return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt$2(delta2); - }; - - projection.fitExtent = function(extent, object) { - return fitExtent(projection, extent, object); - }; - - projection.fitSize = function(size, object) { - return fitSize(projection, size, object); - }; - - projection.fitWidth = function(width, object) { - return fitWidth(projection, width, object); - }; - - projection.fitHeight = function(height, object) { - return fitHeight(projection, height, object); - }; - - function recenter() { - var center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)), - transform = scaleTranslateRotate(k, x - center[0], y - center[1], sx, sy, alpha); - rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma); - projectTransform = compose(project, transform); - projectRotateTransform = compose(rotate, projectTransform); - projectResample = resample(projectTransform, delta2); - return reset(); - } - - function reset() { - cache = cacheStream = null; - return projection; - } - - return function() { - project = projectAt.apply(this, arguments); - projection.invert = project.invert && invert; - return recenter(); - }; - } - - function conicProjection(projectAt) { - var phi0 = 0, - phi1 = pi$1 / 3, - m = projectionMutator(projectAt), - p = m(phi0, phi1); - - p.parallels = function(_) { - return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees, phi1 * degrees]; - }; - - return p; - } - - function cylindricalEqualAreaRaw(phi0) { - var cosPhi0 = cos$1(phi0); - - function forward(lambda, phi) { - return [lambda * cosPhi0, sin$1(phi) / cosPhi0]; - } - - forward.invert = function(x, y) { - return [x / cosPhi0, asin$1(y * cosPhi0)]; - }; - - return forward; - } - - function conicEqualAreaRaw(y0, y1) { - var sy0 = sin$1(y0), n = (sy0 + sin$1(y1)) / 2; - - // Are the parallels symmetrical around the Equator? - if (abs$1(n) < epsilon$1) return cylindricalEqualAreaRaw(y0); - - var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt$2(c) / n; - - function project(x, y) { - var r = sqrt$2(c - 2 * n * sin$1(y)) / n; - return [r * sin$1(x *= n), r0 - r * cos$1(x)]; - } - - project.invert = function(x, y) { - var r0y = r0 - y, - l = atan2$1(x, abs$1(r0y)) * sign$1(r0y); - if (r0y * n < 0) - l -= pi$1 * sign$1(x) * sign$1(r0y); - return [l / n, asin$1((c - (x * x + r0y * r0y) * n * n) / (2 * n))]; - }; - - return project; - } - - function conicEqualArea() { - return conicProjection(conicEqualAreaRaw) - .scale(155.424) - .center([0, 33.6442]); - } - - function albers() { - return conicEqualArea() - .parallels([29.5, 45.5]) - .scale(1070) - .translate([480, 250]) - .rotate([96, 0]) - .center([-0.6, 38.7]); - } - -// The projections must have mutually exclusive clip regions on the sphere, -// as this will avoid emitting interleaving lines and polygons. - function multiplex(streams) { - var n = streams.length; - return { - point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); }, - sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); }, - lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); }, - lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); }, - polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); }, - polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); } - }; - } - -// A composite projection for the United States, configured by default for -// 960×500. The projection also works quite well at 960×600 if you change the -// scale to 1285 and adjust the translate accordingly. The set of standard -// parallels for each region comes from USGS, which is published here: -// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers - function albersUsa() { - var cache, - cacheStream, - lower48 = albers(), lower48Point, - alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338 - hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007 - point, pointStream = {point: function(x, y) { point = [x, y]; }}; - - function albersUsa(coordinates) { - var x = coordinates[0], y = coordinates[1]; - return point = null, - (lower48Point.point(x, y), point) - || (alaskaPoint.point(x, y), point) - || (hawaiiPoint.point(x, y), point); - } - - albersUsa.invert = function(coordinates) { - var k = lower48.scale(), - t = lower48.translate(), - x = (coordinates[0] - t[0]) / k, - y = (coordinates[1] - t[1]) / k; - return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska - : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii - : lower48).invert(coordinates); - }; - - albersUsa.stream = function(stream) { - return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]); - }; - - albersUsa.precision = function(_) { - if (!arguments.length) return lower48.precision(); - lower48.precision(_), alaska.precision(_), hawaii.precision(_); - return reset(); - }; - - albersUsa.scale = function(_) { - if (!arguments.length) return lower48.scale(); - lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_); - return albersUsa.translate(lower48.translate()); - }; - - albersUsa.translate = function(_) { - if (!arguments.length) return lower48.translate(); - var k = lower48.scale(), x = +_[0], y = +_[1]; - - lower48Point = lower48 - .translate(_) - .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]]) - .stream(pointStream); - - alaskaPoint = alaska - .translate([x - 0.307 * k, y + 0.201 * k]) - .clipExtent([[x - 0.425 * k + epsilon$1, y + 0.120 * k + epsilon$1], [x - 0.214 * k - epsilon$1, y + 0.234 * k - epsilon$1]]) - .stream(pointStream); - - hawaiiPoint = hawaii - .translate([x - 0.205 * k, y + 0.212 * k]) - .clipExtent([[x - 0.214 * k + epsilon$1, y + 0.166 * k + epsilon$1], [x - 0.115 * k - epsilon$1, y + 0.234 * k - epsilon$1]]) - .stream(pointStream); - - return reset(); - }; - - albersUsa.fitExtent = function(extent, object) { - return fitExtent(albersUsa, extent, object); - }; - - albersUsa.fitSize = function(size, object) { - return fitSize(albersUsa, size, object); - }; - - albersUsa.fitWidth = function(width, object) { - return fitWidth(albersUsa, width, object); - }; - - albersUsa.fitHeight = function(height, object) { - return fitHeight(albersUsa, height, object); - }; - - function reset() { - cache = cacheStream = null; - return albersUsa; - } - - return albersUsa.scale(1070); - } - - function azimuthalRaw(scale) { - return function(x, y) { - var cx = cos$1(x), - cy = cos$1(y), - k = scale(cx * cy); - if (k === Infinity) return [2, 0]; - return [ - k * cy * sin$1(x), - k * sin$1(y) - ]; - } - } - - function azimuthalInvert(angle) { - return function(x, y) { - var z = sqrt$2(x * x + y * y), - c = angle(z), - sc = sin$1(c), - cc = cos$1(c); - return [ - atan2$1(x * sc, z * cc), - asin$1(z && y * sc / z) - ]; - } - } - - var azimuthalEqualAreaRaw = azimuthalRaw(function(cxcy) { - return sqrt$2(2 / (1 + cxcy)); - }); - - azimuthalEqualAreaRaw.invert = azimuthalInvert(function(z) { - return 2 * asin$1(z / 2); - }); - - function azimuthalEqualArea() { - return projection(azimuthalEqualAreaRaw) - .scale(124.75) - .clipAngle(180 - 1e-3); - } - - var azimuthalEquidistantRaw = azimuthalRaw(function(c) { - return (c = acos$1(c)) && c / sin$1(c); - }); - - azimuthalEquidistantRaw.invert = azimuthalInvert(function(z) { - return z; - }); - - function azimuthalEquidistant() { - return projection(azimuthalEquidistantRaw) - .scale(79.4188) - .clipAngle(180 - 1e-3); - } - - function mercatorRaw(lambda, phi) { - return [lambda, log$1(tan((halfPi$1 + phi) / 2))]; - } - - mercatorRaw.invert = function(x, y) { - return [x, 2 * atan(exp(y)) - halfPi$1]; - }; - - function mercator() { - return mercatorProjection(mercatorRaw) - .scale(961 / tau$1); - } - - function mercatorProjection(project) { - var m = projection(project), - center = m.center, - scale = m.scale, - translate = m.translate, - clipExtent = m.clipExtent, - x0 = null, y0, x1, y1; // clip extent - - m.scale = function(_) { - return arguments.length ? (scale(_), reclip()) : scale(); - }; - - m.translate = function(_) { - return arguments.length ? (translate(_), reclip()) : translate(); - }; - - m.center = function(_) { - return arguments.length ? (center(_), reclip()) : center(); - }; - - m.clipExtent = function(_) { - return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]]; - }; - - function reclip() { - var k = pi$1 * scale(), - t = m(rotation(m.rotate()).invert([0, 0])); - return clipExtent(x0 == null - ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw - ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]] - : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]); - } - - return reclip(); - } - - function tany(y) { - return tan((halfPi$1 + y) / 2); - } - - function conicConformalRaw(y0, y1) { - var cy0 = cos$1(y0), - n = y0 === y1 ? sin$1(y0) : log$1(cy0 / cos$1(y1)) / log$1(tany(y1) / tany(y0)), - f = cy0 * pow$1(tany(y0), n) / n; - - if (!n) return mercatorRaw; - - function project(x, y) { - if (f > 0) { if (y < -halfPi$1 + epsilon$1) y = -halfPi$1 + epsilon$1; } - else { if (y > halfPi$1 - epsilon$1) y = halfPi$1 - epsilon$1; } - var r = f / pow$1(tany(y), n); - return [r * sin$1(n * x), f - r * cos$1(n * x)]; - } - - project.invert = function(x, y) { - var fy = f - y, r = sign$1(n) * sqrt$2(x * x + fy * fy), - l = atan2$1(x, abs$1(fy)) * sign$1(fy); - if (fy * n < 0) - l -= pi$1 * sign$1(x) * sign$1(fy); - return [l / n, 2 * atan(pow$1(f / r, 1 / n)) - halfPi$1]; - }; - - return project; - } - - function conicConformal() { - return conicProjection(conicConformalRaw) - .scale(109.5) - .parallels([30, 30]); - } - - function equirectangularRaw(lambda, phi) { - return [lambda, phi]; - } - - equirectangularRaw.invert = equirectangularRaw; - - function equirectangular() { - return projection(equirectangularRaw) - .scale(152.63); - } - - function conicEquidistantRaw(y0, y1) { - var cy0 = cos$1(y0), - n = y0 === y1 ? sin$1(y0) : (cy0 - cos$1(y1)) / (y1 - y0), - g = cy0 / n + y0; - - if (abs$1(n) < epsilon$1) return equirectangularRaw; - - function project(x, y) { - var gy = g - y, nx = n * x; - return [gy * sin$1(nx), g - gy * cos$1(nx)]; - } - - project.invert = function(x, y) { - var gy = g - y, - l = atan2$1(x, abs$1(gy)) * sign$1(gy); - if (gy * n < 0) - l -= pi$1 * sign$1(x) * sign$1(gy); - return [l / n, g - sign$1(n) * sqrt$2(x * x + gy * gy)]; - }; - - return project; - } - - function conicEquidistant() { - return conicProjection(conicEquidistantRaw) - .scale(131.154) - .center([0, 13.9389]); - } - - var A1 = 1.340264, - A2 = -0.081106, - A3 = 0.000893, - A4 = 0.003796, - M = sqrt$2(3) / 2, - iterations = 12; - - function equalEarthRaw(lambda, phi) { - var l = asin$1(M * sin$1(phi)), l2 = l * l, l6 = l2 * l2 * l2; - return [ - lambda * cos$1(l) / (M * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2))), - l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2)) - ]; - } - - equalEarthRaw.invert = function(x, y) { - var l = y, l2 = l * l, l6 = l2 * l2 * l2; - for (var i = 0, delta, fy, fpy; i < iterations; ++i) { - fy = l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2)) - y; - fpy = A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2); - l -= delta = fy / fpy, l2 = l * l, l6 = l2 * l2 * l2; - if (abs$1(delta) < epsilon2) break; - } - return [ - M * x * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2)) / cos$1(l), - asin$1(sin$1(l) / M) - ]; - }; - - function equalEarth() { - return projection(equalEarthRaw) - .scale(177.158); - } - - function gnomonicRaw(x, y) { - var cy = cos$1(y), k = cos$1(x) * cy; - return [cy * sin$1(x) / k, sin$1(y) / k]; - } - - gnomonicRaw.invert = azimuthalInvert(atan); - - function gnomonic() { - return projection(gnomonicRaw) - .scale(144.049) - .clipAngle(60); - } - - function identity$4() { - var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, // scale, translate and reflect - alpha = 0, ca, sa, // angle - x0 = null, y0, x1, y1, // clip extent - kx = 1, ky = 1, - transform = transformer$3({ - point: function(x, y) { - var p = projection([x, y]); - this.stream.point(p[0], p[1]); - } - }), - postclip = identity$5, - cache, - cacheStream; - - function reset() { - kx = k * sx; - ky = k * sy; - cache = cacheStream = null; - return projection; - } - - function projection (p) { - var x = p[0] * kx, y = p[1] * ky; - if (alpha) { - var t = y * ca - x * sa; - x = x * ca + y * sa; - y = t; - } - return [x + tx, y + ty]; - } - projection.invert = function(p) { - var x = p[0] - tx, y = p[1] - ty; - if (alpha) { - var t = y * ca + x * sa; - x = x * ca - y * sa; - y = t; - } - return [x / kx, y / ky]; - }; - projection.stream = function(stream) { - return cache && cacheStream === stream ? cache : cache = transform(postclip(cacheStream = stream)); - }; - projection.postclip = function(_) { - return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip; - }; - projection.clipExtent = function(_) { - return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity$5) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]]; - }; - projection.scale = function(_) { - return arguments.length ? (k = +_, reset()) : k; - }; - projection.translate = function(_) { - return arguments.length ? (tx = +_[0], ty = +_[1], reset()) : [tx, ty]; - }; - projection.angle = function(_) { - return arguments.length ? (alpha = _ % 360 * radians, sa = sin$1(alpha), ca = cos$1(alpha), reset()) : alpha * degrees; - }; - projection.reflectX = function(_) { - return arguments.length ? (sx = _ ? -1 : 1, reset()) : sx < 0; - }; - projection.reflectY = function(_) { - return arguments.length ? (sy = _ ? -1 : 1, reset()) : sy < 0; - }; - projection.fitExtent = function(extent, object) { - return fitExtent(projection, extent, object); - }; - projection.fitSize = function(size, object) { - return fitSize(projection, size, object); - }; - projection.fitWidth = function(width, object) { - return fitWidth(projection, width, object); - }; - projection.fitHeight = function(height, object) { - return fitHeight(projection, height, object); - }; - - return projection; - } - - function naturalEarth1Raw(lambda, phi) { - var phi2 = phi * phi, phi4 = phi2 * phi2; - return [ - lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))), - phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - ]; - } - - naturalEarth1Raw.invert = function(x, y) { - var phi = y, i = 25, delta; - do { - var phi2 = phi * phi, phi4 = phi2 * phi2; - phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) / - (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4))); - } while (abs$1(delta) > epsilon$1 && --i > 0); - return [ - x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))), - phi - ]; - }; - - function naturalEarth1() { - return projection(naturalEarth1Raw) - .scale(175.295); - } - - function orthographicRaw(x, y) { - return [cos$1(y) * sin$1(x), sin$1(y)]; - } - - orthographicRaw.invert = azimuthalInvert(asin$1); - - function orthographic() { - return projection(orthographicRaw) - .scale(249.5) - .clipAngle(90 + epsilon$1); - } - - function stereographicRaw(x, y) { - var cy = cos$1(y), k = 1 + cos$1(x) * cy; - return [cy * sin$1(x) / k, sin$1(y) / k]; - } - - stereographicRaw.invert = azimuthalInvert(function(z) { - return 2 * atan(z); - }); - - function stereographic() { - return projection(stereographicRaw) - .scale(250) - .clipAngle(142); - } - - function transverseMercatorRaw(lambda, phi) { - return [log$1(tan((halfPi$1 + phi) / 2)), -lambda]; - } - - transverseMercatorRaw.invert = function(x, y) { - return [-y, 2 * atan(exp(x)) - halfPi$1]; - }; - - function transverseMercator() { - var m = mercatorProjection(transverseMercatorRaw), - center = m.center, - rotate = m.rotate; - - m.center = function(_) { - return arguments.length ? center([-_[1], _[0]]) : (_ = center(), [_[1], -_[0]]); - }; - - m.rotate = function(_) { - return arguments.length ? rotate([_[0], _[1], _.length > 2 ? _[2] + 90 : 90]) : (_ = rotate(), [_[0], _[1], _[2] - 90]); - }; - - return rotate([0, 0, 90]) - .scale(159.155); - } - - function defaultSeparation$1(a, b) { - return a.parent === b.parent ? 1 : 2; - } - - function meanX(children) { - return children.reduce(meanXReduce, 0) / children.length; - } - - function meanXReduce(x, c) { - return x + c.x; - } - - function maxY(children) { - return 1 + children.reduce(maxYReduce, 0); - } - - function maxYReduce(y, c) { - return Math.max(y, c.y); - } - - function leafLeft(node) { - var children; - while (children = node.children) node = children[0]; - return node; - } - - function leafRight(node) { - var children; - while (children = node.children) node = children[children.length - 1]; - return node; - } - - function cluster() { - var separation = defaultSeparation$1, - dx = 1, - dy = 1, - nodeSize = false; - - function cluster(root) { - var previousNode, - x = 0; - - // First walk, computing the initial x & y values. - root.eachAfter(function(node) { - var children = node.children; - if (children) { - node.x = meanX(children); - node.y = maxY(children); - } else { - node.x = previousNode ? x += separation(node, previousNode) : 0; - node.y = 0; - previousNode = node; - } - }); - - var left = leafLeft(root), - right = leafRight(root), - x0 = left.x - separation(left, right) / 2, - x1 = right.x + separation(right, left) / 2; - - // Second walk, normalizing x & y to the desired size. - return root.eachAfter(nodeSize ? function(node) { - node.x = (node.x - root.x) * dx; - node.y = (root.y - node.y) * dy; - } : function(node) { - node.x = (node.x - x0) / (x1 - x0) * dx; - node.y = (1 - (root.y ? node.y / root.y : 1)) * dy; - }); - } - - cluster.separation = function(x) { - return arguments.length ? (separation = x, cluster) : separation; - }; - - cluster.size = function(x) { - return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? null : [dx, dy]); - }; - - cluster.nodeSize = function(x) { - return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? [dx, dy] : null); - }; - - return cluster; - } - - function count(node) { - var sum = 0, - children = node.children, - i = children && children.length; - if (!i) sum = 1; - else while (--i >= 0) sum += children[i].value; - node.value = sum; - } - - function node_count() { - return this.eachAfter(count); - } - - function node_each(callback, that) { - let index = -1; - for (const node of this) { - callback.call(that, node, ++index, this); - } - return this; - } - - function node_eachBefore(callback, that) { - var node = this, nodes = [node], children, i, index = -1; - while (node = nodes.pop()) { - callback.call(that, node, ++index, this); - if (children = node.children) { - for (i = children.length - 1; i >= 0; --i) { - nodes.push(children[i]); - } - } - } - return this; - } - - function node_eachAfter(callback, that) { - var node = this, nodes = [node], next = [], children, i, n, index = -1; - while (node = nodes.pop()) { - next.push(node); - if (children = node.children) { - for (i = 0, n = children.length; i < n; ++i) { - nodes.push(children[i]); - } - } - } - while (node = next.pop()) { - callback.call(that, node, ++index, this); - } - return this; - } - - function node_find(callback, that) { - let index = -1; - for (const node of this) { - if (callback.call(that, node, ++index, this)) { - return node; - } - } - } - - function node_sum(value) { - return this.eachAfter(function(node) { - var sum = +value(node.data) || 0, - children = node.children, - i = children && children.length; - while (--i >= 0) sum += children[i].value; - node.value = sum; - }); - } - - function node_sort(compare) { - return this.eachBefore(function(node) { - if (node.children) { - node.children.sort(compare); - } - }); - } - - function node_path(end) { - var start = this, - ancestor = leastCommonAncestor(start, end), - nodes = [start]; - while (start !== ancestor) { - start = start.parent; - nodes.push(start); - } - var k = nodes.length; - while (end !== ancestor) { - nodes.splice(k, 0, end); - end = end.parent; - } - return nodes; - } - - function leastCommonAncestor(a, b) { - if (a === b) return a; - var aNodes = a.ancestors(), - bNodes = b.ancestors(), - c = null; - a = aNodes.pop(); - b = bNodes.pop(); - while (a === b) { - c = a; - a = aNodes.pop(); - b = bNodes.pop(); - } - return c; - } - - function node_ancestors() { - var node = this, nodes = [node]; - while (node = node.parent) { - nodes.push(node); - } - return nodes; - } - - function node_descendants() { - return Array.from(this); - } - - function node_leaves() { - var leaves = []; - this.eachBefore(function(node) { - if (!node.children) { - leaves.push(node); - } - }); - return leaves; - } - - function node_links() { - var root = this, links = []; - root.each(function(node) { - if (node !== root) { // Don’t include the root’s parent, if any. - links.push({source: node.parent, target: node}); - } - }); - return links; - } - - function* node_iterator() { - var node = this, current, next = [node], children, i, n; - do { - current = next.reverse(), next = []; - while (node = current.pop()) { - yield node; - if (children = node.children) { - for (i = 0, n = children.length; i < n; ++i) { - next.push(children[i]); - } - } - } - } while (next.length); - } - - function hierarchy(data, children) { - if (data instanceof Map) { - data = [undefined, data]; - if (children === undefined) children = mapChildren; - } else if (children === undefined) { - children = objectChildren; - } - - var root = new Node$1(data), - node, - nodes = [root], - child, - childs, - i, - n; - - while (node = nodes.pop()) { - if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) { - node.children = childs; - for (i = n - 1; i >= 0; --i) { - nodes.push(child = childs[i] = new Node$1(childs[i])); - child.parent = node; - child.depth = node.depth + 1; - } - } - } - - return root.eachBefore(computeHeight); - } - - function node_copy() { - return hierarchy(this).eachBefore(copyData); - } - - function objectChildren(d) { - return d.children; - } - - function mapChildren(d) { - return Array.isArray(d) ? d[1] : null; - } - - function copyData(node) { - if (node.data.value !== undefined) node.value = node.data.value; - node.data = node.data.data; - } - - function computeHeight(node) { - var height = 0; - do node.height = height; - while ((node = node.parent) && (node.height < ++height)); - } - - function Node$1(data) { - this.data = data; - this.depth = - this.height = 0; - this.parent = null; - } - - Node$1.prototype = hierarchy.prototype = { - constructor: Node$1, - count: node_count, - each: node_each, - eachAfter: node_eachAfter, - eachBefore: node_eachBefore, - find: node_find, - sum: node_sum, - sort: node_sort, - path: node_path, - ancestors: node_ancestors, - descendants: node_descendants, - leaves: node_leaves, - links: node_links, - copy: node_copy, - [Symbol.iterator]: node_iterator - }; - - function array$1(x) { - return typeof x === "object" && "length" in x - ? x // Array, TypedArray, NodeList, array-like - : Array.from(x); // Map, Set, iterable, string, or anything else - } - - function shuffle(array) { - var m = array.length, - t, - i; - - while (m) { - i = Math.random() * m-- | 0; - t = array[m]; - array[m] = array[i]; - array[i] = t; - } - - return array; - } - - function enclose(circles) { - var i = 0, n = (circles = shuffle(Array.from(circles))).length, B = [], p, e; - - while (i < n) { - p = circles[i]; - if (e && enclosesWeak(e, p)) ++i; - else e = encloseBasis(B = extendBasis(B, p)), i = 0; - } - - return e; - } - - function extendBasis(B, p) { - var i, j; - - if (enclosesWeakAll(p, B)) return [p]; - - // If we get here then B must have at least one element. - for (i = 0; i < B.length; ++i) { - if (enclosesNot(p, B[i]) - && enclosesWeakAll(encloseBasis2(B[i], p), B)) { - return [B[i], p]; - } - } - - // If we get here then B must have at least two elements. - for (i = 0; i < B.length - 1; ++i) { - for (j = i + 1; j < B.length; ++j) { - if (enclosesNot(encloseBasis2(B[i], B[j]), p) - && enclosesNot(encloseBasis2(B[i], p), B[j]) - && enclosesNot(encloseBasis2(B[j], p), B[i]) - && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) { - return [B[i], B[j], p]; - } - } - } - - // If we get here then something is very wrong. - throw new Error; - } - - function enclosesNot(a, b) { - var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y; - return dr < 0 || dr * dr < dx * dx + dy * dy; - } - - function enclosesWeak(a, b) { - var dr = a.r - b.r + Math.max(a.r, b.r, 1) * 1e-9, dx = b.x - a.x, dy = b.y - a.y; - return dr > 0 && dr * dr > dx * dx + dy * dy; - } - - function enclosesWeakAll(a, B) { - for (var i = 0; i < B.length; ++i) { - if (!enclosesWeak(a, B[i])) { - return false; - } - } - return true; - } - - function encloseBasis(B) { - switch (B.length) { - case 1: return encloseBasis1(B[0]); - case 2: return encloseBasis2(B[0], B[1]); - case 3: return encloseBasis3(B[0], B[1], B[2]); - } - } - - function encloseBasis1(a) { - return { - x: a.x, - y: a.y, - r: a.r - }; - } - - function encloseBasis2(a, b) { - var x1 = a.x, y1 = a.y, r1 = a.r, - x2 = b.x, y2 = b.y, r2 = b.r, - x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1, - l = Math.sqrt(x21 * x21 + y21 * y21); - return { - x: (x1 + x2 + x21 / l * r21) / 2, - y: (y1 + y2 + y21 / l * r21) / 2, - r: (l + r1 + r2) / 2 - }; - } - - function encloseBasis3(a, b, c) { - var x1 = a.x, y1 = a.y, r1 = a.r, - x2 = b.x, y2 = b.y, r2 = b.r, - x3 = c.x, y3 = c.y, r3 = c.r, - a2 = x1 - x2, - a3 = x1 - x3, - b2 = y1 - y2, - b3 = y1 - y3, - c2 = r2 - r1, - c3 = r3 - r1, - d1 = x1 * x1 + y1 * y1 - r1 * r1, - d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2, - d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3, - ab = a3 * b2 - a2 * b3, - xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1, - xb = (b3 * c2 - b2 * c3) / ab, - ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1, - yb = (a2 * c3 - a3 * c2) / ab, - A = xb * xb + yb * yb - 1, - B = 2 * (r1 + xa * xb + ya * yb), - C = xa * xa + ya * ya - r1 * r1, - r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B); - return { - x: x1 + xa + xb * r, - y: y1 + ya + yb * r, - r: r - }; - } - - function place(b, a, c) { - var dx = b.x - a.x, x, a2, - dy = b.y - a.y, y, b2, - d2 = dx * dx + dy * dy; - if (d2) { - a2 = a.r + c.r, a2 *= a2; - b2 = b.r + c.r, b2 *= b2; - if (a2 > b2) { - x = (d2 + b2 - a2) / (2 * d2); - y = Math.sqrt(Math.max(0, b2 / d2 - x * x)); - c.x = b.x - x * dx - y * dy; - c.y = b.y - x * dy + y * dx; - } else { - x = (d2 + a2 - b2) / (2 * d2); - y = Math.sqrt(Math.max(0, a2 / d2 - x * x)); - c.x = a.x + x * dx - y * dy; - c.y = a.y + x * dy + y * dx; - } - } else { - c.x = a.x + c.r; - c.y = a.y; - } - } - - function intersects(a, b) { - var dr = a.r + b.r - 1e-6, dx = b.x - a.x, dy = b.y - a.y; - return dr > 0 && dr * dr > dx * dx + dy * dy; - } - - function score(node) { - var a = node._, - b = node.next._, - ab = a.r + b.r, - dx = (a.x * b.r + b.x * a.r) / ab, - dy = (a.y * b.r + b.y * a.r) / ab; - return dx * dx + dy * dy; - } - - function Node(circle) { - this._ = circle; - this.next = null; - this.previous = null; - } - - function packEnclose(circles) { - if (!(n = (circles = array$1(circles)).length)) return 0; - - var a, b, c, n, aa, ca, i, j, k, sj, sk; - - // Place the first circle. - a = circles[0], a.x = 0, a.y = 0; - if (!(n > 1)) return a.r; - - // Place the second circle. - b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0; - if (!(n > 2)) return a.r + b.r; - - // Place the third circle. - place(b, a, c = circles[2]); - - // Initialize the front-chain using the first three circles a, b and c. - a = new Node(a), b = new Node(b), c = new Node(c); - a.next = c.previous = b; - b.next = a.previous = c; - c.next = b.previous = a; - - // Attempt to place each remaining circle… - pack: for (i = 3; i < n; ++i) { - place(a._, b._, c = circles[i]), c = new Node(c); - - // Find the closest intersecting circle on the front-chain, if any. - // “Closeness” is determined by linear distance along the front-chain. - // “Ahead” or “behind” is likewise determined by linear distance. - j = b.next, k = a.previous, sj = b._.r, sk = a._.r; - do { - if (sj <= sk) { - if (intersects(j._, c._)) { - b = j, a.next = b, b.previous = a, --i; - continue pack; - } - sj += j._.r, j = j.next; - } else { - if (intersects(k._, c._)) { - a = k, a.next = b, b.previous = a, --i; - continue pack; - } - sk += k._.r, k = k.previous; - } - } while (j !== k.next); - - // Success! Insert the new circle c between a and b. - c.previous = a, c.next = b, a.next = b.previous = b = c; - - // Compute the new closest circle pair to the centroid. - aa = score(a); - while ((c = c.next) !== b) { - if ((ca = score(c)) < aa) { - a = c, aa = ca; - } - } - b = a.next; - } - - // Compute the enclosing circle of the front chain. - a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = enclose(a); - - // Translate the circles to put the enclosing circle around the origin. - for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y; - - return c.r; - } - - function siblings(circles) { - packEnclose(circles); - return circles; - } - - function optional(f) { - return f == null ? null : required(f); - } - - function required(f) { - if (typeof f !== "function") throw new Error; - return f; - } - - function constantZero() { - return 0; - } - - function constant$2(x) { - return function() { - return x; - }; - } - - function defaultRadius(d) { - return Math.sqrt(d.value); - } - - function index$1() { - var radius = null, - dx = 1, - dy = 1, - padding = constantZero; - - function pack(root) { - root.x = dx / 2, root.y = dy / 2; - if (radius) { - root.eachBefore(radiusLeaf(radius)) - .eachAfter(packChildren(padding, 0.5)) - .eachBefore(translateChild(1)); - } else { - root.eachBefore(radiusLeaf(defaultRadius)) - .eachAfter(packChildren(constantZero, 1)) - .eachAfter(packChildren(padding, root.r / Math.min(dx, dy))) - .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r))); - } - return root; - } - - pack.radius = function(x) { - return arguments.length ? (radius = optional(x), pack) : radius; - }; - - pack.size = function(x) { - return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy]; - }; - - pack.padding = function(x) { - return arguments.length ? (padding = typeof x === "function" ? x : constant$2(+x), pack) : padding; - }; - - return pack; - } - - function radiusLeaf(radius) { - return function(node) { - if (!node.children) { - node.r = Math.max(0, +radius(node) || 0); - } - }; - } - - function packChildren(padding, k) { - return function(node) { - if (children = node.children) { - var children, - i, - n = children.length, - r = padding(node) * k || 0, - e; - - if (r) for (i = 0; i < n; ++i) children[i].r += r; - e = packEnclose(children); - if (r) for (i = 0; i < n; ++i) children[i].r -= r; - node.r = e + r; - } - }; - } - - function translateChild(k) { - return function(node) { - var parent = node.parent; - node.r *= k; - if (parent) { - node.x = parent.x + k * node.x; - node.y = parent.y + k * node.y; - } - }; - } - - function roundNode(node) { - node.x0 = Math.round(node.x0); - node.y0 = Math.round(node.y0); - node.x1 = Math.round(node.x1); - node.y1 = Math.round(node.y1); - } - - function treemapDice(parent, x0, y0, x1, y1) { - var nodes = parent.children, - node, - i = -1, - n = nodes.length, - k = parent.value && (x1 - x0) / parent.value; - - while (++i < n) { - node = nodes[i], node.y0 = y0, node.y1 = y1; - node.x0 = x0, node.x1 = x0 += node.value * k; - } - } - - function partition() { - var dx = 1, - dy = 1, - padding = 0, - round = false; - - function partition(root) { - var n = root.height + 1; - root.x0 = - root.y0 = padding; - root.x1 = dx; - root.y1 = dy / n; - root.eachBefore(positionNode(dy, n)); - if (round) root.eachBefore(roundNode); - return root; - } - - function positionNode(dy, n) { - return function(node) { - if (node.children) { - treemapDice(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n); - } - var x0 = node.x0, - y0 = node.y0, - x1 = node.x1 - padding, - y1 = node.y1 - padding; - if (x1 < x0) x0 = x1 = (x0 + x1) / 2; - if (y1 < y0) y0 = y1 = (y0 + y1) / 2; - node.x0 = x0; - node.y0 = y0; - node.x1 = x1; - node.y1 = y1; - }; - } - - partition.round = function(x) { - return arguments.length ? (round = !!x, partition) : round; - }; - - partition.size = function(x) { - return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy]; - }; - - partition.padding = function(x) { - return arguments.length ? (padding = +x, partition) : padding; - }; - - return partition; - } - - var preroot = {depth: -1}, - ambiguous = {}; - - function defaultId(d) { - return d.id; - } - - function defaultParentId(d) { - return d.parentId; - } - - function stratify() { - var id = defaultId, - parentId = defaultParentId; - - function stratify(data) { - var nodes = Array.from(data), - n = nodes.length, - d, - i, - root, - parent, - node, - nodeId, - nodeKey, - nodeByKey = new Map; - - for (i = 0; i < n; ++i) { - d = nodes[i], node = nodes[i] = new Node$1(d); - if ((nodeId = id(d, i, data)) != null && (nodeId += "")) { - nodeKey = node.id = nodeId; - nodeByKey.set(nodeKey, nodeByKey.has(nodeKey) ? ambiguous : node); - } - if ((nodeId = parentId(d, i, data)) != null && (nodeId += "")) { - node.parent = nodeId; - } - } - - for (i = 0; i < n; ++i) { - node = nodes[i]; - if (nodeId = node.parent) { - parent = nodeByKey.get(nodeId); - if (!parent) throw new Error("missing: " + nodeId); - if (parent === ambiguous) throw new Error("ambiguous: " + nodeId); - if (parent.children) parent.children.push(node); - else parent.children = [node]; - node.parent = parent; - } else { - if (root) throw new Error("multiple roots"); - root = node; - } - } - - if (!root) throw new Error("no root"); - root.parent = preroot; - root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight); - root.parent = null; - if (n > 0) throw new Error("cycle"); - - return root; - } - - stratify.id = function(x) { - return arguments.length ? (id = required(x), stratify) : id; - }; - - stratify.parentId = function(x) { - return arguments.length ? (parentId = required(x), stratify) : parentId; - }; - - return stratify; - } - - function defaultSeparation(a, b) { - return a.parent === b.parent ? 1 : 2; - } - -// function radialSeparation(a, b) { -// return (a.parent === b.parent ? 1 : 2) / a.depth; -// } - -// This function is used to traverse the left contour of a subtree (or -// subforest). It returns the successor of v on this contour. This successor is -// either given by the leftmost child of v or by the thread of v. The function -// returns null if and only if v is on the highest level of its subtree. - function nextLeft(v) { - var children = v.children; - return children ? children[0] : v.t; - } - -// This function works analogously to nextLeft. - function nextRight(v) { - var children = v.children; - return children ? children[children.length - 1] : v.t; - } - -// Shifts the current subtree rooted at w+. This is done by increasing -// prelim(w+) and mod(w+) by shift. - function moveSubtree(wm, wp, shift) { - var change = shift / (wp.i - wm.i); - wp.c -= change; - wp.s += shift; - wm.c += change; - wp.z += shift; - wp.m += shift; - } - -// All other shifts, applied to the smaller subtrees between w- and w+, are -// performed by this function. To prepare the shifts, we have to adjust -// change(w+), shift(w+), and change(w-). - function executeShifts(v) { - var shift = 0, - change = 0, - children = v.children, - i = children.length, - w; - while (--i >= 0) { - w = children[i]; - w.z += shift; - w.m += shift; - shift += w.s + (change += w.c); - } - } - -// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise, -// returns the specified (default) ancestor. - function nextAncestor(vim, v, ancestor) { - return vim.a.parent === v.parent ? vim.a : ancestor; - } - - function TreeNode(node, i) { - this._ = node; - this.parent = null; - this.children = null; - this.A = null; // default ancestor - this.a = this; // ancestor - this.z = 0; // prelim - this.m = 0; // mod - this.c = 0; // change - this.s = 0; // shift - this.t = null; // thread - this.i = i; // number - } - - TreeNode.prototype = Object.create(Node$1.prototype); - - function treeRoot(root) { - var tree = new TreeNode(root, 0), - node, - nodes = [tree], - child, - children, - i, - n; - - while (node = nodes.pop()) { - if (children = node._.children) { - node.children = new Array(n = children.length); - for (i = n - 1; i >= 0; --i) { - nodes.push(child = node.children[i] = new TreeNode(children[i], i)); - child.parent = node; - } - } - } - - (tree.parent = new TreeNode(null, 0)).children = [tree]; - return tree; - } - -// Node-link tree diagram using the Reingold-Tilford "tidy" algorithm - function tree() { - var separation = defaultSeparation, - dx = 1, - dy = 1, - nodeSize = null; - - function tree(root) { - var t = treeRoot(root); - - // Compute the layout using Buchheim et al.’s algorithm. - t.eachAfter(firstWalk), t.parent.m = -t.z; - t.eachBefore(secondWalk); - - // If a fixed node size is specified, scale x and y. - if (nodeSize) root.eachBefore(sizeNode); - - // If a fixed tree size is specified, scale x and y based on the extent. - // Compute the left-most, right-most, and depth-most nodes for extents. - else { - var left = root, - right = root, - bottom = root; - root.eachBefore(function(node) { - if (node.x < left.x) left = node; - if (node.x > right.x) right = node; - if (node.depth > bottom.depth) bottom = node; - }); - var s = left === right ? 1 : separation(left, right) / 2, - tx = s - left.x, - kx = dx / (right.x + s + tx), - ky = dy / (bottom.depth || 1); - root.eachBefore(function(node) { - node.x = (node.x + tx) * kx; - node.y = node.depth * ky; - }); - } - - return root; - } - - // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is - // applied recursively to the children of v, as well as the function - // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the - // node v is placed to the midpoint of its outermost children. - function firstWalk(v) { - var children = v.children, - siblings = v.parent.children, - w = v.i ? siblings[v.i - 1] : null; - if (children) { - executeShifts(v); - var midpoint = (children[0].z + children[children.length - 1].z) / 2; - if (w) { - v.z = w.z + separation(v._, w._); - v.m = v.z - midpoint; - } else { - v.z = midpoint; - } - } else if (w) { - v.z = w.z + separation(v._, w._); - } - v.parent.A = apportion(v, w, v.parent.A || siblings[0]); - } - - // Computes all real x-coordinates by summing up the modifiers recursively. - function secondWalk(v) { - v._.x = v.z + v.parent.m; - v.m += v.parent.m; - } - - // The core of the algorithm. Here, a new subtree is combined with the - // previous subtrees. Threads are used to traverse the inside and outside - // contours of the left and right subtree up to the highest common level. The - // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the - // superscript o means outside and i means inside, the subscript - means left - // subtree and + means right subtree. For summing up the modifiers along the - // contour, we use respective variables si+, si-, so-, and so+. Whenever two - // nodes of the inside contours conflict, we compute the left one of the - // greatest uncommon ancestors using the function ANCESTOR and call MOVE - // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees. - // Finally, we add a new thread (if necessary). - function apportion(v, w, ancestor) { - if (w) { - var vip = v, - vop = v, - vim = w, - vom = vip.parent.children[0], - sip = vip.m, - sop = vop.m, - sim = vim.m, - som = vom.m, - shift; - while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) { - vom = nextLeft(vom); - vop = nextRight(vop); - vop.a = v; - shift = vim.z + sim - vip.z - sip + separation(vim._, vip._); - if (shift > 0) { - moveSubtree(nextAncestor(vim, v, ancestor), v, shift); - sip += shift; - sop += shift; - } - sim += vim.m; - sip += vip.m; - som += vom.m; - sop += vop.m; - } - if (vim && !nextRight(vop)) { - vop.t = vim; - vop.m += sim - sop; - } - if (vip && !nextLeft(vom)) { - vom.t = vip; - vom.m += sip - som; - ancestor = v; - } - } - return ancestor; - } - - function sizeNode(node) { - node.x *= dx; - node.y = node.depth * dy; - } - - tree.separation = function(x) { - return arguments.length ? (separation = x, tree) : separation; - }; - - tree.size = function(x) { - return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]); - }; - - tree.nodeSize = function(x) { - return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null); - }; - - return tree; - } - - function treemapSlice(parent, x0, y0, x1, y1) { - var nodes = parent.children, - node, - i = -1, - n = nodes.length, - k = parent.value && (y1 - y0) / parent.value; - - while (++i < n) { - node = nodes[i], node.x0 = x0, node.x1 = x1; - node.y0 = y0, node.y1 = y0 += node.value * k; - } - } - - var phi = (1 + Math.sqrt(5)) / 2; - - function squarifyRatio(ratio, parent, x0, y0, x1, y1) { - var rows = [], - nodes = parent.children, - row, - nodeValue, - i0 = 0, - i1 = 0, - n = nodes.length, - dx, dy, - value = parent.value, - sumValue, - minValue, - maxValue, - newRatio, - minRatio, - alpha, - beta; - - while (i0 < n) { - dx = x1 - x0, dy = y1 - y0; - - // Find the next non-empty node. - do sumValue = nodes[i1++].value; while (!sumValue && i1 < n); - minValue = maxValue = sumValue; - alpha = Math.max(dy / dx, dx / dy) / (value * ratio); - beta = sumValue * sumValue * alpha; - minRatio = Math.max(maxValue / beta, beta / minValue); - - // Keep adding nodes while the aspect ratio maintains or improves. - for (; i1 < n; ++i1) { - sumValue += nodeValue = nodes[i1].value; - if (nodeValue < minValue) minValue = nodeValue; - if (nodeValue > maxValue) maxValue = nodeValue; - beta = sumValue * sumValue * alpha; - newRatio = Math.max(maxValue / beta, beta / minValue); - if (newRatio > minRatio) { sumValue -= nodeValue; break; } - minRatio = newRatio; - } - - // Position and record the row orientation. - rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)}); - if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1); - else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1); - value -= sumValue, i0 = i1; - } - - return rows; - } - - var squarify = (function custom(ratio) { - - function squarify(parent, x0, y0, x1, y1) { - squarifyRatio(ratio, parent, x0, y0, x1, y1); - } - - squarify.ratio = function(x) { - return custom((x = +x) > 1 ? x : 1); - }; - - return squarify; - })(phi); - - function index() { - var tile = squarify, - round = false, - dx = 1, - dy = 1, - paddingStack = [0], - paddingInner = constantZero, - paddingTop = constantZero, - paddingRight = constantZero, - paddingBottom = constantZero, - paddingLeft = constantZero; - - function treemap(root) { - root.x0 = - root.y0 = 0; - root.x1 = dx; - root.y1 = dy; - root.eachBefore(positionNode); - paddingStack = [0]; - if (round) root.eachBefore(roundNode); - return root; - } - - function positionNode(node) { - var p = paddingStack[node.depth], - x0 = node.x0 + p, - y0 = node.y0 + p, - x1 = node.x1 - p, - y1 = node.y1 - p; - if (x1 < x0) x0 = x1 = (x0 + x1) / 2; - if (y1 < y0) y0 = y1 = (y0 + y1) / 2; - node.x0 = x0; - node.y0 = y0; - node.x1 = x1; - node.y1 = y1; - if (node.children) { - p = paddingStack[node.depth + 1] = paddingInner(node) / 2; - x0 += paddingLeft(node) - p; - y0 += paddingTop(node) - p; - x1 -= paddingRight(node) - p; - y1 -= paddingBottom(node) - p; - if (x1 < x0) x0 = x1 = (x0 + x1) / 2; - if (y1 < y0) y0 = y1 = (y0 + y1) / 2; - tile(node, x0, y0, x1, y1); - } - } - - treemap.round = function(x) { - return arguments.length ? (round = !!x, treemap) : round; - }; - - treemap.size = function(x) { - return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy]; - }; - - treemap.tile = function(x) { - return arguments.length ? (tile = required(x), treemap) : tile; - }; - - treemap.padding = function(x) { - return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner(); - }; - - treemap.paddingInner = function(x) { - return arguments.length ? (paddingInner = typeof x === "function" ? x : constant$2(+x), treemap) : paddingInner; - }; - - treemap.paddingOuter = function(x) { - return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop(); - }; - - treemap.paddingTop = function(x) { - return arguments.length ? (paddingTop = typeof x === "function" ? x : constant$2(+x), treemap) : paddingTop; - }; - - treemap.paddingRight = function(x) { - return arguments.length ? (paddingRight = typeof x === "function" ? x : constant$2(+x), treemap) : paddingRight; - }; - - treemap.paddingBottom = function(x) { - return arguments.length ? (paddingBottom = typeof x === "function" ? x : constant$2(+x), treemap) : paddingBottom; - }; - - treemap.paddingLeft = function(x) { - return arguments.length ? (paddingLeft = typeof x === "function" ? x : constant$2(+x), treemap) : paddingLeft; - }; - - return treemap; - } - - function binary(parent, x0, y0, x1, y1) { - var nodes = parent.children, - i, n = nodes.length, - sum, sums = new Array(n + 1); - - for (sums[0] = sum = i = 0; i < n; ++i) { - sums[i + 1] = sum += nodes[i].value; - } - - partition(0, n, parent.value, x0, y0, x1, y1); - - function partition(i, j, value, x0, y0, x1, y1) { - if (i >= j - 1) { - var node = nodes[i]; - node.x0 = x0, node.y0 = y0; - node.x1 = x1, node.y1 = y1; - return; - } - - var valueOffset = sums[i], - valueTarget = (value / 2) + valueOffset, - k = i + 1, - hi = j - 1; - - while (k < hi) { - var mid = k + hi >>> 1; - if (sums[mid] < valueTarget) k = mid + 1; - else hi = mid; - } - - if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k; - - var valueLeft = sums[k] - valueOffset, - valueRight = value - valueLeft; - - if ((x1 - x0) > (y1 - y0)) { - var xk = value ? (x0 * valueRight + x1 * valueLeft) / value : x1; - partition(i, k, valueLeft, x0, y0, xk, y1); - partition(k, j, valueRight, xk, y0, x1, y1); - } else { - var yk = value ? (y0 * valueRight + y1 * valueLeft) / value : y1; - partition(i, k, valueLeft, x0, y0, x1, yk); - partition(k, j, valueRight, x0, yk, x1, y1); - } - } - } - - function sliceDice(parent, x0, y0, x1, y1) { - (parent.depth & 1 ? treemapSlice : treemapDice)(parent, x0, y0, x1, y1); - } - - var resquarify = (function custom(ratio) { - - function resquarify(parent, x0, y0, x1, y1) { - if ((rows = parent._squarify) && (rows.ratio === ratio)) { - var rows, - row, - nodes, - i, - j = -1, - n, - m = rows.length, - value = parent.value; - - while (++j < m) { - row = rows[j], nodes = row.children; - for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value; - if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += (y1 - y0) * row.value / value : y1); - else treemapSlice(row, x0, y0, value ? x0 += (x1 - x0) * row.value / value : x1, y1); - value -= row.value; - } - } else { - parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1); - rows.ratio = ratio; - } - } - - resquarify.ratio = function(x) { - return custom((x = +x) > 1 ? x : 1); - }; - - return resquarify; - })(phi); - - function area$1(polygon) { - var i = -1, - n = polygon.length, - a, - b = polygon[n - 1], - area = 0; - - while (++i < n) { - a = b; - b = polygon[i]; - area += a[1] * b[0] - a[0] * b[1]; - } - - return area / 2; - } - - function centroid(polygon) { - var i = -1, - n = polygon.length, - x = 0, - y = 0, - a, - b = polygon[n - 1], - c, - k = 0; - - while (++i < n) { - a = b; - b = polygon[i]; - k += c = a[0] * b[1] - b[0] * a[1]; - x += (a[0] + b[0]) * c; - y += (a[1] + b[1]) * c; - } - - return k *= 3, [x / k, y / k]; - } - -// Returns the 2D cross product of AB and AC vectors, i.e., the z-component of -// the 3D cross product in a quadrant I Cartesian coordinate system (+x is -// right, +y is up). Returns a positive value if ABC is counter-clockwise, -// negative if clockwise, and zero if the points are collinear. - function cross$1(a, b, c) { - return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]); - } - - function lexicographicOrder(a, b) { - return a[0] - b[0] || a[1] - b[1]; - } - -// Computes the upper convex hull per the monotone chain algorithm. -// Assumes points.length >= 3, is sorted by x, unique in y. -// Returns an array of indices into points in left-to-right order. - function computeUpperHullIndexes(points) { - const n = points.length, - indexes = [0, 1]; - let size = 2, i; - - for (i = 2; i < n; ++i) { - while (size > 1 && cross$1(points[indexes[size - 2]], points[indexes[size - 1]], points[i]) <= 0) --size; - indexes[size++] = i; - } - - return indexes.slice(0, size); // remove popped points - } - - function hull(points) { - if ((n = points.length) < 3) return null; - - var i, - n, - sortedPoints = new Array(n), - flippedPoints = new Array(n); - - for (i = 0; i < n; ++i) sortedPoints[i] = [+points[i][0], +points[i][1], i]; - sortedPoints.sort(lexicographicOrder); - for (i = 0; i < n; ++i) flippedPoints[i] = [sortedPoints[i][0], -sortedPoints[i][1]]; - - var upperIndexes = computeUpperHullIndexes(sortedPoints), - lowerIndexes = computeUpperHullIndexes(flippedPoints); - - // Construct the hull polygon, removing possible duplicate endpoints. - var skipLeft = lowerIndexes[0] === upperIndexes[0], - skipRight = lowerIndexes[lowerIndexes.length - 1] === upperIndexes[upperIndexes.length - 1], - hull = []; - - // Add upper hull in right-to-l order. - // Then add lower hull in left-to-right order. - for (i = upperIndexes.length - 1; i >= 0; --i) hull.push(points[sortedPoints[upperIndexes[i]][2]]); - for (i = +skipLeft; i < lowerIndexes.length - skipRight; ++i) hull.push(points[sortedPoints[lowerIndexes[i]][2]]); - - return hull; - } - - function contains(polygon, point) { - var n = polygon.length, - p = polygon[n - 1], - x = point[0], y = point[1], - x0 = p[0], y0 = p[1], - x1, y1, - inside = false; - - for (var i = 0; i < n; ++i) { - p = polygon[i], x1 = p[0], y1 = p[1]; - if (((y1 > y) !== (y0 > y)) && (x < (x0 - x1) * (y - y1) / (y0 - y1) + x1)) inside = !inside; - x0 = x1, y0 = y1; - } - - return inside; - } - - function length(polygon) { - var i = -1, - n = polygon.length, - b = polygon[n - 1], - xa, - ya, - xb = b[0], - yb = b[1], - perimeter = 0; - - while (++i < n) { - xa = xb; - ya = yb; - b = polygon[i]; - xb = b[0]; - yb = b[1]; - xa -= xb; - ya -= yb; - perimeter += Math.hypot(xa, ya); - } - - return perimeter; - } - - var defaultSource = Math.random; - - var uniform = (function sourceRandomUniform(source) { - function randomUniform(min, max) { - min = min == null ? 0 : +min; - max = max == null ? 1 : +max; - if (arguments.length === 1) max = min, min = 0; - else max -= min; - return function() { - return source() * max + min; - }; - } - - randomUniform.source = sourceRandomUniform; - - return randomUniform; - })(defaultSource); - - var int = (function sourceRandomInt(source) { - function randomInt(min, max) { - if (arguments.length < 2) max = min, min = 0; - min = Math.floor(min); - max = Math.floor(max) - min; - return function() { - return Math.floor(source() * max + min); - }; - } - - randomInt.source = sourceRandomInt; - - return randomInt; - })(defaultSource); - - var normal = (function sourceRandomNormal(source) { - function randomNormal(mu, sigma) { - var x, r; - mu = mu == null ? 0 : +mu; - sigma = sigma == null ? 1 : +sigma; - return function() { - var y; - - // If available, use the second previously-generated uniform random. - if (x != null) y = x, x = null; - - // Otherwise, generate a new x and y. - else do { - x = source() * 2 - 1; - y = source() * 2 - 1; - r = x * x + y * y; - } while (!r || r > 1); - - return mu + sigma * y * Math.sqrt(-2 * Math.log(r) / r); - }; - } - - randomNormal.source = sourceRandomNormal; - - return randomNormal; - })(defaultSource); - - var logNormal = (function sourceRandomLogNormal(source) { - var N = normal.source(source); - - function randomLogNormal() { - var randomNormal = N.apply(this, arguments); - return function() { - return Math.exp(randomNormal()); - }; - } - - randomLogNormal.source = sourceRandomLogNormal; - - return randomLogNormal; - })(defaultSource); - - var irwinHall = (function sourceRandomIrwinHall(source) { - function randomIrwinHall(n) { - if ((n = +n) <= 0) return () => 0; - return function() { - for (var sum = 0, i = n; i > 1; --i) sum += source(); - return sum + i * source(); - }; - } - - randomIrwinHall.source = sourceRandomIrwinHall; - - return randomIrwinHall; - })(defaultSource); - - var bates = (function sourceRandomBates(source) { - var I = irwinHall.source(source); - - function randomBates(n) { - // use limiting distribution at n === 0 - if ((n = +n) === 0) return source; - var randomIrwinHall = I(n); - return function() { - return randomIrwinHall() / n; - }; - } - - randomBates.source = sourceRandomBates; - - return randomBates; - })(defaultSource); - - var exponential = (function sourceRandomExponential(source) { - function randomExponential(lambda) { - return function() { - return -Math.log1p(-source()) / lambda; - }; - } - - randomExponential.source = sourceRandomExponential; - - return randomExponential; - })(defaultSource); - - var pareto = (function sourceRandomPareto(source) { - function randomPareto(alpha) { - if ((alpha = +alpha) < 0) throw new RangeError("invalid alpha"); - alpha = 1 / -alpha; - return function() { - return Math.pow(1 - source(), alpha); - }; - } - - randomPareto.source = sourceRandomPareto; - - return randomPareto; - })(defaultSource); - - var bernoulli = (function sourceRandomBernoulli(source) { - function randomBernoulli(p) { - if ((p = +p) < 0 || p > 1) throw new RangeError("invalid p"); - return function() { - return Math.floor(source() + p); - }; - } - - randomBernoulli.source = sourceRandomBernoulli; - - return randomBernoulli; - })(defaultSource); - - var geometric = (function sourceRandomGeometric(source) { - function randomGeometric(p) { - if ((p = +p) < 0 || p > 1) throw new RangeError("invalid p"); - if (p === 0) return () => Infinity; - if (p === 1) return () => 1; - p = Math.log1p(-p); - return function() { - return 1 + Math.floor(Math.log1p(-source()) / p); - }; - } - - randomGeometric.source = sourceRandomGeometric; - - return randomGeometric; - })(defaultSource); - - var gamma = (function sourceRandomGamma(source) { - var randomNormal = normal.source(source)(); - - function randomGamma(k, theta) { - if ((k = +k) < 0) throw new RangeError("invalid k"); - // degenerate distribution if k === 0 - if (k === 0) return () => 0; - theta = theta == null ? 1 : +theta; - // exponential distribution if k === 1 - if (k === 1) return () => -Math.log1p(-source()) * theta; - - var d = (k < 1 ? k + 1 : k) - 1 / 3, - c = 1 / (3 * Math.sqrt(d)), - multiplier = k < 1 ? () => Math.pow(source(), 1 / k) : () => 1; - return function() { - do { - do { - var x = randomNormal(), - v = 1 + c * x; - } while (v <= 0); - v *= v * v; - var u = 1 - source(); - } while (u >= 1 - 0.0331 * x * x * x * x && Math.log(u) >= 0.5 * x * x + d * (1 - v + Math.log(v))); - return d * v * multiplier() * theta; - }; - } - - randomGamma.source = sourceRandomGamma; - - return randomGamma; - })(defaultSource); - - var beta = (function sourceRandomBeta(source) { - var G = gamma.source(source); - - function randomBeta(alpha, beta) { - var X = G(alpha), - Y = G(beta); - return function() { - var x = X(); - return x === 0 ? 0 : x / (x + Y()); - }; - } - - randomBeta.source = sourceRandomBeta; - - return randomBeta; - })(defaultSource); - - var binomial = (function sourceRandomBinomial(source) { - var G = geometric.source(source), - B = beta.source(source); - - function randomBinomial(n, p) { - n = +n; - if ((p = +p) >= 1) return () => n; - if (p <= 0) return () => 0; - return function() { - var acc = 0, nn = n, pp = p; - while (nn * pp > 16 && nn * (1 - pp) > 16) { - var i = Math.floor((nn + 1) * pp), - y = B(i, nn - i + 1)(); - if (y <= pp) { - acc += i; - nn -= i; - pp = (pp - y) / (1 - y); - } else { - nn = i - 1; - pp /= y; - } - } - var sign = pp < 0.5, - pFinal = sign ? pp : 1 - pp, - g = G(pFinal); - for (var s = g(), k = 0; s <= nn; ++k) s += g(); - return acc + (sign ? k : nn - k); - }; - } - - randomBinomial.source = sourceRandomBinomial; - - return randomBinomial; - })(defaultSource); - - var weibull = (function sourceRandomWeibull(source) { - function randomWeibull(k, a, b) { - var outerFunc; - if ((k = +k) === 0) { - outerFunc = x => -Math.log(x); - } else { - k = 1 / k; - outerFunc = x => Math.pow(x, k); - } - a = a == null ? 0 : +a; - b = b == null ? 1 : +b; - return function() { - return a + b * outerFunc(-Math.log1p(-source())); - }; - } - - randomWeibull.source = sourceRandomWeibull; - - return randomWeibull; - })(defaultSource); - - var cauchy = (function sourceRandomCauchy(source) { - function randomCauchy(a, b) { - a = a == null ? 0 : +a; - b = b == null ? 1 : +b; - return function() { - return a + b * Math.tan(Math.PI * source()); - }; - } - - randomCauchy.source = sourceRandomCauchy; - - return randomCauchy; - })(defaultSource); - - var logistic = (function sourceRandomLogistic(source) { - function randomLogistic(a, b) { - a = a == null ? 0 : +a; - b = b == null ? 1 : +b; - return function() { - var u = source(); - return a + b * Math.log(u / (1 - u)); - }; - } - - randomLogistic.source = sourceRandomLogistic; - - return randomLogistic; - })(defaultSource); - - var poisson = (function sourceRandomPoisson(source) { - var G = gamma.source(source), - B = binomial.source(source); - - function randomPoisson(lambda) { - return function() { - var acc = 0, l = lambda; - while (l > 16) { - var n = Math.floor(0.875 * l), - t = G(n)(); - if (t > l) return acc + B(n - 1, l / t)(); - acc += n; - l -= t; - } - for (var s = -Math.log1p(-source()), k = 0; s <= l; ++k) s -= Math.log1p(-source()); - return acc + k; - }; - } - - randomPoisson.source = sourceRandomPoisson; - - return randomPoisson; - })(defaultSource); - -// https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use - const mul = 0x19660D; - const inc = 0x3C6EF35F; - const eps = 1 / 0x100000000; - - function lcg(seed = Math.random()) { - let state = (0 <= seed && seed < 1 ? seed / eps : Math.abs(seed)) | 0; - return () => (state = mul * state + inc | 0, eps * (state >>> 0)); - } - - function initRange(domain, range) { - switch (arguments.length) { - case 0: break; - case 1: this.range(domain); break; - default: this.range(range).domain(domain); break; - } - return this; - } - - function initInterpolator(domain, interpolator) { - switch (arguments.length) { - case 0: break; - case 1: { - if (typeof domain === "function") this.interpolator(domain); - else this.range(domain); - break; - } - default: { - this.domain(domain); - if (typeof interpolator === "function") this.interpolator(interpolator); - else this.range(interpolator); - break; - } - } - return this; - } - - const implicit = Symbol("implicit"); - - function ordinal() { - var index = new Map(), - domain = [], - range = [], - unknown = implicit; - - function scale(d) { - var key = d + "", i = index.get(key); - if (!i) { - if (unknown !== implicit) return unknown; - index.set(key, i = domain.push(d)); - } - return range[(i - 1) % range.length]; - } - - scale.domain = function(_) { - if (!arguments.length) return domain.slice(); - domain = [], index = new Map(); - for (const value of _) { - const key = value + ""; - if (index.has(key)) continue; - index.set(key, domain.push(value)); - } - return scale; - }; - - scale.range = function(_) { - return arguments.length ? (range = Array.from(_), scale) : range.slice(); - }; - - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : unknown; - }; - - scale.copy = function() { - return ordinal(domain, range).unknown(unknown); - }; - - initRange.apply(scale, arguments); - - return scale; - } - - function band() { - var scale = ordinal().unknown(undefined), - domain = scale.domain, - ordinalRange = scale.range, - r0 = 0, - r1 = 1, - step, - bandwidth, - round = false, - paddingInner = 0, - paddingOuter = 0, - align = 0.5; - - delete scale.unknown; - - function rescale() { - var n = domain().length, - reverse = r1 < r0, - start = reverse ? r1 : r0, - stop = reverse ? r0 : r1; - step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2); - if (round) step = Math.floor(step); - start += (stop - start - step * (n - paddingInner)) * align; - bandwidth = step * (1 - paddingInner); - if (round) start = Math.round(start), bandwidth = Math.round(bandwidth); - var values = sequence(n).map(function(i) { return start + step * i; }); - return ordinalRange(reverse ? values.reverse() : values); - } - - scale.domain = function(_) { - return arguments.length ? (domain(_), rescale()) : domain(); - }; - - scale.range = function(_) { - return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1]; - }; - - scale.rangeRound = function(_) { - return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale(); - }; - - scale.bandwidth = function() { - return bandwidth; - }; - - scale.step = function() { - return step; - }; - - scale.round = function(_) { - return arguments.length ? (round = !!_, rescale()) : round; - }; - - scale.padding = function(_) { - return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner; - }; - - scale.paddingInner = function(_) { - return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner; - }; - - scale.paddingOuter = function(_) { - return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter; - }; - - scale.align = function(_) { - return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align; - }; - - scale.copy = function() { - return band(domain(), [r0, r1]) - .round(round) - .paddingInner(paddingInner) - .paddingOuter(paddingOuter) - .align(align); - }; - - return initRange.apply(rescale(), arguments); - } - - function pointish(scale) { - var copy = scale.copy; - - scale.padding = scale.paddingOuter; - delete scale.paddingInner; - delete scale.paddingOuter; - - scale.copy = function() { - return pointish(copy()); - }; - - return scale; - } - - function point$4() { - return pointish(band.apply(null, arguments).paddingInner(1)); - } - - function constants(x) { - return function() { - return x; - }; - } - - function number$1(x) { - return +x; - } - - var unit = [0, 1]; - - function identity$3(x) { - return x; - } - - function normalize(a, b) { - return (b -= (a = +a)) - ? function(x) { return (x - a) / b; } - : constants(isNaN(b) ? NaN : 0.5); - } - - function clamper(a, b) { - var t; - if (a > b) t = a, a = b, b = t; - return function(x) { return Math.max(a, Math.min(b, x)); }; - } - -// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1]. -// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b]. - function bimap(domain, range, interpolate) { - var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1]; - if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0); - else d0 = normalize(d0, d1), r0 = interpolate(r0, r1); - return function(x) { return r0(d0(x)); }; - } - - function polymap(domain, range, interpolate) { - var j = Math.min(domain.length, range.length) - 1, - d = new Array(j), - r = new Array(j), - i = -1; - - // Reverse descending domains. - if (domain[j] < domain[0]) { - domain = domain.slice().reverse(); - range = range.slice().reverse(); - } - - while (++i < j) { - d[i] = normalize(domain[i], domain[i + 1]); - r[i] = interpolate(range[i], range[i + 1]); - } - - return function(x) { - var i = bisectRight(domain, x, 1, j) - 1; - return r[i](d[i](x)); - }; - } - - function copy$1(source, target) { - return target - .domain(source.domain()) - .range(source.range()) - .interpolate(source.interpolate()) - .clamp(source.clamp()) - .unknown(source.unknown()); - } - - function transformer$2() { - var domain = unit, - range = unit, - interpolate = interpolate$2, - transform, - untransform, - unknown, - clamp = identity$3, - piecewise, - output, - input; - - function rescale() { - var n = Math.min(domain.length, range.length); - if (clamp !== identity$3) clamp = clamper(domain[0], domain[n - 1]); - piecewise = n > 2 ? polymap : bimap; - output = input = null; - return scale; - } - - function scale(x) { - return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x))); - } - - scale.invert = function(y) { - return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y))); - }; - - scale.domain = function(_) { - return arguments.length ? (domain = Array.from(_, number$1), rescale()) : domain.slice(); - }; - - scale.range = function(_) { - return arguments.length ? (range = Array.from(_), rescale()) : range.slice(); - }; - - scale.rangeRound = function(_) { - return range = Array.from(_), interpolate = interpolateRound, rescale(); - }; - - scale.clamp = function(_) { - return arguments.length ? (clamp = _ ? true : identity$3, rescale()) : clamp !== identity$3; - }; - - scale.interpolate = function(_) { - return arguments.length ? (interpolate = _, rescale()) : interpolate; - }; - - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : unknown; - }; - - return function(t, u) { - transform = t, untransform = u; - return rescale(); - }; - } - - function continuous() { - return transformer$2()(identity$3, identity$3); - } - - function tickFormat(start, stop, count, specifier) { - var step = tickStep(start, stop, count), - precision; - specifier = formatSpecifier(specifier == null ? ",f" : specifier); - switch (specifier.type) { - case "s": { - var value = Math.max(Math.abs(start), Math.abs(stop)); - if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision; - return exports.formatPrefix(specifier, value); - } - case "": - case "e": - case "g": - case "p": - case "r": { - if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e"); - break; - } - case "f": - case "%": { - if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2; - break; - } - } - return exports.format(specifier); - } - - function linearish(scale) { - var domain = scale.domain; - - scale.ticks = function(count) { - var d = domain(); - return ticks(d[0], d[d.length - 1], count == null ? 10 : count); - }; - - scale.tickFormat = function(count, specifier) { - var d = domain(); - return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier); - }; - - scale.nice = function(count) { - if (count == null) count = 10; - - var d = domain(); - var i0 = 0; - var i1 = d.length - 1; - var start = d[i0]; - var stop = d[i1]; - var prestep; - var step; - var maxIter = 10; - - if (stop < start) { - step = start, start = stop, stop = step; - step = i0, i0 = i1, i1 = step; - } - - while (maxIter-- > 0) { - step = tickIncrement(start, stop, count); - if (step === prestep) { - d[i0] = start; - d[i1] = stop; - return domain(d); - } else if (step > 0) { - start = Math.floor(start / step) * step; - stop = Math.ceil(stop / step) * step; - } else if (step < 0) { - start = Math.ceil(start * step) / step; - stop = Math.floor(stop * step) / step; - } else { - break; - } - prestep = step; - } - - return scale; - }; - - return scale; - } - - function linear() { - var scale = continuous(); - - scale.copy = function() { - return copy$1(scale, linear()); - }; - - initRange.apply(scale, arguments); - - return linearish(scale); - } - - function identity$2(domain) { - var unknown; - - function scale(x) { - return x == null || isNaN(x = +x) ? unknown : x; - } - - scale.invert = scale; - - scale.domain = scale.range = function(_) { - return arguments.length ? (domain = Array.from(_, number$1), scale) : domain.slice(); - }; - - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : unknown; - }; - - scale.copy = function() { - return identity$2(domain).unknown(unknown); - }; - - domain = arguments.length ? Array.from(domain, number$1) : [0, 1]; - - return linearish(scale); - } - - function nice(domain, interval) { - domain = domain.slice(); - - var i0 = 0, - i1 = domain.length - 1, - x0 = domain[i0], - x1 = domain[i1], - t; - - if (x1 < x0) { - t = i0, i0 = i1, i1 = t; - t = x0, x0 = x1, x1 = t; - } - - domain[i0] = interval.floor(x0); - domain[i1] = interval.ceil(x1); - return domain; - } - - function transformLog(x) { - return Math.log(x); - } - - function transformExp(x) { - return Math.exp(x); - } - - function transformLogn(x) { - return -Math.log(-x); - } - - function transformExpn(x) { - return -Math.exp(-x); - } - - function pow10(x) { - return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x; - } - - function powp(base) { - return base === 10 ? pow10 - : base === Math.E ? Math.exp - : function(x) { return Math.pow(base, x); }; - } - - function logp(base) { - return base === Math.E ? Math.log - : base === 10 && Math.log10 - || base === 2 && Math.log2 - || (base = Math.log(base), function(x) { return Math.log(x) / base; }); - } - - function reflect(f) { - return function(x) { - return -f(-x); - }; - } - - function loggish(transform) { - var scale = transform(transformLog, transformExp), - domain = scale.domain, - base = 10, - logs, - pows; - - function rescale() { - logs = logp(base), pows = powp(base); - if (domain()[0] < 0) { - logs = reflect(logs), pows = reflect(pows); - transform(transformLogn, transformExpn); - } else { - transform(transformLog, transformExp); - } - return scale; - } - - scale.base = function(_) { - return arguments.length ? (base = +_, rescale()) : base; - }; - - scale.domain = function(_) { - return arguments.length ? (domain(_), rescale()) : domain(); - }; - - scale.ticks = function(count) { - var d = domain(), - u = d[0], - v = d[d.length - 1], - r; - - if (r = v < u) i = u, u = v, v = i; - - var i = logs(u), - j = logs(v), - p, - k, - t, - n = count == null ? 10 : +count, - z = []; - - if (!(base % 1) && j - i < n) { - i = Math.floor(i), j = Math.ceil(j); - if (u > 0) for (; i <= j; ++i) { - for (k = 1, p = pows(i); k < base; ++k) { - t = p * k; - if (t < u) continue; - if (t > v) break; - z.push(t); - } - } else for (; i <= j; ++i) { - for (k = base - 1, p = pows(i); k >= 1; --k) { - t = p * k; - if (t < u) continue; - if (t > v) break; - z.push(t); - } - } - if (z.length * 2 < n) z = ticks(u, v, n); - } else { - z = ticks(i, j, Math.min(j - i, n)).map(pows); - } - - return r ? z.reverse() : z; - }; - - scale.tickFormat = function(count, specifier) { - if (specifier == null) specifier = base === 10 ? ".0e" : ","; - if (typeof specifier !== "function") specifier = exports.format(specifier); - if (count === Infinity) return specifier; - if (count == null) count = 10; - var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate? - return function(d) { - var i = d / pows(Math.round(logs(d))); - if (i * base < base - 0.5) i *= base; - return i <= k ? specifier(d) : ""; - }; - }; - - scale.nice = function() { - return domain(nice(domain(), { - floor: function(x) { return pows(Math.floor(logs(x))); }, - ceil: function(x) { return pows(Math.ceil(logs(x))); } - })); - }; - - return scale; - } - - function log() { - var scale = loggish(transformer$2()).domain([1, 10]); - - scale.copy = function() { - return copy$1(scale, log()).base(scale.base()); - }; - - initRange.apply(scale, arguments); - - return scale; - } - - function transformSymlog(c) { - return function(x) { - return Math.sign(x) * Math.log1p(Math.abs(x / c)); - }; - } - - function transformSymexp(c) { - return function(x) { - return Math.sign(x) * Math.expm1(Math.abs(x)) * c; - }; - } - - function symlogish(transform) { - var c = 1, scale = transform(transformSymlog(c), transformSymexp(c)); - - scale.constant = function(_) { - return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c; - }; - - return linearish(scale); - } - - function symlog() { - var scale = symlogish(transformer$2()); - - scale.copy = function() { - return copy$1(scale, symlog()).constant(scale.constant()); - }; - - return initRange.apply(scale, arguments); - } - - function transformPow(exponent) { - return function(x) { - return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent); - }; - } - - function transformSqrt(x) { - return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x); - } - - function transformSquare(x) { - return x < 0 ? -x * x : x * x; - } - - function powish(transform) { - var scale = transform(identity$3, identity$3), - exponent = 1; - - function rescale() { - return exponent === 1 ? transform(identity$3, identity$3) - : exponent === 0.5 ? transform(transformSqrt, transformSquare) - : transform(transformPow(exponent), transformPow(1 / exponent)); - } - - scale.exponent = function(_) { - return arguments.length ? (exponent = +_, rescale()) : exponent; - }; - - return linearish(scale); - } - - function pow() { - var scale = powish(transformer$2()); - - scale.copy = function() { - return copy$1(scale, pow()).exponent(scale.exponent()); - }; - - initRange.apply(scale, arguments); - - return scale; - } - - function sqrt$1() { - return pow.apply(null, arguments).exponent(0.5); - } - - function square$1(x) { - return Math.sign(x) * x * x; - } - - function unsquare(x) { - return Math.sign(x) * Math.sqrt(Math.abs(x)); - } - - function radial() { - var squared = continuous(), - range = [0, 1], - round = false, - unknown; - - function scale(x) { - var y = unsquare(squared(x)); - return isNaN(y) ? unknown : round ? Math.round(y) : y; - } - - scale.invert = function(y) { - return squared.invert(square$1(y)); - }; - - scale.domain = function(_) { - return arguments.length ? (squared.domain(_), scale) : squared.domain(); - }; - - scale.range = function(_) { - return arguments.length ? (squared.range((range = Array.from(_, number$1)).map(square$1)), scale) : range.slice(); - }; - - scale.rangeRound = function(_) { - return scale.range(_).round(true); - }; - - scale.round = function(_) { - return arguments.length ? (round = !!_, scale) : round; - }; - - scale.clamp = function(_) { - return arguments.length ? (squared.clamp(_), scale) : squared.clamp(); - }; - - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : unknown; - }; - - scale.copy = function() { - return radial(squared.domain(), range) - .round(round) - .clamp(squared.clamp()) - .unknown(unknown); - }; - - initRange.apply(scale, arguments); - - return linearish(scale); - } - - function quantile() { - var domain = [], - range = [], - thresholds = [], - unknown; - - function rescale() { - var i = 0, n = Math.max(1, range.length); - thresholds = new Array(n - 1); - while (++i < n) thresholds[i - 1] = quantileSorted(domain, i / n); - return scale; - } - - function scale(x) { - return x == null || isNaN(x = +x) ? unknown : range[bisectRight(thresholds, x)]; - } - - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return i < 0 ? [NaN, NaN] : [ - i > 0 ? thresholds[i - 1] : domain[0], - i < thresholds.length ? thresholds[i] : domain[domain.length - 1] - ]; - }; - - scale.domain = function(_) { - if (!arguments.length) return domain.slice(); - domain = []; - for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d); - domain.sort(ascending$3); - return rescale(); - }; - - scale.range = function(_) { - return arguments.length ? (range = Array.from(_), rescale()) : range.slice(); - }; - - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : unknown; - }; - - scale.quantiles = function() { - return thresholds.slice(); - }; - - scale.copy = function() { - return quantile() - .domain(domain) - .range(range) - .unknown(unknown); - }; - - return initRange.apply(scale, arguments); - } - - function quantize() { - var x0 = 0, - x1 = 1, - n = 1, - domain = [0.5], - range = [0, 1], - unknown; - - function scale(x) { - return x != null && x <= x ? range[bisectRight(domain, x, 0, n)] : unknown; - } - - function rescale() { - var i = -1; - domain = new Array(n); - while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1); - return scale; - } - - scale.domain = function(_) { - return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1]; - }; - - scale.range = function(_) { - return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice(); - }; - - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return i < 0 ? [NaN, NaN] - : i < 1 ? [x0, domain[0]] - : i >= n ? [domain[n - 1], x1] - : [domain[i - 1], domain[i]]; - }; - - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : scale; - }; - - scale.thresholds = function() { - return domain.slice(); - }; - - scale.copy = function() { - return quantize() - .domain([x0, x1]) - .range(range) - .unknown(unknown); - }; - - return initRange.apply(linearish(scale), arguments); - } - - function threshold() { - var domain = [0.5], - range = [0, 1], - unknown, - n = 1; - - function scale(x) { - return x != null && x <= x ? range[bisectRight(domain, x, 0, n)] : unknown; - } - - scale.domain = function(_) { - return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice(); - }; - - scale.range = function(_) { - return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice(); - }; - - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return [domain[i - 1], domain[i]]; - }; - - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : unknown; - }; - - scale.copy = function() { - return threshold() - .domain(domain) - .range(range) - .unknown(unknown); - }; - - return initRange.apply(scale, arguments); - } - - var t0 = new Date, - t1 = new Date; - - function newInterval(floori, offseti, count, field) { - - function interval(date) { - return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date; - } - - interval.floor = function(date) { - return floori(date = new Date(+date)), date; - }; - - interval.ceil = function(date) { - return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date; - }; - - interval.round = function(date) { - var d0 = interval(date), - d1 = interval.ceil(date); - return date - d0 < d1 - date ? d0 : d1; - }; - - interval.offset = function(date, step) { - return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date; - }; - - interval.range = function(start, stop, step) { - var range = [], previous; - start = interval.ceil(start); - step = step == null ? 1 : Math.floor(step); - if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date - do range.push(previous = new Date(+start)), offseti(start, step), floori(start); - while (previous < start && start < stop); - return range; - }; - - interval.filter = function(test) { - return newInterval(function(date) { - if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1); - }, function(date, step) { - if (date >= date) { - if (step < 0) while (++step <= 0) { - while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty - } else while (--step >= 0) { - while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty - } - } - }); - }; - - if (count) { - interval.count = function(start, end) { - t0.setTime(+start), t1.setTime(+end); - floori(t0), floori(t1); - return Math.floor(count(t0, t1)); - }; - - interval.every = function(step) { - step = Math.floor(step); - return !isFinite(step) || !(step > 0) ? null - : !(step > 1) ? interval - : interval.filter(field - ? function(d) { return field(d) % step === 0; } - : function(d) { return interval.count(0, d) % step === 0; }); - }; - } - - return interval; - } - - var millisecond = newInterval(function() { - // noop - }, function(date, step) { - date.setTime(+date + step); - }, function(start, end) { - return end - start; - }); - -// An optimized implementation for this simple case. - millisecond.every = function(k) { - k = Math.floor(k); - if (!isFinite(k) || !(k > 0)) return null; - if (!(k > 1)) return millisecond; - return newInterval(function(date) { - date.setTime(Math.floor(date / k) * k); - }, function(date, step) { - date.setTime(+date + step * k); - }, function(start, end) { - return (end - start) / k; - }); - }; - var milliseconds = millisecond.range; - - const durationSecond = 1000; - const durationMinute = durationSecond * 60; - const durationHour = durationMinute * 60; - const durationDay = durationHour * 24; - const durationWeek = durationDay * 7; - const durationMonth = durationDay * 30; - const durationYear = durationDay * 365; - - var second = newInterval(function(date) { - date.setTime(date - date.getMilliseconds()); - }, function(date, step) { - date.setTime(+date + step * durationSecond); - }, function(start, end) { - return (end - start) / durationSecond; - }, function(date) { - return date.getUTCSeconds(); - }); - var seconds = second.range; - - var minute = newInterval(function(date) { - date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond); - }, function(date, step) { - date.setTime(+date + step * durationMinute); - }, function(start, end) { - return (end - start) / durationMinute; - }, function(date) { - return date.getMinutes(); - }); - var minutes = minute.range; - - var hour = newInterval(function(date) { - date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute); - }, function(date, step) { - date.setTime(+date + step * durationHour); - }, function(start, end) { - return (end - start) / durationHour; - }, function(date) { - return date.getHours(); - }); - var hours = hour.range; - - var day = newInterval( - date => date.setHours(0, 0, 0, 0), - (date, step) => date.setDate(date.getDate() + step), - (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay, - date => date.getDate() - 1 - ); - var days = day.range; - - function weekday(i) { - return newInterval(function(date) { - date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7); - date.setHours(0, 0, 0, 0); - }, function(date, step) { - date.setDate(date.getDate() + step * 7); - }, function(start, end) { - return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek; - }); - } - - var sunday = weekday(0); - var monday = weekday(1); - var tuesday = weekday(2); - var wednesday = weekday(3); - var thursday = weekday(4); - var friday = weekday(5); - var saturday = weekday(6); - - var sundays = sunday.range; - var mondays = monday.range; - var tuesdays = tuesday.range; - var wednesdays = wednesday.range; - var thursdays = thursday.range; - var fridays = friday.range; - var saturdays = saturday.range; - - var month = newInterval(function(date) { - date.setDate(1); - date.setHours(0, 0, 0, 0); - }, function(date, step) { - date.setMonth(date.getMonth() + step); - }, function(start, end) { - return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12; - }, function(date) { - return date.getMonth(); - }); - var months = month.range; - - var year = newInterval(function(date) { - date.setMonth(0, 1); - date.setHours(0, 0, 0, 0); - }, function(date, step) { - date.setFullYear(date.getFullYear() + step); - }, function(start, end) { - return end.getFullYear() - start.getFullYear(); - }, function(date) { - return date.getFullYear(); - }); - -// An optimized implementation for this simple case. - year.every = function(k) { - return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : newInterval(function(date) { - date.setFullYear(Math.floor(date.getFullYear() / k) * k); - date.setMonth(0, 1); - date.setHours(0, 0, 0, 0); - }, function(date, step) { - date.setFullYear(date.getFullYear() + step * k); - }); - }; - var years = year.range; - - var utcMinute = newInterval(function(date) { - date.setUTCSeconds(0, 0); - }, function(date, step) { - date.setTime(+date + step * durationMinute); - }, function(start, end) { - return (end - start) / durationMinute; - }, function(date) { - return date.getUTCMinutes(); - }); - var utcMinutes = utcMinute.range; - - var utcHour = newInterval(function(date) { - date.setUTCMinutes(0, 0, 0); - }, function(date, step) { - date.setTime(+date + step * durationHour); - }, function(start, end) { - return (end - start) / durationHour; - }, function(date) { - return date.getUTCHours(); - }); - var utcHours = utcHour.range; - - var utcDay = newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - }, function(date, step) { - date.setUTCDate(date.getUTCDate() + step); - }, function(start, end) { - return (end - start) / durationDay; - }, function(date) { - return date.getUTCDate() - 1; - }); - var utcDays = utcDay.range; - - function utcWeekday(i) { - return newInterval(function(date) { - date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7); - date.setUTCHours(0, 0, 0, 0); - }, function(date, step) { - date.setUTCDate(date.getUTCDate() + step * 7); - }, function(start, end) { - return (end - start) / durationWeek; - }); - } - - var utcSunday = utcWeekday(0); - var utcMonday = utcWeekday(1); - var utcTuesday = utcWeekday(2); - var utcWednesday = utcWeekday(3); - var utcThursday = utcWeekday(4); - var utcFriday = utcWeekday(5); - var utcSaturday = utcWeekday(6); - - var utcSundays = utcSunday.range; - var utcMondays = utcMonday.range; - var utcTuesdays = utcTuesday.range; - var utcWednesdays = utcWednesday.range; - var utcThursdays = utcThursday.range; - var utcFridays = utcFriday.range; - var utcSaturdays = utcSaturday.range; - - var utcMonth = newInterval(function(date) { - date.setUTCDate(1); - date.setUTCHours(0, 0, 0, 0); - }, function(date, step) { - date.setUTCMonth(date.getUTCMonth() + step); - }, function(start, end) { - return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12; - }, function(date) { - return date.getUTCMonth(); - }); - var utcMonths = utcMonth.range; - - var utcYear = newInterval(function(date) { - date.setUTCMonth(0, 1); - date.setUTCHours(0, 0, 0, 0); - }, function(date, step) { - date.setUTCFullYear(date.getUTCFullYear() + step); - }, function(start, end) { - return end.getUTCFullYear() - start.getUTCFullYear(); - }, function(date) { - return date.getUTCFullYear(); - }); - -// An optimized implementation for this simple case. - utcYear.every = function(k) { - return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : newInterval(function(date) { - date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k); - date.setUTCMonth(0, 1); - date.setUTCHours(0, 0, 0, 0); - }, function(date, step) { - date.setUTCFullYear(date.getUTCFullYear() + step * k); - }); - }; - var utcYears = utcYear.range; - - function ticker(year, month, week, day, hour, minute) { - - const tickIntervals = [ - [second, 1, durationSecond], - [second, 5, 5 * durationSecond], - [second, 15, 15 * durationSecond], - [second, 30, 30 * durationSecond], - [minute, 1, durationMinute], - [minute, 5, 5 * durationMinute], - [minute, 15, 15 * durationMinute], - [minute, 30, 30 * durationMinute], - [ hour, 1, durationHour ], - [ hour, 3, 3 * durationHour ], - [ hour, 6, 6 * durationHour ], - [ hour, 12, 12 * durationHour ], - [ day, 1, durationDay ], - [ day, 2, 2 * durationDay ], - [ week, 1, durationWeek ], - [ month, 1, durationMonth ], - [ month, 3, 3 * durationMonth ], - [ year, 1, durationYear ] - ]; - - function ticks(start, stop, count) { - const reverse = stop < start; - if (reverse) [start, stop] = [stop, start]; - const interval = count && typeof count.range === "function" ? count : tickInterval(start, stop, count); - const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop - return reverse ? ticks.reverse() : ticks; - } - - function tickInterval(start, stop, count) { - const target = Math.abs(stop - start) / count; - const i = bisector(([,, step]) => step).right(tickIntervals, target); - if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count)); - if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1)); - const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i]; - return t.every(step); - } - - return [ticks, tickInterval]; - } - - const [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute); - const [timeTicks, timeTickInterval] = ticker(year, month, sunday, day, hour, minute); - - function localDate(d) { - if (0 <= d.y && d.y < 100) { - var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L); - date.setFullYear(d.y); - return date; - } - return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L); - } - - function utcDate(d) { - if (0 <= d.y && d.y < 100) { - var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L)); - date.setUTCFullYear(d.y); - return date; - } - return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L)); - } - - function newDate(y, m, d) { - return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0}; - } - - function formatLocale(locale) { - var locale_dateTime = locale.dateTime, - locale_date = locale.date, - locale_time = locale.time, - locale_periods = locale.periods, - locale_weekdays = locale.days, - locale_shortWeekdays = locale.shortDays, - locale_months = locale.months, - locale_shortMonths = locale.shortMonths; - - var periodRe = formatRe(locale_periods), - periodLookup = formatLookup(locale_periods), - weekdayRe = formatRe(locale_weekdays), - weekdayLookup = formatLookup(locale_weekdays), - shortWeekdayRe = formatRe(locale_shortWeekdays), - shortWeekdayLookup = formatLookup(locale_shortWeekdays), - monthRe = formatRe(locale_months), - monthLookup = formatLookup(locale_months), - shortMonthRe = formatRe(locale_shortMonths), - shortMonthLookup = formatLookup(locale_shortMonths); - - var formats = { - "a": formatShortWeekday, - "A": formatWeekday, - "b": formatShortMonth, - "B": formatMonth, - "c": null, - "d": formatDayOfMonth, - "e": formatDayOfMonth, - "f": formatMicroseconds, - "g": formatYearISO, - "G": formatFullYearISO, - "H": formatHour24, - "I": formatHour12, - "j": formatDayOfYear, - "L": formatMilliseconds, - "m": formatMonthNumber, - "M": formatMinutes, - "p": formatPeriod, - "q": formatQuarter, - "Q": formatUnixTimestamp, - "s": formatUnixTimestampSeconds, - "S": formatSeconds, - "u": formatWeekdayNumberMonday, - "U": formatWeekNumberSunday, - "V": formatWeekNumberISO, - "w": formatWeekdayNumberSunday, - "W": formatWeekNumberMonday, - "x": null, - "X": null, - "y": formatYear, - "Y": formatFullYear, - "Z": formatZone, - "%": formatLiteralPercent - }; - - var utcFormats = { - "a": formatUTCShortWeekday, - "A": formatUTCWeekday, - "b": formatUTCShortMonth, - "B": formatUTCMonth, - "c": null, - "d": formatUTCDayOfMonth, - "e": formatUTCDayOfMonth, - "f": formatUTCMicroseconds, - "g": formatUTCYearISO, - "G": formatUTCFullYearISO, - "H": formatUTCHour24, - "I": formatUTCHour12, - "j": formatUTCDayOfYear, - "L": formatUTCMilliseconds, - "m": formatUTCMonthNumber, - "M": formatUTCMinutes, - "p": formatUTCPeriod, - "q": formatUTCQuarter, - "Q": formatUnixTimestamp, - "s": formatUnixTimestampSeconds, - "S": formatUTCSeconds, - "u": formatUTCWeekdayNumberMonday, - "U": formatUTCWeekNumberSunday, - "V": formatUTCWeekNumberISO, - "w": formatUTCWeekdayNumberSunday, - "W": formatUTCWeekNumberMonday, - "x": null, - "X": null, - "y": formatUTCYear, - "Y": formatUTCFullYear, - "Z": formatUTCZone, - "%": formatLiteralPercent - }; - - var parses = { - "a": parseShortWeekday, - "A": parseWeekday, - "b": parseShortMonth, - "B": parseMonth, - "c": parseLocaleDateTime, - "d": parseDayOfMonth, - "e": parseDayOfMonth, - "f": parseMicroseconds, - "g": parseYear, - "G": parseFullYear, - "H": parseHour24, - "I": parseHour24, - "j": parseDayOfYear, - "L": parseMilliseconds, - "m": parseMonthNumber, - "M": parseMinutes, - "p": parsePeriod, - "q": parseQuarter, - "Q": parseUnixTimestamp, - "s": parseUnixTimestampSeconds, - "S": parseSeconds, - "u": parseWeekdayNumberMonday, - "U": parseWeekNumberSunday, - "V": parseWeekNumberISO, - "w": parseWeekdayNumberSunday, - "W": parseWeekNumberMonday, - "x": parseLocaleDate, - "X": parseLocaleTime, - "y": parseYear, - "Y": parseFullYear, - "Z": parseZone, - "%": parseLiteralPercent - }; - - // These recursive directive definitions must be deferred. - formats.x = newFormat(locale_date, formats); - formats.X = newFormat(locale_time, formats); - formats.c = newFormat(locale_dateTime, formats); - utcFormats.x = newFormat(locale_date, utcFormats); - utcFormats.X = newFormat(locale_time, utcFormats); - utcFormats.c = newFormat(locale_dateTime, utcFormats); - - function newFormat(specifier, formats) { - return function(date) { - var string = [], - i = -1, - j = 0, - n = specifier.length, - c, - pad, - format; - - if (!(date instanceof Date)) date = new Date(+date); - - while (++i < n) { - if (specifier.charCodeAt(i) === 37) { - string.push(specifier.slice(j, i)); - if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i); - else pad = c === "e" ? " " : "0"; - if (format = formats[c]) c = format(date, pad); - string.push(c); - j = i + 1; - } - } - - string.push(specifier.slice(j, i)); - return string.join(""); - }; - } - - function newParse(specifier, Z) { - return function(string) { - var d = newDate(1900, undefined, 1), - i = parseSpecifier(d, specifier, string += "", 0), - week, day$1; - if (i != string.length) return null; - - // If a UNIX timestamp is specified, return it. - if ("Q" in d) return new Date(d.Q); - if ("s" in d) return new Date(d.s * 1000 + ("L" in d ? d.L : 0)); - - // If this is utcParse, never use the local timezone. - if (Z && !("Z" in d)) d.Z = 0; - - // The am-pm flag is 0 for AM, and 1 for PM. - if ("p" in d) d.H = d.H % 12 + d.p * 12; - - // If the month was not specified, inherit from the quarter. - if (d.m === undefined) d.m = "q" in d ? d.q : 0; - - // Convert day-of-week and week-of-year to day-of-year. - if ("V" in d) { - if (d.V < 1 || d.V > 53) return null; - if (!("w" in d)) d.w = 1; - if ("Z" in d) { - week = utcDate(newDate(d.y, 0, 1)), day$1 = week.getUTCDay(); - week = day$1 > 4 || day$1 === 0 ? utcMonday.ceil(week) : utcMonday(week); - week = utcDay.offset(week, (d.V - 1) * 7); - d.y = week.getUTCFullYear(); - d.m = week.getUTCMonth(); - d.d = week.getUTCDate() + (d.w + 6) % 7; - } else { - week = localDate(newDate(d.y, 0, 1)), day$1 = week.getDay(); - week = day$1 > 4 || day$1 === 0 ? monday.ceil(week) : monday(week); - week = day.offset(week, (d.V - 1) * 7); - d.y = week.getFullYear(); - d.m = week.getMonth(); - d.d = week.getDate() + (d.w + 6) % 7; - } - } else if ("W" in d || "U" in d) { - if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0; - day$1 = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay(); - d.m = 0; - d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day$1 + 5) % 7 : d.w + d.U * 7 - (day$1 + 6) % 7; - } - - // If a time zone is specified, all fields are interpreted as UTC and then - // offset according to the specified time zone. - if ("Z" in d) { - d.H += d.Z / 100 | 0; - d.M += d.Z % 100; - return utcDate(d); - } - - // Otherwise, all fields are in local time. - return localDate(d); - }; - } - - function parseSpecifier(d, specifier, string, j) { - var i = 0, - n = specifier.length, - m = string.length, - c, - parse; - - while (i < n) { - if (j >= m) return -1; - c = specifier.charCodeAt(i++); - if (c === 37) { - c = specifier.charAt(i++); - parse = parses[c in pads ? specifier.charAt(i++) : c]; - if (!parse || ((j = parse(d, string, j)) < 0)) return -1; - } else if (c != string.charCodeAt(j++)) { - return -1; - } - } - - return j; - } - - function parsePeriod(d, string, i) { - var n = periodRe.exec(string.slice(i)); - return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - - function parseShortWeekday(d, string, i) { - var n = shortWeekdayRe.exec(string.slice(i)); - return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - - function parseWeekday(d, string, i) { - var n = weekdayRe.exec(string.slice(i)); - return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - - function parseShortMonth(d, string, i) { - var n = shortMonthRe.exec(string.slice(i)); - return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - - function parseMonth(d, string, i) { - var n = monthRe.exec(string.slice(i)); - return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - - function parseLocaleDateTime(d, string, i) { - return parseSpecifier(d, locale_dateTime, string, i); - } - - function parseLocaleDate(d, string, i) { - return parseSpecifier(d, locale_date, string, i); - } - - function parseLocaleTime(d, string, i) { - return parseSpecifier(d, locale_time, string, i); - } - - function formatShortWeekday(d) { - return locale_shortWeekdays[d.getDay()]; - } - - function formatWeekday(d) { - return locale_weekdays[d.getDay()]; - } - - function formatShortMonth(d) { - return locale_shortMonths[d.getMonth()]; - } - - function formatMonth(d) { - return locale_months[d.getMonth()]; - } - - function formatPeriod(d) { - return locale_periods[+(d.getHours() >= 12)]; - } - - function formatQuarter(d) { - return 1 + ~~(d.getMonth() / 3); - } - - function formatUTCShortWeekday(d) { - return locale_shortWeekdays[d.getUTCDay()]; - } - - function formatUTCWeekday(d) { - return locale_weekdays[d.getUTCDay()]; - } - - function formatUTCShortMonth(d) { - return locale_shortMonths[d.getUTCMonth()]; - } - - function formatUTCMonth(d) { - return locale_months[d.getUTCMonth()]; - } - - function formatUTCPeriod(d) { - return locale_periods[+(d.getUTCHours() >= 12)]; - } - - function formatUTCQuarter(d) { - return 1 + ~~(d.getUTCMonth() / 3); - } - - return { - format: function(specifier) { - var f = newFormat(specifier += "", formats); - f.toString = function() { return specifier; }; - return f; - }, - parse: function(specifier) { - var p = newParse(specifier += "", false); - p.toString = function() { return specifier; }; - return p; - }, - utcFormat: function(specifier) { - var f = newFormat(specifier += "", utcFormats); - f.toString = function() { return specifier; }; - return f; - }, - utcParse: function(specifier) { - var p = newParse(specifier += "", true); - p.toString = function() { return specifier; }; - return p; - } - }; - } - - var pads = {"-": "", "_": " ", "0": "0"}, - numberRe = /^\s*\d+/, // note: ignores next directive - percentRe = /^%/, - requoteRe = /[\\^$*+?|[\]().{}]/g; - - function pad(value, fill, width) { - var sign = value < 0 ? "-" : "", - string = (sign ? -value : value) + "", - length = string.length; - return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string); - } - - function requote(s) { - return s.replace(requoteRe, "\\$&"); - } - - function formatRe(names) { - return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i"); - } - - function formatLookup(names) { - return new Map(names.map((name, i) => [name.toLowerCase(), i])); - } - - function parseWeekdayNumberSunday(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 1)); - return n ? (d.w = +n[0], i + n[0].length) : -1; - } - - function parseWeekdayNumberMonday(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 1)); - return n ? (d.u = +n[0], i + n[0].length) : -1; - } - - function parseWeekNumberSunday(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.U = +n[0], i + n[0].length) : -1; - } - - function parseWeekNumberISO(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.V = +n[0], i + n[0].length) : -1; - } - - function parseWeekNumberMonday(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.W = +n[0], i + n[0].length) : -1; - } - - function parseFullYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 4)); - return n ? (d.y = +n[0], i + n[0].length) : -1; - } - - function parseYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1; - } - - function parseZone(d, string, i) { - var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i, i + 6)); - return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1; - } - - function parseQuarter(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 1)); - return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1; - } - - function parseMonthNumber(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.m = n[0] - 1, i + n[0].length) : -1; - } - - function parseDayOfMonth(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.d = +n[0], i + n[0].length) : -1; - } - - function parseDayOfYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 3)); - return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1; - } - - function parseHour24(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.H = +n[0], i + n[0].length) : -1; - } - - function parseMinutes(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.M = +n[0], i + n[0].length) : -1; - } - - function parseSeconds(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.S = +n[0], i + n[0].length) : -1; - } - - function parseMilliseconds(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 3)); - return n ? (d.L = +n[0], i + n[0].length) : -1; - } - - function parseMicroseconds(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 6)); - return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1; - } - - function parseLiteralPercent(d, string, i) { - var n = percentRe.exec(string.slice(i, i + 1)); - return n ? i + n[0].length : -1; - } - - function parseUnixTimestamp(d, string, i) { - var n = numberRe.exec(string.slice(i)); - return n ? (d.Q = +n[0], i + n[0].length) : -1; - } - - function parseUnixTimestampSeconds(d, string, i) { - var n = numberRe.exec(string.slice(i)); - return n ? (d.s = +n[0], i + n[0].length) : -1; - } - - function formatDayOfMonth(d, p) { - return pad(d.getDate(), p, 2); - } - - function formatHour24(d, p) { - return pad(d.getHours(), p, 2); - } - - function formatHour12(d, p) { - return pad(d.getHours() % 12 || 12, p, 2); - } - - function formatDayOfYear(d, p) { - return pad(1 + day.count(year(d), d), p, 3); - } - - function formatMilliseconds(d, p) { - return pad(d.getMilliseconds(), p, 3); - } - - function formatMicroseconds(d, p) { - return formatMilliseconds(d, p) + "000"; - } - - function formatMonthNumber(d, p) { - return pad(d.getMonth() + 1, p, 2); - } - - function formatMinutes(d, p) { - return pad(d.getMinutes(), p, 2); - } - - function formatSeconds(d, p) { - return pad(d.getSeconds(), p, 2); - } - - function formatWeekdayNumberMonday(d) { - var day = d.getDay(); - return day === 0 ? 7 : day; - } - - function formatWeekNumberSunday(d, p) { - return pad(sunday.count(year(d) - 1, d), p, 2); - } - - function dISO(d) { - var day = d.getDay(); - return (day >= 4 || day === 0) ? thursday(d) : thursday.ceil(d); - } - - function formatWeekNumberISO(d, p) { - d = dISO(d); - return pad(thursday.count(year(d), d) + (year(d).getDay() === 4), p, 2); - } - - function formatWeekdayNumberSunday(d) { - return d.getDay(); - } - - function formatWeekNumberMonday(d, p) { - return pad(monday.count(year(d) - 1, d), p, 2); - } - - function formatYear(d, p) { - return pad(d.getFullYear() % 100, p, 2); - } - - function formatYearISO(d, p) { - d = dISO(d); - return pad(d.getFullYear() % 100, p, 2); - } - - function formatFullYear(d, p) { - return pad(d.getFullYear() % 10000, p, 4); - } - - function formatFullYearISO(d, p) { - var day = d.getDay(); - d = (day >= 4 || day === 0) ? thursday(d) : thursday.ceil(d); - return pad(d.getFullYear() % 10000, p, 4); - } - - function formatZone(d) { - var z = d.getTimezoneOffset(); - return (z > 0 ? "-" : (z *= -1, "+")) - + pad(z / 60 | 0, "0", 2) - + pad(z % 60, "0", 2); - } - - function formatUTCDayOfMonth(d, p) { - return pad(d.getUTCDate(), p, 2); - } - - function formatUTCHour24(d, p) { - return pad(d.getUTCHours(), p, 2); - } - - function formatUTCHour12(d, p) { - return pad(d.getUTCHours() % 12 || 12, p, 2); - } - - function formatUTCDayOfYear(d, p) { - return pad(1 + utcDay.count(utcYear(d), d), p, 3); - } - - function formatUTCMilliseconds(d, p) { - return pad(d.getUTCMilliseconds(), p, 3); - } - - function formatUTCMicroseconds(d, p) { - return formatUTCMilliseconds(d, p) + "000"; - } - - function formatUTCMonthNumber(d, p) { - return pad(d.getUTCMonth() + 1, p, 2); - } - - function formatUTCMinutes(d, p) { - return pad(d.getUTCMinutes(), p, 2); - } - - function formatUTCSeconds(d, p) { - return pad(d.getUTCSeconds(), p, 2); - } - - function formatUTCWeekdayNumberMonday(d) { - var dow = d.getUTCDay(); - return dow === 0 ? 7 : dow; - } - - function formatUTCWeekNumberSunday(d, p) { - return pad(utcSunday.count(utcYear(d) - 1, d), p, 2); - } - - function UTCdISO(d) { - var day = d.getUTCDay(); - return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d); - } - - function formatUTCWeekNumberISO(d, p) { - d = UTCdISO(d); - return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2); - } - - function formatUTCWeekdayNumberSunday(d) { - return d.getUTCDay(); - } - - function formatUTCWeekNumberMonday(d, p) { - return pad(utcMonday.count(utcYear(d) - 1, d), p, 2); - } - - function formatUTCYear(d, p) { - return pad(d.getUTCFullYear() % 100, p, 2); - } - - function formatUTCYearISO(d, p) { - d = UTCdISO(d); - return pad(d.getUTCFullYear() % 100, p, 2); - } - - function formatUTCFullYear(d, p) { - return pad(d.getUTCFullYear() % 10000, p, 4); - } - - function formatUTCFullYearISO(d, p) { - var day = d.getUTCDay(); - d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d); - return pad(d.getUTCFullYear() % 10000, p, 4); - } - - function formatUTCZone() { - return "+0000"; - } - - function formatLiteralPercent() { - return "%"; - } - - function formatUnixTimestamp(d) { - return +d; - } - - function formatUnixTimestampSeconds(d) { - return Math.floor(+d / 1000); - } - - var locale; - exports.timeFormat = void 0; - exports.timeParse = void 0; - exports.utcFormat = void 0; - exports.utcParse = void 0; - - defaultLocale({ - dateTime: "%x, %X", - date: "%-m/%-d/%Y", - time: "%-I:%M:%S %p", - periods: ["AM", "PM"], - days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], - shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] - }); - - function defaultLocale(definition) { - locale = formatLocale(definition); - exports.timeFormat = locale.format; - exports.timeParse = locale.parse; - exports.utcFormat = locale.utcFormat; - exports.utcParse = locale.utcParse; - return locale; - } - - var isoSpecifier = "%Y-%m-%dT%H:%M:%S.%LZ"; - - function formatIsoNative(date) { - return date.toISOString(); - } - - var formatIso = Date.prototype.toISOString - ? formatIsoNative - : exports.utcFormat(isoSpecifier); - - function parseIsoNative(string) { - var date = new Date(string); - return isNaN(date) ? null : date; - } - - var parseIso = +new Date("2000-01-01T00:00:00.000Z") - ? parseIsoNative - : exports.utcParse(isoSpecifier); - - function date(t) { - return new Date(t); - } - - function number(t) { - return t instanceof Date ? +t : +new Date(+t); - } - - function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) { - var scale = continuous(), - invert = scale.invert, - domain = scale.domain; - - var formatMillisecond = format(".%L"), - formatSecond = format(":%S"), - formatMinute = format("%I:%M"), - formatHour = format("%I %p"), - formatDay = format("%a %d"), - formatWeek = format("%b %d"), - formatMonth = format("%B"), - formatYear = format("%Y"); - - function tickFormat(date) { - return (second(date) < date ? formatMillisecond - : minute(date) < date ? formatSecond - : hour(date) < date ? formatMinute - : day(date) < date ? formatHour - : month(date) < date ? (week(date) < date ? formatDay : formatWeek) - : year(date) < date ? formatMonth - : formatYear)(date); - } - - scale.invert = function(y) { - return new Date(invert(y)); - }; - - scale.domain = function(_) { - return arguments.length ? domain(Array.from(_, number)) : domain().map(date); - }; - - scale.ticks = function(interval) { - var d = domain(); - return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval); - }; - - scale.tickFormat = function(count, specifier) { - return specifier == null ? tickFormat : format(specifier); - }; - - scale.nice = function(interval) { - var d = domain(); - if (!interval || typeof interval.range !== "function") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval); - return interval ? domain(nice(d, interval)) : scale; - }; - - scale.copy = function() { - return copy$1(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format)); - }; - - return scale; - } - - function time() { - return initRange.apply(calendar(timeTicks, timeTickInterval, year, month, sunday, day, hour, minute, second, exports.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments); - } - - function utcTime() { - return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute, second, exports.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments); - } - - function transformer$1() { - var x0 = 0, - x1 = 1, - t0, - t1, - k10, - transform, - interpolator = identity$3, - clamp = false, - unknown; - - function scale(x) { - return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x)); - } - - scale.domain = function(_) { - return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1]; - }; - - scale.clamp = function(_) { - return arguments.length ? (clamp = !!_, scale) : clamp; - }; - - scale.interpolator = function(_) { - return arguments.length ? (interpolator = _, scale) : interpolator; - }; - - function range(interpolate) { - return function(_) { - var r0, r1; - return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)]; - }; - } - - scale.range = range(interpolate$2); - - scale.rangeRound = range(interpolateRound); - - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : unknown; - }; - - return function(t) { - transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0); - return scale; - }; - } - - function copy(source, target) { - return target - .domain(source.domain()) - .interpolator(source.interpolator()) - .clamp(source.clamp()) - .unknown(source.unknown()); - } - - function sequential() { - var scale = linearish(transformer$1()(identity$3)); - - scale.copy = function() { - return copy(scale, sequential()); - }; - - return initInterpolator.apply(scale, arguments); - } - - function sequentialLog() { - var scale = loggish(transformer$1()).domain([1, 10]); - - scale.copy = function() { - return copy(scale, sequentialLog()).base(scale.base()); - }; - - return initInterpolator.apply(scale, arguments); - } - - function sequentialSymlog() { - var scale = symlogish(transformer$1()); - - scale.copy = function() { - return copy(scale, sequentialSymlog()).constant(scale.constant()); - }; - - return initInterpolator.apply(scale, arguments); - } - - function sequentialPow() { - var scale = powish(transformer$1()); - - scale.copy = function() { - return copy(scale, sequentialPow()).exponent(scale.exponent()); - }; - - return initInterpolator.apply(scale, arguments); - } - - function sequentialSqrt() { - return sequentialPow.apply(null, arguments).exponent(0.5); - } - - function sequentialQuantile() { - var domain = [], - interpolator = identity$3; - - function scale(x) { - if (x != null && !isNaN(x = +x)) return interpolator((bisectRight(domain, x, 1) - 1) / (domain.length - 1)); - } - - scale.domain = function(_) { - if (!arguments.length) return domain.slice(); - domain = []; - for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d); - domain.sort(ascending$3); - return scale; - }; - - scale.interpolator = function(_) { - return arguments.length ? (interpolator = _, scale) : interpolator; - }; - - scale.range = function() { - return domain.map((d, i) => interpolator(i / (domain.length - 1))); - }; - - scale.quantiles = function(n) { - return Array.from({length: n + 1}, (_, i) => quantile$1(domain, i / n)); - }; - - scale.copy = function() { - return sequentialQuantile(interpolator).domain(domain); - }; - - return initInterpolator.apply(scale, arguments); - } - - function transformer() { - var x0 = 0, - x1 = 0.5, - x2 = 1, - s = 1, - t0, - t1, - t2, - k10, - k21, - interpolator = identity$3, - transform, - clamp = false, - unknown; - - function scale(x) { - return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (s * x < s * t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x)); - } - - scale.domain = function(_) { - return arguments.length ? ([x0, x1, x2] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), t2 = transform(x2 = +x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1, scale) : [x0, x1, x2]; - }; - - scale.clamp = function(_) { - return arguments.length ? (clamp = !!_, scale) : clamp; - }; - - scale.interpolator = function(_) { - return arguments.length ? (interpolator = _, scale) : interpolator; - }; - - function range(interpolate) { - return function(_) { - var r0, r1, r2; - return arguments.length ? ([r0, r1, r2] = _, interpolator = piecewise(interpolate, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)]; - }; - } - - scale.range = range(interpolate$2); - - scale.rangeRound = range(interpolateRound); - - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : unknown; - }; - - return function(t) { - transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1; - return scale; - }; - } - - function diverging$1() { - var scale = linearish(transformer()(identity$3)); - - scale.copy = function() { - return copy(scale, diverging$1()); - }; - - return initInterpolator.apply(scale, arguments); - } - - function divergingLog() { - var scale = loggish(transformer()).domain([0.1, 1, 10]); - - scale.copy = function() { - return copy(scale, divergingLog()).base(scale.base()); - }; - - return initInterpolator.apply(scale, arguments); - } - - function divergingSymlog() { - var scale = symlogish(transformer()); - - scale.copy = function() { - return copy(scale, divergingSymlog()).constant(scale.constant()); - }; - - return initInterpolator.apply(scale, arguments); - } - - function divergingPow() { - var scale = powish(transformer()); - - scale.copy = function() { - return copy(scale, divergingPow()).exponent(scale.exponent()); - }; - - return initInterpolator.apply(scale, arguments); - } - - function divergingSqrt() { - return divergingPow.apply(null, arguments).exponent(0.5); - } - - function colors(specifier) { - var n = specifier.length / 6 | 0, colors = new Array(n), i = 0; - while (i < n) colors[i] = "#" + specifier.slice(i * 6, ++i * 6); - return colors; - } - - var category10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"); - - var Accent = colors("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"); - - var Dark2 = colors("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"); - - var Paired = colors("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"); - - var Pastel1 = colors("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"); - - var Pastel2 = colors("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"); - - var Set1 = colors("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"); - - var Set2 = colors("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"); - - var Set3 = colors("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"); - - var Tableau10 = colors("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"); - - var ramp$1 = scheme => rgbBasis(scheme[scheme.length - 1]); - - var scheme$q = new Array(3).concat( - "d8b365f5f5f55ab4ac", - "a6611adfc27d80cdc1018571", - "a6611adfc27df5f5f580cdc1018571", - "8c510ad8b365f6e8c3c7eae55ab4ac01665e", - "8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e", - "8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e", - "8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e", - "5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30", - "5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30" - ).map(colors); - - var BrBG = ramp$1(scheme$q); - - var scheme$p = new Array(3).concat( - "af8dc3f7f7f77fbf7b", - "7b3294c2a5cfa6dba0008837", - "7b3294c2a5cff7f7f7a6dba0008837", - "762a83af8dc3e7d4e8d9f0d37fbf7b1b7837", - "762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837", - "762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837", - "762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837", - "40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b", - "40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b" - ).map(colors); - - var PRGn = ramp$1(scheme$p); - - var scheme$o = new Array(3).concat( - "e9a3c9f7f7f7a1d76a", - "d01c8bf1b6dab8e1864dac26", - "d01c8bf1b6daf7f7f7b8e1864dac26", - "c51b7de9a3c9fde0efe6f5d0a1d76a4d9221", - "c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221", - "c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221", - "c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221", - "8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419", - "8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419" - ).map(colors); - - var PiYG = ramp$1(scheme$o); - - var scheme$n = new Array(3).concat( - "998ec3f7f7f7f1a340", - "5e3c99b2abd2fdb863e66101", - "5e3c99b2abd2f7f7f7fdb863e66101", - "542788998ec3d8daebfee0b6f1a340b35806", - "542788998ec3d8daebf7f7f7fee0b6f1a340b35806", - "5427888073acb2abd2d8daebfee0b6fdb863e08214b35806", - "5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806", - "2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08", - "2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08" - ).map(colors); - - var PuOr = ramp$1(scheme$n); - - var scheme$m = new Array(3).concat( - "ef8a62f7f7f767a9cf", - "ca0020f4a58292c5de0571b0", - "ca0020f4a582f7f7f792c5de0571b0", - "b2182bef8a62fddbc7d1e5f067a9cf2166ac", - "b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac", - "b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac", - "b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac", - "67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061", - "67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061" - ).map(colors); - - var RdBu = ramp$1(scheme$m); - - var scheme$l = new Array(3).concat( - "ef8a62ffffff999999", - "ca0020f4a582bababa404040", - "ca0020f4a582ffffffbababa404040", - "b2182bef8a62fddbc7e0e0e09999994d4d4d", - "b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d", - "b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d", - "b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d", - "67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a", - "67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a" - ).map(colors); - - var RdGy = ramp$1(scheme$l); - - var scheme$k = new Array(3).concat( - "fc8d59ffffbf91bfdb", - "d7191cfdae61abd9e92c7bb6", - "d7191cfdae61ffffbfabd9e92c7bb6", - "d73027fc8d59fee090e0f3f891bfdb4575b4", - "d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4", - "d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4", - "d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4", - "a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695", - "a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695" - ).map(colors); - - var RdYlBu = ramp$1(scheme$k); - - var scheme$j = new Array(3).concat( - "fc8d59ffffbf91cf60", - "d7191cfdae61a6d96a1a9641", - "d7191cfdae61ffffbfa6d96a1a9641", - "d73027fc8d59fee08bd9ef8b91cf601a9850", - "d73027fc8d59fee08bffffbfd9ef8b91cf601a9850", - "d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850", - "d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850", - "a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837", - "a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837" - ).map(colors); - - var RdYlGn = ramp$1(scheme$j); - - var scheme$i = new Array(3).concat( - "fc8d59ffffbf99d594", - "d7191cfdae61abdda42b83ba", - "d7191cfdae61ffffbfabdda42b83ba", - "d53e4ffc8d59fee08be6f59899d5943288bd", - "d53e4ffc8d59fee08bffffbfe6f59899d5943288bd", - "d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd", - "d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd", - "9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2", - "9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2" - ).map(colors); - - var Spectral = ramp$1(scheme$i); - - var scheme$h = new Array(3).concat( - "e5f5f999d8c92ca25f", - "edf8fbb2e2e266c2a4238b45", - "edf8fbb2e2e266c2a42ca25f006d2c", - "edf8fbccece699d8c966c2a42ca25f006d2c", - "edf8fbccece699d8c966c2a441ae76238b45005824", - "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824", - "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b" - ).map(colors); - - var BuGn = ramp$1(scheme$h); - - var scheme$g = new Array(3).concat( - "e0ecf49ebcda8856a7", - "edf8fbb3cde38c96c688419d", - "edf8fbb3cde38c96c68856a7810f7c", - "edf8fbbfd3e69ebcda8c96c68856a7810f7c", - "edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b", - "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b", - "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b" - ).map(colors); - - var BuPu = ramp$1(scheme$g); - - var scheme$f = new Array(3).concat( - "e0f3dba8ddb543a2ca", - "f0f9e8bae4bc7bccc42b8cbe", - "f0f9e8bae4bc7bccc443a2ca0868ac", - "f0f9e8ccebc5a8ddb57bccc443a2ca0868ac", - "f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e", - "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e", - "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081" - ).map(colors); - - var GnBu = ramp$1(scheme$f); - - var scheme$e = new Array(3).concat( - "fee8c8fdbb84e34a33", - "fef0d9fdcc8afc8d59d7301f", - "fef0d9fdcc8afc8d59e34a33b30000", - "fef0d9fdd49efdbb84fc8d59e34a33b30000", - "fef0d9fdd49efdbb84fc8d59ef6548d7301f990000", - "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000", - "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000" - ).map(colors); - - var OrRd = ramp$1(scheme$e); - - var scheme$d = new Array(3).concat( - "ece2f0a6bddb1c9099", - "f6eff7bdc9e167a9cf02818a", - "f6eff7bdc9e167a9cf1c9099016c59", - "f6eff7d0d1e6a6bddb67a9cf1c9099016c59", - "f6eff7d0d1e6a6bddb67a9cf3690c002818a016450", - "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450", - "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636" - ).map(colors); - - var PuBuGn = ramp$1(scheme$d); - - var scheme$c = new Array(3).concat( - "ece7f2a6bddb2b8cbe", - "f1eef6bdc9e174a9cf0570b0", - "f1eef6bdc9e174a9cf2b8cbe045a8d", - "f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d", - "f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b", - "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b", - "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858" - ).map(colors); - - var PuBu = ramp$1(scheme$c); - - var scheme$b = new Array(3).concat( - "e7e1efc994c7dd1c77", - "f1eef6d7b5d8df65b0ce1256", - "f1eef6d7b5d8df65b0dd1c77980043", - "f1eef6d4b9dac994c7df65b0dd1c77980043", - "f1eef6d4b9dac994c7df65b0e7298ace125691003f", - "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f", - "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f" - ).map(colors); - - var PuRd = ramp$1(scheme$b); - - var scheme$a = new Array(3).concat( - "fde0ddfa9fb5c51b8a", - "feebe2fbb4b9f768a1ae017e", - "feebe2fbb4b9f768a1c51b8a7a0177", - "feebe2fcc5c0fa9fb5f768a1c51b8a7a0177", - "feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177", - "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177", - "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a" - ).map(colors); - - var RdPu = ramp$1(scheme$a); - - var scheme$9 = new Array(3).concat( - "edf8b17fcdbb2c7fb8", - "ffffcca1dab441b6c4225ea8", - "ffffcca1dab441b6c42c7fb8253494", - "ffffccc7e9b47fcdbb41b6c42c7fb8253494", - "ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84", - "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84", - "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58" - ).map(colors); - - var YlGnBu = ramp$1(scheme$9); - - var scheme$8 = new Array(3).concat( - "f7fcb9addd8e31a354", - "ffffccc2e69978c679238443", - "ffffccc2e69978c67931a354006837", - "ffffccd9f0a3addd8e78c67931a354006837", - "ffffccd9f0a3addd8e78c67941ab5d238443005a32", - "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32", - "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529" - ).map(colors); - - var YlGn = ramp$1(scheme$8); - - var scheme$7 = new Array(3).concat( - "fff7bcfec44fd95f0e", - "ffffd4fed98efe9929cc4c02", - "ffffd4fed98efe9929d95f0e993404", - "ffffd4fee391fec44ffe9929d95f0e993404", - "ffffd4fee391fec44ffe9929ec7014cc4c028c2d04", - "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04", - "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506" - ).map(colors); - - var YlOrBr = ramp$1(scheme$7); - - var scheme$6 = new Array(3).concat( - "ffeda0feb24cf03b20", - "ffffb2fecc5cfd8d3ce31a1c", - "ffffb2fecc5cfd8d3cf03b20bd0026", - "ffffb2fed976feb24cfd8d3cf03b20bd0026", - "ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026", - "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026", - "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026" - ).map(colors); - - var YlOrRd = ramp$1(scheme$6); - - var scheme$5 = new Array(3).concat( - "deebf79ecae13182bd", - "eff3ffbdd7e76baed62171b5", - "eff3ffbdd7e76baed63182bd08519c", - "eff3ffc6dbef9ecae16baed63182bd08519c", - "eff3ffc6dbef9ecae16baed64292c62171b5084594", - "f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594", - "f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b" - ).map(colors); - - var Blues = ramp$1(scheme$5); - - var scheme$4 = new Array(3).concat( - "e5f5e0a1d99b31a354", - "edf8e9bae4b374c476238b45", - "edf8e9bae4b374c47631a354006d2c", - "edf8e9c7e9c0a1d99b74c47631a354006d2c", - "edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32", - "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32", - "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b" - ).map(colors); - - var Greens = ramp$1(scheme$4); - - var scheme$3 = new Array(3).concat( - "f0f0f0bdbdbd636363", - "f7f7f7cccccc969696525252", - "f7f7f7cccccc969696636363252525", - "f7f7f7d9d9d9bdbdbd969696636363252525", - "f7f7f7d9d9d9bdbdbd969696737373525252252525", - "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525", - "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000" - ).map(colors); - - var Greys = ramp$1(scheme$3); - - var scheme$2 = new Array(3).concat( - "efedf5bcbddc756bb1", - "f2f0f7cbc9e29e9ac86a51a3", - "f2f0f7cbc9e29e9ac8756bb154278f", - "f2f0f7dadaebbcbddc9e9ac8756bb154278f", - "f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486", - "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486", - "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d" - ).map(colors); - - var Purples = ramp$1(scheme$2); - - var scheme$1 = new Array(3).concat( - "fee0d2fc9272de2d26", - "fee5d9fcae91fb6a4acb181d", - "fee5d9fcae91fb6a4ade2d26a50f15", - "fee5d9fcbba1fc9272fb6a4ade2d26a50f15", - "fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d", - "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d", - "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d" - ).map(colors); - - var Reds = ramp$1(scheme$1); - - var scheme = new Array(3).concat( - "fee6cefdae6be6550d", - "feeddefdbe85fd8d3cd94701", - "feeddefdbe85fd8d3ce6550da63603", - "feeddefdd0a2fdae6bfd8d3ce6550da63603", - "feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04", - "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04", - "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704" - ).map(colors); - - var Oranges = ramp$1(scheme); - - function cividis(t) { - t = Math.max(0, Math.min(1, t)); - return "rgb(" - + Math.max(0, Math.min(255, Math.round(-4.54 - t * (35.34 - t * (2381.73 - t * (6402.7 - t * (7024.72 - t * 2710.57))))))) + ", " - + Math.max(0, Math.min(255, Math.round(32.49 + t * (170.73 + t * (52.82 - t * (131.46 - t * (176.58 - t * 67.37))))))) + ", " - + Math.max(0, Math.min(255, Math.round(81.24 + t * (442.36 - t * (2482.43 - t * (6167.24 - t * (6614.94 - t * 2475.67))))))) - + ")"; - } - - var cubehelix = cubehelixLong(cubehelix$3(300, 0.5, 0.0), cubehelix$3(-240, 0.5, 1.0)); - - var warm = cubehelixLong(cubehelix$3(-100, 0.75, 0.35), cubehelix$3(80, 1.50, 0.8)); - - var cool = cubehelixLong(cubehelix$3(260, 0.75, 0.35), cubehelix$3(80, 1.50, 0.8)); - - var c$2 = cubehelix$3(); - - function rainbow(t) { - if (t < 0 || t > 1) t -= Math.floor(t); - var ts = Math.abs(t - 0.5); - c$2.h = 360 * t - 100; - c$2.s = 1.5 - 1.5 * ts; - c$2.l = 0.8 - 0.9 * ts; - return c$2 + ""; - } - - var c$1 = rgb(), - pi_1_3 = Math.PI / 3, - pi_2_3 = Math.PI * 2 / 3; - - function sinebow(t) { - var x; - t = (0.5 - t) * Math.PI; - c$1.r = 255 * (x = Math.sin(t)) * x; - c$1.g = 255 * (x = Math.sin(t + pi_1_3)) * x; - c$1.b = 255 * (x = Math.sin(t + pi_2_3)) * x; - return c$1 + ""; - } - - function turbo(t) { - t = Math.max(0, Math.min(1, t)); - return "rgb(" - + Math.max(0, Math.min(255, Math.round(34.61 + t * (1172.33 - t * (10793.56 - t * (33300.12 - t * (38394.49 - t * 14825.05))))))) + ", " - + Math.max(0, Math.min(255, Math.round(23.31 + t * (557.33 + t * (1225.33 - t * (3574.96 - t * (1073.77 + t * 707.56))))))) + ", " - + Math.max(0, Math.min(255, Math.round(27.2 + t * (3211.1 - t * (15327.97 - t * (27814 - t * (22569.18 - t * 6838.66))))))) - + ")"; - } - - function ramp(range) { - var n = range.length; - return function(t) { - return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))]; - }; - } - - var viridis = ramp(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")); - - var magma = ramp(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")); - - var inferno = ramp(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")); - - var plasma = ramp(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")); - - function constant$1(x) { - return function constant() { - return x; - }; - } - - var abs = Math.abs; - var atan2 = Math.atan2; - var cos = Math.cos; - var max = Math.max; - var min = Math.min; - var sin = Math.sin; - var sqrt = Math.sqrt; - - var epsilon = 1e-12; - var pi = Math.PI; - var halfPi = pi / 2; - var tau = 2 * pi; - - function acos(x) { - return x > 1 ? 0 : x < -1 ? pi : Math.acos(x); - } - - function asin(x) { - return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x); - } - - function arcInnerRadius(d) { - return d.innerRadius; - } - - function arcOuterRadius(d) { - return d.outerRadius; - } - - function arcStartAngle(d) { - return d.startAngle; - } - - function arcEndAngle(d) { - return d.endAngle; - } - - function arcPadAngle(d) { - return d && d.padAngle; // Note: optional! - } - - function intersect(x0, y0, x1, y1, x2, y2, x3, y3) { - var x10 = x1 - x0, y10 = y1 - y0, - x32 = x3 - x2, y32 = y3 - y2, - t = y32 * x10 - x32 * y10; - if (t * t < epsilon) return; - t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t; - return [x0 + t * x10, y0 + t * y10]; - } - -// Compute perpendicular offset line of length rc. -// http://mathworld.wolfram.com/Circle-LineIntersection.html - function cornerTangents(x0, y0, x1, y1, r1, rc, cw) { - var x01 = x0 - x1, - y01 = y0 - y1, - lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01), - ox = lo * y01, - oy = -lo * x01, - x11 = x0 + ox, - y11 = y0 + oy, - x10 = x1 + ox, - y10 = y1 + oy, - x00 = (x11 + x10) / 2, - y00 = (y11 + y10) / 2, - dx = x10 - x11, - dy = y10 - y11, - d2 = dx * dx + dy * dy, - r = r1 - rc, - D = x11 * y10 - x10 * y11, - d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)), - cx0 = (D * dy - dx * d) / d2, - cy0 = (-D * dx - dy * d) / d2, - cx1 = (D * dy + dx * d) / d2, - cy1 = (-D * dx + dy * d) / d2, - dx0 = cx0 - x00, - dy0 = cy0 - y00, - dx1 = cx1 - x00, - dy1 = cy1 - y00; - - // Pick the closer of the two intersection points. - // TODO Is there a faster way to determine which intersection to use? - if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; - - return { - cx: cx0, - cy: cy0, - x01: -ox, - y01: -oy, - x11: cx0 * (r1 / r - 1), - y11: cy0 * (r1 / r - 1) - }; - } - - function arc() { - var innerRadius = arcInnerRadius, - outerRadius = arcOuterRadius, - cornerRadius = constant$1(0), - padRadius = null, - startAngle = arcStartAngle, - endAngle = arcEndAngle, - padAngle = arcPadAngle, - context = null; - - function arc() { - var buffer, - r, - r0 = +innerRadius.apply(this, arguments), - r1 = +outerRadius.apply(this, arguments), - a0 = startAngle.apply(this, arguments) - halfPi, - a1 = endAngle.apply(this, arguments) - halfPi, - da = abs(a1 - a0), - cw = a1 > a0; - - if (!context) context = buffer = path(); - - // Ensure that the outer radius is always larger than the inner radius. - if (r1 < r0) r = r1, r1 = r0, r0 = r; - - // Is it a point? - if (!(r1 > epsilon)) context.moveTo(0, 0); - - // Or is it a circle or annulus? - else if (da > tau - epsilon) { - context.moveTo(r1 * cos(a0), r1 * sin(a0)); - context.arc(0, 0, r1, a0, a1, !cw); - if (r0 > epsilon) { - context.moveTo(r0 * cos(a1), r0 * sin(a1)); - context.arc(0, 0, r0, a1, a0, cw); - } - } - - // Or is it a circular or annular sector? - else { - var a01 = a0, - a11 = a1, - a00 = a0, - a10 = a1, - da0 = da, - da1 = da, - ap = padAngle.apply(this, arguments) / 2, - rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)), - rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)), - rc0 = rc, - rc1 = rc, - t0, - t1; - - // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0. - if (rp > epsilon) { - var p0 = asin(rp / r0 * sin(ap)), - p1 = asin(rp / r1 * sin(ap)); - if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0; - else da0 = 0, a00 = a10 = (a0 + a1) / 2; - if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1; - else da1 = 0, a01 = a11 = (a0 + a1) / 2; - } - - var x01 = r1 * cos(a01), - y01 = r1 * sin(a01), - x10 = r0 * cos(a10), - y10 = r0 * sin(a10); - - // Apply rounded corners? - if (rc > epsilon) { - var x11 = r1 * cos(a11), - y11 = r1 * sin(a11), - x00 = r0 * cos(a00), - y00 = r0 * sin(a00), - oc; - - // Restrict the corner radius according to the sector angle. - if (da < pi && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) { - var ax = x01 - oc[0], - ay = y01 - oc[1], - bx = x11 - oc[0], - by = y11 - oc[1], - kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2), - lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]); - rc0 = min(rc, (r0 - lc) / (kc - 1)); - rc1 = min(rc, (r1 - lc) / (kc + 1)); - } - } - - // Is the sector collapsed to a line? - if (!(da1 > epsilon)) context.moveTo(x01, y01); - - // Does the sector’s outer ring have rounded corners? - else if (rc1 > epsilon) { - t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw); - t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw); - - context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01); - - // Have the corners merged? - if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw); - - // Otherwise, draw the two corners and the ring. - else { - context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw); - context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw); - context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw); - } - } - - // Or is the outer ring just a circular arc? - else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw); - - // Is there no inner ring, and it’s a circular sector? - // Or perhaps it’s an annular sector collapsed due to padding? - if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10); - - // Does the sector’s inner ring (or point) have rounded corners? - else if (rc0 > epsilon) { - t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw); - t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw); - - context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01); - - // Have the corners merged? - if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw); - - // Otherwise, draw the two corners and the ring. - else { - context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw); - context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw); - context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw); - } - } - - // Or is the inner ring just a circular arc? - else context.arc(0, 0, r0, a10, a00, cw); - } - - context.closePath(); - - if (buffer) return context = null, buffer + "" || null; - } - - arc.centroid = function() { - var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, - a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2; - return [cos(a) * r, sin(a) * r]; - }; - - arc.innerRadius = function(_) { - return arguments.length ? (innerRadius = typeof _ === "function" ? _ : constant$1(+_), arc) : innerRadius; - }; - - arc.outerRadius = function(_) { - return arguments.length ? (outerRadius = typeof _ === "function" ? _ : constant$1(+_), arc) : outerRadius; - }; - - arc.cornerRadius = function(_) { - return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : constant$1(+_), arc) : cornerRadius; - }; - - arc.padRadius = function(_) { - return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : constant$1(+_), arc) : padRadius; - }; - - arc.startAngle = function(_) { - return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$1(+_), arc) : startAngle; - }; - - arc.endAngle = function(_) { - return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$1(+_), arc) : endAngle; - }; - - arc.padAngle = function(_) { - return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$1(+_), arc) : padAngle; - }; - - arc.context = function(_) { - return arguments.length ? ((context = _ == null ? null : _), arc) : context; - }; - - return arc; - } - - var slice = Array.prototype.slice; - - function array(x) { - return typeof x === "object" && "length" in x - ? x // Array, TypedArray, NodeList, array-like - : Array.from(x); // Map, Set, iterable, string, or anything else - } - - function Linear(context) { - this._context = context; - } - - Linear.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._point = 0; - }, - lineEnd: function() { - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; // proceed - default: this._context.lineTo(x, y); break; - } - } - }; - - function curveLinear(context) { - return new Linear(context); - } - - function x(p) { - return p[0]; - } - - function y(p) { - return p[1]; - } - - function line(x$1, y$1) { - var defined = constant$1(true), - context = null, - curve = curveLinear, - output = null; - - x$1 = typeof x$1 === "function" ? x$1 : (x$1 === undefined) ? x : constant$1(x$1); - y$1 = typeof y$1 === "function" ? y$1 : (y$1 === undefined) ? y : constant$1(y$1); - - function line(data) { - var i, - n = (data = array(data)).length, - d, - defined0 = false, - buffer; - - if (context == null) output = curve(buffer = path()); - - for (i = 0; i <= n; ++i) { - if (!(i < n && defined(d = data[i], i, data)) === defined0) { - if (defined0 = !defined0) output.lineStart(); - else output.lineEnd(); - } - if (defined0) output.point(+x$1(d, i, data), +y$1(d, i, data)); - } - - if (buffer) return output = null, buffer + "" || null; - } - - line.x = function(_) { - return arguments.length ? (x$1 = typeof _ === "function" ? _ : constant$1(+_), line) : x$1; - }; - - line.y = function(_) { - return arguments.length ? (y$1 = typeof _ === "function" ? _ : constant$1(+_), line) : y$1; - }; - - line.defined = function(_) { - return arguments.length ? (defined = typeof _ === "function" ? _ : constant$1(!!_), line) : defined; - }; - - line.curve = function(_) { - return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve; - }; - - line.context = function(_) { - return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context; - }; - - return line; - } - - function area(x0, y0, y1) { - var x1 = null, - defined = constant$1(true), - context = null, - curve = curveLinear, - output = null; - - x0 = typeof x0 === "function" ? x0 : (x0 === undefined) ? x : constant$1(+x0); - y0 = typeof y0 === "function" ? y0 : (y0 === undefined) ? constant$1(0) : constant$1(+y0); - y1 = typeof y1 === "function" ? y1 : (y1 === undefined) ? y : constant$1(+y1); - - function area(data) { - var i, - j, - k, - n = (data = array(data)).length, - d, - defined0 = false, - buffer, - x0z = new Array(n), - y0z = new Array(n); - - if (context == null) output = curve(buffer = path()); - - for (i = 0; i <= n; ++i) { - if (!(i < n && defined(d = data[i], i, data)) === defined0) { - if (defined0 = !defined0) { - j = i; - output.areaStart(); - output.lineStart(); - } else { - output.lineEnd(); - output.lineStart(); - for (k = i - 1; k >= j; --k) { - output.point(x0z[k], y0z[k]); - } - output.lineEnd(); - output.areaEnd(); - } - } - if (defined0) { - x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data); - output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]); - } - } - - if (buffer) return output = null, buffer + "" || null; - } - - function arealine() { - return line().defined(defined).curve(curve).context(context); - } - - area.x = function(_) { - return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$1(+_), x1 = null, area) : x0; - }; - - area.x0 = function(_) { - return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$1(+_), area) : x0; - }; - - area.x1 = function(_) { - return arguments.length ? (x1 = _ == null ? null : typeof _ === "function" ? _ : constant$1(+_), area) : x1; - }; - - area.y = function(_) { - return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$1(+_), y1 = null, area) : y0; - }; - - area.y0 = function(_) { - return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$1(+_), area) : y0; - }; - - area.y1 = function(_) { - return arguments.length ? (y1 = _ == null ? null : typeof _ === "function" ? _ : constant$1(+_), area) : y1; - }; - - area.lineX0 = - area.lineY0 = function() { - return arealine().x(x0).y(y0); - }; - - area.lineY1 = function() { - return arealine().x(x0).y(y1); - }; - - area.lineX1 = function() { - return arealine().x(x1).y(y0); - }; - - area.defined = function(_) { - return arguments.length ? (defined = typeof _ === "function" ? _ : constant$1(!!_), area) : defined; - }; - - area.curve = function(_) { - return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve; - }; - - area.context = function(_) { - return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context; - }; - - return area; - } - - function descending$1(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; - } - - function identity$1(d) { - return d; - } - - function pie() { - var value = identity$1, - sortValues = descending$1, - sort = null, - startAngle = constant$1(0), - endAngle = constant$1(tau), - padAngle = constant$1(0); - - function pie(data) { - var i, - n = (data = array(data)).length, - j, - k, - sum = 0, - index = new Array(n), - arcs = new Array(n), - a0 = +startAngle.apply(this, arguments), - da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)), - a1, - p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)), - pa = p * (da < 0 ? -1 : 1), - v; - - for (i = 0; i < n; ++i) { - if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) { - sum += v; - } - } - - // Optionally sort the arcs by previously-computed values or by data. - if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); }); - else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); }); - - // Compute the arcs! They are stored in the original data's order. - for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) { - j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = { - data: data[j], - index: i, - value: v, - startAngle: a0, - endAngle: a1, - padAngle: p - }; - } - - return arcs; - } - - pie.value = function(_) { - return arguments.length ? (value = typeof _ === "function" ? _ : constant$1(+_), pie) : value; - }; - - pie.sortValues = function(_) { - return arguments.length ? (sortValues = _, sort = null, pie) : sortValues; - }; - - pie.sort = function(_) { - return arguments.length ? (sort = _, sortValues = null, pie) : sort; - }; - - pie.startAngle = function(_) { - return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$1(+_), pie) : startAngle; - }; - - pie.endAngle = function(_) { - return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$1(+_), pie) : endAngle; - }; - - pie.padAngle = function(_) { - return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$1(+_), pie) : padAngle; - }; - - return pie; - } - - var curveRadialLinear = curveRadial$1(curveLinear); - - function Radial(curve) { - this._curve = curve; - } - - Radial.prototype = { - areaStart: function() { - this._curve.areaStart(); - }, - areaEnd: function() { - this._curve.areaEnd(); - }, - lineStart: function() { - this._curve.lineStart(); - }, - lineEnd: function() { - this._curve.lineEnd(); - }, - point: function(a, r) { - this._curve.point(r * Math.sin(a), r * -Math.cos(a)); - } - }; - - function curveRadial$1(curve) { - - function radial(context) { - return new Radial(curve(context)); - } - - radial._curve = curve; - - return radial; - } - - function lineRadial(l) { - var c = l.curve; - - l.angle = l.x, delete l.x; - l.radius = l.y, delete l.y; - - l.curve = function(_) { - return arguments.length ? c(curveRadial$1(_)) : c()._curve; - }; - - return l; - } - - function lineRadial$1() { - return lineRadial(line().curve(curveRadialLinear)); - } - - function areaRadial() { - var a = area().curve(curveRadialLinear), - c = a.curve, - x0 = a.lineX0, - x1 = a.lineX1, - y0 = a.lineY0, - y1 = a.lineY1; - - a.angle = a.x, delete a.x; - a.startAngle = a.x0, delete a.x0; - a.endAngle = a.x1, delete a.x1; - a.radius = a.y, delete a.y; - a.innerRadius = a.y0, delete a.y0; - a.outerRadius = a.y1, delete a.y1; - a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0; - a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1; - a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0; - a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1; - - a.curve = function(_) { - return arguments.length ? c(curveRadial$1(_)) : c()._curve; - }; - - return a; - } - - function pointRadial(x, y) { - return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)]; - } - - function linkSource(d) { - return d.source; - } - - function linkTarget(d) { - return d.target; - } - - function link(curve) { - var source = linkSource, - target = linkTarget, - x$1 = x, - y$1 = y, - context = null; - - function link() { - var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv); - if (!context) context = buffer = path(); - curve(context, +x$1.apply(this, (argv[0] = s, argv)), +y$1.apply(this, argv), +x$1.apply(this, (argv[0] = t, argv)), +y$1.apply(this, argv)); - if (buffer) return context = null, buffer + "" || null; - } - - link.source = function(_) { - return arguments.length ? (source = _, link) : source; - }; - - link.target = function(_) { - return arguments.length ? (target = _, link) : target; - }; - - link.x = function(_) { - return arguments.length ? (x$1 = typeof _ === "function" ? _ : constant$1(+_), link) : x$1; - }; - - link.y = function(_) { - return arguments.length ? (y$1 = typeof _ === "function" ? _ : constant$1(+_), link) : y$1; - }; - - link.context = function(_) { - return arguments.length ? ((context = _ == null ? null : _), link) : context; - }; - - return link; - } - - function curveHorizontal(context, x0, y0, x1, y1) { - context.moveTo(x0, y0); - context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1); - } - - function curveVertical(context, x0, y0, x1, y1) { - context.moveTo(x0, y0); - context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1); - } - - function curveRadial(context, x0, y0, x1, y1) { - var p0 = pointRadial(x0, y0), - p1 = pointRadial(x0, y0 = (y0 + y1) / 2), - p2 = pointRadial(x1, y0), - p3 = pointRadial(x1, y1); - context.moveTo(p0[0], p0[1]); - context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]); - } - - function linkHorizontal() { - return link(curveHorizontal); - } - - function linkVertical() { - return link(curveVertical); - } - - function linkRadial() { - var l = link(curveRadial); - l.angle = l.x, delete l.x; - l.radius = l.y, delete l.y; - return l; - } - - var circle = { - draw: function(context, size) { - var r = Math.sqrt(size / pi); - context.moveTo(r, 0); - context.arc(0, 0, r, 0, tau); - } - }; - - var cross = { - draw: function(context, size) { - var r = Math.sqrt(size / 5) / 2; - context.moveTo(-3 * r, -r); - context.lineTo(-r, -r); - context.lineTo(-r, -3 * r); - context.lineTo(r, -3 * r); - context.lineTo(r, -r); - context.lineTo(3 * r, -r); - context.lineTo(3 * r, r); - context.lineTo(r, r); - context.lineTo(r, 3 * r); - context.lineTo(-r, 3 * r); - context.lineTo(-r, r); - context.lineTo(-3 * r, r); - context.closePath(); - } - }; - - var tan30 = Math.sqrt(1 / 3), - tan30_2 = tan30 * 2; - - var diamond = { - draw: function(context, size) { - var y = Math.sqrt(size / tan30_2), - x = y * tan30; - context.moveTo(0, -y); - context.lineTo(x, 0); - context.lineTo(0, y); - context.lineTo(-x, 0); - context.closePath(); - } - }; - - var ka = 0.89081309152928522810, - kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10), - kx = Math.sin(tau / 10) * kr, - ky = -Math.cos(tau / 10) * kr; - - var star = { - draw: function(context, size) { - var r = Math.sqrt(size * ka), - x = kx * r, - y = ky * r; - context.moveTo(0, -r); - context.lineTo(x, y); - for (var i = 1; i < 5; ++i) { - var a = tau * i / 5, - c = Math.cos(a), - s = Math.sin(a); - context.lineTo(s * r, -c * r); - context.lineTo(c * x - s * y, s * x + c * y); - } - context.closePath(); - } - }; - - var square = { - draw: function(context, size) { - var w = Math.sqrt(size), - x = -w / 2; - context.rect(x, x, w, w); - } - }; - - var sqrt3 = Math.sqrt(3); - - var triangle = { - draw: function(context, size) { - var y = -Math.sqrt(size / (sqrt3 * 3)); - context.moveTo(0, y * 2); - context.lineTo(-sqrt3 * y, -y); - context.lineTo(sqrt3 * y, -y); - context.closePath(); - } - }; - - var c = -0.5, - s = Math.sqrt(3) / 2, - k = 1 / Math.sqrt(12), - a = (k / 2 + 1) * 3; - - var wye = { - draw: function(context, size) { - var r = Math.sqrt(size / a), - x0 = r / 2, - y0 = r * k, - x1 = x0, - y1 = r * k + r, - x2 = -x1, - y2 = y1; - context.moveTo(x0, y0); - context.lineTo(x1, y1); - context.lineTo(x2, y2); - context.lineTo(c * x0 - s * y0, s * x0 + c * y0); - context.lineTo(c * x1 - s * y1, s * x1 + c * y1); - context.lineTo(c * x2 - s * y2, s * x2 + c * y2); - context.lineTo(c * x0 + s * y0, c * y0 - s * x0); - context.lineTo(c * x1 + s * y1, c * y1 - s * x1); - context.lineTo(c * x2 + s * y2, c * y2 - s * x2); - context.closePath(); - } - }; - - var symbols = [ - circle, - cross, - diamond, - square, - star, - triangle, - wye - ]; - - function symbol(type, size) { - var context = null; - type = typeof type === "function" ? type : constant$1(type || circle); - size = typeof size === "function" ? size : constant$1(size === undefined ? 64 : +size); - - function symbol() { - var buffer; - if (!context) context = buffer = path(); - type.apply(this, arguments).draw(context, +size.apply(this, arguments)); - if (buffer) return context = null, buffer + "" || null; - } - - symbol.type = function(_) { - return arguments.length ? (type = typeof _ === "function" ? _ : constant$1(_), symbol) : type; - }; - - symbol.size = function(_) { - return arguments.length ? (size = typeof _ === "function" ? _ : constant$1(+_), symbol) : size; - }; - - symbol.context = function(_) { - return arguments.length ? (context = _ == null ? null : _, symbol) : context; - }; - - return symbol; - } - - function noop() {} - - function point$3(that, x, y) { - that._context.bezierCurveTo( - (2 * that._x0 + that._x1) / 3, - (2 * that._y0 + that._y1) / 3, - (that._x0 + 2 * that._x1) / 3, - (that._y0 + 2 * that._y1) / 3, - (that._x0 + 4 * that._x1 + x) / 6, - (that._y0 + 4 * that._y1 + y) / 6 - ); - } - - function Basis(context) { - this._context = context; - } - - Basis.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = - this._y0 = this._y1 = NaN; - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 3: point$3(this, this._x1, this._y1); // proceed - case 2: this._context.lineTo(this._x1, this._y1); break; - } - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; break; - case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed - default: point$3(this, x, y); break; - } - this._x0 = this._x1, this._x1 = x; - this._y0 = this._y1, this._y1 = y; - } - }; - - function basis(context) { - return new Basis(context); - } - - function BasisClosed(context) { - this._context = context; - } - - BasisClosed.prototype = { - areaStart: noop, - areaEnd: noop, - lineStart: function() { - this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = - this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN; - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 1: { - this._context.moveTo(this._x2, this._y2); - this._context.closePath(); - break; - } - case 2: { - this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3); - this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3); - this._context.closePath(); - break; - } - case 3: { - this.point(this._x2, this._y2); - this.point(this._x3, this._y3); - this.point(this._x4, this._y4); - break; - } - } - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._x2 = x, this._y2 = y; break; - case 1: this._point = 2; this._x3 = x, this._y3 = y; break; - case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break; - default: point$3(this, x, y); break; - } - this._x0 = this._x1, this._x1 = x; - this._y0 = this._y1, this._y1 = y; - } - }; - - function basisClosed(context) { - return new BasisClosed(context); - } - - function BasisOpen(context) { - this._context = context; - } - - BasisOpen.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = - this._y0 = this._y1 = NaN; - this._point = 0; - }, - lineEnd: function() { - if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; break; - case 1: this._point = 2; break; - case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break; - case 3: this._point = 4; // proceed - default: point$3(this, x, y); break; - } - this._x0 = this._x1, this._x1 = x; - this._y0 = this._y1, this._y1 = y; - } - }; - - function basisOpen(context) { - return new BasisOpen(context); - } - - class Bump { - constructor(context, x) { - this._context = context; - this._x = x; - } - areaStart() { - this._line = 0; - } - areaEnd() { - this._line = NaN; - } - lineStart() { - this._point = 0; - } - lineEnd() { - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - } - point(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: { - this._point = 1; - if (this._line) this._context.lineTo(x, y); - else this._context.moveTo(x, y); - break; - } - case 1: this._point = 2; // proceed - default: { - if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y); - else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y); - break; - } - } - this._x0 = x, this._y0 = y; - } - } - - function bumpX(context) { - return new Bump(context, true); - } - - function bumpY(context) { - return new Bump(context, false); - } - - function Bundle(context, beta) { - this._basis = new Basis(context); - this._beta = beta; - } - - Bundle.prototype = { - lineStart: function() { - this._x = []; - this._y = []; - this._basis.lineStart(); - }, - lineEnd: function() { - var x = this._x, - y = this._y, - j = x.length - 1; - - if (j > 0) { - var x0 = x[0], - y0 = y[0], - dx = x[j] - x0, - dy = y[j] - y0, - i = -1, - t; - - while (++i <= j) { - t = i / j; - this._basis.point( - this._beta * x[i] + (1 - this._beta) * (x0 + t * dx), - this._beta * y[i] + (1 - this._beta) * (y0 + t * dy) - ); - } - } - - this._x = this._y = null; - this._basis.lineEnd(); - }, - point: function(x, y) { - this._x.push(+x); - this._y.push(+y); - } - }; - - var bundle = (function custom(beta) { - - function bundle(context) { - return beta === 1 ? new Basis(context) : new Bundle(context, beta); - } - - bundle.beta = function(beta) { - return custom(+beta); - }; - - return bundle; - })(0.85); - - function point$2(that, x, y) { - that._context.bezierCurveTo( - that._x1 + that._k * (that._x2 - that._x0), - that._y1 + that._k * (that._y2 - that._y0), - that._x2 + that._k * (that._x1 - x), - that._y2 + that._k * (that._y1 - y), - that._x2, - that._y2 - ); - } - - function Cardinal(context, tension) { - this._context = context; - this._k = (1 - tension) / 6; - } - - Cardinal.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = this._x2 = - this._y0 = this._y1 = this._y2 = NaN; - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 2: this._context.lineTo(this._x2, this._y2); break; - case 3: point$2(this, this._x1, this._y1); break; - } - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; this._x1 = x, this._y1 = y; break; - case 2: this._point = 3; // proceed - default: point$2(this, x, y); break; - } - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; - } - }; - - var cardinal = (function custom(tension) { - - function cardinal(context) { - return new Cardinal(context, tension); - } - - cardinal.tension = function(tension) { - return custom(+tension); - }; - - return cardinal; - })(0); - - function CardinalClosed(context, tension) { - this._context = context; - this._k = (1 - tension) / 6; - } - - CardinalClosed.prototype = { - areaStart: noop, - areaEnd: noop, - lineStart: function() { - this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = - this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN; - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 1: { - this._context.moveTo(this._x3, this._y3); - this._context.closePath(); - break; - } - case 2: { - this._context.lineTo(this._x3, this._y3); - this._context.closePath(); - break; - } - case 3: { - this.point(this._x3, this._y3); - this.point(this._x4, this._y4); - this.point(this._x5, this._y5); - break; - } - } - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._x3 = x, this._y3 = y; break; - case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break; - case 2: this._point = 3; this._x5 = x, this._y5 = y; break; - default: point$2(this, x, y); break; - } - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; - } - }; - - var cardinalClosed = (function custom(tension) { - - function cardinal(context) { - return new CardinalClosed(context, tension); - } - - cardinal.tension = function(tension) { - return custom(+tension); - }; - - return cardinal; - })(0); - - function CardinalOpen(context, tension) { - this._context = context; - this._k = (1 - tension) / 6; - } - - CardinalOpen.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = this._x2 = - this._y0 = this._y1 = this._y2 = NaN; - this._point = 0; - }, - lineEnd: function() { - if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; break; - case 1: this._point = 2; break; - case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; - case 3: this._point = 4; // proceed - default: point$2(this, x, y); break; - } - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; - } - }; - - var cardinalOpen = (function custom(tension) { - - function cardinal(context) { - return new CardinalOpen(context, tension); - } - - cardinal.tension = function(tension) { - return custom(+tension); - }; - - return cardinal; - })(0); - - function point$1(that, x, y) { - var x1 = that._x1, - y1 = that._y1, - x2 = that._x2, - y2 = that._y2; - - if (that._l01_a > epsilon) { - var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a, - n = 3 * that._l01_a * (that._l01_a + that._l12_a); - x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n; - y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n; - } - - if (that._l23_a > epsilon) { - var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a, - m = 3 * that._l23_a * (that._l23_a + that._l12_a); - x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m; - y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m; - } - - that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2); - } - - function CatmullRom(context, alpha) { - this._context = context; - this._alpha = alpha; - } - - CatmullRom.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = this._x2 = - this._y0 = this._y1 = this._y2 = NaN; - this._l01_a = this._l12_a = this._l23_a = - this._l01_2a = this._l12_2a = this._l23_2a = - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 2: this._context.lineTo(this._x2, this._y2); break; - case 3: this.point(this._x2, this._y2); break; - } - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - - if (this._point) { - var x23 = this._x2 - x, - y23 = this._y2 - y; - this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); - } - - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; break; - case 2: this._point = 3; // proceed - default: point$1(this, x, y); break; - } - - this._l01_a = this._l12_a, this._l12_a = this._l23_a; - this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; - } - }; - - var catmullRom = (function custom(alpha) { - - function catmullRom(context) { - return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0); - } - - catmullRom.alpha = function(alpha) { - return custom(+alpha); - }; - - return catmullRom; - })(0.5); - - function CatmullRomClosed(context, alpha) { - this._context = context; - this._alpha = alpha; - } - - CatmullRomClosed.prototype = { - areaStart: noop, - areaEnd: noop, - lineStart: function() { - this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = - this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN; - this._l01_a = this._l12_a = this._l23_a = - this._l01_2a = this._l12_2a = this._l23_2a = - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 1: { - this._context.moveTo(this._x3, this._y3); - this._context.closePath(); - break; - } - case 2: { - this._context.lineTo(this._x3, this._y3); - this._context.closePath(); - break; - } - case 3: { - this.point(this._x3, this._y3); - this.point(this._x4, this._y4); - this.point(this._x5, this._y5); - break; - } - } - }, - point: function(x, y) { - x = +x, y = +y; - - if (this._point) { - var x23 = this._x2 - x, - y23 = this._y2 - y; - this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); - } - - switch (this._point) { - case 0: this._point = 1; this._x3 = x, this._y3 = y; break; - case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break; - case 2: this._point = 3; this._x5 = x, this._y5 = y; break; - default: point$1(this, x, y); break; - } - - this._l01_a = this._l12_a, this._l12_a = this._l23_a; - this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; - } - }; - - var catmullRomClosed = (function custom(alpha) { - - function catmullRom(context) { - return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0); - } - - catmullRom.alpha = function(alpha) { - return custom(+alpha); - }; - - return catmullRom; - })(0.5); - - function CatmullRomOpen(context, alpha) { - this._context = context; - this._alpha = alpha; - } - - CatmullRomOpen.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = this._x2 = - this._y0 = this._y1 = this._y2 = NaN; - this._l01_a = this._l12_a = this._l23_a = - this._l01_2a = this._l12_2a = this._l23_2a = - this._point = 0; - }, - lineEnd: function() { - if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - - if (this._point) { - var x23 = this._x2 - x, - y23 = this._y2 - y; - this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); - } - - switch (this._point) { - case 0: this._point = 1; break; - case 1: this._point = 2; break; - case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; - case 3: this._point = 4; // proceed - default: point$1(this, x, y); break; - } - - this._l01_a = this._l12_a, this._l12_a = this._l23_a; - this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; - this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; - this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; - } - }; - - var catmullRomOpen = (function custom(alpha) { - - function catmullRom(context) { - return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0); - } - - catmullRom.alpha = function(alpha) { - return custom(+alpha); - }; - - return catmullRom; - })(0.5); - - function LinearClosed(context) { - this._context = context; - } - - LinearClosed.prototype = { - areaStart: noop, - areaEnd: noop, - lineStart: function() { - this._point = 0; - }, - lineEnd: function() { - if (this._point) this._context.closePath(); - }, - point: function(x, y) { - x = +x, y = +y; - if (this._point) this._context.lineTo(x, y); - else this._point = 1, this._context.moveTo(x, y); - } - }; - - function linearClosed(context) { - return new LinearClosed(context); - } - - function sign(x) { - return x < 0 ? -1 : 1; - } - -// Calculate the slopes of the tangents (Hermite-type interpolation) based on -// the following paper: Steffen, M. 1990. A Simple Method for Monotonic -// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO. -// NOV(II), P. 443, 1990. - function slope3(that, x2, y2) { - var h0 = that._x1 - that._x0, - h1 = x2 - that._x1, - s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0), - s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0), - p = (s0 * h1 + s1 * h0) / (h0 + h1); - return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0; - } - -// Calculate a one-sided slope. - function slope2(that, t) { - var h = that._x1 - that._x0; - return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t; - } - -// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations -// "you can express cubic Hermite interpolation in terms of cubic Bézier curves -// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1". - function point(that, t0, t1) { - var x0 = that._x0, - y0 = that._y0, - x1 = that._x1, - y1 = that._y1, - dx = (x1 - x0) / 3; - that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1); - } - - function MonotoneX(context) { - this._context = context; - } - - MonotoneX.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x0 = this._x1 = - this._y0 = this._y1 = - this._t0 = NaN; - this._point = 0; - }, - lineEnd: function() { - switch (this._point) { - case 2: this._context.lineTo(this._x1, this._y1); break; - case 3: point(this, this._t0, slope2(this, this._t0)); break; - } - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - this._line = 1 - this._line; - }, - point: function(x, y) { - var t1 = NaN; - - x = +x, y = +y; - if (x === this._x1 && y === this._y1) return; // Ignore coincident points. - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; break; - case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break; - default: point(this, this._t0, t1 = slope3(this, x, y)); break; - } - - this._x0 = this._x1, this._x1 = x; - this._y0 = this._y1, this._y1 = y; - this._t0 = t1; - } - }; - - function MonotoneY(context) { - this._context = new ReflectContext(context); - } - - (MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) { - MonotoneX.prototype.point.call(this, y, x); - }; - - function ReflectContext(context) { - this._context = context; - } - - ReflectContext.prototype = { - moveTo: function(x, y) { this._context.moveTo(y, x); }, - closePath: function() { this._context.closePath(); }, - lineTo: function(x, y) { this._context.lineTo(y, x); }, - bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); } - }; - - function monotoneX(context) { - return new MonotoneX(context); - } - - function monotoneY(context) { - return new MonotoneY(context); - } - - function Natural(context) { - this._context = context; - } - - Natural.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x = []; - this._y = []; - }, - lineEnd: function() { - var x = this._x, - y = this._y, - n = x.length; - - if (n) { - this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]); - if (n === 2) { - this._context.lineTo(x[1], y[1]); - } else { - var px = controlPoints(x), - py = controlPoints(y); - for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) { - this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]); - } - } - } - - if (this._line || (this._line !== 0 && n === 1)) this._context.closePath(); - this._line = 1 - this._line; - this._x = this._y = null; - }, - point: function(x, y) { - this._x.push(+x); - this._y.push(+y); - } - }; - -// See https://www.particleincell.com/2012/bezier-splines/ for derivation. - function controlPoints(x) { - var i, - n = x.length - 1, - m, - a = new Array(n), - b = new Array(n), - r = new Array(n); - a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1]; - for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1]; - a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n]; - for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1]; - a[n - 1] = r[n - 1] / b[n - 1]; - for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i]; - b[n - 1] = (x[n] + a[n - 1]) / 2; - for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1]; - return [a, b]; - } - - function natural(context) { - return new Natural(context); - } - - function Step(context, t) { - this._context = context; - this._t = t; - } - - Step.prototype = { - areaStart: function() { - this._line = 0; - }, - areaEnd: function() { - this._line = NaN; - }, - lineStart: function() { - this._x = this._y = NaN; - this._point = 0; - }, - lineEnd: function() { - if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y); - if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath(); - if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line; - }, - point: function(x, y) { - x = +x, y = +y; - switch (this._point) { - case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break; - case 1: this._point = 2; // proceed - default: { - if (this._t <= 0) { - this._context.lineTo(this._x, y); - this._context.lineTo(x, y); - } else { - var x1 = this._x * (1 - this._t) + x * this._t; - this._context.lineTo(x1, this._y); - this._context.lineTo(x1, y); - } - break; - } - } - this._x = x, this._y = y; - } - }; - - function step(context) { - return new Step(context, 0.5); - } - - function stepBefore(context) { - return new Step(context, 0); - } - - function stepAfter(context) { - return new Step(context, 1); - } - - function none$1(series, order) { - if (!((n = series.length) > 1)) return; - for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) { - s0 = s1, s1 = series[order[i]]; - for (j = 0; j < m; ++j) { - s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1]; - } - } - } - - function none(series) { - var n = series.length, o = new Array(n); - while (--n >= 0) o[n] = n; - return o; - } - - function stackValue(d, key) { - return d[key]; - } - - function stackSeries(key) { - const series = []; - series.key = key; - return series; - } - - function stack() { - var keys = constant$1([]), - order = none, - offset = none$1, - value = stackValue; - - function stack(data) { - var sz = Array.from(keys.apply(this, arguments), stackSeries), - i, n = sz.length, j = -1, - oz; - - for (const d of data) { - for (i = 0, ++j; i < n; ++i) { - (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d; - } - } - - for (i = 0, oz = array(order(sz)); i < n; ++i) { - sz[oz[i]].index = i; - } - - offset(sz, oz); - return sz; - } - - stack.keys = function(_) { - return arguments.length ? (keys = typeof _ === "function" ? _ : constant$1(Array.from(_)), stack) : keys; - }; - - stack.value = function(_) { - return arguments.length ? (value = typeof _ === "function" ? _ : constant$1(+_), stack) : value; - }; - - stack.order = function(_) { - return arguments.length ? (order = _ == null ? none : typeof _ === "function" ? _ : constant$1(Array.from(_)), stack) : order; - }; - - stack.offset = function(_) { - return arguments.length ? (offset = _ == null ? none$1 : _, stack) : offset; - }; - - return stack; - } - - function expand(series, order) { - if (!((n = series.length) > 0)) return; - for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) { - for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0; - if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y; - } - none$1(series, order); - } - - function diverging(series, order) { - if (!((n = series.length) > 0)) return; - for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) { - for (yp = yn = 0, i = 0; i < n; ++i) { - if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) { - d[0] = yp, d[1] = yp += dy; - } else if (dy < 0) { - d[1] = yn, d[0] = yn += dy; - } else { - d[0] = 0, d[1] = dy; - } - } - } - } - - function silhouette(series, order) { - if (!((n = series.length) > 0)) return; - for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) { - for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0; - s0[j][1] += s0[j][0] = -y / 2; - } - none$1(series, order); - } - - function wiggle(series, order) { - if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return; - for (var y = 0, j = 1, s0, m, n; j < m; ++j) { - for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) { - var si = series[order[i]], - sij0 = si[j][1] || 0, - sij1 = si[j - 1][1] || 0, - s3 = (sij0 - sij1) / 2; - for (var k = 0; k < i; ++k) { - var sk = series[order[k]], - skj0 = sk[j][1] || 0, - skj1 = sk[j - 1][1] || 0; - s3 += skj0 - skj1; - } - s1 += sij0, s2 += s3 * sij0; - } - s0[j - 1][1] += s0[j - 1][0] = y; - if (s1) y -= s2 / s1; - } - s0[j - 1][1] += s0[j - 1][0] = y; - none$1(series, order); - } - - function appearance(series) { - var peaks = series.map(peak); - return none(series).sort(function(a, b) { return peaks[a] - peaks[b]; }); - } - - function peak(series) { - var i = -1, j = 0, n = series.length, vi, vj = -Infinity; - while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i; - return j; - } - - function ascending(series) { - var sums = series.map(sum); - return none(series).sort(function(a, b) { return sums[a] - sums[b]; }); - } - - function sum(series) { - var s = 0, i = -1, n = series.length, v; - while (++i < n) if (v = +series[i][1]) s += v; - return s; - } - - function descending(series) { - return ascending(series).reverse(); - } - - function insideOut(series) { - var n = series.length, - i, - j, - sums = series.map(sum), - order = appearance(series), - top = 0, - bottom = 0, - tops = [], - bottoms = []; - - for (i = 0; i < n; ++i) { - j = order[i]; - if (top < bottom) { - top += sums[j]; - tops.push(j); - } else { - bottom += sums[j]; - bottoms.push(j); - } - } - - return bottoms.reverse().concat(tops); - } - - function reverse(series) { - return none(series).reverse(); - } - - var constant = x => () => x; - - function ZoomEvent(type, { - sourceEvent, - target, - transform, - dispatch - }) { - Object.defineProperties(this, { - type: {value: type, enumerable: true, configurable: true}, - sourceEvent: {value: sourceEvent, enumerable: true, configurable: true}, - target: {value: target, enumerable: true, configurable: true}, - transform: {value: transform, enumerable: true, configurable: true}, - _: {value: dispatch} - }); - } - - function Transform(k, x, y) { - this.k = k; - this.x = x; - this.y = y; - } - - Transform.prototype = { - constructor: Transform, - scale: function(k) { - return k === 1 ? this : new Transform(this.k * k, this.x, this.y); - }, - translate: function(x, y) { - return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y); - }, - apply: function(point) { - return [point[0] * this.k + this.x, point[1] * this.k + this.y]; - }, - applyX: function(x) { - return x * this.k + this.x; - }, - applyY: function(y) { - return y * this.k + this.y; - }, - invert: function(location) { - return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k]; - }, - invertX: function(x) { - return (x - this.x) / this.k; - }, - invertY: function(y) { - return (y - this.y) / this.k; - }, - rescaleX: function(x) { - return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x)); - }, - rescaleY: function(y) { - return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y)); - }, - toString: function() { - return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")"; - } - }; - - var identity = new Transform(1, 0, 0); - - transform.prototype = Transform.prototype; - - function transform(node) { - while (!node.__zoom) if (!(node = node.parentNode)) return identity; - return node.__zoom; - } - - function nopropagation(event) { - event.stopImmediatePropagation(); - } - - function noevent(event) { - event.preventDefault(); - event.stopImmediatePropagation(); - } - -// Ignore right-click, since that should open the context menu. -// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event - function defaultFilter(event) { - return (!event.ctrlKey || event.type === 'wheel') && !event.button; - } - - function defaultExtent() { - var e = this; - if (e instanceof SVGElement) { - e = e.ownerSVGElement || e; - if (e.hasAttribute("viewBox")) { - e = e.viewBox.baseVal; - return [[e.x, e.y], [e.x + e.width, e.y + e.height]]; - } - return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]]; - } - return [[0, 0], [e.clientWidth, e.clientHeight]]; - } - - function defaultTransform() { - return this.__zoom || identity; - } - - function defaultWheelDelta(event) { - return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1); - } - - function defaultTouchable() { - return navigator.maxTouchPoints || ("ontouchstart" in this); - } - - function defaultConstrain(transform, extent, translateExtent) { - var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0], - dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0], - dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1], - dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1]; - return transform.translate( - dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1), - dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1) - ); - } - - function zoom() { - var filter = defaultFilter, - extent = defaultExtent, - constrain = defaultConstrain, - wheelDelta = defaultWheelDelta, - touchable = defaultTouchable, - scaleExtent = [0, Infinity], - translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]], - duration = 250, - interpolate = interpolateZoom, - listeners = dispatch("start", "zoom", "end"), - touchstarting, - touchfirst, - touchending, - touchDelay = 500, - wheelDelay = 150, - clickDistance2 = 0, - tapDistance = 10; - - function zoom(selection) { - selection - .property("__zoom", defaultTransform) - .on("wheel.zoom", wheeled) - .on("mousedown.zoom", mousedowned) - .on("dblclick.zoom", dblclicked) - .filter(touchable) - .on("touchstart.zoom", touchstarted) - .on("touchmove.zoom", touchmoved) - .on("touchend.zoom touchcancel.zoom", touchended) - .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); - } - - zoom.transform = function(collection, transform, point, event) { - var selection = collection.selection ? collection.selection() : collection; - selection.property("__zoom", defaultTransform); - if (collection !== selection) { - schedule(collection, transform, point, event); - } else { - selection.interrupt().each(function() { - gesture(this, arguments) - .event(event) - .start() - .zoom(null, typeof transform === "function" ? transform.apply(this, arguments) : transform) - .end(); - }); - } - }; - - zoom.scaleBy = function(selection, k, p, event) { - zoom.scaleTo(selection, function() { - var k0 = this.__zoom.k, - k1 = typeof k === "function" ? k.apply(this, arguments) : k; - return k0 * k1; - }, p, event); - }; - - zoom.scaleTo = function(selection, k, p, event) { - zoom.transform(selection, function() { - var e = extent.apply(this, arguments), - t0 = this.__zoom, - p0 = p == null ? centroid(e) : typeof p === "function" ? p.apply(this, arguments) : p, - p1 = t0.invert(p0), - k1 = typeof k === "function" ? k.apply(this, arguments) : k; - return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent); - }, p, event); - }; - - zoom.translateBy = function(selection, x, y, event) { - zoom.transform(selection, function() { - return constrain(this.__zoom.translate( - typeof x === "function" ? x.apply(this, arguments) : x, - typeof y === "function" ? y.apply(this, arguments) : y - ), extent.apply(this, arguments), translateExtent); - }, null, event); - }; - - zoom.translateTo = function(selection, x, y, p, event) { - zoom.transform(selection, function() { - var e = extent.apply(this, arguments), - t = this.__zoom, - p0 = p == null ? centroid(e) : typeof p === "function" ? p.apply(this, arguments) : p; - return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate( - typeof x === "function" ? -x.apply(this, arguments) : -x, - typeof y === "function" ? -y.apply(this, arguments) : -y - ), e, translateExtent); - }, p, event); - }; - - function scale(transform, k) { - k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k)); - return k === transform.k ? transform : new Transform(k, transform.x, transform.y); - } - - function translate(transform, p0, p1) { - var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k; - return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y); - } - - function centroid(extent) { - return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2]; - } - - function schedule(transition, transform, point, event) { - transition - .on("start.zoom", function() { gesture(this, arguments).event(event).start(); }) - .on("interrupt.zoom end.zoom", function() { gesture(this, arguments).event(event).end(); }) - .tween("zoom", function() { - var that = this, - args = arguments, - g = gesture(that, args).event(event), - e = extent.apply(that, args), - p = point == null ? centroid(e) : typeof point === "function" ? point.apply(that, args) : point, - w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]), - a = that.__zoom, - b = typeof transform === "function" ? transform.apply(that, args) : transform, - i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k)); - return function(t) { - if (t === 1) t = b; // Avoid rounding error on end. - else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); } - g.zoom(null, t); - }; - }); - } - - function gesture(that, args, clean) { - return (!clean && that.__zooming) || new Gesture(that, args); - } - - function Gesture(that, args) { - this.that = that; - this.args = args; - this.active = 0; - this.sourceEvent = null; - this.extent = extent.apply(that, args); - this.taps = 0; - } - - Gesture.prototype = { - event: function(event) { - if (event) this.sourceEvent = event; - return this; - }, - start: function() { - if (++this.active === 1) { - this.that.__zooming = this; - this.emit("start"); - } - return this; - }, - zoom: function(key, transform) { - if (this.mouse && key !== "mouse") this.mouse[1] = transform.invert(this.mouse[0]); - if (this.touch0 && key !== "touch") this.touch0[1] = transform.invert(this.touch0[0]); - if (this.touch1 && key !== "touch") this.touch1[1] = transform.invert(this.touch1[0]); - this.that.__zoom = transform; - this.emit("zoom"); - return this; - }, - end: function() { - if (--this.active === 0) { - delete this.that.__zooming; - this.emit("end"); - } - return this; - }, - emit: function(type) { - var d = select(this.that).datum(); - listeners.call( - type, - this.that, - new ZoomEvent(type, { - sourceEvent: this.sourceEvent, - target: zoom, - type, - transform: this.that.__zoom, - dispatch: listeners - }), - d - ); - } - }; - - function wheeled(event, ...args) { - if (!filter.apply(this, arguments)) return; - var g = gesture(this, args).event(event), - t = this.__zoom, - k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))), - p = pointer(event); - - // If the mouse is in the same location as before, reuse it. - // If there were recent wheel events, reset the wheel idle timeout. - if (g.wheel) { - if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) { - g.mouse[1] = t.invert(g.mouse[0] = p); - } - clearTimeout(g.wheel); - } - - // If this wheel event won’t trigger a transform change, ignore it. - else if (t.k === k) return; - - // Otherwise, capture the mouse point and location at the start. - else { - g.mouse = [p, t.invert(p)]; - interrupt(this); - g.start(); - } - - noevent(event); - g.wheel = setTimeout(wheelidled, wheelDelay); - g.zoom("mouse", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent)); - - function wheelidled() { - g.wheel = null; - g.end(); - } - } - - function mousedowned(event, ...args) { - if (touchending || !filter.apply(this, arguments)) return; - var g = gesture(this, args, true).event(event), - v = select(event.view).on("mousemove.zoom", mousemoved, true).on("mouseup.zoom", mouseupped, true), - p = pointer(event, currentTarget), - currentTarget = event.currentTarget, - x0 = event.clientX, - y0 = event.clientY; - - dragDisable(event.view); - nopropagation(event); - g.mouse = [p, this.__zoom.invert(p)]; - interrupt(this); - g.start(); - - function mousemoved(event) { - noevent(event); - if (!g.moved) { - var dx = event.clientX - x0, dy = event.clientY - y0; - g.moved = dx * dx + dy * dy > clickDistance2; - } - g.event(event) - .zoom("mouse", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent)); - } - - function mouseupped(event) { - v.on("mousemove.zoom mouseup.zoom", null); - yesdrag(event.view, g.moved); - noevent(event); - g.event(event).end(); - } - } - - function dblclicked(event, ...args) { - if (!filter.apply(this, arguments)) return; - var t0 = this.__zoom, - p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this), - p1 = t0.invert(p0), - k1 = t0.k * (event.shiftKey ? 0.5 : 2), - t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent); - - noevent(event); - if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event); - else select(this).call(zoom.transform, t1, p0, event); - } - - function touchstarted(event, ...args) { - if (!filter.apply(this, arguments)) return; - var touches = event.touches, - n = touches.length, - g = gesture(this, args, event.changedTouches.length === n).event(event), - started, i, t, p; - - nopropagation(event); - for (i = 0; i < n; ++i) { - t = touches[i], p = pointer(t, this); - p = [p, this.__zoom.invert(p), t.identifier]; - if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting; - else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0; - } - - if (touchstarting) touchstarting = clearTimeout(touchstarting); - - if (started) { - if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay); - interrupt(this); - g.start(); - } - } - - function touchmoved(event, ...args) { - if (!this.__zooming) return; - var g = gesture(this, args).event(event), - touches = event.changedTouches, - n = touches.length, i, t, p, l; - - noevent(event); - for (i = 0; i < n; ++i) { - t = touches[i], p = pointer(t, this); - if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p; - else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p; - } - t = g.that.__zoom; - if (g.touch1) { - var p0 = g.touch0[0], l0 = g.touch0[1], - p1 = g.touch1[0], l1 = g.touch1[1], - dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp, - dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl; - t = scale(t, Math.sqrt(dp / dl)); - p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2]; - l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2]; - } - else if (g.touch0) p = g.touch0[0], l = g.touch0[1]; - else return; - - g.zoom("touch", constrain(translate(t, p, l), g.extent, translateExtent)); - } - - function touchended(event, ...args) { - if (!this.__zooming) return; - var g = gesture(this, args).event(event), - touches = event.changedTouches, - n = touches.length, i, t; - - nopropagation(event); - if (touchending) clearTimeout(touchending); - touchending = setTimeout(function() { touchending = null; }, touchDelay); - for (i = 0; i < n; ++i) { - t = touches[i]; - if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0; - else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1; - } - if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1; - if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]); - else { - g.end(); - // If this was a dbltap, reroute to the (optional) dblclick.zoom handler. - if (g.taps === 2) { - t = pointer(t, this); - if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) { - var p = select(this).on("dblclick.zoom"); - if (p) p.apply(this, arguments); - } - } - } - } - - zoom.wheelDelta = function(_) { - return arguments.length ? (wheelDelta = typeof _ === "function" ? _ : constant(+_), zoom) : wheelDelta; - }; - - zoom.filter = function(_) { - return arguments.length ? (filter = typeof _ === "function" ? _ : constant(!!_), zoom) : filter; - }; - - zoom.touchable = function(_) { - return arguments.length ? (touchable = typeof _ === "function" ? _ : constant(!!_), zoom) : touchable; - }; - - zoom.extent = function(_) { - return arguments.length ? (extent = typeof _ === "function" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent; - }; - - zoom.scaleExtent = function(_) { - return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]]; - }; - - zoom.translateExtent = function(_) { - return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]]; - }; - - zoom.constrain = function(_) { - return arguments.length ? (constrain = _, zoom) : constrain; - }; - - zoom.duration = function(_) { - return arguments.length ? (duration = +_, zoom) : duration; - }; - - zoom.interpolate = function(_) { - return arguments.length ? (interpolate = _, zoom) : interpolate; - }; - - zoom.on = function() { - var value = listeners.on.apply(listeners, arguments); - return value === listeners ? zoom : value; - }; - - zoom.clickDistance = function(_) { - return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2); - }; - - zoom.tapDistance = function(_) { - return arguments.length ? (tapDistance = +_, zoom) : tapDistance; - }; - - return zoom; - } - - exports.Adder = Adder; - exports.Delaunay = Delaunay; - exports.FormatSpecifier = FormatSpecifier; - exports.InternMap = InternMap; - exports.InternSet = InternSet; - exports.Voronoi = Voronoi; - exports.active = active; - exports.arc = arc; - exports.area = area; - exports.areaRadial = areaRadial; - exports.ascending = ascending$3; - exports.autoType = autoType; - exports.axisBottom = axisBottom; - exports.axisLeft = axisLeft; - exports.axisRight = axisRight; - exports.axisTop = axisTop; - exports.bin = bin; - exports.bisect = bisectRight; - exports.bisectCenter = bisectCenter; - exports.bisectLeft = bisectLeft; - exports.bisectRight = bisectRight; - exports.bisector = bisector; - exports.blob = blob; - exports.brush = brush; - exports.brushSelection = brushSelection; - exports.brushX = brushX; - exports.brushY = brushY; - exports.buffer = buffer; - exports.chord = chord; - exports.chordDirected = chordDirected; - exports.chordTranspose = chordTranspose; - exports.cluster = cluster; - exports.color = color; - exports.contourDensity = density; - exports.contours = contours; - exports.count = count$1; - exports.create = create$1; - exports.creator = creator; - exports.cross = cross$2; - exports.csv = csv; - exports.csvFormat = csvFormat; - exports.csvFormatBody = csvFormatBody; - exports.csvFormatRow = csvFormatRow; - exports.csvFormatRows = csvFormatRows; - exports.csvFormatValue = csvFormatValue; - exports.csvParse = csvParse; - exports.csvParseRows = csvParseRows; - exports.cubehelix = cubehelix$3; - exports.cumsum = cumsum; - exports.curveBasis = basis; - exports.curveBasisClosed = basisClosed; - exports.curveBasisOpen = basisOpen; - exports.curveBumpX = bumpX; - exports.curveBumpY = bumpY; - exports.curveBundle = bundle; - exports.curveCardinal = cardinal; - exports.curveCardinalClosed = cardinalClosed; - exports.curveCardinalOpen = cardinalOpen; - exports.curveCatmullRom = catmullRom; - exports.curveCatmullRomClosed = catmullRomClosed; - exports.curveCatmullRomOpen = catmullRomOpen; - exports.curveLinear = curveLinear; - exports.curveLinearClosed = linearClosed; - exports.curveMonotoneX = monotoneX; - exports.curveMonotoneY = monotoneY; - exports.curveNatural = natural; - exports.curveStep = step; - exports.curveStepAfter = stepAfter; - exports.curveStepBefore = stepBefore; - exports.descending = descending$2; - exports.deviation = deviation; - exports.difference = difference; - exports.disjoint = disjoint; - exports.dispatch = dispatch; - exports.drag = drag; - exports.dragDisable = dragDisable; - exports.dragEnable = yesdrag; - exports.dsv = dsv; - exports.dsvFormat = dsvFormat; - exports.easeBack = backInOut; - exports.easeBackIn = backIn; - exports.easeBackInOut = backInOut; - exports.easeBackOut = backOut; - exports.easeBounce = bounceOut; - exports.easeBounceIn = bounceIn; - exports.easeBounceInOut = bounceInOut; - exports.easeBounceOut = bounceOut; - exports.easeCircle = circleInOut; - exports.easeCircleIn = circleIn; - exports.easeCircleInOut = circleInOut; - exports.easeCircleOut = circleOut; - exports.easeCubic = cubicInOut; - exports.easeCubicIn = cubicIn; - exports.easeCubicInOut = cubicInOut; - exports.easeCubicOut = cubicOut; - exports.easeElastic = elasticOut; - exports.easeElasticIn = elasticIn; - exports.easeElasticInOut = elasticInOut; - exports.easeElasticOut = elasticOut; - exports.easeExp = expInOut; - exports.easeExpIn = expIn; - exports.easeExpInOut = expInOut; - exports.easeExpOut = expOut; - exports.easeLinear = linear$1; - exports.easePoly = polyInOut; - exports.easePolyIn = polyIn; - exports.easePolyInOut = polyInOut; - exports.easePolyOut = polyOut; - exports.easeQuad = quadInOut; - exports.easeQuadIn = quadIn; - exports.easeQuadInOut = quadInOut; - exports.easeQuadOut = quadOut; - exports.easeSin = sinInOut; - exports.easeSinIn = sinIn; - exports.easeSinInOut = sinInOut; - exports.easeSinOut = sinOut; - exports.every = every; - exports.extent = extent$1; - exports.fcumsum = fcumsum; - exports.filter = filter$1; - exports.forceCenter = center; - exports.forceCollide = collide; - exports.forceLink = link$2; - exports.forceManyBody = manyBody; - exports.forceRadial = radial$1; - exports.forceSimulation = simulation; - exports.forceX = x$1; - exports.forceY = y$1; - exports.formatDefaultLocale = defaultLocale$1; - exports.formatLocale = formatLocale$1; - exports.formatSpecifier = formatSpecifier; - exports.fsum = fsum; - exports.geoAlbers = albers; - exports.geoAlbersUsa = albersUsa; - exports.geoArea = area$2; - exports.geoAzimuthalEqualArea = azimuthalEqualArea; - exports.geoAzimuthalEqualAreaRaw = azimuthalEqualAreaRaw; - exports.geoAzimuthalEquidistant = azimuthalEquidistant; - exports.geoAzimuthalEquidistantRaw = azimuthalEquidistantRaw; - exports.geoBounds = bounds; - exports.geoCentroid = centroid$1; - exports.geoCircle = circle$2; - exports.geoClipAntimeridian = clipAntimeridian; - exports.geoClipCircle = clipCircle; - exports.geoClipExtent = extent; - exports.geoClipRectangle = clipRectangle; - exports.geoConicConformal = conicConformal; - exports.geoConicConformalRaw = conicConformalRaw; - exports.geoConicEqualArea = conicEqualArea; - exports.geoConicEqualAreaRaw = conicEqualAreaRaw; - exports.geoConicEquidistant = conicEquidistant; - exports.geoConicEquidistantRaw = conicEquidistantRaw; - exports.geoContains = contains$1; - exports.geoDistance = distance; - exports.geoEqualEarth = equalEarth; - exports.geoEqualEarthRaw = equalEarthRaw; - exports.geoEquirectangular = equirectangular; - exports.geoEquirectangularRaw = equirectangularRaw; - exports.geoGnomonic = gnomonic; - exports.geoGnomonicRaw = gnomonicRaw; - exports.geoGraticule = graticule; - exports.geoGraticule10 = graticule10; - exports.geoIdentity = identity$4; - exports.geoInterpolate = interpolate; - exports.geoLength = length$1; - exports.geoMercator = mercator; - exports.geoMercatorRaw = mercatorRaw; - exports.geoNaturalEarth1 = naturalEarth1; - exports.geoNaturalEarth1Raw = naturalEarth1Raw; - exports.geoOrthographic = orthographic; - exports.geoOrthographicRaw = orthographicRaw; - exports.geoPath = index$2; - exports.geoProjection = projection; - exports.geoProjectionMutator = projectionMutator; - exports.geoRotation = rotation; - exports.geoStereographic = stereographic; - exports.geoStereographicRaw = stereographicRaw; - exports.geoStream = geoStream; - exports.geoTransform = transform$1; - exports.geoTransverseMercator = transverseMercator; - exports.geoTransverseMercatorRaw = transverseMercatorRaw; - exports.gray = gray; - exports.greatest = greatest; - exports.greatestIndex = greatestIndex; - exports.group = group; - exports.groupSort = groupSort; - exports.groups = groups; - exports.hcl = hcl$2; - exports.hierarchy = hierarchy; - exports.histogram = bin; - exports.hsl = hsl$2; - exports.html = html; - exports.image = image; - exports.index = index$4; - exports.indexes = indexes; - exports.interpolate = interpolate$2; - exports.interpolateArray = array$3; - exports.interpolateBasis = basis$2; - exports.interpolateBasisClosed = basisClosed$1; - exports.interpolateBlues = Blues; - exports.interpolateBrBG = BrBG; - exports.interpolateBuGn = BuGn; - exports.interpolateBuPu = BuPu; - exports.interpolateCividis = cividis; - exports.interpolateCool = cool; - exports.interpolateCubehelix = cubehelix$2; - exports.interpolateCubehelixDefault = cubehelix; - exports.interpolateCubehelixLong = cubehelixLong; - exports.interpolateDate = date$1; - exports.interpolateDiscrete = discrete; - exports.interpolateGnBu = GnBu; - exports.interpolateGreens = Greens; - exports.interpolateGreys = Greys; - exports.interpolateHcl = hcl$1; - exports.interpolateHclLong = hclLong; - exports.interpolateHsl = hsl$1; - exports.interpolateHslLong = hslLong; - exports.interpolateHue = hue; - exports.interpolateInferno = inferno; - exports.interpolateLab = lab; - exports.interpolateMagma = magma; - exports.interpolateNumber = interpolateNumber; - exports.interpolateNumberArray = numberArray; - exports.interpolateObject = object$1; - exports.interpolateOrRd = OrRd; - exports.interpolateOranges = Oranges; - exports.interpolatePRGn = PRGn; - exports.interpolatePiYG = PiYG; - exports.interpolatePlasma = plasma; - exports.interpolatePuBu = PuBu; - exports.interpolatePuBuGn = PuBuGn; - exports.interpolatePuOr = PuOr; - exports.interpolatePuRd = PuRd; - exports.interpolatePurples = Purples; - exports.interpolateRainbow = rainbow; - exports.interpolateRdBu = RdBu; - exports.interpolateRdGy = RdGy; - exports.interpolateRdPu = RdPu; - exports.interpolateRdYlBu = RdYlBu; - exports.interpolateRdYlGn = RdYlGn; - exports.interpolateReds = Reds; - exports.interpolateRgb = interpolateRgb; - exports.interpolateRgbBasis = rgbBasis; - exports.interpolateRgbBasisClosed = rgbBasisClosed; - exports.interpolateRound = interpolateRound; - exports.interpolateSinebow = sinebow; - exports.interpolateSpectral = Spectral; - exports.interpolateString = interpolateString; - exports.interpolateTransformCss = interpolateTransformCss; - exports.interpolateTransformSvg = interpolateTransformSvg; - exports.interpolateTurbo = turbo; - exports.interpolateViridis = viridis; - exports.interpolateWarm = warm; - exports.interpolateYlGn = YlGn; - exports.interpolateYlGnBu = YlGnBu; - exports.interpolateYlOrBr = YlOrBr; - exports.interpolateYlOrRd = YlOrRd; - exports.interpolateZoom = interpolateZoom; - exports.interrupt = interrupt; - exports.intersection = intersection; - exports.interval = interval; - exports.isoFormat = formatIso; - exports.isoParse = parseIso; - exports.json = json; - exports.lab = lab$1; - exports.lch = lch; - exports.least = least; - exports.leastIndex = leastIndex; - exports.line = line; - exports.lineRadial = lineRadial$1; - exports.linkHorizontal = linkHorizontal; - exports.linkRadial = linkRadial; - exports.linkVertical = linkVertical; - exports.local = local$1; - exports.map = map$1; - exports.matcher = matcher; - exports.max = max$3; - exports.maxIndex = maxIndex; - exports.mean = mean; - exports.median = median; - exports.merge = merge; - exports.min = min$2; - exports.minIndex = minIndex; - exports.namespace = namespace; - exports.namespaces = namespaces; - exports.nice = nice$1; - exports.now = now; - exports.pack = index$1; - exports.packEnclose = enclose; - exports.packSiblings = siblings; - exports.pairs = pairs; - exports.partition = partition; - exports.path = path; - exports.permute = permute; - exports.pie = pie; - exports.piecewise = piecewise; - exports.pointRadial = pointRadial; - exports.pointer = pointer; - exports.pointers = pointers; - exports.polygonArea = area$1; - exports.polygonCentroid = centroid; - exports.polygonContains = contains; - exports.polygonHull = hull; - exports.polygonLength = length; - exports.precisionFixed = precisionFixed; - exports.precisionPrefix = precisionPrefix; - exports.precisionRound = precisionRound; - exports.quadtree = quadtree; - exports.quantile = quantile$1; - exports.quantileSorted = quantileSorted; - exports.quantize = quantize$1; - exports.quickselect = quickselect; - exports.radialArea = areaRadial; - exports.radialLine = lineRadial$1; - exports.randomBates = bates; - exports.randomBernoulli = bernoulli; - exports.randomBeta = beta; - exports.randomBinomial = binomial; - exports.randomCauchy = cauchy; - exports.randomExponential = exponential; - exports.randomGamma = gamma; - exports.randomGeometric = geometric; - exports.randomInt = int; - exports.randomIrwinHall = irwinHall; - exports.randomLcg = lcg; - exports.randomLogNormal = logNormal; - exports.randomLogistic = logistic; - exports.randomNormal = normal; - exports.randomPareto = pareto; - exports.randomPoisson = poisson; - exports.randomUniform = uniform; - exports.randomWeibull = weibull; - exports.range = sequence; - exports.reduce = reduce; - exports.reverse = reverse$1; - exports.rgb = rgb; - exports.ribbon = ribbon$1; - exports.ribbonArrow = ribbonArrow; - exports.rollup = rollup; - exports.rollups = rollups; - exports.scaleBand = band; - exports.scaleDiverging = diverging$1; - exports.scaleDivergingLog = divergingLog; - exports.scaleDivergingPow = divergingPow; - exports.scaleDivergingSqrt = divergingSqrt; - exports.scaleDivergingSymlog = divergingSymlog; - exports.scaleIdentity = identity$2; - exports.scaleImplicit = implicit; - exports.scaleLinear = linear; - exports.scaleLog = log; - exports.scaleOrdinal = ordinal; - exports.scalePoint = point$4; - exports.scalePow = pow; - exports.scaleQuantile = quantile; - exports.scaleQuantize = quantize; - exports.scaleRadial = radial; - exports.scaleSequential = sequential; - exports.scaleSequentialLog = sequentialLog; - exports.scaleSequentialPow = sequentialPow; - exports.scaleSequentialQuantile = sequentialQuantile; - exports.scaleSequentialSqrt = sequentialSqrt; - exports.scaleSequentialSymlog = sequentialSymlog; - exports.scaleSqrt = sqrt$1; - exports.scaleSymlog = symlog; - exports.scaleThreshold = threshold; - exports.scaleTime = time; - exports.scaleUtc = utcTime; - exports.scan = scan; - exports.schemeAccent = Accent; - exports.schemeBlues = scheme$5; - exports.schemeBrBG = scheme$q; - exports.schemeBuGn = scheme$h; - exports.schemeBuPu = scheme$g; - exports.schemeCategory10 = category10; - exports.schemeDark2 = Dark2; - exports.schemeGnBu = scheme$f; - exports.schemeGreens = scheme$4; - exports.schemeGreys = scheme$3; - exports.schemeOrRd = scheme$e; - exports.schemeOranges = scheme; - exports.schemePRGn = scheme$p; - exports.schemePaired = Paired; - exports.schemePastel1 = Pastel1; - exports.schemePastel2 = Pastel2; - exports.schemePiYG = scheme$o; - exports.schemePuBu = scheme$c; - exports.schemePuBuGn = scheme$d; - exports.schemePuOr = scheme$n; - exports.schemePuRd = scheme$b; - exports.schemePurples = scheme$2; - exports.schemeRdBu = scheme$m; - exports.schemeRdGy = scheme$l; - exports.schemeRdPu = scheme$a; - exports.schemeRdYlBu = scheme$k; - exports.schemeRdYlGn = scheme$j; - exports.schemeReds = scheme$1; - exports.schemeSet1 = Set1; - exports.schemeSet2 = Set2; - exports.schemeSet3 = Set3; - exports.schemeSpectral = scheme$i; - exports.schemeTableau10 = Tableau10; - exports.schemeYlGn = scheme$8; - exports.schemeYlGnBu = scheme$9; - exports.schemeYlOrBr = scheme$7; - exports.schemeYlOrRd = scheme$6; - exports.select = select; - exports.selectAll = selectAll; - exports.selection = selection; - exports.selector = selector; - exports.selectorAll = selectorAll; - exports.shuffle = shuffle$1; - exports.shuffler = shuffler; - exports.some = some; - exports.sort = sort; - exports.stack = stack; - exports.stackOffsetDiverging = diverging; - exports.stackOffsetExpand = expand; - exports.stackOffsetNone = none$1; - exports.stackOffsetSilhouette = silhouette; - exports.stackOffsetWiggle = wiggle; - exports.stackOrderAppearance = appearance; - exports.stackOrderAscending = ascending; - exports.stackOrderDescending = descending; - exports.stackOrderInsideOut = insideOut; - exports.stackOrderNone = none; - exports.stackOrderReverse = reverse; - exports.stratify = stratify; - exports.style = styleValue; - exports.subset = subset; - exports.sum = sum$1; - exports.superset = superset; - exports.svg = svg; - exports.symbol = symbol; - exports.symbolCircle = circle; - exports.symbolCross = cross; - exports.symbolDiamond = diamond; - exports.symbolSquare = square; - exports.symbolStar = star; - exports.symbolTriangle = triangle; - exports.symbolWye = wye; - exports.symbols = symbols; - exports.text = text; - exports.thresholdFreedmanDiaconis = freedmanDiaconis; - exports.thresholdScott = scott; - exports.thresholdSturges = thresholdSturges; - exports.tickFormat = tickFormat; - exports.tickIncrement = tickIncrement; - exports.tickStep = tickStep; - exports.ticks = ticks; - exports.timeDay = day; - exports.timeDays = days; - exports.timeFormatDefaultLocale = defaultLocale; - exports.timeFormatLocale = formatLocale; - exports.timeFriday = friday; - exports.timeFridays = fridays; - exports.timeHour = hour; - exports.timeHours = hours; - exports.timeInterval = newInterval; - exports.timeMillisecond = millisecond; - exports.timeMilliseconds = milliseconds; - exports.timeMinute = minute; - exports.timeMinutes = minutes; - exports.timeMonday = monday; - exports.timeMondays = mondays; - exports.timeMonth = month; - exports.timeMonths = months; - exports.timeSaturday = saturday; - exports.timeSaturdays = saturdays; - exports.timeSecond = second; - exports.timeSeconds = seconds; - exports.timeSunday = sunday; - exports.timeSundays = sundays; - exports.timeThursday = thursday; - exports.timeThursdays = thursdays; - exports.timeTickInterval = timeTickInterval; - exports.timeTicks = timeTicks; - exports.timeTuesday = tuesday; - exports.timeTuesdays = tuesdays; - exports.timeWednesday = wednesday; - exports.timeWednesdays = wednesdays; - exports.timeWeek = sunday; - exports.timeWeeks = sundays; - exports.timeYear = year; - exports.timeYears = years; - exports.timeout = timeout; - exports.timer = timer; - exports.timerFlush = timerFlush; - exports.transition = transition; - exports.transpose = transpose; - exports.tree = tree; - exports.treemap = index; - exports.treemapBinary = binary; - exports.treemapDice = treemapDice; - exports.treemapResquarify = resquarify; - exports.treemapSlice = treemapSlice; - exports.treemapSliceDice = sliceDice; - exports.treemapSquarify = squarify; - exports.tsv = tsv; - exports.tsvFormat = tsvFormat; - exports.tsvFormatBody = tsvFormatBody; - exports.tsvFormatRow = tsvFormatRow; - exports.tsvFormatRows = tsvFormatRows; - exports.tsvFormatValue = tsvFormatValue; - exports.tsvParse = tsvParse; - exports.tsvParseRows = tsvParseRows; - exports.union = union; - exports.utcDay = utcDay; - exports.utcDays = utcDays; - exports.utcFriday = utcFriday; - exports.utcFridays = utcFridays; - exports.utcHour = utcHour; - exports.utcHours = utcHours; - exports.utcMillisecond = millisecond; - exports.utcMilliseconds = milliseconds; - exports.utcMinute = utcMinute; - exports.utcMinutes = utcMinutes; - exports.utcMonday = utcMonday; - exports.utcMondays = utcMondays; - exports.utcMonth = utcMonth; - exports.utcMonths = utcMonths; - exports.utcSaturday = utcSaturday; - exports.utcSaturdays = utcSaturdays; - exports.utcSecond = second; - exports.utcSeconds = seconds; - exports.utcSunday = utcSunday; - exports.utcSundays = utcSundays; - exports.utcThursday = utcThursday; - exports.utcThursdays = utcThursdays; - exports.utcTickInterval = utcTickInterval; - exports.utcTicks = utcTicks; - exports.utcTuesday = utcTuesday; - exports.utcTuesdays = utcTuesdays; - exports.utcWednesday = utcWednesday; - exports.utcWednesdays = utcWednesdays; - exports.utcWeek = utcSunday; - exports.utcWeeks = utcSundays; - exports.utcYear = utcYear; - exports.utcYears = utcYears; - exports.variance = variance; - exports.version = version; - exports.window = defaultView; - exports.xml = xml; - exports.zip = zip; - exports.zoom = zoom; - exports.zoomIdentity = identity; - exports.zoomTransform = transform; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}))); \ No newline at end of file diff --git a/extension/visualizer/generate_visualizer_header.py b/extension/visualizer/generate_visualizer_header.py deleted file mode 100644 index d57ec41cf972..000000000000 --- a/extension/visualizer/generate_visualizer_header.py +++ /dev/null @@ -1,86 +0,0 @@ -# this script generates visualizer header -import os - -visualizer_dir = 'extension/visualizer' -visualizer_css = os.path.join(visualizer_dir, 'visualizer.css') -visualizer_d3 = os.path.join(visualizer_dir, 'd3.js') -visualizer_script = os.path.join(visualizer_dir, 'script.js') -visualizer_header = os.path.join(visualizer_dir, 'include', 'visualizer_constants.hpp') - - -def open_utf8(fpath, flags): - import sys - - if sys.version_info[0] < 3: - return open(fpath, flags) - else: - return open(fpath, flags, encoding="utf8") - - -def get_byte_array(fpath, add_null_terminator=True): - with open(fpath, 'rb') as f: - text = bytearray(f.read()) - result_text = "" - first = True - for byte in text: - if first: - result_text += str(byte) - else: - result_text += ", " + str(byte) - first = False - if add_null_terminator: - result_text += ", 0" - return result_text - - -def write_file(fname, varname): - result = "const uint8_t %s[] = {" % (varname,) + get_byte_array(fname) + "};\n" - return result - - -def create_visualizer_header(): - result = """/* THIS FILE WAS AUTOMATICALLY GENERATED BY generate_visualizer_header.py */ - -/* -Copyright 2010-2020 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#pragma once - -""" - - result += write_file(visualizer_css, "css") - result += write_file(visualizer_d3, "d3") - result += write_file(visualizer_script, "script") - - with open_utf8(visualizer_header, 'w+') as f: - f.write(result) - - -create_visualizer_header() diff --git a/extension/visualizer/include/visualizer_constants.hpp b/extension/visualizer/include/visualizer_constants.hpp deleted file mode 100644 index 683cf8e13737..000000000000 --- a/extension/visualizer/include/visualizer_constants.hpp +++ /dev/null @@ -1,30047 +0,0 @@ -/* THIS FILE WAS AUTOMATICALLY GENERATED BY generate_visualizer_header.py */ - -/* -Copyright 2010-2020 Mike Bostock -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#pragma once - -const uint8_t css[] = { - 104, 116, 109, 108, 32, 123, 10, 32, 32, 32, 32, 104, 101, 105, 103, 104, 116, 58, 32, 49, 48, 48, 37, - 59, 10, 125, 10, 10, 46, 108, 105, 110, 107, 32, 123, 10, 32, 32, 32, 32, 102, 105, 108, 108, 58, 32, - 110, 111, 110, 101, 59, 10, 32, 32, 32, 32, 115, 116, 114, 111, 107, 101, 58, 32, 98, 108, 117, 101, 59, - 10, 32, 32, 32, 32, 115, 116, 114, 111, 107, 101, 45, 111, 112, 97, 99, 105, 116, 121, 58, 32, 48, 46, - 51, 59, 10, 125, 10, 10, 115, 118, 103, 32, 123, 10, 32, 32, 32, 32, 98, 111, 114, 100, 101, 114, 58, - 32, 53, 112, 120, 32, 115, 111, 108, 105, 100, 32, 103, 114, 97, 121, 59, 10, 125, 10, 10, 100, 105, 118, - 32, 123, 10, 32, 32, 32, 32, 112, 111, 115, 105, 116, 105, 111, 110, 58, 32, 97, 98, 115, 111, 108, 117, - 116, 101, 59, 10, 32, 32, 32, 32, 122, 45, 105, 110, 100, 101, 120, 58, 32, 49, 59, 10, 125, 0}; -const uint8_t d3[] = { - 47, 47, 32, 104, 116, 116, 112, 115, 58, 47, 47, 100, 51, 106, 115, 46, 111, 114, 103, 32, 118, 54, 46, - 55, 46, 48, 32, 67, 111, 112, 121, 114, 105, 103, 104, 116, 32, 50, 48, 50, 49, 32, 77, 105, 107, 101, - 32, 66, 111, 115, 116, 111, 99, 107, 10, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 103, 108, 111, - 98, 97, 108, 44, 32, 102, 97, 99, 116, 111, 114, 121, 41, 32, 123, 10, 32, 32, 32, 32, 116, 121, 112, - 101, 111, 102, 32, 101, 120, 112, 111, 114, 116, 115, 32, 61, 61, 61, 32, 39, 111, 98, 106, 101, 99, 116, - 39, 32, 38, 38, 32, 116, 121, 112, 101, 111, 102, 32, 109, 111, 100, 117, 108, 101, 32, 33, 61, 61, 32, - 39, 117, 110, 100, 101, 102, 105, 110, 101, 100, 39, 32, 63, 32, 102, 97, 99, 116, 111, 114, 121, 40, 101, - 120, 112, 111, 114, 116, 115, 41, 32, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 111, - 102, 32, 100, 101, 102, 105, 110, 101, 32, 61, 61, 61, 32, 39, 102, 117, 110, 99, 116, 105, 111, 110, 39, - 32, 38, 38, 32, 100, 101, 102, 105, 110, 101, 46, 97, 109, 100, 32, 63, 32, 100, 101, 102, 105, 110, 101, - 40, 91, 39, 101, 120, 112, 111, 114, 116, 115, 39, 93, 44, 32, 102, 97, 99, 116, 111, 114, 121, 41, 32, - 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 103, 108, 111, 98, 97, 108, 32, 61, - 32, 116, 121, 112, 101, 111, 102, 32, 103, 108, 111, 98, 97, 108, 84, 104, 105, 115, 32, 33, 61, 61, 32, - 39, 117, 110, 100, 101, 102, 105, 110, 101, 100, 39, 32, 63, 32, 103, 108, 111, 98, 97, 108, 84, 104, 105, - 115, 32, 58, 32, 103, 108, 111, 98, 97, 108, 32, 124, 124, 32, 115, 101, 108, 102, 44, 32, 102, 97, 99, - 116, 111, 114, 121, 40, 103, 108, 111, 98, 97, 108, 46, 100, 51, 32, 61, 32, 103, 108, 111, 98, 97, 108, - 46, 100, 51, 32, 124, 124, 32, 123, 125, 41, 41, 59, 10, 125, 40, 116, 104, 105, 115, 44, 32, 40, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 40, 101, 120, 112, 111, 114, 116, 115, 41, 32, 123, 32, 39, 117, 115, - 101, 32, 115, 116, 114, 105, 99, 116, 39, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 118, 101, 114, - 115, 105, 111, 110, 32, 61, 32, 34, 54, 46, 55, 46, 48, 34, 59, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 40, 97, 44, 32, 98, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 32, 60, 32, - 98, 32, 63, 32, 45, 49, 32, 58, 32, 97, 32, 62, 32, 98, 32, 63, 32, 49, 32, 58, 32, 97, 32, - 62, 61, 32, 98, 32, 63, 32, 48, 32, 58, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 105, 115, 101, 99, 116, 111, 114, 40, 102, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 100, 101, 108, 116, 97, 32, 61, - 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 99, 111, 109, 112, 97, 114, 101, - 32, 61, 32, 102, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 46, 108, 101, - 110, 103, 116, 104, 32, 61, 61, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 101, 108, 116, 97, 32, 61, 32, 40, 100, 44, 32, 120, 41, 32, 61, 62, 32, 102, 40, - 100, 41, 32, 45, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 109, - 112, 97, 114, 101, 32, 61, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 67, 111, 109, 112, 97, 114, 97, - 116, 111, 114, 40, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 101, 102, 116, 40, 97, 44, 32, 120, 44, - 32, 108, 111, 44, 32, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 108, 111, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 108, 111, 32, 61, 32, 48, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 105, 32, 61, 61, 32, - 110, 117, 108, 108, 41, 32, 104, 105, 32, 61, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 108, 111, 32, 60, 32, 104, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 109, 105, 100, 32, 61, 32, 40, 108, 111, 32, 43, 32, 104, 105, 41, 32, 62, 62, 62, - 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 99, 111, 109, 112, 97, 114, 101, 40, 97, 91, 109, 105, 100, 93, 44, 32, 120, 41, 32, 60, 32, 48, - 41, 32, 108, 111, 32, 61, 32, 109, 105, 100, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 104, 105, 32, 61, 32, 109, 105, 100, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 105, 103, - 104, 116, 40, 97, 44, 32, 120, 44, 32, 108, 111, 44, 32, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 111, 32, 61, 61, 32, 110, 117, 108, 108, 41, - 32, 108, 111, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 104, 105, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 104, 105, 32, 61, 32, 97, 46, 108, 101, - 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, - 32, 40, 108, 111, 32, 60, 32, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 105, 100, 32, 61, 32, 40, 108, 111, 32, 43, - 32, 104, 105, 41, 32, 62, 62, 62, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 109, 112, 97, 114, 101, 40, 97, 91, 109, 105, 100, 93, - 44, 32, 120, 41, 32, 62, 32, 48, 41, 32, 104, 105, 32, 61, 32, 109, 105, 100, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 108, 111, 32, 61, 32, - 109, 105, 100, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 99, 101, 110, 116, 101, 114, 40, 97, 44, 32, 120, 44, 32, 108, 111, 44, 32, 104, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 111, - 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 108, 111, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 105, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, - 104, 105, 32, 61, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 32, 61, 32, 108, 101, 102, 116, 40, 97, 44, 32, 120, - 44, 32, 108, 111, 44, 32, 104, 105, 32, 45, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 32, 62, 32, 108, 111, 32, 38, 38, 32, 100, 101, - 108, 116, 97, 40, 97, 91, 105, 32, 45, 32, 49, 93, 44, 32, 120, 41, 32, 62, 32, 45, 100, 101, 108, - 116, 97, 40, 97, 91, 105, 93, 44, 32, 120, 41, 32, 63, 32, 105, 32, 45, 32, 49, 32, 58, 32, 105, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 123, 108, 101, 102, 116, 44, 32, 99, 101, 110, 116, 101, 114, 44, 32, 114, 105, 103, - 104, 116, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 67, 111, 109, 112, 97, 114, 97, 116, 111, 114, 40, 102, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 100, 44, 32, - 120, 41, 32, 61, 62, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 40, 102, 40, 100, 41, 44, - 32, 120, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 110, 117, 109, 98, 101, 114, 36, 51, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 78, 97, - 78, 32, 58, 32, 43, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 42, 32, 110, 117, 109, 98, 101, 114, 115, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, - 97, 108, 117, 101, 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, - 97, 108, 117, 101, 111, 102, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, - 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 33, 61, - 32, 110, 117, 108, 108, 32, 38, 38, 32, 40, 118, 97, 108, 117, 101, 32, 61, 32, 43, 118, 97, 108, 117, - 101, 41, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 105, 101, 108, 100, 32, 118, 97, 108, 117, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, - 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 110, - 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 40, 118, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 111, 102, 40, 118, 97, 108, 117, 101, - 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, 117, 101, 115, 41, 41, 32, 33, 61, 32, - 110, 117, 108, 108, 32, 38, 38, 32, 40, 118, 97, 108, 117, 101, 32, 61, 32, 43, 118, 97, 108, 117, 101, - 41, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 105, 101, 108, 100, 32, 118, 97, 108, 117, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, - 66, 105, 115, 101, 99, 116, 32, 61, 32, 98, 105, 115, 101, 99, 116, 111, 114, 40, 97, 115, 99, 101, 110, - 100, 105, 110, 103, 36, 51, 41, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 105, 115, 101, - 99, 116, 82, 105, 103, 104, 116, 32, 61, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 66, 105, 115, 101, - 99, 116, 46, 114, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 105, 115, - 101, 99, 116, 76, 101, 102, 116, 32, 61, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 66, 105, 115, 101, - 99, 116, 46, 108, 101, 102, 116, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 105, 115, 101, - 99, 116, 67, 101, 110, 116, 101, 114, 32, 61, 32, 98, 105, 115, 101, 99, 116, 111, 114, 40, 110, 117, 109, - 98, 101, 114, 36, 51, 41, 46, 99, 101, 110, 116, 101, 114, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 99, 111, 117, 110, 116, 36, 49, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, - 97, 108, 117, 101, 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 99, - 111, 117, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, - 97, 108, 117, 101, 111, 102, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, - 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 33, 61, - 32, 110, 117, 108, 108, 32, 38, 38, 32, 40, 118, 97, 108, 117, 101, 32, 61, 32, 43, 118, 97, 108, 117, - 101, 41, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 43, 99, 111, 117, 110, 116, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, - 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 118, 97, - 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 111, 102, 40, 118, 97, 108, 117, 101, 44, 32, 43, 43, - 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, 117, 101, 115, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, - 32, 38, 38, 32, 40, 118, 97, 108, 117, 101, 32, 61, 32, 43, 118, 97, 108, 117, 101, 41, 32, 62, 61, - 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 43, 43, 99, 111, 117, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 99, 111, 117, 110, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 108, 101, 110, 103, 116, 104, 36, 51, 40, 97, 114, 114, 97, 121, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 114, 97, 121, - 46, 108, 101, 110, 103, 116, 104, 32, 124, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 109, 112, 116, 121, 36, 50, 40, 108, 101, 110, 103, 116, - 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 33, 40, 108, - 101, 110, 103, 116, 104, 32, 62, 32, 48, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 114, 97, 121, 105, 102, 121, 40, 118, 97, 108, 117, 101, - 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 121, 112, - 101, 111, 102, 32, 118, 97, 108, 117, 101, 115, 32, 33, 61, 61, 32, 34, 111, 98, 106, 101, 99, 116, 34, - 32, 124, 124, 32, 34, 108, 101, 110, 103, 116, 104, 34, 32, 105, 110, 32, 118, 97, 108, 117, 101, 115, 32, - 63, 32, 118, 97, 108, 117, 101, 115, 32, 58, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 118, - 97, 108, 117, 101, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 114, 101, 100, 117, 99, 101, 114, 40, 114, 101, 100, 117, 99, 101, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 115, 32, 61, - 62, 32, 114, 101, 100, 117, 99, 101, 40, 46, 46, 46, 118, 97, 108, 117, 101, 115, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 114, 111, 115, 115, - 36, 50, 40, 46, 46, 46, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 114, 101, 100, 117, 99, 101, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, - 118, 97, 108, 117, 101, 115, 91, 118, 97, 108, 117, 101, 115, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, - 49, 93, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 38, 38, 32, 114, 101, - 100, 117, 99, 101, 114, 40, 118, 97, 108, 117, 101, 115, 46, 112, 111, 112, 40, 41, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 115, 32, 61, 32, 118, 97, 108, 117, 101, 115, 46, 109, - 97, 112, 40, 97, 114, 114, 97, 121, 105, 102, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 115, 116, 32, 108, 101, 110, 103, 116, 104, 115, 32, 61, 32, 118, 97, 108, 117, 101, 115, 46, 109, - 97, 112, 40, 108, 101, 110, 103, 116, 104, 36, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 115, 116, 32, 106, 32, 61, 32, 118, 97, 108, 117, 101, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 45, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 100, 101, - 120, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 106, 32, 43, 32, 49, 41, 46, 102, 105, - 108, 108, 40, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 114, - 111, 100, 117, 99, 116, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 106, 32, 60, 32, 48, 32, 124, 124, 32, 108, 101, 110, 103, 116, 104, 115, 46, 115, 111, 109, 101, 40, - 101, 109, 112, 116, 121, 36, 50, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 100, 117, 99, - 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 116, 114, 117, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 100, 117, 99, 116, 46, - 112, 117, 115, 104, 40, 105, 110, 100, 101, 120, 46, 109, 97, 112, 40, 40, 106, 44, 32, 105, 41, 32, 61, - 62, 32, 118, 97, 108, 117, 101, 115, 91, 105, 93, 91, 106, 93, 41, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 32, 61, 32, 106, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 110, 100, 101, 120, 91, 105, - 93, 32, 61, 61, 61, 32, 108, 101, 110, 103, 116, 104, 115, 91, 105, 93, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 61, 61, 61, 32, - 48, 41, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 100, 117, 99, 101, 32, 63, 32, 112, 114, 111, 100, - 117, 99, 116, 46, 109, 97, 112, 40, 114, 101, 100, 117, 99, 101, 41, 32, 58, 32, 112, 114, 111, 100, 117, - 99, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 100, - 101, 120, 91, 105, 45, 45, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 109, 115, 117, 109, 40, 118, 97, 108, 117, 101, - 115, 44, 32, 118, 97, 108, 117, 101, 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 115, 117, 109, 32, 61, 32, 48, 44, 32, 105, 110, 100, 101, 120, 32, 61, 32, 48, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 70, 108, 111, 97, 116, 54, 52, 65, - 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, - 111, 102, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 63, 32, 118, 32, 61, 62, 32, 40, 115, 117, 109, 32, 43, 61, 32, 43, 118, - 32, 124, 124, 32, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 118, 32, - 61, 62, 32, 40, 115, 117, 109, 32, 43, 61, 32, 43, 118, 97, 108, 117, 101, 111, 102, 40, 118, 44, 32, - 105, 110, 100, 101, 120, 43, 43, 44, 32, 118, 97, 108, 117, 101, 115, 41, 32, 124, 124, 32, 48, 41, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, - 101, 115, 99, 101, 110, 100, 105, 110, 103, 36, 50, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 32, 60, 32, 97, 32, 63, 32, 45, 49, 32, - 58, 32, 98, 32, 62, 32, 97, 32, 63, 32, 49, 32, 58, 32, 98, 32, 62, 61, 32, 97, 32, 63, 32, - 48, 32, 58, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 118, 97, 114, 105, 97, 110, 99, 101, 40, 118, 97, 108, 117, 101, 115, 44, 32, - 118, 97, 108, 117, 101, 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, - 99, 111, 117, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, - 100, 101, 108, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 101, 97, 110, - 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 115, 117, 109, 32, 61, - 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 111, 102, - 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, 111, - 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 33, 61, 32, 110, 117, 108, 108, 32, - 38, 38, 32, 40, 118, 97, 108, 117, 101, 32, 61, 32, 43, 118, 97, 108, 117, 101, 41, 32, 62, 61, 32, - 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 101, 108, 116, 97, 32, 61, 32, 118, 97, 108, 117, 101, 32, 45, 32, 109, - 101, 97, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 109, 101, 97, 110, 32, 43, 61, 32, 100, 101, 108, 116, 97, 32, 47, 32, 43, 43, 99, 111, 117, - 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 117, 109, 32, 43, 61, 32, 100, 101, 108, 116, 97, 32, 42, 32, 40, 118, 97, 108, 117, 101, 32, - 45, 32, 109, 101, 97, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, - 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 40, 118, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 111, - 102, 40, 118, 97, 108, 117, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, 117, 101, - 115, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, 40, 118, 97, 108, 117, 101, 32, 61, - 32, 43, 118, 97, 108, 117, 101, 41, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 116, 97, - 32, 61, 32, 118, 97, 108, 117, 101, 32, 45, 32, 109, 101, 97, 110, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 97, 110, 32, 43, 61, 32, 100, - 101, 108, 116, 97, 32, 47, 32, 43, 43, 99, 111, 117, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 109, 32, 43, 61, 32, 100, 101, 108, - 116, 97, 32, 42, 32, 40, 118, 97, 108, 117, 101, 32, 45, 32, 109, 101, 97, 110, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 99, 111, 117, 110, 116, 32, 62, 32, 49, 41, 32, 114, 101, 116, 117, 114, 110, - 32, 115, 117, 109, 32, 47, 32, 40, 99, 111, 117, 110, 116, 32, 45, 32, 49, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 118, 105, 97, 116, - 105, 111, 110, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 111, 102, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 118, 32, 61, 32, 118, 97, 114, 105, 97, - 110, 99, 101, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 111, 102, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 32, 63, 32, 77, 97, 116, 104, 46, - 115, 113, 114, 116, 40, 118, 41, 32, 58, 32, 118, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 120, 116, 101, 110, 116, 36, 49, 40, 118, 97, 108, 117, - 101, 115, 44, 32, 118, 97, 108, 117, 101, 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 101, 116, 32, 109, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 97, - 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 111, 102, 32, - 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, - 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 33, 61, 32, 110, 117, 108, 108, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 109, 105, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, - 32, 109, 105, 110, 32, 61, 32, 109, 97, 120, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 109, 105, 110, 32, 62, 32, 118, 97, 108, 117, 101, 41, 32, 109, 105, - 110, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 97, 120, 32, 60, 32, 118, - 97, 108, 117, 101, 41, 32, 109, 97, 120, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, - 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, - 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 118, 97, 108, 117, 101, - 32, 61, 32, 118, 97, 108, 117, 101, 111, 102, 40, 118, 97, 108, 117, 101, 44, 32, 43, 43, 105, 110, 100, - 101, 120, 44, 32, 118, 97, 108, 117, 101, 115, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 109, 105, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, 32, 109, 105, - 110, 32, 61, 32, 109, 97, 120, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 109, 105, 110, 32, 62, 32, 118, 97, 108, 117, 101, 41, 32, 109, 105, 110, 32, 61, - 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 97, 120, 32, 60, 32, 118, 97, 108, 117, - 101, 41, 32, 109, 97, 120, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 91, 109, 105, 110, 44, 32, 109, 97, 120, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, - 47, 32, 104, 116, 116, 112, 115, 58, 47, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 47, 112, 121, - 116, 104, 111, 110, 47, 99, 112, 121, 116, 104, 111, 110, 47, 98, 108, 111, 98, 47, 97, 55, 52, 101, 101, - 97, 50, 51, 56, 102, 53, 98, 97, 98, 97, 49, 53, 55, 57, 55, 101, 50, 101, 56, 98, 53, 55, 48, - 100, 49, 53, 51, 98, 99, 56, 54, 57, 48, 97, 55, 47, 77, 111, 100, 117, 108, 101, 115, 47, 109, 97, - 116, 104, 109, 111, 100, 117, 108, 101, 46, 99, 35, 76, 49, 52, 50, 51, 10, 32, 32, 32, 32, 99, 108, - 97, 115, 115, 32, 65, 100, 100, 101, 114, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 114, 117, 99, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 116, 105, 97, 108, 115, 32, 61, 32, 110, 101, 119, 32, - 70, 108, 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, 40, 51, 50, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 110, 32, 61, 32, 48, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 100, 100, 40, 120, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 112, 97, 114, 116, 105, 97, 108, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, - 60, 32, 116, 104, 105, 115, 46, 95, 110, 32, 38, 38, 32, 106, 32, 60, 32, 51, 50, 59, 32, 106, 43, - 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 121, 32, 61, 32, 112, 91, 106, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 105, 32, 61, 32, 120, 32, 43, 32, 121, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 32, - 61, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 120, 41, 32, 60, 32, 77, 97, 116, 104, 46, 97, 98, - 115, 40, 121, 41, 32, 63, 32, 120, 32, 45, 32, 40, 104, 105, 32, 45, 32, 121, 41, 32, 58, 32, 121, - 32, 45, 32, 40, 104, 105, 32, 45, 32, 120, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 111, 41, 32, 112, 91, 105, 43, 43, 93, 32, 61, 32, - 108, 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, - 32, 104, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 91, 105, 93, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 110, 32, 61, 32, 105, 32, 43, 32, 49, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, - 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 108, 117, 101, 79, 102, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 115, 116, 32, 112, 32, 61, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 116, 105, 97, 108, 115, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 110, 32, 61, 32, 116, - 104, 105, 115, 46, 95, 110, 44, 32, 120, 44, 32, 121, 44, 32, 108, 111, 44, 32, 104, 105, 32, 61, 32, - 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 32, 62, 32, - 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 105, - 32, 61, 32, 112, 91, 45, 45, 110, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 110, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 104, 105, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, - 32, 61, 32, 112, 91, 45, 45, 110, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 104, 105, 32, 61, 32, 120, 32, 43, 32, 121, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 32, 61, 32, 121, - 32, 45, 32, 40, 104, 105, 32, 45, 32, 120, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 111, 41, 32, 98, 114, 101, 97, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 32, 62, 32, 48, 32, - 38, 38, 32, 40, 40, 108, 111, 32, 60, 32, 48, 32, 38, 38, 32, 112, 91, 110, 32, 45, 32, 49, 93, - 32, 60, 32, 48, 41, 32, 124, 124, 32, 40, 108, 111, 32, 62, 32, 48, 32, 38, 38, 32, 112, 91, 110, - 32, 45, 32, 49, 93, 32, 62, 32, 48, 41, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 108, 111, 32, 42, 32, 50, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, - 61, 32, 104, 105, 32, 43, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 32, 61, 61, 32, 120, 32, 45, 32, 104, 105, 41, - 32, 104, 105, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 104, 105, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 102, 115, 117, 109, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 111, 102, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 97, 100, 100, 101, 114, 32, - 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 118, 97, 108, 117, 101, 111, 102, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, - 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, - 117, 101, 32, 61, 32, 43, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 100, 100, 101, 114, 46, 97, 100, 100, 40, 118, - 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, - 101, 116, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, - 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 61, 32, 43, 118, 97, 108, 117, 101, 111, 102, 40, - 118, 97, 108, 117, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, 117, 101, 115, 41, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 97, 100, 100, 101, 114, 46, 97, 100, 100, 40, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 43, 97, 100, 100, 101, 114, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 99, 117, 109, 115, 117, 109, 40, 118, 97, 108, - 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 97, 100, 100, 101, 114, 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, - 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, - 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 70, 108, - 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 118, 97, 108, 117, 101, 115, 44, - 32, 118, 97, 108, 117, 101, 111, 102, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 118, 32, 61, 62, 32, 97, 100, 100, 101, - 114, 46, 97, 100, 100, 40, 43, 118, 32, 124, 124, 32, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 58, 32, 118, 32, 61, 62, 32, 97, 100, 100, 101, 114, 46, 97, 100, 100, 40, 43, 118, - 97, 108, 117, 101, 111, 102, 40, 118, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, 117, - 101, 115, 41, 32, 124, 124, 32, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 99, 108, 97, 115, 115, 32, 73, 110, 116, 101, 114, 110, 77, 97, - 112, 32, 101, 120, 116, 101, 110, 100, 115, 32, 77, 97, 112, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 101, 110, 116, 114, 105, 101, 115, 44, 32, 107, - 101, 121, 32, 61, 32, 107, 101, 121, 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 117, 112, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 79, 98, 106, 101, 99, 116, 46, 100, 101, 102, 105, 110, 101, 80, 114, 111, 112, 101, 114, 116, 105, 101, - 115, 40, 116, 104, 105, 115, 44, 32, 123, 95, 105, 110, 116, 101, 114, 110, 58, 32, 123, 118, 97, 108, 117, - 101, 58, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 125, 44, 32, 95, 107, 101, 121, 58, 32, 123, 118, - 97, 108, 117, 101, 58, 32, 107, 101, 121, 125, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 101, 110, 116, 114, 105, 101, 115, 32, 33, 61, 32, 110, 117, 108, 108, 41, - 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 91, 107, 101, 121, 44, 32, 118, 97, 108, 117, 101, - 93, 32, 111, 102, 32, 101, 110, 116, 114, 105, 101, 115, 41, 32, 116, 104, 105, 115, 46, 115, 101, 116, 40, - 107, 101, 121, 44, 32, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 116, 40, 107, 101, 121, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 117, 112, 101, 114, 46, 103, 101, - 116, 40, 105, 110, 116, 101, 114, 110, 95, 103, 101, 116, 40, 116, 104, 105, 115, 44, 32, 107, 101, 121, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 97, - 115, 40, 107, 101, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 115, 117, 112, 101, 114, 46, 104, 97, 115, 40, 105, 110, 116, 101, 114, 110, 95, 103, - 101, 116, 40, 116, 104, 105, 115, 44, 32, 107, 101, 121, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 40, 107, 101, 121, 44, 32, 118, 97, 108, - 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 115, 117, 112, 101, 114, 46, 115, 101, 116, 40, 105, 110, 116, 101, 114, 110, 95, 115, 101, 116, 40, - 116, 104, 105, 115, 44, 32, 107, 101, 121, 41, 44, 32, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 40, 107, - 101, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 115, 117, 112, 101, 114, 46, 100, 101, 108, 101, 116, 101, 40, 105, 110, 116, 101, 114, 110, 95, 100, - 101, 108, 101, 116, 101, 40, 116, 104, 105, 115, 44, 32, 107, 101, 121, 41, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 99, 108, 97, 115, 115, 32, - 73, 110, 116, 101, 114, 110, 83, 101, 116, 32, 101, 120, 116, 101, 110, 100, 115, 32, 83, 101, 116, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 118, 97, - 108, 117, 101, 115, 44, 32, 107, 101, 121, 32, 61, 32, 107, 101, 121, 111, 102, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 112, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 79, 98, 106, 101, 99, 116, 46, 100, 101, 102, 105, 110, 101, 80, 114, - 111, 112, 101, 114, 116, 105, 101, 115, 40, 116, 104, 105, 115, 44, 32, 123, 95, 105, 110, 116, 101, 114, 110, - 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 125, 44, 32, 95, - 107, 101, 121, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 107, 101, 121, 125, 125, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 115, 32, 33, 61, - 32, 110, 117, 108, 108, 41, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, - 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 116, 104, 105, 115, 46, 97, 100, 100, 40, 118, 97, - 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 104, 97, 115, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 117, 112, 101, 114, 46, 104, 97, 115, 40, 105, 110, 116, - 101, 114, 110, 95, 103, 101, 116, 40, 116, 104, 105, 115, 44, 32, 118, 97, 108, 117, 101, 41, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 100, 100, 40, 118, - 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 115, 117, 112, 101, 114, 46, 97, 100, 100, 40, 105, 110, 116, 101, 114, 110, 95, 115, 101, - 116, 40, 116, 104, 105, 115, 44, 32, 118, 97, 108, 117, 101, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 40, 118, 97, 108, 117, - 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 115, 117, 112, 101, 114, 46, 100, 101, 108, 101, 116, 101, 40, 105, 110, 116, 101, 114, 110, 95, 100, 101, - 108, 101, 116, 101, 40, 116, 104, 105, 115, 44, 32, 118, 97, 108, 117, 101, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 105, 110, 116, 101, 114, 110, 95, 103, 101, 116, 40, 123, 95, 105, 110, 116, 101, 114, 110, - 44, 32, 95, 107, 101, 121, 125, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 107, 101, 121, 32, 61, 32, 95, 107, 101, 121, 40, 118, 97, 108, - 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 95, 105, 110, - 116, 101, 114, 110, 46, 104, 97, 115, 40, 107, 101, 121, 41, 32, 63, 32, 95, 105, 110, 116, 101, 114, 110, - 46, 103, 101, 116, 40, 107, 101, 121, 41, 32, 58, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 110, 95, - 115, 101, 116, 40, 123, 95, 105, 110, 116, 101, 114, 110, 44, 32, 95, 107, 101, 121, 125, 44, 32, 118, 97, - 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 107, 101, - 121, 32, 61, 32, 95, 107, 101, 121, 40, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 95, 105, 110, 116, 101, 114, 110, 46, 104, 97, 115, 40, 107, 101, 121, 41, 41, - 32, 114, 101, 116, 117, 114, 110, 32, 95, 105, 110, 116, 101, 114, 110, 46, 103, 101, 116, 40, 107, 101, 121, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 105, 110, 116, 101, 114, 110, 46, 115, 101, 116, 40, - 107, 101, 121, 44, 32, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 110, 95, 100, 101, 108, 101, 116, 101, 40, - 123, 95, 105, 110, 116, 101, 114, 110, 44, 32, 95, 107, 101, 121, 125, 44, 32, 118, 97, 108, 117, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 107, 101, 121, 32, 61, 32, - 95, 107, 101, 121, 40, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 95, 105, 110, 116, 101, 114, 110, 46, 104, 97, 115, 40, 107, 101, 121, 41, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 32, 61, 32, 95, 105, 110, 116, - 101, 114, 110, 46, 103, 101, 116, 40, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 95, 105, 110, 116, 101, 114, 110, 46, 100, 101, 108, 101, 116, 101, 40, 107, 101, 121, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 107, 101, 121, 111, 102, 40, 118, 97, 108, 117, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 32, 33, - 61, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, - 32, 61, 61, 61, 32, 34, 111, 98, 106, 101, 99, 116, 34, 32, 63, 32, 118, 97, 108, 117, 101, 46, 118, - 97, 108, 117, 101, 79, 102, 40, 41, 32, 58, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 100, 101, 110, 116, 105, 116, 121, - 36, 57, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 103, 114, 111, 117, 112, 40, 118, 97, 108, 117, 101, 115, 44, 32, 46, 46, 46, 107, 101, 121, 115, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 115, 116, 40, 118, - 97, 108, 117, 101, 115, 44, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 57, 44, 32, 105, 100, 101, 110, - 116, 105, 116, 121, 36, 57, 44, 32, 107, 101, 121, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 114, 111, 117, 112, 115, 40, 118, 97, 108, 117, - 101, 115, 44, 32, 46, 46, 46, 107, 101, 121, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 110, 101, 115, 116, 40, 118, 97, 108, 117, 101, 115, 44, 32, 65, 114, 114, - 97, 121, 46, 102, 114, 111, 109, 44, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 57, 44, 32, 107, 101, - 121, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 114, 111, 108, 108, 117, 112, 40, 118, 97, 108, 117, 101, 115, 44, 32, 114, 101, 100, 117, 99, 101, - 44, 32, 46, 46, 46, 107, 101, 121, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 110, 101, 115, 116, 40, 118, 97, 108, 117, 101, 115, 44, 32, 105, 100, 101, 110, 116, - 105, 116, 121, 36, 57, 44, 32, 114, 101, 100, 117, 99, 101, 44, 32, 107, 101, 121, 115, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 111, 108, 108, - 117, 112, 115, 40, 118, 97, 108, 117, 101, 115, 44, 32, 114, 101, 100, 117, 99, 101, 44, 32, 46, 46, 46, - 107, 101, 121, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 110, 101, 115, 116, 40, 118, 97, 108, 117, 101, 115, 44, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, - 44, 32, 114, 101, 100, 117, 99, 101, 44, 32, 107, 101, 121, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 100, 101, 120, 36, 52, 40, 118, - 97, 108, 117, 101, 115, 44, 32, 46, 46, 46, 107, 101, 121, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 115, 116, 40, 118, 97, 108, 117, 101, 115, 44, 32, - 105, 100, 101, 110, 116, 105, 116, 121, 36, 57, 44, 32, 117, 110, 105, 113, 117, 101, 44, 32, 107, 101, 121, - 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 105, 110, 100, 101, 120, 101, 115, 40, 118, 97, 108, 117, 101, 115, 44, 32, 46, 46, 46, 107, 101, 121, - 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 115, - 116, 40, 118, 97, 108, 117, 101, 115, 44, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 44, 32, 117, - 110, 105, 113, 117, 101, 44, 32, 107, 101, 121, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 117, 110, 105, 113, 117, 101, 40, 118, 97, 108, 117, 101, - 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 33, 61, 61, 32, 49, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, - 119, 32, 69, 114, 114, 111, 114, 40, 34, 100, 117, 112, 108, 105, 99, 97, 116, 101, 32, 107, 101, 121, 34, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, - 115, 91, 48, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 110, 101, 115, 116, 40, 118, 97, 108, 117, 101, 115, 44, 32, 109, 97, 112, 44, 32, 114, 101, - 100, 117, 99, 101, 44, 32, 107, 101, 121, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 103, 114, 111, 117, 112, - 40, 118, 97, 108, 117, 101, 115, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 105, 32, 62, 61, 32, 107, 101, 121, 115, 46, 108, 101, 110, 103, 116, 104, - 41, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 100, 117, 99, 101, 40, 118, 97, 108, 117, 101, 115, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 103, 114, 111, - 117, 112, 115, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 101, 114, 110, 77, 97, 112, 40, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 107, 101, 121, 111, 102, - 32, 61, 32, 107, 101, 121, 115, 91, 105, 43, 43, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, - 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 107, 101, 121, 32, 61, 32, 107, 101, 121, - 111, 102, 40, 118, 97, 108, 117, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, 117, - 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, 111, 117, 112, 115, 46, 103, 101, 116, 40, - 107, 101, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 103, 114, 111, 117, 112, 41, 32, 103, 114, 111, 117, 112, 46, 112, 117, 115, 104, 40, 118, 97, - 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, - 108, 115, 101, 32, 103, 114, 111, 117, 112, 115, 46, 115, 101, 116, 40, 107, 101, 121, 44, 32, 91, 118, 97, - 108, 117, 101, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 91, 107, - 101, 121, 44, 32, 118, 97, 108, 117, 101, 115, 93, 32, 111, 102, 32, 103, 114, 111, 117, 112, 115, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, - 115, 46, 115, 101, 116, 40, 107, 101, 121, 44, 32, 114, 101, 103, 114, 111, 117, 112, 40, 118, 97, 108, 117, - 101, 115, 44, 32, 105, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 97, 112, 40, - 103, 114, 111, 117, 112, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 40, 118, 97, 108, - 117, 101, 115, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 112, 101, 114, 109, 117, 116, 101, 40, 115, 111, 117, 114, 99, 101, 44, 32, 107, - 101, 121, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 65, - 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 107, 101, 121, 115, 44, 32, 107, 101, 121, 32, 61, 62, 32, - 115, 111, 117, 114, 99, 101, 91, 107, 101, 121, 93, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 114, 116, 40, 118, 97, 108, 117, 101, 115, 44, - 32, 46, 46, 46, 70, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, - 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 115, 91, 83, 121, 109, 98, 111, 108, 46, 105, 116, 101, 114, - 97, 116, 111, 114, 93, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 116, - 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 34, 118, 97, 108, - 117, 101, 115, 32, 105, 115, 32, 110, 111, 116, 32, 105, 116, 101, 114, 97, 98, 108, 101, 34, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 115, 32, 61, 32, 65, 114, 114, 97, 121, 46, - 102, 114, 111, 109, 40, 118, 97, 108, 117, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, - 101, 116, 32, 91, 102, 32, 61, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 93, 32, 61, 32, - 70, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 46, 108, 101, 110, 103, 116, 104, - 32, 61, 61, 61, 32, 49, 32, 124, 124, 32, 70, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 49, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, - 100, 101, 120, 32, 61, 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, - 118, 97, 108, 117, 101, 115, 44, 32, 40, 100, 44, 32, 105, 41, 32, 61, 62, 32, 105, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 70, 46, 108, 101, 110, 103, 116, 104, - 32, 62, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 70, 32, 61, 32, 70, 46, 109, 97, 112, 40, 102, 32, 61, 62, 32, 118, 97, 108, 117, 101, 115, 46, - 109, 97, 112, 40, 102, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 110, 100, 101, 120, 46, 115, 111, 114, 116, 40, 40, 105, 44, 32, 106, 41, 32, 61, 62, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 102, 32, 111, 102, 32, 70, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 99, 32, 61, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 40, 102, 91, 105, - 93, 44, 32, 102, 91, 106, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 41, 32, 114, 101, 116, 117, 114, - 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 118, 97, 108, 117, - 101, 115, 46, 109, 97, 112, 40, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 110, 100, 101, 120, 46, 115, 111, 114, 116, 40, 40, 105, 44, 32, 106, 41, 32, 61, - 62, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 40, 102, 91, 105, 93, 44, 32, 102, 91, 106, - 93, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 101, 114, 109, 117, 116, 101, 40, - 118, 97, 108, 117, 101, 115, 44, 32, 105, 110, 100, 101, 120, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, - 115, 46, 115, 111, 114, 116, 40, 102, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 103, 114, 111, 117, 112, 83, 111, 114, 116, 40, 118, 97, 108, 117, 101, - 115, 44, 32, 114, 101, 100, 117, 99, 101, 44, 32, 107, 101, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 114, 101, 100, 117, 99, 101, 46, 108, 101, 110, 103, 116, - 104, 32, 61, 61, 61, 32, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 115, - 111, 114, 116, 40, 114, 111, 108, 108, 117, 112, 40, 118, 97, 108, 117, 101, 115, 44, 32, 114, 101, 100, 117, - 99, 101, 44, 32, 107, 101, 121, 41, 44, 32, 40, 40, 91, 97, 107, 44, 32, 97, 118, 93, 44, 32, 91, - 98, 107, 44, 32, 98, 118, 93, 41, 32, 61, 62, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, - 40, 97, 118, 44, 32, 98, 118, 41, 32, 124, 124, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, - 40, 97, 107, 44, 32, 98, 107, 41, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 58, 32, 115, 111, 114, 116, 40, 103, 114, 111, 117, 112, 40, 118, 97, 108, 117, 101, 115, 44, 32, 107, 101, - 121, 41, 44, 32, 40, 40, 91, 97, 107, 44, 32, 97, 118, 93, 44, 32, 91, 98, 107, 44, 32, 98, 118, - 93, 41, 32, 61, 62, 32, 114, 101, 100, 117, 99, 101, 40, 97, 118, 44, 32, 98, 118, 41, 32, 124, 124, - 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 40, 97, 107, 44, 32, 98, 107, 41, 41, 41, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 109, 97, 112, 40, 40, 91, 107, 101, 121, - 93, 41, 32, 61, 62, 32, 107, 101, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 97, 114, 114, 97, 121, 36, 53, 32, 61, 32, 65, 114, 114, 97, 121, 46, 112, 114, 111, - 116, 111, 116, 121, 112, 101, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 108, 105, 99, 101, 36, - 52, 32, 61, 32, 97, 114, 114, 97, 121, 36, 53, 46, 115, 108, 105, 99, 101, 59, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 98, 40, 120, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 101, 49, 48, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, - 114, 116, 40, 53, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 53, 32, 61, 32, 77, 97, - 116, 104, 46, 115, 113, 114, 116, 40, 49, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 50, - 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 50, 41, 59, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 116, 105, 99, 107, 115, 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, - 111, 112, 44, 32, 99, 111, 117, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 114, 101, 118, 101, 114, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 32, 61, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 115, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 101, 112, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 116, 111, 112, 32, 61, 32, 43, 115, 116, 111, 112, 44, 32, 115, 116, 97, 114, 116, 32, 61, 32, 43, - 115, 116, 97, 114, 116, 44, 32, 99, 111, 117, 110, 116, 32, 61, 32, 43, 99, 111, 117, 110, 116, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, 97, 114, 116, 32, 61, 61, 61, 32, 115, - 116, 111, 112, 32, 38, 38, 32, 99, 111, 117, 110, 116, 32, 62, 32, 48, 41, 32, 114, 101, 116, 117, 114, - 110, 32, 91, 115, 116, 97, 114, 116, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 114, 101, 118, 101, 114, 115, 101, 32, 61, 32, 115, 116, 111, 112, 32, 60, 32, 115, 116, 97, 114, 116, 41, - 32, 110, 32, 61, 32, 115, 116, 97, 114, 116, 44, 32, 115, 116, 97, 114, 116, 32, 61, 32, 115, 116, 111, - 112, 44, 32, 115, 116, 111, 112, 32, 61, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 40, 115, 116, 101, 112, 32, 61, 32, 116, 105, 99, 107, 73, 110, 99, 114, 101, 109, 101, 110, 116, - 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 44, 32, 99, 111, 117, 110, 116, 41, 41, 32, 61, - 61, 61, 32, 48, 32, 124, 124, 32, 33, 105, 115, 70, 105, 110, 105, 116, 101, 40, 115, 116, 101, 112, 41, - 41, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 115, 116, 101, 112, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 101, 116, 32, 114, 48, 32, 61, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, - 40, 115, 116, 97, 114, 116, 32, 47, 32, 115, 116, 101, 112, 41, 44, 32, 114, 49, 32, 61, 32, 77, 97, - 116, 104, 46, 114, 111, 117, 110, 100, 40, 115, 116, 111, 112, 32, 47, 32, 115, 116, 101, 112, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 48, 32, 42, 32, 115, 116, - 101, 112, 32, 60, 32, 115, 116, 97, 114, 116, 41, 32, 43, 43, 114, 48, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 49, 32, 42, 32, 115, 116, 101, 112, 32, 62, 32, - 115, 116, 111, 112, 41, 32, 45, 45, 114, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 105, 99, 107, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 32, 61, 32, - 114, 49, 32, 45, 32, 114, 48, 32, 43, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 116, 105, 99, 107, - 115, 91, 105, 93, 32, 61, 32, 40, 114, 48, 32, 43, 32, 105, 41, 32, 42, 32, 115, 116, 101, 112, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 116, 101, 112, 32, 61, 32, 45, 115, 116, 101, 112, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 114, 48, 32, 61, 32, 77, 97, 116, 104, - 46, 114, 111, 117, 110, 100, 40, 115, 116, 97, 114, 116, 32, 42, 32, 115, 116, 101, 112, 41, 44, 32, 114, - 49, 32, 61, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 115, 116, 111, 112, 32, 42, 32, 115, - 116, 101, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, - 48, 32, 47, 32, 115, 116, 101, 112, 32, 60, 32, 115, 116, 97, 114, 116, 41, 32, 43, 43, 114, 48, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 49, 32, 47, 32, 115, - 116, 101, 112, 32, 62, 32, 115, 116, 111, 112, 41, 32, 45, 45, 114, 49, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, - 121, 40, 110, 32, 61, 32, 114, 49, 32, 45, 32, 114, 48, 32, 43, 32, 49, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, - 41, 32, 116, 105, 99, 107, 115, 91, 105, 93, 32, 61, 32, 40, 114, 48, 32, 43, 32, 105, 41, 32, 47, - 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 114, 101, 118, 101, 114, 115, 101, 41, 32, 116, 105, 99, 107, 115, 46, 114, - 101, 118, 101, 114, 115, 101, 40, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 105, 99, 107, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 116, 105, 99, 107, 73, 110, 99, 114, 101, 109, 101, 110, 116, 40, 115, 116, - 97, 114, 116, 44, 32, 115, 116, 111, 112, 44, 32, 99, 111, 117, 110, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 101, 112, 32, 61, 32, 40, 115, 116, 111, 112, 32, 45, - 32, 115, 116, 97, 114, 116, 41, 32, 47, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 99, - 111, 117, 110, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 119, 101, - 114, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 77, 97, 116, 104, 46, 108, 111, 103, - 40, 115, 116, 101, 112, 41, 32, 47, 32, 77, 97, 116, 104, 46, 76, 78, 49, 48, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 114, 114, 111, 114, 32, 61, 32, 115, 116, 101, 112, 32, - 47, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 49, 48, 44, 32, 112, 111, 119, 101, 114, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 111, 119, 101, 114, 32, 62, 61, - 32, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 40, 101, 114, 114, 111, 114, - 32, 62, 61, 32, 101, 49, 48, 32, 63, 32, 49, 48, 32, 58, 32, 101, 114, 114, 111, 114, 32, 62, 61, - 32, 101, 53, 32, 63, 32, 53, 32, 58, 32, 101, 114, 114, 111, 114, 32, 62, 61, 32, 101, 50, 32, 63, - 32, 50, 32, 58, 32, 49, 41, 32, 42, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 49, 48, 44, 32, - 112, 111, 119, 101, 114, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 45, 77, - 97, 116, 104, 46, 112, 111, 119, 40, 49, 48, 44, 32, 45, 112, 111, 119, 101, 114, 41, 32, 47, 32, 40, - 101, 114, 114, 111, 114, 32, 62, 61, 32, 101, 49, 48, 32, 63, 32, 49, 48, 32, 58, 32, 101, 114, 114, - 111, 114, 32, 62, 61, 32, 101, 53, 32, 63, 32, 53, 32, 58, 32, 101, 114, 114, 111, 114, 32, 62, 61, - 32, 101, 50, 32, 63, 32, 50, 32, 58, 32, 49, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 105, 99, 107, 83, 116, 101, 112, 40, 115, 116, 97, - 114, 116, 44, 32, 115, 116, 111, 112, 44, 32, 99, 111, 117, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 101, 112, 48, 32, 61, 32, 77, 97, 116, 104, 46, 97, 98, - 115, 40, 115, 116, 111, 112, 32, 45, 32, 115, 116, 97, 114, 116, 41, 32, 47, 32, 77, 97, 116, 104, 46, - 109, 97, 120, 40, 48, 44, 32, 99, 111, 117, 110, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 116, 101, 112, 49, 32, 61, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 49, 48, - 44, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 77, 97, 116, 104, 46, 108, 111, 103, 40, 115, - 116, 101, 112, 48, 41, 32, 47, 32, 77, 97, 116, 104, 46, 76, 78, 49, 48, 41, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 114, 114, 111, 114, 32, 61, 32, 115, 116, 101, 112, 48, - 32, 47, 32, 115, 116, 101, 112, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, - 114, 114, 111, 114, 32, 62, 61, 32, 101, 49, 48, 41, 32, 115, 116, 101, 112, 49, 32, 42, 61, 32, 49, - 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 101, 114, 114, - 111, 114, 32, 62, 61, 32, 101, 53, 41, 32, 115, 116, 101, 112, 49, 32, 42, 61, 32, 53, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 101, 114, 114, 111, 114, 32, 62, - 61, 32, 101, 50, 41, 32, 115, 116, 101, 112, 49, 32, 42, 61, 32, 50, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 111, 112, 32, 60, 32, 115, 116, 97, 114, 116, 32, - 63, 32, 45, 115, 116, 101, 112, 49, 32, 58, 32, 115, 116, 101, 112, 49, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 105, 99, 101, 36, 49, 40, 115, - 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 44, 32, 99, 111, 117, 110, 116, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 112, 114, 101, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 116, 114, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 101, 112, 32, 61, 32, 116, 105, - 99, 107, 73, 110, 99, 114, 101, 109, 101, 110, 116, 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, - 44, 32, 99, 111, 117, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 115, 116, 101, 112, 32, 61, 61, 61, 32, 112, 114, 101, 115, 116, 101, 112, 32, 124, 124, 32, - 115, 116, 101, 112, 32, 61, 61, 61, 32, 48, 32, 124, 124, 32, 33, 105, 115, 70, 105, 110, 105, 116, 101, - 40, 115, 116, 101, 112, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, - 32, 40, 115, 116, 101, 112, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, - 111, 114, 40, 115, 116, 97, 114, 116, 32, 47, 32, 115, 116, 101, 112, 41, 32, 42, 32, 115, 116, 101, 112, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 111, 112, 32, - 61, 32, 77, 97, 116, 104, 46, 99, 101, 105, 108, 40, 115, 116, 111, 112, 32, 47, 32, 115, 116, 101, 112, - 41, 32, 42, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 116, 101, 112, 32, 60, 32, 48, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 32, 61, 32, - 77, 97, 116, 104, 46, 99, 101, 105, 108, 40, 115, 116, 97, 114, 116, 32, 42, 32, 115, 116, 101, 112, 41, - 32, 47, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 116, 111, 112, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 115, 116, 111, - 112, 32, 42, 32, 115, 116, 101, 112, 41, 32, 47, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, - 101, 115, 116, 101, 112, 32, 61, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 104, - 114, 101, 115, 104, 111, 108, 100, 83, 116, 117, 114, 103, 101, 115, 40, 118, 97, 108, 117, 101, 115, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 99, - 101, 105, 108, 40, 77, 97, 116, 104, 46, 108, 111, 103, 40, 99, 111, 117, 110, 116, 36, 49, 40, 118, 97, - 108, 117, 101, 115, 41, 41, 32, 47, 32, 77, 97, 116, 104, 46, 76, 78, 50, 41, 32, 43, 32, 49, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 105, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 97, 108, 117, 101, - 32, 61, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 57, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 101, 120, 116, 101, 110, 116, 36, 49, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 32, 61, - 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 83, 116, 117, 114, 103, 101, 115, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 105, 115, 116, 111, 103, 114, 97, 109, - 40, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 33, 65, 114, 114, 97, 121, 46, 105, 115, 65, 114, 114, 97, 121, 40, 100, 97, 116, 97, 41, 41, - 32, 100, 97, 116, 97, 32, 61, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 100, 97, 116, 97, - 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 100, 97, 116, - 97, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 108, 117, 101, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, - 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 115, 91, 105, 93, 32, 61, 32, 118, 97, 108, - 117, 101, 40, 100, 97, 116, 97, 91, 105, 93, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 120, 122, 32, 61, 32, 100, 111, 109, 97, 105, 110, 40, 118, 97, 108, 117, - 101, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, - 32, 61, 32, 120, 122, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 49, 32, 61, 32, 120, 122, 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 122, 32, 61, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 40, - 118, 97, 108, 117, 101, 115, 44, 32, 120, 48, 44, 32, 120, 49, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 110, 118, 101, 114, 116, 32, 110, 117, 109, 98, 101, - 114, 32, 111, 102, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 32, 105, 110, 116, 111, 32, 117, 110, - 105, 102, 111, 114, 109, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 44, 32, 97, 110, 100, 32, 110, - 105, 99, 101, 32, 116, 104, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, - 100, 101, 102, 97, 117, 108, 116, 32, 100, 111, 109, 97, 105, 110, 32, 97, 99, 99, 111, 114, 100, 105, 110, - 103, 108, 121, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 65, - 114, 114, 97, 121, 46, 105, 115, 65, 114, 114, 97, 121, 40, 116, 122, 41, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 120, 32, - 61, 32, 120, 49, 44, 32, 116, 110, 32, 61, 32, 43, 116, 122, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 111, 109, 97, 105, 110, 32, 61, 61, 61, - 32, 101, 120, 116, 101, 110, 116, 36, 49, 41, 32, 91, 120, 48, 44, 32, 120, 49, 93, 32, 61, 32, 110, - 105, 99, 101, 36, 49, 40, 120, 48, 44, 32, 120, 49, 44, 32, 116, 110, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 122, 32, 61, 32, 116, 105, 99, 107, 115, 40, - 120, 48, 44, 32, 120, 49, 44, 32, 116, 110, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 32, 108, 97, 115, 116, 32, 116, - 104, 114, 101, 115, 104, 111, 108, 100, 32, 105, 115, 32, 99, 111, 105, 110, 99, 105, 100, 101, 110, 116, 32, - 119, 105, 116, 104, 32, 116, 104, 101, 32, 100, 111, 109, 97, 105, 110, 226, 128, 153, 115, 32, 117, 112, 112, - 101, 114, 32, 98, 111, 117, 110, 100, 44, 32, 116, 104, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 108, 97, 115, 116, 32, 98, 105, 110, 32, 119, 105, 108, 108, - 32, 98, 101, 32, 122, 101, 114, 111, 45, 119, 105, 100, 116, 104, 46, 32, 73, 102, 32, 116, 104, 101, 32, - 100, 101, 102, 97, 117, 108, 116, 32, 100, 111, 109, 97, 105, 110, 32, 105, 115, 32, 117, 115, 101, 100, 44, - 32, 97, 110, 100, 32, 116, 104, 105, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 108, 97, 115, 116, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 32, 105, 115, - 32, 99, 111, 105, 110, 99, 105, 100, 101, 110, 116, 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 109, 97, - 120, 105, 109, 117, 109, 32, 105, 110, 112, 117, 116, 32, 118, 97, 108, 117, 101, 44, 32, 119, 101, 32, 99, - 97, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 101, - 120, 116, 101, 110, 100, 32, 116, 104, 101, 32, 110, 105, 99, 101, 100, 32, 117, 112, 112, 101, 114, 32, 98, - 111, 117, 110, 100, 32, 98, 121, 32, 111, 110, 101, 32, 116, 105, 99, 107, 32, 116, 111, 32, 101, 110, 115, - 117, 114, 101, 32, 117, 110, 105, 102, 111, 114, 109, 32, 98, 105, 110, 32, 119, 105, 100, 116, 104, 115, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 111, 116, 104, - 101, 114, 119, 105, 115, 101, 44, 32, 119, 101, 32, 115, 105, 109, 112, 108, 121, 32, 114, 101, 109, 111, 118, - 101, 32, 116, 104, 101, 32, 108, 97, 115, 116, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 46, 32, 78, - 111, 116, 101, 32, 116, 104, 97, 116, 32, 119, 101, 32, 100, 111, 110, 226, 128, 153, 116, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 99, 111, 101, 114, 99, 101, 32, - 118, 97, 108, 117, 101, 115, 32, 111, 114, 32, 116, 104, 101, 32, 100, 111, 109, 97, 105, 110, 32, 116, 111, - 32, 110, 117, 109, 98, 101, 114, 115, 44, 32, 97, 110, 100, 32, 116, 104, 117, 115, 32, 109, 117, 115, 116, - 32, 98, 101, 32, 99, 97, 114, 101, 102, 117, 108, 32, 116, 111, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 99, 111, 109, 112, 97, 114, 101, 32, 111, 114, 100, 101, - 114, 32, 40, 62, 61, 41, 32, 114, 97, 116, 104, 101, 114, 32, 116, 104, 97, 110, 32, 115, 116, 114, 105, - 99, 116, 32, 101, 113, 117, 97, 108, 105, 116, 121, 32, 40, 61, 61, 61, 41, 33, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 122, 91, 116, 122, 46, 108, - 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 32, 62, 61, 32, 120, 49, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 97, - 120, 32, 62, 61, 32, 120, 49, 32, 38, 38, 32, 100, 111, 109, 97, 105, 110, 32, 61, 61, 61, 32, 101, - 120, 116, 101, 110, 116, 36, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 101, 112, 32, - 61, 32, 116, 105, 99, 107, 73, 110, 99, 114, 101, 109, 101, 110, 116, 40, 120, 48, 44, 32, 120, 49, 44, - 32, 116, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 115, 70, 105, 110, 105, 116, 101, 40, 115, 116, 101, - 112, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, 101, 112, 32, 62, 32, 48, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 40, 77, 97, 116, 104, - 46, 102, 108, 111, 111, 114, 40, 120, 49, 32, 47, 32, 115, 116, 101, 112, 41, 32, 43, 32, 49, 41, 32, - 42, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, - 40, 115, 116, 101, 112, 32, 60, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, - 49, 32, 61, 32, 40, 77, 97, 116, 104, 46, 99, 101, 105, 108, 40, 120, 49, 32, 42, 32, 45, 115, 116, - 101, 112, 41, 32, 43, 32, 49, 41, 32, 47, 32, 45, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 122, 46, 112, 111, 112, 40, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, - 82, 101, 109, 111, 118, 101, 32, 97, 110, 121, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 32, 111, - 117, 116, 115, 105, 100, 101, 32, 116, 104, 101, 32, 100, 111, 109, 97, 105, 110, 46, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, 32, 116, 122, 46, 108, 101, 110, 103, - 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, - 116, 122, 91, 48, 93, 32, 60, 61, 32, 120, 48, 41, 32, 116, 122, 46, 115, 104, 105, 102, 116, 40, 41, - 44, 32, 45, 45, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, - 101, 32, 40, 116, 122, 91, 109, 32, 45, 32, 49, 93, 32, 62, 32, 120, 49, 41, 32, 116, 122, 46, 112, - 111, 112, 40, 41, 44, 32, 45, 45, 109, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 98, 105, 110, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 109, - 32, 43, 32, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 98, 105, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 110, - 105, 116, 105, 97, 108, 105, 122, 101, 32, 98, 105, 110, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 61, 32, 109, 59, - 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 98, 105, 110, 32, 61, 32, 98, 105, 110, 115, 91, 105, 93, 32, 61, 32, 91, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 105, 110, 46, 120, 48, 32, 61, 32, - 105, 32, 62, 32, 48, 32, 63, 32, 116, 122, 91, 105, 32, 45, 32, 49, 93, 32, 58, 32, 120, 48, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 105, 110, 46, 120, 49, - 32, 61, 32, 105, 32, 60, 32, 109, 32, 63, 32, 116, 122, 91, 105, 93, 32, 58, 32, 120, 49, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 65, 115, 115, 105, 103, 110, 32, 100, 97, 116, 97, 32, 116, 111, 32, 98, - 105, 110, 115, 32, 98, 121, 32, 118, 97, 108, 117, 101, 44, 32, 105, 103, 110, 111, 114, 105, 110, 103, 32, - 97, 110, 121, 32, 111, 117, 116, 115, 105, 100, 101, 32, 116, 104, 101, 32, 100, 111, 109, 97, 105, 110, 46, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, - 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 118, 97, 108, 117, 101, 115, 91, 105, 93, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 48, - 32, 60, 61, 32, 120, 32, 38, 38, 32, 120, 32, 60, 61, 32, 120, 49, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 105, 110, 115, 91, 98, - 105, 115, 101, 99, 116, 82, 105, 103, 104, 116, 40, 116, 122, 44, 32, 120, 44, 32, 48, 44, 32, 109, 41, - 93, 46, 112, 117, 115, 104, 40, 100, 97, 116, 97, 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 98, 105, 110, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 104, 105, 115, 116, 111, 103, 114, 97, 109, 46, 118, 97, 108, 117, 101, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 63, 32, 40, 118, 97, 108, 117, 101, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, - 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, - 116, 97, 110, 116, 36, 98, 40, 95, 41, 44, 32, 104, 105, 115, 116, 111, 103, 114, 97, 109, 41, 32, 58, - 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 104, 105, 115, 116, 111, 103, 114, 97, 109, 46, 100, 111, 109, 97, 105, 110, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, - 110, 103, 116, 104, 32, 63, 32, 40, 100, 111, 109, 97, 105, 110, 32, 61, 32, 116, 121, 112, 101, 111, 102, - 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, - 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 98, 40, 91, 95, 91, 48, 93, 44, 32, 95, 91, 49, 93, - 93, 41, 44, 32, 104, 105, 115, 116, 111, 103, 114, 97, 109, 41, 32, 58, 32, 100, 111, 109, 97, 105, 110, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, - 105, 115, 116, 111, 103, 114, 97, 109, 46, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 116, 104, 114, 101, 115, 104, 111, 108, 100, 32, 61, 32, 116, 121, 112, 101, 111, - 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, - 58, 32, 65, 114, 114, 97, 121, 46, 105, 115, 65, 114, 114, 97, 121, 40, 95, 41, 32, 63, 32, 99, 111, - 110, 115, 116, 97, 110, 116, 36, 98, 40, 115, 108, 105, 99, 101, 36, 52, 46, 99, 97, 108, 108, 40, 95, - 41, 41, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 98, 40, 95, 41, 44, 32, 104, 105, 115, - 116, 111, 103, 114, 97, 109, 41, 32, 58, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 104, 105, 115, 116, 111, 103, 114, 97, 109, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 97, 120, 36, 51, 40, 118, 97, 108, 117, 101, 115, 44, - 32, 118, 97, 108, 117, 101, 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, - 32, 109, 97, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, - 111, 102, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, - 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 33, 61, 32, 110, - 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 38, 38, 32, 40, 109, 97, 120, 32, 60, 32, 118, 97, 108, 117, 101, 32, 124, 124, 32, 40, 109, 97, - 120, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 38, 38, 32, 118, 97, 108, 117, - 101, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 120, 32, 61, 32, 118, 97, 108, 117, - 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, - 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, - 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, - 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 40, 118, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 111, 102, 40, 118, 97, 108, 117, - 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, 117, 101, 115, 41, 41, 32, 33, 61, - 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 38, 38, 32, 40, 109, 97, 120, 32, 60, 32, 118, 97, 108, 117, 101, 32, 124, 124, 32, 40, - 109, 97, 120, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 38, 38, 32, 118, 97, - 108, 117, 101, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 120, 32, 61, 32, 118, 97, - 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 97, 120, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 105, 110, 36, 50, - 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 111, 102, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 118, 97, 108, 117, 101, 111, 102, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, - 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, - 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, - 108, 117, 101, 32, 33, 61, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 40, 109, 105, 110, 32, 62, 32, 118, 97, 108, 117, - 101, 32, 124, 124, 32, 40, 109, 105, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, - 32, 38, 38, 32, 118, 97, 108, 117, 101, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, 41, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, - 110, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, - 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 118, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, - 101, 111, 102, 40, 118, 97, 108, 117, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, - 117, 101, 115, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 40, 109, 105, 110, 32, 62, 32, 118, 97, - 108, 117, 101, 32, 124, 124, 32, 40, 109, 105, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, - 101, 100, 32, 38, 38, 32, 118, 97, 108, 117, 101, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, 41, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 109, 105, 110, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 109, 105, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 66, 97, 115, 101, 100, 32, 111, - 110, 32, 104, 116, 116, 112, 115, 58, 47, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 47, 109, 111, - 117, 114, 110, 101, 114, 47, 113, 117, 105, 99, 107, 115, 101, 108, 101, 99, 116, 10, 47, 47, 32, 73, 83, - 67, 32, 108, 105, 99, 101, 110, 115, 101, 44, 32, 67, 111, 112, 121, 114, 105, 103, 104, 116, 32, 50, 48, - 49, 56, 32, 86, 108, 97, 100, 105, 109, 105, 114, 32, 65, 103, 97, 102, 111, 110, 107, 105, 110, 46, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 113, 117, 105, 99, 107, 115, 101, 108, 101, 99, - 116, 40, 97, 114, 114, 97, 121, 44, 32, 107, 44, 32, 108, 101, 102, 116, 32, 61, 32, 48, 44, 32, 114, - 105, 103, 104, 116, 32, 61, 32, 97, 114, 114, 97, 121, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, - 44, 32, 99, 111, 109, 112, 97, 114, 101, 32, 61, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 114, 105, 103, 104, - 116, 32, 62, 32, 108, 101, 102, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 114, 105, 103, 104, 116, 32, 45, 32, 108, 101, 102, 116, 32, 62, 32, 54, 48, 48, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 110, 32, 61, 32, 114, 105, 103, 104, 116, 32, 45, 32, 108, 101, 102, 116, 32, 43, 32, 49, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, - 32, 109, 32, 61, 32, 107, 32, 45, 32, 108, 101, 102, 116, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 122, 32, 61, 32, 77, - 97, 116, 104, 46, 108, 111, 103, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 32, 61, 32, 48, 46, 53, 32, 42, 32, 77, 97, - 116, 104, 46, 101, 120, 112, 40, 50, 32, 42, 32, 122, 32, 47, 32, 51, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 100, 32, 61, 32, - 48, 46, 53, 32, 42, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 122, 32, 42, 32, 115, 32, 42, - 32, 40, 110, 32, 45, 32, 115, 41, 32, 47, 32, 110, 41, 32, 42, 32, 40, 109, 32, 45, 32, 110, 32, - 47, 32, 50, 32, 60, 32, 48, 32, 63, 32, 45, 49, 32, 58, 32, 49, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 110, 101, 119, 76, 101, - 102, 116, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 108, 101, 102, 116, 44, 32, 77, 97, 116, - 104, 46, 102, 108, 111, 111, 114, 40, 107, 32, 45, 32, 109, 32, 42, 32, 115, 32, 47, 32, 110, 32, 43, - 32, 115, 100, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 110, 115, 116, 32, 110, 101, 119, 82, 105, 103, 104, 116, 32, 61, 32, 77, 97, 116, 104, 46, 109, - 105, 110, 40, 114, 105, 103, 104, 116, 44, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 107, 32, - 43, 32, 40, 110, 32, 45, 32, 109, 41, 32, 42, 32, 115, 32, 47, 32, 110, 32, 43, 32, 115, 100, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 117, 105, 99, - 107, 115, 101, 108, 101, 99, 116, 40, 97, 114, 114, 97, 121, 44, 32, 107, 44, 32, 110, 101, 119, 76, 101, - 102, 116, 44, 32, 110, 101, 119, 82, 105, 103, 104, 116, 44, 32, 99, 111, 109, 112, 97, 114, 101, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 32, 61, 32, 97, 114, 114, 97, 121, 91, 107, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 32, 61, 32, 108, - 101, 102, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 106, 32, - 61, 32, 114, 105, 103, 104, 116, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 119, 97, 112, 36, 49, 40, 97, 114, 114, 97, 121, 44, 32, 108, 101, 102, 116, 44, 32, 107, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 109, 112, 97, 114, 101, - 40, 97, 114, 114, 97, 121, 91, 114, 105, 103, 104, 116, 93, 44, 32, 116, 41, 32, 62, 32, 48, 41, 32, - 115, 119, 97, 112, 36, 49, 40, 97, 114, 114, 97, 121, 44, 32, 108, 101, 102, 116, 44, 32, 114, 105, 103, - 104, 116, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, - 32, 40, 105, 32, 60, 32, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 119, 97, 112, 36, 49, 40, 97, 114, 114, 97, 121, 44, 32, 105, 44, 32, 106, 41, - 44, 32, 43, 43, 105, 44, 32, 45, 45, 106, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 99, 111, 109, 112, 97, 114, 101, 40, 97, 114, 114, - 97, 121, 91, 105, 93, 44, 32, 116, 41, 32, 60, 32, 48, 41, 32, 43, 43, 105, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 99, 111, 109, - 112, 97, 114, 101, 40, 97, 114, 114, 97, 121, 91, 106, 93, 44, 32, 116, 41, 32, 62, 32, 48, 41, 32, - 45, 45, 106, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 109, 112, 97, 114, 101, 40, 97, 114, - 114, 97, 121, 91, 108, 101, 102, 116, 93, 44, 32, 116, 41, 32, 61, 61, 61, 32, 48, 41, 32, 115, 119, - 97, 112, 36, 49, 40, 97, 114, 114, 97, 121, 44, 32, 108, 101, 102, 116, 44, 32, 106, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 43, 43, 106, 44, 32, 115, 119, - 97, 112, 36, 49, 40, 97, 114, 114, 97, 121, 44, 32, 106, 44, 32, 114, 105, 103, 104, 116, 41, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 106, 32, 60, 61, 32, 107, - 41, 32, 108, 101, 102, 116, 32, 61, 32, 106, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 32, 60, 61, 32, 106, 41, 32, 114, 105, 103, 104, 116, 32, - 61, 32, 106, 32, 45, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 114, 97, 121, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 119, 97, 112, 36, 49, 40, 97, - 114, 114, 97, 121, 44, 32, 105, 44, 32, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 115, 116, 32, 116, 32, 61, 32, 97, 114, 114, 97, 121, 91, 105, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 97, 114, 114, 97, 121, 91, 105, 93, 32, 61, 32, 97, 114, 114, 97, 121, 91, 106, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 114, 97, 121, 91, 106, 93, 32, 61, 32, 116, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 113, 117, - 97, 110, 116, 105, 108, 101, 36, 49, 40, 118, 97, 108, 117, 101, 115, 44, 32, 112, 44, 32, 118, 97, 108, - 117, 101, 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 115, 32, - 61, 32, 70, 108, 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 110, 117, 109, - 98, 101, 114, 115, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 111, 102, 41, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 110, 32, 61, 32, 118, 97, 108, 117, - 101, 115, 46, 108, 101, 110, 103, 116, 104, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 112, 32, 61, 32, 43, 112, 41, 32, 60, 61, 32, 48, 32, - 124, 124, 32, 110, 32, 60, 32, 50, 41, 32, 114, 101, 116, 117, 114, 110, 32, 109, 105, 110, 36, 50, 40, - 118, 97, 108, 117, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 32, - 62, 61, 32, 49, 41, 32, 114, 101, 116, 117, 114, 110, 32, 109, 97, 120, 36, 51, 40, 118, 97, 108, 117, - 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 40, 110, 32, 45, 32, 49, 41, 32, 42, 32, - 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 48, 32, 61, 32, 77, 97, 116, - 104, 46, 102, 108, 111, 111, 114, 40, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 108, 117, 101, 48, 32, 61, 32, 109, 97, 120, 36, 51, 40, 113, 117, 105, 99, 107, 115, 101, - 108, 101, 99, 116, 40, 118, 97, 108, 117, 101, 115, 44, 32, 105, 48, 41, 46, 115, 117, 98, 97, 114, 114, - 97, 121, 40, 48, 44, 32, 105, 48, 32, 43, 32, 49, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 49, 32, 61, 32, 109, 105, 110, 36, 50, 40, 118, 97, 108, - 117, 101, 115, 46, 115, 117, 98, 97, 114, 114, 97, 121, 40, 105, 48, 32, 43, 32, 49, 41, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 48, 32, 43, - 32, 40, 118, 97, 108, 117, 101, 49, 32, 45, 32, 118, 97, 108, 117, 101, 48, 41, 32, 42, 32, 40, 105, - 32, 45, 32, 105, 48, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 113, 117, 97, 110, 116, 105, 108, 101, 83, 111, 114, 116, 101, 100, 40, 118, 97, 108, - 117, 101, 115, 44, 32, 112, 44, 32, 118, 97, 108, 117, 101, 111, 102, 32, 61, 32, 110, 117, 109, 98, 101, - 114, 36, 51, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 110, 32, - 61, 32, 118, 97, 108, 117, 101, 115, 46, 108, 101, 110, 103, 116, 104, 41, 41, 32, 114, 101, 116, 117, 114, - 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 112, 32, 61, 32, 43, 112, 41, - 32, 60, 61, 32, 48, 32, 124, 124, 32, 110, 32, 60, 32, 50, 41, 32, 114, 101, 116, 117, 114, 110, 32, - 43, 118, 97, 108, 117, 101, 111, 102, 40, 118, 97, 108, 117, 101, 115, 91, 48, 93, 44, 32, 48, 44, 32, - 118, 97, 108, 117, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 32, - 62, 61, 32, 49, 41, 32, 114, 101, 116, 117, 114, 110, 32, 43, 118, 97, 108, 117, 101, 111, 102, 40, 118, - 97, 108, 117, 101, 115, 91, 110, 32, 45, 32, 49, 93, 44, 32, 110, 32, 45, 32, 49, 44, 32, 118, 97, - 108, 117, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 40, 110, 32, 45, 32, 49, 41, 32, - 42, 32, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 48, 32, 61, 32, 77, - 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 108, 117, 101, 48, 32, 61, 32, 43, 118, 97, 108, 117, 101, 111, 102, 40, 118, 97, - 108, 117, 101, 115, 91, 105, 48, 93, 44, 32, 105, 48, 44, 32, 118, 97, 108, 117, 101, 115, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 49, 32, 61, 32, 43, 118, - 97, 108, 117, 101, 111, 102, 40, 118, 97, 108, 117, 101, 115, 91, 105, 48, 32, 43, 32, 49, 93, 44, 32, - 105, 48, 32, 43, 32, 49, 44, 32, 118, 97, 108, 117, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 48, 32, 43, 32, 40, 118, 97, 108, 117, - 101, 49, 32, 45, 32, 118, 97, 108, 117, 101, 48, 41, 32, 42, 32, 40, 105, 32, 45, 32, 105, 48, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, - 114, 101, 101, 100, 109, 97, 110, 68, 105, 97, 99, 111, 110, 105, 115, 40, 118, 97, 108, 117, 101, 115, 44, - 32, 109, 105, 110, 44, 32, 109, 97, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 99, 101, 105, 108, 40, 40, 109, 97, 120, 32, 45, 32, 109, - 105, 110, 41, 32, 47, 32, 40, 50, 32, 42, 32, 40, 113, 117, 97, 110, 116, 105, 108, 101, 36, 49, 40, - 118, 97, 108, 117, 101, 115, 44, 32, 48, 46, 55, 53, 41, 32, 45, 32, 113, 117, 97, 110, 116, 105, 108, - 101, 36, 49, 40, 118, 97, 108, 117, 101, 115, 44, 32, 48, 46, 50, 53, 41, 41, 32, 42, 32, 77, 97, - 116, 104, 46, 112, 111, 119, 40, 99, 111, 117, 110, 116, 36, 49, 40, 118, 97, 108, 117, 101, 115, 41, 44, - 32, 45, 49, 32, 47, 32, 51, 41, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 111, 116, 116, 40, 118, 97, 108, 117, 101, 115, 44, 32, - 109, 105, 110, 44, 32, 109, 97, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 77, 97, 116, 104, 46, 99, 101, 105, 108, 40, 40, 109, 97, 120, 32, 45, 32, 109, 105, - 110, 41, 32, 47, 32, 40, 51, 46, 53, 32, 42, 32, 100, 101, 118, 105, 97, 116, 105, 111, 110, 40, 118, - 97, 108, 117, 101, 115, 41, 32, 42, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 99, 111, 117, 110, 116, - 36, 49, 40, 118, 97, 108, 117, 101, 115, 41, 44, 32, 45, 49, 32, 47, 32, 51, 41, 41, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 97, 120, - 73, 110, 100, 101, 120, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 111, 102, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 97, 120, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 101, 116, 32, 109, 97, 120, 73, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 111, 102, 32, 61, 61, - 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, - 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 43, 43, 105, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 33, 61, 32, 110, 117, 108, 108, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, - 32, 40, 109, 97, 120, 32, 60, 32, 118, 97, 108, 117, 101, 32, 124, 124, 32, 40, 109, 97, 120, 32, 61, - 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 38, 38, 32, 118, 97, 108, 117, 101, 32, 62, - 61, 32, 118, 97, 108, 117, 101, 41, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 120, 32, 61, 32, 118, 97, 108, 117, 101, 44, 32, - 109, 97, 120, 73, 110, 100, 101, 120, 32, 61, 32, 105, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, 108, 117, - 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 118, 97, 108, 117, 101, 32, 61, 32, 118, 97, - 108, 117, 101, 111, 102, 40, 118, 97, 108, 117, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, - 97, 108, 117, 101, 115, 41, 41, 32, 33, 61, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 40, 109, 97, 120, 32, 60, 32, - 118, 97, 108, 117, 101, 32, 124, 124, 32, 40, 109, 97, 120, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, - 105, 110, 101, 100, 32, 38, 38, 32, 118, 97, 108, 117, 101, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, - 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 109, 97, 120, 32, 61, 32, 118, 97, 108, 117, 101, 44, 32, 109, 97, 120, 73, 110, 100, 101, 120, - 32, 61, 32, 105, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 97, - 120, 73, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 109, 101, 97, 110, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, - 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 99, 111, 117, 110, 116, - 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 115, 117, 109, 32, 61, - 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 111, 102, - 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, 111, - 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 33, 61, 32, 110, 117, 108, 108, 32, - 38, 38, 32, 40, 118, 97, 108, 117, 101, 32, 61, 32, 43, 118, 97, 108, 117, 101, 41, 32, 62, 61, 32, - 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 43, 43, 99, 111, 117, 110, 116, 44, 32, 115, 117, 109, 32, 43, 61, 32, 118, - 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, - 116, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, - 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 40, 118, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 111, 102, 40, 118, - 97, 108, 117, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, 117, 101, 115, 41, 41, - 32, 33, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, 40, 118, 97, 108, 117, 101, 32, 61, 32, 43, 118, - 97, 108, 117, 101, 41, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 43, 99, 111, 117, 110, 116, 44, - 32, 115, 117, 109, 32, 43, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 99, 111, 117, 110, 116, 41, 32, 114, 101, 116, 117, 114, 110, 32, 115, 117, 109, 32, 47, 32, 99, 111, 117, - 110, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 109, 101, 100, 105, 97, 110, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 111, 102, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 113, 117, 97, 110, - 116, 105, 108, 101, 36, 49, 40, 118, 97, 108, 117, 101, 115, 44, 32, 48, 46, 53, 44, 32, 118, 97, 108, - 117, 101, 111, 102, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 42, 32, 102, 108, 97, 116, 116, 101, 110, 40, 97, 114, 114, 97, 121, 115, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 97, 114, 114, 97, - 121, 32, 111, 102, 32, 97, 114, 114, 97, 121, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 121, 105, 101, 108, 100, 42, 32, 97, 114, 114, 97, 121, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 109, 101, 114, 103, 101, 40, 97, 114, 114, 97, 121, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 102, 108, - 97, 116, 116, 101, 110, 40, 97, 114, 114, 97, 121, 115, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 105, 110, 73, 110, 100, 101, 120, 40, 118, - 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 101, 116, 32, 109, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, - 32, 109, 105, 110, 73, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 111, 102, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, - 105, 110, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 43, 105, - 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 118, 97, 108, 117, 101, 32, 33, 61, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 40, 109, 105, 110, 32, 62, - 32, 118, 97, 108, 117, 101, 32, 124, 124, 32, 40, 109, 105, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, - 102, 105, 110, 101, 100, 32, 38, 38, 32, 118, 97, 108, 117, 101, 32, 62, 61, 32, 118, 97, 108, 117, 101, - 41, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 109, 105, 110, 32, 61, 32, 118, 97, 108, 117, 101, 44, 32, 109, 105, 110, 73, 110, 100, 101, - 120, 32, 61, 32, 105, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, - 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 40, 118, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 111, 102, 40, 118, - 97, 108, 117, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, 117, 101, 115, 41, 41, - 32, 33, 61, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 38, 38, 32, 40, 109, 105, 110, 32, 62, 32, 118, 97, 108, 117, 101, 32, 124, - 124, 32, 40, 109, 105, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 38, 38, - 32, 118, 97, 108, 117, 101, 32, 62, 61, 32, 118, 97, 108, 117, 101, 41, 41, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, 32, 61, - 32, 118, 97, 108, 117, 101, 44, 32, 109, 105, 110, 73, 110, 100, 101, 120, 32, 61, 32, 105, 110, 100, 101, - 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 105, 110, 73, 110, 100, 101, 120, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, - 105, 114, 115, 40, 118, 97, 108, 117, 101, 115, 44, 32, 112, 97, 105, 114, 111, 102, 32, 61, 32, 112, 97, - 105, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 97, 105, - 114, 115, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 112, 114, - 101, 118, 105, 111, 117, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 102, 105, 114, - 115, 116, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 105, 114, - 115, 116, 41, 32, 112, 97, 105, 114, 115, 46, 112, 117, 115, 104, 40, 112, 97, 105, 114, 111, 102, 40, 112, - 114, 101, 118, 105, 111, 117, 115, 44, 32, 118, 97, 108, 117, 101, 41, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 61, 32, 118, 97, 108, 117, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 114, 115, 116, 32, 61, 32, 116, - 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 112, 97, 105, 114, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 105, 114, 40, 97, 44, 32, 98, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 97, 44, 32, 98, 93, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, - 113, 117, 101, 110, 99, 101, 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 44, 32, 115, 116, 101, - 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 32, 61, 32, 43, 115, - 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 32, 61, 32, 43, 115, 116, 111, 112, 44, 32, 115, 116, 101, - 112, 32, 61, 32, 40, 110, 32, 61, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 41, 32, 60, 32, 50, 32, 63, 32, 40, 115, 116, 111, 112, 32, 61, 32, 115, 116, 97, 114, 116, - 44, 32, 115, 116, 97, 114, 116, 32, 61, 32, 48, 44, 32, 49, 41, 32, 58, 32, 110, 32, 60, 32, 51, - 32, 63, 32, 49, 32, 58, 32, 43, 115, 116, 101, 112, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 99, - 101, 105, 108, 40, 40, 115, 116, 111, 112, 32, 45, 32, 115, 116, 97, 114, 116, 41, 32, 47, 32, 115, 116, - 101, 112, 41, 41, 32, 124, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 97, 110, 103, 101, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 91, 105, 93, 32, - 61, 32, 115, 116, 97, 114, 116, 32, 43, 32, 105, 32, 42, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 114, 97, 110, 103, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 108, 101, 97, 115, 116, 40, 118, 97, 108, 117, 101, 115, 44, 32, 99, 111, 109, 112, 97, - 114, 101, 32, 61, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, - 101, 116, 32, 100, 101, 102, 105, 110, 101, 100, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 109, 112, 97, 114, 101, 46, 108, 101, 110, 103, 116, 104, - 32, 61, 61, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, - 101, 116, 32, 109, 105, 110, 86, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 101, 108, 101, 109, 101, 110, 116, 32, 111, 102, - 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, 61, 32, 99, 111, 109, 112, 97, - 114, 101, 40, 101, 108, 101, 109, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 101, 102, 105, 110, 101, 100, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 97, 115, 99, 101, 110, 100, - 105, 110, 103, 36, 51, 40, 118, 97, 108, 117, 101, 44, 32, 109, 105, 110, 86, 97, 108, 117, 101, 41, 32, - 60, 32, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 58, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 40, 118, 97, 108, 117, 101, 44, 32, 118, - 97, 108, 117, 101, 41, 32, 61, 61, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, 32, 61, 32, 101, 108, 101, 109, 101, - 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 109, 105, 110, 86, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, 100, - 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, - 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 100, 101, 102, 105, 110, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 99, 111, 109, 112, 97, 114, 101, 40, 118, 97, 108, - 117, 101, 44, 32, 109, 105, 110, 41, 32, 60, 32, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 99, 111, 109, 112, 97, 114, 101, 40, 118, 97, 108, - 117, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 61, 61, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, 32, 61, 32, - 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, 100, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 109, 105, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 101, 97, 115, 116, 73, 110, 100, 101, 120, 40, 118, 97, - 108, 117, 101, 115, 44, 32, 99, 111, 109, 112, 97, 114, 101, 32, 61, 32, 97, 115, 99, 101, 110, 100, 105, - 110, 103, 36, 51, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 109, - 112, 97, 114, 101, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 49, 41, 32, 114, 101, 116, 117, - 114, 110, 32, 109, 105, 110, 73, 110, 100, 101, 120, 40, 118, 97, 108, 117, 101, 115, 44, 32, 99, 111, 109, - 112, 97, 114, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 105, 110, 86, - 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 105, 110, 32, 61, - 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, - 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, - 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 43, 105, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 105, 110, 32, 60, 32, 48, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 99, 111, 109, 112, 97, 114, 101, 40, - 118, 97, 108, 117, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 61, 61, 61, 32, 48, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 99, 111, 109, 112, 97, 114, 101, 40, - 118, 97, 108, 117, 101, 44, 32, 109, 105, 110, 86, 97, 108, 117, 101, 41, 32, 60, 32, 48, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, 86, 97, 108, - 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 109, 105, 110, 32, 61, 32, 105, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 105, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 114, 101, 97, 116, 101, 115, 116, 40, 118, - 97, 108, 117, 101, 115, 44, 32, 99, 111, 109, 112, 97, 114, 101, 32, 61, 32, 97, 115, 99, 101, 110, 100, - 105, 110, 103, 36, 51, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 97, - 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 100, 101, 102, 105, 110, 101, 100, 32, - 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, - 109, 112, 97, 114, 101, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 49, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 97, 120, 86, 97, 108, 117, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, - 116, 32, 101, 108, 101, 109, 101, 110, 116, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 118, - 97, 108, 117, 101, 32, 61, 32, 99, 111, 109, 112, 97, 114, 101, 40, 101, 108, 101, 109, 101, 110, 116, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, - 101, 102, 105, 110, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 63, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 40, 118, 97, 108, 117, 101, - 44, 32, 109, 97, 120, 86, 97, 108, 117, 101, 41, 32, 62, 32, 48, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 97, 115, 99, 101, 110, 100, 105, 110, - 103, 36, 51, 40, 118, 97, 108, 117, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 61, 61, 61, 32, 48, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 109, 97, 120, 32, 61, 32, 101, 108, 101, 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 120, 86, 97, 108, 117, 101, 32, 61, - 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, 100, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, - 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 101, 102, 105, 110, 101, - 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, - 32, 99, 111, 109, 112, 97, 114, 101, 40, 118, 97, 108, 117, 101, 44, 32, 109, 97, 120, 41, 32, 62, 32, - 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, - 32, 99, 111, 109, 112, 97, 114, 101, 40, 118, 97, 108, 117, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, - 61, 61, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 109, 97, 120, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, 100, - 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 97, 120, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, - 114, 101, 97, 116, 101, 115, 116, 73, 110, 100, 101, 120, 40, 118, 97, 108, 117, 101, 115, 44, 32, 99, 111, - 109, 112, 97, 114, 101, 32, 61, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 109, 112, 97, 114, 101, 46, 108, 101, 110, - 103, 116, 104, 32, 61, 61, 61, 32, 49, 41, 32, 114, 101, 116, 117, 114, 110, 32, 109, 97, 120, 73, 110, - 100, 101, 120, 40, 118, 97, 108, 117, 101, 115, 44, 32, 99, 111, 109, 112, 97, 114, 101, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 97, 120, 86, 97, 108, 117, 101, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 97, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, - 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 43, 43, 105, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 109, 97, 120, 32, 60, 32, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 63, 32, 99, 111, 109, 112, 97, 114, 101, 40, 118, 97, 108, 117, 101, 44, 32, 118, - 97, 108, 117, 101, 41, 32, 61, 61, 61, 32, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 58, 32, 99, 111, 109, 112, 97, 114, 101, 40, 118, 97, 108, 117, 101, 44, 32, 109, - 97, 120, 86, 97, 108, 117, 101, 41, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 120, 86, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, - 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 120, - 32, 61, 32, 105, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 109, 97, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 115, 99, 97, 110, 40, 118, 97, 108, 117, 101, 115, 44, 32, 99, 111, 109, 112, 97, - 114, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 100, - 101, 120, 32, 61, 32, 108, 101, 97, 115, 116, 73, 110, 100, 101, 120, 40, 118, 97, 108, 117, 101, 115, 44, - 32, 99, 111, 109, 112, 97, 114, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 105, 110, 100, 101, 120, 32, 60, 32, 48, 32, 63, 32, 117, 110, 100, 101, 102, 105, 110, 101, - 100, 32, 58, 32, 105, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 115, 104, 117, 102, 102, 108, 101, 36, 49, 32, 61, 32, 115, 104, 117, 102, 102, 108, 101, 114, - 40, 77, 97, 116, 104, 46, 114, 97, 110, 100, 111, 109, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 115, 104, 117, 102, 102, 108, 101, 114, 40, 114, 97, 110, 100, 111, 109, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 115, 104, 117, 102, 102, 108, 101, 40, 97, 114, 114, 97, 121, 44, 32, 105, 48, 32, 61, 32, - 48, 44, 32, 105, 49, 32, 61, 32, 97, 114, 114, 97, 121, 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 32, 61, 32, 105, 49, - 32, 45, 32, 40, 105, 48, 32, 61, 32, 43, 105, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 32, 61, 32, 114, 97, 110, 100, - 111, 109, 40, 41, 32, 42, 32, 109, 45, 45, 32, 124, 32, 48, 44, 32, 116, 32, 61, 32, 97, 114, 114, - 97, 121, 91, 109, 32, 43, 32, 105, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 114, 114, 97, 121, 91, 109, 32, 43, 32, 105, 48, 93, 32, 61, 32, 97, 114, - 114, 97, 121, 91, 105, 32, 43, 32, 105, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 114, 114, 97, 121, 91, 105, 32, 43, 32, 105, 48, 93, 32, 61, 32, 116, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 114, 97, 121, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 115, 117, 109, 36, 49, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, - 111, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 115, 117, 109, 32, 61, - 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 111, 102, - 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, 108, 117, 101, 32, 111, - 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 61, 32, 43, 118, 97, 108, 117, 101, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 117, 109, 32, 43, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 118, 97, - 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 61, 32, 43, - 118, 97, 108, 117, 101, 111, 102, 40, 118, 97, 108, 117, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, - 32, 118, 97, 108, 117, 101, 115, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 109, 32, 43, 61, 32, 118, 97, 108, 117, 101, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 117, 109, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 112, 111, 115, 101, 40, - 109, 97, 116, 114, 105, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, - 40, 110, 32, 61, 32, 109, 97, 116, 114, 105, 120, 46, 108, 101, 110, 103, 116, 104, 41, 41, 32, 114, 101, - 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, - 97, 114, 32, 105, 32, 61, 32, 45, 49, 44, 32, 109, 32, 61, 32, 109, 105, 110, 36, 50, 40, 109, 97, - 116, 114, 105, 120, 44, 32, 108, 101, 110, 103, 116, 104, 36, 50, 41, 44, 32, 116, 114, 97, 110, 115, 112, - 111, 115, 101, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 109, 41, 59, 32, 43, 43, 105, - 32, 60, 32, 109, 59, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 118, 97, 114, 32, 106, 32, 61, 32, 45, 49, 44, 32, 110, 44, 32, 114, 111, 119, 32, 61, - 32, 116, 114, 97, 110, 115, 112, 111, 115, 101, 91, 105, 93, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, - 97, 121, 40, 110, 41, 59, 32, 43, 43, 106, 32, 60, 32, 110, 59, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 119, 91, 106, 93, 32, 61, 32, 109, 97, - 116, 114, 105, 120, 91, 106, 93, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 116, 114, 97, 110, 115, 112, 111, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 101, 110, 103, 116, 104, 36, 50, 40, 100, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 108, 101, - 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 122, 105, 112, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 114, 97, 110, 115, 112, 111, 115, 101, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, - 118, 101, 114, 121, 40, 118, 97, 108, 117, 101, 115, 44, 32, 116, 101, 115, 116, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 116, 101, 115, 116, 32, 33, - 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, - 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 34, 116, 101, 115, 116, 32, 105, 115, 32, 110, 111, - 116, 32, 97, 32, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, - 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 33, 116, 101, 115, 116, 40, 118, 97, 108, 117, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, - 32, 118, 97, 108, 117, 101, 115, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 109, 101, 40, 118, 97, 108, - 117, 101, 115, 44, 32, 116, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 116, 121, 112, 101, 111, 102, 32, 116, 101, 115, 116, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, - 116, 105, 111, 110, 34, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, - 114, 111, 114, 40, 34, 116, 101, 115, 116, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, - 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, - 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 101, 115, 116, 40, 118, - 97, 108, 117, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, 117, 101, 115, 41, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 102, 105, 108, 116, 101, 114, 36, 49, 40, 118, 97, 108, 117, 101, 115, 44, 32, - 116, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, - 101, 111, 102, 32, 116, 101, 115, 116, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, - 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 34, - 116, 101, 115, 116, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 102, 117, 110, 99, 116, 105, 111, 110, 34, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 97, 114, 114, 97, 121, 32, - 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, 101, 120, - 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, - 115, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 101, 115, 116, 40, 118, 97, 108, - 117, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 118, 97, 108, 117, 101, 115, 41, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 114, 97, 121, 46, - 112, 117, 115, 104, 40, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 114, 97, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 97, 112, 36, 49, 40, 118, 97, 108, 117, 101, 115, 44, - 32, 109, 97, 112, 112, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 115, 91, 83, 121, 109, 98, 111, 108, 46, 105, 116, - 101, 114, 97, 116, 111, 114, 93, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, - 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 34, 118, - 97, 108, 117, 101, 115, 32, 105, 115, 32, 110, 111, 116, 32, 105, 116, 101, 114, 97, 98, 108, 101, 34, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 109, 97, - 112, 112, 101, 114, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 116, 104, - 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 34, 109, 97, 112, 112, - 101, 114, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 65, 114, 114, 97, 121, 46, 102, - 114, 111, 109, 40, 118, 97, 108, 117, 101, 115, 44, 32, 40, 118, 97, 108, 117, 101, 44, 32, 105, 110, 100, - 101, 120, 41, 32, 61, 62, 32, 109, 97, 112, 112, 101, 114, 40, 118, 97, 108, 117, 101, 44, 32, 105, 110, - 100, 101, 120, 44, 32, 118, 97, 108, 117, 101, 115, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 100, 117, 99, 101, 40, 118, 97, 108, 117, - 101, 115, 44, 32, 114, 101, 100, 117, 99, 101, 114, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 114, 101, 100, 117, 99, - 101, 114, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 116, 104, 114, 111, - 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 34, 114, 101, 100, 117, 99, 101, - 114, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 116, 101, 114, 97, 116, 111, 114, 32, - 61, 32, 118, 97, 108, 117, 101, 115, 91, 83, 121, 109, 98, 111, 108, 46, 105, 116, 101, 114, 97, 116, 111, - 114, 93, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 100, 111, 110, 101, 44, - 32, 110, 101, 120, 116, 44, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 32, 60, 32, 51, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 123, - 100, 111, 110, 101, 44, 32, 118, 97, 108, 117, 101, 125, 32, 61, 32, 105, 116, 101, 114, 97, 116, 111, 114, - 46, 110, 101, 120, 116, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 100, 111, 110, 101, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 43, 43, 105, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 40, 123, 100, 111, 110, 101, - 44, 32, 118, 97, 108, 117, 101, 58, 32, 110, 101, 120, 116, 125, 32, 61, 32, 105, 116, 101, 114, 97, 116, - 111, 114, 46, 110, 101, 120, 116, 40, 41, 41, 44, 32, 33, 100, 111, 110, 101, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 32, 61, 32, 114, 101, 100, 117, 99, - 101, 114, 40, 118, 97, 108, 117, 101, 44, 32, 110, 101, 120, 116, 44, 32, 43, 43, 105, 110, 100, 101, 120, - 44, 32, 118, 97, 108, 117, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 118, 101, 114, 115, - 101, 36, 49, 40, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 115, 91, 83, 121, 109, 98, 111, 108, - 46, 105, 116, 101, 114, 97, 116, 111, 114, 93, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, - 110, 34, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, - 40, 34, 118, 97, 108, 117, 101, 115, 32, 105, 115, 32, 110, 111, 116, 32, 105, 116, 101, 114, 97, 98, 108, - 101, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 65, 114, 114, - 97, 121, 46, 102, 114, 111, 109, 40, 118, 97, 108, 117, 101, 115, 41, 46, 114, 101, 118, 101, 114, 115, 101, - 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 100, 105, 102, 102, 101, 114, 101, 110, 99, 101, 40, 118, 97, 108, 117, 101, 115, 44, 32, 46, 46, 46, - 111, 116, 104, 101, 114, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, - 115, 32, 61, 32, 110, 101, 119, 32, 83, 101, 116, 40, 118, 97, 108, 117, 101, 115, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 111, 116, 104, 101, 114, 32, - 111, 102, 32, 111, 116, 104, 101, 114, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 111, - 116, 104, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 108, 117, 101, 115, 46, 100, 101, 108, 101, 116, 101, 40, 118, 97, 108, 117, 101, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 115, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 105, - 115, 106, 111, 105, 110, 116, 40, 118, 97, 108, 117, 101, 115, 44, 32, 111, 116, 104, 101, 114, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 116, 101, 114, 97, 116, 111, 114, - 32, 61, 32, 111, 116, 104, 101, 114, 91, 83, 121, 109, 98, 111, 108, 46, 105, 116, 101, 114, 97, 116, 111, - 114, 93, 40, 41, 44, 32, 115, 101, 116, 32, 61, 32, 110, 101, 119, 32, 83, 101, 116, 40, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 118, 32, 111, 102, - 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 115, 101, 116, 46, 104, 97, 115, 40, 118, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, - 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, - 118, 97, 108, 117, 101, 44, 32, 100, 111, 110, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 119, 104, 105, 108, 101, 32, 40, 40, 123, 118, 97, 108, 117, 101, 44, 32, 100, 111, 110, 101, 125, - 32, 61, 32, 105, 116, 101, 114, 97, 116, 111, 114, 46, 110, 101, 120, 116, 40, 41, 41, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 111, 110, - 101, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 79, 98, 106, 101, 99, 116, 46, 105, 115, 40, 118, 44, 32, 118, 97, 108, - 117, 101, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 46, 97, 100, 100, 40, 118, 97, 108, - 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, - 117, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 115, 101, 116, 36, 50, 40, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 115, 32, 105, 110, 115, 116, 97, 110, 99, - 101, 111, 102, 32, 83, 101, 116, 32, 63, 32, 118, 97, 108, 117, 101, 115, 32, 58, 32, 110, 101, 119, 32, - 83, 101, 116, 40, 118, 97, 108, 117, 101, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 40, - 118, 97, 108, 117, 101, 115, 44, 32, 46, 46, 46, 111, 116, 104, 101, 114, 115, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 115, 32, 61, 32, 110, 101, 119, 32, 83, 101, 116, 40, - 118, 97, 108, 117, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 116, 104, 101, 114, 115, - 32, 61, 32, 111, 116, 104, 101, 114, 115, 46, 109, 97, 112, 40, 115, 101, 116, 36, 50, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 58, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, - 118, 97, 108, 117, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 111, 116, 104, 101, - 114, 32, 111, 102, 32, 111, 116, 104, 101, 114, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 111, 116, 104, 101, 114, 46, 104, 97, 115, 40, - 118, 97, 108, 117, 101, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 115, 46, 100, 101, 108, 101, 116, 101, 40, 118, 97, - 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 116, 105, 110, 117, 101, 32, 111, 117, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 117, 112, 101, 114, 115, 101, 116, 40, 118, 97, 108, 117, - 101, 115, 44, 32, 111, 116, 104, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 105, 116, 101, 114, 97, 116, 111, 114, 32, 61, 32, 118, 97, 108, 117, 101, 115, 91, 83, - 121, 109, 98, 111, 108, 46, 105, 116, 101, 114, 97, 116, 111, 114, 93, 40, 41, 44, 32, 115, 101, 116, 32, - 61, 32, 110, 101, 119, 32, 83, 101, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 99, 111, 110, 115, 116, 32, 111, 32, 111, 102, 32, 111, 116, 104, 101, 114, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 101, 116, 46, 104, 97, 115, - 40, 111, 41, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 101, 116, 32, 118, 97, 108, 117, 101, 44, 32, 100, 111, 110, 101, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 40, 123, 118, 97, 108, 117, - 101, 44, 32, 100, 111, 110, 101, 125, 32, 61, 32, 105, 116, 101, 114, 97, 116, 111, 114, 46, 110, 101, 120, - 116, 40, 41, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 100, 111, 110, 101, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 46, 97, - 100, 100, 40, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 79, 98, 106, 101, 99, 116, 46, 105, 115, 40, 111, 44, 32, 118, 97, - 108, 117, 101, 41, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 117, 98, 115, 101, 116, 40, 118, 97, 108, 117, 101, 115, 44, - 32, 111, 116, 104, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 115, 117, 112, 101, 114, 115, 101, 116, 40, 111, 116, 104, 101, 114, 44, 32, 118, 97, 108, 117, 101, - 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 117, 110, 105, 111, 110, 40, 46, 46, 46, 111, 116, 104, 101, 114, 115, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 101, 116, 32, 61, 32, 110, 101, 119, 32, 83, 101, - 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, - 32, 111, 116, 104, 101, 114, 32, 111, 102, 32, 111, 116, 104, 101, 114, 115, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 111, 32, 111, - 102, 32, 111, 116, 104, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 101, 116, 46, 97, 100, 100, 40, 111, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 101, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 118, 97, 114, 32, 115, 108, 105, 99, 101, 36, 51, 32, 61, 32, 65, 114, 114, 97, 121, 46, 112, - 114, 111, 116, 111, 116, 121, 112, 101, 46, 115, 108, 105, 99, 101, 59, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 56, 40, 120, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 111, 112, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 105, 103, 104, 116, 32, 61, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 98, 111, 116, 116, 111, 109, 32, 61, 32, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 102, - 116, 32, 61, 32, 52, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 112, 115, 105, 108, 111, 110, 36, - 53, 32, 61, 32, 49, 101, 45, 54, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 88, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 34, 32, 43, - 32, 120, 32, 43, 32, 34, 44, 48, 41, 34, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 89, 40, 121, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 116, 114, 97, 110, 115, - 108, 97, 116, 101, 40, 48, 44, 34, 32, 43, 32, 121, 32, 43, 32, 34, 41, 34, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 117, 109, 98, 101, 114, - 36, 50, 40, 115, 99, 97, 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 100, 32, 61, 62, 32, 43, 115, 99, 97, 108, 101, 40, 100, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 101, 114, - 36, 49, 40, 115, 99, 97, 108, 101, 44, 32, 111, 102, 102, 115, 101, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 111, 102, 102, 115, 101, 116, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, - 48, 44, 32, 115, 99, 97, 108, 101, 46, 98, 97, 110, 100, 119, 105, 100, 116, 104, 40, 41, 32, 45, 32, - 111, 102, 102, 115, 101, 116, 32, 42, 32, 50, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 115, 99, 97, 108, 101, 46, 114, 111, 117, 110, 100, 40, 41, 41, 32, 111, 102, - 102, 115, 101, 116, 32, 61, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 111, 102, 102, 115, 101, - 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 32, 61, 62, - 32, 43, 115, 99, 97, 108, 101, 40, 100, 41, 32, 43, 32, 111, 102, 102, 115, 101, 116, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 110, 116, 101, 114, - 105, 110, 103, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 33, 116, 104, 105, 115, 46, 95, 95, 97, 120, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 120, 105, 115, 40, 111, 114, 105, 101, 110, 116, 44, - 32, 115, 99, 97, 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, - 105, 99, 107, 65, 114, 103, 117, 109, 101, 110, 116, 115, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 86, 97, 108, 117, 101, 115, 32, 61, 32, 110, 117, - 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 70, 111, 114, - 109, 97, 116, 32, 61, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 105, 99, 107, 83, 105, 122, 101, 73, 110, 110, 101, 114, 32, 61, 32, 54, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 83, 105, 122, 101, 79, 117, 116, 101, 114, 32, - 61, 32, 54, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 80, 97, - 100, 100, 105, 110, 103, 32, 61, 32, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 111, 102, 102, 115, 101, 116, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 119, 105, 110, 100, 111, 119, 32, - 33, 61, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 38, 38, 32, 119, 105, 110, 100, - 111, 119, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 62, 32, 49, - 32, 63, 32, 48, 32, 58, 32, 48, 46, 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 107, 32, 61, 32, 111, 114, 105, 101, 110, 116, 32, 61, 61, 61, 32, 116, 111, 112, 32, 124, 124, 32, - 111, 114, 105, 101, 110, 116, 32, 61, 61, 61, 32, 108, 101, 102, 116, 32, 63, 32, 45, 49, 32, 58, 32, - 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 111, 114, 105, 101, - 110, 116, 32, 61, 61, 61, 32, 108, 101, 102, 116, 32, 124, 124, 32, 111, 114, 105, 101, 110, 116, 32, 61, - 61, 61, 32, 114, 105, 103, 104, 116, 32, 63, 32, 34, 120, 34, 32, 58, 32, 34, 121, 34, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 32, 61, 32, - 111, 114, 105, 101, 110, 116, 32, 61, 61, 61, 32, 116, 111, 112, 32, 124, 124, 32, 111, 114, 105, 101, 110, - 116, 32, 61, 61, 61, 32, 98, 111, 116, 116, 111, 109, 32, 63, 32, 116, 114, 97, 110, 115, 108, 97, 116, - 101, 88, 32, 58, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 89, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 120, 105, 115, 40, 99, 111, 110, 116, 101, 120, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 97, - 108, 117, 101, 115, 32, 61, 32, 116, 105, 99, 107, 86, 97, 108, 117, 101, 115, 32, 61, 61, 32, 110, 117, - 108, 108, 32, 63, 32, 40, 115, 99, 97, 108, 101, 46, 116, 105, 99, 107, 115, 32, 63, 32, 115, 99, 97, - 108, 101, 46, 116, 105, 99, 107, 115, 46, 97, 112, 112, 108, 121, 40, 115, 99, 97, 108, 101, 44, 32, 116, - 105, 99, 107, 65, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 58, 32, 115, 99, 97, 108, 101, 46, 100, - 111, 109, 97, 105, 110, 40, 41, 41, 32, 58, 32, 116, 105, 99, 107, 86, 97, 108, 117, 101, 115, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 32, - 61, 32, 116, 105, 99, 107, 70, 111, 114, 109, 97, 116, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, - 40, 115, 99, 97, 108, 101, 46, 116, 105, 99, 107, 70, 111, 114, 109, 97, 116, 32, 63, 32, 115, 99, 97, - 108, 101, 46, 116, 105, 99, 107, 70, 111, 114, 109, 97, 116, 46, 97, 112, 112, 108, 121, 40, 115, 99, 97, - 108, 101, 44, 32, 116, 105, 99, 107, 65, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 58, 32, 105, 100, - 101, 110, 116, 105, 116, 121, 36, 56, 41, 32, 58, 32, 116, 105, 99, 107, 70, 111, 114, 109, 97, 116, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 97, 99, 105, 110, - 103, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 116, 105, 99, 107, 83, 105, 122, 101, 73, 110, - 110, 101, 114, 44, 32, 48, 41, 32, 43, 32, 116, 105, 99, 107, 80, 97, 100, 100, 105, 110, 103, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 32, 61, - 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, 101, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 48, 32, 61, 32, 43, 114, 97, 110, 103, - 101, 91, 48, 93, 32, 43, 32, 111, 102, 102, 115, 101, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 49, 32, 61, 32, 43, 114, 97, 110, 103, 101, - 91, 114, 97, 110, 103, 101, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 32, 43, 32, 111, 102, - 102, 115, 101, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 111, 115, 105, 116, 105, 111, 110, 32, 61, 32, 40, 115, 99, 97, 108, 101, 46, 98, 97, 110, 100, 119, 105, - 100, 116, 104, 32, 63, 32, 99, 101, 110, 116, 101, 114, 36, 49, 32, 58, 32, 110, 117, 109, 98, 101, 114, - 36, 50, 41, 40, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 40, 41, 44, 32, 111, 102, 102, 115, 101, - 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, - 101, 99, 116, 105, 111, 110, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 46, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 32, 63, 32, 99, 111, 110, 116, 101, 120, 116, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, - 40, 41, 32, 58, 32, 99, 111, 110, 116, 101, 120, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 97, 116, 104, 32, 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, - 46, 115, 101, 108, 101, 99, 116, 65, 108, 108, 40, 34, 46, 100, 111, 109, 97, 105, 110, 34, 41, 46, 100, - 97, 116, 97, 40, 91, 110, 117, 108, 108, 93, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 32, 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 46, - 115, 101, 108, 101, 99, 116, 65, 108, 108, 40, 34, 46, 116, 105, 99, 107, 34, 41, 46, 100, 97, 116, 97, - 40, 118, 97, 108, 117, 101, 115, 44, 32, 115, 99, 97, 108, 101, 41, 46, 111, 114, 100, 101, 114, 40, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 69, - 120, 105, 116, 32, 61, 32, 116, 105, 99, 107, 46, 101, 120, 105, 116, 40, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 69, 110, 116, 101, 114, 32, 61, - 32, 116, 105, 99, 107, 46, 101, 110, 116, 101, 114, 40, 41, 46, 97, 112, 112, 101, 110, 100, 40, 34, 103, - 34, 41, 46, 97, 116, 116, 114, 40, 34, 99, 108, 97, 115, 115, 34, 44, 32, 34, 116, 105, 99, 107, 34, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, - 32, 61, 32, 116, 105, 99, 107, 46, 115, 101, 108, 101, 99, 116, 40, 34, 108, 105, 110, 101, 34, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 101, 120, 116, 32, 61, - 32, 116, 105, 99, 107, 46, 115, 101, 108, 101, 99, 116, 40, 34, 116, 101, 120, 116, 34, 41, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 116, 104, 32, 61, 32, 112, 97, 116, 104, - 46, 109, 101, 114, 103, 101, 40, 112, 97, 116, 104, 46, 101, 110, 116, 101, 114, 40, 41, 46, 105, 110, 115, - 101, 114, 116, 40, 34, 112, 97, 116, 104, 34, 44, 32, 34, 46, 116, 105, 99, 107, 34, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 99, 108, - 97, 115, 115, 34, 44, 32, 34, 100, 111, 109, 97, 105, 110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 115, 116, 114, 111, 107, 101, 34, - 44, 32, 34, 99, 117, 114, 114, 101, 110, 116, 67, 111, 108, 111, 114, 34, 41, 41, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 32, 61, 32, 116, 105, 99, 107, 46, 109, - 101, 114, 103, 101, 40, 116, 105, 99, 107, 69, 110, 116, 101, 114, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 32, 61, 32, 108, 105, 110, 101, 46, 109, 101, 114, 103, - 101, 40, 116, 105, 99, 107, 69, 110, 116, 101, 114, 46, 97, 112, 112, 101, 110, 100, 40, 34, 108, 105, 110, - 101, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, - 116, 114, 40, 34, 115, 116, 114, 111, 107, 101, 34, 44, 32, 34, 99, 117, 114, 114, 101, 110, 116, 67, 111, - 108, 111, 114, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, - 97, 116, 116, 114, 40, 120, 32, 43, 32, 34, 50, 34, 44, 32, 107, 32, 42, 32, 116, 105, 99, 107, 83, - 105, 122, 101, 73, 110, 110, 101, 114, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 101, 120, 116, 32, 61, 32, 116, 101, 120, 116, 46, 109, 101, 114, 103, 101, 40, 116, 105, 99, - 107, 69, 110, 116, 101, 114, 46, 97, 112, 112, 101, 110, 100, 40, 34, 116, 101, 120, 116, 34, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 102, - 105, 108, 108, 34, 44, 32, 34, 99, 117, 114, 114, 101, 110, 116, 67, 111, 108, 111, 114, 34, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 120, 44, - 32, 107, 32, 42, 32, 115, 112, 97, 99, 105, 110, 103, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 100, 121, 34, 44, 32, 111, 114, 105, 101, - 110, 116, 32, 61, 61, 61, 32, 116, 111, 112, 32, 63, 32, 34, 48, 101, 109, 34, 32, 58, 32, 111, 114, - 105, 101, 110, 116, 32, 61, 61, 61, 32, 98, 111, 116, 116, 111, 109, 32, 63, 32, 34, 48, 46, 55, 49, - 101, 109, 34, 32, 58, 32, 34, 48, 46, 51, 50, 101, 109, 34, 41, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 110, 116, 101, 120, 116, 32, 33, 61, 61, - 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 97, 116, 104, 32, 61, 32, 112, 97, 116, 104, 46, 116, 114, 97, 110, - 115, 105, 116, 105, 111, 110, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 32, 61, 32, 116, 105, 99, 107, 46, 116, - 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 32, 61, 32, 108, 105, 110, - 101, 46, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 101, 120, 116, 32, 61, 32, - 116, 101, 120, 116, 46, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 99, 111, 110, 116, 101, 120, 116, - 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, - 107, 69, 120, 105, 116, 32, 61, 32, 116, 105, 99, 107, 69, 120, 105, 116, 46, 116, 114, 97, 110, 115, 105, - 116, 105, 111, 110, 40, 99, 111, 110, 116, 101, 120, 116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 111, 112, 97, 99, 105, - 116, 121, 34, 44, 32, 101, 112, 115, 105, 108, 111, 110, 36, 53, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 116, 114, 97, - 110, 115, 102, 111, 114, 109, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 32, - 114, 101, 116, 117, 114, 110, 32, 105, 115, 70, 105, 110, 105, 116, 101, 40, 100, 32, 61, 32, 112, 111, 115, - 105, 116, 105, 111, 110, 40, 100, 41, 41, 32, 63, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 100, - 32, 43, 32, 111, 102, 102, 115, 101, 116, 41, 32, 58, 32, 116, 104, 105, 115, 46, 103, 101, 116, 65, 116, - 116, 114, 105, 98, 117, 116, 101, 40, 34, 116, 114, 97, 110, 115, 102, 111, 114, 109, 34, 41, 59, 32, 125, - 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, - 107, 69, 110, 116, 101, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 111, 112, 97, 99, 105, 116, 121, 34, 44, 32, 101, 112, - 115, 105, 108, 111, 110, 36, 53, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 116, 114, 97, 110, 115, 102, 111, 114, 109, 34, - 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 32, 118, 97, 114, 32, 112, 32, 61, - 32, 116, 104, 105, 115, 46, 112, 97, 114, 101, 110, 116, 78, 111, 100, 101, 46, 95, 95, 97, 120, 105, 115, - 59, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 40, 112, 32, 38, - 38, 32, 105, 115, 70, 105, 110, 105, 116, 101, 40, 112, 32, 61, 32, 112, 40, 100, 41, 41, 32, 63, 32, - 112, 32, 58, 32, 112, 111, 115, 105, 116, 105, 111, 110, 40, 100, 41, 41, 32, 43, 32, 111, 102, 102, 115, - 101, 116, 41, 59, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 69, 120, 105, 116, 46, 114, - 101, 109, 111, 118, 101, 40, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 97, 116, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, - 116, 114, 40, 34, 100, 34, 44, 32, 111, 114, 105, 101, 110, 116, 32, 61, 61, 61, 32, 108, 101, 102, 116, - 32, 124, 124, 32, 111, 114, 105, 101, 110, 116, 32, 61, 61, 61, 32, 114, 105, 103, 104, 116, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 40, 116, 105, - 99, 107, 83, 105, 122, 101, 79, 117, 116, 101, 114, 32, 63, 32, 34, 77, 34, 32, 43, 32, 107, 32, 42, - 32, 116, 105, 99, 107, 83, 105, 122, 101, 79, 117, 116, 101, 114, 32, 43, 32, 34, 44, 34, 32, 43, 32, - 114, 97, 110, 103, 101, 48, 32, 43, 32, 34, 72, 34, 32, 43, 32, 111, 102, 102, 115, 101, 116, 32, 43, - 32, 34, 86, 34, 32, 43, 32, 114, 97, 110, 103, 101, 49, 32, 43, 32, 34, 72, 34, 32, 43, 32, 107, - 32, 42, 32, 116, 105, 99, 107, 83, 105, 122, 101, 79, 117, 116, 101, 114, 32, 58, 32, 34, 77, 34, 32, - 43, 32, 111, 102, 102, 115, 101, 116, 32, 43, 32, 34, 44, 34, 32, 43, 32, 114, 97, 110, 103, 101, 48, - 32, 43, 32, 34, 86, 34, 32, 43, 32, 114, 97, 110, 103, 101, 49, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 40, 116, 105, 99, 107, 83, 105, - 122, 101, 79, 117, 116, 101, 114, 32, 63, 32, 34, 77, 34, 32, 43, 32, 114, 97, 110, 103, 101, 48, 32, - 43, 32, 34, 44, 34, 32, 43, 32, 107, 32, 42, 32, 116, 105, 99, 107, 83, 105, 122, 101, 79, 117, 116, - 101, 114, 32, 43, 32, 34, 86, 34, 32, 43, 32, 111, 102, 102, 115, 101, 116, 32, 43, 32, 34, 72, 34, - 32, 43, 32, 114, 97, 110, 103, 101, 49, 32, 43, 32, 34, 86, 34, 32, 43, 32, 107, 32, 42, 32, 116, - 105, 99, 107, 83, 105, 122, 101, 79, 117, 116, 101, 114, 32, 58, 32, 34, 77, 34, 32, 43, 32, 114, 97, - 110, 103, 101, 48, 32, 43, 32, 34, 44, 34, 32, 43, 32, 111, 102, 102, 115, 101, 116, 32, 43, 32, 34, - 72, 34, 32, 43, 32, 114, 97, 110, 103, 101, 49, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 105, 99, 107, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 111, 112, 97, 99, 105, 116, 121, 34, 44, 32, 49, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, - 116, 114, 97, 110, 115, 102, 111, 114, 109, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, - 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 112, 111, 115, - 105, 116, 105, 111, 110, 40, 100, 41, 32, 43, 32, 111, 102, 102, 115, 101, 116, 41, 59, 32, 125, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 120, 32, 43, 32, 34, - 50, 34, 44, 32, 107, 32, 42, 32, 116, 105, 99, 107, 83, 105, 122, 101, 73, 110, 110, 101, 114, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 101, 120, 116, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 120, 44, 32, 107, 32, - 42, 32, 115, 112, 97, 99, 105, 110, 103, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 116, 101, 120, 116, 40, 102, 111, 114, 109, 97, 116, 41, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 46, 102, 105, 108, 116, - 101, 114, 40, 101, 110, 116, 101, 114, 105, 110, 103, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 102, 105, 108, 108, 34, 44, 32, 34, 110, 111, - 110, 101, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, - 116, 116, 114, 40, 34, 102, 111, 110, 116, 45, 115, 105, 122, 101, 34, 44, 32, 49, 48, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 102, 111, - 110, 116, 45, 102, 97, 109, 105, 108, 121, 34, 44, 32, 34, 115, 97, 110, 115, 45, 115, 101, 114, 105, 102, - 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, - 114, 40, 34, 116, 101, 120, 116, 45, 97, 110, 99, 104, 111, 114, 34, 44, 32, 111, 114, 105, 101, 110, 116, - 32, 61, 61, 61, 32, 114, 105, 103, 104, 116, 32, 63, 32, 34, 115, 116, 97, 114, 116, 34, 32, 58, 32, - 111, 114, 105, 101, 110, 116, 32, 61, 61, 61, 32, 108, 101, 102, 116, 32, 63, 32, 34, 101, 110, 100, 34, - 32, 58, 32, 34, 109, 105, 100, 100, 108, 101, 34, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 101, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 32, 116, 104, 105, 115, 46, 95, 95, 97, 120, 105, 115, 32, 61, 32, 112, 111, 115, 105, 116, 105, - 111, 110, 59, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 97, 120, 105, 115, 46, 115, 99, 97, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, - 40, 115, 99, 97, 108, 101, 32, 61, 32, 95, 44, 32, 97, 120, 105, 115, 41, 32, 58, 32, 115, 99, 97, - 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 97, 120, 105, 115, 46, 116, 105, 99, 107, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 116, 105, 99, 107, 65, 114, 103, 117, 109, 101, 110, 116, 115, 32, 61, 32, 115, 108, 105, 99, 101, 36, 51, - 46, 99, 97, 108, 108, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, 32, 97, 120, 105, 115, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 120, - 105, 115, 46, 116, 105, 99, 107, 65, 114, 103, 117, 109, 101, 110, 116, 115, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 63, 32, 40, 116, 105, 99, 107, 65, 114, 103, 117, 109, 101, 110, 116, 115, 32, 61, 32, 95, 32, 61, 61, - 32, 110, 117, 108, 108, 32, 63, 32, 91, 93, 32, 58, 32, 115, 108, 105, 99, 101, 36, 51, 46, 99, 97, - 108, 108, 40, 95, 41, 44, 32, 97, 120, 105, 115, 41, 32, 58, 32, 116, 105, 99, 107, 65, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 120, 105, 115, 46, 116, 105, 99, 107, 86, 97, - 108, 117, 101, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 105, 99, 107, 86, 97, 108, 117, 101, - 115, 32, 61, 32, 95, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, - 115, 108, 105, 99, 101, 36, 51, 46, 99, 97, 108, 108, 40, 95, 41, 44, 32, 97, 120, 105, 115, 41, 32, - 58, 32, 116, 105, 99, 107, 86, 97, 108, 117, 101, 115, 32, 38, 38, 32, 116, 105, 99, 107, 86, 97, 108, - 117, 101, 115, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 120, 105, 115, 46, 116, 105, 99, 107, 70, 111, 114, 109, - 97, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 105, 99, 107, 70, 111, 114, 109, 97, 116, 32, - 61, 32, 95, 44, 32, 97, 120, 105, 115, 41, 32, 58, 32, 116, 105, 99, 107, 70, 111, 114, 109, 97, 116, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 120, 105, 115, 46, 116, 105, 99, 107, 83, 105, 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, - 105, 99, 107, 83, 105, 122, 101, 73, 110, 110, 101, 114, 32, 61, 32, 116, 105, 99, 107, 83, 105, 122, 101, - 79, 117, 116, 101, 114, 32, 61, 32, 43, 95, 44, 32, 97, 120, 105, 115, 41, 32, 58, 32, 116, 105, 99, - 107, 83, 105, 122, 101, 73, 110, 110, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 120, 105, 115, 46, 116, 105, 99, 107, 83, 105, 122, 101, 73, - 110, 110, 101, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 105, 99, 107, 83, 105, 122, 101, 73, - 110, 110, 101, 114, 32, 61, 32, 43, 95, 44, 32, 97, 120, 105, 115, 41, 32, 58, 32, 116, 105, 99, 107, - 83, 105, 122, 101, 73, 110, 110, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 120, 105, 115, 46, 116, 105, 99, 107, 83, 105, 122, 101, 79, 117, - 116, 101, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 105, 99, 107, 83, 105, 122, 101, 79, 117, - 116, 101, 114, 32, 61, 32, 43, 95, 44, 32, 97, 120, 105, 115, 41, 32, 58, 32, 116, 105, 99, 107, 83, - 105, 122, 101, 79, 117, 116, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 97, 120, 105, 115, 46, 116, 105, 99, 107, 80, 97, 100, 100, 105, 110, 103, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 105, 99, 107, 80, 97, 100, 100, 105, 110, 103, 32, 61, - 32, 43, 95, 44, 32, 97, 120, 105, 115, 41, 32, 58, 32, 116, 105, 99, 107, 80, 97, 100, 100, 105, 110, - 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 120, 105, 115, 46, 111, 102, 102, 115, 101, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 111, 102, - 102, 115, 101, 116, 32, 61, 32, 43, 95, 44, 32, 97, 120, 105, 115, 41, 32, 58, 32, 111, 102, 102, 115, - 101, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 97, 120, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 120, 105, 115, 84, 111, 112, 40, 115, 99, 97, 108, - 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 120, 105, - 115, 40, 116, 111, 112, 44, 32, 115, 99, 97, 108, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 120, 105, 115, 82, 105, 103, 104, 116, 40, 115, - 99, 97, 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 97, 120, 105, 115, 40, 114, 105, 103, 104, 116, 44, 32, 115, 99, 97, 108, 101, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 120, 105, 115, 66, 111, - 116, 116, 111, 109, 40, 115, 99, 97, 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 120, 105, 115, 40, 98, 111, 116, 116, 111, 109, 44, 32, 115, 99, 97, 108, - 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 97, 120, 105, 115, 76, 101, 102, 116, 40, 115, 99, 97, 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 120, 105, 115, 40, 108, 101, 102, 116, 44, 32, 115, - 99, 97, 108, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 110, - 111, 111, 112, 36, 51, 32, 61, 32, 123, 118, 97, 108, 117, 101, 58, 32, 40, 41, 32, 61, 62, 32, 123, - 125, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 105, 115, 112, 97, - 116, 99, 104, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, - 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 44, 32, 95, 32, 61, 32, 123, 125, 44, 32, 116, 59, 32, 105, 32, 60, 32, - 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 33, 40, 116, 32, 61, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 91, 105, 93, 32, 43, - 32, 34, 34, 41, 32, 124, 124, 32, 40, 116, 32, 105, 110, 32, 95, 41, 32, 124, 124, 32, 47, 91, 92, - 115, 46, 93, 47, 46, 116, 101, 115, 116, 40, 116, 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, - 32, 69, 114, 114, 111, 114, 40, 34, 105, 108, 108, 101, 103, 97, 108, 32, 116, 121, 112, 101, 58, 32, 34, - 32, 43, 32, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 91, 116, 93, - 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 105, 115, 112, 97, 116, 99, 104, 40, 95, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 68, 105, 115, 112, 97, 116, 99, 104, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 32, 61, 32, 95, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 84, 121, 112, 101, 110, 97, 109, 101, 115, 36, - 49, 40, 116, 121, 112, 101, 110, 97, 109, 101, 115, 44, 32, 116, 121, 112, 101, 115, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 121, 112, 101, 110, 97, 109, 101, 115, - 46, 116, 114, 105, 109, 40, 41, 46, 115, 112, 108, 105, 116, 40, 47, 94, 124, 92, 115, 43, 47, 41, 46, - 109, 97, 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 97, 109, 101, 32, 61, 32, 34, 34, 44, 32, 105, - 32, 61, 32, 116, 46, 105, 110, 100, 101, 120, 79, 102, 40, 34, 46, 34, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 62, 61, 32, 48, 41, 32, 110, 97, 109, - 101, 32, 61, 32, 116, 46, 115, 108, 105, 99, 101, 40, 105, 32, 43, 32, 49, 41, 44, 32, 116, 32, 61, - 32, 116, 46, 115, 108, 105, 99, 101, 40, 48, 44, 32, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 32, 38, 38, 32, 33, 116, 121, 112, 101, 115, 46, 104, 97, - 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 116, 41, 41, 32, 116, 104, 114, 111, 119, 32, - 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 117, 110, 107, 110, 111, 119, 110, 32, 116, 121, 112, 101, - 58, 32, 34, 32, 43, 32, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 123, 116, 121, 112, 101, 58, 32, 116, 44, 32, 110, 97, 109, 101, 58, 32, 110, - 97, 109, 101, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 68, 105, 115, 112, 97, 116, 99, 104, 46, 112, 114, 111, 116, 111, 116, 121, 112, - 101, 32, 61, 32, 100, 105, 115, 112, 97, 116, 99, 104, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, - 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, - 58, 32, 68, 105, 115, 112, 97, 116, 99, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 110, 58, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 121, 112, 101, 110, 97, 109, 101, 44, 32, 99, 97, 108, - 108, 98, 97, 99, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 95, 32, 61, 32, 116, 104, 105, 115, 46, 95, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 84, 32, 61, 32, 112, 97, 114, 115, 101, 84, 121, 112, 101, 110, 97, 109, - 101, 115, 36, 49, 40, 116, 121, 112, 101, 110, 97, 109, 101, 32, 43, 32, 34, 34, 44, 32, 95, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 45, 49, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 84, 46, 108, 101, 110, - 103, 116, 104, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, - 32, 110, 111, 32, 99, 97, 108, 108, 98, 97, 99, 107, 32, 119, 97, 115, 32, 115, 112, 101, 99, 105, 102, - 105, 101, 100, 44, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 101, 32, 99, 97, 108, 108, 98, 97, 99, - 107, 32, 111, 102, 32, 116, 104, 101, 32, 103, 105, 118, 101, 110, 32, 116, 121, 112, 101, 32, 97, 110, 100, - 32, 110, 97, 109, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 60, 32, 50, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, - 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 105, 102, 32, 40, 40, 116, 32, 61, 32, 40, 116, 121, 112, - 101, 110, 97, 109, 101, 32, 61, 32, 84, 91, 105, 93, 41, 46, 116, 121, 112, 101, 41, 32, 38, 38, 32, - 40, 116, 32, 61, 32, 103, 101, 116, 36, 49, 40, 95, 91, 116, 93, 44, 32, 116, 121, 112, 101, 110, 97, - 109, 101, 46, 110, 97, 109, 101, 41, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 73, 102, 32, 97, 32, 116, 121, 112, 101, 32, 119, 97, 115, 32, 115, 112, 101, - 99, 105, 102, 105, 101, 100, 44, 32, 115, 101, 116, 32, 116, 104, 101, 32, 99, 97, 108, 108, 98, 97, 99, - 107, 32, 102, 111, 114, 32, 116, 104, 101, 32, 103, 105, 118, 101, 110, 32, 116, 121, 112, 101, 32, 97, 110, - 100, 32, 110, 97, 109, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, - 79, 116, 104, 101, 114, 119, 105, 115, 101, 44, 32, 105, 102, 32, 97, 32, 110, 117, 108, 108, 32, 99, 97, - 108, 108, 98, 97, 99, 107, 32, 119, 97, 115, 32, 115, 112, 101, 99, 105, 102, 105, 101, 100, 44, 32, 114, - 101, 109, 111, 118, 101, 32, 99, 97, 108, 108, 98, 97, 99, 107, 115, 32, 111, 102, 32, 116, 104, 101, 32, - 103, 105, 118, 101, 110, 32, 110, 97, 109, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 99, 97, 108, 108, 98, 97, 99, 107, 32, 33, 61, 32, 110, 117, 108, 108, 32, 38, - 38, 32, 116, 121, 112, 101, 111, 102, 32, 99, 97, 108, 108, 98, 97, 99, 107, 32, 33, 61, 61, 32, 34, - 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, - 114, 111, 114, 40, 34, 105, 110, 118, 97, 108, 105, 100, 32, 99, 97, 108, 108, 98, 97, 99, 107, 58, 32, - 34, 32, 43, 32, 99, 97, 108, 108, 98, 97, 99, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 32, 61, 32, - 40, 116, 121, 112, 101, 110, 97, 109, 101, 32, 61, 32, 84, 91, 105, 93, 41, 46, 116, 121, 112, 101, 41, - 32, 95, 91, 116, 93, 32, 61, 32, 115, 101, 116, 36, 49, 40, 95, 91, 116, 93, 44, 32, 116, 121, 112, - 101, 110, 97, 109, 101, 46, 110, 97, 109, 101, 44, 32, 99, 97, 108, 108, 98, 97, 99, 107, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, - 32, 40, 99, 97, 108, 108, 98, 97, 99, 107, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 102, 111, 114, - 32, 40, 116, 32, 105, 110, 32, 95, 41, 32, 95, 91, 116, 93, 32, 61, 32, 115, 101, 116, 36, 49, 40, - 95, 91, 116, 93, 44, 32, 116, 121, 112, 101, 110, 97, 109, 101, 46, 110, 97, 109, 101, 44, 32, 110, 117, - 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 112, 121, 58, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 99, 111, 112, 121, 32, 61, 32, 123, 125, 44, 32, 95, 32, 61, 32, 116, - 104, 105, 115, 46, 95, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, - 40, 118, 97, 114, 32, 116, 32, 105, 110, 32, 95, 41, 32, 99, 111, 112, 121, 91, 116, 93, 32, 61, 32, - 95, 91, 116, 93, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 105, 115, 112, 97, 116, 99, 104, 40, - 99, 111, 112, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 97, 108, 108, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 121, 112, 101, 44, - 32, 116, 104, 97, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 40, 110, 32, 61, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 45, 32, 50, 41, 32, 62, 32, 48, 41, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 97, 114, 103, - 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 32, 105, 32, 61, 32, 48, - 44, 32, 110, 44, 32, 116, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 97, 114, 103, - 115, 91, 105, 93, 32, 61, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 91, 105, 32, 43, 32, 50, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 116, 104, 105, 115, - 46, 95, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 116, 121, 112, 101, 41, - 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 117, 110, 107, 110, - 111, 119, 110, 32, 116, 121, 112, 101, 58, 32, 34, 32, 43, 32, 116, 121, 112, 101, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 116, 32, 61, 32, 116, 104, 105, 115, - 46, 95, 91, 116, 121, 112, 101, 93, 44, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 116, 46, - 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 116, 91, 105, - 93, 46, 118, 97, 108, 117, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 97, 116, 44, 32, 97, 114, 103, - 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 112, 112, 108, 121, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 121, 112, 101, 44, 32, 116, - 104, 97, 116, 44, 32, 97, 114, 103, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 33, 116, 104, 105, 115, 46, 95, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, - 112, 101, 114, 116, 121, 40, 116, 121, 112, 101, 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, - 69, 114, 114, 111, 114, 40, 34, 117, 110, 107, 110, 111, 119, 110, 32, 116, 121, 112, 101, 58, 32, 34, 32, - 43, 32, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 118, 97, 114, 32, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 91, 116, 121, 112, 101, 93, - 44, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 116, 46, 108, 101, 110, 103, 116, 104, 59, 32, - 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 116, 91, 105, 93, 46, 118, 97, 108, 117, 101, 46, - 97, 112, 112, 108, 121, 40, 116, 104, 97, 116, 44, 32, 97, 114, 103, 115, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 103, 101, 116, 36, 49, 40, 116, 121, 112, 101, 44, 32, 110, 97, 109, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, - 44, 32, 110, 32, 61, 32, 116, 121, 112, 101, 46, 108, 101, 110, 103, 116, 104, 44, 32, 99, 59, 32, 105, - 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 40, 99, 32, 61, 32, 116, 121, 112, 101, 91, 105, 93, 41, 46, 110, 97, 109, - 101, 32, 61, 61, 61, 32, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 46, 118, 97, 108, 117, 101, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, - 116, 36, 49, 40, 116, 121, 112, 101, 44, 32, 110, 97, 109, 101, 44, 32, 99, 97, 108, 108, 98, 97, 99, - 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, - 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 116, 121, 112, 101, 46, 108, 101, 110, 103, 116, 104, 59, 32, - 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 91, 105, 93, 46, 110, 97, 109, 101, 32, 61, 61, 61, - 32, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 121, 112, 101, 91, 105, 93, 32, 61, 32, 110, 111, 111, 112, 36, 51, 44, 32, 116, 121, 112, - 101, 32, 61, 32, 116, 121, 112, 101, 46, 115, 108, 105, 99, 101, 40, 48, 44, 32, 105, 41, 46, 99, 111, - 110, 99, 97, 116, 40, 116, 121, 112, 101, 46, 115, 108, 105, 99, 101, 40, 105, 32, 43, 32, 49, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 97, 108, 108, 98, 97, 99, 107, - 32, 33, 61, 32, 110, 117, 108, 108, 41, 32, 116, 121, 112, 101, 46, 112, 117, 115, 104, 40, 123, 110, 97, - 109, 101, 58, 32, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 58, 32, 99, 97, 108, 108, 98, 97, - 99, 107, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 121, - 112, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 120, 104, 116, 109, - 108, 32, 61, 32, 34, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, - 49, 57, 57, 57, 47, 120, 104, 116, 109, 108, 34, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 110, - 97, 109, 101, 115, 112, 97, 99, 101, 115, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 118, 103, 58, 32, 34, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, - 50, 48, 48, 48, 47, 115, 118, 103, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 104, 116, 109, - 108, 58, 32, 120, 104, 116, 109, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 108, 105, 110, 107, - 58, 32, 34, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, 49, 57, - 57, 57, 47, 120, 108, 105, 110, 107, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 109, 108, 58, - 32, 34, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, 114, 103, 47, 88, 77, 76, - 47, 49, 57, 57, 56, 47, 110, 97, 109, 101, 115, 112, 97, 99, 101, 34, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 109, 108, 110, 115, 58, 32, 34, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, - 51, 46, 111, 114, 103, 47, 50, 48, 48, 48, 47, 120, 109, 108, 110, 115, 47, 34, 10, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 97, 109, 101, 115, 112, - 97, 99, 101, 40, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 112, 114, 101, 102, 105, 120, 32, 61, 32, 110, 97, 109, 101, 32, 43, 61, 32, 34, 34, 44, 32, 105, - 32, 61, 32, 112, 114, 101, 102, 105, 120, 46, 105, 110, 100, 101, 120, 79, 102, 40, 34, 58, 34, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 62, 61, 32, 48, 32, 38, 38, 32, - 40, 112, 114, 101, 102, 105, 120, 32, 61, 32, 110, 97, 109, 101, 46, 115, 108, 105, 99, 101, 40, 48, 44, - 32, 105, 41, 41, 32, 33, 61, 61, 32, 34, 120, 109, 108, 110, 115, 34, 41, 32, 110, 97, 109, 101, 32, - 61, 32, 110, 97, 109, 101, 46, 115, 108, 105, 99, 101, 40, 105, 32, 43, 32, 49, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 97, 109, 101, 115, 112, 97, 99, 101, 115, - 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 112, 114, 101, 102, 105, 120, 41, - 32, 63, 32, 123, 115, 112, 97, 99, 101, 58, 32, 110, 97, 109, 101, 115, 112, 97, 99, 101, 115, 91, 112, - 114, 101, 102, 105, 120, 93, 44, 32, 108, 111, 99, 97, 108, 58, 32, 110, 97, 109, 101, 125, 32, 58, 32, - 110, 97, 109, 101, 59, 32, 47, 47, 32, 101, 115, 108, 105, 110, 116, 45, 100, 105, 115, 97, 98, 108, 101, - 45, 108, 105, 110, 101, 32, 110, 111, 45, 112, 114, 111, 116, 111, 116, 121, 112, 101, 45, 98, 117, 105, 108, - 116, 105, 110, 115, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 99, 114, 101, 97, 116, 111, 114, 73, 110, 104, 101, 114, 105, 116, 40, 110, 97, 109, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 100, 111, 99, 117, 109, 101, 110, 116, 32, 61, 32, 116, 104, 105, 115, 46, 111, 119, 110, 101, 114, 68, 111, - 99, 117, 109, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 117, 114, 105, 32, 61, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, - 73, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 117, - 114, 105, 32, 61, 61, 61, 32, 120, 104, 116, 109, 108, 32, 38, 38, 32, 100, 111, 99, 117, 109, 101, 110, - 116, 46, 100, 111, 99, 117, 109, 101, 110, 116, 69, 108, 101, 109, 101, 110, 116, 46, 110, 97, 109, 101, 115, - 112, 97, 99, 101, 85, 82, 73, 32, 61, 61, 61, 32, 120, 104, 116, 109, 108, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, - 114, 101, 97, 116, 101, 69, 108, 101, 109, 101, 110, 116, 40, 110, 97, 109, 101, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, - 99, 114, 101, 97, 116, 101, 69, 108, 101, 109, 101, 110, 116, 78, 83, 40, 117, 114, 105, 44, 32, 110, 97, - 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 114, 101, 97, 116, 111, 114, 70, 105, 120, - 101, 100, 40, 102, 117, 108, 108, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 111, 119, - 110, 101, 114, 68, 111, 99, 117, 109, 101, 110, 116, 46, 99, 114, 101, 97, 116, 101, 69, 108, 101, 109, 101, - 110, 116, 78, 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 115, 112, 97, 99, 101, 44, 32, 102, 117, - 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 99, 114, 101, 97, 116, 111, 114, 40, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 102, 117, 108, 108, 110, 97, 109, 101, 32, 61, 32, 110, 97, 109, 101, 115, 112, 97, - 99, 101, 40, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, 108, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 63, 32, 99, 114, 101, 97, 116, 111, 114, 70, 105, 120, 101, 100, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 99, 114, 101, 97, 116, 111, 114, 73, 110, 104, - 101, 114, 105, 116, 41, 40, 102, 117, 108, 108, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 110, 101, 36, 50, 40, 41, 32, - 123, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, - 111, 114, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 115, 101, 108, 101, 99, 116, 111, 114, 32, 61, 61, 32, 110, 117, 108, 108, - 32, 63, 32, 110, 111, 110, 101, 36, 50, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, - 105, 115, 46, 113, 117, 101, 114, 121, 83, 101, 108, 101, 99, 116, 111, 114, 40, 115, 101, 108, 101, 99, 116, - 111, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, - 115, 101, 108, 101, 99, 116, 40, 115, 101, 108, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 115, 101, 108, 101, 99, 116, 32, 33, 61, 61, - 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 115, 101, 108, 101, 99, 116, 32, 61, 32, 115, - 101, 108, 101, 99, 116, 111, 114, 40, 115, 101, 108, 101, 99, 116, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 115, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, 109, 32, 61, 32, 103, 114, 111, 117, 112, 115, 46, - 108, 101, 110, 103, 116, 104, 44, 32, 115, 117, 98, 103, 114, 111, 117, 112, 115, 32, 61, 32, 110, 101, 119, - 32, 65, 114, 114, 97, 121, 40, 109, 41, 44, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, 32, 109, - 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, 111, 117, 112, 115, 91, 106, - 93, 44, 32, 110, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 44, 32, 115, 117, - 98, 103, 114, 111, 117, 112, 32, 61, 32, 115, 117, 98, 103, 114, 111, 117, 112, 115, 91, 106, 93, 32, 61, - 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 32, 110, 111, 100, 101, 44, 32, 115, 117, - 98, 110, 111, 100, 101, 44, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, 91, 105, 93, 41, 32, 38, 38, 32, - 40, 115, 117, 98, 110, 111, 100, 101, 32, 61, 32, 115, 101, 108, 101, 99, 116, 46, 99, 97, 108, 108, 40, - 110, 111, 100, 101, 44, 32, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, 32, 105, 44, - 32, 103, 114, 111, 117, 112, 41, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 95, 95, 100, 97, 116, 97, 95, 95, 34, - 32, 105, 110, 32, 110, 111, 100, 101, 41, 32, 115, 117, 98, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, - 97, 95, 95, 32, 61, 32, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 98, 103, 114, - 111, 117, 112, 91, 105, 93, 32, 61, 32, 115, 117, 98, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 83, 101, 108, 101, 99, 116, 105, 111, 110, 36, 49, 40, - 115, 117, 98, 103, 114, 111, 117, 112, 115, 44, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, - 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 97, 114, 114, 97, 121, 36, 52, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 121, 112, 101, 111, 102, 32, 120, 32, 61, 61, 61, 32, 34, 111, 98, 106, - 101, 99, 116, 34, 32, 38, 38, 32, 34, 108, 101, 110, 103, 116, 104, 34, 32, 105, 110, 32, 120, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 120, 32, 47, 47, 32, 65, 114, 114, 97, 121, - 44, 32, 84, 121, 112, 101, 100, 65, 114, 114, 97, 121, 44, 32, 78, 111, 100, 101, 76, 105, 115, 116, 44, - 32, 97, 114, 114, 97, 121, 45, 108, 105, 107, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 58, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 120, 41, 59, 32, 47, 47, 32, 77, 97, - 112, 44, 32, 83, 101, 116, 44, 32, 105, 116, 101, 114, 97, 98, 108, 101, 44, 32, 115, 116, 114, 105, 110, - 103, 44, 32, 111, 114, 32, 97, 110, 121, 116, 104, 105, 110, 103, 32, 101, 108, 115, 101, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 109, 112, 116, 121, 36, - 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, - 101, 108, 101, 99, 116, 111, 114, 65, 108, 108, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 101, 108, 101, 99, 116, 111, 114, - 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 101, 109, 112, 116, 121, 36, 49, 32, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 113, 117, 101, 114, 121, 83, 101, 108, 101, 99, 116, - 111, 114, 65, 108, 108, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 97, 114, 114, 97, 121, 65, 108, 108, 40, 115, 101, 108, 101, 99, 116, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 114, 111, 117, - 112, 32, 61, 32, 115, 101, 108, 101, 99, 116, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 103, 114, 111, 117, 112, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, - 32, 91, 93, 32, 58, 32, 97, 114, 114, 97, 121, 36, 52, 40, 103, 114, 111, 117, 112, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 115, 101, 108, 101, 99, 116, - 65, 108, 108, 40, 115, 101, 108, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 115, 101, 108, 101, 99, 116, 32, 61, 61, 61, 32, 34, 102, - 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 115, 101, 108, 101, 99, 116, 32, 61, 32, 97, 114, 114, 97, - 121, 65, 108, 108, 40, 115, 101, 108, 101, 99, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, - 108, 115, 101, 32, 115, 101, 108, 101, 99, 116, 32, 61, 32, 115, 101, 108, 101, 99, 116, 111, 114, 65, 108, - 108, 40, 115, 101, 108, 101, 99, 116, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 114, - 111, 117, 112, 115, 44, 32, 109, 32, 61, 32, 103, 114, 111, 117, 112, 115, 46, 108, 101, 110, 103, 116, 104, - 44, 32, 115, 117, 98, 103, 114, 111, 117, 112, 115, 32, 61, 32, 91, 93, 44, 32, 112, 97, 114, 101, 110, - 116, 115, 32, 61, 32, 91, 93, 44, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, 32, 109, 59, 32, - 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, - 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, 111, 117, 112, 115, 91, 106, 93, 44, - 32, 110, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 44, 32, 110, 111, 100, 101, - 44, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, - 101, 32, 61, 32, 103, 114, 111, 117, 112, 91, 105, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 98, 103, 114, 111, 117, 112, 115, 46, - 112, 117, 115, 104, 40, 115, 101, 108, 101, 99, 116, 46, 99, 97, 108, 108, 40, 110, 111, 100, 101, 44, 32, - 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, 32, 105, 44, 32, 103, 114, 111, 117, 112, - 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 97, 114, 101, 110, 116, 115, 46, 112, 117, 115, 104, 40, 110, 111, 100, 101, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 83, 101, 108, 101, 99, 116, 105, 111, 110, - 36, 49, 40, 115, 117, 98, 103, 114, 111, 117, 112, 115, 44, 32, 112, 97, 114, 101, 110, 116, 115, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 97, - 116, 99, 104, 101, 114, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, - 46, 109, 97, 116, 99, 104, 101, 115, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 99, 104, 105, 108, 100, 77, 97, 116, 99, 104, 101, 114, 40, 115, 101, 108, 101, 99, - 116, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 111, 100, 101, 46, 109, 97, 116, 99, 104, 101, - 115, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 102, 105, 110, 100, 36, 49, 32, - 61, 32, 65, 114, 114, 97, 121, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 102, 105, 110, 100, 59, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 104, 105, 108, 100, 70, 105, 110, - 100, 40, 109, 97, 116, 99, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 105, 110, 100, 36, 49, 46, 99, 97, 108, 108, - 40, 116, 104, 105, 115, 46, 99, 104, 105, 108, 100, 114, 101, 110, 44, 32, 109, 97, 116, 99, 104, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 104, 105, 108, 100, 70, 105, 114, 115, 116, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 105, - 114, 115, 116, 69, 108, 101, 109, 101, 110, 116, 67, 104, 105, 108, 100, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, - 95, 115, 101, 108, 101, 99, 116, 67, 104, 105, 108, 100, 40, 109, 97, 116, 99, 104, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 115, 101, 108, 101, - 99, 116, 40, 109, 97, 116, 99, 104, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 99, 104, 105, 108, - 100, 70, 105, 114, 115, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 99, 104, - 105, 108, 100, 70, 105, 110, 100, 40, 116, 121, 112, 101, 111, 102, 32, 109, 97, 116, 99, 104, 32, 61, 61, - 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 109, 97, 116, 99, 104, 32, 58, 32, - 99, 104, 105, 108, 100, 77, 97, 116, 99, 104, 101, 114, 40, 109, 97, 116, 99, 104, 41, 41, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 102, 105, 108, 116, 101, 114, 32, 61, - 32, 65, 114, 114, 97, 121, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 102, 105, 108, 116, 101, 114, - 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 104, 105, 108, 100, 114, 101, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, - 105, 115, 46, 99, 104, 105, 108, 100, 114, 101, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 104, 105, 108, 100, 114, 101, 110, 70, 105, 108, 116, 101, - 114, 40, 109, 97, 116, 99, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 105, 108, 116, 101, 114, 46, 99, 97, 108, 108, - 40, 116, 104, 105, 115, 46, 99, 104, 105, 108, 100, 114, 101, 110, 44, 32, 109, 97, 116, 99, 104, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 115, 101, 108, 101, - 99, 116, 67, 104, 105, 108, 100, 114, 101, 110, 40, 109, 97, 116, 99, 104, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 115, 101, 108, 101, 99, 116, - 65, 108, 108, 40, 109, 97, 116, 99, 104, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 99, 104, 105, - 108, 100, 114, 101, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 99, 104, 105, - 108, 100, 114, 101, 110, 70, 105, 108, 116, 101, 114, 40, 116, 121, 112, 101, 111, 102, 32, 109, 97, 116, 99, - 104, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 109, 97, 116, 99, - 104, 32, 58, 32, 99, 104, 105, 108, 100, 77, 97, 116, 99, 104, 101, 114, 40, 109, 97, 116, 99, 104, 41, - 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 102, 105, 108, 116, 101, 114, 40, 109, 97, 116, 99, 104, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, - 109, 97, 116, 99, 104, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 109, - 97, 116, 99, 104, 32, 61, 32, 109, 97, 116, 99, 104, 101, 114, 40, 109, 97, 116, 99, 104, 41, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, - 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, 109, 32, 61, 32, 103, - 114, 111, 117, 112, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 115, 117, 98, 103, 114, 111, 117, 112, 115, - 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 109, 41, 44, 32, 106, 32, 61, 32, 48, 59, - 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, - 111, 117, 112, 115, 91, 106, 93, 44, 32, 110, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, - 116, 104, 44, 32, 115, 117, 98, 103, 114, 111, 117, 112, 32, 61, 32, 115, 117, 98, 103, 114, 111, 117, 112, - 115, 91, 106, 93, 32, 61, 32, 91, 93, 44, 32, 110, 111, 100, 101, 44, 32, 105, 32, 61, 32, 48, 59, - 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, - 117, 112, 91, 105, 93, 41, 32, 38, 38, 32, 109, 97, 116, 99, 104, 46, 99, 97, 108, 108, 40, 110, 111, - 100, 101, 44, 32, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, 32, 105, 44, 32, 103, - 114, 111, 117, 112, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 117, 98, 103, 114, 111, 117, 112, 46, 112, 117, 115, 104, 40, 110, 111, 100, - 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 83, 101, 108, - 101, 99, 116, 105, 111, 110, 36, 49, 40, 115, 117, 98, 103, 114, 111, 117, 112, 115, 44, 32, 116, 104, 105, - 115, 46, 95, 112, 97, 114, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 112, 97, 114, 115, 101, 40, 117, 112, 100, 97, 116, 101, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, - 65, 114, 114, 97, 121, 40, 117, 112, 100, 97, 116, 101, 46, 108, 101, 110, 103, 116, 104, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 95, 101, 110, 116, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 83, 101, 108, 101, 99, 116, 105, 111, 110, 36, 49, - 40, 116, 104, 105, 115, 46, 95, 101, 110, 116, 101, 114, 32, 124, 124, 32, 116, 104, 105, 115, 46, 95, 103, - 114, 111, 117, 112, 115, 46, 109, 97, 112, 40, 115, 112, 97, 114, 115, 101, 41, 44, 32, 116, 104, 105, 115, - 46, 95, 112, 97, 114, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 69, 110, 116, 101, 114, 78, 111, 100, 101, 40, 112, 97, 114, 101, - 110, 116, 44, 32, 100, 97, 116, 117, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 111, 119, 110, 101, 114, 68, 111, 99, 117, 109, 101, 110, 116, 32, 61, 32, 112, 97, 114, 101, - 110, 116, 46, 111, 119, 110, 101, 114, 68, 111, 99, 117, 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 32, 61, 32, - 112, 97, 114, 101, 110, 116, 46, 110, 97, 109, 101, 115, 112, 97, 99, 101, 85, 82, 73, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 110, 101, 120, 116, 32, 61, 32, 110, 117, 108, 108, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, 32, - 61, 32, 112, 97, 114, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 95, 100, 97, 116, 97, 95, 95, 32, 61, 32, 100, 97, 116, 117, 109, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 69, 110, 116, 101, 114, 78, 111, 100, 101, 46, 112, 114, 111, 116, 111, 116, 121, - 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, - 116, 111, 114, 58, 32, 69, 110, 116, 101, 114, 78, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 97, 112, 112, 101, 110, 100, 67, 104, 105, 108, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 99, 104, 105, 108, 100, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 112, - 97, 114, 101, 110, 116, 46, 105, 110, 115, 101, 114, 116, 66, 101, 102, 111, 114, 101, 40, 99, 104, 105, 108, - 100, 44, 32, 116, 104, 105, 115, 46, 95, 110, 101, 120, 116, 41, 59, 32, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 110, 115, 101, 114, 116, 66, 101, 102, 111, 114, 101, 58, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 99, 104, 105, 108, 100, 44, 32, 110, 101, 120, 116, 41, 32, 123, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, 46, 105, 110, 115, 101, 114, 116, 66, - 101, 102, 111, 114, 101, 40, 99, 104, 105, 108, 100, 44, 32, 110, 101, 120, 116, 41, 59, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 113, 117, 101, 114, 121, 83, 101, 108, 101, 99, 116, 111, 114, 58, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 32, 123, 32, 114, 101, - 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, 46, 113, 117, 101, 114, 121, - 83, 101, 108, 101, 99, 116, 111, 114, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 59, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 113, 117, 101, 114, 121, 83, 101, 108, 101, 99, 116, 111, 114, 65, 108, - 108, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 32, 123, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, 46, 113, 117, - 101, 114, 121, 83, 101, 108, 101, 99, 116, 111, 114, 65, 108, 108, 40, 115, 101, 108, 101, 99, 116, 111, 114, - 41, 59, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 97, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 98, 105, 110, 100, 73, 110, 100, 101, 120, 40, 112, 97, 114, 101, 110, - 116, 44, 32, 103, 114, 111, 117, 112, 44, 32, 101, 110, 116, 101, 114, 44, 32, 117, 112, 100, 97, 116, 101, - 44, 32, 101, 120, 105, 116, 44, 32, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, - 112, 76, 101, 110, 103, 116, 104, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 97, 76, 101, 110, 103, 116, 104, - 32, 61, 32, 100, 97, 116, 97, 46, 108, 101, 110, 103, 116, 104, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 80, 117, 116, 32, 97, 110, 121, 32, 110, 111, 110, 45, 110, 117, 108, 108, 32, 110, - 111, 100, 101, 115, 32, 116, 104, 97, 116, 32, 102, 105, 116, 32, 105, 110, 116, 111, 32, 117, 112, 100, 97, - 116, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 80, 117, 116, 32, 97, 110, 121, 32, - 110, 117, 108, 108, 32, 110, 111, 100, 101, 115, 32, 105, 110, 116, 111, 32, 101, 110, 116, 101, 114, 46, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 80, 117, 116, 32, 97, 110, 121, 32, 114, 101, 109, 97, - 105, 110, 105, 110, 103, 32, 100, 97, 116, 97, 32, 105, 110, 116, 111, 32, 101, 110, 116, 101, 114, 46, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 105, 32, 60, 32, 100, 97, 116, 97, - 76, 101, 110, 103, 116, 104, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, 91, 105, 93, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, - 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 32, 61, 32, 100, 97, 116, 97, 91, 105, 93, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 112, 100, 97, 116, 101, 91, 105, - 93, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 110, 116, 101, 114, 91, 105, 93, 32, 61, 32, 110, 101, 119, 32, 69, 110, 116, 101, 114, 78, 111, - 100, 101, 40, 112, 97, 114, 101, 110, 116, 44, 32, 100, 97, 116, 97, 91, 105, 93, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 80, 117, 116, 32, 97, 110, 121, 32, 110, 111, 110, 45, - 110, 117, 108, 108, 32, 110, 111, 100, 101, 115, 32, 116, 104, 97, 116, 32, 100, 111, 110, 226, 128, 153, 116, - 32, 102, 105, 116, 32, 105, 110, 116, 111, 32, 101, 120, 105, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 59, 32, 105, 32, 60, 32, 103, 114, 111, 117, 112, 76, 101, 110, 103, 116, 104, - 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, 91, 105, 93, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 120, 105, 116, 91, 105, 93, 32, 61, - 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 98, 105, 110, 100, 75, 101, 121, 40, 112, 97, 114, 101, 110, 116, 44, 32, 103, 114, - 111, 117, 112, 44, 32, 101, 110, 116, 101, 114, 44, 32, 117, 112, 100, 97, 116, 101, 44, 32, 101, 120, 105, - 116, 44, 32, 100, 97, 116, 97, 44, 32, 107, 101, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, - 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 66, 121, 75, 101, - 121, 86, 97, 108, 117, 101, 32, 61, 32, 110, 101, 119, 32, 77, 97, 112, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, 76, 101, 110, 103, 116, 104, 32, 61, 32, 103, 114, - 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 97, 116, 97, 76, 101, 110, 103, 116, 104, 32, 61, 32, 100, 97, 116, 97, 46, 108, 101, 110, 103, - 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 101, 121, 86, 97, 108, 117, - 101, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 103, 114, 111, 117, 112, 76, 101, 110, - 103, 116, 104, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 101, 121, 86, 97, - 108, 117, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 109, 112, 117, 116, - 101, 32, 116, 104, 101, 32, 107, 101, 121, 32, 102, 111, 114, 32, 101, 97, 99, 104, 32, 110, 111, 100, 101, - 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 109, 117, 108, 116, 105, 112, 108, - 101, 32, 110, 111, 100, 101, 115, 32, 104, 97, 118, 101, 32, 116, 104, 101, 32, 115, 97, 109, 101, 32, 107, - 101, 121, 44, 32, 116, 104, 101, 32, 100, 117, 112, 108, 105, 99, 97, 116, 101, 115, 32, 97, 114, 101, 32, - 97, 100, 100, 101, 100, 32, 116, 111, 32, 101, 120, 105, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 103, 114, 111, 117, 112, 76, 101, - 110, 103, 116, 104, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, 91, 105, 93, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 101, 121, 86, 97, - 108, 117, 101, 115, 91, 105, 93, 32, 61, 32, 107, 101, 121, 86, 97, 108, 117, 101, 32, 61, 32, 107, 101, - 121, 46, 99, 97, 108, 108, 40, 110, 111, 100, 101, 44, 32, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, - 97, 95, 95, 44, 32, 105, 44, 32, 103, 114, 111, 117, 112, 41, 32, 43, 32, 34, 34, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 66, - 121, 75, 101, 121, 86, 97, 108, 117, 101, 46, 104, 97, 115, 40, 107, 101, 121, 86, 97, 108, 117, 101, 41, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 120, 105, 116, 91, 105, 93, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 66, 121, 75, - 101, 121, 86, 97, 108, 117, 101, 46, 115, 101, 116, 40, 107, 101, 121, 86, 97, 108, 117, 101, 44, 32, 110, - 111, 100, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, 116, - 104, 101, 32, 107, 101, 121, 32, 102, 111, 114, 32, 101, 97, 99, 104, 32, 100, 97, 116, 117, 109, 46, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 114, 101, 32, 97, 32, 110, - 111, 100, 101, 32, 97, 115, 115, 111, 99, 105, 97, 116, 101, 100, 32, 119, 105, 116, 104, 32, 116, 104, 105, - 115, 32, 107, 101, 121, 44, 32, 106, 111, 105, 110, 32, 97, 110, 100, 32, 97, 100, 100, 32, 105, 116, 32, - 116, 111, 32, 117, 112, 100, 97, 116, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, - 102, 32, 116, 104, 101, 114, 101, 32, 105, 115, 32, 110, 111, 116, 32, 40, 111, 114, 32, 116, 104, 101, 32, - 107, 101, 121, 32, 105, 115, 32, 97, 32, 100, 117, 112, 108, 105, 99, 97, 116, 101, 41, 44, 32, 97, 100, - 100, 32, 105, 116, 32, 116, 111, 32, 101, 110, 116, 101, 114, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 100, 97, 116, 97, 76, 101, 110, - 103, 116, 104, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 107, 101, 121, 86, 97, 108, 117, 101, 32, 61, 32, 107, 101, 121, 46, 99, 97, 108, 108, 40, 112, 97, - 114, 101, 110, 116, 44, 32, 100, 97, 116, 97, 91, 105, 93, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, - 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 66, 121, 75, 101, 121, 86, 97, 108, 117, 101, 46, 103, - 101, 116, 40, 107, 101, 121, 86, 97, 108, 117, 101, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 112, 100, 97, 116, 101, 91, 105, 93, 32, 61, 32, 110, 111, - 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, - 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 32, 61, 32, 100, 97, 116, 97, 91, 105, 93, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 66, 121, 75, 101, - 121, 86, 97, 108, 117, 101, 46, 100, 101, 108, 101, 116, 101, 40, 107, 101, 121, 86, 97, 108, 117, 101, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 116, 101, 114, 91, 105, - 93, 32, 61, 32, 110, 101, 119, 32, 69, 110, 116, 101, 114, 78, 111, 100, 101, 40, 112, 97, 114, 101, 110, - 116, 44, 32, 100, 97, 116, 97, 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 47, 47, 32, 65, 100, 100, 32, 97, 110, 121, 32, 114, 101, 109, 97, 105, 110, 105, 110, 103, 32, 110, 111, - 100, 101, 115, 32, 116, 104, 97, 116, 32, 119, 101, 114, 101, 32, 110, 111, 116, 32, 98, 111, 117, 110, 100, - 32, 116, 111, 32, 100, 97, 116, 97, 32, 116, 111, 32, 101, 120, 105, 116, 46, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 103, 114, 111, 117, - 112, 76, 101, 110, 103, 116, 104, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, 91, - 105, 93, 41, 32, 38, 38, 32, 40, 110, 111, 100, 101, 66, 121, 75, 101, 121, 86, 97, 108, 117, 101, 46, - 103, 101, 116, 40, 107, 101, 121, 86, 97, 108, 117, 101, 115, 91, 105, 93, 41, 32, 61, 61, 61, 32, 110, - 111, 100, 101, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 120, 105, 116, 91, 105, 93, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 97, 116, 117, 109, 40, 110, 111, - 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 111, - 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 100, 97, 116, - 97, 40, 118, 97, 108, 117, 101, 44, 32, 107, 101, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, - 32, 114, 101, 116, 117, 114, 110, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 116, 104, 105, 115, - 44, 32, 100, 97, 116, 117, 109, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 98, 105, 110, 100, 32, 61, 32, 107, 101, 121, 32, 63, 32, 98, 105, 110, 100, 75, 101, 121, 32, 58, 32, - 98, 105, 110, 100, 73, 110, 100, 101, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 97, 114, 101, 110, 116, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, 115, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, 115, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 32, 33, 61, 61, 32, 34, 102, - 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 118, 97, 108, 117, 101, 32, 61, 32, 99, 111, 110, 115, 116, - 97, 110, 116, 36, 97, 40, 118, 97, 108, 117, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 118, 97, 114, 32, 109, 32, 61, 32, 103, 114, 111, 117, 112, 115, 46, 108, 101, 110, - 103, 116, 104, 44, 32, 117, 112, 100, 97, 116, 101, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, - 40, 109, 41, 44, 32, 101, 110, 116, 101, 114, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, - 109, 41, 44, 32, 101, 120, 105, 116, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 109, 41, - 44, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 97, 114, 101, 110, 116, 32, - 61, 32, 112, 97, 114, 101, 110, 116, 115, 91, 106, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, 111, 117, 112, 115, 91, 106, - 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, - 112, 76, 101, 110, 103, 116, 104, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 97, 32, 61, - 32, 97, 114, 114, 97, 121, 36, 52, 40, 118, 97, 108, 117, 101, 46, 99, 97, 108, 108, 40, 112, 97, 114, - 101, 110, 116, 44, 32, 112, 97, 114, 101, 110, 116, 32, 38, 38, 32, 112, 97, 114, 101, 110, 116, 46, 95, - 95, 100, 97, 116, 97, 95, 95, 44, 32, 106, 44, 32, 112, 97, 114, 101, 110, 116, 115, 41, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 97, 76, 101, 110, - 103, 116, 104, 32, 61, 32, 100, 97, 116, 97, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 116, 101, 114, 71, 114, 111, 117, 112, 32, - 61, 32, 101, 110, 116, 101, 114, 91, 106, 93, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, - 100, 97, 116, 97, 76, 101, 110, 103, 116, 104, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 117, 112, 100, 97, 116, 101, 71, 114, 111, 117, 112, 32, 61, 32, 117, 112, 100, - 97, 116, 101, 91, 106, 93, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 100, 97, 116, 97, - 76, 101, 110, 103, 116, 104, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 101, 120, 105, 116, 71, 114, 111, 117, 112, 32, 61, 32, 101, 120, 105, 116, 91, 106, 93, 32, 61, - 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 103, 114, 111, 117, 112, 76, 101, 110, 103, 116, 104, 41, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 105, 110, 100, 40, 112, 97, 114, - 101, 110, 116, 44, 32, 103, 114, 111, 117, 112, 44, 32, 101, 110, 116, 101, 114, 71, 114, 111, 117, 112, 44, - 32, 117, 112, 100, 97, 116, 101, 71, 114, 111, 117, 112, 44, 32, 101, 120, 105, 116, 71, 114, 111, 117, 112, - 44, 32, 100, 97, 116, 97, 44, 32, 107, 101, 121, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 78, 111, 119, 32, 99, 111, 110, 110, 101, 99, 116, 32, 116, 104, 101, 32, - 101, 110, 116, 101, 114, 32, 110, 111, 100, 101, 115, 32, 116, 111, 32, 116, 104, 101, 105, 114, 32, 102, 111, - 108, 108, 111, 119, 105, 110, 103, 32, 117, 112, 100, 97, 116, 101, 32, 110, 111, 100, 101, 44, 32, 115, 117, - 99, 104, 32, 116, 104, 97, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, - 97, 112, 112, 101, 110, 100, 67, 104, 105, 108, 100, 32, 99, 97, 110, 32, 105, 110, 115, 101, 114, 116, 32, - 116, 104, 101, 32, 109, 97, 116, 101, 114, 105, 97, 108, 105, 122, 101, 100, 32, 101, 110, 116, 101, 114, 32, - 110, 111, 100, 101, 32, 98, 101, 102, 111, 114, 101, 32, 116, 104, 105, 115, 32, 110, 111, 100, 101, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 114, 97, 116, 104, 101, 114, 32, 116, - 104, 97, 110, 32, 97, 116, 32, 116, 104, 101, 32, 101, 110, 100, 32, 111, 102, 32, 116, 104, 101, 32, 112, - 97, 114, 101, 110, 116, 32, 110, 111, 100, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 48, 32, 61, 32, 48, 44, 32, 105, 49, 32, 61, 32, - 48, 44, 32, 112, 114, 101, 118, 105, 111, 117, 115, 44, 32, 110, 101, 120, 116, 59, 32, 105, 48, 32, 60, - 32, 100, 97, 116, 97, 76, 101, 110, 103, 116, 104, 59, 32, 43, 43, 105, 48, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 114, 101, 118, 105, - 111, 117, 115, 32, 61, 32, 101, 110, 116, 101, 114, 71, 114, 111, 117, 112, 91, 105, 48, 93, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 105, 48, 32, 62, 61, 32, 105, 49, 41, 32, 105, 49, 32, 61, 32, 105, 48, 32, 43, 32, 49, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, - 104, 105, 108, 101, 32, 40, 33, 40, 110, 101, 120, 116, 32, 61, 32, 117, 112, 100, 97, 116, 101, 71, 114, - 111, 117, 112, 91, 105, 49, 93, 41, 32, 38, 38, 32, 43, 43, 105, 49, 32, 60, 32, 100, 97, 116, 97, - 76, 101, 110, 103, 116, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 114, 101, 118, 105, 111, 117, 115, 46, 95, 110, 101, 120, 116, 32, 61, 32, - 110, 101, 120, 116, 32, 124, 124, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 112, 100, 97, - 116, 101, 32, 61, 32, 110, 101, 119, 32, 83, 101, 108, 101, 99, 116, 105, 111, 110, 36, 49, 40, 117, 112, - 100, 97, 116, 101, 44, 32, 112, 97, 114, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 117, 112, 100, 97, 116, 101, 46, 95, 101, 110, 116, 101, 114, 32, 61, 32, 101, 110, 116, 101, 114, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 112, 100, 97, 116, 101, 46, 95, 101, 120, 105, 116, 32, 61, - 32, 101, 120, 105, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 117, - 112, 100, 97, 116, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 101, 120, 105, 116, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 83, 101, 108, 101, - 99, 116, 105, 111, 110, 36, 49, 40, 116, 104, 105, 115, 46, 95, 101, 120, 105, 116, 32, 124, 124, 32, 116, - 104, 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, 46, 109, 97, 112, 40, 115, 112, 97, 114, 115, 101, 41, - 44, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, - 110, 95, 106, 111, 105, 110, 40, 111, 110, 101, 110, 116, 101, 114, 44, 32, 111, 110, 117, 112, 100, 97, 116, - 101, 44, 32, 111, 110, 101, 120, 105, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 101, 110, 116, 101, 114, 32, 61, 32, 116, 104, 105, 115, 46, 101, 110, 116, 101, 114, 40, 41, 44, - 32, 117, 112, 100, 97, 116, 101, 32, 61, 32, 116, 104, 105, 115, 44, 32, 101, 120, 105, 116, 32, 61, 32, - 116, 104, 105, 115, 46, 101, 120, 105, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, - 116, 101, 114, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 111, 110, 101, 110, 116, 101, 114, 32, 61, 61, - 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 111, 110, 101, 110, 116, 101, 114, 40, - 101, 110, 116, 101, 114, 41, 32, 58, 32, 101, 110, 116, 101, 114, 46, 97, 112, 112, 101, 110, 100, 40, 111, - 110, 101, 110, 116, 101, 114, 32, 43, 32, 34, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 111, 110, 117, 112, 100, 97, 116, 101, 32, 33, 61, 32, 110, 117, 108, 108, 41, 32, 117, 112, - 100, 97, 116, 101, 32, 61, 32, 111, 110, 117, 112, 100, 97, 116, 101, 40, 117, 112, 100, 97, 116, 101, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 110, 101, 120, 105, 116, 32, 61, 61, - 32, 110, 117, 108, 108, 41, 32, 101, 120, 105, 116, 46, 114, 101, 109, 111, 118, 101, 40, 41, 59, 32, 101, - 108, 115, 101, 32, 111, 110, 101, 120, 105, 116, 40, 101, 120, 105, 116, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 110, 116, 101, 114, 32, 38, 38, 32, 117, 112, 100, 97, - 116, 101, 32, 63, 32, 101, 110, 116, 101, 114, 46, 109, 101, 114, 103, 101, 40, 117, 112, 100, 97, 116, 101, - 41, 46, 111, 114, 100, 101, 114, 40, 41, 32, 58, 32, 117, 112, 100, 97, 116, 101, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 95, 109, 101, 114, 103, 101, 40, 115, 101, 108, 101, 99, 116, 105, 111, 110, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 115, 101, 108, 101, 99, 116, 105, 111, 110, - 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 83, 101, 108, 101, 99, 116, 105, 111, 110, 36, 49, - 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 105, 110, 118, - 97, 108, 105, 100, 32, 109, 101, 114, 103, 101, 34, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 115, 48, 32, 61, 32, 116, 104, 105, 115, - 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, 103, 114, 111, 117, 112, 115, 49, 32, 61, 32, 115, 101, 108, - 101, 99, 116, 105, 111, 110, 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, 109, 48, 32, 61, 32, 103, 114, - 111, 117, 112, 115, 48, 46, 108, 101, 110, 103, 116, 104, 44, 32, 109, 49, 32, 61, 32, 103, 114, 111, 117, - 112, 115, 49, 46, 108, 101, 110, 103, 116, 104, 44, 32, 109, 32, 61, 32, 77, 97, 116, 104, 46, 109, 105, - 110, 40, 109, 48, 44, 32, 109, 49, 41, 44, 32, 109, 101, 114, 103, 101, 115, 32, 61, 32, 110, 101, 119, - 32, 65, 114, 114, 97, 121, 40, 109, 48, 41, 44, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, 32, - 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 48, 32, 61, 32, 103, 114, 111, 117, 112, 115, - 48, 91, 106, 93, 44, 32, 103, 114, 111, 117, 112, 49, 32, 61, 32, 103, 114, 111, 117, 112, 115, 49, 91, - 106, 93, 44, 32, 110, 32, 61, 32, 103, 114, 111, 117, 112, 48, 46, 108, 101, 110, 103, 116, 104, 44, 32, - 109, 101, 114, 103, 101, 32, 61, 32, 109, 101, 114, 103, 101, 115, 91, 106, 93, 32, 61, 32, 110, 101, 119, - 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 32, 110, 111, 100, 101, 44, 32, 105, 32, 61, 32, 48, 59, - 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, - 112, 48, 91, 105, 93, 32, 124, 124, 32, 103, 114, 111, 117, 112, 49, 91, 105, 93, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 114, 103, - 101, 91, 105, 93, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 59, 32, 106, 32, 60, 32, 109, 48, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 109, 101, 114, 103, 101, 115, 91, 106, 93, 32, 61, 32, 103, 114, 111, 117, 112, - 115, 48, 91, 106, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 83, 101, 108, 101, 99, 116, 105, 111, 110, - 36, 49, 40, 109, 101, 114, 103, 101, 115, 44, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, - 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 111, 114, 100, 101, 114, 40, 41, 32, 123, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 115, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, 106, 32, 61, 32, 45, 49, 44, - 32, 109, 32, 61, 32, 103, 114, 111, 117, 112, 115, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 106, - 32, 60, 32, 109, 59, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, 111, 117, 112, 115, 91, 106, - 93, 44, 32, 105, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, - 44, 32, 110, 101, 120, 116, 32, 61, 32, 103, 114, 111, 117, 112, 91, 105, 93, 44, 32, 110, 111, 100, 101, - 59, 32, 45, 45, 105, 32, 62, 61, 32, 48, 59, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, - 112, 91, 105, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 101, 120, 116, 32, 38, 38, 32, 110, 111, 100, 101, 46, 99, - 111, 109, 112, 97, 114, 101, 68, 111, 99, 117, 109, 101, 110, 116, 80, 111, 115, 105, 116, 105, 111, 110, 40, - 110, 101, 120, 116, 41, 32, 94, 32, 52, 41, 32, 110, 101, 120, 116, 46, 112, 97, 114, 101, 110, 116, 78, - 111, 100, 101, 46, 105, 110, 115, 101, 114, 116, 66, 101, 102, 111, 114, 101, 40, 110, 111, 100, 101, 44, 32, - 110, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 110, 101, 120, 116, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 115, 111, 114, 116, - 40, 99, 111, 109, 112, 97, 114, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 33, 99, 111, 109, 112, 97, 114, 101, 41, 32, 99, 111, 109, 112, 97, 114, 101, 32, 61, 32, 97, 115, - 99, 101, 110, 100, 105, 110, 103, 36, 50, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 99, 111, 109, 112, 97, 114, 101, 78, 111, 100, 101, 40, 97, 44, 32, 98, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, - 32, 38, 38, 32, 98, 32, 63, 32, 99, 111, 109, 112, 97, 114, 101, 40, 97, 46, 95, 95, 100, 97, 116, - 97, 95, 95, 44, 32, 98, 46, 95, 95, 100, 97, 116, 97, 95, 95, 41, 32, 58, 32, 33, 97, 32, 45, - 32, 33, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 115, 32, 61, 32, 116, 104, 105, 115, - 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, 109, 32, 61, 32, 103, 114, 111, 117, 112, 115, 46, 108, 101, - 110, 103, 116, 104, 44, 32, 115, 111, 114, 116, 103, 114, 111, 117, 112, 115, 32, 61, 32, 110, 101, 119, 32, - 65, 114, 114, 97, 121, 40, 109, 41, 44, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, 32, 109, 59, - 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, 111, 117, 112, 115, 91, 106, 93, - 44, 32, 110, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 44, 32, 115, 111, 114, - 116, 103, 114, 111, 117, 112, 32, 61, 32, 115, 111, 114, 116, 103, 114, 111, 117, 112, 115, 91, 106, 93, 32, - 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 32, 110, 111, 100, 101, 44, 32, 105, - 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 32, 61, - 32, 103, 114, 111, 117, 112, 91, 105, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 114, 116, 103, 114, 111, 117, 112, 91, 105, 93, 32, - 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 111, 114, 116, 103, 114, 111, 117, 112, 46, 115, 111, 114, 116, 40, 99, 111, - 109, 112, 97, 114, 101, 78, 111, 100, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 83, 101, 108, 101, - 99, 116, 105, 111, 110, 36, 49, 40, 115, 111, 114, 116, 103, 114, 111, 117, 112, 115, 44, 32, 116, 104, 105, - 115, 46, 95, 112, 97, 114, 101, 110, 116, 115, 41, 46, 111, 114, 100, 101, 114, 40, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 115, 99, 101, 110, - 100, 105, 110, 103, 36, 50, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 32, 60, 32, 98, 32, 63, 32, 45, 49, 32, 58, 32, 97, 32, 62, - 32, 98, 32, 63, 32, 49, 32, 58, 32, 97, 32, 62, 61, 32, 98, 32, 63, 32, 48, 32, 58, 32, 78, - 97, 78, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 99, 97, 108, 108, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 97, 108, 108, 98, 97, 99, 107, 32, 61, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 91, 48, 93, 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 97, 108, 108, 98, 97, 99, 107, 46, 97, 112, 112, 108, 121, 40, 110, 117, 108, 108, 44, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 110, 111, 100, 101, 115, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 65, 114, 114, 97, - 121, 46, 102, 114, 111, 109, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 110, 111, - 100, 101, 40, 41, 32, 123, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, - 114, 32, 103, 114, 111, 117, 112, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, - 44, 32, 106, 32, 61, 32, 48, 44, 32, 109, 32, 61, 32, 103, 114, 111, 117, 112, 115, 46, 108, 101, 110, - 103, 116, 104, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, - 61, 32, 103, 114, 111, 117, 112, 115, 91, 106, 93, 44, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, - 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, - 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, 91, 105, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 41, 32, - 114, 101, 116, 117, 114, 110, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 115, 105, 122, - 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 115, 105, 122, 101, 32, - 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, - 32, 110, 111, 100, 101, 32, 111, 102, 32, 116, 104, 105, 115, 41, 32, 43, 43, 115, 105, 122, 101, 59, 32, - 47, 47, 32, 101, 115, 108, 105, 110, 116, 45, 100, 105, 115, 97, 98, 108, 101, 45, 108, 105, 110, 101, 32, - 110, 111, 45, 117, 110, 117, 115, 101, 100, 45, 118, 97, 114, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 115, 105, 122, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 101, 109, 112, - 116, 121, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 33, - 116, 104, 105, 115, 46, 110, 111, 100, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 101, 97, 99, - 104, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 32, 123, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 115, 32, 61, 32, 116, 104, 105, 115, 46, - 95, 103, 114, 111, 117, 112, 115, 44, 32, 106, 32, 61, 32, 48, 44, 32, 109, 32, 61, 32, 103, 114, 111, - 117, 112, 115, 46, 108, 101, 110, 103, 116, 104, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, - 32, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, 111, 117, 112, 115, 91, 106, 93, 44, 32, 105, 32, 61, - 32, 48, 44, 32, 110, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 44, 32, 110, - 111, 100, 101, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 32, 61, 32, - 103, 114, 111, 117, 112, 91, 105, 93, 41, 32, 99, 97, 108, 108, 98, 97, 99, 107, 46, 99, 97, 108, 108, - 40, 110, 111, 100, 101, 44, 32, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, 32, 105, - 44, 32, 103, 114, 111, 117, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 97, 116, 116, 114, 82, 101, 109, 111, 118, 101, 36, 49, 40, 110, 97, 109, - 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 114, 101, 109, 111, 118, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 40, 110, 97, 109, - 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 116, 116, 114, 82, 101, 109, 111, 118, 101, 78, - 83, 36, 49, 40, 102, 117, 108, 108, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 114, 101, 109, 111, 118, 101, 65, 116, - 116, 114, 105, 98, 117, 116, 101, 78, 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 115, 112, 97, 99, - 101, 44, 32, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, 108, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 97, 116, 116, 114, 67, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 110, 97, 109, - 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, - 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 97, 116, 116, 114, 67, 111, 110, 115, 116, 97, 110, 116, 78, 83, 36, 49, 40, 102, 117, 108, 108, 110, 97, - 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, - 101, 78, 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 115, 112, 97, 99, 101, 44, 32, 102, 117, 108, - 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, 108, 44, 32, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 97, 116, 116, 114, 70, 117, 110, 99, 116, 105, 111, 110, 36, 49, 40, 110, 97, - 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 32, 61, 32, 118, 97, 108, 117, 101, 46, 97, 112, - 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 32, 61, 61, 32, 110, 117, 108, - 108, 41, 32, 116, 104, 105, 115, 46, 114, 101, 109, 111, 118, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, - 40, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, - 101, 32, 116, 104, 105, 115, 46, 115, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 40, 110, 97, 109, - 101, 44, 32, 118, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 116, 116, 114, 70, 117, 110, 99, - 116, 105, 111, 110, 78, 83, 36, 49, 40, 102, 117, 108, 108, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, - 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 118, 32, 61, 32, 118, 97, 108, 117, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, - 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 118, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 116, 104, 105, 115, 46, - 114, 101, 109, 111, 118, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 78, 83, 40, 102, 117, 108, 108, 110, - 97, 109, 101, 46, 115, 112, 97, 99, 101, 44, 32, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, - 97, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 116, - 104, 105, 115, 46, 115, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 78, 83, 40, 102, 117, 108, 108, - 110, 97, 109, 101, 46, 115, 112, 97, 99, 101, 44, 32, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, - 99, 97, 108, 44, 32, 118, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 95, 97, 116, 116, 114, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 117, 108, 108, 110, 97, 109, 101, 32, 61, - 32, 110, 97, 109, 101, 115, 112, 97, 99, 101, 40, 110, 97, 109, 101, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 32, 60, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 110, 111, 100, 101, 32, 61, 32, 116, 104, 105, 115, 46, 110, 111, 100, 101, 40, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 108, 108, 110, - 97, 109, 101, 46, 108, 111, 99, 97, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 63, 32, 110, 111, 100, 101, 46, 103, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 78, - 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 115, 112, 97, 99, 101, 44, 32, 102, 117, 108, 108, 110, - 97, 109, 101, 46, 108, 111, 99, 97, 108, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 58, 32, 110, 111, 100, 101, 46, 103, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, - 40, 102, 117, 108, 108, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 101, 97, 99, - 104, 40, 40, 118, 97, 108, 117, 101, 32, 61, 61, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 63, 32, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, 108, - 32, 63, 32, 97, 116, 116, 114, 82, 101, 109, 111, 118, 101, 78, 83, 36, 49, 32, 58, 32, 97, 116, 116, - 114, 82, 101, 109, 111, 118, 101, 36, 49, 41, 32, 58, 32, 40, 116, 121, 112, 101, 111, 102, 32, 118, 97, - 108, 117, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 40, 102, 117, 108, 108, 110, 97, 109, 101, - 46, 108, 111, 99, 97, 108, 32, 63, 32, 97, 116, 116, 114, 70, 117, 110, 99, 116, 105, 111, 110, 78, 83, - 36, 49, 32, 58, 32, 97, 116, 116, 114, 70, 117, 110, 99, 116, 105, 111, 110, 36, 49, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 40, 102, 117, 108, 108, 110, 97, - 109, 101, 46, 108, 111, 99, 97, 108, 32, 63, 32, 97, 116, 116, 114, 67, 111, 110, 115, 116, 97, 110, 116, - 78, 83, 36, 49, 32, 58, 32, 97, 116, 116, 114, 67, 111, 110, 115, 116, 97, 110, 116, 36, 49, 41, 41, - 41, 40, 102, 117, 108, 108, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, - 108, 116, 86, 105, 101, 119, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 40, 110, 111, 100, 101, 46, 111, 119, 110, 101, 114, 68, 111, 99, 117, 109, - 101, 110, 116, 32, 38, 38, 32, 110, 111, 100, 101, 46, 111, 119, 110, 101, 114, 68, 111, 99, 117, 109, 101, - 110, 116, 46, 100, 101, 102, 97, 117, 108, 116, 86, 105, 101, 119, 41, 32, 47, 47, 32, 110, 111, 100, 101, - 32, 105, 115, 32, 97, 32, 78, 111, 100, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 124, 124, 32, 40, 110, 111, 100, 101, 46, 100, 111, 99, 117, 109, 101, 110, 116, 32, 38, 38, 32, 110, 111, - 100, 101, 41, 32, 47, 47, 32, 110, 111, 100, 101, 32, 105, 115, 32, 97, 32, 87, 105, 110, 100, 111, 119, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 124, 32, 110, 111, 100, 101, 46, 100, 101, - 102, 97, 117, 108, 116, 86, 105, 101, 119, 59, 32, 47, 47, 32, 110, 111, 100, 101, 32, 105, 115, 32, 97, - 32, 68, 111, 99, 117, 109, 101, 110, 116, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 115, 116, 121, 108, 101, 82, 101, 109, 111, 118, 101, 36, 49, 40, 110, 97, - 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 115, 116, 121, 108, 101, 46, 114, 101, 109, 111, 118, 101, 80, 114, 111, 112, 101, 114, - 116, 121, 40, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 121, 108, 101, - 67, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 44, - 32, 112, 114, 105, 111, 114, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 116, 121, 108, 101, 46, 115, 101, 116, 80, 114, - 111, 112, 101, 114, 116, 121, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 44, 32, 112, 114, 105, - 111, 114, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 121, 108, 101, 70, 117, - 110, 99, 116, 105, 111, 110, 36, 49, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 44, 32, 112, - 114, 105, 111, 114, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 32, 61, 32, 118, 97, 108, 117, 101, 46, 97, 112, 112, 108, - 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 32, 61, 61, 32, 110, 117, 108, 108, 41, - 32, 116, 104, 105, 115, 46, 115, 116, 121, 108, 101, 46, 114, 101, 109, 111, 118, 101, 80, 114, 111, 112, 101, - 114, 116, 121, 40, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 101, 108, 115, 101, 32, 116, 104, 105, 115, 46, 115, 116, 121, 108, 101, 46, 115, 101, 116, 80, 114, 111, 112, - 101, 114, 116, 121, 40, 110, 97, 109, 101, 44, 32, 118, 44, 32, 112, 114, 105, 111, 114, 105, 116, 121, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 115, 116, 121, - 108, 101, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 44, 32, 112, 114, 105, 111, 114, 105, 116, - 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 49, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 63, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 40, 40, 118, 97, 108, - 117, 101, 32, 61, 61, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 63, 32, 115, 116, 121, 108, 101, 82, 101, 109, 111, 118, 101, 36, 49, 32, 58, 32, 116, - 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, - 111, 110, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 63, 32, 115, 116, 121, 108, 101, 70, 117, 110, 99, 116, 105, 111, 110, 36, 49, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 115, 116, 121, 108, 101, - 67, 111, 110, 115, 116, 97, 110, 116, 36, 49, 41, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, - 44, 32, 112, 114, 105, 111, 114, 105, 116, 121, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 34, 34, - 32, 58, 32, 112, 114, 105, 111, 114, 105, 116, 121, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 58, 32, 115, 116, 121, 108, 101, 86, 97, 108, 117, 101, 40, 116, 104, 105, 115, 46, 110, 111, - 100, 101, 40, 41, 44, 32, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 121, 108, 101, 86, 97, 108, 117, 101, 40, 110, 111, - 100, 101, 44, 32, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 110, 111, 100, 101, 46, 115, 116, 121, 108, 101, 46, 103, 101, 116, 80, 114, 111, 112, 101, - 114, 116, 121, 86, 97, 108, 117, 101, 40, 110, 97, 109, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 124, 124, 32, 100, 101, 102, 97, 117, 108, 116, 86, 105, 101, 119, 40, 110, 111, 100, 101, - 41, 46, 103, 101, 116, 67, 111, 109, 112, 117, 116, 101, 100, 83, 116, 121, 108, 101, 40, 110, 111, 100, 101, - 44, 32, 110, 117, 108, 108, 41, 46, 103, 101, 116, 80, 114, 111, 112, 101, 114, 116, 121, 86, 97, 108, 117, - 101, 40, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 112, 114, 111, 112, 101, 114, 116, 121, 82, 101, 109, 111, 118, 101, 40, 110, 97, - 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 101, 108, 101, 116, 101, 32, 116, 104, 105, 115, 91, 110, 97, 109, 101, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 112, 114, 111, 112, 101, 114, 116, 121, 67, 111, 110, 115, 116, 97, 110, 116, 40, 110, 97, - 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 91, 110, 97, 109, 101, 93, 32, 61, 32, 118, 97, 108, - 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 114, 111, 112, 101, 114, 116, 121, 70, 117, 110, - 99, 116, 105, 111, 110, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 32, 61, 32, - 118, 97, 108, 117, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 118, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 100, 101, 108, 101, 116, 101, 32, 116, 104, 105, 115, 91, - 110, 97, 109, 101, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, - 32, 116, 104, 105, 115, 91, 110, 97, 109, 101, 93, 32, 61, 32, 118, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 112, 114, 111, 112, 101, 114, 116, 121, 40, 110, 97, - 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 62, - 32, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 116, 104, 105, 115, 46, 101, - 97, 99, 104, 40, 40, 118, 97, 108, 117, 101, 32, 61, 61, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 112, 114, 111, 112, 101, 114, 116, 121, 82, - 101, 109, 111, 118, 101, 32, 58, 32, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 32, 61, 61, - 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 112, 114, 111, 112, 101, 114, 116, 121, 70, 117, 110, - 99, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 58, 32, 112, 114, 111, 112, 101, 114, 116, 121, 67, 111, 110, 115, 116, 97, 110, 116, 41, 40, - 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 58, 32, 116, 104, 105, 115, 46, 110, 111, 100, 101, 40, 41, 91, 110, 97, 109, 101, 93, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, - 97, 115, 115, 65, 114, 114, 97, 121, 40, 115, 116, 114, 105, 110, 103, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 114, 105, 110, 103, 46, 116, 114, 105, 109, 40, - 41, 46, 115, 112, 108, 105, 116, 40, 47, 94, 124, 92, 115, 43, 47, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, 97, 115, 115, 76, 105, 115, - 116, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 110, 111, 100, 101, 46, 99, 108, 97, 115, 115, 76, 105, 115, 116, 32, 124, 124, 32, 110, 101, 119, - 32, 67, 108, 97, 115, 115, 76, 105, 115, 116, 40, 110, 111, 100, 101, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 67, 108, 97, 115, 115, 76, 105, 115, - 116, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 110, 97, 109, 101, 115, 32, 61, 32, 99, 108, 97, 115, 115, 65, 114, 114, 97, 121, - 40, 110, 111, 100, 101, 46, 103, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 40, 34, 99, 108, 97, - 115, 115, 34, 41, 32, 124, 124, 32, 34, 34, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 67, 108, 97, 115, 115, 76, 105, 115, 116, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 100, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 105, 32, 61, 32, 116, 104, 105, 115, 46, 95, 110, 97, 109, 101, 115, 46, 105, 110, 100, 101, 120, - 79, 102, 40, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 105, 32, 60, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 110, 97, 109, 101, 115, 46, 112, 117, 115, 104, 40, 110, - 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 110, 111, 100, 101, 46, 115, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 40, - 34, 99, 108, 97, 115, 115, 34, 44, 32, 116, 104, 105, 115, 46, 95, 110, 97, 109, 101, 115, 46, 106, 111, - 105, 110, 40, 34, 32, 34, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 109, - 111, 118, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 97, 109, 101, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 116, 104, 105, 115, - 46, 95, 110, 97, 109, 101, 115, 46, 105, 110, 100, 101, 120, 79, 102, 40, 110, 97, 109, 101, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 62, 61, 32, 48, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 110, 97, 109, 101, 115, 46, 115, 112, 108, 105, 99, 101, 40, 105, 44, 32, 49, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 110, 111, - 100, 101, 46, 115, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 40, 34, 99, 108, 97, 115, 115, 34, - 44, 32, 116, 104, 105, 115, 46, 95, 110, 97, 109, 101, 115, 46, 106, 111, 105, 110, 40, 34, 32, 34, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 97, 105, 110, 115, 58, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 110, 97, 109, 101, - 115, 46, 105, 110, 100, 101, 120, 79, 102, 40, 110, 97, 109, 101, 41, 32, 62, 61, 32, 48, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 99, 108, 97, 115, 115, 101, 100, 65, 100, 100, 40, 110, 111, 100, 101, 44, - 32, 110, 97, 109, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, - 105, 115, 116, 32, 61, 32, 99, 108, 97, 115, 115, 76, 105, 115, 116, 40, 110, 111, 100, 101, 41, 44, 32, - 105, 32, 61, 32, 45, 49, 44, 32, 110, 32, 61, 32, 110, 97, 109, 101, 115, 46, 108, 101, 110, 103, 116, - 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, - 32, 110, 41, 32, 108, 105, 115, 116, 46, 97, 100, 100, 40, 110, 97, 109, 101, 115, 91, 105, 93, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, - 97, 115, 115, 101, 100, 82, 101, 109, 111, 118, 101, 40, 110, 111, 100, 101, 44, 32, 110, 97, 109, 101, 115, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 105, 115, 116, 32, 61, 32, - 99, 108, 97, 115, 115, 76, 105, 115, 116, 40, 110, 111, 100, 101, 41, 44, 32, 105, 32, 61, 32, 45, 49, - 44, 32, 110, 32, 61, 32, 110, 97, 109, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 108, 105, - 115, 116, 46, 114, 101, 109, 111, 118, 101, 40, 110, 97, 109, 101, 115, 91, 105, 93, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, 97, 115, 115, - 101, 100, 84, 114, 117, 101, 40, 110, 97, 109, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 97, 115, 115, 101, 100, 65, 100, 100, 40, 116, 104, - 105, 115, 44, 32, 110, 97, 109, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, 97, - 115, 115, 101, 100, 70, 97, 108, 115, 101, 40, 110, 97, 109, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 97, 115, 115, 101, 100, 82, 101, 109, - 111, 118, 101, 40, 116, 104, 105, 115, 44, 32, 110, 97, 109, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 99, 108, 97, 115, 115, 101, 100, 70, 117, 110, 99, 116, 105, 111, 110, 40, 110, 97, 109, 101, - 115, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 40, 118, 97, 108, 117, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, - 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 63, 32, 99, 108, 97, 115, 115, 101, 100, 65, - 100, 100, 32, 58, 32, 99, 108, 97, 115, 115, 101, 100, 82, 101, 109, 111, 118, 101, 41, 40, 116, 104, 105, - 115, 44, 32, 110, 97, 109, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 95, 99, 108, 97, 115, 115, 101, 100, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, - 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 97, 109, 101, 115, - 32, 61, 32, 99, 108, 97, 115, 115, 65, 114, 114, 97, 121, 40, 110, 97, 109, 101, 32, 43, 32, 34, 34, - 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 60, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 105, 115, 116, 32, 61, 32, 99, 108, 97, 115, 115, 76, - 105, 115, 116, 40, 116, 104, 105, 115, 46, 110, 111, 100, 101, 40, 41, 41, 44, 32, 105, 32, 61, 32, 45, - 49, 44, 32, 110, 32, 61, 32, 110, 97, 109, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, - 110, 41, 32, 105, 102, 32, 40, 33, 108, 105, 115, 116, 46, 99, 111, 110, 116, 97, 105, 110, 115, 40, 110, - 97, 109, 101, 115, 91, 105, 93, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, - 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 40, 40, 116, 121, 112, 101, 111, 102, - 32, 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 99, 108, 97, 115, 115, 101, 100, 70, 117, 110, - 99, 116, 105, 111, 110, 32, 58, 32, 118, 97, 108, 117, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 63, 32, 99, 108, 97, 115, 115, 101, 100, 84, 114, 117, 101, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 99, 108, 97, 115, 115, 101, 100, - 70, 97, 108, 115, 101, 41, 40, 110, 97, 109, 101, 115, 44, 32, 118, 97, 108, 117, 101, 41, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 101, 120, - 116, 82, 101, 109, 111, 118, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 116, 101, 120, 116, 67, 111, 110, 116, 101, 110, 116, 32, 61, 32, 34, 34, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 101, 120, 116, 67, 111, - 110, 115, 116, 97, 110, 116, 36, 49, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 101, 120, 116, 67, 111, - 110, 116, 101, 110, 116, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 116, 101, 120, 116, 70, 117, 110, 99, 116, 105, 111, 110, 36, 49, 40, 118, 97, 108, 117, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, - 32, 61, 32, 118, 97, 108, 117, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 116, 101, 120, 116, 67, 111, 110, 116, 101, 110, 116, 32, 61, 32, 118, 32, 61, 61, 32, - 110, 117, 108, 108, 32, 63, 32, 34, 34, 32, 58, 32, 118, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 116, 101, 120, 116, 40, 118, 97, 108, 117, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, - 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 40, 118, 97, 108, 117, 101, 32, 61, 61, 32, 110, 117, 108, - 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 116, 101, 120, - 116, 82, 101, 109, 111, 118, 101, 32, 58, 32, 40, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, - 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 116, 101, 120, 116, 70, 117, 110, 99, - 116, 105, 111, 110, 36, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 58, 32, 116, 101, 120, 116, 67, 111, 110, 115, 116, 97, 110, 116, 36, 49, 41, 40, 118, - 97, 108, 117, 101, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 116, 104, - 105, 115, 46, 110, 111, 100, 101, 40, 41, 46, 116, 101, 120, 116, 67, 111, 110, 116, 101, 110, 116, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 116, 109, - 108, 82, 101, 109, 111, 118, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 105, 110, 110, 101, 114, 72, 84, 77, 76, 32, 61, 32, 34, 34, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 116, 109, 108, 67, 111, 110, 115, - 116, 97, 110, 116, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 105, 110, 110, 101, 114, 72, 84, 77, 76, 32, - 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 116, 109, 108, 70, 117, - 110, 99, 116, 105, 111, 110, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 32, 61, 32, 118, 97, 108, 117, 101, - 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 105, 110, 110, 101, - 114, 72, 84, 77, 76, 32, 61, 32, 118, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 34, 34, 32, - 58, 32, 118, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, - 104, 116, 109, 108, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, - 40, 118, 97, 108, 117, 101, 32, 61, 61, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 104, 116, 109, 108, 82, 101, 109, 111, 118, 101, 32, 58, 32, - 40, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, - 116, 105, 111, 110, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 63, 32, 104, 116, 109, 108, 70, 117, 110, 99, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 104, 116, 109, 108, 67, 111, - 110, 115, 116, 97, 110, 116, 41, 40, 118, 97, 108, 117, 101, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 58, 32, 116, 104, 105, 115, 46, 110, 111, 100, 101, 40, 41, 46, 105, 110, 110, 101, - 114, 72, 84, 77, 76, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 114, 97, 105, 115, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 116, 104, 105, 115, 46, 110, 101, 120, 116, 83, 105, 98, 108, 105, 110, 103, 41, 32, 116, 104, - 105, 115, 46, 112, 97, 114, 101, 110, 116, 78, 111, 100, 101, 46, 97, 112, 112, 101, 110, 100, 67, 104, 105, - 108, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 114, 97, 105, 115, 101, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, - 46, 101, 97, 99, 104, 40, 114, 97, 105, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 111, 119, 101, 114, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 112, 114, 101, 118, 105, 111, 117, 115, - 83, 105, 98, 108, 105, 110, 103, 41, 32, 116, 104, 105, 115, 46, 112, 97, 114, 101, 110, 116, 78, 111, 100, - 101, 46, 105, 110, 115, 101, 114, 116, 66, 101, 102, 111, 114, 101, 40, 116, 104, 105, 115, 44, 32, 116, 104, - 105, 115, 46, 112, 97, 114, 101, 110, 116, 78, 111, 100, 101, 46, 102, 105, 114, 115, 116, 67, 104, 105, 108, - 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 108, 111, 119, 101, 114, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 40, - 108, 111, 119, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 97, 112, 112, 101, 110, 100, 40, 110, - 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 114, 101, 97, - 116, 101, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 110, 97, 109, 101, 32, 61, 61, 61, 32, 34, 102, - 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 110, 97, 109, 101, 32, 58, 32, 99, 114, 101, 97, 116, - 111, 114, 40, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 116, 104, 105, 115, 46, 115, 101, 108, 101, 99, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 116, 104, 105, 115, 46, 97, 112, 112, 101, 110, 100, 67, 104, 105, 108, 100, 40, 99, 114, 101, 97, 116, 101, - 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 115, 116, 97, 110, 116, 78, 117, 108, - 108, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, - 108, 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 105, 110, 115, 101, 114, 116, 40, 110, 97, 109, 101, 44, - 32, 98, 101, 102, 111, 114, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 99, 114, 101, 97, 116, 101, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 110, 97, 109, 101, 32, 61, 61, - 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 110, 97, 109, 101, 32, 58, 32, 99, - 114, 101, 97, 116, 111, 114, 40, 110, 97, 109, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 101, 108, 101, 99, 116, 32, 61, 32, 98, 101, 102, 111, 114, 101, 32, 61, 61, 32, 110, - 117, 108, 108, 32, 63, 32, 99, 111, 110, 115, 116, 97, 110, 116, 78, 117, 108, 108, 32, 58, 32, 116, 121, - 112, 101, 111, 102, 32, 98, 101, 102, 111, 114, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, - 111, 110, 34, 32, 63, 32, 98, 101, 102, 111, 114, 101, 32, 58, 32, 115, 101, 108, 101, 99, 116, 111, 114, - 40, 98, 101, 102, 111, 114, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 116, 104, 105, 115, 46, 115, 101, 108, 101, 99, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 116, 104, 105, 115, 46, 105, 110, 115, 101, 114, 116, 66, 101, 102, 111, 114, 101, 40, 99, 114, 101, 97, 116, - 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 41, 44, 32, 115, 101, 108, 101, 99, 116, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 124, 124, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 114, 101, 109, 111, 118, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 112, 97, 114, 101, 110, 116, 32, 61, 32, 116, 104, 105, 115, 46, 112, 97, 114, - 101, 110, 116, 78, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 97, - 114, 101, 110, 116, 41, 32, 112, 97, 114, 101, 110, 116, 46, 114, 101, 109, 111, 118, 101, 67, 104, 105, 108, - 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 114, 101, 109, 111, 118, 101, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, - 46, 101, 97, 99, 104, 40, 114, 101, 109, 111, 118, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 99, - 108, 111, 110, 101, 83, 104, 97, 108, 108, 111, 119, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 99, 108, 111, 110, 101, 32, 61, 32, 116, 104, 105, 115, 46, 99, 108, 111, 110, 101, - 78, 111, 100, 101, 40, 102, 97, 108, 115, 101, 41, 44, 32, 112, 97, 114, 101, 110, 116, 32, 61, 32, 116, - 104, 105, 115, 46, 112, 97, 114, 101, 110, 116, 78, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 114, 101, 110, 116, 32, 63, 32, 112, 97, 114, 101, 110, 116, - 46, 105, 110, 115, 101, 114, 116, 66, 101, 102, 111, 114, 101, 40, 99, 108, 111, 110, 101, 44, 32, 116, 104, - 105, 115, 46, 110, 101, 120, 116, 83, 105, 98, 108, 105, 110, 103, 41, 32, 58, 32, 99, 108, 111, 110, 101, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, - 101, 108, 101, 99, 116, 105, 111, 110, 95, 99, 108, 111, 110, 101, 68, 101, 101, 112, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 108, 111, 110, 101, 32, 61, 32, 116, 104, 105, - 115, 46, 99, 108, 111, 110, 101, 78, 111, 100, 101, 40, 116, 114, 117, 101, 41, 44, 32, 112, 97, 114, 101, - 110, 116, 32, 61, 32, 116, 104, 105, 115, 46, 112, 97, 114, 101, 110, 116, 78, 111, 100, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 114, 101, 110, 116, 32, 63, 32, - 112, 97, 114, 101, 110, 116, 46, 105, 110, 115, 101, 114, 116, 66, 101, 102, 111, 114, 101, 40, 99, 108, 111, - 110, 101, 44, 32, 116, 104, 105, 115, 46, 110, 101, 120, 116, 83, 105, 98, 108, 105, 110, 103, 41, 32, 58, - 32, 99, 108, 111, 110, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 99, 108, 111, 110, 101, 40, 100, 101, - 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, - 105, 115, 46, 115, 101, 108, 101, 99, 116, 40, 100, 101, 101, 112, 32, 63, 32, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 95, 99, 108, 111, 110, 101, 68, 101, 101, 112, 32, 58, 32, 115, 101, 108, 101, 99, 116, 105, - 111, 110, 95, 99, 108, 111, 110, 101, 83, 104, 97, 108, 108, 111, 119, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, - 110, 95, 100, 97, 116, 117, 109, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 116, 104, 105, 115, 46, 112, - 114, 111, 112, 101, 114, 116, 121, 40, 34, 95, 95, 100, 97, 116, 97, 95, 95, 34, 44, 32, 118, 97, 108, - 117, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 116, 104, 105, 115, 46, - 110, 111, 100, 101, 40, 41, 46, 95, 95, 100, 97, 116, 97, 95, 95, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 116, 101, 120, 116, 76, 105, - 115, 116, 101, 110, 101, 114, 40, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 118, 101, - 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, - 110, 101, 114, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 44, 32, 101, 118, 101, 110, 116, 44, 32, 116, - 104, 105, 115, 46, 95, 95, 100, 97, 116, 97, 95, 95, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 112, 97, 114, 115, 101, 84, 121, 112, 101, 110, 97, 109, 101, 115, 40, 116, 121, 112, 101, 110, 97, 109, 101, - 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 121, 112, - 101, 110, 97, 109, 101, 115, 46, 116, 114, 105, 109, 40, 41, 46, 115, 112, 108, 105, 116, 40, 47, 94, 124, - 92, 115, 43, 47, 41, 46, 109, 97, 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 97, 109, 101, 32, 61, - 32, 34, 34, 44, 32, 105, 32, 61, 32, 116, 46, 105, 110, 100, 101, 120, 79, 102, 40, 34, 46, 34, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 62, 61, 32, - 48, 41, 32, 110, 97, 109, 101, 32, 61, 32, 116, 46, 115, 108, 105, 99, 101, 40, 105, 32, 43, 32, 49, - 41, 44, 32, 116, 32, 61, 32, 116, 46, 115, 108, 105, 99, 101, 40, 48, 44, 32, 105, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 116, 121, 112, 101, - 58, 32, 116, 44, 32, 110, 97, 109, 101, 58, 32, 110, 97, 109, 101, 125, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 111, 110, 82, 101, 109, 111, 118, 101, 40, 116, 121, 112, 101, 110, 97, 109, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 111, 110, 32, 61, 32, 116, 104, 105, 115, 46, 95, 95, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 111, 110, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 106, 32, 61, - 32, 48, 44, 32, 105, 32, 61, 32, 45, 49, 44, 32, 109, 32, 61, 32, 111, 110, 46, 108, 101, 110, 103, - 116, 104, 44, 32, 111, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 32, 61, 32, 111, - 110, 91, 106, 93, 44, 32, 40, 33, 116, 121, 112, 101, 110, 97, 109, 101, 46, 116, 121, 112, 101, 32, 124, - 124, 32, 111, 46, 116, 121, 112, 101, 32, 61, 61, 61, 32, 116, 121, 112, 101, 110, 97, 109, 101, 46, 116, - 121, 112, 101, 41, 32, 38, 38, 32, 111, 46, 110, 97, 109, 101, 32, 61, 61, 61, 32, 116, 121, 112, 101, - 110, 97, 109, 101, 46, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, - 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 111, 46, 116, 121, 112, 101, 44, 32, 111, 46, 108, - 105, 115, 116, 101, 110, 101, 114, 44, 32, 111, 46, 111, 112, 116, 105, 111, 110, 115, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 110, 91, - 43, 43, 105, 93, 32, 61, 32, 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 43, 43, 105, 41, 32, 111, 110, 46, 108, 101, 110, - 103, 116, 104, 32, 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, - 115, 101, 32, 100, 101, 108, 101, 116, 101, 32, 116, 104, 105, 115, 46, 95, 95, 111, 110, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 111, 110, 65, 100, 100, 40, 116, 121, 112, 101, 110, 97, 109, 101, 44, 32, 118, - 97, 108, 117, 101, 44, 32, 111, 112, 116, 105, 111, 110, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 111, 110, 32, 61, 32, 116, 104, 105, - 115, 46, 95, 95, 111, 110, 44, 32, 111, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 32, 61, 32, 99, - 111, 110, 116, 101, 120, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 118, 97, 108, 117, 101, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 110, 41, 32, 102, 111, 114, - 32, 40, 118, 97, 114, 32, 106, 32, 61, 32, 48, 44, 32, 109, 32, 61, 32, 111, 110, 46, 108, 101, 110, - 103, 116, 104, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 111, 32, 61, 32, 111, 110, - 91, 106, 93, 41, 46, 116, 121, 112, 101, 32, 61, 61, 61, 32, 116, 121, 112, 101, 110, 97, 109, 101, 46, - 116, 121, 112, 101, 32, 38, 38, 32, 111, 46, 110, 97, 109, 101, 32, 61, 61, 61, 32, 116, 121, 112, 101, - 110, 97, 109, 101, 46, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, - 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 111, 46, 116, 121, 112, 101, 44, 32, 111, 46, 108, - 105, 115, 116, 101, 110, 101, 114, 44, 32, 111, 46, 111, 112, 116, 105, 111, 110, 115, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 111, 46, 116, 121, 112, 101, - 44, 32, 111, 46, 108, 105, 115, 116, 101, 110, 101, 114, 32, 61, 32, 108, 105, 115, 116, 101, 110, 101, 114, - 44, 32, 111, 46, 111, 112, 116, 105, 111, 110, 115, 32, 61, 32, 111, 112, 116, 105, 111, 110, 115, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 46, - 118, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 110, 97, - 109, 101, 46, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 44, 32, 111, 112, 116, 105, - 111, 110, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 32, 61, 32, 123, - 116, 121, 112, 101, 58, 32, 116, 121, 112, 101, 110, 97, 109, 101, 46, 116, 121, 112, 101, 44, 32, 110, 97, - 109, 101, 58, 32, 116, 121, 112, 101, 110, 97, 109, 101, 46, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, - 101, 58, 32, 118, 97, 108, 117, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 58, 32, 108, 105, 115, - 116, 101, 110, 101, 114, 44, 32, 111, 112, 116, 105, 111, 110, 115, 58, 32, 111, 112, 116, 105, 111, 110, 115, - 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 111, 110, 41, - 32, 116, 104, 105, 115, 46, 95, 95, 111, 110, 32, 61, 32, 91, 111, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 111, 110, 46, 112, 117, 115, 104, 40, 111, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 111, 110, 40, 116, - 121, 112, 101, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 44, 32, 111, 112, 116, 105, 111, 110, 115, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 121, 112, 101, 110, 97, 109, - 101, 115, 32, 61, 32, 112, 97, 114, 115, 101, 84, 121, 112, 101, 110, 97, 109, 101, 115, 40, 116, 121, 112, - 101, 110, 97, 109, 101, 32, 43, 32, 34, 34, 41, 44, 32, 105, 44, 32, 110, 32, 61, 32, 116, 121, 112, - 101, 110, 97, 109, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 116, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 32, 60, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 111, 110, 32, 61, 32, 116, 104, 105, 115, 46, 110, 111, 100, 101, 40, 41, 46, 95, 95, 111, 110, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 110, 41, 32, 102, - 111, 114, 32, 40, 118, 97, 114, 32, 106, 32, 61, 32, 48, 44, 32, 109, 32, 61, 32, 111, 110, 46, 108, - 101, 110, 103, 116, 104, 44, 32, 111, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, - 32, 61, 32, 48, 44, 32, 111, 32, 61, 32, 111, 110, 91, 106, 93, 59, 32, 105, 32, 60, 32, 110, 59, - 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 116, 32, 61, 32, 116, 121, 112, 101, 110, 97, 109, 101, 115, - 91, 105, 93, 41, 46, 116, 121, 112, 101, 32, 61, 61, 61, 32, 111, 46, 116, 121, 112, 101, 32, 38, 38, - 32, 116, 46, 110, 97, 109, 101, 32, 61, 61, 61, 32, 111, 46, 110, 97, 109, 101, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 111, 46, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 110, 32, 61, 32, 118, - 97, 108, 117, 101, 32, 63, 32, 111, 110, 65, 100, 100, 32, 58, 32, 111, 110, 82, 101, 109, 111, 118, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, - 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 40, 111, 110, - 40, 116, 121, 112, 101, 110, 97, 109, 101, 115, 91, 105, 93, 44, 32, 118, 97, 108, 117, 101, 44, 32, 111, - 112, 116, 105, 111, 110, 115, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 100, 105, 115, 112, 97, 116, 99, 104, 69, 118, 101, 110, 116, 40, 110, 111, 100, 101, - 44, 32, 116, 121, 112, 101, 44, 32, 112, 97, 114, 97, 109, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 119, 105, 110, 100, 111, 119, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, - 86, 105, 101, 119, 40, 110, 111, 100, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 118, 101, 110, 116, 32, 61, 32, 119, 105, 110, 100, 111, 119, 46, 67, 117, 115, 116, 111, 109, 69, - 118, 101, 110, 116, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, - 111, 102, 32, 101, 118, 101, 110, 116, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 32, 61, - 32, 110, 101, 119, 32, 101, 118, 101, 110, 116, 40, 116, 121, 112, 101, 44, 32, 112, 97, 114, 97, 109, 115, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 32, 61, 32, 119, 105, 110, 100, 111, 119, - 46, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 114, 101, 97, 116, 101, 69, 118, 101, 110, 116, 40, 34, - 69, 118, 101, 110, 116, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 112, 97, 114, 97, 109, 115, 41, 32, 101, 118, 101, 110, 116, 46, 105, 110, 105, 116, 69, 118, 101, - 110, 116, 40, 116, 121, 112, 101, 44, 32, 112, 97, 114, 97, 109, 115, 46, 98, 117, 98, 98, 108, 101, 115, - 44, 32, 112, 97, 114, 97, 109, 115, 46, 99, 97, 110, 99, 101, 108, 97, 98, 108, 101, 41, 44, 32, 101, - 118, 101, 110, 116, 46, 100, 101, 116, 97, 105, 108, 32, 61, 32, 112, 97, 114, 97, 109, 115, 46, 100, 101, - 116, 97, 105, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, - 101, 118, 101, 110, 116, 46, 105, 110, 105, 116, 69, 118, 101, 110, 116, 40, 116, 121, 112, 101, 44, 32, 102, - 97, 108, 115, 101, 44, 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 100, 105, 115, 112, 97, 116, 99, 104, - 69, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 105, 115, 112, 97, 116, 99, 104, 67, 111, 110, 115, - 116, 97, 110, 116, 40, 116, 121, 112, 101, 44, 32, 112, 97, 114, 97, 109, 115, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, - 105, 115, 112, 97, 116, 99, 104, 69, 118, 101, 110, 116, 40, 116, 104, 105, 115, 44, 32, 116, 121, 112, 101, - 44, 32, 112, 97, 114, 97, 109, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 105, 115, 112, - 97, 116, 99, 104, 70, 117, 110, 99, 116, 105, 111, 110, 40, 116, 121, 112, 101, 44, 32, 112, 97, 114, 97, - 109, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 100, 105, 115, 112, 97, 116, 99, 104, 69, 118, 101, 110, 116, 40, 116, 104, - 105, 115, 44, 32, 116, 121, 112, 101, 44, 32, 112, 97, 114, 97, 109, 115, 46, 97, 112, 112, 108, 121, 40, - 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 100, 105, 115, 112, 97, 116, 99, 104, 40, - 116, 121, 112, 101, 44, 32, 112, 97, 114, 97, 109, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 40, 40, 116, 121, 112, 101, - 111, 102, 32, 112, 97, 114, 97, 109, 115, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, - 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 100, 105, 115, 112, 97, 116, 99, - 104, 70, 117, 110, 99, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, - 32, 100, 105, 115, 112, 97, 116, 99, 104, 67, 111, 110, 115, 116, 97, 110, 116, 41, 40, 116, 121, 112, 101, - 44, 32, 112, 97, 114, 97, 109, 115, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 42, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 105, 116, 101, - 114, 97, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 118, 97, 114, 32, 103, 114, 111, 117, 112, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, - 112, 115, 44, 32, 106, 32, 61, 32, 48, 44, 32, 109, 32, 61, 32, 103, 114, 111, 117, 112, 115, 46, 108, - 101, 110, 103, 116, 104, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, - 112, 32, 61, 32, 103, 114, 111, 117, 112, 115, 91, 106, 93, 44, 32, 105, 32, 61, 32, 48, 44, 32, 110, - 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 44, 32, 110, 111, 100, 101, 59, 32, - 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, - 91, 105, 93, 41, 32, 121, 105, 101, 108, 100, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 114, 111, 111, 116, 36, 49, 32, 61, 32, 91, 110, 117, 108, - 108, 93, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 83, 101, 108, 101, 99, - 116, 105, 111, 110, 36, 49, 40, 103, 114, 111, 117, 112, 115, 44, 32, 112, 97, 114, 101, 110, 116, 115, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, - 32, 61, 32, 103, 114, 111, 117, 112, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 112, 97, 114, 101, 110, 116, 115, 32, 61, 32, 112, 97, 114, 101, 110, 116, 115, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 110, 101, 119, 32, 83, 101, 108, 101, 99, 116, 105, 111, 110, 36, 49, 40, 91, 91, 100, 111, 99, 117, - 109, 101, 110, 116, 46, 100, 111, 99, 117, 109, 101, 110, 116, 69, 108, 101, 109, 101, 110, 116, 93, 93, 44, - 32, 114, 111, 111, 116, 36, 49, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 83, 101, 108, 101, 99, 116, - 105, 111, 110, 36, 49, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 115, 101, 108, 101, 99, - 116, 105, 111, 110, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 32, 83, 101, 108, 101, 99, 116, - 105, 111, 110, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 58, 32, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 115, 101, 108, 101, 99, 116, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 101, 108, 101, 99, 116, 65, 108, 108, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, - 95, 115, 101, 108, 101, 99, 116, 65, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, - 101, 99, 116, 67, 104, 105, 108, 100, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 115, 101, 108, - 101, 99, 116, 67, 104, 105, 108, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, - 116, 67, 104, 105, 108, 100, 114, 101, 110, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 115, 101, - 108, 101, 99, 116, 67, 104, 105, 108, 100, 114, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 105, 108, 116, 101, 114, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 102, 105, 108, 116, 101, 114, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 97, 58, 32, 115, 101, 108, 101, 99, 116, 105, - 111, 110, 95, 100, 97, 116, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 116, 101, 114, 58, - 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 101, 110, 116, 101, 114, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 120, 105, 116, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 101, 120, 105, 116, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 106, 111, 105, 110, 58, 32, 115, 101, 108, 101, 99, 116, 105, - 111, 110, 95, 106, 111, 105, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 114, 103, 101, 58, - 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 109, 101, 114, 103, 101, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, - 95, 115, 101, 108, 101, 99, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 114, 100, - 101, 114, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 111, 114, 100, 101, 114, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 111, 114, 116, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 115, - 111, 114, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 108, 108, 58, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 95, 99, 97, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, - 101, 115, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 110, 111, 100, 101, 115, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 110, - 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 122, 101, 58, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 95, 115, 105, 122, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 109, 112, - 116, 121, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 101, 109, 112, 116, 121, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 101, 97, 99, 104, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 101, - 97, 99, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 116, 116, 114, 58, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 95, 97, 116, 116, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 121, - 108, 101, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 115, 116, 121, 108, 101, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 114, 111, 112, 101, 114, 116, 121, 58, 32, 115, 101, 108, 101, 99, 116, 105, - 111, 110, 95, 112, 114, 111, 112, 101, 114, 116, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, - 97, 115, 115, 101, 100, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 99, 108, 97, 115, 115, 101, - 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 101, 120, 116, 58, 32, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 95, 116, 101, 120, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 116, 109, 108, 58, - 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 104, 116, 109, 108, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 97, 105, 115, 101, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 114, 97, 105, 115, - 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 119, 101, 114, 58, 32, 115, 101, 108, 101, 99, - 116, 105, 111, 110, 95, 108, 111, 119, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 112, 112, - 101, 110, 100, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 97, 112, 112, 101, 110, 100, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 101, 114, 116, 58, 32, 115, 101, 108, 101, 99, 116, 105, - 111, 110, 95, 105, 110, 115, 101, 114, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 109, 111, - 118, 101, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 114, 101, 109, 111, 118, 101, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 108, 111, 110, 101, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, - 95, 99, 108, 111, 110, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 117, 109, 58, 32, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 100, 97, 116, 117, 109, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 111, 110, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 111, 110, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 105, 115, 112, 97, 116, 99, 104, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, - 110, 95, 100, 105, 115, 112, 97, 116, 99, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 83, 121, - 109, 98, 111, 108, 46, 105, 116, 101, 114, 97, 116, 111, 114, 93, 58, 32, 115, 101, 108, 101, 99, 116, 105, - 111, 110, 95, 105, 116, 101, 114, 97, 116, 111, 114, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 40, 115, 101, 108, 101, 99, 116, - 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 121, - 112, 101, 111, 102, 32, 115, 101, 108, 101, 99, 116, 111, 114, 32, 61, 61, 61, 32, 34, 115, 116, 114, 105, - 110, 103, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 110, 101, 119, 32, 83, - 101, 108, 101, 99, 116, 105, 111, 110, 36, 49, 40, 91, 91, 100, 111, 99, 117, 109, 101, 110, 116, 46, 113, - 117, 101, 114, 121, 83, 101, 108, 101, 99, 116, 111, 114, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 93, - 93, 44, 32, 91, 100, 111, 99, 117, 109, 101, 110, 116, 46, 100, 111, 99, 117, 109, 101, 110, 116, 69, 108, - 101, 109, 101, 110, 116, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 110, - 101, 119, 32, 83, 101, 108, 101, 99, 116, 105, 111, 110, 36, 49, 40, 91, 91, 115, 101, 108, 101, 99, 116, - 111, 114, 93, 93, 44, 32, 114, 111, 111, 116, 36, 49, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 114, 101, 97, 116, 101, 36, 49, 40, 110, 97, - 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 101, - 108, 101, 99, 116, 40, 99, 114, 101, 97, 116, 111, 114, 40, 110, 97, 109, 101, 41, 46, 99, 97, 108, 108, - 40, 100, 111, 99, 117, 109, 101, 110, 116, 46, 100, 111, 99, 117, 109, 101, 110, 116, 69, 108, 101, 109, 101, - 110, 116, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 110, 101, - 120, 116, 73, 100, 32, 61, 32, 48, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 108, 111, 99, 97, 108, 36, 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 110, 101, 119, 32, 76, 111, 99, 97, 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 76, 111, 99, 97, 108, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 61, 32, 34, 64, 34, 32, 43, 32, - 40, 43, 43, 110, 101, 120, 116, 73, 100, 41, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 51, 54, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 76, 111, 99, 97, 108, 46, 112, 114, 111, 116, - 111, 116, 121, 112, 101, 32, 61, 32, 108, 111, 99, 97, 108, 36, 49, 46, 112, 114, 111, 116, 111, 116, 121, - 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, - 116, 111, 114, 58, 32, 76, 111, 99, 97, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 116, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 33, 40, - 105, 100, 32, 105, 110, 32, 110, 111, 100, 101, 41, 41, 32, 105, 102, 32, 40, 33, 40, 110, 111, 100, 101, - 32, 61, 32, 110, 111, 100, 101, 46, 112, 97, 114, 101, 110, 116, 78, 111, 100, 101, 41, 41, 32, 114, 101, - 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 110, 111, 100, 101, 91, 105, 100, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, - 111, 100, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 111, 100, 101, 91, 116, 104, 105, 115, 46, 95, 93, 32, - 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 109, 111, 118, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, - 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 104, 105, 115, 46, 95, 32, 105, 110, 32, 110, 111, 100, 101, 32, 38, 38, 32, 100, 101, - 108, 101, 116, 101, 32, 110, 111, 100, 101, 91, 116, 104, 105, 115, 46, 95, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 83, 116, 114, 105, 110, 103, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, - 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 115, 111, 117, 114, - 99, 101, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 46, 115, 111, 117, 114, 99, 101, 69, - 118, 101, 110, 116, 41, 32, 101, 118, 101, 110, 116, 32, 61, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, - 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 118, 101, 110, - 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 112, 111, 105, 110, 116, 101, 114, 40, 101, 118, 101, 110, 116, 44, 32, 110, 111, 100, 101, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 32, 61, 32, 115, 111, 117, 114, 99, 101, 69, - 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 110, 111, 100, 101, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 110, - 111, 100, 101, 32, 61, 32, 101, 118, 101, 110, 116, 46, 99, 117, 114, 114, 101, 110, 116, 84, 97, 114, 103, - 101, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 118, 103, 32, 61, 32, - 110, 111, 100, 101, 46, 111, 119, 110, 101, 114, 83, 86, 71, 69, 108, 101, 109, 101, 110, 116, 32, 124, 124, - 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 115, 118, 103, 46, 99, 114, 101, 97, 116, 101, 83, 86, 71, 80, 111, 105, 110, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 111, 105, 110, - 116, 32, 61, 32, 115, 118, 103, 46, 99, 114, 101, 97, 116, 101, 83, 86, 71, 80, 111, 105, 110, 116, 40, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, - 116, 46, 120, 32, 61, 32, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 88, 44, 32, 112, 111, - 105, 110, 116, 46, 121, 32, 61, 32, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 89, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 32, 61, - 32, 112, 111, 105, 110, 116, 46, 109, 97, 116, 114, 105, 120, 84, 114, 97, 110, 115, 102, 111, 114, 109, 40, - 110, 111, 100, 101, 46, 103, 101, 116, 83, 99, 114, 101, 101, 110, 67, 84, 77, 40, 41, 46, 105, 110, 118, - 101, 114, 115, 101, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 112, 111, 105, 110, 116, 46, 120, 44, 32, 112, 111, 105, 110, - 116, 46, 121, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 46, 103, 101, 116, 66, 111, - 117, 110, 100, 105, 110, 103, 67, 108, 105, 101, 110, 116, 82, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 101, 99, 116, 32, 61, - 32, 110, 111, 100, 101, 46, 103, 101, 116, 66, 111, 117, 110, 100, 105, 110, 103, 67, 108, 105, 101, 110, 116, - 82, 101, 99, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 91, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 88, 32, - 45, 32, 114, 101, 99, 116, 46, 108, 101, 102, 116, 32, 45, 32, 110, 111, 100, 101, 46, 99, 108, 105, 101, - 110, 116, 76, 101, 102, 116, 44, 32, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 89, 32, 45, - 32, 114, 101, 99, 116, 46, 116, 111, 112, 32, 45, 32, 110, 111, 100, 101, 46, 99, 108, 105, 101, 110, 116, - 84, 111, 112, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, - 101, 118, 101, 110, 116, 46, 112, 97, 103, 101, 88, 44, 32, 101, 118, 101, 110, 116, 46, 112, 97, 103, 101, - 89, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 112, 111, 105, 110, 116, 101, 114, 115, 40, 101, 118, 101, 110, 116, 115, 44, 32, 110, 111, 100, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 118, 101, 110, 116, 115, 46, 116, - 97, 114, 103, 101, 116, 41, 32, 123, 32, 47, 47, 32, 105, 46, 101, 46, 44, 32, 105, 110, 115, 116, 97, - 110, 99, 101, 111, 102, 32, 69, 118, 101, 110, 116, 44, 32, 110, 111, 116, 32, 84, 111, 117, 99, 104, 76, - 105, 115, 116, 32, 111, 114, 32, 105, 116, 101, 114, 97, 98, 108, 101, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 115, 32, 61, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, - 110, 116, 40, 101, 118, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 110, 111, 100, 101, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, - 41, 32, 110, 111, 100, 101, 32, 61, 32, 101, 118, 101, 110, 116, 115, 46, 99, 117, 114, 114, 101, 110, 116, - 84, 97, 114, 103, 101, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, - 110, 116, 115, 32, 61, 32, 101, 118, 101, 110, 116, 115, 46, 116, 111, 117, 99, 104, 101, 115, 32, 124, 124, - 32, 91, 101, 118, 101, 110, 116, 115, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, - 40, 101, 118, 101, 110, 116, 115, 44, 32, 101, 118, 101, 110, 116, 32, 61, 62, 32, 112, 111, 105, 110, 116, - 101, 114, 40, 101, 118, 101, 110, 116, 44, 32, 110, 111, 100, 101, 41, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 65, 108, - 108, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 121, 112, 101, 111, 102, 32, 115, 101, 108, 101, 99, 116, 111, 114, 32, 61, - 61, 61, 32, 34, 115, 116, 114, 105, 110, 103, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 63, 32, 110, 101, 119, 32, 83, 101, 108, 101, 99, 116, 105, 111, 110, 36, 49, 40, 91, 100, 111, 99, - 117, 109, 101, 110, 116, 46, 113, 117, 101, 114, 121, 83, 101, 108, 101, 99, 116, 111, 114, 65, 108, 108, 40, - 115, 101, 108, 101, 99, 116, 111, 114, 41, 93, 44, 32, 91, 100, 111, 99, 117, 109, 101, 110, 116, 46, 100, - 111, 99, 117, 109, 101, 110, 116, 69, 108, 101, 109, 101, 110, 116, 93, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 58, 32, 110, 101, 119, 32, 83, 101, 108, 101, 99, 116, 105, 111, 110, 36, 49, - 40, 91, 115, 101, 108, 101, 99, 116, 111, 114, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 91, 93, - 32, 58, 32, 97, 114, 114, 97, 121, 36, 52, 40, 115, 101, 108, 101, 99, 116, 111, 114, 41, 93, 44, 32, - 114, 111, 111, 116, 36, 49, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 110, 111, 112, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, 36, 50, 40, 101, - 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 46, 115, - 116, 111, 112, 73, 109, 109, 101, 100, 105, 97, 116, 101, 80, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, - 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 110, 111, 101, 118, 101, 110, 116, 36, 50, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 46, 112, 114, 101, 118, 101, 110, 116, 68, 101, 102, 97, 117, - 108, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 46, 115, 116, 111, - 112, 73, 109, 109, 101, 100, 105, 97, 116, 101, 80, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, 40, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, - 114, 97, 103, 68, 105, 115, 97, 98, 108, 101, 40, 118, 105, 101, 119, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 114, 111, 111, 116, 32, 61, 32, 118, 105, 101, 119, 46, 100, 111, 99, - 117, 109, 101, 110, 116, 46, 100, 111, 99, 117, 109, 101, 110, 116, 69, 108, 101, 109, 101, 110, 116, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, - 32, 115, 101, 108, 101, 99, 116, 40, 118, 105, 101, 119, 41, 46, 111, 110, 40, 34, 100, 114, 97, 103, 115, - 116, 97, 114, 116, 46, 100, 114, 97, 103, 34, 44, 32, 110, 111, 101, 118, 101, 110, 116, 36, 50, 44, 32, - 116, 114, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 111, 110, 115, - 101, 108, 101, 99, 116, 115, 116, 97, 114, 116, 34, 32, 105, 110, 32, 114, 111, 111, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 46, 111, - 110, 40, 34, 115, 101, 108, 101, 99, 116, 115, 116, 97, 114, 116, 46, 100, 114, 97, 103, 34, 44, 32, 110, - 111, 101, 118, 101, 110, 116, 36, 50, 44, 32, 116, 114, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 111, 111, 116, 46, 95, 95, 110, 111, 115, 101, 108, 101, 99, 116, 32, 61, 32, 114, 111, 111, 116, 46, - 115, 116, 121, 108, 101, 46, 77, 111, 122, 85, 115, 101, 114, 83, 101, 108, 101, 99, 116, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 115, 116, 121, 108, 101, 46, 77, 111, - 122, 85, 115, 101, 114, 83, 101, 108, 101, 99, 116, 32, 61, 32, 34, 110, 111, 110, 101, 34, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 121, 101, 115, 100, 114, 97, 103, 40, 118, 105, 101, 119, 44, 32, 110, 111, 99, - 108, 105, 99, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 111, 111, - 116, 32, 61, 32, 118, 105, 101, 119, 46, 100, 111, 99, 117, 109, 101, 110, 116, 46, 100, 111, 99, 117, 109, - 101, 110, 116, 69, 108, 101, 109, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 115, 101, 108, 101, 99, 116, 40, 118, 105, 101, - 119, 41, 46, 111, 110, 40, 34, 100, 114, 97, 103, 115, 116, 97, 114, 116, 46, 100, 114, 97, 103, 34, 44, - 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 99, - 108, 105, 99, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, - 101, 99, 116, 105, 111, 110, 46, 111, 110, 40, 34, 99, 108, 105, 99, 107, 46, 100, 114, 97, 103, 34, 44, - 32, 110, 111, 101, 118, 101, 110, 116, 36, 50, 44, 32, 116, 114, 117, 101, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 46, 111, 110, 40, 34, - 99, 108, 105, 99, 107, 46, 100, 114, 97, 103, 34, 44, 32, 110, 117, 108, 108, 41, 59, 32, 125, 44, 32, - 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 34, 111, 110, 115, 101, 108, 101, 99, 116, 115, 116, 97, 114, 116, 34, 32, 105, 110, 32, 114, - 111, 111, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 46, 111, 110, 40, 34, 115, 101, 108, 101, 99, 116, 115, 116, 97, 114, 116, 46, 100, - 114, 97, 103, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, - 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, - 46, 115, 116, 121, 108, 101, 46, 77, 111, 122, 85, 115, 101, 114, 83, 101, 108, 101, 99, 116, 32, 61, 32, - 114, 111, 111, 116, 46, 95, 95, 110, 111, 115, 101, 108, 101, 99, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 114, 111, 111, 116, 46, 95, 95, 110, 111, 115, - 101, 108, 101, 99, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 57, 32, 61, 32, 120, - 32, 61, 62, 32, 40, 41, 32, 61, 62, 32, 120, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 68, 114, 97, 103, 69, 118, 101, 110, 116, 40, 116, 121, 112, 101, 44, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 117, 98, 106, 101, 99, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 97, 114, 103, 101, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 101, 110, 116, 105, 102, 105, - 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 120, 44, 32, 121, 44, 32, 100, 120, 44, 32, 100, 121, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 105, 115, 112, 97, 116, 99, 104, 10, 32, 32, 32, 32, 125, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 79, 98, 106, 101, 99, 116, 46, 100, 101, 102, 105, 110, 101, 80, 114, 111, - 112, 101, 114, 116, 105, 101, 115, 40, 116, 104, 105, 115, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 116, 121, 112, 101, - 44, 32, 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, - 102, 105, 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 58, 32, 123, 118, 97, - 108, 117, 101, 58, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 44, 32, 101, 110, 117, 109, 101, - 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, - 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 117, 98, 106, 101, 99, 116, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 115, 117, 98, 106, 101, 99, - 116, 44, 32, 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, - 110, 102, 105, 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 114, 103, 101, 116, 58, 32, 123, 118, 97, 108, 117, 101, 58, - 32, 116, 97, 114, 103, 101, 116, 44, 32, 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, - 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 101, 110, 116, 105, 102, 105, 101, - 114, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 44, 32, - 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, - 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 97, 99, - 116, 105, 118, 101, 44, 32, 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, - 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 120, - 44, 32, 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, - 102, 105, 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 121, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 121, 44, 32, 101, 110, - 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, 117, - 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 120, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 100, 120, 44, 32, 101, 110, 117, 109, - 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, - 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 121, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 100, 121, 44, 32, 101, 110, 117, 109, 101, 114, - 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, 108, - 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, - 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 100, 105, 115, 112, 97, 116, 99, 104, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 68, 114, 97, - 103, 69, 118, 101, 110, 116, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 111, 110, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 118, 97, 108, 117, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 46, 111, 110, 46, 97, 112, 112, 108, - 121, 40, 116, 104, 105, 115, 46, 95, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 32, 61, 61, 61, - 32, 116, 104, 105, 115, 46, 95, 32, 63, 32, 116, 104, 105, 115, 32, 58, 32, 118, 97, 108, 117, 101, 59, - 10, 32, 32, 32, 32, 125, 59, 10, 10, 47, 47, 32, 73, 103, 110, 111, 114, 101, 32, 114, 105, 103, 104, - 116, 45, 99, 108, 105, 99, 107, 44, 32, 115, 105, 110, 99, 101, 32, 116, 104, 97, 116, 32, 115, 104, 111, - 117, 108, 100, 32, 111, 112, 101, 110, 32, 116, 104, 101, 32, 99, 111, 110, 116, 101, 120, 116, 32, 109, 101, - 110, 117, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, - 116, 70, 105, 108, 116, 101, 114, 36, 50, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 33, 101, 118, 101, 110, 116, 46, 99, 116, 114, 108, 75, - 101, 121, 32, 38, 38, 32, 33, 101, 118, 101, 110, 116, 46, 98, 117, 116, 116, 111, 110, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, - 108, 116, 67, 111, 110, 116, 97, 105, 110, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 112, 97, 114, 101, 110, 116, 78, 111, 100, 101, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, - 101, 102, 97, 117, 108, 116, 83, 117, 98, 106, 101, 99, 116, 40, 101, 118, 101, 110, 116, 44, 32, 100, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 32, 61, 61, 32, - 110, 117, 108, 108, 32, 63, 32, 123, 120, 58, 32, 101, 118, 101, 110, 116, 46, 120, 44, 32, 121, 58, 32, - 101, 118, 101, 110, 116, 46, 121, 125, 32, 58, 32, 100, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 84, 111, 117, 99, 104, - 97, 98, 108, 101, 36, 50, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 110, 97, 118, 105, 103, 97, 116, 111, 114, 46, 109, 97, 120, 84, 111, 117, 99, 104, 80, 111, - 105, 110, 116, 115, 32, 124, 124, 32, 40, 34, 111, 110, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, 34, - 32, 105, 110, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 100, 114, 97, 103, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 102, 105, 108, 116, 101, 114, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 70, - 105, 108, 116, 101, 114, 36, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 116, 97, 105, 110, 101, 114, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 67, 111, 110, 116, 97, 105, - 110, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 98, 106, 101, 99, - 116, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 83, 117, 98, 106, 101, 99, 116, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 117, 99, 104, 97, 98, 108, 101, 32, 61, 32, 100, 101, - 102, 97, 117, 108, 116, 84, 111, 117, 99, 104, 97, 98, 108, 101, 36, 50, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 103, 101, 115, 116, 117, 114, 101, 115, 32, 61, 32, 123, 125, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, - 100, 105, 115, 112, 97, 116, 99, 104, 40, 34, 115, 116, 97, 114, 116, 34, 44, 32, 34, 100, 114, 97, 103, - 34, 44, 32, 34, 101, 110, 100, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 99, 116, 105, 118, 101, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 109, 111, 117, 115, 101, 100, 111, 119, 110, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 109, 111, 117, 115, 101, 100, 111, 119, 110, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 109, 111, 117, 115, 101, 109, 111, 118, 105, 110, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 111, 117, 99, 104, 101, 110, 100, 105, 110, 103, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 99, 107, 68, 105, 115, 116, 97, 110, 99, 101, 50, 32, 61, - 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, - 114, 97, 103, 40, 115, 101, 108, 101, 99, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 109, 111, 117, 115, 101, 100, 111, 119, 110, - 46, 100, 114, 97, 103, 34, 44, 32, 109, 111, 117, 115, 101, 100, 111, 119, 110, 101, 100, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 102, 105, 108, 116, 101, 114, 40, 116, - 111, 117, 99, 104, 97, 98, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 111, 110, 40, 34, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, 46, 100, 114, 97, 103, - 34, 44, 32, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, 101, 100, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 116, 111, 117, 99, 104, 109, 111, 118, - 101, 46, 100, 114, 97, 103, 34, 44, 32, 116, 111, 117, 99, 104, 109, 111, 118, 101, 100, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 116, 111, 117, 99, - 104, 101, 110, 100, 46, 100, 114, 97, 103, 32, 116, 111, 117, 99, 104, 99, 97, 110, 99, 101, 108, 46, 100, - 114, 97, 103, 34, 44, 32, 116, 111, 117, 99, 104, 101, 110, 100, 101, 100, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 116, 111, 117, 99, - 104, 45, 97, 99, 116, 105, 111, 110, 34, 44, 32, 34, 110, 111, 110, 101, 34, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 45, 119, 101, - 98, 107, 105, 116, 45, 116, 97, 112, 45, 104, 105, 103, 104, 108, 105, 103, 104, 116, 45, 99, 111, 108, 111, - 114, 34, 44, 32, 34, 114, 103, 98, 97, 40, 48, 44, 48, 44, 48, 44, 48, 41, 34, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 109, 111, 117, 115, 101, 100, 111, 119, 110, 101, 100, 40, 101, 118, 101, 110, 116, 44, 32, - 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 111, - 117, 99, 104, 101, 110, 100, 105, 110, 103, 32, 124, 124, 32, 33, 102, 105, 108, 116, 101, 114, 46, 99, 97, - 108, 108, 40, 116, 104, 105, 115, 44, 32, 101, 118, 101, 110, 116, 44, 32, 100, 41, 41, 32, 114, 101, 116, - 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 101, - 115, 116, 117, 114, 101, 32, 61, 32, 98, 101, 102, 111, 114, 101, 115, 116, 97, 114, 116, 40, 116, 104, 105, - 115, 44, 32, 99, 111, 110, 116, 97, 105, 110, 101, 114, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 44, - 32, 101, 118, 101, 110, 116, 44, 32, 100, 41, 44, 32, 101, 118, 101, 110, 116, 44, 32, 100, 44, 32, 34, - 109, 111, 117, 115, 101, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 33, 103, 101, 115, 116, 117, 114, 101, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 40, 101, 118, 101, 110, 116, 46, 118, - 105, 101, 119, 41, 46, 111, 110, 40, 34, 109, 111, 117, 115, 101, 109, 111, 118, 101, 46, 100, 114, 97, 103, - 34, 44, 32, 109, 111, 117, 115, 101, 109, 111, 118, 101, 100, 44, 32, 116, 114, 117, 101, 41, 46, 111, 110, - 40, 34, 109, 111, 117, 115, 101, 117, 112, 46, 100, 114, 97, 103, 34, 44, 32, 109, 111, 117, 115, 101, 117, - 112, 112, 101, 100, 44, 32, 116, 114, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 114, 97, 103, 68, 105, 115, 97, 98, 108, 101, 40, 101, 118, 101, 110, 116, 46, 118, 105, 101, - 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 112, 114, 111, 112, 97, - 103, 97, 116, 105, 111, 110, 36, 50, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 109, 111, 117, 115, 101, 109, 111, 118, 105, 110, 103, 32, 61, 32, 102, 97, 108, - 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 117, 115, 101, 100, 111, - 119, 110, 120, 32, 61, 32, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 88, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 117, 115, 101, 100, 111, 119, 110, 121, 32, 61, 32, - 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 89, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 103, 101, 115, 116, 117, 114, 101, 40, 34, 115, 116, 97, 114, 116, 34, 44, 32, 101, 118, - 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 111, 117, 115, 101, 109, 111, 118, 101, 100, 40, 101, - 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 101, - 118, 101, 110, 116, 36, 50, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 33, 109, 111, 117, 115, 101, 109, 111, 118, 105, 110, 103, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 120, - 32, 61, 32, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 88, 32, 45, 32, 109, 111, 117, 115, - 101, 100, 111, 119, 110, 120, 44, 32, 100, 121, 32, 61, 32, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, - 110, 116, 89, 32, 45, 32, 109, 111, 117, 115, 101, 100, 111, 119, 110, 121, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 117, 115, 101, 109, 111, 118, 105, 110, 103, 32, - 61, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 32, 62, 32, 99, - 108, 105, 99, 107, 68, 105, 115, 116, 97, 110, 99, 101, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 115, 116, 117, - 114, 101, 115, 46, 109, 111, 117, 115, 101, 40, 34, 100, 114, 97, 103, 34, 44, 32, 101, 118, 101, 110, 116, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 109, 111, 117, 115, 101, 117, 112, 112, 101, 100, 40, 101, 118, 101, 110, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, - 40, 101, 118, 101, 110, 116, 46, 118, 105, 101, 119, 41, 46, 111, 110, 40, 34, 109, 111, 117, 115, 101, 109, - 111, 118, 101, 46, 100, 114, 97, 103, 32, 109, 111, 117, 115, 101, 117, 112, 46, 100, 114, 97, 103, 34, 44, - 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 101, 115, - 100, 114, 97, 103, 40, 101, 118, 101, 110, 116, 46, 118, 105, 101, 119, 44, 32, 109, 111, 117, 115, 101, 109, - 111, 118, 105, 110, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 101, - 118, 101, 110, 116, 36, 50, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 103, 101, 115, 116, 117, 114, 101, 115, 46, 109, 111, 117, 115, 101, 40, 34, 101, 110, 100, - 34, 44, 32, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 111, 117, 99, 104, 115, 116, - 97, 114, 116, 101, 100, 40, 101, 118, 101, 110, 116, 44, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 102, 105, 108, 116, 101, 114, 46, 99, 97, 108, 108, - 40, 116, 104, 105, 115, 44, 32, 101, 118, 101, 110, 116, 44, 32, 100, 41, 41, 32, 114, 101, 116, 117, 114, - 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 111, 117, 99, - 104, 101, 115, 32, 61, 32, 101, 118, 101, 110, 116, 46, 99, 104, 97, 110, 103, 101, 100, 84, 111, 117, 99, - 104, 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, - 61, 32, 99, 111, 110, 116, 97, 105, 110, 101, 114, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 44, 32, - 101, 118, 101, 110, 116, 44, 32, 100, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 110, 32, 61, 32, 116, 111, 117, 99, 104, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, - 32, 105, 44, 32, 103, 101, 115, 116, 117, 114, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, - 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 103, 101, 115, 116, 117, 114, 101, 32, 61, 32, 98, 101, 102, 111, 114, 101, 115, 116, 97, 114, - 116, 40, 116, 104, 105, 115, 44, 32, 99, 44, 32, 101, 118, 101, 110, 116, 44, 32, 100, 44, 32, 116, 111, - 117, 99, 104, 101, 115, 91, 105, 93, 46, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 44, 32, 116, 111, - 117, 99, 104, 101, 115, 91, 105, 93, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 112, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, - 36, 50, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 115, 116, 117, 114, 101, 40, 34, 115, 116, 97, 114, 116, 34, - 44, 32, 101, 118, 101, 110, 116, 44, 32, 116, 111, 117, 99, 104, 101, 115, 91, 105, 93, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 111, 117, 99, 104, 109, 111, 118, 101, 100, - 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 116, 111, 117, 99, 104, 101, 115, 32, 61, 32, 101, 118, 101, 110, 116, 46, 99, 104, 97, 110, - 103, 101, 100, 84, 111, 117, 99, 104, 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 32, 61, 32, 116, 111, 117, 99, 104, 101, 115, 46, 108, 101, 110, 103, 116, 104, - 44, 32, 105, 44, 32, 103, 101, 115, 116, 117, 114, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, - 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 103, 101, 115, 116, 117, 114, 101, 32, 61, 32, 103, 101, 115, 116, 117, 114, 101, 115, 91, - 116, 111, 117, 99, 104, 101, 115, 91, 105, 93, 46, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 93, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 110, 111, 101, 118, 101, 110, 116, 36, 50, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 115, 116, 117, 114, 101, 40, - 34, 100, 114, 97, 103, 34, 44, 32, 101, 118, 101, 110, 116, 44, 32, 116, 111, 117, 99, 104, 101, 115, 91, - 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 111, 117, 99, - 104, 101, 110, 100, 101, 100, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 111, 117, 99, 104, 101, 115, 32, 61, 32, 101, 118, 101, 110, - 116, 46, 99, 104, 97, 110, 103, 101, 100, 84, 111, 117, 99, 104, 101, 115, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 116, 111, 117, 99, 104, 101, 115, 46, - 108, 101, 110, 103, 116, 104, 44, 32, 105, 44, 32, 103, 101, 115, 116, 117, 114, 101, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 111, 117, 99, 104, 101, 110, 100, 105, - 110, 103, 41, 32, 99, 108, 101, 97, 114, 84, 105, 109, 101, 111, 117, 116, 40, 116, 111, 117, 99, 104, 101, - 110, 100, 105, 110, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 117, - 99, 104, 101, 110, 100, 105, 110, 103, 32, 61, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 116, 111, 117, 99, 104, 101, 110, 100, 105, 110, 103, - 32, 61, 32, 110, 117, 108, 108, 59, 32, 125, 44, 32, 53, 48, 48, 41, 59, 32, 47, 47, 32, 71, 104, - 111, 115, 116, 32, 99, 108, 105, 99, 107, 115, 32, 97, 114, 101, 32, 100, 101, 108, 97, 121, 101, 100, 33, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, - 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 101, 115, 116, 117, 114, 101, 32, 61, 32, - 103, 101, 115, 116, 117, 114, 101, 115, 91, 116, 111, 117, 99, 104, 101, 115, 91, 105, 93, 46, 105, 100, 101, - 110, 116, 105, 102, 105, 101, 114, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 112, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, 36, - 50, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 103, 101, 115, 116, 117, 114, 101, 40, 34, 101, 110, 100, 34, 44, 32, 101, - 118, 101, 110, 116, 44, 32, 116, 111, 117, 99, 104, 101, 115, 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 101, 102, 111, 114, 101, 115, 116, 97, 114, 116, 40, 116, - 104, 97, 116, 44, 32, 99, 111, 110, 116, 97, 105, 110, 101, 114, 44, 32, 101, 118, 101, 110, 116, 44, 32, - 100, 44, 32, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 44, 32, 116, 111, 117, 99, 104, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 105, 115, 112, 97, 116, - 99, 104, 32, 61, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 99, 111, 112, 121, 40, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, 112, 111, 105, - 110, 116, 101, 114, 40, 116, 111, 117, 99, 104, 32, 124, 124, 32, 101, 118, 101, 110, 116, 44, 32, 99, 111, - 110, 116, 97, 105, 110, 101, 114, 41, 44, 32, 100, 120, 44, 32, 100, 121, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 40, 115, 32, 61, 32, 115, 117, 98, 106, 101, 99, 116, 46, 99, 97, - 108, 108, 40, 116, 104, 97, 116, 44, 32, 110, 101, 119, 32, 68, 114, 97, 103, 69, 118, 101, 110, 116, 40, - 34, 98, 101, 102, 111, 114, 101, 115, 116, 97, 114, 116, 34, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 58, 32, - 101, 118, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 97, 114, 103, 101, 116, 58, 32, 100, 114, 97, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 58, 32, 112, 91, 48, 93, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 58, 32, 112, 91, 49, 93, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 58, 32, 48, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 58, 32, 48, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 115, 112, 97, 116, - 99, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 44, 32, 100, 41, 41, 32, - 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, 32, 115, 46, 120, 32, 45, 32, 112, 91, 48, 93, 32, - 124, 124, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, - 115, 46, 121, 32, 45, 32, 112, 91, 49, 93, 32, 124, 124, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 103, 101, 115, 116, 117, 114, 101, 40, 116, 121, 112, 101, 44, 32, 101, 118, 101, 110, 116, 44, 32, 116, 111, - 117, 99, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 112, 48, 32, 61, 32, 112, 44, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 121, 112, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, - 115, 101, 32, 34, 115, 116, 97, 114, 116, 34, 58, 32, 103, 101, 115, 116, 117, 114, 101, 115, 91, 105, 100, - 101, 110, 116, 105, 102, 105, 101, 114, 93, 32, 61, 32, 103, 101, 115, 116, 117, 114, 101, 44, 32, 110, 32, - 61, 32, 97, 99, 116, 105, 118, 101, 43, 43, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 101, - 110, 100, 34, 58, 32, 100, 101, 108, 101, 116, 101, 32, 103, 101, 115, 116, 117, 114, 101, 115, 91, 105, 100, - 101, 110, 116, 105, 102, 105, 101, 114, 93, 44, 32, 45, 45, 97, 99, 116, 105, 118, 101, 59, 32, 47, 47, - 32, 110, 111, 98, 114, 101, 97, 107, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 100, 114, 97, 103, 34, 58, 32, 112, 32, 61, 32, - 112, 111, 105, 110, 116, 101, 114, 40, 116, 111, 117, 99, 104, 32, 124, 124, 32, 101, 118, 101, 110, 116, 44, - 32, 99, 111, 110, 116, 97, 105, 110, 101, 114, 41, 44, 32, 110, 32, 61, 32, 97, 99, 116, 105, 118, 101, - 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 115, - 112, 97, 116, 99, 104, 46, 99, 97, 108, 108, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 97, 116, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 101, 119, 32, 68, 114, 97, 103, - 69, 118, 101, 110, 116, 40, 116, 121, 112, 101, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 117, 114, 99, 101, 69, 118, - 101, 110, 116, 58, 32, 101, 118, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 98, 106, 101, 99, 116, 58, 32, 115, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 97, 114, 103, 101, 116, 58, 32, 100, 114, 97, 103, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 101, 110, 116, - 105, 102, 105, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 58, 32, 110, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 58, 32, - 112, 91, 48, 93, 32, 43, 32, 100, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 58, 32, 112, 91, 49, 93, 32, 43, 32, 100, - 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 120, 58, 32, 112, 91, 48, 93, 32, 45, 32, 112, 48, 91, 48, 93, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 121, 58, 32, 112, 91, 49, 93, 32, 45, 32, 112, 48, 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 115, 112, - 97, 116, 99, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 114, 97, 103, 46, 102, 105, 108, 116, 101, 114, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 102, 105, 108, 116, 101, 114, 32, 61, 32, 116, 121, 112, 101, - 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, - 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 57, 40, 33, 33, 95, 41, 44, 32, 100, 114, 97, - 103, 41, 32, 58, 32, 102, 105, 108, 116, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 114, 97, 103, 46, 99, 111, 110, 116, 97, 105, 110, 101, - 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 99, 111, 110, 116, 97, 105, 110, 101, 114, 32, 61, 32, - 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, - 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 57, 40, 95, 41, 44, 32, 100, - 114, 97, 103, 41, 32, 58, 32, 99, 111, 110, 116, 97, 105, 110, 101, 114, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 114, 97, 103, 46, 115, 117, 98, - 106, 101, 99, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 117, 98, 106, 101, 99, 116, 32, 61, - 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, - 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 57, 40, 95, 41, 44, 32, - 100, 114, 97, 103, 41, 32, 58, 32, 115, 117, 98, 106, 101, 99, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 114, 97, 103, 46, 116, 111, 117, 99, - 104, 97, 98, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 111, 117, 99, 104, 97, 98, 108, - 101, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, - 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 57, 40, 33, - 33, 95, 41, 44, 32, 100, 114, 97, 103, 41, 32, 58, 32, 116, 111, 117, 99, 104, 97, 98, 108, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 114, - 97, 103, 46, 111, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 97, 108, 117, 101, 32, 61, 32, 108, - 105, 115, 116, 101, 110, 101, 114, 115, 46, 111, 110, 46, 97, 112, 112, 108, 121, 40, 108, 105, 115, 116, 101, - 110, 101, 114, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 32, 61, 61, 61, - 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 63, 32, 100, 114, 97, 103, 32, 58, 32, 118, 97, 108, - 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 114, 97, 103, 46, 99, 108, 105, 99, 107, 68, 105, 115, 116, 97, 110, 99, 101, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 99, 108, 105, 99, 107, 68, 105, 115, 116, 97, 110, 99, 101, 50, 32, 61, 32, - 40, 95, 32, 61, 32, 43, 95, 41, 32, 42, 32, 95, 44, 32, 100, 114, 97, 103, 41, 32, 58, 32, 77, - 97, 116, 104, 46, 115, 113, 114, 116, 40, 99, 108, 105, 99, 107, 68, 105, 115, 116, 97, 110, 99, 101, 50, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 100, 114, 97, 103, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 105, 110, 101, 40, 99, 111, 110, 115, 116, 114, - 117, 99, 116, 111, 114, 44, 32, 102, 97, 99, 116, 111, 114, 121, 44, 32, 112, 114, 111, 116, 111, 116, 121, - 112, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, - 111, 114, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 102, 97, 99, 116, 111, 114, 121, 46, - 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 112, 114, 111, 116, 111, 116, 121, 112, 101, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 99, 111, 110, 115, 116, - 114, 117, 99, 116, 111, 114, 32, 61, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 120, 116, 101, - 110, 100, 40, 112, 97, 114, 101, 110, 116, 44, 32, 100, 101, 102, 105, 110, 105, 116, 105, 111, 110, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 114, 111, 116, 111, 116, 121, 112, 101, - 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 99, 114, 101, 97, 116, 101, 40, 112, 97, 114, 101, 110, 116, - 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 118, 97, 114, 32, 107, 101, 121, 32, 105, 110, 32, 100, 101, 102, 105, 110, 105, 116, 105, 111, - 110, 41, 32, 112, 114, 111, 116, 111, 116, 121, 112, 101, 91, 107, 101, 121, 93, 32, 61, 32, 100, 101, 102, - 105, 110, 105, 116, 105, 111, 110, 91, 107, 101, 121, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 112, 114, 111, 116, 111, 116, 121, 112, 101, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 67, 111, 108, 111, 114, 40, 41, 32, 123, - 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, 114, 107, 101, 114, 32, 61, 32, 48, 46, 55, - 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 98, 114, 105, 103, 104, 116, 101, 114, 32, 61, 32, 49, 32, - 47, 32, 100, 97, 114, 107, 101, 114, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 114, 101, 73, 32, - 61, 32, 34, 92, 92, 115, 42, 40, 91, 43, 45, 93, 63, 92, 92, 100, 43, 41, 92, 92, 115, 42, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 78, 32, 61, 32, 34, 92, 92, 115, 42, 40, 91, - 43, 45, 93, 63, 92, 92, 100, 42, 92, 92, 46, 63, 92, 92, 100, 43, 40, 63, 58, 91, 101, 69, 93, - 91, 43, 45, 93, 63, 92, 92, 100, 43, 41, 63, 41, 92, 92, 115, 42, 34, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 80, 32, 61, 32, 34, 92, 92, 115, 42, 40, 91, 43, 45, 93, 63, 92, 92, - 100, 42, 92, 92, 46, 63, 92, 92, 100, 43, 40, 63, 58, 91, 101, 69, 93, 91, 43, 45, 93, 63, 92, - 92, 100, 43, 41, 63, 41, 37, 92, 92, 115, 42, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 72, 101, 120, 32, 61, 32, 47, 94, 35, 40, 91, 48, 45, 57, 97, 45, 102, 93, 123, 51, 44, 56, - 125, 41, 36, 47, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 82, 103, 98, 73, 110, 116, 101, - 103, 101, 114, 32, 61, 32, 110, 101, 119, 32, 82, 101, 103, 69, 120, 112, 40, 34, 94, 114, 103, 98, 92, - 92, 40, 34, 32, 43, 32, 91, 114, 101, 73, 44, 32, 114, 101, 73, 44, 32, 114, 101, 73, 93, 32, 43, - 32, 34, 92, 92, 41, 36, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 82, 103, 98, - 80, 101, 114, 99, 101, 110, 116, 32, 61, 32, 110, 101, 119, 32, 82, 101, 103, 69, 120, 112, 40, 34, 94, - 114, 103, 98, 92, 92, 40, 34, 32, 43, 32, 91, 114, 101, 80, 44, 32, 114, 101, 80, 44, 32, 114, 101, - 80, 93, 32, 43, 32, 34, 92, 92, 41, 36, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 82, 103, 98, 97, 73, 110, 116, 101, 103, 101, 114, 32, 61, 32, 110, 101, 119, 32, 82, 101, 103, 69, - 120, 112, 40, 34, 94, 114, 103, 98, 97, 92, 92, 40, 34, 32, 43, 32, 91, 114, 101, 73, 44, 32, 114, - 101, 73, 44, 32, 114, 101, 73, 44, 32, 114, 101, 78, 93, 32, 43, 32, 34, 92, 92, 41, 36, 34, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 82, 103, 98, 97, 80, 101, 114, 99, 101, 110, 116, - 32, 61, 32, 110, 101, 119, 32, 82, 101, 103, 69, 120, 112, 40, 34, 94, 114, 103, 98, 97, 92, 92, 40, - 34, 32, 43, 32, 91, 114, 101, 80, 44, 32, 114, 101, 80, 44, 32, 114, 101, 80, 44, 32, 114, 101, 78, - 93, 32, 43, 32, 34, 92, 92, 41, 36, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 72, 115, 108, 80, 101, 114, 99, 101, 110, 116, 32, 61, 32, 110, 101, 119, 32, 82, 101, 103, 69, 120, 112, - 40, 34, 94, 104, 115, 108, 92, 92, 40, 34, 32, 43, 32, 91, 114, 101, 78, 44, 32, 114, 101, 80, 44, - 32, 114, 101, 80, 93, 32, 43, 32, 34, 92, 92, 41, 36, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 72, 115, 108, 97, 80, 101, 114, 99, 101, 110, 116, 32, 61, 32, 110, 101, 119, 32, 82, - 101, 103, 69, 120, 112, 40, 34, 94, 104, 115, 108, 97, 92, 92, 40, 34, 32, 43, 32, 91, 114, 101, 78, - 44, 32, 114, 101, 80, 44, 32, 114, 101, 80, 44, 32, 114, 101, 78, 93, 32, 43, 32, 34, 92, 92, 41, - 36, 34, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 110, 97, 109, 101, 100, 32, 61, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 105, 99, 101, 98, 108, 117, 101, 58, 32, 48, 120, 102, - 48, 102, 56, 102, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 110, 116, 105, 113, 117, 101, 119, - 104, 105, 116, 101, 58, 32, 48, 120, 102, 97, 101, 98, 100, 55, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 97, 113, 117, 97, 58, 32, 48, 120, 48, 48, 102, 102, 102, 102, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 97, 113, 117, 97, 109, 97, 114, 105, 110, 101, 58, 32, 48, 120, 55, 102, 102, 102, 100, 52, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 122, 117, 114, 101, 58, 32, 48, 120, 102, 48, 102, 102, 102, - 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 101, 105, 103, 101, 58, 32, 48, 120, 102, 53, 102, - 53, 100, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 105, 115, 113, 117, 101, 58, 32, 48, 120, - 102, 102, 101, 52, 99, 52, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 108, 97, 99, 107, 58, 32, - 48, 120, 48, 48, 48, 48, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 108, 97, 110, 99, - 104, 101, 100, 97, 108, 109, 111, 110, 100, 58, 32, 48, 120, 102, 102, 101, 98, 99, 100, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 98, 108, 117, 101, 58, 32, 48, 120, 48, 48, 48, 48, 102, 102, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 98, 108, 117, 101, 118, 105, 111, 108, 101, 116, 58, 32, 48, 120, 56, 97, - 50, 98, 101, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 111, 119, 110, 58, 32, 48, 120, - 97, 53, 50, 97, 50, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 117, 114, 108, 121, 119, 111, - 111, 100, 58, 32, 48, 120, 100, 101, 98, 56, 56, 55, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 97, 100, 101, 116, 98, 108, 117, 101, 58, 32, 48, 120, 53, 102, 57, 101, 97, 48, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 104, 97, 114, 116, 114, 101, 117, 115, 101, 58, 32, 48, 120, 55, 102, 102, 102, - 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 111, 99, 111, 108, 97, 116, 101, 58, 32, - 48, 120, 100, 50, 54, 57, 49, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 114, 97, 108, - 58, 32, 48, 120, 102, 102, 55, 102, 53, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 114, - 110, 102, 108, 111, 119, 101, 114, 98, 108, 117, 101, 58, 32, 48, 120, 54, 52, 57, 53, 101, 100, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 114, 110, 115, 105, 108, 107, 58, 32, 48, 120, 102, 102, 102, - 56, 100, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 114, 105, 109, 115, 111, 110, 58, 32, 48, - 120, 100, 99, 49, 52, 51, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 121, 97, 110, 58, 32, - 48, 120, 48, 48, 102, 102, 102, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 98, - 108, 117, 101, 58, 32, 48, 120, 48, 48, 48, 48, 56, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 97, 114, 107, 99, 121, 97, 110, 58, 32, 48, 120, 48, 48, 56, 98, 56, 98, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 97, 114, 107, 103, 111, 108, 100, 101, 110, 114, 111, 100, 58, 32, 48, 120, 98, - 56, 56, 54, 48, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 103, 114, 97, 121, - 58, 32, 48, 120, 97, 57, 97, 57, 97, 57, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, - 107, 103, 114, 101, 101, 110, 58, 32, 48, 120, 48, 48, 54, 52, 48, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 97, 114, 107, 103, 114, 101, 121, 58, 32, 48, 120, 97, 57, 97, 57, 97, 57, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 107, 104, 97, 107, 105, 58, 32, 48, 120, 98, 100, - 98, 55, 54, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 109, 97, 103, 101, 110, - 116, 97, 58, 32, 48, 120, 56, 98, 48, 48, 56, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 97, 114, 107, 111, 108, 105, 118, 101, 103, 114, 101, 101, 110, 58, 32, 48, 120, 53, 53, 54, 98, 50, 102, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 111, 114, 97, 110, 103, 101, 58, 32, 48, - 120, 102, 102, 56, 99, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 111, 114, - 99, 104, 105, 100, 58, 32, 48, 120, 57, 57, 51, 50, 99, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 97, 114, 107, 114, 101, 100, 58, 32, 48, 120, 56, 98, 48, 48, 48, 48, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 97, 114, 107, 115, 97, 108, 109, 111, 110, 58, 32, 48, 120, 101, 57, 57, 54, - 55, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 115, 101, 97, 103, 114, 101, 101, - 110, 58, 32, 48, 120, 56, 102, 98, 99, 56, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, - 114, 107, 115, 108, 97, 116, 101, 98, 108, 117, 101, 58, 32, 48, 120, 52, 56, 51, 100, 56, 98, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 115, 108, 97, 116, 101, 103, 114, 97, 121, 58, 32, - 48, 120, 50, 102, 52, 102, 52, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 115, - 108, 97, 116, 101, 103, 114, 101, 121, 58, 32, 48, 120, 50, 102, 52, 102, 52, 102, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 97, 114, 107, 116, 117, 114, 113, 117, 111, 105, 115, 101, 58, 32, 48, 120, 48, - 48, 99, 101, 100, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 118, 105, 111, 108, - 101, 116, 58, 32, 48, 120, 57, 52, 48, 48, 100, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 101, 101, 112, 112, 105, 110, 107, 58, 32, 48, 120, 102, 102, 49, 52, 57, 51, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 101, 101, 112, 115, 107, 121, 98, 108, 117, 101, 58, 32, 48, 120, 48, 48, 98, 102, - 102, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 109, 103, 114, 97, 121, 58, 32, 48, 120, - 54, 57, 54, 57, 54, 57, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 109, 103, 114, 101, 121, - 58, 32, 48, 120, 54, 57, 54, 57, 54, 57, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 100, - 103, 101, 114, 98, 108, 117, 101, 58, 32, 48, 120, 49, 101, 57, 48, 102, 102, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 105, 114, 101, 98, 114, 105, 99, 107, 58, 32, 48, 120, 98, 50, 50, 50, 50, 50, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 108, 111, 114, 97, 108, 119, 104, 105, 116, 101, 58, 32, - 48, 120, 102, 102, 102, 97, 102, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 101, 115, - 116, 103, 114, 101, 101, 110, 58, 32, 48, 120, 50, 50, 56, 98, 50, 50, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 99, 104, 115, 105, 97, 58, 32, 48, 120, 102, 102, 48, 48, 102, 102, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 103, 97, 105, 110, 115, 98, 111, 114, 111, 58, 32, 48, 120, 100, 99, 100, - 99, 100, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 104, 111, 115, 116, 119, 104, 105, 116, 101, - 58, 32, 48, 120, 102, 56, 102, 56, 102, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 111, 108, - 100, 58, 32, 48, 120, 102, 102, 100, 55, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 111, - 108, 100, 101, 110, 114, 111, 100, 58, 32, 48, 120, 100, 97, 97, 53, 50, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 103, 114, 97, 121, 58, 32, 48, 120, 56, 48, 56, 48, 56, 48, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 103, 114, 101, 101, 110, 58, 32, 48, 120, 48, 48, 56, 48, 48, 48, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 103, 114, 101, 101, 110, 121, 101, 108, 108, 111, 119, 58, 32, 48, 120, 97, - 100, 102, 102, 50, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 101, 121, 58, 32, 48, 120, - 56, 48, 56, 48, 56, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 111, 110, 101, 121, 100, 101, - 119, 58, 32, 48, 120, 102, 48, 102, 102, 102, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 111, - 116, 112, 105, 110, 107, 58, 32, 48, 120, 102, 102, 54, 57, 98, 52, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 110, 100, 105, 97, 110, 114, 101, 100, 58, 32, 48, 120, 99, 100, 53, 99, 53, 99, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 100, 105, 103, 111, 58, 32, 48, 120, 52, 98, 48, 48, 56, - 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 118, 111, 114, 121, 58, 32, 48, 120, 102, 102, 102, - 102, 102, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 104, 97, 107, 105, 58, 32, 48, 120, 102, - 48, 101, 54, 56, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 118, 101, 110, 100, 101, 114, - 58, 32, 48, 120, 101, 54, 101, 54, 102, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 118, - 101, 110, 100, 101, 114, 98, 108, 117, 115, 104, 58, 32, 48, 120, 102, 102, 102, 48, 102, 53, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 97, 119, 110, 103, 114, 101, 101, 110, 58, 32, 48, 120, 55, 99, 102, - 99, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 109, 111, 110, 99, 104, 105, 102, 102, - 111, 110, 58, 32, 48, 120, 102, 102, 102, 97, 99, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, - 105, 103, 104, 116, 98, 108, 117, 101, 58, 32, 48, 120, 97, 100, 100, 56, 101, 54, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, 99, 111, 114, 97, 108, 58, 32, 48, 120, 102, 48, 56, 48, - 56, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, 99, 121, 97, 110, 58, 32, - 48, 120, 101, 48, 102, 102, 102, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, - 103, 111, 108, 100, 101, 110, 114, 111, 100, 121, 101, 108, 108, 111, 119, 58, 32, 48, 120, 102, 97, 102, 97, - 100, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, 103, 114, 97, 121, 58, 32, - 48, 120, 100, 51, 100, 51, 100, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, - 103, 114, 101, 101, 110, 58, 32, 48, 120, 57, 48, 101, 101, 57, 48, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 105, 103, 104, 116, 103, 114, 101, 121, 58, 32, 48, 120, 100, 51, 100, 51, 100, 51, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, 112, 105, 110, 107, 58, 32, 48, 120, 102, 102, - 98, 54, 99, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, 115, 97, 108, 109, - 111, 110, 58, 32, 48, 120, 102, 102, 97, 48, 55, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, - 105, 103, 104, 116, 115, 101, 97, 103, 114, 101, 101, 110, 58, 32, 48, 120, 50, 48, 98, 50, 97, 97, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, 115, 107, 121, 98, 108, 117, 101, 58, 32, - 48, 120, 56, 55, 99, 101, 102, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, - 115, 108, 97, 116, 101, 103, 114, 97, 121, 58, 32, 48, 120, 55, 55, 56, 56, 57, 57, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, 115, 108, 97, 116, 101, 103, 114, 101, 121, 58, 32, 48, - 120, 55, 55, 56, 56, 57, 57, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, 115, - 116, 101, 101, 108, 98, 108, 117, 101, 58, 32, 48, 120, 98, 48, 99, 52, 100, 101, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 103, 104, 116, 121, 101, 108, 108, 111, 119, 58, 32, 48, 120, 102, 102, 102, - 102, 101, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 109, 101, 58, 32, 48, 120, 48, 48, - 102, 102, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 109, 101, 103, 114, 101, 101, 110, - 58, 32, 48, 120, 51, 50, 99, 100, 51, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, - 101, 110, 58, 32, 48, 120, 102, 97, 102, 48, 101, 54, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, - 97, 103, 101, 110, 116, 97, 58, 32, 48, 120, 102, 102, 48, 48, 102, 102, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 109, 97, 114, 111, 111, 110, 58, 32, 48, 120, 56, 48, 48, 48, 48, 48, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 109, 101, 100, 105, 117, 109, 97, 113, 117, 97, 109, 97, 114, 105, 110, 101, 58, - 32, 48, 120, 54, 54, 99, 100, 97, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 100, 105, - 117, 109, 98, 108, 117, 101, 58, 32, 48, 120, 48, 48, 48, 48, 99, 100, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 109, 101, 100, 105, 117, 109, 111, 114, 99, 104, 105, 100, 58, 32, 48, 120, 98, 97, 53, 53, - 100, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 100, 105, 117, 109, 112, 117, 114, 112, 108, - 101, 58, 32, 48, 120, 57, 51, 55, 48, 100, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, - 100, 105, 117, 109, 115, 101, 97, 103, 114, 101, 101, 110, 58, 32, 48, 120, 51, 99, 98, 51, 55, 49, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 100, 105, 117, 109, 115, 108, 97, 116, 101, 98, 108, 117, - 101, 58, 32, 48, 120, 55, 98, 54, 56, 101, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, - 100, 105, 117, 109, 115, 112, 114, 105, 110, 103, 103, 114, 101, 101, 110, 58, 32, 48, 120, 48, 48, 102, 97, - 57, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 100, 105, 117, 109, 116, 117, 114, 113, 117, - 111, 105, 115, 101, 58, 32, 48, 120, 52, 56, 100, 49, 99, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 109, 101, 100, 105, 117, 109, 118, 105, 111, 108, 101, 116, 114, 101, 100, 58, 32, 48, 120, 99, 55, 49, - 53, 56, 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 100, 110, 105, 103, 104, 116, 98, 108, - 117, 101, 58, 32, 48, 120, 49, 57, 49, 57, 55, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, - 105, 110, 116, 99, 114, 101, 97, 109, 58, 32, 48, 120, 102, 53, 102, 102, 102, 97, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 109, 105, 115, 116, 121, 114, 111, 115, 101, 58, 32, 48, 120, 102, 102, 101, 52, 101, - 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 99, 99, 97, 115, 105, 110, 58, 32, 48, 120, - 102, 102, 101, 52, 98, 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 118, 97, 106, 111, 119, - 104, 105, 116, 101, 58, 32, 48, 120, 102, 102, 100, 101, 97, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 97, 118, 121, 58, 32, 48, 120, 48, 48, 48, 48, 56, 48, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 111, 108, 100, 108, 97, 99, 101, 58, 32, 48, 120, 102, 100, 102, 53, 101, 54, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 111, 108, 105, 118, 101, 58, 32, 48, 120, 56, 48, 56, 48, 48, 48, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 111, 108, 105, 118, 101, 100, 114, 97, 98, 58, 32, 48, 120, 54, 98, - 56, 101, 50, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 114, 97, 110, 103, 101, 58, 32, 48, - 120, 102, 102, 97, 53, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 114, 97, 110, 103, 101, - 114, 101, 100, 58, 32, 48, 120, 102, 102, 52, 53, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 111, 114, 99, 104, 105, 100, 58, 32, 48, 120, 100, 97, 55, 48, 100, 54, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 112, 97, 108, 101, 103, 111, 108, 100, 101, 110, 114, 111, 100, 58, 32, 48, 120, 101, 101, 101, - 56, 97, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 108, 101, 103, 114, 101, 101, 110, 58, - 32, 48, 120, 57, 56, 102, 98, 57, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 108, 101, - 116, 117, 114, 113, 117, 111, 105, 115, 101, 58, 32, 48, 120, 97, 102, 101, 101, 101, 101, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 97, 108, 101, 118, 105, 111, 108, 101, 116, 114, 101, 100, 58, 32, 48, 120, - 100, 98, 55, 48, 57, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 112, 97, 121, 97, 119, - 104, 105, 112, 58, 32, 48, 120, 102, 102, 101, 102, 100, 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 101, 97, 99, 104, 112, 117, 102, 102, 58, 32, 48, 120, 102, 102, 100, 97, 98, 57, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 101, 114, 117, 58, 32, 48, 120, 99, 100, 56, 53, 51, 102, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 105, 110, 107, 58, 32, 48, 120, 102, 102, 99, 48, 99, 98, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 108, 117, 109, 58, 32, 48, 120, 100, 100, 97, 48, 100, 100, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 119, 100, 101, 114, 98, 108, 117, 101, 58, 32, 48, 120, - 98, 48, 101, 48, 101, 54, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 117, 114, 112, 108, 101, 58, - 32, 48, 120, 56, 48, 48, 48, 56, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 98, 101, - 99, 99, 97, 112, 117, 114, 112, 108, 101, 58, 32, 48, 120, 54, 54, 51, 51, 57, 57, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 100, 58, 32, 48, 120, 102, 102, 48, 48, 48, 48, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 111, 115, 121, 98, 114, 111, 119, 110, 58, 32, 48, 120, 98, 99, 56, 102, - 56, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 121, 97, 108, 98, 108, 117, 101, 58, 32, - 48, 120, 52, 49, 54, 57, 101, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 97, 100, 100, 108, - 101, 98, 114, 111, 119, 110, 58, 32, 48, 120, 56, 98, 52, 53, 49, 51, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 97, 108, 109, 111, 110, 58, 32, 48, 120, 102, 97, 56, 48, 55, 50, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 97, 110, 100, 121, 98, 114, 111, 119, 110, 58, 32, 48, 120, 102, 52, 97, - 52, 54, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 97, 103, 114, 101, 101, 110, 58, 32, - 48, 120, 50, 101, 56, 98, 53, 55, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 97, 115, 104, - 101, 108, 108, 58, 32, 48, 120, 102, 102, 102, 53, 101, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 105, 101, 110, 110, 97, 58, 32, 48, 120, 97, 48, 53, 50, 50, 100, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 105, 108, 118, 101, 114, 58, 32, 48, 120, 99, 48, 99, 48, 99, 48, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 107, 121, 98, 108, 117, 101, 58, 32, 48, 120, 56, 55, 99, 101, 101, 98, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 108, 97, 116, 101, 98, 108, 117, 101, 58, 32, 48, 120, - 54, 97, 53, 97, 99, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 108, 97, 116, 101, 103, 114, - 97, 121, 58, 32, 48, 120, 55, 48, 56, 48, 57, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 108, 97, 116, 101, 103, 114, 101, 121, 58, 32, 48, 120, 55, 48, 56, 48, 57, 48, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 110, 111, 119, 58, 32, 48, 120, 102, 102, 102, 97, 102, 97, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 112, 114, 105, 110, 103, 103, 114, 101, 101, 110, 58, 32, 48, 120, 48, 48, - 102, 102, 55, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 101, 101, 108, 98, 108, 117, 101, - 58, 32, 48, 120, 52, 54, 56, 50, 98, 52, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 110, - 58, 32, 48, 120, 100, 50, 98, 52, 56, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 101, 97, - 108, 58, 32, 48, 120, 48, 48, 56, 48, 56, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 116, 108, 101, 58, 32, 48, 120, 100, 56, 98, 102, 100, 56, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 111, 109, 97, 116, 111, 58, 32, 48, 120, 102, 102, 54, 51, 52, 55, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 117, 114, 113, 117, 111, 105, 115, 101, 58, 32, 48, 120, 52, 48, 101, 48, 100, - 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 105, 111, 108, 101, 116, 58, 32, 48, 120, 101, 101, - 56, 50, 101, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 101, 97, 116, 58, 32, 48, 120, - 102, 53, 100, 101, 98, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 116, 101, 58, 32, - 48, 120, 102, 102, 102, 102, 102, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 116, 101, - 115, 109, 111, 107, 101, 58, 32, 48, 120, 102, 53, 102, 53, 102, 53, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 121, 101, 108, 108, 111, 119, 58, 32, 48, 120, 102, 102, 102, 102, 48, 48, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 121, 101, 108, 108, 111, 119, 103, 114, 101, 101, 110, 58, 32, 48, 120, 57, 97, 99, - 100, 51, 50, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, 40, - 67, 111, 108, 111, 114, 44, 32, 99, 111, 108, 111, 114, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 112, 121, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 104, 97, 110, 110, 101, 108, - 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 79, 98, 106, 101, 99, 116, 46, 97, 115, 115, 105, 103, 110, 40, 110, 101, 119, 32, 116, 104, 105, 115, - 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 44, 32, 116, 104, 105, 115, 44, 32, 99, 104, 97, - 110, 110, 101, 108, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 105, 115, 112, 108, 97, 121, 97, 98, 108, 101, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 104, 105, 115, 46, 114, 103, 98, 40, 41, 46, 100, 105, 115, 112, 108, 97, 121, 97, 98, - 108, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 104, 101, 120, 58, 32, 99, 111, 108, 111, 114, 95, 102, 111, 114, 109, 97, 116, 72, 101, 120, 44, - 32, 47, 47, 32, 68, 101, 112, 114, 101, 99, 97, 116, 101, 100, 33, 32, 85, 115, 101, 32, 99, 111, 108, - 111, 114, 46, 102, 111, 114, 109, 97, 116, 72, 101, 120, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 109, 97, 116, 72, 101, 120, 58, 32, 99, 111, 108, 111, 114, 95, 102, 111, 114, 109, 97, 116, 72, - 101, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 72, 115, 108, 58, 32, - 99, 111, 108, 111, 114, 95, 102, 111, 114, 109, 97, 116, 72, 115, 108, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 109, 97, 116, 82, 103, 98, 58, 32, 99, 111, 108, 111, 114, 95, 102, 111, 114, 109, - 97, 116, 82, 103, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 83, 116, 114, 105, 110, 103, - 58, 32, 99, 111, 108, 111, 114, 95, 102, 111, 114, 109, 97, 116, 82, 103, 98, 10, 32, 32, 32, 32, 125, - 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 108, 111, 114, 95, - 102, 111, 114, 109, 97, 116, 72, 101, 120, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 114, 103, 98, 40, 41, 46, 102, 111, 114, 109, 97, 116, - 72, 101, 120, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 99, 111, 108, 111, 114, 95, 102, 111, 114, 109, 97, 116, 72, 115, 108, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 104, 115, 108, 67, 111, 110, 118, - 101, 114, 116, 40, 116, 104, 105, 115, 41, 46, 102, 111, 114, 109, 97, 116, 72, 115, 108, 40, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 108, - 111, 114, 95, 102, 111, 114, 109, 97, 116, 82, 103, 98, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 114, 103, 98, 40, 41, 46, 102, 111, 114, - 109, 97, 116, 82, 103, 98, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 99, 111, 108, 111, 114, 40, 102, 111, 114, 109, 97, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 44, 32, 108, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 109, 97, 116, 32, 61, 32, 40, 102, 111, 114, 109, 97, 116, 32, 43, 32, 34, - 34, 41, 46, 116, 114, 105, 109, 40, 41, 46, 116, 111, 76, 111, 119, 101, 114, 67, 97, 115, 101, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 109, 32, 61, 32, 114, - 101, 72, 101, 120, 46, 101, 120, 101, 99, 40, 102, 111, 114, 109, 97, 116, 41, 41, 32, 63, 32, 40, 108, - 32, 61, 32, 109, 91, 49, 93, 46, 108, 101, 110, 103, 116, 104, 44, 32, 109, 32, 61, 32, 112, 97, 114, - 115, 101, 73, 110, 116, 40, 109, 91, 49, 93, 44, 32, 49, 54, 41, 44, 32, 108, 32, 61, 61, 61, 32, - 54, 32, 63, 32, 114, 103, 98, 110, 40, 109, 41, 32, 47, 47, 32, 35, 102, 102, 48, 48, 48, 48, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 108, 32, 61, 61, 61, 32, 51, 32, 63, - 32, 110, 101, 119, 32, 82, 103, 98, 40, 40, 109, 32, 62, 62, 32, 56, 32, 38, 32, 48, 120, 102, 41, - 32, 124, 32, 40, 109, 32, 62, 62, 32, 52, 32, 38, 32, 48, 120, 102, 48, 41, 44, 32, 40, 109, 32, - 62, 62, 32, 52, 32, 38, 32, 48, 120, 102, 41, 32, 124, 32, 40, 109, 32, 38, 32, 48, 120, 102, 48, - 41, 44, 32, 40, 40, 109, 32, 38, 32, 48, 120, 102, 41, 32, 60, 60, 32, 52, 41, 32, 124, 32, 40, - 109, 32, 38, 32, 48, 120, 102, 41, 44, 32, 49, 41, 32, 47, 47, 32, 35, 102, 48, 48, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 108, 32, 61, 61, 61, 32, 56, - 32, 63, 32, 114, 103, 98, 97, 40, 109, 32, 62, 62, 32, 50, 52, 32, 38, 32, 48, 120, 102, 102, 44, - 32, 109, 32, 62, 62, 32, 49, 54, 32, 38, 32, 48, 120, 102, 102, 44, 32, 109, 32, 62, 62, 32, 56, - 32, 38, 32, 48, 120, 102, 102, 44, 32, 40, 109, 32, 38, 32, 48, 120, 102, 102, 41, 32, 47, 32, 48, - 120, 102, 102, 41, 32, 47, 47, 32, 35, 102, 102, 48, 48, 48, 48, 48, 48, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 108, 32, 61, 61, 61, 32, - 52, 32, 63, 32, 114, 103, 98, 97, 40, 40, 109, 32, 62, 62, 32, 49, 50, 32, 38, 32, 48, 120, 102, - 41, 32, 124, 32, 40, 109, 32, 62, 62, 32, 56, 32, 38, 32, 48, 120, 102, 48, 41, 44, 32, 40, 109, - 32, 62, 62, 32, 56, 32, 38, 32, 48, 120, 102, 41, 32, 124, 32, 40, 109, 32, 62, 62, 32, 52, 32, - 38, 32, 48, 120, 102, 48, 41, 44, 32, 40, 109, 32, 62, 62, 32, 52, 32, 38, 32, 48, 120, 102, 41, - 32, 124, 32, 40, 109, 32, 38, 32, 48, 120, 102, 48, 41, 44, 32, 40, 40, 40, 109, 32, 38, 32, 48, - 120, 102, 41, 32, 60, 60, 32, 52, 41, 32, 124, 32, 40, 109, 32, 38, 32, 48, 120, 102, 41, 41, 32, - 47, 32, 48, 120, 102, 102, 41, 32, 47, 47, 32, 35, 102, 48, 48, 48, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 110, 117, 108, - 108, 41, 32, 47, 47, 32, 105, 110, 118, 97, 108, 105, 100, 32, 104, 101, 120, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 58, 32, 40, 109, 32, 61, 32, 114, 101, 82, 103, 98, 73, 110, 116, 101, - 103, 101, 114, 46, 101, 120, 101, 99, 40, 102, 111, 114, 109, 97, 116, 41, 41, 32, 63, 32, 110, 101, 119, - 32, 82, 103, 98, 40, 109, 91, 49, 93, 44, 32, 109, 91, 50, 93, 44, 32, 109, 91, 51, 93, 44, 32, - 49, 41, 32, 47, 47, 32, 114, 103, 98, 40, 50, 53, 53, 44, 32, 48, 44, 32, 48, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 40, 109, 32, 61, 32, 114, 101, - 82, 103, 98, 80, 101, 114, 99, 101, 110, 116, 46, 101, 120, 101, 99, 40, 102, 111, 114, 109, 97, 116, 41, - 41, 32, 63, 32, 110, 101, 119, 32, 82, 103, 98, 40, 109, 91, 49, 93, 32, 42, 32, 50, 53, 53, 32, - 47, 32, 49, 48, 48, 44, 32, 109, 91, 50, 93, 32, 42, 32, 50, 53, 53, 32, 47, 32, 49, 48, 48, - 44, 32, 109, 91, 51, 93, 32, 42, 32, 50, 53, 53, 32, 47, 32, 49, 48, 48, 44, 32, 49, 41, 32, - 47, 47, 32, 114, 103, 98, 40, 49, 48, 48, 37, 44, 32, 48, 37, 44, 32, 48, 37, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 40, 109, 32, - 61, 32, 114, 101, 82, 103, 98, 97, 73, 110, 116, 101, 103, 101, 114, 46, 101, 120, 101, 99, 40, 102, 111, - 114, 109, 97, 116, 41, 41, 32, 63, 32, 114, 103, 98, 97, 40, 109, 91, 49, 93, 44, 32, 109, 91, 50, - 93, 44, 32, 109, 91, 51, 93, 44, 32, 109, 91, 52, 93, 41, 32, 47, 47, 32, 114, 103, 98, 97, 40, - 50, 53, 53, 44, 32, 48, 44, 32, 48, 44, 32, 49, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 40, 109, 32, 61, 32, 114, - 101, 82, 103, 98, 97, 80, 101, 114, 99, 101, 110, 116, 46, 101, 120, 101, 99, 40, 102, 111, 114, 109, 97, - 116, 41, 41, 32, 63, 32, 114, 103, 98, 97, 40, 109, 91, 49, 93, 32, 42, 32, 50, 53, 53, 32, 47, - 32, 49, 48, 48, 44, 32, 109, 91, 50, 93, 32, 42, 32, 50, 53, 53, 32, 47, 32, 49, 48, 48, 44, - 32, 109, 91, 51, 93, 32, 42, 32, 50, 53, 53, 32, 47, 32, 49, 48, 48, 44, 32, 109, 91, 52, 93, - 41, 32, 47, 47, 32, 114, 103, 98, 40, 49, 48, 48, 37, 44, 32, 48, 37, 44, 32, 48, 37, 44, 32, - 49, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 40, 109, 32, 61, 32, 114, 101, 72, 115, 108, 80, 101, 114, - 99, 101, 110, 116, 46, 101, 120, 101, 99, 40, 102, 111, 114, 109, 97, 116, 41, 41, 32, 63, 32, 104, 115, - 108, 97, 40, 109, 91, 49, 93, 44, 32, 109, 91, 50, 93, 32, 47, 32, 49, 48, 48, 44, 32, 109, 91, - 51, 93, 32, 47, 32, 49, 48, 48, 44, 32, 49, 41, 32, 47, 47, 32, 104, 115, 108, 40, 49, 50, 48, - 44, 32, 53, 48, 37, 44, 32, 53, 48, 37, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, - 40, 109, 32, 61, 32, 114, 101, 72, 115, 108, 97, 80, 101, 114, 99, 101, 110, 116, 46, 101, 120, 101, 99, - 40, 102, 111, 114, 109, 97, 116, 41, 41, 32, 63, 32, 104, 115, 108, 97, 40, 109, 91, 49, 93, 44, 32, - 109, 91, 50, 93, 32, 47, 32, 49, 48, 48, 44, 32, 109, 91, 51, 93, 32, 47, 32, 49, 48, 48, 44, - 32, 109, 91, 52, 93, 41, 32, 47, 47, 32, 104, 115, 108, 97, 40, 49, 50, 48, 44, 32, 53, 48, 37, - 44, 32, 53, 48, 37, 44, 32, 49, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 58, 32, 110, 97, 109, 101, 100, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, - 102, 111, 114, 109, 97, 116, 41, 32, 63, 32, 114, 103, 98, 110, 40, 110, 97, 109, 101, 100, 91, 102, 111, - 114, 109, 97, 116, 93, 41, 32, 47, 47, 32, 101, 115, 108, 105, 110, 116, 45, 100, 105, 115, 97, 98, 108, - 101, 45, 108, 105, 110, 101, 32, 110, 111, 45, 112, 114, 111, 116, 111, 116, 121, 112, 101, 45, 98, 117, 105, - 108, 116, 105, 110, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 58, 32, 102, 111, 114, 109, 97, 116, 32, 61, 61, 61, 32, 34, 116, 114, 97, 110, 115, 112, 97, 114, 101, - 110, 116, 34, 32, 63, 32, 110, 101, 119, 32, 82, 103, 98, 40, 78, 97, 78, 44, 32, 78, 97, 78, 44, - 32, 78, 97, 78, 44, 32, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 58, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 103, 98, 110, 40, 110, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 82, 103, 98, 40, 110, - 32, 62, 62, 32, 49, 54, 32, 38, 32, 48, 120, 102, 102, 44, 32, 110, 32, 62, 62, 32, 56, 32, 38, - 32, 48, 120, 102, 102, 44, 32, 110, 32, 38, 32, 48, 120, 102, 102, 44, 32, 49, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 103, 98, 97, 40, - 114, 44, 32, 103, 44, 32, 98, 44, 32, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 97, 32, 60, 61, 32, 48, 41, 32, 114, 32, 61, 32, 103, 32, 61, 32, 98, 32, 61, 32, - 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, - 32, 82, 103, 98, 40, 114, 44, 32, 103, 44, 32, 98, 44, 32, 97, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 103, 98, 67, 111, 110, 118, 101, - 114, 116, 40, 111, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 111, - 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 67, 111, 108, 111, 114, 41, 41, 32, 111, 32, 61, - 32, 99, 111, 108, 111, 114, 40, 111, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 111, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 82, 103, 98, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 111, 32, 61, 32, 111, 46, 114, 103, 98, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 82, 103, 98, 40, 111, 46, 114, 44, 32, - 111, 46, 103, 44, 32, 111, 46, 98, 44, 32, 111, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 103, 98, 40, - 114, 44, 32, 103, 44, 32, 98, 44, 32, 111, 112, 97, 99, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 49, 32, 63, 32, 114, 103, 98, 67, 111, 110, 118, 101, 114, - 116, 40, 114, 41, 32, 58, 32, 110, 101, 119, 32, 82, 103, 98, 40, 114, 44, 32, 103, 44, 32, 98, 44, - 32, 111, 112, 97, 99, 105, 116, 121, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 32, 58, 32, - 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 82, 103, 98, 40, 114, 44, 32, 103, 44, 32, 98, 44, 32, 111, 112, 97, - 99, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 114, 32, - 61, 32, 43, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 103, 32, 61, 32, - 43, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 98, 32, 61, 32, 43, 98, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 32, - 61, 32, 43, 111, 112, 97, 99, 105, 116, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 100, 101, 102, 105, 110, 101, 40, 82, 103, 98, 44, 32, 114, 103, 98, 44, 32, 101, 120, 116, 101, 110, 100, - 40, 67, 111, 108, 111, 114, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 105, 103, 104, - 116, 101, 114, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 107, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 107, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, - 32, 98, 114, 105, 103, 104, 116, 101, 114, 32, 58, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 98, 114, - 105, 103, 104, 116, 101, 114, 44, 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 82, 103, 98, 40, 116, 104, 105, 115, 46, 114, 32, - 42, 32, 107, 44, 32, 116, 104, 105, 115, 46, 103, 32, 42, 32, 107, 44, 32, 116, 104, 105, 115, 46, 98, - 32, 42, 32, 107, 44, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 101, 114, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 107, 32, 61, 32, 107, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 100, 97, - 114, 107, 101, 114, 32, 58, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 100, 97, 114, 107, 101, 114, 44, - 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 110, 101, 119, 32, 82, 103, 98, 40, 116, 104, 105, 115, 46, 114, 32, 42, 32, 107, 44, 32, 116, 104, - 105, 115, 46, 103, 32, 42, 32, 107, 44, 32, 116, 104, 105, 115, 46, 98, 32, 42, 32, 107, 44, 32, 116, - 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 103, 98, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 105, 115, 112, 108, 97, 121, 97, 98, 108, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 40, 45, 48, 46, 53, 32, 60, 61, 32, 116, 104, 105, 115, 46, 114, 32, 38, 38, 32, 116, 104, - 105, 115, 46, 114, 32, 60, 32, 50, 53, 53, 46, 53, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 40, 45, 48, 46, 53, 32, 60, 61, 32, 116, 104, 105, 115, - 46, 103, 32, 38, 38, 32, 116, 104, 105, 115, 46, 103, 32, 60, 32, 50, 53, 53, 46, 53, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 40, 45, 48, 46, 53, - 32, 60, 61, 32, 116, 104, 105, 115, 46, 98, 32, 38, 38, 32, 116, 104, 105, 115, 46, 98, 32, 60, 32, - 50, 53, 53, 46, 53, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 38, 38, 32, 40, 48, 32, 60, 61, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 32, 38, - 38, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 32, 60, 61, 32, 49, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 101, 120, 58, 32, - 114, 103, 98, 95, 102, 111, 114, 109, 97, 116, 72, 101, 120, 44, 32, 47, 47, 32, 68, 101, 112, 114, 101, - 99, 97, 116, 101, 100, 33, 32, 85, 115, 101, 32, 99, 111, 108, 111, 114, 46, 102, 111, 114, 109, 97, 116, - 72, 101, 120, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 72, 101, 120, 58, - 32, 114, 103, 98, 95, 102, 111, 114, 109, 97, 116, 72, 101, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 109, 97, 116, 82, 103, 98, 58, 32, 114, 103, 98, 95, 102, 111, 114, 109, 97, 116, 82, - 103, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 83, 116, 114, 105, 110, 103, 58, 32, 114, - 103, 98, 95, 102, 111, 114, 109, 97, 116, 82, 103, 98, 10, 32, 32, 32, 32, 125, 41, 41, 59, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 103, 98, 95, 102, 111, 114, 109, 97, 116, - 72, 101, 120, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 34, 35, 34, 32, 43, 32, 104, 101, 120, 40, 116, 104, 105, 115, 46, 114, 41, 32, 43, 32, 104, 101, 120, - 40, 116, 104, 105, 115, 46, 103, 41, 32, 43, 32, 104, 101, 120, 40, 116, 104, 105, 115, 46, 98, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 103, - 98, 95, 102, 111, 114, 109, 97, 116, 82, 103, 98, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 97, 32, 61, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 59, 32, - 97, 32, 61, 32, 105, 115, 78, 97, 78, 40, 97, 41, 32, 63, 32, 49, 32, 58, 32, 77, 97, 116, 104, - 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 49, 44, 32, 97, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 97, 32, 61, 61, 61, - 32, 49, 32, 63, 32, 34, 114, 103, 98, 40, 34, 32, 58, 32, 34, 114, 103, 98, 97, 40, 34, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, - 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 50, 53, 53, 44, 32, 77, 97, 116, 104, 46, 114, - 111, 117, 110, 100, 40, 116, 104, 105, 115, 46, 114, 41, 32, 124, 124, 32, 48, 41, 41, 32, 43, 32, 34, - 44, 32, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 77, 97, 116, 104, 46, - 109, 97, 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 50, 53, 53, 44, 32, 77, 97, - 116, 104, 46, 114, 111, 117, 110, 100, 40, 116, 104, 105, 115, 46, 103, 41, 32, 124, 124, 32, 48, 41, 41, - 32, 43, 32, 34, 44, 32, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 77, - 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 50, 53, 53, - 44, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 116, 104, 105, 115, 46, 98, 41, 32, 124, 124, - 32, 48, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 40, 97, 32, 61, - 61, 61, 32, 49, 32, 63, 32, 34, 41, 34, 32, 58, 32, 34, 44, 32, 34, 32, 43, 32, 97, 32, 43, - 32, 34, 41, 34, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 104, 101, 120, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 108, 117, 101, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, - 97, 116, 104, 46, 109, 105, 110, 40, 50, 53, 53, 44, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, - 40, 118, 97, 108, 117, 101, 41, 32, 124, 124, 32, 48, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 40, 118, 97, 108, 117, 101, 32, 60, 32, 49, 54, 32, 63, 32, 34, - 48, 34, 32, 58, 32, 34, 34, 41, 32, 43, 32, 118, 97, 108, 117, 101, 46, 116, 111, 83, 116, 114, 105, - 110, 103, 40, 49, 54, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 104, 115, 108, 97, 40, 104, 44, 32, 115, 44, 32, 108, 44, 32, 97, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 32, 60, 61, 32, 48, 41, 32, 104, 32, - 61, 32, 115, 32, 61, 32, 108, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 101, 108, 115, 101, 32, 105, 102, 32, 40, 108, 32, 60, 61, 32, 48, 32, 124, 124, 32, 108, 32, 62, 61, - 32, 49, 41, 32, 104, 32, 61, 32, 115, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 32, 60, 61, 32, 48, 41, 32, 104, 32, 61, 32, - 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, - 32, 72, 115, 108, 40, 104, 44, 32, 115, 44, 32, 108, 44, 32, 97, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 115, 108, 67, 111, 110, 118, 101, - 114, 116, 40, 111, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 32, 105, - 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 115, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, - 101, 119, 32, 72, 115, 108, 40, 111, 46, 104, 44, 32, 111, 46, 115, 44, 32, 111, 46, 108, 44, 32, 111, - 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 40, 111, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 67, 111, 108, 111, 114, 41, 41, 32, - 111, 32, 61, 32, 99, 111, 108, 111, 114, 40, 111, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 33, 111, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 72, 115, 108, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, - 102, 32, 72, 115, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 111, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 111, 32, 61, 32, 111, 46, 114, 103, 98, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 114, 32, 61, 32, 111, 46, 114, 32, 47, 32, 50, 53, 53, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 111, 46, 103, 32, 47, 32, 50, 53, 53, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 111, 46, 98, 32, 47, 32, 50, - 53, 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, 32, 61, 32, 77, - 97, 116, 104, 46, 109, 105, 110, 40, 114, 44, 32, 103, 44, 32, 98, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 109, 97, 120, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 114, - 44, 32, 103, 44, 32, 98, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, - 61, 32, 78, 97, 78, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, - 109, 97, 120, 32, 45, 32, 109, 105, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 32, 61, 32, 40, 109, 97, 120, 32, 43, 32, 109, 105, 110, 41, 32, 47, 32, 50, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 61, 61, 61, 32, 109, 97, 120, 41, 32, 104, 32, 61, 32, - 40, 103, 32, 45, 32, 98, 41, 32, 47, 32, 115, 32, 43, 32, 40, 103, 32, 60, 32, 98, 41, 32, 42, - 32, 54, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, - 32, 40, 103, 32, 61, 61, 61, 32, 109, 97, 120, 41, 32, 104, 32, 61, 32, 40, 98, 32, 45, 32, 114, - 41, 32, 47, 32, 115, 32, 43, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 101, 108, 115, 101, 32, 104, 32, 61, 32, 40, 114, 32, 45, 32, 103, 41, 32, 47, 32, 115, 32, 43, 32, - 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 32, 47, 61, 32, 108, 32, 60, - 32, 48, 46, 53, 32, 63, 32, 109, 97, 120, 32, 43, 32, 109, 105, 110, 32, 58, 32, 50, 32, 45, 32, - 109, 97, 120, 32, 45, 32, 109, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 104, 32, 42, 61, 32, 54, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, 108, 32, 62, 32, - 48, 32, 38, 38, 32, 108, 32, 60, 32, 49, 32, 63, 32, 48, 32, 58, 32, 104, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, - 101, 119, 32, 72, 115, 108, 40, 104, 44, 32, 115, 44, 32, 108, 44, 32, 111, 46, 111, 112, 97, 99, 105, - 116, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 104, 115, 108, 36, 50, 40, 104, 44, 32, 115, 44, 32, 108, 44, 32, 111, 112, 97, 99, 105, 116, - 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 49, 32, 63, 32, 104, - 115, 108, 67, 111, 110, 118, 101, 114, 116, 40, 104, 41, 32, 58, 32, 110, 101, 119, 32, 72, 115, 108, 40, - 104, 44, 32, 115, 44, 32, 108, 44, 32, 111, 112, 97, 99, 105, 116, 121, 32, 61, 61, 32, 110, 117, 108, - 108, 32, 63, 32, 49, 32, 58, 32, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 72, 115, 108, 40, 104, 44, 32, 115, - 44, 32, 108, 44, 32, 111, 112, 97, 99, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 104, 32, 61, 32, 43, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 115, 32, 61, 32, 43, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 108, 32, 61, 32, 43, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, 43, 111, 112, 97, 99, 105, 116, 121, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, 40, 72, 115, 108, 44, 32, 104, 115, 108, - 36, 50, 44, 32, 101, 120, 116, 101, 110, 100, 40, 67, 111, 108, 111, 114, 44, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 98, 114, 105, 103, 104, 116, 101, 114, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 107, - 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 98, 114, 105, 103, 104, 116, 101, 114, 32, 58, 32, 77, - 97, 116, 104, 46, 112, 111, 119, 40, 98, 114, 105, 103, 104, 116, 101, 114, 44, 32, 107, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 72, - 115, 108, 40, 116, 104, 105, 115, 46, 104, 44, 32, 116, 104, 105, 115, 46, 115, 44, 32, 116, 104, 105, 115, - 46, 108, 32, 42, 32, 107, 44, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, - 101, 114, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 107, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, - 100, 97, 114, 107, 101, 114, 32, 58, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 100, 97, 114, 107, 101, - 114, 44, 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 110, 101, 119, 32, 72, 115, 108, 40, 116, 104, 105, 115, 46, 104, 44, 32, 116, 104, 105, 115, - 46, 115, 44, 32, 116, 104, 105, 115, 46, 108, 32, 42, 32, 107, 44, 32, 116, 104, 105, 115, 46, 111, 112, - 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 103, 98, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 116, 104, 105, 115, - 46, 104, 32, 37, 32, 51, 54, 48, 32, 43, 32, 40, 116, 104, 105, 115, 46, 104, 32, 60, 32, 48, 41, - 32, 42, 32, 51, 54, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 32, 61, 32, 105, 115, 78, 97, 78, 40, 104, 41, 32, 124, 124, 32, 105, 115, 78, 97, 78, 40, - 116, 104, 105, 115, 46, 115, 41, 32, 63, 32, 48, 32, 58, 32, 116, 104, 105, 115, 46, 115, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 116, 104, 105, 115, - 46, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 50, 32, - 61, 32, 108, 32, 43, 32, 40, 108, 32, 60, 32, 48, 46, 53, 32, 63, 32, 108, 32, 58, 32, 49, 32, - 45, 32, 108, 41, 32, 42, 32, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 109, 49, 32, 61, 32, 50, 32, 42, 32, 108, 32, 45, 32, 109, 50, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 82, 103, 98, - 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 115, 108, 50, 114, - 103, 98, 40, 104, 32, 62, 61, 32, 50, 52, 48, 32, 63, 32, 104, 32, 45, 32, 50, 52, 48, 32, 58, - 32, 104, 32, 43, 32, 49, 50, 48, 44, 32, 109, 49, 44, 32, 109, 50, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 115, 108, 50, 114, 103, 98, 40, 104, 44, 32, - 109, 49, 44, 32, 109, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 104, 115, 108, 50, 114, 103, 98, 40, 104, 32, 60, 32, 49, 50, 48, 32, 63, 32, 104, 32, 43, - 32, 50, 52, 48, 32, 58, 32, 104, 32, 45, 32, 49, 50, 48, 44, 32, 109, 49, 44, 32, 109, 50, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 111, 112, 97, 99, 105, 116, 121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 115, 112, - 108, 97, 121, 97, 98, 108, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 48, 32, 60, 61, - 32, 116, 104, 105, 115, 46, 115, 32, 38, 38, 32, 116, 104, 105, 115, 46, 115, 32, 60, 61, 32, 49, 32, - 124, 124, 32, 105, 115, 78, 97, 78, 40, 116, 104, 105, 115, 46, 115, 41, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 40, 48, 32, 60, 61, 32, 116, 104, 105, - 115, 46, 108, 32, 38, 38, 32, 116, 104, 105, 115, 46, 108, 32, 60, 61, 32, 49, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 40, 48, 32, 60, 61, 32, 116, - 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 32, 38, 38, 32, 116, 104, 105, 115, 46, 111, 112, 97, - 99, 105, 116, 121, 32, 60, 61, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 72, 115, 108, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 97, 32, 61, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 59, 32, 97, 32, 61, - 32, 105, 115, 78, 97, 78, 40, 97, 41, 32, 63, 32, 49, 32, 58, 32, 77, 97, 116, 104, 46, 109, 97, - 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 49, 44, 32, 97, 41, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 97, 32, 61, 61, - 61, 32, 49, 32, 63, 32, 34, 104, 115, 108, 40, 34, 32, 58, 32, 34, 104, 115, 108, 97, 40, 34, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 40, 116, 104, 105, - 115, 46, 104, 32, 124, 124, 32, 48, 41, 32, 43, 32, 34, 44, 32, 34, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 40, 116, 104, 105, 115, 46, 115, 32, 124, 124, 32, - 48, 41, 32, 42, 32, 49, 48, 48, 32, 43, 32, 34, 37, 44, 32, 34, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 40, 116, 104, 105, 115, 46, 108, 32, 124, 124, 32, - 48, 41, 32, 42, 32, 49, 48, 48, 32, 43, 32, 34, 37, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 40, 97, 32, 61, 61, 61, 32, 49, 32, 63, 32, 34, 41, - 34, 32, 58, 32, 34, 44, 32, 34, 32, 43, 32, 97, 32, 43, 32, 34, 41, 34, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 41, 41, 59, 10, 10, 32, 32, 32, 32, 47, - 42, 32, 70, 114, 111, 109, 32, 70, 118, 68, 32, 49, 51, 46, 51, 55, 44, 32, 67, 83, 83, 32, 67, - 111, 108, 111, 114, 32, 77, 111, 100, 117, 108, 101, 32, 76, 101, 118, 101, 108, 32, 51, 32, 42, 47, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 115, 108, 50, 114, 103, 98, 40, 104, 44, - 32, 109, 49, 44, 32, 109, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 40, 104, 32, 60, 32, 54, 48, 32, 63, 32, 109, 49, 32, 43, 32, 40, 109, 50, 32, 45, - 32, 109, 49, 41, 32, 42, 32, 104, 32, 47, 32, 54, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 58, 32, 104, 32, 60, 32, 49, 56, 48, 32, 63, 32, 109, 50, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 104, 32, 60, 32, 50, 52, 48, 32, 63, 32, - 109, 49, 32, 43, 32, 40, 109, 50, 32, 45, 32, 109, 49, 41, 32, 42, 32, 40, 50, 52, 48, 32, 45, - 32, 104, 41, 32, 47, 32, 54, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 58, 32, 109, 49, 41, 32, 42, 32, 50, 53, 53, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 97, 100, 105, 97, 110, 115, 36, 49, 32, - 61, 32, 77, 97, 116, 104, 46, 80, 73, 32, 47, 32, 49, 56, 48, 59, 10, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 100, 101, 103, 114, 101, 101, 115, 36, 50, 32, 61, 32, 49, 56, 48, 32, 47, 32, 77, - 97, 116, 104, 46, 80, 73, 59, 10, 10, 47, 47, 32, 104, 116, 116, 112, 115, 58, 47, 47, 111, 98, 115, - 101, 114, 118, 97, 98, 108, 101, 104, 113, 46, 99, 111, 109, 47, 64, 109, 98, 111, 115, 116, 111, 99, 107, - 47, 108, 97, 98, 45, 97, 110, 100, 45, 114, 103, 98, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 75, 32, 61, 32, 49, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 110, 32, 61, 32, 48, 46, - 57, 54, 52, 50, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 89, 110, 32, 61, 32, 49, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 90, 110, 32, 61, 32, 48, 46, 56, 50, 53, 50, 49, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 48, 36, 49, 32, 61, 32, 52, 32, 47, 32, 50, 57, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 49, 36, 49, 32, 61, 32, 54, 32, 47, 32, 50, 57, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 50, 32, 61, 32, 51, 32, 42, 32, 116, 49, 36, 49, 32, 42, 32, - 116, 49, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 51, 32, 61, 32, 116, 49, 36, 49, - 32, 42, 32, 116, 49, 36, 49, 32, 42, 32, 116, 49, 36, 49, 59, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 108, 97, 98, 67, 111, 110, 118, 101, 114, 116, 40, 111, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, - 102, 32, 76, 97, 98, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 76, 97, 98, 40, 111, - 46, 108, 44, 32, 111, 46, 97, 44, 32, 111, 46, 98, 44, 32, 111, 46, 111, 112, 97, 99, 105, 116, 121, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 32, 105, 110, 115, 116, 97, 110, - 99, 101, 111, 102, 32, 72, 99, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 104, 99, 108, 50, 108, 97, - 98, 40, 111, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 111, 32, 105, - 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 82, 103, 98, 41, 41, 32, 111, 32, 61, 32, 114, 103, 98, - 67, 111, 110, 118, 101, 114, 116, 40, 111, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 114, 32, 61, 32, 114, 103, 98, 50, 108, 114, 103, 98, 40, 111, 46, 114, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 114, 103, 98, 50, 108, 114, 103, 98, 40, 111, - 46, 103, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 114, 103, - 98, 50, 108, 114, 103, 98, 40, 111, 46, 98, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 121, 32, 61, 32, 120, 121, 122, 50, 108, 97, 98, 40, 40, 48, 46, 50, 50, 50, 53, 48, 52, - 53, 32, 42, 32, 114, 32, 43, 32, 48, 46, 55, 49, 54, 56, 55, 56, 54, 32, 42, 32, 103, 32, 43, - 32, 48, 46, 48, 54, 48, 54, 49, 54, 57, 32, 42, 32, 98, 41, 32, 47, 32, 89, 110, 41, 44, 32, - 120, 44, 32, 122, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 61, 61, 61, - 32, 103, 32, 38, 38, 32, 103, 32, 61, 61, 61, 32, 98, 41, 32, 120, 32, 61, 32, 122, 32, 61, 32, - 121, 59, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, - 32, 61, 32, 120, 121, 122, 50, 108, 97, 98, 40, 40, 48, 46, 52, 51, 54, 48, 55, 52, 55, 32, 42, - 32, 114, 32, 43, 32, 48, 46, 51, 56, 53, 48, 54, 52, 57, 32, 42, 32, 103, 32, 43, 32, 48, 46, - 49, 52, 51, 48, 56, 48, 52, 32, 42, 32, 98, 41, 32, 47, 32, 88, 110, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, 61, 32, 120, 121, 122, 50, 108, 97, 98, 40, 40, 48, - 46, 48, 49, 51, 57, 51, 50, 50, 32, 42, 32, 114, 32, 43, 32, 48, 46, 48, 57, 55, 49, 48, 52, - 53, 32, 42, 32, 103, 32, 43, 32, 48, 46, 55, 49, 52, 49, 55, 51, 51, 32, 42, 32, 98, 41, 32, - 47, 32, 90, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 76, 97, 98, 40, 49, 49, 54, 32, 42, 32, - 121, 32, 45, 32, 49, 54, 44, 32, 53, 48, 48, 32, 42, 32, 40, 120, 32, 45, 32, 121, 41, 44, 32, - 50, 48, 48, 32, 42, 32, 40, 121, 32, 45, 32, 122, 41, 44, 32, 111, 46, 111, 112, 97, 99, 105, 116, - 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 103, 114, 97, 121, 40, 108, 44, 32, 111, 112, 97, 99, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 76, 97, 98, 40, 108, 44, 32, - 48, 44, 32, 48, 44, 32, 111, 112, 97, 99, 105, 116, 121, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, - 32, 49, 32, 58, 32, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 97, 98, 36, 49, 40, 108, 44, 32, 97, 44, - 32, 98, 44, 32, 111, 112, 97, 99, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 61, 61, 61, 32, 49, 32, 63, 32, 108, 97, 98, 67, 111, 110, 118, 101, 114, 116, 40, 108, 41, 32, - 58, 32, 110, 101, 119, 32, 76, 97, 98, 40, 108, 44, 32, 97, 44, 32, 98, 44, 32, 111, 112, 97, 99, - 105, 116, 121, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 32, 58, 32, 111, 112, 97, 99, 105, - 116, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 76, 97, 98, 40, 108, 44, 32, 97, 44, 32, 98, 44, 32, 111, 112, 97, 99, 105, 116, 121, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 108, 32, 61, 32, 43, 108, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 97, 32, 61, 32, 43, 97, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 98, 32, 61, 32, 43, 98, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, 43, 111, 112, - 97, 99, 105, 116, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 100, 101, 102, 105, 110, - 101, 40, 76, 97, 98, 44, 32, 108, 97, 98, 36, 49, 44, 32, 101, 120, 116, 101, 110, 100, 40, 67, 111, - 108, 111, 114, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 105, 103, 104, 116, 101, 114, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 76, 97, 98, 40, 116, 104, 105, - 115, 46, 108, 32, 43, 32, 75, 32, 42, 32, 40, 107, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, - 49, 32, 58, 32, 107, 41, 44, 32, 116, 104, 105, 115, 46, 97, 44, 32, 116, 104, 105, 115, 46, 98, 44, - 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 114, 107, 101, 114, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 76, 97, 98, 40, 116, 104, 105, 115, 46, 108, 32, 45, - 32, 75, 32, 42, 32, 40, 107, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 32, 58, 32, 107, - 41, 44, 32, 116, 104, 105, 115, 46, 97, 44, 32, 116, 104, 105, 115, 46, 98, 44, 32, 116, 104, 105, 115, - 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 103, 98, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 121, 32, 61, 32, 40, - 116, 104, 105, 115, 46, 108, 32, 43, 32, 49, 54, 41, 32, 47, 32, 49, 49, 54, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 105, 115, 78, 97, 78, 40, - 116, 104, 105, 115, 46, 97, 41, 32, 63, 32, 121, 32, 58, 32, 121, 32, 43, 32, 116, 104, 105, 115, 46, - 97, 32, 47, 32, 53, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 122, 32, 61, 32, 105, 115, 78, 97, 78, 40, 116, 104, 105, 115, 46, 98, 41, 32, 63, 32, 121, - 32, 58, 32, 121, 32, 45, 32, 116, 104, 105, 115, 46, 98, 32, 47, 32, 50, 48, 48, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 88, 110, 32, 42, 32, 108, 97, 98, 50, - 120, 121, 122, 40, 120, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, - 32, 89, 110, 32, 42, 32, 108, 97, 98, 50, 120, 121, 122, 40, 121, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 122, 32, 61, 32, 90, 110, 32, 42, 32, 108, 97, 98, 50, 120, 121, 122, - 40, 122, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 110, 101, 119, 32, 82, 103, 98, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 114, 103, 98, 50, 114, 103, 98, 40, 32, 51, 46, 49, 51, 51, 56, 53, 54, 49, 32, - 42, 32, 120, 32, 45, 32, 49, 46, 54, 49, 54, 56, 54, 54, 55, 32, 42, 32, 121, 32, 45, 32, 48, - 46, 52, 57, 48, 54, 49, 52, 54, 32, 42, 32, 122, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 114, 103, 98, 50, 114, 103, 98, 40, 45, 48, 46, 57, 55, 56, - 55, 54, 56, 52, 32, 42, 32, 120, 32, 43, 32, 49, 46, 57, 49, 54, 49, 52, 49, 53, 32, 42, 32, - 121, 32, 43, 32, 48, 46, 48, 51, 51, 52, 53, 52, 48, 32, 42, 32, 122, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 114, 103, 98, 50, 114, 103, 98, 40, 32, - 48, 46, 48, 55, 49, 57, 52, 53, 51, 32, 42, 32, 120, 32, 45, 32, 48, 46, 50, 50, 56, 57, 57, - 49, 52, 32, 42, 32, 121, 32, 43, 32, 49, 46, 52, 48, 53, 50, 52, 50, 55, 32, 42, 32, 122, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 111, 112, 97, 99, 105, 116, 121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 41, 41, 59, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 120, 121, 122, 50, 108, 97, 98, 40, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 32, 62, 32, 116, 51, 32, 63, - 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 116, 44, 32, 49, 32, 47, 32, 51, 41, 32, 58, 32, 116, - 32, 47, 32, 116, 50, 32, 43, 32, 116, 48, 36, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 97, 98, 50, 120, 121, 122, 40, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 32, 62, 32, 116, 49, 36, - 49, 32, 63, 32, 116, 32, 42, 32, 116, 32, 42, 32, 116, 32, 58, 32, 116, 50, 32, 42, 32, 40, 116, - 32, 45, 32, 116, 48, 36, 49, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 108, 114, 103, 98, 50, 114, 103, 98, 40, 120, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 50, 53, 53, 32, 42, 32, 40, 120, 32, 60, - 61, 32, 48, 46, 48, 48, 51, 49, 51, 48, 56, 32, 63, 32, 49, 50, 46, 57, 50, 32, 42, 32, 120, - 32, 58, 32, 49, 46, 48, 53, 53, 32, 42, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 120, 44, 32, - 49, 32, 47, 32, 50, 46, 52, 41, 32, 45, 32, 48, 46, 48, 53, 53, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 103, 98, 50, 108, 114, 103, - 98, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, - 120, 32, 47, 61, 32, 50, 53, 53, 41, 32, 60, 61, 32, 48, 46, 48, 52, 48, 52, 53, 32, 63, 32, - 120, 32, 47, 32, 49, 50, 46, 57, 50, 32, 58, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 40, 120, - 32, 43, 32, 48, 46, 48, 53, 53, 41, 32, 47, 32, 49, 46, 48, 53, 53, 44, 32, 50, 46, 52, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, - 99, 108, 67, 111, 110, 118, 101, 114, 116, 40, 111, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 111, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 99, 108, 41, 32, 114, - 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 72, 99, 108, 40, 111, 46, 104, 44, 32, 111, 46, 99, 44, - 32, 111, 46, 108, 44, 32, 111, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 33, 40, 111, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 76, - 97, 98, 41, 41, 32, 111, 32, 61, 32, 108, 97, 98, 67, 111, 110, 118, 101, 114, 116, 40, 111, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 46, 97, 32, 61, 61, 61, 32, 48, 32, - 38, 38, 32, 111, 46, 98, 32, 61, 61, 61, 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, - 119, 32, 72, 99, 108, 40, 78, 97, 78, 44, 32, 48, 32, 60, 32, 111, 46, 108, 32, 38, 38, 32, 111, - 46, 108, 32, 60, 32, 49, 48, 48, 32, 63, 32, 48, 32, 58, 32, 78, 97, 78, 44, 32, 111, 46, 108, - 44, 32, 111, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 104, 32, 61, 32, 77, 97, 116, 104, 46, 97, 116, 97, 110, 50, 40, 111, 46, 98, 44, 32, - 111, 46, 97, 41, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 36, 50, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 72, 99, 108, 40, 104, 32, 60, 32, 48, - 32, 63, 32, 104, 32, 43, 32, 51, 54, 48, 32, 58, 32, 104, 44, 32, 77, 97, 116, 104, 46, 115, 113, - 114, 116, 40, 111, 46, 97, 32, 42, 32, 111, 46, 97, 32, 43, 32, 111, 46, 98, 32, 42, 32, 111, 46, - 98, 41, 44, 32, 111, 46, 108, 44, 32, 111, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 99, 104, 40, 108, - 44, 32, 99, 44, 32, 104, 44, 32, 111, 112, 97, 99, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, - 110, 103, 116, 104, 32, 61, 61, 61, 32, 49, 32, 63, 32, 104, 99, 108, 67, 111, 110, 118, 101, 114, 116, - 40, 108, 41, 32, 58, 32, 110, 101, 119, 32, 72, 99, 108, 40, 104, 44, 32, 99, 44, 32, 108, 44, 32, - 111, 112, 97, 99, 105, 116, 121, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 32, 58, 32, 111, - 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 104, 99, 108, 36, 50, 40, 104, 44, 32, 99, 44, 32, 108, 44, 32, 111, 112, - 97, 99, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 49, - 32, 63, 32, 104, 99, 108, 67, 111, 110, 118, 101, 114, 116, 40, 104, 41, 32, 58, 32, 110, 101, 119, 32, - 72, 99, 108, 40, 104, 44, 32, 99, 44, 32, 108, 44, 32, 111, 112, 97, 99, 105, 116, 121, 32, 61, 61, - 32, 110, 117, 108, 108, 32, 63, 32, 49, 32, 58, 32, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 72, 99, 108, 40, - 104, 44, 32, 99, 44, 32, 108, 44, 32, 111, 112, 97, 99, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 104, 32, 61, 32, 43, 104, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 99, 32, 61, 32, 43, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 108, 32, 61, 32, 43, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, 43, 111, 112, 97, 99, 105, 116, 121, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 99, - 108, 50, 108, 97, 98, 40, 111, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 105, 115, 78, 97, 78, 40, 111, 46, 104, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, - 76, 97, 98, 40, 111, 46, 108, 44, 32, 48, 44, 32, 48, 44, 32, 111, 46, 111, 112, 97, 99, 105, 116, - 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 111, 46, 104, - 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 76, 97, 98, 40, 111, 46, 108, 44, 32, 77, 97, 116, 104, - 46, 99, 111, 115, 40, 104, 41, 32, 42, 32, 111, 46, 99, 44, 32, 77, 97, 116, 104, 46, 115, 105, 110, - 40, 104, 41, 32, 42, 32, 111, 46, 99, 44, 32, 111, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, 40, 72, 99, 108, 44, 32, - 104, 99, 108, 36, 50, 44, 32, 101, 120, 116, 101, 110, 100, 40, 67, 111, 108, 111, 114, 44, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 105, 103, 104, 116, 101, 114, 58, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 110, 101, 119, 32, 72, 99, 108, 40, 116, 104, 105, 115, 46, 104, 44, 32, 116, 104, - 105, 115, 46, 99, 44, 32, 116, 104, 105, 115, 46, 108, 32, 43, 32, 75, 32, 42, 32, 40, 107, 32, 61, - 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 32, 58, 32, 107, 41, 44, 32, 116, 104, 105, 115, 46, 111, - 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 97, 114, 107, 101, 114, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 107, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 110, 101, 119, 32, 72, 99, 108, 40, 116, 104, 105, 115, 46, 104, 44, 32, 116, 104, 105, 115, 46, 99, 44, - 32, 116, 104, 105, 115, 46, 108, 32, 45, 32, 75, 32, 42, 32, 40, 107, 32, 61, 61, 32, 110, 117, 108, - 108, 32, 63, 32, 49, 32, 58, 32, 107, 41, 44, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, - 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 103, 98, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 104, 99, 108, 50, 108, 97, 98, 40, 116, - 104, 105, 115, 41, 46, 114, 103, 98, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 125, 41, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 65, 32, 61, 32, 45, 48, - 46, 49, 52, 56, 54, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 66, 32, 61, 32, 43, 49, 46, - 55, 56, 50, 55, 55, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 67, 32, 61, 32, 45, 48, 46, 50, - 57, 50, 50, 55, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 68, 32, 61, 32, 45, 48, 46, 57, 48, - 54, 52, 57, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 69, 32, 61, 32, 43, 49, 46, 57, 55, 50, - 57, 52, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 69, 68, 32, 61, 32, 69, 32, 42, 32, 68, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 69, 66, 32, 61, 32, 69, 32, 42, 32, 66, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 66, 67, 95, 68, 65, 32, 61, 32, 66, 32, 42, 32, 67, 32, 45, 32, 68, - 32, 42, 32, 65, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 98, - 101, 104, 101, 108, 105, 120, 67, 111, 110, 118, 101, 114, 116, 40, 111, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 111, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 67, 117, - 98, 101, 104, 101, 108, 105, 120, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 67, 117, 98, - 101, 104, 101, 108, 105, 120, 40, 111, 46, 104, 44, 32, 111, 46, 115, 44, 32, 111, 46, 108, 44, 32, 111, - 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 40, 111, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 82, 103, 98, 41, 41, 32, 111, 32, - 61, 32, 114, 103, 98, 67, 111, 110, 118, 101, 114, 116, 40, 111, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 111, 46, 114, 32, 47, 32, 50, 53, 53, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 111, 46, 103, 32, 47, 32, 50, 53, 53, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 111, 46, 98, 32, 47, - 32, 50, 53, 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 40, - 66, 67, 95, 68, 65, 32, 42, 32, 98, 32, 43, 32, 69, 68, 32, 42, 32, 114, 32, 45, 32, 69, 66, - 32, 42, 32, 103, 41, 32, 47, 32, 40, 66, 67, 95, 68, 65, 32, 43, 32, 69, 68, 32, 45, 32, 69, - 66, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 108, 32, 61, 32, 98, 32, - 45, 32, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 40, 69, - 32, 42, 32, 40, 103, 32, 45, 32, 108, 41, 32, 45, 32, 67, 32, 42, 32, 98, 108, 41, 32, 47, 32, - 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, 77, 97, 116, 104, - 46, 115, 113, 114, 116, 40, 107, 32, 42, 32, 107, 32, 43, 32, 98, 108, 32, 42, 32, 98, 108, 41, 32, - 47, 32, 40, 69, 32, 42, 32, 108, 32, 42, 32, 40, 49, 32, 45, 32, 108, 41, 41, 44, 32, 47, 47, - 32, 78, 97, 78, 32, 105, 102, 32, 108, 61, 48, 32, 111, 114, 32, 108, 61, 49, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 32, 115, 32, 63, 32, 77, 97, 116, 104, 46, 97, 116, - 97, 110, 50, 40, 107, 44, 32, 98, 108, 41, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 36, 50, 32, - 45, 32, 49, 50, 48, 32, 58, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 110, 101, 119, 32, 67, 117, 98, 101, 104, 101, 108, 105, 120, 40, 104, 32, 60, 32, - 48, 32, 63, 32, 104, 32, 43, 32, 51, 54, 48, 32, 58, 32, 104, 44, 32, 115, 44, 32, 108, 44, 32, - 111, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 51, 40, 104, 44, - 32, 115, 44, 32, 108, 44, 32, 111, 112, 97, 99, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, - 103, 116, 104, 32, 61, 61, 61, 32, 49, 32, 63, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 67, 111, - 110, 118, 101, 114, 116, 40, 104, 41, 32, 58, 32, 110, 101, 119, 32, 67, 117, 98, 101, 104, 101, 108, 105, - 120, 40, 104, 44, 32, 115, 44, 32, 108, 44, 32, 111, 112, 97, 99, 105, 116, 121, 32, 61, 61, 32, 110, - 117, 108, 108, 32, 63, 32, 49, 32, 58, 32, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 67, 117, 98, 101, 104, 101, - 108, 105, 120, 40, 104, 44, 32, 115, 44, 32, 108, 44, 32, 111, 112, 97, 99, 105, 116, 121, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 104, 32, 61, 32, 43, 104, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 32, 61, 32, 43, 115, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 108, 32, 61, 32, 43, 108, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, 43, 111, 112, 97, 99, - 105, 116, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, 40, - 67, 117, 98, 101, 104, 101, 108, 105, 120, 44, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 51, 44, - 32, 101, 120, 116, 101, 110, 100, 40, 67, 111, 108, 111, 114, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 114, 105, 103, 104, 116, 101, 114, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 107, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 107, 32, 61, 61, - 32, 110, 117, 108, 108, 32, 63, 32, 98, 114, 105, 103, 104, 116, 101, 114, 32, 58, 32, 77, 97, 116, 104, - 46, 112, 111, 119, 40, 98, 114, 105, 103, 104, 116, 101, 114, 44, 32, 107, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 67, 117, 98, 101, - 104, 101, 108, 105, 120, 40, 116, 104, 105, 115, 46, 104, 44, 32, 116, 104, 105, 115, 46, 115, 44, 32, 116, - 104, 105, 115, 46, 108, 32, 42, 32, 107, 44, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 97, 114, 107, 101, 114, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 107, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 107, 32, 61, 61, 32, 110, 117, 108, 108, - 32, 63, 32, 100, 97, 114, 107, 101, 114, 32, 58, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 100, 97, - 114, 107, 101, 114, 44, 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 67, 117, 98, 101, 104, 101, 108, 105, 120, 40, 116, 104, 105, - 115, 46, 104, 44, 32, 116, 104, 105, 115, 46, 115, 44, 32, 116, 104, 105, 115, 46, 108, 32, 42, 32, 107, - 44, 32, 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 103, 98, 58, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 104, 32, 61, 32, 105, 115, 78, 97, 78, 40, 116, 104, 105, 115, 46, 104, 41, 32, 63, 32, 48, 32, - 58, 32, 40, 116, 104, 105, 115, 46, 104, 32, 43, 32, 49, 50, 48, 41, 32, 42, 32, 114, 97, 100, 105, - 97, 110, 115, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 32, 61, 32, 43, 116, 104, 105, 115, 46, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 105, 115, 78, 97, 78, 40, 116, 104, 105, 115, 46, 115, 41, - 32, 63, 32, 48, 32, 58, 32, 116, 104, 105, 115, 46, 115, 32, 42, 32, 108, 32, 42, 32, 40, 49, 32, - 45, 32, 108, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 115, 104, 32, 61, 32, 77, 97, 116, 104, 46, 99, 111, 115, 40, 104, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 104, 32, 61, 32, 77, 97, 116, 104, - 46, 115, 105, 110, 40, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 110, 101, 119, 32, 82, 103, 98, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 50, 53, 53, 32, 42, 32, 40, 108, 32, 43, 32, 97, 32, 42, 32, 40, - 65, 32, 42, 32, 99, 111, 115, 104, 32, 43, 32, 66, 32, 42, 32, 115, 105, 110, 104, 41, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 50, 53, 53, 32, 42, 32, 40, - 108, 32, 43, 32, 97, 32, 42, 32, 40, 67, 32, 42, 32, 99, 111, 115, 104, 32, 43, 32, 68, 32, 42, - 32, 115, 105, 110, 104, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 50, 53, 53, 32, 42, 32, 40, 108, 32, 43, 32, 97, 32, 42, 32, 40, 69, 32, 42, 32, 99, - 111, 115, 104, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 111, 112, 97, 99, 105, 116, 121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 41, 41, 59, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 97, 115, 105, 115, 36, 49, 40, - 116, 49, 44, 32, 118, 48, 44, 32, 118, 49, 44, 32, 118, 50, 44, 32, 118, 51, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 50, 32, 61, 32, 116, 49, 32, 42, 32, 116, 49, - 44, 32, 116, 51, 32, 61, 32, 116, 50, 32, 42, 32, 116, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 40, 40, 49, 32, 45, 32, 51, 32, 42, 32, 116, 49, 32, 43, 32, - 51, 32, 42, 32, 116, 50, 32, 45, 32, 116, 51, 41, 32, 42, 32, 118, 48, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 43, 32, 40, 52, 32, 45, 32, 54, 32, 42, 32, 116, 50, 32, 43, 32, - 51, 32, 42, 32, 116, 51, 41, 32, 42, 32, 118, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 43, 32, 40, 49, 32, 43, 32, 51, 32, 42, 32, 116, 49, 32, 43, 32, 51, 32, 42, 32, 116, - 50, 32, 45, 32, 51, 32, 42, 32, 116, 51, 41, 32, 42, 32, 118, 50, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 43, 32, 116, 51, 32, 42, 32, 118, 51, 41, 32, 47, 32, 54, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 97, 115, 105, - 115, 36, 50, 40, 118, 97, 108, 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 110, 32, 61, 32, 118, 97, 108, 117, 101, 115, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, - 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 105, 32, 61, 32, 116, 32, 60, 61, 32, 48, 32, 63, 32, 40, 116, 32, 61, 32, 48, 41, 32, - 58, 32, 116, 32, 62, 61, 32, 49, 32, 63, 32, 40, 116, 32, 61, 32, 49, 44, 32, 110, 32, 45, 32, - 49, 41, 32, 58, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 116, 32, 42, 32, 110, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 49, 32, 61, 32, 118, - 97, 108, 117, 101, 115, 91, 105, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 50, 32, 61, 32, 118, 97, 108, 117, 101, 115, 91, 105, 32, 43, 32, 49, 93, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 48, 32, 61, 32, 105, 32, - 62, 32, 48, 32, 63, 32, 118, 97, 108, 117, 101, 115, 91, 105, 32, 45, 32, 49, 93, 32, 58, 32, 50, - 32, 42, 32, 118, 49, 32, 45, 32, 118, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 51, 32, 61, 32, 105, 32, 60, 32, 110, 32, 45, 32, 49, 32, 63, 32, 118, - 97, 108, 117, 101, 115, 91, 105, 32, 43, 32, 50, 93, 32, 58, 32, 50, 32, 42, 32, 118, 50, 32, 45, - 32, 118, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 98, 97, 115, 105, 115, 36, 49, 40, 40, 116, 32, 45, 32, 105, 32, 47, 32, 110, 41, 32, 42, 32, - 110, 44, 32, 118, 48, 44, 32, 118, 49, 44, 32, 118, 50, 44, 32, 118, 51, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 98, 97, 115, 105, 115, 67, 108, 111, 115, 101, 100, 36, 49, 40, 118, 97, 108, 117, - 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 118, - 97, 108, 117, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 77, 97, 116, 104, 46, 102, - 108, 111, 111, 114, 40, 40, 40, 116, 32, 37, 61, 32, 49, 41, 32, 60, 32, 48, 32, 63, 32, 43, 43, - 116, 32, 58, 32, 116, 41, 32, 42, 32, 110, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 48, 32, 61, 32, 118, 97, 108, 117, 101, 115, 91, 40, 105, 32, 43, 32, - 110, 32, 45, 32, 49, 41, 32, 37, 32, 110, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 49, 32, 61, 32, 118, 97, 108, 117, 101, 115, 91, 105, 32, 37, 32, 110, - 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 50, 32, 61, - 32, 118, 97, 108, 117, 101, 115, 91, 40, 105, 32, 43, 32, 49, 41, 32, 37, 32, 110, 93, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 51, 32, 61, 32, 118, 97, 108, - 117, 101, 115, 91, 40, 105, 32, 43, 32, 50, 41, 32, 37, 32, 110, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 97, 115, 105, 115, 36, 49, 40, 40, - 116, 32, 45, 32, 105, 32, 47, 32, 110, 41, 32, 42, 32, 110, 44, 32, 118, 48, 44, 32, 118, 49, 44, - 32, 118, 50, 44, 32, 118, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 56, - 32, 61, 32, 120, 32, 61, 62, 32, 40, 41, 32, 61, 62, 32, 120, 59, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, 97, 114, 36, 50, 40, 97, 44, 32, 100, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 97, 32, 43, 32, 116, 32, 42, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 101, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 36, 49, 40, 97, 44, 32, 98, 44, 32, 121, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 32, 61, 32, 77, 97, - 116, 104, 46, 112, 111, 119, 40, 97, 44, 32, 121, 41, 44, 32, 98, 32, 61, 32, 77, 97, 116, 104, 46, - 112, 111, 119, 40, 98, 44, 32, 121, 41, 32, 45, 32, 97, 44, 32, 121, 32, 61, 32, 49, 32, 47, 32, - 121, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 97, - 32, 43, 32, 116, 32, 42, 32, 98, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, - 117, 101, 36, 49, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 100, 32, 61, 32, 98, 32, 45, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 100, 32, 63, 32, 108, 105, 110, 101, 97, 114, 36, 50, 40, 97, 44, 32, 100, 32, - 62, 32, 49, 56, 48, 32, 124, 124, 32, 100, 32, 60, 32, 45, 49, 56, 48, 32, 63, 32, 100, 32, 45, - 32, 51, 54, 48, 32, 42, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 100, 32, 47, 32, 51, - 54, 48, 41, 32, 58, 32, 100, 41, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 56, 40, 105, - 115, 78, 97, 78, 40, 97, 41, 32, 63, 32, 98, 32, 58, 32, 97, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 97, 109, 109, 97, 36, 49, 40, - 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 121, 32, - 61, 32, 43, 121, 41, 32, 61, 61, 61, 32, 49, 32, 63, 32, 110, 111, 103, 97, 109, 109, 97, 32, 58, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 32, 45, 32, 97, 32, 63, 32, 101, - 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 36, 49, 40, 97, 44, 32, 98, 44, 32, 121, 41, 32, 58, - 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 56, 40, 105, 115, 78, 97, 78, 40, 97, 41, 32, 63, 32, - 98, 32, 58, 32, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 103, 97, 109, 109, 97, - 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, - 61, 32, 98, 32, 45, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 100, 32, 63, 32, 108, 105, 110, 101, 97, 114, 36, 50, 40, 97, 44, 32, 100, 41, 32, 58, 32, 99, - 111, 110, 115, 116, 97, 110, 116, 36, 56, 40, 105, 115, 78, 97, 78, 40, 97, 41, 32, 63, 32, 98, 32, - 58, 32, 97, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 105, 110, - 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, 103, 98, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 114, 103, 98, 71, 97, 109, 109, 97, 40, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 99, 111, 108, 111, 114, 32, 61, 32, 103, 97, 109, 109, 97, 36, 49, 40, 121, 41, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 103, 98, - 36, 49, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 99, 111, 108, 111, 114, 40, 40, 115, 116, - 97, 114, 116, 32, 61, 32, 114, 103, 98, 40, 115, 116, 97, 114, 116, 41, 41, 46, 114, 44, 32, 40, 101, - 110, 100, 32, 61, 32, 114, 103, 98, 40, 101, 110, 100, 41, 41, 46, 114, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 99, 111, 108, 111, 114, 40, 115, - 116, 97, 114, 116, 46, 103, 44, 32, 101, 110, 100, 46, 103, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 99, 111, 108, 111, 114, 40, 115, 116, 97, 114, - 116, 46, 98, 44, 32, 101, 110, 100, 46, 98, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, 110, 111, 103, 97, 109, 109, 97, - 40, 115, 116, 97, 114, 116, 46, 111, 112, 97, 99, 105, 116, 121, 44, 32, 101, 110, 100, 46, 111, 112, 97, - 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, 114, 32, 61, 32, 114, 40, 116, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, - 116, 46, 103, 32, 61, 32, 103, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, 98, 32, 61, 32, 98, 40, 116, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, 111, 112, 97, - 99, 105, 116, 121, 32, 61, 32, 111, 112, 97, 99, 105, 116, 121, 40, 116, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 97, 114, - 116, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 103, 98, 36, - 49, 46, 103, 97, 109, 109, 97, 32, 61, 32, 114, 103, 98, 71, 97, 109, 109, 97, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 103, 98, 36, 49, 59, 10, 32, 32, 32, - 32, 125, 41, 40, 49, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, - 103, 98, 83, 112, 108, 105, 110, 101, 40, 115, 112, 108, 105, 110, 101, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 108, - 111, 114, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 110, 32, 61, 32, 99, 111, 108, 111, 114, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, - 97, 121, 40, 110, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 103, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, - 121, 40, 110, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 44, 32, 99, 111, 108, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 108, 111, 114, 32, - 61, 32, 114, 103, 98, 40, 99, 111, 108, 111, 114, 115, 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 91, 105, 93, 32, 61, 32, 99, 111, 108, 111, 114, - 46, 114, 32, 124, 124, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 103, 91, 105, 93, 32, 61, 32, 99, 111, 108, 111, 114, 46, 103, 32, 124, 124, 32, 48, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 91, 105, 93, 32, 61, 32, - 99, 111, 108, 111, 114, 46, 98, 32, 124, 124, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 115, 112, - 108, 105, 110, 101, 40, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, - 61, 32, 115, 112, 108, 105, 110, 101, 40, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 32, 61, 32, 115, 112, 108, 105, 110, 101, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 111, 108, 111, 114, 46, 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, 49, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 108, 111, 114, 46, 114, 32, 61, 32, 114, 40, 116, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 108, 111, 114, 46, 103, 32, 61, - 32, 103, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 108, 111, 114, 46, 98, 32, 61, 32, 98, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 108, 111, 114, 32, 43, - 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 114, 103, 98, 66, 97, 115, 105, 115, 32, 61, 32, 114, 103, 98, 83, 112, 108, 105, 110, 101, 40, 98, 97, - 115, 105, 115, 36, 50, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 114, 103, 98, 66, 97, 115, 105, - 115, 67, 108, 111, 115, 101, 100, 32, 61, 32, 114, 103, 98, 83, 112, 108, 105, 110, 101, 40, 98, 97, 115, - 105, 115, 67, 108, 111, 115, 101, 100, 36, 49, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 110, 117, 109, 98, 101, 114, 65, 114, 114, 97, 121, 40, 97, 44, 32, 98, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 41, 32, 98, 32, 61, 32, 91, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 97, 32, 63, 32, 77, - 97, 116, 104, 46, 109, 105, 110, 40, 98, 46, 108, 101, 110, 103, 116, 104, 44, 32, 97, 46, 108, 101, 110, - 103, 116, 104, 41, 32, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 32, 61, 32, 98, 46, 115, 108, 105, 99, 101, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, - 41, 32, 99, 91, 105, 93, 32, 61, 32, 97, 91, 105, 93, 32, 42, 32, 40, 49, 32, 45, 32, 116, 41, - 32, 43, 32, 98, 91, 105, 93, 32, 42, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 78, - 117, 109, 98, 101, 114, 65, 114, 114, 97, 121, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 46, 105, 115, 86, - 105, 101, 119, 40, 120, 41, 32, 38, 38, 32, 33, 40, 120, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, - 102, 32, 68, 97, 116, 97, 86, 105, 101, 119, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 114, 97, 121, 36, 51, 40, 97, 44, 32, 98, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 105, 115, 78, 117, - 109, 98, 101, 114, 65, 114, 114, 97, 121, 40, 98, 41, 32, 63, 32, 110, 117, 109, 98, 101, 114, 65, 114, - 114, 97, 121, 32, 58, 32, 103, 101, 110, 101, 114, 105, 99, 65, 114, 114, 97, 121, 41, 40, 97, 44, 32, - 98, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 103, 101, 110, 101, 114, 105, 99, 65, 114, 114, 97, 121, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 98, 32, 61, 32, 98, 32, 63, 32, 98, 46, 108, - 101, 110, 103, 116, 104, 32, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 110, 97, 32, 61, 32, 97, 32, 63, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 110, 98, 44, 32, 97, - 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 97, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, - 121, 40, 110, 98, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, - 32, 110, 97, 59, 32, 43, 43, 105, 41, 32, 120, 91, 105, 93, 32, 61, 32, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 101, 36, 50, 40, 97, 91, 105, 93, 44, 32, 98, 91, 105, 93, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 105, 32, 60, 32, 110, 98, 59, 32, 43, 43, - 105, 41, 32, 99, 91, 105, 93, 32, 61, 32, 98, 91, 105, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, - 32, 105, 32, 60, 32, 110, 97, 59, 32, 43, 43, 105, 41, 32, 99, 91, 105, 93, 32, 61, 32, 120, 91, - 105, 93, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 97, 116, 101, 36, 49, 40, 97, 44, - 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 110, - 101, 119, 32, 68, 97, 116, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 32, 61, 32, 43, 97, 44, 32, 98, 32, 61, 32, 43, 98, 44, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 100, 46, 115, 101, 116, 84, 105, 109, 101, 40, 97, 32, 42, 32, 40, 49, 32, 45, 32, - 116, 41, 32, 43, 32, 98, 32, 42, 32, 116, 41, 44, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 78, 117, 109, 98, 101, 114, 40, 97, 44, 32, 98, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 32, 61, 32, - 43, 97, 44, 32, 98, 32, 61, 32, 43, 98, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, - 32, 42, 32, 40, 49, 32, 45, 32, 116, 41, 32, 43, 32, 98, 32, 42, 32, 116, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 111, 98, 106, 101, 99, 116, 36, 49, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 123, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 123, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 107, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 32, - 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 116, 121, 112, 101, 111, 102, 32, 97, 32, 33, 61, - 61, 32, 34, 111, 98, 106, 101, 99, 116, 34, 41, 32, 97, 32, 61, 32, 123, 125, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, - 116, 121, 112, 101, 111, 102, 32, 98, 32, 33, 61, 61, 32, 34, 111, 98, 106, 101, 99, 116, 34, 41, 32, - 98, 32, 61, 32, 123, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 107, - 32, 105, 110, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 107, 32, 105, 110, 32, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 91, 107, 93, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, - 36, 50, 40, 97, 91, 107, 93, 44, 32, 98, 91, 107, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 91, 107, 93, 32, 61, 32, 98, 91, 107, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 107, - 32, 105, 110, 32, 105, 41, 32, 99, 91, 107, 93, 32, 61, 32, 105, 91, 107, 93, 40, 116, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 114, 101, 65, 32, 61, 32, 47, 91, 45, 43, 93, 63, 40, 63, 58, 92, 100, 43, 92, 46, 63, - 92, 100, 42, 124, 92, 46, 63, 92, 100, 43, 41, 40, 63, 58, 91, 101, 69, 93, 91, 45, 43, 93, 63, - 92, 100, 43, 41, 63, 47, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 66, 32, 61, 32, - 110, 101, 119, 32, 82, 101, 103, 69, 120, 112, 40, 114, 101, 65, 46, 115, 111, 117, 114, 99, 101, 44, 32, - 34, 103, 34, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 122, 101, 114, - 111, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 111, 110, 101, 40, - 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 98, 40, 116, 41, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 83, 116, 114, 105, 110, 103, 40, 97, 44, - 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 105, 32, 61, 32, - 114, 101, 65, 46, 108, 97, 115, 116, 73, 110, 100, 101, 120, 32, 61, 32, 114, 101, 66, 46, 108, 97, 115, - 116, 73, 110, 100, 101, 120, 32, 61, 32, 48, 44, 32, 47, 47, 32, 115, 99, 97, 110, 32, 105, 110, 100, - 101, 120, 32, 102, 111, 114, 32, 110, 101, 120, 116, 32, 110, 117, 109, 98, 101, 114, 32, 105, 110, 32, 98, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 109, 44, 32, 47, 47, 32, 99, 117, 114, - 114, 101, 110, 116, 32, 109, 97, 116, 99, 104, 32, 105, 110, 32, 97, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 98, 109, 44, 32, 47, 47, 32, 99, 117, 114, 114, 101, 110, 116, 32, 109, 97, 116, - 99, 104, 32, 105, 110, 32, 98, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 115, 44, - 32, 47, 47, 32, 115, 116, 114, 105, 110, 103, 32, 112, 114, 101, 99, 101, 100, 105, 110, 103, 32, 99, 117, - 114, 114, 101, 110, 116, 32, 110, 117, 109, 98, 101, 114, 32, 105, 110, 32, 98, 44, 32, 105, 102, 32, 97, - 110, 121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 45, 49, 44, 32, - 47, 47, 32, 105, 110, 100, 101, 120, 32, 105, 110, 32, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 32, 61, 32, 91, 93, 44, 32, 47, 47, 32, 115, 116, 114, 105, 110, 103, 32, 99, 111, - 110, 115, 116, 97, 110, 116, 115, 32, 97, 110, 100, 32, 112, 108, 97, 99, 101, 104, 111, 108, 100, 101, 114, - 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 91, 93, 59, 32, 47, - 47, 32, 110, 117, 109, 98, 101, 114, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 115, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 101, 114, 99, 101, 32, 105, 110, 112, 117, - 116, 115, 32, 116, 111, 32, 115, 116, 114, 105, 110, 103, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 32, 61, 32, 97, 32, 43, 32, 34, 34, 44, 32, 98, 32, 61, 32, 98, 32, 43, 32, 34, 34, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, - 101, 32, 112, 97, 105, 114, 115, 32, 111, 102, 32, 110, 117, 109, 98, 101, 114, 115, 32, 105, 110, 32, 97, - 32, 38, 32, 98, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 40, 97, - 109, 32, 61, 32, 114, 101, 65, 46, 101, 120, 101, 99, 40, 97, 41, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 38, 38, 32, 40, 98, 109, 32, 61, 32, 114, 101, 66, 46, 101, 120, 101, 99, 40, 98, 41, 41, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 98, 115, - 32, 61, 32, 98, 109, 46, 105, 110, 100, 101, 120, 41, 32, 62, 32, 98, 105, 41, 32, 123, 32, 47, 47, - 32, 97, 32, 115, 116, 114, 105, 110, 103, 32, 112, 114, 101, 99, 101, 100, 101, 115, 32, 116, 104, 101, 32, - 110, 101, 120, 116, 32, 110, 117, 109, 98, 101, 114, 32, 105, 110, 32, 98, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 115, 32, 61, 32, 98, 46, 115, 108, 105, 99, 101, 40, - 98, 105, 44, 32, 98, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 115, 91, 105, 93, 41, 32, 115, 91, 105, 93, 32, 43, 61, 32, 98, 115, 59, - 32, 47, 47, 32, 99, 111, 97, 108, 101, 115, 99, 101, 32, 119, 105, 116, 104, 32, 112, 114, 101, 118, 105, - 111, 117, 115, 32, 115, 116, 114, 105, 110, 103, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 101, 108, 115, 101, 32, 115, 91, 43, 43, 105, 93, 32, 61, 32, 98, 115, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 40, 97, 109, 32, 61, 32, 97, 109, 91, 48, 93, 41, 32, 61, 61, 61, 32, - 40, 98, 109, 32, 61, 32, 98, 109, 91, 48, 93, 41, 41, 32, 123, 32, 47, 47, 32, 110, 117, 109, 98, - 101, 114, 115, 32, 105, 110, 32, 97, 32, 38, 32, 98, 32, 109, 97, 116, 99, 104, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 91, 105, 93, 41, 32, 115, - 91, 105, 93, 32, 43, 61, 32, 98, 109, 59, 32, 47, 47, 32, 99, 111, 97, 108, 101, 115, 99, 101, 32, - 119, 105, 116, 104, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 115, 116, 114, 105, 110, 103, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 115, 91, 43, 43, - 105, 93, 32, 61, 32, 98, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, - 101, 108, 115, 101, 32, 123, 32, 47, 47, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 32, 110, - 111, 110, 45, 109, 97, 116, 99, 104, 105, 110, 103, 32, 110, 117, 109, 98, 101, 114, 115, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 91, 43, 43, 105, 93, 32, 61, 32, 110, - 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 46, - 112, 117, 115, 104, 40, 123, 105, 58, 32, 105, 44, 32, 120, 58, 32, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 78, 117, 109, 98, 101, 114, 40, 97, 109, 44, 32, 98, 109, 41, 125, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 98, 105, 32, 61, 32, 114, 101, 66, 46, 108, 97, 115, 116, 73, 110, 100, 101, 120, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 65, 100, 100, - 32, 114, 101, 109, 97, 105, 110, 115, 32, 111, 102, 32, 98, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 98, 105, 32, 60, 32, 98, 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 115, 32, 61, 32, 98, 46, 115, 108, 105, 99, 101, 40, - 98, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 91, - 105, 93, 41, 32, 115, 91, 105, 93, 32, 43, 61, 32, 98, 115, 59, 32, 47, 47, 32, 99, 111, 97, 108, - 101, 115, 99, 101, 32, 119, 105, 116, 104, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 115, 116, 114, 105, - 110, 103, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 115, 91, 43, - 43, 105, 93, 32, 61, 32, 98, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 83, 112, 101, 99, 105, 97, 108, 32, 111, 112, 116, 105, 109, 105, - 122, 97, 116, 105, 111, 110, 32, 102, 111, 114, 32, 111, 110, 108, 121, 32, 97, 32, 115, 105, 110, 103, 108, - 101, 32, 109, 97, 116, 99, 104, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, - 101, 114, 119, 105, 115, 101, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 32, 101, 97, 99, - 104, 32, 111, 102, 32, 116, 104, 101, 32, 110, 117, 109, 98, 101, 114, 115, 32, 97, 110, 100, 32, 114, 101, - 106, 111, 105, 110, 32, 116, 104, 101, 32, 115, 116, 114, 105, 110, 103, 46, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 46, 108, 101, 110, 103, 116, 104, 32, 60, 32, 50, 32, 63, - 32, 40, 113, 91, 48, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 111, 110, - 101, 40, 113, 91, 48, 93, 46, 120, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, - 32, 122, 101, 114, 111, 40, 98, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, - 32, 40, 98, 32, 61, 32, 113, 46, 108, 101, 110, 103, 116, 104, 44, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 111, 59, 32, 105, 32, 60, 32, - 98, 59, 32, 43, 43, 105, 41, 32, 115, 91, 40, 111, 32, 61, 32, 113, 91, 105, 93, 41, 46, 105, 93, - 32, 61, 32, 111, 46, 120, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 46, 106, 111, 105, 110, 40, 34, 34, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, - 101, 36, 50, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 116, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 98, 44, 32, 99, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 32, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, - 116, 32, 61, 61, 61, 32, 34, 98, 111, 111, 108, 101, 97, 110, 34, 32, 63, 32, 99, 111, 110, 115, 116, - 97, 110, 116, 36, 56, 40, 98, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, - 40, 116, 32, 61, 61, 61, 32, 34, 110, 117, 109, 98, 101, 114, 34, 32, 63, 32, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 78, 117, 109, 98, 101, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 58, 32, 116, 32, 61, 61, 61, 32, 34, 115, 116, 114, 105, 110, 103, 34, 32, - 63, 32, 40, 40, 99, 32, 61, 32, 99, 111, 108, 111, 114, 40, 98, 41, 41, 32, 63, 32, 40, 98, 32, - 61, 32, 99, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, 103, 98, 41, 32, 58, 32, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 83, 116, 114, 105, 110, 103, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 98, 32, 105, 110, 115, - 116, 97, 110, 99, 101, 111, 102, 32, 99, 111, 108, 111, 114, 32, 63, 32, 105, 110, 116, 101, 114, 112, 111, - 108, 97, 116, 101, 82, 103, 98, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 98, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, - 32, 68, 97, 116, 101, 32, 63, 32, 100, 97, 116, 101, 36, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 105, - 115, 78, 117, 109, 98, 101, 114, 65, 114, 114, 97, 121, 40, 98, 41, 32, 63, 32, 110, 117, 109, 98, 101, - 114, 65, 114, 114, 97, 121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 65, 114, 114, 97, 121, - 46, 105, 115, 65, 114, 114, 97, 121, 40, 98, 41, 32, 63, 32, 103, 101, 110, 101, 114, 105, 99, 65, 114, - 114, 97, 121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 116, 121, 112, 101, - 111, 102, 32, 98, 46, 118, 97, 108, 117, 101, 79, 102, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, - 105, 111, 110, 34, 32, 38, 38, 32, 116, 121, 112, 101, 111, 102, 32, 98, 46, 116, 111, 83, 116, 114, 105, - 110, 103, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 124, 124, 32, 105, 115, - 78, 97, 78, 40, 98, 41, 32, 63, 32, 111, 98, 106, 101, 99, 116, 36, 49, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 78, 117, 109, 98, 101, 114, 41, 40, 97, 44, 32, 98, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 105, 115, 99, 114, 101, 116, 101, 40, - 114, 97, 110, 103, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, - 61, 32, 114, 97, 110, 103, 101, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 103, 101, - 91, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 110, - 32, 45, 32, 49, 44, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 116, 32, 42, 32, 110, 41, - 41, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 117, 101, 40, 97, 44, 32, 98, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 104, 117, 101, 36, 49, - 40, 43, 97, 44, 32, 43, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 32, 61, 32, 105, 40, 116, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 45, 32, 51, 54, 48, 32, - 42, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 120, 32, 47, 32, 51, 54, 48, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, 111, 117, 110, - 100, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 97, 32, 61, 32, 43, 97, 44, 32, 98, 32, 61, 32, 43, 98, 44, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 97, 32, 42, 32, 40, 49, 32, - 45, 32, 116, 41, 32, 43, 32, 98, 32, 42, 32, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 100, 101, 103, 114, 101, - 101, 115, 36, 49, 32, 61, 32, 49, 56, 48, 32, 47, 32, 77, 97, 116, 104, 46, 80, 73, 59, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 55, 32, 61, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 88, 58, 32, 48, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 89, 58, 32, 48, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 116, 97, 116, 101, 58, 32, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 107, 101, 119, 88, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 99, 97, 108, 101, 88, 58, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, - 89, 58, 32, 49, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 100, 101, 99, 111, 109, 112, 111, 115, 101, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, - 44, 32, 101, 44, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, - 99, 97, 108, 101, 88, 44, 32, 115, 99, 97, 108, 101, 89, 44, 32, 115, 107, 101, 119, 88, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 99, 97, 108, 101, 88, 32, 61, 32, 77, 97, 116, - 104, 46, 115, 113, 114, 116, 40, 97, 32, 42, 32, 97, 32, 43, 32, 98, 32, 42, 32, 98, 41, 41, 32, - 97, 32, 47, 61, 32, 115, 99, 97, 108, 101, 88, 44, 32, 98, 32, 47, 61, 32, 115, 99, 97, 108, 101, - 88, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 107, 101, 119, 88, 32, 61, 32, - 97, 32, 42, 32, 99, 32, 43, 32, 98, 32, 42, 32, 100, 41, 32, 99, 32, 45, 61, 32, 97, 32, 42, - 32, 115, 107, 101, 119, 88, 44, 32, 100, 32, 45, 61, 32, 98, 32, 42, 32, 115, 107, 101, 119, 88, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 99, 97, 108, 101, 89, 32, 61, 32, 77, - 97, 116, 104, 46, 115, 113, 114, 116, 40, 99, 32, 42, 32, 99, 32, 43, 32, 100, 32, 42, 32, 100, 41, - 41, 32, 99, 32, 47, 61, 32, 115, 99, 97, 108, 101, 89, 44, 32, 100, 32, 47, 61, 32, 115, 99, 97, - 108, 101, 89, 44, 32, 115, 107, 101, 119, 88, 32, 47, 61, 32, 115, 99, 97, 108, 101, 89, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 32, 42, 32, 100, 32, 60, 32, 98, 32, 42, 32, - 99, 41, 32, 97, 32, 61, 32, 45, 97, 44, 32, 98, 32, 61, 32, 45, 98, 44, 32, 115, 107, 101, 119, - 88, 32, 61, 32, 45, 115, 107, 101, 119, 88, 44, 32, 115, 99, 97, 108, 101, 88, 32, 61, 32, 45, 115, - 99, 97, 108, 101, 88, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 88, - 58, 32, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 108, - 97, 116, 101, 89, 58, 32, 102, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, - 116, 97, 116, 101, 58, 32, 77, 97, 116, 104, 46, 97, 116, 97, 110, 50, 40, 98, 44, 32, 97, 41, 32, - 42, 32, 100, 101, 103, 114, 101, 101, 115, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 107, 101, 119, 88, 58, 32, 77, 97, 116, 104, 46, 97, 116, 97, 110, 40, 115, 107, 101, 119, - 88, 41, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 88, 58, 32, 115, 99, 97, 108, 101, 88, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 89, 58, 32, 115, 99, 97, 108, 101, - 89, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 118, 97, 114, 32, 115, 118, 103, 78, 111, 100, 101, 59, 10, 10, 32, 32, 32, 32, 47, 42, 32, 101, - 115, 108, 105, 110, 116, 45, 100, 105, 115, 97, 98, 108, 101, 32, 110, 111, 45, 117, 110, 100, 101, 102, 32, - 42, 47, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 67, 115, - 115, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, - 116, 32, 109, 32, 61, 32, 110, 101, 119, 32, 40, 116, 121, 112, 101, 111, 102, 32, 68, 79, 77, 77, 97, - 116, 114, 105, 120, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 68, - 79, 77, 77, 97, 116, 114, 105, 120, 32, 58, 32, 87, 101, 98, 75, 105, 116, 67, 83, 83, 77, 97, 116, - 114, 105, 120, 41, 40, 118, 97, 108, 117, 101, 32, 43, 32, 34, 34, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 46, 105, 115, 73, 100, 101, 110, 116, 105, 116, 121, 32, - 63, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 55, 32, 58, 32, 100, 101, 99, 111, 109, 112, 111, 115, - 101, 40, 109, 46, 97, 44, 32, 109, 46, 98, 44, 32, 109, 46, 99, 44, 32, 109, 46, 100, 44, 32, 109, - 46, 101, 44, 32, 109, 46, 102, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 83, 118, 103, 40, 118, 97, 108, 117, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 61, 61, 32, - 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 55, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 115, 118, 103, 78, 111, 100, 101, 41, - 32, 115, 118, 103, 78, 111, 100, 101, 32, 61, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 114, 101, - 97, 116, 101, 69, 108, 101, 109, 101, 110, 116, 78, 83, 40, 34, 104, 116, 116, 112, 58, 47, 47, 119, 119, - 119, 46, 119, 51, 46, 111, 114, 103, 47, 50, 48, 48, 48, 47, 115, 118, 103, 34, 44, 32, 34, 103, 34, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 118, 103, 78, 111, 100, 101, 46, 115, 101, 116, 65, - 116, 116, 114, 105, 98, 117, 116, 101, 40, 34, 116, 114, 97, 110, 115, 102, 111, 114, 109, 34, 44, 32, 118, - 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 118, 97, - 108, 117, 101, 32, 61, 32, 115, 118, 103, 78, 111, 100, 101, 46, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 46, 98, 97, 115, 101, 86, 97, 108, 46, 99, 111, 110, 115, 111, 108, 105, 100, 97, 116, 101, 40, 41, 41, - 41, 32, 114, 101, 116, 117, 114, 110, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 55, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 46, 109, 97, 116, - 114, 105, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 101, 99, - 111, 109, 112, 111, 115, 101, 40, 118, 97, 108, 117, 101, 46, 97, 44, 32, 118, 97, 108, 117, 101, 46, 98, - 44, 32, 118, 97, 108, 117, 101, 46, 99, 44, 32, 118, 97, 108, 117, 101, 46, 100, 44, 32, 118, 97, 108, - 117, 101, 46, 101, 44, 32, 118, 97, 108, 117, 101, 46, 102, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, - 101, 84, 114, 97, 110, 115, 102, 111, 114, 109, 40, 112, 97, 114, 115, 101, 44, 32, 112, 120, 67, 111, 109, - 109, 97, 44, 32, 112, 120, 80, 97, 114, 101, 110, 44, 32, 100, 101, 103, 80, 97, 114, 101, 110, 41, 32, - 123, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 112, - 40, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 115, 46, 112, 111, 112, 40, 41, 32, 43, 32, - 34, 32, 34, 32, 58, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 108, 97, 116, - 101, 40, 120, 97, 44, 32, 121, 97, 44, 32, 120, 98, 44, 32, 121, 98, 44, 32, 115, 44, 32, 113, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 97, 32, 33, - 61, 61, 32, 120, 98, 32, 124, 124, 32, 121, 97, 32, 33, 61, 61, 32, 121, 98, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, - 115, 46, 112, 117, 115, 104, 40, 34, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 34, 44, 32, 110, 117, - 108, 108, 44, 32, 112, 120, 67, 111, 109, 109, 97, 44, 32, 110, 117, 108, 108, 44, 32, 112, 120, 80, 97, - 114, 101, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, - 46, 112, 117, 115, 104, 40, 123, 105, 58, 32, 105, 32, 45, 32, 52, 44, 32, 120, 58, 32, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 78, 117, 109, 98, 101, 114, 40, 120, 97, 44, 32, 120, 98, 41, 125, - 44, 32, 123, 105, 58, 32, 105, 32, 45, 32, 50, 44, 32, 120, 58, 32, 105, 110, 116, 101, 114, 112, 111, - 108, 97, 116, 101, 78, 117, 109, 98, 101, 114, 40, 121, 97, 44, 32, 121, 98, 41, 125, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 120, - 98, 32, 124, 124, 32, 121, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 46, 112, 117, 115, 104, 40, 34, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 34, - 32, 43, 32, 120, 98, 32, 43, 32, 112, 120, 67, 111, 109, 109, 97, 32, 43, 32, 121, 98, 32, 43, 32, - 112, 120, 80, 97, 114, 101, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 114, 111, 116, 97, 116, 101, 40, 97, 44, 32, 98, 44, 32, 115, 44, 32, 113, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 32, 33, - 61, 61, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 97, 32, 45, 32, 98, 32, 62, 32, 49, 56, 48, 41, 32, 98, 32, 43, 61, 32, - 51, 54, 48, 59, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 98, 32, 45, 32, 97, 32, 62, 32, 49, - 56, 48, 41, 32, 97, 32, 43, 61, 32, 51, 54, 48, 59, 32, 47, 47, 32, 115, 104, 111, 114, 116, 101, - 115, 116, 32, 112, 97, 116, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 113, 46, 112, 117, 115, 104, 40, 123, 105, 58, 32, 115, 46, 112, 117, 115, 104, 40, 112, 111, 112, 40, - 115, 41, 32, 43, 32, 34, 114, 111, 116, 97, 116, 101, 40, 34, 44, 32, 110, 117, 108, 108, 44, 32, 100, - 101, 103, 80, 97, 114, 101, 110, 41, 32, 45, 32, 50, 44, 32, 120, 58, 32, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 101, 78, 117, 109, 98, 101, 114, 40, 97, 44, 32, 98, 41, 125, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 98, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 46, 112, 117, - 115, 104, 40, 112, 111, 112, 40, 115, 41, 32, 43, 32, 34, 114, 111, 116, 97, 116, 101, 40, 34, 32, 43, - 32, 98, 32, 43, 32, 100, 101, 103, 80, 97, 114, 101, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 107, 101, 119, 88, 40, 97, 44, 32, 98, 44, - 32, 115, 44, 32, 113, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 97, 32, 33, 61, 61, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 113, 46, 112, 117, 115, 104, 40, 123, 105, 58, 32, 115, 46, 112, 117, 115, 104, - 40, 112, 111, 112, 40, 115, 41, 32, 43, 32, 34, 115, 107, 101, 119, 88, 40, 34, 44, 32, 110, 117, 108, - 108, 44, 32, 100, 101, 103, 80, 97, 114, 101, 110, 41, 32, 45, 32, 50, 44, 32, 120, 58, 32, 105, 110, - 116, 101, 114, 112, 111, 108, 97, 116, 101, 78, 117, 109, 98, 101, 114, 40, 97, 44, 32, 98, 41, 125, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, - 32, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 46, 112, 117, 115, 104, 40, 112, 111, 112, 40, 115, 41, 32, 43, 32, 34, 115, 107, 101, 119, 88, 40, - 34, 32, 43, 32, 98, 32, 43, 32, 100, 101, 103, 80, 97, 114, 101, 110, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, 101, 40, 120, 97, - 44, 32, 121, 97, 44, 32, 120, 98, 44, 32, 121, 98, 44, 32, 115, 44, 32, 113, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 97, 32, 33, 61, 61, 32, 120, - 98, 32, 124, 124, 32, 121, 97, 32, 33, 61, 61, 32, 121, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 115, 46, 112, 117, - 115, 104, 40, 112, 111, 112, 40, 115, 41, 32, 43, 32, 34, 115, 99, 97, 108, 101, 40, 34, 44, 32, 110, - 117, 108, 108, 44, 32, 34, 44, 34, 44, 32, 110, 117, 108, 108, 44, 32, 34, 41, 34, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 46, 112, 117, 115, 104, 40, 123, - 105, 58, 32, 105, 32, 45, 32, 52, 44, 32, 120, 58, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, - 101, 78, 117, 109, 98, 101, 114, 40, 120, 97, 44, 32, 120, 98, 41, 125, 44, 32, 123, 105, 58, 32, 105, - 32, 45, 32, 50, 44, 32, 120, 58, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 78, 117, 109, - 98, 101, 114, 40, 121, 97, 44, 32, 121, 98, 41, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 120, 98, 32, 33, 61, 61, 32, 49, - 32, 124, 124, 32, 121, 98, 32, 33, 61, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 46, 112, 117, 115, 104, 40, 112, 111, 112, 40, 115, 41, 32, - 43, 32, 34, 115, 99, 97, 108, 101, 40, 34, 32, 43, 32, 120, 98, 32, 43, 32, 34, 44, 34, 32, 43, - 32, 121, 98, 32, 43, 32, 34, 41, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 44, 32, 98, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 32, 61, 32, 91, 93, 44, - 32, 47, 47, 32, 115, 116, 114, 105, 110, 103, 32, 99, 111, 110, 115, 116, 97, 110, 116, 115, 32, 97, 110, - 100, 32, 112, 108, 97, 99, 101, 104, 111, 108, 100, 101, 114, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 91, 93, 59, 32, 47, 47, 32, 110, 117, 109, 98, - 101, 114, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 115, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 112, 97, 114, 115, 101, 40, 97, 41, 44, 32, 98, 32, 61, - 32, 112, 97, 114, 115, 101, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 97, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 88, 44, - 32, 97, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 89, 44, 32, 98, 46, 116, 114, 97, 110, 115, 108, - 97, 116, 101, 88, 44, 32, 98, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 89, 44, 32, 115, 44, 32, - 113, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 116, 97, 116, 101, 40, - 97, 46, 114, 111, 116, 97, 116, 101, 44, 32, 98, 46, 114, 111, 116, 97, 116, 101, 44, 32, 115, 44, 32, - 113, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 107, 101, 119, 88, 40, 97, - 46, 115, 107, 101, 119, 88, 44, 32, 98, 46, 115, 107, 101, 119, 88, 44, 32, 115, 44, 32, 113, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 40, 97, 46, 115, 99, - 97, 108, 101, 88, 44, 32, 97, 46, 115, 99, 97, 108, 101, 89, 44, 32, 98, 46, 115, 99, 97, 108, 101, - 88, 44, 32, 98, 46, 115, 99, 97, 108, 101, 89, 44, 32, 115, 44, 32, 113, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 98, 32, 61, 32, 110, 117, 108, 108, 59, 32, - 47, 47, 32, 103, 99, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 44, 32, 110, 32, - 61, 32, 113, 46, 108, 101, 110, 103, 116, 104, 44, 32, 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, - 32, 115, 91, 40, 111, 32, 61, 32, 113, 91, 105, 93, 41, 46, 105, 93, 32, 61, 32, 111, 46, 120, 40, - 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 115, 46, 106, 111, 105, 110, 40, 34, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 84, - 114, 97, 110, 115, 102, 111, 114, 109, 67, 115, 115, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 84, 114, 97, 110, 115, 102, 111, 114, 109, 40, 112, 97, 114, 115, 101, 67, 115, 115, 44, 32, 34, - 112, 120, 44, 32, 34, 44, 32, 34, 112, 120, 41, 34, 44, 32, 34, 100, 101, 103, 41, 34, 41, 59, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 83, 118, 103, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 84, - 114, 97, 110, 115, 102, 111, 114, 109, 40, 112, 97, 114, 115, 101, 83, 118, 103, 44, 32, 34, 44, 32, 34, - 44, 32, 34, 41, 34, 44, 32, 34, 41, 34, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 101, - 112, 115, 105, 108, 111, 110, 50, 36, 49, 32, 61, 32, 49, 101, 45, 49, 50, 59, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 115, 104, 40, 120, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 40, 120, 32, 61, 32, 77, 97, 116, 104, 46, - 101, 120, 112, 40, 120, 41, 41, 32, 43, 32, 49, 32, 47, 32, 120, 41, 32, 47, 32, 50, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 105, 110, 104, - 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 40, - 120, 32, 61, 32, 77, 97, 116, 104, 46, 101, 120, 112, 40, 120, 41, 41, 32, 45, 32, 49, 32, 47, 32, - 120, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 116, 97, 110, 104, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 40, 40, 120, 32, 61, 32, 77, 97, 116, 104, 46, 101, 120, 112, 40, 50, - 32, 42, 32, 120, 41, 41, 32, 45, 32, 49, 41, 32, 47, 32, 40, 120, 32, 43, 32, 49, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 90, 111, 111, 109, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 122, 111, 111, - 109, 82, 104, 111, 40, 114, 104, 111, 44, 32, 114, 104, 111, 50, 44, 32, 114, 104, 111, 52, 41, 32, 123, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 112, 48, 32, 61, 32, 91, 117, 120, 48, 44, - 32, 117, 121, 48, 44, 32, 119, 48, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 112, 49, - 32, 61, 32, 91, 117, 120, 49, 44, 32, 117, 121, 49, 44, 32, 119, 49, 93, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 122, 111, 111, 109, 40, 112, 48, 44, 32, 112, 49, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 117, 120, 48, - 32, 61, 32, 112, 48, 91, 48, 93, 44, 32, 117, 121, 48, 32, 61, 32, 112, 48, 91, 49, 93, 44, 32, - 119, 48, 32, 61, 32, 112, 48, 91, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 117, 120, 49, 32, 61, 32, 112, 49, 91, 48, 93, 44, 32, 117, 121, 49, 32, 61, - 32, 112, 49, 91, 49, 93, 44, 32, 119, 49, 32, 61, 32, 112, 49, 91, 50, 93, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, 32, 117, 120, 49, 32, 45, - 32, 117, 120, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 121, 32, 61, 32, 117, 121, 49, 32, 45, 32, 117, 121, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 50, 32, 61, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, - 100, 121, 32, 42, 32, 100, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 83, 112, 101, 99, 105, 97, - 108, 32, 99, 97, 115, 101, 32, 102, 111, 114, 32, 117, 48, 32, 226, 137, 133, 32, 117, 49, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 50, 32, 60, 32, 101, 112, 115, - 105, 108, 111, 110, 50, 36, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 83, 32, 61, 32, 77, 97, 116, 104, 46, 108, 111, 103, 40, 119, 49, 32, 47, 32, 119, - 48, 41, 32, 47, 32, 114, 104, 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 117, 120, 48, 32, 43, 32, 116, 32, 42, 32, 100, 120, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 121, 48, - 32, 43, 32, 116, 32, 42, 32, 100, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 48, 32, 42, 32, 77, 97, 116, 104, 46, 101, - 120, 112, 40, 114, 104, 111, 32, 42, 32, 116, 32, 42, 32, 83, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 71, 101, 110, 101, - 114, 97, 108, 32, 99, 97, 115, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, - 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 100, 49, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 100, 50, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 48, 32, - 61, 32, 40, 119, 49, 32, 42, 32, 119, 49, 32, 45, 32, 119, 48, 32, 42, 32, 119, 48, 32, 43, 32, - 114, 104, 111, 52, 32, 42, 32, 100, 50, 41, 32, 47, 32, 40, 50, 32, 42, 32, 119, 48, 32, 42, 32, - 114, 104, 111, 50, 32, 42, 32, 100, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 49, 32, 61, 32, 40, 119, 49, 32, 42, 32, 119, 49, 32, - 45, 32, 119, 48, 32, 42, 32, 119, 48, 32, 45, 32, 114, 104, 111, 52, 32, 42, 32, 100, 50, 41, 32, - 47, 32, 40, 50, 32, 42, 32, 119, 49, 32, 42, 32, 114, 104, 111, 50, 32, 42, 32, 100, 49, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 48, - 32, 61, 32, 77, 97, 116, 104, 46, 108, 111, 103, 40, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 98, - 48, 32, 42, 32, 98, 48, 32, 43, 32, 49, 41, 32, 45, 32, 98, 48, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 49, 32, 61, 32, 77, 97, - 116, 104, 46, 108, 111, 103, 40, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 98, 49, 32, 42, 32, 98, - 49, 32, 43, 32, 49, 41, 32, 45, 32, 98, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 83, 32, 61, 32, 40, 114, 49, 32, 45, 32, 114, 48, 41, 32, 47, 32, - 114, 104, 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 32, 61, 32, 116, 32, - 42, 32, 83, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 111, 115, 104, 114, 48, 32, 61, 32, 99, 111, 115, 104, 40, 114, 48, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 117, 32, 61, 32, 119, 48, 32, 47, 32, 40, 114, 104, 111, 50, 32, 42, 32, 100, 49, 41, - 32, 42, 32, 40, 99, 111, 115, 104, 114, 48, 32, 42, 32, 116, 97, 110, 104, 40, 114, 104, 111, 32, 42, - 32, 115, 32, 43, 32, 114, 48, 41, 32, 45, 32, 115, 105, 110, 104, 40, 114, 48, 41, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 117, 120, 48, 32, 43, 32, 117, 32, 42, 32, 100, 120, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 121, - 48, 32, 43, 32, 117, 32, 42, 32, 100, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 48, 32, 42, 32, 99, 111, 115, 104, 114, - 48, 32, 47, 32, 99, 111, 115, 104, 40, 114, 104, 111, 32, 42, 32, 115, 32, 43, 32, 114, 48, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 46, 100, 117, 114, 97, 116, 105, 111, 110, 32, 61, 32, 83, 32, 42, 32, 49, 48, 48, 48, 32, 42, - 32, 114, 104, 111, 32, 47, 32, 77, 97, 116, 104, 46, 83, 81, 82, 84, 50, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 114, 104, 111, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 49, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, - 40, 49, 101, 45, 51, 44, 32, 43, 95, 41, 44, 32, 95, 50, 32, 61, 32, 95, 49, 32, 42, 32, 95, - 49, 44, 32, 95, 52, 32, 61, 32, 95, 50, 32, 42, 32, 95, 50, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 122, 111, 111, 109, 82, 104, 111, 40, 95, 49, - 44, 32, 95, 50, 44, 32, 95, 52, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 122, 111, 111, 109, 59, 10, 32, 32, - 32, 32, 125, 41, 40, 77, 97, 116, 104, 46, 83, 81, 82, 84, 50, 44, 32, 50, 44, 32, 52, 41, 59, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 115, 108, 40, 104, 117, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 104, 117, 101, 40, 40, 115, 116, 97, - 114, 116, 32, 61, 32, 104, 115, 108, 36, 50, 40, 115, 116, 97, 114, 116, 41, 41, 46, 104, 44, 32, 40, - 101, 110, 100, 32, 61, 32, 104, 115, 108, 36, 50, 40, 101, 110, 100, 41, 41, 46, 104, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, 110, 111, 103, 97, - 109, 109, 97, 40, 115, 116, 97, 114, 116, 46, 115, 44, 32, 101, 110, 100, 46, 115, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 110, 111, 103, 97, 109, - 109, 97, 40, 115, 116, 97, 114, 116, 46, 108, 44, 32, 101, 110, 100, 46, 108, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, - 110, 111, 103, 97, 109, 109, 97, 40, 115, 116, 97, 114, 116, 46, 111, 112, 97, 99, 105, 116, 121, 44, 32, - 101, 110, 100, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, - 104, 32, 61, 32, 104, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 116, 97, 114, 116, 46, 115, 32, 61, 32, 115, 40, 116, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, 108, 32, 61, 32, 108, - 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, - 97, 114, 116, 46, 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, 111, 112, 97, 99, 105, 116, 121, 40, 116, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 115, 116, 97, 114, 116, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 104, 115, 108, 36, 49, 32, 61, 32, 104, 115, 108, 40, 104, 117, - 101, 36, 49, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 104, 115, 108, 76, 111, 110, 103, 32, 61, - 32, 104, 115, 108, 40, 110, 111, 103, 97, 109, 109, 97, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 108, 97, 98, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 110, 111, 103, 97, 109, 109, - 97, 40, 40, 115, 116, 97, 114, 116, 32, 61, 32, 108, 97, 98, 36, 49, 40, 115, 116, 97, 114, 116, 41, - 41, 46, 108, 44, 32, 40, 101, 110, 100, 32, 61, 32, 108, 97, 98, 36, 49, 40, 101, 110, 100, 41, 41, - 46, 108, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 110, 111, - 103, 97, 109, 109, 97, 40, 115, 116, 97, 114, 116, 46, 97, 44, 32, 101, 110, 100, 46, 97, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 110, 111, 103, 97, 109, 109, 97, - 40, 115, 116, 97, 114, 116, 46, 98, 44, 32, 101, 110, 100, 46, 98, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, 110, 111, 103, 97, 109, 109, - 97, 40, 115, 116, 97, 114, 116, 46, 111, 112, 97, 99, 105, 116, 121, 44, 32, 101, 110, 100, 46, 111, 112, - 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 116, 97, 114, 116, 46, 108, 32, 61, 32, 108, 40, 116, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, 97, 32, 61, 32, 97, 40, 116, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, 98, 32, 61, 32, - 98, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, - 46, 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, 111, 112, 97, 99, 105, 116, 121, 40, 116, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 97, 114, - 116, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 99, 108, 40, 104, 117, 101, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 104, 117, 101, 40, 40, 115, 116, - 97, 114, 116, 32, 61, 32, 104, 99, 108, 36, 50, 40, 115, 116, 97, 114, 116, 41, 41, 46, 104, 44, 32, - 40, 101, 110, 100, 32, 61, 32, 104, 99, 108, 36, 50, 40, 101, 110, 100, 41, 41, 46, 104, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 110, 111, 103, - 97, 109, 109, 97, 40, 115, 116, 97, 114, 116, 46, 99, 44, 32, 101, 110, 100, 46, 99, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 110, 111, 103, 97, - 109, 109, 97, 40, 115, 116, 97, 114, 116, 46, 108, 44, 32, 101, 110, 100, 46, 108, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 112, 97, 99, 105, 116, 121, 32, 61, - 32, 110, 111, 103, 97, 109, 109, 97, 40, 115, 116, 97, 114, 116, 46, 111, 112, 97, 99, 105, 116, 121, 44, - 32, 101, 110, 100, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, - 46, 104, 32, 61, 32, 104, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, 99, 32, 61, 32, 99, 40, 116, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, 108, 32, 61, 32, - 108, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 116, 97, 114, 116, 46, 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, 111, 112, 97, 99, 105, 116, 121, 40, - 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 115, 116, 97, 114, 116, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 104, 99, 108, 36, 49, 32, 61, 32, 104, 99, 108, 40, 104, - 117, 101, 36, 49, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 104, 99, 108, 76, 111, 110, 103, 32, - 61, 32, 104, 99, 108, 40, 110, 111, 103, 97, 109, 109, 97, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 49, 40, 104, 117, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 71, 97, 109, 109, 97, 40, 121, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 43, 121, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, - 98, 101, 104, 101, 108, 105, 120, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, - 104, 117, 101, 40, 40, 115, 116, 97, 114, 116, 32, 61, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, - 51, 40, 115, 116, 97, 114, 116, 41, 41, 46, 104, 44, 32, 40, 101, 110, 100, 32, 61, 32, 99, 117, 98, - 101, 104, 101, 108, 105, 120, 36, 51, 40, 101, 110, 100, 41, 41, 46, 104, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, 110, 111, 103, - 97, 109, 109, 97, 40, 115, 116, 97, 114, 116, 46, 115, 44, 32, 101, 110, 100, 46, 115, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, - 110, 111, 103, 97, 109, 109, 97, 40, 115, 116, 97, 114, 116, 46, 108, 44, 32, 101, 110, 100, 46, 108, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, - 112, 97, 99, 105, 116, 121, 32, 61, 32, 110, 111, 103, 97, 109, 109, 97, 40, 115, 116, 97, 114, 116, 46, - 111, 112, 97, 99, 105, 116, 121, 44, 32, 101, 110, 100, 46, 111, 112, 97, 99, 105, 116, 121, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, 104, 32, 61, 32, 104, 40, - 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 116, 97, 114, 116, 46, 115, 32, 61, 32, 115, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, 108, 32, 61, - 32, 108, 40, 77, 97, 116, 104, 46, 112, 111, 119, 40, 116, 44, 32, 121, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 46, - 111, 112, 97, 99, 105, 116, 121, 32, 61, 32, 111, 112, 97, 99, 105, 116, 121, 40, 116, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 115, 116, 97, 114, 116, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 98, 101, 104, 101, 108, 105, - 120, 46, 103, 97, 109, 109, 97, 32, 61, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 71, 97, 109, 109, - 97, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 99, 117, 98, 101, 104, 101, 108, 105, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 40, 49, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 117, 98, 101, 104, - 101, 108, 105, 120, 36, 50, 32, 61, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 49, 40, 104, 117, - 101, 36, 49, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, - 76, 111, 110, 103, 32, 61, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 49, 40, 110, 111, 103, 97, - 109, 109, 97, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 105, 101, - 99, 101, 119, 105, 115, 101, 40, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 44, 32, 118, 97, 108, - 117, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, - 101, 115, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 118, 97, 108, 117, 101, - 115, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 44, 32, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 101, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 36, 50, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, - 118, 97, 108, 117, 101, 115, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 44, 32, 118, 32, 61, 32, - 118, 97, 108, 117, 101, 115, 91, 48, 93, 44, 32, 73, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, - 121, 40, 110, 32, 60, 32, 48, 32, 63, 32, 48, 32, 58, 32, 110, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 105, 32, 60, 32, 110, 41, 32, 73, 91, 105, 93, 32, 61, - 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 118, 44, 32, 118, 32, 61, 32, 118, 97, 108, - 117, 101, 115, 91, 43, 43, 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, - 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 110, 32, 45, 32, 49, 44, 32, 77, 97, 116, 104, - 46, 102, 108, 111, 111, 114, 40, 116, 32, 42, 61, 32, 110, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 73, 91, 105, 93, 40, 116, 32, 45, 32, - 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 113, 117, 97, 110, 116, 105, 122, 101, 36, 49, 40, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 44, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 97, 109, 112, 108, 101, 115, 32, 61, 32, 110, 101, 119, 32, 65, - 114, 114, 97, 121, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, - 97, 114, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 115, - 97, 109, 112, 108, 101, 115, 91, 105, 93, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, - 114, 40, 105, 32, 47, 32, 40, 110, 32, 45, 32, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 115, 97, 109, 112, 108, 101, 115, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 102, 114, 97, 109, 101, 32, 61, 32, 48, 44, 32, 47, 47, 32, - 105, 115, 32, 97, 110, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 102, 114, 97, 109, 101, 32, 112, - 101, 110, 100, 105, 110, 103, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 109, 101, 111, 117, 116, - 36, 49, 32, 61, 32, 48, 44, 32, 47, 47, 32, 105, 115, 32, 97, 32, 116, 105, 109, 101, 111, 117, 116, - 32, 112, 101, 110, 100, 105, 110, 103, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, - 118, 97, 108, 36, 49, 32, 61, 32, 48, 44, 32, 47, 47, 32, 97, 114, 101, 32, 97, 110, 121, 32, 116, - 105, 109, 101, 114, 115, 32, 97, 99, 116, 105, 118, 101, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 111, 107, 101, 68, 101, 108, 97, 121, 32, 61, 32, 49, 48, 48, 48, 44, 32, 47, 47, 32, 104, 111, 119, - 32, 102, 114, 101, 113, 117, 101, 110, 116, 108, 121, 32, 119, 101, 32, 99, 104, 101, 99, 107, 32, 102, 111, - 114, 32, 99, 108, 111, 99, 107, 32, 115, 107, 101, 119, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, - 115, 107, 72, 101, 97, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 115, 107, 84, 97, 105, - 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 111, 99, 107, 76, 97, 115, 116, 32, 61, 32, - 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 111, 99, 107, 78, 111, 119, 32, 61, 32, 48, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 111, 99, 107, 83, 107, 101, 119, 32, 61, 32, 48, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 111, 99, 107, 32, 61, 32, 116, 121, 112, 101, 111, - 102, 32, 112, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 32, 61, 61, 61, 32, 34, 111, 98, 106, 101, - 99, 116, 34, 32, 38, 38, 32, 112, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 46, 110, 111, 119, 32, - 63, 32, 112, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 32, 58, 32, 68, 97, 116, 101, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 70, 114, 97, 109, 101, 32, 61, 32, 116, 121, 112, 101, 111, - 102, 32, 119, 105, 110, 100, 111, 119, 32, 61, 61, 61, 32, 34, 111, 98, 106, 101, 99, 116, 34, 32, 38, - 38, 32, 119, 105, 110, 100, 111, 119, 46, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, - 111, 110, 70, 114, 97, 109, 101, 32, 63, 32, 119, 105, 110, 100, 111, 119, 46, 114, 101, 113, 117, 101, 115, - 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 46, 98, 105, 110, 100, 40, 119, 105, - 110, 100, 111, 119, 41, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 102, 41, 32, 123, 32, 115, - 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 102, 44, 32, 49, 55, 41, 59, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 119, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 108, 111, 99, 107, 78, 111, 119, 32, 124, 124, - 32, 40, 115, 101, 116, 70, 114, 97, 109, 101, 40, 99, 108, 101, 97, 114, 78, 111, 119, 41, 44, 32, 99, - 108, 111, 99, 107, 78, 111, 119, 32, 61, 32, 99, 108, 111, 99, 107, 46, 110, 111, 119, 40, 41, 32, 43, - 32, 99, 108, 111, 99, 107, 83, 107, 101, 119, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, 101, 97, 114, 78, 111, 119, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 111, 99, 107, 78, 111, 119, 32, 61, 32, 48, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 84, 105, 109, 101, - 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 108, - 108, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 116, - 105, 109, 101, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 110, 101, 120, 116, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 84, 105, 109, 101, 114, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, - 32, 116, 105, 109, 101, 114, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 32, 84, 105, 109, 101, - 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 116, 97, 114, 116, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 99, 97, 108, 108, 98, 97, 99, 107, 44, 32, 100, 101, 108, 97, 121, 44, 32, - 116, 105, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 116, 121, 112, 101, 111, 102, 32, 99, 97, 108, 108, 98, 97, 99, 107, 32, 33, 61, 61, 32, 34, 102, - 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, - 101, 69, 114, 114, 111, 114, 40, 34, 99, 97, 108, 108, 98, 97, 99, 107, 32, 105, 115, 32, 110, 111, 116, - 32, 97, 32, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 105, 109, 101, 32, 61, 32, 40, 116, 105, 109, 101, 32, 61, 61, 32, 110, 117, 108, - 108, 32, 63, 32, 110, 111, 119, 40, 41, 32, 58, 32, 43, 116, 105, 109, 101, 41, 32, 43, 32, 40, 100, - 101, 108, 97, 121, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 48, 32, 58, 32, 43, 100, 101, 108, - 97, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 116, - 104, 105, 115, 46, 95, 110, 101, 120, 116, 32, 38, 38, 32, 116, 97, 115, 107, 84, 97, 105, 108, 32, 33, - 61, 61, 32, 116, 104, 105, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 116, 97, 115, 107, 84, 97, 105, 108, 41, 32, 116, 97, 115, 107, 84, - 97, 105, 108, 46, 95, 110, 101, 120, 116, 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 116, 97, 115, 107, 72, 101, 97, - 100, 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 97, 115, 107, 84, 97, 105, 108, 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 95, 99, 97, 108, 108, 32, 61, 32, 99, 97, 108, 108, 98, 97, 99, 107, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 116, 105, 109, 101, 32, - 61, 32, 116, 105, 109, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 108, 101, - 101, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 116, 111, 112, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 99, 97, 108, - 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 99, 97, 108, 108, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 116, 105, 109, 101, 32, 61, 32, - 73, 110, 102, 105, 110, 105, 116, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 108, 101, 101, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 105, 109, 101, 114, 40, 99, 97, 108, 108, 98, 97, - 99, 107, 44, 32, 100, 101, 108, 97, 121, 44, 32, 116, 105, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 116, 32, 61, 32, 110, 101, 119, 32, 84, 105, 109, 101, 114, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 46, 114, 101, 115, 116, 97, 114, 116, 40, 99, 97, 108, 108, 98, - 97, 99, 107, 44, 32, 100, 101, 108, 97, 121, 44, 32, 116, 105, 109, 101, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 105, 109, 101, 114, 70, 108, 117, 115, 104, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 119, 40, 41, 59, 32, 47, 47, 32, 71, 101, - 116, 32, 116, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 116, 105, 109, 101, 44, 32, 105, 102, 32, - 110, 111, 116, 32, 97, 108, 114, 101, 97, 100, 121, 32, 115, 101, 116, 46, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 43, 43, 102, 114, 97, 109, 101, 59, 32, 47, 47, 32, 80, 114, 101, 116, 101, 110, 100, 32, 119, - 101, 226, 128, 153, 118, 101, 32, 115, 101, 116, 32, 97, 110, 32, 97, 108, 97, 114, 109, 44, 32, 105, 102, - 32, 119, 101, 32, 104, 97, 118, 101, 110, 226, 128, 153, 116, 32, 97, 108, 114, 101, 97, 100, 121, 46, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 32, 61, 32, 116, 97, 115, 107, 72, 101, 97, - 100, 44, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 101, 32, 61, - 32, 99, 108, 111, 99, 107, 78, 111, 119, 32, 45, 32, 116, 46, 95, 116, 105, 109, 101, 41, 32, 62, 61, - 32, 48, 41, 32, 116, 46, 95, 99, 97, 108, 108, 46, 99, 97, 108, 108, 40, 110, 117, 108, 108, 44, 32, - 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 116, 46, 95, - 110, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 45, 45, 102, 114, 97, 109, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 119, 97, 107, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 108, 111, 99, 107, 78, 111, 119, 32, 61, 32, 40, 99, 108, 111, 99, 107, 76, 97, 115, 116, 32, - 61, 32, 99, 108, 111, 99, 107, 46, 110, 111, 119, 40, 41, 41, 32, 43, 32, 99, 108, 111, 99, 107, 83, - 107, 101, 119, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 97, 109, 101, 32, 61, 32, 116, 105, - 109, 101, 111, 117, 116, 36, 49, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, - 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 109, 101, 114, 70, 108, - 117, 115, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 102, 105, 110, 97, 108, 108, - 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 97, 109, 101, 32, 61, - 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 112, 40, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 111, 99, 107, 78, 111, 119, 32, 61, 32, - 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 107, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, 119, 32, 61, 32, 99, 108, 111, 99, 107, 46, 110, 111, 119, - 40, 41, 44, 32, 100, 101, 108, 97, 121, 32, 61, 32, 110, 111, 119, 32, 45, 32, 99, 108, 111, 99, 107, - 76, 97, 115, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 101, 108, 97, 121, - 32, 62, 32, 112, 111, 107, 101, 68, 101, 108, 97, 121, 41, 32, 99, 108, 111, 99, 107, 83, 107, 101, 119, - 32, 45, 61, 32, 100, 101, 108, 97, 121, 44, 32, 99, 108, 111, 99, 107, 76, 97, 115, 116, 32, 61, 32, - 110, 111, 119, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 110, 97, 112, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, - 48, 44, 32, 116, 49, 32, 61, 32, 116, 97, 115, 107, 72, 101, 97, 100, 44, 32, 116, 50, 44, 32, 116, - 105, 109, 101, 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 119, 104, 105, 108, 101, 32, 40, 116, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 116, 49, 46, 95, 99, 97, 108, 108, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 105, 109, 101, 32, 62, 32, - 116, 49, 46, 95, 116, 105, 109, 101, 41, 32, 116, 105, 109, 101, 32, 61, 32, 116, 49, 46, 95, 116, 105, - 109, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 48, 32, - 61, 32, 116, 49, 44, 32, 116, 49, 32, 61, 32, 116, 49, 46, 95, 110, 101, 120, 116, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 50, 32, 61, 32, 116, 49, 46, 95, 110, 101, - 120, 116, 44, 32, 116, 49, 46, 95, 110, 101, 120, 116, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 49, 32, 61, 32, 116, 48, 32, 63, - 32, 116, 48, 46, 95, 110, 101, 120, 116, 32, 61, 32, 116, 50, 32, 58, 32, 116, 97, 115, 107, 72, 101, - 97, 100, 32, 61, 32, 116, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 115, 107, 84, - 97, 105, 108, 32, 61, 32, 116, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 108, 101, 101, 112, - 40, 116, 105, 109, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 115, 108, 101, 101, 112, 40, 116, 105, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 102, 114, 97, 109, 101, 41, 32, 114, 101, 116, 117, 114, 110, 59, 32, - 47, 47, 32, 83, 111, 111, 110, 101, 115, 116, 32, 97, 108, 97, 114, 109, 32, 97, 108, 114, 101, 97, 100, - 121, 32, 115, 101, 116, 44, 32, 111, 114, 32, 119, 105, 108, 108, 32, 98, 101, 46, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 116, 105, 109, 101, 111, 117, 116, 36, 49, 41, 32, 116, 105, 109, 101, - 111, 117, 116, 36, 49, 32, 61, 32, 99, 108, 101, 97, 114, 84, 105, 109, 101, 111, 117, 116, 40, 116, 105, - 109, 101, 111, 117, 116, 36, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, - 101, 108, 97, 121, 32, 61, 32, 116, 105, 109, 101, 32, 45, 32, 99, 108, 111, 99, 107, 78, 111, 119, 59, - 32, 47, 47, 32, 83, 116, 114, 105, 99, 116, 108, 121, 32, 108, 101, 115, 115, 32, 116, 104, 97, 110, 32, - 105, 102, 32, 119, 101, 32, 114, 101, 99, 111, 109, 112, 117, 116, 101, 100, 32, 99, 108, 111, 99, 107, 78, - 111, 119, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 101, 108, 97, 121, 32, 62, - 32, 50, 52, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 116, 105, 109, 101, 32, 60, 32, 73, 110, 102, 105, 110, 105, 116, 121, 41, 32, 116, 105, 109, 101, 111, 117, - 116, 36, 49, 32, 61, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 119, 97, 107, 101, 44, 32, - 116, 105, 109, 101, 32, 45, 32, 99, 108, 111, 99, 107, 46, 110, 111, 119, 40, 41, 32, 45, 32, 99, 108, - 111, 99, 107, 83, 107, 101, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 105, 110, 116, 101, 114, 118, 97, 108, 36, 49, 41, 32, 105, 110, 116, 101, 114, 118, 97, 108, - 36, 49, 32, 61, 32, 99, 108, 101, 97, 114, 73, 110, 116, 101, 114, 118, 97, 108, 40, 105, 110, 116, 101, - 114, 118, 97, 108, 36, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 116, - 101, 114, 118, 97, 108, 36, 49, 41, 32, 99, 108, 111, 99, 107, 76, 97, 115, 116, 32, 61, 32, 99, 108, - 111, 99, 107, 46, 110, 111, 119, 40, 41, 44, 32, 105, 110, 116, 101, 114, 118, 97, 108, 36, 49, 32, 61, - 32, 115, 101, 116, 73, 110, 116, 101, 114, 118, 97, 108, 40, 112, 111, 107, 101, 44, 32, 112, 111, 107, 101, - 68, 101, 108, 97, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 97, - 109, 101, 32, 61, 32, 49, 44, 32, 115, 101, 116, 70, 114, 97, 109, 101, 40, 119, 97, 107, 101, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 116, 105, 109, 101, 111, 117, 116, 40, 99, 97, 108, 108, 98, 97, 99, - 107, 44, 32, 100, 101, 108, 97, 121, 44, 32, 116, 105, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 116, 32, 61, 32, 110, 101, 119, 32, 84, 105, 109, 101, 114, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 97, 121, 32, 61, 32, 100, 101, 108, 97, 121, 32, 61, 61, - 32, 110, 117, 108, 108, 32, 63, 32, 48, 32, 58, 32, 43, 100, 101, 108, 97, 121, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 46, 114, 101, 115, 116, 97, 114, 116, 40, 101, 108, 97, 112, 115, 101, 100, 32, - 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 46, 115, 116, 111, 112, - 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 108, 108, 98, 97, 99, - 107, 40, 101, 108, 97, 112, 115, 101, 100, 32, 43, 32, 100, 101, 108, 97, 121, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 44, 32, 100, 101, 108, 97, 121, 44, 32, 116, 105, 109, 101, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 118, 97, 108, 40, - 99, 97, 108, 108, 98, 97, 99, 107, 44, 32, 100, 101, 108, 97, 121, 44, 32, 116, 105, 109, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 32, 61, 32, 110, 101, 119, 32, 84, - 105, 109, 101, 114, 44, 32, 116, 111, 116, 97, 108, 32, 61, 32, 100, 101, 108, 97, 121, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 101, 108, 97, 121, 32, 61, 61, 32, 110, 117, 108, 108, - 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 46, 114, 101, 115, 116, 97, 114, 116, 40, 99, 97, 108, 108, - 98, 97, 99, 107, 44, 32, 100, 101, 108, 97, 121, 44, 32, 116, 105, 109, 101, 41, 44, 32, 116, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 46, 95, 114, 101, 115, 116, 97, 114, 116, 32, 61, 32, 116, 46, - 114, 101, 115, 116, 97, 114, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 46, 114, 101, 115, 116, - 97, 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 97, 108, 108, 98, 97, 99, 107, - 44, 32, 100, 101, 108, 97, 121, 44, 32, 116, 105, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 101, 108, 97, 121, 32, 61, 32, 43, 100, 101, 108, 97, 121, 44, 32, 116, - 105, 109, 101, 32, 61, 32, 116, 105, 109, 101, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 111, - 119, 40, 41, 32, 58, 32, 43, 116, 105, 109, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 46, 95, 114, 101, 115, 116, 97, 114, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, - 105, 99, 107, 40, 101, 108, 97, 112, 115, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 97, 112, 115, 101, 100, 32, 43, 61, 32, 116, 111, 116, 97, - 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 46, 95, 114, - 101, 115, 116, 97, 114, 116, 40, 116, 105, 99, 107, 44, 32, 116, 111, 116, 97, 108, 32, 43, 61, 32, 100, - 101, 108, 97, 121, 44, 32, 116, 105, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 97, 108, 108, 98, 97, 99, 107, 40, 101, 108, 97, 112, 115, 101, 100, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 100, 101, 108, 97, 121, 44, - 32, 116, 105, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 46, 114, 101, 115, 116, 97, 114, 116, 40, 99, 97, 108, 108, 98, 97, 99, 107, 44, - 32, 100, 101, 108, 97, 121, 44, 32, 116, 105, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 101, 109, 112, 116, 121, 79, 110, 32, 61, 32, 100, 105, 115, 112, 97, 116, 99, 104, 40, 34, 115, - 116, 97, 114, 116, 34, 44, 32, 34, 101, 110, 100, 34, 44, 32, 34, 99, 97, 110, 99, 101, 108, 34, 44, - 32, 34, 105, 110, 116, 101, 114, 114, 117, 112, 116, 34, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 101, 109, 112, 116, 121, 84, 119, 101, 101, 110, 32, 61, 32, 91, 93, 59, 10, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 67, 82, 69, 65, 84, 69, 68, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 83, 67, 72, 69, 68, 85, 76, 69, 68, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 83, 84, 65, 82, 84, 73, 78, 71, 32, 61, 32, 50, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 83, 84, 65, 82, 84, 69, 68, 32, 61, 32, 51, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 82, 85, - 78, 78, 73, 78, 71, 32, 61, 32, 52, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 69, 78, 68, 73, - 78, 71, 32, 61, 32, 53, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 69, 78, 68, 69, 68, 32, 61, - 32, 54, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 104, 101, 100, - 117, 108, 101, 40, 110, 111, 100, 101, 44, 32, 110, 97, 109, 101, 44, 32, 105, 100, 44, 32, 105, 110, 100, - 101, 120, 44, 32, 103, 114, 111, 117, 112, 44, 32, 116, 105, 109, 105, 110, 103, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 100, 117, 108, 101, 115, 32, 61, 32, 110, - 111, 100, 101, 46, 95, 95, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 33, 115, 99, 104, 101, 100, 117, 108, 101, 115, 41, 32, 110, 111, 100, 101, - 46, 95, 95, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 61, 32, 123, 125, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 105, 100, 32, 105, 110, 32, 115, 99, 104, - 101, 100, 117, 108, 101, 115, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 114, 101, 97, 116, 101, 40, 110, 111, 100, 101, 44, 32, 105, 100, 44, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 110, 97, 109, 101, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 100, 101, 120, 58, 32, 105, 110, 100, 101, 120, 44, - 32, 47, 47, 32, 70, 111, 114, 32, 99, 111, 110, 116, 101, 120, 116, 32, 100, 117, 114, 105, 110, 103, 32, - 99, 97, 108, 108, 98, 97, 99, 107, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, - 114, 111, 117, 112, 58, 32, 103, 114, 111, 117, 112, 44, 32, 47, 47, 32, 70, 111, 114, 32, 99, 111, 110, - 116, 101, 120, 116, 32, 100, 117, 114, 105, 110, 103, 32, 99, 97, 108, 108, 98, 97, 99, 107, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 110, 58, 32, 101, 109, 112, 116, 121, 79, 110, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, 58, 32, 101, 109, 112, - 116, 121, 84, 119, 101, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, - 109, 101, 58, 32, 116, 105, 109, 105, 110, 103, 46, 116, 105, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 101, 108, 97, 121, 58, 32, 116, 105, 109, 105, 110, 103, 46, 100, 101, 108, - 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, 105, 111, - 110, 58, 32, 116, 105, 109, 105, 110, 103, 46, 100, 117, 114, 97, 116, 105, 111, 110, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 97, 115, 101, 58, 32, 116, 105, 109, 105, 110, 103, 46, 101, - 97, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 109, 101, 114, 58, - 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 116, - 101, 58, 32, 67, 82, 69, 65, 84, 69, 68, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, - 116, 40, 110, 111, 100, 101, 44, 32, 105, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 115, 99, 104, 101, 100, 117, 108, 101, 32, 61, 32, 103, 101, 116, 40, 110, 111, 100, 101, 44, - 32, 105, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 99, 104, 101, 100, - 117, 108, 101, 46, 115, 116, 97, 116, 101, 32, 62, 32, 67, 82, 69, 65, 84, 69, 68, 41, 32, 116, 104, - 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 116, 111, 111, 32, 108, 97, 116, 101, - 59, 32, 97, 108, 114, 101, 97, 100, 121, 32, 115, 99, 104, 101, 100, 117, 108, 101, 100, 34, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 104, 101, 100, 117, 108, 101, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, - 101, 116, 40, 110, 111, 100, 101, 44, 32, 105, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 99, 104, 101, 100, 117, 108, 101, 32, 61, 32, 103, 101, 116, 40, 110, 111, 100, 101, - 44, 32, 105, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 99, 104, 101, - 100, 117, 108, 101, 46, 115, 116, 97, 116, 101, 32, 62, 32, 83, 84, 65, 82, 84, 69, 68, 41, 32, 116, - 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 116, 111, 111, 32, 108, 97, 116, - 101, 59, 32, 97, 108, 114, 101, 97, 100, 121, 32, 114, 117, 110, 110, 105, 110, 103, 34, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 104, 101, 100, 117, 108, 101, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 101, - 116, 40, 110, 111, 100, 101, 44, 32, 105, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 115, 99, 104, 101, 100, 117, 108, 101, 32, 61, 32, 110, 111, 100, 101, 46, 95, 95, 116, 114, - 97, 110, 115, 105, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, - 115, 99, 104, 101, 100, 117, 108, 101, 32, 124, 124, 32, 33, 40, 115, 99, 104, 101, 100, 117, 108, 101, 32, - 61, 32, 115, 99, 104, 101, 100, 117, 108, 101, 91, 105, 100, 93, 41, 41, 32, 116, 104, 114, 111, 119, 32, - 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 110, - 111, 116, 32, 102, 111, 117, 110, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 115, 99, 104, 101, 100, 117, 108, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 114, 101, 97, 116, 101, 40, 110, 111, 100, 101, 44, - 32, 105, 100, 44, 32, 115, 101, 108, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 115, 99, 104, 101, 100, 117, 108, 101, 115, 32, 61, 32, 110, 111, 100, 101, 46, 95, 95, 116, 114, - 97, 110, 115, 105, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 119, 101, 101, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 110, 105, 116, 105, - 97, 108, 105, 122, 101, 32, 116, 104, 101, 32, 115, 101, 108, 102, 32, 116, 105, 109, 101, 114, 32, 119, 104, - 101, 110, 32, 116, 104, 101, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 105, 115, 32, 99, 114, - 101, 97, 116, 101, 100, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 78, 111, 116, 101, 32, - 116, 104, 101, 32, 97, 99, 116, 117, 97, 108, 32, 100, 101, 108, 97, 121, 32, 105, 115, 32, 110, 111, 116, - 32, 107, 110, 111, 119, 110, 32, 117, 110, 116, 105, 108, 32, 116, 104, 101, 32, 102, 105, 114, 115, 116, 32, - 99, 97, 108, 108, 98, 97, 99, 107, 33, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, 100, - 117, 108, 101, 115, 91, 105, 100, 93, 32, 61, 32, 115, 101, 108, 102, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 101, 108, 102, 46, 116, 105, 109, 101, 114, 32, 61, 32, 116, 105, 109, 101, 114, 40, 115, 99, - 104, 101, 100, 117, 108, 101, 44, 32, 48, 44, 32, 115, 101, 108, 102, 46, 116, 105, 109, 101, 41, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 104, 101, 100, - 117, 108, 101, 40, 101, 108, 97, 112, 115, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 101, 108, 102, 46, 115, 116, 97, 116, 101, 32, 61, 32, 83, 67, 72, 69, 68, 85, - 76, 69, 68, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 116, - 105, 109, 101, 114, 46, 114, 101, 115, 116, 97, 114, 116, 40, 115, 116, 97, 114, 116, 44, 32, 115, 101, 108, - 102, 46, 100, 101, 108, 97, 121, 44, 32, 115, 101, 108, 102, 46, 116, 105, 109, 101, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 32, 101, 108, - 97, 112, 115, 101, 100, 32, 100, 101, 108, 97, 121, 32, 105, 115, 32, 108, 101, 115, 115, 32, 116, 104, 97, - 110, 32, 111, 117, 114, 32, 102, 105, 114, 115, 116, 32, 115, 108, 101, 101, 112, 44, 32, 115, 116, 97, 114, - 116, 32, 105, 109, 109, 101, 100, 105, 97, 116, 101, 108, 121, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 115, 101, 108, 102, 46, 100, 101, 108, 97, 121, 32, 60, 61, 32, 101, - 108, 97, 112, 115, 101, 100, 41, 32, 115, 116, 97, 114, 116, 40, 101, 108, 97, 112, 115, 101, 100, 32, 45, - 32, 115, 101, 108, 102, 46, 100, 101, 108, 97, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 97, 114, - 116, 40, 101, 108, 97, 112, 115, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 105, 44, 32, 106, 44, 32, 110, 44, 32, 111, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 32, 115, 116, 97, 116, 101, - 32, 105, 115, 32, 110, 111, 116, 32, 83, 67, 72, 69, 68, 85, 76, 69, 68, 44, 32, 116, 104, 101, 110, - 32, 119, 101, 32, 112, 114, 101, 118, 105, 111, 117, 115, 108, 121, 32, 101, 114, 114, 111, 114, 101, 100, 32, - 111, 110, 32, 115, 116, 97, 114, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 115, 101, 108, 102, 46, 115, 116, 97, 116, 101, 32, 33, 61, 61, 32, 83, 67, 72, 69, 68, - 85, 76, 69, 68, 41, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 111, 112, 40, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 105, 110, 32, 115, 99, - 104, 101, 100, 117, 108, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 111, 32, 61, 32, 115, 99, 104, 101, 100, 117, 108, 101, 115, 91, 105, 93, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 46, 110, 97, - 109, 101, 32, 33, 61, 61, 32, 115, 101, 108, 102, 46, 110, 97, 109, 101, 41, 32, 99, 111, 110, 116, 105, - 110, 117, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 87, 104, 105, 108, 101, 32, 116, 104, 105, 115, 32, 101, 108, 101, 109, 101, 110, 116, 32, 97, 108, - 114, 101, 97, 100, 121, 32, 104, 97, 115, 32, 97, 32, 115, 116, 97, 114, 116, 105, 110, 103, 32, 116, 114, - 97, 110, 115, 105, 116, 105, 111, 110, 32, 100, 117, 114, 105, 110, 103, 32, 116, 104, 105, 115, 32, 102, 114, - 97, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, - 32, 100, 101, 102, 101, 114, 32, 115, 116, 97, 114, 116, 105, 110, 103, 32, 97, 110, 32, 105, 110, 116, 101, - 114, 114, 117, 112, 116, 105, 110, 103, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 117, 110, 116, - 105, 108, 32, 116, 104, 97, 116, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 104, 97, 115, 32, - 97, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 99, 104, - 97, 110, 99, 101, 32, 116, 111, 32, 116, 105, 99, 107, 32, 40, 97, 110, 100, 32, 112, 111, 115, 115, 105, - 98, 108, 121, 32, 101, 110, 100, 41, 59, 32, 115, 101, 101, 32, 100, 51, 47, 100, 51, 45, 116, 114, 97, - 110, 115, 105, 116, 105, 111, 110, 35, 53, 52, 33, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 46, 115, 116, 97, 116, 101, 32, 61, 61, 61, 32, 83, 84, - 65, 82, 84, 69, 68, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 105, 109, 101, 111, 117, 116, 40, 115, - 116, 97, 114, 116, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 73, 110, 116, 101, 114, 114, 117, 112, 116, 32, 116, 104, 101, 32, 97, 99, 116, 105, 118, - 101, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 44, 32, 105, 102, 32, 97, 110, 121, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 46, 115, 116, - 97, 116, 101, 32, 61, 61, 61, 32, 82, 85, 78, 78, 73, 78, 71, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 46, 115, 116, 97, 116, 101, - 32, 61, 32, 69, 78, 68, 69, 68, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 111, 46, 116, 105, 109, 101, 114, 46, 115, 116, 111, 112, 40, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 46, 111, - 110, 46, 99, 97, 108, 108, 40, 34, 105, 110, 116, 101, 114, 114, 117, 112, 116, 34, 44, 32, 110, 111, 100, - 101, 44, 32, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, 32, 111, 46, 105, 110, 100, - 101, 120, 44, 32, 111, 46, 103, 114, 111, 117, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 115, 99, 104, 101, 100, - 117, 108, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, - 32, 67, 97, 110, 99, 101, 108, 32, 97, 110, 121, 32, 112, 114, 101, 45, 101, 109, 112, 116, 101, 100, 32, - 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 43, 105, 32, 60, 32, 105, 100, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 111, 46, 115, 116, 97, 116, 101, 32, 61, 32, 69, 78, 68, 69, 68, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 46, 116, 105, 109, 101, 114, 46, 115, - 116, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 111, 46, 111, 110, 46, 99, 97, 108, 108, 40, 34, 99, 97, 110, 99, 101, 108, 34, 44, - 32, 110, 111, 100, 101, 44, 32, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, 32, 111, - 46, 105, 110, 100, 101, 120, 44, 32, 111, 46, 103, 114, 111, 117, 112, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 115, - 99, 104, 101, 100, 117, 108, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 68, 101, 102, 101, 114, 32, 116, 104, - 101, 32, 102, 105, 114, 115, 116, 32, 116, 105, 99, 107, 32, 116, 111, 32, 101, 110, 100, 32, 111, 102, 32, - 116, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 102, 114, 97, 109, 101, 59, 32, 115, 101, 101, 32, - 100, 51, 47, 100, 51, 35, 49, 53, 55, 54, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 78, 111, 116, 101, 32, 116, 104, 101, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, - 32, 109, 97, 121, 32, 98, 101, 32, 99, 97, 110, 99, 101, 108, 101, 100, 32, 97, 102, 116, 101, 114, 32, - 115, 116, 97, 114, 116, 32, 97, 110, 100, 32, 98, 101, 102, 111, 114, 101, 32, 116, 104, 101, 32, 102, 105, - 114, 115, 116, 32, 116, 105, 99, 107, 33, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 78, 111, 116, 101, 32, 116, 104, 105, 115, 32, 109, 117, 115, 116, 32, 98, 101, 32, 115, 99, 104, - 101, 100, 117, 108, 101, 100, 32, 98, 101, 102, 111, 114, 101, 32, 116, 104, 101, 32, 115, 116, 97, 114, 116, - 32, 101, 118, 101, 110, 116, 59, 32, 115, 101, 101, 32, 100, 51, 47, 100, 51, 45, 116, 114, 97, 110, 115, - 105, 116, 105, 111, 110, 35, 49, 54, 33, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 65, 115, 115, 117, 109, 105, 110, 103, 32, 116, 104, 105, 115, 32, 105, 115, 32, 115, 117, 99, 99, - 101, 115, 115, 102, 117, 108, 44, 32, 115, 117, 98, 115, 101, 113, 117, 101, 110, 116, 32, 99, 97, 108, 108, - 98, 97, 99, 107, 115, 32, 103, 111, 32, 115, 116, 114, 97, 105, 103, 104, 116, 32, 116, 111, 32, 116, 105, - 99, 107, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 109, 101, 111, 117, 116, - 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 101, 108, 102, 46, 115, 116, 97, 116, 101, 32, 61, - 61, 61, 32, 83, 84, 65, 82, 84, 69, 68, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 115, 116, 97, 116, 101, 32, 61, - 32, 82, 85, 78, 78, 73, 78, 71, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 116, 105, 109, 101, 114, 46, 114, 101, 115, 116, 97, - 114, 116, 40, 116, 105, 99, 107, 44, 32, 115, 101, 108, 102, 46, 100, 101, 108, 97, 121, 44, 32, 115, 101, - 108, 102, 46, 116, 105, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 40, 101, 108, 97, 112, 115, 101, 100, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 47, 47, 32, 68, 105, 115, 112, 97, 116, 99, 104, 32, 116, 104, 101, 32, 115, 116, 97, 114, 116, 32, 101, - 118, 101, 110, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 78, 111, - 116, 101, 32, 116, 104, 105, 115, 32, 109, 117, 115, 116, 32, 98, 101, 32, 100, 111, 110, 101, 32, 98, 101, - 102, 111, 114, 101, 32, 116, 104, 101, 32, 116, 119, 101, 101, 110, 32, 97, 114, 101, 32, 105, 110, 105, 116, - 105, 97, 108, 105, 122, 101, 100, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, - 108, 102, 46, 115, 116, 97, 116, 101, 32, 61, 32, 83, 84, 65, 82, 84, 73, 78, 71, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 111, 110, 46, 99, 97, 108, 108, 40, - 34, 115, 116, 97, 114, 116, 34, 44, 32, 110, 111, 100, 101, 44, 32, 110, 111, 100, 101, 46, 95, 95, 100, - 97, 116, 97, 95, 95, 44, 32, 115, 101, 108, 102, 46, 105, 110, 100, 101, 120, 44, 32, 115, 101, 108, 102, - 46, 103, 114, 111, 117, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 115, 101, 108, 102, 46, 115, 116, 97, 116, 101, 32, 33, 61, 61, 32, 83, 84, 65, 82, 84, 73, - 78, 71, 41, 32, 114, 101, 116, 117, 114, 110, 59, 32, 47, 47, 32, 105, 110, 116, 101, 114, 114, 117, 112, - 116, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 115, 116, - 97, 116, 101, 32, 61, 32, 83, 84, 65, 82, 84, 69, 68, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 47, 47, 32, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 32, 116, 104, 101, 32, - 116, 119, 101, 101, 110, 44, 32, 100, 101, 108, 101, 116, 105, 110, 103, 32, 110, 117, 108, 108, 32, 116, 119, - 101, 101, 110, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, 32, - 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 32, 61, 32, 115, 101, 108, 102, 46, 116, 119, - 101, 101, 110, 46, 108, 101, 110, 103, 116, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 44, 32, 106, 32, 61, 32, 45, 49, 59, 32, 105, - 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 32, 61, 32, 115, 101, 108, 102, 46, 116, 119, 101, 101, - 110, 91, 105, 93, 46, 118, 97, 108, 117, 101, 46, 99, 97, 108, 108, 40, 110, 111, 100, 101, 44, 32, 110, - 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, 32, 115, 101, 108, 102, 46, 105, 110, 100, 101, - 120, 44, 32, 115, 101, 108, 102, 46, 103, 114, 111, 117, 112, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, 91, 43, 43, - 106, 93, 32, 61, 32, 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, 46, 108, 101, 110, 103, 116, 104, 32, 61, 32, 106, 32, - 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 105, 99, 107, 40, 101, 108, 97, 112, 115, 101, 100, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 32, 61, 32, - 101, 108, 97, 112, 115, 101, 100, 32, 60, 32, 115, 101, 108, 102, 46, 100, 117, 114, 97, 116, 105, 111, 110, - 32, 63, 32, 115, 101, 108, 102, 46, 101, 97, 115, 101, 46, 99, 97, 108, 108, 40, 110, 117, 108, 108, 44, - 32, 101, 108, 97, 112, 115, 101, 100, 32, 47, 32, 115, 101, 108, 102, 46, 100, 117, 114, 97, 116, 105, 111, - 110, 41, 32, 58, 32, 40, 115, 101, 108, 102, 46, 116, 105, 109, 101, 114, 46, 114, 101, 115, 116, 97, 114, - 116, 40, 115, 116, 111, 112, 41, 44, 32, 115, 101, 108, 102, 46, 115, 116, 97, 116, 101, 32, 61, 32, 69, - 78, 68, 73, 78, 71, 44, 32, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 32, 61, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 32, 61, 32, 116, 119, 101, 101, 110, 46, 108, 101, 110, 103, 116, 104, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, - 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 119, 101, 101, 110, 91, 105, 93, 46, 99, 97, 108, 108, 40, 110, 111, 100, 101, 44, 32, 116, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 68, 105, 115, 112, 97, 116, 99, 104, 32, 116, 104, 101, 32, 101, - 110, 100, 32, 101, 118, 101, 110, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 115, 101, 108, 102, 46, 115, 116, 97, 116, 101, 32, 61, 61, 61, 32, 69, 78, 68, 73, 78, - 71, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, - 108, 102, 46, 111, 110, 46, 99, 97, 108, 108, 40, 34, 101, 110, 100, 34, 44, 32, 110, 111, 100, 101, 44, - 32, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, 32, 115, 101, 108, 102, 46, 105, 110, - 100, 101, 120, 44, 32, 115, 101, 108, 102, 46, 103, 114, 111, 117, 112, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 111, 112, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 115, 116, 97, 116, 101, - 32, 61, 32, 69, 78, 68, 69, 68, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 101, 108, 102, 46, 116, 105, 109, 101, 114, 46, 115, 116, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 115, 99, 104, 101, 100, 117, 108, 101, 115, - 91, 105, 100, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 118, 97, 114, 32, 105, 32, 105, 110, 32, 115, 99, 104, 101, 100, 117, 108, 101, 115, 41, 32, 114, 101, 116, - 117, 114, 110, 59, 32, 47, 47, 32, 101, 115, 108, 105, 110, 116, 45, 100, 105, 115, 97, 98, 108, 101, 45, - 108, 105, 110, 101, 32, 110, 111, 45, 117, 110, 117, 115, 101, 100, 45, 118, 97, 114, 115, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 110, 111, 100, 101, 46, 95, 95, - 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, - 114, 114, 117, 112, 116, 40, 110, 111, 100, 101, 44, 32, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 100, 117, 108, 101, 115, 32, 61, 32, 110, 111, - 100, 101, 46, 95, 95, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, 100, 117, 108, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 101, 109, 112, 116, 121, 32, 61, 32, 116, 114, 117, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 115, - 99, 104, 101, 100, 117, 108, 101, 115, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 110, 97, 109, 101, 32, 61, 32, 110, 97, 109, 101, 32, 61, 61, 32, 110, 117, 108, 108, - 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 110, 97, 109, 101, 32, 43, 32, 34, 34, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 105, 110, 32, 115, 99, 104, 101, 100, 117, - 108, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 40, 115, 99, 104, 101, 100, 117, 108, 101, 32, 61, 32, 115, 99, 104, 101, 100, 117, 108, 101, 115, 91, 105, - 93, 41, 46, 110, 97, 109, 101, 32, 33, 61, 61, 32, 110, 97, 109, 101, 41, 32, 123, 32, 101, 109, 112, - 116, 121, 32, 61, 32, 102, 97, 108, 115, 101, 59, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 32, 61, 32, 115, - 99, 104, 101, 100, 117, 108, 101, 46, 115, 116, 97, 116, 101, 32, 62, 32, 83, 84, 65, 82, 84, 73, 78, - 71, 32, 38, 38, 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, 115, 116, 97, 116, 101, 32, 60, 32, 69, - 78, 68, 73, 78, 71, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, - 100, 117, 108, 101, 46, 115, 116, 97, 116, 101, 32, 61, 32, 69, 78, 68, 69, 68, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, 116, 105, 109, 101, 114, - 46, 115, 116, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, - 104, 101, 100, 117, 108, 101, 46, 111, 110, 46, 99, 97, 108, 108, 40, 97, 99, 116, 105, 118, 101, 32, 63, - 32, 34, 105, 110, 116, 101, 114, 114, 117, 112, 116, 34, 32, 58, 32, 34, 99, 97, 110, 99, 101, 108, 34, - 44, 32, 110, 111, 100, 101, 44, 32, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, 32, - 115, 99, 104, 101, 100, 117, 108, 101, 46, 105, 110, 100, 101, 120, 44, 32, 115, 99, 104, 101, 100, 117, 108, - 101, 46, 103, 114, 111, 117, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 101, 108, 101, 116, 101, 32, 115, 99, 104, 101, 100, 117, 108, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 109, 112, - 116, 121, 41, 32, 100, 101, 108, 101, 116, 101, 32, 110, 111, 100, 101, 46, 95, 95, 116, 114, 97, 110, 115, - 105, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 105, 110, 116, 101, 114, 114, 117, 112, 116, - 40, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 114, 117, 112, 116, 40, - 116, 104, 105, 115, 44, 32, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, - 119, 101, 101, 110, 82, 101, 109, 111, 118, 101, 40, 105, 100, 44, 32, 110, 97, 109, 101, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 119, 101, 101, 110, 48, 44, 32, 116, 119, 101, - 101, 110, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 115, 99, 104, 101, 100, 117, 108, 101, 32, 61, 32, 115, 101, 116, 40, 116, 104, 105, 115, 44, - 32, 105, 100, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 119, 101, 101, 110, 32, 61, 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, 116, 119, 101, 101, 110, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 105, 115, - 32, 110, 111, 100, 101, 32, 115, 104, 97, 114, 101, 100, 32, 116, 119, 101, 101, 110, 32, 119, 105, 116, 104, - 32, 116, 104, 101, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 110, 111, 100, 101, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 106, 117, 115, 116, 32, 97, 115, 115, 105, 103, 110, - 32, 116, 104, 101, 32, 117, 112, 100, 97, 116, 101, 100, 32, 115, 104, 97, 114, 101, 100, 32, 116, 119, 101, - 101, 110, 32, 97, 110, 100, 32, 119, 101, 226, 128, 153, 114, 101, 32, 100, 111, 110, 101, 33, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, 101, 114, 119, 105, 115, 101, 44, - 32, 99, 111, 112, 121, 45, 111, 110, 45, 119, 114, 105, 116, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 119, 101, 101, 110, 32, 33, 61, 61, 32, 116, 119, 101, 101, - 110, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 119, 101, 101, 110, 49, 32, 61, 32, 116, 119, 101, 101, 110, 48, 32, 61, 32, 116, 119, 101, 101, 110, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, - 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 116, 119, 101, 101, 110, 49, 46, 108, 101, - 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 119, - 101, 101, 110, 49, 91, 105, 93, 46, 110, 97, 109, 101, 32, 61, 61, 61, 32, 110, 97, 109, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 119, 101, 101, 110, 49, 32, 61, 32, 116, 119, 101, 101, 110, 49, 46, 115, 108, 105, 99, - 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, 49, 46, 115, 112, 108, 105, 99, 101, 40, 105, 44, 32, - 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, 116, 119, 101, 101, - 110, 32, 61, 32, 116, 119, 101, 101, 110, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 119, 101, - 101, 110, 70, 117, 110, 99, 116, 105, 111, 110, 40, 105, 100, 44, 32, 110, 97, 109, 101, 44, 32, 118, 97, - 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 119, 101, 101, - 110, 48, 44, 32, 116, 119, 101, 101, 110, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, - 116, 105, 111, 110, 34, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, - 99, 104, 101, 100, 117, 108, 101, 32, 61, 32, 115, 101, 116, 40, 116, 104, 105, 115, 44, 32, 105, 100, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, - 32, 61, 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, 116, 119, 101, 101, 110, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 105, 115, 32, 110, 111, 100, - 101, 32, 115, 104, 97, 114, 101, 100, 32, 116, 119, 101, 101, 110, 32, 119, 105, 116, 104, 32, 116, 104, 101, - 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 110, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 47, 47, 32, 106, 117, 115, 116, 32, 97, 115, 115, 105, 103, 110, 32, 116, 104, 101, - 32, 117, 112, 100, 97, 116, 101, 100, 32, 115, 104, 97, 114, 101, 100, 32, 116, 119, 101, 101, 110, 32, 97, - 110, 100, 32, 119, 101, 226, 128, 153, 114, 101, 32, 100, 111, 110, 101, 33, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, 101, 114, 119, 105, 115, 101, 44, 32, 99, 111, 112, - 121, 45, 111, 110, 45, 119, 114, 105, 116, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 116, 119, 101, 101, 110, 32, 33, 61, 61, 32, 116, 119, 101, 101, 110, 48, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, - 49, 32, 61, 32, 40, 116, 119, 101, 101, 110, 48, 32, 61, 32, 116, 119, 101, 101, 110, 41, 46, 115, 108, - 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 118, 97, 114, 32, 116, 32, 61, 32, 123, 110, 97, 109, 101, 58, 32, 110, 97, 109, - 101, 44, 32, 118, 97, 108, 117, 101, 58, 32, 118, 97, 108, 117, 101, 125, 44, 32, 105, 32, 61, 32, 48, - 44, 32, 110, 32, 61, 32, 116, 119, 101, 101, 110, 49, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, - 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 119, 101, 101, 110, 49, 91, 105, 93, 46, - 110, 97, 109, 101, 32, 61, 61, 61, 32, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, - 49, 91, 105, 93, 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 61, 61, 61, 32, 110, 41, 32, 116, 119, 101, 101, 110, - 49, 46, 112, 117, 115, 104, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, 100, 117, 108, 101, - 46, 116, 119, 101, 101, 110, 32, 61, 32, 116, 119, 101, 101, 110, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 116, 119, 101, 101, 110, 40, 110, 97, 109, 101, - 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 105, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 105, 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 97, 109, 101, 32, 43, 61, 32, 34, 34, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 60, 32, 50, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 119, 101, - 101, 110, 32, 61, 32, 103, 101, 116, 40, 116, 104, 105, 115, 46, 110, 111, 100, 101, 40, 41, 44, 32, 105, - 100, 41, 46, 116, 119, 101, 101, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 116, 119, 101, 101, - 110, 46, 108, 101, 110, 103, 116, 104, 44, 32, 116, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 40, 116, 32, 61, 32, 116, 119, 101, 101, 110, 91, 105, 93, 41, 46, 110, 97, 109, 101, 32, 61, 61, - 61, 32, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 46, 118, 97, 108, 117, 101, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, - 40, 40, 118, 97, 108, 117, 101, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 116, 119, 101, 101, 110, - 82, 101, 109, 111, 118, 101, 32, 58, 32, 116, 119, 101, 101, 110, 70, 117, 110, 99, 116, 105, 111, 110, 41, - 40, 105, 100, 44, 32, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 119, 101, 101, 110, 86, - 97, 108, 117, 101, 40, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 44, 32, 110, 97, 109, 101, 44, 32, - 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 100, - 32, 61, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 46, 95, 105, 100, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 46, 101, 97, 99, 104, 40, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 99, 104, 101, 100, 117, 108, 101, 32, 61, 32, 115, 101, 116, 40, 116, 104, 105, 115, - 44, 32, 105, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 115, 99, 104, - 101, 100, 117, 108, 101, 46, 118, 97, 108, 117, 101, 32, 124, 124, 32, 40, 115, 99, 104, 101, 100, 117, 108, - 101, 46, 118, 97, 108, 117, 101, 32, 61, 32, 123, 125, 41, 41, 91, 110, 97, 109, 101, 93, 32, 61, 32, - 118, 97, 108, 117, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 111, - 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 103, 101, 116, 40, 110, 111, 100, 101, 44, 32, 105, 100, 41, 46, 118, 97, 108, 117, 101, 91, 110, - 97, 109, 101, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 36, 49, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 116, 121, - 112, 101, 111, 102, 32, 98, 32, 61, 61, 61, 32, 34, 110, 117, 109, 98, 101, 114, 34, 32, 63, 32, 105, - 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 78, 117, 109, 98, 101, 114, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 58, 32, 98, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 99, 111, - 108, 111, 114, 32, 63, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, 103, 98, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 40, 99, 32, 61, 32, 99, 111, - 108, 111, 114, 40, 98, 41, 41, 32, 63, 32, 40, 98, 32, 61, 32, 99, 44, 32, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 82, 103, 98, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 83, 116, - 114, 105, 110, 103, 41, 40, 97, 44, 32, 98, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 116, 116, 114, 82, 101, 109, 111, 118, 101, 40, 110, 97, - 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 114, 101, 109, 111, 118, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 40, 110, 97, - 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 116, 116, 114, 82, 101, 109, 111, 118, 101, - 78, 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 114, 101, 109, 111, 118, 101, 65, 116, 116, - 114, 105, 98, 117, 116, 101, 78, 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 115, 112, 97, 99, 101, - 44, 32, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, 108, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 97, 116, 116, 114, 67, 111, 110, 115, 116, 97, 110, 116, 40, 110, 97, 109, 101, 44, 32, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 44, 32, 118, 97, 108, 117, 101, 49, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, 48, 48, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 49, 32, 61, 32, 118, 97, - 108, 117, 101, 49, 32, 43, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 32, 116, - 104, 105, 115, 46, 103, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 40, 110, 97, 109, 101, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 114, - 105, 110, 103, 48, 32, 61, 61, 61, 32, 115, 116, 114, 105, 110, 103, 49, 32, 63, 32, 110, 117, 108, 108, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 115, 116, 114, 105, - 110, 103, 48, 32, 61, 61, 61, 32, 115, 116, 114, 105, 110, 103, 48, 48, 32, 63, 32, 105, 110, 116, 101, - 114, 112, 111, 108, 97, 116, 101, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 58, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 32, 61, 32, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 115, 116, 114, 105, 110, 103, 48, 48, 32, 61, 32, - 115, 116, 114, 105, 110, 103, 48, 44, 32, 118, 97, 108, 117, 101, 49, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 97, 116, 116, 114, 67, 111, 110, 115, 116, 97, 110, 116, 78, 83, 40, 102, 117, 108, 108, 110, - 97, 109, 101, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 44, 32, 118, 97, 108, 117, 101, - 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, - 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 49, - 32, 61, 32, 118, 97, 108, 117, 101, 49, 32, 43, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, - 48, 32, 61, 32, 116, 104, 105, 115, 46, 103, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 78, 83, - 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 115, 112, 97, 99, 101, 44, 32, 102, 117, 108, 108, 110, 97, - 109, 101, 46, 108, 111, 99, 97, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 61, 61, 32, 115, 116, 114, 105, - 110, 103, 49, 32, 63, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 58, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 61, 61, 32, 115, 116, 114, 105, 110, - 103, 48, 48, 32, 63, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 48, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 115, - 116, 114, 105, 110, 103, 48, 48, 32, 61, 32, 115, 116, 114, 105, 110, 103, 48, 44, 32, 118, 97, 108, 117, - 101, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 116, 116, 114, 70, 117, 110, 99, 116, 105, - 111, 110, 40, 110, 97, 109, 101, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 44, 32, 118, - 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, - 105, 110, 103, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, - 110, 103, 49, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, 48, 44, 32, 118, 97, 108, 117, 101, 49, 32, - 61, 32, 118, 97, 108, 117, 101, 40, 116, 104, 105, 115, 41, 44, 32, 115, 116, 114, 105, 110, 103, 49, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 49, - 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 118, 111, 105, 100, 32, 116, - 104, 105, 115, 46, 114, 101, 109, 111, 118, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 40, 110, 97, 109, - 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 48, - 32, 61, 32, 116, 104, 105, 115, 46, 103, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 40, 110, 97, - 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, - 49, 32, 61, 32, 118, 97, 108, 117, 101, 49, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 61, - 61, 32, 115, 116, 114, 105, 110, 103, 49, 32, 63, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 61, 61, - 32, 115, 116, 114, 105, 110, 103, 48, 48, 32, 38, 38, 32, 115, 116, 114, 105, 110, 103, 49, 32, 61, 61, - 61, 32, 115, 116, 114, 105, 110, 103, 49, 48, 32, 63, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, - 101, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 58, 32, 40, 115, 116, 114, 105, 110, 103, 49, 48, 32, 61, 32, 115, 116, 114, 105, 110, 103, 49, 44, 32, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 40, 115, 116, 114, 105, 110, 103, 48, 48, 32, 61, 32, 115, 116, 114, 105, 110, 103, 48, 44, - 32, 118, 97, 108, 117, 101, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 116, 116, 114, - 70, 117, 110, 99, 116, 105, 111, 110, 78, 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 44, 32, 105, 110, - 116, 101, 114, 112, 111, 108, 97, 116, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, 48, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 49, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, - 110, 103, 48, 44, 32, 118, 97, 108, 117, 101, 49, 32, 61, 32, 118, 97, 108, 117, 101, 40, 116, 104, 105, - 115, 41, 44, 32, 115, 116, 114, 105, 110, 103, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 49, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, - 101, 116, 117, 114, 110, 32, 118, 111, 105, 100, 32, 116, 104, 105, 115, 46, 114, 101, 109, 111, 118, 101, 65, - 116, 116, 114, 105, 98, 117, 116, 101, 78, 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 115, 112, 97, - 99, 101, 44, 32, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, 108, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 32, 116, 104, 105, - 115, 46, 103, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, 78, 83, 40, 102, 117, 108, 108, 110, 97, - 109, 101, 46, 115, 112, 97, 99, 101, 44, 32, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, - 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 49, - 32, 61, 32, 118, 97, 108, 117, 101, 49, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 61, 61, - 32, 115, 116, 114, 105, 110, 103, 49, 32, 63, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 61, 61, 32, - 115, 116, 114, 105, 110, 103, 48, 48, 32, 38, 38, 32, 115, 116, 114, 105, 110, 103, 49, 32, 61, 61, 61, - 32, 115, 116, 114, 105, 110, 103, 49, 48, 32, 63, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, - 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, - 32, 40, 115, 116, 114, 105, 110, 103, 49, 48, 32, 61, 32, 115, 116, 114, 105, 110, 103, 49, 44, 32, 105, - 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 40, 115, 116, 114, 105, 110, 103, 48, 48, 32, 61, 32, 115, 116, 114, 105, 110, 103, 48, 44, 32, - 118, 97, 108, 117, 101, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, - 105, 116, 105, 111, 110, 95, 97, 116, 116, 114, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 117, 108, 108, 110, 97, 109, 101, - 32, 61, 32, 110, 97, 109, 101, 115, 112, 97, 99, 101, 40, 110, 97, 109, 101, 41, 44, 32, 105, 32, 61, - 32, 102, 117, 108, 108, 110, 97, 109, 101, 32, 61, 61, 61, 32, 34, 116, 114, 97, 110, 115, 102, 111, 114, - 109, 34, 32, 63, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 84, 114, 97, 110, 115, 102, 111, - 114, 109, 83, 118, 103, 32, 58, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 36, 49, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 97, 116, 116, - 114, 84, 119, 101, 101, 110, 40, 110, 97, 109, 101, 44, 32, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, - 117, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 63, 32, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, - 108, 32, 63, 32, 97, 116, 116, 114, 70, 117, 110, 99, 116, 105, 111, 110, 78, 83, 32, 58, 32, 97, 116, - 116, 114, 70, 117, 110, 99, 116, 105, 111, 110, 41, 40, 102, 117, 108, 108, 110, 97, 109, 101, 44, 32, 105, - 44, 32, 116, 119, 101, 101, 110, 86, 97, 108, 117, 101, 40, 116, 104, 105, 115, 44, 32, 34, 97, 116, 116, - 114, 46, 34, 32, 43, 32, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 118, 97, 108, 117, 101, 32, 61, 61, 32, 110, 117, 108, - 108, 32, 63, 32, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, 108, 32, 63, 32, 97, - 116, 116, 114, 82, 101, 109, 111, 118, 101, 78, 83, 32, 58, 32, 97, 116, 116, 114, 82, 101, 109, 111, 118, - 101, 41, 40, 102, 117, 108, 108, 110, 97, 109, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 58, 32, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, 108, - 32, 63, 32, 97, 116, 116, 114, 67, 111, 110, 115, 116, 97, 110, 116, 78, 83, 32, 58, 32, 97, 116, 116, - 114, 67, 111, 110, 115, 116, 97, 110, 116, 41, 40, 102, 117, 108, 108, 110, 97, 109, 101, 44, 32, 105, 44, - 32, 118, 97, 108, 117, 101, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 97, 116, 116, 114, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, - 110, 97, 109, 101, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 101, 116, 65, 116, 116, 114, 105, 98, 117, 116, 101, - 40, 110, 97, 109, 101, 44, 32, 105, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 44, 32, 116, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 116, 116, 114, 73, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 78, 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 101, 116, - 65, 116, 116, 114, 105, 98, 117, 116, 101, 78, 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 46, 115, 112, - 97, 99, 101, 44, 32, 102, 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, 108, 44, 32, 105, 46, - 99, 97, 108, 108, 40, 116, 104, 105, 115, 44, 32, 116, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 97, 116, 116, 114, 84, 119, 101, 101, 110, 78, 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 44, 32, - 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 48, - 44, 32, 105, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 116, 119, 101, 101, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 105, 32, 61, 32, 118, 97, 108, 117, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, - 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 105, 32, 33, 61, 61, 32, 105, 48, 41, 32, 116, 48, 32, 61, 32, 40, - 105, 48, 32, 61, 32, 105, 41, 32, 38, 38, 32, 97, 116, 116, 114, 73, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 78, 83, 40, 102, 117, 108, 108, 110, 97, 109, 101, 44, 32, 105, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 48, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, 46, 95, 118, - 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 119, 101, 101, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 116, 116, 114, 84, 119, 101, 101, 110, 40, 110, 97, 109, - 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 116, 48, 44, 32, 105, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 116, 119, 101, 101, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 118, 97, 108, 117, 101, 46, 97, 112, 112, 108, 121, 40, 116, - 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 33, 61, 61, 32, 105, 48, 41, 32, 116, 48, 32, - 61, 32, 40, 105, 48, 32, 61, 32, 105, 41, 32, 38, 38, 32, 97, 116, 116, 114, 73, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 40, 110, 97, 109, 101, 44, 32, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 48, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, 46, 95, 118, 97, 108, 117, - 101, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 119, 101, 101, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 97, 116, 116, 114, 84, - 119, 101, 101, 110, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 107, 101, 121, 32, 61, 32, 34, 97, 116, 116, 114, 46, 34, 32, - 43, 32, 110, 97, 109, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 60, 32, 50, 41, 32, 114, 101, 116, 117, - 114, 110, 32, 40, 107, 101, 121, 32, 61, 32, 116, 104, 105, 115, 46, 116, 119, 101, 101, 110, 40, 107, 101, - 121, 41, 41, 32, 38, 38, 32, 107, 101, 121, 46, 95, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, - 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 116, 119, 101, 101, 110, 40, 107, 101, 121, 44, 32, - 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, - 111, 102, 32, 118, 97, 108, 117, 101, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, - 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 102, 117, 108, 108, 110, 97, 109, 101, 32, 61, 32, 110, 97, 109, 101, - 115, 112, 97, 99, 101, 40, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 116, 119, 101, 101, 110, 40, 107, 101, 121, 44, 32, 40, 102, - 117, 108, 108, 110, 97, 109, 101, 46, 108, 111, 99, 97, 108, 32, 63, 32, 97, 116, 116, 114, 84, 119, 101, - 101, 110, 78, 83, 32, 58, 32, 97, 116, 116, 114, 84, 119, 101, 101, 110, 41, 40, 102, 117, 108, 108, 110, - 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 108, 97, 121, 70, 117, 110, 99, 116, 105, 111, - 110, 40, 105, 100, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 105, 116, 40, 116, 104, 105, 115, 44, 32, 105, 100, 41, - 46, 100, 101, 108, 97, 121, 32, 61, 32, 43, 118, 97, 108, 117, 101, 46, 97, 112, 112, 108, 121, 40, 116, - 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 100, 101, 108, 97, 121, 67, 111, 110, 115, 116, 97, 110, 116, 40, 105, 100, 44, 32, 118, 97, 108, - 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, - 108, 117, 101, 32, 61, 32, 43, 118, 97, 108, 117, 101, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 105, 116, 40, 116, 104, - 105, 115, 44, 32, 105, 100, 41, 46, 100, 101, 108, 97, 121, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 100, 101, 108, 97, - 121, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 105, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 105, 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 116, 104, 105, 115, 46, 101, 97, - 99, 104, 40, 40, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 34, 102, - 117, 110, 99, 116, 105, 111, 110, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 63, 32, 100, 101, 108, 97, 121, 70, 117, 110, 99, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 100, 101, 108, 97, 121, 67, 111, 110, 115, 116, - 97, 110, 116, 41, 40, 105, 100, 44, 32, 118, 97, 108, 117, 101, 41, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 58, 32, 103, 101, 116, 40, 116, 104, 105, 115, 46, 110, 111, 100, 101, 40, 41, - 44, 32, 105, 100, 41, 46, 100, 101, 108, 97, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 117, 114, 97, 116, 105, 111, 110, 70, 117, 110, 99, 116, - 105, 111, 110, 40, 105, 100, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 40, 116, 104, 105, 115, 44, 32, 105, 100, - 41, 46, 100, 117, 114, 97, 116, 105, 111, 110, 32, 61, 32, 43, 118, 97, 108, 117, 101, 46, 97, 112, 112, - 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 100, 117, 114, 97, 116, 105, 111, 110, 67, 111, 110, 115, 116, 97, 110, 116, 40, - 105, 100, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 32, 61, 32, 43, 118, 97, 108, 117, 101, 44, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 101, 116, 40, 116, 104, 105, 115, 44, 32, 105, 100, 41, 46, 100, 117, 114, 97, 116, 105, 111, 110, 32, - 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, - 116, 105, 111, 110, 95, 100, 117, 114, 97, 116, 105, 111, 110, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 105, 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 63, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 40, 40, 116, 121, 112, 101, 111, 102, 32, - 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 100, 117, 114, 97, 116, 105, 111, - 110, 70, 117, 110, 99, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 58, 32, 100, 117, 114, 97, 116, 105, 111, 110, 67, 111, 110, 115, 116, 97, 110, 116, 41, 40, - 105, 100, 44, 32, 118, 97, 108, 117, 101, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 58, 32, 103, 101, 116, 40, 116, 104, 105, 115, 46, 110, 111, 100, 101, 40, 41, 44, 32, 105, 100, 41, - 46, 100, 117, 114, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 101, 97, 115, 101, 67, 111, 110, 115, 116, 97, 110, 116, 40, 105, 100, - 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, - 105, 111, 110, 34, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 40, 116, 104, - 105, 115, 44, 32, 105, 100, 41, 46, 101, 97, 115, 101, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 101, 97, 115, 101, 40, - 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 100, - 32, 61, 32, 116, 104, 105, 115, 46, 95, 105, 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, - 40, 101, 97, 115, 101, 67, 111, 110, 115, 116, 97, 110, 116, 40, 105, 100, 44, 32, 118, 97, 108, 117, 101, - 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 103, 101, 116, 40, 116, 104, - 105, 115, 46, 110, 111, 100, 101, 40, 41, 44, 32, 105, 100, 41, 46, 101, 97, 115, 101, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 97, 115, 101, 86, - 97, 114, 121, 105, 110, 103, 40, 105, 100, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 32, 61, 32, 118, - 97, 108, 117, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, - 121, 112, 101, 111, 102, 32, 118, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, - 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 40, 116, 104, 105, 115, 44, 32, 105, 100, 41, 46, 101, 97, - 115, 101, 32, 61, 32, 118, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, - 105, 111, 110, 95, 101, 97, 115, 101, 86, 97, 114, 121, 105, 110, 103, 40, 118, 97, 108, 117, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 118, 97, - 108, 117, 101, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 116, 104, 114, - 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 40, 101, 97, 115, 101, 86, 97, 114, - 121, 105, 110, 103, 40, 116, 104, 105, 115, 46, 95, 105, 100, 44, 32, 118, 97, 108, 117, 101, 41, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, - 97, 110, 115, 105, 116, 105, 111, 110, 95, 102, 105, 108, 116, 101, 114, 40, 109, 97, 116, 99, 104, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 109, 97, - 116, 99, 104, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 109, 97, 116, - 99, 104, 32, 61, 32, 109, 97, 116, 99, 104, 101, 114, 40, 109, 97, 116, 99, 104, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 115, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, 109, 32, 61, 32, 103, 114, 111, - 117, 112, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 115, 117, 98, 103, 114, 111, 117, 112, 115, 32, 61, - 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 109, 41, 44, 32, 106, 32, 61, 32, 48, 59, 32, 106, - 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, 111, 117, - 112, 115, 91, 106, 93, 44, 32, 110, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, - 44, 32, 115, 117, 98, 103, 114, 111, 117, 112, 32, 61, 32, 115, 117, 98, 103, 114, 111, 117, 112, 115, 91, - 106, 93, 32, 61, 32, 91, 93, 44, 32, 110, 111, 100, 101, 44, 32, 105, 32, 61, 32, 48, 59, 32, 105, - 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, - 91, 105, 93, 41, 32, 38, 38, 32, 109, 97, 116, 99, 104, 46, 99, 97, 108, 108, 40, 110, 111, 100, 101, - 44, 32, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, 32, 105, 44, 32, 103, 114, 111, - 117, 112, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 117, 98, 103, 114, 111, 117, 112, 46, 112, 117, 115, 104, 40, 110, 111, 100, 101, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 84, 114, 97, 110, 115, - 105, 116, 105, 111, 110, 40, 115, 117, 98, 103, 114, 111, 117, 112, 115, 44, 32, 116, 104, 105, 115, 46, 95, - 112, 97, 114, 101, 110, 116, 115, 44, 32, 116, 104, 105, 115, 46, 95, 110, 97, 109, 101, 44, 32, 116, 104, - 105, 115, 46, 95, 105, 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 109, 101, 114, 103, 101, 40, - 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 46, 95, 105, 100, 32, 33, 61, 61, 32, 116, - 104, 105, 115, 46, 95, 105, 100, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, - 114, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, - 111, 117, 112, 115, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, 103, - 114, 111, 117, 112, 115, 49, 32, 61, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 46, 95, 103, 114, - 111, 117, 112, 115, 44, 32, 109, 48, 32, 61, 32, 103, 114, 111, 117, 112, 115, 48, 46, 108, 101, 110, 103, - 116, 104, 44, 32, 109, 49, 32, 61, 32, 103, 114, 111, 117, 112, 115, 49, 46, 108, 101, 110, 103, 116, 104, - 44, 32, 109, 32, 61, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 109, 48, 44, 32, 109, 49, 41, 44, - 32, 109, 101, 114, 103, 101, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 109, 48, 41, - 44, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, - 111, 117, 112, 48, 32, 61, 32, 103, 114, 111, 117, 112, 115, 48, 91, 106, 93, 44, 32, 103, 114, 111, 117, - 112, 49, 32, 61, 32, 103, 114, 111, 117, 112, 115, 49, 91, 106, 93, 44, 32, 110, 32, 61, 32, 103, 114, - 111, 117, 112, 48, 46, 108, 101, 110, 103, 116, 104, 44, 32, 109, 101, 114, 103, 101, 32, 61, 32, 109, 101, - 114, 103, 101, 115, 91, 106, 93, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, - 32, 110, 111, 100, 101, 44, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, 48, 91, 105, 93, 32, 124, 124, 32, 103, - 114, 111, 117, 112, 49, 91, 105, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 114, 103, 101, 91, 105, 93, 32, 61, 32, 110, 111, 100, - 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 106, 32, 60, 32, 109, 48, 59, 32, - 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 114, 103, - 101, 115, 91, 106, 93, 32, 61, 32, 103, 114, 111, 117, 112, 115, 48, 91, 106, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 110, 101, 119, 32, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 109, 101, 114, 103, 101, 115, 44, 32, - 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, 115, 44, 32, 116, 104, 105, 115, 46, 95, 110, 97, - 109, 101, 44, 32, 116, 104, 105, 115, 46, 95, 105, 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 97, 114, 116, 40, 110, 97, 109, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 110, 97, 109, 101, - 32, 43, 32, 34, 34, 41, 46, 116, 114, 105, 109, 40, 41, 46, 115, 112, 108, 105, 116, 40, 47, 94, 124, - 92, 115, 43, 47, 41, 46, 101, 118, 101, 114, 121, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, - 116, 46, 105, 110, 100, 101, 120, 79, 102, 40, 34, 46, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 62, 61, 32, 48, 41, 32, 116, 32, 61, 32, 116, 46, - 115, 108, 105, 99, 101, 40, 48, 44, 32, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 33, 116, 32, 124, 124, 32, 116, 32, 61, 61, 61, 32, 34, 115, - 116, 97, 114, 116, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 111, 110, 70, 117, 110, 99, 116, - 105, 111, 110, 40, 105, 100, 44, 32, 110, 97, 109, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 111, 110, 48, 44, 32, 111, 110, 49, - 44, 32, 115, 105, 116, 32, 61, 32, 115, 116, 97, 114, 116, 40, 110, 97, 109, 101, 41, 32, 63, 32, 105, - 110, 105, 116, 32, 58, 32, 115, 101, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 100, 117, 108, 101, 32, 61, 32, 115, 105, 116, - 40, 116, 104, 105, 115, 44, 32, 105, 100, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 111, 110, 32, 61, 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, 111, 110, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 105, 115, - 32, 110, 111, 100, 101, 32, 115, 104, 97, 114, 101, 100, 32, 97, 32, 100, 105, 115, 112, 97, 116, 99, 104, - 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 110, 111, 100, 101, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 106, 117, 115, 116, 32, 97, - 115, 115, 105, 103, 110, 32, 116, 104, 101, 32, 117, 112, 100, 97, 116, 101, 100, 32, 115, 104, 97, 114, 101, - 100, 32, 100, 105, 115, 112, 97, 116, 99, 104, 32, 97, 110, 100, 32, 119, 101, 226, 128, 153, 114, 101, 32, - 100, 111, 110, 101, 33, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, - 104, 101, 114, 119, 105, 115, 101, 44, 32, 99, 111, 112, 121, 45, 111, 110, 45, 119, 114, 105, 116, 101, 46, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 110, 32, 33, 61, 61, - 32, 111, 110, 48, 41, 32, 40, 111, 110, 49, 32, 61, 32, 40, 111, 110, 48, 32, 61, 32, 111, 110, 41, - 46, 99, 111, 112, 121, 40, 41, 41, 46, 111, 110, 40, 110, 97, 109, 101, 44, 32, 108, 105, 115, 116, 101, - 110, 101, 114, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, - 100, 117, 108, 101, 46, 111, 110, 32, 61, 32, 111, 110, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 111, 110, 40, 110, 97, 109, 101, 44, 32, 108, 105, 115, - 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 100, - 32, 61, 32, 116, 104, 105, 115, 46, 95, 105, 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 60, 32, 50, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 103, 101, 116, 40, 116, - 104, 105, 115, 46, 110, 111, 100, 101, 40, 41, 44, 32, 105, 100, 41, 46, 111, 110, 46, 111, 110, 40, 110, - 97, 109, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 116, 104, 105, 115, - 46, 101, 97, 99, 104, 40, 111, 110, 70, 117, 110, 99, 116, 105, 111, 110, 40, 105, 100, 44, 32, 110, 97, - 109, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 109, 111, 118, 101, 70, 117, 110, 99, - 116, 105, 111, 110, 40, 105, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 97, 114, 101, 110, 116, 32, 61, 32, 116, 104, 105, 115, 46, - 112, 97, 114, 101, 110, 116, 78, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 105, 110, 32, 116, 104, 105, 115, 46, 95, 95, 116, - 114, 97, 110, 115, 105, 116, 105, 111, 110, 41, 32, 105, 102, 32, 40, 43, 105, 32, 33, 61, 61, 32, 105, - 100, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 112, 97, 114, 101, 110, 116, 41, 32, 112, 97, 114, 101, 110, 116, 46, 114, 101, 109, 111, - 118, 101, 67, 104, 105, 108, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 114, 101, 109, 111, 118, 101, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 111, 110, 40, 34, - 101, 110, 100, 46, 114, 101, 109, 111, 118, 101, 34, 44, 32, 114, 101, 109, 111, 118, 101, 70, 117, 110, 99, - 116, 105, 111, 110, 40, 116, 104, 105, 115, 46, 95, 105, 100, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, - 110, 95, 115, 101, 108, 101, 99, 116, 40, 115, 101, 108, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 110, 97, 109, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 110, 97, - 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 105, 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, - 112, 101, 111, 102, 32, 115, 101, 108, 101, 99, 116, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, - 111, 110, 34, 41, 32, 115, 101, 108, 101, 99, 116, 32, 61, 32, 115, 101, 108, 101, 99, 116, 111, 114, 40, - 115, 101, 108, 101, 99, 116, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 118, 97, 114, 32, 103, 114, 111, 117, 112, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, - 112, 115, 44, 32, 109, 32, 61, 32, 103, 114, 111, 117, 112, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, - 115, 117, 98, 103, 114, 111, 117, 112, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 109, - 41, 44, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, - 114, 111, 117, 112, 32, 61, 32, 103, 114, 111, 117, 112, 115, 91, 106, 93, 44, 32, 110, 32, 61, 32, 103, - 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 44, 32, 115, 117, 98, 103, 114, 111, 117, 112, 32, 61, - 32, 115, 117, 98, 103, 114, 111, 117, 112, 115, 91, 106, 93, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, - 97, 121, 40, 110, 41, 44, 32, 110, 111, 100, 101, 44, 32, 115, 117, 98, 110, 111, 100, 101, 44, 32, 105, - 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 110, 111, 100, 101, 32, - 61, 32, 103, 114, 111, 117, 112, 91, 105, 93, 41, 32, 38, 38, 32, 40, 115, 117, 98, 110, 111, 100, 101, - 32, 61, 32, 115, 101, 108, 101, 99, 116, 46, 99, 97, 108, 108, 40, 110, 111, 100, 101, 44, 32, 110, 111, - 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, 32, 105, 44, 32, 103, 114, 111, 117, 112, 41, 41, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 34, 95, 95, 100, 97, 116, 97, 95, 95, 34, 32, 105, 110, 32, 110, 111, 100, 101, - 41, 32, 115, 117, 98, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 32, 61, 32, 110, 111, - 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 98, 103, 114, 111, 117, 112, 91, 105, 93, 32, 61, - 32, 115, 117, 98, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, 100, 117, 108, 101, 40, 115, 117, 98, 103, 114, 111, 117, - 112, 91, 105, 93, 44, 32, 110, 97, 109, 101, 44, 32, 105, 100, 44, 32, 105, 44, 32, 115, 117, 98, 103, - 114, 111, 117, 112, 44, 32, 103, 101, 116, 40, 110, 111, 100, 101, 44, 32, 105, 100, 41, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 84, 114, 97, 110, 115, 105, 116, 105, - 111, 110, 40, 115, 117, 98, 103, 114, 111, 117, 112, 115, 44, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, - 101, 110, 116, 115, 44, 32, 110, 97, 109, 101, 44, 32, 105, 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, - 110, 95, 115, 101, 108, 101, 99, 116, 65, 108, 108, 40, 115, 101, 108, 101, 99, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 97, 109, 101, 32, 61, 32, 116, 104, 105, 115, 46, - 95, 110, 97, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 105, 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 116, 121, 112, 101, 111, 102, 32, 115, 101, 108, 101, 99, 116, 32, 33, 61, 61, 32, 34, 102, 117, 110, - 99, 116, 105, 111, 110, 34, 41, 32, 115, 101, 108, 101, 99, 116, 32, 61, 32, 115, 101, 108, 101, 99, 116, - 111, 114, 65, 108, 108, 40, 115, 101, 108, 101, 99, 116, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 115, 32, 61, 32, 116, 104, 105, 115, - 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, 109, 32, 61, 32, 103, 114, 111, 117, 112, 115, 46, 108, 101, - 110, 103, 116, 104, 44, 32, 115, 117, 98, 103, 114, 111, 117, 112, 115, 32, 61, 32, 91, 93, 44, 32, 112, - 97, 114, 101, 110, 116, 115, 32, 61, 32, 91, 93, 44, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, - 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, 111, 117, 112, 115, - 91, 106, 93, 44, 32, 110, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, 44, 32, - 110, 111, 100, 101, 44, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, 91, 105, 93, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, - 97, 114, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 115, 101, 108, 101, 99, 116, 46, 99, 97, - 108, 108, 40, 110, 111, 100, 101, 44, 32, 110, 111, 100, 101, 46, 95, 95, 100, 97, 116, 97, 95, 95, 44, - 32, 105, 44, 32, 103, 114, 111, 117, 112, 41, 44, 32, 99, 104, 105, 108, 100, 44, 32, 105, 110, 104, 101, - 114, 105, 116, 32, 61, 32, 103, 101, 116, 40, 110, 111, 100, 101, 44, 32, 105, 100, 41, 44, 32, 107, 32, - 61, 32, 48, 44, 32, 108, 32, 61, 32, 99, 104, 105, 108, 100, 114, 101, 110, 46, 108, 101, 110, 103, 116, - 104, 59, 32, 107, 32, 60, 32, 108, 59, 32, 43, 43, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, - 104, 105, 108, 100, 32, 61, 32, 99, 104, 105, 108, 100, 114, 101, 110, 91, 107, 93, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 99, 104, 101, 100, 117, 108, 101, 40, 99, 104, 105, 108, 100, 44, 32, 110, 97, 109, - 101, 44, 32, 105, 100, 44, 32, 107, 44, 32, 99, 104, 105, 108, 100, 114, 101, 110, 44, 32, 105, 110, 104, - 101, 114, 105, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 117, 98, 103, 114, 111, 117, 112, 115, 46, 112, 117, 115, 104, 40, 99, 104, - 105, 108, 100, 114, 101, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 97, 114, 101, 110, 116, 115, 46, 112, 117, 115, 104, 40, 110, 111, 100, 101, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 84, 114, 97, 110, - 115, 105, 116, 105, 111, 110, 40, 115, 117, 98, 103, 114, 111, 117, 112, 115, 44, 32, 112, 97, 114, 101, 110, - 116, 115, 44, 32, 110, 97, 109, 101, 44, 32, 105, 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 83, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 99, 111, 110, 115, 116, 114, 117, - 99, 116, 111, 114, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, - 110, 115, 105, 116, 105, 111, 110, 95, 115, 101, 108, 101, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 83, 101, 108, 101, 99, - 116, 105, 111, 110, 40, 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, 116, 104, 105, 115, - 46, 95, 112, 97, 114, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 121, 108, 101, 78, 117, 108, 108, 40, 110, 97, 109, 101, - 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 49, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, 48, - 32, 61, 32, 115, 116, 121, 108, 101, 86, 97, 108, 117, 101, 40, 116, 104, 105, 115, 44, 32, 110, 97, 109, - 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, - 105, 110, 103, 49, 32, 61, 32, 40, 116, 104, 105, 115, 46, 115, 116, 121, 108, 101, 46, 114, 101, 109, 111, - 118, 101, 80, 114, 111, 112, 101, 114, 116, 121, 40, 110, 97, 109, 101, 41, 44, 32, 115, 116, 121, 108, 101, - 86, 97, 108, 117, 101, 40, 116, 104, 105, 115, 44, 32, 110, 97, 109, 101, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 114, 105, 110, 103, 48, - 32, 61, 61, 61, 32, 115, 116, 114, 105, 110, 103, 49, 32, 63, 32, 110, 117, 108, 108, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 115, 116, 114, 105, 110, 103, 48, 32, - 61, 61, 61, 32, 115, 116, 114, 105, 110, 103, 48, 48, 32, 38, 38, 32, 115, 116, 114, 105, 110, 103, 49, - 32, 61, 61, 61, 32, 115, 116, 114, 105, 110, 103, 49, 48, 32, 63, 32, 105, 110, 116, 101, 114, 112, 111, - 108, 97, 116, 101, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 58, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 32, 61, 32, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 40, 115, 116, 114, 105, 110, 103, 48, 48, 32, 61, 32, 115, 116, 114, - 105, 110, 103, 48, 44, 32, 115, 116, 114, 105, 110, 103, 49, 48, 32, 61, 32, 115, 116, 114, 105, 110, 103, - 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 121, 108, 101, 82, 101, 109, 111, 118, 101, - 40, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 115, 116, 121, 108, 101, 46, 114, 101, 109, 111, 118, 101, 80, 114, 111, - 112, 101, 114, 116, 121, 40, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, - 121, 108, 101, 67, 111, 110, 115, 116, 97, 110, 116, 40, 110, 97, 109, 101, 44, 32, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 44, 32, 118, 97, 108, 117, 101, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 49, 32, 61, 32, 118, 97, 108, 117, 101, 49, 32, - 43, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 32, 115, 116, 121, 108, 101, 86, - 97, 108, 117, 101, 40, 116, 104, 105, 115, 44, 32, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, - 61, 61, 32, 115, 116, 114, 105, 110, 103, 49, 32, 63, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 61, - 61, 32, 115, 116, 114, 105, 110, 103, 48, 48, 32, 63, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, - 101, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 58, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 32, 61, 32, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 101, 40, 115, 116, 114, 105, 110, 103, 48, 48, 32, 61, 32, 115, 116, 114, 105, 110, 103, - 48, 44, 32, 118, 97, 108, 117, 101, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 121, - 108, 101, 70, 117, 110, 99, 116, 105, 111, 110, 40, 110, 97, 109, 101, 44, 32, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 49, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 105, 110, 103, 48, 32, - 61, 32, 115, 116, 121, 108, 101, 86, 97, 108, 117, 101, 40, 116, 104, 105, 115, 44, 32, 110, 97, 109, 101, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, - 101, 49, 32, 61, 32, 118, 97, 108, 117, 101, 40, 116, 104, 105, 115, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 49, 32, 61, 32, 118, 97, - 108, 117, 101, 49, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 118, 97, 108, 117, 101, 49, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 115, 116, 114, - 105, 110, 103, 49, 32, 61, 32, 118, 97, 108, 117, 101, 49, 32, 61, 32, 40, 116, 104, 105, 115, 46, 115, - 116, 121, 108, 101, 46, 114, 101, 109, 111, 118, 101, 80, 114, 111, 112, 101, 114, 116, 121, 40, 110, 97, 109, - 101, 41, 44, 32, 115, 116, 121, 108, 101, 86, 97, 108, 117, 101, 40, 116, 104, 105, 115, 44, 32, 110, 97, - 109, 101, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 61, 61, 32, 115, 116, 114, 105, 110, 103, 49, 32, 63, - 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, - 32, 115, 116, 114, 105, 110, 103, 48, 32, 61, 61, 61, 32, 115, 116, 114, 105, 110, 103, 48, 48, 32, 38, - 38, 32, 115, 116, 114, 105, 110, 103, 49, 32, 61, 61, 61, 32, 115, 116, 114, 105, 110, 103, 49, 48, 32, - 63, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 40, 115, 116, 114, 105, 110, 103, 49, 48, - 32, 61, 32, 115, 116, 114, 105, 110, 103, 49, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, - 48, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 115, 116, 114, 105, 110, 103, 48, - 48, 32, 61, 32, 115, 116, 114, 105, 110, 103, 48, 44, 32, 118, 97, 108, 117, 101, 49, 41, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 121, 108, 101, 77, 97, 121, 98, 101, 82, 101, 109, 111, 118, - 101, 40, 105, 100, 44, 32, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 111, 110, 48, 44, 32, 111, 110, 49, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 48, 44, - 32, 107, 101, 121, 32, 61, 32, 34, 115, 116, 121, 108, 101, 46, 34, 32, 43, 32, 110, 97, 109, 101, 44, - 32, 101, 118, 101, 110, 116, 32, 61, 32, 34, 101, 110, 100, 46, 34, 32, 43, 32, 107, 101, 121, 44, 32, - 114, 101, 109, 111, 118, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 100, 117, 108, 101, 32, 61, 32, 115, 101, 116, 40, 116, 104, - 105, 115, 44, 32, 105, 100, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 111, 110, 32, 61, 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, 111, 110, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 32, 61, - 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, 118, 97, 108, 117, 101, 91, 107, 101, 121, 93, 32, 61, 61, - 32, 110, 117, 108, 108, 32, 63, 32, 114, 101, 109, 111, 118, 101, 32, 124, 124, 32, 40, 114, 101, 109, 111, - 118, 101, 32, 61, 32, 115, 116, 121, 108, 101, 82, 101, 109, 111, 118, 101, 40, 110, 97, 109, 101, 41, 41, - 32, 58, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 105, 115, 32, 110, 111, 100, 101, 32, 115, 104, 97, - 114, 101, 100, 32, 97, 32, 100, 105, 115, 112, 97, 116, 99, 104, 32, 119, 105, 116, 104, 32, 116, 104, 101, - 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 110, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 47, 47, 32, 106, 117, 115, 116, 32, 97, 115, 115, 105, 103, 110, 32, 116, 104, 101, - 32, 117, 112, 100, 97, 116, 101, 100, 32, 115, 104, 97, 114, 101, 100, 32, 100, 105, 115, 112, 97, 116, 99, - 104, 32, 97, 110, 100, 32, 119, 101, 226, 128, 153, 114, 101, 32, 100, 111, 110, 101, 33, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, 101, 114, 119, 105, 115, 101, 44, 32, - 99, 111, 112, 121, 45, 111, 110, 45, 119, 114, 105, 116, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 111, 110, 32, 33, 61, 61, 32, 111, 110, 48, 32, 124, 124, 32, 108, - 105, 115, 116, 101, 110, 101, 114, 48, 32, 33, 61, 61, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, - 40, 111, 110, 49, 32, 61, 32, 40, 111, 110, 48, 32, 61, 32, 111, 110, 41, 46, 99, 111, 112, 121, 40, - 41, 41, 46, 111, 110, 40, 101, 118, 101, 110, 116, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 48, 32, - 61, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, 111, 110, 32, 61, 32, 111, 110, 49, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 115, 116, 121, 108, 101, - 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 44, 32, 112, 114, 105, 111, 114, 105, 116, 121, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 40, 110, 97, 109, - 101, 32, 43, 61, 32, 34, 34, 41, 32, 61, 61, 61, 32, 34, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 34, 32, 63, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 84, 114, 97, 110, 115, 102, 111, 114, - 109, 67, 115, 115, 32, 58, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 36, 49, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 32, 61, 61, 32, - 110, 117, 108, 108, 32, 63, 32, 116, 104, 105, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 84, 119, 101, 101, 110, 40, 110, 97, 109, 101, 44, 32, - 115, 116, 121, 108, 101, 78, 117, 108, 108, 40, 110, 97, 109, 101, 44, 32, 105, 41, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 101, 110, 100, 46, 115, - 116, 121, 108, 101, 46, 34, 32, 43, 32, 110, 97, 109, 101, 44, 32, 115, 116, 121, 108, 101, 82, 101, 109, - 111, 118, 101, 40, 110, 97, 109, 101, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 58, 32, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, - 99, 116, 105, 111, 110, 34, 32, 63, 32, 116, 104, 105, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 84, 119, 101, 101, 110, 40, - 110, 97, 109, 101, 44, 32, 115, 116, 121, 108, 101, 70, 117, 110, 99, 116, 105, 111, 110, 40, 110, 97, 109, - 101, 44, 32, 105, 44, 32, 116, 119, 101, 101, 110, 86, 97, 108, 117, 101, 40, 116, 104, 105, 115, 44, 32, - 34, 115, 116, 121, 108, 101, 46, 34, 32, 43, 32, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, - 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 46, 101, 97, 99, 104, 40, 115, 116, 121, 108, 101, 77, 97, 121, 98, 101, 82, 101, 109, 111, 118, 101, 40, - 116, 104, 105, 115, 46, 95, 105, 100, 44, 32, 110, 97, 109, 101, 41, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 116, 104, 105, 115, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 84, 119, 101, - 101, 110, 40, 110, 97, 109, 101, 44, 32, 115, 116, 121, 108, 101, 67, 111, 110, 115, 116, 97, 110, 116, 40, - 110, 97, 109, 101, 44, 32, 105, 44, 32, 118, 97, 108, 117, 101, 41, 44, 32, 112, 114, 105, 111, 114, 105, - 116, 121, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 46, 111, 110, 40, 34, 101, 110, 100, 46, 115, 116, 121, 108, 101, 46, 34, 32, 43, 32, 110, 97, 109, - 101, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 115, 116, 121, 108, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, - 40, 110, 97, 109, 101, 44, 32, 105, 44, 32, 112, 114, 105, 111, 114, 105, 116, 121, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, - 116, 121, 108, 101, 46, 115, 101, 116, 80, 114, 111, 112, 101, 114, 116, 121, 40, 110, 97, 109, 101, 44, 32, - 105, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 44, 32, 116, 41, 44, 32, 112, 114, 105, 111, 114, 105, - 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 121, 108, 101, 84, 119, 101, 101, 110, - 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 44, 32, 112, 114, 105, 111, 114, 105, 116, 121, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 44, 32, 105, 48, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 119, 101, 101, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, - 118, 97, 108, 117, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 105, 32, 33, 61, 61, 32, 105, 48, 41, 32, 116, 32, 61, 32, 40, 105, 48, 32, 61, 32, 105, 41, 32, - 38, 38, 32, 115, 116, 121, 108, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 110, 97, 109, - 101, 44, 32, 105, 44, 32, 112, 114, 105, 111, 114, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, 46, 95, 118, 97, 108, 117, 101, - 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 116, 119, 101, 101, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 115, 116, 121, 108, 101, 84, - 119, 101, 101, 110, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 44, 32, 112, 114, 105, 111, 114, - 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 107, 101, 121, 32, - 61, 32, 34, 115, 116, 121, 108, 101, 46, 34, 32, 43, 32, 40, 110, 97, 109, 101, 32, 43, 61, 32, 34, - 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 60, 32, 50, 41, 32, 114, 101, 116, 117, 114, 110, 32, 40, - 107, 101, 121, 32, 61, 32, 116, 104, 105, 115, 46, 116, 119, 101, 101, 110, 40, 107, 101, 121, 41, 41, 32, - 38, 38, 32, 107, 101, 121, 46, 95, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 104, 105, 115, 46, 116, 119, 101, 101, 110, 40, 107, 101, 121, 44, 32, 110, 117, 108, 108, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 118, - 97, 108, 117, 101, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 116, 104, - 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 116, 119, 101, 101, 110, 40, 107, 101, 121, 44, 32, - 115, 116, 121, 108, 101, 84, 119, 101, 101, 110, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 44, - 32, 112, 114, 105, 111, 114, 105, 116, 121, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 34, 34, 32, - 58, 32, 112, 114, 105, 111, 114, 105, 116, 121, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 101, 120, 116, 67, 111, 110, 115, 116, 97, 110, 116, - 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 101, 120, 116, 67, 111, 110, 116, 101, 110, 116, 32, 61, 32, - 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 101, 120, 116, 70, 117, 110, 99, - 116, 105, 111, 110, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 97, 108, 117, 101, 49, 32, 61, 32, 118, 97, - 108, 117, 101, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 116, 101, 120, 116, 67, 111, 110, 116, 101, 110, 116, 32, 61, 32, 118, 97, 108, 117, - 101, 49, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 34, 34, 32, 58, 32, 118, 97, 108, 117, 101, - 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 116, - 101, 120, 116, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 116, 119, 101, 101, 110, 40, 34, 116, 101, 120, 116, 34, 44, - 32, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, - 116, 105, 111, 110, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 116, 101, 120, - 116, 70, 117, 110, 99, 116, 105, 111, 110, 40, 116, 119, 101, 101, 110, 86, 97, 108, 117, 101, 40, 116, 104, - 105, 115, 44, 32, 34, 116, 101, 120, 116, 34, 44, 32, 118, 97, 108, 117, 101, 41, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 116, 101, 120, 116, 67, 111, 110, 115, 116, 97, 110, 116, - 40, 118, 97, 108, 117, 101, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 34, 34, 32, 58, 32, 118, - 97, 108, 117, 101, 32, 43, 32, 34, 34, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 101, 120, 116, 73, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 40, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 116, 101, 120, 116, 67, 111, 110, 116, 101, 110, 116, 32, 61, 32, 105, - 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 44, 32, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 116, 101, 120, 116, 84, 119, 101, 101, 110, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 48, 44, 32, 105, 48, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 119, 101, 101, 110, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 118, 97, 108, 117, 101, - 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 33, 61, 61, - 32, 105, 48, 41, 32, 116, 48, 32, 61, 32, 40, 105, 48, 32, 61, 32, 105, 41, 32, 38, 38, 32, 116, - 101, 120, 116, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 105, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 48, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, 46, 95, 118, 97, - 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 116, 119, 101, 101, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 116, 101, 120, - 116, 84, 119, 101, 101, 110, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 107, 101, 121, 32, 61, 32, 34, 116, 101, 120, 116, 34, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 32, 60, 32, 49, 41, 32, 114, 101, 116, 117, 114, 110, 32, 40, 107, 101, 121, 32, 61, 32, 116, 104, - 105, 115, 46, 116, 119, 101, 101, 110, 40, 107, 101, 121, 41, 41, 32, 38, 38, 32, 107, 101, 121, 46, 95, - 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, - 101, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, - 116, 119, 101, 101, 110, 40, 107, 101, 121, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 118, 97, 108, 117, 101, 32, 33, 61, 61, - 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, - 69, 114, 114, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, - 104, 105, 115, 46, 116, 119, 101, 101, 110, 40, 107, 101, 121, 44, 32, 116, 101, 120, 116, 84, 119, 101, 101, - 110, 40, 118, 97, 108, 117, 101, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 116, 114, 97, 110, - 115, 105, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 110, 97, 109, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 110, 97, 109, 101, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 105, 100, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 49, 32, 61, 32, 110, 101, 119, 73, - 100, 40, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, - 103, 114, 111, 117, 112, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, - 109, 32, 61, 32, 103, 114, 111, 117, 112, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 106, 32, 61, 32, - 48, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, - 103, 114, 111, 117, 112, 115, 91, 106, 93, 44, 32, 110, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, - 110, 103, 116, 104, 44, 32, 110, 111, 100, 101, 44, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, - 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, 91, 105, 93, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 105, 110, 104, 101, 114, 105, 116, 32, 61, 32, 103, 101, 116, 40, 110, 111, 100, 101, 44, - 32, 105, 100, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 99, 104, 101, 100, 117, 108, 101, 40, 110, 111, 100, 101, 44, 32, 110, 97, 109, 101, - 44, 32, 105, 100, 49, 44, 32, 105, 44, 32, 103, 114, 111, 117, 112, 44, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 109, - 101, 58, 32, 105, 110, 104, 101, 114, 105, 116, 46, 116, 105, 109, 101, 32, 43, 32, 105, 110, 104, 101, 114, - 105, 116, 46, 100, 101, 108, 97, 121, 32, 43, 32, 105, 110, 104, 101, 114, 105, 116, 46, 100, 117, 114, 97, - 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 97, 121, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, - 105, 111, 110, 58, 32, 105, 110, 104, 101, 114, 105, 116, 46, 100, 117, 114, 97, 116, 105, 111, 110, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 97, 115, 101, 58, 32, 105, 110, 104, 101, 114, 105, 116, 46, 101, 97, 115, 101, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 84, 114, 97, 110, 115, 105, 116, 105, 111, - 110, 40, 103, 114, 111, 117, 112, 115, 44, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, 115, - 44, 32, 110, 97, 109, 101, 44, 32, 105, 100, 49, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 101, - 110, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 111, 110, 48, 44, - 32, 111, 110, 49, 44, 32, 116, 104, 97, 116, 32, 61, 32, 116, 104, 105, 115, 44, 32, 105, 100, 32, 61, - 32, 116, 104, 97, 116, 46, 95, 105, 100, 44, 32, 115, 105, 122, 101, 32, 61, 32, 116, 104, 97, 116, 46, - 115, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 110, 101, 119, 32, 80, 114, 111, 109, 105, 115, 101, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 114, 101, - 115, 111, 108, 118, 101, 44, 32, 114, 101, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 97, 110, 99, 101, 108, 32, 61, 32, 123, 118, 97, 108, - 117, 101, 58, 32, 114, 101, 106, 101, 99, 116, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 101, 110, 100, 32, 61, 32, 123, 118, 97, 108, 117, 101, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 105, 102, 32, 40, 45, 45, 115, 105, 122, 101, 32, 61, 61, - 61, 32, 48, 41, 32, 114, 101, 115, 111, 108, 118, 101, 40, 41, 59, 32, 125, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 97, 116, 46, 101, 97, 99, 104, 40, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 100, 117, 108, 101, 32, 61, 32, 115, 101, 116, 40, 116, - 104, 105, 115, 44, 32, 105, 100, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 111, 110, 32, 61, 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, 111, 110, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, - 102, 32, 116, 104, 105, 115, 32, 110, 111, 100, 101, 32, 115, 104, 97, 114, 101, 100, 32, 97, 32, 100, 105, - 115, 112, 97, 116, 99, 104, 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 112, 114, 101, 118, 105, 111, 117, - 115, 32, 110, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 106, 117, 115, 116, 32, 97, 115, 115, 105, 103, 110, 32, 116, 104, 101, 32, 117, 112, 100, - 97, 116, 101, 100, 32, 115, 104, 97, 114, 101, 100, 32, 100, 105, 115, 112, 97, 116, 99, 104, 32, 97, 110, - 100, 32, 119, 101, 226, 128, 153, 114, 101, 32, 100, 111, 110, 101, 33, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, 101, 114, 119, 105, 115, 101, 44, 32, - 99, 111, 112, 121, 45, 111, 110, 45, 119, 114, 105, 116, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 110, 32, 33, 61, 61, 32, 111, 110, 48, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 111, 110, 49, 32, 61, 32, 40, 111, 110, 48, 32, 61, 32, 111, 110, 41, 46, 99, 111, 112, 121, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, - 110, 49, 46, 95, 46, 99, 97, 110, 99, 101, 108, 46, 112, 117, 115, 104, 40, 99, 97, 110, 99, 101, 108, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 111, 110, 49, 46, 95, 46, 105, 110, 116, 101, 114, 114, 117, 112, 116, 46, 112, 117, 115, 104, 40, 99, 97, - 110, 99, 101, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 111, 110, 49, 46, 95, 46, 101, 110, 100, 46, 112, 117, 115, 104, 40, 101, 110, 100, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, - 111, 110, 32, 61, 32, 111, 110, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 104, 101, 32, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 119, 97, 115, 32, 101, 109, 112, 116, 121, 44, 32, 114, 101, - 115, 111, 108, 118, 101, 32, 101, 110, 100, 32, 105, 109, 109, 101, 100, 105, 97, 116, 101, 108, 121, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 105, 122, 101, 32, 61, 61, 61, - 32, 48, 41, 32, 114, 101, 115, 111, 108, 118, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 105, 100, 32, 61, - 32, 48, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 84, 114, 97, 110, 115, - 105, 116, 105, 111, 110, 40, 103, 114, 111, 117, 112, 115, 44, 32, 112, 97, 114, 101, 110, 116, 115, 44, 32, - 110, 97, 109, 101, 44, 32, 105, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 95, 103, 114, 111, 117, 112, 115, 32, 61, 32, 103, 114, 111, 117, 112, 115, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, 115, 32, 61, 32, 112, 97, - 114, 101, 110, 116, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 110, 97, - 109, 101, 32, 61, 32, 110, 97, 109, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 105, 100, 32, 61, 32, 105, 100, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 110, 97, 109, 101, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 40, 41, 46, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 110, 97, 109, 101, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 110, 101, 119, 73, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 43, 43, 105, 100, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 115, - 101, 108, 101, 99, 116, 105, 111, 110, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 59, 10, 10, 32, 32, - 32, 32, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, - 61, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, - 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, - 58, 32, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 101, 108, 101, 99, 116, 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 115, 101, 108, 101, 99, - 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 65, 108, 108, 58, 32, 116, - 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 115, 101, 108, 101, 99, 116, 65, 108, 108, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 105, 108, 116, 101, 114, 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, - 110, 95, 102, 105, 108, 116, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 114, 103, 101, - 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 109, 101, 114, 103, 101, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 58, 32, 116, 114, 97, 110, 115, 105, 116, - 105, 111, 110, 95, 115, 101, 108, 101, 99, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, - 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 108, - 108, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, - 99, 97, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 58, 32, 115, 101, - 108, 101, 99, 116, 105, 111, 110, 95, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 110, 111, 100, 101, 115, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 58, 32, 115, 101, 108, 101, 99, 116, 105, - 111, 110, 95, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 110, 111, 100, 101, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 105, 122, 101, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 112, 114, 111, - 116, 111, 116, 121, 112, 101, 46, 115, 105, 122, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 109, - 112, 116, 121, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 112, 114, 111, 116, 111, 116, 121, 112, - 101, 46, 101, 109, 112, 116, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 97, 99, 104, 58, 32, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 101, 97, 99, - 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 110, 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, - 111, 110, 95, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 116, 116, 114, 58, 32, 116, 114, - 97, 110, 115, 105, 116, 105, 111, 110, 95, 97, 116, 116, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 116, 116, 114, 84, 119, 101, 101, 110, 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 97, - 116, 116, 114, 84, 119, 101, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 121, 108, 101, - 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 115, 116, 121, 108, 101, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 116, 121, 108, 101, 84, 119, 101, 101, 110, 58, 32, 116, 114, 97, 110, 115, 105, - 116, 105, 111, 110, 95, 115, 116, 121, 108, 101, 84, 119, 101, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 101, 120, 116, 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 116, 101, 120, 116, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 101, 120, 116, 84, 119, 101, 101, 110, 58, 32, 116, 114, - 97, 110, 115, 105, 116, 105, 111, 110, 95, 116, 101, 120, 116, 84, 119, 101, 101, 110, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 109, 111, 118, 101, 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, - 95, 114, 101, 109, 111, 118, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 119, 101, 101, 110, 58, - 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 116, 119, 101, 101, 110, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 101, 108, 97, 121, 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 100, - 101, 108, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, 105, 111, 110, 58, - 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 100, 117, 114, 97, 116, 105, 111, 110, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 101, 97, 115, 101, 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, - 95, 101, 97, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 97, 115, 101, 86, 97, 114, 121, - 105, 110, 103, 58, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 95, 101, 97, 115, 101, 86, 97, 114, - 121, 105, 110, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 100, 58, 32, 116, 114, 97, 110, - 115, 105, 116, 105, 111, 110, 95, 101, 110, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 83, 121, - 109, 98, 111, 108, 46, 105, 116, 101, 114, 97, 116, 111, 114, 93, 58, 32, 115, 101, 108, 101, 99, 116, 105, - 111, 110, 95, 112, 114, 111, 116, 111, 116, 121, 112, 101, 91, 83, 121, 109, 98, 111, 108, 46, 105, 116, 101, - 114, 97, 116, 111, 114, 93, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, - 116, 32, 108, 105, 110, 101, 97, 114, 36, 49, 32, 61, 32, 116, 32, 61, 62, 32, 43, 116, 59, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 113, 117, 97, 100, 73, 110, 40, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 32, 42, 32, 116, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 113, 117, - 97, 100, 79, 117, 116, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 32, 42, 32, 40, 50, 32, 45, 32, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 113, 117, 97, 100, 73, 110, 79, 117, 116, 40, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 40, 116, - 32, 42, 61, 32, 50, 41, 32, 60, 61, 32, 49, 32, 63, 32, 116, 32, 42, 32, 116, 32, 58, 32, 45, - 45, 116, 32, 42, 32, 40, 50, 32, 45, 32, 116, 41, 32, 43, 32, 49, 41, 32, 47, 32, 50, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 98, - 105, 99, 73, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 116, 32, 42, 32, 116, 32, 42, 32, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 98, 105, 99, 79, 117, 116, 40, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 45, 45, 116, 32, 42, 32, 116, - 32, 42, 32, 116, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 99, 117, 98, 105, 99, 73, 110, 79, 117, 116, 40, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 40, 116, 32, 42, 61, 32, 50, - 41, 32, 60, 61, 32, 49, 32, 63, 32, 116, 32, 42, 32, 116, 32, 42, 32, 116, 32, 58, 32, 40, 116, - 32, 45, 61, 32, 50, 41, 32, 42, 32, 116, 32, 42, 32, 116, 32, 43, 32, 50, 41, 32, 47, 32, 50, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 101, 120, 112, 111, 110, 101, - 110, 116, 36, 49, 32, 61, 32, 51, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 112, 111, 108, 121, - 73, 110, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 101, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 43, 101, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 108, 121, 73, 110, 40, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 77, 97, 116, 104, 46, 112, 111, 119, 40, 116, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 73, 110, 46, 101, 120, 112, 111, - 110, 101, 110, 116, 32, 61, 32, 99, 117, 115, 116, 111, 109, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 112, 111, 108, 121, 73, 110, 59, 10, 32, 32, 32, 32, 125, 41, 40, - 101, 120, 112, 111, 110, 101, 110, 116, 36, 49, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 112, - 111, 108, 121, 79, 117, 116, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, - 111, 109, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 43, 101, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 108, 121, - 79, 117, 116, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 49, 32, 45, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 49, 32, 45, 32, 116, - 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 112, 111, 108, 121, 79, 117, 116, 46, 101, 120, 112, 111, 110, 101, 110, 116, 32, 61, 32, 99, 117, - 115, 116, 111, 109, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, - 111, 108, 121, 79, 117, 116, 59, 10, 32, 32, 32, 32, 125, 41, 40, 101, 120, 112, 111, 110, 101, 110, 116, - 36, 49, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 112, 111, 108, 121, 73, 110, 79, 117, 116, - 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 43, 101, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 108, 121, 73, 110, 79, 117, 116, 40, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 40, 40, 116, 32, 42, 61, 32, 50, 41, 32, 60, 61, 32, 49, 32, 63, 32, 77, 97, 116, 104, 46, - 112, 111, 119, 40, 116, 44, 32, 101, 41, 32, 58, 32, 50, 32, 45, 32, 77, 97, 116, 104, 46, 112, 111, - 119, 40, 50, 32, 45, 32, 116, 44, 32, 101, 41, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 73, 110, 79, 117, 116, - 46, 101, 120, 112, 111, 110, 101, 110, 116, 32, 61, 32, 99, 117, 115, 116, 111, 109, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 111, 108, 121, 73, 110, 79, 117, 116, 59, - 10, 32, 32, 32, 32, 125, 41, 40, 101, 120, 112, 111, 110, 101, 110, 116, 36, 49, 41, 59, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 112, 105, 36, 52, 32, 61, 32, 77, 97, 116, 104, 46, 80, 73, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 104, 97, 108, 102, 80, 105, 36, 51, 32, 61, 32, 112, 105, 36, 52, - 32, 47, 32, 50, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 105, 110, - 73, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 40, 43, 116, 32, 61, 61, 61, 32, 49, 41, 32, 63, 32, 49, 32, 58, 32, 49, 32, 45, 32, 77, 97, - 116, 104, 46, 99, 111, 115, 40, 116, 32, 42, 32, 104, 97, 108, 102, 80, 105, 36, 51, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 105, 110, 79, - 117, 116, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 77, 97, 116, 104, 46, 115, 105, 110, 40, 116, 32, 42, 32, 104, 97, 108, 102, 80, 105, 36, 51, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 105, - 110, 73, 110, 79, 117, 116, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 40, 49, 32, 45, 32, 77, 97, 116, 104, 46, 99, 111, 115, 40, 112, 105, 36, 52, 32, - 42, 32, 116, 41, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 116, 112, - 109, 116, 32, 105, 115, 32, 116, 119, 111, 32, 112, 111, 119, 101, 114, 32, 109, 105, 110, 117, 115, 32, 116, - 101, 110, 32, 116, 105, 109, 101, 115, 32, 116, 32, 115, 99, 97, 108, 101, 100, 32, 116, 111, 32, 91, 48, - 44, 49, 93, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 112, 109, 116, 40, 120, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 77, 97, 116, - 104, 46, 112, 111, 119, 40, 50, 44, 32, 45, 49, 48, 32, 42, 32, 120, 41, 32, 45, 32, 48, 46, 48, - 48, 48, 57, 55, 54, 53, 54, 50, 53, 41, 32, 42, 32, 49, 46, 48, 48, 48, 57, 55, 55, 53, 49, - 55, 49, 48, 54, 53, 52, 57, 52, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 101, 120, 112, 73, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 112, 109, 116, 40, 49, 32, 45, 32, 43, 116, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 120, - 112, 79, 117, 116, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 49, 32, 45, 32, 116, 112, 109, 116, 40, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 120, 112, 73, 110, 79, 117, 116, 40, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 40, 116, 32, 42, - 61, 32, 50, 41, 32, 60, 61, 32, 49, 32, 63, 32, 116, 112, 109, 116, 40, 49, 32, 45, 32, 116, 41, - 32, 58, 32, 50, 32, 45, 32, 116, 112, 109, 116, 40, 116, 32, 45, 32, 49, 41, 41, 32, 47, 32, 50, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, - 105, 114, 99, 108, 101, 73, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 49, 32, 45, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 49, 32, 45, 32, - 116, 32, 42, 32, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 99, 105, 114, 99, 108, 101, 79, 117, 116, 40, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 49, - 32, 45, 32, 45, 45, 116, 32, 42, 32, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 105, 114, 99, 108, 101, 73, 110, 79, 117, 116, 40, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 40, 116, 32, - 42, 61, 32, 50, 41, 32, 60, 61, 32, 49, 32, 63, 32, 49, 32, 45, 32, 77, 97, 116, 104, 46, 115, - 113, 114, 116, 40, 49, 32, 45, 32, 116, 32, 42, 32, 116, 41, 32, 58, 32, 77, 97, 116, 104, 46, 115, - 113, 114, 116, 40, 49, 32, 45, 32, 40, 116, 32, 45, 61, 32, 50, 41, 32, 42, 32, 116, 41, 32, 43, - 32, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 98, 49, 32, 61, 32, 52, 32, 47, 32, 49, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, - 50, 32, 61, 32, 54, 32, 47, 32, 49, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 51, 32, - 61, 32, 56, 32, 47, 32, 49, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 52, 32, 61, 32, - 51, 32, 47, 32, 52, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 53, 32, 61, 32, 57, 32, 47, - 32, 49, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 54, 32, 61, 32, 49, 48, 32, 47, 32, - 49, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 55, 32, 61, 32, 49, 53, 32, 47, 32, 49, - 54, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 56, 32, 61, 32, 50, 49, 32, 47, 32, 50, 50, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 57, 32, 61, 32, 54, 51, 32, 47, 32, 54, 52, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 48, 32, 61, 32, 49, 32, 47, 32, 98, 49, 32, 47, 32, - 98, 49, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 111, 117, 110, 99, - 101, 73, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 49, 32, 45, 32, 98, 111, 117, 110, 99, 101, 79, 117, 116, 40, 49, 32, 45, 32, 116, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 111, 117, - 110, 99, 101, 79, 117, 116, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 40, 116, 32, 61, 32, 43, 116, 41, 32, 60, 32, 98, 49, 32, 63, 32, 98, 48, 32, - 42, 32, 116, 32, 42, 32, 116, 32, 58, 32, 116, 32, 60, 32, 98, 51, 32, 63, 32, 98, 48, 32, 42, - 32, 40, 116, 32, 45, 61, 32, 98, 50, 41, 32, 42, 32, 116, 32, 43, 32, 98, 52, 32, 58, 32, 116, - 32, 60, 32, 98, 54, 32, 63, 32, 98, 48, 32, 42, 32, 40, 116, 32, 45, 61, 32, 98, 53, 41, 32, - 42, 32, 116, 32, 43, 32, 98, 55, 32, 58, 32, 98, 48, 32, 42, 32, 40, 116, 32, 45, 61, 32, 98, - 56, 41, 32, 42, 32, 116, 32, 43, 32, 98, 57, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 111, 117, 110, 99, 101, 73, 110, 79, 117, 116, 40, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 40, 116, 32, - 42, 61, 32, 50, 41, 32, 60, 61, 32, 49, 32, 63, 32, 49, 32, 45, 32, 98, 111, 117, 110, 99, 101, - 79, 117, 116, 40, 49, 32, 45, 32, 116, 41, 32, 58, 32, 98, 111, 117, 110, 99, 101, 79, 117, 116, 40, - 116, 32, 45, 32, 49, 41, 32, 43, 32, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 111, 118, 101, 114, 115, 104, 111, 111, 116, 32, 61, 32, 49, 46, - 55, 48, 49, 53, 56, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 98, 97, 99, 107, 73, 110, 32, - 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 115, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, 43, 115, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 97, 99, 107, 73, 110, 40, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 116, 32, - 61, 32, 43, 116, 41, 32, 42, 32, 116, 32, 42, 32, 40, 115, 32, 42, 32, 40, 116, 32, 45, 32, 49, - 41, 32, 43, 32, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 98, 97, 99, 107, 73, 110, 46, 111, 118, 101, 114, 115, 104, 111, 111, 116, 32, 61, 32, - 99, 117, 115, 116, 111, 109, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 98, 97, 99, 107, 73, 110, 59, 10, 32, 32, 32, 32, 125, 41, 40, 111, 118, 101, 114, 115, 104, 111, - 111, 116, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 98, 97, 99, 107, 79, 117, 116, 32, 61, - 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 115, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, 43, 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 97, 99, 107, 79, 117, 116, 40, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 45, 45, 116, - 32, 42, 32, 116, 32, 42, 32, 40, 40, 116, 32, 43, 32, 49, 41, 32, 42, 32, 115, 32, 43, 32, 116, - 41, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 98, 97, 99, 107, 79, 117, 116, 46, 111, 118, 101, 114, 115, 104, 111, 111, 116, 32, 61, 32, - 99, 117, 115, 116, 111, 109, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 98, 97, 99, 107, 79, 117, 116, 59, 10, 32, 32, 32, 32, 125, 41, 40, 111, 118, 101, 114, 115, 104, - 111, 111, 116, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 98, 97, 99, 107, 73, 110, 79, 117, - 116, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 115, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, 43, 115, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 97, 99, 107, 73, 110, 79, 117, 116, - 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 40, 40, 116, 32, 42, 61, 32, 50, 41, 32, 60, 32, 49, 32, 63, 32, 116, 32, 42, 32, 116, - 32, 42, 32, 40, 40, 115, 32, 43, 32, 49, 41, 32, 42, 32, 116, 32, 45, 32, 115, 41, 32, 58, 32, - 40, 116, 32, 45, 61, 32, 50, 41, 32, 42, 32, 116, 32, 42, 32, 40, 40, 115, 32, 43, 32, 49, 41, - 32, 42, 32, 116, 32, 43, 32, 115, 41, 32, 43, 32, 50, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 99, 107, 73, 110, 79, - 117, 116, 46, 111, 118, 101, 114, 115, 104, 111, 111, 116, 32, 61, 32, 99, 117, 115, 116, 111, 109, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 97, 99, 107, 73, 110, 79, - 117, 116, 59, 10, 32, 32, 32, 32, 125, 41, 40, 111, 118, 101, 114, 115, 104, 111, 111, 116, 41, 59, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 97, 117, 36, 53, 32, 61, 32, 50, 32, 42, 32, 77, 97, - 116, 104, 46, 80, 73, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 109, 112, 108, 105, 116, 117, 100, - 101, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 101, 114, 105, 111, 100, 32, 61, - 32, 48, 46, 51, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 101, 108, 97, 115, 116, 105, 99, 73, - 110, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 97, 44, - 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 32, 61, 32, 77, - 97, 116, 104, 46, 97, 115, 105, 110, 40, 49, 32, 47, 32, 40, 97, 32, 61, 32, 77, 97, 116, 104, 46, - 109, 97, 120, 40, 49, 44, 32, 97, 41, 41, 41, 32, 42, 32, 40, 112, 32, 47, 61, 32, 116, 97, 117, - 36, 53, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 101, 108, 97, 115, 116, 105, 99, 73, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 32, 42, 32, 116, 112, 109, 116, 40, 45, 40, 45, - 45, 116, 41, 41, 32, 42, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 40, 115, 32, 45, 32, 116, 41, - 32, 47, 32, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 108, 97, 115, 116, 105, 99, 73, 110, 46, 97, 109, 112, 108, 105, 116, 117, 100, 101, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, - 99, 117, 115, 116, 111, 109, 40, 97, 44, 32, 112, 32, 42, 32, 116, 97, 117, 36, 53, 41, 59, 32, 125, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 97, 115, 116, 105, 99, 73, 110, 46, 112, 101, 114, - 105, 111, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 112, 41, 32, 123, 32, 114, 101, 116, - 117, 114, 110, 32, 99, 117, 115, 116, 111, 109, 40, 97, 44, 32, 112, 41, 59, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 108, 97, 115, 116, 105, 99, 73, 110, - 59, 10, 32, 32, 32, 32, 125, 41, 40, 97, 109, 112, 108, 105, 116, 117, 100, 101, 44, 32, 112, 101, 114, - 105, 111, 100, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 101, 108, 97, 115, 116, 105, 99, 79, - 117, 116, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 97, - 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 32, 61, 32, - 77, 97, 116, 104, 46, 97, 115, 105, 110, 40, 49, 32, 47, 32, 40, 97, 32, 61, 32, 77, 97, 116, 104, - 46, 109, 97, 120, 40, 49, 44, 32, 97, 41, 41, 41, 32, 42, 32, 40, 112, 32, 47, 61, 32, 116, 97, - 117, 36, 53, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 101, 108, 97, 115, 116, 105, 99, 79, 117, 116, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 49, 32, 45, 32, 97, 32, 42, 32, 116, 112, - 109, 116, 40, 116, 32, 61, 32, 43, 116, 41, 32, 42, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 40, - 116, 32, 43, 32, 115, 41, 32, 47, 32, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 97, 115, 116, 105, 99, 79, 117, 116, 46, 97, 109, 112, - 108, 105, 116, 117, 100, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, 32, 123, 32, - 114, 101, 116, 117, 114, 110, 32, 99, 117, 115, 116, 111, 109, 40, 97, 44, 32, 112, 32, 42, 32, 116, 97, - 117, 36, 53, 41, 59, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 97, 115, 116, 105, - 99, 79, 117, 116, 46, 112, 101, 114, 105, 111, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 112, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 99, 117, 115, 116, 111, 109, 40, 97, 44, 32, 112, - 41, 59, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, - 108, 97, 115, 116, 105, 99, 79, 117, 116, 59, 10, 32, 32, 32, 32, 125, 41, 40, 97, 109, 112, 108, 105, - 116, 117, 100, 101, 44, 32, 112, 101, 114, 105, 111, 100, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 101, 108, 97, 115, 116, 105, 99, 73, 110, 79, 117, 116, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 97, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 115, 32, 61, 32, 77, 97, 116, 104, 46, 97, 115, 105, 110, 40, 49, 32, - 47, 32, 40, 97, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 49, 44, 32, 97, 41, 41, 41, - 32, 42, 32, 40, 112, 32, 47, 61, 32, 116, 97, 117, 36, 53, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 108, 97, 115, 116, 105, 99, 73, 110, 79, 117, - 116, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 40, 40, 116, 32, 61, 32, 116, 32, 42, 32, 50, 32, 45, 32, 49, 41, 32, 60, 32, 48, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 97, 32, 42, 32, - 116, 112, 109, 116, 40, 45, 116, 41, 32, 42, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 40, 115, 32, - 45, 32, 116, 41, 32, 47, 32, 112, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 58, 32, 50, 32, 45, 32, 97, 32, 42, 32, 116, 112, 109, 116, 40, 116, 41, 32, 42, 32, - 77, 97, 116, 104, 46, 115, 105, 110, 40, 40, 115, 32, 43, 32, 116, 41, 32, 47, 32, 112, 41, 41, 32, - 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 108, 97, 115, 116, 105, 99, 73, 110, 79, 117, 116, 46, 97, 109, 112, 108, 105, 116, 117, 100, 101, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, - 32, 99, 117, 115, 116, 111, 109, 40, 97, 44, 32, 112, 32, 42, 32, 116, 97, 117, 36, 53, 41, 59, 32, - 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 97, 115, 116, 105, 99, 73, 110, 79, 117, 116, - 46, 112, 101, 114, 105, 111, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 112, 41, 32, 123, - 32, 114, 101, 116, 117, 114, 110, 32, 99, 117, 115, 116, 111, 109, 40, 97, 44, 32, 112, 41, 59, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 108, 97, 115, 116, - 105, 99, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, 32, 125, 41, 40, 97, 109, 112, 108, 105, 116, 117, - 100, 101, 44, 32, 112, 101, 114, 105, 111, 100, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 100, - 101, 102, 97, 117, 108, 116, 84, 105, 109, 105, 110, 103, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 105, 109, 101, 58, 32, 110, 117, 108, 108, 44, 32, 47, 47, 32, 83, 101, 116, 32, 111, 110, - 32, 117, 115, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 97, 121, 58, 32, 48, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, 105, 111, 110, 58, 32, 50, 53, 48, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 97, 115, 101, 58, 32, 99, 117, 98, 105, 99, 73, 110, 79, - 117, 116, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 105, 110, 104, 101, 114, 105, 116, 40, 110, 111, 100, 101, 44, 32, 105, 100, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 105, 109, 105, 110, 103, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 33, 40, 116, 105, 109, 105, 110, 103, 32, 61, 32, 110, 111, - 100, 101, 46, 95, 95, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 41, 32, 124, 124, 32, 33, 40, 116, - 105, 109, 105, 110, 103, 32, 61, 32, 116, 105, 109, 105, 110, 103, 91, 105, 100, 93, 41, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 110, 111, 100, 101, 32, - 61, 32, 110, 111, 100, 101, 46, 112, 97, 114, 101, 110, 116, 78, 111, 100, 101, 41, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, - 119, 32, 69, 114, 114, 111, 114, 40, 96, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 36, 123, 105, - 100, 125, 32, 110, 111, 116, 32, 102, 111, 117, 110, 100, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 105, 109, 105, 110, 103, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, - 95, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 105, 109, 105, 110, 103, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 110, 97, 109, 101, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 84, 114, 97, 110, 115, 105, 116, - 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 32, 61, - 32, 110, 97, 109, 101, 46, 95, 105, 100, 44, 32, 110, 97, 109, 101, 32, 61, 32, 110, 97, 109, 101, 46, - 95, 110, 97, 109, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 32, 61, 32, 110, 101, 119, 73, 100, - 40, 41, 44, 32, 40, 116, 105, 109, 105, 110, 103, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 84, 105, - 109, 105, 110, 103, 41, 46, 116, 105, 109, 101, 32, 61, 32, 110, 111, 119, 40, 41, 44, 32, 110, 97, 109, - 101, 32, 61, 32, 110, 97, 109, 101, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, - 32, 58, 32, 110, 97, 109, 101, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, - 112, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 114, 111, 117, 112, 115, 44, 32, 109, 32, 61, 32, - 103, 114, 111, 117, 112, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 106, 32, 61, 32, 48, 59, 32, 106, - 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, 111, 117, - 112, 115, 91, 106, 93, 44, 32, 110, 32, 61, 32, 103, 114, 111, 117, 112, 46, 108, 101, 110, 103, 116, 104, - 44, 32, 110, 111, 100, 101, 44, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, - 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 110, 111, 100, 101, 32, 61, 32, 103, 114, 111, 117, 112, 91, 105, 93, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, - 100, 117, 108, 101, 40, 110, 111, 100, 101, 44, 32, 110, 97, 109, 101, 44, 32, 105, 100, 44, 32, 105, 44, - 32, 103, 114, 111, 117, 112, 44, 32, 116, 105, 109, 105, 110, 103, 32, 124, 124, 32, 105, 110, 104, 101, 114, - 105, 116, 40, 110, 111, 100, 101, 44, 32, 105, 100, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 110, 101, 119, 32, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 103, 114, 111, 117, - 112, 115, 44, 32, 116, 104, 105, 115, 46, 95, 112, 97, 114, 101, 110, 116, 115, 44, 32, 110, 97, 109, 101, - 44, 32, 105, 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 115, 101, 108, 101, 99, - 116, 105, 111, 110, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 105, 110, 116, 101, 114, 114, 117, 112, - 116, 32, 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 105, 110, 116, 101, 114, 114, 117, 112, 116, - 59, 10, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 46, 112, 114, 111, 116, 111, 116, 121, - 112, 101, 46, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 61, 32, 115, 101, 108, 101, 99, 116, 105, - 111, 110, 95, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 114, 111, 111, 116, 32, 61, 32, 91, 110, 117, 108, 108, 93, 59, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 97, 99, 116, 105, 118, 101, 40, 110, 111, 100, 101, 44, 32, 110, 97, 109, - 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 100, 117, - 108, 101, 115, 32, 61, 32, 110, 111, 100, 101, 46, 95, 95, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, 100, 117, 108, 101, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 115, 99, 104, 101, 100, 117, 108, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 32, 61, 32, 110, 97, 109, 101, 32, 61, 61, 32, - 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 110, 97, 109, 101, 32, 43, 32, 34, 34, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 105, 110, - 32, 115, 99, 104, 101, 100, 117, 108, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 115, 99, 104, 101, 100, 117, 108, 101, 32, 61, 32, - 115, 99, 104, 101, 100, 117, 108, 101, 115, 91, 105, 93, 41, 46, 115, 116, 97, 116, 101, 32, 62, 32, 83, - 67, 72, 69, 68, 85, 76, 69, 68, 32, 38, 38, 32, 115, 99, 104, 101, 100, 117, 108, 101, 46, 110, 97, - 109, 101, 32, 61, 61, 61, 32, 110, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, - 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 91, 91, 110, 111, 100, 101, 93, 93, 44, 32, 114, 111, - 111, 116, 44, 32, 110, 97, 109, 101, 44, 32, 43, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 55, 32, 61, 32, 120, 32, 61, 62, 32, 40, 41, 32, - 61, 62, 32, 120, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 66, 114, 117, - 115, 104, 69, 118, 101, 110, 116, 40, 116, 121, 112, 101, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 97, 114, 103, 101, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, - 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 105, 115, 112, 97, 116, 99, 104, 10, 32, 32, 32, 32, 125, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 79, 98, 106, 101, 99, 116, 46, 100, 101, 102, 105, 110, 101, 80, 114, 111, 112, 101, - 114, 116, 105, 101, 115, 40, 116, 104, 105, 115, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 121, 112, 101, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 116, 121, 112, 101, 44, 32, - 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, - 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 58, 32, 123, 118, 97, 108, 117, - 101, 58, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 44, 32, 101, 110, 117, 109, 101, 114, 97, - 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, 108, 101, - 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, - 114, 103, 101, 116, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 116, 97, 114, 103, 101, 116, 44, 32, 101, - 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, - 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 44, 32, 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, - 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, - 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 58, 32, 123, - 118, 97, 108, 117, 101, 58, 32, 109, 111, 100, 101, 44, 32, 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, - 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, - 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 58, 32, 123, 118, - 97, 108, 117, 101, 58, 32, 100, 105, 115, 112, 97, 116, 99, 104, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 110, 111, 112, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, 36, 49, 40, 101, 118, 101, 110, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 46, 115, 116, 111, 112, 73, - 109, 109, 101, 100, 105, 97, 116, 101, 80, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, 40, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 101, - 118, 101, 110, 116, 36, 49, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 118, 101, 110, 116, 46, 112, 114, 101, 118, 101, 110, 116, 68, 101, 102, 97, 117, 108, 116, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 46, 115, 116, 111, 112, 73, 109, 109, - 101, 100, 105, 97, 116, 101, 80, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, 40, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 77, 79, 68, 69, 95, 68, 82, 65, 71, 32, - 61, 32, 123, 110, 97, 109, 101, 58, 32, 34, 100, 114, 97, 103, 34, 125, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 77, 79, 68, 69, 95, 83, 80, 65, 67, 69, 32, 61, 32, 123, 110, 97, 109, 101, 58, 32, - 34, 115, 112, 97, 99, 101, 34, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 77, 79, 68, 69, 95, - 72, 65, 78, 68, 76, 69, 32, 61, 32, 123, 110, 97, 109, 101, 58, 32, 34, 104, 97, 110, 100, 108, 101, - 34, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 77, 79, 68, 69, 95, 67, 69, 78, 84, 69, 82, - 32, 61, 32, 123, 110, 97, 109, 101, 58, 32, 34, 99, 101, 110, 116, 101, 114, 34, 125, 59, 10, 10, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 97, 98, 115, 58, 32, 97, 98, 115, 36, 51, 44, 32, 109, - 97, 120, 58, 32, 109, 97, 120, 36, 50, 44, 32, 109, 105, 110, 58, 32, 109, 105, 110, 36, 49, 125, 32, - 61, 32, 77, 97, 116, 104, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, - 117, 109, 98, 101, 114, 49, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 91, 43, 101, 91, 48, 93, 44, 32, 43, 101, 91, 49, 93, 93, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 117, 109, 98, 101, 114, - 50, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, - 110, 117, 109, 98, 101, 114, 49, 40, 101, 91, 48, 93, 41, 44, 32, 110, 117, 109, 98, 101, 114, 49, 40, - 101, 91, 49, 93, 41, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 88, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 34, 120, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 97, 110, 100, 108, 101, 115, 58, 32, 91, 34, 119, 34, - 44, 32, 34, 101, 34, 93, 46, 109, 97, 112, 40, 116, 121, 112, 101, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 110, 112, 117, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 101, - 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, - 110, 117, 108, 108, 32, 58, 32, 91, 91, 43, 120, 91, 48, 93, 44, 32, 101, 91, 48, 93, 91, 49, 93, - 93, 44, 32, 91, 43, 120, 91, 49, 93, 44, 32, 101, 91, 49, 93, 91, 49, 93, 93, 93, 59, 32, 125, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 112, 117, 116, 58, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 120, 121, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 120, 121, 32, 38, 38, 32, - 91, 120, 121, 91, 48, 93, 91, 48, 93, 44, 32, 120, 121, 91, 49, 93, 91, 48, 93, 93, 59, 32, 125, - 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 89, 32, 61, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 34, 121, 34, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 104, 97, 110, 100, 108, 101, 115, 58, 32, 91, 34, 110, 34, 44, 32, 34, 115, 34, 93, - 46, 109, 97, 112, 40, 116, 121, 112, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 112, - 117, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 121, 44, 32, 101, 41, 32, 123, 32, 114, 101, - 116, 117, 114, 110, 32, 121, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, - 32, 91, 91, 101, 91, 48, 93, 91, 48, 93, 44, 32, 43, 121, 91, 48, 93, 93, 44, 32, 91, 101, 91, - 49, 93, 91, 48, 93, 44, 32, 43, 121, 91, 49, 93, 93, 93, 59, 32, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 111, 117, 116, 112, 117, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 121, - 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 120, 121, 32, 38, 38, 32, 91, 120, 121, 91, 48, 93, - 91, 49, 93, 44, 32, 120, 121, 91, 49, 93, 91, 49, 93, 93, 59, 32, 125, 10, 32, 32, 32, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 88, 89, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 97, 109, 101, 58, 32, 34, 120, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 104, 97, 110, 100, 108, 101, 115, 58, 32, 91, 34, 110, 34, 44, 32, 34, 119, 34, 44, 32, 34, 101, 34, - 44, 32, 34, 115, 34, 44, 32, 34, 110, 119, 34, 44, 32, 34, 110, 101, 34, 44, 32, 34, 115, 119, 34, - 44, 32, 34, 115, 101, 34, 93, 46, 109, 97, 112, 40, 116, 121, 112, 101, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 110, 112, 117, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 121, 41, - 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 120, 121, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, - 110, 117, 108, 108, 32, 58, 32, 110, 117, 109, 98, 101, 114, 50, 40, 120, 121, 41, 59, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 112, 117, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 120, 121, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 120, 121, 59, 32, 125, 10, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 117, 114, 115, 111, 114, 115, 32, 61, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 118, 101, 114, 108, 97, 121, 58, 32, 34, 99, 114, - 111, 115, 115, 104, 97, 105, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, - 116, 105, 111, 110, 58, 32, 34, 109, 111, 118, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 58, 32, 34, 110, 115, 45, 114, 101, 115, 105, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 101, 58, 32, 34, 101, 119, 45, 114, 101, 115, 105, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 58, 32, 34, 110, 115, 45, 114, 101, 115, 105, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 119, 58, 32, 34, 101, 119, 45, 114, 101, 115, 105, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 119, 58, 32, 34, 110, 119, 115, 101, 45, 114, 101, 115, 105, 122, 101, 34, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 110, 101, 58, 32, 34, 110, 101, 115, 119, 45, 114, 101, 115, 105, 122, 101, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 58, 32, 34, 110, 119, 115, 101, 45, 114, 101, - 115, 105, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 58, 32, 34, 110, 101, 115, - 119, 45, 114, 101, 115, 105, 122, 101, 34, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 102, 108, 105, 112, 88, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 58, - 32, 34, 119, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 58, 32, 34, 101, 34, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 110, 119, 58, 32, 34, 110, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 101, 58, 32, 34, 110, 119, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 58, - 32, 34, 115, 119, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 58, 32, 34, 115, 101, 34, - 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 102, 108, 105, 112, 89, 32, - 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 58, 32, 34, 115, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 58, 32, 34, 110, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 119, - 58, 32, 34, 115, 119, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 101, 58, 32, 34, 115, 101, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 58, 32, 34, 110, 101, 34, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 119, 58, 32, 34, 110, 119, 34, 10, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 105, 103, 110, 115, 88, 32, 61, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 111, 118, 101, 114, 108, 97, 121, 58, 32, 43, 49, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 58, 32, 43, 49, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 58, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 58, 32, 43, - 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 58, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 58, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 119, 58, - 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 101, 58, 32, 43, 49, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 101, 58, 32, 43, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 119, 58, 32, 45, 49, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, - 105, 103, 110, 115, 89, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 118, 101, 114, 108, - 97, 121, 58, 32, 43, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, - 111, 110, 58, 32, 43, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 58, 32, 45, 49, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 101, 58, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 58, 32, 43, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 58, 32, 110, 117, 108, - 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 119, 58, 32, 45, 49, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 110, 101, 58, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 58, - 32, 43, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 58, 32, 43, 49, 10, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 121, 112, 101, 40, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 116, 121, - 112, 101, 58, 32, 116, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 73, 103, 110, 111, 114, - 101, 32, 114, 105, 103, 104, 116, 45, 99, 108, 105, 99, 107, 44, 32, 115, 105, 110, 99, 101, 32, 116, 104, - 97, 116, 32, 115, 104, 111, 117, 108, 100, 32, 111, 112, 101, 110, 32, 116, 104, 101, 32, 99, 111, 110, 116, - 101, 120, 116, 32, 109, 101, 110, 117, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 100, 101, 102, 97, 117, 108, 116, 70, 105, 108, 116, 101, 114, 36, 49, 40, 101, 118, 101, 110, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 33, 101, 118, 101, 110, 116, - 46, 99, 116, 114, 108, 75, 101, 121, 32, 38, 38, 32, 33, 101, 118, 101, 110, 116, 46, 98, 117, 116, 116, - 111, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 100, 101, 102, 97, 117, 108, 116, 69, 120, 116, 101, 110, 116, 36, 49, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 118, 103, 32, 61, 32, 116, 104, 105, 115, 46, 111, 119, - 110, 101, 114, 83, 86, 71, 69, 108, 101, 109, 101, 110, 116, 32, 124, 124, 32, 116, 104, 105, 115, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 118, 103, 46, 104, 97, 115, 65, 116, 116, 114, - 105, 98, 117, 116, 101, 40, 34, 118, 105, 101, 119, 66, 111, 120, 34, 41, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 118, 103, 32, 61, 32, 115, 118, 103, 46, 118, 105, 101, 119, - 66, 111, 120, 46, 98, 97, 115, 101, 86, 97, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 91, 115, 118, 103, 46, 120, 44, 32, 115, 118, 103, 46, 121, - 93, 44, 32, 91, 115, 118, 103, 46, 120, 32, 43, 32, 115, 118, 103, 46, 119, 105, 100, 116, 104, 44, 32, - 115, 118, 103, 46, 121, 32, 43, 32, 115, 118, 103, 46, 104, 101, 105, 103, 104, 116, 93, 93, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 91, 91, 48, 44, 32, 48, 93, 44, 32, 91, 115, 118, 103, 46, 119, 105, 100, 116, 104, 46, 98, 97, - 115, 101, 86, 97, 108, 46, 118, 97, 108, 117, 101, 44, 32, 115, 118, 103, 46, 104, 101, 105, 103, 104, 116, - 46, 98, 97, 115, 101, 86, 97, 108, 46, 118, 97, 108, 117, 101, 93, 93, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 84, - 111, 117, 99, 104, 97, 98, 108, 101, 36, 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 110, 97, 118, 105, 103, 97, 116, 111, 114, 46, 109, 97, 120, 84, 111, 117, - 99, 104, 80, 111, 105, 110, 116, 115, 32, 124, 124, 32, 40, 34, 111, 110, 116, 111, 117, 99, 104, 115, 116, - 97, 114, 116, 34, 32, 105, 110, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, - 47, 32, 76, 105, 107, 101, 32, 100, 51, 46, 108, 111, 99, 97, 108, 44, 32, 98, 117, 116, 32, 119, 105, - 116, 104, 32, 116, 104, 101, 32, 110, 97, 109, 101, 32, 226, 128, 156, 95, 95, 98, 114, 117, 115, 104, 226, - 128, 157, 32, 114, 97, 116, 104, 101, 114, 32, 116, 104, 97, 110, 32, 97, 117, 116, 111, 45, 103, 101, 110, - 101, 114, 97, 116, 101, 100, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 111, - 99, 97, 108, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, - 108, 101, 32, 40, 33, 110, 111, 100, 101, 46, 95, 95, 98, 114, 117, 115, 104, 41, 32, 105, 102, 32, 40, - 33, 40, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 46, 112, 97, 114, 101, 110, 116, 78, 111, 100, - 101, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 110, 111, 100, 101, 46, 95, 95, 98, 114, 117, 115, 104, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 109, 112, 116, 121, 40, 101, 120, - 116, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 48, 93, 32, 61, 61, 61, 32, 101, 120, 116, 101, 110, 116, - 91, 49, 93, 91, 48, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 124, 32, 101, - 120, 116, 101, 110, 116, 91, 48, 93, 91, 49, 93, 32, 61, 61, 61, 32, 101, 120, 116, 101, 110, 116, 91, - 49, 93, 91, 49, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 98, 114, 117, 115, 104, 83, 101, 108, 101, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 97, 116, 101, 32, 61, - 32, 110, 111, 100, 101, 46, 95, 95, 98, 114, 117, 115, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 115, 116, 97, 116, 101, 32, 63, 32, 115, 116, 97, 116, 101, 46, 100, 105, - 109, 46, 111, 117, 116, 112, 117, 116, 40, 115, 116, 97, 116, 101, 46, 115, 101, 108, 101, 99, 116, 105, 111, - 110, 41, 32, 58, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 98, 114, 117, 115, 104, 88, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 114, 117, 115, 104, 36, 49, 40, 88, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 114, 117, - 115, 104, 89, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 98, 114, 117, 115, 104, 36, 49, 40, 89, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 114, 117, 115, 104, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 114, 117, 115, 104, 36, 49, 40, 88, 89, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 114, - 117, 115, 104, 36, 49, 40, 100, 105, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 101, 120, 116, 101, 110, 116, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 69, 120, 116, 101, 110, - 116, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 108, 116, 101, 114, - 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 70, 105, 108, 116, 101, 114, 36, 49, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 117, 99, 104, 97, 98, 108, 101, 32, 61, 32, 100, 101, - 102, 97, 117, 108, 116, 84, 111, 117, 99, 104, 97, 98, 108, 101, 36, 49, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 107, 101, 121, 115, 32, 61, 32, 116, 114, 117, 101, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 100, 105, - 115, 112, 97, 116, 99, 104, 40, 34, 115, 116, 97, 114, 116, 34, 44, 32, 34, 98, 114, 117, 115, 104, 34, - 44, 32, 34, 101, 110, 100, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, - 97, 110, 100, 108, 101, 83, 105, 122, 101, 32, 61, 32, 54, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 111, 117, 99, 104, 101, 110, 100, 105, 110, 103, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 114, 117, 115, 104, 40, 103, 114, 111, 117, 112, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 111, 118, 101, - 114, 108, 97, 121, 32, 61, 32, 103, 114, 111, 117, 112, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 112, 114, 111, 112, 101, 114, 116, 121, 40, 34, 95, 95, 98, 114, 117, 115, - 104, 34, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 101, 108, 101, 99, 116, 65, 108, 108, 40, 34, 46, 111, - 118, 101, 114, 108, 97, 121, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 100, 97, 116, 97, 40, 91, 116, 121, 112, 101, 40, 34, 111, 118, 101, 114, 108, 97, 121, 34, - 41, 93, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 118, 101, 114, 108, - 97, 121, 46, 101, 110, 116, 101, 114, 40, 41, 46, 97, 112, 112, 101, 110, 100, 40, 34, 114, 101, 99, 116, - 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, - 114, 40, 34, 99, 108, 97, 115, 115, 34, 44, 32, 34, 111, 118, 101, 114, 108, 97, 121, 34, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 112, - 111, 105, 110, 116, 101, 114, 45, 101, 118, 101, 110, 116, 115, 34, 44, 32, 34, 97, 108, 108, 34, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, - 99, 117, 114, 115, 111, 114, 34, 44, 32, 99, 117, 114, 115, 111, 114, 115, 46, 111, 118, 101, 114, 108, 97, - 121, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 109, 101, 114, - 103, 101, 40, 111, 118, 101, 114, 108, 97, 121, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 101, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 101, 120, 116, 101, 110, 116, 32, 61, 32, 108, 111, 99, 97, 108, 40, 116, 104, 105, 115, 41, 46, - 101, 120, 116, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 40, 116, 104, 105, 115, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, - 114, 40, 34, 120, 34, 44, 32, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 48, 93, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, - 97, 116, 116, 114, 40, 34, 121, 34, 44, 32, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 49, 93, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 97, 116, 116, 114, 40, 34, 119, 105, 100, 116, 104, 34, 44, 32, 101, 120, 116, 101, 110, 116, - 91, 49, 93, 91, 48, 93, 32, 45, 32, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 48, 93, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 46, 97, 116, 116, 114, 40, 34, 104, 101, 105, 103, 104, 116, 34, 44, 32, 101, 120, 116, 101, 110, 116, - 91, 49, 93, 91, 49, 93, 32, 45, 32, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 49, 93, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, 46, 115, 101, 108, 101, 99, 116, - 65, 108, 108, 40, 34, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 34, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 100, 97, 116, 97, 40, 91, 116, 121, 112, 101, 40, - 34, 115, 101, 108, 101, 99, 116, 105, 111, 110, 34, 41, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 46, 101, 110, 116, 101, 114, 40, 41, 46, 97, 112, 112, 101, 110, 100, - 40, 34, 114, 101, 99, 116, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 97, 116, 116, 114, 40, 34, 99, 108, 97, 115, 115, 34, 44, 32, 34, 115, 101, 108, 101, 99, - 116, 105, 111, 110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 46, 97, 116, 116, 114, 40, 34, 99, 117, 114, 115, 111, 114, 34, 44, 32, 99, 117, 114, 115, 111, 114, 115, - 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 102, 105, 108, 108, 34, 44, 32, 34, 35, 55, 55, - 55, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, - 116, 114, 40, 34, 102, 105, 108, 108, 45, 111, 112, 97, 99, 105, 116, 121, 34, 44, 32, 48, 46, 51, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, - 34, 115, 116, 114, 111, 107, 101, 34, 44, 32, 34, 35, 102, 102, 102, 34, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 115, 104, 97, 112, 101, - 45, 114, 101, 110, 100, 101, 114, 105, 110, 103, 34, 44, 32, 34, 99, 114, 105, 115, 112, 69, 100, 103, 101, - 115, 34, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, - 97, 110, 100, 108, 101, 32, 61, 32, 103, 114, 111, 117, 112, 46, 115, 101, 108, 101, 99, 116, 65, 108, 108, - 40, 34, 46, 104, 97, 110, 100, 108, 101, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 100, 97, 116, 97, 40, 100, 105, 109, 46, 104, 97, 110, 100, 108, 101, 115, 44, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 100, - 46, 116, 121, 112, 101, 59, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 104, 97, 110, 100, 108, 101, 46, 101, 120, 105, 116, 40, 41, 46, 114, 101, 109, 111, 118, 101, 40, 41, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 97, 110, 100, 108, 101, 46, 101, - 110, 116, 101, 114, 40, 41, 46, 97, 112, 112, 101, 110, 100, 40, 34, 114, 101, 99, 116, 34, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 99, - 108, 97, 115, 115, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 32, 114, 101, - 116, 117, 114, 110, 32, 34, 104, 97, 110, 100, 108, 101, 32, 104, 97, 110, 100, 108, 101, 45, 45, 34, 32, - 43, 32, 100, 46, 116, 121, 112, 101, 59, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 99, 117, 114, 115, 111, 114, 34, 44, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 99, 117, 114, - 115, 111, 114, 115, 91, 100, 46, 116, 121, 112, 101, 93, 59, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 101, 97, 99, 104, 40, 114, 101, 100, 114, 97, 119, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 102, 105, - 108, 108, 34, 44, 32, 34, 110, 111, 110, 101, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 45, 101, 118, - 101, 110, 116, 115, 34, 44, 32, 34, 97, 108, 108, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 109, 111, 117, 115, 101, 100, 111, 119, 110, 46, 98, - 114, 117, 115, 104, 34, 44, 32, 115, 116, 97, 114, 116, 101, 100, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 102, 105, 108, 116, 101, 114, 40, 116, 111, 117, 99, 104, 97, - 98, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, - 110, 40, 34, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, 46, 98, 114, 117, 115, 104, 34, 44, 32, 115, - 116, 97, 114, 116, 101, 100, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 46, 111, 110, 40, 34, 116, 111, 117, 99, 104, 109, 111, 118, 101, 46, 98, 114, 117, 115, 104, 34, 44, - 32, 116, 111, 117, 99, 104, 109, 111, 118, 101, 100, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 116, 111, 117, 99, 104, 101, 110, 100, 46, 98, 114, 117, - 115, 104, 32, 116, 111, 117, 99, 104, 99, 97, 110, 99, 101, 108, 46, 98, 114, 117, 115, 104, 34, 44, 32, - 116, 111, 117, 99, 104, 101, 110, 100, 101, 100, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 116, 111, 117, 99, 104, 45, 97, 99, 116, 105, - 111, 110, 34, 44, 32, 34, 110, 111, 110, 101, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 45, 119, 101, 98, 107, 105, 116, 45, 116, - 97, 112, 45, 104, 105, 103, 104, 108, 105, 103, 104, 116, 45, 99, 111, 108, 111, 114, 34, 44, 32, 34, 114, - 103, 98, 97, 40, 48, 44, 48, 44, 48, 44, 48, 41, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 117, 115, 104, 46, 109, 111, 118, 101, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 103, 114, 111, 117, 112, 44, 32, 115, 101, 108, 101, 99, - 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 103, 114, 111, 117, 112, 46, 116, 119, 101, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 115, 116, 97, 114, 116, 46, - 98, 114, 117, 115, 104, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, - 32, 123, 32, 101, 109, 105, 116, 116, 101, 114, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 41, 46, 98, 101, 102, 111, 114, 101, 115, 116, 97, 114, 116, 40, 41, 46, 115, 116, 97, 114, - 116, 40, 101, 118, 101, 110, 116, 41, 59, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 105, 110, 116, 101, 114, 114, 117, 112, - 116, 46, 98, 114, 117, 115, 104, 32, 101, 110, 100, 46, 98, 114, 117, 115, 104, 34, 44, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 32, 123, 32, 101, 109, 105, 116, 116, 101, 114, 40, - 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 46, 101, 110, 100, 40, 101, 118, - 101, 110, 116, 41, 59, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 116, 119, 101, 101, 110, 40, 34, 98, 114, 117, 115, 104, 34, 44, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 104, 97, 116, 32, 61, - 32, 116, 104, 105, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 116, 101, 32, 61, 32, 116, 104, 97, - 116, 46, 95, 95, 98, 114, 117, 115, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 109, 105, 116, 32, 61, 32, - 101, 109, 105, 116, 116, 101, 114, 40, 116, 104, 97, 116, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 48, 32, 61, 32, 115, 116, - 97, 116, 101, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, - 101, 99, 116, 105, 111, 110, 49, 32, 61, 32, 100, 105, 109, 46, 105, 110, 112, 117, 116, 40, 116, 121, 112, - 101, 111, 102, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, - 116, 105, 111, 110, 34, 32, 63, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 46, 97, 112, 112, 108, 121, - 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 58, 32, 115, 101, 108, - 101, 99, 116, 105, 111, 110, 44, 32, 115, 116, 97, 116, 101, 46, 101, 120, 116, 101, 110, 116, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 36, 50, 40, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 48, 44, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 49, 41, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 119, 101, 101, 110, 40, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 116, 97, 116, 101, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, - 32, 116, 32, 61, 61, 61, 32, 49, 32, 38, 38, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 49, 32, - 61, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 105, 40, 116, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 100, 114, 97, 119, 46, 99, 97, 108, 108, 40, 116, 104, 97, 116, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 101, 109, 105, 116, 46, 98, 114, 117, 115, 104, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 48, 32, 33, 61, - 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 49, 32, 33, 61, - 61, 32, 110, 117, 108, 108, 32, 63, 32, 116, 119, 101, 101, 110, 32, 58, 32, 116, 119, 101, 101, 110, 40, - 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, - 112, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, - 101, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 116, 104, 97, 116, 32, 61, 32, 116, 104, 105, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 115, 32, - 61, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 116, 101, - 32, 61, 32, 116, 104, 97, 116, 46, 95, 95, 98, 114, 117, 115, 104, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 101, 108, 101, 99, 116, 105, 111, 110, 49, 32, 61, 32, 100, 105, 109, 46, 105, 110, 112, 117, 116, 40, 116, - 121, 112, 101, 111, 102, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 61, 61, 32, 34, 102, 117, - 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 46, 97, 112, 112, - 108, 121, 40, 116, 104, 97, 116, 44, 32, 97, 114, 103, 115, 41, 32, 58, 32, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 44, 32, 115, 116, 97, 116, 101, 46, 101, 120, 116, 101, 110, 116, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 101, 109, 105, 116, 32, 61, 32, 101, 109, 105, 116, 116, 101, 114, 40, 116, 104, 97, 116, 44, 32, - 97, 114, 103, 115, 41, 46, 98, 101, 102, 111, 114, 101, 115, 116, 97, 114, 116, 40, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 110, 116, 101, 114, 114, 117, 112, 116, 40, 116, 104, 97, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 116, 101, - 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 49, - 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 100, 114, 97, 119, 46, 99, 97, 108, 108, 40, 116, 104, - 97, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 101, 109, 105, 116, 46, 115, 116, 97, 114, 116, 40, 41, 46, 98, 114, 117, 115, - 104, 40, 41, 46, 101, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 98, 114, 117, 115, 104, 46, 99, 108, 101, 97, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 103, 114, 111, 117, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, - 117, 115, 104, 46, 109, 111, 118, 101, 40, 103, 114, 111, 117, 112, 44, 32, 110, 117, 108, 108, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 114, 101, 100, 114, 97, 119, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, 115, 101, 108, 101, 99, - 116, 40, 116, 104, 105, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 108, 111, 99, 97, 108, 40, 116, 104, 105, - 115, 41, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 115, 101, 108, 101, 99, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, 46, 115, 101, 108, - 101, 99, 116, 65, 108, 108, 40, 34, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 34, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, - 101, 40, 34, 100, 105, 115, 112, 108, 97, 121, 34, 44, 32, 110, 117, 108, 108, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, - 120, 34, 44, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 48, 93, 91, 48, 93, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, - 40, 34, 121, 34, 44, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 48, 93, 91, 49, 93, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, - 116, 114, 40, 34, 119, 105, 100, 116, 104, 34, 44, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 49, - 93, 91, 48, 93, 32, 45, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 48, 93, 91, 48, 93, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, - 116, 116, 114, 40, 34, 104, 101, 105, 103, 104, 116, 34, 44, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, - 91, 49, 93, 91, 49, 93, 32, 45, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 48, 93, 91, 49, - 93, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, - 111, 117, 112, 46, 115, 101, 108, 101, 99, 116, 65, 108, 108, 40, 34, 46, 104, 97, 110, 100, 108, 101, 34, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, - 115, 116, 121, 108, 101, 40, 34, 100, 105, 115, 112, 108, 97, 121, 34, 44, 32, 110, 117, 108, 108, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, - 116, 114, 40, 34, 120, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 32, 114, - 101, 116, 117, 114, 110, 32, 100, 46, 116, 121, 112, 101, 91, 100, 46, 116, 121, 112, 101, 46, 108, 101, 110, - 103, 116, 104, 32, 45, 32, 49, 93, 32, 61, 61, 61, 32, 34, 101, 34, 32, 63, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 91, 49, 93, 91, 48, 93, 32, 45, 32, 104, 97, 110, 100, 108, 101, 83, 105, 122, - 101, 32, 47, 32, 50, 32, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 48, 93, 91, 48, 93, - 32, 45, 32, 104, 97, 110, 100, 108, 101, 83, 105, 122, 101, 32, 47, 32, 50, 59, 32, 125, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, - 114, 40, 34, 121, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 32, 114, 101, - 116, 117, 114, 110, 32, 100, 46, 116, 121, 112, 101, 91, 48, 93, 32, 61, 61, 61, 32, 34, 115, 34, 32, - 63, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 49, 93, 91, 49, 93, 32, 45, 32, 104, 97, 110, - 100, 108, 101, 83, 105, 122, 101, 32, 47, 32, 50, 32, 58, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, - 91, 48, 93, 91, 49, 93, 32, 45, 32, 104, 97, 110, 100, 108, 101, 83, 105, 122, 101, 32, 47, 32, 50, - 59, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 97, 116, 116, 114, 40, 34, 119, 105, 100, 116, 104, 34, 44, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 100, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 116, 121, 112, 101, 32, 61, - 61, 61, 32, 34, 110, 34, 32, 124, 124, 32, 100, 46, 116, 121, 112, 101, 32, 61, 61, 61, 32, 34, 115, - 34, 32, 63, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 49, 93, 91, 48, 93, 32, 45, 32, 115, - 101, 108, 101, 99, 116, 105, 111, 110, 91, 48, 93, 91, 48, 93, 32, 43, 32, 104, 97, 110, 100, 108, 101, - 83, 105, 122, 101, 32, 58, 32, 104, 97, 110, 100, 108, 101, 83, 105, 122, 101, 59, 32, 125, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, - 114, 40, 34, 104, 101, 105, 103, 104, 116, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, - 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 116, 121, 112, 101, 32, 61, 61, 61, 32, 34, 101, - 34, 32, 124, 124, 32, 100, 46, 116, 121, 112, 101, 32, 61, 61, 61, 32, 34, 119, 34, 32, 63, 32, 115, - 101, 108, 101, 99, 116, 105, 111, 110, 91, 49, 93, 91, 49, 93, 32, 45, 32, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 91, 48, 93, 91, 49, 93, 32, 43, 32, 104, 97, 110, 100, 108, 101, 83, 105, 122, 101, 32, - 58, 32, 104, 97, 110, 100, 108, 101, 83, 105, 122, 101, 59, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, - 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, - 114, 111, 117, 112, 46, 115, 101, 108, 101, 99, 116, 65, 108, 108, 40, 34, 46, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 44, 46, 104, 97, 110, 100, 108, 101, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 100, 105, 115, 112, - 108, 97, 121, 34, 44, 32, 34, 110, 111, 110, 101, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 120, 34, 44, 32, 110, - 117, 108, 108, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 97, 116, 116, 114, 40, 34, 121, 34, 44, 32, 110, 117, 108, 108, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, - 119, 105, 100, 116, 104, 34, 44, 32, 110, 117, 108, 108, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 104, 101, 105, 103, 104, - 116, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 101, 109, 105, 116, 116, 101, 114, 40, 116, 104, 97, 116, 44, 32, 97, 114, - 103, 115, 44, 32, 99, 108, 101, 97, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 101, 109, 105, 116, 32, 61, 32, 116, 104, 97, 116, 46, 95, 95, 98, 114, 117, - 115, 104, 46, 101, 109, 105, 116, 116, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 101, 109, 105, 116, 32, 38, 38, 32, 40, 33, 99, 108, 101, 97, 110, - 32, 124, 124, 32, 33, 101, 109, 105, 116, 46, 99, 108, 101, 97, 110, 41, 32, 63, 32, 101, 109, 105, 116, - 32, 58, 32, 110, 101, 119, 32, 69, 109, 105, 116, 116, 101, 114, 40, 116, 104, 97, 116, 44, 32, 97, 114, - 103, 115, 44, 32, 99, 108, 101, 97, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 69, 109, 105, 116, 116, 101, - 114, 40, 116, 104, 97, 116, 44, 32, 97, 114, 103, 115, 44, 32, 99, 108, 101, 97, 110, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 104, 97, 116, 32, 61, - 32, 116, 104, 97, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 97, 114, 103, 115, 32, 61, 32, 97, 114, 103, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 115, 116, 97, 116, 101, 32, 61, 32, 116, 104, 97, 116, 46, 95, 95, - 98, 114, 117, 115, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 97, 99, 116, 105, 118, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 99, 108, 101, 97, 110, 32, 61, 32, 99, 108, 101, 97, 110, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 69, 109, 105, 116, 116, - 101, 114, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 98, 101, 102, 111, 114, 101, 115, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 43, 43, 116, 104, 105, 115, 46, 97, 99, 116, 105, 118, 101, 32, 61, 61, 61, - 32, 49, 41, 32, 116, 104, 105, 115, 46, 115, 116, 97, 116, 101, 46, 101, 109, 105, 116, 116, 101, 114, 32, - 61, 32, 116, 104, 105, 115, 44, 32, 116, 104, 105, 115, 46, 115, 116, 97, 114, 116, 105, 110, 103, 32, 61, - 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 58, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 44, 32, 109, 111, 100, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, - 104, 105, 115, 46, 115, 116, 97, 114, 116, 105, 110, 103, 41, 32, 116, 104, 105, 115, 46, 115, 116, 97, 114, - 116, 105, 110, 103, 32, 61, 32, 102, 97, 108, 115, 101, 44, 32, 116, 104, 105, 115, 46, 101, 109, 105, 116, - 40, 34, 115, 116, 97, 114, 116, 34, 44, 32, 101, 118, 101, 110, 116, 44, 32, 109, 111, 100, 101, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 116, - 104, 105, 115, 46, 101, 109, 105, 116, 40, 34, 98, 114, 117, 115, 104, 34, 44, 32, 101, 118, 101, 110, 116, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 117, 115, 104, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 44, 32, 109, 111, 100, 101, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 101, 109, 105, 116, - 40, 34, 98, 114, 117, 115, 104, 34, 44, 32, 101, 118, 101, 110, 116, 44, 32, 109, 111, 100, 101, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 101, 118, 101, 110, 116, 44, 32, 109, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 45, 45, 116, 104, 105, 115, 46, 97, 99, - 116, 105, 118, 101, 32, 61, 61, 61, 32, 48, 41, 32, 100, 101, 108, 101, 116, 101, 32, 116, 104, 105, 115, - 46, 115, 116, 97, 116, 101, 46, 101, 109, 105, 116, 116, 101, 114, 44, 32, 116, 104, 105, 115, 46, 101, 109, - 105, 116, 40, 34, 101, 110, 100, 34, 44, 32, 101, 118, 101, 110, 116, 44, 32, 109, 111, 100, 101, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 109, 105, 116, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 116, 121, 112, 101, 44, 32, 101, 118, 101, 110, 116, 44, 32, 109, 111, 100, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, - 61, 32, 115, 101, 108, 101, 99, 116, 40, 116, 104, 105, 115, 46, 116, 104, 97, 116, 41, 46, 100, 97, 116, - 117, 109, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, - 105, 115, 116, 101, 110, 101, 114, 115, 46, 99, 97, 108, 108, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 104, 97, - 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 110, 101, 119, 32, 66, 114, 117, 115, 104, 69, 118, 101, 110, 116, 40, 116, 121, 112, 101, 44, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 58, 32, 101, 118, 101, 110, 116, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 97, 114, 103, 101, 116, 58, 32, 98, 114, 117, 115, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, - 110, 58, 32, 100, 105, 109, 46, 111, 117, 116, 112, 117, 116, 40, 116, 104, 105, 115, 46, 115, 116, 97, 116, - 101, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 105, 115, 112, 97, 116, 99, 104, 58, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 97, 114, 116, 101, 100, 40, 101, 118, 101, - 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, - 111, 117, 99, 104, 101, 110, 100, 105, 110, 103, 32, 38, 38, 32, 33, 101, 118, 101, 110, 116, 46, 116, 111, - 117, 99, 104, 101, 115, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 33, 102, 105, 108, 116, 101, 114, 46, 97, 112, 112, 108, 121, 40, 116, - 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 32, 114, 101, 116, 117, 114, 110, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 104, 97, 116, - 32, 61, 32, 116, 104, 105, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 121, 112, 101, 32, 61, 32, 101, 118, 101, 110, 116, 46, 116, 97, 114, 103, 101, 116, 46, 95, - 95, 100, 97, 116, 97, 95, 95, 46, 116, 121, 112, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 32, 61, 32, 40, 107, 101, 121, 115, 32, 38, 38, 32, - 101, 118, 101, 110, 116, 46, 109, 101, 116, 97, 75, 101, 121, 32, 63, 32, 116, 121, 112, 101, 32, 61, 32, - 34, 111, 118, 101, 114, 108, 97, 121, 34, 32, 58, 32, 116, 121, 112, 101, 41, 32, 61, 61, 61, 32, 34, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 34, 32, 63, 32, 77, 79, 68, 69, 95, 68, 82, 65, 71, 32, - 58, 32, 40, 107, 101, 121, 115, 32, 38, 38, 32, 101, 118, 101, 110, 116, 46, 97, 108, 116, 75, 101, 121, - 32, 63, 32, 77, 79, 68, 69, 95, 67, 69, 78, 84, 69, 82, 32, 58, 32, 77, 79, 68, 69, 95, 72, - 65, 78, 68, 76, 69, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 105, 103, 110, 88, 32, 61, 32, 100, 105, 109, 32, 61, 61, 61, 32, 89, 32, 63, 32, 110, 117, - 108, 108, 32, 58, 32, 115, 105, 103, 110, 115, 88, 91, 116, 121, 112, 101, 93, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 103, 110, 89, 32, 61, 32, 100, 105, 109, - 32, 61, 61, 61, 32, 88, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 115, 105, 103, 110, 115, 89, 91, - 116, 121, 112, 101, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 116, 97, 116, 101, 32, 61, 32, 108, 111, 99, 97, 108, 40, 116, 104, 97, 116, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 120, 116, 101, 110, 116, 32, 61, 32, - 115, 116, 97, 116, 101, 46, 101, 120, 116, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 115, 116, 97, 116, - 101, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 87, 32, 61, 32, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 48, 93, 44, - 32, 119, 48, 44, 32, 119, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 78, 32, 61, 32, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 49, 93, 44, 32, 110, 48, 44, - 32, 110, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 32, - 61, 32, 101, 120, 116, 101, 110, 116, 91, 49, 93, 91, 48, 93, 44, 32, 101, 48, 44, 32, 101, 49, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 32, 61, 32, 101, 120, - 116, 101, 110, 116, 91, 49, 93, 91, 49, 93, 44, 32, 115, 48, 44, 32, 115, 49, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, 32, 48, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 48, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 118, 105, 110, 103, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 104, 105, 102, 116, 105, 110, - 103, 32, 61, 32, 115, 105, 103, 110, 88, 32, 38, 38, 32, 115, 105, 103, 110, 89, 32, 38, 38, 32, 107, - 101, 121, 115, 32, 38, 38, 32, 101, 118, 101, 110, 116, 46, 115, 104, 105, 102, 116, 75, 101, 121, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 99, 107, 88, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 99, 107, 89, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 115, 32, - 61, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 101, 118, 101, 110, 116, 46, 116, 111, 117, 99, - 104, 101, 115, 32, 124, 124, 32, 91, 101, 118, 101, 110, 116, 93, 44, 32, 116, 32, 61, 62, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 105, 32, 61, 32, 116, 46, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 112, - 111, 105, 110, 116, 101, 114, 40, 116, 44, 32, 116, 104, 97, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 46, 112, 111, 105, 110, 116, 48, 32, - 61, 32, 116, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 46, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 32, - 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 116, 121, 112, 101, 32, 61, 61, 61, 32, 34, 111, 118, 101, 114, 108, 97, 121, 34, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, - 101, 108, 101, 99, 116, 105, 111, 110, 41, 32, 109, 111, 118, 105, 110, 103, 32, 61, 32, 116, 114, 117, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, - 32, 112, 116, 115, 32, 61, 32, 91, 112, 111, 105, 110, 116, 115, 91, 48, 93, 44, 32, 112, 111, 105, 110, - 116, 115, 91, 49, 93, 32, 124, 124, 32, 112, 111, 105, 110, 116, 115, 91, 48, 93, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 116, 101, 46, 115, 101, 108, - 101, 99, 116, 105, 111, 110, 32, 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 91, 91, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 48, - 32, 61, 32, 100, 105, 109, 32, 61, 61, 61, 32, 89, 32, 63, 32, 87, 32, 58, 32, 109, 105, 110, 36, - 49, 40, 112, 116, 115, 91, 48, 93, 91, 48, 93, 44, 32, 112, 116, 115, 91, 49, 93, 91, 48, 93, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 48, 32, 61, 32, 100, 105, 109, 32, 61, 61, 61, 32, 88, 32, 63, 32, 78, 32, 58, 32, 109, 105, 110, - 36, 49, 40, 112, 116, 115, 91, 48, 93, 91, 49, 93, 44, 32, 112, 116, 115, 91, 49, 93, 91, 49, 93, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 44, 32, 91, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 48, 32, - 61, 32, 100, 105, 109, 32, 61, 61, 61, 32, 89, 32, 63, 32, 69, 32, 58, 32, 109, 97, 120, 36, 50, - 40, 112, 116, 115, 91, 48, 93, 91, 48, 93, 44, 32, 112, 116, 115, 91, 49, 93, 91, 48, 93, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 48, - 32, 61, 32, 100, 105, 109, 32, 61, 61, 61, 32, 88, 32, 63, 32, 83, 32, 58, 32, 109, 97, 120, 36, - 50, 40, 112, 116, 115, 91, 48, 93, 91, 49, 93, 44, 32, 112, 116, 115, 91, 49, 93, 91, 49, 93, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 111, 105, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 49, 41, 32, 109, 111, 118, 101, 40, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 48, 32, 61, 32, 115, 101, 108, 101, 99, - 116, 105, 111, 110, 91, 48, 93, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 48, 32, 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 48, 93, 91, - 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 48, 32, - 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 49, 93, 91, 48, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 48, 32, 61, 32, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 91, 49, 93, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 49, 32, 61, 32, 119, 48, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 49, 32, 61, 32, 110, 48, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 49, 32, 61, 32, 101, 48, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 49, 32, 61, 32, 115, 48, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, 115, 101, 108, - 101, 99, 116, 40, 116, 104, 97, 116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 45, 101, 118, 101, 110, 116, - 115, 34, 44, 32, 34, 110, 111, 110, 101, 34, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 111, 118, 101, 114, 108, 97, 121, 32, 61, 32, 103, 114, 111, 117, 112, 46, - 115, 101, 108, 101, 99, 116, 65, 108, 108, 40, 34, 46, 111, 118, 101, 114, 108, 97, 121, 34, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 99, - 117, 114, 115, 111, 114, 34, 44, 32, 99, 117, 114, 115, 111, 114, 115, 91, 116, 121, 112, 101, 93, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 114, 117, 112, 116, - 40, 116, 104, 97, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 101, 109, 105, 116, 32, 61, 32, 101, 109, 105, 116, 116, 101, 114, 40, 116, 104, 97, 116, 44, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 44, 32, 116, 114, 117, 101, 41, 46, 98, 101, 102, 111, 114, 101, 115, - 116, 97, 114, 116, 40, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 101, 118, 101, 110, 116, 46, 116, 111, 117, 99, 104, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 109, 105, 116, 46, 109, 111, 118, 101, 100, 32, - 61, 32, 109, 111, 118, 101, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 101, 109, 105, 116, 46, 101, 110, 100, 101, 100, 32, 61, 32, 101, 110, 100, 101, 100, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 105, 101, 119, 32, 61, - 32, 115, 101, 108, 101, 99, 116, 40, 101, 118, 101, 110, 116, 46, 118, 105, 101, 119, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 109, - 111, 117, 115, 101, 109, 111, 118, 101, 46, 98, 114, 117, 115, 104, 34, 44, 32, 109, 111, 118, 101, 100, 44, - 32, 116, 114, 117, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 111, 110, 40, 34, 109, 111, 117, 115, 101, 117, 112, 46, 98, 114, 117, 115, 104, 34, - 44, 32, 101, 110, 100, 101, 100, 44, 32, 116, 114, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 101, 121, 115, 41, 32, 118, 105, 101, 119, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, - 110, 40, 34, 107, 101, 121, 100, 111, 119, 110, 46, 98, 114, 117, 115, 104, 34, 44, 32, 107, 101, 121, 100, - 111, 119, 110, 101, 100, 44, 32, 116, 114, 117, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 107, 101, 121, 117, 112, 46, 98, 114, - 117, 115, 104, 34, 44, 32, 107, 101, 121, 117, 112, 112, 101, 100, 44, 32, 116, 114, 117, 101, 41, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 114, 97, 103, 68, 105, - 115, 97, 98, 108, 101, 40, 101, 118, 101, 110, 116, 46, 118, 105, 101, 119, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 100, 114, 97, 119, 46, 99, 97, 108, 108, 40, 116, 104, 97, 116, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 101, 109, 105, 116, 46, 115, 116, 97, 114, 116, 40, 101, 118, 101, 110, - 116, 44, 32, 109, 111, 100, 101, 46, 110, 97, 109, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 111, 118, 101, 100, 40, 101, 118, 101, - 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 112, 32, 111, 102, 32, 101, 118, 101, 110, 116, 46, 99, 104, - 97, 110, 103, 101, 100, 84, 111, 117, 99, 104, 101, 115, 32, 124, 124, 32, 91, 101, 118, 101, 110, 116, 93, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 100, 32, 111, 102, 32, 112, 111, 105, 110, 116, 115, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 100, 46, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 32, 61, 61, 61, - 32, 112, 46, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 41, 32, 100, 46, 99, 117, 114, 32, 61, 32, - 112, 111, 105, 110, 116, 101, 114, 40, 112, 44, 32, 116, 104, 97, 116, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 104, 105, 102, 116, 105, 110, 103, 32, 38, 38, 32, 33, - 108, 111, 99, 107, 88, 32, 38, 38, 32, 33, 108, 111, 99, 107, 89, 32, 38, 38, 32, 112, 111, 105, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, - 111, 105, 110, 116, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 98, 115, 36, - 51, 40, 112, 111, 105, 110, 116, 46, 99, 117, 114, 91, 48, 93, 32, 45, 32, 112, 111, 105, 110, 116, 91, - 48, 93, 41, 32, 62, 32, 97, 98, 115, 36, 51, 40, 112, 111, 105, 110, 116, 46, 99, 117, 114, 91, 49, - 93, 32, 45, 32, 112, 111, 105, 110, 116, 91, 49, 93, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 99, 107, 89, 32, 61, - 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 101, 108, 115, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 99, 107, 88, 32, 61, 32, 116, 114, 117, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, - 112, 111, 105, 110, 116, 32, 111, 102, 32, 112, 111, 105, 110, 116, 115, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 111, 105, 110, 116, - 46, 99, 117, 114, 41, 32, 112, 111, 105, 110, 116, 91, 48, 93, 32, 61, 32, 112, 111, 105, 110, 116, 46, - 99, 117, 114, 91, 48, 93, 44, 32, 112, 111, 105, 110, 116, 91, 49, 93, 32, 61, 32, 112, 111, 105, 110, - 116, 46, 99, 117, 114, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 109, 111, 118, 105, 110, 103, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 101, 118, 101, 110, 116, 36, 49, 40, 101, 118, - 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, - 111, 118, 101, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 109, 111, 118, 101, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 111, 105, 110, 116, 32, 61, 32, - 112, 111, 105, 110, 116, 115, 91, 48, 93, 44, 32, 112, 111, 105, 110, 116, 48, 32, 61, 32, 112, 111, 105, - 110, 116, 46, 112, 111, 105, 110, 116, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 116, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 120, 32, 61, 32, 112, 111, 105, 110, 116, 91, 48, 93, 32, 45, 32, 112, 111, - 105, 110, 116, 48, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 121, 32, 61, 32, 112, 111, 105, 110, 116, 91, 49, 93, 32, 45, 32, 112, 111, 105, 110, 116, - 48, 91, 49, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 119, 105, 116, 99, 104, 32, 40, 109, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 77, 79, 68, 69, 95, - 83, 80, 65, 67, 69, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 97, 115, 101, 32, 77, 79, 68, 69, 95, 68, 82, 65, 71, 58, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 115, 105, 103, 110, 88, 41, 32, 100, 120, 32, 61, 32, 109, 97, 120, 36, 50, 40, 87, - 32, 45, 32, 119, 48, 44, 32, 109, 105, 110, 36, 49, 40, 69, 32, 45, 32, 101, 48, 44, 32, 100, 120, - 41, 41, 44, 32, 119, 49, 32, 61, 32, 119, 48, 32, 43, 32, 100, 120, 44, 32, 101, 49, 32, 61, 32, - 101, 48, 32, 43, 32, 100, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 105, 103, 110, 89, 41, 32, 100, 121, - 32, 61, 32, 109, 97, 120, 36, 50, 40, 78, 32, 45, 32, 110, 48, 44, 32, 109, 105, 110, 36, 49, 40, - 83, 32, 45, 32, 115, 48, 44, 32, 100, 121, 41, 41, 44, 32, 110, 49, 32, 61, 32, 110, 48, 32, 43, - 32, 100, 121, 44, 32, 115, 49, 32, 61, 32, 115, 48, 32, 43, 32, 100, 121, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, - 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 97, 115, 101, 32, 77, 79, 68, 69, 95, 72, 65, 78, 68, 76, 69, 58, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 112, 111, 105, 110, 116, 115, 91, 49, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 115, 105, 103, 110, 88, 41, 32, 119, 49, 32, 61, 32, 109, 97, 120, 36, 50, 40, 87, 44, 32, 109, - 105, 110, 36, 49, 40, 69, 44, 32, 112, 111, 105, 110, 116, 115, 91, 48, 93, 91, 48, 93, 41, 41, 44, - 32, 101, 49, 32, 61, 32, 109, 97, 120, 36, 50, 40, 87, 44, 32, 109, 105, 110, 36, 49, 40, 69, 44, - 32, 112, 111, 105, 110, 116, 115, 91, 49, 93, 91, 48, 93, 41, 41, 44, 32, 115, 105, 103, 110, 88, 32, - 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 105, 103, 110, 89, 41, 32, 110, 49, - 32, 61, 32, 109, 97, 120, 36, 50, 40, 78, 44, 32, 109, 105, 110, 36, 49, 40, 83, 44, 32, 112, 111, - 105, 110, 116, 115, 91, 48, 93, 91, 49, 93, 41, 41, 44, 32, 115, 49, 32, 61, 32, 109, 97, 120, 36, - 50, 40, 78, 44, 32, 109, 105, 110, 36, 49, 40, 83, 44, 32, 112, 111, 105, 110, 116, 115, 91, 49, 93, - 91, 49, 93, 41, 41, 44, 32, 115, 105, 103, 110, 89, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, - 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 105, 103, 110, 88, 32, 60, 32, 48, - 41, 32, 100, 120, 32, 61, 32, 109, 97, 120, 36, 50, 40, 87, 32, 45, 32, 119, 48, 44, 32, 109, 105, - 110, 36, 49, 40, 69, 32, 45, 32, 119, 48, 44, 32, 100, 120, 41, 41, 44, 32, 119, 49, 32, 61, 32, - 119, 48, 32, 43, 32, 100, 120, 44, 32, 101, 49, 32, 61, 32, 101, 48, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 105, 103, 110, 88, 32, 62, 32, 48, 41, 32, 100, 120, 32, - 61, 32, 109, 97, 120, 36, 50, 40, 87, 32, 45, 32, 101, 48, 44, 32, 109, 105, 110, 36, 49, 40, 69, - 32, 45, 32, 101, 48, 44, 32, 100, 120, 41, 41, 44, 32, 119, 49, 32, 61, 32, 119, 48, 44, 32, 101, - 49, 32, 61, 32, 101, 48, 32, 43, 32, 100, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, - 105, 103, 110, 89, 32, 60, 32, 48, 41, 32, 100, 121, 32, 61, 32, 109, 97, 120, 36, 50, 40, 78, 32, - 45, 32, 110, 48, 44, 32, 109, 105, 110, 36, 49, 40, 83, 32, 45, 32, 110, 48, 44, 32, 100, 121, 41, - 41, 44, 32, 110, 49, 32, 61, 32, 110, 48, 32, 43, 32, 100, 121, 44, 32, 115, 49, 32, 61, 32, 115, - 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 105, 103, 110, 89, 32, - 62, 32, 48, 41, 32, 100, 121, 32, 61, 32, 109, 97, 120, 36, 50, 40, 78, 32, 45, 32, 115, 48, 44, - 32, 109, 105, 110, 36, 49, 40, 83, 32, 45, 32, 115, 48, 44, 32, 100, 121, 41, 41, 44, 32, 110, 49, - 32, 61, 32, 110, 48, 44, 32, 115, 49, 32, 61, 32, 115, 48, 32, 43, 32, 100, 121, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 77, 79, 68, 69, 95, 67, 69, 78, 84, 69, 82, 58, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 115, 105, 103, 110, 88, 41, 32, 119, 49, 32, 61, 32, 109, 97, 120, 36, - 50, 40, 87, 44, 32, 109, 105, 110, 36, 49, 40, 69, 44, 32, 119, 48, 32, 45, 32, 100, 120, 32, 42, - 32, 115, 105, 103, 110, 88, 41, 41, 44, 32, 101, 49, 32, 61, 32, 109, 97, 120, 36, 50, 40, 87, 44, - 32, 109, 105, 110, 36, 49, 40, 69, 44, 32, 101, 48, 32, 43, 32, 100, 120, 32, 42, 32, 115, 105, 103, - 110, 88, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 105, 103, 110, 89, 41, 32, 110, 49, 32, 61, 32, - 109, 97, 120, 36, 50, 40, 78, 44, 32, 109, 105, 110, 36, 49, 40, 83, 44, 32, 110, 48, 32, 45, 32, - 100, 121, 32, 42, 32, 115, 105, 103, 110, 89, 41, 41, 44, 32, 115, 49, 32, 61, 32, 109, 97, 120, 36, - 50, 40, 78, 44, 32, 109, 105, 110, 36, 49, 40, 83, 44, 32, 115, 48, 32, 43, 32, 100, 121, 32, 42, - 32, 115, 105, 103, 110, 89, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 49, 32, 60, 32, 119, 49, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 103, 110, 88, - 32, 42, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 32, 61, 32, 119, 48, 44, 32, 119, 48, 32, 61, 32, 101, 48, 44, 32, 101, - 48, 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 32, 61, 32, 119, 49, 44, 32, 119, 49, 32, 61, 32, 101, 49, 44, 32, 101, 49, - 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 32, 105, 110, 32, 102, 108, 105, 112, 88, 41, 32, 111, - 118, 101, 114, 108, 97, 121, 46, 97, 116, 116, 114, 40, 34, 99, 117, 114, 115, 111, 114, 34, 44, 32, 99, - 117, 114, 115, 111, 114, 115, 91, 116, 121, 112, 101, 32, 61, 32, 102, 108, 105, 112, 88, 91, 116, 121, 112, - 101, 93, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, - 49, 32, 60, 32, 110, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 105, 103, 110, 89, 32, 42, 61, 32, 45, 49, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 110, 48, - 44, 32, 110, 48, 32, 61, 32, 115, 48, 44, 32, 115, 48, 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 110, 49, 44, - 32, 110, 49, 32, 61, 32, 115, 49, 44, 32, 115, 49, 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, - 32, 105, 110, 32, 102, 108, 105, 112, 89, 41, 32, 111, 118, 101, 114, 108, 97, 121, 46, 97, 116, 116, 114, - 40, 34, 99, 117, 114, 115, 111, 114, 34, 44, 32, 99, 117, 114, 115, 111, 114, 115, 91, 116, 121, 112, 101, - 32, 61, 32, 102, 108, 105, 112, 89, 91, 116, 121, 112, 101, 93, 93, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, 97, 116, 101, 46, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 41, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 115, 116, 97, 116, 101, 46, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 59, 32, 47, 47, 32, 77, 97, 121, 32, 98, 101, 32, 115, 101, - 116, 32, 98, 121, 32, 98, 114, 117, 115, 104, 46, 109, 111, 118, 101, 33, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 111, 99, 107, 88, 41, 32, 119, 49, - 32, 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 48, 93, 91, 48, 93, 44, 32, 101, 49, 32, - 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 49, 93, 91, 48, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 111, 99, 107, 89, 41, 32, - 110, 49, 32, 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 48, 93, 91, 49, 93, 44, 32, 115, - 49, 32, 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 91, 49, 93, 91, 49, 93, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 91, 48, 93, 91, 48, 93, 32, 33, 61, 61, 32, 119, 49, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 124, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 91, 48, 93, 91, 49, 93, 32, 33, 61, 61, 32, 110, 49, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 124, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 91, 49, 93, 91, 48, 93, 32, 33, 61, 61, 32, 101, 49, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 124, 32, 115, 101, 108, 101, - 99, 116, 105, 111, 110, 91, 49, 93, 91, 49, 93, 32, 33, 61, 61, 32, 115, 49, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 116, - 101, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 91, 91, 119, 49, 44, 32, 110, 49, 93, - 44, 32, 91, 101, 49, 44, 32, 115, 49, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 100, 114, 97, 119, 46, 99, 97, 108, 108, 40, 116, - 104, 97, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 109, 105, 116, 46, 98, 114, 117, 115, 104, 40, 101, 118, 101, 110, 116, 44, 32, 109, 111, - 100, 101, 46, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 110, 100, 101, 100, - 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 111, 112, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, 36, 49, 40, 101, 118, 101, 110, - 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 101, 118, 101, 110, 116, 46, 116, 111, 117, 99, 104, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 118, 101, 110, - 116, 46, 116, 111, 117, 99, 104, 101, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, - 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 116, 111, 117, 99, 104, 101, 110, 100, 105, 110, 103, 41, 32, 99, 108, 101, 97, 114, 84, - 105, 109, 101, 111, 117, 116, 40, 116, 111, 117, 99, 104, 101, 110, 100, 105, 110, 103, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 117, 99, 104, - 101, 110, 100, 105, 110, 103, 32, 61, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 116, 111, 117, 99, 104, 101, 110, 100, 105, 110, 103, 32, 61, - 32, 110, 117, 108, 108, 59, 32, 125, 44, 32, 53, 48, 48, 41, 59, 32, 47, 47, 32, 71, 104, 111, 115, - 116, 32, 99, 108, 105, 99, 107, 115, 32, 97, 114, 101, 32, 100, 101, 108, 97, 121, 101, 100, 33, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 101, - 115, 100, 114, 97, 103, 40, 101, 118, 101, 110, 116, 46, 118, 105, 101, 119, 44, 32, 109, 111, 118, 105, 110, - 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 105, 101, 119, 46, 111, 110, 40, 34, 107, 101, 121, 100, 111, 119, 110, 46, 98, 114, 117, 115, 104, - 32, 107, 101, 121, 117, 112, 46, 98, 114, 117, 115, 104, 32, 109, 111, 117, 115, 101, 109, 111, 118, 101, 46, - 98, 114, 117, 115, 104, 32, 109, 111, 117, 115, 101, 117, 112, 46, 98, 114, 117, 115, 104, 34, 44, 32, 110, - 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, 46, - 97, 116, 116, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 45, 101, 118, 101, 110, 116, 115, 34, 44, 32, - 34, 97, 108, 108, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 111, 118, 101, 114, 108, 97, 121, 46, 97, 116, 116, 114, 40, 34, 99, 117, 114, 115, 111, 114, 34, 44, - 32, 99, 117, 114, 115, 111, 114, 115, 46, 111, 118, 101, 114, 108, 97, 121, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, 97, 116, 101, 46, 115, - 101, 108, 101, 99, 116, 105, 111, 110, 41, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 115, - 116, 97, 116, 101, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 59, 32, 47, 47, 32, 77, 97, 121, 32, - 98, 101, 32, 115, 101, 116, 32, 98, 121, 32, 98, 114, 117, 115, 104, 46, 109, 111, 118, 101, 32, 40, 111, - 110, 32, 115, 116, 97, 114, 116, 41, 33, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 101, 109, 112, 116, 121, 40, 115, 101, 108, 101, 99, 116, 105, 111, 110, 41, - 41, 32, 115, 116, 97, 116, 101, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 110, 117, 108, - 108, 44, 32, 114, 101, 100, 114, 97, 119, 46, 99, 97, 108, 108, 40, 116, 104, 97, 116, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 109, 105, 116, 46, 101, 110, 100, - 40, 101, 118, 101, 110, 116, 44, 32, 109, 111, 100, 101, 46, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 107, 101, 121, 100, 111, 119, 110, 101, 100, 40, 101, 118, 101, - 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 119, 105, 116, 99, 104, 32, 40, 101, 118, 101, 110, 116, 46, 107, 101, 121, 67, 111, 100, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, - 115, 101, 32, 49, 54, 58, 32, 123, 32, 47, 47, 32, 83, 72, 73, 70, 84, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 104, 105, 102, - 116, 105, 110, 103, 32, 61, 32, 115, 105, 103, 110, 88, 32, 38, 38, 32, 115, 105, 103, 110, 89, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 56, 58, 32, 123, 32, 47, 47, 32, 65, 76, 84, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 77, 79, 68, 69, 95, 72, 65, 78, 68, 76, - 69, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 105, 103, 110, 88, 41, 32, 101, 48, - 32, 61, 32, 101, 49, 32, 45, 32, 100, 120, 32, 42, 32, 115, 105, 103, 110, 88, 44, 32, 119, 48, 32, - 61, 32, 119, 49, 32, 43, 32, 100, 120, 32, 42, 32, 115, 105, 103, 110, 88, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 115, 105, 103, 110, 89, 41, 32, 115, 48, 32, 61, 32, 115, 49, 32, 45, 32, 100, - 121, 32, 42, 32, 115, 105, 103, 110, 89, 44, 32, 110, 48, 32, 61, 32, 110, 49, 32, 43, 32, 100, 121, - 32, 42, 32, 115, 105, 103, 110, 89, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 32, 61, 32, 77, - 79, 68, 69, 95, 67, 69, 78, 84, 69, 82, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 118, 101, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 50, 58, 32, 123, 32, 47, 47, 32, - 83, 80, 65, 67, 69, 59, 32, 116, 97, 107, 101, 115, 32, 112, 114, 105, 111, 114, 105, 116, 121, 32, 111, - 118, 101, 114, 32, 65, 76, 84, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 77, - 79, 68, 69, 95, 72, 65, 78, 68, 76, 69, 32, 124, 124, 32, 109, 111, 100, 101, 32, 61, 61, 61, 32, - 77, 79, 68, 69, 95, 67, 69, 78, 84, 69, 82, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 115, 105, 103, 110, 88, 32, 60, 32, 48, 41, 32, 101, 48, 32, 61, 32, 101, 49, 32, 45, 32, 100, - 120, 59, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 105, 103, 110, 88, 32, 62, 32, 48, 41, 32, - 119, 48, 32, 61, 32, 119, 49, 32, 45, 32, 100, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 115, 105, 103, 110, 89, 32, 60, 32, 48, 41, 32, 115, 48, 32, 61, 32, 115, 49, 32, 45, 32, 100, 121, - 59, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 105, 103, 110, 89, 32, 62, 32, 48, 41, 32, 110, - 48, 32, 61, 32, 110, 49, 32, 45, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 32, - 61, 32, 77, 79, 68, 69, 95, 83, 80, 65, 67, 69, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 118, 101, 114, - 108, 97, 121, 46, 97, 116, 116, 114, 40, 34, 99, 117, 114, 115, 111, 114, 34, 44, 32, 99, 117, 114, 115, - 111, 114, 115, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, - 118, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 114, - 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 101, 118, 101, - 110, 116, 36, 49, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 107, 101, 121, 117, 112, 112, 101, 100, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 101, - 118, 101, 110, 116, 46, 107, 101, 121, 67, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 54, 58, 32, 123, - 32, 47, 47, 32, 83, 72, 73, 70, 84, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 104, 105, 102, 116, 105, 110, 103, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 99, 107, 88, 32, 61, 32, 108, 111, 99, 107, 89, 32, - 61, 32, 115, 104, 105, 102, 116, 105, 110, 103, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 109, 111, 118, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, - 56, 58, 32, 123, 32, 47, 47, 32, 65, 76, 84, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, - 61, 61, 32, 77, 79, 68, 69, 95, 67, 69, 78, 84, 69, 82, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 115, 105, 103, 110, 88, 32, 60, 32, 48, 41, 32, 101, 48, 32, 61, 32, 101, 49, 59, - 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 105, 103, 110, 88, 32, 62, 32, 48, 41, 32, 119, 48, - 32, 61, 32, 119, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 105, 103, 110, 89, 32, 60, - 32, 48, 41, 32, 115, 48, 32, 61, 32, 115, 49, 59, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, - 105, 103, 110, 89, 32, 62, 32, 48, 41, 32, 110, 48, 32, 61, 32, 110, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 109, 111, 100, 101, 32, 61, 32, 77, 79, 68, 69, 95, 72, 65, 78, 68, 76, 69, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 109, 111, 118, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, - 51, 50, 58, 32, 123, 32, 47, 47, 32, 83, 80, 65, 67, 69, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 111, 100, - 101, 32, 61, 61, 61, 32, 77, 79, 68, 69, 95, 83, 80, 65, 67, 69, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 101, 118, 101, 110, 116, 46, 97, 108, 116, 75, 101, 121, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 105, 103, 110, 88, 41, 32, 101, 48, 32, 61, - 32, 101, 49, 32, 45, 32, 100, 120, 32, 42, 32, 115, 105, 103, 110, 88, 44, 32, 119, 48, 32, 61, 32, - 119, 49, 32, 43, 32, 100, 120, 32, 42, 32, 115, 105, 103, 110, 88, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 115, 105, 103, 110, 89, 41, 32, 115, 48, 32, 61, 32, 115, 49, 32, 45, - 32, 100, 121, 32, 42, 32, 115, 105, 103, 110, 89, 44, 32, 110, 48, 32, 61, 32, 110, 49, 32, 43, 32, - 100, 121, 32, 42, 32, 115, 105, 103, 110, 89, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, - 100, 101, 32, 61, 32, 77, 79, 68, 69, 95, 67, 69, 78, 84, 69, 82, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, - 105, 103, 110, 88, 32, 60, 32, 48, 41, 32, 101, 48, 32, 61, 32, 101, 49, 59, 32, 101, 108, 115, 101, - 32, 105, 102, 32, 40, 115, 105, 103, 110, 88, 32, 62, 32, 48, 41, 32, 119, 48, 32, 61, 32, 119, 49, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 105, 103, 110, 89, 32, 60, 32, - 48, 41, 32, 115, 48, 32, 61, 32, 115, 49, 59, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 105, - 103, 110, 89, 32, 62, 32, 48, 41, 32, 110, 48, 32, 61, 32, 110, 49, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 109, 111, 100, 101, 32, 61, 32, 77, 79, 68, 69, 95, 72, 65, 78, 68, 76, 69, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 118, 101, 114, 108, 97, 121, 46, 97, 116, - 116, 114, 40, 34, 99, 117, 114, 115, 111, 114, 34, 44, 32, 99, 117, 114, 115, 111, 114, 115, 91, 116, 121, - 112, 101, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 118, 101, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 101, 118, 101, 110, 116, 36, 49, 40, 101, 118, 101, 110, 116, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, - 111, 117, 99, 104, 109, 111, 118, 101, 100, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 101, 109, 105, 116, 116, 101, 114, 40, 116, 104, 105, 115, 44, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 41, 46, 109, 111, 118, 101, 100, 40, 101, 118, 101, 110, 116, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 116, 111, 117, 99, 104, 101, 110, 100, 101, 100, 40, 101, 118, 101, 110, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 109, 105, 116, 116, 101, 114, 40, - 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 46, 101, 110, 100, 101, 100, 40, - 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, - 97, 116, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 95, 98, 114, 117, 115, 104, 32, 124, 124, 32, 123, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 58, 32, 110, 117, 108, 108, 125, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 116, 101, 46, 101, 120, 116, 101, 110, 116, 32, 61, 32, 110, - 117, 109, 98, 101, 114, 50, 40, 101, 120, 116, 101, 110, 116, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, - 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 116, 97, 116, 101, 46, 100, 105, 109, 32, 61, 32, 100, 105, 109, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 97, 116, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, - 117, 115, 104, 46, 101, 120, 116, 101, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 101, 120, 116, - 101, 110, 116, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, - 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 55, - 40, 110, 117, 109, 98, 101, 114, 50, 40, 95, 41, 41, 44, 32, 98, 114, 117, 115, 104, 41, 32, 58, 32, - 101, 120, 116, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 98, 114, 117, 115, 104, 46, 102, 105, 108, 116, 101, 114, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 63, 32, 40, 102, 105, 108, 116, 101, 114, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, - 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, - 115, 116, 97, 110, 116, 36, 55, 40, 33, 33, 95, 41, 44, 32, 98, 114, 117, 115, 104, 41, 32, 58, 32, - 102, 105, 108, 116, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 98, 114, 117, 115, 104, 46, 116, 111, 117, 99, 104, 97, 98, 108, 101, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, - 103, 116, 104, 32, 63, 32, 40, 116, 111, 117, 99, 104, 97, 98, 108, 101, 32, 61, 32, 116, 121, 112, 101, - 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, - 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 55, 40, 33, 33, 95, 41, 44, 32, 98, 114, 117, - 115, 104, 41, 32, 58, 32, 116, 111, 117, 99, 104, 97, 98, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 117, 115, 104, 46, 104, 97, 110, - 100, 108, 101, 83, 105, 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 104, 97, 110, 100, 108, 101, - 83, 105, 122, 101, 32, 61, 32, 43, 95, 44, 32, 98, 114, 117, 115, 104, 41, 32, 58, 32, 104, 97, 110, - 100, 108, 101, 83, 105, 122, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 98, 114, 117, 115, 104, 46, 107, 101, 121, 77, 111, 100, 105, 102, 105, 101, 114, - 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 107, 101, 121, 115, 32, 61, 32, 33, 33, 95, 44, 32, - 98, 114, 117, 115, 104, 41, 32, 58, 32, 107, 101, 121, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 117, 115, 104, 46, 111, 110, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 118, 97, 108, 117, 101, 32, 61, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, - 46, 111, 110, 46, 97, 112, 112, 108, 121, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 44, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 108, 105, 115, 116, 101, 110, 101, - 114, 115, 32, 63, 32, 98, 114, 117, 115, 104, 32, 58, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 98, 114, 117, 115, 104, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 97, 98, 115, 36, 50, 32, 61, 32, 77, 97, 116, 104, 46, 97, 98, 115, 59, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 99, 111, 115, 36, 50, 32, 61, 32, 77, 97, 116, 104, 46, 99, 111, 115, 59, 10, 32, 32, - 32, 32, 118, 97, 114, 32, 115, 105, 110, 36, 50, 32, 61, 32, 77, 97, 116, 104, 46, 115, 105, 110, 59, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 112, 105, 36, 51, 32, 61, 32, 77, 97, 116, 104, 46, 80, 73, - 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 104, 97, 108, 102, 80, 105, 36, 50, 32, 61, 32, 112, 105, - 36, 51, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 97, 117, 36, 52, 32, 61, - 32, 112, 105, 36, 51, 32, 42, 32, 50, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 109, 97, 120, 36, - 49, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 101, - 112, 115, 105, 108, 111, 110, 36, 52, 32, 61, 32, 49, 101, 45, 49, 50, 59, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 103, 101, 36, 49, 40, 105, 44, 32, 106, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 65, 114, 114, 97, 121, 46, - 102, 114, 111, 109, 40, 123, 108, 101, 110, 103, 116, 104, 58, 32, 106, 32, 45, 32, 105, 125, 44, 32, 40, - 95, 44, 32, 107, 41, 32, 61, 62, 32, 105, 32, 43, 32, 107, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 109, 112, 97, 114, 101, 86, 97, - 108, 117, 101, 40, 99, 111, 109, 112, 97, 114, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 44, 32, 98, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 109, - 112, 97, 114, 101, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 46, 115, 111, 117, 114, 99, 101, 46, 118, 97, 108, 117, 101, 32, 43, 32, 97, 46, 116, 97, 114, 103, 101, - 116, 46, 118, 97, 108, 117, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 46, 115, 111, 117, 114, 99, 101, 46, 118, 97, 108, 117, 101, 32, 43, 32, 98, 46, 116, 97, - 114, 103, 101, 116, 46, 118, 97, 108, 117, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 104, 111, 114, 100, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 104, 111, 114, 100, 36, 49, 40, 102, 97, - 108, 115, 101, 44, 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 104, 111, 114, 100, 84, 114, 97, 110, 115, 112, 111, 115, - 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 104, - 111, 114, 100, 36, 49, 40, 102, 97, 108, 115, 101, 44, 32, 116, 114, 117, 101, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 104, 111, 114, 100, 68, - 105, 114, 101, 99, 116, 101, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 99, 104, 111, 114, 100, 36, 49, 40, 116, 114, 117, 101, 44, 32, 102, 97, 108, 115, 101, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 99, 104, 111, 114, 100, 36, 49, 40, 100, 105, 114, 101, 99, 116, 101, 100, 44, 32, 116, 114, 97, 110, 115, - 112, 111, 115, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 97, 100, - 65, 110, 103, 108, 101, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 111, 114, 116, 71, 114, 111, 117, 112, 115, 32, 61, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 114, 116, 83, 117, 98, 103, 114, 111, 117, 112, 115, 32, 61, - 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 114, 116, - 67, 104, 111, 114, 100, 115, 32, 61, 32, 110, 117, 108, 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 104, 111, 114, 100, 40, 109, 97, 116, 114, 105, 120, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, - 109, 97, 116, 114, 105, 120, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, 83, 117, 109, 115, 32, 61, 32, 110, 101, 119, - 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 103, 114, 111, 117, 112, 73, 110, 100, 101, 120, 32, 61, 32, 114, 97, 110, 103, 101, 36, - 49, 40, 48, 44, 32, 110, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 104, 111, 114, 100, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 32, - 42, 32, 110, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, - 114, 111, 117, 112, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 48, 44, 32, 100, - 120, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 116, 114, 105, 120, 32, - 61, 32, 70, 108, 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 123, 108, 101, - 110, 103, 116, 104, 58, 32, 110, 32, 42, 32, 110, 125, 44, 32, 116, 114, 97, 110, 115, 112, 111, 115, 101, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 40, 95, 44, 32, - 105, 41, 32, 61, 62, 32, 109, 97, 116, 114, 105, 120, 91, 105, 32, 37, 32, 110, 93, 91, 105, 32, 47, - 32, 110, 32, 124, 32, 48, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 58, 32, 40, 95, 44, 32, 105, 41, 32, 61, 62, 32, 109, 97, 116, 114, 105, 120, 91, 105, 32, 47, - 32, 110, 32, 124, 32, 48, 93, 91, 105, 32, 37, 32, 110, 93, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, 116, 104, 101, 32, 115, - 99, 97, 108, 105, 110, 103, 32, 102, 97, 99, 116, 111, 114, 32, 102, 114, 111, 109, 32, 118, 97, 108, 117, - 101, 32, 116, 111, 32, 97, 110, 103, 108, 101, 32, 105, 110, 32, 91, 48, 44, 32, 50, 112, 105, 93, 46, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, - 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 120, 32, 61, 32, 48, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, - 101, 116, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, 32, 110, 59, 32, 43, 43, 106, 41, 32, 120, - 32, 43, 61, 32, 109, 97, 116, 114, 105, 120, 91, 105, 32, 42, 32, 110, 32, 43, 32, 106, 93, 32, 43, - 32, 100, 105, 114, 101, 99, 116, 101, 100, 32, 42, 32, 109, 97, 116, 114, 105, 120, 91, 106, 32, 42, 32, - 110, 32, 43, 32, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 107, 32, 43, 61, 32, 103, 114, 111, 117, 112, 83, 117, 109, 115, 91, 105, 93, 32, 61, 32, 120, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 107, 32, 61, 32, 109, 97, 120, 36, 49, 40, 48, 44, 32, 116, 97, 117, 36, 52, 32, - 45, 32, 112, 97, 100, 65, 110, 103, 108, 101, 32, 42, 32, 110, 41, 32, 47, 32, 107, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, 32, 107, 32, 63, 32, 112, 97, 100, 65, - 110, 103, 108, 101, 32, 58, 32, 116, 97, 117, 36, 52, 32, 47, 32, 110, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, 116, 104, 101, 32, - 97, 110, 103, 108, 101, 115, 32, 102, 111, 114, 32, 101, 97, 99, 104, 32, 103, 114, 111, 117, 112, 32, 97, - 110, 100, 32, 99, 111, 110, 115, 116, 105, 116, 117, 101, 110, 116, 32, 99, 104, 111, 114, 100, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 120, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 111, 114, 116, 71, 114, 111, 117, 112, - 115, 41, 32, 103, 114, 111, 117, 112, 73, 110, 100, 101, 120, 46, 115, 111, 114, 116, 40, 40, 97, 44, 32, - 98, 41, 32, 61, 62, 32, 115, 111, 114, 116, 71, 114, 111, 117, 112, 115, 40, 103, 114, 111, 117, 112, 83, - 117, 109, 115, 91, 97, 93, 44, 32, 103, 114, 111, 117, 112, 83, 117, 109, 115, 91, 98, 93, 41, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, - 111, 110, 115, 116, 32, 105, 32, 111, 102, 32, 103, 114, 111, 117, 112, 73, 110, 100, 101, 120, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 120, 48, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 105, 114, 101, 99, 116, 101, 100, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 117, 98, 103, 114, 111, 117, 112, 73, 110, 100, 101, 120, 32, - 61, 32, 114, 97, 110, 103, 101, 36, 49, 40, 126, 110, 32, 43, 32, 49, 44, 32, 110, 41, 46, 102, 105, - 108, 116, 101, 114, 40, 106, 32, 61, 62, 32, 106, 32, 60, 32, 48, 32, 63, 32, 109, 97, 116, 114, 105, - 120, 91, 126, 106, 32, 42, 32, 110, 32, 43, 32, 105, 93, 32, 58, 32, 109, 97, 116, 114, 105, 120, 91, - 105, 32, 42, 32, 110, 32, 43, 32, 106, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 111, 114, 116, 83, - 117, 98, 103, 114, 111, 117, 112, 115, 41, 32, 115, 117, 98, 103, 114, 111, 117, 112, 73, 110, 100, 101, 120, - 46, 115, 111, 114, 116, 40, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 115, 111, 114, 116, 83, 117, 98, - 103, 114, 111, 117, 112, 115, 40, 97, 32, 60, 32, 48, 32, 63, 32, 45, 109, 97, 116, 114, 105, 120, 91, - 126, 97, 32, 42, 32, 110, 32, 43, 32, 105, 93, 32, 58, 32, 109, 97, 116, 114, 105, 120, 91, 105, 32, - 42, 32, 110, 32, 43, 32, 97, 93, 44, 32, 98, 32, 60, 32, 48, 32, 63, 32, 45, 109, 97, 116, 114, - 105, 120, 91, 126, 98, 32, 42, 32, 110, 32, 43, 32, 105, 93, 32, 58, 32, 109, 97, 116, 114, 105, 120, - 91, 105, 32, 42, 32, 110, 32, 43, 32, 98, 93, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, - 110, 115, 116, 32, 106, 32, 111, 102, 32, 115, 117, 98, 103, 114, 111, 117, 112, 73, 110, 100, 101, 120, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 106, 32, 60, 32, 48, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 104, 111, 114, 100, 32, 61, 32, 99, 104, - 111, 114, 100, 115, 91, 126, 106, 32, 42, 32, 110, 32, 43, 32, 105, 93, 32, 124, 124, 32, 40, 99, 104, - 111, 114, 100, 115, 91, 126, 106, 32, 42, 32, 110, 32, 43, 32, 105, 93, 32, 61, 32, 123, 115, 111, 117, - 114, 99, 101, 58, 32, 110, 117, 108, 108, 44, 32, 116, 97, 114, 103, 101, 116, 58, 32, 110, 117, 108, 108, - 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 111, 114, 100, 46, 116, 97, 114, 103, - 101, 116, 32, 61, 32, 123, 105, 110, 100, 101, 120, 58, 32, 105, 44, 32, 115, 116, 97, 114, 116, 65, 110, - 103, 108, 101, 58, 32, 120, 44, 32, 101, 110, 100, 65, 110, 103, 108, 101, 58, 32, 120, 32, 43, 61, 32, - 109, 97, 116, 114, 105, 120, 91, 126, 106, 32, 42, 32, 110, 32, 43, 32, 105, 93, 32, 42, 32, 107, 44, - 32, 118, 97, 108, 117, 101, 58, 32, 109, 97, 116, 114, 105, 120, 91, 126, 106, 32, 42, 32, 110, 32, 43, - 32, 105, 93, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 104, 111, 114, 100, 32, 61, 32, 99, 104, 111, - 114, 100, 115, 91, 105, 32, 42, 32, 110, 32, 43, 32, 106, 93, 32, 124, 124, 32, 40, 99, 104, 111, 114, - 100, 115, 91, 105, 32, 42, 32, 110, 32, 43, 32, 106, 93, 32, 61, 32, 123, 115, 111, 117, 114, 99, 101, - 58, 32, 110, 117, 108, 108, 44, 32, 116, 97, 114, 103, 101, 116, 58, 32, 110, 117, 108, 108, 125, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 111, 114, 100, 46, 115, 111, 117, 114, 99, 101, 32, - 61, 32, 123, 105, 110, 100, 101, 120, 58, 32, 105, 44, 32, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, - 58, 32, 120, 44, 32, 101, 110, 100, 65, 110, 103, 108, 101, 58, 32, 120, 32, 43, 61, 32, 109, 97, 116, - 114, 105, 120, 91, 105, 32, 42, 32, 110, 32, 43, 32, 106, 93, 32, 42, 32, 107, 44, 32, 118, 97, 108, - 117, 101, 58, 32, 109, 97, 116, 114, 105, 120, 91, 105, 32, 42, 32, 110, 32, 43, 32, 106, 93, 125, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, 115, 91, 105, 93, 32, 61, - 32, 123, 105, 110, 100, 101, 120, 58, 32, 105, 44, 32, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 58, - 32, 120, 48, 44, 32, 101, 110, 100, 65, 110, 103, 108, 101, 58, 32, 120, 44, 32, 118, 97, 108, 117, 101, - 58, 32, 103, 114, 111, 117, 112, 83, 117, 109, 115, 91, 105, 93, 125, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 115, 117, 98, 103, 114, 111, 117, 112, 73, 110, 100, 101, 120, 32, 61, 32, - 114, 97, 110, 103, 101, 36, 49, 40, 48, 44, 32, 110, 41, 46, 102, 105, 108, 116, 101, 114, 40, 106, 32, - 61, 62, 32, 109, 97, 116, 114, 105, 120, 91, 105, 32, 42, 32, 110, 32, 43, 32, 106, 93, 32, 124, 124, - 32, 109, 97, 116, 114, 105, 120, 91, 106, 32, 42, 32, 110, 32, 43, 32, 105, 93, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 115, 111, 114, 116, 83, 117, 98, 103, 114, 111, 117, 112, 115, 41, 32, 115, 117, 98, 103, 114, - 111, 117, 112, 73, 110, 100, 101, 120, 46, 115, 111, 114, 116, 40, 40, 97, 44, 32, 98, 41, 32, 61, 62, - 32, 115, 111, 114, 116, 83, 117, 98, 103, 114, 111, 117, 112, 115, 40, 109, 97, 116, 114, 105, 120, 91, 105, - 32, 42, 32, 110, 32, 43, 32, 97, 93, 44, 32, 109, 97, 116, 114, 105, 120, 91, 105, 32, 42, 32, 110, - 32, 43, 32, 98, 93, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 106, 32, - 111, 102, 32, 115, 117, 98, 103, 114, 111, 117, 112, 73, 110, 100, 101, 120, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 101, 116, 32, 99, 104, 111, 114, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, - 32, 60, 32, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 111, 114, 100, 32, - 61, 32, 99, 104, 111, 114, 100, 115, 91, 105, 32, 42, 32, 110, 32, 43, 32, 106, 93, 32, 124, 124, 32, - 40, 99, 104, 111, 114, 100, 115, 91, 105, 32, 42, 32, 110, 32, 43, 32, 106, 93, 32, 61, 32, 123, 115, - 111, 117, 114, 99, 101, 58, 32, 110, 117, 108, 108, 44, 32, 116, 97, 114, 103, 101, 116, 58, 32, 110, 117, - 108, 108, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 111, 114, 100, 46, 115, 111, - 117, 114, 99, 101, 32, 61, 32, 123, 105, 110, 100, 101, 120, 58, 32, 105, 44, 32, 115, 116, 97, 114, 116, - 65, 110, 103, 108, 101, 58, 32, 120, 44, 32, 101, 110, 100, 65, 110, 103, 108, 101, 58, 32, 120, 32, 43, - 61, 32, 109, 97, 116, 114, 105, 120, 91, 105, 32, 42, 32, 110, 32, 43, 32, 106, 93, 32, 42, 32, 107, - 44, 32, 118, 97, 108, 117, 101, 58, 32, 109, 97, 116, 114, 105, 120, 91, 105, 32, 42, 32, 110, 32, 43, - 32, 106, 93, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 104, 111, 114, 100, 32, 61, 32, 99, 104, 111, 114, 100, 115, 91, 106, 32, - 42, 32, 110, 32, 43, 32, 105, 93, 32, 124, 124, 32, 40, 99, 104, 111, 114, 100, 115, 91, 106, 32, 42, - 32, 110, 32, 43, 32, 105, 93, 32, 61, 32, 123, 115, 111, 117, 114, 99, 101, 58, 32, 110, 117, 108, 108, - 44, 32, 116, 97, 114, 103, 101, 116, 58, 32, 110, 117, 108, 108, 125, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 104, 111, 114, 100, 46, 116, 97, 114, 103, 101, 116, 32, 61, 32, 123, 105, 110, 100, - 101, 120, 58, 32, 105, 44, 32, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 58, 32, 120, 44, 32, 101, - 110, 100, 65, 110, 103, 108, 101, 58, 32, 120, 32, 43, 61, 32, 109, 97, 116, 114, 105, 120, 91, 105, 32, - 42, 32, 110, 32, 43, 32, 106, 93, 32, 42, 32, 107, 44, 32, 118, 97, 108, 117, 101, 58, 32, 109, 97, - 116, 114, 105, 120, 91, 105, 32, 42, 32, 110, 32, 43, 32, 106, 93, 125, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 61, 61, 61, 32, 106, 41, 32, 99, 104, 111, 114, 100, 46, - 115, 111, 117, 114, 99, 101, 32, 61, 32, 99, 104, 111, 114, 100, 46, 116, 97, 114, 103, 101, 116, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, 111, 114, 100, 46, 115, - 111, 117, 114, 99, 101, 32, 38, 38, 32, 99, 104, 111, 114, 100, 46, 116, 97, 114, 103, 101, 116, 32, 38, - 38, 32, 99, 104, 111, 114, 100, 46, 115, 111, 117, 114, 99, 101, 46, 118, 97, 108, 117, 101, 32, 60, 32, - 99, 104, 111, 114, 100, 46, 116, 97, 114, 103, 101, 116, 46, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 111, 117, 114, 99, 101, 32, 61, 32, - 99, 104, 111, 114, 100, 46, 115, 111, 117, 114, 99, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 104, 111, 114, 100, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 99, 104, 111, 114, 100, 46, 116, 97, - 114, 103, 101, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 111, 114, 100, 46, 116, 97, - 114, 103, 101, 116, 32, 61, 32, 115, 111, 117, 114, 99, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 103, 114, 111, 117, 112, 115, 91, 105, 93, 32, 61, 32, 123, 105, 110, 100, 101, 120, 58, 32, - 105, 44, 32, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 58, 32, 120, 48, 44, 32, 101, 110, 100, 65, - 110, 103, 108, 101, 58, 32, 120, 44, 32, 118, 97, 108, 117, 101, 58, 32, 103, 114, 111, 117, 112, 83, 117, - 109, 115, 91, 105, 93, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 120, 32, 43, 61, 32, 100, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 82, 101, 109, 111, 118, 101, 32, 101, - 109, 112, 116, 121, 32, 99, 104, 111, 114, 100, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 104, 111, 114, 100, 115, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 118, 97, 108, 117, 101, - 115, 40, 99, 104, 111, 114, 100, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 104, 111, 114, 100, 115, 46, 103, 114, 111, 117, 112, 115, 32, 61, 32, 103, 114, 111, 117, 112, 115, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 111, 114, - 116, 67, 104, 111, 114, 100, 115, 32, 63, 32, 99, 104, 111, 114, 100, 115, 46, 115, 111, 114, 116, 40, 115, - 111, 114, 116, 67, 104, 111, 114, 100, 115, 41, 32, 58, 32, 99, 104, 111, 114, 100, 115, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 111, 114, 100, 46, - 112, 97, 100, 65, 110, 103, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 65, 110, - 103, 108, 101, 32, 61, 32, 109, 97, 120, 36, 49, 40, 48, 44, 32, 95, 41, 44, 32, 99, 104, 111, 114, - 100, 41, 32, 58, 32, 112, 97, 100, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 111, 114, 100, 46, 115, 111, 114, 116, 71, - 114, 111, 117, 112, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 111, 114, 116, 71, 114, 111, 117, - 112, 115, 32, 61, 32, 95, 44, 32, 99, 104, 111, 114, 100, 41, 32, 58, 32, 115, 111, 114, 116, 71, 114, - 111, 117, 112, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 104, 111, 114, 100, 46, 115, 111, 114, 116, 83, 117, 98, 103, 114, 111, 117, 112, 115, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 111, 114, 116, 83, 117, 98, 103, 114, 111, 117, 112, 115, 32, - 61, 32, 95, 44, 32, 99, 104, 111, 114, 100, 41, 32, 58, 32, 115, 111, 114, 116, 83, 117, 98, 103, 114, - 111, 117, 112, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 104, 111, 114, 100, 46, 115, 111, 114, 116, 67, 104, 111, 114, 100, 115, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 95, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 115, 111, 114, 116, 67, - 104, 111, 114, 100, 115, 32, 61, 32, 110, 117, 108, 108, 32, 58, 32, 40, 115, 111, 114, 116, 67, 104, 111, - 114, 100, 115, 32, 61, 32, 99, 111, 109, 112, 97, 114, 101, 86, 97, 108, 117, 101, 40, 95, 41, 41, 46, - 95, 32, 61, 32, 95, 44, 32, 99, 104, 111, 114, 100, 41, 32, 58, 32, 115, 111, 114, 116, 67, 104, 111, - 114, 100, 115, 32, 38, 38, 32, 115, 111, 114, 116, 67, 104, 111, 114, 100, 115, 46, 95, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 99, 104, 111, 114, 100, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 112, 105, 36, 50, 32, 61, 32, 77, 97, 116, 104, 46, 80, 73, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 97, 117, 36, 51, 32, 61, 32, 50, 32, 42, 32, 112, 105, 36, 50, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 101, 112, 115, 105, 108, 111, 110, 36, 51, 32, 61, 32, 49, 101, 45, 54, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 117, 69, 112, 115, 105, 108, 111, 110, 32, 61, 32, - 116, 97, 117, 36, 51, 32, 45, 32, 101, 112, 115, 105, 108, 111, 110, 36, 51, 59, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 80, 97, 116, 104, 36, 49, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 121, 48, 32, 61, 32, 47, 47, 32, 115, 116, 97, 114, 116, 32, 111, 102, 32, 99, 117, 114, 114, 101, 110, - 116, 32, 115, 117, 98, 112, 97, 116, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 110, 117, - 108, 108, 59, 32, 47, 47, 32, 101, 110, 100, 32, 111, 102, 32, 99, 117, 114, 114, 101, 110, 116, 32, 115, - 117, 98, 112, 97, 116, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 61, - 32, 34, 34, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 112, 97, 116, 104, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 110, 101, 119, 32, 80, 97, 116, 104, 36, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 80, 97, 116, 104, 36, 49, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 112, - 97, 116, 104, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 32, 80, 97, 116, 104, 36, 49, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 118, 101, 84, 111, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 95, 32, 43, 61, 32, 34, 77, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, - 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 43, 120, 41, 32, 43, 32, 34, - 44, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 121, 49, 32, 61, 32, 43, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 108, 111, 115, 101, 80, 97, 116, 104, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 116, 104, 105, 115, 46, 95, 120, 49, 32, 33, 61, 61, 32, 110, 117, 108, 108, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 120, 48, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 121, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 43, 61, 32, 34, 90, 34, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 110, 101, 84, 111, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, - 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 32, 43, 61, 32, 34, 76, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, - 32, 43, 120, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 121, 49, 32, - 61, 32, 43, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 113, 117, 97, 100, 114, 97, 116, 105, 99, 67, 117, 114, 118, 101, 84, 111, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 120, 49, 44, 32, 121, 49, 44, 32, 120, 44, 32, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 43, 61, 32, 34, - 81, 34, 32, 43, 32, 40, 43, 120, 49, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, 43, 121, 49, - 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 43, - 120, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, - 43, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 98, 101, 122, 105, 101, 114, 67, 117, 114, 118, 101, 84, 111, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 120, 49, 44, 32, 121, 49, 44, 32, 120, 50, 44, 32, 121, 50, 44, 32, 120, 44, 32, 121, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 43, - 61, 32, 34, 67, 34, 32, 43, 32, 40, 43, 120, 49, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, - 43, 121, 49, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, 43, 120, 50, 41, 32, 43, 32, 34, 44, - 34, 32, 43, 32, 40, 43, 121, 50, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, 116, 104, 105, 115, - 46, 95, 120, 49, 32, 61, 32, 43, 120, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, 116, 104, 105, - 115, 46, 95, 121, 49, 32, 61, 32, 43, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 99, 84, 111, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 120, 49, 44, 32, 121, 49, 44, 32, 120, 50, 44, 32, 121, 50, 44, 32, 114, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 43, 120, 49, 44, 32, 121, - 49, 32, 61, 32, 43, 121, 49, 44, 32, 120, 50, 32, 61, 32, 43, 120, 50, 44, 32, 121, 50, 32, 61, - 32, 43, 121, 50, 44, 32, 114, 32, 61, 32, 43, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, 116, 104, 105, - 115, 46, 95, 121, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 50, 49, 32, 61, 32, 120, 50, 32, 45, 32, 120, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 121, 50, 49, 32, 61, 32, 121, 50, 32, 45, 32, 121, 49, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 49, 32, 61, 32, 120, - 48, 32, 45, 32, 120, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 121, 48, 49, 32, 61, 32, 121, 48, 32, 45, 32, 121, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 48, 49, 95, 50, 32, 61, 32, 120, 48, 49, 32, 42, 32, - 120, 48, 49, 32, 43, 32, 121, 48, 49, 32, 42, 32, 121, 48, 49, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 115, 32, 116, 104, 101, 32, 114, 97, 100, 105, 117, 115, - 32, 110, 101, 103, 97, 116, 105, 118, 101, 63, 32, 69, 114, 114, 111, 114, 46, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 60, 32, 48, 41, 32, 116, 104, 114, 111, 119, - 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 110, 101, 103, 97, 116, 105, 118, 101, 32, 114, 97, - 100, 105, 117, 115, 58, 32, 34, 32, 43, 32, 114, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 73, 115, 32, 116, 104, 105, 115, 32, 112, 97, 116, 104, 32, 101, 109, 112, - 116, 121, 63, 32, 77, 111, 118, 101, 32, 116, 111, 32, 40, 120, 49, 44, 121, 49, 41, 46, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 120, 49, 32, - 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 43, 61, 32, 34, 77, 34, 32, 43, 32, 40, 116, - 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 120, 49, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, - 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, - 79, 114, 44, 32, 105, 115, 32, 40, 120, 49, 44, 121, 49, 41, 32, 99, 111, 105, 110, 99, 105, 100, 101, - 110, 116, 32, 119, 105, 116, 104, 32, 40, 120, 48, 44, 121, 48, 41, 63, 32, 68, 111, 32, 110, 111, 116, - 104, 105, 110, 103, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, - 105, 102, 32, 40, 33, 40, 108, 48, 49, 95, 50, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 36, 51, - 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, - 32, 79, 114, 44, 32, 97, 114, 101, 32, 40, 120, 48, 44, 121, 48, 41, 44, 32, 40, 120, 49, 44, 121, - 49, 41, 32, 97, 110, 100, 32, 40, 120, 50, 44, 121, 50, 41, 32, 99, 111, 108, 108, 105, 110, 101, 97, - 114, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 69, - 113, 117, 105, 118, 97, 108, 101, 110, 116, 108, 121, 44, 32, 105, 115, 32, 40, 120, 49, 44, 121, 49, 41, - 32, 99, 111, 105, 110, 99, 105, 100, 101, 110, 116, 32, 119, 105, 116, 104, 32, 40, 120, 50, 44, 121, 50, - 41, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 114, 44, 32, 105, - 115, 32, 116, 104, 101, 32, 114, 97, 100, 105, 117, 115, 32, 122, 101, 114, 111, 63, 32, 76, 105, 110, 101, - 32, 116, 111, 32, 40, 120, 49, 44, 121, 49, 41, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 33, 40, 77, 97, 116, 104, 46, 97, 98, 115, 40, 121, - 48, 49, 32, 42, 32, 120, 50, 49, 32, 45, 32, 121, 50, 49, 32, 42, 32, 120, 48, 49, 41, 32, 62, - 32, 101, 112, 115, 105, 108, 111, 110, 36, 51, 41, 32, 124, 124, 32, 33, 114, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 43, 61, - 32, 34, 76, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 120, 49, 41, 32, - 43, 32, 34, 44, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 121, 49, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, 101, 114, 119, 105, 115, 101, 44, 32, 100, 114, 97, - 119, 32, 97, 110, 32, 97, 114, 99, 33, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, - 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 120, 50, 48, 32, 61, 32, 120, 50, 32, 45, 32, 120, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 50, 48, 32, 61, 32, 121, 50, - 32, 45, 32, 121, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 50, 49, 95, 50, 32, 61, 32, 120, 50, 49, 32, 42, 32, 120, 50, 49, 32, 43, - 32, 121, 50, 49, 32, 42, 32, 121, 50, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 50, 48, 95, 50, 32, 61, 32, 120, 50, 48, 32, 42, 32, - 120, 50, 48, 32, 43, 32, 121, 50, 48, 32, 42, 32, 121, 50, 48, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 50, 49, 32, 61, 32, 77, 97, 116, - 104, 46, 115, 113, 114, 116, 40, 108, 50, 49, 95, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 48, 49, 32, 61, 32, 77, 97, 116, 104, 46, - 115, 113, 114, 116, 40, 108, 48, 49, 95, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 114, 32, 42, 32, 77, 97, 116, 104, 46, - 116, 97, 110, 40, 40, 112, 105, 36, 50, 32, 45, 32, 77, 97, 116, 104, 46, 97, 99, 111, 115, 40, 40, - 108, 50, 49, 95, 50, 32, 43, 32, 108, 48, 49, 95, 50, 32, 45, 32, 108, 50, 48, 95, 50, 41, 32, - 47, 32, 40, 50, 32, 42, 32, 108, 50, 49, 32, 42, 32, 108, 48, 49, 41, 41, 41, 32, 47, 32, 50, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 48, 49, 32, 61, 32, 108, 32, 47, 32, 108, 48, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 50, 49, 32, 61, 32, 108, 32, 47, 32, 108, - 50, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, - 32, 73, 102, 32, 116, 104, 101, 32, 115, 116, 97, 114, 116, 32, 116, 97, 110, 103, 101, 110, 116, 32, 105, - 115, 32, 110, 111, 116, 32, 99, 111, 105, 110, 99, 105, 100, 101, 110, 116, 32, 119, 105, 116, 104, 32, 40, - 120, 48, 44, 121, 48, 41, 44, 32, 108, 105, 110, 101, 32, 116, 111, 46, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 77, 97, 116, 104, 46, 97, 98, 115, 40, - 116, 48, 49, 32, 45, 32, 49, 41, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 36, 51, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 32, 43, 61, 32, 34, 76, 34, 32, 43, 32, 40, 120, 49, 32, 43, 32, 116, 48, 49, - 32, 42, 32, 120, 48, 49, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, 121, 49, 32, 43, 32, 116, - 48, 49, 32, 42, 32, 121, 48, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 95, 32, 43, 61, 32, 34, 65, 34, 32, 43, 32, 114, 32, 43, 32, 34, 44, 34, - 32, 43, 32, 114, 32, 43, 32, 34, 44, 48, 44, 48, 44, 34, 32, 43, 32, 40, 43, 40, 121, 48, 49, - 32, 42, 32, 120, 50, 48, 32, 62, 32, 120, 48, 49, 32, 42, 32, 121, 50, 48, 41, 41, 32, 43, 32, - 34, 44, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 120, 49, 32, 43, 32, - 116, 50, 49, 32, 42, 32, 120, 50, 49, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, 116, 104, 105, - 115, 46, 95, 121, 49, 32, 61, 32, 121, 49, 32, 43, 32, 116, 50, 49, 32, 42, 32, 121, 50, 49, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 99, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 120, 44, 32, 121, 44, 32, 114, 44, 32, 97, 48, 44, 32, 97, 49, 44, 32, 99, 99, 119, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 43, 120, 44, - 32, 121, 32, 61, 32, 43, 121, 44, 32, 114, 32, 61, 32, 43, 114, 44, 32, 99, 99, 119, 32, 61, 32, - 33, 33, 99, 99, 119, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 100, 120, 32, 61, 32, 114, 32, 42, 32, 77, 97, 116, 104, 46, 99, 111, 115, 40, 97, 48, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 114, 32, - 42, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 97, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 120, 32, 43, 32, 100, 120, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, 121, 32, 43, - 32, 100, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 119, - 32, 61, 32, 49, 32, 94, 32, 99, 99, 119, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 97, 32, 61, 32, 99, 99, 119, 32, 63, 32, 97, 48, 32, 45, 32, 97, 49, - 32, 58, 32, 97, 49, 32, 45, 32, 97, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 73, 115, 32, 116, 104, 101, 32, 114, 97, 100, 105, 117, 115, 32, 110, 101, 103, 97, - 116, 105, 118, 101, 63, 32, 69, 114, 114, 111, 114, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 114, 32, 60, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, - 69, 114, 114, 111, 114, 40, 34, 110, 101, 103, 97, 116, 105, 118, 101, 32, 114, 97, 100, 105, 117, 115, 58, - 32, 34, 32, 43, 32, 114, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 73, 115, 32, 116, 104, 105, 115, 32, 112, 97, 116, 104, 32, 101, 109, 112, 116, 121, 63, 32, 77, - 111, 118, 101, 32, 116, 111, 32, 40, 120, 48, 44, 121, 48, 41, 46, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 61, 61, 32, 110, - 117, 108, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 95, 32, 43, 61, 32, 34, 77, 34, 32, 43, 32, 120, 48, 32, 43, 32, 34, 44, - 34, 32, 43, 32, 121, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 114, 44, 32, 105, 115, 32, 40, - 120, 48, 44, 121, 48, 41, 32, 110, 111, 116, 32, 99, 111, 105, 110, 99, 105, 100, 101, 110, 116, 32, 119, - 105, 116, 104, 32, 116, 104, 101, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 112, 111, 105, 110, 116, 63, - 32, 76, 105, 110, 101, 32, 116, 111, 32, 40, 120, 48, 44, 121, 48, 41, 46, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 77, 97, 116, 104, 46, 97, 98, - 115, 40, 116, 104, 105, 115, 46, 95, 120, 49, 32, 45, 32, 120, 48, 41, 32, 62, 32, 101, 112, 115, 105, - 108, 111, 110, 36, 51, 32, 124, 124, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 116, 104, 105, 115, 46, - 95, 121, 49, 32, 45, 32, 121, 48, 41, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 36, 51, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 32, 43, 61, 32, 34, 76, 34, 32, 43, 32, 120, 48, 32, 43, 32, 34, 44, 34, 32, 43, 32, 121, - 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 115, 32, 116, 104, 105, 115, 32, 97, 114, 99, 32, 101, - 109, 112, 116, 121, 63, 32, 87, 101, 226, 128, 153, 114, 101, 32, 100, 111, 110, 101, 46, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 114, 41, 32, 114, 101, 116, 117, 114, 110, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 68, 111, 101, 115, 32, - 116, 104, 101, 32, 97, 110, 103, 108, 101, 32, 103, 111, 32, 116, 104, 101, 32, 119, 114, 111, 110, 103, 32, - 119, 97, 121, 63, 32, 70, 108, 105, 112, 32, 116, 104, 101, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, - 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 97, 32, 60, 32, - 48, 41, 32, 100, 97, 32, 61, 32, 100, 97, 32, 37, 32, 116, 97, 117, 36, 51, 32, 43, 32, 116, 97, - 117, 36, 51, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 115, - 32, 116, 104, 105, 115, 32, 97, 32, 99, 111, 109, 112, 108, 101, 116, 101, 32, 99, 105, 114, 99, 108, 101, - 63, 32, 68, 114, 97, 119, 32, 116, 119, 111, 32, 97, 114, 99, 115, 32, 116, 111, 32, 99, 111, 109, 112, - 108, 101, 116, 101, 32, 116, 104, 101, 32, 99, 105, 114, 99, 108, 101, 46, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 97, 32, 62, 32, 116, 97, 117, 69, 112, 115, 105, 108, - 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 32, 43, 61, 32, 34, 65, 34, 32, 43, 32, 114, 32, 43, 32, 34, 44, 34, 32, - 43, 32, 114, 32, 43, 32, 34, 44, 48, 44, 49, 44, 34, 32, 43, 32, 99, 119, 32, 43, 32, 34, 44, - 34, 32, 43, 32, 40, 120, 32, 45, 32, 100, 120, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, 121, - 32, 45, 32, 100, 121, 41, 32, 43, 32, 34, 65, 34, 32, 43, 32, 114, 32, 43, 32, 34, 44, 34, 32, - 43, 32, 114, 32, 43, 32, 34, 44, 48, 44, 49, 44, 34, 32, 43, 32, 99, 119, 32, 43, 32, 34, 44, - 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 120, 48, 41, 32, 43, 32, 34, - 44, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 121, 48, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 73, 115, 32, 116, 104, 105, 115, 32, 97, 114, 99, 32, 110, 111, 110, 45, 101, - 109, 112, 116, 121, 63, 32, 68, 114, 97, 119, 32, 97, 110, 32, 97, 114, 99, 33, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 100, 97, 32, 62, 32, 101, - 112, 115, 105, 108, 111, 110, 36, 51, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 43, 61, 32, 34, 65, 34, 32, 43, 32, 114, 32, - 43, 32, 34, 44, 34, 32, 43, 32, 114, 32, 43, 32, 34, 44, 48, 44, 34, 32, 43, 32, 40, 43, 40, - 100, 97, 32, 62, 61, 32, 112, 105, 36, 50, 41, 41, 32, 43, 32, 34, 44, 34, 32, 43, 32, 99, 119, - 32, 43, 32, 34, 44, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 120, 32, - 43, 32, 114, 32, 42, 32, 77, 97, 116, 104, 46, 99, 111, 115, 40, 97, 49, 41, 41, 32, 43, 32, 34, - 44, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 121, 32, 43, 32, 114, 32, - 42, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 97, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 99, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, - 44, 32, 119, 44, 32, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 32, 43, 61, 32, 34, 77, 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 120, - 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 43, 120, 41, 32, 43, 32, 34, 44, - 34, 32, 43, 32, 40, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, - 49, 32, 61, 32, 43, 121, 41, 32, 43, 32, 34, 104, 34, 32, 43, 32, 40, 43, 119, 41, 32, 43, 32, - 34, 118, 34, 32, 43, 32, 40, 43, 104, 41, 32, 43, 32, 34, 104, 34, 32, 43, 32, 40, 45, 119, 41, - 32, 43, 32, 34, 90, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 111, 83, 116, 114, 105, 110, 103, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 116, 104, 105, 115, 46, 95, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 108, 105, 99, 101, 36, 50, 32, 61, 32, 65, 114, - 114, 97, 121, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 115, 108, 105, 99, 101, 59, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 54, 40, - 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, - 116, 83, 111, 117, 114, 99, 101, 36, 49, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 100, 46, 115, 111, 117, 114, 99, 101, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 84, 97, - 114, 103, 101, 116, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 100, 46, 116, 97, 114, 103, 101, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 82, 97, 100, 105, 117, 115, 36, - 49, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, - 46, 114, 97, 100, 105, 117, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 83, 116, 97, 114, 116, 65, 110, 103, 108, 101, - 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, - 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 69, 110, 100, 65, 110, 103, 108, - 101, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, - 46, 101, 110, 100, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 80, 97, 100, 65, 110, 103, 108, 101, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, - 97, 117, 108, 116, 65, 114, 114, 111, 119, 104, 101, 97, 100, 82, 97, 100, 105, 117, 115, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 49, 48, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 105, 98, 98, 111, 110, - 40, 104, 101, 97, 100, 82, 97, 100, 105, 117, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 111, 117, 114, 99, 101, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 83, 111, 117, - 114, 99, 101, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 114, 103, - 101, 116, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 84, 97, 114, 103, 101, 116, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 117, 114, 99, 101, 82, 97, 100, 105, 117, 115, 32, 61, - 32, 100, 101, 102, 97, 117, 108, 116, 82, 97, 100, 105, 117, 115, 36, 49, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 97, 114, 103, 101, 116, 82, 97, 100, 105, 117, 115, 32, 61, 32, 100, - 101, 102, 97, 117, 108, 116, 82, 97, 100, 105, 117, 115, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 32, 61, 32, 100, 101, 102, 97, 117, - 108, 116, 83, 116, 97, 114, 116, 65, 110, 103, 108, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 110, 100, 65, 110, 103, 108, 101, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 69, 110, - 100, 65, 110, 103, 108, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, - 65, 110, 103, 108, 101, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 80, 97, 100, 65, 110, 103, 108, 101, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, - 32, 110, 117, 108, 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 114, 105, 98, 98, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 98, 117, 102, 102, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, 115, 111, 117, 114, 99, 101, 46, 97, 112, 112, 108, 121, - 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 116, 97, 114, 103, 101, 116, 46, - 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 112, 32, 61, 32, 112, - 97, 100, 65, 110, 103, 108, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 41, 32, 47, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 114, 103, 118, 32, 61, 32, 115, 108, 105, 99, 101, 36, 50, 46, 99, 97, - 108, 108, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 114, 32, 61, 32, 43, 115, 111, 117, 114, 99, 101, 82, 97, 100, - 105, 117, 115, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 40, 97, 114, 103, 118, 91, 48, - 93, 32, 61, 32, 115, 44, 32, 97, 114, 103, 118, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 97, 48, 32, 61, 32, 115, 116, 97, 114, 116, 65, 110, 103, 108, - 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 118, 41, 32, 45, 32, 104, - 97, 108, 102, 80, 105, 36, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 97, 49, 32, 61, 32, 101, 110, 100, 65, 110, 103, 108, 101, 46, 97, 112, 112, 108, 121, 40, - 116, 104, 105, 115, 44, 32, 97, 114, 103, 118, 41, 32, 45, 32, 104, 97, 108, 102, 80, 105, 36, 50, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 32, 61, 32, 43, - 116, 97, 114, 103, 101, 116, 82, 97, 100, 105, 117, 115, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, - 44, 32, 40, 97, 114, 103, 118, 91, 48, 93, 32, 61, 32, 116, 44, 32, 97, 114, 103, 118, 41, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 48, 32, 61, 32, - 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, - 97, 114, 103, 118, 41, 32, 45, 32, 104, 97, 108, 102, 80, 105, 36, 50, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 49, 32, 61, 32, 101, 110, 100, 65, 110, 103, - 108, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 118, 41, 32, 45, 32, - 104, 97, 108, 102, 80, 105, 36, 50, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 33, 99, 111, 110, 116, 101, 120, 116, 41, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, - 32, 98, 117, 102, 102, 101, 114, 32, 61, 32, 112, 97, 116, 104, 40, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 112, 32, 62, 32, 101, 112, 115, 105, 108, 111, - 110, 36, 52, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 97, 98, 115, 36, 50, 40, 115, 97, 49, 32, 45, 32, 115, 97, 48, 41, 32, 62, 32, - 97, 112, 32, 42, 32, 50, 32, 43, 32, 101, 112, 115, 105, 108, 111, 110, 36, 52, 41, 32, 115, 97, 49, - 32, 62, 32, 115, 97, 48, 32, 63, 32, 40, 115, 97, 48, 32, 43, 61, 32, 97, 112, 44, 32, 115, 97, - 49, 32, 45, 61, 32, 97, 112, 41, 32, 58, 32, 40, 115, 97, 48, 32, 45, 61, 32, 97, 112, 44, 32, - 115, 97, 49, 32, 43, 61, 32, 97, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 115, 97, 48, 32, 61, 32, 115, 97, 49, 32, 61, 32, 40, - 115, 97, 48, 32, 43, 32, 115, 97, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 98, 115, 36, 50, 40, 116, 97, 49, 32, - 45, 32, 116, 97, 48, 41, 32, 62, 32, 97, 112, 32, 42, 32, 50, 32, 43, 32, 101, 112, 115, 105, 108, - 111, 110, 36, 52, 41, 32, 116, 97, 49, 32, 62, 32, 116, 97, 48, 32, 63, 32, 40, 116, 97, 48, 32, - 43, 61, 32, 97, 112, 44, 32, 116, 97, 49, 32, 45, 61, 32, 97, 112, 41, 32, 58, 32, 40, 116, 97, - 48, 32, 45, 61, 32, 97, 112, 44, 32, 116, 97, 49, 32, 43, 61, 32, 97, 112, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 116, 97, 48, 32, - 61, 32, 116, 97, 49, 32, 61, 32, 40, 116, 97, 48, 32, 43, 32, 116, 97, 49, 41, 32, 47, 32, 50, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 115, 114, - 32, 42, 32, 99, 111, 115, 36, 50, 40, 115, 97, 48, 41, 44, 32, 115, 114, 32, 42, 32, 115, 105, 110, - 36, 50, 40, 115, 97, 48, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 48, 44, 32, 48, 44, 32, 115, 114, 44, 32, 115, 97, - 48, 44, 32, 115, 97, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 115, 97, 48, 32, 33, 61, 61, 32, 116, 97, 48, 32, 124, 124, 32, 115, 97, 49, 32, 33, 61, - 61, 32, 116, 97, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 104, 101, 97, 100, 82, 97, 100, 105, 117, 115, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 114, - 32, 61, 32, 43, 104, 101, 97, 100, 82, 97, 100, 105, 117, 115, 46, 97, 112, 112, 108, 121, 40, 116, 104, - 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, 32, 116, 114, 50, 32, 61, 32, 116, - 114, 32, 45, 32, 104, 114, 44, 32, 116, 97, 50, 32, 61, 32, 40, 116, 97, 48, 32, 43, 32, 116, 97, - 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 113, 117, 97, 100, 114, 97, 116, 105, 99, 67, - 117, 114, 118, 101, 84, 111, 40, 48, 44, 32, 48, 44, 32, 116, 114, 50, 32, 42, 32, 99, 111, 115, 36, - 50, 40, 116, 97, 48, 41, 44, 32, 116, 114, 50, 32, 42, 32, 115, 105, 110, 36, 50, 40, 116, 97, 48, - 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 116, 114, 32, 42, 32, 99, 111, - 115, 36, 50, 40, 116, 97, 50, 41, 44, 32, 116, 114, 32, 42, 32, 115, 105, 110, 36, 50, 40, 116, 97, - 50, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 116, 114, 50, 32, 42, 32, - 99, 111, 115, 36, 50, 40, 116, 97, 49, 41, 44, 32, 116, 114, 50, 32, 42, 32, 115, 105, 110, 36, 50, - 40, 116, 97, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 113, 117, 97, 100, 114, 97, 116, 105, - 99, 67, 117, 114, 118, 101, 84, 111, 40, 48, 44, 32, 48, 44, 32, 116, 114, 32, 42, 32, 99, 111, 115, - 36, 50, 40, 116, 97, 48, 41, 44, 32, 116, 114, 32, 42, 32, 115, 105, 110, 36, 50, 40, 116, 97, 48, - 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 48, 44, 32, 48, 44, 32, 116, 114, 44, 32, - 116, 97, 48, 44, 32, 116, 97, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 113, 117, 97, 100, 114, 97, - 116, 105, 99, 67, 117, 114, 118, 101, 84, 111, 40, 48, 44, 32, 48, 44, 32, 115, 114, 32, 42, 32, 99, - 111, 115, 36, 50, 40, 115, 97, 48, 41, 44, 32, 115, 114, 32, 42, 32, 115, 105, 110, 36, 50, 40, 115, - 97, 48, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, - 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 117, 102, 102, 101, 114, 41, 32, 114, 101, 116, 117, 114, - 110, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 117, 108, 108, 44, 32, 98, 117, 102, 102, 101, - 114, 32, 43, 32, 34, 34, 32, 124, 124, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 101, 97, 100, 82, 97, 100, - 105, 117, 115, 41, 32, 114, 105, 98, 98, 111, 110, 46, 104, 101, 97, 100, 82, 97, 100, 105, 117, 115, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 63, 32, 40, 104, 101, 97, 100, 82, 97, 100, 105, 117, 115, 32, 61, 32, 116, - 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, - 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 54, 40, 43, 95, 41, 44, 32, 114, - 105, 98, 98, 111, 110, 41, 32, 58, 32, 104, 101, 97, 100, 82, 97, 100, 105, 117, 115, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 98, 98, 111, - 110, 46, 114, 97, 100, 105, 117, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 111, 117, 114, 99, - 101, 82, 97, 100, 105, 117, 115, 32, 61, 32, 116, 97, 114, 103, 101, 116, 82, 97, 100, 105, 117, 115, 32, - 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, - 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 54, 40, 43, 95, 41, - 44, 32, 114, 105, 98, 98, 111, 110, 41, 32, 58, 32, 115, 111, 117, 114, 99, 101, 82, 97, 100, 105, 117, - 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 105, 98, 98, 111, 110, 46, 115, 111, 117, 114, 99, 101, 82, 97, 100, 105, 117, 115, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 115, 111, 117, 114, 99, 101, 82, 97, 100, 105, 117, 115, 32, 61, 32, 116, 121, - 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, - 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 54, 40, 43, 95, 41, 44, 32, 114, 105, - 98, 98, 111, 110, 41, 32, 58, 32, 115, 111, 117, 114, 99, 101, 82, 97, 100, 105, 117, 115, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 98, 98, - 111, 110, 46, 116, 97, 114, 103, 101, 116, 82, 97, 100, 105, 117, 115, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, - 32, 40, 116, 97, 114, 103, 101, 116, 82, 97, 100, 105, 117, 115, 32, 61, 32, 116, 121, 112, 101, 111, 102, - 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, - 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 54, 40, 43, 95, 41, 44, 32, 114, 105, 98, 98, 111, 110, - 41, 32, 58, 32, 116, 97, 114, 103, 101, 116, 82, 97, 100, 105, 117, 115, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 98, 98, 111, 110, 46, 115, - 116, 97, 114, 116, 65, 110, 103, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 116, 97, 114, - 116, 65, 110, 103, 108, 101, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, - 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, - 116, 36, 54, 40, 43, 95, 41, 44, 32, 114, 105, 98, 98, 111, 110, 41, 32, 58, 32, 115, 116, 97, 114, - 116, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 105, 98, 98, 111, 110, 46, 101, 110, 100, 65, 110, 103, 108, 101, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, - 103, 116, 104, 32, 63, 32, 40, 101, 110, 100, 65, 110, 103, 108, 101, 32, 61, 32, 116, 121, 112, 101, 111, - 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, - 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 54, 40, 43, 95, 41, 44, 32, 114, 105, 98, 98, 111, - 110, 41, 32, 58, 32, 101, 110, 100, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 98, 98, 111, 110, 46, 112, 97, 100, 65, - 110, 103, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 65, 110, 103, 108, 101, 32, - 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, - 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 54, 40, 43, 95, 41, - 44, 32, 114, 105, 98, 98, 111, 110, 41, 32, 58, 32, 112, 97, 100, 65, 110, 103, 108, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 98, 98, - 111, 110, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 111, 117, 114, - 99, 101, 32, 61, 32, 95, 44, 32, 114, 105, 98, 98, 111, 110, 41, 32, 58, 32, 115, 111, 117, 114, 99, - 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 105, 98, 98, 111, 110, 46, 116, 97, 114, 103, 101, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, - 116, 97, 114, 103, 101, 116, 32, 61, 32, 95, 44, 32, 114, 105, 98, 98, 111, 110, 41, 32, 58, 32, 116, - 97, 114, 103, 101, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 105, 98, 98, 111, 110, 46, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 32, 63, 32, 40, 40, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 95, 32, 61, 61, 32, 110, 117, - 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 95, 41, 44, 32, 114, 105, 98, 98, 111, 110, 41, - 32, 58, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 105, 98, 98, 111, 110, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 105, - 98, 98, 111, 110, 36, 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 114, 105, 98, 98, 111, 110, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 105, 98, 98, 111, 110, 65, 114, 114, 111, 119, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 105, 98, 98, 111, - 110, 40, 100, 101, 102, 97, 117, 108, 116, 65, 114, 114, 111, 119, 104, 101, 97, 100, 82, 97, 100, 105, 117, - 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 97, 114, 114, 97, - 121, 36, 50, 32, 61, 32, 65, 114, 114, 97, 121, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 59, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 108, 105, 99, 101, 36, 49, 32, 61, 32, 97, 114, 114, 97, - 121, 36, 50, 46, 115, 108, 105, 99, 101, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 49, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 32, 45, 32, 98, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 101, 97, 36, - 51, 40, 114, 105, 110, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, - 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 114, 105, 110, 103, 46, 108, 101, 110, 103, 116, 104, 44, 32, - 97, 114, 101, 97, 32, 61, 32, 114, 105, 110, 103, 91, 110, 32, 45, 32, 49, 93, 91, 49, 93, 32, 42, - 32, 114, 105, 110, 103, 91, 48, 93, 91, 48, 93, 32, 45, 32, 114, 105, 110, 103, 91, 110, 32, 45, 32, - 49, 93, 91, 48, 93, 32, 42, 32, 114, 105, 110, 103, 91, 48, 93, 91, 49, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 97, 114, - 101, 97, 32, 43, 61, 32, 114, 105, 110, 103, 91, 105, 32, 45, 32, 49, 93, 91, 49, 93, 32, 42, 32, - 114, 105, 110, 103, 91, 105, 93, 91, 48, 93, 32, 45, 32, 114, 105, 110, 103, 91, 105, 32, 45, 32, 49, - 93, 91, 48, 93, 32, 42, 32, 114, 105, 110, 103, 91, 105, 93, 91, 49, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 101, 97, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 53, 32, 61, 32, 120, - 32, 61, 62, 32, 40, 41, 32, 61, 62, 32, 120, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 99, 111, 110, 116, 97, 105, 110, 115, 36, 50, 40, 114, 105, 110, 103, 44, 32, 104, 111, - 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, - 49, 44, 32, 110, 32, 61, 32, 104, 111, 108, 101, 46, 108, 101, 110, 103, 116, 104, 44, 32, 99, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, - 32, 105, 102, 32, 40, 99, 32, 61, 32, 114, 105, 110, 103, 67, 111, 110, 116, 97, 105, 110, 115, 40, 114, - 105, 110, 103, 44, 32, 104, 111, 108, 101, 91, 105, 93, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 99, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 105, 110, 103, 67, 111, - 110, 116, 97, 105, 110, 115, 40, 114, 105, 110, 103, 44, 32, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 32, 61, 32, 112, 111, 105, 110, 116, 91, 48, 93, - 44, 32, 121, 32, 61, 32, 112, 111, 105, 110, 116, 91, 49, 93, 44, 32, 99, 111, 110, 116, 97, 105, 110, - 115, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, - 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 114, 105, 110, 103, 46, 108, 101, 110, 103, 116, - 104, 44, 32, 106, 32, 61, 32, 110, 32, 45, 32, 49, 59, 32, 105, 32, 60, 32, 110, 59, 32, 106, 32, - 61, 32, 105, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 112, 105, 32, 61, 32, 114, 105, 110, 103, 91, 105, 93, 44, 32, 120, 105, 32, 61, 32, 112, 105, - 91, 48, 93, 44, 32, 121, 105, 32, 61, 32, 112, 105, 91, 49, 93, 44, 32, 112, 106, 32, 61, 32, 114, - 105, 110, 103, 91, 106, 93, 44, 32, 120, 106, 32, 61, 32, 112, 106, 91, 48, 93, 44, 32, 121, 106, 32, - 61, 32, 112, 106, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 115, 101, 103, 109, 101, 110, 116, 67, 111, 110, 116, 97, 105, 110, 115, 40, 112, 105, 44, 32, 112, - 106, 44, 32, 112, 111, 105, 110, 116, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 40, 121, 105, 32, 62, 32, 121, 41, - 32, 33, 61, 61, 32, 40, 121, 106, 32, 62, 32, 121, 41, 41, 32, 38, 38, 32, 40, 40, 120, 32, 60, - 32, 40, 120, 106, 32, 45, 32, 120, 105, 41, 32, 42, 32, 40, 121, 32, 45, 32, 121, 105, 41, 32, 47, - 32, 40, 121, 106, 32, 45, 32, 121, 105, 41, 32, 43, 32, 120, 105, 41, 41, 41, 32, 99, 111, 110, 116, - 97, 105, 110, 115, 32, 61, 32, 45, 99, 111, 110, 116, 97, 105, 110, 115, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 110, - 116, 97, 105, 110, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 115, 101, 103, 109, 101, 110, 116, 67, 111, 110, 116, 97, 105, 110, 115, 40, 97, 44, 32, - 98, 44, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 59, 32, - 114, 101, 116, 117, 114, 110, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, 36, 49, 40, 97, 44, 32, 98, - 44, 32, 99, 41, 32, 38, 38, 32, 119, 105, 116, 104, 105, 110, 40, 97, 91, 105, 32, 61, 32, 43, 40, - 97, 91, 48, 93, 32, 61, 61, 61, 32, 98, 91, 48, 93, 41, 93, 44, 32, 99, 91, 105, 93, 44, 32, - 98, 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, 36, 49, 40, 97, 44, 32, 98, 44, 32, 99, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 98, 91, 48, - 93, 32, 45, 32, 97, 91, 48, 93, 41, 32, 42, 32, 40, 99, 91, 49, 93, 32, 45, 32, 97, 91, 49, - 93, 41, 32, 61, 61, 61, 32, 40, 99, 91, 48, 93, 32, 45, 32, 97, 91, 48, 93, 41, 32, 42, 32, - 40, 98, 91, 49, 93, 32, 45, 32, 97, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 119, 105, 116, 104, 105, 110, 40, 112, 44, 32, 113, - 44, 32, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, - 32, 60, 61, 32, 113, 32, 38, 38, 32, 113, 32, 60, 61, 32, 114, 32, 124, 124, 32, 114, 32, 60, 61, - 32, 113, 32, 38, 38, 32, 113, 32, 60, 61, 32, 112, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 111, 112, 36, 50, 40, 41, 32, 123, 125, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 97, 115, 101, 115, 32, 61, 32, 91, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 91, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 91, 91, 49, 46, 48, 44, - 32, 49, 46, 53, 93, 44, 32, 91, 48, 46, 53, 44, 32, 49, 46, 48, 93, 93, 93, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 91, 91, 91, 49, 46, 53, 44, 32, 49, 46, 48, 93, 44, 32, 91, 49, 46, - 48, 44, 32, 49, 46, 53, 93, 93, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 91, 91, 49, - 46, 53, 44, 32, 49, 46, 48, 93, 44, 32, 91, 48, 46, 53, 44, 32, 49, 46, 48, 93, 93, 93, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 91, 91, 49, 46, 48, 44, 32, 48, 46, 53, 93, 44, 32, - 91, 49, 46, 53, 44, 32, 49, 46, 48, 93, 93, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, - 91, 91, 49, 46, 48, 44, 32, 49, 46, 53, 93, 44, 32, 91, 48, 46, 53, 44, 32, 49, 46, 48, 93, - 93, 44, 32, 91, 91, 49, 46, 48, 44, 32, 48, 46, 53, 93, 44, 32, 91, 49, 46, 53, 44, 32, 49, - 46, 48, 93, 93, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 91, 91, 49, 46, 48, 44, 32, - 48, 46, 53, 93, 44, 32, 91, 49, 46, 48, 44, 32, 49, 46, 53, 93, 93, 93, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 91, 91, 91, 49, 46, 48, 44, 32, 48, 46, 53, 93, 44, 32, 91, 48, 46, 53, - 44, 32, 49, 46, 48, 93, 93, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 91, 91, 48, 46, - 53, 44, 32, 49, 46, 48, 93, 44, 32, 91, 49, 46, 48, 44, 32, 48, 46, 53, 93, 93, 93, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 91, 91, 91, 49, 46, 48, 44, 32, 49, 46, 53, 93, 44, 32, 91, - 49, 46, 48, 44, 32, 48, 46, 53, 93, 93, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 91, - 91, 48, 46, 53, 44, 32, 49, 46, 48, 93, 44, 32, 91, 49, 46, 48, 44, 32, 48, 46, 53, 93, 93, - 44, 32, 91, 91, 49, 46, 53, 44, 32, 49, 46, 48, 93, 44, 32, 91, 49, 46, 48, 44, 32, 49, 46, - 53, 93, 93, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 91, 91, 49, 46, 53, 44, 32, 49, - 46, 48, 93, 44, 32, 91, 49, 46, 48, 44, 32, 48, 46, 53, 93, 93, 93, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 91, 91, 91, 48, 46, 53, 44, 32, 49, 46, 48, 93, 44, 32, 91, 49, 46, 53, 44, - 32, 49, 46, 48, 93, 93, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 91, 91, 49, 46, 48, - 44, 32, 49, 46, 53, 93, 44, 32, 91, 49, 46, 53, 44, 32, 49, 46, 48, 93, 93, 93, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 91, 91, 91, 48, 46, 53, 44, 32, 49, 46, 48, 93, 44, 32, 91, 49, - 46, 48, 44, 32, 49, 46, 53, 93, 93, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 93, 10, - 32, 32, 32, 32, 93, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, - 110, 116, 111, 117, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 100, 120, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, - 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 101, 115, 104, - 111, 108, 100, 32, 61, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 83, 116, 117, 114, 103, 101, 115, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 109, 111, 111, 116, 104, 32, 61, 32, 115, - 109, 111, 111, 116, 104, 76, 105, 110, 101, 97, 114, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 116, 111, 117, 114, 115, 40, 118, 97, 108, 117, 101, 115, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 122, 32, - 61, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 40, 118, 97, 108, 117, 101, 115, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 110, 118, 101, 114, 116, 32, 110, - 117, 109, 98, 101, 114, 32, 111, 102, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 32, 105, 110, 116, - 111, 32, 117, 110, 105, 102, 111, 114, 109, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 65, 114, 114, 97, 121, 46, 105, - 115, 65, 114, 114, 97, 121, 40, 116, 122, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 101, 120, 116, - 101, 110, 116, 36, 49, 40, 118, 97, 108, 117, 101, 115, 41, 44, 32, 115, 116, 97, 114, 116, 32, 61, 32, - 100, 111, 109, 97, 105, 110, 91, 48, 93, 44, 32, 115, 116, 111, 112, 32, 61, 32, 100, 111, 109, 97, 105, - 110, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 122, 32, 61, 32, 116, 105, 99, 107, 83, 116, 101, 112, 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, - 112, 44, 32, 116, 122, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 122, 32, 61, 32, 115, 101, 113, 117, 101, 110, 99, 101, 40, 77, 97, 116, 104, 46, 102, 108, 111, - 111, 114, 40, 115, 116, 97, 114, 116, 32, 47, 32, 116, 122, 41, 32, 42, 32, 116, 122, 44, 32, 77, 97, - 116, 104, 46, 102, 108, 111, 111, 114, 40, 115, 116, 111, 112, 32, 47, 32, 116, 122, 41, 32, 42, 32, 116, - 122, 44, 32, 116, 122, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, - 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 122, 32, 61, 32, 116, 122, 46, 115, 108, 105, 99, 101, 40, 41, 46, 115, 111, 114, 116, 40, 97, 115, 99, - 101, 110, 100, 105, 110, 103, 36, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, - 122, 46, 109, 97, 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 118, 97, 108, 117, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 99, 111, 110, 116, 111, 117, 114, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 65, 99, 99, 117, 109, 117, - 108, 97, 116, 101, 44, 32, 115, 109, 111, 111, 116, 104, 32, 99, 111, 110, 116, 111, 117, 114, 32, 114, 105, - 110, 103, 115, 44, 32, 97, 115, 115, 105, 103, 110, 32, 104, 111, 108, 101, 115, 32, 116, 111, 32, 101, 120, - 116, 101, 114, 105, 111, 114, 32, 114, 105, 110, 103, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 66, 97, 115, 101, 100, 32, 111, 110, 32, 104, 116, 116, 112, 115, 58, 47, 47, 103, 105, 116, 104, - 117, 98, 46, 99, 111, 109, 47, 109, 98, 111, 115, 116, 111, 99, 107, 47, 115, 104, 97, 112, 101, 102, 105, - 108, 101, 47, 98, 108, 111, 98, 47, 118, 48, 46, 54, 46, 50, 47, 115, 104, 112, 47, 112, 111, 108, 121, - 103, 111, 110, 46, 106, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 99, 111, 110, 116, 111, 117, 114, 40, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 111, 108, 121, - 103, 111, 110, 115, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 104, 111, 108, 101, 115, 32, 61, 32, 91, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 115, 111, 114, 105, 110, 103, 115, 40, 118, 97, 108, 117, 101, 115, 44, 32, - 118, 97, 108, 117, 101, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 114, 105, 110, 103, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 109, 111, 111, 116, 104, - 40, 114, 105, 110, 103, 44, 32, 118, 97, 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 114, 101, - 97, 36, 51, 40, 114, 105, 110, 103, 41, 32, 62, 32, 48, 41, 32, 112, 111, 108, 121, 103, 111, 110, 115, - 46, 112, 117, 115, 104, 40, 91, 114, 105, 110, 103, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 104, 111, 108, 101, 115, 46, 112, 117, 115, 104, - 40, 114, 105, 110, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 111, 108, 101, 115, 46, 102, 111, 114, - 69, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 104, 111, 108, 101, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, - 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 115, 46, 108, 101, - 110, 103, 116, 104, 44, 32, 112, 111, 108, 121, 103, 111, 110, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, - 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 99, 111, 110, 116, 97, 105, 110, 115, 36, 50, 40, 40, 112, 111, 108, 121, - 103, 111, 110, 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 115, 91, 105, 93, 41, 91, 48, 93, 44, 32, - 104, 111, 108, 101, 41, 32, 33, 61, 61, 32, 45, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, - 110, 46, 112, 117, 115, 104, 40, 104, 111, 108, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 121, 112, 101, 58, 32, 34, 77, 117, 108, 116, 105, 80, 111, 108, 121, 103, 111, 110, 34, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 58, - 32, 118, 97, 108, 117, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 58, 32, 112, 111, 108, 121, 103, 111, 110, 115, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 77, 97, 114, 99, 104, 105, 110, 103, 32, - 115, 113, 117, 97, 114, 101, 115, 32, 119, 105, 116, 104, 32, 105, 115, 111, 108, 105, 110, 101, 115, 32, 115, - 116, 105, 116, 99, 104, 101, 100, 32, 105, 110, 116, 111, 32, 114, 105, 110, 103, 115, 46, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 47, 47, 32, 66, 97, 115, 101, 100, 32, 111, 110, 32, 104, 116, 116, 112, 115, 58, - 47, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 47, 116, 111, 112, 111, 106, 115, 111, 110, 47, 116, - 111, 112, 111, 106, 115, 111, 110, 45, 99, 108, 105, 101, 110, 116, 47, 98, 108, 111, 98, 47, 118, 51, 46, - 48, 46, 48, 47, 115, 114, 99, 47, 115, 116, 105, 116, 99, 104, 46, 106, 115, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 111, 114, 105, 110, 103, 115, 40, 118, 97, - 108, 117, 101, 115, 44, 32, 118, 97, 108, 117, 101, 44, 32, 99, 97, 108, 108, 98, 97, 99, 107, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 114, 97, 103, 109, - 101, 110, 116, 66, 121, 83, 116, 97, 114, 116, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 97, 103, 109, 101, - 110, 116, 66, 121, 69, 110, 100, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 44, 32, 121, 44, 32, 116, 48, 44, - 32, 116, 49, 44, 32, 116, 50, 44, 32, 116, 51, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 83, 112, 101, 99, 105, 97, 108, 32, 99, 97, 115, 101, 32, 102, 111, 114, 32, - 116, 104, 101, 32, 102, 105, 114, 115, 116, 32, 114, 111, 119, 32, 40, 121, 32, 61, 32, 45, 49, 44, 32, - 116, 50, 32, 61, 32, 116, 51, 32, 61, 32, 48, 41, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 32, 61, 32, 121, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 49, 32, 61, 32, 118, 97, 108, 117, 101, 115, 91, 48, 93, 32, 62, 61, 32, 118, - 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 115, - 91, 116, 49, 32, 60, 60, 32, 49, 93, 46, 102, 111, 114, 69, 97, 99, 104, 40, 115, 116, 105, 116, 99, - 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, - 43, 43, 120, 32, 60, 32, 100, 120, 32, 45, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 48, 32, 61, 32, 116, 49, 44, 32, 116, 49, 32, 61, 32, - 118, 97, 108, 117, 101, 115, 91, 120, 32, 43, 32, 49, 93, 32, 62, 61, 32, 118, 97, 108, 117, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 115, 91, - 116, 48, 32, 124, 32, 116, 49, 32, 60, 60, 32, 49, 93, 46, 102, 111, 114, 69, 97, 99, 104, 40, 115, - 116, 105, 116, 99, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 115, 91, 116, 49, 32, 60, 60, 32, - 48, 93, 46, 102, 111, 114, 69, 97, 99, 104, 40, 115, 116, 105, 116, 99, 104, 41, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 71, 101, 110, 101, 114, 97, 108, 32, 99, 97, - 115, 101, 32, 102, 111, 114, 32, 116, 104, 101, 32, 105, 110, 116, 101, 114, 109, 101, 100, 105, 97, 116, 101, - 32, 114, 111, 119, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, - 101, 32, 40, 43, 43, 121, 32, 60, 32, 100, 121, 32, 45, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 49, 32, 61, 32, 118, 97, 108, 117, 101, - 115, 91, 121, 32, 42, 32, 100, 120, 32, 43, 32, 100, 120, 93, 32, 62, 61, 32, 118, 97, 108, 117, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 50, 32, 61, 32, - 118, 97, 108, 117, 101, 115, 91, 121, 32, 42, 32, 100, 120, 93, 32, 62, 61, 32, 118, 97, 108, 117, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 115, - 91, 116, 49, 32, 60, 60, 32, 49, 32, 124, 32, 116, 50, 32, 60, 60, 32, 50, 93, 46, 102, 111, 114, - 69, 97, 99, 104, 40, 115, 116, 105, 116, 99, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 120, 32, 60, 32, 100, 120, 32, - 45, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 48, 32, 61, 32, 116, 49, 44, 32, 116, 49, 32, 61, 32, 118, 97, 108, 117, 101, - 115, 91, 121, 32, 42, 32, 100, 120, 32, 43, 32, 100, 120, 32, 43, 32, 120, 32, 43, 32, 49, 93, 32, - 62, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 51, 32, 61, 32, 116, 50, 44, 32, 116, 50, 32, 61, 32, 118, 97, - 108, 117, 101, 115, 91, 121, 32, 42, 32, 100, 120, 32, 43, 32, 120, 32, 43, 32, 49, 93, 32, 62, 61, - 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 97, 115, 101, 115, 91, 116, 48, 32, 124, 32, 116, 49, 32, 60, 60, 32, 49, - 32, 124, 32, 116, 50, 32, 60, 60, 32, 50, 32, 124, 32, 116, 51, 32, 60, 60, 32, 51, 93, 46, 102, - 111, 114, 69, 97, 99, 104, 40, 115, 116, 105, 116, 99, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 97, 115, 101, 115, 91, 116, 49, 32, 124, 32, 116, 50, 32, 60, 60, 32, 51, 93, - 46, 102, 111, 114, 69, 97, 99, 104, 40, 115, 116, 105, 116, 99, 104, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 83, 112, 101, 99, 105, 97, 108, 32, 99, 97, 115, 101, 32, 102, 111, 114, 32, 116, 104, 101, 32, - 108, 97, 115, 116, 32, 114, 111, 119, 32, 40, 121, 32, 61, 32, 100, 121, 32, 45, 32, 49, 44, 32, 116, - 48, 32, 61, 32, 116, 49, 32, 61, 32, 48, 41, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 50, 32, 61, 32, 118, 97, 108, 117, 101, 115, 91, 121, 32, 42, 32, 100, 120, 93, 32, 62, 61, 32, 118, - 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 115, - 91, 116, 50, 32, 60, 60, 32, 50, 93, 46, 102, 111, 114, 69, 97, 99, 104, 40, 115, 116, 105, 116, 99, - 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, - 43, 43, 120, 32, 60, 32, 100, 120, 32, 45, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 51, 32, 61, 32, 116, 50, 44, 32, 116, 50, 32, 61, 32, - 118, 97, 108, 117, 101, 115, 91, 121, 32, 42, 32, 100, 120, 32, 43, 32, 120, 32, 43, 32, 49, 93, 32, - 62, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 97, 115, 101, 115, 91, 116, 50, 32, 60, 60, 32, 50, 32, 124, 32, 116, 51, 32, 60, - 60, 32, 51, 93, 46, 102, 111, 114, 69, 97, 99, 104, 40, 115, 116, 105, 116, 99, 104, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 97, 115, 101, 115, 91, 116, 50, 32, 60, 60, 32, 51, 93, 46, 102, 111, 114, 69, 97, 99, - 104, 40, 115, 116, 105, 116, 99, 104, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 105, 116, 99, 104, 40, 108, 105, 110, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, - 116, 97, 114, 116, 32, 61, 32, 91, 108, 105, 110, 101, 91, 48, 93, 91, 48, 93, 32, 43, 32, 120, 44, - 32, 108, 105, 110, 101, 91, 48, 93, 91, 49, 93, 32, 43, 32, 121, 93, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 100, 32, 61, 32, 91, 108, - 105, 110, 101, 91, 49, 93, 91, 48, 93, 32, 43, 32, 120, 44, 32, 108, 105, 110, 101, 91, 49, 93, 91, - 49, 93, 32, 43, 32, 121, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 73, 110, 100, 101, 120, 32, 61, 32, 105, 110, 100, 101, - 120, 40, 115, 116, 97, 114, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 101, 110, 100, 73, 110, 100, 101, 120, 32, 61, 32, 105, 110, 100, 101, 120, - 40, 101, 110, 100, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 44, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 102, 32, 61, 32, 102, 114, 97, 103, 109, 101, 110, 116, 66, 121, 69, 110, - 100, 91, 115, 116, 97, 114, 116, 73, 110, 100, 101, 120, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 32, 61, 32, 102, - 114, 97, 103, 109, 101, 110, 116, 66, 121, 83, 116, 97, 114, 116, 91, 101, 110, 100, 73, 110, 100, 101, 120, - 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 102, 114, 97, 103, 109, 101, 110, 116, 66, 121, - 69, 110, 100, 91, 102, 46, 101, 110, 100, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 102, 114, 97, - 103, 109, 101, 110, 116, 66, 121, 83, 116, 97, 114, 116, 91, 103, 46, 115, 116, 97, 114, 116, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 102, 32, 61, 61, 61, 32, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 46, - 114, 105, 110, 103, 46, 112, 117, 115, 104, 40, 101, 110, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, - 108, 108, 98, 97, 99, 107, 40, 102, 46, 114, 105, 110, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 97, 103, 109, 101, 110, 116, 66, 121, 83, 116, 97, 114, 116, - 91, 102, 46, 115, 116, 97, 114, 116, 93, 32, 61, 32, 102, 114, 97, 103, 109, 101, 110, 116, 66, 121, 69, - 110, 100, 91, 103, 46, 101, 110, 100, 93, 32, 61, 32, 123, 115, 116, 97, 114, 116, 58, 32, 102, 46, 115, - 116, 97, 114, 116, 44, 32, 101, 110, 100, 58, 32, 103, 46, 101, 110, 100, 44, 32, 114, 105, 110, 103, 58, - 32, 102, 46, 114, 105, 110, 103, 46, 99, 111, 110, 99, 97, 116, 40, 103, 46, 114, 105, 110, 103, 41, 125, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 102, 114, 97, 103, - 109, 101, 110, 116, 66, 121, 69, 110, 100, 91, 102, 46, 101, 110, 100, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 46, 114, 105, - 110, 103, 46, 112, 117, 115, 104, 40, 101, 110, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 97, 103, 109, 101, 110, 116, - 66, 121, 69, 110, 100, 91, 102, 46, 101, 110, 100, 32, 61, 32, 101, 110, 100, 73, 110, 100, 101, 120, 93, - 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, - 101, 108, 115, 101, 32, 105, 102, 32, 40, 102, 32, 61, 32, 102, 114, 97, 103, 109, 101, 110, 116, 66, 121, - 83, 116, 97, 114, 116, 91, 101, 110, 100, 73, 110, 100, 101, 120, 93, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 32, 61, - 32, 102, 114, 97, 103, 109, 101, 110, 116, 66, 121, 69, 110, 100, 91, 115, 116, 97, 114, 116, 73, 110, 100, - 101, 120, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 102, 114, 97, 103, 109, 101, 110, 116, - 66, 121, 83, 116, 97, 114, 116, 91, 102, 46, 115, 116, 97, 114, 116, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, - 116, 101, 32, 102, 114, 97, 103, 109, 101, 110, 116, 66, 121, 69, 110, 100, 91, 103, 46, 101, 110, 100, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 102, 32, 61, 61, 61, 32, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 46, 114, 105, 110, 103, 46, 112, 117, 115, 104, 40, 101, 110, 100, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 97, 108, 108, 98, 97, 99, 107, 40, 102, 46, 114, 105, 110, 103, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, - 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 97, 103, 109, 101, 110, 116, 66, 121, 83, 116, 97, - 114, 116, 91, 103, 46, 115, 116, 97, 114, 116, 93, 32, 61, 32, 102, 114, 97, 103, 109, 101, 110, 116, 66, - 121, 69, 110, 100, 91, 102, 46, 101, 110, 100, 93, 32, 61, 32, 123, 115, 116, 97, 114, 116, 58, 32, 103, - 46, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 58, 32, 102, 46, 101, 110, 100, 44, 32, 114, 105, 110, - 103, 58, 32, 103, 46, 114, 105, 110, 103, 46, 99, 111, 110, 99, 97, 116, 40, 102, 46, 114, 105, 110, 103, - 41, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 102, 114, - 97, 103, 109, 101, 110, 116, 66, 121, 83, 116, 97, 114, 116, 91, 102, 46, 115, 116, 97, 114, 116, 93, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 46, 114, 105, 110, 103, 46, 117, 110, 115, 104, 105, 102, 116, 40, 115, 116, 97, 114, 116, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 114, 97, 103, 109, 101, 110, 116, 66, 121, 83, 116, 97, 114, 116, 91, 102, 46, 115, 116, - 97, 114, 116, 32, 61, 32, 115, 116, 97, 114, 116, 73, 110, 100, 101, 120, 93, 32, 61, 32, 102, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, - 97, 103, 109, 101, 110, 116, 66, 121, 83, 116, 97, 114, 116, 91, 115, 116, 97, 114, 116, 73, 110, 100, 101, - 120, 93, 32, 61, 32, 102, 114, 97, 103, 109, 101, 110, 116, 66, 121, 69, 110, 100, 91, 101, 110, 100, 73, - 110, 100, 101, 120, 93, 32, 61, 32, 123, 115, 116, 97, 114, 116, 58, 32, 115, 116, 97, 114, 116, 73, 110, - 100, 101, 120, 44, 32, 101, 110, 100, 58, 32, 101, 110, 100, 73, 110, 100, 101, 120, 44, 32, 114, 105, 110, - 103, 58, 32, 91, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 93, 125, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 100, 101, 120, 40, 112, 111, 105, 110, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 111, 105, - 110, 116, 91, 48, 93, 32, 42, 32, 50, 32, 43, 32, 112, 111, 105, 110, 116, 91, 49, 93, 32, 42, 32, - 40, 100, 120, 32, 43, 32, 49, 41, 32, 42, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 109, 111, 111, - 116, 104, 76, 105, 110, 101, 97, 114, 40, 114, 105, 110, 103, 44, 32, 118, 97, 108, 117, 101, 115, 44, 32, - 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, - 110, 103, 46, 102, 111, 114, 69, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 112, 111, 105, - 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 120, 32, 61, 32, 112, 111, 105, 110, 116, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 112, 111, 105, 110, 116, - 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 120, 116, 32, 61, 32, 120, 32, 124, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 116, 32, 61, 32, 121, 32, 124, 32, 48, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 48, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 49, - 32, 61, 32, 118, 97, 108, 117, 101, 115, 91, 121, 116, 32, 42, 32, 100, 120, 32, 43, 32, 120, 116, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, - 32, 62, 32, 48, 32, 38, 38, 32, 120, 32, 60, 32, 100, 120, 32, 38, 38, 32, 120, 116, 32, 61, 61, - 61, 32, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 48, 32, 61, 32, 118, 97, 108, 117, 101, 115, 91, 121, 116, 32, 42, 32, 100, 120, - 32, 43, 32, 120, 116, 32, 45, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 91, 48, 93, 32, 61, 32, 120, 32, 43, - 32, 40, 118, 97, 108, 117, 101, 32, 45, 32, 118, 48, 41, 32, 47, 32, 40, 118, 49, 32, 45, 32, 118, - 48, 41, 32, 45, 32, 48, 46, 53, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 121, 32, 62, 32, 48, 32, 38, 38, 32, 121, 32, 60, 32, 100, 121, 32, 38, 38, 32, 121, 116, - 32, 61, 61, 61, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 48, 32, 61, 32, 118, 97, 108, 117, 101, 115, 91, 40, 121, 116, 32, - 45, 32, 49, 41, 32, 42, 32, 100, 120, 32, 43, 32, 120, 116, 93, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 91, 49, 93, 32, - 61, 32, 121, 32, 43, 32, 40, 118, 97, 108, 117, 101, 32, 45, 32, 118, 48, 41, 32, 47, 32, 40, 118, - 49, 32, 45, 32, 118, 48, 41, 32, 45, 32, 48, 46, 53, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 116, 111, 117, 114, 115, 46, 99, 111, 110, 116, 111, 117, 114, 32, 61, 32, 99, 111, 110, 116, 111, - 117, 114, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 111, 117, 114, 115, 46, 115, - 105, 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 91, 100, 120, 44, 32, 100, 121, - 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 95, 48, 32, 61, - 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 95, 91, 48, 93, 41, 44, 32, 95, 49, 32, 61, - 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 95, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 95, 48, 32, 62, 61, 32, 48, 32, 38, - 38, 32, 95, 49, 32, 62, 61, 32, 48, 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, - 114, 114, 111, 114, 40, 34, 105, 110, 118, 97, 108, 105, 100, 32, 115, 105, 122, 101, 34, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 120, 32, 61, 32, - 95, 48, 44, 32, 100, 121, 32, 61, 32, 95, 49, 44, 32, 99, 111, 110, 116, 111, 117, 114, 115, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 116, 111, 117, 114, 115, 46, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 63, 32, 40, 116, 104, 114, 101, 115, 104, 111, 108, 100, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, - 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 65, - 114, 114, 97, 121, 46, 105, 115, 65, 114, 114, 97, 121, 40, 95, 41, 32, 63, 32, 99, 111, 110, 115, 116, - 97, 110, 116, 36, 53, 40, 115, 108, 105, 99, 101, 36, 49, 46, 99, 97, 108, 108, 40, 95, 41, 41, 32, - 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 53, 40, 95, 41, 44, 32, 99, 111, 110, 116, 111, 117, - 114, 115, 41, 32, 58, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 111, 117, 114, 115, 46, - 115, 109, 111, 111, 116, 104, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 109, 111, 111, 116, 104, 32, - 61, 32, 95, 32, 63, 32, 115, 109, 111, 111, 116, 104, 76, 105, 110, 101, 97, 114, 32, 58, 32, 110, 111, - 111, 112, 36, 50, 44, 32, 99, 111, 110, 116, 111, 117, 114, 115, 41, 32, 58, 32, 115, 109, 111, 111, 116, - 104, 32, 61, 61, 61, 32, 115, 109, 111, 111, 116, 104, 76, 105, 110, 101, 97, 114, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 99, 111, 110, 116, 111, 117, 114, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 84, 79, - 68, 79, 32, 79, 112, 116, 105, 109, 105, 122, 101, 32, 101, 100, 103, 101, 32, 99, 97, 115, 101, 115, 46, - 10, 47, 47, 32, 84, 79, 68, 79, 32, 79, 112, 116, 105, 109, 105, 122, 101, 32, 105, 110, 100, 101, 120, - 32, 99, 97, 108, 99, 117, 108, 97, 116, 105, 111, 110, 46, 10, 47, 47, 32, 84, 79, 68, 79, 32, 79, - 112, 116, 105, 109, 105, 122, 101, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 108, 117, 114, 88, 40, 115, 111, 117, 114, 99, 101, 44, 32, - 116, 97, 114, 103, 101, 116, 44, 32, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 110, 32, 61, 32, 115, 111, 117, 114, 99, 101, 46, 119, 105, 100, 116, 104, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 115, 111, 117, 114, 99, 101, 46, 104, 101, 105, - 103, 104, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 32, 61, 32, 40, 114, - 32, 60, 60, 32, 49, 41, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 32, 40, 118, 97, 114, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, - 114, 32, 105, 32, 61, 32, 48, 44, 32, 115, 114, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 32, - 43, 32, 114, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 114, 32, 43, 61, 32, 115, 111, - 117, 114, 99, 101, 46, 100, 97, 116, 97, 91, 105, 32, 43, 32, 106, 32, 42, 32, 110, 93, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 62, 61, 32, 114, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 105, 32, 62, 61, 32, 119, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 114, 32, 45, 61, 32, 115, 111, 117, 114, - 99, 101, 46, 100, 97, 116, 97, 91, 105, 32, 45, 32, 119, 32, 43, 32, 106, 32, 42, 32, 110, 93, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 114, - 103, 101, 116, 46, 100, 97, 116, 97, 91, 105, 32, 45, 32, 114, 32, 43, 32, 106, 32, 42, 32, 110, 93, - 32, 61, 32, 115, 114, 32, 47, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 105, 32, 43, 32, 49, 44, - 32, 110, 32, 45, 32, 49, 32, 43, 32, 119, 32, 45, 32, 105, 44, 32, 119, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, - 47, 47, 32, 84, 79, 68, 79, 32, 79, 112, 116, 105, 109, 105, 122, 101, 32, 101, 100, 103, 101, 32, 99, - 97, 115, 101, 115, 46, 10, 47, 47, 32, 84, 79, 68, 79, 32, 79, 112, 116, 105, 109, 105, 122, 101, 32, - 105, 110, 100, 101, 120, 32, 99, 97, 108, 99, 117, 108, 97, 116, 105, 111, 110, 46, 10, 47, 47, 32, 84, - 79, 68, 79, 32, 79, 112, 116, 105, 109, 105, 122, 101, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 108, 117, 114, 89, 40, 115, 111, 117, - 114, 99, 101, 44, 32, 116, 97, 114, 103, 101, 116, 44, 32, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 115, 111, 117, 114, 99, 101, 46, 119, 105, 100, 116, 104, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 115, 111, 117, 114, 99, - 101, 46, 104, 101, 105, 103, 104, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, - 32, 61, 32, 40, 114, 32, 60, 60, 32, 49, 41, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, - 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 118, 97, 114, 32, 106, 32, 61, 32, 48, 44, 32, 115, 114, 32, 61, 32, 48, 59, 32, 106, - 32, 60, 32, 109, 32, 43, 32, 114, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 106, 32, 60, 32, 109, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 114, 32, - 43, 61, 32, 115, 111, 117, 114, 99, 101, 46, 100, 97, 116, 97, 91, 105, 32, 43, 32, 106, 32, 42, 32, - 110, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 106, 32, 62, 61, - 32, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 106, 32, 62, 61, 32, 119, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 114, 32, 45, 61, - 32, 115, 111, 117, 114, 99, 101, 46, 100, 97, 116, 97, 91, 105, 32, 43, 32, 40, 106, 32, 45, 32, 119, - 41, 32, 42, 32, 110, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 97, 114, 103, 101, 116, 46, 100, 97, 116, 97, 91, 105, 32, 43, 32, 40, 106, 32, - 45, 32, 114, 41, 32, 42, 32, 110, 93, 32, 61, 32, 115, 114, 32, 47, 32, 77, 97, 116, 104, 46, 109, - 105, 110, 40, 106, 32, 43, 32, 49, 44, 32, 109, 32, 45, 32, 49, 32, 43, 32, 119, 32, 45, 32, 106, - 44, 32, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, - 101, 102, 97, 117, 108, 116, 88, 36, 49, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 100, 91, 48, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 89, 36, 49, 40, 100, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 91, 49, 93, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, - 102, 97, 117, 108, 116, 87, 101, 105, 103, 104, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 110, 115, 105, 116, 121, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 88, 36, 49, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 100, 101, 102, 97, 117, - 108, 116, 89, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 101, 105, 103, - 104, 116, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 87, 101, 105, 103, 104, 116, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, 32, 57, 54, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 53, 48, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 50, 48, 44, 32, 47, 47, 32, 98, 108, 117, 114, 32, - 114, 97, 100, 105, 117, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, - 50, 44, 32, 47, 47, 32, 108, 111, 103, 50, 40, 103, 114, 105, 100, 32, 99, 101, 108, 108, 32, 115, 105, - 122, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 32, 61, 32, 114, 32, 42, - 32, 51, 44, 32, 47, 47, 32, 103, 114, 105, 100, 32, 111, 102, 102, 115, 101, 116, 44, 32, 116, 111, 32, - 112, 97, 100, 32, 102, 111, 114, 32, 98, 108, 117, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 32, 61, 32, 40, 100, 120, 32, 43, 32, 111, 32, 42, 32, 50, 41, 32, 62, 62, 32, 107, - 44, 32, 47, 47, 32, 103, 114, 105, 100, 32, 119, 105, 100, 116, 104, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 109, 32, 61, 32, 40, 100, 121, 32, 43, 32, 111, 32, 42, 32, 50, 41, 32, 62, - 62, 32, 107, 44, 32, 47, 47, 32, 103, 114, 105, 100, 32, 104, 101, 105, 103, 104, 116, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 32, 61, 32, 99, 111, - 110, 115, 116, 97, 110, 116, 36, 53, 40, 50, 48, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 110, 115, 105, 116, 121, 40, 100, 97, 116, 97, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 97, 108, 117, 101, - 115, 48, 32, 61, 32, 110, 101, 119, 32, 70, 108, 111, 97, 116, 51, 50, 65, 114, 114, 97, 121, 40, 110, - 32, 42, 32, 109, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 108, 117, 101, 115, 49, 32, 61, 32, 110, 101, 119, 32, 70, 108, 111, 97, 116, 51, 50, 65, 114, - 114, 97, 121, 40, 110, 32, 42, 32, 109, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 97, 116, 97, 46, 102, 111, 114, 69, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 100, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 105, 32, 61, 32, 40, 43, 120, 40, 100, 44, - 32, 105, 44, 32, 100, 97, 116, 97, 41, 32, 43, 32, 111, 41, 32, 62, 62, 32, 107, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 105, 32, 61, 32, - 40, 43, 121, 40, 100, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 32, 43, 32, 111, 41, 32, 62, 62, - 32, 107, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 119, 105, 32, 61, 32, 43, 119, 101, 105, 103, 104, 116, 40, 100, 44, 32, 105, 44, 32, 100, 97, 116, - 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 120, 105, 32, 62, 61, 32, 48, 32, 38, 38, 32, 120, 105, 32, 60, 32, 110, 32, 38, 38, 32, 121, - 105, 32, 62, 61, 32, 48, 32, 38, 38, 32, 121, 105, 32, 60, 32, 109, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 115, - 48, 91, 120, 105, 32, 43, 32, 121, 105, 32, 42, 32, 110, 93, 32, 43, 61, 32, 119, 105, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 47, 47, 32, 84, 79, 68, 79, 32, 79, 112, 116, 105, 109, 105, 122, 101, 46, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 98, 108, 117, 114, 88, 40, 123, 119, 105, 100, 116, 104, 58, 32, 110, 44, - 32, 104, 101, 105, 103, 104, 116, 58, 32, 109, 44, 32, 100, 97, 116, 97, 58, 32, 118, 97, 108, 117, 101, - 115, 48, 125, 44, 32, 123, 119, 105, 100, 116, 104, 58, 32, 110, 44, 32, 104, 101, 105, 103, 104, 116, 58, - 32, 109, 44, 32, 100, 97, 116, 97, 58, 32, 118, 97, 108, 117, 101, 115, 49, 125, 44, 32, 114, 32, 62, - 62, 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 108, 117, 114, 89, - 40, 123, 119, 105, 100, 116, 104, 58, 32, 110, 44, 32, 104, 101, 105, 103, 104, 116, 58, 32, 109, 44, 32, - 100, 97, 116, 97, 58, 32, 118, 97, 108, 117, 101, 115, 49, 125, 44, 32, 123, 119, 105, 100, 116, 104, 58, - 32, 110, 44, 32, 104, 101, 105, 103, 104, 116, 58, 32, 109, 44, 32, 100, 97, 116, 97, 58, 32, 118, 97, - 108, 117, 101, 115, 48, 125, 44, 32, 114, 32, 62, 62, 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 98, 108, 117, 114, 88, 40, 123, 119, 105, 100, 116, 104, 58, 32, 110, 44, 32, - 104, 101, 105, 103, 104, 116, 58, 32, 109, 44, 32, 100, 97, 116, 97, 58, 32, 118, 97, 108, 117, 101, 115, - 48, 125, 44, 32, 123, 119, 105, 100, 116, 104, 58, 32, 110, 44, 32, 104, 101, 105, 103, 104, 116, 58, 32, - 109, 44, 32, 100, 97, 116, 97, 58, 32, 118, 97, 108, 117, 101, 115, 49, 125, 44, 32, 114, 32, 62, 62, - 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 108, 117, 114, 89, 40, - 123, 119, 105, 100, 116, 104, 58, 32, 110, 44, 32, 104, 101, 105, 103, 104, 116, 58, 32, 109, 44, 32, 100, - 97, 116, 97, 58, 32, 118, 97, 108, 117, 101, 115, 49, 125, 44, 32, 123, 119, 105, 100, 116, 104, 58, 32, - 110, 44, 32, 104, 101, 105, 103, 104, 116, 58, 32, 109, 44, 32, 100, 97, 116, 97, 58, 32, 118, 97, 108, - 117, 101, 115, 48, 125, 44, 32, 114, 32, 62, 62, 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 98, 108, 117, 114, 88, 40, 123, 119, 105, 100, 116, 104, 58, 32, 110, 44, 32, 104, - 101, 105, 103, 104, 116, 58, 32, 109, 44, 32, 100, 97, 116, 97, 58, 32, 118, 97, 108, 117, 101, 115, 48, - 125, 44, 32, 123, 119, 105, 100, 116, 104, 58, 32, 110, 44, 32, 104, 101, 105, 103, 104, 116, 58, 32, 109, - 44, 32, 100, 97, 116, 97, 58, 32, 118, 97, 108, 117, 101, 115, 49, 125, 44, 32, 114, 32, 62, 62, 32, - 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 108, 117, 114, 89, 40, 123, - 119, 105, 100, 116, 104, 58, 32, 110, 44, 32, 104, 101, 105, 103, 104, 116, 58, 32, 109, 44, 32, 100, 97, - 116, 97, 58, 32, 118, 97, 108, 117, 101, 115, 49, 125, 44, 32, 123, 119, 105, 100, 116, 104, 58, 32, 110, - 44, 32, 104, 101, 105, 103, 104, 116, 58, 32, 109, 44, 32, 100, 97, 116, 97, 58, 32, 118, 97, 108, 117, - 101, 115, 48, 125, 44, 32, 114, 32, 62, 62, 32, 107, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 122, 32, 61, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, - 40, 118, 97, 108, 117, 101, 115, 48, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 67, 111, 110, 118, 101, 114, 116, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 116, - 104, 114, 101, 115, 104, 111, 108, 100, 115, 32, 105, 110, 116, 111, 32, 117, 110, 105, 102, 111, 114, 109, 32, - 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 33, 65, 114, 114, 97, 121, 46, 105, 115, 65, 114, 114, 97, 121, 40, 116, 122, 41, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 115, 116, 111, 112, 32, 61, 32, 109, 97, 120, 36, 51, 40, 118, 97, 108, 117, 101, 115, 48, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 122, 32, 61, 32, 116, - 105, 99, 107, 83, 116, 101, 112, 40, 48, 44, 32, 115, 116, 111, 112, 44, 32, 116, 122, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 122, 32, 61, 32, 115, 101, 113, - 117, 101, 110, 99, 101, 40, 48, 44, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 115, 116, 111, - 112, 32, 47, 32, 116, 122, 41, 32, 42, 32, 116, 122, 44, 32, 116, 122, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 122, 46, 115, 104, 105, 102, 116, 40, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 110, 116, 111, 117, 114, 115, 40, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 116, 104, 114, 101, 115, 104, - 111, 108, 100, 115, 40, 116, 122, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 115, 105, 122, 101, 40, 91, 110, 44, 32, 109, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 118, 97, 108, 117, 101, 115, 48, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 109, 97, 112, 40, 116, 114, 97, 110, 115, 102, - 111, 114, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 103, 101, - 111, 109, 101, 116, 114, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, - 101, 111, 109, 101, 116, 114, 121, 46, 118, 97, 108, 117, 101, 32, 42, 61, 32, 77, 97, 116, 104, 46, 112, - 111, 119, 40, 50, 44, 32, 45, 50, 32, 42, 32, 107, 41, 59, 32, 47, 47, 32, 68, 101, 110, 115, 105, - 116, 121, 32, 105, 110, 32, 112, 111, 105, 110, 116, 115, 32, 112, 101, 114, 32, 115, 113, 117, 97, 114, 101, - 32, 112, 105, 120, 101, 108, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 111, - 109, 101, 116, 114, 121, 46, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 46, 102, 111, 114, 69, 97, - 99, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 80, 111, 108, 121, 103, 111, 110, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 103, 101, 111, 109, 101, - 116, 114, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 80, 111, 108, 121, - 103, 111, 110, 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 46, 102, 111, 114, - 69, 97, 99, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 82, 105, 110, 103, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 82, 105, 110, 103, 40, 99, 111, 111, 114, 100, 105, - 110, 97, 116, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 111, 114, 100, 105, 110, 97, 116, 101, 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 80, 111, 105, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 79, 68, 79, 32, 79, 112, 116, 105, 109, 105, 122, - 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, - 110, 115, 102, 111, 114, 109, 80, 111, 105, 110, 116, 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, 100, 105, 110, - 97, 116, 101, 115, 91, 48, 93, 32, 61, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 48, - 93, 32, 42, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 50, 44, 32, 107, 41, 32, 45, 32, 111, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, - 115, 91, 49, 93, 32, 61, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 49, 93, 32, 42, - 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 50, 44, 32, 107, 41, 32, 45, 32, 111, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 114, 101, 115, 105, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 111, 32, 61, 32, 114, 32, 42, 32, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 32, 61, 32, 40, 100, 120, 32, 43, 32, 111, 32, 42, 32, 50, 41, 32, 62, 62, 32, - 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 40, 100, 121, 32, - 43, 32, 111, 32, 42, 32, 50, 41, 32, 62, 62, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 101, 110, 115, 105, 116, 121, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 110, 115, 105, 116, 121, - 46, 120, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 120, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, - 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, - 99, 111, 110, 115, 116, 97, 110, 116, 36, 53, 40, 43, 95, 41, 44, 32, 100, 101, 110, 115, 105, 116, 121, - 41, 32, 58, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 101, 110, 115, 105, 116, 121, 46, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, - 121, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, - 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 53, 40, 43, - 95, 41, 44, 32, 100, 101, 110, 115, 105, 116, 121, 41, 32, 58, 32, 121, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 110, 115, 105, 116, 121, 46, - 119, 101, 105, 103, 104, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 119, 101, 105, 103, 104, 116, 32, - 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, - 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 53, 40, 43, 95, 41, - 44, 32, 100, 101, 110, 115, 105, 116, 121, 41, 32, 58, 32, 119, 101, 105, 103, 104, 116, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 110, 115, 105, - 116, 121, 46, 115, 105, 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 91, 100, 120, - 44, 32, 100, 121, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 95, 48, 32, 61, 32, 43, 95, 91, 48, 93, 44, 32, 95, 49, 32, 61, 32, 43, 95, 91, 49, 93, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 95, 48, 32, 62, - 61, 32, 48, 32, 38, 38, 32, 95, 49, 32, 62, 61, 32, 48, 41, 41, 32, 116, 104, 114, 111, 119, 32, - 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 105, 110, 118, 97, 108, 105, 100, 32, 115, 105, 122, 101, - 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 100, 120, 32, 61, 32, 95, 48, 44, 32, 100, 121, 32, 61, 32, 95, 49, 44, 32, 114, 101, 115, 105, 122, - 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 101, 110, 115, 105, 116, 121, 46, 99, 101, 108, 108, 83, 105, 122, 101, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, - 32, 114, 101, 116, 117, 114, 110, 32, 49, 32, 60, 60, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 40, 95, 32, 61, 32, 43, 95, 41, 32, 62, 61, 32, - 49, 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 105, 110, - 118, 97, 108, 105, 100, 32, 99, 101, 108, 108, 32, 115, 105, 122, 101, 34, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 107, 32, 61, 32, 77, 97, 116, 104, - 46, 102, 108, 111, 111, 114, 40, 77, 97, 116, 104, 46, 108, 111, 103, 40, 95, 41, 32, 47, 32, 77, 97, - 116, 104, 46, 76, 78, 50, 41, 44, 32, 114, 101, 115, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 110, 115, 105, 116, 121, - 46, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 104, - 114, 101, 115, 104, 111, 108, 100, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, - 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 65, 114, 114, 97, 121, 46, - 105, 115, 65, 114, 114, 97, 121, 40, 95, 41, 32, 63, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 53, - 40, 115, 108, 105, 99, 101, 36, 49, 46, 99, 97, 108, 108, 40, 95, 41, 41, 32, 58, 32, 99, 111, 110, - 115, 116, 97, 110, 116, 36, 53, 40, 95, 41, 44, 32, 100, 101, 110, 115, 105, 116, 121, 41, 32, 58, 32, - 116, 104, 114, 101, 115, 104, 111, 108, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 110, 115, 105, 116, 121, 46, 98, 97, 110, 100, 119, 105, 100, - 116, 104, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 115, 113, 114, - 116, 40, 114, 32, 42, 32, 40, 114, 32, 43, 32, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 40, 95, 32, 61, 32, 43, 95, 41, 32, 62, 61, 32, - 48, 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 105, 110, - 118, 97, 108, 105, 100, 32, 98, 97, 110, 100, 119, 105, 100, 116, 104, 34, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 32, 61, 32, 77, 97, 116, 104, - 46, 114, 111, 117, 110, 100, 40, 40, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 52, 32, 42, 32, 95, - 32, 42, 32, 95, 32, 43, 32, 49, 41, 32, 45, 32, 49, 41, 32, 47, 32, 50, 41, 44, 32, 114, 101, - 115, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 101, 110, 115, 105, 116, 121, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 69, 80, 83, 73, 76, 79, 78, 32, - 61, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 50, 44, 32, 45, 53, 50, 41, 59, 10, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 69, 68, 71, 69, 95, 83, 84, 65, 67, 75, 32, 61, 32, 110, 101, 119, - 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 53, 49, 50, 41, 59, 10, 10, 32, 32, 32, - 32, 99, 108, 97, 115, 115, 32, 68, 101, 108, 97, 117, 110, 97, 116, 111, 114, 32, 123, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 102, 114, 111, 109, 40, 112, 111, 105, 110, 116, - 115, 44, 32, 103, 101, 116, 88, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 71, 101, 116, 88, 44, 32, - 103, 101, 116, 89, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 71, 101, 116, 89, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 110, 32, 61, 32, 112, 111, - 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 32, 99, 111, 111, 114, 100, 115, 32, 61, 32, 110, 101, 119, 32, 70, 108, - 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, 40, 110, 32, 42, 32, 50, 41, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, - 59, 32, 105, 32, 60, 32, 110, 59, 32, 105, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 32, 61, 32, 112, 111, 105, 110, - 116, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 105, 93, 32, 61, 32, 103, 101, 116, 88, 40, 112, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, 100, - 115, 91, 50, 32, 42, 32, 105, 32, 43, 32, 49, 93, 32, 61, 32, 103, 101, 116, 89, 40, 112, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 101, 108, 97, 117, 110, 97, - 116, 111, 114, 40, 99, 111, 111, 114, 100, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 99, 111, - 111, 114, 100, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 110, 32, 61, 32, 99, 111, 111, 114, 100, 115, 46, 108, 101, 110, 103, 116, 104, 32, 62, 62, - 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 32, 62, - 32, 48, 32, 38, 38, 32, 116, 121, 112, 101, 111, 102, 32, 99, 111, 111, 114, 100, 115, 91, 48, 93, 32, - 33, 61, 61, 32, 39, 110, 117, 109, 98, 101, 114, 39, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, - 32, 69, 114, 114, 111, 114, 40, 39, 69, 120, 112, 101, 99, 116, 101, 100, 32, 99, 111, 111, 114, 100, 115, - 32, 116, 111, 32, 99, 111, 110, 116, 97, 105, 110, 32, 110, 117, 109, 98, 101, 114, 115, 46, 39, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 99, 111, 111, 114, - 100, 115, 32, 61, 32, 99, 111, 111, 114, 100, 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 97, 114, 114, 97, 121, 115, 32, 116, 104, 97, 116, 32, 119, 105, 108, 108, 32, - 115, 116, 111, 114, 101, 32, 116, 104, 101, 32, 116, 114, 105, 97, 110, 103, 117, 108, 97, 116, 105, 111, 110, - 32, 103, 114, 97, 112, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, - 116, 32, 109, 97, 120, 84, 114, 105, 97, 110, 103, 108, 101, 115, 32, 61, 32, 77, 97, 116, 104, 46, 109, - 97, 120, 40, 50, 32, 42, 32, 110, 32, 45, 32, 53, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 116, 114, 105, 97, 110, 103, 108, 101, 115, 32, - 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 109, 97, 120, 84, 114, - 105, 97, 110, 103, 108, 101, 115, 32, 42, 32, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 104, 97, 108, 102, 101, 100, 103, 101, 115, 32, 61, 32, 110, 101, - 119, 32, 73, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 109, 97, 120, 84, 114, 105, 97, 110, 103, 108, - 101, 115, 32, 42, 32, 51, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 116, 101, 109, 112, 111, 114, 97, 114, 121, 32, 97, 114, 114, 97, 121, 115, 32, 102, 111, 114, 32, - 116, 114, 97, 99, 107, 105, 110, 103, 32, 116, 104, 101, 32, 101, 100, 103, 101, 115, 32, 111, 102, 32, 116, - 104, 101, 32, 97, 100, 118, 97, 110, 99, 105, 110, 103, 32, 99, 111, 110, 118, 101, 120, 32, 104, 117, 108, - 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 104, 97, 115, - 104, 83, 105, 122, 101, 32, 61, 32, 77, 97, 116, 104, 46, 99, 101, 105, 108, 40, 77, 97, 116, 104, 46, - 115, 113, 114, 116, 40, 110, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 104, 117, 108, 108, 80, 114, 101, 118, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, - 116, 51, 50, 65, 114, 114, 97, 121, 40, 110, 41, 59, 32, 47, 47, 32, 101, 100, 103, 101, 32, 116, 111, - 32, 112, 114, 101, 118, 32, 101, 100, 103, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 95, 104, 117, 108, 108, 78, 101, 120, 116, 32, 61, 32, 110, 101, 119, 32, 85, 105, - 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 110, 41, 59, 32, 47, 47, 32, 101, 100, 103, 101, 32, 116, - 111, 32, 110, 101, 120, 116, 32, 101, 100, 103, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 104, 117, 108, 108, 84, 114, 105, 32, 61, 32, 110, 101, 119, 32, 85, 105, - 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 110, 41, 59, 32, 47, 47, 32, 101, 100, 103, 101, 32, 116, - 111, 32, 97, 100, 106, 97, 99, 101, 110, 116, 32, 116, 114, 105, 97, 110, 103, 108, 101, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 104, 117, 108, 108, 72, 97, 115, 104, - 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 116, 104, 105, 115, 46, - 95, 104, 97, 115, 104, 83, 105, 122, 101, 41, 46, 102, 105, 108, 108, 40, 45, 49, 41, 59, 32, 47, 47, - 32, 97, 110, 103, 117, 108, 97, 114, 32, 101, 100, 103, 101, 32, 104, 97, 115, 104, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 116, 101, 109, 112, 111, 114, 97, 114, 121, 32, 97, - 114, 114, 97, 121, 115, 32, 102, 111, 114, 32, 115, 111, 114, 116, 105, 110, 103, 32, 112, 111, 105, 110, 116, - 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 100, 115, - 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 110, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 116, 115, - 32, 61, 32, 110, 101, 119, 32, 70, 108, 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, 40, 110, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 117, 112, 100, 97, - 116, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 117, 112, 100, 97, 116, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 32, 123, 99, 111, 111, 114, 100, 115, 44, 32, 95, 104, 117, 108, 108, 80, - 114, 101, 118, 58, 32, 104, 117, 108, 108, 80, 114, 101, 118, 44, 32, 95, 104, 117, 108, 108, 78, 101, 120, - 116, 58, 32, 104, 117, 108, 108, 78, 101, 120, 116, 44, 32, 95, 104, 117, 108, 108, 84, 114, 105, 58, 32, - 104, 117, 108, 108, 84, 114, 105, 44, 32, 95, 104, 117, 108, 108, 72, 97, 115, 104, 58, 32, 104, 117, 108, - 108, 72, 97, 115, 104, 125, 32, 61, 32, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 110, 32, 61, 32, 99, 111, 111, 114, 100, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 62, 62, 32, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 112, 111, 112, 117, 108, 97, 116, 101, 32, 97, 110, 32, 97, 114, 114, 97, 121, 32, - 111, 102, 32, 112, 111, 105, 110, 116, 32, 105, 110, 100, 105, 99, 101, 115, 59, 32, 99, 97, 108, 99, 117, - 108, 97, 116, 101, 32, 105, 110, 112, 117, 116, 32, 100, 97, 116, 97, 32, 98, 98, 111, 120, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 105, 110, 88, 32, 61, 32, 73, 110, - 102, 105, 110, 105, 116, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, - 32, 109, 105, 110, 89, 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 97, 120, 88, 32, 61, 32, 45, 73, 110, 102, 105, - 110, 105, 116, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, - 97, 120, 89, 32, 61, 32, 45, 73, 110, 102, 105, 110, 105, 116, 121, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, - 105, 32, 60, 32, 110, 59, 32, 105, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 99, 111, 111, 114, 100, 115, - 91, 50, 32, 42, 32, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, - 105, 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 120, 32, 60, 32, 109, 105, 110, 88, 41, 32, 109, 105, 110, 88, 32, 61, 32, 120, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, - 32, 60, 32, 109, 105, 110, 89, 41, 32, 109, 105, 110, 89, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 32, 62, 32, 109, 97, 120, - 88, 41, 32, 109, 97, 120, 88, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 32, 62, 32, 109, 97, 120, 89, 41, 32, 109, 97, 120, - 89, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 95, 105, 100, 115, 91, 105, 93, 32, 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 99, 120, 32, 61, 32, 40, 109, 105, 110, 88, 32, 43, 32, 109, 97, 120, 88, 41, 32, - 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 99, 121, 32, 61, 32, 40, 109, 105, 110, 89, 32, 43, 32, 109, 97, 120, 89, 41, 32, 47, 32, 50, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 105, 110, 68, 105, - 115, 116, 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 101, 116, 32, 105, 48, 44, 32, 105, 49, 44, 32, 105, 50, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 112, 105, 99, 107, 32, 97, 32, 115, 101, 101, - 100, 32, 112, 111, 105, 110, 116, 32, 99, 108, 111, 115, 101, 32, 116, 111, 32, 116, 104, 101, 32, 99, 101, - 110, 116, 101, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, - 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 105, 43, 43, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 100, 32, 61, 32, 100, 105, 115, 116, 40, 99, 120, 44, 32, 99, 121, 44, 32, 99, 111, 111, 114, 100, 115, - 91, 50, 32, 42, 32, 105, 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 105, 32, 43, - 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 100, 32, 60, 32, 109, 105, 110, 68, 105, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 48, 32, 61, 32, 105, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, - 68, 105, 115, 116, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 48, 120, 32, 61, 32, 99, 111, 111, - 114, 100, 115, 91, 50, 32, 42, 32, 105, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 32, 105, 48, 121, 32, 61, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, - 42, 32, 105, 48, 32, 43, 32, 49, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 109, 105, 110, 68, 105, 115, 116, 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 102, 105, 110, 100, 32, 116, 104, 101, 32, - 112, 111, 105, 110, 116, 32, 99, 108, 111, 115, 101, 115, 116, 32, 116, 111, 32, 116, 104, 101, 32, 115, 101, - 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, - 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 105, 43, 43, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 61, 61, - 61, 32, 105, 48, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 32, 61, 32, 100, 105, 115, 116, - 40, 105, 48, 120, 44, 32, 105, 48, 121, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 105, - 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 105, 32, 43, 32, 49, 93, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 32, 60, - 32, 109, 105, 110, 68, 105, 115, 116, 32, 38, 38, 32, 100, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 49, 32, 61, 32, - 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 109, 105, 110, 68, 105, 115, 116, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 49, 120, 32, 61, 32, 99, 111, - 111, 114, 100, 115, 91, 50, 32, 42, 32, 105, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 101, 116, 32, 105, 49, 121, 32, 61, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, - 32, 105, 49, 32, 43, 32, 49, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 101, 116, 32, 109, 105, 110, 82, 97, 100, 105, 117, 115, 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, - 121, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 102, 105, 110, 100, - 32, 116, 104, 101, 32, 116, 104, 105, 114, 100, 32, 112, 111, 105, 110, 116, 32, 119, 104, 105, 99, 104, 32, - 102, 111, 114, 109, 115, 32, 116, 104, 101, 32, 115, 109, 97, 108, 108, 101, 115, 116, 32, 99, 105, 114, 99, - 117, 109, 99, 105, 114, 99, 108, 101, 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 102, 105, 114, 115, 116, - 32, 116, 119, 111, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, - 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 105, 43, 43, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, - 61, 61, 61, 32, 105, 48, 32, 124, 124, 32, 105, 32, 61, 61, 61, 32, 105, 49, 41, 32, 99, 111, 110, - 116, 105, 110, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 110, 115, 116, 32, 114, 32, 61, 32, 99, 105, 114, 99, 117, 109, 114, 97, 100, 105, 117, 115, 40, - 105, 48, 120, 44, 32, 105, 48, 121, 44, 32, 105, 49, 120, 44, 32, 105, 49, 121, 44, 32, 99, 111, 111, - 114, 100, 115, 91, 50, 32, 42, 32, 105, 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, - 105, 32, 43, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 114, 32, 60, 32, 109, 105, 110, 82, 97, 100, 105, 117, 115, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 50, 32, - 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 109, 105, 110, 82, 97, 100, 105, 117, 115, 32, 61, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 50, 120, 32, - 61, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 105, 50, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 50, 121, 32, 61, 32, 99, 111, 111, 114, 100, 115, - 91, 50, 32, 42, 32, 105, 50, 32, 43, 32, 49, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 109, 105, 110, 82, 97, 100, 105, 117, 115, 32, 61, 61, 61, 32, 73, - 110, 102, 105, 110, 105, 116, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 111, 114, 100, 101, 114, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, 32, - 112, 111, 105, 110, 116, 115, 32, 98, 121, 32, 100, 120, 32, 40, 111, 114, 32, 100, 121, 32, 105, 102, 32, - 97, 108, 108, 32, 120, 32, 97, 114, 101, 32, 105, 100, 101, 110, 116, 105, 99, 97, 108, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 97, 110, 100, 32, 114, 101, - 116, 117, 114, 110, 32, 116, 104, 101, 32, 108, 105, 115, 116, 32, 97, 115, 32, 97, 32, 104, 117, 108, 108, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, - 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 105, 43, 43, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 100, 105, 115, 116, 115, 91, 105, 93, 32, 61, 32, 40, 99, 111, 111, 114, 100, 115, 91, - 50, 32, 42, 32, 105, 93, 32, 45, 32, 99, 111, 111, 114, 100, 115, 91, 48, 93, 41, 32, 124, 124, 32, - 40, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 105, 32, 43, 32, 49, 93, 32, 45, 32, 99, 111, - 111, 114, 100, 115, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 117, - 105, 99, 107, 115, 111, 114, 116, 40, 116, 104, 105, 115, 46, 95, 105, 100, 115, 44, 32, 116, 104, 105, 115, - 46, 95, 100, 105, 115, 116, 115, 44, 32, 48, 44, 32, 110, 32, 45, 32, 49, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 117, 108, 108, - 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 110, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 106, 32, 61, - 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 44, 32, 100, 48, 32, 61, 32, 45, 73, 110, 102, 105, - 110, 105, 116, 121, 59, 32, 105, 32, 60, 32, 110, 59, 32, 105, 43, 43, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 105, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 105, 100, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, - 115, 46, 95, 100, 105, 115, 116, 115, 91, 105, 100, 93, 32, 62, 32, 100, 48, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, - 117, 108, 108, 91, 106, 43, 43, 93, 32, 61, 32, 105, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 48, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 100, 105, 115, 116, 115, 91, 105, 100, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 104, 117, 108, 108, 32, 61, 32, 104, 117, 108, 108, 46, 115, 117, 98, 97, - 114, 114, 97, 121, 40, 48, 44, 32, 106, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 114, 105, 97, 110, 103, 108, 101, 115, 32, 61, 32, 110, - 101, 119, 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 48, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 104, 97, 108, 102, 101, 100, - 103, 101, 115, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 48, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 115, 119, 97, 112, 32, 116, 104, 101, 32, 111, 114, 100, - 101, 114, 32, 111, 102, 32, 116, 104, 101, 32, 115, 101, 101, 100, 32, 112, 111, 105, 110, 116, 115, 32, 102, - 111, 114, 32, 99, 111, 117, 110, 116, 101, 114, 45, 99, 108, 111, 99, 107, 119, 105, 115, 101, 32, 111, 114, - 105, 101, 110, 116, 97, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 111, 114, 105, 101, 110, 116, 40, 105, 48, 120, 44, 32, 105, 48, 121, 44, 32, 105, 49, 120, - 44, 32, 105, 49, 121, 44, 32, 105, 50, 120, 44, 32, 105, 50, 121, 41, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 32, 61, 32, - 105, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 120, 32, 61, 32, 105, 49, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 105, 49, 121, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 49, 32, 61, 32, 105, 50, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 49, 120, 32, 61, 32, 105, 50, - 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 49, 121, 32, - 61, 32, 105, 50, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 50, 32, 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 50, 120, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 50, 121, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, - 101, 110, 116, 101, 114, 32, 61, 32, 99, 105, 114, 99, 117, 109, 99, 101, 110, 116, 101, 114, 40, 105, 48, - 120, 44, 32, 105, 48, 121, 44, 32, 105, 49, 120, 44, 32, 105, 49, 121, 44, 32, 105, 50, 120, 44, 32, - 105, 50, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 99, 120, 32, 61, 32, 99, 101, 110, 116, 101, 114, 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 121, 32, 61, 32, 99, 101, 110, 116, 101, 114, 46, - 121, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, - 116, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 105, 43, 43, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, - 105, 115, 116, 115, 91, 105, 93, 32, 61, 32, 100, 105, 115, 116, 40, 99, 111, 111, 114, 100, 115, 91, 50, - 32, 42, 32, 105, 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 105, 32, 43, 32, 49, - 93, 44, 32, 99, 101, 110, 116, 101, 114, 46, 120, 44, 32, 99, 101, 110, 116, 101, 114, 46, 121, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 47, 47, 32, 115, 111, 114, 116, 32, 116, 104, 101, 32, 112, 111, 105, 110, 116, 115, - 32, 98, 121, 32, 100, 105, 115, 116, 97, 110, 99, 101, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 115, - 101, 101, 100, 32, 116, 114, 105, 97, 110, 103, 108, 101, 32, 99, 105, 114, 99, 117, 109, 99, 101, 110, 116, - 101, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 117, 105, 99, 107, 115, 111, 114, - 116, 40, 116, 104, 105, 115, 46, 95, 105, 100, 115, 44, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 116, - 115, 44, 32, 48, 44, 32, 110, 32, 45, 32, 49, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 115, 101, 116, 32, 117, 112, 32, 116, 104, 101, 32, 115, 101, 101, 100, 32, - 116, 114, 105, 97, 110, 103, 108, 101, 32, 97, 115, 32, 116, 104, 101, 32, 115, 116, 97, 114, 116, 105, 110, - 103, 32, 104, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 104, 117, 108, 108, 83, 116, 97, 114, 116, 32, 61, 32, 105, 48, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 104, 117, 108, 108, 83, 105, 122, 101, 32, 61, 32, 51, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 78, 101, 120, 116, - 91, 105, 48, 93, 32, 61, 32, 104, 117, 108, 108, 80, 114, 101, 118, 91, 105, 50, 93, 32, 61, 32, 105, - 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 78, 101, 120, 116, - 91, 105, 49, 93, 32, 61, 32, 104, 117, 108, 108, 80, 114, 101, 118, 91, 105, 48, 93, 32, 61, 32, 105, - 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 78, 101, 120, 116, - 91, 105, 50, 93, 32, 61, 32, 104, 117, 108, 108, 80, 114, 101, 118, 91, 105, 49, 93, 32, 61, 32, 105, - 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 84, 114, 105, - 91, 105, 48, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, - 117, 108, 108, 84, 114, 105, 91, 105, 49, 93, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 104, 117, 108, 108, 84, 114, 105, 91, 105, 50, 93, 32, 61, 32, 50, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 72, 97, 115, 104, 46, 102, 105, - 108, 108, 40, 45, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, - 108, 72, 97, 115, 104, 91, 116, 104, 105, 115, 46, 95, 104, 97, 115, 104, 75, 101, 121, 40, 105, 48, 120, - 44, 32, 105, 48, 121, 41, 93, 32, 61, 32, 105, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 104, 117, 108, 108, 72, 97, 115, 104, 91, 116, 104, 105, 115, 46, 95, 104, 97, 115, 104, 75, - 101, 121, 40, 105, 49, 120, 44, 32, 105, 49, 121, 41, 93, 32, 61, 32, 105, 49, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 72, 97, 115, 104, 91, 116, 104, 105, 115, 46, - 95, 104, 97, 115, 104, 75, 101, 121, 40, 105, 50, 120, 44, 32, 105, 50, 121, 41, 93, 32, 61, 32, 105, - 50, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 114, - 105, 97, 110, 103, 108, 101, 115, 76, 101, 110, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 100, 100, 84, 114, 105, 97, 110, 103, 108, 101, 40, - 105, 48, 44, 32, 105, 49, 44, 32, 105, 50, 44, 32, 45, 49, 44, 32, 45, 49, 44, 32, 45, 49, 41, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, - 32, 107, 32, 61, 32, 48, 44, 32, 120, 112, 44, 32, 121, 112, 59, 32, 107, 32, 60, 32, 116, 104, 105, - 115, 46, 95, 105, 100, 115, 46, 108, 101, 110, 103, 116, 104, 59, 32, 107, 43, 43, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 105, 100, 115, 91, 107, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 99, 111, 111, 114, - 100, 115, 91, 50, 32, 42, 32, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, - 42, 32, 105, 32, 43, 32, 49, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 115, 107, 105, 112, 32, 110, 101, 97, 114, 45, 100, 117, 112, 108, 105, 99, - 97, 116, 101, 32, 112, 111, 105, 110, 116, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 107, 32, 62, 32, 48, 32, 38, 38, 32, 77, 97, 116, 104, 46, 97, - 98, 115, 40, 120, 32, 45, 32, 120, 112, 41, 32, 60, 61, 32, 69, 80, 83, 73, 76, 79, 78, 32, 38, - 38, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 121, 32, 45, 32, 121, 112, 41, 32, 60, 61, 32, 69, - 80, 83, 73, 76, 79, 78, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 112, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 112, 32, 61, 32, 121, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 115, 107, 105, 112, 32, 115, - 101, 101, 100, 32, 116, 114, 105, 97, 110, 103, 108, 101, 32, 112, 111, 105, 110, 116, 115, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 61, 61, 61, 32, - 105, 48, 32, 124, 124, 32, 105, 32, 61, 61, 61, 32, 105, 49, 32, 124, 124, 32, 105, 32, 61, 61, 61, - 32, 105, 50, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 102, 105, 110, 100, 32, 97, 32, 118, 105, 115, 105, - 98, 108, 101, 32, 101, 100, 103, 101, 32, 111, 110, 32, 116, 104, 101, 32, 99, 111, 110, 118, 101, 120, 32, - 104, 117, 108, 108, 32, 117, 115, 105, 110, 103, 32, 101, 100, 103, 101, 32, 104, 97, 115, 104, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 115, 116, 97, 114, 116, - 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 32, 40, 108, 101, 116, 32, 106, 32, 61, 32, 48, 44, 32, 107, 101, 121, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 104, 97, 115, 104, 75, 101, 121, 40, 120, 44, 32, 121, 41, 59, 32, 106, 32, 60, 32, - 116, 104, 105, 115, 46, 95, 104, 97, 115, 104, 83, 105, 122, 101, 59, 32, 106, 43, 43, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, - 114, 116, 32, 61, 32, 104, 117, 108, 108, 72, 97, 115, 104, 91, 40, 107, 101, 121, 32, 43, 32, 106, 41, - 32, 37, 32, 116, 104, 105, 115, 46, 95, 104, 97, 115, 104, 83, 105, 122, 101, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, - 97, 114, 116, 32, 33, 61, 61, 32, 45, 49, 32, 38, 38, 32, 115, 116, 97, 114, 116, 32, 33, 61, 61, - 32, 104, 117, 108, 108, 78, 101, 120, 116, 91, 115, 116, 97, 114, 116, 93, 41, 32, 98, 114, 101, 97, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 32, 61, 32, 104, - 117, 108, 108, 80, 114, 101, 118, 91, 115, 116, 97, 114, 116, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 101, 32, 61, 32, 115, 116, 97, 114, 116, 44, - 32, 113, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, - 108, 101, 32, 40, 113, 32, 61, 32, 104, 117, 108, 108, 78, 101, 120, 116, 91, 101, 93, 44, 32, 33, 111, - 114, 105, 101, 110, 116, 40, 120, 44, 32, 121, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, - 101, 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 101, 32, 43, 32, 49, 93, 44, 32, - 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 113, 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, - 32, 42, 32, 113, 32, 43, 32, 49, 93, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 113, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 61, 61, - 61, 32, 115, 116, 97, 114, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, - 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 61, 61, - 61, 32, 45, 49, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 32, 47, 47, 32, 108, 105, 107, 101, - 108, 121, 32, 97, 32, 110, 101, 97, 114, 45, 100, 117, 112, 108, 105, 99, 97, 116, 101, 32, 112, 111, 105, - 110, 116, 59, 32, 115, 107, 105, 112, 32, 105, 116, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 97, 100, 100, 32, 116, 104, 101, 32, 102, 105, 114, 115, 116, 32, - 116, 114, 105, 97, 110, 103, 108, 101, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 112, 111, 105, 110, 116, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 116, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 97, 100, 100, 84, 114, 105, 97, 110, 103, 108, 101, 40, 101, 44, 32, - 105, 44, 32, 104, 117, 108, 108, 78, 101, 120, 116, 91, 101, 93, 44, 32, 45, 49, 44, 32, 45, 49, 44, - 32, 104, 117, 108, 108, 84, 114, 105, 91, 101, 93, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 114, 101, 99, 117, 114, 115, 105, 118, 101, 108, 121, 32, - 102, 108, 105, 112, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 32, 102, 114, 111, 109, 32, 116, 104, 101, - 32, 112, 111, 105, 110, 116, 32, 117, 110, 116, 105, 108, 32, 116, 104, 101, 121, 32, 115, 97, 116, 105, 115, - 102, 121, 32, 116, 104, 101, 32, 68, 101, 108, 97, 117, 110, 97, 121, 32, 99, 111, 110, 100, 105, 116, 105, - 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, - 84, 114, 105, 91, 105, 93, 32, 61, 32, 116, 104, 105, 115, 46, 95, 108, 101, 103, 97, 108, 105, 122, 101, - 40, 116, 32, 43, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 104, 117, 108, 108, 84, 114, 105, 91, 101, 93, 32, 61, 32, 116, 59, 32, 47, 47, 32, 107, 101, - 101, 112, 32, 116, 114, 97, 99, 107, 32, 111, 102, 32, 98, 111, 117, 110, 100, 97, 114, 121, 32, 116, 114, - 105, 97, 110, 103, 108, 101, 115, 32, 111, 110, 32, 116, 104, 101, 32, 104, 117, 108, 108, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 83, 105, 122, 101, 43, 43, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 119, - 97, 108, 107, 32, 102, 111, 114, 119, 97, 114, 100, 32, 116, 104, 114, 111, 117, 103, 104, 32, 116, 104, 101, - 32, 104, 117, 108, 108, 44, 32, 97, 100, 100, 105, 110, 103, 32, 109, 111, 114, 101, 32, 116, 114, 105, 97, - 110, 103, 108, 101, 115, 32, 97, 110, 100, 32, 102, 108, 105, 112, 112, 105, 110, 103, 32, 114, 101, 99, 117, - 114, 115, 105, 118, 101, 108, 121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 101, 116, 32, 110, 32, 61, 32, 104, 117, 108, 108, 78, 101, 120, 116, 91, 101, 93, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 113, - 32, 61, 32, 104, 117, 108, 108, 78, 101, 120, 116, 91, 110, 93, 44, 32, 111, 114, 105, 101, 110, 116, 40, - 120, 44, 32, 121, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 110, 93, 44, 32, 99, 111, - 111, 114, 100, 115, 91, 50, 32, 42, 32, 110, 32, 43, 32, 49, 93, 44, 32, 99, 111, 111, 114, 100, 115, - 91, 50, 32, 42, 32, 113, 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 113, 32, 43, - 32, 49, 93, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 97, 100, 100, 84, 114, 105, 97, 110, - 103, 108, 101, 40, 110, 44, 32, 105, 44, 32, 113, 44, 32, 104, 117, 108, 108, 84, 114, 105, 91, 105, 93, - 44, 32, 45, 49, 44, 32, 104, 117, 108, 108, 84, 114, 105, 91, 110, 93, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 84, 114, 105, - 91, 105, 93, 32, 61, 32, 116, 104, 105, 115, 46, 95, 108, 101, 103, 97, 108, 105, 122, 101, 40, 116, 32, - 43, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 104, 117, 108, 108, 78, 101, 120, 116, 91, 110, 93, 32, 61, 32, 110, 59, 32, 47, 47, 32, - 109, 97, 114, 107, 32, 97, 115, 32, 114, 101, 109, 111, 118, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 83, 105, 122, 101, 45, 45, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 32, 61, 32, 113, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 119, 97, - 108, 107, 32, 98, 97, 99, 107, 119, 97, 114, 100, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 111, 116, - 104, 101, 114, 32, 115, 105, 100, 101, 44, 32, 97, 100, 100, 105, 110, 103, 32, 109, 111, 114, 101, 32, 116, - 114, 105, 97, 110, 103, 108, 101, 115, 32, 97, 110, 100, 32, 102, 108, 105, 112, 112, 105, 110, 103, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 61, 61, - 61, 32, 115, 116, 97, 114, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 113, 32, 61, 32, 104, 117, 108, 108, - 80, 114, 101, 118, 91, 101, 93, 44, 32, 111, 114, 105, 101, 110, 116, 40, 120, 44, 32, 121, 44, 32, 99, - 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 113, 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, - 42, 32, 113, 32, 43, 32, 49, 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 101, 93, - 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 101, 32, 43, 32, 49, 93, 41, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 97, 100, 100, 84, 114, 105, 97, 110, 103, 108, 101, - 40, 113, 44, 32, 105, 44, 32, 101, 44, 32, 45, 49, 44, 32, 104, 117, 108, 108, 84, 114, 105, 91, 101, - 93, 44, 32, 104, 117, 108, 108, 84, 114, 105, 91, 113, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 108, 101, 103, 97, 108, 105, 122, 101, 40, 116, 32, 43, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 84, - 114, 105, 91, 113, 93, 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 78, 101, 120, 116, 91, 101, 93, - 32, 61, 32, 101, 59, 32, 47, 47, 32, 109, 97, 114, 107, 32, 97, 115, 32, 114, 101, 109, 111, 118, 101, - 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 104, 117, 108, 108, 83, 105, 122, 101, 45, 45, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 113, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 117, 112, 100, 97, 116, 101, 32, 116, 104, - 101, 32, 104, 117, 108, 108, 32, 105, 110, 100, 105, 99, 101, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 104, 117, 108, 108, 83, 116, 97, 114, 116, - 32, 61, 32, 104, 117, 108, 108, 80, 114, 101, 118, 91, 105, 93, 32, 61, 32, 101, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 78, 101, 120, 116, 91, 101, - 93, 32, 61, 32, 104, 117, 108, 108, 80, 114, 101, 118, 91, 110, 93, 32, 61, 32, 105, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 78, 101, 120, 116, 91, - 105, 93, 32, 61, 32, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 115, 97, 118, 101, 32, 116, 104, 101, 32, 116, 119, 111, 32, 110, 101, 119, 32, 101, - 100, 103, 101, 115, 32, 105, 110, 32, 116, 104, 101, 32, 104, 97, 115, 104, 32, 116, 97, 98, 108, 101, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 72, 97, 115, - 104, 91, 116, 104, 105, 115, 46, 95, 104, 97, 115, 104, 75, 101, 121, 40, 120, 44, 32, 121, 41, 93, 32, - 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, - 108, 108, 72, 97, 115, 104, 91, 116, 104, 105, 115, 46, 95, 104, 97, 115, 104, 75, 101, 121, 40, 99, 111, - 111, 114, 100, 115, 91, 50, 32, 42, 32, 101, 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, - 32, 101, 32, 43, 32, 49, 93, 41, 93, 32, 61, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 104, 117, 108, 108, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, - 40, 104, 117, 108, 108, 83, 105, 122, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 44, 32, 101, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 104, 117, 108, 108, 83, 116, 97, 114, 116, 59, 32, 105, 32, 60, 32, 104, 117, 108, 108, - 83, 105, 122, 101, 59, 32, 105, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 104, 117, 108, 108, 91, 105, 93, 32, 61, 32, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 104, 117, - 108, 108, 78, 101, 120, 116, 91, 101, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 116, 114, 105, 109, 32, - 116, 121, 112, 101, 100, 32, 116, 114, 105, 97, 110, 103, 108, 101, 32, 109, 101, 115, 104, 32, 97, 114, 114, - 97, 121, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 114, - 105, 97, 110, 103, 108, 101, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 116, 114, 105, 97, 110, 103, 108, - 101, 115, 46, 115, 117, 98, 97, 114, 114, 97, 121, 40, 48, 44, 32, 116, 104, 105, 115, 46, 116, 114, 105, - 97, 110, 103, 108, 101, 115, 76, 101, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 104, 97, 108, 102, 101, 100, 103, 101, 115, 32, 61, 32, 116, 104, 105, 115, 46, - 95, 104, 97, 108, 102, 101, 100, 103, 101, 115, 46, 115, 117, 98, 97, 114, 114, 97, 121, 40, 48, 44, 32, - 116, 104, 105, 115, 46, 116, 114, 105, 97, 110, 103, 108, 101, 115, 76, 101, 110, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 104, 97, 115, 104, 75, 101, - 121, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 112, 115, 101, 117, 100, 111, - 65, 110, 103, 108, 101, 40, 120, 32, 45, 32, 116, 104, 105, 115, 46, 95, 99, 120, 44, 32, 121, 32, 45, - 32, 116, 104, 105, 115, 46, 95, 99, 121, 41, 32, 42, 32, 116, 104, 105, 115, 46, 95, 104, 97, 115, 104, - 83, 105, 122, 101, 41, 32, 37, 32, 116, 104, 105, 115, 46, 95, 104, 97, 115, 104, 83, 105, 122, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 108, 101, - 103, 97, 108, 105, 122, 101, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 123, 95, 116, 114, 105, 97, 110, 103, 108, 101, 115, 58, 32, 116, 114, 105, - 97, 110, 103, 108, 101, 115, 44, 32, 95, 104, 97, 108, 102, 101, 100, 103, 101, 115, 58, 32, 104, 97, 108, - 102, 101, 100, 103, 101, 115, 44, 32, 99, 111, 111, 114, 100, 115, 125, 32, 61, 32, 116, 104, 105, 115, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 32, 61, 32, 48, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 97, 114, 32, 61, 32, - 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 114, 101, 99, 117, - 114, 115, 105, 111, 110, 32, 101, 108, 105, 109, 105, 110, 97, 116, 101, 100, 32, 119, 105, 116, 104, 32, 97, - 32, 102, 105, 120, 101, 100, 45, 115, 105, 122, 101, 32, 115, 116, 97, 99, 107, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 116, 114, 117, 101, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 32, - 61, 32, 104, 97, 108, 102, 101, 100, 103, 101, 115, 91, 97, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 42, 32, 105, 102, 32, 116, 104, 101, 32, 112, 97, 105, - 114, 32, 111, 102, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 32, 100, 111, 101, 115, 110, 39, 116, 32, - 115, 97, 116, 105, 115, 102, 121, 32, 116, 104, 101, 32, 68, 101, 108, 97, 117, 110, 97, 121, 32, 99, 111, - 110, 100, 105, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 32, - 40, 112, 49, 32, 105, 115, 32, 105, 110, 115, 105, 100, 101, 32, 116, 104, 101, 32, 99, 105, 114, 99, 117, - 109, 99, 105, 114, 99, 108, 101, 32, 111, 102, 32, 91, 112, 48, 44, 32, 112, 108, 44, 32, 112, 114, 93, - 41, 44, 32, 102, 108, 105, 112, 32, 116, 104, 101, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 42, 32, 116, 104, 101, 110, 32, 100, 111, 32, 116, 104, 101, 32, 115, 97, 109, 101, 32, - 99, 104, 101, 99, 107, 47, 102, 108, 105, 112, 32, 114, 101, 99, 117, 114, 115, 105, 118, 101, 108, 121, 32, - 102, 111, 114, 32, 116, 104, 101, 32, 110, 101, 119, 32, 112, 97, 105, 114, 32, 111, 102, 32, 116, 114, 105, - 97, 110, 103, 108, 101, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 108, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 124, 124, 92, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 32, 32, 92, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 32, - 32, 32, 32, 32, 32, 32, 97, 108, 47, 32, 124, 124, 32, 92, 98, 108, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 108, 47, 32, 32, 32, 32, 92, 97, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 42, 32, 32, 32, 32, 32, 32, 32, 32, 47, 32, 32, 124, 124, 32, 32, 92, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 32, 32, 32, 32, 32, 32, 92, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 32, 32, 32, 32, 32, 32, 32, 47, 32, 32, - 97, 124, 124, 98, 32, 32, 92, 32, 32, 32, 32, 102, 108, 105, 112, 32, 32, 32, 32, 47, 95, 95, 95, - 97, 114, 95, 95, 95, 92, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 32, 32, - 32, 32, 32, 112, 48, 92, 32, 32, 32, 124, 124, 32, 32, 32, 47, 112, 49, 32, 32, 32, 61, 62, 32, - 32, 32, 112, 48, 92, 45, 45, 45, 98, 108, 45, 45, 45, 47, 112, 49, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 42, 32, 32, 32, 32, 32, 32, 32, 32, 92, 32, 32, 124, 124, 32, 32, - 47, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 92, 32, 32, 32, 32, 32, 32, 47, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 32, 32, 32, 32, 32, 32, 32, 97, - 114, 92, 32, 124, 124, 32, 47, 98, 114, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, - 92, 32, 32, 32, 32, 47, 98, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 92, 124, 124, 47, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 92, 32, 32, 47, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 42, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 42, 47, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 97, 48, 32, 61, 32, 97, 32, 45, 32, 97, 32, 37, 32, - 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 32, 61, - 32, 97, 48, 32, 43, 32, 40, 97, 32, 43, 32, 50, 41, 32, 37, 32, 51, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 32, 61, 61, 61, 32, - 45, 49, 41, 32, 123, 32, 47, 47, 32, 99, 111, 110, 118, 101, 120, 32, 104, 117, 108, 108, 32, 101, 100, - 103, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 105, 32, 61, 61, 61, 32, 48, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 69, 68, - 71, 69, 95, 83, 84, 65, 67, 75, 91, 45, 45, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 48, 32, 61, 32, 98, - 32, 45, 32, 98, 32, 37, 32, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 97, 108, 32, 61, 32, 97, 48, 32, 43, 32, 40, 97, 32, 43, - 32, 49, 41, 32, 37, 32, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 32, 98, 108, 32, 61, 32, 98, 48, 32, 43, 32, 40, 98, 32, 43, 32, - 50, 41, 32, 37, 32, 51, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 32, 112, 48, 32, 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, - 97, 114, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 112, 114, 32, 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 97, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, - 108, 32, 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 97, 108, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 49, 32, 61, 32, - 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 98, 108, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 108, 108, 101, 103, 97, 108, 32, - 61, 32, 105, 110, 67, 105, 114, 99, 108, 101, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 112, 48, 93, - 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 112, 48, 32, 43, 32, 49, 93, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, - 100, 115, 91, 50, 32, 42, 32, 112, 114, 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, - 112, 114, 32, 43, 32, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 112, 108, 93, 44, 32, 99, - 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 112, 108, 32, 43, 32, 49, 93, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, 100, 115, 91, - 50, 32, 42, 32, 112, 49, 93, 44, 32, 99, 111, 111, 114, 100, 115, 91, 50, 32, 42, 32, 112, 49, 32, - 43, 32, 49, 93, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 105, 108, 108, 101, 103, 97, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, - 97, 93, 32, 61, 32, 112, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 98, 93, 32, 61, 32, 112, 48, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 110, 115, 116, 32, 104, 98, 108, 32, 61, 32, 104, 97, 108, 102, 101, 100, 103, 101, 115, 91, 98, - 108, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 101, 100, 103, 101, 32, 115, 119, 97, 112, 112, 101, 100, 32, 111, 110, 32, 116, 104, - 101, 32, 111, 116, 104, 101, 114, 32, 115, 105, 100, 101, 32, 111, 102, 32, 116, 104, 101, 32, 104, 117, 108, - 108, 32, 40, 114, 97, 114, 101, 41, 59, 32, 102, 105, 120, 32, 116, 104, 101, 32, 104, 97, 108, 102, 101, - 100, 103, 101, 32, 114, 101, 102, 101, 114, 101, 110, 99, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 98, 108, 32, 61, 61, 61, 32, - 45, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 104, 117, - 108, 108, 83, 116, 97, 114, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 116, 104, 105, 115, 46, 95, 104, 117, 108, 108, 84, 114, 105, 91, 101, 93, 32, 61, 61, 61, 32, 98, - 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 104, 117, 108, - 108, 84, 114, 105, 91, 101, 93, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, - 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 116, - 104, 105, 115, 46, 95, 104, 117, 108, 108, 80, 114, 101, 118, 91, 101, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 119, 104, - 105, 108, 101, 32, 40, 101, 32, 33, 61, 61, 32, 116, 104, 105, 115, 46, 95, 104, 117, 108, 108, 83, 116, - 97, 114, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 107, 40, 97, 44, 32, 104, 98, 108, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 108, 105, 110, 107, 40, 98, 44, 32, 104, 97, 108, 102, 101, 100, 103, 101, 115, 91, 97, 114, 93, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 95, 108, 105, 110, 107, 40, 97, 114, 44, 32, 98, 108, 41, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, - 32, 98, 114, 32, 61, 32, 98, 48, 32, 43, 32, 40, 98, 32, 43, 32, 49, 41, 32, 37, 32, 51, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 100, 111, 110, 39, 116, 32, 119, 111, 114, 114, 121, 32, 97, 98, 111, 117, 116, 32, 104, 105, 116, - 116, 105, 110, 103, 32, 116, 104, 101, 32, 99, 97, 112, 58, 32, 105, 116, 32, 99, 97, 110, 32, 111, 110, - 108, 121, 32, 104, 97, 112, 112, 101, 110, 32, 111, 110, 32, 101, 120, 116, 114, 101, 109, 101, 108, 121, 32, - 100, 101, 103, 101, 110, 101, 114, 97, 116, 101, 32, 105, 110, 112, 117, 116, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 60, 32, 69, - 68, 71, 69, 95, 83, 84, 65, 67, 75, 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 68, - 71, 69, 95, 83, 84, 65, 67, 75, 91, 105, 43, 43, 93, 32, 61, 32, 98, 114, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, - 32, 61, 61, 61, 32, 48, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 69, 68, 71, 69, 95, 83, 84, - 65, 67, 75, 91, 45, 45, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 108, 105, 110, 107, 40, 97, - 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 104, 97, 108, 102, 101, 100, 103, 101, 115, 91, 97, 93, 32, 61, 32, 98, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 32, 33, 61, 61, 32, 45, 49, 41, 32, - 116, 104, 105, 115, 46, 95, 104, 97, 108, 102, 101, 100, 103, 101, 115, 91, 98, 93, 32, 61, 32, 97, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, - 97, 100, 100, 32, 97, 32, 110, 101, 119, 32, 116, 114, 105, 97, 110, 103, 108, 101, 32, 103, 105, 118, 101, - 110, 32, 118, 101, 114, 116, 101, 120, 32, 105, 110, 100, 105, 99, 101, 115, 32, 97, 110, 100, 32, 97, 100, - 106, 97, 99, 101, 110, 116, 32, 104, 97, 108, 102, 45, 101, 100, 103, 101, 32, 105, 100, 115, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 95, 97, 100, 100, 84, 114, 105, 97, 110, 103, 108, 101, 40, 105, 48, 44, 32, - 105, 49, 44, 32, 105, 50, 44, 32, 97, 44, 32, 98, 44, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 32, 61, 32, 116, 104, 105, 115, 46, - 116, 114, 105, 97, 110, 103, 108, 101, 115, 76, 101, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 116, 93, 32, - 61, 32, 105, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 116, 32, 43, 32, 49, 93, 32, 61, 32, 105, 49, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 116, 114, 105, 97, - 110, 103, 108, 101, 115, 91, 116, 32, 43, 32, 50, 93, 32, 61, 32, 105, 50, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 107, 40, 116, 44, 32, - 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, - 105, 110, 107, 40, 116, 32, 43, 32, 49, 44, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 107, 40, 116, 32, 43, 32, 50, 44, 32, 99, - 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 114, - 105, 97, 110, 103, 108, 101, 115, 76, 101, 110, 32, 43, 61, 32, 51, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 109, 111, 110, 111, 116, 111, 110, 105, 99, - 97, 108, 108, 121, 32, 105, 110, 99, 114, 101, 97, 115, 101, 115, 32, 119, 105, 116, 104, 32, 114, 101, 97, - 108, 32, 97, 110, 103, 108, 101, 44, 32, 98, 117, 116, 32, 100, 111, 101, 115, 110, 39, 116, 32, 110, 101, - 101, 100, 32, 101, 120, 112, 101, 110, 115, 105, 118, 101, 32, 116, 114, 105, 103, 111, 110, 111, 109, 101, 116, - 114, 121, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 115, 101, 117, 100, 111, 65, - 110, 103, 108, 101, 40, 100, 120, 44, 32, 100, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 110, 115, 116, 32, 112, 32, 61, 32, 100, 120, 32, 47, 32, 40, 77, 97, 116, 104, 46, 97, 98, - 115, 40, 100, 120, 41, 32, 43, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 100, 121, 41, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 100, 121, 32, 62, 32, 48, 32, - 63, 32, 51, 32, 45, 32, 112, 32, 58, 32, 49, 32, 43, 32, 112, 41, 32, 47, 32, 52, 59, 32, 47, - 47, 32, 91, 48, 46, 46, 49, 93, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 100, 105, 115, 116, 40, 97, 120, 44, 32, 97, 121, 44, 32, 98, 120, 44, 32, - 98, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 120, 32, - 61, 32, 97, 120, 32, 45, 32, 98, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, - 116, 32, 100, 121, 32, 61, 32, 97, 121, 32, 45, 32, 98, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, - 100, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 114, 101, 116, 117, 114, 110, 32, 50, 100, - 32, 111, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 32, 115, 105, 103, 110, 32, 105, 102, 32, 119, 101, - 39, 114, 101, 32, 99, 111, 110, 102, 105, 100, 101, 110, 116, 32, 105, 110, 32, 105, 116, 32, 116, 104, 114, - 111, 117, 103, 104, 32, 74, 46, 32, 83, 104, 101, 119, 99, 104, 117, 107, 39, 115, 32, 101, 114, 114, 111, - 114, 32, 98, 111, 117, 110, 100, 32, 99, 104, 101, 99, 107, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 111, 114, 105, 101, 110, 116, 73, 102, 83, 117, 114, 101, 40, 112, 120, 44, 32, 112, 121, - 44, 32, 114, 120, 44, 32, 114, 121, 44, 32, 113, 120, 44, 32, 113, 121, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 32, 61, 32, 40, 114, 121, 32, 45, 32, 112, 121, - 41, 32, 42, 32, 40, 113, 120, 32, 45, 32, 112, 120, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 110, 115, 116, 32, 114, 32, 61, 32, 40, 114, 120, 32, 45, 32, 112, 120, 41, 32, 42, 32, 40, - 113, 121, 32, 45, 32, 112, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 108, 32, 45, 32, 114, 41, 32, 62, 61, 32, 51, 46, - 51, 51, 48, 54, 54, 57, 48, 55, 51, 56, 55, 53, 52, 55, 49, 54, 101, 45, 49, 54, 32, 42, 32, - 77, 97, 116, 104, 46, 97, 98, 115, 40, 108, 32, 43, 32, 114, 41, 32, 63, 32, 108, 32, 45, 32, 114, - 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 97, 32, 109, 111, 114, 101, 32, - 114, 111, 98, 117, 115, 116, 32, 111, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 32, 116, 101, 115, 116, - 32, 116, 104, 97, 116, 39, 115, 32, 115, 116, 97, 98, 108, 101, 32, 105, 110, 32, 97, 32, 103, 105, 118, - 101, 110, 32, 116, 114, 105, 97, 110, 103, 108, 101, 32, 40, 116, 111, 32, 102, 105, 120, 32, 114, 111, 98, - 117, 115, 116, 110, 101, 115, 115, 32, 105, 115, 115, 117, 101, 115, 41, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 111, 114, 105, 101, 110, 116, 40, 114, 120, 44, 32, 114, 121, 44, 32, 113, 120, - 44, 32, 113, 121, 44, 32, 112, 120, 44, 32, 112, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 115, 105, 103, 110, 32, 61, 32, 111, 114, 105, 101, 110, 116, 73, 102, 83, - 117, 114, 101, 40, 112, 120, 44, 32, 112, 121, 44, 32, 114, 120, 44, 32, 114, 121, 44, 32, 113, 120, 44, - 32, 113, 121, 41, 32, 124, 124, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 114, 105, - 101, 110, 116, 73, 102, 83, 117, 114, 101, 40, 114, 120, 44, 32, 114, 121, 44, 32, 113, 120, 44, 32, 113, - 121, 44, 32, 112, 120, 44, 32, 112, 121, 41, 32, 124, 124, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 111, 114, 105, 101, 110, 116, 73, 102, 83, 117, 114, 101, 40, 113, 120, 44, 32, 113, 121, 44, - 32, 112, 120, 44, 32, 112, 121, 44, 32, 114, 120, 44, 32, 114, 121, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 105, 103, 110, 32, 60, 32, 48, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 67, 105, 114, 99, - 108, 101, 40, 97, 120, 44, 32, 97, 121, 44, 32, 98, 120, 44, 32, 98, 121, 44, 32, 99, 120, 44, 32, - 99, 121, 44, 32, 112, 120, 44, 32, 112, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 115, 116, 32, 100, 120, 32, 61, 32, 97, 120, 32, 45, 32, 112, 120, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 121, 32, 61, 32, 97, 121, 32, 45, 32, 112, 121, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 120, 32, 61, 32, 98, 120, 32, - 45, 32, 112, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 121, 32, - 61, 32, 98, 121, 32, 45, 32, 112, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, - 116, 32, 102, 120, 32, 61, 32, 99, 120, 32, 45, 32, 112, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 102, 121, 32, 61, 32, 99, 121, 32, 45, 32, 112, 121, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 97, 112, 32, 61, 32, 100, 120, 32, 42, 32, - 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 115, 116, 32, 98, 112, 32, 61, 32, 101, 120, 32, 42, 32, 101, 120, 32, 43, 32, 101, 121, 32, - 42, 32, 101, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 112, 32, - 61, 32, 102, 120, 32, 42, 32, 102, 120, 32, 43, 32, 102, 121, 32, 42, 32, 102, 121, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 120, 32, 42, 32, 40, 101, 121, 32, - 42, 32, 99, 112, 32, 45, 32, 98, 112, 32, 42, 32, 102, 121, 41, 32, 45, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 42, 32, 40, 101, 120, 32, 42, 32, 99, 112, 32, 45, 32, - 98, 112, 32, 42, 32, 102, 120, 41, 32, 43, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 112, 32, 42, 32, 40, 101, 120, 32, 42, 32, 102, 121, 32, 45, 32, 101, 121, 32, 42, 32, 102, 120, - 41, 32, 60, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 99, 105, 114, 99, 117, 109, 114, 97, 100, 105, 117, 115, 40, 97, 120, 44, 32, 97, 121, - 44, 32, 98, 120, 44, 32, 98, 121, 44, 32, 99, 120, 44, 32, 99, 121, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 120, 32, 61, 32, 98, 120, 32, 45, 32, 97, 120, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 121, 32, 61, 32, 98, 121, - 32, 45, 32, 97, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 120, - 32, 61, 32, 99, 120, 32, 45, 32, 97, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 101, 121, 32, 61, 32, 99, 121, 32, 45, 32, 97, 121, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 108, 32, 61, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, - 32, 100, 121, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, - 32, 99, 108, 32, 61, 32, 101, 120, 32, 42, 32, 101, 120, 32, 43, 32, 101, 121, 32, 42, 32, 101, 121, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 32, 61, 32, 48, 46, 53, - 32, 47, 32, 40, 100, 120, 32, 42, 32, 101, 121, 32, 45, 32, 100, 121, 32, 42, 32, 101, 120, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 40, 101, 121, - 32, 42, 32, 98, 108, 32, 45, 32, 100, 121, 32, 42, 32, 99, 108, 41, 32, 42, 32, 100, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 40, 100, 120, 32, 42, 32, - 99, 108, 32, 45, 32, 101, 120, 32, 42, 32, 98, 108, 41, 32, 42, 32, 100, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 42, 32, 120, 32, 43, 32, 121, 32, 42, - 32, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 99, 105, 114, 99, 117, 109, 99, 101, 110, 116, 101, 114, 40, 97, 120, 44, 32, 97, 121, 44, 32, 98, - 120, 44, 32, 98, 121, 44, 32, 99, 120, 44, 32, 99, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 32, 100, 120, 32, 61, 32, 98, 120, 32, 45, 32, 97, 120, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 121, 32, 61, 32, 98, 121, 32, 45, 32, - 97, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 120, 32, 61, 32, - 99, 120, 32, 45, 32, 97, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 101, 121, 32, 61, 32, 99, 121, 32, 45, 32, 97, 121, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 110, 115, 116, 32, 98, 108, 32, 61, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, 100, 121, - 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 108, - 32, 61, 32, 101, 120, 32, 42, 32, 101, 120, 32, 43, 32, 101, 121, 32, 42, 32, 101, 121, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 32, 61, 32, 48, 46, 53, 32, 47, 32, - 40, 100, 120, 32, 42, 32, 101, 121, 32, 45, 32, 100, 121, 32, 42, 32, 101, 120, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 97, 120, 32, 43, 32, 40, - 101, 121, 32, 42, 32, 98, 108, 32, 45, 32, 100, 121, 32, 42, 32, 99, 108, 41, 32, 42, 32, 100, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 97, 121, 32, 43, - 32, 40, 100, 120, 32, 42, 32, 99, 108, 32, 45, 32, 101, 120, 32, 42, 32, 98, 108, 41, 32, 42, 32, - 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 120, 44, 32, - 121, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 113, 117, 105, 99, 107, 115, 111, 114, 116, 40, 105, 100, 115, 44, 32, 100, 105, 115, 116, 115, 44, 32, - 108, 101, 102, 116, 44, 32, 114, 105, 103, 104, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 114, 105, 103, 104, 116, 32, 45, 32, 108, 101, 102, 116, 32, 60, 61, 32, 50, 48, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, - 32, 105, 32, 61, 32, 108, 101, 102, 116, 32, 43, 32, 49, 59, 32, 105, 32, 60, 61, 32, 114, 105, 103, - 104, 116, 59, 32, 105, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 101, 109, 112, 32, 61, 32, 105, 100, 115, 91, 105, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, - 32, 116, 101, 109, 112, 68, 105, 115, 116, 32, 61, 32, 100, 105, 115, 116, 115, 91, 116, 101, 109, 112, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 106, - 32, 61, 32, 105, 32, 45, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 106, 32, 62, 61, 32, 108, 101, 102, 116, 32, 38, 38, 32, - 100, 105, 115, 116, 115, 91, 105, 100, 115, 91, 106, 93, 93, 32, 62, 32, 116, 101, 109, 112, 68, 105, 115, - 116, 41, 32, 105, 100, 115, 91, 106, 32, 43, 32, 49, 93, 32, 61, 32, 105, 100, 115, 91, 106, 45, 45, - 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 115, 91, - 106, 32, 43, 32, 49, 93, 32, 61, 32, 116, 101, 109, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 101, 100, 105, 97, - 110, 32, 61, 32, 40, 108, 101, 102, 116, 32, 43, 32, 114, 105, 103, 104, 116, 41, 32, 62, 62, 32, 49, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 32, 61, 32, 108, - 101, 102, 116, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, - 116, 32, 106, 32, 61, 32, 114, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 119, 97, 112, 40, 105, 100, 115, 44, 32, 109, 101, 100, 105, 97, 110, 44, 32, 105, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 105, 115, 116, 115, 91, - 105, 100, 115, 91, 108, 101, 102, 116, 93, 93, 32, 62, 32, 100, 105, 115, 116, 115, 91, 105, 100, 115, 91, - 114, 105, 103, 104, 116, 93, 93, 41, 32, 115, 119, 97, 112, 40, 105, 100, 115, 44, 32, 108, 101, 102, 116, - 44, 32, 114, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 100, 105, 115, 116, 115, 91, 105, 100, 115, 91, 105, 93, 93, 32, 62, 32, 100, 105, 115, 116, - 115, 91, 105, 100, 115, 91, 114, 105, 103, 104, 116, 93, 93, 41, 32, 115, 119, 97, 112, 40, 105, 100, 115, - 44, 32, 105, 44, 32, 114, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 100, 105, 115, 116, 115, 91, 105, 100, 115, 91, 108, 101, 102, 116, 93, 93, 32, - 62, 32, 100, 105, 115, 116, 115, 91, 105, 100, 115, 91, 105, 93, 93, 41, 32, 115, 119, 97, 112, 40, 105, - 100, 115, 44, 32, 108, 101, 102, 116, 44, 32, 105, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 101, 109, 112, 32, 61, 32, 105, 100, 115, 91, 105, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 101, 109, - 112, 68, 105, 115, 116, 32, 61, 32, 100, 105, 115, 116, 115, 91, 116, 101, 109, 112, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 116, 114, 117, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 105, 43, - 43, 59, 32, 119, 104, 105, 108, 101, 32, 40, 100, 105, 115, 116, 115, 91, 105, 100, 115, 91, 105, 93, 93, - 32, 60, 32, 116, 101, 109, 112, 68, 105, 115, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 106, 45, 45, 59, 32, 119, 104, 105, 108, 101, 32, 40, 100, - 105, 115, 116, 115, 91, 105, 100, 115, 91, 106, 93, 93, 32, 62, 32, 116, 101, 109, 112, 68, 105, 115, 116, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 106, 32, 60, 32, 105, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 119, 97, 112, 40, 105, 100, 115, 44, 32, 105, 44, 32, 106, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 100, 115, 91, 108, 101, 102, 116, 32, 43, 32, 49, 93, 32, 61, 32, 105, 100, 115, - 91, 106, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 115, 91, 106, 93, - 32, 61, 32, 116, 101, 109, 112, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 114, 105, 103, 104, 116, 32, 45, 32, 105, 32, 43, 32, 49, 32, 62, 61, 32, 106, 32, 45, - 32, 108, 101, 102, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 113, 117, 105, 99, 107, 115, 111, 114, 116, 40, 105, 100, 115, 44, 32, 100, 105, 115, 116, 115, 44, - 32, 105, 44, 32, 114, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 113, 117, 105, 99, 107, 115, 111, 114, 116, 40, 105, 100, 115, 44, 32, 100, 105, 115, - 116, 115, 44, 32, 108, 101, 102, 116, 44, 32, 106, 32, 45, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 117, 105, 99, 107, 115, 111, 114, 116, 40, 105, 100, 115, 44, - 32, 100, 105, 115, 116, 115, 44, 32, 108, 101, 102, 116, 44, 32, 106, 32, 45, 32, 49, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 117, 105, 99, 107, 115, 111, 114, - 116, 40, 105, 100, 115, 44, 32, 100, 105, 115, 116, 115, 44, 32, 105, 44, 32, 114, 105, 103, 104, 116, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 115, 119, 97, 112, 40, 97, 114, 114, 44, 32, 105, 44, 32, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 109, 112, 32, 61, 32, 97, 114, 114, 91, 105, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 114, 91, 105, 93, 32, 61, 32, 97, 114, 114, 91, 106, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 114, 91, 106, 93, 32, 61, 32, 116, 109, 112, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, - 102, 97, 117, 108, 116, 71, 101, 116, 88, 40, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 112, 91, 48, 93, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 71, 101, 116, 89, 40, 112, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 91, 49, 93, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 112, 115, 105, 108, - 111, 110, 36, 50, 32, 61, 32, 49, 101, 45, 54, 59, 10, 10, 32, 32, 32, 32, 99, 108, 97, 115, 115, - 32, 80, 97, 116, 104, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, - 99, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 47, 47, 32, - 115, 116, 97, 114, 116, 32, 111, 102, 32, 99, 117, 114, 114, 101, 110, 116, 32, 115, 117, 98, 112, 97, 116, - 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 110, 117, 108, 108, 59, 32, - 47, 47, 32, 101, 110, 100, 32, 111, 102, 32, 99, 117, 114, 114, 101, 110, 116, 32, 115, 117, 98, 112, 97, - 116, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 61, - 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 109, 111, 118, 101, 84, 111, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 43, 61, 32, 96, 77, 36, 123, 116, 104, 105, 115, 46, - 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 43, 120, 125, 44, 36, 123, - 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 43, - 121, 125, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 120, 49, 32, 33, 61, 61, 32, 110, 117, 108, - 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 48, 44, 32, 116, 104, 105, 115, - 46, 95, 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 48, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 43, 61, 32, 34, 90, 34, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 84, 111, 40, 120, 44, 32, 121, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, 43, - 61, 32, 96, 76, 36, 123, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 43, 120, 125, 44, 36, 123, - 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 43, 121, 125, 96, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 99, 40, 120, 44, 32, 121, 44, 32, 114, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 43, 120, 44, - 32, 121, 32, 61, 32, 43, 121, 44, 32, 114, 32, 61, 32, 43, 114, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 48, 32, 61, 32, 120, 32, 43, 32, 114, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 48, 32, 61, - 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 60, - 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 110, 101, - 103, 97, 116, 105, 118, 101, 32, 114, 97, 100, 105, 117, 115, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 61, 61, 32, - 110, 117, 108, 108, 41, 32, 116, 104, 105, 115, 46, 95, 32, 43, 61, 32, 96, 77, 36, 123, 120, 48, 125, - 44, 36, 123, 121, 48, 125, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, - 115, 101, 32, 105, 102, 32, 40, 77, 97, 116, 104, 46, 97, 98, 115, 40, 116, 104, 105, 115, 46, 95, 120, - 49, 32, 45, 32, 120, 48, 41, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 36, 50, 32, 124, 124, 32, - 77, 97, 116, 104, 46, 97, 98, 115, 40, 116, 104, 105, 115, 46, 95, 121, 49, 32, 45, 32, 121, 48, 41, - 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 36, 50, 41, 32, 116, 104, 105, 115, 46, 95, 32, 43, 61, - 32, 34, 76, 34, 32, 43, 32, 120, 48, 32, 43, 32, 34, 44, 34, 32, 43, 32, 121, 48, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 114, 41, 32, 114, 101, 116, 117, - 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, - 43, 61, 32, 96, 65, 36, 123, 114, 125, 44, 36, 123, 114, 125, 44, 48, 44, 49, 44, 49, 44, 36, 123, - 120, 32, 45, 32, 114, 125, 44, 36, 123, 121, 125, 65, 36, 123, 114, 125, 44, 36, 123, 114, 125, 44, 48, - 44, 49, 44, 49, 44, 36, 123, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 120, 48, 125, 44, 36, - 123, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 121, 48, 125, 96, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 99, 116, 40, 120, 44, 32, 121, 44, - 32, 119, 44, 32, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 32, 43, 61, 32, 96, 77, 36, 123, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 43, 120, 125, 44, 36, 123, 116, 104, 105, 115, 46, 95, - 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 43, 121, 125, 104, 36, 123, 43, - 119, 125, 118, 36, 123, 43, 104, 125, 104, 36, 123, 45, 119, 125, 90, 96, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, - 46, 95, 32, 124, 124, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 99, 108, 97, 115, 115, 32, 80, 111, 108, 121, 103, 111, 110, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 32, - 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 109, 111, 118, 101, 84, 111, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 46, 112, 117, 115, 104, 40, 91, 120, 44, 32, 121, 93, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, - 111, 115, 101, 80, 97, 116, 104, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 46, 112, 117, 115, 104, 40, 116, 104, 105, 115, 46, 95, 91, 48, 93, 46, - 115, 108, 105, 99, 101, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 110, 101, 84, 111, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 46, 112, 117, 115, 104, 40, 91, 120, - 44, 32, 121, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 108, 117, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 46, 108, 101, 110, 103, 116, 104, 32, 63, - 32, 116, 104, 105, 115, 46, 95, 32, 58, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 99, 108, 97, 115, 115, 32, 86, 111, 114, - 111, 110, 111, 105, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, - 116, 111, 114, 40, 100, 101, 108, 97, 117, 110, 97, 121, 44, 32, 91, 120, 109, 105, 110, 44, 32, 121, 109, - 105, 110, 44, 32, 120, 109, 97, 120, 44, 32, 121, 109, 97, 120, 93, 32, 61, 32, 91, 48, 44, 32, 48, - 44, 32, 57, 54, 48, 44, 32, 53, 48, 48, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 40, 120, 109, 97, 120, 32, 61, 32, 43, 120, 109, 97, 120, - 41, 32, 62, 61, 32, 40, 120, 109, 105, 110, 32, 61, 32, 43, 120, 109, 105, 110, 41, 41, 32, 124, 124, - 32, 33, 40, 40, 121, 109, 97, 120, 32, 61, 32, 43, 121, 109, 97, 120, 41, 32, 62, 61, 32, 40, 121, - 109, 105, 110, 32, 61, 32, 43, 121, 109, 105, 110, 41, 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, - 119, 32, 69, 114, 114, 111, 114, 40, 34, 105, 110, 118, 97, 108, 105, 100, 32, 98, 111, 117, 110, 100, 115, - 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 100, 101, - 108, 97, 117, 110, 97, 121, 32, 61, 32, 100, 101, 108, 97, 117, 110, 97, 121, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 105, 114, 99, 117, 109, 99, 101, 110, - 116, 101, 114, 115, 32, 61, 32, 110, 101, 119, 32, 70, 108, 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, - 40, 100, 101, 108, 97, 117, 110, 97, 121, 46, 112, 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 42, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 118, 101, 99, 116, 111, 114, 115, 32, 61, 32, 110, 101, 119, 32, 70, 108, 111, 97, 116, 54, 52, 65, - 114, 114, 97, 121, 40, 100, 101, 108, 97, 117, 110, 97, 121, 46, 112, 111, 105, 110, 116, 115, 46, 108, 101, - 110, 103, 116, 104, 32, 42, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 120, 109, 97, 120, 32, 61, 32, 120, 109, 97, 120, 44, 32, 116, 104, 105, 115, 46, - 120, 109, 105, 110, 32, 61, 32, 120, 109, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 121, 109, 97, 120, 32, 61, 32, 121, 109, 97, 120, 44, 32, 116, 104, 105, - 115, 46, 121, 109, 105, 110, 32, 61, 32, 121, 109, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 110, 105, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 112, 100, 97, 116, 101, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 100, 101, 108, 97, 117, - 110, 97, 121, 46, 117, 112, 100, 97, 116, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 110, 105, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 105, 110, 105, 116, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 100, 101, 108, - 97, 117, 110, 97, 121, 58, 32, 123, 112, 111, 105, 110, 116, 115, 44, 32, 104, 117, 108, 108, 44, 32, 116, - 114, 105, 97, 110, 103, 108, 101, 115, 125, 44, 32, 118, 101, 99, 116, 111, 114, 115, 125, 32, 61, 32, 116, - 104, 105, 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, - 109, 112, 117, 116, 101, 32, 99, 105, 114, 99, 117, 109, 99, 101, 110, 116, 101, 114, 115, 46, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 105, 114, 99, 117, 109, 99, - 101, 110, 116, 101, 114, 115, 32, 61, 32, 116, 104, 105, 115, 46, 99, 105, 114, 99, 117, 109, 99, 101, 110, - 116, 101, 114, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 105, 114, 99, 117, 109, 99, 101, 110, 116, - 101, 114, 115, 46, 115, 117, 98, 97, 114, 114, 97, 121, 40, 48, 44, 32, 116, 114, 105, 97, 110, 103, 108, - 101, 115, 46, 108, 101, 110, 103, 116, 104, 32, 47, 32, 51, 32, 42, 32, 50, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, - 44, 32, 106, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 46, - 108, 101, 110, 103, 116, 104, 44, 32, 120, 44, 32, 121, 59, 32, 105, 32, 60, 32, 110, 59, 32, 105, 32, - 43, 61, 32, 51, 44, 32, 106, 32, 43, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 49, 32, 61, 32, 116, 114, 105, - 97, 110, 103, 108, 101, 115, 91, 105, 93, 32, 42, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 50, 32, 61, 32, 116, 114, 105, 97, - 110, 103, 108, 101, 115, 91, 105, 32, 43, 32, 49, 93, 32, 42, 32, 50, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 51, 32, 61, 32, 116, - 114, 105, 97, 110, 103, 108, 101, 115, 91, 105, 32, 43, 32, 50, 93, 32, 42, 32, 50, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 49, 32, - 61, 32, 112, 111, 105, 110, 116, 115, 91, 116, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 49, 32, 61, 32, 112, 111, 105, 110, 116, - 115, 91, 116, 49, 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 50, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 116, - 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 121, 50, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 116, 50, 32, 43, 32, 49, 93, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 120, 51, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 116, 51, 93, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 51, 32, 61, 32, 112, 111, - 105, 110, 116, 115, 91, 116, 51, 32, 43, 32, 49, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 120, 32, 61, 32, 120, 50, 32, 45, - 32, 120, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 100, 121, 32, 61, 32, 121, 50, 32, 45, 32, 121, 49, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 120, 32, 61, 32, 120, - 51, 32, 45, 32, 120, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 101, 121, 32, 61, 32, 121, 51, 32, 45, 32, 121, 49, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 108, 32, - 61, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 108, 32, - 61, 32, 101, 120, 32, 42, 32, 101, 120, 32, 43, 32, 101, 121, 32, 42, 32, 101, 121, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 97, 98, 32, - 61, 32, 40, 100, 120, 32, 42, 32, 101, 121, 32, 45, 32, 100, 121, 32, 42, 32, 101, 120, 41, 32, 42, - 32, 50, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 33, 97, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 100, 101, 103, 101, 110, 101, 114, 97, 116, 101, 32, 99, 97, 115, - 101, 32, 40, 99, 111, 108, 108, 105, 110, 101, 97, 114, 32, 100, 105, 97, 103, 114, 97, 109, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, - 40, 120, 49, 32, 43, 32, 120, 51, 41, 32, 47, 32, 50, 32, 45, 32, 49, 101, 56, 32, 42, 32, 101, - 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 121, 32, 61, 32, 40, 121, 49, 32, 43, 32, 121, 51, 41, 32, 47, 32, 50, 32, 43, 32, 49, 101, 56, - 32, 42, 32, 101, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, - 105, 102, 32, 40, 77, 97, 116, 104, 46, 97, 98, 115, 40, 97, 98, 41, 32, 60, 32, 49, 101, 45, 56, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 97, 108, 109, 111, 115, 116, 32, 101, 113, 117, 97, 108, 32, 112, 111, 105, 110, 116, 115, - 32, 40, 100, 101, 103, 101, 110, 101, 114, 97, 116, 101, 32, 116, 114, 105, 97, 110, 103, 108, 101, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, - 32, 40, 120, 49, 32, 43, 32, 120, 51, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 40, 121, 49, 32, 43, 32, - 121, 51, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 32, 61, 32, 49, 32, 47, 32, 97, - 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 32, 61, 32, 120, 49, 32, 43, 32, 40, 101, 121, 32, 42, 32, 98, 108, 32, 45, 32, 100, 121, 32, - 42, 32, 99, 108, 41, 32, 42, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 121, 49, 32, 43, 32, 40, 100, 120, 32, 42, 32, - 99, 108, 32, 45, 32, 101, 120, 32, 42, 32, 98, 108, 41, 32, 42, 32, 100, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 105, 114, 99, 117, 109, 99, 101, 110, 116, 101, 114, 115, 91, 106, 93, - 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 105, 114, 99, 117, 109, 99, 101, 110, 116, 101, 114, 115, 91, 106, 32, 43, 32, 49, 93, 32, 61, 32, 121, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, 101, 120, 116, 101, 114, 105, - 111, 114, 32, 99, 101, 108, 108, 32, 114, 97, 121, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 101, 116, 32, 104, 32, 61, 32, 104, 117, 108, 108, 91, 104, 117, 108, 108, 46, 108, 101, - 110, 103, 116, 104, 32, 45, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 101, 116, 32, 112, 48, 44, 32, 112, 49, 32, 61, 32, 104, 32, 42, 32, 52, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 120, 48, 44, 32, 120, 49, 32, 61, 32, 112, - 111, 105, 110, 116, 115, 91, 50, 32, 42, 32, 104, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 101, 116, 32, 121, 48, 44, 32, 121, 49, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, - 50, 32, 42, 32, 104, 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 101, 99, 116, 111, 114, 115, 46, 102, 105, 108, 108, 40, 48, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, - 105, 32, 60, 32, 104, 117, 108, 108, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 105, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 32, 104, 117, - 108, 108, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 48, 32, 61, 32, 112, 49, 44, 32, 120, 48, 32, 61, 32, 120, 49, 44, 32, 121, 48, 32, 61, 32, - 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 49, 32, - 61, 32, 104, 32, 42, 32, 52, 44, 32, 120, 49, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 50, 32, - 42, 32, 104, 93, 44, 32, 121, 49, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 50, 32, 42, 32, 104, - 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 101, 99, 116, 111, 114, 115, 91, 112, 48, 32, 43, 32, 50, 93, 32, 61, 32, 118, 101, 99, 116, 111, - 114, 115, 91, 112, 49, 93, 32, 61, 32, 121, 48, 32, 45, 32, 121, 49, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 101, 99, 116, 111, 114, 115, 91, 112, 48, 32, 43, - 32, 51, 93, 32, 61, 32, 118, 101, 99, 116, 111, 114, 115, 91, 112, 49, 32, 43, 32, 49, 93, 32, 61, - 32, 120, 49, 32, 45, 32, 120, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 110, 100, - 101, 114, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 117, 102, 102, 101, 114, 32, 61, 32, 99, 111, 110, 116, 101, - 120, 116, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, - 110, 101, 119, 32, 80, 97, 116, 104, 32, 58, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 100, 101, 108, 97, 117, - 110, 97, 121, 58, 32, 123, 104, 97, 108, 102, 101, 100, 103, 101, 115, 44, 32, 105, 110, 101, 100, 103, 101, - 115, 44, 32, 104, 117, 108, 108, 125, 44, 32, 99, 105, 114, 99, 117, 109, 99, 101, 110, 116, 101, 114, 115, - 44, 32, 118, 101, 99, 116, 111, 114, 115, 125, 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 117, 108, 108, 46, 108, 101, 110, 103, 116, 104, - 32, 60, 61, 32, 49, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, - 44, 32, 110, 32, 61, 32, 104, 97, 108, 102, 101, 100, 103, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, - 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 106, 32, 61, 32, 104, 97, 108, 102, 101, - 100, 103, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 106, 32, 60, 32, 105, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, - 105, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 105, 32, 47, 32, 51, 41, 32, 42, - 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 116, 106, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 106, 32, 47, 32, - 51, 41, 32, 42, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 120, 105, 32, 61, 32, 99, 105, 114, 99, 117, 109, 99, 101, 110, 116, 101, - 114, 115, 91, 116, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 121, 105, 32, 61, 32, 99, 105, 114, 99, 117, 109, 99, 101, 110, 116, 101, - 114, 115, 91, 116, 105, 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 106, 32, 61, 32, 99, 105, 114, 99, 117, 109, 99, - 101, 110, 116, 101, 114, 115, 91, 116, 106, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 106, 32, 61, 32, 99, 105, 114, 99, 117, 109, 99, - 101, 110, 116, 101, 114, 115, 91, 116, 106, 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 83, 101, - 103, 109, 101, 110, 116, 40, 120, 105, 44, 32, 121, 105, 44, 32, 120, 106, 44, 32, 121, 106, 44, 32, 99, - 111, 110, 116, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 104, 48, 44, 32, 104, 49, 32, - 61, 32, 104, 117, 108, 108, 91, 104, 117, 108, 108, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, - 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 104, 117, 108, 108, 46, 108, 101, 110, 103, 116, 104, 59, - 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 104, 48, 32, 61, 32, 104, 49, 44, 32, 104, 49, 32, 61, 32, 104, 117, 108, 108, 91, 105, 93, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 116, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 105, 110, 101, 100, 103, 101, 115, 91, - 104, 49, 93, 32, 47, 32, 51, 41, 32, 42, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 99, 105, 114, 99, 117, 109, - 99, 101, 110, 116, 101, 114, 115, 91, 116, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 99, 105, 114, 99, 117, 109, 99, 101, - 110, 116, 101, 114, 115, 91, 116, 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 118, 32, 61, 32, 104, 48, 32, 42, 32, 52, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, - 32, 112, 32, 61, 32, 116, 104, 105, 115, 46, 95, 112, 114, 111, 106, 101, 99, 116, 40, 120, 44, 32, 121, - 44, 32, 118, 101, 99, 116, 111, 114, 115, 91, 118, 32, 43, 32, 50, 93, 44, 32, 118, 101, 99, 116, 111, - 114, 115, 91, 118, 32, 43, 32, 51, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 41, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, - 114, 83, 101, 103, 109, 101, 110, 116, 40, 120, 44, 32, 121, 44, 32, 112, 91, 48, 93, 44, 32, 112, 91, - 49, 93, 44, 32, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 98, 117, 102, 102, 101, 114, 32, 38, 38, 32, 98, 117, 102, 102, 101, 114, 46, 118, 97, 108, 117, 101, - 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 110, 100, 101, 114, 66, 111, 117, 110, 100, 115, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 117, 102, 102, 101, - 114, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 99, - 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 101, 119, 32, 80, 97, 116, 104, 32, 58, 32, 117, 110, 100, - 101, 102, 105, 110, 101, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 116, 101, 120, 116, 46, 114, 101, 99, 116, 40, 116, 104, 105, 115, 46, 120, 109, 105, 110, 44, 32, 116, 104, - 105, 115, 46, 121, 109, 105, 110, 44, 32, 116, 104, 105, 115, 46, 120, 109, 97, 120, 32, 45, 32, 116, 104, - 105, 115, 46, 120, 109, 105, 110, 44, 32, 116, 104, 105, 115, 46, 121, 109, 97, 120, 32, 45, 32, 116, 104, - 105, 115, 46, 121, 109, 105, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 98, 117, 102, 102, 101, 114, 32, 38, 38, 32, 98, 117, 102, 102, 101, 114, 46, - 118, 97, 108, 117, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 110, 100, 101, 114, 67, 101, 108, 108, 40, 105, 44, 32, 99, 111, 110, 116, 101, - 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, - 32, 98, 117, 102, 102, 101, 114, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 61, 32, 110, 117, - 108, 108, 32, 63, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 101, 119, 32, 80, 97, 116, 104, - 32, 58, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 111, 105, 110, 116, 115, 32, 61, 32, 116, 104, 105, 115, 46, - 95, 99, 108, 105, 112, 40, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 112, 111, 105, 110, 116, 115, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 33, - 112, 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, - 101, 84, 111, 40, 112, 111, 105, 110, 116, 115, 91, 48, 93, 44, 32, 112, 111, 105, 110, 116, 115, 91, 49, - 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 110, 32, 61, - 32, 112, 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 112, 111, 105, 110, 116, 115, 91, 48, 93, 32, 61, - 61, 61, 32, 112, 111, 105, 110, 116, 115, 91, 110, 45, 50, 93, 32, 38, 38, 32, 112, 111, 105, 110, 116, - 115, 91, 49, 93, 32, 61, 61, 61, 32, 112, 111, 105, 110, 116, 115, 91, 110, 45, 49, 93, 32, 38, 38, - 32, 110, 32, 62, 32, 49, 41, 32, 110, 32, 45, 61, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 50, 59, 32, 105, 32, - 60, 32, 110, 59, 32, 105, 32, 43, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 111, 105, 110, 116, 115, 91, 105, 93, 32, 33, - 61, 61, 32, 112, 111, 105, 110, 116, 115, 91, 105, 45, 50, 93, 32, 124, 124, 32, 112, 111, 105, 110, 116, - 115, 91, 105, 43, 49, 93, 32, 33, 61, 61, 32, 112, 111, 105, 110, 116, 115, 91, 105, 45, 49, 93, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 112, 111, 105, 110, 116, 115, 91, 105, 93, 44, - 32, 112, 111, 105, 110, 116, 115, 91, 105, 32, 43, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 117, 102, 102, 101, 114, 32, 38, 38, - 32, 98, 117, 102, 102, 101, 114, 46, 118, 97, 108, 117, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 42, 99, 101, 108, 108, 80, 111, 108, 121, 103, 111, - 110, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, - 116, 32, 123, 100, 101, 108, 97, 117, 110, 97, 121, 58, 32, 123, 112, 111, 105, 110, 116, 115, 125, 125, 32, - 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 112, 111, 105, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 47, 32, 50, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 99, 101, 108, 108, 32, 61, 32, 116, 104, 105, 115, 46, 99, 101, 108, 108, 80, 111, 108, 121, - 103, 111, 110, 40, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 99, 101, 108, 108, 41, 32, 99, 101, 108, 108, 46, 105, 110, 100, 101, 120, 32, 61, - 32, 105, 44, 32, 121, 105, 101, 108, 100, 32, 99, 101, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 101, 108, 108, 80, 111, 108, 121, 103, 111, 110, 40, 105, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 111, 108, 121, 103, 111, 110, 32, 61, - 32, 110, 101, 119, 32, 80, 111, 108, 121, 103, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 114, 101, 110, 100, 101, 114, 67, 101, 108, 108, 40, 105, 44, 32, 112, - 111, 108, 121, 103, 111, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 112, 111, 108, 121, 103, 111, 110, 46, 118, 97, 108, 117, 101, 40, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 114, 101, 110, 100, 101, - 114, 83, 101, 103, 109, 101, 110, 116, 40, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, - 44, 32, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 101, 116, 32, 83, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 99, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 101, 103, 105, 111, 110, 99, 111, - 100, 101, 40, 120, 48, 44, 32, 121, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 99, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 101, 103, 105, 111, - 110, 99, 111, 100, 101, 40, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 99, 48, 32, 61, 61, 61, 32, 48, 32, 38, 38, 32, 99, 49, 32, - 61, 61, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 48, 44, 32, 121, 48, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, - 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 83, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 99, 108, 105, 112, 83, 101, 103, 109, 101, 110, 116, 40, 120, 48, 44, 32, - 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 44, 32, 99, 48, 44, 32, 99, 49, 41, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, - 46, 109, 111, 118, 101, 84, 111, 40, 83, 91, 48, 93, 44, 32, 83, 91, 49, 93, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, - 105, 110, 101, 84, 111, 40, 83, 91, 50, 93, 44, 32, 83, 91, 51, 93, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 116, 97, 105, 110, 115, 40, 105, 44, 32, 120, 44, 32, 121, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 120, 32, 61, 32, - 43, 120, 44, 32, 120, 32, 33, 61, 61, 32, 120, 41, 32, 124, 124, 32, 40, 121, 32, 61, 32, 43, 121, - 44, 32, 121, 32, 33, 61, 61, 32, 121, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, - 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, - 104, 105, 115, 46, 100, 101, 108, 97, 117, 110, 97, 121, 46, 95, 115, 116, 101, 112, 40, 105, 44, 32, 120, - 44, 32, 121, 41, 32, 61, 61, 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 42, 110, 101, 105, 103, 104, 98, 111, 114, 115, 40, 105, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 105, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 99, 108, 105, 112, 40, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 99, 105, 41, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, - 106, 32, 111, 102, 32, 116, 104, 105, 115, 46, 100, 101, 108, 97, 117, 110, 97, 121, 46, 110, 101, 105, 103, - 104, 98, 111, 114, 115, 40, 105, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 106, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, - 108, 105, 112, 40, 106, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 102, 105, 110, 100, 32, 116, 104, 101, 32, 99, 111, 109, 109, 111, 110, 32, 101, 100, 103, - 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, - 106, 41, 32, 108, 111, 111, 112, 58, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 97, 105, 32, 61, 32, - 48, 44, 32, 108, 105, 32, 61, 32, 99, 105, 46, 108, 101, 110, 103, 116, 104, 59, 32, 97, 105, 32, 60, - 32, 108, 105, 59, 32, 97, 105, 32, 43, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 97, - 106, 32, 61, 32, 48, 44, 32, 108, 106, 32, 61, 32, 99, 106, 46, 108, 101, 110, 103, 116, 104, 59, 32, - 97, 106, 32, 60, 32, 108, 106, 59, 32, 97, 106, 32, 43, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 99, 105, 91, 97, 105, 93, 32, 61, 61, 32, 99, 106, 91, 97, 106, 93, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 38, 38, 32, 99, 105, 91, 97, 105, 32, 43, 32, 49, 93, 32, 61, 61, 32, 99, 106, 91, 97, 106, - 32, 43, 32, 49, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 99, 105, 91, 40, 97, 105, 32, 43, 32, - 50, 41, 32, 37, 32, 108, 105, 93, 32, 61, 61, 32, 99, 106, 91, 40, 97, 106, 32, 43, 32, 108, 106, - 32, 45, 32, 50, 41, 32, 37, 32, 108, 106, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 99, 105, 91, - 40, 97, 105, 32, 43, 32, 51, 41, 32, 37, 32, 108, 105, 93, 32, 61, 61, 32, 99, 106, 91, 40, 97, - 106, 32, 43, 32, 108, 106, 32, 45, 32, 49, 41, 32, 37, 32, 108, 106, 93, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 121, 105, 101, 108, 100, 32, 106, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, - 107, 32, 108, 111, 111, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 99, 101, 108, 108, 40, 105, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 99, 105, - 114, 99, 117, 109, 99, 101, 110, 116, 101, 114, 115, 44, 32, 100, 101, 108, 97, 117, 110, 97, 121, 58, 32, - 123, 105, 110, 101, 100, 103, 101, 115, 44, 32, 104, 97, 108, 102, 101, 100, 103, 101, 115, 44, 32, 116, 114, - 105, 97, 110, 103, 108, 101, 115, 125, 125, 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 48, 32, 61, 32, 105, 110, 101, 100, 103, - 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 101, 48, 32, 61, 61, 61, 32, 45, 49, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, - 32, 47, 47, 32, 99, 111, 105, 110, 99, 105, 100, 101, 110, 116, 32, 112, 111, 105, 110, 116, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 111, 105, 110, 116, 115, 32, - 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 101, - 32, 61, 32, 101, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 116, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 101, 32, 47, 32, 51, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 115, 46, - 112, 117, 115, 104, 40, 99, 105, 114, 99, 117, 109, 99, 101, 110, 116, 101, 114, 115, 91, 116, 32, 42, 32, - 50, 93, 44, 32, 99, 105, 114, 99, 117, 109, 99, 101, 110, 116, 101, 114, 115, 91, 116, 32, 42, 32, 50, - 32, 43, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 32, 61, 32, 101, 32, 37, 32, 51, 32, 61, 61, 61, 32, 50, 32, 63, 32, 101, 32, 45, 32, - 50, 32, 58, 32, 101, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 101, 93, 32, 33, 61, - 61, 32, 105, 41, 32, 98, 114, 101, 97, 107, 59, 32, 47, 47, 32, 98, 97, 100, 32, 116, 114, 105, 97, - 110, 103, 117, 108, 97, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 32, 61, 32, 104, 97, 108, 102, 101, 100, 103, 101, 115, 91, 101, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 119, 104, 105, 108, 101, 32, 40, 101, 32, 33, 61, - 61, 32, 101, 48, 32, 38, 38, 32, 101, 32, 33, 61, 61, 32, 45, 49, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 111, 105, 110, 116, 115, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 99, 108, 105, 112, - 40, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 100, 101, - 103, 101, 110, 101, 114, 97, 116, 101, 32, 99, 97, 115, 101, 32, 40, 49, 32, 118, 97, 108, 105, 100, 32, - 112, 111, 105, 110, 116, 58, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 101, 32, 98, 111, 120, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 61, 61, 61, 32, 48, - 32, 38, 38, 32, 116, 104, 105, 115, 46, 100, 101, 108, 97, 117, 110, 97, 121, 46, 104, 117, 108, 108, 46, - 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 116, 104, 105, 115, 46, 120, - 109, 97, 120, 44, 32, 116, 104, 105, 115, 46, 121, 109, 105, 110, 44, 32, 116, 104, 105, 115, 46, 120, 109, - 97, 120, 44, 32, 116, 104, 105, 115, 46, 121, 109, 97, 120, 44, 32, 116, 104, 105, 115, 46, 120, 109, 105, - 110, 44, 32, 116, 104, 105, 115, 46, 121, 109, 97, 120, 44, 32, 116, 104, 105, 115, 46, 120, 109, 105, 110, - 44, 32, 116, 104, 105, 115, 46, 121, 109, 105, 110, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 112, 111, 105, 110, 116, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 101, 108, 108, 40, 105, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 111, 105, 110, 116, 115, - 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 118, 101, 99, - 116, 111, 114, 115, 58, 32, 86, 125, 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 118, 32, 61, 32, 105, 32, 42, 32, 52, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 86, 91, 118, 93, - 32, 124, 124, 32, 86, 91, 118, 32, 43, 32, 49, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 63, 32, 116, 104, 105, 115, 46, 95, 99, 108, 105, 112, 73, 110, 102, 105, 110, - 105, 116, 101, 40, 105, 44, 32, 112, 111, 105, 110, 116, 115, 44, 32, 86, 91, 118, 93, 44, 32, 86, 91, - 118, 32, 43, 32, 49, 93, 44, 32, 86, 91, 118, 32, 43, 32, 50, 93, 44, 32, 86, 91, 118, 32, 43, - 32, 51, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, - 116, 104, 105, 115, 46, 95, 99, 108, 105, 112, 70, 105, 110, 105, 116, 101, 40, 105, 44, 32, 112, 111, 105, - 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 95, 99, 108, 105, 112, 70, 105, 110, 105, 116, 101, 40, 105, 44, 32, 112, 111, 105, 110, 116, 115, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 110, 32, - 61, 32, 112, 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 80, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, - 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 110, 32, 45, 32, 50, 93, 44, 32, 121, 49, 32, 61, 32, - 112, 111, 105, 110, 116, 115, 91, 110, 32, 45, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 101, 116, 32, 99, 48, 44, 32, 99, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 114, 101, 103, 105, 111, 110, 99, 111, 100, 101, 40, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 101, 48, 44, 32, 101, 49, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 106, 32, 61, 32, - 48, 59, 32, 106, 32, 60, 32, 110, 59, 32, 106, 32, 43, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 120, 49, 44, 32, 121, - 48, 32, 61, 32, 121, 49, 44, 32, 120, 49, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 106, 93, 44, - 32, 121, 49, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 106, 32, 43, 32, 49, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 48, 32, 61, 32, 99, 49, 44, 32, - 99, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 101, 103, 105, 111, 110, 99, 111, 100, 101, 40, 120, - 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 99, 48, 32, 61, 61, 61, 32, 48, 32, 38, 38, 32, 99, 49, 32, 61, 61, 61, - 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 48, 32, 61, 32, 101, 49, 44, 32, 101, 49, 32, 61, 32, 48, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 80, 41, - 32, 80, 46, 112, 117, 115, 104, 40, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 80, 32, 61, 32, - 91, 120, 49, 44, 32, 121, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 83, 44, 32, 115, 120, 48, 44, 32, 115, 121, - 48, 44, 32, 115, 120, 49, 44, 32, 115, 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 48, 32, 61, 61, 61, 32, 48, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 40, 83, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 108, 105, 112, - 83, 101, 103, 109, 101, 110, 116, 40, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 44, - 32, 99, 48, 44, 32, 99, 49, 41, 41, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 99, 111, 110, - 116, 105, 110, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 91, 115, 120, 48, 44, 32, 115, 121, 48, 44, 32, 115, 120, 49, 44, - 32, 115, 121, 49, 93, 32, 61, 32, 83, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, - 83, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 108, 105, 112, 83, 101, 103, 109, 101, 110, 116, 40, 120, - 49, 44, 32, 121, 49, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 99, 49, 44, 32, 99, 48, 41, 41, - 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, - 115, 120, 49, 44, 32, 115, 121, 49, 44, 32, 115, 120, 48, 44, 32, 115, 121, 48, 93, 32, 61, 32, 83, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 48, 32, 61, 32, 101, 49, 44, 32, 101, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 101, 100, 103, 101, 99, 111, 100, 101, 40, 115, 120, 48, 44, 32, 115, 121, 48, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 101, 48, 32, 38, 38, 32, 101, 49, 41, 32, 116, 104, 105, 115, 46, 95, 101, 100, 103, 101, 40, - 105, 44, 32, 101, 48, 44, 32, 101, 49, 44, 32, 80, 44, 32, 80, 46, 108, 101, 110, 103, 116, 104, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 80, 41, 32, 80, 46, 112, 117, 115, 104, 40, 115, 120, 48, 44, 32, 115, - 121, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 80, 32, 61, 32, 91, 115, 120, 48, 44, 32, 115, 121, - 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 101, 48, 32, 61, 32, 101, 49, 44, 32, 101, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 101, 100, 103, - 101, 99, 111, 100, 101, 40, 115, 120, 49, 44, 32, 115, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 48, 32, 38, 38, - 32, 101, 49, 41, 32, 116, 104, 105, 115, 46, 95, 101, 100, 103, 101, 40, 105, 44, 32, 101, 48, 44, 32, - 101, 49, 44, 32, 80, 44, 32, 80, 46, 108, 101, 110, 103, 116, 104, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 80, 41, 32, 80, - 46, 112, 117, 115, 104, 40, 115, 120, 49, 44, 32, 115, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 80, 32, 61, 32, - 91, 115, 120, 49, 44, 32, 115, 121, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 80, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 48, 32, 61, 32, 101, 49, 44, 32, 101, 49, - 32, 61, 32, 116, 104, 105, 115, 46, 95, 101, 100, 103, 101, 99, 111, 100, 101, 40, 80, 91, 48, 93, 44, - 32, 80, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 101, 48, 32, 38, 38, 32, 101, 49, 41, 32, 116, 104, 105, 115, 46, 95, 101, 100, - 103, 101, 40, 105, 44, 32, 101, 48, 44, 32, 101, 49, 44, 32, 80, 44, 32, 80, 46, 108, 101, 110, 103, - 116, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, - 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 99, 111, 110, 116, 97, 105, 110, 115, 40, 105, 44, 32, 40, - 116, 104, 105, 115, 46, 120, 109, 105, 110, 32, 43, 32, 116, 104, 105, 115, 46, 120, 109, 97, 120, 41, 32, - 47, 32, 50, 44, 32, 40, 116, 104, 105, 115, 46, 121, 109, 105, 110, 32, 43, 32, 116, 104, 105, 115, 46, - 121, 109, 97, 120, 41, 32, 47, 32, 50, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 116, 104, 105, 115, 46, 120, 109, 97, - 120, 44, 32, 116, 104, 105, 115, 46, 121, 109, 105, 110, 44, 32, 116, 104, 105, 115, 46, 120, 109, 97, 120, - 44, 32, 116, 104, 105, 115, 46, 121, 109, 97, 120, 44, 32, 116, 104, 105, 115, 46, 120, 109, 105, 110, 44, - 32, 116, 104, 105, 115, 46, 121, 109, 97, 120, 44, 32, 116, 104, 105, 115, 46, 120, 109, 105, 110, 44, 32, - 116, 104, 105, 115, 46, 121, 109, 105, 110, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 80, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 99, 108, - 105, 112, 83, 101, 103, 109, 101, 110, 116, 40, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, - 49, 44, 32, 99, 48, 44, 32, 99, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 119, 104, 105, 108, 101, 32, 40, 116, 114, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 48, 32, 61, 61, 61, 32, 48, 32, - 38, 38, 32, 99, 49, 32, 61, 61, 61, 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 32, 91, 120, 48, - 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 48, 32, 38, 32, 99, 49, 41, 32, 114, 101, - 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 101, 116, 32, 120, 44, 32, 121, 44, 32, 99, 32, 61, 32, 99, 48, 32, 124, 124, - 32, 99, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 99, 32, 38, 32, 48, 98, 49, 48, 48, 48, 41, 32, 120, 32, 61, 32, 120, 48, 32, 43, 32, - 40, 120, 49, 32, 45, 32, 120, 48, 41, 32, 42, 32, 40, 116, 104, 105, 115, 46, 121, 109, 97, 120, 32, - 45, 32, 121, 48, 41, 32, 47, 32, 40, 121, 49, 32, 45, 32, 121, 48, 41, 44, 32, 121, 32, 61, 32, - 116, 104, 105, 115, 46, 121, 109, 97, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 99, 32, 38, 32, 48, 98, 48, 49, 48, 48, - 41, 32, 120, 32, 61, 32, 120, 48, 32, 43, 32, 40, 120, 49, 32, 45, 32, 120, 48, 41, 32, 42, 32, - 40, 116, 104, 105, 115, 46, 121, 109, 105, 110, 32, 45, 32, 121, 48, 41, 32, 47, 32, 40, 121, 49, 32, - 45, 32, 121, 48, 41, 44, 32, 121, 32, 61, 32, 116, 104, 105, 115, 46, 121, 109, 105, 110, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, - 40, 99, 32, 38, 32, 48, 98, 48, 48, 49, 48, 41, 32, 121, 32, 61, 32, 121, 48, 32, 43, 32, 40, - 121, 49, 32, 45, 32, 121, 48, 41, 32, 42, 32, 40, 116, 104, 105, 115, 46, 120, 109, 97, 120, 32, 45, - 32, 120, 48, 41, 32, 47, 32, 40, 120, 49, 32, 45, 32, 120, 48, 41, 44, 32, 120, 32, 61, 32, 116, - 104, 105, 115, 46, 120, 109, 97, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 108, 115, 101, 32, 121, 32, 61, 32, 121, 48, 32, 43, 32, 40, 121, 49, 32, 45, 32, - 121, 48, 41, 32, 42, 32, 40, 116, 104, 105, 115, 46, 120, 109, 105, 110, 32, 45, 32, 120, 48, 41, 32, - 47, 32, 40, 120, 49, 32, 45, 32, 120, 48, 41, 44, 32, 120, 32, 61, 32, 116, 104, 105, 115, 46, 120, - 109, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 99, 48, 41, 32, 120, 48, 32, 61, 32, 120, 44, 32, 121, 48, 32, 61, 32, 121, 44, 32, 99, - 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 101, 103, 105, 111, 110, 99, 111, 100, 101, 40, 120, 48, - 44, 32, 121, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 101, 108, 115, 101, 32, 120, 49, 32, 61, 32, 120, 44, 32, 121, 49, 32, 61, 32, 121, 44, 32, 99, 49, - 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 101, 103, 105, 111, 110, 99, 111, 100, 101, 40, 120, 49, 44, - 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 99, 108, 105, 112, 73, 110, 102, - 105, 110, 105, 116, 101, 40, 105, 44, 32, 112, 111, 105, 110, 116, 115, 44, 32, 118, 120, 48, 44, 32, 118, - 121, 48, 44, 32, 118, 120, 110, 44, 32, 118, 121, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 101, 116, 32, 80, 32, 61, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, - 40, 112, 111, 105, 110, 116, 115, 41, 44, 32, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 112, 32, 61, 32, 116, 104, 105, 115, 46, 95, 112, 114, 111, 106, 101, 99, 116, - 40, 80, 91, 48, 93, 44, 32, 80, 91, 49, 93, 44, 32, 118, 120, 48, 44, 32, 118, 121, 48, 41, 41, - 32, 80, 46, 117, 110, 115, 104, 105, 102, 116, 40, 112, 91, 48, 93, 44, 32, 112, 91, 49, 93, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 112, 114, 111, 106, 101, 99, 116, 40, 80, 91, 80, 46, 108, 101, 110, 103, 116, 104, 32, - 45, 32, 50, 93, 44, 32, 80, 91, 80, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 44, 32, - 118, 120, 110, 44, 32, 118, 121, 110, 41, 41, 32, 80, 46, 112, 117, 115, 104, 40, 112, 91, 48, 93, 44, - 32, 112, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 80, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 108, 105, 112, 70, 105, 110, 105, 116, 101, 40, 105, - 44, 32, 80, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 106, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 80, 46, - 108, 101, 110, 103, 116, 104, 44, 32, 99, 48, 44, 32, 99, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 101, 100, 103, 101, 99, 111, 100, 101, 40, 80, 91, 110, 32, 45, 32, 50, 93, 44, 32, 80, 91, 110, 32, - 45, 32, 49, 93, 41, 59, 32, 106, 32, 60, 32, 110, 59, 32, 106, 32, 43, 61, 32, 50, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 48, - 32, 61, 32, 99, 49, 44, 32, 99, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 101, 100, 103, 101, 99, - 111, 100, 101, 40, 80, 91, 106, 93, 44, 32, 80, 91, 106, 32, 43, 32, 49, 93, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, - 48, 32, 38, 38, 32, 99, 49, 41, 32, 106, 32, 61, 32, 116, 104, 105, 115, 46, 95, 101, 100, 103, 101, - 40, 105, 44, 32, 99, 48, 44, 32, 99, 49, 44, 32, 80, 44, 32, 106, 41, 44, 32, 110, 32, 61, 32, - 80, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, - 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 99, 111, 110, 116, 97, 105, 110, 115, 40, 105, 44, 32, 40, - 116, 104, 105, 115, 46, 120, 109, 105, 110, 32, 43, 32, 116, 104, 105, 115, 46, 120, 109, 97, 120, 41, 32, - 47, 32, 50, 44, 32, 40, 116, 104, 105, 115, 46, 121, 109, 105, 110, 32, 43, 32, 116, 104, 105, 115, 46, - 121, 109, 97, 120, 41, 32, 47, 32, 50, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 80, 32, 61, 32, 91, 116, 104, 105, 115, 46, 120, 109, 105, 110, 44, 32, - 116, 104, 105, 115, 46, 121, 109, 105, 110, 44, 32, 116, 104, 105, 115, 46, 120, 109, 97, 120, 44, 32, 116, - 104, 105, 115, 46, 121, 109, 105, 110, 44, 32, 116, 104, 105, 115, 46, 120, 109, 97, 120, 44, 32, 116, 104, - 105, 115, 46, 121, 109, 97, 120, 44, 32, 116, 104, 105, 115, 46, 120, 109, 105, 110, 44, 32, 116, 104, 105, - 115, 46, 121, 109, 97, 120, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 80, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 101, 100, 103, 101, 40, - 105, 44, 32, 101, 48, 44, 32, 101, 49, 44, 32, 80, 44, 32, 106, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 101, 48, 32, 33, 61, 61, 32, 101, - 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, - 116, 32, 120, 44, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 119, 105, 116, 99, 104, 32, 40, 101, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 98, 48, 49, 48, 49, - 58, 32, 101, 48, 32, 61, 32, 48, 98, 48, 49, 48, 48, 59, 32, 99, 111, 110, 116, 105, 110, 117, 101, - 59, 32, 47, 47, 32, 116, 111, 112, 45, 108, 101, 102, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 98, 48, 49, 48, 48, 58, - 32, 101, 48, 32, 61, 32, 48, 98, 48, 49, 49, 48, 44, 32, 120, 32, 61, 32, 116, 104, 105, 115, 46, - 120, 109, 97, 120, 44, 32, 121, 32, 61, 32, 116, 104, 105, 115, 46, 121, 109, 105, 110, 59, 32, 98, 114, - 101, 97, 107, 59, 32, 47, 47, 32, 116, 111, 112, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 98, 48, 49, 49, 48, 58, 32, 101, - 48, 32, 61, 32, 48, 98, 48, 48, 49, 48, 59, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 32, 47, - 47, 32, 116, 111, 112, 45, 114, 105, 103, 104, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 98, 48, 48, 49, 48, 58, 32, 101, - 48, 32, 61, 32, 48, 98, 49, 48, 49, 48, 44, 32, 120, 32, 61, 32, 116, 104, 105, 115, 46, 120, 109, - 97, 120, 44, 32, 121, 32, 61, 32, 116, 104, 105, 115, 46, 121, 109, 97, 120, 59, 32, 98, 114, 101, 97, - 107, 59, 32, 47, 47, 32, 114, 105, 103, 104, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 98, 49, 48, 49, 48, 58, 32, 101, - 48, 32, 61, 32, 48, 98, 49, 48, 48, 48, 59, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 32, 47, - 47, 32, 98, 111, 116, 116, 111, 109, 45, 114, 105, 103, 104, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 98, 49, 48, 48, 48, - 58, 32, 101, 48, 32, 61, 32, 48, 98, 49, 48, 48, 49, 44, 32, 120, 32, 61, 32, 116, 104, 105, 115, - 46, 120, 109, 105, 110, 44, 32, 121, 32, 61, 32, 116, 104, 105, 115, 46, 121, 109, 97, 120, 59, 32, 98, - 114, 101, 97, 107, 59, 32, 47, 47, 32, 98, 111, 116, 116, 111, 109, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 98, 49, 48, 48, - 49, 58, 32, 101, 48, 32, 61, 32, 48, 98, 48, 48, 48, 49, 59, 32, 99, 111, 110, 116, 105, 110, 117, - 101, 59, 32, 47, 47, 32, 98, 111, 116, 116, 111, 109, 45, 108, 101, 102, 116, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 98, 48, - 48, 48, 49, 58, 32, 101, 48, 32, 61, 32, 48, 98, 48, 49, 48, 49, 44, 32, 120, 32, 61, 32, 116, - 104, 105, 115, 46, 120, 109, 105, 110, 44, 32, 121, 32, 61, 32, 116, 104, 105, 115, 46, 121, 109, 105, 110, - 59, 32, 98, 114, 101, 97, 107, 59, 32, 47, 47, 32, 108, 101, 102, 116, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 80, 91, 106, 93, 32, 33, 61, 61, 32, 120, 32, 124, 124, - 32, 80, 91, 106, 32, 43, 32, 49, 93, 32, 33, 61, 61, 32, 121, 41, 32, 38, 38, 32, 116, 104, 105, - 115, 46, 99, 111, 110, 116, 97, 105, 110, 115, 40, 105, 44, 32, 120, 44, 32, 121, 41, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 46, 115, - 112, 108, 105, 99, 101, 40, 106, 44, 32, 48, 44, 32, 120, 44, 32, 121, 41, 44, 32, 106, 32, 43, 61, - 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 80, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 52, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, - 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 80, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, - 43, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 106, 32, 61, 32, 40, 105, 32, 43, 32, 50, 41, 32, - 37, 32, 80, 46, 108, 101, 110, 103, 116, 104, 44, 32, 107, 32, 61, 32, 40, 105, 32, 43, 32, 52, 41, - 32, 37, 32, 80, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 80, 91, 105, 93, 32, 61, 61, 61, 32, - 80, 91, 106, 93, 32, 38, 38, 32, 80, 91, 106, 93, 32, 61, 61, 61, 32, 80, 91, 107, 93, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 124, 124, 32, 80, 91, 105, 32, 43, 32, 49, 93, 32, 61, 61, 61, 32, 80, 91, 106, 32, 43, 32, 49, - 93, 32, 38, 38, 32, 80, 91, 106, 32, 43, 32, 49, 93, 32, 61, 61, 61, 32, 80, 91, 107, 32, 43, - 32, 49, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 80, 46, 115, 112, 108, 105, 99, 101, 40, 106, 44, 32, 50, 41, 44, 32, 105, - 32, 45, 61, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 106, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 112, 114, 111, 106, 101, 99, 116, 40, 120, 48, 44, 32, - 121, 48, 44, 32, 118, 120, 44, 32, 118, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 101, 116, 32, 116, 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 44, 32, 99, 44, - 32, 120, 44, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 118, 121, 32, 60, 32, 48, 41, 32, 123, 32, 47, 47, 32, 116, 111, 112, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 48, 32, 60, 61, 32, 116, 104, 105, - 115, 46, 121, 109, 105, 110, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 99, 32, 61, 32, - 40, 116, 104, 105, 115, 46, 121, 109, 105, 110, 32, 45, 32, 121, 48, 41, 32, 47, 32, 118, 121, 41, 32, - 60, 32, 116, 41, 32, 121, 32, 61, 32, 116, 104, 105, 115, 46, 121, 109, 105, 110, 44, 32, 120, 32, 61, - 32, 120, 48, 32, 43, 32, 40, 116, 32, 61, 32, 99, 41, 32, 42, 32, 118, 120, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 118, 121, 32, - 62, 32, 48, 41, 32, 123, 32, 47, 47, 32, 98, 111, 116, 116, 111, 109, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 48, 32, 62, 61, 32, 116, 104, 105, - 115, 46, 121, 109, 97, 120, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 99, 32, 61, 32, - 40, 116, 104, 105, 115, 46, 121, 109, 97, 120, 32, 45, 32, 121, 48, 41, 32, 47, 32, 118, 121, 41, 32, - 60, 32, 116, 41, 32, 121, 32, 61, 32, 116, 104, 105, 115, 46, 121, 109, 97, 120, 44, 32, 120, 32, 61, - 32, 120, 48, 32, 43, 32, 40, 116, 32, 61, 32, 99, 41, 32, 42, 32, 118, 120, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 118, 120, 32, 62, 32, 48, 41, 32, 123, 32, 47, 47, 32, 114, 105, 103, 104, 116, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 48, 32, - 62, 61, 32, 116, 104, 105, 115, 46, 120, 109, 97, 120, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, - 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 40, 99, 32, 61, 32, 40, 116, 104, 105, 115, 46, 120, 109, 97, 120, 32, 45, 32, 120, 48, 41, 32, - 47, 32, 118, 120, 41, 32, 60, 32, 116, 41, 32, 120, 32, 61, 32, 116, 104, 105, 115, 46, 120, 109, 97, - 120, 44, 32, 121, 32, 61, 32, 121, 48, 32, 43, 32, 40, 116, 32, 61, 32, 99, 41, 32, 42, 32, 118, - 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, - 102, 32, 40, 118, 120, 32, 60, 32, 48, 41, 32, 123, 32, 47, 47, 32, 108, 101, 102, 116, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 48, 32, 60, 61, - 32, 116, 104, 105, 115, 46, 120, 109, 105, 110, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, - 99, 32, 61, 32, 40, 116, 104, 105, 115, 46, 120, 109, 105, 110, 32, 45, 32, 120, 48, 41, 32, 47, 32, - 118, 120, 41, 32, 60, 32, 116, 41, 32, 120, 32, 61, 32, 116, 104, 105, 115, 46, 120, 109, 105, 110, 44, - 32, 121, 32, 61, 32, 121, 48, 32, 43, 32, 40, 116, 32, 61, 32, 99, 41, 32, 42, 32, 118, 121, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 120, 44, 32, 121, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 101, 100, 103, 101, 99, 111, 100, 101, - 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 40, 120, 32, 61, 61, 61, 32, 116, 104, 105, 115, 46, 120, 109, 105, 110, 32, 63, - 32, 48, 98, 48, 48, 48, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 58, 32, 120, 32, 61, 61, 61, 32, 116, 104, 105, 115, 46, 120, 109, 97, 120, 32, 63, 32, 48, 98, - 48, 48, 49, 48, 32, 58, 32, 48, 98, 48, 48, 48, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 124, 32, 40, 121, 32, 61, 61, 61, 32, 116, 104, 105, 115, 46, 121, - 109, 105, 110, 32, 63, 32, 48, 98, 48, 49, 48, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 121, 32, 61, 61, 61, 32, 116, 104, 105, 115, 46, - 121, 109, 97, 120, 32, 63, 32, 48, 98, 49, 48, 48, 48, 32, 58, 32, 48, 98, 48, 48, 48, 48, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 114, 101, - 103, 105, 111, 110, 99, 111, 100, 101, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 120, 32, 60, 32, 116, 104, 105, 115, 46, - 120, 109, 105, 110, 32, 63, 32, 48, 98, 48, 48, 48, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 58, 32, 120, 32, 62, 32, 116, 104, 105, 115, 46, 120, 109, 97, 120, 32, - 63, 32, 48, 98, 48, 48, 49, 48, 32, 58, 32, 48, 98, 48, 48, 48, 48, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 32, 40, 121, 32, 60, 32, 116, 104, 105, 115, - 46, 121, 109, 105, 110, 32, 63, 32, 48, 98, 48, 49, 48, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 121, 32, 62, 32, 116, 104, 105, 115, 46, - 121, 109, 97, 120, 32, 63, 32, 48, 98, 49, 48, 48, 48, 32, 58, 32, 48, 98, 48, 48, 48, 48, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 99, 111, 110, 115, 116, 32, 116, 97, 117, 36, 50, 32, 61, 32, 50, 32, 42, 32, 77, 97, 116, 104, 46, - 80, 73, 44, 32, 112, 111, 119, 36, 50, 32, 61, 32, 77, 97, 116, 104, 46, 112, 111, 119, 59, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 88, 40, 112, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 91, 48, 93, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, - 110, 116, 89, 40, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 112, 91, 49, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 65, 32, 116, 114, 105, 97, - 110, 103, 117, 108, 97, 116, 105, 111, 110, 32, 105, 115, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, 32, - 105, 102, 32, 97, 108, 108, 32, 105, 116, 115, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 32, 104, 97, - 118, 101, 32, 97, 32, 110, 111, 110, 45, 110, 117, 108, 108, 32, 97, 114, 101, 97, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, 40, 100, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 116, 114, 105, 97, 110, 103, 108, - 101, 115, 44, 32, 99, 111, 111, 114, 100, 115, 125, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 116, - 114, 105, 97, 110, 103, 108, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 43, 61, 32, 51, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 97, - 32, 61, 32, 50, 32, 42, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 105, 93, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 50, 32, 42, 32, 116, - 114, 105, 97, 110, 103, 108, 101, 115, 91, 105, 32, 43, 32, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 50, 32, 42, 32, 116, 114, 105, 97, 110, - 103, 108, 101, 115, 91, 105, 32, 43, 32, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 114, 111, 115, 115, 32, 61, 32, 40, 99, 111, 111, 114, 100, 115, 91, 99, - 93, 32, 45, 32, 99, 111, 111, 114, 100, 115, 91, 97, 93, 41, 32, 42, 32, 40, 99, 111, 111, 114, 100, - 115, 91, 98, 32, 43, 32, 49, 93, 32, 45, 32, 99, 111, 111, 114, 100, 115, 91, 97, 32, 43, 32, 49, - 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 45, 32, 40, 99, 111, 111, 114, 100, 115, 91, 98, 93, 32, 45, 32, 99, 111, 111, 114, 100, 115, 91, 97, - 93, 41, 32, 42, 32, 40, 99, 111, 111, 114, 100, 115, 91, 99, 32, 43, 32, 49, 93, 32, 45, 32, 99, - 111, 111, 114, 100, 115, 91, 97, 32, 43, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 99, 114, 111, 115, 115, 32, 62, 32, 49, 101, 45, 49, 48, 41, 32, - 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 106, 105, 116, 116, - 101, 114, 40, 120, 44, 32, 121, 44, 32, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 91, 120, 32, 43, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 120, 32, 43, - 32, 121, 41, 32, 42, 32, 114, 44, 32, 121, 32, 43, 32, 77, 97, 116, 104, 46, 99, 111, 115, 40, 120, - 32, 45, 32, 121, 41, 32, 42, 32, 114, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 99, 108, 97, 115, 115, 32, 68, 101, 108, 97, 117, 110, 97, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 116, 97, 116, 105, 99, 32, 102, 114, 111, 109, 40, 112, 111, 105, 110, 116, 115, 44, 32, 102, - 120, 32, 61, 32, 112, 111, 105, 110, 116, 88, 44, 32, 102, 121, 32, 61, 32, 112, 111, 105, 110, 116, 89, - 44, 32, 116, 104, 97, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 101, 108, 97, 117, 110, 97, 121, 40, 34, 108, 101, 110, - 103, 116, 104, 34, 32, 105, 110, 32, 112, 111, 105, 110, 116, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 102, 108, 97, 116, 65, 114, 114, 97, 121, 40, 112, 111, 105, - 110, 116, 115, 44, 32, 102, 120, 44, 32, 102, 121, 44, 32, 116, 104, 97, 116, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 70, 108, 111, 97, 116, 54, 52, 65, 114, - 114, 97, 121, 46, 102, 114, 111, 109, 40, 102, 108, 97, 116, 73, 116, 101, 114, 97, 98, 108, 101, 40, 112, - 111, 105, 110, 116, 115, 44, 32, 102, 120, 44, 32, 102, 121, 44, 32, 116, 104, 97, 116, 41, 41, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, - 116, 114, 117, 99, 116, 111, 114, 40, 112, 111, 105, 110, 116, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 101, 108, 97, 117, 110, 97, 116, 111, 114, - 32, 61, 32, 110, 101, 119, 32, 68, 101, 108, 97, 117, 110, 97, 116, 111, 114, 40, 112, 111, 105, 110, 116, - 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 105, 110, - 101, 100, 103, 101, 115, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, - 112, 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 47, 32, 50, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 104, 117, 108, 108, 73, 110, 100, 101, - 120, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 112, 111, 105, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 47, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 105, 110, 116, 115, 32, 61, 32, 116, 104, 105, 115, - 46, 95, 100, 101, 108, 97, 117, 110, 97, 116, 111, 114, 46, 99, 111, 111, 114, 100, 115, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 110, 105, 116, 40, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 112, 100, 97, - 116, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 100, 101, 108, 97, 117, 110, 97, 116, 111, 114, 46, 117, 112, 100, 97, 116, 101, 40, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 110, 105, 116, 40, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, - 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 95, 105, 110, 105, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 115, 116, 32, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 101, 108, 97, 117, 110, 97, 116, - 111, 114, 44, 32, 112, 111, 105, 110, 116, 115, 32, 61, 32, 116, 104, 105, 115, 46, 112, 111, 105, 110, 116, - 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 99, 104, 101, 99, - 107, 32, 102, 111, 114, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 46, 104, 117, 108, 108, 32, 38, 38, 32, 100, 46, 104, 117, - 108, 108, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 50, 32, 38, 38, 32, 99, 111, 108, 108, 105, 110, - 101, 97, 114, 40, 100, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 99, 111, 108, 108, 105, 110, 101, 97, 114, 32, 61, 32, 73, 110, 116, - 51, 50, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 123, 108, 101, 110, 103, 116, 104, 58, 32, 112, - 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 47, 50, 125, 44, 32, 40, 95, 44, 105, 41, 32, - 61, 62, 32, 105, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 115, 111, 114, 116, 40, 40, 105, 44, 32, 106, 41, 32, 61, 62, 32, 112, 111, 105, 110, - 116, 115, 91, 50, 32, 42, 32, 105, 93, 32, 45, 32, 112, 111, 105, 110, 116, 115, 91, 50, 32, 42, 32, - 106, 93, 32, 124, 124, 32, 112, 111, 105, 110, 116, 115, 91, 50, 32, 42, 32, 105, 32, 43, 32, 49, 93, - 32, 45, 32, 112, 111, 105, 110, 116, 115, 91, 50, 32, 42, 32, 106, 32, 43, 32, 49, 93, 41, 59, 32, - 47, 47, 32, 102, 111, 114, 32, 101, 120, 97, 99, 116, 32, 110, 101, 105, 103, 104, 98, 111, 114, 115, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, - 32, 61, 32, 116, 104, 105, 115, 46, 99, 111, 108, 108, 105, 110, 101, 97, 114, 91, 48, 93, 44, 32, 102, - 32, 61, 32, 116, 104, 105, 115, 46, 99, 111, 108, 108, 105, 110, 101, 97, 114, 91, 116, 104, 105, 115, 46, - 99, 111, 108, 108, 105, 110, 101, 97, 114, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 111, 117, - 110, 100, 115, 32, 61, 32, 91, 32, 112, 111, 105, 110, 116, 115, 91, 50, 32, 42, 32, 101, 93, 44, 32, - 112, 111, 105, 110, 116, 115, 91, 50, 32, 42, 32, 101, 32, 43, 32, 49, 93, 44, 32, 112, 111, 105, 110, - 116, 115, 91, 50, 32, 42, 32, 102, 93, 44, 32, 112, 111, 105, 110, 116, 115, 91, 50, 32, 42, 32, 102, - 32, 43, 32, 49, 93, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 49, 101, 45, 56, 32, 42, 32, 77, 97, 116, 104, 46, 104, - 121, 112, 111, 116, 40, 98, 111, 117, 110, 100, 115, 91, 51, 93, 32, 45, 32, 98, 111, 117, 110, 100, 115, - 91, 49, 93, 44, 32, 98, 111, 117, 110, 100, 115, 91, 50, 93, 32, 45, 32, 98, 111, 117, 110, 100, 115, - 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 112, 111, 105, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 47, 32, 50, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, - 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 32, 61, 32, 106, 105, 116, 116, 101, 114, 40, 112, 111, 105, - 110, 116, 115, 91, 50, 32, 42, 32, 105, 93, 44, 32, 112, 111, 105, 110, 116, 115, 91, 50, 32, 42, 32, - 105, 32, 43, 32, 49, 93, 44, 32, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 115, 91, 50, 32, 42, 32, 105, 93, 32, - 61, 32, 112, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 115, 91, 50, 32, 42, 32, 105, 32, 43, 32, 49, 93, 32, - 61, 32, 112, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 100, 101, 108, 97, 117, 110, 97, 116, 111, 114, 32, 61, 32, 110, 101, 119, 32, 68, 101, 108, 97, - 117, 110, 97, 116, 111, 114, 40, 112, 111, 105, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 116, 104, 105, 115, 46, 99, 111, 108, 108, - 105, 110, 101, 97, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 97, 108, 102, 101, 100, - 103, 101, 115, 32, 61, 32, 116, 104, 105, 115, 46, 104, 97, 108, 102, 101, 100, 103, 101, 115, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 100, 101, 108, 97, 117, 110, 97, 116, 111, 114, 46, 104, 97, 108, 102, 101, 100, - 103, 101, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 104, 117, 108, 108, 32, 61, 32, 116, 104, 105, 115, 46, 104, 117, 108, 108, 32, 61, 32, 116, 104, 105, 115, - 46, 95, 100, 101, 108, 97, 117, 110, 97, 116, 111, 114, 46, 104, 117, 108, 108, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, - 32, 61, 32, 116, 104, 105, 115, 46, 116, 114, 105, 97, 110, 103, 108, 101, 115, 32, 61, 32, 116, 104, 105, - 115, 46, 95, 100, 101, 108, 97, 117, 110, 97, 116, 111, 114, 46, 116, 114, 105, 97, 110, 103, 108, 101, 115, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 101, - 100, 103, 101, 115, 32, 61, 32, 116, 104, 105, 115, 46, 105, 110, 101, 100, 103, 101, 115, 46, 102, 105, 108, - 108, 40, 45, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, - 116, 32, 104, 117, 108, 108, 73, 110, 100, 101, 120, 32, 61, 32, 116, 104, 105, 115, 46, 95, 104, 117, 108, - 108, 73, 110, 100, 101, 120, 46, 102, 105, 108, 108, 40, 45, 49, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, 97, 110, 32, 105, 110, - 100, 101, 120, 32, 102, 114, 111, 109, 32, 101, 97, 99, 104, 32, 112, 111, 105, 110, 116, 32, 116, 111, 32, - 97, 110, 32, 40, 97, 114, 98, 105, 116, 114, 97, 114, 121, 41, 32, 105, 110, 99, 111, 109, 105, 110, 103, - 32, 104, 97, 108, 102, 101, 100, 103, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 85, 115, 101, 100, 32, 116, 111, 32, 103, 105, 118, 101, 32, 116, 104, 101, 32, 102, 105, 114, 115, - 116, 32, 110, 101, 105, 103, 104, 98, 111, 114, 32, 111, 102, 32, 101, 97, 99, 104, 32, 112, 111, 105, 110, - 116, 59, 32, 102, 111, 114, 32, 116, 104, 105, 115, 32, 114, 101, 97, 115, 111, 110, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 111, 110, 32, 116, 104, 101, 32, 104, 117, 108, 108, - 32, 119, 101, 32, 103, 105, 118, 101, 32, 112, 114, 105, 111, 114, 105, 116, 121, 32, 116, 111, 32, 101, 120, - 116, 101, 114, 105, 111, 114, 32, 104, 97, 108, 102, 101, 100, 103, 101, 115, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 101, 32, 61, 32, 48, 44, 32, 110, - 32, 61, 32, 104, 97, 108, 102, 101, 100, 103, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 32, 101, 32, - 60, 32, 110, 59, 32, 43, 43, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 32, 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, - 115, 91, 101, 32, 37, 32, 51, 32, 61, 61, 61, 32, 50, 32, 63, 32, 101, 32, 45, 32, 50, 32, 58, - 32, 101, 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 104, 97, 108, 102, 101, 100, 103, 101, 115, 91, 101, 93, 32, 61, 61, 61, 32, - 45, 49, 32, 124, 124, 32, 105, 110, 101, 100, 103, 101, 115, 91, 112, 93, 32, 61, 61, 61, 32, 45, 49, - 41, 32, 105, 110, 101, 100, 103, 101, 115, 91, 112, 93, 32, 61, 32, 101, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 104, 117, 108, 108, 46, - 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 117, 108, 108, 73, 110, 100, 101, - 120, 91, 104, 117, 108, 108, 91, 105, 93, 93, 32, 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, - 100, 101, 103, 101, 110, 101, 114, 97, 116, 101, 32, 99, 97, 115, 101, 58, 32, 49, 32, 111, 114, 32, 50, - 32, 40, 100, 105, 115, 116, 105, 110, 99, 116, 41, 32, 112, 111, 105, 110, 116, 115, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 117, 108, 108, 46, 108, 101, 110, 103, 116, 104, - 32, 60, 61, 32, 50, 32, 38, 38, 32, 104, 117, 108, 108, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, - 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 116, 114, 105, 97, 110, 103, 108, 101, 115, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 51, - 50, 65, 114, 114, 97, 121, 40, 51, 41, 46, 102, 105, 108, 108, 40, 45, 49, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 104, 97, 108, 102, 101, - 100, 103, 101, 115, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 51, - 41, 46, 102, 105, 108, 108, 40, 45, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 48, 93, 32, - 61, 32, 104, 117, 108, 108, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 49, 93, 32, 61, - 32, 104, 117, 108, 108, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 50, 93, 32, 61, 32, - 104, 117, 108, 108, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 110, 101, 100, 103, 101, 115, 91, 104, 117, 108, 108, 91, 48, 93, 93, 32, 61, 32, 49, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 117, - 108, 108, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 50, 41, 32, 105, 110, 101, 100, 103, 101, - 115, 91, 104, 117, 108, 108, 91, 49, 93, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 111, 114, 111, 110, 111, 105, 40, 98, 111, 117, 110, 100, 115, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 86, 111, 114, - 111, 110, 111, 105, 40, 116, 104, 105, 115, 44, 32, 98, 111, 117, 110, 100, 115, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 42, 110, 101, 105, 103, 104, 98, 111, - 114, 115, 40, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 123, 105, 110, 101, 100, 103, 101, 115, 44, 32, 104, 117, 108, 108, 44, 32, 95, 104, 117, 108, - 108, 73, 110, 100, 101, 120, 44, 32, 104, 97, 108, 102, 101, 100, 103, 101, 115, 44, 32, 116, 114, 105, 97, - 110, 103, 108, 101, 115, 44, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, 125, 32, 61, 32, 116, 104, 105, - 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 100, 101, 103, 101, - 110, 101, 114, 97, 116, 101, 32, 99, 97, 115, 101, 32, 119, 105, 116, 104, 32, 115, 101, 118, 101, 114, 97, - 108, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, 32, 112, 111, 105, 110, 116, 115, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 108, 108, 105, 110, 101, 97, 114, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, - 32, 108, 32, 61, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, 46, 105, 110, 100, 101, 120, 79, 102, 40, - 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 108, 32, 62, 32, 48, 41, 32, 121, 105, 101, 108, 100, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, - 91, 108, 32, 45, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 108, 32, 60, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, 46, 108, 101, 110, - 103, 116, 104, 32, 45, 32, 49, 41, 32, 121, 105, 101, 108, 100, 32, 99, 111, 108, 108, 105, 110, 101, 97, - 114, 91, 108, 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 48, - 32, 61, 32, 105, 110, 101, 100, 103, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 101, 48, 32, 61, 61, 61, 32, 45, 49, 41, 32, 114, 101, 116, 117, - 114, 110, 59, 32, 47, 47, 32, 99, 111, 105, 110, 99, 105, 100, 101, 110, 116, 32, 112, 111, 105, 110, 116, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 101, 32, 61, 32, 101, 48, - 44, 32, 112, 48, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 111, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 105, - 101, 108, 100, 32, 112, 48, 32, 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 101, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 101, 32, 37, - 32, 51, 32, 61, 61, 61, 32, 50, 32, 63, 32, 101, 32, 45, 32, 50, 32, 58, 32, 101, 32, 43, 32, - 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 101, 93, 32, 33, 61, 61, 32, 105, 41, 32, 114, 101, 116, - 117, 114, 110, 59, 32, 47, 47, 32, 98, 97, 100, 32, 116, 114, 105, 97, 110, 103, 117, 108, 97, 116, 105, - 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, - 104, 97, 108, 102, 101, 100, 103, 101, 115, 91, 101, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 61, 61, 61, 32, 45, 49, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 112, 32, 61, 32, 104, 117, 108, 108, 91, 40, 95, 104, 117, 108, 108, 73, 110, 100, 101, 120, - 91, 105, 93, 32, 43, 32, 49, 41, 32, 37, 32, 104, 117, 108, 108, 46, 108, 101, 110, 103, 116, 104, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 112, 32, 33, 61, 61, 32, 112, 48, 41, 32, 121, 105, 101, 108, 100, 32, 112, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 119, 104, 105, 108, 101, 32, 40, 101, 32, 33, - 61, 61, 32, 101, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 105, 110, 100, 40, 120, 44, 32, 121, 44, 32, 105, 32, 61, 32, 48, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 120, 32, 61, 32, 43, 120, - 44, 32, 120, 32, 33, 61, 61, 32, 120, 41, 32, 124, 124, 32, 40, 121, 32, 61, 32, 43, 121, 44, 32, - 121, 32, 33, 61, 61, 32, 121, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 45, 49, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 48, 32, 61, 32, 105, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 99, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 40, 99, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 115, 116, 101, 112, 40, 105, 44, 32, 120, 44, 32, 121, 41, 41, 32, 62, 61, 32, 48, - 32, 38, 38, 32, 99, 32, 33, 61, 61, 32, 105, 32, 38, 38, 32, 99, 32, 33, 61, 61, 32, 105, 48, - 41, 32, 105, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 95, 115, 116, 101, 112, 40, 105, 44, 32, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 105, 110, 101, 100, 103, 101, 115, - 44, 32, 104, 117, 108, 108, 44, 32, 95, 104, 117, 108, 108, 73, 110, 100, 101, 120, 44, 32, 104, 97, 108, - 102, 101, 100, 103, 101, 115, 44, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 44, 32, 112, 111, 105, 110, - 116, 115, 125, 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 105, 110, 101, 100, 103, 101, 115, 91, 105, 93, 32, 61, 61, 61, 32, 45, 49, 32, - 124, 124, 32, 33, 112, 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, - 114, 110, 32, 40, 105, 32, 43, 32, 49, 41, 32, 37, 32, 40, 112, 111, 105, 110, 116, 115, 46, 108, 101, - 110, 103, 116, 104, 32, 62, 62, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 101, 116, 32, 99, 32, 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 101, 116, 32, 100, 99, 32, 61, 32, 112, 111, 119, 36, 50, 40, 120, 32, 45, 32, 112, 111, 105, - 110, 116, 115, 91, 105, 32, 42, 32, 50, 93, 44, 32, 50, 41, 32, 43, 32, 112, 111, 119, 36, 50, 40, - 121, 32, 45, 32, 112, 111, 105, 110, 116, 115, 91, 105, 32, 42, 32, 50, 32, 43, 32, 49, 93, 44, 32, - 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, - 48, 32, 61, 32, 105, 110, 101, 100, 103, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 101, 116, 32, 101, 32, 61, 32, 101, 48, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 111, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 101, 116, 32, 116, 32, 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 101, - 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, - 116, 32, 100, 116, 32, 61, 32, 112, 111, 119, 36, 50, 40, 120, 32, 45, 32, 112, 111, 105, 110, 116, 115, - 91, 116, 32, 42, 32, 50, 93, 44, 32, 50, 41, 32, 43, 32, 112, 111, 119, 36, 50, 40, 121, 32, 45, - 32, 112, 111, 105, 110, 116, 115, 91, 116, 32, 42, 32, 50, 32, 43, 32, 49, 93, 44, 32, 50, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 116, - 32, 60, 32, 100, 99, 41, 32, 100, 99, 32, 61, 32, 100, 116, 44, 32, 99, 32, 61, 32, 116, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 101, 32, 37, - 32, 51, 32, 61, 61, 61, 32, 50, 32, 63, 32, 101, 32, 45, 32, 50, 32, 58, 32, 101, 32, 43, 32, - 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 101, 93, 32, 33, 61, 61, 32, 105, 41, 32, 98, 114, 101, - 97, 107, 59, 32, 47, 47, 32, 98, 97, 100, 32, 116, 114, 105, 97, 110, 103, 117, 108, 97, 116, 105, 111, - 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 104, - 97, 108, 102, 101, 100, 103, 101, 115, 91, 101, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 61, 61, 61, 32, 45, 49, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, - 104, 117, 108, 108, 91, 40, 95, 104, 117, 108, 108, 73, 110, 100, 101, 120, 91, 105, 93, 32, 43, 32, 49, - 41, 32, 37, 32, 104, 117, 108, 108, 46, 108, 101, 110, 103, 116, 104, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 33, 61, - 61, 32, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 111, 119, 36, 50, 40, 120, 32, 45, 32, 112, - 111, 105, 110, 116, 115, 91, 101, 32, 42, 32, 50, 93, 44, 32, 50, 41, 32, 43, 32, 112, 111, 119, 36, - 50, 40, 121, 32, 45, 32, 112, 111, 105, 110, 116, 115, 91, 101, 32, 42, 32, 50, 32, 43, 32, 49, 93, - 44, 32, 50, 41, 32, 60, 32, 100, 99, 41, 32, 114, 101, 116, 117, 114, 110, 32, 101, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 119, 104, 105, 108, 101, 32, 40, 101, 32, 33, 61, 61, 32, - 101, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 110, 100, 101, 114, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 117, 102, 102, 101, 114, 32, 61, 32, 99, 111, - 110, 116, 101, 120, 116, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 99, 111, 110, 116, 101, 120, 116, - 32, 61, 32, 110, 101, 119, 32, 80, 97, 116, 104, 32, 58, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 112, 111, - 105, 110, 116, 115, 44, 32, 104, 97, 108, 102, 101, 100, 103, 101, 115, 44, 32, 116, 114, 105, 97, 110, 103, - 108, 101, 115, 125, 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 104, - 97, 108, 102, 101, 100, 103, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, - 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 106, 32, 61, 32, 104, 97, 108, 102, 101, 100, 103, 101, 115, 91, 105, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 106, - 32, 60, 32, 105, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 105, 32, 61, 32, 116, 114, 105, - 97, 110, 103, 108, 101, 115, 91, 105, 93, 32, 42, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 106, 32, 61, 32, 116, 114, 105, 97, - 110, 103, 108, 101, 115, 91, 106, 93, 32, 42, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 112, - 111, 105, 110, 116, 115, 91, 116, 105, 93, 44, 32, 112, 111, 105, 110, 116, 115, 91, 116, 105, 32, 43, 32, - 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 112, 111, 105, 110, 116, 115, 91, 116, 106, 93, - 44, 32, 112, 111, 105, 110, 116, 115, 91, 116, 106, 32, 43, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 114, 101, 110, 100, 101, 114, 72, 117, 108, 108, 40, 99, 111, 110, 116, 101, 120, 116, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 117, - 102, 102, 101, 114, 32, 38, 38, 32, 98, 117, 102, 102, 101, 114, 46, 118, 97, 108, 117, 101, 40, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 110, 100, - 101, 114, 80, 111, 105, 110, 116, 115, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 114, 32, 61, 32, 50, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, - 117, 102, 102, 101, 114, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 61, 32, 110, 117, 108, 108, - 32, 63, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 101, 119, 32, 80, 97, 116, 104, 32, 58, - 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 115, 116, 32, 123, 112, 111, 105, 110, 116, 115, 125, 32, 61, 32, 116, 104, 105, 115, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, - 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 112, 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 59, 32, 105, 32, 60, 32, 110, 59, 32, 105, 32, 43, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 112, - 111, 105, 110, 116, 115, 91, 105, 93, 44, 32, 121, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 105, 32, - 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 32, 43, 32, 114, 44, 32, 121, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, - 120, 116, 46, 97, 114, 99, 40, 120, 44, 32, 121, 44, 32, 114, 44, 32, 48, 44, 32, 116, 97, 117, 36, - 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 117, 102, 102, 101, 114, 32, 38, 38, - 32, 98, 117, 102, 102, 101, 114, 46, 118, 97, 108, 117, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 110, 100, 101, 114, 72, 117, 108, 108, 40, - 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 110, 115, 116, 32, 98, 117, 102, 102, 101, 114, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 32, - 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 101, 119, - 32, 80, 97, 116, 104, 32, 58, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 104, 117, 108, 108, 44, 32, 112, 111, - 105, 110, 116, 115, 125, 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 32, 61, 32, 104, 117, 108, 108, 91, 48, 93, 32, 42, 32, - 50, 44, 32, 110, 32, 61, 32, 104, 117, 108, 108, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, - 40, 112, 111, 105, 110, 116, 115, 91, 104, 93, 44, 32, 112, 111, 105, 110, 116, 115, 91, 104, 32, 43, 32, - 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, - 101, 116, 32, 105, 32, 61, 32, 49, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 104, 32, 61, 32, 50, 32, 42, 32, 104, 117, 108, 108, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, - 111, 40, 112, 111, 105, 110, 116, 115, 91, 104, 93, 44, 32, 112, 111, 105, 110, 116, 115, 91, 104, 32, 43, - 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, - 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 98, 117, 102, 102, 101, 114, 32, 38, 38, 32, 98, 117, 102, 102, 101, 114, 46, 118, 97, 108, - 117, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 104, 117, 108, 108, 80, 111, 108, 121, 103, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 111, 108, 121, 103, 111, 110, 32, 61, 32, 110, - 101, 119, 32, 80, 111, 108, 121, 103, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 114, 101, 110, 100, 101, 114, 72, 117, 108, 108, 40, 112, 111, 108, 121, 103, 111, - 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 112, 111, 108, 121, 103, 111, 110, 46, 118, 97, 108, 117, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 110, 100, 101, 114, 84, 114, 105, 97, 110, - 103, 108, 101, 40, 105, 44, 32, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 117, 102, 102, 101, 114, 32, 61, 32, 99, - 111, 110, 116, 101, 120, 116, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 99, 111, 110, 116, 101, 120, - 116, 32, 61, 32, 110, 101, 119, 32, 80, 97, 116, 104, 32, 58, 32, 117, 110, 100, 101, 102, 105, 110, 101, - 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 112, - 111, 105, 110, 116, 115, 44, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 125, 32, 61, 32, 116, 104, 105, - 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 48, - 32, 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 105, 32, 42, 61, 32, 51, 93, 32, 42, 32, - 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 49, - 32, 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 105, 32, 43, 32, 49, 93, 32, 42, 32, 50, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 50, 32, - 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 91, 105, 32, 43, 32, 50, 93, 32, 42, 32, 50, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, - 118, 101, 84, 111, 40, 112, 111, 105, 110, 116, 115, 91, 116, 48, 93, 44, 32, 112, 111, 105, 110, 116, 115, - 91, 116, 48, 32, 43, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 112, 111, 105, 110, 116, 115, 91, 116, - 49, 93, 44, 32, 112, 111, 105, 110, 116, 115, 91, 116, 49, 32, 43, 32, 49, 93, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, - 111, 40, 112, 111, 105, 110, 116, 115, 91, 116, 50, 93, 44, 32, 112, 111, 105, 110, 116, 115, 91, 116, 50, - 32, 43, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 117, 102, 102, 101, 114, 32, 38, 38, - 32, 98, 117, 102, 102, 101, 114, 46, 118, 97, 108, 117, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 42, 116, 114, 105, 97, 110, 103, 108, 101, 80, 111, - 108, 121, 103, 111, 110, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 110, 115, 116, 32, 123, 116, 114, 105, 97, 110, 103, 108, 101, 115, 125, 32, 61, 32, 116, 104, 105, - 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, - 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 47, 32, 51, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 105, 101, 108, 100, - 32, 116, 104, 105, 115, 46, 116, 114, 105, 97, 110, 103, 108, 101, 80, 111, 108, 121, 103, 111, 110, 40, 105, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 105, 97, 110, 103, 108, 101, 80, 111, 108, - 121, 103, 111, 110, 40, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 115, 116, 32, 112, 111, 108, 121, 103, 111, 110, 32, 61, 32, 110, 101, 119, 32, 80, 111, 108, 121, - 103, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 114, - 101, 110, 100, 101, 114, 84, 114, 105, 97, 110, 103, 108, 101, 40, 105, 44, 32, 112, 111, 108, 121, 103, 111, - 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 112, 111, 108, 121, 103, 111, 110, 46, 118, 97, 108, 117, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 102, 108, 97, 116, 65, 114, 114, 97, 121, 40, 112, 111, 105, 110, 116, 115, 44, 32, 102, 120, 44, 32, - 102, 121, 44, 32, 116, 104, 97, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 110, 32, 61, 32, 112, 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 97, 114, 114, 97, 121, 32, 61, 32, 110, 101, - 119, 32, 70, 108, 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, 40, 110, 32, 42, 32, 50, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, - 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 105, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 114, 97, 121, 91, 105, 32, 42, - 32, 50, 93, 32, 61, 32, 102, 120, 46, 99, 97, 108, 108, 40, 116, 104, 97, 116, 44, 32, 112, 44, 32, - 105, 44, 32, 112, 111, 105, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 97, 114, 114, 97, 121, 91, 105, 32, 42, 32, 50, 32, 43, 32, 49, 93, 32, 61, 32, 102, 121, 46, - 99, 97, 108, 108, 40, 116, 104, 97, 116, 44, 32, 112, 44, 32, 105, 44, 32, 112, 111, 105, 110, 116, 115, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 114, 97, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 42, 32, 102, 108, 97, 116, 73, 116, 101, 114, 97, 98, 108, 101, 40, - 112, 111, 105, 110, 116, 115, 44, 32, 102, 120, 44, 32, 102, 121, 44, 32, 116, 104, 97, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 112, 32, 111, 102, 32, 112, 111, - 105, 110, 116, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 105, 101, - 108, 100, 32, 102, 120, 46, 99, 97, 108, 108, 40, 116, 104, 97, 116, 44, 32, 112, 44, 32, 105, 44, 32, - 112, 111, 105, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 105, - 101, 108, 100, 32, 102, 121, 46, 99, 97, 108, 108, 40, 116, 104, 97, 116, 44, 32, 112, 44, 32, 105, 44, - 32, 112, 111, 105, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, - 43, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 118, 97, 114, 32, 69, 79, 76, 32, 61, 32, 123, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 69, 79, 70, 32, 61, 32, 123, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 81, 85, 79, 84, - 69, 32, 61, 32, 51, 52, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 78, 69, 87, 76, 73, 78, 69, - 32, 61, 32, 49, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 82, 69, 84, 85, 82, 78, 32, 61, - 32, 49, 51, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 111, 98, 106, 101, - 99, 116, 67, 111, 110, 118, 101, 114, 116, 101, 114, 40, 99, 111, 108, 117, 109, 110, 115, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 70, 117, 110, 99, - 116, 105, 111, 110, 40, 34, 100, 34, 44, 32, 34, 114, 101, 116, 117, 114, 110, 32, 123, 34, 32, 43, 32, - 99, 111, 108, 117, 109, 110, 115, 46, 109, 97, 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 97, - 109, 101, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 74, 83, 79, 78, 46, 115, 116, 114, 105, 110, 103, 105, 102, 121, 40, 110, 97, 109, - 101, 41, 32, 43, 32, 34, 58, 32, 100, 91, 34, 32, 43, 32, 105, 32, 43, 32, 34, 93, 32, 124, 124, - 32, 92, 34, 92, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 46, 106, 111, 105, 110, - 40, 34, 44, 34, 41, 32, 43, 32, 34, 125, 34, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 67, 111, 110, 118, 101, 114, - 116, 101, 114, 40, 99, 111, 108, 117, 109, 110, 115, 44, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 111, 98, 106, 101, 99, 116, 32, 61, 32, 111, 98, 106, 101, 99, 116, 67, - 111, 110, 118, 101, 114, 116, 101, 114, 40, 99, 111, 108, 117, 109, 110, 115, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 114, 111, 119, - 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 102, 40, 111, 98, 106, 101, 99, 116, 40, 114, 111, 119, 41, 44, 32, 105, 44, 32, 99, 111, - 108, 117, 109, 110, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 47, 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, 117, 110, 105, 113, 117, 101, 32, 99, 111, - 108, 117, 109, 110, 115, 32, 105, 110, 32, 111, 114, 100, 101, 114, 32, 111, 102, 32, 100, 105, 115, 99, 111, - 118, 101, 114, 121, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 102, 101, - 114, 67, 111, 108, 117, 109, 110, 115, 40, 114, 111, 119, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 99, 111, 108, 117, 109, 110, 83, 101, 116, 32, 61, 32, 79, 98, 106, 101, 99, - 116, 46, 99, 114, 101, 97, 116, 101, 40, 110, 117, 108, 108, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 108, 117, 109, 110, 115, 32, 61, 32, 91, 93, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 111, 119, 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 114, 111, 119, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 118, 97, 114, 32, 99, 111, 108, 117, 109, 110, 32, 105, 110, 32, 114, 111, 119, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 40, 99, 111, 108, 117, 109, 110, 32, 105, 110, 32, 99, 111, 108, 117, 109, 110, 83, 101, 116, 41, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 108, 117, 109, 110, 115, 46, 112, 117, 115, 104, 40, 99, 111, 108, 117, 109, 110, 83, 101, 116, 91, - 99, 111, 108, 117, 109, 110, 93, 32, 61, 32, 99, 111, 108, 117, 109, 110, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 108, 117, 109, 110, 115, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 100, 36, 49, 40, 118, - 97, 108, 117, 101, 44, 32, 119, 105, 100, 116, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 32, 61, 32, 118, 97, 108, 117, 101, 32, 43, 32, 34, 34, 44, 32, 108, 101, 110, - 103, 116, 104, 32, 61, 32, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 108, 101, 110, 103, 116, 104, 32, 60, 32, 119, 105, 100, 116, 104, 32, - 63, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 119, 105, 100, 116, 104, 32, 45, 32, 108, 101, 110, - 103, 116, 104, 32, 43, 32, 49, 41, 46, 106, 111, 105, 110, 40, 48, 41, 32, 43, 32, 115, 32, 58, 32, - 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 102, 111, 114, 109, 97, 116, 89, 101, 97, 114, 36, 49, 40, 121, 101, 97, 114, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 121, 101, 97, 114, 32, 60, 32, 48, 32, 63, - 32, 34, 45, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 45, 121, 101, 97, 114, 44, 32, 54, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 121, 101, 97, 114, 32, 62, 32, 57, 57, - 57, 57, 32, 63, 32, 34, 43, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 121, 101, 97, 114, 44, 32, - 54, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 112, 97, - 100, 36, 49, 40, 121, 101, 97, 114, 44, 32, 52, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 68, 97, 116, 101, 40, 100, - 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 111, 117, 114, - 115, 32, 61, 32, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 72, 111, 117, 114, 115, 40, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, 117, 116, 101, 115, 32, 61, 32, - 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 77, 105, 110, 117, 116, 101, 115, 40, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 99, 111, 110, 100, 115, 32, 61, 32, 100, 97, - 116, 101, 46, 103, 101, 116, 85, 84, 67, 83, 101, 99, 111, 110, 100, 115, 40, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 32, 61, - 32, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, - 115, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 115, 78, - 97, 78, 40, 100, 97, 116, 101, 41, 32, 63, 32, 34, 73, 110, 118, 97, 108, 105, 100, 32, 68, 97, 116, - 101, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 102, 111, 114, 109, 97, 116, - 89, 101, 97, 114, 36, 49, 40, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, - 101, 97, 114, 40, 41, 41, 32, 43, 32, 34, 45, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 100, 97, - 116, 101, 46, 103, 101, 116, 85, 84, 67, 77, 111, 110, 116, 104, 40, 41, 32, 43, 32, 49, 44, 32, 50, - 41, 32, 43, 32, 34, 45, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 100, 97, 116, 101, 46, 103, 101, - 116, 85, 84, 67, 68, 97, 116, 101, 40, 41, 44, 32, 50, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 43, 32, 40, 109, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 32, 63, 32, 34, - 84, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 104, 111, 117, 114, 115, 44, 32, 50, 41, 32, 43, 32, - 34, 58, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 109, 105, 110, 117, 116, 101, 115, 44, 32, 50, 41, - 32, 43, 32, 34, 58, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 115, 101, 99, 111, 110, 100, 115, 44, - 32, 50, 41, 32, 43, 32, 34, 46, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 109, 105, 108, 108, 105, - 115, 101, 99, 111, 110, 100, 115, 44, 32, 51, 41, 32, 43, 32, 34, 90, 34, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 115, 101, 99, 111, 110, 100, 115, 32, 63, 32, - 34, 84, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 104, 111, 117, 114, 115, 44, 32, 50, 41, 32, 43, - 32, 34, 58, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 109, 105, 110, 117, 116, 101, 115, 44, 32, 50, - 41, 32, 43, 32, 34, 58, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 115, 101, 99, 111, 110, 100, 115, - 44, 32, 50, 41, 32, 43, 32, 34, 90, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 109, 105, 110, 117, 116, 101, 115, 32, 124, 124, 32, 104, 111, - 117, 114, 115, 32, 63, 32, 34, 84, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 104, 111, 117, 114, 115, - 44, 32, 50, 41, 32, 43, 32, 34, 58, 34, 32, 43, 32, 112, 97, 100, 36, 49, 40, 109, 105, 110, 117, - 116, 101, 115, 44, 32, 50, 41, 32, 43, 32, 34, 90, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 34, 34, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 115, 118, 70, - 111, 114, 109, 97, 116, 40, 100, 101, 108, 105, 109, 105, 116, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 114, 101, 70, 111, 114, 109, 97, 116, 32, 61, 32, 110, 101, 119, 32, - 82, 101, 103, 69, 120, 112, 40, 34, 91, 92, 34, 34, 32, 43, 32, 100, 101, 108, 105, 109, 105, 116, 101, - 114, 32, 43, 32, 34, 92, 110, 92, 114, 93, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 68, 69, 76, 73, 77, 73, 84, 69, 82, 32, 61, 32, 100, 101, 108, 105, 109, 105, 116, 101, - 114, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 48, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 40, 116, 101, 120, 116, 44, - 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, - 111, 110, 118, 101, 114, 116, 44, 32, 99, 111, 108, 117, 109, 110, 115, 44, 32, 114, 111, 119, 115, 32, 61, - 32, 112, 97, 114, 115, 101, 82, 111, 119, 115, 40, 116, 101, 120, 116, 44, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 114, 111, 119, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 110, 118, 101, 114, 116, 41, 32, 114, 101, 116, 117, - 114, 110, 32, 99, 111, 110, 118, 101, 114, 116, 40, 114, 111, 119, 44, 32, 105, 32, 45, 32, 49, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 108, 117, 109, 110, - 115, 32, 61, 32, 114, 111, 119, 44, 32, 99, 111, 110, 118, 101, 114, 116, 32, 61, 32, 102, 32, 63, 32, - 99, 117, 115, 116, 111, 109, 67, 111, 110, 118, 101, 114, 116, 101, 114, 40, 114, 111, 119, 44, 32, 102, 41, - 32, 58, 32, 111, 98, 106, 101, 99, 116, 67, 111, 110, 118, 101, 114, 116, 101, 114, 40, 114, 111, 119, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 111, 119, 115, 46, 99, 111, 108, 117, 109, 110, 115, 32, 61, 32, 99, - 111, 108, 117, 109, 110, 115, 32, 124, 124, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 111, 119, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, - 114, 115, 101, 82, 111, 119, 115, 40, 116, 101, 120, 116, 44, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 111, 119, 115, 32, 61, 32, 91, 93, 44, 32, - 47, 47, 32, 111, 117, 116, 112, 117, 116, 32, 114, 111, 119, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 78, 32, 61, 32, 116, 101, 120, 116, 46, 108, 101, 110, 103, 116, 104, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 73, 32, 61, 32, 48, - 44, 32, 47, 47, 32, 99, 117, 114, 114, 101, 110, 116, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, - 105, 110, 100, 101, 120, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 32, 61, 32, 48, 44, 32, 47, 47, 32, 99, 117, 114, 114, 101, 110, 116, 32, 108, 105, 110, 101, 32, 110, - 117, 109, 98, 101, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 44, 32, 47, 47, 32, 99, 117, 114, 114, 101, 110, 116, 32, 116, 111, 107, 101, 110, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 111, 102, 32, 61, 32, 78, 32, 60, 61, 32, - 48, 44, 32, 47, 47, 32, 99, 117, 114, 114, 101, 110, 116, 32, 116, 111, 107, 101, 110, 32, 102, 111, 108, - 108, 111, 119, 101, 100, 32, 98, 121, 32, 69, 79, 70, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 101, 111, 108, 32, 61, 32, 102, 97, 108, 115, 101, 59, 32, 47, 47, 32, - 99, 117, 114, 114, 101, 110, 116, 32, 116, 111, 107, 101, 110, 32, 102, 111, 108, 108, 111, 119, 101, 100, 32, - 98, 121, 32, 69, 79, 76, 63, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, - 32, 83, 116, 114, 105, 112, 32, 116, 104, 101, 32, 116, 114, 97, 105, 108, 105, 110, 103, 32, 110, 101, 119, - 108, 105, 110, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, - 101, 120, 116, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 78, 32, 45, 32, 49, 41, 32, 61, - 61, 61, 32, 78, 69, 87, 76, 73, 78, 69, 41, 32, 45, 45, 78, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 101, 120, 116, 46, 99, 104, 97, 114, 67, 111, 100, 101, - 65, 116, 40, 78, 32, 45, 32, 49, 41, 32, 61, 61, 61, 32, 82, 69, 84, 85, 82, 78, 41, 32, 45, - 45, 78, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 116, 111, 107, 101, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 111, 102, 41, 32, 114, 101, 116, 117, 114, 110, 32, 69, - 79, 70, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 101, 111, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 101, 111, 108, 32, 61, 32, 102, 97, 108, 115, - 101, 44, 32, 69, 79, 76, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 85, 110, 101, 115, 99, 97, 112, 101, 32, 113, 117, 111, 116, 101, 115, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 32, 106, - 32, 61, 32, 73, 44, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 116, 101, 120, 116, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 106, - 41, 32, 61, 61, 61, 32, 81, 85, 79, 84, 69, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 73, 43, 43, 32, - 60, 32, 78, 32, 38, 38, 32, 116, 101, 120, 116, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, - 73, 41, 32, 33, 61, 61, 32, 81, 85, 79, 84, 69, 32, 124, 124, 32, 116, 101, 120, 116, 46, 99, 104, - 97, 114, 67, 111, 100, 101, 65, 116, 40, 43, 43, 73, 41, 32, 61, 61, 61, 32, 81, 85, 79, 84, 69, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 40, 105, 32, 61, 32, 73, 41, 32, 62, 61, 32, 78, 41, 32, 101, 111, 102, 32, 61, - 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 40, 99, 32, 61, 32, 116, 101, 120, 116, 46, - 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 73, 43, 43, 41, 41, 32, 61, 61, 61, 32, 78, 69, - 87, 76, 73, 78, 69, 41, 32, 101, 111, 108, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, - 32, 40, 99, 32, 61, 61, 61, 32, 82, 69, 84, 85, 82, 78, 41, 32, 123, 32, 101, 111, 108, 32, 61, - 32, 116, 114, 117, 101, 59, 32, 105, 102, 32, 40, 116, 101, 120, 116, 46, 99, 104, 97, 114, 67, 111, 100, - 101, 65, 116, 40, 73, 41, 32, 61, 61, 61, 32, 78, 69, 87, 76, 73, 78, 69, 41, 32, 43, 43, 73, - 59, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 101, 120, 116, 46, 115, 108, 105, 99, 101, 40, 106, 32, 43, 32, - 49, 44, 32, 105, 32, 45, 32, 49, 41, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 34, 34, 47, 103, - 44, 32, 34, 92, 34, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, - 32, 70, 105, 110, 100, 32, 110, 101, 120, 116, 32, 100, 101, 108, 105, 109, 105, 116, 101, 114, 32, 111, 114, - 32, 110, 101, 119, 108, 105, 110, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 73, 32, 60, 32, 78, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 99, 32, - 61, 32, 116, 101, 120, 116, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 105, 32, 61, 32, 73, - 43, 43, 41, 41, 32, 61, 61, 61, 32, 78, 69, 87, 76, 73, 78, 69, 41, 32, 101, 111, 108, 32, 61, - 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 99, 32, 61, 61, 61, 32, 82, 69, 84, 85, - 82, 78, 41, 32, 123, 32, 101, 111, 108, 32, 61, 32, 116, 114, 117, 101, 59, 32, 105, 102, 32, 40, 116, - 101, 120, 116, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 73, 41, 32, 61, 61, 61, 32, 78, - 69, 87, 76, 73, 78, 69, 41, 32, 43, 43, 73, 59, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 99, 32, - 33, 61, 61, 32, 68, 69, 76, 73, 77, 73, 84, 69, 82, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 101, 120, 116, 46, 115, 108, 105, 99, 101, 40, 106, 44, 32, 105, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 82, 101, 116, 117, 114, 110, 32, - 108, 97, 115, 116, 32, 116, 111, 107, 101, 110, 32, 98, 101, 102, 111, 114, 101, 32, 69, 79, 70, 46, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 101, 111, 102, 32, 61, 32, 116, 114, 117, 101, 44, 32, 116, 101, 120, 116, 46, 115, 108, 105, 99, 101, 40, - 106, 44, 32, 78, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 40, 116, 32, 61, 32, - 116, 111, 107, 101, 110, 40, 41, 41, 32, 33, 61, 61, 32, 69, 79, 70, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 111, 119, 32, 61, 32, - 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, - 108, 101, 32, 40, 116, 32, 33, 61, 61, 32, 69, 79, 76, 32, 38, 38, 32, 116, 32, 33, 61, 61, 32, - 69, 79, 70, 41, 32, 114, 111, 119, 46, 112, 117, 115, 104, 40, 116, 41, 44, 32, 116, 32, 61, 32, 116, - 111, 107, 101, 110, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 102, 32, 38, 38, 32, 40, 114, 111, 119, 32, 61, 32, 102, 40, 114, 111, 119, 44, - 32, 110, 43, 43, 41, 41, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 99, 111, 110, 116, 105, 110, 117, - 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 119, 115, - 46, 112, 117, 115, 104, 40, 114, 111, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 114, 111, 119, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 114, 101, 102, 111, 114, 109, 97, 116, 66, 111, 100, - 121, 40, 114, 111, 119, 115, 44, 32, 99, 111, 108, 117, 109, 110, 115, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 111, 119, 115, 46, 109, 97, 112, - 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 114, 111, 119, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 108, 117, 109, 110, - 115, 46, 109, 97, 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 108, 117, 109, 110, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 102, 111, 114, 109, 97, 116, 86, 97, 108, 117, 101, 40, 114, 111, 119, 91, 99, - 111, 108, 117, 109, 110, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 41, 46, 106, 111, 105, 110, 40, 100, 101, 108, 105, 109, 105, 116, 101, 114, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, - 109, 97, 116, 40, 114, 111, 119, 115, 44, 32, 99, 111, 108, 117, 109, 110, 115, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 108, 117, 109, 110, 115, 32, 61, - 61, 32, 110, 117, 108, 108, 41, 32, 99, 111, 108, 117, 109, 110, 115, 32, 61, 32, 105, 110, 102, 101, 114, - 67, 111, 108, 117, 109, 110, 115, 40, 114, 111, 119, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 99, 111, 108, 117, 109, 110, 115, 46, 109, 97, 112, - 40, 102, 111, 114, 109, 97, 116, 86, 97, 108, 117, 101, 41, 46, 106, 111, 105, 110, 40, 100, 101, 108, 105, - 109, 105, 116, 101, 114, 41, 93, 46, 99, 111, 110, 99, 97, 116, 40, 112, 114, 101, 102, 111, 114, 109, 97, - 116, 66, 111, 100, 121, 40, 114, 111, 119, 115, 44, 32, 99, 111, 108, 117, 109, 110, 115, 41, 41, 46, 106, - 111, 105, 110, 40, 34, 92, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 66, - 111, 100, 121, 40, 114, 111, 119, 115, 44, 32, 99, 111, 108, 117, 109, 110, 115, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 108, 117, 109, 110, 115, 32, 61, - 61, 32, 110, 117, 108, 108, 41, 32, 99, 111, 108, 117, 109, 110, 115, 32, 61, 32, 105, 110, 102, 101, 114, - 67, 111, 108, 117, 109, 110, 115, 40, 114, 111, 119, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 101, 102, 111, 114, 109, 97, 116, 66, 111, 100, - 121, 40, 114, 111, 119, 115, 44, 32, 99, 111, 108, 117, 109, 110, 115, 41, 46, 106, 111, 105, 110, 40, 34, - 92, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 82, 111, 119, 115, 40, 114, - 111, 119, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 114, 111, 119, 115, 46, 109, 97, 112, 40, 102, 111, 114, 109, 97, 116, 82, 111, 119, 41, 46, - 106, 111, 105, 110, 40, 34, 92, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, - 82, 111, 119, 40, 114, 111, 119, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 114, 111, 119, 46, 109, 97, 112, 40, 102, 111, 114, 109, 97, 116, 86, 97, - 108, 117, 101, 41, 46, 106, 111, 105, 110, 40, 100, 101, 108, 105, 109, 105, 116, 101, 114, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 86, 97, 108, 117, 101, 40, 118, 97, 108, 117, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, - 108, 117, 101, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 34, 34, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 118, 97, 108, 117, 101, 32, 105, 110, 115, 116, 97, - 110, 99, 101, 111, 102, 32, 68, 97, 116, 101, 32, 63, 32, 102, 111, 114, 109, 97, 116, 68, 97, 116, 101, - 40, 118, 97, 108, 117, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 58, 32, 114, 101, 70, 111, 114, 109, 97, 116, 46, 116, 101, 115, 116, 40, 118, 97, - 108, 117, 101, 32, 43, 61, 32, 34, 34, 41, 32, 63, 32, 34, 92, 34, 34, 32, 43, 32, 118, 97, 108, - 117, 101, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 34, 47, 103, 44, 32, 34, 92, 34, 92, 34, 34, - 41, 32, 43, 32, 34, 92, 34, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 115, 101, 58, 32, 112, 97, 114, - 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 115, 101, 82, 111, - 119, 115, 58, 32, 112, 97, 114, 115, 101, 82, 111, 119, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 58, 32, 102, 111, 114, 109, 97, 116, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 66, 111, 100, 121, 58, 32, 102, 111, - 114, 109, 97, 116, 66, 111, 100, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 109, 97, 116, 82, 111, 119, 115, 58, 32, 102, 111, 114, 109, 97, 116, 82, 111, 119, 115, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 82, 111, 119, 58, 32, - 102, 111, 114, 109, 97, 116, 82, 111, 119, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 109, 97, 116, 86, 97, 108, 117, 101, 58, 32, 102, 111, 114, 109, 97, 116, 86, 97, 108, 117, - 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 118, 97, 114, 32, 99, 115, 118, 36, 49, 32, 61, 32, 100, 115, 118, 70, 111, 114, 109, 97, 116, 40, - 34, 44, 34, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 115, 118, 80, 97, 114, 115, 101, - 32, 61, 32, 99, 115, 118, 36, 49, 46, 112, 97, 114, 115, 101, 59, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 99, 115, 118, 80, 97, 114, 115, 101, 82, 111, 119, 115, 32, 61, 32, 99, 115, 118, 36, 49, 46, 112, - 97, 114, 115, 101, 82, 111, 119, 115, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 115, 118, 70, 111, - 114, 109, 97, 116, 32, 61, 32, 99, 115, 118, 36, 49, 46, 102, 111, 114, 109, 97, 116, 59, 10, 32, 32, - 32, 32, 118, 97, 114, 32, 99, 115, 118, 70, 111, 114, 109, 97, 116, 66, 111, 100, 121, 32, 61, 32, 99, - 115, 118, 36, 49, 46, 102, 111, 114, 109, 97, 116, 66, 111, 100, 121, 59, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 99, 115, 118, 70, 111, 114, 109, 97, 116, 82, 111, 119, 115, 32, 61, 32, 99, 115, 118, 36, 49, - 46, 102, 111, 114, 109, 97, 116, 82, 111, 119, 115, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 115, - 118, 70, 111, 114, 109, 97, 116, 82, 111, 119, 32, 61, 32, 99, 115, 118, 36, 49, 46, 102, 111, 114, 109, - 97, 116, 82, 111, 119, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 115, 118, 70, 111, 114, 109, 97, - 116, 86, 97, 108, 117, 101, 32, 61, 32, 99, 115, 118, 36, 49, 46, 102, 111, 114, 109, 97, 116, 86, 97, - 108, 117, 101, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 115, 118, 36, 49, 32, 61, 32, 100, - 115, 118, 70, 111, 114, 109, 97, 116, 40, 34, 92, 116, 34, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 116, 115, 118, 80, 97, 114, 115, 101, 32, 61, 32, 116, 115, 118, 36, 49, 46, 112, 97, 114, 115, - 101, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 115, 118, 80, 97, 114, 115, 101, 82, 111, 119, 115, - 32, 61, 32, 116, 115, 118, 36, 49, 46, 112, 97, 114, 115, 101, 82, 111, 119, 115, 59, 10, 32, 32, 32, - 32, 118, 97, 114, 32, 116, 115, 118, 70, 111, 114, 109, 97, 116, 32, 61, 32, 116, 115, 118, 36, 49, 46, - 102, 111, 114, 109, 97, 116, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 115, 118, 70, 111, 114, 109, - 97, 116, 66, 111, 100, 121, 32, 61, 32, 116, 115, 118, 36, 49, 46, 102, 111, 114, 109, 97, 116, 66, 111, - 100, 121, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 115, 118, 70, 111, 114, 109, 97, 116, 82, 111, - 119, 115, 32, 61, 32, 116, 115, 118, 36, 49, 46, 102, 111, 114, 109, 97, 116, 82, 111, 119, 115, 59, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 116, 115, 118, 70, 111, 114, 109, 97, 116, 82, 111, 119, 32, 61, 32, - 116, 115, 118, 36, 49, 46, 102, 111, 114, 109, 97, 116, 82, 111, 119, 59, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 116, 115, 118, 70, 111, 114, 109, 97, 116, 86, 97, 108, 117, 101, 32, 61, 32, 116, 115, 118, 36, - 49, 46, 102, 111, 114, 109, 97, 116, 86, 97, 108, 117, 101, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 97, 117, 116, 111, 84, 121, 112, 101, 40, 111, 98, 106, 101, 99, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 107, 101, 121, 32, - 105, 110, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 118, 97, 108, 117, 101, 32, 61, 32, 111, 98, 106, 101, 99, 116, 91, 107, 101, - 121, 93, 46, 116, 114, 105, 109, 40, 41, 44, 32, 110, 117, 109, 98, 101, 114, 44, 32, 109, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 118, 97, 108, 117, 101, 41, 32, - 118, 97, 108, 117, 101, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 34, - 116, 114, 117, 101, 34, 41, 32, 118, 97, 108, 117, 101, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 118, 97, 108, 117, - 101, 32, 61, 61, 61, 32, 34, 102, 97, 108, 115, 101, 34, 41, 32, 118, 97, 108, 117, 101, 32, 61, 32, - 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, - 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 34, 78, 97, 78, 34, 41, 32, 118, - 97, 108, 117, 101, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 33, 105, 115, 78, 97, 78, 40, 110, 117, 109, 98, 101, 114, - 32, 61, 32, 43, 118, 97, 108, 117, 101, 41, 41, 32, 118, 97, 108, 117, 101, 32, 61, 32, 110, 117, 109, - 98, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, - 102, 32, 40, 109, 32, 61, 32, 118, 97, 108, 117, 101, 46, 109, 97, 116, 99, 104, 40, 47, 94, 40, 91, - 45, 43, 93, 92, 100, 123, 50, 125, 41, 63, 92, 100, 123, 52, 125, 40, 45, 92, 100, 123, 50, 125, 40, - 45, 92, 100, 123, 50, 125, 41, 63, 41, 63, 40, 84, 92, 100, 123, 50, 125, 58, 92, 100, 123, 50, 125, - 40, 58, 92, 100, 123, 50, 125, 40, 92, 46, 92, 100, 123, 51, 125, 41, 63, 41, 63, 40, 90, 124, 91, - 45, 43, 93, 92, 100, 123, 50, 125, 58, 92, 100, 123, 50, 125, 41, 63, 41, 63, 36, 47, 41, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, - 105, 120, 116, 122, 32, 38, 38, 32, 33, 33, 109, 91, 52, 93, 32, 38, 38, 32, 33, 109, 91, 55, 93, - 41, 32, 118, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 46, 114, 101, 112, 108, 97, 99, 101, - 40, 47, 45, 47, 103, 44, 32, 34, 47, 34, 41, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 84, 47, - 44, 32, 34, 32, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 108, 117, 101, 32, 61, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 118, 97, 108, 117, 101, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 98, 106, 101, 99, 116, 91, 107, 101, 121, 93, 32, 61, - 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 111, 98, 106, 101, 99, 116, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 47, 47, 32, 104, 116, 116, 112, 115, 58, 47, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, - 47, 100, 51, 47, 100, 51, 45, 100, 115, 118, 47, 105, 115, 115, 117, 101, 115, 47, 52, 53, 10, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 32, 102, 105, 120, 116, 122, 32, 61, 32, 110, 101, 119, 32, 68, 97, 116, - 101, 40, 34, 50, 48, 49, 57, 45, 48, 49, 45, 48, 49, 84, 48, 48, 58, 48, 48, 34, 41, 46, 103, - 101, 116, 72, 111, 117, 114, 115, 40, 41, 32, 124, 124, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 34, - 50, 48, 49, 57, 45, 48, 55, 45, 48, 49, 84, 48, 48, 58, 48, 48, 34, 41, 46, 103, 101, 116, 72, - 111, 117, 114, 115, 40, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, - 101, 115, 112, 111, 110, 115, 101, 66, 108, 111, 98, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 114, 101, 115, 112, 111, 110, 115, 101, 46, - 111, 107, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 114, 101, 115, - 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, 117, 115, 32, 43, 32, 34, 32, 34, 32, 43, 32, 114, 101, - 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, 117, 115, 84, 101, 120, 116, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 115, 112, 111, 110, 115, 101, 46, 98, 108, - 111, 98, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 98, 108, 111, 98, 40, 105, 110, 112, 117, 116, 44, 32, 105, 110, 105, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 101, 116, 99, 104, 40, 105, 110, - 112, 117, 116, 44, 32, 105, 110, 105, 116, 41, 46, 116, 104, 101, 110, 40, 114, 101, 115, 112, 111, 110, 115, - 101, 66, 108, 111, 98, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 114, 101, 115, 112, 111, 110, 115, 101, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, - 114, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 33, 114, 101, 115, 112, 111, 110, 115, 101, 46, 111, 107, 41, 32, 116, 104, 114, 111, 119, 32, - 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 114, 101, 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, - 117, 115, 32, 43, 32, 34, 32, 34, 32, 43, 32, 114, 101, 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, - 116, 117, 115, 84, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 114, 101, 115, 112, 111, 110, 115, 101, 46, 97, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 40, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 98, 117, 102, 102, 101, 114, 40, 105, 110, 112, 117, 116, 44, 32, 105, 110, 105, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 101, 116, 99, 104, 40, 105, 110, 112, - 117, 116, 44, 32, 105, 110, 105, 116, 41, 46, 116, 104, 101, 110, 40, 114, 101, 115, 112, 111, 110, 115, 101, - 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 112, 111, 110, 115, 101, 84, 101, 120, 116, - 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 33, 114, 101, 115, 112, 111, 110, 115, 101, 46, 111, 107, 41, 32, 116, 104, 114, 111, 119, 32, 110, - 101, 119, 32, 69, 114, 114, 111, 114, 40, 114, 101, 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, 117, - 115, 32, 43, 32, 34, 32, 34, 32, 43, 32, 114, 101, 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, - 117, 115, 84, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 114, 101, 115, 112, 111, 110, 115, 101, 46, 116, 101, 120, 116, 40, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 101, 120, 116, 40, 105, 110, 112, - 117, 116, 44, 32, 105, 110, 105, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 101, 116, 99, 104, 40, 105, 110, 112, 117, 116, 44, 32, 105, 110, 105, 116, 41, 46, - 116, 104, 101, 110, 40, 114, 101, 115, 112, 111, 110, 115, 101, 84, 101, 120, 116, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 115, 118, 80, 97, 114, - 115, 101, 40, 112, 97, 114, 115, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 105, 110, 112, 117, 116, 44, 32, 105, 110, 105, - 116, 44, 32, 114, 111, 119, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, - 32, 50, 32, 38, 38, 32, 116, 121, 112, 101, 111, 102, 32, 105, 110, 105, 116, 32, 61, 61, 61, 32, 34, - 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 114, 111, 119, 32, 61, 32, 105, 110, 105, 116, 44, 32, - 105, 110, 105, 116, 32, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 101, 120, 116, 40, 105, 110, 112, 117, - 116, 44, 32, 105, 110, 105, 116, 41, 46, 116, 104, 101, 110, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 114, 101, 115, 112, 111, 110, 115, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 114, 115, 101, 40, 114, 101, 115, 112, 111, - 110, 115, 101, 44, 32, 114, 111, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 115, 118, 40, 100, 101, 108, 105, 109, 105, 116, - 101, 114, 44, 32, 105, 110, 112, 117, 116, 44, 32, 105, 110, 105, 116, 44, 32, 114, 111, 119, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 51, 32, 38, 38, 32, 116, 121, 112, 101, 111, 102, 32, - 105, 110, 105, 116, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 114, 111, - 119, 32, 61, 32, 105, 110, 105, 116, 44, 32, 105, 110, 105, 116, 32, 61, 32, 117, 110, 100, 101, 102, 105, - 110, 101, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 111, 114, 109, 97, 116, - 32, 61, 32, 100, 115, 118, 70, 111, 114, 109, 97, 116, 40, 100, 101, 108, 105, 109, 105, 116, 101, 114, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 101, 120, 116, 40, 105, - 110, 112, 117, 116, 44, 32, 105, 110, 105, 116, 41, 46, 116, 104, 101, 110, 40, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 111, 114, 109, 97, 116, 46, 112, 97, 114, 115, 101, - 40, 114, 101, 115, 112, 111, 110, 115, 101, 44, 32, 114, 111, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 115, - 118, 32, 61, 32, 100, 115, 118, 80, 97, 114, 115, 101, 40, 99, 115, 118, 80, 97, 114, 115, 101, 41, 59, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 115, 118, 32, 61, 32, 100, 115, 118, 80, 97, 114, 115, 101, - 40, 116, 115, 118, 80, 97, 114, 115, 101, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 105, 109, 97, 103, 101, 40, 105, 110, 112, 117, 116, 44, 32, 105, 110, 105, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 80, 114, 111, - 109, 105, 115, 101, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 114, 101, 115, 111, 108, 118, 101, 44, 32, - 114, 101, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 105, 109, 97, 103, 101, 32, 61, 32, 110, 101, 119, 32, 73, 109, 97, 103, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 107, 101, 121, - 32, 105, 110, 32, 105, 110, 105, 116, 41, 32, 105, 109, 97, 103, 101, 91, 107, 101, 121, 93, 32, 61, 32, - 105, 110, 105, 116, 91, 107, 101, 121, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 109, 97, 103, 101, 46, 111, 110, 101, 114, 114, 111, 114, 32, 61, 32, 114, 101, 106, 101, 99, 116, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 109, 97, 103, 101, 46, 111, 110, 108, 111, - 97, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 114, 101, 115, 111, 108, - 118, 101, 40, 105, 109, 97, 103, 101, 41, 59, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 109, 97, 103, 101, 46, 115, 114, 99, 32, 61, 32, 105, 110, 112, 117, 116, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 112, 111, 110, 115, 101, 74, 115, 111, 110, 40, 114, 101, - 115, 112, 111, 110, 115, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, - 114, 101, 115, 112, 111, 110, 115, 101, 46, 111, 107, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, - 69, 114, 114, 111, 114, 40, 114, 101, 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, 117, 115, 32, 43, - 32, 34, 32, 34, 32, 43, 32, 114, 101, 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, 117, 115, 84, - 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 101, 115, 112, 111, - 110, 115, 101, 46, 115, 116, 97, 116, 117, 115, 32, 61, 61, 61, 32, 50, 48, 52, 32, 124, 124, 32, 114, - 101, 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, 117, 115, 32, 61, 61, 61, 32, 50, 48, 53, 41, - 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 114, 101, 115, 112, 111, 110, 115, 101, 46, 106, 115, 111, 110, 40, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 106, 115, 111, 110, 40, 105, 110, 112, - 117, 116, 44, 32, 105, 110, 105, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 101, 116, 99, 104, 40, 105, 110, 112, 117, 116, 44, 32, 105, 110, 105, 116, 41, 46, - 116, 104, 101, 110, 40, 114, 101, 115, 112, 111, 110, 115, 101, 74, 115, 111, 110, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 114, - 40, 116, 121, 112, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 40, 105, 110, 112, 117, 116, 44, 32, 105, 110, 105, 116, 41, 32, 61, 62, 32, 116, 101, 120, 116, 40, - 105, 110, 112, 117, 116, 44, 32, 105, 110, 105, 116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 116, 104, 101, 110, 40, 116, 101, 120, 116, 32, 61, 62, 32, 40, 110, 101, 119, 32, 68, 79, - 77, 80, 97, 114, 115, 101, 114, 41, 46, 112, 97, 114, 115, 101, 70, 114, 111, 109, 83, 116, 114, 105, 110, - 103, 40, 116, 101, 120, 116, 44, 32, 116, 121, 112, 101, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 120, 109, 108, 32, 61, 32, 112, 97, 114, 115, 101, 114, 40, 34, 97, - 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 120, 109, 108, 34, 41, 59, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 104, 116, 109, 108, 32, 61, 32, 112, 97, 114, 115, 101, 114, 40, 34, 116, 101, 120, 116, - 47, 104, 116, 109, 108, 34, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 118, 103, 32, 61, - 32, 112, 97, 114, 115, 101, 114, 40, 34, 105, 109, 97, 103, 101, 47, 115, 118, 103, 43, 120, 109, 108, 34, - 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 101, 114, - 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, - 100, 101, 115, 44, 32, 115, 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 49, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 120, 32, 61, - 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 32, 61, 61, 32, 110, 117, - 108, 108, 41, 32, 121, 32, 61, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 102, 111, 114, 99, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 120, 32, 61, 32, 48, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 121, 32, 61, 32, 48, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, - 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, 91, - 105, 93, 44, 32, 115, 120, 32, 43, 61, 32, 110, 111, 100, 101, 46, 120, 44, 32, 115, 121, 32, 43, 61, - 32, 110, 111, 100, 101, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 115, 120, 32, 61, 32, - 40, 115, 120, 32, 47, 32, 110, 32, 45, 32, 120, 41, 32, 42, 32, 115, 116, 114, 101, 110, 103, 116, 104, - 44, 32, 115, 121, 32, 61, 32, 40, 115, 121, 32, 47, 32, 110, 32, 45, 32, 121, 41, 32, 42, 32, 115, - 116, 114, 101, 110, 103, 116, 104, 44, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, - 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 110, 111, 100, 101, 46, 120, - 32, 45, 61, 32, 115, 120, 44, 32, 110, 111, 100, 101, 46, 121, 32, 45, 61, 32, 115, 121, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 105, 110, 105, 116, 105, 97, 108, 105, - 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 32, 61, 32, 95, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 120, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 120, 32, 61, 32, 43, 95, 44, 32, 102, 111, 114, 99, 101, - 41, 32, 58, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 121, 32, - 61, 32, 43, 95, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 121, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 115, 116, - 114, 101, 110, 103, 116, 104, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 116, 114, 101, 110, 103, 116, - 104, 32, 61, 32, 43, 95, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 115, 116, 114, 101, 110, 103, - 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 102, 111, 114, 99, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 95, 97, 100, 100, 40, 100, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 43, 116, - 104, 105, 115, 46, 95, 120, 46, 99, 97, 108, 108, 40, 110, 117, 108, 108, 44, 32, 100, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 43, 116, 104, 105, 115, 46, 95, 121, - 46, 99, 97, 108, 108, 40, 110, 117, 108, 108, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 97, 100, 100, 40, 116, 104, 105, 115, 46, 99, 111, 118, 101, 114, 40, - 120, 44, 32, 121, 41, 44, 32, 120, 44, 32, 121, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 100, 100, 40, 116, 114, 101, 101, 44, - 32, 120, 44, 32, 121, 44, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 105, 115, 78, 97, 78, 40, 120, 41, 32, 124, 124, 32, 105, 115, 78, 97, 78, 40, 121, 41, 41, 32, - 114, 101, 116, 117, 114, 110, 32, 116, 114, 101, 101, 59, 32, 47, 47, 32, 105, 103, 110, 111, 114, 101, 32, - 105, 110, 118, 97, 108, 105, 100, 32, 112, 111, 105, 110, 116, 115, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 112, 97, 114, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 111, 100, 101, 32, 61, 32, 116, 114, 101, 101, 46, 95, 114, 111, 111, 116, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 97, 102, 32, 61, 32, 123, 100, 97, 116, 97, 58, - 32, 100, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 116, - 114, 101, 101, 46, 95, 120, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, - 32, 61, 32, 116, 114, 101, 101, 46, 95, 121, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 120, 49, 32, 61, 32, 116, 114, 101, 101, 46, 95, 120, 49, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 121, 49, 32, 61, 32, 116, 114, 101, 101, 46, 95, 121, 49, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 121, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 112, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 105, 103, 104, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 98, 111, 116, 116, 111, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 32, 116, 114, 101, 101, 32, 105, 115, 32, 101, 109, 112, - 116, 121, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 32, 116, 104, 101, 32, 114, 111, 111, 116, - 32, 97, 115, 32, 97, 32, 108, 101, 97, 102, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 33, 110, 111, 100, 101, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 101, 101, 46, 95, 114, 111, - 111, 116, 32, 61, 32, 108, 101, 97, 102, 44, 32, 116, 114, 101, 101, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 70, 105, 110, 100, 32, 116, 104, 101, 32, 101, 120, 105, 115, 116, 105, 110, 103, - 32, 108, 101, 97, 102, 32, 102, 111, 114, 32, 116, 104, 101, 32, 110, 101, 119, 32, 112, 111, 105, 110, 116, - 44, 32, 111, 114, 32, 97, 100, 100, 32, 105, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, - 105, 108, 101, 32, 40, 110, 111, 100, 101, 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 105, 103, 104, 116, 32, 61, 32, 120, 32, - 62, 61, 32, 40, 120, 109, 32, 61, 32, 40, 120, 48, 32, 43, 32, 120, 49, 41, 32, 47, 32, 50, 41, - 41, 32, 120, 48, 32, 61, 32, 120, 109, 59, 32, 101, 108, 115, 101, 32, 120, 49, 32, 61, 32, 120, 109, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 111, 116, 116, 111, - 109, 32, 61, 32, 121, 32, 62, 61, 32, 40, 121, 109, 32, 61, 32, 40, 121, 48, 32, 43, 32, 121, 49, - 41, 32, 47, 32, 50, 41, 41, 32, 121, 48, 32, 61, 32, 121, 109, 59, 32, 101, 108, 115, 101, 32, 121, - 49, 32, 61, 32, 121, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 112, 97, 114, 101, 110, 116, 32, 61, 32, 110, 111, 100, 101, 44, 32, 33, 40, 110, 111, 100, 101, 32, - 61, 32, 110, 111, 100, 101, 91, 105, 32, 61, 32, 98, 111, 116, 116, 111, 109, 32, 60, 60, 32, 49, 32, - 124, 32, 114, 105, 103, 104, 116, 93, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 114, 101, 110, - 116, 91, 105, 93, 32, 61, 32, 108, 101, 97, 102, 44, 32, 116, 114, 101, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 115, 32, 116, 104, - 101, 32, 110, 101, 119, 32, 112, 111, 105, 110, 116, 32, 105, 115, 32, 101, 120, 97, 99, 116, 108, 121, 32, - 99, 111, 105, 110, 99, 105, 100, 101, 110, 116, 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 101, 120, 105, - 115, 116, 105, 110, 103, 32, 112, 111, 105, 110, 116, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 112, - 32, 61, 32, 43, 116, 114, 101, 101, 46, 95, 120, 46, 99, 97, 108, 108, 40, 110, 117, 108, 108, 44, 32, - 110, 111, 100, 101, 46, 100, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 112, 32, - 61, 32, 43, 116, 114, 101, 101, 46, 95, 121, 46, 99, 97, 108, 108, 40, 110, 117, 108, 108, 44, 32, 110, - 111, 100, 101, 46, 100, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 120, 32, 61, 61, 61, 32, 120, 112, 32, 38, 38, 32, 121, 32, 61, 61, 61, 32, 121, 112, 41, 32, 114, - 101, 116, 117, 114, 110, 32, 108, 101, 97, 102, 46, 110, 101, 120, 116, 32, 61, 32, 110, 111, 100, 101, 44, - 32, 112, 97, 114, 101, 110, 116, 32, 63, 32, 112, 97, 114, 101, 110, 116, 91, 105, 93, 32, 61, 32, 108, - 101, 97, 102, 32, 58, 32, 116, 114, 101, 101, 46, 95, 114, 111, 111, 116, 32, 61, 32, 108, 101, 97, 102, - 44, 32, 116, 114, 101, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, - 101, 114, 119, 105, 115, 101, 44, 32, 115, 112, 108, 105, 116, 32, 116, 104, 101, 32, 108, 101, 97, 102, 32, - 110, 111, 100, 101, 32, 117, 110, 116, 105, 108, 32, 116, 104, 101, 32, 111, 108, 100, 32, 97, 110, 100, 32, - 110, 101, 119, 32, 112, 111, 105, 110, 116, 32, 97, 114, 101, 32, 115, 101, 112, 97, 114, 97, 116, 101, 100, - 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 97, 114, 101, 110, 116, 32, 61, 32, 112, 97, 114, 101, 110, 116, 32, 63, 32, 112, - 97, 114, 101, 110, 116, 91, 105, 93, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 52, 41, - 32, 58, 32, 116, 114, 101, 101, 46, 95, 114, 111, 111, 116, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, - 97, 121, 40, 52, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 114, 105, 103, 104, 116, 32, 61, 32, 120, 32, 62, 61, 32, 40, 120, 109, 32, 61, 32, 40, 120, 48, 32, - 43, 32, 120, 49, 41, 32, 47, 32, 50, 41, 41, 32, 120, 48, 32, 61, 32, 120, 109, 59, 32, 101, 108, - 115, 101, 32, 120, 49, 32, 61, 32, 120, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 98, 111, 116, 116, 111, 109, 32, 61, 32, 121, 32, 62, 61, 32, 40, 121, 109, 32, - 61, 32, 40, 121, 48, 32, 43, 32, 121, 49, 41, 32, 47, 32, 50, 41, 41, 32, 121, 48, 32, 61, 32, - 121, 109, 59, 32, 101, 108, 115, 101, 32, 121, 49, 32, 61, 32, 121, 109, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 32, 119, 104, 105, 108, 101, 32, 40, 40, 105, 32, 61, 32, 98, 111, 116, 116, 111, 109, - 32, 60, 60, 32, 49, 32, 124, 32, 114, 105, 103, 104, 116, 41, 32, 61, 61, 61, 32, 40, 106, 32, 61, - 32, 40, 121, 112, 32, 62, 61, 32, 121, 109, 41, 32, 60, 60, 32, 49, 32, 124, 32, 40, 120, 112, 32, - 62, 61, 32, 120, 109, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 112, 97, 114, 101, 110, 116, 91, 106, 93, 32, 61, 32, 110, 111, 100, 101, 44, 32, 112, 97, 114, - 101, 110, 116, 91, 105, 93, 32, 61, 32, 108, 101, 97, 102, 44, 32, 116, 114, 101, 101, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 100, 100, 65, 108, - 108, 40, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, - 44, 32, 105, 44, 32, 110, 32, 61, 32, 100, 97, 116, 97, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 122, 32, 61, 32, - 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 121, 122, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, - 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, 73, 110, 102, - 105, 110, 105, 116, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, - 32, 45, 73, 110, 102, 105, 110, 105, 116, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 121, 49, 32, 61, 32, 45, 73, 110, 102, 105, 110, 105, 116, 121, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, 116, 104, 101, 32, 112, 111, 105, 110, 116, - 115, 32, 97, 110, 100, 32, 116, 104, 101, 105, 114, 32, 101, 120, 116, 101, 110, 116, 46, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, - 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 105, 115, 78, 97, 78, 40, 120, 32, 61, 32, 43, 116, 104, 105, 115, 46, 95, 120, 46, 99, 97, 108, - 108, 40, 110, 117, 108, 108, 44, 32, 100, 32, 61, 32, 100, 97, 116, 97, 91, 105, 93, 41, 41, 32, 124, - 124, 32, 105, 115, 78, 97, 78, 40, 121, 32, 61, 32, 43, 116, 104, 105, 115, 46, 95, 121, 46, 99, 97, - 108, 108, 40, 110, 117, 108, 108, 44, 32, 100, 41, 41, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 122, 91, 105, 93, 32, 61, 32, 120, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 122, 91, 105, 93, 32, 61, 32, 121, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 32, 60, 32, 120, 48, - 41, 32, 120, 48, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 120, 32, 62, 32, 120, 49, 41, 32, 120, 49, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 32, 60, 32, 121, 48, 41, 32, 121, 48, 32, - 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 32, - 62, 32, 121, 49, 41, 32, 121, 49, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 114, 101, 32, 119, - 101, 114, 101, 32, 110, 111, 32, 40, 118, 97, 108, 105, 100, 41, 32, 112, 111, 105, 110, 116, 115, 44, 32, - 97, 98, 111, 114, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 48, 32, 62, - 32, 120, 49, 32, 124, 124, 32, 121, 48, 32, 62, 32, 121, 49, 41, 32, 114, 101, 116, 117, 114, 110, 32, - 116, 104, 105, 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 69, 120, 112, 97, 110, - 100, 32, 116, 104, 101, 32, 116, 114, 101, 101, 32, 116, 111, 32, 99, 111, 118, 101, 114, 32, 116, 104, 101, - 32, 110, 101, 119, 32, 112, 111, 105, 110, 116, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 99, 111, 118, 101, 114, 40, 120, 48, 44, 32, 121, 48, 41, 46, 99, 111, 118, 101, 114, 40, - 120, 49, 44, 32, 121, 49, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 65, 100, - 100, 32, 116, 104, 101, 32, 110, 101, 119, 32, 112, 111, 105, 110, 116, 115, 46, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, - 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 100, 100, 40, 116, - 104, 105, 115, 44, 32, 120, 122, 91, 105, 93, 44, 32, 121, 122, 91, 105, 93, 44, 32, 100, 97, 116, 97, - 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 95, 99, 111, 118, 101, 114, 40, - 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 115, 78, - 97, 78, 40, 120, 32, 61, 32, 43, 120, 41, 32, 124, 124, 32, 105, 115, 78, 97, 78, 40, 121, 32, 61, - 32, 43, 121, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 32, 47, 47, 32, 105, - 103, 110, 111, 114, 101, 32, 105, 110, 118, 97, 108, 105, 100, 32, 112, 111, 105, 110, 116, 115, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, - 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, 116, 104, 105, - 115, 46, 95, 121, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 32, 113, 117, 97, 100, 116, 114, 101, 101, 32, 104, 97, 115, - 32, 110, 111, 32, 101, 120, 116, 101, 110, 116, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 32, - 116, 104, 101, 109, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 110, 116, 101, 103, 101, - 114, 32, 101, 120, 116, 101, 110, 116, 32, 97, 114, 101, 32, 110, 101, 99, 101, 115, 115, 97, 114, 121, 32, - 115, 111, 32, 116, 104, 97, 116, 32, 105, 102, 32, 119, 101, 32, 108, 97, 116, 101, 114, 32, 100, 111, 117, - 98, 108, 101, 32, 116, 104, 101, 32, 101, 120, 116, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 116, 104, 101, 32, 101, 120, 105, 115, 116, 105, 110, 103, 32, 113, 117, 97, 100, 114, 97, - 110, 116, 32, 98, 111, 117, 110, 100, 97, 114, 105, 101, 115, 32, 100, 111, 110, 226, 128, 153, 116, 32, 99, - 104, 97, 110, 103, 101, 32, 100, 117, 101, 32, 116, 111, 32, 102, 108, 111, 97, 116, 105, 110, 103, 32, 112, - 111, 105, 110, 116, 32, 101, 114, 114, 111, 114, 33, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 105, 115, 78, 97, 78, 40, 120, 48, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 49, 32, 61, 32, 40, 120, 48, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, - 114, 40, 120, 41, 41, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 121, 49, 32, 61, 32, 40, 121, 48, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 121, - 41, 41, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, 101, 114, 119, 105, 115, 101, 44, 32, 100, 111, 117, 98, 108, - 101, 32, 114, 101, 112, 101, 97, 116, 101, 100, 108, 121, 32, 116, 111, 32, 99, 111, 118, 101, 114, 46, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 122, 32, 61, 32, 120, 49, 32, 45, 32, 120, 48, 32, 124, 124, 32, - 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, - 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 119, 104, 105, 108, 101, 32, 40, 120, 48, 32, 62, 32, 120, 32, 124, 124, 32, 120, 32, 62, 61, - 32, 120, 49, 32, 124, 124, 32, 121, 48, 32, 62, 32, 121, 32, 124, 124, 32, 121, 32, 62, 61, 32, 121, - 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, - 61, 32, 40, 121, 32, 60, 32, 121, 48, 41, 32, 60, 60, 32, 49, 32, 124, 32, 40, 120, 32, 60, 32, - 120, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, - 114, 101, 110, 116, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 52, 41, 44, 32, 112, 97, - 114, 101, 110, 116, 91, 105, 93, 32, 61, 32, 110, 111, 100, 101, 44, 32, 110, 111, 100, 101, 32, 61, 32, - 112, 97, 114, 101, 110, 116, 44, 32, 122, 32, 42, 61, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 105, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, - 32, 48, 58, 32, 120, 49, 32, 61, 32, 120, 48, 32, 43, 32, 122, 44, 32, 121, 49, 32, 61, 32, 121, - 48, 32, 43, 32, 122, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 32, 120, 48, 32, 61, - 32, 120, 49, 32, 45, 32, 122, 44, 32, 121, 49, 32, 61, 32, 121, 48, 32, 43, 32, 122, 59, 32, 98, - 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 120, 49, 32, 61, 32, 120, 48, 32, 43, 32, 122, 44, - 32, 121, 48, 32, 61, 32, 121, 49, 32, 45, 32, 122, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, - 51, 58, 32, 120, 48, 32, 61, 32, 120, 49, 32, 45, 32, 122, 44, 32, 121, 48, 32, 61, 32, 121, 49, - 32, 45, 32, 122, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 114, - 111, 111, 116, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, 46, 108, 101, 110, 103, 116, - 104, 41, 32, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 120, 48, 32, 61, 32, 120, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 121, 48, 32, 61, 32, 121, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 120, 49, 32, 61, 32, 120, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 121, 49, 32, 61, 32, 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 116, 114, 101, 101, 95, 100, 97, 116, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, 116, 97, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 118, 105, 115, 105, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 33, 110, 111, 100, 101, 46, 108, 101, 110, 103, 116, 104, 41, 32, 100, 111, 32, 100, 97, 116, 97, - 46, 112, 117, 115, 104, 40, 110, 111, 100, 101, 46, 100, 97, 116, 97, 41, 59, 32, 119, 104, 105, 108, 101, - 32, 40, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 46, 110, 101, 120, 116, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 100, 97, 116, 97, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 116, 114, 101, 101, 95, 101, 120, 116, 101, 110, 116, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 116, 104, - 105, 115, 46, 99, 111, 118, 101, 114, 40, 43, 95, 91, 48, 93, 91, 48, 93, 44, 32, 43, 95, 91, 48, - 93, 91, 49, 93, 41, 46, 99, 111, 118, 101, 114, 40, 43, 95, 91, 49, 93, 91, 48, 93, 44, 32, 43, - 95, 91, 49, 93, 91, 49, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, - 105, 115, 78, 97, 78, 40, 116, 104, 105, 115, 46, 95, 120, 48, 41, 32, 63, 32, 117, 110, 100, 101, 102, - 105, 110, 101, 100, 32, 58, 32, 91, 91, 116, 104, 105, 115, 46, 95, 120, 48, 44, 32, 116, 104, 105, 115, - 46, 95, 121, 48, 93, 44, 32, 91, 116, 104, 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, - 95, 121, 49, 93, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 81, 117, 97, 100, 40, 110, 111, 100, 101, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, - 120, 49, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 120, 48, 32, 61, 32, 120, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 121, 48, 32, 61, 32, 121, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 120, 49, 32, 61, 32, 120, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 121, 49, 32, 61, 32, 121, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 95, 102, 105, 110, 100, 40, 120, 44, 32, 121, 44, 32, 114, - 97, 100, 105, 117, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, - 116, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 120, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 121, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 120, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 121, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 51, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 121, 51, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 113, 117, 97, 100, 115, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 111, 100, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, - 100, 101, 41, 32, 113, 117, 97, 100, 115, 46, 112, 117, 115, 104, 40, 110, 101, 119, 32, 81, 117, 97, 100, - 40, 110, 111, 100, 101, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 51, 44, 32, 121, 51, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 97, 100, 105, 117, 115, 32, 61, 61, - 32, 110, 117, 108, 108, 41, 32, 114, 97, 100, 105, 117, 115, 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, - 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 120, 32, 45, 32, 114, 97, 100, 105, 117, 115, 44, - 32, 121, 48, 32, 61, 32, 121, 32, 45, 32, 114, 97, 100, 105, 117, 115, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 120, 51, 32, 61, 32, 120, 32, 43, 32, 114, 97, 100, 105, 117, 115, 44, - 32, 121, 51, 32, 61, 32, 121, 32, 43, 32, 114, 97, 100, 105, 117, 115, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 97, 100, 105, 117, 115, 32, 42, 61, 32, 114, 97, 100, 105, 117, 115, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, - 105, 108, 101, 32, 40, 113, 32, 61, 32, 113, 117, 97, 100, 115, 46, 112, 111, 112, 40, 41, 41, 32, 123, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 83, 116, 111, 112, 32, 115, - 101, 97, 114, 99, 104, 105, 110, 103, 32, 105, 102, 32, 116, 104, 105, 115, 32, 113, 117, 97, 100, 114, 97, - 110, 116, 32, 99, 97, 110, 226, 128, 153, 116, 32, 99, 111, 110, 116, 97, 105, 110, 32, 97, 32, 99, 108, - 111, 115, 101, 114, 32, 110, 111, 100, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 33, 40, 110, 111, 100, 101, 32, 61, 32, 113, 46, 110, 111, 100, 101, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 124, 32, 40, 120, 49, 32, 61, 32, - 113, 46, 120, 48, 41, 32, 62, 32, 120, 51, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 124, 124, 32, 40, 121, 49, 32, 61, 32, 113, 46, 121, 48, 41, 32, 62, 32, 121, 51, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 124, 32, 40, 120, 50, - 32, 61, 32, 113, 46, 120, 49, 41, 32, 60, 32, 120, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 124, 124, 32, 40, 121, 50, 32, 61, 32, 113, 46, 121, 49, 41, 32, 60, - 32, 121, 48, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 47, 47, 32, 66, 105, 115, 101, 99, 116, 32, 116, 104, 101, 32, 99, 117, 114, 114, - 101, 110, 116, 32, 113, 117, 97, 100, 114, 97, 110, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 109, 32, 61, - 32, 40, 120, 49, 32, 43, 32, 120, 50, 41, 32, 47, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 109, 32, 61, 32, 40, 121, 49, 32, 43, - 32, 121, 50, 41, 32, 47, 32, 50, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 113, 117, 97, 100, 115, 46, 112, 117, 115, 104, 40, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 101, 119, 32, 81, 117, 97, 100, 40, 110, - 111, 100, 101, 91, 51, 93, 44, 32, 120, 109, 44, 32, 121, 109, 44, 32, 120, 50, 44, 32, 121, 50, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 101, 119, 32, 81, 117, 97, 100, 40, 110, 111, 100, 101, 91, 50, 93, 44, 32, 120, 49, 44, 32, 121, 109, - 44, 32, 120, 109, 44, 32, 121, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 110, 101, 119, 32, 81, 117, 97, 100, 40, 110, 111, 100, 101, 91, 49, - 93, 44, 32, 120, 109, 44, 32, 121, 49, 44, 32, 120, 50, 44, 32, 121, 109, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 101, 119, 32, 81, 117, - 97, 100, 40, 110, 111, 100, 101, 91, 48, 93, 44, 32, 120, 49, 44, 32, 121, 49, 44, 32, 120, 109, 44, - 32, 121, 109, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 86, 105, - 115, 105, 116, 32, 116, 104, 101, 32, 99, 108, 111, 115, 101, 115, 116, 32, 113, 117, 97, 100, 114, 97, 110, - 116, 32, 102, 105, 114, 115, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 105, 32, 61, 32, 40, 121, 32, 62, 61, 32, 121, 109, 41, 32, 60, 60, 32, - 49, 32, 124, 32, 40, 120, 32, 62, 61, 32, 120, 109, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 113, 117, 97, 100, 115, - 91, 113, 117, 97, 100, 115, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 117, 97, 100, 115, 91, - 113, 117, 97, 100, 115, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 32, 61, 32, 113, 117, 97, - 100, 115, 91, 113, 117, 97, 100, 115, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 32, 45, 32, 105, - 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 113, 117, 97, 100, 115, 91, 113, 117, 97, 100, 115, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 32, - 45, 32, 105, 93, 32, 61, 32, 113, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 86, 105, 115, 105, 116, 32, 116, 104, 105, 115, 32, - 112, 111, 105, 110, 116, 46, 32, 40, 86, 105, 115, 105, 116, 105, 110, 103, 32, 99, 111, 105, 110, 99, 105, - 100, 101, 110, 116, 32, 112, 111, 105, 110, 116, 115, 32, 105, 115, 110, 226, 128, 153, 116, 32, 110, 101, 99, - 101, 115, 115, 97, 114, 121, 33, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, - 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 100, 120, 32, 61, 32, 120, 32, 45, 32, 43, 116, 104, 105, 115, 46, 95, 120, 46, 99, 97, 108, - 108, 40, 110, 117, 108, 108, 44, 32, 110, 111, 100, 101, 46, 100, 97, 116, 97, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 121, - 32, 45, 32, 43, 116, 104, 105, 115, 46, 95, 121, 46, 99, 97, 108, 108, 40, 110, 117, 108, 108, 44, 32, - 110, 111, 100, 101, 46, 100, 97, 116, 97, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 50, 32, 61, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, - 32, 100, 121, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 100, 50, 32, 60, 32, 114, 97, 100, 105, 117, 115, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 100, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 114, 97, 100, 105, 117, 115, 32, 61, 32, - 100, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 120, 48, 32, 61, 32, 120, 32, 45, 32, 100, 44, 32, 121, 48, 32, 61, 32, 121, 32, 45, 32, - 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 51, 32, 61, 32, 120, 32, 43, 32, 100, 44, 32, 121, 51, 32, 61, 32, 121, 32, 43, 32, 100, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, - 116, 97, 32, 61, 32, 110, 111, 100, 101, 46, 100, 97, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 100, 97, 116, 97, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 95, 114, 101, 109, 111, 118, 101, 40, 100, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 115, 78, 97, 78, 40, 120, 32, 61, - 32, 43, 116, 104, 105, 115, 46, 95, 120, 46, 99, 97, 108, 108, 40, 110, 117, 108, 108, 44, 32, 100, 41, - 41, 32, 124, 124, 32, 105, 115, 78, 97, 78, 40, 121, 32, 61, 32, 43, 116, 104, 105, 115, 46, 95, 121, - 46, 99, 97, 108, 108, 40, 110, 117, 108, 108, 44, 32, 100, 41, 41, 41, 32, 114, 101, 116, 117, 114, 110, - 32, 116, 104, 105, 115, 59, 32, 47, 47, 32, 105, 103, 110, 111, 114, 101, 32, 105, 110, 118, 97, 108, 105, - 100, 32, 112, 111, 105, 110, 116, 115, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, - 97, 114, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, - 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 97, 105, 110, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 112, 114, 101, 118, 105, 111, 117, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 101, 120, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 120, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 109, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 109, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 105, 103, 104, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 111, 116, 116, 111, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 32, 116, 114, 101, 101, 32, 105, 115, 32, 101, 109, - 112, 116, 121, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 32, 116, 104, 101, 32, 114, 111, 111, - 116, 32, 97, 115, 32, 97, 32, 108, 101, 97, 102, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 33, 110, 111, 100, 101, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 70, 105, 110, 100, 32, 116, 104, 101, 32, 108, 101, 97, - 102, 32, 110, 111, 100, 101, 32, 102, 111, 114, 32, 116, 104, 101, 32, 112, 111, 105, 110, 116, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 87, 104, 105, 108, 101, 32, 100, 101, 115, 99, 101, 110, 100, - 105, 110, 103, 44, 32, 97, 108, 115, 111, 32, 114, 101, 116, 97, 105, 110, 32, 116, 104, 101, 32, 100, 101, - 101, 112, 101, 115, 116, 32, 112, 97, 114, 101, 110, 116, 32, 119, 105, 116, 104, 32, 97, 32, 110, 111, 110, - 45, 114, 101, 109, 111, 118, 101, 100, 32, 115, 105, 98, 108, 105, 110, 103, 46, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 46, 108, 101, 110, 103, 116, 104, 41, 32, 119, 104, 105, - 108, 101, 32, 40, 116, 114, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 114, 105, 103, 104, 116, 32, 61, 32, 120, 32, 62, 61, 32, 40, 120, 109, 32, 61, - 32, 40, 120, 48, 32, 43, 32, 120, 49, 41, 32, 47, 32, 50, 41, 41, 32, 120, 48, 32, 61, 32, 120, - 109, 59, 32, 101, 108, 115, 101, 32, 120, 49, 32, 61, 32, 120, 109, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 111, 116, 116, 111, 109, 32, 61, 32, 121, 32, 62, 61, - 32, 40, 121, 109, 32, 61, 32, 40, 121, 48, 32, 43, 32, 121, 49, 41, 32, 47, 32, 50, 41, 41, 32, - 121, 48, 32, 61, 32, 121, 109, 59, 32, 101, 108, 115, 101, 32, 121, 49, 32, 61, 32, 121, 109, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 112, 97, 114, 101, 110, - 116, 32, 61, 32, 110, 111, 100, 101, 44, 32, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 91, 105, - 32, 61, 32, 98, 111, 116, 116, 111, 109, 32, 60, 60, 32, 49, 32, 124, 32, 114, 105, 103, 104, 116, 93, - 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 110, 111, 100, 101, 46, 108, 101, 110, 103, 116, 104, 41, 32, - 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 112, 97, 114, 101, 110, 116, 91, 40, 105, 32, 43, 32, 49, 41, 32, 38, 32, 51, 93, 32, 124, 124, 32, - 112, 97, 114, 101, 110, 116, 91, 40, 105, 32, 43, 32, 50, 41, 32, 38, 32, 51, 93, 32, 124, 124, 32, - 112, 97, 114, 101, 110, 116, 91, 40, 105, 32, 43, 32, 51, 41, 32, 38, 32, 51, 93, 41, 32, 114, 101, - 116, 97, 105, 110, 101, 114, 32, 61, 32, 112, 97, 114, 101, 110, 116, 44, 32, 106, 32, 61, 32, 105, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, - 70, 105, 110, 100, 32, 116, 104, 101, 32, 112, 111, 105, 110, 116, 32, 116, 111, 32, 114, 101, 109, 111, 118, - 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 110, 111, 100, 101, 46, - 100, 97, 116, 97, 32, 33, 61, 61, 32, 100, 41, 32, 105, 102, 32, 40, 33, 40, 112, 114, 101, 118, 105, - 111, 117, 115, 32, 61, 32, 110, 111, 100, 101, 44, 32, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, - 46, 110, 101, 120, 116, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 101, 120, 116, 32, 61, 32, 110, 111, 100, 101, 46, 110, - 101, 120, 116, 41, 32, 100, 101, 108, 101, 116, 101, 32, 110, 111, 100, 101, 46, 110, 101, 120, 116, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 114, 101, 32, 97, 114, - 101, 32, 109, 117, 108, 116, 105, 112, 108, 101, 32, 99, 111, 105, 110, 99, 105, 100, 101, 110, 116, 32, 112, - 111, 105, 110, 116, 115, 44, 32, 114, 101, 109, 111, 118, 101, 32, 106, 117, 115, 116, 32, 116, 104, 101, 32, - 112, 111, 105, 110, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 114, 101, 118, - 105, 111, 117, 115, 41, 32, 114, 101, 116, 117, 114, 110, 32, 40, 110, 101, 120, 116, 32, 63, 32, 112, 114, - 101, 118, 105, 111, 117, 115, 46, 110, 101, 120, 116, 32, 61, 32, 110, 101, 120, 116, 32, 58, 32, 100, 101, - 108, 101, 116, 101, 32, 112, 114, 101, 118, 105, 111, 117, 115, 46, 110, 101, 120, 116, 41, 44, 32, 116, 104, - 105, 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 105, 115, - 32, 105, 115, 32, 116, 104, 101, 32, 114, 111, 111, 116, 32, 112, 111, 105, 110, 116, 44, 32, 114, 101, 109, - 111, 118, 101, 32, 105, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 112, 97, - 114, 101, 110, 116, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, - 32, 61, 32, 110, 101, 120, 116, 44, 32, 116, 104, 105, 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 82, 101, 109, 111, 118, 101, 32, 116, 104, 105, 115, 32, 108, 101, 97, 102, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 110, 101, 120, 116, 32, 63, 32, 112, 97, 114, 101, 110, 116, 91, 105, 93, - 32, 61, 32, 110, 101, 120, 116, 32, 58, 32, 100, 101, 108, 101, 116, 101, 32, 112, 97, 114, 101, 110, 116, - 91, 105, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, - 32, 112, 97, 114, 101, 110, 116, 32, 110, 111, 119, 32, 99, 111, 110, 116, 97, 105, 110, 115, 32, 101, 120, - 97, 99, 116, 108, 121, 32, 111, 110, 101, 32, 108, 101, 97, 102, 44, 32, 99, 111, 108, 108, 97, 112, 115, - 101, 32, 115, 117, 112, 101, 114, 102, 108, 117, 111, 117, 115, 32, 112, 97, 114, 101, 110, 116, 115, 46, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 110, 111, 100, 101, 32, 61, 32, 112, 97, 114, - 101, 110, 116, 91, 48, 93, 32, 124, 124, 32, 112, 97, 114, 101, 110, 116, 91, 49, 93, 32, 124, 124, 32, - 112, 97, 114, 101, 110, 116, 91, 50, 93, 32, 124, 124, 32, 112, 97, 114, 101, 110, 116, 91, 51, 93, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 110, 111, 100, 101, 32, 61, 61, - 61, 32, 40, 112, 97, 114, 101, 110, 116, 91, 51, 93, 32, 124, 124, 32, 112, 97, 114, 101, 110, 116, 91, - 50, 93, 32, 124, 124, 32, 112, 97, 114, 101, 110, 116, 91, 49, 93, 32, 124, 124, 32, 112, 97, 114, 101, - 110, 116, 91, 48, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 33, - 110, 111, 100, 101, 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 114, 101, 116, 97, 105, 110, 101, 114, 41, 32, 114, 101, 116, 97, 105, - 110, 101, 114, 91, 106, 93, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 101, 108, 115, 101, 32, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, 32, 61, 32, 110, - 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 109, 111, 118, 101, 65, 108, 108, 40, 100, 97, - 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, - 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 100, 97, 116, 97, 46, 108, 101, 110, 103, 116, 104, 59, - 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 116, 104, 105, 115, 46, 114, 101, 109, 111, 118, - 101, 40, 100, 97, 116, 97, 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 95, 114, 111, 111, 116, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, - 114, 101, 101, 95, 115, 105, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 115, 105, 122, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 118, 105, 115, 105, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 110, 111, 100, 101, - 46, 108, 101, 110, 103, 116, 104, 41, 32, 100, 111, 32, 43, 43, 115, 105, 122, 101, 59, 32, 119, 104, 105, - 108, 101, 32, 40, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 46, 110, 101, 120, 116, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 115, 105, 122, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 95, 118, 105, 115, 105, 116, 40, 99, 97, 108, 108, 98, 97, - 99, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 113, 117, 97, 100, 115, - 32, 61, 32, 91, 93, 44, 32, 113, 44, 32, 110, 111, 100, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 114, 111, 111, 116, 44, 32, 99, 104, 105, 108, 100, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, - 44, 32, 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 41, - 32, 113, 117, 97, 100, 115, 46, 112, 117, 115, 104, 40, 110, 101, 119, 32, 81, 117, 97, 100, 40, 110, 111, - 100, 101, 44, 32, 116, 104, 105, 115, 46, 95, 120, 48, 44, 32, 116, 104, 105, 115, 46, 95, 121, 48, 44, - 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 41, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 113, 32, 61, 32, 113, 117, 97, 100, - 115, 46, 112, 111, 112, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 33, 99, 97, 108, 108, 98, 97, 99, 107, 40, 110, 111, 100, 101, 32, 61, 32, 113, 46, - 110, 111, 100, 101, 44, 32, 120, 48, 32, 61, 32, 113, 46, 120, 48, 44, 32, 121, 48, 32, 61, 32, 113, - 46, 121, 48, 44, 32, 120, 49, 32, 61, 32, 113, 46, 120, 49, 44, 32, 121, 49, 32, 61, 32, 113, 46, - 121, 49, 41, 32, 38, 38, 32, 110, 111, 100, 101, 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 109, 32, 61, - 32, 40, 120, 48, 32, 43, 32, 120, 49, 41, 32, 47, 32, 50, 44, 32, 121, 109, 32, 61, 32, 40, 121, - 48, 32, 43, 32, 121, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 32, 61, 32, 110, 111, 100, 101, 91, - 51, 93, 41, 32, 113, 117, 97, 100, 115, 46, 112, 117, 115, 104, 40, 110, 101, 119, 32, 81, 117, 97, 100, - 40, 99, 104, 105, 108, 100, 44, 32, 120, 109, 44, 32, 121, 109, 44, 32, 120, 49, 44, 32, 121, 49, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 99, 104, 105, 108, 100, 32, 61, 32, 110, 111, 100, 101, 91, 50, 93, 41, 32, 113, 117, 97, 100, 115, 46, - 112, 117, 115, 104, 40, 110, 101, 119, 32, 81, 117, 97, 100, 40, 99, 104, 105, 108, 100, 44, 32, 120, 48, - 44, 32, 121, 109, 44, 32, 120, 109, 44, 32, 121, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 32, 61, 32, 110, 111, - 100, 101, 91, 49, 93, 41, 32, 113, 117, 97, 100, 115, 46, 112, 117, 115, 104, 40, 110, 101, 119, 32, 81, - 117, 97, 100, 40, 99, 104, 105, 108, 100, 44, 32, 120, 109, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, - 121, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 99, 104, 105, 108, 100, 32, 61, 32, 110, 111, 100, 101, 91, 48, 93, 41, 32, 113, 117, 97, - 100, 115, 46, 112, 117, 115, 104, 40, 110, 101, 119, 32, 81, 117, 97, 100, 40, 99, 104, 105, 108, 100, 44, - 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 109, 44, 32, 121, 109, 41, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 95, 118, 105, 115, - 105, 116, 65, 102, 116, 101, 114, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 113, 117, 97, 100, 115, 32, 61, 32, 91, 93, 44, 32, 110, 101, - 120, 116, 32, 61, 32, 91, 93, 44, 32, 113, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, 41, 32, 113, 117, 97, 100, 115, 46, 112, 117, 115, 104, - 40, 110, 101, 119, 32, 81, 117, 97, 100, 40, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, 44, 32, 116, - 104, 105, 115, 46, 95, 120, 48, 44, 32, 116, 104, 105, 115, 46, 95, 121, 48, 44, 32, 116, 104, 105, 115, - 46, 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 113, 32, 61, 32, 113, 117, 97, 100, 115, 46, 112, 111, 112, - 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, - 111, 100, 101, 32, 61, 32, 113, 46, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 104, 105, 108, - 100, 44, 32, 120, 48, 32, 61, 32, 113, 46, 120, 48, 44, 32, 121, 48, 32, 61, 32, 113, 46, 121, 48, - 44, 32, 120, 49, 32, 61, 32, 113, 46, 120, 49, 44, 32, 121, 49, 32, 61, 32, 113, 46, 121, 49, 44, - 32, 120, 109, 32, 61, 32, 40, 120, 48, 32, 43, 32, 120, 49, 41, 32, 47, 32, 50, 44, 32, 121, 109, - 32, 61, 32, 40, 121, 48, 32, 43, 32, 121, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 32, 61, 32, - 110, 111, 100, 101, 91, 48, 93, 41, 32, 113, 117, 97, 100, 115, 46, 112, 117, 115, 104, 40, 110, 101, 119, - 32, 81, 117, 97, 100, 40, 99, 104, 105, 108, 100, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 109, - 44, 32, 121, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 32, 61, 32, 110, 111, 100, 101, 91, 49, 93, 41, 32, 113, - 117, 97, 100, 115, 46, 112, 117, 115, 104, 40, 110, 101, 119, 32, 81, 117, 97, 100, 40, 99, 104, 105, 108, - 100, 44, 32, 120, 109, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 109, 41, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, - 32, 61, 32, 110, 111, 100, 101, 91, 50, 93, 41, 32, 113, 117, 97, 100, 115, 46, 112, 117, 115, 104, 40, - 110, 101, 119, 32, 81, 117, 97, 100, 40, 99, 104, 105, 108, 100, 44, 32, 120, 48, 44, 32, 121, 109, 44, - 32, 120, 109, 44, 32, 121, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 32, 61, 32, 110, 111, 100, 101, 91, 51, 93, - 41, 32, 113, 117, 97, 100, 115, 46, 112, 117, 115, 104, 40, 110, 101, 119, 32, 81, 117, 97, 100, 40, 99, - 104, 105, 108, 100, 44, 32, 120, 109, 44, 32, 121, 109, 44, 32, 120, 49, 44, 32, 121, 49, 41, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 110, 101, 120, 116, 46, 112, 117, 115, 104, 40, 113, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 113, 32, 61, - 32, 110, 101, 120, 116, 46, 112, 111, 112, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 97, 108, 108, 98, 97, 99, 107, 40, 113, 46, 110, 111, 100, 101, 44, 32, 113, 46, - 120, 48, 44, 32, 113, 46, 121, 48, 44, 32, 113, 46, 120, 49, 44, 32, 113, 46, 121, 49, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 88, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 91, 48, 93, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 95, 120, 40, 95, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 104, 105, 115, 46, 95, 120, 32, - 61, 32, 95, 44, 32, 116, 104, 105, 115, 41, 32, 58, 32, 116, 104, 105, 115, 46, 95, 120, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, - 117, 108, 116, 89, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 100, 91, 49, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 116, 114, 101, 101, 95, 121, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 116, 104, 105, 115, 46, 95, 121, 32, 61, 32, 95, 44, 32, 116, 104, 105, 115, - 41, 32, 58, 32, 116, 104, 105, 115, 46, 95, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 113, 117, 97, 100, 116, 114, 101, 101, 40, 110, 111, 100, 101, - 115, 44, 32, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 116, 114, 101, 101, 32, 61, 32, 110, 101, 119, 32, 81, 117, 97, 100, 116, 114, 101, 101, 40, 120, 32, 61, - 61, 32, 110, 117, 108, 108, 32, 63, 32, 100, 101, 102, 97, 117, 108, 116, 88, 32, 58, 32, 120, 44, 32, - 121, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 100, 101, 102, 97, 117, 108, 116, 89, 32, 58, 32, - 121, 44, 32, 78, 97, 78, 44, 32, 78, 97, 78, 44, 32, 78, 97, 78, 44, 32, 78, 97, 78, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 111, 100, 101, 115, 32, 61, - 61, 32, 110, 117, 108, 108, 32, 63, 32, 116, 114, 101, 101, 32, 58, 32, 116, 114, 101, 101, 46, 97, 100, - 100, 65, 108, 108, 40, 110, 111, 100, 101, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 81, 117, 97, 100, 116, 114, 101, 101, 40, 120, 44, 32, 121, - 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 120, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 121, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 120, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, 32, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, - 101, 97, 102, 95, 99, 111, 112, 121, 40, 108, 101, 97, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 99, 111, 112, 121, 32, 61, 32, 123, 100, 97, 116, 97, 58, 32, 108, 101, 97, - 102, 46, 100, 97, 116, 97, 125, 44, 32, 110, 101, 120, 116, 32, 61, 32, 99, 111, 112, 121, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 108, 101, 97, 102, 32, 61, 32, 108, 101, - 97, 102, 46, 110, 101, 120, 116, 41, 32, 110, 101, 120, 116, 32, 61, 32, 110, 101, 120, 116, 46, 110, 101, - 120, 116, 32, 61, 32, 123, 100, 97, 116, 97, 58, 32, 108, 101, 97, 102, 46, 100, 97, 116, 97, 125, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 112, 121, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 114, 101, 101, 80, 114, 111, 116, 111, - 32, 61, 32, 113, 117, 97, 100, 116, 114, 101, 101, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, - 32, 81, 117, 97, 100, 116, 114, 101, 101, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 59, 10, 10, 32, - 32, 32, 32, 116, 114, 101, 101, 80, 114, 111, 116, 111, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, - 111, 112, 121, 32, 61, 32, 110, 101, 119, 32, 81, 117, 97, 100, 116, 114, 101, 101, 40, 116, 104, 105, 115, - 46, 95, 120, 44, 32, 116, 104, 105, 115, 46, 95, 121, 44, 32, 116, 104, 105, 115, 46, 95, 120, 48, 44, - 32, 116, 104, 105, 115, 46, 95, 121, 48, 44, 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, - 105, 115, 46, 95, 121, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, - 100, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 111, 111, 116, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 104, 105, 108, 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, - 110, 111, 100, 101, 41, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 112, 121, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 110, 111, 100, 101, 46, 108, 101, 110, 103, 116, 104, 41, 32, - 114, 101, 116, 117, 114, 110, 32, 99, 111, 112, 121, 46, 95, 114, 111, 111, 116, 32, 61, 32, 108, 101, 97, - 102, 95, 99, 111, 112, 121, 40, 110, 111, 100, 101, 41, 44, 32, 99, 111, 112, 121, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 32, 61, 32, 91, 123, 115, 111, 117, 114, 99, 101, 58, - 32, 110, 111, 100, 101, 44, 32, 116, 97, 114, 103, 101, 116, 58, 32, 99, 111, 112, 121, 46, 95, 114, 111, - 111, 116, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 52, 41, 125, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, - 101, 115, 46, 112, 111, 112, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 52, 59, - 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 32, 61, 32, 110, 111, 100, 101, 46, 115, 111, 117, 114, 99, - 101, 91, 105, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 46, 108, 101, 110, 103, 116, 104, 41, 32, - 110, 111, 100, 101, 115, 46, 112, 117, 115, 104, 40, 123, 115, 111, 117, 114, 99, 101, 58, 32, 99, 104, 105, - 108, 100, 44, 32, 116, 97, 114, 103, 101, 116, 58, 32, 110, 111, 100, 101, 46, 116, 97, 114, 103, 101, 116, - 91, 105, 93, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 52, 41, 125, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, - 32, 110, 111, 100, 101, 46, 116, 97, 114, 103, 101, 116, 91, 105, 93, 32, 61, 32, 108, 101, 97, 102, 95, - 99, 111, 112, 121, 40, 99, 104, 105, 108, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 99, 111, 112, 121, 59, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 116, 114, 101, - 101, 80, 114, 111, 116, 111, 46, 97, 100, 100, 32, 61, 32, 116, 114, 101, 101, 95, 97, 100, 100, 59, 10, - 32, 32, 32, 32, 116, 114, 101, 101, 80, 114, 111, 116, 111, 46, 97, 100, 100, 65, 108, 108, 32, 61, 32, - 97, 100, 100, 65, 108, 108, 59, 10, 32, 32, 32, 32, 116, 114, 101, 101, 80, 114, 111, 116, 111, 46, 99, - 111, 118, 101, 114, 32, 61, 32, 116, 114, 101, 101, 95, 99, 111, 118, 101, 114, 59, 10, 32, 32, 32, 32, - 116, 114, 101, 101, 80, 114, 111, 116, 111, 46, 100, 97, 116, 97, 32, 61, 32, 116, 114, 101, 101, 95, 100, - 97, 116, 97, 59, 10, 32, 32, 32, 32, 116, 114, 101, 101, 80, 114, 111, 116, 111, 46, 101, 120, 116, 101, - 110, 116, 32, 61, 32, 116, 114, 101, 101, 95, 101, 120, 116, 101, 110, 116, 59, 10, 32, 32, 32, 32, 116, - 114, 101, 101, 80, 114, 111, 116, 111, 46, 102, 105, 110, 100, 32, 61, 32, 116, 114, 101, 101, 95, 102, 105, - 110, 100, 59, 10, 32, 32, 32, 32, 116, 114, 101, 101, 80, 114, 111, 116, 111, 46, 114, 101, 109, 111, 118, - 101, 32, 61, 32, 116, 114, 101, 101, 95, 114, 101, 109, 111, 118, 101, 59, 10, 32, 32, 32, 32, 116, 114, - 101, 101, 80, 114, 111, 116, 111, 46, 114, 101, 109, 111, 118, 101, 65, 108, 108, 32, 61, 32, 114, 101, 109, - 111, 118, 101, 65, 108, 108, 59, 10, 32, 32, 32, 32, 116, 114, 101, 101, 80, 114, 111, 116, 111, 46, 114, - 111, 111, 116, 32, 61, 32, 116, 114, 101, 101, 95, 114, 111, 111, 116, 59, 10, 32, 32, 32, 32, 116, 114, - 101, 101, 80, 114, 111, 116, 111, 46, 115, 105, 122, 101, 32, 61, 32, 116, 114, 101, 101, 95, 115, 105, 122, - 101, 59, 10, 32, 32, 32, 32, 116, 114, 101, 101, 80, 114, 111, 116, 111, 46, 118, 105, 115, 105, 116, 32, - 61, 32, 116, 114, 101, 101, 95, 118, 105, 115, 105, 116, 59, 10, 32, 32, 32, 32, 116, 114, 101, 101, 80, - 114, 111, 116, 111, 46, 118, 105, 115, 105, 116, 65, 102, 116, 101, 114, 32, 61, 32, 116, 114, 101, 101, 95, - 118, 105, 115, 105, 116, 65, 102, 116, 101, 114, 59, 10, 32, 32, 32, 32, 116, 114, 101, 101, 80, 114, 111, - 116, 111, 46, 120, 32, 61, 32, 116, 114, 101, 101, 95, 120, 59, 10, 32, 32, 32, 32, 116, 114, 101, 101, - 80, 114, 111, 116, 111, 46, 121, 32, 61, 32, 116, 114, 101, 101, 95, 121, 59, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 52, 40, 120, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 106, 105, 103, 103, 108, 101, 40, 114, 97, - 110, 100, 111, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 40, 114, 97, 110, 100, 111, 109, 40, 41, 32, 45, 32, 48, 46, 53, 41, 32, 42, 32, 49, 101, 45, 54, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 120, - 36, 51, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 100, 46, 120, 32, 43, 32, 100, 46, 118, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 121, 36, 51, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 121, 32, 43, 32, 100, 46, 118, 121, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 108, 108, - 105, 100, 101, 40, 114, 97, 100, 105, 117, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 110, 111, 100, 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 97, 100, 105, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, - 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, - 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 116, 101, 114, 97, - 116, 105, 111, 110, 115, 32, 61, 32, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 116, 121, 112, 101, 111, 102, 32, 114, 97, 100, 105, 117, 115, 32, 33, 61, 61, 32, 34, 102, 117, 110, - 99, 116, 105, 111, 110, 34, 41, 32, 114, 97, 100, 105, 117, 115, 32, 61, 32, 99, 111, 110, 115, 116, 97, - 110, 116, 36, 52, 40, 114, 97, 100, 105, 117, 115, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, - 32, 58, 32, 43, 114, 97, 100, 105, 117, 115, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 99, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, - 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 114, 101, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 105, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 50, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 107, 32, 61, 32, 48, - 59, 32, 107, 32, 60, 32, 105, 116, 101, 114, 97, 116, 105, 111, 110, 115, 59, 32, 43, 43, 107, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 101, 101, 32, - 61, 32, 113, 117, 97, 100, 116, 114, 101, 101, 40, 110, 111, 100, 101, 115, 44, 32, 120, 36, 51, 44, 32, - 121, 36, 51, 41, 46, 118, 105, 115, 105, 116, 65, 102, 116, 101, 114, 40, 112, 114, 101, 112, 97, 114, 101, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, - 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, - 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 32, 61, 32, 114, 97, 100, 105, 105, 91, 110, 111, - 100, 101, 46, 105, 110, 100, 101, 120, 93, 44, 32, 114, 105, 50, 32, 61, 32, 114, 105, 32, 42, 32, 114, - 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 105, 32, 61, 32, 110, 111, 100, 101, 46, 120, 32, 43, 32, 110, 111, 100, 101, 46, 118, 120, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 105, 32, - 61, 32, 110, 111, 100, 101, 46, 121, 32, 43, 32, 110, 111, 100, 101, 46, 118, 121, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 101, 101, 46, 118, - 105, 115, 105, 116, 40, 97, 112, 112, 108, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 112, - 112, 108, 121, 40, 113, 117, 97, 100, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, - 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 100, 97, 116, 97, 32, 61, 32, 113, 117, 97, 100, 46, 100, 97, 116, 97, 44, 32, 114, 106, 32, - 61, 32, 113, 117, 97, 100, 46, 114, 44, 32, 114, 32, 61, 32, 114, 105, 32, 43, 32, 114, 106, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 97, 116, - 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 100, 97, 116, 97, 46, 105, 110, 100, 101, 120, 32, 62, 32, 110, 111, 100, 101, - 46, 105, 110, 100, 101, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 32, 61, 32, 120, 105, 32, 45, - 32, 100, 97, 116, 97, 46, 120, 32, 45, 32, 100, 97, 116, 97, 46, 118, 120, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 121, 32, 61, 32, 121, 105, 32, 45, 32, 100, 97, 116, 97, 46, 121, 32, 45, 32, 100, 97, 116, 97, - 46, 118, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 120, 32, 42, 32, 120, 32, 43, 32, 121, - 32, 42, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 32, 60, 32, 114, 32, 42, 32, 114, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 32, 61, 61, 61, 32, 48, 41, 32, 120, 32, 61, 32, - 106, 105, 103, 103, 108, 101, 40, 114, 97, 110, 100, 111, 109, 41, 44, 32, 108, 32, 43, 61, 32, 120, 32, - 42, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 32, 61, 61, 61, 32, 48, 41, 32, - 121, 32, 61, 32, 106, 105, 103, 103, 108, 101, 40, 114, 97, 110, 100, 111, 109, 41, 44, 32, 108, 32, 43, - 61, 32, 121, 32, 42, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 40, 114, 32, 45, 32, - 40, 108, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 108, 41, 41, 41, 32, 47, 32, 108, - 32, 42, 32, 115, 116, 114, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, - 118, 120, 32, 43, 61, 32, 40, 120, 32, 42, 61, 32, 108, 41, 32, 42, 32, 40, 114, 32, 61, 32, 40, - 114, 106, 32, 42, 61, 32, 114, 106, 41, 32, 47, 32, 40, 114, 105, 50, 32, 43, 32, 114, 106, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 118, 121, 32, 43, 61, 32, 40, 121, 32, 42, 61, - 32, 108, 41, 32, 42, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 97, 46, 118, 120, 32, 45, - 61, 32, 120, 32, 42, 32, 40, 114, 32, 61, 32, 49, 32, 45, 32, 114, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 97, 116, 97, 46, 118, 121, 32, 45, 61, 32, 121, 32, 42, 32, 114, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 48, - 32, 62, 32, 120, 105, 32, 43, 32, 114, 32, 124, 124, 32, 120, 49, 32, 60, 32, 120, 105, 32, 45, 32, - 114, 32, 124, 124, 32, 121, 48, 32, 62, 32, 121, 105, 32, 43, 32, 114, 32, 124, 124, 32, 121, 49, 32, - 60, 32, 121, 105, 32, 45, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 112, 114, 101, 112, 97, 114, 101, 40, 113, 117, 97, 100, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 113, 117, 97, 100, 46, 100, 97, 116, - 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 113, 117, 97, 100, 46, 114, 32, 61, 32, 114, 97, 100, 105, - 105, 91, 113, 117, 97, 100, 46, 100, 97, 116, 97, 46, 105, 110, 100, 101, 120, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 113, - 117, 97, 100, 46, 114, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 52, 59, 32, 43, 43, 105, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 113, - 117, 97, 100, 91, 105, 93, 32, 38, 38, 32, 113, 117, 97, 100, 91, 105, 93, 46, 114, 32, 62, 32, 113, - 117, 97, 100, 46, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 113, 117, 97, 100, 46, 114, 32, 61, 32, 113, 117, 97, 100, 91, 105, 93, 46, - 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, 116, 105, 97, - 108, 105, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 33, 110, 111, 100, 101, 115, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, - 46, 108, 101, 110, 103, 116, 104, 44, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 97, 100, 105, 105, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, - 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 110, 111, 100, 101, 32, 61, 32, - 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 114, 97, 100, 105, 105, 91, 110, 111, 100, 101, 46, 105, 110, - 100, 101, 120, 93, 32, 61, 32, 43, 114, 97, 100, 105, 117, 115, 40, 110, 111, 100, 101, 44, 32, 105, 44, - 32, 110, 111, 100, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 110, 111, 100, 101, 115, 44, 32, 95, 114, 97, 110, 100, - 111, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, - 32, 61, 32, 95, 110, 111, 100, 101, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 97, 110, 100, 111, 109, 32, 61, 32, 95, 114, 97, 110, 100, 111, 109, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, - 46, 105, 116, 101, 114, 97, 116, 105, 111, 110, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 105, 116, - 101, 114, 97, 116, 105, 111, 110, 115, 32, 61, 32, 43, 95, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, - 32, 105, 116, 101, 114, 97, 116, 105, 111, 110, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 115, 116, 114, 101, 110, 103, 116, - 104, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 43, - 95, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 115, 116, 114, 101, 110, 103, 116, 104, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, - 101, 46, 114, 97, 100, 105, 117, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 114, 97, 100, 105, 117, - 115, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, - 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 52, 40, 43, - 95, 41, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 44, 32, 102, 111, 114, 99, 101, - 41, 32, 58, 32, 114, 97, 100, 105, 117, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 111, 114, 99, 101, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 100, - 101, 120, 36, 51, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 100, 46, 105, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 102, 105, 110, 100, 40, 110, 111, 100, 101, 66, 121, 73, 100, 44, 32, - 110, 111, 100, 101, 73, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, - 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 66, 121, 73, 100, 46, 103, 101, 116, 40, 110, 111, 100, 101, - 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 110, 111, 100, 101, 41, - 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 110, 111, 100, 101, 32, - 110, 111, 116, 32, 102, 111, 117, 110, 100, 58, 32, 34, 32, 43, 32, 110, 111, 100, 101, 73, 100, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 111, 100, 101, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 107, - 36, 50, 40, 108, 105, 110, 107, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 105, 100, 32, 61, 32, 105, 110, 100, 101, 120, 36, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 83, - 116, 114, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, - 114, 101, 110, 103, 116, 104, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, - 115, 116, 97, 110, 99, 101, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 52, 40, 51, 48, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 115, 116, 97, 110, 99, 101, 115, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 117, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 98, 105, 97, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 97, 110, 100, 111, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 116, - 101, 114, 97, 116, 105, 111, 110, 115, 32, 61, 32, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 108, 105, 110, 107, 115, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 108, 105, 110, 107, - 115, 32, 61, 32, 91, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 83, 116, 114, 101, 110, 103, 116, 104, 40, 108, 105, 110, 107, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 49, 32, 47, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 99, 111, 117, 110, 116, 91, 108, 105, 110, 107, - 46, 115, 111, 117, 114, 99, 101, 46, 105, 110, 100, 101, 120, 93, 44, 32, 99, 111, 117, 110, 116, 91, 108, - 105, 110, 107, 46, 116, 97, 114, 103, 101, 116, 46, 105, 110, 100, 101, 120, 93, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 102, 111, 114, 99, 101, 40, 97, 108, 112, 104, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 107, 32, 61, 32, 48, 44, 32, 110, - 32, 61, 32, 108, 105, 110, 107, 115, 46, 108, 101, 110, 103, 116, 104, 59, 32, 107, 32, 60, 32, 105, 116, - 101, 114, 97, 116, 105, 111, 110, 115, 59, 32, 43, 43, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, - 48, 44, 32, 108, 105, 110, 107, 44, 32, 115, 111, 117, 114, 99, 101, 44, 32, 116, 97, 114, 103, 101, 116, - 44, 32, 120, 44, 32, 121, 44, 32, 108, 44, 32, 98, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 105, 110, 107, 32, 61, 32, 108, 105, 110, 107, 115, 91, 105, 93, 44, 32, 115, 111, 117, 114, - 99, 101, 32, 61, 32, 108, 105, 110, 107, 46, 115, 111, 117, 114, 99, 101, 44, 32, 116, 97, 114, 103, 101, - 116, 32, 61, 32, 108, 105, 110, 107, 46, 116, 97, 114, 103, 101, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 116, 97, 114, 103, 101, - 116, 46, 120, 32, 43, 32, 116, 97, 114, 103, 101, 116, 46, 118, 120, 32, 45, 32, 115, 111, 117, 114, 99, - 101, 46, 120, 32, 45, 32, 115, 111, 117, 114, 99, 101, 46, 118, 120, 32, 124, 124, 32, 106, 105, 103, 103, - 108, 101, 40, 114, 97, 110, 100, 111, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 116, 97, 114, 103, 101, 116, 46, 121, 32, 43, - 32, 116, 97, 114, 103, 101, 116, 46, 118, 121, 32, 45, 32, 115, 111, 117, 114, 99, 101, 46, 121, 32, 45, - 32, 115, 111, 117, 114, 99, 101, 46, 118, 121, 32, 124, 124, 32, 106, 105, 103, 103, 108, 101, 40, 114, 97, - 110, 100, 111, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 120, 32, 42, 32, 120, - 32, 43, 32, 121, 32, 42, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 40, 108, 32, 45, 32, 100, 105, 115, 116, 97, 110, - 99, 101, 115, 91, 105, 93, 41, 32, 47, 32, 108, 32, 42, 32, 97, 108, 112, 104, 97, 32, 42, 32, 115, - 116, 114, 101, 110, 103, 116, 104, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 42, 61, 32, 108, 44, 32, 121, 32, 42, 61, 32, - 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 97, 114, 103, 101, 116, 46, 118, 120, 32, 45, 61, 32, 120, 32, 42, 32, 40, 98, 32, 61, 32, 98, - 105, 97, 115, 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 97, 114, 103, 101, 116, 46, 118, 121, 32, 45, 61, 32, 121, 32, 42, 32, - 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 111, 117, 114, 99, 101, 46, 118, 120, 32, 43, 61, 32, 120, 32, 42, 32, 40, 98, 32, 61, 32, 49, - 32, 45, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 111, 117, 114, 99, 101, 46, 118, 121, 32, 43, 61, 32, 121, 32, 42, 32, 98, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, 116, 105, 97, 108, 105, - 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 110, 111, 100, 101, 115, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 108, 105, - 110, 107, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 111, 100, 101, 66, 121, 73, 100, 32, 61, 32, 110, 101, 119, 32, 77, 97, 112, - 40, 110, 111, 100, 101, 115, 46, 109, 97, 112, 40, 40, 100, 44, 32, 105, 41, 32, 61, 62, 32, 91, 105, - 100, 40, 100, 44, 32, 105, 44, 32, 110, 111, 100, 101, 115, 41, 44, 32, 100, 93, 41, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 107, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 44, 32, - 99, 111, 117, 110, 116, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 59, 32, 105, - 32, 60, 32, 109, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 105, 110, 107, 32, 61, 32, 108, 105, 110, 107, 115, 91, 105, 93, 44, 32, - 108, 105, 110, 107, 46, 105, 110, 100, 101, 120, 32, 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 108, 105, 110, - 107, 46, 115, 111, 117, 114, 99, 101, 32, 33, 61, 61, 32, 34, 111, 98, 106, 101, 99, 116, 34, 41, 32, - 108, 105, 110, 107, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 102, 105, 110, 100, 40, 110, 111, 100, 101, - 66, 121, 73, 100, 44, 32, 108, 105, 110, 107, 46, 115, 111, 117, 114, 99, 101, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, - 32, 108, 105, 110, 107, 46, 116, 97, 114, 103, 101, 116, 32, 33, 61, 61, 32, 34, 111, 98, 106, 101, 99, - 116, 34, 41, 32, 108, 105, 110, 107, 46, 116, 97, 114, 103, 101, 116, 32, 61, 32, 102, 105, 110, 100, 40, - 110, 111, 100, 101, 66, 121, 73, 100, 44, 32, 108, 105, 110, 107, 46, 116, 97, 114, 103, 101, 116, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 117, 110, 116, 91, - 108, 105, 110, 107, 46, 115, 111, 117, 114, 99, 101, 46, 105, 110, 100, 101, 120, 93, 32, 61, 32, 40, 99, - 111, 117, 110, 116, 91, 108, 105, 110, 107, 46, 115, 111, 117, 114, 99, 101, 46, 105, 110, 100, 101, 120, 93, - 32, 124, 124, 32, 48, 41, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 117, 110, 116, 91, 108, 105, 110, 107, 46, 116, 97, 114, 103, 101, 116, 46, - 105, 110, 100, 101, 120, 93, 32, 61, 32, 40, 99, 111, 117, 110, 116, 91, 108, 105, 110, 107, 46, 116, 97, - 114, 103, 101, 116, 46, 105, 110, 100, 101, 120, 93, 32, 124, 124, 32, 48, 41, 32, 43, 32, 49, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 44, 32, 98, 105, 97, 115, 32, 61, 32, - 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 109, 41, 59, 32, 105, 32, 60, 32, 109, 59, 32, 43, 43, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, - 110, 107, 32, 61, 32, 108, 105, 110, 107, 115, 91, 105, 93, 44, 32, 98, 105, 97, 115, 91, 105, 93, 32, - 61, 32, 99, 111, 117, 110, 116, 91, 108, 105, 110, 107, 46, 115, 111, 117, 114, 99, 101, 46, 105, 110, 100, - 101, 120, 93, 32, 47, 32, 40, 99, 111, 117, 110, 116, 91, 108, 105, 110, 107, 46, 115, 111, 117, 114, 99, - 101, 46, 105, 110, 100, 101, 120, 93, 32, 43, 32, 99, 111, 117, 110, 116, 91, 108, 105, 110, 107, 46, 116, - 97, 114, 103, 101, 116, 46, 105, 110, 100, 101, 120, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, - 110, 103, 116, 104, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 109, 41, 44, 32, 105, - 110, 105, 116, 105, 97, 108, 105, 122, 101, 83, 116, 114, 101, 110, 103, 116, 104, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 115, 116, 97, 110, 99, 101, 115, 32, 61, 32, 110, - 101, 119, 32, 65, 114, 114, 97, 121, 40, 109, 41, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, - 68, 105, 115, 116, 97, 110, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, 116, 105, 97, - 108, 105, 122, 101, 83, 116, 114, 101, 110, 103, 116, 104, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 110, 111, 100, 101, 115, 41, 32, 114, 101, 116, 117, 114, - 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, - 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 108, 105, 110, 107, 115, 46, 108, 101, 110, 103, - 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, 115, 91, 105, 93, - 32, 61, 32, 43, 115, 116, 114, 101, 110, 103, 116, 104, 40, 108, 105, 110, 107, 115, 91, 105, 93, 44, 32, - 105, 44, 32, 108, 105, 110, 107, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 68, 105, 115, 116, 97, 110, - 99, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 110, 111, 100, 101, 115, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, - 32, 61, 32, 108, 105, 110, 107, 115, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, - 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 105, 115, 116, 97, 110, 99, 101, 115, 91, 105, 93, 32, 61, 32, 43, 100, 105, 115, 116, 97, 110, - 99, 101, 40, 108, 105, 110, 107, 115, 91, 105, 93, 44, 32, 105, 44, 32, 108, 105, 110, 107, 115, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 105, 110, 105, 116, 105, 97, - 108, 105, 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 110, 111, 100, 101, 115, 44, - 32, 95, 114, 97, 110, 100, 111, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 111, 100, 101, 115, 32, 61, 32, 95, 110, 111, 100, 101, 115, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, 32, 61, 32, 95, 114, 97, 110, 100, 111, 109, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, - 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 99, 101, 46, 108, 105, 110, 107, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 108, - 105, 110, 107, 115, 32, 61, 32, 95, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 44, - 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 108, 105, 110, 107, 115, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 105, 100, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 63, 32, 40, 105, 100, 32, 61, 32, 95, 44, 32, 102, 111, 114, 99, 101, 41, - 32, 58, 32, 105, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 105, 116, 101, 114, 97, 116, 105, 111, 110, 115, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, - 103, 116, 104, 32, 63, 32, 40, 105, 116, 101, 114, 97, 116, 105, 111, 110, 115, 32, 61, 32, 43, 95, 44, - 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 105, 116, 101, 114, 97, 116, 105, 111, 110, 115, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, - 101, 46, 115, 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 116, 114, - 101, 110, 103, 116, 104, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, - 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, - 36, 52, 40, 43, 95, 41, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 83, 116, 114, 101, 110, - 103, 116, 104, 40, 41, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 115, 116, 114, 101, 110, 103, 116, - 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 99, 101, 46, 100, 105, 115, 116, 97, 110, 99, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, - 40, 100, 105, 115, 116, 97, 110, 99, 101, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, - 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, - 116, 97, 110, 116, 36, 52, 40, 43, 95, 41, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 68, - 105, 115, 116, 97, 110, 99, 101, 40, 41, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 100, 105, 115, - 116, 97, 110, 99, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 111, 114, 99, 101, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 47, 47, 32, 104, 116, 116, 112, 115, 58, 47, 47, 101, 110, 46, 119, 105, 107, 105, 112, 101, 100, - 105, 97, 46, 111, 114, 103, 47, 119, 105, 107, 105, 47, 76, 105, 110, 101, 97, 114, 95, 99, 111, 110, 103, - 114, 117, 101, 110, 116, 105, 97, 108, 95, 103, 101, 110, 101, 114, 97, 116, 111, 114, 35, 80, 97, 114, 97, - 109, 101, 116, 101, 114, 115, 95, 105, 110, 95, 99, 111, 109, 109, 111, 110, 95, 117, 115, 101, 10, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 32, 97, 36, 49, 32, 61, 32, 49, 54, 54, 52, 53, 50, 53, 59, 10, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 36, 51, 32, 61, 32, 49, 48, 49, 51, 57, 48, 52, - 50, 50, 51, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 32, 61, 32, 52, 50, 57, 52, - 57, 54, 55, 50, 57, 54, 59, 32, 47, 47, 32, 50, 94, 51, 50, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 108, 99, 103, 36, 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 101, 116, 32, 115, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 40, 41, 32, 61, 62, 32, 40, 115, 32, 61, 32, 40, 97, 36, 49, 32, 42, 32, - 115, 32, 43, 32, 99, 36, 51, 41, 32, 37, 32, 109, 41, 32, 47, 32, 109, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 120, 36, 50, 40, 100, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 120, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 121, 36, 50, 40, - 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 121, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 105, 110, 105, 116, 105, 97, - 108, 82, 97, 100, 105, 117, 115, 32, 61, 32, 49, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 110, 105, 116, 105, 97, 108, 65, 110, 103, 108, 101, 32, 61, 32, 77, 97, 116, 104, 46, 80, 73, 32, 42, - 32, 40, 51, 32, 45, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 53, 41, 41, 59, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 40, - 110, 111, 100, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 105, - 109, 117, 108, 97, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 108, 112, 104, 97, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 108, 112, 104, 97, 77, 105, 110, 32, 61, 32, 48, 46, 48, 48, 49, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 108, 112, 104, 97, 68, 101, 99, 97, 121, 32, 61, 32, 49, 32, 45, 32, - 77, 97, 116, 104, 46, 112, 111, 119, 40, 97, 108, 112, 104, 97, 77, 105, 110, 44, 32, 49, 32, 47, 32, - 51, 48, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 112, 104, 97, - 84, 97, 114, 103, 101, 116, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 101, 108, 111, 99, 105, 116, 121, 68, 101, 99, 97, 121, 32, 61, 32, 48, 46, 54, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 115, 32, 61, 32, 110, 101, 119, - 32, 77, 97, 112, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 101, - 112, 112, 101, 114, 32, 61, 32, 116, 105, 109, 101, 114, 40, 115, 116, 101, 112, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 32, 61, 32, 100, 105, 115, 112, 97, 116, - 99, 104, 40, 34, 116, 105, 99, 107, 34, 44, 32, 34, 101, 110, 100, 34, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, 32, 61, 32, 108, 99, 103, 36, 49, 40, - 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 115, 32, 61, - 61, 32, 110, 117, 108, 108, 41, 32, 110, 111, 100, 101, 115, 32, 61, 32, 91, 93, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 101, 112, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 46, 99, 97, 108, 108, 40, 34, 116, - 105, 99, 107, 34, 44, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 108, 112, 104, 97, 32, 60, 32, 97, 108, 112, - 104, 97, 77, 105, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 116, 101, 112, 112, 101, 114, 46, 115, 116, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 46, 99, 97, 108, 108, 40, 34, - 101, 110, 100, 34, 44, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 105, 99, 107, 40, 105, 116, 101, - 114, 97, 116, 105, 111, 110, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 105, 44, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, - 44, 32, 110, 111, 100, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 105, 116, 101, 114, 97, 116, 105, 111, 110, 115, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, - 110, 101, 100, 41, 32, 105, 116, 101, 114, 97, 116, 105, 111, 110, 115, 32, 61, 32, 49, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 107, 32, 61, - 32, 48, 59, 32, 107, 32, 60, 32, 105, 116, 101, 114, 97, 116, 105, 111, 110, 115, 59, 32, 43, 43, 107, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 112, - 104, 97, 32, 43, 61, 32, 40, 97, 108, 112, 104, 97, 84, 97, 114, 103, 101, 116, 32, 45, 32, 97, 108, - 112, 104, 97, 41, 32, 42, 32, 97, 108, 112, 104, 97, 68, 101, 99, 97, 121, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 115, 46, 102, 111, 114, - 69, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 102, 111, 114, 99, 101, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 99, 101, 40, 97, 108, 112, 104, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, - 101, 46, 102, 120, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 110, 111, 100, 101, 46, 120, 32, 43, 61, - 32, 110, 111, 100, 101, 46, 118, 120, 32, 42, 61, 32, 118, 101, 108, 111, 99, 105, 116, 121, 68, 101, 99, - 97, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 108, 115, 101, 32, 110, 111, 100, 101, 46, 120, 32, 61, 32, 110, 111, 100, 101, 46, 102, 120, 44, - 32, 110, 111, 100, 101, 46, 118, 120, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 46, 102, 121, 32, - 61, 61, 32, 110, 117, 108, 108, 41, 32, 110, 111, 100, 101, 46, 121, 32, 43, 61, 32, 110, 111, 100, 101, - 46, 118, 121, 32, 42, 61, 32, 118, 101, 108, 111, 99, 105, 116, 121, 68, 101, 99, 97, 121, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, - 32, 110, 111, 100, 101, 46, 121, 32, 61, 32, 110, 111, 100, 101, 46, 102, 121, 44, 32, 110, 111, 100, 101, - 46, 118, 121, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 105, 109, 117, 108, 97, 116, 105, - 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 78, 111, 100, 101, - 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, - 110, 103, 116, 104, 44, 32, 110, 111, 100, 101, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, - 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 110, 111, 100, 101, 46, 105, 110, 100, 101, 120, - 32, 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 110, 111, 100, 101, 46, 102, 120, 32, 33, 61, 32, 110, 117, 108, 108, 41, 32, 110, 111, 100, - 101, 46, 120, 32, 61, 32, 110, 111, 100, 101, 46, 102, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 46, 102, 121, 32, 33, 61, 32, - 110, 117, 108, 108, 41, 32, 110, 111, 100, 101, 46, 121, 32, 61, 32, 110, 111, 100, 101, 46, 102, 121, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 115, - 78, 97, 78, 40, 110, 111, 100, 101, 46, 120, 41, 32, 124, 124, 32, 105, 115, 78, 97, 78, 40, 110, 111, - 100, 101, 46, 121, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 97, 100, 105, 117, 115, 32, 61, 32, 105, 110, 105, 116, - 105, 97, 108, 82, 97, 100, 105, 117, 115, 32, 42, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 48, - 46, 53, 32, 43, 32, 105, 41, 44, 32, 97, 110, 103, 108, 101, 32, 61, 32, 105, 32, 42, 32, 105, 110, - 105, 116, 105, 97, 108, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 120, 32, 61, 32, 114, 97, 100, 105, 117, - 115, 32, 42, 32, 77, 97, 116, 104, 46, 99, 111, 115, 40, 97, 110, 103, 108, 101, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, - 121, 32, 61, 32, 114, 97, 100, 105, 117, 115, 32, 42, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 97, - 110, 103, 108, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, - 115, 78, 97, 78, 40, 110, 111, 100, 101, 46, 118, 120, 41, 32, 124, 124, 32, 105, 115, 78, 97, 78, 40, - 110, 111, 100, 101, 46, 118, 121, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 118, 120, 32, 61, 32, 110, 111, 100, 101, - 46, 118, 121, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 70, 111, 114, 99, 101, 40, 102, 111, 114, 99, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 111, 114, 99, 101, - 46, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 41, 32, 102, 111, 114, 99, 101, 46, 105, 110, 105, 116, - 105, 97, 108, 105, 122, 101, 40, 110, 111, 100, 101, 115, 44, 32, 114, 97, 110, 100, 111, 109, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 111, 114, 99, - 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 110, 105, 116, 105, 97, 108, 105, 122, 101, 78, 111, 100, 101, 115, 40, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 32, 61, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 99, 107, 58, 32, 116, 105, - 99, 107, 44, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 116, 97, 114, - 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 101, 112, 112, 101, 114, - 46, 114, 101, 115, 116, 97, 114, 116, 40, 115, 116, 101, 112, 41, 44, 32, 115, 105, 109, 117, 108, 97, 116, - 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 111, 112, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 115, 116, 101, 112, 112, 101, 114, 46, 115, 116, 111, 112, 40, 41, 44, 32, 115, - 105, 109, 117, 108, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 44, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 58, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 110, 111, 100, 101, 115, 32, 61, 32, 95, 44, 32, 105, - 110, 105, 116, 105, 97, 108, 105, 122, 101, 78, 111, 100, 101, 115, 40, 41, 44, 32, 102, 111, 114, 99, 101, - 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 70, 111, 114, - 99, 101, 41, 44, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 41, 32, 58, 32, 110, 111, 100, 101, - 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 112, 104, 97, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 63, 32, 40, 97, 108, 112, 104, 97, 32, 61, 32, 43, 95, 44, 32, 115, 105, 109, 117, 108, 97, 116, 105, - 111, 110, 41, 32, 58, 32, 97, 108, 112, 104, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 44, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 112, 104, 97, - 77, 105, 110, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 97, 108, 112, 104, 97, 77, 105, - 110, 32, 61, 32, 43, 95, 44, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 41, 32, 58, 32, 97, - 108, 112, 104, 97, 77, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 112, 104, 97, 68, 101, 99, 97, - 121, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 97, 108, 112, 104, 97, 68, 101, 99, 97, - 121, 32, 61, 32, 43, 95, 44, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 41, 32, 58, 32, 43, - 97, 108, 112, 104, 97, 68, 101, 99, 97, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 112, 104, 97, 84, - 97, 114, 103, 101, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 97, 108, 112, 104, 97, - 84, 97, 114, 103, 101, 116, 32, 61, 32, 43, 95, 44, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, - 41, 32, 58, 32, 97, 108, 112, 104, 97, 84, 97, 114, 103, 101, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 44, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 101, 108, 111, 99, 105, 116, 121, 68, 101, 99, 97, 121, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, - 32, 40, 118, 101, 108, 111, 99, 105, 116, 121, 68, 101, 99, 97, 121, 32, 61, 32, 49, 32, 45, 32, 95, - 44, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 41, 32, 58, 32, 49, 32, 45, 32, 118, 101, 108, - 111, 99, 105, 116, 121, 68, 101, 99, 97, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, - 83, 111, 117, 114, 99, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 114, 97, 110, 100, - 111, 109, 32, 61, 32, 95, 44, 32, 102, 111, 114, 99, 101, 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, - 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 70, 111, 114, 99, 101, 41, 44, 32, 115, 105, 109, 117, 108, - 97, 116, 105, 111, 110, 41, 32, 58, 32, 114, 97, 110, 100, 111, 109, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 44, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 99, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 97, 109, 101, 44, 32, 95, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 49, - 32, 63, 32, 40, 40, 95, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 102, 111, 114, 99, 101, 115, - 46, 100, 101, 108, 101, 116, 101, 40, 110, 97, 109, 101, 41, 32, 58, 32, 102, 111, 114, 99, 101, 115, 46, - 115, 101, 116, 40, 110, 97, 109, 101, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 70, 111, 114, - 99, 101, 40, 95, 41, 41, 41, 44, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 41, 32, 58, 32, - 102, 111, 114, 99, 101, 115, 46, 103, 101, 116, 40, 110, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 105, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 44, 32, 114, 97, - 100, 105, 117, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, 103, - 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 110, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 108, 111, 115, 101, 115, 116, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 97, 100, 105, 117, 115, 32, 61, 61, - 32, 110, 117, 108, 108, 41, 32, 114, 97, 100, 105, 117, 115, 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, - 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, - 32, 114, 97, 100, 105, 117, 115, 32, 42, 61, 32, 114, 97, 100, 105, 117, 115, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, - 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, - 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 120, 32, 61, 32, 120, 32, 45, 32, 110, 111, 100, 101, 46, 120, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, - 121, 32, 45, 32, 110, 111, 100, 101, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 50, 32, 61, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, - 32, 100, 121, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 50, 32, 60, 32, 114, 97, 100, 105, 117, 115, 41, - 32, 99, 108, 111, 115, 101, 115, 116, 32, 61, 32, 110, 111, 100, 101, 44, 32, 114, 97, 100, 105, 117, 115, - 32, 61, 32, 100, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 99, 108, 111, 115, 101, 115, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 110, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 110, 97, 109, 101, 44, 32, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 49, 32, 63, 32, 40, 101, 118, 101, 110, - 116, 46, 111, 110, 40, 110, 97, 109, 101, 44, 32, 95, 41, 44, 32, 115, 105, 109, 117, 108, 97, 116, 105, - 111, 110, 41, 32, 58, 32, 101, 118, 101, 110, 116, 46, 111, 110, 40, 110, 97, 109, 101, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 97, - 110, 121, 66, 111, 100, 121, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 110, 111, 100, 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 112, 104, 97, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 99, 111, 110, 115, 116, - 97, 110, 116, 36, 52, 40, 45, 51, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 116, 114, 101, 110, 103, 116, 104, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 105, 115, 116, 97, 110, 99, 101, 77, 105, 110, 50, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 115, 116, 97, 110, 99, 101, 77, 97, 120, 50, 32, 61, 32, - 73, 110, 102, 105, 110, 105, 116, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 101, 116, 97, 50, 32, 61, 32, 48, 46, 56, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 99, 101, 40, 95, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 32, 110, 32, 61, 32, 110, 111, 100, - 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 116, 114, 101, 101, 32, 61, 32, 113, 117, 97, 100, 116, - 114, 101, 101, 40, 110, 111, 100, 101, 115, 44, 32, 120, 36, 50, 44, 32, 121, 36, 50, 41, 46, 118, 105, - 115, 105, 116, 65, 102, 116, 101, 114, 40, 97, 99, 99, 117, 109, 117, 108, 97, 116, 101, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 97, 108, 112, 104, 97, 32, 61, - 32, 95, 44, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, - 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 116, 114, 101, 101, 46, 118, - 105, 115, 105, 116, 40, 97, 112, 112, 108, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, 116, 105, - 97, 108, 105, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 33, 110, 111, 100, 101, 115, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 32, 110, 32, 61, 32, 110, 111, 100, 101, - 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, - 114, 97, 121, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 110, 111, - 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 115, 116, 114, 101, 110, 103, 116, 104, - 115, 91, 110, 111, 100, 101, 46, 105, 110, 100, 101, 120, 93, 32, 61, 32, 43, 115, 116, 114, 101, 110, 103, - 116, 104, 40, 110, 111, 100, 101, 44, 32, 105, 44, 32, 110, 111, 100, 101, 115, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 97, 99, 99, 117, 109, 117, 108, 97, 116, 101, 40, 113, 117, 97, 100, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 101, 110, 103, 116, 104, 32, - 61, 32, 48, 44, 32, 113, 44, 32, 99, 44, 32, 119, 101, 105, 103, 104, 116, 32, 61, 32, 48, 44, 32, - 120, 44, 32, 121, 44, 32, 105, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 70, 111, 114, 32, 105, 110, 116, 101, 114, 110, 97, 108, 32, 110, 111, 100, 101, 115, 44, 32, 97, - 99, 99, 117, 109, 117, 108, 97, 116, 101, 32, 102, 111, 114, 99, 101, 115, 32, 102, 114, 111, 109, 32, 99, - 104, 105, 108, 100, 32, 113, 117, 97, 100, 114, 97, 110, 116, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 113, 117, 97, 100, 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 120, - 32, 61, 32, 121, 32, 61, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 52, 59, 32, 43, 43, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 40, 113, 32, 61, 32, 113, 117, 97, 100, 91, 105, 93, 41, 32, 38, 38, 32, - 40, 99, 32, 61, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 113, 46, 118, 97, 108, 117, 101, 41, 41, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, 32, 43, 61, 32, 113, 46, 118, 97, 108, 117, - 101, 44, 32, 119, 101, 105, 103, 104, 116, 32, 43, 61, 32, 99, 44, 32, 120, 32, 43, 61, 32, 99, 32, - 42, 32, 113, 46, 120, 44, 32, 121, 32, 43, 61, 32, 99, 32, 42, 32, 113, 46, 121, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 113, 117, 97, 100, 46, 120, 32, 61, 32, 120, 32, 47, 32, 119, 101, - 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, - 117, 97, 100, 46, 121, 32, 61, 32, 121, 32, 47, 32, 119, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 70, 111, 114, 32, 108, 101, 97, 102, 32, 110, 111, 100, 101, 115, 44, 32, 97, 99, 99, - 117, 109, 117, 108, 97, 116, 101, 32, 102, 111, 114, 99, 101, 115, 32, 102, 114, 111, 109, 32, 99, 111, 105, - 110, 99, 105, 100, 101, 110, 116, 32, 113, 117, 97, 100, 114, 97, 110, 116, 115, 46, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 113, 117, 97, 100, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 46, 120, 32, 61, 32, 113, 46, 100, 97, 116, 97, - 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 46, 121, - 32, 61, 32, 113, 46, 100, 97, 116, 97, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 111, 32, 115, 116, 114, 101, 110, 103, 116, 104, 32, 43, 61, 32, 115, 116, - 114, 101, 110, 103, 116, 104, 115, 91, 113, 46, 100, 97, 116, 97, 46, 105, 110, 100, 101, 120, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, - 113, 32, 61, 32, 113, 46, 110, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 117, 97, 100, 46, 118, - 97, 108, 117, 101, 32, 61, 32, 115, 116, 114, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, - 112, 112, 108, 121, 40, 113, 117, 97, 100, 44, 32, 120, 49, 44, 32, 95, 44, 32, 120, 50, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 113, 117, 97, 100, 46, - 118, 97, 108, 117, 101, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 32, 61, 32, 113, 117, 97, 100, 46, - 120, 32, 45, 32, 110, 111, 100, 101, 46, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 121, 32, 61, 32, 113, 117, 97, 100, 46, 121, 32, 45, 32, 110, 111, 100, 101, 46, - 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 32, 61, 32, - 120, 50, 32, 45, 32, 120, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 32, 61, 32, 120, 32, 42, 32, 120, 32, 43, 32, 121, 32, 42, 32, 121, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 65, 112, 112, 108, 121, 32, 116, 104, 101, - 32, 66, 97, 114, 110, 101, 115, 45, 72, 117, 116, 32, 97, 112, 112, 114, 111, 120, 105, 109, 97, 116, 105, - 111, 110, 32, 105, 102, 32, 112, 111, 115, 115, 105, 98, 108, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 47, 47, 32, 76, 105, 109, 105, 116, 32, 102, 111, 114, 99, 101, 115, 32, 102, 111, - 114, 32, 118, 101, 114, 121, 32, 99, 108, 111, 115, 101, 32, 110, 111, 100, 101, 115, 59, 32, 114, 97, 110, - 100, 111, 109, 105, 122, 101, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 32, 105, 102, 32, 99, 111, 105, - 110, 99, 105, 100, 101, 110, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 119, 32, 42, 32, 119, 32, 47, 32, 116, 104, 101, 116, 97, 50, 32, 60, 32, 108, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 32, - 60, 32, 100, 105, 115, 116, 97, 110, 99, 101, 77, 97, 120, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 32, 61, 61, - 61, 32, 48, 41, 32, 120, 32, 61, 32, 106, 105, 103, 103, 108, 101, 40, 114, 97, 110, 100, 111, 109, 41, - 44, 32, 108, 32, 43, 61, 32, 120, 32, 42, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 32, 61, 61, 61, 32, 48, 41, - 32, 121, 32, 61, 32, 106, 105, 103, 103, 108, 101, 40, 114, 97, 110, 100, 111, 109, 41, 44, 32, 108, 32, - 43, 61, 32, 121, 32, 42, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 32, 60, 32, 100, 105, 115, 116, 97, 110, 99, 101, - 77, 105, 110, 50, 41, 32, 108, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 100, 105, 115, - 116, 97, 110, 99, 101, 77, 105, 110, 50, 32, 42, 32, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 118, 120, 32, 43, 61, - 32, 120, 32, 42, 32, 113, 117, 97, 100, 46, 118, 97, 108, 117, 101, 32, 42, 32, 97, 108, 112, 104, 97, - 32, 47, 32, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 111, 100, 101, 46, 118, 121, 32, 43, 61, 32, 121, 32, 42, 32, 113, 117, 97, 100, 46, - 118, 97, 108, 117, 101, 32, 42, 32, 97, 108, 112, 104, 97, 32, 47, 32, 108, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 79, 116, 104, 101, 114, 119, 105, 115, 101, 44, 32, 112, 114, 111, 99, 101, 115, 115, 32, - 112, 111, 105, 110, 116, 115, 32, 100, 105, 114, 101, 99, 116, 108, 121, 46, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 113, 117, 97, 100, 46, 108, 101, 110, - 103, 116, 104, 32, 124, 124, 32, 108, 32, 62, 61, 32, 100, 105, 115, 116, 97, 110, 99, 101, 77, 97, 120, - 50, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 76, 105, 109, 105, 116, 32, 102, 111, 114, 99, 101, 115, 32, 102, 111, 114, 32, 118, 101, - 114, 121, 32, 99, 108, 111, 115, 101, 32, 110, 111, 100, 101, 115, 59, 32, 114, 97, 110, 100, 111, 109, 105, - 122, 101, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 32, 105, 102, 32, 99, 111, 105, 110, 99, 105, 100, - 101, 110, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 113, 117, - 97, 100, 46, 100, 97, 116, 97, 32, 33, 61, 61, 32, 110, 111, 100, 101, 32, 124, 124, 32, 113, 117, 97, - 100, 46, 110, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 120, 32, 61, 61, 61, 32, 48, 41, 32, 120, 32, 61, 32, 106, 105, 103, - 103, 108, 101, 40, 114, 97, 110, 100, 111, 109, 41, 44, 32, 108, 32, 43, 61, 32, 120, 32, 42, 32, 120, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, - 32, 61, 61, 61, 32, 48, 41, 32, 121, 32, 61, 32, 106, 105, 103, 103, 108, 101, 40, 114, 97, 110, 100, - 111, 109, 41, 44, 32, 108, 32, 43, 61, 32, 121, 32, 42, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 32, 60, 32, 100, 105, 115, 116, 97, - 110, 99, 101, 77, 105, 110, 50, 41, 32, 108, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, - 100, 105, 115, 116, 97, 110, 99, 101, 77, 105, 110, 50, 32, 42, 32, 108, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 111, 32, 105, 102, 32, 40, 113, 117, 97, 100, 46, 100, 97, 116, 97, 32, 33, 61, 61, 32, 110, 111, - 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, - 32, 61, 32, 115, 116, 114, 101, 110, 103, 116, 104, 115, 91, 113, 117, 97, 100, 46, 100, 97, 116, 97, 46, - 105, 110, 100, 101, 120, 93, 32, 42, 32, 97, 108, 112, 104, 97, 32, 47, 32, 108, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 118, 120, 32, 43, 61, - 32, 120, 32, 42, 32, 119, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 111, 100, 101, 46, 118, 121, 32, 43, 61, 32, 121, 32, 42, 32, 119, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 119, 104, 105, 108, 101, 32, 40, 113, 117, 97, 100, 32, 61, - 32, 113, 117, 97, 100, 46, 110, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 105, 110, 105, 116, 105, 97, 108, 105, - 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 110, 111, 100, 101, 115, 44, 32, 95, - 114, 97, 110, 100, 111, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 111, 100, 101, 115, 32, 61, 32, 95, 110, 111, 100, 101, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, 32, 61, 32, 95, 114, 97, 110, 100, 111, 109, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 99, 101, 46, 115, 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, - 115, 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, - 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, - 97, 110, 116, 36, 52, 40, 43, 95, 41, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, - 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 115, 116, 114, 101, 110, 103, 116, 104, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, - 46, 100, 105, 115, 116, 97, 110, 99, 101, 77, 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 100, - 105, 115, 116, 97, 110, 99, 101, 77, 105, 110, 50, 32, 61, 32, 95, 32, 42, 32, 95, 44, 32, 102, 111, - 114, 99, 101, 41, 32, 58, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 100, 105, 115, 116, 97, 110, - 99, 101, 77, 105, 110, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 100, 105, 115, 116, 97, 110, 99, 101, 77, 97, 120, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 100, 105, 115, 116, 97, 110, 99, 101, 77, 97, 120, 50, 32, - 61, 32, 95, 32, 42, 32, 95, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 77, 97, 116, 104, 46, - 115, 113, 114, 116, 40, 100, 105, 115, 116, 97, 110, 99, 101, 77, 97, 120, 50, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, - 116, 104, 101, 116, 97, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 104, 101, 116, 97, 50, 32, 61, - 32, 95, 32, 42, 32, 95, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 77, 97, 116, 104, 46, 115, - 113, 114, 116, 40, 116, 104, 101, 116, 97, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 111, 114, 99, 101, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, - 100, 105, 97, 108, 36, 49, 40, 114, 97, 100, 105, 117, 115, 44, 32, 120, 44, 32, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, 100, 101, 115, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 99, 111, 110, 115, - 116, 97, 110, 116, 36, 52, 40, 48, 46, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 97, 100, 105, 117, 115, 101, 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 116, 121, 112, 101, 111, 102, 32, 114, 97, 100, 105, 117, 115, 32, 33, 61, 61, 32, 34, 102, 117, - 110, 99, 116, 105, 111, 110, 34, 41, 32, 114, 97, 100, 105, 117, 115, 32, 61, 32, 99, 111, 110, 115, 116, - 97, 110, 116, 36, 52, 40, 43, 114, 97, 100, 105, 117, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 120, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 120, 32, 61, 32, 48, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, - 121, 32, 61, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 102, 111, 114, 99, 101, 40, 97, 108, 112, 104, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, - 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, - 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, - 32, 110, 111, 100, 101, 46, 120, 32, 45, 32, 120, 32, 124, 124, 32, 49, 101, 45, 54, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, - 110, 111, 100, 101, 46, 121, 32, 45, 32, 121, 32, 124, 124, 32, 49, 101, 45, 54, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 77, 97, - 116, 104, 46, 115, 113, 114, 116, 40, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, - 100, 121, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 107, 32, 61, 32, 40, 114, 97, 100, 105, 117, 115, 101, 115, 91, 105, 93, 32, 45, 32, 114, 41, - 32, 42, 32, 115, 116, 114, 101, 110, 103, 116, 104, 115, 91, 105, 93, 32, 42, 32, 97, 108, 112, 104, 97, - 32, 47, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 111, 100, 101, 46, 118, 120, 32, 43, 61, 32, 100, 120, 32, 42, 32, 107, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 118, 121, 32, 43, 61, 32, 100, - 121, 32, 42, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 110, 111, 100, 101, 115, 41, 32, 114, 101, 116, 117, - 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 32, - 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, 115, 32, 61, 32, 110, 101, 119, 32, - 65, 114, 114, 97, 121, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 97, 100, 105, 117, 115, 101, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, - 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 100, 105, 117, 115, 101, 115, 91, 105, 93, 32, 61, 32, - 43, 114, 97, 100, 105, 117, 115, 40, 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 105, 44, 32, 110, 111, - 100, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 116, 114, 101, 110, 103, 116, 104, 115, 91, 105, 93, 32, 61, 32, 105, 115, 78, 97, 78, 40, 114, 97, 100, - 105, 117, 115, 101, 115, 91, 105, 93, 41, 32, 63, 32, 48, 32, 58, 32, 43, 115, 116, 114, 101, 110, 103, - 116, 104, 40, 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 105, 44, 32, 110, 111, 100, 101, 115, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 105, 110, 105, 116, 105, 97, - 108, 105, 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 32, 61, 32, 95, 44, 32, 105, 110, - 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 115, 116, 114, 101, 110, 103, 116, 104, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 116, 121, - 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, - 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 52, 40, 43, 95, 41, 44, 32, 105, 110, - 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 115, 116, - 114, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 114, 97, 100, 105, 117, 115, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 63, 32, 40, 114, 97, 100, 105, 117, 115, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, - 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, - 115, 116, 97, 110, 116, 36, 52, 40, 43, 95, 41, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, - 40, 41, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 114, 97, 100, 105, 117, 115, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, - 46, 120, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 120, 32, 61, 32, 43, 95, 44, 32, 102, 111, 114, - 99, 101, 41, 32, 58, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, - 121, 32, 61, 32, 43, 95, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 121, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 102, 111, 114, 99, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 120, 36, 49, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 115, 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, - 52, 40, 48, 46, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, - 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 110, 103, 116, - 104, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 122, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 120, 32, 33, 61, 61, 32, - 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 120, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, - 116, 36, 52, 40, 120, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 48, 32, 58, 32, 43, 120, 41, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, - 99, 101, 40, 97, 108, 112, 104, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 110, 111, - 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 110, 111, 100, 101, 59, 32, 105, 32, 60, 32, 110, - 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 110, 111, 100, 101, - 46, 118, 120, 32, 43, 61, 32, 40, 120, 122, 91, 105, 93, 32, 45, 32, 110, 111, 100, 101, 46, 120, 41, - 32, 42, 32, 115, 116, 114, 101, 110, 103, 116, 104, 115, 91, 105, 93, 32, 42, 32, 97, 108, 112, 104, 97, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, - 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 33, 110, 111, 100, 101, 115, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 32, 110, 32, 61, 32, 110, - 111, 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, - 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 122, 32, 61, 32, 110, - 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, - 114, 101, 110, 103, 116, 104, 115, 91, 105, 93, 32, 61, 32, 105, 115, 78, 97, 78, 40, 120, 122, 91, 105, - 93, 32, 61, 32, 43, 120, 40, 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 105, 44, 32, 110, 111, 100, - 101, 115, 41, 41, 32, 63, 32, 48, 32, 58, 32, 43, 115, 116, 114, 101, 110, 103, 116, 104, 40, 110, 111, - 100, 101, 115, 91, 105, 93, 44, 32, 105, 44, 32, 110, 111, 100, 101, 115, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 32, 61, 32, 95, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 115, - 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 116, 114, 101, 110, 103, - 116, 104, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, - 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 52, 40, - 43, 95, 41, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 44, 32, 102, 111, 114, 99, - 101, 41, 32, 58, 32, 115, 116, 114, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 120, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 120, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, - 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, - 110, 116, 36, 52, 40, 43, 95, 41, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 44, - 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 111, 114, 99, 101, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 121, 36, - 49, 40, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 101, - 110, 103, 116, 104, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 52, 40, 48, 46, 49, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, 115, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 122, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 121, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, - 111, 110, 34, 41, 32, 121, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 52, 40, 121, 32, 61, - 61, 32, 110, 117, 108, 108, 32, 63, 32, 48, 32, 58, 32, 43, 121, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 99, 101, 40, 97, 108, 112, 104, - 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, - 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, - 103, 116, 104, 44, 32, 110, 111, 100, 101, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 32, - 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 110, 111, 100, 101, 46, 118, 121, 32, 43, 61, 32, - 40, 121, 122, 91, 105, 93, 32, 45, 32, 110, 111, 100, 101, 46, 121, 41, 32, 42, 32, 115, 116, 114, 101, - 110, 103, 116, 104, 115, 91, 105, 93, 32, 42, 32, 97, 108, 112, 104, 97, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, - 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, - 110, 111, 100, 101, 115, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, - 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 110, - 103, 116, 104, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 122, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, - 121, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 110, 103, 116, 104, 115, - 91, 105, 93, 32, 61, 32, 105, 115, 78, 97, 78, 40, 121, 122, 91, 105, 93, 32, 61, 32, 43, 121, 40, - 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 105, 44, 32, 110, 111, 100, 101, 115, 41, 41, 32, 63, 32, - 48, 32, 58, 32, 43, 115, 116, 114, 101, 110, 103, 116, 104, 40, 110, 111, 100, 101, 115, 91, 105, 93, 44, - 32, 105, 44, 32, 110, 111, 100, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 99, 101, 46, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, - 100, 101, 115, 32, 61, 32, 95, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, - 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 115, 116, 114, 101, 110, 103, 116, 104, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 116, 114, 101, 110, 103, 116, 104, 32, 61, 32, 116, 121, - 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, - 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 52, 40, 43, 95, 41, 44, 32, 105, 110, - 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 44, 32, 102, 111, 114, 99, 101, 41, 32, 58, 32, 115, 116, - 114, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 111, 114, 99, 101, 46, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 121, - 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, - 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 52, 40, 43, 95, - 41, 44, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 40, 41, 44, 32, 102, 111, 114, 99, 101, 41, - 32, 58, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 111, 114, 99, 101, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 68, 101, 99, - 105, 109, 97, 108, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 120, 32, 61, 32, 77, 97, 116, 104, 46, 114, 111, 117, - 110, 100, 40, 120, 41, 41, 32, 62, 61, 32, 49, 101, 50, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 63, 32, 120, 46, 116, 111, 76, 111, 99, 97, 108, 101, 83, 116, 114, 105, 110, 103, 40, - 34, 101, 110, 34, 41, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 44, 47, 103, 44, 32, 34, 34, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 120, 46, 116, 111, 83, 116, 114, 105, - 110, 103, 40, 49, 48, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 67, 111, 109, 112, 117, - 116, 101, 115, 32, 116, 104, 101, 32, 100, 101, 99, 105, 109, 97, 108, 32, 99, 111, 101, 102, 102, 105, 99, - 105, 101, 110, 116, 32, 97, 110, 100, 32, 101, 120, 112, 111, 110, 101, 110, 116, 32, 111, 102, 32, 116, 104, - 101, 32, 115, 112, 101, 99, 105, 102, 105, 101, 100, 32, 110, 117, 109, 98, 101, 114, 32, 120, 32, 119, 105, - 116, 104, 10, 47, 47, 32, 115, 105, 103, 110, 105, 102, 105, 99, 97, 110, 116, 32, 100, 105, 103, 105, 116, - 115, 32, 112, 44, 32, 119, 104, 101, 114, 101, 32, 120, 32, 105, 115, 32, 112, 111, 115, 105, 116, 105, 118, - 101, 32, 97, 110, 100, 32, 112, 32, 105, 115, 32, 105, 110, 32, 91, 49, 44, 32, 50, 49, 93, 32, 111, - 114, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 46, 10, 47, 47, 32, 70, 111, 114, 32, 101, 120, 97, - 109, 112, 108, 101, 44, 32, 102, 111, 114, 109, 97, 116, 68, 101, 99, 105, 109, 97, 108, 80, 97, 114, 116, - 115, 40, 49, 46, 50, 51, 41, 32, 114, 101, 116, 117, 114, 110, 115, 32, 91, 34, 49, 50, 51, 34, 44, - 32, 48, 93, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, - 116, 68, 101, 99, 105, 109, 97, 108, 80, 97, 114, 116, 115, 40, 120, 44, 32, 112, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 105, 32, 61, 32, 40, 120, 32, 61, 32, 112, 32, - 63, 32, 120, 46, 116, 111, 69, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 40, 112, 32, 45, 32, 49, - 41, 32, 58, 32, 120, 46, 116, 111, 69, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 40, 41, 41, 46, - 105, 110, 100, 101, 120, 79, 102, 40, 34, 101, 34, 41, 41, 32, 60, 32, 48, 41, 32, 114, 101, 116, 117, - 114, 110, 32, 110, 117, 108, 108, 59, 32, 47, 47, 32, 78, 97, 78, 44, 32, 194, 177, 73, 110, 102, 105, - 110, 105, 116, 121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 32, 99, 111, 101, - 102, 102, 105, 99, 105, 101, 110, 116, 32, 61, 32, 120, 46, 115, 108, 105, 99, 101, 40, 48, 44, 32, 105, - 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 104, 101, 32, 115, 116, 114, 105, - 110, 103, 32, 114, 101, 116, 117, 114, 110, 101, 100, 32, 98, 121, 32, 116, 111, 69, 120, 112, 111, 110, 101, - 110, 116, 105, 97, 108, 32, 101, 105, 116, 104, 101, 114, 32, 104, 97, 115, 32, 116, 104, 101, 32, 102, 111, - 114, 109, 32, 92, 100, 92, 46, 92, 100, 43, 101, 91, 45, 43, 93, 92, 100, 43, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 40, 101, 46, 103, 46, 44, 32, 49, 46, 50, 101, 43, 51, 41, 32, 111, - 114, 32, 116, 104, 101, 32, 102, 111, 114, 109, 32, 92, 100, 101, 91, 45, 43, 93, 92, 100, 43, 32, 40, - 101, 46, 103, 46, 44, 32, 49, 101, 43, 51, 41, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 101, 102, - 102, 105, 99, 105, 101, 110, 116, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 49, 32, 63, 32, 99, 111, - 101, 102, 102, 105, 99, 105, 101, 110, 116, 91, 48, 93, 32, 43, 32, 99, 111, 101, 102, 102, 105, 99, 105, - 101, 110, 116, 46, 115, 108, 105, 99, 101, 40, 50, 41, 32, 58, 32, 99, 111, 101, 102, 102, 105, 99, 105, - 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 120, 46, 115, 108, 105, - 99, 101, 40, 105, 32, 43, 32, 49, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 120, 112, 111, 110, - 101, 110, 116, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 120, 32, 61, 32, 102, 111, 114, 109, 97, 116, 68, 101, 99, 105, 109, 97, 108, 80, 97, 114, 116, 115, - 40, 77, 97, 116, 104, 46, 97, 98, 115, 40, 120, 41, 41, 44, 32, 120, 32, 63, 32, 120, 91, 49, 93, - 32, 58, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 71, 114, 111, 117, 112, 40, 103, 114, 111, 117, 112, 105, - 110, 103, 44, 32, 116, 104, 111, 117, 115, 97, 110, 100, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 118, 97, 108, 117, 101, - 44, 32, 119, 105, 100, 116, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 105, 32, 61, 32, 118, 97, 108, 117, 101, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 91, 93, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 61, 32, 48, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 103, 114, 111, - 117, 112, 105, 110, 103, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 101, 110, 103, 116, 104, 32, 61, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 105, 32, 62, 32, 48, 32, 38, 38, 32, 103, 32, - 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 108, 101, 110, 103, 116, 104, 32, 43, 32, 103, 32, 43, 32, 49, 32, 62, 32, 119, 105, - 100, 116, 104, 41, 32, 103, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 49, 44, 32, 119, 105, - 100, 116, 104, 32, 45, 32, 108, 101, 110, 103, 116, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 46, 112, 117, 115, 104, 40, 118, 97, 108, 117, 101, 46, 115, 117, - 98, 115, 116, 114, 105, 110, 103, 40, 105, 32, 45, 61, 32, 103, 44, 32, 105, 32, 43, 32, 103, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, - 108, 101, 110, 103, 116, 104, 32, 43, 61, 32, 103, 32, 43, 32, 49, 41, 32, 62, 32, 119, 105, 100, 116, - 104, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 103, 32, 61, 32, 103, 114, 111, 117, 112, 105, 110, 103, 91, 106, 32, 61, 32, 40, 106, 32, - 43, 32, 49, 41, 32, 37, 32, 103, 114, 111, 117, 112, 105, 110, 103, 46, 108, 101, 110, 103, 116, 104, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 46, 114, 101, 118, 101, 114, 115, 101, 40, - 41, 46, 106, 111, 105, 110, 40, 116, 104, 111, 117, 115, 97, 110, 100, 115, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 78, 117, 109, 101, 114, 97, 108, 115, 40, 110, 117, 109, 101, - 114, 97, 108, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 46, 114, 101, 112, - 108, 97, 99, 101, 40, 47, 91, 48, 45, 57, 93, 47, 103, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 110, 117, 109, 101, 114, 97, 108, 115, 91, 43, 105, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 91, 91, 102, 105, 108, 108, 93, 97, 108, 105, 103, 110, - 93, 91, 115, 105, 103, 110, 93, 91, 115, 121, 109, 98, 111, 108, 93, 91, 48, 93, 91, 119, 105, 100, 116, - 104, 93, 91, 44, 93, 91, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 93, 91, 126, 93, 91, 116, 121, - 112, 101, 93, 10, 32, 32, 32, 32, 118, 97, 114, 32, 114, 101, 32, 61, 32, 47, 94, 40, 63, 58, 40, - 46, 41, 63, 40, 91, 60, 62, 61, 94, 93, 41, 41, 63, 40, 91, 43, 92, 45, 40, 32, 93, 41, 63, - 40, 91, 36, 35, 93, 41, 63, 40, 48, 41, 63, 40, 92, 100, 43, 41, 63, 40, 44, 41, 63, 40, 92, - 46, 92, 100, 43, 41, 63, 40, 126, 41, 63, 40, 91, 97, 45, 122, 37, 93, 41, 63, 36, 47, 105, 59, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 83, 112, - 101, 99, 105, 102, 105, 101, 114, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 109, 97, 116, 99, 104, 32, 61, 32, 114, 101, 46, - 101, 120, 101, 99, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 41, 41, 32, 116, 104, 114, 111, 119, - 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 105, 110, 118, 97, 108, 105, 100, 32, 102, 111, 114, - 109, 97, 116, 58, 32, 34, 32, 43, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 97, 116, 99, 104, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 70, 111, 114, 109, 97, 116, 83, 112, 101, 99, - 105, 102, 105, 101, 114, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 108, - 108, 58, 32, 109, 97, 116, 99, 104, 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 97, 108, 105, 103, 110, 58, 32, 109, 97, 116, 99, 104, 91, 50, 93, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 103, 110, 58, 32, 109, 97, 116, 99, 104, 91, 51, 93, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 121, 109, 98, 111, 108, 58, 32, 109, 97, - 116, 99, 104, 91, 52, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 101, 114, - 111, 58, 32, 109, 97, 116, 99, 104, 91, 53, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 119, 105, 100, 116, 104, 58, 32, 109, 97, 116, 99, 104, 91, 54, 93, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 109, 109, 97, 58, 32, 109, 97, 116, 99, 104, 91, 55, 93, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, - 58, 32, 109, 97, 116, 99, 104, 91, 56, 93, 32, 38, 38, 32, 109, 97, 116, 99, 104, 91, 56, 93, 46, - 115, 108, 105, 99, 101, 40, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 114, 105, 109, 58, 32, 109, 97, 116, 99, 104, 91, 57, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 109, 97, 116, 99, 104, 91, 49, 48, 93, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 111, 114, - 109, 97, 116, 83, 112, 101, 99, 105, 102, 105, 101, 114, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, - 61, 32, 70, 111, 114, 109, 97, 116, 83, 112, 101, 99, 105, 102, 105, 101, 114, 46, 112, 114, 111, 116, 111, - 116, 121, 112, 101, 59, 32, 47, 47, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 70, 111, 114, 109, 97, 116, 83, 112, 101, 99, 105, 102, - 105, 101, 114, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 102, 105, 108, 108, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, - 46, 102, 105, 108, 108, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 63, 32, 34, - 32, 34, 32, 58, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 102, 105, 108, 108, 32, 43, 32, 34, - 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 97, 108, 105, 103, 110, 32, 61, - 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 97, 108, 105, 103, 110, 32, 61, 61, 61, 32, 117, 110, - 100, 101, 102, 105, 110, 101, 100, 32, 63, 32, 34, 62, 34, 32, 58, 32, 115, 112, 101, 99, 105, 102, 105, - 101, 114, 46, 97, 108, 105, 103, 110, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 115, 105, 103, 110, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 115, - 105, 103, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 63, 32, 34, 45, 34, - 32, 58, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 115, 105, 103, 110, 32, 43, 32, 34, 34, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 121, 109, 98, 111, 108, 32, 61, 32, - 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 115, 121, 109, 98, 111, 108, 32, 61, 61, 61, 32, 117, 110, - 100, 101, 102, 105, 110, 101, 100, 32, 63, 32, 34, 34, 32, 58, 32, 115, 112, 101, 99, 105, 102, 105, 101, - 114, 46, 115, 121, 109, 98, 111, 108, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 122, 101, 114, 111, 32, 61, 32, 33, 33, 115, 112, 101, 99, 105, 102, 105, 101, 114, - 46, 122, 101, 114, 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 119, 105, 100, - 116, 104, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 119, 105, 100, 116, 104, 32, 61, 61, - 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 63, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, - 32, 58, 32, 43, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 99, 111, 109, 109, 97, 32, 61, 32, 33, 33, 115, 112, - 101, 99, 105, 102, 105, 101, 114, 46, 99, 111, 109, 109, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 115, 112, 101, 99, 105, 102, - 105, 101, 114, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, - 105, 110, 101, 100, 32, 63, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 58, 32, 43, 115, 112, 101, - 99, 105, 102, 105, 101, 114, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 116, 114, 105, 109, 32, 61, 32, 33, 33, 115, 112, 101, 99, 105, 102, - 105, 101, 114, 46, 116, 114, 105, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 116, 121, 112, 101, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 116, 121, 112, 101, 32, 61, - 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 63, 32, 34, 34, 32, 58, 32, 115, 112, 101, - 99, 105, 102, 105, 101, 114, 46, 116, 121, 112, 101, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 70, 111, 114, 109, 97, 116, 83, 112, 101, 99, 105, 102, 105, 101, 114, 46, 112, - 114, 111, 116, 111, 116, 121, 112, 101, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 116, 104, 105, 115, 46, 102, 105, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 43, 32, 116, 104, 105, 115, 46, 97, 108, 105, 103, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 43, 32, 116, 104, 105, 115, 46, 115, 105, 103, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 43, 32, 116, 104, 105, 115, 46, 115, 121, 109, 98, 111, 108, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 43, 32, 40, 116, 104, 105, 115, 46, 122, 101, 114, 111, 32, 63, 32, 34, - 48, 34, 32, 58, 32, 34, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, - 40, 116, 104, 105, 115, 46, 119, 105, 100, 116, 104, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, - 101, 100, 32, 63, 32, 34, 34, 32, 58, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 49, 44, 32, 116, - 104, 105, 115, 46, 119, 105, 100, 116, 104, 32, 124, 32, 48, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 43, 32, 40, 116, 104, 105, 115, 46, 99, 111, 109, 109, 97, 32, 63, 32, 34, 44, - 34, 32, 58, 32, 34, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 40, - 116, 104, 105, 115, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, - 102, 105, 110, 101, 100, 32, 63, 32, 34, 34, 32, 58, 32, 34, 46, 34, 32, 43, 32, 77, 97, 116, 104, - 46, 109, 97, 120, 40, 48, 44, 32, 116, 104, 105, 115, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, - 124, 32, 48, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 40, 116, 104, - 105, 115, 46, 116, 114, 105, 109, 32, 63, 32, 34, 126, 34, 32, 58, 32, 34, 34, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 116, 104, 105, 115, 46, 116, 121, 112, 101, 59, 10, 32, - 32, 32, 32, 125, 59, 10, 10, 47, 47, 32, 84, 114, 105, 109, 115, 32, 105, 110, 115, 105, 103, 110, 105, - 102, 105, 99, 97, 110, 116, 32, 122, 101, 114, 111, 115, 44, 32, 101, 46, 103, 46, 44, 32, 114, 101, 112, - 108, 97, 99, 101, 115, 32, 49, 46, 50, 48, 48, 48, 107, 32, 119, 105, 116, 104, 32, 49, 46, 50, 107, - 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 84, 114, - 105, 109, 40, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 58, 32, 102, 111, - 114, 32, 40, 118, 97, 114, 32, 110, 32, 61, 32, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 105, 32, - 61, 32, 49, 44, 32, 105, 48, 32, 61, 32, 45, 49, 44, 32, 105, 49, 59, 32, 105, 32, 60, 32, 110, - 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, - 105, 116, 99, 104, 32, 40, 115, 91, 105, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 46, 34, 58, 32, 105, 48, 32, 61, 32, 105, - 49, 32, 61, 32, 105, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 48, 34, 58, 32, 105, 102, 32, 40, 105, 48, - 32, 61, 61, 61, 32, 48, 41, 32, 105, 48, 32, 61, 32, 105, 59, 32, 105, 49, 32, 61, 32, 105, 59, - 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 105, 102, 32, 40, 33, 43, 115, 91, 105, 93, 41, 32, 98, - 114, 101, 97, 107, 32, 111, 117, 116, 59, 32, 105, 102, 32, 40, 105, 48, 32, 62, 32, 48, 41, 32, 105, - 48, 32, 61, 32, 48, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 105, 48, 32, 62, 32, 48, 32, 63, 32, 115, 46, 115, 108, 105, 99, 101, - 40, 48, 44, 32, 105, 48, 41, 32, 43, 32, 115, 46, 115, 108, 105, 99, 101, 40, 105, 49, 32, 43, 32, - 49, 41, 32, 58, 32, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 112, 114, 101, 102, 105, 120, 69, 120, 112, 111, 110, 101, 110, 116, 59, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 80, 114, 101, 102, 105, 120, 65, 117, 116, 111, - 40, 120, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, - 61, 32, 102, 111, 114, 109, 97, 116, 68, 101, 99, 105, 109, 97, 108, 80, 97, 114, 116, 115, 40, 120, 44, - 32, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 100, 41, 32, 114, 101, - 116, 117, 114, 110, 32, 120, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 32, 61, 32, 100, 91, 48, 93, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 120, 112, 111, 110, 101, 110, 116, 32, 61, 32, 100, - 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 101, 120, - 112, 111, 110, 101, 110, 116, 32, 45, 32, 40, 112, 114, 101, 102, 105, 120, 69, 120, 112, 111, 110, 101, 110, - 116, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 45, 56, 44, 32, 77, 97, 116, 104, 46, 109, - 105, 110, 40, 56, 44, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 101, 120, 112, 111, 110, 101, - 110, 116, 32, 47, 32, 51, 41, 41, 41, 32, 42, 32, 51, 41, 32, 43, 32, 49, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, - 116, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 105, 32, 61, 61, 61, 32, 110, 32, 63, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 105, 32, 62, 32, 110, 32, 63, 32, - 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 32, 43, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, - 40, 105, 32, 45, 32, 110, 32, 43, 32, 49, 41, 46, 106, 111, 105, 110, 40, 34, 48, 34, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 105, 32, 62, 32, 48, 32, - 63, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 46, 115, 108, 105, 99, 101, 40, 48, 44, 32, - 105, 41, 32, 43, 32, 34, 46, 34, 32, 43, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 46, - 115, 108, 105, 99, 101, 40, 105, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 58, 32, 34, 48, 46, 34, 32, 43, 32, 110, 101, 119, 32, 65, 114, 114, 97, - 121, 40, 49, 32, 45, 32, 105, 41, 46, 106, 111, 105, 110, 40, 34, 48, 34, 41, 32, 43, 32, 102, 111, - 114, 109, 97, 116, 68, 101, 99, 105, 109, 97, 108, 80, 97, 114, 116, 115, 40, 120, 44, 32, 77, 97, 116, - 104, 46, 109, 97, 120, 40, 48, 44, 32, 112, 32, 43, 32, 105, 32, 45, 32, 49, 41, 41, 91, 48, 93, - 59, 32, 47, 47, 32, 108, 101, 115, 115, 32, 116, 104, 97, 110, 32, 49, 121, 33, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 82, - 111, 117, 110, 100, 101, 100, 40, 120, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 100, 32, 61, 32, 102, 111, 114, 109, 97, 116, 68, 101, 99, 105, 109, 97, 108, 80, 97, - 114, 116, 115, 40, 120, 44, 32, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 100, 41, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 32, 61, 32, 100, - 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 120, 112, 111, 110, 101, - 110, 116, 32, 61, 32, 100, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 101, 120, 112, 111, 110, 101, 110, 116, 32, 60, 32, 48, 32, 63, 32, 34, 48, 46, 34, 32, - 43, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 45, 101, 120, 112, 111, 110, 101, 110, 116, 41, 46, - 106, 111, 105, 110, 40, 34, 48, 34, 41, 32, 43, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 99, 111, 101, 102, 102, 105, 99, 105, - 101, 110, 116, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 101, 120, 112, 111, 110, 101, 110, 116, 32, 43, - 32, 49, 32, 63, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 46, 115, 108, 105, 99, 101, 40, - 48, 44, 32, 101, 120, 112, 111, 110, 101, 110, 116, 32, 43, 32, 49, 41, 32, 43, 32, 34, 46, 34, 32, - 43, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 46, 115, 108, 105, 99, 101, 40, 101, 120, 112, - 111, 110, 101, 110, 116, 32, 43, 32, 49, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 58, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 32, 43, 32, 110, 101, 119, - 32, 65, 114, 114, 97, 121, 40, 101, 120, 112, 111, 110, 101, 110, 116, 32, 45, 32, 99, 111, 101, 102, 102, - 105, 99, 105, 101, 110, 116, 46, 108, 101, 110, 103, 116, 104, 32, 43, 32, 50, 41, 46, 106, 111, 105, 110, - 40, 34, 48, 34, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 102, - 111, 114, 109, 97, 116, 84, 121, 112, 101, 115, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 34, 37, 34, 58, 32, 40, 120, 44, 32, 112, 41, 32, 61, 62, 32, 40, 120, 32, 42, 32, 49, 48, 48, - 41, 46, 116, 111, 70, 105, 120, 101, 100, 40, 112, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, - 98, 34, 58, 32, 40, 120, 41, 32, 61, 62, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 120, - 41, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 34, 99, 34, 58, 32, 40, 120, 41, 32, 61, 62, 32, 120, 32, 43, 32, 34, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 100, 34, 58, 32, 102, 111, 114, 109, 97, 116, 68, 101, 99, 105, 109, 97, 108, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 34, 58, 32, 40, 120, 44, 32, 112, 41, 32, 61, - 62, 32, 120, 46, 116, 111, 69, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 40, 112, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 102, 34, 58, 32, 40, 120, 44, 32, 112, 41, 32, 61, 62, 32, 120, - 46, 116, 111, 70, 105, 120, 101, 100, 40, 112, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 103, - 34, 58, 32, 40, 120, 44, 32, 112, 41, 32, 61, 62, 32, 120, 46, 116, 111, 80, 114, 101, 99, 105, 115, - 105, 111, 110, 40, 112, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 111, 34, 58, 32, 40, 120, - 41, 32, 61, 62, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 120, 41, 46, 116, 111, 83, 116, - 114, 105, 110, 103, 40, 56, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, 34, 58, 32, 40, - 120, 44, 32, 112, 41, 32, 61, 62, 32, 102, 111, 114, 109, 97, 116, 82, 111, 117, 110, 100, 101, 100, 40, - 120, 32, 42, 32, 49, 48, 48, 44, 32, 112, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 114, - 34, 58, 32, 102, 111, 114, 109, 97, 116, 82, 111, 117, 110, 100, 101, 100, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 115, 34, 58, 32, 102, 111, 114, 109, 97, 116, 80, 114, 101, 102, 105, 120, 65, 117, 116, - 111, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 88, 34, 58, 32, 40, 120, 41, 32, 61, 62, 32, - 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 120, 41, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, - 49, 54, 41, 46, 116, 111, 85, 112, 112, 101, 114, 67, 97, 115, 101, 40, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 120, 34, 58, 32, 40, 120, 41, 32, 61, 62, 32, 77, 97, 116, 104, 46, 114, 111, - 117, 110, 100, 40, 120, 41, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 49, 54, 41, 10, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 100, 101, 110, 116, - 105, 116, 121, 36, 54, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 109, 97, - 112, 32, 61, 32, 65, 114, 114, 97, 121, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 109, 97, 112, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 101, 102, 105, 120, 101, 115, 32, 61, 32, 91, 34, - 121, 34, 44, 34, 122, 34, 44, 34, 97, 34, 44, 34, 102, 34, 44, 34, 112, 34, 44, 34, 110, 34, 44, - 34, 92, 120, 66, 53, 34, 44, 34, 109, 34, 44, 34, 34, 44, 34, 107, 34, 44, 34, 77, 34, 44, 34, - 71, 34, 44, 34, 84, 34, 44, 34, 80, 34, 44, 34, 69, 34, 44, 34, 90, 34, 44, 34, 89, 34, 93, - 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 76, - 111, 99, 97, 108, 101, 36, 49, 40, 108, 111, 99, 97, 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 103, 114, 111, 117, 112, 32, 61, 32, 108, 111, 99, 97, 108, 101, 46, 103, - 114, 111, 117, 112, 105, 110, 103, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 124, - 124, 32, 108, 111, 99, 97, 108, 101, 46, 116, 104, 111, 117, 115, 97, 110, 100, 115, 32, 61, 61, 61, 32, - 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 63, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 54, 32, - 58, 32, 102, 111, 114, 109, 97, 116, 71, 114, 111, 117, 112, 40, 109, 97, 112, 46, 99, 97, 108, 108, 40, - 108, 111, 99, 97, 108, 101, 46, 103, 114, 111, 117, 112, 105, 110, 103, 44, 32, 78, 117, 109, 98, 101, 114, - 41, 44, 32, 108, 111, 99, 97, 108, 101, 46, 116, 104, 111, 117, 115, 97, 110, 100, 115, 32, 43, 32, 34, - 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 99, - 121, 80, 114, 101, 102, 105, 120, 32, 61, 32, 108, 111, 99, 97, 108, 101, 46, 99, 117, 114, 114, 101, 110, - 99, 121, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 63, 32, 34, 34, 32, 58, - 32, 108, 111, 99, 97, 108, 101, 46, 99, 117, 114, 114, 101, 110, 99, 121, 91, 48, 93, 32, 43, 32, 34, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 99, 121, - 83, 117, 102, 102, 105, 120, 32, 61, 32, 108, 111, 99, 97, 108, 101, 46, 99, 117, 114, 114, 101, 110, 99, - 121, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 63, 32, 34, 34, 32, 58, 32, - 108, 111, 99, 97, 108, 101, 46, 99, 117, 114, 114, 101, 110, 99, 121, 91, 49, 93, 32, 43, 32, 34, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 99, 105, 109, 97, 108, 32, 61, - 32, 108, 111, 99, 97, 108, 101, 46, 100, 101, 99, 105, 109, 97, 108, 32, 61, 61, 61, 32, 117, 110, 100, - 101, 102, 105, 110, 101, 100, 32, 63, 32, 34, 46, 34, 32, 58, 32, 108, 111, 99, 97, 108, 101, 46, 100, - 101, 99, 105, 109, 97, 108, 32, 43, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 117, 109, 101, 114, 97, 108, 115, 32, 61, 32, 108, 111, 99, 97, 108, 101, 46, 110, 117, 109, - 101, 114, 97, 108, 115, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 63, 32, 105, - 100, 101, 110, 116, 105, 116, 121, 36, 54, 32, 58, 32, 102, 111, 114, 109, 97, 116, 78, 117, 109, 101, 114, - 97, 108, 115, 40, 109, 97, 112, 46, 99, 97, 108, 108, 40, 108, 111, 99, 97, 108, 101, 46, 110, 117, 109, - 101, 114, 97, 108, 115, 44, 32, 83, 116, 114, 105, 110, 103, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 101, 114, 99, 101, 110, 116, 32, 61, 32, 108, 111, 99, 97, 108, 101, 46, - 112, 101, 114, 99, 101, 110, 116, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 63, - 32, 34, 37, 34, 32, 58, 32, 108, 111, 99, 97, 108, 101, 46, 112, 101, 114, 99, 101, 110, 116, 32, 43, - 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, 117, 115, 32, - 61, 32, 108, 111, 99, 97, 108, 101, 46, 109, 105, 110, 117, 115, 32, 61, 61, 61, 32, 117, 110, 100, 101, - 102, 105, 110, 101, 100, 32, 63, 32, 34, 92, 117, 50, 50, 49, 50, 34, 32, 58, 32, 108, 111, 99, 97, - 108, 101, 46, 109, 105, 110, 117, 115, 32, 43, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 110, 97, 110, 32, 61, 32, 108, 111, 99, 97, 108, 101, 46, 110, 97, 110, 32, 61, 61, - 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 63, 32, 34, 78, 97, 78, 34, 32, 58, 32, 108, - 111, 99, 97, 108, 101, 46, 110, 97, 110, 32, 43, 32, 34, 34, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 101, 119, 70, 111, 114, 109, 97, 116, 40, 115, 112, - 101, 99, 105, 102, 105, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 112, 101, 99, 105, 102, 105, 101, 114, 32, 61, 32, 102, 111, 114, 109, 97, 116, 83, 112, 101, 99, 105, - 102, 105, 101, 114, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 105, 108, 108, 32, 61, 32, 115, 112, 101, 99, 105, - 102, 105, 101, 114, 46, 102, 105, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 97, 108, 105, 103, 110, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 97, - 108, 105, 103, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 105, 103, 110, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 115, 105, 103, 110, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 121, 109, 98, 111, 108, 32, 61, - 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 115, 121, 109, 98, 111, 108, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 101, 114, 111, 32, 61, 32, 115, 112, 101, 99, - 105, 102, 105, 101, 114, 46, 122, 101, 114, 111, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 105, 100, 116, 104, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, - 119, 105, 100, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 109, 109, 97, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 99, 111, 109, 109, 97, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 101, 99, 105, - 115, 105, 111, 110, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 112, 114, 101, 99, 105, 115, - 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, - 105, 109, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 116, 114, 105, 109, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 32, 61, 32, 115, 112, - 101, 99, 105, 102, 105, 101, 114, 46, 116, 121, 112, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 84, 104, 101, 32, 34, 110, 34, 32, 116, 121, 112, 101, 32, 105, 115, 32, - 97, 110, 32, 97, 108, 105, 97, 115, 32, 102, 111, 114, 32, 34, 44, 103, 34, 46, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 32, 61, 61, 61, 32, 34, 110, - 34, 41, 32, 99, 111, 109, 109, 97, 32, 61, 32, 116, 114, 117, 101, 44, 32, 116, 121, 112, 101, 32, 61, - 32, 34, 103, 34, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, - 104, 101, 32, 34, 34, 32, 116, 121, 112, 101, 44, 32, 97, 110, 100, 32, 97, 110, 121, 32, 105, 110, 118, - 97, 108, 105, 100, 32, 116, 121, 112, 101, 44, 32, 105, 115, 32, 97, 110, 32, 97, 108, 105, 97, 115, 32, - 102, 111, 114, 32, 34, 46, 49, 50, 126, 103, 34, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 33, 102, 111, 114, 109, 97, 116, 84, 121, 112, 101, 115, - 91, 116, 121, 112, 101, 93, 41, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 61, 61, 32, 117, - 110, 100, 101, 102, 105, 110, 101, 100, 32, 38, 38, 32, 40, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, - 61, 32, 49, 50, 41, 44, 32, 116, 114, 105, 109, 32, 61, 32, 116, 114, 117, 101, 44, 32, 116, 121, 112, - 101, 32, 61, 32, 34, 103, 34, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 73, 102, 32, 122, 101, 114, 111, 32, 102, 105, 108, 108, 32, 105, 115, 32, 115, 112, 101, 99, 105, - 102, 105, 101, 100, 44, 32, 112, 97, 100, 100, 105, 110, 103, 32, 103, 111, 101, 115, 32, 97, 102, 116, 101, - 114, 32, 115, 105, 103, 110, 32, 97, 110, 100, 32, 98, 101, 102, 111, 114, 101, 32, 100, 105, 103, 105, 116, - 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 122, 101, 114, 111, - 32, 124, 124, 32, 40, 102, 105, 108, 108, 32, 61, 61, 61, 32, 34, 48, 34, 32, 38, 38, 32, 97, 108, - 105, 103, 110, 32, 61, 61, 61, 32, 34, 61, 34, 41, 41, 32, 122, 101, 114, 111, 32, 61, 32, 116, 114, - 117, 101, 44, 32, 102, 105, 108, 108, 32, 61, 32, 34, 48, 34, 44, 32, 97, 108, 105, 103, 110, 32, 61, - 32, 34, 61, 34, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, - 111, 109, 112, 117, 116, 101, 32, 116, 104, 101, 32, 112, 114, 101, 102, 105, 120, 32, 97, 110, 100, 32, 115, - 117, 102, 102, 105, 120, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 70, - 111, 114, 32, 83, 73, 45, 112, 114, 101, 102, 105, 120, 44, 32, 116, 104, 101, 32, 115, 117, 102, 102, 105, - 120, 32, 105, 115, 32, 108, 97, 122, 105, 108, 121, 32, 99, 111, 109, 112, 117, 116, 101, 100, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 114, 101, 102, 105, 120, 32, 61, - 32, 115, 121, 109, 98, 111, 108, 32, 61, 61, 61, 32, 34, 36, 34, 32, 63, 32, 99, 117, 114, 114, 101, - 110, 99, 121, 80, 114, 101, 102, 105, 120, 32, 58, 32, 115, 121, 109, 98, 111, 108, 32, 61, 61, 61, 32, - 34, 35, 34, 32, 38, 38, 32, 47, 91, 98, 111, 120, 88, 93, 47, 46, 116, 101, 115, 116, 40, 116, 121, - 112, 101, 41, 32, 63, 32, 34, 48, 34, 32, 43, 32, 116, 121, 112, 101, 46, 116, 111, 76, 111, 119, 101, - 114, 67, 97, 115, 101, 40, 41, 32, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 117, 102, 102, 105, 120, 32, 61, 32, 115, 121, 109, 98, 111, 108, 32, - 61, 61, 61, 32, 34, 36, 34, 32, 63, 32, 99, 117, 114, 114, 101, 110, 99, 121, 83, 117, 102, 102, 105, - 120, 32, 58, 32, 47, 91, 37, 112, 93, 47, 46, 116, 101, 115, 116, 40, 116, 121, 112, 101, 41, 32, 63, - 32, 112, 101, 114, 99, 101, 110, 116, 32, 58, 32, 34, 34, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 47, 47, 32, 87, 104, 97, 116, 32, 102, 111, 114, 109, 97, 116, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 115, 104, 111, 117, 108, 100, 32, 119, 101, 32, 117, 115, 101, 63, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 115, 32, 116, 104, 105, 115, 32, 97, 110, - 32, 105, 110, 116, 101, 103, 101, 114, 32, 116, 121, 112, 101, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 67, 97, 110, 32, 116, 104, 105, 115, 32, 116, 121, 112, 101, 32, 103, 101, - 110, 101, 114, 97, 116, 101, 32, 101, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 32, 110, 111, 116, 97, - 116, 105, 111, 110, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, - 111, 114, 109, 97, 116, 84, 121, 112, 101, 32, 61, 32, 102, 111, 114, 109, 97, 116, 84, 121, 112, 101, 115, - 91, 116, 121, 112, 101, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 109, 97, 121, 98, 101, 83, 117, 102, 102, 105, 120, 32, 61, 32, 47, 91, 100, 101, 102, 103, 112, 114, - 115, 37, 93, 47, 46, 116, 101, 115, 116, 40, 116, 121, 112, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 83, 101, 116, 32, 116, 104, 101, 32, 100, 101, 102, 97, 117, - 108, 116, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 105, 102, 32, 110, 111, 116, 32, 115, 112, 101, - 99, 105, 102, 105, 101, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, - 111, 114, 32, 99, 108, 97, 109, 112, 32, 116, 104, 101, 32, 115, 112, 101, 99, 105, 102, 105, 101, 100, 32, - 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 116, 111, 32, 116, 104, 101, 32, 115, 117, 112, 112, 111, 114, - 116, 101, 100, 32, 114, 97, 110, 103, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 47, 47, 32, 70, 111, 114, 32, 115, 105, 103, 110, 105, 102, 105, 99, 97, 110, 116, 32, 112, 114, 101, 99, - 105, 115, 105, 111, 110, 44, 32, 105, 116, 32, 109, 117, 115, 116, 32, 98, 101, 32, 105, 110, 32, 91, 49, - 44, 32, 50, 49, 93, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 70, - 111, 114, 32, 102, 105, 120, 101, 100, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 44, 32, 105, 116, 32, - 109, 117, 115, 116, 32, 98, 101, 32, 105, 110, 32, 91, 48, 44, 32, 50, 48, 93, 46, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 112, 114, - 101, 99, 105, 115, 105, 111, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 32, 63, - 32, 54, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 47, 91, - 103, 112, 114, 115, 93, 47, 46, 116, 101, 115, 116, 40, 116, 121, 112, 101, 41, 32, 63, 32, 77, 97, 116, - 104, 46, 109, 97, 120, 40, 49, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 50, 49, 44, 32, 112, - 114, 101, 99, 105, 115, 105, 111, 110, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, - 97, 116, 104, 46, 109, 105, 110, 40, 50, 48, 44, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 41, 41, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 102, 111, 114, 109, 97, 116, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 97, 108, 117, 101, 80, 114, 101, 102, - 105, 120, 32, 61, 32, 112, 114, 101, 102, 105, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, 105, 120, 32, 61, - 32, 115, 117, 102, 102, 105, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 44, 32, 110, 44, 32, 99, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 32, 61, 61, 61, 32, 34, - 99, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, 105, 120, 32, 61, 32, 102, 111, 114, 109, 97, 116, - 84, 121, 112, 101, 40, 118, 97, 108, 117, 101, 41, 32, 43, 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, - 105, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 108, 117, 101, 32, 61, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 32, 61, 32, 43, 118, 97, - 108, 117, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 68, 101, 116, 101, 114, 109, 105, 110, 101, 32, 116, 104, 101, 32, 115, 105, 103, - 110, 46, 32, 45, 48, 32, 105, 115, 32, 110, 111, 116, 32, 108, 101, 115, 115, 32, 116, 104, 97, 110, 32, - 48, 44, 32, 98, 117, 116, 32, 49, 32, 47, 32, 45, 48, 32, 105, 115, 33, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 97, 108, 117, - 101, 78, 101, 103, 97, 116, 105, 118, 101, 32, 61, 32, 118, 97, 108, 117, 101, 32, 60, 32, 48, 32, 124, - 124, 32, 49, 32, 47, 32, 118, 97, 108, 117, 101, 32, 60, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 80, 101, 114, 102, 111, - 114, 109, 32, 116, 104, 101, 32, 105, 110, 105, 116, 105, 97, 108, 32, 102, 111, 114, 109, 97, 116, 116, 105, - 110, 103, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 108, 117, 101, 32, 61, 32, 105, 115, 78, 97, 78, 40, 118, 97, 108, 117, 101, 41, 32, 63, - 32, 110, 97, 110, 32, 58, 32, 102, 111, 114, 109, 97, 116, 84, 121, 112, 101, 40, 77, 97, 116, 104, 46, - 97, 98, 115, 40, 118, 97, 108, 117, 101, 41, 44, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 84, 114, 105, 109, 32, 105, 110, 115, 105, 103, 110, 105, 102, 105, 99, 97, 110, 116, 32, 122, 101, - 114, 111, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 116, 114, 105, 109, 41, 32, 118, 97, 108, 117, 101, 32, 61, 32, 102, 111, 114, - 109, 97, 116, 84, 114, 105, 109, 40, 118, 97, 108, 117, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 97, 32, 110, - 101, 103, 97, 116, 105, 118, 101, 32, 118, 97, 108, 117, 101, 32, 114, 111, 117, 110, 100, 115, 32, 116, 111, - 32, 122, 101, 114, 111, 32, 97, 102, 116, 101, 114, 32, 102, 111, 114, 109, 97, 116, 116, 105, 110, 103, 44, - 32, 97, 110, 100, 32, 110, 111, 32, 101, 120, 112, 108, 105, 99, 105, 116, 32, 112, 111, 115, 105, 116, 105, - 118, 101, 32, 115, 105, 103, 110, 32, 105, 115, 32, 114, 101, 113, 117, 101, 115, 116, 101, 100, 44, 32, 104, - 105, 100, 101, 32, 116, 104, 101, 32, 115, 105, 103, 110, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 97, 108, 117, 101, 78, 101, 103, - 97, 116, 105, 118, 101, 32, 38, 38, 32, 43, 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 48, 32, 38, - 38, 32, 115, 105, 103, 110, 32, 33, 61, 61, 32, 34, 43, 34, 41, 32, 118, 97, 108, 117, 101, 78, 101, - 103, 97, 116, 105, 118, 101, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 109, 112, 117, 116, - 101, 32, 116, 104, 101, 32, 112, 114, 101, 102, 105, 120, 32, 97, 110, 100, 32, 115, 117, 102, 102, 105, 120, - 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 108, 117, 101, 80, 114, 101, 102, 105, 120, 32, 61, 32, 40, 118, 97, 108, 117, 101, 78, 101, 103, 97, - 116, 105, 118, 101, 32, 63, 32, 40, 115, 105, 103, 110, 32, 61, 61, 61, 32, 34, 40, 34, 32, 63, 32, - 115, 105, 103, 110, 32, 58, 32, 109, 105, 110, 117, 115, 41, 32, 58, 32, 115, 105, 103, 110, 32, 61, 61, - 61, 32, 34, 45, 34, 32, 124, 124, 32, 115, 105, 103, 110, 32, 61, 61, 61, 32, 34, 40, 34, 32, 63, - 32, 34, 34, 32, 58, 32, 115, 105, 103, 110, 41, 32, 43, 32, 118, 97, 108, 117, 101, 80, 114, 101, 102, - 105, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, 105, 120, 32, 61, 32, 40, 116, 121, 112, 101, 32, 61, 61, - 61, 32, 34, 115, 34, 32, 63, 32, 112, 114, 101, 102, 105, 120, 101, 115, 91, 56, 32, 43, 32, 112, 114, - 101, 102, 105, 120, 69, 120, 112, 111, 110, 101, 110, 116, 32, 47, 32, 51, 93, 32, 58, 32, 34, 34, 41, - 32, 43, 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, 105, 120, 32, 43, 32, 40, 118, 97, 108, 117, 101, - 78, 101, 103, 97, 116, 105, 118, 101, 32, 38, 38, 32, 115, 105, 103, 110, 32, 61, 61, 61, 32, 34, 40, - 34, 32, 63, 32, 34, 41, 34, 32, 58, 32, 34, 34, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 66, 114, 101, 97, 107, 32, 116, - 104, 101, 32, 102, 111, 114, 109, 97, 116, 116, 101, 100, 32, 118, 97, 108, 117, 101, 32, 105, 110, 116, 111, - 32, 116, 104, 101, 32, 105, 110, 116, 101, 103, 101, 114, 32, 226, 128, 156, 118, 97, 108, 117, 101, 226, 128, - 157, 32, 112, 97, 114, 116, 32, 116, 104, 97, 116, 32, 99, 97, 110, 32, 98, 101, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 103, 114, 111, 117, - 112, 101, 100, 44, 32, 97, 110, 100, 32, 102, 114, 97, 99, 116, 105, 111, 110, 97, 108, 32, 111, 114, 32, - 101, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 32, 226, 128, 156, 115, 117, 102, 102, 105, 120, 226, 128, - 157, 32, 112, 97, 114, 116, 32, 116, 104, 97, 116, 32, 105, 115, 32, 110, 111, 116, 46, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 97, - 121, 98, 101, 83, 117, 102, 102, 105, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 45, 49, 44, 32, 110, - 32, 61, 32, 118, 97, 108, 117, 101, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, - 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, - 32, 61, 32, 118, 97, 108, 117, 101, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 105, 41, 44, - 32, 52, 56, 32, 62, 32, 99, 32, 124, 124, 32, 99, 32, 62, 32, 53, 55, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, 105, 120, 32, 61, 32, 40, 99, - 32, 61, 61, 61, 32, 52, 54, 32, 63, 32, 100, 101, 99, 105, 109, 97, 108, 32, 43, 32, 118, 97, 108, - 117, 101, 46, 115, 108, 105, 99, 101, 40, 105, 32, 43, 32, 49, 41, 32, 58, 32, 118, 97, 108, 117, 101, - 46, 115, 108, 105, 99, 101, 40, 105, 41, 41, 32, 43, 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, 105, - 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 32, 61, 32, 118, 97, 108, - 117, 101, 46, 115, 108, 105, 99, 101, 40, 48, 44, 32, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 32, 102, 105, 108, 108, 32, 99, - 104, 97, 114, 97, 99, 116, 101, 114, 32, 105, 115, 32, 110, 111, 116, 32, 34, 48, 34, 44, 32, 103, 114, - 111, 117, 112, 105, 110, 103, 32, 105, 115, 32, 97, 112, 112, 108, 105, 101, 100, 32, 98, 101, 102, 111, 114, - 101, 32, 112, 97, 100, 100, 105, 110, 103, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 109, 109, 97, 32, 38, 38, 32, 33, 122, 101, 114, 111, 41, - 32, 118, 97, 108, 117, 101, 32, 61, 32, 103, 114, 111, 117, 112, 40, 118, 97, 108, 117, 101, 44, 32, 73, - 110, 102, 105, 110, 105, 116, 121, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, 116, 104, 101, 32, 112, 97, 100, 100, - 105, 110, 103, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 108, 101, 110, 103, 116, 104, 32, 61, 32, 118, 97, 108, 117, 101, 80, 114, 101, 102, 105, 120, 46, - 108, 101, 110, 103, 116, 104, 32, 43, 32, 118, 97, 108, 117, 101, 46, 108, 101, 110, 103, 116, 104, 32, 43, - 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, 105, 120, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, 100, 105, - 110, 103, 32, 61, 32, 108, 101, 110, 103, 116, 104, 32, 60, 32, 119, 105, 100, 116, 104, 32, 63, 32, 110, - 101, 119, 32, 65, 114, 114, 97, 121, 40, 119, 105, 100, 116, 104, 32, 45, 32, 108, 101, 110, 103, 116, 104, - 32, 43, 32, 49, 41, 46, 106, 111, 105, 110, 40, 102, 105, 108, 108, 41, 32, 58, 32, 34, 34, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, - 116, 104, 101, 32, 102, 105, 108, 108, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 105, 115, 32, 34, - 48, 34, 44, 32, 103, 114, 111, 117, 112, 105, 110, 103, 32, 105, 115, 32, 97, 112, 112, 108, 105, 101, 100, - 32, 97, 102, 116, 101, 114, 32, 112, 97, 100, 100, 105, 110, 103, 46, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 109, 109, 97, 32, 38, 38, 32, 122, - 101, 114, 111, 41, 32, 118, 97, 108, 117, 101, 32, 61, 32, 103, 114, 111, 117, 112, 40, 112, 97, 100, 100, - 105, 110, 103, 32, 43, 32, 118, 97, 108, 117, 101, 44, 32, 112, 97, 100, 100, 105, 110, 103, 46, 108, 101, - 110, 103, 116, 104, 32, 63, 32, 119, 105, 100, 116, 104, 32, 45, 32, 118, 97, 108, 117, 101, 83, 117, 102, - 102, 105, 120, 46, 108, 101, 110, 103, 116, 104, 32, 58, 32, 73, 110, 102, 105, 110, 105, 116, 121, 41, 44, - 32, 112, 97, 100, 100, 105, 110, 103, 32, 61, 32, 34, 34, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 82, 101, 99, 111, 110, 115, 116, 114, 117, 99, 116, - 32, 116, 104, 101, 32, 102, 105, 110, 97, 108, 32, 111, 117, 116, 112, 117, 116, 32, 98, 97, 115, 101, 100, - 32, 111, 110, 32, 116, 104, 101, 32, 100, 101, 115, 105, 114, 101, 100, 32, 97, 108, 105, 103, 110, 109, 101, - 110, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, - 116, 99, 104, 32, 40, 97, 108, 105, 103, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 60, 34, 58, 32, 118, 97, - 108, 117, 101, 32, 61, 32, 118, 97, 108, 117, 101, 80, 114, 101, 102, 105, 120, 32, 43, 32, 118, 97, 108, - 117, 101, 32, 43, 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, 105, 120, 32, 43, 32, 112, 97, 100, 100, - 105, 110, 103, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 61, 34, 58, 32, 118, 97, 108, 117, - 101, 32, 61, 32, 118, 97, 108, 117, 101, 80, 114, 101, 102, 105, 120, 32, 43, 32, 112, 97, 100, 100, 105, - 110, 103, 32, 43, 32, 118, 97, 108, 117, 101, 32, 43, 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, 105, - 120, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 94, 34, 58, 32, 118, 97, 108, 117, 101, 32, - 61, 32, 112, 97, 100, 100, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 48, 44, 32, 108, 101, 110, 103, - 116, 104, 32, 61, 32, 112, 97, 100, 100, 105, 110, 103, 46, 108, 101, 110, 103, 116, 104, 32, 62, 62, 32, - 49, 41, 32, 43, 32, 118, 97, 108, 117, 101, 80, 114, 101, 102, 105, 120, 32, 43, 32, 118, 97, 108, 117, - 101, 32, 43, 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, 105, 120, 32, 43, 32, 112, 97, 100, 100, 105, - 110, 103, 46, 115, 108, 105, 99, 101, 40, 108, 101, 110, 103, 116, 104, 41, 59, 32, 98, 114, 101, 97, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 101, 102, 97, 117, 108, 116, 58, 32, 118, 97, 108, 117, 101, 32, 61, 32, 112, 97, 100, 100, 105, 110, 103, - 32, 43, 32, 118, 97, 108, 117, 101, 80, 114, 101, 102, 105, 120, 32, 43, 32, 118, 97, 108, 117, 101, 32, - 43, 32, 118, 97, 108, 117, 101, 83, 117, 102, 102, 105, 120, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 109, 101, 114, - 97, 108, 115, 40, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 46, - 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 32, 43, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 102, 111, 114, 109, 97, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, - 97, 116, 80, 114, 101, 102, 105, 120, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 44, 32, 118, 97, 108, - 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, - 32, 61, 32, 110, 101, 119, 70, 111, 114, 109, 97, 116, 40, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, - 32, 61, 32, 102, 111, 114, 109, 97, 116, 83, 112, 101, 99, 105, 102, 105, 101, 114, 40, 115, 112, 101, 99, - 105, 102, 105, 101, 114, 41, 44, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 116, 121, 112, 101, 32, - 61, 32, 34, 102, 34, 44, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 77, 97, 116, 104, 46, 109, - 97, 120, 40, 45, 56, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 56, 44, 32, 77, 97, 116, 104, - 46, 102, 108, 111, 111, 114, 40, 101, 120, 112, 111, 110, 101, 110, 116, 40, 118, 97, 108, 117, 101, 41, 32, - 47, 32, 51, 41, 41, 41, 32, 42, 32, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 107, 32, 61, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 49, 48, 44, 32, 45, - 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 101, - 102, 105, 120, 32, 61, 32, 112, 114, 101, 102, 105, 120, 101, 115, 91, 56, 32, 43, 32, 101, 32, 47, 32, - 51, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 40, 107, 32, 42, - 32, 118, 97, 108, 117, 101, 41, 32, 43, 32, 112, 114, 101, 102, 105, 120, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 58, 32, 110, 101, 119, 70, 111, 114, 109, 97, 116, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 80, 114, 101, 102, 105, - 120, 58, 32, 102, 111, 114, 109, 97, 116, 80, 114, 101, 102, 105, 120, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 108, 111, 99, 97, - 108, 101, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, 109, 97, - 116, 32, 61, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 102, 111, 114, 109, 97, 116, 80, 114, 101, 102, 105, 120, 32, 61, 32, 118, 111, 105, 100, 32, 48, 59, - 10, 10, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 76, 111, 99, 97, 108, 101, 36, 49, 40, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 111, 117, 115, 97, 110, 100, 115, 58, 32, 34, 44, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 111, 117, 112, 105, 110, 103, 58, 32, 91, 51, 93, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 99, 121, 58, 32, 91, 34, 36, - 34, 44, 32, 34, 34, 93, 10, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 76, 111, 99, 97, 108, 101, 36, 49, 40, 100, - 101, 102, 105, 110, 105, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, - 99, 97, 108, 101, 36, 49, 32, 61, 32, 102, 111, 114, 109, 97, 116, 76, 111, 99, 97, 108, 101, 36, 49, - 40, 100, 101, 102, 105, 110, 105, 116, 105, 111, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, 109, 97, 116, 32, 61, 32, 108, 111, 99, 97, 108, 101, 36, - 49, 46, 102, 111, 114, 109, 97, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 102, 111, 114, 109, 97, 116, 80, 114, 101, 102, 105, 120, 32, 61, 32, 108, 111, 99, 97, 108, - 101, 36, 49, 46, 102, 111, 114, 109, 97, 116, 80, 114, 101, 102, 105, 120, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 99, 97, 108, 101, 36, 49, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 114, 101, 99, 105, 115, - 105, 111, 110, 70, 105, 120, 101, 100, 40, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 45, 101, - 120, 112, 111, 110, 101, 110, 116, 40, 77, 97, 116, 104, 46, 97, 98, 115, 40, 115, 116, 101, 112, 41, 41, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 112, 114, 101, 99, 105, 115, 105, 111, 110, 80, 114, 101, 102, 105, 120, 40, 115, 116, 101, 112, 44, 32, 118, - 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 45, 56, - 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 56, 44, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, - 114, 40, 101, 120, 112, 111, 110, 101, 110, 116, 40, 118, 97, 108, 117, 101, 41, 32, 47, 32, 51, 41, 41, - 41, 32, 42, 32, 51, 32, 45, 32, 101, 120, 112, 111, 110, 101, 110, 116, 40, 77, 97, 116, 104, 46, 97, - 98, 115, 40, 115, 116, 101, 112, 41, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 82, 111, 117, 110, 100, - 40, 115, 116, 101, 112, 44, 32, 109, 97, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 116, 101, 112, 32, 61, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 115, 116, 101, 112, 41, 44, 32, 109, - 97, 120, 32, 61, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 109, 97, 120, 41, 32, 45, 32, 115, 116, - 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, - 46, 109, 97, 120, 40, 48, 44, 32, 101, 120, 112, 111, 110, 101, 110, 116, 40, 109, 97, 120, 41, 32, 45, - 32, 101, 120, 112, 111, 110, 101, 110, 116, 40, 115, 116, 101, 112, 41, 41, 32, 43, 32, 49, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, - 32, 61, 32, 49, 101, 45, 54, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 101, 112, 115, 105, 108, 111, - 110, 50, 32, 61, 32, 49, 101, 45, 49, 50, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 112, 105, 36, - 49, 32, 61, 32, 77, 97, 116, 104, 46, 80, 73, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 104, 97, - 108, 102, 80, 105, 36, 49, 32, 61, 32, 112, 105, 36, 49, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 113, 117, 97, 114, 116, 101, 114, 80, 105, 32, 61, 32, 112, 105, 36, 49, 32, 47, 32, - 52, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 97, 117, 36, 49, 32, 61, 32, 112, 105, 36, 49, - 32, 42, 32, 50, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 100, 101, 103, 114, 101, 101, 115, 32, - 61, 32, 49, 56, 48, 32, 47, 32, 112, 105, 36, 49, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 114, - 97, 100, 105, 97, 110, 115, 32, 61, 32, 112, 105, 36, 49, 32, 47, 32, 49, 56, 48, 59, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 97, 98, 115, 36, 49, 32, 61, 32, 77, 97, 116, 104, 46, 97, 98, 115, - 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 97, 116, 97, 110, 32, 61, 32, 77, 97, 116, 104, 46, 97, - 116, 97, 110, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 97, 116, 97, 110, 50, 36, 49, 32, 61, 32, - 77, 97, 116, 104, 46, 97, 116, 97, 110, 50, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 115, - 36, 49, 32, 61, 32, 77, 97, 116, 104, 46, 99, 111, 115, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 99, 101, 105, 108, 32, 61, 32, 77, 97, 116, 104, 46, 99, 101, 105, 108, 59, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 101, 120, 112, 32, 61, 32, 77, 97, 116, 104, 46, 101, 120, 112, 59, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 104, 121, 112, 111, 116, 32, 61, 32, 77, 97, 116, 104, 46, 104, 121, 112, 111, 116, 59, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 108, 111, 103, 36, 49, 32, 61, 32, 77, 97, 116, 104, 46, 108, - 111, 103, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 112, 111, 119, 36, 49, 32, 61, 32, 77, 97, 116, - 104, 46, 112, 111, 119, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 105, 110, 36, 49, 32, 61, 32, - 77, 97, 116, 104, 46, 115, 105, 110, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 105, 103, 110, 36, - 49, 32, 61, 32, 77, 97, 116, 104, 46, 115, 105, 103, 110, 32, 124, 124, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 120, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 62, 32, 48, 32, 63, 32, - 49, 32, 58, 32, 120, 32, 60, 32, 48, 32, 63, 32, 45, 49, 32, 58, 32, 48, 59, 32, 125, 59, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 113, 114, 116, 36, 50, 32, 61, 32, 77, 97, 116, 104, 46, 115, - 113, 114, 116, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 97, 110, 32, 61, 32, 77, 97, 116, 104, - 46, 116, 97, 110, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 99, 111, - 115, 36, 49, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 120, 32, 62, 32, 49, 32, 63, 32, 48, 32, 58, 32, 120, 32, 60, 32, 45, 49, 32, 63, 32, 112, - 105, 36, 49, 32, 58, 32, 77, 97, 116, 104, 46, 97, 99, 111, 115, 40, 120, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 115, 105, 110, 36, 49, - 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, - 62, 32, 49, 32, 63, 32, 104, 97, 108, 102, 80, 105, 36, 49, 32, 58, 32, 120, 32, 60, 32, 45, 49, - 32, 63, 32, 45, 104, 97, 108, 102, 80, 105, 36, 49, 32, 58, 32, 77, 97, 116, 104, 46, 97, 115, 105, - 110, 40, 120, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 104, 97, 118, 101, 114, 115, 105, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 120, 32, 61, 32, 115, 105, 110, 36, 49, 40, 120, 32, 47, - 32, 50, 41, 41, 32, 42, 32, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 110, 111, 111, 112, 36, 49, 40, 41, 32, 123, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 114, 101, 97, 109, 71, 101, 111, 109, 101, 116, 114, - 121, 40, 103, 101, 111, 109, 101, 116, 114, 121, 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 101, 111, 109, 101, 116, 114, 121, 32, 38, 38, 32, - 115, 116, 114, 101, 97, 109, 71, 101, 111, 109, 101, 116, 114, 121, 84, 121, 112, 101, 46, 104, 97, 115, 79, - 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 103, 101, 111, 109, 101, 116, 114, 121, 46, 116, 121, 112, - 101, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, - 109, 71, 101, 111, 109, 101, 116, 114, 121, 84, 121, 112, 101, 91, 103, 101, 111, 109, 101, 116, 114, 121, 46, - 116, 121, 112, 101, 93, 40, 103, 101, 111, 109, 101, 116, 114, 121, 44, 32, 115, 116, 114, 101, 97, 109, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 116, 114, 101, 97, 109, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 32, 61, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 70, 101, 97, 116, 117, 114, 101, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 71, 101, 111, 109, 101, - 116, 114, 121, 40, 111, 98, 106, 101, 99, 116, 46, 103, 101, 111, 109, 101, 116, 114, 121, 44, 32, 115, 116, - 114, 101, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 70, 101, 97, 116, 117, 114, 101, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 58, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 115, 116, 114, 101, 97, 109, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 101, 97, 116, - 117, 114, 101, 115, 32, 61, 32, 111, 98, 106, 101, 99, 116, 46, 102, 101, 97, 116, 117, 114, 101, 115, 44, - 32, 105, 32, 61, 32, 45, 49, 44, 32, 110, 32, 61, 32, 102, 101, 97, 116, 117, 114, 101, 115, 46, 108, - 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, - 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 115, 116, 114, 101, 97, 109, 71, 101, 111, 109, 101, - 116, 114, 121, 40, 102, 101, 97, 116, 117, 114, 101, 115, 91, 105, 93, 46, 103, 101, 111, 109, 101, 116, 114, - 121, 44, 32, 115, 116, 114, 101, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 114, 101, 97, 109, 71, 101, - 111, 109, 101, 116, 114, 121, 84, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 83, 112, 104, 101, 114, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, - 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 116, 114, 101, 97, 109, 46, 115, 112, 104, 101, 114, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 80, 111, 105, 110, 116, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 98, 106, 101, 99, 116, 32, 61, 32, - 111, 98, 106, 101, 99, 116, 46, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 111, - 98, 106, 101, 99, 116, 91, 48, 93, 44, 32, 111, 98, 106, 101, 99, 116, 91, 49, 93, 44, 32, 111, 98, - 106, 101, 99, 116, 91, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 77, 117, 108, 116, 105, 80, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 111, 114, 100, 105, 110, 97, - 116, 101, 115, 32, 61, 32, 111, 98, 106, 101, 99, 116, 46, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, - 115, 44, 32, 105, 32, 61, 32, 45, 49, 44, 32, 110, 32, 61, 32, 99, 111, 111, 114, 100, 105, 110, 97, - 116, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 111, 98, 106, 101, 99, 116, - 32, 61, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 105, 93, 44, 32, 115, 116, 114, 101, - 97, 109, 46, 112, 111, 105, 110, 116, 40, 111, 98, 106, 101, 99, 116, 91, 48, 93, 44, 32, 111, 98, 106, - 101, 99, 116, 91, 49, 93, 44, 32, 111, 98, 106, 101, 99, 116, 91, 50, 93, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 76, 105, 110, 101, 83, 116, 114, - 105, 110, 103, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 115, - 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, - 114, 101, 97, 109, 76, 105, 110, 101, 40, 111, 98, 106, 101, 99, 116, 46, 99, 111, 111, 114, 100, 105, 110, - 97, 116, 101, 115, 44, 32, 115, 116, 114, 101, 97, 109, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 77, 117, 108, 116, 105, 76, 105, 110, 101, - 83, 116, 114, 105, 110, 103, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, - 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 32, 61, 32, 111, 98, 106, 101, - 99, 116, 46, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, 105, 32, 61, 32, 45, 49, 44, - 32, 110, 32, 61, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 46, 108, 101, 110, 103, 116, 104, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, - 105, 32, 60, 32, 110, 41, 32, 115, 116, 114, 101, 97, 109, 76, 105, 110, 101, 40, 99, 111, 111, 114, 100, - 105, 110, 97, 116, 101, 115, 91, 105, 93, 44, 32, 115, 116, 114, 101, 97, 109, 44, 32, 48, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 80, 111, 108, 121, - 103, 111, 110, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 115, - 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, - 114, 101, 97, 109, 80, 111, 108, 121, 103, 111, 110, 40, 111, 98, 106, 101, 99, 116, 46, 99, 111, 111, 114, - 100, 105, 110, 97, 116, 101, 115, 44, 32, 115, 116, 114, 101, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 77, 117, 108, 116, 105, 80, 111, 108, 121, - 103, 111, 110, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 115, - 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 32, 61, 32, 111, 98, 106, 101, 99, 116, 46, - 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, 105, 32, 61, 32, 45, 49, 44, 32, 110, 32, - 61, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, - 32, 110, 41, 32, 115, 116, 114, 101, 97, 109, 80, 111, 108, 121, 103, 111, 110, 40, 99, 111, 111, 114, 100, - 105, 110, 97, 116, 101, 115, 91, 105, 93, 44, 32, 115, 116, 114, 101, 97, 109, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 71, 101, 111, 109, 101, 116, 114, - 121, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, - 98, 106, 101, 99, 116, 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 101, 111, 109, 101, 116, 114, 105, 101, 115, 32, 61, 32, - 111, 98, 106, 101, 99, 116, 46, 103, 101, 111, 109, 101, 116, 114, 105, 101, 115, 44, 32, 105, 32, 61, 32, - 45, 49, 44, 32, 110, 32, 61, 32, 103, 101, 111, 109, 101, 116, 114, 105, 101, 115, 46, 108, 101, 110, 103, - 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, - 43, 43, 105, 32, 60, 32, 110, 41, 32, 115, 116, 114, 101, 97, 109, 71, 101, 111, 109, 101, 116, 114, 121, - 40, 103, 101, 111, 109, 101, 116, 114, 105, 101, 115, 91, 105, 93, 44, 32, 115, 116, 114, 101, 97, 109, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 114, 101, 97, 109, 76, 105, 110, 101, 40, 99, 111, - 111, 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, 115, 116, 114, 101, 97, 109, 44, 32, 99, 108, 111, 115, - 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, - 49, 44, 32, 110, 32, 61, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 45, 32, 99, 108, 111, 115, 101, 100, 44, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, - 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, - 43, 105, 32, 60, 32, 110, 41, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 32, 61, 32, 99, 111, - 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 105, 93, 44, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, - 105, 110, 116, 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 91, 48, 93, 44, 32, 99, 111, 111, 114, - 100, 105, 110, 97, 116, 101, 91, 49, 93, 44, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 91, 50, - 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, - 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 115, 116, 114, 101, 97, 109, 80, 111, 108, 121, 103, 111, 110, 40, 99, 111, 111, 114, 100, - 105, 110, 97, 116, 101, 115, 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 44, 32, 110, 32, 61, 32, 99, 111, 111, 114, - 100, 105, 110, 97, 116, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 40, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, - 41, 32, 115, 116, 114, 101, 97, 109, 76, 105, 110, 101, 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, - 115, 91, 105, 93, 44, 32, 115, 116, 114, 101, 97, 109, 44, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 40, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 101, - 111, 83, 116, 114, 101, 97, 109, 40, 111, 98, 106, 101, 99, 116, 44, 32, 115, 116, 114, 101, 97, 109, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 98, 106, 101, 99, 116, 32, 38, - 38, 32, 115, 116, 114, 101, 97, 109, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 46, 104, 97, 115, 79, - 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 111, 98, 106, 101, 99, 116, 46, 116, 121, 112, 101, 41, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 79, - 98, 106, 101, 99, 116, 84, 121, 112, 101, 91, 111, 98, 106, 101, 99, 116, 46, 116, 121, 112, 101, 93, 40, - 111, 98, 106, 101, 99, 116, 44, 32, 115, 116, 114, 101, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 116, 114, 101, 97, 109, 71, 101, 111, 109, 101, 116, 114, 121, 40, 111, 98, 106, 101, 99, 116, 44, 32, - 115, 116, 114, 101, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 97, 114, 101, 97, 82, 105, 110, 103, 83, 117, 109, 36, - 49, 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, 114, 40, 41, 59, 10, 10, 47, 47, 32, 104, 101, - 108, 108, 111, 63, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 97, 114, 101, 97, 83, 117, 109, 36, 49, - 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, 114, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 97, 109, 98, 100, 97, 48, 48, 36, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 104, - 105, 48, 48, 36, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 48, 36, - 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 115, 80, 104, 105, 48, 36, 49, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 80, 104, 105, 48, 36, 49, 59, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 36, 49, 32, 61, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 110, 111, 111, 112, 36, 49, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 110, 111, 111, 112, 36, 49, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 110, 111, 111, 112, - 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, - 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 114, 101, 97, 82, 105, 110, 103, 83, 117, 109, 36, 49, 32, 61, 32, 110, 101, - 119, 32, 65, 100, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 36, 49, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 32, - 61, 32, 97, 114, 101, 97, 82, 105, 110, 103, 83, 116, 97, 114, 116, 36, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 36, 49, 46, 108, 105, - 110, 101, 69, 110, 100, 32, 61, 32, 97, 114, 101, 97, 82, 105, 110, 103, 69, 110, 100, 36, 49, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, - 103, 111, 110, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 114, 101, 97, 82, 105, 110, 103, 32, - 61, 32, 43, 97, 114, 101, 97, 82, 105, 110, 103, 83, 117, 109, 36, 49, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 117, 109, 36, 49, 46, 97, 100, 100, 40, 97, 114, - 101, 97, 82, 105, 110, 103, 32, 60, 32, 48, 32, 63, 32, 116, 97, 117, 36, 49, 32, 43, 32, 97, 114, - 101, 97, 82, 105, 110, 103, 32, 58, 32, 97, 114, 101, 97, 82, 105, 110, 103, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, - 32, 61, 32, 116, 104, 105, 115, 46, 108, 105, 110, 101, 69, 110, 100, 32, 61, 32, 116, 104, 105, 115, 46, - 112, 111, 105, 110, 116, 32, 61, 32, 110, 111, 111, 112, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 104, 101, 114, 101, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 114, 101, 97, 83, 117, 109, 36, 49, 46, 97, 100, 100, 40, 116, 97, 117, 36, 49, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 97, 114, 101, 97, 82, 105, 110, 103, 83, 116, 97, 114, 116, 36, 49, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 36, 49, - 46, 112, 111, 105, 110, 116, 32, 61, 32, 97, 114, 101, 97, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, - 36, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 97, 114, 101, 97, 82, 105, 110, 103, 69, 110, 100, 36, 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 97, 114, 101, 97, 80, 111, 105, 110, 116, 36, 49, 40, 108, 97, 109, 98, 100, 97, 48, - 48, 36, 50, 44, 32, 112, 104, 105, 48, 48, 36, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 101, 97, 80, 111, 105, 110, 116, 70, 105, - 114, 115, 116, 36, 49, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, - 116, 32, 61, 32, 97, 114, 101, 97, 80, 111, 105, 110, 116, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 97, 109, 98, 100, 97, 48, 48, 36, 50, 32, 61, 32, 108, 97, 109, 98, 100, 97, 44, 32, - 112, 104, 105, 48, 48, 36, 50, 32, 61, 32, 112, 104, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 97, 109, 98, 100, 97, 32, 42, 61, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 112, 104, 105, 32, - 42, 61, 32, 114, 97, 100, 105, 97, 110, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, - 98, 100, 97, 48, 36, 50, 32, 61, 32, 108, 97, 109, 98, 100, 97, 44, 32, 99, 111, 115, 80, 104, 105, - 48, 36, 49, 32, 61, 32, 99, 111, 115, 36, 49, 40, 112, 104, 105, 32, 61, 32, 112, 104, 105, 32, 47, - 32, 50, 32, 43, 32, 113, 117, 97, 114, 116, 101, 114, 80, 105, 41, 44, 32, 115, 105, 110, 80, 104, 105, - 48, 36, 49, 32, 61, 32, 115, 105, 110, 36, 49, 40, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 101, 97, 80, 111, 105, 110, - 116, 36, 49, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 32, 42, 61, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, - 112, 104, 105, 32, 42, 61, 32, 114, 97, 100, 105, 97, 110, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 104, 105, 32, 61, 32, 112, 104, 105, 32, 47, 32, 50, 32, 43, 32, 113, 117, 97, 114, 116, 101, - 114, 80, 105, 59, 32, 47, 47, 32, 104, 97, 108, 102, 32, 116, 104, 101, 32, 97, 110, 103, 117, 108, 97, - 114, 32, 100, 105, 115, 116, 97, 110, 99, 101, 32, 102, 114, 111, 109, 32, 115, 111, 117, 116, 104, 32, 112, - 111, 108, 101, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 83, 112, 104, 101, 114, 105, 99, - 97, 108, 32, 101, 120, 99, 101, 115, 115, 32, 69, 32, 102, 111, 114, 32, 97, 32, 115, 112, 104, 101, 114, - 105, 99, 97, 108, 32, 116, 114, 105, 97, 110, 103, 108, 101, 32, 119, 105, 116, 104, 32, 118, 101, 114, 116, - 105, 99, 101, 115, 58, 32, 115, 111, 117, 116, 104, 32, 112, 111, 108, 101, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 112, 111, 105, 110, 116, 44, 32, 99, - 117, 114, 114, 101, 110, 116, 32, 112, 111, 105, 110, 116, 46, 32, 32, 85, 115, 101, 115, 32, 97, 32, 102, - 111, 114, 109, 117, 108, 97, 32, 100, 101, 114, 105, 118, 101, 100, 32, 102, 114, 111, 109, 32, 67, 97, 103, - 110, 111, 108, 105, 226, 128, 153, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 116, 104, 101, - 111, 114, 101, 109, 46, 32, 32, 83, 101, 101, 32, 84, 111, 100, 104, 117, 110, 116, 101, 114, 44, 32, 83, - 112, 104, 101, 114, 105, 99, 97, 108, 32, 84, 114, 105, 103, 46, 32, 40, 49, 56, 55, 49, 41, 44, 32, - 83, 101, 99, 46, 32, 49, 48, 51, 44, 32, 69, 113, 46, 32, 40, 50, 41, 46, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 100, 76, 97, 109, 98, 100, 97, 32, 61, 32, 108, 97, 109, 98, 100, - 97, 32, 45, 32, 108, 97, 109, 98, 100, 97, 48, 36, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 100, 76, 97, 109, 98, 100, 97, 32, 61, 32, 100, 76, 97, 109, 98, 100, 97, 32, - 62, 61, 32, 48, 32, 63, 32, 49, 32, 58, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 97, 100, 76, 97, 109, 98, 100, 97, 32, 61, 32, 115, 100, 76, 97, 109, 98, 100, 97, - 32, 42, 32, 100, 76, 97, 109, 98, 100, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 115, 80, 104, 105, 32, 61, 32, 99, 111, 115, 36, 49, 40, 112, 104, 105, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 80, 104, 105, 32, 61, 32, 115, 105, 110, - 36, 49, 40, 112, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, - 61, 32, 115, 105, 110, 80, 104, 105, 48, 36, 49, 32, 42, 32, 115, 105, 110, 80, 104, 105, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 32, 61, 32, 99, 111, 115, 80, 104, 105, 48, 36, - 49, 32, 42, 32, 99, 111, 115, 80, 104, 105, 32, 43, 32, 107, 32, 42, 32, 99, 111, 115, 36, 49, 40, - 97, 100, 76, 97, 109, 98, 100, 97, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 32, 61, 32, 107, 32, 42, 32, 115, 100, 76, 97, 109, 98, 100, 97, 32, 42, 32, 115, 105, 110, 36, - 49, 40, 97, 100, 76, 97, 109, 98, 100, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, - 101, 97, 82, 105, 110, 103, 83, 117, 109, 36, 49, 46, 97, 100, 100, 40, 97, 116, 97, 110, 50, 36, 49, - 40, 118, 44, 32, 117, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 65, 100, - 118, 97, 110, 99, 101, 32, 116, 104, 101, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 112, 111, 105, 110, - 116, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 48, 36, 50, 32, 61, - 32, 108, 97, 109, 98, 100, 97, 44, 32, 99, 111, 115, 80, 104, 105, 48, 36, 49, 32, 61, 32, 99, 111, - 115, 80, 104, 105, 44, 32, 115, 105, 110, 80, 104, 105, 48, 36, 49, 32, 61, 32, 115, 105, 110, 80, 104, - 105, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 97, 114, 101, 97, 36, 50, 40, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 97, 114, 101, 97, 83, 117, 109, 36, 49, 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, 114, - 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 111, 83, 116, 114, 101, 97, 109, 40, 111, - 98, 106, 101, 99, 116, 44, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 36, 49, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 101, 97, 83, 117, 109, 36, 49, - 32, 42, 32, 50, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 115, 112, 104, 101, 114, 105, 99, 97, 108, 40, 99, 97, 114, 116, 101, 115, 105, 97, 110, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 97, 116, 97, 110, - 50, 36, 49, 40, 99, 97, 114, 116, 101, 115, 105, 97, 110, 91, 49, 93, 44, 32, 99, 97, 114, 116, 101, - 115, 105, 97, 110, 91, 48, 93, 41, 44, 32, 97, 115, 105, 110, 36, 49, 40, 99, 97, 114, 116, 101, 115, - 105, 97, 110, 91, 50, 93, 41, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 40, 115, 112, 104, 101, 114, 105, - 99, 97, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 97, 109, 98, - 100, 97, 32, 61, 32, 115, 112, 104, 101, 114, 105, 99, 97, 108, 91, 48, 93, 44, 32, 112, 104, 105, 32, - 61, 32, 115, 112, 104, 101, 114, 105, 99, 97, 108, 91, 49, 93, 44, 32, 99, 111, 115, 80, 104, 105, 32, - 61, 32, 99, 111, 115, 36, 49, 40, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 91, 99, 111, 115, 80, 104, 105, 32, 42, 32, 99, 111, 115, 36, 49, 40, 108, - 97, 109, 98, 100, 97, 41, 44, 32, 99, 111, 115, 80, 104, 105, 32, 42, 32, 115, 105, 110, 36, 49, 40, - 108, 97, 109, 98, 100, 97, 41, 44, 32, 115, 105, 110, 36, 49, 40, 112, 104, 105, 41, 93, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 97, 114, 116, - 101, 115, 105, 97, 110, 68, 111, 116, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 91, 48, 93, 32, 42, 32, 98, 91, 48, 93, 32, 43, 32, - 97, 91, 49, 93, 32, 42, 32, 98, 91, 49, 93, 32, 43, 32, 97, 91, 50, 93, 32, 42, 32, 98, 91, - 50, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 67, 114, 111, 115, 115, 40, 97, 44, 32, 98, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 97, 91, 49, 93, 32, 42, - 32, 98, 91, 50, 93, 32, 45, 32, 97, 91, 50, 93, 32, 42, 32, 98, 91, 49, 93, 44, 32, 97, 91, - 50, 93, 32, 42, 32, 98, 91, 48, 93, 32, 45, 32, 97, 91, 48, 93, 32, 42, 32, 98, 91, 50, 93, - 44, 32, 97, 91, 48, 93, 32, 42, 32, 98, 91, 49, 93, 32, 45, 32, 97, 91, 49, 93, 32, 42, 32, - 98, 91, 48, 93, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 84, 79, 68, 79, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 97, - 114, 116, 101, 115, 105, 97, 110, 65, 100, 100, 73, 110, 80, 108, 97, 99, 101, 40, 97, 44, 32, 98, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 48, 93, 32, 43, 61, 32, 98, 91, 48, 93, - 44, 32, 97, 91, 49, 93, 32, 43, 61, 32, 98, 91, 49, 93, 44, 32, 97, 91, 50, 93, 32, 43, 61, - 32, 98, 91, 50, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 83, 99, 97, 108, 101, 40, 118, 101, 99, 116, - 111, 114, 44, 32, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 91, 118, 101, 99, 116, 111, 114, 91, 48, 93, 32, 42, 32, 107, 44, 32, 118, 101, 99, 116, 111, 114, - 91, 49, 93, 32, 42, 32, 107, 44, 32, 118, 101, 99, 116, 111, 114, 91, 50, 93, 32, 42, 32, 107, 93, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 84, 79, 68, 79, 32, 114, 101, 116, 117, 114, 110, - 32, 100, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 97, 114, 116, 101, 115, 105, - 97, 110, 78, 111, 114, 109, 97, 108, 105, 122, 101, 73, 110, 80, 108, 97, 99, 101, 40, 100, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 115, 113, 114, 116, 36, 50, - 40, 100, 91, 48, 93, 32, 42, 32, 100, 91, 48, 93, 32, 43, 32, 100, 91, 49, 93, 32, 42, 32, 100, - 91, 49, 93, 32, 43, 32, 100, 91, 50, 93, 32, 42, 32, 100, 91, 50, 93, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 91, 48, 93, 32, 47, 61, 32, 108, 44, 32, 100, 91, 49, 93, 32, 47, 61, - 32, 108, 44, 32, 100, 91, 50, 93, 32, 47, 61, 32, 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 108, 97, 109, 98, 100, 97, 48, 36, 49, 44, 32, 112, 104, 105, 48, 44, - 32, 108, 97, 109, 98, 100, 97, 49, 44, 32, 112, 104, 105, 49, 44, 32, 47, 47, 32, 98, 111, 117, 110, - 100, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 50, 44, 32, 47, 47, 32, - 112, 114, 101, 118, 105, 111, 117, 115, 32, 108, 97, 109, 98, 100, 97, 45, 99, 111, 111, 114, 100, 105, 110, - 97, 116, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 48, 48, 36, 49, 44, - 32, 112, 104, 105, 48, 48, 36, 49, 44, 32, 47, 47, 32, 102, 105, 114, 115, 116, 32, 112, 111, 105, 110, - 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 48, 44, 32, 47, 47, 32, 112, 114, 101, 118, 105, 111, - 117, 115, 32, 51, 68, 32, 112, 111, 105, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, - 116, 97, 83, 117, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 115, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 98, 111, 117, 110, 100, 115, 83, 116, 114, 101, 97, 109, 36, 49, 32, 61, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 98, 111, 117, 110, 100, 115, 80, 111, 105, 110, 116, - 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, - 98, 111, 117, 110, 100, 115, 76, 105, 110, 101, 83, 116, 97, 114, 116, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 98, 111, 117, 110, 100, 115, 76, 105, 110, 101, 69, 110, - 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 98, 111, 117, 110, 100, 115, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, - 116, 32, 61, 32, 98, 111, 117, 110, 100, 115, 82, 105, 110, 103, 80, 111, 105, 110, 116, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 111, 117, 110, 100, 115, 83, 116, 114, 101, 97, 109, 36, - 49, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 32, 61, 32, 98, 111, 117, 110, 100, 115, 82, 105, 110, - 103, 83, 116, 97, 114, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 111, 117, - 110, 100, 115, 83, 116, 114, 101, 97, 109, 36, 49, 46, 108, 105, 110, 101, 69, 110, 100, 32, 61, 32, 98, - 111, 117, 110, 100, 115, 82, 105, 110, 103, 69, 110, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 101, 108, 116, 97, 83, 117, 109, 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, 114, - 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, - 101, 97, 109, 36, 49, 46, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, - 111, 110, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, - 111, 108, 121, 103, 111, 110, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 111, 117, 110, 100, 115, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, 116, 32, - 61, 32, 98, 111, 117, 110, 100, 115, 80, 111, 105, 110, 116, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 98, 111, 117, 110, 100, 115, 83, 116, 114, 101, 97, 109, 36, 49, 46, 108, 105, - 110, 101, 83, 116, 97, 114, 116, 32, 61, 32, 98, 111, 117, 110, 100, 115, 76, 105, 110, 101, 83, 116, 97, - 114, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 111, 117, 110, 100, 115, 83, - 116, 114, 101, 97, 109, 36, 49, 46, 108, 105, 110, 101, 69, 110, 100, 32, 61, 32, 98, 111, 117, 110, 100, - 115, 76, 105, 110, 101, 69, 110, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 97, 114, 101, 97, 82, 105, 110, 103, 83, 117, 109, 36, 49, 32, 60, 32, 48, 41, 32, 108, - 97, 109, 98, 100, 97, 48, 36, 49, 32, 61, 32, 45, 40, 108, 97, 109, 98, 100, 97, 49, 32, 61, 32, - 49, 56, 48, 41, 44, 32, 112, 104, 105, 48, 32, 61, 32, 45, 40, 112, 104, 105, 49, 32, 61, 32, 57, - 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, - 32, 40, 100, 101, 108, 116, 97, 83, 117, 109, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 41, - 32, 112, 104, 105, 49, 32, 61, 32, 57, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 100, 101, 108, 116, 97, 83, 117, 109, 32, 60, 32, 45, 101, - 112, 115, 105, 108, 111, 110, 36, 49, 41, 32, 112, 104, 105, 48, 32, 61, 32, 45, 57, 48, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 91, 48, 93, 32, 61, 32, 108, - 97, 109, 98, 100, 97, 48, 36, 49, 44, 32, 114, 97, 110, 103, 101, 91, 49, 93, 32, 61, 32, 108, 97, - 109, 98, 100, 97, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 112, 104, 101, 114, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 48, 36, 49, 32, - 61, 32, 45, 40, 108, 97, 109, 98, 100, 97, 49, 32, 61, 32, 49, 56, 48, 41, 44, 32, 112, 104, 105, - 48, 32, 61, 32, 45, 40, 112, 104, 105, 49, 32, 61, 32, 57, 48, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 98, 111, 117, 110, 100, 115, 80, 111, 105, 110, 116, 36, 49, 40, 108, 97, 109, 98, 100, 97, - 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 115, - 46, 112, 117, 115, 104, 40, 114, 97, 110, 103, 101, 32, 61, 32, 91, 108, 97, 109, 98, 100, 97, 48, 36, - 49, 32, 61, 32, 108, 97, 109, 98, 100, 97, 44, 32, 108, 97, 109, 98, 100, 97, 49, 32, 61, 32, 108, - 97, 109, 98, 100, 97, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 104, - 105, 32, 60, 32, 112, 104, 105, 48, 41, 32, 112, 104, 105, 48, 32, 61, 32, 112, 104, 105, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 104, 105, 32, 62, 32, 112, 104, 105, 49, 41, 32, - 112, 104, 105, 49, 32, 61, 32, 112, 104, 105, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, 80, 111, 105, 110, 116, 40, 108, 97, 109, 98, - 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 112, 32, 61, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 40, 91, 108, 97, 109, 98, 100, 97, 32, 42, - 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 112, 104, 105, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, - 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 48, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, 114, 109, 97, 108, 32, 61, - 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 67, 114, 111, 115, 115, 40, 112, 48, 44, 32, 112, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 113, 117, 97, 116, 111, - 114, 105, 97, 108, 32, 61, 32, 91, 110, 111, 114, 109, 97, 108, 91, 49, 93, 44, 32, 45, 110, 111, 114, - 109, 97, 108, 91, 48, 93, 44, 32, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 110, 102, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 99, 97, 114, 116, 101, - 115, 105, 97, 110, 67, 114, 111, 115, 115, 40, 101, 113, 117, 97, 116, 111, 114, 105, 97, 108, 44, 32, 110, - 111, 114, 109, 97, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 114, - 116, 101, 115, 105, 97, 110, 78, 111, 114, 109, 97, 108, 105, 122, 101, 73, 110, 80, 108, 97, 99, 101, 40, - 105, 110, 102, 108, 101, 99, 116, 105, 111, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 110, 102, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 115, 112, 104, 101, 114, 105, 99, 97, - 108, 40, 105, 110, 102, 108, 101, 99, 116, 105, 111, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 100, 101, 108, 116, 97, 32, 61, 32, 108, 97, 109, 98, 100, 97, 32, - 45, 32, 108, 97, 109, 98, 100, 97, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 105, 103, 110, 32, 61, 32, 100, 101, 108, 116, 97, 32, 62, 32, 48, 32, 63, 32, - 49, 32, 58, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 97, 109, 98, 100, 97, 105, 32, 61, 32, 105, 110, 102, 108, 101, 99, 116, 105, 111, 110, 91, 48, - 93, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 32, 42, 32, 115, 105, 103, 110, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 105, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, - 110, 32, 61, 32, 97, 98, 115, 36, 49, 40, 100, 101, 108, 116, 97, 41, 32, 62, 32, 49, 56, 48, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 110, 116, 105, 109, 101, - 114, 105, 100, 105, 97, 110, 32, 94, 32, 40, 115, 105, 103, 110, 32, 42, 32, 108, 97, 109, 98, 100, 97, - 50, 32, 60, 32, 108, 97, 109, 98, 100, 97, 105, 32, 38, 38, 32, 108, 97, 109, 98, 100, 97, 105, 32, - 60, 32, 115, 105, 103, 110, 32, 42, 32, 108, 97, 109, 98, 100, 97, 41, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 105, 32, 61, 32, 105, 110, 102, - 108, 101, 99, 116, 105, 111, 110, 91, 49, 93, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 104, 105, 105, - 32, 62, 32, 112, 104, 105, 49, 41, 32, 112, 104, 105, 49, 32, 61, 32, 112, 104, 105, 105, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 108, - 97, 109, 98, 100, 97, 105, 32, 61, 32, 40, 108, 97, 109, 98, 100, 97, 105, 32, 43, 32, 51, 54, 48, - 41, 32, 37, 32, 51, 54, 48, 32, 45, 32, 49, 56, 48, 44, 32, 97, 110, 116, 105, 109, 101, 114, 105, - 100, 105, 97, 110, 32, 94, 32, 40, 115, 105, 103, 110, 32, 42, 32, 108, 97, 109, 98, 100, 97, 50, 32, - 60, 32, 108, 97, 109, 98, 100, 97, 105, 32, 38, 38, 32, 108, 97, 109, 98, 100, 97, 105, 32, 60, 32, - 115, 105, 103, 110, 32, 42, 32, 108, 97, 109, 98, 100, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 105, 32, 61, 32, 45, 105, 110, 102, 108, - 101, 99, 116, 105, 111, 110, 91, 49, 93, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 104, 105, 105, 32, - 60, 32, 112, 104, 105, 48, 41, 32, 112, 104, 105, 48, 32, 61, 32, 112, 104, 105, 105, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 104, 105, 32, 60, 32, 112, - 104, 105, 48, 41, 32, 112, 104, 105, 48, 32, 61, 32, 112, 104, 105, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 104, 105, 32, 62, 32, 112, 104, 105, - 49, 41, 32, 112, 104, 105, 49, 32, 61, 32, 112, 104, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, - 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 97, 109, 98, 100, 97, 32, 60, 32, 108, 97, - 109, 98, 100, 97, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 110, 103, 108, 101, 40, 108, 97, 109, 98, 100, 97, 48, - 36, 49, 44, 32, 108, 97, 109, 98, 100, 97, 41, 32, 62, 32, 97, 110, 103, 108, 101, 40, 108, 97, 109, - 98, 100, 97, 48, 36, 49, 44, 32, 108, 97, 109, 98, 100, 97, 49, 41, 41, 32, 108, 97, 109, 98, 100, - 97, 49, 32, 61, 32, 108, 97, 109, 98, 100, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 110, 103, 108, 101, 40, 108, - 97, 109, 98, 100, 97, 44, 32, 108, 97, 109, 98, 100, 97, 49, 41, 32, 62, 32, 97, 110, 103, 108, 101, - 40, 108, 97, 109, 98, 100, 97, 48, 36, 49, 44, 32, 108, 97, 109, 98, 100, 97, 49, 41, 41, 32, 108, - 97, 109, 98, 100, 97, 48, 36, 49, 32, 61, 32, 108, 97, 109, 98, 100, 97, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 97, 109, 98, 100, 97, 49, 32, 62, 61, 32, 108, 97, 109, - 98, 100, 97, 48, 36, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 97, 109, 98, 100, 97, 32, 60, 32, 108, 97, 109, - 98, 100, 97, 48, 36, 49, 41, 32, 108, 97, 109, 98, 100, 97, 48, 36, 49, 32, 61, 32, 108, 97, 109, - 98, 100, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 108, 97, 109, 98, 100, 97, 32, 62, 32, 108, 97, 109, 98, 100, 97, 49, 41, - 32, 108, 97, 109, 98, 100, 97, 49, 32, 61, 32, 108, 97, 109, 98, 100, 97, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, - 97, 109, 98, 100, 97, 32, 62, 32, 108, 97, 109, 98, 100, 97, 50, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 97, 110, 103, 108, 101, 40, 108, 97, 109, 98, 100, 97, 48, 36, 49, 44, 32, 108, 97, 109, 98, 100, - 97, 41, 32, 62, 32, 97, 110, 103, 108, 101, 40, 108, 97, 109, 98, 100, 97, 48, 36, 49, 44, 32, 108, - 97, 109, 98, 100, 97, 49, 41, 41, 32, 108, 97, 109, 98, 100, 97, 49, 32, 61, 32, 108, 97, 109, 98, - 100, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 110, 103, 108, 101, 40, 108, 97, - 109, 98, 100, 97, 44, 32, 108, 97, 109, 98, 100, 97, 49, 41, 32, 62, 32, 97, 110, 103, 108, 101, 40, - 108, 97, 109, 98, 100, 97, 48, 36, 49, 44, 32, 108, 97, 109, 98, 100, 97, 49, 41, 41, 32, 108, 97, - 109, 98, 100, 97, 48, 36, 49, 32, 61, 32, 108, 97, 109, 98, 100, 97, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 115, 46, 112, 117, 115, 104, 40, 114, 97, - 110, 103, 101, 32, 61, 32, 91, 108, 97, 109, 98, 100, 97, 48, 36, 49, 32, 61, 32, 108, 97, 109, 98, - 100, 97, 44, 32, 108, 97, 109, 98, 100, 97, 49, 32, 61, 32, 108, 97, 109, 98, 100, 97, 93, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 112, 104, 105, 32, 60, 32, 112, 104, 105, 48, 41, 32, 112, 104, 105, 48, 32, 61, 32, 112, 104, 105, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 104, 105, 32, 62, 32, 112, 104, 105, 49, - 41, 32, 112, 104, 105, 49, 32, 61, 32, 112, 104, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 48, 32, 61, 32, 112, 44, 32, 108, 97, 109, 98, 100, 97, 50, 32, 61, 32, 108, 97, 109, 98, 100, 97, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, - 111, 117, 110, 100, 115, 76, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 98, 111, 117, 110, 100, 115, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, - 116, 32, 61, 32, 108, 105, 110, 101, 80, 111, 105, 110, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 111, 117, 110, 100, 115, 76, 105, 110, 101, 69, - 110, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 91, 48, 93, - 32, 61, 32, 108, 97, 109, 98, 100, 97, 48, 36, 49, 44, 32, 114, 97, 110, 103, 101, 91, 49, 93, 32, - 61, 32, 108, 97, 109, 98, 100, 97, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 111, 117, 110, - 100, 115, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, 116, 32, 61, 32, 98, 111, 117, 110, - 100, 115, 80, 111, 105, 110, 116, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 48, 32, 61, - 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 98, 111, 117, 110, 100, 115, 82, 105, 110, 103, 80, 111, 105, 110, 116, 40, 108, 97, 109, - 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 112, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 100, 101, 108, 116, 97, 32, 61, 32, 108, 97, 109, 98, 100, 97, 32, 45, 32, 108, 97, 109, 98, 100, 97, - 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 116, 97, 83, 117, 109, - 46, 97, 100, 100, 40, 97, 98, 115, 36, 49, 40, 100, 101, 108, 116, 97, 41, 32, 62, 32, 49, 56, 48, - 32, 63, 32, 100, 101, 108, 116, 97, 32, 43, 32, 40, 100, 101, 108, 116, 97, 32, 62, 32, 48, 32, 63, - 32, 51, 54, 48, 32, 58, 32, 45, 51, 54, 48, 41, 32, 58, 32, 100, 101, 108, 116, 97, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 48, 48, 36, 49, 32, 61, 32, 108, 97, 109, 98, - 100, 97, 44, 32, 112, 104, 105, 48, 48, 36, 49, 32, 61, 32, 112, 104, 105, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, - 109, 36, 49, 46, 112, 111, 105, 110, 116, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 80, 111, 105, 110, 116, 40, 108, 97, 109, 98, - 100, 97, 44, 32, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 98, 111, 117, 110, 100, 115, 82, 105, 110, 103, 83, 116, 97, 114, 116, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 36, - 49, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 111, 117, 110, 100, 115, 82, 105, 110, 103, 69, - 110, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 111, 117, 110, 100, 115, 82, 105, - 110, 103, 80, 111, 105, 110, 116, 40, 108, 97, 109, 98, 100, 97, 48, 48, 36, 49, 44, 32, 112, 104, 105, - 48, 48, 36, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, - 97, 109, 36, 49, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 97, 98, 115, 36, 49, 40, 100, 101, 108, 116, 97, 83, 117, 109, 41, 32, 62, 32, - 101, 112, 115, 105, 108, 111, 110, 36, 49, 41, 32, 108, 97, 109, 98, 100, 97, 48, 36, 49, 32, 61, 32, - 45, 40, 108, 97, 109, 98, 100, 97, 49, 32, 61, 32, 49, 56, 48, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 97, 110, 103, 101, 91, 48, 93, 32, 61, 32, 108, 97, 109, 98, 100, 97, 48, 36, 49, - 44, 32, 114, 97, 110, 103, 101, 91, 49, 93, 32, 61, 32, 108, 97, 109, 98, 100, 97, 49, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 48, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 47, 47, 32, 70, 105, 110, 100, 115, 32, 116, 104, 101, 32, 108, 101, 102, 116, 45, 114, 105, 103, - 104, 116, 32, 100, 105, 115, 116, 97, 110, 99, 101, 32, 98, 101, 116, 119, 101, 101, 110, 32, 116, 119, 111, - 32, 108, 111, 110, 103, 105, 116, 117, 100, 101, 115, 46, 10, 47, 47, 32, 84, 104, 105, 115, 32, 105, 115, - 32, 97, 108, 109, 111, 115, 116, 32, 116, 104, 101, 32, 115, 97, 109, 101, 32, 97, 115, 32, 40, 108, 97, - 109, 98, 100, 97, 49, 32, 45, 32, 108, 97, 109, 98, 100, 97, 48, 32, 43, 32, 51, 54, 48, 194, 176, - 41, 32, 37, 32, 51, 54, 48, 194, 176, 44, 32, 101, 120, 99, 101, 112, 116, 32, 116, 104, 97, 116, 32, - 119, 101, 32, 119, 97, 110, 116, 10, 47, 47, 32, 116, 104, 101, 32, 100, 105, 115, 116, 97, 110, 99, 101, - 32, 98, 101, 116, 119, 101, 101, 110, 32, 194, 177, 49, 56, 48, 194, 176, 32, 116, 111, 32, 98, 101, 32, - 51, 54, 48, 194, 176, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 110, 103, - 108, 101, 40, 108, 97, 109, 98, 100, 97, 48, 44, 32, 108, 97, 109, 98, 100, 97, 49, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 108, 97, 109, 98, 100, 97, 49, - 32, 45, 61, 32, 108, 97, 109, 98, 100, 97, 48, 41, 32, 60, 32, 48, 32, 63, 32, 108, 97, 109, 98, - 100, 97, 49, 32, 43, 32, 51, 54, 48, 32, 58, 32, 108, 97, 109, 98, 100, 97, 49, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 103, 101, - 67, 111, 109, 112, 97, 114, 101, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 97, 91, 48, 93, 32, 45, 32, 98, 91, 48, 93, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 103, 101, - 67, 111, 110, 116, 97, 105, 110, 115, 40, 114, 97, 110, 103, 101, 44, 32, 120, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 103, 101, 91, 48, 93, 32, 60, - 61, 32, 114, 97, 110, 103, 101, 91, 49, 93, 32, 63, 32, 114, 97, 110, 103, 101, 91, 48, 93, 32, 60, - 61, 32, 120, 32, 38, 38, 32, 120, 32, 60, 61, 32, 114, 97, 110, 103, 101, 91, 49, 93, 32, 58, 32, - 120, 32, 60, 32, 114, 97, 110, 103, 101, 91, 48, 93, 32, 124, 124, 32, 114, 97, 110, 103, 101, 91, 49, - 93, 32, 60, 32, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 98, 111, 117, 110, 100, 115, 40, 102, 101, 97, 116, 117, 114, 101, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 32, 110, 44, 32, 97, 44, 32, 98, 44, 32, - 109, 101, 114, 103, 101, 100, 44, 32, 100, 101, 108, 116, 97, 77, 97, 120, 44, 32, 100, 101, 108, 116, 97, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 49, 32, 61, 32, 108, 97, 109, 98, 100, - 97, 49, 32, 61, 32, 45, 40, 108, 97, 109, 98, 100, 97, 48, 36, 49, 32, 61, 32, 112, 104, 105, 48, - 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 97, 110, 103, 101, 115, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 111, - 83, 116, 114, 101, 97, 109, 40, 102, 101, 97, 116, 117, 114, 101, 44, 32, 98, 111, 117, 110, 100, 115, 83, - 116, 114, 101, 97, 109, 36, 49, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 70, - 105, 114, 115, 116, 44, 32, 115, 111, 114, 116, 32, 114, 97, 110, 103, 101, 115, 32, 98, 121, 32, 116, 104, - 101, 105, 114, 32, 109, 105, 110, 105, 109, 117, 109, 32, 108, 111, 110, 103, 105, 116, 117, 100, 101, 115, 46, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 32, 61, 32, 114, 97, 110, 103, 101, 115, - 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 97, 110, 103, 101, 115, 46, 115, 111, 114, 116, 40, 114, 97, 110, 103, 101, 67, 111, 109, 112, 97, 114, - 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 104, 101, - 110, 44, 32, 109, 101, 114, 103, 101, 32, 97, 110, 121, 32, 114, 97, 110, 103, 101, 115, 32, 116, 104, 97, - 116, 32, 111, 118, 101, 114, 108, 97, 112, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 105, 32, 61, 32, 49, 44, 32, 97, 32, 61, 32, 114, 97, 110, 103, 101, 115, 91, - 48, 93, 44, 32, 109, 101, 114, 103, 101, 100, 32, 61, 32, 91, 97, 93, 59, 32, 105, 32, 60, 32, 110, - 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 32, 61, 32, 114, 97, 110, 103, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 97, 110, 103, 101, 67, 111, 110, 116, - 97, 105, 110, 115, 40, 97, 44, 32, 98, 91, 48, 93, 41, 32, 124, 124, 32, 114, 97, 110, 103, 101, 67, - 111, 110, 116, 97, 105, 110, 115, 40, 97, 44, 32, 98, 91, 49, 93, 41, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 110, - 103, 108, 101, 40, 97, 91, 48, 93, 44, 32, 98, 91, 49, 93, 41, 32, 62, 32, 97, 110, 103, 108, 101, - 40, 97, 91, 48, 93, 44, 32, 97, 91, 49, 93, 41, 41, 32, 97, 91, 49, 93, 32, 61, 32, 98, 91, - 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 97, 110, 103, 108, 101, 40, 98, 91, 48, 93, 44, 32, 97, 91, 49, 93, 41, 32, - 62, 32, 97, 110, 103, 108, 101, 40, 97, 91, 48, 93, 44, 32, 97, 91, 49, 93, 41, 41, 32, 97, 91, - 48, 93, 32, 61, 32, 98, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 114, 103, 101, 100, 46, 112, 117, 115, 104, 40, 97, - 32, 61, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 70, 105, 110, 97, 108, 108, 121, 44, 32, 102, 105, 110, 100, 32, - 116, 104, 101, 32, 108, 97, 114, 103, 101, 115, 116, 32, 103, 97, 112, 32, 98, 101, 116, 119, 101, 101, 110, - 32, 116, 104, 101, 32, 109, 101, 114, 103, 101, 100, 32, 114, 97, 110, 103, 101, 115, 46, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 104, 101, 32, 102, 105, 110, 97, 108, 32, 98, - 111, 117, 110, 100, 105, 110, 103, 32, 98, 111, 120, 32, 119, 105, 108, 108, 32, 98, 101, 32, 116, 104, 101, - 32, 105, 110, 118, 101, 114, 115, 101, 32, 111, 102, 32, 116, 104, 105, 115, 32, 103, 97, 112, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 100, 101, 108, 116, 97, 77, 97, - 120, 32, 61, 32, 45, 73, 110, 102, 105, 110, 105, 116, 121, 44, 32, 110, 32, 61, 32, 109, 101, 114, 103, - 101, 100, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 44, 32, 105, 32, 61, 32, 48, 44, 32, 97, - 32, 61, 32, 109, 101, 114, 103, 101, 100, 91, 110, 93, 59, 32, 105, 32, 60, 61, 32, 110, 59, 32, 97, - 32, 61, 32, 98, 44, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 109, 101, 114, 103, 101, 100, 91, 105, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 100, 101, 108, 116, - 97, 32, 61, 32, 97, 110, 103, 108, 101, 40, 97, 91, 49, 93, 44, 32, 98, 91, 48, 93, 41, 41, 32, - 62, 32, 100, 101, 108, 116, 97, 77, 97, 120, 41, 32, 100, 101, 108, 116, 97, 77, 97, 120, 32, 61, 32, - 100, 101, 108, 116, 97, 44, 32, 108, 97, 109, 98, 100, 97, 48, 36, 49, 32, 61, 32, 98, 91, 48, 93, - 44, 32, 108, 97, 109, 98, 100, 97, 49, 32, 61, 32, 97, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 115, 32, 61, 32, 114, 97, 110, 103, 101, 32, 61, 32, 110, - 117, 108, 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 97, - 109, 98, 100, 97, 48, 36, 49, 32, 61, 61, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 32, 124, 124, - 32, 112, 104, 105, 48, 32, 61, 61, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 91, 91, 78, 97, 78, 44, 32, 78, 97, 78, 93, 44, 32, - 91, 78, 97, 78, 44, 32, 78, 97, 78, 93, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 58, 32, 91, 91, 108, 97, 109, 98, 100, 97, 48, 36, 49, 44, 32, 112, 104, 105, 48, 93, 44, 32, - 91, 108, 97, 109, 98, 100, 97, 49, 44, 32, 112, 104, 105, 49, 93, 93, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 87, 48, 44, 32, 87, 49, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 88, 48, 36, 49, 44, 32, 89, 48, 36, 49, 44, 32, 90, 48, 36, 49, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 88, 49, 36, 49, 44, 32, 89, 49, 36, 49, 44, 32, 90, 49, 36, 49, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 50, 36, 49, 44, 32, 89, 50, 36, 49, 44, 32, 90, 50, - 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 48, 48, 44, 32, 112, - 104, 105, 48, 48, 44, 32, 47, 47, 32, 102, 105, 114, 115, 116, 32, 112, 111, 105, 110, 116, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 120, 48, 36, 52, 44, 32, 121, 48, 36, 52, 44, 32, 122, 48, 59, 32, 47, - 47, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 112, 111, 105, 110, 116, 10, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 36, 49, 32, 61, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 104, 101, 114, 101, 58, 32, 110, 111, 111, 112, 36, 49, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 99, 101, 110, 116, 114, 111, - 105, 100, 80, 111, 105, 110, 116, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, - 83, 116, 97, 114, 116, 58, 32, 99, 101, 110, 116, 114, 111, 105, 100, 76, 105, 110, 101, 83, 116, 97, 114, - 116, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 99, - 101, 110, 116, 114, 111, 105, 100, 76, 105, 110, 101, 69, 110, 100, 36, 49, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, - 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 36, 49, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 32, - 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, 82, 105, 110, 103, 83, 116, 97, 114, 116, 36, 49, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, - 101, 97, 109, 36, 49, 46, 108, 105, 110, 101, 69, 110, 100, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, - 100, 82, 105, 110, 103, 69, 110, 100, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 36, 49, 46, 108, 105, 110, 101, 83, 116, 97, - 114, 116, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, 76, 105, 110, 101, 83, 116, 97, 114, 116, 36, - 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, - 83, 116, 114, 101, 97, 109, 36, 49, 46, 108, 105, 110, 101, 69, 110, 100, 32, 61, 32, 99, 101, 110, 116, - 114, 111, 105, 100, 76, 105, 110, 101, 69, 110, 100, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 47, 47, 32, 65, 114, 105, 116, 104, 109, 101, 116, 105, 99, - 32, 109, 101, 97, 110, 32, 111, 102, 32, 67, 97, 114, 116, 101, 115, 105, 97, 110, 32, 118, 101, 99, 116, - 111, 114, 115, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, - 111, 105, 100, 80, 111, 105, 110, 116, 36, 49, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 32, 42, 61, 32, 114, 97, - 100, 105, 97, 110, 115, 44, 32, 112, 104, 105, 32, 42, 61, 32, 114, 97, 100, 105, 97, 110, 115, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 115, 80, 104, 105, 32, 61, 32, 99, 111, - 115, 36, 49, 40, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, - 111, 105, 100, 80, 111, 105, 110, 116, 67, 97, 114, 116, 101, 115, 105, 97, 110, 40, 99, 111, 115, 80, 104, - 105, 32, 42, 32, 99, 111, 115, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, 44, 32, 99, 111, 115, 80, - 104, 105, 32, 42, 32, 115, 105, 110, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, 44, 32, 115, 105, 110, - 36, 49, 40, 112, 104, 105, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 67, 97, 114, - 116, 101, 115, 105, 97, 110, 40, 120, 44, 32, 121, 44, 32, 122, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 43, 43, 87, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 48, 36, 49, 32, 43, - 61, 32, 40, 120, 32, 45, 32, 88, 48, 36, 49, 41, 32, 47, 32, 87, 48, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 89, 48, 36, 49, 32, 43, 61, 32, 40, 121, 32, 45, 32, 89, 48, 36, 49, 41, 32, - 47, 32, 87, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 90, 48, 36, 49, 32, 43, 61, 32, 40, - 122, 32, 45, 32, 90, 48, 36, 49, 41, 32, 47, 32, 87, 48, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 76, 105, - 110, 101, 83, 116, 97, 114, 116, 36, 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, 116, 32, 61, - 32, 99, 101, 110, 116, 114, 111, 105, 100, 76, 105, 110, 101, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, - 101, 110, 116, 114, 111, 105, 100, 76, 105, 110, 101, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, 40, 108, - 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, - 97, 109, 98, 100, 97, 32, 42, 61, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 112, 104, 105, 32, 42, - 61, 32, 114, 97, 100, 105, 97, 110, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 99, 111, 115, 80, 104, 105, 32, 61, 32, 99, 111, 115, 36, 49, 40, 112, 104, 105, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 120, 48, 36, 52, 32, 61, 32, 99, 111, 115, 80, 104, 105, 32, 42, 32, 99, - 111, 115, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, - 48, 36, 52, 32, 61, 32, 99, 111, 115, 80, 104, 105, 32, 42, 32, 115, 105, 110, 36, 49, 40, 108, 97, - 109, 98, 100, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 48, 32, 61, 32, 115, 105, 110, - 36, 49, 40, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, - 105, 100, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, 116, 32, 61, 32, 99, 101, 110, 116, - 114, 111, 105, 100, 76, 105, 110, 101, 80, 111, 105, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 67, 97, 114, 116, 101, 115, 105, 97, 110, 40, - 120, 48, 36, 52, 44, 32, 121, 48, 36, 52, 44, 32, 122, 48, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 76, - 105, 110, 101, 80, 111, 105, 110, 116, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 32, 42, 61, 32, 114, 97, 100, 105, - 97, 110, 115, 44, 32, 112, 104, 105, 32, 42, 61, 32, 114, 97, 100, 105, 97, 110, 115, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 115, 80, 104, 105, 32, 61, 32, 99, 111, 115, 36, - 49, 40, 112, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, - 32, 99, 111, 115, 80, 104, 105, 32, 42, 32, 99, 111, 115, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 99, 111, 115, 80, 104, - 105, 32, 42, 32, 115, 105, 110, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, 61, 32, 115, 105, 110, 36, 49, 40, 112, 104, 105, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 32, 61, 32, 97, 116, 97, 110, 50, 36, - 49, 40, 115, 113, 114, 116, 36, 50, 40, 40, 119, 32, 61, 32, 121, 48, 36, 52, 32, 42, 32, 122, 32, - 45, 32, 122, 48, 32, 42, 32, 121, 41, 32, 42, 32, 119, 32, 43, 32, 40, 119, 32, 61, 32, 122, 48, - 32, 42, 32, 120, 32, 45, 32, 120, 48, 36, 52, 32, 42, 32, 122, 41, 32, 42, 32, 119, 32, 43, 32, - 40, 119, 32, 61, 32, 120, 48, 36, 52, 32, 42, 32, 121, 32, 45, 32, 121, 48, 36, 52, 32, 42, 32, - 120, 41, 32, 42, 32, 119, 41, 44, 32, 120, 48, 36, 52, 32, 42, 32, 120, 32, 43, 32, 121, 48, 36, - 52, 32, 42, 32, 121, 32, 43, 32, 122, 48, 32, 42, 32, 122, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 87, 49, 32, 43, 61, 32, 119, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 49, 36, 49, - 32, 43, 61, 32, 119, 32, 42, 32, 40, 120, 48, 36, 52, 32, 43, 32, 40, 120, 48, 36, 52, 32, 61, - 32, 120, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 89, 49, 36, 49, 32, 43, 61, 32, 119, - 32, 42, 32, 40, 121, 48, 36, 52, 32, 43, 32, 40, 121, 48, 36, 52, 32, 61, 32, 121, 41, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 90, 49, 36, 49, 32, 43, 61, 32, 119, 32, 42, 32, 40, 122, - 48, 32, 43, 32, 40, 122, 48, 32, 61, 32, 122, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 67, 97, 114, 116, 101, 115, 105, 97, 110, 40, - 120, 48, 36, 52, 44, 32, 121, 48, 36, 52, 44, 32, 122, 48, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 76, - 105, 110, 101, 69, 110, 100, 36, 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, - 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, 116, 32, 61, 32, - 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 36, 49, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 47, 47, 32, 83, 101, 101, 32, 74, 46, 32, 69, 46, 32, 66, 114, 111, 99, 107, 44, 32, 84, 104, - 101, 32, 73, 110, 101, 114, 116, 105, 97, 32, 84, 101, 110, 115, 111, 114, 32, 102, 111, 114, 32, 97, 32, - 83, 112, 104, 101, 114, 105, 99, 97, 108, 32, 84, 114, 105, 97, 110, 103, 108, 101, 44, 10, 47, 47, 32, - 74, 46, 32, 65, 112, 112, 108, 105, 101, 100, 32, 77, 101, 99, 104, 97, 110, 105, 99, 115, 32, 52, 50, - 44, 32, 50, 51, 57, 32, 40, 49, 57, 55, 53, 41, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 82, 105, 110, 103, 83, 116, 97, 114, 116, 36, 49, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, - 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, 116, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, - 82, 105, 110, 103, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 82, 105, - 110, 103, 69, 110, 100, 36, 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, - 116, 114, 111, 105, 100, 82, 105, 110, 103, 80, 111, 105, 110, 116, 40, 108, 97, 109, 98, 100, 97, 48, 48, - 44, 32, 112, 104, 105, 48, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, - 111, 105, 100, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, 116, 32, 61, 32, 99, 101, 110, - 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 36, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 82, 105, 110, 103, - 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 48, 48, 32, 61, 32, 108, - 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 48, 48, 32, 61, 32, 112, 104, 105, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 32, 42, 61, 32, 114, 97, 100, 105, 97, 110, 115, 44, - 32, 112, 104, 105, 32, 42, 61, 32, 114, 97, 100, 105, 97, 110, 115, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, - 116, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, 82, 105, 110, 103, 80, 111, 105, 110, 116, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 115, 80, 104, 105, 32, 61, 32, 99, 111, - 115, 36, 49, 40, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 36, 52, 32, - 61, 32, 99, 111, 115, 80, 104, 105, 32, 42, 32, 99, 111, 115, 36, 49, 40, 108, 97, 109, 98, 100, 97, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 36, 52, 32, 61, 32, 99, 111, 115, 80, 104, - 105, 32, 42, 32, 115, 105, 110, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 122, 48, 32, 61, 32, 115, 105, 110, 36, 49, 40, 112, 104, 105, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 67, 97, 114, 116, - 101, 115, 105, 97, 110, 40, 120, 48, 36, 52, 44, 32, 121, 48, 36, 52, 44, 32, 122, 48, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, - 116, 114, 111, 105, 100, 82, 105, 110, 103, 80, 111, 105, 110, 116, 40, 108, 97, 109, 98, 100, 97, 44, 32, - 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 32, 42, - 61, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 112, 104, 105, 32, 42, 61, 32, 114, 97, 100, 105, 97, - 110, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 115, 80, 104, 105, 32, - 61, 32, 99, 111, 115, 36, 49, 40, 112, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 32, 61, 32, 99, 111, 115, 80, 104, 105, 32, 42, 32, 99, 111, 115, 36, 49, 40, 108, - 97, 109, 98, 100, 97, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, - 32, 99, 111, 115, 80, 104, 105, 32, 42, 32, 115, 105, 110, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, 61, 32, 115, 105, 110, 36, 49, - 40, 112, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 120, 32, 61, - 32, 121, 48, 36, 52, 32, 42, 32, 122, 32, 45, 32, 122, 48, 32, 42, 32, 121, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 121, 32, 61, 32, 122, 48, 32, 42, 32, 120, 32, 45, 32, - 120, 48, 36, 52, 32, 42, 32, 122, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 122, 32, 61, 32, 120, 48, 36, 52, 32, 42, 32, 121, 32, 45, 32, 121, 48, 36, 52, 32, 42, 32, 120, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 104, 121, 112, 111, 116, - 40, 99, 120, 44, 32, 99, 121, 44, 32, 99, 122, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 32, 61, 32, 97, 115, 105, 110, 36, 49, 40, 109, 41, 44, 32, 47, 47, 32, 108, 105, - 110, 101, 32, 119, 101, 105, 103, 104, 116, 32, 61, 32, 97, 110, 103, 108, 101, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 32, 61, 32, 109, 32, 38, 38, 32, 45, 119, 32, 47, 32, 109, 59, - 32, 47, 47, 32, 97, 114, 101, 97, 32, 119, 101, 105, 103, 104, 116, 32, 109, 117, 108, 116, 105, 112, 108, - 105, 101, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 50, 36, 49, 46, 97, 100, 100, 40, 118, 32, - 42, 32, 99, 120, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 89, 50, 36, 49, 46, 97, 100, 100, - 40, 118, 32, 42, 32, 99, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 90, 50, 36, 49, 46, - 97, 100, 100, 40, 118, 32, 42, 32, 99, 122, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 87, 49, - 32, 43, 61, 32, 119, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 49, 36, 49, 32, 43, 61, 32, - 119, 32, 42, 32, 40, 120, 48, 36, 52, 32, 43, 32, 40, 120, 48, 36, 52, 32, 61, 32, 120, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 89, 49, 36, 49, 32, 43, 61, 32, 119, 32, 42, 32, 40, - 121, 48, 36, 52, 32, 43, 32, 40, 121, 48, 36, 52, 32, 61, 32, 121, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 90, 49, 36, 49, 32, 43, 61, 32, 119, 32, 42, 32, 40, 122, 48, 32, 43, 32, - 40, 122, 48, 32, 61, 32, 122, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, - 114, 111, 105, 100, 80, 111, 105, 110, 116, 67, 97, 114, 116, 101, 115, 105, 97, 110, 40, 120, 48, 36, 52, - 44, 32, 121, 48, 36, 52, 44, 32, 122, 48, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 36, 49, 40, 111, 98, - 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 87, 48, 32, 61, 32, 87, 49, - 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 48, 36, 49, 32, 61, 32, 89, - 48, 36, 49, 32, 61, 32, 90, 48, 36, 49, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 88, 49, 36, 49, 32, 61, 32, 89, 49, 36, 49, 32, 61, 32, 90, 49, 36, - 49, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 50, 36, 49, 32, 61, 32, 110, - 101, 119, 32, 65, 100, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 89, 50, 36, - 49, 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 90, 50, 36, 49, 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, 114, 40, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 103, 101, 111, 83, 116, 114, 101, 97, 109, 40, 111, 98, 106, 101, 99, 116, - 44, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 36, 49, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 32, 61, 32, 43, 88, 50, 36, 49, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 43, 89, 50, 36, 49, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, 61, 32, 43, 90, 50, 36, 49, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 104, 121, 112, 111, 116, 40, 120, 44, - 32, 121, 44, 32, 122, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, - 116, 104, 101, 32, 97, 114, 101, 97, 45, 119, 101, 105, 103, 104, 116, 101, 100, 32, 99, 99, 101, 110, 116, - 114, 111, 105, 100, 32, 105, 115, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 44, 32, 102, 97, 108, 108, - 32, 98, 97, 99, 107, 32, 116, 111, 32, 108, 101, 110, 103, 116, 104, 45, 119, 101, 105, 103, 104, 116, 101, - 100, 32, 99, 99, 101, 110, 116, 114, 111, 105, 100, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 109, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 88, 49, 36, 49, 44, 32, 121, 32, 61, 32, 89, 49, - 36, 49, 44, 32, 122, 32, 61, 32, 90, 49, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 32, 102, 101, 97, 116, 117, 114, 101, 32, 104, 97, - 115, 32, 122, 101, 114, 111, 32, 108, 101, 110, 103, 116, 104, 44, 32, 102, 97, 108, 108, 32, 98, 97, 99, - 107, 32, 116, 111, 32, 97, 114, 105, 116, 104, 109, 101, 116, 105, 99, 32, 109, 101, 97, 110, 32, 111, 102, - 32, 112, 111, 105, 110, 116, 32, 118, 101, 99, 116, 111, 114, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 87, 49, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, - 41, 32, 120, 32, 61, 32, 88, 48, 36, 49, 44, 32, 121, 32, 61, 32, 89, 48, 36, 49, 44, 32, 122, - 32, 61, 32, 90, 48, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, - 61, 32, 104, 121, 112, 111, 116, 40, 120, 44, 32, 121, 44, 32, 122, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 32, 102, 101, 97, 116, 117, 114, - 101, 32, 115, 116, 105, 108, 108, 32, 104, 97, 115, 32, 97, 110, 32, 117, 110, 100, 101, 102, 105, 110, 101, - 100, 32, 99, 99, 101, 110, 116, 114, 111, 105, 100, 44, 32, 116, 104, 101, 110, 32, 114, 101, 116, 117, 114, - 110, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 32, 60, 32, - 101, 112, 115, 105, 108, 111, 110, 50, 41, 32, 114, 101, 116, 117, 114, 110, 32, 91, 78, 97, 78, 44, 32, - 78, 97, 78, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 97, 116, 97, 110, 50, 36, 49, 40, 121, 44, 32, 120, 41, - 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 44, 32, 97, 115, 105, 110, 36, 49, 40, 122, 32, 47, 32, - 109, 41, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 51, 40, - 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 109, 112, 111, 115, - 101, 40, 97, 44, 32, 98, 41, 32, 123, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 99, 111, 109, 112, 111, 115, 101, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 61, 32, 97, 40, - 120, 44, 32, 121, 41, 44, 32, 98, 40, 120, 91, 48, 93, 44, 32, 120, 91, 49, 93, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, - 46, 105, 110, 118, 101, 114, 116, 32, 38, 38, 32, 98, 46, 105, 110, 118, 101, 114, 116, 41, 32, 99, 111, - 109, 112, 111, 115, 101, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 120, 32, 61, 32, 98, 46, 105, 110, 118, 101, 114, 116, 40, 120, 44, 32, 121, 41, - 44, 32, 120, 32, 38, 38, 32, 97, 46, 105, 110, 118, 101, 114, 116, 40, 120, 91, 48, 93, 44, 32, 120, - 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 109, 112, 111, 115, 101, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 111, 116, 97, 116, 105, 111, - 110, 73, 100, 101, 110, 116, 105, 116, 121, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 97, 98, 115, 36, 49, - 40, 108, 97, 109, 98, 100, 97, 41, 32, 62, 32, 112, 105, 36, 49, 32, 63, 32, 108, 97, 109, 98, 100, - 97, 32, 43, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 45, 108, 97, 109, 98, 100, 97, 32, - 47, 32, 116, 97, 117, 36, 49, 41, 32, 42, 32, 116, 97, 117, 36, 49, 32, 58, 32, 108, 97, 109, 98, - 100, 97, 44, 32, 112, 104, 105, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 114, 111, - 116, 97, 116, 105, 111, 110, 73, 100, 101, 110, 116, 105, 116, 121, 46, 105, 110, 118, 101, 114, 116, 32, 61, - 32, 114, 111, 116, 97, 116, 105, 111, 110, 73, 100, 101, 110, 116, 105, 116, 121, 59, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 111, 116, 97, 116, 101, 82, 97, 100, 105, 97, 110, 115, - 40, 100, 101, 108, 116, 97, 76, 97, 109, 98, 100, 97, 44, 32, 100, 101, 108, 116, 97, 80, 104, 105, 44, - 32, 100, 101, 108, 116, 97, 71, 97, 109, 109, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 40, 100, 101, 108, 116, 97, 76, 97, 109, 98, 100, 97, 32, 37, 61, 32, - 116, 97, 117, 36, 49, 41, 32, 63, 32, 40, 100, 101, 108, 116, 97, 80, 104, 105, 32, 124, 124, 32, 100, - 101, 108, 116, 97, 71, 97, 109, 109, 97, 32, 63, 32, 99, 111, 109, 112, 111, 115, 101, 40, 114, 111, 116, - 97, 116, 105, 111, 110, 76, 97, 109, 98, 100, 97, 40, 100, 101, 108, 116, 97, 76, 97, 109, 98, 100, 97, - 41, 44, 32, 114, 111, 116, 97, 116, 105, 111, 110, 80, 104, 105, 71, 97, 109, 109, 97, 40, 100, 101, 108, - 116, 97, 80, 104, 105, 44, 32, 100, 101, 108, 116, 97, 71, 97, 109, 109, 97, 41, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 114, 111, 116, 97, 116, 105, 111, 110, 76, 97, 109, 98, - 100, 97, 40, 100, 101, 108, 116, 97, 76, 97, 109, 98, 100, 97, 41, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 58, 32, 40, 100, 101, 108, 116, 97, 80, 104, 105, 32, 124, 124, 32, 100, 101, - 108, 116, 97, 71, 97, 109, 109, 97, 32, 63, 32, 114, 111, 116, 97, 116, 105, 111, 110, 80, 104, 105, 71, - 97, 109, 109, 97, 40, 100, 101, 108, 116, 97, 80, 104, 105, 44, 32, 100, 101, 108, 116, 97, 71, 97, 109, - 109, 97, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 114, - 111, 116, 97, 116, 105, 111, 110, 73, 100, 101, 110, 116, 105, 116, 121, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 119, 97, 114, 100, 82, - 111, 116, 97, 116, 105, 111, 110, 76, 97, 109, 98, 100, 97, 40, 100, 101, 108, 116, 97, 76, 97, 109, 98, - 100, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 97, 109, 98, 100, - 97, 32, 43, 61, 32, 100, 101, 108, 116, 97, 76, 97, 109, 98, 100, 97, 44, 32, 91, 108, 97, 109, 98, - 100, 97, 32, 62, 32, 112, 105, 36, 49, 32, 63, 32, 108, 97, 109, 98, 100, 97, 32, 45, 32, 116, 97, - 117, 36, 49, 32, 58, 32, 108, 97, 109, 98, 100, 97, 32, 60, 32, 45, 112, 105, 36, 49, 32, 63, 32, - 108, 97, 109, 98, 100, 97, 32, 43, 32, 116, 97, 117, 36, 49, 32, 58, 32, 108, 97, 109, 98, 100, 97, - 44, 32, 112, 104, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 111, 116, 97, 116, 105, 111, - 110, 76, 97, 109, 98, 100, 97, 40, 100, 101, 108, 116, 97, 76, 97, 109, 98, 100, 97, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 111, 116, 97, 116, 105, 111, 110, 32, 61, 32, - 102, 111, 114, 119, 97, 114, 100, 82, 111, 116, 97, 116, 105, 111, 110, 76, 97, 109, 98, 100, 97, 40, 100, - 101, 108, 116, 97, 76, 97, 109, 98, 100, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, - 116, 97, 116, 105, 111, 110, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 102, 111, 114, 119, 97, 114, 100, - 82, 111, 116, 97, 116, 105, 111, 110, 76, 97, 109, 98, 100, 97, 40, 45, 100, 101, 108, 116, 97, 76, 97, - 109, 98, 100, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, - 111, 116, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 114, 111, 116, 97, 116, 105, 111, 110, 80, 104, 105, 71, 97, 109, 109, 97, 40, - 100, 101, 108, 116, 97, 80, 104, 105, 44, 32, 100, 101, 108, 116, 97, 71, 97, 109, 109, 97, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 115, 68, 101, 108, 116, 97, 80, 104, - 105, 32, 61, 32, 99, 111, 115, 36, 49, 40, 100, 101, 108, 116, 97, 80, 104, 105, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 68, 101, 108, 116, 97, 80, 104, 105, 32, 61, - 32, 115, 105, 110, 36, 49, 40, 100, 101, 108, 116, 97, 80, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 115, 68, 101, 108, 116, 97, 71, 97, 109, 109, 97, 32, 61, 32, - 99, 111, 115, 36, 49, 40, 100, 101, 108, 116, 97, 71, 97, 109, 109, 97, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 68, 101, 108, 116, 97, 71, 97, 109, 109, 97, 32, 61, - 32, 115, 105, 110, 36, 49, 40, 100, 101, 108, 116, 97, 71, 97, 109, 109, 97, 41, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 111, 116, 97, 116, 105, 111, 110, - 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 115, 80, 104, 105, 32, 61, 32, 99, 111, 115, 36, 49, - 40, 112, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 32, 61, 32, 99, 111, 115, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, 32, 42, 32, 99, 111, 115, - 80, 104, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, - 61, 32, 115, 105, 110, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, 32, 42, 32, 99, 111, 115, 80, 104, - 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, 61, 32, - 115, 105, 110, 36, 49, 40, 112, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 107, 32, 61, 32, 122, 32, 42, 32, 99, 111, 115, 68, 101, 108, 116, 97, 80, 104, - 105, 32, 43, 32, 120, 32, 42, 32, 115, 105, 110, 68, 101, 108, 116, 97, 80, 104, 105, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 116, 97, 110, 50, 36, 49, 40, 121, 32, 42, - 32, 99, 111, 115, 68, 101, 108, 116, 97, 71, 97, 109, 109, 97, 32, 45, 32, 107, 32, 42, 32, 115, 105, - 110, 68, 101, 108, 116, 97, 71, 97, 109, 109, 97, 44, 32, 120, 32, 42, 32, 99, 111, 115, 68, 101, 108, - 116, 97, 80, 104, 105, 32, 45, 32, 122, 32, 42, 32, 115, 105, 110, 68, 101, 108, 116, 97, 80, 104, 105, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 115, 105, 110, - 36, 49, 40, 107, 32, 42, 32, 99, 111, 115, 68, 101, 108, 116, 97, 71, 97, 109, 109, 97, 32, 43, 32, - 121, 32, 42, 32, 115, 105, 110, 68, 101, 108, 116, 97, 71, 97, 109, 109, 97, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 111, 116, 97, 116, 105, 111, 110, 46, 105, 110, 118, 101, 114, 116, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 115, 80, - 104, 105, 32, 61, 32, 99, 111, 115, 36, 49, 40, 112, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 99, 111, 115, 36, 49, 40, 108, 97, 109, - 98, 100, 97, 41, 32, 42, 32, 99, 111, 115, 80, 104, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 115, 105, 110, 36, 49, 40, 108, 97, 109, 98, 100, - 97, 41, 32, 42, 32, 99, 111, 115, 80, 104, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 122, 32, 61, 32, 115, 105, 110, 36, 49, 40, 112, 104, 105, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 122, 32, 42, 32, - 99, 111, 115, 68, 101, 108, 116, 97, 71, 97, 109, 109, 97, 32, 45, 32, 121, 32, 42, 32, 115, 105, 110, - 68, 101, 108, 116, 97, 71, 97, 109, 109, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 97, 116, 97, 110, 50, 36, 49, 40, 121, 32, 42, 32, 99, 111, 115, 68, 101, 108, 116, 97, - 71, 97, 109, 109, 97, 32, 43, 32, 122, 32, 42, 32, 115, 105, 110, 68, 101, 108, 116, 97, 71, 97, 109, - 109, 97, 44, 32, 120, 32, 42, 32, 99, 111, 115, 68, 101, 108, 116, 97, 80, 104, 105, 32, 43, 32, 107, - 32, 42, 32, 115, 105, 110, 68, 101, 108, 116, 97, 80, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 115, 105, 110, 36, 49, 40, 107, 32, 42, 32, 99, 111, - 115, 68, 101, 108, 116, 97, 80, 104, 105, 32, 45, 32, 120, 32, 42, 32, 115, 105, 110, 68, 101, 108, 116, - 97, 80, 104, 105, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 114, 111, 116, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 111, 116, 97, 116, 105, 111, 110, 40, 114, 111, 116, 97, 116, - 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 116, 97, 116, 101, 32, 61, 32, 114, - 111, 116, 97, 116, 101, 82, 97, 100, 105, 97, 110, 115, 40, 114, 111, 116, 97, 116, 101, 91, 48, 93, 32, - 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 114, 111, 116, 97, 116, 101, 91, 49, 93, 32, 42, 32, - 114, 97, 100, 105, 97, 110, 115, 44, 32, 114, 111, 116, 97, 116, 101, 46, 108, 101, 110, 103, 116, 104, 32, - 62, 32, 50, 32, 63, 32, 114, 111, 116, 97, 116, 101, 91, 50, 93, 32, 42, 32, 114, 97, 100, 105, 97, - 110, 115, 32, 58, 32, 48, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 102, 111, 114, 119, 97, 114, 100, 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, 100, 105, 110, - 97, 116, 101, 115, 32, 61, 32, 114, 111, 116, 97, 116, 101, 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, - 101, 115, 91, 48, 93, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 99, 111, 111, 114, 100, 105, - 110, 97, 116, 101, 115, 91, 49, 93, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 111, 114, 100, 105, - 110, 97, 116, 101, 115, 91, 48, 93, 32, 42, 61, 32, 100, 101, 103, 114, 101, 101, 115, 44, 32, 99, 111, - 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 49, 93, 32, 42, 61, 32, 100, 101, 103, 114, 101, 101, 115, - 44, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 119, 97, 114, 100, 46, 105, 110, 118, 101, - 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, - 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, 100, - 105, 110, 97, 116, 101, 115, 32, 61, 32, 114, 111, 116, 97, 116, 101, 46, 105, 110, 118, 101, 114, 116, 40, - 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 48, 93, 32, 42, 32, 114, 97, 100, 105, 97, 110, - 115, 44, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 49, 93, 32, 42, 32, 114, 97, 100, - 105, 97, 110, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 48, 93, 32, 42, 61, 32, 100, 101, - 103, 114, 101, 101, 115, 44, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 49, 93, 32, 42, - 61, 32, 100, 101, 103, 114, 101, 101, 115, 44, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 102, 111, 114, 119, 97, 114, 100, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, - 32, 71, 101, 110, 101, 114, 97, 116, 101, 115, 32, 97, 32, 99, 105, 114, 99, 108, 101, 32, 99, 101, 110, - 116, 101, 114, 101, 100, 32, 97, 116, 32, 91, 48, 194, 176, 44, 32, 48, 194, 176, 93, 44, 32, 119, 105, - 116, 104, 32, 97, 32, 103, 105, 118, 101, 110, 32, 114, 97, 100, 105, 117, 115, 32, 97, 110, 100, 32, 112, - 114, 101, 99, 105, 115, 105, 111, 110, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 99, 105, 114, 99, 108, 101, 83, 116, 114, 101, 97, 109, 40, 115, 116, 114, 101, 97, 109, 44, 32, 114, 97, - 100, 105, 117, 115, 44, 32, 100, 101, 108, 116, 97, 44, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 44, - 32, 116, 48, 44, 32, 116, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 100, 101, 108, 116, 97, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 99, 111, 115, 82, 97, 100, 105, 117, 115, 32, 61, 32, 99, 111, 115, 36, 49, 40, - 114, 97, 100, 105, 117, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, - 110, 82, 97, 100, 105, 117, 115, 32, 61, 32, 115, 105, 110, 36, 49, 40, 114, 97, 100, 105, 117, 115, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 101, 112, 32, 61, 32, 100, 105, - 114, 101, 99, 116, 105, 111, 110, 32, 42, 32, 100, 101, 108, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 116, 48, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 48, 32, 61, 32, 114, 97, 100, 105, 117, 115, 32, 43, 32, - 100, 105, 114, 101, 99, 116, 105, 111, 110, 32, 42, 32, 116, 97, 117, 36, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 49, 32, 61, 32, 114, 97, 100, 105, 117, 115, 32, 45, 32, 115, - 116, 101, 112, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 48, 32, 61, 32, 99, 105, 114, - 99, 108, 101, 82, 97, 100, 105, 117, 115, 40, 99, 111, 115, 82, 97, 100, 105, 117, 115, 44, 32, 116, 48, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 49, 32, 61, 32, 99, 105, 114, - 99, 108, 101, 82, 97, 100, 105, 117, 115, 40, 99, 111, 115, 82, 97, 100, 105, 117, 115, 44, 32, 116, 49, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 105, 114, 101, - 99, 116, 105, 111, 110, 32, 62, 32, 48, 32, 63, 32, 116, 48, 32, 60, 32, 116, 49, 32, 58, 32, 116, - 48, 32, 62, 32, 116, 49, 41, 32, 116, 48, 32, 43, 61, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, - 32, 42, 32, 116, 97, 117, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 112, 111, 105, 110, 116, 44, 32, 116, 32, - 61, 32, 116, 48, 59, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 32, 62, 32, 48, 32, 63, 32, 116, - 32, 62, 32, 116, 49, 32, 58, 32, 116, 32, 60, 32, 116, 49, 59, 32, 116, 32, 45, 61, 32, 115, 116, - 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, - 32, 61, 32, 115, 112, 104, 101, 114, 105, 99, 97, 108, 40, 91, 99, 111, 115, 82, 97, 100, 105, 117, 115, - 44, 32, 45, 115, 105, 110, 82, 97, 100, 105, 117, 115, 32, 42, 32, 99, 111, 115, 36, 49, 40, 116, 41, - 44, 32, 45, 115, 105, 110, 82, 97, 100, 105, 117, 115, 32, 42, 32, 115, 105, 110, 36, 49, 40, 116, 41, - 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, - 112, 111, 105, 110, 116, 40, 112, 111, 105, 110, 116, 91, 48, 93, 44, 32, 112, 111, 105, 110, 116, 91, 49, - 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, - 32, 82, 101, 116, 117, 114, 110, 115, 32, 116, 104, 101, 32, 115, 105, 103, 110, 101, 100, 32, 97, 110, 103, - 108, 101, 32, 111, 102, 32, 97, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 32, 112, 111, 105, 110, 116, - 32, 114, 101, 108, 97, 116, 105, 118, 101, 32, 116, 111, 32, 91, 99, 111, 115, 82, 97, 100, 105, 117, 115, - 44, 32, 48, 44, 32, 48, 93, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, - 105, 114, 99, 108, 101, 82, 97, 100, 105, 117, 115, 40, 99, 111, 115, 82, 97, 100, 105, 117, 115, 44, 32, - 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 32, - 61, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 40, 112, 111, 105, 110, 116, 41, 44, 32, 112, 111, 105, - 110, 116, 91, 48, 93, 32, 45, 61, 32, 99, 111, 115, 82, 97, 100, 105, 117, 115, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 78, 111, 114, 109, 97, 108, 105, 122, 101, - 73, 110, 80, 108, 97, 99, 101, 40, 112, 111, 105, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 114, 97, 100, 105, 117, 115, 32, 61, 32, 97, 99, 111, 115, 36, 49, 40, 45, 112, - 111, 105, 110, 116, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 40, 40, 45, 112, 111, 105, 110, 116, 91, 50, 93, 32, 60, 32, 48, 32, 63, 32, 45, 114, 97, - 100, 105, 117, 115, 32, 58, 32, 114, 97, 100, 105, 117, 115, 41, 32, 43, 32, 116, 97, 117, 36, 49, 32, - 45, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 41, 32, 37, 32, 116, 97, 117, 36, 49, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 105, 114, 99, - 108, 101, 36, 50, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 101, - 110, 116, 101, 114, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 51, 40, 91, 48, 44, 32, 48, - 93, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 100, 105, 117, 115, 32, - 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 51, 40, 57, 48, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 99, 111, 110, 115, - 116, 97, 110, 116, 36, 51, 40, 54, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 105, 110, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 116, 97, 116, - 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 32, 61, - 32, 123, 112, 111, 105, 110, 116, 58, 32, 112, 111, 105, 110, 116, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 40, 120, 44, 32, 121, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 110, 103, 46, 112, 117, 115, - 104, 40, 120, 32, 61, 32, 114, 111, 116, 97, 116, 101, 40, 120, 44, 32, 121, 41, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 91, 48, 93, 32, 42, 61, 32, 100, 101, 103, 114, 101, - 101, 115, 44, 32, 120, 91, 49, 93, 32, 42, 61, 32, 100, 101, 103, 114, 101, 101, 115, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 99, 105, 114, 99, 108, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 99, 101, 110, 116, 101, 114, 46, 97, 112, 112, 108, 121, - 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 114, 97, 100, 105, 117, 115, 46, - 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, - 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 32, 61, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 46, 97, 112, 112, 108, 121, - 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 42, 32, 114, 97, 100, - 105, 97, 110, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 110, 103, 32, - 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 116, 97, 116, - 101, 32, 61, 32, 114, 111, 116, 97, 116, 101, 82, 97, 100, 105, 97, 110, 115, 40, 45, 99, 91, 48, 93, - 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 45, 99, 91, 49, 93, 32, 42, 32, 114, 97, 100, - 105, 97, 110, 115, 44, 32, 48, 41, 46, 105, 110, 118, 101, 114, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 105, 114, 99, 108, 101, 83, 116, 114, 101, 97, 109, 40, 115, 116, 114, 101, - 97, 109, 44, 32, 114, 44, 32, 112, 44, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 32, 61, 32, 123, 116, 121, 112, 101, 58, 32, 34, 80, 111, 108, 121, 103, 111, 110, 34, - 44, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 58, 32, 91, 114, 105, 110, 103, 93, 125, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 110, 103, 32, 61, 32, 114, 111, 116, - 97, 116, 101, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 105, 114, 99, 108, 101, 46, 99, 101, 110, 116, 101, 114, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, - 103, 116, 104, 32, 63, 32, 40, 99, 101, 110, 116, 101, 114, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, - 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, - 99, 111, 110, 115, 116, 97, 110, 116, 36, 51, 40, 91, 43, 95, 91, 48, 93, 44, 32, 43, 95, 91, 49, - 93, 93, 41, 44, 32, 99, 105, 114, 99, 108, 101, 41, 32, 58, 32, 99, 101, 110, 116, 101, 114, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 105, 114, - 99, 108, 101, 46, 114, 97, 100, 105, 117, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 114, 97, 100, - 105, 117, 115, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, - 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 51, - 40, 43, 95, 41, 44, 32, 99, 105, 114, 99, 108, 101, 41, 32, 58, 32, 114, 97, 100, 105, 117, 115, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 105, - 114, 99, 108, 101, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, - 40, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, - 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, - 115, 116, 97, 110, 116, 36, 51, 40, 43, 95, 41, 44, 32, 99, 105, 114, 99, 108, 101, 41, 32, 58, 32, - 112, 114, 101, 99, 105, 115, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 105, 114, 99, 108, 101, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, 105, - 112, 66, 117, 102, 102, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 108, 105, 110, 101, 115, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 105, 110, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 44, 32, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 46, 112, 117, 115, 104, 40, 91, 120, - 44, 32, 121, 44, 32, 109, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 115, 46, 112, 117, 115, 104, 40, 108, 105, 110, 101, - 32, 61, 32, 91, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 110, 111, - 111, 112, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 106, 111, 105, - 110, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 110, 101, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 62, 32, 49, 41, 32, 108, 105, 110, 101, 115, 46, 112, 117, 115, 104, 40, 108, 105, 110, 101, - 115, 46, 112, 111, 112, 40, 41, 46, 99, 111, 110, 99, 97, 116, 40, 108, 105, 110, 101, 115, 46, 115, 104, - 105, 102, 116, 40, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 114, 101, 115, 117, 108, 116, 32, 61, 32, 108, 105, 110, 101, 115, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 115, 32, - 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, - 105, 110, 101, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 115, 117, 108, 116, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, - 116, 69, 113, 117, 97, 108, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 98, 115, 36, 49, 40, 97, 91, 48, 93, 32, 45, 32, 98, 91, 48, - 93, 41, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 32, 38, 38, 32, 97, 98, 115, 36, 49, - 40, 97, 91, 49, 93, 32, 45, 32, 98, 91, 49, 93, 41, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, - 36, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 40, 112, 111, 105, 110, 116, 44, 32, 112, 111, - 105, 110, 116, 115, 44, 32, 111, 116, 104, 101, 114, 44, 32, 101, 110, 116, 114, 121, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 120, 32, 61, 32, 112, 111, 105, 110, 116, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 122, 32, 61, 32, 112, 111, 105, 110, 116, 115, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 111, 32, 61, 32, 111, 116, 104, 101, - 114, 59, 32, 47, 47, 32, 97, 110, 111, 116, 104, 101, 114, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, - 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 101, 32, 61, 32, 101, 110, - 116, 114, 121, 59, 32, 47, 47, 32, 105, 115, 32, 97, 110, 32, 101, 110, 116, 114, 121, 63, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 118, 32, 61, 32, 102, 97, 108, 115, 101, 59, 32, 47, - 47, 32, 118, 105, 115, 105, 116, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 110, 32, 61, 32, 116, 104, 105, 115, 46, 112, 32, 61, 32, 110, 117, 108, 108, 59, 32, 47, 47, 32, 110, - 101, 120, 116, 32, 38, 32, 112, 114, 101, 118, 105, 111, 117, 115, 10, 32, 32, 32, 32, 125, 10, 10, 47, - 47, 32, 65, 32, 103, 101, 110, 101, 114, 97, 108, 105, 122, 101, 100, 32, 112, 111, 108, 121, 103, 111, 110, - 32, 99, 108, 105, 112, 112, 105, 110, 103, 32, 97, 108, 103, 111, 114, 105, 116, 104, 109, 58, 32, 103, 105, - 118, 101, 110, 32, 97, 32, 112, 111, 108, 121, 103, 111, 110, 32, 116, 104, 97, 116, 32, 104, 97, 115, 32, - 98, 101, 101, 110, 32, 99, 117, 116, 10, 47, 47, 32, 105, 110, 116, 111, 32, 105, 116, 115, 32, 118, 105, - 115, 105, 98, 108, 101, 32, 108, 105, 110, 101, 32, 115, 101, 103, 109, 101, 110, 116, 115, 44, 32, 97, 110, - 100, 32, 114, 101, 106, 111, 105, 110, 115, 32, 116, 104, 101, 32, 115, 101, 103, 109, 101, 110, 116, 115, 32, - 98, 121, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 110, 103, 10, 47, 47, 32, 97, 108, 111, - 110, 103, 32, 116, 104, 101, 32, 99, 108, 105, 112, 32, 101, 100, 103, 101, 46, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, 105, 112, 82, 101, 106, 111, 105, 110, 40, 115, 101, 103, 109, - 101, 110, 116, 115, 44, 32, 99, 111, 109, 112, 97, 114, 101, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, - 111, 110, 44, 32, 115, 116, 97, 114, 116, 73, 110, 115, 105, 100, 101, 44, 32, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 101, 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 115, 117, 98, 106, 101, 99, 116, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 115, 46, 102, - 111, 114, 69, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 101, 103, 109, 101, 110, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 110, 32, - 61, 32, 115, 101, 103, 109, 101, 110, 116, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 41, 32, 60, - 61, 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 110, 44, 32, 112, 48, 32, 61, 32, 115, 101, 103, 109, 101, 110, 116, 91, 48, - 93, 44, 32, 112, 49, 32, 61, 32, 115, 101, 103, 109, 101, 110, 116, 91, 110, 93, 44, 32, 120, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 111, 105, 110, 116, 69, - 113, 117, 97, 108, 40, 112, 48, 44, 32, 112, 49, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 112, 48, 91, 50, 93, 32, 38, 38, 32, - 33, 112, 49, 91, 50, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, - 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, - 41, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 40, 112, 48, 32, 61, 32, 115, 101, - 103, 109, 101, 110, 116, 91, 105, 93, 41, 91, 48, 93, 44, 32, 112, 48, 91, 49, 93, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, - 97, 109, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 104, 97, 110, 100, 108, 101, 32, 100, 101, 103, 101, 110, 101, - 114, 97, 116, 101, 32, 99, 97, 115, 101, 115, 32, 98, 121, 32, 109, 111, 118, 105, 110, 103, 32, 116, 104, - 101, 32, 112, 111, 105, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 49, 91, 48, 93, 32, 43, 61, 32, 50, 32, 42, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 117, 98, 106, 101, 99, 116, 46, 112, 117, 115, 104, 40, 120, 32, 61, 32, - 110, 101, 119, 32, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 40, 112, 48, 44, 32, 115, 101, - 103, 109, 101, 110, 116, 44, 32, 110, 117, 108, 108, 44, 32, 116, 114, 117, 101, 41, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 46, 112, 117, 115, 104, 40, 120, 46, 111, - 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 40, 112, 48, 44, - 32, 110, 117, 108, 108, 44, 32, 120, 44, 32, 102, 97, 108, 115, 101, 41, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 98, 106, 101, 99, 116, 46, 112, 117, 115, 104, 40, 120, 32, - 61, 32, 110, 101, 119, 32, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 40, 112, 49, 44, 32, - 115, 101, 103, 109, 101, 110, 116, 44, 32, 110, 117, 108, 108, 44, 32, 102, 97, 108, 115, 101, 41, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 46, 112, 117, 115, 104, 40, - 120, 46, 111, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 40, - 112, 49, 44, 32, 110, 117, 108, 108, 44, 32, 120, 44, 32, 116, 114, 117, 101, 41, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 115, 117, 98, 106, 101, 99, 116, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 46, 115, 111, 114, 116, 40, 99, 111, - 109, 112, 97, 114, 101, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 110, 107, 36, 49, 40, 115, 117, 98, 106, 101, 99, 116, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 107, 36, 49, 40, 99, 108, 105, 112, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, - 99, 108, 105, 112, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 91, 105, 93, - 46, 101, 32, 61, 32, 115, 116, 97, 114, 116, 73, 110, 115, 105, 100, 101, 32, 61, 32, 33, 115, 116, 97, - 114, 116, 73, 110, 115, 105, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 97, 114, 116, 32, 61, 32, 115, 117, 98, 106, 101, - 99, 116, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, - 116, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 49, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 70, 105, 110, 100, 32, 102, 105, 114, 115, 116, - 32, 117, 110, 118, 105, 115, 105, 116, 101, 100, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, - 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 117, 114, 114, 101, - 110, 116, 32, 61, 32, 115, 116, 97, 114, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 115, 83, 117, 98, 106, 101, 99, 116, 32, 61, 32, 116, 114, 117, 101, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 99, 117, 114, 114, - 101, 110, 116, 46, 118, 41, 32, 105, 102, 32, 40, 40, 99, 117, 114, 114, 101, 110, 116, 32, 61, 32, 99, - 117, 114, 114, 101, 110, 116, 46, 110, 41, 32, 61, 61, 61, 32, 115, 116, 97, 114, 116, 41, 32, 114, 101, - 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, - 115, 32, 61, 32, 99, 117, 114, 114, 101, 110, 116, 46, 122, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 46, 118, 32, 61, 32, - 99, 117, 114, 114, 101, 110, 116, 46, 111, 46, 118, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 117, 114, 114, 101, 110, - 116, 46, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 105, 115, 83, 117, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 32, 40, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 112, 111, 105, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 115, 116, 114, 101, - 97, 109, 46, 112, 111, 105, 110, 116, 40, 40, 112, 111, 105, 110, 116, 32, 61, 32, 112, 111, 105, 110, 116, - 115, 91, 105, 93, 41, 91, 48, 93, 44, 32, 112, 111, 105, 110, 116, 91, 49, 93, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, - 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 99, 117, 114, 114, 101, 110, - 116, 46, 120, 44, 32, 99, 117, 114, 114, 101, 110, 116, 46, 110, 46, 120, 44, 32, 49, 44, 32, 115, 116, - 114, 101, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 32, 61, 32, 99, 117, 114, 114, 101, 110, 116, 46, 110, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 105, 115, 83, 117, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, - 115, 32, 61, 32, 99, 117, 114, 114, 101, 110, 116, 46, 112, 46, 122, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 105, 32, 61, 32, 112, 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 59, 32, - 105, 32, 62, 61, 32, 48, 59, 32, 45, 45, 105, 41, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, - 110, 116, 40, 40, 112, 111, 105, 110, 116, 32, 61, 32, 112, 111, 105, 110, 116, 115, 91, 105, 93, 41, 91, - 48, 93, 44, 32, 112, 111, 105, 110, 116, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 99, 117, 114, 114, 101, 110, 116, 46, 120, 44, 32, 99, - 117, 114, 114, 101, 110, 116, 46, 112, 46, 120, 44, 32, 45, 49, 44, 32, 115, 116, 114, 101, 97, 109, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, - 114, 114, 101, 110, 116, 32, 61, 32, 99, 117, 114, 114, 101, 110, 116, 46, 112, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 32, 61, 32, 99, 117, 114, 114, 101, 110, - 116, 46, 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, - 105, 110, 116, 115, 32, 61, 32, 99, 117, 114, 114, 101, 110, 116, 46, 122, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 83, 117, 98, 106, 101, 99, 116, 32, 61, 32, - 33, 105, 115, 83, 117, 98, 106, 101, 99, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 32, 119, 104, 105, 108, 101, 32, 40, 33, 99, 117, 114, 114, 101, 110, 116, 46, 118, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, - 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 107, 36, 49, 40, 97, 114, - 114, 97, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 110, 32, - 61, 32, 97, 114, 114, 97, 121, 46, 108, 101, 110, 103, 116, 104, 41, 41, 32, 114, 101, 116, 117, 114, 110, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 97, 32, 61, 32, 97, 114, 114, 97, 121, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, - 43, 43, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 46, 110, 32, 61, 32, 98, 32, 61, 32, 97, 114, 114, 97, 121, 91, 105, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 46, 112, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 110, 32, 61, 32, 98, 32, 61, 32, 97, 114, 114, 97, - 121, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 46, 112, 32, 61, 32, 97, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 111, 110, - 103, 105, 116, 117, 100, 101, 40, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 97, 98, 115, 36, 49, 40, 112, 111, 105, 110, 116, 91, 48, 93, 41, 32, 60, 61, - 32, 112, 105, 36, 49, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 112, 111, 105, 110, 116, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, - 115, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, - 105, 103, 110, 36, 49, 40, 112, 111, 105, 110, 116, 91, 48, 93, 41, 32, 42, 32, 40, 40, 97, 98, 115, - 36, 49, 40, 112, 111, 105, 110, 116, 91, 48, 93, 41, 32, 43, 32, 112, 105, 36, 49, 41, 32, 37, 32, - 116, 97, 117, 36, 49, 32, 45, 32, 112, 105, 36, 49, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 108, 121, 103, 111, 110, 67, 111, 110, 116, - 97, 105, 110, 115, 40, 112, 111, 108, 121, 103, 111, 110, 44, 32, 112, 111, 105, 110, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 97, 109, 98, 100, 97, 32, 61, 32, 108, 111, - 110, 103, 105, 116, 117, 100, 101, 40, 112, 111, 105, 110, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 104, 105, 32, 61, 32, 112, 111, 105, 110, 116, 91, 49, 93, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 80, 104, 105, 32, 61, 32, 115, 105, 110, 36, - 49, 40, 112, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 114, - 109, 97, 108, 32, 61, 32, 91, 115, 105, 110, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, 44, 32, 45, - 99, 111, 115, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, 44, 32, 48, 93, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 110, 103, 108, 101, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 119, 105, 110, 100, 105, 110, 103, 32, 61, 32, 48, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 117, 109, 32, 61, 32, 110, 101, 119, 32, 65, 100, - 100, 101, 114, 40, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 105, 110, - 80, 104, 105, 32, 61, 61, 61, 32, 49, 41, 32, 112, 104, 105, 32, 61, 32, 104, 97, 108, 102, 80, 105, - 36, 49, 32, 43, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 105, 110, 80, 104, 105, 32, 61, 61, 61, 32, 45, 49, - 41, 32, 112, 104, 105, 32, 61, 32, 45, 104, 97, 108, 102, 80, 105, 36, 49, 32, 45, 32, 101, 112, 115, - 105, 108, 111, 110, 36, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, - 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 46, 108, - 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 109, 32, 61, 32, 40, 114, 105, - 110, 103, 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 91, 105, 93, 41, 46, 108, 101, 110, 103, 116, 104, - 41, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 114, 105, 110, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 111, 105, 110, 116, 48, 32, 61, 32, 114, 105, 110, 103, 91, 109, 32, 45, 32, 49, 93, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 48, - 32, 61, 32, 108, 111, 110, 103, 105, 116, 117, 100, 101, 40, 112, 111, 105, 110, 116, 48, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 48, 32, 61, 32, 112, - 111, 105, 110, 116, 48, 91, 49, 93, 32, 47, 32, 50, 32, 43, 32, 113, 117, 97, 114, 116, 101, 114, 80, - 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 80, - 104, 105, 48, 32, 61, 32, 115, 105, 110, 36, 49, 40, 112, 104, 105, 48, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 115, 80, 104, 105, 48, 32, 61, 32, 99, - 111, 115, 36, 49, 40, 112, 104, 105, 48, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, 32, 109, - 59, 32, 43, 43, 106, 44, 32, 108, 97, 109, 98, 100, 97, 48, 32, 61, 32, 108, 97, 109, 98, 100, 97, - 49, 44, 32, 115, 105, 110, 80, 104, 105, 48, 32, 61, 32, 115, 105, 110, 80, 104, 105, 49, 44, 32, 99, - 111, 115, 80, 104, 105, 48, 32, 61, 32, 99, 111, 115, 80, 104, 105, 49, 44, 32, 112, 111, 105, 110, 116, - 48, 32, 61, 32, 112, 111, 105, 110, 116, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 111, 105, 110, 116, 49, 32, 61, 32, 114, 105, 110, - 103, 91, 106, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 97, 109, 98, 100, 97, 49, 32, 61, 32, 108, 111, 110, 103, 105, 116, 117, 100, 101, 40, - 112, 111, 105, 110, 116, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 104, 105, 49, 32, 61, 32, 112, 111, 105, 110, 116, 49, 91, 49, 93, 32, - 47, 32, 50, 32, 43, 32, 113, 117, 97, 114, 116, 101, 114, 80, 105, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 80, 104, 105, 49, 32, 61, - 32, 115, 105, 110, 36, 49, 40, 112, 104, 105, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 115, 80, 104, 105, 49, 32, 61, 32, 99, 111, - 115, 36, 49, 40, 112, 104, 105, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 116, 97, 32, 61, 32, 108, 97, 109, 98, 100, 97, 49, - 32, 45, 32, 108, 97, 109, 98, 100, 97, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 103, 110, 32, 61, 32, 100, 101, 108, 116, 97, 32, 62, - 61, 32, 48, 32, 63, 32, 49, 32, 58, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 98, 115, 68, 101, 108, 116, 97, 32, 61, 32, 115, - 105, 103, 110, 32, 42, 32, 100, 101, 108, 116, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 32, - 61, 32, 97, 98, 115, 68, 101, 108, 116, 97, 32, 62, 32, 112, 105, 36, 49, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 115, 105, 110, - 80, 104, 105, 48, 32, 42, 32, 115, 105, 110, 80, 104, 105, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 109, 46, 97, 100, 100, 40, 97, 116, 97, 110, 50, - 36, 49, 40, 107, 32, 42, 32, 115, 105, 103, 110, 32, 42, 32, 115, 105, 110, 36, 49, 40, 97, 98, 115, - 68, 101, 108, 116, 97, 41, 44, 32, 99, 111, 115, 80, 104, 105, 48, 32, 42, 32, 99, 111, 115, 80, 104, - 105, 49, 32, 43, 32, 107, 32, 42, 32, 99, 111, 115, 36, 49, 40, 97, 98, 115, 68, 101, 108, 116, 97, - 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 110, - 103, 108, 101, 32, 43, 61, 32, 97, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 32, 63, 32, 100, - 101, 108, 116, 97, 32, 43, 32, 115, 105, 103, 110, 32, 42, 32, 116, 97, 117, 36, 49, 32, 58, 32, 100, - 101, 108, 116, 97, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 47, 47, 32, 65, 114, 101, 32, 116, 104, 101, 32, 108, 111, 110, 103, 105, 116, 117, 100, 101, 115, 32, 101, - 105, 116, 104, 101, 114, 32, 115, 105, 100, 101, 32, 111, 102, 32, 116, 104, 101, 32, 112, 111, 105, 110, 116, - 226, 128, 153, 115, 32, 109, 101, 114, 105, 100, 105, 97, 110, 32, 40, 108, 97, 109, 98, 100, 97, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 97, 110, 100, - 32, 97, 114, 101, 32, 116, 104, 101, 32, 108, 97, 116, 105, 116, 117, 100, 101, 115, 32, 115, 109, 97, 108, - 108, 101, 114, 32, 116, 104, 97, 110, 32, 116, 104, 101, 32, 112, 97, 114, 97, 108, 108, 101, 108, 32, 40, - 112, 104, 105, 41, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 97, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 32, 94, 32, 108, 97, 109, 98, 100, - 97, 48, 32, 62, 61, 32, 108, 97, 109, 98, 100, 97, 32, 94, 32, 108, 97, 109, 98, 100, 97, 49, 32, - 62, 61, 32, 108, 97, 109, 98, 100, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 114, 99, 32, 61, 32, 99, 97, 114, - 116, 101, 115, 105, 97, 110, 67, 114, 111, 115, 115, 40, 99, 97, 114, 116, 101, 115, 105, 97, 110, 40, 112, - 111, 105, 110, 116, 48, 41, 44, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 40, 112, 111, 105, 110, 116, - 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 78, 111, 114, 109, 97, 108, 105, 122, 101, 73, 110, 80, - 108, 97, 99, 101, 40, 97, 114, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, - 110, 32, 61, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 67, 114, 111, 115, 115, 40, 110, 111, 114, 109, - 97, 108, 44, 32, 97, 114, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 78, 111, 114, 109, 97, 108, 105, - 122, 101, 73, 110, 80, 108, 97, 99, 101, 40, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 112, 104, 105, 65, 114, 99, 32, 61, 32, 40, 97, 110, 116, 105, 109, 101, 114, 105, 100, 105, - 97, 110, 32, 94, 32, 100, 101, 108, 116, 97, 32, 62, 61, 32, 48, 32, 63, 32, 45, 49, 32, 58, 32, - 49, 41, 32, 42, 32, 97, 115, 105, 110, 36, 49, 40, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, - 110, 91, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 112, 104, 105, 32, 62, 32, 112, 104, 105, 65, 114, 99, 32, 124, 124, - 32, 112, 104, 105, 32, 61, 61, 61, 32, 112, 104, 105, 65, 114, 99, 32, 38, 38, 32, 40, 97, 114, 99, - 91, 48, 93, 32, 124, 124, 32, 97, 114, 99, 91, 49, 93, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 105, 110, 100, - 105, 110, 103, 32, 43, 61, 32, 97, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 32, 94, 32, 100, - 101, 108, 116, 97, 32, 62, 61, 32, 48, 32, 63, 32, 49, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 70, 105, 114, 115, 116, 44, 32, 100, 101, 116, 101, 114, 109, 105, 110, 101, 32, 119, 104, - 101, 116, 104, 101, 114, 32, 116, 104, 101, 32, 83, 111, 117, 116, 104, 32, 112, 111, 108, 101, 32, 105, 115, - 32, 105, 110, 115, 105, 100, 101, 32, 111, 114, 32, 111, 117, 116, 115, 105, 100, 101, 58, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 47, 47, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 116, 32, 105, - 115, 32, 105, 110, 115, 105, 100, 101, 32, 105, 102, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, - 32, 42, 32, 116, 104, 101, 32, 112, 111, 108, 121, 103, 111, 110, 32, 119, 105, 110, 100, 115, 32, 97, 114, - 111, 117, 110, 100, 32, 105, 116, 32, 105, 110, 32, 97, 32, 99, 108, 111, 99, 107, 119, 105, 115, 101, 32, - 100, 105, 114, 101, 99, 116, 105, 111, 110, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 42, - 32, 116, 104, 101, 32, 112, 111, 108, 121, 103, 111, 110, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 40, - 99, 117, 109, 117, 108, 97, 116, 105, 118, 101, 108, 121, 41, 32, 119, 105, 110, 100, 32, 97, 114, 111, 117, - 110, 100, 32, 105, 116, 44, 32, 98, 117, 116, 32, 104, 97, 115, 32, 97, 32, 110, 101, 103, 97, 116, 105, - 118, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 32, 32, 40, 99, 111, 117, 110, 116, 101, - 114, 45, 99, 108, 111, 99, 107, 119, 105, 115, 101, 41, 32, 97, 114, 101, 97, 46, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 83, 101, 99, 111, 110, - 100, 44, 32, 99, 111, 117, 110, 116, 32, 116, 104, 101, 32, 40, 115, 105, 103, 110, 101, 100, 41, 32, 110, - 117, 109, 98, 101, 114, 32, 111, 102, 32, 116, 105, 109, 101, 115, 32, 97, 32, 115, 101, 103, 109, 101, 110, - 116, 32, 99, 114, 111, 115, 115, 101, 115, 32, 97, 32, 108, 97, 109, 98, 100, 97, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 112, 111, 105, 110, 116, 32, 116, - 111, 32, 116, 104, 101, 32, 83, 111, 117, 116, 104, 32, 112, 111, 108, 101, 46, 32, 32, 73, 102, 32, 105, - 116, 32, 105, 115, 32, 122, 101, 114, 111, 44, 32, 116, 104, 101, 110, 32, 116, 104, 101, 32, 112, 111, 105, - 110, 116, 32, 105, 115, 32, 116, 104, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 115, 97, - 109, 101, 32, 115, 105, 100, 101, 32, 97, 115, 32, 116, 104, 101, 32, 83, 111, 117, 116, 104, 32, 112, 111, - 108, 101, 46, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 97, 110, - 103, 108, 101, 32, 60, 32, 45, 101, 112, 115, 105, 108, 111, 110, 36, 49, 32, 124, 124, 32, 97, 110, 103, - 108, 101, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 32, 38, 38, 32, 115, 117, 109, 32, 60, - 32, 45, 101, 112, 115, 105, 108, 111, 110, 50, 41, 32, 94, 32, 40, 119, 105, 110, 100, 105, 110, 103, 32, - 38, 32, 49, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 99, 108, 105, 112, 40, 112, 111, 105, 110, 116, 86, 105, 115, 105, 98, 108, 101, 44, 32, 99, - 108, 105, 112, 76, 105, 110, 101, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 44, 32, 115, - 116, 97, 114, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 105, 110, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 105, 110, 101, 32, 61, 32, 99, 108, 105, 112, 76, 105, - 110, 101, 40, 115, 105, 110, 107, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 105, 110, 103, 66, 117, 102, 102, 101, 114, 32, 61, 32, 99, 108, 105, 112, 66, 117, 102, - 102, 101, 114, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 105, 110, 103, 83, 105, 110, 107, 32, 61, 32, 99, 108, 105, 112, 76, 105, 110, 101, 40, 114, 105, 110, - 103, 66, 117, 102, 102, 101, 114, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 101, 100, 32, 61, 32, 102, 97, 108, - 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, - 121, 103, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 101, 103, 109, 101, 110, 116, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 105, 110, 103, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 99, 108, 105, 112, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 112, 111, 105, 110, 116, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 108, - 105, 110, 101, 83, 116, 97, 114, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 108, 105, 110, 101, 69, 110, 100, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, - 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 46, 112, 111, 105, - 110, 116, 32, 61, 32, 112, 111, 105, 110, 116, 82, 105, 110, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 46, 108, 105, 110, 101, 83, - 116, 97, 114, 116, 32, 61, 32, 114, 105, 110, 103, 83, 116, 97, 114, 116, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 46, 108, 105, 110, - 101, 69, 110, 100, 32, 61, 32, 114, 105, 110, 103, 69, 110, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 115, 32, 61, - 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 112, 111, 108, 121, 103, 111, 110, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 108, 105, 112, 46, 112, 111, 105, 110, 116, 32, 61, 32, 112, 111, 105, 110, 116, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, - 105, 112, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 32, 61, 32, 108, 105, 110, 101, 83, 116, 97, 114, - 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 108, 105, 112, 46, 108, 105, 110, 101, 69, 110, 100, 32, 61, 32, 108, 105, 110, 101, 69, 110, 100, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, - 103, 109, 101, 110, 116, 115, 32, 61, 32, 109, 101, 114, 103, 101, 40, 115, 101, 103, 109, 101, 110, 116, 115, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 116, 97, 114, 116, 73, 110, 115, 105, 100, 101, 32, 61, 32, 112, 111, 108, 121, 103, - 111, 110, 67, 111, 110, 116, 97, 105, 110, 115, 40, 112, 111, 108, 121, 103, 111, 110, 44, 32, 115, 116, 97, - 114, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 115, 101, 103, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 33, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 101, 100, 41, - 32, 115, 105, 110, 107, 46, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 40, 41, 44, 32, 112, - 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 101, 100, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 108, 105, 112, 82, 101, 106, 111, 105, 110, 40, 115, 101, 103, 109, 101, 110, 116, 115, 44, 32, 99, 111, - 109, 112, 97, 114, 101, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 44, 32, 115, 116, 97, 114, - 116, 73, 110, 115, 105, 100, 101, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 44, 32, 115, - 105, 110, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 116, 97, 114, 116, 73, 110, 115, 105, - 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, - 116, 101, 100, 41, 32, 115, 105, 110, 107, 46, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 40, - 41, 44, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 101, 100, 32, 61, 32, 116, 114, 117, - 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 105, 110, 107, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 110, 117, 108, 108, 44, 32, 110, 117, 108, 108, 44, - 32, 49, 44, 32, 115, 105, 110, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 107, 46, 108, 105, 110, 101, 69, 110, - 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 101, 100, 41, 32, 115, 105, - 110, 107, 46, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 40, 41, 44, 32, 112, 111, 108, 121, 103, 111, - 110, 83, 116, 97, 114, 116, 101, 100, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 115, - 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 104, 101, 114, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 105, 110, 107, 46, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 40, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, - 110, 107, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, - 101, 40, 110, 117, 108, 108, 44, 32, 110, 117, 108, 108, 44, 32, 49, 44, 32, 115, 105, 110, 107, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, - 110, 107, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 107, 46, 112, 111, 108, 121, 103, 111, 110, - 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 40, 108, - 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 111, 105, 110, 116, 86, 105, 115, 105, 98, 108, 101, - 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 41, 32, 115, 105, 110, 107, 46, 112, 111, 105, - 110, 116, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 76, 105, 110, 101, 40, 108, 97, 109, 98, 100, 97, - 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 105, 110, 101, 46, 112, 111, 105, 110, 116, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, - 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, 83, 116, - 97, 114, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 108, 105, 112, 46, 112, 111, 105, 110, 116, 32, 61, 32, 112, 111, 105, 110, 116, 76, 105, 110, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 46, - 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 108, 105, 110, 101, 69, 110, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 46, 112, 111, 105, 110, 116, 32, 61, 32, 112, 111, - 105, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, - 110, 101, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 112, 111, 105, 110, 116, 82, 105, 110, 103, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, - 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 105, 110, 103, 46, 112, 117, 115, 104, 40, 91, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 93, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 110, 103, 83, - 105, 110, 107, 46, 112, 111, 105, 110, 116, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 105, 110, 103, 83, 116, 97, 114, 116, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, - 110, 103, 83, 105, 110, 107, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 110, 103, 32, 61, 32, 91, 93, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 105, 110, 103, 69, 110, 100, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, - 116, 82, 105, 110, 103, 40, 114, 105, 110, 103, 91, 48, 93, 91, 48, 93, 44, 32, 114, 105, 110, 103, 91, - 48, 93, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 105, 110, 103, 83, 105, 110, 107, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 108, 101, 97, - 110, 32, 61, 32, 114, 105, 110, 103, 83, 105, 110, 107, 46, 99, 108, 101, 97, 110, 40, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 110, 103, - 83, 101, 103, 109, 101, 110, 116, 115, 32, 61, 32, 114, 105, 110, 103, 66, 117, 102, 102, 101, 114, 46, 114, - 101, 115, 117, 108, 116, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 44, 32, 110, 32, 61, 32, 114, 105, 110, 103, 83, 101, 103, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 110, 103, 46, - 112, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 111, 108, 121, 103, 111, 110, 46, 112, 117, 115, 104, 40, 114, 105, 110, 103, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 110, 103, 32, 61, 32, 110, 117, 108, - 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 33, 110, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 78, 111, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, - 111, 110, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 99, 108, 101, 97, 110, 32, 38, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 32, 61, 32, 114, - 105, 110, 103, 83, 101, 103, 109, 101, 110, 116, 115, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 109, 32, 61, 32, 115, - 101, 103, 109, 101, 110, 116, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 41, 32, 62, 32, 48, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 33, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 101, 100, - 41, 32, 115, 105, 110, 107, 46, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 40, 41, 44, 32, - 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 101, 100, 32, 61, 32, 116, 114, 117, 101, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 105, 110, 107, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 109, 59, 32, 43, 43, 105, 41, 32, 115, 105, - 110, 107, 46, 112, 111, 105, 110, 116, 40, 40, 112, 111, 105, 110, 116, 32, 61, 32, 115, 101, 103, 109, 101, - 110, 116, 91, 105, 93, 41, 91, 48, 93, 44, 32, 112, 111, 105, 110, 116, 91, 49, 93, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 105, 110, 107, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 82, 101, 106, 111, 105, 110, 32, 99, 111, 110, 110, - 101, 99, 116, 101, 100, 32, 115, 101, 103, 109, 101, 110, 116, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 79, 68, 79, 32, 114, 101, 117, 115, 101, 32, - 114, 105, 110, 103, 66, 117, 102, 102, 101, 114, 46, 114, 101, 106, 111, 105, 110, 40, 41, 63, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 32, 62, 32, 49, - 32, 38, 38, 32, 99, 108, 101, 97, 110, 32, 38, 32, 50, 41, 32, 114, 105, 110, 103, 83, 101, 103, 109, - 101, 110, 116, 115, 46, 112, 117, 115, 104, 40, 114, 105, 110, 103, 83, 101, 103, 109, 101, 110, 116, 115, 46, - 112, 111, 112, 40, 41, 46, 99, 111, 110, 99, 97, 116, 40, 114, 105, 110, 103, 83, 101, 103, 109, 101, 110, - 116, 115, 46, 115, 104, 105, 102, 116, 40, 41, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 115, 46, 112, 117, 115, 104, 40, 114, - 105, 110, 103, 83, 101, 103, 109, 101, 110, 116, 115, 46, 102, 105, 108, 116, 101, 114, 40, 118, 97, 108, 105, - 100, 83, 101, 103, 109, 101, 110, 116, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 99, 108, 105, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 118, 97, 108, 105, 100, 83, 101, 103, 109, - 101, 110, 116, 40, 115, 101, 103, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 115, 101, 103, 109, 101, 110, 116, 46, 108, 101, 110, 103, 116, 104, 32, 62, - 32, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 73, 110, 116, 101, 114, 115, 101, 99, 116, - 105, 111, 110, 115, 32, 97, 114, 101, 32, 115, 111, 114, 116, 101, 100, 32, 97, 108, 111, 110, 103, 32, 116, - 104, 101, 32, 99, 108, 105, 112, 32, 101, 100, 103, 101, 46, 32, 70, 111, 114, 32, 98, 111, 116, 104, 32, - 97, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 32, 99, 117, 116, 116, 105, 110, 103, 10, 47, 47, - 32, 97, 110, 100, 32, 99, 105, 114, 99, 108, 101, 32, 99, 108, 105, 112, 112, 105, 110, 103, 44, 32, 116, - 104, 101, 32, 115, 97, 109, 101, 32, 99, 111, 109, 112, 97, 114, 105, 115, 111, 110, 32, 105, 115, 32, 117, - 115, 101, 100, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 109, 112, 97, - 114, 101, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 40, 97, 44, 32, 98, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 40, 97, 32, 61, 32, 97, 46, - 120, 41, 91, 48, 93, 32, 60, 32, 48, 32, 63, 32, 97, 91, 49, 93, 32, 45, 32, 104, 97, 108, 102, - 80, 105, 36, 49, 32, 45, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 32, 58, 32, 104, 97, 108, 102, - 80, 105, 36, 49, 32, 45, 32, 97, 91, 49, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 45, 32, 40, 40, 98, 32, 61, 32, 98, 46, 120, 41, 91, 48, 93, 32, 60, 32, 48, 32, 63, - 32, 98, 91, 49, 93, 32, 45, 32, 104, 97, 108, 102, 80, 105, 36, 49, 32, 45, 32, 101, 112, 115, 105, - 108, 111, 110, 36, 49, 32, 58, 32, 104, 97, 108, 102, 80, 105, 36, 49, 32, 45, 32, 98, 91, 49, 93, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 108, 105, 112, 65, - 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 32, 61, 32, 99, 108, 105, 112, 40, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 114, 101, 116, 117, 114, - 110, 32, 116, 114, 117, 101, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, - 65, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 76, 105, 110, 101, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 108, 105, 112, 65, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 73, 110, 116, 101, - 114, 112, 111, 108, 97, 116, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 45, 112, 105, 36, 49, - 44, 32, 45, 104, 97, 108, 102, 80, 105, 36, 49, 93, 10, 32, 32, 32, 32, 41, 59, 10, 10, 47, 47, - 32, 84, 97, 107, 101, 115, 32, 97, 32, 108, 105, 110, 101, 32, 97, 110, 100, 32, 99, 117, 116, 115, 32, - 105, 110, 116, 111, 32, 118, 105, 115, 105, 98, 108, 101, 32, 115, 101, 103, 109, 101, 110, 116, 115, 46, 32, - 82, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 115, 58, 32, 48, 32, 45, 32, 116, 104, 101, 114, - 101, 32, 119, 101, 114, 101, 10, 47, 47, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 115, - 32, 111, 114, 32, 116, 104, 101, 32, 108, 105, 110, 101, 32, 119, 97, 115, 32, 101, 109, 112, 116, 121, 59, - 32, 49, 32, 45, 32, 110, 111, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 115, 59, 32, - 50, 32, 45, 32, 116, 104, 101, 114, 101, 32, 119, 101, 114, 101, 10, 47, 47, 32, 105, 110, 116, 101, 114, - 115, 101, 99, 116, 105, 111, 110, 115, 44, 32, 97, 110, 100, 32, 116, 104, 101, 32, 102, 105, 114, 115, 116, - 32, 97, 110, 100, 32, 108, 97, 115, 116, 32, 115, 101, 103, 109, 101, 110, 116, 115, 32, 115, 104, 111, 117, - 108, 100, 32, 98, 101, 32, 114, 101, 106, 111, 105, 110, 101, 100, 46, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 99, 108, 105, 112, 65, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 76, - 105, 110, 101, 40, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 108, 97, 109, 98, 100, 97, 48, 32, 61, 32, 78, 97, 78, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 48, 32, 61, 32, 78, 97, 78, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 103, 110, 48, 32, 61, 32, 78, 97, 78, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 101, 97, 110, 59, 32, 47, 47, 32, 110, 111, 32, - 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 115, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, - 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, - 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 108, 101, 97, 110, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, - 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 108, 97, 109, 98, 100, 97, 49, 44, 32, 112, - 104, 105, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 105, 103, 110, 49, 32, 61, 32, 108, 97, 109, 98, 100, 97, 49, 32, 62, 32, 48, - 32, 63, 32, 112, 105, 36, 49, 32, 58, 32, 45, 112, 105, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 116, 97, 32, 61, 32, 97, - 98, 115, 36, 49, 40, 108, 97, 109, 98, 100, 97, 49, 32, 45, 32, 108, 97, 109, 98, 100, 97, 48, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, - 98, 115, 36, 49, 40, 100, 101, 108, 116, 97, 32, 45, 32, 112, 105, 36, 49, 41, 32, 60, 32, 101, 112, - 115, 105, 108, 111, 110, 36, 49, 41, 32, 123, 32, 47, 47, 32, 108, 105, 110, 101, 32, 99, 114, 111, 115, - 115, 101, 115, 32, 97, 32, 112, 111, 108, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 108, 97, - 109, 98, 100, 97, 48, 44, 32, 112, 104, 105, 48, 32, 61, 32, 40, 112, 104, 105, 48, 32, 43, 32, 112, - 104, 105, 49, 41, 32, 47, 32, 50, 32, 62, 32, 48, 32, 63, 32, 104, 97, 108, 102, 80, 105, 36, 49, - 32, 58, 32, 45, 104, 97, 108, 102, 80, 105, 36, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, - 116, 40, 115, 105, 103, 110, 48, 44, 32, 112, 104, 105, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, - 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 115, 105, 103, 110, 49, 44, 32, 112, 104, 105, 48, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 108, 97, 109, 98, 100, 97, 49, 44, 32, 112, - 104, 105, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 108, 101, 97, 110, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 105, 103, 110, 48, - 32, 33, 61, 61, 32, 115, 105, 103, 110, 49, 32, 38, 38, 32, 100, 101, 108, 116, 97, 32, 62, 61, 32, - 112, 105, 36, 49, 41, 32, 123, 32, 47, 47, 32, 108, 105, 110, 101, 32, 99, 114, 111, 115, 115, 101, 115, - 32, 97, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 98, 115, 36, 49, 40, 108, 97, - 109, 98, 100, 97, 48, 32, 45, 32, 115, 105, 103, 110, 48, 41, 32, 60, 32, 101, 112, 115, 105, 108, 111, - 110, 36, 49, 41, 32, 108, 97, 109, 98, 100, 97, 48, 32, 45, 61, 32, 115, 105, 103, 110, 48, 32, 42, - 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 59, 32, 47, 47, 32, 104, 97, 110, 100, 108, 101, 32, 100, - 101, 103, 101, 110, 101, 114, 97, 99, 105, 101, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 98, 115, 36, 49, 40, 108, 97, 109, 98, - 100, 97, 49, 32, 45, 32, 115, 105, 103, 110, 49, 41, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 36, - 49, 41, 32, 108, 97, 109, 98, 100, 97, 49, 32, 45, 61, 32, 115, 105, 103, 110, 49, 32, 42, 32, 101, - 112, 115, 105, 108, 111, 110, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 48, 32, 61, 32, 99, 108, 105, 112, 65, 110, 116, 105, 109, - 101, 114, 105, 100, 105, 97, 110, 73, 110, 116, 101, 114, 115, 101, 99, 116, 40, 108, 97, 109, 98, 100, 97, - 48, 44, 32, 112, 104, 105, 48, 44, 32, 108, 97, 109, 98, 100, 97, 49, 44, 32, 112, 104, 105, 49, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 115, 105, 103, 110, 48, 44, 32, 112, 104, 105, 48, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, - 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 115, - 105, 103, 110, 49, 44, 32, 112, 104, 105, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 101, 97, 110, 32, 61, 32, 48, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 108, - 97, 109, 98, 100, 97, 48, 32, 61, 32, 108, 97, 109, 98, 100, 97, 49, 44, 32, 112, 104, 105, 48, 32, - 61, 32, 112, 104, 105, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 105, 103, 110, 48, 32, 61, 32, 115, 105, 103, 110, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, - 110, 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, - 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 97, 109, 98, 100, 97, 48, 32, 61, 32, 112, 104, 105, 48, 32, 61, 32, 78, 97, 78, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 108, 101, 97, 110, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 50, 32, 45, 32, 99, 108, 101, 97, 110, 59, 32, 47, 47, 32, 105, 102, 32, 105, 110, 116, 101, 114, - 115, 101, 99, 116, 105, 111, 110, 115, 44, 32, 114, 101, 106, 111, 105, 110, 32, 102, 105, 114, 115, 116, 32, - 97, 110, 100, 32, 108, 97, 115, 116, 32, 115, 101, 103, 109, 101, 110, 116, 115, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, 105, 112, 65, 110, - 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 73, 110, 116, 101, 114, 115, 101, 99, 116, 40, 108, 97, 109, - 98, 100, 97, 48, 44, 32, 112, 104, 105, 48, 44, 32, 108, 97, 109, 98, 100, 97, 49, 44, 32, 112, 104, - 105, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 115, 80, 104, - 105, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 115, 80, 104, 105, 49, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 76, 97, 109, 98, 100, 97, - 48, 76, 97, 109, 98, 100, 97, 49, 32, 61, 32, 115, 105, 110, 36, 49, 40, 108, 97, 109, 98, 100, 97, - 48, 32, 45, 32, 108, 97, 109, 98, 100, 97, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 98, 115, 36, 49, 40, 115, 105, 110, 76, 97, 109, 98, 100, 97, 48, 76, - 97, 109, 98, 100, 97, 49, 41, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 97, 116, 97, 110, 40, 40, 115, 105, 110, 36, 49, 40, - 112, 104, 105, 48, 41, 32, 42, 32, 40, 99, 111, 115, 80, 104, 105, 49, 32, 61, 32, 99, 111, 115, 36, - 49, 40, 112, 104, 105, 49, 41, 41, 32, 42, 32, 115, 105, 110, 36, 49, 40, 108, 97, 109, 98, 100, 97, - 49, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 32, 115, 105, - 110, 36, 49, 40, 112, 104, 105, 49, 41, 32, 42, 32, 40, 99, 111, 115, 80, 104, 105, 48, 32, 61, 32, - 99, 111, 115, 36, 49, 40, 112, 104, 105, 48, 41, 41, 32, 42, 32, 115, 105, 110, 36, 49, 40, 108, 97, - 109, 98, 100, 97, 48, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 32, 40, 99, 111, 115, 80, 104, 105, 48, 32, 42, 32, 99, 111, 115, 80, 104, 105, 49, 32, 42, - 32, 115, 105, 110, 76, 97, 109, 98, 100, 97, 48, 76, 97, 109, 98, 100, 97, 49, 41, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 40, 112, 104, 105, 48, 32, 43, 32, 112, 104, 105, - 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 99, 108, 105, 112, 65, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 73, 110, - 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 102, 114, 111, 109, 44, 32, 116, 111, 44, 32, 100, 105, 114, - 101, 99, 116, 105, 111, 110, 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 112, 104, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 102, 114, 111, 109, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 104, 105, 32, 61, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 32, 42, - 32, 104, 97, 108, 102, 80, 105, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 45, 112, 105, 36, 49, 44, 32, 112, 104, 105, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, - 111, 105, 110, 116, 40, 48, 44, 32, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 112, 105, 36, 49, 44, 32, 112, - 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, - 46, 112, 111, 105, 110, 116, 40, 112, 105, 36, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 112, 105, 36, 49, - 44, 32, 45, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, - 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 48, 44, 32, 45, 112, 104, 105, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, - 45, 112, 105, 36, 49, 44, 32, 45, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 45, 112, 105, 36, 49, 44, 32, - 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, - 112, 111, 105, 110, 116, 40, 45, 112, 105, 36, 49, 44, 32, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 97, 98, 115, 36, 49, 40, 102, 114, - 111, 109, 91, 48, 93, 32, 45, 32, 116, 111, 91, 48, 93, 41, 32, 62, 32, 101, 112, 115, 105, 108, 111, - 110, 36, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 108, 97, 109, 98, 100, 97, 32, 61, 32, 102, 114, 111, 109, 91, 48, 93, 32, 60, 32, 116, 111, 91, 48, - 93, 32, 63, 32, 112, 105, 36, 49, 32, 58, 32, 45, 112, 105, 36, 49, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 32, 61, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 32, - 42, 32, 108, 97, 109, 98, 100, 97, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 45, 108, 97, 109, 98, 100, 97, - 44, 32, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, - 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 48, 44, 32, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 108, 97, - 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, - 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, - 109, 46, 112, 111, 105, 110, 116, 40, 116, 111, 91, 48, 93, 44, 32, 116, 111, 91, 49, 93, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 99, 108, 105, 112, 67, 105, 114, 99, 108, 101, 40, 114, 97, 100, 105, 117, - 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 114, 32, 61, 32, 99, - 111, 115, 36, 49, 40, 114, 97, 100, 105, 117, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 101, 108, 116, 97, 32, 61, 32, 54, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 109, 97, 108, 108, 82, 97, 100, 105, 117, - 115, 32, 61, 32, 99, 114, 32, 62, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 111, 116, 72, 101, 109, 105, 115, 112, 104, 101, 114, 101, 32, 61, 32, 97, 98, 115, 36, 49, 40, - 99, 114, 41, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 59, 32, 47, 47, 32, 84, 79, 68, - 79, 32, 111, 112, 116, 105, 109, 105, 115, 101, 32, 102, 111, 114, 32, 116, 104, 105, 115, 32, 99, 111, 109, - 109, 111, 110, 32, 99, 97, 115, 101, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 102, 114, 111, 109, 44, 32, 116, - 111, 44, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 105, 114, 99, 108, 101, 83, 116, 114, 101, - 97, 109, 40, 115, 116, 114, 101, 97, 109, 44, 32, 114, 97, 100, 105, 117, 115, 44, 32, 100, 101, 108, 116, - 97, 44, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 44, 32, 102, 114, 111, 109, 44, 32, 116, 111, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 118, 105, 115, 105, 98, 108, 101, 40, 108, 97, 109, 98, 100, 97, 44, 32, - 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 99, 111, 115, 36, 49, 40, 108, 97, 109, 98, 100, 97, 41, 32, 42, 32, 99, 111, 115, 36, - 49, 40, 112, 104, 105, 41, 32, 62, 32, 99, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 97, 107, 101, 115, 32, 97, 32, 108, 105, 110, - 101, 32, 97, 110, 100, 32, 99, 117, 116, 115, 32, 105, 110, 116, 111, 32, 118, 105, 115, 105, 98, 108, 101, - 32, 115, 101, 103, 109, 101, 110, 116, 115, 46, 32, 82, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, - 115, 32, 117, 115, 101, 100, 32, 102, 111, 114, 32, 112, 111, 108, 121, 103, 111, 110, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 99, 108, 105, 112, 112, 105, 110, 103, 58, 32, 48, 32, 45, 32, 116, 104, - 101, 114, 101, 32, 119, 101, 114, 101, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 115, 32, - 111, 114, 32, 116, 104, 101, 32, 108, 105, 110, 101, 32, 119, 97, 115, 32, 101, 109, 112, 116, 121, 59, 32, - 49, 32, 45, 32, 110, 111, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 105, 110, 116, 101, 114, - 115, 101, 99, 116, 105, 111, 110, 115, 32, 50, 32, 45, 32, 116, 104, 101, 114, 101, 32, 119, 101, 114, 101, - 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 115, 44, 32, 97, 110, 100, 32, 116, 104, 101, - 32, 102, 105, 114, 115, 116, 32, 97, 110, 100, 32, 108, 97, 115, 116, 32, 115, 101, 103, 109, 101, 110, 116, - 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 115, 104, 111, 117, 108, 100, 32, 98, 101, 32, - 114, 101, 106, 111, 105, 110, 101, 100, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 99, 108, 105, 112, 76, 105, 110, 101, 40, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 111, 105, 110, 116, 48, 44, - 32, 47, 47, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 112, 111, 105, 110, 116, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 48, 44, 32, 47, 47, 32, 99, 111, 100, 101, - 32, 102, 111, 114, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 112, 111, 105, 110, 116, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 48, 44, 32, 47, 47, 32, 118, 105, 115, - 105, 98, 105, 108, 105, 116, 121, 32, 111, 102, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 112, 111, 105, - 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 48, 48, 44, - 32, 47, 47, 32, 118, 105, 115, 105, 98, 105, 108, 105, 116, 121, 32, 111, 102, 32, 102, 105, 114, 115, 116, - 32, 112, 111, 105, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 108, 101, 97, 110, 59, 32, 47, 47, 32, 110, 111, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, - 111, 110, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, - 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 48, 48, 32, 61, 32, 118, - 48, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 101, 97, 110, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 111, 105, 110, 116, 49, - 32, 61, 32, 91, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 93, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, - 116, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 32, 61, 32, 118, 105, 115, 105, 98, 108, 101, 40, 108, 97, 109, 98, 100, 97, - 44, 32, 112, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 115, 109, 97, 108, 108, 82, 97, 100, 105, 117, - 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 63, 32, 118, 32, 63, 32, 48, 32, 58, 32, 99, 111, 100, 101, 40, 108, - 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 118, 32, 63, 32, - 99, 111, 100, 101, 40, 108, 97, 109, 98, 100, 97, 32, 43, 32, 40, 108, 97, 109, 98, 100, 97, 32, 60, - 32, 48, 32, 63, 32, 112, 105, 36, 49, 32, 58, 32, 45, 112, 105, 36, 49, 41, 44, 32, 112, 104, 105, - 41, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 33, 112, 111, 105, 110, 116, 48, 32, 38, 38, 32, 40, 118, 48, 48, - 32, 61, 32, 118, 48, 32, 61, 32, 118, 41, 41, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, - 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 32, 33, 61, 61, 32, 118, 48, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 111, 105, 110, 116, 50, 32, 61, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 40, 112, 111, 105, 110, - 116, 48, 44, 32, 112, 111, 105, 110, 116, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 112, 111, 105, 110, - 116, 50, 32, 124, 124, 32, 112, 111, 105, 110, 116, 69, 113, 117, 97, 108, 40, 112, 111, 105, 110, 116, 48, - 44, 32, 112, 111, 105, 110, 116, 50, 41, 32, 124, 124, 32, 112, 111, 105, 110, 116, 69, 113, 117, 97, 108, - 40, 112, 111, 105, 110, 116, 49, 44, 32, 112, 111, 105, 110, 116, 50, 41, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 111, 105, 110, 116, 49, 91, 50, 93, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 32, 33, 61, 61, 32, 118, 48, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 108, 101, 97, 110, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 111, 117, 116, 115, 105, 100, 101, 32, 103, 111, 105, 110, - 103, 32, 105, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, - 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 50, 32, 61, 32, 105, 110, - 116, 101, 114, 115, 101, 99, 116, 40, 112, 111, 105, 110, 116, 49, 44, 32, 112, 111, 105, 110, 116, 48, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 112, 111, 105, - 110, 116, 50, 91, 48, 93, 44, 32, 112, 111, 105, 110, 116, 50, 91, 49, 93, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, - 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 105, 110, 115, 105, 100, 101, 32, 103, - 111, 105, 110, 103, 32, 111, 117, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 50, 32, 61, 32, - 105, 110, 116, 101, 114, 115, 101, 99, 116, 40, 112, 111, 105, 110, 116, 48, 44, 32, 112, 111, 105, 110, 116, - 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 112, - 111, 105, 110, 116, 50, 91, 48, 93, 44, 32, 112, 111, 105, 110, 116, 50, 91, 49, 93, 44, 32, 50, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 48, 32, 61, 32, 112, 111, 105, 110, 116, 50, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, - 108, 115, 101, 32, 105, 102, 32, 40, 110, 111, 116, 72, 101, 109, 105, 115, 112, 104, 101, 114, 101, 32, 38, - 38, 32, 112, 111, 105, 110, 116, 48, 32, 38, 38, 32, 115, 109, 97, 108, 108, 82, 97, 100, 105, 117, 115, - 32, 94, 32, 118, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, - 116, 104, 101, 32, 99, 111, 100, 101, 115, 32, 102, 111, 114, 32, 116, 119, 111, 32, 112, 111, 105, 110, 116, - 115, 32, 97, 114, 101, 32, 100, 105, 102, 102, 101, 114, 101, 110, 116, 44, 32, 111, 114, 32, 97, 114, 101, - 32, 98, 111, 116, 104, 32, 122, 101, 114, 111, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 97, 110, 100, 32, 116, 104, 101, - 114, 101, 32, 116, 104, 105, 115, 32, 115, 101, 103, 109, 101, 110, 116, 32, 105, 110, 116, 101, 114, 115, 101, - 99, 116, 115, 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 115, 109, 97, 108, 108, 32, 99, 105, 114, 99, - 108, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 99, 32, 38, 32, 99, 48, 41, 32, 38, 38, 32, 40, - 116, 32, 61, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 40, 112, 111, 105, 110, 116, 49, 44, 32, 112, - 111, 105, 110, 116, 48, 44, 32, 116, 114, 117, 101, 41, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 108, 101, 97, 110, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 109, 97, 108, - 108, 82, 97, 100, 105, 117, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, - 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 116, 91, 48, 93, 91, 48, 93, - 44, 32, 116, 91, 48, 93, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, - 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 116, 91, 49, 93, 91, 48, 93, 44, 32, 116, 91, 49, - 93, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, - 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, - 40, 116, 91, 49, 93, 91, 48, 93, 44, 32, 116, 91, 49, 93, 91, 49, 93, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, - 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, - 112, 111, 105, 110, 116, 40, 116, 91, 48, 93, 91, 48, 93, 44, 32, 116, 91, 48, 93, 91, 49, 93, 44, - 32, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 32, 38, 38, 32, 40, 33, 112, - 111, 105, 110, 116, 48, 32, 124, 124, 32, 33, 112, 111, 105, 110, 116, 69, 113, 117, 97, 108, 40, 112, 111, - 105, 110, 116, 48, 44, 32, 112, 111, 105, 110, 116, 49, 41, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, - 97, 109, 46, 112, 111, 105, 110, 116, 40, 112, 111, 105, 110, 116, 49, 91, 48, 93, 44, 32, 112, 111, 105, - 110, 116, 49, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 48, 32, 61, 32, 112, 111, 105, 110, 116, 49, 44, 32, 118, - 48, 32, 61, 32, 118, 44, 32, 99, 48, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 118, 48, 41, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 69, 110, 100, 40, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 111, 105, 110, 116, 48, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 82, 101, 106, 111, 105, 110, 32, 102, 105, 114, 115, 116, 32, 97, 110, 100, - 32, 108, 97, 115, 116, 32, 115, 101, 103, 109, 101, 110, 116, 115, 32, 105, 102, 32, 116, 104, 101, 114, 101, - 32, 119, 101, 114, 101, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 115, 32, 97, 110, 100, - 32, 116, 104, 101, 32, 102, 105, 114, 115, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 97, 110, 100, 32, 108, 97, 115, 116, 32, 112, 111, 105, 110, 116, 115, 32, - 119, 101, 114, 101, 32, 118, 105, 115, 105, 98, 108, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 108, 101, 97, 110, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 99, 108, 101, 97, 110, 32, 124, 32, 40, 40, 118, 48, 48, 32, 38, - 38, 32, 118, 48, 41, 32, 60, 60, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, - 110, 116, 101, 114, 115, 101, 99, 116, 115, 32, 116, 104, 101, 32, 103, 114, 101, 97, 116, 32, 99, 105, 114, - 99, 108, 101, 32, 98, 101, 116, 119, 101, 101, 110, 32, 97, 32, 97, 110, 100, 32, 98, 32, 119, 105, 116, - 104, 32, 116, 104, 101, 32, 99, 108, 105, 112, 32, 99, 105, 114, 99, 108, 101, 46, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 40, - 97, 44, 32, 98, 44, 32, 116, 119, 111, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 112, 97, 32, 61, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 40, 97, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 98, 32, 61, 32, - 99, 97, 114, 116, 101, 115, 105, 97, 110, 40, 98, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 87, 101, 32, 104, 97, 118, 101, 32, 116, 119, 111, 32, 112, 108, 97, 110, - 101, 115, 44, 32, 110, 49, 46, 112, 32, 61, 32, 100, 49, 32, 97, 110, 100, 32, 110, 50, 46, 112, 32, - 61, 32, 100, 50, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 70, 105, - 110, 100, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, 32, 112, 40, - 116, 41, 32, 61, 32, 99, 49, 32, 110, 49, 32, 43, 32, 99, 50, 32, 110, 50, 32, 43, 32, 116, 32, - 40, 110, 49, 32, 226, 168, 175, 32, 110, 50, 41, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 110, 49, 32, 61, 32, 91, 49, 44, 32, 48, 44, 32, 48, 93, 44, 32, 47, - 47, 32, 110, 111, 114, 109, 97, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 50, 32, 61, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 67, 114, 111, 115, 115, 40, 112, - 97, 44, 32, 112, 98, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 50, 110, 50, 32, 61, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 68, 111, 116, 40, 110, 50, - 44, 32, 110, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 110, 49, 110, 50, 32, 61, 32, 110, 50, 91, 48, 93, 44, 32, 47, 47, 32, 99, 97, 114, 116, 101, 115, - 105, 97, 110, 68, 111, 116, 40, 110, 49, 44, 32, 110, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 116, 101, 114, 109, 105, 110, 97, 110, 116, 32, 61, 32, - 110, 50, 110, 50, 32, 45, 32, 110, 49, 110, 50, 32, 42, 32, 110, 49, 110, 50, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 119, 111, 32, 112, 111, 108, 97, 114, 32, - 112, 111, 105, 110, 116, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 33, 100, 101, 116, 101, 114, 109, 105, 110, 97, 110, 116, 41, 32, 114, 101, 116, 117, 114, 110, 32, 33, - 116, 119, 111, 32, 38, 38, 32, 97, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 99, 49, 32, 61, 32, 32, 99, 114, 32, 42, 32, 110, 50, 110, 50, 32, 47, 32, 100, - 101, 116, 101, 114, 109, 105, 110, 97, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 50, 32, 61, 32, 45, 99, 114, 32, 42, 32, 110, 49, 110, 50, 32, 47, 32, - 100, 101, 116, 101, 114, 109, 105, 110, 97, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 49, 120, 110, 50, 32, 61, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, - 67, 114, 111, 115, 115, 40, 110, 49, 44, 32, 110, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 65, 32, 61, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 83, 99, - 97, 108, 101, 40, 110, 49, 44, 32, 99, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 66, 32, 61, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 83, 99, 97, 108, - 101, 40, 110, 50, 44, 32, 99, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 97, 114, 116, 101, 115, 105, 97, 110, 65, 100, 100, 73, 110, 80, 108, 97, 99, 101, 40, 65, 44, 32, - 66, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 83, 111, 108, - 118, 101, 32, 124, 112, 40, 116, 41, 124, 94, 50, 32, 61, 32, 49, 46, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 117, 32, 61, 32, 110, 49, 120, 110, 50, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 32, 61, 32, 99, 97, 114, 116, 101, - 115, 105, 97, 110, 68, 111, 116, 40, 65, 44, 32, 117, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 117, 117, 32, 61, 32, 99, 97, 114, 116, 101, 115, 105, 97, 110, 68, - 111, 116, 40, 117, 44, 32, 117, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 50, 32, 61, 32, 119, 32, 42, 32, 119, 32, 45, 32, 117, 117, 32, 42, 32, 40, 99, - 97, 114, 116, 101, 115, 105, 97, 110, 68, 111, 116, 40, 65, 44, 32, 65, 41, 32, 45, 32, 49, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 50, 32, 60, 32, - 48, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 116, 32, 61, 32, 115, 113, 114, 116, 36, 50, 40, 116, 50, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 99, 97, 114, 116, 101, - 115, 105, 97, 110, 83, 99, 97, 108, 101, 40, 117, 44, 32, 40, 45, 119, 32, 45, 32, 116, 41, 32, 47, - 32, 117, 117, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 114, 116, 101, - 115, 105, 97, 110, 65, 100, 100, 73, 110, 80, 108, 97, 99, 101, 40, 113, 44, 32, 65, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 115, 112, 104, 101, 114, 105, 99, 97, - 108, 40, 113, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 116, 119, 111, 41, 32, 114, 101, 116, 117, 114, 110, 32, 113, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 119, 111, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, - 111, 110, 32, 112, 111, 105, 110, 116, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 108, 97, 109, 98, 100, 97, 48, 32, 61, 32, 97, 91, 48, 93, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 49, 32, 61, 32, - 98, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 104, 105, 48, 32, 61, 32, 97, 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 104, 105, 49, 32, 61, 32, 98, 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 108, 97, 109, 98, 100, 97, 49, 32, 60, 32, 108, 97, 109, 98, 100, - 97, 48, 41, 32, 122, 32, 61, 32, 108, 97, 109, 98, 100, 97, 48, 44, 32, 108, 97, 109, 98, 100, 97, - 48, 32, 61, 32, 108, 97, 109, 98, 100, 97, 49, 44, 32, 108, 97, 109, 98, 100, 97, 49, 32, 61, 32, - 122, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 101, 108, - 116, 97, 32, 61, 32, 108, 97, 109, 98, 100, 97, 49, 32, 45, 32, 108, 97, 109, 98, 100, 97, 48, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 97, 114, 32, - 61, 32, 97, 98, 115, 36, 49, 40, 100, 101, 108, 116, 97, 32, 45, 32, 112, 105, 36, 49, 41, 32, 60, - 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 109, 101, 114, 105, 100, 105, 97, 110, 32, 61, 32, 112, 111, 108, 97, 114, 32, 124, - 124, 32, 100, 101, 108, 116, 97, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 112, 111, 108, 97, 114, 32, 38, - 38, 32, 112, 104, 105, 49, 32, 60, 32, 112, 104, 105, 48, 41, 32, 122, 32, 61, 32, 112, 104, 105, 48, - 44, 32, 112, 104, 105, 48, 32, 61, 32, 112, 104, 105, 49, 44, 32, 112, 104, 105, 49, 32, 61, 32, 122, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 104, 101, 99, 107, - 32, 116, 104, 97, 116, 32, 116, 104, 101, 32, 102, 105, 114, 115, 116, 32, 112, 111, 105, 110, 116, 32, 105, - 115, 32, 98, 101, 116, 119, 101, 101, 110, 32, 97, 32, 97, 110, 100, 32, 98, 46, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 101, 114, 105, 100, 105, 97, 110, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 112, 111, 108, 97, 114, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 112, 104, - 105, 48, 32, 43, 32, 112, 104, 105, 49, 32, 62, 32, 48, 32, 94, 32, 113, 91, 49, 93, 32, 60, 32, - 40, 97, 98, 115, 36, 49, 40, 113, 91, 48, 93, 32, 45, 32, 108, 97, 109, 98, 100, 97, 48, 41, 32, - 60, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 32, 63, 32, 112, 104, 105, 48, 32, 58, 32, 112, 104, - 105, 49, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 58, 32, 112, 104, 105, 48, 32, 60, 61, 32, 113, 91, 49, 93, 32, 38, 38, 32, 113, 91, 49, 93, - 32, 60, 61, 32, 112, 104, 105, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 58, 32, 100, 101, 108, 116, 97, 32, 62, 32, 112, 105, 36, 49, 32, 94, 32, 40, 108, 97, 109, - 98, 100, 97, 48, 32, 60, 61, 32, 113, 91, 48, 93, 32, 38, 38, 32, 113, 91, 48, 93, 32, 60, 61, - 32, 108, 97, 109, 98, 100, 97, 49, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 113, 49, 32, 61, 32, 99, 97, 114, 116, 101, 115, 105, 97, - 110, 83, 99, 97, 108, 101, 40, 117, 44, 32, 40, 45, 119, 32, 43, 32, 116, 41, 32, 47, 32, 117, 117, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 114, 116, - 101, 115, 105, 97, 110, 65, 100, 100, 73, 110, 80, 108, 97, 99, 101, 40, 113, 49, 44, 32, 65, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 91, 113, 44, 32, 115, 112, 104, 101, 114, 105, 99, 97, 108, 40, 113, 49, 41, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 71, 101, 110, 101, 114, 97, 116, 101, 115, 32, 97, 32, - 52, 45, 98, 105, 116, 32, 118, 101, 99, 116, 111, 114, 32, 114, 101, 112, 114, 101, 115, 101, 110, 116, 105, - 110, 103, 32, 116, 104, 101, 32, 108, 111, 99, 97, 116, 105, 111, 110, 32, 111, 102, 32, 97, 32, 112, 111, - 105, 110, 116, 32, 114, 101, 108, 97, 116, 105, 118, 101, 32, 116, 111, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 116, 104, 101, 32, 115, 109, 97, 108, 108, 32, 99, 105, 114, 99, 108, 101, 39, 115, 32, - 98, 111, 117, 110, 100, 105, 110, 103, 32, 98, 111, 120, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 100, 101, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, - 61, 32, 115, 109, 97, 108, 108, 82, 97, 100, 105, 117, 115, 32, 63, 32, 114, 97, 100, 105, 117, 115, 32, - 58, 32, 112, 105, 36, 49, 32, 45, 32, 114, 97, 100, 105, 117, 115, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 100, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 97, 109, 98, 100, 97, 32, 60, 32, 45, - 114, 41, 32, 99, 111, 100, 101, 32, 124, 61, 32, 49, 59, 32, 47, 47, 32, 108, 101, 102, 116, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 108, 97, 109, - 98, 100, 97, 32, 62, 32, 114, 41, 32, 99, 111, 100, 101, 32, 124, 61, 32, 50, 59, 32, 47, 47, 32, - 114, 105, 103, 104, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, - 104, 105, 32, 60, 32, 45, 114, 41, 32, 99, 111, 100, 101, 32, 124, 61, 32, 52, 59, 32, 47, 47, 32, - 98, 101, 108, 111, 119, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, - 105, 102, 32, 40, 112, 104, 105, 32, 62, 32, 114, 41, 32, 99, 111, 100, 101, 32, 124, 61, 32, 56, 59, - 32, 47, 47, 32, 97, 98, 111, 118, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 99, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 108, 105, 112, 40, 118, 105, 115, - 105, 98, 108, 101, 44, 32, 99, 108, 105, 112, 76, 105, 110, 101, 44, 32, 105, 110, 116, 101, 114, 112, 111, - 108, 97, 116, 101, 44, 32, 115, 109, 97, 108, 108, 82, 97, 100, 105, 117, 115, 32, 63, 32, 91, 48, 44, - 32, 45, 114, 97, 100, 105, 117, 115, 93, 32, 58, 32, 91, 45, 112, 105, 36, 49, 44, 32, 114, 97, 100, - 105, 117, 115, 32, 45, 32, 112, 105, 36, 49, 93, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, 105, 112, 76, 105, 110, 101, 40, 97, 44, 32, - 98, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 120, 32, 61, 32, 97, 91, 48, 93, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 121, 32, 61, 32, 97, 91, 49, 93, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 120, 32, 61, 32, 98, 91, 48, 93, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 121, 32, 61, 32, 98, 91, 49, 93, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 48, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 49, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 120, 32, 61, 32, 98, 120, 32, 45, 32, 97, 120, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 98, 121, 32, 45, 32, 97, 121, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 32, 61, 32, 120, 48, 32, 45, 32, 97, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 33, 100, 120, 32, 38, 38, 32, 114, 32, 62, 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 47, 61, 32, 100, 120, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 100, 120, 32, 60, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 60, 32, 116, 48, 41, 32, 114, 101, 116, 117, 114, 110, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 60, 32, 116, - 49, 41, 32, 116, 49, 32, 61, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, - 115, 101, 32, 105, 102, 32, 40, 100, 120, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 62, 32, 116, 49, 41, 32, 114, 101, 116, 117, 114, - 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 62, 32, - 116, 48, 41, 32, 116, 48, 32, 61, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 120, 49, 32, 45, 32, 97, 120, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 100, 120, 32, 38, 38, 32, 114, 32, 60, 32, 48, 41, - 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 47, 61, 32, 100, - 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 120, 32, 60, 32, 48, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 62, 32, 116, - 49, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 114, 32, 62, 32, 116, 48, 41, 32, 116, 48, 32, 61, 32, 114, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 100, 120, 32, 62, 32, 48, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 60, 32, - 116, 48, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 114, 32, 60, 32, 116, 49, 41, 32, 116, 49, 32, 61, 32, 114, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 121, 48, - 32, 45, 32, 97, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 100, 121, 32, - 38, 38, 32, 114, 32, 62, 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 32, 47, 61, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 100, 121, 32, 60, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 114, 32, 60, 32, 116, 48, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 60, 32, 116, 49, 41, 32, 116, 49, - 32, 61, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, - 32, 40, 100, 121, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 114, 32, 62, 32, 116, 49, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 62, 32, 116, 48, 41, 32, 116, - 48, 32, 61, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 32, 61, 32, 121, 49, 32, 45, 32, 97, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 33, 100, 121, 32, 38, 38, 32, 114, 32, 60, 32, 48, 41, 32, 114, 101, 116, 117, - 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 47, 61, 32, 100, 121, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 121, 32, 60, 32, 48, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 62, 32, 116, 49, 41, 32, 114, 101, - 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, - 32, 62, 32, 116, 48, 41, 32, 116, 48, 32, 61, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 100, 121, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 60, 32, 116, 48, 41, 32, 114, - 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 114, 32, 60, 32, 116, 49, 41, 32, 116, 49, 32, 61, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 48, 32, 62, 32, 48, 41, - 32, 97, 91, 48, 93, 32, 61, 32, 97, 120, 32, 43, 32, 116, 48, 32, 42, 32, 100, 120, 44, 32, 97, - 91, 49, 93, 32, 61, 32, 97, 121, 32, 43, 32, 116, 48, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 49, 32, 60, 32, 49, 41, 32, 98, 91, 48, 93, 32, 61, - 32, 97, 120, 32, 43, 32, 116, 49, 32, 42, 32, 100, 120, 44, 32, 98, 91, 49, 93, 32, 61, 32, 97, - 121, 32, 43, 32, 116, 49, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 99, 108, 105, 112, 77, 97, 120, 32, 61, 32, 49, 101, 57, 44, 32, 99, 108, 105, 112, 77, - 105, 110, 32, 61, 32, 45, 99, 108, 105, 112, 77, 97, 120, 59, 10, 10, 47, 47, 32, 84, 79, 68, 79, - 32, 85, 115, 101, 32, 100, 51, 45, 112, 111, 108, 121, 103, 111, 110, 226, 128, 153, 115, 32, 112, 111, 108, - 121, 103, 111, 110, 67, 111, 110, 116, 97, 105, 110, 115, 32, 104, 101, 114, 101, 32, 102, 111, 114, 32, 116, - 104, 101, 32, 114, 105, 110, 103, 32, 99, 104, 101, 99, 107, 63, 10, 47, 47, 32, 84, 79, 68, 79, 32, - 69, 108, 105, 109, 105, 110, 97, 116, 101, 32, 100, 117, 112, 108, 105, 99, 97, 116, 101, 32, 98, 117, 102, - 102, 101, 114, 105, 110, 103, 32, 105, 110, 32, 99, 108, 105, 112, 66, 117, 102, 102, 101, 114, 32, 97, 110, - 100, 32, 112, 111, 108, 121, 103, 111, 110, 46, 112, 117, 115, 104, 63, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 99, 108, 105, 112, 82, 101, 99, 116, 97, 110, 103, 108, 101, 40, 120, 48, - 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 32, 123, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 118, 105, 115, 105, 98, 108, 101, 40, 120, 44, 32, 121, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 120, 48, 32, 60, 61, 32, 120, 32, 38, 38, 32, 120, 32, 60, 61, 32, 120, 49, 32, 38, 38, 32, 121, - 48, 32, 60, 61, 32, 121, 32, 38, 38, 32, 121, 32, 60, 61, 32, 121, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 102, 114, 111, 109, 44, 32, 116, 111, 44, 32, - 100, 105, 114, 101, 99, 116, 105, 111, 110, 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 48, 44, 32, 97, 49, - 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, - 114, 111, 109, 32, 61, 61, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 124, 124, 32, 40, 97, 32, 61, 32, 99, 111, 114, 110, 101, 114, 40, 102, 114, 111, - 109, 44, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 41, 41, 32, 33, 61, 61, 32, 40, 97, 49, 32, - 61, 32, 99, 111, 114, 110, 101, 114, 40, 116, 111, 44, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 41, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 124, 32, 99, 111, - 109, 112, 97, 114, 101, 80, 111, 105, 110, 116, 40, 102, 114, 111, 109, 44, 32, 116, 111, 41, 32, 60, 32, - 48, 32, 94, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 115, 116, 114, 101, 97, 109, - 46, 112, 111, 105, 110, 116, 40, 97, 32, 61, 61, 61, 32, 48, 32, 124, 124, 32, 97, 32, 61, 61, 61, - 32, 51, 32, 63, 32, 120, 48, 32, 58, 32, 120, 49, 44, 32, 97, 32, 62, 32, 49, 32, 63, 32, 121, - 49, 32, 58, 32, 121, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 119, 104, 105, 108, 101, 32, 40, 40, 97, 32, 61, 32, 40, 97, 32, 43, 32, 100, 105, 114, 101, - 99, 116, 105, 111, 110, 32, 43, 32, 52, 41, 32, 37, 32, 52, 41, 32, 33, 61, 61, 32, 97, 49, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, - 112, 111, 105, 110, 116, 40, 116, 111, 91, 48, 93, 44, 32, 116, 111, 91, 49, 93, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 114, 110, 101, 114, - 40, 112, 44, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 98, 115, 36, 49, 40, 112, 91, 48, 93, - 32, 45, 32, 120, 48, 41, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 32, 63, 32, 100, 105, - 114, 101, 99, 116, 105, 111, 110, 32, 62, 32, 48, 32, 63, 32, 48, 32, 58, 32, 51, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 97, 98, 115, 36, 49, 40, 112, 91, - 48, 93, 32, 45, 32, 120, 49, 41, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 32, 63, 32, - 100, 105, 114, 101, 99, 116, 105, 111, 110, 32, 62, 32, 48, 32, 63, 32, 50, 32, 58, 32, 49, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 97, 98, - 115, 36, 49, 40, 112, 91, 49, 93, 32, 45, 32, 121, 48, 41, 32, 60, 32, 101, 112, 115, 105, 108, 111, - 110, 36, 49, 32, 63, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 32, 62, 32, 48, 32, 63, 32, 49, - 32, 58, 32, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 58, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 32, 62, 32, 48, 32, 63, - 32, 51, 32, 58, 32, 50, 59, 32, 47, 47, 32, 97, 98, 115, 40, 112, 91, 49, 93, 32, 45, 32, 121, - 49, 41, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 109, 112, 97, - 114, 101, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 40, 97, 44, 32, 98, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 109, 112, - 97, 114, 101, 80, 111, 105, 110, 116, 40, 97, 46, 120, 44, 32, 98, 46, 120, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 99, 111, 109, 112, 97, 114, 101, 80, 111, 105, 110, 116, 40, 97, 44, 32, 98, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 97, 32, 61, 32, 99, 111, - 114, 110, 101, 114, 40, 97, 44, 32, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 98, 32, 61, 32, 99, 111, 114, 110, 101, 114, 40, 98, 44, 32, 49, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 97, 32, - 33, 61, 61, 32, 99, 98, 32, 63, 32, 99, 97, 32, 45, 32, 99, 98, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 99, 97, 32, 61, 61, 61, 32, 48, 32, 63, 32, - 98, 91, 49, 93, 32, 45, 32, 97, 91, 49, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 99, 97, 32, 61, 61, 61, 32, 49, 32, 63, 32, 97, - 91, 48, 93, 32, 45, 32, 98, 91, 48, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 99, 97, 32, 61, 61, 61, 32, 50, 32, - 63, 32, 97, 91, 49, 93, 32, 45, 32, 98, 91, 49, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 98, 91, - 48, 93, 32, 45, 32, 97, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 97, 99, 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, 32, 61, 32, 115, 116, 114, 101, 97, - 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 117, 102, 102, - 101, 114, 83, 116, 114, 101, 97, 109, 32, 61, 32, 99, 108, 105, 112, 66, 117, 102, 102, 101, 114, 40, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, - 110, 116, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, - 108, 121, 103, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 105, 110, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, - 95, 95, 44, 32, 121, 95, 95, 44, 32, 118, 95, 95, 44, 32, 47, 47, 32, 102, 105, 114, 115, 116, 32, - 112, 111, 105, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, - 95, 44, 32, 121, 95, 44, 32, 118, 95, 44, 32, 47, 47, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, - 112, 111, 105, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 105, 114, 115, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 108, 101, 97, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 99, 108, 105, 112, 83, 116, 114, 101, 97, 109, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 112, 111, 105, 110, 116, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, - 116, 58, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 108, 105, 110, 101, 69, 110, 100, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, - 111, 110, 83, 116, 97, 114, 116, 58, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, - 69, 110, 100, 58, 32, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 105, 115, 105, 98, - 108, 101, 40, 120, 44, 32, 121, 41, 41, 32, 97, 99, 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, 46, - 112, 111, 105, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 112, 111, 108, 121, 103, 111, 110, 73, 110, 115, 105, 100, 101, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 119, 105, 110, 100, 105, - 110, 103, 32, 61, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 112, - 111, 108, 121, 103, 111, 110, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, - 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 114, 105, 110, 103, 32, 61, 32, 112, 111, 108, 121, - 103, 111, 110, 91, 105, 93, 44, 32, 106, 32, 61, 32, 49, 44, 32, 109, 32, 61, 32, 114, 105, 110, 103, - 46, 108, 101, 110, 103, 116, 104, 44, 32, 112, 111, 105, 110, 116, 32, 61, 32, 114, 105, 110, 103, 91, 48, - 93, 44, 32, 97, 48, 44, 32, 97, 49, 44, 32, 98, 48, 32, 61, 32, 112, 111, 105, 110, 116, 91, 48, - 93, 44, 32, 98, 49, 32, 61, 32, 112, 111, 105, 110, 116, 91, 49, 93, 59, 32, 106, 32, 60, 32, 109, - 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 48, 32, 61, 32, 98, 48, 44, 32, 97, 49, 32, 61, - 32, 98, 49, 44, 32, 112, 111, 105, 110, 116, 32, 61, 32, 114, 105, 110, 103, 91, 106, 93, 44, 32, 98, - 48, 32, 61, 32, 112, 111, 105, 110, 116, 91, 48, 93, 44, 32, 98, 49, 32, 61, 32, 112, 111, 105, 110, - 116, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 49, 32, 60, 61, 32, 121, 49, 41, 32, 123, 32, - 105, 102, 32, 40, 98, 49, 32, 62, 32, 121, 49, 32, 38, 38, 32, 40, 98, 48, 32, 45, 32, 97, 48, - 41, 32, 42, 32, 40, 121, 49, 32, 45, 32, 97, 49, 41, 32, 62, 32, 40, 98, 49, 32, 45, 32, 97, - 49, 41, 32, 42, 32, 40, 120, 48, 32, 45, 32, 97, 48, 41, 41, 32, 43, 43, 119, 105, 110, 100, 105, - 110, 103, 59, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 32, 105, 102, 32, 40, 98, 49, 32, 60, 61, - 32, 121, 49, 32, 38, 38, 32, 40, 98, 48, 32, 45, 32, 97, 48, 41, 32, 42, 32, 40, 121, 49, 32, - 45, 32, 97, 49, 41, 32, 60, 32, 40, 98, 49, 32, 45, 32, 97, 49, 41, 32, 42, 32, 40, 120, 48, - 32, 45, 32, 97, 48, 41, 41, 32, 45, 45, 119, 105, 110, 100, 105, 110, 103, 59, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 119, 105, 110, 100, 105, 110, 103, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 66, 117, 102, 102, 101, 114, 32, 103, 101, 111, 109, 101, 116, 114, - 121, 32, 119, 105, 116, 104, 105, 110, 32, 97, 32, 112, 111, 108, 121, 103, 111, 110, 32, 97, 110, 100, 32, - 116, 104, 101, 110, 32, 99, 108, 105, 112, 32, 105, 116, 32, 101, 110, 32, 109, 97, 115, 115, 101, 46, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, - 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, 32, 61, 32, - 98, 117, 102, 102, 101, 114, 83, 116, 114, 101, 97, 109, 44, 32, 115, 101, 103, 109, 101, 110, 116, 115, 32, - 61, 32, 91, 93, 44, 32, 112, 111, 108, 121, 103, 111, 110, 32, 61, 32, 91, 93, 44, 32, 99, 108, 101, - 97, 110, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 97, 114, 116, 73, 110, 115, 105, 100, - 101, 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 73, 110, 115, 105, 100, 101, 40, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 101, 97, 110, - 73, 110, 115, 105, 100, 101, 32, 61, 32, 99, 108, 101, 97, 110, 32, 38, 38, 32, 115, 116, 97, 114, 116, - 73, 110, 115, 105, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 105, 115, 105, 98, 108, 101, 32, 61, 32, 40, 115, 101, 103, 109, 101, 110, 116, - 115, 32, 61, 32, 109, 101, 114, 103, 101, 40, 115, 101, 103, 109, 101, 110, 116, 115, 41, 41, 46, 108, 101, - 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 99, 108, 101, 97, 110, 73, 110, 115, 105, 100, 101, 32, 124, 124, 32, 118, 105, 115, 105, 98, - 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 40, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 99, 108, 101, 97, 110, 73, 110, 115, 105, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, - 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 40, 110, 117, 108, 108, 44, 32, 110, 117, 108, 108, 44, 32, 49, 44, 32, 115, - 116, 114, 101, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 69, 110, 100, - 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 118, 105, 115, 105, 98, 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 82, 101, 106, - 111, 105, 110, 40, 115, 101, 103, 109, 101, 110, 116, 115, 44, 32, 99, 111, 109, 112, 97, 114, 101, 73, 110, - 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 44, 32, 115, 116, 97, 114, 116, 73, 110, 115, 105, 100, 101, - 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 44, 32, 115, 116, 114, 101, 97, 109, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, - 101, 97, 109, 46, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, 32, 61, 32, 115, 116, - 114, 101, 97, 109, 44, 32, 115, 101, 103, 109, 101, 110, 116, 115, 32, 61, 32, 112, 111, 108, 121, 103, 111, - 110, 32, 61, 32, 114, 105, 110, 103, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 83, 116, 114, 101, 97, - 109, 46, 112, 111, 105, 110, 116, 32, 61, 32, 108, 105, 110, 101, 80, 111, 105, 110, 116, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 111, 108, 121, 103, - 111, 110, 41, 32, 112, 111, 108, 121, 103, 111, 110, 46, 112, 117, 115, 104, 40, 114, 105, 110, 103, 32, 61, - 32, 91, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 105, 114, 115, 116, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 95, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 95, 32, 61, 32, 121, 95, 32, 61, 32, 78, 97, - 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 79, 68, 79, 32, 114, 97, 116, 104, 101, 114, 32, 116, - 104, 97, 110, 32, 115, 112, 101, 99, 105, 97, 108, 45, 99, 97, 115, 101, 32, 112, 111, 108, 121, 103, 111, - 110, 115, 44, 32, 115, 105, 109, 112, 108, 121, 32, 104, 97, 110, 100, 108, 101, 32, 116, 104, 101, 109, 32, - 115, 101, 112, 97, 114, 97, 116, 101, 108, 121, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 73, 100, 101, 97, 108, 108, 121, 44, 32, 99, 111, 105, 110, 99, 105, 100, 101, 110, 116, - 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 115, 32, 115, 104, - 111, 117, 108, 100, 32, 98, 101, 32, 106, 105, 116, 116, 101, 114, 101, 100, 32, 116, 111, 32, 97, 118, 111, - 105, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 99, 108, 105, 112, 112, - 105, 110, 103, 32, 105, 115, 115, 117, 101, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, 69, 110, 100, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 101, 103, 109, - 101, 110, 116, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 110, 101, 80, 111, 105, 110, 116, 40, 120, 95, 95, 44, 32, 121, 95, 95, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 118, 95, 95, 32, 38, 38, 32, 118, 95, 41, 32, 98, 117, 102, 102, 101, 114, 83, 116, - 114, 101, 97, 109, 46, 114, 101, 106, 111, 105, 110, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 115, 46, 112, 117, - 115, 104, 40, 98, 117, 102, 102, 101, 114, 83, 116, 114, 101, 97, 109, 46, 114, 101, 115, 117, 108, 116, 40, - 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 83, 116, 114, 101, - 97, 109, 46, 112, 111, 105, 110, 116, 32, 61, 32, 112, 111, 105, 110, 116, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 95, 41, 32, 97, 99, 116, 105, - 118, 101, 83, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, 80, 111, 105, 110, 116, 40, 120, 44, 32, - 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 118, 32, 61, 32, 118, 105, 115, 105, 98, 108, 101, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 111, 108, 121, 103, - 111, 110, 41, 32, 114, 105, 110, 103, 46, 112, 117, 115, 104, 40, 91, 120, 44, 32, 121, 93, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 105, 114, - 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 95, 95, 32, 61, 32, 120, 44, 32, 121, 95, 95, 32, 61, 32, 121, 44, 32, 118, 95, - 95, 32, 61, 32, 118, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 105, 114, 115, 116, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 97, 99, 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, - 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, 46, 112, 111, 105, - 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 32, 38, 38, 32, 118, 95, 41, 32, 97, 99, - 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 120, 44, 32, 121, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, - 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 91, 120, 95, 32, 61, 32, 77, 97, 116, - 104, 46, 109, 97, 120, 40, 99, 108, 105, 112, 77, 105, 110, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, - 40, 99, 108, 105, 112, 77, 97, 120, 44, 32, 120, 95, 41, 41, 44, 32, 121, 95, 32, 61, 32, 77, 97, - 116, 104, 46, 109, 97, 120, 40, 99, 108, 105, 112, 77, 105, 110, 44, 32, 77, 97, 116, 104, 46, 109, 105, - 110, 40, 99, 108, 105, 112, 77, 97, 120, 44, 32, 121, 95, 41, 41, 93, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 98, 32, 61, 32, 91, 120, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 99, 108, 105, 112, 77, - 105, 110, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 99, 108, 105, 112, 77, 97, 120, 44, 32, 120, - 41, 41, 44, 32, 121, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 99, 108, 105, 112, 77, 105, - 110, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 99, 108, 105, 112, 77, 97, 120, 44, 32, 121, 41, - 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 108, 105, 112, 76, 105, 110, 101, 40, 97, 44, 32, 98, 44, - 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 33, 118, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 99, 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, - 46, 112, 111, 105, 110, 116, 40, 97, 91, 48, 93, 44, 32, 97, 91, 49, 93, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, 46, 112, - 111, 105, 110, 116, 40, 98, 91, 48, 93, 44, 32, 98, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 33, 118, 41, 32, 97, 99, 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, 46, 108, 105, - 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 101, 97, 110, 32, 61, 32, 102, - 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 118, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 83, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, - 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 83, 116, 114, 101, - 97, 109, 46, 112, 111, 105, 110, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, - 101, 97, 110, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 95, 32, 61, 32, 120, 44, 32, 121, 95, 32, 61, 32, 121, 44, 32, 118, 95, 32, 61, - 32, 118, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 108, 105, 112, 83, 116, 114, 101, - 97, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 120, 116, 101, 110, 116, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 48, 32, 61, 32, 48, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 57, 54, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 121, 49, 32, 61, 32, 53, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 97, 99, 104, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 97, 99, 104, 101, 83, 116, 114, 101, 97, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 108, 105, 112, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 99, 108, 105, 112, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 116, 114, 101, 97, 109, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 114, 101, 97, 109, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 99, 97, 99, 104, 101, 32, 38, 38, 32, 99, 97, 99, 104, 101, 83, 116, 114, 101, 97, 109, - 32, 61, 61, 61, 32, 115, 116, 114, 101, 97, 109, 32, 63, 32, 99, 97, 99, 104, 101, 32, 58, 32, 99, - 97, 99, 104, 101, 32, 61, 32, 99, 108, 105, 112, 82, 101, 99, 116, 97, 110, 103, 108, 101, 40, 120, 48, - 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 40, 99, 97, 99, 104, 101, 83, 116, 114, 101, - 97, 109, 32, 61, 32, 115, 116, 114, 101, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 120, 116, 101, 110, - 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 120, 48, 32, 61, 32, 43, 95, 91, 48, - 93, 91, 48, 93, 44, 32, 121, 48, 32, 61, 32, 43, 95, 91, 48, 93, 91, 49, 93, 44, 32, 120, 49, - 32, 61, 32, 43, 95, 91, 49, 93, 91, 48, 93, 44, 32, 121, 49, 32, 61, 32, 43, 95, 91, 49, 93, - 91, 49, 93, 44, 32, 99, 97, 99, 104, 101, 32, 61, 32, 99, 97, 99, 104, 101, 83, 116, 114, 101, 97, - 109, 32, 61, 32, 110, 117, 108, 108, 44, 32, 99, 108, 105, 112, 41, 32, 58, 32, 91, 91, 120, 48, 44, - 32, 121, 48, 93, 44, 32, 91, 120, 49, 44, 32, 121, 49, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 108, 101, 110, 103, 116, 104, 83, 117, 109, 36, 49, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 105, 110, 80, 104, 105, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 115, - 80, 104, 105, 48, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 108, 101, 110, 103, 116, 104, 83, 116, - 114, 101, 97, 109, 36, 49, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 104, 101, - 114, 101, 58, 32, 110, 111, 111, 112, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, - 110, 116, 58, 32, 110, 111, 111, 112, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, - 101, 83, 116, 97, 114, 116, 58, 32, 108, 101, 110, 103, 116, 104, 76, 105, 110, 101, 83, 116, 97, 114, 116, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 110, 111, 111, 112, - 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, - 116, 58, 32, 110, 111, 111, 112, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, - 103, 111, 110, 69, 110, 100, 58, 32, 110, 111, 111, 112, 36, 49, 10, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 101, 110, 103, 116, 104, 76, 105, 110, 101, - 83, 116, 97, 114, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, - 104, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, 116, 32, 61, 32, 108, 101, 110, 103, 116, - 104, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 101, 110, 103, 116, 104, 83, 116, 114, 101, 97, 109, 36, 49, 46, 108, 105, 110, 101, 69, 110, 100, 32, - 61, 32, 108, 101, 110, 103, 116, 104, 76, 105, 110, 101, 69, 110, 100, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 101, 110, 103, 116, 104, 76, 105, 110, - 101, 69, 110, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, 104, - 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, 116, 32, 61, 32, 108, 101, 110, 103, 116, 104, - 83, 116, 114, 101, 97, 109, 36, 49, 46, 108, 105, 110, 101, 69, 110, 100, 32, 61, 32, 110, 111, 111, 112, - 36, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 108, 101, 110, 103, 116, 104, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, 36, 49, 40, 108, 97, 109, - 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, - 98, 100, 97, 32, 42, 61, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 112, 104, 105, 32, 42, 61, 32, - 114, 97, 100, 105, 97, 110, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, - 48, 32, 61, 32, 108, 97, 109, 98, 100, 97, 44, 32, 115, 105, 110, 80, 104, 105, 48, 32, 61, 32, 115, - 105, 110, 36, 49, 40, 112, 104, 105, 41, 44, 32, 99, 111, 115, 80, 104, 105, 48, 32, 61, 32, 99, 111, - 115, 36, 49, 40, 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, - 104, 83, 116, 114, 101, 97, 109, 36, 49, 46, 112, 111, 105, 110, 116, 32, 61, 32, 108, 101, 110, 103, 116, - 104, 80, 111, 105, 110, 116, 36, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 108, 101, 110, 103, 116, 104, 80, 111, 105, 110, 116, 36, 49, 40, 108, 97, - 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, - 109, 98, 100, 97, 32, 42, 61, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 112, 104, 105, 32, 42, 61, - 32, 114, 97, 100, 105, 97, 110, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, - 105, 110, 80, 104, 105, 32, 61, 32, 115, 105, 110, 36, 49, 40, 112, 104, 105, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 115, 80, 104, 105, 32, 61, 32, 99, 111, 115, 36, 49, - 40, 112, 104, 105, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 116, - 97, 32, 61, 32, 97, 98, 115, 36, 49, 40, 108, 97, 109, 98, 100, 97, 32, 45, 32, 108, 97, 109, 98, - 100, 97, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 115, 68, 101, - 108, 116, 97, 32, 61, 32, 99, 111, 115, 36, 49, 40, 100, 101, 108, 116, 97, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 68, 101, 108, 116, 97, 32, 61, 32, 115, 105, 110, - 36, 49, 40, 100, 101, 108, 116, 97, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 32, 61, 32, 99, 111, 115, 80, 104, 105, 32, 42, 32, 115, 105, 110, 68, 101, 108, 116, 97, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 99, 111, 115, 80, 104, 105, 48, - 32, 42, 32, 115, 105, 110, 80, 104, 105, 32, 45, 32, 115, 105, 110, 80, 104, 105, 48, 32, 42, 32, 99, - 111, 115, 80, 104, 105, 32, 42, 32, 99, 111, 115, 68, 101, 108, 116, 97, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 122, 32, 61, 32, 115, 105, 110, 80, 104, 105, 48, 32, 42, 32, 115, 105, - 110, 80, 104, 105, 32, 43, 32, 99, 111, 115, 80, 104, 105, 48, 32, 42, 32, 99, 111, 115, 80, 104, 105, - 32, 42, 32, 99, 111, 115, 68, 101, 108, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, - 110, 103, 116, 104, 83, 117, 109, 36, 49, 46, 97, 100, 100, 40, 97, 116, 97, 110, 50, 36, 49, 40, 115, - 113, 114, 116, 36, 50, 40, 120, 32, 42, 32, 120, 32, 43, 32, 121, 32, 42, 32, 121, 41, 44, 32, 122, - 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 48, 32, 61, 32, 108, - 97, 109, 98, 100, 97, 44, 32, 115, 105, 110, 80, 104, 105, 48, 32, 61, 32, 115, 105, 110, 80, 104, 105, - 44, 32, 99, 111, 115, 80, 104, 105, 48, 32, 61, 32, 99, 111, 115, 80, 104, 105, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 101, 110, 103, 116, 104, - 36, 49, 40, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, - 110, 103, 116, 104, 83, 117, 109, 36, 49, 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, 114, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 111, 83, 116, 114, 101, 97, 109, 40, 111, 98, 106, - 101, 99, 116, 44, 32, 108, 101, 110, 103, 116, 104, 83, 116, 114, 101, 97, 109, 36, 49, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 43, 108, 101, 110, 103, 116, 104, 83, 117, - 109, 36, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 111, - 114, 100, 105, 110, 97, 116, 101, 115, 32, 61, 32, 91, 110, 117, 108, 108, 44, 32, 110, 117, 108, 108, 93, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 98, 106, 101, 99, 116, 32, 61, 32, 123, 116, 121, 112, - 101, 58, 32, 34, 76, 105, 110, 101, 83, 116, 114, 105, 110, 103, 34, 44, 32, 99, 111, 111, 114, 100, 105, - 110, 97, 116, 101, 115, 58, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 125, 59, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 105, 115, 116, 97, 110, 99, 101, 40, 97, 44, - 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, - 101, 115, 91, 48, 93, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, - 100, 105, 110, 97, 116, 101, 115, 91, 49, 93, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 108, 101, 110, 103, 116, 104, 36, 49, 40, 111, 98, 106, 101, 99, 116, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 110, 116, 97, - 105, 110, 115, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 70, 101, 97, 116, 117, 114, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, - 106, 101, 99, 116, 44, 32, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 110, 116, 97, 105, 110, 115, 71, 101, 111, 109, - 101, 116, 114, 121, 40, 111, 98, 106, 101, 99, 116, 46, 103, 101, 111, 109, 101, 116, 114, 121, 44, 32, 112, - 111, 105, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 70, 101, 97, 116, 117, 114, 101, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 58, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 112, 111, 105, 110, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 101, 97, 116, 117, - 114, 101, 115, 32, 61, 32, 111, 98, 106, 101, 99, 116, 46, 102, 101, 97, 116, 117, 114, 101, 115, 44, 32, - 105, 32, 61, 32, 45, 49, 44, 32, 110, 32, 61, 32, 102, 101, 97, 116, 117, 114, 101, 115, 46, 108, 101, - 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, - 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 105, 102, 32, 40, 99, 111, 110, 116, 97, 105, 110, 115, - 71, 101, 111, 109, 101, 116, 114, 121, 40, 102, 101, 97, 116, 117, 114, 101, 115, 91, 105, 93, 46, 103, 101, - 111, 109, 101, 116, 114, 121, 44, 32, 112, 111, 105, 110, 116, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, - 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 110, 116, 97, 105, 110, 115, 71, 101, 111, - 109, 101, 116, 114, 121, 84, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 83, - 112, 104, 101, 114, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 80, 111, 105, 110, 116, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 112, 111, 105, 110, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 99, 111, 110, 116, 97, 105, 110, 115, 80, 111, 105, 110, 116, 40, 111, 98, 106, 101, 99, 116, 46, 99, - 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, 112, 111, 105, 110, 116, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 77, 117, 108, 116, 105, 80, 111, - 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 112, - 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 32, 61, 32, 111, 98, 106, 101, 99, 116, 46, 99, - 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, 105, 32, 61, 32, 45, 49, 44, 32, 110, 32, 61, - 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, - 110, 41, 32, 105, 102, 32, 40, 99, 111, 110, 116, 97, 105, 110, 115, 80, 111, 105, 110, 116, 40, 99, 111, - 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 105, 93, 44, 32, 112, 111, 105, 110, 116, 41, 41, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 76, 105, 110, 101, 83, 116, 114, 105, 110, 103, 58, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 112, 111, 105, 110, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, - 111, 110, 116, 97, 105, 110, 115, 76, 105, 110, 101, 40, 111, 98, 106, 101, 99, 116, 46, 99, 111, 111, 114, - 100, 105, 110, 97, 116, 101, 115, 44, 32, 112, 111, 105, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 77, 117, 108, 116, 105, 76, 105, 110, 101, 83, - 116, 114, 105, 110, 103, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, - 32, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 32, 61, 32, 111, 98, 106, 101, 99, 116, - 46, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, 105, 32, 61, 32, 45, 49, 44, 32, 110, - 32, 61, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, - 60, 32, 110, 41, 32, 105, 102, 32, 40, 99, 111, 110, 116, 97, 105, 110, 115, 76, 105, 110, 101, 40, 99, - 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 105, 93, 44, 32, 112, 111, 105, 110, 116, 41, 41, 32, - 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 80, 111, 108, 121, 103, 111, 110, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 112, 111, 105, 110, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 110, - 116, 97, 105, 110, 115, 80, 111, 108, 121, 103, 111, 110, 40, 111, 98, 106, 101, 99, 116, 46, 99, 111, 111, - 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, 112, 111, 105, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 77, 117, 108, 116, 105, 80, 111, 108, 121, - 103, 111, 110, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 44, 32, 112, - 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 32, 61, 32, 111, 98, 106, 101, 99, 116, 46, 99, - 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, 105, 32, 61, 32, 45, 49, 44, 32, 110, 32, 61, - 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, - 110, 41, 32, 105, 102, 32, 40, 99, 111, 110, 116, 97, 105, 110, 115, 80, 111, 108, 121, 103, 111, 110, 40, - 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 105, 93, 44, 32, 112, 111, 105, 110, 116, 41, 41, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 71, 101, 111, 109, 101, 116, 114, 121, 67, 111, - 108, 108, 101, 99, 116, 105, 111, 110, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, - 99, 116, 44, 32, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 103, 101, 111, 109, 101, 116, 114, 105, 101, 115, 32, 61, 32, 111, 98, 106, 101, - 99, 116, 46, 103, 101, 111, 109, 101, 116, 114, 105, 101, 115, 44, 32, 105, 32, 61, 32, 45, 49, 44, 32, - 110, 32, 61, 32, 103, 101, 111, 109, 101, 116, 114, 105, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, - 60, 32, 110, 41, 32, 105, 102, 32, 40, 99, 111, 110, 116, 97, 105, 110, 115, 71, 101, 111, 109, 101, 116, - 114, 121, 40, 103, 101, 111, 109, 101, 116, 114, 105, 101, 115, 91, 105, 93, 44, 32, 112, 111, 105, 110, 116, - 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 99, 111, 110, 116, 97, 105, 110, 115, 71, 101, 111, 109, 101, 116, 114, 121, 40, 103, 101, - 111, 109, 101, 116, 114, 121, 44, 32, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 103, 101, 111, 109, 101, 116, 114, 121, 32, 38, 38, 32, 99, 111, - 110, 116, 97, 105, 110, 115, 71, 101, 111, 109, 101, 116, 114, 121, 84, 121, 112, 101, 46, 104, 97, 115, 79, - 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 103, 101, 111, 109, 101, 116, 114, 121, 46, 116, 121, 112, - 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 99, 111, 110, 116, 97, 105, - 110, 115, 71, 101, 111, 109, 101, 116, 114, 121, 84, 121, 112, 101, 91, 103, 101, 111, 109, 101, 116, 114, 121, - 46, 116, 121, 112, 101, 93, 40, 103, 101, 111, 109, 101, 116, 114, 121, 44, 32, 112, 111, 105, 110, 116, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 102, 97, 108, 115, 101, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 116, - 97, 105, 110, 115, 80, 111, 105, 110, 116, 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, - 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 100, 105, 115, 116, 97, 110, 99, 101, 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, - 112, 111, 105, 110, 116, 41, 32, 61, 61, 61, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 116, 97, 105, 110, 115, 76, 105, 110, 101, - 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, 112, 111, 105, 110, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 111, 44, 32, 98, 111, 44, 32, 97, 98, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, - 44, 32, 110, 32, 61, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 46, 108, 101, 110, 103, 116, - 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 105, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 98, 111, 32, 61, 32, 100, 105, 115, 116, 97, 110, 99, 101, 40, 99, 111, 111, - 114, 100, 105, 110, 97, 116, 101, 115, 91, 105, 93, 44, 32, 112, 111, 105, 110, 116, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 111, 32, 61, 61, 61, 32, 48, 41, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 105, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 98, 32, 61, 32, 100, 105, 115, 116, 97, 110, 99, 101, 40, - 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 105, 93, 44, 32, 99, 111, 111, 114, 100, 105, 110, - 97, 116, 101, 115, 91, 105, 32, 45, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 98, 32, 62, 32, 48, 32, 38, 38, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 111, 32, 60, 61, 32, 97, - 98, 32, 38, 38, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 111, 32, 60, 61, 32, 97, 98, 32, 38, 38, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 97, 111, 32, 43, 32, 98, 111, 32, 45, 32, 97, - 98, 41, 32, 42, 32, 40, 49, 32, 45, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 40, 97, 111, 32, - 45, 32, 98, 111, 41, 32, 47, 32, 97, 98, 44, 32, 50, 41, 41, 32, 60, 32, 101, 112, 115, 105, 108, - 111, 110, 50, 32, 42, 32, 97, 98, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 111, 32, 61, 32, 98, - 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 116, 97, 105, 110, 115, 80, 111, 108, 121, 103, 111, - 110, 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 44, 32, 112, 111, 105, 110, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 33, 33, 112, 111, 108, 121, 103, - 111, 110, 67, 111, 110, 116, 97, 105, 110, 115, 40, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 46, - 109, 97, 112, 40, 114, 105, 110, 103, 82, 97, 100, 105, 97, 110, 115, 41, 44, 32, 112, 111, 105, 110, 116, - 82, 97, 100, 105, 97, 110, 115, 40, 112, 111, 105, 110, 116, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 105, 110, 103, 82, 97, 100, 105, 97, - 110, 115, 40, 114, 105, 110, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 114, 105, 110, 103, 32, 61, 32, 114, 105, 110, 103, 46, 109, 97, 112, 40, 112, 111, 105, 110, - 116, 82, 97, 100, 105, 97, 110, 115, 41, 44, 32, 114, 105, 110, 103, 46, 112, 111, 112, 40, 41, 44, 32, - 114, 105, 110, 103, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 112, 111, 105, 110, 116, 82, 97, 100, 105, 97, 110, 115, 40, 112, 111, 105, 110, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 112, 111, 105, 110, 116, - 91, 48, 93, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 112, 111, 105, 110, 116, 91, 49, 93, - 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 116, 97, 105, 110, 115, 36, 49, 40, 111, 98, - 106, 101, 99, 116, 44, 32, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 40, 111, 98, 106, 101, 99, 116, 32, 38, 38, 32, 99, 111, 110, 116, 97, - 105, 110, 115, 79, 98, 106, 101, 99, 116, 84, 121, 112, 101, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, - 112, 101, 114, 116, 121, 40, 111, 98, 106, 101, 99, 116, 46, 116, 121, 112, 101, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 99, 111, 110, 116, 97, 105, 110, 115, 79, 98, 106, 101, 99, - 116, 84, 121, 112, 101, 91, 111, 98, 106, 101, 99, 116, 46, 116, 121, 112, 101, 93, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 99, 111, 110, 116, 97, 105, 110, 115, 71, 101, 111, 109, 101, - 116, 114, 121, 41, 40, 111, 98, 106, 101, 99, 116, 44, 32, 112, 111, 105, 110, 116, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 114, 97, 116, 105, - 99, 117, 108, 101, 88, 40, 121, 48, 44, 32, 121, 49, 44, 32, 100, 121, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 121, 32, 61, 32, 115, 101, 113, 117, 101, 110, 99, 101, 40, 121, - 48, 44, 32, 121, 49, 32, 45, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 44, 32, 100, 121, 41, 46, - 99, 111, 110, 99, 97, 116, 40, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 32, 114, 101, 116, 117, 114, - 110, 32, 121, 46, 109, 97, 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 121, 41, 32, 123, 32, 114, - 101, 116, 117, 114, 110, 32, 91, 120, 44, 32, 121, 93, 59, 32, 125, 41, 59, 32, 125, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 114, 97, 116, 105, - 99, 117, 108, 101, 89, 40, 120, 48, 44, 32, 120, 49, 44, 32, 100, 120, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 32, 61, 32, 115, 101, 113, 117, 101, 110, 99, 101, 40, 120, - 48, 44, 32, 120, 49, 32, 45, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 44, 32, 100, 120, 41, 46, - 99, 111, 110, 99, 97, 116, 40, 120, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 121, 41, 32, 123, 32, 114, 101, 116, 117, 114, - 110, 32, 120, 46, 109, 97, 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 32, 114, - 101, 116, 117, 114, 110, 32, 91, 120, 44, 32, 121, 93, 59, 32, 125, 41, 59, 32, 125, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 114, 97, 116, 105, - 99, 117, 108, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 49, - 44, 32, 120, 48, 44, 32, 88, 49, 44, 32, 88, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 121, 49, 44, 32, 121, 48, 44, 32, 89, 49, 44, 32, 89, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, 32, 49, 48, 44, 32, 100, 121, 32, 61, 32, 100, - 120, 44, 32, 68, 88, 32, 61, 32, 57, 48, 44, 32, 68, 89, 32, 61, 32, 51, 54, 48, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 44, 32, 121, 44, 32, 88, 44, 32, 89, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, - 32, 50, 46, 53, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 116, 121, 112, 101, 58, 32, 34, 77, 117, 108, 116, - 105, 76, 105, 110, 101, 83, 116, 114, 105, 110, 103, 34, 44, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, - 101, 115, 58, 32, 108, 105, 110, 101, 115, 40, 41, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, - 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 115, 101, 113, 117, 101, 110, 99, 101, 40, 99, 101, 105, 108, 40, 88, 48, 32, 47, 32, 68, 88, - 41, 32, 42, 32, 68, 88, 44, 32, 88, 49, 44, 32, 68, 88, 41, 46, 109, 97, 112, 40, 88, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 111, 110, 99, 97, 116, - 40, 115, 101, 113, 117, 101, 110, 99, 101, 40, 99, 101, 105, 108, 40, 89, 48, 32, 47, 32, 68, 89, 41, - 32, 42, 32, 68, 89, 44, 32, 89, 49, 44, 32, 68, 89, 41, 46, 109, 97, 112, 40, 89, 41, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 111, 110, 99, 97, 116, - 40, 115, 101, 113, 117, 101, 110, 99, 101, 40, 99, 101, 105, 108, 40, 120, 48, 32, 47, 32, 100, 120, 41, - 32, 42, 32, 100, 120, 44, 32, 120, 49, 44, 32, 100, 120, 41, 46, 102, 105, 108, 116, 101, 114, 40, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 97, 98, 115, - 36, 49, 40, 120, 32, 37, 32, 68, 88, 41, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 59, - 32, 125, 41, 46, 109, 97, 112, 40, 120, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 99, 111, 110, 99, 97, 116, 40, 115, 101, 113, 117, 101, 110, 99, 101, 40, 99, - 101, 105, 108, 40, 121, 48, 32, 47, 32, 100, 121, 41, 32, 42, 32, 100, 121, 44, 32, 121, 49, 44, 32, - 100, 121, 41, 46, 102, 105, 108, 116, 101, 114, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 121, 41, 32, - 123, 32, 114, 101, 116, 117, 114, 110, 32, 97, 98, 115, 36, 49, 40, 121, 32, 37, 32, 68, 89, 41, 32, - 62, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 59, 32, 125, 41, 46, 109, 97, 112, 40, 121, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, - 97, 116, 105, 99, 117, 108, 101, 46, 108, 105, 110, 101, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 108, 105, 110, 101, 115, 40, 41, 46, 109, 97, 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 123, - 116, 121, 112, 101, 58, 32, 34, 76, 105, 110, 101, 83, 116, 114, 105, 110, 103, 34, 44, 32, 99, 111, 111, - 114, 100, 105, 110, 97, 116, 101, 115, 58, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 125, 59, - 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 46, 111, 117, 116, 108, 105, 110, 101, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 80, 111, 108, 121, 103, 111, 110, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, - 115, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 88, 40, 88, 48, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 89, 49, 41, 46, - 115, 108, 105, 99, 101, 40, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 88, 49, 41, 46, 114, 101, 118, 101, 114, 115, - 101, 40, 41, 46, 115, 108, 105, 99, 101, 40, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 89, 48, 41, 46, 114, 101, - 118, 101, 114, 115, 101, 40, 41, 46, 115, 108, 105, 99, 101, 40, 49, 41, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 46, 101, 120, 116, 101, 110, 116, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, - 32, 114, 101, 116, 117, 114, 110, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 46, 101, 120, 116, 101, 110, - 116, 77, 105, 110, 111, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 46, 101, 120, 116, 101, 110, 116, 77, - 97, 106, 111, 114, 40, 95, 41, 46, 101, 120, 116, 101, 110, 116, 77, 105, 110, 111, 114, 40, 95, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, - 97, 116, 105, 99, 117, 108, 101, 46, 101, 120, 116, 101, 110, 116, 77, 97, 106, 111, 114, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 41, 32, 114, 101, 116, 117, 114, 110, 32, 91, 91, 88, 48, 44, 32, 89, 48, 93, 44, 32, 91, 88, 49, - 44, 32, 89, 49, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 48, 32, - 61, 32, 43, 95, 91, 48, 93, 91, 48, 93, 44, 32, 88, 49, 32, 61, 32, 43, 95, 91, 49, 93, 91, - 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 48, 32, 61, 32, 43, 95, - 91, 48, 93, 91, 49, 93, 44, 32, 89, 49, 32, 61, 32, 43, 95, 91, 49, 93, 91, 49, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 88, 48, 32, 62, 32, 88, 49, - 41, 32, 95, 32, 61, 32, 88, 48, 44, 32, 88, 48, 32, 61, 32, 88, 49, 44, 32, 88, 49, 32, 61, - 32, 95, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 89, 48, 32, - 62, 32, 89, 49, 41, 32, 95, 32, 61, 32, 89, 48, 44, 32, 89, 48, 32, 61, 32, 89, 49, 44, 32, - 89, 49, 32, 61, 32, 95, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, - 40, 112, 114, 101, 99, 105, 115, 105, 111, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 46, 101, 120, 116, - 101, 110, 116, 77, 105, 110, 111, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 91, 91, - 120, 48, 44, 32, 121, 48, 93, 44, 32, 91, 120, 49, 44, 32, 121, 49, 93, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 43, 95, 91, 48, 93, 91, 48, 93, 44, - 32, 120, 49, 32, 61, 32, 43, 95, 91, 49, 93, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, 43, 95, 91, 48, 93, 91, 49, 93, 44, 32, 121, 49, 32, - 61, 32, 43, 95, 91, 49, 93, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 120, 48, 32, 62, 32, 120, 49, 41, 32, 95, 32, 61, 32, 120, 48, 44, 32, 120, - 48, 32, 61, 32, 120, 49, 44, 32, 120, 49, 32, 61, 32, 95, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 48, 32, 62, 32, 121, 49, 41, 32, 95, 32, 61, 32, 121, - 48, 44, 32, 121, 48, 32, 61, 32, 121, 49, 44, 32, 121, 49, 32, 61, 32, 95, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 103, 114, 97, 116, 105, 99, 117, - 108, 101, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 40, 112, 114, 101, 99, 105, 115, 105, 111, 110, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, - 114, 97, 116, 105, 99, 117, 108, 101, 46, 115, 116, 101, 112, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, - 114, 110, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 46, 115, 116, 101, 112, 77, 105, 110, 111, 114, 40, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 103, - 114, 97, 116, 105, 99, 117, 108, 101, 46, 115, 116, 101, 112, 77, 97, 106, 111, 114, 40, 95, 41, 46, 115, - 116, 101, 112, 77, 105, 110, 111, 114, 40, 95, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 46, 115, 116, 101, - 112, 77, 97, 106, 111, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 91, 68, 88, 44, - 32, 68, 89, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68, 88, 32, 61, 32, - 43, 95, 91, 48, 93, 44, 32, 68, 89, 32, 61, 32, 43, 95, 91, 49, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 103, 114, 97, 116, 105, 99, 117, 108, - 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 103, 114, 97, 116, 105, 99, 117, 108, 101, 46, 115, 116, 101, 112, 77, 105, 110, 111, 114, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 41, 32, 114, 101, 116, 117, 114, 110, 32, 91, 100, 120, 44, 32, 100, 121, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, 32, 43, 95, 91, 48, 93, 44, 32, 100, 121, 32, - 61, 32, 43, 95, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 46, - 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 112, - 114, 101, 99, 105, 115, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 43, 95, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 120, 32, 61, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 88, 40, 121, 48, 44, 32, - 121, 49, 44, 32, 57, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, - 61, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 89, 40, 120, 48, 44, 32, 120, 49, 44, 32, 112, 114, - 101, 99, 105, 115, 105, 111, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, - 32, 61, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 88, 40, 89, 48, 44, 32, 89, 49, 44, 32, 57, - 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 32, 61, 32, 103, 114, 97, - 116, 105, 99, 117, 108, 101, 89, 40, 88, 48, 44, 32, 88, 49, 44, 32, 112, 114, 101, 99, 105, 115, 105, - 111, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 103, 114, 97, 116, 105, 99, 117, - 108, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 101, 120, 116, 101, 110, 116, 77, - 97, 106, 111, 114, 40, 91, 91, 45, 49, 56, 48, 44, 32, 45, 57, 48, 32, 43, 32, 101, 112, 115, 105, - 108, 111, 110, 36, 49, 93, 44, 32, 91, 49, 56, 48, 44, 32, 57, 48, 32, 45, 32, 101, 112, 115, 105, - 108, 111, 110, 36, 49, 93, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 101, - 120, 116, 101, 110, 116, 77, 105, 110, 111, 114, 40, 91, 91, 45, 49, 56, 48, 44, 32, 45, 56, 48, 32, - 45, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 93, 44, 32, 91, 49, 56, 48, 44, 32, 56, 48, 32, - 43, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 93, 93, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 114, 97, 116, 105, 99, 117, 108, 101, 49, - 48, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 103, 114, - 97, 116, 105, 99, 117, 108, 101, 40, 41, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 97, - 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 48, 32, 61, - 32, 97, 91, 48, 93, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, 97, 91, 49, 93, 32, 42, 32, 114, 97, 100, 105, 97, - 110, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 98, 91, - 48, 93, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 121, 49, 32, 61, 32, 98, 91, 49, 93, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 121, 48, 32, 61, 32, 99, 111, 115, 36, - 49, 40, 121, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 121, 48, 32, - 61, 32, 115, 105, 110, 36, 49, 40, 121, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 121, 49, 32, 61, 32, 99, 111, 115, 36, 49, 40, 121, 49, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 121, 49, 32, 61, 32, 115, 105, 110, 36, 49, 40, 121, 49, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 120, 48, 32, 61, 32, 99, 121, 48, - 32, 42, 32, 99, 111, 115, 36, 49, 40, 120, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 107, 121, 48, 32, 61, 32, 99, 121, 48, 32, 42, 32, 115, 105, 110, 36, 49, 40, 120, 48, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 120, 49, 32, 61, 32, 99, 121, - 49, 32, 42, 32, 99, 111, 115, 36, 49, 40, 120, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 107, 121, 49, 32, 61, 32, 99, 121, 49, 32, 42, 32, 115, 105, 110, 36, 49, 40, 120, - 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 50, 32, 42, - 32, 97, 115, 105, 110, 36, 49, 40, 115, 113, 114, 116, 36, 50, 40, 104, 97, 118, 101, 114, 115, 105, 110, - 40, 121, 49, 32, 45, 32, 121, 48, 41, 32, 43, 32, 99, 121, 48, 32, 42, 32, 99, 121, 49, 32, 42, - 32, 104, 97, 118, 101, 114, 115, 105, 110, 40, 120, 49, 32, 45, 32, 120, 48, 41, 41, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 115, 105, 110, 36, 49, 40, 100, 41, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 32, 61, 32, 100, 32, 63, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 66, 32, 61, 32, 115, 105, - 110, 36, 49, 40, 116, 32, 42, 61, 32, 100, 41, 32, 47, 32, 107, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 32, 61, 32, 115, 105, 110, 36, 49, 40, 100, 32, 45, - 32, 116, 41, 32, 47, 32, 107, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 120, 32, 61, 32, 65, 32, 42, 32, 107, 120, 48, 32, 43, 32, 66, 32, 42, 32, 107, 120, 49, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 65, - 32, 42, 32, 107, 121, 48, 32, 43, 32, 66, 32, 42, 32, 107, 121, 49, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, 61, 32, 65, 32, 42, 32, 115, 121, 48, 32, - 43, 32, 66, 32, 42, 32, 115, 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 97, 116, 97, 110, 50, 36, 49, 40, 121, 44, 32, 120, 41, 32, 42, 32, 100, 101, 103, 114, 101, - 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 116, 97, - 110, 50, 36, 49, 40, 122, 44, 32, 115, 113, 114, 116, 36, 50, 40, 120, 32, 42, 32, 120, 32, 43, 32, - 121, 32, 42, 32, 121, 41, 41, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 91, 120, 48, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 44, 32, - 121, 48, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, - 46, 100, 105, 115, 116, 97, 110, 99, 101, 32, 61, 32, 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 53, - 32, 61, 32, 120, 32, 61, 62, 32, 120, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 97, 114, 101, - 97, 83, 117, 109, 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, 114, 40, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 114, 101, 97, 82, 105, 110, 103, 83, 117, 109, 32, 61, 32, 110, 101, 119, 32, - 65, 100, 100, 101, 114, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 48, 36, 50, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 48, 36, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 120, 48, 36, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 36, 51, 59, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 32, 61, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 110, 111, 111, 112, 36, 49, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 110, 111, 111, 112, 36, - 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 110, 111, 111, - 112, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, - 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, - 97, 114, 116, 32, 61, 32, 97, 114, 101, 97, 82, 105, 110, 103, 83, 116, 97, 114, 116, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 46, 108, 105, - 110, 101, 69, 110, 100, 32, 61, 32, 97, 114, 101, 97, 82, 105, 110, 103, 69, 110, 100, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, - 110, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, - 83, 116, 97, 114, 116, 32, 61, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, - 69, 110, 100, 32, 61, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 32, - 61, 32, 110, 111, 111, 112, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 114, 101, 97, 83, 117, 109, 46, 97, 100, 100, 40, 97, 98, 115, 36, 49, 40, 97, 114, 101, 97, 82, 105, - 110, 103, 83, 117, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, - 101, 97, 82, 105, 110, 103, 83, 117, 109, 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, 114, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 115, 117, 108, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 114, 101, 97, 32, 61, 32, 97, 114, 101, 97, - 83, 117, 109, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, - 101, 97, 83, 117, 109, 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, 101, 114, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 101, 97, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 101, 97, 82, 105, 110, 103, 83, 116, 97, 114, 116, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 46, 112, - 111, 105, 110, 116, 32, 61, 32, 97, 114, 101, 97, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 101, - 97, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 32, 61, - 32, 97, 114, 101, 97, 80, 111, 105, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 48, - 36, 50, 32, 61, 32, 120, 48, 36, 51, 32, 61, 32, 120, 44, 32, 121, 48, 48, 36, 50, 32, 61, 32, - 121, 48, 36, 51, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 97, 114, 101, 97, 80, 111, 105, 110, 116, 40, 120, 44, 32, 121, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 82, 105, 110, 103, 83, 117, 109, 46, 97, - 100, 100, 40, 121, 48, 36, 51, 32, 42, 32, 120, 32, 45, 32, 120, 48, 36, 51, 32, 42, 32, 121, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 36, 51, 32, 61, 32, 120, 44, 32, 121, 48, 36, - 51, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 97, 114, 101, 97, 82, 105, 110, 103, 69, 110, 100, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 114, 101, 97, 80, 111, 105, 110, 116, 40, 120, 48, 48, 36, 50, 44, 32, 121, - 48, 48, 36, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 120, - 48, 36, 50, 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 121, 48, 36, 50, 32, 61, 32, 120, 48, 36, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, - 49, 32, 61, 32, 45, 120, 48, 36, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 32, 61, - 32, 120, 49, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 98, 111, 117, 110, 100, 115, 83, 116, 114, - 101, 97, 109, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, - 98, 111, 117, 110, 100, 115, 80, 111, 105, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, - 110, 101, 83, 116, 97, 114, 116, 58, 32, 110, 111, 111, 112, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 110, 111, 111, 112, 36, 49, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 58, 32, 110, 111, 111, 112, 36, - 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 58, 32, - 110, 111, 111, 112, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 98, 111, 117, 110, 100, 115, 32, 61, 32, 91, 91, 120, 48, 36, 50, 44, - 32, 121, 48, 36, 50, 93, 44, 32, 91, 120, 49, 44, 32, 121, 49, 93, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 121, 49, 32, 61, 32, 45, 40, 121, 48, 36, - 50, 32, 61, 32, 120, 48, 36, 50, 32, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 111, 117, 110, 100, - 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 111, 117, 110, 100, 115, 80, 111, 105, 110, 116, 40, - 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 32, 60, - 32, 120, 48, 36, 50, 41, 32, 120, 48, 36, 50, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 120, 32, 62, 32, 120, 49, 41, 32, 120, 49, 32, 61, 32, 120, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 32, 60, 32, 121, 48, 36, 50, 41, 32, 121, 48, - 36, 50, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 32, 62, - 32, 121, 49, 41, 32, 121, 49, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, - 84, 79, 68, 79, 32, 69, 110, 102, 111, 114, 99, 101, 32, 112, 111, 115, 105, 116, 105, 118, 101, 32, 97, - 114, 101, 97, 32, 102, 111, 114, 32, 101, 120, 116, 101, 114, 105, 111, 114, 44, 32, 110, 101, 103, 97, 116, - 105, 118, 101, 32, 97, 114, 101, 97, 32, 102, 111, 114, 32, 105, 110, 116, 101, 114, 105, 111, 114, 63, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 88, 48, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 89, 48, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 90, 48, 32, 61, 32, - 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 49, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 89, 49, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 90, 49, 32, - 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 50, 32, 61, 32, 48, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 89, 50, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 90, - 50, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 48, 36, 49, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 121, 48, 48, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, - 48, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 36, 49, 59, 10, 10, 32, 32, 32, - 32, 118, 97, 114, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 32, 61, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 99, 101, 110, 116, 114, 111, 105, - 100, 80, 111, 105, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, - 114, 116, 58, 32, 99, 101, 110, 116, 114, 111, 105, 100, 76, 105, 110, 101, 83, 116, 97, 114, 116, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 99, 101, 110, 116, 114, 111, - 105, 100, 76, 105, 110, 101, 69, 110, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, - 103, 111, 110, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, - 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, - 100, 82, 105, 110, 103, 83, 116, 97, 114, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 69, 110, 100, - 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, 82, 105, 110, 103, 69, 110, 100, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, - 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 46, 112, - 111, 105, 110, 116, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, - 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, - 76, 105, 110, 101, 83, 116, 97, 114, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 69, 110, 100, 32, - 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, 76, 105, 110, 101, 69, 110, 100, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 99, 101, 110, 116, 114, 111, 105, 100, 32, 61, 32, 90, 50, 32, 63, 32, 91, - 88, 50, 32, 47, 32, 90, 50, 44, 32, 89, 50, 32, 47, 32, 90, 50, 93, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 90, 49, 32, 63, 32, 91, 88, 49, 32, 47, - 32, 90, 49, 44, 32, 89, 49, 32, 47, 32, 90, 49, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 90, 48, 32, 63, 32, 91, 88, 48, 32, 47, - 32, 90, 48, 44, 32, 89, 48, 32, 47, 32, 90, 48, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 91, 78, 97, 78, 44, 32, - 78, 97, 78, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 48, 32, 61, 32, - 89, 48, 32, 61, 32, 90, 48, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 88, 49, 32, 61, 32, 89, 49, 32, 61, 32, 90, 49, 32, 61, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 50, 32, 61, 32, 89, 50, 32, - 61, 32, 90, 50, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 88, 48, 32, 43, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 89, 48, 32, 43, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 43, 43, 90, 48, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, - 101, 110, 116, 114, 111, 105, 100, 76, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 46, 112, 111, - 105, 110, 116, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 70, 105, 114, 115, - 116, 76, 105, 110, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, 76, - 105, 110, 101, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, - 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 32, 61, 32, 99, 101, 110, - 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 76, 105, 110, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 40, 120, 48, 36, 49, 32, 61, 32, 120, - 44, 32, 121, 48, 36, 49, 32, 61, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, - 76, 105, 110, 101, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 100, 120, 32, 61, 32, 120, 32, 45, 32, 120, 48, 36, 49, 44, 32, 100, 121, 32, 61, 32, 121, - 32, 45, 32, 121, 48, 36, 49, 44, 32, 122, 32, 61, 32, 115, 113, 114, 116, 36, 50, 40, 100, 120, 32, - 42, 32, 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 88, 49, 32, 43, 61, 32, 122, 32, 42, 32, 40, 120, 48, 36, 49, 32, 43, 32, 120, 41, 32, - 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 89, 49, 32, 43, 61, 32, 122, 32, 42, 32, - 40, 121, 48, 36, 49, 32, 43, 32, 121, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 90, 49, 32, 43, 61, 32, 122, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, - 111, 105, 100, 80, 111, 105, 110, 116, 40, 120, 48, 36, 49, 32, 61, 32, 120, 44, 32, 121, 48, 36, 49, - 32, 61, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 76, 105, 110, 101, 69, 110, 100, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, - 46, 112, 111, 105, 110, 116, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, - 110, 116, 114, 111, 105, 100, 82, 105, 110, 103, 83, 116, 97, 114, 116, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 46, 112, 111, 105, - 110, 116, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, - 82, 105, 110, 103, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 82, 105, 110, 103, 69, 110, 100, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 82, 105, - 110, 103, 40, 120, 48, 48, 36, 49, 44, 32, 121, 48, 48, 36, 49, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, - 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, 82, 105, 110, 103, 40, 120, 44, 32, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 46, - 112, 111, 105, 110, 116, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 82, 105, - 110, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, - 110, 116, 40, 120, 48, 48, 36, 49, 32, 61, 32, 120, 48, 36, 49, 32, 61, 32, 120, 44, 32, 121, 48, - 48, 36, 49, 32, 61, 32, 121, 48, 36, 49, 32, 61, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, - 111, 105, 110, 116, 82, 105, 110, 103, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 100, 120, 32, 61, 32, 120, 32, 45, 32, 120, 48, 36, 49, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 121, 32, 45, 32, 121, 48, 36, 49, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, 61, 32, 115, 113, 114, 116, 36, - 50, 40, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 41, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 88, 49, 32, 43, 61, 32, 122, 32, 42, 32, 40, 120, 48, 36, 49, - 32, 43, 32, 120, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 89, 49, 32, 43, - 61, 32, 122, 32, 42, 32, 40, 121, 48, 36, 49, 32, 43, 32, 121, 41, 32, 47, 32, 50, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 90, 49, 32, 43, 61, 32, 122, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 122, 32, 61, 32, 121, 48, 36, 49, 32, 42, 32, 120, 32, 45, 32, 120, 48, 36, 49, 32, 42, - 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 50, 32, 43, 61, 32, 122, 32, 42, 32, 40, - 120, 48, 36, 49, 32, 43, 32, 120, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 89, 50, 32, 43, - 61, 32, 122, 32, 42, 32, 40, 121, 48, 36, 49, 32, 43, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 90, 50, 32, 43, 61, 32, 122, 32, 42, 32, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 101, 110, 116, 114, 111, 105, 100, 80, 111, 105, 110, 116, 40, 120, 48, 36, 49, 32, 61, 32, 120, - 44, 32, 121, 48, 36, 49, 32, 61, 32, 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 80, 97, 116, 104, 67, 111, 110, 116, 101, 120, 116, 40, 99, - 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 80, 97, 116, 104, 67, 111, 110, 116, 101, 120, 116, 46, 112, 114, 111, - 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 114, 97, 100, - 105, 117, 115, 58, 32, 52, 46, 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, - 82, 97, 100, 105, 117, 115, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, - 95, 114, 97, 100, 105, 117, 115, 32, 61, 32, 95, 44, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, - 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 48, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, - 121, 103, 111, 110, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, - 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, - 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, - 115, 46, 95, 108, 105, 110, 101, 32, 61, 61, 61, 32, 48, 41, 32, 116, 104, 105, 115, 46, 95, 99, 111, - 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 78, - 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, - 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, - 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, - 105, 110, 116, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 97, 115, 101, 32, 49, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, - 105, 110, 101, 84, 111, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, - 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 32, 43, 32, 116, 104, 105, 115, 46, 95, 114, 97, - 100, 105, 117, 115, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, - 99, 40, 120, 44, 32, 121, 44, 32, 116, 104, 105, 115, 46, 95, 114, 97, 100, 105, 117, 115, 44, 32, 48, - 44, 32, 116, 97, 117, 36, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, - 108, 116, 58, 32, 110, 111, 111, 112, 36, 49, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 108, 101, 110, 103, 116, 104, 83, 117, 109, 32, 61, 32, 110, 101, 119, 32, 65, 100, 100, - 101, 114, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, 104, 82, 105, 110, - 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 121, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 121, 48, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 108, 101, 110, 103, 116, 104, 83, - 116, 114, 101, 97, 109, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, - 58, 32, 110, 111, 111, 112, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, - 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, 104, 83, 116, 114, 101, 97, 109, 46, 112, 111, - 105, 110, 116, 32, 61, 32, 108, 101, 110, 103, 116, 104, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, - 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 101, 110, 103, 116, 104, 82, 105, 110, 103, 41, - 32, 108, 101, 110, 103, 116, 104, 80, 111, 105, 110, 116, 40, 120, 48, 48, 44, 32, 121, 48, 48, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, 104, 83, 116, 114, 101, - 97, 109, 46, 112, 111, 105, 110, 116, 32, 61, 32, 110, 111, 111, 112, 36, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, - 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, 104, 82, 105, 110, 103, 32, 61, 32, 116, 114, - 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, 104, 82, 105, 110, - 103, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 101, 110, - 103, 116, 104, 32, 61, 32, 43, 108, 101, 110, 103, 116, 104, 83, 117, 109, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, 104, 83, 117, 109, 32, 61, 32, 110, 101, 119, 32, - 65, 100, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 101, - 110, 103, 116, 104, 80, 111, 105, 110, 116, 70, 105, 114, 115, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, 104, 83, 116, 114, 101, 97, 109, 46, 112, 111, - 105, 110, 116, 32, 61, 32, 108, 101, 110, 103, 116, 104, 80, 111, 105, 110, 116, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 120, 48, 48, 32, 61, 32, 120, 48, 32, 61, 32, 120, 44, 32, 121, 48, 48, 32, 61, - 32, 121, 48, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 108, 101, 110, 103, 116, 104, 80, 111, 105, 110, 116, 40, 120, 44, 32, 121, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 45, 61, 32, 120, 44, 32, 121, 48, 32, - 45, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, 104, 83, 117, 109, - 46, 97, 100, 100, 40, 115, 113, 114, 116, 36, 50, 40, 120, 48, 32, 42, 32, 120, 48, 32, 43, 32, 121, - 48, 32, 42, 32, 121, 48, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, - 120, 44, 32, 121, 48, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 80, 97, 116, 104, 83, 116, 114, 105, 110, 103, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 115, 116, 114, 105, 110, 103, 32, 61, 32, - 91, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 80, 97, 116, 104, 83, 116, 114, 105, - 110, 103, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 95, 114, 97, 100, 105, 117, 115, 58, 32, 52, 46, 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 95, 99, 105, 114, 99, 108, 101, 58, 32, 99, 105, 114, 99, 108, 101, 36, 49, 40, 52, 46, 53, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 82, 97, 100, 105, 117, 115, 58, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 40, 95, 32, 61, 32, 43, 95, 41, 32, 33, 61, 61, 32, 116, 104, 105, - 115, 46, 95, 114, 97, 100, 105, 117, 115, 41, 32, 116, 104, 105, 115, 46, 95, 114, 97, 100, 105, 117, 115, - 32, 61, 32, 95, 44, 32, 116, 104, 105, 115, 46, 95, 99, 105, 114, 99, 108, 101, 32, 61, 32, 110, 117, - 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 108, 105, 110, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 61, 61, 32, 48, - 41, 32, 116, 104, 105, 115, 46, 95, 115, 116, 114, 105, 110, 103, 46, 112, 117, 115, 104, 40, 34, 90, 34, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, - 105, 110, 116, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, - 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 95, 115, 116, 114, 105, 110, 103, 46, 112, 117, 115, 104, 40, 34, 77, 34, 44, 32, 120, 44, 32, - 34, 44, 34, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, - 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 115, 116, 114, 105, 110, 103, 46, 112, 117, 115, 104, 40, 34, 76, 34, 44, 32, 120, - 44, 32, 34, 44, 34, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 99, 105, - 114, 99, 108, 101, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 116, 104, 105, 115, 46, 95, 99, 105, 114, - 99, 108, 101, 32, 61, 32, 99, 105, 114, 99, 108, 101, 36, 49, 40, 116, 104, 105, 115, 46, 95, 114, 97, - 100, 105, 117, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 115, 116, 114, 105, 110, 103, 46, 112, 117, 115, 104, 40, 34, - 77, 34, 44, 32, 120, 44, 32, 34, 44, 34, 44, 32, 121, 44, 32, 116, 104, 105, 115, 46, 95, 99, 105, - 114, 99, 108, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 115, 116, 114, 105, 110, 103, 46, 108, 101, 110, - 103, 116, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 114, 101, 115, 117, 108, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 115, 116, 114, 105, - 110, 103, 46, 106, 111, 105, 110, 40, 34, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 115, 116, 114, 105, 110, 103, 32, 61, 32, 91, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 114, 101, 115, 117, 108, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 105, 114, 99, 108, 101, 36, 49, 40, 114, - 97, 100, 105, 117, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 34, 109, 48, 44, 34, 32, 43, 32, 114, 97, 100, 105, 117, 115, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 43, 32, 34, 97, 34, 32, 43, 32, 114, 97, 100, 105, 117, 115, 32, 43, 32, 34, - 44, 34, 32, 43, 32, 114, 97, 100, 105, 117, 115, 32, 43, 32, 34, 32, 48, 32, 49, 44, 49, 32, 48, - 44, 34, 32, 43, 32, 45, 50, 32, 42, 32, 114, 97, 100, 105, 117, 115, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 43, 32, 34, 97, 34, 32, 43, 32, 114, 97, 100, 105, 117, 115, 32, 43, 32, - 34, 44, 34, 32, 43, 32, 114, 97, 100, 105, 117, 115, 32, 43, 32, 34, 32, 48, 32, 49, 44, 49, 32, - 48, 44, 34, 32, 43, 32, 50, 32, 42, 32, 114, 97, 100, 105, 117, 115, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 43, 32, 34, 122, 34, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 100, 101, 120, 36, 50, 40, 112, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 44, 32, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 112, 111, 105, 110, 116, 82, 97, 100, 105, 117, 115, 32, 61, 32, 52, 46, - 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, - 111, 110, 83, 116, 114, 101, 97, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 116, 101, 120, 116, 83, 116, 114, 101, 97, 109, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 116, 104, 40, 111, 98, 106, 101, 99, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 98, 106, 101, 99, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 116, 121, 112, 101, 111, 102, 32, 112, 111, 105, 110, 116, 82, 97, 100, 105, 117, 115, 32, 61, 61, 61, - 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 99, 111, 110, 116, 101, 120, 116, 83, 116, 114, - 101, 97, 109, 46, 112, 111, 105, 110, 116, 82, 97, 100, 105, 117, 115, 40, 43, 112, 111, 105, 110, 116, 82, - 97, 100, 105, 117, 115, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 103, 101, 111, 83, 116, 114, 101, 97, 109, 40, 111, 98, 106, 101, 99, 116, 44, 32, 112, 114, 111, 106, - 101, 99, 116, 105, 111, 110, 83, 116, 114, 101, 97, 109, 40, 99, 111, 110, 116, 101, 120, 116, 83, 116, 114, - 101, 97, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 110, 116, 101, 120, - 116, 83, 116, 114, 101, 97, 109, 46, 114, 101, 115, 117, 108, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 116, 104, 46, 97, 114, 101, 97, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 111, 83, 116, 114, 101, 97, 109, 40, 111, 98, - 106, 101, 99, 116, 44, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 83, 116, 114, 101, 97, 109, 40, - 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 101, 97, 83, 116, 114, 101, 97, 109, 46, 114, 101, - 115, 117, 108, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 97, 116, 104, 46, 109, 101, 97, 115, 117, 114, 101, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 103, 101, 111, 83, 116, 114, 101, 97, 109, 40, 111, 98, 106, 101, 99, 116, 44, 32, - 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 83, 116, 114, 101, 97, 109, 40, 108, 101, 110, 103, 116, 104, - 83, 116, 114, 101, 97, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 108, 101, 110, 103, 116, 104, 83, 116, 114, 101, 97, 109, 46, 114, 101, 115, 117, - 108, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 112, 97, 116, 104, 46, 98, 111, 117, 110, 100, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 103, 101, 111, 83, 116, 114, 101, 97, 109, 40, 111, 98, 106, 101, 99, 116, 44, 32, 112, 114, 111, - 106, 101, 99, 116, 105, 111, 110, 83, 116, 114, 101, 97, 109, 40, 98, 111, 117, 110, 100, 115, 83, 116, 114, - 101, 97, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 98, 111, 117, 110, 100, 115, 83, 116, 114, 101, 97, 109, 46, 114, 101, 115, 117, 108, 116, 40, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 97, 116, 104, 46, 99, 101, 110, 116, 114, 111, 105, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 103, 101, 111, 83, 116, 114, 101, 97, 109, 40, 111, 98, 106, 101, 99, 116, 44, 32, 112, 114, 111, 106, - 101, 99, 116, 105, 111, 110, 83, 116, 114, 101, 97, 109, 40, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, - 114, 101, 97, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 83, 116, 114, 101, 97, 109, 46, 114, 101, 115, 117, - 108, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 112, 97, 116, 104, 46, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 32, 63, 32, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 83, 116, 114, 101, 97, 109, 32, 61, - 32, 95, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, - 110, 32, 61, 32, 110, 117, 108, 108, 44, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 53, 41, 32, 58, - 32, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 32, 61, 32, 95, 41, 46, 115, 116, 114, 101, 97, - 109, 44, 32, 112, 97, 116, 104, 41, 32, 58, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 116, - 104, 46, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 99, - 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 116, 101, 120, 116, 83, 116, 114, 101, 97, 109, 32, 61, 32, 95, 32, 61, 61, 32, 110, 117, 108, 108, 32, - 63, 32, 40, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 117, 108, 108, 44, 32, 110, 101, 119, 32, - 80, 97, 116, 104, 83, 116, 114, 105, 110, 103, 41, 32, 58, 32, 110, 101, 119, 32, 80, 97, 116, 104, 67, - 111, 110, 116, 101, 120, 116, 40, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 95, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 112, 111, - 105, 110, 116, 82, 97, 100, 105, 117, 115, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, - 34, 41, 32, 99, 111, 110, 116, 101, 120, 116, 83, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 82, - 97, 100, 105, 117, 115, 40, 112, 111, 105, 110, 116, 82, 97, 100, 105, 117, 115, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 116, 104, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 116, 104, - 46, 112, 111, 105, 110, 116, 82, 97, 100, 105, 117, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, - 110, 32, 112, 111, 105, 110, 116, 82, 97, 100, 105, 117, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 111, 105, 110, 116, 82, 97, 100, 105, 117, 115, 32, 61, 32, 116, 121, 112, 101, 111, - 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, - 58, 32, 40, 99, 111, 110, 116, 101, 120, 116, 83, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 82, - 97, 100, 105, 117, 115, 40, 43, 95, 41, 44, 32, 43, 95, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 116, 104, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, - 97, 116, 104, 46, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 112, 114, 111, 106, 101, 99, 116, 105, - 111, 110, 41, 46, 99, 111, 110, 116, 101, 120, 116, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, - 115, 102, 111, 114, 109, 36, 49, 40, 109, 101, 116, 104, 111, 100, 115, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 116, 114, 101, 97, 109, 58, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 36, 51, - 40, 109, 101, 116, 104, 111, 100, 115, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 101, 114, 36, 51, 40, 109, 101, 116, 104, 111, 100, 115, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, - 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 115, 32, 61, 32, 110, 101, 119, 32, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 116, 114, 101, 97, - 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, - 32, 107, 101, 121, 32, 105, 110, 32, 109, 101, 116, 104, 111, 100, 115, 41, 32, 115, 91, 107, 101, 121, 93, - 32, 61, 32, 109, 101, 116, 104, 111, 100, 115, 91, 107, 101, 121, 93, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 46, 115, 116, 114, 101, 97, 109, 32, 61, 32, 115, 116, 114, 101, 97, 109, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 116, 114, 101, 97, - 109, 40, 41, 32, 123, 125, 10, 10, 32, 32, 32, 32, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 116, - 114, 101, 97, 109, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 32, 84, 114, 97, 110, 115, 102, - 111, 114, 109, 83, 116, 114, 101, 97, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, - 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 32, 116, 104, 105, - 115, 46, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 120, 44, 32, 121, 41, 59, 32, 125, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 104, 101, 114, 101, 58, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 41, 32, 123, 32, 116, 104, 105, 115, 46, 115, 116, 114, 101, 97, 109, 46, 115, 112, 104, - 101, 114, 101, 40, 41, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, - 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 116, 104, 105, 115, - 46, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 32, 125, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 41, 32, 123, 32, 116, 104, 105, 115, 46, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, - 101, 69, 110, 100, 40, 41, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, - 103, 111, 110, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, - 116, 104, 105, 115, 46, 115, 116, 114, 101, 97, 109, 46, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, - 116, 40, 41, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, - 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 116, 104, 105, 115, 46, - 115, 116, 114, 101, 97, 109, 46, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 40, 41, 59, 32, 125, 10, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 105, - 116, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 102, 105, 116, 66, 111, 117, 110, 100, 115, - 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 99, 108, 105, 112, 32, 61, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 99, 108, 105, 112, - 69, 120, 116, 101, 110, 116, 32, 38, 38, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 99, 108, - 105, 112, 69, 120, 116, 101, 110, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, - 106, 101, 99, 116, 105, 111, 110, 46, 115, 99, 97, 108, 101, 40, 49, 53, 48, 41, 46, 116, 114, 97, 110, - 115, 108, 97, 116, 101, 40, 91, 48, 44, 32, 48, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 99, 108, 105, 112, 32, 33, 61, 32, 110, 117, 108, 108, 41, 32, 112, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 46, 99, 108, 105, 112, 69, 120, 116, 101, 110, 116, 40, 110, 117, 108, 108, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 111, 83, 116, 114, 101, 97, 109, 40, 111, 98, 106, 101, - 99, 116, 44, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 115, 116, 114, 101, 97, 109, 40, 98, - 111, 117, 110, 100, 115, 83, 116, 114, 101, 97, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 105, 116, 66, 111, 117, 110, 100, 115, 40, 98, 111, 117, 110, 100, 115, 83, 116, 114, 101, 97, 109, 46, - 114, 101, 115, 117, 108, 116, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 99, 108, 105, 112, 32, 33, 61, 32, 110, 117, 108, 108, 41, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, - 110, 46, 99, 108, 105, 112, 69, 120, 116, 101, 110, 116, 40, 99, 108, 105, 112, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 105, - 116, 69, 120, 116, 101, 110, 116, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 101, 120, 116, - 101, 110, 116, 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 102, 105, 116, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 119, 32, 61, 32, 101, 120, 116, 101, 110, 116, 91, 49, 93, 91, 48, 93, - 32, 45, 32, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 32, 101, 120, 116, 101, 110, 116, 91, 49, 93, - 91, 49, 93, 32, 45, 32, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 49, 93, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 77, 97, 116, 104, 46, 109, - 105, 110, 40, 119, 32, 47, 32, 40, 98, 91, 49, 93, 91, 48, 93, 32, 45, 32, 98, 91, 48, 93, 91, - 48, 93, 41, 44, 32, 104, 32, 47, 32, 40, 98, 91, 49, 93, 91, 49, 93, 32, 45, 32, 98, 91, 48, - 93, 91, 49, 93, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 120, 32, 61, 32, 43, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 48, 93, 32, 43, 32, 40, 119, - 32, 45, 32, 107, 32, 42, 32, 40, 98, 91, 49, 93, 91, 48, 93, 32, 43, 32, 98, 91, 48, 93, 91, - 48, 93, 41, 41, 32, 47, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 121, 32, 61, 32, 43, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 49, 93, 32, 43, 32, - 40, 104, 32, 45, 32, 107, 32, 42, 32, 40, 98, 91, 49, 93, 91, 49, 93, 32, 43, 32, 98, 91, 48, - 93, 91, 49, 93, 41, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 115, 99, 97, 108, 101, 40, 49, 53, 48, 32, 42, - 32, 107, 41, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 91, 120, 44, 32, 121, 93, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 111, 98, 106, 101, 99, 116, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 105, 116, 83, 105, 122, - 101, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 115, 105, 122, 101, 44, 32, 111, 98, 106, - 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, - 105, 116, 69, 120, 116, 101, 110, 116, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 91, 91, - 48, 44, 32, 48, 93, 44, 32, 115, 105, 122, 101, 93, 44, 32, 111, 98, 106, 101, 99, 116, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 105, 116, - 87, 105, 100, 116, 104, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 119, 105, 100, 116, 104, - 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 105, 116, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 119, 32, 61, 32, 43, 119, 105, 100, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 119, 32, 47, 32, 40, 98, 91, 49, 93, 91, - 48, 93, 32, 45, 32, 98, 91, 48, 93, 91, 48, 93, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 40, 119, 32, 45, 32, 107, 32, 42, 32, 40, 98, - 91, 49, 93, 91, 48, 93, 32, 43, 32, 98, 91, 48, 93, 91, 48, 93, 41, 41, 32, 47, 32, 50, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 45, 107, - 32, 42, 32, 98, 91, 48, 93, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 115, 99, 97, 108, 101, 40, 49, 53, 48, 32, 42, - 32, 107, 41, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 91, 120, 44, 32, 121, 93, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 111, 98, 106, 101, 99, 116, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 105, 116, 72, 101, 105, - 103, 104, 116, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 104, 101, 105, 103, 104, 116, 44, - 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 102, 105, 116, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 104, 32, 61, 32, 43, 104, 101, 105, 103, 104, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 104, 32, 47, 32, 40, 98, 91, 49, 93, 91, - 49, 93, 32, 45, 32, 98, 91, 48, 93, 91, 49, 93, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 45, 107, 32, 42, 32, 98, 91, 48, 93, 91, 48, - 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, - 40, 104, 32, 45, 32, 107, 32, 42, 32, 40, 98, 91, 49, 93, 91, 49, 93, 32, 43, 32, 98, 91, 48, - 93, 91, 49, 93, 41, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 115, 99, 97, 108, 101, 40, 49, 53, 48, 32, 42, - 32, 107, 41, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 91, 120, 44, 32, 121, 93, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 111, 98, 106, 101, 99, 116, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 109, 97, 120, 68, 101, 112, 116, 104, 32, 61, 32, - 49, 54, 44, 32, 47, 47, 32, 109, 97, 120, 105, 109, 117, 109, 32, 100, 101, 112, 116, 104, 32, 111, 102, - 32, 115, 117, 98, 100, 105, 118, 105, 115, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 115, 77, 105, 110, 68, 105, 115, 116, 97, 110, 99, 101, 32, 61, 32, 99, 111, 115, 36, 49, 40, 51, 48, - 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 41, 59, 32, 47, 47, 32, 99, 111, 115, 40, 109, 105, 110, - 105, 109, 117, 109, 32, 97, 110, 103, 117, 108, 97, 114, 32, 100, 105, 115, 116, 97, 110, 99, 101, 41, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 97, 109, 112, 108, 101, 40, - 112, 114, 111, 106, 101, 99, 116, 44, 32, 100, 101, 108, 116, 97, 50, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 43, 100, 101, 108, 116, 97, 50, 32, 63, 32, 114, 101, - 115, 97, 109, 112, 108, 101, 36, 49, 40, 112, 114, 111, 106, 101, 99, 116, 44, 32, 100, 101, 108, 116, 97, - 50, 41, 32, 58, 32, 114, 101, 115, 97, 109, 112, 108, 101, 78, 111, 110, 101, 40, 112, 114, 111, 106, 101, - 99, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 114, 101, 115, 97, 109, 112, 108, 101, 78, 111, 110, 101, 40, 112, 114, 111, 106, 101, 99, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 101, 114, 36, 51, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 112, 114, - 111, 106, 101, 99, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, - 40, 120, 91, 48, 93, 44, 32, 120, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 97, 109, 112, 108, 101, 36, - 49, 40, 112, 114, 111, 106, 101, 99, 116, 44, 32, 100, 101, 108, 116, 97, 50, 41, 32, 123, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 97, 109, 112, 108, - 101, 76, 105, 110, 101, 84, 111, 40, 120, 48, 44, 32, 121, 48, 44, 32, 108, 97, 109, 98, 100, 97, 48, - 44, 32, 97, 48, 44, 32, 98, 48, 44, 32, 99, 48, 44, 32, 120, 49, 44, 32, 121, 49, 44, 32, 108, - 97, 109, 98, 100, 97, 49, 44, 32, 97, 49, 44, 32, 98, 49, 44, 32, 99, 49, 44, 32, 100, 101, 112, - 116, 104, 44, 32, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 100, 120, 32, 61, 32, 120, 49, 32, 45, 32, 120, 48, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 121, 49, 32, 45, - 32, 121, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 50, - 32, 61, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 50, 32, 62, 32, 52, 32, 42, - 32, 100, 101, 108, 116, 97, 50, 32, 38, 38, 32, 100, 101, 112, 116, 104, 45, 45, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, - 97, 48, 32, 43, 32, 97, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 98, 48, 32, 43, 32, 98, 49, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 99, 48, 32, - 43, 32, 99, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 109, 32, 61, 32, 115, 113, 114, 116, 36, 50, 40, 97, 32, 42, 32, 97, 32, 43, 32, 98, - 32, 42, 32, 98, 32, 43, 32, 99, 32, 42, 32, 99, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 50, 32, 61, 32, 97, 115, 105, 110, - 36, 49, 40, 99, 32, 47, 61, 32, 109, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 50, 32, 61, 32, 97, 98, 115, 36, - 49, 40, 97, 98, 115, 36, 49, 40, 99, 41, 32, 45, 32, 49, 41, 32, 60, 32, 101, 112, 115, 105, 108, - 111, 110, 36, 49, 32, 124, 124, 32, 97, 98, 115, 36, 49, 40, 108, 97, 109, 98, 100, 97, 48, 32, 45, - 32, 108, 97, 109, 98, 100, 97, 49, 41, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 32, 63, - 32, 40, 108, 97, 109, 98, 100, 97, 48, 32, 43, 32, 108, 97, 109, 98, 100, 97, 49, 41, 32, 47, 32, - 50, 32, 58, 32, 97, 116, 97, 110, 50, 36, 49, 40, 98, 44, 32, 97, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, 112, 114, 111, - 106, 101, 99, 116, 40, 108, 97, 109, 98, 100, 97, 50, 44, 32, 112, 104, 105, 50, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 50, 32, 61, 32, - 112, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 121, 50, 32, 61, 32, 112, 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 50, 32, 61, 32, 120, 50, 32, 45, 32, 120, - 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 121, 50, 32, 61, 32, 121, 50, 32, 45, 32, 121, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 122, 32, 61, 32, 100, 121, 32, 42, 32, 100, - 120, 50, 32, 45, 32, 100, 120, 32, 42, 32, 100, 121, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 122, 32, 42, 32, 100, 122, 32, 47, 32, 100, - 50, 32, 62, 32, 100, 101, 108, 116, 97, 50, 32, 47, 47, 32, 112, 101, 114, 112, 101, 110, 100, 105, 99, - 117, 108, 97, 114, 32, 112, 114, 111, 106, 101, 99, 116, 101, 100, 32, 100, 105, 115, 116, 97, 110, 99, 101, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 124, - 32, 97, 98, 115, 36, 49, 40, 40, 100, 120, 32, 42, 32, 100, 120, 50, 32, 43, 32, 100, 121, 32, 42, - 32, 100, 121, 50, 41, 32, 47, 32, 100, 50, 32, 45, 32, 48, 46, 53, 41, 32, 62, 32, 48, 46, 51, - 32, 47, 47, 32, 109, 105, 100, 112, 111, 105, 110, 116, 32, 99, 108, 111, 115, 101, 32, 116, 111, 32, 97, - 110, 32, 101, 110, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 124, 124, 32, 97, 48, 32, 42, 32, 97, 49, 32, 43, 32, 98, 48, 32, 42, 32, 98, 49, - 32, 43, 32, 99, 48, 32, 42, 32, 99, 49, 32, 60, 32, 99, 111, 115, 77, 105, 110, 68, 105, 115, 116, - 97, 110, 99, 101, 41, 32, 123, 32, 47, 47, 32, 97, 110, 103, 117, 108, 97, 114, 32, 100, 105, 115, 116, - 97, 110, 99, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 115, 97, 109, 112, 108, 101, 76, 105, 110, 101, 84, 111, 40, 120, 48, 44, 32, 121, 48, - 44, 32, 108, 97, 109, 98, 100, 97, 48, 44, 32, 97, 48, 44, 32, 98, 48, 44, 32, 99, 48, 44, 32, - 120, 50, 44, 32, 121, 50, 44, 32, 108, 97, 109, 98, 100, 97, 50, 44, 32, 97, 32, 47, 61, 32, 109, - 44, 32, 98, 32, 47, 61, 32, 109, 44, 32, 99, 44, 32, 100, 101, 112, 116, 104, 44, 32, 115, 116, 114, - 101, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 120, 50, 44, 32, 121, 50, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 115, 97, 109, 112, 108, 101, 76, 105, 110, 101, 84, 111, 40, 120, 50, 44, 32, 121, 50, 44, 32, 108, - 97, 109, 98, 100, 97, 50, 44, 32, 97, 44, 32, 98, 44, 32, 99, 44, 32, 120, 49, 44, 32, 121, 49, - 44, 32, 108, 97, 109, 98, 100, 97, 49, 44, 32, 97, 49, 44, 32, 98, 49, 44, 32, 99, 49, 44, 32, - 100, 101, 112, 116, 104, 44, 32, 115, 116, 114, 101, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 97, 109, 98, 100, 97, 48, - 48, 44, 32, 120, 48, 48, 44, 32, 121, 48, 48, 44, 32, 97, 48, 48, 44, 32, 98, 48, 48, 44, 32, - 99, 48, 48, 44, 32, 47, 47, 32, 102, 105, 114, 115, 116, 32, 112, 111, 105, 110, 116, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 48, 44, 32, 120, - 48, 44, 32, 121, 48, 44, 32, 97, 48, 44, 32, 98, 48, 44, 32, 99, 48, 59, 32, 47, 47, 32, 112, - 114, 101, 118, 105, 111, 117, 115, 32, 112, 111, 105, 110, 116, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 114, 101, 115, 97, 109, 112, 108, 101, 83, 116, 114, 101, 97, 109, 32, - 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, - 110, 116, 58, 32, 112, 111, 105, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 108, 105, 110, 101, 83, 116, 97, 114, - 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, - 69, 110, 100, 58, 32, 108, 105, 110, 101, 69, 110, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 108, 121, 103, - 111, 110, 83, 116, 97, 114, 116, 40, 41, 59, 32, 114, 101, 115, 97, 109, 112, 108, 101, 83, 116, 114, 101, - 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 32, 61, 32, 114, 105, 110, 103, 83, 116, 97, 114, - 116, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 111, 108, 121, 103, 111, 110, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 40, 41, 59, 32, 114, - 101, 115, 97, 109, 112, 108, 101, 83, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, - 32, 61, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 59, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 112, 114, 111, 106, 101, - 99, 116, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, 120, 91, 48, 93, 44, 32, 120, - 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, - 83, 116, 97, 114, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 48, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 115, 97, 109, 112, 108, 101, 83, 116, 114, 101, 97, 109, 46, 112, 111, - 105, 110, 116, 32, 61, 32, 108, 105, 110, 101, 80, 111, 105, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 83, 116, - 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, - 101, 80, 111, 105, 110, 116, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, - 99, 97, 114, 116, 101, 115, 105, 97, 110, 40, 91, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 93, - 41, 44, 32, 112, 32, 61, 32, 112, 114, 111, 106, 101, 99, 116, 40, 108, 97, 109, 98, 100, 97, 44, 32, - 112, 104, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 115, 97, 109, 112, 108, 101, 76, 105, 110, 101, 84, 111, 40, 120, 48, 44, 32, 121, 48, 44, 32, 108, - 97, 109, 98, 100, 97, 48, 44, 32, 97, 48, 44, 32, 98, 48, 44, 32, 99, 48, 44, 32, 120, 48, 32, - 61, 32, 112, 91, 48, 93, 44, 32, 121, 48, 32, 61, 32, 112, 91, 49, 93, 44, 32, 108, 97, 109, 98, - 100, 97, 48, 32, 61, 32, 108, 97, 109, 98, 100, 97, 44, 32, 97, 48, 32, 61, 32, 99, 91, 48, 93, - 44, 32, 98, 48, 32, 61, 32, 99, 91, 49, 93, 44, 32, 99, 48, 32, 61, 32, 99, 91, 50, 93, 44, - 32, 109, 97, 120, 68, 101, 112, 116, 104, 44, 32, 115, 116, 114, 101, 97, 109, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, - 110, 116, 40, 120, 48, 44, 32, 121, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 108, 105, 110, 101, 69, 110, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 97, 109, 112, 108, 101, 83, 116, 114, 101, 97, 109, 46, 112, - 111, 105, 110, 116, 32, 61, 32, 112, 111, 105, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 105, 110, 103, 83, 116, 97, 114, - 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, - 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 115, 97, 109, 112, 108, 101, 83, 116, 114, 101, 97, 109, 46, 112, 111, 105, - 110, 116, 32, 61, 32, 114, 105, 110, 103, 80, 111, 105, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 97, 109, 112, 108, 101, 83, 116, 114, 101, 97, 109, - 46, 108, 105, 110, 101, 69, 110, 100, 32, 61, 32, 114, 105, 110, 103, 69, 110, 100, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 105, 110, 103, 80, 111, 105, 110, 116, 40, 108, 97, 109, - 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 110, 101, 80, 111, 105, 110, 116, 40, 108, 97, 109, 98, 100, 97, 48, 48, - 32, 61, 32, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 44, 32, 120, 48, 48, 32, 61, 32, - 120, 48, 44, 32, 121, 48, 48, 32, 61, 32, 121, 48, 44, 32, 97, 48, 48, 32, 61, 32, 97, 48, 44, - 32, 98, 48, 48, 32, 61, 32, 98, 48, 44, 32, 99, 48, 48, 32, 61, 32, 99, 48, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 97, 109, 112, 108, 101, 83, - 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 32, 61, 32, 108, 105, 110, 101, 80, 111, 105, 110, 116, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 105, 110, 103, 69, 110, 100, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, - 97, 109, 112, 108, 101, 76, 105, 110, 101, 84, 111, 40, 120, 48, 44, 32, 121, 48, 44, 32, 108, 97, 109, - 98, 100, 97, 48, 44, 32, 97, 48, 44, 32, 98, 48, 44, 32, 99, 48, 44, 32, 120, 48, 48, 44, 32, - 121, 48, 48, 44, 32, 108, 97, 109, 98, 100, 97, 48, 48, 44, 32, 97, 48, 48, 44, 32, 98, 48, 48, - 44, 32, 99, 48, 48, 44, 32, 109, 97, 120, 68, 101, 112, 116, 104, 44, 32, 115, 116, 114, 101, 97, 109, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 97, - 109, 112, 108, 101, 83, 116, 114, 101, 97, 109, 46, 108, 105, 110, 101, 69, 110, 100, 32, 61, 32, 108, 105, - 110, 101, 69, 110, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, - 101, 115, 97, 109, 112, 108, 101, 83, 116, 114, 101, 97, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 82, 97, 100, 105, 97, 110, 115, 32, 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 101, 114, 36, 51, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, 40, - 120, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 121, 32, 42, 32, 114, 97, 100, 105, 97, 110, - 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 41, 59, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 82, - 111, 116, 97, 116, 101, 40, 114, 111, 116, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 36, 51, 40, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 114, 111, 116, 97, 116, 101, 40, 120, - 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 115, 116, 114, 101, 97, 109, 46, 112, 111, 105, 110, 116, - 40, 114, 91, 48, 93, 44, 32, 114, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, 101, 84, 114, 97, 110, - 115, 108, 97, 116, 101, 40, 107, 44, 32, 100, 120, 44, 32, 100, 121, 44, 32, 115, 120, 44, 32, 115, 121, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, - 97, 110, 115, 102, 111, 114, 109, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 120, 32, 42, 61, 32, 115, 120, 59, 32, 121, 32, 42, 61, 32, 115, 121, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 100, 120, 32, - 43, 32, 107, 32, 42, 32, 120, 44, 32, 100, 121, 32, 45, 32, 107, 32, 42, 32, 121, 93, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, - 111, 114, 109, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, - 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 91, 40, 120, 32, 45, 32, 100, 120, 41, 32, 47, 32, 107, 32, 42, 32, 115, 120, 44, 32, - 40, 100, 121, 32, 45, 32, 121, 41, 32, 47, 32, 107, 32, 42, 32, 115, 121, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 116, 114, 97, 110, 115, 102, 111, 114, 109, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, 101, 84, 114, 97, 110, 115, 108, 97, 116, 101, 82, - 111, 116, 97, 116, 101, 40, 107, 44, 32, 100, 120, 44, 32, 100, 121, 44, 32, 115, 120, 44, 32, 115, 121, - 44, 32, 97, 108, 112, 104, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 97, 108, 112, 104, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, 84, 114, 97, - 110, 115, 108, 97, 116, 101, 40, 107, 44, 32, 100, 120, 44, 32, 100, 121, 44, 32, 115, 120, 44, 32, 115, - 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 115, 65, 108, 112, 104, - 97, 32, 61, 32, 99, 111, 115, 36, 49, 40, 97, 108, 112, 104, 97, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 105, 110, 65, 108, 112, 104, 97, 32, 61, 32, 115, 105, 110, 36, 49, - 40, 97, 108, 112, 104, 97, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, - 61, 32, 99, 111, 115, 65, 108, 112, 104, 97, 32, 42, 32, 107, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 98, 32, 61, 32, 115, 105, 110, 65, 108, 112, 104, 97, 32, 42, 32, 107, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 105, 32, 61, 32, 99, 111, 115, 65, 108, 112, - 104, 97, 32, 47, 32, 107, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 105, 32, - 61, 32, 115, 105, 110, 65, 108, 112, 104, 97, 32, 47, 32, 107, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 105, 32, 61, 32, 40, 115, 105, 110, 65, 108, 112, 104, 97, 32, 42, 32, 100, - 121, 32, 45, 32, 99, 111, 115, 65, 108, 112, 104, 97, 32, 42, 32, 100, 120, 41, 32, 47, 32, 107, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 32, 61, 32, 40, 115, 105, 110, 65, - 108, 112, 104, 97, 32, 42, 32, 100, 120, 32, 43, 32, 99, 111, 115, 65, 108, 112, 104, 97, 32, 42, 32, - 100, 121, 41, 32, 47, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 42, 61, 32, 115, 120, 59, 32, 121, 32, 42, 61, - 32, 115, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 91, 97, 32, 42, 32, 120, 32, 45, 32, 98, 32, 42, 32, 121, 32, 43, 32, 100, 120, 44, 32, 100, - 121, 32, 45, 32, 98, 32, 42, 32, 120, 32, 45, 32, 97, 32, 42, 32, 121, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, 114, - 109, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, - 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 91, 115, 120, 32, 42, 32, 40, 97, 105, 32, 42, 32, 120, 32, 45, 32, 98, 105, 32, 42, 32, 121, - 32, 43, 32, 99, 105, 41, 44, 32, 115, 121, 32, 42, 32, 40, 102, 105, 32, 45, 32, 98, 105, 32, 42, - 32, 120, 32, 45, 32, 97, 105, 32, 42, 32, 121, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 112, 114, 111, 106, 101, 99, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, - 116, 105, 111, 110, 77, 117, 116, 97, 116, 111, 114, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, - 123, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, 116, 59, 32, 125, 41, 40, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 114, - 111, 106, 101, 99, 116, 105, 111, 110, 77, 117, 116, 97, 116, 111, 114, 40, 112, 114, 111, 106, 101, 99, 116, - 65, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 114, 111, 106, 101, - 99, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 49, 53, 48, - 44, 32, 47, 47, 32, 115, 99, 97, 108, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 32, 61, 32, 52, 56, 48, 44, 32, 121, 32, 61, 32, 50, 53, 48, 44, 32, 47, 47, 32, 116, 114, - 97, 110, 115, 108, 97, 116, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, - 98, 100, 97, 32, 61, 32, 48, 44, 32, 112, 104, 105, 32, 61, 32, 48, 44, 32, 47, 47, 32, 99, 101, - 110, 116, 101, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 116, 97, 76, - 97, 109, 98, 100, 97, 32, 61, 32, 48, 44, 32, 100, 101, 108, 116, 97, 80, 104, 105, 32, 61, 32, 48, - 44, 32, 100, 101, 108, 116, 97, 71, 97, 109, 109, 97, 32, 61, 32, 48, 44, 32, 114, 111, 116, 97, 116, - 101, 44, 32, 47, 47, 32, 112, 114, 101, 45, 114, 111, 116, 97, 116, 101, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 108, 112, 104, 97, 32, 61, 32, 48, 44, 32, 47, 47, 32, 112, 111, 115, - 116, 45, 114, 111, 116, 97, 116, 101, 32, 97, 110, 103, 108, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 120, 32, 61, 32, 49, 44, 32, 47, 47, 32, 114, 101, 102, 108, 101, 99, 116, 88, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 121, 32, 61, 32, 49, 44, 32, 47, 47, - 32, 114, 101, 102, 108, 101, 99, 116, 88, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 101, 116, 97, 32, 61, 32, 110, 117, 108, 108, 44, 32, 112, 114, 101, 99, 108, 105, 112, 32, 61, 32, - 99, 108, 105, 112, 65, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 44, 32, 47, 47, 32, 112, 114, - 101, 45, 99, 108, 105, 112, 32, 97, 110, 103, 108, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 120, 48, 32, 61, 32, 110, 117, 108, 108, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, - 44, 32, 112, 111, 115, 116, 99, 108, 105, 112, 32, 61, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 53, - 44, 32, 47, 47, 32, 112, 111, 115, 116, 45, 99, 108, 105, 112, 32, 101, 120, 116, 101, 110, 116, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 116, 97, 50, 32, 61, 32, 48, 46, 53, - 44, 32, 47, 47, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 82, 101, 115, 97, 109, 112, 108, 101, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 84, 114, 97, 110, 115, 102, - 111, 114, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, - 116, 82, 111, 116, 97, 116, 101, 84, 114, 97, 110, 115, 102, 111, 114, 109, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 97, 99, 104, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 97, 99, 104, 101, 83, 116, 114, 101, 97, 109, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 112, - 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, 116, 82, 111, 116, 97, 116, 101, 84, 114, 97, 110, 115, 102, - 111, 114, 109, 40, 112, 111, 105, 110, 116, 91, 48, 93, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, - 32, 112, 111, 105, 110, 116, 91, 49, 93, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 105, 110, 118, 101, 114, 116, 40, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 32, 61, 32, 112, 114, 111, 106, 101, 99, - 116, 82, 111, 116, 97, 116, 101, 84, 114, 97, 110, 115, 102, 111, 114, 109, 46, 105, 110, 118, 101, 114, 116, - 40, 112, 111, 105, 110, 116, 91, 48, 93, 44, 32, 112, 111, 105, 110, 116, 91, 49, 93, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 111, 105, 110, 116, - 32, 38, 38, 32, 91, 112, 111, 105, 110, 116, 91, 48, 93, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, - 44, 32, 112, 111, 105, 110, 116, 91, 49, 93, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, - 101, 99, 116, 105, 111, 110, 46, 115, 116, 114, 101, 97, 109, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 99, 97, 99, 104, 101, 32, 38, 38, 32, 99, 97, 99, 104, 101, 83, - 116, 114, 101, 97, 109, 32, 61, 61, 61, 32, 115, 116, 114, 101, 97, 109, 32, 63, 32, 99, 97, 99, 104, - 101, 32, 58, 32, 99, 97, 99, 104, 101, 32, 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 82, 97, - 100, 105, 97, 110, 115, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 82, 111, 116, 97, 116, 101, 40, 114, - 111, 116, 97, 116, 101, 41, 40, 112, 114, 101, 99, 108, 105, 112, 40, 112, 114, 111, 106, 101, 99, 116, 82, - 101, 115, 97, 109, 112, 108, 101, 40, 112, 111, 115, 116, 99, 108, 105, 112, 40, 99, 97, 99, 104, 101, 83, - 116, 114, 101, 97, 109, 32, 61, 32, 115, 116, 114, 101, 97, 109, 41, 41, 41, 41, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 46, 112, 114, 101, 99, 108, 105, 112, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, - 112, 114, 101, 99, 108, 105, 112, 32, 61, 32, 95, 44, 32, 116, 104, 101, 116, 97, 32, 61, 32, 117, 110, - 100, 101, 102, 105, 110, 101, 100, 44, 32, 114, 101, 115, 101, 116, 40, 41, 41, 32, 58, 32, 112, 114, 101, - 99, 108, 105, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 112, 111, 115, 116, 99, 108, 105, 112, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 111, 115, 116, 99, 108, 105, 112, 32, 61, 32, 95, 44, 32, - 120, 48, 32, 61, 32, 121, 48, 32, 61, 32, 120, 49, 32, 61, 32, 121, 49, 32, 61, 32, 110, 117, 108, - 108, 44, 32, 114, 101, 115, 101, 116, 40, 41, 41, 32, 58, 32, 112, 111, 115, 116, 99, 108, 105, 112, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, - 111, 106, 101, 99, 116, 105, 111, 110, 46, 99, 108, 105, 112, 65, 110, 103, 108, 101, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 32, 63, 32, 40, 112, 114, 101, 99, 108, 105, 112, 32, 61, 32, 43, 95, 32, 63, 32, 99, 108, 105, - 112, 67, 105, 114, 99, 108, 101, 40, 116, 104, 101, 116, 97, 32, 61, 32, 95, 32, 42, 32, 114, 97, 100, - 105, 97, 110, 115, 41, 32, 58, 32, 40, 116, 104, 101, 116, 97, 32, 61, 32, 110, 117, 108, 108, 44, 32, - 99, 108, 105, 112, 65, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 41, 44, 32, 114, 101, 115, 101, - 116, 40, 41, 41, 32, 58, 32, 116, 104, 101, 116, 97, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, - 111, 106, 101, 99, 116, 105, 111, 110, 46, 99, 108, 105, 112, 69, 120, 116, 101, 110, 116, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 112, 111, 115, 116, 99, 108, 105, 112, 32, 61, 32, 95, 32, 61, 61, 32, 110, - 117, 108, 108, 32, 63, 32, 40, 120, 48, 32, 61, 32, 121, 48, 32, 61, 32, 120, 49, 32, 61, 32, 121, - 49, 32, 61, 32, 110, 117, 108, 108, 44, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 53, 41, 32, 58, - 32, 99, 108, 105, 112, 82, 101, 99, 116, 97, 110, 103, 108, 101, 40, 120, 48, 32, 61, 32, 43, 95, 91, - 48, 93, 91, 48, 93, 44, 32, 121, 48, 32, 61, 32, 43, 95, 91, 48, 93, 91, 49, 93, 44, 32, 120, - 49, 32, 61, 32, 43, 95, 91, 49, 93, 91, 48, 93, 44, 32, 121, 49, 32, 61, 32, 43, 95, 91, 49, - 93, 91, 49, 93, 41, 44, 32, 114, 101, 115, 101, 116, 40, 41, 41, 32, 58, 32, 120, 48, 32, 61, 61, - 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 91, 91, 120, 48, 44, 32, 121, 48, - 93, 44, 32, 91, 120, 49, 44, 32, 121, 49, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 115, - 99, 97, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 107, 32, 61, 32, 43, 95, 44, 32, 114, - 101, 99, 101, 110, 116, 101, 114, 40, 41, 41, 32, 58, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, - 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 120, 32, 61, - 32, 43, 95, 91, 48, 93, 44, 32, 121, 32, 61, 32, 43, 95, 91, 49, 93, 44, 32, 114, 101, 99, 101, - 110, 116, 101, 114, 40, 41, 41, 32, 58, 32, 91, 120, 44, 32, 121, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, - 111, 110, 46, 99, 101, 110, 116, 101, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 108, 97, 109, 98, - 100, 97, 32, 61, 32, 95, 91, 48, 93, 32, 37, 32, 51, 54, 48, 32, 42, 32, 114, 97, 100, 105, 97, - 110, 115, 44, 32, 112, 104, 105, 32, 61, 32, 95, 91, 49, 93, 32, 37, 32, 51, 54, 48, 32, 42, 32, - 114, 97, 100, 105, 97, 110, 115, 44, 32, 114, 101, 99, 101, 110, 116, 101, 114, 40, 41, 41, 32, 58, 32, - 91, 108, 97, 109, 98, 100, 97, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 44, 32, 112, 104, 105, 32, - 42, 32, 100, 101, 103, 114, 101, 101, 115, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 114, 111, 116, - 97, 116, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 100, 101, 108, 116, 97, 76, 97, 109, 98, 100, - 97, 32, 61, 32, 95, 91, 48, 93, 32, 37, 32, 51, 54, 48, 32, 42, 32, 114, 97, 100, 105, 97, 110, - 115, 44, 32, 100, 101, 108, 116, 97, 80, 104, 105, 32, 61, 32, 95, 91, 49, 93, 32, 37, 32, 51, 54, - 48, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 100, 101, 108, 116, 97, 71, 97, 109, 109, 97, - 32, 61, 32, 95, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 50, 32, 63, 32, 95, 91, 50, 93, 32, - 37, 32, 51, 54, 48, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 32, 58, 32, 48, 44, 32, 114, 101, - 99, 101, 110, 116, 101, 114, 40, 41, 41, 32, 58, 32, 91, 100, 101, 108, 116, 97, 76, 97, 109, 98, 100, - 97, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 44, 32, 100, 101, 108, 116, 97, 80, 104, 105, 32, 42, - 32, 100, 101, 103, 114, 101, 101, 115, 44, 32, 100, 101, 108, 116, 97, 71, 97, 109, 109, 97, 32, 42, 32, - 100, 101, 103, 114, 101, 101, 115, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 97, 110, 103, 108, 101, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 97, 108, 112, 104, 97, 32, 61, 32, 95, 32, 37, 32, 51, - 54, 48, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 114, 101, 99, 101, 110, 116, 101, 114, 40, - 41, 41, 32, 58, 32, 97, 108, 112, 104, 97, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, - 101, 99, 116, 105, 111, 110, 46, 114, 101, 102, 108, 101, 99, 116, 88, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, - 32, 40, 115, 120, 32, 61, 32, 95, 32, 63, 32, 45, 49, 32, 58, 32, 49, 44, 32, 114, 101, 99, 101, - 110, 116, 101, 114, 40, 41, 41, 32, 58, 32, 115, 120, 32, 60, 32, 48, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, - 111, 110, 46, 114, 101, 102, 108, 101, 99, 116, 89, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 121, - 32, 61, 32, 95, 32, 63, 32, 45, 49, 32, 58, 32, 49, 44, 32, 114, 101, 99, 101, 110, 116, 101, 114, - 40, 41, 41, 32, 58, 32, 115, 121, 32, 60, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 112, - 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 114, 111, 106, 101, - 99, 116, 82, 101, 115, 97, 109, 112, 108, 101, 32, 61, 32, 114, 101, 115, 97, 109, 112, 108, 101, 40, 112, - 114, 111, 106, 101, 99, 116, 84, 114, 97, 110, 115, 102, 111, 114, 109, 44, 32, 100, 101, 108, 116, 97, 50, - 32, 61, 32, 95, 32, 42, 32, 95, 41, 44, 32, 114, 101, 115, 101, 116, 40, 41, 41, 32, 58, 32, 115, - 113, 114, 116, 36, 50, 40, 100, 101, 108, 116, 97, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, - 102, 105, 116, 69, 120, 116, 101, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 120, - 116, 101, 110, 116, 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 105, 116, 69, 120, 116, 101, 110, 116, 40, 112, - 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 101, 120, 116, 101, 110, 116, 44, 32, 111, 98, 106, 101, - 99, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 102, 105, 116, 83, 105, 122, 101, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 105, 122, 101, 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 105, - 116, 83, 105, 122, 101, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 115, 105, 122, 101, 44, - 32, 111, 98, 106, 101, 99, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 102, 105, 116, 87, 105, - 100, 116, 104, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 119, 105, 100, 116, 104, 44, 32, 111, - 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 102, 105, 116, 87, 105, 100, 116, 104, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, - 110, 44, 32, 119, 105, 100, 116, 104, 44, 32, 111, 98, 106, 101, 99, 116, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, - 105, 111, 110, 46, 102, 105, 116, 72, 101, 105, 103, 104, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 104, 101, 105, 103, 104, 116, 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 105, 116, 72, 101, 105, 103, - 104, 116, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 104, 101, 105, 103, 104, 116, 44, 32, - 111, 98, 106, 101, 99, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 99, 101, 110, 116, 101, 114, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 101, - 110, 116, 101, 114, 32, 61, 32, 115, 99, 97, 108, 101, 84, 114, 97, 110, 115, 108, 97, 116, 101, 82, 111, - 116, 97, 116, 101, 40, 107, 44, 32, 48, 44, 32, 48, 44, 32, 115, 120, 44, 32, 115, 121, 44, 32, 97, - 108, 112, 104, 97, 41, 46, 97, 112, 112, 108, 121, 40, 110, 117, 108, 108, 44, 32, 112, 114, 111, 106, 101, - 99, 116, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 32, 61, 32, - 115, 99, 97, 108, 101, 84, 114, 97, 110, 115, 108, 97, 116, 101, 82, 111, 116, 97, 116, 101, 40, 107, 44, - 32, 120, 32, 45, 32, 99, 101, 110, 116, 101, 114, 91, 48, 93, 44, 32, 121, 32, 45, 32, 99, 101, 110, - 116, 101, 114, 91, 49, 93, 44, 32, 115, 120, 44, 32, 115, 121, 44, 32, 97, 108, 112, 104, 97, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 116, 97, 116, 101, 32, 61, 32, 114, - 111, 116, 97, 116, 101, 82, 97, 100, 105, 97, 110, 115, 40, 100, 101, 108, 116, 97, 76, 97, 109, 98, 100, - 97, 44, 32, 100, 101, 108, 116, 97, 80, 104, 105, 44, 32, 100, 101, 108, 116, 97, 71, 97, 109, 109, 97, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 84, - 114, 97, 110, 115, 102, 111, 114, 109, 32, 61, 32, 99, 111, 109, 112, 111, 115, 101, 40, 112, 114, 111, 106, - 101, 99, 116, 44, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 82, 111, 116, 97, 116, 101, 84, 114, 97, 110, - 115, 102, 111, 114, 109, 32, 61, 32, 99, 111, 109, 112, 111, 115, 101, 40, 114, 111, 116, 97, 116, 101, 44, - 32, 112, 114, 111, 106, 101, 99, 116, 84, 114, 97, 110, 115, 102, 111, 114, 109, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 82, 101, 115, 97, 109, 112, 108, - 101, 32, 61, 32, 114, 101, 115, 97, 109, 112, 108, 101, 40, 112, 114, 111, 106, 101, 99, 116, 84, 114, 97, - 110, 115, 102, 111, 114, 109, 44, 32, 100, 101, 108, 116, 97, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 115, 101, 116, 40, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 114, 101, 115, 101, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 97, 99, 104, 101, 32, 61, 32, 99, 97, 99, 104, 101, 83, 116, 114, 101, 97, 109, 32, - 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, - 111, 106, 101, 99, 116, 32, 61, 32, 112, 114, 111, 106, 101, 99, 116, 65, 116, 46, 97, 112, 112, 108, 121, - 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 105, 110, 118, 101, - 114, 116, 32, 61, 32, 112, 114, 111, 106, 101, 99, 116, 46, 105, 110, 118, 101, 114, 116, 32, 38, 38, 32, - 105, 110, 118, 101, 114, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 114, 101, 99, 101, 110, 116, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 99, 111, 110, 105, 99, 80, 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 112, 114, 111, 106, 101, 99, - 116, 65, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 104, 105, 48, - 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 49, 32, - 61, 32, 112, 105, 36, 49, 32, 47, 32, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 109, 32, 61, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 77, 117, 116, 97, 116, 111, 114, 40, - 112, 114, 111, 106, 101, 99, 116, 65, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 32, 61, 32, 109, 40, 112, 104, 105, 48, 44, 32, 112, 104, 105, 49, 41, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 46, 112, 97, 114, 97, 108, 108, 101, 108, 115, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 63, 32, 109, 40, 112, 104, 105, 48, 32, 61, 32, 95, 91, 48, 93, 32, 42, 32, 114, 97, 100, 105, - 97, 110, 115, 44, 32, 112, 104, 105, 49, 32, 61, 32, 95, 91, 49, 93, 32, 42, 32, 114, 97, 100, 105, - 97, 110, 115, 41, 32, 58, 32, 91, 112, 104, 105, 48, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 44, - 32, 112, 104, 105, 49, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, - 121, 108, 105, 110, 100, 114, 105, 99, 97, 108, 69, 113, 117, 97, 108, 65, 114, 101, 97, 82, 97, 119, 40, - 112, 104, 105, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 115, - 80, 104, 105, 48, 32, 61, 32, 99, 111, 115, 36, 49, 40, 112, 104, 105, 48, 41, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 119, 97, 114, 100, 40, - 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 108, 97, 109, 98, 100, 97, 32, 42, 32, 99, 111, - 115, 80, 104, 105, 48, 44, 32, 115, 105, 110, 36, 49, 40, 112, 104, 105, 41, 32, 47, 32, 99, 111, 115, - 80, 104, 105, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 119, 97, 114, 100, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 120, 32, 47, 32, 99, 111, 115, 80, 104, 105, 48, 44, - 32, 97, 115, 105, 110, 36, 49, 40, 121, 32, 42, 32, 99, 111, 115, 80, 104, 105, 48, 41, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 111, 114, 119, 97, 114, 100, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 105, 99, 69, 113, 117, 97, 108, 65, 114, 101, - 97, 82, 97, 119, 40, 121, 48, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 121, 48, 32, 61, 32, 115, 105, 110, 36, 49, 40, 121, 48, 41, 44, 32, 110, 32, - 61, 32, 40, 115, 121, 48, 32, 43, 32, 115, 105, 110, 36, 49, 40, 121, 49, 41, 41, 32, 47, 32, 50, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 65, 114, 101, 32, 116, 104, 101, 32, 112, - 97, 114, 97, 108, 108, 101, 108, 115, 32, 115, 121, 109, 109, 101, 116, 114, 105, 99, 97, 108, 32, 97, 114, - 111, 117, 110, 100, 32, 116, 104, 101, 32, 69, 113, 117, 97, 116, 111, 114, 63, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 97, 98, 115, 36, 49, 40, 110, 41, 32, 60, 32, 101, 112, 115, 105, 108, - 111, 110, 36, 49, 41, 32, 114, 101, 116, 117, 114, 110, 32, 99, 121, 108, 105, 110, 100, 114, 105, 99, 97, - 108, 69, 113, 117, 97, 108, 65, 114, 101, 97, 82, 97, 119, 40, 121, 48, 41, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 49, 32, 43, 32, 115, 121, 48, 32, 42, 32, - 40, 50, 32, 42, 32, 110, 32, 45, 32, 115, 121, 48, 41, 44, 32, 114, 48, 32, 61, 32, 115, 113, 114, - 116, 36, 50, 40, 99, 41, 32, 47, 32, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 112, 114, 111, 106, 101, 99, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 115, 113, 114, - 116, 36, 50, 40, 99, 32, 45, 32, 50, 32, 42, 32, 110, 32, 42, 32, 115, 105, 110, 36, 49, 40, 121, - 41, 41, 32, 47, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 91, 114, 32, 42, 32, 115, 105, 110, 36, 49, 40, 120, 32, 42, 61, 32, 110, 41, 44, - 32, 114, 48, 32, 45, 32, 114, 32, 42, 32, 99, 111, 115, 36, 49, 40, 120, 41, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, - 116, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, - 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 48, - 121, 32, 61, 32, 114, 48, 32, 45, 32, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 32, 61, 32, 97, 116, 97, 110, 50, 36, 49, 40, 120, 44, 32, 97, 98, 115, - 36, 49, 40, 114, 48, 121, 41, 41, 32, 42, 32, 115, 105, 103, 110, 36, 49, 40, 114, 48, 121, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 48, 121, 32, 42, 32, - 110, 32, 60, 32, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 32, 45, 61, 32, 112, 105, 36, 49, 32, 42, 32, 115, 105, 103, 110, 36, 49, 40, 120, 41, 32, 42, - 32, 115, 105, 103, 110, 36, 49, 40, 114, 48, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 108, 32, 47, 32, 110, 44, 32, 97, 115, 105, 110, 36, - 49, 40, 40, 99, 32, 45, 32, 40, 120, 32, 42, 32, 120, 32, 43, 32, 114, 48, 121, 32, 42, 32, 114, - 48, 121, 41, 32, 42, 32, 110, 32, 42, 32, 110, 41, 32, 47, 32, 40, 50, 32, 42, 32, 110, 41, 41, - 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 105, 99, 69, 113, 117, 97, 108, - 65, 114, 101, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 99, 111, 110, 105, 99, 80, 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 99, 111, 110, 105, 99, 69, - 113, 117, 97, 108, 65, 114, 101, 97, 82, 97, 119, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 115, 99, 97, 108, 101, 40, 49, 53, 53, 46, 52, 50, 52, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 99, 101, 110, 116, 101, 114, 40, 91, 48, 44, 32, 51, 51, 46, 54, - 52, 52, 50, 93, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 97, 108, 98, 101, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 99, 111, 110, 105, 99, 69, 113, 117, 97, 108, 65, 114, 101, 97, 40, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 112, 97, 114, 97, 108, 108, 101, 108, 115, - 40, 91, 50, 57, 46, 53, 44, 32, 52, 53, 46, 53, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 115, 99, 97, 108, 101, 40, 49, 48, 55, 48, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 91, 52, 56, 48, 44, 32, - 50, 53, 48, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 114, 111, 116, 97, - 116, 101, 40, 91, 57, 54, 44, 32, 48, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 46, 99, 101, 110, 116, 101, 114, 40, 91, 45, 48, 46, 54, 44, 32, 51, 56, 46, 55, 93, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 84, 104, 101, 32, 112, 114, 111, 106, 101, 99, 116, 105, - 111, 110, 115, 32, 109, 117, 115, 116, 32, 104, 97, 118, 101, 32, 109, 117, 116, 117, 97, 108, 108, 121, 32, - 101, 120, 99, 108, 117, 115, 105, 118, 101, 32, 99, 108, 105, 112, 32, 114, 101, 103, 105, 111, 110, 115, 32, - 111, 110, 32, 116, 104, 101, 32, 115, 112, 104, 101, 114, 101, 44, 10, 47, 47, 32, 97, 115, 32, 116, 104, - 105, 115, 32, 119, 105, 108, 108, 32, 97, 118, 111, 105, 100, 32, 101, 109, 105, 116, 116, 105, 110, 103, 32, - 105, 110, 116, 101, 114, 108, 101, 97, 118, 105, 110, 103, 32, 108, 105, 110, 101, 115, 32, 97, 110, 100, 32, - 112, 111, 108, 121, 103, 111, 110, 115, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 109, 117, 108, 116, 105, 112, 108, 101, 120, 40, 115, 116, 114, 101, 97, 109, 115, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 115, 116, 114, 101, 97, 109, 115, 46, 108, - 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, - 49, 59, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 115, 116, 114, 101, - 97, 109, 115, 91, 105, 93, 46, 112, 111, 105, 110, 116, 40, 120, 44, 32, 121, 41, 59, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 104, 101, 114, 101, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 59, 32, 119, - 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 115, 116, 114, 101, 97, 109, 115, 91, - 105, 93, 46, 115, 112, 104, 101, 114, 101, 40, 41, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 59, 32, 119, 104, 105, 108, 101, - 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 115, 116, 114, 101, 97, 109, 115, 91, 105, 93, 46, 108, - 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 59, 32, 119, 104, 105, 108, 101, 32, 40, 43, - 43, 105, 32, 60, 32, 110, 41, 32, 115, 116, 114, 101, 97, 109, 115, 91, 105, 93, 46, 108, 105, 110, 101, - 69, 110, 100, 40, 41, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 111, 108, 121, 103, 111, 110, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 59, 32, 119, 104, 105, 108, 101, 32, 40, 43, - 43, 105, 32, 60, 32, 110, 41, 32, 115, 116, 114, 101, 97, 109, 115, 91, 105, 93, 46, 112, 111, 108, 121, - 103, 111, 110, 83, 116, 97, 114, 116, 40, 41, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 111, 108, 121, 103, 111, 110, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 59, 32, 119, 104, 105, 108, 101, - 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 115, 116, 114, 101, 97, 109, 115, 91, 105, 93, 46, 112, - 111, 108, 121, 103, 111, 110, 69, 110, 100, 40, 41, 59, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 65, 32, 99, 111, 109, 112, 111, 115, 105, 116, - 101, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 32, 102, 111, 114, 32, 116, 104, 101, 32, 85, 110, - 105, 116, 101, 100, 32, 83, 116, 97, 116, 101, 115, 44, 32, 99, 111, 110, 102, 105, 103, 117, 114, 101, 100, - 32, 98, 121, 32, 100, 101, 102, 97, 117, 108, 116, 32, 102, 111, 114, 10, 47, 47, 32, 57, 54, 48, 195, - 151, 53, 48, 48, 46, 32, 84, 104, 101, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 32, 97, 108, - 115, 111, 32, 119, 111, 114, 107, 115, 32, 113, 117, 105, 116, 101, 32, 119, 101, 108, 108, 32, 97, 116, 32, - 57, 54, 48, 195, 151, 54, 48, 48, 32, 105, 102, 32, 121, 111, 117, 32, 99, 104, 97, 110, 103, 101, 32, - 116, 104, 101, 10, 47, 47, 32, 115, 99, 97, 108, 101, 32, 116, 111, 32, 49, 50, 56, 53, 32, 97, 110, - 100, 32, 97, 100, 106, 117, 115, 116, 32, 116, 104, 101, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 32, - 97, 99, 99, 111, 114, 100, 105, 110, 103, 108, 121, 46, 32, 84, 104, 101, 32, 115, 101, 116, 32, 111, 102, - 32, 115, 116, 97, 110, 100, 97, 114, 100, 10, 47, 47, 32, 112, 97, 114, 97, 108, 108, 101, 108, 115, 32, - 102, 111, 114, 32, 101, 97, 99, 104, 32, 114, 101, 103, 105, 111, 110, 32, 99, 111, 109, 101, 115, 32, 102, - 114, 111, 109, 32, 85, 83, 71, 83, 44, 32, 119, 104, 105, 99, 104, 32, 105, 115, 32, 112, 117, 98, 108, - 105, 115, 104, 101, 100, 32, 104, 101, 114, 101, 58, 10, 47, 47, 32, 104, 116, 116, 112, 58, 47, 47, 101, - 103, 115, 99, 46, 117, 115, 103, 115, 46, 103, 111, 118, 47, 105, 115, 98, 47, 112, 117, 98, 115, 47, 77, - 97, 112, 80, 114, 111, 106, 101, 99, 116, 105, 111, 110, 115, 47, 112, 114, 111, 106, 101, 99, 116, 105, 111, - 110, 115, 46, 104, 116, 109, 108, 35, 97, 108, 98, 101, 114, 115, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 97, 108, 98, 101, 114, 115, 85, 115, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 99, 97, 99, 104, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 97, 99, 104, 101, 83, 116, 114, 101, 97, 109, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 111, 119, 101, 114, 52, 56, 32, 61, 32, 97, 108, 98, 101, 114, 115, 40, - 41, 44, 32, 108, 111, 119, 101, 114, 52, 56, 80, 111, 105, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 108, 97, 115, 107, 97, 32, 61, 32, 99, 111, 110, 105, 99, 69, 113, 117, - 97, 108, 65, 114, 101, 97, 40, 41, 46, 114, 111, 116, 97, 116, 101, 40, 91, 49, 53, 52, 44, 32, 48, - 93, 41, 46, 99, 101, 110, 116, 101, 114, 40, 91, 45, 50, 44, 32, 53, 56, 46, 53, 93, 41, 46, 112, - 97, 114, 97, 108, 108, 101, 108, 115, 40, 91, 53, 53, 44, 32, 54, 53, 93, 41, 44, 32, 97, 108, 97, - 115, 107, 97, 80, 111, 105, 110, 116, 44, 32, 47, 47, 32, 69, 80, 83, 71, 58, 51, 51, 51, 56, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 97, 119, 97, 105, 105, 32, 61, 32, 99, 111, - 110, 105, 99, 69, 113, 117, 97, 108, 65, 114, 101, 97, 40, 41, 46, 114, 111, 116, 97, 116, 101, 40, 91, - 49, 53, 55, 44, 32, 48, 93, 41, 46, 99, 101, 110, 116, 101, 114, 40, 91, 45, 51, 44, 32, 49, 57, - 46, 57, 93, 41, 46, 112, 97, 114, 97, 108, 108, 101, 108, 115, 40, 91, 56, 44, 32, 49, 56, 93, 41, - 44, 32, 104, 97, 119, 97, 105, 105, 80, 111, 105, 110, 116, 44, 32, 47, 47, 32, 69, 83, 82, 73, 58, - 49, 48, 50, 48, 48, 55, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, - 116, 44, 32, 112, 111, 105, 110, 116, 83, 116, 114, 101, 97, 109, 32, 61, 32, 123, 112, 111, 105, 110, 116, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 32, 112, 111, 105, 110, - 116, 32, 61, 32, 91, 120, 44, 32, 121, 93, 59, 32, 125, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 108, 98, 101, 114, 115, 85, 115, 97, 40, 99, 111, - 111, 114, 100, 105, 110, 97, 116, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 120, 32, 61, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 48, - 93, 44, 32, 121, 32, 61, 32, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, 91, 49, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 111, 105, 110, - 116, 32, 61, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, - 108, 111, 119, 101, 114, 52, 56, 80, 111, 105, 110, 116, 46, 112, 111, 105, 110, 116, 40, 120, 44, 32, 121, - 41, 44, 32, 112, 111, 105, 110, 116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, - 124, 32, 40, 97, 108, 97, 115, 107, 97, 80, 111, 105, 110, 116, 46, 112, 111, 105, 110, 116, 40, 120, 44, - 32, 121, 41, 44, 32, 112, 111, 105, 110, 116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 124, 124, 32, 40, 104, 97, 119, 97, 105, 105, 80, 111, 105, 110, 116, 46, 112, 111, 105, 110, 116, 40, - 120, 44, 32, 121, 41, 44, 32, 112, 111, 105, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 98, 101, 114, 115, 85, 115, 97, 46, 105, 110, - 118, 101, 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 111, 114, 100, 105, 110, - 97, 116, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 107, 32, 61, 32, 108, 111, 119, 101, 114, 52, 56, 46, 115, 99, 97, 108, 101, 40, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 108, 111, 119, 101, - 114, 52, 56, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 40, 99, 111, 111, 114, 100, 105, 110, 97, - 116, 101, 115, 91, 48, 93, 32, 45, 32, 116, 91, 48, 93, 41, 32, 47, 32, 107, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 40, 99, 111, 111, 114, 100, - 105, 110, 97, 116, 101, 115, 91, 49, 93, 32, 45, 32, 116, 91, 49, 93, 41, 32, 47, 32, 107, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 121, 32, 62, - 61, 32, 48, 46, 49, 50, 48, 32, 38, 38, 32, 121, 32, 60, 32, 48, 46, 50, 51, 52, 32, 38, 38, - 32, 120, 32, 62, 61, 32, 45, 48, 46, 52, 50, 53, 32, 38, 38, 32, 120, 32, 60, 32, 45, 48, 46, - 50, 49, 52, 32, 63, 32, 97, 108, 97, 115, 107, 97, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 58, 32, 121, 32, 62, 61, 32, 48, 46, 49, 54, 54, 32, 38, 38, 32, 121, - 32, 60, 32, 48, 46, 50, 51, 52, 32, 38, 38, 32, 120, 32, 62, 61, 32, 45, 48, 46, 50, 49, 52, - 32, 38, 38, 32, 120, 32, 60, 32, 45, 48, 46, 49, 49, 53, 32, 63, 32, 104, 97, 119, 97, 105, 105, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, - 108, 111, 119, 101, 114, 52, 56, 41, 46, 105, 110, 118, 101, 114, 116, 40, 99, 111, 111, 114, 100, 105, 110, - 97, 116, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 97, 108, 98, 101, 114, 115, 85, 115, 97, 46, 115, 116, 114, 101, 97, 109, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 97, 99, 104, 101, 32, 38, 38, - 32, 99, 97, 99, 104, 101, 83, 116, 114, 101, 97, 109, 32, 61, 61, 61, 32, 115, 116, 114, 101, 97, 109, - 32, 63, 32, 99, 97, 99, 104, 101, 32, 58, 32, 99, 97, 99, 104, 101, 32, 61, 32, 109, 117, 108, 116, - 105, 112, 108, 101, 120, 40, 91, 108, 111, 119, 101, 114, 52, 56, 46, 115, 116, 114, 101, 97, 109, 40, 99, - 97, 99, 104, 101, 83, 116, 114, 101, 97, 109, 32, 61, 32, 115, 116, 114, 101, 97, 109, 41, 44, 32, 97, - 108, 97, 115, 107, 97, 46, 115, 116, 114, 101, 97, 109, 40, 115, 116, 114, 101, 97, 109, 41, 44, 32, 104, - 97, 119, 97, 105, 105, 46, 115, 116, 114, 101, 97, 109, 40, 115, 116, 114, 101, 97, 109, 41, 93, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, - 98, 101, 114, 115, 85, 115, 97, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, - 114, 101, 116, 117, 114, 110, 32, 108, 111, 119, 101, 114, 52, 56, 46, 112, 114, 101, 99, 105, 115, 105, 111, - 110, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 119, 101, 114, 52, - 56, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 40, 95, 41, 44, 32, 97, 108, 97, 115, 107, 97, 46, - 112, 114, 101, 99, 105, 115, 105, 111, 110, 40, 95, 41, 44, 32, 104, 97, 119, 97, 105, 105, 46, 112, 114, - 101, 99, 105, 115, 105, 111, 110, 40, 95, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 115, 101, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 98, 101, 114, 115, 85, 115, 97, - 46, 115, 99, 97, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 119, 101, - 114, 52, 56, 46, 115, 99, 97, 108, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 111, 119, 101, 114, 52, 56, 46, 115, 99, 97, 108, 101, 40, 95, 41, 44, 32, 97, 108, 97, - 115, 107, 97, 46, 115, 99, 97, 108, 101, 40, 95, 32, 42, 32, 48, 46, 51, 53, 41, 44, 32, 104, 97, - 119, 97, 105, 105, 46, 115, 99, 97, 108, 101, 40, 95, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 108, 98, 101, 114, 115, 85, 115, 97, 46, 116, 114, - 97, 110, 115, 108, 97, 116, 101, 40, 108, 111, 119, 101, 114, 52, 56, 46, 116, 114, 97, 110, 115, 108, 97, - 116, 101, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 97, 108, 98, 101, 114, 115, 85, 115, 97, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, - 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 119, 101, 114, 52, 56, 46, 116, 114, - 97, 110, 115, 108, 97, 116, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 107, 32, 61, 32, 108, 111, 119, 101, 114, 52, 56, 46, 115, 99, 97, 108, 101, 40, 41, - 44, 32, 120, 32, 61, 32, 43, 95, 91, 48, 93, 44, 32, 121, 32, 61, 32, 43, 95, 91, 49, 93, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 119, 101, 114, 52, 56, 80, 111, - 105, 110, 116, 32, 61, 32, 108, 111, 119, 101, 114, 52, 56, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 95, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 108, 105, 112, 69, 120, 116, 101, - 110, 116, 40, 91, 91, 120, 32, 45, 32, 48, 46, 52, 53, 53, 32, 42, 32, 107, 44, 32, 121, 32, 45, - 32, 48, 46, 50, 51, 56, 32, 42, 32, 107, 93, 44, 32, 91, 120, 32, 43, 32, 48, 46, 52, 53, 53, - 32, 42, 32, 107, 44, 32, 121, 32, 43, 32, 48, 46, 50, 51, 56, 32, 42, 32, 107, 93, 93, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 114, 101, 97, 109, - 40, 112, 111, 105, 110, 116, 83, 116, 114, 101, 97, 109, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 108, 97, 115, 107, 97, 80, 111, 105, 110, 116, 32, 61, 32, 97, 108, 97, 115, - 107, 97, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 116, 114, 97, - 110, 115, 108, 97, 116, 101, 40, 91, 120, 32, 45, 32, 48, 46, 51, 48, 55, 32, 42, 32, 107, 44, 32, - 121, 32, 43, 32, 48, 46, 50, 48, 49, 32, 42, 32, 107, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 108, 105, 112, 69, 120, 116, 101, 110, 116, 40, 91, 91, - 120, 32, 45, 32, 48, 46, 52, 50, 53, 32, 42, 32, 107, 32, 43, 32, 101, 112, 115, 105, 108, 111, 110, - 36, 49, 44, 32, 121, 32, 43, 32, 48, 46, 49, 50, 48, 32, 42, 32, 107, 32, 43, 32, 101, 112, 115, - 105, 108, 111, 110, 36, 49, 93, 44, 32, 91, 120, 32, 45, 32, 48, 46, 50, 49, 52, 32, 42, 32, 107, - 32, 45, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 44, 32, 121, 32, 43, 32, 48, 46, 50, 51, 52, - 32, 42, 32, 107, 32, 45, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 93, 93, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 114, 101, 97, 109, 40, 112, 111, - 105, 110, 116, 83, 116, 114, 101, 97, 109, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 104, 97, 119, 97, 105, 105, 80, 111, 105, 110, 116, 32, 61, 32, 104, 97, 119, 97, 105, 105, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 116, 114, 97, 110, 115, 108, - 97, 116, 101, 40, 91, 120, 32, 45, 32, 48, 46, 50, 48, 53, 32, 42, 32, 107, 44, 32, 121, 32, 43, - 32, 48, 46, 50, 49, 50, 32, 42, 32, 107, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 99, 108, 105, 112, 69, 120, 116, 101, 110, 116, 40, 91, 91, 120, 32, 45, - 32, 48, 46, 50, 49, 52, 32, 42, 32, 107, 32, 43, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 44, - 32, 121, 32, 43, 32, 48, 46, 49, 54, 54, 32, 42, 32, 107, 32, 43, 32, 101, 112, 115, 105, 108, 111, - 110, 36, 49, 93, 44, 32, 91, 120, 32, 45, 32, 48, 46, 49, 49, 53, 32, 42, 32, 107, 32, 45, 32, - 101, 112, 115, 105, 108, 111, 110, 36, 49, 44, 32, 121, 32, 43, 32, 48, 46, 50, 51, 52, 32, 42, 32, - 107, 32, 45, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 93, 93, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 114, 101, 97, 109, 40, 112, 111, 105, 110, 116, - 83, 116, 114, 101, 97, 109, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 114, 101, 115, 101, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 98, 101, 114, 115, 85, 115, 97, 46, 102, - 105, 116, 69, 120, 116, 101, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 120, 116, - 101, 110, 116, 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 105, 116, 69, 120, 116, 101, 110, 116, 40, 97, 108, - 98, 101, 114, 115, 85, 115, 97, 44, 32, 101, 120, 116, 101, 110, 116, 44, 32, 111, 98, 106, 101, 99, 116, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 108, 98, 101, 114, 115, 85, 115, 97, 46, 102, 105, 116, 83, 105, 122, 101, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 115, 105, 122, 101, 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 105, 116, 83, 105, - 122, 101, 40, 97, 108, 98, 101, 114, 115, 85, 115, 97, 44, 32, 115, 105, 122, 101, 44, 32, 111, 98, 106, - 101, 99, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 97, 108, 98, 101, 114, 115, 85, 115, 97, 46, 102, 105, 116, 87, 105, 100, 116, 104, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 119, 105, 100, 116, 104, 44, 32, 111, 98, 106, 101, 99, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 102, 105, 116, 87, 105, 100, 116, 104, 40, 97, 108, 98, 101, 114, 115, 85, 115, 97, 44, 32, 119, 105, 100, - 116, 104, 44, 32, 111, 98, 106, 101, 99, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 98, 101, 114, 115, 85, 115, 97, 46, 102, 105, 116, - 72, 101, 105, 103, 104, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 104, 101, 105, 103, 104, - 116, 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 105, 116, 72, 101, 105, 103, 104, 116, 40, 97, 108, 98, 101, - 114, 115, 85, 115, 97, 44, 32, 104, 101, 105, 103, 104, 116, 44, 32, 111, 98, 106, 101, 99, 116, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 101, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 97, 99, 104, 101, 32, 61, 32, 99, 97, 99, 104, 101, 83, 116, 114, 101, - 97, 109, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 108, 98, 101, 114, 115, 85, 115, 97, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 108, - 98, 101, 114, 115, 85, 115, 97, 46, 115, 99, 97, 108, 101, 40, 49, 48, 55, 48, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 122, 105, 109, 117, - 116, 104, 97, 108, 82, 97, 119, 40, 115, 99, 97, 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 120, 32, 61, - 32, 99, 111, 115, 36, 49, 40, 120, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 121, 32, 61, 32, 99, 111, 115, 36, 49, 40, 121, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 115, 99, 97, 108, 101, 40, 99, - 120, 32, 42, 32, 99, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 107, 32, 61, 61, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 41, 32, 114, 101, 116, 117, 114, - 110, 32, 91, 50, 44, 32, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 107, 32, 42, 32, 99, 121, 32, 42, 32, 115, 105, 110, 36, 49, 40, 120, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 42, 32, 115, 105, 110, 36, 49, 40, - 121, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 97, 122, 105, 109, 117, 116, 104, 97, 108, 73, 110, 118, 101, 114, 116, 40, 97, 110, 103, 108, 101, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 122, 32, 61, 32, 115, 113, 114, 116, 36, 50, 40, 120, 32, 42, 32, 120, 32, - 43, 32, 121, 32, 42, 32, 121, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 32, 61, 32, 97, 110, 103, 108, 101, 40, 122, 41, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 32, 61, 32, 115, 105, 110, 36, 49, 40, 99, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 99, 32, 61, 32, - 99, 111, 115, 36, 49, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 97, 116, 97, 110, 50, 36, 49, 40, 120, 32, 42, 32, 115, 99, 44, 32, 122, 32, 42, 32, 99, 99, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 115, 105, 110, - 36, 49, 40, 122, 32, 38, 38, 32, 121, 32, 42, 32, 115, 99, 32, 47, 32, 122, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 97, 122, 105, 109, 117, 116, 104, 97, 108, - 69, 113, 117, 97, 108, 65, 114, 101, 97, 82, 97, 119, 32, 61, 32, 97, 122, 105, 109, 117, 116, 104, 97, - 108, 82, 97, 119, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 120, 99, 121, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 113, 114, 116, 36, 50, 40, 50, 32, - 47, 32, 40, 49, 32, 43, 32, 99, 120, 99, 121, 41, 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, - 10, 32, 32, 32, 32, 97, 122, 105, 109, 117, 116, 104, 97, 108, 69, 113, 117, 97, 108, 65, 114, 101, 97, - 82, 97, 119, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 97, 122, 105, 109, 117, 116, 104, 97, 108, 73, - 110, 118, 101, 114, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 122, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 50, 32, 42, 32, 97, 115, 105, 110, 36, 49, 40, - 122, 32, 47, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 97, 122, 105, 109, 117, 116, 104, 97, 108, 69, 113, 117, 97, 108, 65, 114, - 101, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, - 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 97, 122, 105, 109, 117, 116, 104, 97, 108, 69, 113, 117, 97, - 108, 65, 114, 101, 97, 82, 97, 119, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, - 115, 99, 97, 108, 101, 40, 49, 50, 52, 46, 55, 53, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 99, 108, 105, 112, 65, 110, 103, 108, 101, 40, 49, 56, 48, 32, 45, 32, 49, 101, 45, - 51, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 97, 122, 105, 109, - 117, 116, 104, 97, 108, 69, 113, 117, 105, 100, 105, 115, 116, 97, 110, 116, 82, 97, 119, 32, 61, 32, 97, - 122, 105, 109, 117, 116, 104, 97, 108, 82, 97, 119, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 99, 32, 61, 32, - 97, 99, 111, 115, 36, 49, 40, 99, 41, 41, 32, 38, 38, 32, 99, 32, 47, 32, 115, 105, 110, 36, 49, - 40, 99, 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 97, 122, 105, 109, 117, - 116, 104, 97, 108, 69, 113, 117, 105, 100, 105, 115, 116, 97, 110, 116, 82, 97, 119, 46, 105, 110, 118, 101, - 114, 116, 32, 61, 32, 97, 122, 105, 109, 117, 116, 104, 97, 108, 73, 110, 118, 101, 114, 116, 40, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 122, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 122, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 97, 122, 105, 109, 117, 116, 104, 97, 108, 69, 113, 117, 105, 100, 105, 115, 116, - 97, 110, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 97, 122, 105, 109, 117, 116, 104, 97, 108, 69, 113, 117, - 105, 100, 105, 115, 116, 97, 110, 116, 82, 97, 119, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 115, 99, 97, 108, 101, 40, 55, 57, 46, 52, 49, 56, 56, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 99, 108, 105, 112, 65, 110, 103, 108, 101, 40, 49, 56, 48, 32, 45, - 32, 49, 101, 45, 51, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 109, 101, 114, 99, 97, 116, 111, 114, 82, 97, 119, 40, 108, 97, 109, 98, 100, 97, - 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 91, 108, 97, 109, 98, 100, 97, 44, 32, 108, 111, 103, 36, 49, 40, 116, 97, 110, 40, 40, 104, 97, - 108, 102, 80, 105, 36, 49, 32, 43, 32, 112, 104, 105, 41, 32, 47, 32, 50, 41, 41, 93, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 109, 101, 114, 99, 97, 116, 111, 114, 82, 97, 119, 46, 105, - 110, 118, 101, 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 120, 44, 32, 50, 32, - 42, 32, 97, 116, 97, 110, 40, 101, 120, 112, 40, 121, 41, 41, 32, 45, 32, 104, 97, 108, 102, 80, 105, - 36, 49, 93, 59, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 109, 101, 114, 99, 97, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 109, 101, 114, 99, 97, 116, 111, 114, 80, 114, 111, 106, 101, 99, 116, - 105, 111, 110, 40, 109, 101, 114, 99, 97, 116, 111, 114, 82, 97, 119, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 115, 99, 97, 108, 101, 40, 57, 54, 49, 32, 47, 32, 116, 97, 117, 36, - 49, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 109, 101, 114, 99, 97, 116, 111, 114, 80, 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 112, 114, 111, - 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, - 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 112, 114, 111, 106, 101, 99, 116, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 110, 116, 101, 114, 32, 61, 32, 109, 46, 99, - 101, 110, 116, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, - 101, 32, 61, 32, 109, 46, 115, 99, 97, 108, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 32, 61, 32, 109, 46, 116, 114, 97, 110, 115, 108, 97, - 116, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 112, 69, 120, 116, - 101, 110, 116, 32, 61, 32, 109, 46, 99, 108, 105, 112, 69, 120, 116, 101, 110, 116, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 110, 117, 108, 108, 44, 32, 121, 48, 44, - 32, 120, 49, 44, 32, 121, 49, 59, 32, 47, 47, 32, 99, 108, 105, 112, 32, 101, 120, 116, 101, 110, 116, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 46, 115, 99, 97, 108, 101, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 63, 32, 40, 115, 99, 97, 108, 101, 40, 95, 41, 44, 32, 114, 101, 99, 108, 105, 112, 40, 41, 41, - 32, 58, 32, 115, 99, 97, 108, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, - 103, 116, 104, 32, 63, 32, 40, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 95, 41, 44, 32, 114, 101, - 99, 108, 105, 112, 40, 41, 41, 32, 58, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 46, 99, - 101, 110, 116, 101, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 99, 101, 110, 116, 101, 114, 40, 95, - 41, 44, 32, 114, 101, 99, 108, 105, 112, 40, 41, 41, 32, 58, 32, 99, 101, 110, 116, 101, 114, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, - 46, 99, 108, 105, 112, 69, 120, 116, 101, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 40, 95, - 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 120, 48, 32, 61, 32, 121, 48, 32, 61, 32, 120, 49, - 32, 61, 32, 121, 49, 32, 61, 32, 110, 117, 108, 108, 32, 58, 32, 40, 120, 48, 32, 61, 32, 43, 95, - 91, 48, 93, 91, 48, 93, 44, 32, 121, 48, 32, 61, 32, 43, 95, 91, 48, 93, 91, 49, 93, 44, 32, - 120, 49, 32, 61, 32, 43, 95, 91, 49, 93, 91, 48, 93, 44, 32, 121, 49, 32, 61, 32, 43, 95, 91, - 49, 93, 91, 49, 93, 41, 41, 44, 32, 114, 101, 99, 108, 105, 112, 40, 41, 41, 32, 58, 32, 120, 48, - 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 91, 91, 120, 48, 44, - 32, 121, 48, 93, 44, 32, 91, 120, 49, 44, 32, 121, 49, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 114, 101, 99, 108, 105, 112, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 107, 32, 61, 32, 112, 105, 36, 49, 32, 42, 32, 115, 99, 97, 108, 101, 40, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 109, 40, - 114, 111, 116, 97, 116, 105, 111, 110, 40, 109, 46, 114, 111, 116, 97, 116, 101, 40, 41, 41, 46, 105, 110, - 118, 101, 114, 116, 40, 91, 48, 44, 32, 48, 93, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 108, 105, 112, 69, 120, 116, 101, 110, 116, 40, 120, - 48, 32, 61, 61, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 63, 32, 91, 91, 116, 91, 48, 93, 32, 45, 32, 107, 44, 32, 116, 91, 49, 93, 32, 45, - 32, 107, 93, 44, 32, 91, 116, 91, 48, 93, 32, 43, 32, 107, 44, 32, 116, 91, 49, 93, 32, 43, 32, - 107, 93, 93, 32, 58, 32, 112, 114, 111, 106, 101, 99, 116, 32, 61, 61, 61, 32, 109, 101, 114, 99, 97, - 116, 111, 114, 82, 97, 119, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 63, 32, 91, 91, 77, 97, 116, 104, 46, 109, 97, 120, 40, 116, 91, 48, 93, 32, 45, - 32, 107, 44, 32, 120, 48, 41, 44, 32, 121, 48, 93, 44, 32, 91, 77, 97, 116, 104, 46, 109, 105, 110, - 40, 116, 91, 48, 93, 32, 43, 32, 107, 44, 32, 120, 49, 41, 44, 32, 121, 49, 93, 93, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 91, 91, 120, - 48, 44, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 116, 91, 49, 93, 32, 45, 32, 107, 44, 32, 121, - 48, 41, 93, 44, 32, 91, 120, 49, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 116, 91, 49, 93, - 32, 43, 32, 107, 44, 32, 121, 49, 41, 93, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 99, 108, 105, 112, - 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 116, 97, 110, 121, 40, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 97, 110, 40, 40, 104, 97, 108, 102, 80, 105, 36, 49, 32, 43, 32, 121, 41, 32, 47, - 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 99, 111, 110, 105, 99, 67, 111, 110, 102, 111, 114, 109, 97, 108, 82, 97, 119, 40, 121, 48, 44, - 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 121, 48, 32, - 61, 32, 99, 111, 115, 36, 49, 40, 121, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 32, 61, 32, 121, 48, 32, 61, 61, 61, 32, 121, 49, 32, 63, 32, 115, 105, 110, 36, 49, - 40, 121, 48, 41, 32, 58, 32, 108, 111, 103, 36, 49, 40, 99, 121, 48, 32, 47, 32, 99, 111, 115, 36, - 49, 40, 121, 49, 41, 41, 32, 47, 32, 108, 111, 103, 36, 49, 40, 116, 97, 110, 121, 40, 121, 49, 41, - 32, 47, 32, 116, 97, 110, 121, 40, 121, 48, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 32, 61, 32, 99, 121, 48, 32, 42, 32, 112, 111, 119, 36, 49, 40, 116, 97, 110, 121, - 40, 121, 48, 41, 44, 32, 110, 41, 32, 47, 32, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 33, 110, 41, 32, 114, 101, 116, 117, 114, 110, 32, 109, 101, 114, 99, 97, 116, 111, 114, - 82, 97, 119, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 112, 114, 111, 106, 101, 99, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 32, 62, 32, 48, 41, 32, 123, 32, 105, 102, 32, 40, 121, - 32, 60, 32, 45, 104, 97, 108, 102, 80, 105, 36, 49, 32, 43, 32, 101, 112, 115, 105, 108, 111, 110, 36, - 49, 41, 32, 121, 32, 61, 32, 45, 104, 97, 108, 102, 80, 105, 36, 49, 32, 43, 32, 101, 112, 115, 105, - 108, 111, 110, 36, 49, 59, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, - 115, 101, 32, 123, 32, 105, 102, 32, 40, 121, 32, 62, 32, 104, 97, 108, 102, 80, 105, 36, 49, 32, 45, - 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 41, 32, 121, 32, 61, 32, 104, 97, 108, 102, 80, 105, 36, - 49, 32, 45, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 59, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 102, 32, 47, 32, 112, 111, 119, 36, 49, - 40, 116, 97, 110, 121, 40, 121, 41, 44, 32, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 114, 32, 42, 32, 115, 105, 110, 36, 49, 40, 110, 32, - 42, 32, 120, 41, 44, 32, 102, 32, 45, 32, 114, 32, 42, 32, 99, 111, 115, 36, 49, 40, 110, 32, 42, - 32, 120, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 112, 114, 111, 106, 101, 99, 116, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 102, 121, 32, 61, 32, 102, 32, 45, 32, 121, 44, 32, 114, 32, 61, 32, 115, - 105, 103, 110, 36, 49, 40, 110, 41, 32, 42, 32, 115, 113, 114, 116, 36, 50, 40, 120, 32, 42, 32, 120, - 32, 43, 32, 102, 121, 32, 42, 32, 102, 121, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 97, 116, 97, 110, 50, 36, 49, 40, 120, 44, 32, 97, 98, - 115, 36, 49, 40, 102, 121, 41, 41, 32, 42, 32, 115, 105, 103, 110, 36, 49, 40, 102, 121, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 121, 32, 42, 32, 110, 32, - 60, 32, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, - 45, 61, 32, 112, 105, 36, 49, 32, 42, 32, 115, 105, 103, 110, 36, 49, 40, 120, 41, 32, 42, 32, 115, - 105, 103, 110, 36, 49, 40, 102, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 91, 108, 32, 47, 32, 110, 44, 32, 50, 32, 42, 32, 97, 116, 97, 110, - 40, 112, 111, 119, 36, 49, 40, 102, 32, 47, 32, 114, 44, 32, 49, 32, 47, 32, 110, 41, 41, 32, 45, - 32, 104, 97, 108, 102, 80, 105, 36, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, 116, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, - 111, 110, 105, 99, 67, 111, 110, 102, 111, 114, 109, 97, 108, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 110, 105, 99, 80, 114, 111, 106, 101, 99, 116, 105, - 111, 110, 40, 99, 111, 110, 105, 99, 67, 111, 110, 102, 111, 114, 109, 97, 108, 82, 97, 119, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 99, 97, 108, 101, 40, 49, 48, 57, 46, 53, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 112, 97, 114, 97, 108, 108, 101, 108, - 115, 40, 91, 51, 48, 44, 32, 51, 48, 93, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 113, 117, 105, 114, 101, 99, 116, 97, 110, 103, 117, 108, - 97, 114, 82, 97, 119, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 108, 97, 109, 98, 100, 97, 44, 32, 112, - 104, 105, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 101, 113, 117, 105, 114, 101, 99, - 116, 97, 110, 103, 117, 108, 97, 114, 82, 97, 119, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 101, 113, - 117, 105, 114, 101, 99, 116, 97, 110, 103, 117, 108, 97, 114, 82, 97, 119, 59, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 113, 117, 105, 114, 101, 99, 116, 97, 110, 103, 117, 108, 97, - 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, - 111, 106, 101, 99, 116, 105, 111, 110, 40, 101, 113, 117, 105, 114, 101, 99, 116, 97, 110, 103, 117, 108, 97, - 114, 82, 97, 119, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 99, 97, 108, - 101, 40, 49, 53, 50, 46, 54, 51, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 105, 99, 69, 113, 117, 105, 100, 105, 115, 116, 97, 110, - 116, 82, 97, 119, 40, 121, 48, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 99, 121, 48, 32, 61, 32, 99, 111, 115, 36, 49, 40, 121, 48, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 121, 48, 32, 61, 61, 61, 32, 121, 49, - 32, 63, 32, 115, 105, 110, 36, 49, 40, 121, 48, 41, 32, 58, 32, 40, 99, 121, 48, 32, 45, 32, 99, - 111, 115, 36, 49, 40, 121, 49, 41, 41, 32, 47, 32, 40, 121, 49, 32, 45, 32, 121, 48, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 99, 121, 48, 32, 47, 32, 110, - 32, 43, 32, 121, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 98, 115, - 36, 49, 40, 110, 41, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 41, 32, 114, 101, 116, 117, - 114, 110, 32, 101, 113, 117, 105, 114, 101, 99, 116, 97, 110, 103, 117, 108, 97, 114, 82, 97, 119, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 114, 111, 106, 101, - 99, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 103, 121, 32, 61, 32, 103, 32, 45, 32, 121, 44, 32, 110, 120, 32, 61, 32, 110, 32, - 42, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 91, 103, 121, 32, 42, 32, 115, 105, 110, 36, 49, 40, 110, 120, 41, 44, 32, 103, 32, 45, 32, 103, - 121, 32, 42, 32, 99, 111, 115, 36, 49, 40, 110, 120, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 46, 105, 110, 118, - 101, 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 121, 32, 61, 32, 103, 32, - 45, 32, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, - 61, 32, 97, 116, 97, 110, 50, 36, 49, 40, 120, 44, 32, 97, 98, 115, 36, 49, 40, 103, 121, 41, 41, - 32, 42, 32, 115, 105, 103, 110, 36, 49, 40, 103, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 103, 121, 32, 42, 32, 110, 32, 60, 32, 48, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 45, 61, 32, 112, 105, 36, 49, 32, - 42, 32, 115, 105, 103, 110, 36, 49, 40, 120, 41, 32, 42, 32, 115, 105, 103, 110, 36, 49, 40, 103, 121, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, - 108, 32, 47, 32, 110, 44, 32, 103, 32, 45, 32, 115, 105, 103, 110, 36, 49, 40, 110, 41, 32, 42, 32, - 115, 113, 114, 116, 36, 50, 40, 120, 32, 42, 32, 120, 32, 43, 32, 103, 121, 32, 42, 32, 103, 121, 41, - 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 105, 99, 69, 113, 117, 105, 100, - 105, 115, 116, 97, 110, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 99, 111, 110, 105, 99, 80, 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 99, 111, 110, 105, - 99, 69, 113, 117, 105, 100, 105, 115, 116, 97, 110, 116, 82, 97, 119, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 115, 99, 97, 108, 101, 40, 49, 51, 49, 46, 49, 53, 52, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 101, 110, 116, 101, 114, 40, 91, 48, 44, 32, - 49, 51, 46, 57, 51, 56, 57, 93, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 65, 49, 32, 61, 32, 49, 46, 51, 52, 48, 50, 54, 52, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 65, 50, 32, 61, 32, 45, 48, 46, 48, 56, 49, 49, 48, 54, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 65, 51, 32, 61, 32, 48, 46, 48, 48, 48, 56, 57, 51, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 65, 52, 32, 61, 32, 48, 46, 48, 48, 51, 55, 57, 54, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 77, 32, 61, 32, 115, 113, 114, 116, 36, 50, 40, 51, 41, 32, 47, 32, 50, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 116, 101, 114, 97, 116, 105, 111, 110, 115, 32, 61, 32, 49, 50, - 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 113, 117, 97, 108, 69, 97, - 114, 116, 104, 82, 97, 119, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 97, 115, 105, 110, 36, 49, 40, 77, - 32, 42, 32, 115, 105, 110, 36, 49, 40, 112, 104, 105, 41, 41, 44, 32, 108, 50, 32, 61, 32, 108, 32, - 42, 32, 108, 44, 32, 108, 54, 32, 61, 32, 108, 50, 32, 42, 32, 108, 50, 32, 42, 32, 108, 50, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, 98, 100, 97, 32, 42, 32, 99, 111, 115, 36, 49, 40, 108, - 41, 32, 47, 32, 40, 77, 32, 42, 32, 40, 65, 49, 32, 43, 32, 51, 32, 42, 32, 65, 50, 32, 42, - 32, 108, 50, 32, 43, 32, 108, 54, 32, 42, 32, 40, 55, 32, 42, 32, 65, 51, 32, 43, 32, 57, 32, - 42, 32, 65, 52, 32, 42, 32, 108, 50, 41, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 32, 42, 32, 40, 65, 49, 32, 43, 32, 65, 50, 32, 42, 32, 108, 50, 32, 43, 32, - 108, 54, 32, 42, 32, 40, 65, 51, 32, 43, 32, 65, 52, 32, 42, 32, 108, 50, 41, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 101, 113, 117, - 97, 108, 69, 97, 114, 116, 104, 82, 97, 119, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 108, 32, 61, 32, 121, 44, 32, 108, 50, 32, 61, 32, 108, 32, 42, 32, 108, 44, 32, 108, - 54, 32, 61, 32, 108, 50, 32, 42, 32, 108, 50, 32, 42, 32, 108, 50, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 100, 101, 108, 116, - 97, 44, 32, 102, 121, 44, 32, 102, 112, 121, 59, 32, 105, 32, 60, 32, 105, 116, 101, 114, 97, 116, 105, - 111, 110, 115, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 121, 32, 61, 32, 108, 32, 42, 32, 40, 65, 49, 32, 43, 32, 65, 50, 32, 42, 32, 108, 50, - 32, 43, 32, 108, 54, 32, 42, 32, 40, 65, 51, 32, 43, 32, 65, 52, 32, 42, 32, 108, 50, 41, 41, - 32, 45, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 112, 121, 32, 61, - 32, 65, 49, 32, 43, 32, 51, 32, 42, 32, 65, 50, 32, 42, 32, 108, 50, 32, 43, 32, 108, 54, 32, - 42, 32, 40, 55, 32, 42, 32, 65, 51, 32, 43, 32, 57, 32, 42, 32, 65, 52, 32, 42, 32, 108, 50, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 45, 61, 32, 100, 101, 108, - 116, 97, 32, 61, 32, 102, 121, 32, 47, 32, 102, 112, 121, 44, 32, 108, 50, 32, 61, 32, 108, 32, 42, - 32, 108, 44, 32, 108, 54, 32, 61, 32, 108, 50, 32, 42, 32, 108, 50, 32, 42, 32, 108, 50, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 98, 115, 36, 49, 40, 100, - 101, 108, 116, 97, 41, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 50, 41, 32, 98, 114, 101, 97, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 77, 32, 42, 32, 120, - 32, 42, 32, 40, 65, 49, 32, 43, 32, 51, 32, 42, 32, 65, 50, 32, 42, 32, 108, 50, 32, 43, 32, - 108, 54, 32, 42, 32, 40, 55, 32, 42, 32, 65, 51, 32, 43, 32, 57, 32, 42, 32, 65, 52, 32, 42, - 32, 108, 50, 41, 41, 32, 47, 32, 99, 111, 115, 36, 49, 40, 108, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 97, 115, 105, 110, 36, 49, 40, 115, 105, 110, 36, 49, 40, 108, 41, 32, - 47, 32, 77, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 113, 117, 97, 108, 69, 97, 114, 116, - 104, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, - 111, 106, 101, 99, 116, 105, 111, 110, 40, 101, 113, 117, 97, 108, 69, 97, 114, 116, 104, 82, 97, 119, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 99, 97, 108, 101, 40, 49, 55, 55, - 46, 49, 53, 56, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 103, 110, 111, 109, 111, 110, 105, 99, 82, 97, 119, 40, 120, 44, 32, 121, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 121, 32, 61, 32, 99, 111, 115, 36, 49, - 40, 121, 41, 44, 32, 107, 32, 61, 32, 99, 111, 115, 36, 49, 40, 120, 41, 32, 42, 32, 99, 121, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 99, 121, 32, 42, 32, 115, - 105, 110, 36, 49, 40, 120, 41, 32, 47, 32, 107, 44, 32, 115, 105, 110, 36, 49, 40, 121, 41, 32, 47, - 32, 107, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 103, 110, 111, 109, 111, 110, 105, - 99, 82, 97, 119, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 97, 122, 105, 109, 117, 116, 104, 97, 108, - 73, 110, 118, 101, 114, 116, 40, 97, 116, 97, 110, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 103, 110, 111, 109, 111, 110, 105, 99, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 103, 110, - 111, 109, 111, 110, 105, 99, 82, 97, 119, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 46, 115, 99, 97, 108, 101, 40, 49, 52, 52, 46, 48, 52, 57, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 99, 108, 105, 112, 65, 110, 103, 108, 101, 40, 54, 48, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 100, 101, 110, 116, - 105, 116, 121, 36, 52, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 107, - 32, 61, 32, 49, 44, 32, 116, 120, 32, 61, 32, 48, 44, 32, 116, 121, 32, 61, 32, 48, 44, 32, 115, - 120, 32, 61, 32, 49, 44, 32, 115, 121, 32, 61, 32, 49, 44, 32, 47, 47, 32, 115, 99, 97, 108, 101, - 44, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 32, 97, 110, 100, 32, 114, 101, 102, 108, 101, 99, 116, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 112, 104, 97, 32, 61, 32, 48, 44, - 32, 99, 97, 44, 32, 115, 97, 44, 32, 47, 47, 32, 97, 110, 103, 108, 101, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 110, 117, 108, 108, 44, 32, 121, 48, 44, 32, 120, - 49, 44, 32, 121, 49, 44, 32, 47, 47, 32, 99, 108, 105, 112, 32, 101, 120, 116, 101, 110, 116, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 120, 32, 61, 32, 49, 44, 32, 107, 121, 32, 61, - 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, - 114, 109, 32, 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 36, 51, 40, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 32, 61, 32, 112, 114, 111, - 106, 101, 99, 116, 105, 111, 110, 40, 91, 120, 44, 32, 121, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 116, 114, 101, - 97, 109, 46, 112, 111, 105, 110, 116, 40, 112, 91, 48, 93, 44, 32, 112, 91, 49, 93, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 111, 115, 116, 99, 108, 105, 112, 32, 61, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 53, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 99, 104, 101, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 97, 99, 104, 101, 83, 116, 114, 101, 97, 109, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 101, 116, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 120, 32, 61, 32, 107, 32, 42, 32, - 115, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 121, 32, 61, 32, 107, 32, - 42, 32, 115, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 99, 104, 101, - 32, 61, 32, 99, 97, 99, 104, 101, 83, 116, 114, 101, 97, 109, 32, 61, 32, 110, 117, 108, 108, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, - 101, 99, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, - 32, 40, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 120, 32, 61, 32, 112, 91, 48, 93, 32, 42, 32, 107, 120, 44, 32, 121, 32, 61, 32, 112, 91, 49, 93, - 32, 42, 32, 107, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 97, 108, 112, 104, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 116, 32, 61, 32, 121, 32, 42, 32, 99, 97, 32, 45, 32, 120, 32, 42, 32, - 115, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, - 32, 120, 32, 42, 32, 99, 97, 32, 43, 32, 121, 32, 42, 32, 115, 97, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 91, 120, 32, 43, 32, 116, 120, 44, 32, 121, 32, 43, 32, 116, 121, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, - 32, 61, 32, 112, 91, 48, 93, 32, 45, 32, 116, 120, 44, 32, 121, 32, 61, 32, 112, 91, 49, 93, 32, - 45, 32, 116, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, - 108, 112, 104, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 116, 32, 61, 32, 121, 32, 42, 32, 99, 97, 32, 43, 32, 120, 32, 42, 32, 115, - 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, - 120, 32, 42, 32, 99, 97, 32, 45, 32, 121, 32, 42, 32, 115, 97, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 91, 120, 32, 47, 32, 107, 120, 44, 32, 121, 32, 47, 32, 107, 121, 93, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 46, 115, 116, 114, 101, 97, 109, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 115, 116, 114, 101, 97, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 99, 97, 99, 104, 101, 32, 38, 38, 32, 99, 97, 99, 104, 101, 83, 116, - 114, 101, 97, 109, 32, 61, 61, 61, 32, 115, 116, 114, 101, 97, 109, 32, 63, 32, 99, 97, 99, 104, 101, - 32, 58, 32, 99, 97, 99, 104, 101, 32, 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 112, 111, - 115, 116, 99, 108, 105, 112, 40, 99, 97, 99, 104, 101, 83, 116, 114, 101, 97, 109, 32, 61, 32, 115, 116, - 114, 101, 97, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 112, 111, 115, 116, 99, 108, 105, 112, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 111, 115, 116, 99, 108, 105, 112, 32, 61, 32, 95, 44, - 32, 120, 48, 32, 61, 32, 121, 48, 32, 61, 32, 120, 49, 32, 61, 32, 121, 49, 32, 61, 32, 110, 117, - 108, 108, 44, 32, 114, 101, 115, 101, 116, 40, 41, 41, 32, 58, 32, 112, 111, 115, 116, 99, 108, 105, 112, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, - 111, 106, 101, 99, 116, 105, 111, 110, 46, 99, 108, 105, 112, 69, 120, 116, 101, 110, 116, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 112, 111, 115, 116, 99, 108, 105, 112, 32, 61, 32, 95, 32, 61, 61, 32, 110, - 117, 108, 108, 32, 63, 32, 40, 120, 48, 32, 61, 32, 121, 48, 32, 61, 32, 120, 49, 32, 61, 32, 121, - 49, 32, 61, 32, 110, 117, 108, 108, 44, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 53, 41, 32, 58, - 32, 99, 108, 105, 112, 82, 101, 99, 116, 97, 110, 103, 108, 101, 40, 120, 48, 32, 61, 32, 43, 95, 91, - 48, 93, 91, 48, 93, 44, 32, 121, 48, 32, 61, 32, 43, 95, 91, 48, 93, 91, 49, 93, 44, 32, 120, - 49, 32, 61, 32, 43, 95, 91, 49, 93, 91, 48, 93, 44, 32, 121, 49, 32, 61, 32, 43, 95, 91, 49, - 93, 91, 49, 93, 41, 44, 32, 114, 101, 115, 101, 116, 40, 41, 41, 32, 58, 32, 120, 48, 32, 61, 61, - 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 91, 91, 120, 48, 44, 32, 121, 48, - 93, 44, 32, 91, 120, 49, 44, 32, 121, 49, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 115, 99, - 97, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 107, 32, 61, 32, 43, 95, 44, 32, 114, 101, - 115, 101, 116, 40, 41, 41, 32, 58, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 116, 114, 97, 110, - 115, 108, 97, 116, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 120, 32, 61, 32, 43, 95, 91, - 48, 93, 44, 32, 116, 121, 32, 61, 32, 43, 95, 91, 49, 93, 44, 32, 114, 101, 115, 101, 116, 40, 41, - 41, 32, 58, 32, 91, 116, 120, 44, 32, 116, 121, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 97, 110, - 103, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 97, 108, 112, 104, 97, 32, 61, 32, 95, 32, - 37, 32, 51, 54, 48, 32, 42, 32, 114, 97, 100, 105, 97, 110, 115, 44, 32, 115, 97, 32, 61, 32, 115, - 105, 110, 36, 49, 40, 97, 108, 112, 104, 97, 41, 44, 32, 99, 97, 32, 61, 32, 99, 111, 115, 36, 49, - 40, 97, 108, 112, 104, 97, 41, 44, 32, 114, 101, 115, 101, 116, 40, 41, 41, 32, 58, 32, 97, 108, 112, - 104, 97, 32, 42, 32, 100, 101, 103, 114, 101, 101, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 114, 101, - 102, 108, 101, 99, 116, 88, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 120, 32, 61, 32, 95, 32, - 63, 32, 45, 49, 32, 58, 32, 49, 44, 32, 114, 101, 115, 101, 116, 40, 41, 41, 32, 58, 32, 115, 120, - 32, 60, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 114, 101, 102, 108, 101, 99, 116, 89, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, - 110, 103, 116, 104, 32, 63, 32, 40, 115, 121, 32, 61, 32, 95, 32, 63, 32, 45, 49, 32, 58, 32, 49, - 44, 32, 114, 101, 115, 101, 116, 40, 41, 41, 32, 58, 32, 115, 121, 32, 60, 32, 48, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, - 116, 105, 111, 110, 46, 102, 105, 116, 69, 120, 116, 101, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 101, 120, 116, 101, 110, 116, 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 105, 116, 69, 120, 116, - 101, 110, 116, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 101, 120, 116, 101, 110, 116, 44, - 32, 111, 98, 106, 101, 99, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 102, 105, 116, 83, 105, 122, - 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 105, 122, 101, 44, 32, 111, 98, 106, 101, - 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 102, 105, 116, 83, 105, 122, 101, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 115, - 105, 122, 101, 44, 32, 111, 98, 106, 101, 99, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 46, 102, 105, - 116, 87, 105, 100, 116, 104, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 119, 105, 100, 116, 104, - 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 102, 105, 116, 87, 105, 100, 116, 104, 40, 112, 114, 111, 106, 101, 99, - 116, 105, 111, 110, 44, 32, 119, 105, 100, 116, 104, 44, 32, 111, 98, 106, 101, 99, 116, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 111, 106, 101, - 99, 116, 105, 111, 110, 46, 102, 105, 116, 72, 101, 105, 103, 104, 116, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 104, 101, 105, 103, 104, 116, 44, 32, 111, 98, 106, 101, 99, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 105, 116, 72, 101, - 105, 103, 104, 116, 40, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, 44, 32, 104, 101, 105, 103, 104, 116, - 44, 32, 111, 98, 106, 101, 99, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, 116, 105, - 111, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 110, 97, 116, 117, 114, 97, 108, 69, 97, 114, 116, 104, 49, 82, 97, 119, 40, 108, 97, 109, 98, 100, - 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, - 104, 105, 50, 32, 61, 32, 112, 104, 105, 32, 42, 32, 112, 104, 105, 44, 32, 112, 104, 105, 52, 32, 61, - 32, 112, 104, 105, 50, 32, 42, 32, 112, 104, 105, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 109, - 98, 100, 97, 32, 42, 32, 40, 48, 46, 56, 55, 48, 55, 32, 45, 32, 48, 46, 49, 51, 49, 57, 55, - 57, 32, 42, 32, 112, 104, 105, 50, 32, 43, 32, 112, 104, 105, 52, 32, 42, 32, 40, 45, 48, 46, 48, - 49, 51, 55, 57, 49, 32, 43, 32, 112, 104, 105, 52, 32, 42, 32, 40, 48, 46, 48, 48, 51, 57, 55, - 49, 32, 42, 32, 112, 104, 105, 50, 32, 45, 32, 48, 46, 48, 48, 49, 53, 50, 57, 32, 42, 32, 112, - 104, 105, 52, 41, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, - 32, 42, 32, 40, 49, 46, 48, 48, 55, 50, 50, 54, 32, 43, 32, 112, 104, 105, 50, 32, 42, 32, 40, - 48, 46, 48, 49, 53, 48, 56, 53, 32, 43, 32, 112, 104, 105, 52, 32, 42, 32, 40, 45, 48, 46, 48, - 52, 52, 52, 55, 53, 32, 43, 32, 48, 46, 48, 50, 56, 56, 55, 52, 32, 42, 32, 112, 104, 105, 50, - 32, 45, 32, 48, 46, 48, 48, 53, 57, 49, 54, 32, 42, 32, 112, 104, 105, 52, 41, 41, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 110, 97, - 116, 117, 114, 97, 108, 69, 97, 114, 116, 104, 49, 82, 97, 119, 46, 105, 110, 118, 101, 114, 116, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 112, 104, 105, 32, 61, 32, 121, 44, 32, 105, 32, 61, 32, 50, 53, 44, - 32, 100, 101, 108, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 104, 105, 50, 32, 61, 32, 112, 104, - 105, 32, 42, 32, 112, 104, 105, 44, 32, 112, 104, 105, 52, 32, 61, 32, 112, 104, 105, 50, 32, 42, 32, - 112, 104, 105, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 32, 45, - 61, 32, 100, 101, 108, 116, 97, 32, 61, 32, 40, 112, 104, 105, 32, 42, 32, 40, 49, 46, 48, 48, 55, - 50, 50, 54, 32, 43, 32, 112, 104, 105, 50, 32, 42, 32, 40, 48, 46, 48, 49, 53, 48, 56, 53, 32, - 43, 32, 112, 104, 105, 52, 32, 42, 32, 40, 45, 48, 46, 48, 52, 52, 52, 55, 53, 32, 43, 32, 48, - 46, 48, 50, 56, 56, 55, 52, 32, 42, 32, 112, 104, 105, 50, 32, 45, 32, 48, 46, 48, 48, 53, 57, - 49, 54, 32, 42, 32, 112, 104, 105, 52, 41, 41, 41, 32, 45, 32, 121, 41, 32, 47, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 49, 46, 48, 48, 55, 50, 50, 54, 32, - 43, 32, 112, 104, 105, 50, 32, 42, 32, 40, 48, 46, 48, 49, 53, 48, 56, 53, 32, 42, 32, 51, 32, - 43, 32, 112, 104, 105, 52, 32, 42, 32, 40, 45, 48, 46, 48, 52, 52, 52, 55, 53, 32, 42, 32, 55, - 32, 43, 32, 48, 46, 48, 50, 56, 56, 55, 52, 32, 42, 32, 57, 32, 42, 32, 112, 104, 105, 50, 32, - 45, 32, 48, 46, 48, 48, 53, 57, 49, 54, 32, 42, 32, 49, 49, 32, 42, 32, 112, 104, 105, 52, 41, - 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 119, 104, 105, 108, 101, 32, 40, 97, 98, - 115, 36, 49, 40, 100, 101, 108, 116, 97, 41, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 32, - 38, 38, 32, 45, 45, 105, 32, 62, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 47, 32, - 40, 48, 46, 56, 55, 48, 55, 32, 43, 32, 40, 112, 104, 105, 50, 32, 61, 32, 112, 104, 105, 32, 42, - 32, 112, 104, 105, 41, 32, 42, 32, 40, 45, 48, 46, 49, 51, 49, 57, 55, 57, 32, 43, 32, 112, 104, - 105, 50, 32, 42, 32, 40, 45, 48, 46, 48, 49, 51, 55, 57, 49, 32, 43, 32, 112, 104, 105, 50, 32, - 42, 32, 112, 104, 105, 50, 32, 42, 32, 112, 104, 105, 50, 32, 42, 32, 40, 48, 46, 48, 48, 51, 57, - 55, 49, 32, 45, 32, 48, 46, 48, 48, 49, 53, 50, 57, 32, 42, 32, 112, 104, 105, 50, 41, 41, 41, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 104, 105, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 110, 97, 116, 117, 114, 97, 108, 69, 97, 114, 116, 104, 49, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, 116, 105, - 111, 110, 40, 110, 97, 116, 117, 114, 97, 108, 69, 97, 114, 116, 104, 49, 82, 97, 119, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 99, 97, 108, 101, 40, 49, 55, 53, 46, 50, 57, - 53, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 111, 114, 116, 104, 111, 103, 114, 97, 112, 104, 105, 99, 82, 97, 119, 40, 120, 44, 32, 121, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 99, 111, 115, 36, 49, - 40, 121, 41, 32, 42, 32, 115, 105, 110, 36, 49, 40, 120, 41, 44, 32, 115, 105, 110, 36, 49, 40, 121, - 41, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 111, 114, 116, 104, 111, 103, 114, 97, - 112, 104, 105, 99, 82, 97, 119, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 97, 122, 105, 109, 117, 116, - 104, 97, 108, 73, 110, 118, 101, 114, 116, 40, 97, 115, 105, 110, 36, 49, 41, 59, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 111, 114, 116, 104, 111, 103, 114, 97, 112, 104, 105, 99, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, - 101, 99, 116, 105, 111, 110, 40, 111, 114, 116, 104, 111, 103, 114, 97, 112, 104, 105, 99, 82, 97, 119, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 99, 97, 108, 101, 40, 50, 52, 57, - 46, 53, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 108, 105, 112, 65, 110, - 103, 108, 101, 40, 57, 48, 32, 43, 32, 101, 112, 115, 105, 108, 111, 110, 36, 49, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 101, 114, 101, - 111, 103, 114, 97, 112, 104, 105, 99, 82, 97, 119, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 121, 32, 61, 32, 99, 111, 115, 36, 49, 40, 121, 41, 44, - 32, 107, 32, 61, 32, 49, 32, 43, 32, 99, 111, 115, 36, 49, 40, 120, 41, 32, 42, 32, 99, 121, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 99, 121, 32, 42, 32, 115, - 105, 110, 36, 49, 40, 120, 41, 32, 47, 32, 107, 44, 32, 115, 105, 110, 36, 49, 40, 121, 41, 32, 47, - 32, 107, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 115, 116, 101, 114, 101, 111, 103, - 114, 97, 112, 104, 105, 99, 82, 97, 119, 46, 105, 110, 118, 101, 114, 116, 32, 61, 32, 97, 122, 105, 109, - 117, 116, 104, 97, 108, 73, 110, 118, 101, 114, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 122, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 50, 32, 42, 32, 97, - 116, 97, 110, 40, 122, 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 115, 116, 101, 114, 101, 111, 103, 114, 97, 112, 104, 105, 99, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 114, 111, 106, 101, 99, - 116, 105, 111, 110, 40, 115, 116, 101, 114, 101, 111, 103, 114, 97, 112, 104, 105, 99, 82, 97, 119, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 99, 97, 108, 101, 40, 50, 53, 48, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 108, 105, 112, 65, 110, 103, 108, 101, - 40, 49, 52, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 116, 114, 97, 110, 115, 118, 101, 114, 115, 101, 77, 101, 114, 99, 97, 116, 111, 114, 82, - 97, 119, 40, 108, 97, 109, 98, 100, 97, 44, 32, 112, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 108, 111, 103, 36, 49, 40, 116, 97, 110, 40, 40, 104, - 97, 108, 102, 80, 105, 36, 49, 32, 43, 32, 112, 104, 105, 41, 32, 47, 32, 50, 41, 41, 44, 32, 45, - 108, 97, 109, 98, 100, 97, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 116, 114, 97, - 110, 115, 118, 101, 114, 115, 101, 77, 101, 114, 99, 97, 116, 111, 114, 82, 97, 119, 46, 105, 110, 118, 101, - 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 45, 121, 44, 32, 50, 32, 42, 32, - 97, 116, 97, 110, 40, 101, 120, 112, 40, 120, 41, 41, 32, 45, 32, 104, 97, 108, 102, 80, 105, 36, 49, - 93, 59, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 116, 114, 97, 110, 115, 118, 101, 114, 115, 101, 77, 101, 114, 99, 97, 116, 111, 114, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, 32, 109, 101, 114, 99, 97, 116, - 111, 114, 80, 114, 111, 106, 101, 99, 116, 105, 111, 110, 40, 116, 114, 97, 110, 115, 118, 101, 114, 115, 101, - 77, 101, 114, 99, 97, 116, 111, 114, 82, 97, 119, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 101, 110, 116, 101, 114, 32, 61, 32, 109, 46, 99, 101, 110, 116, 101, 114, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 116, 97, 116, 101, 32, 61, 32, 109, 46, 114, - 111, 116, 97, 116, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 46, 99, 101, 110, 116, 101, - 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 99, 101, 110, 116, 101, 114, 40, 91, 45, 95, 91, 49, 93, - 44, 32, 95, 91, 48, 93, 93, 41, 32, 58, 32, 40, 95, 32, 61, 32, 99, 101, 110, 116, 101, 114, 40, - 41, 44, 32, 91, 95, 91, 49, 93, 44, 32, 45, 95, 91, 48, 93, 93, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 46, 114, 111, 116, 97, 116, - 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 114, 111, 116, 97, 116, 101, 40, 91, 95, 91, 48, 93, 44, - 32, 95, 91, 49, 93, 44, 32, 95, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 50, 32, 63, 32, 95, - 91, 50, 93, 32, 43, 32, 57, 48, 32, 58, 32, 57, 48, 93, 41, 32, 58, 32, 40, 95, 32, 61, 32, - 114, 111, 116, 97, 116, 101, 40, 41, 44, 32, 91, 95, 91, 48, 93, 44, 32, 95, 91, 49, 93, 44, 32, - 95, 91, 50, 93, 32, 45, 32, 57, 48, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 111, 116, 97, 116, 101, - 40, 91, 48, 44, 32, 48, 44, 32, 57, 48, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 115, 99, 97, 108, 101, 40, 49, 53, 57, 46, 49, 53, 53, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, - 83, 101, 112, 97, 114, 97, 116, 105, 111, 110, 36, 49, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 46, 112, 97, 114, 101, 110, 116, 32, 61, - 61, 61, 32, 98, 46, 112, 97, 114, 101, 110, 116, 32, 63, 32, 49, 32, 58, 32, 50, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 101, 97, 110, 88, - 40, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 99, 104, 105, 108, 100, 114, 101, 110, 46, 114, 101, 100, 117, 99, 101, 40, 109, 101, - 97, 110, 88, 82, 101, 100, 117, 99, 101, 44, 32, 48, 41, 32, 47, 32, 99, 104, 105, 108, 100, 114, 101, - 110, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 109, 101, 97, 110, 88, 82, 101, 100, 117, 99, 101, 40, 120, 44, 32, 99, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 43, 32, - 99, 46, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 109, 97, 120, 89, 40, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 49, 32, 43, 32, 99, 104, 105, 108, 100, 114, 101, 110, - 46, 114, 101, 100, 117, 99, 101, 40, 109, 97, 120, 89, 82, 101, 100, 117, 99, 101, 44, 32, 48, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 97, - 120, 89, 82, 101, 100, 117, 99, 101, 40, 121, 44, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 121, 44, 32, 99, 46, - 121, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 108, 101, 97, 102, 76, 101, 102, 116, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 99, 104, 105, 108, 100, 114, 101, 110, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 119, 104, 105, 108, 101, 32, 40, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 110, 111, 100, - 101, 46, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 110, 111, 100, 101, 32, 61, 32, 99, 104, 105, 108, - 100, 114, 101, 110, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 108, 101, 97, 102, 82, 105, 103, 104, 116, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 104, 105, 108, 100, 114, 101, 110, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, - 32, 110, 111, 100, 101, 46, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 110, 111, 100, 101, 32, 61, 32, - 99, 104, 105, 108, 100, 114, 101, 110, 91, 99, 104, 105, 108, 100, 114, 101, 110, 46, 108, 101, 110, 103, 116, - 104, 32, 45, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 99, 108, 117, 115, 116, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 101, 112, 97, 114, 97, 116, 105, 111, 110, 32, 61, 32, 100, 101, 102, 97, 117, 108, - 116, 83, 101, 112, 97, 114, 97, 116, 105, 111, 110, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 120, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 121, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, - 100, 101, 83, 105, 122, 101, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, 117, 115, 116, 101, 114, 40, 114, 111, 111, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 114, 101, - 118, 105, 111, 117, 115, 78, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 120, 32, 61, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 70, 105, 114, 115, 116, 32, 119, 97, 108, 107, 44, 32, 99, 111, 109, 112, 117, 116, 105, - 110, 103, 32, 116, 104, 101, 32, 105, 110, 105, 116, 105, 97, 108, 32, 120, 32, 38, 32, 121, 32, 118, 97, - 108, 117, 101, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, - 101, 97, 99, 104, 65, 102, 116, 101, 114, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 110, 111, 100, 101, 46, 99, 104, 105, 108, 100, 114, - 101, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 120, 32, 61, 32, 109, 101, 97, 110, - 88, 40, 99, 104, 105, 108, 100, 114, 101, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 121, 32, 61, 32, 109, 97, 120, 89, - 40, 99, 104, 105, 108, 100, 114, 101, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 120, 32, 61, 32, 112, 114, 101, - 118, 105, 111, 117, 115, 78, 111, 100, 101, 32, 63, 32, 120, 32, 43, 61, 32, 115, 101, 112, 97, 114, 97, - 116, 105, 111, 110, 40, 110, 111, 100, 101, 44, 32, 112, 114, 101, 118, 105, 111, 117, 115, 78, 111, 100, 101, - 41, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 110, 111, 100, 101, 46, 121, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 101, 118, 105, 111, 117, 115, 78, 111, - 100, 101, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 101, 102, 116, 32, 61, 32, - 108, 101, 97, 102, 76, 101, 102, 116, 40, 114, 111, 111, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 105, 103, 104, 116, 32, 61, 32, 108, 101, 97, 102, 82, 105, - 103, 104, 116, 40, 114, 111, 111, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 120, 48, 32, 61, 32, 108, 101, 102, 116, 46, 120, 32, 45, 32, 115, 101, 112, 97, 114, - 97, 116, 105, 111, 110, 40, 108, 101, 102, 116, 44, 32, 114, 105, 103, 104, 116, 41, 32, 47, 32, 50, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 114, - 105, 103, 104, 116, 46, 120, 32, 43, 32, 115, 101, 112, 97, 114, 97, 116, 105, 111, 110, 40, 114, 105, 103, - 104, 116, 44, 32, 108, 101, 102, 116, 41, 32, 47, 32, 50, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 47, 47, 32, 83, 101, 99, 111, 110, 100, 32, 119, 97, 108, 107, 44, 32, 110, 111, - 114, 109, 97, 108, 105, 122, 105, 110, 103, 32, 120, 32, 38, 32, 121, 32, 116, 111, 32, 116, 104, 101, 32, - 100, 101, 115, 105, 114, 101, 100, 32, 115, 105, 122, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 111, 111, 116, 46, 101, 97, 99, 104, 65, 102, 116, 101, - 114, 40, 110, 111, 100, 101, 83, 105, 122, 101, 32, 63, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, - 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 110, 111, 100, 101, 46, 120, 32, 61, 32, 40, 110, 111, 100, 101, 46, 120, 32, 45, 32, 114, 111, 111, 116, - 46, 120, 41, 32, 42, 32, 100, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 111, 100, 101, 46, 121, 32, 61, 32, 40, 114, 111, 111, 116, 46, 121, 32, 45, 32, 110, - 111, 100, 101, 46, 121, 41, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 120, 32, - 61, 32, 40, 110, 111, 100, 101, 46, 120, 32, 45, 32, 120, 48, 41, 32, 47, 32, 40, 120, 49, 32, 45, - 32, 120, 48, 41, 32, 42, 32, 100, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 110, 111, 100, 101, 46, 121, 32, 61, 32, 40, 49, 32, 45, 32, 40, 114, 111, 111, 116, - 46, 121, 32, 63, 32, 110, 111, 100, 101, 46, 121, 32, 47, 32, 114, 111, 111, 116, 46, 121, 32, 58, 32, - 49, 41, 41, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 108, 117, 115, 116, 101, 114, 46, 115, 101, 112, 97, 114, 97, 116, 105, 111, 110, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 63, 32, 40, 115, 101, 112, 97, 114, 97, 116, 105, 111, 110, 32, 61, 32, 120, 44, 32, 99, 108, 117, - 115, 116, 101, 114, 41, 32, 58, 32, 115, 101, 112, 97, 114, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 117, 115, 116, 101, - 114, 46, 115, 105, 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 110, 111, 100, 101, 83, 105, 122, - 101, 32, 61, 32, 102, 97, 108, 115, 101, 44, 32, 100, 120, 32, 61, 32, 43, 120, 91, 48, 93, 44, 32, - 100, 121, 32, 61, 32, 43, 120, 91, 49, 93, 44, 32, 99, 108, 117, 115, 116, 101, 114, 41, 32, 58, 32, - 40, 110, 111, 100, 101, 83, 105, 122, 101, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 91, 100, 120, 44, - 32, 100, 121, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 108, 117, 115, 116, 101, 114, 46, 110, 111, 100, 101, 83, 105, 122, 101, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, - 103, 116, 104, 32, 63, 32, 40, 110, 111, 100, 101, 83, 105, 122, 101, 32, 61, 32, 116, 114, 117, 101, 44, - 32, 100, 120, 32, 61, 32, 43, 120, 91, 48, 93, 44, 32, 100, 121, 32, 61, 32, 43, 120, 91, 49, 93, - 44, 32, 99, 108, 117, 115, 116, 101, 114, 41, 32, 58, 32, 40, 110, 111, 100, 101, 83, 105, 122, 101, 32, - 63, 32, 91, 100, 120, 44, 32, 100, 121, 93, 32, 58, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 99, 108, 117, 115, 116, 101, 114, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 99, 111, 117, 110, 116, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 117, 109, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 110, 111, 100, 101, - 46, 99, 104, 105, 108, 100, 114, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 32, 61, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 38, 38, 32, 99, 104, 105, 108, 100, 114, 101, - 110, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, - 105, 41, 32, 115, 117, 109, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, - 101, 32, 119, 104, 105, 108, 101, 32, 40, 45, 45, 105, 32, 62, 61, 32, 48, 41, 32, 115, 117, 109, 32, - 43, 61, 32, 99, 104, 105, 108, 100, 114, 101, 110, 91, 105, 93, 46, 118, 97, 108, 117, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 118, 97, 108, 117, 101, 32, 61, 32, 115, 117, 109, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, - 111, 100, 101, 95, 99, 111, 117, 110, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 65, 102, 116, 101, 114, 40, 99, 111, - 117, 110, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 110, 111, 100, 101, 95, 101, 97, 99, 104, 40, 99, 97, 108, 108, 98, 97, 99, 107, 44, 32, - 116, 104, 97, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 110, 100, - 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, - 111, 110, 115, 116, 32, 110, 111, 100, 101, 32, 111, 102, 32, 116, 104, 105, 115, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 108, 108, 98, 97, 99, 107, 46, 99, 97, 108, 108, - 40, 116, 104, 97, 116, 44, 32, 110, 111, 100, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 116, - 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 100, 101, 95, 101, 97, 99, 104, 66, 101, 102, - 111, 114, 101, 40, 99, 97, 108, 108, 98, 97, 99, 107, 44, 32, 116, 104, 97, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, 100, 101, 32, 61, 32, 116, 104, 105, 115, 44, - 32, 110, 111, 100, 101, 115, 32, 61, 32, 91, 110, 111, 100, 101, 93, 44, 32, 99, 104, 105, 108, 100, 114, - 101, 110, 44, 32, 105, 44, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, - 46, 112, 111, 112, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 97, 108, 108, 98, 97, 99, 107, 46, 99, 97, 108, 108, 40, 116, 104, 97, 116, 44, 32, 110, 111, 100, 101, - 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 110, - 111, 100, 101, 46, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 99, 104, 105, 108, 100, - 114, 101, 110, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 59, 32, 105, 32, 62, 61, 32, 48, 59, - 32, 45, 45, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 46, 112, 117, 115, 104, 40, 99, 104, 105, 108, 100, 114, 101, - 110, 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, - 100, 101, 95, 101, 97, 99, 104, 65, 102, 116, 101, 114, 40, 99, 97, 108, 108, 98, 97, 99, 107, 44, 32, - 116, 104, 97, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, 100, - 101, 32, 61, 32, 116, 104, 105, 115, 44, 32, 110, 111, 100, 101, 115, 32, 61, 32, 91, 110, 111, 100, 101, - 93, 44, 32, 110, 101, 120, 116, 32, 61, 32, 91, 93, 44, 32, 99, 104, 105, 108, 100, 114, 101, 110, 44, - 32, 105, 44, 32, 110, 44, 32, 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, - 46, 112, 111, 112, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 101, 120, 116, 46, 112, 117, 115, 104, 40, 110, 111, 100, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 110, 111, 100, - 101, 46, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, - 99, 104, 105, 108, 100, 114, 101, 110, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, - 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 46, 112, 117, 115, 104, 40, 99, 104, 105, 108, 100, 114, 101, - 110, 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 110, 111, 100, 101, 32, - 61, 32, 110, 101, 120, 116, 46, 112, 111, 112, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 97, 108, 108, 98, 97, 99, 107, 46, 99, 97, 108, 108, 40, 116, 104, 97, 116, - 44, 32, 110, 111, 100, 101, 44, 32, 43, 43, 105, 110, 100, 101, 120, 44, 32, 116, 104, 105, 115, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 110, 111, 100, 101, 95, 102, 105, 110, 100, 40, 99, 97, 108, 108, 98, 97, 99, - 107, 44, 32, 116, 104, 97, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, - 105, 110, 100, 101, 120, 32, 61, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 32, 40, 99, 111, 110, 115, 116, 32, 110, 111, 100, 101, 32, 111, 102, 32, 116, 104, 105, 115, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 97, 108, 108, 98, 97, - 99, 107, 46, 99, 97, 108, 108, 40, 116, 104, 97, 116, 44, 32, 110, 111, 100, 101, 44, 32, 43, 43, 105, - 110, 100, 101, 120, 44, 32, 116, 104, 105, 115, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 111, 100, 101, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 100, 101, - 95, 115, 117, 109, 40, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 65, 102, 116, 101, 114, 40, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 117, 109, 32, 61, 32, 43, 118, 97, 108, 117, 101, 40, 110, 111, - 100, 101, 46, 100, 97, 116, 97, 41, 32, 124, 124, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 110, 111, 100, 101, - 46, 99, 104, 105, 108, 100, 114, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 32, 61, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 38, 38, 32, 99, 104, 105, - 108, 100, 114, 101, 110, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 45, 45, 105, 32, 62, 61, 32, 48, 41, 32, 115, 117, 109, - 32, 43, 61, 32, 99, 104, 105, 108, 100, 114, 101, 110, 91, 105, 93, 46, 118, 97, 108, 117, 101, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 118, 97, 108, 117, 101, 32, - 61, 32, 115, 117, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 100, 101, 95, 115, 111, - 114, 116, 40, 99, 111, 109, 112, 97, 114, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 46, 99, 104, 105, 108, 100, 114, 101, 110, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, - 46, 99, 104, 105, 108, 100, 114, 101, 110, 46, 115, 111, 114, 116, 40, 99, 111, 109, 112, 97, 114, 101, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 110, 111, 100, 101, 95, 112, 97, 116, 104, 40, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 97, 114, 116, 32, 61, 32, 116, 104, 105, 115, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 110, 99, 101, 115, 116, 111, 114, 32, 61, 32, 108, - 101, 97, 115, 116, 67, 111, 109, 109, 111, 110, 65, 110, 99, 101, 115, 116, 111, 114, 40, 115, 116, 97, 114, - 116, 44, 32, 101, 110, 100, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, - 100, 101, 115, 32, 61, 32, 91, 115, 116, 97, 114, 116, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 119, 104, 105, 108, 101, 32, 40, 115, 116, 97, 114, 116, 32, 33, 61, 61, 32, 97, 110, 99, 101, 115, 116, - 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, - 32, 61, 32, 115, 116, 97, 114, 116, 46, 112, 97, 114, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 46, 112, 117, 115, 104, 40, 115, 116, 97, 114, 116, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 107, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 101, 110, 100, 32, 33, 61, 61, 32, 97, 110, 99, 101, - 115, 116, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, - 101, 115, 46, 115, 112, 108, 105, 99, 101, 40, 107, 44, 32, 48, 44, 32, 101, 110, 100, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 100, 32, 61, 32, 101, 110, 100, 46, 112, 97, - 114, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 110, 111, 100, 101, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 101, 97, 115, 116, 67, 111, 109, 109, 111, 110, - 65, 110, 99, 101, 115, 116, 111, 114, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 97, 32, 61, 61, 61, 32, 98, 41, 32, 114, 101, 116, 117, 114, 110, 32, 97, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 78, 111, 100, 101, 115, 32, 61, 32, - 97, 46, 97, 110, 99, 101, 115, 116, 111, 114, 115, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 98, 78, 111, 100, 101, 115, 32, 61, 32, 98, 46, 97, 110, 99, 101, 115, 116, 111, 114, - 115, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 110, 117, - 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 97, 78, 111, 100, 101, 115, 46, - 112, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 98, 78, 111, 100, - 101, 115, 46, 112, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, - 32, 40, 97, 32, 61, 61, 61, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, - 61, 32, 97, 78, 111, 100, 101, 115, 46, 112, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 98, 32, 61, 32, 98, 78, 111, 100, 101, 115, 46, 112, 111, 112, 40, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 99, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 110, 111, 100, 101, 95, 97, 110, 99, 101, 115, 116, 111, 114, 115, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, 100, 101, 32, 61, 32, 116, 104, 105, 115, 44, 32, - 110, 111, 100, 101, 115, 32, 61, 32, 91, 110, 111, 100, 101, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 119, 104, 105, 108, 101, 32, 40, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 46, 112, 97, 114, - 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, - 115, 46, 112, 117, 115, 104, 40, 110, 111, 100, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 111, 100, 101, 115, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 100, - 101, 95, 100, 101, 115, 99, 101, 110, 100, 97, 110, 116, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 116, 104, - 105, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 110, 111, 100, 101, 95, 108, 101, 97, 118, 101, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 108, 101, 97, 118, 101, 115, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 33, 110, 111, 100, 101, 46, 99, 104, 105, 108, 100, 114, 101, 110, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 97, 118, - 101, 115, 46, 112, 117, 115, 104, 40, 110, 111, 100, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 101, 97, 118, 101, 115, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 100, 101, 95, 108, 105, 110, - 107, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 111, 111, 116, - 32, 61, 32, 116, 104, 105, 115, 44, 32, 108, 105, 110, 107, 115, 32, 61, 32, 91, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 101, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 110, 111, 100, 101, 32, 33, 61, 61, 32, 114, 111, 111, 116, 41, 32, 123, 32, 47, 47, 32, - 68, 111, 110, 226, 128, 153, 116, 32, 105, 110, 99, 108, 117, 100, 101, 32, 116, 104, 101, 32, 114, 111, 111, - 116, 226, 128, 153, 115, 32, 112, 97, 114, 101, 110, 116, 44, 32, 105, 102, 32, 97, 110, 121, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 107, 115, 46, 112, 117, - 115, 104, 40, 123, 115, 111, 117, 114, 99, 101, 58, 32, 110, 111, 100, 101, 46, 112, 97, 114, 101, 110, 116, - 44, 32, 116, 97, 114, 103, 101, 116, 58, 32, 110, 111, 100, 101, 125, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 110, 107, 115, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 42, 32, 110, 111, 100, 101, 95, - 105, 116, 101, 114, 97, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 110, 111, 100, 101, 32, 61, 32, 116, 104, 105, 115, 44, 32, 99, 117, 114, 114, 101, 110, 116, 44, - 32, 110, 101, 120, 116, 32, 61, 32, 91, 110, 111, 100, 101, 93, 44, 32, 99, 104, 105, 108, 100, 114, 101, - 110, 44, 32, 105, 44, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 32, 61, 32, 110, 101, - 120, 116, 46, 114, 101, 118, 101, 114, 115, 101, 40, 41, 44, 32, 110, 101, 120, 116, 32, 61, 32, 91, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 110, 111, - 100, 101, 32, 61, 32, 99, 117, 114, 114, 101, 110, 116, 46, 112, 111, 112, 40, 41, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 105, 101, 108, 100, 32, 110, 111, - 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 110, 111, 100, 101, 46, 99, 104, 105, 108, 100, 114, - 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 99, 104, 105, 108, - 100, 114, 101, 110, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 101, 120, 116, 46, 112, 117, 115, 104, 40, 99, 104, 105, 108, 100, 114, 101, 110, - 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 32, 119, 104, 105, 108, 101, 32, 40, 110, 101, 120, 116, 46, 108, 101, 110, 103, 116, 104, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 105, 101, 114, - 97, 114, 99, 104, 121, 40, 100, 97, 116, 97, 44, 32, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 97, 116, 97, 32, 105, 110, 115, 116, 97, - 110, 99, 101, 111, 102, 32, 77, 97, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 97, 116, 97, 32, 61, 32, 91, 117, 110, 100, 101, 102, 105, 110, 101, 100, 44, 32, 100, 97, - 116, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, - 105, 108, 100, 114, 101, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 99, - 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 109, 97, 112, 67, 104, 105, 108, 100, 114, 101, 110, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 99, 104, 105, 108, - 100, 114, 101, 110, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 111, - 98, 106, 101, 99, 116, 67, 104, 105, 108, 100, 114, 101, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 111, 111, 116, 32, 61, 32, 110, - 101, 119, 32, 78, 111, 100, 101, 36, 49, 40, 100, 97, 116, 97, 41, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 111, 100, 101, 115, 32, 61, 32, 91, 114, 111, 111, 116, 93, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 104, 105, 108, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 104, 105, 108, 100, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, 46, - 112, 111, 112, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 40, 99, 104, 105, 108, 100, 115, 32, 61, 32, 99, 104, 105, 108, 100, 114, 101, 110, 40, 110, 111, - 100, 101, 46, 100, 97, 116, 97, 41, 41, 32, 38, 38, 32, 40, 110, 32, 61, 32, 40, 99, 104, 105, 108, - 100, 115, 32, 61, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 99, 104, 105, 108, 100, 115, 41, - 41, 46, 108, 101, 110, 103, 116, 104, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 99, - 104, 105, 108, 100, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 105, 32, 61, 32, 110, 32, 45, 32, 49, 59, 32, 105, 32, 62, 61, 32, 48, 59, - 32, 45, 45, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 46, 112, 117, 115, 104, 40, 99, 104, 105, 108, 100, 32, 61, - 32, 99, 104, 105, 108, 100, 115, 91, 105, 93, 32, 61, 32, 110, 101, 119, 32, 78, 111, 100, 101, 36, 49, - 40, 99, 104, 105, 108, 100, 115, 91, 105, 93, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 105, 108, 100, 46, 112, 97, 114, 101, 110, 116, - 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 104, 105, 108, 100, 46, 100, 101, 112, 116, 104, 32, 61, 32, 110, 111, 100, - 101, 46, 100, 101, 112, 116, 104, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 114, 111, 111, 116, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 99, 111, 109, 112, 117, - 116, 101, 72, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 100, 101, 95, 99, 111, 112, 121, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 104, 105, 101, 114, 97, 114, 99, 104, 121, - 40, 116, 104, 105, 115, 41, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 99, 111, 112, 121, 68, - 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 111, 98, 106, 101, 99, 116, 67, 104, 105, 108, 100, 114, 101, 110, 40, 100, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 99, 104, 105, 108, 100, 114, - 101, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 109, 97, 112, 67, 104, 105, 108, 100, 114, 101, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 65, 114, 114, 97, 121, 46, 105, 115, 65, 114, 114, 97, 121, - 40, 100, 41, 32, 63, 32, 100, 91, 49, 93, 32, 58, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 112, 121, 68, 97, 116, - 97, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, - 111, 100, 101, 46, 100, 97, 116, 97, 46, 118, 97, 108, 117, 101, 32, 33, 61, 61, 32, 117, 110, 100, 101, - 102, 105, 110, 101, 100, 41, 32, 110, 111, 100, 101, 46, 118, 97, 108, 117, 101, 32, 61, 32, 110, 111, 100, - 101, 46, 100, 97, 116, 97, 46, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 111, 100, 101, 46, 100, 97, 116, 97, 32, 61, 32, 110, 111, 100, 101, 46, 100, 97, 116, 97, 46, 100, 97, - 116, 97, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 99, 111, 109, 112, 117, 116, 101, 72, 101, 105, 103, 104, 116, 40, 110, 111, 100, 101, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 48, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 110, 111, 100, 101, 46, 104, 101, 105, 103, 104, 116, - 32, 61, 32, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, - 101, 32, 40, 40, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 46, 112, 97, 114, 101, 110, 116, 41, - 32, 38, 38, 32, 40, 110, 111, 100, 101, 46, 104, 101, 105, 103, 104, 116, 32, 60, 32, 43, 43, 104, 101, - 105, 103, 104, 116, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 78, 111, 100, 101, 36, 49, 40, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 100, 97, 116, 97, 32, 61, 32, 100, 97, 116, 97, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 100, 101, 112, 116, 104, 32, 61, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 104, 101, 105, 103, 104, 116, 32, 61, - 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 97, 114, 101, 110, 116, - 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 78, 111, 100, - 101, 36, 49, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 104, 105, 101, 114, 97, 114, 99, - 104, 121, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 32, 78, 111, 100, 101, 36, 49, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 117, 110, 116, 58, 32, 110, 111, 100, 101, 95, 99, 111, 117, - 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 97, 99, 104, 58, 32, 110, 111, 100, 101, 95, - 101, 97, 99, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 97, 99, 104, 65, 102, 116, 101, 114, - 58, 32, 110, 111, 100, 101, 95, 101, 97, 99, 104, 65, 102, 116, 101, 114, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 58, 32, 110, 111, 100, 101, 95, 101, 97, 99, - 104, 66, 101, 102, 111, 114, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 110, 100, 58, 32, - 110, 111, 100, 101, 95, 102, 105, 110, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 109, 58, - 32, 110, 111, 100, 101, 95, 115, 117, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 114, 116, - 58, 32, 110, 111, 100, 101, 95, 115, 111, 114, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, - 116, 104, 58, 32, 110, 111, 100, 101, 95, 112, 97, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 110, 99, 101, 115, 116, 111, 114, 115, 58, 32, 110, 111, 100, 101, 95, 97, 110, 99, 101, 115, 116, 111, - 114, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 115, 99, 101, 110, 100, 97, 110, 116, 115, - 58, 32, 110, 111, 100, 101, 95, 100, 101, 115, 99, 101, 110, 100, 97, 110, 116, 115, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 101, 97, 118, 101, 115, 58, 32, 110, 111, 100, 101, 95, 108, 101, 97, 118, 101, - 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 107, 115, 58, 32, 110, 111, 100, 101, 95, - 108, 105, 110, 107, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 112, 121, 58, 32, 110, 111, - 100, 101, 95, 99, 111, 112, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 83, 121, 109, 98, 111, - 108, 46, 105, 116, 101, 114, 97, 116, 111, 114, 93, 58, 32, 110, 111, 100, 101, 95, 105, 116, 101, 114, 97, - 116, 111, 114, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 97, 114, 114, 97, 121, 36, 49, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 116, 121, 112, 101, 111, 102, 32, 120, 32, 61, 61, 61, 32, 34, 111, 98, - 106, 101, 99, 116, 34, 32, 38, 38, 32, 34, 108, 101, 110, 103, 116, 104, 34, 32, 105, 110, 32, 120, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 120, 32, 47, 47, 32, 65, 114, 114, 97, - 121, 44, 32, 84, 121, 112, 101, 100, 65, 114, 114, 97, 121, 44, 32, 78, 111, 100, 101, 76, 105, 115, 116, - 44, 32, 97, 114, 114, 97, 121, 45, 108, 105, 107, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 58, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 120, 41, 59, 32, 47, 47, 32, 77, - 97, 112, 44, 32, 83, 101, 116, 44, 32, 105, 116, 101, 114, 97, 98, 108, 101, 44, 32, 115, 116, 114, 105, - 110, 103, 44, 32, 111, 114, 32, 97, 110, 121, 116, 104, 105, 110, 103, 32, 101, 108, 115, 101, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 104, 117, 102, 102, - 108, 101, 40, 97, 114, 114, 97, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 109, 32, 61, 32, 97, 114, 114, 97, 121, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 109, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 77, 97, 116, 104, 46, 114, - 97, 110, 100, 111, 109, 40, 41, 32, 42, 32, 109, 45, 45, 32, 124, 32, 48, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 97, 114, 114, 97, 121, 91, 109, 93, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 114, 97, 121, 91, 109, 93, 32, 61, 32, 97, - 114, 114, 97, 121, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, - 114, 97, 121, 91, 105, 93, 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 114, 97, 121, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 110, 99, 108, - 111, 115, 101, 40, 99, 105, 114, 99, 108, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 40, 99, 105, 114, 99, 108, 101, 115, - 32, 61, 32, 115, 104, 117, 102, 102, 108, 101, 40, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 99, - 105, 114, 99, 108, 101, 115, 41, 41, 41, 46, 108, 101, 110, 103, 116, 104, 44, 32, 66, 32, 61, 32, 91, - 93, 44, 32, 112, 44, 32, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, - 32, 40, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 32, 61, 32, 99, 105, 114, 99, 108, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 38, 38, 32, 101, 110, 99, 108, 111, 115, 101, 115, 87, - 101, 97, 107, 40, 101, 44, 32, 112, 41, 41, 32, 43, 43, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 101, 32, 61, 32, 101, 110, 99, 108, 111, 115, 101, 66, 97, - 115, 105, 115, 40, 66, 32, 61, 32, 101, 120, 116, 101, 110, 100, 66, 97, 115, 105, 115, 40, 66, 44, 32, - 112, 41, 41, 44, 32, 105, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 120, 116, 101, 110, 100, 66, 97, - 115, 105, 115, 40, 66, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 105, 44, 32, 106, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 110, 99, - 108, 111, 115, 101, 115, 87, 101, 97, 107, 65, 108, 108, 40, 112, 44, 32, 66, 41, 41, 32, 114, 101, 116, - 117, 114, 110, 32, 91, 112, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, - 32, 119, 101, 32, 103, 101, 116, 32, 104, 101, 114, 101, 32, 116, 104, 101, 110, 32, 66, 32, 109, 117, 115, - 116, 32, 104, 97, 118, 101, 32, 97, 116, 32, 108, 101, 97, 115, 116, 32, 111, 110, 101, 32, 101, 108, 101, - 109, 101, 110, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, - 48, 59, 32, 105, 32, 60, 32, 66, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 105, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 110, 99, 108, 111, 115, - 101, 115, 78, 111, 116, 40, 112, 44, 32, 66, 91, 105, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 101, 110, 99, 108, 111, 115, 101, 115, 87, 101, 97, 107, - 65, 108, 108, 40, 101, 110, 99, 108, 111, 115, 101, 66, 97, 115, 105, 115, 50, 40, 66, 91, 105, 93, 44, - 32, 112, 41, 44, 32, 66, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 66, 91, 105, 93, 44, 32, 112, 93, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 119, 101, 32, 103, 101, 116, 32, 104, - 101, 114, 101, 32, 116, 104, 101, 110, 32, 66, 32, 109, 117, 115, 116, 32, 104, 97, 118, 101, 32, 97, 116, - 32, 108, 101, 97, 115, 116, 32, 116, 119, 111, 32, 101, 108, 101, 109, 101, 110, 116, 115, 46, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 66, - 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 106, 32, 61, 32, 105, 32, 43, 32, 49, - 59, 32, 106, 32, 60, 32, 66, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 106, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 110, 99, - 108, 111, 115, 101, 115, 78, 111, 116, 40, 101, 110, 99, 108, 111, 115, 101, 66, 97, 115, 105, 115, 50, 40, - 66, 91, 105, 93, 44, 32, 66, 91, 106, 93, 41, 44, 32, 112, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 101, 110, 99, 108, 111, 115, 101, - 115, 78, 111, 116, 40, 101, 110, 99, 108, 111, 115, 101, 66, 97, 115, 105, 115, 50, 40, 66, 91, 105, 93, - 44, 32, 112, 41, 44, 32, 66, 91, 106, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 38, 38, 32, 101, 110, 99, 108, 111, 115, 101, 115, 78, 111, 116, - 40, 101, 110, 99, 108, 111, 115, 101, 66, 97, 115, 105, 115, 50, 40, 66, 91, 106, 93, 44, 32, 112, 41, - 44, 32, 66, 91, 105, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 38, 38, 32, 101, 110, 99, 108, 111, 115, 101, 115, 87, 101, 97, 107, 65, 108, 108, - 40, 101, 110, 99, 108, 111, 115, 101, 66, 97, 115, 105, 115, 51, 40, 66, 91, 105, 93, 44, 32, 66, 91, - 106, 93, 44, 32, 112, 41, 44, 32, 66, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 66, 91, 105, 93, - 44, 32, 66, 91, 106, 93, 44, 32, 112, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, - 119, 101, 32, 103, 101, 116, 32, 104, 101, 114, 101, 32, 116, 104, 101, 110, 32, 115, 111, 109, 101, 116, 104, - 105, 110, 103, 32, 105, 115, 32, 118, 101, 114, 121, 32, 119, 114, 111, 110, 103, 46, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 110, 99, 108, 111, - 115, 101, 115, 78, 111, 116, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 100, 114, 32, 61, 32, 97, 46, 114, 32, 45, 32, 98, 46, 114, 44, 32, 100, 120, 32, - 61, 32, 98, 46, 120, 32, 45, 32, 97, 46, 120, 44, 32, 100, 121, 32, 61, 32, 98, 46, 121, 32, 45, - 32, 97, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 114, - 32, 60, 32, 48, 32, 124, 124, 32, 100, 114, 32, 42, 32, 100, 114, 32, 60, 32, 100, 120, 32, 42, 32, - 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 110, 99, 108, 111, 115, 101, 115, 87, 101, 97, 107, - 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 114, - 32, 61, 32, 97, 46, 114, 32, 45, 32, 98, 46, 114, 32, 43, 32, 77, 97, 116, 104, 46, 109, 97, 120, - 40, 97, 46, 114, 44, 32, 98, 46, 114, 44, 32, 49, 41, 32, 42, 32, 49, 101, 45, 57, 44, 32, 100, - 120, 32, 61, 32, 98, 46, 120, 32, 45, 32, 97, 46, 120, 44, 32, 100, 121, 32, 61, 32, 98, 46, 121, - 32, 45, 32, 97, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 100, 114, 32, 62, 32, 48, 32, 38, 38, 32, 100, 114, 32, 42, 32, 100, 114, 32, 62, 32, 100, 120, 32, - 42, 32, 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 110, 99, 108, 111, 115, 101, 115, 87, 101, - 97, 107, 65, 108, 108, 40, 97, 44, 32, 66, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 66, 46, 108, 101, - 110, 103, 116, 104, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 33, 101, 110, 99, 108, 111, 115, 101, 115, 87, 101, 97, 107, 40, 97, 44, 32, - 66, 91, 105, 93, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 110, 99, 108, 111, 115, 101, 66, 97, 115, 105, - 115, 40, 66, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, - 66, 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 97, 115, 101, 32, 49, 58, 32, 114, 101, 116, 117, 114, 110, 32, 101, 110, 99, 108, 111, 115, 101, - 66, 97, 115, 105, 115, 49, 40, 66, 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 114, 101, 116, 117, 114, 110, 32, 101, 110, 99, 108, 111, - 115, 101, 66, 97, 115, 105, 115, 50, 40, 66, 91, 48, 93, 44, 32, 66, 91, 49, 93, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 58, 32, 114, 101, 116, 117, - 114, 110, 32, 101, 110, 99, 108, 111, 115, 101, 66, 97, 115, 105, 115, 51, 40, 66, 91, 48, 93, 44, 32, - 66, 91, 49, 93, 44, 32, 66, 91, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 110, 99, - 108, 111, 115, 101, 66, 97, 115, 105, 115, 49, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, - 58, 32, 97, 46, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 58, 32, 97, - 46, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 58, 32, 97, 46, 114, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 101, 110, 99, 108, 111, 115, 101, 66, 97, 115, 105, 115, 50, 40, 97, - 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 49, 32, 61, - 32, 97, 46, 120, 44, 32, 121, 49, 32, 61, 32, 97, 46, 121, 44, 32, 114, 49, 32, 61, 32, 97, 46, - 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 50, 32, 61, 32, 98, 46, 120, - 44, 32, 121, 50, 32, 61, 32, 98, 46, 121, 44, 32, 114, 50, 32, 61, 32, 98, 46, 114, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 50, 49, 32, 61, 32, 120, 50, 32, 45, 32, 120, - 49, 44, 32, 121, 50, 49, 32, 61, 32, 121, 50, 32, 45, 32, 121, 49, 44, 32, 114, 50, 49, 32, 61, - 32, 114, 50, 32, 45, 32, 114, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, - 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 120, 50, 49, 32, 42, 32, 120, 50, 49, 32, - 43, 32, 121, 50, 49, 32, 42, 32, 121, 50, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 58, 32, - 40, 120, 49, 32, 43, 32, 120, 50, 32, 43, 32, 120, 50, 49, 32, 47, 32, 108, 32, 42, 32, 114, 50, - 49, 41, 32, 47, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 58, 32, - 40, 121, 49, 32, 43, 32, 121, 50, 32, 43, 32, 121, 50, 49, 32, 47, 32, 108, 32, 42, 32, 114, 50, - 49, 41, 32, 47, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 58, 32, - 40, 108, 32, 43, 32, 114, 49, 32, 43, 32, 114, 50, 41, 32, 47, 32, 50, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 101, 110, 99, 108, 111, 115, 101, 66, 97, 115, 105, 115, 51, 40, 97, 44, 32, 98, 44, 32, - 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 49, 32, 61, 32, 97, - 46, 120, 44, 32, 121, 49, 32, 61, 32, 97, 46, 121, 44, 32, 114, 49, 32, 61, 32, 97, 46, 114, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 50, 32, 61, 32, 98, 46, 120, 44, 32, - 121, 50, 32, 61, 32, 98, 46, 121, 44, 32, 114, 50, 32, 61, 32, 98, 46, 114, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 51, 32, 61, 32, 99, 46, 120, 44, 32, 121, 51, 32, 61, - 32, 99, 46, 121, 44, 32, 114, 51, 32, 61, 32, 99, 46, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 50, 32, 61, 32, 120, 49, 32, 45, 32, 120, 50, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 51, 32, 61, 32, 120, 49, 32, 45, 32, 120, 51, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 50, 32, 61, 32, 121, 49, 32, 45, 32, 121, 50, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 51, 32, 61, 32, 121, 49, 32, 45, - 32, 121, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 50, 32, 61, 32, 114, - 50, 32, 45, 32, 114, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 51, 32, - 61, 32, 114, 51, 32, 45, 32, 114, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 49, 32, 61, 32, 120, 49, 32, 42, 32, 120, 49, 32, 43, 32, 121, 49, 32, 42, 32, 121, 49, 32, - 45, 32, 114, 49, 32, 42, 32, 114, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 50, 32, 61, 32, 100, 49, 32, 45, 32, 120, 50, 32, 42, 32, 120, 50, 32, 45, 32, 121, 50, 32, - 42, 32, 121, 50, 32, 43, 32, 114, 50, 32, 42, 32, 114, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 51, 32, 61, 32, 100, 49, 32, 45, 32, 120, 51, 32, 42, 32, 120, 51, 32, - 45, 32, 121, 51, 32, 42, 32, 121, 51, 32, 43, 32, 114, 51, 32, 42, 32, 114, 51, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 98, 32, 61, 32, 97, 51, 32, 42, 32, 98, 50, 32, - 45, 32, 97, 50, 32, 42, 32, 98, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 97, 32, 61, 32, 40, 98, 50, 32, 42, 32, 100, 51, 32, 45, 32, 98, 51, 32, 42, 32, 100, 50, - 41, 32, 47, 32, 40, 97, 98, 32, 42, 32, 50, 41, 32, 45, 32, 120, 49, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 120, 98, 32, 61, 32, 40, 98, 51, 32, 42, 32, 99, 50, 32, 45, - 32, 98, 50, 32, 42, 32, 99, 51, 41, 32, 47, 32, 97, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 121, 97, 32, 61, 32, 40, 97, 51, 32, 42, 32, 100, 50, 32, 45, 32, 97, 50, - 32, 42, 32, 100, 51, 41, 32, 47, 32, 40, 97, 98, 32, 42, 32, 50, 41, 32, 45, 32, 121, 49, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 98, 32, 61, 32, 40, 97, 50, 32, 42, - 32, 99, 51, 32, 45, 32, 97, 51, 32, 42, 32, 99, 50, 41, 32, 47, 32, 97, 98, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 32, 61, 32, 120, 98, 32, 42, 32, 120, 98, 32, 43, - 32, 121, 98, 32, 42, 32, 121, 98, 32, 45, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 66, 32, 61, 32, 50, 32, 42, 32, 40, 114, 49, 32, 43, 32, 120, 97, 32, 42, 32, 120, - 98, 32, 43, 32, 121, 97, 32, 42, 32, 121, 98, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 67, 32, 61, 32, 120, 97, 32, 42, 32, 120, 97, 32, 43, 32, 121, 97, 32, 42, 32, 121, - 97, 32, 45, 32, 114, 49, 32, 42, 32, 114, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 32, 61, 32, 45, 40, 65, 32, 63, 32, 40, 66, 32, 43, 32, 77, 97, 116, 104, 46, 115, - 113, 114, 116, 40, 66, 32, 42, 32, 66, 32, 45, 32, 52, 32, 42, 32, 65, 32, 42, 32, 67, 41, 41, - 32, 47, 32, 40, 50, 32, 42, 32, 65, 41, 32, 58, 32, 67, 32, 47, 32, 66, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 120, 58, 32, 120, 49, 32, 43, 32, 120, 97, 32, 43, 32, 120, 98, 32, 42, 32, 114, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 58, 32, 121, 49, 32, 43, 32, 121, - 97, 32, 43, 32, 121, 98, 32, 42, 32, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 58, 32, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 108, 97, 99, 101, 40, 98, 44, 32, - 97, 44, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 120, 32, - 61, 32, 98, 46, 120, 32, 45, 32, 97, 46, 120, 44, 32, 120, 44, 32, 97, 50, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 98, 46, 121, 32, 45, 32, 97, 46, 121, - 44, 32, 121, 44, 32, 98, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 50, - 32, 61, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 50, 32, 61, 32, 97, 46, 114, 32, 43, 32, 99, 46, 114, 44, 32, 97, - 50, 32, 42, 61, 32, 97, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 50, - 32, 61, 32, 98, 46, 114, 32, 43, 32, 99, 46, 114, 44, 32, 98, 50, 32, 42, 61, 32, 98, 50, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 50, 32, 62, 32, 98, - 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, - 61, 32, 40, 100, 50, 32, 43, 32, 98, 50, 32, 45, 32, 97, 50, 41, 32, 47, 32, 40, 50, 32, 42, - 32, 100, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, - 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, - 44, 32, 98, 50, 32, 47, 32, 100, 50, 32, 45, 32, 120, 32, 42, 32, 120, 41, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 120, 32, 61, 32, 98, 46, 120, - 32, 45, 32, 120, 32, 42, 32, 100, 120, 32, 45, 32, 121, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 121, 32, 61, 32, 98, 46, 121, 32, - 45, 32, 120, 32, 42, 32, 100, 121, 32, 43, 32, 121, 32, 42, 32, 100, 120, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 40, 100, 50, 32, 43, 32, 97, 50, 32, - 45, 32, 98, 50, 41, 32, 47, 32, 40, 50, 32, 42, 32, 100, 50, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, - 116, 40, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 97, 50, 32, 47, 32, 100, 50, 32, 45, - 32, 120, 32, 42, 32, 120, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 46, 120, 32, 61, 32, 97, 46, 120, 32, 43, 32, 120, 32, 42, 32, 100, 120, 32, 45, - 32, 121, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 46, 121, 32, 61, 32, 97, 46, 121, 32, 43, 32, 120, 32, 42, 32, 100, 121, 32, 43, 32, - 121, 32, 42, 32, 100, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 46, 120, 32, 61, 32, 97, 46, 120, 32, 43, 32, 99, 46, 114, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 121, 32, 61, 32, 97, 46, 121, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 115, 40, 97, 44, 32, 98, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 114, 32, 61, 32, 97, 46, 114, 32, - 43, 32, 98, 46, 114, 32, 45, 32, 49, 101, 45, 54, 44, 32, 100, 120, 32, 61, 32, 98, 46, 120, 32, - 45, 32, 97, 46, 120, 44, 32, 100, 121, 32, 61, 32, 98, 46, 121, 32, 45, 32, 97, 46, 121, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 114, 32, 62, 32, 48, 32, 38, - 38, 32, 100, 114, 32, 42, 32, 100, 114, 32, 62, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, 100, - 121, 32, 42, 32, 100, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 115, 99, 111, 114, 101, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 110, 111, 100, 101, 46, 95, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 110, 111, 100, 101, 46, 110, 101, 120, 116, 46, - 95, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 98, 32, 61, 32, 97, 46, 114, - 32, 43, 32, 98, 46, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, - 61, 32, 40, 97, 46, 120, 32, 42, 32, 98, 46, 114, 32, 43, 32, 98, 46, 120, 32, 42, 32, 97, 46, - 114, 41, 32, 47, 32, 97, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, - 32, 61, 32, 40, 97, 46, 121, 32, 42, 32, 98, 46, 114, 32, 43, 32, 98, 46, 121, 32, 42, 32, 97, - 46, 114, 41, 32, 47, 32, 97, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 78, 111, 100, 101, 40, - 99, 105, 114, 99, 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 32, 61, 32, 99, 105, 114, 99, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 110, 101, 120, 116, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 112, 114, 101, 118, 105, 111, 117, 115, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 99, 107, - 69, 110, 99, 108, 111, 115, 101, 40, 99, 105, 114, 99, 108, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 110, 32, 61, 32, 40, 99, 105, 114, 99, 108, 101, 115, 32, - 61, 32, 97, 114, 114, 97, 121, 36, 49, 40, 99, 105, 114, 99, 108, 101, 115, 41, 41, 46, 108, 101, 110, - 103, 116, 104, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 97, 44, 32, 98, 44, 32, 99, 44, 32, 110, 44, 32, 97, 97, 44, 32, 99, - 97, 44, 32, 105, 44, 32, 106, 44, 32, 107, 44, 32, 115, 106, 44, 32, 115, 107, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 80, 108, 97, 99, 101, 32, 116, 104, 101, 32, 102, 105, 114, 115, - 116, 32, 99, 105, 114, 99, 108, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 99, - 105, 114, 99, 108, 101, 115, 91, 48, 93, 44, 32, 97, 46, 120, 32, 61, 32, 48, 44, 32, 97, 46, 121, - 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 110, 32, 62, - 32, 49, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 97, 46, 114, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 80, 108, 97, 99, 101, 32, 116, 104, 101, 32, 115, 101, 99, 111, 110, 100, 32, - 99, 105, 114, 99, 108, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 99, 105, 114, - 99, 108, 101, 115, 91, 49, 93, 44, 32, 97, 46, 120, 32, 61, 32, 45, 98, 46, 114, 44, 32, 98, 46, - 120, 32, 61, 32, 97, 46, 114, 44, 32, 98, 46, 121, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 33, 40, 110, 32, 62, 32, 50, 41, 41, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 46, 114, 32, 43, 32, 98, 46, 114, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, - 32, 80, 108, 97, 99, 101, 32, 116, 104, 101, 32, 116, 104, 105, 114, 100, 32, 99, 105, 114, 99, 108, 101, - 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 108, 97, 99, 101, 40, 98, 44, 32, 97, 44, 32, 99, - 32, 61, 32, 99, 105, 114, 99, 108, 101, 115, 91, 50, 93, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 32, 116, 104, 101, 32, 102, 114, 111, - 110, 116, 45, 99, 104, 97, 105, 110, 32, 117, 115, 105, 110, 103, 32, 116, 104, 101, 32, 102, 105, 114, 115, - 116, 32, 116, 104, 114, 101, 101, 32, 99, 105, 114, 99, 108, 101, 115, 32, 97, 44, 32, 98, 32, 97, 110, - 100, 32, 99, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 110, 101, 119, 32, 78, 111, - 100, 101, 40, 97, 41, 44, 32, 98, 32, 61, 32, 110, 101, 119, 32, 78, 111, 100, 101, 40, 98, 41, 44, - 32, 99, 32, 61, 32, 110, 101, 119, 32, 78, 111, 100, 101, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 97, 46, 110, 101, 120, 116, 32, 61, 32, 99, 46, 112, 114, 101, 118, 105, 111, 117, 115, 32, - 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 46, 110, 101, 120, 116, 32, 61, 32, 97, - 46, 112, 114, 101, 118, 105, 111, 117, 115, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 46, 110, 101, 120, 116, 32, 61, 32, 98, 46, 112, 114, 101, 118, 105, 111, 117, 115, 32, 61, 32, 97, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 65, 116, 116, 101, 109, 112, 116, 32, 116, - 111, 32, 112, 108, 97, 99, 101, 32, 101, 97, 99, 104, 32, 114, 101, 109, 97, 105, 110, 105, 110, 103, 32, - 99, 105, 114, 99, 108, 101, 226, 128, 166, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 99, 107, 58, - 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 51, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 108, 97, 99, 101, 40, 97, - 46, 95, 44, 32, 98, 46, 95, 44, 32, 99, 32, 61, 32, 99, 105, 114, 99, 108, 101, 115, 91, 105, 93, - 41, 44, 32, 99, 32, 61, 32, 110, 101, 119, 32, 78, 111, 100, 101, 40, 99, 41, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 70, 105, 110, 100, 32, 116, 104, 101, 32, 99, - 108, 111, 115, 101, 115, 116, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 110, 103, 32, 99, 105, 114, - 99, 108, 101, 32, 111, 110, 32, 116, 104, 101, 32, 102, 114, 111, 110, 116, 45, 99, 104, 97, 105, 110, 44, - 32, 105, 102, 32, 97, 110, 121, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, - 32, 226, 128, 156, 67, 108, 111, 115, 101, 110, 101, 115, 115, 226, 128, 157, 32, 105, 115, 32, 100, 101, 116, - 101, 114, 109, 105, 110, 101, 100, 32, 98, 121, 32, 108, 105, 110, 101, 97, 114, 32, 100, 105, 115, 116, 97, - 110, 99, 101, 32, 97, 108, 111, 110, 103, 32, 116, 104, 101, 32, 102, 114, 111, 110, 116, 45, 99, 104, 97, - 105, 110, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 226, 128, 156, 65, - 104, 101, 97, 100, 226, 128, 157, 32, 111, 114, 32, 226, 128, 156, 98, 101, 104, 105, 110, 100, 226, 128, 157, - 32, 105, 115, 32, 108, 105, 107, 101, 119, 105, 115, 101, 32, 100, 101, 116, 101, 114, 109, 105, 110, 101, 100, - 32, 98, 121, 32, 108, 105, 110, 101, 97, 114, 32, 100, 105, 115, 116, 97, 110, 99, 101, 46, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 61, 32, 98, 46, 110, 101, 120, 116, 44, 32, 107, - 32, 61, 32, 97, 46, 112, 114, 101, 118, 105, 111, 117, 115, 44, 32, 115, 106, 32, 61, 32, 98, 46, 95, - 46, 114, 44, 32, 115, 107, 32, 61, 32, 97, 46, 95, 46, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 111, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 115, 106, 32, 60, 61, 32, 115, 107, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 110, 116, - 101, 114, 115, 101, 99, 116, 115, 40, 106, 46, 95, 44, 32, 99, 46, 95, 41, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, - 32, 61, 32, 106, 44, 32, 97, 46, 110, 101, 120, 116, 32, 61, 32, 98, 44, 32, 98, 46, 112, 114, 101, - 118, 105, 111, 117, 115, 32, 61, 32, 97, 44, 32, 45, 45, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 105, 110, - 117, 101, 32, 112, 97, 99, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 106, 32, 43, 61, 32, 106, 46, 95, 46, 114, 44, 32, 106, 32, 61, 32, 106, - 46, 110, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 110, 116, 101, 114, 115, 101, 99, 116, 115, 40, 107, 46, - 95, 44, 32, 99, 46, 95, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 107, 44, 32, 97, 46, 110, 101, - 120, 116, 32, 61, 32, 98, 44, 32, 98, 46, 112, 114, 101, 118, 105, 111, 117, 115, 32, 61, 32, 97, 44, - 32, 45, 45, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 105, 110, 117, 101, 32, 112, 97, 99, 107, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 107, 32, 43, 61, - 32, 107, 46, 95, 46, 114, 44, 32, 107, 32, 61, 32, 107, 46, 112, 114, 101, 118, 105, 111, 117, 115, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 119, 104, 105, 108, 101, 32, 40, 106, 32, 33, 61, 61, 32, - 107, 46, 110, 101, 120, 116, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 83, 117, 99, 99, 101, 115, 115, 33, 32, 73, 110, 115, 101, 114, 116, 32, 116, 104, 101, 32, 110, - 101, 119, 32, 99, 105, 114, 99, 108, 101, 32, 99, 32, 98, 101, 116, 119, 101, 101, 110, 32, 97, 32, 97, - 110, 100, 32, 98, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 112, 114, 101, - 118, 105, 111, 117, 115, 32, 61, 32, 97, 44, 32, 99, 46, 110, 101, 120, 116, 32, 61, 32, 98, 44, 32, - 97, 46, 110, 101, 120, 116, 32, 61, 32, 98, 46, 112, 114, 101, 118, 105, 111, 117, 115, 32, 61, 32, 98, - 32, 61, 32, 99, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, - 111, 109, 112, 117, 116, 101, 32, 116, 104, 101, 32, 110, 101, 119, 32, 99, 108, 111, 115, 101, 115, 116, 32, - 99, 105, 114, 99, 108, 101, 32, 112, 97, 105, 114, 32, 116, 111, 32, 116, 104, 101, 32, 99, 101, 110, 116, - 114, 111, 105, 100, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 97, 32, 61, 32, - 115, 99, 111, 114, 101, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, - 104, 105, 108, 101, 32, 40, 40, 99, 32, 61, 32, 99, 46, 110, 101, 120, 116, 41, 32, 33, 61, 61, 32, - 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 40, 99, 97, 32, 61, 32, 115, 99, 111, 114, 101, 40, 99, 41, 41, 32, 60, 32, 97, 97, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 32, 61, 32, 99, 44, 32, 97, 97, 32, 61, 32, 99, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 97, 46, 110, 101, 120, - 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, 116, 104, 101, 32, 101, 110, 99, 108, 111, 115, 105, 110, 103, - 32, 99, 105, 114, 99, 108, 101, 32, 111, 102, 32, 116, 104, 101, 32, 102, 114, 111, 110, 116, 32, 99, 104, - 97, 105, 110, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 91, 98, 46, 95, 93, 44, - 32, 99, 32, 61, 32, 98, 59, 32, 119, 104, 105, 108, 101, 32, 40, 40, 99, 32, 61, 32, 99, 46, 110, - 101, 120, 116, 41, 32, 33, 61, 61, 32, 98, 41, 32, 97, 46, 112, 117, 115, 104, 40, 99, 46, 95, 41, - 59, 32, 99, 32, 61, 32, 101, 110, 99, 108, 111, 115, 101, 40, 97, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 84, 114, 97, 110, 115, 108, 97, 116, 101, 32, 116, 104, 101, 32, 99, 105, - 114, 99, 108, 101, 115, 32, 116, 111, 32, 112, 117, 116, 32, 116, 104, 101, 32, 101, 110, 99, 108, 111, 115, - 105, 110, 103, 32, 99, 105, 114, 99, 108, 101, 32, 97, 114, 111, 117, 110, 100, 32, 116, 104, 101, 32, 111, - 114, 105, 103, 105, 110, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, - 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 97, 32, 61, 32, 99, 105, 114, - 99, 108, 101, 115, 91, 105, 93, 44, 32, 97, 46, 120, 32, 45, 61, 32, 99, 46, 120, 44, 32, 97, 46, - 121, 32, 45, 61, 32, 99, 46, 121, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 99, 46, 114, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 115, 105, 98, 108, 105, 110, 103, 115, 40, 99, 105, 114, 99, 108, 101, 115, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 99, 107, 69, 110, 99, 108, 111, 115, 101, 40, 99, - 105, 114, 99, 108, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 99, 105, 114, 99, 108, 101, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 111, 112, 116, 105, 111, 110, 97, 108, 40, 102, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 32, 61, 61, 32, 110, 117, 108, 108, 32, - 63, 32, 110, 117, 108, 108, 32, 58, 32, 114, 101, 113, 117, 105, 114, 101, 100, 40, 102, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 113, 117, - 105, 114, 101, 100, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, - 121, 112, 101, 111, 102, 32, 102, 32, 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, - 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 115, 116, 97, 110, 116, 90, 101, 114, 111, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 115, - 116, 97, 110, 116, 36, 50, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 100, 101, 102, 97, 117, 108, 116, 82, 97, 100, 105, 117, 115, 40, 100, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 100, - 46, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 105, 110, 100, 101, 120, 36, 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 114, 97, 100, 105, 117, 115, 32, 61, 32, 110, 117, 108, 108, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 97, 100, 100, 105, 110, 103, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, - 90, 101, 114, 111, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 112, 97, 99, 107, 40, 114, 111, 111, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 111, 111, 116, 46, 120, 32, 61, 32, 100, 120, 32, 47, 32, 50, 44, 32, 114, 111, 111, - 116, 46, 121, 32, 61, 32, 100, 121, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 114, 97, 100, 105, 117, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 101, 97, 99, 104, 66, 101, 102, 111, - 114, 101, 40, 114, 97, 100, 105, 117, 115, 76, 101, 97, 102, 40, 114, 97, 100, 105, 117, 115, 41, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 101, 97, - 99, 104, 65, 102, 116, 101, 114, 40, 112, 97, 99, 107, 67, 104, 105, 108, 100, 114, 101, 110, 40, 112, 97, - 100, 100, 105, 110, 103, 44, 32, 48, 46, 53, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 116, - 114, 97, 110, 115, 108, 97, 116, 101, 67, 104, 105, 108, 100, 40, 49, 41, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 101, 97, 99, 104, 66, 101, 102, 111, - 114, 101, 40, 114, 97, 100, 105, 117, 115, 76, 101, 97, 102, 40, 100, 101, 102, 97, 117, 108, 116, 82, 97, - 100, 105, 117, 115, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 101, 97, 99, 104, 65, 102, 116, 101, 114, 40, 112, 97, 99, 107, 67, 104, 105, 108, - 100, 114, 101, 110, 40, 99, 111, 110, 115, 116, 97, 110, 116, 90, 101, 114, 111, 44, 32, 49, 41, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 101, 97, - 99, 104, 65, 102, 116, 101, 114, 40, 112, 97, 99, 107, 67, 104, 105, 108, 100, 114, 101, 110, 40, 112, 97, - 100, 100, 105, 110, 103, 44, 32, 114, 111, 111, 116, 46, 114, 32, 47, 32, 77, 97, 116, 104, 46, 109, 105, - 110, 40, 100, 120, 44, 32, 100, 121, 41, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 116, 114, - 97, 110, 115, 108, 97, 116, 101, 67, 104, 105, 108, 100, 40, 77, 97, 116, 104, 46, 109, 105, 110, 40, 100, - 120, 44, 32, 100, 121, 41, 32, 47, 32, 40, 50, 32, 42, 32, 114, 111, 111, 116, 46, 114, 41, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 111, 111, 116, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 99, 107, 46, 114, 97, 100, 105, - 117, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 114, 97, 100, 105, 117, 115, 32, 61, 32, 111, 112, - 116, 105, 111, 110, 97, 108, 40, 120, 41, 44, 32, 112, 97, 99, 107, 41, 32, 58, 32, 114, 97, 100, 105, - 117, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 97, 99, 107, 46, 115, 105, 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 100, 120, 32, - 61, 32, 43, 120, 91, 48, 93, 44, 32, 100, 121, 32, 61, 32, 43, 120, 91, 49, 93, 44, 32, 112, 97, - 99, 107, 41, 32, 58, 32, 91, 100, 120, 44, 32, 100, 121, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 99, 107, 46, 112, 97, 100, 100, 105, - 110, 103, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 100, 105, 110, 103, 32, 61, 32, 116, - 121, 112, 101, 111, 102, 32, 120, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, - 63, 32, 120, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 50, 40, 43, 120, 41, 44, 32, 112, - 97, 99, 107, 41, 32, 58, 32, 112, 97, 100, 100, 105, 110, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 99, - 107, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 114, 97, 100, 105, 117, 115, 76, 101, 97, 102, 40, 114, 97, 100, 105, 117, 115, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, - 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 33, 110, 111, 100, 101, 46, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 114, 32, 61, 32, 77, 97, 116, - 104, 46, 109, 97, 120, 40, 48, 44, 32, 43, 114, 97, 100, 105, 117, 115, 40, 110, 111, 100, 101, 41, 32, - 124, 124, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 112, 97, 99, 107, 67, 104, 105, 108, 100, 114, 101, 110, 40, 112, 97, 100, 100, - 105, 110, 103, 44, 32, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, - 110, 111, 100, 101, 46, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 104, 105, 108, 100, 114, 101, 110, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, - 61, 32, 99, 104, 105, 108, 100, 114, 101, 110, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 112, 97, 100, - 100, 105, 110, 103, 40, 110, 111, 100, 101, 41, 32, 42, 32, 107, 32, 124, 124, 32, 48, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 41, 32, 102, - 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, - 99, 104, 105, 108, 100, 114, 101, 110, 91, 105, 93, 46, 114, 32, 43, 61, 32, 114, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 112, 97, 99, 107, 69, 110, - 99, 108, 111, 115, 101, 40, 99, 104, 105, 108, 100, 114, 101, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 41, 32, 102, 111, 114, 32, 40, 105, - 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 99, 104, 105, 108, 100, - 114, 101, 110, 91, 105, 93, 46, 114, 32, 45, 61, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 114, 32, 61, 32, 101, 32, 43, 32, 114, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 116, 114, 97, 110, 115, 108, 97, 116, 101, 67, 104, 105, 108, 100, 40, 107, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 111, - 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, - 97, 114, 101, 110, 116, 32, 61, 32, 110, 111, 100, 101, 46, 112, 97, 114, 101, 110, 116, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 114, 32, 42, 61, 32, 107, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 97, 114, 101, 110, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, - 46, 120, 32, 61, 32, 112, 97, 114, 101, 110, 116, 46, 120, 32, 43, 32, 107, 32, 42, 32, 110, 111, 100, - 101, 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, - 100, 101, 46, 121, 32, 61, 32, 112, 97, 114, 101, 110, 116, 46, 121, 32, 43, 32, 107, 32, 42, 32, 110, - 111, 100, 101, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 114, 111, 117, 110, 100, 78, 111, 100, 101, 40, 110, 111, 100, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 120, 48, 32, 61, 32, 77, 97, 116, 104, - 46, 114, 111, 117, 110, 100, 40, 110, 111, 100, 101, 46, 120, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 111, 100, 101, 46, 121, 48, 32, 61, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, - 110, 111, 100, 101, 46, 121, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, - 120, 49, 32, 61, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 110, 111, 100, 101, 46, 120, 49, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 121, 49, 32, 61, 32, 77, 97, - 116, 104, 46, 114, 111, 117, 110, 100, 40, 110, 111, 100, 101, 46, 121, 49, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 109, 97, 112, - 68, 105, 99, 101, 40, 112, 97, 114, 101, 110, 116, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, - 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, 100, - 101, 115, 32, 61, 32, 112, 97, 114, 101, 110, 116, 46, 99, 104, 105, 108, 100, 114, 101, 110, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 112, 97, 114, 101, 110, 116, 46, 118, 97, - 108, 117, 101, 32, 38, 38, 32, 40, 120, 49, 32, 45, 32, 120, 48, 41, 32, 47, 32, 112, 97, 114, 101, - 110, 116, 46, 118, 97, 108, 117, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, - 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 110, 111, 100, - 101, 46, 121, 48, 32, 61, 32, 121, 48, 44, 32, 110, 111, 100, 101, 46, 121, 49, 32, 61, 32, 121, 49, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 120, 48, 32, 61, - 32, 120, 48, 44, 32, 110, 111, 100, 101, 46, 120, 49, 32, 61, 32, 120, 48, 32, 43, 61, 32, 110, 111, - 100, 101, 46, 118, 97, 108, 117, 101, 32, 42, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, - 114, 116, 105, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 100, 120, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, - 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, 100, 105, - 110, 103, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 117, - 110, 100, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 116, 105, 116, 105, 111, 110, 40, 114, 111, 111, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 114, - 111, 111, 116, 46, 104, 101, 105, 103, 104, 116, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 120, 48, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 121, 48, 32, 61, 32, 112, 97, 100, 100, 105, - 110, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 120, 49, - 32, 61, 32, 100, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, - 46, 121, 49, 32, 61, 32, 100, 121, 32, 47, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 111, 111, 116, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 112, 111, 115, 105, - 116, 105, 111, 110, 78, 111, 100, 101, 40, 100, 121, 44, 32, 110, 41, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 111, 117, 110, 100, 41, 32, 114, 111, 111, 116, 46, - 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 114, 111, 117, 110, 100, 78, 111, 100, 101, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 111, 111, 116, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 112, 111, 115, 105, 116, 105, 111, 110, 78, 111, 100, 101, 40, 100, 121, 44, - 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 46, 99, 104, - 105, 108, 100, 114, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 114, 101, 101, 109, 97, 112, 68, 105, 99, 101, 40, 110, 111, 100, 101, - 44, 32, 110, 111, 100, 101, 46, 120, 48, 44, 32, 100, 121, 32, 42, 32, 40, 110, 111, 100, 101, 46, 100, - 101, 112, 116, 104, 32, 43, 32, 49, 41, 32, 47, 32, 110, 44, 32, 110, 111, 100, 101, 46, 120, 49, 44, - 32, 100, 121, 32, 42, 32, 40, 110, 111, 100, 101, 46, 100, 101, 112, 116, 104, 32, 43, 32, 50, 41, 32, - 47, 32, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 48, - 32, 61, 32, 110, 111, 100, 101, 46, 120, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, 110, 111, 100, 101, 46, 121, 48, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, - 61, 32, 110, 111, 100, 101, 46, 120, 49, 32, 45, 32, 112, 97, 100, 100, 105, 110, 103, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 32, 61, 32, - 110, 111, 100, 101, 46, 121, 49, 32, 45, 32, 112, 97, 100, 100, 105, 110, 103, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 49, 32, 60, 32, 120, 48, - 41, 32, 120, 48, 32, 61, 32, 120, 49, 32, 61, 32, 40, 120, 48, 32, 43, 32, 120, 49, 41, 32, 47, - 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 121, 49, 32, 60, 32, 121, 48, 41, 32, 121, 48, 32, 61, 32, 121, 49, 32, 61, 32, 40, 121, 48, - 32, 43, 32, 121, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 120, 48, 32, 61, 32, 120, 48, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 121, 48, 32, 61, 32, 121, - 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, - 46, 120, 49, 32, 61, 32, 120, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 111, 100, 101, 46, 121, 49, 32, 61, 32, 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 97, 114, 116, 105, 116, 105, 111, 110, 46, 114, 111, 117, 110, 100, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, - 103, 116, 104, 32, 63, 32, 40, 114, 111, 117, 110, 100, 32, 61, 32, 33, 33, 120, 44, 32, 112, 97, 114, - 116, 105, 116, 105, 111, 110, 41, 32, 58, 32, 114, 111, 117, 110, 100, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 116, 105, 116, 105, 111, 110, - 46, 115, 105, 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 100, 120, 32, 61, 32, 43, 120, 91, - 48, 93, 44, 32, 100, 121, 32, 61, 32, 43, 120, 91, 49, 93, 44, 32, 112, 97, 114, 116, 105, 116, 105, - 111, 110, 41, 32, 58, 32, 91, 100, 120, 44, 32, 100, 121, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 116, 105, 116, 105, 111, 110, 46, - 112, 97, 100, 100, 105, 110, 103, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 100, 105, 110, - 103, 32, 61, 32, 43, 120, 44, 32, 112, 97, 114, 116, 105, 116, 105, 111, 110, 41, 32, 58, 32, 112, 97, - 100, 100, 105, 110, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 114, 116, 105, 116, 105, 111, 110, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 112, 114, 101, 114, 111, 111, 116, 32, 61, - 32, 123, 100, 101, 112, 116, 104, 58, 32, 45, 49, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 109, 98, 105, 103, 117, 111, 117, 115, 32, 61, 32, 123, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 73, 100, 40, 100, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 105, 100, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, - 80, 97, 114, 101, 110, 116, 73, 100, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 100, 46, 112, 97, 114, 101, 110, 116, 73, 100, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 114, 97, 116, 105, 102, 121, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 100, 32, 61, 32, 100, - 101, 102, 97, 117, 108, 116, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 97, 114, 101, 110, 116, 73, 100, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 80, 97, 114, 101, 110, 116, - 73, 100, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, - 116, 114, 97, 116, 105, 102, 121, 40, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, 100, 101, 115, 32, 61, 32, 65, 114, 114, 97, 121, 46, - 102, 114, 111, 109, 40, 100, 97, 116, 97, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 75, 101, 121, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 66, 121, 75, 101, 121, 32, 61, 32, 110, - 101, 119, 32, 77, 97, 112, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 110, 111, - 100, 101, 115, 91, 105, 93, 44, 32, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, - 32, 61, 32, 110, 101, 119, 32, 78, 111, 100, 101, 36, 49, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 110, 111, 100, 101, 73, 100, 32, - 61, 32, 105, 100, 40, 100, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 41, 32, 33, 61, 32, 110, 117, - 108, 108, 32, 38, 38, 32, 40, 110, 111, 100, 101, 73, 100, 32, 43, 61, 32, 34, 34, 41, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, - 100, 101, 75, 101, 121, 32, 61, 32, 110, 111, 100, 101, 46, 105, 100, 32, 61, 32, 110, 111, 100, 101, 73, - 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 110, 111, 100, 101, 66, 121, 75, 101, 121, 46, 115, 101, 116, 40, 110, 111, 100, 101, 75, 101, 121, 44, 32, - 110, 111, 100, 101, 66, 121, 75, 101, 121, 46, 104, 97, 115, 40, 110, 111, 100, 101, 75, 101, 121, 41, 32, - 63, 32, 97, 109, 98, 105, 103, 117, 111, 117, 115, 32, 58, 32, 110, 111, 100, 101, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 110, 111, 100, 101, 73, 100, 32, 61, 32, - 112, 97, 114, 101, 110, 116, 73, 100, 40, 100, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 41, 32, 33, - 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, 40, 110, 111, 100, 101, 73, 100, 32, 43, 61, 32, 34, 34, - 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 111, 100, 101, 46, 112, 97, 114, 101, 110, 116, 32, 61, 32, 110, 111, 100, 101, 73, 100, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, - 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 73, 100, 32, 61, 32, 110, 111, 100, 101, - 46, 112, 97, 114, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 101, 110, 116, 32, 61, 32, 110, 111, 100, 101, 66, 121, - 75, 101, 121, 46, 103, 101, 116, 40, 110, 111, 100, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 112, 97, 114, 101, - 110, 116, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 109, 105, - 115, 115, 105, 110, 103, 58, 32, 34, 32, 43, 32, 110, 111, 100, 101, 73, 100, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 97, - 114, 101, 110, 116, 32, 61, 61, 61, 32, 97, 109, 98, 105, 103, 117, 111, 117, 115, 41, 32, 116, 104, 114, - 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 97, 109, 98, 105, 103, 117, 111, 117, 115, - 58, 32, 34, 32, 43, 32, 110, 111, 100, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 97, 114, 101, 110, 116, 46, - 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 112, 97, 114, 101, 110, 116, 46, 99, 104, 105, 108, 100, 114, - 101, 110, 46, 112, 117, 115, 104, 40, 110, 111, 100, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 112, 97, 114, 101, 110, 116, - 46, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 91, 110, 111, 100, 101, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 112, - 97, 114, 101, 110, 116, 32, 61, 32, 112, 97, 114, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 111, 111, 116, - 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 109, 117, 108, 116, - 105, 112, 108, 101, 32, 114, 111, 111, 116, 115, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 32, 61, 32, 110, 111, 100, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 33, 114, 111, 111, 116, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, - 114, 111, 114, 40, 34, 110, 111, 32, 114, 111, 111, 116, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 112, 97, 114, 101, 110, 116, 32, 61, 32, 112, 114, 101, 114, - 111, 111, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 101, - 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 110, 111, 100, 101, - 41, 32, 123, 32, 110, 111, 100, 101, 46, 100, 101, 112, 116, 104, 32, 61, 32, 110, 111, 100, 101, 46, 112, - 97, 114, 101, 110, 116, 46, 100, 101, 112, 116, 104, 32, 43, 32, 49, 59, 32, 45, 45, 110, 59, 32, 125, - 41, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 99, 111, 109, 112, 117, 116, 101, 72, 101, 105, - 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, - 112, 97, 114, 101, 110, 116, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 110, 32, 62, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, - 119, 32, 69, 114, 114, 111, 114, 40, 34, 99, 121, 99, 108, 101, 34, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 111, 111, 116, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 97, 116, 105, - 102, 121, 46, 105, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 105, 100, 32, 61, 32, 114, 101, 113, - 117, 105, 114, 101, 100, 40, 120, 41, 44, 32, 115, 116, 114, 97, 116, 105, 102, 121, 41, 32, 58, 32, 105, - 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 116, 114, 97, 116, 105, 102, 121, 46, 112, 97, 114, 101, 110, 116, 73, 100, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 63, 32, 40, 112, 97, 114, 101, 110, 116, 73, 100, 32, 61, 32, 114, 101, 113, 117, 105, 114, 101, 100, - 40, 120, 41, 44, 32, 115, 116, 114, 97, 116, 105, 102, 121, 41, 32, 58, 32, 112, 97, 114, 101, 110, 116, - 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 114, 97, 116, 105, 102, 121, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 83, - 101, 112, 97, 114, 97, 116, 105, 111, 110, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 46, 112, 97, 114, 101, 110, 116, 32, 61, 61, 61, 32, - 98, 46, 112, 97, 114, 101, 110, 116, 32, 63, 32, 49, 32, 58, 32, 50, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 47, 47, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 100, 105, 97, 108, 83, 101, 112, - 97, 114, 97, 116, 105, 111, 110, 40, 97, 44, 32, 98, 41, 32, 123, 10, 47, 47, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 40, 97, 46, 112, 97, 114, 101, 110, 116, 32, 61, 61, 61, 32, 98, 46, 112, 97, - 114, 101, 110, 116, 32, 63, 32, 49, 32, 58, 32, 50, 41, 32, 47, 32, 97, 46, 100, 101, 112, 116, 104, - 59, 10, 47, 47, 32, 125, 10, 10, 47, 47, 32, 84, 104, 105, 115, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 105, 115, 32, 117, 115, 101, 100, 32, 116, 111, 32, 116, 114, 97, 118, 101, 114, 115, 101, 32, 116, - 104, 101, 32, 108, 101, 102, 116, 32, 99, 111, 110, 116, 111, 117, 114, 32, 111, 102, 32, 97, 32, 115, 117, - 98, 116, 114, 101, 101, 32, 40, 111, 114, 10, 47, 47, 32, 115, 117, 98, 102, 111, 114, 101, 115, 116, 41, - 46, 32, 73, 116, 32, 114, 101, 116, 117, 114, 110, 115, 32, 116, 104, 101, 32, 115, 117, 99, 99, 101, 115, - 115, 111, 114, 32, 111, 102, 32, 118, 32, 111, 110, 32, 116, 104, 105, 115, 32, 99, 111, 110, 116, 111, 117, - 114, 46, 32, 84, 104, 105, 115, 32, 115, 117, 99, 99, 101, 115, 115, 111, 114, 32, 105, 115, 10, 47, 47, - 32, 101, 105, 116, 104, 101, 114, 32, 103, 105, 118, 101, 110, 32, 98, 121, 32, 116, 104, 101, 32, 108, 101, - 102, 116, 109, 111, 115, 116, 32, 99, 104, 105, 108, 100, 32, 111, 102, 32, 118, 32, 111, 114, 32, 98, 121, - 32, 116, 104, 101, 32, 116, 104, 114, 101, 97, 100, 32, 111, 102, 32, 118, 46, 32, 84, 104, 101, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 10, 47, 47, 32, 114, 101, 116, 117, 114, 110, 115, 32, 110, 117, 108, 108, - 32, 105, 102, 32, 97, 110, 100, 32, 111, 110, 108, 121, 32, 105, 102, 32, 118, 32, 105, 115, 32, 111, 110, - 32, 116, 104, 101, 32, 104, 105, 103, 104, 101, 115, 116, 32, 108, 101, 118, 101, 108, 32, 111, 102, 32, 105, - 116, 115, 32, 115, 117, 98, 116, 114, 101, 101, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 110, 101, 120, 116, 76, 101, 102, 116, 40, 118, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 118, 46, 99, 104, 105, 108, 100, - 114, 101, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 104, 105, - 108, 100, 114, 101, 110, 32, 63, 32, 99, 104, 105, 108, 100, 114, 101, 110, 91, 48, 93, 32, 58, 32, 118, - 46, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 84, 104, 105, 115, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 119, 111, 114, 107, 115, 32, 97, 110, 97, 108, 111, 103, 111, 117, 115, 108, 121, 32, - 116, 111, 32, 110, 101, 120, 116, 76, 101, 102, 116, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 110, 101, 120, 116, 82, 105, 103, 104, 116, 40, 118, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 118, 46, 99, 104, 105, - 108, 100, 114, 101, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, - 104, 105, 108, 100, 114, 101, 110, 32, 63, 32, 99, 104, 105, 108, 100, 114, 101, 110, 91, 99, 104, 105, 108, - 100, 114, 101, 110, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 32, 58, 32, 118, 46, 116, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 83, 104, 105, 102, 116, 115, 32, 116, 104, 101, 32, 99, - 117, 114, 114, 101, 110, 116, 32, 115, 117, 98, 116, 114, 101, 101, 32, 114, 111, 111, 116, 101, 100, 32, 97, - 116, 32, 119, 43, 46, 32, 84, 104, 105, 115, 32, 105, 115, 32, 100, 111, 110, 101, 32, 98, 121, 32, 105, - 110, 99, 114, 101, 97, 115, 105, 110, 103, 10, 47, 47, 32, 112, 114, 101, 108, 105, 109, 40, 119, 43, 41, - 32, 97, 110, 100, 32, 109, 111, 100, 40, 119, 43, 41, 32, 98, 121, 32, 115, 104, 105, 102, 116, 46, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 111, 118, 101, 83, 117, 98, 116, 114, 101, - 101, 40, 119, 109, 44, 32, 119, 112, 44, 32, 115, 104, 105, 102, 116, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 99, 104, 97, 110, 103, 101, 32, 61, 32, 115, 104, 105, 102, 116, 32, - 47, 32, 40, 119, 112, 46, 105, 32, 45, 32, 119, 109, 46, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 119, 112, 46, 99, 32, 45, 61, 32, 99, 104, 97, 110, 103, 101, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 112, 46, 115, 32, 43, 61, 32, 115, 104, 105, 102, 116, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 109, 46, 99, 32, 43, 61, 32, 99, 104, 97, 110, 103, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 119, 112, 46, 122, 32, 43, 61, 32, 115, 104, 105, 102, 116, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 119, 112, 46, 109, 32, 43, 61, 32, 115, 104, 105, 102, 116, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 47, 47, 32, 65, 108, 108, 32, 111, 116, 104, 101, 114, 32, 115, 104, 105, 102, 116, 115, 44, - 32, 97, 112, 112, 108, 105, 101, 100, 32, 116, 111, 32, 116, 104, 101, 32, 115, 109, 97, 108, 108, 101, 114, - 32, 115, 117, 98, 116, 114, 101, 101, 115, 32, 98, 101, 116, 119, 101, 101, 110, 32, 119, 45, 32, 97, 110, - 100, 32, 119, 43, 44, 32, 97, 114, 101, 10, 47, 47, 32, 112, 101, 114, 102, 111, 114, 109, 101, 100, 32, - 98, 121, 32, 116, 104, 105, 115, 32, 102, 117, 110, 99, 116, 105, 111, 110, 46, 32, 84, 111, 32, 112, 114, - 101, 112, 97, 114, 101, 32, 116, 104, 101, 32, 115, 104, 105, 102, 116, 115, 44, 32, 119, 101, 32, 104, 97, - 118, 101, 32, 116, 111, 32, 97, 100, 106, 117, 115, 116, 10, 47, 47, 32, 99, 104, 97, 110, 103, 101, 40, - 119, 43, 41, 44, 32, 115, 104, 105, 102, 116, 40, 119, 43, 41, 44, 32, 97, 110, 100, 32, 99, 104, 97, - 110, 103, 101, 40, 119, 45, 41, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, - 120, 101, 99, 117, 116, 101, 83, 104, 105, 102, 116, 115, 40, 118, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 115, 104, 105, 102, 116, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 104, 97, 110, 103, 101, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 118, 46, 99, 104, - 105, 108, 100, 114, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, - 32, 99, 104, 105, 108, 100, 114, 101, 110, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 119, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, - 32, 40, 45, 45, 105, 32, 62, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 32, 61, 32, 99, 104, 105, 108, 100, 114, 101, 110, 91, 105, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 46, 122, 32, 43, 61, 32, 115, 104, 105, 102, 116, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 46, 109, 32, 43, 61, 32, 115, 104, 105, 102, - 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 104, 105, 102, 116, 32, 43, 61, - 32, 119, 46, 115, 32, 43, 32, 40, 99, 104, 97, 110, 103, 101, 32, 43, 61, 32, 119, 46, 99, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 73, 102, - 32, 118, 105, 45, 226, 128, 153, 115, 32, 97, 110, 99, 101, 115, 116, 111, 114, 32, 105, 115, 32, 97, 32, - 115, 105, 98, 108, 105, 110, 103, 32, 111, 102, 32, 118, 44, 32, 114, 101, 116, 117, 114, 110, 115, 32, 118, - 105, 45, 226, 128, 153, 115, 32, 97, 110, 99, 101, 115, 116, 111, 114, 46, 32, 79, 116, 104, 101, 114, 119, - 105, 115, 101, 44, 10, 47, 47, 32, 114, 101, 116, 117, 114, 110, 115, 32, 116, 104, 101, 32, 115, 112, 101, - 99, 105, 102, 105, 101, 100, 32, 40, 100, 101, 102, 97, 117, 108, 116, 41, 32, 97, 110, 99, 101, 115, 116, - 111, 114, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 101, 120, 116, 65, 110, - 99, 101, 115, 116, 111, 114, 40, 118, 105, 109, 44, 32, 118, 44, 32, 97, 110, 99, 101, 115, 116, 111, 114, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 105, 109, 46, - 97, 46, 112, 97, 114, 101, 110, 116, 32, 61, 61, 61, 32, 118, 46, 112, 97, 114, 101, 110, 116, 32, 63, - 32, 118, 105, 109, 46, 97, 32, 58, 32, 97, 110, 99, 101, 115, 116, 111, 114, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 84, 114, 101, 101, 78, 111, 100, - 101, 40, 110, 111, 100, 101, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 112, 97, 114, 101, 110, 116, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 110, 117, 108, 108, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 65, 32, 61, 32, 110, 117, 108, 108, - 59, 32, 47, 47, 32, 100, 101, 102, 97, 117, 108, 116, 32, 97, 110, 99, 101, 115, 116, 111, 114, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 97, 32, 61, 32, 116, 104, 105, 115, 59, 32, 47, - 47, 32, 97, 110, 99, 101, 115, 116, 111, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 122, 32, 61, 32, 48, 59, 32, 47, 47, 32, 112, 114, 101, 108, 105, 109, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 109, 32, 61, 32, 48, 59, 32, 47, 47, 32, 109, 111, 100, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 99, 32, 61, 32, 48, 59, 32, 47, 47, 32, 99, - 104, 97, 110, 103, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 32, 61, 32, - 48, 59, 32, 47, 47, 32, 115, 104, 105, 102, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 116, 32, 61, 32, 110, 117, 108, 108, 59, 32, 47, 47, 32, 116, 104, 114, 101, 97, 100, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 105, 32, 61, 32, 105, 59, 32, 47, 47, 32, 110, - 117, 109, 98, 101, 114, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 84, 114, 101, 101, 78, 111, - 100, 101, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 99, - 114, 101, 97, 116, 101, 40, 78, 111, 100, 101, 36, 49, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 41, - 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 82, 111, 111, - 116, 40, 114, 111, 111, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, - 114, 101, 101, 32, 61, 32, 110, 101, 119, 32, 84, 114, 101, 101, 78, 111, 100, 101, 40, 114, 111, 111, 116, - 44, 32, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 32, 61, 32, 91, 116, - 114, 101, 101, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 105, 108, 100, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 105, 108, 100, 114, 101, 110, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, - 40, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 115, 46, 112, 111, 112, 40, 41, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 114, 101, - 110, 32, 61, 32, 110, 111, 100, 101, 46, 95, 46, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 99, 104, - 105, 108, 100, 114, 101, 110, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 32, 61, 32, - 99, 104, 105, 108, 100, 114, 101, 110, 46, 108, 101, 110, 103, 116, 104, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 110, 32, 45, - 32, 49, 59, 32, 105, 32, 62, 61, 32, 48, 59, 32, 45, 45, 105, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 46, 112, - 117, 115, 104, 40, 99, 104, 105, 108, 100, 32, 61, 32, 110, 111, 100, 101, 46, 99, 104, 105, 108, 100, 114, - 101, 110, 91, 105, 93, 32, 61, 32, 110, 101, 119, 32, 84, 114, 101, 101, 78, 111, 100, 101, 40, 99, 104, - 105, 108, 100, 114, 101, 110, 91, 105, 93, 44, 32, 105, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 104, 105, 108, 100, 46, 112, 97, 114, 101, - 110, 116, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 40, 116, 114, 101, 101, 46, 112, - 97, 114, 101, 110, 116, 32, 61, 32, 110, 101, 119, 32, 84, 114, 101, 101, 78, 111, 100, 101, 40, 110, 117, - 108, 108, 44, 32, 48, 41, 41, 46, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 91, 116, 114, 101, - 101, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 101, 101, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 78, 111, 100, 101, 45, 108, 105, 110, 107, 32, 116, - 114, 101, 101, 32, 100, 105, 97, 103, 114, 97, 109, 32, 117, 115, 105, 110, 103, 32, 116, 104, 101, 32, 82, - 101, 105, 110, 103, 111, 108, 100, 45, 84, 105, 108, 102, 111, 114, 100, 32, 34, 116, 105, 100, 121, 34, 32, - 97, 108, 103, 111, 114, 105, 116, 104, 109, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 116, 114, 101, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 101, - 112, 97, 114, 97, 116, 105, 111, 110, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 83, 101, 112, 97, 114, - 97, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, - 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 49, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 83, 105, 122, 101, 32, 61, - 32, 110, 117, 108, 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 116, 114, 101, 101, 40, 114, 111, 111, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 116, 32, 61, 32, 116, 114, 101, 101, 82, 111, 111, 116, 40, 114, 111, - 111, 116, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, - 109, 112, 117, 116, 101, 32, 116, 104, 101, 32, 108, 97, 121, 111, 117, 116, 32, 117, 115, 105, 110, 103, 32, - 66, 117, 99, 104, 104, 101, 105, 109, 32, 101, 116, 32, 97, 108, 46, 226, 128, 153, 115, 32, 97, 108, 103, - 111, 114, 105, 116, 104, 109, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 46, 101, - 97, 99, 104, 65, 102, 116, 101, 114, 40, 102, 105, 114, 115, 116, 87, 97, 108, 107, 41, 44, 32, 116, 46, - 112, 97, 114, 101, 110, 116, 46, 109, 32, 61, 32, 45, 116, 46, 122, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 115, 101, 99, 111, - 110, 100, 87, 97, 108, 107, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 73, 102, 32, 97, 32, 102, 105, 120, 101, 100, 32, 110, 111, 100, 101, 32, 115, 105, 122, 101, 32, - 105, 115, 32, 115, 112, 101, 99, 105, 102, 105, 101, 100, 44, 32, 115, 99, 97, 108, 101, 32, 120, 32, 97, - 110, 100, 32, 121, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, - 111, 100, 101, 83, 105, 122, 101, 41, 32, 114, 111, 111, 116, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, - 101, 40, 115, 105, 122, 101, 78, 111, 100, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 97, 32, 102, 105, 120, 101, 100, 32, 116, 114, - 101, 101, 32, 115, 105, 122, 101, 32, 105, 115, 32, 115, 112, 101, 99, 105, 102, 105, 101, 100, 44, 32, 115, - 99, 97, 108, 101, 32, 120, 32, 97, 110, 100, 32, 121, 32, 98, 97, 115, 101, 100, 32, 111, 110, 32, 116, - 104, 101, 32, 101, 120, 116, 101, 110, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 47, 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, 116, 104, 101, 32, 108, 101, 102, 116, 45, 109, 111, 115, - 116, 44, 32, 114, 105, 103, 104, 116, 45, 109, 111, 115, 116, 44, 32, 97, 110, 100, 32, 100, 101, 112, 116, - 104, 45, 109, 111, 115, 116, 32, 110, 111, 100, 101, 115, 32, 102, 111, 114, 32, 101, 120, 116, 101, 110, 116, - 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 101, 102, 116, - 32, 61, 32, 114, 111, 111, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 105, 103, 104, 116, 32, 61, 32, 114, 111, 111, 116, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 111, 116, 116, 111, 109, - 32, 61, 32, 114, 111, 111, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 111, 111, 116, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 46, 120, 32, 60, 32, 108, - 101, 102, 116, 46, 120, 41, 32, 108, 101, 102, 116, 32, 61, 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, - 100, 101, 46, 120, 32, 62, 32, 114, 105, 103, 104, 116, 46, 120, 41, 32, 114, 105, 103, 104, 116, 32, 61, - 32, 110, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 46, 100, 101, 112, 116, 104, 32, 62, 32, 98, 111, - 116, 116, 111, 109, 46, 100, 101, 112, 116, 104, 41, 32, 98, 111, 116, 116, 111, 109, 32, 61, 32, 110, 111, - 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 32, - 61, 32, 108, 101, 102, 116, 32, 61, 61, 61, 32, 114, 105, 103, 104, 116, 32, 63, 32, 49, 32, 58, 32, - 115, 101, 112, 97, 114, 97, 116, 105, 111, 110, 40, 108, 101, 102, 116, 44, 32, 114, 105, 103, 104, 116, 41, - 32, 47, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 120, 32, 61, 32, 115, 32, 45, 32, 108, 101, 102, 116, 46, 120, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 120, 32, 61, 32, 100, - 120, 32, 47, 32, 40, 114, 105, 103, 104, 116, 46, 120, 32, 43, 32, 115, 32, 43, 32, 116, 120, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 121, - 32, 61, 32, 100, 121, 32, 47, 32, 40, 98, 111, 116, 116, 111, 109, 46, 100, 101, 112, 116, 104, 32, 124, - 124, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 111, 111, 116, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 120, 32, 61, 32, 40, 110, 111, 100, 101, 46, 120, 32, - 43, 32, 116, 120, 41, 32, 42, 32, 107, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 121, 32, 61, 32, 110, 111, 100, 101, 46, - 100, 101, 112, 116, 104, 32, 42, 32, 107, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 111, 111, - 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 67, 111, 109, 112, 117, 116, 101, 115, 32, 97, 32, 112, 114, 101, 108, 105, 109, 105, 110, 97, 114, - 121, 32, 120, 45, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 32, 102, 111, 114, 32, 118, 46, 32, 66, - 101, 102, 111, 114, 101, 32, 116, 104, 97, 116, 44, 32, 70, 73, 82, 83, 84, 32, 87, 65, 76, 75, 32, - 105, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 97, 112, 112, 108, 105, 101, 100, 32, 114, - 101, 99, 117, 114, 115, 105, 118, 101, 108, 121, 32, 116, 111, 32, 116, 104, 101, 32, 99, 104, 105, 108, 100, - 114, 101, 110, 32, 111, 102, 32, 118, 44, 32, 97, 115, 32, 119, 101, 108, 108, 32, 97, 115, 32, 116, 104, - 101, 32, 102, 117, 110, 99, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 65, - 80, 80, 79, 82, 84, 73, 79, 78, 46, 32, 65, 102, 116, 101, 114, 32, 115, 112, 97, 99, 105, 110, 103, - 32, 111, 117, 116, 32, 116, 104, 101, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 98, 121, 32, 99, 97, - 108, 108, 105, 110, 103, 32, 69, 88, 69, 67, 85, 84, 69, 32, 83, 72, 73, 70, 84, 83, 44, 32, 116, - 104, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 110, 111, 100, 101, 32, 118, 32, 105, 115, - 32, 112, 108, 97, 99, 101, 100, 32, 116, 111, 32, 116, 104, 101, 32, 109, 105, 100, 112, 111, 105, 110, 116, - 32, 111, 102, 32, 105, 116, 115, 32, 111, 117, 116, 101, 114, 109, 111, 115, 116, 32, 99, 104, 105, 108, 100, - 114, 101, 110, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, - 105, 114, 115, 116, 87, 97, 108, 107, 40, 118, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 118, 46, 99, 104, 105, - 108, 100, 114, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 105, 98, 108, 105, 110, 103, 115, 32, 61, 32, 118, 46, 112, 97, 114, 101, 110, 116, 46, 99, 104, 105, - 108, 100, 114, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 119, 32, 61, 32, 118, 46, 105, 32, 63, 32, 115, 105, 98, 108, 105, 110, 103, 115, 91, 118, 46, 105, 32, - 45, 32, 49, 93, 32, 58, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 120, 101, 99, 117, 116, 101, 83, 104, 105, 102, 116, - 115, 40, 118, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 109, 105, 100, 112, 111, 105, 110, 116, 32, 61, 32, 40, 99, 104, 105, 108, 100, 114, 101, 110, - 91, 48, 93, 46, 122, 32, 43, 32, 99, 104, 105, 108, 100, 114, 101, 110, 91, 99, 104, 105, 108, 100, 114, - 101, 110, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 46, 122, 41, 32, 47, 32, 50, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 119, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 46, 122, 32, 61, 32, 119, 46, 122, 32, 43, 32, 115, 101, 112, 97, 114, 97, 116, 105, 111, 110, 40, 118, - 46, 95, 44, 32, 119, 46, 95, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 46, 109, 32, 61, 32, 118, 46, 122, 32, 45, 32, 109, 105, 100, 112, - 111, 105, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 46, 122, 32, 61, 32, 109, 105, 100, 112, 111, 105, 110, 116, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 119, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 46, 122, 32, 61, 32, 119, 46, 122, - 32, 43, 32, 115, 101, 112, 97, 114, 97, 116, 105, 111, 110, 40, 118, 46, 95, 44, 32, 119, 46, 95, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 46, 112, 97, 114, 101, 110, 116, 46, 65, 32, 61, 32, 97, 112, 112, 111, 114, - 116, 105, 111, 110, 40, 118, 44, 32, 119, 44, 32, 118, 46, 112, 97, 114, 101, 110, 116, 46, 65, 32, 124, - 124, 32, 115, 105, 98, 108, 105, 110, 103, 115, 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 109, 112, 117, 116, 101, 115, - 32, 97, 108, 108, 32, 114, 101, 97, 108, 32, 120, 45, 99, 111, 111, 114, 100, 105, 110, 97, 116, 101, 115, - 32, 98, 121, 32, 115, 117, 109, 109, 105, 110, 103, 32, 117, 112, 32, 116, 104, 101, 32, 109, 111, 100, 105, - 102, 105, 101, 114, 115, 32, 114, 101, 99, 117, 114, 115, 105, 118, 101, 108, 121, 46, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 99, 111, 110, 100, 87, 97, 108, 107, - 40, 118, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 46, 95, 46, 120, - 32, 61, 32, 118, 46, 122, 32, 43, 32, 118, 46, 112, 97, 114, 101, 110, 116, 46, 109, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 46, 109, 32, 43, 61, 32, 118, 46, 112, 97, 114, 101, - 110, 116, 46, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 84, 104, 101, 32, 99, 111, 114, 101, 32, 111, 102, 32, 116, 104, 101, 32, 97, 108, - 103, 111, 114, 105, 116, 104, 109, 46, 32, 72, 101, 114, 101, 44, 32, 97, 32, 110, 101, 119, 32, 115, 117, - 98, 116, 114, 101, 101, 32, 105, 115, 32, 99, 111, 109, 98, 105, 110, 101, 100, 32, 119, 105, 116, 104, 32, - 116, 104, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 112, 114, 101, 118, 105, 111, 117, 115, - 32, 115, 117, 98, 116, 114, 101, 101, 115, 46, 32, 84, 104, 114, 101, 97, 100, 115, 32, 97, 114, 101, 32, - 117, 115, 101, 100, 32, 116, 111, 32, 116, 114, 97, 118, 101, 114, 115, 101, 32, 116, 104, 101, 32, 105, 110, - 115, 105, 100, 101, 32, 97, 110, 100, 32, 111, 117, 116, 115, 105, 100, 101, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 99, 111, 110, 116, 111, 117, 114, 115, 32, 111, 102, 32, 116, 104, 101, 32, 108, 101, - 102, 116, 32, 97, 110, 100, 32, 114, 105, 103, 104, 116, 32, 115, 117, 98, 116, 114, 101, 101, 32, 117, 112, - 32, 116, 111, 32, 116, 104, 101, 32, 104, 105, 103, 104, 101, 115, 116, 32, 99, 111, 109, 109, 111, 110, 32, - 108, 101, 118, 101, 108, 46, 32, 84, 104, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 118, - 101, 114, 116, 105, 99, 101, 115, 32, 117, 115, 101, 100, 32, 102, 111, 114, 32, 116, 104, 101, 32, 116, 114, - 97, 118, 101, 114, 115, 97, 108, 115, 32, 97, 114, 101, 32, 118, 105, 43, 44, 32, 118, 105, 45, 44, 32, - 118, 111, 45, 44, 32, 97, 110, 100, 32, 118, 111, 43, 44, 32, 119, 104, 101, 114, 101, 32, 116, 104, 101, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 115, 117, 112, 101, 114, 115, 99, 114, 105, 112, 116, - 32, 111, 32, 109, 101, 97, 110, 115, 32, 111, 117, 116, 115, 105, 100, 101, 32, 97, 110, 100, 32, 105, 32, - 109, 101, 97, 110, 115, 32, 105, 110, 115, 105, 100, 101, 44, 32, 116, 104, 101, 32, 115, 117, 98, 115, 99, - 114, 105, 112, 116, 32, 45, 32, 109, 101, 97, 110, 115, 32, 108, 101, 102, 116, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 115, 117, 98, 116, 114, 101, 101, 32, 97, 110, 100, 32, 43, 32, 109, 101, 97, - 110, 115, 32, 114, 105, 103, 104, 116, 32, 115, 117, 98, 116, 114, 101, 101, 46, 32, 70, 111, 114, 32, 115, - 117, 109, 109, 105, 110, 103, 32, 117, 112, 32, 116, 104, 101, 32, 109, 111, 100, 105, 102, 105, 101, 114, 115, - 32, 97, 108, 111, 110, 103, 32, 116, 104, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 99, - 111, 110, 116, 111, 117, 114, 44, 32, 119, 101, 32, 117, 115, 101, 32, 114, 101, 115, 112, 101, 99, 116, 105, - 118, 101, 32, 118, 97, 114, 105, 97, 98, 108, 101, 115, 32, 115, 105, 43, 44, 32, 115, 105, 45, 44, 32, - 115, 111, 45, 44, 32, 97, 110, 100, 32, 115, 111, 43, 46, 32, 87, 104, 101, 110, 101, 118, 101, 114, 32, - 116, 119, 111, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 110, 111, 100, 101, 115, 32, 111, 102, - 32, 116, 104, 101, 32, 105, 110, 115, 105, 100, 101, 32, 99, 111, 110, 116, 111, 117, 114, 115, 32, 99, 111, - 110, 102, 108, 105, 99, 116, 44, 32, 119, 101, 32, 99, 111, 109, 112, 117, 116, 101, 32, 116, 104, 101, 32, - 108, 101, 102, 116, 32, 111, 110, 101, 32, 111, 102, 32, 116, 104, 101, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 47, 47, 32, 103, 114, 101, 97, 116, 101, 115, 116, 32, 117, 110, 99, 111, 109, 109, 111, 110, 32, 97, - 110, 99, 101, 115, 116, 111, 114, 115, 32, 117, 115, 105, 110, 103, 32, 116, 104, 101, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 65, 78, 67, 69, 83, 84, 79, 82, 32, 97, 110, 100, 32, 99, 97, 108, 108, 32, - 77, 79, 86, 69, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 83, 85, 66, 84, 82, 69, 69, - 32, 116, 111, 32, 115, 104, 105, 102, 116, 32, 116, 104, 101, 32, 115, 117, 98, 116, 114, 101, 101, 32, 97, - 110, 100, 32, 112, 114, 101, 112, 97, 114, 101, 32, 116, 104, 101, 32, 115, 104, 105, 102, 116, 115, 32, 111, - 102, 32, 115, 109, 97, 108, 108, 101, 114, 32, 115, 117, 98, 116, 114, 101, 101, 115, 46, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 47, 47, 32, 70, 105, 110, 97, 108, 108, 121, 44, 32, 119, 101, 32, 97, 100, 100, - 32, 97, 32, 110, 101, 119, 32, 116, 104, 114, 101, 97, 100, 32, 40, 105, 102, 32, 110, 101, 99, 101, 115, - 115, 97, 114, 121, 41, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 97, 112, 112, 111, 114, 116, 105, 111, 110, 40, 118, 44, 32, 119, 44, 32, 97, 110, 99, 101, 115, 116, - 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 119, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 118, 105, 112, 32, 61, 32, 118, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 111, 112, 32, 61, 32, 118, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 105, 109, 32, 61, 32, 119, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 109, 32, - 61, 32, 118, 105, 112, 46, 112, 97, 114, 101, 110, 116, 46, 99, 104, 105, 108, 100, 114, 101, 110, 91, 48, - 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 105, 112, 32, 61, 32, 118, 105, 112, 46, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 112, 32, 61, 32, 118, 111, 112, 46, 109, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 109, - 32, 61, 32, 118, 105, 109, 46, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 111, 109, 32, 61, 32, 118, 111, 109, 46, 109, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 104, 105, 102, 116, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, - 40, 118, 105, 109, 32, 61, 32, 110, 101, 120, 116, 82, 105, 103, 104, 116, 40, 118, 105, 109, 41, 44, 32, - 118, 105, 112, 32, 61, 32, 110, 101, 120, 116, 76, 101, 102, 116, 40, 118, 105, 112, 41, 44, 32, 118, 105, - 109, 32, 38, 38, 32, 118, 105, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 109, 32, 61, 32, 110, 101, 120, 116, 76, 101, 102, 116, - 40, 118, 111, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 111, 112, 32, 61, 32, 110, 101, 120, 116, 82, 105, 103, 104, 116, 40, 118, 111, 112, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 111, 112, 46, 97, 32, 61, 32, 118, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 104, 105, 102, 116, 32, 61, 32, 118, 105, 109, 46, 122, 32, 43, - 32, 115, 105, 109, 32, 45, 32, 118, 105, 112, 46, 122, 32, 45, 32, 115, 105, 112, 32, 43, 32, 115, 101, - 112, 97, 114, 97, 116, 105, 111, 110, 40, 118, 105, 109, 46, 95, 44, 32, 118, 105, 112, 46, 95, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 115, 104, 105, 102, 116, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 118, 101, 83, 117, 98, - 116, 114, 101, 101, 40, 110, 101, 120, 116, 65, 110, 99, 101, 115, 116, 111, 114, 40, 118, 105, 109, 44, 32, - 118, 44, 32, 97, 110, 99, 101, 115, 116, 111, 114, 41, 44, 32, 118, 44, 32, 115, 104, 105, 102, 116, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 105, 112, 32, 43, 61, 32, 115, 104, 105, 102, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 112, 32, 43, - 61, 32, 115, 104, 105, 102, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 105, 109, 32, 43, 61, 32, 118, 105, 109, 46, 109, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 112, 32, 43, 61, 32, - 118, 105, 112, 46, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 111, 109, 32, 43, 61, 32, 118, 111, 109, 46, 109, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 112, 32, 43, 61, 32, 118, - 111, 112, 46, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 105, - 109, 32, 38, 38, 32, 33, 110, 101, 120, 116, 82, 105, 103, 104, 116, 40, 118, 111, 112, 41, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, - 112, 46, 116, 32, 61, 32, 118, 105, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 112, 46, 109, 32, 43, 61, 32, 115, 105, 109, 32, 45, 32, - 115, 111, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 105, 112, - 32, 38, 38, 32, 33, 110, 101, 120, 116, 76, 101, 102, 116, 40, 118, 111, 109, 41, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 109, 46, - 116, 32, 61, 32, 118, 105, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 111, 109, 46, 109, 32, 43, 61, 32, 115, 105, 112, 32, 45, 32, 115, 111, - 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 110, 99, 101, 115, 116, 111, 114, 32, 61, 32, 118, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 110, 99, 101, - 115, 116, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 105, 122, 101, 78, 111, 100, 101, 40, 110, 111, 100, - 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 120, - 32, 42, 61, 32, 100, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, - 101, 46, 121, 32, 61, 32, 110, 111, 100, 101, 46, 100, 101, 112, 116, 104, 32, 42, 32, 100, 121, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 101, 101, - 46, 115, 101, 112, 97, 114, 97, 116, 105, 111, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 101, - 112, 97, 114, 97, 116, 105, 111, 110, 32, 61, 32, 120, 44, 32, 116, 114, 101, 101, 41, 32, 58, 32, 115, - 101, 112, 97, 114, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 101, 101, 46, 115, 105, 122, 101, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 63, 32, 40, 110, 111, 100, 101, 83, 105, 122, 101, 32, 61, 32, 102, 97, 108, 115, 101, 44, 32, 100, - 120, 32, 61, 32, 43, 120, 91, 48, 93, 44, 32, 100, 121, 32, 61, 32, 43, 120, 91, 49, 93, 44, 32, - 116, 114, 101, 101, 41, 32, 58, 32, 40, 110, 111, 100, 101, 83, 105, 122, 101, 32, 63, 32, 110, 117, 108, - 108, 32, 58, 32, 91, 100, 120, 44, 32, 100, 121, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 101, 101, 46, 110, 111, 100, 101, 83, 105, - 122, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 110, 111, 100, 101, 83, 105, 122, 101, 32, 61, 32, - 116, 114, 117, 101, 44, 32, 100, 120, 32, 61, 32, 43, 120, 91, 48, 93, 44, 32, 100, 121, 32, 61, 32, - 43, 120, 91, 49, 93, 44, 32, 116, 114, 101, 101, 41, 32, 58, 32, 40, 110, 111, 100, 101, 83, 105, 122, - 101, 32, 63, 32, 91, 100, 120, 44, 32, 100, 121, 93, 32, 58, 32, 110, 117, 108, 108, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 114, 101, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 109, 97, 112, 83, 108, 105, 99, 101, 40, 112, 97, 114, 101, - 110, 116, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, 100, 101, 115, 32, 61, 32, 112, 97, 114, 101, - 110, 116, 46, 99, 104, 105, 108, 100, 114, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, - 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 110, 111, - 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 107, 32, 61, 32, 112, 97, 114, 101, 110, 116, 46, 118, 97, 108, 117, 101, 32, 38, 38, 32, 40, 121, - 49, 32, 45, 32, 121, 48, 41, 32, 47, 32, 112, 97, 114, 101, 110, 116, 46, 118, 97, 108, 117, 101, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, - 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 32, 61, - 32, 110, 111, 100, 101, 115, 91, 105, 93, 44, 32, 110, 111, 100, 101, 46, 120, 48, 32, 61, 32, 120, 48, - 44, 32, 110, 111, 100, 101, 46, 120, 49, 32, 61, 32, 120, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 121, 48, 32, 61, 32, 121, 48, 44, 32, 110, 111, 100, 101, - 46, 121, 49, 32, 61, 32, 121, 48, 32, 43, 61, 32, 110, 111, 100, 101, 46, 118, 97, 108, 117, 101, 32, - 42, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 112, 104, 105, 32, 61, 32, 40, 49, 32, 43, 32, 77, 97, 116, 104, 46, - 115, 113, 114, 116, 40, 53, 41, 41, 32, 47, 32, 50, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 115, 113, 117, 97, 114, 105, 102, 121, 82, 97, 116, 105, 111, 40, 114, 97, 116, 105, - 111, 44, 32, 112, 97, 114, 101, 110, 116, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, - 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 111, 119, 115, 32, - 61, 32, 91, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, - 32, 61, 32, 112, 97, 114, 101, 110, 116, 46, 99, 104, 105, 108, 100, 114, 101, 110, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 119, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 111, 100, 101, 86, 97, 108, 117, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 48, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 49, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, - 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 120, 44, 32, 100, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 108, 117, 101, 32, 61, 32, 112, 97, 114, 101, 110, 116, 46, 118, 97, 108, 117, 101, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 109, 86, 97, 108, 117, 101, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, 86, 97, 108, 117, 101, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 120, 86, 97, 108, 117, 101, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 101, 119, 82, 97, 116, 105, 111, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, 82, 97, 116, 105, 111, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 97, 108, 112, 104, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 98, 101, 116, 97, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, - 32, 40, 105, 48, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 120, 32, 61, 32, 120, 49, 32, 45, 32, 120, 48, 44, 32, 100, 121, 32, 61, 32, 121, 49, 32, - 45, 32, 121, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 70, - 105, 110, 100, 32, 116, 104, 101, 32, 110, 101, 120, 116, 32, 110, 111, 110, 45, 101, 109, 112, 116, 121, 32, - 110, 111, 100, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 115, 117, - 109, 86, 97, 108, 117, 101, 32, 61, 32, 110, 111, 100, 101, 115, 91, 105, 49, 43, 43, 93, 46, 118, 97, - 108, 117, 101, 59, 32, 119, 104, 105, 108, 101, 32, 40, 33, 115, 117, 109, 86, 97, 108, 117, 101, 32, 38, - 38, 32, 105, 49, 32, 60, 32, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 109, 105, 110, 86, 97, 108, 117, 101, 32, 61, 32, 109, 97, 120, 86, 97, 108, 117, 101, 32, 61, 32, 115, - 117, 109, 86, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, - 112, 104, 97, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 100, 121, 32, 47, 32, 100, 120, 44, - 32, 100, 120, 32, 47, 32, 100, 121, 41, 32, 47, 32, 40, 118, 97, 108, 117, 101, 32, 42, 32, 114, 97, - 116, 105, 111, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 101, 116, 97, 32, - 61, 32, 115, 117, 109, 86, 97, 108, 117, 101, 32, 42, 32, 115, 117, 109, 86, 97, 108, 117, 101, 32, 42, - 32, 97, 108, 112, 104, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, - 82, 97, 116, 105, 111, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 109, 97, 120, 86, 97, 108, - 117, 101, 32, 47, 32, 98, 101, 116, 97, 44, 32, 98, 101, 116, 97, 32, 47, 32, 109, 105, 110, 86, 97, - 108, 117, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 75, - 101, 101, 112, 32, 97, 100, 100, 105, 110, 103, 32, 110, 111, 100, 101, 115, 32, 119, 104, 105, 108, 101, 32, - 116, 104, 101, 32, 97, 115, 112, 101, 99, 116, 32, 114, 97, 116, 105, 111, 32, 109, 97, 105, 110, 116, 97, - 105, 110, 115, 32, 111, 114, 32, 105, 109, 112, 114, 111, 118, 101, 115, 46, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 105, 49, 32, 60, 32, 110, 59, 32, 43, 43, - 105, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 117, 109, 86, 97, 108, 117, 101, 32, 43, 61, 32, 110, 111, 100, 101, 86, 97, 108, 117, 101, 32, 61, 32, - 110, 111, 100, 101, 115, 91, 105, 49, 93, 46, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 86, 97, 108, 117, 101, - 32, 60, 32, 109, 105, 110, 86, 97, 108, 117, 101, 41, 32, 109, 105, 110, 86, 97, 108, 117, 101, 32, 61, - 32, 110, 111, 100, 101, 86, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 111, 100, 101, 86, 97, 108, 117, 101, 32, 62, 32, 109, 97, - 120, 86, 97, 108, 117, 101, 41, 32, 109, 97, 120, 86, 97, 108, 117, 101, 32, 61, 32, 110, 111, 100, 101, - 86, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 98, 101, 116, 97, 32, 61, 32, 115, 117, 109, 86, 97, 108, 117, 101, 32, 42, 32, 115, 117, 109, 86, 97, - 108, 117, 101, 32, 42, 32, 97, 108, 112, 104, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 101, 119, 82, 97, 116, 105, 111, 32, 61, 32, 77, 97, 116, 104, 46, 109, - 97, 120, 40, 109, 97, 120, 86, 97, 108, 117, 101, 32, 47, 32, 98, 101, 116, 97, 44, 32, 98, 101, 116, - 97, 32, 47, 32, 109, 105, 110, 86, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 101, 119, 82, 97, 116, 105, 111, 32, 62, 32, - 109, 105, 110, 82, 97, 116, 105, 111, 41, 32, 123, 32, 115, 117, 109, 86, 97, 108, 117, 101, 32, 45, 61, - 32, 110, 111, 100, 101, 86, 97, 108, 117, 101, 59, 32, 98, 114, 101, 97, 107, 59, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, 82, 97, 116, 105, 111, 32, - 61, 32, 110, 101, 119, 82, 97, 116, 105, 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 80, 111, 115, 105, - 116, 105, 111, 110, 32, 97, 110, 100, 32, 114, 101, 99, 111, 114, 100, 32, 116, 104, 101, 32, 114, 111, 119, - 32, 111, 114, 105, 101, 110, 116, 97, 116, 105, 111, 110, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 111, 119, 115, 46, 112, 117, 115, 104, 40, 114, 111, 119, 32, 61, 32, 123, 118, 97, 108, - 117, 101, 58, 32, 115, 117, 109, 86, 97, 108, 117, 101, 44, 32, 100, 105, 99, 101, 58, 32, 100, 120, 32, - 60, 32, 100, 121, 44, 32, 99, 104, 105, 108, 100, 114, 101, 110, 58, 32, 110, 111, 100, 101, 115, 46, 115, - 108, 105, 99, 101, 40, 105, 48, 44, 32, 105, 49, 41, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 111, 119, 46, 100, 105, 99, 101, 41, 32, 116, 114, 101, 101, - 109, 97, 112, 68, 105, 99, 101, 40, 114, 111, 119, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, - 44, 32, 118, 97, 108, 117, 101, 32, 63, 32, 121, 48, 32, 43, 61, 32, 100, 121, 32, 42, 32, 115, 117, - 109, 86, 97, 108, 117, 101, 32, 47, 32, 118, 97, 108, 117, 101, 32, 58, 32, 121, 49, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 116, 114, 101, 101, 109, 97, 112, - 83, 108, 105, 99, 101, 40, 114, 111, 119, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 118, 97, 108, 117, - 101, 32, 63, 32, 120, 48, 32, 43, 61, 32, 100, 120, 32, 42, 32, 115, 117, 109, 86, 97, 108, 117, 101, - 32, 47, 32, 118, 97, 108, 117, 101, 32, 58, 32, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 32, 45, 61, 32, 115, 117, 109, 86, 97, - 108, 117, 101, 44, 32, 105, 48, 32, 61, 32, 105, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 111, 119, 115, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 113, 117, 97, 114, 105, 102, 121, - 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 114, 97, 116, - 105, 111, 41, 32, 123, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 115, 113, 117, 97, 114, 105, 102, 121, 40, 112, 97, 114, 101, 110, 116, 44, 32, 120, 48, 44, 32, 121, - 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 113, 117, 97, 114, 105, 102, 121, 82, 97, 116, 105, 111, 40, 114, 97, 116, 105, 111, 44, 32, - 112, 97, 114, 101, 110, 116, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 113, - 117, 97, 114, 105, 102, 121, 46, 114, 97, 116, 105, 111, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 99, 117, 115, 116, 111, 109, 40, 40, 120, 32, 61, 32, 43, 120, 41, 32, 62, 32, 49, 32, 63, - 32, 120, 32, 58, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 113, 117, 97, 114, 105, 102, 121, 59, 10, - 32, 32, 32, 32, 125, 41, 40, 112, 104, 105, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 105, 110, 100, 101, 120, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 116, 105, 108, 101, 32, 61, 32, 115, 113, 117, 97, 114, 105, 102, 121, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 117, 110, 100, 32, 61, 32, 102, 97, 108, 115, 101, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, 32, 49, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, 100, 105, 110, 103, 83, 116, 97, 99, 107, 32, 61, 32, 91, - 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, 100, 105, 110, 103, - 73, 110, 110, 101, 114, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 90, 101, 114, 111, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, 100, 105, 110, 103, 84, 111, 112, 32, 61, - 32, 99, 111, 110, 115, 116, 97, 110, 116, 90, 101, 114, 111, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 97, 100, 100, 105, 110, 103, 82, 105, 103, 104, 116, 32, 61, 32, 99, 111, 110, 115, - 116, 97, 110, 116, 90, 101, 114, 111, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 97, 100, 100, 105, 110, 103, 66, 111, 116, 116, 111, 109, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, - 90, 101, 114, 111, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, 100, 105, - 110, 103, 76, 101, 102, 116, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 90, 101, 114, 111, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 101, 101, 109, - 97, 112, 40, 114, 111, 111, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 111, 111, 116, 46, 120, 48, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 111, 111, 116, 46, 121, 48, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 120, 49, 32, 61, 32, 100, 120, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 121, 49, 32, 61, 32, 100, 121, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 111, 116, 46, 101, 97, 99, 104, 66, 101, 102, - 111, 114, 101, 40, 112, 111, 115, 105, 116, 105, 111, 110, 78, 111, 100, 101, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, 100, 105, 110, 103, 83, 116, 97, 99, 107, 32, 61, 32, - 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 111, - 117, 110, 100, 41, 32, 114, 111, 111, 116, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 114, 111, - 117, 110, 100, 78, 111, 100, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 114, 111, 111, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 115, 105, 116, 105, - 111, 110, 78, 111, 100, 101, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 112, 32, 61, 32, 112, 97, 100, 100, 105, 110, 103, 83, 116, 97, 99, - 107, 91, 110, 111, 100, 101, 46, 100, 101, 112, 116, 104, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 110, 111, 100, 101, 46, 120, 48, 32, 43, 32, - 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, 61, - 32, 110, 111, 100, 101, 46, 121, 48, 32, 43, 32, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 110, 111, 100, 101, 46, 120, 49, 32, 45, 32, 112, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 32, 61, 32, - 110, 111, 100, 101, 46, 121, 49, 32, 45, 32, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 120, 49, 32, 60, 32, 120, 48, 41, 32, 120, 48, 32, 61, 32, 120, 49, 32, - 61, 32, 40, 120, 48, 32, 43, 32, 120, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 49, 32, 60, 32, 121, 48, 41, 32, 121, 48, 32, 61, - 32, 121, 49, 32, 61, 32, 40, 121, 48, 32, 43, 32, 121, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 120, 48, 32, 61, 32, 120, 48, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 121, 48, 32, 61, 32, - 121, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 46, 120, 49, - 32, 61, 32, 120, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, - 46, 121, 49, 32, 61, 32, 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 110, 111, 100, 101, 46, 99, 104, 105, 108, 100, 114, 101, 110, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, 112, 97, 100, 100, 105, 110, - 103, 83, 116, 97, 99, 107, 91, 110, 111, 100, 101, 46, 100, 101, 112, 116, 104, 32, 43, 32, 49, 93, 32, - 61, 32, 112, 97, 100, 100, 105, 110, 103, 73, 110, 110, 101, 114, 40, 110, 111, 100, 101, 41, 32, 47, 32, - 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 43, - 61, 32, 112, 97, 100, 100, 105, 110, 103, 76, 101, 102, 116, 40, 110, 111, 100, 101, 41, 32, 45, 32, 112, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, 43, 61, - 32, 112, 97, 100, 100, 105, 110, 103, 84, 111, 112, 40, 110, 111, 100, 101, 41, 32, 45, 32, 112, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 45, 61, 32, 112, - 97, 100, 100, 105, 110, 103, 82, 105, 103, 104, 116, 40, 110, 111, 100, 101, 41, 32, 45, 32, 112, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 32, 45, 61, 32, 112, - 97, 100, 100, 105, 110, 103, 66, 111, 116, 116, 111, 109, 40, 110, 111, 100, 101, 41, 32, 45, 32, 112, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 49, - 32, 60, 32, 120, 48, 41, 32, 120, 48, 32, 61, 32, 120, 49, 32, 61, 32, 40, 120, 48, 32, 43, 32, - 120, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 121, 49, 32, 60, 32, 121, 48, 41, 32, 121, 48, 32, 61, 32, 121, 49, 32, - 61, 32, 40, 121, 48, 32, 43, 32, 121, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 108, 101, 40, 110, 111, 100, 101, 44, 32, 120, 48, - 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 114, 101, 101, 109, 97, 112, 46, 114, 111, 117, 110, 100, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, - 32, 40, 114, 111, 117, 110, 100, 32, 61, 32, 33, 33, 120, 44, 32, 116, 114, 101, 101, 109, 97, 112, 41, - 32, 58, 32, 114, 111, 117, 110, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 114, 101, 101, 109, 97, 112, 46, 115, 105, 122, 101, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 100, 120, 32, 61, 32, 43, 120, 91, 48, 93, 44, 32, 100, 121, 32, 61, 32, - 43, 120, 91, 49, 93, 44, 32, 116, 114, 101, 101, 109, 97, 112, 41, 32, 58, 32, 91, 100, 120, 44, 32, - 100, 121, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 114, 101, 101, 109, 97, 112, 46, 116, 105, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, - 40, 116, 105, 108, 101, 32, 61, 32, 114, 101, 113, 117, 105, 114, 101, 100, 40, 120, 41, 44, 32, 116, 114, - 101, 101, 109, 97, 112, 41, 32, 58, 32, 116, 105, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 101, 101, 109, 97, 112, 46, 112, 97, 100, - 100, 105, 110, 103, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 116, 114, 101, 101, 109, 97, 112, 46, 112, 97, - 100, 100, 105, 110, 103, 73, 110, 110, 101, 114, 40, 120, 41, 46, 112, 97, 100, 100, 105, 110, 103, 79, 117, - 116, 101, 114, 40, 120, 41, 32, 58, 32, 116, 114, 101, 101, 109, 97, 112, 46, 112, 97, 100, 100, 105, 110, - 103, 73, 110, 110, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 114, 101, 101, 109, 97, 112, 46, 112, 97, 100, 100, 105, 110, 103, 73, - 110, 110, 101, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 100, 105, 110, 103, 73, 110, - 110, 101, 114, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 120, 32, 61, 61, 61, 32, 34, 102, 117, 110, - 99, 116, 105, 111, 110, 34, 32, 63, 32, 120, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 50, - 40, 43, 120, 41, 44, 32, 116, 114, 101, 101, 109, 97, 112, 41, 32, 58, 32, 112, 97, 100, 100, 105, 110, - 103, 73, 110, 110, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 114, 101, 101, 109, 97, 112, 46, 112, 97, 100, 100, 105, 110, 103, 79, 117, 116, - 101, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 116, 114, 101, 101, 109, 97, 112, 46, 112, 97, 100, 100, - 105, 110, 103, 84, 111, 112, 40, 120, 41, 46, 112, 97, 100, 100, 105, 110, 103, 82, 105, 103, 104, 116, 40, - 120, 41, 46, 112, 97, 100, 100, 105, 110, 103, 66, 111, 116, 116, 111, 109, 40, 120, 41, 46, 112, 97, 100, - 100, 105, 110, 103, 76, 101, 102, 116, 40, 120, 41, 32, 58, 32, 116, 114, 101, 101, 109, 97, 112, 46, 112, - 97, 100, 100, 105, 110, 103, 84, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 101, 101, 109, 97, 112, 46, 112, 97, 100, 100, 105, - 110, 103, 84, 111, 112, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 100, 105, 110, 103, 84, - 111, 112, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 120, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, - 116, 105, 111, 110, 34, 32, 63, 32, 120, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 50, 40, - 43, 120, 41, 44, 32, 116, 114, 101, 101, 109, 97, 112, 41, 32, 58, 32, 112, 97, 100, 100, 105, 110, 103, - 84, 111, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 114, 101, 101, 109, 97, 112, 46, 112, 97, 100, 100, 105, 110, 103, 82, 105, 103, 104, 116, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 100, 105, 110, 103, 82, 105, 103, 104, 116, 32, 61, - 32, 116, 121, 112, 101, 111, 102, 32, 120, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, - 34, 32, 63, 32, 120, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 50, 40, 43, 120, 41, 44, - 32, 116, 114, 101, 101, 109, 97, 112, 41, 32, 58, 32, 112, 97, 100, 100, 105, 110, 103, 82, 105, 103, 104, - 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 114, 101, 101, 109, 97, 112, 46, 112, 97, 100, 100, 105, 110, 103, 66, 111, 116, 116, 111, 109, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, - 110, 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 100, 105, 110, 103, 66, 111, 116, 116, 111, 109, 32, 61, - 32, 116, 121, 112, 101, 111, 102, 32, 120, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, - 34, 32, 63, 32, 120, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 50, 40, 43, 120, 41, 44, - 32, 116, 114, 101, 101, 109, 97, 112, 41, 32, 58, 32, 112, 97, 100, 100, 105, 110, 103, 66, 111, 116, 116, - 111, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 114, 101, 101, 109, 97, 112, 46, 112, 97, 100, 100, 105, 110, 103, 76, 101, 102, 116, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, - 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 100, 105, 110, 103, 76, 101, 102, 116, 32, 61, 32, 116, 121, - 112, 101, 111, 102, 32, 120, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, - 32, 120, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 50, 40, 43, 120, 41, 44, 32, 116, 114, - 101, 101, 109, 97, 112, 41, 32, 58, 32, 112, 97, 100, 100, 105, 110, 103, 76, 101, 102, 116, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 116, 114, 101, 101, 109, 97, 112, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 105, 110, 97, 114, 121, 40, 112, 97, 114, 101, 110, 116, 44, - 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, 100, 101, 115, 32, 61, 32, 112, 97, 114, 101, 110, 116, 46, - 99, 104, 105, 108, 100, 114, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 44, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 109, 44, 32, 115, 117, 109, 115, 32, 61, 32, 110, 101, - 119, 32, 65, 114, 114, 97, 121, 40, 110, 32, 43, 32, 49, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 115, 117, 109, 115, 91, 48, 93, 32, 61, 32, 115, 117, 109, 32, 61, 32, - 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 109, 115, 91, 105, 32, 43, 32, 49, 93, 32, 61, - 32, 115, 117, 109, 32, 43, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 46, 118, 97, 108, 117, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, - 116, 105, 116, 105, 111, 110, 40, 48, 44, 32, 110, 44, 32, 112, 97, 114, 101, 110, 116, 46, 118, 97, 108, - 117, 101, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 116, 105, 116, 105, - 111, 110, 40, 105, 44, 32, 106, 44, 32, 118, 97, 108, 117, 101, 44, 32, 120, 48, 44, 32, 121, 48, 44, - 32, 120, 49, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 105, 32, 62, 61, 32, 106, 32, 45, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 111, 100, 101, 32, 61, 32, 110, - 111, 100, 101, 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 111, 100, 101, 46, 120, 48, 32, 61, 32, 120, 48, 44, 32, 110, 111, 100, 101, 46, 121, 48, - 32, 61, 32, 121, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 110, 111, 100, 101, 46, 120, 49, 32, 61, 32, 120, 49, 44, 32, 110, 111, 100, 101, 46, 121, 49, 32, 61, - 32, 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 97, 108, 117, 101, 79, 102, 102, 115, - 101, 116, 32, 61, 32, 115, 117, 109, 115, 91, 105, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 84, 97, 114, 103, 101, 116, 32, 61, 32, 40, 118, - 97, 108, 117, 101, 32, 47, 32, 50, 41, 32, 43, 32, 118, 97, 108, 117, 101, 79, 102, 102, 115, 101, 116, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 105, - 32, 43, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, - 105, 32, 61, 32, 106, 32, 45, 32, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 119, 104, 105, 108, 101, 32, 40, 107, 32, 60, 32, 104, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 105, 100, 32, 61, 32, 107, 32, - 43, 32, 104, 105, 32, 62, 62, 62, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 117, 109, 115, 91, 109, 105, 100, 93, 32, 60, 32, 118, 97, - 108, 117, 101, 84, 97, 114, 103, 101, 116, 41, 32, 107, 32, 61, 32, 109, 105, 100, 32, 43, 32, 49, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 104, - 105, 32, 61, 32, 109, 105, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 118, 97, 108, 117, 101, - 84, 97, 114, 103, 101, 116, 32, 45, 32, 115, 117, 109, 115, 91, 107, 32, 45, 32, 49, 93, 41, 32, 60, - 32, 40, 115, 117, 109, 115, 91, 107, 93, 32, 45, 32, 118, 97, 108, 117, 101, 84, 97, 114, 103, 101, 116, - 41, 32, 38, 38, 32, 105, 32, 43, 32, 49, 32, 60, 32, 107, 41, 32, 45, 45, 107, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 97, 108, 117, 101, 76, 101, 102, - 116, 32, 61, 32, 115, 117, 109, 115, 91, 107, 93, 32, 45, 32, 118, 97, 108, 117, 101, 79, 102, 102, 115, - 101, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, - 117, 101, 82, 105, 103, 104, 116, 32, 61, 32, 118, 97, 108, 117, 101, 32, 45, 32, 118, 97, 108, 117, 101, - 76, 101, 102, 116, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 40, 120, 49, 32, 45, 32, 120, 48, 41, 32, 62, 32, 40, 121, 49, 32, 45, 32, 121, 48, 41, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, - 107, 32, 61, 32, 118, 97, 108, 117, 101, 32, 63, 32, 40, 120, 48, 32, 42, 32, 118, 97, 108, 117, 101, - 82, 105, 103, 104, 116, 32, 43, 32, 120, 49, 32, 42, 32, 118, 97, 108, 117, 101, 76, 101, 102, 116, 41, - 32, 47, 32, 118, 97, 108, 117, 101, 32, 58, 32, 120, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 116, 105, 116, 105, 111, 110, 40, 105, 44, 32, 107, 44, - 32, 118, 97, 108, 117, 101, 76, 101, 102, 116, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 107, 44, - 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 97, 114, 116, 105, 116, 105, 111, 110, 40, 107, 44, 32, 106, 44, 32, 118, 97, 108, 117, 101, 82, 105, 103, - 104, 116, 44, 32, 120, 107, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 121, 107, 32, 61, 32, 118, 97, - 108, 117, 101, 32, 63, 32, 40, 121, 48, 32, 42, 32, 118, 97, 108, 117, 101, 82, 105, 103, 104, 116, 32, - 43, 32, 121, 49, 32, 42, 32, 118, 97, 108, 117, 101, 76, 101, 102, 116, 41, 32, 47, 32, 118, 97, 108, - 117, 101, 32, 58, 32, 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 112, 97, 114, 116, 105, 116, 105, 111, 110, 40, 105, 44, 32, 107, 44, 32, 118, 97, 108, 117, 101, - 76, 101, 102, 116, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 107, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 116, 105, 116, 105, - 111, 110, 40, 107, 44, 32, 106, 44, 32, 118, 97, 108, 117, 101, 82, 105, 103, 104, 116, 44, 32, 120, 48, - 44, 32, 121, 107, 44, 32, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 108, 105, 99, 101, 68, 105, 99, 101, 40, - 112, 97, 114, 101, 110, 116, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 40, 112, 97, 114, 101, 110, 116, 46, 100, 101, 112, 116, - 104, 32, 38, 32, 49, 32, 63, 32, 116, 114, 101, 101, 109, 97, 112, 83, 108, 105, 99, 101, 32, 58, 32, - 116, 114, 101, 101, 109, 97, 112, 68, 105, 99, 101, 41, 40, 112, 97, 114, 101, 110, 116, 44, 32, 120, 48, - 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 114, 101, 115, 113, 117, 97, 114, 105, 102, 121, 32, 61, 32, 40, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 114, 97, 116, 105, 111, 41, 32, 123, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 113, 117, - 97, 114, 105, 102, 121, 40, 112, 97, 114, 101, 110, 116, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, - 49, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 40, 114, 111, 119, 115, 32, 61, 32, 112, 97, 114, 101, 110, 116, 46, 95, 115, 113, 117, 97, 114, - 105, 102, 121, 41, 32, 38, 38, 32, 40, 114, 111, 119, 115, 46, 114, 97, 116, 105, 111, 32, 61, 61, 61, - 32, 114, 97, 116, 105, 111, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 114, 111, 119, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 119, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 100, 101, 115, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 61, 32, 45, 49, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, - 32, 61, 32, 114, 111, 119, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 32, 61, 32, 112, 97, - 114, 101, 110, 116, 46, 118, 97, 108, 117, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 106, 32, 60, 32, 109, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, - 119, 32, 61, 32, 114, 111, 119, 115, 91, 106, 93, 44, 32, 110, 111, 100, 101, 115, 32, 61, 32, 114, 111, - 119, 46, 99, 104, 105, 108, 100, 114, 101, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 114, 111, 119, 46, 118, - 97, 108, 117, 101, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 110, 111, 100, 101, 115, 46, 108, 101, 110, - 103, 116, 104, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 114, 111, 119, 46, 118, 97, - 108, 117, 101, 32, 43, 61, 32, 110, 111, 100, 101, 115, 91, 105, 93, 46, 118, 97, 108, 117, 101, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 114, 111, 119, 46, 100, 105, 99, 101, 41, 32, 116, 114, 101, 101, 109, 97, 112, 68, 105, 99, 101, 40, - 114, 111, 119, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 118, 97, 108, 117, 101, 32, - 63, 32, 121, 48, 32, 43, 61, 32, 40, 121, 49, 32, 45, 32, 121, 48, 41, 32, 42, 32, 114, 111, 119, - 46, 118, 97, 108, 117, 101, 32, 47, 32, 118, 97, 108, 117, 101, 32, 58, 32, 121, 49, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, - 32, 116, 114, 101, 101, 109, 97, 112, 83, 108, 105, 99, 101, 40, 114, 111, 119, 44, 32, 120, 48, 44, 32, - 121, 48, 44, 32, 118, 97, 108, 117, 101, 32, 63, 32, 120, 48, 32, 43, 61, 32, 40, 120, 49, 32, 45, - 32, 120, 48, 41, 32, 42, 32, 114, 111, 119, 46, 118, 97, 108, 117, 101, 32, 47, 32, 118, 97, 108, 117, - 101, 32, 58, 32, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 32, 45, 61, 32, 114, 111, 119, 46, - 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 101, 110, 116, 46, - 95, 115, 113, 117, 97, 114, 105, 102, 121, 32, 61, 32, 114, 111, 119, 115, 32, 61, 32, 115, 113, 117, 97, - 114, 105, 102, 121, 82, 97, 116, 105, 111, 40, 114, 97, 116, 105, 111, 44, 32, 112, 97, 114, 101, 110, 116, - 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 119, 115, 46, 114, 97, 116, 105, 111, 32, - 61, 32, 114, 97, 116, 105, 111, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 113, - 117, 97, 114, 105, 102, 121, 46, 114, 97, 116, 105, 111, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 99, 117, 115, 116, 111, 109, 40, 40, 120, 32, 61, 32, 43, 120, 41, 32, 62, 32, 49, 32, 63, - 32, 120, 32, 58, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 115, 113, 117, 97, 114, 105, 102, 121, - 59, 10, 32, 32, 32, 32, 125, 41, 40, 112, 104, 105, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 97, 114, 101, 97, 36, 49, 40, 112, 111, 108, 121, 103, 111, 110, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 46, 108, - 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 91, - 110, 32, 45, 32, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, - 97, 32, 61, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, - 43, 43, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, - 112, 111, 108, 121, 103, 111, 110, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 97, 114, 101, 97, 32, 43, 61, 32, 97, 91, 49, 93, 32, 42, 32, 98, 91, 48, 93, 32, 45, 32, - 97, 91, 48, 93, 32, 42, 32, 98, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 101, 97, 32, 47, 32, - 50, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 99, 101, 110, 116, 114, 111, 105, 100, 40, 112, 111, 108, 121, 103, 111, 110, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 46, 108, 101, 110, 103, 116, - 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 48, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, - 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 91, 110, 32, 45, 32, 49, 93, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 107, 32, 61, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, - 43, 43, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, - 112, 111, 108, 121, 103, 111, 110, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 107, 32, 43, 61, 32, 99, 32, 61, 32, 97, 91, 48, 93, 32, 42, 32, 98, 91, 49, 93, 32, 45, - 32, 98, 91, 48, 93, 32, 42, 32, 97, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 32, 43, 61, 32, 40, 97, 91, 48, 93, 32, 43, 32, 98, 91, 48, 93, 41, 32, 42, - 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 43, 61, 32, 40, 97, - 91, 49, 93, 32, 43, 32, 98, 91, 49, 93, 41, 32, 42, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 107, 32, 42, - 61, 32, 51, 44, 32, 91, 120, 32, 47, 32, 107, 44, 32, 121, 32, 47, 32, 107, 93, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 47, 47, 32, 82, 101, 116, 117, 114, 110, 115, 32, 116, 104, 101, 32, 50, 68, 32, - 99, 114, 111, 115, 115, 32, 112, 114, 111, 100, 117, 99, 116, 32, 111, 102, 32, 65, 66, 32, 97, 110, 100, - 32, 65, 67, 32, 118, 101, 99, 116, 111, 114, 115, 44, 32, 105, 46, 101, 46, 44, 32, 116, 104, 101, 32, - 122, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 32, 111, 102, 10, 47, 47, 32, 116, 104, 101, 32, 51, - 68, 32, 99, 114, 111, 115, 115, 32, 112, 114, 111, 100, 117, 99, 116, 32, 105, 110, 32, 97, 32, 113, 117, - 97, 100, 114, 97, 110, 116, 32, 73, 32, 67, 97, 114, 116, 101, 115, 105, 97, 110, 32, 99, 111, 111, 114, - 100, 105, 110, 97, 116, 101, 32, 115, 121, 115, 116, 101, 109, 32, 40, 43, 120, 32, 105, 115, 10, 47, 47, - 32, 114, 105, 103, 104, 116, 44, 32, 43, 121, 32, 105, 115, 32, 117, 112, 41, 46, 32, 82, 101, 116, 117, - 114, 110, 115, 32, 97, 32, 112, 111, 115, 105, 116, 105, 118, 101, 32, 118, 97, 108, 117, 101, 32, 105, 102, - 32, 65, 66, 67, 32, 105, 115, 32, 99, 111, 117, 110, 116, 101, 114, 45, 99, 108, 111, 99, 107, 119, 105, - 115, 101, 44, 10, 47, 47, 32, 110, 101, 103, 97, 116, 105, 118, 101, 32, 105, 102, 32, 99, 108, 111, 99, - 107, 119, 105, 115, 101, 44, 32, 97, 110, 100, 32, 122, 101, 114, 111, 32, 105, 102, 32, 116, 104, 101, 32, - 112, 111, 105, 110, 116, 115, 32, 97, 114, 101, 32, 99, 111, 108, 108, 105, 110, 101, 97, 114, 46, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 114, 111, 115, 115, 36, 49, 40, 97, 44, 32, - 98, 44, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 40, 98, 91, 48, 93, 32, 45, 32, 97, 91, 48, 93, 41, 32, 42, 32, 40, 99, 91, 49, 93, 32, 45, - 32, 97, 91, 49, 93, 41, 32, 45, 32, 40, 98, 91, 49, 93, 32, 45, 32, 97, 91, 49, 93, 41, 32, - 42, 32, 40, 99, 91, 48, 93, 32, 45, 32, 97, 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 101, 120, 105, 99, 111, 103, 114, 97, - 112, 104, 105, 99, 79, 114, 100, 101, 114, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 91, 48, 93, 32, 45, 32, 98, 91, 48, 93, 32, 124, - 124, 32, 97, 91, 49, 93, 32, 45, 32, 98, 91, 49, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, - 47, 32, 67, 111, 109, 112, 117, 116, 101, 115, 32, 116, 104, 101, 32, 117, 112, 112, 101, 114, 32, 99, 111, - 110, 118, 101, 120, 32, 104, 117, 108, 108, 32, 112, 101, 114, 32, 116, 104, 101, 32, 109, 111, 110, 111, 116, - 111, 110, 101, 32, 99, 104, 97, 105, 110, 32, 97, 108, 103, 111, 114, 105, 116, 104, 109, 46, 10, 47, 47, - 32, 65, 115, 115, 117, 109, 101, 115, 32, 112, 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 62, 61, 32, 51, 44, 32, 105, 115, 32, 115, 111, 114, 116, 101, 100, 32, 98, 121, 32, 120, 44, 32, 117, - 110, 105, 113, 117, 101, 32, 105, 110, 32, 121, 46, 10, 47, 47, 32, 82, 101, 116, 117, 114, 110, 115, 32, - 97, 110, 32, 97, 114, 114, 97, 121, 32, 111, 102, 32, 105, 110, 100, 105, 99, 101, 115, 32, 105, 110, 116, - 111, 32, 112, 111, 105, 110, 116, 115, 32, 105, 110, 32, 108, 101, 102, 116, 45, 116, 111, 45, 114, 105, 103, - 104, 116, 32, 111, 114, 100, 101, 114, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 99, 111, 109, 112, 117, 116, 101, 85, 112, 112, 101, 114, 72, 117, 108, 108, 73, 110, 100, 101, 120, 101, 115, - 40, 112, 111, 105, 110, 116, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, - 116, 32, 110, 32, 61, 32, 112, 111, 105, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 100, 101, 120, 101, 115, 32, 61, 32, 91, 48, 44, - 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 115, 105, 122, 101, 32, 61, - 32, 50, 44, 32, 105, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, - 61, 32, 50, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 115, 105, 122, 101, 32, 62, 32, 49, - 32, 38, 38, 32, 99, 114, 111, 115, 115, 36, 49, 40, 112, 111, 105, 110, 116, 115, 91, 105, 110, 100, 101, - 120, 101, 115, 91, 115, 105, 122, 101, 32, 45, 32, 50, 93, 93, 44, 32, 112, 111, 105, 110, 116, 115, 91, - 105, 110, 100, 101, 120, 101, 115, 91, 115, 105, 122, 101, 32, 45, 32, 49, 93, 93, 44, 32, 112, 111, 105, - 110, 116, 115, 91, 105, 93, 41, 32, 60, 61, 32, 48, 41, 32, 45, 45, 115, 105, 122, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 100, 101, 120, 101, 115, 91, 115, 105, 122, 101, - 43, 43, 93, 32, 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 100, 101, 120, 101, 115, 46, 115, 108, 105, - 99, 101, 40, 48, 44, 32, 115, 105, 122, 101, 41, 59, 32, 47, 47, 32, 114, 101, 109, 111, 118, 101, 32, - 112, 111, 112, 112, 101, 100, 32, 112, 111, 105, 110, 116, 115, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 117, 108, 108, 40, 112, 111, 105, 110, 116, 115, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 110, 32, 61, 32, 112, 111, 105, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 60, 32, 51, 41, 32, 114, 101, 116, 117, 114, 110, - 32, 110, 117, 108, 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 111, 114, 116, 101, 100, 80, 111, 105, 110, 116, 115, 32, 61, 32, 110, 101, 119, 32, - 65, 114, 114, 97, 121, 40, 110, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 108, 105, 112, 112, 101, 100, 80, 111, 105, 110, 116, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, - 121, 40, 110, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, - 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 115, 111, 114, 116, 101, 100, 80, - 111, 105, 110, 116, 115, 91, 105, 93, 32, 61, 32, 91, 43, 112, 111, 105, 110, 116, 115, 91, 105, 93, 91, - 48, 93, 44, 32, 43, 112, 111, 105, 110, 116, 115, 91, 105, 93, 91, 49, 93, 44, 32, 105, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 114, 116, 101, 100, 80, 111, 105, 110, 116, 115, 46, 115, 111, - 114, 116, 40, 108, 101, 120, 105, 99, 111, 103, 114, 97, 112, 104, 105, 99, 79, 114, 100, 101, 114, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, - 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 102, 108, 105, 112, 112, 101, 100, 80, 111, 105, 110, 116, 115, - 91, 105, 93, 32, 61, 32, 91, 115, 111, 114, 116, 101, 100, 80, 111, 105, 110, 116, 115, 91, 105, 93, 91, - 48, 93, 44, 32, 45, 115, 111, 114, 116, 101, 100, 80, 111, 105, 110, 116, 115, 91, 105, 93, 91, 49, 93, - 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 117, 112, 112, 101, 114, 73, 110, - 100, 101, 120, 101, 115, 32, 61, 32, 99, 111, 109, 112, 117, 116, 101, 85, 112, 112, 101, 114, 72, 117, 108, - 108, 73, 110, 100, 101, 120, 101, 115, 40, 115, 111, 114, 116, 101, 100, 80, 111, 105, 110, 116, 115, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 119, 101, 114, 73, 110, 100, 101, 120, - 101, 115, 32, 61, 32, 99, 111, 109, 112, 117, 116, 101, 85, 112, 112, 101, 114, 72, 117, 108, 108, 73, 110, - 100, 101, 120, 101, 115, 40, 102, 108, 105, 112, 112, 101, 100, 80, 111, 105, 110, 116, 115, 41, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 110, 115, 116, 114, 117, 99, 116, 32, 116, 104, - 101, 32, 104, 117, 108, 108, 32, 112, 111, 108, 121, 103, 111, 110, 44, 32, 114, 101, 109, 111, 118, 105, 110, - 103, 32, 112, 111, 115, 115, 105, 98, 108, 101, 32, 100, 117, 112, 108, 105, 99, 97, 116, 101, 32, 101, 110, - 100, 112, 111, 105, 110, 116, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 107, - 105, 112, 76, 101, 102, 116, 32, 61, 32, 108, 111, 119, 101, 114, 73, 110, 100, 101, 120, 101, 115, 91, 48, - 93, 32, 61, 61, 61, 32, 117, 112, 112, 101, 114, 73, 110, 100, 101, 120, 101, 115, 91, 48, 93, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 107, 105, 112, 82, 105, 103, 104, 116, 32, 61, - 32, 108, 111, 119, 101, 114, 73, 110, 100, 101, 120, 101, 115, 91, 108, 111, 119, 101, 114, 73, 110, 100, 101, - 120, 101, 115, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 32, 61, 61, 61, 32, 117, 112, 112, - 101, 114, 73, 110, 100, 101, 120, 101, 115, 91, 117, 112, 112, 101, 114, 73, 110, 100, 101, 120, 101, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 104, 117, 108, 108, 32, 61, 32, 91, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 65, 100, 100, 32, 117, 112, 112, 101, 114, 32, 104, 117, 108, 108, 32, 105, 110, 32, 114, 105, 103, - 104, 116, 45, 116, 111, 45, 108, 32, 111, 114, 100, 101, 114, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 47, 47, 32, 84, 104, 101, 110, 32, 97, 100, 100, 32, 108, 111, 119, 101, 114, 32, 104, 117, 108, 108, 32, - 105, 110, 32, 108, 101, 102, 116, 45, 116, 111, 45, 114, 105, 103, 104, 116, 32, 111, 114, 100, 101, 114, 46, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 117, 112, 112, 101, 114, - 73, 110, 100, 101, 120, 101, 115, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 59, 32, 105, 32, 62, - 61, 32, 48, 59, 32, 45, 45, 105, 41, 32, 104, 117, 108, 108, 46, 112, 117, 115, 104, 40, 112, 111, 105, - 110, 116, 115, 91, 115, 111, 114, 116, 101, 100, 80, 111, 105, 110, 116, 115, 91, 117, 112, 112, 101, 114, 73, - 110, 100, 101, 120, 101, 115, 91, 105, 93, 93, 91, 50, 93, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 43, 115, 107, 105, 112, 76, 101, 102, 116, 59, 32, 105, - 32, 60, 32, 108, 111, 119, 101, 114, 73, 110, 100, 101, 120, 101, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 45, 32, 115, 107, 105, 112, 82, 105, 103, 104, 116, 59, 32, 43, 43, 105, 41, 32, 104, 117, 108, 108, 46, - 112, 117, 115, 104, 40, 112, 111, 105, 110, 116, 115, 91, 115, 111, 114, 116, 101, 100, 80, 111, 105, 110, 116, - 115, 91, 108, 111, 119, 101, 114, 73, 110, 100, 101, 120, 101, 115, 91, 105, 93, 93, 91, 50, 93, 93, 41, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 104, 117, 108, 108, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, - 110, 116, 97, 105, 110, 115, 40, 112, 111, 108, 121, 103, 111, 110, 44, 32, 112, 111, 105, 110, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 112, 111, 108, 121, 103, - 111, 110, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 91, 110, 32, 45, 32, 49, 93, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 112, 111, 105, 110, 116, 91, 48, 93, 44, 32, - 121, 32, 61, 32, 112, 111, 105, 110, 116, 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 48, 32, 61, 32, 112, 91, 48, 93, 44, 32, 121, 48, 32, 61, 32, 112, 91, 49, 93, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 44, 32, 121, 49, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 105, 100, 101, 32, 61, 32, 102, 97, 108, - 115, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, - 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 91, 105, 93, - 44, 32, 120, 49, 32, 61, 32, 112, 91, 48, 93, 44, 32, 121, 49, 32, 61, 32, 112, 91, 49, 93, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 40, 121, 49, 32, 62, - 32, 121, 41, 32, 33, 61, 61, 32, 40, 121, 48, 32, 62, 32, 121, 41, 41, 32, 38, 38, 32, 40, 120, - 32, 60, 32, 40, 120, 48, 32, 45, 32, 120, 49, 41, 32, 42, 32, 40, 121, 32, 45, 32, 121, 49, 41, - 32, 47, 32, 40, 121, 48, 32, 45, 32, 121, 49, 41, 32, 43, 32, 120, 49, 41, 41, 32, 105, 110, 115, - 105, 100, 101, 32, 61, 32, 33, 105, 110, 115, 105, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 120, 48, 32, 61, 32, 120, 49, 44, 32, 121, 48, 32, 61, 32, 121, 49, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 105, 110, 115, 105, 100, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 108, 101, 110, 103, 116, 104, 40, 112, 111, 108, 121, 103, 111, 110, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 112, 111, 108, 121, 103, 111, 110, 46, - 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, - 32, 112, 111, 108, 121, 103, 111, 110, 91, 110, 32, 45, 32, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 120, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, - 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 98, 32, 61, 32, 98, 91, 48, - 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 98, 32, 61, 32, 98, 91, 49, - 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 101, 114, 105, 109, 101, 116, 101, - 114, 32, 61, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, - 43, 43, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 97, 32, 61, 32, 120, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 97, - 32, 61, 32, 121, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, - 112, 111, 108, 121, 103, 111, 110, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 120, 98, 32, 61, 32, 98, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 121, 98, 32, 61, 32, 98, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 120, 97, 32, 45, 61, 32, 120, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 121, 97, 32, 45, 61, 32, 121, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 101, 114, 105, 109, 101, 116, 101, 114, 32, 43, 61, 32, 77, 97, 116, 104, 46, 104, 121, 112, 111, 116, 40, - 120, 97, 44, 32, 121, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 101, 114, 105, 109, 101, 116, 101, 114, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 100, 101, 102, 97, 117, 108, 116, 83, - 111, 117, 114, 99, 101, 32, 61, 32, 77, 97, 116, 104, 46, 114, 97, 110, 100, 111, 109, 59, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 117, 110, 105, 102, 111, 114, 109, 32, 61, 32, 40, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 85, 110, 105, 102, 111, 114, 109, - 40, 115, 111, 117, 114, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, 109, 85, 110, 105, 102, 111, 114, 109, 40, 109, 105, 110, 44, - 32, 109, 97, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, 110, - 32, 61, 32, 109, 105, 110, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 48, 32, 58, 32, 43, 109, - 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 120, 32, 61, 32, 109, - 97, 120, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 32, 58, 32, 43, 109, 97, 120, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 49, 41, 32, 109, 97, 120, 32, 61, 32, - 109, 105, 110, 44, 32, 109, 105, 110, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 108, 115, 101, 32, 109, 97, 120, 32, 45, 61, 32, 109, 105, 110, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 115, 111, 117, 114, 99, 101, 40, 41, 32, 42, 32, 109, 97, 120, 32, 43, 32, - 109, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, 85, - 110, 105, 102, 111, 114, 109, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, 114, 99, 101, 82, - 97, 110, 100, 111, 109, 85, 110, 105, 102, 111, 114, 109, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, 109, 85, 110, 105, 102, 111, 114, 109, 59, 10, 32, - 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, 116, 83, 111, 117, 114, 99, 101, 41, 59, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 105, 110, 116, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 73, 110, 116, 40, 115, 111, 117, 114, 99, 101, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, - 110, 100, 111, 109, 73, 110, 116, 40, 109, 105, 110, 44, 32, 109, 97, 120, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 60, 32, 50, 41, 32, 109, 97, 120, 32, 61, 32, 109, 105, 110, 44, 32, - 109, 105, 110, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 105, - 110, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 109, 105, 110, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 120, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, - 111, 111, 114, 40, 109, 97, 120, 41, 32, 45, 32, 109, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 115, 111, 117, 114, 99, 101, 40, 41, 32, 42, - 32, 109, 97, 120, 32, 43, 32, 109, 105, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 97, 110, 100, 111, 109, 73, 110, 116, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, - 114, 99, 101, 82, 97, 110, 100, 111, 109, 73, 110, 116, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, 109, 73, 110, 116, 59, 10, 32, 32, 32, 32, 125, - 41, 40, 100, 101, 102, 97, 117, 108, 116, 83, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 110, 111, 114, 109, 97, 108, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 78, 111, 114, 109, 97, 108, 40, 115, 111, 117, 114, - 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 114, 97, 110, 100, 111, 109, 78, 111, 114, 109, 97, 108, 40, 109, 117, 44, 32, 115, 105, 103, 109, 97, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 44, 32, 114, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 117, 32, 61, 32, 109, 117, 32, 61, - 61, 32, 110, 117, 108, 108, 32, 63, 32, 48, 32, 58, 32, 43, 109, 117, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 105, 103, 109, 97, 32, 61, 32, 115, 105, 103, 109, 97, 32, 61, 61, - 32, 110, 117, 108, 108, 32, 63, 32, 49, 32, 58, 32, 43, 115, 105, 103, 109, 97, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 121, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 47, 47, 32, 73, 102, 32, 97, 118, 97, 105, 108, 97, 98, 108, 101, 44, 32, 117, 115, 101, 32, 116, 104, - 101, 32, 115, 101, 99, 111, 110, 100, 32, 112, 114, 101, 118, 105, 111, 117, 115, 108, 121, 45, 103, 101, 110, - 101, 114, 97, 116, 101, 100, 32, 117, 110, 105, 102, 111, 114, 109, 32, 114, 97, 110, 100, 111, 109, 46, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 32, 33, - 61, 32, 110, 117, 108, 108, 41, 32, 121, 32, 61, 32, 120, 44, 32, 120, 32, 61, 32, 110, 117, 108, 108, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, - 116, 104, 101, 114, 119, 105, 115, 101, 44, 32, 103, 101, 110, 101, 114, 97, 116, 101, 32, 97, 32, 110, 101, - 119, 32, 120, 32, 97, 110, 100, 32, 121, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 101, 108, 115, 101, 32, 100, 111, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 115, 111, 117, 114, 99, 101, 40, 41, - 32, 42, 32, 50, 32, 45, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 115, 111, 117, 114, 99, 101, 40, 41, 32, 42, 32, 50, - 32, 45, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 32, 61, 32, 120, 32, 42, 32, 120, 32, 43, 32, 121, 32, 42, 32, 121, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 119, 104, 105, 108, 101, 32, - 40, 33, 114, 32, 124, 124, 32, 114, 32, 62, 32, 49, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 117, 32, 43, 32, 115, 105, - 103, 109, 97, 32, 42, 32, 121, 32, 42, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 45, 50, 32, - 42, 32, 77, 97, 116, 104, 46, 108, 111, 103, 40, 114, 41, 32, 47, 32, 114, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, 78, 111, 114, 109, 97, 108, 46, 115, 111, - 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 78, 111, 114, 109, - 97, 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, - 100, 111, 109, 78, 111, 114, 109, 97, 108, 59, 10, 32, 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, - 108, 116, 83, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 108, 111, 103, - 78, 111, 114, 109, 97, 108, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 117, 114, - 99, 101, 82, 97, 110, 100, 111, 109, 76, 111, 103, 78, 111, 114, 109, 97, 108, 40, 115, 111, 117, 114, 99, - 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 78, 32, 61, 32, 110, 111, - 114, 109, 97, 108, 46, 115, 111, 117, 114, 99, 101, 40, 115, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, 109, 76, - 111, 103, 78, 111, 114, 109, 97, 108, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 114, 97, 110, 100, 111, 109, 78, 111, 114, 109, 97, 108, 32, 61, 32, 78, 46, - 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 101, 120, 112, 40, 114, 97, 110, 100, - 111, 109, 78, 111, 114, 109, 97, 108, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 97, 110, 100, 111, 109, 76, 111, 103, 78, 111, 114, 109, 97, 108, 46, 115, 111, 117, 114, 99, 101, - 32, 61, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 76, 111, 103, 78, 111, 114, 109, 97, - 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, - 111, 109, 76, 111, 103, 78, 111, 114, 109, 97, 108, 59, 10, 32, 32, 32, 32, 125, 41, 40, 100, 101, 102, - 97, 117, 108, 116, 83, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 105, - 114, 119, 105, 110, 72, 97, 108, 108, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, - 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 73, 114, 119, 105, 110, 72, 97, 108, 108, 40, 115, 111, 117, - 114, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 114, 97, 110, 100, 111, 109, 73, 114, 119, 105, 110, 72, 97, 108, 108, 40, 110, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 110, 32, 61, 32, 43, 110, 41, - 32, 60, 61, 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 32, 40, 41, 32, 61, 62, 32, 48, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 115, 117, 109, 32, 61, 32, 48, 44, 32, 105, 32, 61, - 32, 110, 59, 32, 105, 32, 62, 32, 49, 59, 32, 45, 45, 105, 41, 32, 115, 117, 109, 32, 43, 61, 32, - 115, 111, 117, 114, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 117, 109, 32, 43, 32, 105, 32, 42, 32, 115, 111, 117, - 114, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, - 109, 73, 114, 119, 105, 110, 72, 97, 108, 108, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, - 114, 99, 101, 82, 97, 110, 100, 111, 109, 73, 114, 119, 105, 110, 72, 97, 108, 108, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, 109, 73, 114, 119, 105, - 110, 72, 97, 108, 108, 59, 10, 32, 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, 116, 83, 111, - 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 98, 97, 116, 101, 115, 32, 61, - 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, - 66, 97, 116, 101, 115, 40, 115, 111, 117, 114, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 73, 32, 61, 32, 105, 114, 119, 105, 110, 72, 97, 108, 108, 46, 115, 111, 117, 114, - 99, 101, 40, 115, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, 109, 66, 97, 116, 101, 115, 40, 110, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 117, 115, 101, 32, 108, 105, 109, - 105, 116, 105, 110, 103, 32, 100, 105, 115, 116, 114, 105, 98, 117, 116, 105, 111, 110, 32, 97, 116, 32, 110, - 32, 61, 61, 61, 32, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 40, 110, 32, 61, 32, 43, 110, 41, 32, 61, 61, 61, 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 32, - 115, 111, 117, 114, 99, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 114, 97, 110, 100, 111, 109, 73, 114, 119, 105, 110, 72, 97, 108, 108, 32, 61, 32, 73, 40, 110, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, 109, 73, 114, 119, 105, 110, 72, - 97, 108, 108, 40, 41, 32, 47, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 97, 110, 100, 111, 109, 66, 97, 116, 101, 115, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, - 114, 99, 101, 82, 97, 110, 100, 111, 109, 66, 97, 116, 101, 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, 109, 66, 97, 116, 101, 115, 59, 10, 32, - 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, 116, 83, 111, 117, 114, 99, 101, 41, 59, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 101, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 32, 61, 32, 40, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 69, 120, - 112, 111, 110, 101, 110, 116, 105, 97, 108, 40, 115, 111, 117, 114, 99, 101, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, 109, 69, 120, 112, - 111, 110, 101, 110, 116, 105, 97, 108, 40, 108, 97, 109, 98, 100, 97, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 45, 77, 97, 116, 104, 46, 108, 111, 103, 49, 112, 40, 45, 115, 111, 117, 114, 99, - 101, 40, 41, 41, 32, 47, 32, 108, 97, 109, 98, 100, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 97, 110, 100, 111, 109, 69, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 46, 115, 111, - 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 69, 120, 112, 111, - 110, 101, 110, 116, 105, 97, 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 114, 97, 110, 100, 111, 109, 69, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 59, 10, 32, 32, - 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, 116, 83, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 112, 97, 114, 101, 116, 111, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 80, 97, 114, 101, 116, 111, 40, 115, - 111, 117, 114, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 114, 97, 110, 100, 111, 109, 80, 97, 114, 101, 116, 111, 40, 97, 108, 112, 104, 97, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 97, 108, 112, 104, - 97, 32, 61, 32, 43, 97, 108, 112, 104, 97, 41, 32, 60, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, - 110, 101, 119, 32, 82, 97, 110, 103, 101, 69, 114, 114, 111, 114, 40, 34, 105, 110, 118, 97, 108, 105, 100, - 32, 97, 108, 112, 104, 97, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 108, 112, 104, 97, 32, 61, 32, 49, 32, 47, 32, 45, 97, 108, 112, 104, 97, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 49, 32, 45, 32, 115, 111, 117, 114, 99, - 101, 40, 41, 44, 32, 97, 108, 112, 104, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 97, 110, 100, 111, 109, 80, 97, 114, 101, 116, 111, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, - 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 80, 97, 114, 101, 116, 111, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, 109, 80, 97, 114, 101, - 116, 111, 59, 10, 32, 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, 116, 83, 111, 117, 114, 99, - 101, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 98, 101, 114, 110, 111, 117, 108, 108, 105, 32, - 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, - 109, 66, 101, 114, 110, 111, 117, 108, 108, 105, 40, 115, 111, 117, 114, 99, 101, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, 109, 66, 101, - 114, 110, 111, 117, 108, 108, 105, 40, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 40, 112, 32, 61, 32, 43, 112, 41, 32, 60, 32, 48, 32, 124, 124, 32, 112, - 32, 62, 32, 49, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 97, 110, 103, 101, 69, 114, - 114, 111, 114, 40, 34, 105, 110, 118, 97, 108, 105, 100, 32, 112, 34, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 115, 111, 117, 114, 99, 101, 40, 41, - 32, 43, 32, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, - 109, 66, 101, 114, 110, 111, 117, 108, 108, 105, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, - 114, 99, 101, 82, 97, 110, 100, 111, 109, 66, 101, 114, 110, 111, 117, 108, 108, 105, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, 109, 66, 101, 114, 110, - 111, 117, 108, 108, 105, 59, 10, 32, 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, 116, 83, 111, - 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 103, 101, 111, 109, 101, 116, 114, - 105, 99, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 117, 114, 99, 101, 82, 97, - 110, 100, 111, 109, 71, 101, 111, 109, 101, 116, 114, 105, 99, 40, 115, 111, 117, 114, 99, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, - 109, 71, 101, 111, 109, 101, 116, 114, 105, 99, 40, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 112, 32, 61, 32, 43, 112, 41, 32, 60, 32, 48, 32, 124, - 124, 32, 112, 32, 62, 32, 49, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 97, 110, 103, - 101, 69, 114, 114, 111, 114, 40, 34, 105, 110, 118, 97, 108, 105, 100, 32, 112, 34, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 32, 61, 61, 61, 32, 48, 41, 32, - 114, 101, 116, 117, 114, 110, 32, 40, 41, 32, 61, 62, 32, 73, 110, 102, 105, 110, 105, 116, 121, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 32, 61, 61, 61, 32, 49, - 41, 32, 114, 101, 116, 117, 114, 110, 32, 40, 41, 32, 61, 62, 32, 49, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, 77, 97, 116, 104, 46, 108, 111, 103, 49, 112, 40, 45, - 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 49, 32, 43, 32, 77, 97, 116, 104, 46, 102, - 108, 111, 111, 114, 40, 77, 97, 116, 104, 46, 108, 111, 103, 49, 112, 40, 45, 115, 111, 117, 114, 99, 101, - 40, 41, 41, 32, 47, 32, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, - 110, 100, 111, 109, 71, 101, 111, 109, 101, 116, 114, 105, 99, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, - 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 71, 101, 111, 109, 101, 116, 114, 105, 99, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, 109, 71, - 101, 111, 109, 101, 116, 114, 105, 99, 59, 10, 32, 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, - 116, 83, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 103, 97, 109, 109, - 97, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, - 100, 111, 109, 71, 97, 109, 109, 97, 40, 115, 111, 117, 114, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 114, 97, 110, 100, 111, 109, 78, 111, 114, 109, 97, 108, 32, 61, 32, - 110, 111, 114, 109, 97, 108, 46, 115, 111, 117, 114, 99, 101, 40, 115, 111, 117, 114, 99, 101, 41, 40, 41, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, - 100, 111, 109, 71, 97, 109, 109, 97, 40, 107, 44, 32, 116, 104, 101, 116, 97, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 107, 32, 61, 32, 43, 107, 41, 32, - 60, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 97, 110, 103, 101, 69, 114, 114, - 111, 114, 40, 34, 105, 110, 118, 97, 108, 105, 100, 32, 107, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 100, 101, 103, 101, 110, 101, 114, 97, 116, 101, 32, 100, 105, 115, - 116, 114, 105, 98, 117, 116, 105, 111, 110, 32, 105, 102, 32, 107, 32, 61, 61, 61, 32, 48, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 32, 61, 61, 61, 32, 48, 41, 32, - 114, 101, 116, 117, 114, 110, 32, 40, 41, 32, 61, 62, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 101, 116, 97, 32, 61, 32, 116, 104, 101, 116, 97, 32, 61, 61, 32, 110, - 117, 108, 108, 32, 63, 32, 49, 32, 58, 32, 43, 116, 104, 101, 116, 97, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 101, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 32, 100, - 105, 115, 116, 114, 105, 98, 117, 116, 105, 111, 110, 32, 105, 102, 32, 107, 32, 61, 61, 61, 32, 49, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 32, 61, 61, 61, 32, 49, - 41, 32, 114, 101, 116, 117, 114, 110, 32, 40, 41, 32, 61, 62, 32, 45, 77, 97, 116, 104, 46, 108, 111, - 103, 49, 112, 40, 45, 115, 111, 117, 114, 99, 101, 40, 41, 41, 32, 42, 32, 116, 104, 101, 116, 97, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 40, - 107, 32, 60, 32, 49, 32, 63, 32, 107, 32, 43, 32, 49, 32, 58, 32, 107, 41, 32, 45, 32, 49, 32, - 47, 32, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, - 61, 32, 49, 32, 47, 32, 40, 51, 32, 42, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 100, 41, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 117, 108, 116, - 105, 112, 108, 105, 101, 114, 32, 61, 32, 107, 32, 60, 32, 49, 32, 63, 32, 40, 41, 32, 61, 62, 32, - 77, 97, 116, 104, 46, 112, 111, 119, 40, 115, 111, 117, 114, 99, 101, 40, 41, 44, 32, 49, 32, 47, 32, - 107, 41, 32, 58, 32, 40, 41, 32, 61, 62, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 120, 32, 61, 32, 114, 97, 110, 100, 111, 109, 78, 111, 114, 109, 97, 108, 40, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 32, 61, 32, 49, 32, 43, 32, 99, 32, 42, 32, 120, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 119, 104, - 105, 108, 101, 32, 40, 118, 32, 60, 61, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 32, 42, 61, 32, 118, 32, 42, 32, 118, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 117, 32, 61, 32, 49, 32, 45, 32, 115, 111, 117, 114, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 119, 104, 105, 108, 101, 32, 40, 117, 32, - 62, 61, 32, 49, 32, 45, 32, 48, 46, 48, 51, 51, 49, 32, 42, 32, 120, 32, 42, 32, 120, 32, 42, - 32, 120, 32, 42, 32, 120, 32, 38, 38, 32, 77, 97, 116, 104, 46, 108, 111, 103, 40, 117, 41, 32, 62, - 61, 32, 48, 46, 53, 32, 42, 32, 120, 32, 42, 32, 120, 32, 43, 32, 100, 32, 42, 32, 40, 49, 32, - 45, 32, 118, 32, 43, 32, 77, 97, 116, 104, 46, 108, 111, 103, 40, 118, 41, 41, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 32, - 42, 32, 118, 32, 42, 32, 109, 117, 108, 116, 105, 112, 108, 105, 101, 114, 40, 41, 32, 42, 32, 116, 104, - 101, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, 71, - 97, 109, 109, 97, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, - 100, 111, 109, 71, 97, 109, 109, 97, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 114, 97, 110, 100, 111, 109, 71, 97, 109, 109, 97, 59, 10, 32, 32, 32, 32, 125, 41, 40, - 100, 101, 102, 97, 117, 108, 116, 83, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 98, 101, 116, 97, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 117, 114, - 99, 101, 82, 97, 110, 100, 111, 109, 66, 101, 116, 97, 40, 115, 111, 117, 114, 99, 101, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 71, 32, 61, 32, 103, 97, 109, 109, 97, 46, 115, - 111, 117, 114, 99, 101, 40, 115, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, 109, 66, 101, 116, 97, 40, 97, 108, - 112, 104, 97, 44, 32, 98, 101, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 88, 32, 61, 32, 71, 40, 97, 108, 112, 104, 97, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 32, 61, 32, 71, 40, 98, 101, 116, 97, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 32, 61, 32, 88, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 61, 61, 61, - 32, 48, 32, 63, 32, 48, 32, 58, 32, 120, 32, 47, 32, 40, 120, 32, 43, 32, 89, 40, 41, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, 66, 101, 116, 97, 46, - 115, 111, 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 66, 101, - 116, 97, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, - 100, 111, 109, 66, 101, 116, 97, 59, 10, 32, 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, 116, - 83, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 98, 105, 110, 111, 109, - 105, 97, 108, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 117, 114, 99, 101, 82, - 97, 110, 100, 111, 109, 66, 105, 110, 111, 109, 105, 97, 108, 40, 115, 111, 117, 114, 99, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 71, 32, 61, 32, 103, 101, 111, 109, 101, 116, - 114, 105, 99, 46, 115, 111, 117, 114, 99, 101, 40, 115, 111, 117, 114, 99, 101, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 66, 32, 61, 32, 98, 101, 116, 97, 46, 115, 111, 117, 114, 99, - 101, 40, 115, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, 109, 66, 105, 110, 111, 109, 105, 97, 108, 40, 110, 44, - 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 43, - 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 112, 32, 61, - 32, 43, 112, 41, 32, 62, 61, 32, 49, 41, 32, 114, 101, 116, 117, 114, 110, 32, 40, 41, 32, 61, 62, - 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 32, 60, - 61, 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 32, 40, 41, 32, 61, 62, 32, 48, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 97, 99, 99, 32, 61, 32, 48, 44, 32, 110, 110, 32, 61, 32, 110, 44, 32, 112, 112, - 32, 61, 32, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, - 104, 105, 108, 101, 32, 40, 110, 110, 32, 42, 32, 112, 112, 32, 62, 32, 49, 54, 32, 38, 38, 32, 110, - 110, 32, 42, 32, 40, 49, 32, 45, 32, 112, 112, 41, 32, 62, 32, 49, 54, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, - 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 40, 110, 110, 32, 43, 32, 49, 41, 32, - 42, 32, 112, 112, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 66, 40, 105, 44, 32, 110, 110, 32, 45, 32, 105, - 32, 43, 32, 49, 41, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 121, 32, 60, 61, 32, 112, 112, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 99, 99, 32, 43, 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 110, 32, 45, 61, 32, 105, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 112, 32, - 61, 32, 40, 112, 112, 32, 45, 32, 121, 41, 32, 47, 32, 40, 49, 32, 45, 32, 121, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, - 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 110, 110, 32, 61, 32, 105, 32, 45, 32, 49, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 112, 32, 47, - 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 105, 103, 110, - 32, 61, 32, 112, 112, 32, 60, 32, 48, 46, 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 70, 105, 110, 97, 108, 32, 61, 32, 115, 105, 103, 110, - 32, 63, 32, 112, 112, 32, 58, 32, 49, 32, 45, 32, 112, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 71, 40, 112, 70, 105, 110, - 97, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 118, 97, 114, 32, 115, 32, 61, 32, 103, 40, 41, 44, 32, 107, 32, 61, 32, 48, 59, 32, - 115, 32, 60, 61, 32, 110, 110, 59, 32, 43, 43, 107, 41, 32, 115, 32, 43, 61, 32, 103, 40, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 99, 99, 32, 43, 32, 40, 115, 105, 103, 110, 32, 63, 32, 107, 32, 58, 32, 110, 110, 32, 45, - 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, 66, - 105, 110, 111, 109, 105, 97, 108, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, 114, 99, 101, - 82, 97, 110, 100, 111, 109, 66, 105, 110, 111, 109, 105, 97, 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, 109, 66, 105, 110, 111, 109, 105, 97, 108, - 59, 10, 32, 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, 116, 83, 111, 117, 114, 99, 101, 41, - 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 119, 101, 105, 98, 117, 108, 108, 32, 61, 32, 40, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 87, 101, 105, - 98, 117, 108, 108, 40, 115, 111, 117, 114, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, 109, 87, 101, 105, 98, 117, 108, 108, 40, - 107, 44, 32, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 111, 117, 116, 101, 114, 70, 117, 110, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 40, 107, 32, 61, 32, 43, 107, 41, 32, 61, 61, 61, 32, 48, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 101, - 114, 70, 117, 110, 99, 32, 61, 32, 120, 32, 61, 62, 32, 45, 77, 97, 116, 104, 46, 108, 111, 103, 40, - 120, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 49, - 32, 47, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, - 117, 116, 101, 114, 70, 117, 110, 99, 32, 61, 32, 120, 32, 61, 62, 32, 77, 97, 116, 104, 46, 112, 111, - 119, 40, 120, 44, 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 97, 32, 61, 61, 32, 110, 117, - 108, 108, 32, 63, 32, 48, 32, 58, 32, 43, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 32, 61, 32, 98, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 32, 58, 32, 43, - 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 32, 43, 32, 98, 32, 42, 32, 111, 117, 116, - 101, 114, 70, 117, 110, 99, 40, 45, 77, 97, 116, 104, 46, 108, 111, 103, 49, 112, 40, 45, 115, 111, 117, - 114, 99, 101, 40, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, - 100, 111, 109, 87, 101, 105, 98, 117, 108, 108, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, - 114, 99, 101, 82, 97, 110, 100, 111, 109, 87, 101, 105, 98, 117, 108, 108, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, 109, 87, 101, 105, 98, 117, 108, - 108, 59, 10, 32, 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, 116, 83, 111, 117, 114, 99, 101, - 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 97, 117, 99, 104, 121, 32, 61, 32, 40, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 67, 97, 117, - 99, 104, 121, 40, 115, 111, 117, 114, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, 109, 67, 97, 117, 99, 104, 121, 40, 97, 44, - 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 97, - 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 48, 32, 58, 32, 43, 97, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 98, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, - 32, 49, 32, 58, 32, 43, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 32, 43, 32, 98, - 32, 42, 32, 77, 97, 116, 104, 46, 116, 97, 110, 40, 77, 97, 116, 104, 46, 80, 73, 32, 42, 32, 115, - 111, 117, 114, 99, 101, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, - 110, 100, 111, 109, 67, 97, 117, 99, 104, 121, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, - 114, 99, 101, 82, 97, 110, 100, 111, 109, 67, 97, 117, 99, 104, 121, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, 109, 67, 97, 117, 99, 104, 121, 59, - 10, 32, 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, 116, 83, 111, 117, 114, 99, 101, 41, 59, - 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 108, 111, 103, 105, 115, 116, 105, 99, 32, 61, 32, 40, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 76, 111, 103, - 105, 115, 116, 105, 99, 40, 115, 111, 117, 114, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, 109, 76, 111, 103, 105, 115, 116, 105, - 99, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 32, 61, 32, 97, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 48, 32, 58, 32, 43, 97, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 98, 32, 61, 61, 32, 110, 117, - 108, 108, 32, 63, 32, 49, 32, 58, 32, 43, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 117, 32, 61, 32, - 115, 111, 117, 114, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 32, 43, 32, 98, 32, 42, 32, 77, 97, 116, 104, 46, - 108, 111, 103, 40, 117, 32, 47, 32, 40, 49, 32, 45, 32, 117, 41, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, 76, 111, 103, 105, 115, 116, 105, 99, 46, 115, 111, - 117, 114, 99, 101, 32, 61, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 76, 111, 103, 105, - 115, 116, 105, 99, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, - 97, 110, 100, 111, 109, 76, 111, 103, 105, 115, 116, 105, 99, 59, 10, 32, 32, 32, 32, 125, 41, 40, 100, - 101, 102, 97, 117, 108, 116, 83, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 112, 111, 105, 115, 115, 111, 110, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 111, - 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 80, 111, 105, 115, 115, 111, 110, 40, 115, 111, 117, 114, 99, - 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 71, 32, 61, 32, 103, 97, - 109, 109, 97, 46, 115, 111, 117, 114, 99, 101, 40, 115, 111, 117, 114, 99, 101, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 66, 32, 61, 32, 98, 105, 110, 111, 109, 105, 97, 108, 46, 115, - 111, 117, 114, 99, 101, 40, 115, 111, 117, 114, 99, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 100, 111, 109, 80, 111, 105, 115, 115, 111, 110, - 40, 108, 97, 109, 98, 100, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 99, 99, 32, 61, 32, - 48, 44, 32, 108, 32, 61, 32, 108, 97, 109, 98, 100, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 108, 32, 62, 32, 49, 54, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 110, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 48, 46, 56, 55, 53, - 32, 42, 32, 108, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 71, 40, 110, 41, 40, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 32, - 62, 32, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 97, 99, 99, 32, 43, 32, 66, 40, 110, 32, 45, - 32, 49, 44, 32, 108, 32, 47, 32, 116, 41, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 99, 32, 43, 61, 32, 110, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 45, 61, 32, - 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, - 115, 32, 61, 32, 45, 77, 97, 116, 104, 46, 108, 111, 103, 49, 112, 40, 45, 115, 111, 117, 114, 99, 101, - 40, 41, 41, 44, 32, 107, 32, 61, 32, 48, 59, 32, 115, 32, 60, 61, 32, 108, 59, 32, 43, 43, 107, - 41, 32, 115, 32, 45, 61, 32, 77, 97, 116, 104, 46, 108, 111, 103, 49, 112, 40, 45, 115, 111, 117, 114, - 99, 101, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 99, 99, 32, 43, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 97, 110, 100, 111, 109, 80, 111, 105, 115, 115, 111, 110, 46, 115, 111, 117, 114, 99, - 101, 32, 61, 32, 115, 111, 117, 114, 99, 101, 82, 97, 110, 100, 111, 109, 80, 111, 105, 115, 115, 111, 110, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 100, 111, - 109, 80, 111, 105, 115, 115, 111, 110, 59, 10, 32, 32, 32, 32, 125, 41, 40, 100, 101, 102, 97, 117, 108, - 116, 83, 111, 117, 114, 99, 101, 41, 59, 10, 10, 47, 47, 32, 104, 116, 116, 112, 115, 58, 47, 47, 101, - 110, 46, 119, 105, 107, 105, 112, 101, 100, 105, 97, 46, 111, 114, 103, 47, 119, 105, 107, 105, 47, 76, 105, - 110, 101, 97, 114, 95, 99, 111, 110, 103, 114, 117, 101, 110, 116, 105, 97, 108, 95, 103, 101, 110, 101, 114, - 97, 116, 111, 114, 35, 80, 97, 114, 97, 109, 101, 116, 101, 114, 115, 95, 105, 110, 95, 99, 111, 109, 109, - 111, 110, 95, 117, 115, 101, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 117, 108, 32, 61, 32, - 48, 120, 49, 57, 54, 54, 48, 68, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 99, - 32, 61, 32, 48, 120, 51, 67, 54, 69, 70, 51, 53, 70, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, - 116, 32, 101, 112, 115, 32, 61, 32, 49, 32, 47, 32, 48, 120, 49, 48, 48, 48, 48, 48, 48, 48, 48, - 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 99, 103, 40, 115, 101, 101, - 100, 32, 61, 32, 77, 97, 116, 104, 46, 114, 97, 110, 100, 111, 109, 40, 41, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 115, 116, 97, 116, 101, 32, 61, 32, 40, 48, 32, 60, 61, - 32, 115, 101, 101, 100, 32, 38, 38, 32, 115, 101, 101, 100, 32, 60, 32, 49, 32, 63, 32, 115, 101, 101, - 100, 32, 47, 32, 101, 112, 115, 32, 58, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 115, 101, 101, 100, - 41, 41, 32, 124, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 40, 41, 32, 61, 62, 32, 40, 115, 116, 97, 116, 101, 32, 61, 32, 109, 117, 108, 32, 42, 32, 115, 116, - 97, 116, 101, 32, 43, 32, 105, 110, 99, 32, 124, 32, 48, 44, 32, 101, 112, 115, 32, 42, 32, 40, 115, - 116, 97, 116, 101, 32, 62, 62, 62, 32, 48, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, 116, 82, 97, 110, 103, 101, 40, 100, 111, - 109, 97, 105, 110, 44, 32, 114, 97, 110, 103, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 119, 105, 116, 99, 104, 32, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, - 58, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, - 115, 101, 32, 49, 58, 32, 116, 104, 105, 115, 46, 114, 97, 110, 103, 101, 40, 100, 111, 109, 97, 105, 110, - 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 101, 102, 97, 117, 108, 116, 58, 32, 116, 104, 105, 115, 46, 114, 97, 110, 103, 101, 40, 114, 97, 110, 103, - 101, 41, 46, 100, 111, 109, 97, 105, 110, 40, 100, 111, 109, 97, 105, 110, 41, 59, 32, 98, 114, 101, 97, - 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, 116, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, - 114, 40, 100, 111, 109, 97, 105, 110, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, - 100, 111, 109, 97, 105, 110, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, - 116, 104, 105, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 40, 100, 111, 109, 97, 105, - 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, - 101, 32, 116, 104, 105, 115, 46, 114, 97, 110, 103, 101, 40, 100, 111, 109, 97, 105, 110, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 100, 111, 109, 97, 105, 110, 40, 100, 111, 109, 97, 105, - 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 116, 121, 112, 101, 111, 102, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 32, 61, 61, - 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 116, 104, 105, 115, 46, 105, 110, 116, 101, - 114, 112, 111, 108, 97, 116, 111, 114, 40, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 116, - 104, 105, 115, 46, 114, 97, 110, 103, 101, 40, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 109, 112, 108, 105, - 99, 105, 116, 32, 61, 32, 83, 121, 109, 98, 111, 108, 40, 34, 105, 109, 112, 108, 105, 99, 105, 116, 34, - 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 111, 114, 100, 105, 110, 97, - 108, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 110, 100, 101, 120, - 32, 61, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 105, 109, 112, 108, 105, 99, 105, - 116, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, - 97, 108, 101, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 107, 101, 121, 32, 61, 32, 100, 32, 43, 32, 34, 34, 44, 32, 105, 32, 61, 32, 105, 110, 100, - 101, 120, 46, 103, 101, 116, 40, 107, 101, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 33, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 117, 110, 107, 110, 111, 119, 110, 32, 33, 61, 61, 32, 105, 109, - 112, 108, 105, 99, 105, 116, 41, 32, 114, 101, 116, 117, 114, 110, 32, 117, 110, 107, 110, 111, 119, 110, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 100, 101, 120, 46, - 115, 101, 116, 40, 107, 101, 121, 44, 32, 105, 32, 61, 32, 100, 111, 109, 97, 105, 110, 46, 112, 117, 115, - 104, 40, 100, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 103, 101, 91, - 40, 105, 32, 45, 32, 49, 41, 32, 37, 32, 114, 97, 110, 103, 101, 46, 108, 101, 110, 103, 116, 104, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, - 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, - 100, 111, 109, 97, 105, 110, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 91, 93, 44, 32, 105, 110, 100, 101, 120, - 32, 61, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 32, 40, 99, 111, 110, 115, 116, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, - 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 107, 101, 121, 32, 61, 32, 118, 97, 108, 117, 101, 32, 43, 32, 34, 34, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 110, 100, 101, - 120, 46, 104, 97, 115, 40, 107, 101, 121, 41, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 100, 101, 120, 46, 115, 101, - 116, 40, 107, 101, 121, 44, 32, 100, 111, 109, 97, 105, 110, 46, 112, 117, 115, 104, 40, 118, 97, 108, 117, - 101, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, - 101, 46, 114, 97, 110, 103, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 114, 97, 110, 103, 101, 32, - 61, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 95, 41, 44, 32, 115, 99, 97, 108, 101, 41, - 32, 58, 32, 114, 97, 110, 103, 101, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 117, 110, - 107, 110, 111, 119, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 117, 110, 107, 110, 111, 119, 110, 32, - 61, 32, 95, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, - 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 111, 114, 100, 105, - 110, 97, 108, 40, 100, 111, 109, 97, 105, 110, 44, 32, 114, 97, 110, 103, 101, 41, 46, 117, 110, 107, 110, - 111, 119, 110, 40, 117, 110, 107, 110, 111, 119, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 105, 116, 82, 97, 110, 103, 101, 46, 97, 112, - 112, 108, 121, 40, 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 97, 110, - 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 97, 108, 101, - 32, 61, 32, 111, 114, 100, 105, 110, 97, 108, 40, 41, 46, 117, 110, 107, 110, 111, 119, 110, 40, 117, 110, - 100, 101, 102, 105, 110, 101, 100, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 111, 109, 97, 105, 110, 32, 61, 32, 115, 99, 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 114, 100, 105, 110, 97, 108, 82, 97, 110, 103, 101, - 32, 61, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 48, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 49, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 116, 101, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 110, 100, 119, 105, - 100, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 111, 117, 110, 100, 32, - 61, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, - 100, 100, 105, 110, 103, 73, 110, 110, 101, 114, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 97, 100, 100, 105, 110, 103, 79, 117, 116, 101, 114, 32, 61, 32, 48, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 105, 103, 110, 32, 61, 32, 48, 46, 53, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 115, 99, 97, 108, 101, - 46, 117, 110, 107, 110, 111, 119, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 100, 111, 109, 97, 105, 110, 40, 41, 46, - 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 118, 101, 114, 115, 101, 32, 61, 32, 114, 49, 32, 60, 32, 114, 48, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 32, 61, 32, 114, 101, - 118, 101, 114, 115, 101, 32, 63, 32, 114, 49, 32, 58, 32, 114, 48, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 111, 112, 32, 61, 32, 114, 101, 118, 101, 114, 115, - 101, 32, 63, 32, 114, 48, 32, 58, 32, 114, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 116, 101, 112, 32, 61, 32, 40, 115, 116, 111, 112, 32, 45, 32, 115, 116, 97, 114, 116, 41, - 32, 47, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 49, 44, 32, 110, 32, 45, 32, 112, 97, 100, 100, - 105, 110, 103, 73, 110, 110, 101, 114, 32, 43, 32, 112, 97, 100, 100, 105, 110, 103, 79, 117, 116, 101, 114, - 32, 42, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 114, 111, 117, 110, 100, 41, 32, 115, 116, 101, 112, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, - 114, 40, 115, 116, 101, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, - 97, 114, 116, 32, 43, 61, 32, 40, 115, 116, 111, 112, 32, 45, 32, 115, 116, 97, 114, 116, 32, 45, 32, - 115, 116, 101, 112, 32, 42, 32, 40, 110, 32, 45, 32, 112, 97, 100, 100, 105, 110, 103, 73, 110, 110, 101, - 114, 41, 41, 32, 42, 32, 97, 108, 105, 103, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 97, 110, 100, 119, 105, 100, 116, 104, 32, 61, 32, 115, 116, 101, 112, 32, 42, 32, 40, 49, - 32, 45, 32, 112, 97, 100, 100, 105, 110, 103, 73, 110, 110, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 111, 117, 110, 100, 41, 32, 115, 116, 97, 114, 116, - 32, 61, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 115, 116, 97, 114, 116, 41, 44, 32, 98, - 97, 110, 100, 119, 105, 100, 116, 104, 32, 61, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 98, - 97, 110, 100, 119, 105, 100, 116, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 118, 97, 108, 117, 101, 115, 32, 61, 32, 115, 101, 113, 117, 101, 110, 99, 101, 40, 110, - 41, 46, 109, 97, 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 105, 41, 32, 123, 32, 114, 101, 116, - 117, 114, 110, 32, 115, 116, 97, 114, 116, 32, 43, 32, 115, 116, 101, 112, 32, 42, 32, 105, 59, 32, 125, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 111, - 114, 100, 105, 110, 97, 108, 82, 97, 110, 103, 101, 40, 114, 101, 118, 101, 114, 115, 101, 32, 63, 32, 118, - 97, 108, 117, 101, 115, 46, 114, 101, 118, 101, 114, 115, 101, 40, 41, 32, 58, 32, 118, 97, 108, 117, 101, - 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 99, 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 100, - 111, 109, 97, 105, 110, 40, 95, 41, 44, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 41, 32, 58, 32, - 100, 111, 109, 97, 105, 110, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, 101, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 32, 63, 32, 40, 91, 114, 48, 44, 32, 114, 49, 93, 32, 61, 32, 95, 44, 32, 114, 48, 32, 61, - 32, 43, 114, 48, 44, 32, 114, 49, 32, 61, 32, 43, 114, 49, 44, 32, 114, 101, 115, 99, 97, 108, 101, - 40, 41, 41, 32, 58, 32, 91, 114, 48, 44, 32, 114, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, - 101, 82, 111, 117, 110, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 114, 48, 44, - 32, 114, 49, 93, 32, 61, 32, 95, 44, 32, 114, 48, 32, 61, 32, 43, 114, 48, 44, 32, 114, 49, 32, - 61, 32, 43, 114, 49, 44, 32, 114, 111, 117, 110, 100, 32, 61, 32, 116, 114, 117, 101, 44, 32, 114, 101, - 115, 99, 97, 108, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 98, 97, 110, 100, 119, 105, 100, 116, 104, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 97, 110, 100, 119, 105, 100, 116, 104, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, - 46, 115, 116, 101, 112, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 101, 112, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, - 108, 101, 46, 114, 111, 117, 110, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 114, 111, 117, 110, 100, - 32, 61, 32, 33, 33, 95, 44, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 41, 32, 58, 32, 114, 111, - 117, 110, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 99, 97, 108, 101, 46, 112, 97, 100, 100, 105, 110, 103, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, - 32, 40, 112, 97, 100, 100, 105, 110, 103, 73, 110, 110, 101, 114, 32, 61, 32, 77, 97, 116, 104, 46, 109, - 105, 110, 40, 49, 44, 32, 112, 97, 100, 100, 105, 110, 103, 79, 117, 116, 101, 114, 32, 61, 32, 43, 95, - 41, 44, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 41, 32, 58, 32, 112, 97, 100, 100, 105, 110, 103, - 73, 110, 110, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 112, 97, 100, 100, 105, 110, 103, 73, 110, 110, 101, 114, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 100, 105, 110, 103, 73, 110, 110, 101, 114, 32, 61, - 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 49, 44, 32, 95, 41, 44, 32, 114, 101, 115, 99, 97, 108, - 101, 40, 41, 41, 32, 58, 32, 112, 97, 100, 100, 105, 110, 103, 73, 110, 110, 101, 114, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, - 46, 112, 97, 100, 100, 105, 110, 103, 79, 117, 116, 101, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, - 112, 97, 100, 100, 105, 110, 103, 79, 117, 116, 101, 114, 32, 61, 32, 43, 95, 44, 32, 114, 101, 115, 99, - 97, 108, 101, 40, 41, 41, 32, 58, 32, 112, 97, 100, 100, 105, 110, 103, 79, 117, 116, 101, 114, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, - 108, 101, 46, 97, 108, 105, 103, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 97, 108, 105, 103, 110, - 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, - 40, 49, 44, 32, 95, 41, 41, 44, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 41, 32, 58, 32, 97, - 108, 105, 103, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 98, 97, 110, 100, 40, 100, 111, 109, 97, 105, 110, 40, 41, 44, 32, 91, 114, 48, 44, 32, 114, - 49, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 114, 111, - 117, 110, 100, 40, 114, 111, 117, 110, 100, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 112, 97, 100, 100, 105, 110, 103, 73, 110, 110, 101, 114, 40, 112, 97, 100, 100, 105, - 110, 103, 73, 110, 110, 101, 114, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 112, 97, 100, 100, 105, 110, 103, 79, 117, 116, 101, 114, 40, 112, 97, 100, 100, 105, 110, 103, - 79, 117, 116, 101, 114, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 46, 97, 108, 105, 103, 110, 40, 97, 108, 105, 103, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 105, 116, - 82, 97, 110, 103, 101, 46, 97, 112, 112, 108, 121, 40, 114, 101, 115, 99, 97, 108, 101, 40, 41, 44, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 105, 115, 104, 40, 115, 99, 97, 108, 101, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 112, 121, 32, 61, 32, - 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, - 97, 108, 101, 46, 112, 97, 100, 100, 105, 110, 103, 32, 61, 32, 115, 99, 97, 108, 101, 46, 112, 97, 100, - 100, 105, 110, 103, 79, 117, 116, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, - 116, 101, 32, 115, 99, 97, 108, 101, 46, 112, 97, 100, 100, 105, 110, 103, 73, 110, 110, 101, 114, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 115, 99, 97, 108, 101, 46, 112, 97, - 100, 100, 105, 110, 103, 79, 117, 116, 101, 114, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, - 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 111, 105, - 110, 116, 105, 115, 104, 40, 99, 111, 112, 121, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, - 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 112, 111, 105, 110, 116, 36, 52, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 112, 111, 105, 110, 116, 105, 115, 104, 40, 98, 97, 110, 100, 46, 97, 112, 112, 108, 121, - 40, 110, 117, 108, 108, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 46, 112, 97, 100, 100, 105, - 110, 103, 73, 110, 110, 101, 114, 40, 49, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 115, 116, 97, 110, 116, 115, 40, 120, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 117, 109, 98, 101, 114, 36, 49, 40, - 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 43, 120, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 110, 105, 116, 32, 61, 32, - 91, 48, 44, 32, 49, 93, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, - 100, 101, 110, 116, 105, 116, 121, 36, 51, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 110, 111, 114, 109, 97, 108, 105, 122, 101, 40, 97, 44, 32, 98, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 98, 32, 45, 61, 32, - 40, 97, 32, 61, 32, 43, 97, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 40, - 120, 32, 45, 32, 97, 41, 32, 47, 32, 98, 59, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 115, 40, 105, 115, 78, 97, 78, 40, 98, 41, - 32, 63, 32, 78, 97, 78, 32, 58, 32, 48, 46, 53, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 108, 97, 109, 112, 101, 114, 40, 97, 44, 32, - 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 32, 62, 32, 98, 41, 32, 116, 32, 61, 32, 97, 44, 32, - 97, 32, 61, 32, 98, 44, 32, 98, 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 32, 114, 101, 116, - 117, 114, 110, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 97, 44, 32, 77, 97, 116, 104, 46, 109, 105, - 110, 40, 98, 44, 32, 120, 41, 41, 59, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, - 110, 111, 114, 109, 97, 108, 105, 122, 101, 40, 97, 44, 32, 98, 41, 40, 120, 41, 32, 116, 97, 107, 101, - 115, 32, 97, 32, 100, 111, 109, 97, 105, 110, 32, 118, 97, 108, 117, 101, 32, 120, 32, 105, 110, 32, 91, - 97, 44, 98, 93, 32, 97, 110, 100, 32, 114, 101, 116, 117, 114, 110, 115, 32, 116, 104, 101, 32, 99, 111, - 114, 114, 101, 115, 112, 111, 110, 100, 105, 110, 103, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 116, - 32, 105, 110, 32, 91, 48, 44, 49, 93, 46, 10, 47, 47, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 40, 97, 44, 32, 98, 41, 40, 116, 41, 32, 116, 97, 107, 101, 115, 32, 97, 32, 112, 97, 114, - 97, 109, 101, 116, 101, 114, 32, 116, 32, 105, 110, 32, 91, 48, 44, 49, 93, 32, 97, 110, 100, 32, 114, - 101, 116, 117, 114, 110, 115, 32, 116, 104, 101, 32, 99, 111, 114, 114, 101, 115, 112, 111, 110, 100, 105, 110, - 103, 32, 114, 97, 110, 103, 101, 32, 118, 97, 108, 117, 101, 32, 120, 32, 105, 110, 32, 91, 97, 44, 98, - 93, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 105, 109, 97, 112, 40, 100, - 111, 109, 97, 105, 110, 44, 32, 114, 97, 110, 103, 101, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 48, 32, 61, 32, - 100, 111, 109, 97, 105, 110, 91, 48, 93, 44, 32, 100, 49, 32, 61, 32, 100, 111, 109, 97, 105, 110, 91, - 49, 93, 44, 32, 114, 48, 32, 61, 32, 114, 97, 110, 103, 101, 91, 48, 93, 44, 32, 114, 49, 32, 61, - 32, 114, 97, 110, 103, 101, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 100, 49, 32, 60, 32, 100, 48, 41, 32, 100, 48, 32, 61, 32, 110, 111, 114, 109, 97, 108, 105, 122, 101, - 40, 100, 49, 44, 32, 100, 48, 41, 44, 32, 114, 48, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 40, 114, 49, 44, 32, 114, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, - 115, 101, 32, 100, 48, 32, 61, 32, 110, 111, 114, 109, 97, 108, 105, 122, 101, 40, 100, 48, 44, 32, 100, - 49, 41, 44, 32, 114, 48, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 114, 48, - 44, 32, 114, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 114, 48, 40, - 100, 48, 40, 120, 41, 41, 59, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 108, 121, 109, 97, 112, 40, 100, 111, 109, 97, 105, 110, 44, - 32, 114, 97, 110, 103, 101, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 106, 32, 61, 32, 77, 97, 116, 104, 46, 109, 105, - 110, 40, 100, 111, 109, 97, 105, 110, 46, 108, 101, 110, 103, 116, 104, 44, 32, 114, 97, 110, 103, 101, 46, - 108, 101, 110, 103, 116, 104, 41, 32, 45, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 106, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, - 106, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 45, 49, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 82, 101, 118, 101, 114, 115, 101, 32, 100, 101, - 115, 99, 101, 110, 100, 105, 110, 103, 32, 100, 111, 109, 97, 105, 110, 115, 46, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 100, 111, 109, 97, 105, 110, 91, 106, 93, 32, 60, 32, 100, 111, 109, 97, - 105, 110, 91, 48, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, - 109, 97, 105, 110, 32, 61, 32, 100, 111, 109, 97, 105, 110, 46, 115, 108, 105, 99, 101, 40, 41, 46, 114, - 101, 118, 101, 114, 115, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 97, 110, 103, 101, 32, 61, 32, 114, 97, 110, 103, 101, 46, 115, 108, 105, 99, 101, 40, 41, 46, 114, 101, - 118, 101, 114, 115, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 106, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, 105, 93, 32, 61, 32, 110, 111, 114, 109, - 97, 108, 105, 122, 101, 40, 100, 111, 109, 97, 105, 110, 91, 105, 93, 44, 32, 100, 111, 109, 97, 105, 110, - 91, 105, 32, 43, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 91, 105, 93, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 114, 97, 110, 103, 101, - 91, 105, 93, 44, 32, 114, 97, 110, 103, 101, 91, 105, 32, 43, 32, 49, 93, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 98, 105, 115, 101, 99, 116, 82, 105, 103, 104, 116, 40, - 100, 111, 109, 97, 105, 110, 44, 32, 120, 44, 32, 49, 44, 32, 106, 41, 32, 45, 32, 49, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 91, 105, 93, 40, - 100, 91, 105, 93, 40, 120, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 112, 121, 36, - 49, 40, 115, 111, 117, 114, 99, 101, 44, 32, 116, 97, 114, 103, 101, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 97, 114, 103, 101, 116, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 46, 100, 111, 109, 97, 105, 110, 40, 115, 111, 117, 114, 99, 101, 46, - 100, 111, 109, 97, 105, 110, 40, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, - 114, 97, 110, 103, 101, 40, 115, 111, 117, 114, 99, 101, 46, 114, 97, 110, 103, 101, 40, 41, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, - 40, 115, 111, 117, 114, 99, 101, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 41, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 108, 97, 109, 112, 40, 115, 111, 117, 114, - 99, 101, 46, 99, 108, 97, 109, 112, 40, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 46, 117, 110, 107, 110, 111, 119, 110, 40, 115, 111, 117, 114, 99, 101, 46, 117, 110, 107, 110, 111, 119, - 110, 40, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 36, 50, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 117, 110, 105, 116, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 32, 61, 32, 117, - 110, 105, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 101, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 36, 50, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 110, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 110, 107, 110, 111, 119, 110, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 97, 109, 112, 32, 61, 32, 105, 100, 101, - 110, 116, 105, 116, 121, 36, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 105, - 101, 99, 101, 119, 105, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, - 116, 112, 117, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 112, 117, 116, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, - 99, 97, 108, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 110, 32, 61, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 100, 111, 109, 97, 105, 110, 46, 108, - 101, 110, 103, 116, 104, 44, 32, 114, 97, 110, 103, 101, 46, 108, 101, 110, 103, 116, 104, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 108, 97, 109, 112, 32, 33, 61, - 61, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 51, 41, 32, 99, 108, 97, 109, 112, 32, 61, 32, 99, - 108, 97, 109, 112, 101, 114, 40, 100, 111, 109, 97, 105, 110, 91, 48, 93, 44, 32, 100, 111, 109, 97, 105, - 110, 91, 110, 32, 45, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 105, 101, 99, 101, 119, 105, 115, 101, 32, 61, 32, 110, 32, 62, 32, 50, 32, 63, 32, 112, 111, 108, - 121, 109, 97, 112, 32, 58, 32, 98, 105, 109, 97, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 111, 117, 116, 112, 117, 116, 32, 61, 32, 105, 110, 112, 117, 116, 32, 61, 32, 110, 117, 108, - 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, - 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, 101, 40, 120, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 61, 61, 32, - 110, 117, 108, 108, 32, 124, 124, 32, 105, 115, 78, 97, 78, 40, 120, 32, 61, 32, 43, 120, 41, 32, 63, - 32, 117, 110, 107, 110, 111, 119, 110, 32, 58, 32, 40, 111, 117, 116, 112, 117, 116, 32, 124, 124, 32, 40, - 111, 117, 116, 112, 117, 116, 32, 61, 32, 112, 105, 101, 99, 101, 119, 105, 115, 101, 40, 100, 111, 109, 97, - 105, 110, 46, 109, 97, 112, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 41, 44, 32, 114, 97, 110, 103, - 101, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 41, 41, 41, 40, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 40, 99, 108, 97, 109, 112, 40, 120, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 105, 110, 118, 101, - 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 121, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 108, 97, 109, 112, 40, 117, 110, - 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 40, 105, 110, 112, 117, 116, 32, 124, 124, 32, 40, 105, 110, - 112, 117, 116, 32, 61, 32, 112, 105, 101, 99, 101, 119, 105, 115, 101, 40, 114, 97, 110, 103, 101, 44, 32, - 100, 111, 109, 97, 105, 110, 46, 109, 97, 112, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 41, 44, 32, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 78, 117, 109, 98, 101, 114, 41, 41, 41, 40, 121, 41, - 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 99, 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, - 100, 111, 109, 97, 105, 110, 32, 61, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 95, 44, 32, - 110, 117, 109, 98, 101, 114, 36, 49, 41, 44, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 41, 32, 58, - 32, 100, 111, 109, 97, 105, 110, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, - 103, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 114, 97, 110, 103, 101, 32, 61, 32, 65, 114, 114, - 97, 121, 46, 102, 114, 111, 109, 40, 95, 41, 44, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 41, 32, - 58, 32, 114, 97, 110, 103, 101, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, - 103, 101, 82, 111, 117, 110, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, - 103, 101, 32, 61, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 95, 41, 44, 32, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, - 111, 117, 110, 100, 44, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 108, 97, - 109, 112, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 99, 108, 97, 109, 112, 32, 61, 32, 95, 32, 63, - 32, 116, 114, 117, 101, 32, 58, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 51, 44, 32, 114, 101, 115, - 99, 97, 108, 101, 40, 41, 41, 32, 58, 32, 99, 108, 97, 109, 112, 32, 33, 61, 61, 32, 105, 100, 101, - 110, 116, 105, 116, 121, 36, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 32, 61, - 32, 95, 44, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 41, 32, 58, 32, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 63, 32, 40, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 95, 44, 32, 115, 99, 97, 108, 101, 41, - 32, 58, 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 116, 44, 32, 117, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 114, 97, 110, 115, 102, 111, 114, 109, 32, 61, 32, 116, 44, 32, 117, 110, 116, 114, 97, 110, 115, 102, 111, - 114, 109, 32, 61, 32, 117, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 99, 111, 110, 116, 105, 110, 117, 111, 117, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 36, 50, 40, 41, 40, - 105, 100, 101, 110, 116, 105, 116, 121, 36, 51, 44, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 51, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, - 105, 99, 107, 70, 111, 114, 109, 97, 116, 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 44, 32, - 99, 111, 117, 110, 116, 44, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 101, 112, 32, 61, 32, 116, 105, 99, 107, 83, 116, 101, - 112, 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 44, 32, 99, 111, 117, 110, 116, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 32, 61, 32, 102, 111, 114, - 109, 97, 116, 83, 112, 101, 99, 105, 102, 105, 101, 114, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 32, - 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 34, 44, 102, 34, 32, 58, 32, 115, 112, 101, 99, 105, 102, - 105, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 115, - 112, 101, 99, 105, 102, 105, 101, 114, 46, 116, 121, 112, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 115, 34, 58, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 97, 108, 117, 101, 32, 61, 32, - 77, 97, 116, 104, 46, 109, 97, 120, 40, 77, 97, 116, 104, 46, 97, 98, 115, 40, 115, 116, 97, 114, 116, - 41, 44, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 115, 116, 111, 112, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 112, 101, 99, 105, 102, - 105, 101, 114, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 61, 32, 110, 117, 108, 108, 32, 38, - 38, 32, 33, 105, 115, 78, 97, 78, 40, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 112, 114, - 101, 99, 105, 115, 105, 111, 110, 80, 114, 101, 102, 105, 120, 40, 115, 116, 101, 112, 44, 32, 118, 97, 108, - 117, 101, 41, 41, 41, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 112, 114, 101, 99, 105, 115, 105, - 111, 110, 32, 61, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 102, 111, 114, 109, 97, 116, 80, 114, 101, 102, 105, 120, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, - 44, 32, 118, 97, 108, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 34, 58, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 101, 34, 58, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 103, 34, 58, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 112, 34, 58, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 114, 34, 58, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 112, 101, 99, 105, 102, - 105, 101, 114, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 61, 32, 110, 117, 108, 108, 32, 38, - 38, 32, 33, 105, 115, 78, 97, 78, 40, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 112, 114, - 101, 99, 105, 115, 105, 111, 110, 82, 111, 117, 110, 100, 40, 115, 116, 101, 112, 44, 32, 77, 97, 116, 104, - 46, 109, 97, 120, 40, 77, 97, 116, 104, 46, 97, 98, 115, 40, 115, 116, 97, 114, 116, 41, 44, 32, 77, - 97, 116, 104, 46, 97, 98, 115, 40, 115, 116, 111, 112, 41, 41, 41, 41, 41, 32, 115, 112, 101, 99, 105, - 102, 105, 101, 114, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, 112, 114, 101, 99, 105, 115, - 105, 111, 110, 32, 45, 32, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 116, 121, 112, 101, 32, 61, - 61, 61, 32, 34, 101, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 102, 34, 58, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 34, 37, 34, 58, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 112, 101, - 99, 105, 102, 105, 101, 114, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 61, 32, 110, 117, 108, - 108, 32, 38, 38, 32, 33, 105, 115, 78, 97, 78, 40, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, - 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, 70, 105, 120, 101, 100, 40, 115, 116, 101, 112, 41, 41, 41, - 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 61, 32, - 112, 114, 101, 99, 105, 115, 105, 111, 110, 32, 45, 32, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, - 116, 121, 112, 101, 32, 61, 61, 61, 32, 34, 37, 34, 41, 32, 42, 32, 50, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, - 109, 97, 116, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, 97, 114, 105, 115, 104, 40, - 115, 99, 97, 108, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 111, - 109, 97, 105, 110, 32, 61, 32, 115, 99, 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 116, 105, 99, 107, 115, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 99, 111, 117, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 100, 111, 109, 97, 105, 110, 40, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 105, 99, 107, - 115, 40, 100, 91, 48, 93, 44, 32, 100, 91, 100, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, - 44, 32, 99, 111, 117, 110, 116, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 48, 32, 58, 32, - 99, 111, 117, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 116, 105, 99, 107, 70, 111, 114, 109, 97, 116, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 117, 110, 116, 44, 32, 115, 112, 101, 99, 105, 102, - 105, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 100, 32, 61, 32, 100, 111, 109, 97, 105, 110, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 105, 99, 107, 70, 111, 114, 109, 97, 116, 40, 100, 91, - 48, 93, 44, 32, 100, 91, 100, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 44, 32, 99, 111, - 117, 110, 116, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 48, 32, 58, 32, 99, 111, 117, 110, - 116, 44, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 110, 105, 99, 101, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 117, 110, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 117, 110, 116, 32, 61, 61, 32, 110, - 117, 108, 108, 41, 32, 99, 111, 117, 110, 116, 32, 61, 32, 49, 48, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 100, 111, 109, 97, 105, 110, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 48, 32, 61, 32, - 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 49, 32, 61, - 32, 100, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 97, 114, 116, 32, 61, 32, 100, 91, 105, 48, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 116, 111, 112, 32, 61, 32, - 100, 91, 105, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 112, 114, 101, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 109, 97, 120, 73, 116, 101, 114, 32, 61, 32, 49, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, 111, 112, 32, 60, 32, 115, 116, 97, 114, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 101, 112, 32, - 61, 32, 115, 116, 97, 114, 116, 44, 32, 115, 116, 97, 114, 116, 32, 61, 32, 115, 116, 111, 112, 44, 32, - 115, 116, 111, 112, 32, 61, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 116, 101, 112, 32, 61, 32, 105, 48, 44, 32, 105, 48, 32, 61, 32, 105, - 49, 44, 32, 105, 49, 32, 61, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, - 32, 40, 109, 97, 120, 73, 116, 101, 114, 45, 45, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 101, 112, 32, 61, 32, 116, 105, 99, 107, - 73, 110, 99, 114, 101, 109, 101, 110, 116, 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 44, 32, - 99, 111, 117, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 115, 116, 101, 112, 32, 61, 61, 61, 32, 112, 114, 101, 115, 116, 101, 112, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 91, 105, 48, 93, 32, 61, 32, 115, 116, 97, 114, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, 105, 49, 93, 32, 61, 32, 115, 116, 111, 112, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 100, 111, 109, 97, 105, 110, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 116, - 101, 112, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, - 111, 114, 40, 115, 116, 97, 114, 116, 32, 47, 32, 115, 116, 101, 112, 41, 32, 42, 32, 115, 116, 101, 112, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 116, 111, 112, 32, 61, 32, 77, 97, 116, 104, 46, 99, 101, 105, 108, 40, 115, 116, 111, 112, 32, 47, 32, - 115, 116, 101, 112, 41, 32, 42, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 116, 101, 112, 32, - 60, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 116, 97, 114, 116, 32, 61, 32, 77, 97, 116, 104, 46, 99, 101, 105, 108, 40, 115, - 116, 97, 114, 116, 32, 42, 32, 115, 116, 101, 112, 41, 32, 47, 32, 115, 116, 101, 112, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 111, 112, 32, - 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 115, 116, 111, 112, 32, 42, 32, 115, 116, 101, - 112, 41, 32, 47, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 114, 101, 115, 116, 101, 112, 32, 61, 32, 115, 116, 101, 112, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, - 108, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 108, 105, 110, 101, 97, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 115, 99, 97, 108, 101, 32, 61, 32, 99, 111, 110, 116, 105, 110, 117, 111, 117, 115, 40, 41, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 112, 121, 36, 49, 40, 115, 99, 97, 108, 101, 44, 32, 108, - 105, 110, 101, 97, 114, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 110, 105, 116, 82, 97, 110, 103, 101, 46, 97, 112, 112, 108, 121, 40, - 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 110, 101, 97, 114, 105, 115, 104, 40, 115, - 99, 97, 108, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 50, 40, 100, 111, 109, 97, 105, 110, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, 101, - 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 120, 32, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 105, 115, 78, 97, 78, 40, 120, 32, - 61, 32, 43, 120, 41, 32, 63, 32, 117, 110, 107, 110, 111, 119, 110, 32, 58, 32, 120, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, - 105, 110, 118, 101, 114, 116, 32, 61, 32, 115, 99, 97, 108, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 99, 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 32, 61, 32, 115, 99, 97, 108, 101, 46, - 114, 97, 110, 103, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 100, 111, 109, 97, 105, 110, 32, 61, - 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 95, 44, 32, 110, 117, 109, 98, 101, 114, 36, 49, - 41, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 100, 111, 109, 97, 105, 110, 46, 115, 108, 105, 99, - 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 99, 97, 108, 101, 46, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, - 32, 40, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 95, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, - 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 50, 40, 100, 111, 109, 97, 105, 110, - 41, 46, 117, 110, 107, 110, 111, 119, 110, 40, 117, 110, 107, 110, 111, 119, 110, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 109, 97, 105, 110, - 32, 61, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 65, - 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 100, 111, 109, 97, 105, 110, 44, 32, 110, 117, 109, 98, 101, - 114, 36, 49, 41, 32, 58, 32, 91, 48, 44, 32, 49, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 110, 101, 97, 114, 105, 115, 104, 40, 115, 99, 97, 108, 101, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 110, 105, 99, 101, 40, 100, 111, 109, 97, 105, 110, 44, 32, 105, 110, 116, 101, 114, 118, 97, 108, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 100, 111, 109, 97, - 105, 110, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 105, 48, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 49, 32, 61, 32, 100, 111, 109, 97, 105, 110, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 100, 111, 109, 97, 105, 110, - 91, 105, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, - 100, 111, 109, 97, 105, 110, 91, 105, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 49, 32, 60, 32, 120, - 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 105, 48, - 44, 32, 105, 48, 32, 61, 32, 105, 49, 44, 32, 105, 49, 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 120, 48, 44, 32, 120, 48, 32, 61, 32, 120, 49, - 44, 32, 120, 49, 32, 61, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 111, 109, 97, 105, 110, 91, 105, 48, 93, 32, 61, 32, 105, 110, 116, 101, - 114, 118, 97, 108, 46, 102, 108, 111, 111, 114, 40, 120, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 111, 109, 97, 105, 110, 91, 105, 49, 93, 32, 61, 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, - 99, 101, 105, 108, 40, 120, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 100, 111, 109, 97, 105, 110, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 76, 111, 103, 40, 120, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 108, - 111, 103, 40, 120, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 69, 120, 112, 40, 120, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 101, 120, 112, 40, - 120, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 76, 111, 103, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 45, 77, 97, 116, 104, 46, 108, 111, 103, 40, 45, - 120, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 69, 120, 112, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 45, 77, 97, 116, 104, 46, 101, 120, 112, 40, 45, - 120, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 112, 111, 119, 49, 48, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 105, 115, 70, 105, 110, 105, 116, 101, 40, 120, 41, 32, 63, 32, 43, 40, 34, 49, 101, - 34, 32, 43, 32, 120, 41, 32, 58, 32, 120, 32, 60, 32, 48, 32, 63, 32, 48, 32, 58, 32, 120, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, - 119, 112, 40, 98, 97, 115, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 98, 97, 115, 101, 32, 61, 61, 61, 32, 49, 48, 32, 63, 32, 112, 111, 119, 49, 48, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 98, 97, 115, 101, 32, 61, 61, 61, 32, - 77, 97, 116, 104, 46, 69, 32, 63, 32, 77, 97, 116, 104, 46, 101, 120, 112, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, - 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 98, 97, 115, - 101, 44, 32, 120, 41, 59, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 108, 111, 103, 112, 40, 98, 97, 115, 101, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 97, 115, 101, 32, 61, 61, 61, 32, 77, 97, - 116, 104, 46, 69, 32, 63, 32, 77, 97, 116, 104, 46, 108, 111, 103, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 58, 32, 98, 97, 115, 101, 32, 61, 61, 61, 32, 49, 48, 32, 38, 38, 32, 77, - 97, 116, 104, 46, 108, 111, 103, 49, 48, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, - 124, 32, 98, 97, 115, 101, 32, 61, 61, 61, 32, 50, 32, 38, 38, 32, 77, 97, 116, 104, 46, 108, 111, - 103, 50, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 124, 32, 40, 98, 97, 115, 101, - 32, 61, 32, 77, 97, 116, 104, 46, 108, 111, 103, 40, 98, 97, 115, 101, 41, 44, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 120, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 108, - 111, 103, 40, 120, 41, 32, 47, 32, 98, 97, 115, 101, 59, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 102, 108, 101, 99, 116, 40, - 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 45, 102, 40, 45, 120, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 108, 111, 103, 103, 105, 115, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 97, 108, 101, 32, 61, 32, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 76, 111, 103, 44, 32, 116, 114, 97, 110, - 115, 102, 111, 114, 109, 69, 120, 112, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 111, 109, 97, 105, 110, 32, 61, 32, 115, 99, 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 115, 101, 32, 61, 32, 49, 48, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 103, 115, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 111, 119, 115, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 103, 115, 32, 61, 32, 108, 111, 103, 112, 40, 98, 97, - 115, 101, 41, 44, 32, 112, 111, 119, 115, 32, 61, 32, 112, 111, 119, 112, 40, 98, 97, 115, 101, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 111, 109, 97, 105, 110, - 40, 41, 91, 48, 93, 32, 60, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 111, 103, 115, 32, 61, 32, 114, 101, 102, 108, 101, 99, 116, 40, 108, 111, - 103, 115, 41, 44, 32, 112, 111, 119, 115, 32, 61, 32, 114, 101, 102, 108, 101, 99, 116, 40, 112, 111, 119, - 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, - 110, 115, 102, 111, 114, 109, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 76, 111, 103, 110, 44, 32, 116, - 114, 97, 110, 115, 102, 111, 114, 109, 69, 120, 112, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 116, 114, 97, 110, 115, 102, 111, - 114, 109, 76, 111, 103, 44, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 69, 120, 112, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 98, 97, 115, 101, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 63, 32, 40, 98, 97, 115, 101, 32, 61, 32, 43, 95, 44, 32, 114, 101, 115, - 99, 97, 108, 101, 40, 41, 41, 32, 58, 32, 98, 97, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 100, 111, 109, 97, - 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 100, 111, 109, 97, 105, 110, 40, 95, 41, 44, 32, - 114, 101, 115, 99, 97, 108, 101, 40, 41, 41, 32, 58, 32, 100, 111, 109, 97, 105, 110, 40, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, - 108, 101, 46, 116, 105, 99, 107, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 117, - 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, - 32, 61, 32, 100, 111, 109, 97, 105, 110, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 117, 32, 61, 32, 100, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 32, 61, 32, 100, 91, 100, 46, 108, 101, 110, 103, 116, 104, - 32, 45, 32, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 32, 61, - 32, 118, 32, 60, 32, 117, 41, 32, 105, 32, 61, 32, 117, 44, 32, 117, 32, 61, 32, 118, 44, 32, 118, - 32, 61, 32, 105, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 105, 32, 61, 32, 108, 111, 103, 115, 40, 117, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 106, 32, 61, 32, 108, 111, 103, 115, 40, 118, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 107, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 110, 32, 61, 32, 99, 111, 117, 110, 116, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 48, 32, - 58, 32, 43, 99, 111, 117, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 122, 32, 61, 32, 91, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 33, 40, 98, 97, 115, 101, 32, 37, 32, 49, 41, 32, 38, 38, 32, 106, 32, 45, - 32, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 105, 41, 44, 32, 106, - 32, 61, 32, 77, 97, 116, 104, 46, 99, 101, 105, 108, 40, 106, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 117, 32, 62, 32, 48, 41, 32, 102, 111, - 114, 32, 40, 59, 32, 105, 32, 60, 61, 32, 106, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 107, - 32, 61, 32, 49, 44, 32, 112, 32, 61, 32, 112, 111, 119, 115, 40, 105, 41, 59, 32, 107, 32, 60, 32, - 98, 97, 115, 101, 59, 32, 43, 43, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 112, 32, 42, 32, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 116, 32, 60, 32, 117, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 116, 32, 62, 32, 118, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 46, - 112, 117, 115, 104, 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 32, 101, 108, 115, 101, 32, 102, 111, 114, 32, 40, 59, 32, 105, 32, 60, 61, 32, 106, 59, 32, - 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 32, 40, 107, 32, 61, 32, 98, 97, 115, 101, 32, 45, 32, 49, 44, 32, - 112, 32, 61, 32, 112, 111, 119, 115, 40, 105, 41, 59, 32, 107, 32, 62, 61, 32, 49, 59, 32, 45, 45, - 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 112, 32, 42, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, - 32, 60, 32, 117, 41, 32, 99, 111, 110, 116, 105, 110, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 32, - 62, 32, 118, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 46, 112, 117, 115, 104, 40, 116, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 122, 46, 108, 101, 110, 103, 116, 104, - 32, 42, 32, 50, 32, 60, 32, 110, 41, 32, 122, 32, 61, 32, 116, 105, 99, 107, 115, 40, 117, 44, 32, - 118, 44, 32, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, - 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, - 61, 32, 116, 105, 99, 107, 115, 40, 105, 44, 32, 106, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, - 106, 32, 45, 32, 105, 44, 32, 110, 41, 41, 46, 109, 97, 112, 40, 112, 111, 119, 115, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 32, 63, 32, 122, 46, 114, 101, 118, 101, 114, 115, 101, - 40, 41, 32, 58, 32, 122, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 116, 105, 99, 107, 70, 111, 114, 109, 97, 116, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 117, 110, 116, 44, 32, 115, 112, 101, 99, 105, 102, - 105, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 115, 112, 101, 99, 105, 102, 105, 101, 114, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 115, 112, 101, 99, - 105, 102, 105, 101, 114, 32, 61, 32, 98, 97, 115, 101, 32, 61, 61, 61, 32, 49, 48, 32, 63, 32, 34, - 46, 48, 101, 34, 32, 58, 32, 34, 44, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 32, 33, - 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 115, 112, 101, 99, 105, 102, 105, 101, - 114, 32, 61, 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, 109, 97, 116, 40, 115, 112, 101, 99, - 105, 102, 105, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 99, 111, 117, 110, 116, 32, 61, 61, 61, 32, 73, 110, 102, 105, 110, 105, 116, 121, 41, 32, 114, 101, - 116, 117, 114, 110, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 117, 110, 116, 32, 61, 61, 32, 110, 117, 108, 108, 41, - 32, 99, 111, 117, 110, 116, 32, 61, 32, 49, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 107, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 49, 44, 32, 98, - 97, 115, 101, 32, 42, 32, 99, 111, 117, 110, 116, 32, 47, 32, 115, 99, 97, 108, 101, 46, 116, 105, 99, - 107, 115, 40, 41, 46, 108, 101, 110, 103, 116, 104, 41, 59, 32, 47, 47, 32, 84, 79, 68, 79, 32, 102, - 97, 115, 116, 32, 101, 115, 116, 105, 109, 97, 116, 101, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, - 61, 32, 100, 32, 47, 32, 112, 111, 119, 115, 40, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 108, - 111, 103, 115, 40, 100, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 105, 32, 42, 32, 98, 97, 115, 101, 32, 60, 32, 98, 97, 115, 101, 32, - 45, 32, 48, 46, 53, 41, 32, 105, 32, 42, 61, 32, 98, 97, 115, 101, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 32, 60, 61, 32, - 107, 32, 63, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 40, 100, 41, 32, 58, 32, 34, 34, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 110, 105, 99, 101, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 111, 109, 97, 105, 110, 40, 110, 105, 99, 101, 40, - 100, 111, 109, 97, 105, 110, 40, 41, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 108, 111, 111, 114, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, - 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 112, 111, 119, 115, 40, 77, 97, 116, 104, 46, 102, 108, 111, - 111, 114, 40, 108, 111, 103, 115, 40, 120, 41, 41, 41, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 101, 105, 108, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 120, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 112, 111, 119, 115, 40, 77, 97, 116, 104, - 46, 99, 101, 105, 108, 40, 108, 111, 103, 115, 40, 120, 41, 41, 41, 59, 32, 125, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 111, - 103, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 97, 108, 101, - 32, 61, 32, 108, 111, 103, 103, 105, 115, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 36, - 50, 40, 41, 41, 46, 100, 111, 109, 97, 105, 110, 40, 91, 49, 44, 32, 49, 48, 93, 41, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 99, 111, 112, 121, 36, 49, 40, 115, 99, 97, 108, 101, 44, 32, 108, 111, - 103, 40, 41, 41, 46, 98, 97, 115, 101, 40, 115, 99, 97, 108, 101, 46, 98, 97, 115, 101, 40, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 110, 105, 116, 82, 97, 110, 103, 101, 46, 97, 112, 112, 108, 121, 40, 115, 99, 97, 108, 101, 44, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 115, 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 83, 121, 109, 108, 111, 103, - 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 115, 105, 103, 110, 40, 120, 41, 32, 42, 32, - 77, 97, 116, 104, 46, 108, 111, 103, 49, 112, 40, 77, 97, 116, 104, 46, 97, 98, 115, 40, 120, 32, 47, - 32, 99, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 83, 121, 109, 101, 120, 112, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 115, 105, 103, 110, - 40, 120, 41, 32, 42, 32, 77, 97, 116, 104, 46, 101, 120, 112, 109, 49, 40, 77, 97, 116, 104, 46, 97, - 98, 115, 40, 120, 41, 41, 32, 42, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 121, 109, - 108, 111, 103, 105, 115, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 49, 44, 32, 115, 99, 97, 108, 101, 32, 61, - 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 83, 121, 109, - 108, 111, 103, 40, 99, 41, 44, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 83, 121, 109, 101, 120, 112, - 40, 99, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, - 110, 115, 116, 97, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 116, 114, 97, 110, 115, 102, 111, 114, - 109, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 83, 121, 109, 108, 111, 103, 40, 99, 32, 61, 32, 43, - 95, 41, 44, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 83, 121, 109, 101, 120, 112, 40, 99, 41, 41, - 32, 58, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 110, 101, 97, 114, 105, 115, 104, 40, 115, 99, 97, - 108, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 115, 121, 109, 108, 111, 103, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 115, 99, 97, 108, 101, 32, 61, 32, 115, 121, 109, 108, 111, 103, 105, 115, 104, 40, 116, 114, 97, - 110, 115, 102, 111, 114, 109, 101, 114, 36, 50, 40, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 99, 111, 112, 121, 36, 49, 40, 115, 99, 97, 108, 101, 44, 32, 115, 121, 109, 108, 111, 103, 40, 41, 41, - 46, 99, 111, 110, 115, 116, 97, 110, 116, 40, 115, 99, 97, 108, 101, 46, 99, 111, 110, 115, 116, 97, 110, - 116, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 105, 116, 82, 97, 110, 103, 101, 46, 97, 112, 112, - 108, 121, 40, 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, - 115, 102, 111, 114, 109, 80, 111, 119, 40, 101, 120, 112, 111, 110, 101, 110, 116, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 120, 32, 60, 32, 48, 32, 63, 32, 45, 77, 97, 116, 104, 46, 112, 111, 119, 40, 45, 120, 44, 32, 101, - 120, 112, 111, 110, 101, 110, 116, 41, 32, 58, 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 120, 44, 32, - 101, 120, 112, 111, 110, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, - 115, 102, 111, 114, 109, 83, 113, 114, 116, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 120, 32, 60, 32, 48, 32, 63, 32, 45, 77, 97, 116, 104, 46, 115, 113, - 114, 116, 40, 45, 120, 41, 32, 58, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 120, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, - 110, 115, 102, 111, 114, 109, 83, 113, 117, 97, 114, 101, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 60, 32, 48, 32, 63, 32, 45, 120, 32, 42, 32, - 120, 32, 58, 32, 120, 32, 42, 32, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 119, 105, 115, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, - 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 97, 108, 101, 32, - 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 105, 100, 101, 110, 116, 105, 116, 121, 36, 51, 44, - 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 51, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 120, 112, 111, 110, 101, 110, 116, 32, 61, 32, 49, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 120, 112, - 111, 110, 101, 110, 116, 32, 61, 61, 61, 32, 49, 32, 63, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 40, 105, 100, 101, 110, 116, 105, 116, 121, 36, 51, 44, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 51, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 101, 120, 112, - 111, 110, 101, 110, 116, 32, 61, 61, 61, 32, 48, 46, 53, 32, 63, 32, 116, 114, 97, 110, 115, 102, 111, - 114, 109, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 83, 113, 114, 116, 44, 32, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 83, 113, 117, 97, 114, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 116, 114, - 97, 110, 115, 102, 111, 114, 109, 80, 111, 119, 40, 101, 120, 112, 111, 110, 101, 110, 116, 41, 44, 32, 116, - 114, 97, 110, 115, 102, 111, 114, 109, 80, 111, 119, 40, 49, 32, 47, 32, 101, 120, 112, 111, 110, 101, 110, - 116, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 99, 97, 108, 101, 46, 101, 120, 112, 111, 110, 101, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, - 32, 40, 101, 120, 112, 111, 110, 101, 110, 116, 32, 61, 32, 43, 95, 44, 32, 114, 101, 115, 99, 97, 108, - 101, 40, 41, 41, 32, 58, 32, 101, 120, 112, 111, 110, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, - 110, 101, 97, 114, 105, 115, 104, 40, 115, 99, 97, 108, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 119, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 97, 108, 101, 32, 61, 32, 112, 111, 119, 105, 115, - 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 36, 50, 40, 41, 41, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 99, 111, 112, 121, 36, 49, 40, 115, 99, 97, 108, 101, 44, 32, 112, 111, 119, 40, - 41, 41, 46, 101, 120, 112, 111, 110, 101, 110, 116, 40, 115, 99, 97, 108, 101, 46, 101, 120, 112, 111, 110, - 101, 110, 116, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 110, 105, 116, 82, 97, 110, 103, 101, 46, 97, 112, 112, 108, 121, 40, 115, 99, - 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 113, 114, 116, 36, 49, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 111, 119, 46, 97, 112, - 112, 108, 121, 40, 110, 117, 108, 108, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 46, 101, 120, - 112, 111, 110, 101, 110, 116, 40, 48, 46, 53, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 113, 117, 97, 114, 101, 36, 49, 40, 120, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 115, 105, - 103, 110, 40, 120, 41, 32, 42, 32, 120, 32, 42, 32, 120, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 117, 110, 115, 113, 117, 97, 114, 101, 40, 120, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, - 115, 105, 103, 110, 40, 120, 41, 32, 42, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 77, 97, 116, - 104, 46, 97, 98, 115, 40, 120, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 100, 105, 97, 108, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 113, 117, 97, 114, 101, 100, 32, 61, 32, 99, 111, 110, 116, 105, - 110, 117, 111, 117, 115, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, - 110, 103, 101, 32, 61, 32, 91, 48, 44, 32, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 111, 117, 110, 100, 32, 61, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, 101, 40, 120, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 121, 32, 61, 32, 117, 110, 115, 113, - 117, 97, 114, 101, 40, 115, 113, 117, 97, 114, 101, 100, 40, 120, 41, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 115, 78, 97, 78, 40, 121, 41, 32, - 63, 32, 117, 110, 107, 110, 111, 119, 110, 32, 58, 32, 114, 111, 117, 110, 100, 32, 63, 32, 77, 97, 116, - 104, 46, 114, 111, 117, 110, 100, 40, 121, 41, 32, 58, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 105, 110, 118, 101, 114, - 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 113, 117, 97, 114, 101, 100, 46, 105, - 110, 118, 101, 114, 116, 40, 115, 113, 117, 97, 114, 101, 36, 49, 40, 121, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, - 100, 111, 109, 97, 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 113, 117, 97, 114, 101, 100, - 46, 100, 111, 109, 97, 105, 110, 40, 95, 41, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 115, 113, - 117, 97, 114, 101, 100, 46, 100, 111, 109, 97, 105, 110, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, - 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 113, 117, 97, 114, 101, 100, 46, 114, 97, 110, 103, - 101, 40, 40, 114, 97, 110, 103, 101, 32, 61, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 95, - 44, 32, 110, 117, 109, 98, 101, 114, 36, 49, 41, 41, 46, 109, 97, 112, 40, 115, 113, 117, 97, 114, 101, - 36, 49, 41, 41, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 114, 97, 110, 103, 101, 46, 115, 108, - 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, 101, 82, 111, 117, 110, 100, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, 101, 40, 95, - 41, 46, 114, 111, 117, 110, 100, 40, 116, 114, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 111, 117, 110, 100, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 114, 111, 117, 110, 100, 32, 61, 32, 33, 33, 95, 44, 32, - 115, 99, 97, 108, 101, 41, 32, 58, 32, 114, 111, 117, 110, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 108, 97, 109, - 112, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 113, 117, 97, 114, 101, 100, 46, 99, 108, 97, 109, - 112, 40, 95, 41, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 115, 113, 117, 97, 114, 101, 100, 46, - 99, 108, 97, 109, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 95, 44, 32, 115, 99, 97, 108, - 101, 41, 32, 58, 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 100, 105, 97, 108, 40, 115, 113, 117, 97, 114, 101, - 100, 46, 100, 111, 109, 97, 105, 110, 40, 41, 44, 32, 114, 97, 110, 103, 101, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 114, 111, 117, 110, 100, 40, 114, 111, 117, 110, - 100, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 108, 97, - 109, 112, 40, 115, 113, 117, 97, 114, 101, 100, 46, 99, 108, 97, 109, 112, 40, 41, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 117, 110, 107, 110, 111, 119, 110, 40, 117, - 110, 107, 110, 111, 119, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 110, 105, 116, 82, 97, 110, 103, 101, 46, 97, 112, 112, 108, 121, 40, 115, - 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 110, 101, 97, 114, 105, 115, 104, 40, 115, 99, - 97, 108, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 113, 117, 97, 110, 116, 105, 108, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 32, 61, 32, 91, 93, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 99, 97, - 108, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 105, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 49, 44, 32, - 114, 97, 110, 103, 101, 46, 108, 101, 110, 103, 116, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, - 114, 97, 121, 40, 110, 32, 45, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 116, 104, 114, 101, 115, 104, - 111, 108, 100, 115, 91, 105, 32, 45, 32, 49, 93, 32, 61, 32, 113, 117, 97, 110, 116, 105, 108, 101, 83, - 111, 114, 116, 101, 100, 40, 100, 111, 109, 97, 105, 110, 44, 32, 105, 32, 47, 32, 110, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, 101, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 61, 61, 32, 110, 117, 108, 108, - 32, 124, 124, 32, 105, 115, 78, 97, 78, 40, 120, 32, 61, 32, 43, 120, 41, 32, 63, 32, 117, 110, 107, - 110, 111, 119, 110, 32, 58, 32, 114, 97, 110, 103, 101, 91, 98, 105, 115, 101, 99, 116, 82, 105, 103, 104, - 116, 40, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 44, 32, 120, 41, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 105, 110, - 118, 101, 114, 116, 69, 120, 116, 101, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 121, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, - 32, 114, 97, 110, 103, 101, 46, 105, 110, 100, 101, 120, 79, 102, 40, 121, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 32, 60, 32, 48, 32, 63, 32, - 91, 78, 97, 78, 44, 32, 78, 97, 78, 93, 32, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 62, 32, 48, 32, 63, 32, 116, 104, 114, 101, 115, 104, 111, - 108, 100, 115, 91, 105, 32, 45, 32, 49, 93, 32, 58, 32, 100, 111, 109, 97, 105, 110, 91, 48, 93, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 60, 32, 116, 104, - 114, 101, 115, 104, 111, 108, 100, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 116, 104, 114, 101, 115, - 104, 111, 108, 100, 115, 91, 105, 93, 32, 58, 32, 100, 111, 109, 97, 105, 110, 91, 100, 111, 109, 97, 105, - 110, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 99, 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 33, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, - 116, 117, 114, 110, 32, 100, 111, 109, 97, 105, 110, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 91, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 100, 32, - 111, 102, 32, 95, 41, 32, 105, 102, 32, 40, 100, 32, 33, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, - 33, 105, 115, 78, 97, 78, 40, 100, 32, 61, 32, 43, 100, 41, 41, 32, 100, 111, 109, 97, 105, 110, 46, - 112, 117, 115, 104, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, - 109, 97, 105, 110, 46, 115, 111, 114, 116, 40, 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 115, - 99, 97, 108, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, 101, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 63, 32, 40, 114, 97, 110, 103, 101, 32, 61, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 95, - 41, 44, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 41, 32, 58, 32, 114, 97, 110, 103, 101, 46, 115, - 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 32, 63, 32, 40, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 95, 44, 32, 115, 99, 97, 108, 101, - 41, 32, 58, 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 113, 117, 97, 110, 116, 105, 108, - 101, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, - 115, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 113, 117, 97, 110, 116, 105, 108, 101, 40, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 100, 111, 109, 97, 105, 110, 40, 100, 111, 109, 97, - 105, 110, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 114, 97, - 110, 103, 101, 40, 114, 97, 110, 103, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 117, 110, 107, 110, 111, 119, 110, 40, 117, 110, 107, 110, 111, 119, 110, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 105, 110, 105, 116, 82, 97, 110, 103, 101, 46, 97, 112, 112, 108, 121, 40, 115, 99, 97, - 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 113, 117, 97, 110, 116, 105, 122, 101, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 48, 32, 61, 32, 48, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 49, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 91, 48, 46, 53, 93, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 110, 103, 101, 32, 61, 32, 91, 48, 44, 32, 49, - 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 110, 107, 110, 111, 119, 110, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, - 101, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 120, 32, 33, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, 120, 32, 60, 61, 32, 120, 32, - 63, 32, 114, 97, 110, 103, 101, 91, 98, 105, 115, 101, 99, 116, 82, 105, 103, 104, 116, 40, 100, 111, 109, - 97, 105, 110, 44, 32, 120, 44, 32, 48, 44, 32, 110, 41, 93, 32, 58, 32, 117, 110, 107, 110, 111, 119, - 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 45, 49, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 110, 101, 119, 32, - 65, 114, 114, 97, 121, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, - 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 100, 111, 109, 97, 105, 110, 91, 105, - 93, 32, 61, 32, 40, 40, 105, 32, 43, 32, 49, 41, 32, 42, 32, 120, 49, 32, 45, 32, 40, 105, 32, - 45, 32, 110, 41, 32, 42, 32, 120, 48, 41, 32, 47, 32, 40, 110, 32, 43, 32, 49, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, - 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 91, 120, 48, - 44, 32, 120, 49, 93, 32, 61, 32, 95, 44, 32, 120, 48, 32, 61, 32, 43, 120, 48, 44, 32, 120, 49, - 32, 61, 32, 43, 120, 49, 44, 32, 114, 101, 115, 99, 97, 108, 101, 40, 41, 41, 32, 58, 32, 91, 120, - 48, 44, 32, 120, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, 101, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 63, 32, 40, 110, 32, 61, 32, 40, 114, 97, 110, 103, 101, 32, 61, 32, 65, 114, 114, 97, 121, 46, 102, - 114, 111, 109, 40, 95, 41, 41, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 44, 32, 114, 101, 115, - 99, 97, 108, 101, 40, 41, 41, 32, 58, 32, 114, 97, 110, 103, 101, 46, 115, 108, 105, 99, 101, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 99, 97, 108, 101, 46, 105, 110, 118, 101, 114, 116, 69, 120, 116, 101, 110, 116, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 105, 32, 61, 32, 114, 97, 110, 103, 101, 46, 105, 110, 100, 101, 120, 79, 102, 40, 121, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, - 32, 60, 32, 48, 32, 63, 32, 91, 78, 97, 78, 44, 32, 78, 97, 78, 93, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 105, 32, 60, 32, 49, 32, 63, 32, 91, 120, - 48, 44, 32, 100, 111, 109, 97, 105, 110, 91, 48, 93, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 105, 32, 62, 61, 32, 110, 32, 63, 32, 91, - 100, 111, 109, 97, 105, 110, 91, 110, 32, 45, 32, 49, 93, 44, 32, 120, 49, 93, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 91, - 100, 111, 109, 97, 105, 110, 91, 105, 32, 45, 32, 49, 93, 44, 32, 100, 111, 109, 97, 105, 110, 91, 105, - 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 99, 97, 108, 101, 46, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, - 40, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 95, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, - 115, 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 111, 109, 97, 105, 110, 46, 115, 108, 105, 99, 101, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 113, 117, - 97, 110, 116, 105, 122, 101, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 100, 111, 109, 97, 105, 110, 40, 91, 120, 48, 44, 32, 120, 49, 93, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 114, 97, 110, 103, 101, 40, 114, 97, 110, - 103, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 117, 110, - 107, 110, 111, 119, 110, 40, 117, 110, 107, 110, 111, 119, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 105, - 116, 82, 97, 110, 103, 101, 46, 97, 112, 112, 108, 121, 40, 108, 105, 110, 101, 97, 114, 105, 115, 104, 40, - 115, 99, 97, 108, 101, 41, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 104, 114, 101, 115, 104, - 111, 108, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 111, 109, - 97, 105, 110, 32, 61, 32, 91, 48, 46, 53, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 97, 110, 103, 101, 32, 61, 32, 91, 48, 44, 32, 49, 93, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 117, 110, 107, 110, 111, 119, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 110, 32, 61, 32, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, 101, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 33, 61, 32, 110, 117, 108, 108, - 32, 38, 38, 32, 120, 32, 60, 61, 32, 120, 32, 63, 32, 114, 97, 110, 103, 101, 91, 98, 105, 115, 101, - 99, 116, 82, 105, 103, 104, 116, 40, 100, 111, 109, 97, 105, 110, 44, 32, 120, 44, 32, 48, 44, 32, 110, - 41, 93, 32, 58, 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 63, 32, 40, 100, 111, 109, 97, 105, 110, 32, 61, 32, 65, 114, 114, 97, 121, - 46, 102, 114, 111, 109, 40, 95, 41, 44, 32, 110, 32, 61, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, - 100, 111, 109, 97, 105, 110, 46, 108, 101, 110, 103, 116, 104, 44, 32, 114, 97, 110, 103, 101, 46, 108, 101, - 110, 103, 116, 104, 32, 45, 32, 49, 41, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 100, 111, 109, - 97, 105, 110, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, 101, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, - 110, 103, 116, 104, 32, 63, 32, 40, 114, 97, 110, 103, 101, 32, 61, 32, 65, 114, 114, 97, 121, 46, 102, - 114, 111, 109, 40, 95, 41, 44, 32, 110, 32, 61, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 100, 111, - 109, 97, 105, 110, 46, 108, 101, 110, 103, 116, 104, 44, 32, 114, 97, 110, 103, 101, 46, 108, 101, 110, 103, - 116, 104, 32, 45, 32, 49, 41, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 114, 97, 110, 103, 101, - 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 105, 110, 118, 101, 114, 116, 69, 120, 116, 101, - 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 121, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 114, 97, 110, 103, 101, 46, 105, - 110, 100, 101, 120, 79, 102, 40, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 91, 100, 111, 109, 97, 105, 110, 91, 105, 32, 45, 32, 49, 93, 44, 32, - 100, 111, 109, 97, 105, 110, 91, 105, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 117, 110, 107, 110, 111, 119, 110, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 63, 32, 40, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 95, 44, 32, 115, - 99, 97, 108, 101, 41, 32, 58, 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, - 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 40, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 100, 111, 109, 97, - 105, 110, 40, 100, 111, 109, 97, 105, 110, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 114, 97, 110, 103, 101, 40, 114, 97, 110, 103, 101, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 117, 110, 107, 110, 111, 119, 110, 40, 117, 110, 107, - 110, 111, 119, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 105, 116, 82, 97, 110, 103, 101, 46, 97, 112, - 112, 108, 121, 40, 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 48, 32, 61, 32, 110, 101, 119, - 32, 68, 97, 116, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 49, 32, 61, 32, 110, 101, 119, - 32, 68, 97, 116, 101, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 101, - 119, 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 108, 111, 111, 114, 105, 44, 32, 111, 102, 102, 115, 101, - 116, 105, 44, 32, 99, 111, 117, 110, 116, 44, 32, 102, 105, 101, 108, 100, 41, 32, 123, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 118, 97, 108, - 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 102, 108, 111, 111, 114, 105, 40, 100, 97, 116, 101, 32, 61, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 48, 32, 63, 32, 110, 101, - 119, 32, 68, 97, 116, 101, 32, 58, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 43, 100, 97, 116, 101, - 41, 41, 44, 32, 100, 97, 116, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 102, 108, 111, 111, 114, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 108, 111, 111, 114, 105, 40, 100, 97, 116, - 101, 32, 61, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 43, 100, 97, 116, 101, 41, 41, 44, 32, 100, - 97, 116, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 99, 101, 105, 108, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 102, 108, 111, 111, 114, 105, 40, 100, 97, 116, 101, 32, 61, 32, 110, - 101, 119, 32, 68, 97, 116, 101, 40, 100, 97, 116, 101, 32, 45, 32, 49, 41, 41, 44, 32, 111, 102, 102, - 115, 101, 116, 105, 40, 100, 97, 116, 101, 44, 32, 49, 41, 44, 32, 102, 108, 111, 111, 114, 105, 40, 100, - 97, 116, 101, 41, 44, 32, 100, 97, 116, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 114, 111, 117, 110, 100, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 48, 32, 61, 32, 105, 110, 116, 101, 114, - 118, 97, 108, 40, 100, 97, 116, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 49, 32, 61, 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 99, 101, 105, 108, 40, - 100, 97, 116, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 100, 97, 116, 101, 32, 45, 32, 100, 48, 32, 60, 32, 100, 49, 32, 45, 32, 100, 97, 116, - 101, 32, 63, 32, 100, 48, 32, 58, 32, 100, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 111, 102, 102, 115, - 101, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, - 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 111, 102, 102, 115, 101, 116, 105, 40, 100, 97, 116, 101, 32, 61, 32, 110, 101, 119, 32, 68, 97, 116, - 101, 40, 43, 100, 97, 116, 101, 41, 44, 32, 115, 116, 101, 112, 32, 61, 61, 32, 110, 117, 108, 108, 32, - 63, 32, 49, 32, 58, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 115, 116, 101, 112, 41, 41, - 44, 32, 100, 97, 116, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 114, 97, 110, 103, 101, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 44, 32, 115, 116, - 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, - 97, 110, 103, 101, 32, 61, 32, 91, 93, 44, 32, 112, 114, 101, 118, 105, 111, 117, 115, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 32, 61, 32, 105, 110, 116, 101, 114, - 118, 97, 108, 46, 99, 101, 105, 108, 40, 115, 116, 97, 114, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 116, 101, 112, 32, 61, 32, 115, 116, 101, 112, 32, 61, 61, 32, 110, 117, - 108, 108, 32, 63, 32, 49, 32, 58, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 115, 116, 101, - 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 115, - 116, 97, 114, 116, 32, 60, 32, 115, 116, 111, 112, 41, 32, 124, 124, 32, 33, 40, 115, 116, 101, 112, 32, - 62, 32, 48, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 103, 101, 59, 32, 47, 47, 32, - 97, 108, 115, 111, 32, 104, 97, 110, 100, 108, 101, 115, 32, 73, 110, 118, 97, 108, 105, 100, 32, 68, 97, - 116, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 32, 114, 97, 110, 103, 101, - 46, 112, 117, 115, 104, 40, 112, 114, 101, 118, 105, 111, 117, 115, 32, 61, 32, 110, 101, 119, 32, 68, 97, - 116, 101, 40, 43, 115, 116, 97, 114, 116, 41, 41, 44, 32, 111, 102, 102, 115, 101, 116, 105, 40, 115, 116, - 97, 114, 116, 44, 32, 115, 116, 101, 112, 41, 44, 32, 102, 108, 111, 111, 114, 105, 40, 115, 116, 97, 114, - 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, - 112, 114, 101, 118, 105, 111, 117, 115, 32, 60, 32, 115, 116, 97, 114, 116, 32, 38, 38, 32, 115, 116, 97, - 114, 116, 32, 60, 32, 115, 116, 111, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 103, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 102, 105, - 108, 116, 101, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 101, 115, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, - 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 100, 97, 116, 101, 32, 62, 61, 32, 100, 97, 116, 101, 41, 32, 119, 104, 105, 108, 101, 32, 40, 102, 108, - 111, 111, 114, 105, 40, 100, 97, 116, 101, 41, 44, 32, 33, 116, 101, 115, 116, 40, 100, 97, 116, 101, 41, - 41, 32, 100, 97, 116, 101, 46, 115, 101, 116, 84, 105, 109, 101, 40, 100, 97, 116, 101, 32, 45, 32, 49, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 97, 116, 101, 32, 62, 61, 32, - 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, 101, 112, 32, 60, 32, 48, 41, 32, 119, 104, 105, 108, - 101, 32, 40, 43, 43, 115, 116, 101, 112, 32, 60, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, - 101, 32, 40, 111, 102, 102, 115, 101, 116, 105, 40, 100, 97, 116, 101, 44, 32, 45, 49, 41, 44, 32, 33, - 116, 101, 115, 116, 40, 100, 97, 116, 101, 41, 41, 32, 123, 125, 32, 47, 47, 32, 101, 115, 108, 105, 110, - 116, 45, 100, 105, 115, 97, 98, 108, 101, 45, 108, 105, 110, 101, 32, 110, 111, 45, 101, 109, 112, 116, 121, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, - 101, 108, 115, 101, 32, 119, 104, 105, 108, 101, 32, 40, 45, 45, 115, 116, 101, 112, 32, 62, 61, 32, 48, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 111, 102, 102, 115, 101, 116, 105, 40, 100, 97, 116, - 101, 44, 32, 43, 49, 41, 44, 32, 33, 116, 101, 115, 116, 40, 100, 97, 116, 101, 41, 41, 32, 123, 125, - 32, 47, 47, 32, 101, 115, 108, 105, 110, 116, 45, 100, 105, 115, 97, 98, 108, 101, 45, 108, 105, 110, 101, - 32, 110, 111, 45, 101, 109, 112, 116, 121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, - 117, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, - 114, 118, 97, 108, 46, 99, 111, 117, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, - 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 48, 46, 115, 101, 116, 84, 105, 109, 101, 40, 43, 115, 116, 97, 114, 116, - 41, 44, 32, 116, 49, 46, 115, 101, 116, 84, 105, 109, 101, 40, 43, 101, 110, 100, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 108, 111, 111, 114, 105, 40, 116, 48, - 41, 44, 32, 102, 108, 111, 111, 114, 105, 40, 116, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 102, 108, 111, - 111, 114, 40, 99, 111, 117, 110, 116, 40, 116, 48, 44, 32, 116, 49, 41, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 101, 118, 101, 114, 121, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 116, 101, 112, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, - 115, 116, 101, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 33, 105, 115, 70, 105, 110, 105, 116, 101, 40, 115, 116, 101, 112, 41, 32, - 124, 124, 32, 33, 40, 115, 116, 101, 112, 32, 62, 32, 48, 41, 32, 63, 32, 110, 117, 108, 108, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 33, 40, - 115, 116, 101, 112, 32, 62, 32, 49, 41, 32, 63, 32, 105, 110, 116, 101, 114, 118, 97, 108, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, - 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 102, 105, 108, 116, 101, 114, 40, 102, 105, 101, 108, 100, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 63, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 32, 114, 101, - 116, 117, 114, 110, 32, 102, 105, 101, 108, 100, 40, 100, 41, 32, 37, 32, 115, 116, 101, 112, 32, 61, 61, - 61, 32, 48, 59, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 100, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 99, 111, - 117, 110, 116, 40, 48, 44, 32, 100, 41, 32, 37, 32, 115, 116, 101, 112, 32, 61, 61, 61, 32, 48, 59, - 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 105, 110, 116, 101, 114, 118, 97, 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 109, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 32, 61, 32, 110, 101, 119, 73, 110, 116, 101, - 114, 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 47, 47, 32, 110, 111, 111, 112, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 84, 105, 109, 101, 40, 43, 100, 97, 116, 101, 32, 43, - 32, 115, 116, 101, 112, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 101, 110, 100, 32, 45, 32, 115, 116, 97, 114, 116, 59, 10, 32, 32, 32, - 32, 125, 41, 59, 10, 10, 47, 47, 32, 65, 110, 32, 111, 112, 116, 105, 109, 105, 122, 101, 100, 32, 105, - 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 102, 111, 114, 32, 116, 104, 105, 115, 32, - 115, 105, 109, 112, 108, 101, 32, 99, 97, 115, 101, 46, 10, 32, 32, 32, 32, 109, 105, 108, 108, 105, 115, - 101, 99, 111, 110, 100, 46, 101, 118, 101, 114, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 77, 97, 116, 104, 46, 102, - 108, 111, 111, 114, 40, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, - 115, 70, 105, 110, 105, 116, 101, 40, 107, 41, 32, 124, 124, 32, 33, 40, 107, 32, 62, 32, 48, 41, 41, - 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 33, 40, 107, 32, 62, 32, 49, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 109, 105, 108, - 108, 105, 115, 101, 99, 111, 110, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 110, 101, 119, 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, - 101, 46, 115, 101, 116, 84, 105, 109, 101, 40, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 100, 97, - 116, 101, 32, 47, 32, 107, 41, 32, 42, 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 84, - 105, 109, 101, 40, 43, 100, 97, 116, 101, 32, 43, 32, 115, 116, 101, 112, 32, 42, 32, 107, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 97, - 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 40, 101, 110, 100, 32, 45, 32, 115, 116, 97, 114, 116, 41, 32, 47, 32, - 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 59, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 109, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 32, 61, 32, 109, - 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 46, 114, 97, 110, 103, 101, 59, 10, 10, 32, 32, 32, 32, - 99, 111, 110, 115, 116, 32, 100, 117, 114, 97, 116, 105, 111, 110, 83, 101, 99, 111, 110, 100, 32, 61, 32, - 49, 48, 48, 48, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 117, 114, 97, 116, 105, 111, - 110, 77, 105, 110, 117, 116, 101, 32, 61, 32, 100, 117, 114, 97, 116, 105, 111, 110, 83, 101, 99, 111, 110, - 100, 32, 42, 32, 54, 48, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 117, 114, 97, 116, - 105, 111, 110, 72, 111, 117, 114, 32, 61, 32, 100, 117, 114, 97, 116, 105, 111, 110, 77, 105, 110, 117, 116, - 101, 32, 42, 32, 54, 48, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 117, 114, 97, 116, - 105, 111, 110, 68, 97, 121, 32, 61, 32, 100, 117, 114, 97, 116, 105, 111, 110, 72, 111, 117, 114, 32, 42, - 32, 50, 52, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 117, 114, 97, 116, 105, 111, 110, - 87, 101, 101, 107, 32, 61, 32, 100, 117, 114, 97, 116, 105, 111, 110, 68, 97, 121, 32, 42, 32, 55, 59, - 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 117, 114, 97, 116, 105, 111, 110, 77, 111, 110, 116, - 104, 32, 61, 32, 100, 117, 114, 97, 116, 105, 111, 110, 68, 97, 121, 32, 42, 32, 51, 48, 59, 10, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 117, 114, 97, 116, 105, 111, 110, 89, 101, 97, 114, 32, 61, - 32, 100, 117, 114, 97, 116, 105, 111, 110, 68, 97, 121, 32, 42, 32, 51, 54, 53, 59, 10, 10, 32, 32, - 32, 32, 118, 97, 114, 32, 115, 101, 99, 111, 110, 100, 32, 61, 32, 110, 101, 119, 73, 110, 116, 101, 114, - 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 84, 105, 109, 101, 40, 100, 97, 116, 101, - 32, 45, 32, 100, 97, 116, 101, 46, 103, 101, 116, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, - 40, 41, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, - 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, - 101, 46, 115, 101, 116, 84, 105, 109, 101, 40, 43, 100, 97, 116, 101, 32, 43, 32, 115, 116, 101, 112, 32, - 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 83, 101, 99, 111, 110, 100, 41, 59, 10, 32, 32, 32, 32, - 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 101, 110, 100, 32, - 45, 32, 115, 116, 97, 114, 116, 41, 32, 47, 32, 100, 117, 114, 97, 116, 105, 111, 110, 83, 101, 99, 111, - 110, 100, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, - 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 97, 116, - 101, 46, 103, 101, 116, 85, 84, 67, 83, 101, 99, 111, 110, 100, 115, 40, 41, 59, 10, 32, 32, 32, 32, - 125, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 101, 99, 111, 110, 100, 115, 32, 61, 32, 115, - 101, 99, 111, 110, 100, 46, 114, 97, 110, 103, 101, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 109, - 105, 110, 117, 116, 101, 32, 61, 32, 110, 101, 119, 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 97, 116, 101, 46, 115, 101, 116, 84, 105, 109, 101, 40, 100, 97, 116, 101, 32, 45, 32, 100, 97, 116, 101, - 46, 103, 101, 116, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 40, 41, 32, 45, 32, 100, 97, - 116, 101, 46, 103, 101, 116, 83, 101, 99, 111, 110, 100, 115, 40, 41, 32, 42, 32, 100, 117, 114, 97, 116, - 105, 111, 110, 83, 101, 99, 111, 110, 100, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 84, 105, 109, 101, 40, 43, 100, 97, 116, 101, 32, - 43, 32, 115, 116, 101, 112, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 77, 105, 110, 117, 116, 101, - 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 97, 114, - 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 40, 101, 110, 100, 32, 45, 32, 115, 116, 97, 114, 116, 41, 32, 47, 32, 100, 117, 114, 97, 116, - 105, 111, 110, 77, 105, 110, 117, 116, 101, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 100, 97, 116, 101, 46, 103, 101, 116, 77, 105, 110, 117, 116, 101, 115, 40, 41, 59, 10, - 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 109, 105, 110, 117, 116, 101, 115, - 32, 61, 32, 109, 105, 110, 117, 116, 101, 46, 114, 97, 110, 103, 101, 59, 10, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 104, 111, 117, 114, 32, 61, 32, 110, 101, 119, 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 97, 116, 101, 46, 115, 101, 116, 84, 105, 109, 101, 40, 100, 97, 116, 101, 32, 45, 32, 100, 97, - 116, 101, 46, 103, 101, 116, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 40, 41, 32, 45, 32, - 100, 97, 116, 101, 46, 103, 101, 116, 83, 101, 99, 111, 110, 100, 115, 40, 41, 32, 42, 32, 100, 117, 114, - 97, 116, 105, 111, 110, 83, 101, 99, 111, 110, 100, 32, 45, 32, 100, 97, 116, 101, 46, 103, 101, 116, 77, - 105, 110, 117, 116, 101, 115, 40, 41, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 77, 105, 110, 117, - 116, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, - 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, - 101, 46, 115, 101, 116, 84, 105, 109, 101, 40, 43, 100, 97, 116, 101, 32, 43, 32, 115, 116, 101, 112, 32, - 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 72, 111, 117, 114, 41, 59, 10, 32, 32, 32, 32, 125, 44, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 101, 110, 100, 32, 45, 32, - 115, 116, 97, 114, 116, 41, 32, 47, 32, 100, 117, 114, 97, 116, 105, 111, 110, 72, 111, 117, 114, 59, 10, - 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 97, 116, 101, 46, 103, 101, - 116, 72, 111, 117, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 104, 111, 117, 114, 115, 32, 61, 32, 104, 111, 117, 114, 46, 114, 97, 110, 103, 101, 59, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, 121, 32, 61, 32, 110, 101, 119, 73, 110, 116, 101, 114, - 118, 97, 108, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 32, 61, 62, 32, 100, 97, - 116, 101, 46, 115, 101, 116, 72, 111, 117, 114, 115, 40, 48, 44, 32, 48, 44, 32, 48, 44, 32, 48, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, - 61, 62, 32, 100, 97, 116, 101, 46, 115, 101, 116, 68, 97, 116, 101, 40, 100, 97, 116, 101, 46, 103, 101, - 116, 68, 97, 116, 101, 40, 41, 32, 43, 32, 115, 116, 101, 112, 41, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 61, 62, 32, 40, 101, 110, 100, 32, - 45, 32, 115, 116, 97, 114, 116, 32, 45, 32, 40, 101, 110, 100, 46, 103, 101, 116, 84, 105, 109, 101, 122, - 111, 110, 101, 79, 102, 102, 115, 101, 116, 40, 41, 32, 45, 32, 115, 116, 97, 114, 116, 46, 103, 101, 116, - 84, 105, 109, 101, 122, 111, 110, 101, 79, 102, 102, 115, 101, 116, 40, 41, 41, 32, 42, 32, 100, 117, 114, - 97, 116, 105, 111, 110, 77, 105, 110, 117, 116, 101, 41, 32, 47, 32, 100, 117, 114, 97, 116, 105, 111, 110, - 68, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 32, 61, 62, 32, 100, 97, - 116, 101, 46, 103, 101, 116, 68, 97, 116, 101, 40, 41, 32, 45, 32, 49, 10, 32, 32, 32, 32, 41, 59, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, 121, 115, 32, 61, 32, 100, 97, 121, 46, 114, 97, 110, - 103, 101, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 119, 101, 101, 107, 100, - 97, 121, 40, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 110, 101, 119, 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, - 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, - 115, 101, 116, 68, 97, 116, 101, 40, 100, 97, 116, 101, 46, 103, 101, 116, 68, 97, 116, 101, 40, 41, 32, - 45, 32, 40, 100, 97, 116, 101, 46, 103, 101, 116, 68, 97, 121, 40, 41, 32, 43, 32, 55, 32, 45, 32, - 105, 41, 32, 37, 32, 55, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, - 116, 101, 46, 115, 101, 116, 72, 111, 117, 114, 115, 40, 48, 44, 32, 48, 44, 32, 48, 44, 32, 48, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, - 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 68, 97, 116, 101, 40, 100, 97, 116, 101, 46, 103, 101, 116, - 68, 97, 116, 101, 40, 41, 32, 43, 32, 115, 116, 101, 112, 32, 42, 32, 55, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 97, 114, 116, 44, - 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 40, 101, 110, 100, 32, 45, 32, 115, 116, 97, 114, 116, 32, 45, 32, 40, 101, 110, 100, - 46, 103, 101, 116, 84, 105, 109, 101, 122, 111, 110, 101, 79, 102, 102, 115, 101, 116, 40, 41, 32, 45, 32, - 115, 116, 97, 114, 116, 46, 103, 101, 116, 84, 105, 109, 101, 122, 111, 110, 101, 79, 102, 102, 115, 101, 116, - 40, 41, 41, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 77, 105, 110, 117, 116, 101, 41, 32, 47, - 32, 100, 117, 114, 97, 116, 105, 111, 110, 87, 101, 101, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 117, 110, 100, - 97, 121, 32, 61, 32, 119, 101, 101, 107, 100, 97, 121, 40, 48, 41, 59, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 109, 111, 110, 100, 97, 121, 32, 61, 32, 119, 101, 101, 107, 100, 97, 121, 40, 49, 41, 59, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 116, 117, 101, 115, 100, 97, 121, 32, 61, 32, 119, 101, 101, 107, 100, - 97, 121, 40, 50, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 119, 101, 100, 110, 101, 115, 100, 97, - 121, 32, 61, 32, 119, 101, 101, 107, 100, 97, 121, 40, 51, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 116, 104, 117, 114, 115, 100, 97, 121, 32, 61, 32, 119, 101, 101, 107, 100, 97, 121, 40, 52, 41, 59, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 102, 114, 105, 100, 97, 121, 32, 61, 32, 119, 101, 101, 107, 100, - 97, 121, 40, 53, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 97, 116, 117, 114, 100, 97, 121, - 32, 61, 32, 119, 101, 101, 107, 100, 97, 121, 40, 54, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 115, 117, 110, 100, 97, 121, 115, 32, 61, 32, 115, 117, 110, 100, 97, 121, 46, 114, 97, 110, 103, 101, - 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 109, 111, 110, 100, 97, 121, 115, 32, 61, 32, 109, 111, 110, - 100, 97, 121, 46, 114, 97, 110, 103, 101, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 117, 101, 115, - 100, 97, 121, 115, 32, 61, 32, 116, 117, 101, 115, 100, 97, 121, 46, 114, 97, 110, 103, 101, 59, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 119, 101, 100, 110, 101, 115, 100, 97, 121, 115, 32, 61, 32, 119, 101, 100, - 110, 101, 115, 100, 97, 121, 46, 114, 97, 110, 103, 101, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, - 104, 117, 114, 115, 100, 97, 121, 115, 32, 61, 32, 116, 104, 117, 114, 115, 100, 97, 121, 46, 114, 97, 110, - 103, 101, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 102, 114, 105, 100, 97, 121, 115, 32, 61, 32, 102, - 114, 105, 100, 97, 121, 46, 114, 97, 110, 103, 101, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 97, - 116, 117, 114, 100, 97, 121, 115, 32, 61, 32, 115, 97, 116, 117, 114, 100, 97, 121, 46, 114, 97, 110, 103, - 101, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 109, 111, 110, 116, 104, 32, 61, 32, 110, 101, 119, - 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 68, 97, 116, 101, - 40, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 72, 111, - 117, 114, 115, 40, 48, 44, 32, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 125, 44, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 77, 111, 110, 116, 104, 40, - 100, 97, 116, 101, 46, 103, 101, 116, 77, 111, 110, 116, 104, 40, 41, 32, 43, 32, 115, 116, 101, 112, 41, - 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 97, 114, 116, - 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 101, 110, 100, 46, 103, 101, 116, 77, 111, 110, 116, 104, 40, 41, 32, 45, 32, 115, 116, 97, 114, 116, - 46, 103, 101, 116, 77, 111, 110, 116, 104, 40, 41, 32, 43, 32, 40, 101, 110, 100, 46, 103, 101, 116, 70, - 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 45, 32, 115, 116, 97, 114, 116, 46, 103, 101, 116, 70, 117, - 108, 108, 89, 101, 97, 114, 40, 41, 41, 32, 42, 32, 49, 50, 59, 10, 32, 32, 32, 32, 125, 44, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 97, 116, 101, 46, 103, 101, 116, 77, 111, 110, 116, 104, 40, - 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 109, 111, 110, 116, - 104, 115, 32, 61, 32, 109, 111, 110, 116, 104, 46, 114, 97, 110, 103, 101, 59, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 121, 101, 97, 114, 32, 61, 32, 110, 101, 119, 73, 110, 116, 101, 114, 118, 97, 108, 40, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 77, 111, 110, 116, 104, 40, 48, 44, 32, 49, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 72, 111, 117, 114, 115, 40, 48, - 44, 32, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 100, 97, - 116, 101, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 43, 32, 115, 116, 101, 112, - 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 97, 114, - 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 101, 110, 100, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 45, 32, 115, - 116, 97, 114, 116, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 59, 10, 32, 32, 32, - 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 97, 116, 101, 46, 103, 101, 116, 70, 117, - 108, 108, 89, 101, 97, 114, 40, 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 10, 47, 47, 32, 65, - 110, 32, 111, 112, 116, 105, 109, 105, 122, 101, 100, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, - 105, 111, 110, 32, 102, 111, 114, 32, 116, 104, 105, 115, 32, 115, 105, 109, 112, 108, 101, 32, 99, 97, 115, - 101, 46, 10, 32, 32, 32, 32, 121, 101, 97, 114, 46, 101, 118, 101, 114, 121, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 33, 105, 115, 70, 105, 110, 105, 116, 101, 40, 107, 32, 61, 32, 77, 97, 116, 104, 46, 102, - 108, 111, 111, 114, 40, 107, 41, 41, 32, 124, 124, 32, 33, 40, 107, 32, 62, 32, 48, 41, 32, 63, 32, - 110, 117, 108, 108, 32, 58, 32, 110, 101, 119, 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 77, 97, 116, 104, - 46, 102, 108, 111, 111, 114, 40, 100, 97, 116, 101, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, - 40, 41, 32, 47, 32, 107, 41, 32, 42, 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 77, 111, 110, 116, 104, 40, 48, 44, 32, 49, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 72, 111, - 117, 114, 115, 40, 48, 44, 32, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, - 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, - 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 100, 97, 116, 101, 46, 103, 101, 116, 70, 117, 108, 108, - 89, 101, 97, 114, 40, 41, 32, 43, 32, 115, 116, 101, 112, 32, 42, 32, 107, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 121, 101, 97, 114, 115, 32, 61, 32, 121, 101, 97, 114, 46, 114, 97, 110, 103, 101, 59, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 77, 105, 110, 117, 116, 101, 32, 61, 32, 110, 101, 119, 73, - 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 83, 101, - 99, 111, 110, 100, 115, 40, 48, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 84, 105, 109, 101, 40, 43, 100, 97, 116, 101, - 32, 43, 32, 115, 116, 101, 112, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 77, 105, 110, 117, 116, - 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 97, - 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 40, 101, 110, 100, 32, 45, 32, 115, 116, 97, 114, 116, 41, 32, 47, 32, 100, 117, 114, 97, - 116, 105, 111, 110, 77, 105, 110, 117, 116, 101, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 77, 105, 110, 117, 116, 101, 115, - 40, 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, - 77, 105, 110, 117, 116, 101, 115, 32, 61, 32, 117, 116, 99, 77, 105, 110, 117, 116, 101, 46, 114, 97, 110, - 103, 101, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 72, 111, 117, 114, 32, 61, 32, - 110, 101, 119, 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, - 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 85, - 84, 67, 77, 105, 110, 117, 116, 101, 115, 40, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 32, 32, 32, - 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 84, 105, 109, - 101, 40, 43, 100, 97, 116, 101, 32, 43, 32, 115, 116, 101, 112, 32, 42, 32, 100, 117, 114, 97, 116, 105, - 111, 110, 72, 111, 117, 114, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 40, 101, 110, 100, 32, 45, 32, 115, 116, 97, 114, 116, 41, 32, 47, - 32, 100, 117, 114, 97, 116, 105, 111, 110, 72, 111, 117, 114, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 72, 111, 117, 114, - 115, 40, 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, - 99, 72, 111, 117, 114, 115, 32, 61, 32, 117, 116, 99, 72, 111, 117, 114, 46, 114, 97, 110, 103, 101, 59, - 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 68, 97, 121, 32, 61, 32, 110, 101, 119, 73, - 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 72, 111, - 117, 114, 115, 40, 48, 44, 32, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 125, 44, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 68, 97, 116, - 101, 40, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 68, 97, 116, 101, 40, 41, 32, 43, 32, 115, - 116, 101, 112, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, - 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 40, 101, 110, 100, 32, 45, 32, 115, 116, 97, 114, 116, 41, 32, 47, 32, 100, 117, - 114, 97, 116, 105, 111, 110, 68, 97, 121, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 68, 97, 116, 101, 40, 41, 32, 45, - 32, 49, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, - 68, 97, 121, 115, 32, 61, 32, 117, 116, 99, 68, 97, 121, 46, 114, 97, 110, 103, 101, 59, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 117, 116, 99, 87, 101, 101, 107, 100, 97, 121, 40, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, - 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, - 85, 84, 67, 68, 97, 116, 101, 40, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 68, 97, 116, 101, - 40, 41, 32, 45, 32, 40, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 68, 97, 121, 40, 41, 32, - 43, 32, 55, 32, 45, 32, 105, 41, 32, 37, 32, 55, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 72, 111, 117, 114, 115, 40, 48, 44, - 32, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 68, - 97, 116, 101, 40, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 68, 97, 116, 101, 40, 41, 32, 43, - 32, 115, 116, 101, 112, 32, 42, 32, 55, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 101, 110, 100, - 32, 45, 32, 115, 116, 97, 114, 116, 41, 32, 47, 32, 100, 117, 114, 97, 116, 105, 111, 110, 87, 101, 101, - 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 83, 117, 110, 100, 97, 121, 32, 61, 32, 117, 116, 99, 87, - 101, 101, 107, 100, 97, 121, 40, 48, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 77, - 111, 110, 100, 97, 121, 32, 61, 32, 117, 116, 99, 87, 101, 101, 107, 100, 97, 121, 40, 49, 41, 59, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 84, 117, 101, 115, 100, 97, 121, 32, 61, 32, 117, 116, - 99, 87, 101, 101, 107, 100, 97, 121, 40, 50, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, - 99, 87, 101, 100, 110, 101, 115, 100, 97, 121, 32, 61, 32, 117, 116, 99, 87, 101, 101, 107, 100, 97, 121, - 40, 51, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 84, 104, 117, 114, 115, 100, 97, - 121, 32, 61, 32, 117, 116, 99, 87, 101, 101, 107, 100, 97, 121, 40, 52, 41, 59, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 117, 116, 99, 70, 114, 105, 100, 97, 121, 32, 61, 32, 117, 116, 99, 87, 101, 101, 107, - 100, 97, 121, 40, 53, 41, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 83, 97, 116, 117, - 114, 100, 97, 121, 32, 61, 32, 117, 116, 99, 87, 101, 101, 107, 100, 97, 121, 40, 54, 41, 59, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 83, 117, 110, 100, 97, 121, 115, 32, 61, 32, 117, 116, - 99, 83, 117, 110, 100, 97, 121, 46, 114, 97, 110, 103, 101, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 117, 116, 99, 77, 111, 110, 100, 97, 121, 115, 32, 61, 32, 117, 116, 99, 77, 111, 110, 100, 97, 121, 46, - 114, 97, 110, 103, 101, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 84, 117, 101, 115, 100, - 97, 121, 115, 32, 61, 32, 117, 116, 99, 84, 117, 101, 115, 100, 97, 121, 46, 114, 97, 110, 103, 101, 59, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 87, 101, 100, 110, 101, 115, 100, 97, 121, 115, 32, - 61, 32, 117, 116, 99, 87, 101, 100, 110, 101, 115, 100, 97, 121, 46, 114, 97, 110, 103, 101, 59, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 84, 104, 117, 114, 115, 100, 97, 121, 115, 32, 61, 32, 117, - 116, 99, 84, 104, 117, 114, 115, 100, 97, 121, 46, 114, 97, 110, 103, 101, 59, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 117, 116, 99, 70, 114, 105, 100, 97, 121, 115, 32, 61, 32, 117, 116, 99, 70, 114, 105, 100, - 97, 121, 46, 114, 97, 110, 103, 101, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 83, 97, - 116, 117, 114, 100, 97, 121, 115, 32, 61, 32, 117, 116, 99, 83, 97, 116, 117, 114, 100, 97, 121, 46, 114, - 97, 110, 103, 101, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 77, 111, 110, 116, 104, - 32, 61, 32, 110, 101, 119, 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, - 101, 116, 85, 84, 67, 68, 97, 116, 101, 40, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 72, 111, 117, 114, 115, 40, 48, 44, 32, 48, 44, 32, 48, - 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, - 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, - 116, 101, 46, 115, 101, 116, 85, 84, 67, 77, 111, 110, 116, 104, 40, 100, 97, 116, 101, 46, 103, 101, 116, - 85, 84, 67, 77, 111, 110, 116, 104, 40, 41, 32, 43, 32, 115, 116, 101, 112, 41, 59, 10, 32, 32, 32, - 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 110, 100, 46, - 103, 101, 116, 85, 84, 67, 77, 111, 110, 116, 104, 40, 41, 32, 45, 32, 115, 116, 97, 114, 116, 46, 103, - 101, 116, 85, 84, 67, 77, 111, 110, 116, 104, 40, 41, 32, 43, 32, 40, 101, 110, 100, 46, 103, 101, 116, - 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 45, 32, 115, 116, 97, 114, 116, 46, 103, - 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 41, 32, 42, 32, 49, 50, 59, 10, - 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 97, 116, 101, 46, 103, 101, - 116, 85, 84, 67, 77, 111, 110, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, - 32, 32, 118, 97, 114, 32, 117, 116, 99, 77, 111, 110, 116, 104, 115, 32, 61, 32, 117, 116, 99, 77, 111, - 110, 116, 104, 46, 114, 97, 110, 103, 101, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, - 89, 101, 97, 114, 32, 61, 32, 110, 101, 119, 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, - 116, 101, 46, 115, 101, 116, 85, 84, 67, 77, 111, 110, 116, 104, 40, 48, 44, 32, 49, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 72, 111, 117, 114, 115, - 40, 48, 44, 32, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, - 97, 114, 40, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, 40, - 41, 32, 43, 32, 115, 116, 101, 112, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 110, 100, 46, 103, 101, 116, 85, 84, 67, 70, 117, 108, - 108, 89, 101, 97, 114, 40, 41, 32, 45, 32, 115, 116, 97, 114, 116, 46, 103, 101, 116, 85, 84, 67, 70, - 117, 108, 108, 89, 101, 97, 114, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, - 40, 41, 59, 10, 32, 32, 32, 32, 125, 41, 59, 10, 10, 47, 47, 32, 65, 110, 32, 111, 112, 116, 105, - 109, 105, 122, 101, 100, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 102, 111, - 114, 32, 116, 104, 105, 115, 32, 115, 105, 109, 112, 108, 101, 32, 99, 97, 115, 101, 46, 10, 32, 32, 32, - 32, 117, 116, 99, 89, 101, 97, 114, 46, 101, 118, 101, 114, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 33, 105, 115, 70, 105, 110, 105, 116, 101, 40, 107, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, - 114, 40, 107, 41, 41, 32, 124, 124, 32, 33, 40, 107, 32, 62, 32, 48, 41, 32, 63, 32, 110, 117, 108, - 108, 32, 58, 32, 110, 101, 119, 73, 110, 116, 101, 114, 118, 97, 108, 40, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, 40, 77, 97, 116, 104, - 46, 102, 108, 111, 111, 114, 40, 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, - 101, 97, 114, 40, 41, 32, 47, 32, 107, 41, 32, 42, 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 77, 111, 110, 116, 104, 40, - 48, 44, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, - 46, 115, 101, 116, 85, 84, 67, 72, 111, 117, 114, 115, 40, 48, 44, 32, 48, 44, 32, 48, 44, 32, 48, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 100, 97, 116, 101, 44, 32, 115, 116, 101, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, 40, - 100, 97, 116, 101, 46, 103, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 43, - 32, 115, 116, 101, 112, 32, 42, 32, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, - 10, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 89, 101, 97, 114, - 115, 32, 61, 32, 117, 116, 99, 89, 101, 97, 114, 46, 114, 97, 110, 103, 101, 59, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 105, 99, 107, 101, 114, 40, 121, 101, 97, 114, 44, 32, - 109, 111, 110, 116, 104, 44, 32, 119, 101, 101, 107, 44, 32, 100, 97, 121, 44, 32, 104, 111, 117, 114, 44, - 32, 109, 105, 110, 117, 116, 101, 41, 32, 123, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 115, 116, 32, 116, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, 115, 32, 61, 32, 91, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 115, 101, 99, 111, 110, 100, 44, 32, 32, 49, 44, 32, - 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, 105, 111, 110, 83, 101, 99, 111, 110, 100, 93, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 115, 101, 99, 111, 110, 100, 44, 32, 32, 53, 44, - 32, 32, 53, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 83, 101, 99, 111, 110, 100, 93, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 115, 101, 99, 111, 110, 100, 44, 32, 49, 53, - 44, 32, 49, 53, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 83, 101, 99, 111, 110, 100, 93, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 115, 101, 99, 111, 110, 100, 44, 32, 51, - 48, 44, 32, 51, 48, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 83, 101, 99, 111, 110, 100, 93, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 109, 105, 110, 117, 116, 101, 44, 32, - 32, 49, 44, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, 105, 111, 110, 77, 105, 110, 117, 116, 101, - 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 109, 105, 110, 117, 116, 101, 44, - 32, 32, 53, 44, 32, 32, 53, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 77, 105, 110, 117, 116, - 101, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 109, 105, 110, 117, 116, 101, - 44, 32, 49, 53, 44, 32, 49, 53, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 77, 105, 110, 117, - 116, 101, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 109, 105, 110, 117, 116, - 101, 44, 32, 51, 48, 44, 32, 51, 48, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 77, 105, 110, - 117, 116, 101, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 32, 32, 104, 111, - 117, 114, 44, 32, 32, 49, 44, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, 105, 111, 110, 72, 111, - 117, 114, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 32, 32, 104, - 111, 117, 114, 44, 32, 32, 51, 44, 32, 32, 51, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, 72, - 111, 117, 114, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 32, 32, - 104, 111, 117, 114, 44, 32, 32, 54, 44, 32, 32, 54, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, 110, - 72, 111, 117, 114, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 32, - 32, 104, 111, 117, 114, 44, 32, 49, 50, 44, 32, 49, 50, 32, 42, 32, 100, 117, 114, 97, 116, 105, 111, - 110, 72, 111, 117, 114, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, - 32, 32, 32, 100, 97, 121, 44, 32, 32, 49, 44, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, 105, - 111, 110, 68, 97, 121, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 91, 32, 32, 32, 100, 97, 121, 44, 32, 32, 50, 44, 32, 32, 50, 32, 42, 32, 100, 117, 114, 97, 116, - 105, 111, 110, 68, 97, 121, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 91, 32, 32, 119, 101, 101, 107, 44, 32, 32, 49, 44, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, - 116, 105, 111, 110, 87, 101, 101, 107, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 91, 32, 109, 111, 110, 116, 104, 44, 32, 32, 49, 44, 32, 32, 32, 32, 32, 32, 100, 117, 114, - 97, 116, 105, 111, 110, 77, 111, 110, 116, 104, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 91, 32, 109, 111, 110, 116, 104, 44, 32, 32, 51, 44, 32, 32, 51, 32, 42, 32, 100, 117, - 114, 97, 116, 105, 111, 110, 77, 111, 110, 116, 104, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 91, 32, 32, 121, 101, 97, 114, 44, 32, 32, 49, 44, 32, 32, 32, 32, 32, 32, 100, - 117, 114, 97, 116, 105, 111, 110, 89, 101, 97, 114, 32, 32, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 105, - 99, 107, 115, 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 44, 32, 99, 111, 117, 110, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, - 118, 101, 114, 115, 101, 32, 61, 32, 115, 116, 111, 112, 32, 60, 32, 115, 116, 97, 114, 116, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 101, 118, 101, 114, 115, 101, 41, - 32, 91, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 93, 32, 61, 32, 91, 115, 116, 111, 112, 44, - 32, 115, 116, 97, 114, 116, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 105, 110, 116, 101, 114, 118, 97, 108, 32, 61, 32, 99, 111, 117, 110, 116, 32, 38, 38, - 32, 116, 121, 112, 101, 111, 102, 32, 99, 111, 117, 110, 116, 46, 114, 97, 110, 103, 101, 32, 61, 61, 61, - 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 99, 111, 117, 110, 116, 32, 58, 32, 116, - 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, - 44, 32, 99, 111, 117, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 115, 116, 32, 116, 105, 99, 107, 115, 32, 61, 32, 105, 110, 116, 101, 114, 118, 97, 108, 32, 63, - 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 114, 97, 110, 103, 101, 40, 115, 116, 97, 114, 116, 44, 32, - 43, 115, 116, 111, 112, 32, 43, 32, 49, 41, 32, 58, 32, 91, 93, 59, 32, 47, 47, 32, 105, 110, 99, - 108, 117, 115, 105, 118, 101, 32, 115, 116, 111, 112, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 118, 101, 114, 115, 101, 32, 63, 32, 116, 105, 99, 107, 115, - 46, 114, 101, 118, 101, 114, 115, 101, 40, 41, 32, 58, 32, 116, 105, 99, 107, 115, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 116, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, 40, 115, 116, 97, 114, 116, 44, 32, 115, - 116, 111, 112, 44, 32, 99, 111, 117, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 97, 114, 103, 101, 116, 32, 61, 32, 77, 97, 116, 104, 46, - 97, 98, 115, 40, 115, 116, 111, 112, 32, 45, 32, 115, 116, 97, 114, 116, 41, 32, 47, 32, 99, 111, 117, - 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, - 32, 61, 32, 98, 105, 115, 101, 99, 116, 111, 114, 40, 40, 91, 44, 44, 32, 115, 116, 101, 112, 93, 41, - 32, 61, 62, 32, 115, 116, 101, 112, 41, 46, 114, 105, 103, 104, 116, 40, 116, 105, 99, 107, 73, 110, 116, - 101, 114, 118, 97, 108, 115, 44, 32, 116, 97, 114, 103, 101, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 61, 61, 61, 32, 116, 105, 99, 107, 73, 110, 116, - 101, 114, 118, 97, 108, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 121, - 101, 97, 114, 46, 101, 118, 101, 114, 121, 40, 116, 105, 99, 107, 83, 116, 101, 112, 40, 115, 116, 97, 114, - 116, 32, 47, 32, 100, 117, 114, 97, 116, 105, 111, 110, 89, 101, 97, 114, 44, 32, 115, 116, 111, 112, 32, - 47, 32, 100, 117, 114, 97, 116, 105, 111, 110, 89, 101, 97, 114, 44, 32, 99, 111, 117, 110, 116, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 61, 61, 61, - 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 32, 109, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 46, - 101, 118, 101, 114, 121, 40, 77, 97, 116, 104, 46, 109, 97, 120, 40, 116, 105, 99, 107, 83, 116, 101, 112, - 40, 115, 116, 97, 114, 116, 44, 32, 115, 116, 111, 112, 44, 32, 99, 111, 117, 110, 116, 41, 44, 32, 49, - 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 91, - 116, 44, 32, 115, 116, 101, 112, 93, 32, 61, 32, 116, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, - 115, 91, 116, 97, 114, 103, 101, 116, 32, 47, 32, 116, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, - 115, 91, 105, 32, 45, 32, 49, 93, 91, 50, 93, 32, 60, 32, 116, 105, 99, 107, 73, 110, 116, 101, 114, - 118, 97, 108, 115, 91, 105, 93, 91, 50, 93, 32, 47, 32, 116, 97, 114, 103, 101, 116, 32, 63, 32, 105, - 32, 45, 32, 49, 32, 58, 32, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 116, 46, 101, 118, 101, 114, 121, 40, 115, 116, 101, 112, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 91, 116, 105, 99, 107, 115, 44, 32, 116, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, 93, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 91, 117, 116, 99, - 84, 105, 99, 107, 115, 44, 32, 117, 116, 99, 84, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, 93, - 32, 61, 32, 116, 105, 99, 107, 101, 114, 40, 117, 116, 99, 89, 101, 97, 114, 44, 32, 117, 116, 99, 77, - 111, 110, 116, 104, 44, 32, 117, 116, 99, 83, 117, 110, 100, 97, 121, 44, 32, 117, 116, 99, 68, 97, 121, - 44, 32, 117, 116, 99, 72, 111, 117, 114, 44, 32, 117, 116, 99, 77, 105, 110, 117, 116, 101, 41, 59, 10, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 91, 116, 105, 109, 101, 84, 105, 99, 107, 115, 44, 32, 116, - 105, 109, 101, 84, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, 93, 32, 61, 32, 116, 105, 99, 107, - 101, 114, 40, 121, 101, 97, 114, 44, 32, 109, 111, 110, 116, 104, 44, 32, 115, 117, 110, 100, 97, 121, 44, - 32, 100, 97, 121, 44, 32, 104, 111, 117, 114, 44, 32, 109, 105, 110, 117, 116, 101, 41, 59, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 111, 99, 97, 108, 68, 97, 116, 101, 40, 100, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 48, 32, 60, 61, 32, 100, 46, - 121, 32, 38, 38, 32, 100, 46, 121, 32, 60, 32, 49, 48, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, 116, 101, 32, 61, 32, 110, 101, 119, 32, 68, - 97, 116, 101, 40, 45, 49, 44, 32, 100, 46, 109, 44, 32, 100, 46, 100, 44, 32, 100, 46, 72, 44, 32, - 100, 46, 77, 44, 32, 100, 46, 83, 44, 32, 100, 46, 76, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 100, - 46, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 100, 97, 116, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 100, 46, 121, 44, 32, - 100, 46, 109, 44, 32, 100, 46, 100, 44, 32, 100, 46, 72, 44, 32, 100, 46, 77, 44, 32, 100, 46, 83, - 44, 32, 100, 46, 76, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 117, 116, 99, 68, 97, 116, 101, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 48, 32, 60, 61, 32, 100, 46, 121, 32, 38, 38, 32, 100, 46, 121, 32, - 60, 32, 49, 48, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 100, 97, 116, 101, 32, 61, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 68, 97, 116, 101, 46, - 85, 84, 67, 40, 45, 49, 44, 32, 100, 46, 109, 44, 32, 100, 46, 100, 44, 32, 100, 46, 72, 44, 32, - 100, 46, 77, 44, 32, 100, 46, 83, 44, 32, 100, 46, 76, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 46, 115, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, - 97, 114, 40, 100, 46, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 100, 97, 116, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 68, - 97, 116, 101, 46, 85, 84, 67, 40, 100, 46, 121, 44, 32, 100, 46, 109, 44, 32, 100, 46, 100, 44, 32, - 100, 46, 72, 44, 32, 100, 46, 77, 44, 32, 100, 46, 83, 44, 32, 100, 46, 76, 41, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 101, 119, 68, - 97, 116, 101, 40, 121, 44, 32, 109, 44, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 123, 121, 58, 32, 121, 44, 32, 109, 58, 32, 109, 44, 32, 100, 58, 32, - 100, 44, 32, 72, 58, 32, 48, 44, 32, 77, 58, 32, 48, 44, 32, 83, 58, 32, 48, 44, 32, 76, 58, - 32, 48, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 102, 111, 114, 109, 97, 116, 76, 111, 99, 97, 108, 101, 40, 108, 111, 99, 97, 108, 101, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 111, 99, 97, 108, 101, 95, 100, 97, - 116, 101, 84, 105, 109, 101, 32, 61, 32, 108, 111, 99, 97, 108, 101, 46, 100, 97, 116, 101, 84, 105, 109, - 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 99, 97, 108, 101, 95, 100, - 97, 116, 101, 32, 61, 32, 108, 111, 99, 97, 108, 101, 46, 100, 97, 116, 101, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 99, 97, 108, 101, 95, 116, 105, 109, 101, 32, 61, 32, 108, - 111, 99, 97, 108, 101, 46, 116, 105, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 111, 99, 97, 108, 101, 95, 112, 101, 114, 105, 111, 100, 115, 32, 61, 32, 108, 111, 99, 97, 108, - 101, 46, 112, 101, 114, 105, 111, 100, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 111, 99, 97, 108, 101, 95, 119, 101, 101, 107, 100, 97, 121, 115, 32, 61, 32, 108, 111, 99, 97, 108, - 101, 46, 100, 97, 121, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 99, - 97, 108, 101, 95, 115, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 115, 32, 61, 32, 108, 111, 99, - 97, 108, 101, 46, 115, 104, 111, 114, 116, 68, 97, 121, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 111, 99, 97, 108, 101, 95, 109, 111, 110, 116, 104, 115, 32, 61, 32, 108, 111, 99, - 97, 108, 101, 46, 109, 111, 110, 116, 104, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 111, 99, 97, 108, 101, 95, 115, 104, 111, 114, 116, 77, 111, 110, 116, 104, 115, 32, 61, 32, 108, - 111, 99, 97, 108, 101, 46, 115, 104, 111, 114, 116, 77, 111, 110, 116, 104, 115, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 101, 114, 105, 111, 100, 82, 101, 32, 61, 32, 102, 111, 114, - 109, 97, 116, 82, 101, 40, 108, 111, 99, 97, 108, 101, 95, 112, 101, 114, 105, 111, 100, 115, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 101, 114, 105, 111, 100, 76, 111, 111, 107, 117, - 112, 32, 61, 32, 102, 111, 114, 109, 97, 116, 76, 111, 111, 107, 117, 112, 40, 108, 111, 99, 97, 108, 101, - 95, 112, 101, 114, 105, 111, 100, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 119, 101, 101, 107, 100, 97, 121, 82, 101, 32, 61, 32, 102, 111, 114, 109, 97, 116, 82, 101, 40, 108, 111, - 99, 97, 108, 101, 95, 119, 101, 101, 107, 100, 97, 121, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 101, 101, 107, 100, 97, 121, 76, 111, 111, 107, 117, 112, 32, 61, 32, 102, 111, - 114, 109, 97, 116, 76, 111, 111, 107, 117, 112, 40, 108, 111, 99, 97, 108, 101, 95, 119, 101, 101, 107, 100, - 97, 121, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 104, 111, 114, 116, - 87, 101, 101, 107, 100, 97, 121, 82, 101, 32, 61, 32, 102, 111, 114, 109, 97, 116, 82, 101, 40, 108, 111, - 99, 97, 108, 101, 95, 115, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 115, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 76, - 111, 111, 107, 117, 112, 32, 61, 32, 102, 111, 114, 109, 97, 116, 76, 111, 111, 107, 117, 112, 40, 108, 111, - 99, 97, 108, 101, 95, 115, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 115, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 110, 116, 104, 82, 101, 32, 61, 32, 102, 111, 114, - 109, 97, 116, 82, 101, 40, 108, 111, 99, 97, 108, 101, 95, 109, 111, 110, 116, 104, 115, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 110, 116, 104, 76, 111, 111, 107, 117, 112, 32, - 61, 32, 102, 111, 114, 109, 97, 116, 76, 111, 111, 107, 117, 112, 40, 108, 111, 99, 97, 108, 101, 95, 109, - 111, 110, 116, 104, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 104, 111, - 114, 116, 77, 111, 110, 116, 104, 82, 101, 32, 61, 32, 102, 111, 114, 109, 97, 116, 82, 101, 40, 108, 111, - 99, 97, 108, 101, 95, 115, 104, 111, 114, 116, 77, 111, 110, 116, 104, 115, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 104, 111, 114, 116, 77, 111, 110, 116, 104, 76, 111, 111, 107, 117, - 112, 32, 61, 32, 102, 111, 114, 109, 97, 116, 76, 111, 111, 107, 117, 112, 40, 108, 111, 99, 97, 108, 101, - 95, 115, 104, 111, 114, 116, 77, 111, 110, 116, 104, 115, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 102, 111, 114, 109, 97, 116, 115, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 97, 34, 58, 32, 102, 111, 114, 109, 97, 116, 83, 104, 111, 114, 116, 87, - 101, 101, 107, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 65, 34, - 58, 32, 102, 111, 114, 109, 97, 116, 87, 101, 101, 107, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 98, 34, 58, 32, 102, 111, 114, 109, 97, 116, 83, 104, 111, 114, 116, 77, - 111, 110, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 66, 34, 58, 32, - 102, 111, 114, 109, 97, 116, 77, 111, 110, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 99, 34, 58, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 100, 34, 58, 32, 102, 111, 114, 109, 97, 116, 68, 97, 121, 79, 102, 77, 111, 110, 116, 104, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 34, 58, 32, 102, 111, 114, 109, - 97, 116, 68, 97, 121, 79, 102, 77, 111, 110, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 102, 34, 58, 32, 102, 111, 114, 109, 97, 116, 77, 105, 99, 114, 111, 115, 101, 99, 111, - 110, 100, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 103, 34, 58, 32, 102, - 111, 114, 109, 97, 116, 89, 101, 97, 114, 73, 83, 79, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 71, 34, 58, 32, 102, 111, 114, 109, 97, 116, 70, 117, 108, 108, 89, 101, 97, 114, 73, - 83, 79, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 72, 34, 58, 32, 102, 111, - 114, 109, 97, 116, 72, 111, 117, 114, 50, 52, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 73, 34, 58, 32, 102, 111, 114, 109, 97, 116, 72, 111, 117, 114, 49, 50, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 106, 34, 58, 32, 102, 111, 114, 109, 97, 116, 68, 97, 121, - 79, 102, 89, 101, 97, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 76, 34, - 58, 32, 102, 111, 114, 109, 97, 116, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 109, 34, 58, 32, 102, 111, 114, 109, 97, 116, 77, - 111, 110, 116, 104, 78, 117, 109, 98, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 77, 34, 58, 32, 102, 111, 114, 109, 97, 116, 77, 105, 110, 117, 116, 101, 115, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, 34, 58, 32, 102, 111, 114, 109, 97, 116, 80, 101, - 114, 105, 111, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 113, 34, 58, 32, - 102, 111, 114, 109, 97, 116, 81, 117, 97, 114, 116, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 81, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 110, 105, 120, 84, 105, 109, 101, - 115, 116, 97, 109, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 34, 58, - 32, 102, 111, 114, 109, 97, 116, 85, 110, 105, 120, 84, 105, 109, 101, 115, 116, 97, 109, 112, 83, 101, 99, - 111, 110, 100, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 83, 34, 58, 32, - 102, 111, 114, 109, 97, 116, 83, 101, 99, 111, 110, 100, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 117, 34, 58, 32, 102, 111, 114, 109, 97, 116, 87, 101, 101, 107, 100, 97, 121, 78, - 117, 109, 98, 101, 114, 77, 111, 110, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 85, 34, 58, 32, 102, 111, 114, 109, 97, 116, 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, - 83, 117, 110, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 86, 34, - 58, 32, 102, 111, 114, 109, 97, 116, 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, 73, 83, 79, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 119, 34, 58, 32, 102, 111, 114, 109, 97, 116, - 87, 101, 101, 107, 100, 97, 121, 78, 117, 109, 98, 101, 114, 83, 117, 110, 100, 97, 121, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 87, 34, 58, 32, 102, 111, 114, 109, 97, 116, 87, 101, - 101, 107, 78, 117, 109, 98, 101, 114, 77, 111, 110, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 120, 34, 58, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 88, 34, 58, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 121, 34, 58, 32, 102, 111, 114, 109, 97, 116, 89, 101, 97, 114, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 89, 34, 58, 32, 102, 111, 114, 109, 97, 116, 70, - 117, 108, 108, 89, 101, 97, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 90, - 34, 58, 32, 102, 111, 114, 109, 97, 116, 90, 111, 110, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 37, 34, 58, 32, 102, 111, 114, 109, 97, 116, 76, 105, 116, 101, 114, 97, 108, 80, - 101, 114, 99, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 117, 116, 99, 70, 111, 114, 109, 97, 116, 115, 32, 61, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 97, 34, 58, 32, 102, 111, 114, 109, 97, 116, - 85, 84, 67, 83, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 65, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 87, 101, 101, - 107, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 98, 34, 58, 32, - 102, 111, 114, 109, 97, 116, 85, 84, 67, 83, 104, 111, 114, 116, 77, 111, 110, 116, 104, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 66, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, - 67, 77, 111, 110, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 99, 34, - 58, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 34, - 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 68, 97, 121, 79, 102, 77, 111, 110, 116, 104, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 34, 58, 32, 102, 111, 114, 109, 97, 116, - 85, 84, 67, 68, 97, 121, 79, 102, 77, 111, 110, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 102, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 77, 105, 99, 114, 111, - 115, 101, 99, 111, 110, 100, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 103, - 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 89, 101, 97, 114, 73, 83, 79, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 71, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, - 67, 70, 117, 108, 108, 89, 101, 97, 114, 73, 83, 79, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 72, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 72, 111, 117, 114, 50, 52, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 73, 34, 58, 32, 102, 111, 114, 109, - 97, 116, 85, 84, 67, 72, 111, 117, 114, 49, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 106, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 68, 97, 121, 79, 102, 89, 101, - 97, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 76, 34, 58, 32, 102, 111, - 114, 109, 97, 116, 85, 84, 67, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 109, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, - 67, 77, 111, 110, 116, 104, 78, 117, 109, 98, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 77, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 77, 105, 110, 117, 116, 101, - 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, 34, 58, 32, 102, 111, 114, - 109, 97, 116, 85, 84, 67, 80, 101, 114, 105, 111, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 113, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 81, 117, 97, 114, 116, 101, - 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 81, 34, 58, 32, 102, 111, 114, - 109, 97, 116, 85, 110, 105, 120, 84, 105, 109, 101, 115, 116, 97, 109, 112, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 115, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 110, 105, 120, 84, - 105, 109, 101, 115, 116, 97, 109, 112, 83, 101, 99, 111, 110, 100, 115, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 83, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 83, 101, 99, - 111, 110, 100, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 117, 34, 58, 32, - 102, 111, 114, 109, 97, 116, 85, 84, 67, 87, 101, 101, 107, 100, 97, 121, 78, 117, 109, 98, 101, 114, 77, - 111, 110, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 85, 34, 58, - 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, 83, 117, 110, - 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 86, 34, 58, 32, 102, - 111, 114, 109, 97, 116, 85, 84, 67, 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, 73, 83, 79, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 119, 34, 58, 32, 102, 111, 114, 109, 97, 116, - 85, 84, 67, 87, 101, 101, 107, 100, 97, 121, 78, 117, 109, 98, 101, 114, 83, 117, 110, 100, 97, 121, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 87, 34, 58, 32, 102, 111, 114, 109, 97, - 116, 85, 84, 67, 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, 77, 111, 110, 100, 97, 121, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 120, 34, 58, 32, 110, 117, 108, 108, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 88, 34, 58, 32, 110, 117, 108, 108, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 121, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, - 84, 67, 89, 101, 97, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 89, 34, - 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 90, 34, 58, 32, 102, 111, 114, 109, 97, 116, 85, 84, - 67, 90, 111, 110, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 34, 58, - 32, 102, 111, 114, 109, 97, 116, 76, 105, 116, 101, 114, 97, 108, 80, 101, 114, 99, 101, 110, 116, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 112, 97, 114, 115, 101, 115, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 34, 97, 34, 58, 32, 112, 97, 114, 115, 101, 83, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 65, 34, 58, 32, 112, 97, 114, 115, 101, - 87, 101, 101, 107, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 98, - 34, 58, 32, 112, 97, 114, 115, 101, 83, 104, 111, 114, 116, 77, 111, 110, 116, 104, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 66, 34, 58, 32, 112, 97, 114, 115, 101, 77, 111, 110, 116, - 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 99, 34, 58, 32, 112, 97, 114, - 115, 101, 76, 111, 99, 97, 108, 101, 68, 97, 116, 101, 84, 105, 109, 101, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 100, 34, 58, 32, 112, 97, 114, 115, 101, 68, 97, 121, 79, 102, 77, - 111, 110, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 34, 58, 32, - 112, 97, 114, 115, 101, 68, 97, 121, 79, 102, 77, 111, 110, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 102, 34, 58, 32, 112, 97, 114, 115, 101, 77, 105, 99, 114, 111, 115, 101, - 99, 111, 110, 100, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 103, 34, 58, - 32, 112, 97, 114, 115, 101, 89, 101, 97, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 71, 34, 58, 32, 112, 97, 114, 115, 101, 70, 117, 108, 108, 89, 101, 97, 114, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 72, 34, 58, 32, 112, 97, 114, 115, 101, 72, 111, 117, - 114, 50, 52, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 73, 34, 58, 32, 112, - 97, 114, 115, 101, 72, 111, 117, 114, 50, 52, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 106, 34, 58, 32, 112, 97, 114, 115, 101, 68, 97, 121, 79, 102, 89, 101, 97, 114, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 76, 34, 58, 32, 112, 97, 114, 115, 101, 77, 105, - 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 109, 34, 58, 32, 112, 97, 114, 115, 101, 77, 111, 110, 116, 104, 78, 117, 109, 98, 101, 114, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 77, 34, 58, 32, 112, 97, 114, 115, 101, - 77, 105, 110, 117, 116, 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, - 34, 58, 32, 112, 97, 114, 115, 101, 80, 101, 114, 105, 111, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 113, 34, 58, 32, 112, 97, 114, 115, 101, 81, 117, 97, 114, 116, 101, 114, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 81, 34, 58, 32, 112, 97, 114, 115, 101, - 85, 110, 105, 120, 84, 105, 109, 101, 115, 116, 97, 109, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 115, 34, 58, 32, 112, 97, 114, 115, 101, 85, 110, 105, 120, 84, 105, 109, 101, 115, - 116, 97, 109, 112, 83, 101, 99, 111, 110, 100, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 83, 34, 58, 32, 112, 97, 114, 115, 101, 83, 101, 99, 111, 110, 100, 115, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 117, 34, 58, 32, 112, 97, 114, 115, 101, 87, 101, 101, - 107, 100, 97, 121, 78, 117, 109, 98, 101, 114, 77, 111, 110, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 85, 34, 58, 32, 112, 97, 114, 115, 101, 87, 101, 101, 107, 78, 117, - 109, 98, 101, 114, 83, 117, 110, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 86, 34, 58, 32, 112, 97, 114, 115, 101, 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, 73, 83, - 79, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 119, 34, 58, 32, 112, 97, 114, - 115, 101, 87, 101, 101, 107, 100, 97, 121, 78, 117, 109, 98, 101, 114, 83, 117, 110, 100, 97, 121, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 87, 34, 58, 32, 112, 97, 114, 115, 101, 87, - 101, 101, 107, 78, 117, 109, 98, 101, 114, 77, 111, 110, 100, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 120, 34, 58, 32, 112, 97, 114, 115, 101, 76, 111, 99, 97, 108, 101, 68, - 97, 116, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 88, 34, 58, 32, 112, - 97, 114, 115, 101, 76, 111, 99, 97, 108, 101, 84, 105, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 121, 34, 58, 32, 112, 97, 114, 115, 101, 89, 101, 97, 114, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 89, 34, 58, 32, 112, 97, 114, 115, 101, 70, 117, 108, - 108, 89, 101, 97, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 90, 34, 58, - 32, 112, 97, 114, 115, 101, 90, 111, 110, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 37, 34, 58, 32, 112, 97, 114, 115, 101, 76, 105, 116, 101, 114, 97, 108, 80, 101, 114, 99, 101, - 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 47, 47, 32, 84, 104, 101, 115, 101, 32, 114, 101, 99, 117, 114, 115, 105, 118, 101, 32, 100, 105, 114, 101, - 99, 116, 105, 118, 101, 32, 100, 101, 102, 105, 110, 105, 116, 105, 111, 110, 115, 32, 109, 117, 115, 116, 32, - 98, 101, 32, 100, 101, 102, 101, 114, 114, 101, 100, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 109, 97, 116, 115, 46, 120, 32, 61, 32, 110, 101, 119, 70, 111, 114, 109, 97, 116, 40, 108, 111, 99, - 97, 108, 101, 95, 100, 97, 116, 101, 44, 32, 102, 111, 114, 109, 97, 116, 115, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 115, 46, 88, 32, 61, 32, 110, 101, 119, 70, 111, 114, - 109, 97, 116, 40, 108, 111, 99, 97, 108, 101, 95, 116, 105, 109, 101, 44, 32, 102, 111, 114, 109, 97, 116, - 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 115, 46, 99, 32, 61, - 32, 110, 101, 119, 70, 111, 114, 109, 97, 116, 40, 108, 111, 99, 97, 108, 101, 95, 100, 97, 116, 101, 84, - 105, 109, 101, 44, 32, 102, 111, 114, 109, 97, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 117, 116, 99, 70, 111, 114, 109, 97, 116, 115, 46, 120, 32, 61, 32, 110, 101, 119, 70, 111, 114, 109, 97, - 116, 40, 108, 111, 99, 97, 108, 101, 95, 100, 97, 116, 101, 44, 32, 117, 116, 99, 70, 111, 114, 109, 97, - 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 116, 99, 70, 111, 114, 109, 97, 116, 115, - 46, 88, 32, 61, 32, 110, 101, 119, 70, 111, 114, 109, 97, 116, 40, 108, 111, 99, 97, 108, 101, 95, 116, - 105, 109, 101, 44, 32, 117, 116, 99, 70, 111, 114, 109, 97, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 117, 116, 99, 70, 111, 114, 109, 97, 116, 115, 46, 99, 32, 61, 32, 110, 101, 119, 70, 111, - 114, 109, 97, 116, 40, 108, 111, 99, 97, 108, 101, 95, 100, 97, 116, 101, 84, 105, 109, 101, 44, 32, 117, - 116, 99, 70, 111, 114, 109, 97, 116, 115, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 110, 101, 119, 70, 111, 114, 109, 97, 116, 40, 115, 112, 101, 99, 105, 102, - 105, 101, 114, 44, 32, 102, 111, 114, 109, 97, 116, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 97, - 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 115, 116, 114, 105, 110, 103, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 45, 49, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 61, 32, 48, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 109, 97, 116, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 33, 40, 100, 97, 116, 101, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 68, 97, - 116, 101, 41, 41, 32, 100, 97, 116, 101, 32, 61, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 43, 100, - 97, 116, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 112, 101, 99, - 105, 102, 105, 101, 114, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 105, 41, 32, 61, 61, 61, - 32, 51, 55, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 46, 112, 117, 115, 104, 40, 115, 112, 101, - 99, 105, 102, 105, 101, 114, 46, 115, 108, 105, 99, 101, 40, 106, 44, 32, 105, 41, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 40, 112, 97, 100, 32, 61, 32, 112, 97, 100, 115, 91, 99, 32, 61, 32, 115, 112, 101, 99, - 105, 102, 105, 101, 114, 46, 99, 104, 97, 114, 65, 116, 40, 43, 43, 105, 41, 93, 41, 32, 33, 61, 32, - 110, 117, 108, 108, 41, 32, 99, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 99, 104, 97, - 114, 65, 116, 40, 43, 43, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 112, 97, 100, 32, 61, 32, 99, - 32, 61, 61, 61, 32, 34, 101, 34, 32, 63, 32, 34, 32, 34, 32, 58, 32, 34, 48, 34, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 102, 111, 114, 109, 97, 116, 32, 61, 32, 102, 111, 114, 109, 97, 116, 115, 91, 99, 93, - 41, 32, 99, 32, 61, 32, 102, 111, 114, 109, 97, 116, 40, 100, 97, 116, 101, 44, 32, 112, 97, 100, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 116, 114, 105, 110, 103, 46, 112, 117, 115, 104, 40, 99, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 61, - 32, 105, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, - 110, 103, 46, 112, 117, 115, 104, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 115, 108, 105, 99, 101, - 40, 106, 44, 32, 105, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 114, 105, 110, 103, 46, 106, 111, 105, 110, 40, 34, 34, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 110, 101, 119, 80, 97, 114, 115, 101, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 44, 32, 90, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 115, 116, 114, 105, 110, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 110, 101, 119, 68, 97, - 116, 101, 40, 49, 57, 48, 48, 44, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 44, 32, 49, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, - 61, 32, 112, 97, 114, 115, 101, 83, 112, 101, 99, 105, 102, 105, 101, 114, 40, 100, 44, 32, 115, 112, 101, - 99, 105, 102, 105, 101, 114, 44, 32, 115, 116, 114, 105, 110, 103, 32, 43, 61, 32, 34, 34, 44, 32, 48, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 119, 101, 101, 107, 44, 32, 100, 97, 121, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 33, 61, 32, 115, 116, 114, 105, 110, 103, 46, 108, - 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 97, 32, 85, - 78, 73, 88, 32, 116, 105, 109, 101, 115, 116, 97, 109, 112, 32, 105, 115, 32, 115, 112, 101, 99, 105, 102, - 105, 101, 100, 44, 32, 114, 101, 116, 117, 114, 110, 32, 105, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 81, 34, 32, 105, 110, 32, 100, 41, 32, - 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 100, 46, 81, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 115, 34, 32, - 105, 110, 32, 100, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 100, - 46, 115, 32, 42, 32, 49, 48, 48, 48, 32, 43, 32, 40, 34, 76, 34, 32, 105, 110, 32, 100, 32, 63, - 32, 100, 46, 76, 32, 58, 32, 48, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 105, 115, 32, 105, 115, 32, 117, 116, 99, - 80, 97, 114, 115, 101, 44, 32, 110, 101, 118, 101, 114, 32, 117, 115, 101, 32, 116, 104, 101, 32, 108, 111, - 99, 97, 108, 32, 116, 105, 109, 101, 122, 111, 110, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 90, 32, 38, 38, 32, 33, 40, 34, 90, 34, 32, 105, - 110, 32, 100, 41, 41, 32, 100, 46, 90, 32, 61, 32, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 104, 101, 32, 97, 109, 45, 112, 109, 32, 102, - 108, 97, 103, 32, 105, 115, 32, 48, 32, 102, 111, 114, 32, 65, 77, 44, 32, 97, 110, 100, 32, 49, 32, - 102, 111, 114, 32, 80, 77, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 34, 112, 34, 32, 105, 110, 32, 100, 41, 32, 100, 46, 72, 32, 61, 32, 100, 46, - 72, 32, 37, 32, 49, 50, 32, 43, 32, 100, 46, 112, 32, 42, 32, 49, 50, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 32, - 109, 111, 110, 116, 104, 32, 119, 97, 115, 32, 110, 111, 116, 32, 115, 112, 101, 99, 105, 102, 105, 101, 100, - 44, 32, 105, 110, 104, 101, 114, 105, 116, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 113, 117, 97, 114, - 116, 101, 114, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 100, 46, 109, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 100, 46, - 109, 32, 61, 32, 34, 113, 34, 32, 105, 110, 32, 100, 32, 63, 32, 100, 46, 113, 32, 58, 32, 48, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, - 110, 118, 101, 114, 116, 32, 100, 97, 121, 45, 111, 102, 45, 119, 101, 101, 107, 32, 97, 110, 100, 32, 119, - 101, 101, 107, 45, 111, 102, 45, 121, 101, 97, 114, 32, 116, 111, 32, 100, 97, 121, 45, 111, 102, 45, 121, - 101, 97, 114, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 34, 86, 34, 32, 105, 110, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 46, 86, 32, 60, 32, 49, 32, - 124, 124, 32, 100, 46, 86, 32, 62, 32, 53, 51, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, - 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 33, 40, 34, 119, 34, 32, 105, 110, 32, 100, 41, 41, 32, 100, 46, 119, 32, 61, 32, - 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 34, 90, 34, 32, 105, 110, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 101, 101, 107, 32, 61, - 32, 117, 116, 99, 68, 97, 116, 101, 40, 110, 101, 119, 68, 97, 116, 101, 40, 100, 46, 121, 44, 32, 48, - 44, 32, 49, 41, 41, 44, 32, 100, 97, 121, 36, 49, 32, 61, 32, 119, 101, 101, 107, 46, 103, 101, 116, - 85, 84, 67, 68, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 101, 101, 107, 32, 61, 32, 100, 97, 121, 36, 49, - 32, 62, 32, 52, 32, 124, 124, 32, 100, 97, 121, 36, 49, 32, 61, 61, 61, 32, 48, 32, 63, 32, 117, - 116, 99, 77, 111, 110, 100, 97, 121, 46, 99, 101, 105, 108, 40, 119, 101, 101, 107, 41, 32, 58, 32, 117, - 116, 99, 77, 111, 110, 100, 97, 121, 40, 119, 101, 101, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 101, 101, 107, 32, 61, - 32, 117, 116, 99, 68, 97, 121, 46, 111, 102, 102, 115, 101, 116, 40, 119, 101, 101, 107, 44, 32, 40, 100, - 46, 86, 32, 45, 32, 49, 41, 32, 42, 32, 55, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 46, 121, 32, 61, 32, 119, 101, - 101, 107, 46, 103, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 46, 109, 32, 61, 32, 119, 101, 101, 107, 46, 103, 101, 116, 85, 84, 67, 77, 111, 110, 116, 104, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 46, 100, 32, 61, 32, 119, 101, 101, 107, 46, 103, 101, 116, 85, 84, 67, 68, 97, 116, - 101, 40, 41, 32, 43, 32, 40, 100, 46, 119, 32, 43, 32, 54, 41, 32, 37, 32, 55, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, - 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 101, 101, 107, 32, 61, 32, 108, 111, 99, 97, 108, 68, 97, 116, 101, 40, 110, - 101, 119, 68, 97, 116, 101, 40, 100, 46, 121, 44, 32, 48, 44, 32, 49, 41, 41, 44, 32, 100, 97, 121, - 36, 49, 32, 61, 32, 119, 101, 101, 107, 46, 103, 101, 116, 68, 97, 121, 40, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 101, - 101, 107, 32, 61, 32, 100, 97, 121, 36, 49, 32, 62, 32, 52, 32, 124, 124, 32, 100, 97, 121, 36, 49, - 32, 61, 61, 61, 32, 48, 32, 63, 32, 109, 111, 110, 100, 97, 121, 46, 99, 101, 105, 108, 40, 119, 101, - 101, 107, 41, 32, 58, 32, 109, 111, 110, 100, 97, 121, 40, 119, 101, 101, 107, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 101, - 101, 107, 32, 61, 32, 100, 97, 121, 46, 111, 102, 102, 115, 101, 116, 40, 119, 101, 101, 107, 44, 32, 40, - 100, 46, 86, 32, 45, 32, 49, 41, 32, 42, 32, 55, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 46, 121, 32, 61, 32, 119, - 101, 101, 107, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 46, 109, - 32, 61, 32, 119, 101, 101, 107, 46, 103, 101, 116, 77, 111, 110, 116, 104, 40, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 46, - 100, 32, 61, 32, 119, 101, 101, 107, 46, 103, 101, 116, 68, 97, 116, 101, 40, 41, 32, 43, 32, 40, 100, - 46, 119, 32, 43, 32, 54, 41, 32, 37, 32, 55, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 34, 87, 34, 32, 105, 110, 32, - 100, 32, 124, 124, 32, 34, 85, 34, 32, 105, 110, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 34, 119, 34, - 32, 105, 110, 32, 100, 41, 41, 32, 100, 46, 119, 32, 61, 32, 34, 117, 34, 32, 105, 110, 32, 100, 32, - 63, 32, 100, 46, 117, 32, 37, 32, 55, 32, 58, 32, 34, 87, 34, 32, 105, 110, 32, 100, 32, 63, 32, - 49, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 97, 121, 36, 49, 32, 61, 32, 34, 90, 34, 32, 105, 110, 32, 100, 32, 63, 32, - 117, 116, 99, 68, 97, 116, 101, 40, 110, 101, 119, 68, 97, 116, 101, 40, 100, 46, 121, 44, 32, 48, 44, - 32, 49, 41, 41, 46, 103, 101, 116, 85, 84, 67, 68, 97, 121, 40, 41, 32, 58, 32, 108, 111, 99, 97, - 108, 68, 97, 116, 101, 40, 110, 101, 119, 68, 97, 116, 101, 40, 100, 46, 121, 44, 32, 48, 44, 32, 49, - 41, 41, 46, 103, 101, 116, 68, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 46, 109, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 46, 100, 32, 61, 32, 34, - 87, 34, 32, 105, 110, 32, 100, 32, 63, 32, 40, 100, 46, 119, 32, 43, 32, 54, 41, 32, 37, 32, 55, - 32, 43, 32, 100, 46, 87, 32, 42, 32, 55, 32, 45, 32, 40, 100, 97, 121, 36, 49, 32, 43, 32, 53, - 41, 32, 37, 32, 55, 32, 58, 32, 100, 46, 119, 32, 43, 32, 100, 46, 85, 32, 42, 32, 55, 32, 45, - 32, 40, 100, 97, 121, 36, 49, 32, 43, 32, 54, 41, 32, 37, 32, 55, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 97, 32, 116, 105, 109, 101, 32, 122, 111, 110, - 101, 32, 105, 115, 32, 115, 112, 101, 99, 105, 102, 105, 101, 100, 44, 32, 97, 108, 108, 32, 102, 105, 101, - 108, 100, 115, 32, 97, 114, 101, 32, 105, 110, 116, 101, 114, 112, 114, 101, 116, 101, 100, 32, 97, 115, 32, - 85, 84, 67, 32, 97, 110, 100, 32, 116, 104, 101, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 111, 102, 102, 115, 101, 116, 32, 97, 99, 99, 111, 114, 100, 105, - 110, 103, 32, 116, 111, 32, 116, 104, 101, 32, 115, 112, 101, 99, 105, 102, 105, 101, 100, 32, 116, 105, 109, - 101, 32, 122, 111, 110, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 34, 90, 34, 32, 105, 110, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 46, 72, 32, 43, 61, 32, 100, 46, - 90, 32, 47, 32, 49, 48, 48, 32, 124, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 46, 77, 32, 43, 61, 32, 100, 46, 90, 32, 37, 32, - 49, 48, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 117, 116, 99, 68, 97, 116, 101, 40, 100, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, 101, 114, 119, 105, 115, 101, 44, - 32, 97, 108, 108, 32, 102, 105, 101, 108, 100, 115, 32, 97, 114, 101, 32, 105, 110, 32, 108, 111, 99, 97, - 108, 32, 116, 105, 109, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 99, 97, 108, 68, 97, 116, 101, 40, 100, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, - 101, 83, 112, 101, 99, 105, 102, 105, 101, 114, 40, 100, 44, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, - 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 108, - 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 109, 32, 61, 32, 115, 116, 114, 105, 110, 103, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 115, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 105, 32, 60, 32, 110, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 106, 32, 62, 61, 32, - 109, 41, 32, 114, 101, 116, 117, 114, 110, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 99, 104, - 97, 114, 67, 111, 100, 101, 65, 116, 40, 105, 43, 43, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 32, 61, 61, 61, 32, 51, 55, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, - 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 99, 104, 97, 114, 65, 116, 40, 105, 43, 43, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 97, 114, 115, 101, 32, 61, 32, 112, 97, 114, 115, 101, 115, 91, 99, 32, 105, 110, 32, 112, 97, 100, 115, - 32, 63, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 99, 104, 97, 114, 65, 116, 40, 105, 43, 43, - 41, 32, 58, 32, 99, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 112, 97, 114, 115, 101, 32, 124, 124, 32, 40, 40, 106, 32, - 61, 32, 112, 97, 114, 115, 101, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 106, 41, 41, 32, - 60, 32, 48, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 99, 32, - 33, 61, 32, 115, 116, 114, 105, 110, 103, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 106, 43, - 43, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 106, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 80, 101, 114, 105, 111, 100, 40, 100, 44, 32, 115, 116, 114, - 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 110, 32, 61, 32, 112, 101, 114, 105, 111, 100, 82, 101, 46, 101, 120, 101, 99, 40, 115, 116, - 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 112, 32, 61, 32, - 112, 101, 114, 105, 111, 100, 76, 111, 111, 107, 117, 112, 46, 103, 101, 116, 40, 110, 91, 48, 93, 46, 116, - 111, 76, 111, 119, 101, 114, 67, 97, 115, 101, 40, 41, 41, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, - 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, - 115, 101, 83, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 40, 100, 44, 32, 115, 116, 114, 105, 110, - 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 110, 32, 61, 32, 115, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 82, 101, 46, 101, 120, 101, - 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, - 119, 32, 61, 32, 115, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 76, 111, 111, 107, 117, 112, 46, - 103, 101, 116, 40, 110, 91, 48, 93, 46, 116, 111, 76, 111, 119, 101, 114, 67, 97, 115, 101, 40, 41, 41, - 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 87, 101, 101, 107, 100, 97, 121, 40, 100, 44, 32, - 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 119, 101, 101, 107, 100, 97, 121, 82, 101, 46, 101, 120, 101, - 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, - 119, 32, 61, 32, 119, 101, 101, 107, 100, 97, 121, 76, 111, 111, 107, 117, 112, 46, 103, 101, 116, 40, 110, - 91, 48, 93, 46, 116, 111, 76, 111, 119, 101, 114, 67, 97, 115, 101, 40, 41, 41, 44, 32, 105, 32, 43, - 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 112, 97, 114, 115, 101, 83, 104, 111, 114, 116, 77, 111, 110, 116, 104, 40, 100, 44, 32, 115, 116, - 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 110, 32, 61, 32, 115, 104, 111, 114, 116, 77, 111, 110, 116, 104, 82, 101, 46, 101, 120, - 101, 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 41, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, - 46, 109, 32, 61, 32, 115, 104, 111, 114, 116, 77, 111, 110, 116, 104, 76, 111, 111, 107, 117, 112, 46, 103, - 101, 116, 40, 110, 91, 48, 93, 46, 116, 111, 76, 111, 119, 101, 114, 67, 97, 115, 101, 40, 41, 41, 44, - 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 77, 111, 110, 116, 104, 40, 100, 44, 32, 115, 116, 114, - 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 110, 32, 61, 32, 109, 111, 110, 116, 104, 82, 101, 46, 101, 120, 101, 99, 40, 115, 116, 114, - 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 109, 32, 61, 32, 109, - 111, 110, 116, 104, 76, 111, 111, 107, 117, 112, 46, 103, 101, 116, 40, 110, 91, 48, 93, 46, 116, 111, 76, - 111, 119, 101, 114, 67, 97, 115, 101, 40, 41, 41, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, - 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, - 76, 111, 99, 97, 108, 101, 68, 97, 116, 101, 84, 105, 109, 101, 40, 100, 44, 32, 115, 116, 114, 105, 110, - 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 112, 97, 114, 115, 101, 83, 112, 101, 99, 105, 102, 105, 101, 114, 40, 100, 44, 32, 108, - 111, 99, 97, 108, 101, 95, 100, 97, 116, 101, 84, 105, 109, 101, 44, 32, 115, 116, 114, 105, 110, 103, 44, - 32, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 76, 111, 99, 97, 108, 101, 68, 97, - 116, 101, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 114, 115, 101, 83, 112, 101, - 99, 105, 102, 105, 101, 114, 40, 100, 44, 32, 108, 111, 99, 97, 108, 101, 95, 100, 97, 116, 101, 44, 32, - 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 76, - 111, 99, 97, 108, 101, 84, 105, 109, 101, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, - 97, 114, 115, 101, 83, 112, 101, 99, 105, 102, 105, 101, 114, 40, 100, 44, 32, 108, 111, 99, 97, 108, 101, - 95, 116, 105, 109, 101, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 102, 111, 114, 109, 97, 116, 83, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 40, 100, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, - 99, 97, 108, 101, 95, 115, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 115, 91, 100, 46, 103, 101, - 116, 68, 97, 121, 40, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 87, 101, 101, - 107, 100, 97, 121, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 108, 111, 99, 97, 108, 101, 95, 119, 101, 101, 107, 100, 97, 121, 115, 91, 100, - 46, 103, 101, 116, 68, 97, 121, 40, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, - 83, 104, 111, 114, 116, 77, 111, 110, 116, 104, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 99, 97, 108, 101, 95, 115, 104, 111, 114, - 116, 77, 111, 110, 116, 104, 115, 91, 100, 46, 103, 101, 116, 77, 111, 110, 116, 104, 40, 41, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 77, 111, 110, 116, 104, 40, 100, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 99, 97, 108, - 101, 95, 109, 111, 110, 116, 104, 115, 91, 100, 46, 103, 101, 116, 77, 111, 110, 116, 104, 40, 41, 93, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 80, 101, 114, 105, 111, 100, 40, 100, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 99, - 97, 108, 101, 95, 112, 101, 114, 105, 111, 100, 115, 91, 43, 40, 100, 46, 103, 101, 116, 72, 111, 117, 114, - 115, 40, 41, 32, 62, 61, 32, 49, 50, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, - 116, 81, 117, 97, 114, 116, 101, 114, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 49, 32, 43, 32, 126, 126, 40, 100, 46, 103, 101, 116, 77, - 111, 110, 116, 104, 40, 41, 32, 47, 32, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, - 116, 85, 84, 67, 83, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 40, 100, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 99, 97, 108, - 101, 95, 115, 104, 111, 114, 116, 87, 101, 101, 107, 100, 97, 121, 115, 91, 100, 46, 103, 101, 116, 85, 84, - 67, 68, 97, 121, 40, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, - 87, 101, 101, 107, 100, 97, 121, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 99, 97, 108, 101, 95, 119, 101, 101, 107, 100, 97, 121, - 115, 91, 100, 46, 103, 101, 116, 85, 84, 67, 68, 97, 121, 40, 41, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 102, 111, 114, 109, 97, 116, 85, 84, 67, 83, 104, 111, 114, 116, 77, 111, 110, 116, 104, 40, 100, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, - 99, 97, 108, 101, 95, 115, 104, 111, 114, 116, 77, 111, 110, 116, 104, 115, 91, 100, 46, 103, 101, 116, 85, - 84, 67, 77, 111, 110, 116, 104, 40, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, - 85, 84, 67, 77, 111, 110, 116, 104, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 99, 97, 108, 101, 95, 109, 111, 110, 116, 104, 115, - 91, 100, 46, 103, 101, 116, 85, 84, 67, 77, 111, 110, 116, 104, 40, 41, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 80, 101, 114, 105, 111, 100, 40, 100, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 99, 97, 108, - 101, 95, 112, 101, 114, 105, 111, 100, 115, 91, 43, 40, 100, 46, 103, 101, 116, 85, 84, 67, 72, 111, 117, - 114, 115, 40, 41, 32, 62, 61, 32, 49, 50, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, - 97, 116, 85, 84, 67, 81, 117, 97, 114, 116, 101, 114, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 49, 32, 43, 32, 126, 126, 40, 100, 46, - 103, 101, 116, 85, 84, 67, 77, 111, 110, 116, 104, 40, 41, 32, 47, 32, 51, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 58, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 110, - 101, 119, 70, 111, 114, 109, 97, 116, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 32, 43, 61, 32, 34, - 34, 44, 32, 102, 111, 114, 109, 97, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 115, 112, 101, 99, 105, 102, 105, - 101, 114, 59, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 114, 115, 101, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 32, 61, 32, 110, 101, - 119, 80, 97, 114, 115, 101, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 32, 43, 61, 32, 34, 34, 44, - 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 112, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 59, 32, - 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 116, 99, 70, 111, 114, 109, 97, 116, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 110, 101, - 119, 70, 111, 114, 109, 97, 116, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 32, 43, 61, 32, 34, 34, - 44, 32, 117, 116, 99, 70, 111, 114, 109, 97, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 115, 112, 101, 99, 105, - 102, 105, 101, 114, 59, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 116, 99, 80, 97, 114, 115, - 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, - 32, 61, 32, 110, 101, 119, 80, 97, 114, 115, 101, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, 32, 43, - 61, 32, 34, 34, 44, 32, 116, 114, 117, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 112, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 115, 112, 101, 99, 105, 102, 105, - 101, 114, 59, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 112, 97, 100, 115, 32, 61, 32, 123, 34, 45, 34, 58, 32, 34, 34, 44, 32, 34, 95, - 34, 58, 32, 34, 32, 34, 44, 32, 34, 48, 34, 58, 32, 34, 48, 34, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 110, 117, 109, 98, 101, 114, 82, 101, 32, 61, 32, 47, 94, 92, 115, 42, 92, 100, 43, - 47, 44, 32, 47, 47, 32, 110, 111, 116, 101, 58, 32, 105, 103, 110, 111, 114, 101, 115, 32, 110, 101, 120, - 116, 32, 100, 105, 114, 101, 99, 116, 105, 118, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 101, 114, - 99, 101, 110, 116, 82, 101, 32, 61, 32, 47, 94, 37, 47, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 113, 117, 111, 116, 101, 82, 101, 32, 61, 32, 47, 91, 92, 92, 94, 36, 42, 43, 63, 124, 91, - 92, 93, 40, 41, 46, 123, 125, 93, 47, 103, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 112, 97, 100, 40, 118, 97, 108, 117, 101, 44, 32, 102, 105, 108, 108, 44, 32, 119, 105, 100, - 116, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 105, 103, 110, 32, - 61, 32, 118, 97, 108, 117, 101, 32, 60, 32, 48, 32, 63, 32, 34, 45, 34, 32, 58, 32, 34, 34, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 114, 105, 110, 103, 32, 61, 32, 40, - 115, 105, 103, 110, 32, 63, 32, 45, 118, 97, 108, 117, 101, 32, 58, 32, 118, 97, 108, 117, 101, 41, 32, - 43, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 110, 103, 116, - 104, 32, 61, 32, 115, 116, 114, 105, 110, 103, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 105, 103, 110, 32, 43, 32, 40, 108, 101, 110, 103, - 116, 104, 32, 60, 32, 119, 105, 100, 116, 104, 32, 63, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, - 119, 105, 100, 116, 104, 32, 45, 32, 108, 101, 110, 103, 116, 104, 32, 43, 32, 49, 41, 46, 106, 111, 105, - 110, 40, 102, 105, 108, 108, 41, 32, 43, 32, 115, 116, 114, 105, 110, 103, 32, 58, 32, 115, 116, 114, 105, - 110, 103, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 114, 101, 113, 117, 111, 116, 101, 40, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 115, 46, 114, 101, 112, 108, 97, 99, 101, 40, 114, 101, 113, 117, 111, 116, - 101, 82, 101, 44, 32, 34, 92, 92, 36, 38, 34, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 82, 101, 40, 110, 97, 109, - 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, - 119, 32, 82, 101, 103, 69, 120, 112, 40, 34, 94, 40, 63, 58, 34, 32, 43, 32, 110, 97, 109, 101, 115, - 46, 109, 97, 112, 40, 114, 101, 113, 117, 111, 116, 101, 41, 46, 106, 111, 105, 110, 40, 34, 124, 34, 41, - 32, 43, 32, 34, 41, 34, 44, 32, 34, 105, 34, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 76, 111, 111, 107, 117, 112, - 40, 110, 97, 109, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 110, 101, 119, 32, 77, 97, 112, 40, 110, 97, 109, 101, 115, 46, 109, 97, 112, 40, 40, 110, 97, - 109, 101, 44, 32, 105, 41, 32, 61, 62, 32, 91, 110, 97, 109, 101, 46, 116, 111, 76, 111, 119, 101, 114, - 67, 97, 115, 101, 40, 41, 44, 32, 105, 93, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 87, 101, 101, 107, 100, 97, 121, - 78, 117, 109, 98, 101, 114, 83, 117, 110, 100, 97, 121, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, - 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, - 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, - 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 119, 32, 61, 32, 43, 110, 91, 48, 93, - 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, - 97, 114, 115, 101, 87, 101, 101, 107, 100, 97, 121, 78, 117, 109, 98, 101, 114, 77, 111, 110, 100, 97, 121, - 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, - 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 49, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, - 100, 46, 117, 32, 61, 32, 43, 110, 91, 48, 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, - 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 87, 101, 101, 107, 78, 117, 109, 98, - 101, 114, 83, 117, 110, 100, 97, 121, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, - 114, 82, 101, 46, 101, 120, 101, 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, - 44, 32, 105, 32, 43, 32, 50, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 85, 32, 61, 32, 43, 110, 91, 48, 93, 44, 32, 105, 32, - 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, - 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, 73, 83, 79, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, - 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, - 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, - 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 50, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 86, 32, 61, 32, 43, 110, 91, 48, - 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, - 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 112, 97, 114, 115, 101, 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, 77, 111, 110, 100, 97, 121, 40, 100, - 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, 40, 115, - 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 50, 41, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, - 87, 32, 61, 32, 43, 110, 91, 48, 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, - 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 70, 117, 108, 108, 89, 101, 97, 114, 40, 100, - 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, 40, 115, - 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 52, 41, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, - 121, 32, 61, 32, 43, 110, 91, 48, 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, - 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 89, 101, 97, 114, 40, 100, 44, 32, 115, 116, - 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, 40, 115, 116, 114, 105, 110, - 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 50, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 121, 32, 61, 32, - 43, 110, 91, 48, 93, 32, 43, 32, 40, 43, 110, 91, 48, 93, 32, 62, 32, 54, 56, 32, 63, 32, 49, - 57, 48, 48, 32, 58, 32, 50, 48, 48, 48, 41, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, - 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 90, 111, 110, 101, 40, 100, 44, 32, - 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 110, 32, 61, 32, 47, 94, 40, 90, 41, 124, 40, 91, 43, 45, 93, 92, 100, 92, 100, 41, 40, - 63, 58, 58, 63, 40, 92, 100, 92, 100, 41, 41, 63, 47, 46, 101, 120, 101, 99, 40, 115, 116, 114, 105, - 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 54, 41, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 90, 32, 61, - 32, 110, 91, 49, 93, 32, 63, 32, 48, 32, 58, 32, 45, 40, 110, 91, 50, 93, 32, 43, 32, 40, 110, - 91, 51, 93, 32, 124, 124, 32, 34, 48, 48, 34, 41, 41, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, - 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 81, 117, 97, 114, 116, 101, - 114, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, - 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 49, - 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, - 40, 100, 46, 113, 32, 61, 32, 110, 91, 48, 93, 32, 42, 32, 51, 32, 45, 32, 51, 44, 32, 105, 32, - 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, - 77, 111, 110, 116, 104, 78, 117, 109, 98, 101, 114, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, - 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, - 101, 40, 105, 44, 32, 105, 32, 43, 32, 50, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 109, 32, 61, 32, 110, 91, 48, 93, 32, 45, - 32, 49, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, - 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 112, 97, 114, 115, 101, 68, 97, 121, 79, 102, 77, 111, 110, 116, 104, 40, 100, 44, 32, 115, 116, 114, - 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, - 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, 40, 115, 116, 114, 105, 110, 103, - 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 50, 41, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 100, 32, 61, 32, 43, - 110, 91, 48, 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, - 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 112, 97, 114, 115, 101, 68, 97, 121, 79, 102, 89, 101, 97, 114, 40, 100, 44, 32, 115, 116, - 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, 40, 115, 116, 114, 105, 110, - 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 51, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 109, 32, 61, 32, - 48, 44, 32, 100, 46, 100, 32, 61, 32, 43, 110, 91, 48, 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, - 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 72, 111, 117, 114, 50, - 52, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, - 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 50, - 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, - 40, 100, 46, 72, 32, 61, 32, 43, 110, 91, 48, 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, - 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 77, 105, 110, 117, 116, 101, 115, - 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, - 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 50, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, - 100, 46, 77, 32, 61, 32, 43, 110, 91, 48, 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, - 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 83, 101, 99, 111, 110, 100, 115, 40, - 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, 40, - 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, 32, 50, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, - 46, 83, 32, 61, 32, 43, 110, 91, 48, 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, - 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 77, 105, 108, 108, 105, 115, 101, 99, 111, - 110, 100, 115, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, - 120, 101, 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, 32, 105, 32, 43, - 32, 51, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, - 63, 32, 40, 100, 46, 76, 32, 61, 32, 43, 110, 91, 48, 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, - 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 77, 105, 99, 114, 111, - 115, 101, 99, 111, 110, 100, 115, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, - 82, 101, 46, 101, 120, 101, 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 44, - 32, 105, 32, 43, 32, 54, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 110, 32, 63, 32, 40, 100, 46, 76, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, - 40, 110, 91, 48, 93, 32, 47, 32, 49, 48, 48, 48, 41, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, - 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 114, 115, 101, 76, 105, 116, 101, 114, 97, - 108, 80, 101, 114, 99, 101, 110, 116, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 112, 101, 114, 99, 101, - 110, 116, 82, 101, 46, 101, 120, 101, 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, - 105, 44, 32, 105, 32, 43, 32, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 110, 32, 63, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, - 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 112, 97, 114, 115, 101, 85, 110, 105, 120, 84, 105, 109, 101, 115, 116, 97, 109, 112, 40, - 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, 101, 120, 101, 99, 40, - 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 41, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 81, 32, 61, 32, 43, 110, - 91, 48, 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, 41, 32, 58, - 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 112, 97, 114, 115, 101, 85, 110, 105, 120, 84, 105, 109, 101, 115, 116, 97, 109, 112, 83, 101, 99, - 111, 110, 100, 115, 40, 100, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 105, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 110, 117, 109, 98, 101, 114, 82, 101, 46, - 101, 120, 101, 99, 40, 115, 116, 114, 105, 110, 103, 46, 115, 108, 105, 99, 101, 40, 105, 41, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 63, 32, 40, 100, 46, 115, - 32, 61, 32, 43, 110, 91, 48, 93, 44, 32, 105, 32, 43, 32, 110, 91, 48, 93, 46, 108, 101, 110, 103, - 116, 104, 41, 32, 58, 32, 45, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 68, 97, 121, 79, 102, 77, 111, 110, 116, 104, - 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 68, 97, 116, 101, 40, 41, 44, 32, 112, 44, 32, 50, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, - 111, 114, 109, 97, 116, 72, 111, 117, 114, 50, 52, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 72, 111, - 117, 114, 115, 40, 41, 44, 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 72, 111, 117, 114, 49, 50, - 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 72, 111, 117, 114, 115, 40, 41, 32, 37, 32, 49, 50, 32, - 124, 124, 32, 49, 50, 44, 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 68, 97, 121, 79, 102, 89, - 101, 97, 114, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 112, 97, 100, 40, 49, 32, 43, 32, 100, 97, 121, 46, 99, 111, 117, 110, 116, 40, 121, - 101, 97, 114, 40, 100, 41, 44, 32, 100, 41, 44, 32, 112, 44, 32, 51, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 77, - 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 77, 105, - 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 40, 41, 44, 32, 112, 44, 32, 51, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, - 116, 77, 105, 99, 114, 111, 115, 101, 99, 111, 110, 100, 115, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 111, 114, 109, 97, 116, 77, 105, 108, - 108, 105, 115, 101, 99, 111, 110, 100, 115, 40, 100, 44, 32, 112, 41, 32, 43, 32, 34, 48, 48, 48, 34, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, - 111, 114, 109, 97, 116, 77, 111, 110, 116, 104, 78, 117, 109, 98, 101, 114, 40, 100, 44, 32, 112, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, - 103, 101, 116, 77, 111, 110, 116, 104, 40, 41, 32, 43, 32, 49, 44, 32, 112, 44, 32, 50, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, - 109, 97, 116, 77, 105, 110, 117, 116, 101, 115, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 77, 105, 110, - 117, 116, 101, 115, 40, 41, 44, 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 83, 101, 99, 111, 110, - 100, 115, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 83, 101, 99, 111, 110, 100, 115, 40, 41, 44, 32, - 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 87, 101, 101, 107, 100, 97, 121, 78, 117, 109, 98, 101, 114, - 77, 111, 110, 100, 97, 121, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 100, 97, 121, 32, 61, 32, 100, 46, 103, 101, 116, 68, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 97, 121, 32, 61, 61, 61, 32, 48, 32, 63, 32, - 55, 32, 58, 32, 100, 97, 121, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, 83, - 117, 110, 100, 97, 121, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 115, 117, 110, 100, 97, 121, 46, 99, 111, 117, 110, 116, 40, - 121, 101, 97, 114, 40, 100, 41, 32, 45, 32, 49, 44, 32, 100, 41, 44, 32, 112, 44, 32, 50, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 73, - 83, 79, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, 121, - 32, 61, 32, 100, 46, 103, 101, 116, 68, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 40, 100, 97, 121, 32, 62, 61, 32, 52, 32, 124, 124, 32, 100, 97, 121, - 32, 61, 61, 61, 32, 48, 41, 32, 63, 32, 116, 104, 117, 114, 115, 100, 97, 121, 40, 100, 41, 32, 58, - 32, 116, 104, 117, 114, 115, 100, 97, 121, 46, 99, 101, 105, 108, 40, 100, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 87, - 101, 101, 107, 78, 117, 109, 98, 101, 114, 73, 83, 79, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 100, 73, 83, 79, 40, 100, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 116, 104, 117, 114, 115, 100, 97, 121, - 46, 99, 111, 117, 110, 116, 40, 121, 101, 97, 114, 40, 100, 41, 44, 32, 100, 41, 32, 43, 32, 40, 121, - 101, 97, 114, 40, 100, 41, 46, 103, 101, 116, 68, 97, 121, 40, 41, 32, 61, 61, 61, 32, 52, 41, 44, - 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 87, 101, 101, 107, 100, 97, 121, 78, 117, 109, 98, 101, - 114, 83, 117, 110, 100, 97, 121, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 100, 46, 103, 101, 116, 68, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 87, 101, 101, - 107, 78, 117, 109, 98, 101, 114, 77, 111, 110, 100, 97, 121, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 109, 111, 110, 100, 97, - 121, 46, 99, 111, 117, 110, 116, 40, 121, 101, 97, 114, 40, 100, 41, 32, 45, 32, 49, 44, 32, 100, 41, - 44, 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 89, 101, 97, 114, 40, 100, 44, 32, 112, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, - 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 37, 32, 49, 48, 48, 44, 32, 112, 44, - 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 102, 111, 114, 109, 97, 116, 89, 101, 97, 114, 73, 83, 79, 40, 100, 44, 32, 112, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 100, 73, 83, 79, 40, 100, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, - 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 37, 32, 49, 48, 48, 44, 32, 112, 44, 32, 50, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, - 111, 114, 109, 97, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, - 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 37, 32, 49, 48, 48, 48, 48, 44, 32, 112, 44, 32, - 52, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 102, 111, 114, 109, 97, 116, 70, 117, 108, 108, 89, 101, 97, 114, 73, 83, 79, 40, 100, 44, 32, 112, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, 121, 32, 61, 32, 100, - 46, 103, 101, 116, 68, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, - 40, 100, 97, 121, 32, 62, 61, 32, 52, 32, 124, 124, 32, 100, 97, 121, 32, 61, 61, 61, 32, 48, 41, - 32, 63, 32, 116, 104, 117, 114, 115, 100, 97, 121, 40, 100, 41, 32, 58, 32, 116, 104, 117, 114, 115, 100, - 97, 121, 46, 99, 101, 105, 108, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, - 32, 37, 32, 49, 48, 48, 48, 48, 44, 32, 112, 44, 32, 52, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 90, 111, 110, - 101, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 122, 32, 61, 32, - 100, 46, 103, 101, 116, 84, 105, 109, 101, 122, 111, 110, 101, 79, 102, 102, 115, 101, 116, 40, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 122, 32, 62, 32, 48, 32, 63, - 32, 34, 45, 34, 32, 58, 32, 40, 122, 32, 42, 61, 32, 45, 49, 44, 32, 34, 43, 34, 41, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 112, 97, 100, 40, 122, 32, 47, 32, 54, - 48, 32, 124, 32, 48, 44, 32, 34, 48, 34, 44, 32, 50, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 43, 32, 112, 97, 100, 40, 122, 32, 37, 32, 54, 48, 44, 32, 34, 48, 34, 44, 32, - 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 68, 97, 121, 79, 102, 77, 111, 110, 116, 104, 40, 100, 44, - 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, - 100, 40, 100, 46, 103, 101, 116, 85, 84, 67, 68, 97, 116, 101, 40, 41, 44, 32, 112, 44, 32, 50, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, - 111, 114, 109, 97, 116, 85, 84, 67, 72, 111, 117, 114, 50, 52, 40, 100, 44, 32, 112, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, - 116, 85, 84, 67, 72, 111, 117, 114, 115, 40, 41, 44, 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, - 85, 84, 67, 72, 111, 117, 114, 49, 50, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 85, 84, 67, 72, - 111, 117, 114, 115, 40, 41, 32, 37, 32, 49, 50, 32, 124, 124, 32, 49, 50, 44, 32, 112, 44, 32, 50, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 102, 111, 114, 109, 97, 116, 85, 84, 67, 68, 97, 121, 79, 102, 89, 101, 97, 114, 40, 100, 44, 32, 112, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, - 49, 32, 43, 32, 117, 116, 99, 68, 97, 121, 46, 99, 111, 117, 110, 116, 40, 117, 116, 99, 89, 101, 97, - 114, 40, 100, 41, 44, 32, 100, 41, 44, 32, 112, 44, 32, 51, 41, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, - 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 85, - 84, 67, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 40, 41, 44, 32, 112, 44, 32, 51, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, - 111, 114, 109, 97, 116, 85, 84, 67, 77, 105, 99, 114, 111, 115, 101, 99, 111, 110, 100, 115, 40, 100, 44, - 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 111, - 114, 109, 97, 116, 85, 84, 67, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 40, 100, 44, 32, - 112, 41, 32, 43, 32, 34, 48, 48, 48, 34, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 77, 111, 110, 116, 104, - 78, 117, 109, 98, 101, 114, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 85, 84, 67, 77, 111, 110, 116, - 104, 40, 41, 32, 43, 32, 49, 44, 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 77, - 105, 110, 117, 116, 101, 115, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 85, 84, 67, 77, 105, 110, 117, - 116, 101, 115, 40, 41, 44, 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 83, 101, 99, - 111, 110, 100, 115, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 85, 84, 67, 83, 101, 99, 111, 110, 100, - 115, 40, 41, 44, 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 87, 101, 101, 107, 100, - 97, 121, 78, 117, 109, 98, 101, 114, 77, 111, 110, 100, 97, 121, 40, 100, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 111, 119, 32, 61, 32, 100, 46, 103, 101, 116, 85, 84, 67, - 68, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, - 111, 119, 32, 61, 61, 61, 32, 48, 32, 63, 32, 55, 32, 58, 32, 100, 111, 119, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, - 85, 84, 67, 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, 83, 117, 110, 100, 97, 121, 40, 100, 44, 32, - 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, - 40, 117, 116, 99, 83, 117, 110, 100, 97, 121, 46, 99, 111, 117, 110, 116, 40, 117, 116, 99, 89, 101, 97, - 114, 40, 100, 41, 32, 45, 32, 49, 44, 32, 100, 41, 44, 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 85, 84, 67, 100, 73, - 83, 79, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, 121, - 32, 61, 32, 100, 46, 103, 101, 116, 85, 84, 67, 68, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 100, 97, 121, 32, 62, 61, 32, 52, 32, 124, 124, 32, - 100, 97, 121, 32, 61, 61, 61, 32, 48, 41, 32, 63, 32, 117, 116, 99, 84, 104, 117, 114, 115, 100, 97, - 121, 40, 100, 41, 32, 58, 32, 117, 116, 99, 84, 104, 117, 114, 115, 100, 97, 121, 46, 99, 101, 105, 108, - 40, 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, 73, 83, - 79, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 85, - 84, 67, 100, 73, 83, 79, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 112, 97, 100, 40, 117, 116, 99, 84, 104, 117, 114, 115, 100, 97, 121, 46, 99, 111, 117, 110, - 116, 40, 117, 116, 99, 89, 101, 97, 114, 40, 100, 41, 44, 32, 100, 41, 32, 43, 32, 40, 117, 116, 99, - 89, 101, 97, 114, 40, 100, 41, 46, 103, 101, 116, 85, 84, 67, 68, 97, 121, 40, 41, 32, 61, 61, 61, - 32, 52, 41, 44, 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 87, 101, 101, 107, 100, - 97, 121, 78, 117, 109, 98, 101, 114, 83, 117, 110, 100, 97, 121, 40, 100, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 103, 101, 116, 85, 84, 67, 68, 97, 121, - 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 87, 101, 101, 107, 78, 117, 109, 98, 101, 114, 77, 111, 110, - 100, 97, 121, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 112, 97, 100, 40, 117, 116, 99, 77, 111, 110, 100, 97, 121, 46, 99, 111, 117, 110, 116, - 40, 117, 116, 99, 89, 101, 97, 114, 40, 100, 41, 32, 45, 32, 49, 44, 32, 100, 41, 44, 32, 112, 44, - 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 89, 101, 97, 114, 40, 100, 44, 32, 112, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, - 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 37, 32, 49, 48, 48, 44, 32, - 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 89, 101, 97, 114, 73, 83, 79, 40, 100, 44, - 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 85, 84, 67, 100, 73, - 83, 79, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, - 97, 100, 40, 100, 46, 103, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 37, - 32, 49, 48, 48, 44, 32, 112, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 85, 84, 67, 70, 117, 108, 108, - 89, 101, 97, 114, 40, 100, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, - 97, 114, 40, 41, 32, 37, 32, 49, 48, 48, 48, 48, 44, 32, 112, 44, 32, 52, 41, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, - 116, 85, 84, 67, 70, 117, 108, 108, 89, 101, 97, 114, 73, 83, 79, 40, 100, 44, 32, 112, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, 121, 32, 61, 32, 100, 46, 103, 101, - 116, 85, 84, 67, 68, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, - 40, 100, 97, 121, 32, 62, 61, 32, 52, 32, 124, 124, 32, 100, 97, 121, 32, 61, 61, 61, 32, 48, 41, - 32, 63, 32, 117, 116, 99, 84, 104, 117, 114, 115, 100, 97, 121, 40, 100, 41, 32, 58, 32, 117, 116, 99, - 84, 104, 117, 114, 115, 100, 97, 121, 46, 99, 101, 105, 108, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 100, 40, 100, 46, 103, 101, 116, 85, 84, 67, 70, - 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 37, 32, 49, 48, 48, 48, 48, 44, 32, 112, 44, 32, 52, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 102, 111, 114, 109, 97, 116, 85, 84, 67, 90, 111, 110, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 43, 48, 48, 48, 48, 34, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 76, - 105, 116, 101, 114, 97, 108, 80, 101, 114, 99, 101, 110, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 37, 34, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 85, 110, 105, 120, 84, - 105, 109, 101, 115, 116, 97, 109, 112, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 43, 100, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 85, 110, 105, 120, 84, 105, 109, 101, 115, 116, - 97, 109, 112, 83, 101, 99, 111, 110, 100, 115, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 43, 100, 32, 47, - 32, 49, 48, 48, 48, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 108, 111, 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, - 101, 70, 111, 114, 109, 97, 116, 32, 61, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 80, 97, 114, 115, 101, 32, 61, 32, 118, 111, 105, 100, - 32, 48, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 70, 111, 114, 109, - 97, 116, 32, 61, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 117, 116, 99, 80, 97, 114, 115, 101, 32, 61, 32, 118, 111, 105, 100, 32, 48, 59, 10, 10, 32, - 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 76, 111, 99, 97, 108, 101, 40, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 97, 116, 101, 84, 105, 109, 101, 58, 32, 34, 37, 120, 44, 32, 37, 88, 34, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 101, 58, 32, 34, 37, 45, 109, 47, 37, 45, 100, - 47, 37, 89, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 109, 101, 58, 32, 34, 37, 45, - 73, 58, 37, 77, 58, 37, 83, 32, 37, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 101, - 114, 105, 111, 100, 115, 58, 32, 91, 34, 65, 77, 34, 44, 32, 34, 80, 77, 34, 93, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 97, 121, 115, 58, 32, 91, 34, 83, 117, 110, 100, 97, 121, 34, 44, 32, - 34, 77, 111, 110, 100, 97, 121, 34, 44, 32, 34, 84, 117, 101, 115, 100, 97, 121, 34, 44, 32, 34, 87, - 101, 100, 110, 101, 115, 100, 97, 121, 34, 44, 32, 34, 84, 104, 117, 114, 115, 100, 97, 121, 34, 44, 32, - 34, 70, 114, 105, 100, 97, 121, 34, 44, 32, 34, 83, 97, 116, 117, 114, 100, 97, 121, 34, 93, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 104, 111, 114, 116, 68, 97, 121, 115, 58, 32, 91, 34, 83, 117, - 110, 34, 44, 32, 34, 77, 111, 110, 34, 44, 32, 34, 84, 117, 101, 34, 44, 32, 34, 87, 101, 100, 34, - 44, 32, 34, 84, 104, 117, 34, 44, 32, 34, 70, 114, 105, 34, 44, 32, 34, 83, 97, 116, 34, 93, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 110, 116, 104, 115, 58, 32, 91, 34, 74, 97, 110, 117, - 97, 114, 121, 34, 44, 32, 34, 70, 101, 98, 114, 117, 97, 114, 121, 34, 44, 32, 34, 77, 97, 114, 99, - 104, 34, 44, 32, 34, 65, 112, 114, 105, 108, 34, 44, 32, 34, 77, 97, 121, 34, 44, 32, 34, 74, 117, - 110, 101, 34, 44, 32, 34, 74, 117, 108, 121, 34, 44, 32, 34, 65, 117, 103, 117, 115, 116, 34, 44, 32, - 34, 83, 101, 112, 116, 101, 109, 98, 101, 114, 34, 44, 32, 34, 79, 99, 116, 111, 98, 101, 114, 34, 44, - 32, 34, 78, 111, 118, 101, 109, 98, 101, 114, 34, 44, 32, 34, 68, 101, 99, 101, 109, 98, 101, 114, 34, - 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 104, 111, 114, 116, 77, 111, 110, 116, 104, 115, 58, - 32, 91, 34, 74, 97, 110, 34, 44, 32, 34, 70, 101, 98, 34, 44, 32, 34, 77, 97, 114, 34, 44, 32, - 34, 65, 112, 114, 34, 44, 32, 34, 77, 97, 121, 34, 44, 32, 34, 74, 117, 110, 34, 44, 32, 34, 74, - 117, 108, 34, 44, 32, 34, 65, 117, 103, 34, 44, 32, 34, 83, 101, 112, 34, 44, 32, 34, 79, 99, 116, - 34, 44, 32, 34, 78, 111, 118, 34, 44, 32, 34, 68, 101, 99, 34, 93, 10, 32, 32, 32, 32, 125, 41, - 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, - 76, 111, 99, 97, 108, 101, 40, 100, 101, 102, 105, 110, 105, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 111, 99, 97, 108, 101, 32, 61, 32, 102, 111, 114, 109, 97, 116, 76, 111, - 99, 97, 108, 101, 40, 100, 101, 102, 105, 110, 105, 116, 105, 111, 110, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 70, 111, 114, 109, 97, 116, 32, 61, - 32, 108, 111, 99, 97, 108, 101, 46, 102, 111, 114, 109, 97, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 80, 97, 114, 115, 101, 32, 61, 32, 108, 111, - 99, 97, 108, 101, 46, 112, 97, 114, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 117, 116, 99, 70, 111, 114, 109, 97, 116, 32, 61, 32, 108, 111, 99, 97, 108, 101, - 46, 117, 116, 99, 70, 111, 114, 109, 97, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 117, 116, 99, 80, 97, 114, 115, 101, 32, 61, 32, 108, 111, 99, 97, 108, 101, 46, - 117, 116, 99, 80, 97, 114, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 108, 111, 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 105, 115, 111, 83, 112, 101, 99, 105, 102, 105, 101, 114, 32, 61, 32, 34, 37, 89, 45, 37, 109, - 45, 37, 100, 84, 37, 72, 58, 37, 77, 58, 37, 83, 46, 37, 76, 90, 34, 59, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 111, 114, 109, 97, 116, 73, 115, 111, 78, 97, 116, 105, - 118, 101, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 100, 97, 116, 101, 46, 116, 111, 73, 83, 79, 83, 116, 114, 105, 110, 103, 40, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 102, 111, 114, 109, 97, 116, 73, 115, - 111, 32, 61, 32, 68, 97, 116, 101, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 116, 111, 73, 83, - 79, 83, 116, 114, 105, 110, 103, 10, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 102, 111, 114, 109, 97, - 116, 73, 115, 111, 78, 97, 116, 105, 118, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 117, 116, 99, 70, 111, 114, 109, 97, 116, 40, 105, 115, 111, 83, 112, 101, 99, - 105, 102, 105, 101, 114, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, - 97, 114, 115, 101, 73, 115, 111, 78, 97, 116, 105, 118, 101, 40, 115, 116, 114, 105, 110, 103, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 97, 116, 101, 32, 61, 32, 110, 101, 119, - 32, 68, 97, 116, 101, 40, 115, 116, 114, 105, 110, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 105, 115, 78, 97, 78, 40, 100, 97, 116, 101, 41, 32, 63, 32, 110, 117, - 108, 108, 32, 58, 32, 100, 97, 116, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 112, 97, 114, 115, 101, 73, 115, 111, 32, 61, 32, 43, 110, 101, 119, 32, 68, 97, 116, 101, - 40, 34, 50, 48, 48, 48, 45, 48, 49, 45, 48, 49, 84, 48, 48, 58, 48, 48, 58, 48, 48, 46, 48, - 48, 48, 90, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 63, 32, 112, 97, 114, 115, 101, 73, 115, - 111, 78, 97, 116, 105, 118, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 117, 116, 99, 80, 97, 114, 115, 101, 40, 105, 115, 111, 83, 112, 101, 99, 105, 102, 105, 101, - 114, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 97, 116, 101, 40, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, - 32, 68, 97, 116, 101, 40, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 110, 117, 109, 98, 101, 114, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, - 32, 68, 97, 116, 101, 32, 63, 32, 43, 116, 32, 58, 32, 43, 110, 101, 119, 32, 68, 97, 116, 101, 40, - 43, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 99, 97, 108, 101, 110, 100, 97, 114, 40, 116, 105, 99, 107, 115, 44, 32, 116, 105, 99, 107, 73, - 110, 116, 101, 114, 118, 97, 108, 44, 32, 121, 101, 97, 114, 44, 32, 109, 111, 110, 116, 104, 44, 32, 119, - 101, 101, 107, 44, 32, 100, 97, 121, 44, 32, 104, 111, 117, 114, 44, 32, 109, 105, 110, 117, 116, 101, 44, - 32, 115, 101, 99, 111, 110, 100, 44, 32, 102, 111, 114, 109, 97, 116, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 97, 108, 101, 32, 61, 32, 99, 111, 110, 116, 105, 110, 117, - 111, 117, 115, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 118, 101, - 114, 116, 32, 61, 32, 115, 99, 97, 108, 101, 46, 105, 110, 118, 101, 114, 116, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 115, 99, 97, 108, 101, 46, - 100, 111, 109, 97, 105, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 111, - 114, 109, 97, 116, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 32, 61, 32, 102, 111, 114, 109, 97, - 116, 40, 34, 46, 37, 76, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 109, 97, 116, 83, 101, 99, 111, 110, 100, 32, 61, 32, 102, 111, 114, 109, 97, 116, 40, 34, 58, - 37, 83, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, - 116, 77, 105, 110, 117, 116, 101, 32, 61, 32, 102, 111, 114, 109, 97, 116, 40, 34, 37, 73, 58, 37, 77, - 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 72, - 111, 117, 114, 32, 61, 32, 102, 111, 114, 109, 97, 116, 40, 34, 37, 73, 32, 37, 112, 34, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 68, 97, 121, 32, 61, - 32, 102, 111, 114, 109, 97, 116, 40, 34, 37, 97, 32, 37, 100, 34, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 109, 97, 116, 87, 101, 101, 107, 32, 61, 32, 102, 111, 114, - 109, 97, 116, 40, 34, 37, 98, 32, 37, 100, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 109, 97, 116, 77, 111, 110, 116, 104, 32, 61, 32, 102, 111, 114, 109, 97, 116, - 40, 34, 37, 66, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, - 109, 97, 116, 89, 101, 97, 114, 32, 61, 32, 102, 111, 114, 109, 97, 116, 40, 34, 37, 89, 34, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 105, 99, 107, - 70, 111, 114, 109, 97, 116, 40, 100, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 115, 101, 99, 111, 110, 100, 40, 100, 97, 116, 101, - 41, 32, 60, 32, 100, 97, 116, 101, 32, 63, 32, 102, 111, 114, 109, 97, 116, 77, 105, 108, 108, 105, 115, - 101, 99, 111, 110, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, - 32, 109, 105, 110, 117, 116, 101, 40, 100, 97, 116, 101, 41, 32, 60, 32, 100, 97, 116, 101, 32, 63, 32, - 102, 111, 114, 109, 97, 116, 83, 101, 99, 111, 110, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 104, 111, 117, 114, 40, 100, 97, 116, 101, 41, 32, - 60, 32, 100, 97, 116, 101, 32, 63, 32, 102, 111, 114, 109, 97, 116, 77, 105, 110, 117, 116, 101, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 58, 32, 100, 97, 121, 40, 100, 97, 116, 101, 41, 32, 60, 32, 100, 97, 116, 101, 32, 63, 32, 102, 111, - 114, 109, 97, 116, 72, 111, 117, 114, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 109, 111, 110, 116, 104, 40, 100, - 97, 116, 101, 41, 32, 60, 32, 100, 97, 116, 101, 32, 63, 32, 40, 119, 101, 101, 107, 40, 100, 97, 116, - 101, 41, 32, 60, 32, 100, 97, 116, 101, 32, 63, 32, 102, 111, 114, 109, 97, 116, 68, 97, 121, 32, 58, - 32, 102, 111, 114, 109, 97, 116, 87, 101, 101, 107, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, - 32, 121, 101, 97, 114, 40, 100, 97, 116, 101, 41, 32, 60, 32, 100, 97, 116, 101, 32, 63, 32, 102, 111, - 114, 109, 97, 116, 77, 111, 110, 116, 104, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 58, 32, 102, 111, 114, 109, 97, 116, 89, 101, 97, 114, 41, 40, 100, 97, 116, 101, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, - 105, 110, 118, 101, 114, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, - 68, 97, 116, 101, 40, 105, 110, 118, 101, 114, 116, 40, 121, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 100, 111, 109, - 97, 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 100, 111, 109, 97, 105, 110, 40, 65, 114, 114, 97, - 121, 46, 102, 114, 111, 109, 40, 95, 44, 32, 110, 117, 109, 98, 101, 114, 41, 41, 32, 58, 32, 100, 111, - 109, 97, 105, 110, 40, 41, 46, 109, 97, 112, 40, 100, 97, 116, 101, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 116, 105, - 99, 107, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 105, 110, 116, 101, 114, 118, 97, 108, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, - 32, 100, 111, 109, 97, 105, 110, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 116, 105, 99, 107, 115, 40, 100, 91, 48, 93, 44, 32, 100, 91, 100, 46, - 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 44, 32, 105, 110, 116, 101, 114, 118, 97, 108, 32, 61, - 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 48, 32, 58, 32, 105, 110, 116, 101, 114, 118, 97, 108, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 99, 97, 108, 101, 46, 116, 105, 99, 107, 70, 111, 114, 109, 97, 116, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 99, 111, 117, 110, 116, 44, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 112, 101, - 99, 105, 102, 105, 101, 114, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 116, 105, 99, 107, 70, 111, - 114, 109, 97, 116, 32, 58, 32, 102, 111, 114, 109, 97, 116, 40, 115, 112, 101, 99, 105, 102, 105, 101, 114, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 99, 97, 108, 101, 46, 110, 105, 99, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 105, - 110, 116, 101, 114, 118, 97, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 100, 32, 61, 32, 100, 111, 109, 97, 105, 110, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 116, 101, 114, 118, 97, 108, 32, 124, 124, - 32, 116, 121, 112, 101, 111, 102, 32, 105, 110, 116, 101, 114, 118, 97, 108, 46, 114, 97, 110, 103, 101, 32, - 33, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 105, 110, 116, 101, 114, 118, 97, - 108, 32, 61, 32, 116, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, 40, 100, 91, 48, 93, 44, 32, - 100, 91, 100, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 93, 44, 32, 105, 110, 116, 101, 114, 118, - 97, 108, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 49, 48, 32, 58, 32, 105, 110, 116, 101, 114, - 118, 97, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 105, 110, 116, 101, 114, 118, 97, 108, 32, 63, 32, 100, 111, 109, 97, 105, 110, 40, 110, 105, 99, - 101, 40, 100, 44, 32, 105, 110, 116, 101, 114, 118, 97, 108, 41, 41, 32, 58, 32, 115, 99, 97, 108, 101, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, - 112, 121, 36, 49, 40, 115, 99, 97, 108, 101, 44, 32, 99, 97, 108, 101, 110, 100, 97, 114, 40, 116, 105, - 99, 107, 115, 44, 32, 116, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, 44, 32, 121, 101, 97, 114, - 44, 32, 109, 111, 110, 116, 104, 44, 32, 119, 101, 101, 107, 44, 32, 100, 97, 121, 44, 32, 104, 111, 117, - 114, 44, 32, 109, 105, 110, 117, 116, 101, 44, 32, 115, 101, 99, 111, 110, 100, 44, 32, 102, 111, 114, 109, - 97, 116, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 105, 109, 101, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 105, 116, 82, 97, 110, 103, - 101, 46, 97, 112, 112, 108, 121, 40, 99, 97, 108, 101, 110, 100, 97, 114, 40, 116, 105, 109, 101, 84, 105, - 99, 107, 115, 44, 32, 116, 105, 109, 101, 84, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, 44, 32, - 121, 101, 97, 114, 44, 32, 109, 111, 110, 116, 104, 44, 32, 115, 117, 110, 100, 97, 121, 44, 32, 100, 97, - 121, 44, 32, 104, 111, 117, 114, 44, 32, 109, 105, 110, 117, 116, 101, 44, 32, 115, 101, 99, 111, 110, 100, - 44, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 70, 111, 114, 109, 97, 116, 41, 46, 100, - 111, 109, 97, 105, 110, 40, 91, 110, 101, 119, 32, 68, 97, 116, 101, 40, 50, 48, 48, 48, 44, 32, 48, - 44, 32, 49, 41, 44, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 50, 48, 48, 48, 44, 32, 48, 44, - 32, 50, 41, 93, 41, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 117, 116, 99, 84, 105, 109, 101, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 105, - 116, 82, 97, 110, 103, 101, 46, 97, 112, 112, 108, 121, 40, 99, 97, 108, 101, 110, 100, 97, 114, 40, 117, - 116, 99, 84, 105, 99, 107, 115, 44, 32, 117, 116, 99, 84, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, - 108, 44, 32, 117, 116, 99, 89, 101, 97, 114, 44, 32, 117, 116, 99, 77, 111, 110, 116, 104, 44, 32, 117, - 116, 99, 83, 117, 110, 100, 97, 121, 44, 32, 117, 116, 99, 68, 97, 121, 44, 32, 117, 116, 99, 72, 111, - 117, 114, 44, 32, 117, 116, 99, 77, 105, 110, 117, 116, 101, 44, 32, 115, 101, 99, 111, 110, 100, 44, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 70, 111, 114, 109, 97, 116, 41, 46, 100, 111, 109, 97, - 105, 110, 40, 91, 68, 97, 116, 101, 46, 85, 84, 67, 40, 50, 48, 48, 48, 44, 32, 48, 44, 32, 49, - 41, 44, 32, 68, 97, 116, 101, 46, 85, 84, 67, 40, 50, 48, 48, 48, 44, 32, 48, 44, 32, 50, 41, - 93, 41, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, - 114, 36, 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 48, 32, - 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 49, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 107, 49, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, - 111, 114, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 111, 114, 32, 61, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 51, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 97, 109, 112, 32, 61, 32, 102, 97, 108, 115, 101, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, 101, - 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 120, 32, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 105, 115, 78, 97, 78, 40, 120, 32, - 61, 32, 43, 120, 41, 32, 63, 32, 117, 110, 107, 110, 111, 119, 110, 32, 58, 32, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 111, 114, 40, 107, 49, 48, 32, 61, 61, 61, 32, 48, 32, 63, 32, 48, 46, 53, - 32, 58, 32, 40, 120, 32, 61, 32, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 120, 41, 32, 45, - 32, 116, 48, 41, 32, 42, 32, 107, 49, 48, 44, 32, 99, 108, 97, 109, 112, 32, 63, 32, 77, 97, 116, - 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 49, 44, 32, 120, 41, - 41, 32, 58, 32, 120, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 63, 32, 40, 91, 120, 48, 44, 32, 120, 49, 93, 32, 61, 32, 95, 44, 32, 116, 48, 32, 61, 32, - 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 120, 48, 32, 61, 32, 43, 120, 48, 41, 44, 32, 116, 49, - 32, 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 120, 49, 32, 61, 32, 43, 120, 49, 41, 44, - 32, 107, 49, 48, 32, 61, 32, 116, 48, 32, 61, 61, 61, 32, 116, 49, 32, 63, 32, 48, 32, 58, 32, - 49, 32, 47, 32, 40, 116, 49, 32, 45, 32, 116, 48, 41, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, - 32, 91, 120, 48, 44, 32, 120, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 108, 97, 109, 112, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 99, 108, 97, 109, 112, 32, 61, 32, 33, 33, 95, 44, 32, 115, 99, 97, 108, - 101, 41, 32, 58, 32, 99, 108, 97, 109, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 111, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 105, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 111, 114, 32, 61, 32, 95, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 103, 101, 40, 105, 110, - 116, 101, 114, 112, 111, 108, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 48, 44, - 32, 114, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, - 32, 40, 91, 114, 48, 44, 32, 114, 49, 93, 32, 61, 32, 95, 44, 32, 105, 110, 116, 101, 114, 112, 111, - 108, 97, 116, 111, 114, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 114, 48, 44, - 32, 114, 49, 41, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 91, 105, 110, 116, 101, 114, 112, 111, - 108, 97, 116, 111, 114, 40, 48, 41, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 40, - 49, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, - 97, 110, 103, 101, 32, 61, 32, 114, 97, 110, 103, 101, 40, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, - 101, 36, 50, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, - 110, 103, 101, 82, 111, 117, 110, 100, 32, 61, 32, 114, 97, 110, 103, 101, 40, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 101, 82, 111, 117, 110, 100, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 99, 97, 108, 101, 46, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 117, - 110, 107, 110, 111, 119, 110, 32, 61, 32, 95, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 117, 110, - 107, 110, 111, 119, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 32, 61, 32, 116, 44, 32, 116, 48, 32, 61, 32, 116, 40, 120, 48, 41, 44, 32, 116, 49, 32, 61, 32, - 116, 40, 120, 49, 41, 44, 32, 107, 49, 48, 32, 61, 32, 116, 48, 32, 61, 61, 61, 32, 116, 49, 32, - 63, 32, 48, 32, 58, 32, 49, 32, 47, 32, 40, 116, 49, 32, 45, 32, 116, 48, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 112, 121, 40, 115, 111, 117, 114, 99, 101, 44, 32, 116, - 97, 114, 103, 101, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 116, 97, 114, 103, 101, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 100, 111, - 109, 97, 105, 110, 40, 115, 111, 117, 114, 99, 101, 46, 100, 111, 109, 97, 105, 110, 40, 41, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, - 114, 40, 115, 111, 117, 114, 99, 101, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 40, 41, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 108, 97, 109, 112, 40, 115, 111, - 117, 114, 99, 101, 46, 99, 108, 97, 109, 112, 40, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 117, 110, 107, 110, 111, 119, 110, 40, 115, 111, 117, 114, 99, 101, 46, 117, 110, 107, 110, - 111, 119, 110, 40, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 115, 101, 113, 117, 101, 110, 116, 105, 97, 108, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 97, 108, 101, 32, 61, 32, 108, 105, 110, 101, 97, 114, - 105, 115, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 36, 49, 40, 41, 40, 105, 100, 101, - 110, 116, 105, 116, 121, 36, 51, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, - 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 112, 121, - 40, 115, 99, 97, 108, 101, 44, 32, 115, 101, 113, 117, 101, 110, 116, 105, 97, 108, 40, 41, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 105, 110, 105, 116, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 46, 97, 112, - 112, 108, 121, 40, 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 113, - 117, 101, 110, 116, 105, 97, 108, 76, 111, 103, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 99, 97, 108, 101, 32, 61, 32, 108, 111, 103, 103, 105, 115, 104, 40, 116, 114, 97, - 110, 115, 102, 111, 114, 109, 101, 114, 36, 49, 40, 41, 41, 46, 100, 111, 109, 97, 105, 110, 40, 91, 49, - 44, 32, 49, 48, 93, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, - 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 112, 121, 40, 115, 99, - 97, 108, 101, 44, 32, 115, 101, 113, 117, 101, 110, 116, 105, 97, 108, 76, 111, 103, 40, 41, 41, 46, 98, - 97, 115, 101, 40, 115, 99, 97, 108, 101, 46, 98, 97, 115, 101, 40, 41, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 105, 110, 105, 116, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 46, 97, 112, 112, 108, 121, 40, - 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 113, 117, 101, 110, 116, - 105, 97, 108, 83, 121, 109, 108, 111, 103, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 115, 99, 97, 108, 101, 32, 61, 32, 115, 121, 109, 108, 111, 103, 105, 115, 104, 40, 116, 114, - 97, 110, 115, 102, 111, 114, 109, 101, 114, 36, 49, 40, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 99, 111, 112, 121, 40, 115, 99, 97, 108, 101, 44, 32, 115, 101, 113, 117, 101, 110, 116, 105, 97, 108, - 83, 121, 109, 108, 111, 103, 40, 41, 41, 46, 99, 111, 110, 115, 116, 97, 110, 116, 40, 115, 99, 97, 108, - 101, 46, 99, 111, 110, 115, 116, 97, 110, 116, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 105, 116, - 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 46, 97, 112, 112, 108, 121, 40, 115, 99, 97, 108, - 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 113, 117, 101, 110, 116, 105, 97, 108, 80, - 111, 119, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 97, 108, - 101, 32, 61, 32, 112, 111, 119, 105, 115, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 36, - 49, 40, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, - 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 112, 121, 40, 115, 99, 97, 108, - 101, 44, 32, 115, 101, 113, 117, 101, 110, 116, 105, 97, 108, 80, 111, 119, 40, 41, 41, 46, 101, 120, 112, - 111, 110, 101, 110, 116, 40, 115, 99, 97, 108, 101, 46, 101, 120, 112, 111, 110, 101, 110, 116, 40, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 105, 110, 105, 116, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 46, - 97, 112, 112, 108, 121, 40, 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, - 101, 113, 117, 101, 110, 116, 105, 97, 108, 83, 113, 114, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 101, 113, 117, 101, 110, 116, 105, 97, 108, 80, 111, 119, - 46, 97, 112, 112, 108, 121, 40, 110, 117, 108, 108, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, - 46, 101, 120, 112, 111, 110, 101, 110, 116, 40, 48, 46, 53, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 101, 113, 117, 101, 110, 116, 105, 97, 108, - 81, 117, 97, 110, 116, 105, 108, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 100, 111, 109, 97, 105, 110, 32, 61, 32, 91, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 32, 61, 32, 105, 100, 101, 110, - 116, 105, 116, 121, 36, 51, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 115, 99, 97, 108, 101, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 120, 32, 33, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, 33, 105, 115, - 78, 97, 78, 40, 120, 32, 61, 32, 43, 120, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 111, 114, 40, 40, 98, 105, 115, 101, 99, 116, 82, 105, 103, 104, 116, 40, - 100, 111, 109, 97, 105, 110, 44, 32, 120, 44, 32, 49, 41, 32, 45, 32, 49, 41, 32, 47, 32, 40, 100, - 111, 109, 97, 105, 110, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 100, - 111, 109, 97, 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 114, 101, 116, 117, 114, 110, 32, 100, 111, 109, 97, 105, - 110, 46, 115, 108, 105, 99, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 111, 109, 97, 105, 110, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 100, 32, 111, 102, 32, 95, 41, 32, 105, 102, 32, 40, - 100, 32, 33, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, 33, 105, 115, 78, 97, 78, 40, 100, 32, 61, - 32, 43, 100, 41, 41, 32, 100, 111, 109, 97, 105, 110, 46, 112, 117, 115, 104, 40, 100, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 109, 97, 105, 110, 46, 115, 111, 114, 116, 40, - 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 111, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 105, 110, 116, 101, - 114, 112, 111, 108, 97, 116, 111, 114, 32, 61, 32, 95, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, 101, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 111, 109, 97, 105, 110, 46, 109, 97, 112, 40, 40, - 100, 44, 32, 105, 41, 32, 61, 62, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 40, 105, - 32, 47, 32, 40, 100, 111, 109, 97, 105, 110, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 41, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 99, 97, 108, 101, 46, 113, 117, 97, 110, 116, 105, 108, 101, 115, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 123, 108, 101, 110, 103, 116, 104, - 58, 32, 110, 32, 43, 32, 49, 125, 44, 32, 40, 95, 44, 32, 105, 41, 32, 61, 62, 32, 113, 117, 97, - 110, 116, 105, 108, 101, 36, 49, 40, 100, 111, 109, 97, 105, 110, 44, 32, 105, 32, 47, 32, 110, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 101, - 113, 117, 101, 110, 116, 105, 97, 108, 81, 117, 97, 110, 116, 105, 108, 101, 40, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 111, 114, 41, 46, 100, 111, 109, 97, 105, 110, 40, 100, 111, 109, 97, 105, 110, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 105, 110, 105, 116, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 46, 97, - 112, 112, 108, 121, 40, 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, - 97, 110, 115, 102, 111, 114, 109, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 120, 48, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 49, 32, 61, 32, 48, 46, 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, - 50, 32, 61, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, - 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 49, 48, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 50, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 32, 61, 32, 105, 100, 101, - 110, 116, 105, 116, 121, 36, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, - 97, 110, 115, 102, 111, 114, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, - 97, 109, 112, 32, 61, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 117, 110, 107, 110, 111, 119, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, 101, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 115, 78, 97, 78, 40, 120, 32, 61, 32, - 43, 120, 41, 32, 63, 32, 117, 110, 107, 110, 111, 119, 110, 32, 58, 32, 40, 120, 32, 61, 32, 48, 46, - 53, 32, 43, 32, 40, 40, 120, 32, 61, 32, 43, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 120, 41, - 41, 32, 45, 32, 116, 49, 41, 32, 42, 32, 40, 115, 32, 42, 32, 120, 32, 60, 32, 115, 32, 42, 32, - 116, 49, 32, 63, 32, 107, 49, 48, 32, 58, 32, 107, 50, 49, 41, 44, 32, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 111, 114, 40, 99, 108, 97, 109, 112, 32, 63, 32, 77, 97, 116, 104, 46, 109, 97, 120, - 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 49, 44, 32, 120, 41, 41, 32, 58, 32, 120, - 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 99, 97, 108, 101, 46, 100, 111, 109, 97, 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 91, - 120, 48, 44, 32, 120, 49, 44, 32, 120, 50, 93, 32, 61, 32, 95, 44, 32, 116, 48, 32, 61, 32, 116, - 114, 97, 110, 115, 102, 111, 114, 109, 40, 120, 48, 32, 61, 32, 43, 120, 48, 41, 44, 32, 116, 49, 32, - 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 120, 49, 32, 61, 32, 43, 120, 49, 41, 44, 32, - 116, 50, 32, 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 120, 50, 32, 61, 32, 43, 120, 50, - 41, 44, 32, 107, 49, 48, 32, 61, 32, 116, 48, 32, 61, 61, 61, 32, 116, 49, 32, 63, 32, 48, 32, - 58, 32, 48, 46, 53, 32, 47, 32, 40, 116, 49, 32, 45, 32, 116, 48, 41, 44, 32, 107, 50, 49, 32, - 61, 32, 116, 49, 32, 61, 61, 61, 32, 116, 50, 32, 63, 32, 48, 32, 58, 32, 48, 46, 53, 32, 47, - 32, 40, 116, 50, 32, 45, 32, 116, 49, 41, 44, 32, 115, 32, 61, 32, 116, 49, 32, 60, 32, 116, 48, - 32, 63, 32, 45, 49, 32, 58, 32, 49, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 91, 120, 48, - 44, 32, 120, 49, 44, 32, 120, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 108, 97, 109, 112, 32, 61, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 99, 108, 97, 109, 112, 32, 61, 32, 33, 33, 95, 44, 32, 115, 99, 97, 108, - 101, 41, 32, 58, 32, 99, 108, 97, 109, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 111, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 105, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 111, 114, 32, 61, 32, 95, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 110, 103, 101, 40, 105, 110, - 116, 101, 114, 112, 111, 108, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 48, 44, - 32, 114, 49, 44, 32, 114, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, - 116, 104, 32, 63, 32, 40, 91, 114, 48, 44, 32, 114, 49, 44, 32, 114, 50, 93, 32, 61, 32, 95, 44, - 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 32, 61, 32, 112, 105, 101, 99, 101, 119, 105, - 115, 101, 40, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 44, 32, 91, 114, 48, 44, 32, 114, 49, - 44, 32, 114, 50, 93, 41, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 91, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 111, 114, 40, 48, 41, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, - 114, 40, 48, 46, 53, 41, 44, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 40, 49, 41, - 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, - 103, 101, 32, 61, 32, 114, 97, 110, 103, 101, 40, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 36, - 50, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 114, 97, 110, 103, - 101, 82, 111, 117, 110, 100, 32, 61, 32, 114, 97, 110, 103, 101, 40, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 82, 111, 117, 110, 100, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, - 108, 101, 46, 117, 110, 107, 110, 111, 119, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 117, 110, 107, - 110, 111, 119, 110, 32, 61, 32, 95, 44, 32, 115, 99, 97, 108, 101, 41, 32, 58, 32, 117, 110, 107, 110, - 111, 119, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 32, 61, - 32, 116, 44, 32, 116, 48, 32, 61, 32, 116, 40, 120, 48, 41, 44, 32, 116, 49, 32, 61, 32, 116, 40, - 120, 49, 41, 44, 32, 116, 50, 32, 61, 32, 116, 40, 120, 50, 41, 44, 32, 107, 49, 48, 32, 61, 32, - 116, 48, 32, 61, 61, 61, 32, 116, 49, 32, 63, 32, 48, 32, 58, 32, 48, 46, 53, 32, 47, 32, 40, - 116, 49, 32, 45, 32, 116, 48, 41, 44, 32, 107, 50, 49, 32, 61, 32, 116, 49, 32, 61, 61, 61, 32, - 116, 50, 32, 63, 32, 48, 32, 58, 32, 48, 46, 53, 32, 47, 32, 40, 116, 50, 32, 45, 32, 116, 49, - 41, 44, 32, 115, 32, 61, 32, 116, 49, 32, 60, 32, 116, 48, 32, 63, 32, 45, 49, 32, 58, 32, 49, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 99, - 97, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 105, 118, 101, 114, 103, 105, 110, 103, 36, - 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 97, 108, 101, - 32, 61, 32, 108, 105, 110, 101, 97, 114, 105, 115, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, - 114, 40, 41, 40, 105, 100, 101, 110, 116, 105, 116, 121, 36, 51, 41, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 99, 111, 112, 121, 40, 115, 99, 97, 108, 101, 44, 32, 100, 105, 118, 101, 114, 103, 105, 110, - 103, 36, 49, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 105, 116, 73, 110, 116, 101, 114, 112, 111, - 108, 97, 116, 111, 114, 46, 97, 112, 112, 108, 121, 40, 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 100, 105, 118, 101, 114, 103, 105, 110, 103, 76, 111, 103, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 97, 108, 101, 32, 61, 32, 108, 111, 103, 103, - 105, 115, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 40, 41, 41, 46, 100, 111, 109, 97, - 105, 110, 40, 91, 48, 46, 49, 44, 32, 49, 44, 32, 49, 48, 93, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 99, 111, 112, 121, 40, 115, 99, 97, 108, 101, 44, 32, 100, 105, 118, 101, 114, 103, 105, 110, - 103, 76, 111, 103, 40, 41, 41, 46, 98, 97, 115, 101, 40, 115, 99, 97, 108, 101, 46, 98, 97, 115, 101, - 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 105, 116, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, - 111, 114, 46, 97, 112, 112, 108, 121, 40, 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 100, 105, 118, 101, 114, 103, 105, 110, 103, 83, 121, 109, 108, 111, 103, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 97, 108, 101, 32, 61, 32, 115, 121, 109, 108, - 111, 103, 105, 115, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 40, 41, 41, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, 99, 111, 112, 121, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 99, 111, 112, 121, 40, 115, 99, 97, 108, 101, 44, 32, 100, 105, 118, 101, - 114, 103, 105, 110, 103, 83, 121, 109, 108, 111, 103, 40, 41, 41, 46, 99, 111, 110, 115, 116, 97, 110, 116, - 40, 115, 99, 97, 108, 101, 46, 99, 111, 110, 115, 116, 97, 110, 116, 40, 41, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 105, 110, 105, 116, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, 46, 97, 112, 112, 108, 121, - 40, 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 105, 118, 101, 114, 103, - 105, 110, 103, 80, 111, 119, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 115, 99, 97, 108, 101, 32, 61, 32, 112, 111, 119, 105, 115, 104, 40, 116, 114, 97, 110, 115, 102, 111, 114, - 109, 101, 114, 40, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, 46, - 99, 111, 112, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 112, 121, 40, 115, 99, - 97, 108, 101, 44, 32, 100, 105, 118, 101, 114, 103, 105, 110, 103, 80, 111, 119, 40, 41, 41, 46, 101, 120, - 112, 111, 110, 101, 110, 116, 40, 115, 99, 97, 108, 101, 46, 101, 120, 112, 111, 110, 101, 110, 116, 40, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 105, 110, 105, 116, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 111, 114, - 46, 97, 112, 112, 108, 121, 40, 115, 99, 97, 108, 101, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 100, 105, 118, 101, 114, 103, 105, 110, 103, 83, 113, 114, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 105, 118, 101, 114, 103, 105, 110, 103, 80, 111, 119, 46, - 97, 112, 112, 108, 121, 40, 110, 117, 108, 108, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 46, - 101, 120, 112, 111, 110, 101, 110, 116, 40, 48, 46, 53, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 108, 111, 114, 115, 40, 115, 112, 101, 99, - 105, 102, 105, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, - 61, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 108, 101, 110, 103, 116, 104, 32, 47, 32, 54, 32, - 124, 32, 48, 44, 32, 99, 111, 108, 111, 114, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, - 40, 110, 41, 44, 32, 105, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, - 108, 101, 32, 40, 105, 32, 60, 32, 110, 41, 32, 99, 111, 108, 111, 114, 115, 91, 105, 93, 32, 61, 32, - 34, 35, 34, 32, 43, 32, 115, 112, 101, 99, 105, 102, 105, 101, 114, 46, 115, 108, 105, 99, 101, 40, 105, - 32, 42, 32, 54, 44, 32, 43, 43, 105, 32, 42, 32, 54, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 108, 111, 114, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 99, 97, 116, 101, 103, 111, 114, 121, 49, 48, 32, 61, 32, 99, 111, - 108, 111, 114, 115, 40, 34, 49, 102, 55, 55, 98, 52, 102, 102, 55, 102, 48, 101, 50, 99, 97, 48, 50, - 99, 100, 54, 50, 55, 50, 56, 57, 52, 54, 55, 98, 100, 56, 99, 53, 54, 52, 98, 101, 51, 55, 55, - 99, 50, 55, 102, 55, 102, 55, 102, 98, 99, 98, 100, 50, 50, 49, 55, 98, 101, 99, 102, 34, 41, 59, - 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 65, 99, 99, 101, 110, 116, 32, 61, 32, 99, 111, 108, 111, - 114, 115, 40, 34, 55, 102, 99, 57, 55, 102, 98, 101, 97, 101, 100, 52, 102, 100, 99, 48, 56, 54, 102, - 102, 102, 102, 57, 57, 51, 56, 54, 99, 98, 48, 102, 48, 48, 50, 55, 102, 98, 102, 53, 98, 49, 55, - 54, 54, 54, 54, 54, 54, 34, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 68, 97, 114, 107, - 50, 32, 61, 32, 99, 111, 108, 111, 114, 115, 40, 34, 49, 98, 57, 101, 55, 55, 100, 57, 53, 102, 48, - 50, 55, 53, 55, 48, 98, 51, 101, 55, 50, 57, 56, 97, 54, 54, 97, 54, 49, 101, 101, 54, 97, 98, - 48, 50, 97, 54, 55, 54, 49, 100, 54, 54, 54, 54, 54, 54, 34, 41, 59, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 80, 97, 105, 114, 101, 100, 32, 61, 32, 99, 111, 108, 111, 114, 115, 40, 34, 97, 54, - 99, 101, 101, 51, 49, 102, 55, 56, 98, 52, 98, 50, 100, 102, 56, 97, 51, 51, 97, 48, 50, 99, 102, - 98, 57, 97, 57, 57, 101, 51, 49, 97, 49, 99, 102, 100, 98, 102, 54, 102, 102, 102, 55, 102, 48, 48, - 99, 97, 98, 50, 100, 54, 54, 97, 51, 100, 57, 97, 102, 102, 102, 102, 57, 57, 98, 49, 53, 57, 50, - 56, 34, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 80, 97, 115, 116, 101, 108, 49, 32, 61, - 32, 99, 111, 108, 111, 114, 115, 40, 34, 102, 98, 98, 52, 97, 101, 98, 51, 99, 100, 101, 51, 99, 99, - 101, 98, 99, 53, 100, 101, 99, 98, 101, 52, 102, 101, 100, 57, 97, 54, 102, 102, 102, 102, 99, 99, 101, - 53, 100, 56, 98, 100, 102, 100, 100, 97, 101, 99, 102, 50, 102, 50, 102, 50, 34, 41, 59, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 80, 97, 115, 116, 101, 108, 50, 32, 61, 32, 99, 111, 108, 111, 114, 115, - 40, 34, 98, 51, 101, 50, 99, 100, 102, 100, 99, 100, 97, 99, 99, 98, 100, 53, 101, 56, 102, 52, 99, - 97, 101, 52, 101, 54, 102, 53, 99, 57, 102, 102, 102, 50, 97, 101, 102, 49, 101, 50, 99, 99, 99, 99, - 99, 99, 99, 99, 34, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 83, 101, 116, 49, 32, 61, - 32, 99, 111, 108, 111, 114, 115, 40, 34, 101, 52, 49, 97, 49, 99, 51, 55, 55, 101, 98, 56, 52, 100, - 97, 102, 52, 97, 57, 56, 52, 101, 97, 51, 102, 102, 55, 102, 48, 48, 102, 102, 102, 102, 51, 51, 97, - 54, 53, 54, 50, 56, 102, 55, 56, 49, 98, 102, 57, 57, 57, 57, 57, 57, 34, 41, 59, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 83, 101, 116, 50, 32, 61, 32, 99, 111, 108, 111, 114, 115, 40, 34, 54, - 54, 99, 50, 97, 53, 102, 99, 56, 100, 54, 50, 56, 100, 97, 48, 99, 98, 101, 55, 56, 97, 99, 51, - 97, 54, 100, 56, 53, 52, 102, 102, 100, 57, 50, 102, 101, 53, 99, 52, 57, 52, 98, 51, 98, 51, 98, - 51, 34, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 83, 101, 116, 51, 32, 61, 32, 99, 111, - 108, 111, 114, 115, 40, 34, 56, 100, 100, 51, 99, 55, 102, 102, 102, 102, 98, 51, 98, 101, 98, 97, 100, - 97, 102, 98, 56, 48, 55, 50, 56, 48, 98, 49, 100, 51, 102, 100, 98, 52, 54, 50, 98, 51, 100, 101, - 54, 57, 102, 99, 99, 100, 101, 53, 100, 57, 100, 57, 100, 57, 98, 99, 56, 48, 98, 100, 99, 99, 101, - 98, 99, 53, 102, 102, 101, 100, 54, 102, 34, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 84, - 97, 98, 108, 101, 97, 117, 49, 48, 32, 61, 32, 99, 111, 108, 111, 114, 115, 40, 34, 52, 101, 55, 57, - 97, 55, 102, 50, 56, 101, 50, 99, 101, 49, 53, 55, 53, 57, 55, 54, 98, 55, 98, 50, 53, 57, 97, - 49, 52, 102, 101, 100, 99, 57, 52, 57, 97, 102, 55, 97, 97, 49, 102, 102, 57, 100, 97, 55, 57, 99, - 55, 53, 53, 102, 98, 97, 98, 48, 97, 98, 34, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 114, 97, 109, 112, 36, 49, 32, 61, 32, 115, 99, 104, 101, 109, 101, 32, 61, 62, 32, 114, 103, 98, 66, - 97, 115, 105, 115, 40, 115, 99, 104, 101, 109, 101, 91, 115, 99, 104, 101, 109, 101, 46, 108, 101, 110, 103, - 116, 104, 32, 45, 32, 49, 93, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, - 109, 101, 36, 113, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, - 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 56, 98, 51, 54, 53, 102, 53, 102, - 53, 102, 53, 53, 97, 98, 52, 97, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 97, 54, - 54, 49, 49, 97, 100, 102, 99, 50, 55, 100, 56, 48, 99, 100, 99, 49, 48, 49, 56, 53, 55, 49, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 97, 54, 54, 49, 49, 97, 100, 102, 99, 50, 55, 100, - 102, 53, 102, 53, 102, 53, 56, 48, 99, 100, 99, 49, 48, 49, 56, 53, 55, 49, 34, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 56, 99, 53, 49, 48, 97, 100, 56, 98, 51, 54, 53, 102, 54, 101, 56, - 99, 51, 99, 55, 101, 97, 101, 53, 53, 97, 98, 52, 97, 99, 48, 49, 54, 54, 53, 101, 34, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 34, 56, 99, 53, 49, 48, 97, 100, 56, 98, 51, 54, 53, 102, 54, - 101, 56, 99, 51, 102, 53, 102, 53, 102, 53, 99, 55, 101, 97, 101, 53, 53, 97, 98, 52, 97, 99, 48, - 49, 54, 54, 53, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 56, 99, 53, 49, 48, 97, - 98, 102, 56, 49, 50, 100, 100, 102, 99, 50, 55, 100, 102, 54, 101, 56, 99, 51, 99, 55, 101, 97, 101, - 53, 56, 48, 99, 100, 99, 49, 51, 53, 57, 55, 56, 102, 48, 49, 54, 54, 53, 101, 34, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 56, 99, 53, 49, 48, 97, 98, 102, 56, 49, 50, 100, 100, 102, 99, - 50, 55, 100, 102, 54, 101, 56, 99, 51, 102, 53, 102, 53, 102, 53, 99, 55, 101, 97, 101, 53, 56, 48, - 99, 100, 99, 49, 51, 53, 57, 55, 56, 102, 48, 49, 54, 54, 53, 101, 34, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 53, 52, 51, 48, 48, 53, 56, 99, 53, 49, 48, 97, 98, 102, 56, 49, 50, 100, - 100, 102, 99, 50, 55, 100, 102, 54, 101, 56, 99, 51, 99, 55, 101, 97, 101, 53, 56, 48, 99, 100, 99, - 49, 51, 53, 57, 55, 56, 102, 48, 49, 54, 54, 53, 101, 48, 48, 51, 99, 51, 48, 34, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 53, 52, 51, 48, 48, 53, 56, 99, 53, 49, 48, 97, 98, 102, 56, - 49, 50, 100, 100, 102, 99, 50, 55, 100, 102, 54, 101, 56, 99, 51, 102, 53, 102, 53, 102, 53, 99, 55, - 101, 97, 101, 53, 56, 48, 99, 100, 99, 49, 51, 53, 57, 55, 56, 102, 48, 49, 54, 54, 53, 101, 48, - 48, 51, 99, 51, 48, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, - 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 66, 114, 66, 71, 32, 61, 32, 114, 97, 109, 112, - 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 113, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 115, 99, 104, 101, 109, 101, 36, 112, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, - 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 97, 102, 56, 100, 99, - 51, 102, 55, 102, 55, 102, 55, 55, 102, 98, 102, 55, 98, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 55, 98, 51, 50, 57, 52, 99, 50, 97, 53, 99, 102, 97, 54, 100, 98, 97, 48, 48, 48, 56, - 56, 51, 55, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 55, 98, 51, 50, 57, 52, 99, 50, - 97, 53, 99, 102, 102, 55, 102, 55, 102, 55, 97, 54, 100, 98, 97, 48, 48, 48, 56, 56, 51, 55, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 55, 54, 50, 97, 56, 51, 97, 102, 56, 100, 99, 51, - 101, 55, 100, 52, 101, 56, 100, 57, 102, 48, 100, 51, 55, 102, 98, 102, 55, 98, 49, 98, 55, 56, 51, - 55, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 55, 54, 50, 97, 56, 51, 97, 102, 56, 100, - 99, 51, 101, 55, 100, 52, 101, 56, 102, 55, 102, 55, 102, 55, 100, 57, 102, 48, 100, 51, 55, 102, 98, - 102, 55, 98, 49, 98, 55, 56, 51, 55, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 55, 54, - 50, 97, 56, 51, 57, 57, 55, 48, 97, 98, 99, 50, 97, 53, 99, 102, 101, 55, 100, 52, 101, 56, 100, - 57, 102, 48, 100, 51, 97, 54, 100, 98, 97, 48, 53, 97, 97, 101, 54, 49, 49, 98, 55, 56, 51, 55, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 55, 54, 50, 97, 56, 51, 57, 57, 55, 48, 97, - 98, 99, 50, 97, 53, 99, 102, 101, 55, 100, 52, 101, 56, 102, 55, 102, 55, 102, 55, 100, 57, 102, 48, - 100, 51, 97, 54, 100, 98, 97, 48, 53, 97, 97, 101, 54, 49, 49, 98, 55, 56, 51, 55, 34, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 34, 52, 48, 48, 48, 52, 98, 55, 54, 50, 97, 56, 51, 57, 57, - 55, 48, 97, 98, 99, 50, 97, 53, 99, 102, 101, 55, 100, 52, 101, 56, 100, 57, 102, 48, 100, 51, 97, - 54, 100, 98, 97, 48, 53, 97, 97, 101, 54, 49, 49, 98, 55, 56, 51, 55, 48, 48, 52, 52, 49, 98, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 52, 48, 48, 48, 52, 98, 55, 54, 50, 97, 56, - 51, 57, 57, 55, 48, 97, 98, 99, 50, 97, 53, 99, 102, 101, 55, 100, 52, 101, 56, 102, 55, 102, 55, - 102, 55, 100, 57, 102, 48, 100, 51, 97, 54, 100, 98, 97, 48, 53, 97, 97, 101, 54, 49, 49, 98, 55, - 56, 51, 55, 48, 48, 52, 52, 49, 98, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, - 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 80, 82, 71, 110, 32, 61, 32, - 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 112, 41, 59, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 111, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, - 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, - 57, 97, 51, 99, 57, 102, 55, 102, 55, 102, 55, 97, 49, 100, 55, 54, 97, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 100, 48, 49, 99, 56, 98, 102, 49, 98, 54, 100, 97, 98, 56, 101, 49, 56, - 54, 52, 100, 97, 99, 50, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 48, 49, 99, - 56, 98, 102, 49, 98, 54, 100, 97, 102, 55, 102, 55, 102, 55, 98, 56, 101, 49, 56, 54, 52, 100, 97, - 99, 50, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 99, 53, 49, 98, 55, 100, 101, 57, - 97, 51, 99, 57, 102, 100, 101, 48, 101, 102, 101, 54, 102, 53, 100, 48, 97, 49, 100, 55, 54, 97, 52, - 100, 57, 50, 50, 49, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 99, 53, 49, 98, 55, 100, - 101, 57, 97, 51, 99, 57, 102, 100, 101, 48, 101, 102, 102, 55, 102, 55, 102, 55, 101, 54, 102, 53, 100, - 48, 97, 49, 100, 55, 54, 97, 52, 100, 57, 50, 50, 49, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 99, 53, 49, 98, 55, 100, 100, 101, 55, 55, 97, 101, 102, 49, 98, 54, 100, 97, 102, 100, 101, - 48, 101, 102, 101, 54, 102, 53, 100, 48, 98, 56, 101, 49, 56, 54, 55, 102, 98, 99, 52, 49, 52, 100, - 57, 50, 50, 49, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 99, 53, 49, 98, 55, 100, 100, - 101, 55, 55, 97, 101, 102, 49, 98, 54, 100, 97, 102, 100, 101, 48, 101, 102, 102, 55, 102, 55, 102, 55, - 101, 54, 102, 53, 100, 48, 98, 56, 101, 49, 56, 54, 55, 102, 98, 99, 52, 49, 52, 100, 57, 50, 50, - 49, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 56, 101, 48, 49, 53, 50, 99, 53, 49, 98, - 55, 100, 100, 101, 55, 55, 97, 101, 102, 49, 98, 54, 100, 97, 102, 100, 101, 48, 101, 102, 101, 54, 102, - 53, 100, 48, 98, 56, 101, 49, 56, 54, 55, 102, 98, 99, 52, 49, 52, 100, 57, 50, 50, 49, 50, 55, - 54, 52, 49, 57, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 56, 101, 48, 49, 53, 50, 99, - 53, 49, 98, 55, 100, 100, 101, 55, 55, 97, 101, 102, 49, 98, 54, 100, 97, 102, 100, 101, 48, 101, 102, - 102, 55, 102, 55, 102, 55, 101, 54, 102, 53, 100, 48, 98, 56, 101, 49, 56, 54, 55, 102, 98, 99, 52, - 49, 52, 100, 57, 50, 50, 49, 50, 55, 54, 52, 49, 57, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, - 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 80, 105, 89, - 71, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 111, 41, 59, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 110, 32, 61, 32, 110, 101, 119, 32, - 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 57, 57, 56, 101, 99, 51, 102, 55, 102, 55, 102, 55, 102, 49, 97, 51, 52, 48, 34, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 53, 101, 51, 99, 57, 57, 98, 50, 97, 98, 100, 50, 102, - 100, 98, 56, 54, 51, 101, 54, 54, 49, 48, 49, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, - 53, 101, 51, 99, 57, 57, 98, 50, 97, 98, 100, 50, 102, 55, 102, 55, 102, 55, 102, 100, 98, 56, 54, - 51, 101, 54, 54, 49, 48, 49, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 53, 52, 50, 55, - 56, 56, 57, 57, 56, 101, 99, 51, 100, 56, 100, 97, 101, 98, 102, 101, 101, 48, 98, 54, 102, 49, 97, - 51, 52, 48, 98, 51, 53, 56, 48, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 53, 52, - 50, 55, 56, 56, 57, 57, 56, 101, 99, 51, 100, 56, 100, 97, 101, 98, 102, 55, 102, 55, 102, 55, 102, - 101, 101, 48, 98, 54, 102, 49, 97, 51, 52, 48, 98, 51, 53, 56, 48, 54, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 53, 52, 50, 55, 56, 56, 56, 48, 55, 51, 97, 99, 98, 50, 97, 98, 100, - 50, 100, 56, 100, 97, 101, 98, 102, 101, 101, 48, 98, 54, 102, 100, 98, 56, 54, 51, 101, 48, 56, 50, - 49, 52, 98, 51, 53, 56, 48, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 53, 52, 50, - 55, 56, 56, 56, 48, 55, 51, 97, 99, 98, 50, 97, 98, 100, 50, 100, 56, 100, 97, 101, 98, 102, 55, - 102, 55, 102, 55, 102, 101, 101, 48, 98, 54, 102, 100, 98, 56, 54, 51, 101, 48, 56, 50, 49, 52, 98, - 51, 53, 56, 48, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 50, 100, 48, 48, 52, 98, - 53, 52, 50, 55, 56, 56, 56, 48, 55, 51, 97, 99, 98, 50, 97, 98, 100, 50, 100, 56, 100, 97, 101, - 98, 102, 101, 101, 48, 98, 54, 102, 100, 98, 56, 54, 51, 101, 48, 56, 50, 49, 52, 98, 51, 53, 56, - 48, 54, 55, 102, 51, 98, 48, 56, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 50, 100, 48, - 48, 52, 98, 53, 52, 50, 55, 56, 56, 56, 48, 55, 51, 97, 99, 98, 50, 97, 98, 100, 50, 100, 56, - 100, 97, 101, 98, 102, 55, 102, 55, 102, 55, 102, 101, 101, 48, 98, 54, 102, 100, 98, 56, 54, 51, 101, - 48, 56, 50, 49, 52, 98, 51, 53, 56, 48, 54, 55, 102, 51, 98, 48, 56, 34, 10, 32, 32, 32, 32, - 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 80, 117, 79, 114, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 110, - 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 109, 32, 61, 32, - 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 101, 102, 56, 97, 54, 50, 102, 55, 102, 55, 102, 55, 54, 55, 97, 57, - 99, 102, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 99, 97, 48, 48, 50, 48, 102, 52, 97, - 53, 56, 50, 57, 50, 99, 53, 100, 101, 48, 53, 55, 49, 98, 48, 34, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 99, 97, 48, 48, 50, 48, 102, 52, 97, 53, 56, 50, 102, 55, 102, 55, 102, 55, 57, - 50, 99, 53, 100, 101, 48, 53, 55, 49, 98, 48, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, - 98, 50, 49, 56, 50, 98, 101, 102, 56, 97, 54, 50, 102, 100, 100, 98, 99, 55, 100, 49, 101, 53, 102, - 48, 54, 55, 97, 57, 99, 102, 50, 49, 54, 54, 97, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 98, 50, 49, 56, 50, 98, 101, 102, 56, 97, 54, 50, 102, 100, 100, 98, 99, 55, 102, 55, 102, - 55, 102, 55, 100, 49, 101, 53, 102, 48, 54, 55, 97, 57, 99, 102, 50, 49, 54, 54, 97, 99, 34, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 98, 50, 49, 56, 50, 98, 100, 54, 54, 48, 52, 100, 102, - 52, 97, 53, 56, 50, 102, 100, 100, 98, 99, 55, 100, 49, 101, 53, 102, 48, 57, 50, 99, 53, 100, 101, - 52, 51, 57, 51, 99, 51, 50, 49, 54, 54, 97, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 34, 98, 50, 49, 56, 50, 98, 100, 54, 54, 48, 52, 100, 102, 52, 97, 53, 56, 50, 102, 100, 100, 98, - 99, 55, 102, 55, 102, 55, 102, 55, 100, 49, 101, 53, 102, 48, 57, 50, 99, 53, 100, 101, 52, 51, 57, - 51, 99, 51, 50, 49, 54, 54, 97, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 54, 55, - 48, 48, 49, 102, 98, 50, 49, 56, 50, 98, 100, 54, 54, 48, 52, 100, 102, 52, 97, 53, 56, 50, 102, - 100, 100, 98, 99, 55, 100, 49, 101, 53, 102, 48, 57, 50, 99, 53, 100, 101, 52, 51, 57, 51, 99, 51, - 50, 49, 54, 54, 97, 99, 48, 53, 51, 48, 54, 49, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 34, 54, 55, 48, 48, 49, 102, 98, 50, 49, 56, 50, 98, 100, 54, 54, 48, 52, 100, 102, 52, 97, 53, - 56, 50, 102, 100, 100, 98, 99, 55, 102, 55, 102, 55, 102, 55, 100, 49, 101, 53, 102, 48, 57, 50, 99, - 53, 100, 101, 52, 51, 57, 51, 99, 51, 50, 49, 54, 54, 97, 99, 48, 53, 51, 48, 54, 49, 34, 10, - 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, - 32, 118, 97, 114, 32, 82, 100, 66, 117, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, - 109, 101, 36, 109, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, - 108, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, - 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 102, 56, 97, 54, 50, 102, 102, 102, 102, 102, 102, - 57, 57, 57, 57, 57, 57, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 99, 97, 48, 48, 50, - 48, 102, 52, 97, 53, 56, 50, 98, 97, 98, 97, 98, 97, 52, 48, 52, 48, 52, 48, 34, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 99, 97, 48, 48, 50, 48, 102, 52, 97, 53, 56, 50, 102, 102, 102, - 102, 102, 102, 98, 97, 98, 97, 98, 97, 52, 48, 52, 48, 52, 48, 34, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 98, 50, 49, 56, 50, 98, 101, 102, 56, 97, 54, 50, 102, 100, 100, 98, 99, 55, 101, - 48, 101, 48, 101, 48, 57, 57, 57, 57, 57, 57, 52, 100, 52, 100, 52, 100, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 98, 50, 49, 56, 50, 98, 101, 102, 56, 97, 54, 50, 102, 100, 100, 98, 99, - 55, 102, 102, 102, 102, 102, 102, 101, 48, 101, 48, 101, 48, 57, 57, 57, 57, 57, 57, 52, 100, 52, 100, - 52, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 98, 50, 49, 56, 50, 98, 100, 54, 54, - 48, 52, 100, 102, 52, 97, 53, 56, 50, 102, 100, 100, 98, 99, 55, 101, 48, 101, 48, 101, 48, 98, 97, - 98, 97, 98, 97, 56, 55, 56, 55, 56, 55, 52, 100, 52, 100, 52, 100, 34, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 98, 50, 49, 56, 50, 98, 100, 54, 54, 48, 52, 100, 102, 52, 97, 53, 56, 50, - 102, 100, 100, 98, 99, 55, 102, 102, 102, 102, 102, 102, 101, 48, 101, 48, 101, 48, 98, 97, 98, 97, 98, - 97, 56, 55, 56, 55, 56, 55, 52, 100, 52, 100, 52, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 54, 55, 48, 48, 49, 102, 98, 50, 49, 56, 50, 98, 100, 54, 54, 48, 52, 100, 102, 52, 97, - 53, 56, 50, 102, 100, 100, 98, 99, 55, 101, 48, 101, 48, 101, 48, 98, 97, 98, 97, 98, 97, 56, 55, - 56, 55, 56, 55, 52, 100, 52, 100, 52, 100, 49, 97, 49, 97, 49, 97, 34, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 54, 55, 48, 48, 49, 102, 98, 50, 49, 56, 50, 98, 100, 54, 54, 48, 52, 100, - 102, 52, 97, 53, 56, 50, 102, 100, 100, 98, 99, 55, 102, 102, 102, 102, 102, 102, 101, 48, 101, 48, 101, - 48, 98, 97, 98, 97, 98, 97, 56, 55, 56, 55, 56, 55, 52, 100, 52, 100, 52, 100, 49, 97, 49, 97, - 49, 97, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 82, 100, 71, 121, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, - 115, 99, 104, 101, 109, 101, 36, 108, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, - 101, 109, 101, 36, 107, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, - 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 99, 56, 100, 53, 57, 102, 102, - 102, 102, 98, 102, 57, 49, 98, 102, 100, 98, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, - 55, 49, 57, 49, 99, 102, 100, 97, 101, 54, 49, 97, 98, 100, 57, 101, 57, 50, 99, 55, 98, 98, 54, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 55, 49, 57, 49, 99, 102, 100, 97, 101, 54, - 49, 102, 102, 102, 102, 98, 102, 97, 98, 100, 57, 101, 57, 50, 99, 55, 98, 98, 54, 34, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 100, 55, 51, 48, 50, 55, 102, 99, 56, 100, 53, 57, 102, 101, 101, - 48, 57, 48, 101, 48, 102, 51, 102, 56, 57, 49, 98, 102, 100, 98, 52, 53, 55, 53, 98, 52, 34, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 55, 51, 48, 50, 55, 102, 99, 56, 100, 53, 57, 102, - 101, 101, 48, 57, 48, 102, 102, 102, 102, 98, 102, 101, 48, 102, 51, 102, 56, 57, 49, 98, 102, 100, 98, - 52, 53, 55, 53, 98, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 55, 51, 48, 50, - 55, 102, 52, 54, 100, 52, 51, 102, 100, 97, 101, 54, 49, 102, 101, 101, 48, 57, 48, 101, 48, 102, 51, - 102, 56, 97, 98, 100, 57, 101, 57, 55, 52, 97, 100, 100, 49, 52, 53, 55, 53, 98, 52, 34, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 55, 51, 48, 50, 55, 102, 52, 54, 100, 52, 51, 102, 100, - 97, 101, 54, 49, 102, 101, 101, 48, 57, 48, 102, 102, 102, 102, 98, 102, 101, 48, 102, 51, 102, 56, 97, - 98, 100, 57, 101, 57, 55, 52, 97, 100, 100, 49, 52, 53, 55, 53, 98, 52, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 97, 53, 48, 48, 50, 54, 100, 55, 51, 48, 50, 55, 102, 52, 54, 100, 52, - 51, 102, 100, 97, 101, 54, 49, 102, 101, 101, 48, 57, 48, 101, 48, 102, 51, 102, 56, 97, 98, 100, 57, - 101, 57, 55, 52, 97, 100, 100, 49, 52, 53, 55, 53, 98, 52, 51, 49, 51, 54, 57, 53, 34, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 34, 97, 53, 48, 48, 50, 54, 100, 55, 51, 48, 50, 55, 102, 52, - 54, 100, 52, 51, 102, 100, 97, 101, 54, 49, 102, 101, 101, 48, 57, 48, 102, 102, 102, 102, 98, 102, 101, - 48, 102, 51, 102, 56, 97, 98, 100, 57, 101, 57, 55, 52, 97, 100, 100, 49, 52, 53, 55, 53, 98, 52, - 51, 49, 51, 54, 57, 53, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, - 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 82, 100, 89, 108, 66, 117, 32, 61, 32, 114, - 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 107, 41, 59, 10, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 106, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, - 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 99, - 56, 100, 53, 57, 102, 102, 102, 102, 98, 102, 57, 49, 99, 102, 54, 48, 34, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 100, 55, 49, 57, 49, 99, 102, 100, 97, 101, 54, 49, 97, 54, 100, 57, 54, 97, - 49, 97, 57, 54, 52, 49, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 55, 49, 57, 49, - 99, 102, 100, 97, 101, 54, 49, 102, 102, 102, 102, 98, 102, 97, 54, 100, 57, 54, 97, 49, 97, 57, 54, - 52, 49, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 55, 51, 48, 50, 55, 102, 99, 56, - 100, 53, 57, 102, 101, 101, 48, 56, 98, 100, 57, 101, 102, 56, 98, 57, 49, 99, 102, 54, 48, 49, 97, - 57, 56, 53, 48, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 55, 51, 48, 50, 55, 102, - 99, 56, 100, 53, 57, 102, 101, 101, 48, 56, 98, 102, 102, 102, 102, 98, 102, 100, 57, 101, 102, 56, 98, - 57, 49, 99, 102, 54, 48, 49, 97, 57, 56, 53, 48, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 34, 100, 55, 51, 48, 50, 55, 102, 52, 54, 100, 52, 51, 102, 100, 97, 101, 54, 49, 102, 101, 101, 48, - 56, 98, 100, 57, 101, 102, 56, 98, 97, 54, 100, 57, 54, 97, 54, 54, 98, 100, 54, 51, 49, 97, 57, - 56, 53, 48, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 55, 51, 48, 50, 55, 102, 52, - 54, 100, 52, 51, 102, 100, 97, 101, 54, 49, 102, 101, 101, 48, 56, 98, 102, 102, 102, 102, 98, 102, 100, - 57, 101, 102, 56, 98, 97, 54, 100, 57, 54, 97, 54, 54, 98, 100, 54, 51, 49, 97, 57, 56, 53, 48, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 97, 53, 48, 48, 50, 54, 100, 55, 51, 48, 50, - 55, 102, 52, 54, 100, 52, 51, 102, 100, 97, 101, 54, 49, 102, 101, 101, 48, 56, 98, 100, 57, 101, 102, - 56, 98, 97, 54, 100, 57, 54, 97, 54, 54, 98, 100, 54, 51, 49, 97, 57, 56, 53, 48, 48, 48, 54, - 56, 51, 55, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 97, 53, 48, 48, 50, 54, 100, 55, - 51, 48, 50, 55, 102, 52, 54, 100, 52, 51, 102, 100, 97, 101, 54, 49, 102, 101, 101, 48, 56, 98, 102, - 102, 102, 102, 98, 102, 100, 57, 101, 102, 56, 98, 97, 54, 100, 57, 54, 97, 54, 54, 98, 100, 54, 51, - 49, 97, 57, 56, 53, 48, 48, 48, 54, 56, 51, 55, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, - 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 82, 100, 89, 108, - 71, 110, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 106, 41, 59, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 105, 32, 61, 32, 110, 101, 119, - 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 102, 99, 56, 100, 53, 57, 102, 102, 102, 102, 98, 102, 57, 57, 100, 53, 57, 52, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 55, 49, 57, 49, 99, 102, 100, 97, 101, 54, 49, - 97, 98, 100, 100, 97, 52, 50, 98, 56, 51, 98, 97, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 34, 100, 55, 49, 57, 49, 99, 102, 100, 97, 101, 54, 49, 102, 102, 102, 102, 98, 102, 97, 98, 100, 100, - 97, 52, 50, 98, 56, 51, 98, 97, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 53, 51, - 101, 52, 102, 102, 99, 56, 100, 53, 57, 102, 101, 101, 48, 56, 98, 101, 54, 102, 53, 57, 56, 57, 57, - 100, 53, 57, 52, 51, 50, 56, 56, 98, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, - 53, 51, 101, 52, 102, 102, 99, 56, 100, 53, 57, 102, 101, 101, 48, 56, 98, 102, 102, 102, 102, 98, 102, - 101, 54, 102, 53, 57, 56, 57, 57, 100, 53, 57, 52, 51, 50, 56, 56, 98, 100, 34, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 100, 53, 51, 101, 52, 102, 102, 52, 54, 100, 52, 51, 102, 100, 97, 101, - 54, 49, 102, 101, 101, 48, 56, 98, 101, 54, 102, 53, 57, 56, 97, 98, 100, 100, 97, 52, 54, 54, 99, - 50, 97, 53, 51, 50, 56, 56, 98, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 53, - 51, 101, 52, 102, 102, 52, 54, 100, 52, 51, 102, 100, 97, 101, 54, 49, 102, 101, 101, 48, 56, 98, 102, - 102, 102, 102, 98, 102, 101, 54, 102, 53, 57, 56, 97, 98, 100, 100, 97, 52, 54, 54, 99, 50, 97, 53, - 51, 50, 56, 56, 98, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 57, 101, 48, 49, 52, - 50, 100, 53, 51, 101, 52, 102, 102, 52, 54, 100, 52, 51, 102, 100, 97, 101, 54, 49, 102, 101, 101, 48, - 56, 98, 101, 54, 102, 53, 57, 56, 97, 98, 100, 100, 97, 52, 54, 54, 99, 50, 97, 53, 51, 50, 56, - 56, 98, 100, 53, 101, 52, 102, 97, 50, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 57, 101, - 48, 49, 52, 50, 100, 53, 51, 101, 52, 102, 102, 52, 54, 100, 52, 51, 102, 100, 97, 101, 54, 49, 102, - 101, 101, 48, 56, 98, 102, 102, 102, 102, 98, 102, 101, 54, 102, 53, 57, 56, 97, 98, 100, 100, 97, 52, - 54, 54, 99, 50, 97, 53, 51, 50, 56, 56, 98, 100, 53, 101, 52, 102, 97, 50, 34, 10, 32, 32, 32, - 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 83, 112, 101, 99, 116, 114, 97, 108, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, - 101, 109, 101, 36, 105, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, - 36, 104, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, - 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 53, 102, 53, 102, 57, 57, 57, 100, 56, 99, - 57, 50, 99, 97, 50, 53, 102, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 100, 102, 56, - 102, 98, 98, 50, 101, 50, 101, 50, 54, 54, 99, 50, 97, 52, 50, 51, 56, 98, 52, 53, 34, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 100, 102, 56, 102, 98, 98, 50, 101, 50, 101, 50, 54, 54, - 99, 50, 97, 52, 50, 99, 97, 50, 53, 102, 48, 48, 54, 100, 50, 99, 34, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 101, 100, 102, 56, 102, 98, 99, 99, 101, 99, 101, 54, 57, 57, 100, 56, 99, 57, - 54, 54, 99, 50, 97, 52, 50, 99, 97, 50, 53, 102, 48, 48, 54, 100, 50, 99, 34, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 101, 100, 102, 56, 102, 98, 99, 99, 101, 99, 101, 54, 57, 57, 100, 56, - 99, 57, 54, 54, 99, 50, 97, 52, 52, 49, 97, 101, 55, 54, 50, 51, 56, 98, 52, 53, 48, 48, 53, - 56, 50, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 55, 102, 99, 102, 100, 101, 53, - 102, 53, 102, 57, 99, 99, 101, 99, 101, 54, 57, 57, 100, 56, 99, 57, 54, 54, 99, 50, 97, 52, 52, - 49, 97, 101, 55, 54, 50, 51, 56, 98, 52, 53, 48, 48, 53, 56, 50, 52, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 102, 55, 102, 99, 102, 100, 101, 53, 102, 53, 102, 57, 99, 99, 101, 99, 101, - 54, 57, 57, 100, 56, 99, 57, 54, 54, 99, 50, 97, 52, 52, 49, 97, 101, 55, 54, 50, 51, 56, 98, - 52, 53, 48, 48, 54, 100, 50, 99, 48, 48, 52, 52, 49, 98, 34, 10, 32, 32, 32, 32, 41, 46, 109, - 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 66, 117, - 71, 110, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 104, 41, 59, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 103, 32, 61, 32, 110, 101, 119, - 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 101, 48, 101, 99, 102, 52, 57, 101, 98, 99, 100, 97, 56, 56, 53, 54, 97, 55, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 100, 102, 56, 102, 98, 98, 51, 99, 100, 101, 51, - 56, 99, 57, 54, 99, 54, 56, 56, 52, 49, 57, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 34, 101, 100, 102, 56, 102, 98, 98, 51, 99, 100, 101, 51, 56, 99, 57, 54, 99, 54, 56, 56, 53, 54, - 97, 55, 56, 49, 48, 102, 55, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 100, 102, - 56, 102, 98, 98, 102, 100, 51, 101, 54, 57, 101, 98, 99, 100, 97, 56, 99, 57, 54, 99, 54, 56, 56, - 53, 54, 97, 55, 56, 49, 48, 102, 55, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, - 100, 102, 56, 102, 98, 98, 102, 100, 51, 101, 54, 57, 101, 98, 99, 100, 97, 56, 99, 57, 54, 99, 54, - 56, 99, 54, 98, 98, 49, 56, 56, 52, 49, 57, 100, 54, 101, 48, 49, 54, 98, 34, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 102, 55, 102, 99, 102, 100, 101, 48, 101, 99, 102, 52, 98, 102, 100, 51, - 101, 54, 57, 101, 98, 99, 100, 97, 56, 99, 57, 54, 99, 54, 56, 99, 54, 98, 98, 49, 56, 56, 52, - 49, 57, 100, 54, 101, 48, 49, 54, 98, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 55, - 102, 99, 102, 100, 101, 48, 101, 99, 102, 52, 98, 102, 100, 51, 101, 54, 57, 101, 98, 99, 100, 97, 56, - 99, 57, 54, 99, 54, 56, 99, 54, 98, 98, 49, 56, 56, 52, 49, 57, 100, 56, 49, 48, 102, 55, 99, - 52, 100, 48, 48, 52, 98, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, - 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 66, 117, 80, 117, 32, 61, 32, 114, 97, 109, - 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 103, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 115, 99, 104, 101, 109, 101, 36, 102, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, - 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 48, 102, 51, - 100, 98, 97, 56, 100, 100, 98, 53, 52, 51, 97, 50, 99, 97, 34, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 102, 48, 102, 57, 101, 56, 98, 97, 101, 52, 98, 99, 55, 98, 99, 99, 99, 52, 50, 98, - 56, 99, 98, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 48, 102, 57, 101, 56, 98, - 97, 101, 52, 98, 99, 55, 98, 99, 99, 99, 52, 52, 51, 97, 50, 99, 97, 48, 56, 54, 56, 97, 99, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 48, 102, 57, 101, 56, 99, 99, 101, 98, 99, - 53, 97, 56, 100, 100, 98, 53, 55, 98, 99, 99, 99, 52, 52, 51, 97, 50, 99, 97, 48, 56, 54, 56, - 97, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 48, 102, 57, 101, 56, 99, 99, 101, - 98, 99, 53, 97, 56, 100, 100, 98, 53, 55, 98, 99, 99, 99, 52, 52, 101, 98, 51, 100, 51, 50, 98, - 56, 99, 98, 101, 48, 56, 53, 56, 57, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, - 55, 102, 99, 102, 48, 101, 48, 102, 51, 100, 98, 99, 99, 101, 98, 99, 53, 97, 56, 100, 100, 98, 53, - 55, 98, 99, 99, 99, 52, 52, 101, 98, 51, 100, 51, 50, 98, 56, 99, 98, 101, 48, 56, 53, 56, 57, - 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 55, 102, 99, 102, 48, 101, 48, 102, 51, - 100, 98, 99, 99, 101, 98, 99, 53, 97, 56, 100, 100, 98, 53, 55, 98, 99, 99, 99, 52, 52, 101, 98, - 51, 100, 51, 50, 98, 56, 99, 98, 101, 48, 56, 54, 56, 97, 99, 48, 56, 52, 48, 56, 49, 34, 10, - 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, - 32, 118, 97, 114, 32, 71, 110, 66, 117, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, - 109, 101, 36, 102, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, - 101, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, - 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 101, 101, 56, 99, 56, 102, 100, 98, 98, 56, 52, - 101, 51, 52, 97, 51, 51, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 101, 102, 48, 100, - 57, 102, 100, 99, 99, 56, 97, 102, 99, 56, 100, 53, 57, 100, 55, 51, 48, 49, 102, 34, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 102, 101, 102, 48, 100, 57, 102, 100, 99, 99, 56, 97, 102, 99, 56, - 100, 53, 57, 101, 51, 52, 97, 51, 51, 98, 51, 48, 48, 48, 48, 34, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 102, 101, 102, 48, 100, 57, 102, 100, 100, 52, 57, 101, 102, 100, 98, 98, 56, 52, 102, - 99, 56, 100, 53, 57, 101, 51, 52, 97, 51, 51, 98, 51, 48, 48, 48, 48, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 102, 101, 102, 48, 100, 57, 102, 100, 100, 52, 57, 101, 102, 100, 98, 98, 56, - 52, 102, 99, 56, 100, 53, 57, 101, 102, 54, 53, 52, 56, 100, 55, 51, 48, 49, 102, 57, 57, 48, 48, - 48, 48, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 55, 101, 99, 102, 101, 101, - 56, 99, 56, 102, 100, 100, 52, 57, 101, 102, 100, 98, 98, 56, 52, 102, 99, 56, 100, 53, 57, 101, 102, - 54, 53, 52, 56, 100, 55, 51, 48, 49, 102, 57, 57, 48, 48, 48, 48, 34, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 102, 102, 102, 55, 101, 99, 102, 101, 101, 56, 99, 56, 102, 100, 100, 52, 57, 101, - 102, 100, 98, 98, 56, 52, 102, 99, 56, 100, 53, 57, 101, 102, 54, 53, 52, 56, 100, 55, 51, 48, 49, - 102, 98, 51, 48, 48, 48, 48, 55, 102, 48, 48, 48, 48, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, - 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 79, 114, 82, - 100, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 101, 41, 59, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 100, 32, 61, 32, 110, 101, 119, 32, - 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 101, 99, 101, 50, 102, 48, 97, 54, 98, 100, 100, 98, 49, 99, 57, 48, 57, 57, 34, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 54, 101, 102, 102, 55, 98, 100, 99, 57, 101, 49, 54, - 55, 97, 57, 99, 102, 48, 50, 56, 49, 56, 97, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, - 102, 54, 101, 102, 102, 55, 98, 100, 99, 57, 101, 49, 54, 55, 97, 57, 99, 102, 49, 99, 57, 48, 57, - 57, 48, 49, 54, 99, 53, 57, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 54, 101, 102, - 102, 55, 100, 48, 100, 49, 101, 54, 97, 54, 98, 100, 100, 98, 54, 55, 97, 57, 99, 102, 49, 99, 57, - 48, 57, 57, 48, 49, 54, 99, 53, 57, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 54, - 101, 102, 102, 55, 100, 48, 100, 49, 101, 54, 97, 54, 98, 100, 100, 98, 54, 55, 97, 57, 99, 102, 51, - 54, 57, 48, 99, 48, 48, 50, 56, 49, 56, 97, 48, 49, 54, 52, 53, 48, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 102, 102, 102, 55, 102, 98, 101, 99, 101, 50, 102, 48, 100, 48, 100, 49, 101, - 54, 97, 54, 98, 100, 100, 98, 54, 55, 97, 57, 99, 102, 51, 54, 57, 48, 99, 48, 48, 50, 56, 49, - 56, 97, 48, 49, 54, 52, 53, 48, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, - 55, 102, 98, 101, 99, 101, 50, 102, 48, 100, 48, 100, 49, 101, 54, 97, 54, 98, 100, 100, 98, 54, 55, - 97, 57, 99, 102, 51, 54, 57, 48, 99, 48, 48, 50, 56, 49, 56, 97, 48, 49, 54, 99, 53, 57, 48, - 49, 52, 54, 51, 54, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, - 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 80, 117, 66, 117, 71, 110, 32, 61, 32, 114, 97, - 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 100, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 115, 99, 104, 101, 109, 101, 36, 99, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, - 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 99, 101, - 55, 102, 50, 97, 54, 98, 100, 100, 98, 50, 98, 56, 99, 98, 101, 34, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 102, 49, 101, 101, 102, 54, 98, 100, 99, 57, 101, 49, 55, 52, 97, 57, 99, 102, 48, - 53, 55, 48, 98, 48, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 49, 101, 101, 102, 54, - 98, 100, 99, 57, 101, 49, 55, 52, 97, 57, 99, 102, 50, 98, 56, 99, 98, 101, 48, 52, 53, 97, 56, - 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 49, 101, 101, 102, 54, 100, 48, 100, 49, - 101, 54, 97, 54, 98, 100, 100, 98, 55, 52, 97, 57, 99, 102, 50, 98, 56, 99, 98, 101, 48, 52, 53, - 97, 56, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 49, 101, 101, 102, 54, 100, 48, - 100, 49, 101, 54, 97, 54, 98, 100, 100, 98, 55, 52, 97, 57, 99, 102, 51, 54, 57, 48, 99, 48, 48, - 53, 55, 48, 98, 48, 48, 51, 52, 101, 55, 98, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, - 102, 102, 102, 55, 102, 98, 101, 99, 101, 55, 102, 50, 100, 48, 100, 49, 101, 54, 97, 54, 98, 100, 100, - 98, 55, 52, 97, 57, 99, 102, 51, 54, 57, 48, 99, 48, 48, 53, 55, 48, 98, 48, 48, 51, 52, 101, - 55, 98, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 55, 102, 98, 101, 99, 101, - 55, 102, 50, 100, 48, 100, 49, 101, 54, 97, 54, 98, 100, 100, 98, 55, 52, 97, 57, 99, 102, 51, 54, - 57, 48, 99, 48, 48, 53, 55, 48, 98, 48, 48, 52, 53, 97, 56, 100, 48, 50, 51, 56, 53, 56, 34, - 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, - 32, 32, 118, 97, 114, 32, 80, 117, 66, 117, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, - 101, 109, 101, 36, 99, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, - 36, 98, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, - 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 55, 101, 49, 101, 102, 99, 57, 57, 52, 99, - 55, 100, 100, 49, 99, 55, 55, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 49, 101, 101, - 102, 54, 100, 55, 98, 53, 100, 56, 100, 102, 54, 53, 98, 48, 99, 101, 49, 50, 53, 54, 34, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 49, 101, 101, 102, 54, 100, 55, 98, 53, 100, 56, 100, 102, - 54, 53, 98, 48, 100, 100, 49, 99, 55, 55, 57, 56, 48, 48, 52, 51, 34, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 102, 49, 101, 101, 102, 54, 100, 52, 98, 57, 100, 97, 99, 57, 57, 52, 99, 55, - 100, 102, 54, 53, 98, 48, 100, 100, 49, 99, 55, 55, 57, 56, 48, 48, 52, 51, 34, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 102, 49, 101, 101, 102, 54, 100, 52, 98, 57, 100, 97, 99, 57, 57, 52, - 99, 55, 100, 102, 54, 53, 98, 48, 101, 55, 50, 57, 56, 97, 99, 101, 49, 50, 53, 54, 57, 49, 48, - 48, 51, 102, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 55, 102, 52, 102, 57, 101, 55, - 101, 49, 101, 102, 100, 52, 98, 57, 100, 97, 99, 57, 57, 52, 99, 55, 100, 102, 54, 53, 98, 48, 101, - 55, 50, 57, 56, 97, 99, 101, 49, 50, 53, 54, 57, 49, 48, 48, 51, 102, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 102, 55, 102, 52, 102, 57, 101, 55, 101, 49, 101, 102, 100, 52, 98, 57, 100, - 97, 99, 57, 57, 52, 99, 55, 100, 102, 54, 53, 98, 48, 101, 55, 50, 57, 56, 97, 99, 101, 49, 50, - 53, 54, 57, 56, 48, 48, 52, 51, 54, 55, 48, 48, 49, 102, 34, 10, 32, 32, 32, 32, 41, 46, 109, - 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 80, 117, - 82, 100, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 98, 41, 59, 10, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 97, 32, 61, 32, 110, 101, 119, - 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 102, 100, 101, 48, 100, 100, 102, 97, 57, 102, 98, 53, 99, 53, 49, 98, 56, 97, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 101, 101, 98, 101, 50, 102, 98, 98, 52, 98, 57, - 102, 55, 54, 56, 97, 49, 97, 101, 48, 49, 55, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 34, 102, 101, 101, 98, 101, 50, 102, 98, 98, 52, 98, 57, 102, 55, 54, 56, 97, 49, 99, 53, 49, 98, - 56, 97, 55, 97, 48, 49, 55, 55, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 101, 101, - 98, 101, 50, 102, 99, 99, 53, 99, 48, 102, 97, 57, 102, 98, 53, 102, 55, 54, 56, 97, 49, 99, 53, - 49, 98, 56, 97, 55, 97, 48, 49, 55, 55, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, - 101, 101, 98, 101, 50, 102, 99, 99, 53, 99, 48, 102, 97, 57, 102, 98, 53, 102, 55, 54, 56, 97, 49, - 100, 100, 51, 52, 57, 55, 97, 101, 48, 49, 55, 101, 55, 97, 48, 49, 55, 55, 34, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 55, 102, 51, 102, 100, 101, 48, 100, 100, 102, 99, 99, 53, - 99, 48, 102, 97, 57, 102, 98, 53, 102, 55, 54, 56, 97, 49, 100, 100, 51, 52, 57, 55, 97, 101, 48, - 49, 55, 101, 55, 97, 48, 49, 55, 55, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, - 102, 55, 102, 51, 102, 100, 101, 48, 100, 100, 102, 99, 99, 53, 99, 48, 102, 97, 57, 102, 98, 53, 102, - 55, 54, 56, 97, 49, 100, 100, 51, 52, 57, 55, 97, 101, 48, 49, 55, 101, 55, 97, 48, 49, 55, 55, - 52, 57, 48, 48, 54, 97, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, - 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 82, 100, 80, 117, 32, 61, 32, 114, 97, 109, - 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 97, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 115, 99, 104, 101, 109, 101, 36, 57, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, - 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 100, 102, 56, - 98, 49, 55, 102, 99, 100, 98, 98, 50, 99, 55, 102, 98, 56, 34, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 102, 102, 102, 102, 99, 99, 97, 49, 100, 97, 98, 52, 52, 49, 98, 54, 99, 52, 50, 50, - 53, 101, 97, 56, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 99, 99, 97, - 49, 100, 97, 98, 52, 52, 49, 98, 54, 99, 52, 50, 99, 55, 102, 98, 56, 50, 53, 51, 52, 57, 52, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 99, 99, 99, 55, 101, 57, 98, - 52, 55, 102, 99, 100, 98, 98, 52, 49, 98, 54, 99, 52, 50, 99, 55, 102, 98, 56, 50, 53, 51, 52, - 57, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 99, 99, 99, 55, 101, - 57, 98, 52, 55, 102, 99, 100, 98, 98, 52, 49, 98, 54, 99, 52, 49, 100, 57, 49, 99, 48, 50, 50, - 53, 101, 97, 56, 48, 99, 50, 99, 56, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, - 102, 102, 102, 100, 57, 101, 100, 102, 56, 98, 49, 99, 55, 101, 57, 98, 52, 55, 102, 99, 100, 98, 98, - 52, 49, 98, 54, 99, 52, 49, 100, 57, 49, 99, 48, 50, 50, 53, 101, 97, 56, 48, 99, 50, 99, 56, - 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 100, 57, 101, 100, 102, 56, - 98, 49, 99, 55, 101, 57, 98, 52, 55, 102, 99, 100, 98, 98, 52, 49, 98, 54, 99, 52, 49, 100, 57, - 49, 99, 48, 50, 50, 53, 101, 97, 56, 50, 53, 51, 52, 57, 52, 48, 56, 49, 100, 53, 56, 34, 10, - 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, - 32, 118, 97, 114, 32, 89, 108, 71, 110, 66, 117, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, - 104, 101, 109, 101, 36, 57, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, - 101, 36, 56, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, - 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 55, 102, 99, 98, 57, 97, 100, 100, 100, - 56, 101, 51, 49, 97, 51, 53, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, - 102, 99, 99, 99, 50, 101, 54, 57, 57, 55, 56, 99, 54, 55, 57, 50, 51, 56, 52, 52, 51, 34, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 99, 99, 99, 50, 101, 54, 57, 57, 55, - 56, 99, 54, 55, 57, 51, 49, 97, 51, 53, 52, 48, 48, 54, 56, 51, 55, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 99, 99, 100, 57, 102, 48, 97, 51, 97, 100, 100, 100, 56, - 101, 55, 56, 99, 54, 55, 57, 51, 49, 97, 51, 53, 52, 48, 48, 54, 56, 51, 55, 34, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 99, 99, 100, 57, 102, 48, 97, 51, 97, 100, 100, - 100, 56, 101, 55, 56, 99, 54, 55, 57, 52, 49, 97, 98, 53, 100, 50, 51, 56, 52, 52, 51, 48, 48, - 53, 97, 51, 50, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 101, 53, 102, - 55, 102, 99, 98, 57, 100, 57, 102, 48, 97, 51, 97, 100, 100, 100, 56, 101, 55, 56, 99, 54, 55, 57, - 52, 49, 97, 98, 53, 100, 50, 51, 56, 52, 52, 51, 48, 48, 53, 97, 51, 50, 34, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 101, 53, 102, 55, 102, 99, 98, 57, 100, 57, 102, 48, - 97, 51, 97, 100, 100, 100, 56, 101, 55, 56, 99, 54, 55, 57, 52, 49, 97, 98, 53, 100, 50, 51, 56, - 52, 52, 51, 48, 48, 54, 56, 51, 55, 48, 48, 52, 53, 50, 57, 34, 10, 32, 32, 32, 32, 41, 46, - 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 89, - 108, 71, 110, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 56, 41, 59, - 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 55, 32, 61, 32, 110, 101, - 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 34, 102, 102, 102, 55, 98, 99, 102, 101, 99, 52, 52, 102, 100, 57, 53, 102, 48, 101, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 100, 52, 102, 101, 100, 57, 56, - 101, 102, 101, 57, 57, 50, 57, 99, 99, 52, 99, 48, 50, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 102, 102, 102, 102, 100, 52, 102, 101, 100, 57, 56, 101, 102, 101, 57, 57, 50, 57, 100, 57, 53, - 102, 48, 101, 57, 57, 51, 52, 48, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, - 102, 102, 100, 52, 102, 101, 101, 51, 57, 49, 102, 101, 99, 52, 52, 102, 102, 101, 57, 57, 50, 57, 100, - 57, 53, 102, 48, 101, 57, 57, 51, 52, 48, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, - 102, 102, 102, 102, 100, 52, 102, 101, 101, 51, 57, 49, 102, 101, 99, 52, 52, 102, 102, 101, 57, 57, 50, - 57, 101, 99, 55, 48, 49, 52, 99, 99, 52, 99, 48, 50, 56, 99, 50, 100, 48, 52, 34, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 101, 53, 102, 102, 102, 55, 98, 99, 102, 101, 101, - 51, 57, 49, 102, 101, 99, 52, 52, 102, 102, 101, 57, 57, 50, 57, 101, 99, 55, 48, 49, 52, 99, 99, - 52, 99, 48, 50, 56, 99, 50, 100, 48, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, - 102, 102, 102, 101, 53, 102, 102, 102, 55, 98, 99, 102, 101, 101, 51, 57, 49, 102, 101, 99, 52, 52, 102, - 102, 101, 57, 57, 50, 57, 101, 99, 55, 48, 49, 52, 99, 99, 52, 99, 48, 50, 57, 57, 51, 52, 48, - 52, 54, 54, 50, 53, 48, 54, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, - 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 89, 108, 79, 114, 66, 114, 32, 61, 32, - 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 55, 41, 59, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 54, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, - 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, - 102, 101, 100, 97, 48, 102, 101, 98, 50, 52, 99, 102, 48, 51, 98, 50, 48, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 98, 50, 102, 101, 99, 99, 53, 99, 102, 100, 56, 100, 51, - 99, 101, 51, 49, 97, 49, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, - 98, 50, 102, 101, 99, 99, 53, 99, 102, 100, 56, 100, 51, 99, 102, 48, 51, 98, 50, 48, 98, 100, 48, - 48, 50, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 98, 50, 102, 101, - 100, 57, 55, 54, 102, 101, 98, 50, 52, 99, 102, 100, 56, 100, 51, 99, 102, 48, 51, 98, 50, 48, 98, - 100, 48, 48, 50, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 98, 50, - 102, 101, 100, 57, 55, 54, 102, 101, 98, 50, 52, 99, 102, 100, 56, 100, 51, 99, 102, 99, 52, 101, 50, - 97, 101, 51, 49, 97, 49, 99, 98, 49, 48, 48, 50, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 102, 102, 102, 102, 99, 99, 102, 102, 101, 100, 97, 48, 102, 101, 100, 57, 55, 54, 102, 101, 98, - 50, 52, 99, 102, 100, 56, 100, 51, 99, 102, 99, 52, 101, 50, 97, 101, 51, 49, 97, 49, 99, 98, 49, - 48, 48, 50, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 99, 99, 102, - 102, 101, 100, 97, 48, 102, 101, 100, 57, 55, 54, 102, 101, 98, 50, 52, 99, 102, 100, 56, 100, 51, 99, - 102, 99, 52, 101, 50, 97, 101, 51, 49, 97, 49, 99, 98, 100, 48, 48, 50, 54, 56, 48, 48, 48, 50, - 54, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 89, 108, 79, 114, 82, 100, 32, 61, 32, 114, 97, 109, 112, 36, 49, - 40, 115, 99, 104, 101, 109, 101, 36, 54, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, - 104, 101, 109, 101, 36, 53, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, - 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 101, 101, 98, 102, 55, 57, - 101, 99, 97, 101, 49, 51, 49, 56, 50, 98, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, - 101, 102, 102, 51, 102, 102, 98, 100, 100, 55, 101, 55, 54, 98, 97, 101, 100, 54, 50, 49, 55, 49, 98, - 53, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 102, 102, 51, 102, 102, 98, 100, 100, 55, - 101, 55, 54, 98, 97, 101, 100, 54, 51, 49, 56, 50, 98, 100, 48, 56, 53, 49, 57, 99, 34, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 102, 102, 51, 102, 102, 99, 54, 100, 98, 101, 102, 57, 101, - 99, 97, 101, 49, 54, 98, 97, 101, 100, 54, 51, 49, 56, 50, 98, 100, 48, 56, 53, 49, 57, 99, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 102, 102, 51, 102, 102, 99, 54, 100, 98, 101, 102, - 57, 101, 99, 97, 101, 49, 54, 98, 97, 101, 100, 54, 52, 50, 57, 50, 99, 54, 50, 49, 55, 49, 98, - 53, 48, 56, 52, 53, 57, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 55, 102, 98, - 102, 102, 100, 101, 101, 98, 102, 55, 99, 54, 100, 98, 101, 102, 57, 101, 99, 97, 101, 49, 54, 98, 97, - 101, 100, 54, 52, 50, 57, 50, 99, 54, 50, 49, 55, 49, 98, 53, 48, 56, 52, 53, 57, 52, 34, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 55, 102, 98, 102, 102, 100, 101, 101, 98, 102, 55, 99, - 54, 100, 98, 101, 102, 57, 101, 99, 97, 101, 49, 54, 98, 97, 101, 100, 54, 52, 50, 57, 50, 99, 54, - 50, 49, 55, 49, 98, 53, 48, 56, 53, 49, 57, 99, 48, 56, 51, 48, 54, 98, 34, 10, 32, 32, 32, - 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 66, 108, 117, 101, 115, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, - 36, 53, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 52, 32, - 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 53, 102, 53, 101, 48, 97, 49, 100, 57, 57, 98, 51, 49, - 97, 51, 53, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 100, 102, 56, 101, 57, 98, - 97, 101, 52, 98, 51, 55, 52, 99, 52, 55, 54, 50, 51, 56, 98, 52, 53, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 101, 100, 102, 56, 101, 57, 98, 97, 101, 52, 98, 51, 55, 52, 99, 52, 55, - 54, 51, 49, 97, 51, 53, 52, 48, 48, 54, 100, 50, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 34, 101, 100, 102, 56, 101, 57, 99, 55, 101, 57, 99, 48, 97, 49, 100, 57, 57, 98, 55, 52, 99, - 52, 55, 54, 51, 49, 97, 51, 53, 52, 48, 48, 54, 100, 50, 99, 34, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 101, 100, 102, 56, 101, 57, 99, 55, 101, 57, 99, 48, 97, 49, 100, 57, 57, 98, 55, - 52, 99, 52, 55, 54, 52, 49, 97, 98, 53, 100, 50, 51, 56, 98, 52, 53, 48, 48, 53, 97, 51, 50, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 55, 102, 99, 102, 53, 101, 53, 102, 53, 101, - 48, 99, 55, 101, 57, 99, 48, 97, 49, 100, 57, 57, 98, 55, 52, 99, 52, 55, 54, 52, 49, 97, 98, - 53, 100, 50, 51, 56, 98, 52, 53, 48, 48, 53, 97, 51, 50, 34, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 102, 55, 102, 99, 102, 53, 101, 53, 102, 53, 101, 48, 99, 55, 101, 57, 99, 48, 97, 49, - 100, 57, 57, 98, 55, 52, 99, 52, 55, 54, 52, 49, 97, 98, 53, 100, 50, 51, 56, 98, 52, 53, 48, - 48, 54, 100, 50, 99, 48, 48, 52, 52, 49, 98, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, - 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 71, 114, 101, 101, 110, - 115, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 52, 41, 59, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 36, 51, 32, 61, 32, 110, 101, 119, 32, - 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 102, 48, 102, 48, 102, 48, 98, 100, 98, 100, 98, 100, 54, 51, 54, 51, 54, 51, 34, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 55, 102, 55, 102, 55, 99, 99, 99, 99, 99, 99, 57, - 54, 57, 54, 57, 54, 53, 50, 53, 50, 53, 50, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, - 102, 55, 102, 55, 102, 55, 99, 99, 99, 99, 99, 99, 57, 54, 57, 54, 57, 54, 54, 51, 54, 51, 54, - 51, 50, 53, 50, 53, 50, 53, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 55, 102, 55, - 102, 55, 100, 57, 100, 57, 100, 57, 98, 100, 98, 100, 98, 100, 57, 54, 57, 54, 57, 54, 54, 51, 54, - 51, 54, 51, 50, 53, 50, 53, 50, 53, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 55, - 102, 55, 102, 55, 100, 57, 100, 57, 100, 57, 98, 100, 98, 100, 98, 100, 57, 54, 57, 54, 57, 54, 55, - 51, 55, 51, 55, 51, 53, 50, 53, 50, 53, 50, 50, 53, 50, 53, 50, 53, 34, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 102, 102, 102, 102, 102, 102, 102, 48, 102, 48, 102, 48, 100, 57, 100, 57, 100, - 57, 98, 100, 98, 100, 98, 100, 57, 54, 57, 54, 57, 54, 55, 51, 55, 51, 55, 51, 53, 50, 53, 50, - 53, 50, 50, 53, 50, 53, 50, 53, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, - 102, 102, 102, 102, 48, 102, 48, 102, 48, 100, 57, 100, 57, 100, 57, 98, 100, 98, 100, 98, 100, 57, 54, - 57, 54, 57, 54, 55, 51, 55, 51, 55, 51, 53, 50, 53, 50, 53, 50, 50, 53, 50, 53, 50, 53, 48, - 48, 48, 48, 48, 48, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, - 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 71, 114, 101, 121, 115, 32, 61, 32, 114, 97, 109, - 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 51, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 115, 99, 104, 101, 109, 101, 36, 50, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, - 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 101, 102, 101, 100, - 102, 53, 98, 99, 98, 100, 100, 99, 55, 53, 54, 98, 98, 49, 34, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 34, 102, 50, 102, 48, 102, 55, 99, 98, 99, 57, 101, 50, 57, 101, 57, 97, 99, 56, 54, 97, - 53, 49, 97, 51, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 50, 102, 48, 102, 55, 99, - 98, 99, 57, 101, 50, 57, 101, 57, 97, 99, 56, 55, 53, 54, 98, 98, 49, 53, 52, 50, 55, 56, 102, - 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 50, 102, 48, 102, 55, 100, 97, 100, 97, 101, - 98, 98, 99, 98, 100, 100, 99, 57, 101, 57, 97, 99, 56, 55, 53, 54, 98, 98, 49, 53, 52, 50, 55, - 56, 102, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 50, 102, 48, 102, 55, 100, 97, 100, - 97, 101, 98, 98, 99, 98, 100, 100, 99, 57, 101, 57, 97, 99, 56, 56, 48, 55, 100, 98, 97, 54, 97, - 53, 49, 97, 51, 52, 97, 49, 52, 56, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, - 99, 102, 98, 102, 100, 101, 102, 101, 100, 102, 53, 100, 97, 100, 97, 101, 98, 98, 99, 98, 100, 100, 99, - 57, 101, 57, 97, 99, 56, 56, 48, 55, 100, 98, 97, 54, 97, 53, 49, 97, 51, 52, 97, 49, 52, 56, - 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 99, 102, 98, 102, 100, 101, 102, 101, 100, - 102, 53, 100, 97, 100, 97, 101, 98, 98, 99, 98, 100, 100, 99, 57, 101, 57, 97, 99, 56, 56, 48, 55, - 100, 98, 97, 54, 97, 53, 49, 97, 51, 53, 52, 50, 55, 56, 102, 51, 102, 48, 48, 55, 100, 34, 10, - 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, - 32, 118, 97, 114, 32, 80, 117, 114, 112, 108, 101, 115, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, - 99, 104, 101, 109, 101, 36, 50, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, - 109, 101, 36, 49, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, - 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 101, 101, 48, 100, 50, 102, 99, 57, - 50, 55, 50, 100, 101, 50, 100, 50, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 101, - 101, 53, 100, 57, 102, 99, 97, 101, 57, 49, 102, 98, 54, 97, 52, 97, 99, 98, 49, 56, 49, 100, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 101, 101, 53, 100, 57, 102, 99, 97, 101, 57, 49, - 102, 98, 54, 97, 52, 97, 100, 101, 50, 100, 50, 54, 97, 53, 48, 102, 49, 53, 34, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 102, 101, 101, 53, 100, 57, 102, 99, 98, 98, 97, 49, 102, 99, 57, 50, - 55, 50, 102, 98, 54, 97, 52, 97, 100, 101, 50, 100, 50, 54, 97, 53, 48, 102, 49, 53, 34, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 101, 101, 53, 100, 57, 102, 99, 98, 98, 97, 49, 102, 99, - 57, 50, 55, 50, 102, 98, 54, 97, 52, 97, 101, 102, 51, 98, 50, 99, 99, 98, 49, 56, 49, 100, 57, - 57, 48, 48, 48, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 53, 102, 48, - 102, 101, 101, 48, 100, 50, 102, 99, 98, 98, 97, 49, 102, 99, 57, 50, 55, 50, 102, 98, 54, 97, 52, - 97, 101, 102, 51, 98, 50, 99, 99, 98, 49, 56, 49, 100, 57, 57, 48, 48, 48, 100, 34, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 53, 102, 48, 102, 101, 101, 48, 100, 50, 102, 99, 98, - 98, 97, 49, 102, 99, 57, 50, 55, 50, 102, 98, 54, 97, 52, 97, 101, 102, 51, 98, 50, 99, 99, 98, - 49, 56, 49, 100, 97, 53, 48, 102, 49, 53, 54, 55, 48, 48, 48, 100, 34, 10, 32, 32, 32, 32, 41, - 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 82, 101, 100, 115, 32, 61, 32, 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 36, 49, 41, - 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 99, 104, 101, 109, 101, 32, 61, 32, 110, 101, 119, - 32, 65, 114, 114, 97, 121, 40, 51, 41, 46, 99, 111, 110, 99, 97, 116, 40, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 34, 102, 101, 101, 54, 99, 101, 102, 100, 97, 101, 54, 98, 101, 54, 53, 53, 48, 100, 34, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 101, 101, 100, 100, 101, 102, 100, 98, 101, 56, 53, - 102, 100, 56, 100, 51, 99, 100, 57, 52, 55, 48, 49, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 34, 102, 101, 101, 100, 100, 101, 102, 100, 98, 101, 56, 53, 102, 100, 56, 100, 51, 99, 101, 54, 53, 53, - 48, 100, 97, 54, 51, 54, 48, 51, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 101, 101, - 100, 100, 101, 102, 100, 100, 48, 97, 50, 102, 100, 97, 101, 54, 98, 102, 100, 56, 100, 51, 99, 101, 54, - 53, 53, 48, 100, 97, 54, 51, 54, 48, 51, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, - 101, 101, 100, 100, 101, 102, 100, 100, 48, 97, 50, 102, 100, 97, 101, 54, 98, 102, 100, 56, 100, 51, 99, - 102, 49, 54, 57, 49, 51, 100, 57, 52, 56, 48, 49, 56, 99, 50, 100, 48, 52, 34, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 34, 102, 102, 102, 53, 101, 98, 102, 101, 101, 54, 99, 101, 102, 100, 100, 48, - 97, 50, 102, 100, 97, 101, 54, 98, 102, 100, 56, 100, 51, 99, 102, 49, 54, 57, 49, 51, 100, 57, 52, - 56, 48, 49, 56, 99, 50, 100, 48, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 102, - 102, 53, 101, 98, 102, 101, 101, 54, 99, 101, 102, 100, 100, 48, 97, 50, 102, 100, 97, 101, 54, 98, 102, - 100, 56, 100, 51, 99, 102, 49, 54, 57, 49, 51, 100, 57, 52, 56, 48, 49, 97, 54, 51, 54, 48, 51, - 55, 102, 50, 55, 48, 52, 34, 10, 32, 32, 32, 32, 41, 46, 109, 97, 112, 40, 99, 111, 108, 111, 114, - 115, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 79, 114, 97, 110, 103, 101, 115, 32, 61, 32, - 114, 97, 109, 112, 36, 49, 40, 115, 99, 104, 101, 109, 101, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 99, 105, 118, 105, 100, 105, 115, 40, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, - 116, 104, 46, 109, 105, 110, 40, 49, 44, 32, 116, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 34, 114, 103, 98, 40, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 43, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, - 105, 110, 40, 50, 53, 53, 44, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 45, 52, 46, 53, - 52, 32, 45, 32, 116, 32, 42, 32, 40, 51, 53, 46, 51, 52, 32, 45, 32, 116, 32, 42, 32, 40, 50, - 51, 56, 49, 46, 55, 51, 32, 45, 32, 116, 32, 42, 32, 40, 54, 52, 48, 50, 46, 55, 32, 45, 32, - 116, 32, 42, 32, 40, 55, 48, 50, 52, 46, 55, 50, 32, 45, 32, 116, 32, 42, 32, 50, 55, 49, 48, - 46, 53, 55, 41, 41, 41, 41, 41, 41, 41, 32, 43, 32, 34, 44, 32, 34, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 43, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, - 116, 104, 46, 109, 105, 110, 40, 50, 53, 53, 44, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, - 51, 50, 46, 52, 57, 32, 43, 32, 116, 32, 42, 32, 40, 49, 55, 48, 46, 55, 51, 32, 43, 32, 116, - 32, 42, 32, 40, 53, 50, 46, 56, 50, 32, 45, 32, 116, 32, 42, 32, 40, 49, 51, 49, 46, 52, 54, - 32, 45, 32, 116, 32, 42, 32, 40, 49, 55, 54, 46, 53, 56, 32, 45, 32, 116, 32, 42, 32, 54, 55, - 46, 51, 55, 41, 41, 41, 41, 41, 41, 41, 32, 43, 32, 34, 44, 32, 34, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 43, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, - 116, 104, 46, 109, 105, 110, 40, 50, 53, 53, 44, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, - 56, 49, 46, 50, 52, 32, 43, 32, 116, 32, 42, 32, 40, 52, 52, 50, 46, 51, 54, 32, 45, 32, 116, - 32, 42, 32, 40, 50, 52, 56, 50, 46, 52, 51, 32, 45, 32, 116, 32, 42, 32, 40, 54, 49, 54, 55, - 46, 50, 52, 32, 45, 32, 116, 32, 42, 32, 40, 54, 54, 49, 52, 46, 57, 52, 32, 45, 32, 116, 32, - 42, 32, 50, 52, 55, 53, 46, 54, 55, 41, 41, 41, 41, 41, 41, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 43, 32, 34, 41, 34, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 118, 97, 114, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 32, 61, 32, 99, 117, 98, 101, 104, 101, - 108, 105, 120, 76, 111, 110, 103, 40, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 51, 40, 51, 48, 48, - 44, 32, 48, 46, 53, 44, 32, 48, 46, 48, 41, 44, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, - 51, 40, 45, 50, 52, 48, 44, 32, 48, 46, 53, 44, 32, 49, 46, 48, 41, 41, 59, 10, 10, 32, 32, - 32, 32, 118, 97, 114, 32, 119, 97, 114, 109, 32, 61, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 76, - 111, 110, 103, 40, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 51, 40, 45, 49, 48, 48, 44, 32, 48, - 46, 55, 53, 44, 32, 48, 46, 51, 53, 41, 44, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 51, - 40, 56, 48, 44, 32, 49, 46, 53, 48, 44, 32, 48, 46, 56, 41, 41, 59, 10, 10, 32, 32, 32, 32, - 118, 97, 114, 32, 99, 111, 111, 108, 32, 61, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 76, 111, 110, - 103, 40, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 51, 40, 50, 54, 48, 44, 32, 48, 46, 55, 53, - 44, 32, 48, 46, 51, 53, 41, 44, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 51, 40, 56, 48, - 44, 32, 49, 46, 53, 48, 44, 32, 48, 46, 56, 41, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 99, 36, 50, 32, 61, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 51, 40, 41, 59, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 105, 110, 98, 111, 119, 40, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 32, 60, 32, 48, 32, 124, 124, - 32, 116, 32, 62, 32, 49, 41, 32, 116, 32, 45, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, - 40, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 115, 32, 61, 32, 77, - 97, 116, 104, 46, 97, 98, 115, 40, 116, 32, 45, 32, 48, 46, 53, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 36, 50, 46, 104, 32, 61, 32, 51, 54, 48, 32, 42, 32, 116, 32, 45, 32, 49, 48, - 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 36, 50, 46, 115, 32, 61, 32, 49, 46, 53, 32, - 45, 32, 49, 46, 53, 32, 42, 32, 116, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 36, 50, - 46, 108, 32, 61, 32, 48, 46, 56, 32, 45, 32, 48, 46, 57, 32, 42, 32, 116, 115, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 36, 50, 32, 43, 32, 34, 34, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 36, 49, 32, 61, 32, 114, 103, - 98, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 105, 95, 49, 95, 51, 32, 61, 32, 77, - 97, 116, 104, 46, 80, 73, 32, 47, 32, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 105, 95, - 50, 95, 51, 32, 61, 32, 77, 97, 116, 104, 46, 80, 73, 32, 42, 32, 50, 32, 47, 32, 51, 59, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 105, 110, 101, 98, 111, 119, 40, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 32, 61, 32, 40, 48, 46, 53, 32, 45, 32, 116, 41, 32, 42, 32, 77, 97, 116, - 104, 46, 80, 73, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 36, 49, 46, 114, 32, 61, 32, 50, - 53, 53, 32, 42, 32, 40, 120, 32, 61, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 116, 41, 41, 32, - 42, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 36, 49, 46, 103, 32, 61, 32, 50, 53, - 53, 32, 42, 32, 40, 120, 32, 61, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 116, 32, 43, 32, 112, - 105, 95, 49, 95, 51, 41, 41, 32, 42, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 36, - 49, 46, 98, 32, 61, 32, 50, 53, 53, 32, 42, 32, 40, 120, 32, 61, 32, 77, 97, 116, 104, 46, 115, - 105, 110, 40, 116, 32, 43, 32, 112, 105, 95, 50, 95, 51, 41, 41, 32, 42, 32, 120, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 36, 49, 32, 43, 32, 34, 34, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 117, 114, - 98, 111, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 77, 97, 116, - 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 49, 44, 32, 116, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 114, 103, 98, 40, - 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 77, 97, 116, 104, 46, 109, 97, - 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 50, 53, 53, 44, 32, 77, 97, 116, 104, - 46, 114, 111, 117, 110, 100, 40, 51, 52, 46, 54, 49, 32, 43, 32, 116, 32, 42, 32, 40, 49, 49, 55, - 50, 46, 51, 51, 32, 45, 32, 116, 32, 42, 32, 40, 49, 48, 55, 57, 51, 46, 53, 54, 32, 45, 32, - 116, 32, 42, 32, 40, 51, 51, 51, 48, 48, 46, 49, 50, 32, 45, 32, 116, 32, 42, 32, 40, 51, 56, - 51, 57, 52, 46, 52, 57, 32, 45, 32, 116, 32, 42, 32, 49, 52, 56, 50, 53, 46, 48, 53, 41, 41, - 41, 41, 41, 41, 41, 32, 43, 32, 34, 44, 32, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 43, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, - 110, 40, 50, 53, 53, 44, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, 50, 51, 46, 51, 49, - 32, 43, 32, 116, 32, 42, 32, 40, 53, 53, 55, 46, 51, 51, 32, 43, 32, 116, 32, 42, 32, 40, 49, - 50, 50, 53, 46, 51, 51, 32, 45, 32, 116, 32, 42, 32, 40, 51, 53, 55, 52, 46, 57, 54, 32, 45, - 32, 116, 32, 42, 32, 40, 49, 48, 55, 51, 46, 55, 55, 32, 43, 32, 116, 32, 42, 32, 55, 48, 55, - 46, 53, 54, 41, 41, 41, 41, 41, 41, 41, 32, 43, 32, 34, 44, 32, 34, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 43, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 77, 97, - 116, 104, 46, 109, 105, 110, 40, 50, 53, 53, 44, 32, 77, 97, 116, 104, 46, 114, 111, 117, 110, 100, 40, - 50, 55, 46, 50, 32, 43, 32, 116, 32, 42, 32, 40, 51, 50, 49, 49, 46, 49, 32, 45, 32, 116, 32, - 42, 32, 40, 49, 53, 51, 50, 55, 46, 57, 55, 32, 45, 32, 116, 32, 42, 32, 40, 50, 55, 56, 49, - 52, 32, 45, 32, 116, 32, 42, 32, 40, 50, 50, 53, 54, 57, 46, 49, 56, 32, 45, 32, 116, 32, 42, - 32, 54, 56, 51, 56, 46, 54, 54, 41, 41, 41, 41, 41, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 43, 32, 34, 41, 34, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 109, 112, 40, 114, 97, 110, 103, 101, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 114, 97, 110, 103, 101, 46, 108, - 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 97, 110, 103, 101, 91, 77, 97, 116, 104, 46, 109, 97, 120, - 40, 48, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 110, 32, 45, 32, 49, 44, 32, 77, 97, 116, - 104, 46, 102, 108, 111, 111, 114, 40, 116, 32, 42, 32, 110, 41, 41, 41, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 118, - 105, 114, 105, 100, 105, 115, 32, 61, 32, 114, 97, 109, 112, 40, 99, 111, 108, 111, 114, 115, 40, 34, 52, - 52, 48, 49, 53, 52, 52, 52, 48, 50, 53, 54, 52, 53, 48, 52, 53, 55, 52, 53, 48, 53, 53, 57, - 52, 54, 48, 55, 53, 97, 52, 54, 48, 56, 53, 99, 52, 54, 48, 97, 53, 100, 52, 54, 48, 98, 53, - 101, 52, 55, 48, 100, 54, 48, 52, 55, 48, 101, 54, 49, 52, 55, 49, 48, 54, 51, 52, 55, 49, 49, - 54, 52, 52, 55, 49, 51, 54, 53, 52, 56, 49, 52, 54, 55, 52, 56, 49, 54, 54, 56, 52, 56, 49, - 55, 54, 57, 52, 56, 49, 56, 54, 97, 52, 56, 49, 97, 54, 99, 52, 56, 49, 98, 54, 100, 52, 56, - 49, 99, 54, 101, 52, 56, 49, 100, 54, 102, 52, 56, 49, 102, 55, 48, 52, 56, 50, 48, 55, 49, 52, - 56, 50, 49, 55, 51, 52, 56, 50, 51, 55, 52, 52, 56, 50, 52, 55, 53, 52, 56, 50, 53, 55, 54, - 52, 56, 50, 54, 55, 55, 52, 56, 50, 56, 55, 56, 52, 56, 50, 57, 55, 57, 52, 55, 50, 97, 55, - 97, 52, 55, 50, 99, 55, 97, 52, 55, 50, 100, 55, 98, 52, 55, 50, 101, 55, 99, 52, 55, 50, 102, - 55, 100, 52, 54, 51, 48, 55, 101, 52, 54, 51, 50, 55, 101, 52, 54, 51, 51, 55, 102, 52, 54, 51, - 52, 56, 48, 52, 53, 51, 53, 56, 49, 52, 53, 51, 55, 56, 49, 52, 53, 51, 56, 56, 50, 52, 52, - 51, 57, 56, 51, 52, 52, 51, 97, 56, 51, 52, 52, 51, 98, 56, 52, 52, 51, 51, 100, 56, 52, 52, - 51, 51, 101, 56, 53, 52, 50, 51, 102, 56, 53, 52, 50, 52, 48, 56, 54, 52, 50, 52, 49, 56, 54, - 52, 49, 52, 50, 56, 55, 52, 49, 52, 52, 56, 55, 52, 48, 52, 53, 56, 56, 52, 48, 52, 54, 56, - 56, 51, 102, 52, 55, 56, 56, 51, 102, 52, 56, 56, 57, 51, 101, 52, 57, 56, 57, 51, 101, 52, 97, - 56, 57, 51, 101, 52, 99, 56, 97, 51, 100, 52, 100, 56, 97, 51, 100, 52, 101, 56, 97, 51, 99, 52, - 102, 56, 97, 51, 99, 53, 48, 56, 98, 51, 98, 53, 49, 56, 98, 51, 98, 53, 50, 56, 98, 51, 97, - 53, 51, 56, 98, 51, 97, 53, 52, 56, 99, 51, 57, 53, 53, 56, 99, 51, 57, 53, 54, 56, 99, 51, - 56, 53, 56, 56, 99, 51, 56, 53, 57, 56, 99, 51, 55, 53, 97, 56, 99, 51, 55, 53, 98, 56, 100, - 51, 54, 53, 99, 56, 100, 51, 54, 53, 100, 56, 100, 51, 53, 53, 101, 56, 100, 51, 53, 53, 102, 56, - 100, 51, 52, 54, 48, 56, 100, 51, 52, 54, 49, 56, 100, 51, 51, 54, 50, 56, 100, 51, 51, 54, 51, - 56, 100, 51, 50, 54, 52, 56, 101, 51, 50, 54, 53, 56, 101, 51, 49, 54, 54, 56, 101, 51, 49, 54, - 55, 56, 101, 51, 49, 54, 56, 56, 101, 51, 48, 54, 57, 56, 101, 51, 48, 54, 97, 56, 101, 50, 102, - 54, 98, 56, 101, 50, 102, 54, 99, 56, 101, 50, 101, 54, 100, 56, 101, 50, 101, 54, 101, 56, 101, 50, - 101, 54, 102, 56, 101, 50, 100, 55, 48, 56, 101, 50, 100, 55, 49, 56, 101, 50, 99, 55, 49, 56, 101, - 50, 99, 55, 50, 56, 101, 50, 99, 55, 51, 56, 101, 50, 98, 55, 52, 56, 101, 50, 98, 55, 53, 56, - 101, 50, 97, 55, 54, 56, 101, 50, 97, 55, 55, 56, 101, 50, 97, 55, 56, 56, 101, 50, 57, 55, 57, - 56, 101, 50, 57, 55, 97, 56, 101, 50, 57, 55, 98, 56, 101, 50, 56, 55, 99, 56, 101, 50, 56, 55, - 100, 56, 101, 50, 55, 55, 101, 56, 101, 50, 55, 55, 102, 56, 101, 50, 55, 56, 48, 56, 101, 50, 54, - 56, 49, 56, 101, 50, 54, 56, 50, 56, 101, 50, 54, 56, 50, 56, 101, 50, 53, 56, 51, 56, 101, 50, - 53, 56, 52, 56, 101, 50, 53, 56, 53, 56, 101, 50, 52, 56, 54, 56, 101, 50, 52, 56, 55, 56, 101, - 50, 51, 56, 56, 56, 101, 50, 51, 56, 57, 56, 101, 50, 51, 56, 97, 56, 100, 50, 50, 56, 98, 56, - 100, 50, 50, 56, 99, 56, 100, 50, 50, 56, 100, 56, 100, 50, 49, 56, 101, 56, 100, 50, 49, 56, 102, - 56, 100, 50, 49, 57, 48, 56, 100, 50, 49, 57, 49, 56, 99, 50, 48, 57, 50, 56, 99, 50, 48, 57, - 50, 56, 99, 50, 48, 57, 51, 56, 99, 49, 102, 57, 52, 56, 99, 49, 102, 57, 53, 56, 98, 49, 102, - 57, 54, 56, 98, 49, 102, 57, 55, 56, 98, 49, 102, 57, 56, 56, 98, 49, 102, 57, 57, 56, 97, 49, - 102, 57, 97, 56, 97, 49, 101, 57, 98, 56, 97, 49, 101, 57, 99, 56, 57, 49, 101, 57, 100, 56, 57, - 49, 102, 57, 101, 56, 57, 49, 102, 57, 102, 56, 56, 49, 102, 97, 48, 56, 56, 49, 102, 97, 49, 56, - 56, 49, 102, 97, 49, 56, 55, 49, 102, 97, 50, 56, 55, 50, 48, 97, 51, 56, 54, 50, 48, 97, 52, - 56, 54, 50, 49, 97, 53, 56, 53, 50, 49, 97, 54, 56, 53, 50, 50, 97, 55, 56, 53, 50, 50, 97, - 56, 56, 52, 50, 51, 97, 57, 56, 51, 50, 52, 97, 97, 56, 51, 50, 53, 97, 98, 56, 50, 50, 53, - 97, 99, 56, 50, 50, 54, 97, 100, 56, 49, 50, 55, 97, 100, 56, 49, 50, 56, 97, 101, 56, 48, 50, - 57, 97, 102, 55, 102, 50, 97, 98, 48, 55, 102, 50, 99, 98, 49, 55, 101, 50, 100, 98, 50, 55, 100, - 50, 101, 98, 51, 55, 99, 50, 102, 98, 52, 55, 99, 51, 49, 98, 53, 55, 98, 51, 50, 98, 54, 55, - 97, 51, 52, 98, 54, 55, 57, 51, 53, 98, 55, 55, 57, 51, 55, 98, 56, 55, 56, 51, 56, 98, 57, - 55, 55, 51, 97, 98, 97, 55, 54, 51, 98, 98, 98, 55, 53, 51, 100, 98, 99, 55, 52, 51, 102, 98, - 99, 55, 51, 52, 48, 98, 100, 55, 50, 52, 50, 98, 101, 55, 49, 52, 52, 98, 102, 55, 48, 52, 54, - 99, 48, 54, 102, 52, 56, 99, 49, 54, 101, 52, 97, 99, 49, 54, 100, 52, 99, 99, 50, 54, 99, 52, - 101, 99, 51, 54, 98, 53, 48, 99, 52, 54, 97, 53, 50, 99, 53, 54, 57, 53, 52, 99, 53, 54, 56, - 53, 54, 99, 54, 54, 55, 53, 56, 99, 55, 54, 53, 53, 97, 99, 56, 54, 52, 53, 99, 99, 56, 54, - 51, 53, 101, 99, 57, 54, 50, 54, 48, 99, 97, 54, 48, 54, 51, 99, 98, 53, 102, 54, 53, 99, 98, - 53, 101, 54, 55, 99, 99, 53, 99, 54, 57, 99, 100, 53, 98, 54, 99, 99, 100, 53, 97, 54, 101, 99, - 101, 53, 56, 55, 48, 99, 102, 53, 55, 55, 51, 100, 48, 53, 54, 55, 53, 100, 48, 53, 52, 55, 55, - 100, 49, 53, 51, 55, 97, 100, 49, 53, 49, 55, 99, 100, 50, 53, 48, 55, 102, 100, 51, 52, 101, 56, - 49, 100, 51, 52, 100, 56, 52, 100, 52, 52, 98, 56, 54, 100, 53, 52, 57, 56, 57, 100, 53, 52, 56, - 56, 98, 100, 54, 52, 54, 56, 101, 100, 54, 52, 53, 57, 48, 100, 55, 52, 51, 57, 51, 100, 55, 52, - 49, 57, 53, 100, 56, 52, 48, 57, 56, 100, 56, 51, 101, 57, 98, 100, 57, 51, 99, 57, 100, 100, 57, - 51, 98, 97, 48, 100, 97, 51, 57, 97, 50, 100, 97, 51, 55, 97, 53, 100, 98, 51, 54, 97, 56, 100, - 98, 51, 52, 97, 97, 100, 99, 51, 50, 97, 100, 100, 99, 51, 48, 98, 48, 100, 100, 50, 102, 98, 50, - 100, 100, 50, 100, 98, 53, 100, 101, 50, 98, 98, 56, 100, 101, 50, 57, 98, 97, 100, 101, 50, 56, 98, - 100, 100, 102, 50, 54, 99, 48, 100, 102, 50, 53, 99, 50, 100, 102, 50, 51, 99, 53, 101, 48, 50, 49, - 99, 56, 101, 48, 50, 48, 99, 97, 101, 49, 49, 102, 99, 100, 101, 49, 49, 100, 100, 48, 101, 49, 49, - 99, 100, 50, 101, 50, 49, 98, 100, 53, 101, 50, 49, 97, 100, 56, 101, 50, 49, 57, 100, 97, 101, 51, - 49, 57, 100, 100, 101, 51, 49, 56, 100, 102, 101, 51, 49, 56, 101, 50, 101, 52, 49, 56, 101, 53, 101, - 52, 49, 57, 101, 55, 101, 52, 49, 57, 101, 97, 101, 53, 49, 97, 101, 99, 101, 53, 49, 98, 101, 102, - 101, 53, 49, 99, 102, 49, 101, 53, 49, 100, 102, 52, 101, 54, 49, 101, 102, 54, 101, 54, 50, 48, 102, - 56, 101, 54, 50, 49, 102, 98, 101, 55, 50, 51, 102, 100, 101, 55, 50, 53, 34, 41, 41, 59, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 109, 97, 103, 109, 97, 32, 61, 32, 114, 97, 109, 112, 40, 99, 111, - 108, 111, 114, 115, 40, 34, 48, 48, 48, 48, 48, 52, 48, 49, 48, 48, 48, 53, 48, 49, 48, 49, 48, - 54, 48, 49, 48, 49, 48, 56, 48, 50, 48, 49, 48, 57, 48, 50, 48, 50, 48, 98, 48, 50, 48, 50, - 48, 100, 48, 51, 48, 51, 48, 102, 48, 51, 48, 51, 49, 50, 48, 52, 48, 52, 49, 52, 48, 53, 48, - 52, 49, 54, 48, 54, 48, 53, 49, 56, 48, 54, 48, 53, 49, 97, 48, 55, 48, 54, 49, 99, 48, 56, - 48, 55, 49, 101, 48, 57, 48, 55, 50, 48, 48, 97, 48, 56, 50, 50, 48, 98, 48, 57, 50, 52, 48, - 99, 48, 57, 50, 54, 48, 100, 48, 97, 50, 57, 48, 101, 48, 98, 50, 98, 49, 48, 48, 98, 50, 100, - 49, 49, 48, 99, 50, 102, 49, 50, 48, 100, 51, 49, 49, 51, 48, 100, 51, 52, 49, 52, 48, 101, 51, - 54, 49, 53, 48, 101, 51, 56, 49, 54, 48, 102, 51, 98, 49, 56, 48, 102, 51, 100, 49, 57, 49, 48, - 51, 102, 49, 97, 49, 48, 52, 50, 49, 99, 49, 48, 52, 52, 49, 100, 49, 49, 52, 55, 49, 101, 49, - 49, 52, 57, 50, 48, 49, 49, 52, 98, 50, 49, 49, 49, 52, 101, 50, 50, 49, 49, 53, 48, 50, 52, - 49, 50, 53, 51, 50, 53, 49, 50, 53, 53, 50, 55, 49, 50, 53, 56, 50, 57, 49, 49, 53, 97, 50, - 97, 49, 49, 53, 99, 50, 99, 49, 49, 53, 102, 50, 100, 49, 49, 54, 49, 50, 102, 49, 49, 54, 51, - 51, 49, 49, 49, 54, 53, 51, 51, 49, 48, 54, 55, 51, 52, 49, 48, 54, 57, 51, 54, 49, 48, 54, - 98, 51, 56, 49, 48, 54, 99, 51, 57, 48, 102, 54, 101, 51, 98, 48, 102, 55, 48, 51, 100, 48, 102, - 55, 49, 51, 102, 48, 102, 55, 50, 52, 48, 48, 102, 55, 52, 52, 50, 48, 102, 55, 53, 52, 52, 48, - 102, 55, 54, 52, 53, 49, 48, 55, 55, 52, 55, 49, 48, 55, 56, 52, 57, 49, 48, 55, 56, 52, 97, - 49, 48, 55, 57, 52, 99, 49, 49, 55, 97, 52, 101, 49, 49, 55, 98, 52, 102, 49, 50, 55, 98, 53, - 49, 49, 50, 55, 99, 53, 50, 49, 51, 55, 99, 53, 52, 49, 51, 55, 100, 53, 54, 49, 52, 55, 100, - 53, 55, 49, 53, 55, 101, 53, 57, 49, 53, 55, 101, 53, 97, 49, 54, 55, 101, 53, 99, 49, 54, 55, - 102, 53, 100, 49, 55, 55, 102, 53, 102, 49, 56, 55, 102, 54, 48, 49, 56, 56, 48, 54, 50, 49, 57, - 56, 48, 54, 52, 49, 97, 56, 48, 54, 53, 49, 97, 56, 48, 54, 55, 49, 98, 56, 48, 54, 56, 49, - 99, 56, 49, 54, 97, 49, 99, 56, 49, 54, 98, 49, 100, 56, 49, 54, 100, 49, 100, 56, 49, 54, 101, - 49, 101, 56, 49, 55, 48, 49, 102, 56, 49, 55, 50, 49, 102, 56, 49, 55, 51, 50, 48, 56, 49, 55, - 53, 50, 49, 56, 49, 55, 54, 50, 49, 56, 49, 55, 56, 50, 50, 56, 49, 55, 57, 50, 50, 56, 50, - 55, 98, 50, 51, 56, 50, 55, 99, 50, 51, 56, 50, 55, 101, 50, 52, 56, 50, 56, 48, 50, 53, 56, - 50, 56, 49, 50, 53, 56, 49, 56, 51, 50, 54, 56, 49, 56, 52, 50, 54, 56, 49, 56, 54, 50, 55, - 56, 49, 56, 56, 50, 55, 56, 49, 56, 57, 50, 56, 56, 49, 56, 98, 50, 57, 56, 49, 56, 99, 50, - 57, 56, 49, 56, 101, 50, 97, 56, 49, 57, 48, 50, 97, 56, 49, 57, 49, 50, 98, 56, 49, 57, 51, - 50, 98, 56, 48, 57, 52, 50, 99, 56, 48, 57, 54, 50, 99, 56, 48, 57, 56, 50, 100, 56, 48, 57, - 57, 50, 100, 56, 48, 57, 98, 50, 101, 55, 102, 57, 99, 50, 101, 55, 102, 57, 101, 50, 102, 55, 102, - 97, 48, 50, 102, 55, 102, 97, 49, 51, 48, 55, 101, 97, 51, 51, 48, 55, 101, 97, 53, 51, 49, 55, - 101, 97, 54, 51, 49, 55, 100, 97, 56, 51, 50, 55, 100, 97, 97, 51, 51, 55, 100, 97, 98, 51, 51, - 55, 99, 97, 100, 51, 52, 55, 99, 97, 101, 51, 52, 55, 98, 98, 48, 51, 53, 55, 98, 98, 50, 51, - 53, 55, 98, 98, 51, 51, 54, 55, 97, 98, 53, 51, 54, 55, 97, 98, 55, 51, 55, 55, 57, 98, 56, - 51, 55, 55, 57, 98, 97, 51, 56, 55, 56, 98, 99, 51, 57, 55, 56, 98, 100, 51, 57, 55, 55, 98, - 102, 51, 97, 55, 55, 99, 48, 51, 97, 55, 54, 99, 50, 51, 98, 55, 53, 99, 52, 51, 99, 55, 53, - 99, 53, 51, 99, 55, 52, 99, 55, 51, 100, 55, 51, 99, 56, 51, 101, 55, 51, 99, 97, 51, 101, 55, - 50, 99, 99, 51, 102, 55, 49, 99, 100, 52, 48, 55, 49, 99, 102, 52, 48, 55, 48, 100, 48, 52, 49, - 54, 102, 100, 50, 52, 50, 54, 102, 100, 51, 52, 51, 54, 101, 100, 53, 52, 52, 54, 100, 100, 54, 52, - 53, 54, 99, 100, 56, 52, 53, 54, 99, 100, 57, 52, 54, 54, 98, 100, 98, 52, 55, 54, 97, 100, 99, - 52, 56, 54, 57, 100, 101, 52, 57, 54, 56, 100, 102, 52, 97, 54, 56, 101, 48, 52, 99, 54, 55, 101, - 50, 52, 100, 54, 54, 101, 51, 52, 101, 54, 53, 101, 52, 52, 102, 54, 52, 101, 53, 53, 48, 54, 52, - 101, 55, 53, 50, 54, 51, 101, 56, 53, 51, 54, 50, 101, 57, 53, 52, 54, 50, 101, 97, 53, 54, 54, - 49, 101, 98, 53, 55, 54, 48, 101, 99, 53, 56, 54, 48, 101, 100, 53, 97, 53, 102, 101, 101, 53, 98, - 53, 101, 101, 102, 53, 100, 53, 101, 102, 48, 53, 102, 53, 101, 102, 49, 54, 48, 53, 100, 102, 50, 54, - 50, 53, 100, 102, 50, 54, 52, 53, 99, 102, 51, 54, 53, 53, 99, 102, 52, 54, 55, 53, 99, 102, 52, - 54, 57, 53, 99, 102, 53, 54, 98, 53, 99, 102, 54, 54, 99, 53, 99, 102, 54, 54, 101, 53, 99, 102, - 55, 55, 48, 53, 99, 102, 55, 55, 50, 53, 99, 102, 56, 55, 52, 53, 99, 102, 56, 55, 54, 53, 99, - 102, 57, 55, 56, 53, 100, 102, 57, 55, 57, 53, 100, 102, 57, 55, 98, 53, 100, 102, 97, 55, 100, 53, - 101, 102, 97, 55, 102, 53, 101, 102, 97, 56, 49, 53, 102, 102, 98, 56, 51, 53, 102, 102, 98, 56, 53, - 54, 48, 102, 98, 56, 55, 54, 49, 102, 99, 56, 57, 54, 49, 102, 99, 56, 97, 54, 50, 102, 99, 56, - 99, 54, 51, 102, 99, 56, 101, 54, 52, 102, 99, 57, 48, 54, 53, 102, 100, 57, 50, 54, 54, 102, 100, - 57, 52, 54, 55, 102, 100, 57, 54, 54, 56, 102, 100, 57, 56, 54, 57, 102, 100, 57, 97, 54, 97, 102, - 100, 57, 98, 54, 98, 102, 101, 57, 100, 54, 99, 102, 101, 57, 102, 54, 100, 102, 101, 97, 49, 54, 101, - 102, 101, 97, 51, 54, 102, 102, 101, 97, 53, 55, 49, 102, 101, 97, 55, 55, 50, 102, 101, 97, 57, 55, - 51, 102, 101, 97, 97, 55, 52, 102, 101, 97, 99, 55, 54, 102, 101, 97, 101, 55, 55, 102, 101, 98, 48, - 55, 56, 102, 101, 98, 50, 55, 97, 102, 101, 98, 52, 55, 98, 102, 101, 98, 54, 55, 99, 102, 101, 98, - 55, 55, 101, 102, 101, 98, 57, 55, 102, 102, 101, 98, 98, 56, 49, 102, 101, 98, 100, 56, 50, 102, 101, - 98, 102, 56, 52, 102, 101, 99, 49, 56, 53, 102, 101, 99, 50, 56, 55, 102, 101, 99, 52, 56, 56, 102, - 101, 99, 54, 56, 97, 102, 101, 99, 56, 56, 99, 102, 101, 99, 97, 56, 100, 102, 101, 99, 99, 56, 102, - 102, 101, 99, 100, 57, 48, 102, 101, 99, 102, 57, 50, 102, 101, 100, 49, 57, 52, 102, 101, 100, 51, 57, - 53, 102, 101, 100, 53, 57, 55, 102, 101, 100, 55, 57, 57, 102, 101, 100, 56, 57, 97, 102, 100, 100, 97, - 57, 99, 102, 100, 100, 99, 57, 101, 102, 100, 100, 101, 97, 48, 102, 100, 101, 48, 97, 49, 102, 100, 101, - 50, 97, 51, 102, 100, 101, 51, 97, 53, 102, 100, 101, 53, 97, 55, 102, 100, 101, 55, 97, 57, 102, 100, - 101, 57, 97, 97, 102, 100, 101, 98, 97, 99, 102, 99, 101, 99, 97, 101, 102, 99, 101, 101, 98, 48, 102, - 99, 102, 48, 98, 50, 102, 99, 102, 50, 98, 52, 102, 99, 102, 52, 98, 54, 102, 99, 102, 54, 98, 56, - 102, 99, 102, 55, 98, 57, 102, 99, 102, 57, 98, 98, 102, 99, 102, 98, 98, 100, 102, 99, 102, 100, 98, - 102, 34, 41, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 105, 110, 102, 101, 114, 110, 111, 32, - 61, 32, 114, 97, 109, 112, 40, 99, 111, 108, 111, 114, 115, 40, 34, 48, 48, 48, 48, 48, 52, 48, 49, - 48, 48, 48, 53, 48, 49, 48, 49, 48, 54, 48, 49, 48, 49, 48, 56, 48, 50, 48, 49, 48, 97, 48, - 50, 48, 50, 48, 99, 48, 50, 48, 50, 48, 101, 48, 51, 48, 50, 49, 48, 48, 52, 48, 51, 49, 50, - 48, 52, 48, 51, 49, 52, 48, 53, 48, 52, 49, 55, 48, 54, 48, 52, 49, 57, 48, 55, 48, 53, 49, - 98, 48, 56, 48, 53, 49, 100, 48, 57, 48, 54, 49, 102, 48, 97, 48, 55, 50, 50, 48, 98, 48, 55, - 50, 52, 48, 99, 48, 56, 50, 54, 48, 100, 48, 56, 50, 57, 48, 101, 48, 57, 50, 98, 49, 48, 48, - 57, 50, 100, 49, 49, 48, 97, 51, 48, 49, 50, 48, 97, 51, 50, 49, 52, 48, 98, 51, 52, 49, 53, - 48, 98, 51, 55, 49, 54, 48, 98, 51, 57, 49, 56, 48, 99, 51, 99, 49, 57, 48, 99, 51, 101, 49, - 98, 48, 99, 52, 49, 49, 99, 48, 99, 52, 51, 49, 101, 48, 99, 52, 53, 49, 102, 48, 99, 52, 56, - 50, 49, 48, 99, 52, 97, 50, 51, 48, 99, 52, 99, 50, 52, 48, 99, 52, 102, 50, 54, 48, 99, 53, - 49, 50, 56, 48, 98, 53, 51, 50, 57, 48, 98, 53, 53, 50, 98, 48, 98, 53, 55, 50, 100, 48, 98, - 53, 57, 50, 102, 48, 97, 53, 98, 51, 49, 48, 97, 53, 99, 51, 50, 48, 97, 53, 101, 51, 52, 48, - 97, 53, 102, 51, 54, 48, 57, 54, 49, 51, 56, 48, 57, 54, 50, 51, 57, 48, 57, 54, 51, 51, 98, - 48, 57, 54, 52, 51, 100, 48, 57, 54, 53, 51, 101, 48, 57, 54, 54, 52, 48, 48, 97, 54, 55, 52, - 50, 48, 97, 54, 56, 52, 52, 48, 97, 54, 56, 52, 53, 48, 97, 54, 57, 52, 55, 48, 98, 54, 97, - 52, 57, 48, 98, 54, 97, 52, 97, 48, 99, 54, 98, 52, 99, 48, 99, 54, 98, 52, 100, 48, 100, 54, - 99, 52, 102, 48, 100, 54, 99, 53, 49, 48, 101, 54, 99, 53, 50, 48, 101, 54, 100, 53, 52, 48, 102, - 54, 100, 53, 53, 48, 102, 54, 100, 53, 55, 49, 48, 54, 101, 53, 57, 49, 48, 54, 101, 53, 97, 49, - 49, 54, 101, 53, 99, 49, 50, 54, 101, 53, 100, 49, 50, 54, 101, 53, 102, 49, 51, 54, 101, 54, 49, - 49, 51, 54, 101, 54, 50, 49, 52, 54, 101, 54, 52, 49, 53, 54, 101, 54, 53, 49, 53, 54, 101, 54, - 55, 49, 54, 54, 101, 54, 57, 49, 54, 54, 101, 54, 97, 49, 55, 54, 101, 54, 99, 49, 56, 54, 101, - 54, 100, 49, 56, 54, 101, 54, 102, 49, 57, 54, 101, 55, 49, 49, 57, 54, 101, 55, 50, 49, 97, 54, - 101, 55, 52, 49, 97, 54, 101, 55, 53, 49, 98, 54, 101, 55, 55, 49, 99, 54, 100, 55, 56, 49, 99, - 54, 100, 55, 97, 49, 100, 54, 100, 55, 99, 49, 100, 54, 100, 55, 100, 49, 101, 54, 100, 55, 102, 49, - 101, 54, 99, 56, 48, 49, 102, 54, 99, 56, 50, 50, 48, 54, 99, 56, 52, 50, 48, 54, 98, 56, 53, - 50, 49, 54, 98, 56, 55, 50, 49, 54, 98, 56, 56, 50, 50, 54, 97, 56, 97, 50, 50, 54, 97, 56, - 99, 50, 51, 54, 57, 56, 100, 50, 51, 54, 57, 56, 102, 50, 52, 54, 57, 57, 48, 50, 53, 54, 56, - 57, 50, 50, 53, 54, 56, 57, 51, 50, 54, 54, 55, 57, 53, 50, 54, 54, 55, 57, 55, 50, 55, 54, - 54, 57, 56, 50, 55, 54, 54, 57, 97, 50, 56, 54, 53, 57, 98, 50, 57, 54, 52, 57, 100, 50, 57, - 54, 52, 57, 102, 50, 97, 54, 51, 97, 48, 50, 97, 54, 51, 97, 50, 50, 98, 54, 50, 97, 51, 50, - 99, 54, 49, 97, 53, 50, 99, 54, 48, 97, 54, 50, 100, 54, 48, 97, 56, 50, 101, 53, 102, 97, 57, - 50, 101, 53, 101, 97, 98, 50, 102, 53, 101, 97, 100, 51, 48, 53, 100, 97, 101, 51, 48, 53, 99, 98, - 48, 51, 49, 53, 98, 98, 49, 51, 50, 53, 97, 98, 51, 51, 50, 53, 97, 98, 52, 51, 51, 53, 57, - 98, 54, 51, 52, 53, 56, 98, 55, 51, 53, 53, 55, 98, 57, 51, 53, 53, 54, 98, 97, 51, 54, 53, - 53, 98, 99, 51, 55, 53, 52, 98, 100, 51, 56, 53, 51, 98, 102, 51, 57, 53, 50, 99, 48, 51, 97, - 53, 49, 99, 49, 51, 97, 53, 48, 99, 51, 51, 98, 52, 102, 99, 52, 51, 99, 52, 101, 99, 54, 51, - 100, 52, 100, 99, 55, 51, 101, 52, 99, 99, 56, 51, 102, 52, 98, 99, 97, 52, 48, 52, 97, 99, 98, - 52, 49, 52, 57, 99, 99, 52, 50, 52, 56, 99, 101, 52, 51, 52, 55, 99, 102, 52, 52, 52, 54, 100, - 48, 52, 53, 52, 53, 100, 50, 52, 54, 52, 52, 100, 51, 52, 55, 52, 51, 100, 52, 52, 56, 52, 50, - 100, 53, 52, 97, 52, 49, 100, 55, 52, 98, 51, 102, 100, 56, 52, 99, 51, 101, 100, 57, 52, 100, 51, - 100, 100, 97, 52, 101, 51, 99, 100, 98, 53, 48, 51, 98, 100, 100, 53, 49, 51, 97, 100, 101, 53, 50, - 51, 56, 100, 102, 53, 51, 51, 55, 101, 48, 53, 53, 51, 54, 101, 49, 53, 54, 51, 53, 101, 50, 53, - 55, 51, 52, 101, 51, 53, 57, 51, 51, 101, 52, 53, 97, 51, 49, 101, 53, 53, 99, 51, 48, 101, 54, - 53, 100, 50, 102, 101, 55, 53, 101, 50, 101, 101, 56, 54, 48, 50, 100, 101, 57, 54, 49, 50, 98, 101, - 97, 54, 51, 50, 97, 101, 98, 54, 52, 50, 57, 101, 98, 54, 54, 50, 56, 101, 99, 54, 55, 50, 54, - 101, 100, 54, 57, 50, 53, 101, 101, 54, 97, 50, 52, 101, 102, 54, 99, 50, 51, 101, 102, 54, 101, 50, - 49, 102, 48, 54, 102, 50, 48, 102, 49, 55, 49, 49, 102, 102, 49, 55, 51, 49, 100, 102, 50, 55, 52, - 49, 99, 102, 51, 55, 54, 49, 98, 102, 51, 55, 56, 49, 57, 102, 52, 55, 57, 49, 56, 102, 53, 55, - 98, 49, 55, 102, 53, 55, 100, 49, 53, 102, 54, 55, 101, 49, 52, 102, 54, 56, 48, 49, 51, 102, 55, - 56, 50, 49, 50, 102, 55, 56, 52, 49, 48, 102, 56, 56, 53, 48, 102, 102, 56, 56, 55, 48, 101, 102, - 56, 56, 57, 48, 99, 102, 57, 56, 98, 48, 98, 102, 57, 56, 99, 48, 97, 102, 57, 56, 101, 48, 57, - 102, 97, 57, 48, 48, 56, 102, 97, 57, 50, 48, 55, 102, 97, 57, 52, 48, 55, 102, 98, 57, 54, 48, - 54, 102, 98, 57, 55, 48, 54, 102, 98, 57, 57, 48, 54, 102, 98, 57, 98, 48, 54, 102, 98, 57, 100, - 48, 55, 102, 99, 57, 102, 48, 55, 102, 99, 97, 49, 48, 56, 102, 99, 97, 51, 48, 57, 102, 99, 97, - 53, 48, 97, 102, 99, 97, 54, 48, 99, 102, 99, 97, 56, 48, 100, 102, 99, 97, 97, 48, 102, 102, 99, - 97, 99, 49, 49, 102, 99, 97, 101, 49, 50, 102, 99, 98, 48, 49, 52, 102, 99, 98, 50, 49, 54, 102, - 99, 98, 52, 49, 56, 102, 98, 98, 54, 49, 97, 102, 98, 98, 56, 49, 100, 102, 98, 98, 97, 49, 102, - 102, 98, 98, 99, 50, 49, 102, 98, 98, 101, 50, 51, 102, 97, 99, 48, 50, 54, 102, 97, 99, 50, 50, - 56, 102, 97, 99, 52, 50, 97, 102, 97, 99, 54, 50, 100, 102, 57, 99, 55, 50, 102, 102, 57, 99, 57, - 51, 50, 102, 57, 99, 98, 51, 53, 102, 56, 99, 100, 51, 55, 102, 56, 99, 102, 51, 97, 102, 55, 100, - 49, 51, 100, 102, 55, 100, 51, 52, 48, 102, 54, 100, 53, 52, 51, 102, 54, 100, 55, 52, 54, 102, 53, - 100, 57, 52, 57, 102, 53, 100, 98, 52, 99, 102, 52, 100, 100, 52, 102, 102, 52, 100, 102, 53, 51, 102, - 52, 101, 49, 53, 54, 102, 51, 101, 51, 53, 97, 102, 51, 101, 53, 53, 100, 102, 50, 101, 54, 54, 49, - 102, 50, 101, 56, 54, 53, 102, 50, 101, 97, 54, 57, 102, 49, 101, 99, 54, 100, 102, 49, 101, 100, 55, - 49, 102, 49, 101, 102, 55, 53, 102, 49, 102, 49, 55, 57, 102, 50, 102, 50, 55, 100, 102, 50, 102, 52, - 56, 50, 102, 51, 102, 53, 56, 54, 102, 51, 102, 54, 56, 97, 102, 52, 102, 56, 56, 101, 102, 53, 102, - 57, 57, 50, 102, 54, 102, 97, 57, 54, 102, 56, 102, 98, 57, 97, 102, 57, 102, 99, 57, 100, 102, 97, - 102, 100, 97, 49, 102, 99, 102, 102, 97, 52, 34, 41, 41, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 112, 108, 97, 115, 109, 97, 32, 61, 32, 114, 97, 109, 112, 40, 99, 111, 108, 111, 114, 115, 40, 34, - 48, 100, 48, 56, 56, 55, 49, 48, 48, 55, 56, 56, 49, 51, 48, 55, 56, 57, 49, 54, 48, 55, 56, - 97, 49, 57, 48, 54, 56, 99, 49, 98, 48, 54, 56, 100, 49, 100, 48, 54, 56, 101, 50, 48, 48, 54, - 56, 102, 50, 50, 48, 54, 57, 48, 50, 52, 48, 54, 57, 49, 50, 54, 48, 53, 57, 49, 50, 56, 48, - 53, 57, 50, 50, 97, 48, 53, 57, 51, 50, 99, 48, 53, 57, 52, 50, 101, 48, 53, 57, 53, 50, 102, - 48, 53, 57, 54, 51, 49, 48, 53, 57, 55, 51, 51, 48, 53, 57, 55, 51, 53, 48, 52, 57, 56, 51, - 55, 48, 52, 57, 57, 51, 56, 48, 52, 57, 97, 51, 97, 48, 52, 57, 97, 51, 99, 48, 52, 57, 98, - 51, 101, 48, 52, 57, 99, 51, 102, 48, 52, 57, 99, 52, 49, 48, 52, 57, 100, 52, 51, 48, 51, 57, - 101, 52, 52, 48, 51, 57, 101, 52, 54, 48, 51, 57, 102, 52, 56, 48, 51, 57, 102, 52, 57, 48, 51, - 97, 48, 52, 98, 48, 51, 97, 49, 52, 99, 48, 50, 97, 49, 52, 101, 48, 50, 97, 50, 53, 48, 48, - 50, 97, 50, 53, 49, 48, 50, 97, 51, 53, 51, 48, 50, 97, 51, 53, 53, 48, 50, 97, 52, 53, 54, - 48, 49, 97, 52, 53, 56, 48, 49, 97, 52, 53, 57, 48, 49, 97, 53, 53, 98, 48, 49, 97, 53, 53, - 99, 48, 49, 97, 54, 53, 101, 48, 49, 97, 54, 54, 48, 48, 49, 97, 54, 54, 49, 48, 48, 97, 55, - 54, 51, 48, 48, 97, 55, 54, 52, 48, 48, 97, 55, 54, 54, 48, 48, 97, 55, 54, 55, 48, 48, 97, - 56, 54, 57, 48, 48, 97, 56, 54, 97, 48, 48, 97, 56, 54, 99, 48, 48, 97, 56, 54, 101, 48, 48, - 97, 56, 54, 102, 48, 48, 97, 56, 55, 49, 48, 48, 97, 56, 55, 50, 48, 49, 97, 56, 55, 52, 48, - 49, 97, 56, 55, 53, 48, 49, 97, 56, 55, 55, 48, 49, 97, 56, 55, 56, 48, 49, 97, 56, 55, 97, - 48, 50, 97, 56, 55, 98, 48, 50, 97, 56, 55, 100, 48, 51, 97, 56, 55, 101, 48, 51, 97, 56, 56, - 48, 48, 52, 97, 56, 56, 49, 48, 52, 97, 55, 56, 51, 48, 53, 97, 55, 56, 52, 48, 53, 97, 55, - 56, 54, 48, 54, 97, 54, 56, 55, 48, 55, 97, 54, 56, 56, 48, 56, 97, 54, 56, 97, 48, 57, 97, - 53, 56, 98, 48, 97, 97, 53, 56, 100, 48, 98, 97, 53, 56, 101, 48, 99, 97, 52, 56, 102, 48, 100, - 97, 52, 57, 49, 48, 101, 97, 51, 57, 50, 48, 102, 97, 51, 57, 52, 49, 48, 97, 50, 57, 53, 49, - 49, 97, 49, 57, 54, 49, 51, 97, 49, 57, 56, 49, 52, 97, 48, 57, 57, 49, 53, 57, 102, 57, 97, - 49, 54, 57, 102, 57, 99, 49, 55, 57, 101, 57, 100, 49, 56, 57, 100, 57, 101, 49, 57, 57, 100, 97, - 48, 49, 97, 57, 99, 97, 49, 49, 98, 57, 98, 97, 50, 49, 100, 57, 97, 97, 51, 49, 101, 57, 97, - 97, 53, 49, 102, 57, 57, 97, 54, 50, 48, 57, 56, 97, 55, 50, 49, 57, 55, 97, 56, 50, 50, 57, - 54, 97, 97, 50, 51, 57, 53, 97, 98, 50, 52, 57, 52, 97, 99, 50, 54, 57, 52, 97, 100, 50, 55, - 57, 51, 97, 101, 50, 56, 57, 50, 98, 48, 50, 57, 57, 49, 98, 49, 50, 97, 57, 48, 98, 50, 50, - 98, 56, 102, 98, 51, 50, 99, 56, 101, 98, 52, 50, 101, 56, 100, 98, 53, 50, 102, 56, 99, 98, 54, - 51, 48, 56, 98, 98, 55, 51, 49, 56, 97, 98, 56, 51, 50, 56, 57, 98, 97, 51, 51, 56, 56, 98, - 98, 51, 52, 56, 56, 98, 99, 51, 53, 56, 55, 98, 100, 51, 55, 56, 54, 98, 101, 51, 56, 56, 53, - 98, 102, 51, 57, 56, 52, 99, 48, 51, 97, 56, 51, 99, 49, 51, 98, 56, 50, 99, 50, 51, 99, 56, - 49, 99, 51, 51, 100, 56, 48, 99, 52, 51, 101, 55, 102, 99, 53, 52, 48, 55, 101, 99, 54, 52, 49, - 55, 100, 99, 55, 52, 50, 55, 99, 99, 56, 52, 51, 55, 98, 99, 57, 52, 52, 55, 97, 99, 97, 52, - 53, 55, 97, 99, 98, 52, 54, 55, 57, 99, 99, 52, 55, 55, 56, 99, 99, 52, 57, 55, 55, 99, 100, - 52, 97, 55, 54, 99, 101, 52, 98, 55, 53, 99, 102, 52, 99, 55, 52, 100, 48, 52, 100, 55, 51, 100, - 49, 52, 101, 55, 50, 100, 50, 52, 102, 55, 49, 100, 51, 53, 49, 55, 49, 100, 52, 53, 50, 55, 48, - 100, 53, 53, 51, 54, 102, 100, 53, 53, 52, 54, 101, 100, 54, 53, 53, 54, 100, 100, 55, 53, 54, 54, - 99, 100, 56, 53, 55, 54, 98, 100, 57, 53, 56, 54, 97, 100, 97, 53, 97, 54, 97, 100, 97, 53, 98, - 54, 57, 100, 98, 53, 99, 54, 56, 100, 99, 53, 100, 54, 55, 100, 100, 53, 101, 54, 54, 100, 101, 53, - 102, 54, 53, 100, 101, 54, 49, 54, 52, 100, 102, 54, 50, 54, 51, 101, 48, 54, 51, 54, 51, 101, 49, - 54, 52, 54, 50, 101, 50, 54, 53, 54, 49, 101, 50, 54, 54, 54, 48, 101, 51, 54, 56, 53, 102, 101, - 52, 54, 57, 53, 101, 101, 53, 54, 97, 53, 100, 101, 53, 54, 98, 53, 100, 101, 54, 54, 99, 53, 99, - 101, 55, 54, 101, 53, 98, 101, 55, 54, 102, 53, 97, 101, 56, 55, 48, 53, 57, 101, 57, 55, 49, 53, - 56, 101, 57, 55, 50, 53, 55, 101, 97, 55, 52, 53, 55, 101, 98, 55, 53, 53, 54, 101, 98, 55, 54, - 53, 53, 101, 99, 55, 55, 53, 52, 101, 100, 55, 57, 53, 51, 101, 100, 55, 97, 53, 50, 101, 101, 55, - 98, 53, 49, 101, 102, 55, 99, 53, 49, 101, 102, 55, 101, 53, 48, 102, 48, 55, 102, 52, 102, 102, 48, - 56, 48, 52, 101, 102, 49, 56, 49, 52, 100, 102, 49, 56, 51, 52, 99, 102, 50, 56, 52, 52, 98, 102, - 51, 56, 53, 52, 98, 102, 51, 56, 55, 52, 97, 102, 52, 56, 56, 52, 57, 102, 52, 56, 57, 52, 56, - 102, 53, 56, 98, 52, 55, 102, 53, 56, 99, 52, 54, 102, 54, 56, 100, 52, 53, 102, 54, 56, 102, 52, - 52, 102, 55, 57, 48, 52, 52, 102, 55, 57, 49, 52, 51, 102, 55, 57, 51, 52, 50, 102, 56, 57, 52, - 52, 49, 102, 56, 57, 53, 52, 48, 102, 57, 57, 55, 51, 102, 102, 57, 57, 56, 51, 101, 102, 57, 57, - 97, 51, 101, 102, 97, 57, 98, 51, 100, 102, 97, 57, 99, 51, 99, 102, 97, 57, 101, 51, 98, 102, 98, - 57, 102, 51, 97, 102, 98, 97, 49, 51, 57, 102, 98, 97, 50, 51, 56, 102, 99, 97, 51, 51, 56, 102, - 99, 97, 53, 51, 55, 102, 99, 97, 54, 51, 54, 102, 99, 97, 56, 51, 53, 102, 99, 97, 57, 51, 52, - 102, 100, 97, 98, 51, 51, 102, 100, 97, 99, 51, 51, 102, 100, 97, 101, 51, 50, 102, 100, 97, 102, 51, - 49, 102, 100, 98, 49, 51, 48, 102, 100, 98, 50, 50, 102, 102, 100, 98, 52, 50, 102, 102, 100, 98, 53, - 50, 101, 102, 101, 98, 55, 50, 100, 102, 101, 98, 56, 50, 99, 102, 101, 98, 97, 50, 99, 102, 101, 98, - 98, 50, 98, 102, 101, 98, 100, 50, 97, 102, 101, 98, 101, 50, 97, 102, 101, 99, 48, 50, 57, 102, 100, - 99, 50, 50, 57, 102, 100, 99, 51, 50, 56, 102, 100, 99, 53, 50, 55, 102, 100, 99, 54, 50, 55, 102, - 100, 99, 56, 50, 55, 102, 100, 99, 97, 50, 54, 102, 100, 99, 98, 50, 54, 102, 99, 99, 100, 50, 53, - 102, 99, 99, 101, 50, 53, 102, 99, 100, 48, 50, 53, 102, 99, 100, 50, 50, 53, 102, 98, 100, 51, 50, - 52, 102, 98, 100, 53, 50, 52, 102, 98, 100, 55, 50, 52, 102, 97, 100, 56, 50, 52, 102, 97, 100, 97, - 50, 52, 102, 57, 100, 99, 50, 52, 102, 57, 100, 100, 50, 53, 102, 56, 100, 102, 50, 53, 102, 56, 101, - 49, 50, 53, 102, 55, 101, 50, 50, 53, 102, 55, 101, 52, 50, 53, 102, 54, 101, 54, 50, 54, 102, 54, - 101, 56, 50, 54, 102, 53, 101, 57, 50, 54, 102, 53, 101, 98, 50, 55, 102, 52, 101, 100, 50, 55, 102, - 51, 101, 101, 50, 55, 102, 51, 102, 48, 50, 55, 102, 50, 102, 50, 50, 55, 102, 49, 102, 52, 50, 54, - 102, 49, 102, 53, 50, 53, 102, 48, 102, 55, 50, 52, 102, 48, 102, 57, 50, 49, 34, 41, 41, 59, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, - 49, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 110, 115, 116, 97, 110, 116, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 97, 98, 115, 32, 61, 32, 77, 97, 116, 104, 46, 97, 98, 115, 59, 10, 32, 32, 32, 32, 118, 97, 114, - 32, 97, 116, 97, 110, 50, 32, 61, 32, 77, 97, 116, 104, 46, 97, 116, 97, 110, 50, 59, 10, 32, 32, - 32, 32, 118, 97, 114, 32, 99, 111, 115, 32, 61, 32, 77, 97, 116, 104, 46, 99, 111, 115, 59, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 109, 97, 120, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 59, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 109, 105, 110, 32, 61, 32, 77, 97, 116, 104, 46, 109, 105, 110, 59, - 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 105, 110, 32, 61, 32, 77, 97, 116, 104, 46, 115, 105, 110, - 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 113, 114, 116, 32, 61, 32, 77, 97, 116, 104, 46, 115, - 113, 114, 116, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 101, 112, 115, 105, 108, 111, 110, 32, 61, - 32, 49, 101, 45, 49, 50, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 112, 105, 32, 61, 32, 77, 97, - 116, 104, 46, 80, 73, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 104, 97, 108, 102, 80, 105, 32, 61, - 32, 112, 105, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 97, 117, 32, 61, 32, - 50, 32, 42, 32, 112, 105, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, - 99, 111, 115, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 120, 32, 62, 32, 49, 32, 63, 32, 48, 32, 58, 32, 120, 32, 60, 32, 45, 49, 32, 63, 32, 112, - 105, 32, 58, 32, 77, 97, 116, 104, 46, 97, 99, 111, 115, 40, 120, 41, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 115, 105, 110, 40, 120, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 62, 61, 32, 49, - 32, 63, 32, 104, 97, 108, 102, 80, 105, 32, 58, 32, 120, 32, 60, 61, 32, 45, 49, 32, 63, 32, 45, - 104, 97, 108, 102, 80, 105, 32, 58, 32, 77, 97, 116, 104, 46, 97, 115, 105, 110, 40, 120, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 99, - 73, 110, 110, 101, 114, 82, 97, 100, 105, 117, 115, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 105, 110, 110, 101, 114, 82, 97, 100, 105, 117, 115, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, - 99, 79, 117, 116, 101, 114, 82, 97, 100, 105, 117, 115, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 111, 117, 116, 101, 114, 82, 97, 100, 105, 117, 115, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, - 114, 99, 83, 116, 97, 114, 116, 65, 110, 103, 108, 101, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, - 99, 69, 110, 100, 65, 110, 103, 108, 101, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 100, 46, 101, 110, 100, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 99, 80, 97, 100, 65, - 110, 103, 108, 101, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 100, 32, 38, 38, 32, 100, 46, 112, 97, 100, 65, 110, 103, 108, 101, 59, 32, 47, 47, 32, 78, - 111, 116, 101, 58, 32, 111, 112, 116, 105, 111, 110, 97, 108, 33, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 40, 120, - 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 44, 32, 120, 50, 44, 32, 121, 50, 44, 32, - 120, 51, 44, 32, 121, 51, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, - 49, 48, 32, 61, 32, 120, 49, 32, 45, 32, 120, 48, 44, 32, 121, 49, 48, 32, 61, 32, 121, 49, 32, - 45, 32, 121, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 51, 50, 32, 61, - 32, 120, 51, 32, 45, 32, 120, 50, 44, 32, 121, 51, 50, 32, 61, 32, 121, 51, 32, 45, 32, 121, 50, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 121, 51, 50, 32, 42, - 32, 120, 49, 48, 32, 45, 32, 120, 51, 50, 32, 42, 32, 121, 49, 48, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 116, 32, 42, 32, 116, 32, 60, 32, 101, 112, 115, 105, 108, 111, 110, 41, - 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 40, 120, - 51, 50, 32, 42, 32, 40, 121, 48, 32, 45, 32, 121, 50, 41, 32, 45, 32, 121, 51, 50, 32, 42, 32, - 40, 120, 48, 32, 45, 32, 120, 50, 41, 41, 32, 47, 32, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 91, 120, 48, 32, 43, 32, 116, 32, 42, 32, 120, 49, 48, 44, 32, - 121, 48, 32, 43, 32, 116, 32, 42, 32, 121, 49, 48, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, - 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, 112, 101, 114, 112, 101, 110, 100, 105, 99, 117, 108, 97, 114, - 32, 111, 102, 102, 115, 101, 116, 32, 108, 105, 110, 101, 32, 111, 102, 32, 108, 101, 110, 103, 116, 104, 32, - 114, 99, 46, 10, 47, 47, 32, 104, 116, 116, 112, 58, 47, 47, 109, 97, 116, 104, 119, 111, 114, 108, 100, - 46, 119, 111, 108, 102, 114, 97, 109, 46, 99, 111, 109, 47, 67, 105, 114, 99, 108, 101, 45, 76, 105, 110, - 101, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 46, 104, 116, 109, 108, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 111, 114, 110, 101, 114, 84, 97, 110, 103, 101, 110, 116, 115, - 40, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 44, 32, 114, 49, 44, 32, 114, 99, - 44, 32, 99, 119, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 48, 49, - 32, 61, 32, 120, 48, 32, 45, 32, 120, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 121, 48, 49, 32, 61, 32, 121, 48, 32, 45, 32, 121, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 111, 32, 61, 32, 40, 99, 119, 32, 63, 32, 114, 99, 32, 58, 32, 45, 114, - 99, 41, 32, 47, 32, 115, 113, 114, 116, 40, 120, 48, 49, 32, 42, 32, 120, 48, 49, 32, 43, 32, 121, - 48, 49, 32, 42, 32, 121, 48, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 111, 120, 32, 61, 32, 108, 111, 32, 42, 32, 121, 48, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 111, 121, 32, 61, 32, 45, 108, 111, 32, 42, 32, 120, 48, 49, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 49, 32, 61, 32, 120, 48, 32, 43, 32, 111, 120, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 49, 32, 61, 32, 121, 48, 32, 43, - 32, 111, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 48, 32, 61, 32, - 120, 49, 32, 43, 32, 111, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, - 48, 32, 61, 32, 121, 49, 32, 43, 32, 111, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 120, 48, 48, 32, 61, 32, 40, 120, 49, 49, 32, 43, 32, 120, 49, 48, 41, 32, 47, 32, 50, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 48, 32, 61, 32, 40, 121, 49, - 49, 32, 43, 32, 121, 49, 48, 41, 32, 47, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 120, 32, 61, 32, 120, 49, 48, 32, 45, 32, 120, 49, 49, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, 32, 121, 49, 48, 32, 45, 32, 121, 49, 49, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 50, 32, 61, 32, 100, 120, 32, 42, 32, - 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 32, 61, 32, 114, 49, 32, 45, 32, 114, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 68, 32, 61, 32, 120, 49, 49, 32, 42, 32, 121, 49, 48, 32, 45, 32, 120, 49, - 48, 32, 42, 32, 121, 49, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, - 61, 32, 40, 100, 121, 32, 60, 32, 48, 32, 63, 32, 45, 49, 32, 58, 32, 49, 41, 32, 42, 32, 115, - 113, 114, 116, 40, 109, 97, 120, 40, 48, 44, 32, 114, 32, 42, 32, 114, 32, 42, 32, 100, 50, 32, 45, - 32, 68, 32, 42, 32, 68, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 120, 48, 32, 61, 32, 40, 68, 32, 42, 32, 100, 121, 32, 45, 32, 100, 120, 32, 42, 32, 100, 41, 32, - 47, 32, 100, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 121, 48, 32, 61, - 32, 40, 45, 68, 32, 42, 32, 100, 120, 32, 45, 32, 100, 121, 32, 42, 32, 100, 41, 32, 47, 32, 100, - 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 120, 49, 32, 61, 32, 40, 68, - 32, 42, 32, 100, 121, 32, 43, 32, 100, 120, 32, 42, 32, 100, 41, 32, 47, 32, 100, 50, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 121, 49, 32, 61, 32, 40, 45, 68, 32, 42, 32, - 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 41, 32, 47, 32, 100, 50, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 48, 32, 61, 32, 99, 120, 48, 32, 45, 32, 120, 48, 48, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 48, 32, 61, 32, 99, 121, 48, - 32, 45, 32, 121, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 49, - 32, 61, 32, 99, 120, 49, 32, 45, 32, 120, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 121, 49, 32, 61, 32, 99, 121, 49, 32, 45, 32, 121, 48, 48, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 80, 105, 99, 107, 32, 116, 104, 101, 32, 99, 108, 111, 115, 101, - 114, 32, 111, 102, 32, 116, 104, 101, 32, 116, 119, 111, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, - 111, 110, 32, 112, 111, 105, 110, 116, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, - 79, 68, 79, 32, 73, 115, 32, 116, 104, 101, 114, 101, 32, 97, 32, 102, 97, 115, 116, 101, 114, 32, 119, - 97, 121, 32, 116, 111, 32, 100, 101, 116, 101, 114, 109, 105, 110, 101, 32, 119, 104, 105, 99, 104, 32, 105, - 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 32, 116, 111, 32, 117, 115, 101, 63, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 120, 48, 32, 42, 32, 100, 120, 48, 32, 43, 32, 100, 121, - 48, 32, 42, 32, 100, 121, 48, 32, 62, 32, 100, 120, 49, 32, 42, 32, 100, 120, 49, 32, 43, 32, 100, - 121, 49, 32, 42, 32, 100, 121, 49, 41, 32, 99, 120, 48, 32, 61, 32, 99, 120, 49, 44, 32, 99, 121, - 48, 32, 61, 32, 99, 121, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 120, 58, 32, 99, 120, 48, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 121, 58, 32, 99, 121, 48, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 49, 58, 32, 45, 111, 120, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 49, 58, 32, 45, 111, 121, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 49, 58, 32, 99, 120, 48, 32, 42, 32, 40, 114, - 49, 32, 47, 32, 114, 32, 45, 32, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 121, 49, 49, 58, 32, 99, 121, 48, 32, 42, 32, 40, 114, 49, 32, 47, 32, 114, 32, 45, 32, 49, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 99, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 105, 110, 110, 101, 114, 82, 97, 100, 105, 117, 115, 32, 61, 32, 97, 114, - 99, 73, 110, 110, 101, 114, 82, 97, 100, 105, 117, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 111, 117, 116, 101, 114, 82, 97, 100, 105, 117, 115, 32, 61, 32, 97, 114, 99, 79, 117, 116, - 101, 114, 82, 97, 100, 105, 117, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 114, 110, 101, 114, 82, 97, 100, 105, 117, 115, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, - 49, 40, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, 82, 97, - 100, 105, 117, 115, 32, 61, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 32, 61, 32, 97, 114, 99, 83, 116, 97, 114, 116, - 65, 110, 103, 108, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 100, 65, - 110, 103, 108, 101, 32, 61, 32, 97, 114, 99, 69, 110, 100, 65, 110, 103, 108, 101, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, 65, 110, 103, 108, 101, 32, 61, 32, 97, 114, 99, - 80, 97, 100, 65, 110, 103, 108, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 117, 108, 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 99, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 117, 102, 102, 101, 114, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 48, 32, 61, 32, 43, 105, 110, 110, 101, 114, 82, 97, 100, 105, - 117, 115, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 49, 32, - 61, 32, 43, 111, 117, 116, 101, 114, 82, 97, 100, 105, 117, 115, 46, 97, 112, 112, 108, 121, 40, 116, 104, - 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 48, 32, 61, 32, 115, 116, 97, 114, 116, 65, 110, 103, 108, - 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 41, 32, 45, 32, 104, 97, 108, 102, 80, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 49, 32, 61, 32, 101, 110, 100, 65, 110, 103, 108, 101, 46, 97, 112, 112, 108, - 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 45, 32, 104, 97, - 108, 102, 80, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 97, 32, 61, 32, 97, 98, 115, 40, 97, 49, 32, 45, 32, 97, 48, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 119, 32, 61, 32, 97, 49, 32, 62, 32, 97, 48, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 99, 111, 110, - 116, 101, 120, 116, 41, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 98, 117, 102, 102, 101, 114, 32, - 61, 32, 112, 97, 116, 104, 40, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 47, 47, 32, 69, 110, 115, 117, 114, 101, 32, 116, 104, 97, 116, 32, 116, 104, 101, 32, 111, 117, 116, 101, - 114, 32, 114, 97, 100, 105, 117, 115, 32, 105, 115, 32, 97, 108, 119, 97, 121, 115, 32, 108, 97, 114, 103, - 101, 114, 32, 116, 104, 97, 110, 32, 116, 104, 101, 32, 105, 110, 110, 101, 114, 32, 114, 97, 100, 105, 117, - 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 49, 32, 60, - 32, 114, 48, 41, 32, 114, 32, 61, 32, 114, 49, 44, 32, 114, 49, 32, 61, 32, 114, 48, 44, 32, 114, - 48, 32, 61, 32, 114, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, - 73, 115, 32, 105, 116, 32, 97, 32, 112, 111, 105, 110, 116, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 114, 49, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 41, - 41, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 48, 44, 32, 48, 41, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 114, 32, 105, 115, 32, - 105, 116, 32, 97, 32, 99, 105, 114, 99, 108, 101, 32, 111, 114, 32, 97, 110, 110, 117, 108, 117, 115, 63, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 100, - 97, 32, 62, 32, 116, 97, 117, 32, 45, 32, 101, 112, 115, 105, 108, 111, 110, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, - 111, 118, 101, 84, 111, 40, 114, 49, 32, 42, 32, 99, 111, 115, 40, 97, 48, 41, 44, 32, 114, 49, 32, - 42, 32, 115, 105, 110, 40, 97, 48, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 48, 44, 32, 48, 44, 32, - 114, 49, 44, 32, 97, 48, 44, 32, 97, 49, 44, 32, 33, 99, 119, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 48, 32, 62, 32, 101, 112, 115, - 105, 108, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 114, 48, 32, - 42, 32, 99, 111, 115, 40, 97, 49, 41, 44, 32, 114, 48, 32, 42, 32, 115, 105, 110, 40, 97, 49, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 48, 44, 32, 48, 44, 32, 114, 48, 44, 32, 97, - 49, 44, 32, 97, 48, 44, 32, 99, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 114, 32, 105, 115, 32, 105, 116, 32, - 97, 32, 99, 105, 114, 99, 117, 108, 97, 114, 32, 111, 114, 32, 97, 110, 110, 117, 108, 97, 114, 32, 115, - 101, 99, 116, 111, 114, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 97, 48, 49, 32, 61, 32, 97, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 97, 49, 49, 32, 61, 32, 97, 49, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 48, 48, 32, 61, 32, 97, 48, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 49, - 48, 32, 61, 32, 97, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 97, 48, 32, 61, 32, 100, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 49, 32, 61, 32, 100, 97, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 112, 32, 61, - 32, 112, 97, 100, 65, 110, 103, 108, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 47, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 112, 32, 61, 32, 40, 97, 112, 32, 62, 32, - 101, 112, 115, 105, 108, 111, 110, 41, 32, 38, 38, 32, 40, 112, 97, 100, 82, 97, 100, 105, 117, 115, 32, - 63, 32, 43, 112, 97, 100, 82, 97, 100, 105, 117, 115, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, - 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 58, 32, 115, 113, 114, 116, 40, 114, 48, 32, - 42, 32, 114, 48, 32, 43, 32, 114, 49, 32, 42, 32, 114, 49, 41, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 99, 32, 61, 32, 109, 105, 110, - 40, 97, 98, 115, 40, 114, 49, 32, 45, 32, 114, 48, 41, 32, 47, 32, 50, 44, 32, 43, 99, 111, 114, - 110, 101, 114, 82, 97, 100, 105, 117, 115, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 99, 48, 32, 61, 32, 114, 99, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 99, 49, 32, 61, 32, 114, - 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, - 47, 32, 65, 112, 112, 108, 121, 32, 112, 97, 100, 100, 105, 110, 103, 63, 32, 78, 111, 116, 101, 32, 116, - 104, 97, 116, 32, 115, 105, 110, 99, 101, 32, 114, 49, 32, 226, 137, 165, 32, 114, 48, 44, 32, 100, 97, - 49, 32, 226, 137, 165, 32, 100, 97, 48, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 114, 112, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 112, 48, 32, 61, 32, 97, 115, 105, 110, 40, 114, 112, 32, 47, 32, 114, 48, 32, 42, 32, 115, - 105, 110, 40, 97, 112, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 49, 32, 61, 32, 97, 115, 105, 110, 40, 114, 112, 32, - 47, 32, 114, 49, 32, 42, 32, 115, 105, 110, 40, 97, 112, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 100, 97, 48, 32, - 45, 61, 32, 112, 48, 32, 42, 32, 50, 41, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 41, 32, 112, - 48, 32, 42, 61, 32, 40, 99, 119, 32, 63, 32, 49, 32, 58, 32, 45, 49, 41, 44, 32, 97, 48, 48, - 32, 43, 61, 32, 112, 48, 44, 32, 97, 49, 48, 32, 45, 61, 32, 112, 48, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 100, 97, - 48, 32, 61, 32, 48, 44, 32, 97, 48, 48, 32, 61, 32, 97, 49, 48, 32, 61, 32, 40, 97, 48, 32, - 43, 32, 97, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 40, 100, 97, 49, 32, 45, 61, 32, 112, 49, 32, - 42, 32, 50, 41, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 41, 32, 112, 49, 32, 42, 61, 32, 40, - 99, 119, 32, 63, 32, 49, 32, 58, 32, 45, 49, 41, 44, 32, 97, 48, 49, 32, 43, 61, 32, 112, 49, - 44, 32, 97, 49, 49, 32, 45, 61, 32, 112, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 100, 97, 49, 32, 61, 32, 48, 44, - 32, 97, 48, 49, 32, 61, 32, 97, 49, 49, 32, 61, 32, 40, 97, 48, 32, 43, 32, 97, 49, 41, 32, - 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 48, - 49, 32, 61, 32, 114, 49, 32, 42, 32, 99, 111, 115, 40, 97, 48, 49, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 49, 32, 61, 32, 114, - 49, 32, 42, 32, 115, 105, 110, 40, 97, 48, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 48, 32, 61, 32, 114, 48, 32, 42, 32, 99, - 111, 115, 40, 97, 49, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 121, 49, 48, 32, 61, 32, 114, 48, 32, 42, 32, 115, 105, 110, 40, 97, 49, - 48, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, - 32, 65, 112, 112, 108, 121, 32, 114, 111, 117, 110, 100, 101, 100, 32, 99, 111, 114, 110, 101, 114, 115, 63, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 99, - 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 49, 49, 32, 61, 32, 114, 49, - 32, 42, 32, 99, 111, 115, 40, 97, 49, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 49, 32, 61, 32, 114, 49, 32, - 42, 32, 115, 105, 110, 40, 97, 49, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 48, 32, 61, 32, 114, 48, 32, 42, - 32, 99, 111, 115, 40, 97, 48, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 48, 32, 61, 32, 114, 48, 32, 42, 32, - 115, 105, 110, 40, 97, 48, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 99, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 82, 101, 115, 116, 114, 105, 99, - 116, 32, 116, 104, 101, 32, 99, 111, 114, 110, 101, 114, 32, 114, 97, 100, 105, 117, 115, 32, 97, 99, 99, - 111, 114, 100, 105, 110, 103, 32, 116, 111, 32, 116, 104, 101, 32, 115, 101, 99, 116, 111, 114, 32, 97, 110, - 103, 108, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 100, 97, 32, 60, 32, 112, 105, 32, 38, 38, 32, 40, 111, 99, 32, 61, 32, - 105, 110, 116, 101, 114, 115, 101, 99, 116, 40, 120, 48, 49, 44, 32, 121, 48, 49, 44, 32, 120, 48, 48, - 44, 32, 121, 48, 48, 44, 32, 120, 49, 49, 44, 32, 121, 49, 49, 44, 32, 120, 49, 48, 44, 32, 121, - 49, 48, 41, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 120, 32, 61, 32, 120, 48, 49, 32, 45, - 32, 111, 99, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 121, 32, 61, 32, 121, 48, 49, 32, 45, - 32, 111, 99, 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 120, 32, 61, 32, 120, 49, 49, 32, 45, - 32, 111, 99, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 121, 32, 61, 32, 121, 49, 49, 32, 45, - 32, 111, 99, 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 99, 32, 61, 32, 49, 32, 47, 32, 115, - 105, 110, 40, 97, 99, 111, 115, 40, 40, 97, 120, 32, 42, 32, 98, 120, 32, 43, 32, 97, 121, 32, 42, - 32, 98, 121, 41, 32, 47, 32, 40, 115, 113, 114, 116, 40, 97, 120, 32, 42, 32, 97, 120, 32, 43, 32, - 97, 121, 32, 42, 32, 97, 121, 41, 32, 42, 32, 115, 113, 114, 116, 40, 98, 120, 32, 42, 32, 98, 120, - 32, 43, 32, 98, 121, 32, 42, 32, 98, 121, 41, 41, 41, 32, 47, 32, 50, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 99, 32, 61, 32, 115, 113, 114, 116, 40, 111, 99, 91, 48, 93, 32, 42, 32, 111, 99, 91, - 48, 93, 32, 43, 32, 111, 99, 91, 49, 93, 32, 42, 32, 111, 99, 91, 49, 93, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 99, 48, 32, 61, 32, 109, 105, 110, 40, 114, 99, 44, 32, 40, 114, 48, 32, 45, 32, 108, 99, 41, 32, - 47, 32, 40, 107, 99, 32, 45, 32, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 99, 49, 32, 61, 32, 109, 105, 110, - 40, 114, 99, 44, 32, 40, 114, 49, 32, 45, 32, 108, 99, 41, 32, 47, 32, 40, 107, 99, 32, 43, 32, - 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 115, 32, 116, - 104, 101, 32, 115, 101, 99, 116, 111, 114, 32, 99, 111, 108, 108, 97, 112, 115, 101, 100, 32, 116, 111, 32, - 97, 32, 108, 105, 110, 101, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 33, 40, 100, 97, 49, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 41, 41, 32, - 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 48, 49, 44, 32, 121, 48, 49, - 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, - 68, 111, 101, 115, 32, 116, 104, 101, 32, 115, 101, 99, 116, 111, 114, 226, 128, 153, 115, 32, 111, 117, 116, - 101, 114, 32, 114, 105, 110, 103, 32, 104, 97, 118, 101, 32, 114, 111, 117, 110, 100, 101, 100, 32, 99, 111, - 114, 110, 101, 114, 115, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 101, 108, 115, 101, 32, 105, 102, 32, 40, 114, 99, 49, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 48, 32, 61, 32, 99, 111, 114, 110, 101, 114, 84, 97, 110, 103, 101, 110, 116, 115, 40, 120, 48, 48, - 44, 32, 121, 48, 48, 44, 32, 120, 48, 49, 44, 32, 121, 48, 49, 44, 32, 114, 49, 44, 32, 114, 99, - 49, 44, 32, 99, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 49, 32, 61, 32, 99, 111, 114, 110, 101, 114, 84, 97, 110, 103, 101, 110, 116, - 115, 40, 120, 49, 49, 44, 32, 121, 49, 49, 44, 32, 120, 49, 48, 44, 32, 121, 49, 48, 44, 32, 114, - 49, 44, 32, 114, 99, 49, 44, 32, 99, 119, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, - 84, 111, 40, 116, 48, 46, 99, 120, 32, 43, 32, 116, 48, 46, 120, 48, 49, 44, 32, 116, 48, 46, 99, - 121, 32, 43, 32, 116, 48, 46, 121, 48, 49, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 72, 97, 118, 101, 32, 116, 104, 101, 32, - 99, 111, 114, 110, 101, 114, 115, 32, 109, 101, 114, 103, 101, 100, 63, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 99, 49, 32, 60, 32, - 114, 99, 41, 32, 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 116, 48, 46, 99, 120, 44, 32, - 116, 48, 46, 99, 121, 44, 32, 114, 99, 49, 44, 32, 97, 116, 97, 110, 50, 40, 116, 48, 46, 121, 48, - 49, 44, 32, 116, 48, 46, 120, 48, 49, 41, 44, 32, 97, 116, 97, 110, 50, 40, 116, 49, 46, 121, 48, - 49, 44, 32, 116, 49, 46, 120, 48, 49, 41, 44, 32, 33, 99, 119, 41, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, 101, - 114, 119, 105, 115, 101, 44, 32, 100, 114, 97, 119, 32, 116, 104, 101, 32, 116, 119, 111, 32, 99, 111, 114, - 110, 101, 114, 115, 32, 97, 110, 100, 32, 116, 104, 101, 32, 114, 105, 110, 103, 46, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 116, 48, 46, 99, 120, 44, 32, 116, 48, 46, - 99, 121, 44, 32, 114, 99, 49, 44, 32, 97, 116, 97, 110, 50, 40, 116, 48, 46, 121, 48, 49, 44, 32, - 116, 48, 46, 120, 48, 49, 41, 44, 32, 97, 116, 97, 110, 50, 40, 116, 48, 46, 121, 49, 49, 44, 32, - 116, 48, 46, 120, 49, 49, 41, 44, 32, 33, 99, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, - 46, 97, 114, 99, 40, 48, 44, 32, 48, 44, 32, 114, 49, 44, 32, 97, 116, 97, 110, 50, 40, 116, 48, - 46, 99, 121, 32, 43, 32, 116, 48, 46, 121, 49, 49, 44, 32, 116, 48, 46, 99, 120, 32, 43, 32, 116, - 48, 46, 120, 49, 49, 41, 44, 32, 97, 116, 97, 110, 50, 40, 116, 49, 46, 99, 121, 32, 43, 32, 116, - 49, 46, 121, 49, 49, 44, 32, 116, 49, 46, 99, 120, 32, 43, 32, 116, 49, 46, 120, 49, 49, 41, 44, - 32, 33, 99, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 116, 49, 46, - 99, 120, 44, 32, 116, 49, 46, 99, 121, 44, 32, 114, 99, 49, 44, 32, 97, 116, 97, 110, 50, 40, 116, - 49, 46, 121, 49, 49, 44, 32, 116, 49, 46, 120, 49, 49, 41, 44, 32, 97, 116, 97, 110, 50, 40, 116, - 49, 46, 121, 48, 49, 44, 32, 116, 49, 46, 120, 48, 49, 41, 44, 32, 33, 99, 119, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 114, 32, 105, 115, 32, 116, 104, 101, 32, - 111, 117, 116, 101, 114, 32, 114, 105, 110, 103, 32, 106, 117, 115, 116, 32, 97, 32, 99, 105, 114, 99, 117, - 108, 97, 114, 32, 97, 114, 99, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 101, 108, 115, 101, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, - 48, 49, 44, 32, 121, 48, 49, 41, 44, 32, 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 48, - 44, 32, 48, 44, 32, 114, 49, 44, 32, 97, 48, 49, 44, 32, 97, 49, 49, 44, 32, 33, 99, 119, 41, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, - 115, 32, 116, 104, 101, 114, 101, 32, 110, 111, 32, 105, 110, 110, 101, 114, 32, 114, 105, 110, 103, 44, 32, - 97, 110, 100, 32, 105, 116, 226, 128, 153, 115, 32, 97, 32, 99, 105, 114, 99, 117, 108, 97, 114, 32, 115, - 101, 99, 116, 111, 114, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 47, 47, 32, 79, 114, 32, 112, 101, 114, 104, 97, 112, 115, 32, 105, 116, 226, 128, 153, 115, 32, 97, 110, - 32, 97, 110, 110, 117, 108, 97, 114, 32, 115, 101, 99, 116, 111, 114, 32, 99, 111, 108, 108, 97, 112, 115, - 101, 100, 32, 100, 117, 101, 32, 116, 111, 32, 112, 97, 100, 100, 105, 110, 103, 63, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 114, 48, 32, 62, 32, - 101, 112, 115, 105, 108, 111, 110, 41, 32, 124, 124, 32, 33, 40, 100, 97, 48, 32, 62, 32, 101, 112, 115, - 105, 108, 111, 110, 41, 41, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, - 49, 48, 44, 32, 121, 49, 48, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 47, 47, 32, 68, 111, 101, 115, 32, 116, 104, 101, 32, 115, 101, 99, 116, 111, 114, 226, - 128, 153, 115, 32, 105, 110, 110, 101, 114, 32, 114, 105, 110, 103, 32, 40, 111, 114, 32, 112, 111, 105, 110, - 116, 41, 32, 104, 97, 118, 101, 32, 114, 111, 117, 110, 100, 101, 100, 32, 99, 111, 114, 110, 101, 114, 115, - 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, - 105, 102, 32, 40, 114, 99, 48, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 48, 32, 61, 32, - 99, 111, 114, 110, 101, 114, 84, 97, 110, 103, 101, 110, 116, 115, 40, 120, 49, 48, 44, 32, 121, 49, 48, - 44, 32, 120, 49, 49, 44, 32, 121, 49, 49, 44, 32, 114, 48, 44, 32, 45, 114, 99, 48, 44, 32, 99, - 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 49, 32, 61, 32, 99, 111, 114, 110, 101, 114, 84, 97, 110, 103, 101, 110, 116, 115, 40, 120, 48, - 49, 44, 32, 121, 48, 49, 44, 32, 120, 48, 48, 44, 32, 121, 48, 48, 44, 32, 114, 48, 44, 32, 45, - 114, 99, 48, 44, 32, 99, 119, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, - 116, 48, 46, 99, 120, 32, 43, 32, 116, 48, 46, 120, 48, 49, 44, 32, 116, 48, 46, 99, 121, 32, 43, - 32, 116, 48, 46, 121, 48, 49, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 72, 97, 118, 101, 32, 116, 104, 101, 32, 99, 111, 114, - 110, 101, 114, 115, 32, 109, 101, 114, 103, 101, 100, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 99, 48, 32, 60, 32, 114, 99, 41, - 32, 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 116, 48, 46, 99, 120, 44, 32, 116, 48, 46, - 99, 121, 44, 32, 114, 99, 48, 44, 32, 97, 116, 97, 110, 50, 40, 116, 48, 46, 121, 48, 49, 44, 32, - 116, 48, 46, 120, 48, 49, 41, 44, 32, 97, 116, 97, 110, 50, 40, 116, 49, 46, 121, 48, 49, 44, 32, - 116, 49, 46, 120, 48, 49, 41, 44, 32, 33, 99, 119, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, 101, 114, 119, 105, - 115, 101, 44, 32, 100, 114, 97, 119, 32, 116, 104, 101, 32, 116, 119, 111, 32, 99, 111, 114, 110, 101, 114, - 115, 32, 97, 110, 100, 32, 116, 104, 101, 32, 114, 105, 110, 103, 46, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 116, 48, 46, 99, 120, 44, 32, 116, 48, 46, 99, 121, 44, - 32, 114, 99, 48, 44, 32, 97, 116, 97, 110, 50, 40, 116, 48, 46, 121, 48, 49, 44, 32, 116, 48, 46, - 120, 48, 49, 41, 44, 32, 97, 116, 97, 110, 50, 40, 116, 48, 46, 121, 49, 49, 44, 32, 116, 48, 46, - 120, 49, 49, 41, 44, 32, 33, 99, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, - 99, 40, 48, 44, 32, 48, 44, 32, 114, 48, 44, 32, 97, 116, 97, 110, 50, 40, 116, 48, 46, 99, 121, - 32, 43, 32, 116, 48, 46, 121, 49, 49, 44, 32, 116, 48, 46, 99, 120, 32, 43, 32, 116, 48, 46, 120, - 49, 49, 41, 44, 32, 97, 116, 97, 110, 50, 40, 116, 49, 46, 99, 121, 32, 43, 32, 116, 49, 46, 121, - 49, 49, 44, 32, 116, 49, 46, 99, 120, 32, 43, 32, 116, 49, 46, 120, 49, 49, 41, 44, 32, 99, 119, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 116, 49, 46, 99, 120, 44, 32, - 116, 49, 46, 99, 121, 44, 32, 114, 99, 48, 44, 32, 97, 116, 97, 110, 50, 40, 116, 49, 46, 121, 49, - 49, 44, 32, 116, 49, 46, 120, 49, 49, 41, 44, 32, 97, 116, 97, 110, 50, 40, 116, 49, 46, 121, 48, - 49, 44, 32, 116, 49, 46, 120, 48, 49, 41, 44, 32, 33, 99, 119, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 114, 32, 105, 115, 32, 116, 104, 101, 32, 105, 110, 110, 101, - 114, 32, 114, 105, 110, 103, 32, 106, 117, 115, 116, 32, 97, 32, 99, 105, 114, 99, 117, 108, 97, 114, 32, - 97, 114, 99, 63, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, - 115, 101, 32, 99, 111, 110, 116, 101, 120, 116, 46, 97, 114, 99, 40, 48, 44, 32, 48, 44, 32, 114, 48, - 44, 32, 97, 49, 48, 44, 32, 97, 48, 48, 44, 32, 99, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 117, 102, 102, 101, 114, 41, 32, 114, 101, - 116, 117, 114, 110, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 117, 108, 108, 44, 32, 98, 117, - 102, 102, 101, 114, 32, 43, 32, 34, 34, 32, 124, 124, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 99, 46, 99, 101, 110, 116, - 114, 111, 105, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 40, 43, 105, 110, 110, 101, - 114, 82, 97, 100, 105, 117, 115, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 41, 32, 43, 32, 43, 111, 117, 116, 101, 114, 82, 97, 100, 105, 117, 115, 46, - 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, - 32, 47, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 32, 61, 32, 40, 43, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 46, 97, 112, 112, 108, 121, 40, 116, - 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 43, 32, 43, 101, 110, 100, 65, - 110, 103, 108, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 41, 41, 32, 47, 32, 50, 32, 45, 32, 112, 105, 32, 47, 32, 50, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 99, 111, 115, 40, 97, 41, - 32, 42, 32, 114, 44, 32, 115, 105, 110, 40, 97, 41, 32, 42, 32, 114, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 99, 46, 105, 110, 110, - 101, 114, 82, 97, 100, 105, 117, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 105, 110, 110, 101, 114, - 82, 97, 100, 105, 117, 115, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, - 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, - 116, 36, 49, 40, 43, 95, 41, 44, 32, 97, 114, 99, 41, 32, 58, 32, 105, 110, 110, 101, 114, 82, 97, - 100, 105, 117, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 97, 114, 99, 46, 111, 117, 116, 101, 114, 82, 97, 100, 105, 117, 115, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 32, 63, 32, 40, 111, 117, 116, 101, 114, 82, 97, 100, 105, 117, 115, 32, 61, 32, 116, 121, 112, 101, - 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, - 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 97, 114, 99, 41, - 32, 58, 32, 111, 117, 116, 101, 114, 82, 97, 100, 105, 117, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 99, 46, 99, 111, 114, 110, 101, 114, - 82, 97, 100, 105, 117, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 99, 111, 114, 110, 101, 114, 82, - 97, 100, 105, 117, 115, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, - 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, - 36, 49, 40, 43, 95, 41, 44, 32, 97, 114, 99, 41, 32, 58, 32, 99, 111, 114, 110, 101, 114, 82, 97, - 100, 105, 117, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 97, 114, 99, 46, 112, 97, 100, 82, 97, 100, 105, 117, 115, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 63, 32, 40, 112, 97, 100, 82, 97, 100, 105, 117, 115, 32, 61, 32, 95, 32, 61, 61, 32, 110, 117, 108, - 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, - 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, - 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 97, 114, 99, 41, 32, 58, 32, 112, 97, 100, 82, 97, - 100, 105, 117, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 97, 114, 99, 46, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 32, 61, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, - 32, 63, 32, 40, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 32, 61, 32, 116, 121, 112, 101, 111, 102, - 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, - 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 97, 114, 99, 41, 32, 58, - 32, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 99, 46, 101, 110, 100, 65, 110, 103, 108, 101, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 63, 32, 40, 101, 110, 100, 65, 110, 103, 108, 101, 32, 61, 32, 116, 121, 112, - 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, - 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 97, 114, 99, - 41, 32, 58, 32, 101, 110, 100, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 99, 46, 112, 97, 100, 65, 110, 103, 108, 101, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 65, 110, 103, 108, 101, 32, 61, 32, 116, 121, - 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, - 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 97, 114, - 99, 41, 32, 58, 32, 112, 97, 100, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 99, 46, 99, 111, 110, 116, 101, 120, 116, - 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, - 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 40, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 95, 32, - 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 95, 41, 44, 32, 97, 114, - 99, 41, 32, 58, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 99, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 108, 105, 99, 101, 32, 61, 32, - 65, 114, 114, 97, 121, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 115, 108, 105, 99, 101, 59, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 114, 97, 121, 40, 120, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 121, 112, 101, 111, 102, - 32, 120, 32, 61, 61, 61, 32, 34, 111, 98, 106, 101, 99, 116, 34, 32, 38, 38, 32, 34, 108, 101, 110, - 103, 116, 104, 34, 32, 105, 110, 32, 120, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 63, - 32, 120, 32, 47, 47, 32, 65, 114, 114, 97, 121, 44, 32, 84, 121, 112, 101, 100, 65, 114, 114, 97, 121, - 44, 32, 78, 111, 100, 101, 76, 105, 115, 116, 44, 32, 97, 114, 114, 97, 121, 45, 108, 105, 107, 101, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, - 109, 40, 120, 41, 59, 32, 47, 47, 32, 77, 97, 112, 44, 32, 83, 101, 116, 44, 32, 105, 116, 101, 114, - 97, 98, 108, 101, 44, 32, 115, 116, 114, 105, 110, 103, 44, 32, 111, 114, 32, 97, 110, 121, 116, 104, 105, - 110, 103, 32, 101, 108, 115, 101, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 76, 105, 110, 101, 97, 114, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, - 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 76, 105, - 110, 101, 97, 114, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 108, 105, 110, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 108, 105, 110, 101, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 124, 124, 32, 40, 116, 104, 105, 115, 46, - 95, 108, 105, 110, 101, 32, 33, 61, 61, 32, 48, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 112, 111, - 105, 110, 116, 32, 61, 61, 61, 32, 49, 41, 41, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, - 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 49, 32, 45, 32, 116, - 104, 105, 115, 46, 95, 108, 105, 110, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, - 32, 43, 120, 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, - 48, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 59, 32, 116, 104, 105, - 115, 46, 95, 108, 105, 110, 101, 32, 63, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, - 46, 108, 105, 110, 101, 84, 111, 40, 120, 44, 32, 121, 41, 32, 58, 32, 116, 104, 105, 115, 46, 95, 99, - 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 44, 32, 121, 41, 59, 32, 98, 114, - 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, - 115, 101, 32, 49, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 50, 59, 32, - 47, 47, 32, 112, 114, 111, 99, 101, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, - 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 44, 32, 121, 41, 59, 32, 98, 114, 101, 97, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 99, 117, 114, 118, 101, 76, 105, 110, 101, 97, 114, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 76, 105, 110, - 101, 97, 114, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 120, 40, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 91, 48, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 121, 40, 112, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 91, 49, 93, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, 40, 120, 36, 49, - 44, 32, 121, 36, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 101, - 102, 105, 110, 101, 100, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 116, 114, 117, 101, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 32, - 61, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, - 118, 101, 32, 61, 32, 99, 117, 114, 118, 101, 76, 105, 110, 101, 97, 114, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 112, 117, 116, 32, 61, 32, 110, 117, 108, 108, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 120, 36, 49, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 120, 36, - 49, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 120, 36, 49, 32, - 58, 32, 40, 120, 36, 49, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 63, - 32, 120, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 120, 36, 49, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 121, 36, 49, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 121, 36, 49, - 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 121, 36, 49, 32, 58, - 32, 40, 121, 36, 49, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 63, 32, - 121, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 121, 36, 49, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, 40, 100, 97, - 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 40, - 100, 97, 116, 97, 32, 61, 32, 97, 114, 114, 97, 121, 40, 100, 97, 116, 97, 41, 41, 46, 108, 101, 110, - 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, - 100, 48, 32, 61, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 98, 117, 102, 102, 101, 114, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 99, 111, 110, 116, 101, 120, 116, 32, 61, 61, 32, 110, 117, 108, 108, 41, - 32, 111, 117, 116, 112, 117, 116, 32, 61, 32, 99, 117, 114, 118, 101, 40, 98, 117, 102, 102, 101, 114, 32, - 61, 32, 112, 97, 116, 104, 40, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 61, 32, 110, 59, 32, 43, 43, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 33, 40, 105, 32, 60, 32, 110, 32, 38, 38, 32, 100, 101, 102, 105, 110, 101, 100, 40, 100, 32, - 61, 32, 100, 97, 116, 97, 91, 105, 93, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 41, 32, 61, 61, - 61, 32, 100, 101, 102, 105, 110, 101, 100, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 101, 102, 105, 110, 101, 100, 48, - 32, 61, 32, 33, 100, 101, 102, 105, 110, 101, 100, 48, 41, 32, 111, 117, 116, 112, 117, 116, 46, 108, 105, - 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 111, 117, 116, 112, 117, 116, 46, 108, 105, 110, - 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 100, 101, 102, 105, 110, 101, 100, 48, 41, 32, 111, 117, 116, 112, 117, 116, 46, 112, 111, 105, 110, 116, 40, - 43, 120, 36, 49, 40, 100, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 44, 32, 43, 121, 36, 49, 40, - 100, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, - 117, 102, 102, 101, 114, 41, 32, 114, 101, 116, 117, 114, 110, 32, 111, 117, 116, 112, 117, 116, 32, 61, 32, - 110, 117, 108, 108, 44, 32, 98, 117, 102, 102, 101, 114, 32, 43, 32, 34, 34, 32, 124, 124, 32, 110, 117, - 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 105, 110, 101, 46, 120, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 120, 36, 49, 32, 61, 32, 116, - 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, - 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 108, - 105, 110, 101, 41, 32, 58, 32, 120, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 46, 121, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, - 32, 40, 121, 36, 49, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, - 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, - 36, 49, 40, 43, 95, 41, 44, 32, 108, 105, 110, 101, 41, 32, 58, 32, 121, 36, 49, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 46, - 100, 101, 102, 105, 110, 101, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 100, 101, 102, 105, 110, 101, - 100, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, - 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 33, - 33, 95, 41, 44, 32, 108, 105, 110, 101, 41, 32, 58, 32, 100, 101, 102, 105, 110, 101, 100, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, - 46, 99, 117, 114, 118, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 99, 117, 114, 118, 101, 32, 61, - 32, 95, 44, 32, 99, 111, 110, 116, 101, 120, 116, 32, 33, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, - 40, 111, 117, 116, 112, 117, 116, 32, 61, 32, 99, 117, 114, 118, 101, 40, 99, 111, 110, 116, 101, 120, 116, - 41, 41, 44, 32, 108, 105, 110, 101, 41, 32, 58, 32, 99, 117, 114, 118, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 46, 99, 111, - 110, 116, 101, 120, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 95, 32, 61, 61, 32, 110, 117, 108, - 108, 32, 63, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 111, 117, 116, 112, 117, 116, 32, 61, 32, - 110, 117, 108, 108, 32, 58, 32, 111, 117, 116, 112, 117, 116, 32, 61, 32, 99, 117, 114, 118, 101, 40, 99, - 111, 110, 116, 101, 120, 116, 32, 61, 32, 95, 41, 44, 32, 108, 105, 110, 101, 41, 32, 58, 32, 99, 111, - 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 110, 101, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 101, 97, 40, 120, 48, 44, 32, - 121, 48, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, - 49, 32, 61, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 101, 102, 105, 110, 101, 100, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 116, 114, 117, - 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, - 32, 61, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, - 114, 118, 101, 32, 61, 32, 99, 117, 114, 118, 101, 76, 105, 110, 101, 97, 114, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 112, 117, 116, 32, 61, 32, 110, 117, 108, 108, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 120, 48, - 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 120, 48, 32, 58, 32, - 40, 120, 48, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 63, 32, 120, 32, - 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 120, 48, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 121, 48, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 121, 48, 32, 61, 61, 61, 32, - 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 121, 48, 32, 58, 32, 40, 121, 48, 32, 61, - 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 63, 32, 99, 111, 110, 115, 116, 97, 110, - 116, 36, 49, 40, 48, 41, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 121, 48, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, - 121, 49, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 121, 49, 32, - 58, 32, 40, 121, 49, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 41, 32, 63, 32, - 121, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 121, 49, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 101, 97, 40, 100, 97, - 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 40, 100, 97, 116, 97, 32, 61, 32, 97, - 114, 114, 97, 121, 40, 100, 97, 116, 97, 41, 41, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 105, 110, 101, 100, 48, 32, 61, 32, 102, 97, 108, - 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 117, 102, - 102, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, - 122, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 122, 32, 61, 32, 110, 101, 119, 32, 65, 114, - 114, 97, 121, 40, 110, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 99, 111, 110, 116, 101, 120, 116, 32, 61, 61, 32, 110, 117, 108, 108, 41, 32, 111, 117, 116, 112, - 117, 116, 32, 61, 32, 99, 117, 114, 118, 101, 40, 98, 117, 102, 102, 101, 114, 32, 61, 32, 112, 97, 116, - 104, 40, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, - 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 61, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 105, - 32, 60, 32, 110, 32, 38, 38, 32, 100, 101, 102, 105, 110, 101, 100, 40, 100, 32, 61, 32, 100, 97, 116, - 97, 91, 105, 93, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 41, 32, 61, 61, 61, 32, 100, 101, 102, - 105, 110, 101, 100, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 101, 102, 105, 110, 101, 100, 48, 32, 61, 32, 33, 100, - 101, 102, 105, 110, 101, 100, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 61, 32, 105, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, - 112, 117, 116, 46, 97, 114, 101, 97, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 112, 117, - 116, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, - 117, 116, 112, 117, 116, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 112, 117, - 116, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 107, 32, - 61, 32, 105, 32, 45, 32, 49, 59, 32, 107, 32, 62, 61, 32, 106, 59, 32, 45, 45, 107, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 111, 117, 116, 112, 117, 116, 46, 112, 111, 105, 110, 116, 40, 120, 48, 122, 91, - 107, 93, 44, 32, 121, 48, 122, 91, 107, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 112, 117, 116, - 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 112, 117, 116, 46, 97, 114, 101, - 97, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, - 101, 102, 105, 110, 101, 100, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 122, 91, 105, 93, 32, 61, 32, 43, 120, 48, 40, 100, 44, - 32, 105, 44, 32, 100, 97, 116, 97, 41, 44, 32, 121, 48, 122, 91, 105, 93, 32, 61, 32, 43, 121, 48, - 40, 100, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 112, 117, 116, 46, 112, 111, 105, 110, 116, - 40, 120, 49, 32, 63, 32, 43, 120, 49, 40, 100, 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 32, 58, - 32, 120, 48, 122, 91, 105, 93, 44, 32, 121, 49, 32, 63, 32, 43, 121, 49, 40, 100, 44, 32, 105, 44, - 32, 100, 97, 116, 97, 41, 32, 58, 32, 121, 48, 122, 91, 105, 93, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 117, - 102, 102, 101, 114, 41, 32, 114, 101, 116, 117, 114, 110, 32, 111, 117, 116, 112, 117, 116, 32, 61, 32, 110, - 117, 108, 108, 44, 32, 98, 117, 102, 102, 101, 114, 32, 43, 32, 34, 34, 32, 124, 124, 32, 110, 117, 108, - 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 97, 114, 101, 97, 108, 105, 110, 101, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 110, 101, 40, 41, - 46, 100, 101, 102, 105, 110, 101, 100, 40, 100, 101, 102, 105, 110, 101, 100, 41, 46, 99, 117, 114, 118, 101, - 40, 99, 117, 114, 118, 101, 41, 46, 99, 111, 110, 116, 101, 120, 116, 40, 99, 111, 110, 116, 101, 120, 116, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 114, 101, 97, 46, 120, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 120, 48, 32, 61, 32, 116, 121, 112, - 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, - 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 120, 49, 32, - 61, 32, 110, 117, 108, 108, 44, 32, 97, 114, 101, 97, 41, 32, 58, 32, 120, 48, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 46, 120, - 48, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 120, 48, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, - 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, - 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 97, 114, 101, 97, 41, 32, 58, - 32, 120, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 97, 114, 101, 97, 46, 120, 49, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, - 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 120, 49, 32, 61, - 32, 95, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 116, 121, 112, - 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, - 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 97, 114, 101, - 97, 41, 32, 58, 32, 120, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 46, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 121, - 48, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, - 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, - 95, 41, 44, 32, 121, 49, 32, 61, 32, 110, 117, 108, 108, 44, 32, 97, 114, 101, 97, 41, 32, 58, 32, - 121, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 97, 114, 101, 97, 46, 121, 48, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 121, 48, 32, 61, 32, - 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, - 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, - 97, 114, 101, 97, 41, 32, 58, 32, 121, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 46, 121, 49, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 63, 32, 40, 121, 49, 32, 61, 32, 95, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, - 108, 32, 58, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, - 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, - 95, 41, 44, 32, 97, 114, 101, 97, 41, 32, 58, 32, 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 46, 108, 105, 110, 101, 88, - 48, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 46, 108, 105, - 110, 101, 89, 48, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 101, - 97, 108, 105, 110, 101, 40, 41, 46, 120, 40, 120, 48, 41, 46, 121, 40, 121, 48, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 114, 101, 97, 46, 108, 105, 110, 101, 89, 49, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, - 114, 101, 97, 108, 105, 110, 101, 40, 41, 46, 120, 40, 120, 48, 41, 46, 121, 40, 121, 49, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, - 97, 46, 108, 105, 110, 101, 88, 49, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 101, - 97, 108, 105, 110, 101, 40, 41, 46, 120, 40, 120, 49, 41, 46, 121, 40, 121, 48, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 46, - 100, 101, 102, 105, 110, 101, 100, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 100, 101, 102, 105, 110, 101, - 100, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, - 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 33, - 33, 95, 41, 44, 32, 97, 114, 101, 97, 41, 32, 58, 32, 100, 101, 102, 105, 110, 101, 100, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, - 46, 99, 117, 114, 118, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, - 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 99, 117, 114, 118, 101, 32, 61, - 32, 95, 44, 32, 99, 111, 110, 116, 101, 120, 116, 32, 33, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, - 40, 111, 117, 116, 112, 117, 116, 32, 61, 32, 99, 117, 114, 118, 101, 40, 99, 111, 110, 116, 101, 120, 116, - 41, 41, 44, 32, 97, 114, 101, 97, 41, 32, 58, 32, 99, 117, 114, 118, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 46, 99, 111, - 110, 116, 101, 120, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 95, 32, 61, 61, 32, 110, 117, 108, - 108, 32, 63, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 111, 117, 116, 112, 117, 116, 32, 61, 32, - 110, 117, 108, 108, 32, 58, 32, 111, 117, 116, 112, 117, 116, 32, 61, 32, 99, 117, 114, 118, 101, 40, 99, - 111, 110, 116, 101, 120, 116, 32, 61, 32, 95, 41, 44, 32, 97, 114, 101, 97, 41, 32, 58, 32, 99, 111, - 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 101, 97, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 115, 99, 101, 110, 100, 105, 110, - 103, 36, 49, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 98, 32, 60, 32, 97, 32, 63, 32, 45, 49, 32, 58, 32, 98, 32, 62, 32, 97, 32, - 63, 32, 49, 32, 58, 32, 98, 32, 62, 61, 32, 97, 32, 63, 32, 48, 32, 58, 32, 78, 97, 78, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 100, - 101, 110, 116, 105, 116, 121, 36, 49, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 100, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 112, 105, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 118, 97, 108, 117, 101, 32, 61, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 49, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 114, 116, 86, 97, 108, 117, 101, 115, 32, - 61, 32, 100, 101, 115, 99, 101, 110, 100, 105, 110, 103, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 111, 114, 116, 32, 61, 32, 110, 117, 108, 108, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 32, 61, 32, 99, 111, 110, - 115, 116, 97, 110, 116, 36, 49, 40, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 101, 110, 100, 65, 110, 103, 108, 101, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, - 116, 97, 117, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 100, 65, 110, - 103, 108, 101, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 48, 41, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 105, 101, 40, 100, 97, 116, - 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 40, 100, - 97, 116, 97, 32, 61, 32, 97, 114, 114, 97, 121, 40, 100, 97, 116, 97, 41, 41, 46, 108, 101, 110, 103, - 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 109, 32, 61, 32, 48, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 100, 101, 120, 32, 61, 32, 110, - 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 114, 99, 115, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, - 110, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 48, 32, - 61, 32, 43, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, - 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 32, 61, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 116, - 97, 117, 44, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 45, 116, 97, 117, 44, 32, 101, 110, 100, 65, - 110, 103, 108, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 41, 32, 45, 32, 97, 48, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 112, 32, 61, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 77, 97, 116, 104, 46, 97, 98, - 115, 40, 100, 97, 41, 32, 47, 32, 110, 44, 32, 112, 97, 100, 65, 110, 103, 108, 101, 46, 97, 112, 112, - 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 97, 32, 61, 32, 112, 32, 42, - 32, 40, 100, 97, 32, 60, 32, 48, 32, 63, 32, 45, 49, 32, 58, 32, 49, 41, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, - 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 40, 118, 32, 61, 32, 97, 114, 99, 115, 91, 105, 110, 100, 101, 120, 91, 105, - 93, 32, 61, 32, 105, 93, 32, 61, 32, 43, 118, 97, 108, 117, 101, 40, 100, 97, 116, 97, 91, 105, 93, - 44, 32, 105, 44, 32, 100, 97, 116, 97, 41, 41, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 109, 32, 43, 61, 32, - 118, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 79, 112, 116, 105, 111, 110, 97, 108, 108, 121, 32, 115, 111, 114, 116, 32, 116, 104, - 101, 32, 97, 114, 99, 115, 32, 98, 121, 32, 112, 114, 101, 118, 105, 111, 117, 115, 108, 121, 45, 99, 111, - 109, 112, 117, 116, 101, 100, 32, 118, 97, 108, 117, 101, 115, 32, 111, 114, 32, 98, 121, 32, 100, 97, 116, - 97, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 111, 114, 116, - 86, 97, 108, 117, 101, 115, 32, 33, 61, 32, 110, 117, 108, 108, 41, 32, 105, 110, 100, 101, 120, 46, 115, - 111, 114, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 105, 44, 32, 106, 41, 32, 123, 32, 114, 101, - 116, 117, 114, 110, 32, 115, 111, 114, 116, 86, 97, 108, 117, 101, 115, 40, 97, 114, 99, 115, 91, 105, 93, - 44, 32, 97, 114, 99, 115, 91, 106, 93, 41, 59, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 115, 111, 114, 116, 32, 33, 61, 32, 110, - 117, 108, 108, 41, 32, 105, 110, 100, 101, 120, 46, 115, 111, 114, 116, 40, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 105, 44, 32, 106, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 115, 111, 114, 116, 40, 100, - 97, 116, 97, 91, 105, 93, 44, 32, 100, 97, 116, 97, 91, 106, 93, 41, 59, 32, 125, 41, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 109, 112, 117, 116, 101, 32, - 116, 104, 101, 32, 97, 114, 99, 115, 33, 32, 84, 104, 101, 121, 32, 97, 114, 101, 32, 115, 116, 111, 114, - 101, 100, 32, 105, 110, 32, 116, 104, 101, 32, 111, 114, 105, 103, 105, 110, 97, 108, 32, 100, 97, 116, 97, - 39, 115, 32, 111, 114, 100, 101, 114, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 32, 40, 105, 32, 61, 32, 48, 44, 32, 107, 32, 61, 32, 115, 117, 109, 32, 63, 32, 40, 100, - 97, 32, 45, 32, 110, 32, 42, 32, 112, 97, 41, 32, 47, 32, 115, 117, 109, 32, 58, 32, 48, 59, 32, - 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 44, 32, 97, 48, 32, 61, 32, 97, 49, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 61, 32, 105, 110, 100, - 101, 120, 91, 105, 93, 44, 32, 118, 32, 61, 32, 97, 114, 99, 115, 91, 106, 93, 44, 32, 97, 49, 32, - 61, 32, 97, 48, 32, 43, 32, 40, 118, 32, 62, 32, 48, 32, 63, 32, 118, 32, 42, 32, 107, 32, 58, - 32, 48, 41, 32, 43, 32, 112, 97, 44, 32, 97, 114, 99, 115, 91, 106, 93, 32, 61, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 97, 116, 97, - 58, 32, 100, 97, 116, 97, 91, 106, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 100, 101, 120, 58, 32, 105, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 58, 32, 118, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 116, 97, 114, 116, 65, 110, 103, 108, 101, 58, 32, 97, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 100, 65, 110, 103, 108, 101, 58, 32, 97, - 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 97, 100, 65, 110, 103, 108, 101, 58, 32, 112, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 99, 115, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 105, - 101, 46, 118, 97, 108, 117, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 118, 97, 108, 117, 101, 32, - 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, - 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, - 44, 32, 112, 105, 101, 41, 32, 58, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 105, 101, 46, 115, 111, 114, 116, 86, 97, - 108, 117, 101, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 111, 114, 116, 86, 97, 108, 117, 101, - 115, 32, 61, 32, 95, 44, 32, 115, 111, 114, 116, 32, 61, 32, 110, 117, 108, 108, 44, 32, 112, 105, 101, - 41, 32, 58, 32, 115, 111, 114, 116, 86, 97, 108, 117, 101, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 105, 101, 46, 115, 111, 114, 116, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, - 110, 103, 116, 104, 32, 63, 32, 40, 115, 111, 114, 116, 32, 61, 32, 95, 44, 32, 115, 111, 114, 116, 86, - 97, 108, 117, 101, 115, 32, 61, 32, 110, 117, 108, 108, 44, 32, 112, 105, 101, 41, 32, 58, 32, 115, 111, - 114, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 105, 101, 46, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, - 32, 40, 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, - 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, - 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 112, 105, 101, 41, 32, 58, 32, 115, - 116, 97, 114, 116, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 105, 101, 46, 101, 110, 100, 65, 110, 103, 108, 101, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, - 103, 116, 104, 32, 63, 32, 40, 101, 110, 100, 65, 110, 103, 108, 101, 32, 61, 32, 116, 121, 112, 101, 111, - 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, - 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 112, 105, 101, 41, 32, - 58, 32, 101, 110, 100, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 105, 101, 46, 112, 97, 100, 65, 110, 103, 108, 101, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, - 110, 103, 116, 104, 32, 63, 32, 40, 112, 97, 100, 65, 110, 103, 108, 101, 32, 61, 32, 116, 121, 112, 101, - 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, - 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 112, 105, 101, 41, - 32, 58, 32, 112, 97, 100, 65, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 105, 101, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 117, 114, 118, 101, 82, 97, 100, 105, - 97, 108, 76, 105, 110, 101, 97, 114, 32, 61, 32, 99, 117, 114, 118, 101, 82, 97, 100, 105, 97, 108, 36, - 49, 40, 99, 117, 114, 118, 101, 76, 105, 110, 101, 97, 114, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 82, 97, 100, 105, 97, 108, 40, 99, 117, 114, 118, 101, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 117, 114, 118, 101, 32, 61, 32, 99, - 117, 114, 118, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 82, 97, 100, 105, 97, 108, - 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 114, 101, 97, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 117, 114, 118, - 101, 46, 97, 114, 101, 97, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 69, 110, 100, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 99, 117, 114, 118, 101, 46, 97, 114, 101, 97, 69, 110, 100, 40, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, - 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 117, 114, 118, 101, 46, 108, 105, 110, - 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 99, 117, 114, 118, 101, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 97, 44, 32, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 117, 114, 118, 101, 46, 112, 111, 105, 110, 116, 40, 114, 32, - 42, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 97, 41, 44, 32, 114, 32, 42, 32, 45, 77, 97, 116, - 104, 46, 99, 111, 115, 40, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 114, 118, - 101, 82, 97, 100, 105, 97, 108, 36, 49, 40, 99, 117, 114, 118, 101, 41, 32, 123, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 100, 105, 97, 108, 40, 99, 111, - 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 110, 101, 119, 32, 82, 97, 100, 105, 97, 108, 40, 99, 117, 114, 118, 101, 40, 99, - 111, 110, 116, 101, 120, 116, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 97, 100, 105, 97, 108, 46, 95, 99, 117, 114, 118, 101, 32, 61, 32, 99, - 117, 114, 118, 101, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, - 97, 100, 105, 97, 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 108, 105, 110, 101, 82, 97, 100, 105, 97, 108, 40, 108, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 108, 46, 99, 117, 114, 118, 101, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 46, 97, 110, 103, 108, 101, 32, 61, 32, 108, 46, 120, 44, 32, - 100, 101, 108, 101, 116, 101, 32, 108, 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 46, 114, - 97, 100, 105, 117, 115, 32, 61, 32, 108, 46, 121, 44, 32, 100, 101, 108, 101, 116, 101, 32, 108, 46, 121, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 46, 99, 117, 114, 118, 101, 32, 61, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, - 104, 32, 63, 32, 99, 40, 99, 117, 114, 118, 101, 82, 97, 100, 105, 97, 108, 36, 49, 40, 95, 41, 41, - 32, 58, 32, 99, 40, 41, 46, 95, 99, 117, 114, 118, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 101, - 82, 97, 100, 105, 97, 108, 36, 49, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 108, 105, 110, 101, 82, 97, 100, 105, 97, 108, 40, 108, 105, 110, 101, 40, 41, 46, - 99, 117, 114, 118, 101, 40, 99, 117, 114, 118, 101, 82, 97, 100, 105, 97, 108, 76, 105, 110, 101, 97, 114, - 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 97, 114, 101, 97, 82, 97, 100, 105, 97, 108, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 97, 32, 61, 32, 97, 114, 101, 97, 40, 41, 46, 99, 117, 114, 118, 101, 40, 99, - 117, 114, 118, 101, 82, 97, 100, 105, 97, 108, 76, 105, 110, 101, 97, 114, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 97, 46, 99, 117, 114, 118, 101, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 48, 32, 61, 32, 97, 46, 108, 105, 110, 101, 88, 48, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 97, 46, 108, 105, - 110, 101, 88, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, - 97, 46, 108, 105, 110, 101, 89, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, - 49, 32, 61, 32, 97, 46, 108, 105, 110, 101, 89, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 46, 97, 110, 103, 108, 101, 32, 61, 32, 97, 46, 120, 44, 32, 100, 101, 108, 101, 116, 101, 32, 97, - 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 115, 116, 97, 114, 116, 65, 110, 103, 108, - 101, 32, 61, 32, 97, 46, 120, 48, 44, 32, 100, 101, 108, 101, 116, 101, 32, 97, 46, 120, 48, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 101, 110, 100, 65, 110, 103, 108, 101, 32, 61, 32, 97, 46, - 120, 49, 44, 32, 100, 101, 108, 101, 116, 101, 32, 97, 46, 120, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 97, 46, 114, 97, 100, 105, 117, 115, 32, 61, 32, 97, 46, 121, 44, 32, 100, 101, 108, 101, 116, - 101, 32, 97, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 105, 110, 110, 101, 114, 82, - 97, 100, 105, 117, 115, 32, 61, 32, 97, 46, 121, 48, 44, 32, 100, 101, 108, 101, 116, 101, 32, 97, 46, - 121, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 111, 117, 116, 101, 114, 82, 97, 100, 105, - 117, 115, 32, 61, 32, 97, 46, 121, 49, 44, 32, 100, 101, 108, 101, 116, 101, 32, 97, 46, 121, 49, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 65, 110, 103, - 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 114, 101, 116, 117, 114, - 110, 32, 108, 105, 110, 101, 82, 97, 100, 105, 97, 108, 40, 120, 48, 40, 41, 41, 59, 32, 125, 44, 32, - 100, 101, 108, 101, 116, 101, 32, 97, 46, 108, 105, 110, 101, 88, 48, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 97, 46, 108, 105, 110, 101, 69, 110, 100, 65, 110, 103, 108, 101, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 110, 101, 82, 97, 100, - 105, 97, 108, 40, 120, 49, 40, 41, 41, 59, 32, 125, 44, 32, 100, 101, 108, 101, 116, 101, 32, 97, 46, - 108, 105, 110, 101, 88, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 108, 105, 110, 101, 73, - 110, 110, 101, 114, 82, 97, 100, 105, 117, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 110, 101, 82, 97, 100, 105, 97, 108, 40, 121, 48, - 40, 41, 41, 59, 32, 125, 44, 32, 100, 101, 108, 101, 116, 101, 32, 97, 46, 108, 105, 110, 101, 89, 48, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 108, 105, 110, 101, 79, 117, 116, 101, 114, 82, 97, - 100, 105, 117, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 114, 101, 116, - 117, 114, 110, 32, 108, 105, 110, 101, 82, 97, 100, 105, 97, 108, 40, 121, 49, 40, 41, 41, 59, 32, 125, - 44, 32, 100, 101, 108, 101, 116, 101, 32, 97, 46, 108, 105, 110, 101, 89, 49, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 97, 46, 99, 117, 114, 118, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 99, 40, - 99, 117, 114, 118, 101, 82, 97, 100, 105, 97, 108, 36, 49, 40, 95, 41, 41, 32, 58, 32, 99, 40, 41, - 46, 95, 99, 117, 114, 118, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 82, 97, 100, 105, 97, - 108, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 91, 40, 121, 32, 61, 32, 43, 121, 41, 32, 42, 32, 77, 97, 116, 104, 46, 99, 111, 115, 40, - 120, 32, 45, 61, 32, 77, 97, 116, 104, 46, 80, 73, 32, 47, 32, 50, 41, 44, 32, 121, 32, 42, 32, - 77, 97, 116, 104, 46, 115, 105, 110, 40, 120, 41, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 107, 83, 111, 117, 114, 99, 101, 40, 100, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 115, 111, - 117, 114, 99, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 108, 105, 110, 107, 84, 97, 114, 103, 101, 116, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 116, 97, 114, 103, 101, 116, 59, 10, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 107, 40, - 99, 117, 114, 118, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 111, - 117, 114, 99, 101, 32, 61, 32, 108, 105, 110, 107, 83, 111, 117, 114, 99, 101, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 114, 103, 101, 116, 32, 61, 32, 108, 105, 110, 107, 84, 97, - 114, 103, 101, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 36, 49, 32, 61, - 32, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 36, 49, 32, 61, 32, 121, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, - 32, 110, 117, 108, 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 108, 105, 110, 107, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 98, 117, 102, 102, 101, 114, 44, 32, 97, 114, 103, 118, 32, 61, 32, 115, 108, 105, 99, - 101, 46, 99, 97, 108, 108, 40, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, 32, 115, 32, 61, 32, - 115, 111, 117, 114, 99, 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 118, - 41, 44, 32, 116, 32, 61, 32, 116, 97, 114, 103, 101, 116, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, - 115, 44, 32, 97, 114, 103, 118, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 33, 99, 111, 110, 116, 101, 120, 116, 41, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, - 98, 117, 102, 102, 101, 114, 32, 61, 32, 112, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 117, 114, 118, 101, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 43, 120, - 36, 49, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 40, 97, 114, 103, 118, 91, 48, 93, - 32, 61, 32, 115, 44, 32, 97, 114, 103, 118, 41, 41, 44, 32, 43, 121, 36, 49, 46, 97, 112, 112, 108, - 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 118, 41, 44, 32, 43, 120, 36, 49, 46, 97, 112, 112, - 108, 121, 40, 116, 104, 105, 115, 44, 32, 40, 97, 114, 103, 118, 91, 48, 93, 32, 61, 32, 116, 44, 32, - 97, 114, 103, 118, 41, 41, 44, 32, 43, 121, 36, 49, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, - 44, 32, 97, 114, 103, 118, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 98, 117, 102, 102, 101, 114, 41, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 110, 116, 101, - 120, 116, 32, 61, 32, 110, 117, 108, 108, 44, 32, 98, 117, 102, 102, 101, 114, 32, 43, 32, 34, 34, 32, - 124, 124, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 110, 107, 46, 115, 111, 117, 114, 99, 101, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 63, 32, 40, 115, 111, 117, 114, 99, 101, 32, 61, 32, 95, 44, 32, 108, 105, 110, 107, 41, 32, 58, 32, - 115, 111, 117, 114, 99, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 110, 107, 46, 116, 97, 114, 103, 101, 116, 32, 61, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, - 63, 32, 40, 116, 97, 114, 103, 101, 116, 32, 61, 32, 95, 44, 32, 108, 105, 110, 107, 41, 32, 58, 32, - 116, 97, 114, 103, 101, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 108, 105, 110, 107, 46, 120, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 120, 36, - 49, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, - 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, - 95, 41, 44, 32, 108, 105, 110, 107, 41, 32, 58, 32, 120, 36, 49, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 107, 46, 121, 32, 61, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, - 103, 116, 104, 32, 63, 32, 40, 121, 36, 49, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, - 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, - 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 108, 105, 110, 107, 41, 32, 58, 32, 121, 36, - 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 105, 110, 107, 46, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 40, - 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 95, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, - 117, 108, 108, 32, 58, 32, 95, 41, 44, 32, 108, 105, 110, 107, 41, 32, 58, 32, 99, 111, 110, 116, 101, - 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 110, 107, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 114, 118, 101, 72, 111, 114, 105, 122, 111, 110, - 116, 97, 108, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 120, 48, 44, 32, 121, 48, 44, 32, 120, 49, - 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, - 46, 109, 111, 118, 101, 84, 111, 40, 120, 48, 44, 32, 121, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 98, 101, 122, 105, 101, 114, 67, 117, 114, 118, 101, 84, 111, - 40, 120, 48, 32, 61, 32, 40, 120, 48, 32, 43, 32, 120, 49, 41, 32, 47, 32, 50, 44, 32, 121, 48, - 44, 32, 120, 48, 44, 32, 121, 49, 44, 32, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 114, 118, 101, 86, 101, - 114, 116, 105, 99, 97, 108, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 120, 48, 44, 32, 121, 48, 44, - 32, 120, 49, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, - 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 48, 44, 32, 121, 48, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 98, 101, 122, 105, 101, 114, 67, 117, 114, 118, - 101, 84, 111, 40, 120, 48, 44, 32, 121, 48, 32, 61, 32, 40, 121, 48, 32, 43, 32, 121, 49, 41, 32, - 47, 32, 50, 44, 32, 120, 49, 44, 32, 121, 48, 44, 32, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 114, 118, - 101, 82, 97, 100, 105, 97, 108, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 120, 48, 44, 32, 121, 48, - 44, 32, 120, 49, 44, 32, 121, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 112, 48, 32, 61, 32, 112, 111, 105, 110, 116, 82, 97, 100, 105, 97, 108, 40, 120, 48, 44, 32, 121, - 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 49, 32, 61, 32, 112, 111, - 105, 110, 116, 82, 97, 100, 105, 97, 108, 40, 120, 48, 44, 32, 121, 48, 32, 61, 32, 40, 121, 48, 32, - 43, 32, 121, 49, 41, 32, 47, 32, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 112, 50, 32, 61, 32, 112, 111, 105, 110, 116, 82, 97, 100, 105, 97, 108, 40, 120, 49, 44, 32, 121, - 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 51, 32, 61, 32, 112, 111, - 105, 110, 116, 82, 97, 100, 105, 97, 108, 40, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 112, 48, 91, 48, - 93, 44, 32, 112, 48, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, - 101, 120, 116, 46, 98, 101, 122, 105, 101, 114, 67, 117, 114, 118, 101, 84, 111, 40, 112, 49, 91, 48, 93, - 44, 32, 112, 49, 91, 49, 93, 44, 32, 112, 50, 91, 48, 93, 44, 32, 112, 50, 91, 49, 93, 44, 32, - 112, 51, 91, 48, 93, 44, 32, 112, 51, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, 107, 72, 111, 114, 105, 122, 111, 110, - 116, 97, 108, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 108, 105, 110, 107, 40, 99, 117, 114, 118, 101, 72, 111, 114, 105, 122, 111, 110, 116, 97, 108, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 105, 110, - 107, 86, 101, 114, 116, 105, 99, 97, 108, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 108, 105, 110, 107, 40, 99, 117, 114, 118, 101, 86, 101, 114, 116, 105, 99, 97, - 108, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 108, 105, 110, 107, 82, 97, 100, 105, 97, 108, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 108, 32, 61, 32, 108, 105, 110, 107, 40, 99, 117, 114, 118, 101, 82, 97, 100, 105, - 97, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 46, 97, 110, 103, 108, 101, 32, 61, 32, - 108, 46, 120, 44, 32, 100, 101, 108, 101, 116, 101, 32, 108, 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 46, 114, 97, 100, 105, 117, 115, 32, 61, 32, 108, 46, 121, 44, 32, 100, 101, 108, 101, 116, - 101, 32, 108, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 105, 114, 99, 108, 101, - 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 114, 97, 119, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 115, 105, 122, 101, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 77, 97, 116, 104, - 46, 115, 113, 114, 116, 40, 115, 105, 122, 101, 32, 47, 32, 112, 105, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 114, - 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, - 120, 116, 46, 97, 114, 99, 40, 48, 44, 32, 48, 44, 32, 114, 44, 32, 48, 44, 32, 116, 97, 117, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 118, 97, 114, 32, 99, 114, 111, 115, 115, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 114, 97, 119, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 110, 116, 101, 120, 116, 44, - 32, 115, 105, 122, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 114, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 115, 105, 122, 101, 32, 47, 32, - 53, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 45, 51, 32, 42, 32, 114, 44, 32, 45, 114, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, - 105, 110, 101, 84, 111, 40, 45, 114, 44, 32, 45, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 45, 114, 44, 32, - 45, 51, 32, 42, 32, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 114, 44, 32, 45, 51, 32, 42, 32, 114, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, - 105, 110, 101, 84, 111, 40, 114, 44, 32, 45, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 51, 32, 42, 32, 114, - 44, 32, 45, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, - 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 51, 32, 42, 32, 114, 44, 32, 114, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, - 84, 111, 40, 114, 44, 32, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 114, 44, 32, 51, 32, 42, 32, 114, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, - 105, 110, 101, 84, 111, 40, 45, 114, 44, 32, 51, 32, 42, 32, 114, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 45, - 114, 44, 32, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, - 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 45, 51, 32, 42, 32, 114, 44, 32, 114, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, - 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 116, 97, 110, 51, 48, 32, 61, 32, 77, 97, - 116, 104, 46, 115, 113, 114, 116, 40, 49, 32, 47, 32, 51, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 97, 110, 51, 48, 95, 50, 32, 61, 32, 116, 97, 110, 51, 48, 32, 42, 32, 50, 59, 10, 10, - 32, 32, 32, 32, 118, 97, 114, 32, 100, 105, 97, 109, 111, 110, 100, 32, 61, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 100, 114, 97, 119, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 110, - 116, 101, 120, 116, 44, 32, 115, 105, 122, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 121, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 115, 105, - 122, 101, 32, 47, 32, 116, 97, 110, 51, 48, 95, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 121, 32, 42, 32, 116, 97, 110, 51, 48, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, - 101, 84, 111, 40, 48, 44, 32, 45, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 44, 32, 48, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, - 101, 84, 111, 40, 48, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 45, 120, 44, 32, 48, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, - 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 107, 97, 32, 61, 32, 48, 46, 56, 57, 48, - 56, 49, 51, 48, 57, 49, 53, 50, 57, 50, 56, 53, 50, 50, 56, 49, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 107, 114, 32, 61, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 112, 105, 32, 47, 32, - 49, 48, 41, 32, 47, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 55, 32, 42, 32, 112, 105, 32, 47, - 32, 49, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 120, 32, 61, 32, 77, 97, 116, 104, - 46, 115, 105, 110, 40, 116, 97, 117, 32, 47, 32, 49, 48, 41, 32, 42, 32, 107, 114, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 107, 121, 32, 61, 32, 45, 77, 97, 116, 104, 46, 99, 111, 115, 40, 116, 97, - 117, 32, 47, 32, 49, 48, 41, 32, 42, 32, 107, 114, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 115, 116, 97, 114, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 114, 97, 119, 58, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 115, 105, 122, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, - 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 115, 105, 122, 101, 32, 42, 32, 107, 97, 41, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 107, 120, 32, 42, - 32, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, - 32, 107, 121, 32, 42, 32, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 48, 44, 32, 45, 114, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, - 111, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 49, 59, 32, 105, 32, 60, 32, 53, 59, 32, 43, 43, - 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 97, 32, 61, 32, 116, 97, 117, 32, 42, 32, 105, 32, 47, 32, 53, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 77, 97, 116, - 104, 46, 99, 111, 115, 40, 97, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, 77, 97, 116, 104, 46, 115, 105, 110, 40, 97, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, - 116, 46, 108, 105, 110, 101, 84, 111, 40, 115, 32, 42, 32, 114, 44, 32, 45, 99, 32, 42, 32, 114, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, - 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 99, 32, 42, 32, 120, 32, 45, 32, 115, 32, 42, 32, 121, - 44, 32, 115, 32, 42, 32, 120, 32, 43, 32, 99, 32, 42, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, - 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, - 113, 117, 97, 114, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 114, 97, 119, 58, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 115, 105, 122, 101, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 119, 32, 61, - 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 115, 105, 122, 101, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 45, 119, 32, 47, 32, 50, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 114, 101, 99, - 116, 40, 120, 44, 32, 120, 44, 32, 119, 44, 32, 119, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 113, 114, 116, 51, - 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 51, 41, 59, 10, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 116, 114, 105, 97, 110, 103, 108, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 114, 97, 119, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 110, 116, 101, 120, 116, - 44, 32, 115, 105, 122, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 121, 32, 61, 32, 45, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 115, 105, 122, 101, 32, - 47, 32, 40, 115, 113, 114, 116, 51, 32, 42, 32, 51, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 48, 44, 32, - 121, 32, 42, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, - 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 45, 115, 113, 114, 116, 51, 32, 42, 32, 121, 44, - 32, 45, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, - 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 115, 113, 114, 116, 51, 32, 42, 32, 121, 44, 32, 45, 121, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, - 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 45, 48, 46, - 53, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, - 116, 40, 51, 41, 32, 47, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 49, - 32, 47, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 49, 50, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 97, 32, 61, 32, 40, 107, 32, 47, 32, 50, 32, 43, 32, 49, 41, 32, 42, 32, 51, 59, - 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 119, 121, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 114, 97, 119, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 110, 116, 101, - 120, 116, 44, 32, 115, 105, 122, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 114, 32, 114, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 115, 105, 122, 101, - 32, 47, 32, 97, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 48, 32, 61, 32, 114, 32, 47, 32, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, 114, 32, 42, 32, 107, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 120, 48, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 32, 61, 32, 114, 32, 42, 32, 107, 32, - 43, 32, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 50, - 32, 61, 32, 45, 120, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 121, 50, 32, 61, 32, 121, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 48, 44, 32, 121, 48, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, - 101, 84, 111, 40, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 50, 44, 32, 121, 50, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, - 108, 105, 110, 101, 84, 111, 40, 99, 32, 42, 32, 120, 48, 32, 45, 32, 115, 32, 42, 32, 121, 48, 44, - 32, 115, 32, 42, 32, 120, 48, 32, 43, 32, 99, 32, 42, 32, 121, 48, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, - 99, 32, 42, 32, 120, 49, 32, 45, 32, 115, 32, 42, 32, 121, 49, 44, 32, 115, 32, 42, 32, 120, 49, - 32, 43, 32, 99, 32, 42, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 99, 32, 42, 32, 120, 50, 32, - 45, 32, 115, 32, 42, 32, 121, 50, 44, 32, 115, 32, 42, 32, 120, 50, 32, 43, 32, 99, 32, 42, 32, - 121, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, - 116, 46, 108, 105, 110, 101, 84, 111, 40, 99, 32, 42, 32, 120, 48, 32, 43, 32, 115, 32, 42, 32, 121, - 48, 44, 32, 99, 32, 42, 32, 121, 48, 32, 45, 32, 115, 32, 42, 32, 120, 48, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, - 111, 40, 99, 32, 42, 32, 120, 49, 32, 43, 32, 115, 32, 42, 32, 121, 49, 44, 32, 99, 32, 42, 32, - 121, 49, 32, 45, 32, 115, 32, 42, 32, 120, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 99, 32, 42, 32, 120, - 50, 32, 43, 32, 115, 32, 42, 32, 121, 50, 44, 32, 99, 32, 42, 32, 121, 50, 32, 45, 32, 115, 32, - 42, 32, 120, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 116, - 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 115, 121, 109, - 98, 111, 108, 115, 32, 61, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 105, 114, 99, 108, 101, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 114, 111, 115, 115, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 105, 97, 109, 111, 110, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 113, 117, 97, - 114, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 114, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 114, 105, 97, 110, 103, 108, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 121, - 101, 10, 32, 32, 32, 32, 93, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 115, 121, 109, 98, 111, 108, 40, 116, 121, 112, 101, 44, 32, 115, 105, 122, 101, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 117, 108, - 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 32, 61, 32, 116, 121, 112, 101, 111, - 102, 32, 116, 121, 112, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, - 32, 116, 121, 112, 101, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 116, 121, 112, 101, - 32, 124, 124, 32, 99, 105, 114, 99, 108, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, - 122, 101, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 115, 105, 122, 101, 32, 61, 61, 61, 32, 34, 102, - 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 115, 105, 122, 101, 32, 58, 32, 99, 111, 110, 115, 116, - 97, 110, 116, 36, 49, 40, 115, 105, 122, 101, 32, 61, 61, 61, 32, 117, 110, 100, 101, 102, 105, 110, 101, - 100, 32, 63, 32, 54, 52, 32, 58, 32, 43, 115, 105, 122, 101, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 121, 109, 98, 111, 108, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 117, 102, 102, 101, 114, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 99, 111, 110, 116, 101, - 120, 116, 41, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 98, 117, 102, 102, 101, 114, 32, 61, 32, - 112, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, - 101, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 41, 46, 100, 114, 97, 119, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 43, 115, 105, 122, 101, 46, 97, - 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 117, 102, 102, 101, 114, - 41, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 117, 108, 108, - 44, 32, 98, 117, 102, 102, 101, 114, 32, 43, 32, 34, 34, 32, 124, 124, 32, 110, 117, 108, 108, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 121, 109, 98, - 111, 108, 46, 116, 121, 112, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 121, 112, 101, 32, 61, - 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, - 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 95, 41, 44, 32, - 115, 121, 109, 98, 111, 108, 41, 32, 58, 32, 116, 121, 112, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 121, 109, 98, 111, 108, 46, 115, 105, 122, - 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 105, 122, 101, 32, 61, 32, 116, 121, 112, 101, 111, - 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, - 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, 41, 44, 32, 115, 121, 109, 98, 111, - 108, 41, 32, 58, 32, 115, 105, 122, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 121, 109, 98, 111, 108, 46, 99, 111, 110, 116, 101, 120, 116, 32, - 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, - 101, 110, 103, 116, 104, 32, 63, 32, 40, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 95, 32, 61, 61, - 32, 110, 117, 108, 108, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 95, 44, 32, 115, 121, 109, 98, 111, - 108, 41, 32, 58, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 121, 109, 98, 111, - 108, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 110, 111, 111, 112, 40, 41, 32, 123, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 112, 111, 105, 110, 116, 36, 51, 40, 116, 104, 97, 116, 44, 32, 120, 44, 32, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 97, 116, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 98, - 101, 122, 105, 101, 114, 67, 117, 114, 118, 101, 84, 111, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 40, 50, 32, 42, 32, 116, 104, 97, 116, 46, 95, 120, 48, 32, 43, 32, 116, 104, 97, 116, - 46, 95, 120, 49, 41, 32, 47, 32, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 40, 50, 32, 42, 32, 116, 104, 97, 116, 46, 95, 121, 48, 32, 43, 32, 116, 104, 97, 116, 46, 95, 121, - 49, 41, 32, 47, 32, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 116, 104, - 97, 116, 46, 95, 120, 48, 32, 43, 32, 50, 32, 42, 32, 116, 104, 97, 116, 46, 95, 120, 49, 41, 32, - 47, 32, 51, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 116, 104, 97, 116, 46, - 95, 121, 48, 32, 43, 32, 50, 32, 42, 32, 116, 104, 97, 116, 46, 95, 121, 49, 41, 32, 47, 32, 51, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 116, 104, 97, 116, 46, 95, 120, 48, - 32, 43, 32, 52, 32, 42, 32, 116, 104, 97, 116, 46, 95, 120, 49, 32, 43, 32, 120, 41, 32, 47, 32, - 54, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 116, 104, 97, 116, 46, 95, 121, - 48, 32, 43, 32, 52, 32, 42, 32, 116, 104, 97, 116, 46, 95, 121, 49, 32, 43, 32, 121, 41, 32, 47, - 32, 54, 10, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 66, 97, 115, 105, 115, 40, 99, 111, 110, 116, 101, 120, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, - 101, 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 66, 97, 115, 105, 115, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 69, 110, 100, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, - 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 108, 105, 110, 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, - 46, 95, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 58, 32, 112, 111, 105, 110, 116, 36, 51, 40, 116, 104, 105, - 115, 44, 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 41, 59, - 32, 47, 47, 32, 112, 114, 111, 99, 101, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, - 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 116, 104, 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, - 105, 115, 46, 95, 121, 49, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 124, 124, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, - 110, 101, 32, 33, 61, 61, 32, 48, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, - 32, 61, 61, 61, 32, 49, 41, 41, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, - 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 49, 32, 45, 32, 116, 104, 105, 115, - 46, 95, 108, 105, 110, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, - 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 43, 120, - 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 32, - 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 59, 32, 116, 104, 105, 115, 46, 95, - 108, 105, 110, 101, 32, 63, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, - 110, 101, 84, 111, 40, 120, 44, 32, 121, 41, 32, 58, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, - 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 44, 32, 121, 41, 59, 32, 98, 114, 101, 97, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, - 49, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 50, 59, 32, 98, 114, 101, - 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, - 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 51, 59, 32, 116, - 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 40, 53, 32, - 42, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 43, 32, 116, 104, 105, 115, 46, 95, 120, 49, 41, 32, - 47, 32, 54, 44, 32, 40, 53, 32, 42, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 43, 32, 116, 104, - 105, 115, 46, 95, 121, 49, 41, 32, 47, 32, 54, 41, 59, 32, 47, 47, 32, 112, 114, 111, 99, 101, 101, - 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, - 108, 116, 58, 32, 112, 111, 105, 110, 116, 36, 51, 40, 116, 104, 105, 115, 44, 32, 120, 44, 32, 121, 41, - 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 120, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 121, 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 121, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 97, 115, 105, 115, 40, 99, 111, 110, 116, 101, 120, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, - 66, 97, 115, 105, 115, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 66, 97, 115, 105, 115, 67, 108, 111, 115, 101, - 100, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 66, 97, 115, 105, 115, 67, 108, 111, 115, 101, 100, 46, - 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 114, 101, 97, 83, 116, 97, 114, 116, 58, 32, 110, 111, 111, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 97, 114, 101, 97, 69, 110, 100, 58, 32, 110, 111, 111, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 50, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 120, 51, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 52, 32, 61, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, - 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 50, - 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 51, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 52, 32, - 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, - 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 116, 104, 105, 115, 46, - 95, 120, 50, 44, 32, 116, 104, 105, 115, 46, 95, 121, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, - 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, - 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 40, 116, 104, 105, 115, 46, 95, 120, 50, - 32, 43, 32, 50, 32, 42, 32, 116, 104, 105, 115, 46, 95, 120, 51, 41, 32, 47, 32, 51, 44, 32, 40, - 116, 104, 105, 115, 46, 95, 121, 50, 32, 43, 32, 50, 32, 42, 32, 116, 104, 105, 115, 46, 95, 121, 51, - 41, 32, 47, 32, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, - 84, 111, 40, 40, 116, 104, 105, 115, 46, 95, 120, 51, 32, 43, 32, 50, 32, 42, 32, 116, 104, 105, 115, - 46, 95, 120, 50, 41, 32, 47, 32, 51, 44, 32, 40, 116, 104, 105, 115, 46, 95, 121, 51, 32, 43, 32, - 50, 32, 42, 32, 116, 104, 105, 115, 46, 95, 121, 50, 41, 32, 47, 32, 51, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 58, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 112, 111, 105, 110, 116, 40, 116, 104, 105, 115, 46, 95, 120, 50, 44, 32, 116, 104, 105, 115, 46, - 95, 121, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 105, 110, 116, 40, 116, 104, 105, 115, 46, 95, 120, 51, 44, - 32, 116, 104, 105, 115, 46, 95, 121, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 105, 110, 116, 40, 116, 104, 105, - 115, 46, 95, 120, 52, 44, 32, 116, 104, 105, 115, 46, 95, 121, 52, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, - 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 43, 120, - 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 32, - 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 59, 32, 116, 104, 105, 115, 46, 95, - 120, 50, 32, 61, 32, 120, 44, 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, 32, 121, 59, 32, 98, - 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 97, 115, 101, 32, 49, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 50, 59, - 32, 116, 104, 105, 115, 46, 95, 120, 51, 32, 61, 32, 120, 44, 32, 116, 104, 105, 115, 46, 95, 121, 51, - 32, 61, 32, 121, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, - 110, 116, 32, 61, 32, 51, 59, 32, 116, 104, 105, 115, 46, 95, 120, 52, 32, 61, 32, 120, 44, 32, 116, - 104, 105, 115, 46, 95, 121, 52, 32, 61, 32, 121, 59, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, - 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 40, 116, 104, 105, 115, 46, 95, 120, 48, 32, 43, 32, - 52, 32, 42, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 43, 32, 120, 41, 32, 47, 32, 54, 44, 32, - 40, 116, 104, 105, 115, 46, 95, 121, 48, 32, 43, 32, 52, 32, 42, 32, 116, 104, 105, 115, 46, 95, 121, - 49, 32, 43, 32, 121, 41, 32, 47, 32, 54, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 112, - 111, 105, 110, 116, 36, 51, 40, 116, 104, 105, 115, 44, 32, 120, 44, 32, 121, 41, 59, 32, 98, 114, 101, - 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, - 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, - 46, 95, 121, 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 121, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 98, 97, 115, 105, 115, 67, 108, 111, 115, 101, 100, 40, 99, 111, 110, 116, 101, 120, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, - 32, 66, 97, 115, 105, 115, 67, 108, 111, 115, 101, 100, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 66, 97, 115, - 105, 115, 79, 112, 101, 110, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 99, 111, 110, 116, - 101, 120, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 66, 97, 115, 105, 115, 79, 112, - 101, 110, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 97, 114, 101, 97, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, - 110, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 97, 114, 101, 97, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, - 110, 101, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, - 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, - 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 124, 124, 32, - 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 33, 61, 61, 32, 48, 32, 38, 38, 32, 116, 104, - 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 61, 61, 32, 51, 41, 41, 32, 116, 104, 105, 115, 46, - 95, 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, - 32, 49, 32, 45, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 120, 32, 61, 32, 43, 120, 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, - 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 97, 115, 101, 32, 48, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, - 49, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, - 61, 32, 50, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, - 116, 32, 61, 32, 51, 59, 32, 118, 97, 114, 32, 120, 48, 32, 61, 32, 40, 116, 104, 105, 115, 46, 95, - 120, 48, 32, 43, 32, 52, 32, 42, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 43, 32, 120, 41, 32, - 47, 32, 54, 44, 32, 121, 48, 32, 61, 32, 40, 116, 104, 105, 115, 46, 95, 121, 48, 32, 43, 32, 52, - 32, 42, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 43, 32, 121, 41, 32, 47, 32, 54, 59, 32, 116, - 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 63, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, - 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 48, 44, 32, 121, 48, 41, 32, 58, 32, 116, 104, 105, - 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 48, 44, 32, 121, - 48, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, - 32, 61, 32, 52, 59, 32, 47, 47, 32, 112, 114, 111, 99, 101, 101, 100, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 112, 111, 105, 110, - 116, 36, 51, 40, 116, 104, 105, 115, 44, 32, 120, 44, 32, 121, 41, 59, 32, 98, 114, 101, 97, 107, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, - 44, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, - 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 98, 97, 115, 105, 115, 79, 112, 101, 110, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 66, 97, 115, 105, - 115, 79, 112, 101, 110, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 99, 108, 97, 115, 115, 32, 66, 117, 109, 112, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, - 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 32, 61, 32, 120, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 97, - 114, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 108, 105, 110, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 69, 110, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 78, 97, - 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, - 110, 101, 83, 116, 97, 114, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, - 95, 108, 105, 110, 101, 32, 124, 124, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 33, 61, - 61, 32, 48, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 61, 61, 32, - 49, 41, 41, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, - 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 49, 32, 45, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, - 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, - 105, 110, 116, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 120, 32, 61, 32, 43, 120, 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, - 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 97, 115, 101, 32, 48, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 41, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, - 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 116, 104, 105, - 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 44, 32, 121, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, - 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, - 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 50, 59, 32, 47, 47, 32, 112, - 114, 111, 99, 101, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 101, 102, 97, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 120, 41, 32, 116, 104, - 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 98, 101, 122, 105, 101, 114, 67, 117, 114, 118, 101, - 84, 111, 40, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 40, 116, 104, 105, 115, 46, 95, 120, 48, - 32, 43, 32, 120, 41, 32, 47, 32, 50, 44, 32, 116, 104, 105, 115, 46, 95, 121, 48, 44, 32, 116, 104, - 105, 115, 46, 95, 120, 48, 44, 32, 121, 44, 32, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 116, 104, 105, - 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 98, 101, 122, 105, 101, 114, 67, 117, 114, 118, 101, 84, - 111, 40, 116, 104, 105, 115, 46, 95, 120, 48, 44, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, - 40, 116, 104, 105, 115, 46, 95, 121, 48, 32, 43, 32, 121, 41, 32, 47, 32, 50, 44, 32, 120, 44, 32, - 116, 104, 105, 115, 46, 95, 121, 48, 44, 32, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 120, 48, 32, 61, 32, 120, 44, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 121, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 98, 117, 109, 112, 88, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 66, 117, - 109, 112, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 116, 114, 117, 101, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 117, 109, 112, 89, 40, 99, - 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 110, 101, 119, 32, 66, 117, 109, 112, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 102, 97, 108, - 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 66, 117, 110, 100, 108, 101, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 98, 101, 116, 97, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 98, 97, 115, 105, 115, 32, - 61, 32, 110, 101, 119, 32, 66, 97, 115, 105, 115, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 98, 101, 116, 97, 32, 61, 32, 98, 101, 116, - 97, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 66, 117, 110, 100, 108, 101, 46, 112, 114, - 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, - 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 32, 61, 32, 91, 93, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 32, 61, 32, - 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 98, - 97, 115, 105, 115, 46, 108, 105, 110, 101, 83, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 118, 97, 114, 32, 120, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 61, 32, 120, - 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 106, 32, 62, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 48, 32, 61, 32, 120, 91, 48, 93, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, - 32, 61, 32, 121, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 100, 120, 32, 61, 32, 120, 91, 106, 93, 32, 45, 32, 120, 48, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 32, 61, - 32, 121, 91, 106, 93, 32, 45, 32, 121, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 32, 61, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, - 61, 32, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 32, 61, 32, 105, 32, 47, 32, 106, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 98, 97, 115, 105, 115, - 46, 112, 111, 105, 110, 116, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 98, 101, 116, 97, 32, 42, 32, 120, - 91, 105, 93, 32, 43, 32, 40, 49, 32, 45, 32, 116, 104, 105, 115, 46, 95, 98, 101, 116, 97, 41, 32, - 42, 32, 40, 120, 48, 32, 43, 32, 116, 32, 42, 32, 100, 120, 41, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 98, 101, 116, 97, 32, 42, 32, 121, 91, 105, 93, 32, 43, 32, 40, 49, 32, 45, 32, 116, 104, 105, - 115, 46, 95, 98, 101, 116, 97, 41, 32, 42, 32, 40, 121, 48, 32, 43, 32, 116, 32, 42, 32, 100, 121, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 120, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 32, 61, 32, 110, 117, - 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 98, - 97, 115, 105, 115, 46, 108, 105, 110, 101, 69, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 120, 46, 112, 117, 115, 104, 40, 43, 120, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 46, 112, 117, 115, 104, 40, 43, - 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 98, 117, 110, 100, 108, 101, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 98, 101, 116, 97, 41, 32, 123, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 117, 110, 100, 108, 101, 40, 99, 111, 110, - 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 98, 101, 116, 97, 32, 61, 61, 61, 32, 49, 32, 63, 32, 110, 101, 119, 32, 66, 97, - 115, 105, 115, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 58, 32, 110, 101, 119, 32, 66, 117, 110, 100, - 108, 101, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 98, 101, 116, 97, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 117, 110, 100, 108, 101, 46, 98, - 101, 116, 97, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 98, 101, 116, 97, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 117, 115, 116, - 111, 109, 40, 43, 98, 101, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 117, 110, 100, 108, 101, 59, 10, - 32, 32, 32, 32, 125, 41, 40, 48, 46, 56, 53, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 36, 50, 40, 116, 104, 97, 116, 44, 32, 120, 44, 32, 121, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 97, 116, 46, 95, 99, 111, 110, 116, 101, - 120, 116, 46, 98, 101, 122, 105, 101, 114, 67, 117, 114, 118, 101, 84, 111, 40, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 97, 116, 46, 95, 120, 49, 32, 43, 32, 116, 104, 97, 116, 46, - 95, 107, 32, 42, 32, 40, 116, 104, 97, 116, 46, 95, 120, 50, 32, 45, 32, 116, 104, 97, 116, 46, 95, - 120, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 97, 116, 46, 95, - 121, 49, 32, 43, 32, 116, 104, 97, 116, 46, 95, 107, 32, 42, 32, 40, 116, 104, 97, 116, 46, 95, 121, - 50, 32, 45, 32, 116, 104, 97, 116, 46, 95, 121, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 97, 116, 46, 95, 120, 50, 32, 43, 32, 116, 104, 97, 116, 46, 95, 107, 32, - 42, 32, 40, 116, 104, 97, 116, 46, 95, 120, 49, 32, 45, 32, 120, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 97, 116, 46, 95, 121, 50, 32, 43, 32, 116, 104, 97, 116, 46, - 95, 107, 32, 42, 32, 40, 116, 104, 97, 116, 46, 95, 121, 49, 32, 45, 32, 121, 41, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 97, 116, 46, 95, 120, 50, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 97, 116, 46, 95, 121, 50, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 67, 97, 114, 100, 105, 110, 97, 108, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 116, 101, - 110, 115, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 107, 32, 61, 32, 40, 49, 32, 45, 32, 116, 101, 110, 115, - 105, 111, 110, 41, 32, 47, 32, 54, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 67, 97, - 114, 100, 105, 110, 97, 108, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 108, 105, 110, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 108, 105, 110, 101, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, - 104, 105, 115, 46, 95, 120, 50, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, - 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, - 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 97, 115, 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, - 108, 105, 110, 101, 84, 111, 40, 116, 104, 105, 115, 46, 95, 120, 50, 44, 32, 116, 104, 105, 115, 46, 95, - 121, 50, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 58, 32, 112, 111, 105, 110, 116, 36, 50, 40, 116, 104, - 105, 115, 44, 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 41, - 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, - 105, 110, 101, 32, 124, 124, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 33, 61, 61, 32, - 48, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 61, 61, 32, 49, 41, - 41, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, - 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 108, 105, 110, 101, 32, 61, 32, 49, 32, 45, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, - 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 43, 120, 44, 32, 121, 32, 61, 32, 43, - 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, - 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 32, 116, 104, 105, 115, 46, 95, 112, - 111, 105, 110, 116, 32, 61, 32, 49, 59, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 63, 32, - 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 44, - 32, 121, 41, 32, 58, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, - 101, 84, 111, 40, 120, 44, 32, 121, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 32, 116, 104, 105, 115, - 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 50, 59, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, - 32, 120, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 121, 59, 32, 98, 114, 101, 97, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, - 50, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 51, 59, 32, 47, 47, 32, - 112, 114, 111, 99, 101, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 112, 111, 105, 110, 116, 36, 50, 40, 116, 104, 105, 115, 44, - 32, 120, 44, 32, 121, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 120, - 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 50, 44, 32, 116, 104, 105, 115, 46, 95, 120, 50, 32, - 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, - 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 50, 44, 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, - 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 99, 97, 114, 100, 105, 110, 97, 108, 32, 61, 32, 40, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 116, 101, 110, 115, 105, 111, 110, 41, 32, 123, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 97, 114, 100, 105, - 110, 97, 108, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 67, 97, 114, 100, 105, 110, 97, 108, - 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 116, 101, 110, 115, 105, 111, 110, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 114, 100, 105, 110, 97, - 108, 46, 116, 101, 110, 115, 105, 111, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 101, - 110, 115, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 99, 117, 115, 116, 111, 109, 40, 43, 116, 101, 110, 115, 105, 111, 110, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 99, 97, 114, 100, 105, 110, 97, 108, 59, 10, 32, 32, 32, 32, 125, 41, 40, 48, 41, - 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 67, 97, 114, 100, 105, 110, 97, - 108, 67, 108, 111, 115, 101, 100, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 116, 101, 110, 115, 105, 111, - 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, - 101, 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 95, 107, 32, 61, 32, 40, 49, 32, 45, 32, 116, 101, 110, 115, 105, 111, 110, 41, - 32, 47, 32, 54, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 67, 97, 114, 100, 105, 110, - 97, 108, 67, 108, 111, 115, 101, 100, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 97, 114, 116, 58, 32, 110, 111, 111, 112, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 69, 110, 100, 58, 32, 110, 111, 111, 112, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, - 104, 105, 115, 46, 95, 120, 50, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 51, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 120, 52, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 53, 32, 61, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 121, 51, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 52, 32, 61, 32, 116, - 104, 105, 115, 46, 95, 121, 53, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, - 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, - 115, 101, 32, 49, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, - 84, 111, 40, 116, 104, 105, 115, 46, 95, 120, 51, 44, 32, 116, 104, 105, 115, 46, 95, 121, 51, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, - 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, - 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 116, - 104, 105, 115, 46, 95, 120, 51, 44, 32, 116, 104, 105, 115, 46, 95, 121, 51, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 58, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 112, 111, 105, 110, 116, 40, 116, 104, 105, 115, 46, 95, 120, 51, 44, 32, 116, 104, 105, 115, 46, - 95, 121, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 105, 110, 116, 40, 116, 104, 105, 115, 46, 95, 120, 52, 44, - 32, 116, 104, 105, 115, 46, 95, 121, 52, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 105, 110, 116, 40, 116, 104, 105, - 115, 46, 95, 120, 53, 44, 32, 116, 104, 105, 115, 46, 95, 121, 53, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, - 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 43, 120, - 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 32, - 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 59, 32, 116, 104, 105, 115, 46, 95, - 120, 51, 32, 61, 32, 120, 44, 32, 116, 104, 105, 115, 46, 95, 121, 51, 32, 61, 32, 121, 59, 32, 98, - 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 97, 115, 101, 32, 49, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 50, 59, - 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 116, - 104, 105, 115, 46, 95, 120, 52, 32, 61, 32, 120, 44, 32, 116, 104, 105, 115, 46, 95, 121, 52, 32, 61, - 32, 121, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, - 116, 32, 61, 32, 51, 59, 32, 116, 104, 105, 115, 46, 95, 120, 53, 32, 61, 32, 120, 44, 32, 116, 104, - 105, 115, 46, 95, 121, 53, 32, 61, 32, 121, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 112, 111, - 105, 110, 116, 36, 50, 40, 116, 104, 105, 115, 44, 32, 120, 44, 32, 121, 41, 59, 32, 98, 114, 101, 97, - 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 50, - 44, 32, 116, 104, 105, 115, 46, 95, 120, 50, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, - 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 50, 44, - 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 97, 114, 100, 105, - 110, 97, 108, 67, 108, 111, 115, 101, 100, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, - 117, 115, 116, 111, 109, 40, 116, 101, 110, 115, 105, 111, 110, 41, 32, 123, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 97, 114, 100, 105, 110, 97, 108, 40, 99, 111, - 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 110, 101, 119, 32, 67, 97, 114, 100, 105, 110, 97, 108, 67, 108, 111, 115, 101, 100, - 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 116, 101, 110, 115, 105, 111, 110, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 114, 100, 105, 110, 97, - 108, 46, 116, 101, 110, 115, 105, 111, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 101, - 110, 115, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 99, 117, 115, 116, 111, 109, 40, 43, 116, 101, 110, 115, 105, 111, 110, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 99, 97, 114, 100, 105, 110, 97, 108, 59, 10, 32, 32, 32, 32, 125, 41, 40, 48, 41, - 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 67, 97, 114, 100, 105, 110, 97, - 108, 79, 112, 101, 110, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 116, 101, 110, 115, 105, 111, 110, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, - 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 107, 32, 61, 32, 40, 49, 32, 45, 32, 116, 101, 110, 115, 105, 111, 110, 41, 32, 47, - 32, 54, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 67, 97, 114, 100, 105, 110, 97, 108, - 79, 112, 101, 110, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 108, 105, 110, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 108, 105, 110, 101, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, 104, 105, - 115, 46, 95, 120, 50, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, - 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 124, 124, - 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 33, 61, 61, 32, 48, 32, 38, 38, 32, 116, - 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 61, 61, 32, 51, 41, 41, 32, 116, 104, 105, 115, - 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, - 61, 32, 49, 32, 45, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 120, 32, 61, 32, 43, 120, 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, - 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 97, 115, 101, 32, 48, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, - 32, 49, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, - 32, 61, 32, 50, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, - 110, 116, 32, 61, 32, 51, 59, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 63, 32, 116, 104, - 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 116, 104, 105, 115, - 46, 95, 120, 50, 44, 32, 116, 104, 105, 115, 46, 95, 121, 50, 41, 32, 58, 32, 116, 104, 105, 115, 46, - 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 116, 104, 105, 115, 46, 95, 120, - 50, 44, 32, 116, 104, 105, 115, 46, 95, 121, 50, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 58, 32, 116, - 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 52, 59, 32, 47, 47, 32, 112, 114, 111, 99, - 101, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, - 97, 117, 108, 116, 58, 32, 112, 111, 105, 110, 116, 36, 50, 40, 116, 104, 105, 115, 44, 32, 120, 44, 32, - 121, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 120, 50, 44, 32, 116, 104, 105, 115, 46, 95, 120, 50, 32, 61, 32, 120, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 121, 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 116, - 104, 105, 115, 46, 95, 121, 50, 44, 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, 32, 121, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, - 97, 114, 32, 99, 97, 114, 100, 105, 110, 97, 108, 79, 112, 101, 110, 32, 61, 32, 40, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 116, 101, 110, 115, 105, 111, 110, 41, 32, 123, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 97, 114, 100, 105, - 110, 97, 108, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 67, 97, 114, 100, 105, 110, 97, 108, - 79, 112, 101, 110, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 116, 101, 110, 115, 105, 111, 110, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 114, - 100, 105, 110, 97, 108, 46, 116, 101, 110, 115, 105, 111, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 116, 101, 110, 115, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 117, 115, 116, 111, 109, 40, 43, 116, 101, 110, 115, 105, 111, - 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 99, 97, 114, 100, 105, 110, 97, 108, 59, 10, 32, 32, 32, 32, 125, - 41, 40, 48, 41, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, - 110, 116, 36, 49, 40, 116, 104, 97, 116, 44, 32, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 120, 49, 32, 61, 32, 116, 104, 97, 116, 46, 95, 120, 49, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 32, 61, 32, 116, 104, 97, 116, 46, 95, - 121, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 50, 32, 61, 32, 116, 104, - 97, 116, 46, 95, 120, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 50, 32, - 61, 32, 116, 104, 97, 116, 46, 95, 121, 50, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 116, 104, 97, 116, 46, 95, 108, 48, 49, 95, 97, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, - 32, 50, 32, 42, 32, 116, 104, 97, 116, 46, 95, 108, 48, 49, 95, 50, 97, 32, 43, 32, 51, 32, 42, - 32, 116, 104, 97, 116, 46, 95, 108, 48, 49, 95, 97, 32, 42, 32, 116, 104, 97, 116, 46, 95, 108, 49, - 50, 95, 97, 32, 43, 32, 116, 104, 97, 116, 46, 95, 108, 49, 50, 95, 50, 97, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 51, 32, 42, 32, 116, 104, - 97, 116, 46, 95, 108, 48, 49, 95, 97, 32, 42, 32, 40, 116, 104, 97, 116, 46, 95, 108, 48, 49, 95, - 97, 32, 43, 32, 116, 104, 97, 116, 46, 95, 108, 49, 50, 95, 97, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 40, 120, 49, 32, 42, 32, 97, 32, 45, 32, 116, - 104, 97, 116, 46, 95, 120, 48, 32, 42, 32, 116, 104, 97, 116, 46, 95, 108, 49, 50, 95, 50, 97, 32, - 43, 32, 116, 104, 97, 116, 46, 95, 120, 50, 32, 42, 32, 116, 104, 97, 116, 46, 95, 108, 48, 49, 95, - 50, 97, 41, 32, 47, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, - 32, 61, 32, 40, 121, 49, 32, 42, 32, 97, 32, 45, 32, 116, 104, 97, 116, 46, 95, 121, 48, 32, 42, - 32, 116, 104, 97, 116, 46, 95, 108, 49, 50, 95, 50, 97, 32, 43, 32, 116, 104, 97, 116, 46, 95, 121, - 50, 32, 42, 32, 116, 104, 97, 116, 46, 95, 108, 48, 49, 95, 50, 97, 41, 32, 47, 32, 110, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 116, 104, 97, 116, 46, 95, 108, 50, 51, 95, 97, 32, 62, 32, 101, 112, 115, 105, 108, 111, 110, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 50, - 32, 42, 32, 116, 104, 97, 116, 46, 95, 108, 50, 51, 95, 50, 97, 32, 43, 32, 51, 32, 42, 32, 116, - 104, 97, 116, 46, 95, 108, 50, 51, 95, 97, 32, 42, 32, 116, 104, 97, 116, 46, 95, 108, 49, 50, 95, - 97, 32, 43, 32, 116, 104, 97, 116, 46, 95, 108, 49, 50, 95, 50, 97, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 51, 32, 42, 32, 116, 104, 97, 116, - 46, 95, 108, 50, 51, 95, 97, 32, 42, 32, 40, 116, 104, 97, 116, 46, 95, 108, 50, 51, 95, 97, 32, - 43, 32, 116, 104, 97, 116, 46, 95, 108, 49, 50, 95, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 120, 50, 32, 61, 32, 40, 120, 50, 32, 42, 32, 98, 32, 43, 32, 116, 104, 97, - 116, 46, 95, 120, 49, 32, 42, 32, 116, 104, 97, 116, 46, 95, 108, 50, 51, 95, 50, 97, 32, 45, 32, - 120, 32, 42, 32, 116, 104, 97, 116, 46, 95, 108, 49, 50, 95, 50, 97, 41, 32, 47, 32, 109, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 50, 32, 61, 32, 40, 121, 50, 32, 42, 32, - 98, 32, 43, 32, 116, 104, 97, 116, 46, 95, 121, 49, 32, 42, 32, 116, 104, 97, 116, 46, 95, 108, 50, - 51, 95, 50, 97, 32, 45, 32, 121, 32, 42, 32, 116, 104, 97, 116, 46, 95, 108, 49, 50, 95, 50, 97, - 41, 32, 47, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 97, 116, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 98, 101, 122, 105, 101, 114, - 67, 117, 114, 118, 101, 84, 111, 40, 120, 49, 44, 32, 121, 49, 44, 32, 120, 50, 44, 32, 121, 50, 44, - 32, 116, 104, 97, 116, 46, 95, 120, 50, 44, 32, 116, 104, 97, 116, 46, 95, 121, 50, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 67, 97, 116, 109, - 117, 108, 108, 82, 111, 109, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 97, 108, 112, 104, 97, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, - 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 95, 97, 108, 112, 104, 97, 32, 61, 32, 97, 108, 112, 104, 97, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 67, 97, 116, 109, 117, 108, 108, 82, 111, 109, 46, 112, 114, 111, 116, 111, 116, - 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 97, - 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 48, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 69, - 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 78, 97, 78, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, - 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 50, 32, 61, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, 32, - 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 108, 48, 49, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 108, 49, 50, 95, 97, 32, 61, 32, 116, - 104, 105, 115, 46, 95, 108, 50, 51, 95, 97, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 48, 49, 95, 50, 97, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 108, 49, 50, 95, 50, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, - 50, 97, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, - 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, - 111, 40, 116, 104, 105, 115, 46, 95, 120, 50, 44, 32, 116, 104, 105, 115, 46, 95, 121, 50, 41, 59, 32, - 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 97, 115, 101, 32, 51, 58, 32, 116, 104, 105, 115, 46, 112, 111, 105, 110, 116, 40, 116, 104, 105, 115, - 46, 95, 120, 50, 44, 32, 116, 104, 105, 115, 46, 95, 121, 50, 41, 59, 32, 98, 114, 101, 97, 107, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 124, 124, 32, 40, - 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 33, 61, 61, 32, 48, 32, 38, 38, 32, 116, 104, 105, - 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 61, 61, 32, 49, 41, 41, 32, 116, 104, 105, 115, 46, 95, - 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, - 49, 32, 45, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 120, 32, 61, 32, 43, 120, 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 120, 50, 51, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 50, 32, 45, 32, 120, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 50, 51, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 45, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 97, 32, 61, 32, 77, - 97, 116, 104, 46, 115, 113, 114, 116, 40, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 50, 97, 32, 61, - 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 120, 50, 51, 32, 42, 32, 120, 50, 51, 32, 43, 32, 121, - 50, 51, 32, 42, 32, 121, 50, 51, 44, 32, 116, 104, 105, 115, 46, 95, 97, 108, 112, 104, 97, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, - 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 97, 115, 101, 32, 48, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 59, - 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 63, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, - 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 44, 32, 121, 41, 32, 58, 32, 116, 104, 105, - 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 44, 32, 121, 41, - 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 97, 115, 101, 32, 49, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, - 32, 50, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, - 32, 61, 32, 51, 59, 32, 47, 47, 32, 112, 114, 111, 99, 101, 101, 100, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 112, 111, 105, 110, - 116, 36, 49, 40, 116, 104, 105, 115, 44, 32, 120, 44, 32, 121, 41, 59, 32, 98, 114, 101, 97, 107, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 48, 49, 95, 97, 32, 61, 32, 116, 104, 105, 115, - 46, 95, 108, 49, 50, 95, 97, 44, 32, 116, 104, 105, 115, 46, 95, 108, 49, 50, 95, 97, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 108, 48, 49, 95, 50, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 108, 49, 50, 95, 50, 97, 44, 32, 116, 104, 105, 115, 46, 95, 108, 49, 50, 95, 50, 97, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 50, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, - 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 50, 44, 32, 116, - 104, 105, 115, 46, 95, 120, 50, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 44, 32, - 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 50, 44, 32, 116, 104, - 105, 115, 46, 95, 121, 50, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 97, 116, 109, 117, 108, 108, 82, - 111, 109, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 97, - 108, 112, 104, 97, 41, 32, 123, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 99, 97, 116, 109, 117, 108, 108, 82, 111, 109, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 108, - 112, 104, 97, 32, 63, 32, 110, 101, 119, 32, 67, 97, 116, 109, 117, 108, 108, 82, 111, 109, 40, 99, 111, - 110, 116, 101, 120, 116, 44, 32, 97, 108, 112, 104, 97, 41, 32, 58, 32, 110, 101, 119, 32, 67, 97, 114, - 100, 105, 110, 97, 108, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 116, 109, 117, 108, 108, 82, - 111, 109, 46, 97, 108, 112, 104, 97, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 108, 112, - 104, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 99, 117, 115, 116, 111, 109, 40, 43, 97, 108, 112, 104, 97, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, - 97, 116, 109, 117, 108, 108, 82, 111, 109, 59, 10, 32, 32, 32, 32, 125, 41, 40, 48, 46, 53, 41, 59, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 67, 97, 116, 109, 117, 108, 108, 82, - 111, 109, 67, 108, 111, 115, 101, 100, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 97, 108, 112, 104, 97, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, - 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 97, 108, 112, 104, 97, 32, 61, 32, 97, 108, 112, 104, 97, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 67, 97, 116, 109, 117, 108, 108, 82, 111, 109, 67, 108, 111, 115, 101, - 100, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 97, 114, 101, 97, 83, 116, 97, 114, 116, 58, 32, 110, 111, 111, 112, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 97, 114, 101, 97, 69, 110, 100, 58, 32, 110, 111, 111, 112, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, - 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 50, - 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 51, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 52, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 120, 53, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, - 51, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 52, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 53, - 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 95, 108, 48, 49, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 108, 49, 50, 95, 97, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 97, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 48, 49, 95, 50, 97, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 108, 49, 50, 95, 50, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 108, - 50, 51, 95, 50, 97, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, - 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, - 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 97, 115, 101, 32, 49, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, - 101, 84, 111, 40, 116, 104, 105, 115, 46, 95, 120, 51, 44, 32, 116, 104, 105, 115, 46, 95, 121, 51, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, - 50, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, - 116, 104, 105, 115, 46, 95, 120, 51, 44, 32, 116, 104, 105, 115, 46, 95, 121, 51, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, - 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 58, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 112, 111, 105, 110, 116, 40, 116, 104, 105, 115, 46, 95, 120, 51, 44, 32, 116, 104, 105, 115, - 46, 95, 121, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 105, 110, 116, 40, 116, 104, 105, 115, 46, 95, 120, 52, - 44, 32, 116, 104, 105, 115, 46, 95, 121, 52, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 105, 110, 116, 40, 116, 104, - 105, 115, 46, 95, 120, 53, 44, 32, 116, 104, 105, 115, 46, 95, 121, 53, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, - 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 43, - 120, 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 50, 51, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 120, 50, 32, 45, 32, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 50, 51, 32, 61, 32, 116, 104, 105, 115, 46, 95, - 121, 50, 32, 45, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 97, 32, 61, 32, 77, 97, 116, 104, 46, 115, 113, 114, - 116, 40, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 50, 97, 32, 61, 32, 77, 97, 116, 104, 46, 112, - 111, 119, 40, 120, 50, 51, 32, 42, 32, 120, 50, 51, 32, 43, 32, 121, 50, 51, 32, 42, 32, 121, 50, - 51, 44, 32, 116, 104, 105, 115, 46, 95, 97, 108, 112, 104, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, - 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 32, - 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 59, 32, 116, 104, 105, 115, 46, 95, - 120, 51, 32, 61, 32, 120, 44, 32, 116, 104, 105, 115, 46, 95, 121, 51, 32, 61, 32, 121, 59, 32, 98, - 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 97, 115, 101, 32, 49, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 50, 59, - 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 116, - 104, 105, 115, 46, 95, 120, 52, 32, 61, 32, 120, 44, 32, 116, 104, 105, 115, 46, 95, 121, 52, 32, 61, - 32, 121, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, - 116, 32, 61, 32, 51, 59, 32, 116, 104, 105, 115, 46, 95, 120, 53, 32, 61, 32, 120, 44, 32, 116, 104, - 105, 115, 46, 95, 121, 53, 32, 61, 32, 121, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, 112, 111, - 105, 110, 116, 36, 49, 40, 116, 104, 105, 115, 44, 32, 120, 44, 32, 121, 41, 59, 32, 98, 114, 101, 97, - 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 48, 49, 95, 97, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 108, 49, 50, 95, 97, 44, 32, 116, 104, 105, 115, 46, 95, 108, 49, 50, 95, 97, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 48, 49, 95, 50, 97, 32, 61, 32, 116, 104, 105, 115, - 46, 95, 108, 49, 50, 95, 50, 97, 44, 32, 116, 104, 105, 115, 46, 95, 108, 49, 50, 95, 50, 97, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 50, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, - 49, 44, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 50, 44, - 32, 116, 104, 105, 115, 46, 95, 120, 50, 32, 61, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, - 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 50, 44, 32, - 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, 97, 116, 109, 117, 108, - 108, 82, 111, 109, 67, 108, 111, 115, 101, 100, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 99, 117, 115, 116, 111, 109, 40, 97, 108, 112, 104, 97, 41, 32, 123, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 97, 116, 109, 117, 108, 108, 82, 111, 109, 40, 99, - 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 97, 108, 112, 104, 97, 32, 63, 32, 110, 101, 119, 32, 67, 97, 116, 109, 117, - 108, 108, 82, 111, 109, 67, 108, 111, 115, 101, 100, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 97, 108, - 112, 104, 97, 41, 32, 58, 32, 110, 101, 119, 32, 67, 97, 114, 100, 105, 110, 97, 108, 67, 108, 111, 115, - 101, 100, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 116, 109, 117, 108, 108, 82, 111, 109, 46, - 97, 108, 112, 104, 97, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 108, 112, 104, 97, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, - 117, 115, 116, 111, 109, 40, 43, 97, 108, 112, 104, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 97, 116, 109, - 117, 108, 108, 82, 111, 109, 59, 10, 32, 32, 32, 32, 125, 41, 40, 48, 46, 53, 41, 59, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 67, 97, 116, 109, 117, 108, 108, 82, 111, 109, 79, - 112, 101, 110, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 97, 108, 112, 104, 97, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, - 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, - 97, 108, 112, 104, 97, 32, 61, 32, 97, 108, 112, 104, 97, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 67, 97, 116, 109, 117, 108, 108, 82, 111, 109, 79, 112, 101, 110, 46, 112, 114, 111, 116, 111, - 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, - 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 48, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, - 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 78, 97, 78, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, - 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, - 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 50, 32, 61, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, - 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, - 95, 108, 48, 49, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 108, 49, 50, 95, 97, 32, 61, 32, - 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 97, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 48, 49, 95, 50, 97, 32, 61, 32, 116, - 104, 105, 115, 46, 95, 108, 49, 50, 95, 50, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 108, 50, 51, - 95, 50, 97, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 124, 124, 32, 40, - 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 33, 61, 61, 32, 48, 32, 38, 38, 32, 116, 104, 105, - 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 61, 61, 32, 51, 41, 41, 32, 116, 104, 105, 115, 46, 95, - 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, - 49, 32, 45, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 120, 32, 61, 32, 43, 120, 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, - 32, 120, 50, 51, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 50, 32, 45, 32, 120, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 50, 51, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 45, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 97, 32, 61, 32, 77, - 97, 116, 104, 46, 115, 113, 114, 116, 40, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 50, 97, 32, 61, - 32, 77, 97, 116, 104, 46, 112, 111, 119, 40, 120, 50, 51, 32, 42, 32, 120, 50, 51, 32, 43, 32, 121, - 50, 51, 32, 42, 32, 121, 50, 51, 44, 32, 116, 104, 105, 115, 46, 95, 97, 108, 112, 104, 97, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, - 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 97, 115, 101, 32, 48, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 59, - 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 99, 97, 115, 101, 32, 49, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, - 50, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, - 61, 32, 51, 59, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 63, 32, 116, 104, 105, 115, 46, - 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 116, 104, 105, 115, 46, 95, 120, - 50, 44, 32, 116, 104, 105, 115, 46, 95, 121, 50, 41, 32, 58, 32, 116, 104, 105, 115, 46, 95, 99, 111, - 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 116, 104, 105, 115, 46, 95, 120, 50, 44, 32, - 116, 104, 105, 115, 46, 95, 121, 50, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 58, 32, 116, 104, 105, 115, - 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 52, 59, 32, 47, 47, 32, 112, 114, 111, 99, 101, 101, 100, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, - 116, 58, 32, 112, 111, 105, 110, 116, 36, 49, 40, 116, 104, 105, 115, 44, 32, 120, 44, 32, 121, 41, 59, - 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 48, 49, 95, 97, - 32, 61, 32, 116, 104, 105, 115, 46, 95, 108, 49, 50, 95, 97, 44, 32, 116, 104, 105, 115, 46, 95, 108, - 49, 50, 95, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 97, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 48, 49, 95, 50, 97, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 108, 49, 50, 95, 50, 97, 44, 32, 116, 104, 105, 115, 46, 95, 108, 49, - 50, 95, 50, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 108, 50, 51, 95, 50, 97, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 116, 104, 105, 115, - 46, 95, 120, 50, 44, 32, 116, 104, 105, 115, 46, 95, 120, 50, 32, 61, 32, 120, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, - 115, 46, 95, 121, 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, 116, 104, 105, 115, 46, - 95, 121, 50, 44, 32, 116, 104, 105, 115, 46, 95, 121, 50, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 99, - 97, 116, 109, 117, 108, 108, 82, 111, 109, 79, 112, 101, 110, 32, 61, 32, 40, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 99, 117, 115, 116, 111, 109, 40, 97, 108, 112, 104, 97, 41, 32, 123, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 97, 116, 109, 117, 108, 108, 82, 111, - 109, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 108, 112, 104, 97, 32, 63, 32, 110, 101, 119, 32, 67, 97, - 116, 109, 117, 108, 108, 82, 111, 109, 79, 112, 101, 110, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 97, - 108, 112, 104, 97, 41, 32, 58, 32, 110, 101, 119, 32, 67, 97, 114, 100, 105, 110, 97, 108, 79, 112, 101, - 110, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 116, 109, 117, 108, 108, 82, 111, 109, 46, 97, - 108, 112, 104, 97, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 108, 112, 104, 97, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 117, - 115, 116, 111, 109, 40, 43, 97, 108, 112, 104, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 97, 116, 109, 117, - 108, 108, 82, 111, 109, 59, 10, 32, 32, 32, 32, 125, 41, 40, 48, 46, 53, 41, 59, 10, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 76, 105, 110, 101, 97, 114, 67, 108, 111, 115, 101, 100, - 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, - 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 76, 105, 110, 101, 97, 114, 67, 108, 111, 115, 101, 100, 46, - 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, - 114, 101, 97, 83, 116, 97, 114, 116, 58, 32, 110, 111, 111, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 97, 114, 101, 97, 69, 110, 100, 58, 32, 110, 111, 111, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, - 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, - 46, 95, 112, 111, 105, 110, 116, 41, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, - 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, - 32, 61, 32, 43, 120, 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, 116, 104, - 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 44, 32, 121, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 116, 104, 105, - 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 44, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, - 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 108, 105, 110, 101, 97, 114, 67, 108, 111, 115, 101, 100, 40, 99, 111, 110, 116, 101, 120, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, - 32, 76, 105, 110, 101, 97, 114, 67, 108, 111, 115, 101, 100, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 105, - 103, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 120, 32, 60, 32, 48, 32, 63, 32, 45, 49, 32, 58, 32, 49, 59, 10, 32, 32, 32, 32, 125, 10, 10, - 47, 47, 32, 67, 97, 108, 99, 117, 108, 97, 116, 101, 32, 116, 104, 101, 32, 115, 108, 111, 112, 101, 115, - 32, 111, 102, 32, 116, 104, 101, 32, 116, 97, 110, 103, 101, 110, 116, 115, 32, 40, 72, 101, 114, 109, 105, - 116, 101, 45, 116, 121, 112, 101, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 41, 32, - 98, 97, 115, 101, 100, 32, 111, 110, 10, 47, 47, 32, 116, 104, 101, 32, 102, 111, 108, 108, 111, 119, 105, - 110, 103, 32, 112, 97, 112, 101, 114, 58, 32, 83, 116, 101, 102, 102, 101, 110, 44, 32, 77, 46, 32, 49, - 57, 57, 48, 46, 32, 65, 32, 83, 105, 109, 112, 108, 101, 32, 77, 101, 116, 104, 111, 100, 32, 102, 111, - 114, 32, 77, 111, 110, 111, 116, 111, 110, 105, 99, 10, 47, 47, 32, 73, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 105, 111, 110, 32, 105, 110, 32, 79, 110, 101, 32, 68, 105, 109, 101, 110, 115, 105, 111, 110, 46, - 32, 65, 115, 116, 114, 111, 110, 111, 109, 121, 32, 97, 110, 100, 32, 65, 115, 116, 114, 111, 112, 104, 121, - 115, 105, 99, 115, 44, 32, 86, 111, 108, 46, 32, 50, 51, 57, 44, 32, 78, 79, 46, 10, 47, 47, 32, - 78, 79, 86, 40, 73, 73, 41, 44, 32, 80, 46, 32, 52, 52, 51, 44, 32, 49, 57, 57, 48, 46, 10, - 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 108, 111, 112, 101, 51, 40, 116, 104, 97, - 116, 44, 32, 120, 50, 44, 32, 121, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 104, 48, 32, 61, 32, 116, 104, 97, 116, 46, 95, 120, 49, 32, 45, 32, 116, 104, 97, 116, 46, - 95, 120, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 49, 32, 61, 32, 120, - 50, 32, 45, 32, 116, 104, 97, 116, 46, 95, 120, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 115, 48, 32, 61, 32, 40, 116, 104, 97, 116, 46, 95, 121, 49, 32, 45, 32, 116, 104, 97, - 116, 46, 95, 121, 48, 41, 32, 47, 32, 40, 104, 48, 32, 124, 124, 32, 104, 49, 32, 60, 32, 48, 32, - 38, 38, 32, 45, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 49, 32, - 61, 32, 40, 121, 50, 32, 45, 32, 116, 104, 97, 116, 46, 95, 121, 49, 41, 32, 47, 32, 40, 104, 49, - 32, 124, 124, 32, 104, 48, 32, 60, 32, 48, 32, 38, 38, 32, 45, 48, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, 40, 115, 48, 32, 42, 32, 104, 49, 32, 43, 32, - 115, 49, 32, 42, 32, 104, 48, 41, 32, 47, 32, 40, 104, 48, 32, 43, 32, 104, 49, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 115, 105, 103, 110, 40, 115, 48, 41, - 32, 43, 32, 115, 105, 103, 110, 40, 115, 49, 41, 41, 32, 42, 32, 77, 97, 116, 104, 46, 109, 105, 110, - 40, 77, 97, 116, 104, 46, 97, 98, 115, 40, 115, 48, 41, 44, 32, 77, 97, 116, 104, 46, 97, 98, 115, - 40, 115, 49, 41, 44, 32, 48, 46, 53, 32, 42, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 112, 41, - 41, 32, 124, 124, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 10, 47, 47, 32, 67, 97, 108, 99, 117, - 108, 97, 116, 101, 32, 97, 32, 111, 110, 101, 45, 115, 105, 100, 101, 100, 32, 115, 108, 111, 112, 101, 46, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 108, 111, 112, 101, 50, 40, 116, 104, - 97, 116, 44, 32, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, - 61, 32, 116, 104, 97, 116, 46, 95, 120, 49, 32, 45, 32, 116, 104, 97, 116, 46, 95, 120, 48, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 104, 32, 63, 32, 40, 51, 32, 42, - 32, 40, 116, 104, 97, 116, 46, 95, 121, 49, 32, 45, 32, 116, 104, 97, 116, 46, 95, 121, 48, 41, 32, - 47, 32, 104, 32, 45, 32, 116, 41, 32, 47, 32, 50, 32, 58, 32, 116, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 47, 47, 32, 65, 99, 99, 111, 114, 100, 105, 110, 103, 32, 116, 111, 32, 104, 116, 116, 112, 115, - 58, 47, 47, 101, 110, 46, 119, 105, 107, 105, 112, 101, 100, 105, 97, 46, 111, 114, 103, 47, 119, 105, 107, - 105, 47, 67, 117, 98, 105, 99, 95, 72, 101, 114, 109, 105, 116, 101, 95, 115, 112, 108, 105, 110, 101, 35, - 82, 101, 112, 114, 101, 115, 101, 110, 116, 97, 116, 105, 111, 110, 115, 10, 47, 47, 32, 34, 121, 111, 117, - 32, 99, 97, 110, 32, 101, 120, 112, 114, 101, 115, 115, 32, 99, 117, 98, 105, 99, 32, 72, 101, 114, 109, - 105, 116, 101, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 32, 105, 110, 32, 116, 101, - 114, 109, 115, 32, 111, 102, 32, 99, 117, 98, 105, 99, 32, 66, 195, 169, 122, 105, 101, 114, 32, 99, 117, - 114, 118, 101, 115, 10, 47, 47, 32, 119, 105, 116, 104, 32, 114, 101, 115, 112, 101, 99, 116, 32, 116, 111, - 32, 116, 104, 101, 32, 102, 111, 117, 114, 32, 118, 97, 108, 117, 101, 115, 32, 112, 48, 44, 32, 112, 48, - 32, 43, 32, 109, 48, 32, 47, 32, 51, 44, 32, 112, 49, 32, 45, 32, 109, 49, 32, 47, 32, 51, 44, - 32, 112, 49, 34, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, - 116, 40, 116, 104, 97, 116, 44, 32, 116, 48, 44, 32, 116, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 120, 48, 32, 61, 32, 116, 104, 97, 116, 46, 95, 120, 48, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, 116, 104, 97, 116, 46, 95, 121, - 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 49, 32, 61, 32, 116, 104, 97, - 116, 46, 95, 120, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 49, 32, 61, - 32, 116, 104, 97, 116, 46, 95, 121, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 120, 32, 61, 32, 40, 120, 49, 32, 45, 32, 120, 48, 41, 32, 47, 32, 51, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 104, 97, 116, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 98, 101, 122, 105, - 101, 114, 67, 117, 114, 118, 101, 84, 111, 40, 120, 48, 32, 43, 32, 100, 120, 44, 32, 121, 48, 32, 43, - 32, 100, 120, 32, 42, 32, 116, 48, 44, 32, 120, 49, 32, 45, 32, 100, 120, 44, 32, 121, 49, 32, 45, - 32, 100, 120, 32, 42, 32, 116, 49, 44, 32, 120, 49, 44, 32, 121, 49, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 77, 111, 110, 111, 116, 111, 110, - 101, 88, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 77, 111, 110, 111, 116, 111, 110, 101, 88, 46, 112, - 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, - 101, 97, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, - 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 114, 101, 97, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, - 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, - 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, 61, 32, 116, 104, 105, 115, 46, - 95, 121, 49, 32, 61, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 116, 48, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, - 110, 101, 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, - 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, - 46, 108, 105, 110, 101, 84, 111, 40, 116, 104, 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, - 95, 121, 49, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 58, 32, 112, 111, 105, 110, 116, 40, 116, 104, 105, - 115, 44, 32, 116, 104, 105, 115, 46, 95, 116, 48, 44, 32, 115, 108, 111, 112, 101, 50, 40, 116, 104, 105, - 115, 44, 32, 116, 104, 105, 115, 46, 95, 116, 48, 41, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 124, 124, 32, 40, 116, 104, - 105, 115, 46, 95, 108, 105, 110, 101, 32, 33, 61, 61, 32, 48, 32, 38, 38, 32, 116, 104, 105, 115, 46, - 95, 112, 111, 105, 110, 116, 32, 61, 61, 61, 32, 49, 41, 41, 32, 116, 104, 105, 115, 46, 95, 99, 111, - 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 49, 32, - 45, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 118, 97, 114, 32, 116, 49, 32, 61, 32, 78, 97, 78, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 120, 32, 61, 32, 43, 120, 44, 32, 121, 32, 61, 32, 43, 121, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 120, 32, 61, 61, 61, 32, 116, 104, 105, 115, - 46, 95, 120, 49, 32, 38, 38, 32, 121, 32, 61, 61, 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 41, - 32, 114, 101, 116, 117, 114, 110, 59, 32, 47, 47, 32, 73, 103, 110, 111, 114, 101, 32, 99, 111, 105, 110, - 99, 105, 100, 101, 110, 116, 32, 112, 111, 105, 110, 116, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, - 101, 32, 48, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 59, 32, 116, - 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 63, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, - 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 44, 32, 121, 41, 32, 58, 32, 116, 104, 105, 115, 46, - 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 120, 44, 32, 121, 41, 59, 32, - 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 99, 97, 115, 101, 32, 49, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 50, - 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 99, 97, 115, 101, 32, 50, 58, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, - 32, 51, 59, 32, 112, 111, 105, 110, 116, 40, 116, 104, 105, 115, 44, 32, 115, 108, 111, 112, 101, 50, 40, - 116, 104, 105, 115, 44, 32, 116, 49, 32, 61, 32, 115, 108, 111, 112, 101, 51, 40, 116, 104, 105, 115, 44, - 32, 120, 44, 32, 121, 41, 41, 44, 32, 116, 49, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 32, - 112, 111, 105, 110, 116, 40, 116, 104, 105, 115, 44, 32, 116, 104, 105, 115, 46, 95, 116, 48, 44, 32, 116, - 49, 32, 61, 32, 115, 108, 111, 112, 101, 51, 40, 116, 104, 105, 115, 44, 32, 120, 44, 32, 121, 41, 41, - 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 48, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 120, 49, 32, 61, 32, 120, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 48, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 121, 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 49, 32, 61, 32, - 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 116, 48, - 32, 61, 32, 116, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 77, 111, 110, 111, 116, 111, 110, 101, - 89, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 101, 119, 32, 82, 101, 102, 108, 101, - 99, 116, 67, 111, 110, 116, 101, 120, 116, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 40, 77, 111, 110, 111, 116, 111, 110, 101, 89, 46, 112, 114, 111, 116, - 111, 116, 121, 112, 101, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 99, 114, 101, 97, 116, 101, 40, 77, - 111, 110, 111, 116, 111, 110, 101, 88, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 41, 41, 46, 112, 111, - 105, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 77, 111, 110, 111, 116, 111, 110, 101, 88, 46, 112, 114, 111, 116, 111, - 116, 121, 112, 101, 46, 112, 111, 105, 110, 116, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 44, 32, 121, - 44, 32, 120, 41, 59, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 82, 101, 102, 108, 101, 99, 116, 67, 111, 110, 116, 101, 120, 116, 40, 99, 111, 110, 116, - 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, - 110, 116, 101, 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 82, 101, 102, 108, 101, 99, 116, 67, 111, 110, 116, 101, 120, 116, 46, 112, 114, 111, - 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 118, 101, - 84, 111, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 32, 116, 104, - 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, 84, 111, 40, 121, 44, 32, 120, - 41, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 111, 115, 101, 80, 97, 116, 104, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 116, 104, 105, 115, 46, 95, 99, 111, - 110, 116, 101, 120, 116, 46, 99, 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 32, 125, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 84, 111, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 120, 44, 32, 121, 41, 32, 123, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, - 108, 105, 110, 101, 84, 111, 40, 121, 44, 32, 120, 41, 59, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 98, 101, 122, 105, 101, 114, 67, 117, 114, 118, 101, 84, 111, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 120, 49, 44, 32, 121, 49, 44, 32, 120, 50, 44, 32, 121, 50, 44, 32, 120, 44, 32, 121, - 41, 32, 123, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 98, 101, 122, 105, 101, - 114, 67, 117, 114, 118, 101, 84, 111, 40, 121, 49, 44, 32, 120, 49, 44, 32, 121, 50, 44, 32, 120, 50, - 44, 32, 121, 44, 32, 120, 41, 59, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 111, 110, 111, 116, 111, 110, 101, 88, 40, 99, 111, 110, 116, - 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, - 101, 119, 32, 77, 111, 110, 111, 116, 111, 110, 101, 88, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 111, 110, - 111, 116, 111, 110, 101, 89, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 77, 111, 110, 111, 116, 111, 110, 101, 89, - 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 78, 97, 116, 117, 114, 97, 108, 40, 99, 111, 110, 116, 101, 120, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, - 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, - 32, 32, 78, 97, 116, 117, 114, 97, 108, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 69, 110, 100, 58, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 83, 116, 97, 114, 116, 58, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 120, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 32, 61, 32, 116, 104, 105, 115, 46, - 95, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, - 32, 120, 46, 108, 101, 110, 103, 116, 104, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 102, 32, 40, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 63, 32, 116, 104, 105, 115, 46, 95, 99, - 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 91, 48, 93, 44, 32, 121, 91, 48, - 93, 41, 32, 58, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, 111, 118, 101, - 84, 111, 40, 120, 91, 48, 93, 44, 32, 121, 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 32, 61, 61, 61, 32, 50, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, - 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 91, 49, 93, - 44, 32, 121, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 120, 32, 61, 32, 99, 111, 110, 116, 114, 111, - 108, 80, 111, 105, 110, 116, 115, 40, 120, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 121, 32, 61, 32, 99, 111, 110, 116, 114, - 111, 108, 80, 111, 105, 110, 116, 115, 40, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 48, 32, 61, - 32, 48, 44, 32, 105, 49, 32, 61, 32, 49, 59, 32, 105, 49, 32, 60, 32, 110, 59, 32, 43, 43, 105, - 48, 44, 32, 43, 43, 105, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, - 120, 116, 46, 98, 101, 122, 105, 101, 114, 67, 117, 114, 118, 101, 84, 111, 40, 112, 120, 91, 48, 93, 91, - 105, 48, 93, 44, 32, 112, 121, 91, 48, 93, 91, 105, 48, 93, 44, 32, 112, 120, 91, 49, 93, 91, 105, - 48, 93, 44, 32, 112, 121, 91, 49, 93, 91, 105, 48, 93, 44, 32, 120, 91, 105, 49, 93, 44, 32, 121, - 91, 105, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 124, 124, 32, - 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 33, 61, 61, 32, 48, 32, 38, 38, 32, 110, 32, - 61, 61, 61, 32, 49, 41, 41, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 99, - 108, 111, 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 49, 32, 45, 32, 116, 104, 105, 115, 46, - 95, 108, 105, 110, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 120, 32, 61, 32, 116, 104, 105, 115, 46, 95, 121, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 111, 105, 110, 116, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 46, 112, 117, 115, 104, 40, 43, 120, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 121, 46, - 112, 117, 115, 104, 40, 43, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 125, 59, 10, 10, 47, 47, 32, 83, 101, 101, 32, 104, 116, 116, 112, 115, 58, 47, 47, 119, 119, 119, - 46, 112, 97, 114, 116, 105, 99, 108, 101, 105, 110, 99, 101, 108, 108, 46, 99, 111, 109, 47, 50, 48, 49, - 50, 47, 98, 101, 122, 105, 101, 114, 45, 115, 112, 108, 105, 110, 101, 115, 47, 32, 102, 111, 114, 32, 100, - 101, 114, 105, 118, 97, 116, 105, 111, 110, 46, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 99, 111, 110, 116, 114, 111, 108, 80, 111, 105, 110, 116, 115, 40, 120, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 32, 61, 32, 120, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 97, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, 40, 110, 41, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 110, 101, 119, 32, 65, - 114, 114, 97, 121, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 48, 93, 32, 61, - 32, 48, 44, 32, 98, 91, 48, 93, 32, 61, 32, 50, 44, 32, 114, 91, 48, 93, 32, 61, 32, 120, 91, - 48, 93, 32, 43, 32, 50, 32, 42, 32, 120, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 105, 32, 61, 32, 49, 59, 32, 105, 32, 60, 32, 110, 32, 45, 32, 49, 59, 32, - 43, 43, 105, 41, 32, 97, 91, 105, 93, 32, 61, 32, 49, 44, 32, 98, 91, 105, 93, 32, 61, 32, 52, - 44, 32, 114, 91, 105, 93, 32, 61, 32, 52, 32, 42, 32, 120, 91, 105, 93, 32, 43, 32, 50, 32, 42, - 32, 120, 91, 105, 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 110, 32, - 45, 32, 49, 93, 32, 61, 32, 50, 44, 32, 98, 91, 110, 32, 45, 32, 49, 93, 32, 61, 32, 55, 44, - 32, 114, 91, 110, 32, 45, 32, 49, 93, 32, 61, 32, 56, 32, 42, 32, 120, 91, 110, 32, 45, 32, 49, - 93, 32, 43, 32, 120, 91, 110, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 105, 32, 61, 32, 49, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 109, 32, 61, 32, - 97, 91, 105, 93, 32, 47, 32, 98, 91, 105, 32, 45, 32, 49, 93, 44, 32, 98, 91, 105, 93, 32, 45, - 61, 32, 109, 44, 32, 114, 91, 105, 93, 32, 45, 61, 32, 109, 32, 42, 32, 114, 91, 105, 32, 45, 32, - 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 110, 32, 45, 32, 49, 93, 32, 61, 32, - 114, 91, 110, 32, 45, 32, 49, 93, 32, 47, 32, 98, 91, 110, 32, 45, 32, 49, 93, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 110, 32, 45, 32, 50, 59, 32, 105, - 32, 62, 61, 32, 48, 59, 32, 45, 45, 105, 41, 32, 97, 91, 105, 93, 32, 61, 32, 40, 114, 91, 105, - 93, 32, 45, 32, 97, 91, 105, 32, 43, 32, 49, 93, 41, 32, 47, 32, 98, 91, 105, 93, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 98, 91, 110, 32, 45, 32, 49, 93, 32, 61, 32, 40, 120, 91, 110, 93, - 32, 43, 32, 97, 91, 110, 32, 45, 32, 49, 93, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 32, 45, 32, - 49, 59, 32, 43, 43, 105, 41, 32, 98, 91, 105, 93, 32, 61, 32, 50, 32, 42, 32, 120, 91, 105, 32, - 43, 32, 49, 93, 32, 45, 32, 97, 91, 105, 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 97, 44, 32, 98, 93, 59, 10, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 97, 116, 117, 114, 97, 108, 40, 99, - 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 110, 101, 119, 32, 78, 97, 116, 117, 114, 97, 108, 40, 99, 111, 110, 116, 101, 120, 116, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 83, 116, - 101, 112, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 99, 111, 110, 116, 101, - 120, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 116, 32, 61, 32, 116, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 83, 116, 101, 112, 46, 112, 114, 111, 116, 111, - 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, 83, 116, - 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 48, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 101, 97, - 69, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 78, 97, 78, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, - 110, 101, 83, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 32, 61, 32, 116, 104, - 105, 115, 46, 95, 121, 32, 61, 32, 78, 97, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 110, 101, 69, 110, 100, 58, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 48, 32, 60, 32, 116, 104, 105, 115, 46, 95, 116, 32, 38, 38, 32, 116, - 104, 105, 115, 46, 95, 116, 32, 60, 32, 49, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, - 110, 116, 32, 61, 61, 61, 32, 50, 41, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, - 46, 108, 105, 110, 101, 84, 111, 40, 116, 104, 105, 115, 46, 95, 120, 44, 32, 116, 104, 105, 115, 46, 95, - 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, - 115, 46, 95, 108, 105, 110, 101, 32, 124, 124, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, - 33, 61, 61, 32, 48, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 61, - 61, 32, 49, 41, 41, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 99, 108, 111, - 115, 101, 80, 97, 116, 104, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, 62, 61, 32, 48, 41, 32, 116, 104, 105, - 115, 46, 95, 116, 32, 61, 32, 49, 32, 45, 32, 116, 104, 105, 115, 46, 95, 116, 44, 32, 116, 104, 105, - 115, 46, 95, 108, 105, 110, 101, 32, 61, 32, 49, 32, 45, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, - 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, - 111, 105, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 120, 32, 61, 32, 43, 120, 44, 32, 121, 32, 61, - 32, 43, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, - 32, 40, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 32, 116, 104, 105, 115, 46, - 95, 112, 111, 105, 110, 116, 32, 61, 32, 49, 59, 32, 116, 104, 105, 115, 46, 95, 108, 105, 110, 101, 32, - 63, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, - 120, 44, 32, 121, 41, 32, 58, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 109, - 111, 118, 101, 84, 111, 40, 120, 44, 32, 121, 41, 59, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 32, 116, 104, - 105, 115, 46, 95, 112, 111, 105, 110, 116, 32, 61, 32, 50, 59, 32, 47, 47, 32, 112, 114, 111, 99, 101, - 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, - 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 116, 32, 60, 61, 32, 48, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, - 116, 104, 105, 115, 46, 95, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, - 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 118, 97, 114, 32, 120, 49, 32, 61, 32, 116, 104, 105, 115, 46, 95, 120, 32, 42, 32, 40, - 49, 32, 45, 32, 116, 104, 105, 115, 46, 95, 116, 41, 32, 43, 32, 120, 32, 42, 32, 116, 104, 105, 115, - 46, 95, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, - 101, 84, 111, 40, 120, 49, 44, 32, 116, 104, 105, 115, 46, 95, 121, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 108, 105, 110, 101, 84, 111, 40, 120, 49, 44, 32, 121, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, - 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 95, 120, 32, 61, 32, 120, 44, 32, 116, 104, 105, 115, 46, 95, 121, - 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 101, 112, 40, 99, 111, 110, 116, - 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, - 101, 119, 32, 83, 116, 101, 112, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 48, 46, 53, 41, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 101, - 112, 66, 101, 102, 111, 114, 101, 40, 99, 111, 110, 116, 101, 120, 116, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 83, 116, 101, 112, 40, 99, 111, 110, - 116, 101, 120, 116, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 115, 116, 101, 112, 65, 102, 116, 101, 114, 40, 99, 111, 110, 116, 101, 120, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, - 32, 83, 116, 101, 112, 40, 99, 111, 110, 116, 101, 120, 116, 44, 32, 49, 41, 59, 10, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 110, 101, 36, 49, 40, - 115, 101, 114, 105, 101, 115, 44, 32, 111, 114, 100, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 33, 40, 40, 110, 32, 61, 32, 115, 101, 114, 105, 101, 115, 46, 108, 101, 110, - 103, 116, 104, 41, 32, 62, 32, 49, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 49, 44, 32, 106, 44, 32, - 115, 48, 44, 32, 115, 49, 32, 61, 32, 115, 101, 114, 105, 101, 115, 91, 111, 114, 100, 101, 114, 91, 48, - 93, 93, 44, 32, 110, 44, 32, 109, 32, 61, 32, 115, 49, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, - 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 48, 32, 61, 32, 115, 49, 44, 32, 115, 49, 32, 61, 32, 115, 101, 114, 105, 101, 115, 91, - 111, 114, 100, 101, 114, 91, 105, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 111, 114, 32, 40, 106, 32, 61, 32, 48, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 49, 91, 106, - 93, 91, 49, 93, 32, 43, 61, 32, 115, 49, 91, 106, 93, 91, 48, 93, 32, 61, 32, 105, 115, 78, 97, - 78, 40, 115, 48, 91, 106, 93, 91, 49, 93, 41, 32, 63, 32, 115, 48, 91, 106, 93, 91, 48, 93, 32, - 58, 32, 115, 48, 91, 106, 93, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 110, 101, 40, 115, 101, 114, 105, 101, 115, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 115, 101, 114, 105, 101, - 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 111, 32, 61, 32, 110, 101, 119, 32, 65, 114, 114, 97, 121, - 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 45, 45, 110, - 32, 62, 61, 32, 48, 41, 32, 111, 91, 110, 93, 32, 61, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 111, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 97, 99, 107, 86, 97, 108, 117, 101, 40, 100, 44, 32, - 107, 101, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, - 91, 107, 101, 121, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 115, 116, 97, 99, 107, 83, 101, 114, 105, 101, 115, 40, 107, 101, 121, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 101, 114, 105, 101, 115, 32, 61, 32, - 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 114, 105, 101, 115, 46, 107, 101, 121, 32, - 61, 32, 107, 101, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, - 101, 114, 105, 101, 115, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 115, 116, 97, 99, 107, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 107, 101, 121, 115, 32, 61, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 91, 93, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 114, 100, 101, 114, 32, 61, 32, - 110, 111, 110, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 102, 102, 115, 101, - 116, 32, 61, 32, 110, 111, 110, 101, 36, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 118, 97, 108, 117, 101, 32, 61, 32, 115, 116, 97, 99, 107, 86, 97, 108, 117, 101, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 116, 97, 99, 107, 40, 100, - 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 115, 122, 32, 61, 32, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, 40, 107, 101, 121, 115, 46, 97, 112, - 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, 32, 115, - 116, 97, 99, 107, 83, 101, 114, 105, 101, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 44, 32, 110, 32, 61, 32, 115, 122, 46, 108, 101, 110, 103, 116, 104, 44, - 32, 106, 32, 61, 32, 45, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 111, 122, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, - 40, 99, 111, 110, 115, 116, 32, 100, 32, 111, 102, 32, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, - 44, 32, 43, 43, 106, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 115, 122, 91, 105, - 93, 91, 106, 93, 32, 61, 32, 91, 48, 44, 32, 43, 118, 97, 108, 117, 101, 40, 100, 44, 32, 115, 122, - 91, 105, 93, 46, 107, 101, 121, 44, 32, 106, 44, 32, 100, 97, 116, 97, 41, 93, 41, 46, 100, 97, 116, - 97, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 44, 32, 111, 122, 32, 61, 32, - 97, 114, 114, 97, 121, 40, 111, 114, 100, 101, 114, 40, 115, 122, 41, 41, 59, 32, 105, 32, 60, 32, 110, - 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 122, 91, 111, 122, 91, 105, 93, 93, 46, 105, 110, 100, 101, 120, 32, 61, 32, 105, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 111, 102, 102, 115, 101, 116, 40, 115, 122, 44, 32, 111, 122, 41, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 122, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 99, 107, 46, 107, - 101, 121, 115, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 107, 101, 121, 115, 32, 61, 32, 116, 121, 112, - 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, - 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 65, 114, 114, 97, 121, 46, 102, 114, - 111, 109, 40, 95, 41, 41, 44, 32, 115, 116, 97, 99, 107, 41, 32, 58, 32, 107, 101, 121, 115, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, - 99, 107, 46, 118, 97, 108, 117, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 118, 97, 108, 117, 101, - 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, - 111, 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 43, 95, - 41, 44, 32, 115, 116, 97, 99, 107, 41, 32, 58, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 99, 107, 46, 111, - 114, 100, 101, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 111, 114, 100, 101, 114, 32, 61, 32, 95, - 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 111, 110, 101, 32, 58, 32, 116, 121, 112, 101, 111, - 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 95, 32, - 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 36, 49, 40, 65, 114, 114, 97, 121, 46, 102, 114, 111, 109, - 40, 95, 41, 41, 44, 32, 115, 116, 97, 99, 107, 41, 32, 58, 32, 111, 114, 100, 101, 114, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 99, - 107, 46, 111, 102, 102, 115, 101, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 111, 102, 102, 115, 101, - 116, 32, 61, 32, 95, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 110, 111, 110, 101, 36, 49, 32, - 58, 32, 95, 44, 32, 115, 116, 97, 99, 107, 41, 32, 58, 32, 111, 102, 102, 115, 101, 116, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 115, 116, 97, 99, 107, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 101, 120, 112, 97, 110, 100, 40, 115, 101, 114, 105, 101, 115, 44, 32, 111, - 114, 100, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 40, - 110, 32, 61, 32, 115, 101, 114, 105, 101, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 62, 32, 48, 41, - 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 118, 97, 114, 32, 105, 44, 32, 110, 44, 32, 106, 32, 61, 32, 48, 44, 32, 109, 32, 61, 32, 115, 101, - 114, 105, 101, 115, 91, 48, 93, 46, 108, 101, 110, 103, 116, 104, 44, 32, 121, 59, 32, 106, 32, 60, 32, - 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 111, 114, 32, 40, 121, 32, 61, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, - 43, 105, 41, 32, 121, 32, 43, 61, 32, 115, 101, 114, 105, 101, 115, 91, 105, 93, 91, 106, 93, 91, 49, - 93, 32, 124, 124, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 121, 41, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, - 43, 43, 105, 41, 32, 115, 101, 114, 105, 101, 115, 91, 105, 93, 91, 106, 93, 91, 49, 93, 32, 47, 61, - 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 111, 110, 101, 36, 49, 40, 115, 101, 114, 105, 101, 115, 44, 32, 111, 114, 100, 101, 114, 41, 59, 10, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 105, 118, 101, - 114, 103, 105, 110, 103, 40, 115, 101, 114, 105, 101, 115, 44, 32, 111, 114, 100, 101, 114, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 40, 110, 32, 61, 32, 115, 101, 114, 105, - 101, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 62, 32, 48, 41, 41, 32, 114, 101, 116, 117, 114, 110, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 44, 32, 106, - 32, 61, 32, 48, 44, 32, 100, 44, 32, 100, 121, 44, 32, 121, 112, 44, 32, 121, 110, 44, 32, 110, 44, - 32, 109, 32, 61, 32, 115, 101, 114, 105, 101, 115, 91, 111, 114, 100, 101, 114, 91, 48, 93, 93, 46, 108, - 101, 110, 103, 116, 104, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 121, 112, 32, 61, 32, 121, 110, 32, - 61, 32, 48, 44, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 40, 100, 121, 32, 61, 32, 40, 100, 32, 61, 32, 115, 101, 114, 105, 101, 115, 91, 111, 114, 100, 101, 114, - 91, 105, 93, 93, 91, 106, 93, 41, 91, 49, 93, 32, 45, 32, 100, 91, 48, 93, 41, 32, 62, 32, 48, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 91, 48, 93, 32, 61, 32, 121, 112, 44, 32, 100, 91, 49, 93, 32, 61, 32, 121, 112, 32, 43, - 61, 32, 100, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 100, 121, 32, 60, 32, 48, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, 49, 93, 32, 61, - 32, 121, 110, 44, 32, 100, 91, 48, 93, 32, 61, 32, 121, 110, 32, 43, 61, 32, 100, 121, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 91, - 48, 93, 32, 61, 32, 48, 44, 32, 100, 91, 49, 93, 32, 61, 32, 100, 121, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 105, 108, 104, 111, 117, 101, 116, 116, 101, 40, - 115, 101, 114, 105, 101, 115, 44, 32, 111, 114, 100, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 33, 40, 40, 110, 32, 61, 32, 115, 101, 114, 105, 101, 115, 46, 108, 101, 110, - 103, 116, 104, 41, 32, 62, 32, 48, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 106, 32, 61, 32, 48, 44, 32, 115, 48, 32, - 61, 32, 115, 101, 114, 105, 101, 115, 91, 111, 114, 100, 101, 114, 91, 48, 93, 93, 44, 32, 110, 44, 32, - 109, 32, 61, 32, 115, 48, 46, 108, 101, 110, 103, 116, 104, 59, 32, 106, 32, 60, 32, 109, 59, 32, 43, - 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, - 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 121, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, - 59, 32, 43, 43, 105, 41, 32, 121, 32, 43, 61, 32, 115, 101, 114, 105, 101, 115, 91, 105, 93, 91, 106, - 93, 91, 49, 93, 32, 124, 124, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 115, 48, 91, 106, 93, 91, 49, 93, 32, 43, 61, 32, 115, 48, 91, 106, 93, 91, 48, 93, 32, 61, 32, - 45, 121, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 111, 110, 101, 36, 49, 40, 115, 101, 114, 105, 101, 115, 44, 32, 111, 114, 100, 101, 114, - 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 119, 105, 103, 103, 108, 101, 40, 115, 101, 114, 105, 101, 115, 44, 32, 111, 114, 100, 101, 114, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 40, 110, 32, 61, 32, 115, 101, 114, - 105, 101, 115, 46, 108, 101, 110, 103, 116, 104, 41, 32, 62, 32, 48, 41, 32, 124, 124, 32, 33, 40, 40, - 109, 32, 61, 32, 40, 115, 48, 32, 61, 32, 115, 101, 114, 105, 101, 115, 91, 111, 114, 100, 101, 114, 91, - 48, 93, 93, 41, 46, 108, 101, 110, 103, 116, 104, 41, 32, 62, 32, 48, 41, 41, 32, 114, 101, 116, 117, - 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 121, 32, - 61, 32, 48, 44, 32, 106, 32, 61, 32, 49, 44, 32, 115, 48, 44, 32, 109, 44, 32, 110, 59, 32, 106, - 32, 60, 32, 109, 59, 32, 43, 43, 106, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 105, 32, 61, 32, 48, 44, 32, 115, 49, 32, 61, 32, - 48, 44, 32, 115, 50, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, - 105, 32, 61, 32, 115, 101, 114, 105, 101, 115, 91, 111, 114, 100, 101, 114, 91, 105, 93, 93, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 106, 48, - 32, 61, 32, 115, 105, 91, 106, 93, 91, 49, 93, 32, 124, 124, 32, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 105, 106, 49, 32, 61, 32, 115, - 105, 91, 106, 32, 45, 32, 49, 93, 91, 49, 93, 32, 124, 124, 32, 48, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 51, 32, 61, 32, 40, 115, 105, - 106, 48, 32, 45, 32, 115, 105, 106, 49, 41, 32, 47, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 107, 32, 61, 32, 48, - 59, 32, 107, 32, 60, 32, 105, 59, 32, 43, 43, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 107, 32, 61, 32, 115, - 101, 114, 105, 101, 115, 91, 111, 114, 100, 101, 114, 91, 107, 93, 93, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 107, 106, 48, 32, - 61, 32, 115, 107, 91, 106, 93, 91, 49, 93, 32, 124, 124, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 107, 106, 49, 32, - 61, 32, 115, 107, 91, 106, 32, 45, 32, 49, 93, 91, 49, 93, 32, 124, 124, 32, 48, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 51, 32, 43, 61, - 32, 115, 107, 106, 48, 32, 45, 32, 115, 107, 106, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 49, 32, 43, 61, 32, 115, 105, 106, 48, 44, 32, 115, 50, 32, 43, 61, 32, 115, 51, 32, - 42, 32, 115, 105, 106, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 48, 91, 106, 32, 45, 32, 49, 93, 91, 49, 93, - 32, 43, 61, 32, 115, 48, 91, 106, 32, 45, 32, 49, 93, 91, 48, 93, 32, 61, 32, 121, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 49, 41, 32, 121, 32, 45, 61, - 32, 115, 50, 32, 47, 32, 115, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 115, 48, 91, 106, 32, 45, 32, 49, 93, 91, 49, 93, 32, 43, 61, 32, 115, 48, - 91, 106, 32, 45, 32, 49, 93, 91, 48, 93, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 110, 111, 110, 101, 36, 49, 40, 115, 101, 114, 105, 101, 115, 44, 32, 111, 114, 100, 101, 114, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 112, - 112, 101, 97, 114, 97, 110, 99, 101, 40, 115, 101, 114, 105, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 118, 97, 114, 32, 112, 101, 97, 107, 115, 32, 61, 32, 115, 101, 114, 105, 101, 115, 46, - 109, 97, 112, 40, 112, 101, 97, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 110, 111, 110, 101, 40, 115, 101, 114, 105, 101, 115, 41, 46, 115, 111, 114, 116, 40, 102, 117, - 110, 99, 116, 105, 111, 110, 40, 97, 44, 32, 98, 41, 32, 123, 32, 114, 101, 116, 117, 114, 110, 32, 112, - 101, 97, 107, 115, 91, 97, 93, 32, 45, 32, 112, 101, 97, 107, 115, 91, 98, 93, 59, 32, 125, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 101, - 97, 107, 40, 115, 101, 114, 105, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 105, 32, 61, 32, 45, 49, 44, 32, 106, 32, 61, 32, 48, 44, 32, 110, 32, 61, 32, 115, 101, - 114, 105, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 118, 105, 44, 32, 118, 106, 32, 61, 32, 45, - 73, 110, 102, 105, 110, 105, 116, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 104, 105, 108, 101, - 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 105, 102, 32, 40, 40, 118, 105, 32, 61, 32, 43, 115, - 101, 114, 105, 101, 115, 91, 105, 93, 91, 49, 93, 41, 32, 62, 32, 118, 106, 41, 32, 118, 106, 32, 61, - 32, 118, 105, 44, 32, 106, 32, 61, 32, 105, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, - 117, 114, 110, 32, 106, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 40, 115, 101, 114, 105, 101, 115, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 117, 109, 115, 32, 61, 32, 115, 101, 114, - 105, 101, 115, 46, 109, 97, 112, 40, 115, 117, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 110, 111, 110, 101, 40, 115, 101, 114, 105, 101, 115, 41, 46, 115, 111, 114, 116, - 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 44, 32, 98, 41, 32, 123, 32, 114, 101, 116, 117, 114, - 110, 32, 115, 117, 109, 115, 91, 97, 93, 32, 45, 32, 115, 117, 109, 115, 91, 98, 93, 59, 32, 125, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, - 117, 109, 40, 115, 101, 114, 105, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 115, 32, 61, 32, 48, 44, 32, 105, 32, 61, 32, 45, 49, 44, 32, 110, 32, 61, 32, 115, 101, - 114, 105, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 32, 118, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 119, 104, 105, 108, 101, 32, 40, 43, 43, 105, 32, 60, 32, 110, 41, 32, 105, 102, 32, 40, 118, 32, - 61, 32, 43, 115, 101, 114, 105, 101, 115, 91, 105, 93, 91, 49, 93, 41, 32, 115, 32, 43, 61, 32, 118, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 115, 99, 101, 110, - 100, 105, 110, 103, 40, 115, 101, 114, 105, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 114, 101, 116, 117, 114, 110, 32, 97, 115, 99, 101, 110, 100, 105, 110, 103, 40, 115, 101, 114, 105, 101, 115, - 41, 46, 114, 101, 118, 101, 114, 115, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 115, 105, 100, 101, 79, 117, 116, 40, 115, 101, 114, - 105, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, - 115, 101, 114, 105, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 109, 115, 32, 61, 32, 115, 101, 114, 105, 101, - 115, 46, 109, 97, 112, 40, 115, 117, 109, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 111, 114, 100, 101, 114, 32, 61, 32, 97, 112, 112, 101, 97, 114, 97, 110, 99, 101, 40, 115, 101, 114, - 105, 101, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 112, 32, 61, - 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 111, 116, 116, 111, 109, 32, - 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 112, 115, 32, 61, - 32, 91, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 111, 116, 116, 111, 109, - 115, 32, 61, 32, 91, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, - 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 61, 32, 111, 114, 100, 101, 114, 91, 105, 93, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 111, 112, 32, 60, 32, 98, - 111, 116, 116, 111, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 111, 112, 32, 43, 61, 32, 115, 117, 109, 115, 91, 106, 93, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 112, 115, 46, 112, 117, 115, 104, 40, 106, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 111, 116, 116, 111, 109, 32, - 43, 61, 32, 115, 117, 109, 115, 91, 106, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 98, 111, 116, 116, 111, 109, 115, 46, 112, 117, 115, 104, 40, 106, 41, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 111, 116, 116, 111, 109, 115, - 46, 114, 101, 118, 101, 114, 115, 101, 40, 41, 46, 99, 111, 110, 99, 97, 116, 40, 116, 111, 112, 115, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, - 101, 118, 101, 114, 115, 101, 40, 115, 101, 114, 105, 101, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 111, 110, 101, 40, 115, 101, 114, 105, 101, 115, 41, 46, 114, - 101, 118, 101, 114, 115, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 118, 97, - 114, 32, 99, 111, 110, 115, 116, 97, 110, 116, 32, 61, 32, 120, 32, 61, 62, 32, 40, 41, 32, 61, 62, - 32, 120, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 90, 111, 111, 109, 69, - 118, 101, 110, 116, 40, 116, 121, 112, 101, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, - 117, 114, 99, 101, 69, 118, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 114, 103, - 101, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 115, 112, 97, 116, 99, 104, 10, 32, 32, 32, 32, 125, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 79, 98, 106, 101, 99, 116, 46, 100, 101, 102, 105, 110, - 101, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 40, 116, 104, 105, 115, 44, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, - 116, 121, 112, 101, 44, 32, 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, - 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 58, - 32, 123, 118, 97, 108, 117, 101, 58, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 44, 32, 101, - 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, - 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 97, 114, 103, 101, 116, 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 116, 97, 114, - 103, 101, 116, 44, 32, 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, - 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 58, 32, 123, 118, - 97, 108, 117, 101, 58, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 44, 32, 101, 110, 117, 109, 101, 114, - 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, 108, - 101, 58, 32, 116, 114, 117, 101, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, - 58, 32, 123, 118, 97, 108, 117, 101, 58, 32, 100, 105, 115, 112, 97, 116, 99, 104, 125, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 84, 114, 97, 110, 115, 102, 111, 114, 109, 40, 107, 44, 32, 120, 44, 32, 121, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 107, 32, 61, 32, 107, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 120, 32, 61, 32, 120, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 121, 32, 61, 32, 121, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 84, 114, 97, 110, 115, 102, 111, 114, 109, 46, 112, 114, 111, 116, 111, 116, 121, - 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, - 116, 111, 114, 58, 32, 84, 114, 97, 110, 115, 102, 111, 114, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 99, 97, 108, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 107, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 107, 32, 61, 61, 61, - 32, 49, 32, 63, 32, 116, 104, 105, 115, 32, 58, 32, 110, 101, 119, 32, 84, 114, 97, 110, 115, 102, 111, - 114, 109, 40, 116, 104, 105, 115, 46, 107, 32, 42, 32, 107, 44, 32, 116, 104, 105, 115, 46, 120, 44, 32, - 116, 104, 105, 115, 46, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 120, 44, 32, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 120, 32, 61, 61, 61, 32, 48, 32, 38, 32, 121, 32, 61, 61, 61, 32, 48, - 32, 63, 32, 116, 104, 105, 115, 32, 58, 32, 110, 101, 119, 32, 84, 114, 97, 110, 115, 102, 111, 114, 109, - 40, 116, 104, 105, 115, 46, 107, 44, 32, 116, 104, 105, 115, 46, 120, 32, 43, 32, 116, 104, 105, 115, 46, - 107, 32, 42, 32, 120, 44, 32, 116, 104, 105, 115, 46, 121, 32, 43, 32, 116, 104, 105, 115, 46, 107, 32, - 42, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 97, 112, 112, 108, 121, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 112, 111, 105, 110, 116, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 91, 112, 111, 105, 110, 116, 91, 48, 93, 32, 42, 32, 116, 104, 105, 115, 46, 107, 32, 43, 32, 116, 104, - 105, 115, 46, 120, 44, 32, 112, 111, 105, 110, 116, 91, 49, 93, 32, 42, 32, 116, 104, 105, 115, 46, 107, - 32, 43, 32, 116, 104, 105, 115, 46, 121, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 112, 112, 108, 121, 88, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 120, 32, 42, 32, 116, 104, 105, 115, 46, 107, 32, 43, 32, 116, 104, 105, 115, 46, 120, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 112, 112, - 108, 121, 89, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 121, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 121, 32, 42, 32, 116, 104, 105, 115, - 46, 107, 32, 43, 32, 116, 104, 105, 115, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 118, 101, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 108, 111, 99, 97, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 40, 108, 111, 99, 97, 116, 105, 111, 110, 91, 48, - 93, 32, 45, 32, 116, 104, 105, 115, 46, 120, 41, 32, 47, 32, 116, 104, 105, 115, 46, 107, 44, 32, 40, - 108, 111, 99, 97, 116, 105, 111, 110, 91, 49, 93, 32, 45, 32, 116, 104, 105, 115, 46, 121, 41, 32, 47, - 32, 116, 104, 105, 115, 46, 107, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 110, 118, 101, 114, 116, 88, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 40, 120, 32, 45, 32, 116, 104, 105, 115, 46, 120, 41, 32, 47, 32, 116, 104, 105, 115, 46, 107, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, - 118, 101, 114, 116, 89, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 121, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 121, 32, 45, 32, 116, - 104, 105, 115, 46, 121, 41, 32, 47, 32, 116, 104, 105, 115, 46, 107, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 99, 97, 108, 101, 88, 58, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 40, 120, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 46, 99, 111, 112, 121, 40, 41, 46, 100, 111, 109, 97, - 105, 110, 40, 120, 46, 114, 97, 110, 103, 101, 40, 41, 46, 109, 97, 112, 40, 116, 104, 105, 115, 46, 105, - 110, 118, 101, 114, 116, 88, 44, 32, 116, 104, 105, 115, 41, 46, 109, 97, 112, 40, 120, 46, 105, 110, 118, - 101, 114, 116, 44, 32, 120, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 115, 99, 97, 108, 101, 89, 58, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 121, 46, 99, 111, 112, 121, 40, 41, 46, 100, 111, 109, 97, 105, 110, 40, 121, 46, 114, 97, - 110, 103, 101, 40, 41, 46, 109, 97, 112, 40, 116, 104, 105, 115, 46, 105, 110, 118, 101, 114, 116, 89, 44, - 32, 116, 104, 105, 115, 41, 46, 109, 97, 112, 40, 121, 46, 105, 110, 118, 101, 114, 116, 44, 32, 121, 41, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 111, 83, 116, 114, 105, 110, 103, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 116, 114, 97, 110, - 115, 108, 97, 116, 101, 40, 34, 32, 43, 32, 116, 104, 105, 115, 46, 120, 32, 43, 32, 34, 44, 34, 32, - 43, 32, 116, 104, 105, 115, 46, 121, 32, 43, 32, 34, 41, 32, 115, 99, 97, 108, 101, 40, 34, 32, 43, - 32, 116, 104, 105, 115, 46, 107, 32, 43, 32, 34, 41, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 118, 97, 114, 32, 105, 100, 101, 110, 116, - 105, 116, 121, 32, 61, 32, 110, 101, 119, 32, 84, 114, 97, 110, 115, 102, 111, 114, 109, 40, 49, 44, 32, - 48, 44, 32, 48, 41, 59, 10, 10, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 112, - 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 84, 114, 97, 110, 115, 102, 111, 114, 109, 46, 112, 114, - 111, 116, 111, 116, 121, 112, 101, 59, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 110, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 33, 110, 111, 100, 101, 46, 95, 95, 122, 111, 111, 109, 41, - 32, 105, 102, 32, 40, 33, 40, 110, 111, 100, 101, 32, 61, 32, 110, 111, 100, 101, 46, 112, 97, 114, 101, - 110, 116, 78, 111, 100, 101, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 105, 100, 101, 110, 116, 105, 116, - 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 111, 100, 101, 46, - 95, 95, 122, 111, 111, 109, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 110, 111, 112, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, 40, 101, 118, 101, 110, - 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 46, 115, 116, 111, 112, - 73, 109, 109, 101, 100, 105, 97, 116, 101, 80, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, 40, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, - 101, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 101, 118, 101, 110, 116, 46, 112, 114, 101, 118, 101, 110, 116, 68, 101, 102, 97, 117, 108, 116, 40, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 46, 115, 116, 111, 112, 73, 109, 109, 101, - 100, 105, 97, 116, 101, 80, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, 40, 41, 59, 10, 32, 32, 32, - 32, 125, 10, 10, 47, 47, 32, 73, 103, 110, 111, 114, 101, 32, 114, 105, 103, 104, 116, 45, 99, 108, 105, - 99, 107, 44, 32, 115, 105, 110, 99, 101, 32, 116, 104, 97, 116, 32, 115, 104, 111, 117, 108, 100, 32, 111, - 112, 101, 110, 32, 116, 104, 101, 32, 99, 111, 110, 116, 101, 120, 116, 32, 109, 101, 110, 117, 46, 10, 47, - 47, 32, 101, 120, 99, 101, 112, 116, 32, 102, 111, 114, 32, 112, 105, 110, 99, 104, 45, 116, 111, 45, 122, - 111, 111, 109, 44, 32, 119, 104, 105, 99, 104, 32, 105, 115, 32, 115, 101, 110, 116, 32, 97, 115, 32, 97, - 32, 119, 104, 101, 101, 108, 43, 99, 116, 114, 108, 75, 101, 121, 32, 101, 118, 101, 110, 116, 10, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 70, 105, 108, 116, 101, - 114, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 40, 33, 101, 118, 101, 110, 116, 46, 99, 116, 114, 108, 75, 101, 121, 32, 124, 124, 32, 101, - 118, 101, 110, 116, 46, 116, 121, 112, 101, 32, 61, 61, 61, 32, 39, 119, 104, 101, 101, 108, 39, 41, 32, - 38, 38, 32, 33, 101, 118, 101, 110, 116, 46, 98, 117, 116, 116, 111, 110, 59, 10, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 69, - 120, 116, 101, 110, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, - 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, - 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 83, 86, 71, 69, 108, 101, 109, 101, 110, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 101, 46, 111, 119, 110, - 101, 114, 83, 86, 71, 69, 108, 101, 109, 101, 110, 116, 32, 124, 124, 32, 101, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 46, 104, 97, 115, 65, 116, 116, 114, 105, 98, - 117, 116, 101, 40, 34, 118, 105, 101, 119, 66, 111, 120, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 101, 46, 118, 105, 101, 119, 66, 111, - 120, 46, 98, 97, 115, 101, 86, 97, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 91, 101, 46, 120, 44, 32, 101, 46, 121, 93, 44, - 32, 91, 101, 46, 120, 32, 43, 32, 101, 46, 119, 105, 100, 116, 104, 44, 32, 101, 46, 121, 32, 43, 32, - 101, 46, 104, 101, 105, 103, 104, 116, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, - 91, 48, 44, 32, 48, 93, 44, 32, 91, 101, 46, 119, 105, 100, 116, 104, 46, 98, 97, 115, 101, 86, 97, - 108, 46, 118, 97, 108, 117, 101, 44, 32, 101, 46, 104, 101, 105, 103, 104, 116, 46, 98, 97, 115, 101, 86, - 97, 108, 46, 118, 97, 108, 117, 101, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 91, 48, 44, 32, 48, 93, 44, 32, - 91, 101, 46, 99, 108, 105, 101, 110, 116, 87, 105, 100, 116, 104, 44, 32, 101, 46, 99, 108, 105, 101, 110, - 116, 72, 101, 105, 103, 104, 116, 93, 93, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 84, 114, 97, 110, 115, 102, 111, 114, - 109, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, - 105, 115, 46, 95, 95, 122, 111, 111, 109, 32, 124, 124, 32, 105, 100, 101, 110, 116, 105, 116, 121, 59, 10, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, 102, - 97, 117, 108, 116, 87, 104, 101, 101, 108, 68, 101, 108, 116, 97, 40, 101, 118, 101, 110, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 45, 101, 118, 101, 110, 116, 46, - 100, 101, 108, 116, 97, 89, 32, 42, 32, 40, 101, 118, 101, 110, 116, 46, 100, 101, 108, 116, 97, 77, 111, - 100, 101, 32, 61, 61, 61, 32, 49, 32, 63, 32, 48, 46, 48, 53, 32, 58, 32, 101, 118, 101, 110, 116, - 46, 100, 101, 108, 116, 97, 77, 111, 100, 101, 32, 63, 32, 49, 32, 58, 32, 48, 46, 48, 48, 50, 41, - 32, 42, 32, 40, 101, 118, 101, 110, 116, 46, 99, 116, 114, 108, 75, 101, 121, 32, 63, 32, 49, 48, 32, - 58, 32, 49, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 32, 100, 101, 102, 97, 117, 108, 116, 84, 111, 117, 99, 104, 97, 98, 108, 101, 40, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 97, 118, 105, 103, 97, 116, - 111, 114, 46, 109, 97, 120, 84, 111, 117, 99, 104, 80, 111, 105, 110, 116, 115, 32, 124, 124, 32, 40, 34, - 111, 110, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, 34, 32, 105, 110, 32, 116, 104, 105, 115, 41, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 101, - 102, 97, 117, 108, 116, 67, 111, 110, 115, 116, 114, 97, 105, 110, 40, 116, 114, 97, 110, 115, 102, 111, 114, - 109, 44, 32, 101, 120, 116, 101, 110, 116, 44, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, - 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 120, 48, 32, - 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 105, 110, 118, 101, 114, 116, 88, 40, 101, 120, 116, - 101, 110, 116, 91, 48, 93, 91, 48, 93, 41, 32, 45, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, - 120, 116, 101, 110, 116, 91, 48, 93, 91, 48, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 100, 120, 49, 32, 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 105, 110, 118, 101, 114, - 116, 88, 40, 101, 120, 116, 101, 110, 116, 91, 49, 93, 91, 48, 93, 41, 32, 45, 32, 116, 114, 97, 110, - 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 91, 49, 93, 91, 48, 93, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 48, 32, 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 46, 105, 110, 118, 101, 114, 116, 89, 40, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 49, 93, 41, 32, - 45, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 91, 48, 93, 91, 49, 93, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, 49, 32, 61, 32, 116, 114, 97, - 110, 115, 102, 111, 114, 109, 46, 105, 110, 118, 101, 114, 116, 89, 40, 101, 120, 116, 101, 110, 116, 91, 49, - 93, 91, 49, 93, 41, 32, 45, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, - 91, 49, 93, 91, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 120, 49, 32, 62, 32, 100, 120, 48, 32, 63, 32, 40, - 100, 120, 48, 32, 43, 32, 100, 120, 49, 41, 32, 47, 32, 50, 32, 58, 32, 77, 97, 116, 104, 46, 109, - 105, 110, 40, 48, 44, 32, 100, 120, 48, 41, 32, 124, 124, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, - 48, 44, 32, 100, 120, 49, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 121, - 49, 32, 62, 32, 100, 121, 48, 32, 63, 32, 40, 100, 121, 48, 32, 43, 32, 100, 121, 49, 41, 32, 47, - 32, 50, 32, 58, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 48, 44, 32, 100, 121, 48, 41, 32, 124, - 124, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 48, 44, 32, 100, 121, 49, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 122, 111, 111, 109, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 102, 105, 108, 116, 101, 114, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 70, 105, 108, 116, 101, - 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 120, 116, 101, 110, 116, 32, 61, - 32, 100, 101, 102, 97, 117, 108, 116, 69, 120, 116, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 97, 105, 110, 32, 61, 32, 100, 101, 102, 97, 117, 108, - 116, 67, 111, 110, 115, 116, 114, 97, 105, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 119, 104, 101, 101, 108, 68, 101, 108, 116, 97, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 87, 104, - 101, 101, 108, 68, 101, 108, 116, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 111, 117, 99, 104, 97, 98, 108, 101, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 84, 111, 117, 99, 104, - 97, 98, 108, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 97, 108, 101, - 69, 120, 116, 101, 110, 116, 32, 61, 32, 91, 48, 44, 32, 73, 110, 102, 105, 110, 105, 116, 121, 93, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, - 120, 116, 101, 110, 116, 32, 61, 32, 91, 91, 45, 73, 110, 102, 105, 110, 105, 116, 121, 44, 32, 45, 73, - 110, 102, 105, 110, 105, 116, 121, 93, 44, 32, 91, 73, 110, 102, 105, 110, 105, 116, 121, 44, 32, 73, 110, - 102, 105, 110, 105, 116, 121, 93, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, - 117, 114, 97, 116, 105, 111, 110, 32, 61, 32, 50, 53, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 32, 61, 32, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 90, 111, 111, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 100, 105, 115, 112, 97, 116, 99, 104, 40, 34, - 115, 116, 97, 114, 116, 34, 44, 32, 34, 122, 111, 111, 109, 34, 44, 32, 34, 101, 110, 100, 34, 41, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, - 105, 110, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 117, 99, 104, 102, - 105, 114, 115, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 117, 99, 104, - 101, 110, 100, 105, 110, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 117, - 99, 104, 68, 101, 108, 97, 121, 32, 61, 32, 53, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 119, 104, 101, 101, 108, 68, 101, 108, 97, 121, 32, 61, 32, 49, 53, 48, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 105, 99, 107, 68, 105, 115, 116, 97, 110, 99, - 101, 50, 32, 61, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 112, - 68, 105, 115, 116, 97, 110, 99, 101, 32, 61, 32, 49, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 122, 111, 111, 109, 40, 115, 101, 108, 101, 99, 116, 105, 111, - 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 112, 114, - 111, 112, 101, 114, 116, 121, 40, 34, 95, 95, 122, 111, 111, 109, 34, 44, 32, 100, 101, 102, 97, 117, 108, - 116, 84, 114, 97, 110, 115, 102, 111, 114, 109, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 119, 104, 101, 101, 108, 46, 122, 111, 111, 109, 34, 44, 32, - 119, 104, 101, 101, 108, 101, 100, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 111, 110, 40, 34, 109, 111, 117, 115, 101, 100, 111, 119, 110, 46, 122, 111, 111, 109, 34, 44, - 32, 109, 111, 117, 115, 101, 100, 111, 119, 110, 101, 100, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 100, 98, 108, 99, 108, 105, 99, 107, 46, 122, 111, - 111, 109, 34, 44, 32, 100, 98, 108, 99, 108, 105, 99, 107, 101, 100, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 102, 105, 108, 116, 101, 114, 40, 116, 111, 117, 99, 104, - 97, 98, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, - 111, 110, 40, 34, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, 46, 122, 111, 111, 109, 34, 44, 32, 116, - 111, 117, 99, 104, 115, 116, 97, 114, 116, 101, 100, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 116, 111, 117, 99, 104, 109, 111, 118, 101, 46, 122, 111, - 111, 109, 34, 44, 32, 116, 111, 117, 99, 104, 109, 111, 118, 101, 100, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 116, 111, 117, 99, 104, 101, 110, 100, - 46, 122, 111, 111, 109, 32, 116, 111, 117, 99, 104, 99, 97, 110, 99, 101, 108, 46, 122, 111, 111, 109, 34, - 44, 32, 116, 111, 117, 99, 104, 101, 110, 100, 101, 100, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 45, 119, 101, 98, 107, 105, 116, 45, - 116, 97, 112, 45, 104, 105, 103, 104, 108, 105, 103, 104, 116, 45, 99, 111, 108, 111, 114, 34, 44, 32, 34, - 114, 103, 98, 97, 40, 48, 44, 48, 44, 48, 44, 48, 41, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 111, 108, 108, 101, 99, 116, - 105, 111, 110, 44, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 44, 32, 112, 111, 105, 110, 116, 44, 32, - 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 99, 111, 108, 108, 101, 99, 116, 105, 111, - 110, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 32, 63, 32, 99, 111, 108, 108, 101, 99, 116, 105, 111, - 110, 46, 115, 101, 108, 101, 99, 116, 105, 111, 110, 40, 41, 32, 58, 32, 99, 111, 108, 108, 101, 99, 116, - 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 108, 101, 99, 116, - 105, 111, 110, 46, 112, 114, 111, 112, 101, 114, 116, 121, 40, 34, 95, 95, 122, 111, 111, 109, 34, 44, 32, - 100, 101, 102, 97, 117, 108, 116, 84, 114, 97, 110, 115, 102, 111, 114, 109, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 108, 108, 101, 99, 116, 105, 111, 110, 32, - 33, 61, 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 99, 104, 101, 100, 117, 108, 101, 40, 99, 111, 108, 108, - 101, 99, 116, 105, 111, 110, 44, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 44, 32, 112, 111, 105, 110, - 116, 44, 32, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 46, 105, 110, 116, 101, 114, 114, 117, 112, 116, 40, 41, - 46, 101, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 115, 116, 117, 114, 101, - 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 101, 118, 101, - 110, 116, 40, 101, 118, 101, 110, 116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 97, 114, 116, 40, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 122, - 111, 111, 109, 40, 110, 117, 108, 108, 44, 32, 116, 121, 112, 101, 111, 102, 32, 116, 114, 97, 110, 115, 102, - 111, 114, 109, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 116, 114, - 97, 110, 115, 102, 111, 114, 109, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 41, 32, 58, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, - 101, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 115, 99, 97, - 108, 101, 66, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 101, 108, 101, 99, 116, 105, - 111, 110, 44, 32, 107, 44, 32, 112, 44, 32, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 115, 99, 97, 108, 101, 84, 111, 40, 115, 101, - 108, 101, 99, 116, 105, 111, 110, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 107, 48, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 95, 122, 111, 111, 109, 46, 107, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 49, 32, 61, 32, 116, 121, 112, 101, 111, - 102, 32, 107, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 107, 46, - 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, - 58, 32, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, - 116, 117, 114, 110, 32, 107, 48, 32, 42, 32, 107, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 44, 32, 112, 44, 32, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 115, 99, 97, 108, - 101, 84, 111, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 101, 108, 101, 99, 116, 105, 111, - 110, 44, 32, 107, 44, 32, 112, 44, 32, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 116, 114, 97, 110, 115, 102, 111, 114, 109, 40, 115, - 101, 108, 101, 99, 116, 105, 111, 110, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, - 32, 101, 120, 116, 101, 110, 116, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, - 117, 109, 101, 110, 116, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 48, 32, 61, 32, 116, 104, 105, 115, 46, 95, 95, 122, 111, 111, 109, 44, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 48, - 32, 61, 32, 112, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 99, 101, 110, 116, 114, 111, 105, 100, - 40, 101, 41, 32, 58, 32, 116, 121, 112, 101, 111, 102, 32, 112, 32, 61, 61, 61, 32, 34, 102, 117, 110, - 99, 116, 105, 111, 110, 34, 32, 63, 32, 112, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 58, 32, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 49, 32, 61, 32, 116, 48, 46, 105, 110, - 118, 101, 114, 116, 40, 112, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 107, 49, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 107, 32, 61, 61, - 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 107, 46, 97, 112, 112, 108, 121, 40, - 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 58, 32, 107, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, - 111, 110, 115, 116, 114, 97, 105, 110, 40, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 115, 99, 97, 108, - 101, 40, 116, 48, 44, 32, 107, 49, 41, 44, 32, 112, 48, 44, 32, 112, 49, 41, 44, 32, 101, 44, 32, - 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 112, 44, 32, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, - 116, 114, 97, 110, 115, 108, 97, 116, 101, 66, 121, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, - 115, 101, 108, 101, 99, 116, 105, 111, 110, 44, 32, 120, 44, 32, 121, 44, 32, 101, 118, 101, 110, 116, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 116, 114, 97, - 110, 115, 102, 111, 114, 109, 40, 115, 101, 108, 101, 99, 116, 105, 111, 110, 44, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 110, 115, 116, 114, 97, 105, 110, 40, 116, 104, 105, 115, 46, - 95, 95, 122, 111, 111, 109, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 111, 102, 32, 120, - 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 120, 46, 97, 112, 112, - 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 58, 32, 120, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, - 121, 112, 101, 111, 102, 32, 121, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, - 63, 32, 121, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 41, 32, 58, 32, 121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 41, 44, 32, 101, 120, 116, 101, 110, 116, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, - 116, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 110, - 117, 108, 108, 44, 32, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 116, 114, 97, 110, 115, 108, 97, 116, - 101, 84, 111, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 115, 101, 108, 101, 99, 116, 105, 111, - 110, 44, 32, 120, 44, 32, 121, 44, 32, 112, 44, 32, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 116, 114, 97, 110, 115, 102, 111, 114, - 109, 40, 115, 101, 108, 101, 99, 116, 105, 111, 110, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 101, 32, 61, 32, 101, 120, 116, 101, 110, 116, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 95, 122, 111, 111, - 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 112, 48, 32, 61, 32, 112, 32, 61, 61, 32, 110, 117, 108, 108, 32, 63, 32, 99, 101, 110, 116, 114, 111, - 105, 100, 40, 101, 41, 32, 58, 32, 116, 121, 112, 101, 111, 102, 32, 112, 32, 61, 61, 61, 32, 34, 102, - 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 112, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, - 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 58, 32, 112, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 110, 115, 116, - 114, 97, 105, 110, 40, 105, 100, 101, 110, 116, 105, 116, 121, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, - 40, 112, 48, 91, 48, 93, 44, 32, 112, 48, 91, 49, 93, 41, 46, 115, 99, 97, 108, 101, 40, 116, 46, - 107, 41, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 111, 102, 32, 120, 32, 61, 61, 61, - 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 45, 120, 46, 97, 112, 112, 108, 121, 40, - 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 32, 58, 32, 45, 120, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, - 101, 111, 102, 32, 121, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, - 45, 121, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 41, 32, 58, 32, 45, 121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 41, 44, 32, 101, 44, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 112, 44, 32, 101, 118, 101, - 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 97, 108, 101, 40, 116, 114, 97, 110, 115, 102, - 111, 114, 109, 44, 32, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, - 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 115, 99, 97, 108, 101, 69, 120, 116, 101, 110, 116, - 91, 48, 93, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 115, 99, 97, 108, 101, 69, 120, 116, 101, - 110, 116, 91, 49, 93, 44, 32, 107, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 107, 32, 61, 61, 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 46, 107, 32, 63, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 32, 58, 32, 110, 101, 119, 32, 84, 114, - 97, 110, 115, 102, 111, 114, 109, 40, 107, 44, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 120, 44, - 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 114, 97, - 110, 115, 108, 97, 116, 101, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 44, 32, 112, 48, 44, 32, 112, - 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 32, - 61, 32, 112, 48, 91, 48, 93, 32, 45, 32, 112, 49, 91, 48, 93, 32, 42, 32, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 46, 107, 44, 32, 121, 32, 61, 32, 112, 48, 91, 49, 93, 32, 45, 32, 112, 49, 91, - 49, 93, 32, 42, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 107, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 61, 61, 61, 32, 116, 114, 97, - 110, 115, 102, 111, 114, 109, 46, 120, 32, 38, 38, 32, 121, 32, 61, 61, 61, 32, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 46, 121, 32, 63, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 32, 58, 32, 110, 101, - 119, 32, 84, 114, 97, 110, 115, 102, 111, 114, 109, 40, 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 107, - 44, 32, 120, 44, 32, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 101, 110, 116, 114, 111, 105, 100, 40, - 101, 120, 116, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 101, 116, 117, 114, 110, 32, 91, 40, 43, 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 48, 93, 32, 43, - 32, 43, 101, 120, 116, 101, 110, 116, 91, 49, 93, 91, 48, 93, 41, 32, 47, 32, 50, 44, 32, 40, 43, - 101, 120, 116, 101, 110, 116, 91, 48, 93, 91, 49, 93, 32, 43, 32, 43, 101, 120, 116, 101, 110, 116, 91, - 49, 93, 91, 49, 93, 41, 32, 47, 32, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 99, 104, 101, 100, - 117, 108, 101, 40, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 44, 32, 116, 114, 97, 110, 115, 102, 111, - 114, 109, 44, 32, 112, 111, 105, 110, 116, 44, 32, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 115, 116, 97, 114, 116, - 46, 122, 111, 111, 109, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 103, 101, - 115, 116, 117, 114, 101, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 46, - 101, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 46, 115, 116, 97, 114, 116, 40, 41, 59, 32, 125, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, - 105, 110, 116, 101, 114, 114, 117, 112, 116, 46, 122, 111, 111, 109, 32, 101, 110, 100, 46, 122, 111, 111, 109, - 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 103, 101, 115, 116, 117, 114, 101, - 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 46, 101, 118, 101, 110, 116, - 40, 101, 118, 101, 110, 116, 41, 46, 101, 110, 100, 40, 41, 59, 32, 125, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 116, 119, 101, 101, 110, 40, 34, 122, 111, 111, 109, - 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 104, 97, 116, 32, 61, - 32, 116, 104, 105, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 115, 32, 61, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 103, 32, 61, 32, 103, 101, 115, 116, 117, 114, 101, 40, 116, 104, 97, 116, 44, 32, 97, - 114, 103, 115, 41, 46, 101, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 44, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, - 32, 101, 120, 116, 101, 110, 116, 46, 97, 112, 112, 108, 121, 40, 116, 104, 97, 116, 44, 32, 97, 114, 103, - 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 112, 32, 61, 32, 112, 111, 105, 110, 116, 32, 61, 61, 32, 110, 117, 108, 108, 32, - 63, 32, 99, 101, 110, 116, 114, 111, 105, 100, 40, 101, 41, 32, 58, 32, 116, 121, 112, 101, 111, 102, 32, - 112, 111, 105, 110, 116, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, - 112, 111, 105, 110, 116, 46, 97, 112, 112, 108, 121, 40, 116, 104, 97, 116, 44, 32, 97, 114, 103, 115, 41, - 32, 58, 32, 112, 111, 105, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, - 40, 101, 91, 49, 93, 91, 48, 93, 32, 45, 32, 101, 91, 48, 93, 91, 48, 93, 44, 32, 101, 91, 49, - 93, 91, 49, 93, 32, 45, 32, 101, 91, 48, 93, 91, 49, 93, 41, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 116, - 104, 97, 116, 46, 95, 95, 122, 111, 111, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 116, 121, 112, 101, 111, 102, - 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, - 110, 34, 32, 63, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 97, 112, 112, 108, 121, 40, 116, 104, - 97, 116, 44, 32, 97, 114, 103, 115, 41, 32, 58, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 105, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 40, 97, 46, 105, 110, 118, 101, - 114, 116, 40, 112, 41, 46, 99, 111, 110, 99, 97, 116, 40, 119, 32, 47, 32, 97, 46, 107, 41, 44, 32, - 98, 46, 105, 110, 118, 101, 114, 116, 40, 112, 41, 46, 99, 111, 110, 99, 97, 116, 40, 119, 32, 47, 32, - 98, 46, 107, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 116, 32, 61, 61, 61, 32, 49, 41, 32, 116, 32, 61, 32, 98, 59, 32, - 47, 47, 32, 65, 118, 111, 105, 100, 32, 114, 111, 117, 110, 100, 105, 110, 103, 32, 101, 114, 114, 111, 114, - 32, 111, 110, 32, 101, 110, 100, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 32, 118, 97, 114, 32, 108, 32, - 61, 32, 105, 40, 116, 41, 44, 32, 107, 32, 61, 32, 119, 32, 47, 32, 108, 91, 50, 93, 59, 32, 116, - 32, 61, 32, 110, 101, 119, 32, 84, 114, 97, 110, 115, 102, 111, 114, 109, 40, 107, 44, 32, 112, 91, 48, - 93, 32, 45, 32, 108, 91, 48, 93, 32, 42, 32, 107, 44, 32, 112, 91, 49, 93, 32, 45, 32, 108, 91, - 49, 93, 32, 42, 32, 107, 41, 59, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 122, 111, 111, 109, 40, 110, 117, 108, 108, - 44, 32, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, - 117, 110, 99, 116, 105, 111, 110, 32, 103, 101, 115, 116, 117, 114, 101, 40, 116, 104, 97, 116, 44, 32, 97, - 114, 103, 115, 44, 32, 99, 108, 101, 97, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 33, 99, 108, 101, 97, 110, 32, 38, 38, 32, 116, 104, - 97, 116, 46, 95, 95, 122, 111, 111, 109, 105, 110, 103, 41, 32, 124, 124, 32, 110, 101, 119, 32, 71, 101, - 115, 116, 117, 114, 101, 40, 116, 104, 97, 116, 44, 32, 97, 114, 103, 115, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 71, 101, 115, 116, 117, 114, 101, 40, 116, 104, 97, 116, 44, 32, 97, 114, 103, 115, 41, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 104, 97, 116, 32, 61, - 32, 116, 104, 97, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, - 46, 97, 114, 103, 115, 32, 61, 32, 97, 114, 103, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 97, 99, 116, 105, 118, 101, 32, 61, 32, 48, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 111, 117, 114, 99, 101, 69, 118, 101, - 110, 116, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 104, 105, 115, 46, 101, 120, 116, 101, 110, 116, 32, 61, 32, 101, 120, 116, 101, 110, 116, 46, 97, 112, - 112, 108, 121, 40, 116, 104, 97, 116, 44, 32, 97, 114, 103, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 97, 112, 115, 32, 61, 32, 48, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 71, 101, 115, 116, 117, 114, - 101, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 118, - 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 101, 118, 101, 110, 116, 41, 32, 116, 104, 105, 115, 46, 115, 111, 117, 114, 99, 101, 69, - 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 115, 116, 97, 114, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 43, 43, 116, 104, 105, - 115, 46, 97, 99, 116, 105, 118, 101, 32, 61, 61, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 104, 97, - 116, 46, 95, 95, 122, 111, 111, 109, 105, 110, 103, 32, 61, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 101, - 109, 105, 116, 40, 34, 115, 116, 97, 114, 116, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, - 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 107, 101, 121, 44, 32, 116, 114, 97, 110, 115, 102, 111, - 114, 109, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 116, 104, 105, 115, 46, 109, 111, 117, 115, 101, 32, 38, 38, 32, 107, 101, 121, 32, 33, 61, - 61, 32, 34, 109, 111, 117, 115, 101, 34, 41, 32, 116, 104, 105, 115, 46, 109, 111, 117, 115, 101, 91, 49, - 93, 32, 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 105, 110, 118, 101, 114, 116, 40, 116, 104, - 105, 115, 46, 109, 111, 117, 115, 101, 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 116, 111, 117, 99, 104, 48, 32, - 38, 38, 32, 107, 101, 121, 32, 33, 61, 61, 32, 34, 116, 111, 117, 99, 104, 34, 41, 32, 116, 104, 105, - 115, 46, 116, 111, 117, 99, 104, 48, 91, 49, 93, 32, 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 46, 105, 110, 118, 101, 114, 116, 40, 116, 104, 105, 115, 46, 116, 111, 117, 99, 104, 48, 91, 48, 93, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, - 104, 105, 115, 46, 116, 111, 117, 99, 104, 49, 32, 38, 38, 32, 107, 101, 121, 32, 33, 61, 61, 32, 34, - 116, 111, 117, 99, 104, 34, 41, 32, 116, 104, 105, 115, 46, 116, 111, 117, 99, 104, 49, 91, 49, 93, 32, - 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 105, 110, 118, 101, 114, 116, 40, 116, 104, 105, 115, - 46, 116, 111, 117, 99, 104, 49, 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, 104, 97, 116, 46, 95, 95, 122, 111, 111, 109, 32, - 61, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 101, 109, 105, 116, 40, 34, 122, 111, 111, 109, 34, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 100, 58, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 45, 45, 116, 104, 105, 115, 46, 97, 99, 116, 105, 118, 101, 32, 61, 61, 61, 32, 48, - 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 100, 101, 108, 101, 116, 101, 32, 116, 104, 105, 115, 46, 116, 104, 97, 116, 46, 95, 95, 122, 111, 111, - 109, 105, 110, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 104, 105, 115, 46, 101, 109, 105, 116, 40, 34, 101, 110, 100, 34, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 101, 109, 105, 116, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 116, 121, 112, 101, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 100, 32, 61, 32, 115, 101, 108, 101, 99, 116, 40, 116, 104, 105, 115, 46, 116, 104, 97, 116, 41, 46, 100, - 97, 116, 117, 109, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 99, 97, 108, 108, 40, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 116, - 104, 97, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 101, 119, 32, 90, 111, 111, 109, 69, 118, 101, 110, 116, 40, 116, 121, 112, 101, 44, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 111, 117, 114, 99, 101, 69, 118, 101, 110, 116, 58, 32, 116, 104, 105, 115, 46, 115, 111, 117, - 114, 99, 101, 69, 118, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 97, 114, 103, 101, 116, 58, 32, 122, 111, 111, 109, - 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 116, 121, 112, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 97, 110, 115, 102, 111, 114, 109, 58, 32, 116, 104, - 105, 115, 46, 116, 104, 97, 116, 46, 95, 95, 122, 111, 111, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 115, 112, 97, 116, - 99, 104, 58, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, - 110, 99, 116, 105, 111, 110, 32, 119, 104, 101, 101, 108, 101, 100, 40, 101, 118, 101, 110, 116, 44, 32, 46, - 46, 46, 97, 114, 103, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 33, 102, 105, 108, 116, 101, 114, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, - 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 32, 61, 32, 103, 101, 115, 116, 117, 114, - 101, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 115, 41, 46, 101, 118, 101, 110, 116, 40, 101, 118, 101, - 110, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 95, 122, 111, 111, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 115, 99, - 97, 108, 101, 69, 120, 116, 101, 110, 116, 91, 48, 93, 44, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, - 115, 99, 97, 108, 101, 69, 120, 116, 101, 110, 116, 91, 49, 93, 44, 32, 116, 46, 107, 32, 42, 32, 77, - 97, 116, 104, 46, 112, 111, 119, 40, 50, 44, 32, 119, 104, 101, 101, 108, 68, 101, 108, 116, 97, 46, 97, - 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 41, - 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, - 112, 111, 105, 110, 116, 101, 114, 40, 101, 118, 101, 110, 116, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 32, 109, 111, 117, 115, 101, 32, 105, - 115, 32, 105, 110, 32, 116, 104, 101, 32, 115, 97, 109, 101, 32, 108, 111, 99, 97, 116, 105, 111, 110, 32, - 97, 115, 32, 98, 101, 102, 111, 114, 101, 44, 32, 114, 101, 117, 115, 101, 32, 105, 116, 46, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 114, 101, 32, 119, - 101, 114, 101, 32, 114, 101, 99, 101, 110, 116, 32, 119, 104, 101, 101, 108, 32, 101, 118, 101, 110, 116, 115, - 44, 32, 114, 101, 115, 101, 116, 32, 116, 104, 101, 32, 119, 104, 101, 101, 108, 32, 105, 100, 108, 101, 32, - 116, 105, 109, 101, 111, 117, 116, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 103, 46, 119, 104, 101, 101, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 46, 109, 111, 117, 115, 101, 91, 48, 93, 91, 48, 93, - 32, 33, 61, 61, 32, 112, 91, 48, 93, 32, 124, 124, 32, 103, 46, 109, 111, 117, 115, 101, 91, 48, 93, - 91, 49, 93, 32, 33, 61, 61, 32, 112, 91, 49, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 109, 111, 117, 115, 101, 91, 49, 93, - 32, 61, 32, 116, 46, 105, 110, 118, 101, 114, 116, 40, 103, 46, 109, 111, 117, 115, 101, 91, 48, 93, 32, - 61, 32, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 101, 97, 114, 84, - 105, 109, 101, 111, 117, 116, 40, 103, 46, 119, 104, 101, 101, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, - 32, 73, 102, 32, 116, 104, 105, 115, 32, 119, 104, 101, 101, 108, 32, 101, 118, 101, 110, 116, 32, 119, 111, - 110, 226, 128, 153, 116, 32, 116, 114, 105, 103, 103, 101, 114, 32, 97, 32, 116, 114, 97, 110, 115, 102, 111, - 114, 109, 32, 99, 104, 97, 110, 103, 101, 44, 32, 105, 103, 110, 111, 114, 101, 32, 105, 116, 46, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 116, 46, 107, - 32, 61, 61, 61, 32, 107, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 47, 47, 32, 79, 116, 104, 101, 114, 119, 105, 115, 101, 44, 32, 99, 97, 112, - 116, 117, 114, 101, 32, 116, 104, 101, 32, 109, 111, 117, 115, 101, 32, 112, 111, 105, 110, 116, 32, 97, 110, - 100, 32, 108, 111, 99, 97, 116, 105, 111, 110, 32, 97, 116, 32, 116, 104, 101, 32, 115, 116, 97, 114, 116, - 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 109, 111, 117, 115, 101, 32, 61, - 32, 91, 112, 44, 32, 116, 46, 105, 110, 118, 101, 114, 116, 40, 112, 41, 93, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 114, 117, 112, 116, 40, 116, - 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, - 46, 115, 116, 97, 114, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 101, 118, 101, 110, 116, 40, 101, - 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 119, 104, - 101, 101, 108, 32, 61, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 119, 104, 101, 101, 108, 105, - 100, 108, 101, 100, 44, 32, 119, 104, 101, 101, 108, 68, 101, 108, 97, 121, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 122, 111, 111, 109, 40, 34, 109, 111, 117, 115, 101, 34, 44, - 32, 99, 111, 110, 115, 116, 114, 97, 105, 110, 40, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 115, 99, - 97, 108, 101, 40, 116, 44, 32, 107, 41, 44, 32, 103, 46, 109, 111, 117, 115, 101, 91, 48, 93, 44, 32, - 103, 46, 109, 111, 117, 115, 101, 91, 49, 93, 41, 44, 32, 103, 46, 101, 120, 116, 101, 110, 116, 44, 32, - 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 41, 41, 59, 10, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 119, 104, 101, 101, 108, - 105, 100, 108, 101, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 103, 46, 119, 104, 101, 101, 108, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 101, 110, 100, 40, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, 111, 117, 115, 101, 100, - 111, 119, 110, 101, 100, 40, 101, 118, 101, 110, 116, 44, 32, 46, 46, 46, 97, 114, 103, 115, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 111, 117, 99, 104, 101, - 110, 100, 105, 110, 103, 32, 124, 124, 32, 33, 102, 105, 108, 116, 101, 114, 46, 97, 112, 112, 108, 121, 40, - 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 32, 114, 101, 116, 117, 114, - 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 32, 61, 32, - 103, 101, 115, 116, 117, 114, 101, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 115, 44, 32, 116, 114, 117, - 101, 41, 46, 101, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 32, 61, 32, 115, 101, 108, 101, 99, 116, 40, 101, 118, - 101, 110, 116, 46, 118, 105, 101, 119, 41, 46, 111, 110, 40, 34, 109, 111, 117, 115, 101, 109, 111, 118, 101, - 46, 122, 111, 111, 109, 34, 44, 32, 109, 111, 117, 115, 101, 109, 111, 118, 101, 100, 44, 32, 116, 114, 117, - 101, 41, 46, 111, 110, 40, 34, 109, 111, 117, 115, 101, 117, 112, 46, 122, 111, 111, 109, 34, 44, 32, 109, - 111, 117, 115, 101, 117, 112, 112, 101, 100, 44, 32, 116, 114, 117, 101, 41, 44, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, 112, 111, 105, 110, 116, 101, 114, 40, - 101, 118, 101, 110, 116, 44, 32, 99, 117, 114, 114, 101, 110, 116, 84, 97, 114, 103, 101, 116, 41, 44, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, - 84, 97, 114, 103, 101, 116, 32, 61, 32, 101, 118, 101, 110, 116, 46, 99, 117, 114, 114, 101, 110, 116, 84, - 97, 114, 103, 101, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 120, 48, 32, 61, 32, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 88, 44, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 48, 32, 61, 32, 101, 118, 101, 110, 116, - 46, 99, 108, 105, 101, 110, 116, 89, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 100, 114, 97, 103, 68, 105, 115, 97, 98, 108, 101, 40, 101, 118, 101, 110, 116, 46, 118, 105, 101, 119, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 112, 114, 111, 112, 97, 103, 97, - 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 103, 46, 109, 111, 117, 115, 101, 32, 61, 32, 91, 112, 44, 32, 116, 104, 105, 115, 46, 95, 95, - 122, 111, 111, 109, 46, 105, 110, 118, 101, 114, 116, 40, 112, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 114, 117, 112, 116, 40, 116, 104, 105, 115, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 115, 116, 97, 114, 116, 40, 41, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 109, - 111, 117, 115, 101, 109, 111, 118, 101, 100, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 101, 118, 101, 110, 116, 40, 101, 118, 101, - 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 33, 103, 46, 109, 111, 118, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 120, 32, 61, 32, 101, 118, 101, - 110, 116, 46, 99, 108, 105, 101, 110, 116, 88, 32, 45, 32, 120, 48, 44, 32, 100, 121, 32, 61, 32, 101, - 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 89, 32, 45, 32, 121, 48, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 109, 111, 118, 101, 100, - 32, 61, 32, 100, 120, 32, 42, 32, 100, 120, 32, 43, 32, 100, 121, 32, 42, 32, 100, 121, 32, 62, 32, - 99, 108, 105, 99, 107, 68, 105, 115, 116, 97, 110, 99, 101, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 103, 46, 101, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 122, 111, 111, 109, 40, 34, - 109, 111, 117, 115, 101, 34, 44, 32, 99, 111, 110, 115, 116, 114, 97, 105, 110, 40, 116, 114, 97, 110, 115, - 108, 97, 116, 101, 40, 103, 46, 116, 104, 97, 116, 46, 95, 95, 122, 111, 111, 109, 44, 32, 103, 46, 109, - 111, 117, 115, 101, 91, 48, 93, 32, 61, 32, 112, 111, 105, 110, 116, 101, 114, 40, 101, 118, 101, 110, 116, - 44, 32, 99, 117, 114, 114, 101, 110, 116, 84, 97, 114, 103, 101, 116, 41, 44, 32, 103, 46, 109, 111, 117, - 115, 101, 91, 49, 93, 41, 44, 32, 103, 46, 101, 120, 116, 101, 110, 116, 44, 32, 116, 114, 97, 110, 115, - 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, - 105, 111, 110, 32, 109, 111, 117, 115, 101, 117, 112, 112, 101, 100, 40, 101, 118, 101, 110, 116, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 46, 111, 110, 40, 34, - 109, 111, 117, 115, 101, 109, 111, 118, 101, 46, 122, 111, 111, 109, 32, 109, 111, 117, 115, 101, 117, 112, 46, - 122, 111, 111, 109, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 121, 101, 115, 100, 114, 97, 103, 40, 101, 118, 101, 110, 116, 46, 118, 105, - 101, 119, 44, 32, 103, 46, 109, 111, 118, 101, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 110, 111, 101, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 101, 118, 101, 110, 116, - 40, 101, 118, 101, 110, 116, 41, 46, 101, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 98, 108, 99, 108, 105, 99, 107, 101, 100, 40, 101, - 118, 101, 110, 116, 44, 32, 46, 46, 46, 97, 114, 103, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 102, 105, 108, 116, 101, 114, 46, 97, 112, 112, 108, 121, - 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 32, 114, 101, 116, 117, - 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 48, 32, - 61, 32, 116, 104, 105, 115, 46, 95, 95, 122, 111, 111, 109, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 48, 32, 61, 32, 112, 111, 105, 110, 116, 101, 114, 40, 101, 118, - 101, 110, 116, 46, 99, 104, 97, 110, 103, 101, 100, 84, 111, 117, 99, 104, 101, 115, 32, 63, 32, 101, 118, - 101, 110, 116, 46, 99, 104, 97, 110, 103, 101, 100, 84, 111, 117, 99, 104, 101, 115, 91, 48, 93, 32, 58, - 32, 101, 118, 101, 110, 116, 44, 32, 116, 104, 105, 115, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 112, 49, 32, 61, 32, 116, 48, 46, 105, 110, 118, 101, 114, 116, 40, - 112, 48, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 49, - 32, 61, 32, 116, 48, 46, 107, 32, 42, 32, 40, 101, 118, 101, 110, 116, 46, 115, 104, 105, 102, 116, 75, - 101, 121, 32, 63, 32, 48, 46, 53, 32, 58, 32, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 116, 49, 32, 61, 32, 99, 111, 110, 115, 116, 114, 97, 105, 110, 40, - 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 115, 99, 97, 108, 101, 40, 116, 48, 44, 32, 107, 49, 41, - 44, 32, 112, 48, 44, 32, 112, 49, 41, 44, 32, 101, 120, 116, 101, 110, 116, 46, 97, 112, 112, 108, 121, - 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 115, 41, 44, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, - 69, 120, 116, 101, 110, 116, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, - 111, 101, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 105, 102, 32, 40, 100, 117, 114, 97, 116, 105, 111, 110, 32, 62, 32, 48, 41, 32, 115, - 101, 108, 101, 99, 116, 40, 116, 104, 105, 115, 41, 46, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, - 41, 46, 100, 117, 114, 97, 116, 105, 111, 110, 40, 100, 117, 114, 97, 116, 105, 111, 110, 41, 46, 99, 97, - 108, 108, 40, 115, 99, 104, 101, 100, 117, 108, 101, 44, 32, 116, 49, 44, 32, 112, 48, 44, 32, 101, 118, - 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, - 115, 101, 108, 101, 99, 116, 40, 116, 104, 105, 115, 41, 46, 99, 97, 108, 108, 40, 122, 111, 111, 109, 46, - 116, 114, 97, 110, 115, 102, 111, 114, 109, 44, 32, 116, 49, 44, 32, 112, 48, 44, 32, 101, 118, 101, 110, - 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, 101, 100, 40, 101, - 118, 101, 110, 116, 44, 32, 46, 46, 46, 97, 114, 103, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 102, 105, 108, 116, 101, 114, 46, 97, 112, 112, 108, 121, - 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 32, 114, 101, 116, 117, - 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 111, 117, - 99, 104, 101, 115, 32, 61, 32, 101, 118, 101, 110, 116, 46, 116, 111, 117, 99, 104, 101, 115, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 116, 111, 117, 99, - 104, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 103, 32, 61, 32, 103, 101, 115, 116, 117, 114, 101, 40, 116, 104, 105, 115, 44, 32, - 97, 114, 103, 115, 44, 32, 101, 118, 101, 110, 116, 46, 99, 104, 97, 110, 103, 101, 100, 84, 111, 117, 99, - 104, 101, 115, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 110, 41, 46, 101, 118, 101, 110, 116, - 40, 101, 118, 101, 110, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 115, 116, 97, 114, 116, 101, 100, 44, 32, 105, 44, 32, 116, 44, 32, 112, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 111, 112, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, - 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, - 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 116, 111, - 117, 99, 104, 101, 115, 91, 105, 93, 44, 32, 112, 32, 61, 32, 112, 111, 105, 110, 116, 101, 114, 40, 116, - 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 112, 32, 61, 32, 91, 112, 44, 32, 116, 104, 105, 115, 46, 95, 95, 122, 111, 111, 109, 46, 105, - 110, 118, 101, 114, 116, 40, 112, 41, 44, 32, 116, 46, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, - 103, 46, 116, 111, 117, 99, 104, 48, 41, 32, 103, 46, 116, 111, 117, 99, 104, 48, 32, 61, 32, 112, 44, - 32, 115, 116, 97, 114, 116, 101, 100, 32, 61, 32, 116, 114, 117, 101, 44, 32, 103, 46, 116, 97, 112, 115, - 32, 61, 32, 49, 32, 43, 32, 33, 33, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, 105, 110, 103, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, - 102, 32, 40, 33, 103, 46, 116, 111, 117, 99, 104, 49, 32, 38, 38, 32, 103, 46, 116, 111, 117, 99, 104, - 48, 91, 50, 93, 32, 33, 61, 61, 32, 112, 91, 50, 93, 41, 32, 103, 46, 116, 111, 117, 99, 104, 49, - 32, 61, 32, 112, 44, 32, 103, 46, 116, 97, 112, 115, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, 105, 110, 103, 41, 32, 116, 111, 117, 99, 104, - 115, 116, 97, 114, 116, 105, 110, 103, 32, 61, 32, 99, 108, 101, 97, 114, 84, 105, 109, 101, 111, 117, 116, - 40, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, 105, 110, 103, 41, 59, 10, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, 97, 114, 116, 101, 100, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 46, 116, 97, - 112, 115, 32, 60, 32, 50, 41, 32, 116, 111, 117, 99, 104, 102, 105, 114, 115, 116, 32, 61, 32, 112, 91, - 48, 93, 44, 32, 116, 111, 117, 99, 104, 115, 116, 97, 114, 116, 105, 110, 103, 32, 61, 32, 115, 101, 116, - 84, 105, 109, 101, 111, 117, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 116, 111, - 117, 99, 104, 115, 116, 97, 114, 116, 105, 110, 103, 32, 61, 32, 110, 117, 108, 108, 59, 32, 125, 44, 32, - 116, 111, 117, 99, 104, 68, 101, 108, 97, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 105, 110, 116, 101, 114, 114, 117, 112, 116, 40, 116, 104, 105, 115, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 115, 116, 97, 114, 116, - 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 116, 111, 117, 99, 104, 109, 111, 118, 101, 100, 40, 101, 118, 101, 110, 116, 44, 32, 46, 46, 46, 97, 114, - 103, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, - 116, 104, 105, 115, 46, 95, 95, 122, 111, 111, 109, 105, 110, 103, 41, 32, 114, 101, 116, 117, 114, 110, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 32, 61, 32, 103, 101, - 115, 116, 117, 114, 101, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 115, 41, 46, 101, 118, 101, 110, 116, - 40, 101, 118, 101, 110, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 116, 111, 117, 99, 104, 101, 115, 32, 61, 32, 101, 118, 101, 110, 116, 46, 99, 104, 97, 110, 103, - 101, 100, 84, 111, 117, 99, 104, 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 110, 32, 61, 32, 116, 111, 117, 99, 104, 101, 115, 46, 108, 101, 110, 103, 116, 104, 44, - 32, 105, 44, 32, 116, 44, 32, 112, 44, 32, 108, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 110, 111, 101, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, - 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 116, 32, 61, 32, 116, 111, 117, 99, 104, 101, 115, 91, 105, 93, 44, 32, 112, 32, 61, - 32, 112, 111, 105, 110, 116, 101, 114, 40, 116, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 46, 116, 111, 117, 99, 104, - 48, 32, 38, 38, 32, 103, 46, 116, 111, 117, 99, 104, 48, 91, 50, 93, 32, 61, 61, 61, 32, 116, 46, - 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 41, 32, 103, 46, 116, 111, 117, 99, 104, 48, 91, 48, 93, - 32, 61, 32, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, - 108, 115, 101, 32, 105, 102, 32, 40, 103, 46, 116, 111, 117, 99, 104, 49, 32, 38, 38, 32, 103, 46, 116, - 111, 117, 99, 104, 49, 91, 50, 93, 32, 61, 61, 61, 32, 116, 46, 105, 100, 101, 110, 116, 105, 102, 105, - 101, 114, 41, 32, 103, 46, 116, 111, 117, 99, 104, 49, 91, 48, 93, 32, 61, 32, 112, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 116, 32, 61, 32, 103, 46, 116, 104, 97, 116, 46, 95, 95, 122, 111, 111, 109, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 46, 116, 111, 117, 99, 104, 49, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, - 48, 32, 61, 32, 103, 46, 116, 111, 117, 99, 104, 48, 91, 48, 93, 44, 32, 108, 48, 32, 61, 32, 103, - 46, 116, 111, 117, 99, 104, 48, 91, 49, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 49, 32, 61, 32, 103, 46, 116, 111, 117, 99, 104, 49, 91, - 48, 93, 44, 32, 108, 49, 32, 61, 32, 103, 46, 116, 111, 117, 99, 104, 49, 91, 49, 93, 44, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 112, 32, 61, - 32, 40, 100, 112, 32, 61, 32, 112, 49, 91, 48, 93, 32, 45, 32, 112, 48, 91, 48, 93, 41, 32, 42, - 32, 100, 112, 32, 43, 32, 40, 100, 112, 32, 61, 32, 112, 49, 91, 49, 93, 32, 45, 32, 112, 48, 91, - 49, 93, 41, 32, 42, 32, 100, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 108, 32, 61, 32, 40, 100, 108, 32, 61, 32, 108, 49, 91, 48, 93, - 32, 45, 32, 108, 48, 91, 48, 93, 41, 32, 42, 32, 100, 108, 32, 43, 32, 40, 100, 108, 32, 61, 32, - 108, 49, 91, 49, 93, 32, 45, 32, 108, 48, 91, 49, 93, 41, 32, 42, 32, 100, 108, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 115, 99, 97, 108, 101, - 40, 116, 44, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 100, 112, 32, 47, 32, 100, 108, 41, 41, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, 91, - 40, 112, 48, 91, 48, 93, 32, 43, 32, 112, 49, 91, 48, 93, 41, 32, 47, 32, 50, 44, 32, 40, 112, - 48, 91, 49, 93, 32, 43, 32, 112, 49, 91, 49, 93, 41, 32, 47, 32, 50, 93, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 91, 40, 108, 48, 91, 48, - 93, 32, 43, 32, 108, 49, 91, 48, 93, 41, 32, 47, 32, 50, 44, 32, 40, 108, 48, 91, 49, 93, 32, - 43, 32, 108, 49, 91, 49, 93, 41, 32, 47, 32, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, - 105, 102, 32, 40, 103, 46, 116, 111, 117, 99, 104, 48, 41, 32, 112, 32, 61, 32, 103, 46, 116, 111, 117, - 99, 104, 48, 91, 48, 93, 44, 32, 108, 32, 61, 32, 103, 46, 116, 111, 117, 99, 104, 48, 91, 49, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 114, 101, 116, 117, - 114, 110, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 122, 111, 111, 109, - 40, 34, 116, 111, 117, 99, 104, 34, 44, 32, 99, 111, 110, 115, 116, 114, 97, 105, 110, 40, 116, 114, 97, - 110, 115, 108, 97, 116, 101, 40, 116, 44, 32, 112, 44, 32, 108, 41, 44, 32, 103, 46, 101, 120, 116, 101, - 110, 116, 44, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 41, 41, 59, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 116, 111, 117, 99, 104, 101, 110, 100, 101, 100, 40, 101, 118, 101, 110, 116, 44, 32, - 46, 46, 46, 97, 114, 103, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 33, 116, 104, 105, 115, 46, 95, 95, 122, 111, 111, 109, 105, 110, 103, 41, 32, 114, 101, - 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, - 32, 61, 32, 103, 101, 115, 116, 117, 114, 101, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 115, 41, 46, - 101, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 116, 111, 117, 99, 104, 101, 115, 32, 61, 32, 101, 118, 101, 110, 116, 46, - 99, 104, 97, 110, 103, 101, 100, 84, 111, 117, 99, 104, 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 61, 32, 116, 111, 117, 99, 104, 101, 115, 46, 108, 101, - 110, 103, 116, 104, 44, 32, 105, 44, 32, 116, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 110, 111, 112, 114, 111, 112, 97, 103, 97, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 111, 117, 99, 104, 101, - 110, 100, 105, 110, 103, 41, 32, 99, 108, 101, 97, 114, 84, 105, 109, 101, 111, 117, 116, 40, 116, 111, 117, - 99, 104, 101, 110, 100, 105, 110, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 116, 111, 117, 99, 104, 101, 110, 100, 105, 110, 103, 32, 61, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, - 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 32, 116, 111, 117, 99, 104, 101, 110, 100, - 105, 110, 103, 32, 61, 32, 110, 117, 108, 108, 59, 32, 125, 44, 32, 116, 111, 117, 99, 104, 68, 101, 108, - 97, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 105, - 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 110, 59, 32, 43, 43, 105, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 116, 111, 117, 99, 104, 101, - 115, 91, 105, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 103, 46, 116, 111, 117, 99, 104, 48, 32, 38, 38, 32, 103, 46, 116, 111, 117, 99, 104, 48, - 91, 50, 93, 32, 61, 61, 61, 32, 116, 46, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 41, 32, 100, - 101, 108, 101, 116, 101, 32, 103, 46, 116, 111, 117, 99, 104, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 103, 46, 116, 111, 117, - 99, 104, 49, 32, 38, 38, 32, 103, 46, 116, 111, 117, 99, 104, 49, 91, 50, 93, 32, 61, 61, 61, 32, - 116, 46, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 41, 32, 100, 101, 108, 101, 116, 101, 32, 103, 46, - 116, 111, 117, 99, 104, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 46, 116, 111, 117, 99, 104, 49, - 32, 38, 38, 32, 33, 103, 46, 116, 111, 117, 99, 104, 48, 41, 32, 103, 46, 116, 111, 117, 99, 104, 48, - 32, 61, 32, 103, 46, 116, 111, 117, 99, 104, 49, 44, 32, 100, 101, 108, 101, 116, 101, 32, 103, 46, 116, - 111, 117, 99, 104, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 103, 46, 116, 111, 117, 99, 104, 48, 41, 32, 103, 46, 116, 111, 117, 99, 104, 48, 91, 49, 93, 32, 61, - 32, 116, 104, 105, 115, 46, 95, 95, 122, 111, 111, 109, 46, 105, 110, 118, 101, 114, 116, 40, 103, 46, 116, - 111, 117, 99, 104, 48, 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 103, 46, 101, 110, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 105, 115, 32, 119, 97, 115, 32, 97, 32, 100, 98, 108, 116, - 97, 112, 44, 32, 114, 101, 114, 111, 117, 116, 101, 32, 116, 111, 32, 116, 104, 101, 32, 40, 111, 112, 116, - 105, 111, 110, 97, 108, 41, 32, 100, 98, 108, 99, 108, 105, 99, 107, 46, 122, 111, 111, 109, 32, 104, 97, - 110, 100, 108, 101, 114, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 105, 102, 32, 40, 103, 46, 116, 97, 112, 115, 32, 61, 61, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 61, 32, 112, 111, - 105, 110, 116, 101, 114, 40, 116, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 77, 97, 116, 104, 46, 104, - 121, 112, 111, 116, 40, 116, 111, 117, 99, 104, 102, 105, 114, 115, 116, 91, 48, 93, 32, 45, 32, 116, 91, - 48, 93, 44, 32, 116, 111, 117, 99, 104, 102, 105, 114, 115, 116, 91, 49, 93, 32, 45, 32, 116, 91, 49, - 93, 41, 32, 60, 32, 116, 97, 112, 68, 105, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, - 114, 32, 112, 32, 61, 32, 115, 101, 108, 101, 99, 116, 40, 116, 104, 105, 115, 41, 46, 111, 110, 40, 34, - 100, 98, 108, 99, 108, 105, 99, 107, 46, 122, 111, 111, 109, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, - 41, 32, 112, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 119, 104, 101, 101, 108, 68, 101, 108, 116, - 97, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 119, 104, 101, 101, 108, 68, 101, 108, 116, 97, 32, 61, - 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, - 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 40, 43, 95, 41, 44, 32, 122, - 111, 111, 109, 41, 32, 58, 32, 119, 104, 101, 101, 108, 68, 101, 108, 116, 97, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 102, 105, - 108, 116, 101, 114, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, - 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 102, 105, 108, 116, 101, 114, 32, 61, 32, - 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, - 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 40, 33, 33, 95, 41, 44, 32, 122, - 111, 111, 109, 41, 32, 58, 32, 102, 105, 108, 116, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 116, 111, 117, 99, 104, 97, - 98, 108, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 111, 117, 99, 104, 97, 98, 108, 101, 32, - 61, 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, - 110, 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 40, 33, 33, 95, 41, 44, - 32, 122, 111, 111, 109, 41, 32, 58, 32, 116, 111, 117, 99, 104, 97, 98, 108, 101, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 101, - 120, 116, 101, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 101, 120, 116, 101, 110, 116, 32, 61, - 32, 116, 121, 112, 101, 111, 102, 32, 95, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, - 34, 32, 63, 32, 95, 32, 58, 32, 99, 111, 110, 115, 116, 97, 110, 116, 40, 91, 91, 43, 95, 91, 48, - 93, 91, 48, 93, 44, 32, 43, 95, 91, 48, 93, 91, 49, 93, 93, 44, 32, 91, 43, 95, 91, 49, 93, - 91, 48, 93, 44, 32, 43, 95, 91, 49, 93, 91, 49, 93, 93, 93, 41, 44, 32, 122, 111, 111, 109, 41, - 32, 58, 32, 101, 120, 116, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 115, 99, 97, 108, 101, 69, 120, 116, 101, 110, - 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, - 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 115, 99, 97, 108, 101, 69, 120, 116, 101, 110, 116, 91, - 48, 93, 32, 61, 32, 43, 95, 91, 48, 93, 44, 32, 115, 99, 97, 108, 101, 69, 120, 116, 101, 110, 116, - 91, 49, 93, 32, 61, 32, 43, 95, 91, 49, 93, 44, 32, 122, 111, 111, 109, 41, 32, 58, 32, 91, 115, - 99, 97, 108, 101, 69, 120, 116, 101, 110, 116, 91, 48, 93, 44, 32, 115, 99, 97, 108, 101, 69, 120, 116, - 101, 110, 116, 91, 49, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, - 101, 110, 116, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, - 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, - 120, 116, 101, 110, 116, 91, 48, 93, 91, 48, 93, 32, 61, 32, 43, 95, 91, 48, 93, 91, 48, 93, 44, - 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 91, 49, 93, 91, 48, 93, 32, - 61, 32, 43, 95, 91, 49, 93, 91, 48, 93, 44, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, - 116, 101, 110, 116, 91, 48, 93, 91, 49, 93, 32, 61, 32, 43, 95, 91, 48, 93, 91, 49, 93, 44, 32, - 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 91, 49, 93, 91, 49, 93, 32, 61, - 32, 43, 95, 91, 49, 93, 91, 49, 93, 44, 32, 122, 111, 111, 109, 41, 32, 58, 32, 91, 91, 116, 114, - 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 91, 48, 93, 91, 48, 93, 44, 32, 116, 114, - 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 91, 48, 93, 91, 49, 93, 93, 44, 32, 91, - 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 91, 49, 93, 91, 48, 93, 44, 32, - 116, 114, 97, 110, 115, 108, 97, 116, 101, 69, 120, 116, 101, 110, 116, 91, 49, 93, 91, 49, 93, 93, 93, - 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, - 111, 111, 109, 46, 99, 111, 110, 115, 116, 114, 97, 105, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, - 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, - 99, 111, 110, 115, 116, 114, 97, 105, 110, 32, 61, 32, 95, 44, 32, 122, 111, 111, 109, 41, 32, 58, 32, - 99, 111, 110, 115, 116, 114, 97, 105, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 100, 117, 114, 97, 116, 105, 111, 110, 32, 61, - 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, - 110, 103, 116, 104, 32, 63, 32, 40, 100, 117, 114, 97, 116, 105, 111, 110, 32, 61, 32, 43, 95, 44, 32, - 122, 111, 111, 109, 41, 32, 58, 32, 100, 117, 114, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, - 103, 117, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 32, 61, 32, 95, 44, 32, 122, 111, 111, 109, 41, 32, 58, 32, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 111, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, - 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, - 118, 97, 108, 117, 101, 32, 61, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 111, 110, 46, 97, 112, - 112, 108, 121, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 44, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 118, 97, 108, 117, 101, 32, 61, 61, 61, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 63, 32, 122, - 111, 111, 109, 32, 58, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, - 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 99, 108, 105, 99, 107, 68, 105, 115, - 116, 97, 110, 99, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, - 101, 110, 116, 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 99, 108, 105, 99, 107, 68, 105, 115, - 116, 97, 110, 99, 101, 50, 32, 61, 32, 40, 95, 32, 61, 32, 43, 95, 41, 32, 42, 32, 95, 44, 32, - 122, 111, 111, 109, 41, 32, 58, 32, 77, 97, 116, 104, 46, 115, 113, 114, 116, 40, 99, 108, 105, 99, 107, - 68, 105, 115, 116, 97, 110, 99, 101, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 111, 111, 109, 46, 116, 97, 112, 68, 105, 115, 116, 97, 110, - 99, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 95, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, - 115, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 40, 116, 97, 112, 68, 105, 115, 116, 97, 110, 99, 101, - 32, 61, 32, 43, 95, 44, 32, 122, 111, 111, 109, 41, 32, 58, 32, 116, 97, 112, 68, 105, 115, 116, 97, - 110, 99, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 114, 101, 116, 117, 114, 110, 32, 122, 111, 111, 109, 59, 10, 32, 32, 32, 32, 125, 10, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 65, 100, 100, 101, 114, 32, 61, 32, 65, 100, 100, 101, - 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 68, 101, 108, 97, 117, 110, 97, 121, - 32, 61, 32, 68, 101, 108, 97, 117, 110, 97, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 70, 111, 114, 109, 97, 116, 83, 112, 101, 99, 105, 102, 105, 101, 114, 32, 61, 32, 70, 111, 114, - 109, 97, 116, 83, 112, 101, 99, 105, 102, 105, 101, 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 73, 110, 116, 101, 114, 110, 77, 97, 112, 32, 61, 32, 73, 110, 116, 101, 114, 110, 77, 97, - 112, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 73, 110, 116, 101, 114, 110, 83, 101, - 116, 32, 61, 32, 73, 110, 116, 101, 114, 110, 83, 101, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 86, 111, 114, 111, 110, 111, 105, 32, 61, 32, 86, 111, 114, 111, 110, 111, 105, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 97, 99, 116, 105, 118, 101, 32, 61, 32, 97, 99, - 116, 105, 118, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 97, 114, 99, 32, 61, - 32, 97, 114, 99, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 97, 114, 101, 97, 32, - 61, 32, 97, 114, 101, 97, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 97, 114, 101, - 97, 82, 97, 100, 105, 97, 108, 32, 61, 32, 97, 114, 101, 97, 82, 97, 100, 105, 97, 108, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 97, 115, 99, 101, 110, 100, 105, 110, 103, 32, 61, 32, - 97, 115, 99, 101, 110, 100, 105, 110, 103, 36, 51, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 97, 117, 116, 111, 84, 121, 112, 101, 32, 61, 32, 97, 117, 116, 111, 84, 121, 112, 101, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 97, 120, 105, 115, 66, 111, 116, 116, 111, 109, 32, - 61, 32, 97, 120, 105, 115, 66, 111, 116, 116, 111, 109, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 97, 120, 105, 115, 76, 101, 102, 116, 32, 61, 32, 97, 120, 105, 115, 76, 101, 102, 116, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 97, 120, 105, 115, 82, 105, 103, 104, 116, 32, - 61, 32, 97, 120, 105, 115, 82, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 97, 120, 105, 115, 84, 111, 112, 32, 61, 32, 97, 120, 105, 115, 84, 111, 112, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 98, 105, 110, 32, 61, 32, 98, 105, 110, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 98, 105, 115, 101, 99, 116, 32, 61, 32, 98, 105, 115, 101, - 99, 116, 82, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 98, 105, - 115, 101, 99, 116, 67, 101, 110, 116, 101, 114, 32, 61, 32, 98, 105, 115, 101, 99, 116, 67, 101, 110, 116, - 101, 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 98, 105, 115, 101, 99, 116, 76, - 101, 102, 116, 32, 61, 32, 98, 105, 115, 101, 99, 116, 76, 101, 102, 116, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 98, 105, 115, 101, 99, 116, 82, 105, 103, 104, 116, 32, 61, 32, 98, 105, - 115, 101, 99, 116, 82, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 98, 105, 115, 101, 99, 116, 111, 114, 32, 61, 32, 98, 105, 115, 101, 99, 116, 111, 114, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 98, 108, 111, 98, 32, 61, 32, 98, 108, 111, 98, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 98, 114, 117, 115, 104, 32, 61, 32, 98, 114, 117, - 115, 104, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 98, 114, 117, 115, 104, 83, 101, - 108, 101, 99, 116, 105, 111, 110, 32, 61, 32, 98, 114, 117, 115, 104, 83, 101, 108, 101, 99, 116, 105, 111, - 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 98, 114, 117, 115, 104, 88, 32, 61, - 32, 98, 114, 117, 115, 104, 88, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 98, 114, - 117, 115, 104, 89, 32, 61, 32, 98, 114, 117, 115, 104, 89, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 98, 117, 102, 102, 101, 114, 32, 61, 32, 98, 117, 102, 102, 101, 114, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 104, 111, 114, 100, 32, 61, 32, 99, 104, 111, 114, 100, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 104, 111, 114, 100, 68, 105, 114, 101, - 99, 116, 101, 100, 32, 61, 32, 99, 104, 111, 114, 100, 68, 105, 114, 101, 99, 116, 101, 100, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 104, 111, 114, 100, 84, 114, 97, 110, 115, 112, 111, - 115, 101, 32, 61, 32, 99, 104, 111, 114, 100, 84, 114, 97, 110, 115, 112, 111, 115, 101, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 108, 117, 115, 116, 101, 114, 32, 61, 32, 99, 108, 117, - 115, 116, 101, 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 111, 108, 111, 114, - 32, 61, 32, 99, 111, 108, 111, 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, - 111, 110, 116, 111, 117, 114, 68, 101, 110, 115, 105, 116, 121, 32, 61, 32, 100, 101, 110, 115, 105, 116, 121, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 111, 110, 116, 111, 117, 114, 115, 32, - 61, 32, 99, 111, 110, 116, 111, 117, 114, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 99, 111, 117, 110, 116, 32, 61, 32, 99, 111, 117, 110, 116, 36, 49, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 99, 114, 101, 97, 116, 101, 32, 61, 32, 99, 114, 101, 97, 116, 101, 36, - 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 114, 101, 97, 116, 111, 114, 32, - 61, 32, 99, 114, 101, 97, 116, 111, 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 99, 114, 111, 115, 115, 32, 61, 32, 99, 114, 111, 115, 115, 36, 50, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 99, 115, 118, 32, 61, 32, 99, 115, 118, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 99, 115, 118, 70, 111, 114, 109, 97, 116, 32, 61, 32, 99, 115, 118, 70, 111, - 114, 109, 97, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 115, 118, 70, 111, - 114, 109, 97, 116, 66, 111, 100, 121, 32, 61, 32, 99, 115, 118, 70, 111, 114, 109, 97, 116, 66, 111, 100, - 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 115, 118, 70, 111, 114, 109, 97, - 116, 82, 111, 119, 32, 61, 32, 99, 115, 118, 70, 111, 114, 109, 97, 116, 82, 111, 119, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 115, 118, 70, 111, 114, 109, 97, 116, 82, 111, 119, 115, - 32, 61, 32, 99, 115, 118, 70, 111, 114, 109, 97, 116, 82, 111, 119, 115, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 99, 115, 118, 70, 111, 114, 109, 97, 116, 86, 97, 108, 117, 101, 32, 61, - 32, 99, 115, 118, 70, 111, 114, 109, 97, 116, 86, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 99, 115, 118, 80, 97, 114, 115, 101, 32, 61, 32, 99, 115, 118, 80, 97, 114, - 115, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 115, 118, 80, 97, 114, 115, - 101, 82, 111, 119, 115, 32, 61, 32, 99, 115, 118, 80, 97, 114, 115, 101, 82, 111, 119, 115, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 98, 101, 104, 101, 108, 105, 120, 32, 61, 32, - 99, 117, 98, 101, 104, 101, 108, 105, 120, 36, 51, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 99, 117, 109, 115, 117, 109, 32, 61, 32, 99, 117, 109, 115, 117, 109, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 66, 97, 115, 105, 115, 32, 61, 32, 98, 97, - 115, 105, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 66, - 97, 115, 105, 115, 67, 108, 111, 115, 101, 100, 32, 61, 32, 98, 97, 115, 105, 115, 67, 108, 111, 115, 101, - 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 66, 97, 115, - 105, 115, 79, 112, 101, 110, 32, 61, 32, 98, 97, 115, 105, 115, 79, 112, 101, 110, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 66, 117, 109, 112, 88, 32, 61, 32, 98, - 117, 109, 112, 88, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, - 66, 117, 109, 112, 89, 32, 61, 32, 98, 117, 109, 112, 89, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 99, 117, 114, 118, 101, 66, 117, 110, 100, 108, 101, 32, 61, 32, 98, 117, 110, 100, 108, - 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 67, 97, 114, - 100, 105, 110, 97, 108, 32, 61, 32, 99, 97, 114, 100, 105, 110, 97, 108, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 67, 97, 114, 100, 105, 110, 97, 108, 67, 108, 111, - 115, 101, 100, 32, 61, 32, 99, 97, 114, 100, 105, 110, 97, 108, 67, 108, 111, 115, 101, 100, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 67, 97, 114, 100, 105, 110, 97, - 108, 79, 112, 101, 110, 32, 61, 32, 99, 97, 114, 100, 105, 110, 97, 108, 79, 112, 101, 110, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 67, 97, 116, 109, 117, 108, 108, - 82, 111, 109, 32, 61, 32, 99, 97, 116, 109, 117, 108, 108, 82, 111, 109, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 67, 97, 116, 109, 117, 108, 108, 82, 111, 109, 67, - 108, 111, 115, 101, 100, 32, 61, 32, 99, 97, 116, 109, 117, 108, 108, 82, 111, 109, 67, 108, 111, 115, 101, - 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 67, 97, 116, - 109, 117, 108, 108, 82, 111, 109, 79, 112, 101, 110, 32, 61, 32, 99, 97, 116, 109, 117, 108, 108, 82, 111, - 109, 79, 112, 101, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, - 101, 76, 105, 110, 101, 97, 114, 32, 61, 32, 99, 117, 114, 118, 101, 76, 105, 110, 101, 97, 114, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 76, 105, 110, 101, 97, 114, - 67, 108, 111, 115, 101, 100, 32, 61, 32, 108, 105, 110, 101, 97, 114, 67, 108, 111, 115, 101, 100, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 77, 111, 110, 111, 116, 111, - 110, 101, 88, 32, 61, 32, 109, 111, 110, 111, 116, 111, 110, 101, 88, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 77, 111, 110, 111, 116, 111, 110, 101, 89, 32, 61, 32, - 109, 111, 110, 111, 116, 111, 110, 101, 89, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 99, 117, 114, 118, 101, 78, 97, 116, 117, 114, 97, 108, 32, 61, 32, 110, 97, 116, 117, 114, 97, 108, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 83, 116, 101, 112, 32, - 61, 32, 115, 116, 101, 112, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, - 118, 101, 83, 116, 101, 112, 65, 102, 116, 101, 114, 32, 61, 32, 115, 116, 101, 112, 65, 102, 116, 101, 114, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 99, 117, 114, 118, 101, 83, 116, 101, 112, - 66, 101, 102, 111, 114, 101, 32, 61, 32, 115, 116, 101, 112, 66, 101, 102, 111, 114, 101, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 100, 101, 115, 99, 101, 110, 100, 105, 110, 103, 32, 61, 32, - 100, 101, 115, 99, 101, 110, 100, 105, 110, 103, 36, 50, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 100, 101, 118, 105, 97, 116, 105, 111, 110, 32, 61, 32, 100, 101, 118, 105, 97, 116, 105, 111, - 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 100, 105, 102, 102, 101, 114, 101, 110, - 99, 101, 32, 61, 32, 100, 105, 102, 102, 101, 114, 101, 110, 99, 101, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 100, 105, 115, 106, 111, 105, 110, 116, 32, 61, 32, 100, 105, 115, 106, 111, 105, - 110, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 100, 105, 115, 112, 97, 116, 99, - 104, 32, 61, 32, 100, 105, 115, 112, 97, 116, 99, 104, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 100, 114, 97, 103, 32, 61, 32, 100, 114, 97, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 100, 114, 97, 103, 68, 105, 115, 97, 98, 108, 101, 32, 61, 32, 100, 114, 97, 103, - 68, 105, 115, 97, 98, 108, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 100, 114, - 97, 103, 69, 110, 97, 98, 108, 101, 32, 61, 32, 121, 101, 115, 100, 114, 97, 103, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 100, 115, 118, 32, 61, 32, 100, 115, 118, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 100, 115, 118, 70, 111, 114, 109, 97, 116, 32, 61, 32, 100, 115, - 118, 70, 111, 114, 109, 97, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, - 115, 101, 66, 97, 99, 107, 32, 61, 32, 98, 97, 99, 107, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 66, 97, 99, 107, 73, 110, 32, 61, 32, 98, - 97, 99, 107, 73, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, - 66, 97, 99, 107, 73, 110, 79, 117, 116, 32, 61, 32, 98, 97, 99, 107, 73, 110, 79, 117, 116, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 66, 97, 99, 107, 79, 117, 116, - 32, 61, 32, 98, 97, 99, 107, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 101, 97, 115, 101, 66, 111, 117, 110, 99, 101, 32, 61, 32, 98, 111, 117, 110, 99, 101, 79, 117, 116, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 66, 111, 117, 110, 99, - 101, 73, 110, 32, 61, 32, 98, 111, 117, 110, 99, 101, 73, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 101, 97, 115, 101, 66, 111, 117, 110, 99, 101, 73, 110, 79, 117, 116, 32, 61, 32, - 98, 111, 117, 110, 99, 101, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 101, 97, 115, 101, 66, 111, 117, 110, 99, 101, 79, 117, 116, 32, 61, 32, 98, 111, 117, 110, 99, - 101, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 67, - 105, 114, 99, 108, 101, 32, 61, 32, 99, 105, 114, 99, 108, 101, 73, 110, 79, 117, 116, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 67, 105, 114, 99, 108, 101, 73, 110, 32, - 61, 32, 99, 105, 114, 99, 108, 101, 73, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 101, 97, 115, 101, 67, 105, 114, 99, 108, 101, 73, 110, 79, 117, 116, 32, 61, 32, 99, 105, 114, 99, - 108, 101, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, - 115, 101, 67, 105, 114, 99, 108, 101, 79, 117, 116, 32, 61, 32, 99, 105, 114, 99, 108, 101, 79, 117, 116, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 67, 117, 98, 105, 99, - 32, 61, 32, 99, 117, 98, 105, 99, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 101, 97, 115, 101, 67, 117, 98, 105, 99, 73, 110, 32, 61, 32, 99, 117, 98, 105, 99, - 73, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 67, 117, 98, - 105, 99, 73, 110, 79, 117, 116, 32, 61, 32, 99, 117, 98, 105, 99, 73, 110, 79, 117, 116, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 67, 117, 98, 105, 99, 79, 117, 116, - 32, 61, 32, 99, 117, 98, 105, 99, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 101, 97, 115, 101, 69, 108, 97, 115, 116, 105, 99, 32, 61, 32, 101, 108, 97, 115, 116, 105, 99, - 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 69, 108, - 97, 115, 116, 105, 99, 73, 110, 32, 61, 32, 101, 108, 97, 115, 116, 105, 99, 73, 110, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 69, 108, 97, 115, 116, 105, 99, 73, 110, - 79, 117, 116, 32, 61, 32, 101, 108, 97, 115, 116, 105, 99, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 69, 108, 97, 115, 116, 105, 99, 79, 117, 116, - 32, 61, 32, 101, 108, 97, 115, 116, 105, 99, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 101, 97, 115, 101, 69, 120, 112, 32, 61, 32, 101, 120, 112, 73, 110, 79, 117, 116, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 69, 120, 112, 73, 110, 32, - 61, 32, 101, 120, 112, 73, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, - 115, 101, 69, 120, 112, 73, 110, 79, 117, 116, 32, 61, 32, 101, 120, 112, 73, 110, 79, 117, 116, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 69, 120, 112, 79, 117, 116, 32, - 61, 32, 101, 120, 112, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, - 97, 115, 101, 76, 105, 110, 101, 97, 114, 32, 61, 32, 108, 105, 110, 101, 97, 114, 36, 49, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 80, 111, 108, 121, 32, 61, 32, 112, - 111, 108, 121, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, - 97, 115, 101, 80, 111, 108, 121, 73, 110, 32, 61, 32, 112, 111, 108, 121, 73, 110, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 80, 111, 108, 121, 73, 110, 79, 117, 116, 32, - 61, 32, 112, 111, 108, 121, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 101, 97, 115, 101, 80, 111, 108, 121, 79, 117, 116, 32, 61, 32, 112, 111, 108, 121, 79, 117, 116, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 81, 117, 97, 100, 32, - 61, 32, 113, 117, 97, 100, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 101, 97, 115, 101, 81, 117, 97, 100, 73, 110, 32, 61, 32, 113, 117, 97, 100, 73, 110, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 81, 117, 97, 100, 73, 110, 79, - 117, 116, 32, 61, 32, 113, 117, 97, 100, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 101, 97, 115, 101, 81, 117, 97, 100, 79, 117, 116, 32, 61, 32, 113, 117, 97, 100, - 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 83, 105, - 110, 32, 61, 32, 115, 105, 110, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 101, 97, 115, 101, 83, 105, 110, 73, 110, 32, 61, 32, 115, 105, 110, 73, 110, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 97, 115, 101, 83, 105, 110, 73, 110, 79, 117, 116, - 32, 61, 32, 115, 105, 110, 73, 110, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 101, 97, 115, 101, 83, 105, 110, 79, 117, 116, 32, 61, 32, 115, 105, 110, 79, 117, 116, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 118, 101, 114, 121, 32, 61, 32, 101, 118, 101, - 114, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 101, 120, 116, 101, 110, 116, 32, - 61, 32, 101, 120, 116, 101, 110, 116, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 102, 99, 117, 109, 115, 117, 109, 32, 61, 32, 102, 99, 117, 109, 115, 117, 109, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 105, 108, 116, 101, 114, 32, 61, 32, 102, 105, 108, 116, 101, - 114, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, 99, 101, 67, - 101, 110, 116, 101, 114, 32, 61, 32, 99, 101, 110, 116, 101, 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 102, 111, 114, 99, 101, 67, 111, 108, 108, 105, 100, 101, 32, 61, 32, 99, 111, 108, - 108, 105, 100, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, 99, 101, - 76, 105, 110, 107, 32, 61, 32, 108, 105, 110, 107, 36, 50, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 102, 111, 114, 99, 101, 77, 97, 110, 121, 66, 111, 100, 121, 32, 61, 32, 109, 97, 110, - 121, 66, 111, 100, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, 99, - 101, 82, 97, 100, 105, 97, 108, 32, 61, 32, 114, 97, 100, 105, 97, 108, 36, 49, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, 99, 101, 83, 105, 109, 117, 108, 97, 116, 105, 111, - 110, 32, 61, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 102, 111, 114, 99, 101, 88, 32, 61, 32, 120, 36, 49, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, 99, 101, 89, 32, 61, 32, 121, 36, 49, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, 109, 97, 116, 68, 101, 102, 97, 117, 108, - 116, 76, 111, 99, 97, 108, 101, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 76, 111, 99, 97, 108, 101, - 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, 109, 97, 116, 76, - 111, 99, 97, 108, 101, 32, 61, 32, 102, 111, 114, 109, 97, 116, 76, 111, 99, 97, 108, 101, 36, 49, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 111, 114, 109, 97, 116, 83, 112, 101, 99, - 105, 102, 105, 101, 114, 32, 61, 32, 102, 111, 114, 109, 97, 116, 83, 112, 101, 99, 105, 102, 105, 101, 114, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 102, 115, 117, 109, 32, 61, 32, 102, 115, - 117, 109, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 65, 108, 98, 101, - 114, 115, 32, 61, 32, 97, 108, 98, 101, 114, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 103, 101, 111, 65, 108, 98, 101, 114, 115, 85, 115, 97, 32, 61, 32, 97, 108, 98, 101, 114, 115, - 85, 115, 97, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 65, 114, 101, - 97, 32, 61, 32, 97, 114, 101, 97, 36, 50, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 103, 101, 111, 65, 122, 105, 109, 117, 116, 104, 97, 108, 69, 113, 117, 97, 108, 65, 114, 101, 97, 32, - 61, 32, 97, 122, 105, 109, 117, 116, 104, 97, 108, 69, 113, 117, 97, 108, 65, 114, 101, 97, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 65, 122, 105, 109, 117, 116, 104, 97, 108, - 69, 113, 117, 97, 108, 65, 114, 101, 97, 82, 97, 119, 32, 61, 32, 97, 122, 105, 109, 117, 116, 104, 97, - 108, 69, 113, 117, 97, 108, 65, 114, 101, 97, 82, 97, 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 103, 101, 111, 65, 122, 105, 109, 117, 116, 104, 97, 108, 69, 113, 117, 105, 100, 105, 115, - 116, 97, 110, 116, 32, 61, 32, 97, 122, 105, 109, 117, 116, 104, 97, 108, 69, 113, 117, 105, 100, 105, 115, - 116, 97, 110, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 65, 122, - 105, 109, 117, 116, 104, 97, 108, 69, 113, 117, 105, 100, 105, 115, 116, 97, 110, 116, 82, 97, 119, 32, 61, - 32, 97, 122, 105, 109, 117, 116, 104, 97, 108, 69, 113, 117, 105, 100, 105, 115, 116, 97, 110, 116, 82, 97, - 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 66, 111, 117, 110, 100, - 115, 32, 61, 32, 98, 111, 117, 110, 100, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 103, 101, 111, 67, 101, 110, 116, 114, 111, 105, 100, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, - 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 67, 105, 114, 99, - 108, 101, 32, 61, 32, 99, 105, 114, 99, 108, 101, 36, 50, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 103, 101, 111, 67, 108, 105, 112, 65, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, - 32, 61, 32, 99, 108, 105, 112, 65, 110, 116, 105, 109, 101, 114, 105, 100, 105, 97, 110, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 67, 108, 105, 112, 67, 105, 114, 99, 108, 101, - 32, 61, 32, 99, 108, 105, 112, 67, 105, 114, 99, 108, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 103, 101, 111, 67, 108, 105, 112, 69, 120, 116, 101, 110, 116, 32, 61, 32, 101, 120, 116, - 101, 110, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 67, 108, 105, - 112, 82, 101, 99, 116, 97, 110, 103, 108, 101, 32, 61, 32, 99, 108, 105, 112, 82, 101, 99, 116, 97, 110, - 103, 108, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 67, 111, 110, - 105, 99, 67, 111, 110, 102, 111, 114, 109, 97, 108, 32, 61, 32, 99, 111, 110, 105, 99, 67, 111, 110, 102, - 111, 114, 109, 97, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 67, - 111, 110, 105, 99, 67, 111, 110, 102, 111, 114, 109, 97, 108, 82, 97, 119, 32, 61, 32, 99, 111, 110, 105, - 99, 67, 111, 110, 102, 111, 114, 109, 97, 108, 82, 97, 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 103, 101, 111, 67, 111, 110, 105, 99, 69, 113, 117, 97, 108, 65, 114, 101, 97, 32, 61, - 32, 99, 111, 110, 105, 99, 69, 113, 117, 97, 108, 65, 114, 101, 97, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 103, 101, 111, 67, 111, 110, 105, 99, 69, 113, 117, 97, 108, 65, 114, 101, 97, - 82, 97, 119, 32, 61, 32, 99, 111, 110, 105, 99, 69, 113, 117, 97, 108, 65, 114, 101, 97, 82, 97, 119, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 67, 111, 110, 105, 99, 69, - 113, 117, 105, 100, 105, 115, 116, 97, 110, 116, 32, 61, 32, 99, 111, 110, 105, 99, 69, 113, 117, 105, 100, - 105, 115, 116, 97, 110, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, - 67, 111, 110, 105, 99, 69, 113, 117, 105, 100, 105, 115, 116, 97, 110, 116, 82, 97, 119, 32, 61, 32, 99, - 111, 110, 105, 99, 69, 113, 117, 105, 100, 105, 115, 116, 97, 110, 116, 82, 97, 119, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 67, 111, 110, 116, 97, 105, 110, 115, 32, 61, 32, - 99, 111, 110, 116, 97, 105, 110, 115, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 103, 101, 111, 68, 105, 115, 116, 97, 110, 99, 101, 32, 61, 32, 100, 105, 115, 116, 97, 110, 99, 101, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 69, 113, 117, 97, 108, 69, - 97, 114, 116, 104, 32, 61, 32, 101, 113, 117, 97, 108, 69, 97, 114, 116, 104, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 69, 113, 117, 97, 108, 69, 97, 114, 116, 104, 82, 97, - 119, 32, 61, 32, 101, 113, 117, 97, 108, 69, 97, 114, 116, 104, 82, 97, 119, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 69, 113, 117, 105, 114, 101, 99, 116, 97, 110, 103, 117, - 108, 97, 114, 32, 61, 32, 101, 113, 117, 105, 114, 101, 99, 116, 97, 110, 103, 117, 108, 97, 114, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 69, 113, 117, 105, 114, 101, 99, 116, - 97, 110, 103, 117, 108, 97, 114, 82, 97, 119, 32, 61, 32, 101, 113, 117, 105, 114, 101, 99, 116, 97, 110, - 103, 117, 108, 97, 114, 82, 97, 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, - 101, 111, 71, 110, 111, 109, 111, 110, 105, 99, 32, 61, 32, 103, 110, 111, 109, 111, 110, 105, 99, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 71, 110, 111, 109, 111, 110, 105, 99, - 82, 97, 119, 32, 61, 32, 103, 110, 111, 109, 111, 110, 105, 99, 82, 97, 119, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 71, 114, 97, 116, 105, 99, 117, 108, 101, 32, 61, 32, - 103, 114, 97, 116, 105, 99, 117, 108, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 103, 101, 111, 71, 114, 97, 116, 105, 99, 117, 108, 101, 49, 48, 32, 61, 32, 103, 114, 97, 116, 105, 99, - 117, 108, 101, 49, 48, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 73, - 100, 101, 110, 116, 105, 116, 121, 32, 61, 32, 105, 100, 101, 110, 116, 105, 116, 121, 36, 52, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 73, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 76, 101, 110, 103, 116, 104, 32, 61, 32, 108, 101, 110, 103, - 116, 104, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 77, 101, - 114, 99, 97, 116, 111, 114, 32, 61, 32, 109, 101, 114, 99, 97, 116, 111, 114, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 77, 101, 114, 99, 97, 116, 111, 114, 82, 97, 119, 32, - 61, 32, 109, 101, 114, 99, 97, 116, 111, 114, 82, 97, 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 103, 101, 111, 78, 97, 116, 117, 114, 97, 108, 69, 97, 114, 116, 104, 49, 32, 61, 32, - 110, 97, 116, 117, 114, 97, 108, 69, 97, 114, 116, 104, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 103, 101, 111, 78, 97, 116, 117, 114, 97, 108, 69, 97, 114, 116, 104, 49, 82, 97, 119, - 32, 61, 32, 110, 97, 116, 117, 114, 97, 108, 69, 97, 114, 116, 104, 49, 82, 97, 119, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 79, 114, 116, 104, 111, 103, 114, 97, 112, 104, - 105, 99, 32, 61, 32, 111, 114, 116, 104, 111, 103, 114, 97, 112, 104, 105, 99, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 79, 114, 116, 104, 111, 103, 114, 97, 112, 104, 105, 99, - 82, 97, 119, 32, 61, 32, 111, 114, 116, 104, 111, 103, 114, 97, 112, 104, 105, 99, 82, 97, 119, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 80, 97, 116, 104, 32, 61, 32, 105, - 110, 100, 101, 120, 36, 50, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, - 80, 114, 111, 106, 101, 99, 116, 105, 111, 110, 32, 61, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, 110, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 80, 114, 111, 106, 101, 99, - 116, 105, 111, 110, 77, 117, 116, 97, 116, 111, 114, 32, 61, 32, 112, 114, 111, 106, 101, 99, 116, 105, 111, - 110, 77, 117, 116, 97, 116, 111, 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, - 101, 111, 82, 111, 116, 97, 116, 105, 111, 110, 32, 61, 32, 114, 111, 116, 97, 116, 105, 111, 110, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 83, 116, 101, 114, 101, 111, 103, 114, - 97, 112, 104, 105, 99, 32, 61, 32, 115, 116, 101, 114, 101, 111, 103, 114, 97, 112, 104, 105, 99, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 83, 116, 101, 114, 101, 111, 103, 114, - 97, 112, 104, 105, 99, 82, 97, 119, 32, 61, 32, 115, 116, 101, 114, 101, 111, 103, 114, 97, 112, 104, 105, - 99, 82, 97, 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 83, 116, - 114, 101, 97, 109, 32, 61, 32, 103, 101, 111, 83, 116, 114, 101, 97, 109, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 84, 114, 97, 110, 115, 102, 111, 114, 109, 32, 61, 32, 116, - 114, 97, 110, 115, 102, 111, 114, 109, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 103, 101, 111, 84, 114, 97, 110, 115, 118, 101, 114, 115, 101, 77, 101, 114, 99, 97, 116, 111, 114, 32, - 61, 32, 116, 114, 97, 110, 115, 118, 101, 114, 115, 101, 77, 101, 114, 99, 97, 116, 111, 114, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 101, 111, 84, 114, 97, 110, 115, 118, 101, 114, 115, - 101, 77, 101, 114, 99, 97, 116, 111, 114, 82, 97, 119, 32, 61, 32, 116, 114, 97, 110, 115, 118, 101, 114, - 115, 101, 77, 101, 114, 99, 97, 116, 111, 114, 82, 97, 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 103, 114, 97, 121, 32, 61, 32, 103, 114, 97, 121, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 103, 114, 101, 97, 116, 101, 115, 116, 32, 61, 32, 103, 114, 101, 97, 116, 101, - 115, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 114, 101, 97, 116, 101, 115, - 116, 73, 110, 100, 101, 120, 32, 61, 32, 103, 114, 101, 97, 116, 101, 115, 116, 73, 110, 100, 101, 120, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 114, 111, 117, 112, 32, 61, 32, 103, 114, - 111, 117, 112, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 103, 114, 111, 117, 112, 83, - 111, 114, 116, 32, 61, 32, 103, 114, 111, 117, 112, 83, 111, 114, 116, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 103, 114, 111, 117, 112, 115, 32, 61, 32, 103, 114, 111, 117, 112, 115, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 104, 99, 108, 32, 61, 32, 104, 99, 108, 36, 50, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 104, 105, 101, 114, 97, 114, 99, 104, 121, - 32, 61, 32, 104, 105, 101, 114, 97, 114, 99, 104, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 104, 105, 115, 116, 111, 103, 114, 97, 109, 32, 61, 32, 98, 105, 110, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 104, 115, 108, 32, 61, 32, 104, 115, 108, 36, 50, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 104, 116, 109, 108, 32, 61, 32, 104, 116, 109, 108, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 109, 97, 103, 101, 32, 61, 32, 105, 109, - 97, 103, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 100, 101, 120, 32, - 61, 32, 105, 110, 100, 101, 120, 36, 52, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 105, 110, 100, 101, 120, 101, 115, 32, 61, 32, 105, 110, 100, 101, 120, 101, 115, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 32, 61, 32, 105, - 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 36, 50, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 65, 114, 114, 97, 121, 32, 61, 32, 97, - 114, 114, 97, 121, 36, 51, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 66, 97, 115, 105, 115, 32, 61, 32, 98, 97, 115, 105, 115, 36, 50, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 66, 97, 115, 105, 115, 67, 108, 111, 115, 101, 100, 32, 61, 32, 98, 97, 115, 105, 115, 67, 108, - 111, 115, 101, 100, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 66, 108, 117, 101, 115, 32, 61, 32, 66, 108, 117, 101, 115, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, - 66, 114, 66, 71, 32, 61, 32, 66, 114, 66, 71, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 66, 117, 71, 110, 32, 61, 32, 66, 117, 71, - 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 66, 117, 80, 117, 32, 61, 32, 66, 117, 80, 117, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 67, 105, 118, 105, 100, 105, 115, - 32, 61, 32, 99, 105, 118, 105, 100, 105, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 67, 111, 111, 108, 32, 61, 32, 99, 111, 111, 108, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 67, 117, 98, 101, 104, 101, 108, 105, 120, 32, 61, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, - 36, 50, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, - 108, 97, 116, 101, 67, 117, 98, 101, 104, 101, 108, 105, 120, 68, 101, 102, 97, 117, 108, 116, 32, 61, 32, - 99, 117, 98, 101, 104, 101, 108, 105, 120, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 67, 117, 98, 101, 104, 101, 108, 105, 120, 76, 111, 110, - 103, 32, 61, 32, 99, 117, 98, 101, 104, 101, 108, 105, 120, 76, 111, 110, 103, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 68, 97, 116, 101, - 32, 61, 32, 100, 97, 116, 101, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 68, 105, 115, 99, 114, 101, 116, 101, 32, 61, 32, 100, - 105, 115, 99, 114, 101, 116, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, - 116, 101, 114, 112, 111, 108, 97, 116, 101, 71, 110, 66, 117, 32, 61, 32, 71, 110, 66, 117, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 71, - 114, 101, 101, 110, 115, 32, 61, 32, 71, 114, 101, 101, 110, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 71, 114, 101, 121, 115, 32, 61, - 32, 71, 114, 101, 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 72, 99, 108, 32, 61, 32, 104, 99, 108, 36, 49, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 72, 99, - 108, 76, 111, 110, 103, 32, 61, 32, 104, 99, 108, 76, 111, 110, 103, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 72, 115, 108, 32, 61, 32, - 104, 115, 108, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, - 114, 112, 111, 108, 97, 116, 101, 72, 115, 108, 76, 111, 110, 103, 32, 61, 32, 104, 115, 108, 76, 111, 110, - 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 72, 117, 101, 32, 61, 32, 104, 117, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 73, 110, 102, 101, 114, 110, 111, 32, 61, - 32, 105, 110, 102, 101, 114, 110, 111, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, - 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 76, 97, 98, 32, 61, 32, 108, 97, 98, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 77, 97, - 103, 109, 97, 32, 61, 32, 109, 97, 103, 109, 97, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 78, 117, 109, 98, 101, 114, 32, 61, 32, 105, - 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 78, 117, 109, 98, 101, 114, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 78, 117, 109, 98, 101, - 114, 65, 114, 114, 97, 121, 32, 61, 32, 110, 117, 109, 98, 101, 114, 65, 114, 114, 97, 121, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 79, - 98, 106, 101, 99, 116, 32, 61, 32, 111, 98, 106, 101, 99, 116, 36, 49, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 79, 114, 82, 100, 32, - 61, 32, 79, 114, 82, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 79, 114, 97, 110, 103, 101, 115, 32, 61, 32, 79, 114, 97, 110, 103, - 101, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, - 108, 97, 116, 101, 80, 82, 71, 110, 32, 61, 32, 80, 82, 71, 110, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 80, 105, 89, 71, 32, 61, - 32, 80, 105, 89, 71, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, - 114, 112, 111, 108, 97, 116, 101, 80, 108, 97, 115, 109, 97, 32, 61, 32, 112, 108, 97, 115, 109, 97, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, - 101, 80, 117, 66, 117, 32, 61, 32, 80, 117, 66, 117, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 80, 117, 66, 117, 71, 110, 32, 61, 32, - 80, 117, 66, 117, 71, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 80, 117, 79, 114, 32, 61, 32, 80, 117, 79, 114, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 80, 117, - 82, 100, 32, 61, 32, 80, 117, 82, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 80, 117, 114, 112, 108, 101, 115, 32, 61, 32, 80, 117, - 114, 112, 108, 101, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, - 114, 112, 111, 108, 97, 116, 101, 82, 97, 105, 110, 98, 111, 119, 32, 61, 32, 114, 97, 105, 110, 98, 111, - 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 82, 100, 66, 117, 32, 61, 32, 82, 100, 66, 117, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, 100, 71, 121, 32, 61, 32, - 82, 100, 71, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 82, 100, 80, 117, 32, 61, 32, 82, 100, 80, 117, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, 100, 89, 108, - 66, 117, 32, 61, 32, 82, 100, 89, 108, 66, 117, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, 100, 89, 108, 71, 110, 32, 61, 32, 82, - 100, 89, 108, 71, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, - 114, 112, 111, 108, 97, 116, 101, 82, 101, 100, 115, 32, 61, 32, 82, 101, 100, 115, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, 103, 98, - 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, 103, 98, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, 103, 98, 66, - 97, 115, 105, 115, 32, 61, 32, 114, 103, 98, 66, 97, 115, 105, 115, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 82, 103, 98, 66, 97, 115, - 105, 115, 67, 108, 111, 115, 101, 100, 32, 61, 32, 114, 103, 98, 66, 97, 115, 105, 115, 67, 108, 111, 115, - 101, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, - 108, 97, 116, 101, 82, 111, 117, 110, 100, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, - 82, 111, 117, 110, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, - 114, 112, 111, 108, 97, 116, 101, 83, 105, 110, 101, 98, 111, 119, 32, 61, 32, 115, 105, 110, 101, 98, 111, - 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 83, 112, 101, 99, 116, 114, 97, 108, 32, 61, 32, 83, 112, 101, 99, 116, 114, 97, 108, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, - 101, 83, 116, 114, 105, 110, 103, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 83, 116, - 114, 105, 110, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, - 112, 111, 108, 97, 116, 101, 84, 114, 97, 110, 115, 102, 111, 114, 109, 67, 115, 115, 32, 61, 32, 105, 110, - 116, 101, 114, 112, 111, 108, 97, 116, 101, 84, 114, 97, 110, 115, 102, 111, 114, 109, 67, 115, 115, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, - 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 118, 103, 32, 61, 32, 105, 110, 116, 101, 114, 112, 111, 108, - 97, 116, 101, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 118, 103, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 84, 117, 114, 98, 111, 32, - 61, 32, 116, 117, 114, 98, 111, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, - 116, 101, 114, 112, 111, 108, 97, 116, 101, 86, 105, 114, 105, 100, 105, 115, 32, 61, 32, 118, 105, 114, 105, - 100, 105, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, - 111, 108, 97, 116, 101, 87, 97, 114, 109, 32, 61, 32, 119, 97, 114, 109, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 89, 108, 71, 110, 32, - 61, 32, 89, 108, 71, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 89, 108, 71, 110, 66, 117, 32, 61, 32, 89, 108, 71, 110, 66, 117, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, - 116, 101, 89, 108, 79, 114, 66, 114, 32, 61, 32, 89, 108, 79, 114, 66, 114, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 89, 108, 79, 114, - 82, 100, 32, 61, 32, 89, 108, 79, 114, 82, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 105, 110, 116, 101, 114, 112, 111, 108, 97, 116, 101, 90, 111, 111, 109, 32, 61, 32, 105, 110, 116, - 101, 114, 112, 111, 108, 97, 116, 101, 90, 111, 111, 109, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 105, 110, 116, 101, 114, 114, 117, 112, 116, 32, 61, 32, 105, 110, 116, 101, 114, 114, 117, 112, - 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 115, 101, 99, - 116, 105, 111, 110, 32, 61, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 110, 116, 101, 114, 118, 97, 108, 32, 61, 32, 105, 110, - 116, 101, 114, 118, 97, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 115, 111, - 70, 111, 114, 109, 97, 116, 32, 61, 32, 102, 111, 114, 109, 97, 116, 73, 115, 111, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 105, 115, 111, 80, 97, 114, 115, 101, 32, 61, 32, 112, 97, 114, - 115, 101, 73, 115, 111, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 106, 115, 111, 110, - 32, 61, 32, 106, 115, 111, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 108, 97, - 98, 32, 61, 32, 108, 97, 98, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 108, 99, 104, 32, 61, 32, 108, 99, 104, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 108, 101, 97, 115, 116, 32, 61, 32, 108, 101, 97, 115, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 108, 101, 97, 115, 116, 73, 110, 100, 101, 120, 32, 61, 32, 108, 101, 97, 115, 116, 73, - 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 108, 105, 110, 101, 32, - 61, 32, 108, 105, 110, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 108, 105, 110, - 101, 82, 97, 100, 105, 97, 108, 32, 61, 32, 108, 105, 110, 101, 82, 97, 100, 105, 97, 108, 36, 49, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 108, 105, 110, 107, 72, 111, 114, 105, 122, 111, - 110, 116, 97, 108, 32, 61, 32, 108, 105, 110, 107, 72, 111, 114, 105, 122, 111, 110, 116, 97, 108, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 108, 105, 110, 107, 82, 97, 100, 105, 97, 108, 32, - 61, 32, 108, 105, 110, 107, 82, 97, 100, 105, 97, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 108, 105, 110, 107, 86, 101, 114, 116, 105, 99, 97, 108, 32, 61, 32, 108, 105, 110, 107, 86, - 101, 114, 116, 105, 99, 97, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 108, 111, - 99, 97, 108, 32, 61, 32, 108, 111, 99, 97, 108, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 109, 97, 112, 32, 61, 32, 109, 97, 112, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 109, 97, 116, 99, 104, 101, 114, 32, 61, 32, 109, 97, 116, 99, 104, 101, 114, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 109, 97, 120, 32, 61, 32, 109, 97, 120, - 36, 51, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 109, 97, 120, 73, 110, 100, 101, - 120, 32, 61, 32, 109, 97, 120, 73, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 109, 101, 97, 110, 32, 61, 32, 109, 101, 97, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 109, 101, 100, 105, 97, 110, 32, 61, 32, 109, 101, 100, 105, 97, 110, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 109, 101, 114, 103, 101, 32, 61, 32, 109, 101, 114, 103, - 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 109, 105, 110, 32, 61, 32, 109, 105, - 110, 36, 50, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 109, 105, 110, 73, 110, 100, - 101, 120, 32, 61, 32, 109, 105, 110, 73, 110, 100, 101, 120, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 110, 97, 109, 101, 115, 112, 97, 99, 101, 32, 61, 32, 110, 97, 109, 101, 115, 112, 97, - 99, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 110, 97, 109, 101, 115, 112, 97, - 99, 101, 115, 32, 61, 32, 110, 97, 109, 101, 115, 112, 97, 99, 101, 115, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 110, 105, 99, 101, 32, 61, 32, 110, 105, 99, 101, 36, 49, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 110, 111, 119, 32, 61, 32, 110, 111, 119, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 97, 99, 107, 32, 61, 32, 105, 110, 100, 101, 120, - 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 97, 99, 107, 69, 110, 99, - 108, 111, 115, 101, 32, 61, 32, 101, 110, 99, 108, 111, 115, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 112, 97, 99, 107, 83, 105, 98, 108, 105, 110, 103, 115, 32, 61, 32, 115, 105, 98, - 108, 105, 110, 103, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 97, 105, 114, - 115, 32, 61, 32, 112, 97, 105, 114, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 112, 97, 114, 116, 105, 116, 105, 111, 110, 32, 61, 32, 112, 97, 114, 116, 105, 116, 105, 111, 110, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 97, 116, 104, 32, 61, 32, 112, 97, 116, 104, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 101, 114, 109, 117, 116, 101, 32, 61, - 32, 112, 101, 114, 109, 117, 116, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, - 105, 101, 32, 61, 32, 112, 105, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, - 105, 101, 99, 101, 119, 105, 115, 101, 32, 61, 32, 112, 105, 101, 99, 101, 119, 105, 115, 101, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 111, 105, 110, 116, 82, 97, 100, 105, 97, 108, 32, - 61, 32, 112, 111, 105, 110, 116, 82, 97, 100, 105, 97, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 112, 111, 105, 110, 116, 101, 114, 32, 61, 32, 112, 111, 105, 110, 116, 101, 114, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 111, 105, 110, 116, 101, 114, 115, 32, 61, 32, - 112, 111, 105, 110, 116, 101, 114, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, - 111, 108, 121, 103, 111, 110, 65, 114, 101, 97, 32, 61, 32, 97, 114, 101, 97, 36, 49, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 111, 108, 121, 103, 111, 110, 67, 101, 110, 116, 114, 111, - 105, 100, 32, 61, 32, 99, 101, 110, 116, 114, 111, 105, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 112, 111, 108, 121, 103, 111, 110, 67, 111, 110, 116, 97, 105, 110, 115, 32, 61, 32, 99, - 111, 110, 116, 97, 105, 110, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 111, - 108, 121, 103, 111, 110, 72, 117, 108, 108, 32, 61, 32, 104, 117, 108, 108, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 112, 111, 108, 121, 103, 111, 110, 76, 101, 110, 103, 116, 104, 32, 61, 32, - 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 114, 101, - 99, 105, 115, 105, 111, 110, 70, 105, 120, 101, 100, 32, 61, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, - 70, 105, 120, 101, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 114, 101, 99, - 105, 115, 105, 111, 110, 80, 114, 101, 102, 105, 120, 32, 61, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, - 80, 114, 101, 102, 105, 120, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 112, 114, 101, - 99, 105, 115, 105, 111, 110, 82, 111, 117, 110, 100, 32, 61, 32, 112, 114, 101, 99, 105, 115, 105, 111, 110, - 82, 111, 117, 110, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 113, 117, 97, 100, - 116, 114, 101, 101, 32, 61, 32, 113, 117, 97, 100, 116, 114, 101, 101, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 113, 117, 97, 110, 116, 105, 108, 101, 32, 61, 32, 113, 117, 97, 110, 116, 105, - 108, 101, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 113, 117, 97, 110, 116, - 105, 108, 101, 83, 111, 114, 116, 101, 100, 32, 61, 32, 113, 117, 97, 110, 116, 105, 108, 101, 83, 111, 114, - 116, 101, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 113, 117, 97, 110, 116, 105, - 122, 101, 32, 61, 32, 113, 117, 97, 110, 116, 105, 122, 101, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 113, 117, 105, 99, 107, 115, 101, 108, 101, 99, 116, 32, 61, 32, 113, 117, 105, - 99, 107, 115, 101, 108, 101, 99, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, - 97, 100, 105, 97, 108, 65, 114, 101, 97, 32, 61, 32, 97, 114, 101, 97, 82, 97, 100, 105, 97, 108, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 97, 100, 105, 97, 108, 76, 105, 110, 101, - 32, 61, 32, 108, 105, 110, 101, 82, 97, 100, 105, 97, 108, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 66, 97, 116, 101, 115, 32, 61, 32, 98, 97, 116, - 101, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 66, - 101, 114, 110, 111, 117, 108, 108, 105, 32, 61, 32, 98, 101, 114, 110, 111, 117, 108, 108, 105, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 66, 101, 116, 97, 32, 61, - 32, 98, 101, 116, 97, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, - 111, 109, 66, 105, 110, 111, 109, 105, 97, 108, 32, 61, 32, 98, 105, 110, 111, 109, 105, 97, 108, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 67, 97, 117, 99, 104, - 121, 32, 61, 32, 99, 97, 117, 99, 104, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 114, 97, 110, 100, 111, 109, 69, 120, 112, 111, 110, 101, 110, 116, 105, 97, 108, 32, 61, 32, 101, 120, - 112, 111, 110, 101, 110, 116, 105, 97, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 114, 97, 110, 100, 111, 109, 71, 97, 109, 109, 97, 32, 61, 32, 103, 97, 109, 109, 97, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 71, 101, 111, 109, 101, 116, 114, - 105, 99, 32, 61, 32, 103, 101, 111, 109, 101, 116, 114, 105, 99, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 73, 110, 116, 32, 61, 32, 105, 110, 116, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 73, 114, 119, 105, 110, 72, - 97, 108, 108, 32, 61, 32, 105, 114, 119, 105, 110, 72, 97, 108, 108, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 76, 99, 103, 32, 61, 32, 108, 99, 103, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 76, 111, 103, 78, 111, - 114, 109, 97, 108, 32, 61, 32, 108, 111, 103, 78, 111, 114, 109, 97, 108, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 76, 111, 103, 105, 115, 116, 105, 99, 32, 61, - 32, 108, 111, 103, 105, 115, 116, 105, 99, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 114, 97, 110, 100, 111, 109, 78, 111, 114, 109, 97, 108, 32, 61, 32, 110, 111, 114, 109, 97, 108, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 80, 97, 114, 101, 116, - 111, 32, 61, 32, 112, 97, 114, 101, 116, 111, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 114, 97, 110, 100, 111, 109, 80, 111, 105, 115, 115, 111, 110, 32, 61, 32, 112, 111, 105, 115, 115, 111, - 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 85, 110, - 105, 102, 111, 114, 109, 32, 61, 32, 117, 110, 105, 102, 111, 114, 109, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 114, 97, 110, 100, 111, 109, 87, 101, 105, 98, 117, 108, 108, 32, 61, 32, 119, - 101, 105, 98, 117, 108, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 97, 110, - 103, 101, 32, 61, 32, 115, 101, 113, 117, 101, 110, 99, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 114, 101, 100, 117, 99, 101, 32, 61, 32, 114, 101, 100, 117, 99, 101, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 101, 118, 101, 114, 115, 101, 32, 61, 32, 114, 101, 118, - 101, 114, 115, 101, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 103, 98, - 32, 61, 32, 114, 103, 98, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 105, 98, - 98, 111, 110, 32, 61, 32, 114, 105, 98, 98, 111, 110, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 114, 105, 98, 98, 111, 110, 65, 114, 114, 111, 119, 32, 61, 32, 114, 105, 98, 98, - 111, 110, 65, 114, 114, 111, 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 114, 111, - 108, 108, 117, 112, 32, 61, 32, 114, 111, 108, 108, 117, 112, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 114, 111, 108, 108, 117, 112, 115, 32, 61, 32, 114, 111, 108, 108, 117, 112, 115, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 66, 97, 110, 100, 32, 61, - 32, 98, 97, 110, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, - 101, 68, 105, 118, 101, 114, 103, 105, 110, 103, 32, 61, 32, 100, 105, 118, 101, 114, 103, 105, 110, 103, 36, - 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 68, 105, 118, - 101, 114, 103, 105, 110, 103, 76, 111, 103, 32, 61, 32, 100, 105, 118, 101, 114, 103, 105, 110, 103, 76, 111, - 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 68, 105, 118, - 101, 114, 103, 105, 110, 103, 80, 111, 119, 32, 61, 32, 100, 105, 118, 101, 114, 103, 105, 110, 103, 80, 111, - 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 68, 105, 118, - 101, 114, 103, 105, 110, 103, 83, 113, 114, 116, 32, 61, 32, 100, 105, 118, 101, 114, 103, 105, 110, 103, 83, - 113, 114, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 68, - 105, 118, 101, 114, 103, 105, 110, 103, 83, 121, 109, 108, 111, 103, 32, 61, 32, 100, 105, 118, 101, 114, 103, - 105, 110, 103, 83, 121, 109, 108, 111, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 115, 99, 97, 108, 101, 73, 100, 101, 110, 116, 105, 116, 121, 32, 61, 32, 105, 100, 101, 110, 116, 105, 116, - 121, 36, 50, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 73, - 109, 112, 108, 105, 99, 105, 116, 32, 61, 32, 105, 109, 112, 108, 105, 99, 105, 116, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 76, 105, 110, 101, 97, 114, 32, 61, 32, - 108, 105, 110, 101, 97, 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, - 108, 101, 76, 111, 103, 32, 61, 32, 108, 111, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 115, 99, 97, 108, 101, 79, 114, 100, 105, 110, 97, 108, 32, 61, 32, 111, 114, 100, 105, 110, 97, - 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 80, 111, 105, - 110, 116, 32, 61, 32, 112, 111, 105, 110, 116, 36, 52, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 115, 99, 97, 108, 101, 80, 111, 119, 32, 61, 32, 112, 111, 119, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 81, 117, 97, 110, 116, 105, 108, 101, 32, 61, - 32, 113, 117, 97, 110, 116, 105, 108, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 115, 99, 97, 108, 101, 81, 117, 97, 110, 116, 105, 122, 101, 32, 61, 32, 113, 117, 97, 110, 116, 105, 122, - 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 82, 97, 100, - 105, 97, 108, 32, 61, 32, 114, 97, 100, 105, 97, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 115, 99, 97, 108, 101, 83, 101, 113, 117, 101, 110, 116, 105, 97, 108, 32, 61, 32, 115, 101, - 113, 117, 101, 110, 116, 105, 97, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, - 99, 97, 108, 101, 83, 101, 113, 117, 101, 110, 116, 105, 97, 108, 76, 111, 103, 32, 61, 32, 115, 101, 113, - 117, 101, 110, 116, 105, 97, 108, 76, 111, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 115, 99, 97, 108, 101, 83, 101, 113, 117, 101, 110, 116, 105, 97, 108, 80, 111, 119, 32, 61, 32, 115, - 101, 113, 117, 101, 110, 116, 105, 97, 108, 80, 111, 119, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 115, 99, 97, 108, 101, 83, 101, 113, 117, 101, 110, 116, 105, 97, 108, 81, 117, 97, 110, 116, - 105, 108, 101, 32, 61, 32, 115, 101, 113, 117, 101, 110, 116, 105, 97, 108, 81, 117, 97, 110, 116, 105, 108, - 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 83, 101, 113, - 117, 101, 110, 116, 105, 97, 108, 83, 113, 114, 116, 32, 61, 32, 115, 101, 113, 117, 101, 110, 116, 105, 97, - 108, 83, 113, 114, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, - 101, 83, 101, 113, 117, 101, 110, 116, 105, 97, 108, 83, 121, 109, 108, 111, 103, 32, 61, 32, 115, 101, 113, - 117, 101, 110, 116, 105, 97, 108, 83, 121, 109, 108, 111, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 115, 99, 97, 108, 101, 83, 113, 114, 116, 32, 61, 32, 115, 113, 114, 116, 36, 49, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, 83, 121, 109, 108, 111, - 103, 32, 61, 32, 115, 121, 109, 108, 111, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 115, 99, 97, 108, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 32, 61, 32, 116, 104, 114, 101, 115, - 104, 111, 108, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 108, 101, - 84, 105, 109, 101, 32, 61, 32, 116, 105, 109, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 115, 99, 97, 108, 101, 85, 116, 99, 32, 61, 32, 117, 116, 99, 84, 105, 109, 101, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 97, 110, 32, 61, 32, 115, 99, 97, 110, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 65, 99, 99, 101, - 110, 116, 32, 61, 32, 65, 99, 99, 101, 110, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 115, 99, 104, 101, 109, 101, 66, 108, 117, 101, 115, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, - 53, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 66, 114, - 66, 71, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 113, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 66, 117, 71, 110, 32, 61, 32, 115, 99, 104, 101, 109, 101, - 36, 104, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 66, - 117, 80, 117, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 67, 97, 116, 101, 103, 111, 114, 121, 49, 48, 32, 61, - 32, 99, 97, 116, 101, 103, 111, 114, 121, 49, 48, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 115, 99, 104, 101, 109, 101, 68, 97, 114, 107, 50, 32, 61, 32, 68, 97, 114, 107, 50, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 71, 110, 66, 117, 32, - 61, 32, 115, 99, 104, 101, 109, 101, 36, 102, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 115, 99, 104, 101, 109, 101, 71, 114, 101, 101, 110, 115, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, - 52, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 71, 114, - 101, 121, 115, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 51, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 79, 114, 82, 100, 32, 61, 32, 115, 99, 104, 101, 109, - 101, 36, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, - 79, 114, 97, 110, 103, 101, 115, 32, 61, 32, 115, 99, 104, 101, 109, 101, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 80, 82, 71, 110, 32, 61, 32, 115, 99, 104, - 101, 109, 101, 36, 112, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, - 109, 101, 80, 97, 105, 114, 101, 100, 32, 61, 32, 80, 97, 105, 114, 101, 100, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 80, 97, 115, 116, 101, 108, 49, 32, 61, - 32, 80, 97, 115, 116, 101, 108, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, - 99, 104, 101, 109, 101, 80, 97, 115, 116, 101, 108, 50, 32, 61, 32, 80, 97, 115, 116, 101, 108, 50, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 80, 105, 89, 71, - 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 111, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 115, 99, 104, 101, 109, 101, 80, 117, 66, 117, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 99, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 80, 117, 66, - 117, 71, 110, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 80, 117, 79, 114, 32, 61, 32, 115, 99, 104, 101, 109, - 101, 36, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, - 80, 117, 82, 100, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 98, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 80, 117, 114, 112, 108, 101, 115, 32, 61, 32, 115, - 99, 104, 101, 109, 101, 36, 50, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, - 104, 101, 109, 101, 82, 100, 66, 117, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 109, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 82, 100, 71, 121, 32, 61, 32, - 115, 99, 104, 101, 109, 101, 36, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, - 99, 104, 101, 109, 101, 82, 100, 80, 117, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 97, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 82, 100, 89, 108, 66, 117, - 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 107, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 115, 99, 104, 101, 109, 101, 82, 100, 89, 108, 71, 110, 32, 61, 32, 115, 99, 104, 101, 109, 101, - 36, 106, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 82, - 101, 100, 115, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 83, 101, 116, 49, 32, 61, 32, 83, 101, 116, 49, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 83, 101, 116, 50, - 32, 61, 32, 83, 101, 116, 50, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, - 104, 101, 109, 101, 83, 101, 116, 51, 32, 61, 32, 83, 101, 116, 51, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 83, 112, 101, 99, 116, 114, 97, 108, 32, 61, 32, - 115, 99, 104, 101, 109, 101, 36, 105, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, - 99, 104, 101, 109, 101, 84, 97, 98, 108, 101, 97, 117, 49, 48, 32, 61, 32, 84, 97, 98, 108, 101, 97, - 117, 49, 48, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, - 89, 108, 71, 110, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 56, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 89, 108, 71, 110, 66, 117, 32, 61, 32, 115, 99, - 104, 101, 109, 101, 36, 57, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, - 101, 109, 101, 89, 108, 79, 114, 66, 114, 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 55, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 99, 104, 101, 109, 101, 89, 108, 79, 114, 82, 100, - 32, 61, 32, 115, 99, 104, 101, 109, 101, 36, 54, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 115, 101, 108, 101, 99, 116, 32, 61, 32, 115, 101, 108, 101, 99, 116, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 115, 101, 108, 101, 99, 116, 65, 108, 108, 32, 61, 32, 115, 101, 108, - 101, 99, 116, 65, 108, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 101, 108, - 101, 99, 116, 105, 111, 110, 32, 61, 32, 115, 101, 108, 101, 99, 116, 105, 111, 110, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 101, 108, 101, 99, 116, 111, 114, 32, 61, 32, 115, 101, 108, - 101, 99, 116, 111, 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 101, 108, 101, - 99, 116, 111, 114, 65, 108, 108, 32, 61, 32, 115, 101, 108, 101, 99, 116, 111, 114, 65, 108, 108, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 104, 117, 102, 102, 108, 101, 32, 61, 32, 115, - 104, 117, 102, 102, 108, 101, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, - 104, 117, 102, 102, 108, 101, 114, 32, 61, 32, 115, 104, 117, 102, 102, 108, 101, 114, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 111, 109, 101, 32, 61, 32, 115, 111, 109, 101, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 111, 114, 116, 32, 61, 32, 115, 111, 114, 116, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 116, 97, 99, 107, 32, 61, 32, 115, 116, - 97, 99, 107, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 116, 97, 99, 107, 79, - 102, 102, 115, 101, 116, 68, 105, 118, 101, 114, 103, 105, 110, 103, 32, 61, 32, 100, 105, 118, 101, 114, 103, - 105, 110, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 116, 97, 99, 107, 79, - 102, 102, 115, 101, 116, 69, 120, 112, 97, 110, 100, 32, 61, 32, 101, 120, 112, 97, 110, 100, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 116, 97, 99, 107, 79, 102, 102, 115, 101, 116, 78, - 111, 110, 101, 32, 61, 32, 110, 111, 110, 101, 36, 49, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 115, 116, 97, 99, 107, 79, 102, 102, 115, 101, 116, 83, 105, 108, 104, 111, 117, 101, 116, 116, - 101, 32, 61, 32, 115, 105, 108, 104, 111, 117, 101, 116, 116, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 115, 116, 97, 99, 107, 79, 102, 102, 115, 101, 116, 87, 105, 103, 103, 108, 101, 32, - 61, 32, 119, 105, 103, 103, 108, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, - 116, 97, 99, 107, 79, 114, 100, 101, 114, 65, 112, 112, 101, 97, 114, 97, 110, 99, 101, 32, 61, 32, 97, - 112, 112, 101, 97, 114, 97, 110, 99, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 115, 116, 97, 99, 107, 79, 114, 100, 101, 114, 65, 115, 99, 101, 110, 100, 105, 110, 103, 32, 61, 32, 97, - 115, 99, 101, 110, 100, 105, 110, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, - 116, 97, 99, 107, 79, 114, 100, 101, 114, 68, 101, 115, 99, 101, 110, 100, 105, 110, 103, 32, 61, 32, 100, - 101, 115, 99, 101, 110, 100, 105, 110, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 115, 116, 97, 99, 107, 79, 114, 100, 101, 114, 73, 110, 115, 105, 100, 101, 79, 117, 116, 32, 61, 32, 105, - 110, 115, 105, 100, 101, 79, 117, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, - 116, 97, 99, 107, 79, 114, 100, 101, 114, 78, 111, 110, 101, 32, 61, 32, 110, 111, 110, 101, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 116, 97, 99, 107, 79, 114, 100, 101, 114, 82, 101, - 118, 101, 114, 115, 101, 32, 61, 32, 114, 101, 118, 101, 114, 115, 101, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 115, 116, 114, 97, 116, 105, 102, 121, 32, 61, 32, 115, 116, 114, 97, 116, 105, - 102, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 116, 121, 108, 101, 32, 61, - 32, 115, 116, 121, 108, 101, 86, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 115, 117, 98, 115, 101, 116, 32, 61, 32, 115, 117, 98, 115, 101, 116, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 115, 117, 109, 32, 61, 32, 115, 117, 109, 36, 49, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 117, 112, 101, 114, 115, 101, 116, 32, 61, 32, 115, 117, - 112, 101, 114, 115, 101, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 118, 103, - 32, 61, 32, 115, 118, 103, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 121, 109, - 98, 111, 108, 32, 61, 32, 115, 121, 109, 98, 111, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 115, 121, 109, 98, 111, 108, 67, 105, 114, 99, 108, 101, 32, 61, 32, 99, 105, 114, 99, 108, - 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 121, 109, 98, 111, 108, 67, 114, - 111, 115, 115, 32, 61, 32, 99, 114, 111, 115, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 115, 121, 109, 98, 111, 108, 68, 105, 97, 109, 111, 110, 100, 32, 61, 32, 100, 105, 97, 109, 111, - 110, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 121, 109, 98, 111, 108, 83, - 113, 117, 97, 114, 101, 32, 61, 32, 115, 113, 117, 97, 114, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 115, 121, 109, 98, 111, 108, 83, 116, 97, 114, 32, 61, 32, 115, 116, 97, 114, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 121, 109, 98, 111, 108, 84, 114, 105, 97, - 110, 103, 108, 101, 32, 61, 32, 116, 114, 105, 97, 110, 103, 108, 101, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 115, 121, 109, 98, 111, 108, 87, 121, 101, 32, 61, 32, 119, 121, 101, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 115, 121, 109, 98, 111, 108, 115, 32, 61, 32, 115, - 121, 109, 98, 111, 108, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 101, 120, - 116, 32, 61, 32, 116, 101, 120, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, - 104, 114, 101, 115, 104, 111, 108, 100, 70, 114, 101, 101, 100, 109, 97, 110, 68, 105, 97, 99, 111, 110, 105, - 115, 32, 61, 32, 102, 114, 101, 101, 100, 109, 97, 110, 68, 105, 97, 99, 111, 110, 105, 115, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 104, 114, 101, 115, 104, 111, 108, 100, 83, 99, 111, - 116, 116, 32, 61, 32, 115, 99, 111, 116, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 116, 104, 114, 101, 115, 104, 111, 108, 100, 83, 116, 117, 114, 103, 101, 115, 32, 61, 32, 116, 104, 114, - 101, 115, 104, 111, 108, 100, 83, 116, 117, 114, 103, 101, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 116, 105, 99, 107, 70, 111, 114, 109, 97, 116, 32, 61, 32, 116, 105, 99, 107, 70, 111, - 114, 109, 97, 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 99, 107, 73, - 110, 99, 114, 101, 109, 101, 110, 116, 32, 61, 32, 116, 105, 99, 107, 73, 110, 99, 114, 101, 109, 101, 110, - 116, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 99, 107, 83, 116, 101, 112, - 32, 61, 32, 116, 105, 99, 107, 83, 116, 101, 112, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 116, 105, 99, 107, 115, 32, 61, 32, 116, 105, 99, 107, 115, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 68, 97, 121, 32, 61, 32, 100, 97, 121, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 68, 97, 121, 115, 32, 61, 32, 100, 97, - 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 70, 111, 114, - 109, 97, 116, 68, 101, 102, 97, 117, 108, 116, 76, 111, 99, 97, 108, 101, 32, 61, 32, 100, 101, 102, 97, - 117, 108, 116, 76, 111, 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 116, 105, 109, 101, 70, 111, 114, 109, 97, 116, 76, 111, 99, 97, 108, 101, 32, 61, 32, 102, 111, 114, 109, - 97, 116, 76, 111, 99, 97, 108, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, - 105, 109, 101, 70, 114, 105, 100, 97, 121, 32, 61, 32, 102, 114, 105, 100, 97, 121, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 70, 114, 105, 100, 97, 121, 115, 32, 61, 32, - 102, 114, 105, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, - 109, 101, 72, 111, 117, 114, 32, 61, 32, 104, 111, 117, 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, - 114, 116, 115, 46, 116, 105, 109, 101, 72, 111, 117, 114, 115, 32, 61, 32, 104, 111, 117, 114, 115, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 73, 110, 116, 101, 114, 118, 97, - 108, 32, 61, 32, 110, 101, 119, 73, 110, 116, 101, 114, 118, 97, 108, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 32, 61, - 32, 109, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 116, 105, 109, 101, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 32, 61, 32, 109, - 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 116, 105, 109, 101, 77, 105, 110, 117, 116, 101, 32, 61, 32, 109, 105, 110, 117, 116, 101, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 77, 105, 110, 117, 116, 101, 115, - 32, 61, 32, 109, 105, 110, 117, 116, 101, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 116, 105, 109, 101, 77, 111, 110, 100, 97, 121, 32, 61, 32, 109, 111, 110, 100, 97, 121, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 77, 111, 110, 100, 97, 121, 115, 32, - 61, 32, 109, 111, 110, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 116, 105, 109, 101, 77, 111, 110, 116, 104, 32, 61, 32, 109, 111, 110, 116, 104, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 77, 111, 110, 116, 104, 115, 32, 61, 32, 109, 111, - 110, 116, 104, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 83, - 97, 116, 117, 114, 100, 97, 121, 32, 61, 32, 115, 97, 116, 117, 114, 100, 97, 121, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 83, 97, 116, 117, 114, 100, 97, 121, 115, 32, - 61, 32, 115, 97, 116, 117, 114, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 116, 105, 109, 101, 83, 101, 99, 111, 110, 100, 32, 61, 32, 115, 101, 99, 111, 110, 100, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 83, 101, 99, 111, 110, 100, 115, - 32, 61, 32, 115, 101, 99, 111, 110, 100, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 116, 105, 109, 101, 83, 117, 110, 100, 97, 121, 32, 61, 32, 115, 117, 110, 100, 97, 121, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 83, 117, 110, 100, 97, 121, 115, 32, - 61, 32, 115, 117, 110, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 116, 105, 109, 101, 84, 104, 117, 114, 115, 100, 97, 121, 32, 61, 32, 116, 104, 117, 114, 115, 100, 97, 121, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 84, 104, 117, 114, 115, - 100, 97, 121, 115, 32, 61, 32, 116, 104, 117, 114, 115, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 84, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, - 32, 61, 32, 116, 105, 109, 101, 84, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 84, 105, 99, 107, 115, 32, 61, 32, 116, - 105, 109, 101, 84, 105, 99, 107, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, - 105, 109, 101, 84, 117, 101, 115, 100, 97, 121, 32, 61, 32, 116, 117, 101, 115, 100, 97, 121, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 84, 117, 101, 115, 100, 97, 121, 115, - 32, 61, 32, 116, 117, 101, 115, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 116, 105, 109, 101, 87, 101, 100, 110, 101, 115, 100, 97, 121, 32, 61, 32, 119, 101, 100, 110, 101, - 115, 100, 97, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 87, - 101, 100, 110, 101, 115, 100, 97, 121, 115, 32, 61, 32, 119, 101, 100, 110, 101, 115, 100, 97, 121, 115, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 87, 101, 101, 107, 32, 61, - 32, 115, 117, 110, 100, 97, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, - 109, 101, 87, 101, 101, 107, 115, 32, 61, 32, 115, 117, 110, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 89, 101, 97, 114, 32, 61, 32, 121, 101, 97, 114, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 89, 101, 97, 114, 115, - 32, 61, 32, 121, 101, 97, 114, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, - 105, 109, 101, 111, 117, 116, 32, 61, 32, 116, 105, 109, 101, 111, 117, 116, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 114, 32, 61, 32, 116, 105, 109, 101, 114, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 105, 109, 101, 114, 70, 108, 117, 115, 104, 32, 61, - 32, 116, 105, 109, 101, 114, 70, 108, 117, 115, 104, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 61, 32, 116, 114, 97, 110, 115, 105, 116, 105, - 111, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 114, 97, 110, 115, 112, 111, - 115, 101, 32, 61, 32, 116, 114, 97, 110, 115, 112, 111, 115, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 116, 114, 101, 101, 32, 61, 32, 116, 114, 101, 101, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 116, 114, 101, 101, 109, 97, 112, 32, 61, 32, 105, 110, 100, 101, 120, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 114, 101, 101, 109, 97, 112, 66, 105, 110, - 97, 114, 121, 32, 61, 32, 98, 105, 110, 97, 114, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 116, 114, 101, 101, 109, 97, 112, 68, 105, 99, 101, 32, 61, 32, 116, 114, 101, 101, 109, 97, - 112, 68, 105, 99, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 114, 101, 101, - 109, 97, 112, 82, 101, 115, 113, 117, 97, 114, 105, 102, 121, 32, 61, 32, 114, 101, 115, 113, 117, 97, 114, - 105, 102, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 114, 101, 101, 109, 97, - 112, 83, 108, 105, 99, 101, 32, 61, 32, 116, 114, 101, 101, 109, 97, 112, 83, 108, 105, 99, 101, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 114, 101, 101, 109, 97, 112, 83, 108, 105, 99, - 101, 68, 105, 99, 101, 32, 61, 32, 115, 108, 105, 99, 101, 68, 105, 99, 101, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 116, 114, 101, 101, 109, 97, 112, 83, 113, 117, 97, 114, 105, 102, 121, - 32, 61, 32, 115, 113, 117, 97, 114, 105, 102, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 116, 115, 118, 32, 61, 32, 116, 115, 118, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 116, 115, 118, 70, 111, 114, 109, 97, 116, 32, 61, 32, 116, 115, 118, 70, 111, 114, 109, 97, 116, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 115, 118, 70, 111, 114, 109, 97, 116, - 66, 111, 100, 121, 32, 61, 32, 116, 115, 118, 70, 111, 114, 109, 97, 116, 66, 111, 100, 121, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 115, 118, 70, 111, 114, 109, 97, 116, 82, 111, 119, - 32, 61, 32, 116, 115, 118, 70, 111, 114, 109, 97, 116, 82, 111, 119, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 116, 115, 118, 70, 111, 114, 109, 97, 116, 82, 111, 119, 115, 32, 61, 32, 116, - 115, 118, 70, 111, 114, 109, 97, 116, 82, 111, 119, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 116, 115, 118, 70, 111, 114, 109, 97, 116, 86, 97, 108, 117, 101, 32, 61, 32, 116, 115, 118, - 70, 111, 114, 109, 97, 116, 86, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 116, 115, 118, 80, 97, 114, 115, 101, 32, 61, 32, 116, 115, 118, 80, 97, 114, 115, 101, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 116, 115, 118, 80, 97, 114, 115, 101, 82, 111, 119, - 115, 32, 61, 32, 116, 115, 118, 80, 97, 114, 115, 101, 82, 111, 119, 115, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 117, 110, 105, 111, 110, 32, 61, 32, 117, 110, 105, 111, 110, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 68, 97, 121, 32, 61, 32, 117, 116, 99, - 68, 97, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 68, 97, 121, - 115, 32, 61, 32, 117, 116, 99, 68, 97, 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 117, 116, 99, 70, 114, 105, 100, 97, 121, 32, 61, 32, 117, 116, 99, 70, 114, 105, 100, 97, 121, - 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 70, 114, 105, 100, 97, 121, - 115, 32, 61, 32, 117, 116, 99, 70, 114, 105, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, - 111, 114, 116, 115, 46, 117, 116, 99, 72, 111, 117, 114, 32, 61, 32, 117, 116, 99, 72, 111, 117, 114, 59, - 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 72, 111, 117, 114, 115, 32, 61, - 32, 117, 116, 99, 72, 111, 117, 114, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 117, 116, 99, 77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 32, 61, 32, 109, 105, 108, 108, 105, 115, - 101, 99, 111, 110, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 77, - 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 32, 61, 32, 109, 105, 108, 108, 105, 115, 101, 99, 111, - 110, 100, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 77, 105, 110, - 117, 116, 101, 32, 61, 32, 117, 116, 99, 77, 105, 110, 117, 116, 101, 59, 10, 32, 32, 32, 32, 101, 120, - 112, 111, 114, 116, 115, 46, 117, 116, 99, 77, 105, 110, 117, 116, 101, 115, 32, 61, 32, 117, 116, 99, 77, - 105, 110, 117, 116, 101, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, - 77, 111, 110, 100, 97, 121, 32, 61, 32, 117, 116, 99, 77, 111, 110, 100, 97, 121, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 77, 111, 110, 100, 97, 121, 115, 32, 61, 32, 117, - 116, 99, 77, 111, 110, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 117, 116, 99, 77, 111, 110, 116, 104, 32, 61, 32, 117, 116, 99, 77, 111, 110, 116, 104, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 77, 111, 110, 116, 104, 115, 32, 61, 32, 117, - 116, 99, 77, 111, 110, 116, 104, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, - 116, 99, 83, 97, 116, 117, 114, 100, 97, 121, 32, 61, 32, 117, 116, 99, 83, 97, 116, 117, 114, 100, 97, - 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 83, 97, 116, 117, 114, - 100, 97, 121, 115, 32, 61, 32, 117, 116, 99, 83, 97, 116, 117, 114, 100, 97, 121, 115, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 83, 101, 99, 111, 110, 100, 32, 61, 32, 115, - 101, 99, 111, 110, 100, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 83, - 101, 99, 111, 110, 100, 115, 32, 61, 32, 115, 101, 99, 111, 110, 100, 115, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 83, 117, 110, 100, 97, 121, 32, 61, 32, 117, 116, 99, 83, - 117, 110, 100, 97, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 83, - 117, 110, 100, 97, 121, 115, 32, 61, 32, 117, 116, 99, 83, 117, 110, 100, 97, 121, 115, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 84, 104, 117, 114, 115, 100, 97, 121, 32, 61, - 32, 117, 116, 99, 84, 104, 117, 114, 115, 100, 97, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, - 116, 115, 46, 117, 116, 99, 84, 104, 117, 114, 115, 100, 97, 121, 115, 32, 61, 32, 117, 116, 99, 84, 104, - 117, 114, 115, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, - 99, 84, 105, 99, 107, 73, 110, 116, 101, 114, 118, 97, 108, 32, 61, 32, 117, 116, 99, 84, 105, 99, 107, - 73, 110, 116, 101, 114, 118, 97, 108, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, - 116, 99, 84, 105, 99, 107, 115, 32, 61, 32, 117, 116, 99, 84, 105, 99, 107, 115, 59, 10, 32, 32, 32, - 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 84, 117, 101, 115, 100, 97, 121, 32, 61, 32, 117, - 116, 99, 84, 117, 101, 115, 100, 97, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, - 117, 116, 99, 84, 117, 101, 115, 100, 97, 121, 115, 32, 61, 32, 117, 116, 99, 84, 117, 101, 115, 100, 97, - 121, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 87, 101, 100, 110, - 101, 115, 100, 97, 121, 32, 61, 32, 117, 116, 99, 87, 101, 100, 110, 101, 115, 100, 97, 121, 59, 10, 32, - 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 87, 101, 100, 110, 101, 115, 100, 97, 121, - 115, 32, 61, 32, 117, 116, 99, 87, 101, 100, 110, 101, 115, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 87, 101, 101, 107, 32, 61, 32, 117, 116, 99, 83, 117, - 110, 100, 97, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 87, 101, - 101, 107, 115, 32, 61, 32, 117, 116, 99, 83, 117, 110, 100, 97, 121, 115, 59, 10, 32, 32, 32, 32, 101, - 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 89, 101, 97, 114, 32, 61, 32, 117, 116, 99, 89, 101, 97, - 114, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 117, 116, 99, 89, 101, 97, 114, 115, - 32, 61, 32, 117, 116, 99, 89, 101, 97, 114, 115, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, - 115, 46, 118, 97, 114, 105, 97, 110, 99, 101, 32, 61, 32, 118, 97, 114, 105, 97, 110, 99, 101, 59, 10, - 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 118, 101, 114, 115, 105, 111, 110, 32, 61, 32, 118, - 101, 114, 115, 105, 111, 110, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 119, 105, 110, - 100, 111, 119, 32, 61, 32, 100, 101, 102, 97, 117, 108, 116, 86, 105, 101, 119, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 120, 109, 108, 32, 61, 32, 120, 109, 108, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 122, 105, 112, 32, 61, 32, 122, 105, 112, 59, 10, 32, 32, 32, 32, - 101, 120, 112, 111, 114, 116, 115, 46, 122, 111, 111, 109, 32, 61, 32, 122, 111, 111, 109, 59, 10, 32, 32, - 32, 32, 101, 120, 112, 111, 114, 116, 115, 46, 122, 111, 111, 109, 73, 100, 101, 110, 116, 105, 116, 121, 32, - 61, 32, 105, 100, 101, 110, 116, 105, 116, 121, 59, 10, 32, 32, 32, 32, 101, 120, 112, 111, 114, 116, 115, - 46, 122, 111, 111, 109, 84, 114, 97, 110, 115, 102, 111, 114, 109, 32, 61, 32, 116, 114, 97, 110, 115, 102, - 111, 114, 109, 59, 10, 10, 32, 32, 32, 32, 79, 98, 106, 101, 99, 116, 46, 100, 101, 102, 105, 110, 101, - 80, 114, 111, 112, 101, 114, 116, 121, 40, 101, 120, 112, 111, 114, 116, 115, 44, 32, 39, 95, 95, 101, 115, - 77, 111, 100, 117, 108, 101, 39, 44, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 116, 114, 117, 101, 32, - 125, 41, 59, 10, 10, 125, 41, 41, 41, 59, 0}; -const uint8_t script[] = { - 99, 111, 110, 115, 116, 32, 103, 114, 101, 101, 110, 32, 61, 32, 39, 35, 56, 48, 102, 102, 56, 48, 39, - 59, 10, 99, 111, 110, 115, 116, 32, 108, 105, 103, 104, 116, 71, 114, 101, 101, 110, 32, 61, 32, 39, 35, - 100, 57, 102, 102, 98, 51, 39, 59, 10, 99, 111, 110, 115, 116, 32, 100, 97, 114, 107, 71, 114, 101, 101, - 110, 32, 61, 32, 39, 35, 48, 48, 99, 99, 52, 52, 39, 10, 99, 111, 110, 115, 116, 32, 121, 101, 108, - 108, 111, 119, 32, 61, 32, 39, 35, 102, 102, 102, 102, 52, 100, 39, 59, 10, 99, 111, 110, 115, 116, 32, - 114, 101, 100, 32, 61, 32, 39, 35, 102, 102, 97, 56, 57, 57, 39, 59, 10, 99, 111, 110, 115, 116, 32, - 100, 97, 114, 107, 82, 101, 100, 32, 61, 32, 39, 35, 102, 102, 48, 48, 48, 48, 39, 59, 10, 99, 111, - 110, 115, 116, 32, 101, 112, 115, 105, 108, 111, 110, 32, 61, 32, 48, 46, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 59, 10, 118, 97, 114, 32, 105, 115, 68, 105, 102, 102, - 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 10, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 105, 102, - 102, 40, 111, 98, 106, 49, 44, 32, 111, 98, 106, 50, 41, 32, 123, 10, 32, 32, 32, 32, 102, 111, 114, - 32, 40, 107, 101, 121, 32, 105, 110, 32, 111, 98, 106, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 105, 102, 32, 40, 33, 111, 98, 106, 50, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, - 114, 116, 121, 40, 107, 101, 121, 41, 41, 32, 116, 104, 114, 111, 119, 32, 34, 116, 119, 111, 32, 106, 115, - 111, 110, 32, 102, 105, 108, 101, 115, 32, 100, 111, 32, 110, 111, 116, 32, 98, 101, 108, 111, 110, 103, 32, - 116, 111, 32, 116, 104, 101, 32, 115, 97, 109, 101, 32, 113, 117, 101, 114, 121, 34, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, - 116, 121, 112, 101, 111, 102, 32, 111, 98, 106, 50, 91, 107, 101, 121, 93, 32, 61, 61, 61, 32, 39, 111, - 98, 106, 101, 99, 116, 39, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 100, 105, 102, 102, 40, 111, 98, 106, 49, 91, 107, 101, 121, 93, 44, 32, 111, 98, 106, 50, - 91, 107, 101, 121, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, - 108, 115, 101, 32, 105, 102, 32, 40, 111, 98, 106, 50, 91, 107, 101, 121, 93, 32, 33, 61, 61, 32, 111, - 98, 106, 49, 91, 107, 101, 121, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 40, 111, 98, 106, 49, 91, 107, 101, 121, 93, 32, 61, 61, 61, 32, 48, - 32, 32, 124, 124, 32, 111, 98, 106, 50, 91, 107, 101, 121, 93, 32, 61, 61, 61, 32, 48, 41, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 98, 106, - 49, 91, 107, 101, 121, 93, 32, 61, 32, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 98, 106, 49, 91, 107, 101, 121, 93, 32, 61, 32, 40, - 40, 40, 111, 98, 106, 49, 91, 107, 101, 121, 93, 32, 47, 32, 111, 98, 106, 50, 91, 107, 101, 121, 93, - 41, 32, 42, 32, 49, 48, 48, 41, 32, 47, 32, 49, 48, 48, 41, 46, 116, 111, 70, 105, 120, 101, 100, - 40, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, - 10, 10, 32, 32, 32, 32, 125, 10, 125, 10, 10, 105, 102, 32, 40, 115, 101, 99, 111, 110, 100, 68, 97, - 116, 97, 32, 33, 61, 61, 32, 110, 117, 108, 108, 41, 32, 123, 10, 32, 32, 32, 32, 100, 105, 102, 102, - 40, 100, 97, 116, 97, 44, 32, 115, 101, 99, 111, 110, 100, 68, 97, 116, 97, 41, 59, 10, 32, 32, 32, - 32, 105, 115, 68, 105, 102, 102, 32, 61, 32, 116, 114, 117, 101, 59, 10, 125, 10, 10, 47, 47, 99, 111, - 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 10, 99, 111, 110, 115, 116, 32, 117, 110, 99, 111, 117, - 110, 116, 101, 100, 83, 99, 97, 108, 101, 32, 61, 32, 100, 51, 46, 115, 99, 97, 108, 101, 76, 105, 110, - 101, 97, 114, 40, 41, 10, 32, 32, 32, 32, 46, 100, 111, 109, 97, 105, 110, 40, 91, 48, 44, 32, 50, - 48, 44, 32, 49, 48, 48, 93, 41, 10, 32, 32, 32, 32, 46, 114, 97, 110, 103, 101, 40, 91, 103, 114, - 101, 101, 110, 44, 32, 121, 101, 108, 108, 111, 119, 44, 32, 114, 101, 100, 93, 41, 59, 10, 99, 111, 110, - 115, 116, 32, 100, 105, 97, 103, 111, 110, 97, 108, 32, 61, 32, 100, 51, 46, 108, 105, 110, 107, 86, 101, - 114, 116, 105, 99, 97, 108, 40, 41, 10, 32, 32, 32, 32, 46, 120, 40, 100, 32, 61, 62, 32, 100, 46, - 120, 32, 43, 32, 114, 101, 99, 116, 78, 111, 100, 101, 46, 119, 105, 100, 116, 104, 32, 47, 32, 50, 41, - 10, 32, 32, 32, 32, 46, 121, 40, 100, 32, 61, 62, 32, 100, 46, 121, 32, 43, 32, 114, 101, 99, 116, - 78, 111, 100, 101, 46, 104, 101, 105, 103, 104, 116, 41, 10, 99, 111, 110, 115, 116, 32, 99, 114, 101, 97, - 116, 101, 80, 97, 116, 104, 32, 61, 32, 100, 51, 46, 108, 105, 110, 107, 86, 101, 114, 116, 105, 99, 97, - 108, 40, 41, 10, 32, 32, 32, 32, 46, 116, 97, 114, 103, 101, 116, 40, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, - 109, 112, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 97, 115, 115, 105, 103, 110, 40, 123, 125, 44, 32, - 100, 46, 116, 97, 114, 103, 101, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 109, 112, 46, - 121, 32, 61, 32, 116, 109, 112, 46, 121, 32, 45, 32, 49, 53, 48, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 116, 109, 112, 59, 10, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, - 32, 46, 120, 40, 100, 32, 61, 62, 32, 100, 46, 120, 32, 43, 32, 114, 101, 99, 116, 78, 111, 100, 101, - 46, 119, 105, 100, 116, 104, 32, 47, 32, 50, 41, 10, 32, 32, 32, 32, 46, 121, 40, 102, 117, 110, 99, - 116, 105, 111, 110, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, - 114, 110, 32, 40, 100, 46, 121, 32, 43, 32, 114, 101, 99, 116, 78, 111, 100, 101, 46, 104, 101, 105, 103, - 104, 116, 41, 10, 32, 32, 32, 32, 125, 41, 59, 10, 47, 47, 32, 77, 97, 114, 103, 105, 110, 115, 10, - 99, 111, 110, 115, 116, 32, 109, 97, 114, 103, 105, 110, 32, 61, 32, 40, 123, 116, 111, 112, 58, 32, 49, - 48, 44, 32, 114, 105, 103, 104, 116, 58, 32, 49, 48, 44, 32, 98, 111, 116, 116, 111, 109, 58, 32, 49, - 48, 44, 32, 108, 101, 102, 116, 58, 32, 49, 48, 125, 41, 10, 47, 47, 32, 78, 111, 100, 101, 32, 115, - 105, 122, 101, 10, 99, 111, 110, 115, 116, 32, 114, 101, 99, 116, 78, 111, 100, 101, 32, 61, 32, 123, 119, - 105, 100, 116, 104, 58, 32, 50, 53, 48, 44, 32, 104, 101, 105, 103, 104, 116, 58, 32, 49, 53, 48, 44, - 32, 116, 101, 120, 116, 77, 97, 114, 103, 105, 110, 58, 32, 53, 125, 59, 10, 47, 47, 32, 78, 111, 100, - 101, 32, 100, 105, 109, 101, 110, 115, 105, 111, 110, 10, 99, 111, 110, 115, 116, 32, 100, 120, 32, 61, 32, - 51, 48, 48, 10, 99, 111, 110, 115, 116, 32, 100, 121, 32, 61, 32, 51, 48, 48, 59, 10, 47, 47, 32, - 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 32, 116, 114, 101, 101, 44, 32, 114, 111, 111, 116, 10, 99, - 111, 110, 115, 116, 32, 116, 114, 101, 101, 32, 61, 32, 100, 51, 46, 116, 114, 101, 101, 40, 41, 46, 110, - 111, 100, 101, 83, 105, 122, 101, 40, 91, 100, 120, 44, 32, 100, 121, 93, 41, 59, 10, 99, 111, 110, 115, - 116, 32, 114, 111, 111, 116, 32, 61, 32, 100, 51, 46, 104, 105, 101, 114, 97, 114, 99, 104, 121, 40, 100, - 97, 116, 97, 41, 59, 10, 114, 111, 111, 116, 46, 120, 48, 32, 61, 32, 100, 120, 32, 47, 32, 50, 59, - 10, 114, 111, 111, 116, 46, 121, 48, 32, 61, 32, 48, 59, 10, 10, 118, 97, 114, 32, 109, 97, 120, 67, - 97, 114, 100, 105, 110, 97, 108, 105, 116, 121, 32, 61, 32, 78, 117, 109, 98, 101, 114, 46, 77, 73, 78, - 95, 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 59, 10, 118, 97, 114, 32, 109, 105, 110, 67, - 97, 114, 100, 105, 110, 97, 108, 105, 116, 121, 32, 61, 32, 78, 117, 109, 98, 101, 114, 46, 77, 65, 88, - 95, 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 59, 10, 118, 97, 114, 32, 109, 97, 120, 84, - 105, 109, 101, 32, 61, 32, 78, 117, 109, 98, 101, 114, 46, 77, 73, 78, 95, 83, 65, 70, 69, 95, 73, - 78, 84, 69, 71, 69, 82, 59, 10, 118, 97, 114, 32, 109, 105, 110, 84, 105, 109, 101, 32, 61, 32, 78, - 117, 109, 98, 101, 114, 46, 77, 65, 88, 95, 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 59, - 10, 47, 47, 32, 80, 114, 101, 112, 114, 111, 99, 101, 115, 115, 32, 68, 97, 116, 97, 10, 114, 111, 111, - 116, 46, 100, 101, 115, 99, 101, 110, 100, 97, 110, 116, 115, 40, 41, 46, 102, 111, 114, 69, 97, 99, 104, - 40, 40, 100, 44, 32, 105, 41, 32, 61, 62, 32, 123, 10, 47, 47, 32, 68, 117, 112, 108, 105, 99, 97, - 116, 101, 32, 99, 104, 105, 108, 100, 114, 101, 110, 10, 32, 32, 32, 32, 100, 46, 105, 100, 32, 61, 32, - 105, 59, 10, 32, 32, 32, 32, 100, 46, 95, 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 100, 46, - 99, 104, 105, 108, 100, 114, 101, 110, 59, 10, 10, 47, 47, 32, 85, 110, 99, 111, 109, 109, 101, 110, 116, - 32, 116, 111, 32, 99, 111, 108, 108, 97, 112, 115, 101, 32, 110, 111, 100, 101, 115, 32, 97, 116, 32, 115, - 116, 97, 114, 116, 10, 47, 47, 32, 105, 102, 32, 40, 100, 46, 100, 101, 112, 116, 104, 41, 32, 100, 46, - 99, 104, 105, 108, 100, 114, 101, 110, 32, 61, 32, 110, 117, 108, 108, 59, 10, 10, 47, 47, 32, 67, 111, - 109, 112, 117, 116, 101, 32, 117, 110, 99, 111, 117, 110, 116, 101, 100, 46, 32, 99, 117, 114, 114, 101, 110, - 116, 108, 121, 32, 110, 111, 116, 32, 112, 111, 115, 115, 105, 98, 108, 101, 10, 32, 32, 32, 32, 105, 102, - 32, 40, 100, 46, 100, 97, 116, 97, 46, 117, 110, 99, 111, 117, 110, 116, 101, 100, 32, 61, 61, 32, 110, - 117, 108, 108, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 46, 100, 97, 116, 97, 46, 117, 110, 99, - 111, 117, 110, 116, 101, 100, 32, 61, 32, 48, 10, 10, 47, 47, 32, 70, 105, 110, 100, 32, 109, 105, 110, - 32, 97, 110, 100, 32, 109, 97, 120, 32, 99, 97, 114, 100, 105, 110, 97, 108, 105, 116, 121, 10, 32, 32, - 32, 32, 105, 102, 32, 40, 100, 46, 100, 97, 116, 97, 46, 99, 97, 114, 100, 105, 110, 97, 108, 105, 116, - 121, 32, 60, 32, 109, 105, 110, 67, 97, 114, 100, 105, 110, 97, 108, 105, 116, 121, 41, 32, 109, 105, 110, - 67, 97, 114, 100, 105, 110, 97, 108, 105, 116, 121, 32, 61, 32, 100, 46, 100, 97, 116, 97, 46, 99, 97, - 114, 100, 105, 110, 97, 108, 105, 116, 121, 59, 10, 32, 32, 32, 32, 105, 102, 32, 40, 100, 46, 100, 97, - 116, 97, 46, 99, 97, 114, 100, 105, 110, 97, 108, 105, 116, 121, 32, 62, 32, 109, 97, 120, 67, 97, 114, - 100, 105, 110, 97, 108, 105, 116, 121, 41, 32, 109, 97, 120, 67, 97, 114, 100, 105, 110, 97, 108, 105, 116, - 121, 32, 61, 32, 100, 46, 100, 97, 116, 97, 46, 99, 97, 114, 100, 105, 110, 97, 108, 105, 116, 121, 59, - 10, 47, 47, 32, 70, 105, 110, 100, 32, 109, 105, 110, 32, 97, 110, 100, 32, 109, 97, 120, 32, 116, 105, - 109, 101, 10, 32, 32, 32, 32, 105, 102, 32, 40, 105, 32, 62, 32, 49, 41, 32, 123, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 46, 100, 97, 116, 97, 46, 116, 105, 109, 105, 110, 103, 32, - 60, 32, 109, 105, 110, 84, 105, 109, 101, 41, 32, 109, 105, 110, 84, 105, 109, 101, 32, 61, 32, 100, 46, - 100, 97, 116, 97, 46, 116, 105, 109, 105, 110, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, - 32, 40, 100, 46, 100, 97, 116, 97, 46, 116, 105, 109, 105, 110, 103, 32, 62, 32, 109, 97, 120, 84, 105, - 109, 101, 41, 32, 109, 97, 120, 84, 105, 109, 101, 32, 61, 32, 100, 46, 100, 97, 116, 97, 46, 116, 105, - 109, 105, 110, 103, 59, 10, 32, 32, 32, 32, 125, 10, 125, 41, 59, 10, 10, 47, 47, 78, 111, 100, 101, - 32, 99, 111, 108, 111, 114, 10, 118, 97, 114, 32, 114, 101, 99, 116, 67, 111, 108, 111, 114, 59, 10, 105, - 102, 32, 40, 33, 105, 115, 68, 105, 102, 102, 41, 32, 123, 10, 32, 32, 32, 32, 114, 101, 99, 116, 67, - 111, 108, 111, 114, 32, 61, 32, 100, 51, 46, 115, 99, 97, 108, 101, 76, 105, 110, 101, 97, 114, 40, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 100, 111, 109, 97, 105, 110, 40, 91, 78, 117, 109, 98, 101, - 114, 46, 77, 73, 78, 95, 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 44, 32, 109, 105, 110, - 84, 105, 109, 101, 44, 32, 40, 109, 97, 120, 84, 105, 109, 101, 32, 43, 32, 109, 105, 110, 84, 105, 109, - 101, 41, 32, 47, 32, 50, 44, 32, 40, 109, 97, 120, 84, 105, 109, 101, 32, 43, 32, 109, 105, 110, 84, - 105, 109, 101, 41, 32, 47, 32, 50, 32, 43, 32, 101, 112, 115, 105, 108, 111, 110, 44, 32, 109, 97, 120, - 84, 105, 109, 101, 44, 32, 78, 117, 109, 98, 101, 114, 46, 77, 65, 88, 95, 83, 65, 70, 69, 95, 73, - 78, 84, 69, 71, 69, 82, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 114, 97, 110, 103, 101, - 40, 91, 100, 97, 114, 107, 71, 114, 101, 101, 110, 44, 32, 103, 114, 101, 101, 110, 44, 32, 108, 105, 103, - 104, 116, 71, 114, 101, 101, 110, 44, 32, 121, 101, 108, 108, 111, 119, 44, 32, 114, 101, 100, 44, 32, 100, - 97, 114, 107, 82, 101, 100, 93, 41, 59, 10, 10, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, - 32, 114, 101, 99, 116, 67, 111, 108, 111, 114, 32, 61, 32, 100, 51, 46, 115, 99, 97, 108, 101, 76, 105, - 110, 101, 97, 114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 100, 111, 109, 97, 105, 110, 40, - 91, 78, 117, 109, 98, 101, 114, 46, 77, 73, 78, 95, 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, - 82, 44, 32, 109, 105, 110, 84, 105, 109, 101, 44, 32, 49, 44, 32, 49, 32, 43, 32, 101, 112, 115, 105, - 108, 111, 110, 44, 32, 32, 109, 97, 120, 84, 105, 109, 101, 44, 32, 78, 117, 109, 98, 101, 114, 46, 77, - 65, 88, 95, 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 93, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 114, 97, 110, 103, 101, 40, 91, 100, 97, 114, 107, 82, 101, 100, 44, 32, 114, 101, 100, - 44, 32, 121, 101, 108, 108, 111, 119, 44, 32, 108, 105, 103, 104, 116, 71, 114, 101, 101, 110, 44, 32, 103, - 114, 101, 101, 110, 44, 32, 100, 97, 114, 107, 71, 114, 101, 101, 110, 93, 41, 59, 10, 10, 125, 10, 10, - 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 83, 99, 97, 108, 101, 32, 61, 32, 100, 51, 46, 115, - 99, 97, 108, 101, 76, 105, 110, 101, 97, 114, 40, 41, 10, 32, 32, 32, 32, 46, 100, 111, 109, 97, 105, - 110, 40, 91, 109, 105, 110, 67, 97, 114, 100, 105, 110, 97, 108, 105, 116, 121, 44, 32, 109, 97, 120, 67, - 97, 114, 100, 105, 110, 97, 108, 105, 116, 121, 93, 41, 10, 32, 32, 32, 32, 46, 114, 97, 110, 103, 101, - 40, 91, 53, 44, 32, 55, 53, 93, 41, 59, 10, 10, 99, 111, 110, 115, 116, 32, 98, 111, 100, 121, 77, - 97, 105, 110, 32, 61, 32, 100, 51, 46, 115, 101, 108, 101, 99, 116, 40, 34, 98, 111, 100, 121, 34, 41, - 10, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 119, 105, 100, 116, 104, 34, 44, 32, 34, 49, - 48, 48, 37, 34, 41, 10, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 104, 101, 105, 103, 104, - 116, 34, 44, 32, 34, 49, 48, 48, 37, 34, 41, 59, 10, 47, 47, 32, 87, 105, 100, 116, 104, 32, 97, - 110, 100, 32, 72, 101, 105, 103, 104, 116, 10, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, - 61, 32, 98, 111, 100, 121, 77, 97, 105, 110, 46, 110, 111, 100, 101, 40, 41, 46, 103, 101, 116, 66, 111, - 117, 110, 100, 105, 110, 103, 67, 108, 105, 101, 110, 116, 82, 101, 99, 116, 40, 41, 46, 104, 101, 105, 103, - 104, 116, 59, 10, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 98, 111, 100, 121, 77, - 97, 105, 110, 46, 110, 111, 100, 101, 40, 41, 46, 103, 101, 116, 66, 111, 117, 110, 100, 105, 110, 103, 67, - 108, 105, 101, 110, 116, 82, 101, 99, 116, 40, 41, 46, 119, 105, 100, 116, 104, 59, 10, 10, 99, 111, 110, - 115, 116, 32, 115, 118, 103, 77, 97, 105, 110, 32, 61, 32, 98, 111, 100, 121, 77, 97, 105, 110, 46, 97, - 112, 112, 101, 110, 100, 40, 39, 100, 105, 118, 39, 41, 10, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, - 40, 34, 119, 105, 100, 116, 104, 34, 44, 32, 119, 105, 100, 116, 104, 41, 10, 32, 32, 32, 32, 46, 115, - 116, 121, 108, 101, 40, 34, 104, 101, 105, 103, 104, 116, 34, 44, 32, 104, 101, 105, 103, 104, 116, 41, 10, - 32, 32, 32, 32, 46, 97, 112, 112, 101, 110, 100, 40, 34, 115, 118, 103, 34, 41, 10, 32, 32, 32, 32, - 46, 115, 116, 121, 108, 101, 40, 34, 119, 105, 100, 116, 104, 34, 44, 32, 119, 105, 100, 116, 104, 41, 10, - 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 104, 101, 105, 103, 104, 116, 34, 44, 32, 104, 101, - 105, 103, 104, 116, 41, 59, 10, 10, 99, 111, 110, 115, 116, 32, 103, 84, 114, 101, 101, 32, 61, 32, 115, - 118, 103, 77, 97, 105, 110, 46, 97, 112, 112, 101, 110, 100, 40, 34, 103, 34, 41, 10, 10, 99, 111, 110, - 115, 116, 32, 103, 76, 105, 110, 107, 32, 61, 32, 103, 84, 114, 101, 101, 46, 97, 112, 112, 101, 110, 100, - 40, 34, 103, 34, 41, 10, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 102, 105, 108, 108, 34, 44, - 32, 34, 110, 111, 110, 101, 34, 41, 10, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 115, 116, 114, - 111, 107, 101, 34, 44, 32, 34, 35, 53, 53, 53, 34, 41, 10, 32, 32, 32, 32, 46, 97, 116, 116, 114, - 40, 34, 115, 116, 114, 111, 107, 101, 45, 111, 112, 97, 99, 105, 116, 121, 34, 44, 32, 48, 46, 52, 41, - 10, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 115, 116, 114, 111, 107, 101, 45, 119, 105, 100, 116, - 104, 34, 44, 32, 49, 46, 53, 41, 59, 10, 10, 99, 111, 110, 115, 116, 32, 103, 78, 111, 100, 101, 32, - 61, 32, 103, 84, 114, 101, 101, 46, 97, 112, 112, 101, 110, 100, 40, 34, 103, 34, 41, 10, 10, 99, 111, - 110, 115, 116, 32, 122, 111, 111, 109, 77, 97, 105, 110, 32, 61, 32, 100, 51, 46, 122, 111, 111, 109, 40, - 41, 10, 32, 32, 32, 32, 46, 111, 110, 40, 39, 122, 111, 111, 109, 39, 44, 32, 40, 101, 118, 101, 110, - 116, 41, 32, 61, 62, 32, 103, 84, 114, 101, 101, 46, 97, 116, 116, 114, 40, 39, 116, 114, 97, 110, 115, - 102, 111, 114, 109, 39, 44, 32, 101, 118, 101, 110, 116, 46, 116, 114, 97, 110, 115, 102, 111, 114, 109, 41, - 41, 10, 32, 32, 32, 32, 46, 115, 99, 97, 108, 101, 69, 120, 116, 101, 110, 116, 40, 91, 48, 46, 48, - 53, 44, 32, 51, 93, 41, 10, 10, 10, 115, 118, 103, 77, 97, 105, 110, 46, 99, 97, 108, 108, 40, 122, - 111, 111, 109, 77, 97, 105, 110, 41, 59, 10, 122, 111, 111, 109, 77, 97, 105, 110, 46, 116, 114, 97, 110, - 115, 108, 97, 116, 101, 84, 111, 40, 115, 118, 103, 77, 97, 105, 110, 44, 32, 45, 119, 105, 100, 116, 104, - 32, 47, 32, 50, 44, 32, 48, 41, 59, 10, 122, 111, 111, 109, 84, 111, 70, 105, 116, 40, 41, 59, 10, - 10, 47, 47, 32, 85, 112, 100, 97, 116, 101, 32, 116, 114, 101, 101, 10, 102, 117, 110, 99, 116, 105, 111, - 110, 32, 117, 112, 100, 97, 116, 101, 40, 101, 44, 32, 115, 111, 117, 114, 99, 101, 41, 32, 123, 10, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 117, 114, 97, 116, 105, 111, 110, 32, 61, 32, 53, 48, 48, - 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 110, 111, 100, 101, 115, 32, 61, 32, 114, 111, 111, - 116, 46, 100, 101, 115, 99, 101, 110, 100, 97, 110, 116, 115, 40, 41, 46, 114, 101, 118, 101, 114, 115, 101, - 40, 41, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 110, 107, 115, 32, 61, 32, 114, - 111, 111, 116, 46, 108, 105, 110, 107, 115, 40, 41, 59, 10, 10, 47, 47, 32, 67, 111, 109, 112, 117, 116, - 101, 32, 116, 104, 101, 32, 110, 101, 119, 32, 116, 114, 101, 101, 32, 108, 97, 121, 111, 117, 116, 46, 10, - 32, 32, 32, 32, 116, 114, 101, 101, 40, 114, 111, 111, 116, 41, 59, 10, 10, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 61, 32, 115, 118, 103, 77, 97, 105, - 110, 46, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 46, 100, 117, 114, 97, 116, 105, 111, 110, 40, 100, 117, 114, 97, 116, 105, 111, 110, 41, 10, 10, 47, 47, - 32, 85, 112, 100, 97, 116, 101, 32, 116, 104, 101, 32, 110, 111, 100, 101, 115, 226, 128, 166, 10, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 32, 110, 111, 100, 101, 32, 61, 32, 103, 78, 111, 100, 101, 46, 115, 101, - 108, 101, 99, 116, 65, 108, 108, 40, 34, 103, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 100, - 97, 116, 97, 40, 110, 111, 100, 101, 115, 44, 32, 100, 32, 61, 62, 32, 100, 46, 105, 100, 41, 59, 10, - 10, 47, 47, 32, 69, 110, 116, 101, 114, 32, 97, 110, 121, 32, 110, 101, 119, 32, 109, 111, 100, 101, 115, - 32, 97, 116, 32, 116, 104, 101, 32, 112, 97, 114, 101, 110, 116, 39, 115, 32, 112, 114, 101, 118, 105, 111, - 117, 115, 32, 112, 111, 115, 105, 116, 105, 111, 110, 46, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, - 110, 111, 100, 101, 69, 110, 116, 101, 114, 32, 61, 32, 110, 111, 100, 101, 46, 101, 110, 116, 101, 114, 40, - 41, 46, 97, 112, 112, 101, 110, 100, 40, 39, 103, 39, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, - 97, 116, 116, 114, 40, 39, 99, 108, 97, 115, 115, 39, 44, 32, 39, 110, 111, 100, 101, 39, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 116, 114, 97, 110, 115, 108, 97, 116, - 101, 40, 34, 32, 43, 32, 115, 111, 117, 114, 99, 101, 46, 120, 48, 32, 43, 32, 34, 44, 34, 32, 43, - 32, 115, 111, 117, 114, 99, 101, 46, 121, 48, 32, 43, 32, 34, 41, 34, 59, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 125, 41, 59, 10, 10, 47, 47, 32, 65, 100, 100, 32, 114, 101, 99, 116, 32, 102, 111, 114, - 32, 116, 104, 101, 32, 110, 111, 100, 101, 115, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, - 99, 116, 32, 61, 32, 110, 111, 100, 101, 69, 110, 116, 101, 114, 46, 97, 112, 112, 101, 110, 100, 40, 39, - 114, 101, 99, 116, 39, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 39, 114, - 120, 39, 44, 32, 50, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 39, - 114, 121, 39, 44, 32, 50, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, - 39, 119, 105, 100, 116, 104, 39, 44, 32, 114, 101, 99, 116, 78, 111, 100, 101, 46, 119, 105, 100, 116, 104, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 39, 104, 101, 105, 103, 104, 116, - 39, 44, 32, 114, 101, 99, 116, 78, 111, 100, 101, 46, 104, 101, 105, 103, 104, 116, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 39, 99, 108, 97, 115, 115, 39, 44, 32, 39, 110, 111, - 100, 101, 45, 114, 101, 99, 116, 39, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, - 101, 40, 39, 102, 105, 108, 108, 39, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 100, 41, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, - 99, 116, 67, 111, 108, 111, 114, 40, 100, 46, 100, 97, 116, 97, 46, 116, 105, 109, 105, 110, 103, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, - 114, 40, 39, 102, 105, 108, 108, 45, 111, 112, 97, 99, 105, 116, 121, 39, 44, 32, 39, 48, 46, 50, 39, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 39, 115, 116, 114, 111, 107, 101, - 45, 119, 105, 100, 116, 104, 39, 44, 32, 39, 51, 39, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, - 97, 116, 116, 114, 40, 39, 115, 116, 114, 111, 107, 101, 45, 111, 112, 97, 99, 105, 116, 121, 39, 44, 32, - 39, 48, 46, 50, 39, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 39, 115, - 116, 114, 111, 107, 101, 39, 44, 32, 34, 98, 108, 97, 99, 107, 34, 41, 10, 10, 32, 32, 32, 32, 110, - 111, 100, 101, 69, 110, 116, 101, 114, 46, 97, 112, 112, 101, 110, 100, 40, 39, 102, 111, 114, 101, 105, 103, - 110, 79, 98, 106, 101, 99, 116, 39, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, - 40, 39, 120, 39, 44, 32, 114, 101, 99, 116, 78, 111, 100, 101, 46, 116, 101, 120, 116, 77, 97, 114, 103, - 105, 110, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 39, 121, 39, 44, 32, - 114, 101, 99, 116, 78, 111, 100, 101, 46, 116, 101, 120, 116, 77, 97, 114, 103, 105, 110, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 39, 119, 105, 100, 116, 104, 39, 44, 32, 114, 101, - 99, 116, 78, 111, 100, 101, 46, 119, 105, 100, 116, 104, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, - 97, 116, 116, 114, 40, 39, 104, 101, 105, 103, 104, 116, 39, 44, 32, 114, 101, 99, 116, 78, 111, 100, 101, - 46, 104, 101, 105, 103, 104, 116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, - 40, 34, 102, 111, 110, 116, 45, 115, 105, 122, 101, 34, 44, 32, 34, 49, 54, 112, 120, 34, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 102, 111, 110, 116, 45, 102, 97, 109, - 105, 108, 121, 34, 44, 32, 34, 86, 101, 114, 100, 97, 110, 97, 34, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 97, 112, 112, 101, 110, 100, 40, 39, 120, 104, 116, 109, 108, 39, 41, 46, 104, 116, 109, 108, - 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 39, 60, 100, 105, 118, 32, 115, 116, 121, 108, 101, 61, 34, 119, 105, - 100, 116, 104, 58, 32, 39, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 40, 114, - 101, 99, 116, 78, 111, 100, 101, 46, 119, 105, 100, 116, 104, 32, 45, 32, 114, 101, 99, 116, 78, 111, 100, - 101, 46, 116, 101, 120, 116, 77, 97, 114, 103, 105, 110, 32, 42, 32, 50, 41, 32, 43, 32, 39, 112, 120, - 59, 32, 104, 101, 105, 103, 104, 116, 58, 32, 39, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 43, 32, 40, 114, 101, 99, 116, 78, 111, 100, 101, 46, 104, 101, 105, 103, 104, 116, 32, 45, 32, 114, - 101, 99, 116, 78, 111, 100, 101, 46, 116, 101, 120, 116, 77, 97, 114, 103, 105, 110, 32, 42, 32, 50, 41, - 32, 43, 32, 39, 112, 120, 59, 34, 32, 99, 108, 97, 115, 115, 61, 34, 110, 111, 100, 101, 45, 116, 101, - 120, 116, 32, 119, 111, 114, 100, 119, 114, 97, 112, 34, 62, 39, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 43, 32, 39, 60, 99, 101, 110, 116, 101, 114, 62, 60, 98, 62, 39, 32, 43, 32, 100, - 46, 100, 97, 116, 97, 46, 110, 97, 109, 101, 32, 43, 32, 39, 60, 47, 98, 62, 60, 98, 114, 62, 60, - 98, 114, 62, 60, 47, 99, 101, 110, 116, 101, 114, 62, 39, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 43, 32, 39, 60, 99, 101, 110, 116, 101, 114, 62, 60, 98, 62, 67, 97, 114, 100, 105, 110, - 97, 108, 105, 116, 121, 58, 32, 60, 47, 98, 62, 39, 32, 43, 32, 100, 46, 100, 97, 116, 97, 46, 99, - 97, 114, 100, 105, 110, 97, 108, 105, 116, 121, 32, 43, 32, 39, 60, 98, 114, 62, 60, 47, 99, 101, 110, - 116, 101, 114, 62, 39, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 39, 60, 99, - 101, 110, 116, 101, 114, 62, 60, 98, 62, 85, 110, 99, 111, 117, 110, 116, 101, 100, 58, 32, 60, 47, 98, - 62, 39, 32, 43, 32, 100, 46, 100, 97, 116, 97, 46, 117, 110, 99, 111, 117, 110, 116, 101, 100, 32, 43, - 32, 39, 60, 98, 114, 62, 60, 47, 99, 101, 110, 116, 101, 114, 62, 39, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 43, 32, 39, 60, 99, 101, 110, 116, 101, 114, 62, 60, 98, 62, 84, 105, 109, - 105, 110, 103, 58, 32, 60, 47, 98, 62, 39, 32, 43, 32, 100, 46, 100, 97, 116, 97, 46, 116, 105, 109, - 105, 110, 103, 32, 43, 32, 39, 60, 98, 114, 62, 60, 99, 101, 110, 116, 101, 114, 62, 39, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 32, 39, 60, 47, 100, 105, 118, 62, 39, 59, 10, 32, - 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 39, 99, 108, 105, 99, - 107, 39, 44, 32, 40, 101, 44, 32, 100, 41, 32, 61, 62, 32, 100, 105, 115, 112, 108, 97, 121, 95, 116, - 97, 98, 108, 101, 40, 101, 44, 32, 100, 41, 41, 59, 10, 10, 47, 47, 32, 65, 100, 100, 32, 98, 97, - 99, 107, 103, 114, 111, 117, 110, 103, 32, 99, 105, 114, 99, 108, 101, 10, 32, 32, 32, 32, 110, 111, 100, - 101, 69, 110, 116, 101, 114, 46, 97, 112, 112, 101, 110, 100, 40, 34, 99, 105, 114, 99, 108, 101, 34, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 114, 34, 44, 32, 50, 48, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 102, 105, 108, 108, 34, 44, 32, - 34, 119, 104, 105, 116, 101, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, - 34, 116, 114, 97, 110, 115, 102, 111, 114, 109, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, - 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 34, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 34, 32, 43, 32, 114, 101, 99, 116, 78, 111, 100, - 101, 46, 119, 105, 100, 116, 104, 32, 47, 32, 50, 32, 43, 32, 34, 44, 32, 34, 32, 43, 32, 114, 101, - 99, 116, 78, 111, 100, 101, 46, 104, 101, 105, 103, 104, 116, 32, 43, 32, 34, 41, 34, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 10, 47, 47, 32, 65, 100, 100, 32, 116, 111, 103, 103, 108, - 101, 45, 98, 117, 116, 116, 111, 110, 32, 102, 111, 114, 32, 116, 104, 101, 32, 110, 111, 100, 101, 115, 10, - 32, 32, 32, 32, 110, 111, 100, 101, 69, 110, 116, 101, 114, 46, 97, 112, 112, 101, 110, 100, 40, 34, 99, - 105, 114, 99, 108, 101, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 108, 97, 115, 115, 101, - 100, 40, 34, 98, 117, 116, 116, 111, 110, 34, 44, 32, 116, 114, 117, 101, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 114, 34, 44, 32, 50, 48, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 102, 105, 108, 108, 34, 44, 32, 34, 98, 108, 117, 101, 34, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 115, 116, 114, 111, 107, 101, - 45, 119, 105, 100, 116, 104, 34, 44, 32, 49, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, - 110, 40, 34, 99, 108, 105, 99, 107, 34, 44, 32, 40, 101, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 46, 99, 104, 105, 108, 100, 114, 101, 110, 32, - 61, 32, 100, 46, 99, 104, 105, 108, 100, 114, 101, 110, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 100, - 46, 95, 99, 104, 105, 108, 100, 114, 101, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 117, 112, 100, 97, 116, 101, 40, 101, 44, 32, 100, 41, 59, 10, 47, 47, 32, 122, 111, 111, 109, 84, - 111, 70, 105, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 10, 32, 32, 32, - 32, 110, 111, 100, 101, 69, 110, 116, 101, 114, 46, 115, 101, 108, 101, 99, 116, 65, 108, 108, 40, 34, 46, - 98, 117, 116, 116, 111, 110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, - 34, 116, 114, 97, 110, 115, 102, 111, 114, 109, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, - 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, - 32, 34, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 34, 32, 43, 32, 114, 101, 99, 116, 78, 111, 100, - 101, 46, 119, 105, 100, 116, 104, 32, 47, 32, 50, 32, 43, 32, 34, 44, 32, 34, 32, 43, 32, 114, 101, - 99, 116, 78, 111, 100, 101, 46, 104, 101, 105, 103, 104, 116, 32, 43, 32, 34, 41, 34, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, - 34, 102, 105, 108, 108, 45, 111, 112, 97, 99, 105, 116, 121, 34, 44, 32, 100, 32, 61, 62, 32, 100, 46, - 95, 99, 104, 105, 108, 100, 114, 101, 110, 32, 63, 32, 48, 46, 53, 32, 58, 32, 48, 46, 50, 41, 59, - 10, 10, 10, 47, 47, 32, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 110, 111, 100, 101, 115, 32, - 116, 111, 32, 116, 104, 101, 105, 114, 32, 110, 101, 119, 32, 112, 111, 115, 105, 116, 105, 111, 110, 46, 10, - 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 110, 111, 100, 101, 85, 112, 100, 97, 116, 101, 32, 61, 32, - 110, 111, 100, 101, 46, 109, 101, 114, 103, 101, 40, 110, 111, 100, 101, 69, 110, 116, 101, 114, 41, 46, 116, - 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 34, 44, 32, 100, 32, 61, 62, 32, 96, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 36, 123, 100, 46, - 120, 125, 44, 36, 123, 100, 46, 121, 125, 41, 96, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, - 116, 116, 114, 40, 34, 102, 105, 108, 108, 45, 111, 112, 97, 99, 105, 116, 121, 34, 44, 32, 49, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 115, 116, 114, 111, 107, 101, 45, 111, - 112, 97, 99, 105, 116, 121, 34, 44, 32, 49, 41, 59, 10, 10, 47, 47, 32, 84, 114, 97, 110, 115, 105, - 116, 105, 111, 110, 32, 101, 120, 105, 116, 105, 110, 103, 32, 110, 111, 100, 101, 115, 32, 116, 111, 32, 116, - 104, 101, 32, 112, 97, 114, 101, 110, 116, 39, 115, 32, 110, 101, 119, 32, 112, 111, 115, 105, 116, 105, 111, - 110, 46, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 110, 111, 100, 101, 69, 120, 105, 116, 32, 61, - 32, 110, 111, 100, 101, 46, 101, 120, 105, 116, 40, 41, 46, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, - 40, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 41, 46, 114, 101, 109, 111, 118, 101, 40, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 116, 114, 97, 110, 115, 102, 111, 114, 109, - 34, 44, 32, 100, 32, 61, 62, 32, 96, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 36, 123, 115, 111, - 117, 114, 99, 101, 46, 120, 125, 44, 36, 123, 115, 111, 117, 114, 99, 101, 46, 121, 125, 41, 96, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 102, 105, 108, 108, 45, 111, 112, 97, - 99, 105, 116, 121, 34, 44, 32, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, - 40, 34, 115, 116, 114, 111, 107, 101, 45, 111, 112, 97, 99, 105, 116, 121, 34, 44, 32, 48, 41, 59, 10, - 10, 47, 47, 32, 85, 112, 100, 97, 116, 101, 32, 116, 104, 101, 32, 108, 105, 110, 107, 115, 226, 128, 166, - 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 110, 107, 32, 61, 32, 103, 76, 105, 110, 107, - 46, 115, 101, 108, 101, 99, 116, 65, 108, 108, 40, 34, 112, 97, 116, 104, 34, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 100, 97, 116, 97, 40, 108, 105, 110, 107, 115, 44, 32, 100, 32, 61, 62, 32, 100, - 46, 116, 97, 114, 103, 101, 116, 46, 105, 100, 41, 59, 10, 10, 47, 47, 32, 69, 110, 116, 101, 114, 32, - 97, 110, 121, 32, 110, 101, 119, 32, 108, 105, 110, 107, 115, 32, 97, 116, 32, 116, 104, 101, 32, 112, 97, - 114, 101, 110, 116, 39, 115, 32, 112, 114, 101, 118, 105, 111, 117, 115, 32, 112, 111, 115, 105, 116, 105, 111, - 110, 46, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 110, 107, 69, 110, 116, 101, 114, 32, - 61, 32, 108, 105, 110, 107, 46, 101, 110, 116, 101, 114, 40, 41, 46, 97, 112, 112, 101, 110, 100, 40, 34, - 112, 97, 116, 104, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 99, - 108, 97, 115, 115, 34, 44, 32, 34, 108, 105, 110, 107, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 46, 97, 116, 116, 114, 40, 34, 100, 34, 44, 32, 100, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 32, 61, 32, 123, 120, 58, 32, 115, 111, - 117, 114, 99, 101, 46, 120, 48, 44, 32, 121, 58, 32, 115, 111, 117, 114, 99, 101, 46, 121, 48, 125, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 105, 97, - 103, 111, 110, 97, 108, 40, 123, 115, 111, 117, 114, 99, 101, 58, 32, 111, 44, 32, 116, 97, 114, 103, 101, - 116, 58, 32, 111, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 39, 115, 116, 114, 111, 107, 101, 45, 119, 105, 100, 116, - 104, 39, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 119, 105, 100, 116, 104, 83, 99, 97, - 108, 101, 40, 100, 46, 116, 97, 114, 103, 101, 116, 46, 100, 97, 116, 97, 46, 99, 97, 114, 100, 105, 110, - 97, 108, 105, 116, 121, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 10, 47, 47, 32, 84, - 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 108, 105, 110, 107, 115, 32, 116, 111, 32, 116, 104, 101, 105, - 114, 32, 110, 101, 119, 32, 112, 111, 115, 105, 116, 105, 111, 110, 46, 10, 32, 32, 32, 32, 108, 105, 110, - 107, 46, 109, 101, 114, 103, 101, 40, 108, 105, 110, 107, 69, 110, 116, 101, 114, 41, 46, 116, 114, 97, 110, - 115, 105, 116, 105, 111, 110, 40, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 39, 115, 116, 114, 111, 107, 101, 45, 119, 105, 100, 116, - 104, 39, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 119, 105, 100, 116, 104, 83, 99, 97, - 108, 101, 40, 100, 46, 116, 97, 114, 103, 101, 116, 46, 100, 97, 116, 97, 46, 99, 97, 114, 100, 105, 110, - 97, 108, 105, 116, 121, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 97, 116, 116, 114, 40, 39, 100, 39, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, - 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, - 110, 32, 99, 114, 101, 97, 116, 101, 80, 97, 116, 104, 40, 100, 41, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 41, 10, 10, 10, 47, 47, 32, 84, 114, 97, 110, 115, 105, 116, 105, 111, 110, 32, 101, 120, 105, - 116, 105, 110, 103, 32, 110, 111, 100, 101, 115, 32, 116, 111, 32, 116, 104, 101, 32, 112, 97, 114, 101, 110, - 116, 39, 115, 32, 110, 101, 119, 32, 112, 111, 115, 105, 116, 105, 111, 110, 46, 10, 32, 32, 32, 32, 108, - 105, 110, 107, 46, 101, 120, 105, 116, 40, 41, 46, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 40, 116, - 114, 97, 110, 115, 105, 116, 105, 111, 110, 41, 46, 114, 101, 109, 111, 118, 101, 40, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 100, 34, 44, 32, 100, 32, 61, 62, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 32, 61, 32, 123, - 120, 58, 32, 115, 111, 117, 114, 99, 101, 46, 120, 44, 32, 121, 58, 32, 115, 111, 117, 114, 99, 101, 46, - 121, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, - 100, 105, 97, 103, 111, 110, 97, 108, 40, 123, 115, 111, 117, 114, 99, 101, 58, 32, 111, 44, 32, 116, 97, - 114, 103, 101, 116, 58, 32, 111, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, - 10, 47, 47, 32, 83, 116, 97, 115, 104, 32, 116, 104, 101, 32, 111, 108, 100, 32, 112, 111, 115, 105, 116, - 105, 111, 110, 115, 32, 102, 111, 114, 32, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 46, 10, 32, 32, - 32, 32, 114, 111, 111, 116, 46, 101, 97, 99, 104, 66, 101, 102, 111, 114, 101, 40, 100, 32, 61, 62, 32, - 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 46, 120, 48, 32, 61, 32, 100, 46, 120, 59, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 46, 121, 48, 32, 61, 32, 100, 46, 121, 59, 10, 32, 32, 32, 32, - 125, 41, 59, 10, 125, 10, 10, 47, 47, 32, 90, 111, 111, 109, 10, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 122, 111, 111, 109, 84, 111, 70, 105, 116, 40, 112, 97, 100, 100, 105, 110, 103, 80, 101, 114, 99, 101, - 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 111, 117, 110, 100, 115, 32, - 61, 32, 103, 84, 114, 101, 101, 46, 110, 111, 100, 101, 40, 41, 46, 103, 101, 116, 66, 66, 111, 120, 40, - 41, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 97, 114, 101, 110, 116, 32, 61, 32, 115, - 118, 103, 77, 97, 105, 110, 46, 110, 111, 100, 101, 40, 41, 46, 112, 97, 114, 101, 110, 116, 69, 108, 101, - 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 102, 117, 108, 108, 87, 105, 100, - 116, 104, 32, 61, 32, 112, 97, 114, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 87, 105, 100, 116, 104, - 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 102, 117, 108, 108, 72, 101, 105, 103, 104, 116, 32, - 61, 32, 112, 97, 114, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 72, 101, 105, 103, 104, 116, 59, 10, - 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 98, 111, 117, 110, - 100, 115, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, - 103, 104, 116, 32, 61, 32, 98, 111, 117, 110, 100, 115, 46, 104, 101, 105, 103, 104, 116, 59, 10, 10, 32, - 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 105, 100, 88, 32, 61, 32, 98, 111, 117, 110, 100, 115, 46, - 120, 32, 43, 32, 40, 119, 105, 100, 116, 104, 32, 47, 32, 50, 41, 59, 10, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 109, 105, 100, 89, 32, 61, 32, 98, 111, 117, 110, 100, 115, 46, 121, 32, 43, 32, 40, - 104, 101, 105, 103, 104, 116, 32, 47, 32, 50, 41, 59, 10, 10, 32, 32, 32, 32, 105, 102, 32, 40, 119, - 105, 100, 116, 104, 32, 61, 61, 61, 32, 48, 32, 124, 124, 32, 104, 101, 105, 103, 104, 116, 32, 61, 61, - 61, 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 59, 32, 47, 47, 32, 110, 111, 116, 104, 105, 110, 103, - 32, 116, 111, 32, 102, 105, 116, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 99, 97, 108, - 101, 32, 61, 32, 40, 112, 97, 100, 100, 105, 110, 103, 80, 101, 114, 99, 101, 110, 116, 32, 124, 124, 32, - 48, 46, 55, 53, 41, 32, 47, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 119, 105, 100, 116, 104, 32, - 47, 32, 102, 117, 108, 108, 87, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 32, 47, 32, 102, - 117, 108, 108, 72, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, - 114, 97, 110, 115, 108, 97, 116, 101, 32, 61, 32, 91, 102, 117, 108, 108, 87, 105, 100, 116, 104, 32, 47, - 32, 50, 32, 45, 32, 115, 99, 97, 108, 101, 32, 42, 32, 109, 105, 100, 88, 44, 32, 102, 117, 108, 108, - 72, 101, 105, 103, 104, 116, 32, 47, 32, 50, 32, 45, 32, 115, 99, 97, 108, 101, 32, 42, 32, 109, 105, - 100, 89, 93, 59, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 114, 97, 110, 115, 102, 111, - 114, 109, 32, 61, 32, 100, 51, 46, 122, 111, 111, 109, 73, 100, 101, 110, 116, 105, 116, 121, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 116, 114, 97, 110, 115, 108, 97, 116, 101, 40, 116, 114, 97, 110, 115, 108, - 97, 116, 101, 91, 48, 93, 44, 32, 116, 114, 97, 110, 115, 108, 97, 116, 101, 91, 49, 93, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 115, 99, 97, 108, 101, 40, 115, 99, 97, 108, 101, 41, 59, 10, 10, - 32, 32, 32, 32, 115, 118, 103, 77, 97, 105, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 116, 114, - 97, 110, 115, 105, 116, 105, 111, 110, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 100, 117, 114, - 97, 116, 105, 111, 110, 40, 53, 48, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 99, 97, 108, - 108, 40, 122, 111, 111, 109, 77, 97, 105, 110, 46, 116, 114, 97, 110, 115, 102, 111, 114, 109, 44, 32, 116, - 114, 97, 110, 115, 102, 111, 114, 109, 41, 59, 10, 125, 10, 10, 10, 47, 47, 32, 68, 105, 115, 112, 108, - 97, 121, 32, 116, 104, 101, 32, 116, 97, 98, 108, 101, 10, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, - 105, 115, 112, 108, 97, 121, 95, 116, 97, 98, 108, 101, 40, 101, 44, 32, 100, 41, 32, 123, 10, 47, 47, - 32, 66, 108, 117, 114, 32, 116, 104, 101, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 10, 32, 32, - 32, 32, 103, 76, 105, 110, 107, 46, 115, 116, 121, 108, 101, 40, 34, 111, 112, 97, 99, 105, 116, 121, 34, - 44, 32, 48, 46, 52, 41, 10, 32, 32, 32, 32, 103, 78, 111, 100, 101, 46, 115, 116, 121, 108, 101, 40, - 34, 111, 112, 97, 99, 105, 116, 121, 34, 44, 32, 48, 46, 52, 41, 10, 10, 32, 32, 32, 32, 99, 111, - 110, 115, 116, 32, 100, 105, 118, 32, 61, 32, 98, 111, 100, 121, 77, 97, 105, 110, 46, 97, 112, 112, 101, - 110, 100, 40, 39, 100, 105, 118, 39, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, - 101, 40, 34, 122, 45, 105, 110, 100, 101, 120, 34, 44, 32, 34, 50, 34, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 119, 105, 100, 116, 104, 34, 44, 32, 119, 105, 100, 116, - 104, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 104, 101, 105, 103, - 104, 116, 34, 44, 32, 104, 101, 105, 103, 104, 116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, - 110, 40, 34, 99, 108, 105, 99, 107, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 100, 41, - 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 105, 118, 46, 114, 101, 109, 111, - 118, 101, 40, 41, 59, 10, 47, 47, 32, 85, 110, 66, 108, 117, 114, 32, 116, 104, 101, 32, 98, 97, 99, - 107, 103, 114, 111, 117, 110, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 76, 105, - 110, 107, 46, 115, 116, 121, 108, 101, 40, 34, 111, 112, 97, 99, 105, 116, 121, 34, 44, 32, 49, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 78, 111, 100, 101, 46, 115, 116, 121, 108, - 101, 40, 34, 111, 112, 97, 99, 105, 116, 121, 34, 44, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 125, 41, 59, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 118, 103, 32, 61, 32, - 100, 105, 118, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 112, 112, 101, 110, 100, 40, 34, 115, 118, - 103, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 119, 105, 100, - 116, 104, 34, 44, 32, 119, 105, 100, 116, 104, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, - 121, 108, 101, 40, 34, 104, 101, 105, 103, 104, 116, 34, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, - 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 103, 84, 97, 98, 108, 101, 32, 61, 32, 115, 118, 103, - 46, 97, 112, 112, 101, 110, 100, 40, 39, 103, 39, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, - 116, 116, 114, 40, 34, 116, 114, 97, 110, 115, 102, 111, 114, 109, 34, 44, 32, 96, 116, 114, 97, 110, 115, - 108, 97, 116, 101, 40, 48, 44, 48, 41, 96, 41, 59, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, - 32, 122, 111, 111, 109, 32, 61, 32, 100, 51, 46, 122, 111, 111, 109, 40, 41, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 111, 110, 40, 39, 122, 111, 111, 109, 39, 44, 32, 40, 101, 118, 101, 110, 116, 41, 32, - 61, 62, 32, 103, 84, 97, 98, 108, 101, 46, 97, 116, 116, 114, 40, 39, 116, 114, 97, 110, 115, 102, 111, - 114, 109, 39, 44, 32, 101, 118, 101, 110, 116, 46, 116, 114, 97, 110, 115, 102, 111, 114, 109, 41, 41, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 99, 97, 108, 101, 69, 120, 116, 101, 110, 116, 40, 91, 48, - 46, 48, 53, 44, 32, 51, 93, 41, 10, 32, 32, 32, 32, 115, 118, 103, 46, 99, 97, 108, 108, 40, 122, - 111, 111, 109, 41, 10, 10, 47, 47, 32, 76, 111, 97, 100, 32, 114, 111, 119, 115, 32, 97, 110, 100, 32, - 104, 101, 97, 100, 101, 114, 115, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 111, 119, 115, 32, - 61, 32, 91, 93, 10, 32, 32, 32, 32, 118, 97, 114, 32, 104, 101, 97, 100, 101, 114, 115, 32, 61, 32, - 91, 93, 10, 47, 47, 32, 67, 104, 101, 99, 107, 32, 116, 111, 32, 115, 101, 101, 32, 105, 102, 32, 116, - 105, 109, 101, 32, 105, 115, 32, 112, 114, 111, 118, 105, 100, 101, 100, 32, 111, 114, 32, 99, 121, 99, 108, - 101, 95, 112, 101, 114, 95, 116, 117, 112, 108, 101, 10, 32, 32, 32, 32, 118, 97, 114, 32, 105, 110, 100, - 101, 120, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, 109, 101, 97, 115, 117, 114, 101, 95, 117, 110, 105, - 116, 59, 10, 32, 32, 32, 32, 100, 46, 100, 97, 116, 97, 46, 116, 105, 109, 105, 110, 103, 115, 46, 102, - 111, 114, 69, 97, 99, 104, 40, 100, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, - 111, 119, 115, 46, 112, 117, 115, 104, 40, 79, 98, 106, 101, 99, 116, 46, 118, 97, 108, 117, 101, 115, 40, - 100, 41, 41, 59, 10, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 100, - 46, 100, 97, 116, 97, 46, 116, 105, 109, 105, 110, 103, 115, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, - 61, 32, 48, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 101, 97, 100, 101, 114, 115, - 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 107, 101, 121, 115, 40, 100, 46, 100, 97, 116, 97, 46, 116, - 105, 109, 105, 110, 103, 115, 91, 48, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 101, 97, 100, - 101, 114, 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 100, 44, 32, 105, 41, 32, 61, 62, 32, 123, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 32, 61, 61, 61, 32, - 34, 116, 105, 109, 105, 110, 103, 34, 41, 32, 105, 110, 100, 101, 120, 32, 61, 32, 105, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 40, 114, 111, 119, 115, 91, - 48, 93, 91, 105, 110, 100, 101, 120, 93, 32, 61, 61, 61, 32, 34, 78, 85, 76, 76, 34, 41, 32, 63, - 32, 109, 101, 97, 115, 117, 114, 101, 95, 117, 110, 105, 116, 32, 61, 32, 34, 99, 121, 99, 108, 101, 115, - 95, 112, 101, 114, 95, 116, 117, 112, 108, 101, 34, 32, 58, 32, 34, 116, 105, 109, 105, 110, 103, 34, 59, - 10, 32, 32, 32, 32, 125, 10, 10, 10, 32, 32, 32, 32, 104, 101, 97, 100, 101, 114, 115, 46, 102, 111, - 114, 69, 97, 99, 104, 40, 40, 100, 44, 32, 105, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 105, 102, 32, 40, 100, 32, 61, 61, 61, 32, 109, 101, 97, 115, 117, 114, 101, 95, 117, 110, - 105, 116, 41, 32, 105, 110, 100, 101, 120, 32, 61, 32, 105, 10, 32, 32, 32, 32, 125, 41, 59, 10, 32, - 32, 32, 32, 118, 97, 114, 32, 109, 105, 110, 32, 61, 32, 78, 117, 109, 98, 101, 114, 46, 77, 65, 88, - 95, 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 59, 10, 32, 32, 32, 32, 118, 97, 114, 32, - 109, 97, 120, 32, 61, 32, 78, 117, 109, 98, 101, 114, 46, 77, 73, 78, 95, 83, 65, 70, 69, 95, 73, - 78, 84, 69, 71, 69, 82, 59, 10, 32, 32, 32, 32, 114, 111, 119, 115, 46, 102, 111, 114, 69, 97, 99, - 104, 40, 40, 118, 44, 32, 105, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, - 102, 32, 40, 118, 91, 105, 110, 100, 101, 120, 93, 32, 60, 32, 109, 105, 110, 41, 32, 109, 105, 110, 32, - 61, 32, 118, 91, 105, 110, 100, 101, 120, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, - 40, 118, 91, 105, 110, 100, 101, 120, 93, 32, 62, 32, 109, 97, 120, 41, 32, 109, 97, 120, 32, 61, 32, - 118, 91, 105, 110, 100, 101, 120, 93, 59, 10, 32, 32, 32, 32, 125, 41, 10, 10, 32, 32, 32, 32, 105, - 102, 32, 40, 33, 105, 115, 68, 105, 102, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, - 97, 114, 32, 114, 111, 119, 67, 111, 108, 111, 114, 83, 99, 97, 108, 101, 32, 61, 32, 100, 51, 46, 115, - 99, 97, 108, 101, 76, 105, 110, 101, 97, 114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 100, 111, 109, 97, 105, 110, 40, 91, 78, 117, 109, 98, 101, 114, 46, 77, 73, 78, 95, 83, - 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 44, 32, 109, 105, 110, 44, 32, 40, 109, 105, 110, 32, - 43, 32, 109, 97, 120, 41, 32, 47, 32, 50, 44, 32, 40, 109, 105, 110, 32, 43, 32, 109, 97, 120, 41, - 32, 47, 32, 50, 32, 43, 32, 101, 112, 115, 105, 108, 111, 110, 44, 32, 109, 97, 120, 44, 32, 78, 117, - 109, 98, 101, 114, 46, 77, 65, 88, 95, 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 93, 41, - 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 114, 97, 110, 103, 101, 40, 91, 100, 97, - 114, 107, 71, 114, 101, 101, 110, 44, 32, 103, 114, 101, 101, 110, 44, 32, 108, 105, 103, 104, 116, 71, 114, - 101, 101, 110, 44, 32, 121, 101, 108, 108, 111, 119, 44, 32, 114, 101, 100, 44, 32, 100, 97, 114, 107, 82, - 101, 100, 93, 41, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 114, 111, 119, 67, 111, 108, 111, 114, 83, 99, 97, 108, 101, 32, 61, 32, 100, 51, 46, - 115, 99, 97, 108, 101, 76, 105, 110, 101, 97, 114, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 46, 100, 111, 109, 97, 105, 110, 40, 91, 78, 117, 109, 98, 101, 114, 46, 77, 73, 78, 95, - 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 44, 32, 109, 105, 110, 44, 32, 49, 44, 32, 49, - 32, 43, 32, 101, 112, 115, 105, 108, 111, 110, 44, 32, 109, 97, 120, 44, 32, 78, 117, 109, 98, 101, 114, - 46, 77, 65, 88, 95, 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 93, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 114, 97, 110, 103, 101, 40, 91, 100, 97, 114, 107, 82, 101, - 100, 44, 32, 114, 101, 100, 44, 32, 121, 101, 108, 108, 111, 119, 44, 32, 108, 105, 103, 104, 116, 71, 114, - 101, 101, 110, 44, 32, 103, 114, 101, 101, 110, 44, 32, 100, 97, 114, 107, 71, 114, 101, 101, 110, 93, 41, - 59, 10, 32, 32, 32, 32, 125, 10, 10, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 102, 111, 114, - 101, 105, 103, 110, 79, 98, 106, 101, 99, 116, 32, 61, 32, 103, 84, 97, 98, 108, 101, 46, 97, 112, 112, - 101, 110, 100, 40, 34, 102, 111, 114, 101, 105, 103, 110, 79, 98, 106, 101, 99, 116, 34, 41, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 119, 105, 100, 116, 104, 34, 44, 32, 49, 48, - 48, 48, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 97, 116, 116, 114, 40, 34, 104, 101, 105, 103, - 104, 116, 34, 44, 32, 49, 48, 48, 48, 41, 10, 10, 47, 47, 32, 84, 97, 98, 108, 101, 10, 32, 32, - 32, 32, 99, 111, 110, 115, 116, 32, 116, 97, 98, 108, 101, 32, 61, 32, 102, 111, 114, 101, 105, 103, 110, - 79, 98, 106, 101, 99, 116, 46, 97, 112, 112, 101, 110, 100, 40, 39, 120, 104, 116, 109, 108, 58, 116, 97, - 98, 108, 101, 39, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 98, - 111, 114, 100, 101, 114, 45, 99, 111, 108, 108, 97, 112, 115, 101, 34, 44, 32, 34, 99, 111, 108, 108, 97, - 112, 115, 101, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 98, - 111, 114, 100, 101, 114, 34, 44, 32, 34, 50, 112, 120, 32, 98, 108, 97, 99, 107, 32, 115, 111, 108, 105, - 100, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 109, 97, 114, - 103, 105, 110, 34, 44, 32, 34, 97, 117, 116, 111, 34, 41, 59, 10, 10, 47, 47, 32, 104, 101, 97, 100, - 101, 114, 115, 10, 32, 32, 32, 32, 116, 97, 98, 108, 101, 46, 97, 112, 112, 101, 110, 100, 40, 34, 116, - 104, 101, 97, 100, 34, 41, 46, 97, 112, 112, 101, 110, 100, 40, 34, 116, 114, 34, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 115, 101, 108, 101, 99, 116, 65, 108, 108, 40, 34, 116, 104, 34, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 100, 97, 116, 97, 40, 104, 101, 97, 100, 101, 114, 115, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 101, 110, 116, 101, 114, 40, 41, 46, 97, 112, 112, 101, 110, 100, 40, - 34, 116, 104, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 116, 101, 120, 116, 40, 102, 117, 110, - 99, 116, 105, 111, 110, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 114, 101, 116, 117, 114, 110, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 98, 111, 114, 100, 101, 114, 34, 44, - 32, 34, 49, 112, 120, 32, 98, 108, 97, 99, 107, 32, 115, 111, 108, 105, 100, 34, 41, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 112, 97, 100, 100, 105, 110, 103, 34, 44, 32, - 34, 53, 112, 120, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, - 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 34, 44, 32, 34, 108, 105, 103, - 104, 116, 103, 114, 97, 121, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, - 40, 34, 102, 111, 110, 116, 45, 115, 105, 122, 101, 34, 44, 32, 34, 49, 54, 112, 120, 34, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 102, 111, 110, 116, 45, 102, 97, 109, - 105, 108, 121, 34, 44, 32, 34, 86, 101, 114, 100, 97, 110, 97, 34, 41, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 102, 111, 110, 116, 45, 119, 101, 105, 103, 104, 116, 34, 44, - 32, 34, 98, 111, 108, 100, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, - 40, 34, 116, 101, 120, 116, 45, 116, 114, 97, 110, 115, 102, 111, 114, 109, 34, 44, 32, 34, 117, 112, 112, - 101, 114, 99, 97, 115, 101, 34, 41, 59, 10, 10, 47, 47, 32, 100, 97, 116, 97, 10, 32, 32, 32, 32, - 116, 97, 98, 108, 101, 46, 97, 112, 112, 101, 110, 100, 40, 34, 116, 98, 111, 100, 121, 34, 41, 10, 32, - 32, 32, 32, 32, 32, 32, 32, 46, 115, 101, 108, 101, 99, 116, 65, 108, 108, 40, 34, 116, 114, 34, 41, - 46, 100, 97, 116, 97, 40, 114, 111, 119, 115, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 101, 110, - 116, 101, 114, 40, 41, 46, 97, 112, 112, 101, 110, 100, 40, 34, 116, 114, 34, 41, 10, 32, 32, 32, 32, - 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 102, 111, 110, 116, 45, 115, 105, 122, 101, 34, 44, - 32, 34, 49, 50, 112, 120, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, - 40, 34, 102, 111, 110, 116, 45, 102, 97, 109, 105, 108, 121, 34, 44, 32, 34, 86, 101, 114, 100, 97, 110, - 97, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 98, 97, 99, - 107, 103, 114, 111, 117, 110, 100, 45, 99, 111, 108, 111, 114, 34, 44, 32, 100, 32, 61, 62, 32, 123, 10, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 111, 119, 67, - 111, 108, 111, 114, 83, 99, 97, 108, 101, 40, 100, 91, 105, 110, 100, 101, 120, 93, 41, 59, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 101, 108, 101, 99, - 116, 65, 108, 108, 40, 34, 116, 100, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 100, 97, 116, - 97, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, - 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 101, 110, 116, 101, 114, 40, 41, 46, 97, 112, - 112, 101, 110, 100, 40, 34, 116, 100, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, - 108, 101, 40, 34, 116, 101, 120, 116, 45, 97, 108, 105, 103, 110, 34, 44, 32, 34, 99, 101, 110, 116, 101, - 114, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 98, 111, 114, - 100, 101, 114, 34, 44, 32, 34, 49, 112, 120, 32, 98, 108, 97, 99, 107, 32, 115, 111, 108, 105, 100, 34, - 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 115, 116, 121, 108, 101, 40, 34, 112, 97, 100, 100, 105, - 110, 103, 34, 44, 32, 34, 49, 48, 112, 120, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, - 110, 40, 34, 109, 111, 117, 115, 101, 111, 118, 101, 114, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, - 32, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 51, 46, 115, 101, - 108, 101, 99, 116, 40, 116, 104, 105, 115, 41, 46, 115, 116, 121, 108, 101, 40, 34, 102, 111, 110, 116, 45, - 115, 105, 122, 101, 34, 44, 32, 34, 50, 48, 112, 120, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 111, 110, 40, 34, 109, 111, 117, 115, 101, 111, 117, - 116, 34, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 100, 51, 46, 115, 101, 108, 101, 99, 116, 40, 116, 104, 105, 115, 41, 46, - 115, 116, 121, 108, 101, 40, 34, 102, 111, 110, 116, 45, 115, 105, 122, 101, 34, 44, 32, 34, 49, 50, 112, - 120, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, - 46, 116, 101, 120, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 100, 41, 32, 123, 10, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 59, 10, 32, 32, 32, - 32, 32, 32, 32, 32, 125, 41, 10, 125, 10, 10, 47, 47, 32, 77, 97, 105, 110, 40, 41, 10, 117, 112, - 100, 97, 116, 101, 40, 101, 118, 101, 110, 116, 44, 32, 114, 111, 111, 116, 41, 59, 0}; diff --git a/extension/visualizer/script.js b/extension/visualizer/script.js deleted file mode 100644 index c1ca4b046d02..000000000000 --- a/extension/visualizer/script.js +++ /dev/null @@ -1,429 +0,0 @@ -const green = '#80ff80'; -const lightGreen = '#d9ffb3'; -const darkGreen = '#00cc44' -const yellow = '#ffff4d'; -const red = '#ffa899'; -const darkRed = '#ff0000'; -const epsilon = 0.000000000000000001; -var isDiff = false; - -function diff(obj1, obj2) { - for (key in obj1) { - if (!obj2.hasOwnProperty(key)) throw "two json files do not belong to the same query"; - { - if (typeof obj2[key] === 'object') { - diff(obj1[key], obj2[key]); - } else if (obj2[key] !== obj1[key]) { - if(obj1[key] === 0 || obj2[key] === 0){ - obj1[key] = 1 - } else { - obj1[key] = (((obj1[key] / obj2[key]) * 100) / 100).toFixed(2); - } - } - } - - } -} - -if (secondData !== null) { - diff(data, secondData); - isDiff = true; -} - -//configuration -const uncountedScale = d3.scaleLinear() - .domain([0, 20, 100]) - .range([green, yellow, red]); -const diagonal = d3.linkVertical() - .x(d => d.x + rectNode.width / 2) - .y(d => d.y + rectNode.height) -const createPath = d3.linkVertical() - .target(function (d) { - const tmp = Object.assign({}, d.target); - tmp.y = tmp.y - 150 - return tmp; - }) - .x(d => d.x + rectNode.width / 2) - .y(function (d) { - return (d.y + rectNode.height) - }); -// Margins -const margin = ({top: 10, right: 10, bottom: 10, left: 10}) -// Node size -const rectNode = {width: 250, height: 150, textMargin: 5}; -// Node dimension -const dx = 300 -const dy = 300; -// Initialize tree, root -const tree = d3.tree().nodeSize([dx, dy]); -const root = d3.hierarchy(data); -root.x0 = dx / 2; -root.y0 = 0; - -var maxCardinality = Number.MIN_SAFE_INTEGER; -var minCardinality = Number.MAX_SAFE_INTEGER; -var maxTime = Number.MIN_SAFE_INTEGER; -var minTime = Number.MAX_SAFE_INTEGER; -// Preprocess Data -root.descendants().forEach((d, i) => { -// Duplicate children - d.id = i; - d._children = d.children; - -// Uncomment to collapse nodes at start -// if (d.depth) d.children = null; - -// Compute uncounted. currently not possible - if (d.data.uncounted == null) - d.data.uncounted = 0 - -// Find min and max cardinality - if (d.data.cardinality < minCardinality) minCardinality = d.data.cardinality; - if (d.data.cardinality > maxCardinality) maxCardinality = d.data.cardinality; -// Find min and max time - if (i > 1) { - if (d.data.timing < minTime) minTime = d.data.timing; - if (d.data.timing > maxTime) maxTime = d.data.timing; - } -}); - -//Node color -var rectColor; -if (!isDiff) { - rectColor = d3.scaleLinear() - .domain([Number.MIN_SAFE_INTEGER, minTime, (maxTime + minTime) / 2, (maxTime + minTime) / 2 + epsilon, maxTime, Number.MAX_SAFE_INTEGER]) - .range([darkGreen, green, lightGreen, yellow, red, darkRed]); - -} else { - rectColor = d3.scaleLinear() - .domain([Number.MIN_SAFE_INTEGER, minTime, 1, 1 + epsilon, maxTime, Number.MAX_SAFE_INTEGER]) - .range([darkRed, red, yellow, lightGreen, green, darkGreen]); - -} - -const widthScale = d3.scaleLinear() - .domain([minCardinality, maxCardinality]) - .range([5, 75]); - -const bodyMain = d3.select("body") - .style("width", "100%") - .style("height", "100%"); -// Width and Height -const height = bodyMain.node().getBoundingClientRect().height; -const width = bodyMain.node().getBoundingClientRect().width; - -const svgMain = bodyMain.append('div') - .style("width", width) - .style("height", height) - .append("svg") - .style("width", width) - .style("height", height); - -const gTree = svgMain.append("g") - -const gLink = gTree.append("g") - .attr("fill", "none") - .attr("stroke", "#555") - .attr("stroke-opacity", 0.4) - .attr("stroke-width", 1.5); - -const gNode = gTree.append("g") - -const zoomMain = d3.zoom() - .on('zoom', (event) => gTree.attr('transform', event.transform)) - .scaleExtent([0.05, 3]) - - -svgMain.call(zoomMain); -zoomMain.translateTo(svgMain, -width / 2, 0); -zoomToFit(); - -// Update tree -function update(e, source) { - const duration = 500; - const nodes = root.descendants().reverse(); - const links = root.links(); - -// Compute the new tree layout. - tree(root); - - const transition = svgMain.transition() - .duration(duration) - -// Update the nodes… - const node = gNode.selectAll("g") - .data(nodes, d => d.id); - -// Enter any new modes at the parent's previous position. - const nodeEnter = node.enter().append('g') - .attr('class', 'node') - .attr("transform", function (d) { - return "translate(" + source.x0 + "," + source.y0 + ")"; - }); - -// Add rect for the nodes - const rect = nodeEnter.append('rect') - .attr('rx', 20) - .attr('ry', 20) - .attr('width', rectNode.width) - .attr('height', rectNode.height) - .attr('class', 'node-rect') - .style('fill', function (d) { - return rectColor(d.data.timing) - }) - .attr('fill-opacity', '0.2') - .attr('stroke-width', '3') - .attr('stroke-opacity', '0.2') - .attr('stroke', "black") - - nodeEnter.append('foreignObject') - .attr('x', rectNode.textMargin) - .attr('y', rectNode.textMargin) - .attr('width', rectNode.width) - .attr('height', rectNode.height) - .style("font-size", "16px") - .style("font-family", "Verdana") - .append('xhtml').html(function (d) { - return '
' - + '
' + d.data.name + '

' - + '
Cardinality: ' + d.data.cardinality + '
' - + '
Uncounted: ' + d.data.uncounted + '
' - + '
Timing: ' + d.data.timing + '
' - + '
'; - }) - .on('click', (e, d) => display_table(e, d)); - -// Add backgroung circle - nodeEnter.append("circle") - .attr("r", 20) - .attr("fill", "white") - .attr("transform", function (d) { - return "translate(" + rectNode.width / 2 + ", " + rectNode.height + ")"; - }); - -// Add toggle-button for the nodes - nodeEnter.append("circle") - .classed("button", true) - .attr("r", 20) - .attr("fill", "blue") - .attr("stroke-width", 10) - .on("click", (e, d) => { - d.children = d.children ? null : d._children; - update(e, d); -// zoomToFit(); - }) - - nodeEnter.selectAll(".button") - .attr("transform", function (d) { - return "translate(" + rectNode.width / 2 + ", " + rectNode.height + ")"; - }) - .attr("fill-opacity", d => d._children ? 0.5 : 0.2); - - -// Transition nodes to their new position. - const nodeUpdate = node.merge(nodeEnter).transition(transition) - .attr("transform", d => `translate(${d.x},${d.y})`) - .attr("fill-opacity", 1) - .attr("stroke-opacity", 1); - -// Transition exiting nodes to the parent's new position. - const nodeExit = node.exit().transition(transition).remove() - .attr("transform", d => `translate(${source.x},${source.y})`) - .attr("fill-opacity", 0) - .attr("stroke-opacity", 0); - -// Update the links… - const link = gLink.selectAll("path") - .data(links, d => d.target.id); - -// Enter any new links at the parent's previous position. - const linkEnter = link.enter().append("path") - .attr("class", "link") - .attr("d", d => { - const o = {x: source.x0, y: source.y0}; - return diagonal({source: o, target: o}); - }) - .style('stroke-width', function (d) { - return widthScale(d.target.data.cardinality) - }) - -// Transition links to their new position. - link.merge(linkEnter).transition(transition) - .style('stroke-width', function (d) { - return widthScale(d.target.data.cardinality) - }) - .attr('d', function (d) { - return createPath(d) - }) - - -// Transition exiting nodes to the parent's new position. - link.exit().transition(transition).remove() - .attr("d", d => { - const o = {x: source.x, y: source.y}; - return diagonal({source: o, target: o}); - }); - -// Stash the old positions for transition. - root.eachBefore(d => { - d.x0 = d.x; - d.y0 = d.y; - }); -} - -// Zoom -function zoomToFit(paddingPercent) { - const bounds = gTree.node().getBBox(); - const parent = svgMain.node().parentElement; - const fullWidth = parent.clientWidth; - const fullHeight = parent.clientHeight; - - const width = bounds.width; - const height = bounds.height; - - const midX = bounds.x + (width / 2); - const midY = bounds.y + (height / 2); - - if (width === 0 || height === 0) return; // nothing to fit - - const scale = (paddingPercent || 0.75) / Math.max(width / fullWidth, height / fullHeight); - const translate = [fullWidth / 2 - scale * midX, fullHeight / 2 - scale * midY]; - - const transform = d3.zoomIdentity - .translate(translate[0], translate[1]) - .scale(scale); - - svgMain - .transition() - .duration(500) - .call(zoomMain.transform, transform); -} - - -// Display the table -function display_table(e, d) { -// Blur the background - gLink.style("opacity", 0.4) - gNode.style("opacity", 0.4) - - const div = bodyMain.append('div') - .style("z-index", "2") - .style("width", width) - .style("height", height) - .on("click", function (d) { - div.remove(); -// UnBlur the background - gLink.style("opacity", 1); - gNode.style("opacity", 1); - }); - - const svg = div - .append("svg") - .style("width", width) - .style("height", height); - - const gTable = svg.append('g') - .attr("transform", `translate(0,0)`); - - const zoom = d3.zoom() - .on('zoom', (event) => gTable.attr('transform', event.transform)) - .scaleExtent([0.05, 3]) - svg.call(zoom) - -// Load rows and headers - const rows = [] - var headers = [] -// Check to see if time is provided or cycle_per_tuple - var index; - var measure_unit; - d.data.timings.forEach(d => { - rows.push(Object.values(d)); - }) - if (!(d.data.timings.length === 0)) { - headers = Object.keys(d.data.timings[0]) - headers.forEach((d, i) => { - if (d === "timing") index = i - }); - (rows[0][index] === "NULL") ? measure_unit = "cycles_per_tuple" : "timing"; - } - - - headers.forEach((d, i) => { - if (d === measure_unit) index = i - }); - var min = Number.MAX_SAFE_INTEGER; - var max = Number.MIN_SAFE_INTEGER; - rows.forEach((v, i) => { - if (v[index] < min) min = v[index]; - if (v[index] > max) max = v[index]; - }) - - if (!isDiff) { - var rowColorScale = d3.scaleLinear() - .domain([Number.MIN_SAFE_INTEGER, min, (min + max) / 2, (min + max) / 2 + epsilon, max, Number.MAX_SAFE_INTEGER]) - .range([darkGreen, green, lightGreen, yellow, red, darkRed]); - } else { - rowColorScale = d3.scaleLinear() - .domain([Number.MIN_SAFE_INTEGER, min, 1, 1 + epsilon, max, Number.MAX_SAFE_INTEGER]) - .range([darkRed, red, yellow, lightGreen, green, darkGreen]); - } - - - const foreignObject = gTable.append("foreignObject") - .attr("width", 1000) - .attr("height", 1000) - -// Table - const table = foreignObject.append('xhtml:table') - .style("border-collapse", "collapse") - .style("border", "2px black solid") - .style("margin", "auto"); - -// headers - table.append("thead").append("tr") - .selectAll("th") - .data(headers) - .enter().append("th") - .text(function (d) { - return d; - }) - .style("border", "1px black solid") - .style("padding", "5px") - .style("background-color", "lightgray") - .style("font-size", "16px") - .style("font-family", "Verdana") - .style("font-weight", "bold") - .style("text-transform", "uppercase"); - -// data - table.append("tbody") - .selectAll("tr").data(rows) - .enter().append("tr") - .style("font-size", "12px") - .style("font-family", "Verdana") - .style("background-color", d => { - return rowColorScale(d[index]); - }) - .selectAll("td") - .data(function (d) { - return d; - }) - .enter().append("td") - .style("text-align", "center") - .style("border", "1px black solid") - .style("padding", "10px") - .on("mouseover", function () { - d3.select(this).style("font-size", "20px") - }) - .on("mouseout", function () { - d3.select(this).style("font-size", "12px") - }) - .text(function (d) { - return d; - }) -} - -// Main() -update(event, root); \ No newline at end of file diff --git a/extension/visualizer/visualizer.css b/extension/visualizer/visualizer.css deleted file mode 100644 index 0b1a91c1fdbf..000000000000 --- a/extension/visualizer/visualizer.css +++ /dev/null @@ -1,18 +0,0 @@ -html { - height: 100%; -} - -.link { - fill: none; - stroke: blue; - stroke-opacity: 0.3; -} - -svg { - border: 5px solid gray; -} - -div { - position: absolute; - z-index: 1; -} \ No newline at end of file diff --git a/extension/visualizer/visualizer_config.py b/extension/visualizer/visualizer_config.py deleted file mode 100644 index d7c2456810dd..000000000000 --- a/extension/visualizer/visualizer_config.py +++ /dev/null @@ -1,6 +0,0 @@ -import os - -# list all include directories -include_directories = [os.path.sep.join(x.split('/')) for x in ['extension/visualizer/include']] -# source files -source_files = [os.path.sep.join(x.split('/')) for x in ['extension/visualizer/visualizer_extension.cpp']] diff --git a/extension/visualizer/visualizer_extension.cpp b/extension/visualizer/visualizer_extension.cpp deleted file mode 100644 index fd963f2e4fe0..000000000000 --- a/extension/visualizer/visualizer_extension.cpp +++ /dev/null @@ -1,146 +0,0 @@ -#define DUCKDB_EXTENSION_MAIN -#include "duckdb.hpp" -#include "visualizer_extension.hpp" -#include "duckdb/parser/parsed_data/create_pragma_function_info.hpp" -#include "duckdb/catalog/catalog.hpp" -#include "duckdb/common/fstream.hpp" -#include "duckdb/main/extension_util.hpp" -#include "duckdb/main/query_profiler.hpp" -#include "duckdb/main/client_context.hpp" -#include "duckdb/main/client_data.hpp" -#include "visualizer_constants.hpp" - -namespace duckdb { - -static string ToHTML(ClientContext &context, const string &first_json_path, const string &second_json_path) { - std::stringstream ss; - ss << "\n"; - ss << "\n"; - ss << "\n"; - ss << "\t\n"; - ss << "\tQuery Profile Graph for Query\n"; - ss << "\n"; - ss << "\n"; - ss << "\n"; - ss << "\n"; - ss << "\n"; - ss << "\n"; - ss << "\n"; - ss << "\n"; - ss << "\n"; - return ss.str(); -} - -static void WriteToFile(string &path, string info) { - ofstream out(path); - out << info; - out.close(); - // throw an IO exception if it fails to write to the file - if (out.fail()) { - throw IOException(strerror(errno)); - } -} - -static void PragmaVisualizeLastProfilingOutput(ClientContext &context, const FunctionParameters ¶meters) { - string file_name = parameters.values[0].ToString(); - if (file_name.empty()) { - Printer::Print(ToHTML(context, "", "")); - return; - } - WriteToFile(file_name, ToHTML(context, "", "")); -} - -static void PragmaVisualizeJsonProfilingOutput(ClientContext &context, const FunctionParameters ¶meters) { - string file_name = parameters.values[0].ToString(); - string json_path = parameters.values[1].ToString(); - if (json_path.empty()) { - throw ParserException("JsonPath not specified"); - } - if (file_name.empty()) { - Printer::Print(ToHTML(context, json_path, "")); - return; - } - WriteToFile(file_name, ToHTML(context, json_path, "")); -} - -static void PragmaVisualizeDiffProfilingOutput(ClientContext &context, const FunctionParameters ¶meters) { - string file_name = parameters.values[0].ToString(); - string first_json_path = parameters.values[1].ToString(); - string second_json_path = parameters.values[2].ToString(); - if (first_json_path.empty()) { - throw ParserException("First JsonPath not specified"); - } - if (second_json_path.empty()) { - throw ParserException("Second JsonPath not specified"); - } - if (file_name.empty()) { - Printer::Print(ToHTML(context, first_json_path, second_json_path)); - return; - } - - WriteToFile(file_name, ToHTML(context, first_json_path, second_json_path)); -} - -void VisualizerExtension::Load(DuckDB &db) { - ExtensionUtil::RegisterFunction(*db.instance, PragmaFunction::PragmaCall("visualize_last_profiling_output", - PragmaVisualizeLastProfilingOutput, - {LogicalType::VARCHAR})); - ExtensionUtil::RegisterFunction( - *db.instance, PragmaFunction::PragmaCall("visualize_json_profiling_output", PragmaVisualizeJsonProfilingOutput, - {LogicalType::VARCHAR, LogicalType::VARCHAR})); - - ExtensionUtil::RegisterFunction( - *db.instance, PragmaFunction::PragmaCall("visualize_diff_profiling_output", PragmaVisualizeDiffProfilingOutput, - {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR})); -} - -std::string VisualizerExtension::Name() { - return "visualizer"; -} -} // namespace duckdb - -extern "C" { -DUCKDB_EXTENSION_API void visualizer_init(duckdb::DatabaseInstance &db) { - duckdb::DuckDB db_wrapper(db); - db_wrapper.LoadExtension(); -} - -DUCKDB_EXTENSION_API const char *visualizer_version() { - return duckdb::DuckDB::LibraryVersion(); -} -} - -#ifndef DUCKDB_EXTENSION_MAIN -#error DUCKDB_EXTENSION_MAIN not defined -#endif diff --git a/logo/DuckDB-Logo-horizontal.png b/logo/DuckDB-Logo-horizontal.png new file mode 100644 index 000000000000..6bda0bf553bf Binary files /dev/null and b/logo/DuckDB-Logo-horizontal.png differ diff --git a/logo/DuckDB-Logo-horizontal.svg b/logo/DuckDB-Logo-horizontal.svg new file mode 100644 index 000000000000..ef03312d77a4 --- /dev/null +++ b/logo/DuckDB-Logo-horizontal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/logo/DuckDB.ico b/logo/DuckDB.ico new file mode 100644 index 000000000000..0ef6fb96b194 Binary files /dev/null and b/logo/DuckDB.ico differ diff --git a/logo/DuckDB_Logo-stacked.png b/logo/DuckDB_Logo-stacked.png new file mode 100644 index 000000000000..48ff0a98f4eb Binary files /dev/null and b/logo/DuckDB_Logo-stacked.png differ diff --git a/logo/DuckDB_Logo-stacked.svg b/logo/DuckDB_Logo-stacked.svg new file mode 100644 index 000000000000..c6d5d2f07291 --- /dev/null +++ b/logo/DuckDB_Logo-stacked.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/logo/DuckDB_Logo.jpg b/logo/DuckDB_Logo.jpg deleted file mode 100644 index 9e927050ae95..000000000000 Binary files a/logo/DuckDB_Logo.jpg and /dev/null differ diff --git a/logo/DuckDB_Logo.pdf b/logo/DuckDB_Logo.pdf deleted file mode 100644 index 804093ef280e..000000000000 Binary files a/logo/DuckDB_Logo.pdf and /dev/null differ diff --git a/logo/DuckDB_Logo.png b/logo/DuckDB_Logo.png deleted file mode 100644 index 6600c9819380..000000000000 Binary files a/logo/DuckDB_Logo.png and /dev/null differ diff --git a/logo/DuckDB_Logo.svg b/logo/DuckDB_Logo.svg deleted file mode 100644 index cb5bb83fe4fa..000000000000 --- a/logo/DuckDB_Logo.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - diff --git a/scripts/amalgamation.py b/scripts/amalgamation.py index c1a00826443a..3d1634399007 100644 --- a/scripts/amalgamation.py +++ b/scripts/amalgamation.py @@ -30,6 +30,7 @@ os.path.join(include_dir, 'duckdb', 'common', 'types', 'blob.hpp'), os.path.join(include_dir, 'duckdb', 'common', 'types', 'decimal.hpp'), os.path.join(include_dir, 'duckdb', 'common', 'types', 'hugeint.hpp'), + os.path.join(include_dir, 'duckdb', 'common', 'types', 'uhugeint.hpp'), os.path.join(include_dir, 'duckdb', 'common', 'types', 'uuid.hpp'), os.path.join(include_dir, 'duckdb', 'common', 'types', 'interval.hpp'), os.path.join(include_dir, 'duckdb', 'common', 'types', 'timestamp.hpp'), @@ -69,7 +70,6 @@ def add_include_dir(dirpath): "duckdb/storage/statistics/base_statistics.hpp", "duckdb/planner/filter/conjunction_filter.hpp", "duckdb/planner/filter/constant_filter.hpp", - "duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp", "duckdb/common/types/vector_cache.hpp", "duckdb/common/string_map_set.hpp", "duckdb/planner/filter/null_filter.hpp", diff --git a/scripts/apply_extension_patches.py b/scripts/apply_extension_patches.py index 65730f1e5306..e51870ae3e1d 100644 --- a/scripts/apply_extension_patches.py +++ b/scripts/apply_extension_patches.py @@ -2,6 +2,7 @@ import sys import glob import subprocess +import os # Get the directory and construct the patch file pattern directory = sys.argv[1] @@ -10,17 +11,35 @@ # Find patch files matching the pattern patches = glob.glob(patch_pattern) + +def raise_error(error_msg): + sys.stderr.write(error_message + '\n') + sys.exit(1) + + +patches = os.listdir(directory) +for patch in patches: + if not patch.endswith('.patch'): + raise_error( + f'Patch file {patch} found in directory {directory} does not end in ".patch" - rename the patch file' + ) + + # Exit if no patches are found if not patches: error_message = ( f"\nERROR: Extension patching enabled, but no patches found in '{directory}'. " "Please make sure APPLY_PATCHES is only enabled when there are actually patches present. " - "See .github/patches/extensions/README.md for more details.\n" + "See .github/patches/extensions/README.md for more details." ) - sys.stderr.write(error_message) - sys.exit(1) + raise_error(error_message) +print(f"Resetting patches in {directory}\n") +subprocess.run(["git", "log"], check=True) +subprocess.run(["git", "reset", "--hard", "HEAD"], check=True) # Apply each patch file using git apply for patch in patches: - print(f"Applying patch: {patch}") - subprocess.run(["git", "apply", "--ignore-space-change", "--ignore-whitespace", patch]) + print(f"Applying patch: {patch}\n") + subprocess.run( + ["git", "apply", "--ignore-space-change", "--ignore-whitespace", os.path.join(directory, patch)], check=True + ) diff --git a/scripts/check-issue-for-code-formatting.py b/scripts/check-issue-for-code-formatting.py new file mode 100644 index 000000000000..e717c09ad196 --- /dev/null +++ b/scripts/check-issue-for-code-formatting.py @@ -0,0 +1,33 @@ +import re +import sys + +post_text = sys.stdin.read() + +sql_keyword_list = ["select", "from", "where", "join", "group by", "order by", "having", "with recursive", "union"] +sql_keyword_regex = f"({'|'.join(sql_keyword_list)})" + +sql_keywords = len(re.findall(rf"{sql_keyword_regex}", post_text, flags=re.MULTILINE | re.IGNORECASE)) + +backticked_code_blocks = len(re.findall(r"^```", post_text)) + +indented_sql_code_lines = len(re.findall(r"^{sql_keyword_regex}", post_text, flags=re.MULTILINE | re.IGNORECASE)) +indented_python_code_lines = len(re.findall(r"^ (import|duckdb)", post_text, flags=re.MULTILINE | re.IGNORECASE)) +indented_r_code_lines = len(re.findall(r"^ (library|dbExecute)", post_text, flags=re.MULTILINE | re.IGNORECASE)) +indented_hashbang_code_lines = len(re.findall(r"^ #!", post_text, flags=re.MULTILINE | re.IGNORECASE)) + +indented_code_lines = indented_sql_code_lines + indented_python_code_lines + indented_r_code_lines +inline_code_snippets = len(re.findall(r"`", post_text)) // 2 + +print("Metrics computed by 'check-issue-for-code-formatting.py':") +print(f"- {sql_keywords} SQL keyword(s)") +print(f"- {backticked_code_blocks} backticked code block(s)") +print( + f"- {indented_code_lines} indented code line(s): {indented_sql_code_lines} SQL, {indented_python_code_lines} Python, {indented_r_code_lines} R, {indented_hashbang_code_lines} hashbangs" +) +print(f"- {inline_code_snippets} inline code snippet(s)") + +if sql_keywords > 2 and backticked_code_blocks == 0 and indented_code_lines == 0 and inline_code_snippets == 0: + print("The post is likely not properly formatted.") + exit(1) +else: + print("The post is likely properly formatted.") diff --git a/scripts/ci_test.py b/scripts/ci_test.py deleted file mode 100644 index 1508fcf34beb..000000000000 --- a/scripts/ci_test.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys - -fail = False -for i in range(len(sys.argv)): - if sys.argv[i].startswith("--fail"): - fail = True - -if fail: - print("Sorry man") - assert 0 -else: - print("Yeah man") diff --git a/scripts/create_local_extension_repo.py b/scripts/create_local_extension_repo.py index 3fbb974fcc38..f2894ad24abd 100644 --- a/scripts/create_local_extension_repo.py +++ b/scripts/create_local_extension_repo.py @@ -1,7 +1,7 @@ ### # This script copies all extensions in a build folder from their cmake-produced structure into the extension repository -# structure of .///.duckdb_extension. Note that it requires -# the shell to be built in the build folder since it uses that to determine the version and arch +# structure of .///.duckdb_extension +# Note that it requires duckdb_platofrom_out file to be populated with the platform import os import sys @@ -9,51 +9,34 @@ import glob import shutil -if len(sys.argv) != 4: +if len(sys.argv) != 6: print( - "Usage: scripts/create_local_extension_repo.py " + "Usage: scripts/create_local_extension_repo.py " ) exit(1) -duckdb_path = sys.argv[1] -extension_path = sys.argv[2] -dst_path = sys.argv[3] +duckdb_version = sys.argv[1] +duckdb_platform_out = sys.argv[2] +extension_path = sys.argv[3] +dst_path = sys.argv[4] +postfix = sys.argv[5] if os.name == 'nt': - duckdb_path = duckdb_path.replace("/", "\\") + duckdb_platform_out = duckdb_platform_out.replace("/", "\\") extension_path = extension_path.replace("/", "\\") dst_path = dst_path.replace("/", "\\") -print(f"Paths as received: {duckdb_path}, {extension_path}, {dst_path}") - -duckdb_invocation = [duckdb_path, '-noheader', '-list', '-c'] -platform_query = duckdb_invocation.copy() -platform_query.append('SELECT platform FROM pragma_platform();') -version_query = duckdb_invocation.copy() -version_query.append('SELECT library_version FROM pragma_version();') -source_id_query = duckdb_invocation.copy() -source_id_query.append('SELECT source_id FROM pragma_version();') - -# Run queries to fetch duckdb platform and version -res = subprocess.run(platform_query, check=True, capture_output=True) -duckdb_platform = res.stdout.decode('ascii').strip() -res = subprocess.run(version_query, check=True, capture_output=True) -duckdb_version = res.stdout.decode('ascii').strip() -res = subprocess.run(source_id_query, check=True, capture_output=True) -source_id = res.stdout.decode('ascii').strip() - -version_path = source_id if "-dev" in duckdb_version else duckdb_version +with open(duckdb_platform_out, 'r') as f: + duckdb_platform = [line.split(None, 1)[0] for line in f][0] # Create destination path -dest_path = os.path.join(dst_path, version_path, duckdb_platform) +dest_path = os.path.join(dst_path, duckdb_version, duckdb_platform) if not os.path.exists(dest_path): os.makedirs(dest_path) # Now copy over the extensions to the correct path -glob_string = os.path.join(extension_path, 'extension', '*', '*.duckdb_extension') +glob_string = os.path.join(extension_path, 'extension', '*', '*.' + postfix) -print("Copying extensions into repository:") for file in glob.glob(glob_string): dest_file = os.path.join(dest_path, os.path.basename(file)) - print(f" > {file} -> {dest_file}") shutil.copy(file, dest_file) diff --git a/scripts/exported_symbols_check.py b/scripts/exported_symbols_check.py index 24bcee2f8e5f..547956a740c1 100644 --- a/scripts/exported_symbols_check.py +++ b/scripts/exported_symbols_check.py @@ -38,6 +38,8 @@ '__udivti3', '__popcount', 'Adbc', + 'ErrorArrayStream', + 'ErrorFromArrayStream', ] for symbol in res.stdout.decode('utf-8').split('\n'): diff --git a/scripts/extension-lipo-strip.sh b/scripts/extension-lipo-strip.sh deleted file mode 100755 index 6070142591c2..000000000000 --- a/scripts/extension-lipo-strip.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -if [ "$#" -ne 3 ]; then - echo "Usage: ./extension-lipo-strip.sh " -fi - -set -e - -# Ensure we do nothing on failed globs -shopt -s nullglob - -FILES="$2/*/*.duckdb_extension" - -# Ensure the output dir exists -mkdir -p $3 - -# Give dem fat extensions some lipo -for f in $FILES -do - ext=`basename $f .duckdb_extension` - lipo $f -remove $1 -output $3/$ext.duckdb_extension -done \ No newline at end of file diff --git a/scripts/extension-upload-all.sh b/scripts/extension-upload-all.sh new file mode 100755 index 000000000000..08079b00b69d --- /dev/null +++ b/scripts/extension-upload-all.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# Uploads all extensions found in (default: build/release/extension/*) +# this script is used by DuckDB CI to upload all extensions at once + +# Usage: ./extension-upload-all.sh [] + +# The directory that the script lives in, thanks @Tishj +script_dir="$(dirname "$(readlink -f "$0")")" + +if [ -z "$1" ] || [ -z "$2" ]; then + echo "Usage: ./extension-upload-all.sh []" + exit 1 +fi + +if [ -z "$3" ]; then + BASE_DIR="build/release/extension/*" +else + BASE_DIR="$3" +fi + +set -e + +# Ensure we do nothing on failed globs +shopt -s nullglob + +# Print dry run / real run +if [ "$DUCKDB_DEPLOY_SCRIPT_MODE" == "for_real" ]; then + echo "Deploying extensions.." +else + echo "Deploying extensions.. (DRY RUN)" +fi + +FILES="$BASE_DIR/*.duckdb_extension" +for f in $FILES +do + ext_name=`basename $f .duckdb_extension` + echo "found extension: '$ext_name'" + + # args: [] + $script_dir/extension-upload-single.sh $ext_name "" "$2" "$1" "duckdb-extensions" true false "$(dirname "$f")" +done \ No newline at end of file diff --git a/scripts/extension-upload-from-nightly.sh b/scripts/extension-upload-from-nightly.sh new file mode 100755 index 000000000000..80b0bb90f752 --- /dev/null +++ b/scripts/extension-upload-from-nightly.sh @@ -0,0 +1,115 @@ +#!/bin/bash + +# This script deploys the extension binaries that are currently deployed to the nightly bucket to the main bucket + +# WARNING: don't use this script if you don't know exactly what you're doing. To deploy a binary: +# - Run the script with ./extension-upload-from-nightly.sh () +# - CHECK the output of the dry run thoroughly +# - If successful, set the DUCKDB_DEPLOY_SCRIPT_MODE env variable to the correct value +# - run the script again now deploying for real +# - check the output +# - unset the DUCKDB_DEPLOY_SCRIPT_MODE env var + +if [ -z "$1" ] || [ -z "$2" ]; then + echo "Usage: ./extension-upload-from-nightly.sh ()" + exit 1 +fi + +if [ -z "$3" ]; then + BASE_NIGHTLY_DIR="$2" +else + BASE_NIGHTLY_DIR="$1/$3/$2" +fi + +# CONFIG +FROM_BUCKET=duckdb-extensions-nightly +TO_BUCKET=duckdb-extensions +CLOUDFRONT_DISTRIBUTION_ID=E2Z28NDMI4PVXP + +### COPY THE FILES +## REAL_RUN is to be used to move non-Wasm extensions +REAL_RUN="aws s3 cp s3://$FROM_BUCKET/$BASE_NIGHTLY_DIR s3://$TO_BUCKET/$2 --recursive --exclude '*' --include '*/$1.duckdb_extension.gz' --acl public-read" +DRY_RUN="$REAL_RUN --dryrun" +## REAL_RUN_WASM is to be used to move Wasm extensions to new style path (no extra duckdb-wasm) +REAL_RUN_WASM="aws s3 cp s3://$FROM_BUCKET/$BASE_NIGHTLY_DIR s3://$TO_BUCKET/$2 --recursive --exclude '*' --include '*/$1.duckdb_extension.wasm' --acl public-read --content-encoding br --content-type='application/wasm'" +DRY_RUN_WASM="$REAL_RUN_WASM --dryrun" +## REAL_RUN_WASM_OLD_STYLE is to be used to move Wasm extensions to old style path (additional /duckdb-wasm/ in the path) +## This can be phased with release 0.10.0 +REAL_RUN_WASM_OLD_STYLE="aws s3 cp s3://$FROM_BUCKET/$BASE_NIGHTLY_DIR s3://$TO_BUCKET/duckdb-wasm/$2 --recursive --exclude '*' --include '*/$1.duckdb_extension.wasm' --acl public-read --content-encoding br --content-type='application/wasm'" +DRY_RUN_WASM_OLD_STYLE="$REAL_RUN_WASM_OLD_STYLE --dryrun" + +if [ "$DUCKDB_DEPLOY_SCRIPT_MODE" == "for_real" ]; then + echo "DEPLOYING" + echo "> FROM: $FROM_BUCKET" + echo "> TO : $TO_BUCKET" + echo "> AWS CLI deploy: " + eval "$REAL_RUN" + eval "$REAL_RUN_WASM" + eval "$REAL_RUN_WASM_OLD_STYLE" +else + echo "DEPLOYING (DRY RUN)" + echo "> FROM: $FROM_BUCKET" + echo "> TO : $TO_BUCKET" + echo "> AWS CLI Dry run: " + eval "$DRY_RUN" + eval "$DRY_RUN_WASM" + eval "$DRY_RUN_WASM_OLD_STYLE" +fi + +echo "" + +### INVALIDATE THE CLOUDFRONT CACHE AND CLOUDFLARE +# For double checking we are invalidating the correct domain +CLOUDFRONT_ORIGINS=`aws cloudfront get-distribution --id $CLOUDFRONT_DISTRIBUTION_ID --query 'Distribution.DistributionConfig.Origins.Items[*].DomainName' --output text` + +# Parse the dry run output +output=$(eval "$DRY_RUN" && eval "$DRY_RUN_WASM" && eval "$DRY_RUN_WASM_OLD_STYLE") +s3_paths=() +while IFS= read -r line; do + if [[ $line == *"copy:"* ]]; then + s3_path=$(echo $line | grep -o 's3://[^ ]*' | awk 'NR%2==0' | awk -F "s3://$TO_BUCKET" '{print $2}' | cut -d' ' -f1) + s3_paths+=("$s3_path") + fi +done <<< "$output" + +if [ "$DUCKDB_DEPLOY_SCRIPT_MODE" == "for_real" ]; then + echo "CLOUDFRONT INVALIDATION" + echo "> Total files: ${#s3_paths[@]}" + echo "> Domain: $CLOUDFRONT_ORIGINS" + for path in "${s3_paths[@]}"; do + aws cloudfront create-invalidation --distribution-id "$CLOUDFRONT_DISTRIBUTION_ID" --paths "$path" + done +else + echo "INVALIDATION (DRY RUN)" + echo "> Total files: ${#s3_paths[@]}" + echo "> Domain: $CLOUDFRONT_ORIGINS" + echo "> Paths:" + for path in "${s3_paths[@]}"; do + echo " $path" + done +fi + +echo "" + +if [ ! -z "$CLOUDFLARE_CACHE_PURGE_TOKEN" ]; then + if [ "$DUCKDB_DEPLOY_SCRIPT_MODE" == "for_real" ]; then + echo "CLOUDFLARE INVALIDATION" + echo "> Total files: ${#s3_paths[@]}" + for path in "${s3_paths[@]}"; do + curl --request POST --url https://api.cloudflare.com/client/v4/zones/84f631c38b77d4631b561207f2477332/purge_cache --header 'Content-Type: application/json' --header "Authorization: Bearer $CLOUDFLARE_CACHE_PURGE_TOKEN" --data "{\"files\": [\"http://extensions.duckdb.org$path\"]}" + echo "" + done + else + echo "CLOUDFLARE INVALIDATION (DRY RUN)" + echo "> Total files: ${#s3_paths[@]}" + echo "> Domain: $CLOUDFRONT_ORIGINS" + echo "> Paths:" + for path in "${s3_paths[@]}"; do + echo " http://extensions.duckdb.org$path" + done + fi +else + echo "##########################################" + echo "WARNING! CLOUDFLARE INVALIDATION DISABLED!" + echo "##########################################" +fi diff --git a/scripts/extension-upload-single.sh b/scripts/extension-upload-single.sh new file mode 100755 index 000000000000..306fce6e3320 --- /dev/null +++ b/scripts/extension-upload-single.sh @@ -0,0 +1,115 @@ +#!/bin/bash + +# Main extension uploading script + +# Note: use the DUCKDB_DEPLOY_SCRIPT_MODE variable to disable dryrun mode + +# Usage: ./extension-upload-single.sh [] +# : Name of the extension +# : Version (commit / version tag) of the extension +# : Version (commit / version tag) of DuckDB +# : Architecture target of the extension binary +# : S3 bucket to upload to +# : Set this as the latest version ("true" / "false", default: "false") +# : Set this as a versioned version that will not be overwritten +# : (optional) Search this path for the extension + +set -e + +if [ -z "$8" ]; then + BASE_EXT_DIR="/tmp/extension" +else + BASE_EXT_DIR="$8" +fi + +if [[ $4 == wasm* ]]; then + ext="$BASE_EXT_DIR/$1.duckdb_extension.wasm" +else + ext="$BASE_EXT_DIR/$1.duckdb_extension" +fi + +script_dir="$(dirname "$(readlink -f "$0")")" + +# calculate SHA256 hash of extension binary +cat $ext > $ext.append + +if [[ $4 == wasm* ]]; then + # 0 for custom section + # 113 in hex = 275 in decimal, total lenght of what follows (1 + 16 + 2 + 256) + # [1(continuation) + 0010011(payload) = \x93, 0(continuation) + 10(payload) = \x02] + echo -n -e '\x00' >> $ext.append + echo -n -e '\x93\x02' >> $ext.append + # 10 in hex = 16 in decimal, lenght of name, 1 byte + echo -n -e '\x10' >> $ext.append + echo -n -e 'duckdb_signature' >> $ext.append + # the name of the WebAssembly custom section, 16 bytes + # 100 in hex, 256 in decimal + # [1(continuation) + 0000000(payload) = ff, 0(continuation) + 10(payload)], + # for a grand total of 2 bytes + echo -n -e '\x80\x02' >> $ext.append +fi + +# (Optionally) Sign binary +if [ "$DUCKDB_EXTENSION_SIGNING_PK" != "" ]; then + echo "$DUCKDB_EXTENSION_SIGNING_PK" > private.pem + $script_dir/compute-extension-hash.sh $ext.append > $ext.hash + openssl pkeyutl -sign -in $ext.hash -inkey private.pem -pkeyopt digest:sha256 -out $ext.sign + rm -f private.pem +else + # Default to 256 zeros + dd if=/dev/zero of=$ext.sign bs=256 count=1 +fi + +# append signature to extension binary +cat $ext.sign >> $ext.append + +# compress extension binary +if [[ $4 == wasm_* ]]; then + brotli < $ext.append > "$ext.compressed" +else + gzip < $ext.append > "$ext.compressed" +fi + +set -e + +# Abort if AWS key is not set +if [ -z "$AWS_ACCESS_KEY_ID" ]; then + echo "No AWS key found, skipping.." + exit 0 +fi + +if [ "$DUCKDB_EXTENSION_SIGNING_PK" != "" ]; then + echo "$DUCKDB_EXTENSION_SIGNING_PK" > private.pem + $script_dir/compute-extension-hash.sh $ext.append > $ext.hash + openssl pkeyutl -sign -in $ext.hash -inkey private.pem -pkeyopt digest:sha256 -out $ext.sign + rm -f private.pem +fi + +# Set dry run unless guard var is set +DRY_RUN_PARAM="--dryrun" +if [ "$DUCKDB_DEPLOY_SCRIPT_MODE" == "for_real" ]; then + DRY_RUN_PARAM="" +fi + +# upload versioned version +if [[ $7 = 'true' ]]; then + if [ -z "$3" ]; then + echo "extension-upload-single.sh called with upload_versioned=true but no extension version was passed" + exit 1 + fi + + if [[ $4 == wasm* ]]; then + aws s3 cp $ext.compressed s3://$5/duckdb-wasm/$1/$2/duckdb-wasm/$3/$4/$1.duckdb_extension.wasm $DRY_RUN_PARAM --acl public-read --content-encoding br --content-type="application/wasm" + else + aws s3 cp $ext.compressed s3://$5/$1/$2/$3/$4/$1.duckdb_extension.gz $DRY_RUN_PARAM --acl public-read + fi +fi + +# upload to latest version +if [[ $6 = 'true' ]]; then + if [[ $4 == wasm* ]]; then + aws s3 cp $ext.compressed s3://$5/duckdb-wasm/$3/$4/$1.duckdb_extension.wasm $DRY_RUN_PARAM --acl public-read --content-encoding br --content-type="application/wasm" + else + aws s3 cp $ext.compressed s3://$5/$3/$4/$1.duckdb_extension.gz $DRY_RUN_PARAM --acl public-read + fi +fi diff --git a/scripts/extension-upload.sh b/scripts/extension-upload.sh deleted file mode 100755 index 1b8bedc4a9a2..000000000000 --- a/scripts/extension-upload.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -# Usage: ./extension-upload.sh <(optionally) base_dir> - -# The directory that the script lives in, thanks @Tishj -script_dir="$(dirname "$(readlink -f "$0")")" - -if [ -z "$3" ]; then - BASE_DIR="build/release/extension/*" -else - BASE_DIR="$3" -fi - -set -e - -# Ensure we do nothing on failed globs -shopt -s nullglob - -echo "$DUCKDB_EXTENSION_SIGNING_PK" > private.pem - -FILES="$BASE_DIR/*.duckdb_extension" -for f in $FILES -do - ext=`basename $f .duckdb_extension` - # calculate SHA256 hash of extension binary - $script_dir/compute-extension-hash.sh $f > $f.hash - # encrypt hash with extension signing private key to create signature - openssl pkeyutl -sign -in $f.hash -inkey private.pem -pkeyopt digest:sha256 -out $f.sign - # append signature to extension binary - cat $f.sign >> $f - # compress extension binary - gzip < $f > "$f.gz" - # upload compressed extension binary to S3 - aws s3 cp $f.gz s3://duckdb-extensions/$2/$1/$ext.duckdb_extension.gz --acl public-read -done - -rm private.pem diff --git a/scripts/format.py b/scripts/format.py index 3c7be170538e..03846caf5565 100644 --- a/scripts/format.py +++ b/scripts/format.py @@ -10,13 +10,14 @@ import difflib import re from python_helpers import open_utf8 -from importlib import import_module -from importlib.metadata import version try: - import_module('black') -except ImportError as e: - print('you need to run `pip install black`', e) + ver = subprocess.check_output(('black', '--version'), text=True) + if int(ver.split(' ')[1].split('.')[0]) < 24: + print('you need to run `pip install "black>=24"`', ver) + exit(-1) +except Exception as e: + print('you need to run `pip install "black>=24"`', e) exit(-1) try: diff --git a/scripts/generate_enum_util.py b/scripts/generate_enum_util.py index cefa4392770a..5244050842f7 100644 --- a/scripts/generate_enum_util.py +++ b/scripts/generate_enum_util.py @@ -32,6 +32,7 @@ "NULLS_LAST": ["NULLS_LAST", "NULLS LAST"], }, "SampleMethod": {"SYSTEM_SAMPLE": "System", "BERNOULLI_SAMPLE": "Bernoulli", "RESERVOIR_SAMPLE": "Reservoir"}, + "TableReferenceType": {"EMPTY_FROM": "EMPTY"}, } diff --git a/scripts/generate_extensions_function.py b/scripts/generate_extensions_function.py index dca637b9662e..9069878ae9e1 100644 --- a/scripts/generate_extensions_function.py +++ b/scripts/generate_extensions_function.py @@ -271,6 +271,11 @@ def print_map_diff(d1, d2): {"http://", "httpfs"}, {"https://", "httpfs"}, {"s3://", "httpfs"}, + {"s3a://", "httpfs"}, + {"s3n://", "httpfs"}, + {"gcs://", "httpfs"}, + {"gs://", "httpfs"}, + {"r2://", "httpfs"} // {"azure://", "azure"} }; // END_OF_EXTENSION_FILE_PREFIXES @@ -295,6 +300,25 @@ def print_map_diff(d1, d2): {".jsonl?", ".ndjson?"} }; // EXTENSION_FILE_CONTAINS +// Note: these are currently hardcoded in scripts/generate_extensions_function.py +// TODO: automate by passing though to script via duckdb +static constexpr ExtensionEntry EXTENSION_SECRET_TYPES[] = {{"s3", "httpfs"}, + {"r2", "httpfs"}, + {"gcs", "httpfs"}, + {"azure", "azure"}}; // EXTENSION_SECRET_TYPES + + +// Note: these are currently hardcoded in scripts/generate_extensions_function.py +// TODO: automate by passing though to script via duckdb +static constexpr ExtensionEntry EXTENSION_SECRET_PROVIDERS[] = {{"s3/config", "httpfs"}, + {"gcs/config", "httpfs"}, + {"r2/config", "httpfs"}, + {"s3/credential_chain", "aws"}, + {"gcs/credential_chain", "aws"}, + {"r2/credential_chain", "aws"}, + {"azure/config", "azure"}, + {"azure/credential_chain", "azure"}}; // EXTENSION_SECRET_PROVIDERS + static constexpr const char *AUTOLOADABLE_EXTENSIONS[] = { // "azure", "autocomplete", diff --git a/scripts/generate_functions.py b/scripts/generate_functions.py index d2dd8cfa3cc8..91b0981852a3 100644 --- a/scripts/generate_functions.py +++ b/scripts/generate_functions.py @@ -10,10 +10,12 @@ 'enum', 'generic', 'list', + 'array', 'map', 'math', 'operators', 'random', + 'secret', 'string', 'debug', 'struct', diff --git a/scripts/generate_serialization.py b/scripts/generate_serialization.py index 2846c4bb59aa..8d5a0fc60e6a 100644 --- a/scripts/generate_serialization.py +++ b/scripts/generate_serialization.py @@ -52,6 +52,9 @@ } // namespace duckdb ''' +templated_base = ''' +template ''' + serialize_base = ''' void ${CLASS_NAME}::Serialize(Serializer &serializer) const { ${MEMBERS}} @@ -138,11 +141,15 @@ def replace_pointer(type): return re.sub('([a-zA-Z0-9]+)[*]', 'unique_ptr<\\1>', type) +def get_default_argument(default_value): + return f'{default_value}'.lower() if type(default_value) == bool else f'{default_value}' + + def get_serialize_element( property_name, property_id, property_key, property_type, has_default, default_value, is_deleted, pointer_type ): assignment = '.' if pointer_type == 'none' else '->' - default_argument = '' if default_value is None else f', {default_value}' + default_argument = '' if default_value is None else f', {get_default_argument(default_value)}' template = serialize_element if is_deleted: template = "\t/* [Deleted] (${PROPERTY_TYPE}) \"${PROPERTY_NAME}\" */\n" @@ -171,7 +178,7 @@ def get_deserialize_element_template( ): # read_method = 'ReadProperty' assignment = '.' if pointer_type == 'none' else '->' - default_argument = '' if default_value is None else f', {default_value}' + default_argument = '' if default_value is None else f', {get_default_argument(default_value)}' if is_deleted: template = template.replace(', result${ASSIGNMENT}${PROPERTY_NAME}', '').replace( 'ReadProperty', 'ReadDeletedProperty' @@ -255,6 +262,8 @@ def has_default_by_default(type): if is_container(type): if 'IndexVector' in type: return False + if 'CSVOption' in type: + return False return True if type == 'string': return True @@ -616,8 +625,19 @@ def generate_class_code(class_entry): deserialize_return = get_return_value(class_entry.pointer_type, class_entry.return_type) class_generation = '' - class_generation += serialize_base.replace('${CLASS_NAME}', class_entry.name).replace('${MEMBERS}', class_serialize) - class_generation += ( + pattern = re.compile(r'<\w+>') + templated_type = '' + + # Check if is a templated class + is_templated = pattern.search(class_entry.name) + if is_templated: + templated_type = templated_base.replace('${TEMPLATE_NAME}', is_templated.group()[1:-1]) + + class_generation += templated_type + serialize_base.replace('${CLASS_NAME}', class_entry.name).replace( + '${MEMBERS}', class_serialize + ) + + class_generation += templated_type + ( deserialize_base.replace('${DESERIALIZE_RETURN}', deserialize_return) .replace('${CLASS_NAME}', class_entry.name) .replace('${MEMBERS}', class_deserialize) diff --git a/scripts/jdbc_maven_deploy.py b/scripts/jdbc_maven_deploy.py index 18cd914e7d57..2f5e4e3b0644 100644 --- a/scripts/jdbc_maven_deploy.py +++ b/scripts/jdbc_maven_deploy.py @@ -154,9 +154,6 @@ def exec(cmd): ): raise ValueError('could not create all required files') -# run basic tests, it should now work on whatever platform this is -exec("java -cp %s org.duckdb.test.TestDuckDBJDBC" % binary_jar) - # now sign and upload everything # for this to work, you must have entry in ~/.m2/settings.xml: diff --git a/scripts/link-wasm-extensions.sh b/scripts/link-wasm-extensions.sh deleted file mode 100644 index e5206608a8df..000000000000 --- a/scripts/link-wasm-extensions.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -trap exit SIGINT - -mkdir -p built_extensions -shopt -s nullglob -shopt -s globstar - -FILES="extension/**/*.duckdb_extension" -for f in $FILES -do - ext=`basename $f .duckdb_extension` - echo $ext - emcc $f -sSIDE_MODULE=1 -o built_extensions/$ext.duckdb_extension.wasm -O3 -done - -ls -la built_extensions diff --git a/scripts/merge_vcpkg_deps.py b/scripts/merge_vcpkg_deps.py index 6fa25b283bae..5a471ab26836 100644 --- a/scripts/merge_vcpkg_deps.py +++ b/scripts/merge_vcpkg_deps.py @@ -55,7 +55,7 @@ def prefix_overlay_port(overlay_port): data = { "description": f"Auto-generated vcpkg.json for combined DuckDB extension build", - "builtin-baseline": "501db0f17ef6df184fcdbfbe0f87cde2313b6ab1", + "builtin-baseline": "a42af01b72c28a8e1d7b48107b33e4f286a55ef6", "dependencies": final_deduplicated_deps, "overrides": [{"name": "openssl", "version": "3.0.8"}], } diff --git a/scripts/modify_distribution_matrix.py b/scripts/modify_distribution_matrix.py index 3f50e102464a..7c90ec941cb1 100644 --- a/scripts/modify_distribution_matrix.py +++ b/scripts/modify_distribution_matrix.py @@ -3,6 +3,7 @@ import argparse import json import sys +import logging # Define command-line arguments parser = argparse.ArgumentParser(description="Filter a JSON file based on excluded duckdb_arch values and select an OS") @@ -41,10 +42,16 @@ def filter_entries(data, arch_values): # Select an OS if specified if select_os: + found = False for os in filtered_data.keys(): if os == select_os: filtered_data = filtered_data[os] + found = True break + if found == False: + logging.warning('A selection OS was provided but not found') + filtered_data = [] + # When deploy_matrix is specified, we only output a single merged include list with all the duckdb_archs elif args.deploy_matrix: deploy_archs = [] diff --git a/scripts/package_build.py b/scripts/package_build.py index f98eeeeb3772..a60a5d2d5f89 100644 --- a/scripts/package_build.py +++ b/scripts/package_build.py @@ -17,6 +17,7 @@ def third_party_includes(): includes += [os.path.join('third_party', 'utf8proc', 'include')] includes += [os.path.join('third_party', 'utf8proc')] includes += [os.path.join('third_party', 'hyperloglog')] + includes += [os.path.join('third_party', 'skiplist')] includes += [os.path.join('third_party', 'fastpforlib')] includes += [os.path.join('third_party', 'tdigest')] includes += [os.path.join('third_party', 'libpg_query', 'include')] @@ -40,6 +41,7 @@ def third_party_sources(): sources += [os.path.join('third_party', 'miniz')] sources += [os.path.join('third_party', 're2')] sources += [os.path.join('third_party', 'hyperloglog')] + sources += [os.path.join('third_party', 'skiplist')] sources += [os.path.join('third_party', 'fastpforlib')] sources += [os.path.join('third_party', 'utf8proc')] sources += [os.path.join('third_party', 'libpg_query')] diff --git a/scripts/run_tests_one_by_one.py b/scripts/run_tests_one_by_one.py index 2886a23df6fe..6267733c1f3a 100644 --- a/scripts/run_tests_one_by_one.py +++ b/scripts/run_tests_one_by_one.py @@ -1,38 +1,30 @@ import sys import subprocess -import re -import os import time -no_exit = False -profile = False -assertions = True - -for i in range(len(sys.argv)): - if sys.argv[i] == '--no-exit': - no_exit = True - del sys.argv[i] - i -= 1 - elif sys.argv[i] == '--profile': - profile = True - del sys.argv[i] - i -= 1 - elif sys.argv[i] == '--no-assertions': - assertions = False - del sys.argv[i] - i -= 1 - -if len(sys.argv) < 2: - print( - "Expected usage: python3 scripts/run_tests_one_by_one.py build/debug/test/unittest [--no-exit] [--profile] [--no-assertions]" - ) - exit(1) -unittest_program = sys.argv[1] -extra_args = [] -if len(sys.argv) > 2: - extra_args = [sys.argv[2]] +import argparse + +parser = argparse.ArgumentParser(description='Run tests one by one with optional flags.') +parser.add_argument('unittest_program', help='Path to the unittest program') +parser.add_argument('--no-exit', action='store_true', help='Do not exit after running tests') +parser.add_argument('--profile', action='store_true', help='Enable profiling') +parser.add_argument('--no-assertions', action='store_false', help='Disable assertions') +parser.add_argument('--time_execution', action='store_true', help='Measure and print the execution time of each test') +parser.add_argument('--list', action='store_true', help='Print the list of tests to run') + +args, extra_args = parser.parse_known_args() + +if not args.unittest_program: + parser.error('Path to unittest program is required') +# Access the arguments +unittest_program = args.unittest_program +no_exit = args.no_exit +profile = args.profile +assertions = args.no_assertions +time_execution = args.time_execution +# Use the '-l' parameter to output the list of tests to run proc = subprocess.Popen([unittest_program, '-l'] + extra_args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout = proc.stdout.read().decode('utf8') stderr = proc.stderr.read().decode('utf8') @@ -43,6 +35,7 @@ print(stderr) exit(1) +# The output is in the format of 'PATH\tGROUP', we're only interested in the PATH portion test_cases = [] first_line = True for line in stdout.splitlines(): @@ -54,7 +47,11 @@ splits = line.rsplit('\t', 1) test_cases.append(splits[0]) + test_count = len(test_cases) +if args.list: + for test_number, test_case in enumerate(test_cases): + print(print(f"[{test_number}/{test_count}]: {test_case}")) return_code = 0 @@ -72,20 +69,24 @@ def parse_assertions(stdout): return "" -for test_number in range(test_count): +for test_number, test_case in enumerate(test_cases): if not profile: - print("[" + str(test_number) + "/" + str(test_count) + "]: " + test_cases[test_number], end="") + print(f"[{test_number}/{test_count}]: {test_case}", end="") start = time.time() - res = subprocess.run([unittest_program, test_cases[test_number]], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + res = subprocess.run([unittest_program, test_case], stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout = res.stdout.decode('utf8') stderr = res.stderr.decode('utf8') end = time.time() + + additional_data = "" if assertions: - print(" (" + parse_assertions(stdout) + ")") - else: - print() + additional_data += " (" + parse_assertions(stdout) + ")" + if args.time_execution: + additional_data += f" (Time: {end - start:.4f} seconds)" + + print(additional_data, flush=True) if profile: - print(f'{test_cases[test_number]} {end - start}') + print(f'{test_case} {end - start}') if res.returncode is not None and res.returncode != 0: print("FAILURE IN RUNNING TEST") print( diff --git a/scripts/setup_manylinux2014.sh b/scripts/setup_manylinux2014.sh index 230a8a820302..90d5be101be9 100755 --- a/scripts/setup_manylinux2014.sh +++ b/scripts/setup_manylinux2014.sh @@ -40,7 +40,7 @@ install_deps() { ( cd $VCPKG_TARGET_DIR ; git clone https://github.com/Microsoft/vcpkg.git ; - git checkout 501db0f17ef6df184fcdbfbe0f87cde2313b6ab1 ; + git checkout a42af01b72c28a8e1d7b48107b33e4f286a55ef6 ; cd vcpkg ; ./bootstrap-vcpkg.sh ) diff --git a/scripts/test_block_sizes.py b/scripts/test_block_sizes.py new file mode 100644 index 000000000000..de97695cbe69 --- /dev/null +++ b/scripts/test_block_sizes.py @@ -0,0 +1,57 @@ +import os +import re +from python_helpers import open_utf8 + + +def execute_system_command(cmd): + print(cmd) + retcode = os.system(cmd) + print(retcode) + if retcode != 0: + raise Exception + + +def replace_in_file(fname, regex, replace): + with open_utf8(fname, 'r') as f: + contents = f.read() + contents = re.sub(regex, replace, contents) + with open_utf8(fname, 'w+') as f: + f.write(contents) + + +current_dir = os.getcwd() +build_dir = os.path.join(os.getcwd(), 'build', 'release') + +# run the fast tests and all storage-related tests +# with a block size of 16KB and a standard vector size +block_size = 16384 +print("TESTING BLOCK_ALLOC_SIZE=%d" % (block_size,)) +print("TESTING STANDARD_VECTOR_SIZE") + +replace_in_file( + 'src/include/duckdb/storage/storage_info.hpp', + r'constexpr static idx_t BLOCK_ALLOC_SIZE = \w+', + 'constexpr static idx_t BLOCK_ALLOC_SIZE = %d' % (block_size,), +) + +execute_system_command('rm -rf build') +execute_system_command('make relassert') +execute_system_command('build/relassert/test/unittest') +execute_system_command('build/relassert/test/unittest "test/sql/storage/*"') + +# run the fast tests and all storage-related tests +# with a block size of 16KB and a vector size of 512 +vector_size = 512 +print("TESTING BLOCK_ALLOC_SIZE=%d" % (block_size,)) +print("TESTING STANDARD_VECTOR_SIZE=%d" % (vector_size,)) + +replace_in_file( + 'src/include/duckdb/common/vector_size.hpp', + r'#define STANDARD_VECTOR_SIZE \w+', + '#define STANDARD_VECTOR_SIZE %d' % (vector_size,), +) + +execute_system_command('rm -rf build') +execute_system_command('make relassert') +execute_system_command('build/relassert/test/unittest') +execute_system_command('build/relassert/test/unittest "test/sql/storage/*"') diff --git a/scripts/test_vector_sizes.py b/scripts/test_vector_sizes.py index 11d244ce6c8f..8a7f24a1d10a 100644 --- a/scripts/test_vector_sizes.py +++ b/scripts/test_vector_sizes.py @@ -27,7 +27,7 @@ def replace_in_file(fname, regex, replace): print("TESTING STANDARD_VECTOR_SIZE=%d" % (vector_size,)) replace_in_file( 'src/include/duckdb/common/vector_size.hpp', - r'#define STANDARD_VECTOR_SIZE \d+', + r'#define STANDARD_VECTOR_SIZE \w+', '#define STANDARD_VECTOR_SIZE %d' % (vector_size,), ) execute_system_command('rm -rf build') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cda2d86cf880..ca94e6da211a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -10,6 +10,14 @@ if(NOT MSVC) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wextra -Wno-unused-parameter -Wno-redundant-move" ) + if(CMAKE_COMPILER_IS_GNUCC) + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6) + set(CMAKE_CXX_FLAGS_DEBUG + "${CMAKE_CXX_FLAGS_DEBUG} -Wimplicit-fallthrough") + endif() + else() + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wimplicit-fallthrough") + endif() endif() set(EXIT_TIME_DESTRUCTORS_WARNING FALSE) if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") @@ -20,7 +28,7 @@ endif() set(DUCKDB_SYSTEM_LIBS ${CMAKE_DL_LIBS}) if(MSVC OR MINGW) - set(DUCKDB_SYSTEM_LIBS ${DUCKDB_SYSTEM_LIBS} ws2_32) + set(DUCKDB_SYSTEM_LIBS ${DUCKDB_SYSTEM_LIBS} ws2_32 rstrtmgr) endif() if(AMALGAMATION_BUILD) @@ -75,6 +83,7 @@ else() duckdb_utf8proc duckdb_hyperloglog duckdb_fastpforlib + duckdb_skiplistlib duckdb_mbedtls) add_library(duckdb SHARED ${ALL_OBJECT_FILES}) diff --git a/src/catalog/CMakeLists.txt b/src/catalog/CMakeLists.txt index f720e6962388..0536fae3bddc 100644 --- a/src/catalog/CMakeLists.txt +++ b/src/catalog/CMakeLists.txt @@ -15,8 +15,9 @@ add_library_unity( catalog_set.cpp catalog_transaction.cpp duck_catalog.cpp - dependency_list.cpp dependency_manager.cpp + dependency_list.cpp + dependency_catalog_set.cpp similar_catalog_entry.cpp) set(ALL_OBJECT_FILES ${ALL_OBJECT_FILES} $ diff --git a/src/catalog/catalog.cpp b/src/catalog/catalog.cpp index 7a4a8c25b6d7..55ee7a25f4f4 100644 --- a/src/catalog/catalog.cpp +++ b/src/catalog/catalog.cpp @@ -18,6 +18,7 @@ #include "duckdb/parser/parsed_data/create_copy_function_info.hpp" #include "duckdb/parser/parsed_data/create_index_info.hpp" #include "duckdb/parser/parsed_data/create_pragma_function_info.hpp" +#include "duckdb/parser/parsed_data/create_secret_info.hpp" #include "duckdb/parser/parsed_data/create_scalar_function_info.hpp" #include "duckdb/parser/parsed_data/create_schema_info.hpp" #include "duckdb/parser/parsed_data/create_sequence_info.hpp" @@ -300,7 +301,7 @@ struct CatalogLookup { struct CatalogEntryLookup { optional_ptr schema; optional_ptr entry; - PreservedError error; + ErrorData error; DUCKDB_API bool Found() const { return entry; @@ -468,9 +469,9 @@ void Catalog::AutoloadExtensionByConfigName(ClientContext &context, const string throw Catalog::UnrecognizedConfigurationError(context, configuration_name); } -bool Catalog::AutoLoadExtensionByCatalogEntry(ClientContext &context, CatalogType type, const string &entry_name) { +bool Catalog::AutoLoadExtensionByCatalogEntry(DatabaseInstance &db, CatalogType type, const string &entry_name) { #ifndef DUCKDB_DISABLE_EXTENSION_LOAD - auto &dbconfig = DBConfig::GetConfig(context); + auto &dbconfig = DBConfig::GetConfig(db); if (dbconfig.options.autoload_known_extensions) { string extension_name; if (type == CatalogType::TABLE_FUNCTION_ENTRY || type == CatalogType::SCALAR_FUNCTION_ENTRY || @@ -485,7 +486,7 @@ bool Catalog::AutoLoadExtensionByCatalogEntry(ClientContext &context, CatalogTyp } if (!extension_name.empty() && ExtensionHelper::CanAutoloadExtension(extension_name)) { - ExtensionHelper::AutoLoadExtension(context, extension_name); + ExtensionHelper::AutoLoadExtension(db, extension_name); return true; } } @@ -509,9 +510,7 @@ CatalogException Catalog::UnrecognizedConfigurationError(ClientContext &context, for (auto &entry : DBConfig::GetConfig(context).extension_parameters) { potential_names.push_back(entry.first); } - - throw CatalogException("unrecognized configuration parameter \"%s\"\n%s", name, - StringUtil::CandidatesErrorMessage(potential_names, name, "Did you mean")); + throw CatalogException::MissingEntry("configuration parameter", name, potential_names); } CatalogException Catalog::CreateMissingEntryException(ClientContext &context, const string &entry_name, @@ -561,26 +560,24 @@ CatalogException Catalog::CreateMissingEntryException(ClientContext &context, co bool qualify_database; bool qualify_schema; FindMinimalQualification(context, catalog_name, schema_name, qualify_database, qualify_schema); - did_you_mean = "\nDid you mean \"" + unseen_entry.GetQualifiedName(qualify_database, qualify_schema) + "\"?"; + did_you_mean = unseen_entry.GetQualifiedName(qualify_database, qualify_schema); } else if (entry.Found()) { - did_you_mean = "\nDid you mean \"" + entry.name + "\"?"; + did_you_mean = entry.name; } - - return CatalogException(error_context.FormatError("%s with name %s does not exist!%s", CatalogTypeToString(type), - entry_name, did_you_mean)); + return CatalogException::MissingEntry(type, entry_name, did_you_mean, error_context); } CatalogEntryLookup Catalog::TryLookupEntryInternal(CatalogTransaction transaction, CatalogType type, const string &schema, const string &name) { auto schema_entry = GetSchema(transaction, schema, OnEntryNotFound::RETURN_NULL); if (!schema_entry) { - return {nullptr, nullptr, PreservedError()}; + return {nullptr, nullptr, ErrorData()}; } auto entry = schema_entry->GetEntry(transaction, type, name); if (!entry) { - return {schema_entry, nullptr, PreservedError()}; + return {schema_entry, nullptr, ErrorData()}; } - return {schema_entry, entry, PreservedError()}; + return {schema_entry, entry, ErrorData()}; } CatalogEntryLookup Catalog::TryLookupEntry(ClientContext &context, CatalogType type, const string &schema, @@ -613,10 +610,10 @@ CatalogEntryLookup Catalog::TryLookupEntry(ClientContext &context, CatalogType t } if (if_not_found == OnEntryNotFound::RETURN_NULL) { - return {nullptr, nullptr, PreservedError()}; + return {nullptr, nullptr, ErrorData()}; } else { auto except = CreateMissingEntryException(context, name, type, schemas, error_context); - return {nullptr, nullptr, PreservedError(except)}; + return {nullptr, nullptr, ErrorData(except)}; } } @@ -625,7 +622,7 @@ CatalogEntryLookup Catalog::LookupEntry(ClientContext &context, CatalogType type QueryErrorContext error_context) { auto res = TryLookupEntry(context, type, schema, name, if_not_found, error_context); - if (res.error) { + if (res.error.HasError()) { res.error.Throw(); } @@ -648,10 +645,10 @@ CatalogEntryLookup Catalog::TryLookupEntry(ClientContext &context, vector Catalog::GetEntry(ClientContext &context, CatalogType // Try autoloading extension to resolve lookup if (!lookup_entry.Found()) { - if (AutoLoadExtensionByCatalogEntry(context, type, name)) { + if (AutoLoadExtensionByCatalogEntry(*context.db, type, name)) { lookup_entry = TryLookupEntry(context, type, schema_name, name, if_not_found, error_context); } } - if (lookup_entry.error) { + if (lookup_entry.error.HasError()) { lookup_entry.error.Throw(); } @@ -719,12 +716,12 @@ optional_ptr Catalog::GetEntry(ClientContext &context, CatalogType // Try autoloading extension to resolve lookup if (!result.Found()) { - if (AutoLoadExtensionByCatalogEntry(context, type, name)) { + if (AutoLoadExtensionByCatalogEntry(*context.db, type, name)) { result = TryLookupEntry(context, type, catalog, schema, name, if_not_found, error_context); } } - if (result.error) { + if (result.error.HasError()) { result.error.Throw(); } @@ -829,6 +826,7 @@ vector> Catalog::GetAllSchemas(ClientContext &cont void Catalog::Alter(ClientContext &context, AlterInfo &info) { ModifyCatalog(); + auto lookup = LookupEntry(context, info.GetCatalogType(), info.schema, info.name, info.if_not_found); if (!lookup.Found()) { diff --git a/src/catalog/catalog_entry.cpp b/src/catalog/catalog_entry.cpp index 844eaeaae4d8..9cc3d771addb 100644 --- a/src/catalog/catalog_entry.cpp +++ b/src/catalog/catalog_entry.cpp @@ -41,6 +41,35 @@ string CatalogEntry::ToSQL() const { throw InternalException("Unsupported catalog type for ToSQL()"); } +void CatalogEntry::SetChild(unique_ptr child_p) { + child = std::move(child_p); + if (child) { + child->parent = this; + } +} + +unique_ptr CatalogEntry::TakeChild() { + if (child) { + child->parent = nullptr; + } + return std::move(child); +} + +bool CatalogEntry::HasChild() const { + return child != nullptr; +} +bool CatalogEntry::HasParent() const { + return parent != nullptr; +} + +CatalogEntry &CatalogEntry::Child() { + return *child; +} + +CatalogEntry &CatalogEntry::Parent() { + return *parent; +} + Catalog &CatalogEntry::ParentCatalog() { throw InternalException("CatalogEntry::ParentCatalog called on catalog entry without catalog"); } diff --git a/src/catalog/catalog_entry/CMakeLists.txt b/src/catalog/catalog_entry/CMakeLists.txt index 95fd030c15ea..e6f002c9e006 100644 --- a/src/catalog/catalog_entry/CMakeLists.txt +++ b/src/catalog/catalog_entry/CMakeLists.txt @@ -1,3 +1,5 @@ +add_subdirectory(dependency) + add_library_unity( duckdb_catalog_entries OBJECT diff --git a/src/catalog/catalog_entry/column_dependency_manager.cpp b/src/catalog/catalog_entry/column_dependency_manager.cpp index e09f73dfa4b6..b8b2f0e876fd 100644 --- a/src/catalog/catalog_entry/column_dependency_manager.cpp +++ b/src/catalog/catalog_entry/column_dependency_manager.cpp @@ -2,6 +2,7 @@ #include "duckdb/parser/column_definition.hpp" #include "duckdb/common/set.hpp" #include "duckdb/common/queue.hpp" +#include "duckdb/common/exception/binder_exception.hpp" namespace duckdb { diff --git a/src/catalog/catalog_entry/dependency/CMakeLists.txt b/src/catalog/catalog_entry/dependency/CMakeLists.txt new file mode 100644 index 000000000000..564e0ac3b6e9 --- /dev/null +++ b/src/catalog/catalog_entry/dependency/CMakeLists.txt @@ -0,0 +1,5 @@ +add_library_unity(duckdb_catalog_entries_dependency OBJECT dependency_entry.cpp + dependency_subject_entry.cpp dependency_dependent_entry.cpp) +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/catalog/catalog_entry/dependency/dependency_dependent_entry.cpp b/src/catalog/catalog_entry/dependency/dependency_dependent_entry.cpp new file mode 100644 index 000000000000..5baaed41ac43 --- /dev/null +++ b/src/catalog/catalog_entry/dependency/dependency_dependent_entry.cpp @@ -0,0 +1,31 @@ +#include "duckdb/catalog/catalog_entry/dependency/dependency_dependent_entry.hpp" + +namespace duckdb { + +DependencyDependentEntry::DependencyDependentEntry(Catalog &catalog, const DependencyInfo &info) + : DependencyEntry(catalog, DependencyEntryType::DEPENDENT, + MangledDependencyName(DependencyManager::MangleName(info.subject.entry), + DependencyManager::MangleName(info.dependent.entry)), + info) { +} + +const MangledEntryName &DependencyDependentEntry::EntryMangledName() const { + return dependent_name; +} + +const CatalogEntryInfo &DependencyDependentEntry::EntryInfo() const { + return dependent.entry; +} + +const MangledEntryName &DependencyDependentEntry::SourceMangledName() const { + return subject_name; +} + +const CatalogEntryInfo &DependencyDependentEntry::SourceInfo() const { + return subject.entry; +} + +DependencyDependentEntry::~DependencyDependentEntry() { +} + +} // namespace duckdb diff --git a/src/catalog/catalog_entry/dependency/dependency_entry.cpp b/src/catalog/catalog_entry/dependency/dependency_entry.cpp new file mode 100644 index 000000000000..ab425bd98eab --- /dev/null +++ b/src/catalog/catalog_entry/dependency/dependency_entry.cpp @@ -0,0 +1,44 @@ +#include "duckdb/catalog/catalog_entry/dependency/dependency_entry.hpp" +#include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp" +#include "duckdb/catalog/dependency_manager.hpp" +#include "duckdb/catalog/catalog.hpp" + +namespace duckdb { + +DependencyEntry::DependencyEntry(Catalog &catalog, DependencyEntryType side, const MangledDependencyName &name, + const DependencyInfo &info) + : InCatalogEntry(CatalogType::DEPENDENCY_ENTRY, catalog, name.name), + dependent_name(DependencyManager::MangleName(info.dependent.entry)), + subject_name(DependencyManager::MangleName(info.subject.entry)), dependent(info.dependent), subject(info.subject), + side(side) { + D_ASSERT(info.dependent.entry.type != CatalogType::DEPENDENCY_ENTRY); + D_ASSERT(info.subject.entry.type != CatalogType::DEPENDENCY_ENTRY); + if (catalog.IsTemporaryCatalog()) { + temporary = true; + } +} + +const MangledEntryName &DependencyEntry::SubjectMangledName() const { + return subject_name; +} + +const DependencySubject &DependencyEntry::Subject() const { + return subject; +} + +const MangledEntryName &DependencyEntry::DependentMangledName() const { + return dependent_name; +} + +const DependencyDependent &DependencyEntry::Dependent() const { + return dependent; +} + +DependencyEntry::~DependencyEntry() { +} + +DependencyEntryType DependencyEntry::Side() const { + return side; +} + +} // namespace duckdb diff --git a/src/catalog/catalog_entry/dependency/dependency_subject_entry.cpp b/src/catalog/catalog_entry/dependency/dependency_subject_entry.cpp new file mode 100644 index 000000000000..eb9c7f63abe9 --- /dev/null +++ b/src/catalog/catalog_entry/dependency/dependency_subject_entry.cpp @@ -0,0 +1,31 @@ +#include "duckdb/catalog/catalog_entry/dependency/dependency_subject_entry.hpp" + +namespace duckdb { + +DependencySubjectEntry::DependencySubjectEntry(Catalog &catalog, const DependencyInfo &info) + : DependencyEntry(catalog, DependencyEntryType::SUBJECT, + MangledDependencyName(DependencyManager::MangleName(info.dependent.entry), + DependencyManager::MangleName(info.subject.entry)), + info) { +} + +const MangledEntryName &DependencySubjectEntry::EntryMangledName() const { + return subject_name; +} + +const CatalogEntryInfo &DependencySubjectEntry::EntryInfo() const { + return subject.entry; +} + +const MangledEntryName &DependencySubjectEntry::SourceMangledName() const { + return dependent_name; +} + +const CatalogEntryInfo &DependencySubjectEntry::SourceInfo() const { + return dependent.entry; +} + +DependencySubjectEntry::~DependencySubjectEntry() { +} + +} // namespace duckdb diff --git a/src/catalog/catalog_entry/duck_index_entry.cpp b/src/catalog/catalog_entry/duck_index_entry.cpp index 0848bc166f45..7230179ba2f2 100644 --- a/src/catalog/catalog_entry/duck_index_entry.cpp +++ b/src/catalog/catalog_entry/duck_index_entry.cpp @@ -1,32 +1,57 @@ #include "duckdb/catalog/catalog_entry/duck_index_entry.hpp" + #include "duckdb/storage/data_table.hpp" -#include "duckdb/execution/index/art/art.hpp" namespace duckdb { +IndexDataTableInfo::IndexDataTableInfo(shared_ptr &info_p, const string &index_name_p) + : info(info_p), index_name(index_name_p) { +} + +IndexDataTableInfo::~IndexDataTableInfo() { + if (!info) { + return; + } + info->indexes.RemoveIndex(index_name); +} + DuckIndexEntry::DuckIndexEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateIndexInfo &info) : IndexCatalogEntry(catalog, schema, info) { } -DuckIndexEntry::~DuckIndexEntry() { - // remove the associated index from the info - if (!info || !index) { - return; +unique_ptr DuckIndexEntry::Copy(ClientContext &context) const { + auto info_copy = GetInfo(); + auto &cast_info = info_copy->Cast(); + + auto result = make_uniq(catalog, schema, cast_info); + result->info = info; + result->initial_index_size = initial_index_size; + + for (auto &expr : expressions) { + result->expressions.push_back(expr->Copy()); + } + for (auto &expr : parsed_expressions) { + result->parsed_expressions.push_back(expr->Copy()); } - info->indexes.RemoveIndex(*index); + + return std::move(result); } string DuckIndexEntry::GetSchemaName() const { - return info->schema; + return GetDataTableInfo().schema; } string DuckIndexEntry::GetTableName() const { - return info->table; + return GetDataTableInfo().table; +} + +DataTableInfo &DuckIndexEntry::GetDataTableInfo() const { + return *info->info; } void DuckIndexEntry::CommitDrop() { - D_ASSERT(info && index); - index->CommitDrop(); + D_ASSERT(info); + GetDataTableInfo().indexes.CommitDrop(name); } } // namespace duckdb diff --git a/src/catalog/catalog_entry/duck_schema_entry.cpp b/src/catalog/catalog_entry/duck_schema_entry.cpp index f501a9469448..4a2751ea97fb 100644 --- a/src/catalog/catalog_entry/duck_schema_entry.cpp +++ b/src/catalog/catalog_entry/duck_schema_entry.cpp @@ -63,14 +63,22 @@ void FindForeignKeyInformation(CatalogEntry &entry, AlterForeignKeyType alter_fk } } -DuckSchemaEntry::DuckSchemaEntry(Catalog &catalog, string name_p, bool is_internal) - : SchemaCatalogEntry(catalog, std::move(name_p), is_internal), - tables(catalog, make_uniq(catalog, *this)), indexes(catalog), table_functions(catalog), - copy_functions(catalog), pragma_functions(catalog), +DuckSchemaEntry::DuckSchemaEntry(Catalog &catalog, CreateSchemaInfo &info) + : SchemaCatalogEntry(catalog, info), tables(catalog, make_uniq(catalog, *this)), + indexes(catalog), table_functions(catalog), copy_functions(catalog), pragma_functions(catalog), functions(catalog, make_uniq(catalog, *this)), sequences(catalog), collations(catalog), types(catalog, make_uniq(catalog, *this)) { } +unique_ptr DuckSchemaEntry::Copy(ClientContext &context) const { + auto info_copy = GetInfo(); + auto &cast_info = info_copy->Cast(); + + auto result = make_uniq(catalog, cast_info); + + return std::move(result); +} + optional_ptr DuckSchemaEntry::AddEntryInternal(CatalogTransaction transaction, unique_ptr entry, OnCreateConflict on_conflict, @@ -97,7 +105,7 @@ optional_ptr DuckSchemaEntry::AddEntryInternal(CatalogTransaction if (!set.CreateEntry(transaction, entry_name, std::move(entry), dependencies)) { // entry already exists! if (on_conflict == OnCreateConflict::ERROR_ON_CONFLICT) { - throw CatalogException("%s with name \"%s\" already exists!", CatalogTypeToString(entry_type), entry_name); + throw CatalogException::EntryAlreadyExists(entry_type, entry_name); } else { return nullptr; } @@ -199,6 +207,13 @@ optional_ptr DuckSchemaEntry::CreateIndex(ClientContext &context, TableCatalogEntry &table) { DependencyList dependencies; dependencies.AddDependency(table); + + // currently, we can not alter PK/FK/UNIQUE constraints + // concurrency-safe name checks against other INDEX catalog entries happens in the catalog + if (!table.GetStorage().IndexNameIsUnique(info.index_name)) { + throw CatalogException("An index with the name " + info.index_name + "already exists!"); + } + auto index = make_uniq(catalog, *this, info); return AddEntryInternal(GetCatalogTransaction(context), std::move(index), info.on_conflict, dependencies); } @@ -232,6 +247,7 @@ optional_ptr DuckSchemaEntry::CreatePragmaFunction(CatalogTransact void DuckSchemaEntry::Alter(ClientContext &context, AlterInfo &info) { CatalogType type = info.GetCatalogType(); + auto &set = GetCatalogSet(type); auto transaction = GetCatalogTransaction(context); if (info.type == AlterType::CHANGE_OWNERSHIP) { @@ -241,7 +257,7 @@ void DuckSchemaEntry::Alter(ClientContext &context, AlterInfo &info) { } else { string name = info.name; if (!set.AlterEntry(transaction, name, info)) { - throw CatalogException("Entry with name \"%s\" does not exist!", name); + throw CatalogException::MissingEntry(type, name, string()); } } } diff --git a/src/catalog/catalog_entry/duck_table_entry.cpp b/src/catalog/catalog_entry/duck_table_entry.cpp index 0a4733988d7b..c55d0a10e806 100644 --- a/src/catalog/catalog_entry/duck_table_entry.cpp +++ b/src/catalog/catalog_entry/duck_table_entry.cpp @@ -1,4 +1,11 @@ #include "duckdb/catalog/catalog_entry/duck_table_entry.hpp" + +#include "duckdb/common/enum_util.hpp" +#include "duckdb/common/index_map.hpp" +#include "duckdb/execution/index/art/art.hpp" +#include "duckdb/function/table/table_scan.hpp" +#include "duckdb/parser/constraints/list.hpp" +#include "duckdb/parser/parsed_expression_iterator.hpp" #include "duckdb/planner/binder.hpp" #include "duckdb/planner/constraints/bound_check_constraint.hpp" #include "duckdb/planner/constraints/bound_foreign_key_constraint.hpp" @@ -7,23 +14,20 @@ #include "duckdb/planner/expression/bound_reference_expression.hpp" #include "duckdb/planner/expression_binder/alter_binder.hpp" #include "duckdb/planner/filter/null_filter.hpp" +#include "duckdb/planner/operator/logical_get.hpp" +#include "duckdb/planner/operator/logical_projection.hpp" +#include "duckdb/planner/operator/logical_update.hpp" #include "duckdb/planner/parsed_data/bound_create_table_info.hpp" #include "duckdb/planner/table_filter.hpp" #include "duckdb/storage/storage_manager.hpp" -#include "duckdb/common/index_map.hpp" -#include "duckdb/execution/index/art/art.hpp" -#include "duckdb/parser/parsed_expression_iterator.hpp" -#include "duckdb/parser/constraints/list.hpp" -#include "duckdb/function/table/table_scan.hpp" #include "duckdb/storage/table_storage_info.hpp" -#include "duckdb/planner/operator/logical_get.hpp" -#include "duckdb/planner/operator/logical_projection.hpp" -#include "duckdb/planner/operator/logical_update.hpp" +#include "duckdb/common/exception/transaction_exception.hpp" namespace duckdb { void AddDataTableIndex(DataTable &storage, const ColumnList &columns, const vector &keys, - IndexConstraintType constraint_type, BlockPointer index_block = BlockPointer()) { + IndexConstraintType constraint_type, const IndexStorageInfo &info = IndexStorageInfo()) { + // fetch types and create expressions for the index from the columns vector column_ids; vector> unbound_expressions; @@ -39,29 +43,31 @@ void AddDataTableIndex(DataTable &storage, const ColumnList &columns, const vect bound_expressions.push_back(make_uniq(column.Type(), key_nr++)); column_ids.push_back(column.StorageOid()); } - unique_ptr art; // create an adaptive radix tree around the expressions - if (index_block.IsValid()) { - art = make_uniq(column_ids, TableIOManager::Get(storage), std::move(unbound_expressions), constraint_type, - storage.db, nullptr, index_block); - } else { - art = make_uniq(column_ids, TableIOManager::Get(storage), std::move(unbound_expressions), constraint_type, - storage.db); - if (!storage.IsRoot()) { - throw TransactionException("Transaction conflict: cannot add an index to a table that has been altered!"); - } + auto art = make_uniq(info.name, constraint_type, column_ids, TableIOManager::Get(storage), + std::move(unbound_expressions), storage.db, nullptr, info); + if (!info.IsValid() && !info.name.empty() && !storage.IsRoot()) { + throw TransactionException("Transaction conflict: cannot add an index to a table that has been altered!"); } storage.info->indexes.AddIndex(std::move(art)); } void AddDataTableIndex(DataTable &storage, const ColumnList &columns, vector &keys, - IndexConstraintType constraint_type, BlockPointer index_block = BlockPointer()) { + IndexConstraintType constraint_type, const IndexStorageInfo &info = IndexStorageInfo()) { vector new_keys; new_keys.reserve(keys.size()); for (auto &logical_key : keys) { new_keys.push_back(columns.LogicalToPhysical(logical_key)); } - AddDataTableIndex(storage, columns, new_keys, constraint_type, index_block); + AddDataTableIndex(storage, columns, new_keys, constraint_type, info); +} + +IndexStorageInfo GetIndexInfo(const IndexConstraintType &constraint_type, unique_ptr &create_info, + idx_t idx) { + + auto &create_table_info = create_info->Cast(); + auto constraint_name = EnumUtil::ToString(constraint_type) + "_"; + return IndexStorageInfo(constraint_name + create_table_info.table + "_" + to_string(idx)); } DuckTableEntry::DuckTableEntry(Catalog &catalog, SchemaCatalogEntry &schema, BoundCreateTableInfo &info, @@ -69,6 +75,7 @@ DuckTableEntry::DuckTableEntry(Catalog &catalog, SchemaCatalogEntry &schema, Bou : TableCatalogEntry(catalog, schema, info.Base()), storage(std::move(inherited_storage)), bound_constraints(std::move(info.bound_constraints)), column_dependency_manager(std::move(info.column_dependency_manager)) { + if (!storage) { // create the physical storage vector storage_columns; @@ -81,27 +88,52 @@ DuckTableEntry::DuckTableEntry(Catalog &catalog, SchemaCatalogEntry &schema, Bou // create the unique indexes for the UNIQUE and PRIMARY KEY and FOREIGN KEY constraints idx_t indexes_idx = 0; for (idx_t i = 0; i < bound_constraints.size(); i++) { + auto &constraint = bound_constraints[i]; + if (constraint->type == ConstraintType::UNIQUE) { + // unique constraint: create a unique index auto &unique = constraint->Cast(); IndexConstraintType constraint_type = IndexConstraintType::UNIQUE; if (unique.is_primary_key) { constraint_type = IndexConstraintType::PRIMARY; } + if (info.indexes.empty()) { - AddDataTableIndex(*storage, columns, unique.keys, constraint_type); + AddDataTableIndex(*storage, columns, unique.keys, constraint_type, + GetIndexInfo(constraint_type, info.base, i)); } else { + // we read the index from an old storage version, so we have to apply a dummy name + if (info.indexes[indexes_idx].name.empty()) { + auto name_info = GetIndexInfo(constraint_type, info.base, i); + info.indexes[indexes_idx].name = name_info.name; + } + + // now add the index AddDataTableIndex(*storage, columns, unique.keys, constraint_type, info.indexes[indexes_idx++]); } + } else if (constraint->type == ConstraintType::FOREIGN_KEY) { + // foreign key constraint: create a foreign key index auto &bfk = constraint->Cast(); if (bfk.info.type == ForeignKeyType::FK_TYPE_FOREIGN_KEY_TABLE || bfk.info.type == ForeignKeyType::FK_TYPE_SELF_REFERENCE_TABLE) { + if (info.indexes.empty()) { - AddDataTableIndex(*storage, columns, bfk.info.fk_keys, IndexConstraintType::FOREIGN); + auto constraint_type = IndexConstraintType::FOREIGN; + AddDataTableIndex(*storage, columns, bfk.info.fk_keys, constraint_type, + GetIndexInfo(constraint_type, info.base, i)); + } else { + // we read the index from an old storage version, so we have to apply a dummy name + if (info.indexes[indexes_idx].name.empty()) { + auto name_info = GetIndexInfo(IndexConstraintType::FOREIGN, info.base, i); + info.indexes[indexes_idx].name = name_info.name; + } + + // now add the index AddDataTableIndex(*storage, columns, bfk.info.fk_keys, IndexConstraintType::FOREIGN, info.indexes[indexes_idx++]); } @@ -109,6 +141,10 @@ DuckTableEntry::DuckTableEntry(Catalog &catalog, SchemaCatalogEntry &schema, Bou } } } + + if (!info.indexes.empty()) { + storage->info->index_storage_infos = info.indexes; + } } unique_ptr DuckTableEntry::GetStatistics(ClientContext &context, column_t column_id) { @@ -172,6 +208,10 @@ unique_ptr DuckTableEntry::AlterEntry(ClientContext &context, Alte auto &drop_not_null_info = table_info.Cast(); return DropNotNull(context, drop_not_null_info); } + case AlterTableType::SET_COLUMN_COMMENT: { + auto &column_comment_info = table_info.Cast(); + return SetColumnComment(context, column_comment_info); + } default: throw InternalException("Unrecognized alter table type!"); } @@ -209,6 +249,7 @@ unique_ptr DuckTableEntry::RenameColumn(ClientContext &context, Re } auto create_info = make_uniq(schema, name); create_info->temporary = temporary; + create_info->comment = comment; for (auto &col : columns.Logical()) { auto copy = col.Copy(); if (rename_idx == col.Logical()) { @@ -267,7 +308,7 @@ unique_ptr DuckTableEntry::RenameColumn(ClientContext &context, Re create_info->constraints.push_back(std::move(copy)); } auto binder = Binder::CreateBinder(context); - auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info)); + auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info), schema); return make_uniq(catalog, schema, *bound_create_info, storage); } @@ -281,6 +322,7 @@ unique_ptr DuckTableEntry::AddColumn(ClientContext &context, AddCo auto create_info = make_uniq(schema, name); create_info->temporary = temporary; + create_info->comment = comment; for (auto &col : columns.Logical()) { create_info->columns.AddColumn(col.Copy()); @@ -296,7 +338,7 @@ unique_ptr DuckTableEntry::AddColumn(ClientContext &context, AddCo create_info->columns.AddColumn(std::move(col)); auto binder = Binder::CreateBinder(context); - auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info)); + auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info), schema); auto new_storage = make_shared(context, *storage, info.new_column, *bound_create_info->bound_defaults.back()); return make_uniq(catalog, schema, *bound_create_info, new_storage); @@ -402,6 +444,7 @@ unique_ptr DuckTableEntry::RemoveColumn(ClientContext &context, Re auto create_info = make_uniq(schema, name); create_info->temporary = temporary; + create_info->comment = comment; logical_index_set_t removed_columns; if (column_dependency_manager.HasDependents(removed_index)) { @@ -428,7 +471,7 @@ unique_ptr DuckTableEntry::RemoveColumn(ClientContext &context, Re UpdateConstraintsOnColumnDrop(removed_index, adjusted_indices, info, *create_info, dropped_column_is_generated); auto binder = Binder::CreateBinder(context); - auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info)); + auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info), schema); if (columns.GetColumn(LogicalIndex(removed_index)).Generated()) { return make_uniq(catalog, schema, *bound_create_info, storage); } @@ -439,6 +482,7 @@ unique_ptr DuckTableEntry::RemoveColumn(ClientContext &context, Re unique_ptr DuckTableEntry::SetDefault(ClientContext &context, SetDefaultInfo &info) { auto create_info = make_uniq(schema, name); + create_info->comment = comment; auto default_idx = GetColumnIndex(info.column_name); if (default_idx.index == COLUMN_IDENTIFIER_ROW_ID) { throw CatalogException("Cannot SET DEFAULT for rowid column"); @@ -463,13 +507,14 @@ unique_ptr DuckTableEntry::SetDefault(ClientContext &context, SetD } auto binder = Binder::CreateBinder(context); - auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info)); + auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info), schema); return make_uniq(catalog, schema, *bound_create_info, storage); } unique_ptr DuckTableEntry::SetNotNull(ClientContext &context, SetNotNullInfo &info) { auto create_info = make_uniq(schema, name); + create_info->comment = comment; create_info->columns = columns.Copy(); auto not_null_idx = GetColumnIndex(info.column_name); @@ -491,7 +536,7 @@ unique_ptr DuckTableEntry::SetNotNull(ClientContext &context, SetN create_info->constraints.push_back(make_uniq(not_null_idx)); } auto binder = Binder::CreateBinder(context); - auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info)); + auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info), schema); // Early return if (has_not_null) { @@ -506,6 +551,7 @@ unique_ptr DuckTableEntry::SetNotNull(ClientContext &context, SetN unique_ptr DuckTableEntry::DropNotNull(ClientContext &context, DropNotNullInfo &info) { auto create_info = make_uniq(schema, name); + create_info->comment = comment; create_info->columns = columns.Copy(); auto not_null_idx = GetColumnIndex(info.column_name); @@ -522,7 +568,7 @@ unique_ptr DuckTableEntry::DropNotNull(ClientContext &context, Dro } auto binder = Binder::CreateBinder(context); - auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info)); + auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info), schema); return make_uniq(catalog, schema, *bound_create_info, storage); } @@ -531,6 +577,7 @@ unique_ptr DuckTableEntry::ChangeColumnType(ClientContext &context auto change_idx = GetColumnIndex(info.column_name); auto create_info = make_uniq(schema, name); create_info->temporary = temporary; + create_info->comment = comment; for (auto &col : columns.Logical()) { auto copy = col.Copy(); @@ -598,7 +645,7 @@ unique_ptr DuckTableEntry::ChangeColumnType(ClientContext &context AlterBinder expr_binder(*binder, context, *this, bound_columns, info.target_type); auto expression = info.expression->Copy(); auto bound_expression = expr_binder.Bind(expression); - auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info)); + auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info), schema); vector storage_oids; for (idx_t i = 0; i < bound_columns.size(); i++) { storage_oids.push_back(columns.LogicalToPhysical(bound_columns[i]).index); @@ -614,10 +661,38 @@ unique_ptr DuckTableEntry::ChangeColumnType(ClientContext &context return std::move(result); } +unique_ptr DuckTableEntry::SetColumnComment(ClientContext &context, SetColumnCommentInfo &info) { + auto create_info = make_uniq(schema, name); + create_info->comment = comment; + auto default_idx = GetColumnIndex(info.column_name); + if (default_idx.index == COLUMN_IDENTIFIER_ROW_ID) { + throw CatalogException("Cannot SET DEFAULT for rowid column"); + } + + // Copy all the columns, changing the value of the one that was specified by 'column_name' + for (auto &col : columns.Logical()) { + auto copy = col.Copy(); + if (default_idx == col.Logical()) { + copy.SetComment(info.comment); + } + create_info->columns.AddColumn(std::move(copy)); + } + // Copy all the constraints + for (idx_t i = 0; i < constraints.size(); i++) { + auto constraint = constraints[i]->Copy(); + create_info->constraints.push_back(std::move(constraint)); + } + + auto binder = Binder::CreateBinder(context); + auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info), schema); + return make_uniq(catalog, schema, *bound_create_info, storage); +} + unique_ptr DuckTableEntry::AddForeignKeyConstraint(ClientContext &context, AlterForeignKeyInfo &info) { D_ASSERT(info.type == AlterForeignKeyType::AFT_ADD); auto create_info = make_uniq(schema, name); create_info->temporary = temporary; + create_info->comment = comment; create_info->columns = columns.Copy(); for (idx_t i = 0; i < constraints.size(); i++) { @@ -633,7 +708,7 @@ unique_ptr DuckTableEntry::AddForeignKeyConstraint(ClientContext & make_uniq(info.pk_columns, info.fk_columns, std::move(fk_info))); auto binder = Binder::CreateBinder(context); - auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info)); + auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info), schema); return make_uniq(catalog, schema, *bound_create_info, storage); } @@ -642,6 +717,7 @@ unique_ptr DuckTableEntry::DropForeignKeyConstraint(ClientContext D_ASSERT(info.type == AlterForeignKeyType::AFT_DELETE); auto create_info = make_uniq(schema, name); create_info->temporary = temporary; + create_info->comment = comment; create_info->columns = columns.Copy(); for (idx_t i = 0; i < constraints.size(); i++) { @@ -656,13 +732,14 @@ unique_ptr DuckTableEntry::DropForeignKeyConstraint(ClientContext } auto binder = Binder::CreateBinder(context); - auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info)); + auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info), schema); return make_uniq(catalog, schema, *bound_create_info, storage); } unique_ptr DuckTableEntry::Copy(ClientContext &context) const { auto create_info = make_uniq(schema, name); + create_info->comment = comment; create_info->columns = columns.Copy(); for (idx_t i = 0; i < constraints.size(); i++) { @@ -671,7 +748,7 @@ unique_ptr DuckTableEntry::Copy(ClientContext &context) const { } auto binder = Binder::CreateBinder(context); - auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info)); + auto bound_create_info = binder->BindCreateTableInfo(std::move(create_info), schema); return make_uniq(catalog, schema, *bound_create_info, storage); } diff --git a/src/catalog/catalog_entry/index_catalog_entry.cpp b/src/catalog/catalog_entry/index_catalog_entry.cpp index 84798bb687a3..b6da579bc123 100644 --- a/src/catalog/catalog_entry/index_catalog_entry.cpp +++ b/src/catalog/catalog_entry/index_catalog_entry.cpp @@ -1,40 +1,56 @@ #include "duckdb/catalog/catalog_entry/index_catalog_entry.hpp" -#include "duckdb/storage/index.hpp" namespace duckdb { IndexCatalogEntry::IndexCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateIndexInfo &info) - : StandardEntry(CatalogType::INDEX_ENTRY, schema, catalog, info.index_name), index(nullptr), sql(info.sql) { - this->temporary = info.temporary; -} + : StandardEntry(CatalogType::INDEX_ENTRY, schema, catalog, info.index_name), sql(info.sql), options(info.options), + index_type(info.index_type), index_constraint_type(info.constraint_type), column_ids(info.column_ids) { -string IndexCatalogEntry::ToSQL() const { - if (sql.empty()) { - return sql; - } - if (sql[sql.size() - 1] != ';') { - return sql + ";"; - } - return sql; + this->temporary = info.temporary; + this->comment = info.comment; } unique_ptr IndexCatalogEntry::GetInfo() const { auto result = make_uniq(); result->schema = GetSchemaName(); result->table = GetTableName(); - result->index_name = name; + + result->temporary = temporary; result->sql = sql; - result->index_type = index->type; - result->constraint_type = index->constraint_type; + result->index_name = name; + result->index_type = index_type; + result->constraint_type = index_constraint_type; + result->column_ids = column_ids; + for (auto &expr : expressions) { result->expressions.push_back(expr->Copy()); } for (auto &expr : parsed_expressions) { result->parsed_expressions.push_back(expr->Copy()); } - result->column_ids = index->column_ids; - result->temporary = temporary; + + result->comment = comment; + return std::move(result); } +string IndexCatalogEntry::ToSQL() const { + if (sql.empty()) { + return sql; + } + if (sql.back() != ';') { + return sql + ";"; + } + return sql; +} + +bool IndexCatalogEntry::IsUnique() { + return (index_constraint_type == IndexConstraintType::UNIQUE || + index_constraint_type == IndexConstraintType::PRIMARY); +} + +bool IndexCatalogEntry::IsPrimary() { + return (index_constraint_type == IndexConstraintType::PRIMARY); +} + } // namespace duckdb diff --git a/src/catalog/catalog_entry/macro_catalog_entry.cpp b/src/catalog/catalog_entry/macro_catalog_entry.cpp index 63ea28e3f25a..3ac57460b62d 100644 --- a/src/catalog/catalog_entry/macro_catalog_entry.cpp +++ b/src/catalog/catalog_entry/macro_catalog_entry.cpp @@ -11,22 +11,38 @@ MacroCatalogEntry::MacroCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schem function(std::move(info.function)) { this->temporary = info.temporary; this->internal = info.internal; + this->comment = info.comment; } ScalarMacroCatalogEntry::ScalarMacroCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateMacroInfo &info) : MacroCatalogEntry(catalog, schema, info) { } +unique_ptr ScalarMacroCatalogEntry::Copy(ClientContext &context) const { + auto info_copy = GetInfo(); + auto &cast_info = info_copy->Cast(); + auto result = make_uniq(catalog, schema, cast_info); + return std::move(result); +} + TableMacroCatalogEntry::TableMacroCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateMacroInfo &info) : MacroCatalogEntry(catalog, schema, info) { } +unique_ptr TableMacroCatalogEntry::Copy(ClientContext &context) const { + auto info_copy = GetInfo(); + auto &cast_info = info_copy->Cast(); + auto result = make_uniq(catalog, schema, cast_info); + return std::move(result); +} + unique_ptr MacroCatalogEntry::GetInfo() const { auto info = make_uniq(type); info->catalog = catalog.GetName(); info->schema = schema.name; info->name = name; info->function = function->Copy(); + info->comment = comment; return std::move(info); } diff --git a/src/catalog/catalog_entry/schema_catalog_entry.cpp b/src/catalog/catalog_entry/schema_catalog_entry.cpp index 7b10625282d1..0f7e1dfc82ca 100644 --- a/src/catalog/catalog_entry/schema_catalog_entry.cpp +++ b/src/catalog/catalog_entry/schema_catalog_entry.cpp @@ -10,9 +10,10 @@ namespace duckdb { -SchemaCatalogEntry::SchemaCatalogEntry(Catalog &catalog, string name_p, bool internal) - : InCatalogEntry(CatalogType::SCHEMA_ENTRY, catalog, std::move(name_p)) { - this->internal = internal; +SchemaCatalogEntry::SchemaCatalogEntry(Catalog &catalog, CreateSchemaInfo &info) + : InCatalogEntry(CatalogType::SCHEMA_ENTRY, catalog, info.schema) { + this->internal = info.internal; + this->comment = info.comment; } CatalogTransaction SchemaCatalogEntry::GetCatalogTransaction(ClientContext &context) { @@ -35,13 +36,13 @@ SimilarCatalogEntry SchemaCatalogEntry::GetSimilarEntry(CatalogTransaction trans unique_ptr SchemaCatalogEntry::GetInfo() const { auto result = make_uniq(); result->schema = name; + result->comment = comment; return std::move(result); } string SchemaCatalogEntry::ToSQL() const { - std::stringstream ss; - ss << "CREATE SCHEMA " << name << ";"; - return ss.str(); + auto create_schema_info = GetInfo(); + return create_schema_info->ToString(); } } // namespace duckdb diff --git a/src/catalog/catalog_entry/sequence_catalog_entry.cpp b/src/catalog/catalog_entry/sequence_catalog_entry.cpp index 928335bc7360..936fae03854f 100644 --- a/src/catalog/catalog_entry/sequence_catalog_entry.cpp +++ b/src/catalog/catalog_entry/sequence_catalog_entry.cpp @@ -1,44 +1,118 @@ #include "duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp" +#include "duckdb/catalog/catalog.hpp" #include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp" #include "duckdb/common/exception.hpp" #include "duckdb/parser/parsed_data/create_sequence_info.hpp" #include "duckdb/catalog/dependency_manager.hpp" +#include "duckdb/common/operator/add.hpp" +#include "duckdb/transaction/duck_transaction.hpp" #include #include namespace duckdb { +SequenceData::SequenceData(CreateSequenceInfo &info) + : usage_count(info.usage_count), counter(info.start_value), increment(info.increment), + start_value(info.start_value), min_value(info.min_value), max_value(info.max_value), cycle(info.cycle) { +} + SequenceCatalogEntry::SequenceCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateSequenceInfo &info) - : StandardEntry(CatalogType::SEQUENCE_ENTRY, schema, catalog, info.name), usage_count(info.usage_count), - counter(info.start_value), increment(info.increment), start_value(info.start_value), min_value(info.min_value), - max_value(info.max_value), cycle(info.cycle) { + : StandardEntry(CatalogType::SEQUENCE_ENTRY, schema, catalog, info.name), data(info) { this->temporary = info.temporary; + this->comment = info.comment; +} + +unique_ptr SequenceCatalogEntry::Copy(ClientContext &context) const { + auto info_copy = GetInfo(); + auto &cast_info = info_copy->Cast(); + + auto result = make_uniq(catalog, schema, cast_info); + result->data = GetData(); + + return std::move(result); +} + +SequenceData SequenceCatalogEntry::GetData() const { + lock_guard seqlock(lock); + return data; +} + +int64_t SequenceCatalogEntry::CurrentValue() { + lock_guard seqlock(lock); + int64_t result; + if (data.usage_count == 0u) { + throw SequenceException("currval: sequence is not yet defined in this session"); + } + result = data.last_value; + return result; +} + +int64_t SequenceCatalogEntry::NextValue(DuckTransaction &transaction) { + lock_guard seqlock(lock); + int64_t result; + result = data.counter; + bool overflow = !TryAddOperator::Operation(data.counter, data.increment, data.counter); + if (data.cycle) { + if (overflow) { + data.counter = data.increment < 0 ? data.max_value : data.min_value; + } else if (data.counter < data.min_value) { + data.counter = data.max_value; + } else if (data.counter > data.max_value) { + data.counter = data.min_value; + } + } else { + if (result < data.min_value || (overflow && data.increment < 0)) { + throw SequenceException("nextval: reached minimum value of sequence \"%s\" (%lld)", name, data.min_value); + } + if (result > data.max_value || overflow) { + throw SequenceException("nextval: reached maximum value of sequence \"%s\" (%lld)", name, data.max_value); + } + } + data.last_value = result; + data.usage_count++; + if (!temporary) { + transaction.sequence_usage[this] = SequenceValue(data.usage_count, data.counter); + } + return result; +} + +void SequenceCatalogEntry::ReplayValue(uint64_t v_usage_count, int64_t v_counter) { + if (v_usage_count > data.usage_count) { + data.usage_count = v_usage_count; + data.counter = v_counter; + } } unique_ptr SequenceCatalogEntry::GetInfo() const { + auto seq_data = GetData(); + auto result = make_uniq(); + result->catalog = catalog.GetName(); result->schema = schema.name; result->name = name; - result->usage_count = usage_count; - result->increment = increment; - result->min_value = min_value; - result->max_value = max_value; - result->start_value = counter; - result->cycle = cycle; + result->usage_count = seq_data.usage_count; + result->increment = seq_data.increment; + result->min_value = seq_data.min_value; + result->max_value = seq_data.max_value; + result->start_value = seq_data.counter; + result->cycle = seq_data.cycle; + result->comment = comment; return std::move(result); } string SequenceCatalogEntry::ToSQL() const { + auto seq_data = GetData(); + std::stringstream ss; ss << "CREATE SEQUENCE "; ss << name; - ss << " INCREMENT BY " << increment; - ss << " MINVALUE " << min_value; - ss << " MAXVALUE " << max_value; - ss << " START " << counter; - ss << " " << (cycle ? "CYCLE" : "NO CYCLE") << ";"; + ss << " INCREMENT BY " << seq_data.increment; + ss << " MINVALUE " << seq_data.min_value; + ss << " MAXVALUE " << seq_data.max_value; + ss << " START " << seq_data.counter; + ss << " " << (seq_data.cycle ? "CYCLE" : "NO CYCLE") << ";"; return ss.str(); } } // namespace duckdb diff --git a/src/catalog/catalog_entry/table_catalog_entry.cpp b/src/catalog/catalog_entry/table_catalog_entry.cpp index 9fd270ac4976..e328fc9a4abf 100644 --- a/src/catalog/catalog_entry/table_catalog_entry.cpp +++ b/src/catalog/catalog_entry/table_catalog_entry.cpp @@ -21,6 +21,7 @@ TableCatalogEntry::TableCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schem : StandardEntry(CatalogType::TABLE_ENTRY, schema, catalog, info.table), columns(std::move(info.columns)), constraints(std::move(info.constraints)) { this->temporary = info.temporary; + this->comment = info.comment; } bool TableCatalogEntry::HasGeneratedColumns() const { @@ -63,6 +64,7 @@ unique_ptr TableCatalogEntry::GetInfo() const { result->constraints.reserve(constraints.size()); std::for_each(constraints.begin(), constraints.end(), [&result](const unique_ptr &c) { result->constraints.emplace_back(c->Copy()); }); + result->comment = comment; return std::move(result); } @@ -136,8 +138,8 @@ string TableCatalogEntry::ColumnsToSQL(const ColumnList &columns, const vectorToString() << ")"; + } else if (column.HasDefaultValue()) { + ss << " DEFAULT(" << column.DefaultValue().ToString() << ")"; } } // print any extra constraints that still need to be printed @@ -151,19 +153,8 @@ string TableCatalogEntry::ColumnsToSQL(const ColumnList &columns, const vectorToString(); } const ColumnList &TableCatalogEntry::GetColumns() const { diff --git a/src/catalog/catalog_entry/type_catalog_entry.cpp b/src/catalog/catalog_entry/type_catalog_entry.cpp index 055bdfc7c419..4e04ee26b1bd 100644 --- a/src/catalog/catalog_entry/type_catalog_entry.cpp +++ b/src/catalog/catalog_entry/type_catalog_entry.cpp @@ -13,6 +13,14 @@ TypeCatalogEntry::TypeCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schema, : StandardEntry(CatalogType::TYPE_ENTRY, schema, catalog, info.name), user_type(info.type) { this->temporary = info.temporary; this->internal = info.internal; + this->comment = info.comment; +} + +unique_ptr TypeCatalogEntry::Copy(ClientContext &context) const { + auto info_copy = GetInfo(); + auto &cast_info = info_copy->Cast(); + auto result = make_uniq(catalog, schema, cast_info); + return std::move(result); } unique_ptr TypeCatalogEntry::GetInfo() const { @@ -21,32 +29,24 @@ unique_ptr TypeCatalogEntry::GetInfo() const { result->schema = schema.name; result->name = name; result->type = user_type; + result->comment = comment; return std::move(result); } string TypeCatalogEntry::ToSQL() const { std::stringstream ss; - switch (user_type.id()) { - case (LogicalTypeId::ENUM): { - auto &values_insert_order = EnumType::GetValuesInsertOrder(user_type); - idx_t size = EnumType::GetSize(user_type); - ss << "CREATE TYPE "; - ss << KeywordHelper::WriteOptionallyQuoted(name); - ss << " AS ENUM ( "; - - for (idx_t i = 0; i < size; i++) { - ss << "'" << values_insert_order.GetValue(i).ToString() << "'"; - if (i != size - 1) { - ss << ", "; - } - } - ss << ");"; - break; - } - default: - throw InternalException("Logical Type can't be used as a User Defined Type"); - } + ss << "CREATE TYPE "; + ss << KeywordHelper::WriteOptionallyQuoted(name); + ss << " AS "; + + auto user_type_copy = user_type; + + // Strip off the potential alias so ToString doesn't just output the alias + user_type_copy.SetAlias(""); + D_ASSERT(user_type_copy.GetAlias().empty()); + ss << user_type_copy.ToString(); + ss << ";"; return ss.str(); } diff --git a/src/catalog/catalog_entry/view_catalog_entry.cpp b/src/catalog/catalog_entry/view_catalog_entry.cpp index 9c3a12cabdd7..1670eee90faf 100644 --- a/src/catalog/catalog_entry/view_catalog_entry.cpp +++ b/src/catalog/catalog_entry/view_catalog_entry.cpp @@ -14,9 +14,11 @@ void ViewCatalogEntry::Initialize(CreateViewInfo &info) { query = std::move(info.query); this->aliases = info.aliases; this->types = info.types; + this->names = info.names; this->temporary = info.temporary; this->sql = info.sql; this->internal = info.internal; + this->comment = info.comment; } ViewCatalogEntry::ViewCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateViewInfo &info) @@ -31,8 +33,10 @@ unique_ptr ViewCatalogEntry::GetInfo() const { result->sql = sql; result->query = unique_ptr_cast(query->Copy()); result->aliases = aliases; + result->names = names; result->types = types; result->temporary = temporary; + result->comment = comment; return std::move(result); } diff --git a/src/catalog/catalog_set.cpp b/src/catalog/catalog_set.cpp index b8986da6891b..672ed0b3403c 100644 --- a/src/catalog/catalog_set.cpp +++ b/src/catalog/catalog_set.cpp @@ -4,7 +4,6 @@ #include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp" #include "duckdb/catalog/dependency_manager.hpp" #include "duckdb/catalog/duck_catalog.hpp" -#include "duckdb/catalog/mapping_value.hpp" #include "duckdb/common/exception.hpp" #include "duckdb/common/serializer/memory_stream.hpp" #include "duckdb/common/serializer/binary_serializer.hpp" @@ -13,33 +12,72 @@ #include "duckdb/parser/parsed_data/alter_table_info.hpp" #include "duckdb/transaction/duck_transaction.hpp" #include "duckdb/transaction/transaction_manager.hpp" +#include "duckdb/catalog/dependency_list.hpp" +#include "duckdb/common/exception/transaction_exception.hpp" namespace duckdb { -//! Class responsible to keep track of state when removing entries from the catalog. -//! When deleting, many types of errors can be thrown, since we want to avoid try/catch blocks -//! this class makes sure that whatever elements were modified are returned to a correct state -//! when exceptions are thrown. -//! The idea here is to use RAII (Resource acquisition is initialization) to mimic a try/catch/finally block. -//! If any exception is raised when this object exists, then its destructor will be called -//! and the entry will return to its previous state during deconstruction. -class EntryDropper { -public: - //! Both constructor and destructor are privates because they should only be called by DropEntryDependencies - explicit EntryDropper(EntryIndex &entry_index_p) : entry_index(entry_index_p) { - old_deleted = entry_index.GetEntry()->deleted; +void CatalogEntryMap::AddEntry(unique_ptr entry) { + auto name = entry->name; + + if (entries.find(name) != entries.end()) { + throw InternalException("Entry with name \"%s\" already exists", name); } + entries.insert(make_pair(name, std::move(entry))); +} - ~EntryDropper() { - entry_index.GetEntry()->deleted = old_deleted; +void CatalogEntryMap::UpdateEntry(unique_ptr catalog_entry) { + auto name = catalog_entry->name; + + auto entry = entries.find(name); + if (entry == entries.end()) { + throw InternalException("Entry with name \"%s\" does not exist", name); + } + + auto existing = std::move(entry->second); + entry->second = std::move(catalog_entry); + entry->second->SetChild(std::move(existing)); +} + +case_insensitive_tree_t> &CatalogEntryMap::Entries() { + return entries; +} + +void CatalogEntryMap::DropEntry(CatalogEntry &entry) { + auto &name = entry.name; + auto chain = GetEntry(name); + if (!chain) { + throw InternalException("Attempting to drop entry with name \"%s\" but no chain with that name exists", name); + } + auto child = entry.TakeChild(); + if (!entry.HasParent()) { + // This is the top of the chain + D_ASSERT(chain.get() == &entry); + auto it = entries.find(name); + D_ASSERT(it != entries.end()); + + // Remove the entry + it->second.reset(); + if (child) { + // Replace it with its child + it->second = std::move(child); + } else { + entries.erase(it); + } + } else { + // Just replace the entry with its child + auto &parent = entry.Parent(); + parent.SetChild(std::move(child)); } +} -private: - //! Keeps track of the state of the entry before starting the delete - bool old_deleted; - //! Index of entry to be deleted - EntryIndex &entry_index; -}; +optional_ptr CatalogEntryMap::GetEntry(const string &name) { + auto entry = entries.find(name); + if (entry == entries.end()) { + return nullptr; + } + return entry->second.get(); +} CatalogSet::CatalogSet(Catalog &catalog_p, unique_ptr defaults) : catalog(catalog_p.Cast()), defaults(std::move(defaults)) { @@ -48,115 +86,142 @@ CatalogSet::CatalogSet(Catalog &catalog_p, unique_ptr defaults CatalogSet::~CatalogSet() { } -EntryIndex CatalogSet::PutEntry(idx_t entry_index, unique_ptr entry) { - if (entries.find(entry_index) != entries.end()) { - throw InternalException("Entry with entry index \"%llu\" already exists", entry_index); +bool IsDependencyEntry(CatalogEntry &entry) { + return entry.type == CatalogType::DEPENDENCY_ENTRY; +} + +bool CatalogSet::StartChain(CatalogTransaction transaction, const string &name, unique_lock &read_lock) { + D_ASSERT(!map.GetEntry(name)); + + // check if there is a default entry + auto entry = CreateDefaultEntry(transaction, name, read_lock); + if (entry) { + return false; } - entries.insert(make_pair(entry_index, EntryValue(std::move(entry)))); - return EntryIndex(*this, entry_index); + + // first create a dummy deleted entry for this entry + // so transactions started before the commit of this transaction don't + // see it yet + auto dummy_node = make_uniq(CatalogType::INVALID, catalog, name); + dummy_node->timestamp = 0; + dummy_node->deleted = true; + dummy_node->set = this; + + map.AddEntry(std::move(dummy_node)); + return true; } -void CatalogSet::PutEntry(EntryIndex index, unique_ptr catalog_entry) { - auto entry = entries.find(index.GetIndex()); - if (entry == entries.end()) { - throw InternalException("Entry with entry index \"%llu\" does not exist", index.GetIndex()); +bool CatalogSet::VerifyVacancy(CatalogTransaction transaction, CatalogEntry &entry) { + // if it does, we have to check version numbers + if (HasConflict(transaction, entry.timestamp)) { + // current version has been written to by a currently active + // transaction + throw TransactionException("Catalog write-write conflict on create with \"%s\"", entry.name); } - catalog_entry->child = std::move(entry->second.entry); - catalog_entry->child->parent = catalog_entry.get(); - entry->second.entry = std::move(catalog_entry); + // there is a current version that has been committed + // if it has not been deleted there is a conflict + if (!entry.deleted) { + return false; + } + return true; } -bool CatalogSet::CreateEntry(CatalogTransaction transaction, const string &name, unique_ptr value, - DependencyList &dependencies) { - if (value->internal && !catalog.IsSystemCatalog() && name != DEFAULT_SCHEMA) { +void CatalogSet::CheckCatalogEntryInvariants(CatalogEntry &value, const string &name) { + if (value.internal && !catalog.IsSystemCatalog() && name != DEFAULT_SCHEMA) { throw InternalException("Attempting to create internal entry \"%s\" in non-system catalog - internal entries " "can only be created in the system catalog", name); } - if (!value->internal) { - if (!value->temporary && catalog.IsSystemCatalog()) { + if (!value.internal) { + if (!value.temporary && catalog.IsSystemCatalog() && !IsDependencyEntry(value)) { throw InternalException( "Attempting to create non-internal entry \"%s\" in system catalog - the system catalog " "can only contain internal entries", name); } - if (value->temporary && !catalog.IsTemporaryCatalog()) { + if (value.temporary && !catalog.IsTemporaryCatalog()) { throw InternalException("Attempting to create temporary entry \"%s\" in non-temporary catalog", name); } - if (!value->temporary && catalog.IsTemporaryCatalog() && name != DEFAULT_SCHEMA) { + if (!value.temporary && catalog.IsTemporaryCatalog() && name != DEFAULT_SCHEMA) { throw InvalidInputException("Cannot create non-temporary entry \"%s\" in temporary catalog", name); } } - // lock the catalog for writing - lock_guard write_lock(catalog.GetWriteLock()); - // lock this catalog set to disallow reading - unique_lock read_lock(catalog_lock); +} - // first check if the entry exists in the unordered set - idx_t index; - auto mapping_value = GetMapping(transaction, name); - if (mapping_value == nullptr || mapping_value->deleted) { - // if it does not: entry has never been created +optional_ptr CatalogSet::CreateCommittedEntry(unique_ptr entry) { + auto existing_entry = map.GetEntry(entry->name); + if (existing_entry) { + // Return null if an entry by that name already exists + return nullptr; + } - // check if there is a default entry - auto entry = CreateDefaultEntry(transaction, name, read_lock); - if (entry) { - return false; - } + auto catalog_entry = entry.get(); - // first create a dummy deleted entry for this entry - // so transactions started before the commit of this transaction don't - // see it yet - auto dummy_node = make_uniq(CatalogType::INVALID, value->ParentCatalog(), name); - dummy_node->timestamp = 0; - dummy_node->deleted = true; - dummy_node->set = this; - - auto entry_index = PutEntry(current_entry++, std::move(dummy_node)); - index = entry_index.GetIndex(); - PutMapping(transaction, name, std::move(entry_index)); - } else { - index = mapping_value->index.GetIndex(); - auto ¤t = *mapping_value->index.GetEntry(); - // if it does, we have to check version numbers - if (HasConflict(transaction, current.timestamp)) { - // current version has been written to by a currently active - // transaction - throw TransactionException("Catalog write-write conflict on create with \"%s\"", current.name); + entry->set = this; + // Set the timestamp to the first committed transaction + entry->timestamp = 0; + map.AddEntry(std::move(entry)); + + return catalog_entry; +} + +bool CatalogSet::CreateEntryInternal(CatalogTransaction transaction, const string &name, unique_ptr value, + unique_lock &read_lock, bool should_be_empty) { + auto entry_value = map.GetEntry(name); + if (!entry_value) { + // Add a dummy node to start the chain + if (!StartChain(transaction, name, read_lock)) { + return false; } - // there is a current version that has been committed - // if it has not been deleted there is a conflict - if (!current.deleted) { + } else if (should_be_empty) { + // Verify that the chain is deleted, not altered by another transaction + if (!VerifyVacancy(transaction, *entry_value)) { return false; } } - // create a new entry and replace the currently stored one - // set the timestamp to the timestamp of the current transaction - // and point it at the dummy node - value->timestamp = transaction.transaction_id; - value->set = this; - - // now add the dependency set of this object to the dependency manager - catalog.GetDependencyManager().AddObject(transaction, *value, dependencies); + // Finally add the new entry to the chain auto value_ptr = value.get(); - EntryIndex entry_index(*this, index); - PutEntry(std::move(entry_index), std::move(value)); + map.UpdateEntry(std::move(value)); // push the old entry in the undo buffer for this transaction if (transaction.transaction) { auto &dtransaction = transaction.transaction->Cast(); - dtransaction.PushCatalogEntry(*value_ptr->child); + dtransaction.PushCatalogEntry(value_ptr->Child()); } return true; } +bool CatalogSet::CreateEntry(CatalogTransaction transaction, const string &name, unique_ptr value, + const DependencyList &dependencies) { + CheckCatalogEntryInvariants(*value, name); + + // Set the timestamp to the timestamp of the current transaction + value->timestamp = transaction.transaction_id; + value->set = this; + // now add the dependency set of this object to the dependency manager + catalog.GetDependencyManager().AddObject(transaction, *value, dependencies); + + // lock the catalog for writing + lock_guard write_lock(catalog.GetWriteLock()); + // lock this catalog set to disallow reading + unique_lock read_lock(catalog_lock); + + return CreateEntryInternal(transaction, name, std::move(value), read_lock); +} + bool CatalogSet::CreateEntry(ClientContext &context, const string &name, unique_ptr value, - DependencyList &dependencies) { + const DependencyList &dependencies) { return CreateEntry(catalog.GetCatalogTransaction(context), name, std::move(value), dependencies); } -optional_ptr CatalogSet::GetEntryInternal(CatalogTransaction transaction, EntryIndex &entry_index) { - auto &catalog_entry = *entry_index.GetEntry(); +optional_ptr CatalogSet::GetEntryInternal(CatalogTransaction transaction, const string &name) { + auto entry_value = map.GetEntry(name); + if (!entry_value) { + // the entry does not exist, check if we can create a default entry + return nullptr; + } + auto &catalog_entry = *entry_value; + // if it does: we have to retrieve the entry and to check version numbers if (HasConflict(transaction, catalog_entry.timestamp)) { // current version has been written to by a currently active @@ -172,162 +237,181 @@ optional_ptr CatalogSet::GetEntryInternal(CatalogTransaction trans return &catalog_entry; } -optional_ptr CatalogSet::GetEntryInternal(CatalogTransaction transaction, const string &name, - EntryIndex *entry_index) { - auto mapping_value = GetMapping(transaction, name); - if (mapping_value == nullptr || mapping_value->deleted) { - // the entry does not exist, check if we can create a default entry - return nullptr; - } - if (entry_index) { - *entry_index = mapping_value->index.Copy(); - } - return GetEntryInternal(transaction, mapping_value->index); -} - bool CatalogSet::AlterOwnership(CatalogTransaction transaction, ChangeOwnershipInfo &info) { - auto entry = GetEntryInternal(transaction, info.name, nullptr); + // lock the catalog for writing + unique_lock write_lock(catalog.GetWriteLock()); + + auto entry = GetEntryInternal(transaction, info.name); if (!entry) { return false; } auto &owner_entry = catalog.GetEntry(transaction.GetContext(), info.owner_schema, info.owner_name); + write_lock.unlock(); catalog.GetDependencyManager().AddOwnership(transaction, owner_entry, *entry); return true; } +bool CatalogSet::RenameEntryInternal(CatalogTransaction transaction, CatalogEntry &old, const string &new_name, + AlterInfo &alter_info, unique_lock &read_lock) { + auto &original_name = old.name; + + auto &context = *transaction.context; + auto entry_value = map.GetEntry(new_name); + if (entry_value) { + auto &existing_entry = GetEntryForTransaction(transaction, *entry_value); + if (!existing_entry.deleted) { + // There exists an entry by this name that is not deleted + old.UndoAlter(context, alter_info); + throw CatalogException("Could not rename \"%s\" to \"%s\": another entry with this name already exists!", + original_name, new_name); + } + } + + // Add a RENAMED_ENTRY before adding a DELETED_ENTRY, this makes it so that when this is committed + // we know that this was not a DROP statement. + auto renamed_tombstone = make_uniq(CatalogType::RENAMED_ENTRY, old.ParentCatalog(), original_name); + renamed_tombstone->timestamp = transaction.transaction_id; + renamed_tombstone->deleted = false; + renamed_tombstone->set = this; + if (!CreateEntryInternal(transaction, original_name, std::move(renamed_tombstone), read_lock, + /*should_be_empty = */ false)) { + return false; + } + if (!DropEntryInternal(transaction, original_name, false)) { + return false; + } + + // Add the renamed entry + // Start this off with a RENAMED_ENTRY node, for commit/cleanup/rollback purposes + auto renamed_node = make_uniq(CatalogType::RENAMED_ENTRY, catalog, new_name); + renamed_node->timestamp = transaction.transaction_id; + renamed_node->deleted = false; + renamed_node->set = this; + return CreateEntryInternal(transaction, new_name, std::move(renamed_node), read_lock); +} + bool CatalogSet::AlterEntry(CatalogTransaction transaction, const string &name, AlterInfo &alter_info) { // lock the catalog for writing - lock_guard write_lock(catalog.GetWriteLock()); + unique_lock write_lock(catalog.GetWriteLock()); // lock this catalog set to disallow reading - lock_guard read_lock(catalog_lock); + unique_lock read_lock(catalog_lock); - // first check if the entry exists in the unordered set - EntryIndex entry_index; - auto entry = GetEntryInternal(transaction, name, &entry_index); + // If the entry does not exist, we error + auto entry = GetEntryInternal(transaction, name); if (!entry) { return false; } if (!alter_info.allow_internal && entry->internal) { throw CatalogException("Cannot alter entry \"%s\" because it is an internal system entry", entry->name); } - - // create a new entry and replace the currently stored one - // set the timestamp to the timestamp of the current transaction - // and point it to the updated table node - string original_name = entry->name; if (!transaction.context) { throw InternalException("Cannot AlterEntry without client context"); } + auto &context = *transaction.context; - auto value = entry->AlterEntry(context, alter_info); - if (!value) { - // alter failed, but did not result in an error - return true; - } - if (value->name != original_name) { - auto mapping_value = GetMapping(transaction, value->name); - if (mapping_value && !mapping_value->deleted) { - auto &original_entry = GetEntryForTransaction(transaction, *mapping_value->index.GetEntry()); - if (!original_entry.deleted) { - entry->UndoAlter(context, alter_info); - string rename_err_msg = - "Could not rename \"%s\" to \"%s\": another entry with this name already exists!"; - throw CatalogException(rename_err_msg, original_name, value->name); - } + unique_ptr value; + if (alter_info.type == AlterType::SET_COMMENT) { + // Copy the existing entry; we are only changing metadata here + value = entry->Copy(context); + value->comment = alter_info.Cast().comment_value; + } else { + // Use the existing entry to create the altered entry + value = entry->AlterEntry(context, alter_info); + if (!value) { + // alter failed, but did not result in an error + return true; } } - if (value->name != original_name) { - // Do PutMapping and DeleteMapping after dependency check - PutMapping(transaction, value->name, entry_index.Copy()); - DeleteMapping(transaction, original_name); - } - + // Mark this entry as being created by this transaction value->timestamp = transaction.transaction_id; value->set = this; - auto new_entry = value.get(); - PutEntry(std::move(entry_index), std::move(value)); - // serialize the AlterInfo into a temporary buffer - MemoryStream stream; - BinarySerializer serializer(stream); - serializer.Begin(); - serializer.WriteProperty(100, "column_name", alter_info.GetColumnName()); - serializer.WriteProperty(101, "alter_info", &alter_info); - serializer.End(); + if (!StringUtil::CIEquals(value->name, entry->name)) { + if (!RenameEntryInternal(transaction, *entry, value->name, alter_info, read_lock)) { + return false; + } + } + auto new_entry = value.get(); + map.UpdateEntry(std::move(value)); // push the old entry in the undo buffer for this transaction if (transaction.transaction) { + // serialize the AlterInfo into a temporary buffer + MemoryStream stream; + BinarySerializer serializer(stream); + serializer.Begin(); + serializer.WriteProperty(100, "column_name", alter_info.GetColumnName()); + serializer.WriteProperty(101, "alter_info", &alter_info); + serializer.End(); + auto &dtransaction = transaction.transaction->Cast(); - dtransaction.PushCatalogEntry(*new_entry->child, stream.GetData(), stream.GetPosition()); + dtransaction.PushCatalogEntry(new_entry->Child(), stream.GetData(), stream.GetPosition()); } + read_lock.unlock(); + write_lock.unlock(); + // Check the dependency manager to verify that there are no conflicting dependencies with this alter - // Note that we do this AFTER the new entry has been entirely set up in the catalog set - // that is because in case the alter fails because of a dependency conflict, we need to be able to cleanly roll back - // to the old entry. catalog.GetDependencyManager().AlterObject(transaction, *entry, *new_entry); return true; } -void CatalogSet::DropEntryDependencies(CatalogTransaction transaction, EntryIndex &entry_index, CatalogEntry &entry, - bool cascade) { - // Stores the deleted value of the entry before starting the process - EntryDropper dropper(entry_index); - - // To correctly delete the object and its dependencies, it temporarily is set to deleted. - entry_index.GetEntry()->deleted = true; - +bool CatalogSet::DropDependencies(CatalogTransaction transaction, const string &name, bool cascade, + bool allow_drop_internal) { + auto entry = GetEntry(transaction, name); + if (!entry) { + return false; + } + if (entry->internal && !allow_drop_internal) { + throw CatalogException("Cannot drop entry \"%s\" because it is an internal system entry", entry->name); + } // check any dependencies of this object - D_ASSERT(entry.ParentCatalog().IsDuckCatalog()); - auto &duck_catalog = entry.ParentCatalog().Cast(); - duck_catalog.GetDependencyManager().DropObject(transaction, entry, cascade); - - // dropper destructor is called here - // the destructor makes sure to return the value to the previous state - // dropper.~EntryDropper() + D_ASSERT(entry->ParentCatalog().IsDuckCatalog()); + auto &duck_catalog = entry->ParentCatalog().Cast(); + duck_catalog.GetDependencyManager().DropObject(transaction, *entry, cascade); + return true; } -void CatalogSet::DropEntryInternal(CatalogTransaction transaction, EntryIndex entry_index, CatalogEntry &entry, - bool cascade) { - DropEntryDependencies(transaction, entry_index, entry, cascade); +bool CatalogSet::DropEntryInternal(CatalogTransaction transaction, const string &name, bool allow_drop_internal) { + // lock the catalog for writing + // we can only delete an entry that exists + auto entry = GetEntryInternal(transaction, name); + if (!entry) { + return false; + } + if (entry->internal && !allow_drop_internal) { + throw CatalogException("Cannot drop entry \"%s\" because it is an internal system entry", entry->name); + } - // create a new entry and replace the currently stored one + // create a new tombstone entry and replace the currently stored one // set the timestamp to the timestamp of the current transaction - // and point it at the dummy node - auto value = make_uniq(CatalogType::DELETED_ENTRY, entry.ParentCatalog(), entry.name); + // and point it at the tombstone node + auto value = make_uniq(CatalogType::DELETED_ENTRY, entry->ParentCatalog(), entry->name); value->timestamp = transaction.transaction_id; value->set = this; value->deleted = true; auto value_ptr = value.get(); - PutEntry(std::move(entry_index), std::move(value)); + map.UpdateEntry(std::move(value)); // push the old entry in the undo buffer for this transaction if (transaction.transaction) { auto &dtransaction = transaction.transaction->Cast(); - dtransaction.PushCatalogEntry(*value_ptr->child); + dtransaction.PushCatalogEntry(value_ptr->Child()); } + return true; } bool CatalogSet::DropEntry(CatalogTransaction transaction, const string &name, bool cascade, bool allow_drop_internal) { - // lock the catalog for writing - lock_guard write_lock(catalog.GetWriteLock()); - lock_guard read_lock(catalog_lock); - // we can only delete an entry that exists - EntryIndex entry_index; - auto entry = GetEntryInternal(transaction, name, &entry_index); - if (!entry) { + if (!DropDependencies(transaction, name, cascade, allow_drop_internal)) { return false; } - if (entry->internal && !allow_drop_internal) { - throw CatalogException("Cannot drop entry \"%s\" because it is an internal system entry", entry->name); - } - - DropEntryInternal(transaction, std::move(entry_index), *entry, cascade); - return true; + lock_guard write_lock(catalog.GetWriteLock()); + lock_guard read_lock(catalog_lock); + return DropEntryInternal(transaction, name, allow_drop_internal); } bool CatalogSet::DropEntry(ClientContext &context, const string &name, bool cascade, bool allow_drop_internal) { @@ -340,79 +424,31 @@ DuckCatalog &CatalogSet::GetCatalog() { void CatalogSet::CleanupEntry(CatalogEntry &catalog_entry) { // destroy the backed up entry: it is no longer required - D_ASSERT(catalog_entry.parent); - if (catalog_entry.parent->type != CatalogType::UPDATED_ENTRY) { - lock_guard write_lock(catalog.GetWriteLock()); - lock_guard lock(catalog_lock); - if (!catalog_entry.deleted) { - // delete the entry from the dependency manager, if it is not deleted yet - D_ASSERT(catalog_entry.ParentCatalog().IsDuckCatalog()); - catalog_entry.ParentCatalog().Cast().GetDependencyManager().EraseObject(catalog_entry); - } - auto parent = catalog_entry.parent; - parent->child = std::move(catalog_entry.child); - if (parent->deleted && !parent->child && !parent->parent) { - auto mapping_entry = mapping.find(parent->name); - D_ASSERT(mapping_entry != mapping.end()); - auto &entry = mapping_entry->second->index.GetEntry(); - D_ASSERT(entry); - if (entry.get() == parent.get()) { - mapping.erase(mapping_entry); - } - } + lock_guard write_lock(catalog.GetWriteLock()); + lock_guard lock(catalog_lock); + auto &parent = catalog_entry.Parent(); + map.DropEntry(catalog_entry); + if (parent.deleted && !parent.HasChild() && !parent.HasParent()) { + // The entry's parent is a tombstone and the entry had no child + // clean up the mapping and the tombstone entry as well + D_ASSERT(map.GetEntry(parent.name).get() == &parent); + map.DropEntry(parent); } } -bool CatalogSet::HasConflict(CatalogTransaction transaction, transaction_t timestamp) { - return (timestamp >= TRANSACTION_ID_START && timestamp != transaction.transaction_id) || - (timestamp < TRANSACTION_ID_START && timestamp > transaction.start_time); +bool CatalogSet::CreatedByOtherActiveTransaction(CatalogTransaction transaction, transaction_t timestamp) { + // True if this transaction is not committed yet and the entry was made by another active (not committed) + // transaction + return (timestamp >= TRANSACTION_ID_START && timestamp != transaction.transaction_id); } -optional_ptr CatalogSet::GetMapping(CatalogTransaction transaction, const string &name, bool get_latest) { - optional_ptr mapping_value; - auto entry = mapping.find(name); - if (entry != mapping.end()) { - mapping_value = entry->second.get(); - } else { - - return nullptr; - } - if (get_latest) { - return mapping_value; - } - while (mapping_value->child) { - if (UseTimestamp(transaction, mapping_value->timestamp)) { - break; - } - mapping_value = mapping_value->child.get(); - D_ASSERT(mapping_value); - } - return mapping_value; -} - -void CatalogSet::PutMapping(CatalogTransaction transaction, const string &name, EntryIndex entry_index) { - auto entry = mapping.find(name); - auto new_value = make_uniq(std::move(entry_index)); - new_value->timestamp = transaction.transaction_id; - if (entry != mapping.end()) { - if (HasConflict(transaction, entry->second->timestamp)) { - throw TransactionException("Catalog write-write conflict on name \"%s\"", name); - } - new_value->child = std::move(entry->second); - new_value->child->parent = new_value.get(); - } - mapping[name] = std::move(new_value); +bool CatalogSet::CommittedAfterStarting(CatalogTransaction transaction, transaction_t timestamp) { + // The entry has been committed after this transaction started, this is not our source of truth. + return (timestamp < TRANSACTION_ID_START && timestamp > transaction.start_time); } -void CatalogSet::DeleteMapping(CatalogTransaction transaction, const string &name) { - auto entry = mapping.find(name); - D_ASSERT(entry != mapping.end()); - auto delete_marker = make_uniq(entry->second->index.Copy()); - delete_marker->deleted = true; - delete_marker->timestamp = transaction.transaction_id; - delete_marker->child = std::move(entry->second); - delete_marker->child->parent = delete_marker.get(); - mapping[name] = std::move(delete_marker); +bool CatalogSet::HasConflict(CatalogTransaction transaction, transaction_t timestamp) { + return CreatedByOtherActiveTransaction(transaction, timestamp) || CommittedAfterStarting(transaction, timestamp); } bool CatalogSet::UseTimestamp(CatalogTransaction transaction, transaction_t timestamp) { @@ -429,23 +465,23 @@ bool CatalogSet::UseTimestamp(CatalogTransaction transaction, transaction_t time CatalogEntry &CatalogSet::GetEntryForTransaction(CatalogTransaction transaction, CatalogEntry ¤t) { reference entry(current); - while (entry.get().child) { + while (entry.get().HasChild()) { if (UseTimestamp(transaction, entry.get().timestamp)) { break; } - entry = *entry.get().child; + entry = entry.get().Child(); } return entry.get(); } CatalogEntry &CatalogSet::GetCommittedEntry(CatalogEntry ¤t) { reference entry(current); - while (entry.get().child) { + while (entry.get().HasChild()) { if (entry.get().timestamp < TRANSACTION_ID_START) { // this entry is committed: use it break; } - entry = *entry.get().child; + entry = entry.get().Child(); } return entry.get(); } @@ -455,38 +491,18 @@ SimilarCatalogEntry CatalogSet::SimilarEntry(CatalogTransaction transaction, con CreateDefaultEntries(transaction, lock); SimilarCatalogEntry result; - for (auto &kv : mapping) { - auto mapping_value = GetMapping(transaction, kv.first); - if (mapping_value && !mapping_value->deleted) { - auto ldist = StringUtil::SimilarityScore(kv.first, name); - if (ldist < result.distance) { - result.distance = ldist; - result.name = kv.first; - } + for (auto &kv : map.Entries()) { + auto ldist = StringUtil::SimilarityScore(kv.first, name); + if (ldist < result.distance) { + result.distance = ldist; + result.name = kv.first; } } return result; } -optional_ptr CatalogSet::CreateEntryInternal(CatalogTransaction transaction, - unique_ptr entry) { - if (mapping.find(entry->name) != mapping.end()) { - return nullptr; - } - auto &name = entry->name; - auto catalog_entry = entry.get(); - - entry->set = this; - entry->timestamp = 0; - - auto entry_index = PutEntry(current_entry++, std::move(entry)); - PutMapping(transaction, name, std::move(entry_index)); - mapping[name]->timestamp = 0; - return catalog_entry; -} - optional_ptr CatalogSet::CreateDefaultEntry(CatalogTransaction transaction, const string &name, - unique_lock &lock) { + unique_lock &read_lock) { // no entry found with this name, check for defaults if (!defaults || defaults->created_all_entries) { // no defaults either: return null @@ -498,41 +514,51 @@ optional_ptr CatalogSet::CreateDefaultEntry(CatalogTransaction tra // no context - cannot create default entry return nullptr; } - lock.unlock(); + read_lock.unlock(); auto entry = defaults->CreateDefaultEntry(*transaction.context, name); - lock.lock(); + read_lock.lock(); if (!entry) { // no default entry return nullptr; } // there is a default entry! create it - auto result = CreateEntryInternal(transaction, std::move(entry)); + auto result = CreateCommittedEntry(std::move(entry)); if (result) { return result; } // we found a default entry, but failed // this means somebody else created the entry first // just retry? - lock.unlock(); + read_lock.unlock(); return GetEntry(transaction, name); } -optional_ptr CatalogSet::GetEntry(CatalogTransaction transaction, const string &name) { - unique_lock lock(catalog_lock); - auto mapping_value = GetMapping(transaction, name); - if (mapping_value != nullptr && !mapping_value->deleted) { +CatalogSet::EntryLookup CatalogSet::GetEntryDetailed(CatalogTransaction transaction, const string &name) { + unique_lock read_lock(catalog_lock); + auto entry_value = map.GetEntry(name); + if (entry_value) { // we found an entry for this name // check the version numbers - auto &catalog_entry = *mapping_value->index.GetEntry(); + auto &catalog_entry = *entry_value; auto ¤t = GetEntryForTransaction(transaction, catalog_entry); - if (current.deleted || (current.name != name && !UseTimestamp(transaction, mapping_value->timestamp))) { - return nullptr; + if (current.deleted) { + return EntryLookup {nullptr, EntryLookup::FailureReason::DELETED}; } - return ¤t; + D_ASSERT(StringUtil::CIEquals(name, current.name)); + return EntryLookup {¤t, EntryLookup::FailureReason::SUCCESS}; + } + auto default_entry = CreateDefaultEntry(transaction, name, read_lock); + if (!default_entry) { + return EntryLookup {default_entry, EntryLookup::FailureReason::NOT_PRESENT}; } - return CreateDefaultEntry(transaction, name, lock); + return EntryLookup {default_entry, EntryLookup::FailureReason::SUCCESS}; +} + +optional_ptr CatalogSet::GetEntry(CatalogTransaction transaction, const string &name) { + auto lookup = GetEntryDetailed(transaction, name); + return lookup.result; } optional_ptr CatalogSet::GetEntry(ClientContext &context, const string &name) { @@ -541,7 +567,6 @@ optional_ptr CatalogSet::GetEntry(ClientContext &context, const st void CatalogSet::UpdateTimestamp(CatalogEntry &entry, transaction_t timestamp) { entry.timestamp = timestamp; - mapping[entry.name]->timestamp = timestamp; } void CatalogSet::Undo(CatalogEntry &entry) { @@ -552,69 +577,41 @@ void CatalogSet::Undo(CatalogEntry &entry) { // and entry->parent has to be removed ("rolled back") // i.e. we have to place (entry) as (entry->parent) again - auto &to_be_removed_node = *entry.parent; - - if (!to_be_removed_node.deleted) { - // delete the entry from the dependency manager as well - auto &dependency_manager = catalog.GetDependencyManager(); - dependency_manager.EraseObject(to_be_removed_node); - } - if (!StringUtil::CIEquals(entry.name, to_be_removed_node.name)) { - // rename: clean up the new name when the rename is rolled back - auto removed_entry = mapping.find(to_be_removed_node.name); - if (removed_entry->second->child) { - removed_entry->second->child->parent = nullptr; - mapping[to_be_removed_node.name] = std::move(removed_entry->second->child); - } else { - mapping.erase(removed_entry); - } + auto &to_be_removed_node = entry.Parent(); + + D_ASSERT(StringUtil::CIEquals(entry.name, to_be_removed_node.name)); + if (!to_be_removed_node.HasParent()) { + to_be_removed_node.Child().SetAsRoot(); } - if (to_be_removed_node.parent) { - // if the to be removed node has a parent, set the child pointer to the - // to be restored node - to_be_removed_node.parent->child = std::move(to_be_removed_node.child); - entry.parent = to_be_removed_node.parent; - } else { - // otherwise we need to update the base entry tables - auto &name = entry.name; - to_be_removed_node.child->SetAsRoot(); - mapping[name]->index.GetEntry() = std::move(to_be_removed_node.child); - entry.parent = nullptr; - } - - // restore the name if it was deleted - auto restored_entry = mapping.find(entry.name); - if (restored_entry->second->deleted || entry.type == CatalogType::INVALID) { - if (restored_entry->second->child) { - restored_entry->second->child->parent = nullptr; - mapping[entry.name] = std::move(restored_entry->second->child); - } else { - mapping.erase(restored_entry); - } + map.DropEntry(to_be_removed_node); + + if (entry.type == CatalogType::INVALID) { + // This was the root of the entry chain + map.DropEntry(entry); } // we mark the catalog as being modified, since this action can lead to e.g. tables being dropped catalog.ModifyCatalog(); } -void CatalogSet::CreateDefaultEntries(CatalogTransaction transaction, unique_lock &lock) { +void CatalogSet::CreateDefaultEntries(CatalogTransaction transaction, unique_lock &read_lock) { if (!defaults || defaults->created_all_entries || !transaction.context) { return; } // this catalog set has a default set defined: auto default_entries = defaults->GetDefaultEntries(); for (auto &default_entry : default_entries) { - auto map_entry = mapping.find(default_entry); - if (map_entry == mapping.end()) { + auto entry_value = map.GetEntry(default_entry); + if (!entry_value) { // we unlock during the CreateEntry, since it might reference other catalog sets... // specifically for views this can happen since the view will be bound - lock.unlock(); + read_lock.unlock(); auto entry = defaults->CreateDefaultEntry(*transaction.context, default_entry); if (!entry) { throw InternalException("Failed to create default entry for %s", default_entry); } - lock.lock(); - CreateEntryInternal(transaction, std::move(entry)); + read_lock.lock(); + CreateCommittedEntry(std::move(entry)); } } defaults->created_all_entries = true; @@ -625,8 +622,8 @@ void CatalogSet::Scan(CatalogTransaction transaction, const std::function lock(catalog_lock); CreateDefaultEntries(transaction, lock); - for (auto &kv : entries) { - auto &entry = *kv.second.entry.get(); + for (auto &kv : map.Entries()) { + auto &entry = *kv.second; auto &entry_for_transaction = GetEntryForTransaction(transaction, entry); if (!entry_for_transaction.deleted) { callback(entry_for_transaction); @@ -638,12 +635,30 @@ void CatalogSet::Scan(ClientContext &context, const std::function &callback, + const string &prefix) { + // lock the catalog set + unique_lock lock(catalog_lock); + CreateDefaultEntries(transaction, lock); + + auto &entries = map.Entries(); + auto it = entries.lower_bound(prefix); + auto end = entries.upper_bound(prefix + char(255)); + for (; it != end; it++) { + auto &entry = *it->second; + auto &entry_for_transaction = GetEntryForTransaction(transaction, entry); + if (!entry_for_transaction.deleted) { + callback(entry_for_transaction); + } + } +} + void CatalogSet::Scan(const std::function &callback) { // lock the catalog set lock_guard lock(catalog_lock); - for (auto &kv : entries) { - auto entry = kv.second.entry.get(); - auto &commited_entry = GetCommittedEntry(*entry); + for (auto &kv : map.Entries()) { + auto &entry = *kv.second; + auto &commited_entry = GetCommittedEntry(entry); if (!commited_entry.deleted) { callback(commited_entry); } diff --git a/src/catalog/catalog_transaction.cpp b/src/catalog/catalog_transaction.cpp index a99a80287fab..fbe100d3adaf 100644 --- a/src/catalog/catalog_transaction.cpp +++ b/src/catalog/catalog_transaction.cpp @@ -31,6 +31,10 @@ ClientContext &CatalogTransaction::GetContext() { return *context; } +CatalogTransaction CatalogTransaction::GetSystemCatalogTransaction(ClientContext &context) { + return CatalogTransaction(Catalog::GetSystemCatalog(context), context); +} + CatalogTransaction CatalogTransaction::GetSystemTransaction(DatabaseInstance &db) { return CatalogTransaction(db, 1, 1); } diff --git a/src/catalog/default/default_functions.cpp b/src/catalog/default/default_functions.cpp index 1c8a528fb1f0..503cdbc46bba 100644 --- a/src/catalog/default/default_functions.cpp +++ b/src/catalog/default/default_functions.cpp @@ -27,6 +27,11 @@ static DefaultMacro internal_macros[] = { {"pg_catalog", "pg_typeof", {"expression", nullptr}, "lower(typeof(expression))"}, // get the data type of any value + {"pg_catalog", "current_database", {nullptr}, "current_database()"}, // name of current database (called "catalog" in the SQL standard) + {"pg_catalog", "current_query", {nullptr}, "current_query()"}, // the currently executing query (NULL if not inside a plpgsql function) + {"pg_catalog", "current_schema", {nullptr}, "current_schema()"}, // name of current schema + {"pg_catalog", "current_schemas", {"include_implicit"}, "current_schemas(include_implicit)"}, // names of schemas in search path + // privilege functions // {"has_any_column_privilege", {"user", "table", "privilege", nullptr}, "true"}, //boolean //does user have privilege for any column of table {"pg_catalog", "has_any_column_privilege", {"table", "privilege", nullptr}, "true"}, //boolean //does current user have privilege for any column of table @@ -92,7 +97,7 @@ static DefaultMacro internal_macros[] = { {DEFAULT_SCHEMA, "array_pop_front", {"arr", nullptr}, "arr[2:]"}, {DEFAULT_SCHEMA, "array_push_back", {"arr", "e", nullptr}, "list_concat(arr, list_value(e))"}, {DEFAULT_SCHEMA, "array_push_front", {"arr", "e", nullptr}, "list_concat(list_value(e), arr)"}, - {DEFAULT_SCHEMA, "array_to_string", {"arr", "sep", nullptr}, "list_aggr(arr, 'string_agg', sep)"}, + {DEFAULT_SCHEMA, "array_to_string", {"arr", "sep", nullptr}, "list_aggr(arr::varchar[], 'string_agg', sep)"}, {DEFAULT_SCHEMA, "generate_subscripts", {"arr", "dim", nullptr}, "unnest(generate_series(1, array_length(arr, dim)))"}, {DEFAULT_SCHEMA, "fdiv", {"x", "y", nullptr}, "floor(x/y)"}, {DEFAULT_SCHEMA, "fmod", {"x", "y", nullptr}, "(x-y*floor(x/y))"}, @@ -105,14 +110,14 @@ static DefaultMacro internal_macros[] = { {DEFAULT_SCHEMA, "array_reverse", {"l", nullptr}, "list_reverse(l)"}, // FIXME implement as actual function if we encounter a lot of performance issues. Complexity now: n * m, with hashing possibly n + m - {DEFAULT_SCHEMA, "list_intersect", {"l1", "l2", nullptr}, "list_filter(l1, (x) -> list_contains(l2, x))"}, + {DEFAULT_SCHEMA, "list_intersect", {"l1", "l2", nullptr}, "list_filter(list_distinct(l1), (variable_intersect) -> list_contains(l2, variable_intersect))"}, {DEFAULT_SCHEMA, "array_intersect", {"l1", "l2", nullptr}, "list_intersect(l1, l2)"}, - {DEFAULT_SCHEMA, "list_has_any", {"l1", "l2", nullptr}, "CASE WHEN l1 IS NULL THEN NULL WHEN l2 IS NULL THEN NULL WHEN len(list_intersect(l1, l2)) > 0 THEN true ELSE false END"}, + {DEFAULT_SCHEMA, "list_has_any", {"l1", "l2", nullptr}, "CASE WHEN l1 IS NULL THEN NULL WHEN l2 IS NULL THEN NULL WHEN len(list_filter(l1, (variable_has_any) -> list_contains(l2, variable_has_any))) > 0 THEN true ELSE false END"}, {DEFAULT_SCHEMA, "array_has_any", {"l1", "l2", nullptr}, "list_has_any(l1, l2)" }, {DEFAULT_SCHEMA, "&&", {"l1", "l2", nullptr}, "list_has_any(l1, l2)" }, // "&&" is the operator for "list_has_any - {DEFAULT_SCHEMA, "list_has_all", {"l1", "l2", nullptr}, "CASE WHEN l1 IS NULL THEN NULL WHEN l2 IS NULL THEN NULL WHEN len(list_intersect(l2, l1)) = len(list_filter(l2, x -> x IS NOT NULL)) THEN true ELSE false END"}, + {DEFAULT_SCHEMA, "list_has_all", {"l1", "l2", nullptr}, "CASE WHEN l1 IS NULL THEN NULL WHEN l2 IS NULL THEN NULL WHEN len(list_filter(l2, (variable_has_all) -> list_contains(l1, variable_has_all))) = len(list_filter(l2, variable_has_all -> variable_has_all IS NOT NULL)) THEN true ELSE false END"}, {DEFAULT_SCHEMA, "array_has_all", {"l1", "l2", nullptr}, "list_has_all(l1, l2)" }, {DEFAULT_SCHEMA, "@>", {"l1", "l2", nullptr}, "list_has_all(l1, l2)" }, // "@>" is the operator for "list_has_all {DEFAULT_SCHEMA, "<@", {"l1", "l2", nullptr}, "list_has_all(l2, l1)" }, // "<@" is the operator for "list_has_all @@ -138,6 +143,7 @@ static DefaultMacro internal_macros[] = { {DEFAULT_SCHEMA, "list_first", {"l", nullptr}, "list_aggr(l, 'first')"}, {DEFAULT_SCHEMA, "list_any_value", {"l", nullptr}, "list_aggr(l, 'any_value')"}, {DEFAULT_SCHEMA, "list_kurtosis", {"l", nullptr}, "list_aggr(l, 'kurtosis')"}, + {DEFAULT_SCHEMA, "list_kurtosis_pop", {"l", nullptr}, "list_aggr(l, 'kurtosis_pop')"}, {DEFAULT_SCHEMA, "list_min", {"l", nullptr}, "list_aggr(l, 'min')"}, {DEFAULT_SCHEMA, "list_max", {"l", nullptr}, "list_aggr(l, 'max')"}, {DEFAULT_SCHEMA, "list_product", {"l", nullptr}, "list_aggr(l, 'product')"}, @@ -156,6 +162,9 @@ static DefaultMacro internal_macros[] = { // date functions {DEFAULT_SCHEMA, "date_add", {"date", "interval", nullptr}, "date + interval"}, + // storage helper functions + {DEFAULT_SCHEMA, "get_block_size", {"db_name"}, "(SELECT block_size FROM pragma_database_size() WHERE database_name = db_name)"}, + {nullptr, nullptr, {nullptr}, nullptr} }; diff --git a/src/catalog/default/default_schemas.cpp b/src/catalog/default/default_schemas.cpp index 394e1ba2afef..bda6f6abc9f5 100644 --- a/src/catalog/default/default_schemas.cpp +++ b/src/catalog/default/default_schemas.cpp @@ -1,5 +1,6 @@ #include "duckdb/catalog/default/default_schemas.hpp" #include "duckdb/catalog/catalog_entry/duck_schema_entry.hpp" +#include "duckdb/parser/parsed_data/create_schema_info.hpp" #include "duckdb/common/string_util.hpp" namespace duckdb { @@ -25,7 +26,10 @@ DefaultSchemaGenerator::DefaultSchemaGenerator(Catalog &catalog) : DefaultGenera unique_ptr DefaultSchemaGenerator::CreateDefaultEntry(ClientContext &context, const string &entry_name) { if (GetDefaultSchema(entry_name)) { - return make_uniq_base(catalog, StringUtil::Lower(entry_name), true); + CreateSchemaInfo info; + info.schema = StringUtil::Lower(entry_name); + info.internal = true; + return make_uniq_base(catalog, info); } return nullptr; } diff --git a/src/catalog/default/default_views.cpp b/src/catalog/default/default_views.cpp index 720045025efd..a106d87b0f80 100644 --- a/src/catalog/default/default_views.cpp +++ b/src/catalog/default/default_views.cpp @@ -33,12 +33,12 @@ static DefaultView internal_views[] = { {"pg_catalog", "pg_constraint", "SELECT table_oid*1000000+constraint_index oid, constraint_text conname, schema_oid connamespace, CASE constraint_type WHEN 'CHECK' then 'c' WHEN 'UNIQUE' then 'u' WHEN 'PRIMARY KEY' THEN 'p' WHEN 'FOREIGN KEY' THEN 'f' ELSE 'x' END contype, false condeferrable, false condeferred, true convalidated, table_oid conrelid, 0 contypid, 0 conindid, 0 conparentid, 0 confrelid, NULL confupdtype, NULL confdeltype, NULL confmatchtype, true conislocal, 0 coninhcount, false connoinherit, constraint_column_indexes conkey, NULL confkey, NULL conpfeqop, NULL conppeqop, NULL conffeqop, NULL conexclop, expression conbin FROM duckdb_constraints()"}, {"pg_catalog", "pg_database", "SELECT database_oid oid, database_name datname FROM duckdb_databases()"}, {"pg_catalog", "pg_depend", "SELECT * FROM duckdb_dependencies()"}, - {"pg_catalog", "pg_description", "SELECT NULL objoid, NULL classoid, NULL objsubid, NULL description WHERE 1=0"}, + {"pg_catalog", "pg_description", "SELECT table_oid AS objoid, database_oid AS classoid, 0 AS objsubid, comment AS description FROM duckdb_tables() WHERE NOT internal UNION ALL SELECT table_oid AS objoid, database_oid AS classoid, column_index AS objsubid, comment AS description FROM duckdb_columns() WHERE NOT internal UNION ALL SELECT view_oid AS objoid, database_oid AS classoid, 0 AS objsubid, comment AS description FROM duckdb_views() WHERE NOT internal UNION ALL SELECT index_oid AS objoid, database_oid AS classoid, 0 AS objsubid, comment AS description FROM duckdb_indexes UNION ALL SELECT sequence_oid AS objoid, database_oid AS classoid, 0 AS objsubid, comment AS description FROM duckdb_sequences() UNION ALL SELECT type_oid AS objoid, database_oid AS classoid, 0 AS objsubid, comment AS description FROM duckdb_types() WHERE NOT internal UNION ALL SELECT function_oid AS objoid, database_oid AS classoid, 0 AS objsubid, comment AS description FROM duckdb_functions() WHERE NOT internal;"}, {"pg_catalog", "pg_enum", "SELECT NULL oid, a.type_oid enumtypid, list_position(b.labels, a.elabel) enumsortorder, a.elabel enumlabel FROM (SELECT UNNEST(labels) elabel, type_oid FROM duckdb_types() WHERE logical_type='ENUM') a JOIN duckdb_types() b ON a.type_oid=b.type_oid;"}, {"pg_catalog", "pg_index", "SELECT index_oid indexrelid, table_oid indrelid, 0 indnatts, 0 indnkeyatts, is_unique indisunique, is_primary indisprimary, false indisexclusion, true indimmediate, false indisclustered, true indisvalid, false indcheckxmin, true indisready, true indislive, false indisreplident, NULL::INT[] indkey, NULL::OID[] indcollation, NULL::OID[] indclass, NULL::INT[] indoption, expressions indexprs, NULL indpred FROM duckdb_indexes()"}, {"pg_catalog", "pg_indexes", "SELECT schema_name schemaname, table_name tablename, index_name indexname, NULL \"tablespace\", sql indexdef FROM duckdb_indexes()"}, {"pg_catalog", "pg_namespace", "SELECT oid, schema_name nspname, 0 nspowner, NULL nspacl FROM duckdb_schemas()"}, - {"pg_catalog", "pg_proc", "SELECT f.function_oid oid, function_name proname, s.oid pronamespace, varargs provariadic, function_type = 'aggregate' proisagg, function_type = 'table' proretset, return_type prorettype, parameter_types proargtypes, parameters proargnames FROM duckdb_functions() f LEFT JOIN duckdb_schemas() s USING (database_name, schema_name)"}, + {"pg_catalog", "pg_proc", "SELECT f.function_oid oid, function_name proname, s.oid pronamespace, NULL proowner, NULL prolang, 0 procost, 0 prorows, varargs provariadic, 0 prosupport, CASE function_type WHEN 'aggregate' THEN 'a' ELSE 'f' END prokind, false prosecdef, false proleakproof, false proisstrict, function_type = 'table' proretset, case (stability) when 'CONSISTENT' then 'i' when 'CONSISTENT_WITHIN_QUERY' then 's' when 'VOLATILE' then 'v' end provolatile, 'u' proparallel, length(parameters) pronargs, 0 pronargdefaults, return_type prorettype, parameter_types proargtypes, NULL proallargtypes, NULL proargmodes, parameters proargnames, NULL proargdefaults, NULL protrftypes, NULL prosrc, NULL probin, macro_definition prosqlbody, NULL proconfig, NULL proacl, function_type = 'aggregate' proisagg, FROM duckdb_functions() f LEFT JOIN duckdb_schemas() s USING (database_name, schema_name)"}, {"pg_catalog", "pg_sequence", "SELECT sequence_oid seqrelid, 0 seqtypid, start_value seqstart, increment_by seqincrement, max_value seqmax, min_value seqmin, 0 seqcache, cycle seqcycle FROM duckdb_sequences()"}, {"pg_catalog", "pg_sequences", "SELECT schema_name schemaname, sequence_name sequencename, 'duckdb' sequenceowner, 0 data_type, start_value, min_value, max_value, increment_by, cycle, 0 cache_size, last_value FROM duckdb_sequences()"}, {"pg_catalog", "pg_settings", "SELECT name, value setting, description short_desc, CASE WHEN input_type = 'VARCHAR' THEN 'string' WHEN input_type = 'BOOLEAN' THEN 'bool' WHEN input_type IN ('BIGINT', 'UBIGINT') THEN 'integer' ELSE input_type END vartype FROM duckdb_settings()"}, @@ -49,6 +49,10 @@ static DefaultView internal_views[] = { {"information_schema", "columns", "SELECT database_name table_catalog, schema_name table_schema, table_name, column_name, column_index ordinal_position, column_default, CASE WHEN is_nullable THEN 'YES' ELSE 'NO' END is_nullable, data_type, character_maximum_length, NULL character_octet_length, numeric_precision, numeric_precision_radix, numeric_scale, NULL datetime_precision, NULL interval_type, NULL interval_precision, NULL character_set_catalog, NULL character_set_schema, NULL character_set_name, NULL collation_catalog, NULL collation_schema, NULL collation_name, NULL domain_catalog, NULL domain_schema, NULL domain_name, NULL udt_catalog, NULL udt_schema, NULL udt_name, NULL scope_catalog, NULL scope_schema, NULL scope_name, NULL maximum_cardinality, NULL dtd_identifier, NULL is_self_referencing, NULL is_identity, NULL identity_generation, NULL identity_start, NULL identity_increment, NULL identity_maximum, NULL identity_minimum, NULL identity_cycle, NULL is_generated, NULL generation_expression, NULL is_updatable FROM duckdb_columns;"}, {"information_schema", "schemata", "SELECT database_name catalog_name, schema_name, 'duckdb' schema_owner, NULL default_character_set_catalog, NULL default_character_set_schema, NULL default_character_set_name, sql sql_path FROM duckdb_schemas()"}, {"information_schema", "tables", "SELECT database_name table_catalog, schema_name table_schema, table_name, CASE WHEN temporary THEN 'LOCAL TEMPORARY' ELSE 'BASE TABLE' END table_type, NULL self_referencing_column_name, NULL reference_generation, NULL user_defined_type_catalog, NULL user_defined_type_schema, NULL user_defined_type_name, 'YES' is_insertable_into, 'NO' is_typed, CASE WHEN temporary THEN 'PRESERVE' ELSE NULL END commit_action FROM duckdb_tables() UNION ALL SELECT database_name table_catalog, schema_name table_schema, view_name table_name, 'VIEW' table_type, NULL self_referencing_column_name, NULL reference_generation, NULL user_defined_type_catalog, NULL user_defined_type_schema, NULL user_defined_type_name, 'NO' is_insertable_into, 'NO' is_typed, NULL commit_action FROM duckdb_views;"}, + {"information_schema", "character_sets", "SELECT NULL character_set_catalog, NULL character_set_schema, 'UTF8' character_set_name, 'UCS' character_repertoire, 'UTF8' form_of_use, current_database() default_collate_catalog, 'pg_catalog' default_collate_schema, 'ucs_basic' default_collate_name;"}, + {"information_schema", "referential_constraints", "SELECT f.database_name constraint_catalog, f.schema_name constraint_schema, concat(f.source, '_', f.target, '_', f.target_column, '_fkey') constraint_name, current_database() unique_constraint_catalog, c.schema_name unique_constraint_schema, concat(c.table_name, '_', f.target_column, '_', CASE WHEN c.constraint_type == 'UNIQUE' THEN 'key' ELSE 'pkey' END) unique_constraint_name, 'NONE' match_option, 'NO ACTION' update_rule, 'NO ACTION' delete_rule FROM duckdb_constraints() c JOIN (SELECT *, name_extract['source'] source, name_extract['target'] target, name_extract['target_column'] target_column FROM (SELECT *, regexp_extract(constraint_text, 'FOREIGN KEY \\(([a-zA-Z_0-9]+)\\) REFERENCES ([a-zA-Z_0-9]+)\\(([a-zA-Z_0-9]+)\\)', ['source', 'target', 'target_column']) name_extract FROM duckdb_constraints() WHERE constraint_type = 'FOREIGN KEY')) f ON name_extract['target'] = c.table_name AND (c.constraint_type = 'UNIQUE' OR c.constraint_type = 'PRIMARY KEY')"}, + {"information_schema", "key_column_usage", "SELECT current_database() constraint_catalog, schema_name constraint_schema, concat(table_name, '_', constraint_column_names[1], CASE constraint_type WHEN 'FOREIGN KEY' THEN '_fkey' WHEN 'PRIMARY KEY' THEN '_pkey' ELSE '_key' END) constraint_name, current_database() table_catalog, schema_name table_schema, table_name, constraint_column_names[1] column_name, 1 ordinal_position, CASE constraint_type WHEN 'FOREIGN KEY' THEN 1 ELSE NULL END position_in_unique_constraint FROM duckdb_constraints() WHERE constraint_type = 'FOREIGN KEY' OR constraint_type = 'PRIMARY KEY' OR constraint_type = 'UNIQUE';"}, + {"information_schema", "table_constraints", "SELECT current_database() constraint_catalog, schema_name constraint_schema, concat(table_name, '_', CASE WHEN length(constraint_column_names) > 1 THEN NULL ELSE constraint_column_names[1] || '_' END, CASE constraint_type WHEN 'FOREIGN KEY' THEN 'fkey' WHEN 'PRIMARY KEY' THEN 'pkey' WHEN 'UNIQUE' THEN 'key' WHEN 'CHECK' THEN 'check' WHEN 'NOT NULL' THEN 'not_null' END) constraint_name, current_database() table_catalog, schema_name table_schema, table_name, CASE constraint_type WHEN 'NOT NULL' THEN 'CHECK' ELSE constraint_type END constraint_type, 'NO' is_deferrable, 'NO' initially_deferred, 'YES' enforced, 'YES' nulls_distinct FROM duckdb_constraints() WHERE constraint_type = 'PRIMARY KEY' OR constraint_type = 'FOREIGN KEY' OR constraint_type = 'UNIQUE' OR constraint_type = 'CHECK' OR constraint_type = 'NOT NULL';"}, {nullptr, nullptr, nullptr}}; static unique_ptr GetDefaultView(ClientContext &context, const string &input_schema, const string &input_name) { diff --git a/src/catalog/dependency_catalog_set.cpp b/src/catalog/dependency_catalog_set.cpp new file mode 100644 index 000000000000..e58dfdf240a2 --- /dev/null +++ b/src/catalog/dependency_catalog_set.cpp @@ -0,0 +1,51 @@ +#include "duckdb/catalog/dependency_catalog_set.hpp" +#include "duckdb/catalog/catalog_entry/dependency/dependency_entry.hpp" +#include "duckdb/catalog/dependency_list.hpp" + +namespace duckdb { + +MangledDependencyName DependencyCatalogSet::ApplyPrefix(const MangledEntryName &name) const { + return MangledDependencyName(mangled_name, name); +} + +bool DependencyCatalogSet::CreateEntry(CatalogTransaction transaction, const MangledEntryName &name, + unique_ptr value) { + auto new_name = ApplyPrefix(name); + + static const DependencyList EMPTY_DEPENDENCIES; + return set.CreateEntry(transaction, new_name.name, std::move(value), EMPTY_DEPENDENCIES); +} + +CatalogSet::EntryLookup DependencyCatalogSet::GetEntryDetailed(CatalogTransaction transaction, + const MangledEntryName &name) { + auto new_name = ApplyPrefix(name); + return set.GetEntryDetailed(transaction, new_name.name); +} + +optional_ptr DependencyCatalogSet::GetEntry(CatalogTransaction transaction, + const MangledEntryName &name) { + auto new_name = ApplyPrefix(name); + return set.GetEntry(transaction, new_name.name); +} + +void DependencyCatalogSet::Scan(CatalogTransaction transaction, const std::function &callback) { + set.ScanWithPrefix( + transaction, + [&](CatalogEntry &entry) { + auto &dep = entry.Cast(); + auto &from = dep.SourceMangledName(); + if (!StringUtil::CIEquals(from.name, mangled_name.name)) { + return; + } + callback(entry); + }, + mangled_name.name); +} + +bool DependencyCatalogSet::DropEntry(CatalogTransaction transaction, const MangledEntryName &name, bool cascade, + bool allow_drop_internal) { + auto new_name = ApplyPrefix(name); + return set.DropEntry(transaction, new_name.name, cascade, allow_drop_internal); +} + +} // namespace duckdb diff --git a/src/catalog/dependency_manager.cpp b/src/catalog/dependency_manager.cpp index 901604a5fd71..0a5ad435ea68 100644 --- a/src/catalog/dependency_manager.cpp +++ b/src/catalog/dependency_manager.cpp @@ -6,15 +6,262 @@ #include "duckdb/main/client_context.hpp" #include "duckdb/main/database.hpp" #include "duckdb/parser/expression/constant_expression.hpp" -#include "duckdb/catalog/mapping_value.hpp" #include "duckdb/catalog/dependency_list.hpp" +#include "duckdb/common/enums/catalog_type.hpp" +#include "duckdb/catalog/catalog_entry/dependency/dependency_entry.hpp" +#include "duckdb/catalog/catalog_entry/dependency/dependency_subject_entry.hpp" +#include "duckdb/catalog/catalog_entry/dependency/dependency_dependent_entry.hpp" +#include "duckdb/catalog/catalog_entry/duck_schema_entry.hpp" +#include "duckdb/catalog/dependency_catalog_set.hpp" namespace duckdb { -DependencyManager::DependencyManager(DuckCatalog &catalog) : catalog(catalog) { +static void AssertMangledName(const string &mangled_name, idx_t expected_null_bytes) { +#ifdef DEBUG + idx_t nullbyte_count = 0; + for (auto &ch : mangled_name) { + nullbyte_count += ch == '\0'; + } + D_ASSERT(nullbyte_count == expected_null_bytes); +#endif +} + +MangledEntryName::MangledEntryName(const CatalogEntryInfo &info) { + static const auto NULL_BYTE = string(1, '\0'); + + auto &type = info.type; + auto &schema = info.schema; + auto &name = info.name; + + this->name = CatalogTypeToString(type) + NULL_BYTE + schema + NULL_BYTE + name; + AssertMangledName(this->name, 2); } -void DependencyManager::AddObject(CatalogTransaction transaction, CatalogEntry &object, DependencyList &dependencies) { +MangledDependencyName::MangledDependencyName(const MangledEntryName &from, const MangledEntryName &to) { + static const auto NULL_BYTE = string(1, '\0'); + this->name = from.name + NULL_BYTE + to.name; + AssertMangledName(this->name, 5); +} + +DependencyManager::DependencyManager(DuckCatalog &catalog) : catalog(catalog), subjects(catalog), dependents(catalog) { +} + +string DependencyManager::GetSchema(CatalogEntry &entry) { + if (entry.type == CatalogType::SCHEMA_ENTRY) { + return entry.name; + } + return entry.ParentSchema().name; +} + +MangledEntryName DependencyManager::MangleName(const CatalogEntryInfo &info) { + return MangledEntryName(info); +} + +MangledEntryName DependencyManager::MangleName(CatalogEntry &entry) { + if (entry.type == CatalogType::DEPENDENCY_ENTRY) { + auto &dependency_entry = entry.Cast(); + return dependency_entry.EntryMangledName(); + } + auto type = entry.type; + auto schema = GetSchema(entry); + auto name = entry.name; + CatalogEntryInfo info {type, schema, name}; + + return MangleName(info); +} + +DependencyInfo DependencyInfo::FromSubject(DependencyEntry &dep) { + return DependencyInfo {/*dependent = */ dep.Dependent(), + /*subject = */ dep.Subject()}; +} + +DependencyInfo DependencyInfo::FromDependent(DependencyEntry &dep) { + return DependencyInfo {/*dependent = */ dep.Dependent(), + /*subject = */ dep.Subject()}; +} + +// ----------- DEPENDENCY_MANAGER ----------- + +bool DependencyManager::IsSystemEntry(CatalogEntry &entry) const { + if (entry.internal) { + return true; + } + + switch (entry.type) { + case CatalogType::DEPENDENCY_ENTRY: + case CatalogType::DATABASE_ENTRY: + case CatalogType::RENAMED_ENTRY: + return true; + default: + return false; + } +} + +CatalogSet &DependencyManager::Dependents() { + return dependents; +} + +CatalogSet &DependencyManager::Subjects() { + return subjects; +} + +void DependencyManager::ScanSetInternal(CatalogTransaction transaction, const CatalogEntryInfo &info, + bool scan_subjects, dependency_callback_t &callback) { + catalog_entry_set_t other_entries; + + auto cb = [&](CatalogEntry &other) { + D_ASSERT(other.type == CatalogType::DEPENDENCY_ENTRY); + auto &other_entry = other.Cast(); +#ifdef DEBUG + auto side = other_entry.Side(); + if (scan_subjects) { + D_ASSERT(side == DependencyEntryType::SUBJECT); + } else { + D_ASSERT(side == DependencyEntryType::DEPENDENT); + } + +#endif + + other_entries.insert(other_entry); + callback(other_entry); + }; + + if (scan_subjects) { + DependencyCatalogSet subjects(Subjects(), info); + subjects.Scan(transaction, cb); + } else { + DependencyCatalogSet dependents(Dependents(), info); + dependents.Scan(transaction, cb); + } + +#ifdef DEBUG + // Verify some invariants + // Every dependency should have a matching dependent in the other set + // And vice versa + auto mangled_name = MangleName(info); + + if (scan_subjects) { + for (auto &entry : other_entries) { + auto other_info = GetLookupProperties(entry); + DependencyCatalogSet other_dependents(Dependents(), other_info); + + // Verify that the other half of the dependency also exists + auto dependent = other_dependents.GetEntryDetailed(transaction, mangled_name); + D_ASSERT(dependent.reason != CatalogSet::EntryLookup::FailureReason::NOT_PRESENT); + } + } else { + for (auto &entry : other_entries) { + auto other_info = GetLookupProperties(entry); + DependencyCatalogSet other_subjects(Subjects(), other_info); + + // Verify that the other half of the dependent also exists + auto subject = other_subjects.GetEntryDetailed(transaction, mangled_name); + D_ASSERT(subject.reason != CatalogSet::EntryLookup::FailureReason::NOT_PRESENT); + } + } +#endif +} + +void DependencyManager::ScanDependents(CatalogTransaction transaction, const CatalogEntryInfo &info, + dependency_callback_t &callback) { + ScanSetInternal(transaction, info, false, callback); +} + +void DependencyManager::ScanSubjects(CatalogTransaction transaction, const CatalogEntryInfo &info, + dependency_callback_t &callback) { + ScanSetInternal(transaction, info, true, callback); +} + +void DependencyManager::RemoveDependency(CatalogTransaction transaction, const DependencyInfo &info) { + auto &dependent = info.dependent; + auto &subject = info.subject; + + // The dependents of the dependency (target) + DependencyCatalogSet dependents(Dependents(), subject.entry); + // The subjects of the dependencies of the dependent + DependencyCatalogSet subjects(Subjects(), dependent.entry); + + auto dependent_mangled = MangledEntryName(dependent.entry); + auto subject_mangled = MangledEntryName(subject.entry); + + auto dependent_p = dependents.GetEntry(transaction, dependent_mangled); + if (dependent_p) { + // 'dependent' is no longer inhibiting the deletion of 'dependency' + dependents.DropEntry(transaction, dependent_mangled, false); + } + auto subject_p = subjects.GetEntry(transaction, subject_mangled); + if (subject_p) { + // 'dependency' is no longer required by 'dependent' + subjects.DropEntry(transaction, subject_mangled, false); + } +} + +void DependencyManager::CreateSubject(CatalogTransaction transaction, const DependencyInfo &info) { + auto &from = info.dependent.entry; + + DependencyCatalogSet set(Subjects(), from); + auto dep = make_uniq_base(catalog, info); + auto entry_name = dep->EntryMangledName(); + + //! Add to the list of objects that 'dependent' has a dependency on + set.CreateEntry(transaction, entry_name, std::move(dep)); +} + +void DependencyManager::CreateDependent(CatalogTransaction transaction, const DependencyInfo &info) { + auto &from = info.subject.entry; + + DependencyCatalogSet set(Dependents(), from); + auto dep = make_uniq_base(catalog, info); + auto entry_name = dep->EntryMangledName(); + + //! Add to the list of object that depend on 'subject' + set.CreateEntry(transaction, entry_name, std::move(dep)); +} + +void DependencyManager::CreateDependency(CatalogTransaction transaction, DependencyInfo &info) { + DependencyCatalogSet subjects(Subjects(), info.dependent.entry); + DependencyCatalogSet dependents(Dependents(), info.subject.entry); + + auto subject_mangled = MangleName(info.subject.entry); + auto dependent_mangled = MangleName(info.dependent.entry); + + auto &dependent_flags = info.dependent.flags; + auto &subject_flags = info.subject.flags; + + auto existing_subject = subjects.GetEntry(transaction, subject_mangled); + auto existing_dependent = dependents.GetEntry(transaction, dependent_mangled); + + // Inherit the existing flags and drop the existing entry if present + if (existing_subject) { + auto &existing = existing_subject->Cast(); + auto existing_flags = existing.Subject().flags; + if (existing_flags != subject_flags) { + subject_flags.Apply(existing_flags); + } + subjects.DropEntry(transaction, subject_mangled, false, false); + } + if (existing_dependent) { + auto &existing = existing_dependent->Cast(); + auto existing_flags = existing.Dependent().flags; + if (existing_flags != dependent_flags) { + dependent_flags.Apply(existing_flags); + } + dependents.DropEntry(transaction, dependent_mangled, false, false); + } + + // Create an entry in the dependents map of the object that is the target of the dependency + CreateDependent(transaction, info); + // Create an entry in the subjects map of the object that is targeting another entry + CreateSubject(transaction, info); +} + +void DependencyManager::AddObject(CatalogTransaction transaction, CatalogEntry &object, + const DependencyList &dependencies) { + if (IsSystemEntry(object)) { + // Don't do anything for this + return; + } + // check for each object in the sources if they were not deleted yet for (auto &dep : dependencies.set) { auto &dependency = dep.get(); @@ -27,166 +274,315 @@ void DependencyManager::AddObject(CatalogTransaction transaction, CatalogEntry & if (!dependency.set) { throw InternalException("Dependency has no set"); } - auto catalog_entry = dependency.set->GetEntryInternal(transaction, dependency.name, nullptr); + auto catalog_entry = dependency.set->GetEntry(transaction, dependency.name); if (!catalog_entry) { throw InternalException("Dependency has already been deleted?"); } } + // indexes do not require CASCADE to be dropped, they are simply always dropped along with the table - auto dependency_type = object.type == CatalogType::INDEX_ENTRY ? DependencyType::DEPENDENCY_AUTOMATIC - : DependencyType::DEPENDENCY_REGULAR; + DependencyDependentFlags dependency_flags; + if (object.type != CatalogType::INDEX_ENTRY) { + // indexes do not require CASCADE to be dropped, they are simply always dropped along with the table + dependency_flags.SetBlocking(); + } + // add the object to the dependents_map of each object that it depends on for (auto &dependency : dependencies.set) { - auto &set = dependents_map[dependency]; - set.insert(Dependency(object, dependency_type)); + DependencyInfo info { + /*dependent = */ DependencyDependent {GetLookupProperties(object), dependency_flags}, + /*subject = */ DependencySubject {GetLookupProperties(dependency), DependencySubjectFlags()}}; + CreateDependency(transaction, info); + } +} + +static bool CascadeDrop(bool cascade, const DependencyDependentFlags &flags) { + if (cascade) { + return true; + } + if (flags.IsOwnedBy()) { + // We are owned by this object, while it exists we can not be dropped without cascade. + return false; + } + return !flags.IsBlocking(); +} + +CatalogEntryInfo DependencyManager::GetLookupProperties(CatalogEntry &entry) { + if (entry.type == CatalogType::DEPENDENCY_ENTRY) { + auto &dependency_entry = entry.Cast(); + return dependency_entry.EntryInfo(); + } else { + auto schema = DependencyManager::GetSchema(entry); + auto &name = entry.name; + auto &type = entry.type; + return CatalogEntryInfo {type, schema, name}; + } +} + +optional_ptr DependencyManager::LookupEntry(CatalogTransaction transaction, CatalogEntry &dependency) { + auto info = GetLookupProperties(dependency); + + auto &type = info.type; + auto &schema = info.schema; + auto &name = info.name; + + // Lookup the schema + auto schema_entry = catalog.GetSchema(transaction, schema, OnEntryNotFound::RETURN_NULL); + if (type == CatalogType::SCHEMA_ENTRY || !schema_entry) { + // This is a schema entry, perform the callback only providing the schema + return reinterpret_cast(schema_entry.get()); + } + auto entry = schema_entry->GetEntry(transaction, type, name); + return entry; +} + +void DependencyManager::CleanupDependencies(CatalogTransaction transaction, CatalogEntry &object) { + // Collect the dependencies + vector to_remove; + + auto info = GetLookupProperties(object); + ScanSubjects(transaction, info, + [&](DependencyEntry &dep) { to_remove.push_back(DependencyInfo::FromSubject(dep)); }); + ScanDependents(transaction, info, + [&](DependencyEntry &dep) { to_remove.push_back(DependencyInfo::FromDependent(dep)); }); + + // Remove the dependency entries + for (auto &dep : to_remove) { + RemoveDependency(transaction, dep); } - // create the dependents map for this object: it starts out empty - dependents_map[object] = dependency_set_t(); - dependencies_map[object] = dependencies.set; } void DependencyManager::DropObject(CatalogTransaction transaction, CatalogEntry &object, bool cascade) { - D_ASSERT(dependents_map.find(object) != dependents_map.end()); - - // first check the objects that depend on this object - auto &dependent_objects = dependents_map[object]; - for (auto &dep : dependent_objects) { - // look up the entry in the catalog set - auto &entry = dep.entry.get(); - auto &catalog_set = *entry.set; - auto mapping_value = catalog_set.GetMapping(transaction, entry.name, true /* get_latest */); - if (mapping_value == nullptr) { - continue; - } - auto dependency_entry = catalog_set.GetEntryInternal(transaction, mapping_value->index); - if (!dependency_entry) { - // the dependent object was already deleted, no conflict - continue; - } - // conflict: attempting to delete this object but the dependent object still exists - if (cascade || dep.dependency_type == DependencyType::DEPENDENCY_AUTOMATIC || - dep.dependency_type == DependencyType::DEPENDENCY_OWNS) { - // cascade: drop the dependent object - catalog_set.DropEntryInternal(transaction, mapping_value->index.Copy(), *dependency_entry, cascade); - } else { + if (IsSystemEntry(object)) { + // Don't do anything for this + return; + } + + auto info = GetLookupProperties(object); + // Check if there are any entries that block the DROP because they still depend on the object + catalog_entry_set_t to_drop; + ScanDependents(transaction, info, [&](DependencyEntry &dep) { + // It makes no sense to have a schema depend on anything + D_ASSERT(dep.EntryInfo().type != CatalogType::SCHEMA_ENTRY); + auto entry = LookupEntry(transaction, dep); + if (!entry) { + return; + } + + if (!CascadeDrop(cascade, dep.Dependent().flags)) { // no cascade and there are objects that depend on this object: throw error throw DependencyException("Cannot drop entry \"%s\" because there are entries that " "depend on it. Use DROP...CASCADE to drop all dependents.", object.name); } + to_drop.insert(*entry); + }); + ScanSubjects(transaction, info, [&](DependencyEntry &dep) { + auto flags = dep.Subject().flags; + if (flags.IsOwnership()) { + // We own this object, it should be dropped along with the table + auto entry = LookupEntry(transaction, dep); + to_drop.insert(*entry); + } + }); + + CleanupDependencies(transaction, object); + + for (auto &entry : to_drop) { + auto set = entry.get().set; + D_ASSERT(set); + set->DropEntry(transaction, entry.get().name, cascade); } } void DependencyManager::AlterObject(CatalogTransaction transaction, CatalogEntry &old_obj, CatalogEntry &new_obj) { - D_ASSERT(dependents_map.find(old_obj) != dependents_map.end()); - D_ASSERT(dependencies_map.find(old_obj) != dependencies_map.end()); - - // first check the objects that depend on this object - catalog_entry_vector_t owned_objects_to_add; - auto &dependent_objects = dependents_map[old_obj]; - for (auto &dep : dependent_objects) { - // look up the entry in the catalog set - auto &entry = dep.entry.get(); - auto &catalog_set = *entry.set; - auto dependency_entry = catalog_set.GetEntryInternal(transaction, entry.name, nullptr); - if (!dependency_entry) { - // the dependent object was already deleted, no conflict - continue; - } - if (dep.dependency_type == DependencyType::DEPENDENCY_OWNS) { - // the dependent object is owned by the current object - owned_objects_to_add.push_back(dep.entry); - continue; + if (IsSystemEntry(new_obj)) { + D_ASSERT(IsSystemEntry(old_obj)); + // Don't do anything for this + return; + } + + auto info = GetLookupProperties(old_obj); + dependency_set_t owned_objects; + ScanDependents(transaction, info, [&](DependencyEntry &dep) { + // It makes no sense to have a schema depend on anything + D_ASSERT(dep.EntryInfo().type != CatalogType::SCHEMA_ENTRY); + + auto entry = LookupEntry(transaction, dep); + if (!entry) { + return; } // conflict: attempting to alter this object but the dependent object still exists // no cascade and there are objects that depend on this object: throw error throw DependencyException("Cannot alter entry \"%s\" because there are entries that " "depend on it.", old_obj.name); - } - // add the new object to the dependents_map of each object that it depends on - auto &old_dependencies = dependencies_map[old_obj]; - for (auto &dep : old_dependencies) { - auto &dependency = dep.get(); - dependents_map[dependency].insert(new_obj); - } + }); - // We might have to add a type dependency - // add the new object to the dependency manager - dependents_map[new_obj] = dependency_set_t(); - dependencies_map[new_obj] = old_dependencies; + // Keep old dependencies + dependency_set_t dependents; + ScanSubjects(transaction, info, [&](DependencyEntry &dep) { + auto entry = LookupEntry(transaction, dep); + if (!entry) { + return; + } + if (dep.Subject().flags.IsOwnership()) { + owned_objects.insert(Dependency(*entry, dep.Dependent().flags)); + return; + } + dependents.insert(Dependency(*entry, dep.Dependent().flags)); + }); - for (auto &dependency : owned_objects_to_add) { - dependents_map[new_obj].insert(Dependency(dependency, DependencyType::DEPENDENCY_OWNS)); - dependents_map[dependency].insert(Dependency(new_obj, DependencyType::DEPENDENCY_OWNED_BY)); - dependencies_map[new_obj].insert(dependency); + // FIXME: we should update dependencies in the future + // some alters could cause dependencies to change (imagine types of table columns) + // or DEFAULT depending on a sequence + if (StringUtil::CIEquals(old_obj.name, new_obj.name)) { + // The name was not changed, we do not need to recreate the dependency links + return; } -} - -void DependencyManager::EraseObject(CatalogEntry &object) { - // obtain the writing lock - EraseObjectInternal(object); -} + CleanupDependencies(transaction, old_obj); -void DependencyManager::EraseObjectInternal(CatalogEntry &object) { - if (dependents_map.find(object) == dependents_map.end()) { - // dependencies already removed - return; + for (auto &dep : dependents) { + auto &other = dep.entry.get(); + DependencyInfo info {/*dependent = */ DependencyDependent {GetLookupProperties(new_obj), dep.flags}, + /*subject = */ DependencySubject {GetLookupProperties(other), DependencySubjectFlags()}}; + CreateDependency(transaction, info); } - D_ASSERT(dependents_map.find(object) != dependents_map.end()); - D_ASSERT(dependencies_map.find(object) != dependencies_map.end()); - // now for each of the dependencies, erase the entries from the dependents_map - for (auto &dependency : dependencies_map[object]) { - auto entry = dependents_map.find(dependency); - if (entry != dependents_map.end()) { - D_ASSERT(entry->second.find(object) != entry->second.end()); - entry->second.erase(object); + + // For all the objects we own, re establish the dependency of the owner on the object + for (auto &object : owned_objects) { + auto &entry = object.entry.get(); + { + DependencyInfo info { + /*dependent = */ DependencyDependent {GetLookupProperties(new_obj), + DependencyDependentFlags().SetOwnedBy()}, + /*subject = */ DependencySubject {GetLookupProperties(entry), DependencySubjectFlags().SetOwnership()}}; + CreateDependency(transaction, info); } } - // erase the dependents and dependencies for this object - dependents_map.erase(object); - dependencies_map.erase(object); } -void DependencyManager::Scan(const std::function &callback) { +void DependencyManager::Scan( + ClientContext &context, + const std::function &callback) { lock_guard write_lock(catalog.GetWriteLock()); - for (auto &entry : dependents_map) { - for (auto &dependent : entry.second) { - callback(entry.first, dependent.entry, dependent.dependency_type); - } + auto transaction = catalog.GetCatalogTransaction(context); + + // All the objects registered in the dependency manager + catalog_entry_set_t entries; + dependents.Scan(transaction, [&](CatalogEntry &set) { + auto entry = LookupEntry(transaction, set); + entries.insert(*entry); + }); + + // For every registered entry, get the dependents + for (auto &entry : entries) { + auto entry_info = GetLookupProperties(entry); + // Scan all the dependents of the entry + ScanDependents(transaction, entry_info, [&](DependencyEntry &dependent) { + auto dep = LookupEntry(transaction, dependent); + if (!dep) { + return; + } + auto &dependent_entry = *dep; + callback(entry, dependent_entry, dependent.Dependent().flags); + }); } } void DependencyManager::AddOwnership(CatalogTransaction transaction, CatalogEntry &owner, CatalogEntry &entry) { - // lock the catalog for writing - lock_guard write_lock(catalog.GetWriteLock()); + if (IsSystemEntry(entry) || IsSystemEntry(owner)) { + return; + } // If the owner is already owned by something else, throw an error - for (auto &dep : dependents_map[owner]) { - if (dep.dependency_type == DependencyType::DEPENDENCY_OWNED_BY) { - throw DependencyException(owner.name + " already owned by " + dep.entry.get().name); + auto owner_info = GetLookupProperties(owner); + ScanDependents(transaction, owner_info, [&](DependencyEntry &dep) { + if (dep.Dependent().flags.IsOwnedBy()) { + throw DependencyException("%s can not become the owner, it is already owned by %s", owner.name, + dep.EntryInfo().name); } - } + }); + + // If the entry is the owner of another entry, throw an error + auto entry_info = GetLookupProperties(entry); + ScanSubjects(transaction, entry_info, [&](DependencyEntry &other) { + auto dependent_entry = LookupEntry(transaction, other); + if (!dependent_entry) { + return; + } + auto &dep = *dependent_entry; + + auto flags = other.Dependent().flags; + if (!flags.IsOwnedBy()) { + return; + } + throw DependencyException("%s already owns %s. Cannot have circular dependencies", entry.name, dep.name); + }); // If the entry is already owned, throw an error - for (auto &dep : dependents_map[entry]) { - // if the entry is already owned, throw error - if (&dep.entry.get() != &owner) { - throw DependencyException(entry.name + " already depends on " + dep.entry.get().name); + ScanDependents(transaction, entry_info, [&](DependencyEntry &other) { + auto dependent_entry = LookupEntry(transaction, other); + if (!dependent_entry) { + return; } - // if the entry owns the owner, throw error - if (&dep.entry.get() == &owner && dep.dependency_type == DependencyType::DEPENDENCY_OWNS) { - throw DependencyException(entry.name + " already owns " + owner.name + - ". Cannot have circular dependencies"); + + auto &dep = *dependent_entry; + auto flags = other.Subject().flags; + if (!flags.IsOwnership()) { + return; + } + if (&dep != &owner) { + throw DependencyException("%s is already owned by %s", entry.name, dep.name); + } + }); + + DependencyInfo info { + /*dependent = */ DependencyDependent {GetLookupProperties(owner), DependencyDependentFlags().SetOwnedBy()}, + /*subject = */ DependencySubject {GetLookupProperties(entry), DependencySubjectFlags().SetOwnership()}}; + CreateDependency(transaction, info); +} + +static string FormatString(const MangledEntryName &mangled) { + auto input = mangled.name; + for (size_t i = 0; i < input.size(); i++) { + if (input[i] == '\0') { + input[i] = '_'; } } + return input; +} + +void DependencyManager::PrintSubjects(CatalogTransaction transaction, const CatalogEntryInfo &info) { + auto name = MangleName(info); + Printer::Print(StringUtil::Format("Subjects of %s", FormatString(name))); + auto subjects = DependencyCatalogSet(Subjects(), info); + subjects.Scan(transaction, [&](CatalogEntry &dependency) { + auto &dep = dependency.Cast(); + auto &entry_info = dep.EntryInfo(); + auto type = entry_info.type; + auto schema = entry_info.schema; + auto name = entry_info.name; + Printer::Print(StringUtil::Format("Schema: %s | Name: %s | Type: %s | Dependent type: %s | Subject type: %s", + schema, name, CatalogTypeToString(type), dep.Dependent().flags.ToString(), + dep.Subject().flags.ToString())); + }); +} - // Emplace guarantees that the same object cannot be inserted twice in the unordered_set - // In the case AddOwnership is called twice, because of emplace, the object will not be repeated in the set. - // We use an automatic dependency because if the Owner gets deleted, then the owned objects are also deleted - dependents_map[owner].emplace(entry, DependencyType::DEPENDENCY_OWNS); - dependents_map[entry].emplace(owner, DependencyType::DEPENDENCY_OWNED_BY); - dependencies_map[owner].emplace(entry); +void DependencyManager::PrintDependents(CatalogTransaction transaction, const CatalogEntryInfo &info) { + auto name = MangleName(info); + Printer::Print(StringUtil::Format("Dependents of %s", FormatString(name))); + auto dependents = DependencyCatalogSet(Dependents(), info); + dependents.Scan(transaction, [&](CatalogEntry &dependent) { + auto &dep = dependent.Cast(); + auto &entry_info = dep.EntryInfo(); + auto type = entry_info.type; + auto schema = entry_info.schema; + auto name = entry_info.name; + Printer::Print(StringUtil::Format("Schema: %s | Name: %s | Type: %s | Dependent type: %s | Subject type: %s", + schema, name, CatalogTypeToString(type), dep.Dependent().flags.ToString(), + dep.Subject().flags.ToString())); + }); } } // namespace duckdb diff --git a/src/catalog/duck_catalog.cpp b/src/catalog/duck_catalog.cpp index 879761d20351..8f712b843ed3 100644 --- a/src/catalog/duck_catalog.cpp +++ b/src/catalog/duck_catalog.cpp @@ -55,7 +55,7 @@ bool DuckCatalog::IsDuckCatalog() { //===--------------------------------------------------------------------===// optional_ptr DuckCatalog::CreateSchemaInternal(CatalogTransaction transaction, CreateSchemaInfo &info) { DependencyList dependencies; - auto entry = make_uniq(*this, info.schema, info.internal); + auto entry = make_uniq(*this, info); auto result = entry.get(); if (!schemas->CreateEntry(transaction, info.schema, std::move(entry), dependencies)) { return nullptr; @@ -69,7 +69,7 @@ optional_ptr DuckCatalog::CreateSchema(CatalogTransaction transact if (!result) { switch (info.on_conflict) { case OnCreateConflict::ERROR_ON_CONFLICT: - throw CatalogException("Schema with name %s already exists!", info.schema); + throw CatalogException::EntryAlreadyExists(CatalogType::SCHEMA_ENTRY, info.schema); case OnCreateConflict::REPLACE_ON_CONFLICT: { DropInfo drop_info; drop_info.type = CatalogType::SCHEMA_ENTRY; @@ -97,7 +97,7 @@ void DuckCatalog::DropSchema(CatalogTransaction transaction, DropInfo &info) { ModifyCatalog(); if (!schemas->DropEntry(transaction, info.name, info.cascade)) { if (info.if_not_found == OnEntryNotFound::THROW_EXCEPTION) { - throw CatalogException("Schema with name \"%s\" does not exist!", info.name); + throw CatalogException::MissingEntry(CatalogType::SCHEMA_ENTRY, info.name, string()); } } } @@ -121,7 +121,7 @@ optional_ptr DuckCatalog::GetSchema(CatalogTransaction trans auto entry = schemas->GetEntry(transaction, schema_name); if (!entry) { if (if_not_found == OnEntryNotFound::THROW_EXCEPTION) { - throw CatalogException(error_context.FormatError("Schema with name %s does not exist!", schema_name)); + throw CatalogException(error_context, "Schema with name %s does not exist!", schema_name); } return nullptr; } diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 75907fc13c7a..cd72139a8fa9 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -5,6 +5,7 @@ endif() add_subdirectory(arrow) add_subdirectory(crypto) add_subdirectory(enums) +add_subdirectory(exception) add_subdirectory(operator) add_subdirectory(progress_bar) add_subdirectory(row_operations) @@ -19,6 +20,10 @@ if(${EXIT_TIME_DESTRUCTORS_WARNING}) "${CMAKE_CXX_FLAGS_DEBUG} -Wno-exit-time-destructors") endif() +if(DEBUG_STACKTRACE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDUCKDB_DEBUG_STACKTRACE") +endif() + add_library_unity( duckdb_common OBJECT @@ -43,7 +48,7 @@ add_library_unity( pipe_file_system.cpp local_file_system.cpp multi_file_reader.cpp - preserved_error.cpp + error_data.cpp printer.cpp radix_partitioning.cpp re2_regex.cpp diff --git a/src/common/adbc/adbc.cpp b/src/common/adbc/adbc.cpp index 14016adce59b..18d384c87621 100644 --- a/src/common/adbc/adbc.cpp +++ b/src/common/adbc/adbc.cpp @@ -8,51 +8,52 @@ #include "duckdb/common/arrow/arrow_wrapper.hpp" #include "duckdb/common/arrow/nanoarrow/nanoarrow.hpp" +#include "duckdb/main/capi/capi_internal.hpp" + #ifndef DUCKDB_AMALGAMATION #include "duckdb/main/connection.hpp" #endif +#include "duckdb/common/adbc/options.h" #include "duckdb/common/adbc/single_batch_array_stream.hpp" +#include "duckdb/function/table/arrow.hpp" -#include #include +#include // We must leak the symbols of the init function -duckdb_adbc::AdbcStatusCode duckdb_adbc_init(size_t count, struct duckdb_adbc::AdbcDriver *driver, - struct duckdb_adbc::AdbcError *error) { +AdbcStatusCode duckdb_adbc_init(int version, void *driver, struct AdbcError *error) { if (!driver) { return ADBC_STATUS_INVALID_ARGUMENT; } - - driver->DatabaseNew = duckdb_adbc::DatabaseNew; - driver->DatabaseSetOption = duckdb_adbc::DatabaseSetOption; - driver->DatabaseInit = duckdb_adbc::DatabaseInit; - driver->DatabaseRelease = duckdb_adbc::DatabaseRelease; - driver->ConnectionNew = duckdb_adbc::ConnectionNew; - driver->ConnectionSetOption = duckdb_adbc::ConnectionSetOption; - driver->ConnectionInit = duckdb_adbc::ConnectionInit; - driver->ConnectionRelease = duckdb_adbc::ConnectionRelease; - driver->ConnectionGetTableTypes = duckdb_adbc::ConnectionGetTableTypes; - driver->StatementNew = duckdb_adbc::StatementNew; - driver->StatementRelease = duckdb_adbc::StatementRelease; - driver->StatementBind = duckdb_adbc::StatementBind; - driver->StatementBindStream = duckdb_adbc::StatementBindStream; - driver->StatementExecuteQuery = duckdb_adbc::StatementExecuteQuery; - driver->StatementPrepare = duckdb_adbc::StatementPrepare; - driver->StatementSetOption = duckdb_adbc::StatementSetOption; - driver->StatementSetSqlQuery = duckdb_adbc::StatementSetSqlQuery; - driver->ConnectionGetObjects = duckdb_adbc::ConnectionGetObjects; - driver->ConnectionCommit = duckdb_adbc::ConnectionCommit; - driver->ConnectionRollback = duckdb_adbc::ConnectionRollback; - driver->ConnectionReadPartition = duckdb_adbc::ConnectionReadPartition; - driver->StatementExecutePartitions = duckdb_adbc::StatementExecutePartitions; - driver->ConnectionGetInfo = duckdb_adbc::ConnectionGetInfo; - driver->StatementGetParameterSchema = duckdb_adbc::StatementGetParameterSchema; - driver->ConnectionGetTableSchema = duckdb_adbc::ConnectionGetTableSchema; - driver->StatementSetSubstraitPlan = duckdb_adbc::StatementSetSubstraitPlan; - - driver->ConnectionGetInfo = duckdb_adbc::ConnectionGetInfo; - driver->StatementGetParameterSchema = duckdb_adbc::StatementGetParameterSchema; + auto adbc_driver = reinterpret_cast(driver); + + adbc_driver->DatabaseNew = duckdb_adbc::DatabaseNew; + adbc_driver->DatabaseSetOption = duckdb_adbc::DatabaseSetOption; + adbc_driver->DatabaseInit = duckdb_adbc::DatabaseInit; + adbc_driver->DatabaseRelease = duckdb_adbc::DatabaseRelease; + adbc_driver->ConnectionNew = duckdb_adbc::ConnectionNew; + adbc_driver->ConnectionSetOption = duckdb_adbc::ConnectionSetOption; + adbc_driver->ConnectionInit = duckdb_adbc::ConnectionInit; + adbc_driver->ConnectionRelease = duckdb_adbc::ConnectionRelease; + adbc_driver->ConnectionGetTableTypes = duckdb_adbc::ConnectionGetTableTypes; + adbc_driver->StatementNew = duckdb_adbc::StatementNew; + adbc_driver->StatementRelease = duckdb_adbc::StatementRelease; + adbc_driver->StatementBind = duckdb_adbc::StatementBind; + adbc_driver->StatementBindStream = duckdb_adbc::StatementBindStream; + adbc_driver->StatementExecuteQuery = duckdb_adbc::StatementExecuteQuery; + adbc_driver->StatementPrepare = duckdb_adbc::StatementPrepare; + adbc_driver->StatementSetOption = duckdb_adbc::StatementSetOption; + adbc_driver->StatementSetSqlQuery = duckdb_adbc::StatementSetSqlQuery; + adbc_driver->ConnectionGetObjects = duckdb_adbc::ConnectionGetObjects; + adbc_driver->ConnectionCommit = duckdb_adbc::ConnectionCommit; + adbc_driver->ConnectionRollback = duckdb_adbc::ConnectionRollback; + adbc_driver->ConnectionReadPartition = duckdb_adbc::ConnectionReadPartition; + adbc_driver->StatementExecutePartitions = duckdb_adbc::StatementExecutePartitions; + adbc_driver->ConnectionGetInfo = duckdb_adbc::ConnectionGetInfo; + adbc_driver->StatementGetParameterSchema = duckdb_adbc::StatementGetParameterSchema; + adbc_driver->ConnectionGetTableSchema = duckdb_adbc::ConnectionGetTableSchema; + adbc_driver->StatementSetSubstraitPlan = duckdb_adbc::StatementSetSubstraitPlan; return ADBC_STATUS_OK; } @@ -74,28 +75,31 @@ static AdbcStatusCode QueryInternal(struct AdbcConnection *connection, struct Ar auto status = StatementNew(connection, &statement, error); if (status != ADBC_STATUS_OK) { + StatementRelease(&statement, error); SetError(error, "unable to initialize statement"); return status; } status = StatementSetSqlQuery(&statement, query, error); if (status != ADBC_STATUS_OK) { + StatementRelease(&statement, error); SetError(error, "unable to initialize statement"); return status; } status = StatementExecuteQuery(&statement, out, nullptr, error); if (status != ADBC_STATUS_OK) { + StatementRelease(&statement, error); SetError(error, "unable to initialize statement"); return status; } - + StatementRelease(&statement, error); return ADBC_STATUS_OK; } struct DuckDBAdbcDatabaseWrapper { //! The DuckDB Database Configuration - ::duckdb_config config; + ::duckdb_config config = nullptr; //! The DuckDB Database - ::duckdb_database database; + ::duckdb_database database = nullptr; //! Path of Disk-Based Database or :memory: database std::string path; }; @@ -124,7 +128,7 @@ AdbcStatusCode CheckResult(duckdb_state &res, AdbcError *error, const char *erro return ADBC_STATUS_INVALID_ARGUMENT; } if (res != DuckDBSuccess) { - duckdb_adbc::SetError(error, error_msg); + SetError(error, error_msg); return ADBC_STATUS_INTERNAL; } return ADBC_STATUS_OK; @@ -197,14 +201,18 @@ AdbcStatusCode DatabaseInit(struct AdbcDatabase *database, struct AdbcError *err return ADBC_STATUS_INVALID_ARGUMENT; } if (!database) { - duckdb_adbc::SetError(error, "ADBC Database has an invalid pointer"); + SetError(error, "ADBC Database has an invalid pointer"); return ADBC_STATUS_INVALID_ARGUMENT; } - char *errormsg; + char *errormsg = nullptr; // TODO can we set the database path via option, too? Does not look like it... auto wrapper = (DuckDBAdbcDatabaseWrapper *)database->private_data; auto res = duckdb_open_ext(wrapper->path.c_str(), &wrapper->database, wrapper->config, &errormsg); - return CheckResult(res, error, errormsg); + auto adbc_result = CheckResult(res, error, errormsg); + if (errormsg) { + free(errormsg); + } + return adbc_result; } AdbcStatusCode DatabaseRelease(struct AdbcDatabase *database, struct AdbcError *error) { @@ -395,8 +403,8 @@ static AdbcInfoCode ConvertToInfoCode(uint32_t info_code) { } } -AdbcStatusCode ConnectionGetInfo(struct AdbcConnection *connection, uint32_t *info_codes, size_t info_codes_length, - struct ArrowArrayStream *out, struct AdbcError *error) { +AdbcStatusCode ConnectionGetInfo(struct AdbcConnection *connection, const uint32_t *info_codes, + size_t info_codes_length, struct ArrowArrayStream *out, struct AdbcError *error) { if (!connection) { SetError(error, "Missing connection object"); return ADBC_STATUS_INVALID_ARGUMENT; @@ -548,10 +556,8 @@ const char *get_last_error(struct ArrowArrayStream *stream) { // this is an evil hack, normally we would need a stream factory here, but its probably much easier if the adbc clients // just hand over a stream -duckdb::unique_ptr -stream_produce(uintptr_t factory_ptr, - std::pair, std::vector> &project_columns, - duckdb::TableFilterSet *filters) { +duckdb::unique_ptr stream_produce(uintptr_t factory_ptr, + duckdb::ArrowStreamParameters ¶meters) { // TODO this will ignore any projections or filters but since we don't expose the scan it should be sort of fine auto res = duckdb::make_uniq(); @@ -559,9 +565,8 @@ stream_produce(uintptr_t factory_ptr, return res; } -void stream_schema(uintptr_t factory_ptr, duckdb::ArrowSchemaWrapper &schema) { - auto stream = (ArrowArrayStream *)factory_ptr; - get_schema(stream, &schema.arrow_schema); +void stream_schema(ArrowArrayStream *stream, ArrowSchema &schema) { + stream->get_schema(stream, &schema); } AdbcStatusCode Ingest(duckdb_connection connection, const char *table_name, struct ArrowArrayStream *input, @@ -584,7 +589,7 @@ AdbcStatusCode Ingest(duckdb_connection connection, const char *table_name, stru auto arrow_scan = cconn->TableFunction("arrow_scan", {duckdb::Value::POINTER((uintptr_t)input), duckdb::Value::POINTER((uintptr_t)stream_produce), - duckdb::Value::POINTER((uintptr_t)input->get_schema)}); + duckdb::Value::POINTER((uintptr_t)stream_schema)}); try { if (ingestion_mode == IngestionMode::CREATE) { // We create the table based on an Arrow Scanner @@ -599,7 +604,8 @@ AdbcStatusCode Ingest(duckdb_connection connection, const char *table_name, stru input->release = nullptr; } catch (std::exception &ex) { if (error) { - error->message = strdup(ex.what()); + ::duckdb::ErrorData parsed_error(ex); + error->message = strdup(parsed_error.RawMessage().c_str()); } return ADBC_STATUS_INTERNAL; } catch (...) { @@ -699,14 +705,15 @@ AdbcStatusCode GetPreparedParameters(duckdb_connection connection, duckdb::uniqu try { auto arrow_scan = cconn->TableFunction("arrow_scan", {duckdb::Value::POINTER((uintptr_t)input), duckdb::Value::POINTER((uintptr_t)stream_produce), - duckdb::Value::POINTER((uintptr_t)input->get_schema)}); + duckdb::Value::POINTER((uintptr_t)stream_schema)}); result = arrow_scan->Execute(); // After creating a table, the arrow array stream is released. Hence we must set it as released to avoid // double-releasing it input->release = nullptr; } catch (std::exception &ex) { if (error) { - error->message = strdup(ex.what()); + ::duckdb::ErrorData parsed_error(ex); + error->message = strdup(parsed_error.RawMessage().c_str()); } return ADBC_STATUS_INTERNAL; } catch (...) { @@ -765,6 +772,9 @@ AdbcStatusCode StatementExecuteQuery(struct AdbcStatement *statement, struct Arr return ADBC_STATUS_INVALID_ARGUMENT; } duckdb::unique_ptr chunk; + auto prepared_statement_params = + reinterpret_cast(wrapper->statement)->statement->n_param; + while ((chunk = result->Fetch()) != nullptr) { if (chunk->size() == 0) { SetError(error, "Please provide a non-empty chunk to be bound"); @@ -775,6 +785,10 @@ AdbcStatusCode StatementExecuteQuery(struct AdbcStatement *statement, struct Arr SetError(error, "Binding multiple rows at once is not supported yet"); return ADBC_STATUS_NOT_IMPLEMENTED; } + if (chunk->ColumnCount() > prepared_statement_params) { + SetError(error, "Input data has more column than prepared statement has parameters"); + return ADBC_STATUS_INVALID_ARGUMENT; + } duckdb_clear_bindings(wrapper->statement); for (idx_t col_idx = 0; col_idx < chunk->ColumnCount(); col_idx++) { auto val = chunk->GetValue(col_idx, 0); @@ -922,6 +936,12 @@ AdbcStatusCode StatementSetOption(struct AdbcStatement *statement, const char *k wrapper->ingestion_table_name = strdup(value); return ADBC_STATUS_OK; } + if (strcmp(key, ADBC_INGEST_OPTION_TEMPORARY) == 0) { + if (strcmp(value, "false") == 0) { + return ADBC_STATUS_NOT_IMPLEMENTED; + } + return ADBC_STATUS_OK; + } if (strcmp(key, ADBC_INGEST_OPTION_MODE) == 0) { if (strcmp(value, ADBC_INGEST_OPTION_MODE_CREATE) == 0) { wrapper->ingestion_mode = IngestionMode::CREATE; diff --git a/src/common/adbc/driver_manager.cpp b/src/common/adbc/driver_manager.cpp index 23ae982691ba..463a4fc1adba 100644 --- a/src/common/adbc/driver_manager.cpp +++ b/src/common/adbc/driver_manager.cpp @@ -1,3 +1,9 @@ +//////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////// +// THIS FILE IS GENERATED BY apache/arrow, DO NOT EDIT MANUALLY // +//////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////// + // Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information @@ -20,6 +26,8 @@ #include "duckdb/common/adbc/adbc.hpp" #include +#include +#include #include #include #include @@ -34,8 +42,6 @@ #include #endif // defined(_WIN32) -namespace duckdb_adbc { - // Platform-specific helpers #if defined(_WIN32) @@ -57,31 +63,20 @@ void GetWinError(std::string *buffer) { #endif // defined(_WIN32) -// Temporary state while the database is being configured. -struct TempDatabase { - std::unordered_map options; - std::string driver; - // Default name (see adbc.h) - std::string entrypoint = "AdbcDriverInit"; - AdbcDriverInitFunc init_func = nullptr; -}; - // Error handling void ReleaseError(struct AdbcError *error) { if (error) { - if (error->message) { + if (error->message) delete[] error->message; - } error->message = nullptr; error->release = nullptr; } } void SetError(struct AdbcError *error, const std::string &message) { - if (!error) { + if (!error) return; - } if (error->message) { // Append std::string buffer = error->message; @@ -101,61 +96,556 @@ void SetError(struct AdbcError *error, const std::string &message) { error->release = ReleaseError; } -void SetError(struct AdbcError *error, const char *message_p) { - if (!message_p) { - message_p = ""; +// Driver state + +/// A driver DLL. +struct ManagedLibrary { + ManagedLibrary() : handle(nullptr) { + } + ManagedLibrary(ManagedLibrary &&other) : handle(other.handle) { + other.handle = nullptr; + } + ManagedLibrary(const ManagedLibrary &) = delete; + ManagedLibrary &operator=(const ManagedLibrary &) = delete; + ManagedLibrary &operator=(ManagedLibrary &&other) noexcept { + this->handle = other.handle; + other.handle = nullptr; + return *this; } - std::string message(message_p); - SetError(error, message); -} -// Driver state + ~ManagedLibrary() { + Release(); + } -/// Hold the driver DLL and the driver release callback in the driver struct. -struct ManagerDriverState { - // The original release callback - AdbcStatusCode (*driver_release)(struct AdbcDriver *driver, struct AdbcError *error); + void Release() { + // TODO(apache/arrow-adbc#204): causes tests to segfault + // Need to refcount the driver DLL; also, errors may retain a reference to + // release() from the DLL - how to handle this? + } + + AdbcStatusCode Load(const char *library, struct AdbcError *error) { + std::string error_message; +#if defined(_WIN32) + HMODULE handle = LoadLibraryExA(library, NULL, 0); + if (!handle) { + error_message += library; + error_message += ": LoadLibraryExA() failed: "; + GetWinError(&error_message); + + std::string full_driver_name = library; + full_driver_name += ".dll"; + handle = LoadLibraryExA(full_driver_name.c_str(), NULL, 0); + if (!handle) { + error_message += '\n'; + error_message += full_driver_name; + error_message += ": LoadLibraryExA() failed: "; + GetWinError(&error_message); + } + } + if (!handle) { + SetError(error, error_message); + return ADBC_STATUS_INTERNAL; + } else { + this->handle = handle; + } +#else + const std::string kPlatformLibraryPrefix = "lib"; +#if defined(__APPLE__) + const std::string kPlatformLibrarySuffix = ".dylib"; +#else + static const std::string kPlatformLibrarySuffix = ".so"; +#endif // defined(__APPLE__) + + void *handle = dlopen(library, RTLD_NOW | RTLD_LOCAL); + if (!handle) { + error_message = "dlopen() failed: "; + error_message += dlerror(); + + // If applicable, append the shared library prefix/extension and + // try again (this way you don't have to hardcode driver names by + // platform in the application) + const std::string driver_str = library; + + std::string full_driver_name; + if (driver_str.size() < kPlatformLibraryPrefix.size() || + driver_str.compare(0, kPlatformLibraryPrefix.size(), kPlatformLibraryPrefix) != 0) { + full_driver_name += kPlatformLibraryPrefix; + } + full_driver_name += library; + if (driver_str.size() < kPlatformLibrarySuffix.size() || + driver_str.compare(full_driver_name.size() - kPlatformLibrarySuffix.size(), + kPlatformLibrarySuffix.size(), kPlatformLibrarySuffix) != 0) { + full_driver_name += kPlatformLibrarySuffix; + } + handle = dlopen(full_driver_name.c_str(), RTLD_NOW | RTLD_LOCAL); + if (!handle) { + error_message += "\ndlopen() failed: "; + error_message += dlerror(); + } + } + if (handle) { + this->handle = handle; + } else { + return ADBC_STATUS_INTERNAL; + } +#endif // defined(_WIN32) + return ADBC_STATUS_OK; + } + + AdbcStatusCode Lookup(const char *name, void **func, struct AdbcError *error) { +#if defined(_WIN32) + void *load_handle = reinterpret_cast(GetProcAddress(handle, name)); + if (!load_handle) { + std::string message = "GetProcAddress("; + message += name; + message += ") failed: "; + GetWinError(&message); + SetError(error, message); + return ADBC_STATUS_INTERNAL; + } +#else + void *load_handle = dlsym(handle, name); + if (!load_handle) { + std::string message = "dlsym("; + message += name; + message += ") failed: "; + message += dlerror(); + SetError(error, message); + return ADBC_STATUS_INTERNAL; + } +#endif // defined(_WIN32) + *func = load_handle; + return ADBC_STATUS_OK; + } #if defined(_WIN32) // The loaded DLL HMODULE handle; +#else + void *handle; #endif // defined(_WIN32) }; +/// Hold the driver DLL and the driver release callback in the driver struct. +struct ManagerDriverState { + // The original release callback + AdbcStatusCode (*driver_release)(struct AdbcDriver *driver, struct AdbcError *error); + + ManagedLibrary handle; +}; + /// Unload the driver DLL. static AdbcStatusCode ReleaseDriver(struct AdbcDriver *driver, struct AdbcError *error) { AdbcStatusCode status = ADBC_STATUS_OK; - if (!driver->private_manager) { + if (!driver->private_manager) return status; - } ManagerDriverState *state = reinterpret_cast(driver->private_manager); if (state->driver_release) { status = state->driver_release(driver, error); } - -#if defined(_WIN32) - // TODO(apache/arrow-adbc#204): causes tests to segfault - // if (!FreeLibrary(state->handle)) { - // std::string message = "FreeLibrary() failed: "; - // GetWinError(&message); - // SetError(error, message); - // } -#endif // defined(_WIN32) + state->handle.Release(); driver->private_manager = nullptr; delete state; return status; } +// ArrowArrayStream wrapper to support AdbcErrorFromArrayStream + +struct ErrorArrayStream { + struct ArrowArrayStream stream; + struct AdbcDriver *private_driver; +}; + +void ErrorArrayStreamRelease(struct ArrowArrayStream *stream) { + if (stream->release != ErrorArrayStreamRelease || !stream->private_data) + return; + + auto *private_data = reinterpret_cast(stream->private_data); + private_data->stream.release(&private_data->stream); + delete private_data; + std::memset(stream, 0, sizeof(*stream)); +} + +const char *ErrorArrayStreamGetLastError(struct ArrowArrayStream *stream) { + if (stream->release != ErrorArrayStreamRelease || !stream->private_data) + return nullptr; + auto *private_data = reinterpret_cast(stream->private_data); + return private_data->stream.get_last_error(&private_data->stream); +} + +int ErrorArrayStreamGetNext(struct ArrowArrayStream *stream, struct ArrowArray *array) { + if (stream->release != ErrorArrayStreamRelease || !stream->private_data) + return EINVAL; + auto *private_data = reinterpret_cast(stream->private_data); + return private_data->stream.get_next(&private_data->stream, array); +} + +int ErrorArrayStreamGetSchema(struct ArrowArrayStream *stream, struct ArrowSchema *schema) { + if (stream->release != ErrorArrayStreamRelease || !stream->private_data) + return EINVAL; + auto *private_data = reinterpret_cast(stream->private_data); + return private_data->stream.get_schema(&private_data->stream, schema); +} + +// Default stubs + +int ErrorGetDetailCount(const struct AdbcError *error) { + return 0; +} + +struct AdbcErrorDetail ErrorGetDetail(const struct AdbcError *error, int index) { + return {nullptr, nullptr, 0}; +} + +const struct AdbcError *ErrorFromArrayStream(struct ArrowArrayStream *stream, AdbcStatusCode *status) { + return nullptr; +} + +void ErrorArrayStreamInit(struct ArrowArrayStream *out, struct AdbcDriver *private_driver) { + if (!out || !out->release || + // Don't bother wrapping if driver didn't claim support + private_driver->ErrorFromArrayStream == ErrorFromArrayStream) { + return; + } + struct ErrorArrayStream *private_data = new ErrorArrayStream; + private_data->stream = *out; + private_data->private_driver = private_driver; + out->get_last_error = ErrorArrayStreamGetLastError; + out->get_next = ErrorArrayStreamGetNext; + out->get_schema = ErrorArrayStreamGetSchema; + out->release = ErrorArrayStreamRelease; + out->private_data = private_data; +} + +AdbcStatusCode DatabaseGetOption(struct AdbcDatabase *database, const char *key, char *value, size_t *length, + struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode DatabaseGetOptionBytes(struct AdbcDatabase *database, const char *key, uint8_t *value, size_t *length, + struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode DatabaseGetOptionInt(struct AdbcDatabase *database, const char *key, int64_t *value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode DatabaseGetOptionDouble(struct AdbcDatabase *database, const char *key, double *value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode DatabaseSetOptionBytes(struct AdbcDatabase *database, const char *key, const uint8_t *value, + size_t length, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode DatabaseSetOptionInt(struct AdbcDatabase *database, const char *key, int64_t value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode DatabaseSetOptionDouble(struct AdbcDatabase *database, const char *key, double value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionCancel(struct AdbcConnection *connection, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionGetOption(struct AdbcConnection *connection, const char *key, char *value, size_t *length, + struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode ConnectionGetOptionBytes(struct AdbcConnection *connection, const char *key, uint8_t *value, + size_t *length, struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode ConnectionGetOptionInt(struct AdbcConnection *connection, const char *key, int64_t *value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode ConnectionGetOptionDouble(struct AdbcConnection *connection, const char *key, double *value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode ConnectionGetStatistics(struct AdbcConnection *, const char *, const char *, const char *, char, + struct ArrowArrayStream *, struct AdbcError *) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionGetStatisticNames(struct AdbcConnection *, struct ArrowArrayStream *, struct AdbcError *) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionSetOptionBytes(struct AdbcConnection *, const char *, const uint8_t *, size_t, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionSetOptionInt(struct AdbcConnection *connection, const char *key, int64_t value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionSetOptionDouble(struct AdbcConnection *connection, const char *key, double value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementCancel(struct AdbcStatement *statement, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementExecuteSchema(struct AdbcStatement *statement, struct ArrowSchema *schema, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementGetOption(struct AdbcStatement *statement, const char *key, char *value, size_t *length, + struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode StatementGetOptionBytes(struct AdbcStatement *statement, const char *key, uint8_t *value, size_t *length, + struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode StatementGetOptionInt(struct AdbcStatement *statement, const char *key, int64_t *value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode StatementGetOptionDouble(struct AdbcStatement *statement, const char *key, double *value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_FOUND; +} + +AdbcStatusCode StatementSetOptionBytes(struct AdbcStatement *, const char *, const uint8_t *, size_t, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementSetOptionInt(struct AdbcStatement *statement, const char *key, int64_t value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementSetOptionDouble(struct AdbcStatement *statement, const char *key, double value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +/// Temporary state while the database is being configured. +struct TempDatabase { + std::unordered_map options; + std::unordered_map bytes_options; + std::unordered_map int_options; + std::unordered_map double_options; + std::string driver; + std::string entrypoint; + AdbcDriverInitFunc init_func = nullptr; +}; + /// Temporary state while the database is being configured. struct TempConnection { std::unordered_map options; + std::unordered_map bytes_options; + std::unordered_map int_options; + std::unordered_map double_options; }; +static const char kDefaultEntrypoint[] = "AdbcDriverInit"; + +// Other helpers (intentionally not in an anonymous namespace so they can be tested) + +ADBC_EXPORT +std::string AdbcDriverManagerDefaultEntrypoint(const std::string &driver) { + /// - libadbc_driver_sqlite.so.2.0.0 -> AdbcDriverSqliteInit + /// - adbc_driver_sqlite.dll -> AdbcDriverSqliteInit + /// - proprietary_driver.dll -> AdbcProprietaryDriverInit + + // Potential path -> filename + // Treat both \ and / as directory separators on all platforms for simplicity + std::string filename; + { + size_t pos = driver.find_last_of("/\\"); + if (pos != std::string::npos) { + filename = driver.substr(pos + 1); + } else { + filename = driver; + } + } + + // Remove all extensions + { + size_t pos = filename.find('.'); + if (pos != std::string::npos) { + filename = filename.substr(0, pos); + } + } + + // Remove lib prefix + // https://stackoverflow.com/q/1878001/262727 + if (filename.rfind("lib", 0) == 0) { + filename = filename.substr(3); + } + + // Split on underscores, hyphens + // Capitalize and join + std::string entrypoint; + entrypoint.reserve(filename.size()); + size_t pos = 0; + while (pos < filename.size()) { + size_t prev = pos; + pos = filename.find_first_of("-_", pos); + // if pos == npos this is the entire filename + std::string token = filename.substr(prev, pos - prev); + // capitalize first letter + token[0] = std::toupper(static_cast(token[0])); + + entrypoint += token; + + if (pos != std::string::npos) { + pos++; + } + } + + if (entrypoint.rfind("Adbc", 0) != 0) { + entrypoint = "Adbc" + entrypoint; + } + entrypoint += "Init"; + + return entrypoint; +} + // Direct implementations of API methods +int AdbcErrorGetDetailCount(const struct AdbcError *error) { + if (error->vendor_code == ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA && error->private_data && error->private_driver) { + return error->private_driver->ErrorGetDetailCount(error); + } + return 0; +} + +struct AdbcErrorDetail AdbcErrorGetDetail(const struct AdbcError *error, int index) { + if (error->vendor_code == ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA && error->private_data && error->private_driver) { + return error->private_driver->ErrorGetDetail(error, index); + } + return {nullptr, nullptr, 0}; +} + +const struct AdbcError *AdbcErrorFromArrayStream(struct ArrowArrayStream *stream, AdbcStatusCode *status) { + if (!stream->private_data || stream->release != ErrorArrayStreamRelease) { + return nullptr; + } + auto *private_data = reinterpret_cast(stream->private_data); + auto *error = private_data->private_driver->ErrorFromArrayStream(&private_data->stream, status); + if (error) { + const_cast(error)->private_driver = private_data->private_driver; + } + return error; +} + +#define INIT_ERROR(ERROR, SOURCE) \ + if ((ERROR) != nullptr && (ERROR)->vendor_code == ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA) { \ + (ERROR)->private_driver = (SOURCE)->private_driver; \ + } + +#define WRAP_STREAM(EXPR, OUT, SOURCE) \ + if (!(OUT)) { \ + /* Happens for ExecuteQuery where out is optional */ \ + return EXPR; \ + } \ + AdbcStatusCode status_code = EXPR; \ + ErrorArrayStreamInit(OUT, (SOURCE)->private_driver); \ + return status_code; + +AdbcStatusCode DatabaseSetOption(struct AdbcDatabase *database, const char *key, const char *value, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionCommit(struct AdbcConnection *, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionGetInfo(struct AdbcConnection *connection, const uint32_t *info_codes, + size_t info_codes_length, struct ArrowArrayStream *out, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionGetObjects(struct AdbcConnection *, int, const char *, const char *, const char *, + const char **, const char *, struct ArrowArrayStream *, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionGetTableSchema(struct AdbcConnection *, const char *, const char *, const char *, + struct ArrowSchema *, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionGetTableTypes(struct AdbcConnection *, struct ArrowArrayStream *, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionReadPartition(struct AdbcConnection *connection, const uint8_t *serialized_partition, + size_t serialized_length, struct ArrowArrayStream *out, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionRollback(struct AdbcConnection *, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode ConnectionSetOption(struct AdbcConnection *, const char *, const char *, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementBind(struct AdbcStatement *, struct ArrowArray *, struct ArrowSchema *, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementExecutePartitions(struct AdbcStatement *statement, struct ArrowSchema *schema, + struct AdbcPartitions *partitions, int64_t *rows_affected, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementGetParameterSchema(struct AdbcStatement *statement, struct ArrowSchema *schema, + struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementPrepare(struct AdbcStatement *, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementSetOption(struct AdbcStatement *, const char *, const char *, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementSetSqlQuery(struct AdbcStatement *, const char *, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + +AdbcStatusCode StatementSetSubstraitPlan(struct AdbcStatement *, const uint8_t *, size_t, struct AdbcError *error) { + return ADBC_STATUS_NOT_IMPLEMENTED; +} + AdbcStatusCode AdbcDatabaseNew(struct AdbcDatabase *database, struct AdbcError *error) { // Allocate a temporary structure to store options pre-Init database->private_data = new TempDatabase(); @@ -163,12 +653,89 @@ AdbcStatusCode AdbcDatabaseNew(struct AdbcDatabase *database, struct AdbcError * return ADBC_STATUS_OK; } -AdbcStatusCode AdbcDatabaseSetOption(struct AdbcDatabase *database, const char *key, const char *value, +AdbcStatusCode AdbcDatabaseGetOption(struct AdbcDatabase *database, const char *key, char *value, size_t *length, struct AdbcError *error) { - if (!database) { - return ADBC_STATUS_INVALID_ARGUMENT; + if (database->private_driver) { + INIT_ERROR(error, database); + return database->private_driver->DatabaseGetOption(database, key, value, length, error); + } + const auto *args = reinterpret_cast(database->private_data); + const std::string *result = nullptr; + if (std::strcmp(key, "driver") == 0) { + result = &args->driver; + } else if (std::strcmp(key, "entrypoint") == 0) { + result = &args->entrypoint; + } else { + const auto it = args->options.find(key); + if (it == args->options.end()) { + return ADBC_STATUS_NOT_FOUND; + } + result = &it->second; + } + + if (*length <= result->size() + 1) { + // Enough space + std::memcpy(value, result->c_str(), result->size() + 1); } + *length = result->size() + 1; + return ADBC_STATUS_OK; +} + +AdbcStatusCode AdbcDatabaseGetOptionBytes(struct AdbcDatabase *database, const char *key, uint8_t *value, + size_t *length, struct AdbcError *error) { if (database->private_driver) { + INIT_ERROR(error, database); + return database->private_driver->DatabaseGetOptionBytes(database, key, value, length, error); + } + const auto *args = reinterpret_cast(database->private_data); + const auto it = args->bytes_options.find(key); + if (it == args->options.end()) { + return ADBC_STATUS_NOT_FOUND; + } + const std::string &result = it->second; + + if (*length <= result.size()) { + // Enough space + std::memcpy(value, result.c_str(), result.size()); + } + *length = result.size(); + return ADBC_STATUS_OK; +} + +AdbcStatusCode AdbcDatabaseGetOptionInt(struct AdbcDatabase *database, const char *key, int64_t *value, + struct AdbcError *error) { + if (database->private_driver) { + INIT_ERROR(error, database); + return database->private_driver->DatabaseGetOptionInt(database, key, value, error); + } + const auto *args = reinterpret_cast(database->private_data); + const auto it = args->int_options.find(key); + if (it == args->int_options.end()) { + return ADBC_STATUS_NOT_FOUND; + } + *value = it->second; + return ADBC_STATUS_OK; +} + +AdbcStatusCode AdbcDatabaseGetOptionDouble(struct AdbcDatabase *database, const char *key, double *value, + struct AdbcError *error) { + if (database->private_driver) { + INIT_ERROR(error, database); + return database->private_driver->DatabaseGetOptionDouble(database, key, value, error); + } + const auto *args = reinterpret_cast(database->private_data); + const auto it = args->double_options.find(key); + if (it == args->double_options.end()) { + return ADBC_STATUS_NOT_FOUND; + } + *value = it->second; + return ADBC_STATUS_OK; +} + +AdbcStatusCode AdbcDatabaseSetOption(struct AdbcDatabase *database, const char *key, const char *value, + struct AdbcError *error) { + if (database->private_driver) { + INIT_ERROR(error, database); return database->private_driver->DatabaseSetOption(database, key, value, error); } @@ -183,11 +750,44 @@ AdbcStatusCode AdbcDatabaseSetOption(struct AdbcDatabase *database, const char * return ADBC_STATUS_OK; } +AdbcStatusCode AdbcDatabaseSetOptionBytes(struct AdbcDatabase *database, const char *key, const uint8_t *value, + size_t length, struct AdbcError *error) { + if (database->private_driver) { + INIT_ERROR(error, database); + return database->private_driver->DatabaseSetOptionBytes(database, key, value, length, error); + } + + TempDatabase *args = reinterpret_cast(database->private_data); + args->bytes_options[key] = std::string(reinterpret_cast(value), length); + return ADBC_STATUS_OK; +} + +AdbcStatusCode AdbcDatabaseSetOptionInt(struct AdbcDatabase *database, const char *key, int64_t value, + struct AdbcError *error) { + if (database->private_driver) { + INIT_ERROR(error, database); + return database->private_driver->DatabaseSetOptionInt(database, key, value, error); + } + + TempDatabase *args = reinterpret_cast(database->private_data); + args->int_options[key] = value; + return ADBC_STATUS_OK; +} + +AdbcStatusCode AdbcDatabaseSetOptionDouble(struct AdbcDatabase *database, const char *key, double value, + struct AdbcError *error) { + if (database->private_driver) { + INIT_ERROR(error, database); + return database->private_driver->DatabaseSetOptionDouble(database, key, value, error); + } + + TempDatabase *args = reinterpret_cast(database->private_data); + args->double_options[key] = value; + return ADBC_STATUS_OK; +} + AdbcStatusCode AdbcDriverManagerDatabaseSetInitFunc(struct AdbcDatabase *database, AdbcDriverInitFunc init_func, struct AdbcError *error) { - if (!database) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (database->private_driver) { return ADBC_STATUS_INVALID_STATE; } @@ -216,10 +816,12 @@ AdbcStatusCode AdbcDatabaseInit(struct AdbcDatabase *database, struct AdbcError // So we don't confuse a driver into thinking it's initialized already database->private_data = nullptr; if (args->init_func) { - status = AdbcLoadDriverFromInitFunc(args->init_func, ADBC_VERSION_1_0_0, database->private_driver, error); - } else { - status = AdbcLoadDriver(args->driver.c_str(), args->entrypoint.c_str(), ADBC_VERSION_1_0_0, + status = AdbcLoadDriverFromInitFunc(args->init_func, ADBC_VERSION_1_1_0, database->private_driver, error); + } else if (!args->entrypoint.empty()) { + status = AdbcLoadDriver(args->driver.c_str(), args->entrypoint.c_str(), ADBC_VERSION_1_1_0, database->private_driver, error); + } else { + status = AdbcLoadDriver(args->driver.c_str(), nullptr, ADBC_VERSION_1_1_0, database->private_driver, error); } if (status != ADBC_STATUS_OK) { // Restore private_data so it will be released by AdbcDatabaseRelease @@ -240,25 +842,51 @@ AdbcStatusCode AdbcDatabaseInit(struct AdbcDatabase *database, struct AdbcError database->private_driver = nullptr; return status; } - for (const auto &option : args->options) { + auto options = std::move(args->options); + auto bytes_options = std::move(args->bytes_options); + auto int_options = std::move(args->int_options); + auto double_options = std::move(args->double_options); + delete args; + + INIT_ERROR(error, database); + for (const auto &option : options) { status = database->private_driver->DatabaseSetOption(database, option.first.c_str(), option.second.c_str(), error); - if (status != ADBC_STATUS_OK) { - delete args; - // Release the database - std::ignore = database->private_driver->DatabaseRelease(database, error); - if (database->private_driver->release) { - database->private_driver->release(database->private_driver, error); - } - delete database->private_driver; - database->private_driver = nullptr; - // Should be redundant, but ensure that AdbcDatabaseRelease - // below doesn't think that it contains a TempDatabase - database->private_data = nullptr; - return status; + if (status != ADBC_STATUS_OK) + break; + } + for (const auto &option : bytes_options) { + status = database->private_driver->DatabaseSetOptionBytes( + database, option.first.c_str(), reinterpret_cast(option.second.data()), + option.second.size(), error); + if (status != ADBC_STATUS_OK) + break; + } + for (const auto &option : int_options) { + status = database->private_driver->DatabaseSetOptionInt(database, option.first.c_str(), option.second, error); + if (status != ADBC_STATUS_OK) + break; + } + for (const auto &option : double_options) { + status = + database->private_driver->DatabaseSetOptionDouble(database, option.first.c_str(), option.second, error); + if (status != ADBC_STATUS_OK) + break; + } + + if (status != ADBC_STATUS_OK) { + // Release the database + std::ignore = database->private_driver->DatabaseRelease(database, error); + if (database->private_driver->release) { + database->private_driver->release(database->private_driver, error); } + delete database->private_driver; + database->private_driver = nullptr; + // Should be redundant, but ensure that AdbcDatabaseRelease + // below doesn't think that it contains a TempDatabase + database->private_data = nullptr; + return status; } - delete args; return database->private_driver->DatabaseInit(database, error); } @@ -272,6 +900,7 @@ AdbcStatusCode AdbcDatabaseRelease(struct AdbcDatabase *database, struct AdbcErr } return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, database); auto status = database->private_driver->DatabaseRelease(database, error); if (database->private_driver->release) { database->private_driver->release(database->private_driver, error); @@ -282,72 +911,174 @@ AdbcStatusCode AdbcDatabaseRelease(struct AdbcDatabase *database, struct AdbcErr return status; } -AdbcStatusCode AdbcConnectionCommit(struct AdbcConnection *connection, struct AdbcError *error) { - if (!connection) { - return ADBC_STATUS_INVALID_ARGUMENT; +AdbcStatusCode AdbcConnectionCancel(struct AdbcConnection *connection, struct AdbcError *error) { + if (!connection->private_driver) { + return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, connection); + return connection->private_driver->ConnectionCancel(connection, error); +} + +AdbcStatusCode AdbcConnectionCommit(struct AdbcConnection *connection, struct AdbcError *error) { if (!connection->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, connection); return connection->private_driver->ConnectionCommit(connection, error); } -AdbcStatusCode AdbcConnectionGetInfo(struct AdbcConnection *connection, uint32_t *info_codes, size_t info_codes_length, - struct ArrowArrayStream *out, struct AdbcError *error) { - if (!connection) { - return ADBC_STATUS_INVALID_ARGUMENT; - } +AdbcStatusCode AdbcConnectionGetInfo(struct AdbcConnection *connection, const uint32_t *info_codes, + size_t info_codes_length, struct ArrowArrayStream *out, struct AdbcError *error) { if (!connection->private_driver) { return ADBC_STATUS_INVALID_STATE; } - return connection->private_driver->ConnectionGetInfo(connection, info_codes, info_codes_length, out, error); + INIT_ERROR(error, connection); + WRAP_STREAM(connection->private_driver->ConnectionGetInfo(connection, info_codes, info_codes_length, out, error), + out, connection); } AdbcStatusCode AdbcConnectionGetObjects(struct AdbcConnection *connection, int depth, const char *catalog, const char *db_schema, const char *table_name, const char **table_types, const char *column_name, struct ArrowArrayStream *stream, struct AdbcError *error) { - if (!connection) { - SetError(error, "connection can't be null"); + if (!connection->private_driver) { + return ADBC_STATUS_INVALID_STATE; + } + INIT_ERROR(error, connection); + WRAP_STREAM(connection->private_driver->ConnectionGetObjects(connection, depth, catalog, db_schema, table_name, + table_types, column_name, stream, error), + stream, connection); +} + +AdbcStatusCode AdbcConnectionGetOption(struct AdbcConnection *connection, const char *key, char *value, size_t *length, + struct AdbcError *error) { + if (!connection->private_data) { + SetError(error, "AdbcConnectionGetOption: must AdbcConnectionNew first"); + return ADBC_STATUS_INVALID_STATE; + } + if (!connection->private_driver) { + // Init not yet called, get the saved option + const auto *args = reinterpret_cast(connection->private_data); + const auto it = args->options.find(key); + if (it == args->options.end()) { + return ADBC_STATUS_NOT_FOUND; + } + if (*length >= it->second.size() + 1) { + std::memcpy(value, it->second.c_str(), it->second.size() + 1); + } + *length = it->second.size() + 1; + return ADBC_STATUS_OK; + } + INIT_ERROR(error, connection); + return connection->private_driver->ConnectionGetOption(connection, key, value, length, error); +} + +AdbcStatusCode AdbcConnectionGetOptionBytes(struct AdbcConnection *connection, const char *key, uint8_t *value, + size_t *length, struct AdbcError *error) { + if (!connection->private_data) { + SetError(error, "AdbcConnectionGetOption: must AdbcConnectionNew first"); + return ADBC_STATUS_INVALID_STATE; + } + if (!connection->private_driver) { + // Init not yet called, get the saved option + const auto *args = reinterpret_cast(connection->private_data); + const auto it = args->bytes_options.find(key); + if (it == args->options.end()) { + return ADBC_STATUS_NOT_FOUND; + } + if (*length >= it->second.size() + 1) { + std::memcpy(value, it->second.data(), it->second.size() + 1); + } + *length = it->second.size() + 1; + return ADBC_STATUS_OK; + } + INIT_ERROR(error, connection); + return connection->private_driver->ConnectionGetOptionBytes(connection, key, value, length, error); +} + +AdbcStatusCode AdbcConnectionGetOptionInt(struct AdbcConnection *connection, const char *key, int64_t *value, + struct AdbcError *error) { + if (!connection->private_data) { + SetError(error, "AdbcConnectionGetOption: must AdbcConnectionNew first"); return ADBC_STATUS_INVALID_STATE; } + if (!connection->private_driver) { + // Init not yet called, get the saved option + const auto *args = reinterpret_cast(connection->private_data); + const auto it = args->int_options.find(key); + if (it == args->int_options.end()) { + return ADBC_STATUS_NOT_FOUND; + } + *value = it->second; + return ADBC_STATUS_OK; + } + INIT_ERROR(error, connection); + return connection->private_driver->ConnectionGetOptionInt(connection, key, value, error); +} + +AdbcStatusCode AdbcConnectionGetOptionDouble(struct AdbcConnection *connection, const char *key, double *value, + struct AdbcError *error) { if (!connection->private_data) { - SetError(error, "connection must be initialized"); + SetError(error, "AdbcConnectionGetOption: must AdbcConnectionNew first"); + return ADBC_STATUS_INVALID_STATE; + } + if (!connection->private_driver) { + // Init not yet called, get the saved option + const auto *args = reinterpret_cast(connection->private_data); + const auto it = args->double_options.find(key); + if (it == args->double_options.end()) { + return ADBC_STATUS_NOT_FOUND; + } + *value = it->second; + return ADBC_STATUS_OK; + } + INIT_ERROR(error, connection); + return connection->private_driver->ConnectionGetOptionDouble(connection, key, value, error); +} + +AdbcStatusCode AdbcConnectionGetStatistics(struct AdbcConnection *connection, const char *catalog, + const char *db_schema, const char *table_name, char approximate, + struct ArrowArrayStream *out, struct AdbcError *error) { + if (!connection->private_driver) { + return ADBC_STATUS_INVALID_STATE; + } + INIT_ERROR(error, connection); + WRAP_STREAM(connection->private_driver->ConnectionGetStatistics(connection, catalog, db_schema, table_name, + approximate == 1, out, error), + out, connection); +} + +AdbcStatusCode AdbcConnectionGetStatisticNames(struct AdbcConnection *connection, struct ArrowArrayStream *out, + struct AdbcError *error) { + if (!connection->private_driver) { return ADBC_STATUS_INVALID_STATE; } - return connection->private_driver->ConnectionGetObjects(connection, depth, catalog, db_schema, table_name, - table_types, column_name, stream, error); + INIT_ERROR(error, connection); + WRAP_STREAM(connection->private_driver->ConnectionGetStatisticNames(connection, out, error), out, connection); } AdbcStatusCode AdbcConnectionGetTableSchema(struct AdbcConnection *connection, const char *catalog, const char *db_schema, const char *table_name, struct ArrowSchema *schema, struct AdbcError *error) { - if (!connection) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!connection->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, connection); return connection->private_driver->ConnectionGetTableSchema(connection, catalog, db_schema, table_name, schema, error); } AdbcStatusCode AdbcConnectionGetTableTypes(struct AdbcConnection *connection, struct ArrowArrayStream *stream, struct AdbcError *error) { - if (!connection) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!connection->private_driver) { return ADBC_STATUS_INVALID_STATE; } - return connection->private_driver->ConnectionGetTableTypes(connection, stream, error); + INIT_ERROR(error, connection); + WRAP_STREAM(connection->private_driver->ConnectionGetTableTypes(connection, stream, error), stream, connection); } AdbcStatusCode AdbcConnectionInit(struct AdbcConnection *connection, struct AdbcDatabase *database, struct AdbcError *error) { - if (!connection) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!connection->private_data) { SetError(error, "Must call AdbcConnectionNew first"); return ADBC_STATUS_INVALID_STATE; @@ -358,21 +1089,42 @@ AdbcStatusCode AdbcConnectionInit(struct AdbcConnection *connection, struct Adbc TempConnection *args = reinterpret_cast(connection->private_data); connection->private_data = nullptr; std::unordered_map options = std::move(args->options); + std::unordered_map bytes_options = std::move(args->bytes_options); + std::unordered_map int_options = std::move(args->int_options); + std::unordered_map double_options = std::move(args->double_options); delete args; auto status = database->private_driver->ConnectionNew(connection, error); - if (status != ADBC_STATUS_OK) { + if (status != ADBC_STATUS_OK) return status; - } connection->private_driver = database->private_driver; for (const auto &option : options) { status = database->private_driver->ConnectionSetOption(connection, option.first.c_str(), option.second.c_str(), error); - if (status != ADBC_STATUS_OK) { + if (status != ADBC_STATUS_OK) + return status; + } + for (const auto &option : bytes_options) { + status = database->private_driver->ConnectionSetOptionBytes( + connection, option.first.c_str(), reinterpret_cast(option.second.data()), + option.second.size(), error); + if (status != ADBC_STATUS_OK) + return status; + } + for (const auto &option : int_options) { + status = + database->private_driver->ConnectionSetOptionInt(connection, option.first.c_str(), option.second, error); + if (status != ADBC_STATUS_OK) + return status; + } + for (const auto &option : double_options) { + status = + database->private_driver->ConnectionSetOptionDouble(connection, option.first.c_str(), option.second, error); + if (status != ADBC_STATUS_OK) return status; - } } + INIT_ERROR(error, connection); return connection->private_driver->ConnectionInit(connection, database, error); } @@ -388,20 +1140,16 @@ AdbcStatusCode AdbcConnectionNew(struct AdbcConnection *connection, struct AdbcE AdbcStatusCode AdbcConnectionReadPartition(struct AdbcConnection *connection, const uint8_t *serialized_partition, size_t serialized_length, struct ArrowArrayStream *out, struct AdbcError *error) { - if (!connection) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!connection->private_driver) { return ADBC_STATUS_INVALID_STATE; } - return connection->private_driver->ConnectionReadPartition(connection, serialized_partition, serialized_length, out, - error); + INIT_ERROR(error, connection); + WRAP_STREAM(connection->private_driver->ConnectionReadPartition(connection, serialized_partition, serialized_length, + out, error), + out, connection); } AdbcStatusCode AdbcConnectionRelease(struct AdbcConnection *connection, struct AdbcError *error) { - if (!connection) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!connection->private_driver) { if (connection->private_data) { TempConnection *args = reinterpret_cast(connection->private_data); @@ -411,26 +1159,22 @@ AdbcStatusCode AdbcConnectionRelease(struct AdbcConnection *connection, struct A } return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, connection); auto status = connection->private_driver->ConnectionRelease(connection, error); connection->private_driver = nullptr; return status; } AdbcStatusCode AdbcConnectionRollback(struct AdbcConnection *connection, struct AdbcError *error) { - if (!connection) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!connection->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, connection); return connection->private_driver->ConnectionRollback(connection, error); } AdbcStatusCode AdbcConnectionSetOption(struct AdbcConnection *connection, const char *key, const char *value, struct AdbcError *error) { - if (!connection) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!connection->private_data) { SetError(error, "AdbcConnectionSetOption: must AdbcConnectionNew first"); return ADBC_STATUS_INVALID_STATE; @@ -441,98 +1185,182 @@ AdbcStatusCode AdbcConnectionSetOption(struct AdbcConnection *connection, const args->options[key] = value; return ADBC_STATUS_OK; } + INIT_ERROR(error, connection); return connection->private_driver->ConnectionSetOption(connection, key, value, error); } +AdbcStatusCode AdbcConnectionSetOptionBytes(struct AdbcConnection *connection, const char *key, const uint8_t *value, + size_t length, struct AdbcError *error) { + if (!connection->private_data) { + SetError(error, "AdbcConnectionSetOptionInt: must AdbcConnectionNew first"); + return ADBC_STATUS_INVALID_STATE; + } + if (!connection->private_driver) { + // Init not yet called, save the option + TempConnection *args = reinterpret_cast(connection->private_data); + args->bytes_options[key] = std::string(reinterpret_cast(value), length); + return ADBC_STATUS_OK; + } + INIT_ERROR(error, connection); + return connection->private_driver->ConnectionSetOptionBytes(connection, key, value, length, error); +} + +AdbcStatusCode AdbcConnectionSetOptionInt(struct AdbcConnection *connection, const char *key, int64_t value, + struct AdbcError *error) { + if (!connection->private_data) { + SetError(error, "AdbcConnectionSetOptionInt: must AdbcConnectionNew first"); + return ADBC_STATUS_INVALID_STATE; + } + if (!connection->private_driver) { + // Init not yet called, save the option + TempConnection *args = reinterpret_cast(connection->private_data); + args->int_options[key] = value; + return ADBC_STATUS_OK; + } + INIT_ERROR(error, connection); + return connection->private_driver->ConnectionSetOptionInt(connection, key, value, error); +} + +AdbcStatusCode AdbcConnectionSetOptionDouble(struct AdbcConnection *connection, const char *key, double value, + struct AdbcError *error) { + if (!connection->private_data) { + SetError(error, "AdbcConnectionSetOptionDouble: must AdbcConnectionNew first"); + return ADBC_STATUS_INVALID_STATE; + } + if (!connection->private_driver) { + // Init not yet called, save the option + TempConnection *args = reinterpret_cast(connection->private_data); + args->double_options[key] = value; + return ADBC_STATUS_OK; + } + INIT_ERROR(error, connection); + return connection->private_driver->ConnectionSetOptionDouble(connection, key, value, error); +} + AdbcStatusCode AdbcStatementBind(struct AdbcStatement *statement, struct ArrowArray *values, struct ArrowSchema *schema, struct AdbcError *error) { - if (!statement) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!statement->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, statement); return statement->private_driver->StatementBind(statement, values, schema, error); } AdbcStatusCode AdbcStatementBindStream(struct AdbcStatement *statement, struct ArrowArrayStream *stream, struct AdbcError *error) { - if (!statement) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!statement->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, statement); return statement->private_driver->StatementBindStream(statement, stream, error); } +AdbcStatusCode AdbcStatementCancel(struct AdbcStatement *statement, struct AdbcError *error) { + if (!statement->private_driver) { + return ADBC_STATUS_INVALID_STATE; + } + INIT_ERROR(error, statement); + return statement->private_driver->StatementCancel(statement, error); +} + // XXX: cpplint gets confused here if declared as 'struct ArrowSchema* schema' AdbcStatusCode AdbcStatementExecutePartitions(struct AdbcStatement *statement, ArrowSchema *schema, struct AdbcPartitions *partitions, int64_t *rows_affected, struct AdbcError *error) { - if (!statement) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!statement->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, statement); return statement->private_driver->StatementExecutePartitions(statement, schema, partitions, rows_affected, error); } AdbcStatusCode AdbcStatementExecuteQuery(struct AdbcStatement *statement, struct ArrowArrayStream *out, int64_t *rows_affected, struct AdbcError *error) { - if (!statement) { - return ADBC_STATUS_INVALID_ARGUMENT; + if (!statement->private_driver) { + return ADBC_STATUS_INVALID_STATE; + } + INIT_ERROR(error, statement); + WRAP_STREAM(statement->private_driver->StatementExecuteQuery(statement, out, rows_affected, error), out, statement); +} + +AdbcStatusCode AdbcStatementExecuteSchema(struct AdbcStatement *statement, struct ArrowSchema *schema, + struct AdbcError *error) { + if (!statement->private_driver) { + return ADBC_STATUS_INVALID_STATE; + } + INIT_ERROR(error, statement); + return statement->private_driver->StatementExecuteSchema(statement, schema, error); +} + +AdbcStatusCode AdbcStatementGetOption(struct AdbcStatement *statement, const char *key, char *value, size_t *length, + struct AdbcError *error) { + if (!statement->private_driver) { + return ADBC_STATUS_INVALID_STATE; + } + INIT_ERROR(error, statement); + return statement->private_driver->StatementGetOption(statement, key, value, length, error); +} + +AdbcStatusCode AdbcStatementGetOptionBytes(struct AdbcStatement *statement, const char *key, uint8_t *value, + size_t *length, struct AdbcError *error) { + if (!statement->private_driver) { + return ADBC_STATUS_INVALID_STATE; + } + INIT_ERROR(error, statement); + return statement->private_driver->StatementGetOptionBytes(statement, key, value, length, error); +} + +AdbcStatusCode AdbcStatementGetOptionInt(struct AdbcStatement *statement, const char *key, int64_t *value, + struct AdbcError *error) { + if (!statement->private_driver) { + return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, statement); + return statement->private_driver->StatementGetOptionInt(statement, key, value, error); +} + +AdbcStatusCode AdbcStatementGetOptionDouble(struct AdbcStatement *statement, const char *key, double *value, + struct AdbcError *error) { if (!statement->private_driver) { return ADBC_STATUS_INVALID_STATE; } - return statement->private_driver->StatementExecuteQuery(statement, out, rows_affected, error); + INIT_ERROR(error, statement); + return statement->private_driver->StatementGetOptionDouble(statement, key, value, error); } AdbcStatusCode AdbcStatementGetParameterSchema(struct AdbcStatement *statement, struct ArrowSchema *schema, struct AdbcError *error) { - if (!statement) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!statement->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, statement); return statement->private_driver->StatementGetParameterSchema(statement, schema, error); } AdbcStatusCode AdbcStatementNew(struct AdbcConnection *connection, struct AdbcStatement *statement, struct AdbcError *error) { - if (!connection) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!connection->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, connection); auto status = connection->private_driver->StatementNew(connection, statement, error); statement->private_driver = connection->private_driver; return status; } AdbcStatusCode AdbcStatementPrepare(struct AdbcStatement *statement, struct AdbcError *error) { - if (!statement) { - SetError(error, "Missing statement object"); - return ADBC_STATUS_INVALID_ARGUMENT; - } - if (!statement->private_data) { - SetError(error, "Invalid statement object"); + if (!statement->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, statement); return statement->private_driver->StatementPrepare(statement, error); } AdbcStatusCode AdbcStatementRelease(struct AdbcStatement *statement, struct AdbcError *error) { - if (!statement) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!statement->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, statement); auto status = statement->private_driver->StatementRelease(statement, error); statement->private_driver = nullptr; return status; @@ -540,65 +1368,82 @@ AdbcStatusCode AdbcStatementRelease(struct AdbcStatement *statement, struct Adbc AdbcStatusCode AdbcStatementSetOption(struct AdbcStatement *statement, const char *key, const char *value, struct AdbcError *error) { - if (!statement) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!statement->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, statement); return statement->private_driver->StatementSetOption(statement, key, value, error); } -AdbcStatusCode AdbcStatementSetSqlQuery(struct AdbcStatement *statement, const char *query, struct AdbcError *error) { - if (!statement) { - return ADBC_STATUS_INVALID_ARGUMENT; +AdbcStatusCode AdbcStatementSetOptionBytes(struct AdbcStatement *statement, const char *key, const uint8_t *value, + size_t length, struct AdbcError *error) { + if (!statement->private_driver) { + return ADBC_STATUS_INVALID_STATE; + } + INIT_ERROR(error, statement); + return statement->private_driver->StatementSetOptionBytes(statement, key, value, length, error); +} + +AdbcStatusCode AdbcStatementSetOptionInt(struct AdbcStatement *statement, const char *key, int64_t value, + struct AdbcError *error) { + if (!statement->private_driver) { + return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, statement); + return statement->private_driver->StatementSetOptionInt(statement, key, value, error); +} + +AdbcStatusCode AdbcStatementSetOptionDouble(struct AdbcStatement *statement, const char *key, double value, + struct AdbcError *error) { + if (!statement->private_driver) { + return ADBC_STATUS_INVALID_STATE; + } + INIT_ERROR(error, statement); + return statement->private_driver->StatementSetOptionDouble(statement, key, value, error); +} + +AdbcStatusCode AdbcStatementSetSqlQuery(struct AdbcStatement *statement, const char *query, struct AdbcError *error) { if (!statement->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, statement); return statement->private_driver->StatementSetSqlQuery(statement, query, error); } AdbcStatusCode AdbcStatementSetSubstraitPlan(struct AdbcStatement *statement, const uint8_t *plan, size_t length, struct AdbcError *error) { - if (!statement) { - return ADBC_STATUS_INVALID_ARGUMENT; - } if (!statement->private_driver) { return ADBC_STATUS_INVALID_STATE; } + INIT_ERROR(error, statement); return statement->private_driver->StatementSetSubstraitPlan(statement, plan, length, error); } const char *AdbcStatusCodeMessage(AdbcStatusCode code) { -#define STRINGIFY(s) #s -#define STRINGIFY_VALUE(s) STRINGIFY(s) #define CASE(CONSTANT) \ - case CONSTANT: \ - return #CONSTANT " (" STRINGIFY_VALUE(CONSTANT) ")"; + case ADBC_STATUS_##CONSTANT: \ + return #CONSTANT; switch (code) { - CASE(ADBC_STATUS_OK); - CASE(ADBC_STATUS_UNKNOWN); - CASE(ADBC_STATUS_NOT_IMPLEMENTED); - CASE(ADBC_STATUS_NOT_FOUND); - CASE(ADBC_STATUS_ALREADY_EXISTS); - CASE(ADBC_STATUS_INVALID_ARGUMENT); - CASE(ADBC_STATUS_INVALID_STATE); - CASE(ADBC_STATUS_INVALID_DATA); - CASE(ADBC_STATUS_INTEGRITY); - CASE(ADBC_STATUS_INTERNAL); - CASE(ADBC_STATUS_IO); - CASE(ADBC_STATUS_CANCELLED); - CASE(ADBC_STATUS_TIMEOUT); - CASE(ADBC_STATUS_UNAUTHENTICATED); - CASE(ADBC_STATUS_UNAUTHORIZED); + CASE(OK); + CASE(UNKNOWN); + CASE(NOT_IMPLEMENTED); + CASE(NOT_FOUND); + CASE(ALREADY_EXISTS); + CASE(INVALID_ARGUMENT); + CASE(INVALID_STATE); + CASE(INVALID_DATA); + CASE(INTEGRITY); + CASE(INTERNAL); + CASE(IO); + CASE(CANCELLED); + CASE(TIMEOUT); + CASE(UNAUTHENTICATED); + CASE(UNAUTHORIZED); default: return "(invalid code)"; } #undef CASE -#undef STRINGIFY_VALUE -#undef STRINGIFY } AdbcStatusCode AdbcLoadDriver(const char *driver_name, const char *entrypoint, int version, void *raw_driver, @@ -606,136 +1451,80 @@ AdbcStatusCode AdbcLoadDriver(const char *driver_name, const char *entrypoint, i AdbcDriverInitFunc init_func; std::string error_message; - if (version != ADBC_VERSION_1_0_0) { - SetError(error, "Only ADBC 1.0.0 is supported"); + switch (version) { + case ADBC_VERSION_1_0_0: + case ADBC_VERSION_1_1_0: + break; + default: + SetError(error, "Only ADBC 1.0.0 and 1.1.0 are supported"); return ADBC_STATUS_NOT_IMPLEMENTED; } - auto *driver = reinterpret_cast(raw_driver); - - if (!entrypoint) { - // Default entrypoint (see adbc.h) - entrypoint = "AdbcDriverInit"; - } - -#if defined(_WIN32) - - HMODULE handle = LoadLibraryExA(driver_name, NULL, 0); - if (!handle) { - error_message += driver_name; - error_message += ": LoadLibraryExA() failed: "; - GetWinError(&error_message); - - std::string full_driver_name = driver_name; - full_driver_name += ".lib"; - handle = LoadLibraryExA(full_driver_name.c_str(), NULL, 0); - if (!handle) { - error_message += '\n'; - error_message += full_driver_name; - error_message += ": LoadLibraryExA() failed: "; - GetWinError(&error_message); - } - } - if (!handle) { - SetError(error, error_message); - return ADBC_STATUS_INTERNAL; + if (!raw_driver) { + SetError(error, "Must provide non-NULL raw_driver"); + return ADBC_STATUS_INVALID_ARGUMENT; } + auto *driver = reinterpret_cast(raw_driver); - void *load_handle = reinterpret_cast(GetProcAddress(handle, entrypoint)); - init_func = reinterpret_cast(load_handle); - if (!init_func) { - std::string message = "GetProcAddress("; - message += entrypoint; - message += ") failed: "; - GetWinError(&message); - if (!FreeLibrary(handle)) { - message += "\nFreeLibrary() failed: "; - GetWinError(&message); - } - SetError(error, message); - return ADBC_STATUS_INTERNAL; + ManagedLibrary library; + AdbcStatusCode status = library.Load(driver_name, error); + if (status != ADBC_STATUS_OK) { + // AdbcDatabaseInit tries to call this if set + driver->release = nullptr; + return status; } -#else - -#if defined(__APPLE__) - const std::string kPlatformLibraryPrefix = "lib"; - const std::string kPlatformLibrarySuffix = ".dylib"; -#else - const std::string kPlatformLibraryPrefix = "lib"; - const std::string kPlatformLibrarySuffix = ".so"; -#endif // defined(__APPLE__) - - void *handle = dlopen(driver_name, RTLD_NOW | RTLD_LOCAL); - if (!handle) { - error_message = "dlopen() failed: "; - error_message += dlerror(); - - // If applicable, append the shared library prefix/extension and - // try again (this way you don't have to hardcode driver names by - // platform in the application) - const std::string driver_str = driver_name; - - std::string full_driver_name; - if (driver_str.size() < kPlatformLibraryPrefix.size() || - driver_str.compare(0, kPlatformLibraryPrefix.size(), kPlatformLibraryPrefix) != 0) { - full_driver_name += kPlatformLibraryPrefix; - } - full_driver_name += driver_name; - if (driver_str.size() < kPlatformLibrarySuffix.size() || - driver_str.compare(full_driver_name.size() - kPlatformLibrarySuffix.size(), kPlatformLibrarySuffix.size(), - kPlatformLibrarySuffix) != 0) { - full_driver_name += kPlatformLibrarySuffix; - } - handle = dlopen(full_driver_name.c_str(), RTLD_NOW | RTLD_LOCAL); - if (!handle) { - error_message += "\ndlopen() failed: "; - error_message += dlerror(); + void *load_handle = nullptr; + if (entrypoint) { + status = library.Lookup(entrypoint, &load_handle, error); + } else { + auto name = AdbcDriverManagerDefaultEntrypoint(driver_name); + status = library.Lookup(name.c_str(), &load_handle, error); + if (status != ADBC_STATUS_OK) { + status = library.Lookup(kDefaultEntrypoint, &load_handle, error); } } - if (!handle) { - SetError(error, error_message); - // AdbcDatabaseInit tries to call this if set - driver->release = nullptr; - return ADBC_STATUS_INTERNAL; - } - void *load_handle = dlsym(handle, entrypoint); - if (!load_handle) { - std::string message = "dlsym("; - message += entrypoint; - message += ") failed: "; - message += dlerror(); - SetError(error, message); - return ADBC_STATUS_INTERNAL; + if (status != ADBC_STATUS_OK) { + library.Release(); + return status; } init_func = reinterpret_cast(load_handle); -#endif // defined(_WIN32) - - AdbcStatusCode status = AdbcLoadDriverFromInitFunc(init_func, version, driver, error); + status = AdbcLoadDriverFromInitFunc(init_func, version, driver, error); if (status == ADBC_STATUS_OK) { ManagerDriverState *state = new ManagerDriverState; state->driver_release = driver->release; -#if defined(_WIN32) - state->handle = handle; -#endif // defined(_WIN32) + state->handle = std::move(library); driver->release = &ReleaseDriver; driver->private_manager = state; } else { -#if defined(_WIN32) - if (!FreeLibrary(handle)) { - std::string message = "FreeLibrary() failed: "; - GetWinError(&message); - SetError(error, message); - } -#endif // defined(_WIN32) + library.Release(); } return status; } AdbcStatusCode AdbcLoadDriverFromInitFunc(AdbcDriverInitFunc init_func, int version, void *raw_driver, struct AdbcError *error) { + constexpr std::array kSupportedVersions = { + ADBC_VERSION_1_1_0, + ADBC_VERSION_1_0_0, + }; + + if (!raw_driver) { + SetError(error, "Must provide non-NULL raw_driver"); + return ADBC_STATUS_INVALID_ARGUMENT; + } + + switch (version) { + case ADBC_VERSION_1_0_0: + case ADBC_VERSION_1_1_0: + break; + default: + SetError(error, "Only ADBC 1.0.0 and 1.1.0 are supported"); + return ADBC_STATUS_NOT_IMPLEMENTED; + } + #define FILL_DEFAULT(DRIVER, STUB) \ if (!DRIVER->STUB) { \ DRIVER->STUB = &STUB; \ @@ -746,12 +1535,22 @@ AdbcStatusCode AdbcLoadDriverFromInitFunc(AdbcDriverInitFunc init_func, int vers return ADBC_STATUS_INTERNAL; \ } - auto result = init_func(version, raw_driver, error); + // Starting from the passed version, try each (older) version in + // succession with the underlying driver until we find one that's + // accepted. + AdbcStatusCode result = ADBC_STATUS_NOT_IMPLEMENTED; + for (const int try_version : kSupportedVersions) { + if (try_version > version) + continue; + result = init_func(try_version, raw_driver, error); + if (result != ADBC_STATUS_NOT_IMPLEMENTED) + break; + } if (result != ADBC_STATUS_OK) { return result; } - if (version == ADBC_VERSION_1_0_0) { + if (version >= ADBC_VERSION_1_0_0) { auto *driver = reinterpret_cast(raw_driver); CHECK_REQUIRED(driver, DatabaseNew); CHECK_REQUIRED(driver, DatabaseInit); @@ -781,10 +1580,44 @@ AdbcStatusCode AdbcLoadDriverFromInitFunc(AdbcDriverInitFunc init_func, int vers FILL_DEFAULT(driver, StatementSetSqlQuery); FILL_DEFAULT(driver, StatementSetSubstraitPlan); } + if (version >= ADBC_VERSION_1_1_0) { + auto *driver = reinterpret_cast(raw_driver); + FILL_DEFAULT(driver, ErrorGetDetailCount); + FILL_DEFAULT(driver, ErrorGetDetail); + FILL_DEFAULT(driver, ErrorFromArrayStream); + + FILL_DEFAULT(driver, DatabaseGetOption); + FILL_DEFAULT(driver, DatabaseGetOptionBytes); + FILL_DEFAULT(driver, DatabaseGetOptionDouble); + FILL_DEFAULT(driver, DatabaseGetOptionInt); + FILL_DEFAULT(driver, DatabaseSetOptionBytes); + FILL_DEFAULT(driver, DatabaseSetOptionDouble); + FILL_DEFAULT(driver, DatabaseSetOptionInt); + + FILL_DEFAULT(driver, ConnectionCancel); + FILL_DEFAULT(driver, ConnectionGetOption); + FILL_DEFAULT(driver, ConnectionGetOptionBytes); + FILL_DEFAULT(driver, ConnectionGetOptionDouble); + FILL_DEFAULT(driver, ConnectionGetOptionInt); + FILL_DEFAULT(driver, ConnectionGetStatistics); + FILL_DEFAULT(driver, ConnectionGetStatisticNames); + FILL_DEFAULT(driver, ConnectionSetOptionBytes); + FILL_DEFAULT(driver, ConnectionSetOptionDouble); + FILL_DEFAULT(driver, ConnectionSetOptionInt); + + FILL_DEFAULT(driver, StatementCancel); + FILL_DEFAULT(driver, StatementExecuteSchema); + FILL_DEFAULT(driver, StatementGetOption); + FILL_DEFAULT(driver, StatementGetOptionBytes); + FILL_DEFAULT(driver, StatementGetOptionDouble); + FILL_DEFAULT(driver, StatementGetOptionInt); + FILL_DEFAULT(driver, StatementSetOptionBytes); + FILL_DEFAULT(driver, StatementSetOptionDouble); + FILL_DEFAULT(driver, StatementSetOptionInt); + } return ADBC_STATUS_OK; #undef FILL_DEFAULT #undef CHECK_REQUIRED } -} // namespace duckdb_adbc diff --git a/src/common/arrow/arrow_wrapper.cpp b/src/common/arrow/arrow_wrapper.cpp index 5a39f81b6ade..d439d99079b1 100644 --- a/src/common/arrow/arrow_wrapper.cpp +++ b/src/common/arrow/arrow_wrapper.cpp @@ -66,10 +66,16 @@ int ResultArrowArrayStreamWrapper::MyStreamGetSchema(struct ArrowArrayStream *st if (!stream->release) { return -1; } + out->release = nullptr; auto my_stream = reinterpret_cast(stream->private_data); if (!my_stream->column_types.empty()) { - ArrowConverter::ToArrowSchema(out, my_stream->column_types, my_stream->column_names, - my_stream->result->client_properties); + try { + ArrowConverter::ToArrowSchema(out, my_stream->column_types, my_stream->column_names, + my_stream->result->client_properties); + } catch (std::runtime_error &e) { + my_stream->last_error = ErrorData(e); + return -1; + } return 0; } @@ -81,7 +87,7 @@ int ResultArrowArrayStreamWrapper::MyStreamGetSchema(struct ArrowArrayStream *st if (result.type == QueryResultType::STREAM_RESULT) { auto &stream_result = result.Cast(); if (!stream_result.IsOpen()) { - my_stream->last_error = PreservedError("Query Stream is closed"); + my_stream->last_error = ErrorData("Query Stream is closed"); return -1; } } @@ -89,8 +95,13 @@ int ResultArrowArrayStreamWrapper::MyStreamGetSchema(struct ArrowArrayStream *st my_stream->column_types = result.types; my_stream->column_names = result.names; } - ArrowConverter::ToArrowSchema(out, my_stream->column_types, my_stream->column_names, - my_stream->result->client_properties); + try { + ArrowConverter::ToArrowSchema(out, my_stream->column_types, my_stream->column_names, + my_stream->result->client_properties); + } catch (std::runtime_error &e) { + my_stream->last_error = ErrorData(e); + return -1; + } return 0; } @@ -118,10 +129,10 @@ int ResultArrowArrayStreamWrapper::MyStreamGetNext(struct ArrowArrayStream *stre my_stream->column_names = result.names; } idx_t result_count; - PreservedError error; + ErrorData error; if (!ArrowUtil::TryFetchChunk(scan_state, result.client_properties, my_stream->batch_size, out, result_count, error)) { - D_ASSERT(error); + D_ASSERT(error.HasError()); my_stream->last_error = error; return -1; } @@ -166,7 +177,7 @@ ResultArrowArrayStreamWrapper::ResultArrowArrayStreamWrapper(unique_ptr namespace duckdb { diff --git a/src/common/box_renderer.cpp b/src/common/box_renderer.cpp index bdb4afa7aac4..0a64af13e839 100644 --- a/src/common/box_renderer.cpp +++ b/src/common/box_renderer.cpp @@ -96,6 +96,8 @@ string BoxRenderer::RenderType(const LogicalType &type) { return "uint32"; case LogicalTypeId::UBIGINT: return "uint64"; + case LogicalTypeId::UHUGEINT: + return "uint128"; case LogicalTypeId::LIST: { auto child = RenderType(ListType::GetChildType(type)); return child + "[]"; @@ -116,6 +118,7 @@ ValueRenderAlignment BoxRenderer::TypeAlignment(const LogicalType &type) { case LogicalTypeId::USMALLINT: case LogicalTypeId::UINTEGER: case LogicalTypeId::UBIGINT: + case LogicalTypeId::UHUGEINT: case LogicalTypeId::DECIMAL: case LogicalTypeId::FLOAT: case LogicalTypeId::DOUBLE: @@ -254,7 +257,55 @@ list BoxRenderer::PivotCollections(ClientContext &context, } string ConvertRenderValue(const string &input) { - return StringUtil::Replace(StringUtil::Replace(input, "\n", "\\n"), string("\0", 1), "\\0"); + string result; + result.reserve(input.size()); + for (idx_t c = 0; c < input.size(); c++) { + data_t byte_value = const_data_ptr_cast(input.c_str())[c]; + if (byte_value < 32) { + // ASCII control character + result += "\\"; + switch (input[c]) { + case 7: + // bell + result += 'a'; + break; + case 8: + // backspace + result += 'b'; + break; + case 9: + // tab + result += 't'; + break; + case 10: + // newline + result += 'n'; + break; + case 11: + // vertical tab + result += 'v'; + break; + case 12: + // form feed + result += 'f'; + break; + case 13: + // cariage return + result += 'r'; + break; + case 27: + // escape + result += 'e'; + break; + default: + result += to_string(byte_value); + break; + } + } else { + result += input[c]; + } + } + return result; } string BoxRenderer::GetRenderValue(ColumnDataRowCollection &rows, idx_t c, idx_t r) { diff --git a/src/common/compressed_file_system.cpp b/src/common/compressed_file_system.cpp index a9d2893307e7..dab274b27c28 100644 --- a/src/common/compressed_file_system.cpp +++ b/src/common/compressed_file_system.cpp @@ -7,6 +7,7 @@ StreamWrapper::~StreamWrapper() { CompressedFile::CompressedFile(CompressedFileSystem &fs, unique_ptr child_handle_p, const string &path) : FileHandle(fs, path), compressed_fs(fs), child_handle(std::move(child_handle_p)) { + D_ASSERT(child_handle->SeekPosition() == 0); } CompressedFile::~CompressedFile() { diff --git a/src/common/constants.cpp b/src/common/constants.cpp index 0e2461c2f559..a6c12be1239b 100644 --- a/src/common/constants.cpp +++ b/src/common/constants.cpp @@ -9,7 +9,6 @@ constexpr const idx_t DConstants::INVALID_INDEX; const row_t MAX_ROW_ID = 36028797018960000ULL; // 2^55 const row_t MAX_ROW_ID_LOCAL = 72057594037920000ULL; // 2^56 const column_t COLUMN_IDENTIFIER_ROW_ID = (column_t)-1; -const sel_t ZERO_VECTOR[STANDARD_VECTOR_SIZE] = {0}; const double PI = 3.141592653589793; const transaction_t TRANSACTION_ID_START = 4611686018427388000ULL; // 2^62 diff --git a/src/common/enum_util.cpp b/src/common/enum_util.cpp index da48ca9763d0..5424b6a69d50 100644 --- a/src/common/enum_util.cpp +++ b/src/common/enum_util.cpp @@ -10,6 +10,7 @@ #include "duckdb/common/enum_util.hpp" +#include "duckdb/catalog/catalog_entry/dependency/dependency_entry.hpp" #include "duckdb/catalog/catalog_entry/table_column_type.hpp" #include "duckdb/common/box_renderer.hpp" #include "duckdb/common/enums/access_mode.hpp" @@ -23,10 +24,12 @@ #include "duckdb/common/enums/file_compression_type.hpp" #include "duckdb/common/enums/file_glob_options.hpp" #include "duckdb/common/enums/filter_propagate_result.hpp" -#include "duckdb/common/enums/index_type.hpp" +#include "duckdb/common/enums/index_constraint_type.hpp" #include "duckdb/common/enums/join_type.hpp" #include "duckdb/common/enums/joinref_type.hpp" #include "duckdb/common/enums/logical_operator_type.hpp" +#include "duckdb/common/enums/memory_tag.hpp" +#include "duckdb/common/enums/on_create_conflict.hpp" #include "duckdb/common/enums/on_entry_not_found.hpp" #include "duckdb/common/enums/operator_result_type.hpp" #include "duckdb/common/enums/optimizer_type.hpp" @@ -67,10 +70,9 @@ #include "duckdb/core_functions/aggregate/quantile_enum.hpp" #include "duckdb/execution/index/art/art.hpp" #include "duckdb/execution/index/art/node.hpp" -#include "duckdb/execution/operator/scan/csv/base_csv_reader.hpp" -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" -#include "duckdb/execution/operator/scan/csv/csv_state.hpp" -#include "duckdb/execution/operator/scan/csv/quote_rules.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_option.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/quote_rules.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state.hpp" #include "duckdb/function/aggregate_state.hpp" #include "duckdb/function/function.hpp" #include "duckdb/function/macro_function.hpp" @@ -83,6 +85,7 @@ #include "duckdb/main/error_manager.hpp" #include "duckdb/main/extension_helper.hpp" #include "duckdb/main/query_result.hpp" +#include "duckdb/main/secret/secret.hpp" #include "duckdb/parallel/interrupt.hpp" #include "duckdb/parallel/task.hpp" #include "duckdb/parser/constraint.hpp" @@ -92,8 +95,8 @@ #include "duckdb/parser/parsed_data/alter_scalar_function_info.hpp" #include "duckdb/parser/parsed_data/alter_table_function_info.hpp" #include "duckdb/parser/parsed_data/alter_table_info.hpp" -#include "duckdb/parser/parsed_data/create_info.hpp" #include "duckdb/parser/parsed_data/create_sequence_info.hpp" +#include "duckdb/parser/parsed_data/extra_drop_info.hpp" #include "duckdb/parser/parsed_data/load_info.hpp" #include "duckdb/parser/parsed_data/parse_info.hpp" #include "duckdb/parser/parsed_data/pragma_info.hpp" @@ -108,6 +111,7 @@ #include "duckdb/parser/statement/explain_statement.hpp" #include "duckdb/parser/statement/insert_statement.hpp" #include "duckdb/parser/subpath_element.hpp" +#include "duckdb/parser/tableref/showref.hpp" #include "duckdb/planner/binder.hpp" #include "duckdb/planner/bound_result_modifier.hpp" #include "duckdb/planner/table_filter.hpp" @@ -154,6 +158,29 @@ AccessMode EnumUtil::FromString(const char *value) { throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } +template<> +const char* EnumUtil::ToChars(AggregateCombineType value) { + switch(value) { + case AggregateCombineType::PRESERVE_INPUT: + return "PRESERVE_INPUT"; + case AggregateCombineType::ALLOW_DESTRUCTIVE: + return "ALLOW_DESTRUCTIVE"; + default: + throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); + } +} + +template<> +AggregateCombineType EnumUtil::FromString(const char *value) { + if (StringUtil::Equals(value, "PRESERVE_INPUT")) { + return AggregateCombineType::PRESERVE_INPUT; + } + if (StringUtil::Equals(value, "ALLOW_DESTRUCTIVE")) { + return AggregateCombineType::ALLOW_DESTRUCTIVE; + } + throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); +} + template<> const char* EnumUtil::ToChars(AggregateHandling value) { switch(value) { @@ -320,6 +347,8 @@ const char* EnumUtil::ToChars(AlterTableType value) { return "SET_NOT_NULL"; case AlterTableType::DROP_NOT_NULL: return "DROP_NOT_NULL"; + case AlterTableType::SET_COLUMN_COMMENT: + return "SET_COLUMN_COMMENT"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -357,6 +386,9 @@ AlterTableType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "DROP_NOT_NULL")) { return AlterTableType::DROP_NOT_NULL; } + if (StringUtil::Equals(value, "SET_COLUMN_COMMENT")) { + return AlterTableType::SET_COLUMN_COMMENT; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -377,6 +409,8 @@ const char* EnumUtil::ToChars(AlterType value) { return "ALTER_SCALAR_FUNCTION"; case AlterType::ALTER_TABLE_FUNCTION: return "ALTER_TABLE_FUNCTION"; + case AlterType::SET_COMMENT: + return "SET_COMMENT"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -405,6 +439,9 @@ AlterType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "ALTER_TABLE_FUNCTION")) { return AlterType::ALTER_TABLE_FUNCTION; } + if (StringUtil::Equals(value, "SET_COMMENT")) { + return AlterType::SET_COMMENT; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -669,10 +706,14 @@ const char* EnumUtil::ToChars(CSVState value) { return "UNQUOTED"; case CSVState::ESCAPE: return "ESCAPE"; - case CSVState::EMPTY_LINE: - return "EMPTY_LINE"; case CSVState::INVALID: return "INVALID"; + case CSVState::NOT_SET: + return "NOT_SET"; + case CSVState::QUOTED_NEW_LINE: + return "QUOTED_NEW_LINE"; + case CSVState::EMPTY_SPACE: + return "EMPTY_SPACE"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -701,12 +742,18 @@ CSVState EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "ESCAPE")) { return CSVState::ESCAPE; } - if (StringUtil::Equals(value, "EMPTY_LINE")) { - return CSVState::EMPTY_LINE; - } if (StringUtil::Equals(value, "INVALID")) { return CSVState::INVALID; } + if (StringUtil::Equals(value, "NOT_SET")) { + return CSVState::NOT_SET; + } + if (StringUtil::Equals(value, "QUOTED_NEW_LINE")) { + return CSVState::QUOTED_NEW_LINE; + } + if (StringUtil::Equals(value, "EMPTY_SPACE")) { + return CSVState::EMPTY_SPACE; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -775,10 +822,18 @@ const char* EnumUtil::ToChars(CatalogType value) { return "MACRO_ENTRY"; case CatalogType::TABLE_MACRO_ENTRY: return "TABLE_MACRO_ENTRY"; - case CatalogType::UPDATED_ENTRY: - return "UPDATED_ENTRY"; case CatalogType::DELETED_ENTRY: return "DELETED_ENTRY"; + case CatalogType::RENAMED_ENTRY: + return "RENAMED_ENTRY"; + case CatalogType::SECRET_ENTRY: + return "SECRET_ENTRY"; + case CatalogType::SECRET_TYPE_ENTRY: + return "SECRET_TYPE_ENTRY"; + case CatalogType::SECRET_FUNCTION_ENTRY: + return "SECRET_FUNCTION_ENTRY"; + case CatalogType::DEPENDENCY_ENTRY: + return "DEPENDENCY_ENTRY"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -837,12 +892,24 @@ CatalogType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "TABLE_MACRO_ENTRY")) { return CatalogType::TABLE_MACRO_ENTRY; } - if (StringUtil::Equals(value, "UPDATED_ENTRY")) { - return CatalogType::UPDATED_ENTRY; - } if (StringUtil::Equals(value, "DELETED_ENTRY")) { return CatalogType::DELETED_ENTRY; } + if (StringUtil::Equals(value, "RENAMED_ENTRY")) { + return CatalogType::RENAMED_ENTRY; + } + if (StringUtil::Equals(value, "SECRET_ENTRY")) { + return CatalogType::SECRET_ENTRY; + } + if (StringUtil::Equals(value, "SECRET_TYPE_ENTRY")) { + return CatalogType::SECRET_TYPE_ENTRY; + } + if (StringUtil::Equals(value, "SECRET_FUNCTION_ENTRY")) { + return CatalogType::SECRET_FUNCTION_ENTRY; + } + if (StringUtil::Equals(value, "DEPENDENCY_ENTRY")) { + return CatalogType::DEPENDENCY_ENTRY; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -1037,6 +1104,10 @@ const char* EnumUtil::ToChars(CompressionType value) { return "COMPRESSION_CHIMP"; case CompressionType::COMPRESSION_PATAS: return "COMPRESSION_PATAS"; + case CompressionType::COMPRESSION_ALP: + return "COMPRESSION_ALP"; + case CompressionType::COMPRESSION_ALPRD: + return "COMPRESSION_ALPRD"; case CompressionType::COMPRESSION_COUNT: return "COMPRESSION_COUNT"; default: @@ -1076,6 +1147,12 @@ CompressionType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "COMPRESSION_PATAS")) { return CompressionType::COMPRESSION_PATAS; } + if (StringUtil::Equals(value, "COMPRESSION_ALP")) { + return CompressionType::COMPRESSION_ALP; + } + if (StringUtil::Equals(value, "COMPRESSION_ALPRD")) { + return CompressionType::COMPRESSION_ALPRD; + } if (StringUtil::Equals(value, "COMPRESSION_COUNT")) { return CompressionType::COMPRESSION_COUNT; } @@ -1380,6 +1457,57 @@ DefaultOrderByNullType EnumUtil::FromString(const char * throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } +template<> +const char* EnumUtil::ToChars(DependencyEntryType value) { + switch(value) { + case DependencyEntryType::SUBJECT: + return "SUBJECT"; + case DependencyEntryType::DEPENDENT: + return "DEPENDENT"; + default: + throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); + } +} + +template<> +DependencyEntryType EnumUtil::FromString(const char *value) { + if (StringUtil::Equals(value, "SUBJECT")) { + return DependencyEntryType::SUBJECT; + } + if (StringUtil::Equals(value, "DEPENDENT")) { + return DependencyEntryType::DEPENDENT; + } + throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); +} + +template<> +const char* EnumUtil::ToChars(DeprecatedIndexType value) { + switch(value) { + case DeprecatedIndexType::INVALID: + return "INVALID"; + case DeprecatedIndexType::ART: + return "ART"; + case DeprecatedIndexType::EXTENSION: + return "EXTENSION"; + default: + throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); + } +} + +template<> +DeprecatedIndexType EnumUtil::FromString(const char *value) { + if (StringUtil::Equals(value, "INVALID")) { + return DeprecatedIndexType::INVALID; + } + if (StringUtil::Equals(value, "ART")) { + return DeprecatedIndexType::ART; + } + if (StringUtil::Equals(value, "EXTENSION")) { + return DeprecatedIndexType::EXTENSION; + } + throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); +} + template<> const char* EnumUtil::ToChars(DistinctType value) { switch(value) { @@ -1561,6 +1689,8 @@ const char* EnumUtil::ToChars(ExpressionClass value) { return "POSITIONAL_REFERENCE"; case ExpressionClass::BETWEEN: return "BETWEEN"; + case ExpressionClass::LAMBDA_REF: + return "LAMBDA_REF"; case ExpressionClass::BOUND_AGGREGATE: return "BOUND_AGGREGATE"; case ExpressionClass::BOUND_CASE: @@ -1663,6 +1793,9 @@ ExpressionClass EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "BETWEEN")) { return ExpressionClass::BETWEEN; } + if (StringUtil::Equals(value, "LAMBDA_REF")) { + return ExpressionClass::LAMBDA_REF; + } if (StringUtil::Equals(value, "BOUND_AGGREGATE")) { return ExpressionClass::BOUND_AGGREGATE; } @@ -1844,6 +1977,8 @@ const char* EnumUtil::ToChars(ExpressionType value) { return "FUNCTION_REF"; case ExpressionType::TABLE_REF: return "TABLE_REF"; + case ExpressionType::LAMBDA_REF: + return "LAMBDA_REF"; case ExpressionType::CAST: return "CAST"; case ExpressionType::BOUND_REF: @@ -2044,6 +2179,9 @@ ExpressionType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "TABLE_REF")) { return ExpressionType::TABLE_REF; } + if (StringUtil::Equals(value, "LAMBDA_REF")) { + return ExpressionType::LAMBDA_REF; + } if (StringUtil::Equals(value, "CAST")) { return ExpressionType::CAST; } @@ -2099,6 +2237,29 @@ ExtensionLoadResult EnumUtil::FromString(const char *value) throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } +template<> +const char* EnumUtil::ToChars(ExtraDropInfoType value) { + switch(value) { + case ExtraDropInfoType::INVALID: + return "INVALID"; + case ExtraDropInfoType::SECRET_INFO: + return "SECRET_INFO"; + default: + throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); + } +} + +template<> +ExtraDropInfoType EnumUtil::FromString(const char *value) { + if (StringUtil::Equals(value, "INVALID")) { + return ExtraDropInfoType::INVALID; + } + if (StringUtil::Equals(value, "SECRET_INFO")) { + return ExtraDropInfoType::SECRET_INFO; + } + throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); +} + template<> const char* EnumUtil::ToChars(ExtraTypeInfoType value) { switch(value) { @@ -2120,6 +2281,12 @@ const char* EnumUtil::ToChars(ExtraTypeInfoType value) { return "USER_TYPE_INFO"; case ExtraTypeInfoType::AGGREGATE_STATE_TYPE_INFO: return "AGGREGATE_STATE_TYPE_INFO"; + case ExtraTypeInfoType::ARRAY_TYPE_INFO: + return "ARRAY_TYPE_INFO"; + case ExtraTypeInfoType::ANY_TYPE_INFO: + return "ANY_TYPE_INFO"; + case ExtraTypeInfoType::INTEGER_LITERAL_TYPE_INFO: + return "INTEGER_LITERAL_TYPE_INFO"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -2154,6 +2321,15 @@ ExtraTypeInfoType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "AGGREGATE_STATE_TYPE_INFO")) { return ExtraTypeInfoType::AGGREGATE_STATE_TYPE_INFO; } + if (StringUtil::Equals(value, "ARRAY_TYPE_INFO")) { + return ExtraTypeInfoType::ARRAY_TYPE_INFO; + } + if (StringUtil::Equals(value, "ANY_TYPE_INFO")) { + return ExtraTypeInfoType::ANY_TYPE_INFO; + } + if (StringUtil::Equals(value, "INTEGER_LITERAL_TYPE_INFO")) { + return ExtraTypeInfoType::INTEGER_LITERAL_TYPE_INFO; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -2359,24 +2535,29 @@ FunctionNullHandling EnumUtil::FromString(const char *valu } template<> -const char* EnumUtil::ToChars(FunctionSideEffects value) { +const char* EnumUtil::ToChars(FunctionStability value) { switch(value) { - case FunctionSideEffects::NO_SIDE_EFFECTS: - return "NO_SIDE_EFFECTS"; - case FunctionSideEffects::HAS_SIDE_EFFECTS: - return "HAS_SIDE_EFFECTS"; + case FunctionStability::CONSISTENT: + return "CONSISTENT"; + case FunctionStability::VOLATILE: + return "VOLATILE"; + case FunctionStability::CONSISTENT_WITHIN_QUERY: + return "CONSISTENT_WITHIN_QUERY"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } } template<> -FunctionSideEffects EnumUtil::FromString(const char *value) { - if (StringUtil::Equals(value, "NO_SIDE_EFFECTS")) { - return FunctionSideEffects::NO_SIDE_EFFECTS; +FunctionStability EnumUtil::FromString(const char *value) { + if (StringUtil::Equals(value, "CONSISTENT")) { + return FunctionStability::CONSISTENT; + } + if (StringUtil::Equals(value, "VOLATILE")) { + return FunctionStability::VOLATILE; } - if (StringUtil::Equals(value, "HAS_SIDE_EFFECTS")) { - return FunctionSideEffects::HAS_SIDE_EFFECTS; + if (StringUtil::Equals(value, "CONSISTENT_WITHIN_QUERY")) { + return FunctionStability::CONSISTENT_WITHIN_QUERY; } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -2432,34 +2613,6 @@ IndexConstraintType EnumUtil::FromString(const char *value) throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } -template<> -const char* EnumUtil::ToChars(IndexType value) { - switch(value) { - case IndexType::INVALID: - return "INVALID"; - case IndexType::ART: - return "ART"; - case IndexType::EXTENSION: - return "EXTENSION"; - default: - throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); - } -} - -template<> -IndexType EnumUtil::FromString(const char *value) { - if (StringUtil::Equals(value, "INVALID")) { - return IndexType::INVALID; - } - if (StringUtil::Equals(value, "ART")) { - return IndexType::ART; - } - if (StringUtil::Equals(value, "EXTENSION")) { - return IndexType::EXTENSION; - } - throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); -} - template<> const char* EnumUtil::ToChars(InsertColumnOrder value) { switch(value) { @@ -2575,6 +2728,10 @@ const char* EnumUtil::ToChars(JoinType value) { return "MARK"; case JoinType::SINGLE: return "SINGLE"; + case JoinType::RIGHT_SEMI: + return "RIGHT_SEMI"; + case JoinType::RIGHT_ANTI: + return "RIGHT_ANTI"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -2609,6 +2766,12 @@ JoinType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "SINGLE")) { return JoinType::SINGLE; } + if (StringUtil::Equals(value, "RIGHT_SEMI")) { + return JoinType::RIGHT_SEMI; + } + if (StringUtil::Equals(value, "RIGHT_ANTI")) { + return JoinType::RIGHT_ANTI; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -2704,6 +2867,8 @@ const char* EnumUtil::ToChars(LogicalOperatorType value) { return "LOGICAL_LIMIT_PERCENT"; case LogicalOperatorType::LOGICAL_PIVOT: return "LOGICAL_PIVOT"; + case LogicalOperatorType::LOGICAL_COPY_DATABASE: + return "LOGICAL_COPY_DATABASE"; case LogicalOperatorType::LOGICAL_GET: return "LOGICAL_GET"; case LogicalOperatorType::LOGICAL_CHUNK_GET: @@ -2778,8 +2943,6 @@ const char* EnumUtil::ToChars(LogicalOperatorType value) { return "LOGICAL_DETACH"; case LogicalOperatorType::LOGICAL_EXPLAIN: return "LOGICAL_EXPLAIN"; - case LogicalOperatorType::LOGICAL_SHOW: - return "LOGICAL_SHOW"; case LogicalOperatorType::LOGICAL_PREPARE: return "LOGICAL_PREPARE"; case LogicalOperatorType::LOGICAL_EXECUTE: @@ -2794,6 +2957,8 @@ const char* EnumUtil::ToChars(LogicalOperatorType value) { return "LOGICAL_LOAD"; case LogicalOperatorType::LOGICAL_RESET: return "LOGICAL_RESET"; + case LogicalOperatorType::LOGICAL_CREATE_SECRET: + return "LOGICAL_CREATE_SECRET"; case LogicalOperatorType::LOGICAL_EXTENSION_OPERATOR: return "LOGICAL_EXTENSION_OPERATOR"; default: @@ -2845,6 +3010,9 @@ LogicalOperatorType EnumUtil::FromString(const char *value) if (StringUtil::Equals(value, "LOGICAL_PIVOT")) { return LogicalOperatorType::LOGICAL_PIVOT; } + if (StringUtil::Equals(value, "LOGICAL_COPY_DATABASE")) { + return LogicalOperatorType::LOGICAL_COPY_DATABASE; + } if (StringUtil::Equals(value, "LOGICAL_GET")) { return LogicalOperatorType::LOGICAL_GET; } @@ -2956,9 +3124,6 @@ LogicalOperatorType EnumUtil::FromString(const char *value) if (StringUtil::Equals(value, "LOGICAL_EXPLAIN")) { return LogicalOperatorType::LOGICAL_EXPLAIN; } - if (StringUtil::Equals(value, "LOGICAL_SHOW")) { - return LogicalOperatorType::LOGICAL_SHOW; - } if (StringUtil::Equals(value, "LOGICAL_PREPARE")) { return LogicalOperatorType::LOGICAL_PREPARE; } @@ -2980,6 +3145,9 @@ LogicalOperatorType EnumUtil::FromString(const char *value) if (StringUtil::Equals(value, "LOGICAL_RESET")) { return LogicalOperatorType::LOGICAL_RESET; } + if (StringUtil::Equals(value, "LOGICAL_CREATE_SECRET")) { + return LogicalOperatorType::LOGICAL_CREATE_SECRET; + } if (StringUtil::Equals(value, "LOGICAL_EXTENSION_OPERATOR")) { return LogicalOperatorType::LOGICAL_EXTENSION_OPERATOR; } @@ -3049,6 +3217,12 @@ const char* EnumUtil::ToChars(LogicalTypeId value) { return "TIME WITH TIME ZONE"; case LogicalTypeId::BIT: return "BIT"; + case LogicalTypeId::STRING_LITERAL: + return "STRING_LITERAL"; + case LogicalTypeId::INTEGER_LITERAL: + return "INTEGER_LITERAL"; + case LogicalTypeId::UHUGEINT: + return "UHUGEINT"; case LogicalTypeId::HUGEINT: return "HUGEINT"; case LogicalTypeId::POINTER: @@ -3073,6 +3247,8 @@ const char* EnumUtil::ToChars(LogicalTypeId value) { return "LAMBDA"; case LogicalTypeId::UNION: return "UNION"; + case LogicalTypeId::ARRAY: + return "ARRAY"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -3170,6 +3346,15 @@ LogicalTypeId EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "BIT")) { return LogicalTypeId::BIT; } + if (StringUtil::Equals(value, "STRING_LITERAL")) { + return LogicalTypeId::STRING_LITERAL; + } + if (StringUtil::Equals(value, "INTEGER_LITERAL")) { + return LogicalTypeId::INTEGER_LITERAL; + } + if (StringUtil::Equals(value, "UHUGEINT")) { + return LogicalTypeId::UHUGEINT; + } if (StringUtil::Equals(value, "HUGEINT")) { return LogicalTypeId::HUGEINT; } @@ -3206,6 +3391,9 @@ LogicalTypeId EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "UNION")) { return LogicalTypeId::UNION; } + if (StringUtil::Equals(value, "ARRAY")) { + return LogicalTypeId::ARRAY; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -3298,6 +3486,79 @@ MapInvalidReason EnumUtil::FromString(const char *value) { throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } +template<> +const char* EnumUtil::ToChars(MemoryTag value) { + switch(value) { + case MemoryTag::BASE_TABLE: + return "BASE_TABLE"; + case MemoryTag::HASH_TABLE: + return "HASH_TABLE"; + case MemoryTag::PARQUET_READER: + return "PARQUET_READER"; + case MemoryTag::CSV_READER: + return "CSV_READER"; + case MemoryTag::ORDER_BY: + return "ORDER_BY"; + case MemoryTag::ART_INDEX: + return "ART_INDEX"; + case MemoryTag::COLUMN_DATA: + return "COLUMN_DATA"; + case MemoryTag::METADATA: + return "METADATA"; + case MemoryTag::OVERFLOW_STRINGS: + return "OVERFLOW_STRINGS"; + case MemoryTag::IN_MEMORY_TABLE: + return "IN_MEMORY_TABLE"; + case MemoryTag::ALLOCATOR: + return "ALLOCATOR"; + case MemoryTag::EXTENSION: + return "EXTENSION"; + default: + throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); + } +} + +template<> +MemoryTag EnumUtil::FromString(const char *value) { + if (StringUtil::Equals(value, "BASE_TABLE")) { + return MemoryTag::BASE_TABLE; + } + if (StringUtil::Equals(value, "HASH_TABLE")) { + return MemoryTag::HASH_TABLE; + } + if (StringUtil::Equals(value, "PARQUET_READER")) { + return MemoryTag::PARQUET_READER; + } + if (StringUtil::Equals(value, "CSV_READER")) { + return MemoryTag::CSV_READER; + } + if (StringUtil::Equals(value, "ORDER_BY")) { + return MemoryTag::ORDER_BY; + } + if (StringUtil::Equals(value, "ART_INDEX")) { + return MemoryTag::ART_INDEX; + } + if (StringUtil::Equals(value, "COLUMN_DATA")) { + return MemoryTag::COLUMN_DATA; + } + if (StringUtil::Equals(value, "METADATA")) { + return MemoryTag::METADATA; + } + if (StringUtil::Equals(value, "OVERFLOW_STRINGS")) { + return MemoryTag::OVERFLOW_STRINGS; + } + if (StringUtil::Equals(value, "IN_MEMORY_TABLE")) { + return MemoryTag::IN_MEMORY_TABLE; + } + if (StringUtil::Equals(value, "ALLOCATOR")) { + return MemoryTag::ALLOCATOR; + } + if (StringUtil::Equals(value, "EXTENSION")) { + return MemoryTag::EXTENSION; + } + throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); +} + template<> const char* EnumUtil::ToChars(NType value) { switch(value) { @@ -3353,8 +3614,6 @@ const char* EnumUtil::ToChars(NewLineIdentifier value) { return "SINGLE"; case NewLineIdentifier::CARRY_ON: return "CARRY_ON"; - case NewLineIdentifier::MIX: - return "MIX"; case NewLineIdentifier::NOT_SET: return "NOT_SET"; default: @@ -3370,9 +3629,6 @@ NewLineIdentifier EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "CARRY_ON")) { return NewLineIdentifier::CARRY_ON; } - if (StringUtil::Equals(value, "MIX")) { - return NewLineIdentifier::MIX; - } if (StringUtil::Equals(value, "NOT_SET")) { return NewLineIdentifier::NOT_SET; } @@ -3864,6 +4120,8 @@ const char* EnumUtil::ToChars(ParseInfoType value) { return "COPY_INFO"; case ParseInfoType::CREATE_INFO: return "CREATE_INFO"; + case ParseInfoType::CREATE_SECRET_INFO: + return "CREATE_SECRET_INFO"; case ParseInfoType::DETACH_INFO: return "DETACH_INFO"; case ParseInfoType::DROP_INFO: @@ -3880,6 +4138,8 @@ const char* EnumUtil::ToChars(ParseInfoType value) { return "TRANSACTION_INFO"; case ParseInfoType::VACUUM_INFO: return "VACUUM_INFO"; + case ParseInfoType::COMMENT_ON_INFO: + return "COMMENT_ON_INFO"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -3899,6 +4159,9 @@ ParseInfoType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "CREATE_INFO")) { return ParseInfoType::CREATE_INFO; } + if (StringUtil::Equals(value, "CREATE_SECRET_INFO")) { + return ParseInfoType::CREATE_SECRET_INFO; + } if (StringUtil::Equals(value, "DETACH_INFO")) { return ParseInfoType::DETACH_INFO; } @@ -3923,6 +4186,9 @@ ParseInfoType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "VACUUM_INFO")) { return ParseInfoType::VACUUM_INFO; } + if (StringUtil::Equals(value, "COMMENT_ON_INFO")) { + return ParseInfoType::COMMENT_ON_INFO; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -3954,34 +4220,6 @@ ParserExtensionResultType EnumUtil::FromString(const throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } -template<> -const char* EnumUtil::ToChars(ParserMode value) { - switch(value) { - case ParserMode::PARSING: - return "PARSING"; - case ParserMode::SNIFFING_DATATYPES: - return "SNIFFING_DATATYPES"; - case ParserMode::PARSING_HEADER: - return "PARSING_HEADER"; - default: - throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); - } -} - -template<> -ParserMode EnumUtil::FromString(const char *value) { - if (StringUtil::Equals(value, "PARSING")) { - return ParserMode::PARSING; - } - if (StringUtil::Equals(value, "SNIFFING_DATATYPES")) { - return ParserMode::SNIFFING_DATATYPES; - } - if (StringUtil::Equals(value, "PARSING_HEADER")) { - return ParserMode::PARSING_HEADER; - } - throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); -} - template<> const char* EnumUtil::ToChars(PartitionSortStage value) { switch(value) { @@ -4080,6 +4318,8 @@ const char* EnumUtil::ToChars(PendingExecutionResult val return "RESULT_NOT_READY"; case PendingExecutionResult::EXECUTION_ERROR: return "EXECUTION_ERROR"; + case PendingExecutionResult::BLOCKED: + return "BLOCKED"; case PendingExecutionResult::NO_TASKS_AVAILABLE: return "NO_TASKS_AVAILABLE"; default: @@ -4098,6 +4338,9 @@ PendingExecutionResult EnumUtil::FromString(const char * if (StringUtil::Equals(value, "EXECUTION_ERROR")) { return PendingExecutionResult::EXECUTION_ERROR; } + if (StringUtil::Equals(value, "BLOCKED")) { + return PendingExecutionResult::BLOCKED; + } if (StringUtil::Equals(value, "NO_TASKS_AVAILABLE")) { return PendingExecutionResult::NO_TASKS_AVAILABLE; } @@ -4147,6 +4390,8 @@ const char* EnumUtil::ToChars(PhysicalOperatorType value) return "STREAMING_WINDOW"; case PhysicalOperatorType::PIVOT: return "PIVOT"; + case PhysicalOperatorType::COPY_DATABASE: + return "COPY_DATABASE"; case PhysicalOperatorType::TABLE_SCAN: return "TABLE_SCAN"; case PhysicalOperatorType::DUMMY_SCAN: @@ -4177,10 +4422,10 @@ const char* EnumUtil::ToChars(PhysicalOperatorType value) return "PIECEWISE_MERGE_JOIN"; case PhysicalOperatorType::IE_JOIN: return "IE_JOIN"; - case PhysicalOperatorType::DELIM_JOIN: - return "DELIM_JOIN"; - case PhysicalOperatorType::INDEX_JOIN: - return "INDEX_JOIN"; + case PhysicalOperatorType::LEFT_DELIM_JOIN: + return "LEFT_DELIM_JOIN"; + case PhysicalOperatorType::RIGHT_DELIM_JOIN: + return "RIGHT_DELIM_JOIN"; case PhysicalOperatorType::POSITIONAL_JOIN: return "POSITIONAL_JOIN"; case PhysicalOperatorType::ASOF_JOIN: @@ -4255,6 +4500,8 @@ const char* EnumUtil::ToChars(PhysicalOperatorType value) return "RESET"; case PhysicalOperatorType::EXTENSION: return "EXTENSION"; + case PhysicalOperatorType::CREATE_SECRET: + return "CREATE_SECRET"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -4322,6 +4569,9 @@ PhysicalOperatorType EnumUtil::FromString(const char *valu if (StringUtil::Equals(value, "PIVOT")) { return PhysicalOperatorType::PIVOT; } + if (StringUtil::Equals(value, "COPY_DATABASE")) { + return PhysicalOperatorType::COPY_DATABASE; + } if (StringUtil::Equals(value, "TABLE_SCAN")) { return PhysicalOperatorType::TABLE_SCAN; } @@ -4367,11 +4617,11 @@ PhysicalOperatorType EnumUtil::FromString(const char *valu if (StringUtil::Equals(value, "IE_JOIN")) { return PhysicalOperatorType::IE_JOIN; } - if (StringUtil::Equals(value, "DELIM_JOIN")) { - return PhysicalOperatorType::DELIM_JOIN; + if (StringUtil::Equals(value, "LEFT_DELIM_JOIN")) { + return PhysicalOperatorType::LEFT_DELIM_JOIN; } - if (StringUtil::Equals(value, "INDEX_JOIN")) { - return PhysicalOperatorType::INDEX_JOIN; + if (StringUtil::Equals(value, "RIGHT_DELIM_JOIN")) { + return PhysicalOperatorType::RIGHT_DELIM_JOIN; } if (StringUtil::Equals(value, "POSITIONAL_JOIN")) { return PhysicalOperatorType::POSITIONAL_JOIN; @@ -4484,6 +4734,9 @@ PhysicalOperatorType EnumUtil::FromString(const char *valu if (StringUtil::Equals(value, "EXTENSION")) { return PhysicalOperatorType::EXTENSION; } + if (StringUtil::Equals(value, "CREATE_SECRET")) { + return PhysicalOperatorType::CREATE_SECRET; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -4518,8 +4771,12 @@ const char* EnumUtil::ToChars(PhysicalType value) { return "LIST"; case PhysicalType::STRUCT: return "STRUCT"; + case PhysicalType::ARRAY: + return "ARRAY"; case PhysicalType::VARCHAR: return "VARCHAR"; + case PhysicalType::UINT128: + return "UINT128"; case PhysicalType::INT128: return "INT128"; case PhysicalType::UNKNOWN: @@ -4577,9 +4834,15 @@ PhysicalType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "STRUCT")) { return PhysicalType::STRUCT; } + if (StringUtil::Equals(value, "ARRAY")) { + return PhysicalType::ARRAY; + } if (StringUtil::Equals(value, "VARCHAR")) { return PhysicalType::VARCHAR; } + if (StringUtil::Equals(value, "UINT128")) { + return PhysicalType::UINT128; + } if (StringUtil::Equals(value, "INT128")) { return PhysicalType::INT128; } @@ -5033,6 +5296,57 @@ SampleMethod EnumUtil::FromString(const char *value) { throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } +template<> +const char* EnumUtil::ToChars(SecretDisplayType value) { + switch(value) { + case SecretDisplayType::REDACTED: + return "REDACTED"; + case SecretDisplayType::UNREDACTED: + return "UNREDACTED"; + default: + throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); + } +} + +template<> +SecretDisplayType EnumUtil::FromString(const char *value) { + if (StringUtil::Equals(value, "REDACTED")) { + return SecretDisplayType::REDACTED; + } + if (StringUtil::Equals(value, "UNREDACTED")) { + return SecretDisplayType::UNREDACTED; + } + throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); +} + +template<> +const char* EnumUtil::ToChars(SecretPersistType value) { + switch(value) { + case SecretPersistType::DEFAULT: + return "DEFAULT"; + case SecretPersistType::TEMPORARY: + return "TEMPORARY"; + case SecretPersistType::PERSISTENT: + return "PERSISTENT"; + default: + throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); + } +} + +template<> +SecretPersistType EnumUtil::FromString(const char *value) { + if (StringUtil::Equals(value, "DEFAULT")) { + return SecretPersistType::DEFAULT; + } + if (StringUtil::Equals(value, "TEMPORARY")) { + return SecretPersistType::TEMPORARY; + } + if (StringUtil::Equals(value, "PERSISTENT")) { + return SecretPersistType::PERSISTENT; + } + throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); +} + template<> const char* EnumUtil::ToChars(SequenceInfo value) { switch(value) { @@ -5170,6 +5484,29 @@ SetType EnumUtil::FromString(const char *value) { throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } +template<> +const char* EnumUtil::ToChars(ShowType value) { + switch(value) { + case ShowType::SUMMARY: + return "SUMMARY"; + case ShowType::DESCRIBE: + return "DESCRIBE"; + default: + throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); + } +} + +template<> +ShowType EnumUtil::FromString(const char *value) { + if (StringUtil::Equals(value, "SUMMARY")) { + return ShowType::SUMMARY; + } + if (StringUtil::Equals(value, "DESCRIBE")) { + return ShowType::DESCRIBE; + } + throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); +} + template<> const char* EnumUtil::ToChars(SimplifiedTokenType value) { switch(value) { @@ -5410,8 +5747,6 @@ const char* EnumUtil::ToChars(StatementType value) { return "EXPORT_STATEMENT"; case StatementType::PRAGMA_STATEMENT: return "PRAGMA_STATEMENT"; - case StatementType::SHOW_STATEMENT: - return "SHOW_STATEMENT"; case StatementType::VACUUM_STATEMENT: return "VACUUM_STATEMENT"; case StatementType::CALL_STATEMENT: @@ -5432,6 +5767,8 @@ const char* EnumUtil::ToChars(StatementType value) { return "DETACH_STATEMENT"; case StatementType::MULTI_STATEMENT: return "MULTI_STATEMENT"; + case StatementType::COPY_DATABASE_STATEMENT: + return "COPY_DATABASE_STATEMENT"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -5493,9 +5830,6 @@ StatementType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "PRAGMA_STATEMENT")) { return StatementType::PRAGMA_STATEMENT; } - if (StringUtil::Equals(value, "SHOW_STATEMENT")) { - return StatementType::SHOW_STATEMENT; - } if (StringUtil::Equals(value, "VACUUM_STATEMENT")) { return StatementType::VACUUM_STATEMENT; } @@ -5526,6 +5860,9 @@ StatementType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "MULTI_STATEMENT")) { return StatementType::MULTI_STATEMENT; } + if (StringUtil::Equals(value, "COPY_DATABASE_STATEMENT")) { + return StatementType::COPY_DATABASE_STATEMENT; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -5542,6 +5879,8 @@ const char* EnumUtil::ToChars(StatisticsType value) { return "STRUCT_STATS"; case StatisticsType::BASE_STATS: return "BASE_STATS"; + case StatisticsType::ARRAY_STATS: + return "ARRAY_STATS"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -5564,6 +5903,9 @@ StatisticsType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "BASE_STATS")) { return StatisticsType::BASE_STATS; } + if (StringUtil::Equals(value, "ARRAY_STATS")) { + return StatisticsType::ARRAY_STATS; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -5674,6 +6016,12 @@ const char* EnumUtil::ToChars(StrTimeSpecifier value) { return "LOCALE_APPROPRIATE_TIME"; case StrTimeSpecifier::NANOSECOND_PADDED: return "NANOSECOND_PADDED"; + case StrTimeSpecifier::YEAR_ISO: + return "YEAR_ISO"; + case StrTimeSpecifier::WEEKDAY_ISO: + return "WEEKDAY_ISO"; + case StrTimeSpecifier::WEEK_NUMBER_ISO: + return "WEEK_NUMBER_ISO"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -5780,6 +6128,15 @@ StrTimeSpecifier EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "NANOSECOND_PADDED")) { return StrTimeSpecifier::NANOSECOND_PADDED; } + if (StringUtil::Equals(value, "YEAR_ISO")) { + return StrTimeSpecifier::YEAR_ISO; + } + if (StringUtil::Equals(value, "WEEKDAY_ISO")) { + return StrTimeSpecifier::WEEKDAY_ISO; + } + if (StringUtil::Equals(value, "WEEK_NUMBER_ISO")) { + return StrTimeSpecifier::WEEK_NUMBER_ISO; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -5857,6 +6214,8 @@ const char* EnumUtil::ToChars(TableFilterType value) { return "CONJUNCTION_OR"; case TableFilterType::CONJUNCTION_AND: return "CONJUNCTION_AND"; + case TableFilterType::STRUCT_EXTRACT: + return "STRUCT_EXTRACT"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -5879,6 +6238,9 @@ TableFilterType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "CONJUNCTION_AND")) { return TableFilterType::CONJUNCTION_AND; } + if (StringUtil::Equals(value, "STRUCT_EXTRACT")) { + return TableFilterType::STRUCT_EXTRACT; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -5899,10 +6261,12 @@ const char* EnumUtil::ToChars(TableReferenceType value) { return "EXPRESSION_LIST"; case TableReferenceType::CTE: return "CTE"; - case TableReferenceType::EMPTY: + case TableReferenceType::EMPTY_FROM: return "EMPTY"; case TableReferenceType::PIVOT: return "PIVOT"; + case TableReferenceType::SHOW_REF: + return "SHOW_REF"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -5932,11 +6296,14 @@ TableReferenceType EnumUtil::FromString(const char *value) { return TableReferenceType::CTE; } if (StringUtil::Equals(value, "EMPTY")) { - return TableReferenceType::EMPTY; + return TableReferenceType::EMPTY_FROM; } if (StringUtil::Equals(value, "PIVOT")) { return TableReferenceType::PIVOT; } + if (StringUtil::Equals(value, "SHOW_REF")) { + return TableReferenceType::SHOW_REF; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -6248,6 +6615,8 @@ const char* EnumUtil::ToChars(VectorBufferType value) { return "MANAGED_BUFFER"; case VectorBufferType::OPAQUE_BUFFER: return "OPAQUE_BUFFER"; + case VectorBufferType::ARRAY_BUFFER: + return "ARRAY_BUFFER"; default: throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); } @@ -6282,6 +6651,9 @@ VectorBufferType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "OPAQUE_BUFFER")) { return VectorBufferType::OPAQUE_BUFFER; } + if (StringUtil::Equals(value, "ARRAY_BUFFER")) { + return VectorBufferType::ARRAY_BUFFER; + } throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } @@ -6342,6 +6714,8 @@ const char* EnumUtil::ToChars(VerificationType value) { return "PREPARED"; case VerificationType::EXTERNAL: return "EXTERNAL"; + case VerificationType::FETCH_ROW_AS_SCAN: + return "FETCH_ROW_AS_SCAN"; case VerificationType::INVALID: return "INVALID"; default: @@ -6375,6 +6749,9 @@ VerificationType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "EXTERNAL")) { return VerificationType::EXTERNAL; } + if (StringUtil::Equals(value, "FETCH_ROW_AS_SCAN")) { + return VerificationType::FETCH_ROW_AS_SCAN; + } if (StringUtil::Equals(value, "INVALID")) { return VerificationType::INVALID; } @@ -6458,6 +6835,8 @@ const char* EnumUtil::ToChars(WALType value) { return "DELETE_TUPLE"; case WALType::UPDATE_TUPLE: return "UPDATE_TUPLE"; + case WALType::WAL_VERSION: + return "WAL_VERSION"; case WALType::CHECKPOINT: return "CHECKPOINT"; case WALType::WAL_FLUSH: @@ -6538,6 +6917,9 @@ WALType EnumUtil::FromString(const char *value) { if (StringUtil::Equals(value, "UPDATE_TUPLE")) { return WALType::UPDATE_TUPLE; } + if (StringUtil::Equals(value, "WAL_VERSION")) { + return WALType::WAL_VERSION; + } if (StringUtil::Equals(value, "CHECKPOINT")) { return WALType::CHECKPOINT; } @@ -6633,5 +7015,38 @@ WindowBoundary EnumUtil::FromString(const char *value) { throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); } +template<> +const char* EnumUtil::ToChars(WindowExcludeMode value) { + switch(value) { + case WindowExcludeMode::NO_OTHER: + return "NO_OTHER"; + case WindowExcludeMode::CURRENT_ROW: + return "CURRENT_ROW"; + case WindowExcludeMode::GROUP: + return "GROUP"; + case WindowExcludeMode::TIES: + return "TIES"; + default: + throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value)); + } +} + +template<> +WindowExcludeMode EnumUtil::FromString(const char *value) { + if (StringUtil::Equals(value, "NO_OTHER")) { + return WindowExcludeMode::NO_OTHER; + } + if (StringUtil::Equals(value, "CURRENT_ROW")) { + return WindowExcludeMode::CURRENT_ROW; + } + if (StringUtil::Equals(value, "GROUP")) { + return WindowExcludeMode::GROUP; + } + if (StringUtil::Equals(value, "TIES")) { + return WindowExcludeMode::TIES; + } + throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value)); +} + } diff --git a/src/common/enums/catalog_type.cpp b/src/common/enums/catalog_type.cpp index 0f7ea053fe19..55dbcb41aea8 100644 --- a/src/common/enums/catalog_type.cpp +++ b/src/common/enums/catalog_type.cpp @@ -39,13 +39,76 @@ string CatalogTypeToString(CatalogType type) { return "Prepared Statement"; case CatalogType::SEQUENCE_ENTRY: return "Sequence"; + case CatalogType::SECRET_ENTRY: + return "Secret"; + case CatalogType::SECRET_TYPE_ENTRY: + return "Secret Type"; + case CatalogType::SECRET_FUNCTION_ENTRY: + return "Secret Function"; case CatalogType::INVALID: case CatalogType::DELETED_ENTRY: - case CatalogType::UPDATED_ENTRY: + case CatalogType::RENAMED_ENTRY: + case CatalogType::DEPENDENCY_ENTRY: break; } return "INVALID"; } + +CatalogType CatalogTypeFromString(const string &type) { + if (type == "Collation") { + return CatalogType::COLLATION_ENTRY; + } + if (type == "Type") { + return CatalogType::TYPE_ENTRY; + } + if (type == "Table") { + return CatalogType::TABLE_ENTRY; + } + if (type == "Schema") { + return CatalogType::SCHEMA_ENTRY; + } + if (type == "Database") { + return CatalogType::DATABASE_ENTRY; + } + if (type == "Table Function") { + return CatalogType::TABLE_FUNCTION_ENTRY; + } + if (type == "Scalar Function") { + return CatalogType::SCALAR_FUNCTION_ENTRY; + } + if (type == "Aggregate Function") { + return CatalogType::AGGREGATE_FUNCTION_ENTRY; + } + if (type == "Copy Function") { + return CatalogType::COPY_FUNCTION_ENTRY; + } + if (type == "Pragma Function") { + return CatalogType::PRAGMA_FUNCTION_ENTRY; + } + if (type == "Macro Function") { + return CatalogType::MACRO_ENTRY; + } + if (type == "Table Macro Function") { + return CatalogType::TABLE_MACRO_ENTRY; + } + if (type == "View") { + return CatalogType::VIEW_ENTRY; + } + if (type == "Index") { + return CatalogType::INDEX_ENTRY; + } + if (type == "Prepared Statement") { + return CatalogType::PREPARED_STATEMENT; + } + if (type == "Sequence") { + return CatalogType::SEQUENCE_ENTRY; + } + if (type == "INVALID") { + return CatalogType::INVALID; + } + throw InternalException("Unrecognized CatalogType '%s'", type); +} + // LCOV_EXCL_STOP } // namespace duckdb diff --git a/src/common/enums/compression_type.cpp b/src/common/enums/compression_type.cpp index 267c2253e074..3b9930cfaecc 100644 --- a/src/common/enums/compression_type.cpp +++ b/src/common/enums/compression_type.cpp @@ -16,6 +16,12 @@ vector ListCompressionTypes(void) { return compression_types; } +bool CompressionTypeIsDeprecated(CompressionType compression_type) { + const bool is_patas = compression_type == CompressionType::COMPRESSION_PATAS; + const bool is_chimp = compression_type == CompressionType::COMPRESSION_CHIMP; + return (is_patas || is_chimp); +} + CompressionType CompressionTypeFromString(const string &str) { auto compression = StringUtil::Lower(str); if (compression == "uncompressed") { @@ -34,6 +40,10 @@ CompressionType CompressionTypeFromString(const string &str) { return CompressionType::COMPRESSION_CHIMP; } else if (compression == "patas") { return CompressionType::COMPRESSION_PATAS; + } else if (compression == "alp") { + return CompressionType::COMPRESSION_ALP; + } else if (compression == "alprd") { + return CompressionType::COMPRESSION_ALPRD; } else { return CompressionType::COMPRESSION_AUTO; } @@ -61,6 +71,10 @@ string CompressionTypeToString(CompressionType type) { return "Chimp"; case CompressionType::COMPRESSION_PATAS: return "Patas"; + case CompressionType::COMPRESSION_ALP: + return "ALP"; + case CompressionType::COMPRESSION_ALPRD: + return "ALPRD"; default: throw InternalException("Unrecognized compression type!"); } diff --git a/src/common/enums/date_part_specifier.cpp b/src/common/enums/date_part_specifier.cpp index 4a633a51515e..032a821659b5 100644 --- a/src/common/enums/date_part_specifier.cpp +++ b/src/common/enums/date_part_specifier.cpp @@ -1,5 +1,6 @@ #include "duckdb/common/enums/date_part_specifier.hpp" #include "duckdb/common/string_util.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" namespace duckdb { diff --git a/src/common/enums/expression_type.cpp b/src/common/enums/expression_type.cpp index f6755c3cb3cb..c017b5059a4b 100644 --- a/src/common/enums/expression_type.cpp +++ b/src/common/enums/expression_type.cpp @@ -99,6 +99,8 @@ string ExpressionTypeToString(ExpressionType type) { return "PLACEHOLDER"; case ExpressionType::COLUMN_REF: return "COLUMN_REF"; + case ExpressionType::LAMBDA_REF: + return "LAMBDA_REF"; case ExpressionType::FUNCTION_REF: return "FUNCTION_REF"; case ExpressionType::TABLE_REF: @@ -156,6 +158,8 @@ string ExpressionClassToString(ExpressionClass type) { return "CAST"; case ExpressionClass::COLUMN_REF: return "COLUMN_REF"; + case ExpressionClass::LAMBDA_REF: + return "LAMBDA_REF"; case ExpressionClass::COMPARISON: return "COMPARISON"; case ExpressionClass::CONJUNCTION: diff --git a/src/common/enums/file_compression_type.cpp b/src/common/enums/file_compression_type.cpp index c3c790d23bac..5df6add19cb3 100644 --- a/src/common/enums/file_compression_type.cpp +++ b/src/common/enums/file_compression_type.cpp @@ -1,5 +1,6 @@ #include "duckdb/common/enums/file_compression_type.hpp" #include "duckdb/common/string_util.hpp" +#include "duckdb/common/exception/parser_exception.hpp" namespace duckdb { diff --git a/src/common/enums/join_type.cpp b/src/common/enums/join_type.cpp index f9112794dbb4..6bfe54892724 100644 --- a/src/common/enums/join_type.cpp +++ b/src/common/enums/join_type.cpp @@ -11,6 +11,39 @@ bool IsRightOuterJoin(JoinType type) { return type == JoinType::OUTER || type == JoinType::RIGHT; } +bool PropagatesBuildSide(JoinType type) { + return type == JoinType::OUTER || type == JoinType::RIGHT || type == JoinType::RIGHT_ANTI || + type == JoinType::RIGHT_SEMI; +} + +bool HasInverseJoinType(JoinType type) { + return type != JoinType::SINGLE && type != JoinType::MARK; +} + +JoinType InverseJoinType(JoinType type) { + D_ASSERT(HasInverseJoinType(type)); + switch (type) { + case JoinType::LEFT: + return JoinType::RIGHT; + case JoinType::RIGHT: + return JoinType::LEFT; + case JoinType::INNER: + return JoinType::INNER; + case JoinType::OUTER: + return JoinType::OUTER; + case JoinType::SEMI: + return JoinType::RIGHT_SEMI; + case JoinType::ANTI: + return JoinType::RIGHT_ANTI; + case JoinType::RIGHT_SEMI: + return JoinType::SEMI; + case JoinType::RIGHT_ANTI: + return JoinType::ANTI; + default: + throw NotImplementedException("InverseJoinType for JoinType::%s", EnumUtil::ToString(type)); + } +} + // **DEPRECATED**: Use EnumUtil directly instead. string JoinTypeToString(JoinType type) { return EnumUtil::ToString(type); diff --git a/src/common/enums/logical_operator_type.cpp b/src/common/enums/logical_operator_type.cpp index a941343a22ec..495bf59d516e 100644 --- a/src/common/enums/logical_operator_type.cpp +++ b/src/common/enums/logical_operator_type.cpp @@ -50,6 +50,8 @@ string LogicalOperatorToString(LogicalOperatorType type) { return "LIMIT_PERCENT"; case LogicalOperatorType::LOGICAL_COPY_TO_FILE: return "COPY_TO_FILE"; + case LogicalOperatorType::LOGICAL_COPY_DATABASE: + return "COPY_DATABASE"; case LogicalOperatorType::LOGICAL_JOIN: return "JOIN"; case LogicalOperatorType::LOGICAL_CROSS_PRODUCT: @@ -92,8 +94,6 @@ string LogicalOperatorToString(LogicalOperatorType type) { return "CTE"; case LogicalOperatorType::LOGICAL_CTE_REF: return "CTE_SCAN"; - case LogicalOperatorType::LOGICAL_SHOW: - return "SHOW"; case LogicalOperatorType::LOGICAL_ALTER: return "ALTER"; case LogicalOperatorType::LOGICAL_CREATE_SEQUENCE: @@ -104,10 +104,12 @@ string LogicalOperatorToString(LogicalOperatorType type) { return "CREATE_VIEW"; case LogicalOperatorType::LOGICAL_CREATE_SCHEMA: return "CREATE_SCHEMA"; + case LogicalOperatorType::LOGICAL_CREATE_SECRET: + return "CREATE_SECRET"; case LogicalOperatorType::LOGICAL_ATTACH: return "ATTACH"; case LogicalOperatorType::LOGICAL_DETACH: - return "ATTACH"; + return "DETACH"; case LogicalOperatorType::LOGICAL_DROP: return "DROP"; case LogicalOperatorType::LOGICAL_PRAGMA: diff --git a/src/common/enums/optimizer_type.cpp b/src/common/enums/optimizer_type.cpp index 480e9eb51a95..828d7eac8db6 100644 --- a/src/common/enums/optimizer_type.cpp +++ b/src/common/enums/optimizer_type.cpp @@ -1,6 +1,6 @@ #include "duckdb/common/enums/optimizer_type.hpp" #include "duckdb/common/string_util.hpp" - +#include "duckdb/common/exception/parser_exception.hpp" #include "duckdb/common/exception.hpp" namespace duckdb { @@ -40,6 +40,14 @@ string OptimizerTypeToString(OptimizerType type) { throw InternalException("Invalid optimizer type"); } +vector ListAllOptimizers() { + vector result; + for (idx_t i = 0; internal_optimizer_types[i].name; i++) { + result.push_back(internal_optimizer_types[i].name); + } + return result; +} + OptimizerType OptimizerTypeFromString(const string &str) { for (idx_t i = 0; internal_optimizer_types[i].name; i++) { if (internal_optimizer_types[i].name == str) { diff --git a/src/common/enums/physical_operator_type.cpp b/src/common/enums/physical_operator_type.cpp index e07942d1ee42..54b6fc7acb5b 100644 --- a/src/common/enums/physical_operator_type.cpp +++ b/src/common/enums/physical_operator_type.cpp @@ -51,16 +51,16 @@ string PhysicalOperatorToString(PhysicalOperatorType type) { return "BATCH_COPY_TO_FILE"; case PhysicalOperatorType::FIXED_BATCH_COPY_TO_FILE: return "FIXED_BATCH_COPY_TO_FILE"; - case PhysicalOperatorType::DELIM_JOIN: - return "DELIM_JOIN"; + case PhysicalOperatorType::LEFT_DELIM_JOIN: + return "LEFT_DELIM_JOIN"; + case PhysicalOperatorType::RIGHT_DELIM_JOIN: + return "RIGHT_DELIM_JOIN"; case PhysicalOperatorType::BLOCKWISE_NL_JOIN: return "BLOCKWISE_NL_JOIN"; case PhysicalOperatorType::NESTED_LOOP_JOIN: return "NESTED_LOOP_JOIN"; case PhysicalOperatorType::HASH_JOIN: return "HASH_JOIN"; - case PhysicalOperatorType::INDEX_JOIN: - return "INDEX_JOIN"; case PhysicalOperatorType::PIECEWISE_MERGE_JOIN: return "PIECEWISE_MERGE_JOIN"; case PhysicalOperatorType::IE_JOIN: @@ -121,6 +121,8 @@ string PhysicalOperatorToString(PhysicalOperatorType type) { return "CREATE_SCHEMA"; case PhysicalOperatorType::CREATE_MACRO: return "CREATE_MACRO"; + case PhysicalOperatorType::CREATE_SECRET: + return "CREATE_SECRET"; case PhysicalOperatorType::DROP: return "DROP"; case PhysicalOperatorType::PRAGMA: @@ -151,6 +153,8 @@ string PhysicalOperatorToString(PhysicalOperatorType type) { return "EXTENSION"; case PhysicalOperatorType::PIVOT: return "PIVOT"; + case PhysicalOperatorType::COPY_DATABASE: + return "COPY_DATABASE"; case PhysicalOperatorType::INVALID: break; } diff --git a/src/common/enums/statement_type.cpp b/src/common/enums/statement_type.cpp index c3a486583579..eddee179e557 100644 --- a/src/common/enums/statement_type.cpp +++ b/src/common/enums/statement_type.cpp @@ -23,6 +23,8 @@ string StatementTypeToString(StatementType type) { return "TRANSACTION"; case StatementType::COPY_STATEMENT: return "COPY"; + case StatementType::COPY_DATABASE_STATEMENT: + return "COPY_DATABASE"; case StatementType::ANALYZE_STATEMENT: return "ANALYZE"; case StatementType::VARIABLE_SET_STATEMENT: @@ -37,8 +39,6 @@ string StatementTypeToString(StatementType type) { return "DROP"; case StatementType::PRAGMA_STATEMENT: return "PRAGMA"; - case StatementType::SHOW_STATEMENT: - return "SHOW"; case StatementType::VACUUM_STATEMENT: return "VACUUM"; case StatementType::RELATION_STATEMENT: diff --git a/src/common/error_data.cpp b/src/common/error_data.cpp new file mode 100644 index 000000000000..add9a273dab8 --- /dev/null +++ b/src/common/error_data.cpp @@ -0,0 +1,113 @@ +#include "duckdb/common/error_data.hpp" +#include "duckdb/common/exception.hpp" + +#include "duckdb/common/string_util.hpp" +#include "duckdb/common/to_string.hpp" +#include "duckdb/common/types.hpp" +#include "duckdb/parser/parsed_expression.hpp" +#include "duckdb/parser/query_error_context.hpp" +#include "duckdb/parser/tableref.hpp" + +namespace duckdb { + +ErrorData::ErrorData() : initialized(false), type(ExceptionType::INVALID) { +} + +ErrorData::ErrorData(const std::exception &ex) : ErrorData(ex.what()) { +} + +ErrorData::ErrorData(ExceptionType type, const string &message) + : initialized(true), type(type), raw_message(SanitizeErrorMessage(message)) { +} + +ErrorData::ErrorData(const string &message) : initialized(true), type(ExceptionType::INVALID), raw_message(string()) { + + // parse the constructed JSON + if (message.empty() || message[0] != '{') { + // not JSON! Use the message as a raw Exception message and leave type as uninitialized + raw_message = message; + return; + } else { + auto info = StringUtil::ParseJSONMap(message); + for (auto &entry : info) { + if (entry.first == "exception_type") { + type = Exception::StringToExceptionType(entry.second); + } else if (entry.first == "exception_message") { + raw_message = SanitizeErrorMessage(entry.second); + } else { + extra_info[entry.first] = entry.second; + } + } + } +} + +const string &ErrorData::Message() { + if (final_message.empty()) { + final_message = Exception::ExceptionTypeToString(type) + " Error: " + raw_message; + } + return final_message; +} + +string ErrorData::SanitizeErrorMessage(string error) { + return StringUtil::Replace(std::move(error), string("\0", 1), "\\0"); +} + +void ErrorData::Throw(const string &prepended_message) const { + D_ASSERT(initialized); + if (!prepended_message.empty()) { + string new_message = prepended_message + raw_message; + throw Exception(type, new_message, extra_info); + } else { + throw Exception(type, raw_message, extra_info); + } +} + +const ExceptionType &ErrorData::Type() const { + D_ASSERT(initialized); + return this->type; +} + +bool ErrorData::operator==(const ErrorData &other) const { + if (initialized != other.initialized) { + return false; + } + if (type != other.type) { + return false; + } + return raw_message == other.raw_message; +} + +void ErrorData::ConvertErrorToJSON() { + if (raw_message.empty() || raw_message[0] == '{') { + // empty or already JSON + return; + } + raw_message = StringUtil::ToJSONMap(type, raw_message, extra_info); + final_message = raw_message; +} + +void ErrorData::AddErrorLocation(const string &query) { + auto entry = extra_info.find("position"); + if (entry == extra_info.end()) { + return; + } + raw_message = QueryErrorContext::Format(query, raw_message, std::stoull(entry->second)); +} + +void ErrorData::AddQueryLocation(optional_idx query_location) { + Exception::SetQueryLocation(query_location, extra_info); +} + +void ErrorData::AddQueryLocation(QueryErrorContext error_context) { + AddQueryLocation(error_context.query_location); +} + +void ErrorData::AddQueryLocation(const ParsedExpression &ref) { + AddQueryLocation(ref.query_location); +} + +void ErrorData::AddQueryLocation(const TableRef &ref) { + AddQueryLocation(ref.query_location); +} + +} // namespace duckdb diff --git a/src/common/exception.cpp b/src/common/exception.cpp index 882d47dffe4d..8de09b8472ed 100644 --- a/src/common/exception.cpp +++ b/src/common/exception.cpp @@ -2,6 +2,9 @@ #include "duckdb/common/string_util.hpp" #include "duckdb/common/to_string.hpp" #include "duckdb/common/types.hpp" +#include "duckdb/common/exception/list.hpp" +#include "duckdb/parser/tableref.hpp" +#include "duckdb/planner/expression.hpp" #ifdef DUCKDB_CRASH_ON_ASSERT #include "duckdb/common/printer.hpp" @@ -14,21 +17,28 @@ namespace duckdb { -Exception::Exception(const string &msg) : std::exception(), type(ExceptionType::INVALID), raw_message_(msg) { - exception_message_ = msg; +Exception::Exception(ExceptionType exception_type, const string &message) + : std::runtime_error(ToJSON(exception_type, message)) { } -Exception::Exception(ExceptionType exception_type, const string &message) - : std::exception(), type(exception_type), raw_message_(message) { - exception_message_ = ExceptionTypeToString(exception_type) + " Error: " + message; +Exception::Exception(ExceptionType exception_type, const string &message, + const unordered_map &extra_info) + : std::runtime_error(ToJSON(exception_type, message, extra_info)) { } -const char *Exception::what() const noexcept { - return exception_message_.c_str(); +string Exception::ToJSON(ExceptionType type, const string &message) { + unordered_map extra_info; + return ToJSON(type, message, extra_info); } -const string &Exception::RawMessage() const { - return raw_message_; +string Exception::ToJSON(ExceptionType type, const string &message, const unordered_map &extra_info) { +#ifdef DUCKDB_DEBUG_STACKTRACE + auto extended_extra_info = extra_info; + extended_extra_info["stack_trace"] = Exception::GetStackTrace(); + return StringUtil::ToJSONMap(type, message, extended_extra_info); +#else + return StringUtil::ToJSONMap(type, message, extra_info); +#endif } bool Exception::UncaughtException() { @@ -39,6 +49,30 @@ bool Exception::UncaughtException() { #endif } +bool Exception::InvalidatesTransaction(ExceptionType exception_type) { + switch (exception_type) { + case ExceptionType::BINDER: + case ExceptionType::CATALOG: + case ExceptionType::CONNECTION: + case ExceptionType::PARAMETER_NOT_ALLOWED: + case ExceptionType::PARSER: + case ExceptionType::PERMISSION: + return false; + default: + return true; + } +} + +bool Exception::InvalidatesDatabase(ExceptionType exception_type) { + switch (exception_type) { + case ExceptionType::INTERNAL: + case ExceptionType::FATAL: + return true; + default: + return false; + } +} + string Exception::GetStackTrace(int max_depth) { #ifdef DUCKDB_DEBUG_STACKTRACE string result; @@ -125,7 +159,8 @@ static constexpr ExceptionEntry EXCEPTION_MAP[] = {{ExceptionType::INVALID, "Inv {ExceptionType::DEPENDENCY, "Dependency"}, {ExceptionType::MISSING_EXTENSION, "Missing Extension"}, {ExceptionType::HTTP, "HTTP"}, - {ExceptionType::AUTOLOAD, "Extension Autoloading"}}; + {ExceptionType::AUTOLOAD, "Extension Autoloading"}, + {ExceptionType::SEQUENCE, "Sequence"}}; string Exception::ExceptionTypeToString(ExceptionType type) { for (auto &e : EXCEPTION_MAP) { @@ -145,121 +180,49 @@ ExceptionType Exception::StringToExceptionType(const string &type) { return ExceptionType::INVALID; } -const HTTPException &Exception::AsHTTPException() const { - D_ASSERT(type == ExceptionType::HTTP); - const auto &e = static_cast(this); - D_ASSERT(e->GetStatusCode() != 0); - D_ASSERT(e->GetHeaders().size() > 0); - return *e; -} - -void Exception::ThrowAsTypeWithMessage(ExceptionType type, const string &message, - const std::shared_ptr &original) { - switch (type) { - case ExceptionType::OUT_OF_RANGE: - throw OutOfRangeException(message); - case ExceptionType::CONVERSION: - throw ConversionException(message); // FIXME: make a separation between Conversion/Cast exception? - case ExceptionType::INVALID_TYPE: - throw InvalidTypeException(message); - case ExceptionType::MISMATCH_TYPE: - throw TypeMismatchException(message); - case ExceptionType::TRANSACTION: - throw TransactionException(message); - case ExceptionType::NOT_IMPLEMENTED: - throw NotImplementedException(message); - case ExceptionType::CATALOG: - throw CatalogException(message); - case ExceptionType::CONNECTION: - throw ConnectionException(message); - case ExceptionType::PARSER: - throw ParserException(message); - case ExceptionType::PERMISSION: - throw PermissionException(message); - case ExceptionType::SYNTAX: - throw SyntaxException(message); - case ExceptionType::CONSTRAINT: - throw ConstraintException(message); - case ExceptionType::BINDER: - throw BinderException(message); - case ExceptionType::IO: - throw IOException(message); - case ExceptionType::SERIALIZATION: - throw SerializationException(message); - case ExceptionType::INTERRUPT: - throw InterruptException(); - case ExceptionType::INTERNAL: - throw InternalException(message); - case ExceptionType::INVALID_INPUT: - throw InvalidInputException(message); - case ExceptionType::OUT_OF_MEMORY: - throw OutOfMemoryException(message); - case ExceptionType::PARAMETER_NOT_ALLOWED: - throw ParameterNotAllowedException(message); - case ExceptionType::PARAMETER_NOT_RESOLVED: - throw ParameterNotResolvedException(); - case ExceptionType::FATAL: - throw FatalException(message); - case ExceptionType::DEPENDENCY: - throw DependencyException(message); - case ExceptionType::HTTP: { - original->AsHTTPException().Throw(); - } - case ExceptionType::MISSING_EXTENSION: - throw MissingExtensionException(message); - default: - throw Exception(type, message); - } +unordered_map Exception::InitializeExtraInfo(const Expression &expr) { + return InitializeExtraInfo(expr.query_location); } -StandardException::StandardException(ExceptionType exception_type, const string &message) - : Exception(exception_type, message) { -} - -CastException::CastException(const PhysicalType orig_type, const PhysicalType new_type) - : Exception(ExceptionType::CONVERSION, - "Type " + TypeIdToString(orig_type) + " can't be cast as " + TypeIdToString(new_type)) { +unordered_map Exception::InitializeExtraInfo(const ParsedExpression &expr) { + return InitializeExtraInfo(expr.query_location); } -CastException::CastException(const LogicalType &orig_type, const LogicalType &new_type) - : Exception(ExceptionType::CONVERSION, - "Type " + orig_type.ToString() + " can't be cast as " + new_type.ToString()) { +unordered_map Exception::InitializeExtraInfo(const QueryErrorContext &error_context) { + return InitializeExtraInfo(error_context.query_location); } -CastException::CastException(const string &msg) : Exception(ExceptionType::CONVERSION, msg) { +unordered_map Exception::InitializeExtraInfo(const TableRef &ref) { + return InitializeExtraInfo(ref.query_location); } -ValueOutOfRangeException::ValueOutOfRangeException(const int64_t value, const PhysicalType orig_type, - const PhysicalType new_type) - : Exception(ExceptionType::CONVERSION, "Type " + TypeIdToString(orig_type) + " with value " + - to_string((intmax_t)value) + - " can't be cast because the value is out of range " - "for the destination type " + - TypeIdToString(new_type)) { +unordered_map Exception::InitializeExtraInfo(optional_idx error_location) { + unordered_map result; + SetQueryLocation(error_location, result); + return result; } -ValueOutOfRangeException::ValueOutOfRangeException(const double value, const PhysicalType orig_type, - const PhysicalType new_type) - : Exception(ExceptionType::CONVERSION, "Type " + TypeIdToString(orig_type) + " with value " + to_string(value) + - " can't be cast because the value is out of range " - "for the destination type " + - TypeIdToString(new_type)) { +unordered_map Exception::InitializeExtraInfo(const string &subtype, optional_idx error_location) { + unordered_map result; + result["error_subtype"] = subtype; + SetQueryLocation(error_location, result); + return result; } -ValueOutOfRangeException::ValueOutOfRangeException(const hugeint_t value, const PhysicalType orig_type, - const PhysicalType new_type) - : Exception(ExceptionType::CONVERSION, "Type " + TypeIdToString(orig_type) + " with value " + value.ToString() + - " can't be cast because the value is out of range " - "for the destination type " + - TypeIdToString(new_type)) { +void Exception::SetQueryLocation(optional_idx error_location, unordered_map &extra_info) { + if (error_location.IsValid()) { + extra_info["position"] = to_string(error_location.GetIndex()); + } } -ValueOutOfRangeException::ValueOutOfRangeException(const PhysicalType var_type, const idx_t length) - : Exception(ExceptionType::OUT_OF_RANGE, - "The value is too long to fit into type " + TypeIdToString(var_type) + "(" + to_string(length) + ")") { +ConversionException::ConversionException(const PhysicalType orig_type, const PhysicalType new_type) + : Exception(ExceptionType::CONVERSION, + "Type " + TypeIdToString(orig_type) + " can't be cast as " + TypeIdToString(new_type)) { } -ValueOutOfRangeException::ValueOutOfRangeException(const string &msg) : Exception(ExceptionType::OUT_OF_RANGE, msg) { +ConversionException::ConversionException(const LogicalType &orig_type, const LogicalType &new_type) + : Exception(ExceptionType::CONVERSION, + "Type " + orig_type.ToString() + " can't be cast as " + new_type.ToString()) { } ConversionException::ConversionException(const string &msg) : Exception(ExceptionType::CONVERSION, msg) { @@ -298,16 +261,38 @@ NotImplementedException::NotImplementedException(const string &msg) : Exception( OutOfRangeException::OutOfRangeException(const string &msg) : Exception(ExceptionType::OUT_OF_RANGE, msg) { } -CatalogException::CatalogException(const string &msg) : StandardException(ExceptionType::CATALOG, msg) { +OutOfRangeException::OutOfRangeException(const int64_t value, const PhysicalType orig_type, const PhysicalType new_type) + : Exception(ExceptionType::OUT_OF_RANGE, "Type " + TypeIdToString(orig_type) + " with value " + + to_string((intmax_t)value) + + " can't be cast because the value is out of range " + "for the destination type " + + TypeIdToString(new_type)) { } -ConnectionException::ConnectionException(const string &msg) : StandardException(ExceptionType::CONNECTION, msg) { +OutOfRangeException::OutOfRangeException(const double value, const PhysicalType orig_type, const PhysicalType new_type) + : Exception(ExceptionType::OUT_OF_RANGE, "Type " + TypeIdToString(orig_type) + " with value " + to_string(value) + + " can't be cast because the value is out of range " + "for the destination type " + + TypeIdToString(new_type)) { } -ParserException::ParserException(const string &msg) : StandardException(ExceptionType::PARSER, msg) { +OutOfRangeException::OutOfRangeException(const hugeint_t value, const PhysicalType orig_type, + const PhysicalType new_type) + : Exception(ExceptionType::OUT_OF_RANGE, "Type " + TypeIdToString(orig_type) + " with value " + value.ToString() + + " can't be cast because the value is out of range " + "for the destination type " + + TypeIdToString(new_type)) { +} + +OutOfRangeException::OutOfRangeException(const PhysicalType var_type, const idx_t length) + : Exception(ExceptionType::OUT_OF_RANGE, + "The value is too long to fit into type " + TypeIdToString(var_type) + "(" + to_string(length) + ")") { } -PermissionException::PermissionException(const string &msg) : StandardException(ExceptionType::PERMISSION, msg) { +ConnectionException::ConnectionException(const string &msg) : Exception(ExceptionType::CONNECTION, msg) { +} + +PermissionException::PermissionException(const string &msg) : Exception(ExceptionType::PERMISSION, msg) { } SyntaxException::SyntaxException(const string &msg) : Exception(ExceptionType::SYNTAX, msg) { @@ -319,27 +304,27 @@ ConstraintException::ConstraintException(const string &msg) : Exception(Exceptio DependencyException::DependencyException(const string &msg) : Exception(ExceptionType::DEPENDENCY, msg) { } -BinderException::BinderException(const string &msg) : StandardException(ExceptionType::BINDER, msg) { +IOException::IOException(const string &msg) : Exception(ExceptionType::IO, msg) { } -IOException::IOException(const string &msg) : Exception(ExceptionType::IO, msg) { +IOException::IOException(const string &msg, const unordered_map &extra_info) + : Exception(ExceptionType::IO, msg, extra_info) { } MissingExtensionException::MissingExtensionException(const string &msg) : Exception(ExceptionType::MISSING_EXTENSION, msg) { } -AutoloadException::AutoloadException(const string &extension_name, Exception &e) +AutoloadException::AutoloadException(const string &extension_name, const string &message) : Exception(ExceptionType::AUTOLOAD, "An error occurred while trying to automatically install the required extension '" + extension_name + - "':\n" + e.RawMessage()), - wrapped_exception(e) { + "':\n" + message) { } SerializationException::SerializationException(const string &msg) : Exception(ExceptionType::SERIALIZATION, msg) { } -SequenceException::SequenceException(const string &msg) : Exception(ExceptionType::SERIALIZATION, msg) { +SequenceException::SequenceException(const string &msg) : Exception(ExceptionType::SEQUENCE, msg) { } InterruptException::InterruptException() : Exception(ExceptionType::INTERRUPT, "Interrupted!") { @@ -348,7 +333,7 @@ InterruptException::InterruptException() : Exception(ExceptionType::INTERRUPT, " FatalException::FatalException(ExceptionType type, const string &msg) : Exception(type, msg) { } -InternalException::InternalException(const string &msg) : FatalException(ExceptionType::INTERNAL, msg) { +InternalException::InternalException(const string &msg) : Exception(ExceptionType::INTERNAL, msg) { #ifdef DUCKDB_CRASH_ON_ASSERT Printer::Print("ABORT THROWN BY INTERNAL EXCEPTION: " + msg); abort(); @@ -358,11 +343,15 @@ InternalException::InternalException(const string &msg) : FatalException(Excepti InvalidInputException::InvalidInputException(const string &msg) : Exception(ExceptionType::INVALID_INPUT, msg) { } +InvalidInputException::InvalidInputException(const string &msg, const unordered_map &extra_info) + : Exception(ExceptionType::INVALID_INPUT, msg, extra_info) { +} + OutOfMemoryException::OutOfMemoryException(const string &msg) : Exception(ExceptionType::OUT_OF_MEMORY, msg) { } ParameterNotAllowedException::ParameterNotAllowedException(const string &msg) - : StandardException(ExceptionType::PARAMETER_NOT_ALLOWED, msg) { + : Exception(ExceptionType::PARAMETER_NOT_ALLOWED, msg) { } ParameterNotResolvedException::ParameterNotResolvedException() diff --git a/src/common/exception/CMakeLists.txt b/src/common/exception/CMakeLists.txt new file mode 100644 index 000000000000..eb7fe3e22b15 --- /dev/null +++ b/src/common/exception/CMakeLists.txt @@ -0,0 +1,5 @@ +add_library_unity(duckdb_common_exception OBJECT binder_exception.cpp + catalog_exception.cpp parser_exception.cpp) +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/common/exception/binder_exception.cpp b/src/common/exception/binder_exception.cpp new file mode 100644 index 000000000000..458c563c0ea8 --- /dev/null +++ b/src/common/exception/binder_exception.cpp @@ -0,0 +1,47 @@ +#include "duckdb/common/exception/binder_exception.hpp" +#include "duckdb/common/string_util.hpp" +#include "duckdb/function/function.hpp" + +namespace duckdb { + +BinderException::BinderException(const string &msg) : Exception(ExceptionType::BINDER, msg) { +} + +BinderException::BinderException(const string &msg, const unordered_map &extra_info) + : Exception(ExceptionType::BINDER, msg, extra_info) { +} + +BinderException BinderException::ColumnNotFound(const string &name, const vector &similar_bindings, + QueryErrorContext context) { + auto extra_info = Exception::InitializeExtraInfo("COLUMN_NOT_FOUND", context.query_location); + string candidate_str = StringUtil::CandidatesMessage(similar_bindings, "Candidate bindings"); + extra_info["name"] = name; + if (!similar_bindings.empty()) { + extra_info["candidates"] = StringUtil::Join(similar_bindings, ","); + } + return BinderException( + StringUtil::Format("Referenced column \"%s\" not found in FROM clause!%s", name, candidate_str), extra_info); +} + +BinderException BinderException::NoMatchingFunction(const string &name, const vector &arguments, + const vector &candidates) { + auto extra_info = Exception::InitializeExtraInfo("NO_MATCHING_FUNCTION", optional_idx()); + // no matching function was found, throw an error + string call_str = Function::CallToString(name, arguments); + string candidate_str; + for (auto &candidate : candidates) { + candidate_str += "\t" + candidate + "\n"; + } + extra_info["name"] = name; + extra_info["call"] = call_str; + if (!candidates.empty()) { + extra_info["candidates"] = StringUtil::Join(candidates, ","); + } + return BinderException( + StringUtil::Format("No function matches the given name and argument types '%s'. You might need to add " + "explicit type casts.\n\tCandidate functions:\n%s", + call_str, candidate_str), + extra_info); +} + +} // namespace duckdb diff --git a/src/common/exception/catalog_exception.cpp b/src/common/exception/catalog_exception.cpp new file mode 100644 index 000000000000..2ab210f0e577 --- /dev/null +++ b/src/common/exception/catalog_exception.cpp @@ -0,0 +1,55 @@ +#include "duckdb/common/exception/catalog_exception.hpp" +#include "duckdb/common/to_string.hpp" +#include "duckdb/common/string_util.hpp" + +namespace duckdb { + +CatalogException::CatalogException(const string &msg) : Exception(ExceptionType::CATALOG, msg) { +} + +CatalogException::CatalogException(const string &msg, const unordered_map &extra_info) + : Exception(ExceptionType::CATALOG, msg, extra_info) { +} + +CatalogException CatalogException::MissingEntry(CatalogType type, const string &name, const string &suggestion, + QueryErrorContext context) { + string did_you_mean; + if (!suggestion.empty()) { + did_you_mean = "\nDid you mean \"" + suggestion + "\"?"; + } + + auto extra_info = Exception::InitializeExtraInfo("MISSING_ENTRY", context.query_location); + + extra_info["name"] = name; + extra_info["type"] = CatalogTypeToString(type); + if (!suggestion.empty()) { + extra_info["candidates"] = suggestion; + } + return CatalogException( + StringUtil::Format("%s with name %s does not exist!%s", CatalogTypeToString(type), name, did_you_mean), + extra_info); +} + +CatalogException CatalogException::MissingEntry(const string &type, const string &name, + const vector &suggestions, QueryErrorContext context) { + auto extra_info = Exception::InitializeExtraInfo("MISSING_ENTRY", context.query_location); + extra_info["error_subtype"] = "MISSING_ENTRY"; + extra_info["name"] = name; + extra_info["type"] = type; + if (!suggestions.empty()) { + extra_info["candidates"] = StringUtil::Join(suggestions, ", "); + } + return CatalogException(StringUtil::Format("unrecognized %s \"%s\"\n%s", type, name, + StringUtil::CandidatesErrorMessage(suggestions, name, "Did you mean")), + extra_info); +} + +CatalogException CatalogException::EntryAlreadyExists(CatalogType type, const string &name, QueryErrorContext context) { + auto extra_info = Exception::InitializeExtraInfo("ENTRY_ALREADY_EXISTS", optional_idx()); + extra_info["name"] = name; + extra_info["type"] = CatalogTypeToString(type); + return CatalogException(StringUtil::Format("%s with name \"%s\" already exists!", CatalogTypeToString(type), name), + extra_info); +} + +} // namespace duckdb diff --git a/src/common/exception/parser_exception.cpp b/src/common/exception/parser_exception.cpp new file mode 100644 index 000000000000..f3875da3890d --- /dev/null +++ b/src/common/exception/parser_exception.cpp @@ -0,0 +1,19 @@ +#include "duckdb/common/exception/parser_exception.hpp" +#include "duckdb/common/to_string.hpp" +#include "duckdb/parser/query_error_context.hpp" + +namespace duckdb { + +ParserException::ParserException(const string &msg) : Exception(ExceptionType::PARSER, msg) { +} + +ParserException::ParserException(const string &msg, const unordered_map &extra_info) + : Exception(ExceptionType::PARSER, msg, extra_info) { +} + +ParserException ParserException::SyntaxError(const string &query, const string &error_message, + optional_idx error_location) { + return ParserException(error_message, Exception::InitializeExtraInfo("SYNTAX_ERROR", error_location)); +} + +} // namespace duckdb diff --git a/src/common/exception_format_value.cpp b/src/common/exception_format_value.cpp index 5a4330302384..1eb9d45939f5 100644 --- a/src/common/exception_format_value.cpp +++ b/src/common/exception_format_value.cpp @@ -3,6 +3,7 @@ #include "fmt/format.h" #include "fmt/printf.h" #include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include "duckdb/parser/keyword_helper.hpp" namespace duckdb { @@ -16,6 +17,9 @@ ExceptionFormatValue::ExceptionFormatValue(int64_t int_val) ExceptionFormatValue::ExceptionFormatValue(hugeint_t huge_val) : type(ExceptionFormatValueType::FORMAT_VALUE_TYPE_STRING), str_val(Hugeint::ToString(huge_val)) { } +ExceptionFormatValue::ExceptionFormatValue(uhugeint_t uhuge_val) + : type(ExceptionFormatValueType::FORMAT_VALUE_TYPE_STRING), str_val(Uhugeint::ToString(uhuge_val)) { +} ExceptionFormatValue::ExceptionFormatValue(string str_val) : type(ExceptionFormatValueType::FORMAT_VALUE_TYPE_STRING), str_val(std::move(str_val)) { } @@ -66,6 +70,10 @@ template <> ExceptionFormatValue ExceptionFormatValue::CreateFormatValue(hugeint_t value) { return ExceptionFormatValue(value); } +template <> +ExceptionFormatValue ExceptionFormatValue::CreateFormatValue(uhugeint_t value) { + return ExceptionFormatValue(value); +} string ExceptionFormatValue::Format(const string &msg, std::vector &values) { try { @@ -88,7 +96,7 @@ string ExceptionFormatValue::Format(const string &msg, std::vectorCast(); return other.user_type_name == user_type_name; @@ -312,4 +317,47 @@ void EnumTypeInfo::Serialize(Serializer &serializer) const { [&](Serializer::List &list, idx_t i) { list.WriteElement(strings[i]); }); } +//===--------------------------------------------------------------------===// +// ArrayTypeInfo +//===--------------------------------------------------------------------===// + +ArrayTypeInfo::ArrayTypeInfo(LogicalType child_type_p, idx_t size_p) + : ExtraTypeInfo(ExtraTypeInfoType::ARRAY_TYPE_INFO), child_type(std::move(child_type_p)), size(size_p) { +} + +bool ArrayTypeInfo::EqualsInternal(ExtraTypeInfo *other_p) const { + auto &other = other_p->Cast(); + return child_type == other.child_type && size == other.size; +} + +//===--------------------------------------------------------------------===// +// Any Type Info +//===--------------------------------------------------------------------===// +AnyTypeInfo::AnyTypeInfo() : ExtraTypeInfo(ExtraTypeInfoType::ANY_TYPE_INFO) { +} + +AnyTypeInfo::AnyTypeInfo(LogicalType target_type_p, idx_t cast_score_p) + : ExtraTypeInfo(ExtraTypeInfoType::ANY_TYPE_INFO), target_type(std::move(target_type_p)), cast_score(cast_score_p) { +} + +bool AnyTypeInfo::EqualsInternal(ExtraTypeInfo *other_p) const { + auto &other = other_p->Cast(); + return target_type == other.target_type && cast_score == other.cast_score; +} + +//===--------------------------------------------------------------------===// +// Any Type Info +//===--------------------------------------------------------------------===// +IntegerLiteralTypeInfo::IntegerLiteralTypeInfo() : ExtraTypeInfo(ExtraTypeInfoType::INTEGER_LITERAL_TYPE_INFO) { +} + +IntegerLiteralTypeInfo::IntegerLiteralTypeInfo(Value constant_value_p) + : ExtraTypeInfo(ExtraTypeInfoType::INTEGER_LITERAL_TYPE_INFO), constant_value(std::move(constant_value_p)) { +} + +bool IntegerLiteralTypeInfo::EqualsInternal(ExtraTypeInfo *other_p) const { + auto &other = other_p->Cast(); + return constant_value == other.constant_value; +} + } // namespace duckdb diff --git a/src/common/file_system.cpp b/src/common/file_system.cpp index ed5a4c843324..f2124165fdc7 100644 --- a/src/common/file_system.cpp +++ b/src/common/file_system.cpp @@ -54,10 +54,7 @@ FileSystem &FileSystem::GetFileSystem(ClientContext &context) { } bool PathMatched(const string &path, const string &sub_path) { - if (path.rfind(sub_path, 0) == 0) { - return true; - } - return false; + return path.rfind(sub_path, 0) == 0; } #ifndef _WIN32 @@ -147,7 +144,15 @@ bool FileSystem::IsPathAbsolute(const string &path) { if (StartsWithSingleBackslash(path)) { return true; } - // 2) A disk designator with a backslash (e.g., C:\ or C:/) + // 2) special "long paths" on windows + if (PathMatched(path, "\\\\?\\")) { + return true; + } + // 3) a network path + if (PathMatched(path, "\\\\")) { + return true; + } + // 4) A disk designator with a backslash (e.g., C:\ or C:/) auto path_aux = path; path_aux.erase(0, 1); if (PathMatched(path_aux, ":\\") || PathMatched(path_aux, ":/")) { @@ -210,7 +215,7 @@ string FileSystem::GetWorkingDirectory() { string FileSystem::JoinPath(const string &a, const string &b) { // FIXME: sanitize paths - return a + PathSeparator(a) + b; + return a.empty() ? b : a + PathSeparator(a) + b; } string FileSystem::ConvertSeparators(const string &path) { @@ -539,7 +544,7 @@ FileType FileHandle::GetType() { } bool FileSystem::IsRemoteFile(const string &path) { - const string prefixes[] = {"http://", "https://", "s3://"}; + const string prefixes[] = {"http://", "https://", "s3://", "s3a://", "s3n://", "gcs://", "gs://", "r2://"}; for (auto &prefix : prefixes) { if (StringUtil::StartsWith(path, prefix)) { return true; diff --git a/src/common/gzip_file_system.cpp b/src/common/gzip_file_system.cpp index 51774bd8d61c..414bcbfda2c4 100644 --- a/src/common/gzip_file_system.cpp +++ b/src/common/gzip_file_system.cpp @@ -68,7 +68,7 @@ struct MiniZStreamWrapper : public StreamWrapper { ~MiniZStreamWrapper() override; CompressedFile *file = nullptr; - duckdb_miniz::mz_stream *mz_stream_ptr = nullptr; + unique_ptr mz_stream_ptr; bool writing = false; duckdb_miniz::mz_ulong crc; idx_t total_size; @@ -98,8 +98,8 @@ MiniZStreamWrapper::~MiniZStreamWrapper() { void MiniZStreamWrapper::Initialize(CompressedFile &file, bool write) { Close(); this->file = &file; - mz_stream_ptr = new duckdb_miniz::mz_stream(); - memset(mz_stream_ptr, 0, sizeof(duckdb_miniz::mz_stream)); + mz_stream_ptr = make_uniq(); + memset(mz_stream_ptr.get(), 0, sizeof(duckdb_miniz::mz_stream)); this->writing = write; // TODO use custom alloc/free methods in miniz to throw exceptions on OOM @@ -111,7 +111,7 @@ void MiniZStreamWrapper::Initialize(CompressedFile &file, bool write) { MiniZStream::InitializeGZIPHeader(gzip_hdr); file.child_handle->Write(gzip_hdr, GZIP_HEADER_MINSIZE); - auto ret = mz_deflateInit2((duckdb_miniz::mz_streamp)mz_stream_ptr, duckdb_miniz::MZ_DEFAULT_LEVEL, MZ_DEFLATED, + auto ret = mz_deflateInit2(mz_stream_ptr.get(), duckdb_miniz::MZ_DEFAULT_LEVEL, MZ_DEFLATED, -MZ_DEFAULT_WINDOW_BITS, 1, 0); if (ret != duckdb_miniz::MZ_OK) { throw InternalException("Failed to initialize miniz"); @@ -135,7 +135,7 @@ void MiniZStreamWrapper::Initialize(CompressedFile &file, bool write) { } file.child_handle->Seek(data_start); // stream is now set to beginning of payload data - auto ret = duckdb_miniz::mz_inflateInit2((duckdb_miniz::mz_streamp)mz_stream_ptr, -MZ_DEFAULT_WINDOW_BITS); + auto ret = duckdb_miniz::mz_inflateInit2(mz_stream_ptr.get(), -MZ_DEFAULT_WINDOW_BITS); if (ret != duckdb_miniz::MZ_OK) { throw InternalException("Failed to initialize miniz"); } @@ -182,8 +182,8 @@ bool MiniZStreamWrapper::Read(StreamData &sd) { Close(); return true; } - duckdb_miniz::mz_inflateEnd(mz_stream_ptr); - auto sta = duckdb_miniz::mz_inflateInit2((duckdb_miniz::mz_streamp)mz_stream_ptr, -MZ_DEFAULT_WINDOW_BITS); + duckdb_miniz::mz_inflateEnd(mz_stream_ptr.get()); + auto sta = duckdb_miniz::mz_inflateInit2(mz_stream_ptr.get(), -MZ_DEFAULT_WINDOW_BITS); if (sta != duckdb_miniz::MZ_OK) { throw InternalException("Failed to initialize miniz"); } @@ -195,7 +195,7 @@ bool MiniZStreamWrapper::Read(StreamData &sd) { mz_stream_ptr->avail_in = (uint32_t)(sd.in_buff_end - sd.in_buff_start); mz_stream_ptr->next_out = data_ptr_cast(sd.out_buff_end); mz_stream_ptr->avail_out = (uint32_t)((sd.out_buff.get() + sd.out_buf_size) - sd.out_buff_end); - auto ret = duckdb_miniz::mz_inflate(mz_stream_ptr, duckdb_miniz::MZ_NO_FLUSH); + auto ret = duckdb_miniz::mz_inflate(mz_stream_ptr.get(), duckdb_miniz::MZ_NO_FLUSH); if (ret != duckdb_miniz::MZ_OK && ret != duckdb_miniz::MZ_STREAM_END) { throw IOException("Failed to decode gzip stream: %s", duckdb_miniz::mz_error(ret)); } @@ -228,7 +228,7 @@ void MiniZStreamWrapper::Write(CompressedFile &file, StreamData &sd, data_ptr_t mz_stream_ptr->next_out = sd.out_buff_start; mz_stream_ptr->avail_out = output_remaining; - auto res = mz_deflate(mz_stream_ptr, duckdb_miniz::MZ_NO_FLUSH); + auto res = mz_deflate(mz_stream_ptr.get(), duckdb_miniz::MZ_NO_FLUSH); if (res != duckdb_miniz::MZ_OK) { D_ASSERT(res != duckdb_miniz::MZ_STREAM_END); throw InternalException("Failed to compress GZIP block"); @@ -254,7 +254,7 @@ void MiniZStreamWrapper::FlushStream() { mz_stream_ptr->next_out = sd.out_buff_start; mz_stream_ptr->avail_out = output_remaining; - auto res = mz_deflate(mz_stream_ptr, duckdb_miniz::MZ_FINISH); + auto res = mz_deflate(mz_stream_ptr.get(), duckdb_miniz::MZ_FINISH); sd.out_buff_start += (output_remaining - mz_stream_ptr->avail_out); if (sd.out_buff_start > sd.out_buff.get()) { file->child_handle->Write(sd.out_buff.get(), sd.out_buff_start - sd.out_buff.get()); @@ -282,11 +282,10 @@ void MiniZStreamWrapper::Close() { MiniZStream::InitializeGZIPFooter(gzip_footer, crc, total_size); file->child_handle->Write(gzip_footer, MiniZStream::GZIP_FOOTER_SIZE); - duckdb_miniz::mz_deflateEnd(mz_stream_ptr); + duckdb_miniz::mz_deflateEnd(mz_stream_ptr.get()); } else { - duckdb_miniz::mz_inflateEnd(mz_stream_ptr); + duckdb_miniz::mz_inflateEnd(mz_stream_ptr.get()); } - delete mz_stream_ptr; mz_stream_ptr = nullptr; file = nullptr; } @@ -321,8 +320,8 @@ string GZipFileSystem::UncompressGZIPString(const string &in) { // decompress file auto body_ptr = in.data(); - auto mz_stream_ptr = new duckdb_miniz::mz_stream(); - memset(mz_stream_ptr, 0, sizeof(duckdb_miniz::mz_stream)); + auto mz_stream_ptr = make_uniq(); + memset(mz_stream_ptr.get(), 0, sizeof(duckdb_miniz::mz_stream)); uint8_t gzip_hdr[GZIP_HEADER_MINSIZE]; @@ -349,7 +348,7 @@ string GZipFileSystem::UncompressGZIPString(const string &in) { } // stream is now set to beginning of payload data - auto status = duckdb_miniz::mz_inflateInit2(mz_stream_ptr, -MZ_DEFAULT_WINDOW_BITS); + auto status = duckdb_miniz::mz_inflateInit2(mz_stream_ptr.get(), -MZ_DEFAULT_WINDOW_BITS); if (status != duckdb_miniz::MZ_OK) { throw InternalException("Failed to initialize miniz"); } @@ -364,13 +363,14 @@ string GZipFileSystem::UncompressGZIPString(const string &in) { while (status == duckdb_miniz::MZ_OK) { mz_stream_ptr->next_out = decompress_buffer; mz_stream_ptr->avail_out = sizeof(decompress_buffer); - status = mz_inflate(mz_stream_ptr, duckdb_miniz::MZ_NO_FLUSH); + status = mz_inflate(mz_stream_ptr.get(), duckdb_miniz::MZ_NO_FLUSH); if (status != duckdb_miniz::MZ_STREAM_END && status != duckdb_miniz::MZ_OK) { throw IOException("Failed to uncompress"); } decompressed.append(char_ptr_cast(decompress_buffer), mz_stream_ptr->total_out - decompressed.size()); } - duckdb_miniz::mz_inflateEnd(mz_stream_ptr); + duckdb_miniz::mz_inflateEnd(mz_stream_ptr.get()); + if (decompressed.empty()) { throw IOException("Failed to uncompress"); } diff --git a/src/common/hive_partitioning.cpp b/src/common/hive_partitioning.cpp index d7211ff9bfbf..0bb3306b7805 100644 --- a/src/common/hive_partitioning.cpp +++ b/src/common/hive_partitioning.cpp @@ -1,5 +1,6 @@ #include "duckdb/common/hive_partitioning.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/execution/expression_executor.hpp" #include "duckdb/optimizer/filter_combiner.hpp" #include "duckdb/planner/expression/bound_columnref_expression.hpp" @@ -65,7 +66,7 @@ static void ConvertKnownColRefToConstants(unique_ptr &expr, // - http(s)://domain(:port)/lala/kasdl/var1=value1/?not-a-var=not-a-value // - folder/folder/folder/../var1=value1/etc/.//var2=value2 const string &HivePartitioning::RegexString() { - static string REGEX = "[\\/\\\\]([^\\/\\?\\\\]+)=([^\\/\\n\\?\\\\]+)"; + static string REGEX = "[\\/\\\\]([^\\/\\?\\\\]+)=([^\\/\\n\\?\\\\]*)"; return REGEX; } @@ -261,6 +262,9 @@ static void GetHivePartitionValuesTypeSwitch(Vector &input, vector(input, keys, col_idx, count); break; + case PhysicalType::UINT128: + TemplatedGetHivePartitionValues(input, keys, col_idx, count); + break; case PhysicalType::FLOAT: TemplatedGetHivePartitionValues(input, keys, col_idx, count); break; diff --git a/src/common/http_state.cpp b/src/common/http_state.cpp index 4a50ecd70092..0c6920867e6b 100644 --- a/src/common/http_state.cpp +++ b/src/common/http_state.cpp @@ -10,13 +10,14 @@ CachedFileHandle::CachedFileHandle(shared_ptr &file_p) { file = file_p; } -void CachedFileHandle::SetInitialized() { +void CachedFileHandle::SetInitialized(idx_t total_size) { if (file->initialized) { throw InternalException("Cannot set initialized on cached file that was already initialized"); } if (!lock) { throw InternalException("Cannot set initialized on cached file without lock"); } + file->size = total_size; file->initialized = true; lock = nullptr; } @@ -57,10 +58,26 @@ void HTTPState::Reset() { cached_files.clear(); } -shared_ptr HTTPState::TryGetState(FileOpener *opener) { +shared_ptr HTTPState::TryGetState(ClientContext &context, bool create_on_missing) { + auto lookup = context.registered_state.find("http_state"); + + if (lookup != context.registered_state.end()) { + return std::static_pointer_cast(lookup->second); + } + + if (!create_on_missing) { + return nullptr; + } + + auto http_state = make_shared(); + context.registered_state["http_state"] = http_state; + return http_state; +} + +shared_ptr HTTPState::TryGetState(FileOpener *opener, bool create_on_missing) { auto client_context = FileOpener::TryGetClientContext(opener); if (client_context) { - return client_context->client_data->http_state; + return TryGetState(*client_context, create_on_missing); } return nullptr; } diff --git a/src/common/local_file_system.cpp b/src/common/local_file_system.cpp index ccf3e1cb0ea2..b1d292513549 100644 --- a/src/common/local_file_system.cpp +++ b/src/common/local_file_system.cpp @@ -34,6 +34,24 @@ extern "C" WINBASEAPI BOOL WINAPI GetPhysicallyInstalledSystemMemory(PULONGLONG) #undef FILE_CREATE // woo mingw #endif +// includes for giving a better error message on lock conflicts +#if defined(__linux__) || defined(__APPLE__) +#include +#endif + +#if defined(__linux__) +#include +// See e.g.: +// https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/TargetConditionals.h.auto.html +#elif defined(__APPLE__) +#include // NOLINT +#if not(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE == 1) // NOLINT +#include // NOLINT +#endif // NOLINT +#elif defined(_WIN32) +#include +#endif + namespace duckdb { static void AssertValidFileFlags(uint8_t flags) { @@ -162,6 +180,88 @@ static FileType GetFileTypeInternal(int fd) { // LCOV_EXCL_START } } // LCOV_EXCL_STOP +#if __APPLE__ && !TARGET_OS_IPHONE + +static string AdditionalProcessInfo(FileSystem &fs, pid_t pid) { + if (pid == getpid()) { + return "Lock is already held in current process, likely another DuckDB instance"; + } + + string process_name, process_owner; + // try to find out more about the process holding the lock + struct proc_bsdshortinfo proc; + if (proc_pidinfo(pid, PROC_PIDT_SHORTBSDINFO, 0, &proc, PROC_PIDT_SHORTBSDINFO_SIZE) == + PROC_PIDT_SHORTBSDINFO_SIZE) { + process_name = proc.pbsi_comm; // only a short version however, let's take it in case proc_pidpath() below fails + // try to get actual name of conflicting process owner + auto pw = getpwuid(proc.pbsi_uid); + if (pw) { + process_owner = pw->pw_name; + } + } + // try to get a better process name (full path) + char full_exec_path[PROC_PIDPATHINFO_MAXSIZE]; + if (proc_pidpath(pid, full_exec_path, PROC_PIDPATHINFO_MAXSIZE) > 0) { + // somehow could not get the path, lets use some sensible fallback + process_name = full_exec_path; + } + return StringUtil::Format("Conflicting lock is held in %s%s", + !process_name.empty() ? StringUtil::Format("%s (PID %d)", process_name, pid) + : StringUtil::Format("PID %d", pid), + !process_owner.empty() ? StringUtil::Format(" by user %s", process_owner) : ""); +} + +#elif __linux__ + +static string AdditionalProcessInfo(FileSystem &fs, pid_t pid) { + if (pid == getpid()) { + return "Lock is already held in current process, likely another DuckDB instance"; + } + string process_name, process_owner; + + try { + auto cmdline_file = fs.OpenFile(StringUtil::Format("/proc/%d/cmdline", pid), FileFlags::FILE_FLAGS_READ); + auto cmdline = cmdline_file->ReadLine(); + process_name = basename(const_cast(cmdline.c_str())); + } catch (std::exception &) { + // ignore + } + + // we would like to provide a full path to the executable if possible but we might not have rights + { + char exe_target[PATH_MAX]; + memset(exe_target, '\0', PATH_MAX); + auto proc_exe_link = StringUtil::Format("/proc/%d/exe", pid); + auto readlink_n = readlink(proc_exe_link.c_str(), exe_target, PATH_MAX); + if (readlink_n > 0) { + process_name = exe_target; + } + } + + // try to find out who created that process + try { + auto loginuid_file = fs.OpenFile(StringUtil::Format("/proc/%d/loginuid", pid), FileFlags::FILE_FLAGS_READ); + auto uid = std::stoi(loginuid_file->ReadLine()); + auto pw = getpwuid(uid); + if (pw) { + process_owner = pw->pw_name; + } + } catch (std::exception &) { + // ignore + } + + return StringUtil::Format("Conflicting lock is held in %s%s", + !process_name.empty() ? StringUtil::Format("%s (PID %d)", process_name, pid) + : StringUtil::Format("PID %d", pid), + !process_owner.empty() ? StringUtil::Format(" by user %s", process_owner) : ""); +} + +#else +static string AdditionalProcessInfo(FileSystem &fs, pid_t pid) { + return ""; +} +#endif + unique_ptr LocalFileSystem::OpenFile(const string &path_p, uint8_t flags, FileLockType lock_type, FileCompressionType compression, FileOpener *opener) { auto path = FileSystem::ExpandPath(path_p, opener); @@ -199,7 +299,7 @@ unique_ptr LocalFileSystem::OpenFile(const string &path_p, uint8_t f } if (flags & FileFlags::FILE_FLAGS_DIRECT_IO) { #if defined(__sun) && defined(__SVR4) - throw Exception("DIRECT_IO not supported on Solaris"); + throw InvalidInputException("DIRECT_IO not supported on Solaris"); #endif #if defined(__DARWIN__) || defined(__APPLE__) || defined(__OpenBSD__) // OSX does not have O_DIRECT, instead we need to use fcntl afterwards to support direct IO @@ -210,7 +310,7 @@ unique_ptr LocalFileSystem::OpenFile(const string &path_p, uint8_t f } int fd = open(path.c_str(), open_flags, 0666); if (fd == -1) { - throw IOException("Cannot open file \"%s\": %s", path, strerror(errno)); + throw IOException("Cannot open file \"%s\": %s", {{"errno", std::to_string(errno)}}, path, strerror(errno)); } // #if defined(__DARWIN__) || defined(__APPLE__) // if (flags & FileFlags::FILE_FLAGS_DIRECT_IO) { @@ -233,8 +333,30 @@ unique_ptr LocalFileSystem::OpenFile(const string &path_p, uint8_t f fl.l_start = 0; fl.l_len = 0; rc = fcntl(fd, F_SETLK, &fl); + // Retain the original error. + int retained_errno = errno; if (rc == -1) { - throw IOException("Could not set lock on file \"%s\": %s", path, strerror(errno)); + string message; + // try to find out who is holding the lock using F_GETLK + rc = fcntl(fd, F_GETLK, &fl); + if (rc == -1) { // fnctl does not want to help us + message = strerror(errno); + } else { + message = AdditionalProcessInfo(*this, fl.l_pid); + } + + if (lock_type == FileLockType::WRITE_LOCK) { + // maybe we can get a read lock instead and tell this to the user. + fl.l_type = F_RDLCK; + rc = fcntl(fd, F_SETLK, &fl); + if (rc != -1) { // success! + message += ". However, you would be able to open this database in read-only mode, e.g. by " + "using the -readonly parameter in the CLI"; + } + } + message += ". See also https://duckdb.org/docs/connect/concurrency"; + throw IOException("Could not set lock on file \"%s\": %s", {{"errno", std::to_string(retained_errno)}}, + path, message); } } } @@ -245,8 +367,8 @@ void LocalFileSystem::SetFilePointer(FileHandle &handle, idx_t location) { int fd = handle.Cast().fd; off_t offset = lseek(fd, location, SEEK_SET); if (offset == (off_t)-1) { - throw IOException("Could not seek to location %lld for file \"%s\": %s", location, handle.path, - strerror(errno)); + throw IOException("Could not seek to location %lld for file \"%s\": %s", {{"errno", std::to_string(errno)}}, + location, handle.path, strerror(errno)); } } @@ -254,7 +376,8 @@ idx_t LocalFileSystem::GetFilePointer(FileHandle &handle) { int fd = handle.Cast().fd; off_t position = lseek(fd, 0, SEEK_CUR); if (position == (off_t)-1) { - throw IOException("Could not get file position file \"%s\": %s", handle.path, strerror(errno)); + throw IOException("Could not get file position file \"%s\": %s", {{"errno", std::to_string(errno)}}, + handle.path, strerror(errno)); } return position; } @@ -265,7 +388,8 @@ void LocalFileSystem::Read(FileHandle &handle, void *buffer, int64_t nr_bytes, i while (nr_bytes > 0) { int64_t bytes_read = pread(fd, read_buffer, nr_bytes, location); if (bytes_read == -1) { - throw IOException("Could not read from file \"%s\": %s", handle.path, strerror(errno)); + throw IOException("Could not read from file \"%s\": %s", {{"errno", std::to_string(errno)}}, handle.path, + strerror(errno)); } if (bytes_read == 0) { throw IOException( @@ -281,7 +405,8 @@ int64_t LocalFileSystem::Read(FileHandle &handle, void *buffer, int64_t nr_bytes int fd = handle.Cast().fd; int64_t bytes_read = read(fd, buffer, nr_bytes); if (bytes_read == -1) { - throw IOException("Could not read from file \"%s\": %s", handle.path, strerror(errno)); + throw IOException("Could not read from file \"%s\": %s", {{"errno", std::to_string(errno)}}, handle.path, + strerror(errno)); } return bytes_read; } @@ -292,7 +417,8 @@ void LocalFileSystem::Write(FileHandle &handle, void *buffer, int64_t nr_bytes, while (nr_bytes > 0) { int64_t bytes_written = pwrite(fd, write_buffer, nr_bytes, location); if (bytes_written < 0) { - throw IOException("Could not write file \"%s\": %s", handle.path, strerror(errno)); + throw IOException("Could not write file \"%s\": %s", {{"errno", std::to_string(errno)}}, handle.path, + strerror(errno)); } D_ASSERT(bytes_written >= 0 && bytes_written); write_buffer += bytes_written; @@ -304,7 +430,8 @@ int64_t LocalFileSystem::Write(FileHandle &handle, void *buffer, int64_t nr_byte int fd = handle.Cast().fd; int64_t bytes_written = write(fd, buffer, nr_bytes); if (bytes_written == -1) { - throw IOException("Could not write file \"%s\": %s", handle.path, strerror(errno)); + throw IOException("Could not write file \"%s\": %s", {{"errno", std::to_string(errno)}}, handle.path, + strerror(errno)); } return bytes_written; } @@ -335,7 +462,8 @@ FileType LocalFileSystem::GetFileType(FileHandle &handle) { void LocalFileSystem::Truncate(FileHandle &handle, int64_t new_size) { int fd = handle.Cast().fd; if (ftruncate(fd, new_size) != 0) { - throw IOException("Could not truncate file \"%s\": %s", handle.path, strerror(errno)); + throw IOException("Could not truncate file \"%s\": %s", {{"errno", std::to_string(errno)}}, handle.path, + strerror(errno)); } } @@ -359,10 +487,11 @@ void LocalFileSystem::CreateDirectory(const string &directory) { if (stat(directory.c_str(), &st) != 0) { /* Directory does not exist. EEXIST for race condition */ if (mkdir(directory.c_str(), 0755) != 0 && errno != EEXIST) { - throw IOException("Failed to create directory \"%s\"!", directory); + throw IOException("Failed to create directory \"%s\"!", {{"errno", std::to_string(errno)}}, directory); } } else if (!S_ISDIR(st.st_mode)) { - throw IOException("Failed to create directory \"%s\": path exists but is not a directory!", directory); + throw IOException("Failed to create directory \"%s\": path exists but is not a directory!", + {{"errno", std::to_string(errno)}}, directory); } } @@ -412,7 +541,8 @@ void LocalFileSystem::RemoveDirectory(const string &directory) { void LocalFileSystem::RemoveFile(const string &filename) { if (std::remove(filename.c_str()) != 0) { - throw IOException("Could not remove file \"%s\": %s", filename, strerror(errno)); + throw IOException("Could not remove file \"%s\": %s", {{"errno", std::to_string(errno)}}, filename, + strerror(errno)); } } @@ -461,7 +591,7 @@ void LocalFileSystem::FileSync(FileHandle &handle) { void LocalFileSystem::MoveFile(const string &source, const string &target) { //! FIXME: rename does not guarantee atomicity or overwriting target file if it exists if (rename(source.c_str(), target.c_str()) != 0) { - throw IOException("Could not rename file!"); + throw IOException("Could not rename file!", {{"errno", std::to_string(errno)}}); } } @@ -515,6 +645,68 @@ struct WindowsFileHandle : public FileHandle { }; }; +static string AdditionalLockInfo(const std::wstring path) { + // try to find out if another process is holding the lock + + // init of the somewhat obscure "Windows Restart Manager" + // see also https://devblogs.microsoft.com/oldnewthing/20120217-00/?p=8283 + + DWORD session, status, reason; + WCHAR session_key[CCH_RM_SESSION_KEY + 1] = {0}; + + status = RmStartSession(&session, 0, session_key); + if (status != ERROR_SUCCESS) { + return ""; + } + + PCWSTR path_ptr = path.c_str(); + status = RmRegisterResources(session, 1, &path_ptr, 0, NULL, 0, NULL); + if (status != ERROR_SUCCESS) { + return ""; + } + UINT process_info_size_needed, process_info_size; + + // we first call with nProcInfo = 0 to find out how much to allocate + process_info_size = 0; + status = RmGetList(session, &process_info_size_needed, &process_info_size, NULL, &reason); + if (status != ERROR_MORE_DATA || process_info_size_needed == 0) { + return ""; + } + + // allocate + auto process_info_buffer = duckdb::unique_ptr(new RM_PROCESS_INFO[process_info_size_needed]); + auto process_info = process_info_buffer.get(); + + // now call again to get actual data + process_info_size = process_info_size_needed; + status = RmGetList(session, &process_info_size_needed, &process_info_size, process_info, &reason); + if (status != ERROR_SUCCESS || process_info_size == 0) { + return ""; + } + + string conflict_string = "File is already open in "; + + for (UINT process_idx = 0; process_idx < process_info_size; process_idx++) { + string process_name = WindowsUtil::UnicodeToUTF8(process_info[process_idx].strAppName); + auto pid = process_info[process_idx].Process.dwProcessId; + + // find out full path if possible + HANDLE process = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, pid); + if (process) { + WCHAR full_path[MAX_PATH]; + DWORD full_path_size = MAX_PATH; + if (QueryFullProcessImageNameW(process, 0, full_path, &full_path_size) && full_path_size <= MAX_PATH) { + process_name = WindowsUtil::UnicodeToUTF8(full_path); + } + CloseHandle(process); + } + conflict_string += StringUtil::Format("\n%s (PID %d)", process_name, pid); + } + + RmEndSession(session); + return conflict_string; +} + unique_ptr LocalFileSystem::OpenFile(const string &path_p, uint8_t flags, FileLockType lock_type, FileCompressionType compression, FileOpener *opener) { auto path = FileSystem::ExpandPath(path_p, opener); @@ -556,6 +748,12 @@ unique_ptr LocalFileSystem::OpenFile(const string &path_p, uint8_t f flags_and_attributes, NULL); if (hFile == INVALID_HANDLE_VALUE) { auto error = LocalFileSystem::GetLastErrorAsString(); + + auto better_error = AdditionalLockInfo(unicode_path); + if (!better_error.empty()) { + throw IOException(better_error); + } + throw IOException("Cannot open file \"%s\": %s", path.c_str(), error); } auto handle = make_uniq(*this, path.c_str(), hFile); diff --git a/src/common/multi_file_reader.cpp b/src/common/multi_file_reader.cpp index 9049008e304e..bbb59705e29f 100644 --- a/src/common/multi_file_reader.cpp +++ b/src/common/multi_file_reader.cpp @@ -1,12 +1,15 @@ #include "duckdb/common/multi_file_reader.hpp" -#include "duckdb/function/table_function.hpp" -#include "duckdb/main/config.hpp" -#include "duckdb/common/types/value.hpp" -#include "duckdb/planner/operator/logical_get.hpp" + #include "duckdb/common/exception.hpp" -#include "duckdb/function/function_set.hpp" #include "duckdb/common/hive_partitioning.hpp" #include "duckdb/common/types.hpp" +#include "duckdb/common/types/value.hpp" +#include "duckdb/function/function_set.hpp" +#include "duckdb/function/table_function.hpp" +#include "duckdb/main/config.hpp" +#include "duckdb/planner/operator/logical_get.hpp" + +#include namespace duckdb { @@ -32,6 +35,10 @@ vector MultiFileReader::GetFileList(ClientContext &context, const Value if (input.type().id() == LogicalTypeId::VARCHAR) { auto file_name = StringValue::Get(input); files = fs.GlobFiles(file_name, context, options); + + // Sort the files to ensure that the order is deterministic + std::sort(files.begin(), files.end()); + } else if (input.type().id() == LogicalTypeId::LIST) { for (auto &val : ListValue::GetChildren(input)) { if (val.IsNull()) { @@ -41,6 +48,7 @@ vector MultiFileReader::GetFileList(ClientContext &context, const Value throw ParserException("%s reader can only take a list of strings as a parameter", name); } auto glob_files = fs.GlobFiles(StringValue::Get(val), context, options); + std::sort(glob_files.begin(), glob_files.end()); files.insert(files.end(), glob_files.begin(), glob_files.end()); } } else { @@ -49,6 +57,7 @@ vector MultiFileReader::GetFileList(ClientContext &context, const Value if (files.empty() && options == FileGlobOptions::DISALLOW_EMPTY) { throw IOException("%s reader needs at least one file to read", name); } + return files; } @@ -308,6 +317,11 @@ void MultiFileReader::CreateMapping(const string &file_name, const vector &global_types, optional_ptr filters, + MultiFileReaderData &reader_data) { if (filters) { reader_data.filter_map.resize(global_types.size()); for (idx_t c = 0; c < reader_data.column_mapping.size(); c++) { @@ -363,8 +377,7 @@ void UnionByName::CombineUnionTypes(const vector &col_names, const vecto if (union_find != union_names_map.end()) { // given same name , union_col's type must compatible with col's type auto ¤t_type = union_col_types[union_find->second]; - LogicalType compatible_type; - compatible_type = LogicalType::MaxLogicalType(current_type, sql_types[col]); + auto compatible_type = LogicalType::ForceMaxLogicalType(current_type, sql_types[col]); union_col_types[union_find->second] = compatible_type; } else { union_names_map[col_names[col]] = union_col_names.size(); diff --git a/src/common/operator/cast_operators.cpp b/src/common/operator/cast_operators.cpp index 8de8cd5b1107..69ed385b0fa6 100644 --- a/src/common/operator/cast_operators.cpp +++ b/src/common/operator/cast_operators.cpp @@ -4,6 +4,8 @@ #include "duckdb/common/operator/numeric_cast.hpp" #include "duckdb/common/operator/decimal_cast_operators.hpp" #include "duckdb/common/operator/multiply.hpp" +#include "duckdb/common/operator/add.hpp" +#include "duckdb/common/operator/subtract.hpp" #include "duckdb/common/exception.hpp" #include "duckdb/common/limits.hpp" @@ -22,6 +24,8 @@ #include "fast_float/fast_float.h" #include "fmt/format.h" #include "duckdb/common/types/bit.hpp" +#include "duckdb/common/operator/integer_cast_operator.hpp" +#include "duckdb/common/operator/double_cast_operator.hpp" #include #include @@ -62,6 +66,11 @@ bool TryCast::Operation(bool input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(bool input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(bool input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -125,6 +134,11 @@ bool TryCast::Operation(int8_t input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(int8_t input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(int8_t input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -188,6 +202,11 @@ bool TryCast::Operation(int16_t input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(int16_t input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(int16_t input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -251,6 +270,11 @@ bool TryCast::Operation(int32_t input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(int32_t input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(int32_t input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -314,6 +338,11 @@ bool TryCast::Operation(int64_t input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(int64_t input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(int64_t input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -377,6 +406,11 @@ bool TryCast::Operation(hugeint_t input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(hugeint_t input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(hugeint_t input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -407,6 +441,74 @@ bool TryCast::Operation(hugeint_t input, double &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +//===--------------------------------------------------------------------===// +// Cast uhugeint_t -> Numeric +//===--------------------------------------------------------------------===// +template <> +bool TryCast::Operation(uhugeint_t input, bool &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, int8_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, int16_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, int32_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, int64_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, hugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, uint8_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, uint16_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, uint32_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, uint64_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, float &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + +template <> +bool TryCast::Operation(uhugeint_t input, double &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + //===--------------------------------------------------------------------===// // Cast uint8_t -> Numeric //===--------------------------------------------------------------------===// @@ -440,6 +542,11 @@ bool TryCast::Operation(uint8_t input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(uint8_t input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(uint8_t input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -503,6 +610,11 @@ bool TryCast::Operation(uint16_t input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(uint16_t input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(uint16_t input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -566,6 +678,11 @@ bool TryCast::Operation(uint32_t input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(uint32_t input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(uint32_t input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -629,6 +746,11 @@ bool TryCast::Operation(uint64_t input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(uint64_t input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(uint64_t input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -692,6 +814,11 @@ bool TryCast::Operation(float input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(float input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(float input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -755,6 +882,11 @@ bool TryCast::Operation(double input, hugeint_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); } +template <> +bool TryCast::Operation(double input, uhugeint_t &result, bool strict) { + return NumericTryCast::Operation(input, result, strict); +} + template <> bool TryCast::Operation(double input, uint8_t &result, bool strict) { return NumericTryCast::Operation(input, result, strict); @@ -788,314 +920,6 @@ bool TryCast::Operation(double input, double &result, bool strict) { //===--------------------------------------------------------------------===// // Cast String -> Numeric //===--------------------------------------------------------------------===// -template -struct IntegerCastData { - using Result = T; - Result result; - bool seen_decimal; -}; - -struct IntegerCastOperation { - template - static bool HandleDigit(T &state, uint8_t digit) { - using result_t = typename T::Result; - if (NEGATIVE) { - if (state.result < (NumericLimits::Minimum() + digit) / 10) { - return false; - } - state.result = state.result * 10 - digit; - } else { - if (state.result > (NumericLimits::Maximum() - digit) / 10) { - return false; - } - state.result = state.result * 10 + digit; - } - return true; - } - - template - static bool HandleHexDigit(T &state, uint8_t digit) { - using result_t = typename T::Result; - if (state.result > (NumericLimits::Maximum() - digit) / 16) { - return false; - } - state.result = state.result * 16 + digit; - return true; - } - - template - static bool HandleBinaryDigit(T &state, uint8_t digit) { - using result_t = typename T::Result; - if (state.result > (NumericLimits::Maximum() - digit) / 2) { - return false; - } - state.result = state.result * 2 + digit; - return true; - } - - template - static bool HandleExponent(T &state, int32_t exponent) { - using result_t = typename T::Result; - double dbl_res = state.result * std::pow(10.0L, exponent); - if (dbl_res < (double)NumericLimits::Minimum() || - dbl_res > (double)NumericLimits::Maximum()) { - return false; - } - state.result = (result_t)std::nearbyint(dbl_res); - return true; - } - - template - static bool HandleDecimal(T &state, uint8_t digit) { - if (state.seen_decimal) { - return true; - } - state.seen_decimal = true; - // round the integer based on what is after the decimal point - // if digit >= 5, then we round up (or down in case of negative numbers) - auto increment = digit >= 5; - if (!increment) { - return true; - } - if (NEGATIVE) { - if (state.result == NumericLimits::Minimum()) { - return false; - } - state.result--; - } else { - if (state.result == NumericLimits::Maximum()) { - return false; - } - state.result++; - } - return true; - } - - template - static bool Finalize(T &state) { - return true; - } -}; - -template -static bool IntegerCastLoop(const char *buf, idx_t len, T &result, bool strict) { - idx_t start_pos; - if (NEGATIVE) { - start_pos = 1; - } else { - if (*buf == '+') { - if (strict) { - // leading plus is not allowed in strict mode - return false; - } - start_pos = 1; - } else { - start_pos = 0; - } - } - idx_t pos = start_pos; - while (pos < len) { - if (!StringUtil::CharacterIsDigit(buf[pos])) { - // not a digit! - if (buf[pos] == decimal_separator) { - if (strict) { - return false; - } - bool number_before_period = pos > start_pos; - // decimal point: we accept decimal values for integers as well - // we just truncate them - // make sure everything after the period is a number - pos++; - idx_t start_digit = pos; - while (pos < len) { - if (!StringUtil::CharacterIsDigit(buf[pos])) { - break; - } - if (!OP::template HandleDecimal(result, buf[pos] - '0')) { - return false; - } - pos++; - } - // make sure there is either (1) one number after the period, or (2) one number before the period - // i.e. we accept "1." and ".1" as valid numbers, but not "." - if (!(number_before_period || pos > start_digit)) { - return false; - } - if (pos >= len) { - break; - } - } - if (StringUtil::CharacterIsSpace(buf[pos])) { - // skip any trailing spaces - while (++pos < len) { - if (!StringUtil::CharacterIsSpace(buf[pos])) { - return false; - } - } - break; - } - if (ALLOW_EXPONENT) { - if (buf[pos] == 'e' || buf[pos] == 'E') { - if (pos == start_pos) { - return false; - } - pos++; - if (pos >= len) { - return false; - } - using ExponentData = IntegerCastData; - ExponentData exponent {0, false}; - int negative = buf[pos] == '-'; - if (negative) { - if (!IntegerCastLoop( - buf + pos, len - pos, exponent, strict)) { - return false; - } - } else { - if (!IntegerCastLoop( - buf + pos, len - pos, exponent, strict)) { - return false; - } - } - return OP::template HandleExponent(result, exponent.result); - } - } - return false; - } - uint8_t digit = buf[pos++] - '0'; - if (!OP::template HandleDigit(result, digit)) { - return false; - } - } - if (!OP::template Finalize(result)) { - return false; - } - return pos > start_pos; -} - -template -static bool IntegerHexCastLoop(const char *buf, idx_t len, T &result, bool strict) { - if (ALLOW_EXPONENT || NEGATIVE) { - return false; - } - idx_t start_pos = 1; - idx_t pos = start_pos; - char current_char; - while (pos < len) { - current_char = StringUtil::CharacterToLower(buf[pos]); - if (!StringUtil::CharacterIsHex(current_char)) { - return false; - } - uint8_t digit; - if (current_char >= 'a') { - digit = current_char - 'a' + 10; - } else { - digit = current_char - '0'; - } - pos++; - if (!OP::template HandleHexDigit(result, digit)) { - return false; - } - } - if (!OP::template Finalize(result)) { - return false; - } - return pos > start_pos; -} - -template -static bool IntegerBinaryCastLoop(const char *buf, idx_t len, T &result, bool strict) { - if (ALLOW_EXPONENT || NEGATIVE) { - return false; - } - idx_t start_pos = 1; - idx_t pos = start_pos; - uint8_t digit; - char current_char; - while (pos < len) { - current_char = buf[pos]; - if (current_char == '_' && pos > start_pos) { - // skip underscore, if it is not the first character - pos++; - if (pos == len) { - // we cant end on an underscore either - return false; - } - continue; - } else if (current_char == '0') { - digit = 0; - } else if (current_char == '1') { - digit = 1; - } else { - return false; - } - pos++; - if (!OP::template HandleBinaryDigit(result, digit)) { - return false; - } - } - if (!OP::template Finalize(result)) { - return false; - } - return pos > start_pos; -} - -template -static bool TryIntegerCast(const char *buf, idx_t len, T &result, bool strict) { - // skip any spaces at the start - while (len > 0 && StringUtil::CharacterIsSpace(*buf)) { - buf++; - len--; - } - if (len == 0) { - return false; - } - if (ZERO_INITIALIZE) { - memset(&result, 0, sizeof(T)); - } - // if the number is negative, we set the negative flag and skip the negative sign - if (*buf == '-') { - if (!IS_SIGNED) { - // Need to check if its not -0 - idx_t pos = 1; - while (pos < len) { - if (buf[pos++] != '0') { - return false; - } - } - } - return IntegerCastLoop(buf, len, result, strict); - } - if (len > 1 && *buf == '0') { - if (buf[1] == 'x' || buf[1] == 'X') { - // If it starts with 0x or 0X, we parse it as a hex value - buf++; - len--; - return IntegerHexCastLoop(buf, len, result, strict); - } else if (buf[1] == 'b' || buf[1] == 'B') { - // If it starts with 0b or 0B, we parse it as a binary value - buf++; - len--; - return IntegerBinaryCastLoop(buf, len, result, strict); - } else if (strict && StringUtil::CharacterIsDigit(buf[1])) { - // leading zeros are not allowed in strict mode - return false; - } - } - return IntegerCastLoop(buf, len, result, strict); -} - -template -static inline bool TrySimpleIntegerCast(const char *buf, idx_t len, T &result, bool strict) { - IntegerCastData data; - if (TryIntegerCast, IS_SIGNED>(buf, len, data, strict)) { - result = data.result; - return true; - } - return false; -} - template <> bool TryCast::Operation(string_t input, bool &result, bool strict) { auto input_data = input.GetData(); @@ -1174,44 +998,6 @@ bool TryCast::Operation(string_t input, uint64_t &result, bool strict) { return TrySimpleIntegerCast(input.GetData(), input.GetSize(), result, strict); } -template -static bool TryDoubleCast(const char *buf, idx_t len, T &result, bool strict) { - // skip any spaces at the start - while (len > 0 && StringUtil::CharacterIsSpace(*buf)) { - buf++; - len--; - } - if (len == 0) { - return false; - } - if (*buf == '+') { - if (strict) { - // plus is not allowed in strict mode - return false; - } - buf++; - len--; - } - if (strict && len >= 2) { - if (buf[0] == '0' && StringUtil::CharacterIsDigit(buf[1])) { - // leading zeros are not allowed in strict mode - return false; - } - } - auto endptr = buf + len; - auto parse_result = duckdb_fast_float::from_chars(buf, buf + len, result, decimal_separator); - if (parse_result.ec != std::errc()) { - return false; - } - auto current_end = parse_result.ptr; - if (!strict) { - while (current_end < endptr && StringUtil::CharacterIsSpace(*current_end)) { - current_end++; - } - } - return current_end == endptr; -} - template <> bool TryCast::Operation(string_t input, float &result, bool strict) { return TryDoubleCast(input.GetData(), input.GetSize(), result, strict); @@ -1224,7 +1010,7 @@ bool TryCast::Operation(string_t input, double &result, bool strict) { template <> bool TryCastErrorMessageCommaSeparated::Operation(string_t input, float &result, string *error_message, bool strict) { - if (!TryDoubleCast(input.GetData(), input.GetSize(), result, strict)) { + if (!TryDoubleCast(input.GetData(), input.GetSize(), result, strict, ',')) { HandleCastError::AssignError(StringUtil::Format("Could not cast string to float: \"%s\"", input.GetString()), error_message); return false; @@ -1234,7 +1020,7 @@ bool TryCastErrorMessageCommaSeparated::Operation(string_t input, float &result, template <> bool TryCastErrorMessageCommaSeparated::Operation(string_t input, double &result, string *error_message, bool strict) { - if (!TryDoubleCast(input.GetData(), input.GetSize(), result, strict)) { + if (!TryDoubleCast(input.GetData(), input.GetSize(), result, strict, ',')) { HandleCastError::AssignError(StringUtil::Format("Could not cast string to double: \"%s\"", input.GetString()), error_message); return false; @@ -1368,11 +1154,22 @@ timestamp_t CastTimestampUsToSec::Operation(timestamp_t input) { timestamp_t cast_timestamp(Timestamp::GetEpochSeconds(input)); return cast_timestamp; } + template <> timestamp_t CastTimestampMsToUs::Operation(timestamp_t input) { return Timestamp::FromEpochMs(input.value); } +template <> +date_t CastTimestampMsToDate::Operation(timestamp_t input) { + return Timestamp::GetDate(Timestamp::FromEpochMs(input.value)); +} + +template <> +dtime_t CastTimestampMsToTime::Operation(timestamp_t input) { + return Timestamp::GetTime(Timestamp::FromEpochMs(input.value)); +} + template <> timestamp_t CastTimestampMsToNs::Operation(timestamp_t input) { auto us = CastTimestampMsToUs::Operation(input); @@ -1385,8 +1182,15 @@ timestamp_t CastTimestampNsToUs::Operation(timestamp_t input) { } template <> -timestamp_t CastTimestampSecToUs::Operation(timestamp_t input) { - return Timestamp::FromEpochSeconds(input.value); +date_t CastTimestampNsToDate::Operation(timestamp_t input) { + const auto us = CastTimestampNsToUs::Operation(input); + return Timestamp::GetDate(us); +} + +template <> +dtime_t CastTimestampNsToTime::Operation(timestamp_t input) { + const auto us = CastTimestampNsToUs::Operation(input); + return Timestamp::GetTime(us); } template <> @@ -1395,12 +1199,29 @@ timestamp_t CastTimestampSecToMs::Operation(timestamp_t input) { return CastTimestampUsToMs::Operation(us); } +template <> +timestamp_t CastTimestampSecToUs::Operation(timestamp_t input) { + return Timestamp::FromEpochSeconds(input.value); +} + template <> timestamp_t CastTimestampSecToNs::Operation(timestamp_t input) { auto us = CastTimestampSecToUs::Operation(input); return CastTimestampUsToNs::Operation(us); } +template <> +date_t CastTimestampSecToDate::Operation(timestamp_t input) { + const auto us = CastTimestampSecToUs::Operation(input); + return Timestamp::GetDate(us); +} + +template <> +dtime_t CastTimestampSecToTime::Operation(timestamp_t input) { + const auto us = CastTimestampSecToUs::Operation(input); + return Timestamp::GetTime(us); +} + //===--------------------------------------------------------------------===// // Cast To Timestamp //===--------------------------------------------------------------------===// @@ -1558,9 +1379,17 @@ bool CastFromBitToNumeric::Operation(string_t input, hugeint_t &result, bool str throw ConversionException("Bitstring doesn't fit inside of %s", GetTypeId()); } Bit::BitToNumeric(input, result); - if (result < NumericLimits::Minimum()) { - throw ConversionException("Minimum limit for HUGEINT is %s", NumericLimits::Minimum().ToString()); + return (true); +} + +template <> +bool CastFromBitToNumeric::Operation(string_t input, uhugeint_t &result, bool strict) { + D_ASSERT(input.GetSize() > 1); + + if (input.GetSize() - 1 > sizeof(uhugeint_t)) { + throw ConversionException("Bitstring doesn't fit inside of %s", GetTypeId()); } + Bit::BitToNumeric(input, result); return (true); } @@ -1694,7 +1523,7 @@ bool TryCastErrorMessage::Operation(string_t input, interval_t &result, string * } //===--------------------------------------------------------------------===// -// Cast From Hugeint +// Cast to hugeint / uhugeint //===--------------------------------------------------------------------===// // parsing hugeint from string is done a bit differently for performance reasons // for other integer types we keep track of a single value @@ -1703,131 +1532,221 @@ bool TryCastErrorMessage::Operation(string_t input, interval_t &result, string * // for that reason, we parse numbers first into an int64 value // when that value is full, we perform a HUGEINT multiplication to flush it into the hugeint // this takes the number of HUGEINT multiplications down from [0-38] to [0-2] + +template struct HugeIntCastData { - hugeint_t hugeint; + using ResultType = T; + using Operation = OP; + ResultType result; int64_t intermediate; uint8_t digits; - bool decimal; + + ResultType decimal; + uint16_t decimal_total_digits; + int64_t decimal_intermediate; + uint16_t decimal_intermediate_digits; bool Flush() { if (digits == 0 && intermediate == 0) { return true; } - if (hugeint.lower != 0 || hugeint.upper != 0) { + if (result.lower != 0 || result.upper != 0) { if (digits > 38) { return false; } - if (!Hugeint::TryMultiply(hugeint, Hugeint::POWERS_OF_TEN[digits], hugeint)) { + if (!OP::TryMultiply(result, OP::POWERS_OF_TEN[digits], result)) { return false; } } - if (!Hugeint::AddInPlace(hugeint, hugeint_t(intermediate))) { + if (!OP::TryAddInPlace(result, ResultType(intermediate))) { return false; } digits = 0; intermediate = 0; return true; } + + bool FlushDecimal() { + if (decimal_intermediate_digits == 0 && decimal_intermediate == 0) { + return true; + } + if (decimal.lower != 0 || decimal.upper != 0) { + if (decimal_intermediate_digits > 38) { + return false; + } + if (!OP::TryMultiply(decimal, OP::POWERS_OF_TEN[decimal_intermediate_digits], decimal)) { + return false; + } + } + if (!OP::TryAddInPlace(decimal, ResultType(decimal_intermediate))) { + return false; + } + decimal_total_digits += decimal_intermediate_digits; + decimal_intermediate_digits = 0; + decimal_intermediate = 0; + return true; + } }; struct HugeIntegerCastOperation { template - static bool HandleDigit(T &result, uint8_t digit) { + static bool HandleDigit(T &state, uint8_t digit) { if (NEGATIVE) { - if (result.intermediate < (NumericLimits::Minimum() + digit) / 10) { + if (DUCKDB_UNLIKELY(state.intermediate < (NumericLimits::Minimum() + digit) / 10)) { // intermediate is full: need to flush it - if (!result.Flush()) { + if (!state.Flush()) { return false; } } - result.intermediate = result.intermediate * 10 - digit; + state.intermediate = state.intermediate * 10 - digit; } else { - if (result.intermediate > (NumericLimits::Maximum() - digit) / 10) { - if (!result.Flush()) { + if (DUCKDB_UNLIKELY(state.intermediate > (NumericLimits::Maximum() - digit) / 10)) { + if (!state.Flush()) { return false; } } - result.intermediate = result.intermediate * 10 + digit; + state.intermediate = state.intermediate * 10 + digit; } - result.digits++; + state.digits++; return true; } template - static bool HandleHexDigit(T &result, uint8_t digit) { + static bool HandleHexDigit(T &state, uint8_t digit) { return false; } template - static bool HandleBinaryDigit(T &result, uint8_t digit) { - if (result.intermediate > (NumericLimits::Maximum() - digit) / 2) { - // intermediate is full: need to flush it - if (!result.Flush()) { - return false; - } - } - result.intermediate = result.intermediate * 2 + digit; - result.digits++; - return true; + static bool HandleBinaryDigit(T &state, uint8_t digit) { + return false; } template - static bool HandleExponent(T &result, int32_t exponent) { - if (!result.Flush()) { + static bool HandleExponent(T &state, int32_t exponent) { + using result_t = typename T::ResultType; + if (!state.Flush()) { return false; } - if (exponent < -38 || exponent > 38) { - // out of range for exact exponent: use double and convert - double dbl_res = Hugeint::Cast(result.hugeint) * std::pow(10.0L, exponent); - if (dbl_res < Hugeint::Cast(NumericLimits::Minimum()) || - dbl_res > Hugeint::Cast(NumericLimits::Maximum())) { + + int32_t e = exponent; + if (e < -38) { + state.result = 0; + return true; + } + + // Negative Exponent + result_t remainder = 0; + if (e < 0) { + state.result = T::Operation::DivMod(state.result, T::Operation::POWERS_OF_TEN[-e], remainder); + if (remainder < 0) { + remainder *= -1; + } + state.decimal = remainder; + state.decimal_total_digits = -e; + state.decimal_intermediate = 0; + state.decimal_intermediate_digits = 0; + return Finalize(state); + } + + // Positive Exponent + if (state.result != 0) { + if (e > 38 || !TryMultiplyOperator::Operation(state.result, T::Operation::POWERS_OF_TEN[e], state.result)) { return false; } - result.hugeint = Hugeint::Convert(dbl_res); - return true; } - if (exponent < 0) { - // negative exponent: divide by power of 10 - result.hugeint = Hugeint::Divide(result.hugeint, Hugeint::POWERS_OF_TEN[-exponent]); - return true; + if (!state.FlushDecimal()) { + return false; + } + if (state.decimal == 0) { + return Finalize(state); + } + + e = exponent - state.decimal_total_digits; + if (e < 0) { + state.decimal = T::Operation::DivMod(state.decimal, T::Operation::POWERS_OF_TEN[-e], remainder); + state.decimal_total_digits -= (exponent); } else { - // positive exponent: multiply by power of 10 - return Hugeint::TryMultiply(result.hugeint, Hugeint::POWERS_OF_TEN[exponent], result.hugeint); + if (e > 38 || + !TryMultiplyOperator::Operation(state.decimal, T::Operation::POWERS_OF_TEN[e], state.decimal)) { + return false; + } } + + if (NEGATIVE) { + if (!TrySubtractOperator::Operation(state.result, state.decimal, state.result)) { + return false; + } + } else if (!TryAddOperator::Operation(state.result, state.decimal, state.result)) { + return false; + } + state.decimal = remainder; + return Finalize(state); } template - static bool HandleDecimal(T &result, uint8_t digit) { - // Integer casts round - if (!result.decimal) { - if (!result.Flush()) { + static bool HandleDecimal(T &state, uint8_t digit) { + if (!state.Flush()) { + return false; + } + if (DUCKDB_UNLIKELY(state.decimal_intermediate > (NumericLimits::Maximum() - digit) / 10)) { + if (!state.FlushDecimal()) { return false; } - if (NEGATIVE) { - result.intermediate = -(digit >= 5); - } else { - result.intermediate = (digit >= 5); - } } - result.decimal = true; - + state.decimal_intermediate = state.decimal_intermediate * 10 + digit; + state.decimal_intermediate_digits++; return true; } template - static bool Finalize(T &result) { - return result.Flush(); + static bool Finalize(T &state) { + using result_t = typename T::ResultType; + if (!state.Flush() || !state.FlushDecimal()) { + return false; + } + + if (state.decimal == 0 || state.decimal_total_digits == 0) { + return true; + } + + // Get the first (left-most) digit of the decimals + while (state.decimal_total_digits > 39) { + state.decimal /= T::Operation::POWERS_OF_TEN[39]; + state.decimal_total_digits -= 39; + } + D_ASSERT((state.decimal_total_digits - 1) >= 0 && (state.decimal_total_digits - 1) <= 39); + state.decimal /= T::Operation::POWERS_OF_TEN[state.decimal_total_digits - 1]; + + if (state.decimal >= 5) { + if (NEGATIVE) { + return TrySubtractOperator::Operation(state.result, result_t(1), state.result); + } else { + return TryAddOperator::Operation(state.result, result_t(1), state.result); + } + } + return true; } }; template <> bool TryCast::Operation(string_t input, hugeint_t &result, bool strict) { - HugeIntCastData data; - if (!TryIntegerCast(input.GetData(), input.GetSize(), data, - strict)) { + HugeIntCastData state {}; + if (!TryIntegerCast, true, true, HugeIntegerCastOperation>( + input.GetData(), input.GetSize(), state, strict)) { + return false; + } + result = state.result; + return true; +} + +template <> +bool TryCast::Operation(string_t input, uhugeint_t &result, bool strict) { + HugeIntCastData state {}; + if (!TryIntegerCast, false, true, HugeIntegerCastOperation>( + input.GetData(), input.GetSize(), state, strict)) { return false; } - result = data.hugeint; + result = state.result; return true; } @@ -1835,10 +1754,10 @@ bool TryCast::Operation(string_t input, hugeint_t &result, bool strict) { // Decimal String Cast //===--------------------------------------------------------------------===// -template +template struct DecimalCastData { - typedef TYPE type_t; - TYPE result; + using StoreType = T; + StoreType result; uint8_t width; uint8_t scale; uint8_t digit_count; @@ -1866,12 +1785,12 @@ struct DecimalCastOperation { } state.digit_count++; if (NEGATIVE) { - if (state.result < (NumericLimits::Minimum() / 10)) { + if (state.result < (NumericLimits::Minimum() / 10)) { return false; } state.result = state.result * 10 - digit; } else { - if (state.result > (NumericLimits::Maximum() / 10)) { + if (state.result > (NumericLimits::Maximum() / 10)) { return false; } state.result = state.result * 10 + digit; @@ -2417,6 +2336,46 @@ bool TryCastToDecimal::Operation(hugeint_t input, hugeint_t &result, string *err return HugeintToDecimalCast(input, result, error_message, width, scale); } +//===--------------------------------------------------------------------===// +// Uhugeint -> Decimal Cast +//===--------------------------------------------------------------------===// +template +bool UhugeintToDecimalCast(uhugeint_t input, DST &result, string *error_message, uint8_t width, uint8_t scale) { + // check for overflow + uhugeint_t max_width = Uhugeint::POWERS_OF_TEN[width - scale]; + if (input >= max_width) { + string error = StringUtil::Format("Could not cast value %s to DECIMAL(%d,%d)", input.ToString(), width, scale); + HandleCastError::AssignError(error, error_message); + return false; + } + result = Uhugeint::Cast(input * Uhugeint::POWERS_OF_TEN[scale]); + return true; +} + +template <> +bool TryCastToDecimal::Operation(uhugeint_t input, int16_t &result, string *error_message, uint8_t width, + uint8_t scale) { + return UhugeintToDecimalCast(input, result, error_message, width, scale); +} + +template <> +bool TryCastToDecimal::Operation(uhugeint_t input, int32_t &result, string *error_message, uint8_t width, + uint8_t scale) { + return UhugeintToDecimalCast(input, result, error_message, width, scale); +} + +template <> +bool TryCastToDecimal::Operation(uhugeint_t input, int64_t &result, string *error_message, uint8_t width, + uint8_t scale) { + return UhugeintToDecimalCast(input, result, error_message, width, scale); +} + +template <> +bool TryCastToDecimal::Operation(uhugeint_t input, hugeint_t &result, string *error_message, uint8_t width, + uint8_t scale) { + return UhugeintToDecimalCast(input, result, error_message, width, scale); +} + //===--------------------------------------------------------------------===// // Float/Double -> Decimal Cast //===--------------------------------------------------------------------===// @@ -2721,6 +2680,30 @@ bool TryCastFromDecimal::Operation(hugeint_t input, hugeint_t &result, string *e return TryCastHugeDecimalToNumeric(input, result, error_message, scale); } +//===--------------------------------------------------------------------===// +// Cast Decimal -> uhugeint_t +//===--------------------------------------------------------------------===// +template <> +bool TryCastFromDecimal::Operation(int16_t input, uhugeint_t &result, string *error_message, uint8_t width, + uint8_t scale) { + return TryCastDecimalToNumeric(input, result, error_message, scale); +} +template <> +bool TryCastFromDecimal::Operation(int32_t input, uhugeint_t &result, string *error_message, uint8_t width, + uint8_t scale) { + return TryCastDecimalToNumeric(input, result, error_message, scale); +} +template <> +bool TryCastFromDecimal::Operation(int64_t input, uhugeint_t &result, string *error_message, uint8_t width, + uint8_t scale) { + return TryCastDecimalToNumeric(input, result, error_message, scale); +} +template <> +bool TryCastFromDecimal::Operation(hugeint_t input, uhugeint_t &result, string *error_message, uint8_t width, + uint8_t scale) { + return TryCastHugeDecimalToNumeric(input, result, error_message, scale); +} + //===--------------------------------------------------------------------===// // Decimal -> Float/Double Cast //===--------------------------------------------------------------------===// diff --git a/src/common/operator/convert_to_string.cpp b/src/common/operator/convert_to_string.cpp index d2a20106e7f3..758717759f79 100644 --- a/src/common/operator/convert_to_string.cpp +++ b/src/common/operator/convert_to_string.cpp @@ -51,6 +51,10 @@ string ConvertToString::Operation(hugeint_t input) { return StandardStringCast(input); } template <> +string ConvertToString::Operation(uhugeint_t input) { + return StandardStringCast(input); +} +template <> string ConvertToString::Operation(float input) { return StandardStringCast(input); } diff --git a/src/common/operator/string_cast.cpp b/src/common/operator/string_cast.cpp index 633c14085c63..2da6949abe50 100644 --- a/src/common/operator/string_cast.cpp +++ b/src/common/operator/string_cast.cpp @@ -81,6 +81,11 @@ duckdb::string_t StringCast::Operation(hugeint_t input, Vector &vector) { return HugeintToStringCast::FormatSigned(input, vector); } +template <> +duckdb::string_t StringCast::Operation(uhugeint_t input, Vector &vector) { + return UhugeintToStringCast::Format(input, vector); +} + template <> duckdb::string_t StringCast::Operation(date_t input, Vector &vector) { if (input == date_t::infinity()) { diff --git a/src/common/preserved_error.cpp b/src/common/preserved_error.cpp deleted file mode 100644 index 7e77660176eb..000000000000 --- a/src/common/preserved_error.cpp +++ /dev/null @@ -1,87 +0,0 @@ -#include "duckdb/common/preserved_error.hpp" -#include "duckdb/common/exception.hpp" - -#include "duckdb/common/string_util.hpp" -#include "duckdb/common/to_string.hpp" -#include "duckdb/common/types.hpp" - -namespace duckdb { - -PreservedError::PreservedError() : initialized(false), exception_instance(nullptr) { -} - -PreservedError::PreservedError(const Exception &exception) - : initialized(true), type(exception.type), raw_message(SanitizeErrorMessage(exception.RawMessage())), - exception_instance(exception.Copy()) { -} - -PreservedError::PreservedError(const string &message) - : initialized(true), type(ExceptionType::INVALID), raw_message(SanitizeErrorMessage(message)), - exception_instance(nullptr) { - // Given a message in the form: xxxxx Error: yyyyy - // Try to match xxxxxxx with known error so to potentially reconstruct the original error type - auto position_semicolon = raw_message.find(':'); - if (position_semicolon == std::string::npos) { - // Semicolon not found, bail out - return; - } - if (position_semicolon + 2 >= raw_message.size()) { - // Not enough characters afterward, bail out - return; - } - string err = raw_message.substr(0, position_semicolon); - string msg = raw_message.substr(position_semicolon + 2); - if (err.size() > 6 && err.substr(err.size() - 6) == " Error" && !msg.empty()) { - ExceptionType new_type = Exception::StringToExceptionType(err.substr(0, err.size() - 6)); - if (new_type != type) { - type = new_type; - raw_message = msg; - } - } -} - -const string &PreservedError::Message() { - if (final_message.empty()) { - final_message = Exception::ExceptionTypeToString(type) + " Error: " + raw_message; - } - return final_message; -} - -string PreservedError::SanitizeErrorMessage(string error) { - return StringUtil::Replace(std::move(error), string("\0", 1), "\\0"); -} - -void PreservedError::Throw(const string &prepended_message) const { - D_ASSERT(initialized); - if (!prepended_message.empty()) { - string new_message = prepended_message + raw_message; - Exception::ThrowAsTypeWithMessage(type, new_message, exception_instance); - } - Exception::ThrowAsTypeWithMessage(type, raw_message, exception_instance); -} - -const ExceptionType &PreservedError::Type() const { - D_ASSERT(initialized); - return this->type; -} - -PreservedError &PreservedError::AddToMessage(const string &prepended_message) { - raw_message = prepended_message + raw_message; - return *this; -} - -PreservedError::operator bool() const { - return initialized; -} - -bool PreservedError::operator==(const PreservedError &other) const { - if (initialized != other.initialized) { - return false; - } - if (type != other.type) { - return false; - } - return raw_message == other.raw_message; -} - -} // namespace duckdb diff --git a/src/common/progress_bar/progress_bar.cpp b/src/common/progress_bar/progress_bar.cpp index 26e56ed2d700..9c6a75fb6f86 100644 --- a/src/common/progress_bar/progress_bar.cpp +++ b/src/common/progress_bar/progress_bar.cpp @@ -4,6 +4,47 @@ namespace duckdb { +void QueryProgress::Initialize() { + percentage = -1; + rows_processed = 0; + total_rows_to_process = 0; +} + +void QueryProgress::Restart() { + percentage = 0; + rows_processed = 0; + total_rows_to_process = 0; +} + +double QueryProgress::GetPercentage() { + return percentage; +} +uint64_t QueryProgress::GetRowsProcesseed() { + return rows_processed; +} +uint64_t QueryProgress::GetTotalRowsToProcess() { + return total_rows_to_process; +} + +QueryProgress::QueryProgress() { + Initialize(); +} + +QueryProgress &QueryProgress::operator=(const QueryProgress &other) { + if (this != &other) { + percentage = other.percentage.load(); + rows_processed = other.rows_processed.load(); + total_rows_to_process = other.total_rows_to_process.load(); + } + return *this; +} + +QueryProgress::QueryProgress(const QueryProgress &other) { + percentage = other.percentage.load(); + rows_processed = other.rows_processed.load(); + total_rows_to_process = other.total_rows_to_process.load(); +} + void ProgressBar::SystemOverrideCheck(ClientConfig &config) { if (config.system_progress_bar_disable_reason != nullptr) { throw InvalidInputException("Could not change the progress bar setting because: '%s'", @@ -17,19 +58,19 @@ unique_ptr ProgressBar::DefaultProgressBarDisplay() { ProgressBar::ProgressBar(Executor &executor, idx_t show_progress_after, progress_bar_display_create_func_t create_display_func) - : executor(executor), show_progress_after(show_progress_after), current_percentage(-1) { + : executor(executor), show_progress_after(show_progress_after) { if (create_display_func) { display = create_display_func(); } } -double ProgressBar::GetCurrentPercentage() { - return current_percentage; +QueryProgress ProgressBar::GetDetailedQueryProgress() { + return query_progress; } void ProgressBar::Start() { profiler.Start(); - current_percentage = 0; + query_progress.Initialize(); supported = true; } @@ -55,35 +96,40 @@ bool ProgressBar::ShouldPrint(bool final) const { if (!supported) { return false; } - return current_percentage > -1; + return query_progress.percentage > -1; } void ProgressBar::Update(bool final) { if (!final && !supported) { return; } - double new_percentage; - supported = executor.GetPipelinesProgress(new_percentage); + double new_percentage = -1; + auto rows_processed = query_progress.rows_processed.load(); + auto total_rows_to_process = query_progress.total_rows_to_process.load(); + supported = executor.GetPipelinesProgress(new_percentage, rows_processed, total_rows_to_process); + query_progress.rows_processed = rows_processed; + query_progress.total_rows_to_process = total_rows_to_process; + if (!final && !supported) { return; } - if (new_percentage > current_percentage) { - current_percentage = new_percentage; + if (new_percentage > query_progress.percentage) { + query_progress.percentage = new_percentage; } if (ShouldPrint(final)) { #ifndef DUCKDB_DISABLE_PRINT if (final) { FinishProgressBarPrint(); } else { - PrintProgress(current_percentage); + PrintProgress(query_progress.percentage); } #endif } } -void ProgressBar::PrintProgress(int current_percentage) { +void ProgressBar::PrintProgress(int current_percentage_p) { D_ASSERT(display); - display->Update(current_percentage); + display->Update(current_percentage_p); } void ProgressBar::FinishProgressBarPrint() { @@ -93,6 +139,9 @@ void ProgressBar::FinishProgressBarPrint() { D_ASSERT(display); display->Finish(); finished = true; + if (query_progress.percentage == 0) { + query_progress.Initialize(); + } } } // namespace duckdb diff --git a/src/common/progress_bar/terminal_progress_bar_display.cpp b/src/common/progress_bar/terminal_progress_bar_display.cpp index a4b10a4d72a4..e20797125595 100644 --- a/src/common/progress_bar/terminal_progress_bar_display.cpp +++ b/src/common/progress_bar/terminal_progress_bar_display.cpp @@ -4,13 +4,17 @@ namespace duckdb { -void TerminalProgressBarDisplay::PrintProgressInternal(int percentage) { +int32_t TerminalProgressBarDisplay::NormalizePercentage(double percentage) { if (percentage > 100) { - percentage = 100; + return 100; } if (percentage < 0) { - percentage = 0; + return 0; } + return int32_t(percentage); +} + +void TerminalProgressBarDisplay::PrintProgressInternal(int32_t percentage) { string result; // we divide the number of blocks by the percentage // 0% = 0 @@ -53,8 +57,13 @@ void TerminalProgressBarDisplay::PrintProgressInternal(int percentage) { } void TerminalProgressBarDisplay::Update(double percentage) { - PrintProgressInternal(percentage); + auto percentage_int = NormalizePercentage(percentage); + if (percentage_int == rendered_percentage) { + return; + } + PrintProgressInternal(percentage_int); Printer::Flush(OutputStream::STREAM_STDOUT); + rendered_percentage = percentage_int; } void TerminalProgressBarDisplay::Finish() { diff --git a/src/common/radix_partitioning.cpp b/src/common/radix_partitioning.cpp index b4dc39bd3a16..69b26e050d14 100644 --- a/src/common/radix_partitioning.cpp +++ b/src/common/radix_partitioning.cpp @@ -204,7 +204,7 @@ void RadixPartitionedTupleData::ComputePartitionIndices(Vector &row_locations, i Vector &partition_indices) const { Vector intermediate(LogicalType::HASH); partitions[0]->Gather(row_locations, *FlatVector::IncrementalSelectionVector(), count, hash_col_idx, intermediate, - *FlatVector::IncrementalSelectionVector()); + *FlatVector::IncrementalSelectionVector(), nullptr); RadixBitsSwitch(radix_bits, intermediate, partition_indices, count); } diff --git a/src/common/row_operations/row_aggregate.cpp b/src/common/row_operations/row_aggregate.cpp index 6c89d887006c..f6e9e6cbb374 100644 --- a/src/common/row_operations/row_aggregate.cpp +++ b/src/common/row_operations/row_aggregate.cpp @@ -82,7 +82,8 @@ void RowOperations::CombineStates(RowOperationsState &state, TupleDataLayout &la for (auto &aggr : layout.GetAggregates()) { D_ASSERT(aggr.function.combine); - AggregateInputData aggr_input_data(aggr.GetFunctionData(), state.allocator); + AggregateInputData aggr_input_data(aggr.GetFunctionData(), state.allocator, + AggregateCombineType::ALLOW_DESTRUCTIVE); aggr.function.combine(sources, targets, aggr_input_data, count); // Move to the next aggregate states diff --git a/src/common/row_operations/row_gather.cpp b/src/common/row_operations/row_gather.cpp index 631c5ffa65ba..0073cefcca66 100644 --- a/src/common/row_operations/row_gather.cpp +++ b/src/common/row_operations/row_gather.cpp @@ -9,6 +9,7 @@ #include "duckdb/common/types/row/row_data_collection.hpp" #include "duckdb/common/types/row/row_layout.hpp" #include "duckdb/common/types/row/tuple_data_layout.hpp" +#include "duckdb/common/uhugeint.hpp" namespace duckdb { @@ -112,7 +113,8 @@ static void GatherNestedVector(Vector &rows, const SelectionVector &row_sel, Vec } // Deserialise into the selected locations - RowOperations::HeapGather(col, count, col_sel, col_no, data_locations.get(), mask_locations.get()); + NestedValidity parent_validity(mask_locations.get(), col_no); + RowOperations::HeapGather(col, count, col_sel, data_locations.get(), &parent_validity); } void RowOperations::Gather(Vector &rows, const SelectionVector &row_sel, Vector &col, const SelectionVector &col_sel, @@ -135,6 +137,9 @@ void RowOperations::Gather(Vector &rows, const SelectionVector &row_sel, Vector case PhysicalType::UINT64: TemplatedGatherLoop(rows, row_sel, col, col_sel, count, layout, col_no, build_size); break; + case PhysicalType::UINT128: + TemplatedGatherLoop(rows, row_sel, col, col_sel, count, layout, col_no, build_size); + break; case PhysicalType::BOOL: case PhysicalType::INT8: TemplatedGatherLoop(rows, row_sel, col, col_sel, count, layout, col_no, build_size); @@ -165,6 +170,7 @@ void RowOperations::Gather(Vector &rows, const SelectionVector &row_sel, Vector break; case PhysicalType::LIST: case PhysicalType::STRUCT: + case PhysicalType::ARRAY: GatherNestedVector(rows, row_sel, col, col_sel, count, layout, col_no, heap_ptr); break; default: diff --git a/src/common/row_operations/row_heap_gather.cpp b/src/common/row_operations/row_heap_gather.cpp index a8b6e7b9ff24..dbcfea6c1862 100644 --- a/src/common/row_operations/row_heap_gather.cpp +++ b/src/common/row_operations/row_heap_gather.cpp @@ -49,7 +49,8 @@ static void HeapGatherStructVector(Vector &v, const idx_t vcount, const Selectio // now deserialize into the struct vectors auto &children = StructVector::GetEntries(v); for (idx_t i = 0; i < child_types.size(); i++) { - RowOperations::HeapGather(*children[i], vcount, sel, i, key_locations, struct_validitymask_locations); + NestedValidity parent_validity(struct_validitymask_locations, i); + RowOperations::HeapGather(*children[i], vcount, sel, key_locations, &parent_validity); } } @@ -122,7 +123,7 @@ static void HeapGatherListVector(Vector &v, const idx_t vcount, const SelectionV } // now deserialize and add to listvector - RowOperations::HeapGather(list_vec_to_append, next, *FlatVector::IncrementalSelectionVector(), 0, + RowOperations::HeapGather(list_vec_to_append, next, *FlatVector::IncrementalSelectionVector(), list_entry_locations, nullptr); ListVector::Append(v, list_vec_to_append, next); @@ -133,20 +134,79 @@ static void HeapGatherListVector(Vector &v, const idx_t vcount, const SelectionV } } -void RowOperations::HeapGather(Vector &v, const idx_t &vcount, const SelectionVector &sel, const idx_t &col_no, - data_ptr_t *key_locations, data_ptr_t *validitymask_locations) { +static void HeapGatherArrayVector(Vector &v, const idx_t vcount, const SelectionVector &sel, + data_ptr_t *key_locations) { + // Setup + auto &child_type = ArrayType::GetChildType(v.GetType()); + auto array_size = ArrayType::GetSize(v.GetType()); + auto &child_vector = ArrayVector::GetEntry(v); + auto child_type_size = GetTypeIdSize(child_type.InternalType()); + auto child_type_is_var_size = !TypeIsConstantSize(child_type.InternalType()); + + data_ptr_t array_entry_locations[STANDARD_VECTOR_SIZE]; + + // array must have a validitymask for its elements + auto array_validitymask_size = (array_size + 7) / 8; + + for (idx_t i = 0; i < vcount; i++) { + // Setup validity mask + data_ptr_t array_validitymask_location = key_locations[i]; + key_locations[i] += array_validitymask_size; + + // The size of each variable size entry is stored after the validity mask + // (if the child type is variable size) + data_ptr_t var_entry_size_ptr = nullptr; + if (child_type_is_var_size) { + var_entry_size_ptr = key_locations[i]; + key_locations[i] += array_size * sizeof(idx_t); + } + + // row idx + const auto row_idx = sel.get_index(i); + + auto array_start = row_idx * array_size; + auto elem_remaining = array_size; + + while (elem_remaining > 0) { + auto chunk_size = MinValue(static_cast(STANDARD_VECTOR_SIZE), elem_remaining); + + SelectionVector array_sel(STANDARD_VECTOR_SIZE); + + if (child_type_is_var_size) { + // variable size list entries + for (idx_t elem_idx = 0; elem_idx < chunk_size; elem_idx++) { + array_entry_locations[elem_idx] = key_locations[i]; + key_locations[i] += Load(var_entry_size_ptr); + var_entry_size_ptr += sizeof(idx_t); + array_sel.set_index(elem_idx, array_start + elem_idx); + } + } else { + // constant size list entries + for (idx_t elem_idx = 0; elem_idx < chunk_size; elem_idx++) { + array_entry_locations[elem_idx] = key_locations[i]; + key_locations[i] += child_type_size; + array_sel.set_index(elem_idx, array_start + elem_idx); + } + } + + // Pass on this array's validity mask to the child vector + NestedValidity parent_validity(array_validitymask_location); + RowOperations::HeapGather(child_vector, chunk_size, array_sel, array_entry_locations, &parent_validity); + + elem_remaining -= chunk_size; + array_start += chunk_size; + } + } +} + +void RowOperations::HeapGather(Vector &v, const idx_t &vcount, const SelectionVector &sel, data_ptr_t *key_locations, + optional_ptr parent_validity) { v.SetVectorType(VectorType::FLAT_VECTOR); auto &validity = FlatVector::Validity(v); - if (validitymask_locations) { - // Precompute mask indexes - idx_t entry_idx; - idx_t idx_in_entry; - ValidityBytes::GetEntryIndex(col_no, entry_idx, idx_in_entry); - + if (parent_validity) { for (idx_t i = 0; i < vcount; i++) { - ValidityBytes row_mask(validitymask_locations[i]); - const auto valid = row_mask.RowIsValid(row_mask.GetValidityEntry(entry_idx), idx_in_entry); + const auto valid = parent_validity->IsValid(i); const auto col_idx = sel.get_index(i); validity.Set(col_idx, valid); } @@ -182,6 +242,9 @@ void RowOperations::HeapGather(Vector &v, const idx_t &vcount, const SelectionVe case PhysicalType::INT128: TemplatedHeapGather(v, vcount, sel, key_locations); break; + case PhysicalType::UINT128: + TemplatedHeapGather(v, vcount, sel, key_locations); + break; case PhysicalType::FLOAT: TemplatedHeapGather(v, vcount, sel, key_locations); break; @@ -200,6 +263,9 @@ void RowOperations::HeapGather(Vector &v, const idx_t &vcount, const SelectionVe case PhysicalType::LIST: HeapGatherListVector(v, vcount, sel, key_locations); break; + case PhysicalType::ARRAY: + HeapGatherArrayVector(v, vcount, sel, key_locations); + break; default: throw NotImplementedException("Unimplemented deserialize from row-format"); } diff --git a/src/common/row_operations/row_heap_scatter.cpp b/src/common/row_operations/row_heap_scatter.cpp index c51e2b5d9e71..135361d1b075 100644 --- a/src/common/row_operations/row_heap_scatter.cpp +++ b/src/common/row_operations/row_heap_scatter.cpp @@ -1,11 +1,52 @@ #include "duckdb/common/helper.hpp" #include "duckdb/common/row_operations/row_operations.hpp" #include "duckdb/common/types/vector.hpp" +#include "duckdb/common/uhugeint.hpp" namespace duckdb { using ValidityBytes = TemplatedValidityMask; +NestedValidity::NestedValidity(data_ptr_t validitymask_location) + : list_validity_location(validitymask_location), struct_validity_locations(nullptr), entry_idx(0), idx_in_entry(0) { +} + +NestedValidity::NestedValidity(data_ptr_t *validitymask_locations, idx_t child_vector_index) + : list_validity_location(nullptr), struct_validity_locations(validitymask_locations), entry_idx(0), + idx_in_entry(0) { + ValidityBytes::GetEntryIndex(child_vector_index, entry_idx, idx_in_entry); +} + +void NestedValidity::SetInvalid(idx_t idx) { + if (list_validity_location) { + // Is List + idx_t list_entry_idx; + idx_t list_idx_in_entry; + ValidityBytes::GetEntryIndex(idx, list_entry_idx, list_idx_in_entry); + const auto bit = ~(1UL << list_idx_in_entry); + list_validity_location[list_entry_idx] &= bit; + } else { + // Is Struct + const auto bit = ~(1UL << idx_in_entry); + *(struct_validity_locations[idx] + entry_idx) &= bit; + } +} + +bool NestedValidity::IsValid(idx_t idx) { + if (list_validity_location) { + // Is List + idx_t list_entry_idx; + idx_t list_idx_in_entry; + ValidityBytes::GetEntryIndex(idx, list_entry_idx, list_idx_in_entry); + const auto bit = (1UL << list_idx_in_entry); + return list_validity_location[list_entry_idx] & bit; + } else { + // Is Struct + const auto bit = (1UL << idx_in_entry); + return *(struct_validity_locations[idx] + entry_idx) & bit; + } +} + static void ComputeStringEntrySizes(UnifiedVectorFormat &vdata, idx_t entry_sizes[], const idx_t ser_count, const SelectionVector &sel, const idx_t offset) { auto strings = UnifiedVectorFormat::GetData(vdata); @@ -78,6 +119,49 @@ static void ComputeListEntrySizes(Vector &v, UnifiedVectorFormat &vdata, idx_t e } } +static void ComputeArrayEntrySizes(Vector &v, UnifiedVectorFormat &vdata, idx_t entry_sizes[], idx_t ser_count, + const SelectionVector &sel, idx_t offset) { + + auto array_size = ArrayType::GetSize(v.GetType()); + auto child_vector = ArrayVector::GetEntry(v); + + idx_t array_entry_sizes[STANDARD_VECTOR_SIZE]; + const idx_t array_validitymask_size = (array_size + 7) / 8; + + for (idx_t i = 0; i < ser_count; i++) { + + // Validity for the array elements + entry_sizes[i] += array_validitymask_size; + + // serialize size of each entry (if non-constant size) + if (!TypeIsConstantSize(ArrayType::GetChildType(v.GetType()).InternalType())) { + entry_sizes[i] += array_size * sizeof(idx_t); + } + + auto elem_idx = sel.get_index(i); + auto source_idx = vdata.sel->get_index(elem_idx + offset); + + auto array_start = source_idx * array_size; + auto elem_remaining = array_size; + + // the array could span multiple vectors, so we divide it into chunks + while (elem_remaining > 0) { + auto chunk_size = MinValue(static_cast(STANDARD_VECTOR_SIZE), elem_remaining); + + // compute and add to the total + std::fill_n(array_entry_sizes, chunk_size, 0); + RowOperations::ComputeEntrySizes(child_vector, array_entry_sizes, chunk_size, chunk_size, + *FlatVector::IncrementalSelectionVector(), array_start); + for (idx_t arr_elem_idx = 0; arr_elem_idx < chunk_size; arr_elem_idx++) { + entry_sizes[i] += array_entry_sizes[arr_elem_idx]; + } + // update for next iteration + elem_remaining -= chunk_size; + array_start += chunk_size; + } + } +} + void RowOperations::ComputeEntrySizes(Vector &v, UnifiedVectorFormat &vdata, idx_t entry_sizes[], idx_t vcount, idx_t ser_count, const SelectionVector &sel, idx_t offset) { const auto physical_type = v.GetType().InternalType(); @@ -97,6 +181,9 @@ void RowOperations::ComputeEntrySizes(Vector &v, UnifiedVectorFormat &vdata, idx case PhysicalType::LIST: ComputeListEntrySizes(v, vdata, entry_sizes, ser_count, sel, offset); break; + case PhysicalType::ARRAY: + ComputeArrayEntrySizes(v, vdata, entry_sizes, ser_count, sel, offset); + break; default: // LCOV_EXCL_START throw NotImplementedException("Column with variable size type %s cannot be serialized to row-format", @@ -114,10 +201,11 @@ void RowOperations::ComputeEntrySizes(Vector &v, idx_t entry_sizes[], idx_t vcou } template -static void TemplatedHeapScatter(UnifiedVectorFormat &vdata, const SelectionVector &sel, idx_t count, idx_t col_idx, - data_ptr_t *key_locations, data_ptr_t *validitymask_locations, idx_t offset) { +static void TemplatedHeapScatter(UnifiedVectorFormat &vdata, const SelectionVector &sel, idx_t count, + data_ptr_t *key_locations, optional_ptr parent_validity, + idx_t offset) { auto source = UnifiedVectorFormat::GetData(vdata); - if (!validitymask_locations) { + if (!parent_validity) { for (idx_t i = 0; i < count; i++) { auto idx = sel.get_index(i); auto source_idx = vdata.sel->get_index(idx + offset); @@ -127,10 +215,6 @@ static void TemplatedHeapScatter(UnifiedVectorFormat &vdata, const SelectionVect key_locations[i] += sizeof(T); } } else { - idx_t entry_idx; - idx_t idx_in_entry; - ValidityBytes::GetEntryIndex(col_idx, entry_idx, idx_in_entry); - const auto bit = ~(1UL << idx_in_entry); for (idx_t i = 0; i < count; i++) { auto idx = sel.get_index(i); auto source_idx = vdata.sel->get_index(idx + offset); @@ -141,19 +225,20 @@ static void TemplatedHeapScatter(UnifiedVectorFormat &vdata, const SelectionVect // set the validitymask if (!vdata.validity.RowIsValid(source_idx)) { - *(validitymask_locations[i] + entry_idx) &= bit; + parent_validity->SetInvalid(i); } } } } -static void HeapScatterStringVector(Vector &v, idx_t vcount, const SelectionVector &sel, idx_t ser_count, idx_t col_idx, - data_ptr_t *key_locations, data_ptr_t *validitymask_locations, idx_t offset) { +static void HeapScatterStringVector(Vector &v, idx_t vcount, const SelectionVector &sel, idx_t ser_count, + data_ptr_t *key_locations, optional_ptr parent_validity, + idx_t offset) { UnifiedVectorFormat vdata; v.ToUnifiedFormat(vcount, vdata); auto strings = UnifiedVectorFormat::GetData(vdata); - if (!validitymask_locations) { + if (!parent_validity) { for (idx_t i = 0; i < ser_count; i++) { auto idx = sel.get_index(i); auto source_idx = vdata.sel->get_index(idx + offset); @@ -168,10 +253,6 @@ static void HeapScatterStringVector(Vector &v, idx_t vcount, const SelectionVect } } } else { - idx_t entry_idx; - idx_t idx_in_entry; - ValidityBytes::GetEntryIndex(col_idx, entry_idx, idx_in_entry); - const auto bit = ~(1UL << idx_in_entry); for (idx_t i = 0; i < ser_count; i++) { auto idx = sel.get_index(i); auto source_idx = vdata.sel->get_index(idx + offset); @@ -185,26 +266,21 @@ static void HeapScatterStringVector(Vector &v, idx_t vcount, const SelectionVect key_locations[i] += string_entry.GetSize(); } else { // set the validitymask - *(validitymask_locations[i] + entry_idx) &= bit; + parent_validity->SetInvalid(i); } } } } -static void HeapScatterStructVector(Vector &v, idx_t vcount, const SelectionVector &sel, idx_t ser_count, idx_t col_idx, - data_ptr_t *key_locations, data_ptr_t *validitymask_locations, idx_t offset) { +static void HeapScatterStructVector(Vector &v, idx_t vcount, const SelectionVector &sel, idx_t ser_count, + data_ptr_t *key_locations, optional_ptr parent_validity, + idx_t offset) { UnifiedVectorFormat vdata; v.ToUnifiedFormat(vcount, vdata); auto &children = StructVector::GetEntries(v); idx_t num_children = children.size(); - // the whole struct itself can be NULL - idx_t entry_idx; - idx_t idx_in_entry; - ValidityBytes::GetEntryIndex(col_idx, entry_idx, idx_in_entry); - const auto bit = ~(1UL << idx_in_entry); - // struct must have a validitymask for its fields const idx_t struct_validitymask_size = (num_children + 7) / 8; data_ptr_t struct_validitymask_locations[STANDARD_VECTOR_SIZE]; @@ -217,30 +293,26 @@ static void HeapScatterStructVector(Vector &v, idx_t vcount, const SelectionVect // set whether the whole struct is null auto idx = sel.get_index(i); auto source_idx = vdata.sel->get_index(idx) + offset; - if (validitymask_locations && !vdata.validity.RowIsValid(source_idx)) { - *(validitymask_locations[i] + entry_idx) &= bit; + if (parent_validity && !vdata.validity.RowIsValid(source_idx)) { + parent_validity->SetInvalid(i); } } // now serialize the struct vectors for (idx_t i = 0; i < children.size(); i++) { auto &struct_vector = *children[i]; - RowOperations::HeapScatter(struct_vector, vcount, sel, ser_count, i, key_locations, - struct_validitymask_locations, offset); + NestedValidity struct_validity(struct_validitymask_locations, i); + RowOperations::HeapScatter(struct_vector, vcount, sel, ser_count, key_locations, &struct_validity, offset); } } -static void HeapScatterListVector(Vector &v, idx_t vcount, const SelectionVector &sel, idx_t ser_count, idx_t col_no, - data_ptr_t *key_locations, data_ptr_t *validitymask_locations, idx_t offset) { +static void HeapScatterListVector(Vector &v, idx_t vcount, const SelectionVector &sel, idx_t ser_count, + data_ptr_t *key_locations, optional_ptr parent_validity, + idx_t offset) { UnifiedVectorFormat vdata; v.ToUnifiedFormat(vcount, vdata); - idx_t entry_idx; - idx_t idx_in_entry; - ValidityBytes::GetEntryIndex(col_no, entry_idx, idx_in_entry); - auto list_data = ListVector::GetData(v); - auto &child_vector = ListVector::GetEntry(v); UnifiedVectorFormat list_vdata; @@ -254,10 +326,9 @@ static void HeapScatterListVector(Vector &v, idx_t vcount, const SelectionVector auto idx = sel.get_index(i); auto source_idx = vdata.sel->get_index(idx + offset); if (!vdata.validity.RowIsValid(source_idx)) { - if (validitymask_locations) { + if (parent_validity) { // set the row validitymask for this column to invalid - ValidityBytes row_mask(validitymask_locations[i]); - row_mask.SetInvalidUnsafe(entry_idx, idx_in_entry); + parent_validity->SetInvalid(i); } continue; } @@ -321,8 +392,8 @@ static void HeapScatterListVector(Vector &v, idx_t vcount, const SelectionVector // now serialize to the locations RowOperations::HeapScatter(child_vector, ListVector::GetListSize(v), - *FlatVector::IncrementalSelectionVector(), next, 0, list_entry_locations, - nullptr, entry_offset); + *FlatVector::IncrementalSelectionVector(), next, list_entry_locations, nullptr, + entry_offset); // update for next iteration entry_remaining -= next; @@ -331,23 +402,110 @@ static void HeapScatterListVector(Vector &v, idx_t vcount, const SelectionVector } } -void RowOperations::HeapScatter(Vector &v, idx_t vcount, const SelectionVector &sel, idx_t ser_count, idx_t col_idx, - data_ptr_t *key_locations, data_ptr_t *validitymask_locations, idx_t offset) { +static void HeapScatterArrayVector(Vector &v, idx_t vcount, const SelectionVector &sel, idx_t ser_count, + data_ptr_t *key_locations, optional_ptr parent_validity, + idx_t offset) { + + auto &child_vector = ArrayVector::GetEntry(v); + auto array_size = ArrayType::GetSize(v.GetType()); + auto child_type = ArrayType::GetChildType(v.GetType()); + auto child_type_size = GetTypeIdSize(child_type.InternalType()); + auto child_type_is_var_size = !TypeIsConstantSize(child_type.InternalType()); + + UnifiedVectorFormat vdata; + v.ToUnifiedFormat(vcount, vdata); + + UnifiedVectorFormat child_vdata; + child_vector.ToUnifiedFormat(ArrayVector::GetTotalSize(v), child_vdata); + + data_ptr_t array_entry_locations[STANDARD_VECTOR_SIZE]; + idx_t array_entry_sizes[STANDARD_VECTOR_SIZE]; + + // array must have a validitymask for its elements + auto array_validitymask_size = (array_size + 7) / 8; + + for (idx_t i = 0; i < ser_count; i++) { + // Set if the whole array itself is null in the parent entry + auto source_idx = vdata.sel->get_index(sel.get_index(i) + offset); + if (parent_validity && !vdata.validity.RowIsValid(source_idx)) { + parent_validity->SetInvalid(i); + } + + // Now we can serialize the array itself + // Every array starts with a validity mask for the children + data_ptr_t array_validitymask_location = key_locations[i]; + memset(array_validitymask_location, -1, array_validitymask_size); + key_locations[i] += array_validitymask_size; + + // If the array contains variable size entries, we reserve spaces for them here + data_ptr_t var_entry_size_ptr = nullptr; + if (child_type_is_var_size) { + var_entry_size_ptr = key_locations[i]; + key_locations[i] += array_size * sizeof(idx_t); + } + + // Then comes the elements + auto array_start = source_idx * array_size; + auto elem_remaining = array_size; + + while (elem_remaining > 0) { + // the array elements can span multiple vectors, so we divide it into chunks + auto chunk_size = MinValue(static_cast(STANDARD_VECTOR_SIZE), elem_remaining); + + // Setup the locations for the elements + if (child_type_is_var_size) { + // The elements are variable sized + std::fill_n(array_entry_sizes, chunk_size, 0); + RowOperations::ComputeEntrySizes(child_vector, array_entry_sizes, chunk_size, chunk_size, + *FlatVector::IncrementalSelectionVector(), array_start); + for (idx_t elem_idx = 0; elem_idx < chunk_size; elem_idx++) { + array_entry_locations[elem_idx] = key_locations[i]; + key_locations[i] += array_entry_sizes[elem_idx]; + + // Now store the size of the entry + Store(array_entry_sizes[elem_idx], var_entry_size_ptr); + var_entry_size_ptr += sizeof(idx_t); + } + } else { + // The elements are constant sized + for (idx_t elem_idx = 0; elem_idx < chunk_size; elem_idx++) { + array_entry_locations[elem_idx] = key_locations[i]; + key_locations[i] += child_type_size; + } + } + + NestedValidity array_parent_validity(array_validitymask_location); + RowOperations::HeapScatter(child_vector, ArrayVector::GetTotalSize(v), + *FlatVector::IncrementalSelectionVector(), chunk_size, array_entry_locations, + &array_parent_validity, array_start); + + // update for next iteration + elem_remaining -= chunk_size; + array_start += chunk_size; + } + } +} + +void RowOperations::HeapScatter(Vector &v, idx_t vcount, const SelectionVector &sel, idx_t ser_count, + data_ptr_t *key_locations, optional_ptr parent_validity, idx_t offset) { if (TypeIsConstantSize(v.GetType().InternalType())) { UnifiedVectorFormat vdata; v.ToUnifiedFormat(vcount, vdata); - RowOperations::HeapScatterVData(vdata, v.GetType().InternalType(), sel, ser_count, col_idx, key_locations, - validitymask_locations, offset); + RowOperations::HeapScatterVData(vdata, v.GetType().InternalType(), sel, ser_count, key_locations, + parent_validity, offset); } else { switch (v.GetType().InternalType()) { case PhysicalType::VARCHAR: - HeapScatterStringVector(v, vcount, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + HeapScatterStringVector(v, vcount, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::STRUCT: - HeapScatterStructVector(v, vcount, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + HeapScatterStructVector(v, vcount, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::LIST: - HeapScatterListVector(v, vcount, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + HeapScatterListVector(v, vcount, sel, ser_count, key_locations, parent_validity, offset); + break; + case PhysicalType::ARRAY: + HeapScatterArrayVector(v, vcount, sel, ser_count, key_locations, parent_validity, offset); break; default: // LCOV_EXCL_START @@ -359,45 +517,48 @@ void RowOperations::HeapScatter(Vector &v, idx_t vcount, const SelectionVector & } void RowOperations::HeapScatterVData(UnifiedVectorFormat &vdata, PhysicalType type, const SelectionVector &sel, - idx_t ser_count, idx_t col_idx, data_ptr_t *key_locations, - data_ptr_t *validitymask_locations, idx_t offset) { + idx_t ser_count, data_ptr_t *key_locations, + optional_ptr parent_validity, idx_t offset) { switch (type) { case PhysicalType::BOOL: case PhysicalType::INT8: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::INT16: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::INT32: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::INT64: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::UINT8: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::UINT16: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::UINT32: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::UINT64: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::INT128: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); + break; + case PhysicalType::UINT128: + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::FLOAT: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::DOUBLE: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; case PhysicalType::INTERVAL: - TemplatedHeapScatter(vdata, sel, ser_count, col_idx, key_locations, validitymask_locations, offset); + TemplatedHeapScatter(vdata, sel, ser_count, key_locations, parent_validity, offset); break; default: throw NotImplementedException("FIXME: Serialize to of constant type column to row-format"); diff --git a/src/common/row_operations/row_matcher.cpp b/src/common/row_operations/row_matcher.cpp index 958670963c63..8d6770042d4e 100644 --- a/src/common/row_operations/row_matcher.cpp +++ b/src/common/row_operations/row_matcher.cpp @@ -176,7 +176,7 @@ static idx_t GenericNestedMatch(Vector &lhs_vector, const TupleDataVectorFormat Vector key(type); const auto gather_function = TupleDataCollection::GetGatherFunction(type); gather_function.function(rhs_layout, rhs_row_locations, col_idx, sel, count, key, - *FlatVector::IncrementalSelectionVector(), key, gather_function.child_functions); + *FlatVector::IncrementalSelectionVector(), nullptr, gather_function.child_functions); // Densify the input column Vector sliced(lhs_vector, sel, count); @@ -238,6 +238,8 @@ MatchFunction RowMatcher::GetMatchFunction(const LogicalType &type, const Expres return GetMatchFunction(predicate); case PhysicalType::UINT64: return GetMatchFunction(predicate); + case PhysicalType::UINT128: + return GetMatchFunction(predicate); case PhysicalType::FLOAT: return GetMatchFunction(predicate); case PhysicalType::DOUBLE: @@ -250,6 +252,9 @@ MatchFunction RowMatcher::GetMatchFunction(const LogicalType &type, const Expres return GetStructMatchFunction(type, predicate); case PhysicalType::LIST: return GetListMatchFunction(predicate); + case PhysicalType::ARRAY: + // Same logic as for lists + return GetListMatchFunction(predicate); default: throw InternalException("Unsupported PhysicalType for RowMatcher::GetMatchFunction: %s", EnumUtil::ToString(type.InternalType())); diff --git a/src/common/row_operations/row_radix_scatter.cpp b/src/common/row_operations/row_radix_scatter.cpp index 1a8acaec832c..01557ca455cf 100644 --- a/src/common/row_operations/row_radix_scatter.cpp +++ b/src/common/row_operations/row_radix_scatter.cpp @@ -2,6 +2,7 @@ #include "duckdb/common/radix.hpp" #include "duckdb/common/row_operations/row_operations.hpp" #include "duckdb/common/types/vector.hpp" +#include "duckdb/common/uhugeint.hpp" namespace duckdb { @@ -173,6 +174,49 @@ void RadixScatterListVector(Vector &v, UnifiedVectorFormat &vdata, const Selecti } } +void RadixScatterArrayVector(Vector &v, UnifiedVectorFormat &vdata, idx_t vcount, const SelectionVector &sel, + idx_t add_count, data_ptr_t *key_locations, const bool desc, const bool has_null, + const bool nulls_first, const idx_t prefix_len, idx_t width, const idx_t offset) { + // serialize null values + if (has_null) { + auto &validity = vdata.validity; + const data_t valid = nulls_first ? 1 : 0; + const data_t invalid = 1 - valid; + + for (idx_t i = 0; i < add_count; i++) { + auto idx = sel.get_index(i); + auto source_idx = vdata.sel->get_index(idx) + offset; + // write validity and according value + if (validity.RowIsValid(source_idx)) { + key_locations[i][0] = valid; + } else { + key_locations[i][0] = invalid; + } + key_locations[i]++; + } + width--; + } + + // serialize the inner child + auto &child_vector = ArrayVector::GetEntry(v); + auto array_size = ArrayType::GetSize(v.GetType()); + for (idx_t i = 0; i < add_count; i++) { + auto idx = sel.get_index(i); + auto source_idx = vdata.sel->get_index(idx) + offset; + auto array_offset = source_idx * array_size; + data_ptr_t key_location = key_locations[i]; + + RowOperations::RadixScatter(child_vector, array_size, *FlatVector::IncrementalSelectionVector(), 1, + key_locations + i, false, true, false, prefix_len, width - 1, array_offset); + // invert bits if desc + if (desc) { + for (idx_t s = 0; s < width; s++) { + *(key_location + s) = ~*(key_location + s); + } + } + } +} + void RadixScatterStructVector(Vector &v, UnifiedVectorFormat &vdata, idx_t vcount, const SelectionVector &sel, idx_t add_count, data_ptr_t *key_locations, const bool desc, const bool has_null, const bool nulls_first, const idx_t prefix_len, idx_t width, const idx_t offset) { @@ -243,6 +287,9 @@ void RowOperations::RadixScatter(Vector &v, idx_t vcount, const SelectionVector case PhysicalType::INT128: TemplatedRadixScatter(vdata, sel, ser_count, key_locations, desc, has_null, nulls_first, offset); break; + case PhysicalType::UINT128: + TemplatedRadixScatter(vdata, sel, ser_count, key_locations, desc, has_null, nulls_first, offset); + break; case PhysicalType::FLOAT: TemplatedRadixScatter(vdata, sel, ser_count, key_locations, desc, has_null, nulls_first, offset); break; @@ -263,6 +310,10 @@ void RowOperations::RadixScatter(Vector &v, idx_t vcount, const SelectionVector RadixScatterStructVector(v, vdata, vcount, sel, ser_count, key_locations, desc, has_null, nulls_first, prefix_len, width, offset); break; + case PhysicalType::ARRAY: + RadixScatterArrayVector(v, vdata, vcount, sel, ser_count, key_locations, desc, has_null, nulls_first, + prefix_len, width, offset); + break; default: throw NotImplementedException("Cannot ORDER BY column with type %s", v.GetType().ToString()); } diff --git a/src/common/row_operations/row_scatter.cpp b/src/common/row_operations/row_scatter.cpp index c5104d4f21f8..5cf44bc48657 100644 --- a/src/common/row_operations/row_scatter.cpp +++ b/src/common/row_operations/row_scatter.cpp @@ -12,6 +12,7 @@ #include "duckdb/common/types/row/row_layout.hpp" #include "duckdb/common/types/selection_vector.hpp" #include "duckdb/common/types/vector.hpp" +#include "duckdb/common/uhugeint.hpp" namespace duckdb { @@ -106,7 +107,8 @@ static void ScatterNestedVector(Vector &vec, UnifiedVectorFormat &col, Vector &r } // Serialise the data - RowOperations::HeapScatter(vec, vcount, sel, count, col_no, data_locations, validitymask_locations); + NestedValidity parent_validity(validitymask_locations, col_no); + RowOperations::HeapScatter(vec, vcount, sel, count, data_locations, &parent_validity); } void RowOperations::Scatter(DataChunk &columns, UnifiedVectorFormat col_data[], const RowLayout &layout, Vector &rows, @@ -146,6 +148,7 @@ void RowOperations::Scatter(DataChunk &columns, UnifiedVectorFormat col_data[], break; case PhysicalType::LIST: case PhysicalType::STRUCT: + case PhysicalType::ARRAY: RowOperations::ComputeEntrySizes(vec, col, entry_sizes, vcount, count, sel); break; default: @@ -203,6 +206,9 @@ void RowOperations::Scatter(DataChunk &columns, UnifiedVectorFormat col_data[], case PhysicalType::INT128: TemplatedScatter(col, rows, sel, count, col_offset, col_no); break; + case PhysicalType::UINT128: + TemplatedScatter(col, rows, sel, count, col_offset, col_no); + break; case PhysicalType::FLOAT: TemplatedScatter(col, rows, sel, count, col_offset, col_no); break; @@ -217,6 +223,7 @@ void RowOperations::Scatter(DataChunk &columns, UnifiedVectorFormat col_data[], break; case PhysicalType::LIST: case PhysicalType::STRUCT: + case PhysicalType::ARRAY: ScatterNestedVector(vec, col, rows, data_locations, sel, count, col_offset, col_no, vcount); break; default: diff --git a/src/common/serializer/binary_deserializer.cpp b/src/common/serializer/binary_deserializer.cpp index 6b31146c80f3..a13e35781554 100644 --- a/src/common/serializer/binary_deserializer.cpp +++ b/src/common/serializer/binary_deserializer.cpp @@ -124,6 +124,12 @@ hugeint_t BinaryDeserializer::ReadHugeInt() { return hugeint_t(upper, lower); } +uhugeint_t BinaryDeserializer::ReadUhugeInt() { + auto upper = VarIntDecode(); + auto lower = VarIntDecode(); + return uhugeint_t(upper, lower); +} + void BinaryDeserializer::ReadDataPtr(data_ptr_t &ptr_p, idx_t count) { auto len = VarIntDecode(); if (len != count) { diff --git a/src/common/serializer/binary_serializer.cpp b/src/common/serializer/binary_serializer.cpp index 67f31b56238b..cf2b26969111 100644 --- a/src/common/serializer/binary_serializer.cpp +++ b/src/common/serializer/binary_serializer.cpp @@ -136,6 +136,11 @@ void BinarySerializer::WriteValue(hugeint_t value) { VarIntEncode(value.lower); } +void BinarySerializer::WriteValue(uhugeint_t value) { + VarIntEncode(value.upper); + VarIntEncode(value.lower); +} + void BinarySerializer::WriteValue(float value) { Write(value); } diff --git a/src/common/serializer/serializer.cpp b/src/common/serializer/serializer.cpp index 303abb34c48a..e74461203ca3 100644 --- a/src/common/serializer/serializer.cpp +++ b/src/common/serializer/serializer.cpp @@ -1,4 +1,5 @@ #include "duckdb/common/serializer/serializer.hpp" +#include "duckdb/common/types/value.hpp" namespace duckdb { @@ -12,4 +13,22 @@ void Serializer::WriteValue(const vector &vec) { OnListEnd(); } +template <> +void Serializer::WritePropertyWithDefault(const field_id_t field_id, const char *tag, const Value &value, + const Value &&default_value) { + // If current value is default, don't write it + if (!serialize_default_values && ValueOperations::NotDistinctFrom(value, default_value)) { + OnOptionalPropertyBegin(field_id, tag, false); + OnOptionalPropertyEnd(false); + return; + } + OnOptionalPropertyBegin(field_id, tag, true); + WriteValue(value); + OnOptionalPropertyEnd(true); +} + +void Serializer::List::WriteElement(data_ptr_t ptr, idx_t size) { + serializer.WriteDataPtr(ptr, size); +} + } // namespace duckdb diff --git a/src/common/sort/comparators.cpp b/src/common/sort/comparators.cpp index b6cf7b557472..7084a3f993a3 100644 --- a/src/common/sort/comparators.cpp +++ b/src/common/sort/comparators.cpp @@ -2,6 +2,7 @@ #include "duckdb/common/fast_mem.hpp" #include "duckdb/common/sort/sort.hpp" +#include "duckdb/common/uhugeint.hpp" namespace duckdb { @@ -55,6 +56,7 @@ int Comparators::CompareVal(const data_ptr_t l_ptr, const data_ptr_t r_ptr, cons case PhysicalType::VARCHAR: return TemplatedCompareVal(l_ptr, r_ptr); case PhysicalType::LIST: + case PhysicalType::ARRAY: case PhysicalType::STRUCT: { auto l_nested_ptr = Load(l_ptr); auto r_nested_ptr = Load(r_ptr); @@ -134,6 +136,8 @@ int Comparators::CompareValAndAdvance(data_ptr_t &l_ptr, data_ptr_t &r_ptr, cons return TemplatedCompareAndAdvance(l_ptr, r_ptr); case PhysicalType::INT128: return TemplatedCompareAndAdvance(l_ptr, r_ptr); + case PhysicalType::UINT128: + return TemplatedCompareAndAdvance(l_ptr, r_ptr); case PhysicalType::FLOAT: return TemplatedCompareAndAdvance(l_ptr, r_ptr); case PhysicalType::DOUBLE: @@ -146,6 +150,8 @@ int Comparators::CompareValAndAdvance(data_ptr_t &l_ptr, data_ptr_t &r_ptr, cons return CompareListAndAdvance(l_ptr, r_ptr, ListType::GetChildType(type), valid); case PhysicalType::STRUCT: return CompareStructAndAdvance(l_ptr, r_ptr, StructType::GetChildTypes(type), valid); + case PhysicalType::ARRAY: + return CompareArrayAndAdvance(l_ptr, r_ptr, ArrayType::GetChildType(type), valid, ArrayType::GetSize(type)); default: throw NotImplementedException("Unimplemented CompareValAndAdvance for type %s", type.ToString()); } @@ -222,6 +228,119 @@ int Comparators::CompareStructAndAdvance(data_ptr_t &left_ptr, data_ptr_t &right return comp_res; } +int Comparators::CompareArrayAndAdvance(data_ptr_t &left_ptr, data_ptr_t &right_ptr, const LogicalType &type, + bool valid, idx_t array_size) { + if (!valid) { + return 0; + } + + // Load array validity masks + ValidityBytes left_validity(left_ptr); + ValidityBytes right_validity(right_ptr); + left_ptr += (array_size + 7) / 8; + right_ptr += (array_size + 7) / 8; + + int comp_res = 0; + if (TypeIsConstantSize(type.InternalType())) { + // Templated code for fixed-size types + switch (type.InternalType()) { + case PhysicalType::BOOL: + case PhysicalType::INT8: + comp_res = TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + case PhysicalType::INT16: + comp_res = + TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + case PhysicalType::INT32: + comp_res = + TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + case PhysicalType::INT64: + comp_res = + TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + case PhysicalType::UINT8: + comp_res = + TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + case PhysicalType::UINT16: + comp_res = + TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + case PhysicalType::UINT32: + comp_res = + TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + case PhysicalType::UINT64: + comp_res = + TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + case PhysicalType::INT128: + comp_res = + TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + case PhysicalType::FLOAT: + comp_res = TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + case PhysicalType::DOUBLE: + comp_res = TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + case PhysicalType::INTERVAL: + comp_res = + TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, array_size); + break; + default: + throw NotImplementedException("CompareListAndAdvance for fixed-size type %s", type.ToString()); + } + } else { + // Variable-sized array entries + bool left_valid; + bool right_valid; + idx_t entry_idx; + idx_t idx_in_entry; + // Size (in bytes) of all variable-sizes entries is stored before the entries begin, + // to make deserialization easier. We need to skip over them + left_ptr += array_size * sizeof(idx_t); + right_ptr += array_size * sizeof(idx_t); + for (idx_t i = 0; i < array_size; i++) { + ValidityBytes::GetEntryIndex(i, entry_idx, idx_in_entry); + left_valid = left_validity.RowIsValid(left_validity.GetValidityEntry(entry_idx), idx_in_entry); + right_valid = right_validity.RowIsValid(right_validity.GetValidityEntry(entry_idx), idx_in_entry); + if (left_valid && right_valid) { + switch (type.InternalType()) { + case PhysicalType::LIST: + comp_res = CompareListAndAdvance(left_ptr, right_ptr, ListType::GetChildType(type), left_valid); + break; + case PhysicalType::ARRAY: + comp_res = CompareArrayAndAdvance(left_ptr, right_ptr, ArrayType::GetChildType(type), left_valid, + ArrayType::GetSize(type)); + break; + case PhysicalType::VARCHAR: + comp_res = CompareStringAndAdvance(left_ptr, right_ptr, left_valid); + break; + case PhysicalType::STRUCT: + comp_res = + CompareStructAndAdvance(left_ptr, right_ptr, StructType::GetChildTypes(type), left_valid); + break; + default: + throw NotImplementedException("CompareArrayAndAdvance for variable-size type %s", type.ToString()); + } + } else if (!left_valid && !right_valid) { + comp_res = 0; + } else if (left_valid) { + comp_res = -1; + } else { + comp_res = 1; + } + if (comp_res != 0) { + break; + } + } + } + return comp_res; +} + int Comparators::CompareListAndAdvance(data_ptr_t &left_ptr, data_ptr_t &right_ptr, const LogicalType &type, bool valid) { if (!valid) { @@ -271,6 +390,9 @@ int Comparators::CompareListAndAdvance(data_ptr_t &left_ptr, data_ptr_t &right_p case PhysicalType::INT128: comp_res = TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, count); break; + case PhysicalType::UINT128: + comp_res = TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, count); + break; case PhysicalType::FLOAT: comp_res = TemplatedCompareListLoop(left_ptr, right_ptr, left_validity, right_validity, count); break; @@ -302,6 +424,10 @@ int Comparators::CompareListAndAdvance(data_ptr_t &left_ptr, data_ptr_t &right_p case PhysicalType::LIST: comp_res = CompareListAndAdvance(left_ptr, right_ptr, ListType::GetChildType(type), left_valid); break; + case PhysicalType::ARRAY: + comp_res = CompareArrayAndAdvance(left_ptr, right_ptr, ArrayType::GetChildType(type), left_valid, + ArrayType::GetSize(type)); + break; case PhysicalType::VARCHAR: comp_res = CompareStringAndAdvance(left_ptr, right_ptr, left_valid); break; diff --git a/src/common/sort/partition_state.cpp b/src/common/sort/partition_state.cpp index 5f6f3133ac1d..a531fea0f2f6 100644 --- a/src/common/sort/partition_state.cpp +++ b/src/common/sort/partition_state.cpp @@ -22,35 +22,35 @@ PartitionGlobalHashGroup::PartitionGlobalHashGroup(BufferManager &buffer_manager partition_layout = global_sort->sort_layout.GetPrefixComparisonLayout(partitions.size()); } -int PartitionGlobalHashGroup::ComparePartitions(const SBIterator &left, const SBIterator &right) const { - int part_cmp = 0; - if (partition_layout.all_constant) { - part_cmp = FastMemcmp(left.entry_ptr, right.entry_ptr, partition_layout.comparison_size); - } else { - part_cmp = Comparators::CompareTuple(left.scan, right.scan, left.entry_ptr, right.entry_ptr, partition_layout, - left.external); - } - return part_cmp; -} - -void PartitionGlobalHashGroup::ComputeMasks(ValidityMask &partition_mask, ValidityMask &order_mask) { +void PartitionGlobalHashGroup::ComputeMasks(ValidityMask &partition_mask, OrderMasks &order_masks) { D_ASSERT(count > 0); SBIterator prev(*global_sort, ExpressionType::COMPARE_LESSTHAN); SBIterator curr(*global_sort, ExpressionType::COMPARE_LESSTHAN); partition_mask.SetValidUnsafe(0); - order_mask.SetValidUnsafe(0); + unordered_map prefixes; + for (auto &order_mask : order_masks) { + order_mask.second.SetValidUnsafe(0); + D_ASSERT(order_mask.first >= partition_layout.column_count); + prefixes[order_mask.first] = global_sort->sort_layout.GetPrefixComparisonLayout(order_mask.first); + } + for (++curr; curr.GetIndex() < count; ++curr) { // Compare the partition subset first because if that differs, then so does the full ordering const auto part_cmp = ComparePartitions(prev, curr); - ; if (part_cmp) { partition_mask.SetValidUnsafe(curr.GetIndex()); - order_mask.SetValidUnsafe(curr.GetIndex()); - } else if (prev.Compare(curr)) { - order_mask.SetValidUnsafe(curr.GetIndex()); + for (auto &order_mask : order_masks) { + order_mask.second.SetValidUnsafe(curr.GetIndex()); + } + } else { + for (auto &order_mask : order_masks) { + if (prev.Compare(curr, prefixes[order_mask.first])) { + order_mask.second.SetValidUnsafe(curr.GetIndex()); + } + } } ++prev; } diff --git a/src/common/sort/radix_sort.cpp b/src/common/sort/radix_sort.cpp index 179d5f9d286d..9d40f90d7efc 100644 --- a/src/common/sort/radix_sort.cpp +++ b/src/common/sort/radix_sort.cpp @@ -248,7 +248,8 @@ void RadixSort(BufferManager &buffer_manager, const data_ptr_t &dataptr, const i } else if (sorting_size <= SortConstants::MSD_RADIX_SORT_SIZE_THRESHOLD) { RadixSortLSD(buffer_manager, dataptr, count, col_offset, sort_layout.entry_size, sorting_size); } else { - auto temp_block = buffer_manager.Allocate(MaxValue(count * sort_layout.entry_size, (idx_t)Storage::BLOCK_SIZE)); + auto temp_block = buffer_manager.Allocate(MemoryTag::ORDER_BY, + MaxValue(count * sort_layout.entry_size, (idx_t)Storage::BLOCK_SIZE)); auto preallocated_array = make_unsafe_uniq_array(sorting_size * SortConstants::MSD_RADIX_LOCATIONS); RadixSortMSD(dataptr, temp_block.Ptr(), count, col_offset, sort_layout.entry_size, sorting_size, 0, preallocated_array.get(), false); diff --git a/src/common/sort/sort_state.cpp b/src/common/sort/sort_state.cpp index b10970d06711..9c8594866e8a 100644 --- a/src/common/sort/sort_state.cpp +++ b/src/common/sort/sort_state.cpp @@ -3,6 +3,7 @@ #include "duckdb/common/row_operations/row_operations.hpp" #include "duckdb/common/sort/sort.hpp" #include "duckdb/common/sort/sorted_block.hpp" +#include "duckdb/storage/buffer/buffer_pool.hpp" #include #include @@ -31,6 +32,10 @@ idx_t GetNestedSortingColSize(idx_t &col_size, const LogicalType &type) { // Structs get 1 bytes (null) col_size++; return GetNestedSortingColSize(col_size, StructType::GetChildType(type, 0)); + case PhysicalType::ARRAY: + // Arrays get 1 bytes (null) + col_size++; + return GetNestedSortingColSize(col_size, ArrayType::GetChildType(type)); default: throw NotImplementedException("Unable to order column with type %s", type.ToString()); } @@ -264,7 +269,7 @@ unique_ptr LocalSortState::ConcatenateBlocks(RowDataCollection &ro auto buffer_manager = &row_data.buffer_manager; const idx_t &entry_size = row_data.entry_size; idx_t capacity = MaxValue(((idx_t)Storage::BLOCK_SIZE + entry_size - 1) / entry_size, row_data.count); - auto new_block = make_uniq(*buffer_manager, capacity, entry_size); + auto new_block = make_uniq(MemoryTag::ORDER_BY, *buffer_manager, capacity, entry_size); new_block->count = row_data.count; auto new_block_handle = buffer_manager->Pin(new_block->block); data_ptr_t new_block_ptr = new_block_handle.Ptr(); @@ -289,8 +294,8 @@ void LocalSortState::ReOrder(SortedData &sd, data_ptr_t sorting_ptr, RowDataColl auto unordered_data_handle = buffer_manager->Pin(unordered_data_block->block); const data_ptr_t unordered_data_ptr = unordered_data_handle.Ptr(); // Create new block that will hold re-ordered row data - auto ordered_data_block = - make_uniq(*buffer_manager, unordered_data_block->capacity, unordered_data_block->entry_size); + auto ordered_data_block = make_uniq(MemoryTag::ORDER_BY, *buffer_manager, + unordered_data_block->capacity, unordered_data_block->entry_size); ordered_data_block->count = count; auto ordered_data_handle = buffer_manager->Pin(ordered_data_block->block); data_ptr_t ordered_data_ptr = ordered_data_handle.Ptr(); @@ -318,7 +323,7 @@ void LocalSortState::ReOrder(SortedData &sd, data_ptr_t sorting_ptr, RowDataColl std::accumulate(heap.blocks.begin(), heap.blocks.end(), (idx_t)0, [](idx_t a, const unique_ptr &b) { return a + b->byte_offset; }); idx_t heap_block_size = MaxValue(total_byte_offset, (idx_t)Storage::BLOCK_SIZE); - auto ordered_heap_block = make_uniq(*buffer_manager, heap_block_size, 1); + auto ordered_heap_block = make_uniq(MemoryTag::ORDER_BY, *buffer_manager, heap_block_size, 1); ordered_heap_block->count = count; ordered_heap_block->byte_offset = total_byte_offset; auto ordered_heap_handle = buffer_manager->Pin(ordered_heap_block->block); @@ -396,7 +401,7 @@ void GlobalSortState::PrepareMergePhase() { idx_t total_heap_size = std::accumulate(sorted_blocks.begin(), sorted_blocks.end(), (idx_t)0, [](idx_t a, const unique_ptr &b) { return a + b->HeapSize(); }); - if (external || (pinned_blocks.empty() && total_heap_size > 0.25 * buffer_manager.GetMaxMemory())) { + if (external || (pinned_blocks.empty() && total_heap_size > 0.25 * buffer_manager.GetQueryMaxMemory())) { external = true; } // Use the data that we have to determine which partition size to use during the merge diff --git a/src/common/sort/sorted_block.cpp b/src/common/sort/sorted_block.cpp index e0d4bfb445d0..22127abe1032 100644 --- a/src/common/sort/sorted_block.cpp +++ b/src/common/sort/sorted_block.cpp @@ -27,9 +27,10 @@ idx_t SortedData::Count() { void SortedData::CreateBlock() { auto capacity = MaxValue(((idx_t)Storage::BLOCK_SIZE + layout.GetRowWidth() - 1) / layout.GetRowWidth(), state.block_capacity); - data_blocks.push_back(make_uniq(buffer_manager, capacity, layout.GetRowWidth())); + data_blocks.push_back(make_uniq(MemoryTag::ORDER_BY, buffer_manager, capacity, layout.GetRowWidth())); if (!layout.AllConstant() && state.external) { - heap_blocks.push_back(make_uniq(buffer_manager, (idx_t)Storage::BLOCK_SIZE, 1)); + heap_blocks.push_back( + make_uniq(MemoryTag::ORDER_BY, buffer_manager, (idx_t)Storage::BLOCK_SIZE, 1)); D_ASSERT(data_blocks.size() == heap_blocks.size()); } } @@ -105,7 +106,8 @@ void SortedBlock::InitializeWrite() { void SortedBlock::CreateBlock() { auto capacity = MaxValue(((idx_t)Storage::BLOCK_SIZE + sort_layout.entry_size - 1) / sort_layout.entry_size, state.block_capacity); - radix_sorting_data.push_back(make_uniq(buffer_manager, capacity, sort_layout.entry_size)); + radix_sorting_data.push_back( + make_uniq(MemoryTag::ORDER_BY, buffer_manager, capacity, sort_layout.entry_size)); } void SortedBlock::AppendSortedBlocks(vector> &sorted_blocks) { @@ -373,9 +375,8 @@ static idx_t GetBlockCountWithEmptyCheck(const GlobalSortState &gss) { SBIterator::SBIterator(GlobalSortState &gss, ExpressionType comparison, idx_t entry_idx_p) : sort_layout(gss.sort_layout), block_count(GetBlockCountWithEmptyCheck(gss)), block_capacity(gss.block_capacity), - cmp_size(sort_layout.comparison_size), entry_size(sort_layout.entry_size), all_constant(sort_layout.all_constant), - external(gss.external), cmp(ComparisonValue(comparison)), scan(gss.buffer_manager, gss), block_ptr(nullptr), - entry_ptr(nullptr) { + entry_size(sort_layout.entry_size), all_constant(sort_layout.all_constant), external(gss.external), + cmp(ComparisonValue(comparison)), scan(gss.buffer_manager, gss), block_ptr(nullptr), entry_ptr(nullptr) { scan.sb = gss.sorted_blocks[0].get(); scan.block_idx = block_count; diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp index 4f994b6a45fc..4df16fc13476 100644 --- a/src/common/string_util.cpp +++ b/src/common/string_util.cpp @@ -4,6 +4,7 @@ #include "duckdb/common/pair.hpp" #include "duckdb/common/to_string.hpp" #include "duckdb/common/helper.hpp" +#include "duckdb/function/scalar/string_functions.hpp" #include #include @@ -154,31 +155,45 @@ string StringUtil::Join(const vector &input, const string &separator) { return StringUtil::Join(input, input.size(), separator, [](const string &s) { return s; }); } -string StringUtil::BytesToHumanReadableString(idx_t bytes) { +string StringUtil::Join(const set &input, const string &separator) { + // The result + std::string result; + + auto it = input.begin(); + while (it != input.end()) { + result += *it; + it++; + if (it == input.end()) { + break; + } + result += separator; + } + return result; +} + +string StringUtil::BytesToHumanReadableString(idx_t bytes, idx_t multiplier) { + D_ASSERT(multiplier == 1000 || multiplier == 1024); string db_size; - auto kilobytes = bytes / 1000; - auto megabytes = kilobytes / 1000; - kilobytes -= megabytes * 1000; - auto gigabytes = megabytes / 1000; - megabytes -= gigabytes * 1000; - auto terabytes = gigabytes / 1000; - gigabytes -= terabytes * 1000; - auto petabytes = terabytes / 1000; - terabytes -= petabytes * 1000; - if (petabytes > 0) { - return to_string(petabytes) + "." + to_string(terabytes / 100) + "PB"; - } - if (terabytes > 0) { - return to_string(terabytes) + "." + to_string(gigabytes / 100) + "TB"; - } else if (gigabytes > 0) { - return to_string(gigabytes) + "." + to_string(megabytes / 100) + "GB"; - } else if (megabytes > 0) { - return to_string(megabytes) + "." + to_string(kilobytes / 100) + "MB"; - } else if (kilobytes > 0) { - return to_string(kilobytes) + "KB"; - } else { - return to_string(bytes) + (bytes == 1 ? " byte" : " bytes"); + idx_t array[6] = {}; + const char *unit[2][6] = {{"bytes", "KiB", "MiB", "GiB", "TiB", "PiB"}, {"bytes", "kB", "MB", "GB", "TB", "PB"}}; + + const int sel = (multiplier == 1000); + + array[0] = bytes; + for (idx_t i = 1; i < 6; i++) { + array[i] = array[i - 1] / multiplier; + array[i - 1] %= multiplier; } + + for (idx_t i = 5; i >= 1; i--) { + if (array[i]) { + // Map 0 -> 0 and (multiplier-1) -> 9 + idx_t fractional_part = (array[i - 1] * 10) / multiplier; + return to_string(array[i]) + "." + to_string(fractional_part) + " " + unit[sel][i]; + } + } + + return to_string(array[0]) + (bytes == 1 ? " byte" : " bytes"); } string StringUtil::Upper(const string &str) { @@ -215,14 +230,32 @@ bool StringUtil::CIEquals(const string &l1, const string &l2) { if (l1.size() != l2.size()) { return false; } + const auto charmap = LowerFun::ascii_to_lower_map; for (idx_t c = 0; c < l1.size(); c++) { - if (StringUtil::CharacterToLower(l1[c]) != StringUtil::CharacterToLower(l2[c])) { + if (charmap[(uint8_t)l1[c]] != charmap[(uint8_t)l2[c]]) { return false; } } return true; } +bool StringUtil::CILessThan(const string &s1, const string &s2) { + const auto charmap = UpperFun::ascii_to_upper_map; + + unsigned char u1, u2; + + idx_t length = MinValue(s1.length(), s2.length()); + length += s1.length() != s2.length(); + for (idx_t i = 0; i < length; i++) { + u1 = (unsigned char)s1[i]; + u2 = (unsigned char)s2[i]; + if (charmap[u1] != charmap[u2]) { + break; + } + } + return (charmap[u1] - charmap[u2]) < 0; +} + vector StringUtil::Split(const string &input, const string &split) { vector splits; @@ -372,4 +405,249 @@ string StringUtil::CandidatesErrorMessage(const vector &strings, const s return StringUtil::CandidatesMessage(closest_strings, message_prefix); } +static void SkipSpaces(const string &message, idx_t &pos) { + for (; pos < message.size() && StringUtil::CharacterIsSpace(message[pos]); pos++) { + } +} + +static bool MatchCharacter(const string &message, idx_t &pos, char c) { + if (pos >= message.size()) { + return false; + } + return message[pos] == c; +} + +static string ParseJSONValue(const string &message, idx_t &pos) { + string result; + if (!MatchCharacter(message, pos, '"')) { + // values need to start with a quote + D_ASSERT(0); + return result; + } + pos++; + for (; pos < message.size(); pos++) { + if (message[pos] == '\\') { + // escape + pos++; + if (pos >= message.size()) { + // escape at end of string!? + D_ASSERT(0); + return result; + } + switch (message[pos]) { + case 'r': + result += '\r'; + break; + case 'n': + result += '\n'; + break; + case 't': + result += '\t'; + break; + case 'b': + result += '\b'; + break; + case 'f': + result += '\f'; + break; + case '0': + result += '\0'; + break; + case '\\': + case '"': + case '/': + result += message[pos]; + break; + default: + // unsupported escape character + // NOTE: we do not support unicode escape sequences here + D_ASSERT(0); + result += message[pos]; + break; + } + } else if (message[pos] == '"') { + // end of message + pos++; + return result; + } else { + result += message[pos]; + } + } + // no end-of-value found + D_ASSERT(0); + return result; +} + +unordered_map StringUtil::ParseJSONMap(const string &json) { + unordered_map result; + if (json.empty()) { + return result; + } + idx_t pos = 0; + SkipSpaces(json, pos); + if (!MatchCharacter(json, pos, '{')) { + D_ASSERT(0); + return result; + } + pos++; + while (true) { + SkipSpaces(json, pos); + if (MatchCharacter(json, pos, '}')) { + // end of object + break; + } + if (!result.empty()) { + // objects are comma separated + if (!MatchCharacter(json, pos, ',')) { + D_ASSERT(0); + return result; + } + pos++; + } + string key = ParseJSONValue(json, pos); + SkipSpaces(json, pos); + if (!MatchCharacter(json, pos, ':')) { + D_ASSERT(0); + return result; + } + pos++; + string value = ParseJSONValue(json, pos); + auto entry = result.find(key); + if (entry != result.end()) { + // entry already exists + D_ASSERT(0); + continue; + } + result.insert(make_pair(std::move(key), std::move(value))); + } + return result; +} + +static void WriteJSONValue(const string &value, string &result) { + result += '"'; + for (auto c : value) { + // check for characters we need to escape + switch (c) { + case '\0': + result += "\\0"; + break; + case '\\': + result += "\\\\"; + break; + case '\b': + result += "\\b"; + break; + case '\f': + result += "\\f"; + break; + case '\t': + result += "\\t"; + break; + case '\r': + result += "\\r"; + break; + case '\n': + result += "\\n"; + break; + case '"': + result += "\\\""; + break; + default: + result += c; + break; + } + } + result += '"'; +} + +static void WriteJSONPair(const string &key, const string &value, string &result) { + WriteJSONValue(key, result); + result += ":"; + WriteJSONValue(value, result); +} + +string StringUtil::ToJSONMap(ExceptionType type, const string &message, const unordered_map &map) { + D_ASSERT(map.find("exception_type") == map.end()); + D_ASSERT(map.find("exception_message") == map.end()); + string result; + result += "{"; + // we always write exception type/message + WriteJSONPair("exception_type", Exception::ExceptionTypeToString(type), result); + result += ","; + WriteJSONPair("exception_message", message, result); + for (auto &entry : map) { + result += ","; + WriteJSONPair(entry.first, entry.second, result); + } + result += "}"; + return result; +} + +string StringUtil::GetFileName(const string &file_path) { + + idx_t pos = file_path.find_last_of("/\\"); + if (pos == string::npos) { + return file_path; + } + auto end = file_path.size() - 1; + + // If the rest of the string is just slashes or dots, trim them + if (file_path.find_first_not_of("/\\.", pos) == string::npos) { + // Trim the trailing slashes and dots + while (end > 0 && (file_path[end] == '/' || file_path[end] == '.' || file_path[end] == '\\')) { + end--; + } + + // Now find the next slash + pos = file_path.find_last_of("/\\", end); + if (pos == string::npos) { + return file_path.substr(0, end + 1); + } + } + + return file_path.substr(pos + 1, end - pos); +} + +string StringUtil::GetFileExtension(const string &file_name) { + auto name = GetFileName(file_name); + idx_t pos = name.find_last_of('.'); + // We dont consider e.g. `.gitignore` to have an extension + if (pos == string::npos || pos == 0) { + return ""; + } + return name.substr(pos + 1); +} + +string StringUtil::GetFileStem(const string &file_name) { + auto name = GetFileName(file_name); + if (name.size() > 1 && name[0] == '.') { + return name; + } + idx_t pos = name.find_last_of('.'); + if (pos == string::npos) { + return name; + } + return name.substr(0, pos); +} + +string StringUtil::GetFilePath(const string &file_path) { + + // Trim the trailing slashes + auto end = file_path.size() - 1; + while (end > 0 && (file_path[end] == '/' || file_path[end] == '\\')) { + end--; + } + + auto pos = file_path.find_last_of("/\\", end); + if (pos == string::npos) { + return ""; + } + + while (pos > 0 && (file_path[pos] == '/' || file_path[pos] == '\\')) { + pos--; + } + + return file_path.substr(0, pos + 1); +} + } // namespace duckdb diff --git a/src/common/symbols.cpp b/src/common/symbols.cpp index 74526192f43f..8b550f2c93f5 100644 --- a/src/common/symbols.cpp +++ b/src/common/symbols.cpp @@ -5,7 +5,6 @@ #include "duckdb/catalog/catalog.hpp" #include "duckdb/catalog/catalog_entry/list.hpp" -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/common/types/column/column_data_allocator.hpp" #include "duckdb/common/types/column/column_data_collection.hpp" #include "duckdb/common/vector.hpp" @@ -40,6 +39,7 @@ #include "duckdb/storage/statistics/base_statistics.hpp" #include "duckdb/storage/write_ahead_log.hpp" #include "duckdb/transaction/transaction.hpp" +#include "duckdb/common/types/row/row_data_collection.hpp" using namespace duckdb; diff --git a/src/common/tree_renderer.cpp b/src/common/tree_renderer.cpp index 1ce04df6dd04..c3cd19803866 100644 --- a/src/common/tree_renderer.cpp +++ b/src/common/tree_renderer.cpp @@ -1,12 +1,13 @@ #include "duckdb/common/tree_renderer.hpp" -#include "duckdb/planner/logical_operator.hpp" -#include "duckdb/execution/physical_operator.hpp" -#include "duckdb/common/string_util.hpp" + #include "duckdb/common/pair.hpp" -#include "duckdb/execution/operator/join/physical_delim_join.hpp" +#include "duckdb/common/string_util.hpp" #include "duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp" +#include "duckdb/execution/operator/join/physical_delim_join.hpp" #include "duckdb/execution/operator/scan/physical_positional_scan.hpp" +#include "duckdb/execution/physical_operator.hpp" #include "duckdb/parallel/pipeline.hpp" +#include "duckdb/planner/logical_operator.hpp" #include "utf8proc_wrapper.hpp" #include @@ -378,7 +379,8 @@ class TreeChildrenIterator { template <> bool TreeChildrenIterator::HasChildren(const PhysicalOperator &op) { switch (op.type) { - case PhysicalOperatorType::DELIM_JOIN: + case PhysicalOperatorType::LEFT_DELIM_JOIN: + case PhysicalOperatorType::RIGHT_DELIM_JOIN: case PhysicalOperatorType::POSITIONAL_SCAN: return true; default: @@ -391,7 +393,7 @@ void TreeChildrenIterator::Iterate(const PhysicalOperator &op, for (auto &child : op.children) { callback(*child); } - if (op.type == PhysicalOperatorType::DELIM_JOIN) { + if (op.type == PhysicalOperatorType::LEFT_DELIM_JOIN || op.type == PhysicalOperatorType::RIGHT_DELIM_JOIN) { auto &delim = op.Cast(); callback(*delim.join); } else if ((op.type == PhysicalOperatorType::POSITIONAL_SCAN)) { diff --git a/src/common/types.cpp b/src/common/types.cpp index 98f6ae2ea9ba..c7c4d5cfaf84 100644 --- a/src/common/types.cpp +++ b/src/common/types.cpp @@ -1,17 +1,23 @@ #include "duckdb/common/types.hpp" #include "duckdb/catalog/catalog.hpp" +#include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp" #include "duckdb/catalog/catalog_search_path.hpp" #include "duckdb/catalog/default/default_types.hpp" +#include "duckdb/common/enum_util.hpp" #include "duckdb/common/exception.hpp" +#include "duckdb/common/extra_type_info.hpp" #include "duckdb/common/limits.hpp" #include "duckdb/common/operator/comparison_operators.hpp" +#include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/string_util.hpp" #include "duckdb/common/types/decimal.hpp" #include "duckdb/common/types/hash.hpp" #include "duckdb/common/types/string_type.hpp" #include "duckdb/common/types/value.hpp" #include "duckdb/common/types/vector.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/function/cast_rules.hpp" #include "duckdb/main/attached_database.hpp" @@ -21,11 +27,8 @@ #include "duckdb/main/database_manager.hpp" #include "duckdb/parser/keyword_helper.hpp" #include "duckdb/parser/parser.hpp" -#include "duckdb/common/extra_type_info.hpp" -#include "duckdb/common/serializer/deserializer.hpp" -#include "duckdb/common/enum_util.hpp" -#include "duckdb/common/serializer/serializer.hpp" -#include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp" +#include "duckdb/main/config.hpp" + #include namespace duckdb { @@ -82,6 +85,8 @@ PhysicalType LogicalType::GetInternalType() { return PhysicalType::INT64; case LogicalTypeId::UBIGINT: return PhysicalType::UINT64; + case LogicalTypeId::UHUGEINT: + return PhysicalType::UINT128; case LogicalTypeId::HUGEINT: case LogicalTypeId::UUID: return PhysicalType::INT128; @@ -120,6 +125,8 @@ PhysicalType LogicalType::GetInternalType() { case LogicalTypeId::LIST: case LogicalTypeId::MAP: return PhysicalType::LIST; + case LogicalTypeId::ARRAY: + return PhysicalType::ARRAY; case LogicalTypeId::POINTER: // LCOV_EXCL_START if (sizeof(uintptr_t) == sizeof(uint32_t)) { @@ -143,6 +150,8 @@ PhysicalType LogicalType::GetInternalType() { case LogicalTypeId::ANY: case LogicalTypeId::INVALID: case LogicalTypeId::UNKNOWN: + case LogicalTypeId::STRING_LITERAL: + case LogicalTypeId::INTEGER_LITERAL: return PhysicalType::INVALID; case LogicalTypeId::USER: return PhysicalType::UNKNOWN; @@ -170,6 +179,7 @@ constexpr const LogicalTypeId LogicalType::UINTEGER; constexpr const LogicalTypeId LogicalType::BIGINT; constexpr const LogicalTypeId LogicalType::UBIGINT; constexpr const LogicalTypeId LogicalType::HUGEINT; +constexpr const LogicalTypeId LogicalType::UHUGEINT; constexpr const LogicalTypeId LogicalType::UUID; constexpr const LogicalTypeId LogicalType::FLOAT; constexpr const LogicalTypeId LogicalType::DOUBLE; @@ -205,26 +215,34 @@ const vector LogicalType::Numeric() { vector types = {LogicalType::TINYINT, LogicalType::SMALLINT, LogicalType::INTEGER, LogicalType::BIGINT, LogicalType::HUGEINT, LogicalType::FLOAT, LogicalType::DOUBLE, LogicalTypeId::DECIMAL, LogicalType::UTINYINT, - LogicalType::USMALLINT, LogicalType::UINTEGER, LogicalType::UBIGINT}; + LogicalType::USMALLINT, LogicalType::UINTEGER, LogicalType::UBIGINT, + LogicalType::UHUGEINT}; return types; } const vector LogicalType::Integral() { vector types = {LogicalType::TINYINT, LogicalType::SMALLINT, LogicalType::INTEGER, LogicalType::BIGINT, LogicalType::HUGEINT, LogicalType::UTINYINT, - LogicalType::USMALLINT, LogicalType::UINTEGER, LogicalType::UBIGINT}; + LogicalType::USMALLINT, LogicalType::UINTEGER, LogicalType::UBIGINT, + LogicalType::UHUGEINT}; + return types; +} + +const vector LogicalType::Real() { + vector types = {LogicalType::FLOAT, LogicalType::DOUBLE}; return types; } const vector LogicalType::AllTypes() { vector types = { - LogicalType::BOOLEAN, LogicalType::TINYINT, LogicalType::SMALLINT, LogicalType::INTEGER, - LogicalType::BIGINT, LogicalType::DATE, LogicalType::TIMESTAMP, LogicalType::DOUBLE, - LogicalType::FLOAT, LogicalType::VARCHAR, LogicalType::BLOB, LogicalType::BIT, - LogicalType::INTERVAL, LogicalType::HUGEINT, LogicalTypeId::DECIMAL, LogicalType::UTINYINT, - LogicalType::USMALLINT, LogicalType::UINTEGER, LogicalType::UBIGINT, LogicalType::TIME, - LogicalTypeId::LIST, LogicalTypeId::STRUCT, LogicalType::TIME_TZ, LogicalType::TIMESTAMP_TZ, - LogicalTypeId::MAP, LogicalTypeId::UNION, LogicalType::UUID}; + LogicalType::BOOLEAN, LogicalType::TINYINT, LogicalType::SMALLINT, LogicalType::INTEGER, + LogicalType::BIGINT, LogicalType::DATE, LogicalType::TIMESTAMP, LogicalType::DOUBLE, + LogicalType::FLOAT, LogicalType::VARCHAR, LogicalType::BLOB, LogicalType::BIT, + LogicalType::INTERVAL, LogicalType::HUGEINT, LogicalTypeId::DECIMAL, LogicalType::UTINYINT, + LogicalType::USMALLINT, LogicalType::UINTEGER, LogicalType::UBIGINT, LogicalType::UHUGEINT, + LogicalType::TIME, LogicalTypeId::LIST, LogicalTypeId::STRUCT, LogicalType::TIME_TZ, + LogicalType::TIMESTAMP_TZ, LogicalTypeId::MAP, LogicalTypeId::UNION, LogicalType::UUID, + LogicalTypeId::ARRAY}; return types; } @@ -253,6 +271,8 @@ string TypeIdToString(PhysicalType type) { return "UINT64"; case PhysicalType::INT128: return "INT128"; + case PhysicalType::UINT128: + return "UINT128"; case PhysicalType::FLOAT: return "FLOAT"; case PhysicalType::DOUBLE: @@ -265,6 +285,8 @@ string TypeIdToString(PhysicalType type) { return "STRUCT"; case PhysicalType::LIST: return "LIST"; + case PhysicalType::ARRAY: + return "ARRAY"; case PhysicalType::INVALID: return "INVALID"; case PhysicalType::BIT: @@ -299,6 +321,8 @@ idx_t GetTypeIdSize(PhysicalType type) { return sizeof(uint64_t); case PhysicalType::INT128: return sizeof(hugeint_t); + case PhysicalType::UINT128: + return sizeof(uhugeint_t); case PhysicalType::FLOAT: return sizeof(float); case PhysicalType::DOUBLE: @@ -309,6 +333,7 @@ idx_t GetTypeIdSize(PhysicalType type) { return sizeof(interval_t); case PhysicalType::STRUCT: case PhysicalType::UNKNOWN: + case PhysicalType::ARRAY: return 0; // no own payload case PhysicalType::LIST: return sizeof(list_entry_t); // offset + len @@ -319,32 +344,42 @@ idx_t GetTypeIdSize(PhysicalType type) { bool TypeIsConstantSize(PhysicalType type) { return (type >= PhysicalType::BOOL && type <= PhysicalType::DOUBLE) || type == PhysicalType::INTERVAL || - type == PhysicalType::INT128; + type == PhysicalType::INT128 || type == PhysicalType::UINT128; } bool TypeIsIntegral(PhysicalType type) { - return (type >= PhysicalType::UINT8 && type <= PhysicalType::INT64) || type == PhysicalType::INT128; + return (type >= PhysicalType::UINT8 && type <= PhysicalType::INT64) || type == PhysicalType::INT128 || + type == PhysicalType::UINT128; } bool TypeIsNumeric(PhysicalType type) { - return (type >= PhysicalType::UINT8 && type <= PhysicalType::DOUBLE) || type == PhysicalType::INT128; + return (type >= PhysicalType::UINT8 && type <= PhysicalType::DOUBLE) || type == PhysicalType::INT128 || + type == PhysicalType::UINT128; } bool TypeIsInteger(PhysicalType type) { - return (type >= PhysicalType::UINT8 && type <= PhysicalType::INT64) || type == PhysicalType::INT128; + return (type >= PhysicalType::UINT8 && type <= PhysicalType::INT64) || type == PhysicalType::INT128 || + type == PhysicalType::UINT128; } string LogicalType::ToString() const { - auto alias = GetAlias(); - if (!alias.empty()) { - return alias; + if (id_ != LogicalTypeId::USER) { + auto alias = GetAlias(); + if (!alias.empty()) { + return alias; + } } switch (id_) { case LogicalTypeId::STRUCT: { if (!type_info_) { return "STRUCT"; } + auto is_unnamed = StructType::IsUnnamed(*this); auto &child_types = StructType::GetChildTypes(*this); string ret = "STRUCT("; for (size_t i = 0; i < child_types.size(); i++) { - ret += StringUtil::Format("%s %s", SQLIdentifier(child_types[i].first), child_types[i].second); + if (is_unnamed) { + ret += child_types[i].second.ToString(); + } else { + ret += StringUtil::Format("%s %s", SQLIdentifier(child_types[i].first), child_types[i].second); + } if (i < child_types.size() - 1) { ret += ", "; } @@ -383,6 +418,17 @@ string LogicalType::ToString() const { ret += ")"; return ret; } + case LogicalTypeId::ARRAY: { + if (!type_info_) { + return "ARRAY"; + } + auto size = ArrayType::GetSize(*this); + if (size == 0) { + return ArrayType::GetChildType(*this).ToString() + "[ANY]"; + } else { + return ArrayType::GetChildType(*this).ToString() + "[" + to_string(size) + "]"; + } + } case LogicalTypeId::DECIMAL: { if (!type_info_) { return "DECIMAL"; @@ -406,7 +452,25 @@ string LogicalType::ToString() const { return ret; } case LogicalTypeId::USER: { - return KeywordHelper::WriteOptionallyQuoted(UserType::GetTypeName(*this)); + string result; + auto &catalog = UserType::GetCatalog(*this); + auto &schema = UserType::GetSchema(*this); + auto &type = UserType::GetTypeName(*this); + + if (!catalog.empty()) { + result = KeywordHelper::WriteOptionallyQuoted(catalog); + } + if (!schema.empty()) { + if (!result.empty()) { + result += "."; + } + result += KeywordHelper::WriteOptionallyQuoted(schema); + } + if (!result.empty()) { + result += "."; + } + result += KeywordHelper::WriteOptionallyQuoted(type); + return result; } case LogicalTypeId::AGGREGATE_STATE: { return AggregateStateType::GetTypeName(*this); @@ -473,6 +537,7 @@ bool LogicalType::IsIntegral() const { case LogicalTypeId::UINTEGER: case LogicalTypeId::UBIGINT: case LogicalTypeId::HUGEINT: + case LogicalTypeId::UHUGEINT: return true; default: return false; @@ -493,6 +558,7 @@ bool LogicalType::IsNumeric() const { case LogicalTypeId::USMALLINT: case LogicalTypeId::UINTEGER: case LogicalTypeId::UBIGINT: + case LogicalTypeId::UHUGEINT: return true; default: return false; @@ -503,6 +569,10 @@ bool LogicalType::IsValid() const { return id() != LogicalTypeId::INVALID && id() != LogicalTypeId::UNKNOWN; } +bool LogicalType::Contains(LogicalTypeId type_id) const { + return Contains([&](const LogicalType &type) { return type.id() == type_id; }); +} + bool LogicalType::GetDecimalProperties(uint8_t &width, uint8_t &scale) const { switch (id_) { case LogicalTypeId::SQLNULL: @@ -559,10 +629,18 @@ bool LogicalType::GetDecimalProperties(uint8_t &width, uint8_t &scale) const { width = 38; scale = 0; break; + case LogicalTypeId::UHUGEINT: + // hugeint: max size decimal (38, 0) + // note that a uhugeint is not guaranteed to fit in this + width = 38; + scale = 0; + break; case LogicalTypeId::DECIMAL: width = DecimalType::GetWidth(*this); scale = DecimalType::GetScale(*this); break; + case LogicalTypeId::INTEGER_LITERAL: + return IntegerLiteral::GetType(*this).GetDecimalProperties(width, scale); default: // Nonsense values to ensure initialization width = 255u; @@ -611,22 +689,6 @@ static LogicalType CombineNumericTypes(const LogicalType &left, const LogicalTyp // arrange it so the left type is smaller to limit the number of options we need to check return CombineNumericTypes(right, left); } - if (CastRules::ImplicitCast(left, right) >= 0) { - // we can implicitly cast left to right, return right - //! Depending on the type, we might need to grow the `width` of the DECIMAL type - if (right.id() == LogicalTypeId::DECIMAL) { - return DecimalSizeCheck(left, right); - } - return right; - } - if (CastRules::ImplicitCast(right, left) >= 0) { - // we can implicitly cast right to left, return left - //! Depending on the type, we might need to grow the `width` of the DECIMAL type - if (left.id() == LogicalTypeId::DECIMAL) { - return DecimalSizeCheck(right, left); - } - return left; - } // we can't cast implicitly either way and types are not equal // this happens when left is signed and right is unsigned // e.g. INTEGER and UINTEGER @@ -644,47 +706,118 @@ static LogicalType CombineNumericTypes(const LogicalType &left, const LogicalTyp if (left.id() == LogicalTypeId::TINYINT || right.id() == LogicalTypeId::UTINYINT) { return LogicalType::SMALLINT; } - throw InternalException("Cannot combine these numeric types!?"); + + // No type is larger than (u)hugeint, so casting to double is required + // UHUGEINT is on the left because the enum is lower + if (left.id() == LogicalTypeId::UHUGEINT || right.id() == LogicalTypeId::HUGEINT) { + return LogicalType::DOUBLE; + } + throw InternalException("Cannot combine these numeric types (%s & %s)", left.ToString(), right.ToString()); } -LogicalType LogicalType::MaxLogicalType(const LogicalType &left, const LogicalType &right) { - // we always prefer aliased types - if (!left.GetAlias().empty()) { - return left; +LogicalType LogicalType::NormalizeType(const LogicalType &type) { + switch (type.id()) { + case LogicalTypeId::STRING_LITERAL: + return LogicalType::VARCHAR; + case LogicalTypeId::INTEGER_LITERAL: + return IntegerLiteral::GetType(type); + default: + return type; } - if (!right.GetAlias().empty()) { - return right; +} + +template +static bool CombineUnequalTypes(const LogicalType &left, const LogicalType &right, LogicalType &result) { + // left and right are not equal + // for enums, match the varchar rules + if (left.id() == LogicalTypeId::ENUM) { + return OP::Operation(LogicalType::VARCHAR, right, result); + } else if (right.id() == LogicalTypeId::ENUM) { + return OP::Operation(left, LogicalType::VARCHAR, result); } - if (left.id() != right.id() && left.IsNumeric() && right.IsNumeric()) { - return CombineNumericTypes(left, right); - } else if (left.id() == LogicalTypeId::UNKNOWN) { - return right; - } else if (right.id() == LogicalTypeId::UNKNOWN) { - return left; - } else if ((right.id() == LogicalTypeId::ENUM || left.id() == LogicalTypeId::ENUM) && right.id() != left.id()) { - // if one is an enum and the other is not, compare strings, not enums - // see https://github.com/duckdb/duckdb/issues/8561 - return LogicalTypeId::VARCHAR; - } else if (left.id() < right.id()) { - return right; + // NULL/string literals/unknown (parameter) types always take the other type + LogicalTypeId other_types[] = {LogicalTypeId::UNKNOWN, LogicalTypeId::SQLNULL, LogicalTypeId::STRING_LITERAL}; + for (auto &other_type : other_types) { + if (left.id() == other_type) { + result = LogicalType::NormalizeType(right); + return true; + } else if (right.id() == other_type) { + result = LogicalType::NormalizeType(left); + return true; + } } - if (right.id() < left.id()) { - return left; + + // for other types - use implicit cast rules to check if we can combine the types + auto left_to_right_cost = CastRules::ImplicitCast(left, right); + auto right_to_left_cost = CastRules::ImplicitCast(right, left); + if (left_to_right_cost >= 0 && (left_to_right_cost < right_to_left_cost || right_to_left_cost < 0)) { + // we can implicitly cast left to right, return right + //! Depending on the type, we might need to grow the `width` of the DECIMAL type + if (right.id() == LogicalTypeId::DECIMAL) { + result = DecimalSizeCheck(left, right); + } else { + result = right; + } + return true; + } + if (right_to_left_cost >= 0) { + // we can implicitly cast right to left, return left + //! Depending on the type, we might need to grow the `width` of the DECIMAL type + if (left.id() == LogicalTypeId::DECIMAL) { + result = DecimalSizeCheck(right, left); + } else { + result = left; + } + return true; } + // for integer literals - rerun the operation with the underlying type + if (left.id() == LogicalTypeId::INTEGER_LITERAL) { + return OP::Operation(IntegerLiteral::GetType(left), right, result); + } + if (right.id() == LogicalTypeId::INTEGER_LITERAL) { + return OP::Operation(left, IntegerLiteral::GetType(right), result); + } + // for unsigned/signed comparisons we have a few fallbacks + if (left.IsNumeric() && right.IsNumeric()) { + result = CombineNumericTypes(left, right); + return true; + } + if (left.id() == LogicalTypeId::BOOLEAN && right.IsIntegral()) { + result = right; + return true; + } + if (right.id() == LogicalTypeId::BOOLEAN && left.IsIntegral()) { + result = left; + return true; + } + return false; +} + +template +static bool CombineEqualTypes(const LogicalType &left, const LogicalType &right, LogicalType &result) { // Since both left and right are equal we get the left type as our type_id for checks auto type_id = left.id(); - if (type_id == LogicalTypeId::ENUM) { + switch (type_id) { + case LogicalTypeId::STRING_LITERAL: + // two string literals convert to varchar + result = LogicalType::VARCHAR; + return true; + case LogicalTypeId::INTEGER_LITERAL: + // for two integer literals we unify the underlying types + return OP::Operation(IntegerLiteral::GetType(left), IntegerLiteral::GetType(right), result); + case LogicalTypeId::ENUM: // If both types are different ENUMs we do a string comparison. - return left == right ? left : LogicalType::VARCHAR; - } - if (type_id == LogicalTypeId::VARCHAR) { + result = left == right ? left : LogicalType::VARCHAR; + return true; + case LogicalTypeId::VARCHAR: // varchar: use type that has collation (if any) if (StringType::GetCollation(right).empty()) { - return left; + result = left; + } else { + result = right; } - return right; - } - if (type_id == LogicalTypeId::DECIMAL) { + return true; + case LogicalTypeId::DECIMAL: { // unify the width/scale so that the resulting decimal always fits // "width - scale" gives us the number of digits on the left side of the decimal point // "scale" gives us the number of digits allowed on the right of the decimal point @@ -699,54 +832,264 @@ LogicalType LogicalType::MaxLogicalType(const LogicalType &left, const LogicalTy width = DecimalType::MaxWidth(); scale = width - extra_width; } - return LogicalType::DECIMAL(width, scale); + result = LogicalType::DECIMAL(width, scale); + return true; } - if (type_id == LogicalTypeId::LIST) { + case LogicalTypeId::LIST: { // list: perform max recursively on child type - auto new_child = MaxLogicalType(ListType::GetChildType(left), ListType::GetChildType(right)); - return LogicalType::LIST(new_child); + LogicalType new_child; + if (!OP::Operation(ListType::GetChildType(left), ListType::GetChildType(right), new_child)) { + return false; + } + result = LogicalType::LIST(new_child); + return true; } - if (type_id == LogicalTypeId::MAP) { - // list: perform max recursively on child type - auto new_child = MaxLogicalType(ListType::GetChildType(left), ListType::GetChildType(right)); - return LogicalType::MAP(new_child); + case LogicalTypeId::ARRAY: { + LogicalType new_child; + if (!OP::Operation(ArrayType::GetChildType(left), ArrayType::GetChildType(right), new_child)) { + return false; + } + auto new_size = MaxValue(ArrayType::GetSize(left), ArrayType::GetSize(right)); + result = LogicalType::ARRAY(new_child, new_size); + return true; + } + case LogicalTypeId::MAP: { + // map: perform max recursively on child type + LogicalType new_child; + if (!OP::Operation(ListType::GetChildType(left), ListType::GetChildType(right), new_child)) { + return false; + } + result = LogicalType::MAP(new_child); + return true; } - if (type_id == LogicalTypeId::STRUCT) { - // struct: perform recursively + case LogicalTypeId::STRUCT: { + // struct: perform recursively on each child auto &left_child_types = StructType::GetChildTypes(left); auto &right_child_types = StructType::GetChildTypes(right); if (left_child_types.size() != right_child_types.size()) { - // child types are not of equal size, we can't cast anyway - // just return the left child - return left; + // child types are not of equal size, we can't cast + // return false + return false; } child_list_t child_types; for (idx_t i = 0; i < left_child_types.size(); i++) { - auto child_type = MaxLogicalType(left_child_types[i].second, right_child_types[i].second); + LogicalType child_type; + if (!OP::Operation(left_child_types[i].second, right_child_types[i].second, child_type)) { + return false; + } child_types.emplace_back(left_child_types[i].first, std::move(child_type)); } - - return LogicalType::STRUCT(child_types); + result = LogicalType::STRUCT(child_types); + return true; } - if (type_id == LogicalTypeId::UNION) { + case LogicalTypeId::UNION: { auto left_member_count = UnionType::GetMemberCount(left); auto right_member_count = UnionType::GetMemberCount(right); if (left_member_count != right_member_count) { // return the "larger" type, with the most members - return left_member_count > right_member_count ? left : right; + result = left_member_count > right_member_count ? left : right; + return true; } // otherwise, keep left, don't try to meld the two together. + result = left; + return true; + } + default: + result = left; + return true; + } +} + +template +bool TryGetMaxLogicalTypeInternal(const LogicalType &left, const LogicalType &right, LogicalType &result) { + // we always prefer aliased types + if (!left.GetAlias().empty()) { + result = left; + return true; + } + if (!right.GetAlias().empty()) { + result = right; + return true; + } + if (left.id() != right.id()) { + return CombineUnequalTypes(left, right, result); + } else { + return CombineEqualTypes(left, right, result); + } +} + +struct TryGetTypeOperation { + static bool Operation(const LogicalType &left, const LogicalType &right, LogicalType &result) { + return TryGetMaxLogicalTypeInternal(left, right, result); + } +}; + +struct ForceGetTypeOperation { + static bool Operation(const LogicalType &left, const LogicalType &right, LogicalType &result) { + result = LogicalType::ForceMaxLogicalType(left, right); + return true; + } +}; + +bool LogicalType::TryGetMaxLogicalType(ClientContext &context, const LogicalType &left, const LogicalType &right, + LogicalType &result) { + if (DBConfig::GetConfig(context).options.old_implicit_casting) { + result = LogicalType::ForceMaxLogicalType(left, right); + return true; + } + return TryGetMaxLogicalTypeInternal(left, right, result); +} + +static idx_t GetLogicalTypeScore(const LogicalType &type) { + switch (type.id()) { + case LogicalTypeId::INVALID: + case LogicalTypeId::SQLNULL: + case LogicalTypeId::UNKNOWN: + case LogicalTypeId::ANY: + case LogicalTypeId::STRING_LITERAL: + case LogicalTypeId::INTEGER_LITERAL: + return 0; + // numerics + case LogicalTypeId::BOOLEAN: + return 10; + case LogicalTypeId::UTINYINT: + return 11; + case LogicalTypeId::TINYINT: + return 12; + case LogicalTypeId::USMALLINT: + return 13; + case LogicalTypeId::SMALLINT: + return 14; + case LogicalTypeId::UINTEGER: + return 15; + case LogicalTypeId::INTEGER: + return 16; + case LogicalTypeId::UBIGINT: + return 17; + case LogicalTypeId::BIGINT: + return 18; + case LogicalTypeId::UHUGEINT: + return 19; + case LogicalTypeId::HUGEINT: + return 20; + case LogicalTypeId::DECIMAL: + return 21; + case LogicalTypeId::FLOAT: + return 22; + case LogicalTypeId::DOUBLE: + return 23; + // date/time/timestamp + case LogicalTypeId::TIME: + case LogicalTypeId::TIME_TZ: + return 50; + case LogicalTypeId::DATE: + return 51; + case LogicalTypeId::TIMESTAMP_SEC: + return 52; + case LogicalTypeId::TIMESTAMP_MS: + return 53; + case LogicalTypeId::TIMESTAMP: + case LogicalTypeId::TIMESTAMP_TZ: + return 54; + case LogicalTypeId::TIMESTAMP_NS: + return 55; + case LogicalTypeId::INTERVAL: + return 56; + // text/character strings + case LogicalTypeId::CHAR: + return 75; + case LogicalTypeId::VARCHAR: + return 77; + case LogicalTypeId::ENUM: + return 78; + // blob/complex types + case LogicalTypeId::BIT: + return 100; + case LogicalTypeId::BLOB: + return 101; + case LogicalTypeId::UUID: + return 102; + // nested types + case LogicalTypeId::STRUCT: + return 125; + case LogicalTypeId::LIST: + case LogicalTypeId::ARRAY: + return 126; + case LogicalTypeId::MAP: + return 127; + case LogicalTypeId::UNION: + case LogicalTypeId::TABLE: + return 150; + // weirdo types + case LogicalTypeId::LAMBDA: + case LogicalTypeId::AGGREGATE_STATE: + case LogicalTypeId::POINTER: + case LogicalTypeId::VALIDITY: + case LogicalTypeId::USER: + break; + } + return 1000; +} + +LogicalType LogicalType::ForceMaxLogicalType(const LogicalType &left, const LogicalType &right) { + LogicalType result; + if (TryGetMaxLogicalTypeInternal(left, right, result)) { + return result; + } + // we prefer the type with the highest score + auto left_score = GetLogicalTypeScore(left); + auto right_score = GetLogicalTypeScore(right); + if (left_score < right_score) { + return right; + } else { return left; } - // types are equal but no extra specifier: just return the type - return left; +} + +LogicalType LogicalType::MaxLogicalType(ClientContext &context, const LogicalType &left, const LogicalType &right) { + LogicalType result; + if (!TryGetMaxLogicalType(context, left, right, result)) { + throw NotImplementedException("Cannot combine types %s and %s - an explicit cast is required", left.ToString(), + right.ToString()); + } + return result; } void LogicalType::Verify() const { #ifdef DEBUG - if (id_ == LogicalTypeId::DECIMAL) { + switch (id_) { + case LogicalTypeId::DECIMAL: D_ASSERT(DecimalType::GetWidth(*this) >= 1 && DecimalType::GetWidth(*this) <= Decimal::MAX_WIDTH_DECIMAL); D_ASSERT(DecimalType::GetScale(*this) >= 0 && DecimalType::GetScale(*this) <= DecimalType::GetWidth(*this)); + break; + case LogicalTypeId::STRUCT: { + // verify child types + case_insensitive_set_t child_names; + bool all_empty = true; + for (auto &entry : StructType::GetChildTypes(*this)) { + if (entry.first.empty()) { + D_ASSERT(all_empty); + } else { + // check for duplicate struct names + all_empty = false; + auto existing_entry = child_names.find(entry.first); + D_ASSERT(existing_entry == child_names.end()); + child_names.insert(entry.first); + } + entry.second.Verify(); + } + break; + } + case LogicalTypeId::LIST: + ListType::GetChildType(*this).Verify(); + break; + case LogicalTypeId::MAP: { + MapType::KeyType(*this).Verify(); + MapType::ValueType(*this).Verify(); + break; + } + default: + break; } #endif } @@ -914,12 +1257,24 @@ const string &StructType::GetChildName(const LogicalType &type, idx_t index) { return child_types[index].first; } +idx_t StructType::GetChildIndexUnsafe(const LogicalType &type, const string &name) { + auto &child_types = StructType::GetChildTypes(type); + for (idx_t i = 0; i < child_types.size(); i++) { + if (StringUtil::CIEquals(child_types[i].first, name)) { + return i; + } + } + throw InternalException("Could not find child with name \"%s\" in struct type \"%s\"", name, type.ToString()); +} + idx_t StructType::GetChildCount(const LogicalType &type) { return StructType::GetChildTypes(type).size(); } bool StructType::IsUnnamed(const LogicalType &type) { auto &child_types = StructType::GetChildTypes(type); - D_ASSERT(child_types.size() > 0); + if (child_types.empty()) { + return false; + } return child_types[0].first.empty(); } @@ -1014,6 +1369,20 @@ const child_list_t UnionType::CopyMemberTypes(const LogicalType &ty //===--------------------------------------------------------------------===// // User Type //===--------------------------------------------------------------------===// +const string &UserType::GetCatalog(const LogicalType &type) { + D_ASSERT(type.id() == LogicalTypeId::USER); + auto info = type.AuxInfo(); + D_ASSERT(info); + return info->Cast().catalog; +} + +const string &UserType::GetSchema(const LogicalType &type) { + D_ASSERT(type.id() == LogicalTypeId::USER); + auto info = type.AuxInfo(); + D_ASSERT(info); + return info->Cast().schema; +} + const string &UserType::GetTypeName(const LogicalType &type) { D_ASSERT(type.id() == LogicalTypeId::USER); auto info = type.AuxInfo(); @@ -1026,6 +1395,11 @@ LogicalType LogicalType::USER(const string &user_type_name) { return LogicalType(LogicalTypeId::USER, std::move(info)); } +LogicalType LogicalType::USER(string catalog, string schema, string name) { + auto info = make_shared(std::move(catalog), std::move(schema), std::move(name)); + return LogicalType(LogicalTypeId::USER, std::move(info)); +} + //===--------------------------------------------------------------------===// // Enum Type //===--------------------------------------------------------------------===// @@ -1066,6 +1440,148 @@ PhysicalType EnumType::GetPhysicalType(const LogicalType &type) { return EnumTypeInfo::DictType(info.GetDictSize()); } +//===--------------------------------------------------------------------===// +// JSON Type +//===--------------------------------------------------------------------===// +LogicalType LogicalType::JSON() { + auto json_type = LogicalType(LogicalTypeId::VARCHAR); + json_type.SetAlias(JSON_TYPE_NAME); + return json_type; +} + +bool LogicalType::IsJSONType() const { + return id() == LogicalTypeId::VARCHAR && HasAlias() && GetAlias() == JSON_TYPE_NAME; +} + +//===--------------------------------------------------------------------===// +// Array Type +//===--------------------------------------------------------------------===// + +const LogicalType &ArrayType::GetChildType(const LogicalType &type) { + D_ASSERT(type.id() == LogicalTypeId::ARRAY); + auto info = type.AuxInfo(); + D_ASSERT(info); + return info->Cast().child_type; +} + +idx_t ArrayType::GetSize(const LogicalType &type) { + D_ASSERT(type.id() == LogicalTypeId::ARRAY); + auto info = type.AuxInfo(); + D_ASSERT(info); + return info->Cast().size; +} + +bool ArrayType::IsAnySize(const LogicalType &type) { + D_ASSERT(type.id() == LogicalTypeId::ARRAY); + auto info = type.AuxInfo(); + D_ASSERT(info); + return info->Cast().size == 0; +} + +LogicalType ArrayType::ConvertToList(const LogicalType &type) { + switch (type.id()) { + case LogicalTypeId::ARRAY: { + return LogicalType::LIST(ConvertToList(ArrayType::GetChildType(type))); + } + case LogicalTypeId::LIST: + return LogicalType::LIST(ConvertToList(ListType::GetChildType(type))); + case LogicalTypeId::STRUCT: { + auto children = StructType::GetChildTypes(type); + for (auto &child : children) { + child.second = ConvertToList(child.second); + } + return LogicalType::STRUCT(children); + } + case LogicalTypeId::MAP: { + auto key_type = ConvertToList(MapType::KeyType(type)); + auto value_type = ConvertToList(MapType::ValueType(type)); + return LogicalType::MAP(key_type, value_type); + } + case LogicalTypeId::UNION: { + auto children = UnionType::CopyMemberTypes(type); + for (auto &child : children) { + child.second = ConvertToList(child.second); + } + return LogicalType::UNION(children); + } + default: + return type; + } +} + +LogicalType LogicalType::ARRAY(const LogicalType &child, idx_t size) { + D_ASSERT(size > 0); + D_ASSERT(size < ArrayType::MAX_ARRAY_SIZE); + auto info = make_shared(child, size); + return LogicalType(LogicalTypeId::ARRAY, std::move(info)); +} + +LogicalType LogicalType::ARRAY(const LogicalType &child) { + auto info = make_shared(child, 0); + return LogicalType(LogicalTypeId::ARRAY, std::move(info)); +} + +//===--------------------------------------------------------------------===// +// Any Type +//===--------------------------------------------------------------------===// +LogicalType LogicalType::ANY_PARAMS(LogicalType target, idx_t cast_score) { // NOLINT + auto type_info = make_shared(std::move(target), cast_score); + return LogicalType(LogicalTypeId::ANY, std::move(type_info)); +} + +LogicalType AnyType::GetTargetType(const LogicalType &type) { + D_ASSERT(type.id() == LogicalTypeId::ANY); + auto info = type.AuxInfo(); + if (!info) { + return LogicalType::ANY; + } + return info->Cast().target_type; +} + +idx_t AnyType::GetCastScore(const LogicalType &type) { + D_ASSERT(type.id() == LogicalTypeId::ANY); + auto info = type.AuxInfo(); + if (!info) { + return 5; + } + return info->Cast().cast_score; +} + +//===--------------------------------------------------------------------===// +// Integer Literal Type +//===--------------------------------------------------------------------===// +LogicalType IntegerLiteral::GetType(const LogicalType &type) { + D_ASSERT(type.id() == LogicalTypeId::INTEGER_LITERAL); + auto info = type.AuxInfo(); + D_ASSERT(info && info->type == ExtraTypeInfoType::INTEGER_LITERAL_TYPE_INFO); + return info->Cast().constant_value.type(); +} + +bool IntegerLiteral::FitsInType(const LogicalType &type, const LogicalType &target) { + D_ASSERT(type.id() == LogicalTypeId::INTEGER_LITERAL); + // we can always cast integer literals to float and double + if (target.id() == LogicalTypeId::FLOAT || target.id() == LogicalTypeId::DOUBLE) { + return true; + } + if (!target.IsIntegral()) { + return false; + } + // we can cast to integral types if the constant value fits within that type + auto info = type.AuxInfo(); + D_ASSERT(info && info->type == ExtraTypeInfoType::INTEGER_LITERAL_TYPE_INFO); + auto &literal_info = info->Cast(); + Value copy = literal_info.constant_value; + return copy.DefaultTryCastAs(target); +} + +LogicalType LogicalType::INTEGER_LITERAL(const Value &constant) { // NOLINT + if (!constant.type().IsIntegral()) { + throw InternalException("INTEGER_LITERAL can only be made from literals of integer types"); + } + auto type_info = make_shared(constant); + return LogicalType(LogicalTypeId::INTEGER_LITERAL, std::move(type_info)); +} + //===--------------------------------------------------------------------===// // Logical Type //===--------------------------------------------------------------------===// diff --git a/src/common/types/CMakeLists.txt b/src/common/types/CMakeLists.txt index f5d127548c3c..9287b238f438 100644 --- a/src/common/types/CMakeLists.txt +++ b/src/common/types/CMakeLists.txt @@ -13,7 +13,6 @@ add_library_unity( bit.cpp blob.cpp cast_helpers.cpp - chunk_collection.cpp conflict_manager.cpp conflict_info.cpp data_chunk.cpp @@ -21,6 +20,7 @@ add_library_unity( decimal.cpp hash.cpp hugeint.cpp + uhugeint.cpp uuid.cpp hyperloglog.cpp interval.cpp diff --git a/src/common/types/cast_helpers.cpp b/src/common/types/cast_helpers.cpp index 5011b674bd07..f37fbaa971e9 100644 --- a/src/common/types/cast_helpers.cpp +++ b/src/common/types/cast_helpers.cpp @@ -1,5 +1,6 @@ #include "duckdb/common/types/cast_helpers.hpp" #include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/types/uhugeint.hpp" namespace duckdb { @@ -107,4 +108,9 @@ std::string NumericHelper::ToString(hugeint_t value) { return Hugeint::ToString(value); } +template <> +std::string NumericHelper::ToString(uhugeint_t value) { + return Uhugeint::ToString(value); +} + } // namespace duckdb diff --git a/src/common/types/chunk_collection.cpp b/src/common/types/chunk_collection.cpp deleted file mode 100644 index abd4314e3c46..000000000000 --- a/src/common/types/chunk_collection.cpp +++ /dev/null @@ -1,190 +0,0 @@ -#include "duckdb/common/types/chunk_collection.hpp" - -#include "duckdb/common/assert.hpp" -#include "duckdb/common/exception.hpp" -#include "duckdb/common/queue.hpp" -#include "duckdb/common/operator/comparison_operators.hpp" -#include "duckdb/common/printer.hpp" -#include "duckdb/common/value_operations/value_operations.hpp" -#include "duckdb/common/vector_operations/vector_operations.hpp" - -#include -#include - -namespace duckdb { - -ChunkCollection::ChunkCollection(Allocator &allocator) : allocator(allocator), count(0) { -} - -ChunkCollection::ChunkCollection(ClientContext &context) : ChunkCollection(Allocator::Get(context)) { -} - -void ChunkCollection::Verify() { -#ifdef DEBUG - for (auto &chunk : chunks) { - chunk->Verify(); - } -#endif -} - -void ChunkCollection::Append(ChunkCollection &other) { - for (auto &chunk : other.chunks) { - Append(*chunk); - } -} - -void ChunkCollection::Merge(ChunkCollection &other) { - if (other.count == 0) { - return; - } - if (count == 0) { - chunks = std::move(other.chunks); - types = std::move(other.types); - count = other.count; - return; - } - unique_ptr old_back; - if (!chunks.empty() && chunks.back()->size() != STANDARD_VECTOR_SIZE) { - old_back = std::move(chunks.back()); - chunks.pop_back(); - count -= old_back->size(); - } - for (auto &chunk : other.chunks) { - chunks.push_back(std::move(chunk)); - } - count += other.count; - if (old_back) { - Append(*old_back); - } - Verify(); -} - -void ChunkCollection::Append(DataChunk &new_chunk) { - if (new_chunk.size() == 0) { - return; - } - new_chunk.Verify(); - - // we have to ensure that every chunk in the ChunkCollection is completely - // filled, otherwise our O(1) lookup in GetValue and SetValue does not work - // first fill the latest chunk, if it exists - count += new_chunk.size(); - - idx_t remaining_data = new_chunk.size(); - idx_t offset = 0; - if (chunks.empty()) { - // first chunk - types = new_chunk.GetTypes(); - } else { - // the types of the new chunk should match the types of the previous one - D_ASSERT(types.size() == new_chunk.ColumnCount()); - auto new_types = new_chunk.GetTypes(); - for (idx_t i = 0; i < types.size(); i++) { - if (new_types[i] != types[i]) { - throw TypeMismatchException(new_types[i], types[i], "Type mismatch when combining rows"); - } - if (types[i].InternalType() == PhysicalType::LIST) { - // need to check all the chunks because they can have only-null list entries - for (auto &chunk : chunks) { - auto &chunk_vec = chunk->data[i]; - auto &new_vec = new_chunk.data[i]; - auto &chunk_type = chunk_vec.GetType(); - auto &new_type = new_vec.GetType(); - if (chunk_type != new_type) { - throw TypeMismatchException(chunk_type, new_type, "Type mismatch when combining lists"); - } - } - } - // TODO check structs, too - } - - // first append data to the current chunk - DataChunk &last_chunk = *chunks.back(); - idx_t added_data = MinValue(remaining_data, STANDARD_VECTOR_SIZE - last_chunk.size()); - if (added_data > 0) { - // copy elements to the last chunk - new_chunk.Flatten(); - // have to be careful here: setting the cardinality without calling normalify can cause incorrect partial - // decompression - idx_t old_count = new_chunk.size(); - new_chunk.SetCardinality(added_data); - - last_chunk.Append(new_chunk); - remaining_data -= added_data; - // reset the chunk to the old data - new_chunk.SetCardinality(old_count); - offset = added_data; - } - } - - if (remaining_data > 0) { - // create a new chunk and fill it with the remainder - auto chunk = make_uniq(); - chunk->Initialize(allocator, types); - new_chunk.Copy(*chunk, offset); - chunks.push_back(std::move(chunk)); - } -} - -void ChunkCollection::Append(unique_ptr new_chunk) { - if (types.empty()) { - types = new_chunk->GetTypes(); - } - D_ASSERT(types == new_chunk->GetTypes()); - count += new_chunk->size(); - chunks.push_back(std::move(new_chunk)); -} - -void ChunkCollection::Fuse(ChunkCollection &other) { - if (count == 0) { - chunks.reserve(other.ChunkCount()); - for (idx_t chunk_idx = 0; chunk_idx < other.ChunkCount(); ++chunk_idx) { - auto lhs = make_uniq(); - auto &rhs = other.GetChunk(chunk_idx); - lhs->data.reserve(rhs.data.size()); - for (auto &v : rhs.data) { - lhs->data.emplace_back(v); - } - lhs->SetCardinality(rhs.size()); - chunks.push_back(std::move(lhs)); - } - count = other.Count(); - } else { - D_ASSERT(this->ChunkCount() == other.ChunkCount()); - for (idx_t chunk_idx = 0; chunk_idx < ChunkCount(); ++chunk_idx) { - auto &lhs = this->GetChunk(chunk_idx); - auto &rhs = other.GetChunk(chunk_idx); - D_ASSERT(lhs.size() == rhs.size()); - for (auto &v : rhs.data) { - lhs.data.emplace_back(v); - } - } - } - types.insert(types.end(), other.types.begin(), other.types.end()); -} - -Value ChunkCollection::GetValue(idx_t column, idx_t index) { - return chunks[LocateChunk(index)]->GetValue(column, index % STANDARD_VECTOR_SIZE); -} - -void ChunkCollection::SetValue(idx_t column, idx_t index, const Value &value) { - chunks[LocateChunk(index)]->SetValue(column, index % STANDARD_VECTOR_SIZE, value); -} - -void ChunkCollection::CopyCell(idx_t column, idx_t index, Vector &target, idx_t target_offset) { - auto &chunk = GetChunkForRow(index); - auto &source = chunk.data[column]; - const auto source_offset = index % STANDARD_VECTOR_SIZE; - VectorOperations::Copy(source, target, source_offset + 1, source_offset, target_offset); -} - -string ChunkCollection::ToString() const { - return chunks.empty() ? "ChunkCollection [ 0 ]" - : "ChunkCollection [ " + std::to_string(count) + " ]: \n" + chunks[0]->ToString(); -} - -void ChunkCollection::Print() const { - Printer::Print(ToString()); -} - -} // namespace duckdb diff --git a/src/common/types/column/column_data_allocator.cpp b/src/common/types/column/column_data_allocator.cpp index 3e7d1843d8b8..690595f0a8a2 100644 --- a/src/common/types/column/column_data_allocator.cpp +++ b/src/common/types/column/column_data_allocator.cpp @@ -65,7 +65,7 @@ BufferHandle ColumnDataAllocator::AllocateBlock(idx_t size) { BlockMetaData data; data.size = 0; data.capacity = block_size; - auto pin = alloc.buffer_manager->Allocate(block_size, false, &data.handle); + auto pin = alloc.buffer_manager->Allocate(MemoryTag::COLUMN_DATA, block_size, false, &data.handle); blocks.push_back(std::move(data)); return pin; } diff --git a/src/common/types/column/column_data_collection.cpp b/src/common/types/column/column_data_collection.cpp index 070620fd74e9..9305c68f2dd8 100644 --- a/src/common/types/column/column_data_collection.cpp +++ b/src/common/types/column/column_data_collection.cpp @@ -4,6 +4,7 @@ #include "duckdb/common/string_util.hpp" #include "duckdb/common/types/column/column_data_collection_segment.hpp" #include "duckdb/common/types/value_map.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/storage/buffer_manager.hpp" #include "duckdb/common/serializer/serializer.hpp" @@ -636,6 +637,53 @@ void ColumnDataCopyStruct(ColumnDataMetaData &meta_data, const UnifiedVectorForm } } +void ColumnDataCopyArray(ColumnDataMetaData &meta_data, const UnifiedVectorFormat &source_data, Vector &source, + idx_t offset, idx_t copy_count) { + + auto &segment = meta_data.segment; + + // copy the NULL values for the main array vector (the same as for a struct vector) + TemplatedColumnDataCopy(meta_data, source_data, source, offset, copy_count); + + auto &child_vector = ArrayVector::GetEntry(source); + auto &child_type = child_vector.GetType(); + auto array_size = ArrayType::GetSize(source.GetType()); + + if (!meta_data.GetVectorMetaData().child_index.IsValid()) { + auto child_index = segment.AllocateVector(child_type, meta_data.chunk_data, meta_data.state); + meta_data.GetVectorMetaData().child_index = meta_data.segment.AddChildIndex(child_index); + } + + auto &child_function = meta_data.copy_function.child_functions[0]; + auto child_index = segment.GetChildIndex(meta_data.GetVectorMetaData().child_index); + + auto current_child_index = child_index; + while (current_child_index.IsValid()) { + auto &child_vdata = segment.GetVectorData(current_child_index); + current_child_index = child_vdata.next_data; + } + + UnifiedVectorFormat child_vector_data; + ColumnDataMetaData child_meta_data(child_function, meta_data, child_index); + child_vector.ToUnifiedFormat(copy_count * array_size, child_vector_data); + + // Broadcast and sync the validity of the array vector to the child vector + + if (source_data.validity.IsMaskSet()) { + for (idx_t i = 0; i < copy_count; i++) { + auto source_idx = source_data.sel->get_index(offset + i); + if (!source_data.validity.RowIsValid(source_idx)) { + for (idx_t j = 0; j < array_size; j++) { + child_vector_data.validity.SetInvalid(source_idx * array_size + j); + } + } + } + } + + child_function.function(child_meta_data, child_vector_data, child_vector, offset * array_size, + array_size * copy_count); +} + ColumnDataCopyFunction ColumnDataCollection::GetCopyFunction(const LogicalType &type) { ColumnDataCopyFunction result; column_data_copy_function_t function; @@ -670,6 +718,9 @@ ColumnDataCopyFunction ColumnDataCollection::GetCopyFunction(const LogicalType & case PhysicalType::UINT64: function = ColumnDataCopy; break; + case PhysicalType::UINT128: + function = ColumnDataCopy; + break; case PhysicalType::FLOAT: function = ColumnDataCopy; break; @@ -696,6 +747,12 @@ ColumnDataCopyFunction ColumnDataCollection::GetCopyFunction(const LogicalType & result.child_functions.push_back(child_function); break; } + case PhysicalType::ARRAY: { + function = ColumnDataCopyArray; + auto child_function = GetCopyFunction(ArrayType::GetChildType(type)); + result.child_functions.push_back(child_function); + break; + } default: throw InternalException("Unsupported type for ColumnDataCollection::GetCopyFunction"); } @@ -707,6 +764,7 @@ static bool IsComplexType(const LogicalType &type) { switch (type.InternalType()) { case PhysicalType::STRUCT: case PhysicalType::LIST: + case PhysicalType::ARRAY: return true; default: return false; diff --git a/src/common/types/column/column_data_collection_segment.cpp b/src/common/types/column/column_data_collection_segment.cpp index 2f534dc9c1ae..f1f3d4af1fa5 100644 --- a/src/common/types/column/column_data_collection_segment.cpp +++ b/src/common/types/column/column_data_collection_segment.cpp @@ -24,7 +24,9 @@ VectorDataIndex ColumnDataCollectionSegment::AllocateVectorInternal(const Logica meta_data.count = 0; auto internal_type = type.InternalType(); - auto type_size = internal_type == PhysicalType::STRUCT ? 0 : GetTypeIdSize(internal_type); + auto type_size = ((internal_type == PhysicalType::STRUCT) || (internal_type == PhysicalType::ARRAY)) + ? 0 + : GetTypeIdSize(internal_type); allocator->AllocateData(GetDataSize(type_size) + ValidityMask::STANDARD_MASK_SIZE, meta_data.block_id, meta_data.offset, chunk_state); if (allocator->GetType() == ColumnDataAllocatorType::BUFFER_MANAGER_ALLOCATOR || @@ -194,6 +196,11 @@ idx_t ColumnDataCollectionSegment::ReadVector(ChunkManagementState &state, Vecto auto &child_vector = ListVector::GetEntry(result); auto child_count = ReadVector(state, GetChildIndex(vdata.child_index), child_vector); ListVector::SetListSize(result, child_count); + + } else if (internal_type == PhysicalType::ARRAY) { + auto &child_vector = ArrayVector::GetEntry(result); + auto child_count = ReadVector(state, GetChildIndex(vdata.child_index), child_vector); + (void)child_count; } else if (internal_type == PhysicalType::STRUCT) { auto &child_vectors = StructVector::GetEntries(result); for (idx_t child_idx = 0; child_idx < child_vectors.size(); child_idx++) { diff --git a/src/common/types/data_chunk.cpp b/src/common/types/data_chunk.cpp index a734f08629ef..aa1e1deb8cab 100644 --- a/src/common/types/data_chunk.cpp +++ b/src/common/types/data_chunk.cpp @@ -305,6 +305,15 @@ void DataChunk::Slice(DataChunk &other, const SelectionVector &sel, idx_t count_ } } +void DataChunk::Slice(idx_t offset, idx_t slice_count) { + D_ASSERT(offset + slice_count <= size()); + SelectionVector sel(slice_count); + for (idx_t i = 0; i < slice_count; i++) { + sel.set_index(i, offset + i); + } + Slice(sel, slice_count); +} + unsafe_unique_array DataChunk::ToUnifiedFormat() { auto unified_data = make_unsafe_uniq_array(ColumnCount()); for (idx_t col_idx = 0; col_idx < ColumnCount(); col_idx++) { diff --git a/src/common/types/date.cpp b/src/common/types/date.cpp index 5ab61e3b6ed9..39110c9febdf 100644 --- a/src/common/types/date.cpp +++ b/src/common/types/date.cpp @@ -6,8 +6,8 @@ #include "duckdb/common/string_util.hpp" #include "duckdb/common/assert.hpp" #include "duckdb/common/operator/multiply.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" #include "duckdb/common/limits.hpp" - #include #include #include @@ -190,7 +190,7 @@ bool Date::ParseDoubleDigit(const char *buf, idx_t len, idx_t &pos, int32_t &res return false; } -static bool TryConvertDateSpecial(const char *buf, idx_t len, idx_t &pos, const char *special) { +bool Date::TryConvertDateSpecial(const char *buf, idx_t len, idx_t &pos, const char *special) { auto p = pos; for (; p < len && *special; ++p) { const auto s = *special++; diff --git a/src/common/types/hash.cpp b/src/common/types/hash.cpp index 63e0d66266e3..c3136a526d04 100644 --- a/src/common/types/hash.cpp +++ b/src/common/types/hash.cpp @@ -3,6 +3,7 @@ #include "duckdb/common/helper.hpp" #include "duckdb/common/types/string_type.hpp" #include "duckdb/common/types/interval.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include #include @@ -24,6 +25,11 @@ hash_t Hash(hugeint_t val) { return murmurhash64(val.lower) ^ murmurhash64(val.upper); } +template <> +hash_t Hash(uhugeint_t val) { + return murmurhash64(val.lower) ^ murmurhash64(val.upper); +} + template struct FloatingPointEqualityTransform { static void OP(T &val) { @@ -54,7 +60,9 @@ hash_t Hash(double val) { template <> hash_t Hash(interval_t val) { - return Hash(val.days) ^ Hash(val.months) ^ Hash(val.micros); + int64_t months, days, micros; + val.Normalize(months, days, micros); + return Hash(days) ^ Hash(months) ^ Hash(micros); } template <> diff --git a/src/common/types/hugeint.cpp b/src/common/types/hugeint.cpp index f778c4e094aa..0ef7e0fc5fce 100644 --- a/src/common/types/hugeint.cpp +++ b/src/common/types/hugeint.cpp @@ -1,4 +1,5 @@ #include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include "duckdb/common/exception.hpp" #include "duckdb/common/algorithm.hpp" #include "duckdb/common/hugeint.hpp" @@ -56,6 +57,29 @@ const hugeint_t Hugeint::POWERS_OF_TEN[] { hugeint_t(1000000000000000000) * hugeint_t(1000000000000000000) * hugeint_t(10), hugeint_t(1000000000000000000) * hugeint_t(1000000000000000000) * hugeint_t(100)}; +//===--------------------------------------------------------------------===// +// Negate +//===--------------------------------------------------------------------===// + +template <> +void Hugeint::NegateInPlace(hugeint_t &input) { + input.lower = NumericLimits::Maximum() - input.lower + 1; + input.upper = -1 - input.upper + (input.lower == 0); +} + +bool Hugeint::TryNegate(hugeint_t input, hugeint_t &result) { + if (input.upper == NumericLimits::Minimum() && input.lower == 0) { + return false; + } + NegateInPlace(input); + result = input; + return true; +} + +//===--------------------------------------------------------------------===// +// Divide +//===--------------------------------------------------------------------===// + static uint8_t PositiveHugeintHighestBit(hugeint_t bits) { uint8_t out = 0; if (bits.upper) { @@ -83,7 +107,7 @@ static bool PositiveHugeintIsBitSet(hugeint_t lhs, uint8_t bit_position) { } } -hugeint_t PositiveHugeintLeftShift(hugeint_t lhs, uint32_t amount) { +static hugeint_t PositiveHugeintLeftShift(hugeint_t lhs, uint32_t amount) { D_ASSERT(amount > 0 && amount < 64); hugeint_t result; result.lower = lhs.lower << amount; @@ -129,6 +153,9 @@ hugeint_t Hugeint::DivModPositive(hugeint_t lhs, uint64_t rhs, uint64_t &remaind string Hugeint::ToString(hugeint_t input) { uint64_t remainder; string result; + if (input == NumericLimits::Minimum()) { + return string(Hugeint::HUGEINT_MINIMUM_STRING); + } bool negative = input.upper < 0; if (negative) { NegateInPlace(input); @@ -150,15 +177,32 @@ string Hugeint::ToString(hugeint_t input) { //===--------------------------------------------------------------------===// // Multiply //===--------------------------------------------------------------------===// + +// Multiply with overflow checks bool Hugeint::TryMultiply(hugeint_t lhs, hugeint_t rhs, hugeint_t &result) { + // Check if one of the sides is hugeint_t minimum, as that can't be negated. + // You can only multiply the minimum by 0 or 1, any other value will result in overflow + if (lhs == NumericLimits::Minimum() || rhs == NumericLimits::Minimum()) { + if (lhs == 0 || rhs == 0) { + result = 0; + return true; + } + if (lhs == 1 || rhs == 1) { + result = NumericLimits::Minimum(); + return true; + } + return false; + } + bool lhs_negative = lhs.upper < 0; bool rhs_negative = rhs.upper < 0; - if (lhs_negative) { - NegateInPlace(lhs); + if (lhs_negative && !TryNegate(lhs, lhs)) { + return false; } - if (rhs_negative) { - NegateInPlace(rhs); + if (rhs_negative && !TryNegate(rhs, rhs)) { + return false; } + #if ((__GNUC__ >= 5) || defined(__clang__)) && defined(__SIZEOF_INT128__) __uint128_t left = __uint128_t(lhs.lower) + (__uint128_t(lhs.upper) << 64); __uint128_t right = __uint128_t(rhs.lower) + (__uint128_t(rhs.upper) << 64); @@ -241,15 +285,85 @@ bool Hugeint::TryMultiply(hugeint_t lhs, hugeint_t rhs, hugeint_t &result) { result.upper = (first32 << 32) | second32; #endif if (lhs_negative ^ rhs_negative) { - NegateInPlace(result); + NegateInPlace(result); } return true; } -hugeint_t Hugeint::Multiply(hugeint_t lhs, hugeint_t rhs) { +// Multiply without overflow check +template <> +hugeint_t Hugeint::Multiply(hugeint_t lhs, hugeint_t rhs) { hugeint_t result; - if (!TryMultiply(lhs, rhs, result)) { - throw OutOfRangeException("Overflow in HUGEINT multiplication!"); + bool lhs_negative = lhs.upper < 0; + bool rhs_negative = rhs.upper < 0; + if (lhs_negative) { + NegateInPlace(lhs); + } + if (rhs_negative) { + NegateInPlace(rhs); + } + +#if ((__GNUC__ >= 5) || defined(__clang__)) && defined(__SIZEOF_INT128__) + __uint128_t left = __uint128_t(lhs.lower) + (__uint128_t(lhs.upper) << 64); + __uint128_t right = __uint128_t(rhs.lower) + (__uint128_t(rhs.upper) << 64); + __uint128_t result_i128; + result_i128 = left * right; + uint64_t upper = uint64_t(result_i128 >> 64); + result.upper = int64_t(upper); + result.lower = uint64_t(result_i128 & 0xffffffffffffffff); +#else + // Multiply code adapted from: + // https://github.com/calccrypto/uint128_t/blob/master/uint128_t.cpp + + // split values into 4 32-bit parts + uint64_t top[4] = {uint64_t(lhs.upper) >> 32, uint64_t(lhs.upper) & 0xffffffff, lhs.lower >> 32, + lhs.lower & 0xffffffff}; + uint64_t bottom[4] = {uint64_t(rhs.upper) >> 32, uint64_t(rhs.upper) & 0xffffffff, rhs.lower >> 32, + rhs.lower & 0xffffffff}; + uint64_t products[4][4]; + + // multiply each component of the values + for (auto x = 0; x < 4; x++) { + for (auto y = 0; y < 4; y++) { + products[x][y] = top[x] * bottom[y]; + } + } + + // first row + uint64_t fourth32 = (products[3][3] & 0xffffffff); + uint64_t third32 = (products[3][2] & 0xffffffff) + (products[3][3] >> 32); + uint64_t second32 = (products[3][1] & 0xffffffff) + (products[3][2] >> 32); + uint64_t first32 = (products[3][0] & 0xffffffff) + (products[3][1] >> 32); + + // second row + third32 += (products[2][3] & 0xffffffff); + second32 += (products[2][2] & 0xffffffff) + (products[2][3] >> 32); + first32 += (products[2][1] & 0xffffffff) + (products[2][2] >> 32); + + // third row + second32 += (products[1][3] & 0xffffffff); + first32 += (products[1][2] & 0xffffffff) + (products[1][3] >> 32); + + // fourth row + first32 += (products[0][3] & 0xffffffff); + + // move carry to next digit + third32 += fourth32 >> 32; + second32 += third32 >> 32; + first32 += second32 >> 32; + + // remove carry from current digit + fourth32 &= 0xffffffff; + third32 &= 0xffffffff; + second32 &= 0xffffffff; + first32 &= 0xffffffff; + + // combine components + result.lower = (third32 << 32) | fourth32; + result.upper = (first32 << 32) | second32; +#endif + if (lhs_negative ^ rhs_negative) { + NegateInPlace(result); } return result; } @@ -257,17 +371,59 @@ hugeint_t Hugeint::Multiply(hugeint_t lhs, hugeint_t rhs) { //===--------------------------------------------------------------------===// // Divide //===--------------------------------------------------------------------===// + +int Sign(hugeint_t n) { + return ((n > 0) - (n < 0)); +} + +hugeint_t Abs(hugeint_t n) { + D_ASSERT(n != NumericLimits::Minimum()); + return (n * Sign(n)); +} + +static hugeint_t DivModMinimum(hugeint_t lhs, hugeint_t rhs, hugeint_t &remainder) { + D_ASSERT(lhs == NumericLimits::Minimum() || rhs == NumericLimits::Minimum()); + if (rhs == NumericLimits::Minimum()) { + if (lhs == NumericLimits::Minimum()) { + remainder = 0; + return 1; + } + remainder = lhs; + return 0; + } + + // Add 1 to minimum and run through DivMod again + hugeint_t result = Hugeint::DivMod(NumericLimits::Minimum() + 1, rhs, remainder); + + // If the 1 mattered we need to adjust the result, otherwise the remainder + if (Abs(remainder) + 1 == Abs(rhs)) { + result -= Sign(rhs); + remainder = 0; + } else { + remainder -= 1; + } + return result; +} + +// No overflow checks hugeint_t Hugeint::DivMod(hugeint_t lhs, hugeint_t rhs, hugeint_t &remainder) { - // division by zero not allowed - D_ASSERT(!(rhs.upper == 0 && rhs.lower == 0)); + if (rhs == 0) { + remainder = lhs; + return hugeint_t(0); + } + + // Check if one of the sides is hugeint_t minimum, as that can't be negated. + if (lhs == NumericLimits::Minimum() || rhs == NumericLimits::Minimum()) { + return DivModMinimum(lhs, rhs, remainder); + } bool lhs_negative = lhs.upper < 0; bool rhs_negative = rhs.upper < 0; if (lhs_negative) { - Hugeint::NegateInPlace(lhs); + Hugeint::NegateInPlace(lhs); } if (rhs_negative) { - Hugeint::NegateInPlace(rhs); + Hugeint::NegateInPlace(rhs); } // DivMod code adapted from: // https://github.com/calccrypto/uint128_t/blob/master/uint128_t.cpp @@ -288,39 +444,55 @@ hugeint_t Hugeint::DivMod(hugeint_t lhs, hugeint_t rhs, hugeint_t &remainder) { // we get the value of the bit at position X, where position 0 is the least-significant bit if (PositiveHugeintIsBitSet(lhs, x - 1)) { - // increment the remainder - Hugeint::AddInPlace(remainder, 1); + remainder += 1; } if (Hugeint::GreaterThanEquals(remainder, rhs)) { // the remainder has passed the division multiplier: add one to the divide result - remainder = Hugeint::Subtract(remainder, rhs); - Hugeint::AddInPlace(div_result, 1); + remainder -= rhs; + div_result += 1; } } if (lhs_negative ^ rhs_negative) { - Hugeint::NegateInPlace(div_result); + Hugeint::NegateInPlace(div_result); } if (lhs_negative) { - Hugeint::NegateInPlace(remainder); + Hugeint::NegateInPlace(remainder); } return div_result; } -hugeint_t Hugeint::Divide(hugeint_t lhs, hugeint_t rhs) { +bool Hugeint::TryDivMod(hugeint_t lhs, hugeint_t rhs, hugeint_t &result, hugeint_t &remainder) { + // No division by zero + if (rhs == 0) { + return false; + } + + // division only has one reason to overflow: MINIMUM / -1 + if (lhs == NumericLimits::Minimum() && rhs == -1) { + return false; + } + + result = Hugeint::DivMod(lhs, rhs, remainder); + return true; +} + +template <> +hugeint_t Hugeint::Divide(hugeint_t lhs, hugeint_t rhs) { hugeint_t remainder; return Hugeint::DivMod(lhs, rhs, remainder); } -hugeint_t Hugeint::Modulo(hugeint_t lhs, hugeint_t rhs) { +template <> +hugeint_t Hugeint::Modulo(hugeint_t lhs, hugeint_t rhs) { hugeint_t remainder; - Hugeint::DivMod(lhs, rhs, remainder); + (void)Hugeint::DivMod(lhs, rhs, remainder); return remainder; } //===--------------------------------------------------------------------===// // Add/Subtract //===--------------------------------------------------------------------===// -bool Hugeint::AddInPlace(hugeint_t &lhs, hugeint_t rhs) { +bool Hugeint::TryAddInPlace(hugeint_t &lhs, hugeint_t rhs) { int overflow = lhs.lower + rhs.lower < lhs.lower; if (rhs.upper >= 0) { // RHS is positive: check for overflow @@ -336,13 +508,10 @@ bool Hugeint::AddInPlace(hugeint_t &lhs, hugeint_t rhs) { lhs.upper = lhs.upper + (overflow + rhs.upper); } lhs.lower += rhs.lower; - if (lhs.upper == std::numeric_limits::min() && lhs.lower == 0) { - return false; - } return true; } -bool Hugeint::SubtractInPlace(hugeint_t &lhs, hugeint_t rhs) { +bool Hugeint::TrySubtractInPlace(hugeint_t &lhs, hugeint_t rhs) { // underflow int underflow = lhs.lower - rhs.lower > lhs.lower; if (rhs.upper >= 0) { @@ -360,24 +529,17 @@ bool Hugeint::SubtractInPlace(hugeint_t &lhs, hugeint_t rhs) { lhs.upper = lhs.upper - (rhs.upper + underflow); } lhs.lower -= rhs.lower; - if (lhs.upper == std::numeric_limits::min() && lhs.lower == 0) { - return false; - } return true; } -hugeint_t Hugeint::Add(hugeint_t lhs, hugeint_t rhs) { - if (!AddInPlace(lhs, rhs)) { - throw OutOfRangeException("Overflow in HUGEINT addition"); - } - return lhs; +template <> +hugeint_t Hugeint::Add(hugeint_t lhs, hugeint_t rhs) { + return lhs + rhs; } -hugeint_t Hugeint::Subtract(hugeint_t lhs, hugeint_t rhs) { - if (!SubtractInPlace(lhs, rhs)) { - throw OutOfRangeException("Underflow in HUGEINT addition"); - } - return lhs; +template <> +hugeint_t Hugeint::Subtract(hugeint_t lhs, hugeint_t rhs) { + return lhs - rhs; } //===--------------------------------------------------------------------===// @@ -455,6 +617,17 @@ bool Hugeint::TryCast(hugeint_t input, hugeint_t &result) { return true; } +template <> +bool Hugeint::TryCast(hugeint_t input, uhugeint_t &result) { + if (input < 0) { + return false; + } + + result.lower = input.lower; + result.upper = input.upper; + return true; +} + template <> bool Hugeint::TryCast(hugeint_t input, float &result) { double dbl_result; @@ -621,27 +794,29 @@ bool hugeint_t::operator>=(const hugeint_t &rhs) const { } hugeint_t hugeint_t::operator+(const hugeint_t &rhs) const { - return Hugeint::Add(*this, rhs); + return hugeint_t(upper + rhs.upper + ((lower + rhs.lower) < lower), lower + rhs.lower); } hugeint_t hugeint_t::operator-(const hugeint_t &rhs) const { - return Hugeint::Subtract(*this, rhs); + return hugeint_t(upper - rhs.upper - ((lower - rhs.lower) > lower), lower - rhs.lower); } hugeint_t hugeint_t::operator*(const hugeint_t &rhs) const { - return Hugeint::Multiply(*this, rhs); + hugeint_t result = *this; + result *= rhs; + return result; } hugeint_t hugeint_t::operator/(const hugeint_t &rhs) const { - return Hugeint::Divide(*this, rhs); + return Hugeint::Divide(*this, rhs); } hugeint_t hugeint_t::operator%(const hugeint_t &rhs) const { - return Hugeint::Modulo(*this, rhs); + return Hugeint::Modulo(*this, rhs); } hugeint_t hugeint_t::operator-() const { - return Hugeint::Negate(*this); + return Hugeint::Negate(*this); } hugeint_t hugeint_t::operator>>(const hugeint_t &rhs) const { @@ -721,23 +896,23 @@ hugeint_t hugeint_t::operator~() const { } hugeint_t &hugeint_t::operator+=(const hugeint_t &rhs) { - Hugeint::AddInPlace(*this, rhs); + *this = *this + rhs; return *this; } hugeint_t &hugeint_t::operator-=(const hugeint_t &rhs) { - Hugeint::SubtractInPlace(*this, rhs); + *this = *this - rhs; return *this; } hugeint_t &hugeint_t::operator*=(const hugeint_t &rhs) { - *this = Hugeint::Multiply(*this, rhs); + *this = Hugeint::Multiply(*this, rhs); return *this; } hugeint_t &hugeint_t::operator/=(const hugeint_t &rhs) { - *this = Hugeint::Divide(*this, rhs); + *this = Hugeint::Divide(*this, rhs); return *this; } hugeint_t &hugeint_t::operator%=(const hugeint_t &rhs) { - *this = Hugeint::Modulo(*this, rhs); + *this = Hugeint::Modulo(*this, rhs); return *this; } hugeint_t &hugeint_t::operator>>=(const hugeint_t &rhs) { @@ -802,6 +977,9 @@ hugeint_t::operator int32_t() const { hugeint_t::operator int64_t() const { return NarrowCast(*this); } +hugeint_t::operator uhugeint_t() const { + return {static_cast(this->upper), this->lower}; +} string hugeint_t::ToString() const { return Hugeint::ToString(*this); diff --git a/src/common/types/hyperloglog.cpp b/src/common/types/hyperloglog.cpp index 4efcdc8201d9..0b568ce008d6 100644 --- a/src/common/types/hyperloglog.cpp +++ b/src/common/types/hyperloglog.cpp @@ -54,7 +54,7 @@ HyperLogLog *HyperLogLog::MergePointer(HyperLogLog &other) { hlls[1] = other.hll; auto new_hll = duckdb_hll::hll_merge(hlls, 2); if (!new_hll) { - throw Exception("Could not merge HLLs"); + throw InternalException("Could not merge HLLs"); } return new HyperLogLog(new_hll); } @@ -129,6 +129,12 @@ inline uint64_t TemplatedHash(const hugeint_t &elem) { TemplatedHash(elem.lower); } +template <> +inline uint64_t TemplatedHash(const uhugeint_t &elem) { + return TemplatedHash(Load(const_data_ptr_cast(&elem.upper))) ^ + TemplatedHash(elem.lower); +} + template inline void CreateIntegerRecursive(const_data_ptr_t &data, uint64_t &x) { x ^= (uint64_t)data[rest - 1] << ((rest - 1) * 8); @@ -226,9 +232,10 @@ static void ComputeHashes(UnifiedVectorFormat &vdata, const LogicalType &type, u case PhysicalType::DOUBLE: return TemplatedComputeHashes(vdata, count, hashes); case PhysicalType::INT128: + case PhysicalType::UINT128: case PhysicalType::INTERVAL: - static_assert(sizeof(hugeint_t) == sizeof(interval_t), "ComputeHashes assumes these are the same size!"); - return TemplatedComputeHashes(vdata, count, hashes); + static_assert(sizeof(uhugeint_t) == sizeof(interval_t), "ComputeHashes assumes these are the same size!"); + return TemplatedComputeHashes(vdata, count, hashes); case PhysicalType::VARCHAR: return TemplatedComputeHashes(vdata, count, hashes); default: diff --git a/src/common/types/interval.cpp b/src/common/types/interval.cpp index 9fb0960817de..569f89c061fa 100644 --- a/src/common/types/interval.cpp +++ b/src/common/types/interval.cpp @@ -22,7 +22,7 @@ bool Interval::FromString(const string &str, interval_t &result) { } template -void IntervalTryAddition(T &target, int64_t input, int64_t multiplier) { +void IntervalTryAddition(T &target, int64_t input, int64_t multiplier, int64_t fraction = 0) { int64_t addition; if (!TryMultiplyOperator::Operation(input, multiplier, addition)) { throw OutOfRangeException("interval value is out of range"); @@ -31,6 +31,15 @@ void IntervalTryAddition(T &target, int64_t input, int64_t multiplier) { if (!TryAddOperator::Operation(target, addition_base, target)) { throw OutOfRangeException("interval value is out of range"); } + if (fraction) { + // Add in (fraction * multiplier) / MICROS_PER_SEC + // This is always in range + addition = (fraction * multiplier) / Interval::MICROS_PER_SEC; + addition_base = Cast::Operation(addition); + if (!TryAddOperator::Operation(target, addition_base, target)) { + throw OutOfRangeException("interval fraction is out of range"); + } + } } bool Interval::FromCString(const char *str, idx_t len, interval_t &result, string *error_message, bool strict) { @@ -39,6 +48,7 @@ bool Interval::FromCString(const char *str, idx_t len, interval_t &result, strin bool negative; bool found_any = false; int64_t number; + int64_t fraction; DatePartSpecifier specifier; string specifier_str; @@ -103,8 +113,19 @@ bool Interval::FromCString(const char *str, idx_t len, interval_t &result, strin // finished the number, parse it from the string string_t nr_string(str + start_pos, pos - start_pos); number = Cast::Operation(nr_string); + fraction = 0; + if (c == '.') { + // we expect some microseconds + int32_t mult = 100000; + for (++pos; pos < len && StringUtil::CharacterIsDigit(str[pos]); ++pos, mult /= 10) { + if (mult > 0) { + fraction += int64_t(str[pos] - '0') * mult; + } + } + } if (negative) { number = -number; + fraction = -fraction; } goto interval_parse_identifier; } @@ -114,7 +135,7 @@ interval_parse_time : { // parse the remainder of the time as a Time type dtime_t time; idx_t pos; - if (!Time::TryConvertTime(str + start_pos, len - start_pos, pos, time)) { + if (!Time::TryConvertInterval(str + start_pos, len - start_pos, pos, time)) { return false; } result.micros += time.micros; @@ -146,6 +167,24 @@ interval_parse_time : { } } specifier_str = string(str + start_pos, pos - start_pos); + + // Special case SS[.FFFFFF] - implied SECONDS/MICROSECONDS + if (specifier_str.empty() && !found_any) { + IntervalTryAddition(result.micros, number, MICROS_PER_SEC); + IntervalTryAddition(result.micros, fraction, 1); + found_any = true; + // parse any trailing whitespace + for (; pos < len; pos++) { + char c = str[pos]; + if (c == ' ' || c == '\t' || c == '\n') { + continue; + } else { + return false; + } + } + goto end_of_string; + } + if (!TryGetDatePartSpecifier(specifier_str, specifier)) { HandleCastError::AssignError(StringUtil::Format("extract specifier \"%s\" not recognized", specifier_str), error_message); @@ -154,43 +193,55 @@ interval_parse_time : { // add the specifier to the interval switch (specifier) { case DatePartSpecifier::MILLENNIUM: - IntervalTryAddition(result.months, number, MONTHS_PER_MILLENIUM); + IntervalTryAddition(result.months, number, MONTHS_PER_MILLENIUM, fraction); break; case DatePartSpecifier::CENTURY: - IntervalTryAddition(result.months, number, MONTHS_PER_CENTURY); + IntervalTryAddition(result.months, number, MONTHS_PER_CENTURY, fraction); break; case DatePartSpecifier::DECADE: - IntervalTryAddition(result.months, number, MONTHS_PER_DECADE); + IntervalTryAddition(result.months, number, MONTHS_PER_DECADE, fraction); break; case DatePartSpecifier::YEAR: - IntervalTryAddition(result.months, number, MONTHS_PER_YEAR); + IntervalTryAddition(result.months, number, MONTHS_PER_YEAR, fraction); break; case DatePartSpecifier::QUARTER: - IntervalTryAddition(result.months, number, MONTHS_PER_QUARTER); + IntervalTryAddition(result.months, number, MONTHS_PER_QUARTER, fraction); + // Reduce to fraction of a month + fraction *= MONTHS_PER_QUARTER; + fraction %= MICROS_PER_SEC; + IntervalTryAddition(result.days, 0, DAYS_PER_MONTH, fraction); break; case DatePartSpecifier::MONTH: IntervalTryAddition(result.months, number, 1); + IntervalTryAddition(result.days, 0, DAYS_PER_MONTH, fraction); break; case DatePartSpecifier::DAY: IntervalTryAddition(result.days, number, 1); + IntervalTryAddition(result.micros, 0, MICROS_PER_DAY, fraction); break; case DatePartSpecifier::WEEK: - IntervalTryAddition(result.days, number, DAYS_PER_WEEK); + IntervalTryAddition(result.days, number, DAYS_PER_WEEK, fraction); + // Reduce to fraction of a day + fraction *= DAYS_PER_WEEK; + fraction %= MICROS_PER_SEC; + IntervalTryAddition(result.micros, 0, MICROS_PER_DAY, fraction); break; case DatePartSpecifier::MICROSECONDS: + // Round the fraction + number += (fraction * 2) / MICROS_PER_SEC; IntervalTryAddition(result.micros, number, 1); break; case DatePartSpecifier::MILLISECONDS: - IntervalTryAddition(result.micros, number, MICROS_PER_MSEC); + IntervalTryAddition(result.micros, number, MICROS_PER_MSEC, fraction); break; case DatePartSpecifier::SECOND: - IntervalTryAddition(result.micros, number, MICROS_PER_SEC); + IntervalTryAddition(result.micros, number, MICROS_PER_SEC, fraction); break; case DatePartSpecifier::MINUTE: - IntervalTryAddition(result.micros, number, MICROS_PER_MINUTE); + IntervalTryAddition(result.micros, number, MICROS_PER_MINUTE, fraction); break; case DatePartSpecifier::HOUR: - IntervalTryAddition(result.micros, number, MICROS_PER_HOUR); + IntervalTryAddition(result.micros, number, MICROS_PER_HOUR, fraction); break; default: HandleCastError::AssignError( @@ -462,6 +513,10 @@ dtime_t Interval::Add(dtime_t left, interval_t right, date_t &date) { return left; } +dtime_tz_t Interval::Add(dtime_tz_t left, interval_t right, date_t &date) { + return dtime_tz_t(Interval::Add(left.time(), right, date), left.offset()); +} + timestamp_t Interval::Add(timestamp_t left, interval_t right) { if (!Timestamp::IsFinite(left)) { return left; diff --git a/src/common/types/list_segment.cpp b/src/common/types/list_segment.cpp index 2a14718bf382..f0308268b3c3 100644 --- a/src/common/types/list_segment.cpp +++ b/src/common/types/list_segment.cpp @@ -1,4 +1,5 @@ #include "duckdb/common/types/list_segment.hpp" +#include "duckdb/common/uhugeint.hpp" namespace duckdb { @@ -58,6 +59,28 @@ static LinkedList *GetListChildData(ListSegment *segment) { segment->capacity * (sizeof(bool) + sizeof(uint64_t))); } +//===--------------------------------------------------------------------===// +// Array +//===--------------------------------------------------------------------===// +static idx_t GetAllocationSizeArray(uint16_t capacity) { + // Only store the null mask for the array segment, length is fixed so we don't need to store it + return AlignValue(sizeof(ListSegment) + capacity * (sizeof(bool)) + sizeof(LinkedList)); +} + +static data_ptr_t AllocateArrayData(ArenaAllocator &allocator, uint16_t capacity) { + return allocator.Allocate(GetAllocationSizeArray(capacity)); +} + +static const LinkedList *GetArrayChildData(const ListSegment *segment) { + return reinterpret_cast(const_data_ptr_cast(segment) + sizeof(ListSegment) + + segment->capacity * sizeof(bool)); +} + +static LinkedList *GetArrayChildData(ListSegment *segment) { + return reinterpret_cast(data_ptr_cast(segment) + sizeof(ListSegment) + + segment->capacity * sizeof(bool)); +} + //===--------------------------------------------------------------------===// // Structs //===--------------------------------------------------------------------===// @@ -143,6 +166,22 @@ static ListSegment *CreateStructSegment(const ListSegmentFunctions &functions, A return segment; } +static ListSegment *CreateArraySegment(const ListSegmentFunctions &, ArenaAllocator &allocator, uint16_t capacity) { + // allocate data and set header + auto segment = reinterpret_cast(AllocateArrayData(allocator, capacity)); + + segment->capacity = capacity; + segment->count = 0; + segment->next = nullptr; + + // create an empty linked list for the child vector + auto linked_child_list = GetArrayChildData(segment); + LinkedList linked_list(0, nullptr, nullptr); + Store(linked_list, data_ptr_cast(linked_child_list)); + + return segment; +} + static ListSegment *GetSegment(const ListSegmentFunctions &functions, ArenaAllocator &allocator, LinkedList &linked_list) { ListSegment *segment; @@ -291,6 +330,28 @@ static void WriteDataToStructSegment(const ListSegmentFunctions &functions, Aren } } +static void WriteDataToArraySegment(const ListSegmentFunctions &functions, ArenaAllocator &allocator, + ListSegment *segment, RecursiveUnifiedVectorFormat &input_data, idx_t &entry_idx) { + auto sel_entry_idx = input_data.unified.sel->get_index(entry_idx); + + // write null validity + auto null_mask = GetNullMask(segment); + auto valid = input_data.unified.validity.RowIsValid(sel_entry_idx); + null_mask[segment->count] = !valid; + + // Arrays require there to be values in the child even when the entry is NULL. + auto array_size = ArrayType::GetSize(input_data.logical_type); + auto array_offset = sel_entry_idx * array_size; + + auto child_segments = Load(data_ptr_cast(GetArrayChildData(segment))); + D_ASSERT(functions.child_functions.size() == 1); + for (idx_t elem_idx = array_offset; elem_idx < array_offset + array_size; elem_idx++) { + functions.child_functions[0].AppendRow(allocator, child_segments, input_data.children.back(), elem_idx); + } + // store the updated linked list + Store(child_segments, data_ptr_cast(GetArrayChildData(segment))); +} + void ListSegmentFunctions::AppendRow(ArenaAllocator &allocator, LinkedList &linked_list, RecursiveUnifiedVectorFormat &input_data, idx_t &entry_idx) const { @@ -437,14 +498,34 @@ static void ReadDataFromStructSegment(const ListSegmentFunctions &functions, con } } -void ListSegmentFunctions::BuildListVector(const LinkedList &linked_list, Vector &result, - idx_t &initial_total_count) const { +static void ReadDataFromArraySegment(const ListSegmentFunctions &functions, const ListSegment *segment, Vector &result, + idx_t &total_count) { + + auto &aggr_vector_validity = FlatVector::Validity(result); + + // set NULLs + auto null_mask = GetNullMask(segment); + for (idx_t i = 0; i < segment->count; i++) { + if (null_mask[i]) { + aggr_vector_validity.SetInvalid(total_count + i); + } + } + + auto &child_vector = ArrayVector::GetEntry(result); + auto linked_child_list = Load(const_data_ptr_cast(GetArrayChildData(segment))); + auto array_size = ArrayType::GetSize(result.GetType()); + auto child_size = array_size * total_count; + + // recurse into the linked list of child values + D_ASSERT(functions.child_functions.size() == 1); + functions.child_functions[0].BuildListVector(linked_child_list, child_vector, child_size); +} + +void ListSegmentFunctions::BuildListVector(const LinkedList &linked_list, Vector &result, idx_t total_count) const { auto &read_data_from_segment = *this; - idx_t total_count = initial_total_count; auto segment = linked_list.first_segment; while (segment) { read_data_from_segment.read_data(read_data_from_segment, segment, result, total_count); - total_count += segment->count; segment = segment->next; } @@ -505,6 +586,9 @@ void GetSegmentDataFunctions(ListSegmentFunctions &functions, const LogicalType case PhysicalType::INT128: SegmentPrimitiveFunction(functions); break; + case PhysicalType::UINT128: + SegmentPrimitiveFunction(functions); + break; case PhysicalType::INTERVAL: SegmentPrimitiveFunction(functions); break; @@ -540,6 +624,16 @@ void GetSegmentDataFunctions(ListSegmentFunctions &functions, const LogicalType } break; } + case PhysicalType::ARRAY: { + functions.create_segment = CreateArraySegment; + functions.write_data = WriteDataToArraySegment; + functions.read_data = ReadDataFromArraySegment; + + // recurse + functions.child_functions.emplace_back(); + GetSegmentDataFunctions(functions.child_functions.back(), ArrayType::GetChildType(type)); + break; + } default: throw InternalException("LIST aggregate not yet implemented for " + type.ToString()); } diff --git a/src/common/types/row/partitioned_tuple_data.cpp b/src/common/types/row/partitioned_tuple_data.cpp index 03fded4f707d..e4ba93797fd0 100644 --- a/src/common/types/row/partitioned_tuple_data.cpp +++ b/src/common/types/row/partitioned_tuple_data.cpp @@ -364,7 +364,7 @@ void PartitionedTupleData::Unpin() { } } -vector> &PartitionedTupleData::GetPartitions() { +unsafe_vector> &PartitionedTupleData::GetPartitions() { return partitions; } @@ -400,6 +400,16 @@ idx_t PartitionedTupleData::PartitionCount() const { return partitions.size(); } +void PartitionedTupleData::GetSizesAndCounts(vector &partition_sizes, vector &partition_counts) const { + D_ASSERT(partition_sizes.size() == PartitionCount()); + D_ASSERT(partition_sizes.size() == partition_counts.size()); + for (idx_t i = 0; i < PartitionCount(); i++) { + auto &partition = *partitions[i]; + partition_sizes[i] += partition.SizeInBytes(); + partition_counts[i] += partition.Count(); + } +} + void PartitionedTupleData::Verify() const { #ifdef DEBUG idx_t total_count = 0; diff --git a/src/common/types/row/row_data_collection.cpp b/src/common/types/row/row_data_collection.cpp index 47a12efc68ba..7229923210df 100644 --- a/src/common/types/row/row_data_collection.cpp +++ b/src/common/types/row/row_data_collection.cpp @@ -43,7 +43,7 @@ idx_t RowDataCollection::AppendToBlock(RowDataBlock &block, BufferHandle &handle } RowDataBlock &RowDataCollection::CreateBlock() { - blocks.push_back(make_uniq(buffer_manager, block_capacity, entry_size)); + blocks.push_back(make_uniq(MemoryTag::ORDER_BY, buffer_manager, block_capacity, entry_size)); return *blocks.back(); } diff --git a/src/common/types/row/row_data_collection_scanner.cpp b/src/common/types/row/row_data_collection_scanner.cpp index a7b4e2dbfe28..50135d887707 100644 --- a/src/common/types/row/row_data_collection_scanner.cpp +++ b/src/common/types/row/row_data_collection_scanner.cpp @@ -99,8 +99,8 @@ void RowDataCollectionScanner::AlignHeapBlocks(RowDataCollection &swizzled_block } // Finally, we allocate a new heap block and copy data to it - swizzled_string_heap.blocks.emplace_back( - make_uniq(buffer_manager, MaxValue(total_size, (idx_t)Storage::BLOCK_SIZE), 1)); + swizzled_string_heap.blocks.emplace_back(make_uniq( + MemoryTag::ORDER_BY, buffer_manager, MaxValue(total_size, (idx_t)Storage::BLOCK_SIZE), 1)); auto new_heap_handle = buffer_manager.Pin(swizzled_string_heap.blocks.back()->block); auto new_heap_ptr = new_heap_handle.Ptr(); for (auto &ptr_and_size : ptrs_and_sizes) { diff --git a/src/common/types/row/tuple_data_allocator.cpp b/src/common/types/row/tuple_data_allocator.cpp index b30af49cbc12..6c92c7b22eb4 100644 --- a/src/common/types/row/tuple_data_allocator.cpp +++ b/src/common/types/row/tuple_data_allocator.cpp @@ -9,7 +9,7 @@ namespace duckdb { using ValidityBytes = TupleDataLayout::ValidityBytes; TupleDataBlock::TupleDataBlock(BufferManager &buffer_manager, idx_t capacity_p) : capacity(capacity_p), size(0) { - buffer_manager.Allocate(capacity, false, &handle); + buffer_manager.Allocate(MemoryTag::HASH_TABLE, capacity, false, &handle); } TupleDataBlock::TupleDataBlock(TupleDataBlock &&other) noexcept { @@ -347,7 +347,8 @@ void TupleDataAllocator::RecomputeHeapPointers(Vector &old_heap_ptrs, const Sele VerifyStrings(type.id(), row_locations, col_idx, base_col_offset, col_offset, offset, count); break; } - case PhysicalType::LIST: { + case PhysicalType::LIST: + case PhysicalType::ARRAY: { for (idx_t i = 0; i < count; i++) { const auto idx = offset + i; const auto &row_location = row_locations[idx] + base_col_offset; diff --git a/src/common/types/row/tuple_data_collection.cpp b/src/common/types/row/tuple_data_collection.cpp index 97858151a550..745d2f820c7e 100644 --- a/src/common/types/row/tuple_data_collection.cpp +++ b/src/common/types/row/tuple_data_collection.cpp @@ -87,7 +87,8 @@ void VerifyAppendColumns(const TupleDataLayout &layout, const vector & } // This column will not be appended in the first go - verify that it is fixed-size - we cannot resize heap after const auto physical_type = layout.GetTypes()[col_idx].InternalType(); - D_ASSERT(physical_type != PhysicalType::VARCHAR && physical_type != PhysicalType::LIST); + D_ASSERT(physical_type != PhysicalType::VARCHAR && physical_type != PhysicalType::LIST && + physical_type != PhysicalType::ARRAY); if (physical_type == PhysicalType::STRUCT) { const auto &struct_layout = layout.GetStructLayout(col_idx); vector struct_column_ids; @@ -140,6 +141,9 @@ static void InitializeVectorFormat(vector &vector_data, c case PhysicalType::LIST: InitializeVectorFormat(vector_data[col_idx].children, {ListType::GetChildType(type)}); break; + case PhysicalType::ARRAY: + InitializeVectorFormat(vector_data[col_idx].children, {ArrayType::GetChildType(type)}); + break; default: break; } @@ -156,6 +160,20 @@ void TupleDataCollection::InitializeChunkState(TupleDataChunkState &chunk_state, GetAllColumnIDsInternal(column_ids, types.size()); } InitializeVectorFormat(chunk_state.vector_data, types); + + for (auto &col : column_ids) { + auto &type = types[col]; + if (type.Contains(LogicalTypeId::ARRAY)) { + auto cast_type = ArrayType::ConvertToList(type); + chunk_state.cached_cast_vector_cache.push_back( + make_uniq(Allocator::DefaultAllocator(), cast_type)); + chunk_state.cached_cast_vectors.push_back(make_uniq(*chunk_state.cached_cast_vector_cache.back())); + } else { + chunk_state.cached_cast_vectors.emplace_back(); + chunk_state.cached_cast_vector_cache.emplace_back(); + } + } + chunk_state.column_ids = std::move(column_ids); } @@ -238,6 +256,26 @@ static inline void ToUnifiedFormatInternal(TupleDataVectorFormat &format, Vector ToUnifiedFormatInternal(reinterpret_cast(format.children[0]), ListVector::GetEntry(vector), ListVector::GetListSize(vector)); break; + case PhysicalType::ARRAY: { + D_ASSERT(format.children.size() == 1); + + // For arrays, we cheat a bit and pretend that they are lists by creating and assigning list_entry_t's to the + // vector This allows us to reuse all the list serialization functions for array types too. + + // This is kind of hacky, but we need to create a list_entry_t for each array entry + idx_t array_count = ArrayVector::GetTotalSize(vector) / ArrayType::GetSize(vector.GetType()); + format.array_list_entries = make_uniq_array(array_count); + + auto array_size = ArrayType::GetSize(vector.GetType()); + // create list entries + for (idx_t i = 0; i < array_count; i++) { + format.array_list_entries[i].length = array_size; + format.array_list_entries[i].offset = i * array_size; + } + format.unified.data = reinterpret_cast(format.array_list_entries.get()); + + ToUnifiedFormatInternal(format.children[0], ArrayVector::GetEntry(vector), ArrayVector::GetTotalSize(vector)); + } break; default: break; } @@ -392,6 +430,23 @@ void TupleDataCollection::InitializeScan(TupleDataScanState &state, vector(Allocator::DefaultAllocator(), cast_type)); + chunk_state.cached_cast_vectors.push_back(make_uniq(*chunk_state.cached_cast_vector_cache.back())); + } else { + chunk_state.cached_cast_vectors.emplace_back(); + chunk_state.cached_cast_vector_cache.emplace_back(); + } + } + state.chunk_state.column_ids = std::move(column_ids); } @@ -479,7 +534,6 @@ bool TupleDataCollection::NextScanIndex(TupleDataScanState &state, idx_t &segmen chunk_index = state.chunk_index++; return true; } - void TupleDataCollection::ScanAtIndex(TupleDataPinState &pin_state, TupleDataChunkState &chunk_state, const vector &column_ids, idx_t segment_index, idx_t chunk_index, DataChunk &result) { @@ -487,8 +541,14 @@ void TupleDataCollection::ScanAtIndex(TupleDataPinState &pin_state, TupleDataChu auto &chunk = segment.chunks[chunk_index]; segment.allocator->InitializeChunkState(segment, pin_state, chunk_state, chunk_index, false); result.Reset(); + + for (idx_t i = 0; i < column_ids.size(); i++) { + if (chunk_state.cached_cast_vectors[i]) { + chunk_state.cached_cast_vectors[i]->ResetFromCache(*chunk_state.cached_cast_vector_cache[i]); + } + } Gather(chunk_state.row_locations, *FlatVector::IncrementalSelectionVector(), chunk.count, column_ids, result, - *FlatVector::IncrementalSelectionVector()); + *FlatVector::IncrementalSelectionVector(), chunk_state.cached_cast_vectors); result.SetCardinality(chunk.count); } diff --git a/src/common/types/row/tuple_data_scatter_gather.cpp b/src/common/types/row/tuple_data_scatter_gather.cpp index 849d5d480c4c..998a552e8e92 100644 --- a/src/common/types/row/tuple_data_scatter_gather.cpp +++ b/src/common/types/row/tuple_data_scatter_gather.cpp @@ -2,6 +2,7 @@ #include "duckdb/common/fast_mem.hpp" #include "duckdb/common/types/null_value.hpp" #include "duckdb/common/types/row/tuple_data_collection.hpp" +#include "duckdb/common/uhugeint.hpp" namespace duckdb { @@ -96,7 +97,8 @@ void TupleDataCollection::ComputeHeapSizes(Vector &heap_sizes_v, const Vector &s TupleDataVectorFormat &source_format, const SelectionVector &append_sel, const idx_t append_count) { const auto type = source_v.GetType().InternalType(); - if (type != PhysicalType::VARCHAR && type != PhysicalType::STRUCT && type != PhysicalType::LIST) { + if (type != PhysicalType::VARCHAR && type != PhysicalType::STRUCT && type != PhysicalType::LIST && + type != PhysicalType::ARRAY) { return; } @@ -144,8 +146,25 @@ void TupleDataCollection::ComputeHeapSizes(Vector &heap_sizes_v, const Vector &s D_ASSERT(source_format.children.size() == 1); auto &child_source_v = ListVector::GetEntry(source_v); auto &child_format = source_format.children[0]; - TupleDataCollection::WithinListHeapComputeSizes(heap_sizes_v, child_source_v, child_format, append_sel, - append_count, source_vector_data); + TupleDataCollection::WithinCollectionComputeHeapSizes(heap_sizes_v, child_source_v, child_format, append_sel, + append_count, source_vector_data); + break; + } + case PhysicalType::ARRAY: { + // Arrays are stored entirely in the heap + for (idx_t i = 0; i < append_count; i++) { + auto source_idx = source_sel.get_index(append_sel.get_index(i)); + if (source_validity.RowIsValid(source_idx)) { + heap_sizes[i] += sizeof(uint64_t); // Size of the list + } + } + + // Recurse + D_ASSERT(source_format.children.size() == 1); + auto &child_source_v = ArrayVector::GetEntry(source_v); + auto &child_format = source_format.children[0]; + TupleDataCollection::WithinCollectionComputeHeapSizes(heap_sizes_v, child_source_v, child_format, append_sel, + append_count, source_vector_data); break; } default: @@ -153,39 +172,43 @@ void TupleDataCollection::ComputeHeapSizes(Vector &heap_sizes_v, const Vector &s } } -void TupleDataCollection::WithinListHeapComputeSizes(Vector &heap_sizes_v, const Vector &source_v, - TupleDataVectorFormat &source_format, - const SelectionVector &append_sel, const idx_t append_count, - const UnifiedVectorFormat &list_data) { +void TupleDataCollection::WithinCollectionComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, + TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, const idx_t append_count, + const UnifiedVectorFormat &list_data) { auto type = source_v.GetType().InternalType(); if (TypeIsConstantSize(type)) { - TupleDataCollection::ComputeFixedWithinListHeapSizes(heap_sizes_v, source_v, source_format, append_sel, - append_count, list_data); + TupleDataCollection::ComputeFixedWithinCollectionHeapSizes(heap_sizes_v, source_v, source_format, append_sel, + append_count, list_data); return; } - switch (type) { case PhysicalType::VARCHAR: - TupleDataCollection::StringWithinListComputeHeapSizes(heap_sizes_v, source_v, source_format, append_sel, - append_count, list_data); + TupleDataCollection::StringWithinCollectionComputeHeapSizes(heap_sizes_v, source_v, source_format, append_sel, + append_count, list_data); break; case PhysicalType::STRUCT: - TupleDataCollection::StructWithinListComputeHeapSizes(heap_sizes_v, source_v, source_format, append_sel, - append_count, list_data); + TupleDataCollection::StructWithinCollectionComputeHeapSizes(heap_sizes_v, source_v, source_format, append_sel, + append_count, list_data); break; case PhysicalType::LIST: - TupleDataCollection::ListWithinListComputeHeapSizes(heap_sizes_v, source_v, source_format, append_sel, - append_count, list_data); + TupleDataCollection::CollectionWithinCollectionComputeHeapSizes(heap_sizes_v, source_v, source_format, + append_sel, append_count, list_data); + break; + case PhysicalType::ARRAY: + TupleDataCollection::CollectionWithinCollectionComputeHeapSizes(heap_sizes_v, source_v, source_format, + append_sel, append_count, list_data); break; default: throw NotImplementedException("WithinListHeapComputeSizes for %s", EnumUtil::ToString(source_v.GetType().id())); } } -void TupleDataCollection::ComputeFixedWithinListHeapSizes(Vector &heap_sizes_v, const Vector &source_v, - TupleDataVectorFormat &source_format, - const SelectionVector &append_sel, const idx_t append_count, - const UnifiedVectorFormat &list_data) { +void TupleDataCollection::ComputeFixedWithinCollectionHeapSizes(Vector &heap_sizes_v, const Vector &source_v, + TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, + const idx_t append_count, + const UnifiedVectorFormat &list_data) { // List data const auto list_sel = *list_data.sel; const auto list_entries = UnifiedVectorFormat::GetData(list_data); @@ -212,10 +235,11 @@ void TupleDataCollection::ComputeFixedWithinListHeapSizes(Vector &heap_sizes_v, } } -void TupleDataCollection::StringWithinListComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, - TupleDataVectorFormat &source_format, - const SelectionVector &append_sel, const idx_t append_count, - const UnifiedVectorFormat &list_data) { +void TupleDataCollection::StringWithinCollectionComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, + TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, + const idx_t append_count, + const UnifiedVectorFormat &list_data) { // Source const auto &source_data = source_format.unified; const auto &source_sel = *source_data.sel; @@ -256,10 +280,11 @@ void TupleDataCollection::StringWithinListComputeHeapSizes(Vector &heap_sizes_v, } } -void TupleDataCollection::StructWithinListComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, - TupleDataVectorFormat &source_format, - const SelectionVector &append_sel, const idx_t append_count, - const UnifiedVectorFormat &list_data) { +void TupleDataCollection::StructWithinCollectionComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, + TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, + const idx_t append_count, + const UnifiedVectorFormat &list_data) { // List data const auto list_sel = *list_data.sel; const auto list_entries = UnifiedVectorFormat::GetData(list_data); @@ -285,9 +310,10 @@ void TupleDataCollection::StructWithinListComputeHeapSizes(Vector &heap_sizes_v, auto &struct_sources = StructVector::GetEntries(source_v); for (idx_t struct_col_idx = 0; struct_col_idx < struct_sources.size(); struct_col_idx++) { auto &struct_source = *struct_sources[struct_col_idx]; + auto &struct_format = source_format.children[struct_col_idx]; - TupleDataCollection::WithinListHeapComputeSizes(heap_sizes_v, struct_source, struct_format, append_sel, - append_count, list_data); + TupleDataCollection::WithinCollectionComputeHeapSizes(heap_sizes_v, struct_source, struct_format, append_sel, + append_count, list_data); } } @@ -317,10 +343,11 @@ static void ApplySliceRecursive(const Vector &source_v, TupleDataVectorFormat &s } } -void TupleDataCollection::ListWithinListComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, - TupleDataVectorFormat &source_format, - const SelectionVector &append_sel, const idx_t append_count, - const UnifiedVectorFormat &list_data) { +void TupleDataCollection::CollectionWithinCollectionComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, + TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, + const idx_t append_count, + const UnifiedVectorFormat &list_data) { // List data (of the list Vector that "source_v" is in) const auto list_sel = *list_data.sel; const auto list_entries = UnifiedVectorFormat::GetData(list_data); @@ -356,7 +383,10 @@ void TupleDataCollection::ListWithinListComputeHeapSizes(Vector &heap_sizes_v, c sum_of_sizes += child_list_length; } } - const auto child_list_child_count = MaxValue(sum_of_sizes, ListVector::GetListSize(source_v)); + + const auto child_list_child_count = MaxValue( + sum_of_sizes, source_v.GetType().InternalType() == PhysicalType::LIST ? ListVector::GetListSize(source_v) + : ArrayVector::GetTotalSize(source_v)); // Target auto heap_sizes = FlatVector::GetData(heap_sizes_v); @@ -426,12 +456,16 @@ void TupleDataCollection::ListWithinListComputeHeapSizes(Vector &heap_sizes_v, c // Combine the selection vectors D_ASSERT(source_format.children.size() == 1); - auto &child_source = ListVector::GetEntry(source_v); + + // TODO: Template this? + auto &child_source = source_v.GetType().InternalType() == PhysicalType::LIST ? ListVector::GetEntry(source_v) + : ArrayVector::GetEntry(source_v); + ApplySliceRecursive(child_source, child_format, combined_sel, child_list_child_count); // Recurse - TupleDataCollection::WithinListHeapComputeSizes(heap_sizes_v, child_source, child_format, append_sel, append_count, - combined_child_list_data); + TupleDataCollection::WithinCollectionComputeHeapSizes(heap_sizes_v, child_source, child_format, append_sel, + append_count, combined_child_list_data); } void TupleDataCollection::Scatter(TupleDataChunkState &chunk_state, const DataChunk &new_chunk, @@ -564,6 +598,10 @@ static void TupleDataStructScatter(const Vector &source, const TupleDataVectorFo } } +//------------------------------------------------------------------------------ +// List Scatter +//------------------------------------------------------------------------------ + static void TupleDataListScatter(const Vector &source, const TupleDataVectorFormat &source_format, const SelectionVector &append_sel, const idx_t append_count, const TupleDataLayout &layout, const Vector &row_locations, Vector &heap_locations, @@ -609,13 +647,66 @@ static void TupleDataListScatter(const Vector &source, const TupleDataVectorForm col_idx, source_format.unified, child_function.child_functions); } +//------------------------------------------------------------------------------ +// Array Scatter +//------------------------------------------------------------------------------ + +static void TupleDataArrayScatter(const Vector &source, const TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, const idx_t append_count, + const TupleDataLayout &layout, const Vector &row_locations, Vector &heap_locations, + const idx_t col_idx, const UnifiedVectorFormat &dummy_arg, + const vector &child_functions) { + // Source + // The Array vector has fake list_entry_t's set by this point, so this is fine + const auto &source_data = source_format.unified; + const auto source_sel = *source_data.sel; + const auto data = UnifiedVectorFormat::GetData(source_data); + const auto &validity = source_data.validity; + + // Target + auto target_locations = FlatVector::GetData(row_locations); + auto target_heap_locations = FlatVector::GetData(heap_locations); + + // Precompute mask indexes + idx_t entry_idx; + idx_t idx_in_entry; + ValidityBytes::GetEntryIndex(col_idx, entry_idx, idx_in_entry); + + // Set validity of the LIST in this layout, and store pointer to where it's stored + const auto offset_in_row = layout.GetOffsets()[col_idx]; + for (idx_t i = 0; i < append_count; i++) { + const auto source_idx = source_sel.get_index(append_sel.get_index(i)); + if (validity.RowIsValid(source_idx)) { + auto &target_heap_location = target_heap_locations[i]; + Store(target_heap_location, target_locations[i] + offset_in_row); + + // Store list length and skip over it + Store(data[source_idx].length, target_heap_location); + target_heap_location += sizeof(uint64_t); + } else { + ValidityBytes(target_locations[i]).SetInvalidUnsafe(entry_idx, idx_in_entry); + } + } + + // Recurse + D_ASSERT(child_functions.size() == 1); + auto &child_source = ArrayVector::GetEntry(source); + auto &child_format = source_format.children[0]; + const auto &child_function = child_functions[0]; + child_function.function(child_source, child_format, append_sel, append_count, layout, row_locations, heap_locations, + col_idx, source_format.unified, child_function.child_functions); +} + +//------------------------------------------------------------------------------ +// Collection Scatter +//------------------------------------------------------------------------------ template -static void TupleDataTemplatedWithinListScatter(const Vector &source, const TupleDataVectorFormat &source_format, - const SelectionVector &append_sel, const idx_t append_count, - const TupleDataLayout &layout, const Vector &row_locations, - Vector &heap_locations, const idx_t col_idx, - const UnifiedVectorFormat &list_data, - const vector &child_functions) { +static void TupleDataTemplatedWithinCollectionScatter(const Vector &source, const TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, const idx_t append_count, + const TupleDataLayout &layout, const Vector &row_locations, + Vector &heap_locations, const idx_t col_idx, + const UnifiedVectorFormat &list_data, + const vector &child_functions) { // Source const auto &source_data = source_format.unified; const auto &source_sel = *source_data.sel; @@ -665,12 +756,12 @@ static void TupleDataTemplatedWithinListScatter(const Vector &source, const Tupl } } -static void TupleDataStructWithinListScatter(const Vector &source, const TupleDataVectorFormat &source_format, - const SelectionVector &append_sel, const idx_t append_count, - const TupleDataLayout &layout, const Vector &row_locations, - Vector &heap_locations, const idx_t col_idx, - const UnifiedVectorFormat &list_data, - const vector &child_functions) { +static void TupleDataStructWithinCollectionScatter(const Vector &source, const TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, const idx_t append_count, + const TupleDataLayout &layout, const Vector &row_locations, + Vector &heap_locations, const idx_t col_idx, + const UnifiedVectorFormat &list_data, + const vector &child_functions) { // Source const auto &source_data = source_format.unified; const auto &source_sel = *source_data.sel; @@ -723,12 +814,14 @@ static void TupleDataStructWithinListScatter(const Vector &source, const TupleDa } } -static void TupleDataListWithinListScatter(const Vector &child_list, const TupleDataVectorFormat &child_list_format, - const SelectionVector &append_sel, const idx_t append_count, - const TupleDataLayout &layout, const Vector &row_locations, - Vector &heap_locations, const idx_t col_idx, - const UnifiedVectorFormat &list_data, - const vector &child_functions) { +template +static void TupleDataCollectionWithinCollectionScatter(const Vector &child_list, + const TupleDataVectorFormat &child_list_format, + const SelectionVector &append_sel, const idx_t append_count, + const TupleDataLayout &layout, const Vector &row_locations, + Vector &heap_locations, const idx_t col_idx, + const UnifiedVectorFormat &list_data, + const vector &child_functions) { // List data (of the list Vector that "child_list" is in) const auto list_sel = *list_data.sel; const auto list_entries = UnifiedVectorFormat::GetData(list_data); @@ -777,7 +870,7 @@ static void TupleDataListWithinListScatter(const Vector &child_list, const Tuple // Recurse D_ASSERT(child_functions.size() == 1); - auto &child_vec = ListVector::GetEntry(child_list); + auto &child_vec = COLLECTION_VECTOR::GetEntry(child_list); auto &child_format = child_list_format.children[0]; auto &combined_child_list_data = child_format.combined_list_data->combined_data; const auto &child_function = child_functions[0]; @@ -785,103 +878,123 @@ static void TupleDataListWithinListScatter(const Vector &child_list, const Tuple col_idx, combined_child_list_data, child_function.child_functions); } +//------------------------------------------------------------------------------ +// Get Scatter Function +//------------------------------------------------------------------------------ template -tuple_data_scatter_function_t TupleDataGetScatterFunction(bool within_list) { - return within_list ? TupleDataTemplatedWithinListScatter : TupleDataTemplatedScatter; +tuple_data_scatter_function_t TupleDataGetScatterFunction(bool within_collection) { + return within_collection ? TupleDataTemplatedWithinCollectionScatter : TupleDataTemplatedScatter; } -TupleDataScatterFunction TupleDataCollection::GetScatterFunction(const LogicalType &type, bool within_list) { +TupleDataScatterFunction TupleDataCollection::GetScatterFunction(const LogicalType &type, bool within_collection) { TupleDataScatterFunction result; switch (type.InternalType()) { case PhysicalType::BOOL: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::INT8: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::INT16: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::INT32: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::INT64: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::INT128: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::UINT8: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::UINT16: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::UINT32: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::UINT64: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); + break; + case PhysicalType::UINT128: + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::FLOAT: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::DOUBLE: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::INTERVAL: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::VARCHAR: - result.function = TupleDataGetScatterFunction(within_list); + result.function = TupleDataGetScatterFunction(within_collection); break; case PhysicalType::STRUCT: { - result.function = within_list ? TupleDataStructWithinListScatter : TupleDataStructScatter; + result.function = within_collection ? TupleDataStructWithinCollectionScatter : TupleDataStructScatter; for (const auto &child_type : StructType::GetChildTypes(type)) { - result.child_functions.push_back(GetScatterFunction(child_type.second, within_list)); + result.child_functions.push_back(GetScatterFunction(child_type.second, within_collection)); } break; } case PhysicalType::LIST: - result.function = within_list ? TupleDataListWithinListScatter : TupleDataListScatter; + result.function = + within_collection ? TupleDataCollectionWithinCollectionScatter : TupleDataListScatter; result.child_functions.emplace_back(GetScatterFunction(ListType::GetChildType(type), true)); break; + case PhysicalType::ARRAY: + result.function = + within_collection ? TupleDataCollectionWithinCollectionScatter : TupleDataArrayScatter; + result.child_functions.emplace_back(GetScatterFunction(ArrayType::GetChildType(type), true)); + break; default: throw InternalException("Unsupported type for TupleDataCollection::GetScatterFunction"); } return result; } +//------------------------------------------------------------------------------- +// Gather +//------------------------------------------------------------------------------- + void TupleDataCollection::Gather(Vector &row_locations, const SelectionVector &scan_sel, const idx_t scan_count, - DataChunk &result, const SelectionVector &target_sel) const { + DataChunk &result, const SelectionVector &target_sel, + vector> &cached_cast_vectors) const { D_ASSERT(result.ColumnCount() == layout.ColumnCount()); vector column_ids; column_ids.reserve(layout.ColumnCount()); for (idx_t col_idx = 0; col_idx < layout.ColumnCount(); col_idx++) { column_ids.emplace_back(col_idx); } - Gather(row_locations, scan_sel, scan_count, column_ids, result, target_sel); + Gather(row_locations, scan_sel, scan_count, column_ids, result, target_sel, cached_cast_vectors); } void TupleDataCollection::Gather(Vector &row_locations, const SelectionVector &scan_sel, const idx_t scan_count, const vector &column_ids, DataChunk &result, - const SelectionVector &target_sel) const { + const SelectionVector &target_sel, + vector> &cached_cast_vectors) const { for (idx_t col_idx = 0; col_idx < column_ids.size(); col_idx++) { - Gather(row_locations, scan_sel, scan_count, column_ids[col_idx], result.data[col_idx], target_sel); + Gather(row_locations, scan_sel, scan_count, column_ids[col_idx], result.data[col_idx], target_sel, + cached_cast_vectors[col_idx].get()); } } void TupleDataCollection::Gather(Vector &row_locations, const SelectionVector &scan_sel, const idx_t scan_count, - const column_t column_id, Vector &result, const SelectionVector &target_sel) const { + const column_t column_id, Vector &result, const SelectionVector &target_sel, + optional_ptr cached_cast_vector) const { const auto &gather_function = gather_functions[column_id]; - gather_function.function(layout, row_locations, column_id, scan_sel, scan_count, result, target_sel, result, - gather_function.child_functions); + gather_function.function(layout, row_locations, column_id, scan_sel, scan_count, result, target_sel, + cached_cast_vector, gather_function.child_functions); } template static void TupleDataTemplatedGather(const TupleDataLayout &layout, Vector &row_locations, const idx_t col_idx, const SelectionVector &scan_sel, const idx_t scan_count, Vector &target, - const SelectionVector &target_sel, Vector &dummy_vector, + const SelectionVector &target_sel, optional_ptr dummy_vector, const vector &child_functions) { // Source auto source_locations = FlatVector::GetData(row_locations); @@ -910,7 +1023,7 @@ static void TupleDataTemplatedGather(const TupleDataLayout &layout, Vector &row_ static void TupleDataStructGather(const TupleDataLayout &layout, Vector &row_locations, const idx_t col_idx, const SelectionVector &scan_sel, const idx_t scan_count, Vector &target, - const SelectionVector &target_sel, Vector &dummy_vector, + const SelectionVector &target_sel, optional_ptr dummy_vector, const vector &child_functions) { // Source auto source_locations = FlatVector::GetData(row_locations); @@ -957,9 +1070,12 @@ static void TupleDataStructGather(const TupleDataLayout &layout, Vector &row_loc } } +//------------------------------------------------------------------------------ +// List Gather +//------------------------------------------------------------------------------ static void TupleDataListGather(const TupleDataLayout &layout, Vector &row_locations, const idx_t col_idx, const SelectionVector &scan_sel, const idx_t scan_count, Vector &target, - const SelectionVector &target_sel, Vector &dummy_vector, + const SelectionVector &target_sel, optional_ptr dummy_vector, const vector &child_functions) { // Source auto source_locations = FlatVector::GetData(row_locations); @@ -1010,15 +1126,19 @@ static void TupleDataListGather(const TupleDataLayout &layout, Vector &row_locat D_ASSERT(child_functions.size() == 1); const auto &child_function = child_functions[0]; child_function.function(layout, heap_locations, list_size_before, scan_sel, scan_count, - ListVector::GetEntry(target), target_sel, target, child_function.child_functions); + ListVector::GetEntry(target), target_sel, &target, child_function.child_functions); } +//------------------------------------------------------------------------------ +// Collection Gather +//------------------------------------------------------------------------------ template -static void TupleDataTemplatedWithinListGather(const TupleDataLayout &layout, Vector &heap_locations, - const idx_t list_size_before, const SelectionVector &scan_sel, - const idx_t scan_count, Vector &target, - const SelectionVector &target_sel, Vector &list_vector, - const vector &child_functions) { +static void TupleDataTemplatedWithinCollectionGather(const TupleDataLayout &layout, Vector &heap_locations, + const idx_t list_size_before, const SelectionVector &scan_sel, + const idx_t scan_count, Vector &target, + const SelectionVector &target_sel, + optional_ptr list_vector, + const vector &child_functions) { // Source auto source_heap_locations = FlatVector::GetData(heap_locations); auto &source_heap_validity = FlatVector::Validity(heap_locations); @@ -1028,7 +1148,7 @@ static void TupleDataTemplatedWithinListGather(const TupleDataLayout &layout, Ve auto &target_validity = FlatVector::Validity(target); // List parent - const auto list_entries = FlatVector::GetData(list_vector); + const auto list_entries = FlatVector::GetData(*list_vector); uint64_t target_offset = list_size_before; for (idx_t i = 0; i < scan_count; i++) { @@ -1061,11 +1181,11 @@ static void TupleDataTemplatedWithinListGather(const TupleDataLayout &layout, Ve } } -static void TupleDataStructWithinListGather(const TupleDataLayout &layout, Vector &heap_locations, - const idx_t list_size_before, const SelectionVector &scan_sel, - const idx_t scan_count, Vector &target, const SelectionVector &target_sel, - Vector &list_vector, - const vector &child_functions) { +static void TupleDataStructWithinCollectionGather(const TupleDataLayout &layout, Vector &heap_locations, + const idx_t list_size_before, const SelectionVector &scan_sel, + const idx_t scan_count, Vector &target, + const SelectionVector &target_sel, optional_ptr list_vector, + const vector &child_functions) { // Source auto source_heap_locations = FlatVector::GetData(heap_locations); auto &source_heap_validity = FlatVector::Validity(heap_locations); @@ -1074,7 +1194,7 @@ static void TupleDataStructWithinListGather(const TupleDataLayout &layout, Vecto auto &target_validity = FlatVector::Validity(target); // List parent - const auto list_entries = FlatVector::GetData(list_vector); + const auto list_entries = FlatVector::GetData(*list_vector); uint64_t target_offset = list_size_before; for (idx_t i = 0; i < scan_count; i++) { @@ -1109,10 +1229,12 @@ static void TupleDataStructWithinListGather(const TupleDataLayout &layout, Vecto } } -static void TupleDataListWithinListGather(const TupleDataLayout &layout, Vector &heap_locations, - const idx_t list_size_before, const SelectionVector &scan_sel, - const idx_t scan_count, Vector &target, const SelectionVector &target_sel, - Vector &list_vector, const vector &child_functions) { +static void TupleDataCollectionWithinCollectionGather(const TupleDataLayout &layout, Vector &heap_locations, + const idx_t list_size_before, const SelectionVector &scan_sel, + const idx_t scan_count, Vector &target, + const SelectionVector &target_sel, + optional_ptr list_vector, + const vector &child_functions) { // Source auto source_heap_locations = FlatVector::GetData(heap_locations); auto &source_heap_validity = FlatVector::Validity(heap_locations); @@ -1123,7 +1245,7 @@ static void TupleDataListWithinListGather(const TupleDataLayout &layout, Vector const auto child_list_size_before = ListVector::GetListSize(target); // List parent - const auto list_entries = FlatVector::GetData(list_vector); + const auto list_entries = FlatVector::GetData(*list_vector); // We need to create a vector that has the combined list sizes (hugeint_t has same size as list_entry_t) Vector combined_list_vector(LogicalType::HUGEINT); @@ -1169,6 +1291,7 @@ static void TupleDataListWithinListGather(const TupleDataLayout &layout, Vector target_offset += list_length; } + ListVector::Reserve(target, target_child_offset); ListVector::SetListSize(target, target_child_offset); @@ -1176,70 +1299,123 @@ static void TupleDataListWithinListGather(const TupleDataLayout &layout, Vector D_ASSERT(child_functions.size() == 1); const auto &child_function = child_functions[0]; child_function.function(layout, heap_locations, child_list_size_before, scan_sel, scan_count, - ListVector::GetEntry(target), target_sel, combined_list_vector, + ListVector::GetEntry(target), target_sel, &combined_list_vector, child_function.child_functions); } +//------------------------------------------------------------------------------ +// Special cases for arrays +//------------------------------------------------------------------------------ +// A gather function that wraps another gather function and casts the result to the target array type +static void TupleDataCastToArrayListGather(const TupleDataLayout &layout, Vector &row_locations, const idx_t col_idx, + const SelectionVector &scan_sel, const idx_t scan_count, Vector &target, + const SelectionVector &target_sel, optional_ptr cached_cast_vector, + const vector &child_functions) { + + if (cached_cast_vector) { + // Reuse the cached cast vector + TupleDataListGather(layout, row_locations, col_idx, scan_sel, scan_count, *cached_cast_vector, target_sel, + cached_cast_vector, child_functions); + VectorOperations::DefaultCast(*cached_cast_vector, target, scan_count); + } else { + // Otherwise, create a new temporary cast vector + Vector cast_vector(ArrayType::ConvertToList(target.GetType())); + TupleDataListGather(layout, row_locations, col_idx, scan_sel, scan_count, cast_vector, target_sel, &cast_vector, + child_functions); + VectorOperations::DefaultCast(cast_vector, target, scan_count); + } +} + +static void TupleDataCastToArrayStructGather(const TupleDataLayout &layout, Vector &row_locations, const idx_t col_idx, + const SelectionVector &scan_sel, const idx_t scan_count, Vector &target, + const SelectionVector &target_sel, optional_ptr cached_cast_vector, + const vector &child_functions) { + + if (cached_cast_vector) { + // Reuse the cached cast vector + TupleDataStructGather(layout, row_locations, col_idx, scan_sel, scan_count, *cached_cast_vector, target_sel, + cached_cast_vector, child_functions); + VectorOperations::DefaultCast(*cached_cast_vector, target, scan_count); + } else { + // Otherwise, create a new temporary cast vector + Vector cast_vector(ArrayType::ConvertToList(target.GetType())); + TupleDataStructGather(layout, row_locations, col_idx, scan_sel, scan_count, cast_vector, target_sel, + &cast_vector, child_functions); + VectorOperations::DefaultCast(cast_vector, target, scan_count); + } +} + +//------------------------------------------------------------------------------ +// Get Gather Function +//------------------------------------------------------------------------------ + template -tuple_data_gather_function_t TupleDataGetGatherFunction(bool within_list) { - return within_list ? TupleDataTemplatedWithinListGather : TupleDataTemplatedGather; +tuple_data_gather_function_t TupleDataGetGatherFunction(bool within_collection) { + return within_collection ? TupleDataTemplatedWithinCollectionGather : TupleDataTemplatedGather; } -TupleDataGatherFunction TupleDataCollection::GetGatherFunction(const LogicalType &type, bool within_list) { +static TupleDataGatherFunction TupleDataGetGatherFunctionInternal(const LogicalType &type, bool within_collection) { TupleDataGatherFunction result; switch (type.InternalType()) { case PhysicalType::BOOL: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::INT8: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::INT16: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::INT32: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::INT64: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::INT128: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::UINT8: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::UINT16: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::UINT32: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::UINT64: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); + break; + case PhysicalType::UINT128: + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::FLOAT: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::DOUBLE: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::INTERVAL: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::VARCHAR: - result.function = TupleDataGetGatherFunction(within_list); + result.function = TupleDataGetGatherFunction(within_collection); break; case PhysicalType::STRUCT: { - result.function = within_list ? TupleDataStructWithinListGather : TupleDataStructGather; + result.function = within_collection ? TupleDataStructWithinCollectionGather : TupleDataStructGather; for (const auto &child_type : StructType::GetChildTypes(type)) { - result.child_functions.push_back(GetGatherFunction(child_type.second, within_list)); + result.child_functions.push_back(TupleDataGetGatherFunctionInternal(child_type.second, within_collection)); } break; } case PhysicalType::LIST: - result.function = within_list ? TupleDataListWithinListGather : TupleDataListGather; - result.child_functions.push_back(GetGatherFunction(ListType::GetChildType(type), true)); + result.function = within_collection ? TupleDataCollectionWithinCollectionGather : TupleDataListGather; + result.child_functions.push_back(TupleDataGetGatherFunctionInternal(ListType::GetChildType(type), true)); + break; + case PhysicalType::ARRAY: + result.function = within_collection ? TupleDataCollectionWithinCollectionGather : TupleDataListGather; + result.child_functions.push_back(TupleDataGetGatherFunctionInternal(ArrayType::GetChildType(type), true)); break; default: throw InternalException("Unsupported type for TupleDataCollection::GetGatherFunction"); @@ -1247,4 +1423,32 @@ TupleDataGatherFunction TupleDataCollection::GetGatherFunction(const LogicalType return result; } +TupleDataGatherFunction TupleDataCollection::GetGatherFunction(const LogicalType &type) { + if (!type.IsNested()) { + return TupleDataGetGatherFunctionInternal(type, false); + } + + if (type.Contains(LogicalTypeId::ARRAY)) { + // Special case: we cant handle arrays yet, so we need to replace them with lists when gathering + auto new_type = ArrayType::ConvertToList(type); + TupleDataGatherFunction result; + // Theres only two cases: Either the array is within a struct, or it is within a list (or has now become a list) + if (new_type.InternalType() == PhysicalType::LIST) { + result.function = TupleDataCastToArrayListGather; + result.child_functions.push_back( + TupleDataGetGatherFunctionInternal(ListType::GetChildType(new_type), true)); + return result; + } else if (new_type.InternalType() == PhysicalType::STRUCT) { + result.function = TupleDataCastToArrayStructGather; + for (const auto &child_type : StructType::GetChildTypes(new_type)) { + result.child_functions.push_back(TupleDataGetGatherFunctionInternal(child_type.second, false)); + } + return result; + } else { + throw InternalException("Unsupported type for TupleDataCollection::GetGatherFunction"); + } + } + return TupleDataGetGatherFunctionInternal(type, false); +} + } // namespace duckdb diff --git a/src/common/types/time.cpp b/src/common/types/time.cpp index fa906a932df4..7e37ab2a55c8 100644 --- a/src/common/types/time.cpp +++ b/src/common/types/time.cpp @@ -7,6 +7,7 @@ #include "duckdb/common/types/interval.hpp" #include "duckdb/common/types/timestamp.hpp" #include "duckdb/common/operator/multiply.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" #include #include @@ -43,11 +44,14 @@ bool Time::TryConvertInternal(const char *buf, idx_t len, idx_t &pos, dtime_t &r return false; } - if (!Date::ParseDoubleDigit(buf, len, pos, hour)) { - return false; - } - if (hour < 0 || hour >= 24) { - return false; + // Allow up to 9 digit hours to support intervals + hour = 0; + for (int32_t digits = 9; pos < len && StringUtil::CharacterIsDigit(buf[pos]); ++pos) { + if (digits-- > 0) { + hour = hour * 10 + (buf[pos] - '0'); + } else { + return false; + } } if (pos >= len) { @@ -111,6 +115,10 @@ bool Time::TryConvertInternal(const char *buf, idx_t len, idx_t &pos, dtime_t &r return true; } +bool Time::TryConvertInterval(const char *buf, idx_t len, idx_t &pos, dtime_t &result, bool strict) { + return Time::TryConvertInternal(buf, len, pos, result, strict); +} + bool Time::TryConvertTime(const char *buf, idx_t len, idx_t &pos, dtime_t &result, bool strict) { if (!Time::TryConvertInternal(buf, len, pos, result, strict)) { if (!strict) { @@ -126,72 +134,7 @@ bool Time::TryConvertTime(const char *buf, idx_t len, idx_t &pos, dtime_t &resul } return false; } - return true; -} - -bool Time::TryParseUTCOffset(const char *str, idx_t &pos, idx_t len, int32_t &offset) { - offset = 0; - if (pos == len || StringUtil::CharacterIsSpace(str[pos])) { - return true; - } - - idx_t curpos = pos; - // Minimum of 3 characters - if (curpos + 3 > len) { - // no characters left to parse - return false; - } - - const auto sign_char = str[curpos]; - if (sign_char != '+' && sign_char != '-') { - // expected either + or - - return false; - } - curpos++; - - int32_t hh = 0; - idx_t start = curpos; - for (; curpos < len; ++curpos) { - const auto c = str[curpos]; - if (!StringUtil::CharacterIsDigit(c)) { - break; - } - hh = hh * 10 + (c - '0'); - } - // HH is in [-1559,+1559] and must be at least two digits - if (curpos - start < 2 || hh > 1559) { - return false; - } - - // optional minute specifier: expected ":MM" - int32_t mm = 0; - if (curpos + 3 <= len && str[curpos] == ':') { - ++curpos; - if (!Date::ParseDoubleDigit(str, len, curpos, mm) || mm >= Interval::MINS_PER_HOUR) { - return false; - } - } - - // optional seconds specifier: expected ":SS" - int32_t ss = 0; - if (curpos + 3 <= len && str[curpos] == ':') { - ++curpos; - if (!Date::ParseDoubleDigit(str, len, curpos, ss) || ss >= Interval::SECS_PER_MINUTE) { - return false; - } - } - - // Assemble the offset now that we know nothing went wrong - offset += hh * Interval::SECS_PER_HOUR; - offset += mm * Interval::SECS_PER_MINUTE; - offset += ss; - if (sign_char == '-') { - offset = -offset; - } - - pos = curpos; - - return true; + return result.micros <= Interval::MICROS_PER_DAY; } bool Time::TryConvertTimeTZ(const char *buf, idx_t len, idx_t &pos, dtime_tz_t &result, bool strict) { @@ -211,9 +154,33 @@ bool Time::TryConvertTimeTZ(const char *buf, idx_t len, idx_t &pos, dtime_tz_t & return false; } - // We can't use Timestamp::TryParseUTCOffset because the colon is optional there but required here. - int32_t offset = 0; - if (!TryParseUTCOffset(buf, pos, len, offset)) { + // skip optional whitespace before offset + while (pos < len && StringUtil::CharacterIsSpace(buf[pos])) { + pos++; + } + + // Get the ±HH[:MM] part + int hh = 0; + int mm = 0; + if (pos < len && !Timestamp::TryParseUTCOffset(buf, pos, len, hh, mm)) { + return false; + } + + // Offsets are in seconds in the open interval (-16:00:00, +16:00:00) + int32_t offset = ((hh * Interval::MINS_PER_HOUR) + mm) * Interval::SECS_PER_MINUTE; + + // Check for trailing seconds. + // (PG claims they don't support this but they do...) + if (pos < len && buf[pos] == ':') { + ++pos; + int ss = 0; + if (!Date::ParseDoubleDigit(buf, len, pos, ss)) { + return false; + } + offset += (offset < 0) ? -ss : ss; + } + + if (offset < dtime_tz_t::MIN_OFFSET || offset > dtime_tz_t::MAX_OFFSET) { return false; } @@ -234,6 +201,11 @@ bool Time::TryConvertTimeTZ(const char *buf, idx_t len, idx_t &pos, dtime_tz_t & return true; } +dtime_t Time::NormalizeTimeTZ(dtime_tz_t timetz) { + date_t date(0); + return Interval::Add(timetz.time(), {0, 0, -timetz.offset() * Interval::MICROS_PER_SEC}, date); +} + string Time::ConversionError(const string &str) { return StringUtil::Format("time field value out of range: \"%s\", " "expected format is ([YYYY-MM-DD ]HH:MM:SS[.MS])", @@ -301,7 +273,7 @@ dtime_t Time::FromTime(int32_t hour, int32_t minute, int32_t second, int32_t mic bool Time::IsValidTime(int32_t hour, int32_t minute, int32_t second, int32_t microseconds) { if (hour < 0 || hour >= 24) { - return false; + return (hour == 24) && (minute == 0) && (second == 0) && (microseconds == 0); } if (minute < 0 || minute >= 60) { return false; diff --git a/src/common/types/timestamp.cpp b/src/common/types/timestamp.cpp index f0f5796d1824..aeb8ef53a177 100644 --- a/src/common/types/timestamp.cpp +++ b/src/common/types/timestamp.cpp @@ -9,6 +9,7 @@ #include "duckdb/common/operator/add.hpp" #include "duckdb/common/operator/multiply.hpp" #include "duckdb/common/operator/subtract.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" #include "duckdb/common/limits.hpp" #include @@ -271,10 +272,22 @@ bool Timestamp::TryFromDatetime(date_t date, dtime_t time, timestamp_t &result) return Timestamp::IsFinite(result); } +bool Timestamp::TryFromDatetime(date_t date, dtime_tz_t timetz, timestamp_t &result) { + if (!TryFromDatetime(date, timetz.time(), result)) { + return false; + } + // Offset is in seconds + const auto offset = int64_t(timetz.offset() * Interval::MICROS_PER_SEC); + if (!TryAddOperator::Operation(result.value, -offset, result.value)) { + return false; + } + return Timestamp::IsFinite(result); +} + timestamp_t Timestamp::FromDatetime(date_t date, dtime_t time) { timestamp_t result; if (!TryFromDatetime(date, time, result)) { - throw Exception("Overflow exception in date/time -> timestamp conversion"); + throw ConversionException("Overflow exception in date/time -> timestamp conversion"); } return result; } @@ -342,9 +355,9 @@ int64_t Timestamp::GetEpochNanoSeconds(timestamp_t timestamp) { } double Timestamp::GetJulianDay(timestamp_t timestamp) { - double result = Timestamp::GetTime(timestamp).micros; + double result = double(Timestamp::GetTime(timestamp).micros); result /= Interval::MICROS_PER_DAY; - result += Date::ExtractJulianDay(Timestamp::GetDate(timestamp)); + result += double(Date::ExtractJulianDay(Timestamp::GetDate(timestamp))); return result; } diff --git a/src/common/types/uhugeint.cpp b/src/common/types/uhugeint.cpp new file mode 100644 index 000000000000..3d33d8cc7d66 --- /dev/null +++ b/src/common/types/uhugeint.cpp @@ -0,0 +1,746 @@ +#include "duckdb/common/types/uhugeint.hpp" +#include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/exception.hpp" +#include "duckdb/common/algorithm.hpp" +#include "duckdb/common/limits.hpp" +#include "duckdb/common/windows_undefs.hpp" +#include "duckdb/common/types/value.hpp" +#include "duckdb/common/operator/cast_operators.hpp" + +#include +#include + +namespace duckdb { + +//===--------------------------------------------------------------------===// +// String Conversion +//===--------------------------------------------------------------------===// +const uhugeint_t Uhugeint::POWERS_OF_TEN[] { + uhugeint_t(1), + uhugeint_t(10), + uhugeint_t(100), + uhugeint_t(1000), + uhugeint_t(10000), + uhugeint_t(100000), + uhugeint_t(1000000), + uhugeint_t(10000000), + uhugeint_t(100000000), + uhugeint_t(1000000000), + uhugeint_t(10000000000), + uhugeint_t(100000000000), + uhugeint_t(1000000000000), + uhugeint_t(10000000000000), + uhugeint_t(100000000000000), + uhugeint_t(1000000000000000), + uhugeint_t(10000000000000000), + uhugeint_t(100000000000000000), + uhugeint_t(1000000000000000000), + uhugeint_t(1000000000000000000) * uhugeint_t(10), + uhugeint_t(1000000000000000000) * uhugeint_t(100), + uhugeint_t(1000000000000000000) * uhugeint_t(1000), + uhugeint_t(1000000000000000000) * uhugeint_t(10000), + uhugeint_t(1000000000000000000) * uhugeint_t(100000), + uhugeint_t(1000000000000000000) * uhugeint_t(1000000), + uhugeint_t(1000000000000000000) * uhugeint_t(10000000), + uhugeint_t(1000000000000000000) * uhugeint_t(100000000), + uhugeint_t(1000000000000000000) * uhugeint_t(1000000000), + uhugeint_t(1000000000000000000) * uhugeint_t(10000000000), + uhugeint_t(1000000000000000000) * uhugeint_t(100000000000), + uhugeint_t(1000000000000000000) * uhugeint_t(1000000000000), + uhugeint_t(1000000000000000000) * uhugeint_t(10000000000000), + uhugeint_t(1000000000000000000) * uhugeint_t(100000000000000), + uhugeint_t(1000000000000000000) * uhugeint_t(1000000000000000), + uhugeint_t(1000000000000000000) * uhugeint_t(10000000000000000), + uhugeint_t(1000000000000000000) * uhugeint_t(100000000000000000), + uhugeint_t(1000000000000000000) * uhugeint_t(1000000000000000000), + uhugeint_t(1000000000000000000) * uhugeint_t(1000000000000000000) * uhugeint_t(10), + uhugeint_t(1000000000000000000) * uhugeint_t(1000000000000000000) * uhugeint_t(100)}; + +string Uhugeint::ToString(uhugeint_t input) { + uhugeint_t remainder; + string result; + while (true) { + if (!input.lower && !input.upper) { + break; + } + input = Uhugeint::DivMod(input, 10, remainder); + result = string(1, '0' + remainder.lower) + result; // NOLINT + } + if (result.empty()) { + // value is zero + return "0"; + } + return result; +} + +//===--------------------------------------------------------------------===// +// Negate +//===--------------------------------------------------------------------===// + +template <> +void Uhugeint::NegateInPlace(uhugeint_t &input) { + uhugeint_t result = 0; + result -= input; + input = result; +} + +bool Uhugeint::TryNegate(uhugeint_t input, uhugeint_t &result) { + // unsigned integers can always be negated + Uhugeint::NegateInPlace(input); + result = input; + return true; +} + +//===--------------------------------------------------------------------===// +// Multiply +//===--------------------------------------------------------------------===// +bool Uhugeint::TryMultiply(uhugeint_t lhs, uhugeint_t rhs, uhugeint_t &result) { +#if ((__GNUC__ >= 5) || defined(__clang__)) && defined(__SIZEOF_INT128__) + __uint128_t left = __uint128_t(lhs.lower) + (__uint128_t(lhs.upper) << 64); + __uint128_t right = __uint128_t(rhs.lower) + (__uint128_t(rhs.upper) << 64); + __uint128_t result_u128; + if (__builtin_mul_overflow(left, right, &result_u128)) { + return false; + } + result.upper = uint64_t(result_u128 >> 64); + result.lower = uint64_t(result_u128 & 0xffffffffffffffff); +#else + // split values into 4 32-bit parts + uint64_t top[4] = {lhs.upper >> 32, lhs.upper & 0xffffffff, lhs.lower >> 32, lhs.lower & 0xffffffff}; + uint64_t bottom[4] = {rhs.upper >> 32, rhs.upper & 0xffffffff, rhs.lower >> 32, rhs.lower & 0xffffffff}; + uint64_t products[4][4]; + + // multiply each component of the values + for (int y = 3; y > -1; y--) { + for (int x = 3; x > -1; x--) { + products[3 - x][y] = top[x] * bottom[y]; + } + } + + // if any of these products are set to a non-zero value, there is always an overflow + if (products[2][1] || products[1][0] || products[2][0]) { + return false; + } + + // if the high bits of any of these are set, there is always an overflow + if (products[1][1] & 0xffffffff00000000 || products[3][0] & 0xffffffff00000000 || + products[3][3] & 0xffffffff00000000 || products[3][2] & 0xffffffff00000000 || + products[3][1] & 0xffffffff00000000 || products[2][2] & 0xffffffff00000000 || + products[0][0] & 0xffffffff00000000) { + return false; + } + + // first row + uint64_t fourth32 = (products[0][3] & 0xffffffff); + uint64_t third32 = (products[0][2] & 0xffffffff) + (products[0][3] >> 32); + uint64_t second32 = (products[0][1] & 0xffffffff) + (products[0][2] >> 32); + uint64_t first32 = (products[0][0] & 0xffffffff) + (products[0][1] >> 32); + + // second row + third32 += (products[1][3] & 0xffffffff); + second32 += (products[1][2] & 0xffffffff) + (products[1][3] >> 32); + first32 += (products[1][1] & 0xffffffff) + (products[1][2] >> 32); + + // third row + second32 += (products[2][3] & 0xffffffff); + first32 += (products[2][2] & 0xffffffff) + (products[2][3] >> 32); + + // fourth row + first32 += (products[3][3] & 0xffffffff); + + // move carry to next digit + third32 += fourth32 >> 32; + second32 += third32 >> 32; + first32 += second32 >> 32; + + // remove carry from current digit + fourth32 &= 0xffffffff; + third32 &= 0xffffffff; + second32 &= 0xffffffff; + first32 &= 0xffffffff; + + // combine components + result.lower = (third32 << 32) | fourth32; + result.upper = (first32 << 32) | second32; +#endif + return true; +} + +// No overflow check, will wrap +template <> +uhugeint_t Uhugeint::Multiply(uhugeint_t lhs, uhugeint_t rhs) { + uhugeint_t result; +#if ((__GNUC__ >= 5) || defined(__clang__)) && defined(__SIZEOF_INT128__) + __uint128_t left = __uint128_t(lhs.lower) + (__uint128_t(lhs.upper) << 64); + __uint128_t right = __uint128_t(rhs.lower) + (__uint128_t(rhs.upper) << 64); + __uint128_t result_u128; + + result_u128 = left * right; + result.upper = uint64_t(result_u128 >> 64); + result.lower = uint64_t(result_u128 & 0xffffffffffffffff); +#else + // split values into 4 32-bit parts + uint64_t top[4] = {lhs.upper >> 32, lhs.upper & 0xffffffff, lhs.lower >> 32, lhs.lower & 0xffffffff}; + uint64_t bottom[4] = {rhs.upper >> 32, rhs.upper & 0xffffffff, rhs.lower >> 32, rhs.lower & 0xffffffff}; + uint64_t products[4][4]; + + // multiply each component of the values + for (int y = 3; y > -1; y--) { + for (int x = 3; x > -1; x--) { + products[3 - x][y] = top[x] * bottom[y]; + } + } + + // first row + uint64_t fourth32 = (products[0][3] & 0xffffffff); + uint64_t third32 = (products[0][2] & 0xffffffff) + (products[0][3] >> 32); + uint64_t second32 = (products[0][1] & 0xffffffff) + (products[0][2] >> 32); + uint64_t first32 = (products[0][0] & 0xffffffff) + (products[0][1] >> 32); + + // second row + third32 += (products[1][3] & 0xffffffff); + second32 += (products[1][2] & 0xffffffff) + (products[1][3] >> 32); + first32 += (products[1][1] & 0xffffffff) + (products[1][2] >> 32); + + // third row + second32 += (products[2][3] & 0xffffffff); + first32 += (products[2][2] & 0xffffffff) + (products[2][3] >> 32); + + // fourth row + first32 += (products[3][3] & 0xffffffff); + + // move carry to next digit + third32 += fourth32 >> 32; + second32 += third32 >> 32; + first32 += second32 >> 32; + + // remove carry from current digit + fourth32 &= 0xffffffff; + third32 &= 0xffffffff; + second32 &= 0xffffffff; + first32 &= 0xffffffff; + + // combine components + result.lower = (third32 << 32) | fourth32; + result.upper = (first32 << 32) | second32; +#endif + return result; +} + +//===--------------------------------------------------------------------===// +// Divide +//===--------------------------------------------------------------------===// + +int Sign(uhugeint_t n) { + return (n > 0); +} + +uhugeint_t Abs(uhugeint_t n) { + return (n); +} + +static uint8_t Bits(uhugeint_t x) { + uint8_t out = 0; + if (x.upper) { + out = 64; + for (uint64_t upper = x.upper; upper; upper >>= 1) { + ++out; + } + } else { + for (uint64_t lower = x.lower; lower; lower >>= 1) { + ++out; + } + } + return out; +} + +uhugeint_t Uhugeint::DivMod(uhugeint_t lhs, uhugeint_t rhs, uhugeint_t &remainder) { + if (rhs == 0) { + remainder = lhs; + return uhugeint_t(0); + } + + remainder = uhugeint_t(0); + if (rhs == uhugeint_t(1)) { + return lhs; + } else if (lhs == rhs) { + return uhugeint_t(1); + } else if (lhs == uhugeint_t(0) || lhs < rhs) { + remainder = lhs; + return uhugeint_t(0); + } + + uhugeint_t result = 0; + for (uint8_t idx = Bits(lhs); idx > 0; --idx) { + result <<= 1; + remainder <<= 1; + + if (((lhs >> (idx - 1U)) & 1) != 0) { + remainder += 1; + } + + if (remainder >= rhs) { + remainder -= rhs; + result += 1; + } + } + return result; +} + +template <> +uhugeint_t Uhugeint::Divide(uhugeint_t lhs, uhugeint_t rhs) { + uhugeint_t remainder; + return Uhugeint::DivMod(lhs, rhs, remainder); +} + +template <> +uhugeint_t Uhugeint::Modulo(uhugeint_t lhs, uhugeint_t rhs) { + uhugeint_t remainder; + (void)Uhugeint::DivMod(lhs, rhs, remainder); + return remainder; +} + +//===--------------------------------------------------------------------===// +// Add/Subtract +//===--------------------------------------------------------------------===// +bool Uhugeint::TryAddInPlace(uhugeint_t &lhs, uhugeint_t rhs) { + uint64_t new_upper = lhs.upper + rhs.upper; + bool no_overflow = !(new_upper < lhs.upper || new_upper < rhs.upper); + new_upper += (lhs.lower + rhs.lower) < lhs.lower; + if (new_upper < lhs.upper || new_upper < rhs.upper) { + no_overflow = false; + } + lhs.upper = new_upper; + lhs.lower += rhs.lower; + return no_overflow; +} + +bool Uhugeint::TrySubtractInPlace(uhugeint_t &lhs, uhugeint_t rhs) { + uint64_t new_upper = lhs.upper - rhs.upper - ((lhs.lower - rhs.lower) > lhs.lower); + bool no_overflow = !(new_upper > lhs.upper); + lhs.lower -= rhs.lower; + lhs.upper = new_upper; + return no_overflow; +} + +template <> +uhugeint_t Uhugeint::Add(uhugeint_t lhs, uhugeint_t rhs) { + return lhs + rhs; +} + +template <> +uhugeint_t Uhugeint::Subtract(uhugeint_t lhs, uhugeint_t rhs) { + return lhs - rhs; +} + +//===--------------------------------------------------------------------===// +// Cast/Conversion +//===--------------------------------------------------------------------===// +template +bool UhugeintTryCastInteger(uhugeint_t input, DST &result) { + if (input.upper == 0 && input.lower <= uint64_t(NumericLimits::Maximum())) { + result = DST(input.lower); + return true; + } + return false; +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, int8_t &result) { + return UhugeintTryCastInteger(input, result); +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, int16_t &result) { + return UhugeintTryCastInteger(input, result); +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, int32_t &result) { + return UhugeintTryCastInteger(input, result); +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, int64_t &result) { + return UhugeintTryCastInteger(input, result); +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, uint8_t &result) { + return UhugeintTryCastInteger(input, result); +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, uint16_t &result) { + return UhugeintTryCastInteger(input, result); +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, uint32_t &result) { + return UhugeintTryCastInteger(input, result); +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, uint64_t &result) { + return UhugeintTryCastInteger(input, result); +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, uhugeint_t &result) { + result = input; + return true; +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, hugeint_t &result) { + if (input > uhugeint_t(NumericLimits::Maximum())) { + return false; + } + + result.lower = input.lower; + result.upper = input.upper; + return true; +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, float &result) { + double dbl_result; + Uhugeint::TryCast(input, dbl_result); + result = (float)dbl_result; + return true; +} + +template +bool CastUhugeintToFloating(uhugeint_t input, REAL_T &result) { + result = REAL_T(input.lower) + REAL_T(input.upper) * REAL_T(NumericLimits::Maximum()); + return true; +} + +template <> +bool Uhugeint::TryCast(uhugeint_t input, double &result) { + return CastUhugeintToFloating(input, result); +} + +template +uhugeint_t UhugeintConvertInteger(DST input) { + uhugeint_t result; + result.lower = (uint64_t)input; + result.upper = 0; + return result; +} + +template <> +bool Uhugeint::TryConvert(const char *value, uhugeint_t &result) { + auto len = strlen(value); + string_t string_val(value, len); + return TryCast::Operation(string_val, result, true); +} + +template <> +bool Uhugeint::TryConvert(int8_t value, uhugeint_t &result) { + if (value < 0) { + return false; + } + result = UhugeintConvertInteger(value); + return true; +} + +template <> +bool Uhugeint::TryConvert(int16_t value, uhugeint_t &result) { + if (value < 0) { + return false; + } + result = UhugeintConvertInteger(value); + return true; +} + +template <> +bool Uhugeint::TryConvert(int32_t value, uhugeint_t &result) { + if (value < 0) { + return false; + } + result = UhugeintConvertInteger(value); + return true; +} + +template <> +bool Uhugeint::TryConvert(int64_t value, uhugeint_t &result) { + if (value < 0) { + return false; + } + result = UhugeintConvertInteger(value); + return true; +} +template <> +bool Uhugeint::TryConvert(uint8_t value, uhugeint_t &result) { + result = UhugeintConvertInteger(value); + return true; +} +template <> +bool Uhugeint::TryConvert(uint16_t value, uhugeint_t &result) { + result = UhugeintConvertInteger(value); + return true; +} +template <> +bool Uhugeint::TryConvert(uint32_t value, uhugeint_t &result) { + result = UhugeintConvertInteger(value); + return true; +} +template <> +bool Uhugeint::TryConvert(uint64_t value, uhugeint_t &result) { + result = UhugeintConvertInteger(value); + return true; +} + +template <> +bool Uhugeint::TryConvert(uhugeint_t value, uhugeint_t &result) { + result = value; + return true; +} + +template <> +bool Uhugeint::TryConvert(float value, uhugeint_t &result) { + return Uhugeint::TryConvert(double(value), result); +} + +template +bool ConvertFloatingToUhugeint(REAL_T value, uhugeint_t &result) { + if (!Value::IsFinite(value)) { + return false; + } + if (value < 0 || value >= 340282366920938463463374607431768211456.0) { + return false; + } + result.lower = (uint64_t)fmod(value, REAL_T(NumericLimits::Maximum())); + result.upper = (uint64_t)(value / REAL_T(NumericLimits::Maximum())); + return true; +} + +template <> +bool Uhugeint::TryConvert(double value, uhugeint_t &result) { + return ConvertFloatingToUhugeint(value, result); +} + +template <> +bool Uhugeint::TryConvert(long double value, uhugeint_t &result) { + return ConvertFloatingToUhugeint(value, result); +} + +//===--------------------------------------------------------------------===// +// uhugeint_t operators +//===--------------------------------------------------------------------===// +uhugeint_t::uhugeint_t(uint64_t value) { + this->lower = value; + this->upper = 0; +} + +bool uhugeint_t::operator==(const uhugeint_t &rhs) const { + return Uhugeint::Equals(*this, rhs); +} + +bool uhugeint_t::operator!=(const uhugeint_t &rhs) const { + return Uhugeint::NotEquals(*this, rhs); +} + +bool uhugeint_t::operator<(const uhugeint_t &rhs) const { + return Uhugeint::LessThan(*this, rhs); +} + +bool uhugeint_t::operator<=(const uhugeint_t &rhs) const { + return Uhugeint::LessThanEquals(*this, rhs); +} + +bool uhugeint_t::operator>(const uhugeint_t &rhs) const { + return Uhugeint::GreaterThan(*this, rhs); +} + +bool uhugeint_t::operator>=(const uhugeint_t &rhs) const { + return Uhugeint::GreaterThanEquals(*this, rhs); +} + +uhugeint_t uhugeint_t::operator+(const uhugeint_t &rhs) const { + return uhugeint_t(upper + rhs.upper + ((lower + rhs.lower) < lower), lower + rhs.lower); +} + +uhugeint_t uhugeint_t::operator-(const uhugeint_t &rhs) const { + return uhugeint_t(upper - rhs.upper - ((lower - rhs.lower) > lower), lower - rhs.lower); +} + +uhugeint_t uhugeint_t::operator*(const uhugeint_t &rhs) const { + uhugeint_t result = *this; + result *= rhs; + return result; +} + +uhugeint_t uhugeint_t::operator/(const uhugeint_t &rhs) const { + return Uhugeint::Divide(*this, rhs); +} + +uhugeint_t uhugeint_t::operator%(const uhugeint_t &rhs) const { + return Uhugeint::Modulo(*this, rhs); +} + +uhugeint_t uhugeint_t::operator-() const { + return Uhugeint::Negate(*this); +} + +uhugeint_t uhugeint_t::operator>>(const uhugeint_t &rhs) const { + const uint64_t shift = rhs.lower; + if (rhs.upper != 0 || shift >= 128) { + return uhugeint_t(0); + } else if (shift == 0) { + return *this; + } else if (shift == 64) { + return uhugeint_t(0, upper); + } else if (shift < 64) { + return uhugeint_t(upper >> shift, (upper << (64 - shift)) + (lower >> shift)); + } else if ((128 > shift) && (shift > 64)) { + return uhugeint_t(0, (upper >> (shift - 64))); + } + return uhugeint_t(0); +} + +uhugeint_t uhugeint_t::operator<<(const uhugeint_t &rhs) const { + const uint64_t shift = rhs.lower; + if (rhs.upper != 0 || shift >= 128) { + return uhugeint_t(0); + } else if (shift == 0) { + return *this; + } else if (shift == 64) { + return uhugeint_t(lower, 0); + } else if (shift < 64) { + return uhugeint_t((upper << shift) + (lower >> (64 - shift)), lower << shift); + } else if ((128 > shift) && (shift > 64)) { + return uhugeint_t(lower << (shift - 64), 0); + } + return uhugeint_t(0); +} + +uhugeint_t uhugeint_t::operator&(const uhugeint_t &rhs) const { + uhugeint_t result; + result.lower = lower & rhs.lower; + result.upper = upper & rhs.upper; + return result; +} + +uhugeint_t uhugeint_t::operator|(const uhugeint_t &rhs) const { + uhugeint_t result; + result.lower = lower | rhs.lower; + result.upper = upper | rhs.upper; + return result; +} + +uhugeint_t uhugeint_t::operator^(const uhugeint_t &rhs) const { + uhugeint_t result; + result.lower = lower ^ rhs.lower; + result.upper = upper ^ rhs.upper; + return result; +} + +uhugeint_t uhugeint_t::operator~() const { + uhugeint_t result; + result.lower = ~lower; + result.upper = ~upper; + return result; +} + +uhugeint_t &uhugeint_t::operator+=(const uhugeint_t &rhs) { + *this = *this + rhs; + return *this; +} + +uhugeint_t &uhugeint_t::operator-=(const uhugeint_t &rhs) { + *this = *this - rhs; + return *this; +} + +uhugeint_t &uhugeint_t::operator*=(const uhugeint_t &rhs) { + *this = Uhugeint::Multiply(*this, rhs); + return *this; +} + +uhugeint_t &uhugeint_t::operator/=(const uhugeint_t &rhs) { + *this = Uhugeint::Divide(*this, rhs); + return *this; +} + +uhugeint_t &uhugeint_t::operator%=(const uhugeint_t &rhs) { + *this = Uhugeint::Modulo(*this, rhs); + return *this; +} + +uhugeint_t &uhugeint_t::operator>>=(const uhugeint_t &rhs) { + *this = *this >> rhs; + return *this; +} + +uhugeint_t &uhugeint_t::operator<<=(const uhugeint_t &rhs) { + *this = *this << rhs; + return *this; +} + +uhugeint_t &uhugeint_t::operator&=(const uhugeint_t &rhs) { + lower &= rhs.lower; + upper &= rhs.upper; + return *this; +} + +uhugeint_t &uhugeint_t::operator|=(const uhugeint_t &rhs) { + lower |= rhs.lower; + upper |= rhs.upper; + return *this; +} + +uhugeint_t &uhugeint_t::operator^=(const uhugeint_t &rhs) { + lower ^= rhs.lower; + upper ^= rhs.upper; + return *this; +} + +bool uhugeint_t::operator!() const { + return *this == 0; +} + +uhugeint_t::operator bool() const { + return *this != 0; +} + +template +static T NarrowCast(const uhugeint_t &input) { + // NarrowCast is supposed to truncate (take lower) + return static_cast(input.lower); +} + +uhugeint_t::operator uint8_t() const { + return NarrowCast(*this); +} +uhugeint_t::operator uint16_t() const { + return NarrowCast(*this); +} +uhugeint_t::operator uint32_t() const { + return NarrowCast(*this); +} +uhugeint_t::operator uint64_t() const { + return NarrowCast(*this); +} +uhugeint_t::operator int8_t() const { + return NarrowCast(*this); +} +uhugeint_t::operator int16_t() const { + return NarrowCast(*this); +} +uhugeint_t::operator int32_t() const { + return NarrowCast(*this); +} +uhugeint_t::operator int64_t() const { + return NarrowCast(*this); +} +uhugeint_t::operator hugeint_t() const { + return {static_cast(this->upper), this->lower}; +} + +string uhugeint_t::ToString() const { + return Uhugeint::ToString(*this); +} + +} // namespace duckdb diff --git a/src/common/types/validity_mask.cpp b/src/common/types/validity_mask.cpp index 5ec42b77f1df..3faa811e44c5 100644 --- a/src/common/types/validity_mask.cpp +++ b/src/common/types/validity_mask.cpp @@ -53,6 +53,7 @@ string ValidityMask::ToString(idx_t count) const { void ValidityMask::Resize(idx_t old_size, idx_t new_size) { D_ASSERT(new_size >= old_size); + target_count = new_size; if (validity_mask) { auto new_size_count = EntryCount(new_size); auto old_size_count = EntryCount(old_size); @@ -66,11 +67,13 @@ void ValidityMask::Resize(idx_t old_size, idx_t new_size) { } validity_data = std::move(new_validity_data); validity_mask = validity_data->owned_data.get(); - } else { - Initialize(new_size); } } +idx_t ValidityMask::TargetCount() { + return target_count; +} + void ValidityMask::Slice(const ValidityMask &other, idx_t source_offset, idx_t count) { if (other.AllValid()) { validity_mask = nullptr; @@ -91,6 +94,7 @@ bool ValidityMask::IsAligned(idx_t count) { } void ValidityMask::SliceInPlace(const ValidityMask &other, idx_t target_offset, idx_t source_offset, idx_t count) { + EnsureWritable(); if (IsAligned(source_offset) && IsAligned(target_offset)) { auto target_validity = GetData(); auto source_validity = other.GetData(); diff --git a/src/common/types/value.cpp b/src/common/types/value.cpp index 22a75098ea57..377cfc93cb5c 100644 --- a/src/common/types/value.cpp +++ b/src/common/types/value.cpp @@ -7,6 +7,7 @@ #include "duckdb/common/operator/cast_operators.hpp" #include "duckdb/common/operator/comparison_operators.hpp" +#include "duckdb/common/uhugeint.hpp" #include "utf8proc_wrapper.hpp" #include "duckdb/common/operator/numeric_binary_operators.hpp" #include "duckdb/common/printer.hpp" @@ -155,7 +156,7 @@ Value::Value(string_t val) : Value(val.GetString()) { Value::Value(string val) : type_(LogicalType::VARCHAR), is_null(false) { if (!Value::StringIsValid(val.c_str(), val.size())) { - throw Exception(ErrorManager::InvalidUnicodeError(val, "value construction")); + throw ErrorManager::InvalidUnicodeError(val, "value construction"); } value_info_ = make_shared(std::move(val)); } @@ -206,6 +207,8 @@ Value Value::MinimumValue(const LogicalType &type) { return Value::BIGINT(NumericLimits::Minimum()); case LogicalTypeId::HUGEINT: return Value::HUGEINT(NumericLimits::Minimum()); + case LogicalTypeId::UHUGEINT: + return Value::UHUGEINT(NumericLimits::Minimum()); case LogicalTypeId::UUID: return Value::UUID(NumericLimits::Minimum()); case LogicalTypeId::UTINYINT: @@ -230,7 +233,8 @@ Value Value::MinimumValue(const LogicalType &type) { case LogicalTypeId::TIMESTAMP_NS: return Value::TIMESTAMPNS(timestamp_t(NumericLimits::Minimum())); case LogicalTypeId::TIME_TZ: - return Value::TIMETZ(dtime_tz_t(dtime_t(0), dtime_tz_t::MIN_OFFSET)); + // "00:00:00+1559" from the PG docs, but actually 00:00:00+15:59:59 + return Value::TIMETZ(dtime_tz_t(dtime_t(0), dtime_tz_t::MAX_OFFSET)); case LogicalTypeId::TIMESTAMP_TZ: return Value::TIMESTAMPTZ(Timestamp::FromDatetime( Date::FromDate(Timestamp::MIN_YEAR, Timestamp::MIN_MONTH, Timestamp::MIN_DAY), dtime_t(0))); @@ -276,6 +280,8 @@ Value Value::MaximumValue(const LogicalType &type) { return Value::BIGINT(NumericLimits::Maximum()); case LogicalTypeId::HUGEINT: return Value::HUGEINT(NumericLimits::Maximum()); + case LogicalTypeId::UHUGEINT: + return Value::UHUGEINT(NumericLimits::Maximum()); case LogicalTypeId::UUID: return Value::UUID(NumericLimits::Maximum()); case LogicalTypeId::UTINYINT: @@ -289,7 +295,8 @@ Value Value::MaximumValue(const LogicalType &type) { case LogicalTypeId::DATE: return Value::DATE(Date::FromDate(Date::DATE_MAX_YEAR, Date::DATE_MAX_MONTH, Date::DATE_MAX_DAY)); case LogicalTypeId::TIME: - return Value::TIME(dtime_t(Interval::SECS_PER_DAY * Interval::MICROS_PER_SEC - 1)); + // 24:00:00 according to PG + return Value::TIME(dtime_t(Interval::MICROS_PER_DAY)); case LogicalTypeId::TIMESTAMP: return Value::TIMESTAMP(timestamp_t(NumericLimits::Maximum() - 1)); case LogicalTypeId::TIMESTAMP_MS: @@ -299,8 +306,8 @@ Value Value::MaximumValue(const LogicalType &type) { case LogicalTypeId::TIMESTAMP_SEC: return MaximumValue(LogicalType::TIMESTAMP).DefaultCastAs(LogicalType::TIMESTAMP_S); case LogicalTypeId::TIME_TZ: - return Value::TIMETZ( - dtime_tz_t(dtime_t(Interval::SECS_PER_DAY * Interval::MICROS_PER_SEC - 1), dtime_tz_t::MAX_OFFSET)); + // "24:00:00-1559" from the PG docs but actually "24:00:00-15:59:59" + return Value::TIMETZ(dtime_tz_t(dtime_t(Interval::MICROS_PER_DAY), dtime_tz_t::MIN_OFFSET)); case LogicalTypeId::TIMESTAMP_TZ: return MaximumValue(LogicalType::TIMESTAMP); case LogicalTypeId::FLOAT: @@ -418,6 +425,13 @@ Value Value::HUGEINT(hugeint_t value) { return result; } +Value Value::UHUGEINT(uhugeint_t value) { + Value result(LogicalType::UHUGEINT); + result.value_.uhugeint = value; + result.is_null = false; + return result; +} + Value Value::UUID(hugeint_t value) { Value result(LogicalType::UUID); result.value_.hugeint = value; @@ -644,38 +658,54 @@ Value Value::TIMESTAMP(int32_t year, int32_t month, int32_t day, int32_t hour, i return val; } -Value Value::STRUCT(child_list_t values) { +Value Value::STRUCT(const LogicalType &type, vector struct_values) { Value result; + auto child_types = StructType::GetChildTypes(type); + for (size_t i = 0; i < struct_values.size(); i++) { + struct_values[i] = struct_values[i].DefaultCastAs(child_types[i].second); + } + result.value_info_ = make_shared(std::move(struct_values)); + result.type_ = type; + result.is_null = false; + return result; +} +Value Value::STRUCT(child_list_t values) { child_list_t child_types; vector struct_values; for (auto &child : values) { child_types.push_back(make_pair(std::move(child.first), child.second.type())); struct_values.push_back(std::move(child.second)); } - result.value_info_ = make_shared(std::move(struct_values)); - result.type_ = LogicalType::STRUCT(child_types); - result.is_null = false; - return result; + return Value::STRUCT(LogicalType::STRUCT(child_types), std::move(struct_values)); } -Value Value::MAP(const LogicalType &child_type, vector values) { - Value result; - - result.type_ = LogicalType::MAP(child_type); - result.is_null = false; +Value Value::MAP(const LogicalType &child_type, vector values) { // NOLINT + vector map_keys; + vector map_values; for (auto &val : values) { D_ASSERT(val.type().InternalType() == PhysicalType::STRUCT); auto &children = StructValue::GetChildren(val); - - // Ensure that the field containing the keys is called 'key' - // and that the field containing the values is called 'value' - // this is required to make equality checks work D_ASSERT(children.size() == 2); + map_keys.push_back(children[0]); + map_values.push_back(children[1]); + } + auto &key_type = StructType::GetChildType(child_type, 0); + auto &value_type = StructType::GetChildType(child_type, 1); + return Value::MAP(key_type, value_type, std::move(map_keys), std::move(map_values)); +} + +Value Value::MAP(const LogicalType &key_type, const LogicalType &value_type, vector keys, vector values) { + D_ASSERT(keys.size() == values.size()); + Value result; + + result.type_ = LogicalType::MAP(key_type, value_type); + result.is_null = false; + for (idx_t i = 0; i < keys.size(); i++) { child_list_t new_children; new_children.reserve(2); - new_children.push_back(std::make_pair("key", children[0])); - new_children.push_back(std::make_pair("value", children[1])); - val = Value::STRUCT(std::move(new_children)); + new_children.push_back(std::make_pair("key", std::move(keys[i]))); + new_children.push_back(std::make_pair("value", std::move(values[i]))); + values[i] = Value::STRUCT(std::move(new_children)); } result.value_info_ = make_shared(std::move(values)); return result; @@ -741,6 +771,41 @@ Value Value::EMPTYLIST(const LogicalType &child_type) { return result; } +Value Value::ARRAY(vector values) { + if (values.empty()) { + throw InternalException("Value::ARRAY without providing a child-type requires a non-empty list of values. Use " + "Value::ARRAY(child_type, list) instead."); + } +#ifdef DEBUG + for (idx_t i = 1; i < values.size(); i++) { + D_ASSERT(values[i].type() == values[0].type()); + } +#endif + Value result; + result.type_ = LogicalType::ARRAY(values[0].type(), values.size()); + result.value_info_ = make_shared(std::move(values)); + result.is_null = false; + return result; +} + +Value Value::ARRAY(const LogicalType &child_type, vector values) { + if (values.empty()) { + return Value::EMPTYARRAY(child_type, 0); + } + for (auto &val : values) { + val = val.DefaultCastAs(child_type); + } + return Value::ARRAY(std::move(values)); +} + +Value Value::EMPTYARRAY(const LogicalType &child_type, uint32_t size) { + Value result; + result.type_ = LogicalType::ARRAY(child_type, size); + result.value_info_ = make_shared(); + result.is_null = false; + return result; +} + Value Value::BLOB(const_data_ptr_t data, idx_t len) { Value result(LogicalType::BLOB); result.is_null = false; @@ -855,6 +920,11 @@ Value Value::CreateValue(hugeint_t value) { return Value::HUGEINT(value); } +template <> +Value Value::CreateValue(uhugeint_t value) { + return Value::UHUGEINT(value); +} + template <> Value Value::CreateValue(date_t value) { return Value::DATE(value); @@ -952,6 +1022,8 @@ T Value::GetValueInternal() const { case LogicalTypeId::HUGEINT: case LogicalTypeId::UUID: return Cast::Operation(value_.hugeint); + case LogicalTypeId::UHUGEINT: + return Cast::Operation(value_.uhugeint); case LogicalTypeId::DATE: return Cast::Operation(value_.date); case LogicalTypeId::TIME: @@ -1056,6 +1128,10 @@ uint64_t Value::GetValue() const { return GetValueInternal(); } template <> +uhugeint_t Value::GetValue() const { + return GetValueInternal(); +} +template <> string Value::GetValue() const { return ToString(); } @@ -1125,6 +1201,8 @@ Value Value::Numeric(const LogicalType &type, int64_t value) { return Value::UBIGINT(value); case LogicalTypeId::HUGEINT: return Value::HUGEINT(value); + case LogicalTypeId::UHUGEINT: + return Value::UHUGEINT(value); case LogicalTypeId::DECIMAL: return Value::DECIMAL(value, DecimalType::GetWidth(type), DecimalType::GetScale(type)); case LogicalTypeId::FLOAT: @@ -1182,6 +1260,21 @@ Value Value::Numeric(const LogicalType &type, hugeint_t value) { } } +Value Value::Numeric(const LogicalType &type, uhugeint_t value) { +#ifdef DEBUG + // perform a throwing cast to verify that the type fits + Value::UHUGEINT(value).DefaultCastAs(type); +#endif + switch (type.id()) { + case LogicalTypeId::UHUGEINT: + return Value::UHUGEINT(value); + case LogicalTypeId::UBIGINT: + return Value::UBIGINT(Uhugeint::Cast(value)); + default: + return Value::Numeric(type, Uhugeint::Cast(value)); + } +} + //===--------------------------------------------------------------------===// // GetValueUnsafe //===--------------------------------------------------------------------===// @@ -1245,6 +1338,12 @@ uint64_t Value::GetValueUnsafe() const { return value_.ubigint; } +template <> +uhugeint_t Value::GetValueUnsafe() const { + D_ASSERT(type_.InternalType() == PhysicalType::UINT128); + return value_.uhugeint; +} + template <> string Value::GetValueUnsafe() const { return StringValue::Get(*this); @@ -1279,6 +1378,12 @@ dtime_t Value::GetValueUnsafe() const { return value_.time; } +template <> +dtime_tz_t Value::GetValueUnsafe() const { + D_ASSERT(type_.InternalType() == PhysicalType::INT64); + return value_.timetz; +} + template <> timestamp_t Value::GetValueUnsafe() const { D_ASSERT(type_.InternalType() == PhysicalType::INT64); @@ -1334,18 +1439,23 @@ string Value::ToSQLString() const { case LogicalTypeId::ENUM: return "'" + StringUtil::Replace(ToString(), "'", "''") + "'"; case LogicalTypeId::STRUCT: { - string ret = "{"; + bool is_unnamed = StructType::IsUnnamed(type_); + string ret = is_unnamed ? "(" : "{"; auto &child_types = StructType::GetChildTypes(type_); auto &struct_values = StructValue::GetChildren(*this); - for (size_t i = 0; i < struct_values.size(); i++) { + for (idx_t i = 0; i < struct_values.size(); i++) { auto &name = child_types[i].first; auto &child = struct_values[i]; - ret += "'" + name + "': " + child.ToSQLString(); + if (is_unnamed) { + ret += child.ToSQLString(); + } else { + ret += "'" + name + "': " + child.ToSQLString(); + } if (i < struct_values.size() - 1) { ret += ", "; } } - ret += "}"; + ret += is_unnamed ? ")" : "}"; return ret; } case LogicalTypeId::FLOAT: @@ -1367,7 +1477,7 @@ string Value::ToSQLString() const { case LogicalTypeId::LIST: { string ret = "["; auto &list_values = ListValue::GetChildren(*this); - for (size_t i = 0; i < list_values.size(); i++) { + for (idx_t i = 0; i < list_values.size(); i++) { auto &child = list_values[i]; ret += child.ToSQLString(); if (i < list_values.size() - 1) { @@ -1377,6 +1487,19 @@ string Value::ToSQLString() const { ret += "]"; return ret; } + case LogicalTypeId::ARRAY: { + string ret = "["; + auto &array_values = ArrayValue::GetChildren(*this); + for (idx_t i = 0; i < array_values.size(); i++) { + auto &child = array_values[i]; + ret += child.ToSQLString(); + if (i < array_values.size() - 1) { + ret += ", "; + } + } + ret += "]"; + return ret; + } default: return ToString(); } @@ -1425,6 +1548,10 @@ uint64_t UBigIntValue::Get(const Value &value) { return value.GetValueUnsafe(); } +uhugeint_t UhugeIntValue::Get(const Value &value) { + return value.GetValueUnsafe(); +} + float FloatValue::Get(const Value &value) { return value.GetValueUnsafe(); } @@ -1476,6 +1603,15 @@ const vector &ListValue::GetChildren(const Value &value) { return value.value_info_->Get().GetValues(); } +const vector &ArrayValue::GetChildren(const Value &value) { + if (value.is_null) { + throw InternalException("Calling ArrayValue::GetChildren on a NULL value"); + } + D_ASSERT(value.type().InternalType() == PhysicalType::ARRAY); + D_ASSERT(value.value_info_); + return value.value_info_->Get().GetValues(); +} + const Value &UnionValue::GetValue(const Value &value) { D_ASSERT(value.type().id() == LogicalTypeId::UNION); auto &children = StructValue::GetChildren(value); @@ -1516,6 +1652,8 @@ hugeint_t IntegralValue::Get(const Value &value) { return UIntegerValue::Get(value); case PhysicalType::UINT64: return UBigIntValue::Get(value); + case PhysicalType::UINT128: + return static_cast(UhugeIntValue::Get(value)); default: throw InternalException("Invalid internal type \"%s\" for IntegralValue::Get", value.type().ToString()); } @@ -1687,6 +1825,9 @@ void Value::Serialize(Serializer &serializer) const { case PhysicalType::INT128: serializer.WriteProperty(102, "value", value_.hugeint); break; + case PhysicalType::UINT128: + serializer.WriteProperty(102, "value", value_.uhugeint); + break; case PhysicalType::FLOAT: serializer.WriteProperty(102, "value", value_.float_); break; @@ -1716,6 +1857,12 @@ void Value::Serialize(Serializer &serializer) const { serializer.WriteProperty(100, "children", children); }); } break; + case PhysicalType::ARRAY: { + serializer.WriteObject(102, "value", [&](Serializer &serializer) { + auto &children = ArrayValue::GetChildren(*this); + serializer.WriteProperty(100, "children", children); + }); + } break; default: throw NotImplementedException("Unimplemented type for Serialize"); } @@ -1760,6 +1907,9 @@ Value Value::Deserialize(Deserializer &deserializer) { case PhysicalType::INT64: new_value.value_.bigint = deserializer.ReadProperty(102, "value"); break; + case PhysicalType::UINT128: + new_value.value_.uhugeint = deserializer.ReadProperty(102, "value"); + break; case PhysicalType::INT128: new_value.value_.hugeint = deserializer.ReadProperty(102, "value"); break; @@ -1792,6 +1942,12 @@ Value Value::Deserialize(Deserializer &deserializer) { new_value.value_info_ = make_shared(children); }); } break; + case PhysicalType::ARRAY: { + deserializer.ReadObject(102, "value", [&](Deserializer &obj) { + auto children = obj.ReadProperty>(100, "children"); + new_value.value_info_ = make_shared(children); + }); + } break; default: throw NotImplementedException("Unimplemented type for Deserialize"); } diff --git a/src/common/types/vector.cpp b/src/common/types/vector.cpp index 03af4fb904cf..ec3139c697ea 100644 --- a/src/common/types/vector.cpp +++ b/src/common/types/vector.cpp @@ -9,6 +9,7 @@ #include "duckdb/common/types/null_value.hpp" #include "duckdb/common/types/sel_cache.hpp" #include "duckdb/common/types/vector_cache.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/storage/buffer/buffer_handle.hpp" #include "duckdb/function/scalar/nested_functions.hpp" @@ -27,7 +28,7 @@ namespace duckdb { Vector::Vector(LogicalType type_p, bool create_data, bool zero_data, idx_t capacity) - : vector_type(VectorType::FLAT_VECTOR), type(std::move(type_p)), data(nullptr) { + : vector_type(VectorType::FLAT_VECTOR), type(std::move(type_p)), data(nullptr), validity(capacity) { if (create_data) { Initialize(zero_data, capacity); } @@ -91,6 +92,10 @@ void Vector::Reference(const Value &value) { auxiliary = shared_ptr(list_buffer.release()); data = buffer->GetData(); SetValue(0, value); + } else if (internal_type == PhysicalType::ARRAY) { + auto array_buffer = make_uniq(value.type()); + auxiliary = shared_ptr(array_buffer.release()); + SetValue(0, value); } else { auxiliary.reset(); data = buffer->GetData(); @@ -113,6 +118,21 @@ void Vector::ReferenceAndSetType(const Vector &other) { void Vector::Reinterpret(const Vector &other) { vector_type = other.vector_type; +#ifdef DEBUG + auto &this_type = GetType(); + auto &other_type = other.GetType(); + + auto type_is_same = other_type == this_type; + bool this_is_nested = this_type.IsNested(); + bool other_is_nested = other_type.IsNested(); + + bool not_nested = this_is_nested == false && other_is_nested == false; + bool type_size_equal = GetTypeIdSize(this_type.InternalType()) == GetTypeIdSize(other_type.InternalType()); + //! Either the types are completely identical, or they are not nested and their physical type size is the same + //! The reason nested types are not allowed is because copying the auxiliary buffer does not happen recursively + //! e.g DOUBLE[] to BIGINT[], the type of the LIST would say BIGINT but the child Vector says DOUBLE + D_ASSERT((not_nested && type_size_equal) || type_is_same); +#endif AssignSharedPointer(buffer, other.buffer); AssignSharedPointer(auxiliary, other.auxiliary); data = other.data; @@ -123,7 +143,7 @@ void Vector::ResetFromCache(const VectorCache &cache) { cache.ResetFromCache(*this); } -void Vector::Slice(Vector &other, idx_t offset, idx_t end) { +void Vector::Slice(const Vector &other, idx_t offset, idx_t end) { if (other.GetVectorType() == VectorType::CONSTANT_VECTOR) { Reference(other); return; @@ -141,6 +161,14 @@ void Vector::Slice(Vector &other, idx_t offset, idx_t end) { } new_vector.validity.Slice(other.validity, offset, end - offset); Reference(new_vector); + } else if (internal_type == PhysicalType::ARRAY) { + Vector new_vector(GetType()); + auto &child_vec = ArrayVector::GetEntry(new_vector); + auto &other_child_vec = ArrayVector::GetEntry(other); + D_ASSERT(ArrayType::GetSize(GetType()) == ArrayType::GetSize(other.GetType())); + child_vec.Slice(other_child_vec, offset, end); + new_vector.validity.Slice(other.validity, offset, end - offset); + Reference(new_vector); } else { Reference(other); if (offset > 0) { @@ -150,7 +178,7 @@ void Vector::Slice(Vector &other, idx_t offset, idx_t end) { } } -void Vector::Slice(Vector &other, const SelectionVector &sel, idx_t count) { +void Vector::Slice(const Vector &other, const SelectionVector &sel, idx_t count) { Reference(other); Slice(sel, count); } @@ -223,6 +251,9 @@ void Vector::Initialize(bool zero_data, idx_t capacity) { } else if (internal_type == PhysicalType::LIST) { auto list_buffer = make_uniq(type, capacity); auxiliary = shared_ptr(list_buffer.release()); + } else if (internal_type == PhysicalType::ARRAY) { + auto array_buffer = make_uniq(type, capacity); + auxiliary = shared_ptr(array_buffer.release()); } auto type_size = GetTypeIdSize(internal_type); if (type_size > 0) { @@ -232,8 +263,9 @@ void Vector::Initialize(bool zero_data, idx_t capacity) { memset(data, 0, capacity * type_size); } } - if (capacity > STANDARD_VECTOR_SIZE) { - validity.Resize(STANDARD_VECTOR_SIZE, capacity); + + if (capacity > validity.TargetCount()) { + validity.Resize(validity.TargetCount(), capacity); } } @@ -243,12 +275,15 @@ struct DataArrays { optional_ptr buffer; idx_t type_size; bool is_nested; - DataArrays(Vector &vec, data_ptr_t data, optional_ptr buffer, idx_t type_size, bool is_nested) - : vec(vec), data(data), buffer(buffer), type_size(type_size), is_nested(is_nested) { + idx_t nested_multiplier; + DataArrays(Vector &vec, data_ptr_t data, optional_ptr buffer, idx_t type_size, bool is_nested, + idx_t nested_multiplier = 1) + : vec(vec), data(data), buffer(buffer), type_size(type_size), is_nested(is_nested), + nested_multiplier(nested_multiplier) { } }; -void FindChildren(vector &to_resize, VectorBuffer &auxiliary) { +void FindChildren(vector &to_resize, VectorBuffer &auxiliary, idx_t current_multiplier) { if (auxiliary.GetBufferType() == VectorBufferType::LIST_BUFFER) { auto &buffer = auxiliary.Cast(); auto &child = buffer.GetChild(); @@ -258,7 +293,7 @@ void FindChildren(vector &to_resize, VectorBuffer &auxiliary) { DataArrays arrays(child, data, child.GetBuffer().get(), GetTypeIdSize(child.GetType().InternalType()), true); to_resize.emplace_back(arrays); - FindChildren(to_resize, *child.GetAuxiliary()); + FindChildren(to_resize, *child.GetAuxiliary(), current_multiplier); } else { DataArrays arrays(child, data, child.GetBuffer().get(), GetTypeIdSize(child.GetType().InternalType()), false); @@ -274,13 +309,33 @@ void FindChildren(vector &to_resize, VectorBuffer &auxiliary) { DataArrays arrays(*child, data, child->GetBuffer().get(), GetTypeIdSize(child->GetType().InternalType()), true); to_resize.emplace_back(arrays); - FindChildren(to_resize, *child->GetAuxiliary()); + FindChildren(to_resize, *child->GetAuxiliary(), current_multiplier); } else { DataArrays arrays(*child, data, child->GetBuffer().get(), GetTypeIdSize(child->GetType().InternalType()), false); to_resize.emplace_back(arrays); } } + } else if (auxiliary.GetBufferType() == VectorBufferType::ARRAY_BUFFER) { + auto &buffer = auxiliary.Cast(); + auto array_size = buffer.GetArraySize(); + auto &child = buffer.GetChild(); + auto data = child.GetData(); + if (!data) { + //! Nested type + DataArrays arrays(child, data, child.GetBuffer().get(), GetTypeIdSize(child.GetType().InternalType()), true, + current_multiplier); + to_resize.emplace_back(arrays); + + // The child vectors of ArrayTypes always have to be (size * array_size), so we need to multiply the + // multiplier by the array size + auto new_multiplier = current_multiplier * array_size; + FindChildren(to_resize, *child.GetAuxiliary(), new_multiplier); + } else { + DataArrays arrays(child, data, child.GetBuffer().get(), GetTypeIdSize(child.GetType().InternalType()), + false, current_multiplier); + to_resize.emplace_back(arrays); + } } } void Vector::Resize(idx_t cur_size, idx_t new_size) { @@ -292,19 +347,25 @@ void Vector::Resize(idx_t cur_size, idx_t new_size) { //! this is a nested structure DataArrays arrays(*this, data, buffer.get(), GetTypeIdSize(GetType().InternalType()), true); to_resize.emplace_back(arrays); - FindChildren(to_resize, *auxiliary); + + // The child vectors of ArrayTypes always have to be (size * array_size), so we need to multiply the + // resize amount by the array size recursively for every nested array. + auto start_multiplier = GetType().id() == LogicalTypeId::ARRAY ? ArrayType::GetSize(GetType()) : 1; + FindChildren(to_resize, *auxiliary, start_multiplier); } else { DataArrays arrays(*this, data, buffer.get(), GetTypeIdSize(GetType().InternalType()), false); to_resize.emplace_back(arrays); } for (auto &data_to_resize : to_resize) { if (!data_to_resize.is_nested) { - auto new_data = make_unsafe_uniq_array(new_size * data_to_resize.type_size); - memcpy(new_data.get(), data_to_resize.data, cur_size * data_to_resize.type_size * sizeof(data_t)); + auto new_data = + make_unsafe_uniq_array(new_size * data_to_resize.type_size * data_to_resize.nested_multiplier); + memcpy(new_data.get(), data_to_resize.data, + cur_size * data_to_resize.type_size * data_to_resize.nested_multiplier * sizeof(data_t)); data_to_resize.buffer->SetData(std::move(new_data)); data_to_resize.vec.data = data_to_resize.buffer->GetData(); } - data_to_resize.vec.validity.Resize(cur_size, new_size); + data_to_resize.vec.validity.Resize(cur_size, new_size * data_to_resize.nested_multiplier); } } @@ -323,13 +384,14 @@ void Vector::SetValue(idx_t index, const Value &val) { validity.EnsureWritable(); validity.Set(index, !val.IsNull()); - if (val.IsNull() && GetType().InternalType() != PhysicalType::STRUCT) { - // for structs we still need to set the child-entries to NULL + auto physical_type = GetType().InternalType(); + if (val.IsNull() && physical_type != PhysicalType::STRUCT && physical_type != PhysicalType::ARRAY) { + // for structs and arrays we still need to set the child-entries to NULL // so we do not bail out yet return; } - switch (GetType().InternalType()) { + switch (physical_type) { case PhysicalType::BOOL: reinterpret_cast(data)[index] = val.GetValueUnsafe(); break; @@ -360,6 +422,9 @@ void Vector::SetValue(idx_t index, const Value &val) { case PhysicalType::UINT64: reinterpret_cast(data)[index] = val.GetValueUnsafe(); break; + case PhysicalType::UINT128: + reinterpret_cast(data)[index] = val.GetValueUnsafe(); + break; case PhysicalType::FLOAT: reinterpret_cast(data)[index] = val.GetValueUnsafe(); break; @@ -406,6 +471,21 @@ void Vector::SetValue(idx_t index, const Value &val) { entry.offset = offset; break; } + case PhysicalType::ARRAY: { + auto array_size = ArrayType::GetSize(GetType()); + auto &child = ArrayVector::GetEntry(*this); + if (val.IsNull()) { + for (idx_t i = 0; i < array_size; i++) { + child.SetValue(index * array_size + i, Value()); + } + } else { + auto &val_children = ArrayValue::GetChildren(val); + for (idx_t i = 0; i < array_size; i++) { + child.SetValue(index * array_size + i, val_children[i]); + } + } + break; + } default: throw InternalException("Unimplemented type for Vector::SetValue"); } @@ -499,6 +579,8 @@ Value Vector::GetValueInternal(const Vector &v_p, idx_t index_p) { return Value::TIMESTAMPTZ(reinterpret_cast(data)[index]); case LogicalTypeId::HUGEINT: return Value::HUGEINT(reinterpret_cast(data)[index]); + case LogicalTypeId::UHUGEINT: + return Value::UHUGEINT(reinterpret_cast(data)[index]); case LogicalTypeId::UUID: return Value::UUID(reinterpret_cast(data)[index]); case LogicalTypeId::DECIMAL: { @@ -585,6 +667,16 @@ Value Vector::GetValueInternal(const Vector &v_p, idx_t index_p) { } return Value::LIST(ListType::GetChildType(type), std::move(children)); } + case LogicalTypeId::ARRAY: { + auto stride = ArrayType::GetSize(type); + auto offset = index * stride; + auto &child_vec = ArrayVector::GetEntry(*vector); + duckdb::vector children; + for (idx_t i = offset; i < offset + stride; i++) { + children.push_back(child_vec.GetValue(i)); + } + return Value::ARRAY(std::move(children)); + } default: throw InternalException("Unimplemented type for value access"); } @@ -777,6 +869,9 @@ void Vector::Flatten(idx_t count) { case PhysicalType::INT128: TemplatedFlattenConstantVector(data, old_data, count); break; + case PhysicalType::UINT128: + TemplatedFlattenConstantVector(data, old_data, count); + break; case PhysicalType::FLOAT: TemplatedFlattenConstantVector(data, old_data, count); break; @@ -793,6 +888,47 @@ void Vector::Flatten(idx_t count) { TemplatedFlattenConstantVector(data, old_data, count); break; } + case PhysicalType::ARRAY: { + auto &child = ArrayVector::GetEntry(*this); + auto array_size = ArrayType::GetSize(GetType()); + + auto flattened_buffer = make_uniq(GetType(), count); + auto &new_child = flattened_buffer->GetChild(); + + // Make sure to initialize a validity mask for the new child vector with the correct size + if (!child.validity.AllValid()) { + new_child.validity.Initialize(array_size * count); + } + + // Now we need to "unpack" the child vector. + // Basically, do this: + // + // | a1 | | 1 | | a1 | | 1 | + // | 2 | | a2 | | 2 | + // => .. | 1 | + // | 2 | + // ... + + child.Flatten(count * array_size); + + // Create a selection vector + SelectionVector sel(count * array_size); + for (idx_t array_idx = 0; array_idx < count; array_idx++) { + for (idx_t elem_idx = 0; elem_idx < array_size; elem_idx++) { + auto position = array_idx * array_size + elem_idx; + // Broadcast the validity + if (FlatVector::IsNull(child, elem_idx)) { + FlatVector::SetNull(new_child, position, true); + } + sel.set_index(position, elem_idx); + } + } + + // Copy over the data to the new buffer + VectorOperations::Copy(child, new_child, sel, count * array_size, 0, 0); + auxiliary = shared_ptr(flattened_buffer.release()); + + } break; case PhysicalType::STRUCT: { auto normalified_buffer = make_uniq(); @@ -894,6 +1030,7 @@ void Vector::ToUnifiedFormat(idx_t count, UnifiedVectorFormat &format) { void Vector::RecursiveToUnifiedFormat(Vector &input, idx_t count, RecursiveUnifiedVectorFormat &data) { input.ToUnifiedFormat(count, data.unified); + data.logical_type = input.GetType(); if (input.GetType().InternalType() == PhysicalType::LIST) { auto &child = ListVector::GetEntry(input); @@ -901,6 +1038,13 @@ void Vector::RecursiveToUnifiedFormat(Vector &input, idx_t count, RecursiveUnifi data.children.emplace_back(); Vector::RecursiveToUnifiedFormat(child, child_count, data.children.back()); + } else if (input.GetType().InternalType() == PhysicalType::ARRAY) { + auto &child = ArrayVector::GetEntry(input); + auto array_size = ArrayType::GetSize(input.GetType()); + auto child_count = count * array_size; + data.children.emplace_back(); + Vector::RecursiveToUnifiedFormat(child, child_count, data.children.back()); + } else if (input.GetType().InternalType() == PhysicalType::STRUCT) { auto &children = StructVector::GetEntries(input); for (idx_t i = 0; i < children.size(); i++) { @@ -933,6 +1077,7 @@ void Vector::Serialize(Serializer &serializer, idx_t count) { serializer.WriteProperty(100, "all_valid", all_valid); if (all_valid) { ValidityMask flat_mask(count); + flat_mask.Initialize(); for (idx_t i = 0; i < count; ++i) { auto row_idx = vdata.sel->get_index(i); flat_mask.Set(i, vdata.validity.RowIsValid(row_idx)); @@ -991,6 +1136,15 @@ void Vector::Serialize(Serializer &serializer, idx_t count) { serializer.WriteObject(106, "child", [&](Serializer &object) { child.Serialize(object, list_size); }); break; } + case PhysicalType::ARRAY: { + Flatten(count); + auto &child = ArrayVector::GetEntry(*this); + auto array_size = ArrayType::GetSize(type); + auto child_size = array_size * count; + serializer.WriteProperty(103, "array_size", array_size); + serializer.WriteObject(104, "child", [&](Serializer &object) { child.Serialize(object, child_size); }); + break; + } default: throw InternalException("Unimplemented variable width type for Vector::Serialize!"); } @@ -1057,6 +1211,14 @@ void Vector::Deserialize(Deserializer &deserializer, idx_t count) { }); break; } + case PhysicalType::ARRAY: { + auto array_size = deserializer.ReadProperty(103, "array_size"); + deserializer.ReadObject(104, "child", [&](Deserializer &obj) { + auto &child = ArrayVector::GetEntry(*this); + child.Deserialize(obj, array_size * count); + }); + break; + } default: throw InternalException("Unimplemented variable width type for Vector::Deserialize!"); } @@ -1065,11 +1227,12 @@ void Vector::Deserialize(Deserializer &deserializer, idx_t count) { void Vector::SetVectorType(VectorType vector_type_p) { this->vector_type = vector_type_p; - if (TypeIsConstantSize(GetType().InternalType()) && + auto physical_type = GetType().InternalType(); + if (TypeIsConstantSize(physical_type) && (GetVectorType() == VectorType::CONSTANT_VECTOR || GetVectorType() == VectorType::FLAT_VECTOR)) { auxiliary.reset(); } - if (vector_type == VectorType::CONSTANT_VECTOR && GetType().InternalType() == PhysicalType::STRUCT) { + if (vector_type == VectorType::CONSTANT_VECTOR && physical_type == PhysicalType::STRUCT) { auto &entries = StructVector::GetEntries(*this); for (auto &entry : entries) { entry->SetVectorType(vector_type); @@ -1204,6 +1367,53 @@ void Vector::Verify(Vector &vector_p, const SelectionVector &sel_p, idx_t count) } } + if (type.InternalType() == PhysicalType::ARRAY) { + // Arrays have the following invariants + // 1. if the array vector is a CONSTANT_VECTOR + // 1.1 The child vector is a FLAT_VECTOR with count = array_size + // 1.2 OR The child vector is a CONSTANT_VECTOR and must be NULL + // 1.3 OR The child vector is a CONSTANT_VECTOR and array_size = 1 + // 2. if the array vector is a FLAT_VECTOR, the child vector is a FLAT_VECTOR + // 2.2 the count of the child vector is array_size * (parent)count + + auto &child = ArrayVector::GetEntry(*vector); + auto array_size = ArrayType::GetSize(type); + + if (child.GetVectorType() == VectorType::CONSTANT_VECTOR) { + D_ASSERT(ConstantVector::IsNull(child)); + } else { + D_ASSERT(child.GetVectorType() == VectorType::FLAT_VECTOR); + } + + if (vtype == VectorType::CONSTANT_VECTOR) { + if (!ConstantVector::IsNull(*vector)) { + child.Verify(array_size); + } + } else if (vtype == VectorType::FLAT_VECTOR) { + // Flat vector case + auto &validity = FlatVector::Validity(*vector); + idx_t selected_child_count = 0; + for (idx_t i = 0; i < count; i++) { + auto oidx = sel->get_index(i); + if (validity.RowIsValid(oidx)) { + selected_child_count += array_size; + } + } + + SelectionVector child_sel(selected_child_count); + idx_t child_count = 0; + for (idx_t i = 0; i < count; i++) { + auto oidx = sel->get_index(i); + if (validity.RowIsValid(oidx)) { + for (idx_t j = 0; j < array_size; j++) { + child_sel.set_index(child_count++, oidx * array_size + j); + } + } + } + Vector::Verify(child, child_sel, child_count); + } + } + if (type.InternalType() == PhysicalType::STRUCT) { auto &child_types = StructType::GetChildTypes(type); D_ASSERT(!child_types.empty()); @@ -1318,11 +1528,24 @@ void Vector::Verify(idx_t count) { void FlatVector::SetNull(Vector &vector, idx_t idx, bool is_null) { D_ASSERT(vector.GetVectorType() == VectorType::FLAT_VECTOR); vector.validity.Set(idx, !is_null); - if (is_null && vector.GetType().InternalType() == PhysicalType::STRUCT) { - // set all child entries to null as well - auto &entries = StructVector::GetEntries(vector); - for (auto &entry : entries) { - FlatVector::SetNull(*entry, idx, is_null); + if (is_null) { + auto type = vector.GetType(); + auto internal_type = type.InternalType(); + if (internal_type == PhysicalType::STRUCT) { + // set all child entries to null as well + auto &entries = StructVector::GetEntries(vector); + for (auto &entry : entries) { + FlatVector::SetNull(*entry, idx, is_null); + } + } else if (internal_type == PhysicalType::ARRAY) { + // set the child element in the array to null as well + auto &child = ArrayVector::GetEntry(vector); + D_ASSERT(child.GetVectorType() == VectorType::FLAT_VECTOR); + auto array_size = ArrayType::GetSize(type); + auto child_offset = idx * array_size; + for (idx_t i = 0; i < array_size; i++) { + FlatVector::SetNull(child, child_offset + i, is_null); + } } } } @@ -1333,12 +1556,29 @@ void FlatVector::SetNull(Vector &vector, idx_t idx, bool is_null) { void ConstantVector::SetNull(Vector &vector, bool is_null) { D_ASSERT(vector.GetVectorType() == VectorType::CONSTANT_VECTOR); vector.validity.Set(0, !is_null); - if (is_null && vector.GetType().InternalType() == PhysicalType::STRUCT) { - // set all child entries to null as well - auto &entries = StructVector::GetEntries(vector); - for (auto &entry : entries) { - entry->SetVectorType(VectorType::CONSTANT_VECTOR); - ConstantVector::SetNull(*entry, is_null); + if (is_null) { + auto &type = vector.GetType(); + auto internal_type = type.InternalType(); + if (internal_type == PhysicalType::STRUCT) { + // set all child entries to null as well + auto &entries = StructVector::GetEntries(vector); + for (auto &entry : entries) { + entry->SetVectorType(VectorType::CONSTANT_VECTOR); + ConstantVector::SetNull(*entry, is_null); + } + } else if (internal_type == PhysicalType::ARRAY) { + auto &child = ArrayVector::GetEntry(vector); + D_ASSERT(child.GetVectorType() == VectorType::CONSTANT_VECTOR || + child.GetVectorType() == VectorType::FLAT_VECTOR); + auto array_size = ArrayType::GetSize(type); + if (child.GetVectorType() == VectorType::CONSTANT_VECTOR) { + D_ASSERT(array_size == 1); + ConstantVector::SetNull(child, is_null); + } else { + for (idx_t i = 0; i < array_size; i++) { + FlatVector::SetNull(child, i, is_null); + } + } } } } @@ -1386,6 +1626,35 @@ void ConstantVector::Reference(Vector &vector, Vector &source, idx_t position, i vector.SetVectorType(VectorType::CONSTANT_VECTOR); break; } + case PhysicalType::ARRAY: { + UnifiedVectorFormat vdata; + source.ToUnifiedFormat(count, vdata); + + if (!vdata.validity.RowIsValid(position)) { + // list is null: create null value + Value null_value(source_type); + vector.Reference(null_value); + break; + } + + // Reference the child vector + auto &target_child = ArrayVector::GetEntry(vector); + auto &source_child = ArrayVector::GetEntry(source); + target_child.Reference(source_child); + + // Only take the element at the given position + auto array_size = ArrayType::GetSize(source_type); + SelectionVector sel(array_size); + for (idx_t i = 0; i < array_size; i++) { + sel.set_index(i, array_size * position + i); + } + target_child.Slice(sel, array_size); + target_child.Flatten(array_size); // since its constant we only have to flatten this much + + vector.SetVectorType(VectorType::CONSTANT_VECTOR); + vector.validity.Set(0, true); + break; + } case PhysicalType::STRUCT: { UnifiedVectorFormat vdata; source.ToUnifiedFormat(count, vdata); @@ -1759,6 +2028,7 @@ void ListVector::SetListSize(Vector &vec, idx_t size) { if (vec.GetVectorType() == VectorType::DICTIONARY_VECTOR) { auto &child = DictionaryVector::Child(vec); ListVector::SetListSize(child, size); + return; } vec.auxiliary->Cast().SetSize(size); } @@ -2048,4 +2318,35 @@ UnionInvalidReason UnionVector::CheckUnionValidity(Vector &vector_p, idx_t count return UnionInvalidReason::VALID; } +//===--------------------------------------------------------------------===// +// ArrayVector +//===--------------------------------------------------------------------===// +const Vector &ArrayVector::GetEntry(const Vector &vector) { + D_ASSERT(vector.GetType().id() == LogicalTypeId::ARRAY); + if (vector.GetVectorType() == VectorType::DICTIONARY_VECTOR) { + auto &child = DictionaryVector::Child(vector); + return ArrayVector::GetEntry(child); + } + D_ASSERT(vector.GetVectorType() == VectorType::FLAT_VECTOR || + vector.GetVectorType() == VectorType::CONSTANT_VECTOR); + D_ASSERT(vector.auxiliary); + D_ASSERT(vector.auxiliary->GetBufferType() == VectorBufferType::ARRAY_BUFFER); + return vector.auxiliary->Cast().GetChild(); +} + +Vector &ArrayVector::GetEntry(Vector &vector) { + const Vector &cvector = vector; + return const_cast(ArrayVector::GetEntry(cvector)); +} + +idx_t ArrayVector::GetTotalSize(const Vector &vector) { + D_ASSERT(vector.GetType().id() == LogicalTypeId::ARRAY); + D_ASSERT(vector.auxiliary); + if (vector.GetVectorType() == VectorType::DICTIONARY_VECTOR) { + auto &child = DictionaryVector::Child(vector); + return ArrayVector::GetTotalSize(child); + } + return vector.auxiliary->Cast().GetChildSize(); +} + } // namespace duckdb diff --git a/src/common/types/vector_buffer.cpp b/src/common/types/vector_buffer.cpp index fcd7066f9d94..7a7db5faeaf3 100644 --- a/src/common/types/vector_buffer.cpp +++ b/src/common/types/vector_buffer.cpp @@ -1,7 +1,6 @@ #include "duckdb/common/types/vector_buffer.hpp" #include "duckdb/common/assert.hpp" -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/common/types/vector.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/storage/buffer/buffer_handle.hpp" @@ -107,6 +106,35 @@ void VectorListBuffer::SetSize(idx_t new_size) { VectorListBuffer::~VectorListBuffer() { } +VectorArrayBuffer::VectorArrayBuffer(unique_ptr child_vector, idx_t array_size, idx_t initial_capacity) + : VectorBuffer(VectorBufferType::ARRAY_BUFFER), child(std::move(child_vector)), array_size(array_size), + size(initial_capacity) { + D_ASSERT(array_size != 0); +} + +VectorArrayBuffer::VectorArrayBuffer(const LogicalType &array, idx_t initial) + : VectorBuffer(VectorBufferType::ARRAY_BUFFER), + child(make_uniq(ArrayType::GetChildType(array), initial * ArrayType::GetSize(array))), + array_size(ArrayType::GetSize(array)), size(initial) { + // initialize the child array with (array_size * size) ^ + D_ASSERT(!ArrayType::IsAnySize(array)); +} + +VectorArrayBuffer::~VectorArrayBuffer() { +} + +Vector &VectorArrayBuffer::GetChild() { + return *child; +} + +idx_t VectorArrayBuffer::GetArraySize() { + return array_size; +} + +idx_t VectorArrayBuffer::GetChildSize() { + return size * array_size; +} + ManagedVectorBuffer::ManagedVectorBuffer(BufferHandle handle) : VectorBuffer(VectorBufferType::MANAGED_BUFFER), handle(std::move(handle)) { } diff --git a/src/common/types/vector_cache.cpp b/src/common/types/vector_cache.cpp index 12f8827e6aab..c0ea6fa7cc3e 100644 --- a/src/common/types/vector_cache.cpp +++ b/src/common/types/vector_cache.cpp @@ -21,6 +21,14 @@ class VectorCacheBuffer : public VectorBuffer { auxiliary = make_shared(std::move(child_vector)); break; } + case PhysicalType::ARRAY: { + auto &child_type = ArrayType::GetChildType(type); + auto array_size = ArrayType::GetSize(type); + child_caches.push_back(make_buffer(allocator, child_type, array_size * capacity)); + auto child_vector = make_uniq(child_type, true, false, array_size * capacity); + auxiliary = make_shared(std::move(child_vector), array_size, capacity); + break; + } case PhysicalType::STRUCT: { auto &child_types = StructType::GetChildTypes(type); for (auto &child_type : child_types) { @@ -41,7 +49,7 @@ class VectorCacheBuffer : public VectorBuffer { auto internal_type = type.InternalType(); result.vector_type = VectorType::FLAT_VECTOR; AssignSharedPointer(result.buffer, buffer); - result.validity.Reset(); + result.validity.Reset(capacity); switch (internal_type) { case PhysicalType::LIST: { result.data = owned_data.get(); @@ -58,6 +66,19 @@ class VectorCacheBuffer : public VectorBuffer { child_cache.ResetFromCache(list_child, child_caches[0]); break; } + case PhysicalType::ARRAY: { + // fixed size list does not have own data + result.data = nullptr; + // reinitialize the VectorArrayBuffer + // auxiliary->SetAuxiliaryData(nullptr); + AssignSharedPointer(result.auxiliary, auxiliary); + + // propagate through child + auto &child_cache = child_caches[0]->Cast(); + auto &array_child = result.auxiliary->Cast().GetChild(); + child_cache.ResetFromCache(array_child, child_caches[0]); + break; + } case PhysicalType::STRUCT: { // struct does not have data result.data = nullptr; diff --git a/src/common/value_operations/comparison_operations.cpp b/src/common/value_operations/comparison_operations.cpp index 3680ff81006d..b2d59b0b579a 100644 --- a/src/common/value_operations/comparison_operations.cpp +++ b/src/common/value_operations/comparison_operations.cpp @@ -1,5 +1,6 @@ #include "duckdb/common/exception.hpp" #include "duckdb/common/operator/comparison_operators.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/value_operations/value_operations.hpp" #include "duckdb/planner/expression/bound_comparison_expression.hpp" @@ -102,7 +103,7 @@ static bool TemplatedBooleanOperation(const Value &left, const Value &right) { Value left_copy = left; Value right_copy = right; - LogicalType comparison_type = BoundComparisonExpression::BindComparison(left_type, right_type); + auto comparison_type = LogicalType::ForceMaxLogicalType(left_type, right_type); if (!left_copy.DefaultTryCastAs(comparison_type) || !right_copy.DefaultTryCastAs(comparison_type)) { return false; } @@ -128,6 +129,8 @@ static bool TemplatedBooleanOperation(const Value &left, const Value &right) { return OP::Operation(left.GetValueUnsafe(), right.GetValueUnsafe()); case PhysicalType::UINT64: return OP::Operation(left.GetValueUnsafe(), right.GetValueUnsafe()); + case PhysicalType::UINT128: + return OP::Operation(left.GetValueUnsafe(), right.GetValueUnsafe()); case PhysicalType::INT128: return OP::Operation(left.GetValueUnsafe(), right.GetValueUnsafe()); case PhysicalType::FLOAT: @@ -170,6 +173,23 @@ static bool TemplatedBooleanOperation(const Value &left, const Value &right) { } return false; } + case PhysicalType::ARRAY: { + auto &left_children = ArrayValue::GetChildren(left); + auto &right_children = ArrayValue::GetChildren(right); + + // Should be enforced by the type + D_ASSERT(left_children.size() == right_children.size()); + + for (idx_t i = 0; i < left_children.size(); i++) { + if (ValuePositionComparator::Definite(left_children[i], right_children[i])) { + return true; + } + if (!ValuePositionComparator::Possible(left_children[i], right_children[i])) { + return false; + } + } + return true; + } default: throw InternalException("Unimplemented type for value comparison"); } diff --git a/src/common/vector_operations/comparison_operators.cpp b/src/common/vector_operations/comparison_operators.cpp index 33686f3761fa..d73ed852b9ac 100644 --- a/src/common/vector_operations/comparison_operators.cpp +++ b/src/common/vector_operations/comparison_operators.cpp @@ -6,6 +6,7 @@ #include "duckdb/common/operator/comparison_operators.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/binary_executor.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" @@ -237,6 +238,9 @@ struct ComparisonExecutor { case PhysicalType::INT128: TemplatedExecute(left, right, result, count); break; + case PhysicalType::UINT128: + TemplatedExecute(left, right, result, count); + break; case PhysicalType::FLOAT: TemplatedExecute(left, right, result, count); break; @@ -251,6 +255,7 @@ struct ComparisonExecutor { break; case PhysicalType::LIST: case PhysicalType::STRUCT: + case PhysicalType::ARRAY: NestedComparisonExecutor(left, right, result, count); break; default: diff --git a/src/common/vector_operations/generators.cpp b/src/common/vector_operations/generators.cpp index 77dd5f9ced32..0b5e8f56a522 100644 --- a/src/common/vector_operations/generators.cpp +++ b/src/common/vector_operations/generators.cpp @@ -13,7 +13,7 @@ template void TemplatedGenerateSequence(Vector &result, idx_t count, int64_t start, int64_t increment) { D_ASSERT(result.GetType().IsNumeric()); if (start > NumericLimits::Maximum() || increment > NumericLimits::Maximum()) { - throw Exception("Sequence start or increment out of type range"); + throw InternalException("Sequence start or increment out of type range"); } result.SetVectorType(VectorType::FLAT_VECTOR); auto result_data = FlatVector::GetData(result); @@ -59,7 +59,7 @@ void TemplatedGenerateSequence(Vector &result, idx_t count, const SelectionVecto int64_t increment) { D_ASSERT(result.GetType().IsNumeric()); if (start > NumericLimits::Maximum() || increment > NumericLimits::Maximum()) { - throw Exception("Sequence start or increment out of type range"); + throw InternalException("Sequence start or increment out of type range"); } result.SetVectorType(VectorType::FLAT_VECTOR); auto result_data = FlatVector::GetData(result); diff --git a/src/common/vector_operations/is_distinct_from.cpp b/src/common/vector_operations/is_distinct_from.cpp index 1564a3911363..fc5d98a8555e 100644 --- a/src/common/vector_operations/is_distinct_from.cpp +++ b/src/common/vector_operations/is_distinct_from.cpp @@ -1,3 +1,4 @@ +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/common/operator/comparison_operators.hpp" @@ -671,6 +672,119 @@ static idx_t DistinctSelectList(Vector &left, Vector &right, idx_t count, const return match_count; } +static void PositionArrayCursor(SelectionVector &cursor, UnifiedVectorFormat &vdata, const idx_t pos, + const SelectionVector &slice_sel, const idx_t count, idx_t array_size) { + for (idx_t i = 0; i < count; ++i) { + const auto slice_idx = slice_sel.get_index(i); + const auto lidx = vdata.sel->get_index(slice_idx); + const auto offset = array_size * lidx; + cursor.set_index(i, offset + pos); + } +} + +template +static idx_t DistinctSelectArray(Vector &left, Vector &right, idx_t count, const SelectionVector &sel, + OptionalSelection &true_opt, OptionalSelection &false_opt) { + if (count == 0) { + return count; + } + + // FIXME: This function can probably be optimized since we know the array size is fixed for every entry. + + D_ASSERT(ArrayType::GetSize(left.GetType()) == ArrayType::GetSize(right.GetType())); + auto array_size = ArrayType::GetSize(left.GetType()); + + // Create dictionary views of the children so we can vectorise the positional comparisons. + SelectionVector lcursor(count); + SelectionVector rcursor(count); + + Vector lentry_flattened(ArrayVector::GetEntry(left)); + Vector rentry_flattened(ArrayVector::GetEntry(right)); + lentry_flattened.Flatten(ArrayVector::GetTotalSize(left)); + rentry_flattened.Flatten(ArrayVector::GetTotalSize(right)); + Vector lchild(lentry_flattened, lcursor, count); + Vector rchild(rentry_flattened, rcursor, count); + + // Get pointers to the list entries + UnifiedVectorFormat lvdata; + left.ToUnifiedFormat(count, lvdata); + + UnifiedVectorFormat rvdata; + right.ToUnifiedFormat(count, rvdata); + + // In order to reuse the comparators, we have to track what passed and failed internally. + // To do that, we need local SVs that we then merge back into the real ones after every pass. + SelectionVector slice_sel(count); + for (idx_t i = 0; i < count; ++i) { + slice_sel.set_index(i, i); + } + + SelectionVector true_sel(count); + SelectionVector false_sel(count); + + idx_t match_count = 0; + for (idx_t pos = 0; count > 0; ++pos) { + // Set up the cursors for the current position + PositionArrayCursor(lcursor, lvdata, pos, slice_sel, count, array_size); + PositionArrayCursor(rcursor, rvdata, pos, slice_sel, count, array_size); + + // Tie-break the pairs where one of the LISTs is exhausted. + idx_t true_count = 0; + idx_t false_count = 0; + idx_t maybe_count = 0; + for (idx_t i = 0; i < count; ++i) { + const auto slice_idx = slice_sel.get_index(i); + if (array_size == pos) { + const auto idx = sel.get_index(slice_idx); + if (PositionComparator::TieBreak(array_size, array_size)) { + true_opt.Append(true_count, idx); + } else { + false_opt.Append(false_count, idx); + } + } else { + true_sel.set_index(maybe_count++, slice_idx); + } + } + true_opt.Advance(true_count); + false_opt.Advance(false_count); + match_count += true_count; + + // Redensify the list cursors + if (maybe_count < count) { + count = maybe_count; + DensifyNestedSelection(true_sel, count, slice_sel); + PositionArrayCursor(lcursor, lvdata, pos, slice_sel, count, array_size); + PositionArrayCursor(rcursor, rvdata, pos, slice_sel, count, array_size); + } + + // Find everything that definitely matches + true_count = PositionComparator::Definite(lchild, rchild, slice_sel, count, &true_sel, false_sel); + if (true_count) { + false_count = count - true_count; + ExtractNestedSelection(false_count ? true_sel : slice_sel, true_count, sel, true_opt); + match_count += true_count; + + // Redensify the list cursors + count -= true_count; + DensifyNestedSelection(false_sel, count, slice_sel); + PositionArrayCursor(lcursor, lvdata, pos, slice_sel, count, array_size); + PositionArrayCursor(rcursor, rvdata, pos, slice_sel, count, array_size); + } + + // Find what might match on the next position + true_count = PositionComparator::Possible(lchild, rchild, slice_sel, count, true_sel, &false_sel); + false_count = count - true_count; + ExtractNestedSelection(true_count ? false_sel : slice_sel, false_count, sel, false_opt); + + if (false_count) { + DensifyNestedSelection(true_sel, true_count, slice_sel); + } + count = true_count; + } + + return match_count; +} + template static idx_t DistinctSelectNested(Vector &left, Vector &right, const SelectionVector *sel, const idx_t count, SelectionVector *true_sel, SelectionVector *false_sel) { @@ -700,10 +814,18 @@ static idx_t DistinctSelectNested(Vector &left, Vector &right, const SelectionVe auto unknown = DistinctSelectNotNull(l_not_null, r_not_null, count, match_count, *sel, maybe_vec, true_opt, false_opt); - if (PhysicalType::LIST == left.GetType().InternalType()) { + switch (left.GetType().InternalType()) { + case PhysicalType::LIST: match_count += DistinctSelectList(l_not_null, r_not_null, unknown, maybe_vec, true_opt, false_opt); - } else { + break; + case PhysicalType::STRUCT: match_count += DistinctSelectStruct(l_not_null, r_not_null, unknown, maybe_vec, true_opt, false_opt); + break; + case PhysicalType::ARRAY: + match_count += DistinctSelectArray(l_not_null, r_not_null, unknown, maybe_vec, true_opt, false_opt); + break; + default: + throw NotImplementedException("Unimplemented type for DISTINCT"); } // Copy the buffered selections to the output selections @@ -758,6 +880,9 @@ static void ExecuteDistinct(Vector &left, Vector &right, Vector &result, idx_t c case PhysicalType::INT128: TemplatedDistinctExecute(left, right, result, count); break; + case PhysicalType::UINT128: + TemplatedDistinctExecute(left, right, result, count); + break; case PhysicalType::FLOAT: TemplatedDistinctExecute(left, right, result, count); break; @@ -772,6 +897,7 @@ static void ExecuteDistinct(Vector &left, Vector &right, Vector &result, idx_t c break; case PhysicalType::LIST: case PhysicalType::STRUCT: + case PhysicalType::ARRAY: NestedDistinctExecute(left, right, result, count); break; default: @@ -803,6 +929,8 @@ static idx_t TemplatedDistinctSelectOperation(Vector &left, Vector &right, const return DistinctSelect(left, right, sel, count, true_sel, false_sel); case PhysicalType::INT128: return DistinctSelect(left, right, sel, count, true_sel, false_sel); + case PhysicalType::UINT128: + return DistinctSelect(left, right, sel, count, true_sel, false_sel); case PhysicalType::FLOAT: return DistinctSelect(left, right, sel, count, true_sel, false_sel); case PhysicalType::DOUBLE: @@ -813,6 +941,7 @@ static idx_t TemplatedDistinctSelectOperation(Vector &left, Vector &right, const return DistinctSelect(left, right, sel, count, true_sel, false_sel); case PhysicalType::STRUCT: case PhysicalType::LIST: + case PhysicalType::ARRAY: return DistinctSelectNested(left, right, sel, count, true_sel, false_sel); default: throw InternalException("Invalid type for distinct selection"); diff --git a/src/common/vector_operations/vector_copy.cpp b/src/common/vector_operations/vector_copy.cpp index 4f1870def047..7921743aecda 100644 --- a/src/common/vector_operations/vector_copy.cpp +++ b/src/common/vector_operations/vector_copy.cpp @@ -6,7 +6,7 @@ #include "duckdb/common/exception.hpp" #include "duckdb/common/types/null_value.hpp" -#include "duckdb/common/types/chunk_collection.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/storage/segment/uncompressed.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" @@ -102,7 +102,7 @@ void VectorOperations::Copy(const Vector &source_p, Vector &target, const Select } } else { auto &smask = CopyValidityMask(*source); - if (smask.IsMaskSet()) { + if (smask.IsMaskSet() || tmask.IsMaskSet()) { for (idx_t i = 0; i < copy_count; i++) { auto idx = sel->get_index(source_offset + i); @@ -114,8 +114,7 @@ void VectorOperations::Copy(const Vector &source_p, Vector &target, const Select } else { // set invalid if (tmask.AllValid()) { - auto init_size = MaxValue(STANDARD_VECTOR_SIZE, target_offset + copy_count); - tmask.Initialize(init_size); + tmask.Initialize(); } tmask.SetInvalidUnsafe(target_offset + i); } @@ -161,6 +160,9 @@ void VectorOperations::Copy(const Vector &source_p, Vector &target, const Select case PhysicalType::INT128: TemplatedCopy(*source, *sel, target, source_offset, target_offset, copy_count); break; + case PhysicalType::UINT128: + TemplatedCopy(*source, *sel, target, source_offset, target_offset, copy_count); + break; case PhysicalType::FLOAT: TemplatedCopy(*source, *sel, target, source_offset, target_offset, copy_count); break; @@ -192,6 +194,26 @@ void VectorOperations::Copy(const Vector &source_p, Vector &target, const Select } break; } + case PhysicalType::ARRAY: { + D_ASSERT(target.GetType().InternalType() == PhysicalType::ARRAY); + D_ASSERT(ArrayType::GetSize(source->GetType()) == ArrayType::GetSize(target.GetType())); + + auto &source_child = ArrayVector::GetEntry(*source); + auto &target_child = ArrayVector::GetEntry(target); + auto array_size = ArrayType::GetSize(source->GetType()); + + // Create a selection vector for the child elements + SelectionVector child_sel(copy_count * array_size); + for (idx_t i = 0; i < copy_count; i++) { + auto source_idx = sel->get_index(source_offset + i); + for (idx_t j = 0; j < array_size; j++) { + child_sel.set_index(i * array_size + j, source_idx * array_size + j); + } + } + VectorOperations::Copy(source_child, target_child, child_sel, source_count * array_size, + source_offset * array_size, target_offset * array_size); + break; + } case PhysicalType::LIST: { D_ASSERT(target.GetType().InternalType() == PhysicalType::LIST); diff --git a/src/common/vector_operations/vector_hash.cpp b/src/common/vector_operations/vector_hash.cpp index f489d8f27d18..84d6c1783b67 100644 --- a/src/common/vector_operations/vector_hash.cpp +++ b/src/common/vector_operations/vector_hash.cpp @@ -3,6 +3,7 @@ // Description: This file contains the vectorized hash implementations //===--------------------------------------------------------------------===// +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/common/types/hash.hpp" @@ -177,6 +178,34 @@ static inline void ListLoopHash(Vector &input, Vector &hashes, const SelectionVe } } +template +static inline void ArrayLoopHash(Vector &input, Vector &hashes, const SelectionVector *rsel, idx_t count) { + auto hdata = FlatVector::GetData(hashes); + + UnifiedVectorFormat idata; + input.ToUnifiedFormat(count, idata); + + // Hash the children into a temporary + auto &child = ArrayVector::GetEntry(input); + auto array_size = ArrayType::GetSize(input.GetType()); + auto child_count = array_size * count; + + Vector child_hashes(LogicalType::HASH, child_count); + if (child_count > 0) { + child_hashes.Flatten(child_count); + VectorOperations::Hash(child, child_hashes, child_count); + } + auto chdata = FlatVector::GetData(child_hashes); + + // Combine hashes for every array + // TODO: Branch on FIRST_HASH and HAS_RSEL + for (idx_t i = 0; i < count; i++) { + for (idx_t j = i * array_size; j < (i + 1) * array_size; j++) { + hdata[i] = CombineHashScalar(hdata[i], chdata[j]); + } + } +} + template static inline void HashTypeSwitch(Vector &input, Vector &result, const SelectionVector *rsel, idx_t count) { D_ASSERT(result.GetType().id() == LogicalType::HASH); @@ -209,6 +238,9 @@ static inline void HashTypeSwitch(Vector &input, Vector &result, const Selection case PhysicalType::INT128: TemplatedLoopHash(input, result, rsel, count); break; + case PhysicalType::UINT128: + TemplatedLoopHash(input, result, rsel, count); + break; case PhysicalType::FLOAT: TemplatedLoopHash(input, result, rsel, count); break; @@ -227,6 +259,9 @@ static inline void HashTypeSwitch(Vector &input, Vector &result, const Selection case PhysicalType::LIST: ListLoopHash(input, result, rsel, count); break; + case PhysicalType::ARRAY: + ArrayLoopHash(input, result, rsel, count); + break; default: throw InvalidTypeException(input.GetType(), "Invalid type for hash"); } @@ -342,6 +377,9 @@ static inline void CombineHashTypeSwitch(Vector &hashes, Vector &input, const Se case PhysicalType::INT128: TemplatedLoopCombineHash(input, hashes, rsel, count); break; + case PhysicalType::UINT128: + TemplatedLoopCombineHash(input, hashes, rsel, count); + break; case PhysicalType::FLOAT: TemplatedLoopCombineHash(input, hashes, rsel, count); break; @@ -360,6 +398,9 @@ static inline void CombineHashTypeSwitch(Vector &hashes, Vector &input, const Se case PhysicalType::LIST: ListLoopHash(input, hashes, rsel, count); break; + case PhysicalType::ARRAY: + ArrayLoopHash(input, hashes, rsel, count); + break; default: throw InvalidTypeException(input.GetType(), "Invalid type for hash"); } diff --git a/src/common/vector_operations/vector_storage.cpp b/src/common/vector_operations/vector_storage.cpp index be7c97c71ca7..9c399519db47 100644 --- a/src/common/vector_operations/vector_storage.cpp +++ b/src/common/vector_operations/vector_storage.cpp @@ -1,5 +1,6 @@ #include "duckdb/common/exception.hpp" #include "duckdb/common/types/null_value.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" namespace duckdb { @@ -54,6 +55,9 @@ void VectorOperations::WriteToStorage(Vector &source, idx_t count, data_ptr_t ta case PhysicalType::INT128: CopyToStorageLoop(vdata, count, target); break; + case PhysicalType::UINT128: + CopyToStorageLoop(vdata, count, target); + break; case PhysicalType::FLOAT: CopyToStorageLoop(vdata, count, target); break; @@ -108,6 +112,9 @@ void VectorOperations::ReadFromStorage(data_ptr_t source, idx_t count, Vector &r case PhysicalType::INT128: ReadFromStorageLoop(source, count, result); break; + case PhysicalType::UINT128: + ReadFromStorageLoop(source, count, result); + break; case PhysicalType::FLOAT: ReadFromStorageLoop(source, count, result); break; diff --git a/src/common/virtual_file_system.cpp b/src/common/virtual_file_system.cpp index 0aaff1423b96..3337623e48c9 100644 --- a/src/common/virtual_file_system.cpp +++ b/src/common/virtual_file_system.cpp @@ -1,5 +1,4 @@ #include "duckdb/common/virtual_file_system.hpp" - #include "duckdb/common/gzip_file_system.hpp" #include "duckdb/common/pipe_file_system.hpp" #include "duckdb/common/string_util.hpp" diff --git a/src/core_functions/CMakeLists.txt b/src/core_functions/CMakeLists.txt index b7c2d19a9d67..dcc31cf62888 100644 --- a/src/core_functions/CMakeLists.txt +++ b/src/core_functions/CMakeLists.txt @@ -2,7 +2,7 @@ add_subdirectory(aggregate) add_subdirectory(scalar) add_library_unity(duckdb_core_functions OBJECT core_functions.cpp - function_list.cpp) + function_list.cpp lambda_functions.cpp) set(ALL_OBJECT_FILES ${ALL_OBJECT_FILES} $ PARENT_SCOPE) diff --git a/src/core_functions/aggregate/README.md b/src/core_functions/aggregate/README.md index f600e2ce338a..8b9fa3477f3d 100644 --- a/src/core_functions/aggregate/README.md +++ b/src/core_functions/aggregate/README.md @@ -127,9 +127,13 @@ the generator is `StateCombine` and the method it wraps is: Combine(const State& source, State &target, AggregateInputData &info) ``` -Note that the `sources` should _not_ be modified for efficiency because the caller may be using them -for multiple operations(e.g., window segment trees). -If you wish to combine destructively, you _must_ define a `window` function. +Note that the `source` should _not_ be modified for efficiency because the caller may be using them +for multiple operations (e.g., window segment trees). + +If you wish to combine destructively, you _must_ check that the `combine_type` member +of the `AggregateInputData` argument is set to `ALLOW_DESTRUCTIVE`. +This is useful when the aggregate can move data more efficiently than copying it. +`LIST` is an example, where the internal linked list data structures can be spliced instead of copied. The `combine` operation is optional, but it is needed for multi-threaded aggregation. If it is not provided, then _all_ aggregate functions in the grouping must be computed on a single thread. @@ -184,9 +188,6 @@ Window(const ArgType *arg, ValidityMask &filter, ValidityMask &valid, ResultType &result, idx_t rid, idx_tbias) ``` -Defining `window` is also useful if the aggregate wishes to use a destructive `combine` operation. -This may be tricky to implement efficiently. - ### Bind ```cpp diff --git a/src/core_functions/aggregate/distributive/approx_count.cpp b/src/core_functions/aggregate/distributive/approx_count.cpp index 599ecb7d180d..844e31acfd9d 100644 --- a/src/core_functions/aggregate/distributive/approx_count.cpp +++ b/src/core_functions/aggregate/distributive/approx_count.cpp @@ -129,16 +129,17 @@ AggregateFunctionSet ApproxCountDistinctFun::GetFunctions() { approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::USMALLINT)); approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::UINTEGER)); approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::UBIGINT)); + approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::UHUGEINT)); approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::TINYINT)); approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::SMALLINT)); approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::BIGINT)); approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::HUGEINT)); approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::FLOAT)); approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::DOUBLE)); - approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::VARCHAR)); approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::TIMESTAMP)); approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::TIMESTAMP_TZ)); approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::BLOB)); + approx_count.AddFunction(GetApproxCountDistinctFunction(LogicalType::ANY_PARAMS(LogicalType::VARCHAR, 150))); return approx_count; } diff --git a/src/core_functions/aggregate/distributive/arg_min_max.cpp b/src/core_functions/aggregate/distributive/arg_min_max.cpp index 2fa992915867..b6d69457a608 100644 --- a/src/core_functions/aggregate/distributive/arg_min_max.cpp +++ b/src/core_functions/aggregate/distributive/arg_min_max.cpp @@ -3,12 +3,14 @@ #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/function/function_set.hpp" #include "duckdb/planner/expression/bound_aggregate_expression.hpp" +#include "duckdb/planner/expression/bound_comparison_expression.hpp" +#include "duckdb/planner/expression_binder.hpp" #include "duckdb/common/operator/comparison_operators.hpp" namespace duckdb { struct ArgMinMaxStateBase { - ArgMinMaxStateBase() : is_initialized(false) { + ArgMinMaxStateBase() : is_initialized(false), arg_null(false) { } template @@ -20,7 +22,7 @@ struct ArgMinMaxStateBase { } template - static inline void AssignValue(T &target, T new_value, bool is_initialized) { + static inline void AssignValue(T &target, T new_value) { target = new_value; } @@ -30,9 +32,15 @@ struct ArgMinMaxStateBase { } bool is_initialized; + bool arg_null; }; // Out-of-line specialisations +template <> +void ArgMinMaxStateBase::CreateValue(string_t &value) { + value = string_t(uint32_t(0)); +} + template <> void ArgMinMaxStateBase::CreateValue(Vector *&value) { value = nullptr; @@ -52,10 +60,8 @@ void ArgMinMaxStateBase::DestroyValue(Vector *&value) { } template <> -void ArgMinMaxStateBase::AssignValue(string_t &target, string_t new_value, bool is_initialized) { - if (is_initialized) { - DestroyValue(target); - } +void ArgMinMaxStateBase::AssignValue(string_t &target, string_t new_value) { + DestroyValue(target); if (new_value.IsInlined()) { target = new_value; } else { @@ -95,7 +101,7 @@ struct ArgMinMaxState : public ArgMinMaxStateBase { } }; -template +template struct ArgMinMaxBase { template @@ -108,22 +114,36 @@ struct ArgMinMaxBase { state.~STATE(); } + template + static void Assign(STATE &state, const A_TYPE &x, const B_TYPE &y, const bool x_null) { + if (IGNORE_NULL) { + STATE::template AssignValue(state.arg, x); + STATE::template AssignValue(state.value, y); + } else { + state.arg_null = x_null; + if (!state.arg_null) { + STATE::template AssignValue(state.arg, x); + } + STATE::template AssignValue(state.value, y); + } + } + template - static void Operation(STATE &state, const A_TYPE &x, const B_TYPE &y, AggregateBinaryInput &) { + static void Operation(STATE &state, const A_TYPE &x, const B_TYPE &y, AggregateBinaryInput &binary) { if (!state.is_initialized) { - STATE::template AssignValue(state.arg, x, false); - STATE::template AssignValue(state.value, y, false); - state.is_initialized = true; + if (IGNORE_NULL || binary.right_mask.RowIsValid(binary.ridx)) { + Assign(state, x, y, !binary.left_mask.RowIsValid(binary.lidx)); + state.is_initialized = true; + } } else { - OP::template Execute(state, x, y); + OP::template Execute(state, x, y, binary); } } template - static void Execute(STATE &state, A_TYPE x_data, B_TYPE y_data) { - if (COMPARATOR::Operation(y_data, state.value)) { - STATE::template AssignValue(state.arg, x_data, true); - STATE::template AssignValue(state.value, y_data, true); + static void Execute(STATE &state, A_TYPE x_data, B_TYPE y_data, AggregateBinaryInput &binary) { + if ((IGNORE_NULL || binary.right_mask.RowIsValid(binary.ridx)) && COMPARATOR::Operation(y_data, state.value)) { + Assign(state, x_data, y_data, !binary.left_mask.RowIsValid(binary.lidx)); } } @@ -133,15 +153,14 @@ struct ArgMinMaxBase { return; } if (!target.is_initialized || COMPARATOR::Operation(source.value, target.value)) { - STATE::template AssignValue(target.arg, source.arg, target.is_initialized); - STATE::template AssignValue(target.value, source.value, target.is_initialized); + Assign(target, source.arg, source.value, source.arg_null); target.is_initialized = true; } } template static void Finalize(STATE &state, T &target, AggregateFinalizeData &finalize_data) { - if (!state.is_initialized) { + if (!state.is_initialized || state.arg_null) { finalize_data.ReturnNull(); } else { STATE::template ReadValue(finalize_data.result, state.arg, target); @@ -149,21 +168,32 @@ struct ArgMinMaxBase { } static bool IgnoreNull() { - return true; + return IGNORE_NULL; + } + + static unique_ptr Bind(ClientContext &context, AggregateFunction &function, + vector> &arguments) { + ExpressionBinder::PushCollation(context, arguments[1], arguments[1]->return_type, false); + function.arguments[0] = arguments[0]->return_type; + function.return_type = arguments[0]->return_type; + return nullptr; } }; -template -struct VectorArgMinMaxBase : ArgMinMaxBase { +template +struct VectorArgMinMaxBase : ArgMinMaxBase { template - static void AssignVector(STATE &state, Vector &arg, const idx_t idx) { - if (!state.is_initialized) { - state.arg = new Vector(arg.GetType()); + static void AssignVector(STATE &state, Vector &arg, bool arg_null, const idx_t idx) { + if (!state.arg) { + state.arg = new Vector(arg.GetType(), 1); state.arg->SetVectorType(VectorType::CONSTANT_VECTOR); } - sel_t selv = idx; - SelectionVector sel(&selv); - VectorOperations::Copy(arg, *state.arg, sel, 1, 0, 0); + state.arg_null = arg_null; + if (!arg_null) { + sel_t selv = idx; + SelectionVector sel(&selv); + VectorOperations::Copy(arg, *state.arg, sel, 1, 0, 0); + } } template @@ -189,16 +219,22 @@ struct VectorArgMinMaxBase : ArgMinMaxBase { } const auto bval = bys[bidx]; + const auto aidx = adata.sel->get_index(i); + const auto arg_null = !adata.validity.RowIsValid(aidx); + if (IGNORE_NULL && arg_null) { + continue; + } + const auto sidx = sdata.sel->get_index(i); auto &state = *states[sidx]; if (!state.is_initialized) { - STATE::template AssignValue(state.value, bval, false); - AssignVector(state, arg, i); + STATE::template AssignValue(state.value, bval); + AssignVector(state, arg, arg_null, i); state.is_initialized = true; } else if (COMPARATOR::template Operation(bval, state.value)) { - STATE::template AssignValue(state.value, bval, true); - AssignVector(state, arg, i); + STATE::template AssignValue(state.value, bval); + AssignVector(state, arg, arg_null, i); } } } @@ -209,15 +245,15 @@ struct VectorArgMinMaxBase : ArgMinMaxBase { return; } if (!target.is_initialized || COMPARATOR::Operation(source.value, target.value)) { - STATE::template AssignValue(target.value, source.value, target.is_initialized); - AssignVector(target, *source.arg, 0); + STATE::template AssignValue(target.value, source.value); + AssignVector(target, *source.arg, source.arg_null, 0); target.is_initialized = true; } } template static void Finalize(STATE &state, AggregateFinalizeData &finalize_data) { - if (!state.is_initialized) { + if (!state.is_initialized || state.arg_null) { finalize_data.ReturnNull(); } else { VectorOperations::Copy(*state.arg, finalize_data.result, 1, 0, finalize_data.result_idx); @@ -257,16 +293,19 @@ AggregateFunction GetVectorArgMinMaxFunctionBy(const LogicalType &by_type, const } } +static const vector ArgMaxByTypes() { + vector types = {LogicalType::INTEGER, LogicalType::BIGINT, LogicalType::DOUBLE, + LogicalType::VARCHAR, LogicalType::DATE, LogicalType::TIMESTAMP, + LogicalType::TIMESTAMP_TZ, LogicalType::BLOB}; + return types; +} + template void AddVectorArgMinMaxFunctionBy(AggregateFunctionSet &fun, const LogicalType &type) { - fun.AddFunction(GetVectorArgMinMaxFunctionBy(LogicalType::INTEGER, type)); - fun.AddFunction(GetVectorArgMinMaxFunctionBy(LogicalType::BIGINT, type)); - fun.AddFunction(GetVectorArgMinMaxFunctionBy(LogicalType::DOUBLE, type)); - fun.AddFunction(GetVectorArgMinMaxFunctionBy(LogicalType::VARCHAR, type)); - fun.AddFunction(GetVectorArgMinMaxFunctionBy(LogicalType::DATE, type)); - fun.AddFunction(GetVectorArgMinMaxFunctionBy(LogicalType::TIMESTAMP, type)); - fun.AddFunction(GetVectorArgMinMaxFunctionBy(LogicalType::TIMESTAMP_TZ, type)); - fun.AddFunction(GetVectorArgMinMaxFunctionBy(LogicalType::BLOB, type)); + auto by_types = ArgMaxByTypes(); + for (const auto &by_type : by_types) { + fun.AddFunction(GetVectorArgMinMaxFunctionBy(by_type, type)); + } } template @@ -276,6 +315,9 @@ AggregateFunction GetArgMinMaxFunctionInternal(const LogicalType &by_type, const if (type.InternalType() == PhysicalType::VARCHAR || by_type.InternalType() == PhysicalType::VARCHAR) { function.destructor = AggregateFunction::StateDestroy; } + if (by_type.InternalType() == PhysicalType::VARCHAR) { + function.bind = OP::Bind; + } return function; } @@ -297,19 +339,48 @@ AggregateFunction GetArgMinMaxFunctionBy(const LogicalType &by_type, const Logic template void AddArgMinMaxFunctionBy(AggregateFunctionSet &fun, const LogicalType &type) { - fun.AddFunction(GetArgMinMaxFunctionBy(LogicalType::INTEGER, type)); - fun.AddFunction(GetArgMinMaxFunctionBy(LogicalType::BIGINT, type)); - fun.AddFunction(GetArgMinMaxFunctionBy(LogicalType::DOUBLE, type)); - fun.AddFunction(GetArgMinMaxFunctionBy(LogicalType::VARCHAR, type)); - fun.AddFunction(GetArgMinMaxFunctionBy(LogicalType::DATE, type)); - fun.AddFunction(GetArgMinMaxFunctionBy(LogicalType::TIMESTAMP, type)); - fun.AddFunction(GetArgMinMaxFunctionBy(LogicalType::TIMESTAMP_TZ, type)); - fun.AddFunction(GetArgMinMaxFunctionBy(LogicalType::BLOB, type)); + auto by_types = ArgMaxByTypes(); + for (const auto &by_type : by_types) { + fun.AddFunction(GetArgMinMaxFunctionBy(by_type, type)); + } +} + +template +static AggregateFunction GetDecimalArgMinMaxFunction(const LogicalType &by_type, const LogicalType &type) { + D_ASSERT(type.id() == LogicalTypeId::DECIMAL); + switch (type.InternalType()) { + case PhysicalType::INT16: + return GetArgMinMaxFunctionBy(by_type, type); + case PhysicalType::INT32: + return GetArgMinMaxFunctionBy(by_type, type); + case PhysicalType::INT64: + return GetArgMinMaxFunctionBy(by_type, type); + default: + return GetArgMinMaxFunctionBy(by_type, type); + } +} + +template +static unique_ptr BindDecimalArgMinMax(ClientContext &context, AggregateFunction &function, + vector> &arguments) { + auto decimal_type = arguments[0]->return_type; + auto by_type = arguments[1]->return_type; + auto name = std::move(function.name); + function = GetDecimalArgMinMaxFunction(by_type, decimal_type); + function.name = std::move(name); + function.return_type = decimal_type; + return nullptr; } -template +template +void AddDecimalArgMinMaxFunctionBy(AggregateFunctionSet &fun, const LogicalType &by_type) { + fun.AddFunction(AggregateFunction({LogicalTypeId::DECIMAL, by_type}, LogicalTypeId::DECIMAL, nullptr, nullptr, + nullptr, nullptr, nullptr, nullptr, BindDecimalArgMinMax)); +} + +template static void AddArgMinMaxFunctions(AggregateFunctionSet &fun) { - using OP = ArgMinMaxBase; + using OP = ArgMinMaxBase; AddArgMinMaxFunctionBy(fun, LogicalType::INTEGER); AddArgMinMaxFunctionBy(fun, LogicalType::BIGINT); AddArgMinMaxFunctionBy(fun, LogicalType::DOUBLE); @@ -319,19 +390,36 @@ static void AddArgMinMaxFunctions(AggregateFunctionSet &fun) { AddArgMinMaxFunctionBy(fun, LogicalType::TIMESTAMP_TZ); AddArgMinMaxFunctionBy(fun, LogicalType::BLOB); - using VECTOR_OP = VectorArgMinMaxBase; + auto by_types = ArgMaxByTypes(); + for (const auto &by_type : by_types) { + AddDecimalArgMinMaxFunctionBy(fun, by_type); + } + + using VECTOR_OP = VectorArgMinMaxBase; AddVectorArgMinMaxFunctionBy(fun, LogicalType::ANY); } AggregateFunctionSet ArgMinFun::GetFunctions() { AggregateFunctionSet fun; - AddArgMinMaxFunctions(fun); + AddArgMinMaxFunctions(fun); return fun; } AggregateFunctionSet ArgMaxFun::GetFunctions() { AggregateFunctionSet fun; - AddArgMinMaxFunctions(fun); + AddArgMinMaxFunctions(fun); + return fun; +} + +AggregateFunctionSet ArgMinNullFun::GetFunctions() { + AggregateFunctionSet fun; + AddArgMinMaxFunctions(fun); + return fun; +} + +AggregateFunctionSet ArgMaxNullFun::GetFunctions() { + AggregateFunctionSet fun; + AddArgMinMaxFunctions(fun); return fun; } diff --git a/src/core_functions/aggregate/distributive/bitagg.cpp b/src/core_functions/aggregate/distributive/bitagg.cpp index 52b671d96f0a..18d7a7255a19 100644 --- a/src/core_functions/aggregate/distributive/bitagg.cpp +++ b/src/core_functions/aggregate/distributive/bitagg.cpp @@ -35,6 +35,8 @@ static AggregateFunction GetBitfieldUnaryAggregate(LogicalType type) { return AggregateFunction::UnaryAggregate, uint32_t, uint32_t, OP>(type, type); case LogicalTypeId::UBIGINT: return AggregateFunction::UnaryAggregate, uint64_t, uint64_t, OP>(type, type); + case LogicalTypeId::UHUGEINT: + return AggregateFunction::UnaryAggregate, uhugeint_t, uhugeint_t, OP>(type, type); default: throw InternalException("Unimplemented bitfield type for unary aggregate"); } diff --git a/src/core_functions/aggregate/distributive/bitstring_agg.cpp b/src/core_functions/aggregate/distributive/bitstring_agg.cpp index 303021bd32a9..e78b228f2ac5 100644 --- a/src/core_functions/aggregate/distributive/bitstring_agg.cpp +++ b/src/core_functions/aggregate/distributive/bitstring_agg.cpp @@ -3,6 +3,7 @@ #include "duckdb/common/types/null_value.hpp" #include "duckdb/common/vector_operations/aggregate_executor.hpp" #include "duckdb/common/types/bit.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include "duckdb/storage/statistics/base_statistics.hpp" #include "duckdb/execution/expression_executor.hpp" #include "duckdb/common/types/cast_helpers.hpp" @@ -183,6 +184,29 @@ idx_t BitStringAggOperation::GetRange(hugeint_t min, hugeint_t max) { return range; } +template <> +void BitStringAggOperation::Execute(BitAggState &state, uhugeint_t input, uhugeint_t min) { + idx_t val; + if (Uhugeint::TryCast(input - min, val)) { + Bit::SetBit(state.value, val, 1); + } else { + throw OutOfRangeException("Range too large for bitstring aggregation"); + } +} + +template <> +idx_t BitStringAggOperation::GetRange(uhugeint_t min, uhugeint_t max) { + uhugeint_t result; + if (!TrySubtractOperator::Operation(max, min, result)) { + return NumericLimits::Maximum(); + } + idx_t range; + if (!Uhugeint::TryCast(result + 1, range)) { + return NumericLimits::Maximum(); + } + return range; +} + unique_ptr BitstringPropagateStats(ClientContext &context, BoundAggregateExpression &expr, AggregateStatisticsInput &input) { @@ -253,6 +277,9 @@ void GetBitStringAggregate(const LogicalType &type, AggregateFunctionSet &bitstr case LogicalType::UBIGINT: { return BindBitString(bitstring_agg, type.id()); } + case LogicalType::UHUGEINT: { + return BindBitString(bitstring_agg, type.id()); + } default: throw InternalException("Unimplemented bitstring aggregate"); } diff --git a/src/core_functions/aggregate/distributive/entropy.cpp b/src/core_functions/aggregate/distributive/entropy.cpp index b965b8119f5d..e66f30783468 100644 --- a/src/core_functions/aggregate/distributive/entropy.cpp +++ b/src/core_functions/aggregate/distributive/entropy.cpp @@ -146,10 +146,11 @@ AggregateFunction GetEntropyFunctionInternal(PhysicalType type) { case PhysicalType::DOUBLE: return AggregateFunction::UnaryAggregateDestructor, double, double, EntropyFunction>( LogicalType::DOUBLE, LogicalType::DOUBLE); - case PhysicalType::VARCHAR: + case PhysicalType::VARCHAR: { return AggregateFunction::UnaryAggregateDestructor, string_t, double, - EntropyFunctionString>(LogicalType::VARCHAR, - LogicalType::DOUBLE); + EntropyFunctionString>( + LogicalType::ANY_PARAMS(LogicalType::VARCHAR, 150), LogicalType::DOUBLE); + } default: throw InternalException("Unimplemented approximate_count aggregate"); diff --git a/src/core_functions/aggregate/distributive/functions.json b/src/core_functions/aggregate/distributive/functions.json index 6a31c152bdd5..cdf5a19221f6 100644 --- a/src/core_functions/aggregate/distributive/functions.json +++ b/src/core_functions/aggregate/distributive/functions.json @@ -9,19 +9,33 @@ { "name": "arg_min", "parameters": "arg,val", - "description": "Finds the row with the minimum val. Calculates the arg expression at that row.", + "description": "Finds the row with the minimum val. Calculates the non-NULL arg expression at that row.", "example": "arg_min(A,B)", "type": "aggregate_function_set", "aliases": ["argmin", "min_by"] }, + { + "name": "arg_min_null", + "parameters": "arg,val", + "description": "Finds the row with the minimum val. Calculates the arg expression at that row.", + "example": "arg_min_null(A,B)", + "type": "aggregate_function_set" + }, { "name": "arg_max", "parameters": "arg,val", - "description": "Finds the row with the maximum val. Calculates the arg expression at that row.", + "description": "Finds the row with the maximum val. Calculates the non-NULL arg expression at that row.", "example": "arg_max(A,B)", "type": "aggregate_function_set", "aliases": ["argmax", "max_by"] }, + { + "name": "arg_max_null", + "parameters": "arg,val", + "description": "Finds the row with the maximum val. Calculates the arg expression at that row.", + "example": "arg_max_null(A,B)", + "type": "aggregate_function_set" + }, { "name": "bit_and", "parameters": "arg", @@ -86,6 +100,13 @@ "example": "", "type": "aggregate_function" }, + { + "name": "kurtosis_pop", + "parameters": "x", + "description": "Returns the excess kurtosis (Fisher’s definition) of all input values, without bias correction", + "example": "", + "type": "aggregate_function" + }, { "name": "min", "parameters": "arg", @@ -136,4 +157,4 @@ "example": "sum_no_overflow(A)", "type": "aggregate_function_set" } -] \ No newline at end of file +] diff --git a/src/core_functions/aggregate/distributive/kurtosis.cpp b/src/core_functions/aggregate/distributive/kurtosis.cpp index 063408e0e8ac..bca51bd16adf 100644 --- a/src/core_functions/aggregate/distributive/kurtosis.cpp +++ b/src/core_functions/aggregate/distributive/kurtosis.cpp @@ -14,6 +14,11 @@ struct KurtosisState { double sum_four; }; +struct KurtosisFlagBiasCorrection {}; + +struct KurtosisFlagNoBiasCorrection {}; + +template struct KurtosisOperation { template static void Initialize(STATE &state) { @@ -53,7 +58,11 @@ struct KurtosisOperation { template static void Finalize(STATE &state, TARGET_TYPE &target, AggregateFinalizeData &finalize_data) { auto n = (double)state.n; - if (n <= 3) { + if (n <= 1) { + finalize_data.ReturnNull(); + return; + } + if (std::is_same::value && n <= 3) { finalize_data.ReturnNull(); return; } @@ -70,11 +79,15 @@ struct KurtosisOperation { 6 * state.sum_sqr * state.sum * state.sum * temp * temp - 3 * pow(state.sum, 4) * pow(temp, 3)); double m2 = temp * (state.sum_sqr - state.sum * state.sum * temp); - if (m2 <= 0 || ((n - 2) * (n - 3)) == 0) { // m2 shouldn't be below 0 but floating points are weird + if (m2 <= 0) { // m2 shouldn't be below 0 but floating points are weird finalize_data.ReturnNull(); return; } - target = (n - 1) * ((n + 1) * m4 / (m2 * m2) - 3 * (n - 1)) / ((n - 2) * (n - 3)); + if (std::is_same::value) { + target = m4 / (m2 * m2) - 3; + } else { + target = (n - 1) * ((n + 1) * m4 / (m2 * m2) - 3 * (n - 1)) / ((n - 2) * (n - 3)); + } if (!Value::DoubleIsFinite(target)) { throw OutOfRangeException("Kurtosis is out of range!"); } @@ -86,8 +99,15 @@ struct KurtosisOperation { }; AggregateFunction KurtosisFun::GetFunction() { - return AggregateFunction::UnaryAggregate(LogicalType::DOUBLE, - LogicalType::DOUBLE); + return AggregateFunction::UnaryAggregate>(LogicalType::DOUBLE, + LogicalType::DOUBLE); +} + +AggregateFunction KurtosisPopFun::GetFunction() { + return AggregateFunction::UnaryAggregate>(LogicalType::DOUBLE, + LogicalType::DOUBLE); } } // namespace duckdb diff --git a/src/core_functions/aggregate/distributive/minmax.cpp b/src/core_functions/aggregate/distributive/minmax.cpp index fa087bab38f3..f3ef05885973 100644 --- a/src/core_functions/aggregate/distributive/minmax.cpp +++ b/src/core_functions/aggregate/distributive/minmax.cpp @@ -1,9 +1,13 @@ +#include "duckdb/catalog/catalog_entry/aggregate_function_catalog_entry.hpp" #include "duckdb/core_functions/aggregate/distributive_functions.hpp" #include "duckdb/common/exception.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/common/operator/comparison_operators.hpp" #include "duckdb/common/types/null_value.hpp" #include "duckdb/planner/expression.hpp" +#include "duckdb/planner/expression/bound_comparison_expression.hpp" +#include "duckdb/planner/expression_binder.hpp" +#include "duckdb/function/function_binder.hpp" namespace duckdb { @@ -36,6 +40,8 @@ static AggregateFunction GetUnaryAggregate(LogicalType type) { return AggregateFunction::UnaryAggregate, uint64_t, uint64_t, OP>(type, type); case PhysicalType::INT128: return AggregateFunction::UnaryAggregate, hugeint_t, hugeint_t, OP>(type, type); + case PhysicalType::UINT128: + return AggregateFunction::UnaryAggregate, uhugeint_t, uhugeint_t, OP>(type, type); case PhysicalType::FLOAT: return AggregateFunction::UnaryAggregate, float, float, OP>(type, type); case PhysicalType::DOUBLE: @@ -234,6 +240,9 @@ static bool TemplatedOptimumList(Vector &left, idx_t lidx, idx_t lcount, Vector template static bool TemplatedOptimumStruct(Vector &left, idx_t lidx, idx_t lcount, Vector &right, idx_t ridx, idx_t rcount); +template +static bool TemplatedOptimumArray(Vector &left, idx_t lidx, idx_t lcount, Vector &right, idx_t ridx, idx_t rcount); + template static bool TemplatedOptimumValue(Vector &left, idx_t lidx, idx_t lcount, Vector &right, idx_t ridx, idx_t rcount) { D_ASSERT(left.GetType() == right.GetType()); @@ -257,6 +266,8 @@ static bool TemplatedOptimumValue(Vector &left, idx_t lidx, idx_t lcount, Vector return TemplatedOptimumType(left, lidx, lcount, right, ridx, rcount); case PhysicalType::INT128: return TemplatedOptimumType(left, lidx, lcount, right, ridx, rcount); + case PhysicalType::UINT128: + return TemplatedOptimumType(left, lidx, lcount, right, ridx, rcount); case PhysicalType::FLOAT: return TemplatedOptimumType(left, lidx, lcount, right, ridx, rcount); case PhysicalType::DOUBLE: @@ -269,6 +280,8 @@ static bool TemplatedOptimumValue(Vector &left, idx_t lidx, idx_t lcount, Vector return TemplatedOptimumList(left, lidx, lcount, right, ridx, rcount); case PhysicalType::STRUCT: return TemplatedOptimumStruct(left, lidx, lcount, right, ridx, rcount); + case PhysicalType::ARRAY: + return TemplatedOptimumArray(left, lidx, lcount, right, ridx, rcount); default: throw InternalException("Invalid type for distinct comparison"); } @@ -370,6 +383,52 @@ static bool TemplatedOptimumList(Vector &left, idx_t lidx, idx_t lcount, Vector return false; } +// FIXME: We should try to unify this with TemplatedOptimumList +template +static bool TemplatedOptimumArray(Vector &left, idx_t lidx_p, idx_t lcount, Vector &right, idx_t ridx_p, idx_t rcount) { + // so map the indexes first + UnifiedVectorFormat lvdata, rvdata; + left.ToUnifiedFormat(lcount, lvdata); + right.ToUnifiedFormat(rcount, rvdata); + + idx_t lidx = lvdata.sel->get_index(lidx_p); + idx_t ridx = rvdata.sel->get_index(ridx_p); + + // DISTINCT semantics are in effect for nested types + auto lnull = !lvdata.validity.RowIsValid(lidx); + auto rnull = !rvdata.validity.RowIsValid(ridx); + if (lnull || rnull) { + return OP::Operation(0, 0, lnull, rnull); + } + + auto &lchild = ArrayVector::GetEntry(left); + auto &rchild = ArrayVector::GetEntry(right); + auto left_array_size = ArrayType::GetSize(left.GetType()); + auto right_array_size = ArrayType::GetSize(right.GetType()); + + D_ASSERT(left_array_size == right_array_size); + + auto lchild_count = lcount * left_array_size; + auto rchild_count = rcount * right_array_size; + + for (idx_t elem_idx = 0; elem_idx < left_array_size; elem_idx++) { + auto left_elem_idx = lidx * left_array_size + elem_idx; + auto right_elem_idx = ridx * right_array_size + elem_idx; + + // Strict comparisons use the OP for definite + if (TemplatedOptimumValue(lchild, left_elem_idx, lchild_count, rchild, right_elem_idx, rchild_count)) { + return true; + } + + // Strict comparisons use IS NOT DISTINCT for possible + if (!TemplatedOptimumValue(lchild, left_elem_idx, lchild_count, rchild, right_elem_idx, + rchild_count)) { + return false; + } + } + return false; +} + struct VectorMinMaxState { Vector *value; }; @@ -515,12 +574,16 @@ static AggregateFunction GetMinMaxFunction(const LogicalType &type) { template static AggregateFunction GetMinMaxOperator(const LogicalType &type) { - if (type.InternalType() == PhysicalType::VARCHAR) { + auto internal_type = type.InternalType(); + switch (internal_type) { + case PhysicalType::VARCHAR: return AggregateFunction::UnaryAggregateDestructor, string_t, string_t, OP_STRING>( type.id(), type.id()); - } else if (type.InternalType() == PhysicalType::LIST || type.InternalType() == PhysicalType::STRUCT) { + case PhysicalType::LIST: + case PhysicalType::STRUCT: + case PhysicalType::ARRAY: return GetMinMaxFunction(type); - } else { + default: return GetUnaryAggregate(type); } } @@ -528,6 +591,40 @@ static AggregateFunction GetMinMaxOperator(const LogicalType &type) { template unique_ptr BindMinMax(ClientContext &context, AggregateFunction &function, vector> &arguments) { + + if (arguments[0]->return_type.id() == LogicalTypeId::VARCHAR) { + auto str_collation = StringType::GetCollation(arguments[0]->return_type); + if (!str_collation.empty()) { + // If aggr function is min/max and uses collations, replace bound_function with arg_min/arg_max + // to make sure the result's correctness. + string function_name = function.name == "min" ? "arg_min" : "arg_max"; + QueryErrorContext error_context; + auto func = Catalog::GetEntry(context, CatalogType::SCALAR_FUNCTION_ENTRY, "", "", function_name, + OnEntryNotFound::RETURN_NULL, error_context); + + auto &func_entry = func->Cast(); + + FunctionBinder function_binder(context); + vector types {arguments[0]->return_type, arguments[0]->return_type}; + ErrorData error; + idx_t best_function = function_binder.BindFunction(func_entry.name, func_entry.functions, types, error); + if (best_function == DConstants::INVALID_INDEX) { + throw BinderException(string("Fail to find corresponding function for collation min/max: ") + + error.Message()); + } + function = func_entry.functions.GetFunctionByOffset(best_function); + + // Create a copied child and PushCollation for it. + arguments.push_back(arguments[0]->Copy()); + ExpressionBinder::PushCollation(context, arguments[1], arguments[0]->return_type, false); + + // Bind function like arg_min/arg_max. + function.arguments[0] = arguments[0]->return_type; + function.return_type = arguments[0]->return_type; + return nullptr; + } + } + auto input_type = arguments[0]->return_type; auto name = std::move(function.name); function = GetMinMaxOperator(input_type); diff --git a/src/core_functions/aggregate/distributive/string_agg.cpp b/src/core_functions/aggregate/distributive/string_agg.cpp index b09c52fc04e6..bd3e95fb6fcd 100644 --- a/src/core_functions/aggregate/distributive/string_agg.cpp +++ b/src/core_functions/aggregate/distributive/string_agg.cpp @@ -155,7 +155,8 @@ unique_ptr StringAggDeserialize(Deserializer &deserializer, Aggreg AggregateFunctionSet StringAggFun::GetFunctions() { AggregateFunctionSet string_agg; AggregateFunction string_agg_param( - {LogicalType::VARCHAR}, LogicalType::VARCHAR, AggregateFunction::StateSize, + {LogicalType::ANY_PARAMS(LogicalType::VARCHAR)}, LogicalType::VARCHAR, + AggregateFunction::StateSize, AggregateFunction::StateInitialize, AggregateFunction::UnaryScatterUpdate, AggregateFunction::StateCombine, diff --git a/src/core_functions/aggregate/holistic/approximate_quantile.cpp b/src/core_functions/aggregate/holistic/approximate_quantile.cpp index 36a08614ec80..338a0647d0f7 100644 --- a/src/core_functions/aggregate/holistic/approximate_quantile.cpp +++ b/src/core_functions/aggregate/holistic/approximate_quantile.cpp @@ -121,7 +121,15 @@ struct ApproxQuantileScalarOperation : public ApproxQuantileOperation { state.h->compress(); auto &bind_data = finalize_data.input.bind_data->template Cast(); D_ASSERT(bind_data.quantiles.size() == 1); - target = Cast::template Operation(state.h->quantile(bind_data.quantiles[0])); + // The result is approximate, so clamp instead of overflowing. + const auto source = state.h->quantile(bind_data.quantiles[0]); + if (TryCast::Operation(source, target, false)) { + return; + } else if (source < 0) { + target = NumericLimits::Minimum(); + } else { + target = NumericLimits::Maximum(); + } } }; diff --git a/src/core_functions/aggregate/holistic/mode.cpp b/src/core_functions/aggregate/holistic/mode.cpp index 0f81b88c9209..ab6a76bce8d8 100644 --- a/src/core_functions/aggregate/holistic/mode.cpp +++ b/src/core_functions/aggregate/holistic/mode.cpp @@ -3,6 +3,7 @@ // NULL values are ignored. If all the values are NULL, or there are 0 rows, then the function returns NULL. #include "duckdb/common/exception.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/common/operator/comparison_operators.hpp" #include "duckdb/core_functions/aggregate/holistic_functions.hpp" @@ -16,7 +17,9 @@ namespace std { template <> struct hash { inline size_t operator()(const duckdb::interval_t &val) const { - return hash {}(val.days) ^ hash {}(val.months) ^ hash {}(val.micros); + int64_t months, days, micros; + val.Normalize(months, days, micros); + return hash {}(days) ^ hash {}(months) ^ hash {}(micros); } }; @@ -27,6 +30,13 @@ struct hash { } }; +template <> +struct hash { + inline size_t operator()(const duckdb::uhugeint_t &val) const { + return hash {}(val.upper) ^ hash {}(val.lower); + } +}; + } // namespace std namespace duckdb { @@ -41,21 +51,17 @@ struct ModeState { }; using Counts = unordered_map; - Counts *frequency_map; - KEY_TYPE *mode; - size_t nonzero; - bool valid; - size_t count; - - void Initialize() { - frequency_map = nullptr; - mode = nullptr; - nonzero = 0; - valid = false; - count = 0; + ModeState() { } - void Destroy() { + SubFrames prevs; + Counts *frequency_map = nullptr; + KEY_TYPE *mode = nullptr; + size_t nonzero = 0; + bool valid = false; + size_t count = 0; + + ~ModeState() { if (frequency_map) { delete frequency_map; } @@ -119,16 +125,15 @@ struct ModeState { }; struct ModeIncluded { - inline explicit ModeIncluded(const ValidityMask &fmask_p, const ValidityMask &dmask_p, idx_t bias_p) - : fmask(fmask_p), dmask(dmask_p), bias(bias_p) { + inline explicit ModeIncluded(const ValidityMask &fmask_p, const ValidityMask &dmask_p) + : fmask(fmask_p), dmask(dmask_p) { } inline bool operator()(const idx_t &idx) const { - return fmask.RowIsValid(idx) && dmask.RowIsValid(idx - bias); + return fmask.RowIsValid(idx) && dmask.RowIsValid(idx); } const ValidityMask &fmask; const ValidityMask &dmask; - const idx_t bias; }; struct ModeAssignmentStandard { @@ -149,7 +154,7 @@ template struct ModeFunction { template static void Initialize(STATE &state) { - state.Initialize(); + new (&state) STATE(); } template @@ -207,51 +212,71 @@ struct ModeFunction { state.count += count; } + template + struct UpdateWindowState { + STATE &state; + const INPUT_TYPE *data; + ModeIncluded &included; + + inline UpdateWindowState(STATE &state, const INPUT_TYPE *data, ModeIncluded &included) + : state(state), data(data), included(included) { + } + + inline void Neither(idx_t begin, idx_t end) { + } + + inline void Left(idx_t begin, idx_t end) { + for (; begin < end; ++begin) { + if (included(begin)) { + state.ModeRm(KEY_TYPE(data[begin]), begin); + } + } + } + + inline void Right(idx_t begin, idx_t end) { + for (; begin < end; ++begin) { + if (included(begin)) { + state.ModeAdd(KEY_TYPE(data[begin]), begin); + } + } + } + + inline void Both(idx_t begin, idx_t end) { + } + }; + template static void Window(const INPUT_TYPE *data, const ValidityMask &fmask, const ValidityMask &dmask, - AggregateInputData &, STATE &state, const FrameBounds &frame, const FrameBounds &prev, - Vector &result, idx_t rid, idx_t bias) { + AggregateInputData &aggr_input_data, STATE &state, const SubFrames &frames, Vector &result, + idx_t rid, const STATE *gstate) { auto rdata = FlatVector::GetData(result); auto &rmask = FlatVector::Validity(result); + auto &prevs = state.prevs; + if (prevs.empty()) { + prevs.resize(1); + } - ModeIncluded included(fmask, dmask, bias); + ModeIncluded included(fmask, dmask); if (!state.frequency_map) { state.frequency_map = new typename STATE::Counts; } const double tau = .25; - if (state.nonzero <= tau * state.frequency_map->size() || prev.end <= frame.start || frame.end <= prev.start) { + if (state.nonzero <= tau * state.frequency_map->size() || prevs.back().end <= frames.front().start || + frames.back().end <= prevs.front().start) { state.Reset(); // for f ∈ F do - for (auto f = frame.start; f < frame.end; ++f) { - if (included(f)) { - state.ModeAdd(KEY_TYPE(data[f]), f); + for (const auto &frame : frames) { + for (auto i = frame.start; i < frame.end; ++i) { + if (included(i)) { + state.ModeAdd(KEY_TYPE(data[i]), i); + } } } } else { - // for f ∈ P \ F do - for (auto p = prev.start; p < frame.start; ++p) { - if (included(p)) { - state.ModeRm(KEY_TYPE(data[p]), p); - } - } - for (auto p = frame.end; p < prev.end; ++p) { - if (included(p)) { - state.ModeRm(KEY_TYPE(data[p]), p); - } - } - - // for f ∈ F \ P do - for (auto f = frame.start; f < prev.start; ++f) { - if (included(f)) { - state.ModeAdd(KEY_TYPE(data[f]), f); - } - } - for (auto f = prev.end; f < frame.end; ++f) { - if (included(f)) { - state.ModeAdd(KEY_TYPE(data[f]), f); - } - } + using Updater = UpdateWindowState; + Updater updater(state, data, included); + AggregateExecutor::IntersectFrames(prevs, frames, updater); } if (!state.valid) { @@ -269,6 +294,8 @@ struct ModeFunction { } else { rmask.Set(rid, false); } + + prevs = frames; } static bool IgnoreNull() { @@ -277,7 +304,7 @@ struct ModeFunction { template static void Destroy(STATE &state, AggregateInputData &aggr_input_data) { - state.Destroy(); + state.~STATE(); } }; @@ -285,7 +312,8 @@ template ; using OP = ModeFunction; - auto func = AggregateFunction::UnaryAggregateDestructor(type, type); + auto return_type = type.id() == LogicalTypeId::ANY ? LogicalType::VARCHAR : type; + auto func = AggregateFunction::UnaryAggregateDestructor(type, return_type); func.window = AggregateFunction::UnaryWindow; return func; } @@ -310,6 +338,8 @@ AggregateFunction GetModeAggregate(const LogicalType &type) { return GetTypedModeFunction(type); case PhysicalType::INT128: return GetTypedModeFunction(type); + case PhysicalType::UINT128: + return GetTypedModeFunction(type); case PhysicalType::FLOAT: return GetTypedModeFunction(type); @@ -320,7 +350,8 @@ AggregateFunction GetModeAggregate(const LogicalType &type) { return GetTypedModeFunction(type); case PhysicalType::VARCHAR: - return GetTypedModeFunction(type); + return GetTypedModeFunction( + LogicalType::ANY_PARAMS(LogicalType::VARCHAR, 150)); default: throw NotImplementedException("Unimplemented mode aggregate"); diff --git a/src/core_functions/aggregate/holistic/quantile.cpp b/src/core_functions/aggregate/holistic/quantile.cpp index 09f9204d85e0..a9af11250f44 100644 --- a/src/core_functions/aggregate/holistic/quantile.cpp +++ b/src/core_functions/aggregate/holistic/quantile.cpp @@ -1,17 +1,21 @@ #include "duckdb/execution/expression_executor.hpp" #include "duckdb/core_functions/aggregate/holistic_functions.hpp" +#include "duckdb/execution/merge_sort_tree.hpp" #include "duckdb/core_functions/aggregate/quantile_enum.hpp" #include "duckdb/planner/expression.hpp" #include "duckdb/common/operator/cast_operators.hpp" #include "duckdb/common/operator/abs.hpp" #include "duckdb/common/operator/multiply.hpp" -#include "duckdb/common/types/chunk_collection.hpp" + #include "duckdb/common/types/timestamp.hpp" #include "duckdb/common/queue.hpp" #include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/serializer/deserializer.hpp" +#include "SkipList.h" + #include +#include #include #include @@ -37,41 +41,38 @@ inline interval_t operator-(const interval_t &lhs, const interval_t &rhs) { return Interval::FromMicro(Interval::GetMicro(lhs) - Interval::GetMicro(rhs)); } -template -struct QuantileState { - using SaveType = SAVE_TYPE; - - // Regular aggregation - vector v; - - // Windowed Quantile indirection - vector w; - idx_t pos; - - // Windowed MAD indirection - vector m; - - QuantileState() : pos(0) { +struct FrameSet { + inline explicit FrameSet(const SubFrames &frames_p) : frames(frames_p) { } - ~QuantileState() { + inline idx_t Size() const { + idx_t result = 0; + for (const auto &frame : frames) { + result += frame.end - frame.start; + } + + return result; } - inline void SetPos(size_t pos_p) { - pos = pos_p; - if (pos >= w.size()) { - w.resize(pos); + inline bool Contains(idx_t i) const { + for (idx_t f = 0; f < frames.size(); ++f) { + const auto &frame = frames[f]; + if (frame.start <= i && i < frame.end) { + return true; + } } + return false; } + const SubFrames &frames; }; struct QuantileIncluded { - inline explicit QuantileIncluded(const ValidityMask &fmask_p, const ValidityMask &dmask_p, idx_t bias_p) - : fmask(fmask_p), dmask(dmask_p), bias(bias_p) { + inline explicit QuantileIncluded(const ValidityMask &fmask_p, const ValidityMask &dmask_p) + : fmask(fmask_p), dmask(dmask_p) { } inline bool operator()(const idx_t &idx) const { - return fmask.RowIsValid(idx) && dmask.RowIsValid(idx - bias); + return fmask.RowIsValid(idx) && dmask.RowIsValid(idx); } inline bool AllValid() const { @@ -80,86 +81,65 @@ struct QuantileIncluded { const ValidityMask &fmask; const ValidityMask &dmask; - const idx_t bias; }; -void ReuseIndexes(idx_t *index, const FrameBounds &frame, const FrameBounds &prev) { - idx_t j = 0; +struct QuantileReuseUpdater { + idx_t *index; + idx_t j; - // Copy overlapping indices - for (idx_t p = 0; p < (prev.end - prev.start); ++p) { - auto idx = index[p]; + inline QuantileReuseUpdater(idx_t *index, idx_t j) : index(index), j(j) { + } - // Shift down into any hole - if (j != p) { - index[j] = idx; - } + inline void Neither(idx_t begin, idx_t end) { + } - // Skip overlapping values - if (frame.start <= idx && idx < frame.end) { - ++j; - } + inline void Left(idx_t begin, idx_t end) { } - // Insert new indices - if (j > 0) { - // Overlap: append the new ends - for (auto f = frame.start; f < prev.start; ++f, ++j) { - index[j] = f; - } - for (auto f = prev.end; f < frame.end; ++f, ++j) { - index[j] = f; - } - } else { - // No overlap: overwrite with new values - for (auto f = frame.start; f < frame.end; ++f, ++j) { - index[j] = f; + inline void Right(idx_t begin, idx_t end) { + for (; begin < end; ++begin) { + index[j++] = begin; } } -} -static idx_t ReplaceIndex(idx_t *index, const FrameBounds &frame, const FrameBounds &prev) { // NOLINT - D_ASSERT(index); + inline void Both(idx_t begin, idx_t end) { + } +}; +void ReuseIndexes(idx_t *index, const SubFrames &currs, const SubFrames &prevs) { + + // Copy overlapping indices by scanning the previous set and copying down into holes. + // We copy instead of leaving gaps in case there are fewer values in the current frame. + FrameSet prev_set(prevs); + FrameSet curr_set(currs); + const auto prev_count = prev_set.Size(); idx_t j = 0; - for (idx_t p = 0; p < (prev.end - prev.start); ++p) { + for (idx_t p = 0; p < prev_count; ++p) { auto idx = index[p]; + + // Shift down into any hole if (j != p) { - break; + index[j] = idx; } - if (frame.start <= idx && idx < frame.end) { + // Skip overlapping values + if (curr_set.Contains(idx)) { ++j; } } - index[j] = frame.end - 1; - return j; -} - -template -static inline int CanReplace(const idx_t *index, const INPUT_TYPE *fdata, const idx_t j, const idx_t k0, const idx_t k1, - const QuantileIncluded &validity) { - D_ASSERT(index); - - // NULLs sort to the end, so if we have inserted a NULL, - // it must be past the end of the quantile to be replaceable. - // Note that the quantile values are never NULL. - const auto ij = index[j]; - if (!validity(ij)) { - return k1 < j ? 1 : 0; - } - - auto curr = fdata[ij]; - if (k1 < j) { - auto hi = fdata[index[k0]]; - return hi < curr ? 1 : 0; - } else if (j < k0) { - auto lo = fdata[index[k1]]; - return curr < lo ? -1 : 0; + // Insert new indices + if (j > 0) { + QuantileReuseUpdater updater(index, j); + AggregateExecutor::IntersectFrames(prevs, currs, updater); + } else { + // No overlap: overwrite with new values + for (const auto &curr : currs) { + for (auto idx = curr.start; idx < curr.end; ++idx) { + index[j++] = idx; + } + } } - - return 0; } template @@ -325,6 +305,18 @@ struct Interpolator { : desc(desc_p), RN((double)(n_p - 1) * q.dbl), FRN(floor(RN)), CRN(ceil(RN)), begin(0), end(n_p) { } + template > + TARGET_TYPE Interpolate(INPUT_TYPE lidx, INPUT_TYPE hidx, Vector &result, const ACCESSOR &accessor) const { + using ACCESS_TYPE = typename ACCESSOR::RESULT_TYPE; + if (lidx == hidx) { + return CastInterpolation::Cast(accessor(lidx), result); + } else { + auto lo = CastInterpolation::Cast(accessor(lidx), result); + auto hi = CastInterpolation::Cast(accessor(hidx), result); + return CastInterpolation::Interpolate(lo, RN - FRN, hi); + } + } + template > TARGET_TYPE Operation(INPUT_TYPE *v_t, Vector &result, const ACCESSOR &accessor = ACCESSOR()) const { using ACCESS_TYPE = typename ACCESSOR::RESULT_TYPE; @@ -341,14 +333,13 @@ struct Interpolator { } } - template > - TARGET_TYPE Replace(const INPUT_TYPE *v_t, Vector &result, const ACCESSOR &accessor = ACCESSOR()) const { - using ACCESS_TYPE = typename ACCESSOR::RESULT_TYPE; + template + inline TARGET_TYPE Extract(const INPUT_TYPE **dest, Vector &result) const { if (CRN == FRN) { - return CastInterpolation::Cast(accessor(v_t[FRN]), result); + return CastInterpolation::Cast(*dest[0], result); } else { - auto lo = CastInterpolation::Cast(accessor(v_t[FRN]), result); - auto hi = CastInterpolation::Cast(accessor(v_t[CRN]), result); + auto lo = CastInterpolation::Cast(*dest[0], result); + auto hi = CastInterpolation::Cast(*dest[1], result); return CastInterpolation::Interpolate(lo, RN - FRN, hi); } } @@ -390,6 +381,12 @@ struct Interpolator { : desc(desc_p), FRN(Index(q, n_p)), CRN(FRN), begin(0), end(n_p) { } + template > + TARGET_TYPE Interpolate(INPUT_TYPE lidx, INPUT_TYPE hidx, Vector &result, const ACCESSOR &accessor) const { + using ACCESS_TYPE = typename ACCESSOR::RESULT_TYPE; + return CastInterpolation::Cast(accessor(lidx), result); + } + template > TARGET_TYPE Operation(INPUT_TYPE *v_t, Vector &result, const ACCESSOR &accessor = ACCESSOR()) const { using ACCESS_TYPE = typename ACCESSOR::RESULT_TYPE; @@ -398,10 +395,9 @@ struct Interpolator { return CastInterpolation::Cast(accessor(v_t[FRN]), result); } - template > - TARGET_TYPE Replace(const INPUT_TYPE *v_t, Vector &result, const ACCESSOR &accessor = ACCESSOR()) const { - using ACCESS_TYPE = typename ACCESSOR::RESULT_TYPE; - return CastInterpolation::Cast(accessor(v_t[FRN]), result); + template + TARGET_TYPE Extract(const INPUT_TYPE **dest, Vector &result) const { + return CastInterpolation::Cast(*dest[0], result); } const bool desc; @@ -570,6 +566,254 @@ struct QuantileBindData : public FunctionData { bool desc; }; +template +struct QuantileSortTree : public MergeSortTree { + + using BaseTree = MergeSortTree; + using Elements = typename BaseTree::Elements; + + explicit QuantileSortTree(Elements &&lowest_level) : BaseTree(std::move(lowest_level)) { + } + + template + static unique_ptr WindowInit(const INPUT_TYPE *data, AggregateInputData &aggr_input_data, + const ValidityMask &data_mask, const ValidityMask &filter_mask, + idx_t count) { + // Build the indirection array + using ElementType = typename QuantileSortTree::ElementType; + vector sorted(count); + if (filter_mask.AllValid() && data_mask.AllValid()) { + std::iota(sorted.begin(), sorted.end(), 0); + } else { + size_t valid = 0; + QuantileIncluded included(filter_mask, data_mask); + for (ElementType i = 0; i < count; ++i) { + if (included(i)) { + sorted[valid++] = i; + } + } + sorted.resize(valid); + } + + // Sort it + auto &bind_data = aggr_input_data.bind_data->Cast(); + using Accessor = QuantileIndirect; + Accessor indirect(data); + QuantileCompare cmp(indirect, bind_data.desc); + std::sort(sorted.begin(), sorted.end(), cmp); + + return make_uniq(std::move(sorted)); + } + + inline IDX SelectNth(const SubFrames &frames, size_t n) const { + return BaseTree::NthElement(BaseTree::SelectNth(frames, n)); + } + + template + RESULT_TYPE WindowScalar(const INPUT_TYPE *data, const SubFrames &frames, const idx_t n, Vector &result, + const QuantileValue &q) const { + D_ASSERT(n > 0); + + // Find the interpolated indicies within the frame + Interpolator interp(q, n, false); + const auto lo_data = SelectNth(frames, interp.FRN); + auto hi_data = lo_data; + if (interp.CRN != interp.FRN) { + hi_data = SelectNth(frames, interp.CRN); + } + + // Interpolate indirectly + using ID = QuantileIndirect; + ID indirect(data); + return interp.template Interpolate(lo_data, hi_data, result, indirect); + } + + template + void WindowList(const INPUT_TYPE *data, const SubFrames &frames, const idx_t n, Vector &list, const idx_t lidx, + const QuantileBindData &bind_data) const { + D_ASSERT(n > 0); + + // Result is a constant LIST with a fixed length + auto ldata = FlatVector::GetData(list); + auto &lentry = ldata[lidx]; + lentry.offset = ListVector::GetListSize(list); + lentry.length = bind_data.quantiles.size(); + + ListVector::Reserve(list, lentry.offset + lentry.length); + ListVector::SetListSize(list, lentry.offset + lentry.length); + auto &result = ListVector::GetEntry(list); + auto rdata = FlatVector::GetData(result); + + using ID = QuantileIndirect; + ID indirect(data); + for (const auto &q : bind_data.order) { + const auto &quantile = bind_data.quantiles[q]; + Interpolator interp(quantile, n, false); + + const auto lo_data = SelectNth(frames, interp.FRN); + auto hi_data = lo_data; + if (interp.CRN != interp.FRN) { + hi_data = SelectNth(frames, interp.CRN); + } + + // Interpolate indirectly + rdata[lentry.offset + q] = + interp.template Interpolate(lo_data, hi_data, result, indirect); + } + } +}; + +template +struct PointerLess { + inline bool operator()(const T &lhi, const T &rhi) const { + return *lhi < *rhi; + } +}; + +template +struct QuantileState { + using SaveType = SAVE_TYPE; + using InputType = INPUT_TYPE; + + // Regular aggregation + vector v; + + // Windowed Quantile merge sort trees + using QuantileSortTree32 = QuantileSortTree; + using QuantileSortTree64 = QuantileSortTree; + unique_ptr qst32; + unique_ptr qst64; + + // Windowed Quantile skip lists + using PointerType = const InputType *; + using SkipListType = duckdb_skiplistlib::skip_list::HeadNode>; + SubFrames prevs; + unique_ptr s; + mutable vector dest; + + // Windowed MAD indirection + idx_t count; + vector m; + + QuantileState() : count(0) { + } + + ~QuantileState() { + } + + inline void SetCount(size_t count_p) { + count = count_p; + if (count >= m.size()) { + m.resize(count); + } + } + + inline SkipListType &GetSkipList(bool reset = false) { + if (reset || !s) { + s.reset(); + s = make_uniq(); + } + return *s; + } + + struct SkipListUpdater { + SkipListType &skip; + const INPUT_TYPE *data; + const QuantileIncluded &included; + + inline SkipListUpdater(SkipListType &skip, const INPUT_TYPE *data, const QuantileIncluded &included) + : skip(skip), data(data), included(included) { + } + + inline void Neither(idx_t begin, idx_t end) { + } + + inline void Left(idx_t begin, idx_t end) { + for (; begin < end; ++begin) { + if (included(begin)) { + skip.remove(data + begin); + } + } + } + + inline void Right(idx_t begin, idx_t end) { + for (; begin < end; ++begin) { + if (included(begin)) { + skip.insert(data + begin); + } + } + } + + inline void Both(idx_t begin, idx_t end) { + } + }; + + void UpdateSkip(const INPUT_TYPE *data, const SubFrames &frames, const QuantileIncluded &included) { + // No overlap, or no data + if (!s || prevs.back().end <= frames.front().start || frames.back().end <= prevs.front().start) { + auto &skip = GetSkipList(true); + for (const auto &frame : frames) { + for (auto i = frame.start; i < frame.end; ++i) { + if (included(i)) { + skip.insert(data + i); + } + } + } + } else { + auto &skip = GetSkipList(); + SkipListUpdater updater(skip, data, included); + AggregateExecutor::IntersectFrames(prevs, frames, updater); + } + } + + bool HasTrees() const { + return qst32 || qst64; + } + + template + RESULT_TYPE WindowScalar(const INPUT_TYPE *data, const SubFrames &frames, const idx_t n, Vector &result, + const QuantileValue &q) const { + D_ASSERT(n > 0); + if (qst32) { + return qst32->WindowScalar(data, frames, n, result, q); + } else if (qst64) { + return qst64->WindowScalar(data, frames, n, result, q); + } else if (s) { + // Find the position(s) needed + try { + Interpolator interp(q, s->size(), false); + s->at(interp.FRN, interp.CRN - interp.FRN + 1, dest); + return interp.template Extract(dest.data(), result); + } catch (const duckdb_skiplistlib::skip_list::IndexError &idx_err) { + throw InternalException(idx_err.message()); + } + } else { + throw InternalException("No accelerator for scalar QUANTILE"); + } + } + + template + void WindowList(const INPUT_TYPE *data, const SubFrames &frames, const idx_t n, Vector &list, const idx_t lidx, + const QuantileBindData &bind_data) const { + D_ASSERT(n > 0); + // Result is a constant LIST with a fixed length + auto ldata = FlatVector::GetData(list); + auto &lentry = ldata[lidx]; + lentry.offset = ListVector::GetListSize(list); + lentry.length = bind_data.quantiles.size(); + + ListVector::Reserve(list, lentry.offset + lentry.length); + ListVector::SetListSize(list, lentry.offset + lentry.length); + auto &result = ListVector::GetEntry(list); + auto rdata = FlatVector::GetData(result); + + for (const auto &q : bind_data.order) { + const auto &quantile = bind_data.quantiles[q]; + rdata[lentry.offset + q] = WindowScalar(data, frames, n, result, quantile); + } + } +}; + struct QuantileOperation { template static void Initialize(STATE &state) { @@ -605,11 +849,66 @@ struct QuantileOperation { static bool IgnoreNull() { return true; } + + template + static void WindowInit(AggregateInputData &aggr_input_data, const WindowPartitionInput &partition, + data_ptr_t g_state) { + D_ASSERT(partition.input_count == 1); + + auto inputs = partition.inputs; + const auto count = partition.count; + const auto &filter_mask = partition.filter_mask; + const auto &stats = partition.stats; + + // If frames overlap significantly, then use local skip lists. + if (stats[0].end <= stats[1].begin) { + // Frames can overlap + const auto overlap = double(stats[1].begin - stats[0].end); + const auto cover = double(stats[1].end - stats[0].begin); + const auto ratio = overlap / cover; + if (ratio > .75) { + return; + } + } + + const auto data = FlatVector::GetData(inputs[0]); + const auto &data_mask = FlatVector::Validity(inputs[0]); + + // Build the tree + auto &state = *reinterpret_cast(g_state); + if (count < std::numeric_limits::max()) { + state.qst32 = QuantileSortTree::WindowInit(data, aggr_input_data, data_mask, + filter_mask, count); + } else { + state.qst64 = QuantileSortTree::WindowInit(data, aggr_input_data, data_mask, + filter_mask, count); + } + } + + static idx_t FrameSize(const QuantileIncluded &included, const SubFrames &frames) { + // Count the number of valid values + idx_t n = 0; + if (included.AllValid()) { + for (const auto &frame : frames) { + n += frame.end - frame.start; + } + } else { + // NULLs or FILTERed values, + for (const auto &frame : frames) { + for (auto i = frame.start; i < frame.end; ++i) { + n += included(i); + } + } + } + + return n; + } }; template static AggregateFunction QuantileListAggregate(const LogicalType &input_type, const LogicalType &child_type) { // NOLINT - LogicalType result_type = LogicalType::LIST(child_type); + LogicalType result_type = + LogicalType::LIST(child_type.id() == LogicalTypeId::ANY ? LogicalType::VARCHAR : child_type); return AggregateFunction( {input_type}, result_type, AggregateFunction::StateSize, AggregateFunction::StateInitialize, AggregateFunction::UnaryScatterUpdate, AggregateFunction::StateCombine, @@ -635,65 +934,46 @@ struct QuantileScalarOperation : public QuantileOperation { template static void Window(const INPUT_TYPE *data, const ValidityMask &fmask, const ValidityMask &dmask, - AggregateInputData &aggr_input_data, STATE &state, const FrameBounds &frame, - const FrameBounds &prev, Vector &result, idx_t ridx, idx_t bias) { - auto rdata = FlatVector::GetData(result); - auto &rmask = FlatVector::Validity(result); - - QuantileIncluded included(fmask, dmask, bias); - - // Lazily initialise frame state - auto prev_pos = state.pos; - state.SetPos(frame.end - frame.start); - - auto index = state.w.data(); - D_ASSERT(index); + AggregateInputData &aggr_input_data, STATE &state, const SubFrames &frames, Vector &result, + idx_t ridx, const STATE *gstate) { + QuantileIncluded included(fmask, dmask); + const auto n = FrameSize(included, frames); D_ASSERT(aggr_input_data.bind_data); auto &bind_data = aggr_input_data.bind_data->Cast(); - // Find the two positions needed - const auto &q = bind_data.quantiles[0]; - - bool replace = false; - if (frame.start == prev.start + 1 && frame.end == prev.end + 1) { - // Fixed frame size - const auto j = ReplaceIndex(index, frame, prev); - // We can only replace if the number of NULLs has not changed - if (included.AllValid() || included(prev.start) == included(prev.end)) { - Interpolator interp(q, prev_pos, false); - replace = CanReplace(index, data, j, interp.FRN, interp.CRN, included); - if (replace) { - state.pos = prev_pos; - } - } - } else { - ReuseIndexes(index, frame, prev); - } + auto rdata = FlatVector::GetData(result); + auto &rmask = FlatVector::Validity(result); - if (!replace && !included.AllValid()) { - // Remove the NULLs - state.pos = std::partition(index, index + state.pos, included) - index; + if (!n) { + rmask.Set(ridx, false); + return; } - if (state.pos) { - Interpolator interp(q, state.pos, false); - using ID = QuantileIndirect; - ID indirect(data); - rdata[ridx] = replace ? interp.template Replace(index, result, indirect) - : interp.template Operation(index, result, indirect); + const auto &quantile = bind_data.quantiles[0]; + if (gstate && gstate->HasTrees()) { + rdata[ridx] = gstate->template WindowScalar(data, frames, n, result, quantile); } else { - rmask.Set(ridx, false); + // Update the skip list + state.UpdateSkip(data, frames, included); + + // Find the position(s) needed + rdata[ridx] = state.template WindowScalar(data, frames, n, result, quantile); + + // Save the previous state for next time + state.prevs = frames; } } }; template AggregateFunction GetTypedDiscreteQuantileAggregateFunction(const LogicalType &type) { - using STATE = QuantileState; + using STATE = QuantileState; using OP = QuantileScalarOperation; - auto fun = AggregateFunction::UnaryAggregateDestructor(type, type); + auto return_type = type.id() == LogicalTypeId::ANY ? LogicalType::VARCHAR : type; + auto fun = AggregateFunction::UnaryAggregateDestructor(type, return_type); fun.window = AggregateFunction::UnaryWindow; + fun.window_init = OP::WindowInit; return fun; } @@ -736,8 +1016,7 @@ AggregateFunction GetDiscreteQuantileAggregateFunction(const LogicalType &type) return GetTypedDiscreteQuantileAggregateFunction(type); case LogicalTypeId::INTERVAL: return GetTypedDiscreteQuantileAggregateFunction(type); - - case LogicalTypeId::VARCHAR: + case LogicalTypeId::ANY: return GetTypedDiscreteQuantileAggregateFunction(type); default: @@ -783,106 +1062,40 @@ struct QuantileListOperation : public QuantileOperation { template static void Window(const INPUT_TYPE *data, const ValidityMask &fmask, const ValidityMask &dmask, - AggregateInputData &aggr_input_data, STATE &state, const FrameBounds &frame, - const FrameBounds &prev, Vector &list, idx_t lidx, idx_t bias) { + AggregateInputData &aggr_input_data, STATE &state, const SubFrames &frames, Vector &list, + idx_t lidx, const STATE *gstate) { D_ASSERT(aggr_input_data.bind_data); auto &bind_data = aggr_input_data.bind_data->Cast(); - QuantileIncluded included(fmask, dmask, bias); + QuantileIncluded included(fmask, dmask); + const auto n = FrameSize(included, frames); // Result is a constant LIST with a fixed length - auto ldata = FlatVector::GetData(list); - auto &lmask = FlatVector::Validity(list); - auto &lentry = ldata[lidx]; - lentry.offset = ListVector::GetListSize(list); - lentry.length = bind_data.quantiles.size(); - - ListVector::Reserve(list, lentry.offset + lentry.length); - ListVector::SetListSize(list, lentry.offset + lentry.length); - auto &result = ListVector::GetEntry(list); - auto rdata = FlatVector::GetData(result); - - // Lazily initialise frame state - auto prev_pos = state.pos; - state.SetPos(frame.end - frame.start); - - auto index = state.w.data(); - - // We can generalise replacement for quantile lists by observing that when a replacement is - // valid for a single quantile, it is valid for all quantiles greater/less than that quantile - // based on whether the insertion is below/above the quantile location. - // So if a replaced index in an IQR is located between Q25 and Q50, but has a value below Q25, - // then Q25 must be recomputed, but Q50 and Q75 are unaffected. - // For a single element list, this reduces to the scalar case. - std::pair replaceable {state.pos, 0}; - if (frame.start == prev.start + 1 && frame.end == prev.end + 1) { - // Fixed frame size - const auto j = ReplaceIndex(index, frame, prev); - // We can only replace if the number of NULLs has not changed - if (included.AllValid() || included(prev.start) == included(prev.end)) { - for (const auto &q : bind_data.order) { - const auto &quantile = bind_data.quantiles[q]; - Interpolator interp(quantile, prev_pos, false); - const auto replace = CanReplace(index, data, j, interp.FRN, interp.CRN, included); - if (replace < 0) { - // Replacement is before this quantile, so the rest will be replaceable too. - replaceable.first = MinValue(replaceable.first, interp.FRN); - replaceable.second = prev_pos; - break; - } else if (replace > 0) { - // Replacement is after this quantile, so everything before it is replaceable too. - replaceable.first = 0; - replaceable.second = MaxValue(replaceable.second, interp.CRN); - } - } - if (replaceable.first < replaceable.second) { - state.pos = prev_pos; - } - } - } else { - ReuseIndexes(index, frame, prev); - } - - if (replaceable.first >= replaceable.second && !included.AllValid()) { - // Remove the NULLs - state.pos = std::partition(index, index + state.pos, included) - index; + if (!n) { + auto &lmask = FlatVector::Validity(list); + lmask.Set(lidx, false); + return; } - if (state.pos) { - using ID = QuantileIndirect; - ID indirect(data); - for (const auto &q : bind_data.order) { - const auto &quantile = bind_data.quantiles[q]; - Interpolator interp(quantile, state.pos, false); - if (replaceable.first <= interp.FRN && interp.CRN <= replaceable.second) { - rdata[lentry.offset + q] = interp.template Replace(index, result, indirect); - } else { - // Make sure we don't disturb any replacements - if (replaceable.first < replaceable.second) { - if (interp.FRN < replaceable.first) { - interp.end = replaceable.first; - } - if (replaceable.second < interp.CRN) { - interp.begin = replaceable.second; - } - } - rdata[lentry.offset + q] = - interp.template Operation(index, result, indirect); - } - } + if (gstate && gstate->HasTrees()) { + gstate->template WindowList(data, frames, n, list, lidx, bind_data); } else { - lmask.Set(lidx, false); + // + state.UpdateSkip(data, frames, included); + state.template WindowList(data, frames, n, list, lidx, bind_data); + state.prevs = frames; } } }; template AggregateFunction GetTypedDiscreteQuantileListAggregateFunction(const LogicalType &type) { - using STATE = QuantileState; + using STATE = QuantileState; using OP = QuantileListOperation; auto fun = QuantileListAggregate(type, type); fun.order_dependent = AggregateOrderDependent::NOT_ORDER_DEPENDENT; fun.window = AggregateFunction::UnaryWindow; + fun.window_init = OP::template WindowInit; return fun; } @@ -925,7 +1138,7 @@ AggregateFunction GetDiscreteQuantileListAggregateFunction(const LogicalType &ty return GetTypedDiscreteQuantileListAggregateFunction(type); case LogicalTypeId::INTERVAL: return GetTypedDiscreteQuantileListAggregateFunction(type); - case LogicalTypeId::VARCHAR: + case LogicalTypeId::ANY: return GetTypedDiscreteQuantileListAggregateFunction(type); default: throw NotImplementedException("Unimplemented discrete quantile list aggregate"); @@ -935,11 +1148,12 @@ AggregateFunction GetDiscreteQuantileListAggregateFunction(const LogicalType &ty template AggregateFunction GetTypedContinuousQuantileAggregateFunction(const LogicalType &input_type, const LogicalType &target_type) { - using STATE = QuantileState; + using STATE = QuantileState; using OP = QuantileScalarOperation; auto fun = AggregateFunction::UnaryAggregateDestructor(input_type, target_type); fun.order_dependent = AggregateOrderDependent::NOT_ORDER_DEPENDENT; fun.window = AggregateFunction::UnaryWindow; + fun.window_init = OP::template WindowInit; return fun; } @@ -989,11 +1203,12 @@ AggregateFunction GetContinuousQuantileAggregateFunction(const LogicalType &type template AggregateFunction GetTypedContinuousQuantileListAggregateFunction(const LogicalType &input_type, const LogicalType &result_type) { - using STATE = QuantileState; + using STATE = QuantileState; using OP = QuantileListOperation; auto fun = QuantileListAggregate(input_type, result_type); fun.order_dependent = AggregateOrderDependent::NOT_ORDER_DEPENDENT; fun.window = AggregateFunction::UnaryWindow; + fun.window_init = OP::template WindowInit; return fun; } @@ -1009,7 +1224,6 @@ AggregateFunction GetContinuousQuantileListAggregateFunction(const LogicalType & return GetTypedContinuousQuantileListAggregateFunction(type, LogicalType::DOUBLE); case LogicalTypeId::HUGEINT: return GetTypedContinuousQuantileListAggregateFunction(type, LogicalType::DOUBLE); - case LogicalTypeId::FLOAT: return GetTypedContinuousQuantileListAggregateFunction(type, type); case LogicalTypeId::DOUBLE: @@ -1027,8 +1241,6 @@ AggregateFunction GetContinuousQuantileListAggregateFunction(const LogicalType & default: throw NotImplementedException("Unimplemented discrete quantile DECIMAL list aggregate"); } - break; - case LogicalTypeId::DATE: return GetTypedContinuousQuantileListAggregateFunction(type, LogicalType::TIMESTAMP); case LogicalTypeId::TIMESTAMP: @@ -1037,7 +1249,6 @@ AggregateFunction GetContinuousQuantileListAggregateFunction(const LogicalType & case LogicalTypeId::TIME: case LogicalTypeId::TIME_TZ: return GetTypedContinuousQuantileListAggregateFunction(type, type); - default: throw NotImplementedException("Unimplemented discrete quantile list aggregate"); } @@ -1141,80 +1352,60 @@ struct MedianAbsoluteDeviationOperation : public QuantileOperation { template static void Window(const INPUT_TYPE *data, const ValidityMask &fmask, const ValidityMask &dmask, - AggregateInputData &aggr_input_data, STATE &state, const FrameBounds &frame, - const FrameBounds &prev, Vector &result, idx_t ridx, idx_t bias) { + AggregateInputData &aggr_input_data, STATE &state, const SubFrames &frames, Vector &result, + idx_t ridx, const STATE *gstate) { auto rdata = FlatVector::GetData(result); - auto &rmask = FlatVector::Validity(result); - QuantileIncluded included(fmask, dmask, bias); + QuantileIncluded included(fmask, dmask); + const auto n = FrameSize(included, frames); - // Lazily initialise frame state - auto prev_pos = state.pos; - state.SetPos(frame.end - frame.start); + if (!n) { + auto &rmask = FlatVector::Validity(result); + rmask.Set(ridx, false); + return; + } - auto index = state.w.data(); - D_ASSERT(index); + // Compute the median + D_ASSERT(aggr_input_data.bind_data); + auto &bind_data = aggr_input_data.bind_data->Cast(); - // We need a second index for the second pass. - if (state.pos > state.m.size()) { - state.m.resize(state.pos); + D_ASSERT(bind_data.quantiles.size() == 1); + const auto &quantile = bind_data.quantiles[0]; + MEDIAN_TYPE med; + if (gstate && gstate->HasTrees()) { + med = gstate->template WindowScalar(data, frames, n, result, quantile); + } else { + state.UpdateSkip(data, frames, included); + med = state.template WindowScalar(data, frames, n, result, quantile); } + // Lazily initialise frame state + state.SetCount(frames.back().end - frames.front().start); auto index2 = state.m.data(); D_ASSERT(index2); // The replacement trick does not work on the second index because if // the median has changed, the previous order is not correct. // It is probably close, however, and so reuse is helpful. - ReuseIndexes(index2, frame, prev); - std::partition(index2, index2 + state.pos, included); + auto &prevs = state.prevs; + ReuseIndexes(index2, frames, prevs); + std::partition(index2, index2 + state.count, included); - // Find the two positions needed for the median - D_ASSERT(aggr_input_data.bind_data); - auto &bind_data = aggr_input_data.bind_data->Cast(); - D_ASSERT(bind_data.quantiles.size() == 1); - const auto &q = bind_data.quantiles[0]; + Interpolator interp(quantile, n, false); - bool replace = false; - if (frame.start == prev.start + 1 && frame.end == prev.end + 1) { - // Fixed frame size - const auto j = ReplaceIndex(index, frame, prev); - // We can only replace if the number of NULLs has not changed - if (included.AllValid() || included(prev.start) == included(prev.end)) { - Interpolator interp(q, prev_pos, false); - replace = CanReplace(index, data, j, interp.FRN, interp.CRN, included); - if (replace) { - state.pos = prev_pos; - } - } - } else { - ReuseIndexes(index, frame, prev); - } - - if (!replace && !included.AllValid()) { - // Remove the NULLs - state.pos = std::partition(index, index + state.pos, included) - index; - } + // Compute mad from the second index + using ID = QuantileIndirect; + ID indirect(data); - if (state.pos) { - Interpolator interp(q, state.pos, false); + using MAD = MadAccessor; + MAD mad(med); - // Compute or replace median from the first index - using ID = QuantileIndirect; - ID indirect(data); - const auto med = replace ? interp.template Replace(index, result, indirect) - : interp.template Operation(index, result, indirect); + using MadIndirect = QuantileComposed; + MadIndirect mad_indirect(mad, indirect); + rdata[ridx] = interp.template Operation(index2, result, mad_indirect); - // Compute mad from the second index - using MAD = MadAccessor; - MAD mad(med); - - using MadIndirect = QuantileComposed; - MadIndirect mad_indirect(mad, indirect); - rdata[ridx] = interp.template Operation(index2, result, mad_indirect); - } else { - rmask.Set(ridx, false); - } + // Prev is used by both skip lists and increments + prevs = frames; } }; @@ -1226,12 +1417,13 @@ unique_ptr BindMedian(ClientContext &context, AggregateFunction &f template AggregateFunction GetTypedMedianAbsoluteDeviationAggregateFunction(const LogicalType &input_type, const LogicalType &target_type) { - using STATE = QuantileState; + using STATE = QuantileState; using OP = MedianAbsoluteDeviationOperation; auto fun = AggregateFunction::UnaryAggregateDestructor(input_type, target_type); fun.bind = BindMedian; fun.order_dependent = AggregateOrderDependent::NOT_ORDER_DEPENDENT; fun.window = AggregateFunction::UnaryWindow; + fun.window_init = OP::template WindowInit; return fun; } @@ -1390,6 +1582,7 @@ static bool CanInterpolate(const LogicalType &type) { switch (type.id()) { case LogicalTypeId::INTERVAL: case LogicalTypeId::VARCHAR: + case LogicalTypeId::ANY: return false; default: return true; @@ -1462,10 +1655,13 @@ AggregateFunction GetQuantileDecimalAggregate(const vector &argumen } vector GetQuantileTypes() { - return {LogicalType::TINYINT, LogicalType::SMALLINT, LogicalType::INTEGER, LogicalType::BIGINT, - LogicalType::HUGEINT, LogicalType::FLOAT, LogicalType::DOUBLE, LogicalType::DATE, - LogicalType::TIMESTAMP, LogicalType::TIME, LogicalType::TIMESTAMP_TZ, LogicalType::TIME_TZ, - LogicalType::INTERVAL, LogicalType::VARCHAR}; + return {LogicalType::TINYINT, LogicalType::SMALLINT, + LogicalType::INTEGER, LogicalType::BIGINT, + LogicalType::HUGEINT, LogicalType::FLOAT, + LogicalType::DOUBLE, LogicalType::DATE, + LogicalType::TIMESTAMP, LogicalType::TIME, + LogicalType::TIMESTAMP_TZ, LogicalType::TIME_TZ, + LogicalType::INTERVAL, LogicalType::ANY_PARAMS(LogicalType::VARCHAR, 150)}; } AggregateFunctionSet MedianFun::GetFunctions() { diff --git a/src/core_functions/aggregate/holistic/reservoir_quantile.cpp b/src/core_functions/aggregate/holistic/reservoir_quantile.cpp index 8945948e1481..7da2cdbeedbf 100644 --- a/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +++ b/src/core_functions/aggregate/holistic/reservoir_quantile.cpp @@ -32,7 +32,7 @@ struct ReservoirQuantileState { } void ReplaceElement(T &input) { - v[r_samp->min_entry] = input; + v[r_samp->min_weighted_entry_index] = input; r_samp->ReplaceElement(); } @@ -41,8 +41,8 @@ struct ReservoirQuantileState { v[pos++] = element; r_samp->InitializeReservoir(pos, len); } else { - D_ASSERT(r_samp->next_index >= r_samp->current_count); - if (r_samp->next_index == r_samp->current_count) { + D_ASSERT(r_samp->next_index_to_sample >= r_samp->num_entries_to_skip_b4_next_sample); + if (r_samp->next_index_to_sample == r_samp->num_entries_to_skip_b4_next_sample) { ReplaceElement(element); } } diff --git a/src/core_functions/aggregate/nested/histogram.cpp b/src/core_functions/aggregate/nested/histogram.cpp index b50c535e29e1..2f7414340e9c 100644 --- a/src/core_functions/aggregate/nested/histogram.cpp +++ b/src/core_functions/aggregate/nested/histogram.cpp @@ -155,8 +155,8 @@ unique_ptr HistogramBindFunction(ClientContext &context, Aggregate arguments[0]->return_type.id() == LogicalTypeId::MAP) { throw NotImplementedException("Unimplemented type for histogram %s", arguments[0]->return_type.ToString()); } - - auto struct_type = LogicalType::MAP(arguments[0]->return_type, LogicalType::UBIGINT); + auto child_type = function.arguments[0].id() == LogicalTypeId::ANY ? LogicalType::VARCHAR : function.arguments[0]; + auto struct_type = LogicalType::MAP(child_type, LogicalType::UBIGINT); function.return_type = struct_type; return make_uniq(function.return_type); @@ -176,7 +176,6 @@ static AggregateFunction GetHistogramFunction(const LogicalType &type) { template AggregateFunction GetMapType(const LogicalType &type) { - if (IS_ORDERED) { return GetHistogramFunction(type); } @@ -185,48 +184,47 @@ AggregateFunction GetMapType(const LogicalType &type) { template AggregateFunction GetHistogramFunction(const LogicalType &type) { - switch (type.id()) { - case LogicalType::BOOLEAN: + case LogicalTypeId::BOOLEAN: return GetMapType(type); - case LogicalType::UTINYINT: + case LogicalTypeId::UTINYINT: return GetMapType(type); - case LogicalType::USMALLINT: + case LogicalTypeId::USMALLINT: return GetMapType(type); - case LogicalType::UINTEGER: + case LogicalTypeId::UINTEGER: return GetMapType(type); - case LogicalType::UBIGINT: + case LogicalTypeId::UBIGINT: return GetMapType(type); - case LogicalType::TINYINT: + case LogicalTypeId::TINYINT: return GetMapType(type); - case LogicalType::SMALLINT: + case LogicalTypeId::SMALLINT: return GetMapType(type); - case LogicalType::INTEGER: + case LogicalTypeId::INTEGER: return GetMapType(type); - case LogicalType::BIGINT: + case LogicalTypeId::BIGINT: return GetMapType(type); - case LogicalType::FLOAT: + case LogicalTypeId::FLOAT: return GetMapType(type); - case LogicalType::DOUBLE: + case LogicalTypeId::DOUBLE: return GetMapType(type); - case LogicalType::VARCHAR: - return GetMapType(type); - case LogicalType::TIMESTAMP: + case LogicalTypeId::TIMESTAMP: return GetMapType(type); - case LogicalType::TIMESTAMP_TZ: + case LogicalTypeId::TIMESTAMP_TZ: return GetMapType(type); - case LogicalType::TIMESTAMP_S: + case LogicalTypeId::TIMESTAMP_SEC: return GetMapType(type); - case LogicalType::TIMESTAMP_MS: + case LogicalTypeId::TIMESTAMP_MS: return GetMapType(type); - case LogicalType::TIMESTAMP_NS: + case LogicalTypeId::TIMESTAMP_NS: return GetMapType(type); - case LogicalType::TIME: + case LogicalTypeId::TIME: return GetMapType(type); - case LogicalType::TIME_TZ: + case LogicalTypeId::TIME_TZ: return GetMapType(type); - case LogicalType::DATE: + case LogicalTypeId::DATE: return GetMapType(type); + case LogicalTypeId::ANY: + return GetMapType(type); default: throw InternalException("Unimplemented histogram aggregate"); } @@ -245,7 +243,6 @@ AggregateFunctionSet HistogramFun::GetFunctions() { fun.AddFunction(GetHistogramFunction<>(LogicalType::BIGINT)); fun.AddFunction(GetHistogramFunction<>(LogicalType::FLOAT)); fun.AddFunction(GetHistogramFunction<>(LogicalType::DOUBLE)); - fun.AddFunction(GetHistogramFunction<>(LogicalType::VARCHAR)); fun.AddFunction(GetHistogramFunction<>(LogicalType::TIMESTAMP)); fun.AddFunction(GetHistogramFunction<>(LogicalType::TIMESTAMP_TZ)); fun.AddFunction(GetHistogramFunction<>(LogicalType::TIMESTAMP_S)); @@ -254,6 +251,7 @@ AggregateFunctionSet HistogramFun::GetFunctions() { fun.AddFunction(GetHistogramFunction<>(LogicalType::TIME)); fun.AddFunction(GetHistogramFunction<>(LogicalType::TIME_TZ)); fun.AddFunction(GetHistogramFunction<>(LogicalType::DATE)); + fun.AddFunction(GetHistogramFunction<>(LogicalType::ANY_PARAMS(LogicalType::VARCHAR))); return fun; } diff --git a/src/core_functions/aggregate/nested/list.cpp b/src/core_functions/aggregate/nested/list.cpp index a7d4d7428f75..1895cd27bd52 100644 --- a/src/core_functions/aggregate/nested/list.cpp +++ b/src/core_functions/aggregate/nested/list.cpp @@ -67,7 +67,9 @@ static void ListUpdateFunction(Vector inputs[], AggregateInputData &aggr_input_d } } -static void ListCombineFunction(Vector &states_vector, Vector &combined, AggregateInputData &, idx_t count) { +static void ListAbsorbFunction(Vector &states_vector, Vector &combined, AggregateInputData &aggr_input_data, + idx_t count) { + D_ASSERT(aggr_input_data.combine_type == AggregateCombineType::ALLOW_DESTRUCTIVE); UnifiedVectorFormat states_data; states_vector.ToUnifiedFormat(count, states_data); @@ -147,45 +149,38 @@ static void ListFinalize(Vector &states_vector, AggregateInputData &aggr_input_d ListVector::SetListSize(result, total_len); } -static void ListWindow(Vector inputs[], const ValidityMask &filter_mask, AggregateInputData &aggr_input_data, - idx_t input_count, data_ptr_t state, const FrameBounds &frame, const FrameBounds &prev, - Vector &result, idx_t rid, idx_t bias) { +static void ListCombineFunction(Vector &states_vector, Vector &combined, AggregateInputData &aggr_input_data, + idx_t count) { - auto &list_bind_data = aggr_input_data.bind_data->Cast(); - LinkedList linked_list; - - // UPDATE step - - D_ASSERT(input_count == 1); - auto &input = inputs[0]; - - // FIXME: we unify more values than necessary (count is frame.end) - RecursiveUnifiedVectorFormat input_data; - Vector::RecursiveToUnifiedFormat(input, frame.end, input_data); - - for (idx_t i = frame.start; i < frame.end; i++) { - list_bind_data.functions.AppendRow(aggr_input_data.allocator, linked_list, input_data, i); + // Can we use destructive combining? + if (aggr_input_data.combine_type == AggregateCombineType::ALLOW_DESTRUCTIVE) { + ListAbsorbFunction(states_vector, combined, aggr_input_data, count); + return; } - // FINALIZE step + UnifiedVectorFormat states_data; + states_vector.ToUnifiedFormat(count, states_data); + auto states_ptr = UnifiedVectorFormat::GetData(states_data); + auto combined_ptr = FlatVector::GetData(combined); + + auto &list_bind_data = aggr_input_data.bind_data->Cast(); + auto result_type = ListType::GetChildType(list_bind_data.stype); - D_ASSERT(result.GetType().id() == LogicalTypeId::LIST); - auto result_data = FlatVector::GetData(result); - size_t total_len = ListVector::GetListSize(result); + for (idx_t i = 0; i < count; i++) { + auto &source = *states_ptr[states_data.sel->get_index(i)]; + auto &target = *combined_ptr[i]; - // set the length and offset of this list in the result vector - result_data[rid].offset = total_len; - result_data[rid].length = linked_list.total_capacity; - D_ASSERT(linked_list.total_capacity != 0); - total_len += linked_list.total_capacity; + const auto entry_count = source.linked_list.total_capacity; + Vector input(result_type, source.linked_list.total_capacity); + list_bind_data.functions.BuildListVector(source.linked_list, input, 0); - // reserve capacity, then copy over the data to the child vector - ListVector::Reserve(result, total_len); - auto &result_child = ListVector::GetEntry(result); - idx_t offset = result_data[rid].offset; - list_bind_data.functions.BuildListVector(linked_list, result_child, offset); + RecursiveUnifiedVectorFormat input_data; + Vector::RecursiveToUnifiedFormat(input, entry_count, input_data); - ListVector::SetListSize(result, total_len); + for (idx_t entry_idx = 0; entry_idx < entry_count; ++entry_idx) { + list_bind_data.functions.AppendRow(aggr_input_data.allocator, target.linked_list, input_data, entry_idx); + } + } } unique_ptr ListBindFunction(ClientContext &context, AggregateFunction &function, @@ -204,10 +199,12 @@ unique_ptr ListBindFunction(ClientContext &context, AggregateFunct } AggregateFunction ListFun::GetFunction() { - return AggregateFunction({LogicalType::ANY}, LogicalTypeId::LIST, AggregateFunction::StateSize, - AggregateFunction::StateInitialize, ListUpdateFunction, - ListCombineFunction, ListFinalize, nullptr, ListBindFunction, nullptr, nullptr, - ListWindow); + auto func = + AggregateFunction({LogicalType::ANY}, LogicalTypeId::LIST, AggregateFunction::StateSize, + AggregateFunction::StateInitialize, ListUpdateFunction, + ListCombineFunction, ListFinalize, nullptr, ListBindFunction, nullptr, nullptr, nullptr); + + return func; } } // namespace duckdb diff --git a/src/core_functions/function_list.cpp b/src/core_functions/function_list.cpp index 299fd59e22ac..5fad616132ad 100644 --- a/src/core_functions/function_list.cpp +++ b/src/core_functions/function_list.cpp @@ -14,9 +14,11 @@ #include "duckdb/core_functions/scalar/math_functions.hpp" #include "duckdb/core_functions/scalar/operators_functions.hpp" #include "duckdb/core_functions/scalar/random_functions.hpp" +#include "duckdb/core_functions/scalar/secret_functions.hpp" #include "duckdb/core_functions/scalar/string_functions.hpp" #include "duckdb/core_functions/scalar/struct_functions.hpp" #include "duckdb/core_functions/scalar/union_functions.hpp" +#include "duckdb/core_functions/scalar/array_functions.hpp" #include "duckdb/core_functions/scalar/debug_functions.hpp" namespace duckdb { @@ -66,20 +68,30 @@ static StaticFunctionDefinition internal_functions[] = { DUCKDB_AGGREGATE_FUNCTION_SET(ApproxCountDistinctFun), DUCKDB_AGGREGATE_FUNCTION_SET(ApproxQuantileFun), DUCKDB_AGGREGATE_FUNCTION_SET(ArgMaxFun), + DUCKDB_AGGREGATE_FUNCTION_SET(ArgMaxNullFun), DUCKDB_AGGREGATE_FUNCTION_SET(ArgMinFun), + DUCKDB_AGGREGATE_FUNCTION_SET(ArgMinNullFun), DUCKDB_AGGREGATE_FUNCTION_SET_ALIAS(ArgmaxFun), DUCKDB_AGGREGATE_FUNCTION_SET_ALIAS(ArgminFun), DUCKDB_AGGREGATE_FUNCTION_ALIAS(ArrayAggFun), DUCKDB_SCALAR_FUNCTION_ALIAS(ArrayAggrFun), DUCKDB_SCALAR_FUNCTION_ALIAS(ArrayAggregateFun), DUCKDB_SCALAR_FUNCTION_ALIAS(ArrayApplyFun), + DUCKDB_SCALAR_FUNCTION_SET(ArrayCosineSimilarityFun), + DUCKDB_SCALAR_FUNCTION_SET(ArrayCrossProductFun), + DUCKDB_SCALAR_FUNCTION_SET(ArrayDistanceFun), DUCKDB_SCALAR_FUNCTION_ALIAS(ArrayDistinctFun), + DUCKDB_SCALAR_FUNCTION_SET_ALIAS(ArrayDotProductFun), DUCKDB_SCALAR_FUNCTION_ALIAS(ArrayFilterFun), + DUCKDB_SCALAR_FUNCTION_SET_ALIAS(ArrayGradeUpFun), + DUCKDB_SCALAR_FUNCTION_SET(ArrayInnerProductFun), + DUCKDB_SCALAR_FUNCTION_ALIAS(ArrayReduceFun), DUCKDB_SCALAR_FUNCTION_SET_ALIAS(ArrayReverseSortFun), DUCKDB_SCALAR_FUNCTION_SET_ALIAS(ArraySliceFun), DUCKDB_SCALAR_FUNCTION_SET_ALIAS(ArraySortFun), DUCKDB_SCALAR_FUNCTION_ALIAS(ArrayTransformFun), DUCKDB_SCALAR_FUNCTION_ALIAS(ArrayUniqueFun), + DUCKDB_SCALAR_FUNCTION(ArrayValueFun), DUCKDB_SCALAR_FUNCTION(ASCIIFun), DUCKDB_SCALAR_FUNCTION(AsinFun), DUCKDB_SCALAR_FUNCTION(AtanFun), @@ -108,6 +120,7 @@ static StaticFunctionDefinition internal_functions[] = { DUCKDB_SCALAR_FUNCTION(CotFun), DUCKDB_AGGREGATE_FUNCTION(CovarPopFun), DUCKDB_AGGREGATE_FUNCTION(CovarSampFun), + DUCKDB_SCALAR_FUNCTION(CreateSortKeyFun), DUCKDB_SCALAR_FUNCTION(CurrentDatabaseFun), DUCKDB_SCALAR_FUNCTION(CurrentDateFun), DUCKDB_SCALAR_FUNCTION(CurrentQueryFun), @@ -154,7 +167,8 @@ static StaticFunctionDefinition internal_functions[] = { DUCKDB_SCALAR_FUNCTION(ListFlattenFun), DUCKDB_SCALAR_FUNCTION_SET(FloorFun), DUCKDB_SCALAR_FUNCTION(FormatFun), - DUCKDB_SCALAR_FUNCTION_ALIAS(FormatreadabledecimalsizeFun), + DUCKDB_SCALAR_FUNCTION(FormatreadabledecimalsizeFun), + DUCKDB_SCALAR_FUNCTION_ALIAS(FormatreadablesizeFun), DUCKDB_SCALAR_FUNCTION(FormatBytesFun), DUCKDB_SCALAR_FUNCTION(FromBase64Fun), DUCKDB_SCALAR_FUNCTION_ALIAS(FromBinaryFun), @@ -167,6 +181,7 @@ static StaticFunctionDefinition internal_functions[] = { DUCKDB_SCALAR_FUNCTION(GetBitFun), DUCKDB_SCALAR_FUNCTION(CurrentTimeFun), DUCKDB_SCALAR_FUNCTION(GetCurrentTimestampFun), + DUCKDB_SCALAR_FUNCTION_SET_ALIAS(GradeUpFun), DUCKDB_SCALAR_FUNCTION_SET(GreatestFun), DUCKDB_SCALAR_FUNCTION_SET(GreatestCommonDivisorFun), DUCKDB_AGGREGATE_FUNCTION_SET_ALIAS(GroupConcatFun), @@ -188,6 +203,7 @@ static StaticFunctionDefinition internal_functions[] = { DUCKDB_SCALAR_FUNCTION_SET(JulianDayFun), DUCKDB_AGGREGATE_FUNCTION(KahanSumFun), DUCKDB_AGGREGATE_FUNCTION(KurtosisFun), + DUCKDB_AGGREGATE_FUNCTION(KurtosisPopFun), DUCKDB_SCALAR_FUNCTION_SET(LastDayFun), DUCKDB_SCALAR_FUNCTION_SET_ALIAS(LcmFun), DUCKDB_SCALAR_FUNCTION_SET(LeastFun), @@ -205,8 +221,10 @@ static StaticFunctionDefinition internal_functions[] = { DUCKDB_SCALAR_FUNCTION(ListDistinctFun), DUCKDB_SCALAR_FUNCTION_SET_ALIAS(ListDotProductFun), DUCKDB_SCALAR_FUNCTION(ListFilterFun), + DUCKDB_SCALAR_FUNCTION_SET(ListGradeUpFun), DUCKDB_SCALAR_FUNCTION_SET(ListInnerProductFun), DUCKDB_SCALAR_FUNCTION_ALIAS(ListPackFun), + DUCKDB_SCALAR_FUNCTION(ListReduceFun), DUCKDB_SCALAR_FUNCTION_SET(ListReverseSortFun), DUCKDB_SCALAR_FUNCTION_SET(ListSliceFun), DUCKDB_SCALAR_FUNCTION_SET(ListSortFun), @@ -252,6 +270,10 @@ static StaticFunctionDefinition internal_functions[] = { DUCKDB_SCALAR_FUNCTION_SET(NextAfterFun), DUCKDB_SCALAR_FUNCTION_ALIAS(NowFun), DUCKDB_SCALAR_FUNCTION_ALIAS(OrdFun), + DUCKDB_SCALAR_FUNCTION_SET(ParseDirnameFun), + DUCKDB_SCALAR_FUNCTION_SET(ParseDirpathFun), + DUCKDB_SCALAR_FUNCTION_SET(ParseFilenameFun), + DUCKDB_SCALAR_FUNCTION_SET(ParsePathFun), DUCKDB_SCALAR_FUNCTION(PiFun), DUCKDB_SCALAR_FUNCTION_ALIAS(PositionFun), DUCKDB_SCALAR_FUNCTION_ALIAS(PowFun), @@ -265,6 +287,8 @@ static StaticFunctionDefinition internal_functions[] = { DUCKDB_SCALAR_FUNCTION(RadiansFun), DUCKDB_SCALAR_FUNCTION(RandomFun), DUCKDB_SCALAR_FUNCTION_SET(ListRangeFun), + DUCKDB_SCALAR_FUNCTION_ALIAS(ReduceFun), + DUCKDB_SCALAR_FUNCTION(RegexpEscapeFun), DUCKDB_SCALAR_FUNCTION_SET_ALIAS(RegexpSplitToArrayFun), DUCKDB_AGGREGATE_FUNCTION(RegrAvgxFun), DUCKDB_AGGREGATE_FUNCTION(RegrAvgyFun), @@ -323,15 +347,19 @@ static StaticFunctionDefinition internal_functions[] = { DUCKDB_SCALAR_FUNCTION_SET(ToBaseFun), DUCKDB_SCALAR_FUNCTION(ToBase64Fun), DUCKDB_SCALAR_FUNCTION_SET_ALIAS(ToBinaryFun), + DUCKDB_SCALAR_FUNCTION(ToCenturiesFun), DUCKDB_SCALAR_FUNCTION(ToDaysFun), + DUCKDB_SCALAR_FUNCTION(ToDecadesFun), DUCKDB_SCALAR_FUNCTION_SET_ALIAS(ToHexFun), DUCKDB_SCALAR_FUNCTION(ToHoursFun), DUCKDB_SCALAR_FUNCTION(ToMicrosecondsFun), + DUCKDB_SCALAR_FUNCTION(ToMillenniaFun), DUCKDB_SCALAR_FUNCTION(ToMillisecondsFun), DUCKDB_SCALAR_FUNCTION(ToMinutesFun), DUCKDB_SCALAR_FUNCTION(ToMonthsFun), DUCKDB_SCALAR_FUNCTION(ToSecondsFun), DUCKDB_SCALAR_FUNCTION(ToTimestampFun), + DUCKDB_SCALAR_FUNCTION(ToWeeksFun), DUCKDB_SCALAR_FUNCTION(ToYearsFun), DUCKDB_SCALAR_FUNCTION_ALIAS(TodayFun), DUCKDB_SCALAR_FUNCTION_ALIAS(TransactionTimestampFun), @@ -356,6 +384,7 @@ static StaticFunctionDefinition internal_functions[] = { DUCKDB_SCALAR_FUNCTION_SET(WeekFun), DUCKDB_SCALAR_FUNCTION_SET(WeekDayFun), DUCKDB_SCALAR_FUNCTION_SET(WeekOfYearFun), + DUCKDB_SCALAR_FUNCTION(WhichSecretFun), DUCKDB_SCALAR_FUNCTION_SET(BitwiseXorFun), DUCKDB_SCALAR_FUNCTION_SET(YearFun), DUCKDB_SCALAR_FUNCTION_SET(YearWeekFun), diff --git a/src/core_functions/lambda_functions.cpp b/src/core_functions/lambda_functions.cpp new file mode 100644 index 000000000000..3b67f8809305 --- /dev/null +++ b/src/core_functions/lambda_functions.cpp @@ -0,0 +1,416 @@ +#include "duckdb/core_functions/lambda_functions.hpp" + +#include "duckdb/common/serializer/serializer.hpp" +#include "duckdb/common/serializer/deserializer.hpp" + +#include "duckdb/planner/expression/bound_function_expression.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" + +namespace duckdb { + +//===--------------------------------------------------------------------===// +// Helper functions +//===--------------------------------------------------------------------===// + +//! LambdaExecuteInfo holds information for executing the lambda expression on an input chunk and +//! a resulting lambda chunk. +struct LambdaExecuteInfo { + LambdaExecuteInfo(ClientContext &context, const Expression &lambda_expr, const DataChunk &args, + const bool has_index, const Vector &child_vector) + : has_index(has_index) { + + expr_executor = make_uniq(context, lambda_expr); + + // get the input types for the input chunk + vector input_types; + if (has_index) { + input_types.push_back(LogicalType::BIGINT); + } + input_types.push_back(child_vector.GetType()); + for (idx_t i = 1; i < args.ColumnCount(); i++) { + input_types.push_back(args.data[i].GetType()); + } + + // get the result types + vector result_types {lambda_expr.return_type}; + + // initialize the data chunks + input_chunk.InitializeEmpty(input_types); + lambda_chunk.Initialize(Allocator::DefaultAllocator(), result_types); + }; + + //! The expression executor that executes the lambda expression + unique_ptr expr_executor; + //! The input chunk on which we execute the lambda expression + DataChunk input_chunk; + //! The chunk holding the result of executing the lambda expression + DataChunk lambda_chunk; + //! True, if this lambda expression expects an index vector in the input chunk + bool has_index; +}; + +//! A helper struct with information that is specific to the list_filter function +struct ListFilterInfo { + //! The new list lengths after filtering out elements + vector entry_lengths; + //! The length of the current list + idx_t length = 0; + //! The offset of the current list + idx_t offset = 0; + //! The current row index + idx_t row_idx = 0; + //! The length of the source list + idx_t src_length = 0; +}; + +//! ListTransformFunctor contains list_transform specific functionality +struct ListTransformFunctor { + static void ReserveNewLengths(vector &, const idx_t) { + // NOP + } + static void PushEmptyList(vector &) { + // NOP + } + //! Sets the list entries of the result vector + static void SetResultEntry(list_entry_t *result_entries, idx_t &offset, const list_entry_t &entry, + const idx_t row_idx, vector &) { + result_entries[row_idx].offset = offset; + result_entries[row_idx].length = entry.length; + offset += entry.length; + } + //! Appends the lambda vector to the result's child vector + static void AppendResult(Vector &result, Vector &lambda_vector, const idx_t elem_cnt, list_entry_t *, + ListFilterInfo &, LambdaExecuteInfo &) { + ListVector::Append(result, lambda_vector, elem_cnt, 0); + } +}; + +//! ListFilterFunctor contains list_filter specific functionality +struct ListFilterFunctor { + //! Initializes the entry_lengths vector + static void ReserveNewLengths(vector &entry_lengths, const idx_t row_count) { + entry_lengths.reserve(row_count); + } + //! Pushes an empty list to the entry_lengths vector + static void PushEmptyList(vector &entry_lengths) { + entry_lengths.emplace_back(0); + } + //! Pushes the length of the original list to the entry_lengths vector + static void SetResultEntry(list_entry_t *, idx_t &, const list_entry_t &entry, const idx_t, + vector &entry_lengths) { + entry_lengths.push_back(entry.length); + } + //! Uses the lambda vector to filter the incoming list and to append the filtered list to the result vector + static void AppendResult(Vector &result, Vector &lambda_vector, const idx_t elem_cnt, list_entry_t *result_entries, + ListFilterInfo &info, LambdaExecuteInfo &execute_info) { + + idx_t count = 0; + SelectionVector sel(elem_cnt); + UnifiedVectorFormat lambda_data; + lambda_vector.ToUnifiedFormat(elem_cnt, lambda_data); + + auto lambda_values = UnifiedVectorFormat::GetData(lambda_data); + auto &lambda_validity = lambda_data.validity; + + // compute the new lengths and offsets, and create a selection vector + for (idx_t i = 0; i < elem_cnt; i++) { + auto entry_idx = lambda_data.sel->get_index(i); + + // set length and offset of empty lists + while (info.row_idx < info.entry_lengths.size() && !info.entry_lengths[info.row_idx]) { + result_entries[info.row_idx].offset = info.offset; + result_entries[info.row_idx].length = 0; + info.row_idx++; + } + + // found a true value + if (lambda_validity.RowIsValid(entry_idx) && lambda_values[entry_idx]) { + sel.set_index(count++, i); + info.length++; + } + + info.src_length++; + + // we traversed the entire source list + if (info.entry_lengths[info.row_idx] == info.src_length) { + // set the offset and length of the result entry + result_entries[info.row_idx].offset = info.offset; + result_entries[info.row_idx].length = info.length; + + // reset all other fields + info.offset += info.length; + info.row_idx++; + info.length = 0; + info.src_length = 0; + } + } + + // set length and offset of all remaining empty lists + while (info.row_idx < info.entry_lengths.size() && !info.entry_lengths[info.row_idx]) { + result_entries[info.row_idx].offset = info.offset; + result_entries[info.row_idx].length = 0; + info.row_idx++; + } + + // slice the input chunk's corresponding vector to get the new lists + // and append them to the result + auto source_list_idx = execute_info.has_index ? 1 : 0; + Vector result_lists(execute_info.input_chunk.data[source_list_idx], sel, count); + ListVector::Append(result, result_lists, count, 0); + } +}; + +vector LambdaFunctions::GetColumnInfo(DataChunk &args, const idx_t row_count) { + + vector data; + // skip the input list and then insert all remaining input vectors + for (idx_t i = 1; i < args.ColumnCount(); i++) { + data.emplace_back(args.data[i]); + args.data[i].ToUnifiedFormat(row_count, data.back().format); + } + return data; +} + +vector> +LambdaFunctions::GetInconstantColumnInfo(vector &data) { + + vector> inconstant_info; + for (auto &entry : data) { + if (entry.vector.get().GetVectorType() != VectorType::CONSTANT_VECTOR) { + inconstant_info.push_back(entry); + } + } + return inconstant_info; +} + +void ExecuteExpression(const idx_t elem_cnt, const LambdaFunctions::ColumnInfo &column_info, + const vector &column_infos, const Vector &index_vector, + LambdaExecuteInfo &info) { + + info.input_chunk.SetCardinality(elem_cnt); + info.lambda_chunk.SetCardinality(elem_cnt); + + // slice the child vector + Vector slice(column_info.vector, column_info.sel, elem_cnt); + + // reference the child vector (and the index vector) + if (info.has_index) { + info.input_chunk.data[0].Reference(index_vector); + info.input_chunk.data[1].Reference(slice); + } else { + info.input_chunk.data[0].Reference(slice); + } + idx_t slice_offset = info.has_index ? 2 : 1; + + // (slice and) reference the other columns + vector slices; + for (idx_t i = 0; i < column_infos.size(); i++) { + + if (column_infos[i].vector.get().GetVectorType() == VectorType::CONSTANT_VECTOR) { + // only reference constant vectorsl + info.input_chunk.data[i + slice_offset].Reference(column_infos[i].vector); + + } else { + // slice inconstant vectors + slices.emplace_back(column_infos[i].vector, column_infos[i].sel, elem_cnt); + info.input_chunk.data[i + slice_offset].Reference(slices.back()); + } + } + + // execute the lambda expression + info.expr_executor->Execute(info.input_chunk, info.lambda_chunk); +} + +//===--------------------------------------------------------------------===// +// ListLambdaBindData +//===--------------------------------------------------------------------===// + +unique_ptr ListLambdaBindData::Copy() const { + auto lambda_expr_copy = lambda_expr ? lambda_expr->Copy() : nullptr; + return make_uniq(return_type, std::move(lambda_expr_copy), has_index); +} + +bool ListLambdaBindData::Equals(const FunctionData &other_p) const { + auto &other = other_p.Cast(); + return Expression::Equals(lambda_expr, other.lambda_expr) && return_type == other.return_type && + has_index == other.has_index; +} + +void ListLambdaBindData::Serialize(Serializer &serializer, const optional_ptr bind_data_p, + const ScalarFunction &) { + auto &bind_data = bind_data_p->Cast(); + serializer.WriteProperty(100, "return_type", bind_data.return_type); + serializer.WritePropertyWithDefault(101, "lambda_expr", bind_data.lambda_expr, unique_ptr()); + serializer.WriteProperty(102, "has_index", bind_data.has_index); +} + +unique_ptr ListLambdaBindData::Deserialize(Deserializer &deserializer, ScalarFunction &) { + auto return_type = deserializer.ReadProperty(100, "return_type"); + auto lambda_expr = + deserializer.ReadPropertyWithDefault>(101, "lambda_expr", unique_ptr()); + auto has_index = deserializer.ReadProperty(102, "has_index"); + return make_uniq(return_type, std::move(lambda_expr), has_index); +} + +//===--------------------------------------------------------------------===// +// LambdaFunctions +//===--------------------------------------------------------------------===// + +LogicalType LambdaFunctions::BindBinaryLambda(const idx_t parameter_idx, const LogicalType &list_child_type) { + switch (parameter_idx) { + case 0: + return list_child_type; + case 1: + return LogicalType::BIGINT; + default: + throw BinderException("This lambda function only supports up to two lambda parameters!"); + } +} + +LogicalType LambdaFunctions::BindTernaryLambda(const idx_t parameter_idx, const LogicalType &list_child_type) { + switch (parameter_idx) { + case 0: + return list_child_type; + case 1: + return list_child_type; + case 2: + return LogicalType::BIGINT; + default: + throw BinderException("This lambda function only supports up to three lambda parameters!"); + } +} + +template +void ExecuteLambda(DataChunk &args, ExpressionState &state, Vector &result) { + + bool result_is_null = false; + LambdaFunctions::LambdaInfo info(args, state, result, result_is_null); + if (result_is_null) { + return; + } + + auto result_entries = FlatVector::GetData(result); + auto inconstant_column_infos = LambdaFunctions::GetInconstantColumnInfo(info.column_infos); + + // special-handling for the child_vector + auto child_vector_size = ListVector::GetListSize(args.data[0]); + LambdaFunctions::ColumnInfo child_info(*info.child_vector); + info.child_vector->ToUnifiedFormat(child_vector_size, child_info.format); + + // get the expression executor + LambdaExecuteInfo execute_info(state.GetContext(), *info.lambda_expr, args, info.has_index, *info.child_vector); + + // get list_filter specific info + ListFilterInfo list_filter_info; + FUNCTION_FUNCTOR::ReserveNewLengths(list_filter_info.entry_lengths, info.row_count); + + // additional index vector + Vector index_vector(LogicalType::BIGINT); + + // loop over the child entries and create chunks to be executed by the expression executor + idx_t elem_cnt = 0; + idx_t offset = 0; + for (idx_t row_idx = 0; row_idx < info.row_count; row_idx++) { + + auto list_idx = info.list_column_format.sel->get_index(row_idx); + const auto &list_entry = info.list_entries[list_idx]; + + // set the result to NULL for this row + if (!info.list_column_format.validity.RowIsValid(list_idx)) { + info.result_validity->SetInvalid(row_idx); + FUNCTION_FUNCTOR::PushEmptyList(list_filter_info.entry_lengths); + continue; + } + + FUNCTION_FUNCTOR::SetResultEntry(result_entries, offset, list_entry, row_idx, list_filter_info.entry_lengths); + + // empty list, nothing to execute + if (list_entry.length == 0) { + continue; + } + + // iterate the elements of the current list and create the corresponding selection vectors + for (idx_t child_idx = 0; child_idx < list_entry.length; child_idx++) { + + // reached STANDARD_VECTOR_SIZE elements + if (elem_cnt == STANDARD_VECTOR_SIZE) { + + execute_info.lambda_chunk.Reset(); + ExecuteExpression(elem_cnt, child_info, info.column_infos, index_vector, execute_info); + auto &lambda_vector = execute_info.lambda_chunk.data[0]; + + FUNCTION_FUNCTOR::AppendResult(result, lambda_vector, elem_cnt, result_entries, list_filter_info, + execute_info); + elem_cnt = 0; + } + + // FIXME: reuse same selection vector for inconstant rows + // adjust indexes for slicing + child_info.sel.set_index(elem_cnt, list_entry.offset + child_idx); + for (auto &entry : inconstant_column_infos) { + entry.get().sel.set_index(elem_cnt, row_idx); + } + + // set the index vector + if (info.has_index) { + index_vector.SetValue(elem_cnt, Value::BIGINT(child_idx + 1)); + } + + elem_cnt++; + } + } + + execute_info.lambda_chunk.Reset(); + ExecuteExpression(elem_cnt, child_info, info.column_infos, index_vector, execute_info); + auto &lambda_vector = execute_info.lambda_chunk.data[0]; + + FUNCTION_FUNCTOR::AppendResult(result, lambda_vector, elem_cnt, result_entries, list_filter_info, execute_info); + + if (info.is_all_constant && !info.is_volatile) { + result.SetVectorType(VectorType::CONSTANT_VECTOR); + } +} + +unique_ptr LambdaFunctions::ListLambdaPrepareBind(vector> &arguments, + ClientContext &context, + ScalarFunction &bound_function) { + // NULL list parameter + if (arguments[0]->return_type.id() == LogicalTypeId::SQLNULL) { + bound_function.arguments[0] = LogicalType::SQLNULL; + bound_function.return_type = LogicalType::SQLNULL; + return make_uniq(bound_function.return_type, nullptr); + } + // prepared statements + if (arguments[0]->return_type.id() == LogicalTypeId::UNKNOWN) { + throw ParameterNotResolvedException(); + } + + arguments[0] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[0])); + D_ASSERT(arguments[0]->return_type.id() == LogicalTypeId::LIST); + return nullptr; +} + +unique_ptr LambdaFunctions::ListLambdaBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments, + const bool has_index) { + unique_ptr bind_data = ListLambdaPrepareBind(arguments, context, bound_function); + if (bind_data) { + return bind_data; + } + + // get the lambda expression and put it in the bind info + auto &bound_lambda_expr = arguments[1]->Cast(); + auto lambda_expr = std::move(bound_lambda_expr.lambda_expr); + + return make_uniq(bound_function.return_type, std::move(lambda_expr), has_index); +} + +void LambdaFunctions::ListTransformFunction(DataChunk &args, ExpressionState &state, Vector &result) { + ExecuteLambda(args, state, result); +} + +void LambdaFunctions::ListFilterFunction(DataChunk &args, ExpressionState &state, Vector &result) { + ExecuteLambda(args, state, result); +} + +} // namespace duckdb diff --git a/src/core_functions/scalar/CMakeLists.txt b/src/core_functions/scalar/CMakeLists.txt index c02bd908ee1a..c6dd785c5b37 100644 --- a/src/core_functions/scalar/CMakeLists.txt +++ b/src/core_functions/scalar/CMakeLists.txt @@ -1,3 +1,4 @@ +add_subdirectory(array) add_subdirectory(bit) add_subdirectory(blob) add_subdirectory(date) @@ -8,6 +9,7 @@ add_subdirectory(map) add_subdirectory(math) add_subdirectory(operators) add_subdirectory(random) +add_subdirectory(secret) add_subdirectory(string) add_subdirectory(struct) add_subdirectory(union) diff --git a/src/core_functions/scalar/array/CMakeLists.txt b/src/core_functions/scalar/array/CMakeLists.txt new file mode 100644 index 000000000000..64d10343d9b5 --- /dev/null +++ b/src/core_functions/scalar/array/CMakeLists.txt @@ -0,0 +1,5 @@ +add_library_unity(duckdb_func_array OBJECT array_value.cpp array_functions.cpp) + +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/core_functions/scalar/array/array_functions.cpp b/src/core_functions/scalar/array/array_functions.cpp new file mode 100644 index 000000000000..9840ba1cc728 --- /dev/null +++ b/src/core_functions/scalar/array/array_functions.cpp @@ -0,0 +1,294 @@ +#include "duckdb/core_functions/scalar/array_functions.hpp" +#include + +namespace duckdb { + +//------------------------------------------------------------------------------ +// Functors +//------------------------------------------------------------------------------ + +struct InnerProductOp { + static constexpr const char *NAME = "array_inner_product"; + + template + inline static TYPE *GetResultData(Vector &result_vec) { + return FlatVector::GetData(result_vec); + } + + template + inline static void Operation(TYPE *l_data, idx_t l_idx, TYPE *r_data, idx_t r_idx, TYPE *result_data, + idx_t result_idx, idx_t size) { + + TYPE inner_product = 0; + + auto l_ptr = l_data + (l_idx * size); + auto r_ptr = r_data + (r_idx * size); + + for (idx_t elem_idx = 0; elem_idx < size; elem_idx++) { + auto x = *l_ptr++; + auto y = *r_ptr++; + inner_product += x * y; + } + + result_data[result_idx] = inner_product; + } +}; + +struct DistanceOp { + static constexpr const char *NAME = "array_distance"; + + template + inline static TYPE *GetResultData(Vector &result_vec) { + return FlatVector::GetData(result_vec); + } + + template + inline static void Operation(TYPE *l_data, idx_t l_idx, TYPE *r_data, idx_t r_idx, TYPE *result_data, + idx_t result_idx, idx_t size) { + + TYPE distance = 0; + + auto l_ptr = l_data + (l_idx * size); + auto r_ptr = r_data + (r_idx * size); + + for (idx_t elem_idx = 0; elem_idx < size; elem_idx++) { + auto x = *l_ptr++; + auto y = *r_ptr++; + auto diff = x - y; + distance += diff * diff; + } + + result_data[result_idx] = std::sqrt(distance); + } +}; + +struct CosineSimilarityOp { + static constexpr const char *NAME = "array_cosine_similarity"; + + template + inline static TYPE *GetResultData(Vector &result_vec) { + return FlatVector::GetData(result_vec); + } + + template + inline static void Operation(TYPE *l_data, idx_t l_idx, TYPE *r_data, idx_t r_idx, TYPE *result_data, + idx_t result_idx, idx_t size) { + + TYPE distance = 0; + TYPE norm_l = 0; + TYPE norm_r = 0; + + auto l_ptr = l_data + (l_idx * size); + auto r_ptr = r_data + (r_idx * size); + + for (idx_t i = 0; i < size; i++) { + auto x = *l_ptr++; + auto y = *r_ptr++; + distance += x * y; + norm_l += x * x; + norm_r += y * y; + } + + auto similarity = distance / (std::sqrt(norm_l) * std::sqrt(norm_r)); + + // clamp to [-1, 1] to avoid floating point errors + result_data[result_idx] = std::max(static_cast(-1), std::min(similarity, static_cast(1))); + } +}; + +struct CrossProductOp { + static constexpr const char *NAME = "array_cross_product"; + + template + inline static TYPE *GetResultData(Vector &result_vec) { + // Since we return an array here, we need to get the data pointer of the child + auto &child = ArrayVector::GetEntry(result_vec); + return FlatVector::GetData(child); + } + + template + inline static void Operation(TYPE *l_data, idx_t l_idx, TYPE *r_data, idx_t r_idx, TYPE *result_data, + idx_t result_idx, idx_t size) { + D_ASSERT(size == 3); + + auto l_child_idx = l_idx * size; + auto r_child_idx = r_idx * size; + auto res_child_idx = result_idx * size; + + auto lx = l_data[l_child_idx + 0]; + auto ly = l_data[l_child_idx + 1]; + auto lz = l_data[l_child_idx + 2]; + + auto rx = r_data[r_child_idx + 0]; + auto ry = r_data[r_child_idx + 1]; + auto rz = r_data[r_child_idx + 2]; + + result_data[res_child_idx + 0] = ly * rz - lz * ry; + result_data[res_child_idx + 1] = lz * rx - lx * rz; + result_data[res_child_idx + 2] = lx * ry - ly * rx; + } +}; + +//------------------------------------------------------------------------------ +// Generic Execute and Bind +//------------------------------------------------------------------------------ +// This is a generic executor function for fast binary math operations on +// real-valued arrays. Array elements are assumed to be either FLOAT or DOUBLE, +// and cannot be null. (although the array itself can be null). +// In the future we could extend this further to be truly generic and handle +// other types, unary/ternary operations and/or nulls. + +template +static inline void ArrayGenericBinaryExecute(Vector &left, Vector &right, Vector &result, idx_t size, idx_t count) { + + auto &left_child = ArrayVector::GetEntry(left); + auto &right_child = ArrayVector::GetEntry(right); + + auto &left_child_validity = FlatVector::Validity(left_child); + auto &right_child_validity = FlatVector::Validity(right_child); + + UnifiedVectorFormat left_format; + UnifiedVectorFormat right_format; + + left.ToUnifiedFormat(count, left_format); + right.ToUnifiedFormat(count, right_format); + + auto left_data = FlatVector::GetData(left_child); + auto right_data = FlatVector::GetData(right_child); + auto result_data = OP::template GetResultData(result); + + for (idx_t i = 0; i < count; i++) { + auto left_idx = left_format.sel->get_index(i); + auto right_idx = right_format.sel->get_index(i); + + if (!left_format.validity.RowIsValid(left_idx) || !right_format.validity.RowIsValid(right_idx)) { + FlatVector::SetNull(result, i, true); + continue; + } + + auto left_offset = left_idx * size; + if (!left_child_validity.CheckAllValid(left_offset + size, left_offset)) { + throw InvalidInputException(StringUtil::Format("%s: left argument can not contain NULL values", OP::NAME)); + } + + auto right_offset = right_idx * size; + if (!right_child_validity.CheckAllValid(right_offset + size, right_offset)) { + throw InvalidInputException(StringUtil::Format("%s: right argument can not contain NULL values", OP::NAME)); + } + + OP::template Operation(left_data, left_idx, right_data, right_idx, result_data, i, size); + } + + if (count == 1) { + result.SetVectorType(VectorType::CONSTANT_VECTOR); + } +} + +template +static void ArrayGenericBinaryFunction(DataChunk &args, ExpressionState &, Vector &result) { + auto size = ArrayType::GetSize(args.data[0].GetType()); + auto child_type = ArrayType::GetChildType(args.data[0].GetType()); + switch (child_type.id()) { + case LogicalTypeId::DOUBLE: + ArrayGenericBinaryExecute(args.data[0], args.data[1], result, size, args.size()); + break; + case LogicalTypeId::FLOAT: + ArrayGenericBinaryExecute(args.data[0], args.data[1], result, size, args.size()); + break; + default: + throw NotImplementedException(StringUtil::Format("%s: Unsupported element type", OP::NAME)); + } +} + +template +static unique_ptr ArrayGenericBinaryBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + + // construct return type + auto &left_type = arguments[0]->return_type; + auto &right_type = arguments[1]->return_type; + + auto left_size = ArrayType::GetSize(left_type); + auto right_size = ArrayType::GetSize(right_type); + if (left_size != right_size) { + throw InvalidInputException(StringUtil::Format("%s: Array arguments must be of the same size", OP::NAME)); + } + auto size = left_size; + + auto child_type = + LogicalType::MaxLogicalType(context, ArrayType::GetChildType(left_type), ArrayType::GetChildType(right_type)); + if (child_type != LogicalTypeId::FLOAT && child_type != LogicalTypeId::DOUBLE) { + throw InvalidInputException( + StringUtil::Format("%s: Array arguments must be of type FLOAT or DOUBLE", OP::NAME)); + } + + // the important part here is that we resolve the array size + auto array_type = LogicalType::ARRAY(child_type, size); + + bound_function.arguments[0] = array_type; + bound_function.arguments[1] = array_type; + bound_function.return_type = child_type; + + return nullptr; +} + +template +static inline void ArrayFixedBinaryFunction(DataChunk &args, ExpressionState &, Vector &result) { + ArrayGenericBinaryExecute(args.data[0], args.data[1], result, N, args.size()); +} + +//------------------------------------------------------------------------------ +// Function Registration +//------------------------------------------------------------------------------ + +// Note: In the future we could add a wrapper with a non-type template parameter to specialize for specific array sizes +// e.g. 256, 512, 1024, 2048 etc. which may allow the compiler to vectorize the loop better. Perhaps something for an +// extension. + +ScalarFunctionSet ArrayInnerProductFun::GetFunctions() { + ScalarFunctionSet set("array_inner_product"); + // Generic array inner product function + for (auto &type : LogicalType::Real()) { + set.AddFunction(ScalarFunction({LogicalType::ARRAY(type), LogicalType::ARRAY(type)}, type, + ArrayGenericBinaryFunction, + ArrayGenericBinaryBind)); + } + return set; +} + +ScalarFunctionSet ArrayDistanceFun::GetFunctions() { + ScalarFunctionSet set("array_distance"); + // Generic array distance function + for (auto &type : LogicalType::Real()) { + set.AddFunction(ScalarFunction({LogicalType::ARRAY(type), LogicalType::ARRAY(type)}, type, + ArrayGenericBinaryFunction, ArrayGenericBinaryBind)); + } + return set; +} + +ScalarFunctionSet ArrayCosineSimilarityFun::GetFunctions() { + ScalarFunctionSet set("array_cosine_similarity"); + // Generic array cosine similarity function + for (auto &type : LogicalType::Real()) { + set.AddFunction(ScalarFunction({LogicalType::ARRAY(type), LogicalType::ARRAY(type)}, type, + ArrayGenericBinaryFunction, + ArrayGenericBinaryBind)); + } + return set; +} + +ScalarFunctionSet ArrayCrossProductFun::GetFunctions() { + ScalarFunctionSet set("array_cross_product"); + + // Generic array cross product function + auto double_arr = LogicalType::ARRAY(LogicalType::DOUBLE, 3); + set.AddFunction( + ScalarFunction({double_arr, double_arr}, double_arr, ArrayFixedBinaryFunction)); + + auto float_arr = LogicalType::ARRAY(LogicalType::FLOAT, 3); + set.AddFunction( + ScalarFunction({float_arr, float_arr}, float_arr, ArrayFixedBinaryFunction)); + return set; +} + +} // namespace duckdb diff --git a/src/core_functions/scalar/array/array_value.cpp b/src/core_functions/scalar/array/array_value.cpp new file mode 100644 index 000000000000..ac4f0bd24e47 --- /dev/null +++ b/src/core_functions/scalar/array/array_value.cpp @@ -0,0 +1,87 @@ +#include "duckdb/core_functions/scalar/array_functions.hpp" +#include "duckdb/function/scalar/nested_functions.hpp" +#include "duckdb/storage/statistics/array_stats.hpp" +#include "duckdb/planner/expression/bound_function_expression.hpp" + +namespace duckdb { + +static void ArrayValueFunction(DataChunk &args, ExpressionState &state, Vector &result) { + auto array_type = result.GetType(); + + D_ASSERT(array_type.id() == LogicalTypeId::ARRAY); + D_ASSERT(args.ColumnCount() == ArrayType::GetSize(array_type)); + + auto &child_type = ArrayType::GetChildType(array_type); + + result.SetVectorType(VectorType::CONSTANT_VECTOR); + for (idx_t i = 0; i < args.ColumnCount(); i++) { + if (args.data[i].GetVectorType() != VectorType::CONSTANT_VECTOR) { + result.SetVectorType(VectorType::FLAT_VECTOR); + } + } + + auto num_rows = args.size(); + auto num_columns = args.ColumnCount(); + + auto &child = ArrayVector::GetEntry(result); + + if (num_columns > 1) { + // Ensure that the child has a validity mask of the correct size + // The SetValue call below expects the validity mask to be initialized + auto &child_validity = FlatVector::Validity(child); + child_validity.Resize(num_rows, num_rows * num_columns); + } + + for (idx_t i = 0; i < num_rows; i++) { + for (idx_t j = 0; j < num_columns; j++) { + auto val = args.GetValue(j, i).DefaultCastAs(child_type); + child.SetValue((i * num_columns) + j, val); + } + } + + result.Verify(args.size()); +} + +static unique_ptr ArrayValueBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + if (arguments.empty()) { + throw InvalidInputException("array_value requires at least one argument"); + } + + // construct return type + LogicalType child_type = arguments[0]->return_type; + for (idx_t i = 1; i < arguments.size(); i++) { + child_type = LogicalType::MaxLogicalType(context, child_type, arguments[i]->return_type); + } + + if (arguments.size() > ArrayType::MAX_ARRAY_SIZE) { + throw OutOfRangeException("Array size exceeds maximum allowed size"); + } + + // this is more for completeness reasons + bound_function.varargs = child_type; + bound_function.return_type = LogicalType::ARRAY(child_type, arguments.size()); + return make_uniq(bound_function.return_type); +} + +unique_ptr ArrayValueStats(ClientContext &context, FunctionStatisticsInput &input) { + auto &child_stats = input.child_stats; + auto &expr = input.expr; + auto list_stats = ArrayStats::CreateEmpty(expr.return_type); + auto &list_child_stats = ArrayStats::GetChildStats(list_stats); + for (idx_t i = 0; i < child_stats.size(); i++) { + list_child_stats.Merge(child_stats[i]); + } + return list_stats.ToUnique(); +} + +ScalarFunction ArrayValueFun::GetFunction() { + // the arguments and return types are actually set in the binder function + ScalarFunction fun("array_value", {}, LogicalTypeId::ARRAY, ArrayValueFunction, ArrayValueBind, nullptr, + ArrayValueStats); + fun.varargs = LogicalType::ANY; + fun.null_handling = FunctionNullHandling::SPECIAL_HANDLING; + return fun; +} + +} // namespace duckdb diff --git a/src/core_functions/scalar/array/functions.json b/src/core_functions/scalar/array/functions.json new file mode 100644 index 000000000000..4a0198dc8e73 --- /dev/null +++ b/src/core_functions/scalar/array/functions.json @@ -0,0 +1,38 @@ +[ + { + "name": "array_value", + "parameters": "any,...", + "description": "Create an ARRAY containing the argument values.", + "example": "array_value(4, 5, 6)", + "type": "scalar_function" + }, + { + "name": "array_cross_product", + "parameters": "array, array", + "description": "Compute the cross product of two arrays of size 3. The array elements can not be NULL.", + "example": "array_cross_product([1, 2, 3], [1, 2, 3])", + "type": "scalar_function_set" + }, + { + "name": "array_cosine_similarity", + "parameters": "array1,array2", + "description": "Compute the cosine similarity between two arrays of the same size. The array elements can not be NULL. The arrays can have any size as long as the size is the same for both arguments.", + "example": "array_cosine_similarity([1, 2, 3], [1, 2, 3])", + "type": "scalar_function_set" + }, + { + "name": "array_distance", + "parameters": "array1,array2", + "description": "Compute the distance between two arrays of the same size. The array elements can not be NULL. The arrays can have any size as long as the size is the same for both arguments.", + "example": "array_distance([1, 2, 3], [1, 2, 3])", + "type": "scalar_function_set" + }, + { + "name": "array_inner_product", + "parameters": "array1,array2", + "description": "Compute the inner product between two arrays of the same size. The array elements can not be NULL. The arrays can have any size as long as the size is the same for both arguments.", + "example": "array_inner_product([1, 2, 3], [1, 2, 3])", + "type": "scalar_function_set", + "aliases": ["array_dot_product"] + } +] diff --git a/src/core_functions/scalar/blob/CMakeLists.txt b/src/core_functions/scalar/blob/CMakeLists.txt index 84ce16ac0627..1261fff7ef5e 100644 --- a/src/core_functions/scalar/blob/CMakeLists.txt +++ b/src/core_functions/scalar/blob/CMakeLists.txt @@ -1,4 +1,5 @@ -add_library_unity(duckdb_func_blob OBJECT base64.cpp encode.cpp) +add_library_unity(duckdb_func_blob OBJECT base64.cpp create_sort_key.cpp + encode.cpp) set(ALL_OBJECT_FILES ${ALL_OBJECT_FILES} $ PARENT_SCOPE) diff --git a/src/core_functions/scalar/blob/create_sort_key.cpp b/src/core_functions/scalar/blob/create_sort_key.cpp new file mode 100644 index 000000000000..880acd2c8366 --- /dev/null +++ b/src/core_functions/scalar/blob/create_sort_key.cpp @@ -0,0 +1,686 @@ +#include "duckdb/core_functions/scalar/blob_functions.hpp" +#include "duckdb/execution/expression_executor.hpp" +#include "duckdb/common/enums/order_type.hpp" +#include "duckdb/common/radix.hpp" +#include "duckdb/planner/expression/bound_function_expression.hpp" +#include "duckdb/planner/expression_binder.hpp" + +namespace duckdb { + +struct OrderModifiers { + OrderModifiers(OrderType order_type, OrderByNullType null_type) : order_type(order_type), null_type(null_type) { + } + + OrderType order_type; + OrderByNullType null_type; + + bool operator==(const OrderModifiers &other) const { + return order_type == other.order_type && null_type == other.null_type; + } + + static OrderModifiers Parse(const string &val) { + auto lcase = StringUtil::Replace(StringUtil::Lower(val), "_", " "); + OrderType order_type; + if (StringUtil::StartsWith(lcase, "asc")) { + order_type = OrderType::ASCENDING; + } else if (StringUtil::StartsWith(lcase, "desc")) { + order_type = OrderType::DESCENDING; + } else { + throw BinderException("create_sort_key modifier must start with either ASC or DESC"); + } + OrderByNullType null_type; + if (StringUtil::EndsWith(lcase, "nulls first")) { + null_type = OrderByNullType::NULLS_FIRST; + } else if (StringUtil::EndsWith(lcase, "nulls last")) { + null_type = OrderByNullType::NULLS_LAST; + } else { + throw BinderException("create_sort_key modifier must end with either NULLS FIRST or NULLS LAST"); + } + return OrderModifiers(order_type, null_type); + } +}; + +struct CreateSortKeyBindData : public FunctionData { + vector modifiers; + + bool Equals(const FunctionData &other_p) const override { + auto &other = other_p.Cast(); + return modifiers == other.modifiers; + } + unique_ptr Copy() const override { + auto result = make_uniq(); + result->modifiers = modifiers; + return std::move(result); + } +}; + +unique_ptr CreateSortKeyBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + if (arguments.size() % 2 != 0) { + throw BinderException( + "Arguments to create_sort_key must be [key1, sort_specifier1, key2, sort_specifier2, ...]"); + } + auto result = make_uniq(); + for (idx_t i = 1; i < arguments.size(); i += 2) { + if (!arguments[i]->IsFoldable()) { + throw BinderException("sort_specifier must be a constant value - but got %s", arguments[i]->ToString()); + } + + // Rebind to return a date if we are truncating that far + Value sort_specifier = ExpressionExecutor::EvaluateScalar(context, *arguments[i]); + if (sort_specifier.IsNull()) { + throw BinderException("sort_specifier cannot be NULL"); + } + auto sort_specifier_str = sort_specifier.ToString(); + result->modifiers.push_back(OrderModifiers::Parse(sort_specifier_str)); + } + // push collations + for (idx_t i = 0; i < arguments.size(); i += 2) { + ExpressionBinder::PushCollation(context, arguments[i], arguments[i]->return_type, false); + } + // check if all types are constant + bool all_constant = true; + idx_t constant_size = 0; + for (idx_t i = 0; i < arguments.size(); i += 2) { + auto physical_type = arguments[i]->return_type.InternalType(); + if (!TypeIsConstantSize(physical_type)) { + all_constant = false; + } else { + // we always add one byte for the validity + constant_size += GetTypeIdSize(physical_type) + 1; + } + } + if (all_constant) { + if (constant_size <= sizeof(int64_t)) { + bound_function.return_type = LogicalType::BIGINT; + } + } + return std::move(result); +} + +//===--------------------------------------------------------------------===// +// Operators +//===--------------------------------------------------------------------===// +struct SortKeyVectorData { + static constexpr data_t NULL_FIRST_BYTE = 1; + static constexpr data_t NULL_LAST_BYTE = 2; + static constexpr data_t STRING_DELIMITER = 0; + static constexpr data_t LIST_DELIMITER = 0; + static constexpr data_t BLOB_ESCAPE_CHARACTER = 1; + + SortKeyVectorData(Vector &input, idx_t size, OrderModifiers modifiers) : vec(input) { + input.ToUnifiedFormat(size, format); + this->size = size; + + null_byte = NULL_FIRST_BYTE; + valid_byte = NULL_LAST_BYTE; + if (modifiers.null_type == OrderByNullType::NULLS_LAST) { + std::swap(null_byte, valid_byte); + } + + // NULLS FIRST/NULLS LAST passed in by the user are only respected at the top level + // within nested types NULLS LAST/NULLS FIRST is dependent on ASC/DESC order instead + // don't blame me this is what Postgres does + auto child_null_type = + modifiers.order_type == OrderType::ASCENDING ? OrderByNullType::NULLS_LAST : OrderByNullType::NULLS_FIRST; + OrderModifiers child_modifiers(modifiers.order_type, child_null_type); + switch (input.GetType().InternalType()) { + case PhysicalType::STRUCT: { + auto &children = StructVector::GetEntries(input); + for (auto &child : children) { + child_data.push_back(make_uniq(*child, size, child_modifiers)); + } + break; + } + case PhysicalType::ARRAY: { + auto &child_entry = ArrayVector::GetEntry(input); + auto array_size = ArrayType::GetSize(input.GetType()); + child_data.push_back(make_uniq(child_entry, size * array_size, child_modifiers)); + break; + } + case PhysicalType::LIST: { + auto &child_entry = ListVector::GetEntry(input); + auto child_size = ListVector::GetListSize(input); + child_data.push_back(make_uniq(child_entry, child_size, child_modifiers)); + break; + } + default: + break; + } + } + // disable copy constructors + SortKeyVectorData(const SortKeyVectorData &other) = delete; + SortKeyVectorData &operator=(const SortKeyVectorData &) = delete; + + PhysicalType GetPhysicalType() { + return vec.GetType().InternalType(); + } + + Vector &vec; + idx_t size; + UnifiedVectorFormat format; + vector> child_data; + data_t null_byte; + data_t valid_byte; +}; + +template +struct SortKeyConstantOperator { + using TYPE = T; + + static idx_t GetEncodeLength(TYPE input) { + return sizeof(T); + } + + static idx_t Encode(data_ptr_t result, TYPE input) { + Radix::EncodeData(result, input); + return sizeof(T); + } +}; + +struct SortKeyVarcharOperator { + using TYPE = string_t; + + static idx_t GetEncodeLength(TYPE input) { + return input.GetSize() + 1; + } + + static idx_t Encode(data_ptr_t result, TYPE input) { + auto input_data = input.GetDataUnsafe(); + auto input_size = input.GetSize(); + for (idx_t r = 0; r < input_size; r++) { + result[r] = input_data[r] + 1; + } + result[input_size] = SortKeyVectorData::STRING_DELIMITER; // null-byte delimiter + return input_size + 1; + } +}; + +struct SortKeyBlobOperator { + using TYPE = string_t; + + static idx_t GetEncodeLength(TYPE input) { + auto input_data = data_ptr_t(input.GetDataUnsafe()); + auto input_size = input.GetSize(); + idx_t escaped_characters = 0; + for (idx_t r = 0; r < input_size; r++) { + if (input_data[r] <= 1) { + // we escape both \x00 and \x01 + escaped_characters++; + } + } + return input.GetSize() + escaped_characters + 1; + } + + static idx_t Encode(data_ptr_t result, TYPE input) { + auto input_data = data_ptr_t(input.GetDataUnsafe()); + auto input_size = input.GetSize(); + idx_t result_offset = 0; + for (idx_t r = 0; r < input_size; r++) { + if (input_data[r] <= 1) { + // we escape both \x00 and \x01 with \x01 + result[result_offset++] = SortKeyVectorData::BLOB_ESCAPE_CHARACTER; + result[result_offset++] = input_data[r]; + } else { + result[result_offset++] = input_data[r]; + } + } + result[result_offset++] = SortKeyVectorData::STRING_DELIMITER; // null-byte delimiter + return result_offset; + } +}; + +struct SortKeyListEntry { + static bool IsArray() { + return false; + } + + static list_entry_t GetListEntry(SortKeyVectorData &vector_data, idx_t idx) { + auto data = UnifiedVectorFormat::GetData(vector_data.format); + return data[idx]; + } +}; + +struct SortKeyArrayEntry { + static bool IsArray() { + return true; + } + + static list_entry_t GetListEntry(SortKeyVectorData &vector_data, idx_t idx) { + auto array_size = ArrayType::GetSize(vector_data.vec.GetType()); + return list_entry_t(array_size * idx, array_size); + } +}; + +struct SortKeyChunk { + SortKeyChunk(idx_t start, idx_t end) : start(start), end(end), has_result_index(false) { + } + SortKeyChunk(idx_t start, idx_t end, idx_t result_index) + : start(start), end(end), result_index(result_index), has_result_index(true) { + } + + idx_t start; + idx_t end; + idx_t result_index; + bool has_result_index; + + inline idx_t GetResultIndex(idx_t r) { + return has_result_index ? result_index : r; + } +}; + +//===--------------------------------------------------------------------===// +// Get Sort Key Length +//===--------------------------------------------------------------------===// +struct SortKeyLengthInfo { + explicit SortKeyLengthInfo(idx_t size) : constant_length(0) { + variable_lengths.resize(size, 0); + } + + idx_t constant_length; + unsafe_vector variable_lengths; +}; + +static void GetSortKeyLengthRecursive(SortKeyVectorData &vector_data, SortKeyChunk chunk, SortKeyLengthInfo &result); + +template +void TemplatedGetSortKeyLength(SortKeyVectorData &vector_data, SortKeyChunk chunk, SortKeyLengthInfo &result) { + auto &format = vector_data.format; + auto data = UnifiedVectorFormat::GetData(vector_data.format); + for (idx_t r = chunk.start; r < chunk.end; r++) { + auto idx = format.sel->get_index(r); + auto result_index = chunk.GetResultIndex(r); + result.variable_lengths[result_index]++; // every value is prefixed by a validity byte + + if (!format.validity.RowIsValid(idx)) { + continue; + } + result.variable_lengths[result_index] += OP::GetEncodeLength(data[idx]); + } +} + +void GetSortKeyLengthStruct(SortKeyVectorData &vector_data, SortKeyChunk chunk, SortKeyLengthInfo &result) { + for (idx_t r = chunk.start; r < chunk.end; r++) { + auto result_index = chunk.GetResultIndex(r); + result.variable_lengths[result_index]++; // every struct is prefixed by a validity byte + } + // now recursively call GetSortKeyLength on the child elements + for (auto &child_data : vector_data.child_data) { + GetSortKeyLengthRecursive(*child_data, chunk, result); + } +} + +template +void GetSortKeyLengthList(SortKeyVectorData &vector_data, SortKeyChunk chunk, SortKeyLengthInfo &result) { + auto &child_data = vector_data.child_data[0]; + for (idx_t r = chunk.start; r < chunk.end; r++) { + auto idx = vector_data.format.sel->get_index(r); + auto result_index = chunk.GetResultIndex(r); + result.variable_lengths[result_index]++; // every list is prefixed by a validity byte + + if (!vector_data.format.validity.RowIsValid(idx)) { + if (!OP::IsArray()) { + // for arrays we need to fill in the child vector for all elements, even if the top-level array is NULL + continue; + } + } + auto list_entry = OP::GetListEntry(vector_data, idx); + // for each non-null list we have an "end of list" delimiter + result.variable_lengths[result_index]++; + if (list_entry.length > 0) { + // recursively call GetSortKeyLength for the children of this list + SortKeyChunk child_chunk(list_entry.offset, list_entry.offset + list_entry.length, result_index); + GetSortKeyLengthRecursive(*child_data, child_chunk, result); + } + } +} + +static void GetSortKeyLengthRecursive(SortKeyVectorData &vector_data, SortKeyChunk chunk, SortKeyLengthInfo &result) { + auto physical_type = vector_data.GetPhysicalType(); + // handle variable lengths + switch (physical_type) { + case PhysicalType::BOOL: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::UINT8: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::INT8: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::UINT16: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::INT16: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::UINT32: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::INT32: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::UINT64: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::INT64: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::FLOAT: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::DOUBLE: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::INTERVAL: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::UINT128: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::INT128: + TemplatedGetSortKeyLength>(vector_data, chunk, result); + break; + case PhysicalType::VARCHAR: + if (vector_data.vec.GetType().id() == LogicalTypeId::VARCHAR) { + TemplatedGetSortKeyLength(vector_data, chunk, result); + } else { + TemplatedGetSortKeyLength(vector_data, chunk, result); + } + break; + case PhysicalType::STRUCT: + GetSortKeyLengthStruct(vector_data, chunk, result); + break; + case PhysicalType::LIST: + GetSortKeyLengthList(vector_data, chunk, result); + break; + case PhysicalType::ARRAY: + GetSortKeyLengthList(vector_data, chunk, result); + break; + default: + throw NotImplementedException("Unsupported physical type %s in GetSortKeyLength", physical_type); + } +} + +static void GetSortKeyLength(SortKeyVectorData &vector_data, SortKeyLengthInfo &result) { + // top-level method + auto physical_type = vector_data.GetPhysicalType(); + if (TypeIsConstantSize(physical_type)) { + // every row is prefixed by a validity byte + result.constant_length += 1; + result.constant_length += GetTypeIdSize(physical_type); + return; + } + GetSortKeyLengthRecursive(vector_data, SortKeyChunk(0, vector_data.size), result); +} + +//===--------------------------------------------------------------------===// +// Construct Sort Key +//===--------------------------------------------------------------------===// +struct SortKeyConstructInfo { + SortKeyConstructInfo(OrderModifiers modifiers_p, unsafe_vector &offsets, data_ptr_t *result_data) + : modifiers(modifiers_p), offsets(offsets), result_data(result_data) { + flip_bytes = modifiers.order_type == OrderType::DESCENDING; + } + + OrderModifiers modifiers; + unsafe_vector &offsets; + data_ptr_t *result_data; + bool flip_bytes; +}; + +static void ConstructSortKeyRecursive(SortKeyVectorData &vector_data, SortKeyChunk chunk, SortKeyConstructInfo &info); + +template +void TemplatedConstructSortKey(SortKeyVectorData &vector_data, SortKeyChunk chunk, SortKeyConstructInfo &info) { + auto data = UnifiedVectorFormat::GetData(vector_data.format); + auto &offsets = info.offsets; + for (idx_t r = chunk.start; r < chunk.end; r++) { + auto result_index = chunk.GetResultIndex(r); + auto idx = vector_data.format.sel->get_index(r); + auto &offset = offsets[result_index]; + auto result_ptr = info.result_data[result_index]; + if (!vector_data.format.validity.RowIsValid(idx)) { + // NULL value - write the null byte and skip + result_ptr[offset++] = vector_data.null_byte; + continue; + } + // valid value - write the validity byte + result_ptr[offset++] = vector_data.valid_byte; + idx_t encode_len = OP::Encode(result_ptr + offset, data[idx]); + if (info.flip_bytes) { + // descending order - so flip bytes + for (idx_t b = offset; b < offset + encode_len; b++) { + result_ptr[b] = ~result_ptr[b]; + } + } + offset += encode_len; + } +} + +void ConstructSortKeyStruct(SortKeyVectorData &vector_data, SortKeyChunk chunk, SortKeyConstructInfo &info) { + bool list_of_structs = chunk.has_result_index; + // write the validity data of the struct + auto &offsets = info.offsets; + for (idx_t r = chunk.start; r < chunk.end; r++) { + auto result_index = chunk.GetResultIndex(r); + auto idx = vector_data.format.sel->get_index(r); + auto &offset = offsets[result_index]; + auto result_ptr = info.result_data[result_index]; + if (!vector_data.format.validity.RowIsValid(idx)) { + // NULL value - write the null byte and skip + result_ptr[offset++] = vector_data.null_byte; + } else { + // valid value - write the validity byte + result_ptr[offset++] = vector_data.valid_byte; + } + if (list_of_structs) { + // for a list of structs we need to write the child data for every iteration + // since the final layout needs to be + // [struct1][struct2][...] + for (auto &child : vector_data.child_data) { + SortKeyChunk child_chunk(r, r + 1, result_index); + ConstructSortKeyRecursive(*child, child_chunk, info); + } + } + } + if (!list_of_structs) { + for (auto &child : vector_data.child_data) { + ConstructSortKeyRecursive(*child, chunk, info); + } + } +} + +template +void ConstructSortKeyList(SortKeyVectorData &vector_data, SortKeyChunk chunk, SortKeyConstructInfo &info) { + auto &offsets = info.offsets; + for (idx_t r = chunk.start; r < chunk.end; r++) { + auto result_index = chunk.GetResultIndex(r); + auto idx = vector_data.format.sel->get_index(r); + auto &offset = offsets[result_index]; + auto result_ptr = info.result_data[result_index]; + if (!vector_data.format.validity.RowIsValid(idx)) { + // NULL value - write the null byte and skip + result_ptr[offset++] = vector_data.null_byte; + if (!OP::IsArray()) { + // for arrays we always write the child elements - also if the top-level array is NULL + continue; + } + } else { + // valid value - write the validity byte + result_ptr[offset++] = vector_data.valid_byte; + } + + auto list_entry = OP::GetListEntry(vector_data, idx); + // recurse and write the list elements + if (list_entry.length > 0) { + SortKeyChunk child_chunk(list_entry.offset, list_entry.offset + list_entry.length, result_index); + ConstructSortKeyRecursive(*vector_data.child_data[0], child_chunk, info); + } + + // write the end-of-list delimiter + result_ptr[offset++] = info.flip_bytes ? ~SortKeyVectorData::LIST_DELIMITER : SortKeyVectorData::LIST_DELIMITER; + } +} + +static void ConstructSortKeyRecursive(SortKeyVectorData &vector_data, SortKeyChunk chunk, SortKeyConstructInfo &info) { + switch (vector_data.GetPhysicalType()) { + case PhysicalType::BOOL: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::UINT8: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::INT8: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::UINT16: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::INT16: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::UINT32: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::INT32: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::UINT64: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::INT64: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::FLOAT: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::DOUBLE: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::INTERVAL: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::UINT128: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::INT128: + TemplatedConstructSortKey>(vector_data, chunk, info); + break; + case PhysicalType::VARCHAR: + if (vector_data.vec.GetType().id() == LogicalTypeId::VARCHAR) { + TemplatedConstructSortKey(vector_data, chunk, info); + } else { + TemplatedConstructSortKey(vector_data, chunk, info); + } + break; + case PhysicalType::STRUCT: + ConstructSortKeyStruct(vector_data, chunk, info); + break; + case PhysicalType::LIST: + ConstructSortKeyList(vector_data, chunk, info); + break; + case PhysicalType::ARRAY: + ConstructSortKeyList(vector_data, chunk, info); + break; + default: + throw NotImplementedException("Unsupported type %s in ConstructSortKey", vector_data.vec.GetType()); + } +} + +static void ConstructSortKey(SortKeyVectorData &vector_data, SortKeyConstructInfo &info) { + ConstructSortKeyRecursive(vector_data, SortKeyChunk(0, vector_data.size), info); +} + +static void PrepareSortData(Vector &result, idx_t size, SortKeyLengthInfo &key_lengths, data_ptr_t *data_pointers) { + switch (result.GetType().id()) { + case LogicalTypeId::BLOB: { + auto result_data = FlatVector::GetData(result); + for (idx_t r = 0; r < size; r++) { + auto blob_size = key_lengths.variable_lengths[r] + key_lengths.constant_length; + result_data[r] = StringVector::EmptyString(result, blob_size); + data_pointers[r] = data_ptr_cast(result_data[r].GetDataWriteable()); +#ifdef DEBUG + memset(data_pointers[r], 0xFF, blob_size); +#endif + } + break; + } + case LogicalTypeId::BIGINT: { + auto result_data = FlatVector::GetData(result); + for (idx_t r = 0; r < size; r++) { + result_data[r] = 0; + data_pointers[r] = data_ptr_cast(&result_data[r]); + } + break; + } + default: + throw InternalException("Unsupported key type for CreateSortKey"); + } +} + +static void FinalizeSortData(Vector &result, idx_t size) { + switch (result.GetType().id()) { + case LogicalTypeId::BLOB: { + auto result_data = FlatVector::GetData(result); + // call Finalize on the result + for (idx_t r = 0; r < size; r++) { + result_data[r].Finalize(); + } + break; + } + case LogicalTypeId::BIGINT: { + auto result_data = FlatVector::GetData(result); + for (idx_t r = 0; r < size; r++) { + result_data[r] = BSwap(result_data[r]); + } + break; + } + default: + throw InternalException("Unsupported key type for CreateSortKey"); + } +} + +static void CreateSortKeyFunction(DataChunk &args, ExpressionState &state, Vector &result) { + auto &bind_data = state.expr.Cast().bind_info->Cast(); + + // prepare the sort key data + vector> sort_key_data; + for (idx_t c = 0; c < args.ColumnCount(); c += 2) { + sort_key_data.push_back(make_uniq(args.data[c], args.size(), bind_data.modifiers[c / 2])); + } + + // two phases + // a) get the length of the final sorted key + // b) allocate the sorted key and construct + // we do all of this in a vectorized manner + SortKeyLengthInfo key_lengths(args.size()); + for (auto &vector_data : sort_key_data) { + GetSortKeyLength(*vector_data, key_lengths); + } + // allocate the empty sort keys + auto data_pointers = unique_ptr(new data_ptr_t[args.size()]); + PrepareSortData(result, args.size(), key_lengths, data_pointers.get()); + + unsafe_vector offsets; + offsets.resize(args.size(), 0); + // now construct the sort keys + for (idx_t c = 0; c < sort_key_data.size(); c++) { + SortKeyConstructInfo info(bind_data.modifiers[c], offsets, data_pointers.get()); + ConstructSortKey(*sort_key_data[c], info); + } + FinalizeSortData(result, args.size()); + if (args.AllConstant()) { + result.SetVectorType(VectorType::CONSTANT_VECTOR); + } +} + +ScalarFunction CreateSortKeyFun::GetFunction() { + ScalarFunction sort_key_function("create_sort_key", {LogicalType::ANY}, LogicalType::BLOB, CreateSortKeyFunction, + CreateSortKeyBind); + sort_key_function.varargs = LogicalType::ANY; + sort_key_function.null_handling = FunctionNullHandling::SPECIAL_HANDLING; + return sort_key_function; +} + +} // namespace duckdb diff --git a/src/core_functions/scalar/blob/encode.cpp b/src/core_functions/scalar/blob/encode.cpp index 75e66cc96842..ff11f2f6c0e4 100644 --- a/src/core_functions/scalar/blob/encode.cpp +++ b/src/core_functions/scalar/blob/encode.cpp @@ -1,5 +1,6 @@ #include "duckdb/core_functions/scalar/blob_functions.hpp" #include "utf8proc_wrapper.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" namespace duckdb { diff --git a/src/core_functions/scalar/blob/functions.json b/src/core_functions/scalar/blob/functions.json index ceb1add8a4ad..0bade9075002 100644 --- a/src/core_functions/scalar/blob/functions.json +++ b/src/core_functions/scalar/blob/functions.json @@ -27,5 +27,12 @@ "example": "base64('A'::blob)", "type": "scalar_function", "aliases": ["base64"] + }, + { + "name": "create_sort_key", + "parameters": "parameters...", + "description": "Constructs a binary-comparable sort key based on a set of input parameters and sort qualifiers", + "example": "create_sort_key('A', 'DESC')", + "type": "scalar_function" } ] \ No newline at end of file diff --git a/src/core_functions/scalar/date/current.cpp b/src/core_functions/scalar/date/current.cpp index e8b069e6d09f..15957531518b 100644 --- a/src/core_functions/scalar/date/current.cpp +++ b/src/core_functions/scalar/date/current.cpp @@ -35,19 +35,19 @@ static void CurrentTimestampFunction(DataChunk &input, ExpressionState &state, V ScalarFunction CurrentTimeFun::GetFunction() { ScalarFunction current_time({}, LogicalType::TIME, CurrentTimeFunction); - current_time.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS; + current_time.stability = FunctionStability::CONSISTENT_WITHIN_QUERY; return current_time; } ScalarFunction CurrentDateFun::GetFunction() { ScalarFunction current_date({}, LogicalType::DATE, CurrentDateFunction); - current_date.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS; + current_date.stability = FunctionStability::CONSISTENT_WITHIN_QUERY; return current_date; } ScalarFunction GetCurrentTimestampFun::GetFunction() { ScalarFunction current_timestamp({}, LogicalType::TIMESTAMP_TZ, CurrentTimestampFunction); - current_timestamp.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS; + current_timestamp.stability = FunctionStability::CONSISTENT_WITHIN_QUERY; return current_timestamp; } diff --git a/src/core_functions/scalar/date/date_part.cpp b/src/core_functions/scalar/date/date_part.cpp index dda67a1b70c7..4ffde4e7353a 100644 --- a/src/core_functions/scalar/date/date_part.cpp +++ b/src/core_functions/scalar/date/date_part.cpp @@ -5,6 +5,7 @@ #include "duckdb/common/string_util.hpp" #include "duckdb/common/enum_util.hpp" #include "duckdb/common/types/date.hpp" +#include "duckdb/common/types/time.hpp" #include "duckdb/common/types/timestamp.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/execution/expression_executor.hpp" @@ -43,6 +44,7 @@ DatePartSpecifier GetDateTypePartSpecifier(const string &specifier, LogicalType } break; case LogicalType::TIME: + case LogicalType::TIME_TZ: switch (part) { case DatePartSpecifier::MICROSECONDS: case DatePartSpecifier::MILLISECONDS: @@ -358,7 +360,7 @@ struct DatePart { struct EpochNanosecondsOperator { template static inline TR Operation(TA input) { - return input.micros * Interval::NANOS_PER_MICRO; + return Timestamp::GetEpochNanoSeconds(input); } template @@ -370,7 +372,7 @@ struct DatePart { struct EpochMicrosecondsOperator { template static inline TR Operation(TA input) { - return input.micros; + return Timestamp::GetEpochMicroSeconds(input); } template @@ -382,7 +384,7 @@ struct DatePart { struct EpochMillisOperator { template static inline TR Operation(TA input) { - return input.micros / Interval::MICROS_PER_MSEC; + return Timestamp::GetEpochMs(input); } template @@ -494,6 +496,51 @@ struct DatePart { return 0; } + template + static TR Operation(TA interval, TB timetz) { + auto time = Time::NormalizeTimeTZ(timetz); + date_t date(0); + time = Interval::Add(time, interval, date); + auto offset = interval.micros / Interval::MICROS_PER_SEC; + return TR(time, offset); + } + + template + static void BinaryFunction(DataChunk &input, ExpressionState &state, Vector &result) { + D_ASSERT(input.ColumnCount() == 2); + auto &offset = input.data[0]; + auto &timetz = input.data[1]; + + auto func = DatePart::TimezoneOperator::Operation; + BinaryExecutor::Execute(offset, timetz, result, input.size(), func); + } + + template + static unique_ptr PropagateStatistics(ClientContext &context, FunctionStatisticsInput &input) { + return PropagateSimpleDatePartStatistics<0, 0>(input.child_stats); + } + }; + + struct TimezoneHourOperator { + template + static inline TR Operation(TA input) { + // Regular timestamps are UTC. + return 0; + } + + template + static unique_ptr PropagateStatistics(ClientContext &context, FunctionStatisticsInput &input) { + return PropagateSimpleDatePartStatistics<0, 0>(input.child_stats); + } + }; + + struct TimezoneMinuteOperator { + template + static inline TR Operation(TA input) { + // Regular timestamps are UTC. + return 0; + } + template static unique_ptr PropagateStatistics(ClientContext &context, FunctionStatisticsInput &input) { return PropagateSimpleDatePartStatistics<0, 0>(input.child_stats); @@ -512,10 +559,6 @@ struct DatePart { } }; - // These are all zero and have the same restrictions - using TimezoneHourOperator = TimezoneOperator; - using TimezoneMinuteOperator = TimezoneOperator; - struct StructOperator { using part_codes_t = vector; using part_mask_t = uint64_t; @@ -722,6 +765,11 @@ int64_t DatePart::YearOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"year\" not recognized"); } +template <> +int64_t DatePart::YearOperator::Operation(dtime_tz_t input) { + return YearOperator::Operation(input.time()); +} + template <> int64_t DatePart::MonthOperator::Operation(timestamp_t input) { return MonthOperator::Operation(Timestamp::GetDate(input)); @@ -737,6 +785,11 @@ int64_t DatePart::MonthOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"month\" not recognized"); } +template <> +int64_t DatePart::MonthOperator::Operation(dtime_tz_t input) { + return MonthOperator::Operation(input.time()); +} + template <> int64_t DatePart::DayOperator::Operation(timestamp_t input) { return DayOperator::Operation(Timestamp::GetDate(input)); @@ -752,6 +805,11 @@ int64_t DatePart::DayOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"day\" not recognized"); } +template <> +int64_t DatePart::DayOperator::Operation(dtime_tz_t input) { + return DayOperator::Operation(input.time()); +} + template <> int64_t DatePart::DecadeOperator::Operation(interval_t input) { return input.months / Interval::MONTHS_PER_DECADE; @@ -762,6 +820,11 @@ int64_t DatePart::DecadeOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"decade\" not recognized"); } +template <> +int64_t DatePart::DecadeOperator::Operation(dtime_tz_t input) { + return DecadeOperator::Operation(input.time()); +} + template <> int64_t DatePart::CenturyOperator::Operation(interval_t input) { return input.months / Interval::MONTHS_PER_CENTURY; @@ -772,6 +835,11 @@ int64_t DatePart::CenturyOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"century\" not recognized"); } +template <> +int64_t DatePart::CenturyOperator::Operation(dtime_tz_t input) { + return CenturyOperator::Operation(input.time()); +} + template <> int64_t DatePart::MillenniumOperator::Operation(interval_t input) { return input.months / Interval::MONTHS_PER_MILLENIUM; @@ -782,6 +850,11 @@ int64_t DatePart::MillenniumOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"millennium\" not recognized"); } +template <> +int64_t DatePart::MillenniumOperator::Operation(dtime_tz_t input) { + return MillenniumOperator::Operation(input.time()); +} + template <> int64_t DatePart::QuarterOperator::Operation(timestamp_t input) { return QuarterOperator::Operation(Timestamp::GetDate(input)); @@ -797,6 +870,11 @@ int64_t DatePart::QuarterOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"quarter\" not recognized"); } +template <> +int64_t DatePart::QuarterOperator::Operation(dtime_tz_t input) { + return QuarterOperator::Operation(input.time()); +} + template <> int64_t DatePart::DayOfWeekOperator::Operation(timestamp_t input) { return DayOfWeekOperator::Operation(Timestamp::GetDate(input)); @@ -812,6 +890,11 @@ int64_t DatePart::DayOfWeekOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"dow\" not recognized"); } +template <> +int64_t DatePart::DayOfWeekOperator::Operation(dtime_tz_t input) { + return DayOfWeekOperator::Operation(input.time()); +} + template <> int64_t DatePart::ISODayOfWeekOperator::Operation(timestamp_t input) { return ISODayOfWeekOperator::Operation(Timestamp::GetDate(input)); @@ -827,6 +910,11 @@ int64_t DatePart::ISODayOfWeekOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"isodow\" not recognized"); } +template <> +int64_t DatePart::ISODayOfWeekOperator::Operation(dtime_tz_t input) { + return ISODayOfWeekOperator::Operation(input.time()); +} + template <> int64_t DatePart::DayOfYearOperator::Operation(timestamp_t input) { return DayOfYearOperator::Operation(Timestamp::GetDate(input)); @@ -842,6 +930,11 @@ int64_t DatePart::DayOfYearOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"doy\" not recognized"); } +template <> +int64_t DatePart::DayOfYearOperator::Operation(dtime_tz_t input) { + return DayOfYearOperator::Operation(input.time()); +} + template <> int64_t DatePart::WeekOperator::Operation(timestamp_t input) { return WeekOperator::Operation(Timestamp::GetDate(input)); @@ -857,6 +950,11 @@ int64_t DatePart::WeekOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"week\" not recognized"); } +template <> +int64_t DatePart::WeekOperator::Operation(dtime_tz_t input) { + return WeekOperator::Operation(input.time()); +} + template <> int64_t DatePart::ISOYearOperator::Operation(timestamp_t input) { return ISOYearOperator::Operation(Timestamp::GetDate(input)); @@ -872,6 +970,11 @@ int64_t DatePart::ISOYearOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"isoyear\" not recognized"); } +template <> +int64_t DatePart::ISOYearOperator::Operation(dtime_tz_t input) { + return ISOYearOperator::Operation(input.time()); +} + template <> int64_t DatePart::YearWeekOperator::Operation(timestamp_t input) { return YearWeekOperator::Operation(Timestamp::GetDate(input)); @@ -889,6 +992,11 @@ int64_t DatePart::YearWeekOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"yearweek\" not recognized"); } +template <> +int64_t DatePart::YearWeekOperator::Operation(dtime_tz_t input) { + return YearWeekOperator::Operation(input.time()); +} + template <> int64_t DatePart::EpochNanosecondsOperator::Operation(timestamp_t input) { return Timestamp::GetEpochNanoSeconds(input); @@ -905,8 +1013,13 @@ int64_t DatePart::EpochNanosecondsOperator::Operation(interval_t input) { } template <> -int64_t DatePart::EpochMicrosecondsOperator::Operation(timestamp_t input) { - return Timestamp::GetEpochMicroSeconds(input); +int64_t DatePart::EpochNanosecondsOperator::Operation(dtime_t input) { + return input.micros * Interval::NANOS_PER_MICRO; +} + +template <> +int64_t DatePart::EpochNanosecondsOperator::Operation(dtime_tz_t input) { + return DatePart::EpochNanosecondsOperator::Operation(input.time()); } template <> @@ -920,8 +1033,13 @@ int64_t DatePart::EpochMicrosecondsOperator::Operation(interval_t input) { } template <> -int64_t DatePart::EpochMillisOperator::Operation(timestamp_t input) { - return Timestamp::GetEpochMs(input); +int64_t DatePart::EpochMicrosecondsOperator::Operation(dtime_t input) { + return input.micros; +} + +template <> +int64_t DatePart::EpochMicrosecondsOperator::Operation(dtime_tz_t input) { + return DatePart::EpochMicrosecondsOperator::Operation(input.time()); } template <> @@ -934,6 +1052,16 @@ int64_t DatePart::EpochMillisOperator::Operation(interval_t input) { return Interval::GetMilli(input); } +template <> +int64_t DatePart::EpochMillisOperator::Operation(dtime_t input) { + return input.micros / Interval::MICROS_PER_MSEC; +} + +template <> +int64_t DatePart::EpochMillisOperator::Operation(dtime_tz_t input) { + return DatePart::EpochMillisOperator::Operation(input.time()); +} + template <> int64_t DatePart::MicrosecondsOperator::Operation(timestamp_t input) { auto time = Timestamp::GetTime(input); @@ -953,6 +1081,11 @@ int64_t DatePart::MicrosecondsOperator::Operation(dtime_t input) { return input.micros % Interval::MICROS_PER_MINUTE; } +template <> +int64_t DatePart::MicrosecondsOperator::Operation(dtime_tz_t input) { + return DatePart::MicrosecondsOperator::Operation(input.time()); +} + template <> int64_t DatePart::MillisecondsOperator::Operation(timestamp_t input) { return MicrosecondsOperator::Operation(input) / Interval::MICROS_PER_MSEC; @@ -968,6 +1101,11 @@ int64_t DatePart::MillisecondsOperator::Operation(dtime_t input) { return MicrosecondsOperator::Operation(input) / Interval::MICROS_PER_MSEC; } +template <> +int64_t DatePart::MillisecondsOperator::Operation(dtime_tz_t input) { + return DatePart::MillisecondsOperator::Operation(input.time()); +} + template <> int64_t DatePart::SecondsOperator::Operation(timestamp_t input) { return MicrosecondsOperator::Operation(input) / Interval::MICROS_PER_SEC; @@ -983,6 +1121,11 @@ int64_t DatePart::SecondsOperator::Operation(dtime_t input) { return MicrosecondsOperator::Operation(input) / Interval::MICROS_PER_SEC; } +template <> +int64_t DatePart::SecondsOperator::Operation(dtime_tz_t input) { + return DatePart::SecondsOperator::Operation(input.time()); +} + template <> int64_t DatePart::MinutesOperator::Operation(timestamp_t input) { auto time = Timestamp::GetTime(input); @@ -1002,6 +1145,11 @@ int64_t DatePart::MinutesOperator::Operation(dtime_t input) { return (input.micros % Interval::MICROS_PER_HOUR) / Interval::MICROS_PER_MINUTE; } +template <> +int64_t DatePart::MinutesOperator::Operation(dtime_tz_t input) { + return DatePart::MinutesOperator::Operation(input.time()); +} + template <> int64_t DatePart::HoursOperator::Operation(timestamp_t input) { return Timestamp::GetTime(input).micros / Interval::MICROS_PER_HOUR; @@ -1017,6 +1165,11 @@ int64_t DatePart::HoursOperator::Operation(dtime_t input) { return input.micros / Interval::MICROS_PER_HOUR; } +template <> +int64_t DatePart::HoursOperator::Operation(dtime_tz_t input) { + return DatePart::HoursOperator::Operation(input.time()); +} + template <> double DatePart::EpochOperator::Operation(timestamp_t input) { return Timestamp::GetEpochMicroSeconds(input) / double(Interval::MICROS_PER_SEC); @@ -1048,6 +1201,11 @@ double DatePart::EpochOperator::Operation(dtime_t input) { return input.micros / double(Interval::MICROS_PER_SEC); } +template <> +double DatePart::EpochOperator::Operation(dtime_tz_t input) { + return DatePart::EpochOperator::Operation(input.time()); +} + template <> unique_ptr DatePart::EpochOperator::PropagateStatistics(ClientContext &context, FunctionStatisticsInput &input) { @@ -1073,6 +1231,11 @@ int64_t DatePart::EraOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"era\" not recognized"); } +template <> +int64_t DatePart::EraOperator::Operation(dtime_tz_t input) { + return EraOperator::Operation(input.time()); +} + template <> int64_t DatePart::TimezoneOperator::Operation(date_t input) { throw NotImplementedException("\"date\" units \"timezone\" not recognized"); @@ -1084,8 +1247,38 @@ int64_t DatePart::TimezoneOperator::Operation(interval_t input) { } template <> -int64_t DatePart::TimezoneOperator::Operation(dtime_t input) { - return 0; +int64_t DatePart::TimezoneOperator::Operation(dtime_tz_t input) { + return input.offset(); +} + +template <> +int64_t DatePart::TimezoneHourOperator::Operation(date_t input) { + throw NotImplementedException("\"date\" units \"timezone_hour\" not recognized"); +} + +template <> +int64_t DatePart::TimezoneHourOperator::Operation(interval_t input) { + throw NotImplementedException("\"interval\" units \"timezone_hour\" not recognized"); +} + +template <> +int64_t DatePart::TimezoneHourOperator::Operation(dtime_tz_t input) { + return input.offset() / Interval::SECS_PER_HOUR; +} + +template <> +int64_t DatePart::TimezoneMinuteOperator::Operation(date_t input) { + throw NotImplementedException("\"date\" units \"timezone_minute\" not recognized"); +} + +template <> +int64_t DatePart::TimezoneMinuteOperator::Operation(interval_t input) { + throw NotImplementedException("\"interval\" units \"timezone_minute\" not recognized"); +} + +template <> +int64_t DatePart::TimezoneMinuteOperator::Operation(dtime_tz_t input) { + return (input.offset() / Interval::SECS_PER_MINUTE) % Interval::MINS_PER_HOUR; } template <> @@ -1103,6 +1296,11 @@ double DatePart::JulianDayOperator::Operation(dtime_t input) { throw NotImplementedException("\"time\" units \"julian\" not recognized"); } +template <> +double DatePart::JulianDayOperator::Operation(dtime_tz_t input) { + return JulianDayOperator::Operation(input.time()); +} + template <> void DatePart::StructOperator::Operation(bigint_vec &bigint_values, double_vec &double_values, const dtime_t &input, const idx_t idx, const part_mask_t mask) { @@ -1135,7 +1333,6 @@ void DatePart::StructOperator::Operation(bigint_vec &bigint_values, double_vec & auto part_data = HasPartValue(double_values, DatePartSpecifier::EPOCH); if (part_data) { part_data[idx] = EpochOperator::Operation(input); - ; } } @@ -1155,6 +1352,58 @@ void DatePart::StructOperator::Operation(bigint_vec &bigint_values, double_vec & } } +template <> +void DatePart::StructOperator::Operation(bigint_vec &bigint_values, double_vec &double_values, const dtime_tz_t &input, + const idx_t idx, const part_mask_t mask) { + int64_t *part_data; + if (mask & TIME) { + const auto micros = MicrosecondsOperator::Operation(input); + part_data = HasPartValue(bigint_values, DatePartSpecifier::MICROSECONDS); + if (part_data) { + part_data[idx] = micros; + } + part_data = HasPartValue(bigint_values, DatePartSpecifier::MILLISECONDS); + if (part_data) { + part_data[idx] = micros / Interval::MICROS_PER_MSEC; + } + part_data = HasPartValue(bigint_values, DatePartSpecifier::SECOND); + if (part_data) { + part_data[idx] = micros / Interval::MICROS_PER_SEC; + } + part_data = HasPartValue(bigint_values, DatePartSpecifier::MINUTE); + if (part_data) { + part_data[idx] = MinutesOperator::Operation(input); + } + part_data = HasPartValue(bigint_values, DatePartSpecifier::HOUR); + if (part_data) { + part_data[idx] = HoursOperator::Operation(input); + } + } + + if (mask & EPOCH) { + auto part_data = HasPartValue(double_values, DatePartSpecifier::EPOCH); + if (part_data) { + part_data[idx] = EpochOperator::Operation(input); + } + } + + if (mask & ZONE) { + part_data = HasPartValue(bigint_values, DatePartSpecifier::TIMEZONE); + if (part_data) { + part_data[idx] = TimezoneOperator::Operation(input); + } + part_data = HasPartValue(bigint_values, DatePartSpecifier::TIMEZONE_HOUR); + if (part_data) { + part_data[idx] = TimezoneHourOperator::Operation(input); + } + part_data = HasPartValue(bigint_values, DatePartSpecifier::TIMEZONE_MINUTE); + if (part_data) { + part_data[idx] = TimezoneMinuteOperator::Operation(input); + } + return; + } +} + template <> void DatePart::StructOperator::Operation(bigint_vec &bigint_values, double_vec &double_values, const timestamp_t &input, const idx_t idx, const part_mask_t mask) { @@ -1292,9 +1541,11 @@ static int64_t ExtractElement(DatePartSpecifier type, T element) { case DatePartSpecifier::ERA: return DatePart::EraOperator::template Operation(element); case DatePartSpecifier::TIMEZONE: + return DatePart::TimezoneOperator::template Operation(element); case DatePartSpecifier::TIMEZONE_HOUR: + return DatePart::TimezoneHourOperator::template Operation(element); case DatePartSpecifier::TIMEZONE_MINUTE: - return DatePart::TimezoneOperator::template Operation(element); + return DatePart::TimezoneMinuteOperator::template Operation(element); default: throw NotImplementedException("Specifier type not implemented for DATEPART"); } @@ -1335,6 +1586,9 @@ static unique_ptr DatePartBind(ClientContext &context, ScalarFunct bound_function.return_type = LogicalType::DOUBLE; switch (arguments[0]->return_type.id()) { case LogicalType::TIMESTAMP: + case LogicalType::TIMESTAMP_S: + case LogicalType::TIMESTAMP_MS: + case LogicalType::TIMESTAMP_NS: bound_function.function = DatePart::UnaryFunction; bound_function.statistics = DatePart::JulianDayOperator::template PropagateStatistics; break; @@ -1353,6 +1607,9 @@ static unique_ptr DatePartBind(ClientContext &context, ScalarFunct bound_function.return_type = LogicalType::DOUBLE; switch (arguments[0]->return_type.id()) { case LogicalType::TIMESTAMP: + case LogicalType::TIMESTAMP_S: + case LogicalType::TIMESTAMP_MS: + case LogicalType::TIMESTAMP_NS: bound_function.function = DatePart::UnaryFunction; bound_function.statistics = DatePart::EpochOperator::template PropagateStatistics; break; @@ -1368,6 +1625,10 @@ static unique_ptr DatePartBind(ClientContext &context, ScalarFunct bound_function.function = DatePart::UnaryFunction; bound_function.statistics = DatePart::EpochOperator::template PropagateStatistics; break; + case LogicalType::TIME_TZ: + bound_function.function = DatePart::UnaryFunction; + bound_function.statistics = DatePart::EpochOperator::template PropagateStatistics; + break; default: throw BinderException("%s can only take temporal arguments", bound_function.name); } @@ -1401,8 +1662,9 @@ static ScalarFunctionSet GetDatePartFunction() { ScalarFunctionSet GetGenericTimePartFunction(const LogicalType &result_type, scalar_function_t date_func, scalar_function_t ts_func, scalar_function_t interval_func, - scalar_function_t time_func, function_statistics_t date_stats, - function_statistics_t ts_stats, function_statistics_t time_stats) { + scalar_function_t time_func, scalar_function_t timetz_func, + function_statistics_t date_stats, function_statistics_t ts_stats, + function_statistics_t time_stats, function_statistics_t timetz_stats) { ScalarFunctionSet operator_set; operator_set.AddFunction( ScalarFunction({LogicalType::DATE}, result_type, std::move(date_func), nullptr, nullptr, date_stats)); @@ -1411,6 +1673,8 @@ ScalarFunctionSet GetGenericTimePartFunction(const LogicalType &result_type, sca operator_set.AddFunction(ScalarFunction({LogicalType::INTERVAL}, result_type, std::move(interval_func))); operator_set.AddFunction( ScalarFunction({LogicalType::TIME}, result_type, std::move(time_func), nullptr, nullptr, time_stats)); + operator_set.AddFunction( + ScalarFunction({LogicalType::TIME_TZ}, result_type, std::move(timetz_func), nullptr, nullptr, timetz_stats)); return operator_set; } @@ -1419,8 +1683,9 @@ static ScalarFunctionSet GetTimePartFunction(const LogicalType &result_type = Lo return GetGenericTimePartFunction( result_type, DatePart::UnaryFunction, DatePart::UnaryFunction, ScalarFunction::UnaryFunction, ScalarFunction::UnaryFunction, - OP::template PropagateStatistics, OP::template PropagateStatistics, - OP::template PropagateStatistics); + ScalarFunction::UnaryFunction, OP::template PropagateStatistics, + OP::template PropagateStatistics, OP::template PropagateStatistics, + OP::template PropagateStatistics); } struct LastDayOperator { @@ -1718,7 +1983,14 @@ ScalarFunctionSet EraFun::GetFunctions() { } ScalarFunctionSet TimezoneFun::GetFunctions() { - return GetDatePartFunction(); + auto operator_set = GetDatePartFunction(); + + // PG also defines timezone(INTERVAL, TIME_TZ) => TIME_TZ + operator_set.AddFunction( + ScalarFunction({LogicalType::INTERVAL, LogicalType::TIME_TZ}, LogicalType::TIME_TZ, + DatePart::TimezoneOperator::BinaryFunction)); + + return operator_set; } ScalarFunctionSet TimezoneHourFun::GetFunctions() { @@ -1863,12 +2135,15 @@ ScalarFunctionSet DatePartFun::GetFunctions() { DatePartFunction, DatePartBind)); date_part.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::INTERVAL}, LogicalType::BIGINT, DatePartFunction, DatePartBind)); + date_part.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::TIME_TZ}, LogicalType::BIGINT, + DatePartFunction, DatePartBind)); // struct variants date_part.AddFunction(StructDatePart::GetFunction(LogicalType::DATE)); date_part.AddFunction(StructDatePart::GetFunction(LogicalType::TIMESTAMP)); date_part.AddFunction(StructDatePart::GetFunction(LogicalType::TIME)); date_part.AddFunction(StructDatePart::GetFunction(LogicalType::INTERVAL)); + date_part.AddFunction(StructDatePart::GetFunction(LogicalType::TIME_TZ)); return date_part; } diff --git a/src/core_functions/scalar/date/functions.json b/src/core_functions/scalar/date/functions.json index 8a4b78b22b46..58f35b85e941 100644 --- a/src/core_functions/scalar/date/functions.json +++ b/src/core_functions/scalar/date/functions.json @@ -312,6 +312,13 @@ "example": "timezone_minute(timestamp '2021-08-03 11:59:44.123456')", "type": "scalar_function_set" }, + { + "name": "to_centuries", + "parameters": "integer", + "description": "Construct a century interval", + "example": "to_centuries(5)", + "type": "scalar_function" + }, { "name": "to_days", "parameters": "integer", @@ -319,6 +326,13 @@ "example": "to_days(5)", "type": "scalar_function" }, + { + "name": "to_decades", + "parameters": "integer", + "description": "Construct a decade interval", + "example": "to_decades(5)", + "type": "scalar_function" + }, { "name": "to_hours", "parameters": "integer", @@ -334,10 +348,17 @@ "type": "scalar_function" }, { - "name": "to_milliseconds", + "name": "to_millennia", "parameters": "integer", + "description": "Construct a millenium interval", + "example": "to_millennia(1)", + "type": "scalar_function" + }, + { + "name": "to_milliseconds", + "parameters": "double", "description": "Construct a millisecond interval", - "example": "to_milliseconds(5)", + "example": "to_milliseconds(5.5)", "type": "scalar_function" }, { @@ -356,9 +377,9 @@ }, { "name": "to_seconds", - "parameters": "integer", + "parameters": "double", "description": "Construct a second interval", - "example": "to_seconds(5)", + "example": "to_seconds(5.5)", "type": "scalar_function" }, { @@ -368,6 +389,13 @@ "example": "to_timestamp(1284352323.5)", "type": "scalar_function" }, + { + "name": "to_weeks", + "parameters": "integer", + "description": "Construct a week interval", + "example": "to_weeks(5)", + "type": "scalar_function" + }, { "name": "to_years", "parameters": "integer", diff --git a/src/core_functions/scalar/date/make_date.cpp b/src/core_functions/scalar/date/make_date.cpp index 2eb5248bbb02..b3a6a8749db2 100644 --- a/src/core_functions/scalar/date/make_date.cpp +++ b/src/core_functions/scalar/date/make_date.cpp @@ -4,6 +4,7 @@ #include "duckdb/common/types/timestamp.hpp" #include "duckdb/common/vector_operations/ternary_executor.hpp" #include "duckdb/common/vector_operations/senary_executor.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" #include diff --git a/src/core_functions/scalar/date/strftime.cpp b/src/core_functions/scalar/date/strftime.cpp index 708ff2c3df2f..72da80bb5d52 100644 --- a/src/core_functions/scalar/date/strftime.cpp +++ b/src/core_functions/scalar/date/strftime.cpp @@ -39,7 +39,7 @@ static unique_ptr StrfTimeBindFunction(ClientContext &context, Sca throw ParameterNotResolvedException(); } if (!format_arg->IsFoldable()) { - throw InvalidInputException("strftime format must be a constant"); + throw InvalidInputException(*format_arg, "strftime format must be a constant"); } Value options_str = ExpressionExecutor::EvaluateScalar(context, *format_arg); auto format_string = options_str.GetValue(); @@ -48,7 +48,7 @@ static unique_ptr StrfTimeBindFunction(ClientContext &context, Sca if (!is_null) { string error = StrTimeFormat::ParseFormatSpecifier(format_string, format); if (!error.empty()) { - throw InvalidInputException("Failed to parse format specifier %s: %s", format_string, error); + throw InvalidInputException(*format_arg, "Failed to parse format specifier %s: %s", format_string, error); } } return make_uniq(format, format_string, is_null); @@ -132,7 +132,7 @@ static unique_ptr StrpTimeBindFunction(ClientContext &context, Sca throw ParameterNotResolvedException(); } if (!arguments[1]->IsFoldable()) { - throw InvalidInputException("strptime format must be a constant"); + throw InvalidInputException(*arguments[0], "strptime format must be a constant"); } Value format_value = ExpressionExecutor::EvaluateScalar(context, *arguments[1]); string format_string; @@ -144,7 +144,7 @@ static unique_ptr StrpTimeBindFunction(ClientContext &context, Sca format.format_specifier = format_string; string error = StrTimeFormat::ParseFormatSpecifier(format_string, format); if (!error.empty()) { - throw InvalidInputException("Failed to parse format specifier %s: %s", format_string, error); + throw InvalidInputException(*arguments[0], "Failed to parse format specifier %s: %s", format_string, error); } if (format.HasFormatSpecifier(StrTimeSpecifier::UTC_OFFSET)) { bound_function.return_type = LogicalType::TIMESTAMP_TZ; @@ -153,7 +153,7 @@ static unique_ptr StrpTimeBindFunction(ClientContext &context, Sca } else if (format_value.type() == LogicalType::LIST(LogicalType::VARCHAR)) { const auto &children = ListValue::GetChildren(format_value); if (children.empty()) { - throw InvalidInputException("strptime format list must not be empty"); + throw InvalidInputException(*arguments[0], "strptime format list must not be empty"); } vector format_strings; vector formats; @@ -162,7 +162,8 @@ static unique_ptr StrpTimeBindFunction(ClientContext &context, Sca format.format_specifier = format_string; string error = StrTimeFormat::ParseFormatSpecifier(format_string, format); if (!error.empty()) { - throw InvalidInputException("Failed to parse format specifier %s: %s", format_string, error); + throw InvalidInputException(*arguments[0], "Failed to parse format specifier %s: %s", format_string, + error); } // If any format has UTC offsets, then we have to produce TSTZ if (format.HasFormatSpecifier(StrTimeSpecifier::UTC_OFFSET)) { @@ -173,7 +174,7 @@ static unique_ptr StrpTimeBindFunction(ClientContext &context, Sca } return make_uniq(formats, format_strings); } else { - throw InvalidInputException("strptime format must be a string"); + throw InvalidInputException(*arguments[0], "strptime format must be a string"); } } diff --git a/src/core_functions/scalar/date/to_interval.cpp b/src/core_functions/scalar/date/to_interval.cpp index 5227272b47e9..dcbf065e4483 100644 --- a/src/core_functions/scalar/date/to_interval.cpp +++ b/src/core_functions/scalar/date/to_interval.cpp @@ -1,9 +1,56 @@ #include "duckdb/core_functions/scalar/date_functions.hpp" #include "duckdb/common/types/interval.hpp" +#include "duckdb/common/operator/cast_operators.hpp" #include "duckdb/common/operator/multiply.hpp" +#include "duckdb/core_functions/to_interval.hpp" namespace duckdb { +template <> +bool TryMultiplyOperator::Operation(double left, int64_t right, int64_t &result) { + return TryCast::Operation(left * right, result); +} + +struct ToMillenniaOperator { + template + static inline TR Operation(TA input) { + interval_t result; + result.days = 0; + result.micros = 0; + if (!TryMultiplyOperator::Operation(input, Interval::MONTHS_PER_MILLENIUM, + result.months)) { + throw OutOfRangeException("Interval value %s millennia out of range", NumericHelper::ToString(input)); + } + return result; + } +}; + +struct ToCenturiesOperator { + template + static inline TR Operation(TA input) { + interval_t result; + result.days = 0; + result.micros = 0; + if (!TryMultiplyOperator::Operation(input, Interval::MONTHS_PER_CENTURY, result.months)) { + throw OutOfRangeException("Interval value %s centuries out of range", NumericHelper::ToString(input)); + } + return result; + } +}; + +struct ToDecadesOperator { + template + static inline TR Operation(TA input) { + interval_t result; + result.days = 0; + result.micros = 0; + if (!TryMultiplyOperator::Operation(input, Interval::MONTHS_PER_DECADE, result.months)) { + throw OutOfRangeException("Interval value %s decades out of range", NumericHelper::ToString(input)); + } + return result; + } +}; + struct ToYearsOperator { template static inline TR Operation(TA input) { @@ -29,54 +76,49 @@ struct ToMonthsOperator { } }; -struct ToDaysOperator { +struct ToWeeksOperator { template static inline TR Operation(TA input) { interval_t result; result.months = 0; - result.days = input; + result.days = input * 7; result.micros = 0; return result; } }; -struct ToHoursOperator { +struct ToDaysOperator { template static inline TR Operation(TA input) { interval_t result; result.months = 0; - result.days = 0; - if (!TryMultiplyOperator::Operation(input, Interval::MICROS_PER_HOUR, - result.micros)) { - throw OutOfRangeException("Interval value %d hours out of range", input); - } + result.days = input; + result.micros = 0; return result; } }; -struct ToMinutesOperator { +struct ToHoursOperator { template static inline TR Operation(TA input) { interval_t result; result.months = 0; result.days = 0; - if (!TryMultiplyOperator::Operation(input, Interval::MICROS_PER_MINUTE, - result.micros)) { - throw OutOfRangeException("Interval value %d minutes out of range", input); + if (!TryMultiplyOperator::Operation(input, Interval::MICROS_PER_HOUR, result.micros)) { + throw OutOfRangeException("Interval value %s hours out of range", NumericHelper::ToString(input)); } return result; } }; -struct ToSecondsOperator { +struct ToMinutesOperator { template static inline TR Operation(TA input) { interval_t result; result.months = 0; result.days = 0; - if (!TryMultiplyOperator::Operation(input, Interval::MICROS_PER_SEC, - result.micros)) { - throw OutOfRangeException("Interval value %d seconds out of range", input); + if (!TryMultiplyOperator::Operation(input, Interval::MICROS_PER_MINUTE, result.micros)) { + throw OutOfRangeException("Interval value %s minutes out of range", NumericHelper::ToString(input)); } return result; } @@ -88,9 +130,8 @@ struct ToMilliSecondsOperator { interval_t result; result.months = 0; result.days = 0; - if (!TryMultiplyOperator::Operation(input, Interval::MICROS_PER_MSEC, - result.micros)) { - throw OutOfRangeException("Interval value %d milliseconds out of range", input); + if (!TryMultiplyOperator::Operation(input, Interval::MICROS_PER_MSEC, result.micros)) { + throw OutOfRangeException("Interval value %s milliseconds out of range", NumericHelper::ToString(input)); } return result; } @@ -107,6 +148,21 @@ struct ToMicroSecondsOperator { } }; +ScalarFunction ToMillenniaFun::GetFunction() { + return ScalarFunction({LogicalType::INTEGER}, LogicalType::INTERVAL, + ScalarFunction::UnaryFunction); +} + +ScalarFunction ToCenturiesFun::GetFunction() { + return ScalarFunction({LogicalType::INTEGER}, LogicalType::INTERVAL, + ScalarFunction::UnaryFunction); +} + +ScalarFunction ToDecadesFun::GetFunction() { + return ScalarFunction({LogicalType::INTEGER}, LogicalType::INTERVAL, + ScalarFunction::UnaryFunction); +} + ScalarFunction ToYearsFun::GetFunction() { return ScalarFunction({LogicalType::INTEGER}, LogicalType::INTERVAL, ScalarFunction::UnaryFunction); @@ -117,6 +173,11 @@ ScalarFunction ToMonthsFun::GetFunction() { ScalarFunction::UnaryFunction); } +ScalarFunction ToWeeksFun::GetFunction() { + return ScalarFunction({LogicalType::INTEGER}, LogicalType::INTERVAL, + ScalarFunction::UnaryFunction); +} + ScalarFunction ToDaysFun::GetFunction() { return ScalarFunction({LogicalType::INTEGER}, LogicalType::INTERVAL, ScalarFunction::UnaryFunction); @@ -133,13 +194,13 @@ ScalarFunction ToMinutesFun::GetFunction() { } ScalarFunction ToSecondsFun::GetFunction() { - return ScalarFunction({LogicalType::BIGINT}, LogicalType::INTERVAL, - ScalarFunction::UnaryFunction); + return ScalarFunction({LogicalType::DOUBLE}, LogicalType::INTERVAL, + ScalarFunction::UnaryFunction); } ScalarFunction ToMillisecondsFun::GetFunction() { - return ScalarFunction({LogicalType::BIGINT}, LogicalType::INTERVAL, - ScalarFunction::UnaryFunction); + return ScalarFunction({LogicalType::DOUBLE}, LogicalType::INTERVAL, + ScalarFunction::UnaryFunction); } ScalarFunction ToMicrosecondsFun::GetFunction() { diff --git a/src/core_functions/scalar/generic/error.cpp b/src/core_functions/scalar/generic/error.cpp index 5d38236bf9c9..9c172e877b70 100644 --- a/src/core_functions/scalar/generic/error.cpp +++ b/src/core_functions/scalar/generic/error.cpp @@ -6,15 +6,15 @@ namespace duckdb { struct ErrorOperator { template static inline TR Operation(const TA &input) { - throw Exception(input.GetString()); + throw InvalidInputException(input.GetString()); } }; ScalarFunction ErrorFun::GetFunction() { - auto fun = ScalarFunction({LogicalType::VARCHAR}, LogicalType::BOOLEAN, - ScalarFunction::UnaryFunction); + auto fun = ScalarFunction({LogicalType::VARCHAR}, LogicalType::SQLNULL, + ScalarFunction::UnaryFunction); // Set the function with side effects to avoid the optimization. - fun.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS; + fun.stability = FunctionStability::VOLATILE; return fun; } diff --git a/src/core_functions/scalar/generic/least.cpp b/src/core_functions/scalar/generic/least.cpp index 42e2d68d0e74..16f859bf513e 100644 --- a/src/core_functions/scalar/generic/least.cpp +++ b/src/core_functions/scalar/generic/least.cpp @@ -97,7 +97,7 @@ static void LeastGreatestFunction(DataChunk &args, ExpressionState &state, Vecto template ScalarFunction GetLeastGreatestFunction(const LogicalType &type) { return ScalarFunction({type}, type, LeastGreatestFunction, nullptr, nullptr, nullptr, nullptr, type, - FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING); + FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING); } template @@ -105,17 +105,16 @@ static ScalarFunctionSet GetLeastGreatestFunctions() { ScalarFunctionSet fun_set; fun_set.AddFunction(ScalarFunction({LogicalType::BIGINT}, LogicalType::BIGINT, LeastGreatestFunction, nullptr, nullptr, nullptr, nullptr, LogicalType::BIGINT, - FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); fun_set.AddFunction(ScalarFunction( {LogicalType::HUGEINT}, LogicalType::HUGEINT, LeastGreatestFunction, nullptr, nullptr, nullptr, - nullptr, LogicalType::HUGEINT, FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + nullptr, LogicalType::HUGEINT, FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); fun_set.AddFunction(ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE, LeastGreatestFunction, nullptr, nullptr, nullptr, nullptr, LogicalType::DOUBLE, - FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); - fun_set.AddFunction(ScalarFunction({LogicalType::VARCHAR}, LogicalType::VARCHAR, - LeastGreatestFunction, nullptr, nullptr, nullptr, nullptr, - LogicalType::VARCHAR, FunctionSideEffects::NO_SIDE_EFFECTS, - FunctionNullHandling::SPECIAL_HANDLING)); + FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); + fun_set.AddFunction(ScalarFunction( + {LogicalType::VARCHAR}, LogicalType::VARCHAR, LeastGreatestFunction, nullptr, nullptr, + nullptr, nullptr, LogicalType::VARCHAR, FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); fun_set.AddFunction(GetLeastGreatestFunction(LogicalType::TIMESTAMP)); fun_set.AddFunction(GetLeastGreatestFunction(LogicalType::TIME)); diff --git a/src/core_functions/scalar/generic/stats.cpp b/src/core_functions/scalar/generic/stats.cpp index d19dcfc9fda5..f547ca78d58e 100644 --- a/src/core_functions/scalar/generic/stats.cpp +++ b/src/core_functions/scalar/generic/stats.cpp @@ -47,7 +47,7 @@ ScalarFunction StatsFun::GetFunction() { ScalarFunction stats({LogicalType::ANY}, LogicalType::VARCHAR, StatsFunction, StatsBind, nullptr, StatsPropagateStats); stats.null_handling = FunctionNullHandling::SPECIAL_HANDLING; - stats.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS; + stats.stability = FunctionStability::VOLATILE; return stats; } diff --git a/src/core_functions/scalar/generic/system_functions.cpp b/src/core_functions/scalar/generic/system_functions.cpp index 1bfb8555b182..2abb405995d4 100644 --- a/src/core_functions/scalar/generic/system_functions.cpp +++ b/src/core_functions/scalar/generic/system_functions.cpp @@ -76,29 +76,40 @@ static void VersionFunction(DataChunk &input, ExpressionState &state, Vector &re ScalarFunction CurrentQueryFun::GetFunction() { ScalarFunction current_query({}, LogicalType::VARCHAR, CurrentQueryFunction); - current_query.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS; + current_query.stability = FunctionStability::VOLATILE; return current_query; } ScalarFunction CurrentSchemaFun::GetFunction() { - return ScalarFunction({}, LogicalType::VARCHAR, CurrentSchemaFunction); + ScalarFunction current_schema({}, LogicalType::VARCHAR, CurrentSchemaFunction); + current_schema.stability = FunctionStability::CONSISTENT_WITHIN_QUERY; + return current_schema; } ScalarFunction CurrentDatabaseFun::GetFunction() { - return ScalarFunction({}, LogicalType::VARCHAR, CurrentDatabaseFunction); + ScalarFunction current_database({}, LogicalType::VARCHAR, CurrentDatabaseFunction); + current_database.stability = FunctionStability::CONSISTENT_WITHIN_QUERY; + return current_database; } ScalarFunction CurrentSchemasFun::GetFunction() { auto varchar_list_type = LogicalType::LIST(LogicalType::VARCHAR); - return ScalarFunction({LogicalType::BOOLEAN}, varchar_list_type, CurrentSchemasFunction); + ScalarFunction current_schemas({LogicalType::BOOLEAN}, varchar_list_type, CurrentSchemasFunction); + current_schemas.stability = FunctionStability::CONSISTENT_WITHIN_QUERY; + return current_schemas; } ScalarFunction InSearchPathFun::GetFunction() { - return ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BOOLEAN, InSearchPathFunction); + ScalarFunction in_search_path({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BOOLEAN, + InSearchPathFunction); + in_search_path.stability = FunctionStability::CONSISTENT_WITHIN_QUERY; + return in_search_path; } ScalarFunction CurrentTransactionIdFun::GetFunction() { - return ScalarFunction({}, LogicalType::BIGINT, TransactionIdCurrent); + ScalarFunction txid_current({}, LogicalType::BIGINT, TransactionIdCurrent); + txid_current.stability = FunctionStability::CONSISTENT_WITHIN_QUERY; + return txid_current; } ScalarFunction VersionFun::GetFunction() { diff --git a/src/core_functions/scalar/list/CMakeLists.txt b/src/core_functions/scalar/list/CMakeLists.txt index f9abb3310659..09ebc1bd170d 100644 --- a/src/core_functions/scalar/list/CMakeLists.txt +++ b/src/core_functions/scalar/list/CMakeLists.txt @@ -4,12 +4,14 @@ add_library_unity( array_slice.cpp flatten.cpp list_aggregates.cpp - list_lambdas.cpp - list_value.cpp + list_filter.cpp list_sort.cpp list_distance.cpp list_cosine_similarity.cpp list_inner_product.cpp + list_reduce.cpp + list_transform.cpp + list_value.cpp range.cpp) set(ALL_OBJECT_FILES ${ALL_OBJECT_FILES} $ diff --git a/src/core_functions/scalar/list/array_slice.cpp b/src/core_functions/scalar/list/array_slice.cpp index a9b2aeecbd80..725846d17766 100644 --- a/src/core_functions/scalar/list/array_slice.cpp +++ b/src/core_functions/scalar/list/array_slice.cpp @@ -6,6 +6,7 @@ #include "duckdb/function/scalar/string_functions.hpp" #include "duckdb/planner/expression/bound_function_expression.hpp" #include "duckdb/planner/expression/bound_constant_expression.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" namespace duckdb { @@ -379,6 +380,13 @@ static unique_ptr ArraySliceBind(ClientContext &context, ScalarFun D_ASSERT(bound_function.arguments.size() == 3 || bound_function.arguments.size() == 4); switch (arguments[0]->return_type.id()) { + case LogicalTypeId::ARRAY: { + // Cast to list + auto child_type = ArrayType::GetChildType(arguments[0]->return_type); + auto target_type = LogicalType::LIST(child_type); + arguments[0] = BoundCastExpression::AddCastToType(context, std::move(arguments[0]), target_type); + bound_function.return_type = arguments[0]->return_type; + } break; case LogicalTypeId::LIST: // The result is the same type bound_function.return_type = arguments[0]->return_type; diff --git a/src/core_functions/scalar/list/functions.json b/src/core_functions/scalar/list/functions.json index def2877e8f52..08cb6fc76f6d 100644 --- a/src/core_functions/scalar/list/functions.json +++ b/src/core_functions/scalar/list/functions.json @@ -55,6 +55,14 @@ "type": "scalar_function_set", "aliases": ["array_sort"] }, + { + "name": "list_grade_up", + "parameters": "list", + "description": "Returns the index of their sorted position.", + "example": "list_grade_up([3, 6, 1, 2])", + "type": "scalar_function_set", + "aliases": ["array_grade_up", "grade_up"] + }, { "name": "list_reverse_sort", "parameters": "list", @@ -79,6 +87,14 @@ "type": "scalar_function", "aliases": ["array_filter", "filter"] }, + { + "name": "list_reduce", + "parameters": "list,lambda", + "description": "Returns a single value that is the result of applying the lambda function to each element of the input list, starting with the first element and then repeatedly applying the lambda function to the result of the previous application and the next element of the list.", + "example": "list_reduce([1, 2, 3], (x, y) -> x + y)", + "type": "scalar_function", + "aliases": ["array_reduce", "reduce"] + }, { "name": "generate_series", "parameters": "start,stop,step", diff --git a/src/core_functions/scalar/list/list_aggregates.cpp b/src/core_functions/scalar/list/list_aggregates.cpp index 0f561b1ff8ec..144e2f5044ac 100644 --- a/src/core_functions/scalar/list/list_aggregates.cpp +++ b/src/core_functions/scalar/list/list_aggregates.cpp @@ -7,6 +7,7 @@ #include "duckdb/planner/expression/bound_aggregate_expression.hpp" #include "duckdb/planner/expression/bound_constant_expression.hpp" #include "duckdb/planner/expression/bound_function_expression.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" #include "duckdb/planner/expression_binder.hpp" #include "duckdb/function/function_binder.hpp" @@ -47,13 +48,13 @@ struct ListAggregatesBindData : public FunctionData { return result; } - static void Serialize(Serializer &serializer, const optional_ptr bind_data_p, - const ScalarFunction &function) { + static void SerializeFunction(Serializer &serializer, const optional_ptr bind_data_p, + const ScalarFunction &function) { auto bind_data = dynamic_cast(bind_data_p.get()); serializer.WritePropertyWithDefault(100, "bind_data", bind_data, (const ListAggregatesBindData *)nullptr); } - static unique_ptr Deserialize(Deserializer &deserializer, ScalarFunction &bound_function) { + static unique_ptr DeserializeFunction(Deserializer &deserializer, ScalarFunction &bound_function) { auto result = deserializer.ReadPropertyWithDefault>( 100, "bind_data", unique_ptr(nullptr)); if (!result) { @@ -421,12 +422,24 @@ ListAggregatesBindFunction(ClientContext &context, ScalarFunction &bound_functio template static unique_ptr ListAggregatesBind(ClientContext &context, ScalarFunction &bound_function, vector> &arguments) { + + arguments[0] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[0])); + if (arguments[0]->return_type.id() == LogicalTypeId::SQLNULL) { return ListAggregatesBindFailure(bound_function); } bool is_parameter = arguments[0]->return_type.id() == LogicalTypeId::UNKNOWN; - auto list_child_type = is_parameter ? LogicalTypeId::UNKNOWN : ListType::GetChildType(arguments[0]->return_type); + LogicalType child_type; + if (is_parameter) { + child_type = LogicalType::ANY; + } else if (arguments[0]->return_type.id() == LogicalTypeId::LIST || + arguments[0]->return_type.id() == LogicalTypeId::MAP) { + child_type = ListType::GetChildType(arguments[0]->return_type); + } else { + // Unreachable + throw InvalidInputException("First argument of list aggregate must be a list, map or array"); + } string function_name = "histogram"; if (IS_AGGR) { // get the name of the aggregate function @@ -439,9 +452,8 @@ static unique_ptr ListAggregatesBind(ClientContext &context, Scala } // look up the aggregate function in the catalog - QueryErrorContext error_context(nullptr, 0); - auto &func = Catalog::GetSystemCatalog(context).GetEntry( - context, DEFAULT_SCHEMA, function_name, error_context); + auto &func = Catalog::GetSystemCatalog(context).GetEntry(context, DEFAULT_SCHEMA, + function_name); D_ASSERT(func.type == CatalogType::AGGREGATE_FUNCTION_ENTRY); if (is_parameter) { @@ -451,9 +463,9 @@ static unique_ptr ListAggregatesBind(ClientContext &context, Scala } // find a matching aggregate function - string error; + ErrorData error; vector types; - types.push_back(list_child_type); + types.push_back(child_type); // push any extra arguments into the type list for (idx_t i = 2; i < arguments.size(); i++) { types.push_back(arguments[i]->return_type); @@ -462,20 +474,20 @@ static unique_ptr ListAggregatesBind(ClientContext &context, Scala FunctionBinder function_binder(context); auto best_function_idx = function_binder.BindFunction(func.name, func.functions, types, error); if (best_function_idx == DConstants::INVALID_INDEX) { - throw BinderException("No matching aggregate function\n%s", error); + throw BinderException("No matching aggregate function\n%s", error.Message()); } // found a matching function, bind it as an aggregate auto best_function = func.functions.GetFunctionByOffset(best_function_idx); if (IS_AGGR) { - return ListAggregatesBindFunction(context, bound_function, list_child_type, best_function, arguments); + return ListAggregatesBindFunction(context, bound_function, child_type, best_function, arguments); } // create the unordered map histogram function D_ASSERT(best_function.arguments.size() == 1); auto key_type = best_function.arguments[0]; auto aggr_function = HistogramFun::GetHistogramUnorderedMap(key_type); - return ListAggregatesBindFunction(context, bound_function, list_child_type, aggr_function, arguments); + return ListAggregatesBindFunction(context, bound_function, child_type, aggr_function, arguments); } static unique_ptr ListAggregateBind(ClientContext &context, ScalarFunction &bound_function, @@ -493,6 +505,8 @@ static unique_ptr ListDistinctBind(ClientContext &context, ScalarF D_ASSERT(bound_function.arguments.size() == 1); D_ASSERT(arguments.size() == 1); + + arguments[0] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[0])); bound_function.return_type = arguments[0]->return_type; return ListAggregatesBind<>(context, bound_function, arguments); @@ -513,8 +527,8 @@ ScalarFunction ListAggregateFun::GetFunction() { ListAggregateFunction, ListAggregateBind); result.null_handling = FunctionNullHandling::SPECIAL_HANDLING; result.varargs = LogicalType::ANY; - result.serialize = ListAggregatesBindData::Serialize; - result.deserialize = ListAggregatesBindData::Deserialize; + result.serialize = ListAggregatesBindData::SerializeFunction; + result.deserialize = ListAggregatesBindData::DeserializeFunction; return result; } diff --git a/src/core_functions/scalar/list/list_filter.cpp b/src/core_functions/scalar/list/list_filter.cpp new file mode 100644 index 000000000000..9dbab0981626 --- /dev/null +++ b/src/core_functions/scalar/list/list_filter.cpp @@ -0,0 +1,49 @@ +#include "duckdb/core_functions/scalar/list_functions.hpp" + +#include "duckdb/core_functions/lambda_functions.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" + +namespace duckdb { + +static unique_ptr ListFilterBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + + // the list column and the bound lambda expression + D_ASSERT(arguments.size() == 2); + if (arguments[1]->expression_class != ExpressionClass::BOUND_LAMBDA) { + throw BinderException("Invalid lambda expression!"); + } + + auto &bound_lambda_expr = arguments[1]->Cast(); + + // try to cast to boolean, if the return type of the lambda filter expression is not already boolean + if (bound_lambda_expr.lambda_expr->return_type != LogicalType::BOOLEAN) { + auto cast_lambda_expr = + BoundCastExpression::AddCastToType(context, std::move(bound_lambda_expr.lambda_expr), LogicalType::BOOLEAN); + bound_lambda_expr.lambda_expr = std::move(cast_lambda_expr); + } + + arguments[0] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[0])); + + bound_function.return_type = arguments[0]->return_type; + auto has_index = bound_lambda_expr.parameter_count == 2; + return LambdaFunctions::ListLambdaBind(context, bound_function, arguments, has_index); +} + +static LogicalType ListFilterBindLambda(const idx_t parameter_idx, const LogicalType &list_child_type) { + return LambdaFunctions::BindBinaryLambda(parameter_idx, list_child_type); +} + +ScalarFunction ListFilterFun::GetFunction() { + ScalarFunction fun({LogicalType::LIST(LogicalType::ANY), LogicalType::LAMBDA}, LogicalType::LIST(LogicalType::ANY), + LambdaFunctions::ListFilterFunction, ListFilterBind, nullptr, nullptr); + + fun.null_handling = FunctionNullHandling::SPECIAL_HANDLING; + fun.serialize = ListLambdaBindData::Serialize; + fun.deserialize = ListLambdaBindData::Deserialize; + fun.bind_lambda = ListFilterBindLambda; + + return fun; +} + +} // namespace duckdb diff --git a/src/core_functions/scalar/list/list_lambdas.cpp b/src/core_functions/scalar/list/list_lambdas.cpp deleted file mode 100644 index a9a8feba38c6..000000000000 --- a/src/core_functions/scalar/list/list_lambdas.cpp +++ /dev/null @@ -1,412 +0,0 @@ -#include "duckdb/core_functions/scalar/list_functions.hpp" -#include "duckdb/planner/expression/bound_function_expression.hpp" -#include "duckdb/function/scalar/nested_functions.hpp" -#include "duckdb/planner/expression_iterator.hpp" -#include "duckdb/planner/expression/bound_reference_expression.hpp" -#include "duckdb/execution/expression_executor.hpp" -#include "duckdb/planner/expression/bound_constant_expression.hpp" -#include "duckdb/planner/expression/bound_lambda_expression.hpp" -#include "duckdb/planner/expression/bound_cast_expression.hpp" -#include "duckdb/function/cast/cast_function_set.hpp" -#include "duckdb/common/serializer/serializer.hpp" -#include "duckdb/common/serializer/deserializer.hpp" - -namespace duckdb { - -struct ListLambdaBindData : public FunctionData { - ListLambdaBindData(const LogicalType &stype_p, unique_ptr lambda_expr); - ~ListLambdaBindData() override; - - LogicalType stype; - unique_ptr lambda_expr; - -public: - bool Equals(const FunctionData &other_p) const override; - unique_ptr Copy() const override; - - static void Serialize(Serializer &serializer, const optional_ptr bind_data_p, - const ScalarFunction &function) { - // auto &bind_data = bind_data_p->Cast(); - // serializer.WriteProperty(100, "stype", bind_data.stype); - // serializer.WritePropertyWithDefault(101, "lambda_expr", bind_data.lambda_expr, - // unique_ptr()); - throw NotImplementedException("FIXME: list lambda serialize"); - } - - static unique_ptr Deserialize(Deserializer &deserializer, ScalarFunction &function) { - // auto stype = deserializer.ReadProperty(100, "stype"); - // auto lambda_expr = - // deserializer.ReadPropertyWithDefault>(101, "lambda_expr", - // unique_ptr()); return make_uniq(stype, std::move(lambda_expr)); - throw NotImplementedException("FIXME: list lambda deserialize"); - } -}; - -ListLambdaBindData::ListLambdaBindData(const LogicalType &stype_p, unique_ptr lambda_expr_p) - : stype(stype_p), lambda_expr(std::move(lambda_expr_p)) { -} - -unique_ptr ListLambdaBindData::Copy() const { - return make_uniq(stype, lambda_expr ? lambda_expr->Copy() : nullptr); -} - -bool ListLambdaBindData::Equals(const FunctionData &other_p) const { - auto &other = other_p.Cast(); - return Expression::Equals(lambda_expr, other.lambda_expr) && stype == other.stype; -} - -ListLambdaBindData::~ListLambdaBindData() { -} - -static void AppendTransformedToResult(Vector &lambda_vector, idx_t &elem_cnt, Vector &result) { - - // append the lambda_vector to the result list - UnifiedVectorFormat lambda_child_data; - lambda_vector.ToUnifiedFormat(elem_cnt, lambda_child_data); - ListVector::Append(result, lambda_vector, *lambda_child_data.sel, elem_cnt, 0); -} - -static void AppendFilteredToResult(Vector &lambda_vector, list_entry_t *result_entries, idx_t &elem_cnt, Vector &result, - idx_t &curr_list_len, idx_t &curr_list_offset, idx_t &appended_lists_cnt, - vector &lists_len, idx_t &curr_original_list_len, DataChunk &input_chunk) { - - idx_t true_count = 0; - SelectionVector true_sel(elem_cnt); - UnifiedVectorFormat lambda_data; - lambda_vector.ToUnifiedFormat(elem_cnt, lambda_data); - - auto lambda_values = UnifiedVectorFormat::GetData(lambda_data); - auto &lambda_validity = lambda_data.validity; - - // compute the new lengths and offsets, and create a selection vector - for (idx_t i = 0; i < elem_cnt; i++) { - auto entry = lambda_data.sel->get_index(i); - - while (appended_lists_cnt < lists_len.size() && lists_len[appended_lists_cnt] == 0) { - result_entries[appended_lists_cnt].offset = curr_list_offset; - result_entries[appended_lists_cnt].length = 0; - appended_lists_cnt++; - } - - // found a true value - if (lambda_validity.RowIsValid(entry) && lambda_values[entry]) { - true_sel.set_index(true_count++, i); - curr_list_len++; - } - - curr_original_list_len++; - - if (lists_len[appended_lists_cnt] == curr_original_list_len) { - result_entries[appended_lists_cnt].offset = curr_list_offset; - result_entries[appended_lists_cnt].length = curr_list_len; - curr_list_offset += curr_list_len; - appended_lists_cnt++; - curr_list_len = 0; - curr_original_list_len = 0; - } - } - - while (appended_lists_cnt < lists_len.size() && lists_len[appended_lists_cnt] == 0) { - result_entries[appended_lists_cnt].offset = curr_list_offset; - result_entries[appended_lists_cnt].length = 0; - appended_lists_cnt++; - } - - // slice to get the new lists and append them to the result - Vector new_lists(input_chunk.data[0], true_sel, true_count); - new_lists.Flatten(true_count); - UnifiedVectorFormat new_lists_child_data; - new_lists.ToUnifiedFormat(true_count, new_lists_child_data); - ListVector::Append(result, new_lists, *new_lists_child_data.sel, true_count, 0); -} - -static void ExecuteExpression(vector &types, vector &result_types, idx_t &elem_cnt, - SelectionVector &sel, vector &sel_vectors, DataChunk &input_chunk, - DataChunk &lambda_chunk, Vector &child_vector, DataChunk &args, - ExpressionExecutor &expr_executor) { - - input_chunk.SetCardinality(elem_cnt); - lambda_chunk.SetCardinality(elem_cnt); - - // set the list child vector - Vector slice(child_vector, sel, elem_cnt); - Vector second_slice(child_vector, sel, elem_cnt); - slice.Flatten(elem_cnt); - second_slice.Flatten(elem_cnt); - - input_chunk.data[0].Reference(slice); - input_chunk.data[1].Reference(second_slice); - - // set the other vectors - vector slices; - for (idx_t col_idx = 0; col_idx < args.ColumnCount() - 1; col_idx++) { - slices.emplace_back(args.data[col_idx + 1], sel_vectors[col_idx], elem_cnt); - slices[col_idx].Flatten(elem_cnt); - input_chunk.data[col_idx + 2].Reference(slices[col_idx]); - } - - // execute the lambda expression - expr_executor.Execute(input_chunk, lambda_chunk); -} - -template -static void ListLambdaFunction(DataChunk &args, ExpressionState &state, Vector &result) { - - // always at least the list argument - D_ASSERT(args.ColumnCount() >= 1); - - auto count = args.size(); - Vector &lists = args.data[0]; - - result.SetVectorType(VectorType::FLAT_VECTOR); - auto result_entries = FlatVector::GetData(result); - auto &result_validity = FlatVector::Validity(result); - - if (lists.GetType().id() == LogicalTypeId::SQLNULL) { - result_validity.SetInvalid(0); - return; - } - - // e.g. window functions in sub queries return dictionary vectors, which segfault on expression execution - // if not flattened first - for (idx_t i = 1; i < args.ColumnCount(); i++) { - if (args.data[i].GetVectorType() != VectorType::FLAT_VECTOR && - args.data[i].GetVectorType() != VectorType::CONSTANT_VECTOR) { - args.data[i].Flatten(count); - } - } - - // get the lists data - UnifiedVectorFormat lists_data; - lists.ToUnifiedFormat(count, lists_data); - auto list_entries = UnifiedVectorFormat::GetData(lists_data); - - // get the lambda expression - auto &func_expr = state.expr.Cast(); - auto &info = func_expr.bind_info->Cast(); - auto &lambda_expr = info.lambda_expr; - - // get the child vector and child data - auto lists_size = ListVector::GetListSize(lists); - auto &child_vector = ListVector::GetEntry(lists); - child_vector.Flatten(lists_size); - UnifiedVectorFormat child_data; - child_vector.ToUnifiedFormat(lists_size, child_data); - - // to slice the child vector - SelectionVector sel(STANDARD_VECTOR_SIZE); - - // this vector never contains more than one element - vector result_types; - result_types.push_back(lambda_expr->return_type); - - // non-lambda parameter columns - vector columns; - vector indexes; - vector sel_vectors; - - vector types; - types.push_back(child_vector.GetType()); - types.push_back(child_vector.GetType()); - - // skip the list column - for (idx_t i = 1; i < args.ColumnCount(); i++) { - columns.emplace_back(); - args.data[i].ToUnifiedFormat(count, columns[i - 1]); - indexes.push_back(0); - sel_vectors.emplace_back(STANDARD_VECTOR_SIZE); - types.push_back(args.data[i].GetType()); - } - - // get the expression executor - ExpressionExecutor expr_executor(state.GetContext(), *lambda_expr); - - // these are only for the list_filter - vector lists_len; - idx_t curr_list_len = 0; - idx_t curr_list_offset = 0; - idx_t appended_lists_cnt = 0; - idx_t curr_original_list_len = 0; - - if (!IS_TRANSFORM) { - lists_len.reserve(count); - } - - DataChunk input_chunk; - DataChunk lambda_chunk; - input_chunk.InitializeEmpty(types); - lambda_chunk.Initialize(Allocator::DefaultAllocator(), result_types); - - // loop over the child entries and create chunks to be executed by the expression executor - idx_t elem_cnt = 0; - idx_t offset = 0; - for (idx_t row_idx = 0; row_idx < count; row_idx++) { - - auto lists_index = lists_data.sel->get_index(row_idx); - const auto &list_entry = list_entries[lists_index]; - - // set the result to NULL for this row - if (!lists_data.validity.RowIsValid(lists_index)) { - result_validity.SetInvalid(row_idx); - if (!IS_TRANSFORM) { - lists_len.push_back(0); - } - continue; - } - - // set the length and offset of the resulting lists of list_transform - if (IS_TRANSFORM) { - result_entries[row_idx].offset = offset; - result_entries[row_idx].length = list_entry.length; - offset += list_entry.length; - } else { - lists_len.push_back(list_entry.length); - } - - // empty list, nothing to execute - if (list_entry.length == 0) { - continue; - } - - // get the data indexes - for (idx_t col_idx = 0; col_idx < args.ColumnCount() - 1; col_idx++) { - indexes[col_idx] = columns[col_idx].sel->get_index(row_idx); - } - - // iterate list elements and create transformed expression columns - for (idx_t child_idx = 0; child_idx < list_entry.length; child_idx++) { - // reached STANDARD_VECTOR_SIZE elements - if (elem_cnt == STANDARD_VECTOR_SIZE) { - lambda_chunk.Reset(); - ExecuteExpression(types, result_types, elem_cnt, sel, sel_vectors, input_chunk, lambda_chunk, - child_vector, args, expr_executor); - - auto &lambda_vector = lambda_chunk.data[0]; - - if (IS_TRANSFORM) { - AppendTransformedToResult(lambda_vector, elem_cnt, result); - } else { - AppendFilteredToResult(lambda_vector, result_entries, elem_cnt, result, curr_list_len, - curr_list_offset, appended_lists_cnt, lists_len, curr_original_list_len, - input_chunk); - } - elem_cnt = 0; - } - - // to slice the child vector - auto source_idx = child_data.sel->get_index(list_entry.offset + child_idx); - sel.set_index(elem_cnt, source_idx); - - // for each column, set the index of the selection vector to slice properly - for (idx_t col_idx = 0; col_idx < args.ColumnCount() - 1; col_idx++) { - sel_vectors[col_idx].set_index(elem_cnt, indexes[col_idx]); - } - elem_cnt++; - } - } - - lambda_chunk.Reset(); - ExecuteExpression(types, result_types, elem_cnt, sel, sel_vectors, input_chunk, lambda_chunk, child_vector, args, - expr_executor); - auto &lambda_vector = lambda_chunk.data[0]; - - if (IS_TRANSFORM) { - AppendTransformedToResult(lambda_vector, elem_cnt, result); - } else { - AppendFilteredToResult(lambda_vector, result_entries, elem_cnt, result, curr_list_len, curr_list_offset, - appended_lists_cnt, lists_len, curr_original_list_len, input_chunk); - } - - if (args.AllConstant()) { - result.SetVectorType(VectorType::CONSTANT_VECTOR); - } -} - -static void ListTransformFunction(DataChunk &args, ExpressionState &state, Vector &result) { - ListLambdaFunction<>(args, state, result); -} - -static void ListFilterFunction(DataChunk &args, ExpressionState &state, Vector &result) { - ListLambdaFunction(args, state, result); -} - -template -static unique_ptr ListLambdaBind(ClientContext &context, ScalarFunction &bound_function, - vector> &arguments) { - auto &bound_lambda_expr = arguments[1]->Cast(); - if (bound_lambda_expr.parameter_count != LAMBDA_PARAM_CNT) { - throw BinderException("Incorrect number of parameters in lambda function! " + bound_function.name + - " expects " + to_string(LAMBDA_PARAM_CNT) + " parameter(s)."); - } - - if (arguments[0]->return_type.id() == LogicalTypeId::SQLNULL) { - bound_function.arguments[0] = LogicalType::SQLNULL; - bound_function.return_type = LogicalType::SQLNULL; - return make_uniq(bound_function.return_type, nullptr); - } - - if (arguments[0]->return_type.id() == LogicalTypeId::UNKNOWN) { - throw ParameterNotResolvedException(); - } - - D_ASSERT(arguments[0]->return_type.id() == LogicalTypeId::LIST); - - // get the lambda expression and put it in the bind info - auto lambda_expr = std::move(bound_lambda_expr.lambda_expr); - return make_uniq(bound_function.return_type, std::move(lambda_expr)); -} - -static unique_ptr ListTransformBind(ClientContext &context, ScalarFunction &bound_function, - vector> &arguments) { - - // at least the list column and the lambda function - D_ASSERT(arguments.size() == 2); - if (arguments[1]->expression_class != ExpressionClass::BOUND_LAMBDA) { - throw BinderException("Invalid lambda expression!"); - } - - auto &bound_lambda_expr = arguments[1]->Cast(); - bound_function.return_type = LogicalType::LIST(bound_lambda_expr.lambda_expr->return_type); - return ListLambdaBind<1>(context, bound_function, arguments); -} - -static unique_ptr ListFilterBind(ClientContext &context, ScalarFunction &bound_function, - vector> &arguments) { - - // at least the list column and the lambda function - D_ASSERT(arguments.size() == 2); - if (arguments[1]->expression_class != ExpressionClass::BOUND_LAMBDA) { - throw BinderException("Invalid lambda expression!"); - } - - // try to cast to boolean, if the return type of the lambda filter expression is not already boolean - auto &bound_lambda_expr = arguments[1]->Cast(); - if (bound_lambda_expr.lambda_expr->return_type != LogicalType::BOOLEAN) { - auto cast_lambda_expr = - BoundCastExpression::AddCastToType(context, std::move(bound_lambda_expr.lambda_expr), LogicalType::BOOLEAN); - bound_lambda_expr.lambda_expr = std::move(cast_lambda_expr); - } - - bound_function.return_type = arguments[0]->return_type; - return ListLambdaBind<1>(context, bound_function, arguments); -} - -ScalarFunction ListTransformFun::GetFunction() { - ScalarFunction fun({LogicalType::LIST(LogicalType::ANY), LogicalType::LAMBDA}, LogicalType::LIST(LogicalType::ANY), - ListTransformFunction, ListTransformBind, nullptr, nullptr); - fun.null_handling = FunctionNullHandling::SPECIAL_HANDLING; - fun.serialize = ListLambdaBindData::Serialize; - fun.deserialize = ListLambdaBindData::Deserialize; - return fun; -} - -ScalarFunction ListFilterFun::GetFunction() { - ScalarFunction fun({LogicalType::LIST(LogicalType::ANY), LogicalType::LAMBDA}, LogicalType::LIST(LogicalType::ANY), - ListFilterFunction, ListFilterBind, nullptr, nullptr); - fun.null_handling = FunctionNullHandling::SPECIAL_HANDLING; - fun.serialize = ListLambdaBindData::Serialize; - fun.deserialize = ListLambdaBindData::Deserialize; - return fun; -} - -} // namespace duckdb diff --git a/src/core_functions/scalar/list/list_reduce.cpp b/src/core_functions/scalar/list/list_reduce.cpp new file mode 100644 index 000000000000..1e276e712798 --- /dev/null +++ b/src/core_functions/scalar/list/list_reduce.cpp @@ -0,0 +1,230 @@ +#include "duckdb/core_functions/scalar/list_functions.hpp" +#include "duckdb/core_functions/lambda_functions.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" +#include "duckdb/planner/expression/bound_function_expression.hpp" + +namespace duckdb { + +struct ReduceExecuteInfo { + ReduceExecuteInfo(LambdaFunctions::LambdaInfo &info, ClientContext &context) : left_slice(*info.child_vector) { + SelectionVector left_vector(info.row_count); + active_rows.Resize(0, info.row_count); + active_rows.SetAllValid(info.row_count); + + right_sel.Initialize(info.row_count); + left_sel.Initialize(info.row_count); + active_rows_sel.Initialize(info.row_count); + + idx_t reduced_row_idx = 0; + + for (idx_t original_row_idx = 0; original_row_idx < info.row_count; original_row_idx++) { + auto list_column_format_index = info.list_column_format.sel->get_index(original_row_idx); + if (info.list_column_format.validity.RowIsValid(list_column_format_index)) { + if (info.list_entries[list_column_format_index].length == 0) { + throw ParameterNotAllowedException("Cannot perform list_reduce on an empty input list"); + } + left_vector.set_index(reduced_row_idx, info.list_entries[list_column_format_index].offset); + reduced_row_idx++; + } else { + // Remove the invalid rows + info.result_validity->SetInvalid(original_row_idx); + active_rows.SetInvalid(original_row_idx); + } + } + + left_slice.Slice(left_vector, reduced_row_idx); + + if (info.has_index) { + input_types.push_back(LogicalType::BIGINT); + } + input_types.push_back(left_slice.GetType()); + input_types.push_back(left_slice.GetType()); + for (auto &entry : info.column_infos) { + input_types.push_back(entry.vector.get().GetType()); + } + + expr_executor = make_uniq(context, *info.lambda_expr); + }; + ValidityMask active_rows; + Vector left_slice; + unique_ptr expr_executor; + vector input_types; + + SelectionVector right_sel; + SelectionVector left_sel; + SelectionVector active_rows_sel; +}; + +static bool ExecuteReduce(idx_t loops, ReduceExecuteInfo &execute_info, LambdaFunctions::LambdaInfo &info, + DataChunk &result_chunk) { + idx_t original_row_idx = 0; + idx_t reduced_row_idx = 0; + idx_t valid_row_idx = 0; + + // create selection vectors for the left and right slice + auto data = execute_info.active_rows.GetData(); + + idx_t bits_per_entry = sizeof(idx_t) * 8; + for (idx_t entry_idx = 0; original_row_idx < info.row_count; entry_idx++) { + if (data[entry_idx] == 0) { + original_row_idx += bits_per_entry; + continue; + } + + for (idx_t j = 0; entry_idx * bits_per_entry + j < info.row_count; j++) { + if (!execute_info.active_rows.RowIsValid(original_row_idx)) { + original_row_idx++; + continue; + } + auto list_column_format_index = info.list_column_format.sel->get_index(original_row_idx); + if (info.list_entries[list_column_format_index].length > loops + 1) { + execute_info.right_sel.set_index(reduced_row_idx, + info.list_entries[list_column_format_index].offset + loops + 1); + execute_info.left_sel.set_index(reduced_row_idx, valid_row_idx); + execute_info.active_rows_sel.set_index(reduced_row_idx, original_row_idx); + + reduced_row_idx++; + } else { + execute_info.active_rows.SetInvalid(original_row_idx); + info.result.SetValue(original_row_idx, execute_info.left_slice.GetValue(valid_row_idx)); + } + original_row_idx++; + valid_row_idx++; + } + } + + if (reduced_row_idx == 0) { + return true; + } + + // create the index vector + Vector index_vector(Value::BIGINT(loops + 1)); + + // slice the left and right slice + execute_info.left_slice.Slice(execute_info.left_slice, execute_info.left_sel, reduced_row_idx); + Vector right_slice(*info.child_vector, execute_info.right_sel, reduced_row_idx); + + // create the input chunk + DataChunk input_chunk; + input_chunk.InitializeEmpty(execute_info.input_types); + input_chunk.SetCardinality(reduced_row_idx); + + idx_t slice_offset = info.has_index ? 1 : 0; + if (info.has_index) { + input_chunk.data[0].Reference(index_vector); + } + input_chunk.data[slice_offset + 1].Reference(execute_info.left_slice); + input_chunk.data[slice_offset].Reference(right_slice); + + // add the other columns + vector slices; + for (idx_t i = 0; i < info.column_infos.size(); i++) { + if (info.column_infos[i].vector.get().GetVectorType() == VectorType::CONSTANT_VECTOR) { + // only reference constant vectors + input_chunk.data[slice_offset + 2 + i].Reference(info.column_infos[i].vector); + } else { + // slice the other vectors + slices.emplace_back(info.column_infos[i].vector, execute_info.active_rows_sel, reduced_row_idx); + input_chunk.data[slice_offset + 2 + i].Reference(slices.back()); + } + } + + result_chunk.Reset(); + result_chunk.SetCardinality(reduced_row_idx); + + execute_info.expr_executor->Execute(input_chunk, result_chunk); + + // use the result chunk to update the left slice + execute_info.left_slice.Reference(result_chunk.data[0]); + return false; +} + +void LambdaFunctions::ListReduceFunction(duckdb::DataChunk &args, duckdb::ExpressionState &state, + duckdb::Vector &result) { + // Initializes the left slice from the list entries, active rows, the expression executor and the input types + bool completed = false; + LambdaFunctions::LambdaInfo info(args, state, result, completed); + if (completed) { + return; + } + + ReduceExecuteInfo execute_info(info, state.GetContext()); + + // Since the left slice references the result chunk, we need to create two result chunks. + // This means there is always an empty result chunk for the next iteration, + // without the referenced chunk having to be reset until the current iteration is complete. + DataChunk odd_result_chunk; + odd_result_chunk.Initialize(Allocator::DefaultAllocator(), {info.lambda_expr->return_type}); + + DataChunk even_result_chunk; + even_result_chunk.Initialize(Allocator::DefaultAllocator(), {info.lambda_expr->return_type}); + + idx_t loops = 0; + bool end = false; + // Execute reduce until all rows are finished + while (!end) { + auto &result_chunk = loops % 2 ? odd_result_chunk : even_result_chunk; + auto &spare_result_chunk = loops % 2 ? even_result_chunk : odd_result_chunk; + + end = ExecuteReduce(loops, execute_info, info, result_chunk); + spare_result_chunk.Reset(); + + loops++; + } + + if (info.is_all_constant && !info.is_volatile) { + info.result.SetVectorType(VectorType::CONSTANT_VECTOR); + } +} + +static unique_ptr ListReduceBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + + // the list column and the bound lambda expression + D_ASSERT(arguments.size() == 2); + if (arguments[1]->expression_class != ExpressionClass::BOUND_LAMBDA) { + throw BinderException("Invalid lambda expression!"); + } + + arguments[0] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[0])); + + auto &bound_lambda_expr = arguments[1]->Cast(); + if (bound_lambda_expr.parameter_count < 2 || bound_lambda_expr.parameter_count > 3) { + throw BinderException("list_reduce expects a function with 2 or 3 arguments"); + } + auto has_index = bound_lambda_expr.parameter_count == 3; + + unique_ptr bind_data = LambdaFunctions::ListLambdaPrepareBind(arguments, context, bound_function); + if (bind_data) { + return bind_data; + } + + auto list_child_type = arguments[0]->return_type; + list_child_type = ListType::GetChildType(list_child_type); + + auto cast_lambda_expr = + BoundCastExpression::AddCastToType(context, std::move(bound_lambda_expr.lambda_expr), list_child_type, false); + if (!cast_lambda_expr) { + throw BinderException("Could not cast lambda expression to list child type"); + } + bound_function.return_type = cast_lambda_expr->return_type; + return make_uniq(bound_function.return_type, std::move(cast_lambda_expr), has_index); +} + +static LogicalType ListReduceBindLambda(const idx_t parameter_idx, const LogicalType &list_child_type) { + return LambdaFunctions::BindTernaryLambda(parameter_idx, list_child_type); +} + +ScalarFunction ListReduceFun::GetFunction() { + ScalarFunction fun({LogicalType::LIST(LogicalType::ANY), LogicalType::LAMBDA}, LogicalType::ANY, + LambdaFunctions::ListReduceFunction, ListReduceBind, nullptr, nullptr); + + fun.null_handling = FunctionNullHandling::SPECIAL_HANDLING; + fun.serialize = ListLambdaBindData::Serialize; + fun.deserialize = ListLambdaBindData::Deserialize; + fun.bind_lambda = ListReduceBindLambda; + + return fun; +} + +} // namespace duckdb diff --git a/src/core_functions/scalar/list/list_sort.cpp b/src/core_functions/scalar/list/list_sort.cpp index 02dc205ea3b6..85d3ceb55228 100644 --- a/src/core_functions/scalar/list/list_sort.cpp +++ b/src/core_functions/scalar/list/list_sort.cpp @@ -1,7 +1,8 @@ #include "duckdb/core_functions/scalar/list_functions.hpp" #include "duckdb/common/enum_util.hpp" -#include "duckdb/common/types/chunk_collection.hpp" + #include "duckdb/planner/expression/bound_function_expression.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" #include "duckdb/execution/expression_executor.hpp" #include "duckdb/planner/expression/bound_reference_expression.hpp" #include "duckdb/main/config.hpp" @@ -10,14 +11,15 @@ namespace duckdb { struct ListSortBindData : public FunctionData { - ListSortBindData(OrderType order_type_p, OrderByNullType null_order_p, const LogicalType &return_type_p, - const LogicalType &child_type_p, ClientContext &context_p); + ListSortBindData(OrderType order_type_p, OrderByNullType null_order_p, bool is_grade_up, + const LogicalType &return_type_p, const LogicalType &child_type_p, ClientContext &context_p); ~ListSortBindData() override; OrderType order_type; OrderByNullType null_order; LogicalType return_type; LogicalType child_type; + bool is_grade_up; vector types; vector payload_types; @@ -31,11 +33,11 @@ struct ListSortBindData : public FunctionData { unique_ptr Copy() const override; }; -ListSortBindData::ListSortBindData(OrderType order_type_p, OrderByNullType null_order_p, +ListSortBindData::ListSortBindData(OrderType order_type_p, OrderByNullType null_order_p, bool is_grade_up_p, const LogicalType &return_type_p, const LogicalType &child_type_p, ClientContext &context_p) : order_type(order_type_p), null_order(null_order_p), return_type(return_type_p), child_type(child_type_p), - context(context_p) { + is_grade_up(is_grade_up_p), context(context_p) { // get the vector types types.emplace_back(LogicalType::USMALLINT); @@ -57,12 +59,12 @@ ListSortBindData::ListSortBindData(OrderType order_type_p, OrderByNullType null_ } unique_ptr ListSortBindData::Copy() const { - return make_uniq(order_type, null_order, return_type, child_type, context); + return make_uniq(order_type, null_order, is_grade_up, return_type, child_type, context); } bool ListSortBindData::Equals(const FunctionData &other_p) const { auto &other = other_p.Cast(); - return order_type == other.order_type && null_order == other.null_order; + return order_type == other.order_type && null_order == other.null_order && is_grade_up == other.is_grade_up; } ListSortBindData::~ListSortBindData() { @@ -120,18 +122,20 @@ static void ListSortFunction(DataChunk &args, ExpressionState &state, Vector &re LocalSortState local_sort_state; local_sort_state.Initialize(global_sort_state, buffer_manager); + Vector sort_result_vec = info.is_grade_up ? Vector(input_lists.GetType()) : result; + // this ensures that we do not change the order of the entries in the input chunk - VectorOperations::Copy(input_lists, result, count, 0, 0); + VectorOperations::Copy(input_lists, sort_result_vec, count, 0, 0); // get the child vector - auto lists_size = ListVector::GetListSize(result); - auto &child_vector = ListVector::GetEntry(result); + auto lists_size = ListVector::GetListSize(sort_result_vec); + auto &child_vector = ListVector::GetEntry(sort_result_vec); UnifiedVectorFormat child_data; child_vector.ToUnifiedFormat(lists_size, child_data); // get the lists data UnifiedVectorFormat lists_data; - result.ToUnifiedFormat(count, lists_data); + sort_result_vec.ToUnifiedFormat(count, lists_data); auto list_entries = UnifiedVectorFormat::GetData(lists_data); // create the lists_indices vector, this contains an element for each list's entry, @@ -191,6 +195,13 @@ static void ListSortFunction(DataChunk &args, ExpressionState &state, Vector &re local_sort_state, data_to_sort, lists_indices); } + if (info.is_grade_up) { + ListVector::Reserve(result, lists_size); + ListVector::SetListSize(result, lists_size); + auto result_data = ListVector::GetData(result); + memcpy(result_data, list_entries, count * sizeof(list_entry_t)); + } + if (data_to_sort) { // add local state to global state, which sorts the data global_sort_state.AddLocalState(local_sort_state); @@ -224,8 +235,19 @@ static void ListSortFunction(DataChunk &args, ExpressionState &state, Vector &re } D_ASSERT(sel_sorted_idx == incr_payload_count); - child_vector.Slice(sel_sorted, sel_sorted_idx); - child_vector.Flatten(sel_sorted_idx); + if (info.is_grade_up) { + auto &result_entry = ListVector::GetEntry(result); + auto result_data = ListVector::GetData(result); + for (idx_t i = 0; i < count; i++) { + for (idx_t j = result_data[i].offset; j < result_data[i].offset + result_data[i].length; j++) { + auto b = sel_sorted.get_index(j) - result_data[i].offset; + result_entry.SetValue(j, Value::BIGINT(b + 1)); + } + } + } else { + child_vector.Slice(sel_sorted, sel_sorted_idx); + child_vector.Flatten(sel_sorted_idx); + } } if (args.AllConstant()) { @@ -242,14 +264,16 @@ static unique_ptr ListSortBind(ClientContext &context, ScalarFunct bound_function.arguments[0] = LogicalTypeId::UNKNOWN; bound_function.return_type = LogicalType::SQLNULL; child_type = bound_function.return_type; - return make_uniq(order, null_order, bound_function.return_type, child_type, context); + return make_uniq(order, null_order, false, bound_function.return_type, child_type, context); } + arguments[0] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[0])); + child_type = ListType::GetChildType(arguments[0]->return_type); + bound_function.arguments[0] = arguments[0]->return_type; bound_function.return_type = arguments[0]->return_type; - child_type = ListType::GetChildType(arguments[0]->return_type); - return make_uniq(order, null_order, bound_function.return_type, child_type, context); + return make_uniq(order, null_order, false, bound_function.return_type, child_type, context); } template @@ -262,6 +286,31 @@ static T GetOrder(ClientContext &context, Expression &expr) { return EnumUtil::FromString(order_name.c_str()); } +static unique_ptr ListGradeUpBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + + D_ASSERT(!arguments.empty() && arguments.size() <= 3); + auto order = OrderType::ORDER_DEFAULT; + auto null_order = OrderByNullType::ORDER_DEFAULT; + + // get the sorting order + if (arguments.size() >= 2) { + order = GetOrder(context, *arguments[1]); + } + // get the null sorting order + if (arguments.size() == 3) { + null_order = GetOrder(context, *arguments[2]); + } + auto &config = DBConfig::GetConfig(context); + order = config.ResolveOrder(order); + null_order = config.ResolveNullOrder(order, null_order); + + bound_function.arguments[0] = arguments[0]->return_type; + bound_function.return_type = LogicalType::LIST(LogicalTypeId::BIGINT); + auto child_type = ListType::GetChildType(arguments[0]->return_type); + return make_uniq(order, null_order, true, bound_function.return_type, child_type, context); +} + static unique_ptr ListNormalSortBind(ClientContext &context, ScalarFunction &bound_function, vector> &arguments) { D_ASSERT(!arguments.empty() && arguments.size() <= 3); @@ -326,6 +375,26 @@ ScalarFunctionSet ListSortFun::GetFunctions() { return list_sort; } +ScalarFunctionSet ListGradeUpFun::GetFunctions() { + // one parameter: list + ScalarFunction sort({LogicalType::LIST(LogicalType::ANY)}, LogicalType::LIST(LogicalType::ANY), ListSortFunction, + ListGradeUpBind); + + // two parameters: list, order + ScalarFunction sort_order({LogicalType::LIST(LogicalType::ANY), LogicalType::VARCHAR}, + LogicalType::LIST(LogicalType::ANY), ListSortFunction, ListGradeUpBind); + + // three parameters: list, order, null order + ScalarFunction sort_orders({LogicalType::LIST(LogicalType::ANY), LogicalType::VARCHAR, LogicalType::VARCHAR}, + LogicalType::LIST(LogicalType::ANY), ListSortFunction, ListGradeUpBind); + + ScalarFunctionSet list_grade_up; + list_grade_up.AddFunction(sort); + list_grade_up.AddFunction(sort_order); + list_grade_up.AddFunction(sort_orders); + return list_grade_up; +} + ScalarFunctionSet ListReverseSortFun::GetFunctions() { // one parameter: list ScalarFunction sort_reverse({LogicalType::LIST(LogicalType::ANY)}, LogicalType::LIST(LogicalType::ANY), diff --git a/src/core_functions/scalar/list/list_transform.cpp b/src/core_functions/scalar/list/list_transform.cpp new file mode 100644 index 000000000000..01f10641e2be --- /dev/null +++ b/src/core_functions/scalar/list/list_transform.cpp @@ -0,0 +1,41 @@ +#include "duckdb/core_functions/scalar/list_functions.hpp" + +#include "duckdb/core_functions/lambda_functions.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" + +namespace duckdb { + +static unique_ptr ListTransformBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + + // the list column and the bound lambda expression + D_ASSERT(arguments.size() == 2); + if (arguments[1]->expression_class != ExpressionClass::BOUND_LAMBDA) { + throw BinderException("Invalid lambda expression!"); + } + + arguments[0] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[0])); + + auto &bound_lambda_expr = arguments[1]->Cast(); + bound_function.return_type = LogicalType::LIST(bound_lambda_expr.lambda_expr->return_type); + auto has_index = bound_lambda_expr.parameter_count == 2; + return LambdaFunctions::ListLambdaBind(context, bound_function, arguments, has_index); +} + +static LogicalType ListTransformBindLambda(const idx_t parameter_idx, const LogicalType &list_child_type) { + return LambdaFunctions::BindBinaryLambda(parameter_idx, list_child_type); +} + +ScalarFunction ListTransformFun::GetFunction() { + ScalarFunction fun({LogicalType::LIST(LogicalType::ANY), LogicalType::LAMBDA}, LogicalType::LIST(LogicalType::ANY), + LambdaFunctions::ListTransformFunction, ListTransformBind, nullptr, nullptr); + + fun.null_handling = FunctionNullHandling::SPECIAL_HANDLING; + fun.serialize = ListLambdaBindData::Serialize; + fun.deserialize = ListLambdaBindData::Deserialize; + fun.bind_lambda = ListTransformBindLambda; + + return fun; +} + +} // namespace duckdb diff --git a/src/core_functions/scalar/list/list_value.cpp b/src/core_functions/scalar/list/list_value.cpp index ea60d82125fc..9d9c21c65b94 100644 --- a/src/core_functions/scalar/list/list_value.cpp +++ b/src/core_functions/scalar/list/list_value.cpp @@ -7,6 +7,7 @@ #include "duckdb/storage/statistics/list_stats.hpp" #include "duckdb/planner/expression_binder.hpp" #include "duckdb/function/scalar/nested_functions.hpp" +#include "duckdb/parser/query_error_context.hpp" namespace duckdb { @@ -36,10 +37,28 @@ static void ListValueFunction(DataChunk &args, ExpressionState &state, Vector &r static unique_ptr ListValueBind(ClientContext &context, ScalarFunction &bound_function, vector> &arguments) { // collect names and deconflict, construct return type - LogicalType child_type = arguments.empty() ? LogicalType::SQLNULL : arguments[0]->return_type; + LogicalType child_type = + arguments.empty() ? LogicalType::SQLNULL : ExpressionBinder::GetExpressionReturnType(*arguments[0]); for (idx_t i = 1; i < arguments.size(); i++) { - child_type = LogicalType::MaxLogicalType(child_type, arguments[i]->return_type); + auto arg_type = ExpressionBinder::GetExpressionReturnType(*arguments[i]); + if (!LogicalType::TryGetMaxLogicalType(context, child_type, arg_type, child_type)) { + string list_arguments = "Full list: "; + idx_t error_index = list_arguments.size(); + for (idx_t k = 0; k < arguments.size(); k++) { + if (k > 0) { + list_arguments += ", "; + } + if (k == i) { + error_index = list_arguments.size(); + } + list_arguments += arguments[k]->ToString() + " " + arguments[k]->return_type.ToString(); + } + auto error = StringUtil::Format("Cannot create a list of types %s and %s - an explicit cast is required", + child_type.ToString(), arg_type.ToString()); + throw BinderException(QueryErrorContext::Format(list_arguments, error, int(error_index), false)); + } } + child_type = LogicalType::NormalizeType(child_type); // this is more for completeness reasons bound_function.varargs = child_type; diff --git a/src/core_functions/scalar/map/map.cpp b/src/core_functions/scalar/map/map.cpp index c56d15f9dad6..c92483d4dbed 100644 --- a/src/core_functions/scalar/map/map.cpp +++ b/src/core_functions/scalar/map/map.cpp @@ -32,12 +32,13 @@ static void AlignVectorToReference(const Vector &original, const Vector &referen Vector expanded_const(ListType::GetChildType(original.GetType()), new_length); - auto expansion_factor = new_length / original_length; - if (expansion_factor != tuple_count) { + if (new_length != tuple_count * original_length) { throw InvalidInputException("Error in MAP creation: key list and value list do not align. i.e. different " "size or incompatible structure"); } + auto expansion_factor = original_length ? new_length / original_length : original_length; CreateExpandedVector(original, expanded_const, expansion_factor); + result.Reference(expanded_const); } @@ -186,14 +187,14 @@ static unique_ptr MapBind(ClientContext &context, ScalarFunction & child_list_t child_types; if (arguments.size() != 2 && !arguments.empty()) { - throw Exception("We need exactly two lists for a map"); + throw InvalidInputException("We need exactly two lists for a map"); } if (arguments.size() == 2) { if (arguments[0]->return_type.id() != LogicalTypeId::LIST) { - throw Exception("First argument is not a list"); + throw InvalidInputException("First argument is not a list"); } if (arguments[1]->return_type.id() != LogicalTypeId::LIST) { - throw Exception("Second argument is not a list"); + throw InvalidInputException("Second argument is not a list"); } child_types.push_back(make_pair("key", arguments[0]->return_type)); child_types.push_back(make_pair("value", arguments[1]->return_type)); diff --git a/src/core_functions/scalar/map/map_entries.cpp b/src/core_functions/scalar/map/map_entries.cpp index caaeccee2bba..7629c7896227 100644 --- a/src/core_functions/scalar/map/map_entries.cpp +++ b/src/core_functions/scalar/map/map_entries.cpp @@ -10,9 +10,9 @@ namespace duckdb { // Reverse of map_from_entries static void MapEntriesFunction(DataChunk &args, ExpressionState &state, Vector &result) { - idx_t count = args.size(); + auto count = args.size(); - result.Reinterpret(args.data[0]); + MapUtil::ReinterpretMap(result, args.data[0], count); if (args.AllConstant()) { result.SetVectorType(VectorType::CONSTANT_VECTOR); diff --git a/src/core_functions/scalar/map/map_from_entries.cpp b/src/core_functions/scalar/map/map_from_entries.cpp index be79503ed0e4..fbaf1663d831 100644 --- a/src/core_functions/scalar/map/map_from_entries.cpp +++ b/src/core_functions/scalar/map/map_from_entries.cpp @@ -10,8 +10,7 @@ namespace duckdb { static void MapFromEntriesFunction(DataChunk &args, ExpressionState &state, Vector &result) { auto count = args.size(); - result.Reinterpret(args.data[0]); - + MapUtil::ReinterpretMap(result, args.data[0], count); MapVector::MapConversionVerify(result, count); result.Verify(count); diff --git a/src/core_functions/scalar/math/numeric.cpp b/src/core_functions/scalar/math/numeric.cpp index 740b9ed4a098..22894b286c3b 100644 --- a/src/core_functions/scalar/math/numeric.cpp +++ b/src/core_functions/scalar/math/numeric.cpp @@ -346,7 +346,7 @@ struct CeilDecimalOperator { static void Operation(DataChunk &input, uint8_t scale, Vector &result) { T power_of_ten = POWERS_OF_TEN_CLASS::POWERS_OF_TEN[scale]; UnaryExecutor::Execute(input.data[0], result, input.size(), [&](T input) { - if (input < 0) { + if (input <= 0) { // below 0 we floor the number (e.g. -10.5 -> -10) return input / power_of_ten; } else { @@ -484,6 +484,7 @@ ScalarFunctionSet TruncFun::GetFunctions() { case LogicalTypeId::USMALLINT: case LogicalTypeId::UINTEGER: case LogicalTypeId::UBIGINT: + case LogicalTypeId::UHUGEINT: func = ScalarFunction::NopFunction; break; default: @@ -1067,7 +1068,7 @@ struct ASinOperator { template static inline TR Operation(TA input) { if (input < -1 || input > 1) { - throw Exception("ASIN is undefined outside [-1,1]"); + throw InvalidInputException("ASIN is undefined outside [-1,1]"); } return (double)std::asin(input); } @@ -1126,6 +1127,23 @@ ScalarFunction AcosFun::GetFunction() { //===--------------------------------------------------------------------===// // cot //===--------------------------------------------------------------------===// +template +struct NoInfiniteNoZeroDoubleWrapper { + template + static RESULT_TYPE Operation(INPUT_TYPE input) { + if (DUCKDB_UNLIKELY(!Value::IsFinite(input))) { + if (Value::IsNan(input)) { + return input; + } + throw OutOfRangeException("input value %lf is out of range for numeric function", input); + } + if (DUCKDB_UNLIKELY((double)input == 0.0 || (double)input == -0.0)) { + throw OutOfRangeException("input value %lf is out of range for numeric function cotangent", input); + } + return OP::template Operation(input); + } +}; + struct CotOperator { template static inline TR Operation(TA input) { @@ -1135,7 +1153,7 @@ struct CotOperator { ScalarFunction CotFun::GetFunction() { return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE, - ScalarFunction::UnaryFunction>); + ScalarFunction::UnaryFunction>); } //===--------------------------------------------------------------------===// @@ -1182,7 +1200,9 @@ struct FactorialOperator { static inline TR Operation(TA left) { TR ret = 1; for (TA i = 2; i <= left; i++) { - ret *= i; + if (!TryMultiplyOperator::Operation(ret, TR(i), ret)) { + throw OutOfRangeException("Value out of range"); + } } return ret; } diff --git a/src/core_functions/scalar/operators/bitwise.cpp b/src/core_functions/scalar/operators/bitwise.cpp index f1604aa69752..65781f8d0bbe 100644 --- a/src/core_functions/scalar/operators/bitwise.cpp +++ b/src/core_functions/scalar/operators/bitwise.cpp @@ -36,6 +36,9 @@ static scalar_function_t GetScalarIntegerUnaryFunction(const LogicalType &type) case LogicalTypeId::HUGEINT: function = &ScalarFunction::UnaryFunction; break; + case LogicalTypeId::UHUGEINT: + function = &ScalarFunction::UnaryFunction; + break; default: throw NotImplementedException("Unimplemented type for GetScalarIntegerUnaryFunction"); } @@ -73,6 +76,9 @@ static scalar_function_t GetScalarIntegerBinaryFunction(const LogicalType &type) case LogicalTypeId::HUGEINT: function = &ScalarFunction::BinaryFunction; break; + case LogicalTypeId::UHUGEINT: + function = &ScalarFunction::BinaryFunction; + break; default: throw NotImplementedException("Unimplemented type for GetScalarIntegerBinaryFunction"); } diff --git a/src/core_functions/scalar/random/random.cpp b/src/core_functions/scalar/random/random.cpp index df2f355344b9..02567a4861f3 100644 --- a/src/core_functions/scalar/random/random.cpp +++ b/src/core_functions/scalar/random/random.cpp @@ -36,7 +36,7 @@ static unique_ptr RandomInitLocalState(ExpressionState &stat ScalarFunction RandomFun::GetFunction() { ScalarFunction random("random", {}, LogicalType::DOUBLE, RandomFunction, nullptr, nullptr, nullptr, RandomInitLocalState); - random.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS; + random.stability = FunctionStability::VOLATILE; return random; } @@ -56,7 +56,7 @@ ScalarFunction UUIDFun::GetFunction() { ScalarFunction uuid_function({}, LogicalType::UUID, GenerateUUIDFunction, nullptr, nullptr, nullptr, RandomInitLocalState); // generate a random uuid - uuid_function.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS; + uuid_function.stability = FunctionStability::VOLATILE; return uuid_function; } diff --git a/src/core_functions/scalar/random/setseed.cpp b/src/core_functions/scalar/random/setseed.cpp index 24f460eb7dd9..f2db16e6c5a6 100644 --- a/src/core_functions/scalar/random/setseed.cpp +++ b/src/core_functions/scalar/random/setseed.cpp @@ -37,7 +37,7 @@ static void SetSeedFunction(DataChunk &args, ExpressionState &state, Vector &res auto &random_engine = RandomEngine::Get(info.context); for (idx_t i = 0; i < args.size(); i++) { if (input_seeds[i] < -1.0 || input_seeds[i] > 1.0 || Value::IsNan(input_seeds[i])) { - throw Exception("SETSEED accepts seed values between -1.0 and 1.0, inclusive"); + throw InvalidInputException("SETSEED accepts seed values between -1.0 and 1.0, inclusive"); } uint32_t norm_seed = (input_seeds[i] + 1.0) * half_max; random_engine.SetSeed(norm_seed); @@ -54,7 +54,7 @@ unique_ptr SetSeedBind(ClientContext &context, ScalarFunction &bou ScalarFunction SetseedFun::GetFunction() { ScalarFunction setseed("setseed", {LogicalType::DOUBLE}, LogicalType::SQLNULL, SetSeedFunction, SetSeedBind); - setseed.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS; + setseed.stability = FunctionStability::VOLATILE; return setseed; } diff --git a/src/core_functions/scalar/secret/CMakeLists.txt b/src/core_functions/scalar/secret/CMakeLists.txt new file mode 100644 index 000000000000..6937dcd6003e --- /dev/null +++ b/src/core_functions/scalar/secret/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library_unity(duckdb_func_secret OBJECT which_secret.cpp) +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/core_functions/scalar/secret/functions.json b/src/core_functions/scalar/secret/functions.json new file mode 100644 index 000000000000..fb24476be3d7 --- /dev/null +++ b/src/core_functions/scalar/secret/functions.json @@ -0,0 +1,9 @@ +[ + { + "name": "which_secret", + "parameters": "path,type", + "description": "Print out the name of the secret that will be used for reading a path", + "example": "which_secret('s3://some/authenticated/path.csv', 's3')", + "type": "scalar_function" + } +] diff --git a/src/core_functions/scalar/secret/which_secret.cpp b/src/core_functions/scalar/secret/which_secret.cpp new file mode 100644 index 000000000000..dfa54e6278cc --- /dev/null +++ b/src/core_functions/scalar/secret/which_secret.cpp @@ -0,0 +1,28 @@ +#include "duckdb/core_functions/scalar/secret_functions.hpp" +#include "duckdb/main/secret/secret_manager.hpp" + +namespace duckdb { + +static void WhichSecretFunction(DataChunk &args, ExpressionState &state, Vector &result) { + D_ASSERT(args.ColumnCount() == 2); + + auto &secret_manager = SecretManager::Get(state.GetContext()); + auto transaction = CatalogTransaction::GetSystemCatalogTransaction(state.GetContext()); + + BinaryExecutor::Execute( + args.data[0], args.data[1], result, args.size(), [&](string_t path, string_t type) { + auto secret_match = secret_manager.LookupSecret(transaction, path.GetString(), type.GetString()); + if (!secret_match.HasMatch()) { + return string_t(); + } + return StringVector::AddString(result, secret_match.GetSecret().GetName()); + }); +} + +ScalarFunction WhichSecretFun::GetFunction() { + ScalarFunction which_secret("which_secret", {LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::VARCHAR, + WhichSecretFunction, nullptr, nullptr, nullptr, nullptr); + return which_secret; +} + +} // namespace duckdb diff --git a/src/core_functions/scalar/string/CMakeLists.txt b/src/core_functions/scalar/string/CMakeLists.txt index fcf3b29c51d1..22df19bef26a 100644 --- a/src/core_functions/scalar/string/CMakeLists.txt +++ b/src/core_functions/scalar/string/CMakeLists.txt @@ -15,7 +15,9 @@ add_library_unity( levenshtein.cpp md5.cpp pad.cpp + parse_path.cpp printf.cpp + regexp_escape.cpp repeat.cpp replace.cpp reverse.cpp diff --git a/src/core_functions/scalar/string/bar.cpp b/src/core_functions/scalar/string/bar.cpp index d55ae672aa39..291553a3a2d0 100644 --- a/src/core_functions/scalar/string/bar.cpp +++ b/src/core_functions/scalar/string/bar.cpp @@ -15,13 +15,13 @@ static string_t BarScalarFunction(double x, double min, double max, double max_w static const idx_t PARTIAL_BLOCKS_COUNT = UnicodeBar::PartialBlocksCount(); if (!Value::IsFinite(max_width)) { - throw ValueOutOfRangeException("Max bar width must not be NaN or infinity"); + throw OutOfRangeException("Max bar width must not be NaN or infinity"); } if (max_width < 1) { - throw ValueOutOfRangeException("Max bar width must be >= 1"); + throw OutOfRangeException("Max bar width must be >= 1"); } if (max_width > 1000) { - throw ValueOutOfRangeException("Max bar width must be <= 1000"); + throw OutOfRangeException("Max bar width must be <= 1000"); } double width; @@ -35,7 +35,7 @@ static string_t BarScalarFunction(double x, double min, double max, double max_w } if (!Value::IsFinite(width)) { - throw ValueOutOfRangeException("Bar width must not be NaN or infinity"); + throw OutOfRangeException("Bar width must not be NaN or infinity"); } result.clear(); @@ -52,6 +52,11 @@ static string_t BarScalarFunction(double x, double min, double max, double max_w result += PARTIAL_BLOCKS[remaining]; } + const idx_t integer_max_width = (idx_t)max_width; + if (result.size() < integer_max_width) { + result += std::string(integer_max_width - result.size(), ' '); + } + return string_t(result); } diff --git a/src/core_functions/scalar/string/format_bytes.cpp b/src/core_functions/scalar/string/format_bytes.cpp index b1a974f4bd4b..7a5117997dea 100644 --- a/src/core_functions/scalar/string/format_bytes.cpp +++ b/src/core_functions/scalar/string/format_bytes.cpp @@ -4,6 +4,7 @@ namespace duckdb { +template static void FormatBytesFunction(DataChunk &args, ExpressionState &state, Vector &result) { UnaryExecutor::Execute(args.data[0], result, args.size(), [&](int64_t bytes) { bool is_negative = bytes < 0; @@ -18,12 +19,16 @@ static void FormatBytesFunction(DataChunk &args, ExpressionState &state, Vector unsigned_bytes = idx_t(bytes); } return StringVector::AddString(result, (is_negative ? "-" : "") + - StringUtil::BytesToHumanReadableString(unsigned_bytes)); + StringUtil::BytesToHumanReadableString(unsigned_bytes, MULTIPLIER)); }); } ScalarFunction FormatBytesFun::GetFunction() { - return ScalarFunction({LogicalType::BIGINT}, LogicalType::VARCHAR, FormatBytesFunction); + return ScalarFunction({LogicalType::BIGINT}, LogicalType::VARCHAR, FormatBytesFunction<1024>); +} + +ScalarFunction FormatreadabledecimalsizeFun::GetFunction() { + return ScalarFunction({LogicalType::BIGINT}, LogicalType::VARCHAR, FormatBytesFunction<1000>); } } // namespace duckdb diff --git a/src/core_functions/scalar/string/functions.json b/src/core_functions/scalar/string/functions.json index 1c5d12639216..2a61f8697418 100644 --- a/src/core_functions/scalar/string/functions.json +++ b/src/core_functions/scalar/string/functions.json @@ -55,10 +55,17 @@ { "name": "format_bytes", "parameters": "bytes", - "description": "Converts bytes to a human-readable presentation (e.g. 16000 -> 16KB)", + "description": "Converts bytes to a human-readable presentation (e.g. 16000 -> 15.6 KiB)", "example": "format_bytes(1000 * 16)", "type": "scalar_function", - "aliases": ["formatReadableDecimalSize"] + "aliases": ["formatReadableSize"] + }, + { + "name": "formatReadableDecimalSize", + "parameters": "bytes", + "description": "Converts bytes to a human-readable presentation (e.g. 16000 -> 16.0 KB)", + "example": "format_bytes(1000 * 16)", + "type": "scalar_function" }, { "name": "hamming", @@ -173,6 +180,38 @@ "type": "scalar_function", "struct": "MD5NumberUpperFun" }, + { + "name": "parse_dirname", + "parameters": "string,separator", + "description": "Returns the top-level directory name. separator options: system, both_slash (default), forward_slash, backslash", + "example": "parse_dirname('path/to/file.csv', 'system')", + "type": "scalar_function_set", + "struct": "ParseDirnameFun" + }, + { + "name": "parse_dirpath", + "parameters": "string,separator", + "description": "Returns the head of the path similarly to Python's os.path.dirname. separator options: system, both_slash (default), forward_slash, backslash", + "example": "parse_dirpath('path/to/file.csv', 'system')", + "type": "scalar_function_set", + "struct": "ParseDirpathFun" + }, + { + "name": "parse_filename", + "parameters": "string,trim_extension,separator", + "description": "Returns the last component of the path similarly to Python's os.path.basename. If trim_extension is true, the file extension will be removed (it defaults to false). separator options: system, both_slash (default), forward_slash, backslash", + "example": "parse_filename('path/to/file.csv', true, 'forward_slash')", + "type": "scalar_function_set", + "struct": "ParseFilenameFun" + }, + { + "name": "parse_path", + "parameters": "string,separator", + "description": "Returns a list of the components (directories and filename) in the path similarly to Python's pathlib.PurePath::parts. separator options: system, both_slash (default), forward_slash, backslash", + "example": "parse_path('path/to/file.csv', 'system')", + "type": "scalar_function_set", + "struct": "ParsePathFun" + }, { "name": "printf", "parameters": "format,parameters...", @@ -297,5 +336,13 @@ "description": "Converts a value to a string in the given base radix, optionally padding with leading zeros to the minimum length", "example": "to_base(42, 16)", "type": "scalar_function_set" + }, + { + "name": "regexp_escape", + "parameters": "string", + "description": "Escapes all potentially meaningful regexp characters in the input string", + "example": "regexp_escape('https://duckdb.org')", + "struct": "RegexpEscapeFun", + "type": "scalar_function" } ] diff --git a/src/core_functions/scalar/string/hex.cpp b/src/core_functions/scalar/string/hex.cpp index ffea5e31608d..eac44555bd7d 100644 --- a/src/core_functions/scalar/string/hex.cpp +++ b/src/core_functions/scalar/string/hex.cpp @@ -19,7 +19,8 @@ static void WriteHexBytes(uint64_t x, char *&output, idx_t buffer_size) { } } -static void WriteHugeIntHexBytes(hugeint_t x, char *&output, idx_t buffer_size) { +template +static void WriteHugeIntHexBytes(T x, char *&output, idx_t buffer_size) { idx_t offset = buffer_size * 4; auto upper = x.upper; auto lower = x.lower; @@ -45,7 +46,8 @@ static void WriteBinBytes(uint64_t x, char *&output, idx_t buffer_size) { } } -static void WriteHugeIntBinBytes(hugeint_t x, char *&output, idx_t buffer_size) { +template +static void WriteHugeIntBinBytes(T x, char *&output, idx_t buffer_size) { auto upper = x.upper; auto lower = x.lower; idx_t offset = buffer_size; @@ -133,7 +135,34 @@ struct HexHugeIntOperator { auto target = StringVector::EmptyString(result, buffer_size); auto output = target.GetDataWriteable(); - WriteHugeIntHexBytes(input, output, buffer_size); + WriteHugeIntHexBytes(input, output, buffer_size); + + target.Finalize(); + return target; + } +}; + +struct HexUhugeIntOperator { + template + static RESULT_TYPE Operation(INPUT_TYPE input, Vector &result) { + + idx_t num_leading_zero = CountZeros::Leading(input); + idx_t buffer_size = sizeof(INPUT_TYPE) * 2 - (num_leading_zero / 4); + + // Special case: All bits are zero + if (buffer_size == 0) { + auto target = StringVector::EmptyString(result, 1); + auto output = target.GetDataWriteable(); + *output = '0'; + target.Finalize(); + return target; + } + + D_ASSERT(buffer_size > 0); + auto target = StringVector::EmptyString(result, buffer_size); + auto output = target.GetDataWriteable(); + + WriteHugeIntHexBytes(input, output, buffer_size); target.Finalize(); return target; @@ -219,7 +248,32 @@ struct BinaryHugeIntOperator { auto target = StringVector::EmptyString(result, buffer_size); auto output = target.GetDataWriteable(); - WriteHugeIntBinBytes(input, output, buffer_size); + WriteHugeIntBinBytes(input, output, buffer_size); + + target.Finalize(); + return target; + } +}; + +struct BinaryUhugeIntOperator { + template + static RESULT_TYPE Operation(INPUT_TYPE input, Vector &result) { + idx_t num_leading_zero = CountZeros::Leading(input); + idx_t buffer_size = sizeof(INPUT_TYPE) * 8 - num_leading_zero; + + // Special case: All bits are zero + if (buffer_size == 0) { + auto target = StringVector::EmptyString(result, 1); + auto output = target.GetDataWriteable(); + *output = '0'; + target.Finalize(); + return target; + } + + auto target = StringVector::EmptyString(result, buffer_size); + auto output = target.GetDataWriteable(); + + WriteHugeIntBinBytes(input, output, buffer_size); target.Finalize(); return target; @@ -346,6 +400,9 @@ ScalarFunctionSet HexFun::GetFunctions() { to_hex.AddFunction( ScalarFunction({LogicalType::HUGEINT}, LogicalType::VARCHAR, ToHexFunction)); + + to_hex.AddFunction( + ScalarFunction({LogicalType::UHUGEINT}, LogicalType::VARCHAR, ToHexFunction)); return to_hex; } @@ -364,6 +421,8 @@ ScalarFunctionSet BinFun::GetFunctions() { ScalarFunction({LogicalType::BIGINT}, LogicalType::VARCHAR, ToBinaryFunction)); to_binary.AddFunction(ScalarFunction({LogicalType::HUGEINT}, LogicalType::VARCHAR, ToBinaryFunction)); + to_binary.AddFunction(ScalarFunction({LogicalType::UHUGEINT}, LogicalType::VARCHAR, + ToBinaryFunction)); return to_binary; } diff --git a/src/core_functions/scalar/string/pad.cpp b/src/core_functions/scalar/string/pad.cpp index 3ff111ca69d2..8ad16f64ec2f 100644 --- a/src/core_functions/scalar/string/pad.cpp +++ b/src/core_functions/scalar/string/pad.cpp @@ -71,7 +71,7 @@ static string_t LeftPadFunction(const string_t &str, const int32_t len, const st // Left pad by the number of characters still needed if (!InsertPadding(len - written.second, pad, result)) { - throw Exception("Insufficient padding in LPAD."); + throw InvalidInputException("Insufficient padding in LPAD."); } // Append as much of the original string as fits @@ -103,7 +103,7 @@ static string_t RightPadFunction(const string_t &str, const int32_t len, const s // Right pad by the number of characters still needed if (!InsertPadding(len - written.second, pad, result)) { - throw Exception("Insufficient padding in RPAD."); + throw InvalidInputException("Insufficient padding in RPAD."); }; return string_t(result.data(), result.size()); diff --git a/src/core_functions/scalar/string/parse_path.cpp b/src/core_functions/scalar/string/parse_path.cpp new file mode 100644 index 000000000000..cc304d512927 --- /dev/null +++ b/src/core_functions/scalar/string/parse_path.cpp @@ -0,0 +1,348 @@ +#include "duckdb/core_functions/scalar/string_functions.hpp" +#include "duckdb/function/scalar/string_functions.hpp" +#include "duckdb/common/local_file_system.hpp" +#include + +namespace duckdb { + +static string GetSeparator(const string_t &input) { + string option = input.GetString(); + + // system's path separator + auto fs = FileSystem::CreateLocal(); + auto system_sep = fs->PathSeparator(option); + + string separator; + if (option == "system") { + separator = system_sep; + } else if (option == "forward_slash") { + separator = "/"; + } else if (option == "backslash") { + separator = "\\"; + } else { // both_slash (default) + separator = "/\\"; + } + return separator; +} + +struct SplitInput { + SplitInput(Vector &result_list, Vector &result_child, idx_t offset) + : result_list(result_list), result_child(result_child), offset(offset) { + } + + Vector &result_list; + Vector &result_child; + idx_t offset; + + void AddSplit(const char *split_data, idx_t split_size, idx_t list_idx) { + auto list_entry = offset + list_idx; + if (list_entry >= ListVector::GetListCapacity(result_list)) { + ListVector::SetListSize(result_list, offset + list_idx); + ListVector::Reserve(result_list, ListVector::GetListCapacity(result_list) * 2); + } + FlatVector::GetData(result_child)[list_entry] = + StringVector::AddString(result_child, split_data, split_size); + } +}; + +static bool IsIdxValid(const idx_t &i, const idx_t &sentence_size) { + if (i > sentence_size || i == DConstants::INVALID_INDEX) { + return false; + } + return true; +} + +static idx_t Find(const char *input_data, idx_t input_size, const string &sep_data) { + if (sep_data.empty()) { + return 0; + } + auto pos = ContainsFun::Find(const_uchar_ptr_cast(input_data), input_size, const_uchar_ptr_cast(&sep_data[0]), 1); + // both_slash option + if (sep_data.size() > 1) { + auto sec_pos = + ContainsFun::Find(const_uchar_ptr_cast(input_data), input_size, const_uchar_ptr_cast(&sep_data[1]), 1); + // choose the leftmost valid position + if (sec_pos != DConstants::INVALID_INDEX && (sec_pos < pos || pos == DConstants::INVALID_INDEX)) { + return sec_pos; + } + } + return pos; +} + +static idx_t FindLast(const char *data_ptr, idx_t input_size, const string &sep_data) { + idx_t start = 0; + while (input_size > 0) { + auto pos = Find(data_ptr, input_size, sep_data); + if (!IsIdxValid(pos, input_size)) { + break; + } + start += (pos + 1); + data_ptr += (pos + 1); + input_size -= (pos + 1); + } + if (start < 1) { + return DConstants::INVALID_INDEX; + } + return start - 1; +} + +static idx_t SplitPath(string_t input, const string &sep, SplitInput &state) { + auto input_data = input.GetData(); + auto input_size = input.GetSize(); + if (!input_size) { + return 0; + } + idx_t list_idx = 0; + while (input_size > 0) { + auto pos = Find(input_data, input_size, sep); + if (!IsIdxValid(pos, input_size)) { + break; + } + + D_ASSERT(input_size >= pos); + if (pos == 0) { + if (list_idx == 0) { // first character in path is separator + state.AddSplit(input_data, 1, list_idx); + list_idx++; + if (input_size == 1) { // special case: the only character in path is a separator + return list_idx; + } + } // else: separator is in the path + } else { + state.AddSplit(input_data, pos, list_idx); + list_idx++; + } + input_data += (pos + 1); + input_size -= (pos + 1); + } + if (input_size > 0) { + state.AddSplit(input_data, input_size, list_idx); + list_idx++; + } + return list_idx; +} + +static void ReadOptionalArgs(DataChunk &args, Vector &sep, Vector &trim, const bool &front_trim) { + switch (args.ColumnCount()) { + case 1: { + // use default values + break; + } + case 2: { + UnifiedVectorFormat sec_arg; + args.data[1].ToUnifiedFormat(args.size(), sec_arg); + if (sec_arg.validity.RowIsValid(0)) { // if not NULL + switch (args.data[1].GetType().id()) { + case LogicalTypeId::VARCHAR: { + sep.Reinterpret(args.data[1]); + break; + } + case LogicalTypeId::BOOLEAN: { // parse_path and parse_driname won't get in here + trim.Reinterpret(args.data[1]); + break; + } + default: + throw InvalidInputException("Invalid argument type"); + } + } + break; + } + case 3: { + if (!front_trim) { + // set trim_extension + UnifiedVectorFormat sec_arg; + args.data[1].ToUnifiedFormat(args.size(), sec_arg); + if (sec_arg.validity.RowIsValid(0)) { + trim.Reinterpret(args.data[1]); + } + UnifiedVectorFormat third_arg; + args.data[2].ToUnifiedFormat(args.size(), third_arg); + if (third_arg.validity.RowIsValid(0)) { + sep.Reinterpret(args.data[2]); + } + } else { + throw InvalidInputException("Invalid number of arguments"); + } + break; + } + default: + throw InvalidInputException("Invalid number of arguments"); + } +} + +template +static void TrimPathFunction(DataChunk &args, ExpressionState &state, Vector &result) { + // set default values + Vector &path = args.data[0]; + Vector separator(string_t("default")); + Vector trim_extension(Value::BOOLEAN(false)); + ReadOptionalArgs(args, separator, trim_extension, FRONT_TRIM); + + TernaryExecutor::Execute( + path, separator, trim_extension, result, args.size(), + [&](string_t &inputs, string_t input_sep, bool trim_extension) { + auto data = inputs.GetData(); + auto input_size = inputs.GetSize(); + auto sep = GetSeparator(input_sep.GetString()); + + // find the beginning idx and the size of the result string + idx_t begin = 0; + idx_t new_size = input_size; + if (FRONT_TRIM) { // left trim + auto pos = Find(data, input_size, sep); + if (pos == 0) { // path starts with separator + pos = 1; + } + new_size = (IsIdxValid(pos, input_size)) ? pos : 0; + } else { // right trim + auto idx_last_sep = FindLast(data, input_size, sep); + if (IsIdxValid(idx_last_sep, input_size)) { + begin = idx_last_sep + 1; + } + if (trim_extension) { + auto idx_extension_sep = FindLast(data, input_size, "."); + if (begin <= idx_extension_sep && IsIdxValid(idx_extension_sep, input_size)) { + new_size = idx_extension_sep; + } + } + } + // copy the trimmed string + D_ASSERT(begin <= new_size); + auto target = StringVector::EmptyString(result, new_size - begin); + auto output = target.GetDataWriteable(); + memcpy(output, data + begin, new_size - begin); + + target.Finalize(); + return target; + }); +} + +static void ParseDirpathFunction(DataChunk &args, ExpressionState &state, Vector &result) { + // set default values + Vector &path = args.data[0]; + Vector separator(string_t("default")); + Vector trim_extension(false); + ReadOptionalArgs(args, separator, trim_extension, true); + + BinaryExecutor::Execute( + path, separator, result, args.size(), [&](string_t input_path, string_t input_sep) { + auto path = input_path.GetData(); + auto path_size = input_path.GetSize(); + auto sep = GetSeparator(input_sep.GetString()); + + auto last_sep = FindLast(path, path_size, sep); + if (last_sep == 0 && path_size == 1) { + last_sep = 1; + } + idx_t new_size = (IsIdxValid(last_sep, path_size)) ? last_sep : 0; + + auto target = StringVector::EmptyString(result, new_size); + auto output = target.GetDataWriteable(); + memcpy(output, path, new_size); + target.Finalize(); + return StringVector::AddString(result, target); + }); +} + +static void ParsePathFunction(DataChunk &args, ExpressionState &state, Vector &result) { + D_ASSERT(args.ColumnCount() == 1 || args.ColumnCount() == 2); + UnifiedVectorFormat input_data; + args.data[0].ToUnifiedFormat(args.size(), input_data); + auto inputs = UnifiedVectorFormat::GetData(input_data); + + // set the separator + string input_sep = "default"; + if (args.ColumnCount() == 2) { + UnifiedVectorFormat sep_data; + args.data[1].ToUnifiedFormat(args.size(), sep_data); + if (sep_data.validity.RowIsValid(0)) { + input_sep = UnifiedVectorFormat::GetData(sep_data)->GetString(); + } + } + const string sep = GetSeparator(input_sep); + + D_ASSERT(result.GetType().id() == LogicalTypeId::LIST); + result.SetVectorType(VectorType::FLAT_VECTOR); + ListVector::SetListSize(result, 0); + + // set up the list entries + auto list_data = FlatVector::GetData(result); + auto &child_entry = ListVector::GetEntry(result); + auto &result_mask = FlatVector::Validity(result); + idx_t total_splits = 0; + for (idx_t i = 0; i < args.size(); i++) { + auto input_idx = input_data.sel->get_index(i); + if (!input_data.validity.RowIsValid(input_idx)) { + result_mask.SetInvalid(i); + continue; + } + SplitInput split_input(result, child_entry, total_splits); + auto list_length = SplitPath(inputs[input_idx], sep, split_input); + list_data[i].length = list_length; + list_data[i].offset = total_splits; + total_splits += list_length; + } + ListVector::SetListSize(result, total_splits); + D_ASSERT(ListVector::GetListSize(result) == total_splits); + + if (args.AllConstant()) { + result.SetVectorType(VectorType::CONSTANT_VECTOR); + } +} + +ScalarFunctionSet ParseDirnameFun::GetFunctions() { + ScalarFunctionSet parse_dirname; + ScalarFunction func({LogicalType::VARCHAR}, LogicalType::VARCHAR, TrimPathFunction, nullptr, nullptr, nullptr, + nullptr, LogicalType::INVALID, FunctionStability::CONSISTENT, + FunctionNullHandling::SPECIAL_HANDLING); + parse_dirname.AddFunction(func); + // separator options + func.arguments.emplace_back(LogicalType::VARCHAR); + parse_dirname.AddFunction(func); + return parse_dirname; +} + +ScalarFunctionSet ParseDirpathFun::GetFunctions() { + ScalarFunctionSet parse_dirpath; + ScalarFunction func({LogicalType::VARCHAR}, LogicalType::VARCHAR, ParseDirpathFunction, nullptr, nullptr, nullptr, + nullptr, LogicalType::INVALID, FunctionStability::CONSISTENT, + FunctionNullHandling::SPECIAL_HANDLING); + parse_dirpath.AddFunction(func); + // separator options + func.arguments.emplace_back(LogicalType::VARCHAR); + parse_dirpath.AddFunction(func); + return parse_dirpath; +} + +ScalarFunctionSet ParseFilenameFun::GetFunctions() { + ScalarFunctionSet parse_filename; + parse_filename.AddFunction(ScalarFunction({LogicalType::VARCHAR}, LogicalType::VARCHAR, TrimPathFunction, + nullptr, nullptr, nullptr, nullptr, LogicalType::INVALID, + FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); + parse_filename.AddFunction(ScalarFunction( + {LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::VARCHAR, TrimPathFunction, nullptr, nullptr, + nullptr, nullptr, LogicalType::INVALID, FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); + parse_filename.AddFunction(ScalarFunction( + {LogicalType::VARCHAR, LogicalType::BOOLEAN}, LogicalType::VARCHAR, TrimPathFunction, nullptr, nullptr, + nullptr, nullptr, LogicalType::INVALID, FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); + parse_filename.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::BOOLEAN, LogicalType::VARCHAR}, + LogicalType::VARCHAR, TrimPathFunction, nullptr, nullptr, nullptr, + nullptr, LogicalType::INVALID, FunctionStability::CONSISTENT, + FunctionNullHandling::SPECIAL_HANDLING)); + return parse_filename; +} + +ScalarFunctionSet ParsePathFun::GetFunctions() { + auto varchar_list_type = LogicalType::LIST(LogicalType::VARCHAR); + ScalarFunctionSet parse_path; + ScalarFunction func({LogicalType::VARCHAR}, varchar_list_type, ParsePathFunction, nullptr, nullptr, nullptr, + nullptr, LogicalType::INVALID, FunctionStability::CONSISTENT, + FunctionNullHandling::SPECIAL_HANDLING); + parse_path.AddFunction(func); + // separator options + func.arguments.emplace_back(LogicalType::VARCHAR); + parse_path.AddFunction(func); + return parse_path; +} + +} // namespace duckdb diff --git a/src/core_functions/scalar/string/regexp_escape.cpp b/src/core_functions/scalar/string/regexp_escape.cpp new file mode 100644 index 000000000000..32517c9c82b7 --- /dev/null +++ b/src/core_functions/scalar/string/regexp_escape.cpp @@ -0,0 +1,22 @@ +#include "duckdb/core_functions/scalar/string_functions.hpp" +#include "re2/re2.h" + +namespace duckdb { + +struct EscapeOperator { + template + static RESULT_TYPE Operation(INPUT_TYPE &input, Vector &result) { + auto escaped_pattern = RE2::QuoteMeta(input.GetString()); + return StringVector::AddString(result, escaped_pattern); + } +}; + +static void RegexpEscapeFunction(DataChunk &args, ExpressionState &state, Vector &result) { + UnaryExecutor::ExecuteString(args.data[0], result, args.size()); +} + +ScalarFunction RegexpEscapeFun::GetFunction() { + return ScalarFunction({LogicalType::VARCHAR}, LogicalType::VARCHAR, RegexpEscapeFunction); +} + +} // namespace duckdb diff --git a/src/core_functions/scalar/string/string_split.cpp b/src/core_functions/scalar/string/string_split.cpp index 7a41d3bd862b..7a777866d002 100644 --- a/src/core_functions/scalar/string/string_split.cpp +++ b/src/core_functions/scalar/string/string_split.cpp @@ -2,10 +2,10 @@ #include "duckdb/common/types/data_chunk.hpp" #include "duckdb/common/types/vector.hpp" #include "duckdb/common/vector_size.hpp" -#include "duckdb/function/scalar/regexp.hpp" #include "duckdb/core_functions/scalar/string_functions.hpp" -#include "duckdb/planner/expression/bound_function_expression.hpp" +#include "duckdb/function/scalar/regexp.hpp" #include "duckdb/function/scalar/string_functions.hpp" +#include "duckdb/planner/expression/bound_function_expression.hpp" namespace duckdb { @@ -24,8 +24,7 @@ struct StringSplitInput { ListVector::SetListSize(result_list, offset + list_idx); ListVector::Reserve(result_list, ListVector::GetListCapacity(result_list) * 2); } - FlatVector::GetData(result_child)[list_entry] = - StringVector::AddString(result_child, split_data, split_size); + FlatVector::GetData(result_child)[list_entry] = string_t(split_data, split_size); } }; @@ -153,6 +152,8 @@ static void StringSplitExecutor(DataChunk &args, ExpressionState &state, Vector if (args.AllConstant()) { result.SetVectorType(VectorType::CONSTANT_VECTOR); } + + StringVector::AddHeapReference(child_entry, args.data[0]); } static void StringSplitFunction(DataChunk &args, ExpressionState &state, Vector &result) { @@ -185,7 +186,7 @@ ScalarFunctionSet StringSplitRegexFun::GetFunctions() { ScalarFunctionSet regexp_split; ScalarFunction regex_fun({LogicalType::VARCHAR, LogicalType::VARCHAR}, varchar_list_type, StringSplitRegexFunction, RegexpMatchesBind, nullptr, nullptr, RegexInitLocalState, LogicalType::INVALID, - FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING); + FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING); regexp_split.AddFunction(regex_fun); // regexp options regex_fun.arguments.emplace_back(LogicalType::VARCHAR); diff --git a/src/core_functions/scalar/struct/struct_insert.cpp b/src/core_functions/scalar/struct/struct_insert.cpp index 3d9753f53b1a..6a44d12a78b6 100644 --- a/src/core_functions/scalar/struct/struct_insert.cpp +++ b/src/core_functions/scalar/struct/struct_insert.cpp @@ -40,15 +40,15 @@ static unique_ptr StructInsertBind(ClientContext &context, ScalarF case_insensitive_set_t name_collision_set; if (arguments.empty()) { - throw Exception("Missing required arguments for struct_insert function."); + throw InvalidInputException("Missing required arguments for struct_insert function."); } if (LogicalTypeId::STRUCT != arguments[0]->return_type.id()) { - throw Exception("The first argument to struct_insert must be a STRUCT"); + throw InvalidInputException("The first argument to struct_insert must be a STRUCT"); } if (arguments.size() < 2) { - throw Exception("Can't insert nothing into a struct"); + throw InvalidInputException("Can't insert nothing into a struct"); } child_list_t new_struct_children; diff --git a/src/core_functions/scalar/struct/struct_pack.cpp b/src/core_functions/scalar/struct/struct_pack.cpp index bd6787a362ca..b173439f8e48 100644 --- a/src/core_functions/scalar/struct/struct_pack.cpp +++ b/src/core_functions/scalar/struct/struct_pack.cpp @@ -37,7 +37,7 @@ static unique_ptr StructPackBind(ClientContext &context, ScalarFun // collect names and deconflict, construct return type if (arguments.empty()) { - throw Exception("Can't pack nothing into a struct"); + throw InvalidInputException("Can't pack nothing into a struct"); } child_list_t struct_children; for (idx_t i = 0; i < arguments.size(); i++) { diff --git a/src/execution/aggregate_hashtable.cpp b/src/execution/aggregate_hashtable.cpp index d15583c2e176..bf7b7f9986b8 100644 --- a/src/execution/aggregate_hashtable.cpp +++ b/src/execution/aggregate_hashtable.cpp @@ -482,7 +482,7 @@ struct FlushMoveState { bool Scan() { if (collection.Scan(scan_state, groups)) { collection.Gather(scan_state.chunk_state.row_locations, *FlatVector::IncrementalSelectionVector(), - groups.size(), hash_col_idx, hashes, *FlatVector::IncrementalSelectionVector()); + groups.size(), hash_col_idx, hashes, *FlatVector::IncrementalSelectionVector(), nullptr); return true; } @@ -512,7 +512,7 @@ void GroupedAggregateHashTable::Combine(GroupedAggregateHashTable &other) { } } -void GroupedAggregateHashTable::Combine(TupleDataCollection &other_data) { +void GroupedAggregateHashTable::Combine(TupleDataCollection &other_data, optional_ptr> progress) { D_ASSERT(other_data.GetLayout().GetAggrWidth() == layout.GetAggrWidth()); D_ASSERT(other_data.GetLayout().GetDataWidth() == layout.GetDataWidth()); D_ASSERT(other_data.GetLayout().GetRowWidth() == layout.GetRowWidth()); @@ -523,6 +523,9 @@ void GroupedAggregateHashTable::Combine(TupleDataCollection &other_data) { FlushMoveState fm_state(other_data); RowOperationsState row_state(*aggregate_allocator); + + idx_t chunk_idx = 0; + const auto chunk_count = other_data.ChunkCount(); while (fm_state.Scan()) { FindOrCreateGroups(fm_state.groups, fm_state.hashes, fm_state.group_addresses, fm_state.new_groups_sel); RowOperations::CombineStates(row_state, layout, fm_state.scan_state.chunk_state.row_locations, @@ -531,6 +534,10 @@ void GroupedAggregateHashTable::Combine(TupleDataCollection &other_data) { RowOperations::DestroyStates(row_state, layout, fm_state.scan_state.chunk_state.row_locations, fm_state.groups.size()); } + + if (progress) { + *progress = double(++chunk_idx) / double(chunk_count); + } } Verify(); diff --git a/src/execution/column_binding_resolver.cpp b/src/execution/column_binding_resolver.cpp index 9dd72c5911f2..ea4b2dc7c80d 100644 --- a/src/execution/column_binding_resolver.cpp +++ b/src/execution/column_binding_resolver.cpp @@ -1,16 +1,14 @@ #include "duckdb/execution/column_binding_resolver.hpp" -#include "duckdb/planner/operator/logical_comparison_join.hpp" +#include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" +#include "duckdb/common/to_string.hpp" +#include "duckdb/planner/expression/bound_columnref_expression.hpp" +#include "duckdb/planner/expression/bound_reference_expression.hpp" #include "duckdb/planner/operator/logical_any_join.hpp" +#include "duckdb/planner/operator/logical_comparison_join.hpp" #include "duckdb/planner/operator/logical_create_index.hpp" -#include "duckdb/planner/operator/logical_insert.hpp" #include "duckdb/planner/operator/logical_extension_operator.hpp" - -#include "duckdb/planner/expression/bound_columnref_expression.hpp" -#include "duckdb/planner/expression/bound_reference_expression.hpp" - -#include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" -#include "duckdb/common/to_string.hpp" +#include "duckdb/planner/operator/logical_insert.hpp" namespace duckdb { @@ -20,8 +18,7 @@ ColumnBindingResolver::ColumnBindingResolver() { void ColumnBindingResolver::VisitOperator(LogicalOperator &op) { switch (op.type) { case LogicalOperatorType::LOGICAL_ASOF_JOIN: - case LogicalOperatorType::LOGICAL_COMPARISON_JOIN: - case LogicalOperatorType::LOGICAL_DELIM_JOIN: { + case LogicalOperatorType::LOGICAL_COMPARISON_JOIN: { // special case: comparison join auto &comp_join = op.Cast(); // first get the bindings of the LHS and resolve the LHS expressions @@ -42,6 +39,40 @@ void ColumnBindingResolver::VisitOperator(LogicalOperator &op) { bindings = op.GetColumnBindings(); return; } + case LogicalOperatorType::LOGICAL_DELIM_JOIN: { + auto &comp_join = op.Cast(); + // depending on whether the delim join has been flipped, get the appropriate bindings + if (comp_join.delim_flipped) { + VisitOperator(*comp_join.children[1]); + for (auto &cond : comp_join.conditions) { + VisitExpression(&cond.right); + } + } else { + VisitOperator(*comp_join.children[0]); + for (auto &cond : comp_join.conditions) { + VisitExpression(&cond.left); + } + } + // visit the duplicate eliminated columns + for (auto &expr : comp_join.duplicate_eliminated_columns) { + VisitExpression(&expr); + } + // now get the other side + if (comp_join.delim_flipped) { + VisitOperator(*comp_join.children[0]); + for (auto &cond : comp_join.conditions) { + VisitExpression(&cond.left); + } + } else { + VisitOperator(*comp_join.children[1]); + for (auto &cond : comp_join.conditions) { + VisitExpression(&cond.right); + } + } + // finally update the bindings with the result bindings of the join + bindings = op.GetColumnBindings(); + return; + } case LogicalOperatorType::LOGICAL_ANY_JOIN: { // ANY join, this join is different because we evaluate the expression on the bindings of BOTH join sides at // once i.e. we set the bindings first to the bindings of the entire join, and then resolve the expressions of @@ -53,6 +84,9 @@ void ColumnBindingResolver::VisitOperator(LogicalOperator &op) { auto right_bindings = op.children[1]->GetColumnBindings(); bindings.insert(bindings.end(), right_bindings.begin(), right_bindings.end()); } + if (any_join.join_type == JoinType::RIGHT_SEMI || any_join.join_type == JoinType::RIGHT_ANTI) { + throw InternalException("RIGHT SEMI/ANTI any join not supported yet"); + } VisitOperatorExpressions(op); return; } diff --git a/src/execution/expression_executor.cpp b/src/execution/expression_executor.cpp index 8ee358719bb4..25abf86f32fc 100644 --- a/src/execution/expression_executor.cpp +++ b/src/execution/expression_executor.cpp @@ -171,7 +171,8 @@ unique_ptr ExpressionExecutor::InitializeState(const Expression void ExpressionExecutor::Execute(const Expression &expr, ExpressionState *state, const SelectionVector *sel, idx_t count, Vector &result) { #ifdef DEBUG - //! The result Vector must be "clean" + // the result vector has to be used for the first time or has to be reset + // otherwise, the validity mask might contain previous (now incorrect) data if (result.GetVectorType() == VectorType::FLAT_VECTOR) { D_ASSERT(FlatVector::Validity(result).CheckAllValid(count)); } diff --git a/src/execution/expression_executor/execute_between.cpp b/src/execution/expression_executor/execute_between.cpp index 1fc618fe7409..ca7d45f753e7 100644 --- a/src/execution/expression_executor/execute_between.cpp +++ b/src/execution/expression_executor/execute_between.cpp @@ -1,3 +1,4 @@ +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/execution/expression_executor.hpp" #include "duckdb/planner/expression/bound_between_expression.hpp" @@ -66,6 +67,9 @@ static idx_t BetweenLoopTypeSwitch(Vector &input, Vector &lower, Vector &upper, case PhysicalType::UINT64: return TernaryExecutor::Select(input, lower, upper, sel, count, true_sel, false_sel); + case PhysicalType::UINT128: + return TernaryExecutor::Select(input, lower, upper, sel, count, + true_sel, false_sel); case PhysicalType::FLOAT: return TernaryExecutor::Select(input, lower, upper, sel, count, true_sel, false_sel); case PhysicalType::DOUBLE: diff --git a/src/execution/expression_executor/execute_case.cpp b/src/execution/expression_executor/execute_case.cpp index 16159a69bb7e..1b5bf1f4f29b 100644 --- a/src/execution/expression_executor/execute_case.cpp +++ b/src/execution/expression_executor/execute_case.cpp @@ -1,3 +1,4 @@ +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/execution/expression_executor.hpp" #include "duckdb/planner/expression/bound_case_expression.hpp" @@ -170,6 +171,9 @@ void ExpressionExecutor::FillSwitch(Vector &vector, Vector &result, const Select case PhysicalType::INT128: TemplatedFillLoop(vector, result, sel, count); break; + case PhysicalType::UINT128: + TemplatedFillLoop(vector, result, sel, count); + break; case PhysicalType::FLOAT: TemplatedFillLoop(vector, result, sel, count); break; diff --git a/src/execution/expression_executor/execute_comparison.cpp b/src/execution/expression_executor/execute_comparison.cpp index 7ca51462072a..1467d6c4eb5a 100644 --- a/src/execution/expression_executor/execute_comparison.cpp +++ b/src/execution/expression_executor/execute_comparison.cpp @@ -1,3 +1,4 @@ +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/execution/expression_executor.hpp" #include "duckdb/planner/expression/bound_comparison_expression.hpp" @@ -85,6 +86,8 @@ static idx_t TemplatedSelectOperation(Vector &left, Vector &right, const Selecti return BinaryExecutor::Select(left, right, sel, count, true_sel, false_sel); case PhysicalType::INT128: return BinaryExecutor::Select(left, right, sel, count, true_sel, false_sel); + case PhysicalType::UINT128: + return BinaryExecutor::Select(left, right, sel, count, true_sel, false_sel); case PhysicalType::FLOAT: return BinaryExecutor::Select(left, right, sel, count, true_sel, false_sel); case PhysicalType::DOUBLE: @@ -95,6 +98,7 @@ static idx_t TemplatedSelectOperation(Vector &left, Vector &right, const Selecti return BinaryExecutor::Select(left, right, sel, count, true_sel, false_sel); case PhysicalType::LIST: case PhysicalType::STRUCT: + case PhysicalType::ARRAY: return NestedSelectOperation(left, right, sel, count, true_sel, false_sel); default: throw InternalException("Invalid type for comparison"); diff --git a/src/execution/index/CMakeLists.txt b/src/execution/index/CMakeLists.txt index 7e9860754737..b300678c6907 100644 --- a/src/execution/index/CMakeLists.txt +++ b/src/execution/index/CMakeLists.txt @@ -1,6 +1,6 @@ add_subdirectory(art) add_library_unity(duckdb_execution_index OBJECT fixed_size_allocator.cpp - fixed_size_buffer.cpp) + fixed_size_buffer.cpp unknown_index.cpp index_type_set.cpp) set(ALL_OBJECT_FILES ${ALL_OBJECT_FILES} $ PARENT_SCOPE) diff --git a/src/execution/index/art/art.cpp b/src/execution/index/art/art.cpp index 0d3cc1aca779..61898a5b2f43 100644 --- a/src/execution/index/art/art.cpp +++ b/src/execution/index/art/art.cpp @@ -1,23 +1,21 @@ #include "duckdb/execution/index/art/art.hpp" -#include "duckdb/common/radix.hpp" +#include "duckdb/common/types/conflict_manager.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/execution/expression_executor.hpp" -#include "duckdb/storage/arena_allocator.hpp" #include "duckdb/execution/index/art/art_key.hpp" -#include "duckdb/execution/index/art/prefix.hpp" +#include "duckdb/execution/index/art/iterator.hpp" #include "duckdb/execution/index/art/leaf.hpp" -#include "duckdb/execution/index/art/node4.hpp" #include "duckdb/execution/index/art/node16.hpp" -#include "duckdb/execution/index/art/node48.hpp" #include "duckdb/execution/index/art/node256.hpp" -#include "duckdb/execution/index/art/iterator.hpp" -#include "duckdb/common/types/conflict_manager.hpp" -#include "duckdb/storage/table/scan_state.hpp" +#include "duckdb/execution/index/art/node4.hpp" +#include "duckdb/execution/index/art/node48.hpp" +#include "duckdb/execution/index/art/prefix.hpp" +#include "duckdb/storage/arena_allocator.hpp" #include "duckdb/storage/metadata/metadata_reader.hpp" +#include "duckdb/storage/table/scan_state.hpp" #include "duckdb/storage/table_io_manager.hpp" - -#include +#include "duckdb/optimizer/matcher/expression_matcher.hpp" namespace duckdb { @@ -33,15 +31,16 @@ struct ARTIndexScanState : public IndexScanState { Iterator iterator; }; -ART::ART(const vector &column_ids, TableIOManager &table_io_manager, - const vector> &unbound_expressions, const IndexConstraintType constraint_type, +//===--------------------------------------------------------------------===// +// ART +//===--------------------------------------------------------------------===// + +ART::ART(const string &name, const IndexConstraintType index_constraint_type, const vector &column_ids, + TableIOManager &table_io_manager, const vector> &unbound_expressions, AttachedDatabase &db, const shared_ptr, ALLOCATOR_COUNT>> &allocators_ptr, - const BlockPointer &pointer) - : Index(db, IndexType::ART, table_io_manager, column_ids, unbound_expressions, constraint_type), + const IndexStorageInfo &info) + : Index(name, ART::TYPE_NAME, index_constraint_type, column_ids, table_io_manager, unbound_expressions, db), allocators(allocators_ptr), owns_data(false) { - if (!Radix::IsLittleEndian()) { - throw NotImplementedException("ART indexes are not supported on big endian architectures"); - } // initialize all allocators if (!allocators) { @@ -58,8 +57,16 @@ ART::ART(const vector &column_ids, TableIOManager &table_io_manager, allocators = make_shared, ALLOCATOR_COUNT>>(std::move(allocator_array)); } - if (pointer.IsValid()) { - Deserialize(pointer); + // deserialize lazily + if (info.IsValid()) { + + if (!info.root_block_ptr.IsValid()) { + InitAllocators(info); + + } else { + // old storage file + Deserialize(info.root_block_ptr); + } } // validate the types of the key columns @@ -75,6 +82,7 @@ ART::ART(const vector &column_ids, TableIOManager &table_io_manager, case PhysicalType::UINT16: case PhysicalType::UINT32: case PhysicalType::UINT64: + case PhysicalType::UINT128: case PhysicalType::FLOAT: case PhysicalType::DOUBLE: case PhysicalType::VARCHAR: @@ -89,8 +97,9 @@ ART::ART(const vector &column_ids, TableIOManager &table_io_manager, // Initialize Predicate Scans //===--------------------------------------------------------------------===// -unique_ptr ART::InitializeScanSinglePredicate(const Transaction &transaction, const Value &value, - const ExpressionType expression_type) { +//! Initialize a single predicate scan on the index with the given expression and column IDs +static unique_ptr InitializeScanSinglePredicate(const Transaction &transaction, const Value &value, + const ExpressionType expression_type) { // initialize point lookup auto result = make_uniq(); result->values[0] = value; @@ -98,10 +107,11 @@ unique_ptr ART::InitializeScanSinglePredicate(const Transaction return std::move(result); } -unique_ptr ART::InitializeScanTwoPredicates(const Transaction &transaction, const Value &low_value, - const ExpressionType low_expression_type, - const Value &high_value, - const ExpressionType high_expression_type) { +//! Initialize a two predicate scan on the index with the given expression and column IDs +static unique_ptr InitializeScanTwoPredicates(const Transaction &transaction, const Value &low_value, + const ExpressionType low_expression_type, + const Value &high_value, + const ExpressionType high_expression_type) { // initialize range lookup auto result = make_uniq(); result->values[0] = low_value; @@ -111,6 +121,93 @@ unique_ptr ART::InitializeScanTwoPredicates(const Transaction &t return std::move(result); } +unique_ptr ART::TryInitializeScan(const Transaction &transaction, const Expression &index_expr, + const Expression &filter_expr) { + + Value low_value, high_value, equal_value; + ExpressionType low_comparison_type = ExpressionType::INVALID, high_comparison_type = ExpressionType::INVALID; + // try to find a matching index for any of the filter expressions + + // create a matcher for a comparison with a constant + ComparisonExpressionMatcher matcher; + // match on a comparison type + matcher.expr_type = make_uniq(); + // match on a constant comparison with the indexed expression + matcher.matchers.push_back(make_uniq(const_cast(index_expr))); + matcher.matchers.push_back(make_uniq()); + + matcher.policy = SetMatcher::Policy::UNORDERED; + + vector> bindings; + if (matcher.Match(const_cast(filter_expr), bindings)) { + // range or equality comparison with constant value + // we can use our index here + // bindings[0] = the expression + // bindings[1] = the index expression + // bindings[2] = the constant + auto &comparison = bindings[0].get().Cast(); + auto constant_value = bindings[2].get().Cast().value; + auto comparison_type = comparison.type; + if (comparison.left->type == ExpressionType::VALUE_CONSTANT) { + // the expression is on the right side, we flip them around + comparison_type = FlipComparisonExpression(comparison_type); + } + if (comparison_type == ExpressionType::COMPARE_EQUAL) { + // equality value + // equality overrides any other bounds so we just break here + equal_value = constant_value; + } else if (comparison_type == ExpressionType::COMPARE_GREATERTHANOREQUALTO || + comparison_type == ExpressionType::COMPARE_GREATERTHAN) { + // greater than means this is a lower bound + low_value = constant_value; + low_comparison_type = comparison_type; + } else { + // smaller than means this is an upper bound + high_value = constant_value; + high_comparison_type = comparison_type; + } + } else if (filter_expr.type == ExpressionType::COMPARE_BETWEEN) { + // BETWEEN expression + auto &between = filter_expr.Cast(); + if (!between.input->Equals(index_expr)) { + // expression doesn't match the index expression + return nullptr; + } + if (between.lower->type != ExpressionType::VALUE_CONSTANT || + between.upper->type != ExpressionType::VALUE_CONSTANT) { + // not a constant comparison + return nullptr; + } + low_value = (between.lower->Cast()).value; + low_comparison_type = between.lower_inclusive ? ExpressionType::COMPARE_GREATERTHANOREQUALTO + : ExpressionType::COMPARE_GREATERTHAN; + high_value = (between.upper->Cast()).value; + high_comparison_type = + between.upper_inclusive ? ExpressionType::COMPARE_LESSTHANOREQUALTO : ExpressionType::COMPARE_LESSTHAN; + } + + if (!equal_value.IsNull() || !low_value.IsNull() || !high_value.IsNull()) { + // we can scan this index using this predicate: try a scan + unique_ptr index_state; + if (!equal_value.IsNull()) { + // equality predicate + index_state = InitializeScanSinglePredicate(transaction, equal_value, ExpressionType::COMPARE_EQUAL); + } else if (!low_value.IsNull() && !high_value.IsNull()) { + // two-sided predicate + index_state = InitializeScanTwoPredicates(transaction, low_value, low_comparison_type, high_value, + high_comparison_type); + } else if (!low_value.IsNull()) { + // less than predicate + index_state = InitializeScanSinglePredicate(transaction, low_value, low_comparison_type); + } else { + D_ASSERT(!high_value.IsNull()); + index_state = InitializeScanSinglePredicate(transaction, high_value, high_comparison_type); + } + return index_state; + } + return nullptr; +} + //===--------------------------------------------------------------------===// // Keys //===--------------------------------------------------------------------===// @@ -188,6 +285,9 @@ void ART::GenerateKeys(ArenaAllocator &allocator, DataChunk &input, vector(allocator, input.data[0], input.size(), keys); break; + case PhysicalType::UINT128: + TemplatedGenerateKeys(allocator, input.data[0], input.size(), keys); + break; case PhysicalType::FLOAT: TemplatedGenerateKeys(allocator, input.data[0], input.size(), keys); break; @@ -234,6 +334,9 @@ void ART::GenerateKeys(ArenaAllocator &allocator, DataChunk &input, vector(allocator, input.data[i], input.size(), keys); break; + case PhysicalType::UINT128: + ConcatenateKeys(allocator, input.data[i], input.size(), keys); + break; case PhysicalType::FLOAT: ConcatenateKeys(allocator, input.data[i], input.size(), keys); break; @@ -367,7 +470,7 @@ bool ART::ConstructFromSorted(idx_t count, vector &keys, Vector &row_ide //===--------------------------------------------------------------------===// // Insert / Verification / Constraint Checking //===--------------------------------------------------------------------===// -PreservedError ART::Insert(IndexLock &lock, DataChunk &input, Vector &row_ids) { +ErrorData ART::Insert(IndexLock &lock, DataChunk &input, Vector &row_ids) { D_ASSERT(row_ids.GetType().InternalType() == ROW_TYPE); D_ASSERT(logical_types[0] == input.data[0].GetType()); @@ -408,8 +511,8 @@ PreservedError ART::Insert(IndexLock &lock, DataChunk &input, Vector &row_ids) { } if (failed_index != DConstants::INVALID_INDEX) { - return PreservedError(ConstraintException("PRIMARY KEY or UNIQUE constraint violated: duplicate key \"%s\"", - AppendRowError(input, failed_index))); + return ErrorData(ConstraintException("PRIMARY KEY or UNIQUE constraint violated: duplicate key \"%s\"", + AppendRowError(input, failed_index))); } #ifdef DEBUG @@ -423,10 +526,10 @@ PreservedError ART::Insert(IndexLock &lock, DataChunk &input, Vector &row_ids) { } #endif - return PreservedError(); + return ErrorData(); } -PreservedError ART::Append(IndexLock &lock, DataChunk &appended_data, Vector &row_identifiers) { +ErrorData ART::Append(IndexLock &lock, DataChunk &appended_data, Vector &row_identifiers) { DataChunk expression_result; expression_result.Initialize(Allocator::DefaultAllocator(), logical_types); @@ -655,6 +758,8 @@ static ARTKey CreateKey(ArenaAllocator &allocator, PhysicalType type, Value &val return ARTKey::CreateARTKey(allocator, value.type(), value); case PhysicalType::INT128: return ARTKey::CreateARTKey(allocator, value.type(), value); + case PhysicalType::UINT128: + return ARTKey::CreateARTKey(allocator, value.type(), value); case PhysicalType::FLOAT: return ARTKey::CreateARTKey(allocator, value.type(), value); case PhysicalType::DOUBLE: @@ -896,11 +1001,11 @@ string ART::GenerateConstraintErrorMessage(VerifyExistenceType verify_type, cons case VerifyExistenceType::APPEND: { // APPEND to PK/UNIQUE table, but node/key already exists in PK/UNIQUE table string type = IsPrimary() ? "primary key" : "unique"; - return StringUtil::Format( - "Duplicate key \"%s\" violates %s constraint. " - "If this is an unexpected constraint violation please double " - "check with the known index limitations section in our documentation (docs - sql - indexes).", - key_name, type); + return StringUtil::Format("Duplicate key \"%s\" violates %s constraint. " + "If this is an unexpected constraint violation please double " + "check with the known index limitations section in our documentation " + "(https://duckdb.org/docs/sql/indexes).", + key_name, type); } case VerifyExistenceType::APPEND_FK: { // APPEND_FK to FK table, node/key does not exist in PK/UNIQUE table @@ -971,46 +1076,67 @@ void ART::CheckConstraintsForChunk(DataChunk &input, ConflictManager &conflict_m } //===--------------------------------------------------------------------===// -// Serialization +// Helper functions for (de)serialization //===--------------------------------------------------------------------===// -BlockPointer ART::Serialize(MetadataWriter &writer) { +IndexStorageInfo ART::GetStorageInfo(const bool get_buffers) { - D_ASSERT(owns_data); + // set the name and root node + IndexStorageInfo info; + info.name = name; + info.root = tree.Get(); - // early-out, if all allocators are empty - if (!tree.HasMetadata()) { - root_block_pointer = BlockPointer(); - return root_block_pointer; + if (!get_buffers) { + // store the data on disk as partial blocks and set the block ids + WritePartialBlocks(); + + } else { + // set the correct allocation sizes and get the map containing all buffers + for (const auto &allocator : *allocators) { + info.buffers.push_back(allocator->InitSerializationToWAL()); + } } - lock_guard l(lock); + for (const auto &allocator : *allocators) { + info.allocator_infos.push_back(allocator->GetInfo()); + } + + return info; +} + +void ART::WritePartialBlocks() { + + // use the partial block manager to serialize all allocator data auto &block_manager = table_io_manager.GetIndexBlockManager(); PartialBlockManager partial_block_manager(block_manager, CheckpointType::FULL_CHECKPOINT); - vector allocator_pointers; for (auto &allocator : *allocators) { - allocator_pointers.push_back(allocator->Serialize(partial_block_manager, writer)); + allocator->SerializeBuffers(partial_block_manager); } partial_block_manager.FlushPartialBlocks(); +} - root_block_pointer = writer.GetBlockPointer(); - writer.Write(tree); - for (auto &allocator_pointer : allocator_pointers) { - writer.Write(allocator_pointer); - } +void ART::InitAllocators(const IndexStorageInfo &info) { + + // set the root node + tree.Set(info.root); - return root_block_pointer; + // initialize the allocators + D_ASSERT(info.allocator_infos.size() == ALLOCATOR_COUNT); + for (idx_t i = 0; i < info.allocator_infos.size(); i++) { + (*allocators)[i]->Init(info.allocator_infos[i]); + } } void ART::Deserialize(const BlockPointer &pointer) { D_ASSERT(pointer.IsValid()); - MetadataReader reader(table_io_manager.GetMetadataManager(), pointer); + auto &metadata_manager = table_io_manager.GetMetadataManager(); + MetadataReader reader(metadata_manager, pointer); tree = reader.Read(); for (idx_t i = 0; i < ALLOCATOR_COUNT; i++) { - (*allocators)[i]->Deserialize(reader.Read()); + (*allocators)[i]->Deserialize(metadata_manager, reader.Read()); } } @@ -1069,6 +1195,21 @@ void ART::Vacuum(IndexLock &state) { FinalizeVacuum(flags); } +//===--------------------------------------------------------------------===// +// Size +//===--------------------------------------------------------------------===// + +idx_t ART::GetInMemorySize(IndexLock &index_lock) { + + D_ASSERT(owns_data); + + idx_t in_memory_size = 0; + for (auto &allocator : *allocators) { + in_memory_size += allocator->GetInMemorySize(); + } + return in_memory_size; +} + //===--------------------------------------------------------------------===// // Merging //===--------------------------------------------------------------------===// @@ -1129,4 +1270,12 @@ string ART::VerifyAndToStringInternal(const bool only_verify) { return "[empty]"; } +string ART::GetConstraintViolationMessage(VerifyExistenceType verify_type, idx_t failed_index, DataChunk &input) { + auto key_name = GenerateErrorKeyName(input, failed_index); + auto exception_msg = GenerateConstraintErrorMessage(verify_type, key_name); + return exception_msg; +} + +constexpr const char *ART::TYPE_NAME; + } // namespace duckdb diff --git a/src/execution/index/art/art_key.cpp b/src/execution/index/art/art_key.cpp index 5f50b4e11ef2..ace24037edd1 100644 --- a/src/execution/index/art/art_key.cpp +++ b/src/execution/index/art/art_key.cpp @@ -14,21 +14,28 @@ ARTKey::ARTKey(ArenaAllocator &allocator, const uint32_t &len) : len(len) { template <> ARTKey ARTKey::CreateARTKey(ArenaAllocator &allocator, const LogicalType &type, string_t value) { - uint32_t len = value.GetSize() + 1; + auto string_data = const_data_ptr_cast(value.GetData()); + auto string_len = value.GetSize(); + // we need to escape \00 and \01 + idx_t escape_count = 0; + for (idx_t r = 0; r < string_len; r++) { + if (string_data[r] <= 1) { + escape_count++; + } + } + idx_t len = string_len + escape_count + 1; auto data = allocator.Allocate(len); - memcpy(data, value.GetData(), len - 1); - - // FIXME: rethink this - if (type == LogicalType::BLOB || type == LogicalType::VARCHAR) { - // indexes cannot contain BLOBs (or BLOBs cast to VARCHARs) that contain zero bytes - for (uint32_t i = 0; i < len - 1; i++) { - if (data[i] == '\0') { - throw NotImplementedException("ART indexes cannot contain BLOBs with zero bytes."); - } + // copy over the data and add in escapes + idx_t pos = 0; + for (idx_t r = 0; r < string_len; r++) { + if (string_data[r] <= 1) { + // escape + data[pos++] = '\01'; } + data[pos++] = string_data[r]; } - - data[len - 1] = '\0'; + // end with a null-terminator + data[pos] = '\0'; return ARTKey(data, len); } @@ -39,21 +46,7 @@ ARTKey ARTKey::CreateARTKey(ArenaAllocator &allocator, const LogicalType &type, template <> void ARTKey::CreateARTKey(ArenaAllocator &allocator, const LogicalType &type, ARTKey &key, string_t value) { - key.len = value.GetSize() + 1; - key.data = allocator.Allocate(key.len); - memcpy(key.data, value.GetData(), key.len - 1); - - // FIXME: rethink this - if (type == LogicalType::BLOB || type == LogicalType::VARCHAR) { - // indexes cannot contain BLOBs (or BLOBs cast to VARCHARs) that contain zero bytes - for (uint32_t i = 0; i < key.len - 1; i++) { - if (key.data[i] == '\0') { - throw NotImplementedException("ART indexes cannot contain BLOBs with zero bytes."); - } - } - } - - key.data[key.len - 1] = '\0'; + key = ARTKey::CreateARTKey(allocator, type, value); } template <> diff --git a/src/execution/index/fixed_size_allocator.cpp b/src/execution/index/fixed_size_allocator.cpp index daa9dc150b2b..32018b3e304f 100644 --- a/src/execution/index/fixed_size_allocator.cpp +++ b/src/execution/index/fixed_size_allocator.cpp @@ -5,8 +5,8 @@ namespace duckdb { FixedSizeAllocator::FixedSizeAllocator(const idx_t segment_size, BlockManager &block_manager) - : block_manager(block_manager), buffer_manager(block_manager.buffer_manager), - metadata_manager(block_manager.GetMetadataManager()), segment_size(segment_size), total_segment_count(0) { + : block_manager(block_manager), buffer_manager(block_manager.buffer_manager), segment_size(segment_size), + total_segment_count(0) { if (segment_size > Storage::BLOCK_SIZE - sizeof(validity_t)) { throw InternalException("The maximum segment size of fixed-size allocators is " + @@ -122,7 +122,7 @@ void FixedSizeAllocator::Reset() { total_segment_count = 0; } -idx_t FixedSizeAllocator::GetMemoryUsage() const { +idx_t FixedSizeAllocator::GetInMemorySize() const { idx_t memory_usage = 0; for (auto &buffer : buffers) { if (buffer.second.InMemory()) { @@ -208,7 +208,7 @@ bool FixedSizeAllocator::InitializeVacuum() { // calculate the vacuum threshold adaptively D_ASSERT(excess_buffer_count < temporary_vacuum_buffers.size()); - idx_t memory_usage = GetMemoryUsage(); + idx_t memory_usage = GetInMemorySize(); idx_t excess_memory_usage = excess_buffer_count * Storage::BLOCK_SIZE; auto excess_percentage = double(excess_memory_usage) / double(memory_usage); auto threshold = double(VACUUM_THRESHOLD) / 100.0; @@ -264,31 +264,66 @@ IndexPointer FixedSizeAllocator::VacuumPointer(const IndexPointer ptr) { return new_ptr; } -BlockPointer FixedSizeAllocator::Serialize(PartialBlockManager &partial_block_manager, MetadataWriter &writer) { +FixedSizeAllocatorInfo FixedSizeAllocator::GetInfo() const { + FixedSizeAllocatorInfo info; + info.segment_size = segment_size; + + for (const auto &buffer : buffers) { + info.buffer_ids.push_back(buffer.first); + info.block_pointers.push_back(buffer.second.block_pointer); + info.segment_counts.push_back(buffer.second.segment_count); + info.allocation_sizes.push_back(buffer.second.allocation_size); + } + + for (auto &buffer_id : buffers_with_free_space) { + info.buffers_with_free_space.push_back(buffer_id); + } + + return info; +} + +void FixedSizeAllocator::SerializeBuffers(PartialBlockManager &partial_block_manager) { for (auto &buffer : buffers) { buffer.second.Serialize(partial_block_manager, available_segments_per_buffer, segment_size, bitmask_offset); } +} - auto block_pointer = writer.GetBlockPointer(); - writer.Write(segment_size); - writer.Write(static_cast(buffers.size())); - writer.Write(static_cast(buffers_with_free_space.size())); +vector FixedSizeAllocator::InitSerializationToWAL() { + vector buffer_infos; for (auto &buffer : buffers) { - writer.Write(buffer.first); - writer.Write(buffer.second.block_pointer); - writer.Write(buffer.second.segment_count); - writer.Write(buffer.second.allocation_size); + buffer.second.SetAllocationSize(available_segments_per_buffer, segment_size, bitmask_offset); + buffer_infos.emplace_back(buffer.second.Get(), buffer.second.allocation_size); } - for (auto &buffer_id : buffers_with_free_space) { - writer.Write(buffer_id); + return buffer_infos; +} + +void FixedSizeAllocator::Init(const FixedSizeAllocatorInfo &info) { + + segment_size = info.segment_size; + total_segment_count = 0; + + for (idx_t i = 0; i < info.buffer_ids.size(); i++) { + + // read all FixedSizeBuffer data + auto buffer_id = info.buffer_ids[i]; + auto buffer_block_pointer = info.block_pointers[i]; + auto segment_count = info.segment_counts[i]; + auto allocation_size = info.allocation_sizes[i]; + + // create the FixedSizeBuffer + FixedSizeBuffer new_buffer(block_manager, segment_count, allocation_size, buffer_block_pointer); + buffers.insert(make_pair(buffer_id, std::move(new_buffer))); + total_segment_count += segment_count; } - return block_pointer; + for (const auto &buffer_id : info.buffers_with_free_space) { + buffers_with_free_space.insert(buffer_id); + } } -void FixedSizeAllocator::Deserialize(const BlockPointer &block_pointer) { +void FixedSizeAllocator::Deserialize(MetadataManager &metadata_manager, const BlockPointer &block_pointer) { MetadataReader reader(metadata_manager, block_pointer); segment_size = reader.Read(); diff --git a/src/execution/index/fixed_size_buffer.cpp b/src/execution/index/fixed_size_buffer.cpp index 0617f93dfe3f..0dd86bd49e8c 100644 --- a/src/execution/index/fixed_size_buffer.cpp +++ b/src/execution/index/fixed_size_buffer.cpp @@ -40,7 +40,7 @@ FixedSizeBuffer::FixedSizeBuffer(BlockManager &block_manager) block_handle(nullptr) { auto &buffer_manager = block_manager.buffer_manager; - buffer_handle = buffer_manager.Allocate(Storage::BLOCK_SIZE, false, &block_handle); + buffer_handle = buffer_manager.Allocate(MemoryTag::ART_INDEX, Storage::BLOCK_SIZE, false, &block_handle); } FixedSizeBuffer::FixedSizeBuffer(BlockManager &block_manager, const idx_t segment_count, const idx_t allocation_size, @@ -81,11 +81,8 @@ void FixedSizeBuffer::Serialize(PartialBlockManager &partial_block_manager, cons return; } - if (dirty) { - // the allocation possibly changed - auto max_offset = GetMaxOffset(available_segments); - allocation_size = max_offset * segment_size + bitmask_offset; - } + // the allocation possibly changed + SetAllocationSize(available_segments, segment_size, bitmask_offset); // the buffer is in memory, so we copied it onto a new buffer when pinning D_ASSERT(InMemory() && !OnDisk()); @@ -126,7 +123,6 @@ void FixedSizeBuffer::Serialize(PartialBlockManager &partial_block_manager, cons } void FixedSizeBuffer::Pin() { - auto &buffer_manager = block_manager.buffer_manager; D_ASSERT(block_pointer.IsValid()); D_ASSERT(block_handle && block_handle->BlockId() < MAXIMUM_BLOCK); @@ -136,7 +132,8 @@ void FixedSizeBuffer::Pin() { // we need to copy the (partial) data into a new (not yet disk-backed) buffer handle shared_ptr new_block_handle; - auto new_buffer_handle = buffer_manager.Allocate(Storage::BLOCK_SIZE, false, &new_block_handle); + auto new_buffer_handle = + buffer_manager.Allocate(MemoryTag::ART_INDEX, Storage::BLOCK_SIZE, false, &new_block_handle); memcpy(new_buffer_handle.Ptr(), buffer_handle.Ptr() + block_pointer.offset, allocation_size); @@ -195,6 +192,15 @@ uint32_t FixedSizeBuffer::GetOffset(const idx_t bitmask_count) { throw InternalException("Invalid bitmask for FixedSizeAllocator"); } +void FixedSizeBuffer::SetAllocationSize(const idx_t available_segments, const idx_t segment_size, + const idx_t bitmask_offset) { + + if (dirty) { + auto max_offset = GetMaxOffset(available_segments); + allocation_size = max_offset * segment_size + bitmask_offset; + } +} + uint32_t FixedSizeBuffer::GetMaxOffset(const idx_t available_segments) { // this function calls Get() on the buffer diff --git a/src/execution/index/index_type_set.cpp b/src/execution/index/index_type_set.cpp new file mode 100644 index 000000000000..4e1dda7e6224 --- /dev/null +++ b/src/execution/index/index_type_set.cpp @@ -0,0 +1,32 @@ +#include "duckdb/execution/index/index_type.hpp" +#include "duckdb/execution/index/index_type_set.hpp" +#include "duckdb/execution/index/art/art.hpp" + +namespace duckdb { + +IndexTypeSet::IndexTypeSet() { + // Register the ART index type + IndexType art_index_type; + art_index_type.name = ART::TYPE_NAME; + art_index_type.create_instance = ART::Create; + RegisterIndexType(art_index_type); +} + +optional_ptr IndexTypeSet::FindByName(const string &name) { + lock_guard g(lock); + auto entry = functions.find(name); + if (entry == functions.end()) { + return nullptr; + } + return &entry->second; +} + +void IndexTypeSet::RegisterIndexType(const IndexType &index_type) { + lock_guard g(lock); + if (functions.find(index_type.name) != functions.end()) { + throw CatalogException("Index type with name \"%s\" already exists!", index_type.name.c_str()); + } + functions[index_type.name] = index_type; +} + +} // namespace duckdb diff --git a/src/execution/index/unknown_index.cpp b/src/execution/index/unknown_index.cpp new file mode 100644 index 000000000000..09b14581abd3 --- /dev/null +++ b/src/execution/index/unknown_index.cpp @@ -0,0 +1,65 @@ +#include "duckdb/execution/index/unknown_index.hpp" +#include "duckdb/parser/parsed_data/create_index_info.hpp" + +namespace duckdb { + +//------------------------------------------------------------------------------- +// Unknown index +//------------------------------------------------------------------------------- + +UnknownIndex::UnknownIndex(const string &name, const string &index_type, IndexConstraintType index_constraint_type, + const vector &column_ids, TableIOManager &table_io_manager, + const vector> &unbound_expressions, AttachedDatabase &db, + const CreateIndexInfo &create_info_p, IndexStorageInfo storage_info_p) + : Index(name, index_type, index_constraint_type, column_ids, table_io_manager, unbound_expressions, db), + create_info(create_info_p), storage_info(std::move(storage_info_p)) { +} + +string UnknownIndex::GenerateErrorMessage() const { + return StringUtil::Format( + R"(Unknown index type "%s" for index "%s". You probably need to load an extension containing this index type)", + index_type.c_str(), name.c_str()); +} + +ErrorData UnknownIndex::Append(IndexLock &, DataChunk &, Vector &) { + throw NotImplementedException(GenerateErrorMessage()); +} +void UnknownIndex::VerifyAppend(DataChunk &) { + throw NotImplementedException(GenerateErrorMessage()); +} +void UnknownIndex::VerifyAppend(DataChunk &, ConflictManager &) { + throw NotImplementedException(GenerateErrorMessage()); +} +void UnknownIndex::CommitDrop(IndexLock &) { + throw NotImplementedException(GenerateErrorMessage()); +} +void UnknownIndex::Delete(IndexLock &, DataChunk &, Vector &) { + throw NotImplementedException(GenerateErrorMessage()); +} +ErrorData UnknownIndex::Insert(IndexLock &, DataChunk &, Vector &) { + throw NotImplementedException(GenerateErrorMessage()); +} +IndexStorageInfo UnknownIndex::GetStorageInfo(bool) { + throw NotImplementedException(GenerateErrorMessage()); +} +bool UnknownIndex::MergeIndexes(IndexLock &, Index &) { + throw NotImplementedException(GenerateErrorMessage()); +} +void UnknownIndex::Vacuum(IndexLock &) { + throw NotImplementedException(GenerateErrorMessage()); +} +idx_t UnknownIndex::GetInMemorySize(IndexLock &) { + throw NotImplementedException(GenerateErrorMessage()); +} +void UnknownIndex::CheckConstraintsForChunk(DataChunk &, ConflictManager &) { + throw NotImplementedException(GenerateErrorMessage()); +} +string UnknownIndex::VerifyAndToString(IndexLock &, bool) { + throw NotImplementedException(GenerateErrorMessage()); +} + +string UnknownIndex::GetConstraintViolationMessage(VerifyExistenceType, idx_t, DataChunk &) { + throw NotImplementedException(GenerateErrorMessage()); +} + +} // namespace duckdb diff --git a/src/execution/join_hashtable.cpp b/src/execution/join_hashtable.cpp index dc17aa62d9ef..2b74b5bd7e4e 100644 --- a/src/execution/join_hashtable.cpp +++ b/src/execution/join_hashtable.cpp @@ -15,10 +15,10 @@ using ProbeSpill = JoinHashTable::ProbeSpill; using ProbeSpillLocalState = JoinHashTable::ProbeSpillLocalAppendState; JoinHashTable::JoinHashTable(BufferManager &buffer_manager_p, const vector &conditions_p, - vector btypes, JoinType type_p) - : buffer_manager(buffer_manager_p), conditions(conditions_p), build_types(std::move(btypes)), entry_size(0), - tuple_size(0), vfound(Value::BOOLEAN(false)), join_type(type_p), finalized(false), has_null(false), - external(false), radix_bits(4), partition_start(0), partition_end(0) { + vector btypes, JoinType type_p, const vector &output_columns_p) + : buffer_manager(buffer_manager_p), conditions(conditions_p), build_types(std::move(btypes)), + output_columns(output_columns_p), entry_size(0), tuple_size(0), vfound(Value::BOOLEAN(false)), join_type(type_p), + finalized(false), has_null(false), radix_bits(INITIAL_RADIX_BITS), partition_start(0), partition_end(0) { for (auto &condition : conditions) { D_ASSERT(condition.left->return_type == condition.right->return_type); @@ -44,7 +44,7 @@ JoinHashTable::JoinHashTable(BufferManager &buffer_manager_p, const vector layout_types(condition_types); layout_types.insert(layout_types.end(), build_types.begin(), build_types.end()); - if (IsRightOuterJoin(join_type)) { + if (PropagatesBuildSide(join_type)) { // full/right outer joins need an extra bool to keep track of whether or not a tuple has found a matching entry // we place the bool before the NEXT pointer layout_types.emplace_back(LogicalType::BOOLEAN); @@ -184,7 +184,7 @@ void JoinHashTable::Build(PartitionedTupleDataAppendState &append_state, DataChu source_chunk.data[col_offset + i].Reference(payload.data[i]); } col_offset += payload.ColumnCount(); - if (IsRightOuterJoin(join_type)) { + if (PropagatesBuildSide(join_type)) { // for FULL/RIGHT OUTER joins initialize the "found" boolean to false source_chunk.data[col_offset].Reference(vfound); col_offset++; @@ -224,7 +224,7 @@ idx_t JoinHashTable::PrepareKeys(DataChunk &keys, vector // figure out which keys are NULL, and create a selection vector out of them current_sel = FlatVector::IncrementalSelectionVector(); idx_t added_count = keys.size(); - if (build_side && IsRightOuterJoin(join_type)) { + if (build_side && (PropagatesBuildSide(join_type))) { // in case of a right or full outer join, we cannot remove NULL keys from the build side return added_count; } @@ -290,12 +290,9 @@ void JoinHashTable::InitializePointerTable() { if (hash_map.get()) { // There is already a hash map auto current_capacity = hash_map.GetSize() / sizeof(data_ptr_t); - if (capacity > current_capacity) { - // Need more space + if (capacity != current_capacity) { + // Different size, re-allocate hash_map = buffer_manager.GetBufferAllocator().Allocate(capacity * sizeof(data_ptr_t)); - } else { - // Just use the current hash map - capacity = current_capacity; } } else { // Allocate a hash map @@ -384,6 +381,8 @@ void ScanStructure::Next(DataChunk &keys, DataChunk &left, DataChunk &result) { switch (ht.join_type) { case JoinType::INNER: case JoinType::RIGHT: + case JoinType::RIGHT_ANTI: + case JoinType::RIGHT_SEMI: NextInnerJoin(keys, left, result); break; case JoinType::SEMI: @@ -407,6 +406,13 @@ void ScanStructure::Next(DataChunk &keys, DataChunk &left, DataChunk &result) { } } +bool ScanStructure::PointersExhausted() { + // AdvancePointers creates a "new_count" for every pointer advanced during the + // previous advance pointers call. If no pointers are advanced, new_count = 0. + // count is then set ot new_count. + return count == 0; +} + idx_t ScanStructure::ResolvePredicates(DataChunk &keys, SelectionVector &match_sel, SelectionVector *no_match_sel) { // Start with the scan selection for (idx_t i = 0; i < this->count; ++i) { @@ -476,7 +482,7 @@ void ScanStructure::AdvancePointers() { void ScanStructure::GatherResult(Vector &result, const SelectionVector &result_vector, const SelectionVector &sel_vector, const idx_t count, const idx_t col_no) { - ht.data_collection->Gather(pointers, sel_vector, count, col_no, result, result_vector); + ht.data_collection->Gather(pointers, sel_vector, count, col_no, result, result_vector, nullptr); } void ScanStructure::GatherResult(Vector &result, const SelectionVector &sel_vector, const idx_t count, @@ -485,7 +491,9 @@ void ScanStructure::GatherResult(Vector &result, const SelectionVector &sel_vect } void ScanStructure::NextInnerJoin(DataChunk &keys, DataChunk &left, DataChunk &result) { - D_ASSERT(result.ColumnCount() == left.ColumnCount() + ht.build_types.size()); + if (ht.join_type != JoinType::RIGHT_SEMI && ht.join_type != JoinType::RIGHT_ANTI) { + D_ASSERT(result.ColumnCount() == left.ColumnCount() + ht.output_columns.size()); + } if (this->count == 0) { // no pointers left to chase return; @@ -495,7 +503,7 @@ void ScanStructure::NextInnerJoin(DataChunk &keys, DataChunk &left, DataChunk &r idx_t result_count = ScanInnerJoin(keys, result_vector); if (result_count > 0) { - if (IsRightOuterJoin(ht.join_type)) { + if (PropagatesBuildSide(ht.join_type)) { // full/right outer join: mark join matches as FOUND in the HT auto ptrs = FlatVector::GetData(pointers); for (idx_t i = 0; i < result_count; i++) { @@ -505,16 +513,20 @@ void ScanStructure::NextInnerJoin(DataChunk &keys, DataChunk &left, DataChunk &r Store(true, ptrs[idx] + ht.tuple_size); } } - // matches were found - // construct the result - // on the LHS, we create a slice using the result vector - result.Slice(left, result_vector, result_count); - - // on the RHS, we need to fetch the data from the hash table - for (idx_t i = 0; i < ht.build_types.size(); i++) { - auto &vector = result.data[left.ColumnCount() + i]; - D_ASSERT(vector.GetType() == ht.build_types[i]); - GatherResult(vector, result_vector, result_count, i + ht.condition_types.size()); + // for right semi join, just mark the entry as found and move on. Propogation happens later + if (ht.join_type != JoinType::RIGHT_SEMI && ht.join_type != JoinType::RIGHT_ANTI) { + // matches were found + // construct the result + // on the LHS, we create a slice using the result vector + result.Slice(left, result_vector, result_count); + + // on the RHS, we need to fetch the data from the hash table + for (idx_t i = 0; i < ht.output_columns.size(); i++) { + auto &vector = result.data[left.ColumnCount() + i]; + const auto output_col_idx = ht.output_columns[i]; + D_ASSERT(vector.GetType() == ht.layout.GetTypes()[output_col_idx]); + GatherResult(vector, result_vector, result_count, output_col_idx); + } } AdvancePointers(); } @@ -759,7 +771,7 @@ void ScanStructure::NextSingleJoin(DataChunk &keys, DataChunk &input, DataChunk result.data[i].Reference(input.data[i]); } // now fetch the data from the RHS - for (idx_t i = 0; i < ht.build_types.size(); i++) { + for (idx_t i = 0; i < ht.output_columns.size(); i++) { auto &vector = result.data[input.ColumnCount() + i]; // set NULL entries for every entry that was not found for (idx_t j = 0; j < input.size(); j++) { @@ -767,8 +779,9 @@ void ScanStructure::NextSingleJoin(DataChunk &keys, DataChunk &input, DataChunk FlatVector::SetNull(vector, j, true); } } - // for the remaining values we fetch the values - GatherResult(vector, result_sel, result_sel, result_count, i + ht.condition_types.size()); + const auto output_col_idx = ht.output_columns[i]; + D_ASSERT(vector.GetType() == ht.layout.GetTypes()[output_col_idx]); + GatherResult(vector, result_sel, result_sel, result_count, output_col_idx); } result.SetCardinality(input.size()); @@ -786,12 +799,20 @@ void JoinHashTable::ScanFullOuter(JoinHTScanState &state, Vector &addresses, Dat return; } + // When scanning Full Outer for right semi joins, we only propagate matches that have true + // Right Semi Joins do not propagate values during the probe phase, since we do not want to + // duplicate RHS rows. + bool match_propagation_value = false; + if (join_type == JoinType::RIGHT_SEMI) { + match_propagation_value = true; + } + const auto row_locations = iterator.GetRowLocations(); do { const auto count = iterator.GetCurrentChunkCount(); for (idx_t i = state.offset_in_chunk; i < count; i++) { auto found_match = Load(row_locations[i] + tuple_size); - if (!found_match) { + if (found_match == match_propagation_value) { key_locations[found_entries++] = row_locations[i]; if (found_entries == STANDARD_VECTOR_SIZE) { state.offset_in_chunk = i + 1; @@ -810,7 +831,11 @@ void JoinHashTable::ScanFullOuter(JoinHTScanState &state, Vector &addresses, Dat return; } result.SetCardinality(found_entries); - idx_t left_column_count = result.ColumnCount() - build_types.size(); + + idx_t left_column_count = result.ColumnCount() - output_columns.size(); + if (join_type == JoinType::RIGHT_SEMI || join_type == JoinType::RIGHT_ANTI) { + left_column_count = 0; + } const auto &sel_vector = *FlatVector::IncrementalSelectionVector(); // set the left side as a constant NULL for (idx_t i = 0; i < left_column_count; i++) { @@ -820,11 +845,11 @@ void JoinHashTable::ScanFullOuter(JoinHTScanState &state, Vector &addresses, Dat } // gather the values from the RHS - for (idx_t i = 0; i < build_types.size(); i++) { + for (idx_t i = 0; i < output_columns.size(); i++) { auto &vector = result.data[left_column_count + i]; - D_ASSERT(vector.GetType() == build_types[i]); - const auto col_no = condition_types.size() + i; - data_collection->Gather(addresses, sel_vector, found_entries, col_no, vector, sel_vector); + const auto output_col_idx = output_columns[i]; + D_ASSERT(vector.GetType() == layout.GetTypes()[output_col_idx]); + data_collection->Gather(addresses, sel_vector, found_entries, output_col_idx, vector, sel_vector, nullptr); } } @@ -846,96 +871,88 @@ idx_t JoinHashTable::FillWithHTOffsets(JoinHTScanState &state, Vector &addresses return key_count; } -bool JoinHashTable::RequiresExternalJoin(ClientConfig &config, vector> &local_hts) { - total_count = 0; - idx_t data_size = 0; - for (auto &ht : local_hts) { - auto &local_sink_collection = ht->GetSinkCollection(); - total_count += local_sink_collection.Count(); - data_size += local_sink_collection.SizeInBytes(); +idx_t JoinHashTable::GetTotalSize(const vector &partition_sizes, const vector &partition_counts, + idx_t &max_partition_size, idx_t &max_partition_count) const { + const auto num_partitions = RadixPartitioning::NumberOfPartitions(radix_bits); + + idx_t total_size = 0; + idx_t total_count = 0; + idx_t max_partition_ht_size = 0; + max_partition_size = 0; + max_partition_count = 0; + for (idx_t i = 0; i < num_partitions; i++) { + total_size += partition_sizes[i]; + total_count += partition_counts[i]; + + auto partition_size = partition_sizes[i] + PointerTableSize(partition_counts[i]); + if (partition_size > max_partition_ht_size) { + max_partition_ht_size = partition_size; + max_partition_size = partition_sizes[i]; + max_partition_count = partition_counts[i]; + } } if (total_count == 0) { - return false; + return 0; } - if (config.force_external) { - // Do 1 round per partition if forcing external join to test all code paths - const auto r = RadixPartitioning::NumberOfPartitions(radix_bits); - auto data_size_per_round = (data_size + r - 1) / r; - auto count_per_round = (total_count + r - 1) / r; - max_ht_size = data_size_per_round + PointerTableSize(count_per_round); - external = true; - } else { - auto ht_size = data_size + PointerTableSize(total_count); - external = ht_size > max_ht_size; - } - return external; + return total_size + PointerTableSize(total_count); } -void JoinHashTable::Unpartition() { - for (auto &partition : sink_collection->GetPartitions()) { - data_collection->Combine(*partition); +idx_t JoinHashTable::GetTotalSize(vector> &local_hts, idx_t &max_partition_size, + idx_t &max_partition_count) const { + const auto num_partitions = RadixPartitioning::NumberOfPartitions(radix_bits); + vector partition_sizes(num_partitions, 0); + vector partition_counts(num_partitions, 0); + for (auto &ht : local_hts) { + ht->GetSinkCollection().GetSizesAndCounts(partition_sizes, partition_counts); } + + return GetTotalSize(partition_sizes, partition_counts, max_partition_size, max_partition_count); } -bool JoinHashTable::RequiresPartitioning(ClientConfig &config, vector> &local_hts) { - D_ASSERT(total_count != 0); - D_ASSERT(external); +idx_t JoinHashTable::GetRemainingSize() { + const auto num_partitions = RadixPartitioning::NumberOfPartitions(radix_bits); + auto &partitions = sink_collection->GetPartitions(); - idx_t num_partitions = RadixPartitioning::NumberOfPartitions(radix_bits); - vector partition_counts(num_partitions, 0); - vector partition_sizes(num_partitions, 0); - for (auto &ht : local_hts) { - const auto &local_partitions = ht->GetSinkCollection().GetPartitions(); - for (idx_t partition_idx = 0; partition_idx < num_partitions; partition_idx++) { - auto &local_partition = local_partitions[partition_idx]; - partition_counts[partition_idx] += local_partition->Count(); - partition_sizes[partition_idx] += local_partition->SizeInBytes(); - } + idx_t count = 0; + idx_t data_size = 0; + for (idx_t partition_idx = partition_end; partition_idx < num_partitions; partition_idx++) { + count += partitions[partition_idx]->Count(); + data_size += partitions[partition_idx]->SizeInBytes(); } - // Figure out if we can fit all single partitions in memory - idx_t max_partition_idx = 0; - idx_t max_partition_size = 0; - for (idx_t partition_idx = 0; partition_idx < num_partitions; partition_idx++) { - const auto &partition_count = partition_counts[partition_idx]; - const auto &partition_size = partition_sizes[partition_idx]; - auto partition_ht_size = partition_size + PointerTableSize(partition_count); - if (partition_ht_size > max_partition_size) { - max_partition_size = partition_ht_size; - max_partition_idx = partition_idx; - } - } + return data_size + PointerTableSize(count); +} - if (config.force_external || max_partition_size > max_ht_size) { - const auto partition_count = partition_counts[max_partition_idx]; - const auto partition_size = partition_sizes[max_partition_idx]; +void JoinHashTable::Unpartition() { + data_collection = sink_collection->GetUnpartitioned(); +} - const auto max_added_bits = RadixPartitioning::MAX_RADIX_BITS - radix_bits; - idx_t added_bits = config.force_external ? 2 : 1; - for (; added_bits < max_added_bits; added_bits++) { - double partition_multiplier = RadixPartitioning::NumberOfPartitions(added_bits); +void JoinHashTable::SetRepartitionRadixBits(vector> &local_hts, const idx_t max_ht_size, + const idx_t max_partition_size, const idx_t max_partition_count) { + D_ASSERT(max_partition_size + PointerTableSize(max_partition_count) > max_ht_size); - auto new_estimated_count = double(partition_count) / partition_multiplier; - auto new_estimated_size = double(partition_size) / partition_multiplier; - auto new_estimated_ht_size = new_estimated_size + PointerTableSize(new_estimated_count); + const auto max_added_bits = RadixPartitioning::MAX_RADIX_BITS - radix_bits; + idx_t added_bits = 1; + for (; added_bits < max_added_bits; added_bits++) { + double partition_multiplier = RadixPartitioning::NumberOfPartitions(added_bits); - if (config.force_external || new_estimated_ht_size <= double(max_ht_size) / 4) { - // Aim for an estimated partition size of max_ht_size / 4 - break; - } + auto new_estimated_size = double(max_partition_size) / partition_multiplier; + auto new_estimated_count = double(max_partition_count) / partition_multiplier; + auto new_estimated_ht_size = new_estimated_size + PointerTableSize(new_estimated_count); + + if (new_estimated_ht_size <= double(max_ht_size) / 4) { + // Aim for an estimated partition size of max_ht_size / 4 + break; } - radix_bits += added_bits; - sink_collection = - make_uniq(buffer_manager, layout, radix_bits, layout.ColumnCount() - 1); - return true; - } else { - return false; } + radix_bits += added_bits; + sink_collection = + make_uniq(buffer_manager, layout, radix_bits, layout.ColumnCount() - 1); } -void JoinHashTable::Partition(JoinHashTable &global_ht) { +void JoinHashTable::Repartition(JoinHashTable &global_ht) { auto new_sink_collection = make_uniq(buffer_manager, layout, global_ht.radix_bits, layout.ColumnCount() - 1); sink_collection->Repartition(*new_sink_collection); @@ -948,7 +965,7 @@ void JoinHashTable::Reset() { finalized = false; } -bool JoinHashTable::PrepareExternalFinalize() { +bool JoinHashTable::PrepareExternalFinalize(const idx_t max_ht_size) { if (finalized) { Reset(); } @@ -1047,18 +1064,8 @@ unique_ptr JoinHashTable::ProbeAndSpill(DataChunk &keys, TupleDat ProbeSpill::ProbeSpill(JoinHashTable &ht, ClientContext &context, const vector &probe_types) : ht(ht), context(context), probe_types(probe_types) { - auto remaining_count = ht.GetSinkCollection().Count(); - auto remaining_data_size = ht.GetSinkCollection().SizeInBytes(); - auto remaining_ht_size = remaining_data_size + ht.PointerTableSize(remaining_count); - if (remaining_ht_size <= ht.max_ht_size) { - // No need to partition as we will only have one more probe round - partitioned = false; - } else { - // More than one probe round to go, so we need to partition - partitioned = true; - global_partitions = - make_uniq(context, probe_types, ht.radix_bits, probe_types.size() - 1); - } + global_partitions = + make_uniq(context, probe_types, ht.radix_bits, probe_types.size() - 1); column_ids.reserve(probe_types.size()); for (column_t column_id = 0; column_id < probe_types.size(); column_id++) { column_ids.emplace_back(column_id); @@ -1068,76 +1075,46 @@ ProbeSpill::ProbeSpill(JoinHashTable &ht, ClientContext &context, const vector guard(lock); - if (partitioned) { - local_partitions.emplace_back(global_partitions->CreateShared()); - local_partition_append_states.emplace_back(make_uniq()); - local_partitions.back()->InitializeAppendState(*local_partition_append_states.back()); + local_partitions.emplace_back(global_partitions->CreateShared()); + local_partition_append_states.emplace_back(make_uniq()); + local_partitions.back()->InitializeAppendState(*local_partition_append_states.back()); - result.local_partition = local_partitions.back().get(); - result.local_partition_append_state = local_partition_append_states.back().get(); - } else { - local_spill_collections.emplace_back( - make_uniq(BufferManager::GetBufferManager(context), probe_types)); - local_spill_append_states.emplace_back(make_uniq()); - local_spill_collections.back()->InitializeAppend(*local_spill_append_states.back()); - - result.local_spill_collection = local_spill_collections.back().get(); - result.local_spill_append_state = local_spill_append_states.back().get(); - } + result.local_partition = local_partitions.back().get(); + result.local_partition_append_state = local_partition_append_states.back().get(); return result; } void ProbeSpill::Append(DataChunk &chunk, ProbeSpillLocalAppendState &local_state) { - if (partitioned) { - local_state.local_partition->Append(*local_state.local_partition_append_state, chunk); - } else { - local_state.local_spill_collection->Append(*local_state.local_spill_append_state, chunk); - } + local_state.local_partition->Append(*local_state.local_partition_append_state, chunk); } void ProbeSpill::Finalize() { - if (partitioned) { - D_ASSERT(local_partitions.size() == local_partition_append_states.size()); - for (idx_t i = 0; i < local_partition_append_states.size(); i++) { - local_partitions[i]->FlushAppendState(*local_partition_append_states[i]); - } - for (auto &local_partition : local_partitions) { - global_partitions->Combine(*local_partition); - } - local_partitions.clear(); - local_partition_append_states.clear(); - } else { - if (local_spill_collections.empty()) { - global_spill_collection = - make_uniq(BufferManager::GetBufferManager(context), probe_types); - } else { - global_spill_collection = std::move(local_spill_collections[0]); - for (idx_t i = 1; i < local_spill_collections.size(); i++) { - global_spill_collection->Combine(*local_spill_collections[i]); - } - } - local_spill_collections.clear(); - local_spill_append_states.clear(); + D_ASSERT(local_partitions.size() == local_partition_append_states.size()); + for (idx_t i = 0; i < local_partition_append_states.size(); i++) { + local_partitions[i]->FlushAppendState(*local_partition_append_states[i]); + } + for (auto &local_partition : local_partitions) { + global_partitions->Combine(*local_partition); } + local_partitions.clear(); + local_partition_append_states.clear(); } void ProbeSpill::PrepareNextProbe() { - if (partitioned) { - auto &partitions = global_partitions->GetPartitions(); - if (partitions.empty() || ht.partition_start == partitions.size()) { - // Can't probe, just make an empty one - global_spill_collection = - make_uniq(BufferManager::GetBufferManager(context), probe_types); - } else { - // Move specific partitions to the global spill collection - global_spill_collection = std::move(partitions[ht.partition_start]); - for (idx_t i = ht.partition_start + 1; i < ht.partition_end; i++) { - auto &partition = partitions[i]; - if (global_spill_collection->Count() == 0) { - global_spill_collection = std::move(partition); - } else { - global_spill_collection->Combine(*partition); - } + auto &partitions = global_partitions->GetPartitions(); + if (partitions.empty() || ht.partition_start == partitions.size()) { + // Can't probe, just make an empty one + global_spill_collection = + make_uniq(BufferManager::GetBufferManager(context), probe_types); + } else { + // Move specific partitions to the global spill collection + global_spill_collection = std::move(partitions[ht.partition_start]); + for (idx_t i = ht.partition_start + 1; i < ht.partition_end; i++) { + auto &partition = partitions[i]; + if (global_spill_collection->Count() == 0) { + global_spill_collection = std::move(partition); + } else { + global_spill_collection->Combine(*partition); } } } diff --git a/src/execution/nested_loop_join/nested_loop_join_inner.cpp b/src/execution/nested_loop_join/nested_loop_join_inner.cpp index f64943fa72f4..583c5946f8f0 100644 --- a/src/execution/nested_loop_join/nested_loop_join_inner.cpp +++ b/src/execution/nested_loop_join/nested_loop_join_inner.cpp @@ -1,4 +1,5 @@ #include "duckdb/common/operator/comparison_operators.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/execution/nested_loop_join.hpp" namespace duckdb { @@ -108,6 +109,9 @@ static idx_t NestedLoopJoinTypeSwitch(Vector &left, Vector &right, idx_t left_si case PhysicalType::INT128: return NLTYPE::template Operation(left, right, left_size, right_size, lpos, rpos, lvector, rvector, current_match_count); + case PhysicalType::UINT128: + return NLTYPE::template Operation(left, right, left_size, right_size, lpos, rpos, lvector, + rvector, current_match_count); case PhysicalType::FLOAT: return NLTYPE::template Operation(left, right, left_size, right_size, lpos, rpos, lvector, rvector, current_match_count); diff --git a/src/execution/nested_loop_join/nested_loop_join_mark.cpp b/src/execution/nested_loop_join/nested_loop_join_mark.cpp index 853037e50655..15977ac18b64 100644 --- a/src/execution/nested_loop_join/nested_loop_join_mark.cpp +++ b/src/execution/nested_loop_join/nested_loop_join_mark.cpp @@ -1,4 +1,5 @@ #include "duckdb/common/operator/comparison_operators.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/execution/nested_loop_join.hpp" @@ -103,6 +104,8 @@ static void MarkJoinSwitch(Vector &left, Vector &right, idx_t lcount, idx_t rcou return TemplatedMarkJoin(left, right, lcount, rcount, found_match); case PhysicalType::UINT64: return TemplatedMarkJoin(left, right, lcount, rcount, found_match); + case PhysicalType::UINT128: + return TemplatedMarkJoin(left, right, lcount, rcount, found_match); case PhysicalType::FLOAT: return TemplatedMarkJoin(left, right, lcount, rcount, found_match); case PhysicalType::DOUBLE: @@ -119,6 +122,7 @@ static void MarkJoinComparisonSwitch(Vector &left, Vector &right, idx_t lcount, switch (left.GetType().InternalType()) { case PhysicalType::STRUCT: case PhysicalType::LIST: + case PhysicalType::ARRAY: return MarkJoinNested(left, right, lcount, rcount, found_match, comparison_type); default: break; diff --git a/src/execution/operator/aggregate/aggregate_object.cpp b/src/execution/operator/aggregate/aggregate_object.cpp index b2ef947824ef..43c6dce93526 100644 --- a/src/execution/operator/aggregate/aggregate_object.cpp +++ b/src/execution/operator/aggregate/aggregate_object.cpp @@ -22,7 +22,8 @@ AggregateObject::AggregateObject(BoundAggregateExpression *aggr) AggregateObject::AggregateObject(BoundWindowExpression &window) : AggregateObject(*window.aggregate, window.bind_info.get(), window.children.size(), - AlignValue(window.aggregate->state_size()), AggregateType::NON_DISTINCT, + AlignValue(window.aggregate->state_size()), + window.distinct ? AggregateType::DISTINCT : AggregateType::NON_DISTINCT, window.return_type.InternalType(), window.filter_expr.get()) { } diff --git a/src/execution/operator/aggregate/physical_hash_aggregate.cpp b/src/execution/operator/aggregate/physical_hash_aggregate.cpp index 8561c5fb1828..f1cc27a01df4 100644 --- a/src/execution/operator/aggregate/physical_hash_aggregate.cpp +++ b/src/execution/operator/aggregate/physical_hash_aggregate.cpp @@ -2,6 +2,7 @@ #include "duckdb/catalog/catalog_entry/aggregate_function_catalog_entry.hpp" #include "duckdb/common/atomic.hpp" +#include "duckdb/common/optional_idx.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/execution/aggregate_hashtable.hpp" #include "duckdb/execution/operator/aggregate/distinct_aggregate_data.hpp" @@ -521,7 +522,7 @@ class HashAggregateDistinctFinalizeEvent : public BasePipelineEvent { void FinishEvent() override; private: - void CreateGlobalSources(); + idx_t CreateGlobalSources(); private: ClientContext &context; @@ -545,7 +546,7 @@ class HashAggregateDistinctFinalizeTask : public ExecutorTask { TaskExecutionResult ExecuteTask(TaskExecutionMode mode) override; private: - void AggregateDistinctGrouping(const idx_t grouping_idx); + TaskExecutionResult AggregateDistinctGrouping(const idx_t grouping_idx); private: Pipeline &pipeline; @@ -553,24 +554,34 @@ class HashAggregateDistinctFinalizeTask : public ExecutorTask { const PhysicalHashAggregate &op; HashAggregateGlobalSinkState &gstate; + + unique_ptr local_sink_state; + idx_t grouping_idx = 0; + unique_ptr radix_table_lstate; + bool blocked = false; + idx_t aggregation_idx = 0; + idx_t payload_idx = 0; + idx_t next_payload_idx = 0; }; void HashAggregateDistinctFinalizeEvent::Schedule() { - CreateGlobalSources(); - - const idx_t n_threads = TaskScheduler::GetScheduler(context).NumberOfThreads(); + auto n_tasks = CreateGlobalSources(); + n_tasks = MinValue(n_tasks, TaskScheduler::GetScheduler(context).NumberOfThreads()); vector> tasks; - for (idx_t i = 0; i < n_threads; i++) { + for (idx_t i = 0; i < n_tasks; i++) { tasks.push_back(make_uniq(*pipeline, shared_from_this(), op, gstate)); } SetTasks(std::move(tasks)); } -void HashAggregateDistinctFinalizeEvent::CreateGlobalSources() { +idx_t HashAggregateDistinctFinalizeEvent::CreateGlobalSources() { auto &aggregates = op.grouped_aggregate_data.aggregates; global_source_states.reserve(op.groupings.size()); + + idx_t n_tasks = 0; for (idx_t grouping_idx = 0; grouping_idx < op.groupings.size(); grouping_idx++) { auto &grouping = op.groupings[grouping_idx]; + auto &distinct_state = *gstate.grouping_states[grouping_idx].distinct_state; auto &distinct_data = *grouping.distinct_data; vector> aggregate_sources; @@ -587,10 +598,13 @@ void HashAggregateDistinctFinalizeEvent::CreateGlobalSources() { auto table_idx = distinct_data.info.table_map.at(agg_idx); auto &radix_table_p = distinct_data.radix_tables[table_idx]; + n_tasks += radix_table_p->MaxThreads(*distinct_state.radix_states[table_idx]); aggregate_sources.push_back(radix_table_p->GetGlobalSourceState(context)); } global_source_states.push_back(std::move(aggregate_sources)); } + + return MaxValue(n_tasks, 1); } void HashAggregateDistinctFinalizeEvent::FinishEvent() { @@ -600,14 +614,22 @@ void HashAggregateDistinctFinalizeEvent::FinishEvent() { } TaskExecutionResult HashAggregateDistinctFinalizeTask::ExecuteTask(TaskExecutionMode mode) { - for (idx_t grouping_idx = 0; grouping_idx < op.groupings.size(); grouping_idx++) { - AggregateDistinctGrouping(grouping_idx); + for (; grouping_idx < op.groupings.size(); grouping_idx++) { + auto res = AggregateDistinctGrouping(grouping_idx); + if (res == TaskExecutionResult::TASK_BLOCKED) { + return res; + } + D_ASSERT(res == TaskExecutionResult::TASK_FINISHED); + aggregation_idx = 0; + payload_idx = 0; + next_payload_idx = 0; + local_sink_state = nullptr; } event->FinishTask(); return TaskExecutionResult::TASK_FINISHED; } -void HashAggregateDistinctFinalizeTask::AggregateDistinctGrouping(const idx_t grouping_idx) { +TaskExecutionResult HashAggregateDistinctFinalizeTask::AggregateDistinctGrouping(const idx_t grouping_idx) { D_ASSERT(op.distinct_collection_info); auto &info = *op.distinct_collection_info; @@ -624,9 +646,11 @@ void HashAggregateDistinctFinalizeTask::AggregateDistinctGrouping(const idx_t gr ExecutionContext execution_context(executor.context, thread_context, &pipeline); // Sink state to sink into global HTs - InterruptState interrupt_state; + InterruptState interrupt_state(shared_from_this()); auto &global_sink_state = *grouping_state.table_state; - auto local_sink_state = grouping_data.table_data.GetLocalSinkState(execution_context); + if (!local_sink_state) { + local_sink_state = grouping_data.table_data.GetLocalSinkState(execution_context); + } OperatorSinkInput sink_input {global_sink_state, *local_sink_state, interrupt_state}; // Create a chunk that mimics the 'input' chunk in Sink, for storing the group vectors @@ -635,24 +659,24 @@ void HashAggregateDistinctFinalizeTask::AggregateDistinctGrouping(const idx_t gr group_chunk.Initialize(executor.context, op.input_group_types); } - auto &groups = op.grouped_aggregate_data.groups; - const idx_t group_by_size = groups.size(); + const idx_t group_by_size = op.grouped_aggregate_data.groups.size(); DataChunk aggregate_input_chunk; if (!gstate.payload_types.empty()) { aggregate_input_chunk.Initialize(executor.context, gstate.payload_types); } - auto &finalize_event = event->Cast(); + const auto &finalize_event = event->Cast(); - idx_t payload_idx; - idx_t next_payload_idx = 0; - for (idx_t agg_idx = 0; agg_idx < op.grouped_aggregate_data.aggregates.size(); agg_idx++) { + auto &agg_idx = aggregation_idx; + for (; agg_idx < op.grouped_aggregate_data.aggregates.size(); agg_idx++) { auto &aggregate = aggregates[agg_idx]->Cast(); - // Forward the payload idx - payload_idx = next_payload_idx; - next_payload_idx = payload_idx + aggregate.children.size(); + if (!blocked) { + // Forward the payload idx + payload_idx = next_payload_idx; + next_payload_idx = payload_idx + aggregate.children.size(); + } // If aggregate is not distinct, skip it if (!distinct_data.IsDistinct(agg_idx)) { @@ -664,8 +688,11 @@ void HashAggregateDistinctFinalizeTask::AggregateDistinctGrouping(const idx_t gr auto &radix_table = distinct_data.radix_tables[table_idx]; auto &sink = *distinct_state.radix_states[table_idx]; - auto local_source = radix_table->GetLocalSourceState(execution_context); - OperatorSourceInput source_input {*finalize_event.global_source_states[grouping_idx][agg_idx], *local_source, + if (!blocked) { + radix_table_lstate = radix_table->GetLocalSourceState(execution_context); + } + auto &local_source = *radix_table_lstate; + OperatorSourceInput source_input {*finalize_event.global_source_states[grouping_idx][agg_idx], local_source, interrupt_state}; // Create a duplicate of the output_chunk, because of multi-threading we cant alter the original @@ -683,8 +710,8 @@ void HashAggregateDistinctFinalizeTask::AggregateDistinctGrouping(const idx_t gr D_ASSERT(output_chunk.size() == 0); break; } else if (res == SourceResultType::BLOCKED) { - throw InternalException( - "Unexpected interrupt from radix table GetData in HashAggregateDistinctFinalizeTask"); + blocked = true; + return TaskExecutionResult::TASK_BLOCKED; } auto &grouped_aggregate_data = *distinct_data.grouped_aggregate_data[table_idx]; @@ -704,8 +731,10 @@ void HashAggregateDistinctFinalizeTask::AggregateDistinctGrouping(const idx_t gr // Sink it into the main ht grouping_data.table_data.Sink(execution_context, group_chunk, sink_input, aggregate_input_chunk, {agg_idx}); } + blocked = false; } grouping_data.table_data.Combine(execution_context, global_sink_state, *local_sink_state); + return TaskExecutionResult::TASK_FINISHED; } SinkFinalizeType PhysicalHashAggregate::FinalizeDistinct(Pipeline &pipeline, Event &event, ClientContext &context, @@ -782,13 +811,13 @@ class HashAggregateGlobalSourceState : public GlobalSourceState { } auto &ht_state = op.sink_state->Cast(); - idx_t partitions = 0; + idx_t threads = 0; for (size_t sidx = 0; sidx < op.groupings.size(); ++sidx) { auto &grouping = op.groupings[sidx]; auto &grouping_gstate = ht_state.grouping_states[sidx]; - partitions += grouping.table_data.NumberOfPartitions(*grouping_gstate.table_state); + threads += grouping.table_data.MaxThreads(*grouping_gstate.table_state); } - return MaxValue(1, partitions); + return MaxValue(1, threads); } }; @@ -805,6 +834,7 @@ class HashAggregateLocalSourceState : public LocalSourceState { } } + optional_idx radix_idx; vector> radix_states; }; @@ -819,37 +849,53 @@ SourceResultType PhysicalHashAggregate::GetData(ExecutionContext &context, DataC auto &gstate = input.global_state.Cast(); auto &lstate = input.local_state.Cast(); while (true) { - idx_t radix_idx = gstate.state_index; + if (!lstate.radix_idx.IsValid()) { + lstate.radix_idx = gstate.state_index.load(); + } + const auto radix_idx = lstate.radix_idx.GetIndex(); if (radix_idx >= groupings.size()) { break; } + auto &grouping = groupings[radix_idx]; auto &radix_table = grouping.table_data; auto &grouping_gstate = sink_gstate.grouping_states[radix_idx]; - InterruptState interrupt_state; OperatorSourceInput source_input {*gstate.radix_states[radix_idx], *lstate.radix_states[radix_idx], - interrupt_state}; + input.interrupt_state}; auto res = radix_table.GetData(context, chunk, *grouping_gstate.table_state, source_input); + if (res == SourceResultType::BLOCKED) { + return res; + } if (chunk.size() != 0) { return SourceResultType::HAVE_MORE_OUTPUT; - } else if (res == SourceResultType::BLOCKED) { - throw InternalException("Unexpectedly Blocked from radix_table"); } // move to the next table lock_guard l(gstate.lock); - radix_idx++; - if (radix_idx > gstate.state_index) { + lstate.radix_idx = lstate.radix_idx.GetIndex() + 1; + if (lstate.radix_idx.GetIndex() > gstate.state_index) { // we have not yet worked on the table // move the global index forwards - gstate.state_index = radix_idx; + gstate.state_index = lstate.radix_idx.GetIndex(); } + lstate.radix_idx = gstate.state_index.load(); } return chunk.size() == 0 ? SourceResultType::FINISHED : SourceResultType::HAVE_MORE_OUTPUT; } +double PhysicalHashAggregate::GetProgress(ClientContext &context, GlobalSourceState &gstate_p) const { + auto &sink_gstate = sink_state->Cast(); + auto &gstate = gstate_p.Cast(); + double total_progress = 0; + for (idx_t radix_idx = 0; radix_idx < groupings.size(); radix_idx++) { + total_progress += groupings[radix_idx].table_data.GetProgress( + context, *sink_gstate.grouping_states[radix_idx].table_state, *gstate.radix_states[radix_idx]); + } + return total_progress / double(groupings.size()); +} + string PhysicalHashAggregate::ParamsToString() const { string result; auto &groups = grouped_aggregate_data.groups; diff --git a/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp b/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp index 8db0ede314cc..2401e99c854f 100644 --- a/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +++ b/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp @@ -85,29 +85,41 @@ struct AggregateState { class UngroupedAggregateGlobalSinkState : public GlobalSinkState { public: UngroupedAggregateGlobalSinkState(const PhysicalUngroupedAggregate &op, ClientContext &client) - : state(op.aggregates), finished(false), allocator(BufferAllocator::Get(client)) { + : state(op.aggregates), finished(false), client_allocator(BufferAllocator::Get(client)), + allocator(client_allocator) { if (op.distinct_data) { distinct_state = make_uniq(*op.distinct_data, client); } } + //! Create an ArenaAllocator with cross-thread lifetime + ArenaAllocator &CreateAllocator() const { + lock_guard glock(lock); + stored_allocators.emplace_back(make_uniq(client_allocator)); + return *stored_allocators.back(); + } + //! The lock for updating the global aggregate state - mutex lock; + mutable mutex lock; //! The global aggregate state AggregateState state; //! Whether or not the aggregate is finished bool finished; //! The data related to the distinct aggregates (if there are any) unique_ptr distinct_state; + //! Client base allocator + Allocator &client_allocator; //! Global arena allocator ArenaAllocator allocator; + //! Allocator pool + mutable vector> stored_allocators; }; class UngroupedAggregateLocalSinkState : public LocalSinkState { public: UngroupedAggregateLocalSinkState(const PhysicalUngroupedAggregate &op, const vector &child_types, - GlobalSinkState &gstate_p, ExecutionContext &context) - : allocator(BufferAllocator::Get(context.client)), state(op.aggregates), child_executor(context.client), + UngroupedAggregateGlobalSinkState &gstate_p, ExecutionContext &context) + : allocator(gstate_p.CreateAllocator()), state(op.aggregates), child_executor(context.client), aggregate_input_chunk(), filter_set() { auto &gstate = gstate_p.Cast(); @@ -133,7 +145,7 @@ class UngroupedAggregateLocalSinkState : public LocalSinkState { } //! Local arena allocator - ArenaAllocator allocator; + ArenaAllocator &allocator; //! The local aggregate state AggregateState state; //! The executor @@ -192,7 +204,7 @@ unique_ptr PhysicalUngroupedAggregate::GetGlobalSinkState(Clien unique_ptr PhysicalUngroupedAggregate::GetLocalSinkState(ExecutionContext &context) const { D_ASSERT(sink_state); - auto &gstate = *sink_state; + auto &gstate = sink_state->Cast(); return make_uniq(*this, children[0]->GetTypes(), gstate, context); } @@ -342,13 +354,13 @@ SinkCombineResultType PhysicalUngroupedAggregate::Combine(ExecutionContext &cont Vector source_state(Value::POINTER(CastPointerToValue(lstate.state.aggregates[aggr_idx].get()))); Vector dest_state(Value::POINTER(CastPointerToValue(gstate.state.aggregates[aggr_idx].get()))); - AggregateInputData aggr_input_data(aggregate.bind_info.get(), gstate.allocator); + AggregateInputData aggr_input_data(aggregate.bind_info.get(), gstate.allocator, + AggregateCombineType::ALLOW_DESTRUCTIVE); aggregate.function.combine(source_state, dest_state, aggr_input_data, 1); #ifdef DEBUG gstate.state.counts[aggr_idx] += lstate.state.counts[aggr_idx]; #endif } - lstate.allocator.Destroy(); auto &client_profiler = QueryProfiler::Get(context.client); context.thread.profiler.Flush(*this, lstate.child_executor, "child_executor", 0); @@ -391,13 +403,13 @@ class UngroupedDistinctAggregateFinalizeTask : public ExecutorTask { const PhysicalUngroupedAggregate &op, UngroupedAggregateGlobalSinkState &state_p) : ExecutorTask(executor), event(std::move(event_p)), op(op), gstate(state_p), - allocator(BufferAllocator::Get(executor.context)) { + allocator(gstate.CreateAllocator()), aggregate_state(op.aggregates) { } TaskExecutionResult ExecuteTask(TaskExecutionMode mode) override; private: - void AggregateDistinct(); + TaskExecutionResult AggregateDistinct(); private: shared_ptr event; @@ -405,7 +417,13 @@ class UngroupedDistinctAggregateFinalizeTask : public ExecutorTask { const PhysicalUngroupedAggregate &op; UngroupedAggregateGlobalSinkState &gstate; - ArenaAllocator allocator; + ArenaAllocator &allocator; + + // Distinct aggregation state + AggregateState aggregate_state; + idx_t aggregation_idx = 0; + unique_ptr radix_table_lstate; + bool blocked = false; }; void UngroupedDistinctAggregateFinalizeEvent::Schedule() { @@ -413,6 +431,7 @@ void UngroupedDistinctAggregateFinalizeEvent::Schedule() { auto &aggregates = op.aggregates; auto &distinct_data = *op.distinct_data; + idx_t n_tasks = 0; idx_t payload_idx = 0; idx_t next_payload_idx = 0; for (idx_t agg_idx = 0; agg_idx < aggregates.size(); agg_idx++) { @@ -432,12 +451,14 @@ void UngroupedDistinctAggregateFinalizeEvent::Schedule() { // Create global state for scanning auto table_idx = distinct_data.info.table_map.at(agg_idx); auto &radix_table_p = *distinct_data.radix_tables[table_idx]; + n_tasks += radix_table_p.MaxThreads(*gstate.distinct_state->radix_states[table_idx]); global_source_states.push_back(radix_table_p.GetGlobalSourceState(context)); } + n_tasks = MaxValue(n_tasks, 1); + n_tasks = MinValue(n_tasks, TaskScheduler::GetScheduler(context).NumberOfThreads()); - const idx_t n_threads = TaskScheduler::GetScheduler(context).NumberOfThreads(); vector> tasks; - for (idx_t i = 0; i < n_threads; i++) { + for (idx_t i = 0; i < n_tasks; i++) { tasks.push_back( make_uniq(pipeline->executor, shared_from_this(), op, gstate)); tasks_scheduled++; @@ -446,19 +467,21 @@ void UngroupedDistinctAggregateFinalizeEvent::Schedule() { } TaskExecutionResult UngroupedDistinctAggregateFinalizeTask::ExecuteTask(TaskExecutionMode mode) { - AggregateDistinct(); + auto res = AggregateDistinct(); + if (res == TaskExecutionResult::TASK_BLOCKED) { + return res; + } event->FinishTask(); return TaskExecutionResult::TASK_FINISHED; } -void UngroupedDistinctAggregateFinalizeTask::AggregateDistinct() { +TaskExecutionResult UngroupedDistinctAggregateFinalizeTask::AggregateDistinct() { D_ASSERT(gstate.distinct_state); auto &distinct_state = *gstate.distinct_state; auto &distinct_data = *op.distinct_data; - // Create thread-local copy of aggregate state auto &aggregates = op.aggregates; - AggregateState state(aggregates); + auto &state = aggregate_state; // Thread-local contexts ThreadContext thread_context(executor.context); @@ -467,14 +490,12 @@ void UngroupedDistinctAggregateFinalizeTask::AggregateDistinct() { auto &finalize_event = event->Cast(); // Now loop through the distinct aggregates, scanning the distinct HTs - idx_t payload_idx = 0; - idx_t next_payload_idx = 0; - for (idx_t agg_idx = 0; agg_idx < aggregates.size(); agg_idx++) { - auto &aggregate = aggregates[agg_idx]->Cast(); - // Forward the payload idx - payload_idx = next_payload_idx; - next_payload_idx = payload_idx + aggregate.children.size(); + // This needs to be preserved in case the radix_table.GetData blocks + auto &agg_idx = aggregation_idx; + + for (; agg_idx < aggregates.size(); agg_idx++) { + auto &aggregate = aggregates[agg_idx]->Cast(); // If aggregate is not distinct, skip it if (!distinct_data.IsDistinct(agg_idx)) { @@ -483,11 +504,15 @@ void UngroupedDistinctAggregateFinalizeTask::AggregateDistinct() { const auto table_idx = distinct_data.info.table_map.at(agg_idx); auto &radix_table = *distinct_data.radix_tables[table_idx]; - auto lstate = radix_table.GetLocalSourceState(execution_context); + if (!blocked) { + // Because we can block, we need to make sure we preserve this state + radix_table_lstate = radix_table.GetLocalSourceState(execution_context); + } + auto &lstate = *radix_table_lstate; auto &sink = *distinct_state.radix_states[table_idx]; - InterruptState interrupt_state; - OperatorSourceInput source_input {*finalize_event.global_source_states[agg_idx], *lstate, interrupt_state}; + InterruptState interrupt_state(shared_from_this()); + OperatorSourceInput source_input {*finalize_event.global_source_states[agg_idx], lstate, interrupt_state}; DataChunk output_chunk; output_chunk.Initialize(executor.context, distinct_state.distinct_output_chunks[table_idx]->GetTypes()); @@ -505,8 +530,8 @@ void UngroupedDistinctAggregateFinalizeTask::AggregateDistinct() { D_ASSERT(output_chunk.size() == 0); break; } else if (res == SourceResultType::BLOCKED) { - throw InternalException( - "Unexpected interrupt from radix table GetData in UngroupedDistinctAggregateFinalizeTask"); + blocked = true; + return TaskExecutionResult::TASK_BLOCKED; } // We dont need to resolve the filter, we already did this in Sink @@ -525,19 +550,19 @@ void UngroupedDistinctAggregateFinalizeTask::AggregateDistinct() { aggregate.function.simple_update(start_of_input, aggr_input_data, payload_cnt, state.aggregates[agg_idx].get(), payload_chunk.size()); } + blocked = false; } // After scanning the distinct HTs, we can combine the thread-local agg states with the thread-global lock_guard guard(finalize_event.lock); - payload_idx = 0; - next_payload_idx = 0; for (idx_t agg_idx = 0; agg_idx < aggregates.size(); agg_idx++) { if (!distinct_data.IsDistinct(agg_idx)) { continue; } auto &aggregate = aggregates[agg_idx]->Cast(); - AggregateInputData aggr_input_data(aggregate.bind_info.get(), allocator); + AggregateInputData aggr_input_data(aggregate.bind_info.get(), allocator, + AggregateCombineType::ALLOW_DESTRUCTIVE); Vector state_vec(Value::POINTER(CastPointerToValue(state.aggregates[agg_idx].get()))); Vector combined_vec(Value::POINTER(CastPointerToValue(gstate.state.aggregates[agg_idx].get()))); @@ -548,6 +573,7 @@ void UngroupedDistinctAggregateFinalizeTask::AggregateDistinct() { if (++finalize_event.tasks_done == finalize_event.tasks_scheduled) { gstate.finished = true; } + return TaskExecutionResult::TASK_FINISHED; } SinkFinalizeType PhysicalUngroupedAggregate::FinalizeDistinct(Pipeline &pipeline, Event &event, ClientContext &context, diff --git a/src/execution/operator/aggregate/physical_window.cpp b/src/execution/operator/aggregate/physical_window.cpp index 1b7d039fd272..bcfe0a56bd3b 100644 --- a/src/execution/operator/aggregate/physical_window.cpp +++ b/src/execution/operator/aggregate/physical_window.cpp @@ -8,9 +8,10 @@ #include "duckdb/common/radix_partitioning.hpp" #include "duckdb/common/row_operations/row_operations.hpp" #include "duckdb/common/sort/partition_state.hpp" -#include "duckdb/common/types/chunk_collection.hpp" + #include "duckdb/common/types/column/column_data_consumer.hpp" #include "duckdb/common/types/row/row_data_collection_scanner.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/common/windows_undefs.hpp" #include "duckdb/execution/expression_executor.hpp" @@ -34,8 +35,8 @@ class WindowGlobalSinkState : public GlobalSinkState { WindowGlobalSinkState(const PhysicalWindow &op, ClientContext &context) : op(op), mode(DBConfig::GetConfig(context).options.window_mode) { - D_ASSERT(op.select_list[0]->GetExpressionClass() == ExpressionClass::BOUND_WINDOW); - auto &wexpr = op.select_list[0]->Cast(); + D_ASSERT(op.select_list[op.order_idx]->GetExpressionClass() == ExpressionClass::BOUND_WINDOW); + auto &wexpr = op.select_list[op.order_idx]->Cast(); global_partition = make_uniq(context, wexpr.partitions, wexpr.orders, op.children[0]->types, @@ -68,14 +69,22 @@ class WindowLocalSinkState : public LocalSinkState { // this implements a sorted window functions variant PhysicalWindow::PhysicalWindow(vector types, vector> select_list_p, idx_t estimated_cardinality, PhysicalOperatorType type) - : PhysicalOperator(type, std::move(types), estimated_cardinality), select_list(std::move(select_list_p)) { - is_order_dependent = false; - for (auto &expr : select_list) { + : PhysicalOperator(type, std::move(types), estimated_cardinality), select_list(std::move(select_list_p)), + order_idx(0), is_order_dependent(false) { + + idx_t max_orders = 0; + for (idx_t i = 0; i < select_list.size(); ++i) { + auto &expr = select_list[i]; D_ASSERT(expr->expression_class == ExpressionClass::BOUND_WINDOW); auto &bound_window = expr->Cast(); if (bound_window.partitions.empty() && bound_window.orders.empty()) { is_order_dependent = true; } + + if (bound_window.orders.size() > max_orders) { + order_idx = i; + max_orders = bound_window.orders.size(); + } } } @@ -247,6 +256,7 @@ class WindowPartitionSourceState { using HashGroupPtr = unique_ptr; using ExecutorPtr = unique_ptr; using Executors = vector; + using OrderMasks = PartitionGlobalHashGroup::OrderMasks; WindowPartitionSourceState(ClientContext &context, WindowGlobalSourceState &gsource) : context(context), op(gsource.gsink.op), gsource(gsource), read_block_idx(0), unscanned(0) { @@ -267,11 +277,9 @@ class WindowPartitionSourceState { unique_ptr heap; RowLayout layout; //! The partition boundary mask - vector partition_bits; ValidityMask partition_mask; //! The order boundary mask - vector order_bits; - ValidityMask order_mask; + OrderMasks order_masks; //! External paging bool external; //! The current execution functions @@ -360,21 +368,28 @@ void WindowPartitionSourceState::BuildPartition(WindowGlobalSinkState &gstate, c } // Initialise masks to false - const auto bit_count = ValidityMask::ValidityMaskSize(count); - partition_bits.clear(); - partition_bits.resize(bit_count, 0); - partition_mask.Initialize(partition_bits.data()); + partition_mask.Initialize(count); + partition_mask.SetAllInvalid(count); - order_bits.clear(); - order_bits.resize(bit_count, 0); - order_mask.Initialize(order_bits.data()); + for (idx_t expr_idx = 0; expr_idx < op.select_list.size(); ++expr_idx) { + D_ASSERT(op.select_list[expr_idx]->GetExpressionClass() == ExpressionClass::BOUND_WINDOW); + auto &wexpr = op.select_list[expr_idx]->Cast(); + auto &order_mask = order_masks[wexpr.partitions.size() + wexpr.orders.size()]; + if (order_mask.IsMaskSet()) { + continue; + } + order_mask.Initialize(count); + order_mask.SetAllInvalid(count); + } // Scan the sorted data into new Collections external = gpart.external; if (gpart.rows && !hash_bin) { // Simple mask partition_mask.SetValidUnsafe(0); - order_mask.SetValidUnsafe(0); + for (auto &order_mask : order_masks) { + order_mask.second.SetValidUnsafe(0); + } // No partition - align the heap blocks with the row blocks rows = gpart.rows->CloneEmpty(gpart.rows->keep_pinned); heap = gpart.strings->CloneEmpty(gpart.strings->keep_pinned); @@ -384,7 +399,7 @@ void WindowPartitionSourceState::BuildPartition(WindowGlobalSinkState &gstate, c // Overwrite the collections with the sorted data D_ASSERT(gpart.hash_groups[hash_bin].get()); hash_group = std::move(gpart.hash_groups[hash_bin]); - hash_group->ComputeMasks(partition_mask, order_mask); + hash_group->ComputeMasks(partition_mask, order_masks); external = hash_group->global_sort->external; MaterializeSortedData(); } else { @@ -396,6 +411,7 @@ void WindowPartitionSourceState::BuildPartition(WindowGlobalSinkState &gstate, c for (idx_t expr_idx = 0; expr_idx < op.select_list.size(); ++expr_idx) { D_ASSERT(op.select_list[expr_idx]->GetExpressionClass() == ExpressionClass::BOUND_WINDOW); auto &wexpr = op.select_list[expr_idx]->Cast(); + auto &order_mask = order_masks[wexpr.partitions.size() + wexpr.orders.size()]; auto wexec = WindowExecutorFactory(wexpr, context, partition_mask, order_mask, count, gstate.mode); executors.emplace_back(std::move(wexec)); } @@ -657,7 +673,7 @@ unique_ptr PhysicalWindow::GetGlobalSourceState(ClientContext bool PhysicalWindow::SupportsBatchIndex() const { // We can only preserve order for single partitioning // or work stealing causes out of order batch numbers - auto &wexpr = select_list[0]->Cast(); + auto &wexpr = select_list[order_idx]->Cast(); return wexpr.partitions.empty() && !wexpr.orders.empty(); } diff --git a/src/execution/operator/csv_scanner/CMakeLists.txt b/src/execution/operator/csv_scanner/CMakeLists.txt index 7eee35be5d6b..bcac4dd7e360 100644 --- a/src/execution/operator/csv_scanner/CMakeLists.txt +++ b/src/execution/operator/csv_scanner/CMakeLists.txt @@ -1,17 +1,10 @@ +add_subdirectory(buffer_manager) +add_subdirectory(scanner) add_subdirectory(sniffer) +add_subdirectory(state_machine) +add_subdirectory(table_function) +add_subdirectory(util) -add_library_unity( - duckdb_operator_csv_scanner - OBJECT - base_csv_reader.cpp - buffered_csv_reader.cpp - csv_buffer.cpp - csv_buffer_manager.cpp - csv_file_handle.cpp - csv_reader_options.cpp - csv_state_machine.cpp - csv_state_machine_cache.cpp - parallel_csv_reader.cpp) set(ALL_OBJECT_FILES - ${ALL_OBJECT_FILES} $ + ${ALL_OBJECT_FILES} PARENT_SCOPE) diff --git a/src/execution/operator/csv_scanner/base_csv_reader.cpp b/src/execution/operator/csv_scanner/base_csv_reader.cpp deleted file mode 100644 index a1c3e57baba4..000000000000 --- a/src/execution/operator/csv_scanner/base_csv_reader.cpp +++ /dev/null @@ -1,595 +0,0 @@ -#include "duckdb/execution/operator/scan/csv/base_csv_reader.hpp" - -#include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" -#include "duckdb/common/file_system.hpp" -#include "duckdb/common/string_util.hpp" -#include "duckdb/common/to_string.hpp" -#include "duckdb/common/types/cast_helpers.hpp" -#include "duckdb/common/operator/cast_operators.hpp" -#include "duckdb/common/operator/decimal_cast_operators.hpp" -#include "duckdb/common/vector_operations/unary_executor.hpp" -#include "duckdb/common/vector_operations/vector_operations.hpp" -#include "duckdb/function/scalar/strftime_format.hpp" -#include "duckdb/main/appender.hpp" -#include "duckdb/main/database.hpp" -#include "duckdb/parser/column_definition.hpp" -#include "duckdb/storage/data_table.hpp" -#include "utf8proc_wrapper.hpp" -#include "utf8proc.hpp" -#include "duckdb/parser/keyword_helper.hpp" -#include "duckdb/main/error_manager.hpp" -#include "duckdb/execution/operator/scan/csv/parallel_csv_reader.hpp" -#include "duckdb/execution/operator/persistent/csv_rejects_table.hpp" -#include "duckdb/main/client_data.hpp" -#include -#include -#include -#include - -namespace duckdb { - -string BaseCSVReader::GetLineNumberStr(idx_t line_error, bool is_line_estimated, idx_t buffer_idx) { - // If an error happens during auto-detect it is an estimated line - string estimated = (is_line_estimated ? string(" (estimated)") : string("")); - return to_string(GetLineError(line_error, buffer_idx)) + estimated; -} - -BaseCSVReader::BaseCSVReader(ClientContext &context_p, CSVReaderOptions options_p, - const vector &requested_types) - : context(context_p), fs(FileSystem::GetFileSystem(context)), allocator(BufferAllocator::Get(context)), - options(std::move(options_p)) { -} - -BaseCSVReader::~BaseCSVReader() { -} - -unique_ptr BaseCSVReader::OpenCSV(ClientContext &context, const CSVReaderOptions &options_p) { - return CSVFileHandle::OpenFile(FileSystem::GetFileSystem(context), BufferAllocator::Get(context), - options_p.file_path, options_p.compression); -} - -void BaseCSVReader::InitParseChunk(idx_t num_cols) { - // adapt not null info - if (options.force_not_null.size() != num_cols) { - options.force_not_null.resize(num_cols, false); - } - if (num_cols == parse_chunk.ColumnCount()) { - parse_chunk.Reset(); - } else { - parse_chunk.Destroy(); - - // initialize the parse_chunk with a set of VARCHAR types - vector varchar_types(num_cols, LogicalType::VARCHAR); - parse_chunk.Initialize(allocator, varchar_types); - } -} - -void BaseCSVReader::InitializeProjection() { - for (idx_t i = 0; i < GetTypes().size(); i++) { - reader_data.column_ids.push_back(i); - reader_data.column_mapping.push_back(i); - } -} - -template -static bool TemplatedTryCastDateVector(map &options, Vector &input_vector, - Vector &result_vector, idx_t count, string &error_message, idx_t &line_error) { - D_ASSERT(input_vector.GetType().id() == LogicalTypeId::VARCHAR); - bool all_converted = true; - idx_t cur_line = 0; - UnaryExecutor::Execute(input_vector, result_vector, count, [&](string_t input) { - T result; - if (!OP::Operation(options, input, result, error_message)) { - line_error = cur_line; - all_converted = false; - } - cur_line++; - return result; - }); - return all_converted; -} - -struct TryCastDateOperator { - static bool Operation(map &options, string_t input, date_t &result, - string &error_message) { - return options[LogicalTypeId::DATE].TryParseDate(input, result, error_message); - } -}; - -struct TryCastTimestampOperator { - static bool Operation(map &options, string_t input, timestamp_t &result, - string &error_message) { - return options[LogicalTypeId::TIMESTAMP].TryParseTimestamp(input, result, error_message); - } -}; - -bool BaseCSVReader::TryCastDateVector(map &options, Vector &input_vector, - Vector &result_vector, idx_t count, string &error_message, idx_t &line_error) { - return TemplatedTryCastDateVector(options, input_vector, result_vector, count, - error_message, line_error); -} - -bool BaseCSVReader::TryCastTimestampVector(map &options, Vector &input_vector, - Vector &result_vector, idx_t count, string &error_message) { - idx_t line_error; - return TemplatedTryCastDateVector(options, input_vector, result_vector, - count, error_message, line_error); -} - -void BaseCSVReader::VerifyLineLength(idx_t line_size, idx_t buffer_idx) { - if (line_size > options.maximum_line_size) { - throw InvalidInputException( - "Error in file \"%s\" on line %s: Maximum line size of %llu bytes exceeded!", options.file_path, - GetLineNumberStr(parse_chunk.size(), linenr_estimated, buffer_idx).c_str(), options.maximum_line_size); - } -} - -template -bool TemplatedTryCastFloatingVector(CSVReaderOptions &options, Vector &input_vector, Vector &result_vector, idx_t count, - string &error_message, idx_t &line_error) { - D_ASSERT(input_vector.GetType().id() == LogicalTypeId::VARCHAR); - bool all_converted = true; - idx_t row = 0; - UnaryExecutor::Execute(input_vector, result_vector, count, [&](string_t input) { - T result; - if (!OP::Operation(input, result, &error_message)) { - line_error = row; - all_converted = false; - } else { - row++; - } - return result; - }); - return all_converted; -} - -template -bool TemplatedTryCastDecimalVector(CSVReaderOptions &options, Vector &input_vector, Vector &result_vector, idx_t count, - string &error_message, uint8_t width, uint8_t scale) { - D_ASSERT(input_vector.GetType().id() == LogicalTypeId::VARCHAR); - bool all_converted = true; - UnaryExecutor::Execute(input_vector, result_vector, count, [&](string_t input) { - T result; - if (!OP::Operation(input, result, &error_message, width, scale)) { - all_converted = false; - } - return result; - }); - return all_converted; -} - -void BaseCSVReader::AddValue(string_t str_val, idx_t &column, vector &escape_positions, bool has_quotes, - idx_t buffer_idx) { - auto length = str_val.GetSize(); - if (length == 0 && column == 0) { - row_empty = true; - } else { - row_empty = false; - } - if (!return_types.empty() && column == return_types.size() && length == 0) { - // skip a single trailing delimiter in last column - return; - } - if (column >= return_types.size()) { - if (options.ignore_errors) { - error_column_overflow = true; - return; - } else { - throw InvalidInputException( - "Error in file \"%s\", on line %s: expected %lld values per row, but got more. (%s)", options.file_path, - GetLineNumberStr(linenr, linenr_estimated, buffer_idx).c_str(), return_types.size(), - options.ToString()); - } - } - - // insert the line number into the chunk - idx_t row_entry = parse_chunk.size(); - - // test against null string, but only if the value was not quoted - if ((!(has_quotes && !options.allow_quoted_nulls) || return_types[column].id() != LogicalTypeId::VARCHAR) && - !options.force_not_null[column] && Equals::Operation(str_val, string_t(options.null_str))) { - FlatVector::SetNull(parse_chunk.data[column], row_entry, true); - } else { - auto &v = parse_chunk.data[column]; - auto parse_data = FlatVector::GetData(v); - if (!escape_positions.empty()) { - // remove escape characters (if any) - string old_val = str_val.GetString(); - string new_val = ""; - idx_t prev_pos = 0; - for (idx_t i = 0; i < escape_positions.size(); i++) { - idx_t next_pos = escape_positions[i]; - new_val += old_val.substr(prev_pos, next_pos - prev_pos); - prev_pos = ++next_pos; - } - new_val += old_val.substr(prev_pos, old_val.size() - prev_pos); - escape_positions.clear(); - parse_data[row_entry] = StringVector::AddStringOrBlob(v, string_t(new_val)); - } else { - parse_data[row_entry] = str_val; - } - } - - // move to the next column - column++; -} - -bool BaseCSVReader::AddRow(DataChunk &insert_chunk, idx_t &column, string &error_message, idx_t buffer_idx) { - linenr++; - - if (row_empty) { - row_empty = false; - if (return_types.size() != 1) { - if (mode == ParserMode::PARSING) { - FlatVector::SetNull(parse_chunk.data[0], parse_chunk.size(), false); - } - column = 0; - return false; - } - } - - // Error forwarded by 'ignore_errors' - originally encountered in 'AddValue' - if (error_column_overflow) { - D_ASSERT(options.ignore_errors); - error_column_overflow = false; - column = 0; - return false; - } - - if (column < return_types.size()) { - if (options.null_padding) { - for (; column < return_types.size(); column++) { - FlatVector::SetNull(parse_chunk.data[column], parse_chunk.size(), true); - } - } else if (options.ignore_errors) { - column = 0; - return false; - } else { - if (mode == ParserMode::SNIFFING_DATATYPES) { - error_message = "Error when adding line"; - return false; - } else { - throw InvalidInputException( - "Error in file \"%s\" on line %s: expected %lld values per row, but got %d.\nParser options:\n%s", - options.file_path, GetLineNumberStr(linenr, linenr_estimated, buffer_idx).c_str(), - return_types.size(), column, options.ToString()); - } - } - } - - parse_chunk.SetCardinality(parse_chunk.size() + 1); - - if (mode == ParserMode::PARSING_HEADER) { - return true; - } - - if (mode == ParserMode::SNIFFING_DATATYPES) { - return true; - } - - if (mode == ParserMode::PARSING && parse_chunk.size() == STANDARD_VECTOR_SIZE) { - Flush(insert_chunk, buffer_idx); - return true; - } - - column = 0; - return false; -} - -void BaseCSVReader::VerifyUTF8(idx_t col_idx, idx_t row_idx, DataChunk &chunk, int64_t offset) { - D_ASSERT(col_idx < chunk.data.size()); - D_ASSERT(row_idx < chunk.size()); - auto &v = chunk.data[col_idx]; - if (FlatVector::IsNull(v, row_idx)) { - return; - } - - auto parse_data = FlatVector::GetData(chunk.data[col_idx]); - auto s = parse_data[row_idx]; - auto utf_type = Utf8Proc::Analyze(s.GetData(), s.GetSize()); - if (utf_type == UnicodeType::INVALID) { - string col_name = to_string(col_idx); - if (col_idx < names.size()) { - col_name = "\"" + names[col_idx] + "\""; - } - int64_t error_line = linenr - (chunk.size() - row_idx) + 1 + offset; - D_ASSERT(error_line >= 0); - throw InvalidInputException("Error in file \"%s\" at line %llu in column \"%s\": " - "%s. Parser options:\n%s", - options.file_path, error_line, col_name, - ErrorManager::InvalidUnicodeError(s.GetString(), "CSV file"), options.ToString()); - } -} - -void BaseCSVReader::VerifyUTF8(idx_t col_idx) { - D_ASSERT(col_idx < parse_chunk.data.size()); - for (idx_t i = 0; i < parse_chunk.size(); i++) { - VerifyUTF8(col_idx, i, parse_chunk); - } -} - -bool TryCastDecimalVectorCommaSeparated(CSVReaderOptions &options, Vector &input_vector, Vector &result_vector, - idx_t count, string &error_message, const LogicalType &result_type) { - auto width = DecimalType::GetWidth(result_type); - auto scale = DecimalType::GetScale(result_type); - switch (result_type.InternalType()) { - case PhysicalType::INT16: - return TemplatedTryCastDecimalVector( - options, input_vector, result_vector, count, error_message, width, scale); - case PhysicalType::INT32: - return TemplatedTryCastDecimalVector( - options, input_vector, result_vector, count, error_message, width, scale); - case PhysicalType::INT64: - return TemplatedTryCastDecimalVector( - options, input_vector, result_vector, count, error_message, width, scale); - case PhysicalType::INT128: - return TemplatedTryCastDecimalVector( - options, input_vector, result_vector, count, error_message, width, scale); - default: - throw InternalException("Unimplemented physical type for decimal"); - } -} - -bool TryCastFloatingVectorCommaSeparated(CSVReaderOptions &options, Vector &input_vector, Vector &result_vector, - idx_t count, string &error_message, const LogicalType &result_type, - idx_t &line_error) { - switch (result_type.InternalType()) { - case PhysicalType::DOUBLE: - return TemplatedTryCastFloatingVector( - options, input_vector, result_vector, count, error_message, line_error); - case PhysicalType::FLOAT: - return TemplatedTryCastFloatingVector( - options, input_vector, result_vector, count, error_message, line_error); - default: - throw InternalException("Unimplemented physical type for floating"); - } -} - -// Location of erroneous value in the current parse chunk -struct ErrorLocation { - idx_t row_idx; - idx_t col_idx; - idx_t row_line; - - ErrorLocation(idx_t row_idx, idx_t col_idx, idx_t row_line) - : row_idx(row_idx), col_idx(col_idx), row_line(row_line) { - } -}; - -bool BaseCSVReader::Flush(DataChunk &insert_chunk, idx_t buffer_idx, bool try_add_line) { - if (parse_chunk.size() == 0) { - return true; - } - - bool conversion_error_ignored = false; - - // convert the columns in the parsed chunk to the types of the table - insert_chunk.SetCardinality(parse_chunk); - if (reader_data.column_ids.empty() && !reader_data.empty_columns) { - throw InternalException("BaseCSVReader::Flush called on a CSV reader that was not correctly initialized. Call " - "MultiFileReader::InitializeReader or InitializeProjection"); - } - D_ASSERT(reader_data.column_ids.size() == reader_data.column_mapping.size()); - for (idx_t c = 0; c < reader_data.column_ids.size(); c++) { - auto col_idx = reader_data.column_ids[c]; - auto result_idx = reader_data.column_mapping[c]; - auto &parse_vector = parse_chunk.data[col_idx]; - auto &result_vector = insert_chunk.data[result_idx]; - auto &type = result_vector.GetType(); - if (type.id() == LogicalTypeId::VARCHAR) { - // target type is varchar: no need to convert - // just test that all strings are valid utf-8 strings - VerifyUTF8(col_idx); - // reinterpret rather than reference so we can deal with user-defined types - result_vector.Reinterpret(parse_vector); - } else { - string error_message; - bool success; - idx_t line_error = 0; - bool target_type_not_varchar = false; - if (options.dialect_options.has_format[LogicalTypeId::DATE] && type.id() == LogicalTypeId::DATE) { - // use the date format to cast the chunk - success = TryCastDateVector(options.dialect_options.date_format, parse_vector, result_vector, - parse_chunk.size(), error_message, line_error); - } else if (options.dialect_options.has_format[LogicalTypeId::TIMESTAMP] && - type.id() == LogicalTypeId::TIMESTAMP) { - // use the date format to cast the chunk - success = TryCastTimestampVector(options.dialect_options.date_format, parse_vector, result_vector, - parse_chunk.size(), error_message); - } else if (options.decimal_separator != "." && - (type.id() == LogicalTypeId::FLOAT || type.id() == LogicalTypeId::DOUBLE)) { - success = TryCastFloatingVectorCommaSeparated(options, parse_vector, result_vector, parse_chunk.size(), - error_message, type, line_error); - } else if (options.decimal_separator != "." && type.id() == LogicalTypeId::DECIMAL) { - success = TryCastDecimalVectorCommaSeparated(options, parse_vector, result_vector, parse_chunk.size(), - error_message, type); - } else { - // target type is not varchar: perform a cast - target_type_not_varchar = true; - success = - VectorOperations::TryCast(context, parse_vector, result_vector, parse_chunk.size(), &error_message); - } - if (success) { - continue; - } - if (try_add_line) { - return false; - } - - string col_name = to_string(col_idx); - if (col_idx < names.size()) { - col_name = "\"" + names[col_idx] + "\""; - } - - // figure out the exact line number - if (target_type_not_varchar) { - UnifiedVectorFormat inserted_column_data; - result_vector.ToUnifiedFormat(parse_chunk.size(), inserted_column_data); - for (; line_error < parse_chunk.size(); line_error++) { - if (!inserted_column_data.validity.RowIsValid(line_error) && - !FlatVector::IsNull(parse_vector, line_error)) { - break; - } - } - } - - // The line_error must be summed with linenr (All lines emmited from this batch) - // But subtracted from the parse_chunk - D_ASSERT(line_error + linenr >= parse_chunk.size()); - line_error += linenr; - line_error -= parse_chunk.size(); - - auto error_line = GetLineError(line_error, buffer_idx); - - if (options.ignore_errors) { - conversion_error_ignored = true; - - } else if (options.auto_detect) { - throw InvalidInputException("%s in column %s, at line %llu.\n\nParser " - "options:\n%s.\n\nConsider either increasing the sample size " - "(SAMPLE_SIZE=X [X rows] or SAMPLE_SIZE=-1 [all rows]), " - "or skipping column conversion (ALL_VARCHAR=1)", - error_message, col_name, error_line, options.ToString()); - } else { - throw InvalidInputException("%s at line %llu in column %s. Parser options:\n%s ", error_message, - error_line, col_name, options.ToString()); - } - } - } - if (conversion_error_ignored) { - D_ASSERT(options.ignore_errors); - - SelectionVector succesful_rows(parse_chunk.size()); - idx_t sel_size = 0; - - // Keep track of failed cells - vector failed_cells; - - for (idx_t row_idx = 0; row_idx < parse_chunk.size(); row_idx++) { - - auto global_row_idx = row_idx + linenr - parse_chunk.size(); - auto row_line = GetLineError(global_row_idx, buffer_idx, false); - - bool row_failed = false; - for (idx_t c = 0; c < reader_data.column_ids.size(); c++) { - auto col_idx = reader_data.column_ids[c]; - auto result_idx = reader_data.column_mapping[c]; - - auto &parse_vector = parse_chunk.data[col_idx]; - auto &result_vector = insert_chunk.data[result_idx]; - - bool was_already_null = FlatVector::IsNull(parse_vector, row_idx); - if (!was_already_null && FlatVector::IsNull(result_vector, row_idx)) { - Increment(buffer_idx); - auto bla = GetLineError(global_row_idx, buffer_idx, false); - row_idx += bla; - row_idx -= bla; - row_failed = true; - failed_cells.emplace_back(row_idx, col_idx, row_line); - } - } - if (!row_failed) { - succesful_rows.set_index(sel_size++, row_idx); - } - } - - // Now do a second pass to produce the reject table entries - if (!failed_cells.empty() && !options.rejects_table_name.empty()) { - auto limit = options.rejects_limit; - - auto rejects = CSVRejectsTable::GetOrCreate(context, options.rejects_table_name); - lock_guard lock(rejects->write_lock); - - // short circuit if we already have too many rejects - if (limit == 0 || rejects->count < limit) { - auto &table = rejects->GetTable(context); - InternalAppender appender(context, table); - auto file_name = GetFileName(); - - for (auto &cell : failed_cells) { - if (limit != 0 && rejects->count >= limit) { - break; - } - rejects->count++; - - auto row_idx = cell.row_idx; - auto col_idx = cell.col_idx; - auto row_line = cell.row_line; - - auto col_name = to_string(col_idx); - if (col_idx < names.size()) { - col_name = "\"" + names[col_idx] + "\""; - } - - auto &parse_vector = parse_chunk.data[col_idx]; - auto parsed_str = FlatVector::GetData(parse_vector)[row_idx]; - auto &type = insert_chunk.data[col_idx].GetType(); - auto row_error_msg = StringUtil::Format("Could not convert string '%s' to '%s'", - parsed_str.GetString(), type.ToString()); - - // Add the row to the rejects table - appender.BeginRow(); - appender.Append(string_t(file_name)); - appender.Append(row_line); - appender.Append(col_idx); - appender.Append(string_t(col_name)); - appender.Append(parsed_str); - - if (!options.rejects_recovery_columns.empty()) { - child_list_t recovery_key; - for (auto &key_idx : options.rejects_recovery_column_ids) { - // Figure out if the recovery key is valid. - // If not, error out for real. - auto &component_vector = parse_chunk.data[key_idx]; - if (FlatVector::IsNull(component_vector, row_idx)) { - throw InvalidInputException("%s at line %llu in column %s. Parser options:\n%s ", - "Could not parse recovery column", row_line, col_name, - options.ToString()); - } - auto component = Value(FlatVector::GetData(component_vector)[row_idx]); - recovery_key.emplace_back(names[key_idx], component); - } - appender.Append(Value::STRUCT(recovery_key)); - } - - appender.Append(string_t(row_error_msg)); - appender.EndRow(); - } - appender.Close(); - } - } - - // Now slice the insert chunk to only include the succesful rows - insert_chunk.Slice(succesful_rows, sel_size); - } - parse_chunk.Reset(); - return true; -} - -void BaseCSVReader::SetNewLineDelimiter(bool carry, bool carry_followed_by_nl) { - if (options.dialect_options.new_line == NewLineIdentifier::NOT_SET) { - if (options.dialect_options.new_line == NewLineIdentifier::MIX) { - return; - } - NewLineIdentifier this_line_identifier; - if (carry) { - if (carry_followed_by_nl) { - this_line_identifier = NewLineIdentifier::CARRY_ON; - } else { - this_line_identifier = NewLineIdentifier::SINGLE; - } - } else { - this_line_identifier = NewLineIdentifier::SINGLE; - } - if (options.dialect_options.new_line == NewLineIdentifier::NOT_SET) { - options.dialect_options.new_line = this_line_identifier; - return; - } - if (options.dialect_options.new_line != this_line_identifier) { - options.dialect_options.new_line = NewLineIdentifier::MIX; - return; - } - options.dialect_options.new_line = this_line_identifier; - } -} -} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/buffer_manager/CMakeLists.txt b/src/execution/operator/csv_scanner/buffer_manager/CMakeLists.txt new file mode 100644 index 000000000000..086dc19b6b82 --- /dev/null +++ b/src/execution/operator/csv_scanner/buffer_manager/CMakeLists.txt @@ -0,0 +1,6 @@ +add_library_unity(duckdb_csv_buffer_manager OBJECT csv_buffer.cpp + csv_buffer_manager.cpp csv_file_handle.cpp) + +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/execution/operator/csv_scanner/csv_buffer.cpp b/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp similarity index 65% rename from src/execution/operator/csv_scanner/csv_buffer.cpp rename to src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp index 27e916e412b0..0d95d740a2cf 100644 --- a/src/execution/operator/csv_scanner/csv_buffer.cpp +++ b/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp @@ -1,11 +1,11 @@ -#include "duckdb/execution/operator/scan/csv/csv_buffer.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer.hpp" #include "duckdb/common/string_util.hpp" namespace duckdb { CSVBuffer::CSVBuffer(ClientContext &context, idx_t buffer_size_p, CSVFileHandle &file_handle, idx_t &global_csv_current_position, idx_t file_number_p) - : context(context), first_buffer(true), file_number(file_number_p), can_seek(file_handle.CanSeek()) { + : context(context), file_number(file_number_p), can_seek(file_handle.CanSeek()) { AllocateBuffer(buffer_size_p); auto buffer = Ptr(); actual_buffer_size = file_handle.Read(buffer, buffer_size_p); @@ -14,17 +14,13 @@ CSVBuffer::CSVBuffer(ClientContext &context, idx_t buffer_size_p, CSVFileHandle actual_buffer_size += file_handle.Read(&buffer[actual_buffer_size], buffer_size_p - actual_buffer_size); } global_csv_start = global_csv_current_position; - // BOM check (https://en.wikipedia.org/wiki/Byte_order_mark) - if (actual_buffer_size >= 3 && buffer[0] == '\xEF' && buffer[1] == '\xBB' && buffer[2] == '\xBF') { - start_position += 3; - } last_buffer = file_handle.FinishedReading(); } CSVBuffer::CSVBuffer(CSVFileHandle &file_handle, ClientContext &context, idx_t buffer_size, - idx_t global_csv_current_position, idx_t file_number_p) + idx_t global_csv_current_position, idx_t file_number_p, idx_t buffer_idx_p) : context(context), global_csv_start(global_csv_current_position), file_number(file_number_p), - can_seek(file_handle.CanSeek()) { + can_seek(file_handle.CanSeek()), buffer_idx(buffer_idx_p) { AllocateBuffer(buffer_size); auto buffer = handle.Ptr(); actual_buffer_size = file_handle.Read(handle.Ptr(), buffer_size); @@ -35,9 +31,16 @@ CSVBuffer::CSVBuffer(CSVFileHandle &file_handle, ClientContext &context, idx_t b last_buffer = file_handle.FinishedReading(); } -shared_ptr CSVBuffer::Next(CSVFileHandle &file_handle, idx_t buffer_size, idx_t file_number_p) { - auto next_csv_buffer = - make_shared(file_handle, context, buffer_size, global_csv_start + actual_buffer_size, file_number_p); +shared_ptr CSVBuffer::Next(CSVFileHandle &file_handle, idx_t buffer_size, idx_t file_number_p, + bool &has_seaked) { + if (has_seaked) { + // This means that at some point a reload was done, and we are currently on the incorrect position in our file + // handle + file_handle.Seek(global_csv_start + actual_buffer_size); + has_seaked = false; + } + auto next_csv_buffer = make_shared(file_handle, context, buffer_size, + global_csv_start + actual_buffer_size, file_number_p, buffer_idx + 1); if (next_csv_buffer->GetBufferSize() == 0) { // We are done reading return nullptr; @@ -48,7 +51,8 @@ shared_ptr CSVBuffer::Next(CSVFileHandle &file_handle, idx_t buffer_s void CSVBuffer::AllocateBuffer(idx_t buffer_size) { auto &buffer_manager = BufferManager::GetBufferManager(context); bool can_destroy = can_seek; - handle = buffer_manager.Allocate(MaxValue(Storage::BLOCK_SIZE, buffer_size), can_destroy, &block); + handle = buffer_manager.Allocate(MemoryTag::CSV_READER, MaxValue(Storage::BLOCK_SIZE, buffer_size), + can_destroy, &block); } idx_t CSVBuffer::GetBufferSize() { @@ -61,15 +65,16 @@ void CSVBuffer::Reload(CSVFileHandle &file_handle) { file_handle.Read(handle.Ptr(), actual_buffer_size); } -unique_ptr CSVBuffer::Pin(CSVFileHandle &file_handle) { +shared_ptr CSVBuffer::Pin(CSVFileHandle &file_handle, bool &has_seeked) { auto &buffer_manager = BufferManager::GetBufferManager(context); if (can_seek && block->IsUnloaded()) { // We have to reload it from disk block = nullptr; Reload(file_handle); + has_seeked = true; } - return make_uniq(buffer_manager.Pin(block), actual_buffer_size, first_buffer, last_buffer, - global_csv_start, start_position, file_number); + return make_shared(buffer_manager.Pin(block), actual_buffer_size, last_buffer, file_number, + buffer_idx); } void CSVBuffer::Unpin() { @@ -78,10 +83,6 @@ void CSVBuffer::Unpin() { } } -idx_t CSVBuffer::GetStart() { - return start_position; -} - bool CSVBuffer::IsCSVFileLastBuffer() { return last_buffer; } diff --git a/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp b/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp new file mode 100644 index 000000000000..1131a165ed58 --- /dev/null +++ b/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp @@ -0,0 +1,124 @@ +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer.hpp" +#include "duckdb/function/table/read_csv.hpp" +namespace duckdb { + +CSVBufferManager::CSVBufferManager(ClientContext &context_p, const CSVReaderOptions &options, const string &file_path_p, + const idx_t file_idx_p) + : context(context_p), file_idx(file_idx_p), file_path(file_path_p), buffer_size(CSVBuffer::CSV_BUFFER_SIZE) { + D_ASSERT(!file_path.empty()); + file_handle = ReadCSV::OpenCSV(file_path, options.compression, context); + skip_rows = options.dialect_options.skip_rows.GetValue(); + auto file_size = file_handle->FileSize(); + if (file_size > 0 && file_size < buffer_size) { + buffer_size = CSVBuffer::CSV_MINIMUM_BUFFER_SIZE; + } + if (options.buffer_size < buffer_size) { + buffer_size = options.buffer_size; + } + Initialize(); +} + +void CSVBufferManager::UnpinBuffer(const idx_t cache_idx) { + if (cache_idx < cached_buffers.size()) { + cached_buffers[cache_idx]->Unpin(); + } +} + +void CSVBufferManager::Initialize() { + if (cached_buffers.empty()) { + cached_buffers.emplace_back( + make_shared(context, buffer_size, *file_handle, global_csv_pos, file_idx)); + last_buffer = cached_buffers.front(); + } +} + +bool CSVBufferManager::ReadNextAndCacheIt() { + D_ASSERT(last_buffer); + for (idx_t i = 0; i < 2; i++) { + if (!last_buffer->IsCSVFileLastBuffer()) { + auto cur_buffer_size = buffer_size; + if (file_handle->uncompressed) { + if (file_handle->FileSize() - bytes_read) { + cur_buffer_size = file_handle->FileSize() - bytes_read; + } + } + if (cur_buffer_size == 0) { + last_buffer->last_buffer = true; + return false; + } + auto maybe_last_buffer = last_buffer->Next(*file_handle, cur_buffer_size, file_idx, has_seeked); + if (!maybe_last_buffer) { + last_buffer->last_buffer = true; + return false; + } + last_buffer = std::move(maybe_last_buffer); + bytes_read += last_buffer->GetBufferSize(); + cached_buffers.emplace_back(last_buffer); + return true; + } + } + return false; +} + +shared_ptr CSVBufferManager::GetBuffer(const idx_t pos) { + lock_guard parallel_lock(main_mutex); + while (pos >= cached_buffers.size()) { + if (done) { + return nullptr; + } + if (!ReadNextAndCacheIt()) { + done = true; + } + } + if (pos != 0) { + if (cached_buffers[pos - 1]) { + cached_buffers[pos - 1]->Unpin(); + } + } + return cached_buffers[pos]->Pin(*file_handle, has_seeked); +} + +void CSVBufferManager::ResetBuffer(const idx_t buffer_idx) { + D_ASSERT(buffer_idx < cached_buffers.size() && cached_buffers[buffer_idx]); + if (buffer_idx == 0 && cached_buffers.size() > 1) { + cached_buffers[buffer_idx].reset(); + idx_t cur_buffer = buffer_idx + 1; + while (reset_when_possible.find(cur_buffer) != reset_when_possible.end()) { + cached_buffers[cur_buffer].reset(); + reset_when_possible.erase(cur_buffer); + cur_buffer++; + } + return; + } + // We only reset if previous one was also already reset + if (buffer_idx > 0 && !cached_buffers[buffer_idx - 1]) { + cached_buffers[buffer_idx].reset(); + idx_t cur_buffer = buffer_idx + 1; + while (reset_when_possible.find(cur_buffer) != reset_when_possible.end()) { + cached_buffers[cur_buffer].reset(); + reset_when_possible.erase(cur_buffer); + cur_buffer++; + } + } else { + reset_when_possible.insert(buffer_idx); + } +} + +idx_t CSVBufferManager::GetBufferSize() { + return buffer_size; +} + +idx_t CSVBufferManager::BufferCount() { + return cached_buffers.size(); +} + +bool CSVBufferManager::Done() { + return done; +} + +string CSVBufferManager::GetFilePath() { + return file_path; +} + +} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/csv_file_handle.cpp b/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp similarity index 92% rename from src/execution/operator/csv_scanner/csv_file_handle.cpp rename to src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp index 6462db94d3d3..733cc965a15b 100644 --- a/src/execution/operator/csv_scanner/csv_file_handle.cpp +++ b/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp @@ -1,4 +1,5 @@ -#include "duckdb/execution/operator/scan/csv/csv_file_handle.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp" +#include "duckdb/common/exception/binder_exception.hpp" namespace duckdb { @@ -8,6 +9,7 @@ CSVFileHandle::CSVFileHandle(FileSystem &fs, Allocator &allocator, unique_ptrCanSeek(); on_disk_file = file_handle->OnDiskFile(); file_size = file_handle->GetFileSize(); + uncompressed = compression == FileCompressionType::UNCOMPRESSED; } unique_ptr CSVFileHandle::OpenFileHandle(FileSystem &fs, Allocator &allocator, const string &path, diff --git a/src/execution/operator/csv_scanner/buffered_csv_reader.cpp b/src/execution/operator/csv_scanner/buffered_csv_reader.cpp deleted file mode 100644 index 19e02da16447..000000000000 --- a/src/execution/operator/csv_scanner/buffered_csv_reader.cpp +++ /dev/null @@ -1,434 +0,0 @@ -#include "duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp" - -#include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" -#include "duckdb/common/file_system.hpp" -#include "duckdb/common/string_util.hpp" -#include "duckdb/common/to_string.hpp" -#include "duckdb/common/types/cast_helpers.hpp" -#include "duckdb/common/vector_operations/unary_executor.hpp" -#include "duckdb/common/vector_operations/vector_operations.hpp" -#include "duckdb/execution/operator/scan/csv/csv_sniffer.hpp" -#include "duckdb/execution/operator/scan/csv/csv_state_machine.hpp" -#include "duckdb/function/scalar/strftime_format.hpp" -#include "duckdb/main/client_data.hpp" -#include "duckdb/main/database.hpp" -#include "duckdb/main/error_manager.hpp" -#include "duckdb/parser/column_definition.hpp" -#include "duckdb/parser/keyword_helper.hpp" -#include "duckdb/storage/data_table.hpp" -#include "utf8proc.hpp" -#include "utf8proc_wrapper.hpp" - -#include -#include -#include -#include - -namespace duckdb { - -BufferedCSVReader::BufferedCSVReader(ClientContext &context, CSVReaderOptions options_p, - const vector &requested_types) - : BaseCSVReader(context, std::move(options_p), requested_types), buffer_size(0), position(0), start(0) { - file_handle = OpenCSV(context, options); - Initialize(requested_types); -} - -BufferedCSVReader::BufferedCSVReader(ClientContext &context, string filename, CSVReaderOptions options_p, - const vector &requested_types) - : BaseCSVReader(context, std::move(options_p), requested_types), buffer_size(0), position(0), start(0) { - options.file_path = std::move(filename); - file_handle = OpenCSV(context, options); - Initialize(requested_types); -} - -void BufferedCSVReader::Initialize(const vector &requested_types) { - if (options.auto_detect && options.file_options.union_by_name) { - // This is required for the sniffer to work on Union By Name - D_ASSERT(options.file_path == file_handle->GetFilePath()); - auto bm_file_handle = BaseCSVReader::OpenCSV(context, options); - auto csv_buffer_manager = make_shared(context, std::move(bm_file_handle), options); - CSVSniffer sniffer(options, csv_buffer_manager, state_machine_cache); - auto sniffer_result = sniffer.SniffCSV(); - return_types = sniffer_result.return_types; - names = sniffer_result.names; - if (return_types.empty()) { - throw InvalidInputException("Failed to detect column types from CSV: is the file a valid CSV file?"); - } - } else { - return_types = requested_types; - ResetBuffer(); - } - SkipRowsAndReadHeader(options.dialect_options.skip_rows, options.dialect_options.header); - InitParseChunk(return_types.size()); -} - -void BufferedCSVReader::ResetBuffer() { - buffer.reset(); - buffer_size = 0; - position = 0; - start = 0; - cached_buffers.clear(); -} - -void BufferedCSVReader::SkipRowsAndReadHeader(idx_t skip_rows, bool skip_header) { - for (idx_t i = 0; i < skip_rows; i++) { - // ignore skip rows - string read_line = file_handle->ReadLine(); - linenr++; - } - - if (skip_header) { - // ignore the first line as a header line - InitParseChunk(return_types.size()); - ParseCSV(ParserMode::PARSING_HEADER); - } -} - -string BufferedCSVReader::ColumnTypesError(case_insensitive_map_t sql_types_per_column, - const vector &names) { - for (idx_t i = 0; i < names.size(); i++) { - auto it = sql_types_per_column.find(names[i]); - if (it != sql_types_per_column.end()) { - sql_types_per_column.erase(names[i]); - continue; - } - } - if (sql_types_per_column.empty()) { - return string(); - } - string exception = "COLUMN_TYPES error: Columns with names: "; - for (auto &col : sql_types_per_column) { - exception += "\"" + col.first + "\","; - } - exception.pop_back(); - exception += " do not exist in the CSV File"; - return exception; -} - -void BufferedCSVReader::SkipEmptyLines() { - if (parse_chunk.data.size() == 1) { - // Empty lines are null data. - return; - } - for (; position < buffer_size; position++) { - if (!StringUtil::CharacterIsNewline(buffer[position])) { - return; - } - } -} - -void UpdateMaxLineLength(ClientContext &context, idx_t line_length) { - if (!context.client_data->debug_set_max_line_length) { - return; - } - if (line_length < context.client_data->debug_max_line_length) { - return; - } - context.client_data->debug_max_line_length = line_length; -} - -bool BufferedCSVReader::ReadBuffer(idx_t &start, idx_t &line_start) { - if (start > buffer_size) { - return false; - } - auto old_buffer = std::move(buffer); - - // the remaining part of the last buffer - idx_t remaining = buffer_size - start; - - idx_t buffer_read_size = INITIAL_BUFFER_SIZE_LARGE; - - while (remaining > buffer_read_size) { - buffer_read_size *= 2; - } - - // Check line length - if (remaining > options.maximum_line_size) { - throw InvalidInputException("Maximum line size of %llu bytes exceeded on line %s!", options.maximum_line_size, - GetLineNumberStr(linenr, linenr_estimated)); - } - - buffer = make_unsafe_uniq_array(buffer_read_size + remaining + 1); - buffer_size = remaining + buffer_read_size; - if (remaining > 0) { - // remaining from last buffer: copy it here - memcpy(buffer.get(), old_buffer.get() + start, remaining); - } - idx_t read_count = file_handle->Read(buffer.get() + remaining, buffer_read_size); - - bytes_in_chunk += read_count; - buffer_size = remaining + read_count; - buffer[buffer_size] = '\0'; - if (old_buffer) { - cached_buffers.push_back(std::move(old_buffer)); - } - start = 0; - position = remaining; - if (!bom_checked) { - bom_checked = true; - if (read_count >= 3 && buffer[0] == '\xEF' && buffer[1] == '\xBB' && buffer[2] == '\xBF') { - start += 3; - position += 3; - } - } - line_start = start; - - return read_count > 0; -} - -void BufferedCSVReader::ParseCSV(DataChunk &insert_chunk) { - string error_message; - if (!TryParseCSV(ParserMode::PARSING, insert_chunk, error_message)) { - throw InvalidInputException(error_message); - } -} - -void BufferedCSVReader::ParseCSV(ParserMode mode) { - DataChunk dummy_chunk; - string error_message; - if (!TryParseCSV(mode, dummy_chunk, error_message)) { - throw InvalidInputException(error_message); - } -} - -bool BufferedCSVReader::TryParseCSV(ParserMode parser_mode, DataChunk &insert_chunk, string &error_message) { - cached_buffers.clear(); - mode = parser_mode; - // used for parsing algorithm - bool finished_chunk = false; - idx_t column = 0; - idx_t offset = 0; - bool has_quotes = false; - vector escape_positions; - - idx_t line_start = position; - idx_t line_size = 0; - // read values into the buffer (if any) - if (position >= buffer_size) { - if (!ReadBuffer(start, line_start)) { - return true; - } - } - - // start parsing the first value - goto value_start; -value_start: - offset = 0; - /* state: value_start */ - // this state parses the first character of a value - if (buffer[position] == options.dialect_options.state_machine_options.quote) { - // quote: actual value starts in the next position - // move to in_quotes state - start = position + 1; - line_size++; - goto in_quotes; - } else { - // no quote, move to normal parsing state - start = position; - goto normal; - } -normal: - /* state: normal parsing state */ - // this state parses the remainder of a non-quoted value until we reach a delimiter or newline - do { - for (; position < buffer_size; position++) { - line_size++; - if (buffer[position] == options.dialect_options.state_machine_options.delimiter) { - // delimiter: end the value and add it to the chunk - goto add_value; - } else if (StringUtil::CharacterIsNewline(buffer[position])) { - // newline: add row - goto add_row; - } - } - } while (ReadBuffer(start, line_start)); - // file ends during normal scan: go to end state - goto final_state; -add_value: - AddValue(string_t(buffer.get() + start, position - start - offset), column, escape_positions, has_quotes); - // increase position by 1 and move start to the new position - offset = 0; - has_quotes = false; - start = ++position; - line_size++; - if (position >= buffer_size && !ReadBuffer(start, line_start)) { - // file ends right after delimiter, go to final state - goto final_state; - } - goto value_start; -add_row : { - // check type of newline (\r or \n) - bool carriage_return = buffer[position] == '\r'; - AddValue(string_t(buffer.get() + start, position - start - offset), column, escape_positions, has_quotes); - if (!error_message.empty()) { - return false; - } - VerifyLineLength(position - line_start); - - finished_chunk = AddRow(insert_chunk, column, error_message); - UpdateMaxLineLength(context, position - line_start); - if (!error_message.empty()) { - return false; - } - // increase position by 1 and move start to the new position - offset = 0; - has_quotes = false; - position++; - line_size = 0; - start = position; - line_start = position; - if (position >= buffer_size && !ReadBuffer(start, line_start)) { - // file ends right after delimiter, go to final state - goto final_state; - } - if (carriage_return) { - // \r newline, go to special state that parses an optional \n afterwards - goto carriage_return; - } else { - SetNewLineDelimiter(); - SkipEmptyLines(); - - start = position; - line_start = position; - if (position >= buffer_size && !ReadBuffer(start, line_start)) { - // file ends right after delimiter, go to final state - goto final_state; - } - // \n newline, move to value start - if (finished_chunk) { - return true; - } - goto value_start; - } -} -in_quotes: - /* state: in_quotes */ - // this state parses the remainder of a quoted value - has_quotes = true; - position++; - line_size++; - do { - for (; position < buffer_size; position++) { - line_size++; - if (buffer[position] == options.dialect_options.state_machine_options.quote) { - // quote: move to unquoted state - goto unquote; - } else if (buffer[position] == options.dialect_options.state_machine_options.escape) { - // escape: store the escaped position and move to handle_escape state - escape_positions.push_back(position - start); - goto handle_escape; - } - } - } while (ReadBuffer(start, line_start)); - // still in quoted state at the end of the file, error: - throw InvalidInputException("Error in file \"%s\" on line %s: unterminated quotes. (%s)", options.file_path, - GetLineNumberStr(linenr, linenr_estimated).c_str(), options.ToString()); -unquote: - /* state: unquote */ - // this state handles the state directly after we unquote - // in this state we expect either another quote (entering the quoted state again, and escaping the quote) - // or a delimiter/newline, ending the current value and moving on to the next value - position++; - line_size++; - if (position >= buffer_size && !ReadBuffer(start, line_start)) { - // file ends right after unquote, go to final state - offset = 1; - goto final_state; - } - if (buffer[position] == options.dialect_options.state_machine_options.quote && - (options.dialect_options.state_machine_options.escape == '\0' || - options.dialect_options.state_machine_options.escape == options.dialect_options.state_machine_options.quote)) { - // escaped quote, return to quoted state and store escape position - escape_positions.push_back(position - start); - goto in_quotes; - } else if (buffer[position] == options.dialect_options.state_machine_options.delimiter) { - // delimiter, add value - offset = 1; - goto add_value; - } else if (StringUtil::CharacterIsNewline(buffer[position])) { - offset = 1; - goto add_row; - } else { - error_message = StringUtil::Format( - "Error in file \"%s\" on line %s: quote should be followed by end of value, end of " - "row or another quote. (%s)", - options.file_path, GetLineNumberStr(linenr, linenr_estimated).c_str(), options.ToString()); - return false; - } -handle_escape: - /* state: handle_escape */ - // escape should be followed by a quote or another escape character - position++; - line_size++; - if (position >= buffer_size && !ReadBuffer(start, line_start)) { - error_message = StringUtil::Format( - "Error in file \"%s\" on line %s: neither QUOTE nor ESCAPE is proceeded by ESCAPE. (%s)", options.file_path, - GetLineNumberStr(linenr, linenr_estimated).c_str(), options.ToString()); - return false; - } - if (buffer[position] != options.dialect_options.state_machine_options.quote && - buffer[position] != options.dialect_options.state_machine_options.escape) { - error_message = StringUtil::Format( - "Error in file \"%s\" on line %s: neither QUOTE nor ESCAPE is proceeded by ESCAPE. (%s)", options.file_path, - GetLineNumberStr(linenr, linenr_estimated).c_str(), options.ToString()); - return false; - } - // escape was followed by quote or escape, go back to quoted state - goto in_quotes; -carriage_return: - /* state: carriage_return */ - // this stage optionally skips a newline (\n) character, which allows \r\n to be interpreted as a single line - if (buffer[position] == '\n') { - SetNewLineDelimiter(true, true); - // newline after carriage return: skip - // increase position by 1 and move start to the new position - start = ++position; - line_size++; - - if (position >= buffer_size && !ReadBuffer(start, line_start)) { - // file ends right after delimiter, go to final state - goto final_state; - } - } else { - SetNewLineDelimiter(true, false); - } - if (finished_chunk) { - return true; - } - SkipEmptyLines(); - start = position; - line_start = position; - if (position >= buffer_size && !ReadBuffer(start, line_start)) { - // file ends right after delimiter, go to final state - goto final_state; - } - - goto value_start; -final_state: - if (finished_chunk) { - return true; - } - - if (column > 0 || position > start) { - // remaining values to be added to the chunk - AddValue(string_t(buffer.get() + start, position - start - offset), column, escape_positions, has_quotes); - VerifyLineLength(position - line_start); - - finished_chunk = AddRow(insert_chunk, column, error_message); - SkipEmptyLines(); - UpdateMaxLineLength(context, line_size); - if (!error_message.empty()) { - return false; - } - } - - // final stage, only reached after parsing the file is finished - // flush the parsed chunk and finalize parsing - if (mode == ParserMode::PARSING) { - Flush(insert_chunk); - } - - return true; -} - -} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/csv_buffer_manager.cpp b/src/execution/operator/csv_scanner/csv_buffer_manager.cpp deleted file mode 100644 index 408e7c855aab..000000000000 --- a/src/execution/operator/csv_scanner/csv_buffer_manager.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp" -#include "duckdb/execution/operator/scan/csv/csv_buffer.hpp" -namespace duckdb { - -CSVBufferManager::CSVBufferManager(ClientContext &context_p, unique_ptr file_handle_p, - const CSVReaderOptions &options, idx_t file_idx_p) - : file_handle(std::move(file_handle_p)), context(context_p), file_idx(file_idx_p), - buffer_size(CSVBuffer::CSV_BUFFER_SIZE) { - if (options.skip_rows_set) { - // Skip rows if they are set - skip_rows = options.dialect_options.skip_rows; - } - auto file_size = file_handle->FileSize(); - if (file_size > 0 && file_size < buffer_size) { - buffer_size = CSVBuffer::CSV_MINIMUM_BUFFER_SIZE; - } - if (options.buffer_size < buffer_size) { - buffer_size = options.buffer_size; - } - for (idx_t i = 0; i < skip_rows; i++) { - file_handle->ReadLine(); - } - Initialize(); -} - -void CSVBufferManager::UnpinBuffer(idx_t cache_idx) { - if (cache_idx < cached_buffers.size()) { - cached_buffers[cache_idx]->Unpin(); - } -} - -void CSVBufferManager::Initialize() { - if (cached_buffers.empty()) { - cached_buffers.emplace_back( - make_shared(context, buffer_size, *file_handle, global_csv_pos, file_idx)); - last_buffer = cached_buffers.front(); - } - start_pos = last_buffer->GetStart(); -} - -idx_t CSVBufferManager::GetStartPos() { - return start_pos; -} -bool CSVBufferManager::ReadNextAndCacheIt() { - D_ASSERT(last_buffer); - if (!last_buffer->IsCSVFileLastBuffer()) { - auto maybe_last_buffer = last_buffer->Next(*file_handle, buffer_size, file_idx); - if (!maybe_last_buffer) { - last_buffer->last_buffer = true; - return false; - } - last_buffer = std::move(maybe_last_buffer); - cached_buffers.emplace_back(last_buffer); - return true; - } - return false; -} - -unique_ptr CSVBufferManager::GetBuffer(const idx_t pos) { - while (pos >= cached_buffers.size()) { - if (done) { - return nullptr; - } - if (!ReadNextAndCacheIt()) { - done = true; - } - } - if (pos != 0) { - cached_buffers[pos - 1]->Unpin(); - } - return cached_buffers[pos]->Pin(*file_handle); -} - -bool CSVBufferIterator::Finished() { - return !cur_buffer_handle; -} - -void CSVBufferIterator::Reset() { - if (cur_buffer_handle) { - cur_buffer_handle.reset(); - } - if (cur_buffer_idx > 0) { - buffer_manager->UnpinBuffer(cur_buffer_idx - 1); - } - cur_buffer_idx = 0; - buffer_manager->Initialize(); - cur_pos = buffer_manager->GetStartPos(); -} - -} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/csv_state_machine.cpp b/src/execution/operator/csv_scanner/csv_state_machine.cpp deleted file mode 100644 index 785b74f416a9..000000000000 --- a/src/execution/operator/csv_scanner/csv_state_machine.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include "duckdb/execution/operator/scan/csv/csv_state_machine.hpp" -#include "duckdb/execution/operator/scan/csv/csv_sniffer.hpp" -#include "utf8proc_wrapper.hpp" -#include "duckdb/main/error_manager.hpp" -#include "duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp" - -namespace duckdb { - -CSVStateMachine::CSVStateMachine(CSVReaderOptions &options_p, const CSVStateMachineOptions &state_machine_options, - shared_ptr buffer_manager_p, - CSVStateMachineCache &csv_state_machine_cache_p) - : csv_state_machine_cache(csv_state_machine_cache_p), options(options_p), - csv_buffer_iterator(std::move(buffer_manager_p)), - transition_array(csv_state_machine_cache.Get(state_machine_options)) { - dialect_options.state_machine_options = state_machine_options; - dialect_options.has_format = options.dialect_options.has_format; - dialect_options.date_format = options.dialect_options.date_format; - dialect_options.skip_rows = options.dialect_options.skip_rows; -} - -void CSVStateMachine::Reset() { - csv_buffer_iterator.Reset(); -} - -void CSVStateMachine::VerifyUTF8() { - auto utf_type = Utf8Proc::Analyze(value.c_str(), value.size()); - if (utf_type == UnicodeType::INVALID) { - int64_t error_line = cur_rows; - throw InvalidInputException("Error in file \"%s\" at line %llu: " - "%s. Parser options:\n%s", - options.file_path, error_line, ErrorManager::InvalidUnicodeError(value, "CSV file"), - options.ToString()); - } -} -} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/csv_state_machine_cache.cpp b/src/execution/operator/csv_scanner/csv_state_machine_cache.cpp deleted file mode 100644 index 3129048ef948..000000000000 --- a/src/execution/operator/csv_scanner/csv_state_machine_cache.cpp +++ /dev/null @@ -1,99 +0,0 @@ -#include "duckdb/execution/operator/scan/csv/csv_state_machine.hpp" -#include "duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp" - -namespace duckdb { - -void InitializeTransitionArray(CSVState *transition_array, const CSVState state) { - for (uint32_t i = 0; i < StateMachine::NUM_TRANSITIONS; i++) { - transition_array[i] = state; - } -} - -void CSVStateMachineCache::Insert(const CSVStateMachineOptions &state_machine_options) { - D_ASSERT(state_machine_cache.find(state_machine_options) == state_machine_cache.end()); - // Initialize transition array with default values to the Standard option - auto &transition_array = state_machine_cache[state_machine_options]; - - for (uint32_t i = 0; i < StateMachine::NUM_STATES; i++) { - CSVState cur_state = CSVState(i); - switch (cur_state) { - case CSVState::QUOTED: - InitializeTransitionArray(transition_array[cur_state], CSVState::QUOTED); - break; - case CSVState::UNQUOTED: - case CSVState::INVALID: - case CSVState::ESCAPE: - InitializeTransitionArray(transition_array[cur_state], CSVState::INVALID); - break; - default: - InitializeTransitionArray(transition_array[cur_state], CSVState::STANDARD); - break; - } - } - - // Now set values depending on configuration - // 1) Standard State - transition_array[CSVState::STANDARD][static_cast(state_machine_options.delimiter)] = CSVState::DELIMITER; - transition_array[CSVState::STANDARD][static_cast('\n')] = CSVState::RECORD_SEPARATOR; - transition_array[CSVState::STANDARD][static_cast('\r')] = CSVState::CARRIAGE_RETURN; - transition_array[CSVState::STANDARD][static_cast(state_machine_options.quote)] = CSVState::QUOTED; - // 2) Field Separator State - transition_array[CSVState::DELIMITER][static_cast(state_machine_options.delimiter)] = CSVState::DELIMITER; - transition_array[CSVState::DELIMITER][static_cast('\n')] = CSVState::RECORD_SEPARATOR; - transition_array[CSVState::DELIMITER][static_cast('\r')] = CSVState::CARRIAGE_RETURN; - transition_array[CSVState::DELIMITER][static_cast(state_machine_options.quote)] = CSVState::QUOTED; - // 3) Record Separator State - transition_array[CSVState::RECORD_SEPARATOR][static_cast(state_machine_options.delimiter)] = - CSVState::DELIMITER; - transition_array[CSVState::RECORD_SEPARATOR][static_cast('\n')] = CSVState::EMPTY_LINE; - transition_array[CSVState::RECORD_SEPARATOR][static_cast('\r')] = CSVState::EMPTY_LINE; - transition_array[CSVState::RECORD_SEPARATOR][static_cast(state_machine_options.quote)] = CSVState::QUOTED; - // 4) Carriage Return State - transition_array[CSVState::CARRIAGE_RETURN][static_cast('\n')] = CSVState::RECORD_SEPARATOR; - transition_array[CSVState::CARRIAGE_RETURN][static_cast('\r')] = CSVState::EMPTY_LINE; - transition_array[CSVState::CARRIAGE_RETURN][static_cast(state_machine_options.escape)] = CSVState::ESCAPE; - // 5) Quoted State - transition_array[CSVState::QUOTED][static_cast(state_machine_options.quote)] = CSVState::UNQUOTED; - if (state_machine_options.quote != state_machine_options.escape) { - transition_array[CSVState::QUOTED][static_cast(state_machine_options.escape)] = CSVState::ESCAPE; - } - // 6) Unquoted State - transition_array[CSVState::UNQUOTED][static_cast('\n')] = CSVState::RECORD_SEPARATOR; - transition_array[CSVState::UNQUOTED][static_cast('\r')] = CSVState::CARRIAGE_RETURN; - transition_array[CSVState::UNQUOTED][static_cast(state_machine_options.delimiter)] = CSVState::DELIMITER; - if (state_machine_options.quote == state_machine_options.escape) { - transition_array[CSVState::UNQUOTED][static_cast(state_machine_options.escape)] = CSVState::QUOTED; - } - // 7) Escaped State - transition_array[CSVState::ESCAPE][static_cast(state_machine_options.quote)] = CSVState::QUOTED; - transition_array[CSVState::ESCAPE][static_cast(state_machine_options.escape)] = CSVState::QUOTED; - // 8) Empty Line State - transition_array[CSVState::EMPTY_LINE][static_cast('\r')] = CSVState::EMPTY_LINE; - transition_array[CSVState::EMPTY_LINE][static_cast('\n')] = CSVState::EMPTY_LINE; - transition_array[CSVState::EMPTY_LINE][static_cast(state_machine_options.delimiter)] = CSVState::DELIMITER; - transition_array[CSVState::EMPTY_LINE][static_cast(state_machine_options.quote)] = CSVState::QUOTED; -} - -CSVStateMachineCache::CSVStateMachineCache() { - for (auto quoterule : default_quote_rule) { - const auto "e_candidates = default_quote[static_cast(quoterule)]; - for (const auto "e : quote_candidates) { - for (const auto &delimiter : default_delimiter) { - const auto &escape_candidates = default_escape[static_cast(quoterule)]; - for (const auto &escape : escape_candidates) { - Insert({delimiter, quote, escape}); - } - } - } - } -} - -const StateMachine &CSVStateMachineCache::Get(const CSVStateMachineOptions &state_machine_options) { - //! Custom State Machine, we need to create it and cache it first - if (state_machine_cache.find(state_machine_options) == state_machine_cache.end()) { - Insert(state_machine_options); - } - const auto &transition_array = state_machine_cache[state_machine_options]; - return transition_array; -} -} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/parallel_csv_reader.cpp b/src/execution/operator/csv_scanner/parallel_csv_reader.cpp deleted file mode 100644 index 88d90765b2c4..000000000000 --- a/src/execution/operator/csv_scanner/parallel_csv_reader.cpp +++ /dev/null @@ -1,689 +0,0 @@ -#include "duckdb/execution/operator/scan/csv/parallel_csv_reader.hpp" - -#include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" -#include "duckdb/common/file_system.hpp" -#include "duckdb/common/string_util.hpp" -#include "duckdb/common/to_string.hpp" -#include "duckdb/common/types/cast_helpers.hpp" -#include "duckdb/common/vector_operations/unary_executor.hpp" -#include "duckdb/common/vector_operations/vector_operations.hpp" -#include "duckdb/function/scalar/strftime_format.hpp" -#include "duckdb/main/database.hpp" -#include "duckdb/parser/column_definition.hpp" -#include "duckdb/storage/data_table.hpp" -#include "utf8proc_wrapper.hpp" -#include "utf8proc.hpp" -#include "duckdb/parser/keyword_helper.hpp" -#include "duckdb/function/table/read_csv.hpp" -#include "duckdb/execution/operator/scan/csv/csv_line_info.hpp" - -#include -#include -#include -#include - -namespace duckdb { - -ParallelCSVReader::ParallelCSVReader(ClientContext &context, CSVReaderOptions options_p, - unique_ptr buffer_p, idx_t first_pos_first_buffer_p, - const vector &requested_types, idx_t file_idx_p) - : BaseCSVReader(context, std::move(options_p), requested_types), file_idx(file_idx_p), - first_pos_first_buffer(first_pos_first_buffer_p) { - Initialize(requested_types); - SetBufferRead(std::move(buffer_p)); -} - -void ParallelCSVReader::Initialize(const vector &requested_types) { - return_types = requested_types; - InitParseChunk(return_types.size()); -} - -bool ParallelCSVReader::NewLineDelimiter(bool carry, bool carry_followed_by_nl, bool first_char) { - // Set the delimiter if not set yet. - SetNewLineDelimiter(carry, carry_followed_by_nl); - D_ASSERT(options.dialect_options.new_line == NewLineIdentifier::SINGLE || - options.dialect_options.new_line == NewLineIdentifier::CARRY_ON); - if (options.dialect_options.new_line == NewLineIdentifier::SINGLE) { - return (!carry) || (carry && !carry_followed_by_nl); - } - return (carry && carry_followed_by_nl) || (!carry && first_char); -} - -bool ParallelCSVReader::SkipEmptyLines() { - const idx_t initial_position_buffer = position_buffer; - idx_t new_pos_buffer = position_buffer; - if (parse_chunk.data.size() == 1) { - // Empty lines are null data. - return initial_position_buffer != position_buffer; - } - for (; new_pos_buffer < end_buffer; new_pos_buffer++) { - if (StringUtil::CharacterIsNewline((*buffer)[new_pos_buffer])) { - bool carrier_return = (*buffer)[new_pos_buffer] == '\r'; - new_pos_buffer++; - if (carrier_return && new_pos_buffer < buffer_size && (*buffer)[new_pos_buffer] == '\n') { - position_buffer++; - } - if (new_pos_buffer > end_buffer) { - return initial_position_buffer != position_buffer; - } - position_buffer = new_pos_buffer; - } else if ((*buffer)[new_pos_buffer] != ' ') { - return initial_position_buffer != position_buffer; - } - } - return initial_position_buffer != position_buffer; -} - -bool ParallelCSVReader::SetPosition() { - if (buffer->buffer->is_first_buffer && start_buffer == position_buffer && start_buffer == first_pos_first_buffer) { - start_buffer = buffer->buffer->start_position; - position_buffer = start_buffer; - verification_positions.beginning_of_first_line = position_buffer; - verification_positions.end_of_last_line = position_buffer; - // First buffer doesn't need any setting - - if (options.dialect_options.header) { - for (; position_buffer < end_buffer; position_buffer++) { - if (StringUtil::CharacterIsNewline((*buffer)[position_buffer])) { - bool carrier_return = (*buffer)[position_buffer] == '\r'; - position_buffer++; - if (carrier_return && position_buffer < buffer_size && (*buffer)[position_buffer] == '\n') { - position_buffer++; - } - if (position_buffer > end_buffer) { - VerifyLineLength(position_buffer, buffer->batch_index); - return false; - } - SkipEmptyLines(); - if (verification_positions.beginning_of_first_line == 0) { - verification_positions.beginning_of_first_line = position_buffer; - } - VerifyLineLength(position_buffer, buffer->batch_index); - verification_positions.end_of_last_line = position_buffer; - return true; - } - } - VerifyLineLength(position_buffer, buffer->batch_index); - return false; - } - SkipEmptyLines(); - if (verification_positions.beginning_of_first_line == 0) { - verification_positions.beginning_of_first_line = position_buffer; - } - - verification_positions.end_of_last_line = position_buffer; - return true; - } - - // We have to move position up to next new line - idx_t end_buffer_real = end_buffer; - // Check if we already start in a valid line - string error_message; - bool successfully_read_first_line = false; - while (!successfully_read_first_line) { - DataChunk first_line_chunk; - first_line_chunk.Initialize(allocator, return_types); - // Ensure that parse_chunk has no gunk when trying to figure new line - parse_chunk.Reset(); - for (; position_buffer < end_buffer; position_buffer++) { - if (StringUtil::CharacterIsNewline((*buffer)[position_buffer])) { - bool carriage_return = (*buffer)[position_buffer] == '\r'; - bool carriage_return_followed = false; - position_buffer++; - if (position_buffer < end_buffer) { - if (carriage_return && (*buffer)[position_buffer] == '\n') { - carriage_return_followed = true; - position_buffer++; - } - } - if (NewLineDelimiter(carriage_return, carriage_return_followed, position_buffer - 1 == start_buffer)) { - break; - } - } - } - SkipEmptyLines(); - - if (position_buffer > buffer_size) { - break; - } - - auto pos_check = position_buffer == 0 ? position_buffer : position_buffer - 1; - if (position_buffer >= end_buffer && !StringUtil::CharacterIsNewline((*buffer)[pos_check])) { - break; - } - - if (position_buffer > end_buffer && options.dialect_options.new_line == NewLineIdentifier::CARRY_ON && - (*buffer)[pos_check] == '\n') { - break; - } - idx_t position_set = position_buffer; - start_buffer = position_buffer; - // We check if we can add this line - // disable the projection pushdown while reading the first line - // otherwise the first line parsing can be influenced by which columns we are reading - auto column_ids = std::move(reader_data.column_ids); - auto column_mapping = std::move(reader_data.column_mapping); - InitializeProjection(); - try { - successfully_read_first_line = TryParseSimpleCSV(first_line_chunk, error_message, true); - } catch (...) { - successfully_read_first_line = false; - } - // restore the projection pushdown - reader_data.column_ids = std::move(column_ids); - reader_data.column_mapping = std::move(column_mapping); - end_buffer = end_buffer_real; - start_buffer = position_set; - if (position_buffer >= end_buffer) { - if (successfully_read_first_line) { - position_buffer = position_set; - } - break; - } - position_buffer = position_set; - } - if (verification_positions.beginning_of_first_line == 0) { - verification_positions.beginning_of_first_line = position_buffer; - } - // Ensure that parse_chunk has no gunk when trying to figure new line - parse_chunk.Reset(); - verification_positions.end_of_last_line = position_buffer; - finished = false; - return successfully_read_first_line; -} - -void ParallelCSVReader::SetBufferRead(unique_ptr buffer_read_p) { - if (!buffer_read_p->buffer) { - throw InternalException("ParallelCSVReader::SetBufferRead - CSVBufferRead does not have a buffer to read"); - } - position_buffer = buffer_read_p->buffer_start; - start_buffer = buffer_read_p->buffer_start; - end_buffer = buffer_read_p->buffer_end; - if (buffer_read_p->next_buffer) { - buffer_size = buffer_read_p->buffer->actual_size + buffer_read_p->next_buffer->actual_size; - } else { - buffer_size = buffer_read_p->buffer->actual_size; - } - buffer = std::move(buffer_read_p); - - reached_remainder_state = false; - verification_positions.beginning_of_first_line = 0; - verification_positions.end_of_last_line = 0; - finished = false; - D_ASSERT(end_buffer <= buffer_size); -} - -VerificationPositions ParallelCSVReader::GetVerificationPositions() { - verification_positions.beginning_of_first_line += buffer->buffer->csv_global_start; - verification_positions.end_of_last_line += buffer->buffer->csv_global_start; - return verification_positions; -} - -// If BufferRemainder returns false, it means we are done scanning this buffer and should go to the end_state -bool ParallelCSVReader::BufferRemainder() { - if (position_buffer >= end_buffer && !reached_remainder_state) { - // First time we finish the buffer piece we should scan here, we set the variables - // to allow this piece to be scanned up to the end of the buffer or the next new line - reached_remainder_state = true; - // end_buffer is allowed to go to buffer size to finish its last line - end_buffer = buffer_size; - } - if (position_buffer >= end_buffer) { - // buffer ends, return false - return false; - } - // we can still scan stuff, return true - return true; -} - -bool AllNewLine(string_t value, idx_t column_amount) { - auto value_str = value.GetString(); - if (value_str.empty() && column_amount == 1) { - // This is a one column (empty) - return false; - } - for (idx_t i = 0; i < value.GetSize(); i++) { - if (!StringUtil::CharacterIsNewline(value_str[i])) { - return false; - } - } - return true; -} - -bool ParallelCSVReader::TryParseSimpleCSV(DataChunk &insert_chunk, string &error_message, bool try_add_line) { - // If line is not set, we have to figure it out, we assume whatever is in the first line - if (options.dialect_options.new_line == NewLineIdentifier::NOT_SET) { - idx_t cur_pos = position_buffer; - // we can start in the middle of a new line, so move a bit forward. - while (cur_pos < end_buffer) { - if (StringUtil::CharacterIsNewline((*buffer)[cur_pos])) { - cur_pos++; - } else { - break; - } - } - for (; cur_pos < end_buffer; cur_pos++) { - if (StringUtil::CharacterIsNewline((*buffer)[cur_pos])) { - bool carriage_return = (*buffer)[cur_pos] == '\r'; - bool carriage_return_followed = false; - cur_pos++; - if (cur_pos < end_buffer) { - if (carriage_return && (*buffer)[cur_pos] == '\n') { - carriage_return_followed = true; - cur_pos++; - } - } - SetNewLineDelimiter(carriage_return, carriage_return_followed); - break; - } - } - } - // used for parsing algorithm - if (start_buffer == buffer_size) { - // Nothing to read - finished = true; - return true; - } - D_ASSERT(end_buffer <= buffer_size); - bool finished_chunk = false; - idx_t column = 0; - idx_t offset = 0; - bool has_quotes = false; - bool last_line_empty = false; - vector escape_positions; - if ((start_buffer == buffer->buffer_start || start_buffer == buffer->buffer_end) && !try_add_line) { - // First time reading this buffer piece - if (!SetPosition()) { - finished = true; - return true; - } - } - if (position_buffer == buffer_size) { - // Nothing to read - finished = true; - return true; - } - // Keep track of line size - idx_t line_start = position_buffer; - // start parsing the first value - goto value_start; - -value_start : { - /* state: value_start */ - if (!BufferRemainder()) { - goto final_state; - } - offset = 0; - - // this state parses the first character of a value - if ((*buffer)[position_buffer] == options.dialect_options.state_machine_options.quote) { - // quote: actual value starts in the next position - // move to in_quotes state - start_buffer = position_buffer + 1; - goto in_quotes; - } else { - // no quote, move to normal parsing state - start_buffer = position_buffer; - goto normal; - } -}; - -normal : { - /* state: normal parsing state */ - // this state parses the remainder of a non-quoted value until we reach a delimiter or newline - for (; position_buffer < end_buffer; position_buffer++) { - auto c = (*buffer)[position_buffer]; - if (c == options.dialect_options.state_machine_options.delimiter) { - // Check if previous character is a quote, if yes, this means we are in a non-initialized quoted value - // This only matters for when trying to figure out where csv lines start - if (position_buffer > 0 && try_add_line) { - if ((*buffer)[position_buffer - 1] == options.dialect_options.state_machine_options.quote) { - return false; - } - } - // delimiter: end the value and add it to the chunk - goto add_value; - } else if (StringUtil::CharacterIsNewline(c)) { - // Check if previous character is a quote, if yes, this means we are in a non-initialized quoted value - // This only matters for when trying to figure out where csv lines start - if (position_buffer > 0 && try_add_line) { - if ((*buffer)[position_buffer - 1] == options.dialect_options.state_machine_options.quote) { - return false; - } - } - // newline: add row - if (column > 0 || try_add_line || parse_chunk.data.size() == 1) { - goto add_row; - } - if (column == 0 && position_buffer == start_buffer) { - start_buffer++; - } - } - } - if (!BufferRemainder()) { - goto final_state; - } else { - goto normal; - } -}; - -add_value : { - /* state: Add value to string vector */ - AddValue(buffer->GetValue(start_buffer, position_buffer, offset), column, escape_positions, has_quotes, - buffer->local_batch_index); - // increase position by 1 and move start to the new position - offset = 0; - has_quotes = false; - start_buffer = ++position_buffer; - if (!BufferRemainder()) { - goto final_state; - } - goto value_start; -}; - -add_row : { - /* state: Add Row to Parse chunk */ - // check type of newline (\r or \n) - bool carriage_return = (*buffer)[position_buffer] == '\r'; - - AddValue(buffer->GetValue(start_buffer, position_buffer, offset), column, escape_positions, has_quotes, - buffer->local_batch_index); - if (try_add_line) { - bool success = column == insert_chunk.ColumnCount(); - if (success) { - idx_t cur_linenr = linenr; - AddRow(insert_chunk, column, error_message, buffer->local_batch_index); - success = Flush(insert_chunk, buffer->local_batch_index, true); - linenr = cur_linenr; - } - reached_remainder_state = false; - parse_chunk.Reset(); - return success; - } else { - VerifyLineLength(position_buffer - line_start, buffer->batch_index); - line_start = position_buffer; - finished_chunk = AddRow(insert_chunk, column, error_message, buffer->local_batch_index); - } - // increase position by 1 and move start to the new position - offset = 0; - has_quotes = false; - position_buffer++; - start_buffer = position_buffer; - verification_positions.end_of_last_line = position_buffer; - if (carriage_return) { - // \r newline, go to special state that parses an optional \n afterwards - // optionally skips a newline (\n) character, which allows \r\n to be interpreted as a single line - if (!BufferRemainder()) { - goto final_state; - } - if ((*buffer)[position_buffer] == '\n') { - if (options.dialect_options.new_line == NewLineIdentifier::SINGLE) { - error_message = "Wrong NewLine Identifier. Expecting \\r\\n"; - return false; - } - // newline after carriage return: skip - // increase position by 1 and move start to the new position - start_buffer = ++position_buffer; - - SkipEmptyLines(); - verification_positions.end_of_last_line = position_buffer; - start_buffer = position_buffer; - if (reached_remainder_state) { - goto final_state; - } - } else { - if (options.dialect_options.new_line == NewLineIdentifier::CARRY_ON) { - error_message = "Wrong NewLine Identifier. Expecting \\r or \\n"; - return false; - } - } - if (!BufferRemainder()) { - goto final_state; - } - if (reached_remainder_state || finished_chunk) { - goto final_state; - } - goto value_start; - } else { - if (options.dialect_options.new_line == NewLineIdentifier::CARRY_ON) { - error_message = "Wrong NewLine Identifier. Expecting \\r or \\n"; - return false; - } - if (reached_remainder_state) { - goto final_state; - } - if (!BufferRemainder()) { - goto final_state; - } - if (SkipEmptyLines() && reached_remainder_state) { - last_line_empty = true; - goto final_state; - } - if (position_buffer - verification_positions.end_of_last_line > options.buffer_size) { - error_message = "Line does not fit in one buffer. Increase the buffer size."; - return false; - } - verification_positions.end_of_last_line = position_buffer; - start_buffer = position_buffer; - // \n newline, move to value start - if (finished_chunk) { - goto final_state; - } - goto value_start; - } -} -in_quotes: - /* state: in_quotes this state parses the remainder of a quoted value*/ - has_quotes = true; - position_buffer++; - for (; position_buffer < end_buffer; position_buffer++) { - auto c = (*buffer)[position_buffer]; - if (c == options.dialect_options.state_machine_options.quote) { - // quote: move to unquoted state - goto unquote; - } else if (c == options.dialect_options.state_machine_options.escape) { - // escape: store the escaped position and move to handle_escape state - escape_positions.push_back(position_buffer - start_buffer); - goto handle_escape; - } - } - if (!BufferRemainder()) { - if (buffer->buffer->is_last_buffer) { - if (try_add_line) { - return false; - } - // still in quoted state at the end of the file or at the end of a buffer when running multithreaded, error: - throw InvalidInputException("Error in file \"%s\" on line %s: unterminated quotes. (%s)", options.file_path, - GetLineNumberStr(linenr, linenr_estimated, buffer->local_batch_index).c_str(), - options.ToString()); - } else { - goto final_state; - } - } else { - position_buffer--; - goto in_quotes; - } - -unquote : { - /* state: unquote: this state handles the state directly after we unquote*/ - // - // in this state we expect either another quote (entering the quoted state again, and escaping the quote) - // or a delimiter/newline, ending the current value and moving on to the next value - position_buffer++; - if (!BufferRemainder()) { - offset = 1; - goto final_state; - } - auto c = (*buffer)[position_buffer]; - if (c == options.dialect_options.state_machine_options.quote && - (options.dialect_options.state_machine_options.escape == '\0' || - options.dialect_options.state_machine_options.escape == options.dialect_options.state_machine_options.quote)) { - // escaped quote, return to quoted state and store escape position - escape_positions.push_back(position_buffer - start_buffer); - goto in_quotes; - } else if (c == options.dialect_options.state_machine_options.delimiter) { - // delimiter, add value - offset = 1; - goto add_value; - } else if (StringUtil::CharacterIsNewline(c)) { - offset = 1; - // FIXME: should this be an assertion? - D_ASSERT(try_add_line || (!try_add_line && column == parse_chunk.ColumnCount() - 1)); - goto add_row; - } else if (position_buffer >= end_buffer) { - // reached end of buffer - offset = 1; - goto final_state; - } else { - error_message = StringUtil::Format( - "Error in file \"%s\" on line %s: quote should be followed by end of value, end of " - "row or another quote. (%s). ", - options.file_path, GetLineNumberStr(linenr, linenr_estimated, buffer->local_batch_index).c_str(), - options.ToString()); - return false; - } -} -handle_escape : { - /* state: handle_escape */ - // escape should be followed by a quote or another escape character - position_buffer++; - if (!BufferRemainder()) { - goto final_state; - } - if (position_buffer >= buffer_size && buffer->buffer->is_last_buffer) { - error_message = StringUtil::Format( - "Error in file \"%s\" on line %s: neither QUOTE nor ESCAPE is proceeded by ESCAPE. (%s)", options.file_path, - GetLineNumberStr(linenr, linenr_estimated, buffer->local_batch_index).c_str(), options.ToString()); - return false; - } - if ((*buffer)[position_buffer] != options.dialect_options.state_machine_options.quote && - (*buffer)[position_buffer] != options.dialect_options.state_machine_options.escape) { - error_message = StringUtil::Format( - "Error in file \"%s\" on line %s: neither QUOTE nor ESCAPE is proceeded by ESCAPE. (%s)", options.file_path, - GetLineNumberStr(linenr, linenr_estimated, buffer->local_batch_index).c_str(), options.ToString()); - return false; - } - // escape was followed by quote or escape, go back to quoted state - goto in_quotes; -} -final_state : { - /* state: final_stage reached after we finished reading the end_buffer of the csv buffer */ - // reset end buffer - end_buffer = buffer->buffer_end; - if (position_buffer == end_buffer) { - reached_remainder_state = false; - } - if (finished_chunk) { - if (position_buffer >= end_buffer) { - if (position_buffer == end_buffer && StringUtil::CharacterIsNewline((*buffer)[position_buffer - 1]) && - position_buffer < buffer_size) { - // last position is a new line, we still have to go through one more line of this buffer - finished = false; - } else { - finished = true; - } - } - buffer->lines_read += insert_chunk.size(); - return true; - } - // If this is the last buffer, we have to read the last value - if (!last_line_empty && (buffer->buffer->is_last_buffer || !buffer->next_buffer || - (buffer->next_buffer && buffer->next_buffer->is_last_buffer))) { - if (column > 0 || start_buffer != position_buffer || try_add_line || - (insert_chunk.data.size() == 1 && start_buffer != position_buffer)) { - // remaining values to be added to the chunk - auto str_value = buffer->GetValue(start_buffer, position_buffer, offset); - if (!AllNewLine(str_value, insert_chunk.data.size()) || offset == 0) { - AddValue(str_value, column, escape_positions, has_quotes, buffer->local_batch_index); - if (try_add_line) { - bool success = column == return_types.size(); - if (success) { - auto cur_linenr = linenr; - AddRow(insert_chunk, column, error_message, buffer->local_batch_index); - success = Flush(insert_chunk, buffer->local_batch_index); - linenr = cur_linenr; - } - parse_chunk.Reset(); - reached_remainder_state = false; - return success; - } else { - VerifyLineLength(position_buffer - line_start, buffer->batch_index); - line_start = position_buffer; - AddRow(insert_chunk, column, error_message, buffer->local_batch_index); - if (position_buffer - verification_positions.end_of_last_line > options.buffer_size) { - error_message = "Line does not fit in one buffer. Increase the buffer size."; - return false; - } - verification_positions.end_of_last_line = position_buffer; - } - } - } - } - // flush the parsed chunk and finalize parsing - if (mode == ParserMode::PARSING) { - Flush(insert_chunk, buffer->local_batch_index); - buffer->lines_read += insert_chunk.size(); - } - if (position_buffer - verification_positions.end_of_last_line > options.buffer_size) { - error_message = "Line does not fit in one buffer. Increase the buffer size."; - return false; - } - end_buffer = buffer_size; - SkipEmptyLines(); - end_buffer = buffer->buffer_end; - verification_positions.end_of_last_line = position_buffer; - if (position_buffer >= end_buffer) { - if (position_buffer >= end_buffer) { - if (position_buffer == end_buffer && StringUtil::CharacterIsNewline((*buffer)[position_buffer - 1]) && - position_buffer < buffer_size) { - // last position is a new line, we still have to go through one more line of this buffer - finished = false; - } else { - finished = true; - } - } - } - return true; -}; -} - -void ParallelCSVReader::ParseCSV(DataChunk &insert_chunk) { - string error_message; - if (!TryParseCSV(ParserMode::PARSING, insert_chunk, error_message)) { - throw InvalidInputException(error_message); - } -} - -idx_t ParallelCSVReader::GetLineError(idx_t line_error, idx_t buffer_idx, bool stop_at_first) { - while (true) { - if (buffer->line_info->CanItGetLine(file_idx, buffer_idx)) { - auto cur_start = verification_positions.beginning_of_first_line + buffer->buffer->csv_global_start; - return buffer->line_info->GetLine(buffer_idx, line_error, file_idx, cur_start, false, stop_at_first); - } - } -} - -void ParallelCSVReader::Increment(idx_t buffer_idx) { - return buffer->line_info->Increment(file_idx, buffer_idx); -} - -bool ParallelCSVReader::TryParseCSV(ParserMode mode) { - DataChunk dummy_chunk; - string error_message; - return TryParseCSV(mode, dummy_chunk, error_message); -} - -void ParallelCSVReader::ParseCSV(ParserMode mode) { - DataChunk dummy_chunk; - string error_message; - if (!TryParseCSV(mode, dummy_chunk, error_message)) { - throw InvalidInputException(error_message); - } -} - -bool ParallelCSVReader::TryParseCSV(ParserMode parser_mode, DataChunk &insert_chunk, string &error_message) { - mode = parser_mode; - return TryParseSimpleCSV(insert_chunk, error_message); -} - -} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/scanner/CMakeLists.txt b/src/execution/operator/csv_scanner/scanner/CMakeLists.txt new file mode 100644 index 000000000000..12d3d6a9184f --- /dev/null +++ b/src/execution/operator/csv_scanner/scanner/CMakeLists.txt @@ -0,0 +1,12 @@ +add_library_unity( + duckdb_csv_scanner + OBJECT + base_scanner.cpp + column_count_scanner.cpp + scanner_boundary.cpp + skip_scanner.cpp + string_value_scanner.cpp) + +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/execution/operator/csv_scanner/scanner/base_scanner.cpp b/src/execution/operator/csv_scanner/scanner/base_scanner.cpp new file mode 100644 index 000000000000..9ba2e6d54177 --- /dev/null +++ b/src/execution/operator/csv_scanner/scanner/base_scanner.cpp @@ -0,0 +1,71 @@ +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/base_scanner.hpp" + +namespace duckdb { + +ScannerResult::ScannerResult(CSVStates &states_p, CSVStateMachine &state_machine_p) + : states(states_p), state_machine(state_machine_p) { +} + +BaseScanner::BaseScanner(shared_ptr buffer_manager_p, shared_ptr state_machine_p, + shared_ptr error_handler_p, shared_ptr csv_file_scan_p, + CSVIterator iterator_p) + : csv_file_scan(std::move(csv_file_scan_p)), error_handler(std::move(error_handler_p)), + state_machine(std::move(state_machine_p)), iterator(iterator_p), buffer_manager(std::move(buffer_manager_p)) { + D_ASSERT(buffer_manager); + D_ASSERT(state_machine); + // Initialize current buffer handle + cur_buffer_handle = buffer_manager->GetBuffer(iterator.GetBufferIdx()); + if (!cur_buffer_handle) { + buffer_handle_ptr = nullptr; + } else { + buffer_handle_ptr = cur_buffer_handle->Ptr(); + } +} + +bool BaseScanner::FinishedFile() { + if (!cur_buffer_handle) { + return true; + } + // we have to scan to infinity, so we must check if we are done checking the whole file + if (!buffer_manager->Done()) { + return false; + } + // If yes, are we in the last buffer? + if (iterator.pos.buffer_idx != buffer_manager->BufferCount()) { + return false; + } + // If yes, are we in the last position? + return iterator.pos.buffer_pos + 1 == cur_buffer_handle->actual_size; +} + +void BaseScanner::Reset() { + iterator.SetCurrentPositionToBoundary(); + lines_read = 0; +} + +CSVIterator &BaseScanner::GetIterator() { + return iterator; +} + +ScannerResult &BaseScanner::ParseChunk() { + throw InternalException("ParseChunk() from CSV Base Scanner is mot implemented"); +} + +ScannerResult &BaseScanner::GetResult() { + throw InternalException("GetResult() from CSV Base Scanner is mot implemented"); +} + +void BaseScanner::Initialize() { + throw InternalException("Initialize() from CSV Base Scanner is mot implemented"); +} + +void BaseScanner::FinalizeChunkProcess() { + throw InternalException("FinalizeChunkProcess() from CSV Base Scanner is mot implemented"); +} + +CSVStateMachine &BaseScanner::GetStateMachine() { + return *state_machine; +} + +} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/scanner/column_count_scanner.cpp b/src/execution/operator/csv_scanner/scanner/column_count_scanner.cpp new file mode 100644 index 000000000000..d07087478580 --- /dev/null +++ b/src/execution/operator/csv_scanner/scanner/column_count_scanner.cpp @@ -0,0 +1,98 @@ +#include "duckdb/execution/operator/csv_scanner/scanner/column_count_scanner.hpp" + +namespace duckdb { + +ColumnCountResult::ColumnCountResult(CSVStates &states, CSVStateMachine &state_machine) + : ScannerResult(states, state_machine) { +} + +void ColumnCountResult::AddValue(ColumnCountResult &result, const idx_t buffer_pos) { + result.current_column_count++; +} + +inline void ColumnCountResult::InternalAddRow() { + column_counts[result_position++] = current_column_count + 1; + current_column_count = 0; +} + +bool ColumnCountResult::AddRow(ColumnCountResult &result, const idx_t buffer_pos) { + result.InternalAddRow(); + if (!result.states.EmptyLastValue()) { + result.last_value_always_empty = false; + } + if (result.result_position >= STANDARD_VECTOR_SIZE) { + // We sniffed enough rows + return true; + } + return false; +} + +void ColumnCountResult::InvalidState(ColumnCountResult &result) { + result.result_position = 0; + result.error = true; +} + +bool ColumnCountResult::EmptyLine(ColumnCountResult &result, const idx_t buffer_pos) { + // nop + return false; +} + +void ColumnCountResult::QuotedNewLine(ColumnCountResult &result) { + // nop +} + +ColumnCountScanner::ColumnCountScanner(shared_ptr buffer_manager, + const shared_ptr &state_machine, + shared_ptr error_handler) + : BaseScanner(std::move(buffer_manager), state_machine, std::move(error_handler)), result(states, *state_machine), + column_count(1) { + sniffing = true; +} + +unique_ptr ColumnCountScanner::UpgradeToStringValueScanner() { + auto scanner = make_uniq(0, buffer_manager, state_machine, error_handler, nullptr); + scanner->sniffing = true; + return scanner; +} + +ColumnCountResult &ColumnCountScanner::ParseChunk() { + result.result_position = 0; + column_count = 1; + ParseChunkInternal(result); + return result; +} + +ColumnCountResult &ColumnCountScanner::GetResult() { + return result; +} + +void ColumnCountScanner::Initialize() { + states.Initialize(); +} + +void ColumnCountScanner::FinalizeChunkProcess() { + if (result.result_position == STANDARD_VECTOR_SIZE || result.error) { + // We are done + return; + } + // We run until we have a full chunk, or we are done scanning + while (!FinishedFile() && result.result_position < STANDARD_VECTOR_SIZE && !result.error) { + if (iterator.pos.buffer_pos == cur_buffer_handle->actual_size) { + // Move to next buffer + cur_buffer_handle = buffer_manager->GetBuffer(++iterator.pos.buffer_idx); + if (!cur_buffer_handle) { + buffer_handle_ptr = nullptr; + if (states.EmptyLine() || states.NewRow() || states.IsCurrentNewRow() || states.IsNotSet()) { + return; + } + // This means we reached the end of the file, we must add a last line if there is any to be added + result.InternalAddRow(); + return; + } + iterator.pos.buffer_pos = 0; + buffer_handle_ptr = cur_buffer_handle->Ptr(); + } + Process(result); + } +} +} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp b/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp new file mode 100644 index 000000000000..e12a3c353a83 --- /dev/null +++ b/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp @@ -0,0 +1,105 @@ +#include "duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp" + +namespace duckdb { + +CSVPosition::CSVPosition(idx_t file_idx_p, idx_t buffer_idx_p, idx_t buffer_pos_p) + : file_idx(file_idx_p), buffer_idx(buffer_idx_p), buffer_pos(buffer_pos_p) { +} +CSVPosition::CSVPosition() { +} + +CSVBoundary::CSVBoundary(idx_t file_idx_p, idx_t buffer_idx_p, idx_t buffer_pos_p, idx_t boundary_idx_p, + idx_t end_pos_p) + : file_idx(file_idx_p), buffer_idx(buffer_idx_p), buffer_pos(buffer_pos_p), boundary_idx(boundary_idx_p), + end_pos(end_pos_p) { +} +CSVBoundary::CSVBoundary() + : file_idx(0), buffer_idx(0), buffer_pos(0), boundary_idx(0), end_pos(NumericLimits::Maximum()) { +} +CSVIterator::CSVIterator(idx_t file_idx, idx_t buffer_idx, idx_t buffer_pos, idx_t boundary_idx, idx_t buffer_size) + : pos(file_idx, buffer_idx, buffer_pos), is_set(true) { + // The end of our boundary will be the buffer size itself it that's smaller than where we want to go + if (buffer_size < buffer_pos + BYTES_PER_THREAD) { + boundary = {file_idx, buffer_idx, buffer_pos, boundary_idx, buffer_size}; + } else { + boundary = {file_idx, buffer_idx, buffer_pos, boundary_idx, buffer_pos + BYTES_PER_THREAD}; + } +} + +CSVIterator::CSVIterator() : is_set(false) { +} + +void CSVBoundary::Print() { + std::cout << "---Boundary: " << boundary_idx << " ---" << std::endl; + std::cout << "File Index:: " << file_idx << std::endl; + std::cout << "Buffer Index: " << buffer_idx << std::endl; + std::cout << "Buffer Pos: " << buffer_pos << std::endl; + std::cout << "End Pos: " << end_pos << std::endl; + std::cout << "------------" << end_pos << std::endl; +} + +void CSVIterator::Print() { + boundary.Print(); + std::cout << "Is set: " << is_set << std::endl; +} + +bool CSVIterator::Next(CSVBufferManager &buffer_manager) { + if (!is_set) { + return false; + } + boundary.boundary_idx++; + // This is our start buffer + auto buffer = buffer_manager.GetBuffer(boundary.buffer_idx); + if (buffer->is_last_buffer && boundary.buffer_pos + CSVIterator::BYTES_PER_THREAD > buffer->actual_size) { + // 1) We are done with the current file + return false; + } else if (boundary.buffer_pos + BYTES_PER_THREAD >= buffer->actual_size) { + // 2) We still have data to scan in this file, we set the iterator accordingly. + // We must move the buffer + boundary.buffer_idx++; + boundary.buffer_pos = 0; + // Verify this buffer really exists + auto next_buffer = buffer_manager.GetBuffer(boundary.buffer_idx); + if (!next_buffer) { + return false; + } + + } else { + // 3) We are not done with the current buffer, hence we just move where we start within the buffer + boundary.buffer_pos += BYTES_PER_THREAD; + } + boundary.end_pos = boundary.buffer_pos + BYTES_PER_THREAD; + SetCurrentPositionToBoundary(); + return true; +} + +bool CSVIterator::IsBoundarySet() const { + return is_set; +} +idx_t CSVIterator::GetEndPos() const { + return boundary.end_pos; +} + +idx_t CSVIterator::GetFileIdx() const { + return pos.file_idx; +} + +idx_t CSVIterator::GetBufferIdx() const { + return boundary.buffer_idx; +} + +idx_t CSVIterator::GetBoundaryIdx() const { + return boundary.boundary_idx; +} + +void CSVIterator::SetCurrentPositionToBoundary() { + pos.file_idx = boundary.file_idx; + pos.buffer_idx = boundary.buffer_idx; + pos.buffer_pos = boundary.buffer_pos; +} + +void CSVIterator::SetStart(idx_t start) { + boundary.buffer_pos = start; +} + +} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/scanner/skip_scanner.cpp b/src/execution/operator/csv_scanner/scanner/skip_scanner.cpp new file mode 100644 index 000000000000..b3d526a91a0a --- /dev/null +++ b/src/execution/operator/csv_scanner/scanner/skip_scanner.cpp @@ -0,0 +1,63 @@ +#include "duckdb/execution/operator/csv_scanner/scanner/skip_scanner.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/column_count_scanner.hpp" + +namespace duckdb { + +SkipResult::SkipResult(CSVStates &states, CSVStateMachine &state_machine, idx_t rows_to_skip_p) + : ScannerResult(states, state_machine), rows_to_skip(rows_to_skip_p) { +} + +void SkipResult::AddValue(SkipResult &result, const idx_t buffer_pos) { + // nop +} + +inline void SkipResult::InternalAddRow() { + row_count++; +} + +void SkipResult::QuotedNewLine(SkipResult &result) { + // nop +} + +bool SkipResult::AddRow(SkipResult &result, const idx_t buffer_pos) { + result.InternalAddRow(); + if (result.row_count >= result.rows_to_skip) { + // We skipped enough rows + return true; + } + return false; +} + +void SkipResult::InvalidState(SkipResult &result) { + // nop +} + +bool SkipResult::EmptyLine(SkipResult &result, const idx_t buffer_pos) { + if (result.state_machine.dialect_options.num_cols == 1) { + return AddRow(result, buffer_pos); + } + return false; +} +SkipScanner::SkipScanner(shared_ptr buffer_manager, const shared_ptr &state_machine, + shared_ptr error_handler, idx_t rows_to_skip) + : BaseScanner(std::move(buffer_manager), state_machine, std::move(error_handler)), + result(states, *state_machine, rows_to_skip) { +} + +SkipResult &SkipScanner::ParseChunk() { + ParseChunkInternal(result); + return result; +} + +SkipResult &SkipScanner::GetResult() { + return result; +} + +void SkipScanner::Initialize() { + states.Initialize(); +} + +void SkipScanner::FinalizeChunkProcess() { + // nop +} +} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp b/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp new file mode 100644 index 000000000000..b83308fe1067 --- /dev/null +++ b/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp @@ -0,0 +1,1091 @@ +#include "duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp" +#include "duckdb/execution/operator/csv_scanner/util/csv_casting.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/skip_scanner.hpp" +#include "duckdb/execution/operator/csv_scanner/table_function/csv_file_scanner.hpp" +#include "duckdb/main/client_data.hpp" +#include "duckdb/common/operator/integer_cast_operator.hpp" +#include "duckdb/common/operator/double_cast_operator.hpp" +#include + +namespace duckdb { + +StringValueResult::StringValueResult(CSVStates &states, CSVStateMachine &state_machine, + const shared_ptr &buffer_handle, Allocator &buffer_allocator, + idx_t result_size_p, idx_t buffer_position, CSVErrorHandler &error_hander_p, + CSVIterator &iterator_p, bool store_line_size_p, + shared_ptr csv_file_scan_p, idx_t &lines_read_p) + : ScannerResult(states, state_machine), number_of_columns(state_machine.dialect_options.num_cols), + null_padding(state_machine.options.null_padding), ignore_errors(state_machine.options.ignore_errors), + null_str_ptr(state_machine.options.null_str.c_str()), null_str_size(state_machine.options.null_str.size()), + result_size(result_size_p), error_handler(error_hander_p), iterator(iterator_p), + store_line_size(store_line_size_p), csv_file_scan(std::move(csv_file_scan_p)), lines_read(lines_read_p) { + // Vector information + D_ASSERT(number_of_columns > 0); + buffer_handles.push_back(buffer_handle); + // Buffer Information + buffer_ptr = buffer_handle->Ptr(); + buffer_size = buffer_handle->actual_size; + last_position = buffer_position; + + // Current Result information + previous_line_start = {iterator.pos.buffer_idx, iterator.pos.buffer_pos, buffer_handle->actual_size}; + pre_previous_line_start = previous_line_start; + // Fill out Parse Types + vector logical_types; + parse_types = make_unsafe_uniq_array(number_of_columns); + if (!csv_file_scan) { + for (idx_t i = 0; i < number_of_columns; i++) { + parse_types[i] = LogicalTypeId::VARCHAR; + logical_types.emplace_back(LogicalType::VARCHAR); + string name = "Column_" + to_string(i); + names.emplace_back(name); + } + } else { + if (csv_file_scan->file_types.size() > number_of_columns) { + throw InvalidInputException( + "Mismatch between the number of columns (%d) in the CSV file and what is expected in the scanner (%d).", + number_of_columns, csv_file_scan->file_types.size()); + } + for (idx_t i = 0; i < csv_file_scan->file_types.size(); i++) { + auto &type = csv_file_scan->file_types[i]; + if (StringValueScanner::CanDirectlyCast(type, state_machine.options.dialect_options.date_format)) { + parse_types[i] = type.id(); + logical_types.emplace_back(type); + } else { + parse_types[i] = LogicalTypeId::VARCHAR; + logical_types.emplace_back(LogicalType::VARCHAR); + } + } + names = csv_file_scan->names; + if (!csv_file_scan->projected_columns.empty()) { + projecting_columns = false; + projected_columns = make_unsafe_uniq_array(number_of_columns); + for (idx_t col_idx = 0; col_idx < number_of_columns; col_idx++) { + if (csv_file_scan->projected_columns.find(col_idx) == csv_file_scan->projected_columns.end()) { + // Column is not projected + projecting_columns = true; + projected_columns[col_idx] = false; + } else { + projected_columns[col_idx] = true; + } + } + } + if (!projecting_columns) { + for (idx_t j = logical_types.size(); j < number_of_columns; j++) { + // This can happen if we have sneaky null columns at the end that we wish to ignore + parse_types[j] = LogicalTypeId::VARCHAR; + logical_types.emplace_back(LogicalType::VARCHAR); + } + } + } + + // Initialize Parse Chunk + parse_chunk.Initialize(buffer_allocator, logical_types, result_size); + for (auto &col : parse_chunk.data) { + vector_ptr.push_back(FlatVector::GetData(col)); + validity_mask.push_back(&FlatVector::Validity(col)); + } +} + +inline bool IsValueNull(const char *null_str_ptr, const char *value_ptr, const idx_t size) { + for (idx_t i = 0; i < size; i++) { + if (null_str_ptr[i] != value_ptr[i]) { + return false; + } + } + return true; +} + +void StringValueResult::AddValueToVector(const char *value_ptr, const idx_t size, bool allocate) { + if (cur_col_id >= number_of_columns) { + bool error = true; + if (cur_col_id == number_of_columns && ((quoted && state_machine.options.allow_quoted_nulls) || !quoted)) { + // we make an exception if the first over-value is null + error = !IsValueNull(null_str_ptr, value_ptr, size); + } + if (error) { + HandleOverLimitRows(); + } + } + if (ignore_current_row) { + return; + } + if (projecting_columns) { + if (!projected_columns[cur_col_id]) { + cur_col_id++; + return; + } + } + if (size == null_str_size) { + if (((quoted && state_machine.options.allow_quoted_nulls) || !quoted)) { + if (IsValueNull(null_str_ptr, value_ptr, size)) { + bool empty = false; + if (chunk_col_id < state_machine.options.force_not_null.size()) { + empty = state_machine.options.force_not_null[chunk_col_id]; + } + if (empty) { + if (parse_types[chunk_col_id] != LogicalTypeId::VARCHAR) { + // If it is not a varchar, empty values are not accepted, we must error. + cast_errors[chunk_col_id] = std::string(""); + } + static_cast(vector_ptr[chunk_col_id])[number_of_rows] = string_t(); + } else { + if (chunk_col_id == number_of_columns) { + // We check for a weird case, where we ignore an extra value, if it is a null value + return; + } + validity_mask[chunk_col_id]->SetInvalid(number_of_rows); + } + cur_col_id++; + chunk_col_id++; + return; + } + } + } + bool success = true; + switch (parse_types[chunk_col_id]) { + case LogicalTypeId::TINYINT: + success = TrySimpleIntegerCast(value_ptr, size, static_cast(vector_ptr[chunk_col_id])[number_of_rows], + false); + break; + case LogicalTypeId::SMALLINT: + success = TrySimpleIntegerCast(value_ptr, size, + static_cast(vector_ptr[chunk_col_id])[number_of_rows], false); + break; + case LogicalTypeId::INTEGER: + success = TrySimpleIntegerCast(value_ptr, size, + static_cast(vector_ptr[chunk_col_id])[number_of_rows], false); + break; + case LogicalTypeId::BIGINT: + success = TrySimpleIntegerCast(value_ptr, size, + static_cast(vector_ptr[chunk_col_id])[number_of_rows], false); + break; + case LogicalTypeId::UTINYINT: + success = TrySimpleIntegerCast( + value_ptr, size, static_cast(vector_ptr[chunk_col_id])[number_of_rows], false); + break; + case LogicalTypeId::USMALLINT: + success = TrySimpleIntegerCast( + value_ptr, size, static_cast(vector_ptr[chunk_col_id])[number_of_rows], false); + break; + case LogicalTypeId::UINTEGER: + success = TrySimpleIntegerCast( + value_ptr, size, static_cast(vector_ptr[chunk_col_id])[number_of_rows], false); + break; + case LogicalTypeId::UBIGINT: + success = TrySimpleIntegerCast( + value_ptr, size, static_cast(vector_ptr[chunk_col_id])[number_of_rows], false); + break; + case LogicalTypeId::DOUBLE: + success = + TryDoubleCast(value_ptr, size, static_cast(vector_ptr[chunk_col_id])[number_of_rows], + false, state_machine.options.decimal_separator[0]); + break; + case LogicalTypeId::FLOAT: + success = TryDoubleCast(value_ptr, size, static_cast(vector_ptr[chunk_col_id])[number_of_rows], + false, state_machine.options.decimal_separator[0]); + break; + case LogicalTypeId::DATE: { + idx_t pos; + bool special; + success = Date::TryConvertDate(value_ptr, size, pos, + static_cast(vector_ptr[chunk_col_id])[number_of_rows], special, false); + break; + } + case LogicalTypeId::TIMESTAMP: { + success = Timestamp::TryConvertTimestamp( + value_ptr, size, static_cast(vector_ptr[chunk_col_id])[number_of_rows]) == + TimestampCastResult::SUCCESS; + break; + } + default: + if (allocate) { + static_cast(vector_ptr[chunk_col_id])[number_of_rows] = + StringVector::AddStringOrBlob(parse_chunk.data[chunk_col_id], string_t(value_ptr, size)); + } else { + static_cast(vector_ptr[chunk_col_id])[number_of_rows] = string_t(value_ptr, size); + } + break; + } + if (!success) { + // We had a casting error, we push it here because we can only error when finishing the line read. + cast_errors[cur_col_id] = std::string(value_ptr, size); + } + cur_col_id++; + chunk_col_id++; +} + +Value StringValueResult::GetValue(idx_t row_idx, idx_t col_idx) { + if (validity_mask[col_idx]->AllValid()) { + return Value(static_cast(vector_ptr[col_idx])[row_idx]); + } else { + if (validity_mask[col_idx]->RowIsValid(row_idx)) { + return Value(static_cast(vector_ptr[col_idx])[row_idx]); + } else { + return Value(); + } + } +} +DataChunk &StringValueResult::ToChunk() { + parse_chunk.SetCardinality(number_of_rows); + return parse_chunk; +} + +void StringValueResult::Reset() { + if (number_of_rows == 0) { + return; + } + number_of_rows = 0; + cur_col_id = 0; + chunk_col_id = 0; + for (auto &v : validity_mask) { + v->SetAllValid(result_size); + } + buffer_handles.clear(); +} + +void StringValueResult::AddQuotedValue(StringValueResult &result, const idx_t buffer_pos) { + if (result.escaped) { + if (result.projecting_columns) { + if (!result.projected_columns[result.cur_col_id]) { + result.cur_col_id++; + result.quoted = false; + result.escaped = false; + return; + } + } + // If it's an escaped value we have to remove all the escapes, this is not really great + auto value = StringValueScanner::RemoveEscape( + result.buffer_ptr + result.quoted_position + 1, buffer_pos - result.quoted_position - 2, + result.state_machine.dialect_options.state_machine_options.escape.GetValue(), + result.parse_chunk.data[result.chunk_col_id]); + result.AddValueToVector(value.GetData(), value.GetSize()); + } else { + if (buffer_pos < result.last_position + 2) { + // empty value + auto value = string_t(); + result.AddValueToVector(value.GetData(), value.GetSize()); + } else { + result.AddValueToVector(result.buffer_ptr + result.quoted_position + 1, + buffer_pos - result.quoted_position - 2); + } + } + result.quoted = false; + result.escaped = false; +} + +void StringValueResult::AddValue(StringValueResult &result, const idx_t buffer_pos) { + if (result.last_position > buffer_pos) { + return; + } + if (result.quoted) { + StringValueResult::AddQuotedValue(result, buffer_pos); + } else { + result.AddValueToVector(result.buffer_ptr + result.last_position, buffer_pos - result.last_position); + } + result.last_position = buffer_pos + 1; +} + +void StringValueResult::HandleOverLimitRows() { + auto csv_error = + CSVError::IncorrectColumnAmountError(state_machine.options, nullptr, number_of_columns, cur_col_id + 1); + LinesPerBoundary lines_per_batch(iterator.GetBoundaryIdx(), number_of_rows + 1); + error_handler.Error(lines_per_batch, csv_error); + // If we get here we need to remove the last line + cur_col_id = 0; + chunk_col_id = 0; + ignore_current_row = true; +} + +void StringValueResult::QuotedNewLine(StringValueResult &result) { + result.quoted_new_line = true; +} + +void StringValueResult::NullPaddingQuotedNewlineCheck() { + // We do some checks for null_padding correctness + if (state_machine.options.null_padding && iterator.IsBoundarySet() && quoted_new_line && iterator.done) { + // If we have null_padding set, we found a quoted new line, we are scanning the file in parallel and it's the + // last row of this thread. + auto csv_error = CSVError::NullPaddingFail(state_machine.options); + LinesPerBoundary lines_per_batch(iterator.GetBoundaryIdx(), number_of_rows + 1); + error_handler.Error(lines_per_batch, csv_error, true); + } +} + +bool StringValueResult::AddRowInternal() { + if (ignore_current_row) { + // An error occurred on this row, we are ignoring it and resetting our control flag + ignore_current_row = false; + return false; + } + if (!cast_errors.empty()) { + // A wild casting error appears + // Recreate row for rejects-table + vector row; + if (!state_machine.options.rejects_table_name.empty()) { + for (idx_t col = 0; col < parse_chunk.ColumnCount(); col++) { + if (cast_errors.find(col) != cast_errors.end()) { + row.push_back(cast_errors[col]); + } else { + row.push_back(parse_chunk.data[col].GetValue(number_of_rows)); + } + } + } + for (auto &cast_error : cast_errors) { + std::ostringstream error; + // Casting Error Message + error << "Could not convert string \"" << cast_error.second << "\" to \'" + << LogicalTypeIdToString(parse_types[cast_error.first]) << "\'"; + auto error_string = error.str(); + auto csv_error = CSVError::CastError(state_machine.options, names[cast_error.first], error_string, + cast_error.first, row); + LinesPerBoundary lines_per_batch(iterator.GetBoundaryIdx(), lines_read - 1); + error_handler.Error(lines_per_batch, csv_error); + } + // If we got here it means we are ignoring errors, hence we need to signify to our result scanner to ignore this + // row + // Cleanup this line and continue + cast_errors.clear(); + cur_col_id = 0; + chunk_col_id = 0; + return false; + } + NullPaddingQuotedNewlineCheck(); + quoted_new_line = false; + // We need to check if we are getting the correct number of columns here. + // If columns are correct, we add it, and that's it. + if (cur_col_id != number_of_columns) { + // We have too few columns: + if (null_padding) { + while (cur_col_id < number_of_columns) { + bool empty = false; + if (cur_col_id < state_machine.options.force_not_null.size()) { + empty = state_machine.options.force_not_null[cur_col_id]; + } + if (projecting_columns) { + if (!projected_columns[cur_col_id]) { + cur_col_id++; + continue; + } + } + if (empty) { + static_cast(vector_ptr[chunk_col_id])[number_of_rows] = string_t(); + } else { + validity_mask[chunk_col_id]->SetInvalid(number_of_rows); + } + cur_col_id++; + chunk_col_id++; + } + } else { + // If we are not null-padding this is an error + auto csv_error = + CSVError::IncorrectColumnAmountError(state_machine.options, nullptr, number_of_columns, cur_col_id); + LinesPerBoundary lines_per_batch(iterator.GetBoundaryIdx(), number_of_rows + 1); + error_handler.Error(lines_per_batch, csv_error); + // If we are here we ignore_errors, so we delete this line + number_of_rows--; + } + } + cur_col_id = 0; + chunk_col_id = 0; + number_of_rows++; + if (number_of_rows >= result_size) { + // We have a full chunk + return true; + } + return false; +} + +bool StringValueResult::AddRow(StringValueResult &result, const idx_t buffer_pos) { + if (result.last_position <= buffer_pos) { + LinePosition current_line_start = {result.iterator.pos.buffer_idx, result.iterator.pos.buffer_pos, + result.buffer_size}; + idx_t current_line_size = current_line_start - result.previous_line_start; + if (result.store_line_size) { + result.error_handler.NewMaxLineSize(current_line_size); + } + if (current_line_size > result.state_machine.options.maximum_line_size) { + auto csv_error = CSVError::LineSizeError(result.state_machine.options, current_line_size); + LinesPerBoundary lines_per_batch(result.iterator.GetBoundaryIdx(), result.number_of_rows); + result.error_handler.Error(lines_per_batch, csv_error, true); + } + result.pre_previous_line_start = result.previous_line_start; + result.previous_line_start = current_line_start; + // We add the value + if (result.quoted) { + StringValueResult::AddQuotedValue(result, buffer_pos); + } else { + result.AddValueToVector(result.buffer_ptr + result.last_position, buffer_pos - result.last_position); + } + if (result.state_machine.dialect_options.state_machine_options.new_line == NewLineIdentifier::CARRY_ON) { + if (result.states.states[1] == CSVState::RECORD_SEPARATOR) { + // Even though this is marked as a carry on, this is a hippie mixie + result.last_position = buffer_pos + 1; + } else { + result.last_position = buffer_pos + 2; + } + } else { + result.last_position = buffer_pos + 1; + } + } + + // We add the value + return result.AddRowInternal(); +} + +void StringValueResult::InvalidState(StringValueResult &result) { + // FIXME: How do we recover from an invalid state? Can we restart the state machine and jump to the next row? + auto csv_error = CSVError::UnterminatedQuotesError(result.state_machine.options, + static_cast(result.vector_ptr[result.chunk_col_id]), + result.number_of_rows, result.cur_col_id); + LinesPerBoundary lines_per_batch(result.iterator.GetBoundaryIdx(), result.number_of_rows); + result.error_handler.Error(lines_per_batch, csv_error); +} + +bool StringValueResult::EmptyLine(StringValueResult &result, const idx_t buffer_pos) { + // We care about empty lines if this is a single column csv file + result.last_position = buffer_pos + 1; + if (result.states.IsCarriageReturn() && + result.state_machine.dialect_options.state_machine_options.new_line == NewLineIdentifier::CARRY_ON) { + result.last_position++; + } + if (result.number_of_columns == 1) { + if (result.null_str_size == 0) { + bool empty = false; + if (!result.state_machine.options.force_not_null.empty()) { + empty = result.state_machine.options.force_not_null[0]; + } + if (empty) { + static_cast(result.vector_ptr[0])[result.number_of_rows] = string_t(); + } else { + result.validity_mask[0]->SetInvalid(result.number_of_rows); + } + result.number_of_rows++; + } + if (result.number_of_rows >= result.result_size) { + // We have a full chunk + return true; + } + } + return false; +} + +StringValueScanner::StringValueScanner(idx_t scanner_idx_p, const shared_ptr &buffer_manager, + const shared_ptr &state_machine, + const shared_ptr &error_handler, + const shared_ptr &csv_file_scan, CSVIterator boundary, + idx_t result_size) + : BaseScanner(buffer_manager, state_machine, error_handler, csv_file_scan, boundary), scanner_idx(scanner_idx_p), + result(states, *state_machine, cur_buffer_handle, BufferAllocator::Get(buffer_manager->context), result_size, + iterator.pos.buffer_pos, *error_handler, iterator, + buffer_manager->context.client_data->debug_set_max_line_length, csv_file_scan, lines_read) { +} + +StringValueScanner::StringValueScanner(const shared_ptr &buffer_manager, + const shared_ptr &state_machine, + const shared_ptr &error_handler) + : BaseScanner(buffer_manager, state_machine, error_handler, nullptr, {}), scanner_idx(0), + result(states, *state_machine, cur_buffer_handle, Allocator::DefaultAllocator(), STANDARD_VECTOR_SIZE, + iterator.pos.buffer_pos, *error_handler, iterator, + buffer_manager->context.client_data->debug_set_max_line_length, csv_file_scan, lines_read) { +} + +unique_ptr StringValueScanner::GetCSVScanner(ClientContext &context, CSVReaderOptions &options) { + auto state_machine = make_shared(options, options.dialect_options.state_machine_options, + CSVStateMachineCache::Get(context)); + + state_machine->dialect_options.num_cols = options.dialect_options.num_cols; + state_machine->dialect_options.header = options.dialect_options.header; + auto buffer_manager = make_shared(context, options, options.file_path, 0); + auto scanner = make_uniq(buffer_manager, state_machine, make_shared()); + scanner->csv_file_scan = make_shared(context, options.file_path, options); + scanner->csv_file_scan->InitializeProjection(); + return scanner; +} + +bool StringValueScanner::FinishedIterator() { + return iterator.done; +} + +StringValueResult &StringValueScanner::ParseChunk() { + result.Reset(); + ParseChunkInternal(result); + return result; +} + +void StringValueScanner::Flush(DataChunk &insert_chunk) { + auto &process_result = ParseChunk(); + // First Get Parsed Chunk + auto &parse_chunk = process_result.ToChunk(); + + if (parse_chunk.size() == 0) { + return; + } + // convert the columns in the parsed chunk to the types of the table + insert_chunk.SetCardinality(parse_chunk); + + // We keep track of the borked lines, in case we are ignoring errors + unordered_set borked_lines; + D_ASSERT(csv_file_scan); + + auto &reader_data = csv_file_scan->reader_data; + // Now Do the cast-aroo + for (idx_t c = 0; c < reader_data.column_ids.size(); c++) { + idx_t col_idx = c; + idx_t result_idx = reader_data.column_mapping[c]; + if (!csv_file_scan->projection_ids.empty()) { + result_idx = reader_data.column_mapping[csv_file_scan->projection_ids[c].second]; + } + if (col_idx >= parse_chunk.ColumnCount()) { + throw InvalidInputException("Mismatch between the schema of different files"); + } + auto &parse_vector = parse_chunk.data[col_idx]; + auto &result_vector = insert_chunk.data[result_idx]; + auto &type = result_vector.GetType(); + auto &parse_type = parse_vector.GetType(); + if (type == LogicalType::VARCHAR || (type != LogicalType::VARCHAR && parse_type != LogicalType::VARCHAR)) { + // reinterpret rather than reference + result_vector.Reinterpret(parse_vector); + } else { + string error_message; + bool success; + idx_t line_error = 0; + bool line_error_set = true; + + if (!state_machine->options.dialect_options.date_format.at(LogicalTypeId::DATE).GetValue().Empty() && + type.id() == LogicalTypeId::DATE) { + // use the date format to cast the chunk + success = CSVCast::TryCastDateVector(state_machine->options.dialect_options.date_format, parse_vector, + result_vector, parse_chunk.size(), error_message, line_error); + } else if (!state_machine->options.dialect_options.date_format.at(LogicalTypeId::TIMESTAMP) + .GetValue() + .Empty() && + type.id() == LogicalTypeId::TIMESTAMP) { + // use the date format to cast the chunk + success = + CSVCast::TryCastTimestampVector(state_machine->options.dialect_options.date_format, parse_vector, + result_vector, parse_chunk.size(), error_message); + } else if (state_machine->options.decimal_separator != "." && + (type.id() == LogicalTypeId::FLOAT || type.id() == LogicalTypeId::DOUBLE)) { + success = + CSVCast::TryCastFloatingVectorCommaSeparated(state_machine->options, parse_vector, result_vector, + parse_chunk.size(), error_message, type, line_error); + } else if (state_machine->options.decimal_separator != "." && type.id() == LogicalTypeId::DECIMAL) { + success = CSVCast::TryCastDecimalVectorCommaSeparated( + state_machine->options, parse_vector, result_vector, parse_chunk.size(), error_message, type); + } else { + // target type is not varchar: perform a cast + success = VectorOperations::TryCast(buffer_manager->context, parse_vector, result_vector, + parse_chunk.size(), &error_message); + line_error_set = false; + } + if (success) { + continue; + } + // An error happened, to propagate it we need to figure out the exact line where the casting failed. + UnifiedVectorFormat inserted_column_data; + result_vector.ToUnifiedFormat(parse_chunk.size(), inserted_column_data); + UnifiedVectorFormat parse_column_data; + parse_vector.ToUnifiedFormat(parse_chunk.size(), parse_column_data); + if (!line_error_set) { + for (; line_error < parse_chunk.size(); line_error++) { + if (!inserted_column_data.validity.RowIsValid(line_error) && + parse_column_data.validity.RowIsValid(line_error)) { + break; + } + } + } + { + vector row; + for (idx_t col = 0; col < parse_chunk.ColumnCount(); col++) { + row.push_back(parse_chunk.GetValue(col, line_error)); + } + auto csv_error = CSVError::CastError(state_machine->options, csv_file_scan->names[col_idx], + error_message, col_idx, row); + LinesPerBoundary lines_per_batch(iterator.GetBoundaryIdx(), + lines_read - parse_chunk.size() + line_error); + error_handler->Error(lines_per_batch, csv_error); + } + borked_lines.insert(line_error++); + D_ASSERT(state_machine->options.ignore_errors); + // We are ignoring errors. We must continue but ignoring borked rows + for (; line_error < parse_chunk.size(); line_error++) { + if (!inserted_column_data.validity.RowIsValid(line_error) && + parse_column_data.validity.RowIsValid(line_error)) { + borked_lines.insert(line_error); + vector row; + for (idx_t col = 0; col < parse_chunk.ColumnCount(); col++) { + row.push_back(parse_chunk.GetValue(col, line_error)); + } + auto csv_error = CSVError::CastError(state_machine->options, csv_file_scan->names[col_idx], + error_message, col_idx, row); + LinesPerBoundary lines_per_batch(iterator.GetBoundaryIdx(), + lines_read - parse_chunk.size() + line_error); + error_handler->Error(lines_per_batch, csv_error); + } + } + } + } + if (!borked_lines.empty()) { + // We must remove the borked lines from our chunk + SelectionVector succesful_rows(parse_chunk.size() - borked_lines.size()); + idx_t sel_idx = 0; + for (idx_t row_idx = 0; row_idx < parse_chunk.size(); row_idx++) { + if (borked_lines.find(row_idx) == borked_lines.end()) { + succesful_rows.set_index(sel_idx++, row_idx); + } + } + // Now we slice the result + insert_chunk.Slice(succesful_rows, sel_idx); + } +} + +void StringValueScanner::Initialize() { + states.Initialize(); + + if (result.result_size != 1 && !(sniffing && state_machine->options.null_padding && + !state_machine->options.dialect_options.skip_rows.IsSetByUser())) { + SetStart(); + } + result.last_position = iterator.pos.buffer_pos; + result.previous_line_start = {iterator.pos.buffer_idx, iterator.pos.buffer_pos, cur_buffer_handle->actual_size}; + + result.pre_previous_line_start = result.previous_line_start; +} + +void StringValueScanner::ProcessExtraRow() { + result.NullPaddingQuotedNewlineCheck(); + idx_t to_pos = cur_buffer_handle->actual_size; + while (iterator.pos.buffer_pos < to_pos) { + state_machine->Transition(states, buffer_handle_ptr[iterator.pos.buffer_pos]); + switch (states.states[1]) { + case CSVState::INVALID: + result.InvalidState(result); + iterator.pos.buffer_pos++; + return; + case CSVState::RECORD_SEPARATOR: + if (states.states[0] == CSVState::RECORD_SEPARATOR) { + lines_read++; + result.EmptyLine(result, iterator.pos.buffer_pos); + iterator.pos.buffer_pos++; + return; + } else if (states.states[0] != CSVState::CARRIAGE_RETURN) { + lines_read++; + result.AddRow(result, iterator.pos.buffer_pos); + iterator.pos.buffer_pos++; + return; + } + iterator.pos.buffer_pos++; + break; + case CSVState::CARRIAGE_RETURN: + lines_read++; + if (states.states[0] != CSVState::RECORD_SEPARATOR) { + result.AddRow(result, iterator.pos.buffer_pos); + iterator.pos.buffer_pos++; + return; + } else { + result.EmptyLine(result, iterator.pos.buffer_pos); + iterator.pos.buffer_pos++; + return; + } + case CSVState::DELIMITER: + result.AddValue(result, iterator.pos.buffer_pos); + iterator.pos.buffer_pos++; + break; + case CSVState::QUOTED: + if (states.states[0] == CSVState::UNQUOTED) { + result.SetEscaped(result); + } + result.SetQuoted(result, iterator.pos.buffer_pos); + iterator.pos.buffer_pos++; + while (state_machine->transition_array + .skip_quoted[static_cast(buffer_handle_ptr[iterator.pos.buffer_pos])] && + iterator.pos.buffer_pos < to_pos - 1) { + iterator.pos.buffer_pos++; + } + break; + case CSVState::ESCAPE: + result.SetEscaped(result); + iterator.pos.buffer_pos++; + break; + case CSVState::STANDARD: + iterator.pos.buffer_pos++; + while (state_machine->transition_array + .skip_standard[static_cast(buffer_handle_ptr[iterator.pos.buffer_pos])] && + iterator.pos.buffer_pos < to_pos - 1) { + iterator.pos.buffer_pos++; + } + break; + case CSVState::QUOTED_NEW_LINE: + result.quoted_new_line = true; + result.NullPaddingQuotedNewlineCheck(); + iterator.pos.buffer_pos++; + break; + default: + iterator.pos.buffer_pos++; + break; + } + } +} + +string_t StringValueScanner::RemoveEscape(const char *str_ptr, idx_t end, char escape, Vector &vector) { + // Figure out the exact size + idx_t str_pos = 0; + bool just_escaped = false; + for (idx_t cur_pos = 0; cur_pos < end; cur_pos++) { + if (str_ptr[cur_pos] == escape && !just_escaped) { + just_escaped = true; + } else { + just_escaped = false; + str_pos++; + } + } + + auto removed_escapes = StringVector::EmptyString(vector, str_pos); + auto removed_escapes_ptr = removed_escapes.GetDataWriteable(); + // Allocate string and copy it + str_pos = 0; + just_escaped = false; + for (idx_t cur_pos = 0; cur_pos < end; cur_pos++) { + char c = str_ptr[cur_pos]; + if (c == escape && !just_escaped) { + just_escaped = true; + } else { + just_escaped = false; + removed_escapes_ptr[str_pos++] = c; + } + } + removed_escapes.Finalize(); + return removed_escapes; +} + +void StringValueScanner::ProcessOverbufferValue() { + // Process first string + states.Initialize(); + string overbuffer_string; + auto previous_buffer = previous_buffer_handle->Ptr(); + if (result.last_position == previous_buffer_handle->actual_size) { + state_machine->Transition(states, previous_buffer[result.last_position - 1]); + } + idx_t j = 0; + result.quoted = false; + for (idx_t i = result.last_position; i < previous_buffer_handle->actual_size; i++) { + state_machine->Transition(states, previous_buffer[i]); + if (states.EmptyLine() || states.IsCurrentNewRow()) { + continue; + } + if (states.NewRow() || states.NewValue()) { + break; + } else { + overbuffer_string += previous_buffer[i]; + } + if (states.IsQuoted()) { + result.SetQuoted(result, j); + } + if (states.IsEscaped()) { + result.escaped = true; + } + j++; + } + if (overbuffer_string.empty() && + state_machine->dialect_options.state_machine_options.new_line == NewLineIdentifier::CARRY_ON) { + if (buffer_handle_ptr[iterator.pos.buffer_pos] == '\n') { + iterator.pos.buffer_pos++; + } + } + // second buffer + for (; iterator.pos.buffer_pos < cur_buffer_handle->actual_size; iterator.pos.buffer_pos++) { + state_machine->Transition(states, buffer_handle_ptr[iterator.pos.buffer_pos]); + if (states.EmptyLine()) { + if (state_machine->dialect_options.num_cols == 1) { + break; + } else { + continue; + } + } + if (states.NewRow() || states.NewValue()) { + break; + } else { + overbuffer_string += buffer_handle_ptr[iterator.pos.buffer_pos]; + } + if (states.IsQuoted()) { + result.SetQuoted(result, j); + } + if (states.IsEscaped()) { + result.escaped = true; + } + j++; + } + string_t value; + if (result.quoted) { + value = string_t(overbuffer_string.c_str() + result.quoted_position, + overbuffer_string.size() - 1 - result.quoted_position); + if (result.escaped) { + const auto str_ptr = static_cast(overbuffer_string.c_str() + result.quoted_position); + value = + StringValueScanner::RemoveEscape(str_ptr, overbuffer_string.size() - 2, + state_machine->dialect_options.state_machine_options.escape.GetValue(), + result.parse_chunk.data[result.chunk_col_id]); + } + } else { + value = string_t(overbuffer_string.c_str(), overbuffer_string.size()); + } + + if (states.EmptyLine() && state_machine->dialect_options.num_cols == 1) { + result.EmptyLine(result, iterator.pos.buffer_pos); + } else if (!states.IsNotSet()) { + result.AddValueToVector(value.GetData(), value.GetSize(), true); + } + + if (states.NewRow() && !states.IsNotSet()) { + result.AddRowInternal(); + lines_read++; + } + + if (iterator.pos.buffer_pos >= cur_buffer_handle->actual_size && cur_buffer_handle->is_last_buffer) { + result.added_last_line = true; + } + if (states.IsCarriageReturn() && + state_machine->dialect_options.state_machine_options.new_line == NewLineIdentifier::CARRY_ON) { + result.last_position = ++iterator.pos.buffer_pos + 1; + } else { + result.last_position = ++iterator.pos.buffer_pos; + } + // Be sure to reset the quoted and escaped variables + result.quoted = false; + result.escaped = false; +} + +bool StringValueScanner::MoveToNextBuffer() { + if (iterator.pos.buffer_pos >= cur_buffer_handle->actual_size) { + previous_buffer_handle = cur_buffer_handle; + cur_buffer_handle = buffer_manager->GetBuffer(++iterator.pos.buffer_idx); + result.buffer_handles.push_back(cur_buffer_handle); + if (!cur_buffer_handle) { + iterator.pos.buffer_idx--; + buffer_handle_ptr = nullptr; + // We do not care if it's a quoted new line on the last row of our file. + result.quoted_new_line = false; + // This means we reached the end of the file, we must add a last line if there is any to be added + if (states.EmptyLine() || states.NewRow() || result.added_last_line || states.IsCurrentNewRow() || + states.IsNotSet()) { + if (result.cur_col_id == result.number_of_columns) { + result.number_of_rows++; + } + result.cur_col_id = 0; + result.chunk_col_id = 0; + return false; + } else if (states.NewValue()) { + lines_read++; + // we add the value + result.AddValue(result, previous_buffer_handle->actual_size); + // And an extra empty value to represent what comes after the delimiter + result.AddRow(result, previous_buffer_handle->actual_size); + } else if (states.IsQuotedCurrent()) { + // Unterminated quote + result.InvalidState(result); + } else { + lines_read++; + result.AddRow(result, previous_buffer_handle->actual_size); + } + return false; + } + iterator.pos.buffer_pos = 0; + buffer_handle_ptr = cur_buffer_handle->Ptr(); + // Handle overbuffer value + ProcessOverbufferValue(); + result.buffer_ptr = buffer_handle_ptr; + result.buffer_size = cur_buffer_handle->actual_size; + return true; + } + return false; +} + +void StringValueScanner::SkipBOM() { + if (cur_buffer_handle->actual_size >= 3 && result.buffer_ptr[0] == '\xEF' && result.buffer_ptr[1] == '\xBB' && + result.buffer_ptr[2] == '\xBF') { + iterator.pos.buffer_pos = 3; + } +} + +void StringValueScanner::SkipCSVRows() { + idx_t rows_to_skip = + state_machine->dialect_options.skip_rows.GetValue() + state_machine->dialect_options.header.GetValue(); + if (rows_to_skip == 0) { + return; + } + SkipScanner row_skipper(buffer_manager, state_machine, error_handler, rows_to_skip); + row_skipper.ParseChunk(); + iterator.pos.buffer_pos = row_skipper.GetIteratorPosition(); + if (row_skipper.state_machine->options.dialect_options.state_machine_options.new_line == + NewLineIdentifier::CARRY_ON && + row_skipper.states.states[1] == CSVState::CARRIAGE_RETURN) { + iterator.pos.buffer_pos++; + } + if (result.store_line_size) { + result.error_handler.NewMaxLineSize(iterator.pos.buffer_pos); + } + lines_read += row_skipper.GetLinesRead(); +} + +void StringValueScanner::SkipUntilNewLine() { + // Now skip until next newline + if (state_machine->options.dialect_options.state_machine_options.new_line.GetValue() == + NewLineIdentifier::CARRY_ON) { + bool carriage_return = false; + for (; iterator.pos.buffer_pos < cur_buffer_handle->actual_size; iterator.pos.buffer_pos++) { + if (buffer_handle_ptr[iterator.pos.buffer_pos] == '\r') { + carriage_return = true; + } + if (buffer_handle_ptr[iterator.pos.buffer_pos] == '\n') { + if (carriage_return) { + iterator.pos.buffer_pos++; + return; + } + } + } + } else { + for (; iterator.pos.buffer_pos < cur_buffer_handle->actual_size; iterator.pos.buffer_pos++) { + if (buffer_handle_ptr[iterator.pos.buffer_pos] == '\n' || + buffer_handle_ptr[iterator.pos.buffer_pos] == '\r') { + iterator.pos.buffer_pos++; + return; + } + } + } +} + +bool StringValueScanner::CanDirectlyCast(const LogicalType &type, + const map> &format_options) { + + switch (type.id()) { + // All Integers (Except HugeInt) + case LogicalTypeId::TINYINT: + case LogicalTypeId::SMALLINT: + case LogicalTypeId::INTEGER: + case LogicalTypeId::BIGINT: + case LogicalTypeId::UTINYINT: + case LogicalTypeId::USMALLINT: + case LogicalTypeId::UINTEGER: + case LogicalTypeId::UBIGINT: + case LogicalTypeId::DOUBLE: + case LogicalTypeId::FLOAT: + return true; + case LogicalTypeId::DATE: + // We can only internally cast YYYY-MM-DD + if (format_options.at(LogicalTypeId::DATE).GetValue().format_specifier == "%Y-%m-%d") { + return true; + } else { + return false; + } + case LogicalTypeId::TIMESTAMP: + if (format_options.at(LogicalTypeId::TIMESTAMP).GetValue().format_specifier == "%Y-%m-%d %H:%M:%S") { + return true; + } else { + return false; + } + case LogicalType::VARCHAR: + return true; + default: + return false; + } +} + +void StringValueScanner::SetStart() { + if (iterator.pos.buffer_idx == 0 && iterator.pos.buffer_pos == 0) { + // This means this is the very first buffer + // This CSV is not from auto-detect, so we don't know where exactly it starts + // Hence we potentially have to skip empty lines and headers. + SkipBOM(); + SkipCSVRows(); + return; + } + // We have to look for a new line that fits our schema + // 1. We walk until the next new line + bool line_found; + unique_ptr scan_finder; + do { + SkipUntilNewLine(); + if (state_machine->options.null_padding) { + // When Null Padding, we assume we start from the correct new-line + return; + } + scan_finder = make_uniq(0, buffer_manager, state_machine, + make_shared(true), csv_file_scan, iterator, 1); + auto &tuples = scan_finder->ParseChunk(); + line_found = true; + if (tuples.number_of_rows != 1) { + line_found = false; + // If no tuples were parsed, this is not the correct start, we need to skip until the next new line + // Or if columns don't match, this is not the correct start, we need to skip until the next new line + if (scan_finder->previous_buffer_handle) { + if (scan_finder->iterator.pos.buffer_pos >= scan_finder->previous_buffer_handle->actual_size && + scan_finder->previous_buffer_handle->is_last_buffer) { + iterator.pos.buffer_idx = scan_finder->iterator.pos.buffer_idx; + iterator.pos.buffer_pos = scan_finder->iterator.pos.buffer_pos; + result.last_position = iterator.pos.buffer_pos; + iterator.done = scan_finder->iterator.done; + return; + } + } + } + } while (!line_found); + iterator.pos.buffer_idx = scan_finder->result.pre_previous_line_start.buffer_idx; + iterator.pos.buffer_pos = scan_finder->result.pre_previous_line_start.buffer_pos; + result.last_position = iterator.pos.buffer_pos; +} + +void StringValueScanner::FinalizeChunkProcess() { + if (result.number_of_rows >= result.result_size || iterator.done) { + // We are done + if (!sniffing) { + if (csv_file_scan) { + csv_file_scan->bytes_read += bytes_read; + bytes_read = 0; + } + } + return; + } + // If we are not done we have two options. + // 1) If a boundary is set. + if (iterator.IsBoundarySet()) { + iterator.done = true; + // We read until the next line or until we have nothing else to read. + // Move to next buffer + if (!cur_buffer_handle) { + return; + } + bool moved = MoveToNextBuffer(); + if (cur_buffer_handle) { + if (moved && result.cur_col_id < result.number_of_columns && result.cur_col_id > 0) { + ProcessExtraRow(); + } else if (!moved) { + ProcessExtraRow(); + } + if (cur_buffer_handle->is_last_buffer && iterator.pos.buffer_pos >= cur_buffer_handle->actual_size) { + MoveToNextBuffer(); + } + } + } else { + // 2) If a boundary is not set + // We read until the chunk is complete, or we have nothing else to read. + while (!FinishedFile() && result.number_of_rows < result.result_size) { + MoveToNextBuffer(); + if (result.number_of_rows >= result.result_size) { + return; + } + if (cur_buffer_handle) { + Process(result); + } + } + iterator.done = FinishedFile(); + if (result.null_padding && result.number_of_rows < STANDARD_VECTOR_SIZE) { + while (result.chunk_col_id < result.parse_chunk.ColumnCount()) { + result.validity_mask[result.chunk_col_id++]->SetInvalid(result.number_of_rows); + result.cur_col_id++; + } + result.number_of_rows++; + } + } +} +} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/sniffer/CMakeLists.txt b/src/execution/operator/csv_scanner/sniffer/CMakeLists.txt index 68336bced8ab..bee2bb59b780 100644 --- a/src/execution/operator/csv_scanner/sniffer/CMakeLists.txt +++ b/src/execution/operator/csv_scanner/sniffer/CMakeLists.txt @@ -1,5 +1,5 @@ add_library_unity( - duckdb_operator_csv_sniffer + duckdb_csv_sniffer OBJECT csv_sniffer.cpp dialect_detection.cpp @@ -8,5 +8,5 @@ add_library_unity( type_refinement.cpp type_replacement.cpp) set(ALL_OBJECT_FILES - ${ALL_OBJECT_FILES} $ + ${ALL_OBJECT_FILES} $ PARENT_SCOPE) diff --git a/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp b/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp index 59b68baf8972..2778adfc8768 100644 --- a/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +++ b/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp @@ -1,40 +1,88 @@ -#include "duckdb/execution/operator/scan/csv/csv_sniffer.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" namespace duckdb { CSVSniffer::CSVSniffer(CSVReaderOptions &options_p, shared_ptr buffer_manager_p, - CSVStateMachineCache &state_machine_cache_p, bool explicit_set_columns_p) + CSVStateMachineCache &state_machine_cache_p, SetColumns set_columns_p) : state_machine_cache(state_machine_cache_p), options(options_p), buffer_manager(std::move(buffer_manager_p)), - explicit_set_columns(explicit_set_columns_p) { - - // Check if any type is BLOB - for (auto &type : options.sql_type_list) { - if (type.id() == LogicalTypeId::BLOB) { - throw InvalidInputException( - "CSV auto-detect for blobs not supported: there may be invalid UTF-8 in the file"); - } - } - + set_columns(set_columns_p) { // Initialize Format Candidates for (const auto &format_template : format_template_candidates) { auto &logical_type = format_template.first; best_format_candidates[logical_type].clear(); } + // Initialize max columns found to either 0 or however many were set + max_columns_found = set_columns.Size(); + error_handler = make_shared(options.ignore_errors); + detection_error_handler = make_shared(true); } -void CSVSniffer::SetResultOptions() { - options.dialect_options = best_candidate->dialect_options; - options.dialect_options.new_line = best_candidate->dialect_options.new_line; - options.has_header = best_candidate->dialect_options.header; - options.skip_rows_set = options.dialect_options.skip_rows > 0; - if (options.has_header) { - options.dialect_options.true_start = best_start_with_header; +bool SetColumns::IsSet() { + if (!types) { + return false; + } + return !types->empty(); +} + +idx_t SetColumns::Size() { + if (!types) { + return 0; + } + return types->size(); +} + +template +void MatchAndReplace(CSVOption &original, CSVOption &sniffed, const string &name, string &error) { + if (original.IsSetByUser()) { + // We verify that the user input matches the sniffed value + if (original != sniffed) { + error += "CSV Sniffer: Sniffer detected value different than the user input for the " + name; + error += " options \n Set: " + original.FormatValue() + " Sniffed: " + sniffed.FormatValue() + "\n"; + } } else { - options.dialect_options.true_start = best_start_without_header; + // We replace the value of original with the sniffed value + original.Set(sniffed.GetValue(), false); } } +void MatchAndRepaceUserSetVariables(DialectOptions &original, DialectOptions &sniffed, string &error, bool found_date, + bool found_timestamp) { + MatchAndReplace(original.header, sniffed.header, "Header", error); + if (sniffed.state_machine_options.new_line.GetValue() != NewLineIdentifier::NOT_SET) { + // Is sniffed line is not set (e.g., single-line file) , we don't try to replace and match. + MatchAndReplace(original.state_machine_options.new_line, sniffed.state_machine_options.new_line, "New Line", + error); + } + MatchAndReplace(original.skip_rows, sniffed.skip_rows, "Skip Rows", error); + MatchAndReplace(original.state_machine_options.delimiter, sniffed.state_machine_options.delimiter, "Delimiter", + error); + MatchAndReplace(original.state_machine_options.quote, sniffed.state_machine_options.quote, "Quote", error); + MatchAndReplace(original.state_machine_options.escape, sniffed.state_machine_options.escape, "Escape", error); + if (found_date) { + MatchAndReplace(original.date_format[LogicalTypeId::DATE], sniffed.date_format[LogicalTypeId::DATE], + "Date Format", error); + } + if (found_timestamp) { + MatchAndReplace(original.date_format[LogicalTypeId::TIMESTAMP], sniffed.date_format[LogicalTypeId::TIMESTAMP], + "Timestamp Format", error); + } +} +// Set the CSV Options in the reference +void CSVSniffer::SetResultOptions() { + bool found_date = false; + bool found_timestamp = false; + for (auto &type : detected_types) { + if (type == LogicalType::DATE) { + found_date = true; + } else if (type == LogicalType::TIMESTAMP) { + found_timestamp = true; + } + } + MatchAndRepaceUserSetVariables(options.dialect_options, best_candidate->GetStateMachine().dialect_options, + options.sniffer_user_mismatch_error, found_date, found_timestamp); + options.dialect_options.num_cols = best_candidate->GetStateMachine().dialect_options.num_cols; +} -SnifferResult CSVSniffer::SniffCSV() { +SnifferResult CSVSniffer::SniffCSV(bool force_match) { // 1. Dialect Detection DetectDialect(); // 2. Type Detection @@ -43,16 +91,66 @@ SnifferResult CSVSniffer::SniffCSV() { RefineTypes(); // 4. Header Detection DetectHeader(); - if (explicit_set_columns) { - SetResultOptions(); - // We do not need to run type refinement, since the types have been given by the user - return SnifferResult({}, {}); - } // 5. Type Replacement ReplaceTypes(); + if (!best_candidate->error_handler->errors.empty() && !options.ignore_errors) { + for (auto &error : best_candidate->error_handler->errors) { + if (error.second.type == CSVErrorType::MAXIMUM_LINE_SIZE) { + // If it's a maximul line size error, we can do it now. + error_handler->Error(error.second); + } + } + auto error = CSVError::SniffingError(options.file_path); + error_handler->Error(error); + } D_ASSERT(best_sql_types_candidates_per_column_idx.size() == names.size()); // We are done, Set the CSV Options in the reference. Construct and return the result. SetResultOptions(); + options.auto_detect = true; + // Check if everything matches + auto &error = options.sniffer_user_mismatch_error; + if (set_columns.IsSet()) { + bool match = true; + // Columns and their types were set, let's validate they match + if (options.dialect_options.header.GetValue()) { + // If the header exists it should match + string header_error = "The Column names set by the user do not match the ones found by the sniffer. \n"; + auto &set_names = *set_columns.names; + for (idx_t i = 0; i < set_columns.Size(); i++) { + if (set_names[i] != names[i]) { + header_error += "Column at position: " + to_string(i) + " Set name: " + set_names[i] + + " Sniffed Name: " + names[i] + "\n"; + match = false; + } + } + if (!match) { + error += header_error; + } + } + match = true; + string type_error = "The Column types set by the user do not match the ones found by the sniffer. \n"; + auto &set_types = *set_columns.types; + for (idx_t i = 0; i < set_columns.Size(); i++) { + if (set_types[i] != detected_types[i] && !(set_types[i].IsNumeric() && detected_types[i].IsNumeric())) { + type_error += "Column at position: " + to_string(i) + " Set type: " + set_types[i].ToString() + + " Sniffed type: " + detected_types[i].ToString() + "\n"; + match = false; + } + } + if (!match) { + error += type_error; + } + + if (!error.empty() && force_match) { + throw InvalidInputException(error); + } + + // We do not need to run type refinement, since the types have been given by the user + return SnifferResult({}, {}); + } + if (!error.empty() && force_match) { + throw InvalidInputException(error); + } return SnifferResult(detected_types, names); } diff --git a/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp b/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp index 85234f065112..d0ba53d9a411 100644 --- a/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +++ b/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp @@ -1,106 +1,46 @@ -#include "duckdb/execution/operator/scan/csv/csv_sniffer.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" #include "duckdb/main/client_data.hpp" namespace duckdb { -struct SniffDialect { - inline static void Initialize(CSVStateMachine &machine) { - machine.state = CSVState::EMPTY_LINE; - machine.previous_state = CSVState::EMPTY_LINE; - machine.pre_previous_state = CSVState::EMPTY_LINE; - machine.cur_rows = 0; - machine.column_count = 1; +bool IsQuoteDefault(char quote) { + if (quote == '\"' || quote == '\'' || quote == '\0') { + return true; } - - inline static bool Process(CSVStateMachine &machine, vector &sniffed_column_counts, char current_char, - idx_t current_pos) { - - D_ASSERT(sniffed_column_counts.size() == STANDARD_VECTOR_SIZE); - - if (machine.state == CSVState::INVALID) { - sniffed_column_counts.clear(); - return true; - } - machine.Transition(current_char); - - bool carriage_return = machine.previous_state == CSVState::CARRIAGE_RETURN; - machine.column_count += machine.previous_state == CSVState::DELIMITER; - sniffed_column_counts[machine.cur_rows] = machine.column_count; - machine.cur_rows += machine.previous_state == CSVState::RECORD_SEPARATOR; - machine.column_count -= (machine.column_count - 1) * (machine.previous_state == CSVState::RECORD_SEPARATOR); - - // It means our carriage return is actually a record separator - machine.cur_rows += machine.state != CSVState::RECORD_SEPARATOR && carriage_return; - machine.column_count -= - (machine.column_count - 1) * (machine.state != CSVState::RECORD_SEPARATOR && carriage_return); - - // Identify what is our line separator - machine.carry_on_separator = - (machine.state == CSVState::RECORD_SEPARATOR && carriage_return) || machine.carry_on_separator; - machine.single_record_separator = ((machine.state != CSVState::RECORD_SEPARATOR && carriage_return) || - (machine.state == CSVState::RECORD_SEPARATOR && !carriage_return)) || - machine.single_record_separator; - if (machine.cur_rows >= STANDARD_VECTOR_SIZE) { - // We sniffed enough rows - return true; - } - return false; - } - inline static void Finalize(CSVStateMachine &machine, vector &sniffed_column_counts) { - if (machine.state == CSVState::INVALID) { - return; - } - if (machine.cur_rows < STANDARD_VECTOR_SIZE && machine.state == CSVState::DELIMITER) { - sniffed_column_counts[machine.cur_rows] = ++machine.column_count; - } - if (machine.cur_rows < STANDARD_VECTOR_SIZE && machine.state != CSVState::EMPTY_LINE) { - sniffed_column_counts[machine.cur_rows++] = machine.column_count; - } - NewLineIdentifier suggested_newline; - if (machine.carry_on_separator) { - if (machine.single_record_separator) { - suggested_newline = NewLineIdentifier::MIX; - } else { - suggested_newline = NewLineIdentifier::CARRY_ON; - } - } else { - suggested_newline = NewLineIdentifier::SINGLE; - } - if (machine.options.dialect_options.new_line == NewLineIdentifier::NOT_SET) { - machine.dialect_options.new_line = suggested_newline; - } else { - if (machine.options.dialect_options.new_line != suggested_newline) { - // Invalidate this whole detection - machine.cur_rows = 0; - } - } - sniffed_column_counts.erase(sniffed_column_counts.begin() + machine.cur_rows, sniffed_column_counts.end()); - } -}; + return false; +} void CSVSniffer::GenerateCandidateDetectionSearchSpace(vector &delim_candidates, vector "erule_candidates, unordered_map> "e_candidates_map, unordered_map> &escape_candidates_map) { - if (options.has_delimiter) { + if (options.dialect_options.state_machine_options.delimiter.IsSetByUser()) { // user provided a delimiter: use that delimiter - delim_candidates = {options.dialect_options.state_machine_options.delimiter}; + delim_candidates = {options.dialect_options.state_machine_options.delimiter.GetValue()}; } else { // no delimiter provided: try standard/common delimiters delim_candidates = {',', '|', ';', '\t'}; } - if (options.has_quote) { + if (options.dialect_options.state_machine_options.quote.IsSetByUser()) { // user provided quote: use that quote rule - quote_candidates_map[(uint8_t)QuoteRule::QUOTES_RFC] = {options.dialect_options.state_machine_options.quote}; - quote_candidates_map[(uint8_t)QuoteRule::QUOTES_OTHER] = {options.dialect_options.state_machine_options.quote}; - quote_candidates_map[(uint8_t)QuoteRule::NO_QUOTES] = {options.dialect_options.state_machine_options.quote}; + quote_candidates_map[(uint8_t)QuoteRule::QUOTES_RFC] = { + options.dialect_options.state_machine_options.quote.GetValue()}; + quote_candidates_map[(uint8_t)QuoteRule::QUOTES_OTHER] = { + options.dialect_options.state_machine_options.quote.GetValue()}; + quote_candidates_map[(uint8_t)QuoteRule::NO_QUOTES] = { + options.dialect_options.state_machine_options.quote.GetValue()}; + // also add it as a escape rule + if (!IsQuoteDefault(options.dialect_options.state_machine_options.quote.GetValue())) { + escape_candidates_map[(uint8_t)QuoteRule::QUOTES_RFC].emplace_back( + options.dialect_options.state_machine_options.quote.GetValue()); + } } else { // no quote rule provided: use standard/common quotes quote_candidates_map[(uint8_t)QuoteRule::QUOTES_RFC] = {'\"'}; quote_candidates_map[(uint8_t)QuoteRule::QUOTES_OTHER] = {'\"', '\''}; quote_candidates_map[(uint8_t)QuoteRule::NO_QUOTES] = {'\0'}; } - if (options.has_escape) { + if (options.dialect_options.state_machine_options.escape.IsSetByUser()) { // user provided escape: use that escape rule if (options.dialect_options.state_machine_options.escape == '\0') { quoterule_candidates = {QuoteRule::QUOTES_RFC}; @@ -108,19 +48,25 @@ void CSVSniffer::GenerateCandidateDetectionSearchSpace(vector &delim_candi quoterule_candidates = {QuoteRule::QUOTES_OTHER}; } escape_candidates_map[(uint8_t)quoterule_candidates[0]] = { - options.dialect_options.state_machine_options.escape}; + options.dialect_options.state_machine_options.escape.GetValue()}; } else { // no escape provided: try standard/common escapes quoterule_candidates = {QuoteRule::QUOTES_RFC, QuoteRule::QUOTES_OTHER, QuoteRule::NO_QUOTES}; } } -void CSVSniffer::GenerateStateMachineSearchSpace(vector> &csv_state_machines, +void CSVSniffer::GenerateStateMachineSearchSpace(vector> &column_count_scanners, const vector &delimiter_candidates, const vector "erule_candidates, const unordered_map> "e_candidates_map, const unordered_map> &escape_candidates_map) { // Generate state machines for all option combinations + NewLineIdentifier new_line_id; + if (options.dialect_options.state_machine_options.new_line.IsSetByUser()) { + new_line_id = options.dialect_options.state_machine_options.new_line.GetValue(); + } else { + new_line_id = DetectNewLineDelimiter(*buffer_manager); + } for (const auto quoterule : quoterule_candidates) { const auto "e_candidates = quote_candidates_map.at((uint8_t)quoterule); for (const auto "e : quote_candidates) { @@ -128,38 +74,49 @@ void CSVSniffer::GenerateStateMachineSearchSpace(vector(options, state_machine_options, - buffer_manager, state_machine_cache)); + CSVStateMachineOptions state_machine_options(delimiter, quote, escape, new_line_id); + auto sniffing_state_machine = + make_uniq(options, state_machine_options, state_machine_cache); + column_count_scanners.emplace_back(make_uniq( + buffer_manager, std::move(sniffing_state_machine), detection_error_handler)); } } } } } -void CSVSniffer::AnalyzeDialectCandidate(unique_ptr state_machine, idx_t &rows_read, +void CSVSniffer::AnalyzeDialectCandidate(unique_ptr scanner, idx_t &rows_read, idx_t &best_consistent_rows, idx_t &prev_padding_count) { // The sniffed_column_counts variable keeps track of the number of columns found for each row - vector sniffed_column_counts(STANDARD_VECTOR_SIZE); - - state_machine->csv_buffer_iterator.Process(*state_machine, sniffed_column_counts); - idx_t start_row = options.dialect_options.skip_rows; + auto &sniffed_column_counts = scanner->ParseChunk(); + idx_t start_row = options.dialect_options.skip_rows.GetValue(); idx_t consistent_rows = 0; - idx_t num_cols = sniffed_column_counts.empty() ? 0 : sniffed_column_counts[0]; + idx_t num_cols = sniffed_column_counts.result_position == 0 ? 1 : sniffed_column_counts[start_row]; idx_t padding_count = 0; bool allow_padding = options.null_padding; - if (sniffed_column_counts.size() > rows_read) { - rows_read = sniffed_column_counts.size(); + if (sniffed_column_counts.result_position > rows_read) { + rows_read = sniffed_column_counts.result_position; + } + if (set_columns.IsCandidateUnacceptable(num_cols, options.null_padding, options.ignore_errors, + sniffed_column_counts.last_value_always_empty)) { + // Not acceptable + return; } - for (idx_t row = 0; row < sniffed_column_counts.size(); row++) { - if (sniffed_column_counts[row] == num_cols) { + for (idx_t row = start_row; row < sniffed_column_counts.result_position; row++) { + if (set_columns.IsCandidateUnacceptable(sniffed_column_counts[row], options.null_padding, options.ignore_errors, + sniffed_column_counts.last_value_always_empty)) { + // Not acceptable + return; + } + if (sniffed_column_counts[row] == num_cols || options.ignore_errors) { consistent_rows++; - } else if (num_cols < sniffed_column_counts[row] && !options.skip_rows_set) { + } else if (num_cols < sniffed_column_counts[row] && !options.dialect_options.skip_rows.IsSetByUser() && + (!set_columns.IsSet() || options.null_padding)) { // all rows up to this point will need padding padding_count = 0; // we use the maximum amount of num_cols that we find num_cols = sniffed_column_counts[row]; - start_row = row + options.dialect_options.skip_rows; + start_row = row; consistent_rows = 1; } else if (num_cols >= sniffed_column_counts[row]) { @@ -181,13 +138,12 @@ void CSVSniffer::AnalyzeDialectCandidate(unique_ptr state_machi bool require_less_padding = padding_count < prev_padding_count; // If there was only a single column before, and the new number of columns exceeds that. - bool single_column_before = max_columns_found < 2 && num_cols > max_columns_found; + bool single_column_before = max_columns_found < 2 && num_cols > max_columns_found * candidates.size(); // If the number of rows is consistent with the calculated value after accounting for skipped rows and the // start row. - bool rows_consistent = - start_row + consistent_rows - options.dialect_options.skip_rows == sniffed_column_counts.size(); - + bool rows_consistent = consistent_rows + (start_row - options.dialect_options.skip_rows.GetValue()) == + sniffed_column_counts.result_position - options.dialect_options.skip_rows.GetValue(); // If there are more than one consistent row. bool more_than_one_row = (consistent_rows > 1); @@ -195,7 +151,8 @@ void CSVSniffer::AnalyzeDialectCandidate(unique_ptr state_machi bool more_than_one_column = (num_cols > 1); // If the start position is valid. - bool start_good = !candidates.empty() && (start_row <= candidates.front()->start_row); + bool start_good = !candidates.empty() && + (start_row <= candidates.front()->GetStateMachine().dialect_options.skip_rows.GetValue()); // If padding happened but it is not allowed. bool invalid_padding = !allow_padding && padding_count > 0; @@ -209,43 +166,54 @@ void CSVSniffer::AnalyzeDialectCandidate(unique_ptr state_machi (single_column_before || (more_values && !require_more_padding) || (more_than_one_column && require_less_padding)) && !invalid_padding) { + if (!candidates.empty() && set_columns.IsSet() && max_columns_found == candidates.size()) { + // We have a candidate that fits our requirements better + return; + } + auto &sniffing_state_machine = scanner->GetStateMachine(); + best_consistent_rows = consistent_rows; max_columns_found = num_cols; prev_padding_count = padding_count; - state_machine->start_row = start_row; + sniffing_state_machine.dialect_options.skip_rows = start_row; candidates.clear(); - state_machine->dialect_options.num_cols = num_cols; - candidates.emplace_back(std::move(state_machine)); + sniffing_state_machine.dialect_options.num_cols = num_cols; + candidates.emplace_back(std::move(scanner)); return; } // If there's more than one row and column, the start is good, rows are consistent, // no additional padding is required, and there is no invalid padding, and there is not yet a candidate // with the same quote, we add this state_machine as a suitable candidate. if (more_than_one_row && more_than_one_column && start_good && rows_consistent && !require_more_padding && - !invalid_padding) { + !invalid_padding && num_cols == max_columns_found) { + auto &sniffing_state_machine = scanner->GetStateMachine(); + bool same_quote_is_candidate = false; for (auto &candidate : candidates) { - if (state_machine->dialect_options.state_machine_options.quote == - candidate->dialect_options.state_machine_options.quote) { + if (sniffing_state_machine.dialect_options.state_machine_options.quote == + candidate->GetStateMachine().dialect_options.state_machine_options.quote) { same_quote_is_candidate = true; } } if (!same_quote_is_candidate) { - state_machine->start_row = start_row; - state_machine->dialect_options.num_cols = num_cols; - candidates.emplace_back(std::move(state_machine)); + sniffing_state_machine.dialect_options.skip_rows = start_row; + sniffing_state_machine.dialect_options.num_cols = num_cols; + candidates.emplace_back(std::move(scanner)); } } } -bool CSVSniffer::RefineCandidateNextChunk(CSVStateMachine &candidate) { - vector sniffed_column_counts(STANDARD_VECTOR_SIZE); - candidate.csv_buffer_iterator.Process(candidate, sniffed_column_counts); - bool allow_padding = options.null_padding; - - for (idx_t row = 0; row < sniffed_column_counts.size(); row++) { - if (max_columns_found != sniffed_column_counts[row] && !allow_padding) { - return false; +bool CSVSniffer::RefineCandidateNextChunk(ColumnCountScanner &candidate) { + auto &sniffed_column_counts = candidate.ParseChunk(); + for (idx_t i = 0; i < sniffed_column_counts.result_position; i++) { + if (set_columns.IsSet()) { + return !set_columns.IsCandidateUnacceptable(sniffed_column_counts[i], options.null_padding, + options.ignore_errors, + sniffed_column_counts.last_value_always_empty); + } else { + if (max_columns_found != sniffed_column_counts[i] && (!options.null_padding && !options.ignore_errors)) { + return false; + } } } return true; @@ -258,13 +226,13 @@ void CSVSniffer::RefineCandidates() { // No candidates to refine return; } - if (candidates.size() == 1 || candidates[0]->csv_buffer_iterator.Finished()) { + if (candidates.size() == 1 || candidates[0]->FinishedFile()) { // Only one candidate nothing to refine or all candidates already checked return; } for (auto &cur_candidate : candidates) { for (idx_t i = 1; i <= options.sample_size_chunks; i++) { - bool finished_file = cur_candidate->csv_buffer_iterator.Finished(); + bool finished_file = cur_candidate->FinishedFile(); if (finished_file || i == options.sample_size_chunks) { // we finished the file or our chunk sample successfully: stop auto successful_candidate = std::move(cur_candidate); @@ -272,9 +240,7 @@ void CSVSniffer::RefineCandidates() { candidates.emplace_back(std::move(successful_candidate)); return; } - cur_candidate->cur_rows = 0; - cur_candidate->column_count = 1; - if (!RefineCandidateNextChunk(*cur_candidate)) { + if (!RefineCandidateNextChunk(*cur_candidate) || cur_candidate->GetResult().error) { // This candidate failed, move to the next one break; } @@ -284,6 +250,28 @@ void CSVSniffer::RefineCandidates() { return; } +NewLineIdentifier CSVSniffer::DetectNewLineDelimiter(CSVBufferManager &buffer_manager) { + // Get first buffer + auto buffer = buffer_manager.GetBuffer(0); + auto buffer_ptr = buffer->Ptr(); + bool carriage_return = false; + bool n = false; + for (idx_t i = 0; i < buffer->actual_size; i++) { + if (buffer_ptr[i] == '\r') { + carriage_return = true; + } else if (buffer_ptr[i] == '\n') { + n = true; + break; + } else if (carriage_return) { + break; + } + } + if (carriage_return && n) { + return NewLineIdentifier::CARRY_ON; + } + return NewLineIdentifier::SINGLE; +} + // Dialect Detection consists of five steps: // 1. Generate a search space of all possible dialects // 2. Generate a state machine for each dialect @@ -309,7 +297,7 @@ void CSVSniffer::DetectDialect() { // If padding was necessary (i.e., rows are missing some columns, how many) idx_t prev_padding_count = 0; // Vector of CSV State Machines - vector> csv_state_machines; + vector> csv_state_machines; // Step 1: Generate search space GenerateCandidateDetectionSearchSpace(delim_candidates, quoterule_candidates, quote_candidates_map, @@ -324,11 +312,11 @@ void CSVSniffer::DetectDialect() { } // Step 4: Loop over candidates and find if they can still produce good results for the remaining chunks RefineCandidates(); + // if no dialect candidate was found, we throw an exception if (candidates.empty()) { - throw InvalidInputException( - "Error in file \"%s\": CSV options could not be auto-detected. Consider setting parser options manually.", - options.file_path); + auto error = CSVError::SniffingError(options.file_path); + error_handler->Error(error); } } } // namespace duckdb diff --git a/src/execution/operator/csv_scanner/sniffer/header_detection.cpp b/src/execution/operator/csv_scanner/sniffer/header_detection.cpp index a23af7f55a39..a20980876813 100644 --- a/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +++ b/src/execution/operator/csv_scanner/sniffer/header_detection.cpp @@ -1,5 +1,6 @@ #include "duckdb/common/types/cast_helpers.hpp" -#include "duckdb/execution/operator/scan/csv/csv_sniffer.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" #include "utf8proc.hpp" namespace duckdb { @@ -93,18 +94,31 @@ static string NormalizeColumnName(const string &col_name) { return col_name_cleaned; } void CSVSniffer::DetectHeader() { + auto &sniffer_state_machine = best_candidate->GetStateMachine(); + + if (best_header_row.empty()) { + sniffer_state_machine.dialect_options.header = false; + for (idx_t col = 0; col < sniffer_state_machine.dialect_options.num_cols; col++) { + names.push_back(GenerateColumnName(sniffer_state_machine.dialect_options.num_cols, col)); + } + // If the user provided names, we must replace our header with the user provided names + for (idx_t i = 0; i < MinValue(names.size(), sniffer_state_machine.options.name_list.size()); i++) { + names[i] = sniffer_state_machine.options.name_list[i]; + } + return; + } // information for header detection bool first_row_consistent = true; // check if header row is all null and/or consistent with detected column data types bool first_row_nulls = true; // If null-padding is not allowed and there is a mismatch between our header candidate and the number of columns // We can't detect the dialect/type options properly - if (!best_candidate->options.null_padding && + if (!sniffer_state_machine.options.null_padding && best_sql_types_candidates_per_column_idx.size() != best_header_row.size()) { - throw InvalidInputException( - "Error in file \"%s\": CSV options could not be auto-detected. Consider setting parser options manually.", - options.file_path); + auto error = CSVError::SniffingError(options.file_path); + error_handler->Error(error); } + bool all_varchar = true; for (idx_t col = 0; col < best_header_row.size(); col++) { auto dummy_val = best_header_row[col]; if (!dummy_val.IsNull()) { @@ -113,19 +127,29 @@ void CSVSniffer::DetectHeader() { // try cast to sql_type of column const auto &sql_type = best_sql_types_candidates_per_column_idx[col].back(); - if (!TryCastValue(*best_candidate, dummy_val, sql_type)) { - first_row_consistent = false; + if (sql_type != LogicalType::VARCHAR) { + all_varchar = false; + if (!TryCastValue(sniffer_state_machine, dummy_val, sql_type)) { + first_row_consistent = false; + } } } bool has_header; - if (!best_candidate->options.has_header) { - has_header = !first_row_consistent || first_row_nulls; + if (!sniffer_state_machine.options.dialect_options.header.IsSetByUser()) { + has_header = (!first_row_consistent || first_row_nulls) && !all_varchar; } else { - has_header = best_candidate->options.dialect_options.header; + has_header = sniffer_state_machine.options.dialect_options.header.GetValue(); } // update parser info, and read, generate & set col_names based on previous findings if (has_header) { - best_candidate->dialect_options.header = true; + sniffer_state_machine.dialect_options.header = true; + if (sniffer_state_machine.options.null_padding && + !sniffer_state_machine.options.dialect_options.skip_rows.IsSetByUser()) { + if (sniffer_state_machine.dialect_options.skip_rows.GetValue() > 0) { + sniffer_state_machine.dialect_options.skip_rows = + sniffer_state_machine.dialect_options.skip_rows.GetValue() - 1; + } + } case_insensitive_map_t name_collision_count; // get header names from CSV @@ -135,11 +159,11 @@ void CSVSniffer::DetectHeader() { // generate name if field is empty if (col_name.empty() || val.IsNull()) { - col_name = GenerateColumnName(best_candidate->dialect_options.num_cols, col); + col_name = GenerateColumnName(sniffer_state_machine.dialect_options.num_cols, col); } // normalize names or at least trim whitespace - if (best_candidate->options.normalize_names) { + if (sniffer_state_machine.options.normalize_names) { col_name = NormalizeColumnName(col_name); } else { col_name = TrimWhitespace(col_name); @@ -153,24 +177,24 @@ void CSVSniffer::DetectHeader() { names.push_back(col_name); name_collision_count[col_name] = 0; } - if (best_header_row.size() < best_candidate->dialect_options.num_cols && options.null_padding) { - for (idx_t col = best_header_row.size(); col < best_candidate->dialect_options.num_cols; col++) { - names.push_back(GenerateColumnName(best_candidate->dialect_options.num_cols, col)); + if (best_header_row.size() < sniffer_state_machine.dialect_options.num_cols && options.null_padding) { + for (idx_t col = best_header_row.size(); col < sniffer_state_machine.dialect_options.num_cols; col++) { + names.push_back(GenerateColumnName(sniffer_state_machine.dialect_options.num_cols, col)); } - } else if (best_header_row.size() < best_candidate->dialect_options.num_cols) { + } else if (best_header_row.size() < sniffer_state_machine.dialect_options.num_cols) { throw InternalException("Detected header has number of columns inferior to dialect detection"); } } else { - best_candidate->dialect_options.header = false; - for (idx_t col = 0; col < best_candidate->dialect_options.num_cols; col++) { - names.push_back(GenerateColumnName(best_candidate->dialect_options.num_cols, col)); + sniffer_state_machine.dialect_options.header = false; + for (idx_t col = 0; col < sniffer_state_machine.dialect_options.num_cols; col++) { + names.push_back(GenerateColumnName(sniffer_state_machine.dialect_options.num_cols, col)); } } // If the user provided names, we must replace our header with the user provided names - for (idx_t i = 0; i < MinValue(names.size(), best_candidate->options.name_list.size()); i++) { - names[i] = best_candidate->options.name_list[i]; + for (idx_t i = 0; i < MinValue(names.size(), sniffer_state_machine.options.name_list.size()); i++) { + names[i] = sniffer_state_machine.options.name_list[i]; } } } // namespace duckdb diff --git a/src/execution/operator/csv_scanner/sniffer/type_detection.cpp b/src/execution/operator/csv_scanner/sniffer/type_detection.cpp index c22eb9063c86..d78c702e7227 100644 --- a/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +++ b/src/execution/operator/csv_scanner/sniffer/type_detection.cpp @@ -1,5 +1,5 @@ #include "duckdb/common/operator/decimal_cast_operators.hpp" -#include "duckdb/execution/operator/scan/csv/csv_sniffer.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" #include "duckdb/common/algorithm.hpp" #include "duckdb/common/string.hpp" @@ -13,13 +13,6 @@ struct TryCastFloatingOperator { } }; -struct TupleSniffing { - idx_t line_number; - idx_t position; - bool set = false; - vector values; -}; - static bool StartsWithNumericDate(string &separator, const string &value) { auto begin = value.c_str(); auto end = begin + value.size(); @@ -94,19 +87,21 @@ bool CSVSniffer::TryCastValue(CSVStateMachine &candidate, const Value &value, co if (value.IsNull()) { return true; } - if (candidate.dialect_options.has_format.find(LogicalTypeId::DATE)->second && + if (!candidate.dialect_options.date_format.find(LogicalTypeId::DATE)->second.GetValue().Empty() && sql_type.id() == LogicalTypeId::DATE) { date_t result; string error_message; return candidate.dialect_options.date_format.find(LogicalTypeId::DATE) - ->second.TryParseDate(string_t(StringValue::Get(value)), result, error_message); + ->second.GetValue() + .TryParseDate(string_t(StringValue::Get(value)), result, error_message); } - if (candidate.dialect_options.has_format.find(LogicalTypeId::TIMESTAMP)->second && + if (!candidate.dialect_options.date_format.find(LogicalTypeId::TIMESTAMP)->second.GetValue().Empty() && sql_type.id() == LogicalTypeId::TIMESTAMP) { timestamp_t result; string error_message; return candidate.dialect_options.date_format.find(LogicalTypeId::TIMESTAMP) - ->second.TryParseTimestamp(string_t(StringValue::Get(value)), result, error_message); + ->second.GetValue() + .TryParseTimestamp(string_t(StringValue::Get(value)), result, error_message); } if (candidate.options.decimal_separator != "." && (sql_type.id() == LogicalTypeId::DOUBLE)) { return TryCastFloatingOperator::Operation(StringValue::Get(value)); @@ -118,98 +113,16 @@ bool CSVSniffer::TryCastValue(CSVStateMachine &candidate, const Value &value, co void CSVSniffer::SetDateFormat(CSVStateMachine &candidate, const string &format_specifier, const LogicalTypeId &sql_type) { - candidate.dialect_options.has_format[sql_type] = true; - auto &date_format = candidate.dialect_options.date_format[sql_type]; - date_format.format_specifier = format_specifier; - StrTimeFormat::ParseFormatSpecifier(date_format.format_specifier, date_format); + StrpTimeFormat strpformat; + StrTimeFormat::ParseFormatSpecifier(format_specifier, strpformat); + candidate.dialect_options.date_format[sql_type].Set(strpformat, false); } -struct SniffValue { - inline static void Initialize(CSVStateMachine &machine) { - machine.state = CSVState::STANDARD; - machine.previous_state = CSVState::STANDARD; - machine.pre_previous_state = CSVState::STANDARD; - machine.cur_rows = 0; - machine.value = ""; - machine.rows_read = 0; - } - - inline static bool Process(CSVStateMachine &machine, vector &sniffed_values, char current_char, - idx_t current_pos) { - - if ((machine.dialect_options.new_line == NewLineIdentifier::SINGLE && - (current_char == '\r' || current_char == '\n')) || - (machine.dialect_options.new_line == NewLineIdentifier::CARRY_ON && current_char == '\n')) { - machine.rows_read++; - } - - if ((machine.previous_state == CSVState::RECORD_SEPARATOR) || - (machine.state != CSVState::RECORD_SEPARATOR && machine.previous_state == CSVState::CARRIAGE_RETURN)) { - sniffed_values[machine.cur_rows].position = machine.line_start_pos; - sniffed_values[machine.cur_rows].set = true; - machine.line_start_pos = current_pos; - } - - machine.Transition(current_char); - - bool carriage_return = machine.previous_state == CSVState::CARRIAGE_RETURN; - if (machine.previous_state == CSVState::DELIMITER || (machine.previous_state == CSVState::RECORD_SEPARATOR) || - (machine.state != CSVState::RECORD_SEPARATOR && carriage_return)) { - // Started a new value - // Check if it's UTF-8 - machine.VerifyUTF8(); - if (machine.value.empty() || machine.value == machine.options.null_str) { - // We set empty == null value - sniffed_values[machine.cur_rows].values.push_back(Value(LogicalType::VARCHAR)); - } else { - sniffed_values[machine.cur_rows].values.push_back(Value(machine.value)); - } - sniffed_values[machine.cur_rows].line_number = machine.rows_read; - - machine.value = ""; - } - if (machine.state == CSVState::STANDARD || - (machine.state == CSVState::QUOTED && machine.previous_state == CSVState::QUOTED)) { - machine.value += current_char; - } - machine.cur_rows += machine.previous_state == CSVState::RECORD_SEPARATOR; - // It means our carriage return is actually a record separator - machine.cur_rows += machine.state != CSVState::RECORD_SEPARATOR && carriage_return; - if (machine.cur_rows >= sniffed_values.size()) { - // We sniffed enough rows - return true; - } - return false; - } - - inline static void Finalize(CSVStateMachine &machine, vector &sniffed_values) { - if (machine.cur_rows < sniffed_values.size() && machine.state == CSVState::DELIMITER) { - // Started a new empty value - sniffed_values[machine.cur_rows].values.push_back(Value(machine.value)); - } - if (machine.cur_rows < sniffed_values.size() && machine.state != CSVState::EMPTY_LINE) { - machine.VerifyUTF8(); - sniffed_values[machine.cur_rows].line_number = machine.rows_read; - if (!sniffed_values[machine.cur_rows].set) { - sniffed_values[machine.cur_rows].position = machine.line_start_pos; - sniffed_values[machine.cur_rows].set = true; - } - - sniffed_values[machine.cur_rows++].values.push_back(Value(machine.value)); - } - sniffed_values.erase(sniffed_values.end() - (sniffed_values.size() - machine.cur_rows), sniffed_values.end()); - } -}; - -void CSVSniffer::DetectDateAndTimeStampFormats(CSVStateMachine &candidate, - map &has_format_candidates, - map> &format_candidates, - const LogicalType &sql_type, const string &separator, Value &dummy_val) { - // generate date format candidates the first time through - auto &type_format_candidates = format_candidates[sql_type.id()]; - const auto had_format_candidates = has_format_candidates[sql_type.id()]; - if (!has_format_candidates[sql_type.id()]) { - has_format_candidates[sql_type.id()] = true; +void CSVSniffer::InitializeDateAndTimeStampDetection(CSVStateMachine &candidate, const string &separator, + const LogicalType &sql_type) { + auto &format_candidate = format_candidates[sql_type.id()]; + if (!format_candidate.initialized) { + format_candidate.initialized = true; // order by preference auto entry = format_template_candidates.find(sql_type.id()); if (entry != format_template_candidates.end()) { @@ -218,27 +131,36 @@ void CSVSniffer::DetectDateAndTimeStampFormats(CSVStateMachine &candidate, const auto format_string = GenerateDateFormat(separator, t); // don't parse ISO 8601 if (format_string.find("%Y-%m-%d") == string::npos) { - type_format_candidates.emplace_back(format_string); + format_candidate.format.emplace_back(format_string); } } } - // initialise the first candidate - candidate.dialect_options.has_format[sql_type.id()] = true; - // all formats are constructed to be valid - SetDateFormat(candidate, type_format_candidates.back(), sql_type.id()); } + // initialise the first candidate + // all formats are constructed to be valid + SetDateFormat(candidate, format_candidate.format.back(), sql_type.id()); +} + +void CSVSniffer::DetectDateAndTimeStampFormats(CSVStateMachine &candidate, const LogicalType &sql_type, + const string &separator, Value &dummy_val) { + // If it is the first time running date/timestamp detection we must initilize the format variables + InitializeDateAndTimeStampDetection(candidate, separator, sql_type); + // generate date format candidates the first time through + auto &type_format_candidates = format_candidates[sql_type.id()].format; // check all formats and keep the first one that works StrpTimeFormat::ParseResult result; auto save_format_candidates = type_format_candidates; + bool had_format_candidates = !save_format_candidates.empty(); + bool initial_format_candidates = + save_format_candidates.size() == format_template_candidates.at(sql_type.id()).size(); while (!type_format_candidates.empty()) { // avoid using exceptions for flow control... - auto ¤t_format = candidate.dialect_options.date_format[sql_type.id()]; + auto ¤t_format = candidate.dialect_options.date_format[sql_type.id()].GetValue(); if (current_format.Parse(StringValue::Get(dummy_val), result)) { break; } // doesn't work - move to the next one type_format_candidates.pop_back(); - candidate.dialect_options.has_format[sql_type.id()] = (!type_format_candidates.empty()); if (!type_format_candidates.empty()) { SetDateFormat(candidate, type_format_candidates.back(), sql_type.id()); } @@ -248,12 +170,14 @@ void CSVSniffer::DetectDateAndTimeStampFormats(CSVStateMachine &candidate, // so restore the candidates that did work. // or throw them out if they were generated by this value. if (had_format_candidates) { - type_format_candidates.swap(save_format_candidates); - if (!type_format_candidates.empty()) { - SetDateFormat(candidate, type_format_candidates.back(), sql_type.id()); + if (initial_format_candidates) { + // we reset the whole thing because we tried to sniff the wrong type. + format_candidates[sql_type.id()].initialized = false; + format_candidates[sql_type.id()].format.clear(); + return; } - } else { - has_format_candidates[sql_type.id()] = false; + type_format_candidates.swap(save_format_candidates); + SetDateFormat(candidate, "", sql_type.id()); } } } @@ -262,100 +186,59 @@ void CSVSniffer::DetectTypes() { idx_t min_varchar_cols = max_columns_found + 1; vector return_types; // check which info candidate leads to minimum amount of non-varchar columns... - for (auto &candidate : candidates) { + for (auto &candidate_cc : candidates) { + auto &sniffing_state_machine = candidate_cc->GetStateMachine(); unordered_map> info_sql_types_candidates; - for (idx_t i = 0; i < candidate->dialect_options.num_cols; i++) { - info_sql_types_candidates[i] = candidate->options.auto_type_candidates; - } - map has_format_candidates; - map> format_candidates; - for (const auto &t : format_template_candidates) { - has_format_candidates[t.first] = false; - format_candidates[t.first].clear(); + for (idx_t i = 0; i < max_columns_found; i++) { + info_sql_types_candidates[i] = sniffing_state_machine.options.auto_type_candidates; } - D_ASSERT(candidate->dialect_options.num_cols > 0); + D_ASSERT(max_columns_found > 0); - // Set all return_types to VARCHAR so we can do datatype detection based on VARCHAR values + // Set all return_types to VARCHAR, so we can do datatype detection based on VARCHAR values return_types.clear(); - return_types.assign(candidate->dialect_options.num_cols, LogicalType::VARCHAR); + return_types.assign(max_columns_found, LogicalType::VARCHAR); // Reset candidate for parsing - candidate->Reset(); + auto candidate = candidate_cc->UpgradeToStringValueScanner(); // Parse chunk and read csv with info candidate - vector tuples(STANDARD_VECTOR_SIZE); - candidate->csv_buffer_iterator.Process(*candidate, tuples); - // Potentially Skip empty rows (I find this dirty, but it is what the original code does) - // The true line where parsing starts in reference to the csv file - idx_t true_line_start = 0; - idx_t true_pos = 0; - // The start point of the tuples - idx_t tuple_true_start = 0; - while (tuple_true_start < tuples.size()) { - if (tuples[tuple_true_start].values.empty() || - (tuples[tuple_true_start].values.size() == 1 && tuples[tuple_true_start].values[0].IsNull())) { - true_line_start = tuples[tuple_true_start].line_number; - true_pos = tuples[tuple_true_start].position; - tuple_true_start++; - } else { - break; - } - } - - // Potentially Skip Notes (I also find this dirty, but it is what the original code does) - while (tuple_true_start < tuples.size()) { - if (tuples[tuple_true_start].values.size() < max_columns_found && !options.null_padding) { - true_line_start = tuples[tuple_true_start].line_number; - true_pos = tuples[tuple_true_start].position; - tuple_true_start++; - } else { - break; - } - } - if (tuple_true_start < tuples.size()) { - true_pos = tuples[tuple_true_start].position; - } - if (tuple_true_start > 0) { - tuples.erase(tuples.begin(), tuples.begin() + tuple_true_start); - } - + auto &tuples = candidate->ParseChunk(); idx_t row_idx = 0; - if (tuples.size() > 1 && (!options.has_header || (options.has_header && options.dialect_options.header))) { + if (tuples.number_of_rows > 1 && + (!options.dialect_options.header.IsSetByUser() || + (options.dialect_options.header.IsSetByUser() && options.dialect_options.header.GetValue()))) { // This means we have more than one row, hence we can use the first row to detect if we have a header row_idx = 1; } - if (!tuples.empty()) { - best_start_without_header = tuples[0].position - true_pos; - } - // First line where we start our type detection const idx_t start_idx_detection = row_idx; - for (; row_idx < tuples.size(); row_idx++) { - for (idx_t col = 0; col < tuples[row_idx].values.size(); col++) { - auto &col_type_candidates = info_sql_types_candidates[col]; + for (; row_idx < tuples.number_of_rows; row_idx++) { + for (idx_t col_idx = 0; col_idx < tuples.number_of_columns; col_idx++) { + auto &col_type_candidates = info_sql_types_candidates[col_idx]; // col_type_candidates can't be empty since anything in a CSV file should at least be a string // and we validate utf-8 compatibility when creating the type D_ASSERT(!col_type_candidates.empty()); auto cur_top_candidate = col_type_candidates.back(); - auto dummy_val = tuples[row_idx].values[col]; + auto dummy_val = tuples.GetValue(row_idx, col_idx); // try cast from string to sql_type while (col_type_candidates.size() > 1) { const auto &sql_type = col_type_candidates.back(); - // try formatting for date types if the user did not specify one and it starts with numeric values. + // try formatting for date types if the user did not specify one and it starts with numeric + // values. string separator; - bool has_format_is_set = false; - auto format_iterator = candidate->dialect_options.has_format.find(sql_type.id()); - if (format_iterator != candidate->dialect_options.has_format.end()) { - has_format_is_set = format_iterator->second; - } - if (has_format_candidates.count(sql_type.id()) && - (!has_format_is_set || format_candidates[sql_type.id()].size() > 1) && !dummy_val.IsNull() && - StartsWithNumericDate(separator, StringValue::Get(dummy_val))) { - DetectDateAndTimeStampFormats(*candidate, has_format_candidates, format_candidates, sql_type, - separator, dummy_val); + // If Value is not Null, Has a numeric date format, and the current investigated candidate is + // either a timestamp or a date + if (!dummy_val.IsNull() && StartsWithNumericDate(separator, StringValue::Get(dummy_val)) && + (col_type_candidates.back().id() == LogicalTypeId::TIMESTAMP || + col_type_candidates.back().id() == LogicalTypeId::DATE)) { + DetectDateAndTimeStampFormats(candidate->GetStateMachine(), sql_type, separator, dummy_val); } // try cast from string to sql_type - if (TryCastValue(*candidate, dummy_val, sql_type)) { + if (sql_type == LogicalType::VARCHAR) { + // Nothing to convert it to + continue; + } + if (TryCastValue(sniffing_state_machine, dummy_val, sql_type)) { break; } else { if (row_idx != start_idx_detection && cur_top_candidate == LogicalType::BOOLEAN) { @@ -383,29 +266,30 @@ void CSVSniffer::DetectTypes() { } } - // it's good if the dialect creates more non-varchar columns, but only if we sacrifice < 30% of best_num_cols. + // it's good if the dialect creates more non-varchar columns, but only if we sacrifice < 30% of + // best_num_cols. if (varchar_cols < min_varchar_cols && info_sql_types_candidates.size() > (max_columns_found * 0.7)) { + best_header_row.clear(); // we have a new best_options candidate - if (true_line_start > 0) { - // Add empty rows to skip_rows - candidate->dialect_options.skip_rows += true_line_start; - } best_candidate = std::move(candidate); min_varchar_cols = varchar_cols; best_sql_types_candidates_per_column_idx = info_sql_types_candidates; - best_format_candidates = format_candidates; - best_header_row = tuples[0].values; - best_start_with_header = tuples[0].position - true_pos; + for (auto &format_candidate : format_candidates) { + best_format_candidates[format_candidate.first] = format_candidate.second.format; + } + if (tuples.number_of_rows > 0) { + for (idx_t col_idx = 0; col_idx < tuples.number_of_columns; col_idx++) { + best_header_row.emplace_back(tuples.GetValue(0, col_idx)); + } + } } } - // Assert that it's all good at this point. - D_ASSERT(best_candidate && !best_format_candidates.empty() && !best_header_row.empty()); - - for (const auto &best : best_format_candidates) { - if (!best.second.empty()) { - SetDateFormat(*best_candidate, best.second.back(), best.first); - } + if (!best_candidate) { + auto error = CSVError::SniffingError(options.file_path); + error_handler->Error(error); } + // Assert that it's all good at this point. + D_ASSERT(best_candidate && !best_format_candidates.empty()); } } // namespace duckdb diff --git a/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp b/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp index 8500f68ff873..615fd5562a03 100644 --- a/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp +++ b/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp @@ -1,102 +1,26 @@ -#include "duckdb/execution/operator/scan/csv/csv_sniffer.hpp" -#include "duckdb/execution/operator/scan/csv/base_csv_reader.hpp" -namespace duckdb { -struct Parse { - inline static void Initialize(CSVStateMachine &machine) { - machine.state = CSVState::EMPTY_LINE; - machine.previous_state = CSVState::EMPTY_LINE; - machine.pre_previous_state = CSVState::EMPTY_LINE; - - machine.cur_rows = 0; - machine.column_count = 0; - machine.value = ""; - } - - inline static bool Process(CSVStateMachine &machine, DataChunk &parse_chunk, char current_char, idx_t current_pos) { - - machine.Transition(current_char); - - bool carriage_return = machine.previous_state == CSVState::CARRIAGE_RETURN; - if (machine.previous_state == CSVState::DELIMITER || (machine.previous_state == CSVState::RECORD_SEPARATOR) || - (machine.state != CSVState::RECORD_SEPARATOR && carriage_return)) { - // Started a new value - // Check if it's UTF-8 (Or not?) - machine.VerifyUTF8(); - auto &v = parse_chunk.data[machine.column_count++]; - auto parse_data = FlatVector::GetData(v); - if (machine.value.empty()) { - auto &validity_mask = FlatVector::Validity(v); - validity_mask.SetInvalid(machine.cur_rows); - } else { - parse_data[machine.cur_rows] = StringVector::AddStringOrBlob(v, string_t(machine.value)); - } - machine.value = ""; - } - if (((machine.previous_state == CSVState::RECORD_SEPARATOR && machine.state != CSVState::EMPTY_LINE) || - (machine.state != CSVState::RECORD_SEPARATOR && carriage_return)) && - machine.options.null_padding && machine.column_count < parse_chunk.ColumnCount()) { - // It's a new row, check if we need to pad stuff - while (machine.column_count < parse_chunk.ColumnCount()) { - auto &v = parse_chunk.data[machine.column_count++]; - auto &validity_mask = FlatVector::Validity(v); - validity_mask.SetInvalid(machine.cur_rows); - } - } - if (machine.state == CSVState::STANDARD || - (machine.state == CSVState::QUOTED && machine.previous_state == CSVState::QUOTED)) { - machine.value += current_char; - } - machine.cur_rows += machine.previous_state == CSVState::RECORD_SEPARATOR && machine.column_count > 0; - machine.column_count -= machine.column_count * (machine.previous_state == CSVState::RECORD_SEPARATOR); +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" +#include "duckdb/execution/operator/csv_scanner/util/csv_casting.hpp" - // It means our carriage return is actually a record separator - machine.cur_rows += machine.state != CSVState::RECORD_SEPARATOR && carriage_return && machine.column_count > 0; - machine.column_count -= machine.column_count * (machine.state != CSVState::RECORD_SEPARATOR && carriage_return); - - if (machine.cur_rows >= STANDARD_VECTOR_SIZE) { - // We sniffed enough rows - return true; - } - return false; - } - - inline static void Finalize(CSVStateMachine &machine, DataChunk &parse_chunk) { - if (machine.cur_rows < STANDARD_VECTOR_SIZE && machine.state != CSVState::EMPTY_LINE) { - machine.VerifyUTF8(); - auto &v = parse_chunk.data[machine.column_count++]; - auto parse_data = FlatVector::GetData(v); - if (machine.value.empty()) { - auto &validity_mask = FlatVector::Validity(v); - validity_mask.SetInvalid(machine.cur_rows); - } else { - parse_data[machine.cur_rows] = StringVector::AddStringOrBlob(v, string_t(machine.value)); - } - while (machine.column_count < parse_chunk.ColumnCount()) { - auto &v_pad = parse_chunk.data[machine.column_count++]; - auto &validity_mask = FlatVector::Validity(v_pad); - validity_mask.SetInvalid(machine.cur_rows); - } - machine.cur_rows++; - } - parse_chunk.SetCardinality(machine.cur_rows); - } -}; +namespace duckdb { bool CSVSniffer::TryCastVector(Vector &parse_chunk_col, idx_t size, const LogicalType &sql_type) { + auto &sniffing_state_machine = best_candidate->GetStateMachine(); // try vector-cast from string to sql_type Vector dummy_result(sql_type); - if (best_candidate->dialect_options.has_format[LogicalTypeId::DATE] && sql_type == LogicalTypeId::DATE) { + if (!sniffing_state_machine.dialect_options.date_format[LogicalTypeId::DATE].GetValue().Empty() && + sql_type == LogicalTypeId::DATE) { // use the date format to cast the chunk string error_message; idx_t line_error; - return BaseCSVReader::TryCastDateVector(best_candidate->dialect_options.date_format, parse_chunk_col, - dummy_result, size, error_message, line_error); + return CSVCast::TryCastDateVector(sniffing_state_machine.dialect_options.date_format, parse_chunk_col, + dummy_result, size, error_message, line_error); } - if (best_candidate->dialect_options.has_format[LogicalTypeId::TIMESTAMP] && sql_type == LogicalTypeId::TIMESTAMP) { + if (!sniffing_state_machine.dialect_options.date_format[LogicalTypeId::TIMESTAMP].GetValue().Empty() && + sql_type == LogicalTypeId::TIMESTAMP) { // use the timestamp format to cast the chunk string error_message; - return BaseCSVReader::TryCastTimestampVector(best_candidate->dialect_options.date_format, parse_chunk_col, - dummy_result, size, error_message); + return CSVCast::TryCastTimestampVector(sniffing_state_machine.dialect_options.date_format, parse_chunk_col, + dummy_result, size, error_message); } // target type is not varchar: perform a cast string error_message; @@ -104,16 +28,15 @@ bool CSVSniffer::TryCastVector(Vector &parse_chunk_col, idx_t size, const Logica } void CSVSniffer::RefineTypes() { + auto &sniffing_state_machine = best_candidate->GetStateMachine(); // if data types were provided, exit here if number of columns does not match - detected_types.assign(best_candidate->dialect_options.num_cols, LogicalType::VARCHAR); - if (best_candidate->options.all_varchar) { + detected_types.assign(sniffing_state_machine.dialect_options.num_cols, LogicalType::VARCHAR); + if (sniffing_state_machine.options.all_varchar) { // return all types varchar return; } - DataChunk parse_chunk; - parse_chunk.Initialize(BufferAllocator::Get(buffer_manager->context), detected_types, STANDARD_VECTOR_SIZE); - for (idx_t i = 1; i < best_candidate->options.sample_size_chunks; i++) { - bool finished_file = best_candidate->csv_buffer_iterator.Finished(); + for (idx_t i = 1; i < sniffing_state_machine.options.sample_size_chunks; i++) { + bool finished_file = best_candidate->FinishedFile(); if (finished_file) { // we finished the file: stop // set sql types @@ -121,44 +44,20 @@ void CSVSniffer::RefineTypes() { for (idx_t column_idx = 0; column_idx < best_sql_types_candidates_per_column_idx.size(); column_idx++) { LogicalType d_type = best_sql_types_candidates_per_column_idx[column_idx].back(); if (best_sql_types_candidates_per_column_idx[column_idx].size() == - best_candidate->options.auto_type_candidates.size()) { + sniffing_state_machine.options.auto_type_candidates.size()) { d_type = LogicalType::VARCHAR; } detected_types.push_back(d_type); } return; } - best_candidate->csv_buffer_iterator.Process(*best_candidate, parse_chunk); + auto &parse_chunk = best_candidate->ParseChunk().ToChunk(); + for (idx_t col = 0; col < parse_chunk.ColumnCount(); col++) { vector &col_type_candidates = best_sql_types_candidates_per_column_idx[col]; bool is_bool_type = col_type_candidates.back() == LogicalType::BOOLEAN; while (col_type_candidates.size() > 1) { const auto &sql_type = col_type_candidates.back(); - // narrow down the date formats - if (best_format_candidates.count(sql_type.id())) { - auto &best_type_format_candidates = best_format_candidates[sql_type.id()]; - auto save_format_candidates = best_type_format_candidates; - while (!best_type_format_candidates.empty()) { - if (TryCastVector(parse_chunk.data[col], parse_chunk.size(), sql_type)) { - break; - } - // doesn't work - move to the next one - best_type_format_candidates.pop_back(); - best_candidate->dialect_options.has_format[sql_type.id()] = - (!best_type_format_candidates.empty()); - if (!best_type_format_candidates.empty()) { - SetDateFormat(*best_candidate, best_type_format_candidates.back(), sql_type.id()); - } - } - // if none match, then this is not a column of type sql_type, - if (best_type_format_candidates.empty()) { - // so restore the candidates that did work. - best_type_format_candidates.swap(save_format_candidates); - if (!best_type_format_candidates.empty()) { - SetDateFormat(*best_candidate, best_type_format_candidates.back(), sql_type.id()); - } - } - } if (TryCastVector(parse_chunk.data[col], parse_chunk.size(), sql_type)) { break; } else { @@ -182,7 +81,7 @@ void CSVSniffer::RefineTypes() { for (idx_t column_idx = 0; column_idx < best_sql_types_candidates_per_column_idx.size(); column_idx++) { LogicalType d_type = best_sql_types_candidates_per_column_idx[column_idx].back(); if (best_sql_types_candidates_per_column_idx[column_idx].size() == - best_candidate->options.auto_type_candidates.size()) { + best_candidate->GetStateMachine().options.auto_type_candidates.size()) { d_type = LogicalType::VARCHAR; } detected_types.push_back(d_type); diff --git a/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp b/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp index 2d0685a3313a..904c412b344f 100644 --- a/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp +++ b/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp @@ -1,39 +1,40 @@ -#include "duckdb/execution/operator/scan/csv/csv_sniffer.hpp" -#include "duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" namespace duckdb { void CSVSniffer::ReplaceTypes() { - if (best_candidate->options.sql_type_list.empty()) { + auto &sniffing_state_machine = best_candidate->GetStateMachine(); + if (sniffing_state_machine.options.sql_type_list.empty()) { return; } // user-defined types were supplied for certain columns // override the types - if (!best_candidate->options.sql_types_per_column.empty()) { + if (!sniffing_state_machine.options.sql_types_per_column.empty()) { // types supplied as name -> value map idx_t found = 0; for (idx_t i = 0; i < names.size(); i++) { - auto it = best_candidate->options.sql_types_per_column.find(names[i]); - if (it != best_candidate->options.sql_types_per_column.end()) { - detected_types[i] = best_candidate->options.sql_type_list[it->second]; + auto it = sniffing_state_machine.options.sql_types_per_column.find(names[i]); + if (it != sniffing_state_machine.options.sql_types_per_column.end()) { + best_sql_types_candidates_per_column_idx[i] = { + sniffing_state_machine.options.sql_type_list[it->second]}; + detected_types[i] = sniffing_state_machine.options.sql_type_list[it->second]; found++; } } - if (!best_candidate->options.file_options.union_by_name && - found < best_candidate->options.sql_types_per_column.size()) { - string error_msg = BufferedCSVReader::ColumnTypesError(options.sql_types_per_column, names); - if (!error_msg.empty()) { - throw BinderException(error_msg); - } + if (!sniffing_state_machine.options.file_options.union_by_name && + found < sniffing_state_machine.options.sql_types_per_column.size()) { + auto error_msg = CSVError::ColumnTypesError(options.sql_types_per_column, names); + auto error_line = LinesPerBoundary(0, 0); + error_handler->Error(error_line, error_msg); } return; } // types supplied as list - if (names.size() < best_candidate->options.sql_type_list.size()) { + if (names.size() < sniffing_state_machine.options.sql_type_list.size()) { throw BinderException("read_csv: %d types were provided, but CSV file only has %d columns", - best_candidate->options.sql_type_list.size(), names.size()); + sniffing_state_machine.options.sql_type_list.size(), names.size()); } - for (idx_t i = 0; i < best_candidate->options.sql_type_list.size(); i++) { - detected_types[i] = best_candidate->options.sql_type_list[i]; + for (idx_t i = 0; i < sniffing_state_machine.options.sql_type_list.size(); i++) { + detected_types[i] = sniffing_state_machine.options.sql_type_list[i]; } } } // namespace duckdb diff --git a/src/execution/operator/csv_scanner/state_machine/CMakeLists.txt b/src/execution/operator/csv_scanner/state_machine/CMakeLists.txt new file mode 100644 index 000000000000..713f5fa749f7 --- /dev/null +++ b/src/execution/operator/csv_scanner/state_machine/CMakeLists.txt @@ -0,0 +1,6 @@ +add_library_unity(duckdb_csv_state_machine OBJECT csv_state_machine.cpp + csv_state_machine_cache.cpp) + +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/execution/operator/csv_scanner/state_machine/csv_state_machine.cpp b/src/execution/operator/csv_scanner/state_machine/csv_state_machine.cpp new file mode 100644 index 000000000000..c643b3348b03 --- /dev/null +++ b/src/execution/operator/csv_scanner/state_machine/csv_state_machine.cpp @@ -0,0 +1,22 @@ +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" +#include "utf8proc_wrapper.hpp" +#include "duckdb/main/error_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.hpp" + +namespace duckdb { + +CSVStateMachine::CSVStateMachine(CSVReaderOptions &options_p, const CSVStateMachineOptions &state_machine_options_p, + CSVStateMachineCache &csv_state_machine_cache) + : transition_array(csv_state_machine_cache.Get(state_machine_options_p)), + state_machine_options(state_machine_options_p), options(options_p) { + dialect_options.state_machine_options = state_machine_options; +} + +CSVStateMachine::CSVStateMachine(const StateMachine &transition_array_p, const CSVReaderOptions &options_p) + : transition_array(transition_array_p), state_machine_options(options_p.dialect_options.state_machine_options), + options(options_p), dialect_options(options.dialect_options) { + dialect_options.state_machine_options = state_machine_options; +} + +} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp b/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp new file mode 100644 index 000000000000..87b29c89628d --- /dev/null +++ b/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp @@ -0,0 +1,201 @@ +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.hpp" + +namespace duckdb { + +const string CSVStateMachineCache::STATE_KEY = "CSV_STATE_MACHINE_CACHE"; + +void InitializeTransitionArray(StateMachine &transition_array, const CSVState cur_state, const CSVState state) { + for (uint32_t i = 0; i < StateMachine::NUM_TRANSITIONS; i++) { + transition_array[i][static_cast(cur_state)] = state; + } +} +void CSVStateMachineCache::Insert(const CSVStateMachineOptions &state_machine_options) { + D_ASSERT(state_machine_cache.find(state_machine_options) == state_machine_cache.end()); + // Initialize transition array with default values to the Standard option + auto &transition_array = state_machine_cache[state_machine_options]; + + for (uint32_t i = 0; i < StateMachine::NUM_STATES; i++) { + CSVState cur_state = CSVState(i); + switch (cur_state) { + case CSVState::QUOTED: + case CSVState::QUOTED_NEW_LINE: + InitializeTransitionArray(transition_array, cur_state, CSVState::QUOTED); + break; + case CSVState::UNQUOTED: + case CSVState::INVALID: + case CSVState::ESCAPE: + InitializeTransitionArray(transition_array, cur_state, CSVState::INVALID); + break; + default: + InitializeTransitionArray(transition_array, cur_state, CSVState::STANDARD); + break; + } + } + + uint8_t delimiter = static_cast(state_machine_options.delimiter.GetValue()); + uint8_t quote = static_cast(state_machine_options.quote.GetValue()); + uint8_t escape = static_cast(state_machine_options.escape.GetValue()); + + auto new_line_id = state_machine_options.new_line.GetValue(); + + // Now set values depending on configuration + // 1) Standard State + transition_array[delimiter][static_cast(static_cast(CSVState::STANDARD))] = CSVState::DELIMITER; + transition_array[static_cast('\n')][static_cast(CSVState::STANDARD)] = CSVState::RECORD_SEPARATOR; + if (new_line_id == NewLineIdentifier::CARRY_ON) { + transition_array[static_cast('\r')][static_cast(CSVState::STANDARD)] = + CSVState::CARRIAGE_RETURN; + } else { + transition_array[static_cast('\r')][static_cast(CSVState::STANDARD)] = + CSVState::RECORD_SEPARATOR; + } + // 2) Field Separator State + transition_array[delimiter][static_cast(CSVState::DELIMITER)] = CSVState::DELIMITER; + transition_array[static_cast('\n')][static_cast(CSVState::DELIMITER)] = + CSVState::RECORD_SEPARATOR; + if (new_line_id == NewLineIdentifier::CARRY_ON) { + transition_array[static_cast('\r')][static_cast(CSVState::DELIMITER)] = + CSVState::CARRIAGE_RETURN; + } else { + transition_array[static_cast('\r')][static_cast(CSVState::DELIMITER)] = + CSVState::RECORD_SEPARATOR; + } + transition_array[quote][static_cast(CSVState::DELIMITER)] = CSVState::QUOTED; + if (delimiter != ' ') { + transition_array[' '][static_cast(CSVState::DELIMITER)] = CSVState::EMPTY_SPACE; + } + + // 3) Record Separator State + transition_array[delimiter][static_cast(CSVState::RECORD_SEPARATOR)] = CSVState::DELIMITER; + transition_array[static_cast('\n')][static_cast(CSVState::RECORD_SEPARATOR)] = + CSVState::RECORD_SEPARATOR; + if (new_line_id == NewLineIdentifier::CARRY_ON) { + transition_array[static_cast('\r')][static_cast(CSVState::RECORD_SEPARATOR)] = + CSVState::CARRIAGE_RETURN; + } else { + transition_array[static_cast('\r')][static_cast(CSVState::RECORD_SEPARATOR)] = + CSVState::RECORD_SEPARATOR; + } + transition_array[quote][static_cast(CSVState::RECORD_SEPARATOR)] = CSVState::QUOTED; + if (delimiter != ' ') { + transition_array[' '][static_cast(CSVState::RECORD_SEPARATOR)] = CSVState::EMPTY_SPACE; + } + + // 4) Carriage Return State + transition_array[static_cast('\n')][static_cast(CSVState::CARRIAGE_RETURN)] = + CSVState::RECORD_SEPARATOR; + transition_array[static_cast('\r')][static_cast(CSVState::CARRIAGE_RETURN)] = + CSVState::CARRIAGE_RETURN; + transition_array[quote][static_cast(CSVState::CARRIAGE_RETURN)] = CSVState::QUOTED; + if (delimiter != ' ') { + transition_array[' '][static_cast(CSVState::CARRIAGE_RETURN)] = CSVState::EMPTY_SPACE; + } + + // 5) Quoted State + transition_array[quote][static_cast(CSVState::QUOTED)] = CSVState::UNQUOTED; + transition_array['\n'][static_cast(CSVState::QUOTED)] = CSVState::QUOTED_NEW_LINE; + transition_array['\r'][static_cast(CSVState::QUOTED)] = CSVState::QUOTED_NEW_LINE; + + if (state_machine_options.quote != state_machine_options.escape) { + transition_array[escape][static_cast(CSVState::QUOTED)] = CSVState::ESCAPE; + } + // 6) Unquoted State + transition_array[static_cast('\n')][static_cast(CSVState::UNQUOTED)] = CSVState::RECORD_SEPARATOR; + if (new_line_id == NewLineIdentifier::CARRY_ON) { + transition_array[static_cast('\r')][static_cast(CSVState::UNQUOTED)] = + CSVState::CARRIAGE_RETURN; + } else { + transition_array[static_cast('\r')][static_cast(CSVState::UNQUOTED)] = + CSVState::RECORD_SEPARATOR; + } + transition_array[delimiter][static_cast(CSVState::UNQUOTED)] = CSVState::DELIMITER; + if (state_machine_options.quote == state_machine_options.escape) { + transition_array[escape][static_cast(CSVState::UNQUOTED)] = CSVState::QUOTED; + } + // 7) Escaped State + transition_array[quote][static_cast(CSVState::ESCAPE)] = CSVState::QUOTED; + transition_array[escape][static_cast(CSVState::ESCAPE)] = CSVState::QUOTED; + + // 8) Not Set + transition_array[delimiter][static_cast(static_cast(CSVState::NOT_SET))] = CSVState::DELIMITER; + transition_array[static_cast('\n')][static_cast(CSVState::NOT_SET)] = CSVState::RECORD_SEPARATOR; + if (new_line_id == NewLineIdentifier::CARRY_ON) { + transition_array[static_cast('\r')][static_cast(CSVState::NOT_SET)] = + CSVState::CARRIAGE_RETURN; + } else { + transition_array[static_cast('\r')][static_cast(CSVState::NOT_SET)] = + CSVState::RECORD_SEPARATOR; + } + transition_array[static_cast(quote)][static_cast(CSVState::NOT_SET)] = CSVState::QUOTED; + if (delimiter != ' ') { + transition_array[' '][static_cast(CSVState::NOT_SET)] = CSVState::EMPTY_SPACE; + } + // 9) Quoted NewLine + transition_array[quote][static_cast(CSVState::QUOTED_NEW_LINE)] = CSVState::UNQUOTED; + if (state_machine_options.quote != state_machine_options.escape) { + transition_array[escape][static_cast(CSVState::QUOTED_NEW_LINE)] = CSVState::ESCAPE; + } + + // 10) Empty Value State + transition_array[delimiter][static_cast(static_cast(CSVState::EMPTY_SPACE))] = + CSVState::DELIMITER; + transition_array[static_cast('\n')][static_cast(CSVState::EMPTY_SPACE)] = + CSVState::RECORD_SEPARATOR; + if (new_line_id == NewLineIdentifier::CARRY_ON) { + transition_array[static_cast('\r')][static_cast(CSVState::EMPTY_SPACE)] = + CSVState::CARRIAGE_RETURN; + } else { + transition_array[static_cast('\r')][static_cast(CSVState::EMPTY_SPACE)] = + CSVState::RECORD_SEPARATOR; + } + transition_array[quote][static_cast(CSVState::EMPTY_SPACE)] = CSVState::QUOTED; + // Initialize characters we can skip during processing, for Standard and Quoted states + for (idx_t i = 0; i < StateMachine::NUM_TRANSITIONS; i++) { + transition_array.skip_standard[i] = true; + transition_array.skip_quoted[i] = true; + } + // For standard states we only care for delimiters \r and \n + transition_array.skip_standard[delimiter] = false; + transition_array.skip_standard[static_cast('\n')] = false; + transition_array.skip_standard[static_cast('\r')] = false; + + // For quoted we only care about quote, escape and for delimiters \r and \n + transition_array.skip_quoted[quote] = false; + transition_array.skip_quoted[escape] = false; + transition_array.skip_quoted[static_cast('\n')] = false; + transition_array.skip_quoted[static_cast('\r')] = false; +} + +CSVStateMachineCache::CSVStateMachineCache() { + for (auto quoterule : default_quote_rule) { + const auto "e_candidates = default_quote[static_cast(quoterule)]; + for (const auto "e : quote_candidates) { + for (const auto &delimiter : default_delimiter) { + const auto &escape_candidates = default_escape[static_cast(quoterule)]; + for (const auto &escape : escape_candidates) { + Insert({delimiter, quote, escape, NewLineIdentifier::SINGLE}); + Insert({delimiter, quote, escape, NewLineIdentifier::CARRY_ON}); + } + } + } + } +} + +const StateMachine &CSVStateMachineCache::Get(const CSVStateMachineOptions &state_machine_options) { + // Custom State Machine, we need to create it and cache it first + lock_guard parallel_lock(main_mutex); + if (state_machine_cache.find(state_machine_options) == state_machine_cache.end()) { + Insert(state_machine_options); + } + const auto &transition_array = state_machine_cache[state_machine_options]; + return transition_array; +} + +CSVStateMachineCache &CSVStateMachineCache::Get(ClientContext &context) { + + auto &cache = ObjectCache::GetObjectCache(context); + return *cache.GetOrCreate(CSVStateMachineCache::STATE_KEY); +} + +} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/table_function/CMakeLists.txt b/src/execution/operator/csv_scanner/table_function/CMakeLists.txt new file mode 100644 index 000000000000..ed694c04ce4e --- /dev/null +++ b/src/execution/operator/csv_scanner/table_function/CMakeLists.txt @@ -0,0 +1,5 @@ +add_library_unity(duckdb_operator_csv_table_function OBJECT + csv_file_scanner.cpp global_csv_state.cpp) +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp b/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp new file mode 100644 index 000000000000..940a7b0b7772 --- /dev/null +++ b/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp @@ -0,0 +1,221 @@ +#include "duckdb/execution/operator/csv_scanner/table_function/csv_file_scanner.hpp" +#include "duckdb/function/table/read_csv.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" + +namespace duckdb { + +CSVFileScan::CSVFileScan(ClientContext &context, shared_ptr buffer_manager_p, + shared_ptr state_machine_p, const CSVReaderOptions &options_p, + const ReadCSVData &bind_data, const vector &column_ids, + vector &file_schema) + : file_path(options_p.file_path), file_idx(0), buffer_manager(std::move(buffer_manager_p)), + state_machine(std::move(state_machine_p)), file_size(buffer_manager->file_handle->FileSize()), + error_handler(make_shared(options_p.ignore_errors)), + on_disk_file(buffer_manager->file_handle->OnDiskFile()), options(options_p) { + if (bind_data.initial_reader.get()) { + auto &union_reader = *bind_data.initial_reader; + names = union_reader.GetNames(); + options = union_reader.options; + types = union_reader.GetTypes(); + MultiFileReader::InitializeReader(*this, options.file_options, bind_data.reader_bind, bind_data.return_types, + bind_data.return_names, column_ids, nullptr, file_path, context); + InitializeFileNamesTypes(); + return; + } else if (!bind_data.column_info.empty()) { + // Serialized Union By name + names = bind_data.column_info[0].names; + types = bind_data.column_info[0].types; + MultiFileReader::InitializeReader(*this, options.file_options, bind_data.reader_bind, bind_data.return_types, + bind_data.return_names, column_ids, nullptr, file_path, context); + InitializeFileNamesTypes(); + return; + } + names = bind_data.return_names; + types = bind_data.return_types; + file_schema = bind_data.return_types; + MultiFileReader::InitializeReader(*this, options.file_options, bind_data.reader_bind, bind_data.return_types, + bind_data.return_names, column_ids, nullptr, file_path, context); + + InitializeFileNamesTypes(); +} + +CSVFileScan::CSVFileScan(ClientContext &context, const string &file_path_p, const CSVReaderOptions &options_p, + const idx_t file_idx_p, const ReadCSVData &bind_data, const vector &column_ids, + const vector &file_schema) + : file_path(file_path_p), file_idx(file_idx_p), + error_handler(make_shared(options_p.ignore_errors)), options(options_p) { + if (file_idx < bind_data.union_readers.size()) { + // we are doing UNION BY NAME - fetch the options from the union reader for this file + optional_ptr union_reader_ptr; + if (file_idx == 0) { + union_reader_ptr = bind_data.initial_reader.get(); + } else { + union_reader_ptr = bind_data.union_readers[file_idx].get(); + } + if (union_reader_ptr) { + auto &union_reader = *union_reader_ptr; + // Initialize Buffer Manager + buffer_manager = union_reader.buffer_manager; + // Initialize On Disk and Size of file + on_disk_file = union_reader.on_disk_file; + file_size = union_reader.file_size; + names = union_reader.GetNames(); + options = union_reader.options; + types = union_reader.GetTypes(); + state_machine = union_reader.state_machine; + MultiFileReader::InitializeReader(*this, options.file_options, bind_data.reader_bind, + bind_data.return_types, bind_data.return_names, column_ids, nullptr, + file_path, context); + + InitializeFileNamesTypes(); + return; + } + } + + // Initialize Buffer Manager + buffer_manager = make_shared(context, options, file_path, file_idx); + // Initialize On Disk and Size of file + on_disk_file = buffer_manager->file_handle->OnDiskFile(); + file_size = buffer_manager->file_handle->FileSize(); + // Initialize State Machine + auto &state_machine_cache = CSVStateMachineCache::Get(context); + + if (file_idx < bind_data.column_info.size()) { + // Serialized Union By name + names = bind_data.column_info[file_idx].names; + types = bind_data.column_info[file_idx].types; + options.dialect_options.num_cols = names.size(); + state_machine = make_shared( + state_machine_cache.Get(options.dialect_options.state_machine_options), options); + + MultiFileReader::InitializeReader(*this, options.file_options, bind_data.reader_bind, bind_data.return_types, + bind_data.return_names, column_ids, nullptr, file_path, context); + InitializeFileNamesTypes(); + return; + } + // Sniff it (We only really care about dialect detection, if types or number of columns are different this will + // error out during scanning) + if (options.auto_detect && file_idx > 0) { + CSVSniffer sniffer(options, buffer_manager, state_machine_cache); + auto result = sniffer.SniffCSV(); + if (!file_schema.empty()) { + if (!options.file_options.filename && !options.file_options.hive_partitioning && + file_schema.size() != result.return_types.size()) { + throw InvalidInputException("Mismatch between the schema of different files"); + } + } + } + if (options.dialect_options.num_cols == 0) { + // We need to define the number of columns, if the sniffer is not running this must be in the sql_type_list + options.dialect_options.num_cols = options.sql_type_list.size(); + } + + if (options.dialect_options.state_machine_options.new_line == NewLineIdentifier::NOT_SET) { + options.dialect_options.state_machine_options.new_line = CSVSniffer::DetectNewLineDelimiter(*buffer_manager); + } + + names = bind_data.csv_names; + types = bind_data.csv_types; + state_machine = + make_shared(state_machine_cache.Get(options.dialect_options.state_machine_options), options); + + MultiFileReader::InitializeReader(*this, options.file_options, bind_data.reader_bind, bind_data.return_types, + bind_data.return_names, column_ids, nullptr, file_path, context); + InitializeFileNamesTypes(); +} + +CSVFileScan::CSVFileScan(ClientContext &context, const string &file_name, CSVReaderOptions &options_p) + : file_path(file_name), file_idx(0), error_handler(make_shared(options_p.ignore_errors)), + options(options_p) { + buffer_manager = make_shared(context, options, file_path, file_idx); + // Initialize On Disk and Size of file + on_disk_file = buffer_manager->file_handle->OnDiskFile(); + file_size = buffer_manager->file_handle->FileSize(); + // Sniff it (We only really care about dialect detection, if types or number of columns are different this will + // error out during scanning) + auto &state_machine_cache = CSVStateMachineCache::Get(context); + if (options.auto_detect && options.dialect_options.num_cols == 0) { + CSVSniffer sniffer(options, buffer_manager, state_machine_cache); + auto sniffer_result = sniffer.SniffCSV(); + if (names.empty()) { + names = sniffer_result.names; + types = sniffer_result.return_types; + } + } + if (options.dialect_options.num_cols == 0) { + // We need to define the number of columns, if the sniffer is not running this must be in the sql_type_list + options.dialect_options.num_cols = options.sql_type_list.size(); + } + // Initialize State Machine + state_machine = + make_shared(state_machine_cache.Get(options.dialect_options.state_machine_options), options); +} + +void CSVFileScan::InitializeFileNamesTypes() { + if (reader_data.empty_columns && reader_data.column_ids.empty()) { + // This means that the columns from this file are irrelevant. + // just read the first column + file_types.emplace_back(LogicalType::VARCHAR); + projected_columns.insert(0); + projection_ids.emplace_back(0, 0); + return; + } + + for (idx_t i = 0; i < reader_data.column_ids.size(); i++) { + idx_t result_idx = reader_data.column_ids[i]; + file_types.emplace_back(types[result_idx]); + projected_columns.insert(result_idx); + projection_ids.emplace_back(result_idx, i); + } + + if (!projected_columns.empty()) { + // We might have to add recovery rejects column ids + for (idx_t i = 0; i < options.rejects_recovery_column_ids.size(); i++) { + idx_t col_id = options.rejects_recovery_column_ids[i]; + if (projected_columns.find(col_id) == projected_columns.end()) { + // We have to insert this column in our projection + projected_columns.insert(col_id); + file_types.emplace_back(LogicalType::VARCHAR); + projected_columns.insert(col_id); + projection_ids.emplace_back(col_id, col_id); + } + } + } + + if (reader_data.column_ids.empty()) { + file_types = types; + } + + // We need to be sure that our types are also following the cast_map + for (idx_t i = 0; i < reader_data.column_ids.size(); i++) { + if (reader_data.cast_map.find(reader_data.column_ids[i]) != reader_data.cast_map.end()) { + file_types[i] = reader_data.cast_map[reader_data.column_ids[i]]; + } + } + + // We sort the types on the order of the parsed chunk + std::sort(projection_ids.begin(), projection_ids.end()); + vector sorted_types; + for (idx_t i = 0; i < projection_ids.size(); ++i) { + sorted_types.push_back(file_types[projection_ids[i].second]); + } + file_types = sorted_types; +} + +const string &CSVFileScan::GetFileName() { + return file_path; +} +const vector &CSVFileScan::GetNames() { + return names; +} +const vector &CSVFileScan::GetTypes() { + return types; +} + +void CSVFileScan::InitializeProjection() { + for (idx_t i = 0; i < options.dialect_options.num_cols; i++) { + reader_data.column_ids.push_back(i); + reader_data.column_mapping.push_back(i); + } +} +} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp b/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp new file mode 100644 index 000000000000..d5265b1c50a6 --- /dev/null +++ b/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp @@ -0,0 +1,204 @@ +#include "duckdb/execution/operator/csv_scanner/table_function/global_csv_state.hpp" +#include "duckdb/main/client_data.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" +#include "duckdb/execution/operator/persistent/csv_rejects_table.hpp" +#include "duckdb/main/appender.hpp" + +namespace duckdb { + +CSVGlobalState::CSVGlobalState(ClientContext &context_p, const shared_ptr &buffer_manager, + const CSVReaderOptions &options, idx_t system_threads_p, const vector &files, + vector column_ids_p, const ReadCSVData &bind_data_p) + : context(context_p), system_threads(system_threads_p), column_ids(std::move(column_ids_p)), + sniffer_mismatch_error(options.sniffer_user_mismatch_error), bind_data(bind_data_p) { + + if (buffer_manager && buffer_manager->GetFilePath() == files[0]) { + auto state_machine = make_shared( + CSVStateMachineCache::Get(context).Get(options.dialect_options.state_machine_options), options); + // If we already have a buffer manager, we don't need to reconstruct it to the first file + file_scans.emplace_back(make_uniq(context, buffer_manager, state_machine, options, bind_data, + column_ids, file_schema)); + } else { + // If not we need to construct it for the first file + file_scans.emplace_back( + make_uniq(context, files[0], options, 0, bind_data, column_ids, file_schema)); + }; + //! There are situations where we only support single threaded scanning + bool many_csv_files = files.size() > 1 && files.size() > system_threads * 2; + single_threaded = many_csv_files || !options.parallel; + last_file_idx = 0; + scanner_idx = 0; + running_threads = MaxThreads(); + if (single_threaded) { + current_boundary = CSVIterator(); + } else { + auto buffer_size = file_scans.back()->buffer_manager->GetBuffer(0)->actual_size; + current_boundary = CSVIterator(0, 0, 0, 0, buffer_size); + } + current_buffer_in_use = make_shared(*file_scans.back()->buffer_manager, 0); +} + +double CSVGlobalState::GetProgress(const ReadCSVData &bind_data_p) const { + + idx_t total_files = bind_data.files.size(); + // get the progress WITHIN the current file + double progress; + if (file_scans.back()->file_size == 0) { + progress = 1.0; + } else { + // for compressed files, readed bytes may greater than files size. + progress = std::min(1.0, double(file_scans.back()->bytes_read) / double(file_scans.back()->file_size)); + } + // now get the total percentage of files read + double percentage = double(current_boundary.GetFileIdx()) / total_files; + percentage += (double(1) / double(total_files)) * progress; + return percentage * 100; +} + +unique_ptr CSVGlobalState::Next() { + if (single_threaded) { + idx_t cur_idx = last_file_idx++; + if (cur_idx >= bind_data.files.size()) { + return nullptr; + } + shared_ptr current_file; + if (cur_idx == 0) { + current_file = file_scans.back(); + } else { + current_file = make_shared(context, bind_data.files[cur_idx], bind_data.options, cur_idx, + bind_data, column_ids, file_schema); + } + auto csv_scanner = + make_uniq(scanner_idx++, current_file->buffer_manager, current_file->state_machine, + current_file->error_handler, current_file, current_boundary); + return csv_scanner; + } + lock_guard parallel_lock(main_mutex); + if (finished) { + return nullptr; + } + if (current_buffer_in_use->buffer_idx != current_boundary.GetBufferIdx()) { + current_buffer_in_use = + make_shared(*file_scans.back()->buffer_manager, current_boundary.GetBufferIdx()); + } + // We first create the scanner for the current boundary + auto ¤t_file = *file_scans.back(); + auto csv_scanner = + make_uniq(scanner_idx++, current_file.buffer_manager, current_file.state_machine, + current_file.error_handler, file_scans.back(), current_boundary); + + csv_scanner->buffer_tracker = current_buffer_in_use; + + // We then produce the next boundary + if (!current_boundary.Next(*current_file.buffer_manager)) { + // This means we are done scanning the current file + auto current_file_idx = current_file.file_idx + 1; + if (current_file_idx < bind_data.files.size()) { + // If we have a next file we have to construct the file scan for that + file_scans.emplace_back(make_shared(context, bind_data.files[current_file_idx], + bind_data.options, current_file_idx, bind_data, column_ids, + file_schema)); + // And re-start the boundary-iterator + auto buffer_size = file_scans.back()->buffer_manager->GetBuffer(0)->actual_size; + current_boundary = CSVIterator(current_file_idx, 0, 0, 0, buffer_size); + current_buffer_in_use = make_shared(*file_scans.back()->buffer_manager, 0); + } else { + // If not we are done with this CSV Scanning + finished = true; + } + } + // We initialize the scan + return csv_scanner; +} + +idx_t CSVGlobalState::MaxThreads() const { + // We initialize max one thread per our set bytes per thread limit + if (single_threaded) { + return system_threads; + } + idx_t total_threads = file_scans.back()->file_size / CSVIterator::BYTES_PER_THREAD + 1; + + if (total_threads < system_threads) { + return total_threads; + } + return system_threads; +} + +void CSVGlobalState::DecrementThread() { + lock_guard parallel_lock(main_mutex); + D_ASSERT(running_threads > 0); + running_threads--; + if (running_threads == 0) { + FillRejectsTable(); + if (context.client_data->debug_set_max_line_length) { + context.client_data->debug_max_line_length = file_scans[0]->error_handler->GetMaxLineLength(); + } + } +} + +void CSVGlobalState::FillRejectsTable() { + auto &options = bind_data.options; + + if (!options.rejects_table_name.empty()) { + auto limit = options.rejects_limit; + + auto rejects = CSVRejectsTable::GetOrCreate(context, options.rejects_table_name); + lock_guard lock(rejects->write_lock); + auto &table = rejects->GetTable(context); + InternalAppender appender(context, table); + + for (auto &file : file_scans) { + auto file_name = file->file_path; + auto &errors = file->error_handler->errors; + for (auto &error_info : errors) { + if (error_info.second.type != CSVErrorType::CAST_ERROR) { + // For now we only will use it for casting errors + continue; + } + // short circuit if we already have too many rejects + if (limit == 0 || rejects->count < limit) { + if (limit != 0 && rejects->count >= limit) { + break; + } + rejects->count++; + auto error = &error_info.second; + auto row_line = file->error_handler->GetLine(error_info.first); + auto col_idx = error->column_idx; + auto col_name = bind_data.return_names[col_idx]; + // Add the row to the rejects table + appender.BeginRow(); + appender.Append(string_t(file_name)); + appender.Append(row_line); + appender.Append(col_idx); + appender.Append(string_t("\"" + col_name + "\"")); + appender.Append(error->row[col_idx]); + + if (!options.rejects_recovery_columns.empty()) { + child_list_t recovery_key; + for (auto &key_idx : options.rejects_recovery_column_ids) { + // Figure out if the recovery key is valid. + // If not, error out for real. + auto &value = error->row[key_idx]; + if (value.IsNull()) { + throw InvalidInputException("%s at line %llu in column %s. Parser options:\n%s ", + "Could not parse recovery column", row_line, col_name, + options.ToString()); + } + recovery_key.emplace_back(bind_data.return_names[key_idx], value); + } + appender.Append(Value::STRUCT(recovery_key)); + } + auto row_error_msg = + StringUtil::Format("Could not convert string '%s' to '%s'", error->row[col_idx].ToString(), + file->types[col_idx].ToString()); + appender.Append(string_t(row_error_msg)); + appender.EndRow(); + } + appender.Close(); + } + } + } +} + +} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/util/CMakeLists.txt b/src/execution/operator/csv_scanner/util/CMakeLists.txt new file mode 100644 index 000000000000..9f0b8791d3a0 --- /dev/null +++ b/src/execution/operator/csv_scanner/util/CMakeLists.txt @@ -0,0 +1,5 @@ +add_library_unity(duckdb_csv_util OBJECT csv_error.cpp csv_reader_options.cpp) + +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/execution/operator/csv_scanner/util/csv_error.cpp b/src/execution/operator/csv_scanner/util/csv_error.cpp new file mode 100644 index 000000000000..091e441b243f --- /dev/null +++ b/src/execution/operator/csv_scanner/util/csv_error.cpp @@ -0,0 +1,186 @@ +#include "duckdb/execution/operator/csv_scanner/util/csv_error.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" +#include + +namespace duckdb { + +LinesPerBoundary::LinesPerBoundary() { +} +LinesPerBoundary::LinesPerBoundary(idx_t boundary_idx_p, idx_t lines_in_batch_p) + : boundary_idx(boundary_idx_p), lines_in_batch(lines_in_batch_p) { +} + +CSVErrorHandler::CSVErrorHandler(bool ignore_errors_p) : ignore_errors(ignore_errors_p) { +} + +void CSVErrorHandler::Error(CSVError &csv_error) { + LinesPerBoundary mock; + Error(mock, csv_error, true); +} +void CSVErrorHandler::Error(LinesPerBoundary &error_info, CSVError &csv_error, bool force_error) { + if (ignore_errors && !force_error) { + lock_guard parallel_lock(main_mutex); + // We store this error + errors.push_back({error_info, csv_error}); + return; + } + + std::ostringstream error; + if (PrintLineNumber(csv_error)) { + error << "CSV Error on Line: " << GetLine(error_info) << std::endl; + } + { + lock_guard parallel_lock(main_mutex); + got_borked = true; + } + error << csv_error.error_message; + switch (csv_error.type) { + case CSVErrorType::CAST_ERROR: + throw ConversionException(error.str()); + case CSVErrorType::COLUMN_NAME_TYPE_MISMATCH: + throw BinderException(error.str()); + case CSVErrorType::NULLPADDED_QUOTED_NEW_VALUE: + throw ParameterNotAllowedException(error.str()); + default: + throw InvalidInputException(error.str()); + } +} + +void CSVErrorHandler::Insert(idx_t boundary_idx, idx_t rows) { + lock_guard parallel_lock(main_mutex); + if (lines_per_batch_map.find(boundary_idx) == lines_per_batch_map.end()) { + lines_per_batch_map[boundary_idx] = {boundary_idx, rows}; + } else { + lines_per_batch_map[boundary_idx].lines_in_batch += rows; + } +} + +void CSVErrorHandler::NewMaxLineSize(idx_t scan_line_size) { + lock_guard parallel_lock(main_mutex); + max_line_length = std::max(scan_line_size, max_line_length); +} + +CSVError::CSVError(string error_message_p, CSVErrorType type_p) + : error_message(std::move(error_message_p)), type(type_p) { +} + +CSVError::CSVError(string error_message_p, CSVErrorType type_p, idx_t column_idx_p, vector row_p) + : error_message(std::move(error_message_p)), type(type_p), column_idx(column_idx_p), row(std::move(row_p)) { +} + +CSVError CSVError::ColumnTypesError(case_insensitive_map_t sql_types_per_column, const vector &names) { + for (idx_t i = 0; i < names.size(); i++) { + auto it = sql_types_per_column.find(names[i]); + if (it != sql_types_per_column.end()) { + sql_types_per_column.erase(names[i]); + continue; + } + } + if (sql_types_per_column.empty()) { + return CSVError("", CSVErrorType::COLUMN_NAME_TYPE_MISMATCH); + } + string exception = "COLUMN_TYPES error: Columns with names: "; + for (auto &col : sql_types_per_column) { + exception += "\"" + col.first + "\","; + } + exception.pop_back(); + exception += " do not exist in the CSV File"; + return CSVError(exception, CSVErrorType::COLUMN_NAME_TYPE_MISMATCH); +} + +CSVError CSVError::CastError(const CSVReaderOptions &options, string &column_name, string &cast_error, idx_t column_idx, + vector &row) { + std::ostringstream error; + // Which column + error << "Error when converting column \"" << column_name << "\"." << std::endl; + // What was the cast error + error << cast_error << std::endl; + error << std::endl; + // What were the options + error << options.ToString(); + return CSVError(error.str(), CSVErrorType::CAST_ERROR, column_idx, row); +} + +CSVError CSVError::LineSizeError(const CSVReaderOptions &options, idx_t actual_size) { + std::ostringstream error; + error << "Maximum line size of " << options.maximum_line_size << " bytes exceeded. "; + error << "Actual Size:" << actual_size << " bytes." << std::endl; + error << options.ToString(); + return CSVError(error.str(), CSVErrorType::MAXIMUM_LINE_SIZE); +} + +CSVError CSVError::SniffingError(string &file_path) { + std::ostringstream error; + // Which column + error << "Error when sniffing file \"" << file_path << "\"." << std::endl; + error << "CSV options could not be auto-detected. Consider setting parser options manually." << std::endl; + return CSVError(error.str(), CSVErrorType::SNIFFING); +} + +CSVError CSVError::NullPaddingFail(const CSVReaderOptions &options) { + std::ostringstream error; + error << " The parallel scanner does not support null_padding in conjunction with quoted new lines. Please " + "disable the parallel csv reader with parallel=false" + << std::endl; + // What were the options + error << options.ToString(); + return CSVError(error.str(), CSVErrorType::NULLPADDED_QUOTED_NEW_VALUE); +} + +CSVError CSVError::UnterminatedQuotesError(const CSVReaderOptions &options, string_t *vector_ptr, + idx_t vector_line_start, idx_t current_column) { + std::ostringstream error; + error << "Value with unterminated quote found." << std::endl; + error << std::endl; + // What were the options + error << options.ToString(); + return CSVError(error.str(), CSVErrorType::UNTERMINATED_QUOTES); +} + +CSVError CSVError::IncorrectColumnAmountError(const CSVReaderOptions &options, string_t *vector_ptr, + idx_t vector_line_start, idx_t actual_columns) { + std::ostringstream error; + // How many columns were expected and how many were found + error << "Expected Number of Columns: " << options.dialect_options.num_cols << " Found: " << actual_columns + << std::endl; + // What were the options + error << options.ToString(); + return CSVError(error.str(), CSVErrorType::INCORRECT_COLUMN_AMOUNT); +} + +bool CSVErrorHandler::PrintLineNumber(CSVError &error) { + switch (error.type) { + case CSVErrorType::CAST_ERROR: + case CSVErrorType::UNTERMINATED_QUOTES: + case CSVErrorType::INCORRECT_COLUMN_AMOUNT: + case CSVErrorType::MAXIMUM_LINE_SIZE: + case CSVErrorType::NULLPADDED_QUOTED_NEW_VALUE: + return true; + default: + return false; + } +} + +idx_t CSVErrorHandler::GetLine(LinesPerBoundary &error_info) { + idx_t current_line = 1 + error_info.lines_in_batch; // We start from one, since the lines are 1-indexed + for (idx_t boundary_idx = 0; boundary_idx < error_info.boundary_idx; boundary_idx++) { + bool batch_done = false; + while (!batch_done) { + if (boundary_idx == 0) { + // if it's the first boundary, we just return + break; + } + lock_guard parallel_lock(main_mutex); + if (lines_per_batch_map.find(boundary_idx) != lines_per_batch_map.end()) { + batch_done = true; + current_line += lines_per_batch_map[boundary_idx].lines_in_batch; + } + if (got_borked) { + return current_line; + } + } + } + return current_line; +} + +} // namespace duckdb diff --git a/src/execution/operator/csv_scanner/csv_reader_options.cpp b/src/execution/operator/csv_scanner/util/csv_reader_options.cpp similarity index 82% rename from src/execution/operator/csv_scanner/csv_reader_options.cpp rename to src/execution/operator/csv_scanner/util/csv_reader_options.cpp index ceadfaa8812a..f59c35602ec6 100644 --- a/src/execution/operator/csv_scanner/csv_reader_options.cpp +++ b/src/execution/operator/csv_scanner/util/csv_reader_options.cpp @@ -1,4 +1,4 @@ -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" #include "duckdb/common/bind_helpers.hpp" #include "duckdb/common/vector_size.hpp" #include "duckdb/common/string_util.hpp" @@ -63,12 +63,11 @@ static int64_t ParseInteger(const Value &value, const string &loption) { } bool CSVReaderOptions::GetHeader() const { - return this->dialect_options.header; + return this->dialect_options.header.GetValue(); } void CSVReaderOptions::SetHeader(bool input) { - this->dialect_options.header = input; - this->has_header = true; + this->dialect_options.header.Set(input); } void CSVReaderOptions::SetCompression(const string &compression_p) { @@ -76,7 +75,7 @@ void CSVReaderOptions::SetCompression(const string &compression_p) { } string CSVReaderOptions::GetEscape() const { - return std::string(1, this->dialect_options.state_machine_options.escape); + return std::string(1, this->dialect_options.state_machine_options.escape.GetValue()); } void CSVReaderOptions::SetEscape(const string &input) { @@ -87,21 +86,19 @@ void CSVReaderOptions::SetEscape(const string &input) { if (escape_str.empty()) { escape_str = string("\0", 1); } - this->dialect_options.state_machine_options.escape = escape_str[0]; - this->has_escape = true; + this->dialect_options.state_machine_options.escape.Set(escape_str[0]); } int64_t CSVReaderOptions::GetSkipRows() const { - return this->dialect_options.skip_rows; + return this->dialect_options.skip_rows.GetValue(); } void CSVReaderOptions::SetSkipRows(int64_t skip_rows) { - dialect_options.skip_rows = skip_rows; - skip_rows_set = true; + dialect_options.skip_rows.Set(skip_rows); } string CSVReaderOptions::GetDelimiter() const { - return std::string(1, this->dialect_options.state_machine_options.delimiter); + return std::string(1, this->dialect_options.state_machine_options.delimiter.GetValue()); } void CSVReaderOptions::SetDelimiter(const string &input) { @@ -109,15 +106,14 @@ void CSVReaderOptions::SetDelimiter(const string &input) { if (delim_str.size() > 1) { throw InvalidInputException("The delimiter option cannot exceed a size of 1 byte."); } - this->has_delimiter = true; if (input.empty()) { delim_str = string("\0", 1); } - this->dialect_options.state_machine_options.delimiter = delim_str[0]; + this->dialect_options.state_machine_options.delimiter.Set(delim_str[0]); } string CSVReaderOptions::GetQuote() const { - return std::string(1, this->dialect_options.state_machine_options.quote); + return std::string(1, this->dialect_options.state_machine_options.quote.GetValue()); } void CSVReaderOptions::SetQuote(const string "e_p) { @@ -128,37 +124,35 @@ void CSVReaderOptions::SetQuote(const string "e_p) { if (quote_str.empty()) { quote_str = string("\0", 1); } - this->dialect_options.state_machine_options.quote = quote_str[0]; - this->has_quote = true; + this->dialect_options.state_machine_options.quote.Set(quote_str[0]); } NewLineIdentifier CSVReaderOptions::GetNewline() const { - return dialect_options.new_line; + return dialect_options.state_machine_options.new_line.GetValue(); } void CSVReaderOptions::SetNewline(const string &input) { if (input == "\\n" || input == "\\r") { - dialect_options.new_line = NewLineIdentifier::SINGLE; + dialect_options.state_machine_options.new_line.Set(NewLineIdentifier::SINGLE); } else if (input == "\\r\\n") { - dialect_options.new_line = NewLineIdentifier::CARRY_ON; + dialect_options.state_machine_options.new_line.Set(NewLineIdentifier::CARRY_ON); } else { throw InvalidInputException("This is not accepted as a newline: " + input); } - has_newline = true; } void CSVReaderOptions::SetDateFormat(LogicalTypeId type, const string &format, bool read_format) { string error; if (read_format) { - error = StrTimeFormat::ParseFormatSpecifier(format, dialect_options.date_format[type]); - dialect_options.date_format[type].format_specifier = format; + StrpTimeFormat strpformat; + error = StrTimeFormat::ParseFormatSpecifier(format, strpformat); + dialect_options.date_format[type].Set(strpformat); } else { error = StrTimeFormat::ParseFormatSpecifier(format, write_date_format[type]); } if (!error.empty()) { throw InvalidInputException("Could not parse DATEFORMAT: %s", error.c_str()); } - dialect_options.has_format[type] = true; } void CSVReaderOptions::SetReadOption(const string &loption, const Value &value, vector &expected_names) { @@ -208,10 +202,10 @@ void CSVReaderOptions::SetReadOption(const string &loption, const Value &value, } } else if (loption == "null_padding") { null_padding = ParseBoolean(value, loption); + } else if (loption == "parallel") { + parallel = ParseBoolean(value, loption); } else if (loption == "allow_quoted_nulls") { allow_quoted_nulls = ParseBoolean(value, loption); - } else if (loption == "parallel") { - parallel_mode = ParseBoolean(value, loption) ? ParallelMode::PARALLEL : ParallelMode::SINGLE_THREADED; } else if (loption == "rejects_table") { // skip, handled in SetRejectsOptions auto table_name = ParseString(value, loption); @@ -299,17 +293,50 @@ bool CSVReaderOptions::SetBaseOption(const string &loption, const Value &value) return true; } +template +string FormatOptionLine(const string &name, const CSVOption option) { + return name + " = " + option.FormatValue() + " " + option.FormatSet() + "\n "; +} string CSVReaderOptions::ToString() const { - return " file=" + file_path + "\n delimiter='" + dialect_options.state_machine_options.delimiter + - (has_delimiter ? "'" : (auto_detect ? "' (auto detected)" : "' (default)")) + "\n quote='" + - dialect_options.state_machine_options.quote + - (has_quote ? "'" : (auto_detect ? "' (auto detected)" : "' (default)")) + "\n escape='" + - dialect_options.state_machine_options.escape + - (has_escape ? "'" : (auto_detect ? "' (auto detected)" : "' (default)")) + - "\n header=" + std::to_string(dialect_options.header) + - (has_header ? "" : (auto_detect ? " (auto detected)" : "' (default)")) + - "\n sample_size=" + std::to_string(sample_size_chunks * STANDARD_VECTOR_SIZE) + - "\n ignore_errors=" + std::to_string(ignore_errors) + "\n all_varchar=" + std::to_string(all_varchar); + auto &delimiter = dialect_options.state_machine_options.delimiter; + auto "e = dialect_options.state_machine_options.quote; + auto &escape = dialect_options.state_machine_options.escape; + auto &new_line = dialect_options.state_machine_options.new_line; + auto &skip_rows = dialect_options.skip_rows; + + auto &header = dialect_options.header; + string error = " file=" + file_path + "\n "; + // Let's first print options that can either be set by the user or by the sniffer + // delimiter + error += FormatOptionLine("delimiter", delimiter); + // quote + error += FormatOptionLine("quote", quote); + // escape + error += FormatOptionLine("escape", escape); + // newline + error += FormatOptionLine("new_line", new_line); + // has_header + error += FormatOptionLine("header", header); + // skip_rows + error += FormatOptionLine("skip_rows", skip_rows); + // date format + error += FormatOptionLine("date_format", dialect_options.date_format.at(LogicalType::DATE)); + // timestamp format + error += FormatOptionLine("timestamp_format", dialect_options.date_format.at(LogicalType::TIMESTAMP)); + + // Now we do options that can only be set by the user, that might hold some general significance + // null padding + error += "null_padding=" + std::to_string(null_padding) + "\n "; + // sample_size + error += "sample_size=" + std::to_string(sample_size_chunks * STANDARD_VECTOR_SIZE) + "\n "; + // ignore_errors + error += "ignore_errors=" + std::to_string(ignore_errors) + "\n "; + // all_varchar + error += "all_varchar=" + std::to_string(all_varchar) + "\n"; + + // Add information regarding sniffer mismatches (if any) + error += sniffer_user_mismatch_error; + return error; } static Value StringVectorToValue(const vector &vec) { @@ -347,8 +374,11 @@ void CSVReaderOptions::FromNamedParameters(named_parameter_map_t &in, ClientCont continue; } auto loption = StringUtil::Lower(kv.first); + // skip variables that are specific to auto detection + if (loption != "auto_detect" && loption != "auto_type_candidates") { + user_defined_parameters += loption + "=" + kv.second.ToSQLString() + ", "; + } if (loption == "columns") { - explicitly_set_columns = true; auto &child_type = kv.second.type(); if (child_type.id() != LogicalTypeId::STRUCT) { throw BinderException("read_csv columns requires a struct as input"); @@ -452,30 +482,38 @@ void CSVReaderOptions::FromNamedParameters(named_parameter_map_t &in, ClientCont SetReadOption(loption, kv.second, names); } } + if (user_defined_parameters.size() >= 2) { + user_defined_parameters.erase(user_defined_parameters.size() - 2); + } } //! This function is used to remember options set by the sniffer, for use in ReadCSVRelation void CSVReaderOptions::ToNamedParameters(named_parameter_map_t &named_params) { - if (has_delimiter) { + auto &delimiter = dialect_options.state_machine_options.delimiter; + auto "e = dialect_options.state_machine_options.quote; + auto &escape = dialect_options.state_machine_options.escape; + auto &header = dialect_options.header; + if (delimiter.IsSetByUser()) { named_params["delim"] = Value(GetDelimiter()); } - if (has_newline) { + if (dialect_options.state_machine_options.new_line.IsSetByUser()) { named_params["newline"] = Value(EnumUtil::ToString(GetNewline())); } - if (has_quote) { + if (quote.IsSetByUser()) { named_params["quote"] = Value(GetQuote()); } - if (has_escape) { + if (escape.IsSetByUser()) { named_params["escape"] = Value(GetEscape()); } - if (has_header) { + if (header.IsSetByUser()) { named_params["header"] = Value(GetHeader()); } named_params["max_line_size"] = Value::BIGINT(maximum_line_size); - if (skip_rows_set) { + if (dialect_options.skip_rows.IsSetByUser()) { named_params["skip"] = Value::BIGINT(GetSkipRows()); } named_params["null_padding"] = Value::BOOLEAN(null_padding); + named_params["parallel"] = Value::BOOLEAN(parallel); if (!date_format.at(LogicalType::DATE).format_specifier.empty()) { named_params["dateformat"] = Value(date_format.at(LogicalType::DATE).format_specifier); } diff --git a/src/execution/operator/helper/CMakeLists.txt b/src/execution/operator/helper/CMakeLists.txt index 57479ca679be..7d12e6023a8b 100644 --- a/src/execution/operator/helper/CMakeLists.txt +++ b/src/execution/operator/helper/CMakeLists.txt @@ -2,6 +2,8 @@ add_library_unity( duckdb_operator_helper OBJECT physical_batch_collector.cpp + physical_buffered_collector.cpp + physical_create_secret.cpp physical_execute.cpp physical_explain_analyze.cpp physical_limit.cpp diff --git a/src/execution/operator/helper/physical_buffered_collector.cpp b/src/execution/operator/helper/physical_buffered_collector.cpp new file mode 100644 index 000000000000..fcf75496e6f7 --- /dev/null +++ b/src/execution/operator/helper/physical_buffered_collector.cpp @@ -0,0 +1,85 @@ +#include "duckdb/execution/operator/helper/physical_buffered_collector.hpp" +#include "duckdb/main/stream_query_result.hpp" +#include "duckdb/main/client_context.hpp" + +namespace duckdb { + +PhysicalBufferedCollector::PhysicalBufferedCollector(PreparedStatementData &data, bool parallel) + : PhysicalResultCollector(data), parallel(parallel) { +} + +//===--------------------------------------------------------------------===// +// Sink +//===--------------------------------------------------------------------===// +class BufferedCollectorGlobalState : public GlobalSinkState { +public: + mutex glock; + //! This is weak to avoid creating a cyclical reference + weak_ptr context; + shared_ptr buffered_data; +}; + +class BufferedCollectorLocalState : public LocalSinkState { +public: + bool blocked = false; +}; + +SinkResultType PhysicalBufferedCollector::Sink(ExecutionContext &context, DataChunk &chunk, + OperatorSinkInput &input) const { + auto &gstate = input.global_state.Cast(); + auto &lstate = input.local_state.Cast(); + + lock_guard l(gstate.glock); + auto &buffered_data = gstate.buffered_data->Cast(); + + if (!lstate.blocked || buffered_data.BufferIsFull()) { + lstate.blocked = true; + auto callback_state = input.interrupt_state; + auto blocked_sink = BlockedSink(callback_state, chunk.size()); + buffered_data.BlockSink(blocked_sink); + return SinkResultType::BLOCKED; + } + + auto to_append = make_uniq(); + to_append->Initialize(Allocator::DefaultAllocator(), chunk.GetTypes()); + chunk.Copy(*to_append, 0); + buffered_data.Append(std::move(to_append)); + return SinkResultType::NEED_MORE_INPUT; +} + +SinkCombineResultType PhysicalBufferedCollector::Combine(ExecutionContext &context, + OperatorSinkCombineInput &input) const { + return SinkCombineResultType::FINISHED; +} + +unique_ptr PhysicalBufferedCollector::GetGlobalSinkState(ClientContext &context) const { + auto state = make_uniq(); + state->context = context.shared_from_this(); + state->buffered_data = make_shared(state->context); + return std::move(state); +} + +unique_ptr PhysicalBufferedCollector::GetLocalSinkState(ExecutionContext &context) const { + auto state = make_uniq(); + return std::move(state); +} + +unique_ptr PhysicalBufferedCollector::GetResult(GlobalSinkState &state) { + auto &gstate = state.Cast(); + lock_guard l(gstate.glock); + // FIXME: maybe we want to check if the execution was successfull before creating the StreamQueryResult ? + auto cc = gstate.context.lock(); + auto result = make_uniq(statement_type, properties, types, names, cc->GetClientProperties(), + gstate.buffered_data); + return std::move(result); +} + +bool PhysicalBufferedCollector::ParallelSink() const { + return parallel; +} + +bool PhysicalBufferedCollector::SinkOrderDependent() const { + return true; +} + +} // namespace duckdb diff --git a/src/execution/operator/helper/physical_create_secret.cpp b/src/execution/operator/helper/physical_create_secret.cpp new file mode 100644 index 000000000000..3a1dbe8b6fed --- /dev/null +++ b/src/execution/operator/helper/physical_create_secret.cpp @@ -0,0 +1,21 @@ +#include "duckdb/execution/operator/helper/physical_create_secret.hpp" +#include "duckdb/main/client_context.hpp" +#include "duckdb/main/database.hpp" +#include "duckdb/main/secret/secret_manager.hpp" + +namespace duckdb { + +SourceResultType PhysicalCreateSecret::GetData(ExecutionContext &context, DataChunk &chunk, + OperatorSourceInput &input) const { + auto &client = context.client; + auto &secret_manager = SecretManager::Get(client); + + secret_manager.CreateSecret(client, info); + + chunk.SetValue(0, 0, true); + chunk.SetCardinality(1); + + return SourceResultType::FINISHED; +} + +} // namespace duckdb diff --git a/src/execution/operator/helper/physical_materialized_collector.cpp b/src/execution/operator/helper/physical_materialized_collector.cpp index 650a8916c6a2..c5f0309ff5a3 100644 --- a/src/execution/operator/helper/physical_materialized_collector.cpp +++ b/src/execution/operator/helper/physical_materialized_collector.cpp @@ -1,5 +1,5 @@ #include "duckdb/execution/operator/helper/physical_materialized_collector.hpp" -#include "duckdb/common/types/chunk_collection.hpp" + #include "duckdb/main/materialized_query_result.hpp" #include "duckdb/main/client_context.hpp" diff --git a/src/execution/operator/helper/physical_pragma.cpp b/src/execution/operator/helper/physical_pragma.cpp index 24782f956654..34a5cb6fb4f0 100644 --- a/src/execution/operator/helper/physical_pragma.cpp +++ b/src/execution/operator/helper/physical_pragma.cpp @@ -5,8 +5,8 @@ namespace duckdb { SourceResultType PhysicalPragma::GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const { auto &client = context.client; - FunctionParameters parameters {info.parameters, info.named_parameters}; - function.function(client, parameters); + FunctionParameters parameters {info->parameters, info->named_parameters}; + info->function.function(client, parameters); return SourceResultType::FINISHED; } diff --git a/src/execution/operator/helper/physical_reservoir_sample.cpp b/src/execution/operator/helper/physical_reservoir_sample.cpp index ec846f1d404c..1bc87d25fc3b 100644 --- a/src/execution/operator/helper/physical_reservoir_sample.cpp +++ b/src/execution/operator/helper/physical_reservoir_sample.cpp @@ -6,6 +6,7 @@ namespace duckdb { //===--------------------------------------------------------------------===// // Sink //===--------------------------------------------------------------------===// + class SampleGlobalSinkState : public GlobalSinkState { public: explicit SampleGlobalSinkState(Allocator &allocator, SampleOptions &options) { @@ -24,7 +25,8 @@ class SampleGlobalSinkState : public GlobalSinkState { } } - //! The lock for updating the global aggregate state + //! The lock for updating the global aggoregate state + //! Also used to update the global sample when percentages are used mutex lock; //! The reservoir sample unique_ptr sample; @@ -36,24 +38,47 @@ unique_ptr PhysicalReservoirSample::GetGlobalSinkState(ClientCo SinkResultType PhysicalReservoirSample::Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const { - auto &gstate = input.global_state.Cast(); - if (!gstate.sample) { - return SinkResultType::FINISHED; + auto &global_state = input.global_state.Cast(); + // Percentage only has a global sample. + lock_guard glock(global_state.lock); + if (!global_state.sample) { + // always gather full thread percentage + auto &allocator = Allocator::Get(context.client); + if (options->is_percentage) { + double percentage = options->sample_size.GetValue(); + if (percentage == 0) { + return SinkResultType::FINISHED; + } + global_state.sample = make_uniq(allocator, percentage, options->seed); + } else { + idx_t num_samples = options->sample_size.GetValue(); + if (num_samples == 0) { + return SinkResultType::FINISHED; + } + global_state.sample = make_uniq(allocator, num_samples, options->seed); + } } - // we implement reservoir sampling without replacement and exponential jumps here - // the algorithm is adopted from the paper Weighted random sampling with a reservoir by Pavlos S. Efraimidis et al. - // note that the original algorithm is about weighted sampling; this is a simplified approach for uniform sampling - lock_guard glock(gstate.lock); - gstate.sample->AddToReservoir(chunk); + global_state.sample->AddToReservoir(chunk); return SinkResultType::NEED_MORE_INPUT; } +SinkCombineResultType PhysicalReservoirSample::Combine(ExecutionContext &context, + OperatorSinkCombineInput &input) const { + return SinkCombineResultType::FINISHED; +} + +SinkFinalizeType PhysicalReservoirSample::Finalize(Pipeline &pipeline, Event &event, ClientContext &context, + OperatorSinkFinalizeInput &input) const { + return SinkFinalizeType::READY; +} + //===--------------------------------------------------------------------===// // Source //===--------------------------------------------------------------------===// SourceResultType PhysicalReservoirSample::GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const { auto &sink = this->sink_state->Cast(); + lock_guard glock(sink.lock); if (!sink.sample) { return SourceResultType::FINISHED; } diff --git a/src/execution/operator/helper/physical_result_collector.cpp b/src/execution/operator/helper/physical_result_collector.cpp index e0ac959a7f2c..8b2bbdf8e11d 100644 --- a/src/execution/operator/helper/physical_result_collector.cpp +++ b/src/execution/operator/helper/physical_result_collector.cpp @@ -2,6 +2,7 @@ #include "duckdb/execution/operator/helper/physical_batch_collector.hpp" #include "duckdb/execution/operator/helper/physical_materialized_collector.hpp" +#include "duckdb/execution/operator/helper/physical_buffered_collector.hpp" #include "duckdb/execution/physical_plan_generator.hpp" #include "duckdb/main/config.hpp" #include "duckdb/main/prepared_statement_data.hpp" @@ -20,13 +21,22 @@ unique_ptr PhysicalResultCollector::GetResultCollector( PreparedStatementData &data) { if (!PhysicalPlanGenerator::PreserveInsertionOrder(context, *data.plan)) { // the plan is not order preserving, so we just use the parallel materialized collector + if (data.is_streaming) { + return make_uniq_base(data, true); + } return make_uniq_base(data, true); } else if (!PhysicalPlanGenerator::UseBatchIndex(context, *data.plan)) { // the plan is order preserving, but we cannot use the batch index: use a single-threaded result collector + if (data.is_streaming) { + return make_uniq_base(data, false); + } return make_uniq_base(data, false); } else { // we care about maintaining insertion order and the sources all support batch indexes // use a batch collector + if (data.is_streaming) { + return make_uniq_base(data, false); + } return make_uniq_base(data); } } diff --git a/src/execution/operator/helper/physical_transaction.cpp b/src/execution/operator/helper/physical_transaction.cpp index cca98d8597f1..08ad8c59909c 100644 --- a/src/execution/operator/helper/physical_transaction.cpp +++ b/src/execution/operator/helper/physical_transaction.cpp @@ -1,6 +1,7 @@ #include "duckdb/execution/operator/helper/physical_transaction.hpp" #include "duckdb/main/client_context.hpp" #include "duckdb/main/valid_checker.hpp" +#include "duckdb/common/exception/transaction_exception.hpp" namespace duckdb { diff --git a/src/execution/operator/helper/physical_vacuum.cpp b/src/execution/operator/helper/physical_vacuum.cpp index 7ab179abee40..10fd477901cb 100644 --- a/src/execution/operator/helper/physical_vacuum.cpp +++ b/src/execution/operator/helper/physical_vacuum.cpp @@ -15,8 +15,13 @@ PhysicalVacuum::PhysicalVacuum(unique_ptr info_p, idx_t estimated_ca class VacuumLocalSinkState : public LocalSinkState { public: explicit VacuumLocalSinkState(VacuumInfo &info) { - for (idx_t col_idx = 0; col_idx < info.columns.size(); col_idx++) { - column_distinct_stats.push_back(make_uniq()); + for (const auto &column_name : info.columns) { + auto &column = info.table->GetColumn(column_name); + if (DistinctStatistics::TypeIsSupported(column.GetType())) { + column_distinct_stats.push_back(make_uniq()); + } else { + column_distinct_stats.push_back(nullptr); + } } }; @@ -30,8 +35,14 @@ unique_ptr PhysicalVacuum::GetLocalSinkState(ExecutionContext &c class VacuumGlobalSinkState : public GlobalSinkState { public: explicit VacuumGlobalSinkState(VacuumInfo &info) { - for (idx_t col_idx = 0; col_idx < info.columns.size(); col_idx++) { - column_distinct_stats.push_back(make_uniq()); + + for (const auto &column_name : info.columns) { + auto &column = info.table->GetColumn(column_name); + if (DistinctStatistics::TypeIsSupported(column.GetType())) { + column_distinct_stats.push_back(make_uniq()); + } else { + column_distinct_stats.push_back(nullptr); + } } }; @@ -58,13 +69,17 @@ SinkResultType PhysicalVacuum::Sink(ExecutionContext &context, DataChunk &chunk, } SinkCombineResultType PhysicalVacuum::Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const { - auto &gstate = input.global_state.Cast(); - auto &lstate = input.local_state.Cast(); + auto &g_state = input.global_state.Cast(); + auto &l_state = input.local_state.Cast(); - lock_guard lock(gstate.stats_lock); - D_ASSERT(gstate.column_distinct_stats.size() == lstate.column_distinct_stats.size()); - for (idx_t col_idx = 0; col_idx < gstate.column_distinct_stats.size(); col_idx++) { - gstate.column_distinct_stats[col_idx]->Merge(*lstate.column_distinct_stats[col_idx]); + lock_guard lock(g_state.stats_lock); + D_ASSERT(g_state.column_distinct_stats.size() == l_state.column_distinct_stats.size()); + + for (idx_t col_idx = 0; col_idx < g_state.column_distinct_stats.size(); col_idx++) { + if (g_state.column_distinct_stats[col_idx]) { + D_ASSERT(l_state.column_distinct_stats[col_idx]); + g_state.column_distinct_stats[col_idx]->Merge(*l_state.column_distinct_stats[col_idx]); + } } return SinkCombineResultType::FINISHED; diff --git a/src/execution/operator/join/CMakeLists.txt b/src/execution/operator/join/CMakeLists.txt index 5104a8bd4a87..9adfabb8fff8 100644 --- a/src/execution/operator/join/CMakeLists.txt +++ b/src/execution/operator/join/CMakeLists.txt @@ -7,15 +7,16 @@ add_library_unity( physical_comparison_join.cpp physical_cross_product.cpp physical_delim_join.cpp + physical_left_delim_join.cpp physical_hash_join.cpp physical_iejoin.cpp - physical_index_join.cpp physical_join.cpp physical_nested_loop_join.cpp perfect_hash_join_executor.cpp physical_piecewise_merge_join.cpp physical_positional_join.cpp - physical_range_join.cpp) + physical_range_join.cpp + physical_right_delim_join.cpp) set(ALL_OBJECT_FILES ${ALL_OBJECT_FILES} $ PARENT_SCOPE) diff --git a/src/execution/operator/join/perfect_hash_join_executor.cpp b/src/execution/operator/join/perfect_hash_join_executor.cpp index 7c7ad73e78c1..bfac54029ab9 100644 --- a/src/execution/operator/join/perfect_hash_join_executor.cpp +++ b/src/execution/operator/join/perfect_hash_join_executor.cpp @@ -20,7 +20,7 @@ bool PerfectHashJoinExecutor::CanDoPerfectHashJoin() { bool PerfectHashJoinExecutor::BuildPerfectHashTable(LogicalType &key_type) { // First, allocate memory for each build column auto build_size = perfect_join_statistics.build_range + 1; - for (const auto &type : ht.build_types) { + for (const auto &type : join.rhs_output_types) { perfect_hash_table.emplace_back(type, build_size); } @@ -69,16 +69,15 @@ bool PerfectHashJoinExecutor::FullScanHashTable(LogicalType &key_type) { // Full scan the remaining build columns and fill the perfect hash table const auto build_size = perfect_join_statistics.build_range + 1; - for (idx_t i = 0; i < ht.build_types.size(); i++) { + for (idx_t i = 0; i < join.rhs_output_types.size(); i++) { auto &vector = perfect_hash_table[i]; - D_ASSERT(vector.GetType() == ht.build_types[i]); + const auto output_col_idx = ht.output_columns[i]; + D_ASSERT(vector.GetType() == ht.layout.GetTypes()[output_col_idx]); if (build_size > STANDARD_VECTOR_SIZE) { auto &col_mask = FlatVector::Validity(vector); col_mask.Initialize(build_size); } - - const auto col_no = ht.condition_types.size() + i; - data_collection.Gather(tuples_addresses, sel_tuples, key_count, col_no, vector, sel_build); + data_collection.Gather(tuples_addresses, sel_tuples, key_count, output_col_idx, vector, sel_build, nullptr); } return true; @@ -189,9 +188,9 @@ OperatorResultType PerfectHashJoinExecutor::ProbePerfectHashTable(ExecutionConte result.Slice(input, state.probe_sel_vec, probe_sel_count, 0); } // on the build side, we need to fetch the data and build dictionary vectors with the sel_vec - for (idx_t i = 0; i < ht.build_types.size(); i++) { + for (idx_t i = 0; i < join.rhs_output_types.size(); i++) { auto &result_vector = result.data[input.ColumnCount() + i]; - D_ASSERT(result_vector.GetType() == ht.build_types[i]); + D_ASSERT(result_vector.GetType() == ht.layout.GetTypes()[ht.output_columns[i]]); auto &build_vec = perfect_hash_table[i]; result_vector.Reference(build_vec); result_vector.Slice(state.build_sel_vec, probe_sel_count); diff --git a/src/execution/operator/join/physical_asof_join.cpp b/src/execution/operator/join/physical_asof_join.cpp index 0752f5bdbe6c..08d9ac3c1b55 100644 --- a/src/execution/operator/join/physical_asof_join.cpp +++ b/src/execution/operator/join/physical_asof_join.cpp @@ -48,7 +48,7 @@ PhysicalAsOfJoin::PhysicalAsOfJoin(LogicalComparisonJoin &op, unique_ptrGetTypes()), right_outer(IsRightOuterJoin(op.join_type)) { + : right_chunks(context, op.children[1]->GetTypes()), right_outer(PropagatesBuildSide(op.join_type)) { } mutex lock; @@ -104,6 +104,9 @@ unique_ptr PhysicalBlockwiseNLJoin::GetOperatorState(ExecutionCon } result->intermediate_chunk.Initialize(Allocator::DefaultAllocator(), intermediate_types); } + if (join_type == JoinType::RIGHT_ANTI || join_type == JoinType::RIGHT_SEMI) { + throw NotImplementedException("physical blockwise RIGHT_SEMI/RIGHT_ANTI join not yet implemented"); + } return std::move(result); } @@ -249,7 +252,7 @@ unique_ptr PhysicalBlockwiseNLJoin::GetLocalSourceState(Execut SourceResultType PhysicalBlockwiseNLJoin::GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const { - D_ASSERT(IsRightOuterJoin(join_type)); + D_ASSERT(PropagatesBuildSide(join_type)); // check if we need to scan any unmatched tuples from the RHS for the full/right outer join auto &sink = sink_state->Cast(); auto &gstate = input.global_state.Cast(); diff --git a/src/execution/operator/join/physical_comparison_join.cpp b/src/execution/operator/join/physical_comparison_join.cpp index dc4e9b976279..ba0c4e5a0cc7 100644 --- a/src/execution/operator/join/physical_comparison_join.cpp +++ b/src/execution/operator/join/physical_comparison_join.cpp @@ -1,5 +1,5 @@ #include "duckdb/execution/operator/join/physical_comparison_join.hpp" -#include "duckdb/common/types/chunk_collection.hpp" + #include "duckdb/common/enum_util.hpp" namespace duckdb { diff --git a/src/execution/operator/join/physical_delim_join.cpp b/src/execution/operator/join/physical_delim_join.cpp index 487fc35dfd46..5d9f2806f9c3 100644 --- a/src/execution/operator/join/physical_delim_join.cpp +++ b/src/execution/operator/join/physical_delim_join.cpp @@ -1,30 +1,15 @@ #include "duckdb/execution/operator/join/physical_delim_join.hpp" -#include "duckdb/common/types/column/column_data_collection.hpp" -#include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp" -#include "duckdb/execution/operator/scan/physical_column_data_scan.hpp" -#include "duckdb/execution/operator/set/physical_recursive_cte.hpp" -#include "duckdb/parallel/meta_pipeline.hpp" -#include "duckdb/parallel/pipeline.hpp" -#include "duckdb/parallel/thread_context.hpp" namespace duckdb { -PhysicalDelimJoin::PhysicalDelimJoin(vector types, unique_ptr original_join, +PhysicalDelimJoin::PhysicalDelimJoin(PhysicalOperatorType type, vector types, + unique_ptr original_join, vector> delim_scans, idx_t estimated_cardinality) - : PhysicalOperator(PhysicalOperatorType::DELIM_JOIN, std::move(types), estimated_cardinality), - join(std::move(original_join)), delim_scans(std::move(delim_scans)) { - D_ASSERT(join->children.size() == 2); - // now for the original join - // we take its left child, this is the side that we will duplicate eliminate - children.push_back(std::move(join->children[0])); - - // we replace it with a PhysicalColumnDataScan, that scans the ColumnDataCollection that we keep cached - // the actual chunk collection to scan will be created in the DelimJoinGlobalState - auto cached_chunk_scan = make_uniq( - children[0]->GetTypes(), PhysicalOperatorType::COLUMN_DATA_SCAN, estimated_cardinality); - join->children[0] = std::move(cached_chunk_scan); + : PhysicalOperator(type, std::move(types), estimated_cardinality), join(std::move(original_join)), + delim_scans(std::move(delim_scans)) { + D_ASSERT(type == PhysicalOperatorType::LEFT_DELIM_JOIN || type == PhysicalOperatorType::RIGHT_DELIM_JOIN); } vector> PhysicalDelimJoin::GetChildren() const { @@ -37,115 +22,8 @@ vector> PhysicalDelimJoin::GetChildren() const return result; } -//===--------------------------------------------------------------------===// -// Sink -//===--------------------------------------------------------------------===// -class DelimJoinGlobalState : public GlobalSinkState { -public: - explicit DelimJoinGlobalState(ClientContext &context, const PhysicalDelimJoin &delim_join) - : lhs_data(context, delim_join.children[0]->GetTypes()) { - D_ASSERT(delim_join.delim_scans.size() > 0); - // set up the delim join chunk to scan in the original join - auto &cached_chunk_scan = delim_join.join->children[0]->Cast(); - cached_chunk_scan.collection = &lhs_data; - } - - ColumnDataCollection lhs_data; - mutex lhs_lock; - - void Merge(ColumnDataCollection &input) { - lock_guard guard(lhs_lock); - lhs_data.Combine(input); - } -}; - -class DelimJoinLocalState : public LocalSinkState { -public: - explicit DelimJoinLocalState(ClientContext &context, const PhysicalDelimJoin &delim_join) - : lhs_data(context, delim_join.children[0]->GetTypes()) { - lhs_data.InitializeAppend(append_state); - } - - unique_ptr distinct_state; - ColumnDataCollection lhs_data; - ColumnDataAppendState append_state; - - void Append(DataChunk &input) { - lhs_data.Append(input); - } -}; - -unique_ptr PhysicalDelimJoin::GetGlobalSinkState(ClientContext &context) const { - auto state = make_uniq(context, *this); - distinct->sink_state = distinct->GetGlobalSinkState(context); - if (delim_scans.size() > 1) { - PhysicalHashAggregate::SetMultiScan(*distinct->sink_state); - } - return std::move(state); -} - -unique_ptr PhysicalDelimJoin::GetLocalSinkState(ExecutionContext &context) const { - auto state = make_uniq(context.client, *this); - state->distinct_state = distinct->GetLocalSinkState(context); - return std::move(state); -} - -SinkResultType PhysicalDelimJoin::Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const { - auto &lstate = input.local_state.Cast(); - lstate.lhs_data.Append(lstate.append_state, chunk); - OperatorSinkInput distinct_sink_input {*distinct->sink_state, *lstate.distinct_state, input.interrupt_state}; - distinct->Sink(context, chunk, distinct_sink_input); - return SinkResultType::NEED_MORE_INPUT; -} - -SinkCombineResultType PhysicalDelimJoin::Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const { - auto &lstate = input.local_state.Cast(); - auto &gstate = input.global_state.Cast(); - gstate.Merge(lstate.lhs_data); - - OperatorSinkCombineInput distinct_combine_input {*distinct->sink_state, *lstate.distinct_state, - input.interrupt_state}; - distinct->Combine(context, distinct_combine_input); - - return SinkCombineResultType::FINISHED; -} - -SinkFinalizeType PhysicalDelimJoin::Finalize(Pipeline &pipeline, Event &event, ClientContext &client, - OperatorSinkFinalizeInput &input) const { - // finalize the distinct HT - D_ASSERT(distinct); - - OperatorSinkFinalizeInput finalize_input {*distinct->sink_state, input.interrupt_state}; - distinct->Finalize(pipeline, event, client, finalize_input); - return SinkFinalizeType::READY; -} - string PhysicalDelimJoin::ParamsToString() const { return join->ParamsToString(); } -//===--------------------------------------------------------------------===// -// Pipeline Construction -//===--------------------------------------------------------------------===// -void PhysicalDelimJoin::BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) { - op_state.reset(); - sink_state.reset(); - - auto &child_meta_pipeline = meta_pipeline.CreateChildMetaPipeline(current, *this); - child_meta_pipeline.Build(*children[0]); - - if (type == PhysicalOperatorType::DELIM_JOIN) { - // recurse into the actual join - // any pipelines in there depend on the main pipeline - // any scan of the duplicate eliminated data on the RHS depends on this pipeline - // we add an entry to the mapping of (PhysicalOperator*) -> (Pipeline*) - auto &state = meta_pipeline.GetState(); - for (auto &delim_scan : delim_scans) { - state.delim_join_dependencies.insert( - make_pair(delim_scan, reference(*child_meta_pipeline.GetBasePipeline()))); - } - join->BuildPipelines(current, meta_pipeline); - } -} - } // namespace duckdb diff --git a/src/execution/operator/join/physical_hash_join.cpp b/src/execution/operator/join/physical_hash_join.cpp index d6faee754ed4..8a4959035150 100644 --- a/src/execution/operator/join/physical_hash_join.cpp +++ b/src/execution/operator/join/physical_hash_join.cpp @@ -7,35 +7,70 @@ #include "duckdb/main/client_context.hpp" #include "duckdb/main/query_profiler.hpp" #include "duckdb/parallel/base_pipeline_event.hpp" +#include "duckdb/parallel/interrupt.hpp" #include "duckdb/parallel/pipeline.hpp" #include "duckdb/parallel/thread_context.hpp" #include "duckdb/planner/expression/bound_aggregate_expression.hpp" #include "duckdb/planner/expression/bound_reference_expression.hpp" #include "duckdb/storage/buffer_manager.hpp" #include "duckdb/storage/storage_manager.hpp" +#include "duckdb/storage/temporary_memory_manager.hpp" namespace duckdb { PhysicalHashJoin::PhysicalHashJoin(LogicalOperator &op, unique_ptr left, unique_ptr right, vector cond, JoinType join_type, - const vector &left_projection_map, - const vector &right_projection_map_p, vector delim_types, - idx_t estimated_cardinality, PerfectHashJoinStats perfect_join_stats) + const vector &left_projection_map, const vector &right_projection_map, + vector delim_types, idx_t estimated_cardinality, + PerfectHashJoinStats perfect_join_stats) : PhysicalComparisonJoin(op, PhysicalOperatorType::HASH_JOIN, std::move(cond), join_type, estimated_cardinality), - right_projection_map(right_projection_map_p), delim_types(std::move(delim_types)), - perfect_join_statistics(std::move(perfect_join_stats)) { + delim_types(std::move(delim_types)), perfect_join_statistics(std::move(perfect_join_stats)) { + D_ASSERT(left_projection_map.empty()); children.push_back(std::move(left)); children.push_back(std::move(right)); - D_ASSERT(left_projection_map.empty()); - for (auto &condition : conditions) { + // Collect condition types, and which conditions are just references (so we won't duplicate them in the payload) + unordered_map build_columns_in_conditions; + for (idx_t cond_idx = 0; cond_idx < conditions.size(); cond_idx++) { + auto &condition = conditions[cond_idx]; condition_types.push_back(condition.left->return_type); + if (condition.right->GetExpressionClass() == ExpressionClass::BOUND_REF) { + build_columns_in_conditions.emplace(condition.right->Cast().index, cond_idx); + } + } + + // For ANTI, SEMI and MARK join, we only need to store the keys, so for these the payload/RHS types are empty + if (join_type == JoinType::ANTI || join_type == JoinType::SEMI || join_type == JoinType::MARK) { + return; } - // for ANTI, SEMI and MARK join, we only need to store the keys, so for these the build types are empty - if (join_type != JoinType::ANTI && join_type != JoinType::SEMI && join_type != JoinType::MARK) { - build_types = LogicalOperator::MapTypes(children[1]->GetTypes(), right_projection_map); + auto &rhs_input_types = children[1]->GetTypes(); + + // Create a projection map for the RHS (if it was empty), for convenience + auto right_projection_map_copy = right_projection_map; + if (right_projection_map_copy.empty()) { + right_projection_map_copy.reserve(rhs_input_types.size()); + for (idx_t i = 0; i < rhs_input_types.size(); i++) { + right_projection_map_copy.emplace_back(i); + } + } + + // Now fill payload expressions/types and RHS columns/types + for (auto &rhs_col : right_projection_map_copy) { + auto &rhs_col_type = rhs_input_types[rhs_col]; + + auto it = build_columns_in_conditions.find(rhs_col); + if (it == build_columns_in_conditions.end()) { + // This rhs column is not a join key + payload_column_idxs.push_back(rhs_col); + payload_types.push_back(rhs_col_type); + rhs_output_columns.push_back(condition_types.size() + payload_types.size() - 1); + } else { + // This rhs column is a join key + rhs_output_columns.push_back(it->second); + } + rhs_output_types.push_back(rhs_col_type); } } @@ -52,7 +87,10 @@ PhysicalHashJoin::PhysicalHashJoin(LogicalOperator &op, unique_ptr temporary_memory_update_count; + //! Temporary memory state for managing this operator's memory usage + unique_ptr temporary_memory_state; + //! Global HT used by the join unique_ptr hash_table; //! The perfect hash join executor (if any) @@ -95,36 +139,42 @@ class HashJoinGlobalSinkState : public GlobalSinkState { class HashJoinLocalSinkState : public LocalSinkState { public: - HashJoinLocalSinkState(const PhysicalHashJoin &op, ClientContext &context) : build_executor(context) { + HashJoinLocalSinkState(const PhysicalHashJoin &op, ClientContext &context) + : join_key_executor(context), chunk_count(0) { auto &allocator = BufferAllocator::Get(context); - if (!op.right_projection_map.empty()) { - build_chunk.Initialize(allocator, op.build_types); - } + for (auto &cond : op.conditions) { - build_executor.AddExpression(*cond.right); + join_key_executor.AddExpression(*cond.right); } join_keys.Initialize(allocator, op.condition_types); - hash_table = op.InitializeHashTable(context); + if (!op.payload_types.empty()) { + payload_chunk.Initialize(allocator, op.payload_types); + } + hash_table = op.InitializeHashTable(context); hash_table->GetSinkCollection().InitializeAppendState(append_state); } public: PartitionedTupleDataAppendState append_state; - DataChunk build_chunk; + ExpressionExecutor join_key_executor; DataChunk join_keys; - ExpressionExecutor build_executor; + + DataChunk payload_chunk; //! Thread-local HT unique_ptr hash_table; + + //! For updating the temporary memory state + idx_t chunk_count; + static constexpr const idx_t CHUNK_COUNT_UPDATE_INTERVAL = 60; }; unique_ptr PhysicalHashJoin::InitializeHashTable(ClientContext &context) const { - auto result = - make_uniq(BufferManager::GetBufferManager(context), conditions, build_types, join_type); - result->max_ht_size = double(0.6) * BufferManager::GetBufferManager(context).GetMaxMemory(); + auto result = make_uniq(BufferManager::GetBufferManager(context), conditions, payload_types, + join_type, rhs_output_columns); if (!delim_types.empty() && join_type == JoinType::MARK) { // correlated MARK join if (delim_types.size() + 1 == conditions.size()) { @@ -138,7 +188,7 @@ unique_ptr PhysicalHashJoin::InitializeHashTable(ClientContext &c // - (2) the group containing a NULL value [in which case FALSE becomes NULL] auto &info = result->correlated_mark_join_info; - vector payload_types; + vector delim_payload_types; vector correlated_aggregates; unique_ptr aggr; @@ -149,7 +199,7 @@ unique_ptr PhysicalHashJoin::InitializeHashTable(ClientContext &c aggr = function_binder.BindAggregateFunction(CountStarFun::GetFunction(), {}, nullptr, AggregateType::NON_DISTINCT); correlated_aggregates.push_back(&*aggr); - payload_types.push_back(aggr->return_type); + delim_payload_types.push_back(aggr->return_type); info.correlated_aggregates.push_back(std::move(aggr)); auto count_fun = CountFun::GetFunction(); @@ -159,15 +209,15 @@ unique_ptr PhysicalHashJoin::InitializeHashTable(ClientContext &c aggr = function_binder.BindAggregateFunction(count_fun, std::move(children), nullptr, AggregateType::NON_DISTINCT); correlated_aggregates.push_back(&*aggr); - payload_types.push_back(aggr->return_type); + delim_payload_types.push_back(aggr->return_type); info.correlated_aggregates.push_back(std::move(aggr)); auto &allocator = BufferAllocator::Get(context); info.correlated_counts = make_uniq(context, allocator, delim_types, - payload_types, correlated_aggregates); + delim_payload_types, correlated_aggregates); info.correlated_types = delim_types; info.group_chunk.Initialize(allocator, delim_types); - info.result_chunk.Initialize(allocator, payload_types); + info.result_chunk.Initialize(allocator, delim_payload_types); } } return result; @@ -186,25 +236,31 @@ SinkResultType PhysicalHashJoin::Sink(ExecutionContext &context, DataChunk &chun // resolve the join keys for the right chunk lstate.join_keys.Reset(); - lstate.build_executor.Execute(chunk, lstate.join_keys); + lstate.join_key_executor.Execute(chunk, lstate.join_keys); // build the HT auto &ht = *lstate.hash_table; - if (!right_projection_map.empty()) { - // there is a projection map: fill the build chunk with the projected columns - lstate.build_chunk.Reset(); - lstate.build_chunk.SetCardinality(chunk); - for (idx_t i = 0; i < right_projection_map.size(); i++) { - lstate.build_chunk.data[i].Reference(chunk.data[right_projection_map[i]]); - } - ht.Build(lstate.append_state, lstate.join_keys, lstate.build_chunk); - } else if (!build_types.empty()) { - // there is not a projected map: place the entire right chunk in the HT - ht.Build(lstate.append_state, lstate.join_keys, chunk); - } else { + if (payload_types.empty()) { // there are only keys: place an empty chunk in the payload - lstate.build_chunk.SetCardinality(chunk.size()); - ht.Build(lstate.append_state, lstate.join_keys, lstate.build_chunk); + lstate.payload_chunk.SetCardinality(chunk.size()); + ht.Build(lstate.append_state, lstate.join_keys, lstate.payload_chunk); + } else { + // there are payload columns + lstate.payload_chunk.Reset(); + lstate.payload_chunk.SetCardinality(chunk); + for (idx_t i = 0; i < payload_column_idxs.size(); i++) { + lstate.payload_chunk.data[i].Reference(chunk.data[payload_column_idxs[i]]); + } + ht.Build(lstate.append_state, lstate.join_keys, lstate.payload_chunk); + } + + if (++lstate.chunk_count % HashJoinLocalSinkState::CHUNK_COUNT_UPDATE_INTERVAL == 0) { + auto &gstate = input.global_state.Cast(); + if (++gstate.temporary_memory_update_count % gstate.num_threads == 0) { + auto &sink_collection = lstate.hash_table->GetSinkCollection(); + auto ht_size = sink_collection.SizeInBytes() + JoinHashTable::PointerTableSize(sink_collection.Count()); + gstate.temporary_memory_state->SetRemainingSize(context.client, gstate.num_threads * ht_size); + } } return SinkResultType::NEED_MORE_INPUT; @@ -219,7 +275,7 @@ SinkCombineResultType PhysicalHashJoin::Combine(ExecutionContext &context, Opera gstate.local_hash_tables.push_back(std::move(lstate.hash_table)); } auto &client_profiler = QueryProfiler::Get(context.client); - context.thread.profiler.Flush(*this, lstate.build_executor, "build_executor", 1); + context.thread.profiler.Flush(*this, lstate.join_key_executor, "join_key_executor", 1); client_profiler.Flush(context.thread.profiler); return SinkCombineResultType::FINISHED; @@ -322,7 +378,7 @@ class HashJoinRepartitionTask : public ExecutorTask { } TaskExecutionResult ExecuteTask(TaskExecutionMode mode) override { - local_ht.Partition(global_ht); + local_ht.Repartition(global_ht); event->FinishTask(); return TaskExecutionResult::TASK_FINISHED; } @@ -334,10 +390,10 @@ class HashJoinRepartitionTask : public ExecutorTask { JoinHashTable &local_ht; }; -class HashJoinPartitionEvent : public BasePipelineEvent { +class HashJoinRepartitionEvent : public BasePipelineEvent { public: - HashJoinPartitionEvent(Pipeline &pipeline_p, HashJoinGlobalSinkState &sink, - vector> &local_hts) + HashJoinRepartitionEvent(Pipeline &pipeline_p, HashJoinGlobalSinkState &sink, + vector> &local_hts) : BasePipelineEvent(pipeline_p), sink(sink), local_hts(local_hts) { } @@ -346,7 +402,35 @@ class HashJoinPartitionEvent : public BasePipelineEvent { public: void Schedule() override { + D_ASSERT(sink.hash_table->GetRadixBits() > JoinHashTable::INITIAL_RADIX_BITS); + + idx_t total_size = 0; + idx_t total_count = 0; + for (auto &local_ht : local_hts) { + auto &sink_collection = local_ht->GetSinkCollection(); + total_size += sink_collection.SizeInBytes(); + total_count += sink_collection.Count(); + } + auto total_blocks = (double(total_size) + Storage::BLOCK_SIZE - 1) / Storage::BLOCK_SIZE; + auto count_per_block = total_count / total_blocks; + auto blocks_per_vector = MaxValue(STANDARD_VECTOR_SIZE / count_per_block, 2); + + // Assume 8 blocks per partition per thread (4 input, 4 output) + auto partition_multiplier = + RadixPartitioning::NumberOfPartitions(sink.hash_table->GetRadixBits() - JoinHashTable::INITIAL_RADIX_BITS); + auto thread_memory = 2 * blocks_per_vector * partition_multiplier * Storage::BLOCK_SIZE; + auto repartition_threads = MaxValue(sink.temporary_memory_state->GetReservation() / thread_memory, 1); + + if (repartition_threads < local_hts.size()) { + // Limit the number of threads working on repartitioning based on our memory reservation + for (idx_t thread_idx = repartition_threads; thread_idx < local_hts.size(); thread_idx++) { + local_hts[thread_idx % repartition_threads]->Merge(*local_hts[thread_idx]); + } + local_hts.resize(repartition_threads); + } + auto &context = pipeline->GetClientContext(); + vector> partition_tasks; partition_tasks.reserve(local_hts.size()); for (auto &local_ht : local_hts) { @@ -358,7 +442,17 @@ class HashJoinPartitionEvent : public BasePipelineEvent { void FinishEvent() override { local_hts.clear(); - sink.hash_table->PrepareExternalFinalize(); + + // Minimum reservation is now the new smallest partition size + const auto num_partitions = RadixPartitioning::NumberOfPartitions(sink.hash_table->GetRadixBits()); + vector partition_sizes(num_partitions, 0); + vector partition_counts(num_partitions, 0); + idx_t max_partition_size; + idx_t max_partition_count; + sink.hash_table->GetTotalSize(partition_sizes, partition_counts, max_partition_size, max_partition_count); + sink.temporary_memory_state->SetMinimumReservation(max_partition_size + + JoinHashTable::PointerTableSize(max_partition_count)); + sink.hash_table->PrepareExternalFinalize(sink.temporary_memory_state->GetReservation()); sink.ScheduleFinalize(*pipeline, *this); } }; @@ -368,23 +462,36 @@ SinkFinalizeType PhysicalHashJoin::Finalize(Pipeline &pipeline, Event &event, Cl auto &sink = input.global_state.Cast(); auto &ht = *sink.hash_table; - sink.external = ht.RequiresExternalJoin(context.config, sink.local_hash_tables); + idx_t max_partition_size; + idx_t max_partition_count; + auto const total_size = ht.GetTotalSize(sink.local_hash_tables, max_partition_size, max_partition_count); + sink.temporary_memory_state->SetRemainingSize(context, total_size); + + sink.external = sink.temporary_memory_state->GetReservation() < total_size; if (sink.external) { + const auto max_partition_ht_size = max_partition_size + JoinHashTable::PointerTableSize(max_partition_count); + // External Hash Join sink.perfect_join_executor.reset(); - if (ht.RequiresPartitioning(context.config, sink.local_hash_tables)) { - auto new_event = make_shared(pipeline, sink, sink.local_hash_tables); + if (max_partition_ht_size > sink.temporary_memory_state->GetReservation()) { + // We have to repartition + ht.SetRepartitionRadixBits(sink.local_hash_tables, sink.temporary_memory_state->GetReservation(), + max_partition_size, max_partition_count); + auto new_event = make_shared(pipeline, sink, sink.local_hash_tables); event.InsertEvent(std::move(new_event)); } else { + // No repartitioning! + sink.temporary_memory_state->SetMinimumReservation(max_partition_ht_size); for (auto &local_ht : sink.local_hash_tables) { ht.Merge(*local_ht); } sink.local_hash_tables.clear(); - sink.hash_table->PrepareExternalFinalize(); + sink.hash_table->PrepareExternalFinalize(sink.temporary_memory_state->GetReservation()); sink.ScheduleFinalize(pipeline, event); } sink.finalized = true; return SinkFinalizeType::READY; } else { + // In-memory Hash Join for (auto &local_ht : sink.local_hash_tables) { ht.Merge(*local_ht); } @@ -486,7 +593,7 @@ OperatorResultType PhysicalHashJoin::ExecuteInternal(ExecutionContext &context, if (state.scan_structure) { // still have elements remaining (i.e. we got >STANDARD_VECTOR_SIZE elements in the previous probe) state.scan_structure->Next(state.join_keys, input, chunk); - if (chunk.size() > 0) { + if (!state.scan_structure->PointersExhausted() || chunk.size() > 0) { return OperatorResultType::HAVE_MORE_OUTPUT; } state.scan_structure = nullptr; @@ -528,7 +635,7 @@ class HashJoinGlobalSourceState : public GlobalSourceState { //! Initialize this source state using the info in the sink void Initialize(HashJoinGlobalSinkState &sink); //! Try to prepare the next stage - void TryPrepareNextStage(HashJoinGlobalSinkState &sink); + bool TryPrepareNextStage(HashJoinGlobalSinkState &sink); //! Prepare the next build/probe/scan_ht stage for external hash join (must hold lock) void PrepareBuild(HashJoinGlobalSinkState &sink); void PrepareProbe(HashJoinGlobalSinkState &sink); @@ -543,7 +650,7 @@ class HashJoinGlobalSourceState : public GlobalSourceState { idx_t count; if (gstate.probe_spill) { count = probe_count; - } else if (IsRightOuterJoin(op.join_type)) { + } else if (PropagatesBuildSide(op.join_type)) { count = gstate.hash_table->Count(); } else { return 0; @@ -577,6 +684,8 @@ class HashJoinGlobalSourceState : public GlobalSourceState { idx_t full_outer_chunk_count; idx_t full_outer_chunk_done; idx_t full_outer_chunks_per_thread; + + vector blocked_tasks; }; class HashJoinLocalSourceState : public LocalSourceState { @@ -653,41 +762,49 @@ void HashJoinGlobalSourceState::Initialize(HashJoinGlobalSinkState &sink) { TryPrepareNextStage(sink); } -void HashJoinGlobalSourceState::TryPrepareNextStage(HashJoinGlobalSinkState &sink) { +bool HashJoinGlobalSourceState::TryPrepareNextStage(HashJoinGlobalSinkState &sink) { switch (global_stage.load()) { case HashJoinSourceStage::BUILD: if (build_chunk_done == build_chunk_count) { sink.hash_table->GetDataCollection().VerifyEverythingPinned(); sink.hash_table->finalized = true; PrepareProbe(sink); + return true; } break; case HashJoinSourceStage::PROBE: if (probe_chunk_done == probe_chunk_count) { - if (IsRightOuterJoin(op.join_type)) { + if (PropagatesBuildSide(op.join_type)) { PrepareScanHT(sink); } else { PrepareBuild(sink); } + return true; } break; case HashJoinSourceStage::SCAN_HT: if (full_outer_chunk_done == full_outer_chunk_count) { PrepareBuild(sink); + return true; } break; default: break; } + return false; } void HashJoinGlobalSourceState::PrepareBuild(HashJoinGlobalSinkState &sink) { D_ASSERT(global_stage != HashJoinSourceStage::BUILD); auto &ht = *sink.hash_table; + // Update remaining size + sink.temporary_memory_state->SetRemainingSize(sink.context, ht.GetRemainingSize()); + // Try to put the next partitions in the block collection of the HT - if (!sink.external || !ht.PrepareExternalFinalize()) { + if (!sink.external || !ht.PrepareExternalFinalize(sink.temporary_memory_state->GetReservation())) { global_stage = HashJoinSourceStage::DONE; + sink.temporary_memory_state->SetRemainingSize(sink.context, 0); return; } @@ -846,7 +963,7 @@ void HashJoinLocalSourceState::ExternalProbe(HashJoinGlobalSinkState &sink, Hash if (scan_structure) { // Still have elements remaining (i.e. we got >STANDARD_VECTOR_SIZE elements in the previous probe) scan_structure->Next(join_keys, payload, chunk); - if (chunk.size() != 0) { + if (chunk.size() != 0 || !scan_structure->PointersExhausted()) { return; } } @@ -904,7 +1021,12 @@ SourceResultType PhysicalHashJoin::GetData(ExecutionContext &context, DataChunk auto &lstate = input.local_state.Cast(); sink.scanned_data = true; - if (!sink.external && !IsRightOuterJoin(join_type)) { + if (!sink.external && !PropagatesBuildSide(join_type)) { + lock_guard guard(gstate.lock); + if (gstate.global_stage != HashJoinSourceStage::DONE) { + gstate.global_stage = HashJoinSourceStage::DONE; + sink.temporary_memory_state->SetRemainingSize(context.client, 0); + } return SourceResultType::FINISHED; } @@ -919,11 +1041,49 @@ SourceResultType PhysicalHashJoin::GetData(ExecutionContext &context, DataChunk lstate.ExecuteTask(sink, gstate, chunk); } else { lock_guard guard(gstate.lock); - gstate.TryPrepareNextStage(sink); + if (gstate.TryPrepareNextStage(sink) || gstate.global_stage == HashJoinSourceStage::DONE) { + for (auto &state : gstate.blocked_tasks) { + state.Callback(); + } + gstate.blocked_tasks.clear(); + } else { + gstate.blocked_tasks.push_back(input.interrupt_state); + return SourceResultType::BLOCKED; + } } } return chunk.size() == 0 ? SourceResultType::FINISHED : SourceResultType::HAVE_MORE_OUTPUT; } +double PhysicalHashJoin::GetProgress(ClientContext &context, GlobalSourceState &gstate_p) const { + auto &sink = sink_state->Cast(); + auto &gstate = gstate_p.Cast(); + + if (!sink.external) { + if (PropagatesBuildSide(join_type)) { + return double(gstate.full_outer_chunk_done) / double(gstate.full_outer_chunk_count) * 100.0; + } + return 100.0; + } + + double num_partitions = RadixPartitioning::NumberOfPartitions(sink.hash_table->GetRadixBits()); + double partition_start = sink.hash_table->GetPartitionStart(); + double partition_end = sink.hash_table->GetPartitionEnd(); + + // This many partitions are fully done + auto progress = partition_start / double(num_partitions); + + double probe_chunk_done = gstate.probe_chunk_done; + double probe_chunk_count = gstate.probe_chunk_count; + if (probe_chunk_count != 0) { + // Progress of the current round of probing, weighed by the number of partitions + auto probe_progress = double(probe_chunk_done) / double(probe_chunk_count); + // Add it to the progress, weighed by the number of partitions in the current round + progress += (partition_end - partition_start) / num_partitions * probe_progress; + } + + return progress * 100.0; +} + } // namespace duckdb diff --git a/src/execution/operator/join/physical_iejoin.cpp b/src/execution/operator/join/physical_iejoin.cpp index dfb61bda4b61..df7fc232f910 100644 --- a/src/execution/operator/join/physical_iejoin.cpp +++ b/src/execution/operator/join/physical_iejoin.cpp @@ -24,8 +24,6 @@ PhysicalIEJoin::PhysicalIEJoin(LogicalComparisonJoin &op, unique_ptr= 2); - lhs_orders.resize(2); - rhs_orders.resize(2); for (idx_t i = 0; i < 2; ++i) { auto &cond = conditions[i]; D_ASSERT(cond.left->return_type == cond.right->return_type); @@ -52,8 +50,8 @@ PhysicalIEJoin::PhysicalIEJoin(LogicalComparisonJoin &op, unique_ptrtypes); vector lhs_order; - lhs_order.emplace_back(op.lhs_orders[0][0].Copy()); + lhs_order.emplace_back(op.lhs_orders[0].Copy()); tables[0] = make_uniq(context, lhs_order, lhs_layout); RowLayout rhs_layout; rhs_layout.Initialize(op.children[1]->types); vector rhs_order; - rhs_order.emplace_back(op.rhs_orders[0][0].Copy()); + rhs_order.emplace_back(op.rhs_orders[0].Copy()); tables[1] = make_uniq(context, rhs_order, rhs_layout); } @@ -164,7 +162,7 @@ SinkFinalizeType PhysicalIEJoin::Finalize(Pipeline &pipeline, Event &event, Clie auto &table = *gstate.tables[gstate.child]; auto &global_sort_state = table.global_sort_state; - if ((gstate.child == 1 && IsRightOuterJoin(join_type)) || (gstate.child == 0 && IsLeftOuterJoin(join_type))) { + if ((gstate.child == 1 && PropagatesBuildSide(join_type)) || (gstate.child == 0 && IsLeftOuterJoin(join_type))) { // for FULL/LEFT/RIGHT OUTER JOIN, initialize found_match to false for every tuple table.IntializeMatches(); } @@ -369,8 +367,8 @@ IEJoinUnion::IEJoinUnion(ClientContext &context, const PhysicalIEJoin &op, Sorte } // 1. let L1 (resp. L2) be the array of column X (resp. Y ) - const auto &order1 = op.lhs_orders[0][0]; - const auto &order2 = op.lhs_orders[1][0]; + const auto &order1 = op.lhs_orders[0]; + const auto &order2 = op.lhs_orders[1]; // 2. if (op1 ∈ {>, ≥}) sort L1 in descending order // 3. else if (op1 ∈ {<, ≤}) sort L1 in ascending order @@ -399,8 +397,8 @@ IEJoinUnion::IEJoinUnion(ClientContext &context, const PhysicalIEJoin &op, Sorte // RHS has negative rids ExpressionExecutor r_executor(context); - r_executor.AddExpression(*op.rhs_orders[0][0].expression); - r_executor.AddExpression(*op.rhs_orders[1][0].expression); + r_executor.AddExpression(*op.rhs_orders[0].expression); + r_executor.AddExpression(*op.rhs_orders[1].expression); AppendKey(t2, r_executor, *l1, -1, -1, b2); if (l1->global_sort_state.sorted_blocks.empty()) { @@ -616,15 +614,14 @@ idx_t IEJoinUnion::JoinComplexBlocks(SelectionVector &lsel, SelectionVector &rse const auto rrid = li[j]; ++j; + D_ASSERT(lrid > 0 && rrid < 0); // 15. add tuples w.r.t. (L1[j], L1[i]) to join result - if (lrid > 0 && rrid < 0) { - lsel.set_index(result_count, sel_t(+lrid - 1)); - rsel.set_index(result_count, sel_t(-rrid - 1)); - ++result_count; - if (result_count == STANDARD_VECTOR_SIZE) { - // out of space! - return result_count; - } + lsel.set_index(result_count, sel_t(+lrid - 1)); + rsel.set_index(result_count, sel_t(-rrid - 1)); + ++result_count; + if (result_count == STANDARD_VECTOR_SIZE) { + // out of space! + return result_count; } } ++i; @@ -1040,8 +1037,8 @@ void PhysicalIEJoin::BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeli children[0]->BuildPipelines(*lhs_pipeline, child_meta_pipeline); // Build out RHS - auto rhs_pipeline = child_meta_pipeline.CreatePipeline(); - children[1]->BuildPipelines(*rhs_pipeline, child_meta_pipeline); + auto &rhs_pipeline = child_meta_pipeline.CreatePipeline(); + children[1]->BuildPipelines(rhs_pipeline, child_meta_pipeline); // Despite having the same sink, RHS and everything created after it need their own (same) PipelineFinishEvent child_meta_pipeline.AddFinishEvent(rhs_pipeline); diff --git a/src/execution/operator/join/physical_index_join.cpp b/src/execution/operator/join/physical_index_join.cpp deleted file mode 100644 index 3035e0ecd09e..000000000000 --- a/src/execution/operator/join/physical_index_join.cpp +++ /dev/null @@ -1,242 +0,0 @@ -#include "duckdb/execution/operator/join/physical_index_join.hpp" - -#include "duckdb/common/vector_operations/vector_operations.hpp" -#include "duckdb/execution/expression_executor.hpp" -#include "duckdb/execution/index/art/art.hpp" -#include "duckdb/execution/operator/scan/physical_table_scan.hpp" -#include "duckdb/function/table/table_scan.hpp" -#include "duckdb/parallel/meta_pipeline.hpp" -#include "duckdb/parallel/thread_context.hpp" -#include "duckdb/storage/buffer_manager.hpp" -#include "duckdb/storage/storage_manager.hpp" -#include "duckdb/storage/table/append_state.hpp" -#include "duckdb/transaction/duck_transaction.hpp" -#include "duckdb/catalog/catalog_entry/duck_table_entry.hpp" -#include "duckdb/storage/table/scan_state.hpp" -#include "duckdb/execution/index/art/art_key.hpp" - -namespace duckdb { - -class IndexJoinOperatorState : public CachingOperatorState { -public: - IndexJoinOperatorState(ClientContext &context, const PhysicalIndexJoin &op) - : probe_executor(context), arena_allocator(BufferAllocator::Get(context)), keys(STANDARD_VECTOR_SIZE) { - auto &allocator = Allocator::Get(context); - rhs_rows.resize(STANDARD_VECTOR_SIZE); - result_sizes.resize(STANDARD_VECTOR_SIZE); - - join_keys.Initialize(allocator, op.condition_types); - for (auto &cond : op.conditions) { - probe_executor.AddExpression(*cond.left); - } - if (!op.fetch_types.empty()) { - rhs_chunk.Initialize(allocator, op.fetch_types); - } - rhs_sel.Initialize(STANDARD_VECTOR_SIZE); - } - - bool first_fetch = true; - idx_t lhs_idx = 0; - idx_t rhs_idx = 0; - idx_t result_size = 0; - vector result_sizes; - DataChunk join_keys; - DataChunk rhs_chunk; - SelectionVector rhs_sel; - - //! Vector of rows that mush be fetched for every LHS key - vector> rhs_rows; - ExpressionExecutor probe_executor; - - ArenaAllocator arena_allocator; - vector keys; - unique_ptr fetch_state; - -public: - void Finalize(const PhysicalOperator &op, ExecutionContext &context) override { - context.thread.profiler.Flush(op, probe_executor, "probe_executor", 0); - } -}; - -PhysicalIndexJoin::PhysicalIndexJoin(LogicalOperator &op, unique_ptr left, - unique_ptr right, vector cond, JoinType join_type, - const vector &left_projection_map_p, vector right_projection_map_p, - vector column_ids_p, Index &index_p, bool lhs_first, - idx_t estimated_cardinality) - : CachingPhysicalOperator(PhysicalOperatorType::INDEX_JOIN, std::move(op.types), estimated_cardinality), - left_projection_map(left_projection_map_p), right_projection_map(std::move(right_projection_map_p)), - index(index_p), conditions(std::move(cond)), join_type(join_type), lhs_first(lhs_first) { - D_ASSERT(right->type == PhysicalOperatorType::TABLE_SCAN); - auto &tbl_scan = right->Cast(); - column_ids = std::move(column_ids_p); - children.push_back(std::move(left)); - children.push_back(std::move(right)); - for (auto &condition : conditions) { - condition_types.push_back(condition.left->return_type); - } - //! Only add to fetch_ids columns that are not indexed - for (auto &index_id : index.column_ids) { - index_ids.insert(index_id); - } - - for (idx_t i = 0; i < column_ids.size(); i++) { - auto column_id = column_ids[i]; - auto it = index_ids.find(column_id); - if (it == index_ids.end()) { - fetch_ids.push_back(column_id); - if (column_id == COLUMN_IDENTIFIER_ROW_ID) { - fetch_types.emplace_back(LogicalType::ROW_TYPE); - } else { - fetch_types.push_back(tbl_scan.returned_types[column_id]); - } - } - } - if (right_projection_map.empty()) { - for (column_t i = 0; i < column_ids.size(); i++) { - right_projection_map.push_back(i); - } - } - if (left_projection_map.empty()) { - for (column_t i = 0; i < children[0]->types.size(); i++) { - left_projection_map.push_back(i); - } - } -} - -unique_ptr PhysicalIndexJoin::GetOperatorState(ExecutionContext &context) const { - return make_uniq(context.client, *this); -} - -void PhysicalIndexJoin::Output(ExecutionContext &context, DataChunk &input, DataChunk &chunk, - OperatorState &state_p) const { - auto &phy_tbl_scan = children[1]->Cast(); - auto &bind_tbl = phy_tbl_scan.bind_data->Cast(); - auto &transaction = DuckTransaction::Get(context.client, bind_tbl.table.catalog); - auto &state = state_p.Cast(); - - auto &tbl = bind_tbl.table.GetStorage(); - idx_t output_sel_idx = 0; - vector fetch_rows; - - while (output_sel_idx < STANDARD_VECTOR_SIZE && state.lhs_idx < input.size()) { - if (state.rhs_idx < state.result_sizes[state.lhs_idx]) { - state.rhs_sel.set_index(output_sel_idx++, state.lhs_idx); - if (!fetch_types.empty()) { - //! We need to collect the rows we want to fetch - fetch_rows.push_back(state.rhs_rows[state.lhs_idx][state.rhs_idx]); - } - state.rhs_idx++; - } else { - //! We are done with the matches from this LHS Key - state.rhs_idx = 0; - state.lhs_idx++; - } - } - //! Now we fetch the RHS data - if (!fetch_types.empty()) { - if (fetch_rows.empty()) { - return; - } - state.rhs_chunk.Reset(); - state.fetch_state = make_uniq(); - Vector row_ids(LogicalType::ROW_TYPE, data_ptr_cast(&fetch_rows[0])); - tbl.Fetch(transaction, state.rhs_chunk, fetch_ids, row_ids, output_sel_idx, *state.fetch_state); - } - - //! Now we actually produce our result chunk - idx_t left_offset = lhs_first ? 0 : right_projection_map.size(); - idx_t right_offset = lhs_first ? left_projection_map.size() : 0; - idx_t rhs_column_idx = 0; - for (idx_t i = 0; i < right_projection_map.size(); i++) { - auto it = index_ids.find(column_ids[right_projection_map[i]]); - if (it == index_ids.end()) { - chunk.data[right_offset + i].Reference(state.rhs_chunk.data[rhs_column_idx++]); - } else { - chunk.data[right_offset + i].Slice(state.join_keys.data[0], state.rhs_sel, output_sel_idx); - } - } - for (idx_t i = 0; i < left_projection_map.size(); i++) { - chunk.data[left_offset + i].Slice(input.data[left_projection_map[i]], state.rhs_sel, output_sel_idx); - } - - state.result_size = output_sel_idx; - chunk.SetCardinality(state.result_size); -} - -void PhysicalIndexJoin::GetRHSMatches(ExecutionContext &context, DataChunk &input, OperatorState &state_p) const { - - auto &state = state_p.Cast(); - auto &art = index.Cast(); - - // generate the keys for this chunk - state.arena_allocator.Reset(); - ART::GenerateKeys(state.arena_allocator, state.join_keys, state.keys); - - for (idx_t i = 0; i < input.size(); i++) { - state.rhs_rows[i].clear(); - if (!state.keys[i].Empty()) { - if (fetch_types.empty()) { - IndexLock lock; - index.InitializeLock(lock); - art.SearchEqualJoinNoFetch(state.keys[i], state.result_sizes[i]); - } else { - IndexLock lock; - index.InitializeLock(lock); - art.SearchEqual(state.keys[i], (idx_t)-1, state.rhs_rows[i]); - state.result_sizes[i] = state.rhs_rows[i].size(); - } - } else { - //! This is null so no matches - state.result_sizes[i] = 0; - } - } - for (idx_t i = input.size(); i < STANDARD_VECTOR_SIZE; i++) { - //! No LHS chunk value so result size is empty - state.result_sizes[i] = 0; - } -} - -OperatorResultType PhysicalIndexJoin::ExecuteInternal(ExecutionContext &context, DataChunk &input, DataChunk &chunk, - GlobalOperatorState &gstate, OperatorState &state_p) const { - auto &state = state_p.Cast(); - - state.result_size = 0; - if (state.first_fetch) { - state.probe_executor.Execute(input, state.join_keys); - - //! Fill Matches for the current LHS chunk - GetRHSMatches(context, input, state_p); - state.first_fetch = false; - } - //! Check if we need to get a new LHS chunk - if (state.lhs_idx >= input.size()) { - state.lhs_idx = 0; - state.rhs_idx = 0; - state.first_fetch = true; - // reset the LHS chunk to reset the validity masks - state.join_keys.Reset(); - return OperatorResultType::NEED_MORE_INPUT; - } - //! Output vectors - if (state.lhs_idx < input.size()) { - Output(context, input, chunk, state_p); - } - return OperatorResultType::HAVE_MORE_OUTPUT; -} - -//===--------------------------------------------------------------------===// -// Pipeline Construction -//===--------------------------------------------------------------------===// -void PhysicalIndexJoin::BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) { - // index join: we only continue into the LHS - // the right side is probed by the index join - // so we don't need to do anything in the pipeline with this child - meta_pipeline.GetState().AddPipelineOperator(current, *this); - children[0]->BuildPipelines(current, meta_pipeline); -} - -vector> PhysicalIndexJoin::GetSources() const { - return children[0]->GetSources(); -} - -} // namespace duckdb diff --git a/src/execution/operator/join/physical_join.cpp b/src/execution/operator/join/physical_join.cpp index 5bf8aebcb7ec..6d9813c9e016 100644 --- a/src/execution/operator/join/physical_join.cpp +++ b/src/execution/operator/join/physical_join.cpp @@ -17,6 +17,8 @@ bool PhysicalJoin::EmptyResultIfRHSIsEmpty() const { case JoinType::INNER: case JoinType::RIGHT: case JoinType::SEMI: + case JoinType::RIGHT_SEMI: + case JoinType::RIGHT_ANTI: return true; default: return false; @@ -26,7 +28,8 @@ bool PhysicalJoin::EmptyResultIfRHSIsEmpty() const { //===--------------------------------------------------------------------===// // Pipeline Construction //===--------------------------------------------------------------------===// -void PhysicalJoin::BuildJoinPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline, PhysicalOperator &op) { +void PhysicalJoin::BuildJoinPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline, PhysicalOperator &op, + bool build_rhs) { op.op_state.reset(); op.sink_state.reset(); @@ -37,11 +40,13 @@ void PhysicalJoin::BuildJoinPipelines(Pipeline ¤t, MetaPipeline &meta_pipe // save the last added pipeline to set up dependencies later (in case we need to add a child pipeline) vector> pipelines_so_far; meta_pipeline.GetPipelines(pipelines_so_far, false); - auto last_pipeline = pipelines_so_far.back().get(); + auto &last_pipeline = *pipelines_so_far.back(); - // on the RHS (build side), we construct a child MetaPipeline with this operator as its sink - auto &child_meta_pipeline = meta_pipeline.CreateChildMetaPipeline(current, op); - child_meta_pipeline.Build(*op.children[1]); + if (build_rhs) { + // on the RHS (build side), we construct a child MetaPipeline with this operator as its sink + auto &child_meta_pipeline = meta_pipeline.CreateChildMetaPipeline(current, op); + child_meta_pipeline.Build(*op.children[1]); + } // continue building the current pipeline on the LHS (probe side) op.children[0]->BuildPipelines(current, meta_pipeline); diff --git a/src/execution/operator/join/physical_left_delim_join.cpp b/src/execution/operator/join/physical_left_delim_join.cpp new file mode 100644 index 000000000000..04a6ce80d1a7 --- /dev/null +++ b/src/execution/operator/join/physical_left_delim_join.cpp @@ -0,0 +1,137 @@ +#include "duckdb/execution/operator/join/physical_left_delim_join.hpp" + +#include "duckdb/common/types/column/column_data_collection.hpp" +#include "duckdb/common/vector_operations/vector_operations.hpp" +#include "duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp" +#include "duckdb/execution/operator/scan/physical_column_data_scan.hpp" +#include "duckdb/parallel/meta_pipeline.hpp" +#include "duckdb/parallel/pipeline.hpp" +#include "duckdb/parallel/thread_context.hpp" + +namespace duckdb { + +PhysicalLeftDelimJoin::PhysicalLeftDelimJoin(vector types, unique_ptr original_join, + vector> delim_scans, + idx_t estimated_cardinality) + : PhysicalDelimJoin(PhysicalOperatorType::LEFT_DELIM_JOIN, std::move(types), std::move(original_join), + std::move(delim_scans), estimated_cardinality) { + D_ASSERT(join->children.size() == 2); + // now for the original join + // we take its left child, this is the side that we will duplicate eliminate + children.push_back(std::move(join->children[0])); + + // we replace it with a PhysicalColumnDataScan, that scans the ColumnDataCollection that we keep cached + // the actual chunk collection to scan will be created in the LeftDelimJoinGlobalState + auto cached_chunk_scan = make_uniq( + children[0]->GetTypes(), PhysicalOperatorType::COLUMN_DATA_SCAN, estimated_cardinality); + join->children[0] = std::move(cached_chunk_scan); +} + +//===--------------------------------------------------------------------===// +// Sink +//===--------------------------------------------------------------------===// +class LeftDelimJoinGlobalState : public GlobalSinkState { +public: + explicit LeftDelimJoinGlobalState(ClientContext &context, const PhysicalLeftDelimJoin &delim_join) + : lhs_data(context, delim_join.children[0]->GetTypes()) { + D_ASSERT(!delim_join.delim_scans.empty()); + // set up the delim join chunk to scan in the original join + auto &cached_chunk_scan = delim_join.join->children[0]->Cast(); + cached_chunk_scan.collection = &lhs_data; + } + + ColumnDataCollection lhs_data; + mutex lhs_lock; + + void Merge(ColumnDataCollection &input) { + lock_guard guard(lhs_lock); + lhs_data.Combine(input); + } +}; + +class LeftDelimJoinLocalState : public LocalSinkState { +public: + explicit LeftDelimJoinLocalState(ClientContext &context, const PhysicalLeftDelimJoin &delim_join) + : lhs_data(context, delim_join.children[0]->GetTypes()) { + lhs_data.InitializeAppend(append_state); + } + + unique_ptr distinct_state; + ColumnDataCollection lhs_data; + ColumnDataAppendState append_state; + + void Append(DataChunk &input) { + lhs_data.Append(input); + } +}; + +unique_ptr PhysicalLeftDelimJoin::GetGlobalSinkState(ClientContext &context) const { + auto state = make_uniq(context, *this); + distinct->sink_state = distinct->GetGlobalSinkState(context); + if (delim_scans.size() > 1) { + PhysicalHashAggregate::SetMultiScan(*distinct->sink_state); + } + return std::move(state); +} + +unique_ptr PhysicalLeftDelimJoin::GetLocalSinkState(ExecutionContext &context) const { + auto state = make_uniq(context.client, *this); + state->distinct_state = distinct->GetLocalSinkState(context); + return std::move(state); +} + +SinkResultType PhysicalLeftDelimJoin::Sink(ExecutionContext &context, DataChunk &chunk, + OperatorSinkInput &input) const { + auto &lstate = input.local_state.Cast(); + lstate.lhs_data.Append(lstate.append_state, chunk); + OperatorSinkInput distinct_sink_input {*distinct->sink_state, *lstate.distinct_state, input.interrupt_state}; + distinct->Sink(context, chunk, distinct_sink_input); + return SinkResultType::NEED_MORE_INPUT; +} + +SinkCombineResultType PhysicalLeftDelimJoin::Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const { + auto &lstate = input.local_state.Cast(); + auto &gstate = input.global_state.Cast(); + gstate.Merge(lstate.lhs_data); + + OperatorSinkCombineInput distinct_combine_input {*distinct->sink_state, *lstate.distinct_state, + input.interrupt_state}; + distinct->Combine(context, distinct_combine_input); + + return SinkCombineResultType::FINISHED; +} + +SinkFinalizeType PhysicalLeftDelimJoin::Finalize(Pipeline &pipeline, Event &event, ClientContext &client, + OperatorSinkFinalizeInput &input) const { + // finalize the distinct HT + D_ASSERT(distinct); + + OperatorSinkFinalizeInput finalize_input {*distinct->sink_state, input.interrupt_state}; + distinct->Finalize(pipeline, event, client, finalize_input); + return SinkFinalizeType::READY; +} + +//===--------------------------------------------------------------------===// +// Pipeline Construction +//===--------------------------------------------------------------------===// +void PhysicalLeftDelimJoin::BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) { + op_state.reset(); + sink_state.reset(); + + auto &child_meta_pipeline = meta_pipeline.CreateChildMetaPipeline(current, *this); + child_meta_pipeline.Build(*children[0]); + + D_ASSERT(type == PhysicalOperatorType::LEFT_DELIM_JOIN); + // recurse into the actual join + // any pipelines in there depend on the main pipeline + // any scan of the duplicate eliminated data on the RHS depends on this pipeline + // we add an entry to the mapping of (PhysicalOperator*) -> (Pipeline*) + auto &state = meta_pipeline.GetState(); + for (auto &delim_scan : delim_scans) { + state.delim_join_dependencies.insert( + make_pair(delim_scan, reference(*child_meta_pipeline.GetBasePipeline()))); + } + join->BuildPipelines(current, meta_pipeline); +} + +} // namespace duckdb diff --git a/src/execution/operator/join/physical_nested_loop_join.cpp b/src/execution/operator/join/physical_nested_loop_join.cpp index 9036748e82dc..60e4eb2ff18c 100644 --- a/src/execution/operator/join/physical_nested_loop_join.cpp +++ b/src/execution/operator/join/physical_nested_loop_join.cpp @@ -113,10 +113,17 @@ bool PhysicalNestedLoopJoin::IsSupported(const vector &conditions } for (auto &cond : conditions) { if (cond.left->return_type.InternalType() == PhysicalType::STRUCT || - cond.left->return_type.InternalType() == PhysicalType::LIST) { + cond.left->return_type.InternalType() == PhysicalType::LIST || + cond.left->return_type.InternalType() == PhysicalType::ARRAY) { return false; } } + // To avoid situations like https://github.com/duckdb/duckdb/issues/10046 + // If there is an equality in the conditions, a hash join is planned + // with one condition, we can use mark join logic, otherwise we should use physical blockwise nl join + if (join_type == JoinType::SEMI || join_type == JoinType::ANTI) { + return conditions.size() == 1; + } return true; } @@ -145,7 +152,7 @@ class NestedLoopJoinGlobalState : public GlobalSinkState { public: explicit NestedLoopJoinGlobalState(ClientContext &context, const PhysicalNestedLoopJoin &op) : right_payload_data(context, op.children[1]->types), right_condition_data(context, op.GetJoinTypes()), - has_null(false), right_outer(IsRightOuterJoin(op.join_type)) { + has_null(false), right_outer(PropagatesBuildSide(op.join_type)) { } mutex nj_lock; @@ -295,7 +302,7 @@ OperatorResultType PhysicalNestedLoopJoin::ExecuteInternal(ExecutionContext &con case JoinType::RIGHT: return ResolveComplexJoin(context, input, chunk, state_p); default: - throw NotImplementedException("Unimplemented type for nested loop join!"); + throw NotImplementedException("Unimplemented type " + JoinTypeToString(join_type) + " for nested loop join!"); } } @@ -451,7 +458,7 @@ unique_ptr PhysicalNestedLoopJoin::GetLocalSourceState(Executi SourceResultType PhysicalNestedLoopJoin::GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const { - D_ASSERT(IsRightOuterJoin(join_type)); + D_ASSERT(PropagatesBuildSide(join_type)); // check if we need to scan any unmatched tuples from the RHS for the full/right outer join auto &sink = sink_state->Cast(); auto &gstate = input.global_state.Cast(); diff --git a/src/execution/operator/join/physical_piecewise_merge_join.cpp b/src/execution/operator/join/physical_piecewise_merge_join.cpp index 42a2d187e4e8..433ff32982b0 100644 --- a/src/execution/operator/join/physical_piecewise_merge_join.cpp +++ b/src/execution/operator/join/physical_piecewise_merge_join.cpp @@ -139,7 +139,7 @@ SinkFinalizeType PhysicalPiecewiseMergeJoin::Finalize(Pipeline &pipeline, Event auto &gstate = input.global_state.Cast(); auto &global_sort_state = gstate.table->global_sort_state; - if (IsRightOuterJoin(join_type)) { + if (PropagatesBuildSide(join_type)) { // for FULL/RIGHT OUTER JOIN, initialize found_match to false for every tuple gstate.table->IntializeMatches(); } @@ -700,7 +700,7 @@ unique_ptr PhysicalPiecewiseMergeJoin::GetGlobalSourceState(C SourceResultType PhysicalPiecewiseMergeJoin::GetData(ExecutionContext &context, DataChunk &result, OperatorSourceInput &input) const { - D_ASSERT(IsRightOuterJoin(join_type)); + D_ASSERT(PropagatesBuildSide(join_type)); // check if we need to scan any unmatched tuples from the RHS for the full/right outer join auto &sink = sink_state->Cast(); auto &state = input.global_state.Cast(); diff --git a/src/execution/operator/join/physical_range_join.cpp b/src/execution/operator/join/physical_range_join.cpp index 07cbc327e2b7..a87ffd2ba1d6 100644 --- a/src/execution/operator/join/physical_range_join.cpp +++ b/src/execution/operator/join/physical_range_join.cpp @@ -5,6 +5,8 @@ #include "duckdb/common/row_operations/row_operations.hpp" #include "duckdb/common/sort/comparators.hpp" #include "duckdb/common/sort/sort.hpp" +#include "duckdb/common/types/validity_mask.hpp" +#include "duckdb/common/types/vector.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/execution/expression_executor.hpp" #include "duckdb/main/client_context.hpp" @@ -40,13 +42,15 @@ void PhysicalRangeJoin::LocalSortedTable::Sink(DataChunk &input, GlobalSortState keys.Reset(); executor.Execute(input, keys); + // Do not operate on primary key directly to avoid modifying the input chunk + Vector primary = keys.data[0]; // Count the NULLs so we can exclude them later - has_null += MergeNulls(op.conditions); + has_null += MergeNulls(primary, op.conditions); count += keys.size(); // Only sort the primary key DataChunk join_head; - join_head.data.emplace_back(keys.data[0]); + join_head.data.emplace_back(primary); join_head.SetCardinality(keys.size()); // Sink the data into the local sort state @@ -214,7 +218,7 @@ PhysicalRangeJoin::PhysicalRangeJoin(LogicalComparisonJoin &op, PhysicalOperator unprojected_types.insert(unprojected_types.end(), types.begin(), types.end()); } -idx_t PhysicalRangeJoin::LocalSortedTable::MergeNulls(const vector &conditions) { +idx_t PhysicalRangeJoin::LocalSortedTable::MergeNulls(Vector &primary, const vector &conditions) { // Merge the validity masks of the comparison keys into the primary // Return the number of NULLs in the resulting chunk D_ASSERT(keys.ColumnCount() > 0); @@ -227,11 +231,18 @@ idx_t PhysicalRangeJoin::LocalSortedTable::MergeNulls(const vector types, unique_ptr original_join, + vector> delim_scans, + idx_t estimated_cardinality) + : PhysicalDelimJoin(PhysicalOperatorType::RIGHT_DELIM_JOIN, std::move(types), std::move(original_join), + std::move(delim_scans), estimated_cardinality) { + D_ASSERT(join->children.size() == 2); + // now for the original join + // we take its right child, this is the side that we will duplicate eliminate + children.push_back(std::move(join->children[1])); + + // we replace it with a PhysicalDummyScan, which contains no data, just the types, it won't be scanned anyway + join->children[1] = make_uniq(children[0]->GetTypes(), estimated_cardinality); +} + +//===--------------------------------------------------------------------===// +// Sink +//===--------------------------------------------------------------------===// +class RightDelimJoinGlobalState : public GlobalSinkState {}; + +class RightDelimJoinLocalState : public LocalSinkState { +public: + unique_ptr join_state; + unique_ptr distinct_state; +}; + +unique_ptr PhysicalRightDelimJoin::GetGlobalSinkState(ClientContext &context) const { + auto state = make_uniq(); + join->sink_state = join->GetGlobalSinkState(context); + distinct->sink_state = distinct->GetGlobalSinkState(context); + if (delim_scans.size() > 1) { + PhysicalHashAggregate::SetMultiScan(*distinct->sink_state); + } + return std::move(state); +} + +unique_ptr PhysicalRightDelimJoin::GetLocalSinkState(ExecutionContext &context) const { + auto state = make_uniq(); + state->join_state = join->GetLocalSinkState(context); + state->distinct_state = distinct->GetLocalSinkState(context); + return std::move(state); +} + +SinkResultType PhysicalRightDelimJoin::Sink(ExecutionContext &context, DataChunk &chunk, + OperatorSinkInput &input) const { + auto &lstate = input.local_state.Cast(); + + OperatorSinkInput join_sink_input {*join->sink_state, *lstate.join_state, input.interrupt_state}; + join->Sink(context, chunk, join_sink_input); + + OperatorSinkInput distinct_sink_input {*distinct->sink_state, *lstate.distinct_state, input.interrupt_state}; + distinct->Sink(context, chunk, distinct_sink_input); + + return SinkResultType::NEED_MORE_INPUT; +} + +SinkCombineResultType PhysicalRightDelimJoin::Combine(ExecutionContext &context, + OperatorSinkCombineInput &input) const { + auto &lstate = input.local_state.Cast(); + + OperatorSinkCombineInput join_combine_input {*join->sink_state, *lstate.join_state, input.interrupt_state}; + join->Combine(context, join_combine_input); + + OperatorSinkCombineInput distinct_combine_input {*distinct->sink_state, *lstate.distinct_state, + input.interrupt_state}; + distinct->Combine(context, distinct_combine_input); + + return SinkCombineResultType::FINISHED; +} + +SinkFinalizeType PhysicalRightDelimJoin::Finalize(Pipeline &pipeline, Event &event, ClientContext &client, + OperatorSinkFinalizeInput &input) const { + D_ASSERT(join); + D_ASSERT(distinct); + + OperatorSinkFinalizeInput join_finalize_input {*join->sink_state, input.interrupt_state}; + join->Finalize(pipeline, event, client, join_finalize_input); + + OperatorSinkFinalizeInput distinct_finalize_input {*distinct->sink_state, input.interrupt_state}; + distinct->Finalize(pipeline, event, client, distinct_finalize_input); + + return SinkFinalizeType::READY; +} + +//===--------------------------------------------------------------------===// +// Pipeline Construction +//===--------------------------------------------------------------------===// +void PhysicalRightDelimJoin::BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) { + op_state.reset(); + sink_state.reset(); + + auto &child_meta_pipeline = meta_pipeline.CreateChildMetaPipeline(current, *this); + child_meta_pipeline.Build(*children[0]); + + D_ASSERT(type == PhysicalOperatorType::RIGHT_DELIM_JOIN); + // recurse into the actual join + // any pipelines in there depend on the main pipeline + // any scan of the duplicate eliminated data on the LHS depends on this pipeline + // we add an entry to the mapping of (PhysicalOperator*) -> (Pipeline*) + auto &state = meta_pipeline.GetState(); + for (auto &delim_scan : delim_scans) { + state.delim_join_dependencies.insert( + make_pair(delim_scan, reference(*child_meta_pipeline.GetBasePipeline()))); + } + + // Build join pipelines without building the RHS (already built in the Sink of this op) + PhysicalJoin::BuildJoinPipelines(current, meta_pipeline, *join, false); +} + +} // namespace duckdb diff --git a/src/execution/operator/persistent/CMakeLists.txt b/src/execution/operator/persistent/CMakeLists.txt index c0f1d2ec1b77..428968beb961 100644 --- a/src/execution/operator/persistent/CMakeLists.txt +++ b/src/execution/operator/persistent/CMakeLists.txt @@ -5,6 +5,7 @@ add_library_unity( physical_fixed_batch_copy.cpp physical_batch_copy_to_file.cpp physical_batch_insert.cpp + physical_copy_database.cpp physical_copy_to_file.cpp physical_delete.cpp physical_export.cpp diff --git a/src/execution/operator/persistent/physical_batch_insert.cpp b/src/execution/operator/persistent/physical_batch_insert.cpp index d0da7d62ff83..39d06495dae3 100644 --- a/src/execution/operator/persistent/physical_batch_insert.cpp +++ b/src/execution/operator/persistent/physical_batch_insert.cpp @@ -112,7 +112,8 @@ class BatchInsertGlobalState : public GlobalSinkState { static constexpr const idx_t BATCH_FLUSH_THRESHOLD = LocalStorage::MERGE_THRESHOLD * 3; public: - explicit BatchInsertGlobalState(DuckTableEntry &table) : table(table), insert_count(0) { + explicit BatchInsertGlobalState(DuckTableEntry &table) + : table(table), insert_count(0), optimistically_written(false) { } mutex lock; @@ -120,7 +121,7 @@ class BatchInsertGlobalState : public GlobalSinkState { idx_t insert_count; vector collections; idx_t next_start = 0; - bool optimistically_written = false; + atomic optimistically_written; void FindMergeCollections(idx_t min_batch_index, optional_idx &merged_batch_index, vector> &result) { diff --git a/src/execution/operator/persistent/physical_copy_database.cpp b/src/execution/operator/persistent/physical_copy_database.cpp new file mode 100644 index 000000000000..bee893c1ff60 --- /dev/null +++ b/src/execution/operator/persistent/physical_copy_database.cpp @@ -0,0 +1,59 @@ +#include "duckdb/execution/operator/persistent/physical_copy_database.hpp" +#include "duckdb/catalog/catalog.hpp" +#include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp" +#include "duckdb/planner/binder.hpp" +#include "duckdb/planner/parsed_data/bound_create_table_info.hpp" +#include "duckdb/parser/parsed_data/create_schema_info.hpp" +#include "duckdb/parser/parsed_data/create_macro_info.hpp" +#include "duckdb/parser/parsed_data/create_table_info.hpp" +#include "duckdb/parser/parsed_data/create_type_info.hpp" +#include "duckdb/parser/parsed_data/create_view_info.hpp" + +namespace duckdb { + +PhysicalCopyDatabase::PhysicalCopyDatabase(vector types, idx_t estimated_cardinality, + unique_ptr info_p) + : PhysicalOperator(PhysicalOperatorType::COPY_DATABASE, std::move(types), estimated_cardinality), + info(std::move(info_p)) { +} + +PhysicalCopyDatabase::~PhysicalCopyDatabase() { +} + +//===--------------------------------------------------------------------===// +// Source +//===--------------------------------------------------------------------===// +SourceResultType PhysicalCopyDatabase::GetData(ExecutionContext &context, DataChunk &chunk, + OperatorSourceInput &input) const { + auto &catalog = info->to_database; + for (auto &create_info : info->entries) { + switch (create_info->type) { + case CatalogType::SCHEMA_ENTRY: + catalog.CreateSchema(context.client, create_info->Cast()); + break; + case CatalogType::VIEW_ENTRY: + catalog.CreateView(context.client, create_info->Cast()); + break; + case CatalogType::SEQUENCE_ENTRY: + catalog.CreateSequence(context.client, create_info->Cast()); + break; + case CatalogType::TYPE_ENTRY: + catalog.CreateType(context.client, create_info->Cast()); + break; + case CatalogType::MACRO_ENTRY: + catalog.CreateFunction(context.client, create_info->Cast()); + break; + case CatalogType::TABLE_ENTRY: { + auto binder = Binder::CreateBinder(context.client); + auto bound_info = binder->BindCreateTableInfo(std::move(create_info)); + catalog.CreateTable(context.client, *bound_info); + break; + } + default: + throw InternalException("Entry type not supported in PhysicalCopyDatabase"); + } + } + return SourceResultType::FINISHED; +} + +} // namespace duckdb diff --git a/src/execution/operator/persistent/physical_copy_to_file.cpp b/src/execution/operator/persistent/physical_copy_to_file.cpp index abe2ed281a55..76eb6d60dff0 100644 --- a/src/execution/operator/persistent/physical_copy_to_file.cpp +++ b/src/execution/operator/persistent/physical_copy_to_file.cpp @@ -1,10 +1,12 @@ #include "duckdb/execution/operator/persistent/physical_copy_to_file.hpp" -#include "duckdb/common/vector_operations/vector_operations.hpp" -#include "duckdb/common/hive_partitioning.hpp" -#include "duckdb/common/file_system.hpp" + #include "duckdb/common/file_opener.hpp" -#include "duckdb/common/types/uuid.hpp" +#include "duckdb/common/file_system.hpp" +#include "duckdb/common/hive_partitioning.hpp" #include "duckdb/common/string_util.hpp" +#include "duckdb/common/types/uuid.hpp" +#include "duckdb/common/vector_operations/vector_operations.hpp" +#include "duckdb/storage/storage_lock.hpp" #include @@ -15,9 +17,9 @@ class CopyToFunctionGlobalState : public GlobalSinkState { explicit CopyToFunctionGlobalState(unique_ptr global_state) : rows_copied(0), last_file_offset(0), global_state(std::move(global_state)) { } - mutex lock; - idx_t rows_copied; - idx_t last_file_offset; + StorageLock lock; + atomic rows_copied; + atomic last_file_offset; unique_ptr global_state; idx_t created_directories = 0; @@ -40,13 +42,86 @@ class CopyToFunctionLocalState : public LocalSinkState { idx_t writer_offset; }; +unique_ptr PhysicalCopyToFile::CreateFileState(ClientContext &context, + GlobalSinkState &sink) const { + auto &g = sink.Cast(); + idx_t this_file_offset = g.last_file_offset++; + auto &fs = FileSystem::GetFileSystem(context); + string output_path(filename_pattern.CreateFilename(fs, file_path, file_extension, this_file_offset)); + if (fs.FileExists(output_path) && !overwrite_or_ignore) { + throw IOException("%s exists! Enable OVERWRITE_OR_IGNORE option to force writing", output_path); + } + return function.copy_to_initialize_global(context, *bind_data, output_path); +} + +unique_ptr PhysicalCopyToFile::GetLocalSinkState(ExecutionContext &context) const { + if (partition_output) { + auto &g = sink_state->Cast(); + + auto state = make_uniq(nullptr); + state->writer_offset = g.last_file_offset++; + state->part_buffer = + make_uniq(context.client, expected_types, partition_columns, g.partition_state); + state->part_buffer_append_state = make_uniq(); + state->part_buffer->InitializeAppendState(*state->part_buffer_append_state); + return std::move(state); + } + auto res = make_uniq(function.copy_to_initialize_local(context, *bind_data)); + if (per_thread_output) { + res->global_state = CreateFileState(context.client, *sink_state); + } + return std::move(res); +} + +unique_ptr PhysicalCopyToFile::GetGlobalSinkState(ClientContext &context) const { + + if (partition_output || per_thread_output || file_size_bytes.IsValid()) { + auto &fs = FileSystem::GetFileSystem(context); + + if (fs.FileExists(file_path) && !overwrite_or_ignore) { + throw IOException("%s exists! Enable OVERWRITE_OR_IGNORE option to force writing", file_path); + } + if (!fs.DirectoryExists(file_path)) { + fs.CreateDirectory(file_path); + } else if (!overwrite_or_ignore) { + idx_t n_files = 0; + fs.ListFiles(file_path, [&n_files](const string &path, bool) { n_files++; }); + if (n_files > 0) { + throw IOException("Directory %s is not empty! Enable OVERWRITE_OR_IGNORE option to force writing", + file_path); + } + } + + auto state = make_uniq(nullptr); + if (!per_thread_output && file_size_bytes.IsValid()) { + state->global_state = CreateFileState(context, *state); + } + + if (partition_output) { + state->partition_state = make_shared(); + } + + return std::move(state); + } + + return make_uniq(function.copy_to_initialize_global(context, *bind_data, file_path)); +} + //===--------------------------------------------------------------------===// // Sink //===--------------------------------------------------------------------===// - void PhysicalCopyToFile::MoveTmpFile(ClientContext &context, const string &tmp_file_path) { auto &fs = FileSystem::GetFileSystem(context); - auto file_path = tmp_file_path.substr(0, tmp_file_path.length() - 4); + + auto path = StringUtil::GetFilePath(tmp_file_path); + auto base = StringUtil::GetFileName(tmp_file_path); + + auto prefix = base.find("tmp_"); + if (prefix == 0) { + base = base.substr(4); + } + + auto file_path = fs.JoinPath(path, base); if (fs.FileExists(file_path)) { fs.RemoveFile(file_path); } @@ -68,12 +143,39 @@ SinkResultType PhysicalCopyToFile::Sink(ExecutionContext &context, DataChunk &ch return SinkResultType::NEED_MORE_INPUT; } - { - lock_guard glock(g.lock); - g.rows_copied += chunk.size(); + g.rows_copied += chunk.size(); + + if (per_thread_output) { + auto &gstate = l.global_state; + function.copy_to_sink(context, *bind_data, *gstate, *l.local_state, chunk); + + if (file_size_bytes.IsValid() && function.file_size_bytes(*gstate) > file_size_bytes.GetIndex()) { + function.copy_to_finalize(context.client, *bind_data, *gstate); + gstate = CreateFileState(context.client, *sink_state); + } + return SinkResultType::NEED_MORE_INPUT; + } + + if (!file_size_bytes.IsValid()) { + function.copy_to_sink(context, *bind_data, *g.global_state, *l.local_state, chunk); + return SinkResultType::NEED_MORE_INPUT; + } + + // FILE_SIZE_BYTES is set, but threads write to the same file, synchronize using lock + auto &gstate = g.global_state; + auto lock = g.lock.GetExclusiveLock(); + if (function.file_size_bytes(*gstate) > file_size_bytes.GetIndex()) { + auto owned_gstate = std::move(gstate); + gstate = CreateFileState(context.client, *sink_state); + lock.reset(); + function.copy_to_finalize(context.client, *bind_data, *owned_gstate); + } else { + lock.reset(); } - function.copy_to_sink(context, *bind_data, per_thread_output ? *l.global_state : *g.global_state, *l.local_state, - chunk); + + lock = g.lock.GetSharedLock(); + function.copy_to_sink(context, *bind_data, *gstate, *l.local_state, chunk); + return SinkResultType::NEED_MORE_INPUT; } @@ -121,7 +223,7 @@ SinkCombineResultType PhysicalCopyToFile::Combine(ExecutionContext &context, Ope StringUtil::RTrim(trimmed_path, fs.PathSeparator(trimmed_path)); { // create directories - lock_guard global_lock(g.lock); + auto lock = g.lock.GetExclusiveLock(); lock_guard global_lock_on_partition_state(g.partition_state->lock); const auto &global_partitions = g.partition_state->partitions; // global_partitions have partitions added only at the back, so it's fine to only traverse the last part @@ -134,10 +236,10 @@ SinkCombineResultType PhysicalCopyToFile::Combine(ExecutionContext &context, Ope for (idx_t i = 0; i < partitions.size(); i++) { string hive_path = GetDirectory(partition_columns, names, partition_key_map[i]->values, trimmed_path, fs); - string full_path(filename_pattern.CreateFilename(fs, hive_path, function.extension, l.writer_offset)); + string full_path(filename_pattern.CreateFilename(fs, hive_path, file_extension, l.writer_offset)); if (fs.FileExists(full_path) && !overwrite_or_ignore) { - throw IOException("failed to create " + full_path + - ", file exists! Enable OVERWRITE_OR_IGNORE option to force writing"); + throw IOException( + "failed to create %s, file exists! Enable OVERWRITE_OR_IGNORE option to force writing", full_path); } // Create a writer for the current file auto fun_data_global = function.copy_to_initialize_global(context.client, *bind_data, full_path); @@ -150,16 +252,17 @@ SinkCombineResultType PhysicalCopyToFile::Combine(ExecutionContext &context, Ope function.copy_to_combine(context, *bind_data, *fun_data_global, *fun_data_local); function.copy_to_finalize(context.client, *bind_data, *fun_data_global); } - - return SinkCombineResultType::FINISHED; - } - - if (function.copy_to_combine) { - function.copy_to_combine(context, *bind_data, per_thread_output ? *l.global_state : *g.global_state, - *l.local_state); - + } else if (function.copy_to_combine) { if (per_thread_output) { + // For PER_THREAD_OUTPUT, we can combine/finalize immediately + function.copy_to_combine(context, *bind_data, *l.global_state, *l.local_state); function.copy_to_finalize(context.client, *bind_data, *l.global_state); + } else if (file_size_bytes.IsValid()) { + // File in global state may change with FILE_SIZE_BYTES, need to grab lock + auto lock = g.lock.GetSharedLock(); + function.copy_to_combine(context, *bind_data, *g.global_state, *l.local_state); + } else { + function.copy_to_combine(context, *bind_data, *g.global_state, *l.local_state); } } @@ -177,78 +280,15 @@ SinkFinalizeType PhysicalCopyToFile::Finalize(Pipeline &pipeline, Event &event, function.copy_to_finalize(context, *bind_data, *gstate.global_state); if (use_tmp_file) { - D_ASSERT(!per_thread_output); // FIXME - D_ASSERT(!partition_output); // FIXME + D_ASSERT(!per_thread_output); + D_ASSERT(!partition_output); + D_ASSERT(!file_size_bytes.IsValid()); MoveTmpFile(context, file_path); } } return SinkFinalizeType::READY; } -unique_ptr PhysicalCopyToFile::GetLocalSinkState(ExecutionContext &context) const { - if (partition_output) { - auto state = make_uniq(nullptr); - { - auto &g = sink_state->Cast(); - lock_guard glock(g.lock); - state->writer_offset = g.last_file_offset++; - - state->part_buffer = make_uniq(context.client, expected_types, partition_columns, - g.partition_state); - state->part_buffer_append_state = make_uniq(); - state->part_buffer->InitializeAppendState(*state->part_buffer_append_state); - } - return std::move(state); - } - auto res = make_uniq(function.copy_to_initialize_local(context, *bind_data)); - if (per_thread_output) { - idx_t this_file_offset; - { - auto &g = sink_state->Cast(); - lock_guard glock(g.lock); - this_file_offset = g.last_file_offset++; - } - auto &fs = FileSystem::GetFileSystem(context.client); - string output_path(filename_pattern.CreateFilename(fs, file_path, function.extension, this_file_offset)); - if (fs.FileExists(output_path) && !overwrite_or_ignore) { - throw IOException("%s exists! Enable OVERWRITE_OR_IGNORE option to force writing", output_path); - } - res->global_state = function.copy_to_initialize_global(context.client, *bind_data, output_path); - } - return std::move(res); -} - -unique_ptr PhysicalCopyToFile::GetGlobalSinkState(ClientContext &context) const { - - if (partition_output || per_thread_output) { - auto &fs = FileSystem::GetFileSystem(context); - - if (fs.FileExists(file_path) && !overwrite_or_ignore) { - throw IOException("%s exists! Enable OVERWRITE_OR_IGNORE option to force writing", file_path); - } - if (!fs.DirectoryExists(file_path)) { - fs.CreateDirectory(file_path); - } else if (!overwrite_or_ignore) { - idx_t n_files = 0; - fs.ListFiles(file_path, [&n_files](const string &path, bool) { n_files++; }); - if (n_files > 0) { - throw IOException("Directory %s is not empty! Enable OVERWRITE_OR_IGNORE option to force writing", - file_path); - } - } - - auto state = make_uniq(nullptr); - - if (partition_output) { - state->partition_state = make_shared(); - } - - return std::move(state); - } - - return make_uniq(function.copy_to_initialize_global(context, *bind_data, file_path)); -} - //===--------------------------------------------------------------------===// // Source //===--------------------------------------------------------------------===// diff --git a/src/execution/operator/persistent/physical_export.cpp b/src/execution/operator/persistent/physical_export.cpp index a24c25ab601f..8209e51801c1 100644 --- a/src/execution/operator/persistent/physical_export.cpp +++ b/src/execution/operator/persistent/physical_export.cpp @@ -35,14 +35,6 @@ static void WriteStringStreamToFile(FileSystem &fs, stringstream &ss, const stri handle.reset(); } -static void WriteValueAsSQL(stringstream &ss, Value &val) { - if (val.type().IsNumeric()) { - ss << val.ToString(); - } else { - ss << "'" << val.ToString() << "'"; - } -} - static void WriteCopyStatement(FileSystem &fs, stringstream &ss, CopyInfo &info, ExportedTableData &exported_table, CopyFunction const &function) { ss << "COPY "; @@ -51,8 +43,8 @@ static void WriteCopyStatement(FileSystem &fs, stringstream &ss, CopyInfo &info, ss << KeywordHelper::WriteOptionallyQuoted(exported_table.schema_name) << "."; } - ss << StringUtil::Format("%s FROM %s (", SQLIdentifier(exported_table.table_name), - SQLString(exported_table.file_path)); + auto file_path = StringUtil::Replace(exported_table.file_path, "\\", "/"); + ss << StringUtil::Format("%s FROM %s (", SQLIdentifier(exported_table.table_name), SQLString(file_path)); // write the copy options ss << "FORMAT '" << info.format << "'"; @@ -73,9 +65,13 @@ static void WriteCopyStatement(FileSystem &fs, stringstream &ss, CopyInfo &info, if (copy_option.first == "force_quote") { continue; } + if (copy_option.second.empty()) { + // empty options are interpreted as TRUE + copy_option.second.push_back(true); + } ss << ", " << copy_option.first << " "; if (copy_option.second.size() == 1) { - WriteValueAsSQL(ss, copy_option.second[0]); + ss << copy_option.second[0].ToSQLString(); } else { // FIXME handle multiple options throw NotImplementedException("FIXME: serialize list of options"); @@ -99,77 +95,81 @@ unique_ptr PhysicalExport::GetGlobalSourceState(ClientContext return make_uniq(); } -SourceResultType PhysicalExport::GetData(ExecutionContext &context, DataChunk &chunk, - OperatorSourceInput &input) const { - auto &state = input.global_state.Cast(); - if (state.finished) { - return SourceResultType::FINISHED; - } - - auto &ccontext = context.client; - auto &fs = FileSystem::GetFileSystem(ccontext); - - // gather all catalog types to export - vector> schemas; - vector> custom_types; - vector> sequences; - vector> tables; - vector> views; - vector> indexes; - vector> macros; - - auto schema_list = Catalog::GetSchemas(ccontext, info->catalog); +void PhysicalExport::ExtractEntries(ClientContext &context, vector> &schema_list, + ExportEntries &result) { for (auto &schema_p : schema_list) { auto &schema = schema_p.get(); if (!schema.internal) { - schemas.push_back(schema); + result.schemas.push_back(schema); } - schema.Scan(context.client, CatalogType::TABLE_ENTRY, [&](CatalogEntry &entry) { + schema.Scan(context, CatalogType::TABLE_ENTRY, [&](CatalogEntry &entry) { if (entry.internal) { return; } if (entry.type != CatalogType::TABLE_ENTRY) { - views.push_back(entry); + result.views.push_back(entry); + } + if (entry.type == CatalogType::TABLE_ENTRY) { + result.tables.push_back(entry); } }); - schema.Scan(context.client, CatalogType::SEQUENCE_ENTRY, - [&](CatalogEntry &entry) { sequences.push_back(entry); }); - schema.Scan(context.client, CatalogType::TYPE_ENTRY, - [&](CatalogEntry &entry) { custom_types.push_back(entry); }); - schema.Scan(context.client, CatalogType::INDEX_ENTRY, [&](CatalogEntry &entry) { indexes.push_back(entry); }); - schema.Scan(context.client, CatalogType::MACRO_ENTRY, [&](CatalogEntry &entry) { + schema.Scan(context, CatalogType::SEQUENCE_ENTRY, + [&](CatalogEntry &entry) { result.sequences.push_back(entry); }); + schema.Scan(context, CatalogType::TYPE_ENTRY, + [&](CatalogEntry &entry) { result.custom_types.push_back(entry); }); + schema.Scan(context, CatalogType::INDEX_ENTRY, [&](CatalogEntry &entry) { result.indexes.push_back(entry); }); + schema.Scan(context, CatalogType::MACRO_ENTRY, [&](CatalogEntry &entry) { if (!entry.internal && entry.type == CatalogType::MACRO_ENTRY) { - macros.push_back(entry); + result.macros.push_back(entry); } }); - schema.Scan(context.client, CatalogType::TABLE_MACRO_ENTRY, [&](CatalogEntry &entry) { + schema.Scan(context, CatalogType::TABLE_MACRO_ENTRY, [&](CatalogEntry &entry) { if (!entry.internal && entry.type == CatalogType::TABLE_MACRO_ENTRY) { - macros.push_back(entry); + result.macros.push_back(entry); } }); } +} + +SourceResultType PhysicalExport::GetData(ExecutionContext &context, DataChunk &chunk, + OperatorSourceInput &input) const { + auto &state = input.global_state.Cast(); + if (state.finished) { + return SourceResultType::FINISHED; + } + + auto &ccontext = context.client; + auto &fs = FileSystem::GetFileSystem(ccontext); + + // gather all catalog types to export + ExportEntries entries; + + auto schema_list = Catalog::GetSchemas(ccontext, info->catalog); + ExtractEntries(context.client, schema_list, entries); // consider the order of tables because of foreign key constraint + entries.tables.clear(); for (idx_t i = 0; i < exported_tables.data.size(); i++) { - tables.push_back(exported_tables.data[i].entry); + entries.tables.push_back(exported_tables.data[i].entry); } // order macro's by timestamp so nested macro's are imported nicely - sort(macros.begin(), macros.end(), [](const reference &lhs, const reference &rhs) { - return lhs.get().oid < rhs.get().oid; - }); + sort(entries.macros.begin(), entries.macros.end(), + [](const reference &lhs, const reference &rhs) { + return lhs.get().oid < rhs.get().oid; + }); // write the schema.sql file // export order is SCHEMA -> SEQUENCE -> TABLE -> VIEW -> INDEX stringstream ss; - WriteCatalogEntries(ss, schemas); - WriteCatalogEntries(ss, custom_types); - WriteCatalogEntries(ss, sequences); - WriteCatalogEntries(ss, tables); - WriteCatalogEntries(ss, views); - WriteCatalogEntries(ss, indexes); - WriteCatalogEntries(ss, macros); + WriteCatalogEntries(ss, entries.schemas); + WriteCatalogEntries(ss, entries.custom_types); + WriteCatalogEntries(ss, entries.sequences); + WriteCatalogEntries(ss, entries.tables); + WriteCatalogEntries(ss, entries.views); + WriteCatalogEntries(ss, entries.indexes); + WriteCatalogEntries(ss, entries.macros); WriteStringStreamToFile(fs, ss, fs.JoinPath(info->file_path, "schema.sql")); diff --git a/src/execution/operator/persistent/physical_insert.cpp b/src/execution/operator/persistent/physical_insert.cpp index 8e91ae202094..1dd14127d232 100644 --- a/src/execution/operator/persistent/physical_insert.cpp +++ b/src/execution/operator/persistent/physical_insert.cpp @@ -298,7 +298,7 @@ static void RegisterUpdatedRows(InsertLocalState &lstate, const Vector &row_ids, auto result = updated_rows.insert(data[i]); if (result.second == false) { throw InvalidInputException( - "ON CONFLICT DO UPDATE can not update the same row twice in the same command, Ensure that no rows " + "ON CONFLICT DO UPDATE can not update the same row twice in the same command. Ensure that no rows " "proposed for insertion within the same command have duplicate constrained values"); } } diff --git a/src/execution/operator/projection/physical_unnest.cpp b/src/execution/operator/projection/physical_unnest.cpp index d5632f80e36f..356b2272421e 100644 --- a/src/execution/operator/projection/physical_unnest.cpp +++ b/src/execution/operator/projection/physical_unnest.cpp @@ -1,5 +1,6 @@ #include "duckdb/execution/operator/projection/physical_unnest.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/common/algorithm.hpp" #include "duckdb/execution/expression_executor.hpp" @@ -163,6 +164,9 @@ static void UnnestVector(UnifiedVectorFormat &child_vector_data, Vector &child_v case PhysicalType::UINT64: TemplatedUnnest(child_vector_data, start, end, result); break; + case PhysicalType::UINT128: + TemplatedUnnest(child_vector_data, start, end, result); + break; case PhysicalType::FLOAT: TemplatedUnnest(child_vector_data, start, end, result); break; diff --git a/src/execution/operator/scan/physical_column_data_scan.cpp b/src/execution/operator/scan/physical_column_data_scan.cpp index 55c00b7a64f0..ca6899406a70 100644 --- a/src/execution/operator/scan/physical_column_data_scan.cpp +++ b/src/execution/operator/scan/physical_column_data_scan.cpp @@ -1,7 +1,8 @@ #include "duckdb/execution/operator/scan/physical_column_data_scan.hpp" -#include "duckdb/execution/operator/join/physical_delim_join.hpp" +#include "duckdb/common/types/column/column_data_collection.hpp" #include "duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp" +#include "duckdb/execution/operator/join/physical_delim_join.hpp" #include "duckdb/parallel/meta_pipeline.hpp" #include "duckdb/parallel/pipeline.hpp" @@ -14,6 +15,11 @@ PhysicalColumnDataScan::PhysicalColumnDataScan(vector types, Physic owned_collection(std::move(owned_collection_p)) { } +PhysicalColumnDataScan::PhysicalColumnDataScan(vector types, PhysicalOperatorType op_type, + idx_t estimated_cardinality, idx_t cte_index) + : PhysicalOperator(op_type, std::move(types), estimated_cardinality), collection(nullptr), cte_index(cte_index) { +} + class PhysicalColumnDataScanState : public GlobalSourceState { public: explicit PhysicalColumnDataScanState() : initialized(false) { @@ -58,14 +64,26 @@ void PhysicalColumnDataScan::BuildPipelines(Pipeline ¤t, MetaPipeline &met auto delim_dependency = entry->second.get().shared_from_this(); auto delim_sink = state.GetPipelineSink(*delim_dependency); D_ASSERT(delim_sink); - D_ASSERT(delim_sink->type == PhysicalOperatorType::DELIM_JOIN); + D_ASSERT(delim_sink->type == PhysicalOperatorType::LEFT_DELIM_JOIN || + delim_sink->type == PhysicalOperatorType::RIGHT_DELIM_JOIN); auto &delim_join = delim_sink->Cast(); current.AddDependency(delim_dependency); state.SetPipelineSource(current, delim_join.distinct->Cast()); return; } case PhysicalOperatorType::CTE_SCAN: { - break; + auto entry = state.cte_dependencies.find(*this); + D_ASSERT(entry != state.cte_dependencies.end()); + // this chunk scan introduces a dependency to the current pipeline + // namely a dependency on the CTE pipeline to finish + auto cte_dependency = entry->second.get().shared_from_this(); + auto cte_sink = state.GetPipelineSink(*cte_dependency); + (void)cte_sink; + D_ASSERT(cte_sink); + D_ASSERT(cte_sink->type == PhysicalOperatorType::CTE); + current.AddDependency(cte_dependency); + state.SetPipelineSource(current, *this); + return; } case PhysicalOperatorType::RECURSIVE_CTE_SCAN: if (!meta_pipeline.HasRecursiveCTE()) { diff --git a/src/execution/operator/schema/physical_alter.cpp b/src/execution/operator/schema/physical_alter.cpp index 7fc00006c2a7..0e73fc29d926 100644 --- a/src/execution/operator/schema/physical_alter.cpp +++ b/src/execution/operator/schema/physical_alter.cpp @@ -1,5 +1,6 @@ #include "duckdb/execution/operator/schema/physical_alter.hpp" #include "duckdb/parser/parsed_data/alter_table_info.hpp" +#include "duckdb/main/database_manager.hpp" #include "duckdb/catalog/catalog.hpp" namespace duckdb { diff --git a/src/execution/operator/schema/physical_attach.cpp b/src/execution/operator/schema/physical_attach.cpp index ac497d8a8f6b..2c2b76a0fc11 100644 --- a/src/execution/operator/schema/physical_attach.cpp +++ b/src/execution/operator/schema/physical_attach.cpp @@ -2,26 +2,23 @@ #include "duckdb/catalog/catalog.hpp" #include "duckdb/main/attached_database.hpp" -#include "duckdb/main/database.hpp" #include "duckdb/main/database_manager.hpp" -#include "duckdb/main/database_path_and_type.hpp" #include "duckdb/main/extension_helper.hpp" #include "duckdb/parser/parsed_data/attach_info.hpp" #include "duckdb/storage/storage_extension.hpp" +#include "duckdb/main/database_path_and_type.hpp" namespace duckdb { //===--------------------------------------------------------------------===// -// Source +// Helper //===--------------------------------------------------------------------===// -SourceResultType PhysicalAttach::GetData(ExecutionContext &context, DataChunk &chunk, - OperatorSourceInput &input) const { - // parse the options - auto &config = DBConfig::GetConfig(context.client); - AccessMode access_mode = config.options.access_mode; - string type; - string unrecognized_option; + +void ParseOptions(const unique_ptr &info, AccessMode &access_mode, string &db_type, + string &unrecognized_option) { + for (auto &entry : info->options) { + if (entry.first == "readonly" || entry.first == "read_only") { auto read_only = BooleanValue::Get(entry.second.DefaultCastAs(LogicalType::BOOLEAN)); if (read_only) { @@ -29,59 +26,80 @@ SourceResultType PhysicalAttach::GetData(ExecutionContext &context, DataChunk &c } else { access_mode = AccessMode::READ_WRITE; } - } else if (entry.first == "readwrite" || entry.first == "read_write") { + continue; + } + + if (entry.first == "readwrite" || entry.first == "read_write") { auto read_only = !BooleanValue::Get(entry.second.DefaultCastAs(LogicalType::BOOLEAN)); if (read_only) { access_mode = AccessMode::READ_ONLY; } else { access_mode = AccessMode::READ_WRITE; } - } else if (entry.first == "type") { - type = StringValue::Get(entry.second.DefaultCastAs(LogicalType::VARCHAR)); - } else if (unrecognized_option.empty()) { - unrecognized_option = entry.first; + continue; } - } - auto &db = DatabaseInstance::GetDatabase(context.client); - if (type.empty()) { - // try to extract type from path - auto path_and_type = DBPathAndType::Parse(info->path, config); - type = path_and_type.type; - info->path = path_and_type.path; - } - if (type.empty() && !unrecognized_option.empty()) { - throw BinderException("Unrecognized option for attach \"%s\"", unrecognized_option); - } + if (entry.first == "type") { + // extract the database type + db_type = StringValue::Get(entry.second.DefaultCastAs(LogicalType::VARCHAR)); + continue; + } - // if we are loading a database type from an extension - check if that extension is loaded - if (!type.empty()) { - if (!Catalog::TryAutoLoad(context.client, type)) { - // FIXME: Here it might be preferrable to use an AutoLoadOrThrow kind of function - // so that either there will be success or a message to throw, and load will be - // attempted only once respecting the autoloading options - ExtensionHelper::LoadExternalExtension(context.client, type); + // we allow unrecognized options + if (unrecognized_option.empty()) { + unrecognized_option = entry.first; } } +} - // attach the database - auto &name = info->name; - const auto &path = info->path; +//===--------------------------------------------------------------------===// +// Source +//===--------------------------------------------------------------------===// +SourceResultType PhysicalAttach::GetData(ExecutionContext &context, DataChunk &chunk, + OperatorSourceInput &input) const { + // parse the options + auto &config = DBConfig::GetConfig(context.client); + AccessMode access_mode = config.options.access_mode; + string db_type; + string unrecognized_option; + ParseOptions(info, access_mode, db_type, unrecognized_option); + // get the name and path of the database + auto &name = info->name; + auto &path = info->path; + if (db_type.empty()) { + DBPathAndType::ExtractExtensionPrefix(path, db_type); + } if (name.empty()) { auto &fs = FileSystem::GetFileSystem(context.client); name = AttachedDatabase::ExtractDatabaseName(path, fs); } + + // check ATTACH IF NOT EXISTS auto &db_manager = DatabaseManager::Get(context.client); - auto existing_db = db_manager.GetDatabaseFromPath(context.client, path); - if (existing_db) { - throw BinderException("Database \"%s\" is already attached with alias \"%s\"", path, existing_db->GetName()); - } - auto new_db = db.CreateAttachedDatabase(*info, type, access_mode); - new_db->Initialize(); + if (info->on_conflict == OnCreateConflict::IGNORE_ON_CONFLICT) { + // constant-time lookup in the catalog for the db name + auto existing_db = db_manager.GetDatabase(context.client, name); + if (existing_db) { - db_manager.AddDatabase(context.client, std::move(new_db)); + if ((existing_db->IsReadOnly() && access_mode == AccessMode::READ_WRITE) || + (!existing_db->IsReadOnly() && access_mode == AccessMode::READ_ONLY)) { + + auto existing_mode = existing_db->IsReadOnly() ? AccessMode::READ_ONLY : AccessMode::READ_WRITE; + auto existing_mode_str = EnumUtil::ToString(existing_mode); + auto attached_mode = EnumUtil::ToString(access_mode); + throw BinderException("Database \"%s\" is already attached in %s mode, cannot re-attach in %s mode", + name, existing_mode_str, attached_mode); + } + + return SourceResultType::FINISHED; + } + } + // get the database type and attach the database + db_manager.GetDatabaseType(context.client, db_type, *info, config, unrecognized_option); + auto attached_db = db_manager.AttachDatabase(context.client, *info, db_type, access_mode); + attached_db->Initialize(); return SourceResultType::FINISHED; } diff --git a/src/execution/operator/schema/physical_create_art_index.cpp b/src/execution/operator/schema/physical_create_art_index.cpp index 7c598dc8311c..e7325405fafe 100644 --- a/src/execution/operator/schema/physical_create_art_index.cpp +++ b/src/execution/operator/schema/physical_create_art_index.cpp @@ -1,16 +1,15 @@ #include "duckdb/execution/operator/schema/physical_create_art_index.hpp" +#include "duckdb/catalog/catalog_entry/duck_index_entry.hpp" #include "duckdb/catalog/catalog_entry/duck_table_entry.hpp" #include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" -#include "duckdb/catalog/catalog_entry/duck_index_entry.hpp" +#include "duckdb/execution/index/art/art_key.hpp" #include "duckdb/main/client_context.hpp" +#include "duckdb/main/database_manager.hpp" #include "duckdb/storage/index.hpp" #include "duckdb/storage/storage_manager.hpp" #include "duckdb/storage/table/append_state.hpp" -#include "duckdb/main/database_manager.hpp" -#include "duckdb/execution/index/art/art_key.hpp" -#include "duckdb/execution/index/art/node.hpp" -#include "duckdb/execution/index/art/leaf.hpp" +#include "duckdb/common/exception/transaction_exception.hpp" namespace duckdb { @@ -21,6 +20,7 @@ PhysicalCreateARTIndex::PhysicalCreateARTIndex(LogicalOperator &op, TableCatalog : PhysicalOperator(PhysicalOperatorType::CREATE_INDEX, op.types, estimated_cardinality), table(table_p.Cast()), info(std::move(info)), unbound_expressions(std::move(unbound_expressions)), sorted(sorted) { + // convert virtual column ids to storage column ids for (auto &column_id : column_ids) { storage_ids.push_back(table.GetColumns().LogicalToPhysical(LogicalIndex(column_id)).index); @@ -53,8 +53,8 @@ unique_ptr PhysicalCreateARTIndex::GetGlobalSinkState(ClientCon // create the global index auto &storage = table.GetStorage(); - state->global_index = make_uniq(storage_ids, TableIOManager::Get(storage), unbound_expressions, - info->constraint_type, storage.db); + state->global_index = make_uniq(info->index_name, info->constraint_type, storage_ids, + TableIOManager::Get(storage), unbound_expressions, storage.db); return (std::move(state)); } @@ -65,8 +65,8 @@ unique_ptr PhysicalCreateARTIndex::GetLocalSinkState(ExecutionCo // create the local index auto &storage = table.GetStorage(); - state->local_index = make_uniq(storage_ids, TableIOManager::Get(storage), unbound_expressions, - info->constraint_type, storage.db); + state->local_index = make_uniq(info->index_name, info->constraint_type, storage_ids, + TableIOManager::Get(storage), unbound_expressions, storage.db); state->keys = vector(STANDARD_VECTOR_SIZE); state->key_chunk.Initialize(Allocator::Get(context.client), state->local_index->logical_types); @@ -104,8 +104,9 @@ SinkResultType PhysicalCreateARTIndex::SinkSorted(Vector &row_identifiers, Opera auto &l_index = l_state.local_index; // create an ART from the chunk - auto art = make_uniq(l_index->column_ids, l_index->table_io_manager, l_index->unbound_expressions, - l_index->constraint_type, storage.db, l_index->Cast().allocators); + auto art = + make_uniq(info->index_name, l_index->index_constraint_type, l_index->column_ids, l_index->table_io_manager, + l_index->unbound_expressions, storage.db, l_index->Cast().allocators); if (!art->ConstructFromSorted(l_state.key_chunk.size(), l_state.keys, row_identifiers)) { throw ConstraintException("Data contains duplicates on indexed column(s)"); } @@ -167,6 +168,7 @@ SinkFinalizeType PhysicalCreateARTIndex::Finalize(Pipeline &pipeline, Event &eve } auto &schema = table.schema; + info->column_ids = storage_ids; auto index_entry = schema.CreateIndex(context, *info, table).get(); if (!index_entry) { D_ASSERT(info->on_conflict == OnCreateConflict::IGNORE_ON_CONFLICT); @@ -174,9 +176,9 @@ SinkFinalizeType PhysicalCreateARTIndex::Finalize(Pipeline &pipeline, Event &eve return SinkFinalizeType::READY; } auto &index = index_entry->Cast(); + index.initial_index_size = state.global_index->GetInMemorySize(); - index.index = state.global_index.get(); - index.info = storage.info; + index.info = make_shared(storage.info, index.name); for (auto &parsed_expr : info->parsed_expressions) { index.parsed_expressions.push_back(parsed_expr->Copy()); } diff --git a/src/execution/operator/schema/physical_create_schema.cpp b/src/execution/operator/schema/physical_create_schema.cpp index d5e340b87873..b0b031390e53 100644 --- a/src/execution/operator/schema/physical_create_schema.cpp +++ b/src/execution/operator/schema/physical_create_schema.cpp @@ -1,5 +1,6 @@ #include "duckdb/execution/operator/schema/physical_create_schema.hpp" #include "duckdb/catalog/catalog.hpp" +#include "duckdb/common/exception/binder_exception.hpp" namespace duckdb { diff --git a/src/execution/operator/schema/physical_drop.cpp b/src/execution/operator/schema/physical_drop.cpp index 36cc3976cd85..cfb6841a8bc2 100644 --- a/src/execution/operator/schema/physical_drop.cpp +++ b/src/execution/operator/schema/physical_drop.cpp @@ -3,6 +3,7 @@ #include "duckdb/main/database_manager.hpp" #include "duckdb/main/database.hpp" #include "duckdb/main/client_context.hpp" +#include "duckdb/main/secret/secret_manager.hpp" #include "duckdb/catalog/catalog_search_path.hpp" #include "duckdb/main/settings.hpp" @@ -38,6 +39,15 @@ SourceResultType PhysicalDrop::GetData(ExecutionContext &context, DataChunk &chu } break; } + case CatalogType::SECRET_ENTRY: { + // Note: the schema param is used to optionally pass the storage to drop from + D_ASSERT(info->extra_drop_info); + auto &extra_info = info->extra_drop_info->Cast(); + SecretManager::Get(context.client) + .DropSecretByName(context.client, info->name, info->if_not_found, extra_info.persist_mode, + extra_info.secret_storage); + break; + } default: { auto &catalog = Catalog::GetCatalog(context.client, info->catalog); catalog.DropEntry(context.client, *info); diff --git a/src/execution/operator/set/physical_cte.cpp b/src/execution/operator/set/physical_cte.cpp index 67cfa021aa58..8804b4a2a2f9 100644 --- a/src/execution/operator/set/physical_cte.cpp +++ b/src/execution/operator/set/physical_cte.cpp @@ -3,12 +3,9 @@ #include "duckdb/common/types/column/column_data_collection.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/execution/aggregate_hashtable.hpp" -#include "duckdb/execution/executor.hpp" #include "duckdb/parallel/event.hpp" #include "duckdb/parallel/meta_pipeline.hpp" #include "duckdb/parallel/pipeline.hpp" -#include "duckdb/parallel/task_scheduler.hpp" -#include "duckdb/storage/buffer_manager.hpp" namespace duckdb { @@ -26,96 +23,59 @@ PhysicalCTE::~PhysicalCTE() { //===--------------------------------------------------------------------===// // Sink //===--------------------------------------------------------------------===// -class CTEState : public GlobalSinkState { +class CTEGlobalState : public GlobalSinkState { public: - explicit CTEState(ClientContext &context, const PhysicalCTE &op) - : intermediate_table(context, op.children[1]->GetTypes()) { + explicit CTEGlobalState(ClientContext &context, const PhysicalCTE &op) : working_table_ref(op.working_table.get()) { } - ColumnDataCollection intermediate_table; - ColumnDataScanState scan_state; - bool initialized = false; - bool finished_scan = false; -}; + optional_ptr working_table_ref; -unique_ptr PhysicalCTE::GetGlobalSinkState(ClientContext &context) const { - working_table->Reset(); - return make_uniq(context, *this); -} + mutex lhs_lock; -SinkResultType PhysicalCTE::Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const { - auto &gstate = input.global_state.Cast(); - if (!gstate.finished_scan) { - working_table->Append(chunk); - } else { - gstate.intermediate_table.Append(chunk); + void MergeIT(ColumnDataCollection &input) { + lock_guard guard(lhs_lock); + working_table_ref->Combine(input); } - return SinkResultType::NEED_MORE_INPUT; -} +}; -//===--------------------------------------------------------------------===// -// Source -//===--------------------------------------------------------------------===// -SourceResultType PhysicalCTE::GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const { - auto &gstate = sink_state->Cast(); - if (!gstate.initialized) { - gstate.intermediate_table.InitializeScan(gstate.scan_state); - gstate.finished_scan = false; - gstate.initialized = true; +class CTELocalState : public LocalSinkState { +public: + explicit CTELocalState(ClientContext &context, const PhysicalCTE &op) + : lhs_data(context, op.working_table->Types()) { + lhs_data.InitializeAppend(append_state); } - if (!gstate.finished_scan) { - gstate.finished_scan = true; - ExecuteRecursivePipelines(context); + + unique_ptr distinct_state; + ColumnDataCollection lhs_data; + ColumnDataAppendState append_state; + + void Append(DataChunk &input) { + lhs_data.Append(input); } +}; - gstate.intermediate_table.Scan(gstate.scan_state, chunk); +unique_ptr PhysicalCTE::GetGlobalSinkState(ClientContext &context) const { + working_table->Reset(); + return make_uniq(context, *this); +} - return chunk.size() == 0 ? SourceResultType::FINISHED : SourceResultType::HAVE_MORE_OUTPUT; +unique_ptr PhysicalCTE::GetLocalSinkState(ExecutionContext &context) const { + auto state = make_uniq(context.client, *this); + return std::move(state); } -void PhysicalCTE::ExecuteRecursivePipelines(ExecutionContext &context) const { - if (!recursive_meta_pipeline) { - throw InternalException("Missing meta pipeline for recursive CTE"); - } +SinkResultType PhysicalCTE::Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const { + auto &lstate = input.local_state.Cast(); + lstate.lhs_data.Append(lstate.append_state, chunk); - // get and reset pipelines - vector> pipelines; - recursive_meta_pipeline->GetPipelines(pipelines, true); - for (auto &pipeline : pipelines) { - auto sink = pipeline->GetSink(); - if (sink.get() != this) { - sink->sink_state.reset(); - } - for (auto &op_ref : pipeline->GetOperators()) { - auto &op = op_ref.get(); - op.op_state.reset(); - } - pipeline->ClearSource(); - } + return SinkResultType::NEED_MORE_INPUT; +} - // get the MetaPipelines in the recursive_meta_pipeline and reschedule them - vector> meta_pipelines; - recursive_meta_pipeline->GetMetaPipelines(meta_pipelines, true, false); - auto &executor = recursive_meta_pipeline->GetExecutor(); - vector> events; - executor.ReschedulePipelines(meta_pipelines, events); - - while (true) { - executor.WorkOnTasks(); - if (executor.HasError()) { - executor.ThrowException(); - } - bool finished = true; - for (auto &event : events) { - if (!event->IsFinished()) { - finished = false; - break; - } - } - if (finished) { - // all pipelines finished: done! - break; - } - } +SinkCombineResultType PhysicalCTE::Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const { + auto &lstate = input.local_state.Cast(); + auto &gstate = input.global_state.Cast(); + gstate.MergeIT(lstate.lhs_data); + + return SinkCombineResultType::FINISHED; } //===--------------------------------------------------------------------===// @@ -125,27 +85,21 @@ void PhysicalCTE::BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) D_ASSERT(children.size() == 2); op_state.reset(); sink_state.reset(); - recursive_meta_pipeline.reset(); auto &state = meta_pipeline.GetState(); - state.SetPipelineSource(current, *this); - - auto &executor = meta_pipeline.GetExecutor(); - executor.AddMaterializedCTE(*this); auto &child_meta_pipeline = meta_pipeline.CreateChildMetaPipeline(current, *this); child_meta_pipeline.Build(*children[0]); - // the RHS is the recursive pipeline - recursive_meta_pipeline = make_shared(executor, state, this); - if (meta_pipeline.HasRecursiveCTE()) { - recursive_meta_pipeline->SetRecursiveCTE(); + for (auto &cte_scan : cte_scans) { + state.cte_dependencies.insert(make_pair(cte_scan, reference(*child_meta_pipeline.GetBasePipeline()))); } - recursive_meta_pipeline->Build(*children[1]); + + children[1]->BuildPipelines(current, meta_pipeline); } vector> PhysicalCTE::GetSources() const { - return {*this}; + return children[1]->GetSources(); } string PhysicalCTE::ParamsToString() const { diff --git a/src/execution/operator/set/physical_recursive_cte.cpp b/src/execution/operator/set/physical_recursive_cte.cpp index ea367ed47e8d..fba7d664d7e0 100644 --- a/src/execution/operator/set/physical_recursive_cte.cpp +++ b/src/execution/operator/set/physical_recursive_cte.cpp @@ -38,6 +38,7 @@ class RecursiveCTEState : public GlobalSinkState { unique_ptr ht; bool intermediate_empty = true; + mutex intermediate_table_lock; ColumnDataCollection intermediate_table; ColumnDataScanState scan_state; bool initialized = false; @@ -63,6 +64,8 @@ idx_t PhysicalRecursiveCTE::ProbeHT(DataChunk &chunk, RecursiveCTEState &state) SinkResultType PhysicalRecursiveCTE::Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const { auto &gstate = input.global_state.Cast(); + + lock_guard guard(gstate.intermediate_table_lock); if (!union_all) { idx_t match_count = ProbeHT(chunk, gstate); if (match_count > 0) { diff --git a/src/execution/operator/set/physical_union.cpp b/src/execution/operator/set/physical_union.cpp index e40e00be1e1c..81e5b49ee042 100644 --- a/src/execution/operator/set/physical_union.cpp +++ b/src/execution/operator/set/physical_union.cpp @@ -7,8 +7,9 @@ namespace duckdb { PhysicalUnion::PhysicalUnion(vector types, unique_ptr top, - unique_ptr bottom, idx_t estimated_cardinality) - : PhysicalOperator(PhysicalOperatorType::UNION, std::move(types), estimated_cardinality) { + unique_ptr bottom, idx_t estimated_cardinality, bool allow_out_of_order) + : PhysicalOperator(PhysicalOperatorType::UNION, std::move(types), estimated_cardinality), + allow_out_of_order(allow_out_of_order) { children.push_back(std::move(top)); children.push_back(std::move(bottom)); } @@ -24,6 +25,9 @@ void PhysicalUnion::BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipelin // or if the sink preserves order, but does not support batch indices to do so auto sink = meta_pipeline.GetSink(); bool order_matters = false; + if (!allow_out_of_order) { + order_matters = true; + } if (current.IsOrderDependent()) { order_matters = true; } @@ -37,7 +41,7 @@ void PhysicalUnion::BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipelin } // create a union pipeline that is identical to 'current' - auto union_pipeline = meta_pipeline.CreateUnionPipeline(current, order_matters); + auto &union_pipeline = meta_pipeline.CreateUnionPipeline(current, order_matters); // continue with the current pipeline children[0]->BuildPipelines(current, meta_pipeline); @@ -48,7 +52,7 @@ void PhysicalUnion::BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipelin } // build the union pipeline - children[1]->BuildPipelines(*union_pipeline, meta_pipeline); + children[1]->BuildPipelines(union_pipeline, meta_pipeline); // Assign proper batch index to the union pipeline // This needs to happen after the pipelines have been built because unions can be nested diff --git a/src/execution/physical_operator.cpp b/src/execution/physical_operator.cpp index accd42841eaa..ba5ba3e22158 100644 --- a/src/execution/physical_operator.cpp +++ b/src/execution/physical_operator.cpp @@ -10,6 +10,7 @@ #include "duckdb/parallel/pipeline.hpp" #include "duckdb/parallel/thread_context.hpp" #include "duckdb/storage/buffer_manager.hpp" +#include "duckdb/storage/buffer/buffer_pool.hpp" namespace duckdb { @@ -121,7 +122,7 @@ unique_ptr PhysicalOperator::GetGlobalSinkState(ClientContext & idx_t PhysicalOperator::GetMaxThreadMemory(ClientContext &context) { // Memory usage per thread should scale with max mem / num threads // We take 1/4th of this, to be conservative - idx_t max_memory = BufferManager::GetBufferManager(context).GetMaxMemory(); + idx_t max_memory = BufferManager::GetBufferManager(context).GetQueryMaxMemory(); idx_t num_threads = TaskScheduler::GetScheduler(context).NumberOfThreads(); return (max_memory / num_threads) / 4; } @@ -219,6 +220,7 @@ bool CachingPhysicalOperator::CanCacheType(const LogicalType &type) { switch (type.id()) { case LogicalTypeId::LIST: case LogicalTypeId::MAP: + case LogicalTypeId::ARRAY: return false; case LogicalTypeId::STRUCT: { auto &entries = StructType::GetChildTypes(type); diff --git a/src/execution/physical_plan/CMakeLists.txt b/src/execution/physical_plan/CMakeLists.txt index f14188a70d47..07cf6fde4db0 100644 --- a/src/execution/physical_plan/CMakeLists.txt +++ b/src/execution/physical_plan/CMakeLists.txt @@ -6,10 +6,12 @@ add_library_unity( plan_asof_join.cpp plan_column_data_get.cpp plan_comparison_join.cpp + plan_copy_database.cpp plan_copy_to_file.cpp plan_create.cpp plan_create_index.cpp plan_create_table.cpp + plan_create_secret.cpp plan_cross_product.cpp plan_delete.cpp plan_delim_get.cpp @@ -35,7 +37,6 @@ add_library_unity( plan_set.cpp plan_reset.cpp plan_sample.cpp - plan_show_select.cpp plan_simple.cpp plan_top_n.cpp plan_update.cpp diff --git a/src/execution/physical_plan/plan_comparison_join.cpp b/src/execution/physical_plan/plan_comparison_join.cpp index f03b4915080d..166bc9449e59 100644 --- a/src/execution/physical_plan/plan_comparison_join.cpp +++ b/src/execution/physical_plan/plan_comparison_join.cpp @@ -2,7 +2,6 @@ #include "duckdb/execution/operator/join/physical_cross_product.hpp" #include "duckdb/execution/operator/join/physical_hash_join.hpp" #include "duckdb/execution/operator/join/physical_iejoin.hpp" -#include "duckdb/execution/operator/join/physical_index_join.hpp" #include "duckdb/execution/operator/join/physical_nested_loop_join.hpp" #include "duckdb/execution/operator/join/physical_piecewise_merge_join.hpp" #include "duckdb/execution/operator/scan/physical_table_scan.hpp" @@ -19,21 +18,6 @@ namespace duckdb { -static bool CanPlanIndexJoin(ClientContext &context, TableScanBindData &bind_data, PhysicalTableScan &scan) { - auto &table = bind_data.table; - auto &transaction = DuckTransaction::Get(context, table.catalog); - auto &local_storage = LocalStorage::Get(transaction); - if (local_storage.Find(table.GetStorage())) { - // transaction local appends: skip index join - return false; - } - if (scan.table_filters && !scan.table_filters->filters.empty()) { - // table scan filters - return false; - } - return true; -} - bool ExtractNumericValue(Value val, int64_t &result) { if (!val.type().IsIntegral()) { switch (val.type().InternalType()) { @@ -75,6 +59,7 @@ void CheckForPerfectJoinOpt(LogicalComparisonJoin &op, PerfectHashJoinStats &joi switch (type.InternalType()) { case PhysicalType::STRUCT: case PhysicalType::LIST: + case PhysicalType::ARRAY: return; default: break; @@ -89,7 +74,8 @@ void CheckForPerfectJoinOpt(LogicalComparisonJoin &op, PerfectHashJoinStats &joi // with integral internal types for (auto &&join_stat : op.join_stats) { if (!TypeIsInteger(join_stat->GetType().InternalType()) || - join_stat->GetType().InternalType() == PhysicalType::INT128) { + join_stat->GetType().InternalType() == PhysicalType::INT128 || + join_stat->GetType().InternalType() == PhysicalType::UINT128) { // perfect join not possible for non-integral types or hugeint return; } @@ -135,105 +121,6 @@ void CheckForPerfectJoinOpt(LogicalComparisonJoin &op, PerfectHashJoinStats &joi return; } -static optional_ptr CanUseIndexJoin(TableScanBindData &tbl, Expression &expr) { - optional_ptr result; - tbl.table.GetStorage().info->indexes.Scan([&](Index &index) { - if (index.unbound_expressions.size() != 1) { - return false; - } - if (expr.alias == index.unbound_expressions[0]->alias) { - result = &index; - return true; - } - return false; - }); - return result; -} - -optional_ptr CheckIndexJoin(ClientContext &context, LogicalComparisonJoin &op, PhysicalOperator &plan, - Expression &condition) { - if (op.type == LogicalOperatorType::LOGICAL_DELIM_JOIN) { - return nullptr; - } - // check if one of the tables has an index on column - if (op.join_type != JoinType::INNER) { - return nullptr; - } - if (op.conditions.size() != 1) { - return nullptr; - } - // check if the child is (1) a table scan, and (2) has an index on the join condition - if (plan.type != PhysicalOperatorType::TABLE_SCAN) { - return nullptr; - } - auto &tbl_scan = plan.Cast(); - auto tbl_data = dynamic_cast(tbl_scan.bind_data.get()); - if (!tbl_data) { - return nullptr; - } - optional_ptr result; - if (CanPlanIndexJoin(context, *tbl_data, tbl_scan)) { - result = CanUseIndexJoin(*tbl_data, condition); - } - return result; -} - -static bool PlanIndexJoin(ClientContext &context, LogicalComparisonJoin &op, unique_ptr &plan, - unique_ptr &left, unique_ptr &right, - optional_ptr index, bool swap_condition = false) { - if (!index) { - return false; - } - - // index joins are disabled if enable_optimizer is false - if (!ClientConfig::GetConfig(context).enable_optimizer) { - return false; - } - - // index joins are disabled on default - auto force_index_join = ClientConfig::GetConfig(context).force_index_join; - if (!ClientConfig::GetConfig(context).enable_index_join && !force_index_join) { - return false; - } - - // check if the cardinality difference justifies an index join - auto index_join_is_applicable = left->estimated_cardinality < 0.01 * right->estimated_cardinality; - if (!index_join_is_applicable && !force_index_join) { - return false; - } - - // plan the index join - if (swap_condition) { - swap(op.conditions[0].left, op.conditions[0].right); - swap(op.left_projection_map, op.right_projection_map); - } - D_ASSERT(right->type == PhysicalOperatorType::TABLE_SCAN); - auto &tbl_scan = right->Cast(); - - plan = make_uniq(op, std::move(left), std::move(right), std::move(op.conditions), op.join_type, - op.left_projection_map, op.right_projection_map, tbl_scan.column_ids, *index, - !swap_condition, op.estimated_cardinality); - return true; -} - -static bool PlanIndexJoin(ClientContext &context, LogicalComparisonJoin &op, unique_ptr &plan, - unique_ptr &left, unique_ptr &right) { - if (op.conditions.empty()) { - return false; - } - // check if we can plan an index join on the RHS - auto right_index = CheckIndexJoin(context, op, *right, *op.conditions[0].right); - if (PlanIndexJoin(context, op, plan, left, right, right_index)) { - return true; - } - // else check if we can plan an index join on the left side - auto left_index = CheckIndexJoin(context, op, *left, *op.conditions[0].left); - if (PlanIndexJoin(context, op, plan, right, left, left_index, true)) { - return true; - } - return false; -} - static void RewriteJoinCondition(Expression &expr, idx_t offset) { if (expr.type == ExpressionType::BOUND_REF) { auto &ref = expr.Cast(); @@ -242,36 +129,18 @@ static void RewriteJoinCondition(Expression &expr, idx_t offset) { ExpressionIterator::EnumerateChildren(expr, [&](Expression &child) { RewriteJoinCondition(child, offset); }); } -unique_ptr PhysicalPlanGenerator::PlanComparisonJoin(LogicalComparisonJoin &op) { - // now visit the children - D_ASSERT(op.children.size() == 2); - idx_t lhs_cardinality = op.children[0]->EstimateCardinality(context); - idx_t rhs_cardinality = op.children[1]->EstimateCardinality(context); - auto left = CreatePlan(*op.children[0]); - auto right = CreatePlan(*op.children[1]); - left->estimated_cardinality = lhs_cardinality; - right->estimated_cardinality = rhs_cardinality; - D_ASSERT(left && right); - - if (op.conditions.empty()) { - // no conditions: insert a cross product - return make_uniq(op.types, std::move(left), std::move(right), op.estimated_cardinality); - } - - bool has_equality = false; - size_t has_range = 0; - for (size_t c = 0; c < op.conditions.size(); ++c) { - auto &cond = op.conditions[c]; +bool PhysicalPlanGenerator::HasEquality(vector &conds, idx_t &range_count) { + for (size_t c = 0; c < conds.size(); ++c) { + auto &cond = conds[c]; switch (cond.comparison) { case ExpressionType::COMPARE_EQUAL: case ExpressionType::COMPARE_NOT_DISTINCT_FROM: - has_equality = true; - break; + return true; case ExpressionType::COMPARE_LESSTHAN: case ExpressionType::COMPARE_GREATERTHAN: case ExpressionType::COMPARE_LESSTHANOREQUALTO: case ExpressionType::COMPARE_GREATERTHANOREQUALTO: - ++has_range; + ++range_count; break; case ExpressionType::COMPARE_NOTEQUAL: case ExpressionType::COMPARE_DISTINCT_FROM: @@ -280,12 +149,34 @@ unique_ptr PhysicalPlanGenerator::PlanComparisonJoin(LogicalCo throw NotImplementedException("Unimplemented comparison join"); } } + return false; +} +unique_ptr PhysicalPlanGenerator::PlanComparisonJoin(LogicalComparisonJoin &op) { + // now visit the children + D_ASSERT(op.children.size() == 2); + idx_t lhs_cardinality = op.children[0]->EstimateCardinality(context); + idx_t rhs_cardinality = op.children[1]->EstimateCardinality(context); + auto left = CreatePlan(*op.children[0]); + auto right = CreatePlan(*op.children[1]); + left->estimated_cardinality = lhs_cardinality; + right->estimated_cardinality = rhs_cardinality; + D_ASSERT(left && right); + + if (op.conditions.empty()) { + // no conditions: insert a cross product + return make_uniq(op.types, std::move(left), std::move(right), op.estimated_cardinality); + } + + idx_t has_range = 0; + bool has_equality = HasEquality(op.conditions, has_range); bool can_merge = has_range > 0; bool can_iejoin = has_range >= 2 && recursive_cte_tables.empty(); switch (op.join_type) { case JoinType::SEMI: case JoinType::ANTI: + case JoinType::RIGHT_ANTI: + case JoinType::RIGHT_SEMI: case JoinType::MARK: can_merge = can_merge && op.conditions.size() == 1; can_iejoin = false; @@ -299,10 +190,6 @@ unique_ptr PhysicalPlanGenerator::PlanComparisonJoin(LogicalCo unique_ptr plan; if (has_equality && !prefer_range_joins) { - // check if we can use an index join - if (PlanIndexJoin(context, op, plan, left, right)) { - return plan; - } // Equality join with small number of keys : possible perfect join optimization PerfectHashJoinStats perfect_join_stats; CheckForPerfectJoinOpt(op, perfect_join_stats); diff --git a/src/execution/physical_plan/plan_copy_database.cpp b/src/execution/physical_plan/plan_copy_database.cpp new file mode 100644 index 000000000000..68eaf5619b9d --- /dev/null +++ b/src/execution/physical_plan/plan_copy_database.cpp @@ -0,0 +1,12 @@ +#include "duckdb/execution/physical_plan_generator.hpp" +#include "duckdb/planner/operator/logical_copy_database.hpp" +#include "duckdb/execution/operator/persistent/physical_copy_database.hpp" + +namespace duckdb { + +unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalCopyDatabase &op) { + auto node = make_uniq(op.types, op.estimated_cardinality, std::move(op.info)); + return std::move(node); +} + +} // namespace duckdb diff --git a/src/execution/physical_plan/plan_copy_to_file.cpp b/src/execution/physical_plan/plan_copy_to_file.cpp index 0fe227512c7f..49e33275b59c 100644 --- a/src/execution/physical_plan/plan_copy_to_file.cpp +++ b/src/execution/physical_plan/plan_copy_to_file.cpp @@ -1,7 +1,7 @@ -#include "duckdb/execution/physical_plan_generator.hpp" -#include "duckdb/execution/operator/persistent/physical_copy_to_file.hpp" #include "duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp" +#include "duckdb/execution/operator/persistent/physical_copy_to_file.hpp" #include "duckdb/execution/operator/persistent/physical_fixed_batch_copy.hpp" +#include "duckdb/execution/physical_plan_generator.hpp" #include "duckdb/planner/operator/logical_copy_to_file.hpp" namespace duckdb { @@ -13,9 +13,12 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalCopyToFile auto &fs = FileSystem::GetFileSystem(context); op.file_path = fs.ExpandPath(op.file_path); if (op.use_tmp_file) { - op.file_path += ".tmp"; + auto path = StringUtil::GetFilePath(op.file_path); + auto base = StringUtil::GetFileName(op.file_path); + op.file_path = fs.JoinPath(path, "tmp_" + base); } - if (op.per_thread_output || op.partition_output || !op.partition_columns.empty() || op.overwrite_or_ignore) { + if (op.per_thread_output || op.file_size_bytes.IsValid() || op.partition_output || !op.partition_columns.empty() || + op.overwrite_or_ignore) { // hive-partitioning/per-thread output does not care about insertion order, and does not support batch indexes preserve_insertion_order = false; supports_batch_index = false; @@ -51,7 +54,11 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalCopyToFile copy->use_tmp_file = op.use_tmp_file; copy->overwrite_or_ignore = op.overwrite_or_ignore; copy->filename_pattern = op.filename_pattern; + copy->file_extension = op.file_extension; copy->per_thread_output = op.per_thread_output; + if (op.file_size_bytes.IsValid()) { + copy->file_size_bytes = op.file_size_bytes; + } copy->partition_output = op.partition_output; copy->partition_columns = op.partition_columns; copy->names = op.names; diff --git a/src/execution/physical_plan/plan_create_index.cpp b/src/execution/physical_plan/plan_create_index.cpp index b8923d21c574..abfcd628970a 100644 --- a/src/execution/physical_plan/plan_create_index.cpp +++ b/src/execution/physical_plan/plan_create_index.cpp @@ -15,7 +15,8 @@ namespace duckdb { unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalCreateIndex &op) { // generate a physical plan for the parallel index creation which consists of the following operators - // table scan - projection (for expression execution) - filter (NOT NULL) - order - create index + // table scan - projection (for expression execution) - filter (NOT NULL) - order (if applicable) - create index + D_ASSERT(op.children.size() == 1); auto table_scan = CreatePlan(*op.children[0]); @@ -24,17 +25,16 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalCreateInde // because they make deletions and lookups unfeasible for (idx_t i = 0; i < op.unbound_expressions.size(); i++) { auto &expr = op.unbound_expressions[i]; - if (expr->HasSideEffects()) { - throw BinderException("Index keys cannot contain expressions with side " - "effects."); + if (!expr->IsConsistent()) { + throw BinderException("Index keys cannot contain expressions with side effects."); } } - // If we get here without the plan and the index type is not ART, we throw an exception - // because we don't support any other index type yet. However an operator extension could have + // if we get here and the index type is not ART, we throw an exception + // because we don't support any other index type yet. However, an operator extension could have // replaced this part of the plan with a different index creation operator. - if (op.info->index_type != IndexType::ART) { - throw BinderException("Index type not supported"); + if (op.info->index_type != ART::TYPE_NAME) { + throw BinderException("Unknown index type: " + op.info->index_type); } // table scan operator for index key columns and row IDs diff --git a/src/execution/physical_plan/plan_create_secret.cpp b/src/execution/physical_plan/plan_create_secret.cpp new file mode 100644 index 000000000000..b4818c809544 --- /dev/null +++ b/src/execution/physical_plan/plan_create_secret.cpp @@ -0,0 +1,11 @@ +#include "duckdb/execution/physical_plan_generator.hpp" +#include "duckdb/planner/operator/logical_create_secret.hpp" +#include "duckdb/execution/operator/helper/physical_create_secret.hpp" + +namespace duckdb { + +unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalCreateSecret &op) { + return make_uniq(op.info, op.estimated_cardinality); +} + +} // namespace duckdb diff --git a/src/execution/physical_plan/plan_create_table.cpp b/src/execution/physical_plan/plan_create_table.cpp index c5f809334d54..be854e0da308 100644 --- a/src/execution/physical_plan/plan_create_table.cpp +++ b/src/execution/physical_plan/plan_create_table.cpp @@ -1,16 +1,17 @@ #include "duckdb/catalog/catalog_entry/scalar_function_catalog_entry.hpp" +#include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" +#include "duckdb/catalog/duck_catalog.hpp" +#include "duckdb/execution/operator/persistent/physical_batch_insert.hpp" +#include "duckdb/execution/operator/persistent/physical_insert.hpp" #include "duckdb/execution/operator/schema/physical_create_table.hpp" #include "duckdb/execution/physical_plan_generator.hpp" +#include "duckdb/main/config.hpp" +#include "duckdb/parallel/task_scheduler.hpp" #include "duckdb/parser/parsed_data/create_table_info.hpp" -#include "duckdb/execution/operator/persistent/physical_insert.hpp" +#include "duckdb/planner/constraints/bound_check_constraint.hpp" #include "duckdb/planner/expression/bound_function_expression.hpp" #include "duckdb/planner/operator/logical_create_table.hpp" -#include "duckdb/main/config.hpp" -#include "duckdb/execution/operator/persistent/physical_batch_insert.hpp" -#include "duckdb/planner/constraints/bound_check_constraint.hpp" -#include "duckdb/parallel/task_scheduler.hpp" -#include "duckdb/catalog/duck_catalog.hpp" namespace duckdb { @@ -21,10 +22,10 @@ unique_ptr DuckCatalog::PlanCreateTableAs(ClientContext &conte auto num_threads = TaskScheduler::GetScheduler(context).NumberOfThreads(); unique_ptr create; if (!parallel_streaming_insert && use_batch_index) { - create = make_uniq(op, op.schema, std::move(op.info), op.estimated_cardinality); + create = make_uniq(op, op.schema, std::move(op.info), 0); } else { - create = make_uniq(op, op.schema, std::move(op.info), op.estimated_cardinality, + create = make_uniq(op, op.schema, std::move(op.info), 0, parallel_streaming_insert && num_threads > 1); } diff --git a/src/execution/physical_plan/plan_cte.cpp b/src/execution/physical_plan/plan_cte.cpp index 0c0b0485566a..f323aed463b4 100644 --- a/src/execution/physical_plan/plan_cte.cpp +++ b/src/execution/physical_plan/plan_cte.cpp @@ -16,16 +16,18 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalMaterializ // Add the ColumnDataCollection to the context of this PhysicalPlanGenerator recursive_cte_tables[op.table_index] = working_table; + materialized_ctes[op.table_index] = vector>(); // Create the plan for the left side. This is the materialization. auto left = CreatePlan(*op.children[0]); // Initialize an empty vector to collect the scan operators. - materialized_ctes.insert(op.table_index); auto right = CreatePlan(*op.children[1]); - auto cte = make_uniq(op.ctename, op.table_index, op.children[1]->types, std::move(left), - std::move(right), op.estimated_cardinality); + unique_ptr cte; + cte = make_uniq(op.ctename, op.table_index, op.children[1]->types, std::move(left), std::move(right), + op.estimated_cardinality); cte->working_table = working_table; + cte->cte_scans = materialized_ctes[op.table_index]; return std::move(cte); } diff --git a/src/execution/physical_plan/plan_delim_join.cpp b/src/execution/physical_plan/plan_delim_join.cpp index f30cb2591f59..ba4246b522d0 100644 --- a/src/execution/physical_plan/plan_delim_join.cpp +++ b/src/execution/physical_plan/plan_delim_join.cpp @@ -1,9 +1,11 @@ -#include "duckdb/execution/operator/join/physical_delim_join.hpp" +#include "duckdb/common/enum_util.hpp" +#include "duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp" #include "duckdb/execution/operator/join/physical_hash_join.hpp" +#include "duckdb/execution/operator/join/physical_left_delim_join.hpp" +#include "duckdb/execution/operator/join/physical_right_delim_join.hpp" #include "duckdb/execution/operator/projection/physical_projection.hpp" #include "duckdb/execution/physical_plan_generator.hpp" #include "duckdb/planner/expression/bound_reference_expression.hpp" -#include "duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp" namespace duckdb { @@ -22,11 +24,12 @@ unique_ptr PhysicalPlanGenerator::PlanDelimJoin(LogicalCompari // this should create a join, not a cross product D_ASSERT(plan && plan->type != PhysicalOperatorType::CROSS_PRODUCT); // duplicate eliminated join - // first gather the scans on the duplicate eliminated data set from the RHS + // first gather the scans on the duplicate eliminated data set from the delim side + const idx_t delim_idx = op.delim_flipped ? 0 : 1; vector> delim_scans; - GatherDelimScans(*plan->children[1], delim_scans); + GatherDelimScans(*plan->children[delim_idx], delim_scans); if (delim_scans.empty()) { - // no duplicate eliminated scans in the RHS! + // no duplicate eliminated scans in the delim side! // in this case we don't need to create a delim join // just push the normal join return plan; @@ -40,7 +43,13 @@ unique_ptr PhysicalPlanGenerator::PlanDelimJoin(LogicalCompari distinct_groups.push_back(make_uniq(bound_ref.return_type, bound_ref.index)); } // now create the duplicate eliminated join - auto delim_join = make_uniq(op.types, std::move(plan), delim_scans, op.estimated_cardinality); + unique_ptr delim_join; + if (op.delim_flipped) { + delim_join = + make_uniq(op.types, std::move(plan), delim_scans, op.estimated_cardinality); + } else { + delim_join = make_uniq(op.types, std::move(plan), delim_scans, op.estimated_cardinality); + } // we still have to create the DISTINCT clause that is used to generate the duplicate eliminated chunk delim_join->distinct = make_uniq(context, delim_types, std::move(distinct_expressions), std::move(distinct_groups), op.estimated_cardinality); diff --git a/src/execution/physical_plan/plan_positional_join.cpp b/src/execution/physical_plan/plan_positional_join.cpp index 84e788082da9..6fd20ed4e95a 100644 --- a/src/execution/physical_plan/plan_positional_join.cpp +++ b/src/execution/physical_plan/plan_positional_join.cpp @@ -20,6 +20,7 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalPositional default: break; } + break; default: break; } diff --git a/src/execution/physical_plan/plan_pragma.cpp b/src/execution/physical_plan/plan_pragma.cpp index 7cd47ae29d8b..c0303965ff1d 100644 --- a/src/execution/physical_plan/plan_pragma.cpp +++ b/src/execution/physical_plan/plan_pragma.cpp @@ -5,7 +5,7 @@ namespace duckdb { unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalPragma &op) { - return make_uniq(op.function, op.info, op.estimated_cardinality); + return make_uniq(std::move(op.info), op.estimated_cardinality); } } // namespace duckdb diff --git a/src/execution/physical_plan/plan_recursive_cte.cpp b/src/execution/physical_plan/plan_recursive_cte.cpp index 8ded97a8ce25..82ddd9c21d3e 100644 --- a/src/execution/physical_plan/plan_recursive_cte.cpp +++ b/src/execution/physical_plan/plan_recursive_cte.cpp @@ -37,7 +37,7 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalCTERef &op // If this check fails, this is a reference to a materialized recursive CTE. if (materialized_cte != materialized_ctes.end()) { - auto chunk_scan = make_uniq(op.types, PhysicalOperatorType::CTE_SCAN, + auto chunk_scan = make_uniq(op.chunk_types, PhysicalOperatorType::CTE_SCAN, op.estimated_cardinality, op.cte_index); auto cte = recursive_cte_tables.find(op.cte_index); @@ -45,6 +45,7 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalCTERef &op throw InvalidInputException("Referenced materialized CTE does not exist."); } chunk_scan->collection = cte->second.get(); + materialized_cte->second.push_back(*chunk_scan.get()); return std::move(chunk_scan); } @@ -60,6 +61,7 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalCTERef &op cte->second.get()->Types(), PhysicalOperatorType::RECURSIVE_CTE_SCAN, op.estimated_cardinality, op.cte_index); chunk_scan->collection = cte->second.get(); + return std::move(chunk_scan); } diff --git a/src/execution/physical_plan/plan_set_operation.cpp b/src/execution/physical_plan/plan_set_operation.cpp index f636eeeea4c3..ef0f17554f04 100644 --- a/src/execution/physical_plan/plan_set_operation.cpp +++ b/src/execution/physical_plan/plan_set_operation.cpp @@ -1,14 +1,41 @@ +#include "duckdb/execution/physical_plan_generator.hpp" +#include "duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp" +#include "duckdb/execution/operator/aggregate/physical_window.hpp" #include "duckdb/execution/operator/join/physical_hash_join.hpp" +#include "duckdb/execution/operator/projection/physical_projection.hpp" #include "duckdb/execution/operator/set/physical_union.hpp" -#include "duckdb/execution/physical_plan_generator.hpp" #include "duckdb/planner/expression/bound_reference_expression.hpp" +#include "duckdb/planner/expression/bound_window_expression.hpp" #include "duckdb/planner/operator/logical_set_operation.hpp" namespace duckdb { +static vector> CreatePartitionedRowNumExpression(const vector &types) { + vector> res; + auto expr = + make_uniq(ExpressionType::WINDOW_ROW_NUMBER, LogicalType::BIGINT, nullptr, nullptr); + expr->start = WindowBoundary::UNBOUNDED_PRECEDING; + expr->end = WindowBoundary::UNBOUNDED_FOLLOWING; + for (idx_t i = 0; i < types.size(); i++) { + expr->partitions.push_back(make_uniq(types[i], i)); + } + res.push_back(std::move(expr)); + return res; +} + +static JoinCondition CreateNotDistinctComparison(const LogicalType &type, idx_t i) { + JoinCondition cond; + cond.left = make_uniq(type, i); + cond.right = make_uniq(type, i); + cond.comparison = ExpressionType::COMPARE_NOT_DISTINCT_FROM; + return cond; +} + unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalSetOperation &op) { D_ASSERT(op.children.size() == 2); + unique_ptr result; + auto left = CreatePlan(*op.children[0]); auto right = CreatePlan(*op.children[1]); @@ -19,28 +46,79 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalSetOperati switch (op.type) { case LogicalOperatorType::LOGICAL_UNION: // UNION - return make_uniq(op.types, std::move(left), std::move(right), op.estimated_cardinality); - default: { - // EXCEPT/INTERSECT - D_ASSERT(op.type == LogicalOperatorType::LOGICAL_EXCEPT || op.type == LogicalOperatorType::LOGICAL_INTERSECT); + result = make_uniq(op.types, std::move(left), std::move(right), op.estimated_cardinality, + op.allow_out_of_order); + break; + case LogicalOperatorType::LOGICAL_EXCEPT: + case LogicalOperatorType::LOGICAL_INTERSECT: { auto &types = left->GetTypes(); vector conditions; // create equality condition for all columns for (idx_t i = 0; i < types.size(); i++) { - JoinCondition cond; - cond.left = make_uniq(types[i], i); - cond.right = make_uniq(types[i], i); - cond.comparison = ExpressionType::COMPARE_NOT_DISTINCT_FROM; - conditions.push_back(std::move(cond)); + conditions.push_back(CreateNotDistinctComparison(types[i], i)); } + // For EXCEPT ALL / INTERSECT ALL we push a window operator with a ROW_NUMBER into the scans and join to get bag + // semantics. + if (op.setop_all) { + vector window_types = types; + window_types.push_back(LogicalType::BIGINT); + + auto window_left = make_uniq(window_types, CreatePartitionedRowNumExpression(types), + left->estimated_cardinality); + window_left->children.push_back(std::move(left)); + left = std::move(window_left); + + auto window_right = make_uniq(window_types, CreatePartitionedRowNumExpression(types), + right->estimated_cardinality); + window_right->children.push_back(std::move(right)); + right = std::move(window_right); + + // add window expression result to join condition + conditions.push_back(CreateNotDistinctComparison(LogicalType::BIGINT, types.size())); + // join (created below) now includes the row number result column + op.types.push_back(LogicalType::BIGINT); + } + // EXCEPT is ANTI join // INTERSECT is SEMI join PerfectHashJoinStats join_stats; // used in inner joins only + JoinType join_type = op.type == LogicalOperatorType::LOGICAL_EXCEPT ? JoinType::ANTI : JoinType::SEMI; - return make_uniq(op, std::move(left), std::move(right), std::move(conditions), join_type, - op.estimated_cardinality, join_stats); + result = make_uniq(op, std::move(left), std::move(right), std::move(conditions), join_type, + op.estimated_cardinality, join_stats); + + // For EXCEPT ALL / INTERSECT ALL we need to remove the row number column again + if (op.setop_all) { + vector> projection_select_list; + for (idx_t i = 0; i < types.size(); i++) { + projection_select_list.push_back(make_uniq(types[i], i)); + } + auto projection = + make_uniq(types, std::move(projection_select_list), op.estimated_cardinality); + projection->children.push_back(std::move(result)); + result = std::move(projection); + } + break; } + default: + throw InternalException("Unexpected operator type for set operation"); } + + // if the ALL specifier is not given, we have to ensure distinct results. Hence, push a GROUP BY ALL + if (!op.setop_all) { // no ALL, use distinct semantics + auto &types = result->GetTypes(); + vector> groups, aggregates /* left empty */; + for (idx_t i = 0; i < types.size(); i++) { + groups.push_back(make_uniq(types[i], i)); + } + auto groupby = make_uniq(context, op.types, std::move(aggregates), std::move(groups), + result->estimated_cardinality); + groupby->children.push_back(std::move(result)); + result = std::move(groupby); + } + + D_ASSERT(result); + return (result); } } // namespace duckdb diff --git a/src/execution/physical_plan/plan_show_select.cpp b/src/execution/physical_plan/plan_show_select.cpp deleted file mode 100644 index a7392f961ba9..000000000000 --- a/src/execution/physical_plan/plan_show_select.cpp +++ /dev/null @@ -1,47 +0,0 @@ -#include "duckdb/execution/operator/scan/physical_column_data_scan.hpp" -#include "duckdb/execution/physical_plan_generator.hpp" -#include "duckdb/parser/parsed_data/show_select_info.hpp" -#include "duckdb/planner/operator/logical_show.hpp" - -namespace duckdb { - -unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalShow &op) { - DataChunk output; - output.Initialize(Allocator::Get(context), op.types); - - auto collection = make_uniq(context, op.types); - ColumnDataAppendState append_state; - collection->InitializeAppend(append_state); - for (idx_t column_idx = 0; column_idx < op.types_select.size(); column_idx++) { - auto type = op.types_select[column_idx]; - auto &name = op.aliases[column_idx]; - - // "name", TypeId::VARCHAR - output.SetValue(0, output.size(), Value(name)); - // "type", TypeId::VARCHAR - output.SetValue(1, output.size(), Value(type.ToString())); - // "null", TypeId::VARCHAR - output.SetValue(2, output.size(), Value("YES")); - // "pk", TypeId::BOOL - output.SetValue(3, output.size(), Value()); - // "dflt_value", TypeId::VARCHAR - output.SetValue(4, output.size(), Value()); - // "extra", TypeId::VARCHAR - output.SetValue(5, output.size(), Value()); - - output.SetCardinality(output.size() + 1); - if (output.size() == STANDARD_VECTOR_SIZE) { - collection->Append(append_state, output); - output.Reset(); - } - } - - collection->Append(append_state, output); - - // create a chunk scan to output the result - auto chunk_scan = make_uniq(op.types, PhysicalOperatorType::COLUMN_DATA_SCAN, - op.estimated_cardinality, std::move(collection)); - return std::move(chunk_scan); -} - -} // namespace duckdb diff --git a/src/execution/physical_plan/plan_window.cpp b/src/execution/physical_plan/plan_window.cpp index 5e2e502c1b05..69f505eca307 100644 --- a/src/execution/physical_plan/plan_window.cpp +++ b/src/execution/physical_plan/plan_window.cpp @@ -12,7 +12,8 @@ namespace duckdb { static bool IsStreamingWindow(unique_ptr &expr) { auto &wexpr = expr->Cast(); - if (!wexpr.partitions.empty() || !wexpr.orders.empty() || wexpr.ignore_nulls) { + if (!wexpr.partitions.empty() || !wexpr.orders.empty() || wexpr.ignore_nulls || + wexpr.exclude_clause != WindowExcludeMode::NO_OTHER) { return false; } switch (wexpr.type) { @@ -46,8 +47,8 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalWindow &op // Slice types auto types = op.types; - const auto output_idx = types.size() - op.expressions.size(); - types.resize(output_idx); + const auto input_width = types.size() - op.expressions.size(); + types.resize(input_width); // Identify streaming windows vector blocking_windows; @@ -61,62 +62,106 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalWindow &op } // Process the window functions by sharing the partition/order definitions - vector evaluation_order; + unordered_map projection_map; + vector> window_expressions; + idx_t blocking_count = 0; + auto output_pos = input_width; while (!blocking_windows.empty() || !streaming_windows.empty()) { const bool process_streaming = blocking_windows.empty(); auto &remaining = process_streaming ? streaming_windows : blocking_windows; + blocking_count += process_streaming ? 0 : 1; // Find all functions that share the partitioning of the first remaining expression - const auto over_idx = remaining[0]; - auto &over_expr = op.expressions[over_idx]->Cast(); + auto over_idx = remaining[0]; vector matching; vector unprocessed; for (const auto &expr_idx : remaining) { D_ASSERT(op.expressions[expr_idx]->GetExpressionClass() == ExpressionClass::BOUND_WINDOW); auto &wexpr = op.expressions[expr_idx]->Cast(); - if (over_expr.KeysAreCompatible(wexpr)) { + + // Just record the first one (it defines the partition) + if (over_idx == expr_idx) { matching.emplace_back(expr_idx); - } else { + continue; + } + + // If it is in a different partition, skip it + const auto &over_expr = op.expressions[over_idx]->Cast(); + if (!over_expr.PartitionsAreEquivalent(wexpr)) { unprocessed.emplace_back(expr_idx); + continue; + } + + // CSE Elimination: Search for a previous match + bool cse = false; + for (idx_t i = 0; i < matching.size(); ++i) { + const auto match_idx = matching[i]; + auto &match_expr = op.expressions[match_idx]->Cast(); + if (wexpr.Equals(match_expr)) { + projection_map[input_width + expr_idx] = output_pos + i; + cse = true; + break; + } + } + if (cse) { + continue; + } + + // Is there a common sort prefix? + const auto prefix = over_expr.GetSharedOrders(wexpr); + if (prefix != MinValue(over_expr.orders.size(), wexpr.orders.size())) { + unprocessed.emplace_back(expr_idx); + continue; + } + matching.emplace_back(expr_idx); + + // Switch to the longer prefix + if (prefix < wexpr.orders.size()) { + over_idx = expr_idx; } } remaining.swap(unprocessed); + // Remember the projection order + for (const auto &expr_idx : matching) { + projection_map[input_width + expr_idx] = output_pos++; + } + + window_expressions.emplace_back(std::move(matching)); + } + + // Build the window operators + for (idx_t i = 0; i < window_expressions.size(); ++i) { // Extract the matching expressions + const auto &matching = window_expressions[i]; vector> select_list; for (const auto &expr_idx : matching) { select_list.emplace_back(std::move(op.expressions[expr_idx])); - types.emplace_back(op.types[output_idx + expr_idx]); + types.emplace_back(op.types[input_width + expr_idx]); } // Chain the new window operator on top of the plan unique_ptr window; - if (process_streaming) { - window = make_uniq(types, std::move(select_list), op.estimated_cardinality); - } else { + if (i < blocking_count) { window = make_uniq(types, std::move(select_list), op.estimated_cardinality); + } else { + window = make_uniq(types, std::move(select_list), op.estimated_cardinality); } window->children.push_back(std::move(plan)); plan = std::move(window); - - // Remember the projection order if we changed it - if (!streaming_windows.empty() || !blocking_windows.empty() || !evaluation_order.empty()) { - evaluation_order.insert(evaluation_order.end(), matching.begin(), matching.end()); - } } // Put everything back into place if it moved - if (!evaluation_order.empty()) { + if (!projection_map.empty()) { vector> select_list(op.types.size()); // The inputs don't move - for (idx_t i = 0; i < output_idx; ++i) { + for (idx_t i = 0; i < input_width; ++i) { select_list[i] = make_uniq(op.types[i], i); } // The outputs have been rearranged - for (idx_t i = 0; i < evaluation_order.size(); ++i) { - const auto expr_idx = evaluation_order[i] + output_idx; - select_list[expr_idx] = make_uniq(op.types[expr_idx], i + output_idx); + for (const auto &p : projection_map) { + select_list[p.first] = make_uniq(op.types[p.first], p.second); } auto proj = make_uniq(op.types, std::move(select_list), op.estimated_cardinality); proj->children.push_back(std::move(plan)); diff --git a/src/execution/physical_plan_generator.cpp b/src/execution/physical_plan_generator.cpp index ab51b498cbb5..705d522aeffa 100644 --- a/src/execution/physical_plan_generator.cpp +++ b/src/execution/physical_plan_generator.cpp @@ -153,12 +153,12 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalOperator & case LogicalOperatorType::LOGICAL_CREATE_INDEX: plan = CreatePlan(op.Cast()); break; + case LogicalOperatorType::LOGICAL_CREATE_SECRET: + plan = CreatePlan(op.Cast()); + break; case LogicalOperatorType::LOGICAL_EXPLAIN: plan = CreatePlan(op.Cast()); break; - case LogicalOperatorType::LOGICAL_SHOW: - plan = CreatePlan(op.Cast()); - break; case LogicalOperatorType::LOGICAL_DISTINCT: plan = CreatePlan(op.Cast()); break; @@ -208,6 +208,9 @@ unique_ptr PhysicalPlanGenerator::CreatePlan(LogicalOperator & case LogicalOperatorType::LOGICAL_PIVOT: plan = CreatePlan(op.Cast()); break; + case LogicalOperatorType::LOGICAL_COPY_DATABASE: + plan = CreatePlan(op.Cast()); + break; case LogicalOperatorType::LOGICAL_EXTENSION_OPERATOR: plan = op.Cast().CreatePlan(context, *this); diff --git a/src/execution/radix_partitioned_hashtable.cpp b/src/execution/radix_partitioned_hashtable.cpp index 9a1069609123..640f29687c69 100644 --- a/src/execution/radix_partitioned_hashtable.cpp +++ b/src/execution/radix_partitioned_hashtable.cpp @@ -10,6 +10,7 @@ #include "duckdb/main/config.hpp" #include "duckdb/parallel/event.hpp" #include "duckdb/planner/expression/bound_reference_expression.hpp" +#include "duckdb/storage/temporary_memory_manager.hpp" namespace duckdb { @@ -69,9 +70,11 @@ unique_ptr RadixPartitionedHashTable::CreateHT(Client // Sink //===--------------------------------------------------------------------===// struct AggregatePartition { - explicit AggregatePartition(unique_ptr data_p) : data(std::move(data_p)), finalized(false) { + explicit AggregatePartition(unique_ptr data_p) + : data(std::move(data_p)), progress(0), finalized(false) { } unique_ptr data; + atomic progress; atomic finalized; }; @@ -135,6 +138,10 @@ class RadixHTGlobalSinkState : public GlobalSinkState { void Destroy(); public: + ClientContext &context; + //! Temporary memory state for managing this hash table's memory usage + unique_ptr temporary_memory_state; + //! The radix HT const RadixPartitionedHashTable &radix_ht; //! Config for partitioning @@ -161,17 +168,38 @@ class RadixHTGlobalSinkState : public GlobalSinkState { //! For synchronizing finalize tasks atomic finalize_idx; + atomic finalize_done; //! Pin properties when scanning TupleDataPinProperties scan_pin_properties; //! Total count before combining idx_t count_before_combining; + //! Maximum partition size if all unique + idx_t max_partition_size; + + vector blocked_tasks; }; -RadixHTGlobalSinkState::RadixHTGlobalSinkState(ClientContext &context, const RadixPartitionedHashTable &radix_ht_p) - : radix_ht(radix_ht_p), config(context, *this), finalized(false), external(false), active_threads(0), - any_combined(false), finalize_idx(0), scan_pin_properties(TupleDataPinProperties::DESTROY_AFTER_DONE), - count_before_combining(0) { +RadixHTGlobalSinkState::RadixHTGlobalSinkState(ClientContext &context_p, const RadixPartitionedHashTable &radix_ht_p) + : context(context_p), temporary_memory_state(TemporaryMemoryManager::Get(context).Register(context)), + radix_ht(radix_ht_p), config(context, *this), finalized(false), external(false), active_threads(0), + any_combined(false), finalize_idx(0), finalize_done(0), + scan_pin_properties(TupleDataPinProperties::DESTROY_AFTER_DONE), count_before_combining(0), + max_partition_size(0) { + + auto tuples_per_block = Storage::BLOCK_ALLOC_SIZE / radix_ht.GetLayout().GetRowWidth(); + idx_t ht_count = config.sink_capacity / GroupedAggregateHashTable::LOAD_FACTOR; + auto num_partitions = RadixPartitioning::NumberOfPartitions(config.GetRadixBits()); + auto count_per_partition = ht_count / num_partitions; + auto blocks_per_partition = (count_per_partition + tuples_per_block) / tuples_per_block + 1; + auto ht_size = blocks_per_partition * Storage::BLOCK_ALLOC_SIZE + config.sink_capacity * sizeof(aggr_ht_entry_t); + + // This really is the minimum reservation that we can do + idx_t num_threads = TaskScheduler::GetScheduler(context).NumberOfThreads(); + auto minimum_reservation = num_threads * ht_size; + + temporary_memory_state->SetMinimumReservation(minimum_reservation); + temporary_memory_state->SetRemainingSize(context, minimum_reservation); } RadixHTGlobalSinkState::~RadixHTGlobalSinkState() { @@ -326,10 +354,26 @@ bool MaybeRepartition(ClientContext &context, RadixHTGlobalSinkState &gstate, Ra auto &partitioned_data = ht.GetPartitionedData(); // Check if we're approaching the memory limit - const idx_t n_threads = TaskScheduler::GetScheduler(context).NumberOfThreads(); - const idx_t limit = BufferManager::GetBufferManager(context).GetMaxMemory(); - const idx_t thread_limit = 0.6 * limit / n_threads; - if (ht.GetPartitionedData()->SizeInBytes() > thread_limit || context.config.force_external) { + auto &temporary_memory_state = *gstate.temporary_memory_state; + const auto total_size = partitioned_data->SizeInBytes() + ht.Capacity() * sizeof(aggr_ht_entry_t); + idx_t thread_limit = temporary_memory_state.GetReservation() / gstate.active_threads; + if (total_size > thread_limit) { + // We're over the thread memory limit + if (!gstate.external) { + // We haven't yet triggered out-of-core behavior, but maybe we don't have to, grab the lock and check again + lock_guard guard(gstate.lock); + thread_limit = temporary_memory_state.GetReservation() / gstate.active_threads; + if (total_size > thread_limit) { + // Out-of-core would be triggered below, try to increase the reservation + auto remaining_size = + MaxValue(gstate.active_threads * total_size, temporary_memory_state.GetRemainingSize()); + temporary_memory_state.SetRemainingSize(context, 2 * remaining_size); + thread_limit = temporary_memory_state.GetReservation() / gstate.active_threads; + } + } + } + + if (total_size > thread_limit) { if (gstate.config.SetRadixBitsToExternal()) { // We're approaching the memory limit, unpin the data if (!lstate.abandoned_data) { @@ -449,7 +493,7 @@ void RadixPartitionedHashTable::Combine(ExecutionContext &context, GlobalSinkSta gstate.stored_allocators.emplace_back(ht.GetAggregateAllocator()); } -void RadixPartitionedHashTable::Finalize(ClientContext &, GlobalSinkState &gstate_p) const { +void RadixPartitionedHashTable::Finalize(ClientContext &context, GlobalSinkState &gstate_p) const { auto &gstate = gstate_p.Cast(); if (gstate.uncombined_data) { @@ -463,7 +507,13 @@ void RadixPartitionedHashTable::Finalize(ClientContext &, GlobalSinkState &gstat const auto n_partitions = uncombined_partition_data.size(); gstate.partitions.reserve(n_partitions); for (idx_t i = 0; i < n_partitions; i++) { - gstate.partitions.emplace_back(make_uniq(std::move(uncombined_partition_data[i]))); + auto &partition = uncombined_partition_data[i]; + auto partition_size = + partition->SizeInBytes() + + GroupedAggregateHashTable::GetCapacityForCount(partition->Count()) * sizeof(aggr_ht_entry_t); + gstate.max_partition_size = MaxValue(gstate.max_partition_size, partition_size); + + gstate.partitions.emplace_back(make_uniq(std::move(partition))); if (single_ht) { gstate.finalize_idx++; gstate.partitions.back()->finalized = true; @@ -473,15 +523,32 @@ void RadixPartitionedHashTable::Finalize(ClientContext &, GlobalSinkState &gstat gstate.count_before_combining = 0; } + // Minimum of combining one partition at a time + gstate.temporary_memory_state->SetMinimumReservation(gstate.max_partition_size); + // Maximum of combining all partitions + auto max_threads = + MinValue(TaskScheduler::GetScheduler(context).NumberOfThreads(), gstate.partitions.size()); + gstate.temporary_memory_state->SetRemainingSize(context, max_threads * gstate.max_partition_size); gstate.finalized = true; } //===--------------------------------------------------------------------===// // Source //===--------------------------------------------------------------------===// -idx_t RadixPartitionedHashTable::NumberOfPartitions(GlobalSinkState &sink_p) const { +idx_t RadixPartitionedHashTable::MaxThreads(GlobalSinkState &sink_p) const { auto &sink = sink_p.Cast(); - return sink.partitions.size(); + if (sink.partitions.empty()) { + return 0; + } + + // This many partitions will fit given our reservation (at least 1)) + auto partitions_fit = MaxValue(sink.temporary_memory_state->GetReservation() / sink.max_partition_size, 1); + // Maximum is either the number of partitions, or the number of threads + auto max_possible = + MinValue(sink.partitions.size(), TaskScheduler::GetScheduler(sink.context).NumberOfThreads()); + + // Mininum of the two + return MinValue(partitions_fit, max_possible); } void RadixPartitionedHashTable::SetMultiScan(GlobalSinkState &sink_p) { @@ -510,8 +577,9 @@ class RadixHTGlobalSourceState : public GlobalSourceState { vector column_ids; //! For synchronizing scan tasks - atomic scan_idx; - atomic scan_done; + mutex lock; + idx_t scan_idx; + idx_t scan_done; }; enum class RadixHTScanStatus : uint8_t { INIT, IN_PROGRESS, DONE }; @@ -573,18 +641,23 @@ bool RadixHTGlobalSourceState::AssignTask(RadixHTGlobalSinkState &sink, RadixHTL if (finished) { return false; } - // We first try to assign a Scan task, then a Finalize task if that didn't work, without using any locks - // We need an atomic compare-and-swap to assign a Scan task, because we need to only increment - // the 'scan_idx' atomic if the 'finalize' of that partition is true, i.e., ready to be scanned - bool scan_assigned = true; - do { - lstate.task_idx = scan_idx.load(); - if (lstate.task_idx >= n_partitions || !sink.partitions[lstate.task_idx]->finalized) { - scan_assigned = false; - break; + // We first try to assign a Scan task, then a Finalize task if that didn't work + bool scan_assigned = false; + if (scan_idx < n_partitions && sink.partitions[scan_idx]->finalized) { + lstate.task_idx = scan_idx++; + scan_assigned = true; + if (scan_idx == n_partitions) { + // We will never be able to assign another task, unblock blocked tasks + lock_guard sink_guard(sink.lock); + if (!sink.blocked_tasks.empty()) { + for (auto &state : sink.blocked_tasks) { + state.Callback(); + } + sink.blocked_tasks.clear(); + } } - } while (!std::atomic_compare_exchange_weak(&scan_idx, &lstate.task_idx, lstate.task_idx + 1)); + } if (scan_assigned) { // We successfully assigned a Scan task @@ -596,6 +669,7 @@ bool RadixHTGlobalSourceState::AssignTask(RadixHTGlobalSinkState &sink, RadixHTL // We didn't assign a Scan task if (sink.finalize_idx >= n_partitions) { + lstate.ht.reset(); return false; // No finalize tasks left } @@ -607,7 +681,7 @@ bool RadixHTGlobalSourceState::AssignTask(RadixHTGlobalSinkState &sink, RadixHTL return true; } - // We didn't manage to assign a Finalize task + // We didn't manage to assign a Finalize task because there are none left return false; } @@ -647,9 +721,19 @@ void RadixHTLocalSourceState::Finalize(RadixHTGlobalSinkState &sink, RadixHTGlob } if (!ht) { - // Create a HT with sufficient capacity + // This capacity would always be sufficient for all data const auto capacity = GroupedAggregateHashTable::GetCapacityForCount(partition.data->Count()); - ht = sink.radix_ht.CreateHT(gstate.context, capacity, 0); + + // However, we will limit the initial capacity so we don't do a huge over-allocation + const idx_t n_threads = TaskScheduler::GetScheduler(gstate.context).NumberOfThreads(); + const idx_t memory_limit = BufferManager::GetBufferManager(gstate.context).GetMaxMemory(); + const idx_t thread_limit = 0.6 * memory_limit / n_threads; + + const idx_t size_per_entry = partition.data->SizeInBytes() / partition.data->Count() + + idx_t(GroupedAggregateHashTable::LOAD_FACTOR * sizeof(aggr_ht_entry_t)); + const auto capacity_limit = NextPowerOfTwo(thread_limit / size_per_entry); + + ht = sink.radix_ht.CreateHT(gstate.context, MinValue(capacity, capacity_limit), 0); } else { // We may want to resize here to the size of this partition, but for now we just assume uniform partition sizes ht->InitializePartitionedData(); @@ -658,7 +742,7 @@ void RadixHTLocalSourceState::Finalize(RadixHTGlobalSinkState &sink, RadixHTGlob } // Now combine the uncombined data using this thread's HT - ht->Combine(*partition.data); + ht->Combine(*partition.data, &partition.progress); ht->UnpinData(); // Move the combined data back to the partition @@ -667,10 +751,24 @@ void RadixHTLocalSourceState::Finalize(RadixHTGlobalSinkState &sink, RadixHTGlob partition.data->Combine(*ht->GetPartitionedData()->GetPartitions()[0]); // Mark partition as ready to scan + lock_guard glock(gstate.lock); partition.finalized = true; + if (++sink.finalize_done == sink.partitions.size()) { + // All finalizes are done, set remaining size to 0 + sink.temporary_memory_state->SetRemainingSize(sink.context, 0); + } + + // Unblock blocked tasks so they can scan this partition + lock_guard sink_guard(sink.lock); + if (!sink.blocked_tasks.empty()) { + for (auto &state : sink.blocked_tasks) { + state.Callback(); + } + sink.blocked_tasks.clear(); + } + // Make sure this thread's aggregate allocator does not get lost - lock_guard guard(sink.lock); sink.stored_allocators.emplace_back(ht->GetAggregateAllocator()); } @@ -684,6 +782,7 @@ void RadixHTLocalSourceState::Scan(RadixHTGlobalSinkState &sink, RadixHTGlobalSo if (data_collection.Count() == 0) { scan_status = RadixHTScanStatus::DONE; + lock_guard gstate_guard(gstate.lock); if (++gstate.scan_done == sink.partitions.size()) { gstate.finished = true; } @@ -704,6 +803,7 @@ void RadixHTLocalSourceState::Scan(RadixHTGlobalSinkState &sink, RadixHTGlobalSo } if (data_collection.ScanComplete(scan_state)) { + lock_guard gstate_guard(gstate.lock); if (++gstate.scan_done == sink.partitions.size()) { gstate.finished = true; } @@ -800,9 +900,19 @@ SourceResultType RadixPartitionedHashTable::GetData(ExecutionContext &context, D } while (!gstate.finished && chunk.size() == 0) { - if (!lstate.TaskFinished() || gstate.AssignTask(sink, lstate)) { - lstate.ExecuteTask(sink, gstate, chunk); + if (lstate.TaskFinished()) { + lock_guard gstate_guard(gstate.lock); + if (!gstate.AssignTask(sink, lstate)) { + if (gstate.scan_idx < sink.partitions.size()) { + lock_guard sink_guard(sink.lock); + sink.blocked_tasks.push_back(input.interrupt_state); + return SourceResultType::BLOCKED; + } else { + return SourceResultType::FINISHED; + } + } } + lstate.ExecuteTask(sink, gstate, chunk); } if (chunk.size() != 0) { @@ -812,4 +922,25 @@ SourceResultType RadixPartitionedHashTable::GetData(ExecutionContext &context, D } } +double RadixPartitionedHashTable::GetProgress(ClientContext &, GlobalSinkState &sink_p, + GlobalSourceState &gstate_p) const { + auto &sink = sink_p.Cast(); + auto &gstate = gstate_p.Cast(); + + // Get partition combine progress, weigh it 2x + double total_progress = 0; + for (auto &partition : sink.partitions) { + total_progress += partition->progress * 2.0; + } + + // Get scan progress, weigh it 1x + total_progress += gstate.scan_done; + + // Divide by 3x for the weights, and the number of partitions to get a value between 0 and 1 again + total_progress /= 3.0 * sink.partitions.size(); + + // Multiply by 100 to get a percentage + return 100.0 * total_progress; +} + } // namespace duckdb diff --git a/src/execution/reservoir_sample.cpp b/src/execution/reservoir_sample.cpp index 3522b71a1e28..8344a7301dd2 100644 --- a/src/execution/reservoir_sample.cpp +++ b/src/execution/reservoir_sample.cpp @@ -1,34 +1,51 @@ #include "duckdb/execution/reservoir_sample.hpp" +#include "duckdb/common/types/data_chunk.hpp" #include "duckdb/common/pair.hpp" namespace duckdb { +void BlockingSample::Serialize(Serializer &serializer) const { +} + +unique_ptr BlockingSample::Deserialize(Deserializer &deserializer) { + return nullptr; +} + ReservoirSample::ReservoirSample(Allocator &allocator, idx_t sample_count, int64_t seed) - : BlockingSample(seed), sample_count(sample_count), reservoir(allocator) { + : BlockingSample(seed), allocator(allocator), sample_count(sample_count), reservoir_initialized(false) { } void ReservoirSample::AddToReservoir(DataChunk &input) { if (sample_count == 0) { + // sample count is 0, means no samples were requested return; } + base_reservoir_sample.num_entries_seen_total += input.size(); // Input: A population V of n weighted items // Output: A reservoir R with a size m // 1: The first m items of V are inserted into R // first we need to check if the reservoir already has "m" elements - if (reservoir.Count() < sample_count) { + if (!reservoir_chunk || reservoir_chunk->size() < sample_count) { if (FillReservoir(input) == 0) { // entire chunk was consumed by reservoir return; } } - // find the position of next_index relative to current_count + D_ASSERT(reservoir_chunk); + D_ASSERT(reservoir_chunk->size() == sample_count); + // Initialize the weights if they have not been already + if (base_reservoir_sample.reservoir_weights.empty()) { + base_reservoir_sample.InitializeReservoir(reservoir_chunk->size(), sample_count); + } + // find the position of next_index_to_sample relative to number of seen entries (num_entries_to_skip_b4_next_sample) idx_t remaining = input.size(); idx_t base_offset = 0; while (true) { - idx_t offset = base_reservoir_sample.next_index - base_reservoir_sample.current_count; + idx_t offset = + base_reservoir_sample.next_index_to_sample - base_reservoir_sample.num_entries_to_skip_b4_next_sample; if (offset >= remaining) { // not in this chunk! increment current count and go to the next chunk - base_reservoir_sample.current_count += remaining; + base_reservoir_sample.num_entries_to_skip_b4_next_sample += remaining; return; } // in this chunk! replace the element @@ -40,39 +57,77 @@ void ReservoirSample::AddToReservoir(DataChunk &input) { } unique_ptr ReservoirSample::GetChunk() { - return reservoir.Fetch(); + if (!reservoir_chunk || reservoir_chunk->size() == 0) { + return nullptr; + } + auto collected_sample_count = reservoir_chunk->size(); + if (collected_sample_count > STANDARD_VECTOR_SIZE) { + // get from the back to avoid creating two selection vectors + // one to return the first STANDARD_VECTOR_SIZE + // another to replace the reservoir_chunk with the first STANDARD VECTOR SIZE missing + auto ret = make_uniq(); + auto samples_remaining = collected_sample_count - STANDARD_VECTOR_SIZE; + auto reservoir_types = reservoir_chunk->GetTypes(); + SelectionVector sel(STANDARD_VECTOR_SIZE); + for (idx_t i = samples_remaining; i < collected_sample_count; i++) { + sel.set_index(i - samples_remaining, i); + } + ret->Initialize(allocator, reservoir_types.begin(), reservoir_types.end(), STANDARD_VECTOR_SIZE); + ret->Slice(*reservoir_chunk, sel, STANDARD_VECTOR_SIZE); + ret->SetCardinality(STANDARD_VECTOR_SIZE); + // reduce capacity and cardinality of the sample data chunk + reservoir_chunk->SetCardinality(samples_remaining); + return ret; + } + return std::move(reservoir_chunk); } -void ReservoirSample::ReplaceElement(DataChunk &input, idx_t index_in_chunk) { +void ReservoirSample::ReplaceElement(DataChunk &input, idx_t index_in_chunk, double with_weight) { // replace the entry in the reservoir // 8. The item in R with the minimum key is replaced by item vi + D_ASSERT(input.ColumnCount() == reservoir_chunk->ColumnCount()); for (idx_t col_idx = 0; col_idx < input.ColumnCount(); col_idx++) { - reservoir.SetValue(col_idx, base_reservoir_sample.min_entry, input.GetValue(col_idx, index_in_chunk)); + reservoir_chunk->SetValue(col_idx, base_reservoir_sample.min_weighted_entry_index, + input.GetValue(col_idx, index_in_chunk)); } - base_reservoir_sample.ReplaceElement(); + base_reservoir_sample.ReplaceElement(with_weight); +} + +void ReservoirSample::InitializeReservoir(DataChunk &input) { + reservoir_chunk = make_uniq(); + reservoir_chunk->Initialize(allocator, input.GetTypes(), sample_count); + for (idx_t col_idx = 0; col_idx < reservoir_chunk->ColumnCount(); col_idx++) { + FlatVector::Validity(reservoir_chunk->data[col_idx]).Initialize(sample_count); + } + reservoir_initialized = true; } idx_t ReservoirSample::FillReservoir(DataChunk &input) { idx_t chunk_count = input.size(); input.Flatten(); + auto num_added_samples = reservoir_chunk ? reservoir_chunk->size() : 0; + D_ASSERT(num_added_samples <= sample_count); - // we have not: append to the reservoir + // required count is what we still need to add to the reservoir idx_t required_count; - if (reservoir.Count() + chunk_count >= sample_count) { + if (num_added_samples + chunk_count >= sample_count) { // have to limit the count of the chunk - required_count = sample_count - reservoir.Count(); + required_count = sample_count - num_added_samples; } else { // we copy the entire chunk required_count = chunk_count; } - // instead of copying we just change the pointer in the current chunk input.SetCardinality(required_count); - reservoir.Append(input); - base_reservoir_sample.InitializeReservoir(reservoir.Count(), sample_count); + // initialize the reservoir + if (!reservoir_initialized) { + InitializeReservoir(input); + } + reservoir_chunk->Append(input, false, nullptr, required_count); + base_reservoir_sample.InitializeReservoir(required_count, sample_count); - // check if there are still elements remaining - // this happens if we are on a boundary + // check if there are still elements remaining in the Input data chunk that should be + // randomly sampled and potentially added. This happens if we are on a boundary // for example, input.size() is 1024, but our sample size is 10 if (required_count == chunk_count) { // we are done here @@ -89,6 +144,10 @@ idx_t ReservoirSample::FillReservoir(DataChunk &input) { return input.size(); } +void ReservoirSample::Finalize() { + return; +} + ReservoirSamplePercentage::ReservoirSamplePercentage(Allocator &allocator, double percentage, int64_t seed) : BlockingSample(seed), allocator(allocator), sample_percentage(percentage / 100.0), current_count(0), is_finalized(false) { @@ -97,6 +156,7 @@ ReservoirSamplePercentage::ReservoirSamplePercentage(Allocator &allocator, doubl } void ReservoirSamplePercentage::AddToReservoir(DataChunk &input) { + base_reservoir_sample.num_entries_seen_total += input.size(); if (current_count + input.size() > RESERVOIR_THRESHOLD) { // we don't have enough space in our current reservoir // first check what we still need to append to the current sample @@ -120,8 +180,9 @@ void ReservoirSamplePercentage::AddToReservoir(DataChunk &input) { if (append_to_next_sample > 0) { // slice the input for the remainder SelectionVector sel(append_to_next_sample); - for (idx_t i = 0; i < append_to_next_sample; i++) { - sel.set_index(i, append_to_current_sample_count + i); + for (idx_t i = append_to_current_sample_count; i < append_to_next_sample + append_to_current_sample_count; + i++) { + sel.set_index(i - append_to_current_sample_count, i); } input.Slice(sel, append_to_next_sample); } @@ -159,7 +220,16 @@ unique_ptr ReservoirSamplePercentage::GetChunk() { void ReservoirSamplePercentage::Finalize() { // need to finalize the current sample, if any - if (current_count > 0) { + // we are finializing, so we are starting to return chunks. Our last chunk has + // sample_percentage * RESERVOIR_THRESHOLD entries that hold samples. + // if our current count is less than the sample_percentage * RESERVOIR_THRESHOLD + // then we have sampled too much for the current_sample and we need to redo the sample + // otherwise we can just push the current sample back + // Imagine sampling 70% of 100 rows (so 70 rows). We allocate sample_percentage * RESERVOIR_THRESHOLD + // ----------------------------------------- + auto sampled_more_than_required = + current_count > sample_percentage * RESERVOIR_THRESHOLD || finished_samples.empty(); + if (current_count > 0 && sampled_more_than_required) { // create a new sample auto new_sample_size = idx_t(round(sample_percentage * current_count)); auto new_sample = make_uniq(allocator, new_sample_size, random.NextRandomInteger()); @@ -171,15 +241,20 @@ void ReservoirSamplePercentage::Finalize() { new_sample->AddToReservoir(*chunk); } finished_samples.push_back(std::move(new_sample)); + } else { + finished_samples.push_back(std::move(current_sample)); } + // when finalizing, current_sample is null. All samples are now in finished samples. + current_sample = nullptr; is_finalized = true; } BaseReservoirSampling::BaseReservoirSampling(int64_t seed) : random(seed) { - next_index = 0; - min_threshold = 0; - min_entry = 0; - current_count = 0; + next_index_to_sample = 0; + min_weight_threshold = 0; + min_weighted_entry_index = 0; + num_entries_to_skip_b4_next_sample = 0; + num_entries_seen_total = 0; } BaseReservoirSampling::BaseReservoirSampling() : BaseReservoirSampling(-1) { @@ -209,23 +284,28 @@ void BaseReservoirSampling::SetNextEntry() { //! 5. From the current item vc skip items until item vi , such that: //! 6. wc +wc+1 +···+wi−1 < Xw <= wc +wc+1 +···+wi−1 +wi //! since all our weights are 1 (uniform sampling), we can just determine the amount of elements to skip - min_threshold = t_w; - min_entry = min_key.second; - next_index = MaxValue(1, idx_t(round(x_w))); - current_count = 0; + min_weight_threshold = t_w; + min_weighted_entry_index = min_key.second; + next_index_to_sample = MaxValue(1, idx_t(round(x_w))); + num_entries_to_skip_b4_next_sample = 0; } -void BaseReservoirSampling::ReplaceElement() { +void BaseReservoirSampling::ReplaceElement(double with_weight) { //! replace the entry in the reservoir //! pop the minimum entry reservoir_weights.pop(); //! now update the reservoir //! 8. Let tw = Tw i , r2 = random(tw,1) and vi’s key: ki = (r2)1/wi //! 9. The new threshold Tw is the new minimum key of R - //! we generate a random number between (min_threshold, 1) - double r2 = random.NextRandom(min_threshold, 1); + //! we generate a random number between (min_weight_threshold, 1) + double r2 = random.NextRandom(min_weight_threshold, 1); + + //! if we are merging two reservoir samples use the weight passed + if (with_weight >= 0) { + r2 = with_weight; + } //! now we insert the new weight into the reservoir - reservoir_weights.emplace(-r2, min_entry); + reservoir_weights.push(std::make_pair(-r2, min_weighted_entry_index)); //! we update the min entry with the new min entry in the reservoir SetNextEntry(); } diff --git a/src/execution/window_executor.cpp b/src/execution/window_executor.cpp index 91d39183cfd9..d18166d02798 100644 --- a/src/execution/window_executor.cpp +++ b/src/execution/window_executor.cpp @@ -3,6 +3,8 @@ #include "duckdb/common/operator/add.hpp" #include "duckdb/common/operator/subtract.hpp" +#include "duckdb/common/array.hpp" + namespace duckdb { static idx_t FindNextStart(const ValidityMask &mask, idx_t l, const idx_t r, idx_t &n) { @@ -59,7 +61,8 @@ static idx_t FindPrevStart(const ValidityMask &mask, const idx_t l, idx_t r, idx // Loop backwards over the block // shift is probing r-1 >= l >= 0 - for (++shift; shift-- > 0; --r) { + for (++shift; shift-- > 0 && l < r; --r) { + // l < r ensures n == 1 if result is supposed to be NULL because of EXCLUDE if (mask.RowIsValid(block, shift) && --n == 0) { return MaxValue(l, r - 1); } @@ -252,6 +255,8 @@ static idx_t FindRangeBound(const WindowInputColumn &over, const idx_t order_beg return FindTypedRangeBound(over, order_begin, order_end, boundary, chunk_idx, prev); case PhysicalType::INT128: return FindTypedRangeBound(over, order_begin, order_end, boundary, chunk_idx, prev); + case PhysicalType::UINT128: + return FindTypedRangeBound(over, order_begin, order_end, boundary, chunk_idx, prev); case PhysicalType::FLOAT: return FindTypedRangeBound(over, order_begin, order_end, boundary, chunk_idx, prev); case PhysicalType::DOUBLE: @@ -544,7 +549,9 @@ WindowBoundariesState::WindowBoundariesState(BoundWindowExpression &wexpr, const partition_count(wexpr.partitions.size()), order_count(wexpr.orders.size()), range_sense(wexpr.orders.empty() ? OrderType::INVALID : wexpr.orders[0].type), has_preceding_range(HasPrecedingRange(wexpr)), has_following_range(HasFollowingRange(wexpr)), - needs_peer(BoundaryNeedsPeer(wexpr.end) || ExpressionNeedsPeer(wexpr.type)) { + // if we have EXCLUDE GROUP / TIES, we also need peer boundaries + needs_peer(BoundaryNeedsPeer(wexpr.end) || ExpressionNeedsPeer(wexpr.type) || + wexpr.exclude_clause >= WindowExcludeMode::GROUP) { } void WindowBoundariesState::Bounds(DataChunk &bounds, idx_t row_idx, const WindowInputColumn &range, const idx_t count, @@ -614,6 +621,134 @@ void WindowExecutorBoundsState::UpdateBounds(idx_t row_idx, DataChunk &input_chu state.Bounds(bounds, row_idx, range, count, boundary_start, boundary_end, partition_mask, order_mask); } +//===--------------------------------------------------------------------===// +// ExclusionFilter +//===--------------------------------------------------------------------===// + +//! Handles window exclusion by piggybacking on the filtering logic. +//! (needed for first_value, last_value, nth_value) +class ExclusionFilter { +public: + ExclusionFilter(const WindowExcludeMode exclude_mode_p, idx_t total_count, const ValidityMask &src) + : mode(exclude_mode_p), mask_src(src) { + mask.Initialize(total_count); + + // copy the data from mask_src + FetchFromSource(0, total_count); + } + + //! Copy the entries from mask_src to mask, in the index range [begin, end) + void FetchFromSource(idx_t begin, idx_t end); + //! Apply the current exclusion to the validity mask + //! (offset is the current row's index within the chunk) + void ApplyExclusion(DataChunk &bounds, idx_t row_idx, idx_t offset); + //! Reset the validity mask to match mask_src + //! (offset is the current row's index within the chunk) + void ResetMask(idx_t row_idx, idx_t offset); + + //! The current peer group's begin + idx_t curr_peer_begin; + //! The current peer group's end + idx_t curr_peer_end; + //! The window exclusion mode + WindowExcludeMode mode; + //! The validity mask representing the exclusion + ValidityMask mask; + //! The validity mask upon which mask is based + const ValidityMask &mask_src; + //! A validity mask consisting of only one entries (needed if no ignore_nulls mask is supplied) + ValidityMask all_ones_mask; +}; + +void ExclusionFilter::FetchFromSource(idx_t begin, idx_t end) { + idx_t begin_entry_idx; + idx_t end_entry_idx; + idx_t idx_in_entry; + mask.GetEntryIndex(begin, begin_entry_idx, idx_in_entry); + mask.GetEntryIndex(end - 1, end_entry_idx, idx_in_entry); + auto dst = mask.GetData() + begin_entry_idx; + for (idx_t entry_idx = begin_entry_idx; entry_idx <= end_entry_idx; ++entry_idx) { + *dst++ = mask_src.GetValidityEntry(entry_idx); + } +} + +void ExclusionFilter::ApplyExclusion(DataChunk &bounds, idx_t row_idx, idx_t offset) { + // flip the bits in mask according to the window exclusion mode + switch (mode) { + case WindowExcludeMode::CURRENT_ROW: + mask.SetInvalid(row_idx); + break; + case WindowExcludeMode::TIES: + case WindowExcludeMode::GROUP: { + if (curr_peer_end == row_idx || offset == 0) { + // new peer group or input chunk: set entire peer group to invalid + auto peer_begin = FlatVector::GetData(bounds.data[PEER_BEGIN]); + auto peer_end = FlatVector::GetData(bounds.data[PEER_END]); + curr_peer_begin = peer_begin[offset]; + curr_peer_end = peer_end[offset]; + for (idx_t i = curr_peer_begin; i < curr_peer_end; i++) { + mask.SetInvalid(i); + } + } + if (mode == WindowExcludeMode::TIES) { + mask.Set(row_idx, mask_src.RowIsValid(row_idx)); + } + break; + } + default: + break; + } +} + +void ExclusionFilter::ResetMask(idx_t row_idx, idx_t offset) { + // flip the bits that were modified in ApplyExclusion back + switch (mode) { + case WindowExcludeMode::CURRENT_ROW: + mask.Set(row_idx, mask_src.RowIsValid(row_idx)); + break; + case WindowExcludeMode::TIES: + mask.SetInvalid(row_idx); + DUCKDB_EXPLICIT_FALLTHROUGH; + case WindowExcludeMode::GROUP: + if (curr_peer_end == row_idx + 1) { + // if we've reached the peer group's end, restore the entire peer group + FetchFromSource(curr_peer_begin, curr_peer_end); + } + break; + default: + break; + } +} + +//===--------------------------------------------------------------------===// +// WindowValueState +//===--------------------------------------------------------------------===// + +//! A class representing the state of the first_value, last_value and nth_value functions +class WindowValueState : public WindowExecutorBoundsState { +public: + WindowValueState(BoundWindowExpression &wexpr, ClientContext &context, const idx_t count, + const ValidityMask &partition_mask_p, const ValidityMask &order_mask_p, + const ValidityMask &ignore_nulls) + : WindowExecutorBoundsState(wexpr, context, count, partition_mask_p, order_mask_p) + + { + if (wexpr.exclude_clause == WindowExcludeMode::NO_OTHER) { + exclusion_filter = nullptr; + ignore_nulls_exclude = &ignore_nulls; + } else { + // create the exclusion filter based on ignore_nulls + exclusion_filter = make_uniq(wexpr.exclude_clause, count, ignore_nulls); + ignore_nulls_exclude = &exclusion_filter->mask; + } + } + + //! The exclusion filter handling exclusion + unique_ptr exclusion_filter; + //! The validity mask that combines both the NULLs and exclusion information + const ValidityMask *ignore_nulls_exclude; +}; + //===--------------------------------------------------------------------===// // WindowExecutor //===--------------------------------------------------------------------===// @@ -663,6 +798,10 @@ bool WindowAggregateExecutor::IsConstantAggregate() { if (!wexpr.aggregate) { return false; } + // window exclusion cannot be handled by constant aggregates + if (wexpr.exclude_clause != WindowExcludeMode::NO_OTHER) { + return false; + } // COUNT(*) is already handled efficiently by segment trees. if (wexpr.children.empty()) { @@ -713,6 +852,14 @@ bool WindowAggregateExecutor::IsConstantAggregate() { return true; } +bool WindowAggregateExecutor::IsDistinctAggregate() { + if (!wexpr.aggregate) { + return false; + } + + return wexpr.distinct; +} + bool WindowAggregateExecutor::IsCustomAggregate() { if (!wexpr.aggregate) { return false; @@ -740,18 +887,26 @@ WindowAggregateExecutor::WindowAggregateExecutor(BoundWindowExpression &wexpr, C const idx_t count, const ValidityMask &partition_mask, const ValidityMask &order_mask, WindowAggregationMode mode) : WindowExecutor(wexpr, context, count, partition_mask, order_mask), mode(mode), filter_executor(context) { - // TODO we could evaluate those expressions in parallel - // Check for constant aggregate - if (IsConstantAggregate()) { + // Force naive for SEPARATE mode or for (currently!) unsupported functionality + const auto force_naive = + !ClientConfig::GetConfig(context).enable_optimizer || mode == WindowAggregationMode::SEPARATE; + AggregateObject aggr(wexpr); + if (force_naive || (wexpr.distinct && wexpr.exclude_clause != WindowExcludeMode::NO_OTHER)) { + aggregator = make_uniq(aggr, wexpr.return_type, wexpr.exclude_clause, count); + } else if (IsDistinctAggregate()) { + // build a merge sort tree + // see https://dl.acm.org/doi/pdf/10.1145/3514221.3526184 + aggregator = make_uniq(aggr, wexpr.return_type, wexpr.exclude_clause, count, context); + } else if (IsConstantAggregate()) { aggregator = - make_uniq(AggregateObject(wexpr), wexpr.return_type, partition_mask, count); + make_uniq(aggr, wexpr.return_type, partition_mask, wexpr.exclude_clause, count); } else if (IsCustomAggregate()) { - aggregator = make_uniq(AggregateObject(wexpr), wexpr.return_type, count); - } else if (wexpr.aggregate) { + aggregator = make_uniq(aggr, wexpr.return_type, wexpr.exclude_clause, count); + } else { // build a segment tree for frame-adhering aggregates // see http://www.vldb.org/pvldb/vol8/p1058-leis.pdf - aggregator = make_uniq(AggregateObject(wexpr), wexpr.return_type, count, mode); + aggregator = make_uniq(aggr, wexpr.return_type, mode, wexpr.exclude_clause, count); } // evaluate the FILTER clause and stuff it into a large mask for compactness and reuse @@ -762,6 +917,7 @@ WindowAggregateExecutor::WindowAggregateExecutor(BoundWindowExpression &wexpr, C } void WindowAggregateExecutor::Sink(DataChunk &input_chunk, const idx_t input_idx, const idx_t total_count) { + // TODO we could evaluate those expressions in parallel idx_t filtered = 0; SelectionVector *filtering = nullptr; if (wexpr.filter_expr) { @@ -786,7 +942,77 @@ void WindowAggregateExecutor::Sink(DataChunk &input_chunk, const idx_t input_idx void WindowAggregateExecutor::Finalize() { D_ASSERT(aggregator); - aggregator->Finalize(); + + // Estimate the frame statistics + // Default to the entire partition if we don't know anything + FrameStats stats; + const int64_t count = aggregator->GetInputs().size(); + + // First entry is the frame start + stats[0] = FrameDelta(-count, count); + auto base = wexpr.expr_stats.empty() ? nullptr : wexpr.expr_stats[0].get(); + switch (wexpr.start) { + case WindowBoundary::UNBOUNDED_PRECEDING: + stats[0].end = 0; + break; + case WindowBoundary::CURRENT_ROW_ROWS: + stats[0].begin = stats[0].end = 0; + break; + case WindowBoundary::EXPR_PRECEDING_ROWS: + if (base && base->GetStatsType() == StatisticsType::NUMERIC_STATS && NumericStats::HasMinMax(*base)) { + // Preceding so negative offset from current row + stats[0].begin = -NumericStats::GetMax(*base); + stats[0].end = -NumericStats::GetMin(*base) + 1; + } + break; + case WindowBoundary::EXPR_FOLLOWING_ROWS: + if (base && base->GetStatsType() == StatisticsType::NUMERIC_STATS && NumericStats::HasMinMax(*base)) { + stats[0].begin = NumericStats::GetMin(*base); + stats[0].end = NumericStats::GetMax(*base) + 1; + } + break; + + case WindowBoundary::CURRENT_ROW_RANGE: + case WindowBoundary::EXPR_PRECEDING_RANGE: + case WindowBoundary::EXPR_FOLLOWING_RANGE: + break; + default: + throw InternalException("Unsupported window start boundary"); + } + + // Second entry is the frame end + stats[1] = FrameDelta(-count, count); + base = wexpr.expr_stats.empty() ? nullptr : wexpr.expr_stats[1].get(); + switch (wexpr.end) { + case WindowBoundary::UNBOUNDED_FOLLOWING: + stats[1].begin = 0; + break; + case WindowBoundary::CURRENT_ROW_ROWS: + stats[1].begin = stats[1].end = 0; + break; + case WindowBoundary::EXPR_PRECEDING_ROWS: + if (base && base->GetStatsType() == StatisticsType::NUMERIC_STATS && NumericStats::HasMinMax(*base)) { + // Preceding so negative offset from current row + stats[1].begin = -NumericStats::GetMax(*base); + stats[1].end = -NumericStats::GetMin(*base) + 1; + } + break; + case WindowBoundary::EXPR_FOLLOWING_ROWS: + if (base && base->GetStatsType() == StatisticsType::NUMERIC_STATS && NumericStats::HasMinMax(*base)) { + stats[1].begin = NumericStats::GetMin(*base); + stats[1].end = NumericStats::GetMax(*base) + 1; + } + break; + + case WindowBoundary::CURRENT_ROW_RANGE: + case WindowBoundary::EXPR_PRECEDING_RANGE: + case WindowBoundary::EXPR_FOLLOWING_RANGE: + break; + default: + throw InternalException("Unsupported window end boundary"); + } + + aggregator->Finalize(stats); } class WindowAggregateState : public WindowExecutorBoundsState { @@ -799,22 +1025,25 @@ class WindowAggregateState : public WindowExecutorBoundsState { } public: + // state of aggregator unique_ptr aggregator_state; void NextRank(idx_t partition_begin, idx_t peer_begin, idx_t row_idx); }; unique_ptr WindowAggregateExecutor::GetExecutorState() const { - return make_uniq(wexpr, context, payload_count, partition_mask, order_mask, *aggregator); + auto res = make_uniq(wexpr, context, payload_count, partition_mask, order_mask, *aggregator); + return std::move(res); } void WindowAggregateExecutor::EvaluateInternal(WindowExecutorState &lstate, Vector &result, idx_t count, idx_t row_idx) const { auto &lastate = lstate.Cast(); D_ASSERT(aggregator); - auto window_begin = FlatVector::GetData(lastate.bounds.data[WINDOW_BEGIN]); - auto window_end = FlatVector::GetData(lastate.bounds.data[WINDOW_END]); - aggregator->Evaluate(*lastate.aggregator_state, window_begin, window_end, result, count); + + auto &agg_state = *lastate.aggregator_state; + + aggregator->Evaluate(agg_state, lastate.bounds, result, count, row_idx); } //===--------------------------------------------------------------------===// @@ -1081,6 +1310,15 @@ void WindowValueExecutor::Sink(DataChunk &input_chunk, const idx_t input_idx, co WindowExecutor::Sink(input_chunk, input_idx, total_count); } +unique_ptr WindowValueExecutor::GetExecutorState() const { + if (wexpr.type == ExpressionType::WINDOW_FIRST_VALUE || wexpr.type == ExpressionType::WINDOW_LAST_VALUE || + wexpr.type == ExpressionType::WINDOW_NTH_VALUE) { + return make_uniq(wexpr, context, payload_count, partition_mask, order_mask, ignore_nulls); + } else { + return make_uniq(wexpr, context, payload_count, partition_mask, order_mask); + } +} + void WindowNtileExecutor::EvaluateInternal(WindowExecutorState &lstate, Vector &result, idx_t count, idx_t row_idx) const { D_ASSERT(payload_collection.ColumnCount() == 1); @@ -1210,22 +1448,31 @@ WindowFirstValueExecutor::WindowFirstValueExecutor(BoundWindowExpression &wexpr, void WindowFirstValueExecutor::EvaluateInternal(WindowExecutorState &lstate, Vector &result, idx_t count, idx_t row_idx) const { - auto &lbstate = lstate.Cast(); - auto window_begin = FlatVector::GetData(lbstate.bounds.data[WINDOW_BEGIN]); - auto window_end = FlatVector::GetData(lbstate.bounds.data[WINDOW_END]); + auto &lvstate = lstate.Cast(); + auto window_begin = FlatVector::GetData(lvstate.bounds.data[WINDOW_BEGIN]); + auto window_end = FlatVector::GetData(lvstate.bounds.data[WINDOW_END]); for (idx_t i = 0; i < count; ++i, ++row_idx) { + + if (lvstate.exclusion_filter) { + lvstate.exclusion_filter->ApplyExclusion(lvstate.bounds, row_idx, i); + } + if (window_begin[i] >= window_end[i]) { FlatVector::SetNull(result, i, true); continue; } // Same as NTH_VALUE(..., 1) idx_t n = 1; - const auto first_idx = FindNextStart(ignore_nulls, window_begin[i], window_end[i], n); + const auto first_idx = FindNextStart(*lvstate.ignore_nulls_exclude, window_begin[i], window_end[i], n); if (!n) { CopyCell(payload_collection, 0, first_idx, result, i); } else { FlatVector::SetNull(result, i, true); } + + if (lvstate.exclusion_filter) { + lvstate.exclusion_filter->ResetMask(row_idx, i); + } } } @@ -1237,21 +1484,30 @@ WindowLastValueExecutor::WindowLastValueExecutor(BoundWindowExpression &wexpr, C void WindowLastValueExecutor::EvaluateInternal(WindowExecutorState &lstate, Vector &result, idx_t count, idx_t row_idx) const { - auto &lbstate = lstate.Cast(); - auto window_begin = FlatVector::GetData(lbstate.bounds.data[WINDOW_BEGIN]); - auto window_end = FlatVector::GetData(lbstate.bounds.data[WINDOW_END]); + auto &lvstate = lstate.Cast(); + auto window_begin = FlatVector::GetData(lvstate.bounds.data[WINDOW_BEGIN]); + auto window_end = FlatVector::GetData(lvstate.bounds.data[WINDOW_END]); for (idx_t i = 0; i < count; ++i, ++row_idx) { + + if (lvstate.exclusion_filter) { + lvstate.exclusion_filter->ApplyExclusion(lvstate.bounds, row_idx, i); + } + if (window_begin[i] >= window_end[i]) { FlatVector::SetNull(result, i, true); continue; } idx_t n = 1; - const auto last_idx = FindPrevStart(ignore_nulls, window_begin[i], window_end[i], n); + const auto last_idx = FindPrevStart(*lvstate.ignore_nulls_exclude, window_begin[i], window_end[i], n); if (!n) { CopyCell(payload_collection, 0, last_idx, result, i); } else { FlatVector::SetNull(result, i, true); } + + if (lvstate.exclusion_filter) { + lvstate.exclusion_filter->ResetMask(row_idx, i); + } } } @@ -1265,10 +1521,15 @@ void WindowNthValueExecutor::EvaluateInternal(WindowExecutorState &lstate, Vecto idx_t row_idx) const { D_ASSERT(payload_collection.ColumnCount() == 2); - auto &lbstate = lstate.Cast(); - auto window_begin = FlatVector::GetData(lbstate.bounds.data[WINDOW_BEGIN]); - auto window_end = FlatVector::GetData(lbstate.bounds.data[WINDOW_END]); + auto &lvstate = lstate.Cast(); + auto window_begin = FlatVector::GetData(lvstate.bounds.data[WINDOW_BEGIN]); + auto window_end = FlatVector::GetData(lvstate.bounds.data[WINDOW_END]); for (idx_t i = 0; i < count; ++i, ++row_idx) { + + if (lvstate.exclusion_filter) { + lvstate.exclusion_filter->ApplyExclusion(lvstate.bounds, row_idx, i); + } + if (window_begin[i] >= window_end[i]) { FlatVector::SetNull(result, i, true); continue; @@ -1283,7 +1544,7 @@ void WindowNthValueExecutor::EvaluateInternal(WindowExecutorState &lstate, Vecto FlatVector::SetNull(result, i, true); } else { auto n = idx_t(n_param); - const auto nth_index = FindNextStart(ignore_nulls, window_begin[i], window_end[i], n); + const auto nth_index = FindNextStart(*lvstate.ignore_nulls_exclude, window_begin[i], window_end[i], n); if (!n) { CopyCell(payload_collection, 0, nth_index, result, i); } else { @@ -1291,6 +1552,10 @@ void WindowNthValueExecutor::EvaluateInternal(WindowExecutorState &lstate, Vecto } } } + + if (lvstate.exclusion_filter) { + lvstate.exclusion_filter->ResetMask(row_idx, i); + } } } diff --git a/src/execution/window_segment_tree.cpp b/src/execution/window_segment_tree.cpp index 2a66399c9e4a..95c0e5ab1b46 100644 --- a/src/execution/window_segment_tree.cpp +++ b/src/execution/window_segment_tree.cpp @@ -3,7 +3,11 @@ #include "duckdb/common/algorithm.hpp" #include "duckdb/common/helper.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" +#include "duckdb/execution/merge_sort_tree.hpp" +#include "duckdb/planner/expression/bound_constant_expression.hpp" +#include "duckdb/execution/window_executor.hpp" +#include #include namespace duckdb { @@ -14,9 +18,10 @@ namespace duckdb { WindowAggregatorState::WindowAggregatorState() : allocator(Allocator::DefaultAllocator()) { } -WindowAggregator::WindowAggregator(AggregateObject aggr, const LogicalType &result_type_p, idx_t partition_count_p) +WindowAggregator::WindowAggregator(AggregateObject aggr, const LogicalType &result_type_p, + const WindowExcludeMode exclude_mode_p, idx_t partition_count_p) : aggr(std::move(aggr)), result_type(result_type_p), partition_count(partition_count_p), - state_size(aggr.function.state_size()), filter_pos(0) { + state_size(aggr.function.state_size()), filter_pos(0), exclude_mode(exclude_mode_p) { } WindowAggregator::~WindowAggregator() { @@ -43,15 +48,16 @@ void WindowAggregator::Sink(DataChunk &payload_chunk, SelectionVector *filter_se } } -void WindowAggregator::Finalize() { +void WindowAggregator::Finalize(const FrameStats &stats) { } //===--------------------------------------------------------------------===// // WindowConstantAggregate //===--------------------------------------------------------------------===// WindowConstantAggregator::WindowConstantAggregator(AggregateObject aggr, const LogicalType &result_type, - const ValidityMask &partition_mask, const idx_t count) - : WindowAggregator(std::move(aggr), result_type, count), partition(0), row(0), state(state_size), + const ValidityMask &partition_mask, + const WindowExcludeMode exclude_mode_p, const idx_t count) + : WindowAggregator(std::move(aggr), result_type, exclude_mode_p, count), partition(0), row(0), state(state_size), statep(Value::POINTER(CastPointerToValue(state.data()))), statef(Value::POINTER(CastPointerToValue(state.data()))) { @@ -180,7 +186,7 @@ void WindowConstantAggregator::Sink(DataChunk &payload_chunk, SelectionVector *f } } -void WindowConstantAggregator::Finalize() { +void WindowConstantAggregator::Finalize(const FrameStats &stats) { AggegateFinal(*results, partition++); } @@ -203,8 +209,9 @@ unique_ptr WindowConstantAggregator::GetLocalState() cons return make_uniq(); } -void WindowConstantAggregator::Evaluate(WindowAggregatorState &lstate, const idx_t *begins, const idx_t *ends, - Vector &target, idx_t count) const { +void WindowConstantAggregator::Evaluate(WindowAggregatorState &lstate, const DataChunk &bounds, Vector &target, + idx_t count, idx_t row_idx) const { + auto begins = FlatVector::GetData(bounds.data[WINDOW_BEGIN]); // Chunk up the constants and copy them one at a time auto &lcstate = lstate.Cast(); idx_t matched = 0; @@ -234,8 +241,9 @@ void WindowConstantAggregator::Evaluate(WindowAggregatorState &lstate, const idx //===--------------------------------------------------------------------===// // WindowCustomAggregator //===--------------------------------------------------------------------===// -WindowCustomAggregator::WindowCustomAggregator(AggregateObject aggr, const LogicalType &result_type, idx_t count) - : WindowAggregator(std::move(aggr), result_type, count) { +WindowCustomAggregator::WindowCustomAggregator(AggregateObject aggr, const LogicalType &result_type, + const WindowExcludeMode exclude_mode_p, idx_t count) + : WindowAggregator(std::move(aggr), result_type, exclude_mode_p, count) { } WindowCustomAggregator::~WindowCustomAggregator() { @@ -243,27 +251,45 @@ WindowCustomAggregator::~WindowCustomAggregator() { class WindowCustomAggregatorState : public WindowAggregatorState { public: - explicit WindowCustomAggregatorState(const AggregateObject &aggr, DataChunk &inputs); + WindowCustomAggregatorState(const AggregateObject &aggr, const WindowExcludeMode exclude_mode); ~WindowCustomAggregatorState() override; public: //! The aggregate function const AggregateObject &aggr; - //! The aggregate function - DataChunk &inputs; //! Data pointer that contains a single state, shared by all the custom evaluators vector state; //! Reused result state container for the window functions Vector statef; //! The frame boundaries, used for the window functions - FrameBounds frame; + SubFrames frames; }; -WindowCustomAggregatorState::WindowCustomAggregatorState(const AggregateObject &aggr, DataChunk &inputs) - : aggr(aggr), inputs(inputs), state(aggr.function.state_size()), - statef(Value::POINTER(CastPointerToValue(state.data()))), frame(0, 0) { +static void InitSubFrames(SubFrames &frames, const WindowExcludeMode exclude_mode) { + idx_t nframes = 0; + switch (exclude_mode) { + case WindowExcludeMode::NO_OTHER: + nframes = 1; + break; + case WindowExcludeMode::TIES: + nframes = 3; + break; + case WindowExcludeMode::CURRENT_ROW: + case WindowExcludeMode::GROUP: + nframes = 2; + break; + } + frames.resize(nframes, {0, 0}); +} + +WindowCustomAggregatorState::WindowCustomAggregatorState(const AggregateObject &aggr, + const WindowExcludeMode exclude_mode) + : aggr(aggr), state(aggr.function.state_size()), statef(Value::POINTER(CastPointerToValue(state.data()))), + frames(3, {0, 0}) { // if we have a frame-by-frame method, share the single state aggr.function.initialize(state.data()); + + InitSubFrames(frames, exclude_mode); } WindowCustomAggregatorState::~WindowCustomAggregatorState() { @@ -273,45 +299,314 @@ WindowCustomAggregatorState::~WindowCustomAggregatorState() { } } +void WindowCustomAggregator::Finalize(const FrameStats &stats) { + WindowAggregator::Finalize(stats); + partition_input = + make_uniq(inputs.data.data(), inputs.ColumnCount(), inputs.size(), filter_mask, stats); + + if (aggr.function.window_init) { + gstate = GetLocalState(); + auto &gcstate = gstate->Cast(); + + AggregateInputData aggr_input_data(aggr.GetFunctionData(), gcstate.allocator); + aggr.function.window_init(aggr_input_data, *partition_input, gcstate.state.data()); + } +} + unique_ptr WindowCustomAggregator::GetLocalState() const { - return make_uniq(aggr, const_cast(inputs)); + return make_uniq(aggr, exclude_mode); } -void WindowCustomAggregator::Evaluate(WindowAggregatorState &lstate, const idx_t *begins, const idx_t *ends, - Vector &result, idx_t count) const { - // TODO: window should take a const Vector* - auto &lcstate = lstate.Cast(); - auto &frame = lcstate.frame; - auto params = lcstate.inputs.data.data(); - auto &rmask = FlatVector::Validity(result); - for (idx_t i = 0; i < count; ++i) { - const auto begin = begins[i]; - const auto end = ends[i]; - if (begin >= end) { - rmask.SetInvalid(i); - continue; +template +static void EvaluateSubFrames(const DataChunk &bounds, const WindowExcludeMode exclude_mode, idx_t count, idx_t row_idx, + SubFrames &frames, OP operation) { + auto begins = FlatVector::GetData(bounds.data[WINDOW_BEGIN]); + auto ends = FlatVector::GetData(bounds.data[WINDOW_END]); + auto peer_begin = FlatVector::GetData(bounds.data[PEER_BEGIN]); + auto peer_end = FlatVector::GetData(bounds.data[PEER_END]); + + for (idx_t i = 0, cur_row = row_idx; i < count; ++i, ++cur_row) { + idx_t nframes = 0; + if (exclude_mode == WindowExcludeMode::NO_OTHER) { + auto begin = begins[i]; + auto end = ends[i]; + frames[nframes++] = FrameBounds(begin, end); + } else { + // The frame_exclusion option allows rows around the current row to be excluded from the frame, + // even if they would be included according to the frame start and frame end options. + // EXCLUDE CURRENT ROW excludes the current row from the frame. + // EXCLUDE GROUP excludes the current row and its ordering peers from the frame. + // EXCLUDE TIES excludes any peers of the current row from the frame, but not the current row itself. + // EXCLUDE NO OTHERS simply specifies explicitly the default behavior + // of not excluding the current row or its peers. + // https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS + // + // For the sake of the client, we make some guarantees about the subframes: + // * They are in order left-to-right + // * They do not intersect + // * start <= end + // * The number is always the same + // + // Since we always have peer_begin <= cur_row < cur_row + 1 <= peer_end + // this is not too hard to arrange, but it may be that some subframes are contiguous, + // and some are empty. + + // WindowExcludePart::LEFT + auto begin = begins[i]; + auto end = (exclude_mode == WindowExcludeMode::CURRENT_ROW) ? cur_row : peer_begin[i]; + end = MaxValue(begin, end); + frames[nframes++] = FrameBounds(begin, end); + + // with EXCLUDE TIES, in addition to the frame part right of the peer group's end, + // we also need to consider the current row + if (exclude_mode == WindowExcludeMode::TIES) { + frames[nframes++] = FrameBounds(cur_row, cur_row + 1); + } + + // WindowExcludePart::RIGHT + end = ends[i]; + begin = (exclude_mode == WindowExcludeMode::CURRENT_ROW) ? (cur_row + 1) : peer_end[i]; + begin = MinValue(begin, end); + frames[nframes++] = FrameBounds(begin, end); } - // Frame boundaries - auto prev = frame; - frame = FrameBounds(begin, end); + operation(i); + } +} +void WindowCustomAggregator::Evaluate(WindowAggregatorState &lstate, const DataChunk &bounds, Vector &result, + idx_t count, idx_t row_idx) const { + auto &lcstate = lstate.Cast(); + auto &frames = lcstate.frames; + const_data_ptr_t gstate_p = nullptr; + if (gstate) { + auto &gcstate = gstate->Cast(); + gstate_p = gcstate.state.data(); + } + + EvaluateSubFrames(bounds, exclude_mode, count, row_idx, frames, [&](idx_t i) { // Extract the range AggregateInputData aggr_input_data(aggr.GetFunctionData(), lstate.allocator); - aggr.function.window(params, filter_mask, aggr_input_data, inputs.ColumnCount(), lcstate.state.data(), frame, - prev, result, i, 0); + aggr.function.window(aggr_input_data, *partition_input, gstate_p, lcstate.state.data(), frames, result, i); + }); +} + +//===--------------------------------------------------------------------===// +// WindowNaiveAggregator +//===--------------------------------------------------------------------===// +WindowNaiveAggregator::WindowNaiveAggregator(AggregateObject aggr, const LogicalType &result_type, + const WindowExcludeMode exclude_mode_p, idx_t partition_count) + : WindowAggregator(std::move(aggr), result_type, exclude_mode_p, partition_count) { +} + +WindowNaiveAggregator::~WindowNaiveAggregator() { +} + +class WindowNaiveState : public WindowAggregatorState { +public: + struct HashRow { + explicit HashRow(WindowNaiveState &state) : state(state) { + } + + size_t operator()(const idx_t &i) const { + return state.Hash(i); + } + + WindowNaiveState &state; + }; + + struct EqualRow { + explicit EqualRow(WindowNaiveState &state) : state(state) { + } + + bool operator()(const idx_t &lhs, const idx_t &rhs) const { + return state.KeyEqual(lhs, rhs); + } + + WindowNaiveState &state; + }; + + using RowSet = std::unordered_set; + + explicit WindowNaiveState(const WindowNaiveAggregator &gstate); + + void Evaluate(const DataChunk &bounds, Vector &result, idx_t count, idx_t row_idx); + +protected: + //! Flush the accumulated intermediate states into the result states + void FlushStates(); + + //! Hashes a value for the hash table + size_t Hash(idx_t rid); + //! Compares two values for the hash table + bool KeyEqual(const idx_t &lhs, const idx_t &rhs); + + //! The global state + const WindowNaiveAggregator &gstate; + //! Data pointer that contains a vector of states, used for row aggregation + vector state; + //! Reused result state container for the aggregate + Vector statef; + //! A vector of pointers to "state", used for buffering intermediate aggregates + Vector statep; + //! Input data chunk, used for leaf segment aggregation + DataChunk leaves; + //! The rows beging updated. + SelectionVector update_sel; + //! Count of buffered values + idx_t flush_count; + //! The frame boundaries, used for EXCLUDE + SubFrames frames; + //! The optional hash table used for DISTINCT + Vector hashes; + HashRow hash_row; + EqualRow equal_row; + RowSet row_set; +}; + +WindowNaiveState::WindowNaiveState(const WindowNaiveAggregator &gstate) + : gstate(gstate), state(gstate.state_size * STANDARD_VECTOR_SIZE), statef(LogicalType::POINTER), + statep((LogicalType::POINTER)), flush_count(0), hashes(LogicalType::HASH), hash_row(*this), equal_row(*this), + row_set(STANDARD_VECTOR_SIZE, hash_row, equal_row) { + InitSubFrames(frames, gstate.exclude_mode); + + auto &inputs = const_cast(gstate.GetInputs()); + if (inputs.ColumnCount() > 0) { + leaves.Initialize(Allocator::DefaultAllocator(), inputs.GetTypes()); + } + + update_sel.Initialize(); + + // Build the finalise vector that just points to the result states + data_ptr_t state_ptr = state.data(); + D_ASSERT(statef.GetVectorType() == VectorType::FLAT_VECTOR); + statef.SetVectorType(VectorType::CONSTANT_VECTOR); + statef.Flatten(STANDARD_VECTOR_SIZE); + auto fdata = FlatVector::GetData(statef); + for (idx_t i = 0; i < STANDARD_VECTOR_SIZE; ++i) { + fdata[i] = state_ptr; + state_ptr += gstate.state_size; } } +void WindowNaiveState::FlushStates() { + if (!flush_count) { + return; + } + + auto &inputs = const_cast(gstate.GetInputs()); + leaves.Reference(inputs); + leaves.Slice(update_sel, flush_count); + + auto &aggr = gstate.aggr; + AggregateInputData aggr_input_data(aggr.GetFunctionData(), allocator); + aggr.function.update(leaves.data.data(), aggr_input_data, leaves.ColumnCount(), statep, flush_count); + + flush_count = 0; +} + +size_t WindowNaiveState::Hash(idx_t rid) { + auto &inputs = const_cast(gstate.GetInputs()); + leaves.Reference(inputs); + + sel_t s = rid; + SelectionVector sel(&s); + leaves.Slice(sel, 1); + leaves.Hash(hashes); + + return *FlatVector::GetData(hashes); +} + +bool WindowNaiveState::KeyEqual(const idx_t &lhs, const idx_t &rhs) { + auto &inputs = const_cast(gstate.GetInputs()); + + sel_t l = lhs; + SelectionVector lsel(&l); + + sel_t r = rhs; + SelectionVector rsel(&r); + + sel_t f = 0; + SelectionVector fsel(&f); + + for (auto &input : inputs.data) { + Vector left(input, lsel, 1); + Vector right(input, rsel, 1); + if (!VectorOperations::NotDistinctFrom(left, right, nullptr, 1, nullptr, &fsel)) { + return false; + } + } + + return true; +} + +void WindowNaiveState::Evaluate(const DataChunk &bounds, Vector &result, idx_t count, idx_t row_idx) { + auto &aggr = gstate.aggr; + auto &filter_mask = gstate.GetFilterMask(); + + auto fdata = FlatVector::GetData(statef); + auto pdata = FlatVector::GetData(statep); + + EvaluateSubFrames(bounds, gstate.exclude_mode, count, row_idx, frames, [&](idx_t rid) { + auto agg_state = fdata[rid]; + aggr.function.initialize(agg_state); + + // Just update the aggregate with the unfiltered input rows + row_set.clear(); + for (const auto &frame : frames) { + for (auto f = frame.start; f < frame.end; ++f) { + if (!filter_mask.RowIsValid(f)) { + continue; + } + + // Filter out duplicates + if (aggr.IsDistinct() && !row_set.insert(f).second) { + continue; + } + + pdata[flush_count] = agg_state; + update_sel[flush_count++] = f; + if (flush_count >= STANDARD_VECTOR_SIZE) { + FlushStates(); + } + } + } + }); + + // Flush the final states + FlushStates(); + + // Finalise the result aggregates and write to the result + AggregateInputData aggr_input_data(aggr.GetFunctionData(), allocator); + aggr.function.finalize(statef, aggr_input_data, result, count, 0); + + // Destruct the result aggregates + if (aggr.function.destructor) { + aggr.function.destructor(statef, aggr_input_data, count); + } +} + +unique_ptr WindowNaiveAggregator::GetLocalState() const { + return make_uniq(*this); +} + +void WindowNaiveAggregator::Evaluate(WindowAggregatorState &lstate, const DataChunk &bounds, Vector &result, + idx_t count, idx_t row_idx) const { + auto &ldstate = lstate.Cast(); + ldstate.Evaluate(bounds, result, count, row_idx); +} + //===--------------------------------------------------------------------===// // WindowSegmentTree //===--------------------------------------------------------------------===// -WindowSegmentTree::WindowSegmentTree(AggregateObject aggr, const LogicalType &result_type, idx_t count, - WindowAggregationMode mode_p) - : WindowAggregator(std::move(aggr), result_type, count), internal_nodes(0), mode(mode_p) { +WindowSegmentTree::WindowSegmentTree(AggregateObject aggr, const LogicalType &result_type, WindowAggregationMode mode_p, + const WindowExcludeMode exclude_mode_p, idx_t count) + : WindowAggregator(std::move(aggr), result_type, exclude_mode_p, count), internal_nodes(0), mode(mode_p) { } -void WindowSegmentTree::Finalize() { +void WindowSegmentTree::Finalize(const FrameStats &stats) { + WindowAggregator::Finalize(stats); + gstate = GetLocalState(); if (inputs.ColumnCount() > 0) { if (aggr.function.combine && UseCombineAPI()) { @@ -342,27 +637,56 @@ WindowSegmentTree::~WindowSegmentTree() { } } -class WindowSegmentTreeState : public WindowAggregatorState { +class WindowSegmentTreePart { public: - WindowSegmentTreeState(const AggregateObject &aggr, DataChunk &inputs, const ValidityMask &filter_mask); - ~WindowSegmentTreeState() override; + //! Right side nodes need to be cached and processed in reverse order + using RightEntry = std::pair; + + enum FramePart : uint8_t { FULL = 0, LEFT = 1, RIGHT = 2 }; + + WindowSegmentTreePart(ArenaAllocator &allocator, const AggregateObject &aggr, DataChunk &inputs, + const ValidityMask &filter_mask); + ~WindowSegmentTreePart(); + + unique_ptr Copy() const { + return make_uniq(allocator, aggr, inputs, filter_mask); + } void FlushStates(bool combining); void ExtractFrame(idx_t begin, idx_t end, data_ptr_t current_state); void WindowSegmentValue(const WindowSegmentTree &tree, idx_t l_idx, idx_t begin, idx_t end, data_ptr_t current_state); + //! Writes result and calls destructors void Finalize(Vector &result, idx_t count); + void Combine(WindowSegmentTreePart &other, idx_t count); + + void Evaluate(const WindowSegmentTree &tree, const idx_t *begins, const idx_t *ends, Vector &result, idx_t count, + idx_t row_idx, FramePart frame_part); + +protected: + //! Initialises the accumulation state vector (statef) + void Initialize(idx_t count); + //! Accumulate upper tree levels + void EvaluateUpperLevels(const WindowSegmentTree &tree, const idx_t *begins, const idx_t *ends, idx_t count, + idx_t row_idx, FramePart frame_part); + void EvaluateLeaves(const WindowSegmentTree &tree, const idx_t *begins, const idx_t *ends, idx_t count, + idx_t row_idx, FramePart frame_part, FramePart leaf_part); + public: + //! Allocator for aggregates + ArenaAllocator &allocator; //! The aggregate function const AggregateObject &aggr; - //! The aggregate function + //! Order insensitive aggregate (we can optimise internal combines) + const bool order_insensitive; + //! The partition arguments DataChunk &inputs; //! The filtered rows in inputs const ValidityMask &filter_mask; //! The size of a single aggregate state const idx_t state_size; - //! Data pointer that contains a single state, used for intermediate window segment aggregation + //! Data pointer that contains a vector of states, used for intermediate window segment aggregation vector state; //! Input data chunk, used for leaf segment aggregation DataChunk leaves; @@ -376,13 +700,34 @@ class WindowSegmentTreeState : public WindowAggregatorState { Vector statef; //! Count of buffered values idx_t flush_count; + //! Cache of right side tree ranges for ordered aggregates + vector right_stack; }; -WindowSegmentTreeState::WindowSegmentTreeState(const AggregateObject &aggr, DataChunk &inputs, - const ValidityMask &filter_mask) - : aggr(aggr), inputs(inputs), filter_mask(filter_mask), state_size(aggr.function.state_size()), - state(state_size * STANDARD_VECTOR_SIZE), statep(LogicalType::POINTER), statel(LogicalType::POINTER), - statef(LogicalType::POINTER), flush_count(0) { +class WindowSegmentTreeState : public WindowAggregatorState { +public: + WindowSegmentTreeState(const AggregateObject &aggr, DataChunk &inputs, const ValidityMask &filter_mask) + : aggr(aggr), inputs(inputs), filter_mask(filter_mask), part(allocator, aggr, inputs, filter_mask) { + } + + //! The aggregate function + const AggregateObject &aggr; + //! The aggregate function + DataChunk &inputs; + //! The filtered rows in inputs + const ValidityMask &filter_mask; + //! The left (default) segment tree part + WindowSegmentTreePart part; + //! The right segment tree part (for EXCLUDE) + unique_ptr right_part; +}; + +WindowSegmentTreePart::WindowSegmentTreePart(ArenaAllocator &allocator, const AggregateObject &aggr, DataChunk &inputs, + const ValidityMask &filter_mask) + : allocator(allocator), aggr(aggr), + order_insensitive(aggr.function.order_dependent == AggregateOrderDependent::NOT_ORDER_DEPENDENT), inputs(inputs), + filter_mask(filter_mask), state_size(aggr.function.state_size()), state(state_size * STANDARD_VECTOR_SIZE), + statep(LogicalType::POINTER), statel(LogicalType::POINTER), statef(LogicalType::POINTER), flush_count(0) { if (inputs.ColumnCount() > 0) { leaves.Initialize(Allocator::DefaultAllocator(), inputs.GetTypes()); filter_sel.Initialize(); @@ -400,14 +745,14 @@ WindowSegmentTreeState::WindowSegmentTreeState(const AggregateObject &aggr, Data } } -WindowSegmentTreeState::~WindowSegmentTreeState() { +WindowSegmentTreePart::~WindowSegmentTreePart() { } unique_ptr WindowSegmentTree::GetLocalState() const { return make_uniq(aggr, const_cast(inputs), filter_mask); } -void WindowSegmentTreeState::FlushStates(bool combining) { +void WindowSegmentTreePart::FlushStates(bool combining) { if (!flush_count) { return; } @@ -425,7 +770,12 @@ void WindowSegmentTreeState::FlushStates(bool combining) { flush_count = 0; } -void WindowSegmentTreeState::ExtractFrame(idx_t begin, idx_t end, data_ptr_t state_ptr) { +void WindowSegmentTreePart::Combine(WindowSegmentTreePart &other, idx_t count) { + AggregateInputData aggr_input_data(aggr.GetFunctionData(), allocator); + aggr.function.combine(other.statef, statef, aggr_input_data, count); +} + +void WindowSegmentTreePart::ExtractFrame(idx_t begin, idx_t end, data_ptr_t state_ptr) { const auto count = end - begin; // If we are not filtering, @@ -453,8 +803,8 @@ void WindowSegmentTreeState::ExtractFrame(idx_t begin, idx_t end, data_ptr_t sta } } -void WindowSegmentTreeState::WindowSegmentValue(const WindowSegmentTree &tree, idx_t l_idx, idx_t begin, idx_t end, - data_ptr_t state_ptr) { +void WindowSegmentTreePart::WindowSegmentValue(const WindowSegmentTree &tree, idx_t l_idx, idx_t begin, idx_t end, + data_ptr_t state_ptr) { D_ASSERT(begin <= end); if (begin == end || inputs.ColumnCount() == 0) { return; @@ -479,8 +829,8 @@ void WindowSegmentTreeState::WindowSegmentValue(const WindowSegmentTree &tree, i } } } -void WindowSegmentTreeState::Finalize(Vector &result, idx_t count) { - // Finalise the result aggregates +void WindowSegmentTreePart::Finalize(Vector &result, idx_t count) { + // Finalise the result aggregates and write to result if write_result is set AggregateInputData aggr_input_data(aggr.GetFunctionData(), allocator); aggr.function.finalize(statef, aggr_input_data, result, count, 0); @@ -494,7 +844,7 @@ void WindowSegmentTree::ConstructTree() { D_ASSERT(inputs.ColumnCount() > 0); // Use a temporary scan state to build the tree - auto >state = gstate->Cast(); + auto >state = gstate->Cast().part; // compute space required to store internal nodes of segment tree internal_nodes = 0; @@ -533,51 +883,110 @@ void WindowSegmentTree::ConstructTree() { } } -void WindowSegmentTree::Evaluate(WindowAggregatorState &lstate, const idx_t *begins, const idx_t *ends, Vector &result, - idx_t count) const { +void WindowSegmentTree::Evaluate(WindowAggregatorState &lstate, const DataChunk &bounds, Vector &result, idx_t count, + idx_t row_idx) const { + auto <state = lstate.Cast(); - const auto cant_combine = (!aggr.function.combine || !UseCombineAPI()); - auto fdata = FlatVector::GetData(ltstate.statef); + auto window_begin = FlatVector::GetData(bounds.data[WINDOW_BEGIN]); + auto window_end = FlatVector::GetData(bounds.data[WINDOW_END]); + auto peer_begin = FlatVector::GetData(bounds.data[PEER_BEGIN]); + auto peer_end = FlatVector::GetData(bounds.data[PEER_END]); + + auto &part = ltstate.part; + if (exclude_mode != WindowExcludeMode::NO_OTHER) { + // 1. evaluate the tree left of the excluded part + part.Evaluate(*this, window_begin, peer_begin, result, count, row_idx, WindowSegmentTreePart::LEFT); + + // 2. set up a second state for the right of the excluded part + if (!ltstate.right_part) { + ltstate.right_part = part.Copy(); + } + auto &right_part = *ltstate.right_part; + + // 3. evaluate the tree right of the excluded part + right_part.Evaluate(*this, peer_end, window_end, result, count, row_idx, WindowSegmentTreePart::RIGHT); + + // 4. combine the buffer state into the Segment Tree State + part.Combine(right_part, count); + } else { + part.Evaluate(*this, window_begin, window_end, result, count, row_idx, WindowSegmentTreePart::FULL); + } + + part.Finalize(result, count); +} + +void WindowSegmentTreePart::Evaluate(const WindowSegmentTree &tree, const idx_t *begins, const idx_t *ends, + Vector &result, idx_t count, idx_t row_idx, FramePart frame_part) { + D_ASSERT(aggr.function.combine && tree.UseCombineAPI()); + + Initialize(count); + + if (order_insensitive) { + // First pass: aggregate the segment tree nodes with sharing + EvaluateUpperLevels(tree, begins, ends, count, row_idx, frame_part); + + // Second pass: aggregate the ragged leaves + EvaluateLeaves(tree, begins, ends, count, row_idx, frame_part, FramePart::FULL); + } else { + // Evaluate leaves in order + EvaluateLeaves(tree, begins, ends, count, row_idx, frame_part, FramePart::LEFT); + EvaluateUpperLevels(tree, begins, ends, count, row_idx, frame_part); + EvaluateLeaves(tree, begins, ends, count, row_idx, frame_part, FramePart::RIGHT); + } +} + +void WindowSegmentTreePart::Initialize(idx_t count) { + auto fdata = FlatVector::GetData(statef); + for (idx_t rid = 0; rid < count; ++rid) { + auto state_ptr = fdata[rid]; + aggr.function.initialize(state_ptr); + } +} + +void WindowSegmentTreePart::EvaluateUpperLevels(const WindowSegmentTree &tree, const idx_t *begins, const idx_t *ends, + idx_t count, idx_t row_idx, FramePart frame_part) { + auto fdata = FlatVector::GetData(statef); + + const auto exclude_mode = tree.exclude_mode; + const bool begin_on_curr_row = frame_part == FramePart::RIGHT && exclude_mode == WindowExcludeMode::CURRENT_ROW; + const bool end_on_curr_row = frame_part == FramePart::LEFT && exclude_mode == WindowExcludeMode::CURRENT_ROW; + + const auto max_level = tree.levels_flat_start.size() + 1; + right_stack.resize(max_level, {0, 0}); - // First pass: aggregate the segment tree nodes // Share adjacent identical states // We do this first because we want to share only tree aggregations idx_t prev_begin = 1; idx_t prev_end = 0; - auto ldata = FlatVector::GetData(ltstate.statel); - auto pdata = FlatVector::GetData(ltstate.statep); + auto ldata = FlatVector::GetData(statel); + auto pdata = FlatVector::GetData(statep); data_ptr_t prev_state = nullptr; - for (idx_t rid = 0; rid < count; ++rid) { + for (idx_t rid = 0, cur_row = row_idx; rid < count; ++rid, ++cur_row) { auto state_ptr = fdata[rid]; - aggr.function.initialize(state_ptr); - - if (cant_combine) { - // Make sure we initialise all states - continue; - } - auto begin = begins[rid]; - auto end = ends[rid]; + auto begin = begin_on_curr_row ? cur_row + 1 : begins[rid]; + auto end = end_on_curr_row ? cur_row : ends[rid]; if (begin >= end) { continue; } // Skip level 0 idx_t l_idx = 0; - for (; l_idx < levels_flat_start.size() + 1; l_idx++) { - idx_t parent_begin = begin / TREE_FANOUT; - idx_t parent_end = end / TREE_FANOUT; + idx_t right_max = 0; + for (; l_idx < max_level; l_idx++) { + idx_t parent_begin = begin / tree.TREE_FANOUT; + idx_t parent_end = end / tree.TREE_FANOUT; if (prev_state && l_idx == 1 && begin == prev_begin && end == prev_end) { // Just combine the previous top level result - ldata[ltstate.flush_count] = prev_state; - pdata[ltstate.flush_count] = state_ptr; - if (++ltstate.flush_count >= STANDARD_VECTOR_SIZE) { - ltstate.FlushStates(true); + ldata[flush_count] = prev_state; + pdata[flush_count] = state_ptr; + if (++flush_count >= STANDARD_VECTOR_SIZE) { + FlushStates(true); } break; } - if (l_idx == 1) { + if (order_insensitive && l_idx == 1) { prev_state = state_ptr; prev_begin = begin; prev_end = end; @@ -585,72 +994,507 @@ void WindowSegmentTree::Evaluate(WindowAggregatorState &lstate, const idx_t *beg if (parent_begin == parent_end) { if (l_idx) { - ltstate.WindowSegmentValue(*this, l_idx, begin, end, state_ptr); + WindowSegmentValue(tree, l_idx, begin, end, state_ptr); } break; } - idx_t group_begin = parent_begin * TREE_FANOUT; + idx_t group_begin = parent_begin * tree.TREE_FANOUT; if (begin != group_begin) { if (l_idx) { - ltstate.WindowSegmentValue(*this, l_idx, begin, group_begin + TREE_FANOUT, state_ptr); + WindowSegmentValue(tree, l_idx, begin, group_begin + tree.TREE_FANOUT, state_ptr); } parent_begin++; } - idx_t group_end = parent_end * TREE_FANOUT; + idx_t group_end = parent_end * tree.TREE_FANOUT; if (end != group_end) { if (l_idx) { - ltstate.WindowSegmentValue(*this, l_idx, group_end, end, state_ptr); + if (order_insensitive) { + WindowSegmentValue(tree, l_idx, group_end, end, state_ptr); + } else { + right_stack[l_idx] = {group_end, end}; + right_max = l_idx; + } } } begin = parent_begin; end = parent_end; } + + // Flush the right side values from left to right for order_sensitive aggregates + // As we go up the tree, the right side ranges move left, + // so we just cache them in a fixed size, preallocated array. + // Then we can just reverse scan the array and append the cached ranges. + for (l_idx = right_max; l_idx > 0; --l_idx) { + auto &right_entry = right_stack[l_idx]; + const auto group_end = right_entry.first; + const auto end = right_entry.second; + if (end) { + WindowSegmentValue(tree, l_idx, group_end, end, state_ptr); + right_entry = {0, 0}; + } + } } - ltstate.FlushStates(true); + FlushStates(true); +} - // Second pass: aggregate the ragged leaves - // (or everything if we can't combine) - for (idx_t rid = 0; rid < count; ++rid) { +void WindowSegmentTreePart::EvaluateLeaves(const WindowSegmentTree &tree, const idx_t *begins, const idx_t *ends, + idx_t count, idx_t row_idx, FramePart frame_part, FramePart leaf_part) { + + auto fdata = FlatVector::GetData(statef); + + // For order-sensitive aggregates, we have to process the ragged leaves in two pieces. + // The left side have to be added before the main tree followed by the ragged right sides. + // The current row is the leftmost value of the right hand side. + const bool compute_left = leaf_part != FramePart::RIGHT; + const bool compute_right = leaf_part != FramePart::LEFT; + const auto exclude_mode = tree.exclude_mode; + const bool begin_on_curr_row = frame_part == FramePart::RIGHT && exclude_mode == WindowExcludeMode::CURRENT_ROW; + const bool end_on_curr_row = frame_part == FramePart::LEFT && exclude_mode == WindowExcludeMode::CURRENT_ROW; + // with EXCLUDE TIES, in addition to the frame part right of the peer group's end, we also need to consider the + // current row + const bool add_curr_row = compute_left && frame_part == FramePart::RIGHT && exclude_mode == WindowExcludeMode::TIES; + + for (idx_t rid = 0, cur_row = row_idx; rid < count; ++rid, ++cur_row) { auto state_ptr = fdata[rid]; - const auto begin = begins[rid]; - const auto end = ends[rid]; + const auto begin = begin_on_curr_row ? cur_row + 1 : begins[rid]; + const auto end = end_on_curr_row ? cur_row : ends[rid]; + if (add_curr_row) { + WindowSegmentValue(tree, 0, cur_row, cur_row + 1, state_ptr); + } if (begin >= end) { continue; } - // Aggregate everything at once if we can't combine states - idx_t parent_begin = begin / TREE_FANOUT; - idx_t parent_end = end / TREE_FANOUT; - if (parent_begin == parent_end || cant_combine) { - ltstate.WindowSegmentValue(*this, 0, begin, end, state_ptr); + idx_t parent_begin = begin / tree.TREE_FANOUT; + idx_t parent_end = end / tree.TREE_FANOUT; + if (parent_begin == parent_end) { + if (compute_left) { + WindowSegmentValue(tree, 0, begin, end, state_ptr); + } continue; } - idx_t group_begin = parent_begin * TREE_FANOUT; - if (begin != group_begin) { - ltstate.WindowSegmentValue(*this, 0, begin, group_begin + TREE_FANOUT, state_ptr); - parent_begin++; + idx_t group_begin = parent_begin * tree.TREE_FANOUT; + if (begin != group_begin && compute_left) { + WindowSegmentValue(tree, 0, begin, group_begin + tree.TREE_FANOUT, state_ptr); } - idx_t group_end = parent_end * TREE_FANOUT; - if (end != group_end) { - ltstate.WindowSegmentValue(*this, 0, group_end, end, state_ptr); + idx_t group_end = parent_end * tree.TREE_FANOUT; + if (end != group_end && compute_right) { + WindowSegmentValue(tree, 0, group_end, end, state_ptr); } } - ltstate.FlushStates(false); + FlushStates(false); +} - ltstate.Finalize(result, count); +//===--------------------------------------------------------------------===// +// WindowDistinctAggregator +//===--------------------------------------------------------------------===// +WindowDistinctAggregator::WindowDistinctAggregator(AggregateObject aggr, const LogicalType &result_type, + const WindowExcludeMode exclude_mode_p, idx_t count, + ClientContext &context) + : WindowAggregator(std::move(aggr), result_type, exclude_mode_p, count), context(context), + allocator(Allocator::DefaultAllocator()) { + + payload_types.emplace_back(LogicalType::UBIGINT); + payload_chunk.Initialize(Allocator::DefaultAllocator(), payload_types); +} - // Set the validity mask on the invalid rows - auto &rmask = FlatVector::Validity(result); - for (idx_t rid = 0; rid < count; ++rid) { - const auto begin = begins[rid]; - const auto end = ends[rid]; +WindowDistinctAggregator::~WindowDistinctAggregator() { + if (!aggr.function.destructor) { + // nothing to destroy + return; + } + AggregateInputData aggr_input_data(aggr.GetFunctionData(), allocator); + // call the destructor for all the intermediate states + data_ptr_t address_data[STANDARD_VECTOR_SIZE]; + Vector addresses(LogicalType::POINTER, data_ptr_cast(address_data)); + idx_t count = 0; + for (idx_t i = 0; i < internal_nodes; i++) { + address_data[count++] = data_ptr_t(levels_flat_native.get() + i * state_size); + if (count == STANDARD_VECTOR_SIZE) { + aggr.function.destructor(addresses, aggr_input_data, count); + count = 0; + } + } + if (count > 0) { + aggr.function.destructor(addresses, aggr_input_data, count); + } +} - if (begin >= end) { - rmask.SetInvalid(rid); +void WindowDistinctAggregator::Sink(DataChunk &arg_chunk, SelectionVector *filter_sel, idx_t filtered) { + WindowAggregator::Sink(arg_chunk, filter_sel, filtered); + + // We sort the arguments and use the partition index as a tie-breaker. + // TODO: Use a hash table? + if (!global_sort) { + // 1: functionComputePrevIdcs(𝑖𝑛) + // 2: sorted ← [] + vector sort_types; + for (const auto &col : arg_chunk.data) { + sort_types.emplace_back(col.GetType()); + } + + for (const auto &type : payload_types) { + sort_types.emplace_back(type); + } + + vector orders; + for (const auto &type : sort_types) { + auto expr = make_uniq(Value(type)); + orders.emplace_back(BoundOrderByNode(OrderType::ASCENDING, OrderByNullType::NULLS_FIRST, std::move(expr))); + } + + RowLayout payload_layout; + payload_layout.Initialize(payload_types); + + global_sort = make_uniq(BufferManager::GetBufferManager(context), orders, payload_layout); + local_sort.Initialize(*global_sort, global_sort->buffer_manager); + + sort_chunk.Initialize(Allocator::DefaultAllocator(), sort_types); + sort_chunk.data.back().Reference(payload_chunk.data[0]); + payload_pos = 0; + memory_per_thread = PhysicalOperator::GetMaxThreadMemory(context); + } + + // 3: for i ← 0 to in.size do + // 4: sorted[i] ← (in[i], i) + const auto count = arg_chunk.size(); + auto payload_data = FlatVector::GetData(payload_chunk.data[0]); + std::iota(payload_data, payload_data + count, payload_pos); + payload_pos += count; + + for (column_t c = 0; c < arg_chunk.ColumnCount(); ++c) { + sort_chunk.data[c].Reference(arg_chunk.data[c]); + } + sort_chunk.SetCardinality(arg_chunk); + payload_chunk.SetCardinality(sort_chunk); + + // Apply FILTER clause, if any + if (filter_sel) { + sort_chunk.Slice(*filter_sel, filtered); + payload_chunk.Slice(*filter_sel, filtered); + } + + local_sort.SinkChunk(sort_chunk, payload_chunk); + + if (local_sort.SizeInBytes() > memory_per_thread) { + local_sort.Sort(*global_sort, true); + } +} + +class WindowDistinctAggregator::DistinctSortTree : public MergeSortTree { +public: + // prev_idx, input_idx + using ZippedTuple = std::tuple; + using ZippedElements = vector; + + DistinctSortTree(ZippedElements &&prev_idcs, WindowDistinctAggregator &wda); +}; + +void WindowDistinctAggregator::Finalize(const FrameStats &stats) { + // 5: Sort sorted lexicographically increasing + global_sort->AddLocalState(local_sort); + global_sort->PrepareMergePhase(); + while (global_sort->sorted_blocks.size() > 1) { + global_sort->InitializeMergeRound(); + MergeSorter merge_sorter(*global_sort, global_sort->buffer_manager); + merge_sorter.PerformInMergeRound(); + global_sort->CompleteMergeRound(true); + } + + DataChunk scan_chunk; + scan_chunk.Initialize(Allocator::DefaultAllocator(), payload_types); + + auto scanner = make_uniq(*global_sort); + const auto in_size = scanner->Remaining(); + scanner->Scan(scan_chunk); + idx_t scan_idx = 0; + + // 6: prevIdcs ← [] + // 7: prevIdcs[0] ← “-” + const auto count = inputs.size(); + using ZippedTuple = DistinctSortTree::ZippedTuple; + DistinctSortTree::ZippedElements prev_idcs; + prev_idcs.resize(count); + + // To handle FILTER clauses we make the missing elements + // point to themselves so they won't be counted. + if (in_size < count) { + for (idx_t i = 0; i < count; ++i) { + prev_idcs[i] = ZippedTuple(i + 1, i); + } + } + + auto *input_idx = FlatVector::GetData(scan_chunk.data[0]); + auto i = input_idx[scan_idx++]; + prev_idcs[i] = ZippedTuple(0, i); + + SBIterator curr(*global_sort, ExpressionType::COMPARE_LESSTHAN); + SBIterator prev(*global_sort, ExpressionType::COMPARE_LESSTHAN); + auto prefix_layout = global_sort->sort_layout.GetPrefixComparisonLayout(sort_chunk.ColumnCount() - 1); + + // 8: for i ← 1 to in.size do + for (++curr; curr.GetIndex() < in_size; ++curr, ++prev) { + // Scan second one chunk at a time + // Note the scan is one behind the iterators + if (scan_idx >= scan_chunk.size()) { + scan_chunk.Reset(); + scanner->Scan(scan_chunk); + scan_idx = 0; + input_idx = FlatVector::GetData(scan_chunk.data[0]); + } + auto second = i; + i = input_idx[scan_idx++]; + + int lt = 0; + if (prefix_layout.all_constant) { + lt = FastMemcmp(prev.entry_ptr, curr.entry_ptr, prefix_layout.comparison_size); + } else { + lt = Comparators::CompareTuple(prev.scan, curr.scan, prev.entry_ptr, curr.entry_ptr, prefix_layout, + prev.external); + } + + // 9: if sorted[i].first == sorted[i-1].first then + // 10: prevIdcs[i] ← sorted[i-1].second + // 11: else + // 12: prevIdcs[i] ← “-” + if (!lt) { + prev_idcs[i] = ZippedTuple(second + 1, i); + } else { + prev_idcs[i] = ZippedTuple(0, i); + } + } + // 13: return prevIdcs + + merge_sort_tree = make_uniq(std::move(prev_idcs), *this); +} + +WindowDistinctAggregator::DistinctSortTree::DistinctSortTree(ZippedElements &&prev_idcs, + WindowDistinctAggregator &wda) { + auto &inputs = wda.inputs; + auto &aggr = wda.aggr; + auto &allocator = wda.allocator; + const auto state_size = wda.state_size; + auto &internal_nodes = wda.internal_nodes; + auto &levels_flat_native = wda.levels_flat_native; + auto &levels_flat_start = wda.levels_flat_start; + + //! Input data chunk, used for leaf segment aggregation + DataChunk leaves; + leaves.Initialize(Allocator::DefaultAllocator(), inputs.GetTypes()); + SelectionVector sel; + sel.Initialize(); + + AggregateInputData aggr_input_data(aggr.GetFunctionData(), allocator); + + //! The states to update + Vector update_v(LogicalType::POINTER); + auto updates = FlatVector::GetData(update_v); + idx_t nupdate = 0; + + Vector source_v(LogicalType::POINTER); + auto sources = FlatVector::GetData(source_v); + Vector target_v(LogicalType::POINTER); + auto targets = FlatVector::GetData(target_v); + idx_t ncombine = 0; + + // compute space required to store aggregation states of merge sort tree + // this is one aggregate state per entry per level + MergeSortTree zipped_tree(std::move(prev_idcs)); + internal_nodes = 0; + for (idx_t level_nr = 0; level_nr < zipped_tree.tree.size(); ++level_nr) { + internal_nodes += zipped_tree.tree[level_nr].first.size(); + } + levels_flat_native = make_unsafe_uniq_array(internal_nodes * state_size); + levels_flat_start.push_back(0); + idx_t levels_flat_offset = 0; + + // Walk the distinct value tree building the intermediate aggregates + tree.reserve(zipped_tree.tree.size()); + idx_t level_width = 1; + for (idx_t level_nr = 0; level_nr < zipped_tree.tree.size(); ++level_nr) { + auto &zipped_level = zipped_tree.tree[level_nr].first; + vector level; + level.reserve(zipped_level.size()); + + for (idx_t i = 0; i < zipped_level.size(); i += level_width) { + // Reset the combine state + data_ptr_t prev_state = nullptr; + auto next_limit = MinValue(zipped_level.size(), i + level_width); + for (auto j = i; j < next_limit; ++j) { + // Initialise the next aggregate + auto curr_state = levels_flat_native.get() + (levels_flat_offset++ * state_size); + aggr.function.initialize(curr_state); + + // Update this state (if it matches) + const auto prev_idx = std::get<0>(zipped_level[j]); + level.emplace_back(prev_idx); + if (prev_idx < i + 1) { + updates[nupdate] = curr_state; + // input_idx + sel[nupdate] = std::get<1>(zipped_level[j]); + ++nupdate; + } + + // Merge the previous state (if any) + if (prev_state) { + sources[ncombine] = prev_state; + targets[ncombine] = curr_state; + ++ncombine; + } + prev_state = curr_state; + + // Flush the states if one is maxed out. + if (MaxValue(ncombine, nupdate) >= STANDARD_VECTOR_SIZE) { + // Push the updates first so they propagate + leaves.Reference(inputs); + leaves.Slice(sel, nupdate); + aggr.function.update(leaves.data.data(), aggr_input_data, leaves.ColumnCount(), update_v, nupdate); + nupdate = 0; + + // Combine the states sequentially + aggr.function.combine(source_v, target_v, aggr_input_data, ncombine); + ncombine = 0; + } + } } + + tree.emplace_back(std::move(level), std::move(zipped_tree.tree[level_nr].second)); + + levels_flat_start.push_back(levels_flat_offset); + level_width *= FANOUT; + } + + // Flush any remaining states + if (ncombine || nupdate) { + // Push the updates + leaves.Reference(inputs); + leaves.Slice(sel, nupdate); + aggr.function.update(leaves.data.data(), aggr_input_data, leaves.ColumnCount(), update_v, nupdate); + nupdate = 0; + + // Combine the states sequentially + aggr.function.combine(source_v, target_v, aggr_input_data, ncombine); + ncombine = 0; + } +} + +class WindowDistinctState : public WindowAggregatorState { +public: + WindowDistinctState(const AggregateObject &aggr, DataChunk &inputs, const WindowDistinctAggregator &tree); + + void Evaluate(const DataChunk &bounds, Vector &result, idx_t count, idx_t row_idx); + +protected: + //! Flush the accumulated intermediate states into the result states + void FlushStates(); + + //! The aggregate function + const AggregateObject &aggr; + //! The aggregate function + DataChunk &inputs; + //! The merge sort tree data + const WindowDistinctAggregator &tree; + //! The size of a single aggregate state + const idx_t state_size; + //! Data pointer that contains a vector of states, used for row aggregation + vector state; + //! Reused result state container for the window functions + Vector statef; + //! A vector of pointers to "state", used for buffering intermediate aggregates + Vector statep; + //! Reused state pointers for combining tree elements + Vector statel; + //! Count of buffered values + idx_t flush_count; + //! The frame boundaries, used for the window functions + SubFrames frames; +}; + +WindowDistinctState::WindowDistinctState(const AggregateObject &aggr, DataChunk &inputs, + const WindowDistinctAggregator &tree) + : aggr(aggr), inputs(inputs), tree(tree), state_size(aggr.function.state_size()), + state((state_size * STANDARD_VECTOR_SIZE)), statef(LogicalType::POINTER), statep(LogicalType::POINTER), + statel(LogicalType::POINTER), flush_count(0) { + InitSubFrames(frames, tree.exclude_mode); + + // Build the finalise vector that just points to the result states + data_ptr_t state_ptr = state.data(); + D_ASSERT(statef.GetVectorType() == VectorType::FLAT_VECTOR); + statef.SetVectorType(VectorType::CONSTANT_VECTOR); + statef.Flatten(STANDARD_VECTOR_SIZE); + auto fdata = FlatVector::GetData(statef); + for (idx_t i = 0; i < STANDARD_VECTOR_SIZE; ++i) { + fdata[i] = state_ptr; + state_ptr += state_size; + } +} + +void WindowDistinctState::FlushStates() { + if (!flush_count) { + return; } + + AggregateInputData aggr_input_data(aggr.GetFunctionData(), allocator); + statel.Verify(flush_count); + aggr.function.combine(statel, statep, aggr_input_data, flush_count); + + flush_count = 0; +} + +void WindowDistinctState::Evaluate(const DataChunk &bounds, Vector &result, idx_t count, idx_t row_idx) { + auto fdata = FlatVector::GetData(statef); + auto ldata = FlatVector::GetData(statel); + auto pdata = FlatVector::GetData(statep); + + const auto &merge_sort_tree = *tree.merge_sort_tree; + const auto running_aggs = tree.levels_flat_native.get(); + + EvaluateSubFrames(bounds, tree.exclude_mode, count, row_idx, frames, [&](idx_t rid) { + auto agg_state = fdata[rid]; + aggr.function.initialize(agg_state); + + // TODO: Extend AggregateLowerBound to handle subframes, just like SelectNth. + const auto lower = frames[0].start; + const auto upper = frames[0].end; + merge_sort_tree.AggregateLowerBound(lower, upper, lower + 1, + [&](idx_t level, const idx_t run_begin, const idx_t run_pos) { + if (run_pos != run_begin) { + // Find the source aggregate + // Buffer a merge of the indicated state into the current state + const auto agg_idx = tree.levels_flat_start[level] + run_pos - 1; + const auto running_agg = running_aggs + agg_idx * state_size; + pdata[flush_count] = agg_state; + ldata[flush_count++] = running_agg; + if (flush_count >= STANDARD_VECTOR_SIZE) { + FlushStates(); + } + } + }); + }); + + // Flush the final states + FlushStates(); + + // Finalise the result aggregates and write to the result + AggregateInputData aggr_input_data(aggr.GetFunctionData(), allocator); + aggr.function.finalize(statef, aggr_input_data, result, count, 0); + + // Destruct the result aggregates + if (aggr.function.destructor) { + aggr.function.destructor(statef, aggr_input_data, count); + } +} + +unique_ptr WindowDistinctAggregator::GetLocalState() const { + return make_uniq(aggr, const_cast(inputs), *this); +} + +void WindowDistinctAggregator::Evaluate(WindowAggregatorState &lstate, const DataChunk &bounds, Vector &result, + idx_t count, idx_t row_idx) const { + auto &ldstate = lstate.Cast(); + ldstate.Evaluate(bounds, result, count, row_idx); } } // namespace duckdb diff --git a/src/function/aggregate/distributive/count.cpp b/src/function/aggregate/distributive/count.cpp index ec9d705bb898..10ff1c46d631 100644 --- a/src/function/aggregate/distributive/count.cpp +++ b/src/function/aggregate/distributive/count.cpp @@ -34,23 +34,26 @@ struct CountStarFunction : public BaseCountFunction { } template - static void Window(Vector inputs[], const ValidityMask &filter_mask, AggregateInputData &aggr_input_data, - idx_t input_count, data_ptr_t state, const FrameBounds &frame, const FrameBounds &prev, - Vector &result, idx_t rid, idx_t bias) { - D_ASSERT(input_count == 0); + static void Window(AggregateInputData &aggr_input_data, const WindowPartitionInput &partition, const_data_ptr_t, + data_ptr_t l_state, const SubFrames &frames, Vector &result, idx_t rid) { + D_ASSERT(partition.input_count == 0); + auto data = FlatVector::GetData(result); - const auto begin = frame.start; - const auto end = frame.end; - // Slice to any filtered rows - if (!filter_mask.AllValid()) { - RESULT_TYPE filtered = 0; + RESULT_TYPE total = 0; + for (const auto &frame : frames) { + const auto begin = frame.start; + const auto end = frame.end; + + // Slice to any filtered rows + if (partition.filter_mask.AllValid()) { + total += end - begin; + continue; + } for (auto i = begin; i < end; ++i) { - filtered += filter_mask.RowIsValid(i); + total += partition.filter_mask.RowIsValid(i); } - data[rid] = filtered; - } else { - data[rid] = end - begin; } + data[rid] = total; } }; @@ -222,6 +225,7 @@ AggregateFunction CountStarFun::GetFunction() { auto fun = AggregateFunction::NullaryAggregate(LogicalType::BIGINT); fun.name = "count_star"; fun.null_handling = FunctionNullHandling::SPECIAL_HANDLING; + fun.order_dependent = AggregateOrderDependent::NOT_ORDER_DEPENDENT; fun.window = CountStarFunction::Window; return fun; } @@ -243,9 +247,7 @@ void CountFun::RegisterFunction(BuiltinFunctions &set) { AggregateFunctionSet count("count"); count.AddFunction(count_function); // the count function can also be called without arguments - count_function.arguments.clear(); - count_function.statistics = nullptr; - count_function.window = CountStarFunction::Window; + count_function = CountStarFun::GetFunction(); count.AddFunction(count_function); set.AddFunction(count); } diff --git a/src/function/aggregate/distributive/first.cpp b/src/function/aggregate/distributive/first.cpp index 8f8df8a70617..65a50647ccc4 100644 --- a/src/function/aggregate/distributive/first.cpp +++ b/src/function/aggregate/distributive/first.cpp @@ -1,6 +1,6 @@ -#include "duckdb/function/aggregate/distributive_functions.hpp" #include "duckdb/common/exception.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" +#include "duckdb/function/aggregate/distributive_functions.hpp" #include "duckdb/planner/expression.hpp" namespace duckdb { @@ -85,7 +85,7 @@ struct FirstFunctionString : public FirstFunctionBase { } else { // non-inlined string, need to allocate space for it auto len = value.GetSize(); - auto ptr = new char[len]; + auto ptr = LAST ? new char[len] : char_ptr_cast(input_data.allocator.Allocate(len)); memcpy(ptr, value.GetData(), len); state.value = string_t(ptr, len); @@ -258,6 +258,8 @@ static AggregateFunction GetFirstFunction(const LogicalType &type) { return GetFirstAggregateTemplated(type); case LogicalTypeId::HUGEINT: return GetFirstAggregateTemplated(type); + case LogicalTypeId::UHUGEINT: + return GetFirstAggregateTemplated(type); case LogicalTypeId::FLOAT: return GetFirstAggregateTemplated(type); case LogicalTypeId::DOUBLE: @@ -266,8 +268,13 @@ static AggregateFunction GetFirstFunction(const LogicalType &type) { return GetFirstAggregateTemplated(type); case LogicalTypeId::VARCHAR: case LogicalTypeId::BLOB: - return AggregateFunction::UnaryAggregateDestructor, string_t, string_t, - FirstFunctionString>(type, type); + if (LAST) { + return AggregateFunction::UnaryAggregateDestructor, string_t, string_t, + FirstFunctionString>(type, type); + } else { + return AggregateFunction::UnaryAggregate, string_t, string_t, + FirstFunctionString>(type, type); + } case LogicalTypeId::DECIMAL: { type.Verify(); AggregateFunction function = GetDecimalFirstFunction(type); diff --git a/src/function/aggregate/sorted_aggregate_function.cpp b/src/function/aggregate/sorted_aggregate_function.cpp index 6e5f21962596..1ba8ae453b8d 100644 --- a/src/function/aggregate/sorted_aggregate_function.cpp +++ b/src/function/aggregate/sorted_aggregate_function.cpp @@ -1,5 +1,6 @@ #include "duckdb/common/sort/sort.hpp" #include "duckdb/common/types/column/column_data_collection.hpp" +#include "duckdb/common/types/list_segment.hpp" #include "duckdb/function/aggregate_function.hpp" #include "duckdb/function/function_binder.hpp" #include "duckdb/storage/buffer_manager.hpp" @@ -17,14 +18,22 @@ struct SortedAggregateBindData : public FunctionData { external(ClientConfig::GetConfig(context).force_external) { auto &children = expr.children; arg_types.reserve(children.size()); + arg_funcs.reserve(children.size()); for (const auto &child : children) { arg_types.emplace_back(child->return_type); + ListSegmentFunctions funcs; + GetSegmentDataFunctions(funcs, arg_types.back()); + arg_funcs.emplace_back(funcs); } auto &order_bys = *expr.order_bys; sort_types.reserve(order_bys.orders.size()); + sort_funcs.reserve(order_bys.orders.size()); for (auto &order : order_bys.orders) { orders.emplace_back(order.Copy()); sort_types.emplace_back(order.expression->return_type); + ListSegmentFunctions funcs; + GetSegmentDataFunctions(funcs, sort_types.back()); + sort_funcs.emplace_back(funcs); } sorted_on_args = (children.size() == order_bys.orders.size()); for (size_t i = 0; sorted_on_args && i < children.size(); ++i) { @@ -34,8 +43,8 @@ struct SortedAggregateBindData : public FunctionData { SortedAggregateBindData(const SortedAggregateBindData &other) : buffer_manager(other.buffer_manager), function(other.function), arg_types(other.arg_types), - sort_types(other.sort_types), sorted_on_args(other.sorted_on_args), threshold(other.threshold), - external(other.external) { + arg_funcs(other.arg_funcs), sort_types(other.sort_types), sort_funcs(other.sort_funcs), + sorted_on_args(other.sorted_on_args), threshold(other.threshold), external(other.external) { if (other.bind_info) { bind_info = other.bind_info->Copy(); } @@ -75,9 +84,11 @@ struct SortedAggregateBindData : public FunctionData { AggregateFunction function; vector arg_types; unique_ptr bind_info; + vector arg_funcs; vector orders; vector sort_types; + vector sort_funcs; bool sorted_on_args; //! The sort flush threshold @@ -86,125 +97,279 @@ struct SortedAggregateBindData : public FunctionData { }; struct SortedAggregateState { - //! Default buffer size, optimised for small group to avoid blowing out memory. - static const idx_t BUFFER_CAPACITY = 16; + // Linked list equivalent of DataChunk + using LinkedLists = vector; + using LinkedChunkFunctions = vector; + + //! Capacities of the various levels of buffering + static const idx_t CHUNK_CAPACITY = STANDARD_VECTOR_SIZE; + static const idx_t LIST_CAPACITY = MinValue(16, CHUNK_CAPACITY); SortedAggregateState() : count(0), nsel(0), offset(0) { } - static inline void InitializeBuffer(DataChunk &chunk, const vector &types) { - if (!chunk.ColumnCount() && !types.empty()) { - chunk.Initialize(Allocator::DefaultAllocator(), types, BUFFER_CAPACITY); + static inline void InitializeLinkedList(LinkedLists &linked, const vector &types) { + if (linked.empty() && !types.empty()) { + linked.resize(types.size(), LinkedList()); } } - //! Make sure the buffer is large enough for slicing - static inline void ResetBuffer(DataChunk &chunk, const vector &types) { - chunk.Reset(); - chunk.Destroy(); - chunk.Initialize(Allocator::DefaultAllocator(), types); + inline void InitializeLinkedLists(const SortedAggregateBindData &order_bind) { + InitializeLinkedList(sort_linked, order_bind.sort_types); + if (!order_bind.sorted_on_args) { + InitializeLinkedList(arg_linked, order_bind.arg_types); + } } - void Flush(const SortedAggregateBindData &order_bind) { - if (ordering) { - return; + static inline void InitializeChunk(unique_ptr &chunk, const vector &types) { + if (!chunk && !types.empty()) { + chunk = make_uniq(); + chunk->Initialize(Allocator::DefaultAllocator(), types); + } + } + + void InitializeChunks(const SortedAggregateBindData &order_bind) { + // Lazy instantiation of the buffer chunks + InitializeChunk(sort_chunk, order_bind.sort_types); + if (!order_bind.sorted_on_args) { + InitializeChunk(arg_chunk, order_bind.arg_types); + } + } + + static inline void FlushLinkedList(const LinkedChunkFunctions &funcs, LinkedLists &linked, DataChunk &chunk) { + idx_t total_count = 0; + for (column_t i = 0; i < linked.size(); ++i) { + funcs[i].BuildListVector(linked[i], chunk.data[i], total_count); + chunk.SetCardinality(linked[i].total_capacity); + } + } + + void FlushLinkedLists(const SortedAggregateBindData &order_bind) { + InitializeChunks(order_bind); + FlushLinkedList(order_bind.sort_funcs, sort_linked, *sort_chunk); + if (arg_chunk) { + FlushLinkedList(order_bind.arg_funcs, arg_linked, *arg_chunk); } + } + void InitializeCollections(const SortedAggregateBindData &order_bind) { ordering = make_uniq(order_bind.buffer_manager, order_bind.sort_types); - InitializeBuffer(sort_buffer, order_bind.sort_types); - ordering->Append(sort_buffer); - ResetBuffer(sort_buffer, order_bind.sort_types); + ordering_append = make_uniq(); + ordering->InitializeAppend(*ordering_append); if (!order_bind.sorted_on_args) { arguments = make_uniq(order_bind.buffer_manager, order_bind.arg_types); - InitializeBuffer(arg_buffer, order_bind.arg_types); - arguments->Append(arg_buffer); - ResetBuffer(arg_buffer, order_bind.arg_types); + arguments_append = make_uniq(); + arguments->InitializeAppend(*arguments_append); } } - void Update(const SortedAggregateBindData &order_bind, DataChunk &sort_chunk, DataChunk &arg_chunk) { - count += sort_chunk.size(); + void FlushChunks(const SortedAggregateBindData &order_bind) { + D_ASSERT(sort_chunk); + ordering->Append(*ordering_append, *sort_chunk); + sort_chunk->Reset(); - // Lazy instantiation of the buffer chunks - InitializeBuffer(sort_buffer, order_bind.sort_types); - if (!order_bind.sorted_on_args) { - InitializeBuffer(arg_buffer, order_bind.arg_types); + if (arguments) { + D_ASSERT(arg_chunk); + arguments->Append(*arguments_append, *arg_chunk); + arg_chunk->Reset(); } + } - if (sort_chunk.size() + sort_buffer.size() > STANDARD_VECTOR_SIZE) { - Flush(order_bind); + void Resize(const SortedAggregateBindData &order_bind, idx_t n) { + count = n; + + // Establish the current buffering + if (count <= LIST_CAPACITY) { + InitializeLinkedLists(order_bind); } - if (arguments) { - ordering->Append(sort_chunk); - arguments->Append(arg_chunk); - } else if (ordering) { - ordering->Append(sort_chunk); - } else if (order_bind.sorted_on_args) { - sort_buffer.Append(sort_chunk, true); - } else { - sort_buffer.Append(sort_chunk, true); - arg_buffer.Append(arg_chunk, true); + + if (count > LIST_CAPACITY && !sort_chunk && !ordering) { + FlushLinkedLists(order_bind); + } + + if (count > CHUNK_CAPACITY && !ordering) { + InitializeCollections(order_bind); + FlushChunks(order_bind); + } + } + + static void LinkedAppend(const LinkedChunkFunctions &functions, ArenaAllocator &allocator, DataChunk &input, + LinkedLists &linked, SelectionVector &sel, idx_t nsel) { + const auto count = input.size(); + for (column_t c = 0; c < input.ColumnCount(); ++c) { + auto &func = functions[c]; + auto &linked_list = linked[c]; + RecursiveUnifiedVectorFormat input_data; + Vector::RecursiveToUnifiedFormat(input.data[c], count, input_data); + for (idx_t i = 0; i < nsel; ++i) { + idx_t sidx = sel.get_index(i); + func.AppendRow(allocator, linked_list, input_data, sidx); + } } } - void UpdateSlice(const SortedAggregateBindData &order_bind, DataChunk &sort_inputs, DataChunk &arg_inputs) { - count += nsel; + static void LinkedAbsorb(LinkedLists &source, LinkedLists &target) { + D_ASSERT(source.size() == target.size()); + for (column_t i = 0; i < source.size(); ++i) { + auto &src = source[i]; + if (!src.total_capacity) { + break; + } - // Lazy instantiation of the buffer chunks - InitializeBuffer(sort_buffer, order_bind.sort_types); - if (!order_bind.sorted_on_args) { - InitializeBuffer(arg_buffer, order_bind.arg_types); + auto &tgt = target[i]; + if (!tgt.total_capacity) { + tgt = src; + } else { + // append the linked list + tgt.last_segment->next = src.first_segment; + tgt.last_segment = src.last_segment; + tgt.total_capacity += src.total_capacity; + } } + } + + void Update(const AggregateInputData &aggr_input_data, DataChunk &sort_input, DataChunk &arg_input) { + const auto &order_bind = aggr_input_data.bind_data->Cast(); + Resize(order_bind, count + sort_input.size()); + + sel.Initialize(nullptr); + nsel = sort_input.size(); - if (nsel + sort_buffer.size() > STANDARD_VECTOR_SIZE) { - Flush(order_bind); + if (ordering) { + // Using collections + ordering->Append(*ordering_append, sort_input); + if (arguments) { + arguments->Append(*arguments_append, arg_input); + } + } else if (sort_chunk) { + // Still using data chunks + sort_chunk->Append(sort_input); + if (arg_chunk) { + arg_chunk->Append(arg_input); + } + } else { + // Still using linked lists + LinkedAppend(order_bind.sort_funcs, aggr_input_data.allocator, sort_input, sort_linked, sel, nsel); + if (!arg_linked.empty()) { + LinkedAppend(order_bind.arg_funcs, aggr_input_data.allocator, arg_input, arg_linked, sel, nsel); + } } - if (arguments) { - sort_buffer.Reset(); - sort_buffer.Slice(sort_inputs, sel, nsel); - ordering->Append(sort_buffer); - arg_buffer.Reset(); - arg_buffer.Slice(arg_inputs, sel, nsel); - arguments->Append(arg_buffer); - } else if (ordering) { - sort_buffer.Reset(); - sort_buffer.Slice(sort_inputs, sel, nsel); - ordering->Append(sort_buffer); - } else if (order_bind.sorted_on_args) { - sort_buffer.Append(sort_inputs, true, &sel, nsel); + nsel = 0; + offset = 0; + } + + void UpdateSlice(const AggregateInputData &aggr_input_data, DataChunk &sort_input, DataChunk &arg_input) { + const auto &order_bind = aggr_input_data.bind_data->Cast(); + Resize(order_bind, count + nsel); + + if (ordering) { + // Using collections + D_ASSERT(sort_chunk); + sort_chunk->Slice(sort_input, sel, nsel); + if (arg_chunk) { + arg_chunk->Slice(arg_input, sel, nsel); + } + FlushChunks(order_bind); + } else if (sort_chunk) { + // Still using data chunks + sort_chunk->Append(sort_input, true, &sel, nsel); + if (arg_chunk) { + arg_chunk->Append(arg_input, true, &sel, nsel); + } } else { - sort_buffer.Append(sort_inputs, true, &sel, nsel); - arg_buffer.Append(arg_inputs, true, &sel, nsel); + // Still using linked lists + LinkedAppend(order_bind.sort_funcs, aggr_input_data.allocator, sort_input, sort_linked, sel, nsel); + if (!arg_linked.empty()) { + LinkedAppend(order_bind.arg_funcs, aggr_input_data.allocator, arg_input, arg_linked, sel, nsel); + } } nsel = 0; offset = 0; } - void Combine(SortedAggregateBindData &order_bind, SortedAggregateState &other) { - if (other.arguments) { - // Force CDC if the other has it - Flush(order_bind); - ordering->Combine(*other.ordering); - arguments->Combine(*other.arguments); - count += other.count; - } else if (other.ordering) { - // Force CDC if the other has it - Flush(order_bind); - ordering->Combine(*other.ordering); - count += other.count; - } else if (other.sort_buffer.size()) { - Update(order_bind, other.sort_buffer, other.arg_buffer); + void Swap(SortedAggregateState &other) { + std::swap(count, other.count); + + std::swap(arguments, other.arguments); + std::swap(arguments_append, other.arguments_append); + std::swap(ordering, other.ordering); + std::swap(ordering_append, other.ordering_append); + + std::swap(sort_chunk, other.sort_chunk); + std::swap(arg_chunk, other.arg_chunk); + + std::swap(sort_linked, other.sort_linked); + std::swap(arg_linked, other.arg_linked); + } + + void Absorb(const SortedAggregateBindData &order_bind, SortedAggregateState &other) { + if (!other.count) { + return; + } else if (!count) { + Swap(other); + return; + } + + // Change to a state large enough for all the data + Resize(order_bind, count + other.count); + + // 3x3 matrix. + // We can simplify the logic a bit because the target is already set for the final capacity + if (!sort_chunk) { + // If the combined count is still linked lists, + // then just move the pointers. + // Note that this assumes ArenaAllocator is shared and the memory will not vanish under us. + LinkedAbsorb(other.sort_linked, sort_linked); + if (!arg_linked.empty()) { + LinkedAbsorb(other.arg_linked, arg_linked); + } + + other.Reset(); + return; + } + + if (!other.sort_chunk) { + other.FlushLinkedLists(order_bind); + } + + if (!ordering) { + // Still using chunks, which means the source is using chunks or lists + D_ASSERT(sort_chunk); + D_ASSERT(other.sort_chunk); + sort_chunk->Append(*other.sort_chunk); + if (arg_chunk) { + D_ASSERT(other.arg_chunk); + arg_chunk->Append(*other.arg_chunk); + } + } else { + // Using collections, so source could be using anything. + if (other.ordering) { + ordering->Combine(*other.ordering); + if (arguments) { + D_ASSERT(other.arguments); + arguments->Combine(*other.arguments); + } + } else { + ordering->Append(*other.sort_chunk); + if (arguments) { + D_ASSERT(other.arg_chunk); + arguments->Append(*other.arg_chunk); + } + } } + + // Free all memory as we have absorbed it. + other.Reset(); } void PrefixSortBuffer(DataChunk &prefixed) { - for (column_t col_idx = 0; col_idx < sort_buffer.ColumnCount(); ++col_idx) { - prefixed.data[col_idx + 1].Reference(sort_buffer.data[col_idx]); + for (column_t col_idx = 0; col_idx < sort_chunk->ColumnCount(); ++col_idx) { + prefixed.data[col_idx + 1].Reference(sort_chunk->data[col_idx]); } - prefixed.SetCardinality(sort_buffer); + prefixed.SetCardinality(*sort_chunk); } void Finalize(const SortedAggregateBindData &order_bind, DataChunk &prefixed, LocalSortState &local_sort) { @@ -213,37 +378,62 @@ struct SortedAggregateState { ordering->InitializeScan(sort_state); ColumnDataScanState arg_state; arguments->InitializeScan(arg_state); - for (sort_buffer.Reset(); ordering->Scan(sort_state, sort_buffer); sort_buffer.Reset()) { + for (sort_chunk->Reset(); ordering->Scan(sort_state, *sort_chunk); sort_chunk->Reset()) { PrefixSortBuffer(prefixed); - arg_buffer.Reset(); - arguments->Scan(arg_state, arg_buffer); - local_sort.SinkChunk(prefixed, arg_buffer); + arg_chunk->Reset(); + arguments->Scan(arg_state, *arg_chunk); + local_sort.SinkChunk(prefixed, *arg_chunk); } - ordering->Reset(); - arguments->Reset(); } else if (ordering) { ColumnDataScanState sort_state; ordering->InitializeScan(sort_state); - for (sort_buffer.Reset(); ordering->Scan(sort_state, sort_buffer); sort_buffer.Reset()) { + for (sort_chunk->Reset(); ordering->Scan(sort_state, *sort_chunk); sort_chunk->Reset()) { PrefixSortBuffer(prefixed); - local_sort.SinkChunk(prefixed, sort_buffer); + local_sort.SinkChunk(prefixed, *sort_chunk); } - ordering->Reset(); - } else if (order_bind.sorted_on_args) { - PrefixSortBuffer(prefixed); - local_sort.SinkChunk(prefixed, sort_buffer); } else { + // Force chunks so we can sort + if (!sort_chunk) { + FlushLinkedLists(order_bind); + } + PrefixSortBuffer(prefixed); - local_sort.SinkChunk(prefixed, arg_buffer); + if (arg_chunk) { + local_sort.SinkChunk(prefixed, *arg_chunk); + } else { + local_sort.SinkChunk(prefixed, *sort_chunk); + } } + + Reset(); + } + + void Reset() { + // Release all memory + ordering.reset(); + arguments.reset(); + + sort_chunk.reset(); + arg_chunk.reset(); + + sort_linked.clear(); + arg_linked.clear(); + + count = 0; } idx_t count; + unique_ptr arguments; + unique_ptr arguments_append; unique_ptr ordering; + unique_ptr ordering_append; + + unique_ptr sort_chunk; + unique_ptr arg_chunk; - DataChunk sort_buffer; - DataChunk arg_buffer; + LinkedLists sort_linked; + LinkedLists arg_linked; // Selection for scattering SelectionVector sel; @@ -263,33 +453,33 @@ struct SortedAggregateFunction { } static void ProjectInputs(Vector inputs[], const SortedAggregateBindData &order_bind, idx_t input_count, - idx_t count, DataChunk &arg_chunk, DataChunk &sort_chunk) { + idx_t count, DataChunk &arg_input, DataChunk &sort_input) { idx_t col = 0; if (!order_bind.sorted_on_args) { - arg_chunk.InitializeEmpty(order_bind.arg_types); - for (auto &dst : arg_chunk.data) { + arg_input.InitializeEmpty(order_bind.arg_types); + for (auto &dst : arg_input.data) { dst.Reference(inputs[col++]); } - arg_chunk.SetCardinality(count); + arg_input.SetCardinality(count); } - sort_chunk.InitializeEmpty(order_bind.sort_types); - for (auto &dst : sort_chunk.data) { + sort_input.InitializeEmpty(order_bind.sort_types); + for (auto &dst : sort_input.data) { dst.Reference(inputs[col++]); } - sort_chunk.SetCardinality(count); + sort_input.SetCardinality(count); } static void SimpleUpdate(Vector inputs[], AggregateInputData &aggr_input_data, idx_t input_count, data_ptr_t state, idx_t count) { const auto order_bind = aggr_input_data.bind_data->Cast(); - DataChunk arg_chunk; - DataChunk sort_chunk; - ProjectInputs(inputs, order_bind, input_count, count, arg_chunk, sort_chunk); + DataChunk arg_input; + DataChunk sort_input; + ProjectInputs(inputs, order_bind, input_count, count, arg_input, sort_input); const auto order_state = reinterpret_cast(state); - order_state->Update(order_bind, sort_chunk, arg_chunk); + order_state->Update(aggr_input_data, sort_input, arg_input); } static void ScatterUpdate(Vector inputs[], AggregateInputData &aggr_input_data, idx_t input_count, Vector &states, @@ -340,7 +530,7 @@ struct SortedAggregateFunction { continue; } - order_state->UpdateSlice(order_bind, sort_inputs, arg_inputs); + order_state->UpdateSlice(aggr_input_data, sort_inputs, arg_inputs); } } @@ -348,12 +538,12 @@ struct SortedAggregateFunction { static void Combine(const STATE &source, STATE &target, AggregateInputData &aggr_input_data) { auto &order_bind = aggr_input_data.bind_data->Cast(); auto &other = const_cast(source); - target.Combine(order_bind, other); + target.Absorb(order_bind, other); } - static void Window(Vector inputs[], const ValidityMask &filter_mask, AggregateInputData &aggr_input_data, - idx_t input_count, data_ptr_t state, const FrameBounds &frame, const FrameBounds &prev, - Vector &result, idx_t rid, idx_t bias) { + static void Window(AggregateInputData &aggr_input_data, const WindowPartitionInput &partition, + const_data_ptr_t g_state, data_ptr_t l_state, const SubFrames &subframes, Vector &result, + idx_t rid) { throw InternalException("Sorted aggregates should not be generated for window clauses"); } @@ -374,8 +564,7 @@ struct SortedAggregateFunction { // State variables auto bind_info = order_bind.bind_info.get(); - ArenaAllocator allocator(Allocator::DefaultAllocator()); - AggregateInputData aggr_bind_info(bind_info, allocator); + AggregateInputData aggr_bind_info(bind_info, aggr_input_data.allocator); // Inner aggregate APIs auto initialize = order_bind.function.initialize; @@ -525,29 +714,12 @@ void FunctionBinder::BindSortedAggregate(ClientContext &context, BoundAggregateE // not a sorted aggregate: return return; } + // Remove unnecessary ORDER BY clauses and return if nothing remains if (context.config.enable_optimizer) { - // for each ORDER BY - check if it is actually necessary - // expressions that are in the groups do not need to be ORDERED BY - // `ORDER BY` on a group has no effect, because for each aggregate, the group is unique - // similarly, we only need to ORDER BY each aggregate once - expression_set_t seen_expressions; - for (auto &target : groups) { - seen_expressions.insert(*target); - } - vector new_order_nodes; - for (auto &order_node : expr.order_bys->orders) { - if (seen_expressions.find(*order_node.expression) != seen_expressions.end()) { - // we do not need to order by this node - continue; - } - seen_expressions.insert(*order_node.expression); - new_order_nodes.push_back(std::move(order_node)); - } - if (new_order_nodes.empty()) { + if (expr.order_bys->Simplify(groups)) { expr.order_bys.reset(); return; } - expr.order_bys->orders = std::move(new_order_nodes); } auto &bound_function = expr.function; auto &children = expr.children; diff --git a/src/function/cast/CMakeLists.txt b/src/function/cast/CMakeLists.txt index 587d7e2285d7..3c490bcf2ed2 100644 --- a/src/function/cast/CMakeLists.txt +++ b/src/function/cast/CMakeLists.txt @@ -3,6 +3,7 @@ add_subdirectory(union) add_library_unity( duckdb_func_cast OBJECT + array_casts.cpp blob_cast.cpp bit_cast.cpp cast_function_set.cpp diff --git a/src/function/cast/array_casts.cpp b/src/function/cast/array_casts.cpp new file mode 100644 index 000000000000..1f848d8c8635 --- /dev/null +++ b/src/function/cast/array_casts.cpp @@ -0,0 +1,226 @@ +#include "duckdb/function/cast/cast_function_set.hpp" +#include "duckdb/function/cast/default_casts.hpp" +#include "duckdb/function/cast/bound_cast_data.hpp" +#include "duckdb/common/operator/cast_operators.hpp" + +namespace duckdb { + +unique_ptr ArrayBoundCastData::BindArrayToArrayCast(BindCastInput &input, const LogicalType &source, + const LogicalType &target) { + vector child_cast_info; + auto &source_child_type = ArrayType::GetChildType(source); + auto &result_child_type = ArrayType::GetChildType(target); + auto child_cast = input.GetCastFunction(source_child_type, result_child_type); + return make_uniq(std::move(child_cast)); +} + +static unique_ptr BindArrayToListCast(BindCastInput &input, const LogicalType &source, + const LogicalType &target) { + D_ASSERT(source.id() == LogicalTypeId::ARRAY); + D_ASSERT(target.id() == LogicalTypeId::LIST); + + vector child_cast_info; + auto &source_child_type = ArrayType::GetChildType(source); + auto &result_child_type = ListType::GetChildType(target); + auto child_cast = input.GetCastFunction(source_child_type, result_child_type); + return make_uniq(std::move(child_cast)); +} + +unique_ptr ArrayBoundCastData::InitArrayLocalState(CastLocalStateParameters ¶meters) { + auto &cast_data = parameters.cast_data->Cast(); + if (!cast_data.child_cast_info.init_local_state) { + return nullptr; + } + CastLocalStateParameters child_parameters(parameters, cast_data.child_cast_info.cast_data); + return cast_data.child_cast_info.init_local_state(child_parameters); +} + +//------------------------------------------------------------------------------ +// ARRAY -> ARRAY +//------------------------------------------------------------------------------ +static bool ArrayToArrayCast(Vector &source, Vector &result, idx_t count, CastParameters ¶meters) { + + auto source_array_size = ArrayType::GetSize(source.GetType()); + auto target_array_size = ArrayType::GetSize(result.GetType()); + if (source_array_size != target_array_size) { + // Cant cast between arrays of different sizes + auto msg = StringUtil::Format("Cannot cast array of size %u to array of size %u", source_array_size, + target_array_size); + HandleCastError::AssignError(msg, parameters.error_message); + if (!parameters.strict) { + // if this was a TRY_CAST, we know every row will fail, so just return null + result.SetVectorType(VectorType::CONSTANT_VECTOR); + ConstantVector::SetNull(result, true); + return false; + } + } + + auto &cast_data = parameters.cast_data->Cast(); + if (source.GetVectorType() == VectorType::CONSTANT_VECTOR) { + result.SetVectorType(VectorType::CONSTANT_VECTOR); + + if (ConstantVector::IsNull(source)) { + ConstantVector::SetNull(result, true); + } + + auto &source_cc = ArrayVector::GetEntry(source); + auto &result_cc = ArrayVector::GetEntry(result); + + // If the array vector is constant, the child vector must be flat (or constant if array size is 1) + D_ASSERT(source_cc.GetVectorType() == VectorType::FLAT_VECTOR || source_array_size == 1); + + CastParameters child_parameters(parameters, cast_data.child_cast_info.cast_data, parameters.local_state); + bool all_ok = cast_data.child_cast_info.function(source_cc, result_cc, source_array_size, child_parameters); + return all_ok; + } else { + // Flatten if not constant + source.Flatten(count); + result.SetVectorType(VectorType::FLAT_VECTOR); + + FlatVector::SetValidity(result, FlatVector::Validity(source)); + auto &source_cc = ArrayVector::GetEntry(source); + auto &result_cc = ArrayVector::GetEntry(result); + + CastParameters child_parameters(parameters, cast_data.child_cast_info.cast_data, parameters.local_state); + bool all_ok = + cast_data.child_cast_info.function(source_cc, result_cc, count * source_array_size, child_parameters); + return all_ok; + } +} + +//------------------------------------------------------------------------------ +// ARRAY -> VARCHAR +//------------------------------------------------------------------------------ +static bool ArrayToVarcharCast(Vector &source, Vector &result, idx_t count, CastParameters ¶meters) { + auto is_constant = source.GetVectorType() == VectorType::CONSTANT_VECTOR; + + auto size = ArrayType::GetSize(source.GetType()); + Vector varchar_list(LogicalType::ARRAY(LogicalType::VARCHAR, size), count); + ArrayToArrayCast(source, varchar_list, count, parameters); + + varchar_list.Flatten(count); + auto &validity = FlatVector::Validity(varchar_list); + auto &child = ArrayVector::GetEntry(varchar_list); + + child.Flatten(count); + auto &child_validity = FlatVector::Validity(child); + + auto in_data = FlatVector::GetData(child); + auto out_data = FlatVector::GetData(result); + + static constexpr const idx_t SEP_LENGTH = 2; + static constexpr const idx_t NULL_LENGTH = 4; + + for (idx_t i = 0; i < count; i++) { + if (!validity.RowIsValid(i)) { + FlatVector::SetNull(result, i, true); + continue; + } + + // First pass, compute the length + idx_t array_varchar_length = 2; + for (idx_t j = 0; j < size; j++) { + auto elem_idx = (i * size) + j; + auto elem = in_data[elem_idx]; + if (j > 0) { + array_varchar_length += SEP_LENGTH; + } + array_varchar_length += child_validity.RowIsValid(elem_idx) ? elem.GetSize() : NULL_LENGTH; + } + + out_data[i] = StringVector::EmptyString(result, array_varchar_length); + auto dataptr = out_data[i].GetDataWriteable(); + idx_t offset = 0; + dataptr[offset++] = '['; + + // Second pass, write the actual data + for (idx_t j = 0; j < size; j++) { + auto elem_idx = (i * size) + j; + auto elem = in_data[elem_idx]; + if (j > 0) { + memcpy(dataptr + offset, ", ", SEP_LENGTH); + offset += SEP_LENGTH; + } + if (child_validity.RowIsValid(elem_idx)) { + auto len = elem.GetSize(); + memcpy(dataptr + offset, elem.GetData(), len); + offset += len; + } else { + memcpy(dataptr + offset, "NULL", NULL_LENGTH); + offset += NULL_LENGTH; + } + } + dataptr[offset++] = ']'; + out_data[i].Finalize(); + } + + if (is_constant) { + result.SetVectorType(VectorType::CONSTANT_VECTOR); + } + + return true; +} + +//------------------------------------------------------------------------------ +// ARRAY -> LIST +//------------------------------------------------------------------------------ +static bool ArrayToListCast(Vector &source, Vector &result, idx_t count, CastParameters ¶meters) { + auto &cast_data = parameters.cast_data->Cast(); + + // FIXME: dont flatten + source.Flatten(count); + if (count == 1) { + result.SetVectorType(VectorType::CONSTANT_VECTOR); + } + auto array_size = ArrayType::GetSize(source.GetType()); + auto child_count = count * array_size; + + ListVector::Reserve(result, child_count); + ListVector::SetListSize(result, child_count); + + auto &source_child = ArrayVector::GetEntry(source); + auto &result_child = ListVector::GetEntry(result); + + CastParameters child_parameters(parameters, cast_data.child_cast_info.cast_data, parameters.local_state); + bool all_ok = cast_data.child_cast_info.function(source_child, result_child, child_count, child_parameters); + + auto list_data = ListVector::GetData(result); + for (idx_t i = 0; i < count; i++) { + if (FlatVector::IsNull(source, i)) { + FlatVector::SetNull(result, i, true); + continue; + } + + list_data[i].offset = i * array_size; + list_data[i].length = array_size; + } + + if (count == 1) { + result.SetVectorType(VectorType::CONSTANT_VECTOR); + } + + return all_ok; +} + +BoundCastInfo DefaultCasts::ArrayCastSwitch(BindCastInput &input, const LogicalType &source, + const LogicalType &target) { + switch (target.id()) { + case LogicalTypeId::VARCHAR: { + auto size = ArrayType::GetSize(source); + return BoundCastInfo( + ArrayToVarcharCast, + ArrayBoundCastData::BindArrayToArrayCast(input, source, LogicalType::ARRAY(LogicalType::VARCHAR, size)), + ArrayBoundCastData::InitArrayLocalState); + } + case LogicalTypeId::ARRAY: + return BoundCastInfo(ArrayToArrayCast, ArrayBoundCastData::BindArrayToArrayCast(input, source, target), + ArrayBoundCastData::InitArrayLocalState); + case LogicalTypeId::LIST: + return BoundCastInfo(ArrayToListCast, BindArrayToListCast(input, source, target), + ArrayBoundCastData::InitArrayLocalState); + default: + return DefaultCasts::TryVectorNullCast; + }; +} + +} // namespace duckdb diff --git a/src/function/cast/bit_cast.cpp b/src/function/cast/bit_cast.cpp index aaffc12d1d01..6f01047f3783 100644 --- a/src/function/cast/bit_cast.cpp +++ b/src/function/cast/bit_cast.cpp @@ -30,6 +30,8 @@ BoundCastInfo DefaultCasts::BitCastSwitch(BindCastInput &input, const LogicalTyp return BoundCastInfo(&VectorCastHelpers::TryCastLoop); case LogicalTypeId::HUGEINT: return BoundCastInfo(&VectorCastHelpers::TryCastLoop); + case LogicalTypeId::UHUGEINT: + return BoundCastInfo(&VectorCastHelpers::TryCastLoop); case LogicalTypeId::FLOAT: return BoundCastInfo(&VectorCastHelpers::TryCastLoop); case LogicalTypeId::DOUBLE: diff --git a/src/function/cast/cast_function_set.cpp b/src/function/cast/cast_function_set.cpp index cc152e6238f6..ce8c9943db3b 100644 --- a/src/function/cast/cast_function_set.cpp +++ b/src/function/cast/cast_function_set.cpp @@ -1,4 +1,3 @@ - #include "duckdb/function/cast/cast_function_set.hpp" #include "duckdb/common/pair.hpp" @@ -26,6 +25,10 @@ CastFunctionSet::CastFunctionSet() : map_info(nullptr) { bind_functions.emplace_back(DefaultCasts::GetDefaultCastFunction); } +CastFunctionSet::CastFunctionSet(DBConfig &config_p) : CastFunctionSet() { + this->config = &config_p; +} + CastFunctionSet &CastFunctionSet::Get(ClientContext &context) { return DBConfig::GetConfig(context).GetCastFunctions(); } @@ -91,6 +94,8 @@ static auto RelaxedTypeMatch(type_map_t &map, const LogicalType return map.end(); case LogicalTypeId::UNION: return map.find(LogicalType::UNION({{"any", LogicalType::ANY}})); + case LogicalTypeId::ARRAY: + return map.find(LogicalType::ARRAY(LogicalType::ANY)); default: return map.find(LogicalType::ANY); } @@ -154,7 +159,13 @@ int64_t CastFunctionSet::ImplicitCastCost(const LogicalType &source, const Logic } } // if not, fallback to the default implicit cast rules - return CastRules::ImplicitCast(source, target); + auto score = CastRules::ImplicitCast(source, target); + if (score < 0 && config && config->options.old_implicit_casting) { + if (source.id() != LogicalTypeId::BLOB && target.id() == LogicalTypeId::VARCHAR) { + score = 149; + } + } + return score; } BoundCastInfo MapCastFunction(BindCastInput &input, const LogicalType &source, const LogicalType &target) { diff --git a/src/function/cast/decimal_cast.cpp b/src/function/cast/decimal_cast.cpp index e10a77990bfb..6f16bb426e20 100644 --- a/src/function/cast/decimal_cast.cpp +++ b/src/function/cast/decimal_cast.cpp @@ -247,6 +247,8 @@ BoundCastInfo DefaultCasts::DecimalCastSwitch(BindCastInput &input, const Logica return FromDecimalCast; case LogicalTypeId::HUGEINT: return FromDecimalCast; + case LogicalTypeId::UHUGEINT: + return FromDecimalCast; case LogicalTypeId::DECIMAL: { // decimal to decimal cast // first we need to figure out the source and target internal types diff --git a/src/function/cast/default_casts.cpp b/src/function/cast/default_casts.cpp index 1b6bff0102a1..99b68045696a 100644 --- a/src/function/cast/default_casts.cpp +++ b/src/function/cast/default_casts.cpp @@ -5,7 +5,7 @@ #include "duckdb/common/operator/cast_operators.hpp" #include "duckdb/common/string_util.hpp" #include "duckdb/common/types/cast_helpers.hpp" -#include "duckdb/common/types/chunk_collection.hpp" + #include "duckdb/common/types/null_value.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/function/cast/vector_cast_helpers.hpp" @@ -91,6 +91,7 @@ BoundCastInfo DefaultCasts::GetDefaultCastFunction(BindCastInput &input, const L case LogicalTypeId::USMALLINT: case LogicalTypeId::UINTEGER: case LogicalTypeId::UBIGINT: + case LogicalTypeId::UHUGEINT: case LogicalTypeId::HUGEINT: case LogicalTypeId::FLOAT: case LogicalTypeId::DOUBLE: @@ -137,6 +138,8 @@ BoundCastInfo DefaultCasts::GetDefaultCastFunction(BindCastInput &input, const L return UnionCastSwitch(input, source, target); case LogicalTypeId::ENUM: return EnumCastSwitch(input, source, target); + case LogicalTypeId::ARRAY: + return ArrayCastSwitch(input, source, target); case LogicalTypeId::AGGREGATE_STATE: return AggregateStateToBlobCast; default: diff --git a/src/function/cast/list_casts.cpp b/src/function/cast/list_casts.cpp index a1c20b4c04c0..9b2e562722f5 100644 --- a/src/function/cast/list_casts.cpp +++ b/src/function/cast/list_casts.cpp @@ -1,6 +1,7 @@ #include "duckdb/function/cast/default_casts.hpp" #include "duckdb/function/cast/cast_function_set.hpp" #include "duckdb/function/cast/bound_cast_data.hpp" +#include "duckdb/common/operator/cast_operators.hpp" namespace duckdb { @@ -13,6 +14,15 @@ unique_ptr ListBoundCastData::BindListToListCast(BindCastInput &i return make_uniq(std::move(child_cast)); } +static unique_ptr BindListToArrayCast(BindCastInput &input, const LogicalType &source, + const LogicalType &target) { + vector child_cast_info; + auto &source_child_type = ListType::GetChildType(source); + auto &result_child_type = ArrayType::GetChildType(target); + auto child_cast = input.GetCastFunction(source_child_type, result_child_type); + return make_uniq(std::move(child_cast)); +} + unique_ptr ListBoundCastData::InitListLocalState(CastLocalStateParameters ¶meters) { auto &cast_data = parameters.cast_data->Cast(); if (!cast_data.child_cast_info.init_local_state) { @@ -28,11 +38,14 @@ bool ListCast::ListToListCast(Vector &source, Vector &result, idx_t count, CastP // only handle constant and flat vectors here for now if (source.GetVectorType() == VectorType::CONSTANT_VECTOR) { result.SetVectorType(source.GetVectorType()); - ConstantVector::SetNull(result, ConstantVector::IsNull(source)); + const bool is_null = ConstantVector::IsNull(source); + ConstantVector::SetNull(result, is_null); - auto ldata = ConstantVector::GetData(source); - auto tdata = ConstantVector::GetData(result); - *tdata = *ldata; + if (!is_null) { + auto ldata = ConstantVector::GetData(source); + auto tdata = ConstantVector::GetData(result); + *tdata = *ldata; + } } else { source.Flatten(count); result.SetVectorType(VectorType::FLAT_VECTOR); @@ -69,7 +82,7 @@ static bool ListToVarcharCast(Vector &source, Vector &result, idx_t count, CastP auto list_data = FlatVector::GetData(varchar_list); auto &validity = FlatVector::Validity(varchar_list); - child.Flatten(count); + child.Flatten(ListVector::GetListSize(varchar_list)); auto child_data = FlatVector::GetData(child); auto &child_validity = FlatVector::Validity(child); @@ -94,7 +107,7 @@ static bool ListToVarcharCast(Vector &source, Vector &result, idx_t count, CastP } result_data[i] = StringVector::EmptyString(result, list_length); auto dataptr = result_data[i].GetDataWriteable(); - auto offset = 0; + idx_t offset = 0; dataptr[offset++] = '['; for (idx_t list_idx = 0; list_idx < list.length; list_idx++) { auto idx = list.offset + list_idx; @@ -121,6 +134,131 @@ static bool ListToVarcharCast(Vector &source, Vector &result, idx_t count, CastP return true; } +static bool ListToArrayCast(Vector &source, Vector &result, idx_t count, CastParameters ¶meters) { + auto &cast_data = parameters.cast_data->Cast(); + auto array_size = ArrayType::GetSize(result.GetType()); + + // only handle constant and flat vectors here for now + if (source.GetVectorType() == VectorType::CONSTANT_VECTOR) { + result.SetVectorType(source.GetVectorType()); + if (ConstantVector::IsNull(source)) { + ConstantVector::SetNull(result, true); + return true; + } + + auto ldata = ConstantVector::GetData(source)[0]; + if (!ConstantVector::IsNull(source) && ldata.length != array_size) { + // Cant cast to array, list size mismatch + auto msg = StringUtil::Format("Cannot cast list with length %llu to array with length %u", ldata.length, + array_size); + HandleCastError::AssignError(msg, parameters.error_message); + ConstantVector::SetNull(result, true); + return false; + } + + auto &source_cc = ListVector::GetEntry(source); + auto &result_cc = ArrayVector::GetEntry(result); + + // Since the list was constant, there can only be one sequence of data in the child vector + CastParameters child_parameters(parameters, cast_data.child_cast_info.cast_data, parameters.local_state); + bool all_succeeded = cast_data.child_cast_info.function(source_cc, result_cc, array_size, child_parameters); + return all_succeeded; + } else { + source.Flatten(count); + result.SetVectorType(VectorType::FLAT_VECTOR); + + auto child_type = ArrayType::GetChildType(result.GetType()); + auto &source_cc = ListVector::GetEntry(source); + auto &result_cc = ArrayVector::GetEntry(result); + auto ldata = FlatVector::GetData(source); + + auto child_count = array_size * count; + SelectionVector child_sel(child_count); + + bool all_ok = true; + + for (idx_t i = 0; i < count; i++) { + if (FlatVector::IsNull(source, i)) { + FlatVector::SetNull(result, i, true); + for (idx_t array_elem = 0; array_elem < array_size; array_elem++) { + FlatVector::SetNull(result_cc, i * array_size + array_elem, true); + child_sel.set_index(i * array_size + array_elem, 0); + } + } else if (ldata[i].length != array_size) { + if (all_ok) { + all_ok = false; + auto msg = StringUtil::Format("Cannot cast list with length %llu to array with length %u", + ldata[i].length, array_size); + HandleCastError::AssignError(msg, parameters.error_message); + } + FlatVector::SetNull(result, i, true); + for (idx_t array_elem = 0; array_elem < array_size; array_elem++) { + FlatVector::SetNull(result_cc, i * array_size + array_elem, true); + child_sel.set_index(i * array_size + array_elem, 0); + } + } else { + for (idx_t array_elem = 0; array_elem < array_size; array_elem++) { + child_sel.set_index(i * array_size + array_elem, ldata[i].offset + array_elem); + } + } + } + + CastParameters child_parameters(parameters, cast_data.child_cast_info.cast_data, parameters.local_state); + + // Fast path: No lists are null + // We can just cast the child vector directly + // Note: Its worth doing a CheckAllValid here, the slow path is significantly more expensive + if (FlatVector::Validity(source).CheckAllValid(count)) { + Vector payload_vector(result_cc.GetType(), child_count); + + bool ok = cast_data.child_cast_info.function(source_cc, payload_vector, child_count, child_parameters); + if (all_ok && !ok) { + all_ok = false; + HandleCastError::AssignError(*child_parameters.error_message, parameters.error_message); + } + // Now do the actual copy onto the result vector, making sure to slice properly in case the lists are out of + // order + VectorOperations::Copy(payload_vector, result_cc, child_sel, child_count, 0, 0); + return all_ok; + } + + // Slow path: Some lists are null, so we need to copy the data list by list to the right place + auto list_data = FlatVector::GetData(source); + DataChunk cast_chunk; + cast_chunk.Initialize(Allocator::DefaultAllocator(), {source_cc.GetType(), result_cc.GetType()}, array_size); + + for (idx_t i = 0; i < count; i++) { + if (FlatVector::IsNull(source, i)) { + FlatVector::SetNull(result, i, true); + // Also null the array children + for (idx_t array_elem = 0; array_elem < array_size; array_elem++) { + FlatVector::SetNull(result_cc, i * array_size + array_elem, true); + } + } else { + auto &list_cast_input = cast_chunk.data[0]; + auto &list_cast_output = cast_chunk.data[1]; + auto list_entry = list_data[i]; + + VectorOperations::Copy(source_cc, list_cast_input, list_entry.offset + array_size, list_entry.offset, + 0); + + bool ok = + cast_data.child_cast_info.function(list_cast_input, list_cast_output, array_size, child_parameters); + if (all_ok && !ok) { + all_ok = false; + HandleCastError::AssignError(*child_parameters.error_message, parameters.error_message); + } + VectorOperations::Copy(list_cast_output, result_cc, array_size, 0, i * array_size); + + // Reset the cast_chunk + cast_chunk.Reset(); + } + } + + return all_ok; + } +} + BoundCastInfo DefaultCasts::ListCastSwitch(BindCastInput &input, const LogicalType &source, const LogicalType &target) { switch (target.id()) { case LogicalTypeId::LIST: @@ -131,9 +269,16 @@ BoundCastInfo DefaultCasts::ListCastSwitch(BindCastInput &input, const LogicalTy ListToVarcharCast, ListBoundCastData::BindListToListCast(input, source, LogicalType::LIST(LogicalType::VARCHAR)), ListBoundCastData::InitListLocalState); + case LogicalTypeId::ARRAY: + return BoundCastInfo(ListToArrayCast, BindListToArrayCast(input, source, target), + ListBoundCastData::InitListLocalState); default: return DefaultCasts::TryVectorNullCast; } } +/* + + */ + } // namespace duckdb diff --git a/src/function/cast/numeric_casts.cpp b/src/function/cast/numeric_casts.cpp index 071b0604b27b..0438e6e150b1 100644 --- a/src/function/cast/numeric_casts.cpp +++ b/src/function/cast/numeric_casts.cpp @@ -29,6 +29,8 @@ static BoundCastInfo InternalNumericCastSwitch(const LogicalType &source, const return BoundCastInfo(&VectorCastHelpers::TryCastLoop); case LogicalTypeId::HUGEINT: return BoundCastInfo(&VectorCastHelpers::TryCastLoop); + case LogicalTypeId::UHUGEINT: + return BoundCastInfo(&VectorCastHelpers::TryCastLoop); case LogicalTypeId::FLOAT: return BoundCastInfo(&VectorCastHelpers::TryCastLoop); case LogicalTypeId::DOUBLE: @@ -67,6 +69,8 @@ BoundCastInfo DefaultCasts::NumericCastSwitch(BindCastInput &input, const Logica return InternalNumericCastSwitch(source, target); case LogicalTypeId::HUGEINT: return InternalNumericCastSwitch(source, target); + case LogicalTypeId::UHUGEINT: + return InternalNumericCastSwitch(source, target); case LogicalTypeId::FLOAT: return InternalNumericCastSwitch(source, target); case LogicalTypeId::DOUBLE: diff --git a/src/function/cast/string_cast.cpp b/src/function/cast/string_cast.cpp index 5ef31d9043d2..7999e49e8f39 100644 --- a/src/function/cast/string_cast.cpp +++ b/src/function/cast/string_cast.cpp @@ -1,5 +1,6 @@ #include "duckdb/function/cast/default_casts.hpp" #include "duckdb/function/cast/vector_cast_helpers.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" #include "duckdb/common/pair.hpp" #include "duckdb/common/vector.hpp" #include "duckdb/function/scalar/nested_functions.hpp" @@ -102,6 +103,8 @@ static BoundCastInfo VectorStringCastNumericSwitch(BindCastInput &input, const L return BoundCastInfo(&VectorCastHelpers::TryCastStrictLoop); case LogicalTypeId::HUGEINT: return BoundCastInfo(&VectorCastHelpers::TryCastStrictLoop); + case LogicalTypeId::UHUGEINT: + return BoundCastInfo(&VectorCastHelpers::TryCastStrictLoop); case LogicalTypeId::FLOAT: return BoundCastInfo(&VectorCastHelpers::TryCastStrictLoop); case LogicalTypeId::DOUBLE: @@ -189,13 +192,16 @@ bool VectorStringToStruct::StringToNestedTypeCastLoop(const string_t *source_dat Vector varchar_vector(varchar_struct_type, count); auto &child_vectors = StructVector::GetEntries(varchar_vector); auto &result_children = StructVector::GetEntries(result); + auto is_unnamed = StructType::IsUnnamed(result.GetType()); string_map_t child_names; - vector child_masks; + vector> child_masks; for (idx_t child_idx = 0; child_idx < result_children.size(); child_idx++) { - child_names.insert({StructType::GetChildName(result.GetType(), child_idx), child_idx}); - child_masks.emplace_back(&FlatVector::Validity(*child_vectors[child_idx])); - child_masks[child_idx]->SetAllInvalid(count); + if (!is_unnamed) { + child_names.insert({StructType::GetChildName(result.GetType(), child_idx), child_idx}); + } + child_masks.emplace_back(FlatVector::Validity(*child_vectors[child_idx])); + child_masks[child_idx].get().SetAllInvalid(count); } bool all_converted = true; @@ -208,11 +214,14 @@ bool VectorStringToStruct::StringToNestedTypeCastLoop(const string_t *source_dat result_mask.SetInvalid(i); continue; } + if (is_unnamed) { + throw ConversionException("Casting strings to unnamed structs is unsupported"); + } if (!VectorStringToStruct::SplitStruct(source_data[idx], child_vectors, i, child_names, child_masks)) { string text = "Type VARCHAR with value '" + source_data[idx].GetString() + "' can't be cast to the destination type STRUCT"; for (auto &child_mask : child_masks) { - child_mask->SetInvalid(idx); // some values may have already been found and set valid + child_mask.get().SetInvalid(idx); // some values may have already been found and set valid } HandleVectorCastError::Operation(text, result_mask, idx, parameters.error_message, all_converted); } @@ -333,6 +342,81 @@ bool VectorStringToMap::StringToNestedTypeCastLoop(const string_t *source_data, return all_converted; } +//===--------------------------------------------------------------------===// +// string -> array casting +//===--------------------------------------------------------------------===// +bool VectorStringToArray::StringToNestedTypeCastLoop(const string_t *source_data, ValidityMask &source_mask, + Vector &result, ValidityMask &result_mask, idx_t count, + CastParameters ¶meters, const SelectionVector *sel) { + idx_t array_size = ArrayType::GetSize(result.GetType()); + bool all_lengths_match = true; + + for (idx_t i = 0; i < count; i++) { + idx_t idx = i; + if (sel) { + idx = sel->get_index(i); + } + if (!source_mask.RowIsValid(idx)) { + continue; + } + auto str_array_size = VectorStringToList::CountPartsList(source_data[idx]); + if (array_size != str_array_size) { + if (all_lengths_match) { + all_lengths_match = false; + auto msg = + StringUtil::Format("Type VARCHAR with value '%s' can't be cast to the destination type ARRAY[%u]" + ", the size of the array must match the destination type", + source_data[idx].GetString(), array_size); + if (parameters.strict) { + throw ConversionException(msg); + } + HandleCastError::AssignError(msg, parameters.error_message); + } + result_mask.SetInvalid(i); + } + } + + auto child_count = array_size * count; + Vector varchar_vector(LogicalType::VARCHAR, child_count); + auto child_data = FlatVector::GetData(varchar_vector); + + bool all_converted = true; + idx_t total = 0; + for (idx_t i = 0; i < count; i++) { + idx_t idx = i; + if (sel) { + idx = sel->get_index(i); + } + + if (!source_mask.RowIsValid(idx) || !result_mask.RowIsValid(i)) { + // The source is null, or there was a size-mismatch above, so dont try to split the string + result_mask.SetInvalid(i); + + // Null the entire array + for (idx_t j = 0; j < array_size; j++) { + FlatVector::SetNull(varchar_vector, idx * array_size + j, true); + } + + total += array_size; + continue; + } + + if (!VectorStringToList::SplitStringList(source_data[idx], child_data, total, varchar_vector)) { + auto text = StringUtil::Format("Type VARCHAR with value '%s' can't be cast to the destination type ARRAY", + source_data[idx].GetString()); + HandleVectorCastError::Operation(text, result_mask, idx, parameters.error_message, all_converted); + } + } + D_ASSERT(total == child_count); + + auto &result_child = ArrayVector::GetEntry(result); + auto &cast_data = parameters.cast_data->Cast(); + CastParameters child_parameters(parameters, cast_data.child_cast_info.cast_data, parameters.local_state); + bool cast_result = cast_data.child_cast_info.function(varchar_vector, result_child, child_count, child_parameters); + + return all_lengths_match && cast_result && all_converted; +} + template bool StringToNestedTypeCast(Vector &source, Vector &result, idx_t count, CastParameters ¶meters) { D_ASSERT(source.GetType().id() == LogicalTypeId::VARCHAR); @@ -398,6 +482,12 @@ BoundCastInfo DefaultCasts::StringCastSwitch(BindCastInput &input, const Logical &StringToNestedTypeCast, ListBoundCastData::BindListToListCast(input, LogicalType::LIST(LogicalType::VARCHAR), target), ListBoundCastData::InitListLocalState); + case LogicalTypeId::ARRAY: + // the second argument allows for a secondary casting function to be passed in the CastParameters + return BoundCastInfo( + &StringToNestedTypeCast, + ArrayBoundCastData::BindArrayToArrayCast(input, LogicalType::ARRAY(LogicalType::VARCHAR), target), + ArrayBoundCastData::InitArrayLocalState); case LogicalTypeId::STRUCT: return BoundCastInfo(&StringToNestedTypeCast, StructBoundCastData::BindStructToStructCast(input, InitVarcharStructType(target), target), diff --git a/src/function/cast/struct_cast.cpp b/src/function/cast/struct_cast.cpp index b40949acb83c..4aadeee393b2 100644 --- a/src/function/cast/struct_cast.cpp +++ b/src/function/cast/struct_cast.cpp @@ -16,15 +16,42 @@ unique_ptr StructBoundCastData::BindStructToStructCast(BindCastIn if (source_child_types.size() != result_child_types.size()) { throw TypeMismatchException(source, target, "Cannot cast STRUCTs of different size"); } - for (idx_t i = 0; i < source_child_types.size(); i++) { - if (!target_is_unnamed && !source_is_unnamed && - !StringUtil::CIEquals(source_child_types[i].first, result_child_types[i].first)) { - throw TypeMismatchException(source, target, "Cannot cast STRUCTs with different names"); + bool named_struct_cast = !source_is_unnamed && !target_is_unnamed; + case_insensitive_map_t target_members; + if (named_struct_cast) { + for (idx_t i = 0; i < result_child_types.size(); i++) { + auto &target_name = result_child_types[i].first; + if (target_members.find(target_name) != target_members.end()) { + throw NotImplementedException("Error while casting - duplicate name \"%s\" in struct", target_name); + } + target_members[target_name] = i; + } + } + vector child_member_map; + child_member_map.reserve(source_child_types.size()); + for (idx_t source_idx = 0; source_idx < source_child_types.size(); source_idx++) { + auto &source_child = source_child_types[source_idx]; + idx_t target_idx; + if (named_struct_cast) { + // named struct cast - find corresponding member in target + auto entry = target_members.find(source_child.first); + if (entry == target_members.end()) { + throw TypeMismatchException(source, target, + "Cannot cast STRUCTs - element \"" + source_child.first + + "\" in source struct was not found in target struct"); + } + target_idx = entry->second; + target_members.erase(entry); + } else { + // unnamed struct cast - positionally cast elements + target_idx = source_idx; } - auto child_cast = input.GetCastFunction(source_child_types[i].second, result_child_types[i].second); + child_member_map.push_back(target_idx); + auto child_cast = input.GetCastFunction(source_child.second, result_child_types[target_idx].second); child_cast_info.push_back(std::move(child_cast)); } - return make_uniq(std::move(child_cast_info), target); + D_ASSERT(child_member_map.size() == source_child_types.size()); + return make_uniq(std::move(child_cast_info), target, std::move(child_member_map)); } unique_ptr StructBoundCastData::InitStructCastLocalState(CastLocalStateParameters ¶meters) { @@ -52,8 +79,10 @@ static bool StructToStructCast(Vector &source, Vector &result, idx_t count, Cast auto &result_children = StructVector::GetEntries(result); bool all_converted = true; for (idx_t c_idx = 0; c_idx < source_child_types.size(); c_idx++) { - auto &result_child_vector = *result_children[c_idx]; - auto &source_child_vector = *source_children[c_idx]; + auto source_idx = c_idx; + auto target_idx = cast_data.child_member_map[source_idx]; + auto &source_child_vector = *source_children[source_idx]; + auto &result_child_vector = *result_children[target_idx]; CastParameters child_parameters(parameters, cast_data.child_cast_info[c_idx].cast_data, lstate.local_states[c_idx]); if (!cast_data.child_cast_info[c_idx].function(source_child_vector, result_child_vector, count, @@ -80,6 +109,7 @@ static bool StructToVarcharCast(Vector &source, Vector &result, idx_t count, Cas // now construct the actual varchar vector varchar_struct.Flatten(count); + bool is_unnamed = StructType::IsUnnamed(source.GetType()); auto &child_types = StructType::GetChildTypes(source.GetType()); auto &children = StructVector::GetEntries(varchar_struct); auto &validity = FlatVector::Validity(varchar_struct); @@ -101,13 +131,15 @@ static bool StructToVarcharCast(Vector &source, Vector &result, idx_t count, Cas auto &child_validity = FlatVector::Validity(*children[c]); auto data = FlatVector::GetData(*children[c]); auto &name = child_types[c].first; - string_length += name.size() + NAME_SEP_LENGTH; // "'{name}': " + if (!is_unnamed) { + string_length += name.size() + NAME_SEP_LENGTH; // "'{name}': " + } string_length += child_validity.RowIsValid(i) ? data[i].GetSize() : NULL_LENGTH; } result_data[i] = StringVector::EmptyString(result, string_length); auto dataptr = result_data[i].GetDataWriteable(); idx_t offset = 0; - dataptr[offset++] = '{'; + dataptr[offset++] = is_unnamed ? '(' : '{'; for (idx_t c = 0; c < children.size(); c++) { if (c > 0) { memcpy(dataptr + offset, ", ", SEP_LENGTH); @@ -115,14 +147,16 @@ static bool StructToVarcharCast(Vector &source, Vector &result, idx_t count, Cas } auto &child_validity = FlatVector::Validity(*children[c]); auto data = FlatVector::GetData(*children[c]); - auto &name = child_types[c].first; - // "'{name}': " - dataptr[offset++] = '\''; - memcpy(dataptr + offset, name.c_str(), name.size()); - offset += name.size(); - dataptr[offset++] = '\''; - dataptr[offset++] = ':'; - dataptr[offset++] = ' '; + if (!is_unnamed) { + auto &name = child_types[c].first; + // "'{name}': " + dataptr[offset++] = '\''; + memcpy(dataptr + offset, name.c_str(), name.size()); + offset += name.size(); + dataptr[offset++] = '\''; + dataptr[offset++] = ':'; + dataptr[offset++] = ' '; + } // value if (child_validity.RowIsValid(i)) { auto len = data[i].GetSize(); @@ -133,7 +167,7 @@ static bool StructToVarcharCast(Vector &source, Vector &result, idx_t count, Cas offset += NULL_LENGTH; } } - dataptr[offset++] = '}'; + dataptr[offset++] = is_unnamed ? ')' : '}'; result_data[i].Finalize(); } diff --git a/src/function/cast/time_casts.cpp b/src/function/cast/time_casts.cpp index 3586247a4401..2d920490841c 100644 --- a/src/function/cast/time_casts.cpp +++ b/src/function/cast/time_casts.cpp @@ -114,6 +114,13 @@ BoundCastInfo DefaultCasts::TimestampNsCastSwitch(BindCastInput &input, const Lo case LogicalTypeId::VARCHAR: // timestamp (ns) to varchar return BoundCastInfo(&VectorCastHelpers::StringCast); + case LogicalTypeId::DATE: + // timestamp (ns) to date + return BoundCastInfo(&VectorCastHelpers::TemplatedCastLoop); + case LogicalTypeId::TIME: + // timestamp (ns) to time + return BoundCastInfo( + &VectorCastHelpers::TemplatedCastLoop); case LogicalTypeId::TIMESTAMP: // timestamp (ns) to timestamp (us) return BoundCastInfo( @@ -130,6 +137,13 @@ BoundCastInfo DefaultCasts::TimestampMsCastSwitch(BindCastInput &input, const Lo case LogicalTypeId::VARCHAR: // timestamp (ms) to varchar return BoundCastInfo(&VectorCastHelpers::StringCast); + case LogicalTypeId::DATE: + // timestamp (ms) to date + return BoundCastInfo(&VectorCastHelpers::TemplatedCastLoop); + case LogicalTypeId::TIME: + // timestamp (ms) to time + return BoundCastInfo( + &VectorCastHelpers::TemplatedCastLoop); case LogicalTypeId::TIMESTAMP: // timestamp (ms) to timestamp (us) return BoundCastInfo( @@ -148,8 +162,16 @@ BoundCastInfo DefaultCasts::TimestampSecCastSwitch(BindCastInput &input, const L // now switch on the result type switch (target.id()) { case LogicalTypeId::VARCHAR: - // timestamp (sec) to varchar + // timestamp (s) to varchar return BoundCastInfo(&VectorCastHelpers::StringCast); + case LogicalTypeId::DATE: + // timestamp (s) to date + return BoundCastInfo( + &VectorCastHelpers::TemplatedCastLoop); + case LogicalTypeId::TIME: + // timestamp (s) to time + return BoundCastInfo( + &VectorCastHelpers::TemplatedCastLoop); case LogicalTypeId::TIMESTAMP_MS: // timestamp (s) to timestamp (ms) return BoundCastInfo( diff --git a/src/function/cast/union/from_struct.cpp b/src/function/cast/union/from_struct.cpp index 559803b86740..ca3aecfca0f1 100644 --- a/src/function/cast/union/from_struct.cpp +++ b/src/function/cast/union/from_struct.cpp @@ -1,4 +1,5 @@ #include "duckdb/function/cast/bound_cast_data.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" namespace duckdb { diff --git a/src/function/cast/union_casts.cpp b/src/function/cast/union_casts.cpp index 280332458d09..1041958f5d02 100644 --- a/src/function/cast/union_casts.cpp +++ b/src/function/cast/union_casts.cpp @@ -1,6 +1,7 @@ #include "duckdb/function/cast/cast_function_set.hpp" #include "duckdb/function/cast/default_casts.hpp" #include "duckdb/function/cast/bound_cast_data.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" #include // for std::sort @@ -41,7 +42,7 @@ unique_ptr BindToUnionCast(BindCastInput &input, const LogicalTyp message += ", "; } } - throw CastException(message); + throw ConversionException(message); } // sort the candidate casts by cost @@ -68,7 +69,7 @@ unique_ptr BindToUnionCast(BindCastInput &input, const LogicalTyp } message += ". Disambiguate the target type by using the 'union_value( := )' function to promote the " "source value to a single member union before casting."; - throw CastException(message); + throw ConversionException(message); } // otherwise, return the selected cast @@ -182,7 +183,7 @@ unique_ptr BindUnionToUnionCast(BindCastInput &input, const Logic auto message = StringUtil::Format("Type %s can't be cast as %s. The member '%s' is not present in target union", source.ToString(), target.ToString(), source_member_name); - throw CastException(message); + throw ConversionException(message); } } diff --git a/src/function/cast/vector_cast_helpers.cpp b/src/function/cast/vector_cast_helpers.cpp index 98417a88320a..dde8f770171e 100644 --- a/src/function/cast/vector_cast_helpers.cpp +++ b/src/function/cast/vector_cast_helpers.cpp @@ -285,7 +285,7 @@ static bool FindKeyStruct(const char *buf, idx_t len, idx_t &pos) { } static bool FindValueStruct(const char *buf, idx_t len, idx_t &pos, Vector &varchar_child, idx_t &row_idx, - ValidityMask *child_mask) { + ValidityMask &child_mask) { auto start_pos = pos; idx_t lvl = 0; while (pos < len) { @@ -302,7 +302,7 @@ static bool FindValueStruct(const char *buf, idx_t len, idx_t &pos, Vector &varc } FlatVector::GetData(varchar_child)[row_idx] = StringVector::AddString(varchar_child, buf + start_pos, end_pos - start_pos); - child_mask->SetValid(row_idx); // any child not set to valid will remain invalid + child_mask.SetValid(row_idx); // any child not set to valid will remain invalid return true; } pos++; @@ -312,7 +312,7 @@ static bool FindValueStruct(const char *buf, idx_t len, idx_t &pos, Vector &varc bool VectorStringToStruct::SplitStruct(const string_t &input, vector> &varchar_vectors, idx_t &row_idx, string_map_t &child_names, - vector &child_masks) { + vector> &child_masks) { const char *buf = input.GetData(); idx_t len = input.GetSize(); idx_t pos = 0; @@ -332,6 +332,10 @@ bool VectorStringToStruct::SplitStruct(const string_t &input, vector= key_end) { + // empty key name unsupported + return false; + } string_t found_key(buf + key_start, key_end - key_start); auto it = child_names.find(found_key); @@ -340,7 +344,7 @@ bool VectorStringToStruct::SplitStruct(const string_t &input, vectorsecond; SkipWhitespace(buf, ++pos, len); - if (!FindValueStruct(buf, len, pos, *varchar_vectors[child_idx], row_idx, child_masks[child_idx])) { + if (!FindValueStruct(buf, len, pos, *varchar_vectors[child_idx], row_idx, child_masks[child_idx].get())) { return false; } SkipWhitespace(buf, ++pos, len); diff --git a/src/function/cast_rules.cpp b/src/function/cast_rules.cpp index f4ffb84c92f9..84a4bd03b982 100644 --- a/src/function/cast_rules.cpp +++ b/src/function/cast_rules.cpp @@ -5,25 +5,34 @@ namespace duckdb { //! The target type determines the preferred implicit casts static int64_t TargetTypeCost(const LogicalType &type) { switch (type.id()) { - case LogicalTypeId::INTEGER: - return 103; case LogicalTypeId::BIGINT: return 101; - case LogicalTypeId::DOUBLE: + case LogicalTypeId::INTEGER: return 102; case LogicalTypeId::HUGEINT: - return 120; + return 103; + case LogicalTypeId::DOUBLE: + return 104; + case LogicalTypeId::DECIMAL: + return 105; + case LogicalTypeId::TIMESTAMP_NS: + return 119; case LogicalTypeId::TIMESTAMP: return 120; + case LogicalTypeId::TIMESTAMP_MS: + return 121; + case LogicalTypeId::TIMESTAMP_SEC: + return 122; case LogicalTypeId::VARCHAR: return 149; - case LogicalTypeId::DECIMAL: - return 104; case LogicalTypeId::STRUCT: case LogicalTypeId::MAP: case LogicalTypeId::LIST: case LogicalTypeId::UNION: + case LogicalTypeId::ARRAY: return 160; + case LogicalTypeId::ANY: + return int64_t(AnyType::GetCastScore(type)); default: return 110; } @@ -92,6 +101,7 @@ static int64_t ImplicitCastUTinyint(const LogicalType &to) { case LogicalTypeId::INTEGER: case LogicalTypeId::BIGINT: case LogicalTypeId::HUGEINT: + case LogicalTypeId::UHUGEINT: case LogicalTypeId::FLOAT: case LogicalTypeId::DOUBLE: case LogicalTypeId::DECIMAL: @@ -108,6 +118,7 @@ static int64_t ImplicitCastUSmallint(const LogicalType &to) { case LogicalTypeId::INTEGER: case LogicalTypeId::BIGINT: case LogicalTypeId::HUGEINT: + case LogicalTypeId::UHUGEINT: case LogicalTypeId::FLOAT: case LogicalTypeId::DOUBLE: case LogicalTypeId::DECIMAL: @@ -122,6 +133,7 @@ static int64_t ImplicitCastUInteger(const LogicalType &to) { case LogicalTypeId::UBIGINT: case LogicalTypeId::BIGINT: + case LogicalTypeId::UHUGEINT: case LogicalTypeId::HUGEINT: case LogicalTypeId::FLOAT: case LogicalTypeId::DOUBLE: @@ -136,6 +148,7 @@ static int64_t ImplicitCastUBigint(const LogicalType &to) { switch (to.id()) { case LogicalTypeId::FLOAT: case LogicalTypeId::DOUBLE: + case LogicalTypeId::UHUGEINT: case LogicalTypeId::HUGEINT: case LogicalTypeId::DECIMAL: return TargetTypeCost(to); @@ -181,6 +194,17 @@ static int64_t ImplicitCastHugeint(const LogicalType &to) { } } +static int64_t ImplicitCastUhugeint(const LogicalType &to) { + switch (to.id()) { + case LogicalTypeId::FLOAT: + case LogicalTypeId::DOUBLE: + case LogicalTypeId::DECIMAL: + return TargetTypeCost(to); + default: + return -1; + } +} + static int64_t ImplicitCastDate(const LogicalType &to) { switch (to.id()) { case LogicalTypeId::TIMESTAMP: @@ -190,8 +214,106 @@ static int64_t ImplicitCastDate(const LogicalType &to) { } } +static int64_t ImplicitCastEnum(const LogicalType &to) { + switch (to.id()) { + case LogicalTypeId::VARCHAR: + return TargetTypeCost(to); + default: + return -1; + } +} + +static int64_t ImplicitCastTimestampSec(const LogicalType &to) { + switch (to.id()) { + case LogicalTypeId::TIMESTAMP: + case LogicalTypeId::TIMESTAMP_MS: + case LogicalTypeId::TIMESTAMP_NS: + return TargetTypeCost(to); + default: + return -1; + } +} + +static int64_t ImplicitCastTimestampMS(const LogicalType &to) { + switch (to.id()) { + case LogicalTypeId::TIMESTAMP: + case LogicalTypeId::TIMESTAMP_NS: + return TargetTypeCost(to); + default: + return -1; + } +} + +static int64_t ImplicitCastTimestampNS(const LogicalType &to) { + switch (to.id()) { + case LogicalTypeId::TIMESTAMP: + // we allow casting ALL timestamps, including nanosecond ones, to TimestampNS + return TargetTypeCost(to); + default: + return -1; + } +} + +static int64_t ImplicitCastTimestamp(const LogicalType &to) { + switch (to.id()) { + case LogicalTypeId::TIMESTAMP_NS: + return TargetTypeCost(to); + default: + return -1; + } +} + +bool LogicalTypeIsValid(const LogicalType &type) { + switch (type.id()) { + case LogicalTypeId::STRUCT: + case LogicalTypeId::UNION: + case LogicalTypeId::LIST: + case LogicalTypeId::MAP: + case LogicalTypeId::ARRAY: + case LogicalTypeId::DECIMAL: + // these types are only valid with auxiliary info + if (!type.AuxInfo()) { + return false; + } + break; + default: + break; + } + switch (type.id()) { + case LogicalTypeId::ANY: + case LogicalTypeId::INVALID: + case LogicalTypeId::UNKNOWN: + return false; + case LogicalTypeId::STRUCT: { + auto child_count = StructType::GetChildCount(type); + for (idx_t i = 0; i < child_count; i++) { + if (!LogicalTypeIsValid(StructType::GetChildType(type, i))) { + return false; + } + } + return true; + } + case LogicalTypeId::UNION: { + auto member_count = UnionType::GetMemberCount(type); + for (idx_t i = 0; i < member_count; i++) { + if (!LogicalTypeIsValid(UnionType::GetMemberType(type, i))) { + return false; + } + } + return true; + } + case LogicalTypeId::LIST: + case LogicalTypeId::MAP: + return LogicalTypeIsValid(ListType::GetChildType(type)); + case LogicalTypeId::ARRAY: + return LogicalTypeIsValid(ArrayType::GetChildType(type)); + default: + return true; + } +} + int64_t CastRules::ImplicitCast(const LogicalType &from, const LogicalType &to) { - if (from.id() == LogicalTypeId::SQLNULL) { + if (from.id() == LogicalTypeId::SQLNULL || to.id() == LogicalTypeId::ANY) { // NULL expression can be cast to anything return TargetTypeCost(to); } @@ -199,9 +321,34 @@ int64_t CastRules::ImplicitCast(const LogicalType &from, const LogicalType &to) // parameter expression can be cast to anything for no cost return 0; } - if (to.id() == LogicalTypeId::ANY) { - // anything can be cast to ANY type for (almost no) cost - return 1; + if (from.id() == LogicalTypeId::STRING_LITERAL) { + // string literals can be cast to any type for low cost as long as the type is valid + // i.e. we cannot cast to LIST(ANY) as we don't know what "ANY" should be + // we cannot cast to DECIMAL without precision/width specified + if (!LogicalTypeIsValid(to)) { + return -1; + } + if (to.id() == LogicalTypeId::VARCHAR && to.GetAlias().empty()) { + return 1; + } + return 20; + } + if (from.id() == LogicalTypeId::INTEGER_LITERAL) { + // the integer literal has an underlying type - this type always matches + if (IntegerLiteral::GetType(from).id() == to.id()) { + return 0; + } + // integer literals can be cast to any other integer type for a low cost, but only if the literal fits + if (IntegerLiteral::FitsInType(from, to)) { + // to avoid ties we prefer BIGINT, INT, ... + auto target_cost = TargetTypeCost(to); + if (target_cost < 100) { + throw InternalException("Integer literal implicit cast - TargetTypeCost should be >= 100"); + } + return target_cost - 90; + } + // in any other case we use the casting rules of the preferred type of the literal + return CastRules::ImplicitCast(IntegerLiteral::GetType(from), to); } if (from.GetAlias() != to.GetAlias()) { // if aliases are different, an implicit cast is not possible @@ -210,24 +357,43 @@ int64_t CastRules::ImplicitCast(const LogicalType &from, const LogicalType &to) if (from.id() == LogicalTypeId::LIST && to.id() == LogicalTypeId::LIST) { // Lists can be cast if their child types can be cast auto child_cost = ImplicitCast(ListType::GetChildType(from), ListType::GetChildType(to)); - if (child_cost >= 100) { + if (child_cost >= 1) { // subtract one from the cost because we prefer LIST[X] -> LIST[VARCHAR] over LIST[X] -> VARCHAR child_cost--; } return child_cost; } + if (from.id() == LogicalTypeId::ARRAY && to.id() == LogicalTypeId::ARRAY) { + // Arrays can be cast if their child types can be cast and the source and target has the same size + // or the target type has a unknown (any) size. + auto from_size = ArrayType::GetSize(from); + auto to_size = ArrayType::GetSize(to); + auto to_is_any_size = ArrayType::IsAnySize(to); + if (from_size == to_size || to_is_any_size) { + auto child_cost = ImplicitCast(ArrayType::GetChildType(from), ArrayType::GetChildType(to)); + if (child_cost >= 100) { + // subtract one from the cost because we prefer ARRAY[X] -> ARRAY[VARCHAR] over ARRAY[X] -> VARCHAR + child_cost--; + } + return child_cost; + } + return -1; // Not possible if the sizes are different + } + if (from.id() == LogicalTypeId::ARRAY && to.id() == LogicalTypeId::LIST) { + // Arrays can be cast to lists for the cost of casting the child type + // add 1 because we prefer ARRAY->ARRAY casts over ARRAY->LIST casts + return ImplicitCast(ArrayType::GetChildType(from), ListType::GetChildType(to)) + 1; + } + if (from.id() == LogicalTypeId::LIST && (to.id() == LogicalTypeId::ARRAY && !ArrayType::IsAnySize(to))) { + // Lists can be cast to arrays for the cost of casting the child type, if the target size is known + // there is no way for us to resolve the size at bind-time without inspecting the list values. + // TODO: if we can access the expression we could resolve the size if the list is constant. + return ImplicitCast(ListType::GetChildType(from), ArrayType::GetChildType(to)); + } if (from.id() == to.id()) { // arguments match: do nothing return 0; } - if (from.id() == LogicalTypeId::BLOB && to.id() == LogicalTypeId::VARCHAR) { - // Implicit cast not allowed from BLOB to VARCHAR - return -1; - } - if (to.id() == LogicalTypeId::VARCHAR) { - // everything can be cast to VARCHAR, but this cast has a high cost - return TargetTypeCost(to); - } if (from.id() == LogicalTypeId::UNION && to.id() == LogicalTypeId::UNION) { // Unions can be cast if the source tags are a subset of the target tags @@ -273,18 +439,6 @@ int64_t CastRules::ImplicitCast(const LogicalType &from, const LogicalType &to) } } - if ((from.id() == LogicalTypeId::TIMESTAMP_SEC || from.id() == LogicalTypeId::TIMESTAMP_MS || - from.id() == LogicalTypeId::TIMESTAMP_NS) && - to.id() == LogicalTypeId::TIMESTAMP) { - //! Any timestamp type can be converted to the default (us) type at low cost - return 101; - } - if ((to.id() == LogicalTypeId::TIMESTAMP_SEC || to.id() == LogicalTypeId::TIMESTAMP_MS || - to.id() == LogicalTypeId::TIMESTAMP_NS) && - from.id() == LogicalTypeId::TIMESTAMP) { - //! Any timestamp type can be converted to the default (us) type at low cost - return 100; - } switch (from.id()) { case LogicalTypeId::TINYINT: return ImplicitCastTinyint(to); @@ -304,6 +458,8 @@ int64_t CastRules::ImplicitCast(const LogicalType &from, const LogicalType &to) return ImplicitCastUBigint(to); case LogicalTypeId::HUGEINT: return ImplicitCastHugeint(to); + case LogicalTypeId::UHUGEINT: + return ImplicitCastUhugeint(to); case LogicalTypeId::FLOAT: return ImplicitCastFloat(to); case LogicalTypeId::DOUBLE: @@ -312,6 +468,16 @@ int64_t CastRules::ImplicitCast(const LogicalType &from, const LogicalType &to) return ImplicitCastDate(to); case LogicalTypeId::DECIMAL: return ImplicitCastDecimal(to); + case LogicalTypeId::ENUM: + return ImplicitCastEnum(to); + case LogicalTypeId::TIMESTAMP_SEC: + return ImplicitCastTimestampSec(to); + case LogicalTypeId::TIMESTAMP_MS: + return ImplicitCastTimestampMS(to); + case LogicalTypeId::TIMESTAMP_NS: + return ImplicitCastTimestampNS(to); + case LogicalTypeId::TIMESTAMP: + return ImplicitCastTimestamp(to); default: return -1; } diff --git a/src/function/compression_config.cpp b/src/function/compression_config.cpp index 50e68297068d..177a2d86a767 100644 --- a/src/function/compression_config.cpp +++ b/src/function/compression_config.cpp @@ -23,6 +23,8 @@ static DefaultCompressionMethod internal_compression_methods[] = { DictionaryCompressionFun::TypeIsSupported}, {CompressionType::COMPRESSION_CHIMP, ChimpCompressionFun::GetFunction, ChimpCompressionFun::TypeIsSupported}, {CompressionType::COMPRESSION_PATAS, PatasCompressionFun::GetFunction, PatasCompressionFun::TypeIsSupported}, + {CompressionType::COMPRESSION_ALP, AlpCompressionFun::GetFunction, AlpCompressionFun::TypeIsSupported}, + {CompressionType::COMPRESSION_ALPRD, AlpRDCompressionFun::GetFunction, AlpRDCompressionFun::TypeIsSupported}, {CompressionType::COMPRESSION_FSST, FSSTFun::GetFunction, FSSTFun::TypeIsSupported}, {CompressionType::COMPRESSION_AUTO, nullptr, nullptr}}; @@ -76,6 +78,8 @@ vector> DBConfig::GetCompressionFunctions(Physica TryLoadCompression(*this, result, CompressionType::COMPRESSION_DICTIONARY, data_type); TryLoadCompression(*this, result, CompressionType::COMPRESSION_CHIMP, data_type); TryLoadCompression(*this, result, CompressionType::COMPRESSION_PATAS, data_type); + TryLoadCompression(*this, result, CompressionType::COMPRESSION_ALP, data_type); + TryLoadCompression(*this, result, CompressionType::COMPRESSION_ALPRD, data_type); TryLoadCompression(*this, result, CompressionType::COMPRESSION_FSST, data_type); return result; } diff --git a/src/function/function.cpp b/src/function/function.cpp index 44547e88855a..3d76a7257afc 100644 --- a/src/function/function.cpp +++ b/src/function/function.cpp @@ -47,7 +47,7 @@ SimpleFunction::~SimpleFunction() { } string SimpleFunction::ToString() const { - return Function::CallToString(name, arguments); + return Function::CallToString(name, arguments, varargs); } bool SimpleFunction::HasVarArgs() const { @@ -71,17 +71,17 @@ bool SimpleNamedParameterFunction::HasNamedParameters() const { } BaseScalarFunction::BaseScalarFunction(string name_p, vector arguments_p, LogicalType return_type_p, - FunctionSideEffects side_effects, LogicalType varargs_p, + FunctionStability stability, LogicalType varargs_p, FunctionNullHandling null_handling) : SimpleFunction(std::move(name_p), std::move(arguments_p), std::move(varargs_p)), - return_type(std::move(return_type_p)), side_effects(side_effects), null_handling(null_handling) { + return_type(std::move(return_type_p)), stability(stability), null_handling(null_handling) { } BaseScalarFunction::~BaseScalarFunction() { } string BaseScalarFunction::ToString() const { - return Function::CallToString(name, arguments, return_type); + return Function::CallToString(name, arguments, varargs, return_type); } // add your initializer for new functions here @@ -118,16 +118,22 @@ hash_t BaseScalarFunction::Hash() const { return hash; } -string Function::CallToString(const string &name, const vector &arguments) { +string Function::CallToString(const string &name, const vector &arguments, const LogicalType &varargs) { string result = name + "("; - result += StringUtil::Join(arguments, arguments.size(), ", ", - [](const LogicalType &argument) { return argument.ToString(); }); + vector string_arguments; + for (auto &arg : arguments) { + string_arguments.push_back(arg.ToString()); + } + if (varargs.IsValid()) { + string_arguments.push_back("[" + varargs.ToString() + "...]"); + } + result += StringUtil::Join(string_arguments, ", "); return result + ")"; } -string Function::CallToString(const string &name, const vector &arguments, +string Function::CallToString(const string &name, const vector &arguments, const LogicalType &varargs, const LogicalType &return_type) { - string result = CallToString(name, arguments); + string result = CallToString(name, arguments, varargs); result += " -> " + return_type.ToString(); return result; } diff --git a/src/function/function_binder.cpp b/src/function/function_binder.cpp index 68d7ef812c00..e6109d72e71f 100644 --- a/src/function/function_binder.cpp +++ b/src/function/function_binder.cpp @@ -6,6 +6,7 @@ #include "duckdb/execution/expression_executor.hpp" #include "duckdb/function/aggregate_function.hpp" #include "duckdb/function/cast_rules.hpp" +#include "duckdb/parser/parsed_data/create_secret_info.hpp" #include "duckdb/planner/expression/bound_aggregate_expression.hpp" #include "duckdb/planner/expression/bound_cast_expression.hpp" #include "duckdb/planner/expression/bound_constant_expression.hpp" @@ -51,7 +52,12 @@ int64_t FunctionBinder::BindFunctionCost(const SimpleFunction &func, const vecto return -1; } int64_t cost = 0; + bool has_parameter = false; for (idx_t i = 0; i < arguments.size(); i++) { + if (arguments[i].id() == LogicalTypeId::UNKNOWN) { + has_parameter = true; + continue; + } int64_t cast_cost = CastFunctionSet::Get(context).ImplicitCastCost(arguments[i], func.arguments[i]); if (cast_cost >= 0) { // we can implicitly cast, add the cost to the total cost @@ -61,12 +67,16 @@ int64_t FunctionBinder::BindFunctionCost(const SimpleFunction &func, const vecto return -1; } } + if (has_parameter) { + // all arguments are implicitly castable and there is a parameter - return 0 as cost + return 0; + } return cost; } template vector FunctionBinder::BindFunctionsFromArguments(const string &name, FunctionSet &functions, - const vector &arguments, string &error) { + const vector &arguments, ErrorData &error) { idx_t best_function = DConstants::INVALID_INDEX; int64_t lowest_cost = NumericLimits::Maximum(); vector candidate_functions; @@ -91,14 +101,11 @@ vector FunctionBinder::BindFunctionsFromArguments(const string &name, Fun } if (best_function == DConstants::INVALID_INDEX) { // no matching function was found, throw an error - string call_str = Function::CallToString(name, arguments); - string candidate_str = ""; + vector candidates; for (auto &f : functions.functions) { - candidate_str += "\t" + f.ToString() + "\n"; + candidates.push_back(f.ToString()); } - error = StringUtil::Format("No function matches the given name and argument types '%s'. You might need to add " - "explicit type casts.\n\tCandidate functions:\n%s", - call_str, candidate_str); + error = ErrorData(BinderException::NoMatchingFunction(name, arguments, candidates)); return candidate_functions; } candidate_functions.push_back(best_function); @@ -108,25 +115,27 @@ vector FunctionBinder::BindFunctionsFromArguments(const string &name, Fun template idx_t FunctionBinder::MultipleCandidateException(const string &name, FunctionSet &functions, vector &candidate_functions, - const vector &arguments, string &error) { + const vector &arguments, ErrorData &error) { D_ASSERT(functions.functions.size() > 1); // there are multiple possible function definitions // throw an exception explaining which overloads are there string call_str = Function::CallToString(name, arguments); - string candidate_str = ""; + string candidate_str; for (auto &conf : candidate_functions) { T f = functions.GetFunctionByOffset(conf); candidate_str += "\t" + f.ToString() + "\n"; } - error = StringUtil::Format("Could not choose a best candidate function for the function call \"%s\". In order to " - "select one, please add explicit type casts.\n\tCandidate functions:\n%s", - call_str, candidate_str); + error = ErrorData( + ExceptionType::BINDER, + StringUtil::Format("Could not choose a best candidate function for the function call \"%s\". In order to " + "select one, please add explicit type casts.\n\tCandidate functions:\n%s", + call_str, candidate_str)); return DConstants::INVALID_INDEX; } template idx_t FunctionBinder::BindFunctionFromArguments(const string &name, FunctionSet &functions, - const vector &arguments, string &error) { + const vector &arguments, ErrorData &error) { auto candidate_functions = BindFunctionsFromArguments(name, functions, arguments, error); if (candidate_functions.empty()) { // no candidates @@ -149,35 +158,36 @@ idx_t FunctionBinder::BindFunctionFromArguments(const string &name, FunctionSet< } idx_t FunctionBinder::BindFunction(const string &name, ScalarFunctionSet &functions, - const vector &arguments, string &error) { + const vector &arguments, ErrorData &error) { return BindFunctionFromArguments(name, functions, arguments, error); } idx_t FunctionBinder::BindFunction(const string &name, AggregateFunctionSet &functions, - const vector &arguments, string &error) { + const vector &arguments, ErrorData &error) { return BindFunctionFromArguments(name, functions, arguments, error); } idx_t FunctionBinder::BindFunction(const string &name, TableFunctionSet &functions, - const vector &arguments, string &error) { + const vector &arguments, ErrorData &error) { return BindFunctionFromArguments(name, functions, arguments, error); } -idx_t FunctionBinder::BindFunction(const string &name, PragmaFunctionSet &functions, PragmaInfo &info, string &error) { +idx_t FunctionBinder::BindFunction(const string &name, PragmaFunctionSet &functions, vector ¶meters, + ErrorData &error) { vector types; - for (auto &value : info.parameters) { + for (auto &value : parameters) { types.push_back(value.type()); } idx_t entry = BindFunctionFromArguments(name, functions, types, error); if (entry == DConstants::INVALID_INDEX) { - throw BinderException(error); + error.Throw(); } auto candidate_function = functions.GetFunctionByOffset(entry); // cast the input parameters - for (idx_t i = 0; i < info.parameters.size(); i++) { + for (idx_t i = 0; i < parameters.size(); i++) { auto target_type = i < candidate_function.arguments.size() ? candidate_function.arguments[i] : candidate_function.varargs; - info.parameters[i] = info.parameters[i].CastAs(context, target_type); + parameters[i] = parameters[i].CastAs(context, target_type); } return entry; } @@ -186,25 +196,25 @@ vector FunctionBinder::GetLogicalTypesFromExpressions(vector types; types.reserve(arguments.size()); for (auto &argument : arguments) { - types.push_back(argument->return_type); + types.push_back(ExpressionBinder::GetExpressionReturnType(*argument)); } return types; } idx_t FunctionBinder::BindFunction(const string &name, ScalarFunctionSet &functions, - vector> &arguments, string &error) { + vector> &arguments, ErrorData &error) { auto types = GetLogicalTypesFromExpressions(arguments); return BindFunction(name, functions, types, error); } idx_t FunctionBinder::BindFunction(const string &name, AggregateFunctionSet &functions, - vector> &arguments, string &error) { + vector> &arguments, ErrorData &error) { auto types = GetLogicalTypesFromExpressions(arguments); return BindFunction(name, functions, types, error); } idx_t FunctionBinder::BindFunction(const string &name, TableFunctionSet &functions, - vector> &arguments, string &error) { + vector> &arguments, ErrorData &error) { auto types = GetLogicalTypesFromExpressions(arguments); return BindFunction(name, functions, types, error); } @@ -221,12 +231,35 @@ LogicalTypeComparisonResult RequiresCast(const LogicalType &source_type, const L if (source_type.id() == LogicalTypeId::LIST && target_type.id() == LogicalTypeId::LIST) { return RequiresCast(ListType::GetChildType(source_type), ListType::GetChildType(target_type)); } + if (source_type.id() == LogicalTypeId::ARRAY && target_type.id() == LogicalTypeId::ARRAY) { + return RequiresCast(ArrayType::GetChildType(source_type), ArrayType::GetChildType(target_type)); + } return LogicalTypeComparisonResult::DIFFERENT_TYPES; } +LogicalType PrepareTypeForCast(const LogicalType &type) { + if (type.id() == LogicalTypeId::ANY) { + return AnyType::GetTargetType(type); + } + if (type.id() == LogicalTypeId::LIST) { + return LogicalType::LIST(PrepareTypeForCast(ListType::GetChildType(type))); + } + return type; +} + void FunctionBinder::CastToFunctionArguments(SimpleFunction &function, vector> &children) { + for (auto &arg : function.arguments) { + arg = PrepareTypeForCast(arg); + } + function.varargs = PrepareTypeForCast(function.varargs); + for (idx_t i = 0; i < children.size(); i++) { auto target_type = i < function.arguments.size() ? function.arguments[i] : function.varargs; + if (target_type.id() == LogicalTypeId::STRING_LITERAL || target_type.id() == LogicalTypeId::INTEGER_LITERAL) { + throw InternalException( + "Function %s returned a STRING_LITERAL or INTEGER_LITERAL type - return an explicit type instead", + function.name); + } target_type.Verify(); // don't cast lambda children, they get removed before execution if (children[i]->return_type.id() == LogicalTypeId::LAMBDA) { @@ -244,7 +277,7 @@ void FunctionBinder::CastToFunctionArguments(SimpleFunction &function, vector FunctionBinder::BindScalarFunction(const string &schema, const string &name, - vector> children, string &error, + vector> children, ErrorData &error, bool is_operator, Binder *binder) { // bind the function auto &function = @@ -255,7 +288,7 @@ unique_ptr FunctionBinder::BindScalarFunction(const string &schema, } unique_ptr FunctionBinder::BindScalarFunction(ScalarFunctionCatalogEntry &func, - vector> children, string &error, + vector> children, ErrorData &error, bool is_operator, Binder *binder) { // bind the function idx_t best_function = BindFunction(func.name, func.functions, children, error); @@ -266,10 +299,28 @@ unique_ptr FunctionBinder::BindScalarFunction(ScalarFunctionCatalogE // found a matching function! auto bound_function = func.functions.GetFunctionByOffset(best_function); + // If any of the parameters are NULL, the function will just be replaced with a NULL constant + // But this NULL constant needs to have to correct type, because we use LogicalType::SQLNULL for binding macro's + // However, some functions may have an invalid return type, so we default to SQLNULL for those + LogicalType return_type_if_null; + switch (bound_function.return_type.id()) { + case LogicalTypeId::ANY: + case LogicalTypeId::DECIMAL: + case LogicalTypeId::STRUCT: + case LogicalTypeId::LIST: + case LogicalTypeId::MAP: + case LogicalTypeId::UNION: + case LogicalTypeId::ARRAY: + return_type_if_null = LogicalType::SQLNULL; + break; + default: + return_type_if_null = bound_function.return_type; + } + if (bound_function.null_handling == FunctionNullHandling::DEFAULT_NULL_HANDLING) { for (auto &child : children) { if (child->return_type == LogicalTypeId::SQLNULL) { - return make_uniq(Value(LogicalType::SQLNULL)); + return make_uniq(Value(return_type_if_null)); } if (!child->IsFoldable()) { continue; @@ -279,7 +330,7 @@ unique_ptr FunctionBinder::BindScalarFunction(ScalarFunctionCatalogE continue; } if (result.IsNull()) { - return make_uniq(Value(LogicalType::SQLNULL)); + return make_uniq(Value(return_type_if_null)); } } } diff --git a/src/function/function_set.cpp b/src/function/function_set.cpp index dbbfdfa8b93f..fd4cf3e702bb 100644 --- a/src/function/function_set.cpp +++ b/src/function/function_set.cpp @@ -14,12 +14,12 @@ ScalarFunctionSet::ScalarFunctionSet(ScalarFunction fun) : FunctionSet(std::move } ScalarFunction ScalarFunctionSet::GetFunctionByArguments(ClientContext &context, const vector &arguments) { - string error; + ErrorData error; FunctionBinder binder(context); idx_t index = binder.BindFunction(name, *this, arguments, error); if (index == DConstants::INVALID_INDEX) { throw InternalException("Failed to find function %s(%s)\n%s", name, StringUtil::ToString(arguments, ","), - error); + error.Message()); } return GetFunctionByOffset(index); } @@ -36,7 +36,7 @@ AggregateFunctionSet::AggregateFunctionSet(AggregateFunction fun) : FunctionSet( AggregateFunction AggregateFunctionSet::GetFunctionByArguments(ClientContext &context, const vector &arguments) { - string error; + ErrorData error; FunctionBinder binder(context); idx_t index = binder.BindFunction(name, *this, arguments, error); if (index == DConstants::INVALID_INDEX) { @@ -59,7 +59,7 @@ AggregateFunction AggregateFunctionSet::GetFunctionByArguments(ClientContext &co } } throw InternalException("Failed to find function %s(%s)\n%s", name, StringUtil::ToString(arguments, ","), - error); + error.Message()); } return GetFunctionByOffset(index); } @@ -72,12 +72,12 @@ TableFunctionSet::TableFunctionSet(TableFunction fun) : FunctionSet(std::move(fu } TableFunction TableFunctionSet::GetFunctionByArguments(ClientContext &context, const vector &arguments) { - string error; + ErrorData error; FunctionBinder binder(context); idx_t index = binder.BindFunction(name, *this, arguments, error); if (index == DConstants::INVALID_INDEX) { throw InternalException("Failed to find function %s(%s)\n%s", name, StringUtil::ToString(arguments, ","), - error); + error.Message()); } return GetFunctionByOffset(index); } diff --git a/src/function/pragma/pragma_functions.cpp b/src/function/pragma/pragma_functions.cpp index b4a3f6ce9be0..d44ec629d26b 100644 --- a/src/function/pragma/pragma_functions.cpp +++ b/src/function/pragma/pragma_functions.cpp @@ -5,6 +5,7 @@ #include "duckdb/main/client_context.hpp" #include "duckdb/main/database.hpp" #include "duckdb/main/query_profiler.hpp" +#include "duckdb/main/secret/secret_manager.hpp" #include "duckdb/parallel/task_scheduler.hpp" #include "duckdb/planner/expression_binder.hpp" #include "duckdb/storage/buffer_manager.hpp" @@ -76,16 +77,16 @@ static void PragmaDisableExternalVerification(ClientContext &context, const Func ClientConfig::GetConfig(context).verify_external = false; } -static void PragmaEnableForceParallelism(ClientContext &context, const FunctionParameters ¶meters) { - ClientConfig::GetConfig(context).verify_parallelism = true; +static void PragmaEnableFetchRowVerification(ClientContext &context, const FunctionParameters ¶meters) { + ClientConfig::GetConfig(context).verify_fetch_row = true; } -static void PragmaEnableIndexJoin(ClientContext &context, const FunctionParameters ¶meters) { - ClientConfig::GetConfig(context).enable_index_join = true; +static void PragmaDisableFetchRowVerification(ClientContext &context, const FunctionParameters ¶meters) { + ClientConfig::GetConfig(context).verify_fetch_row = false; } -static void PragmaEnableForceIndexJoin(ClientContext &context, const FunctionParameters ¶meters) { - ClientConfig::GetConfig(context).force_index_join = true; +static void PragmaEnableForceParallelism(ClientContext &context, const FunctionParameters ¶meters) { + ClientConfig::GetConfig(context).verify_parallelism = true; } static void PragmaForceCheckpoint(ClientContext &context, const FunctionParameters ¶meters) { @@ -132,6 +133,9 @@ void PragmaFunctions::RegisterFunction(BuiltinFunctions &set) { set.AddFunction(PragmaFunction::PragmaStatement("verify_external", PragmaEnableExternalVerification)); set.AddFunction(PragmaFunction::PragmaStatement("disable_verify_external", PragmaDisableExternalVerification)); + set.AddFunction(PragmaFunction::PragmaStatement("verify_fetch_row", PragmaEnableFetchRowVerification)); + set.AddFunction(PragmaFunction::PragmaStatement("disable_verify_fetch_row", PragmaDisableFetchRowVerification)); + set.AddFunction(PragmaFunction::PragmaStatement("verify_serializer", PragmaVerifySerializer)); set.AddFunction(PragmaFunction::PragmaStatement("disable_verify_serializer", PragmaDisableVerifySerializer)); @@ -144,8 +148,6 @@ void PragmaFunctions::RegisterFunction(BuiltinFunctions &set) { set.AddFunction(PragmaFunction::PragmaStatement("enable_optimizer", PragmaEnableOptimizer)); set.AddFunction(PragmaFunction::PragmaStatement("disable_optimizer", PragmaDisableOptimizer)); - set.AddFunction(PragmaFunction::PragmaStatement("enable_index_join", PragmaEnableIndexJoin)); - set.AddFunction(PragmaFunction::PragmaStatement("force_index_join", PragmaEnableForceIndexJoin)); set.AddFunction(PragmaFunction::PragmaStatement("force_checkpoint", PragmaForceCheckpoint)); set.AddFunction(PragmaFunction::PragmaStatement("enable_progress_bar", PragmaEnableProgressBar)); diff --git a/src/function/pragma/pragma_queries.cpp b/src/function/pragma/pragma_queries.cpp index 781efebb11c6..6b1b180c0f66 100644 --- a/src/function/pragma/pragma_queries.cpp +++ b/src/function/pragma/pragma_queries.cpp @@ -14,10 +14,11 @@ namespace duckdb { string PragmaTableInfo(ClientContext &context, const FunctionParameters ¶meters) { - return StringUtil::Format("SELECT * FROM pragma_table_info('%s');", parameters.values[0].ToString()); + return StringUtil::Format("SELECT * FROM pragma_table_info(%s);", + KeywordHelper::WriteQuoted(parameters.values[0].ToString(), '\'')); } -string PragmaShowTables(ClientContext &context, const FunctionParameters ¶meters) { +string PragmaShowTables() { // clang-format off return R"EOF( with "tables" as @@ -41,8 +42,11 @@ string PragmaShowTables(ClientContext &context, const FunctionParameters ¶me ORDER BY "name";)EOF"; // clang-format on } +string PragmaShowTables(ClientContext &context, const FunctionParameters ¶meters) { + return PragmaShowTables(); +} -string PragmaShowTablesExpanded(ClientContext &context, const FunctionParameters ¶meters) { +string PragmaShowTablesExpanded() { return R"( SELECT t.database_name AS database, @@ -74,10 +78,18 @@ string PragmaShowTablesExpanded(ClientContext &context, const FunctionParameters )"; } -string PragmaShowDatabases(ClientContext &context, const FunctionParameters ¶meters) { +string PragmaShowTablesExpanded(ClientContext &context, const FunctionParameters ¶meters) { + return PragmaShowTablesExpanded(); +} + +string PragmaShowDatabases() { return "SELECT database_name FROM duckdb_databases() WHERE NOT internal ORDER BY database_name;"; } +string PragmaShowDatabases(ClientContext &context, const FunctionParameters ¶meters) { + return PragmaShowDatabases(); +} + string PragmaAllProfiling(ClientContext &context, const FunctionParameters ¶meters) { return "SELECT * FROM pragma_last_profiling_output() JOIN pragma_detailed_profiling_output() ON " "(pragma_last_profiling_output.operator_id);"; @@ -99,41 +111,12 @@ string PragmaFunctionsQuery(ClientContext &context, const FunctionParameters &pa " ORDER BY 1;"; } -string PragmaShow(ClientContext &context, const FunctionParameters ¶meters) { - // PRAGMA table_info but with some aliases - auto table = QualifiedName::Parse(parameters.values[0].ToString()); - - // clang-format off - string sql = R"( - SELECT - name AS "column_name", - type as "column_type", - CASE WHEN "notnull" THEN 'NO' ELSE 'YES' END AS "null", - (SELECT - MIN(CASE - WHEN constraint_type='PRIMARY KEY' THEN 'PRI' - WHEN constraint_type='UNIQUE' THEN 'UNI' - ELSE NULL END) - FROM duckdb_constraints() c - WHERE c.table_oid=cols.table_oid - AND list_contains(constraint_column_names, cols.column_name)) AS "key", - dflt_value AS "default", - NULL AS "extra" - FROM pragma_table_info('%func_param_table%') - LEFT JOIN duckdb_columns cols - ON cols.column_name = pragma_table_info.name - AND cols.table_name='%table_name%' - AND cols.schema_name='%table_schema%' - AND cols.database_name = '%table_database%' - ORDER BY column_index;)"; - // clang-format on +string PragmaShow(const string &table_name) { + return StringUtil::Format("SELECT * FROM pragma_show(%s);", KeywordHelper::WriteQuoted(table_name, '\'')); +} - sql = StringUtil::Replace(sql, "%func_param_table%", parameters.values[0].ToString()); - sql = StringUtil::Replace(sql, "%table_name%", table.name); - sql = StringUtil::Replace(sql, "%table_schema%", table.schema.empty() ? DEFAULT_SCHEMA : table.schema); - sql = StringUtil::Replace(sql, "%table_database%", - table.catalog.empty() ? DatabaseManager::GetDefaultDatabase(context) : table.catalog); - return sql; +string PragmaShow(ClientContext &context, const FunctionParameters ¶meters) { + return PragmaShow(parameters.values[0].ToString()); } string PragmaVersion(ClientContext &context, const FunctionParameters ¶meters) { @@ -182,6 +165,17 @@ string PragmaImportDatabase(ClientContext &context, const FunctionParameters &pa return final_query; } +string PragmaCopyDatabase(ClientContext &context, const FunctionParameters ¶meters) { + string copy_stmt = "COPY FROM DATABASE "; + copy_stmt += KeywordHelper::WriteOptionallyQuoted(parameters.values[0].ToString()); + copy_stmt += " TO "; + copy_stmt += KeywordHelper::WriteOptionallyQuoted(parameters.values[1].ToString()); + string final_query; + final_query += copy_stmt + " (SCHEMA);\n"; + final_query += copy_stmt + " (DATA);"; + return final_query; +} + string PragmaDatabaseSize(ClientContext &context, const FunctionParameters ¶meters) { return "SELECT * FROM pragma_database_size();"; } @@ -213,6 +207,8 @@ void PragmaQueries::RegisterFunction(BuiltinFunctions &set) { set.AddFunction(PragmaFunction::PragmaStatement("database_size", PragmaDatabaseSize)); set.AddFunction(PragmaFunction::PragmaStatement("functions", PragmaFunctionsQuery)); set.AddFunction(PragmaFunction::PragmaCall("import_database", PragmaImportDatabase, {LogicalType::VARCHAR})); + set.AddFunction( + PragmaFunction::PragmaCall("copy_database", PragmaCopyDatabase, {LogicalType::VARCHAR, LogicalType::VARCHAR})); set.AddFunction(PragmaFunction::PragmaStatement("all_profiling_output", PragmaAllProfiling)); set.AddFunction(PragmaFunction::PragmaStatement("user_agent", PragmaUserAgent)); } diff --git a/src/function/scalar/compressed_materialization/compress_integral.cpp b/src/function/scalar/compressed_materialization/compress_integral.cpp index 173353fb8982..9da8d10d584a 100644 --- a/src/function/scalar/compressed_materialization/compress_integral.cpp +++ b/src/function/scalar/compressed_materialization/compress_integral.cpp @@ -26,6 +26,14 @@ struct TemplatedIntegralCompress { } }; +template +struct TemplatedIntegralCompress { + static inline RESULT_TYPE Operation(const uhugeint_t &input, const uhugeint_t &min_val) { + D_ASSERT(min_val <= input); + return (input - min_val).lower; + } +}; + template static void IntegralCompressFunction(DataChunk &args, ExpressionState &state, Vector &result) { D_ASSERT(args.ColumnCount() == 2); @@ -75,6 +83,8 @@ static scalar_function_t GetIntegralCompressFunctionInputSwitch(const LogicalTyp return GetIntegralCompressFunctionResultSwitch(input_type, result_type); case LogicalTypeId::UBIGINT: return GetIntegralCompressFunctionResultSwitch(input_type, result_type); + case LogicalTypeId::UHUGEINT: + return GetIntegralCompressFunctionResultSwitch(input_type, result_type); default: throw InternalException("Unexpected input type in GetIntegralCompressFunctionInputSwitch"); } @@ -124,6 +134,8 @@ static scalar_function_t GetIntegralDecompressFunctionResultSwitch(const Logical return GetIntegralDecompressFunction(input_type, result_type); case LogicalTypeId::UBIGINT: return GetIntegralDecompressFunction(input_type, result_type); + case LogicalTypeId::UHUGEINT: + return GetIntegralDecompressFunction(input_type, result_type); default: throw InternalException("Unexpected input type in GetIntegralDecompressFunctionSetSwitch"); } diff --git a/src/function/scalar/list/CMakeLists.txt b/src/function/scalar/list/CMakeLists.txt index d544e07d8278..cd4412440b18 100644 --- a/src/function/scalar/list/CMakeLists.txt +++ b/src/function/scalar/list/CMakeLists.txt @@ -1,5 +1,12 @@ -add_library_unity(duckdb_func_list_nested OBJECT list_concat.cpp - contains_or_position.cpp list_extract.cpp list_resize.cpp) +add_library_unity( + duckdb_func_list_nested + OBJECT + list_concat.cpp + contains_or_position.cpp + list_extract.cpp + list_resize.cpp + list_zip.cpp + list_select.cpp) set(ALL_OBJECT_FILES ${ALL_OBJECT_FILES} $ PARENT_SCOPE) diff --git a/src/function/scalar/list/contains_or_position.cpp b/src/function/scalar/list/contains_or_position.cpp index 064f4c28eeb5..b7f454581d53 100644 --- a/src/function/scalar/list/contains_or_position.cpp +++ b/src/function/scalar/list/contains_or_position.cpp @@ -2,6 +2,7 @@ #include "duckdb/planner/expression/bound_function_expression.hpp" #include "duckdb/planner/expression_binder.hpp" #include "duckdb/common/operator/comparison_operators.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" namespace duckdb { @@ -20,6 +21,9 @@ static unique_ptr ListContainsOrPositionBind(ClientContext &contex vector> &arguments) { D_ASSERT(bound_function.arguments.size() == 2); + // If the first argument is an array, cast it to a list + arguments[0] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[0])); + const auto &list = arguments[0]->return_type; // change to list const auto &value = arguments[1]->return_type; if (list.id() == LogicalTypeId::UNKNOWN) { @@ -37,7 +41,12 @@ static unique_ptr ListContainsOrPositionBind(ClientContext &contex bound_function.return_type = RETURN_TYPE; } else { auto const &child_type = ListType::GetChildType(list); - auto max_child_type = LogicalType::MaxLogicalType(child_type, value); + LogicalType max_child_type; + if (!LogicalType::TryGetMaxLogicalType(context, child_type, value, max_child_type)) { + throw BinderException( + "Cannot get list_position of element of type %s in a list of type %s[] - an explicit cast is required", + value.ToString(), child_type.ToString()); + } auto list_type = LogicalType::LIST(max_child_type); bound_function.arguments[0] = list_type; diff --git a/src/function/scalar/list/list_concat.cpp b/src/function/scalar/list/list_concat.cpp index 0898f513fd59..880d752640a4 100644 --- a/src/function/scalar/list/list_concat.cpp +++ b/src/function/scalar/list/list_concat.cpp @@ -3,6 +3,7 @@ #include "duckdb/planner/expression/bound_function_expression.hpp" #include "duckdb/planner/expression/bound_parameter_expression.hpp" #include "duckdb/planner/expression_binder.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" namespace duckdb { @@ -76,8 +77,13 @@ static unique_ptr ListConcatBind(ClientContext &context, ScalarFun vector> &arguments) { D_ASSERT(bound_function.arguments.size() == 2); + // if either argument is an array, we cast it to a list + arguments[0] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[0])); + arguments[1] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[1])); + auto &lhs = arguments[0]->return_type; auto &rhs = arguments[1]->return_type; + if (lhs.id() == LogicalTypeId::UNKNOWN || rhs.id() == LogicalTypeId::UNKNOWN) { throw ParameterNotResolvedException(); } else if (lhs.id() == LogicalTypeId::SQLNULL || rhs.id() == LogicalTypeId::SQLNULL) { @@ -93,7 +99,11 @@ static unique_ptr ListConcatBind(ClientContext &context, ScalarFun // Resolve list type LogicalType child_type = LogicalType::SQLNULL; for (const auto &argument : arguments) { - child_type = LogicalType::MaxLogicalType(child_type, ListType::GetChildType(argument->return_type)); + auto &next_type = ListType::GetChildType(argument->return_type); + if (!LogicalType::TryGetMaxLogicalType(context, child_type, next_type, child_type)) { + throw BinderException("Cannot concatenate lists of types %s[] and %s[] - an explicit cast is required", + child_type.ToString(), next_type.ToString()); + } } auto list_type = LogicalType::LIST(child_type); diff --git a/src/function/scalar/list/list_extract.cpp b/src/function/scalar/list/list_extract.cpp index e7d28d524e37..822b9079cdc9 100644 --- a/src/function/scalar/list/list_extract.cpp +++ b/src/function/scalar/list/list_extract.cpp @@ -1,12 +1,14 @@ #include "duckdb/common/pair.hpp" #include "duckdb/common/string_util.hpp" -#include "duckdb/common/types/chunk_collection.hpp" + #include "duckdb/common/types/data_chunk.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/vector_operations/binary_executor.hpp" #include "duckdb/function/scalar/nested_functions.hpp" #include "duckdb/function/scalar/string_functions.hpp" #include "duckdb/parser/expression/bound_expression.hpp" #include "duckdb/planner/expression/bound_function_expression.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" #include "duckdb/storage/statistics/list_stats.hpp" namespace duckdb { @@ -113,6 +115,9 @@ static void ExecuteListExtractInternal(const idx_t count, UnifiedVectorFormat &l case PhysicalType::UINT64: ListExtractTemplate(count, list, offsets, child_vector, list_size, result); break; + case PhysicalType::UINT128: + ListExtractTemplate(count, list, offsets, child_vector, list_size, result); + break; case PhysicalType::FLOAT: ListExtractTemplate(count, list, offsets, child_vector, list_size, result); break; @@ -203,9 +208,14 @@ static void ListExtractFunction(DataChunk &args, ExpressionState &state, Vector static unique_ptr ListExtractBind(ClientContext &context, ScalarFunction &bound_function, vector> &arguments) { D_ASSERT(bound_function.arguments.size() == 2); + arguments[0] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[0])); + D_ASSERT(LogicalTypeId::LIST == arguments[0]->return_type.id()); // list extract returns the child type of the list as return type - bound_function.return_type = ListType::GetChildType(arguments[0]->return_type); + auto child_type = ListType::GetChildType(arguments[0]->return_type); + + bound_function.return_type = child_type; + bound_function.arguments[0] = LogicalType::LIST(child_type); return make_uniq(bound_function.return_type); } @@ -238,7 +248,8 @@ void ListExtractFun::RegisterFunction(BuiltinFunctions &set) { ScalarFunctionSet array_extract("array_extract"); array_extract.AddFunction(lfun); array_extract.AddFunction(sfun); - array_extract.AddFunction(StructExtractFun::GetFunction()); + array_extract.AddFunction(StructExtractFun::KeyExtractFunction()); + array_extract.AddFunction(StructExtractFun::IndexExtractFunction()); set.AddFunction(array_extract); } diff --git a/src/function/scalar/list/list_resize.cpp b/src/function/scalar/list/list_resize.cpp index 107bb2df6a54..ab5c5acc95ff 100644 --- a/src/function/scalar/list/list_resize.cpp +++ b/src/function/scalar/list/list_resize.cpp @@ -2,6 +2,7 @@ #include "duckdb/function/scalar/nested_functions.hpp" #include "duckdb/function/scalar_function.hpp" #include "duckdb/function/built_in_functions.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" namespace duckdb { @@ -115,6 +116,9 @@ static unique_ptr ListResizeBind(ClientContext &context, ScalarFun D_ASSERT(bound_function.arguments.size() == 2 || arguments.size() == 3); bound_function.arguments[1] = LogicalType::UBIGINT; + // If the first argument is an array, cast it to a list + arguments[0] = BoundCastExpression::AddArrayCastToList(context, std::move(arguments[0])); + // first argument is constant NULL if (arguments[0]->return_type == LogicalType::SQLNULL) { bound_function.arguments[0] = LogicalType::SQLNULL; diff --git a/src/function/scalar/list/list_select.cpp b/src/function/scalar/list/list_select.cpp new file mode 100644 index 000000000000..1da6e30ffea3 --- /dev/null +++ b/src/function/scalar/list/list_select.cpp @@ -0,0 +1,176 @@ +#include "duckdb/common/types/data_chunk.hpp" +#include "duckdb/function/scalar/nested_functions.hpp" +#include "duckdb/planner/expression_binder.hpp" +#include "duckdb/planner/expression/bound_function_expression.hpp" +#include "duckdb/planner/expression/bound_parameter_expression.hpp" + +namespace duckdb { + +struct SetSelectionVectorSelect { + static void SetSelectionVector(SelectionVector &selection_vector, ValidityMask &validity_mask, + ValidityMask &input_validity, Vector &selection_entry, idx_t child_idx, + idx_t &target_offset, idx_t selection_offset, idx_t input_offset, + idx_t target_length) { + idx_t sel_idx = selection_entry.GetValue(selection_offset + child_idx).GetValue() - 1; + if (sel_idx < target_length) { + selection_vector.set_index(target_offset, input_offset + sel_idx); + if (!input_validity.RowIsValid(input_offset + sel_idx)) { + validity_mask.SetInvalid(target_offset); + } + } else { + selection_vector.set_index(target_offset, 0); + validity_mask.SetInvalid(target_offset); + } + target_offset++; + } + + static void GetResultLength(DataChunk &args, idx_t &result_length, const list_entry_t *selection_data, + Vector selection_entry, idx_t selection_idx) { + result_length += selection_data[selection_idx].length; + } +}; + +struct SetSelectionVectorWhere { + static void SetSelectionVector(SelectionVector &selection_vector, ValidityMask &validity_mask, + ValidityMask &input_validity, Vector &selection_entry, idx_t child_idx, + idx_t &target_offset, idx_t selection_offset, idx_t input_offset, + idx_t target_length) { + if (!selection_entry.GetValue(selection_offset + child_idx).GetValue()) { + return; + } + + selection_vector.set_index(target_offset, input_offset + child_idx); + if (!input_validity.RowIsValid(input_offset + child_idx)) { + validity_mask.SetInvalid(target_offset); + } + target_offset++; + } + + static void GetResultLength(DataChunk &args, idx_t &result_length, const list_entry_t *selection_data, + Vector selection_entry, idx_t selection_idx) { + for (idx_t child_idx = 0; child_idx < selection_data[selection_idx].length; child_idx++) { + if (selection_entry.GetValue(selection_data[selection_idx].offset + child_idx).IsNull()) { + throw InvalidInputException("NULLs are not allowed as list elements in the second input parameter."); + } + if (selection_entry.GetValue(selection_data[selection_idx].offset + child_idx).GetValue()) { + result_length++; + } + } + } +}; + +template +static void ListSelectFunction(DataChunk &args, ExpressionState &state, Vector &result) { + D_ASSERT(args.data.size() == 2); + Vector &list = args.data[0]; + Vector &selection_list = args.data[1]; + idx_t count = args.size(); + + list_entry_t *result_data; + result_data = FlatVector::GetData(result); + auto &result_entry = ListVector::GetEntry(result); + + UnifiedVectorFormat selection_lists; + selection_list.ToUnifiedFormat(count, selection_lists); + auto selection_lists_data = UnifiedVectorFormat::GetData(selection_lists); + auto &selection_entry = ListVector::GetEntry(selection_list); + + UnifiedVectorFormat input_list; + list.ToUnifiedFormat(count, input_list); + auto input_lists_data = UnifiedVectorFormat::GetData(input_list); + auto &input_entry = ListVector::GetEntry(list); + auto &input_validity = FlatVector::Validity(input_entry); + + idx_t result_length = 0; + for (idx_t i = 0; i < count; i++) { + idx_t input_idx = input_list.sel->get_index(i); + idx_t selection_idx = selection_lists.sel->get_index(i); + if (input_list.validity.RowIsValid(input_idx) && selection_lists.validity.RowIsValid(selection_idx)) { + OP::GetResultLength(args, result_length, selection_lists_data, selection_entry, selection_idx); + } + } + + ListVector::Reserve(result, result_length); + SelectionVector result_selection_vec = SelectionVector(result_length); + ValidityMask entry_validity_mask = ValidityMask(result_length); + ValidityMask &result_validity_mask = FlatVector::Validity(result); + + idx_t offset = 0; + for (idx_t j = 0; j < count; j++) { + // Get length and offset of selection list for current output row + auto selection_list_idx = selection_lists.sel->get_index(j); + idx_t selection_len = 0; + idx_t selection_offset = 0; + if (selection_lists.validity.RowIsValid(selection_list_idx)) { + selection_len = selection_lists_data[selection_list_idx].length; + selection_offset = selection_lists_data[selection_list_idx].offset; + } else { + result_validity_mask.SetInvalid(j); + continue; + } + // Get length and offset of input list for current output row + auto input_list_idx = input_list.sel->get_index(j); + idx_t input_length = 0; + idx_t input_offset = 0; + if (input_list.validity.RowIsValid(input_list_idx)) { + input_length = input_lists_data[input_list_idx].length; + input_offset = input_lists_data[input_list_idx].offset; + } else { + result_validity_mask.SetInvalid(j); + continue; + } + result_data[j].offset = offset; + // Set all selected values in the result + for (idx_t child_idx = 0; child_idx < selection_len; child_idx++) { + if (selection_entry.GetValue(selection_offset + child_idx).IsNull()) { + throw InvalidInputException("NULLs are not allowed as list elements in the second input parameter."); + } + OP::SetSelectionVector(result_selection_vec, entry_validity_mask, input_validity, selection_entry, + child_idx, offset, selection_offset, input_offset, input_length); + } + result_data[j].length = offset - result_data[j].offset; + } + result_entry.Slice(input_entry, result_selection_vec, count); + result_entry.Flatten(offset); + ListVector::SetListSize(result, offset); + FlatVector::SetValidity(result_entry, entry_validity_mask); + result.SetVectorType(args.AllConstant() ? VectorType::CONSTANT_VECTOR : VectorType::FLAT_VECTOR); +} + +static unique_ptr ListSelectBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + D_ASSERT(bound_function.arguments.size() == 2); + LogicalType child_type; + if (arguments[0]->return_type == LogicalTypeId::UNKNOWN || arguments[1]->return_type == LogicalTypeId::UNKNOWN) { + bound_function.arguments[0] = LogicalTypeId::UNKNOWN; + bound_function.return_type = LogicalType::SQLNULL; + return make_uniq(bound_function.return_type); + } + + D_ASSERT(LogicalTypeId::LIST == arguments[0]->return_type.id() || + LogicalTypeId::SQLNULL == arguments[0]->return_type.id()); + D_ASSERT(LogicalTypeId::LIST == arguments[1]->return_type.id() || + LogicalTypeId::SQLNULL == arguments[1]->return_type.id()); + + bound_function.return_type = arguments[0]->return_type; + return make_uniq(bound_function.return_type); +} +ScalarFunction ListWhereFun::GetFunction() { + auto fun = ScalarFunction({LogicalType::LIST(LogicalTypeId::ANY), LogicalType::LIST(LogicalType::BOOLEAN)}, + LogicalType::LIST(LogicalTypeId::ANY), ListSelectFunction, + ListSelectBind); + return fun; +} + +ScalarFunction ListSelectFun::GetFunction() { + auto fun = ScalarFunction({LogicalType::LIST(LogicalTypeId::ANY), LogicalType::LIST(LogicalType::BIGINT)}, + LogicalType::LIST(LogicalTypeId::ANY), ListSelectFunction, + ListSelectBind); + return fun; +} + +void ListSelectFun::RegisterFunction(BuiltinFunctions &set) { + set.AddFunction({"list_select", "array_select"}, ListSelectFun::GetFunction()); + set.AddFunction({"list_where", "array_where"}, ListWhereFun::GetFunction()); +} +} // namespace duckdb diff --git a/src/function/scalar/list/list_zip.cpp b/src/function/scalar/list/list_zip.cpp new file mode 100644 index 000000000000..3c0d40feb84c --- /dev/null +++ b/src/function/scalar/list/list_zip.cpp @@ -0,0 +1,165 @@ +#include "duckdb/common/types/data_chunk.hpp" +#include "duckdb/function/scalar/nested_functions.hpp" +#include "duckdb/planner/expression_binder.hpp" +#include "duckdb/planner/expression/bound_function_expression.hpp" +#include "duckdb/planner/expression/bound_parameter_expression.hpp" +#include "duckdb/common/to_string.hpp" + +namespace duckdb { + +static void ListZipFunction(DataChunk &args, ExpressionState &state, Vector &result) { + idx_t count = args.size(); + idx_t args_size = args.ColumnCount(); + auto *result_data = FlatVector::GetData(result); + auto &result_struct = ListVector::GetEntry(result); + auto &struct_entries = StructVector::GetEntries(result_struct); + bool truncate_flags_set = false; + + // Check flag + if (args.data.back().GetType().id() == LogicalTypeId::BOOLEAN) { + truncate_flags_set = true; + args_size--; + } + + vector input_lists; + for (idx_t i = 0; i < args.ColumnCount(); i++) { + UnifiedVectorFormat curr; + args.data[i].ToUnifiedFormat(count, curr); + input_lists.push_back(curr); + } + + // Handling output row for each input row + idx_t result_size = 0; + vector lengths; + for (idx_t j = 0; j < count; j++) { + + // Is flag for current row set + bool truncate_to_shortest = false; + if (truncate_flags_set) { + idx_t flag_idx = input_lists.back().sel->get_index(j); + auto flag_data = UnifiedVectorFormat::GetData(input_lists.back()); + truncate_to_shortest = flag_data[flag_idx]; + } + + // Calculation of the outgoing list size + idx_t len = truncate_to_shortest ? NumericLimits::Maximum() : 0; + for (idx_t i = 0; i < args_size; i++) { + idx_t curr_size; + if (args.data[i].GetType() == LogicalType::SQLNULL || ListVector::GetListSize(args.data[i]) == 0) { + curr_size = 0; + } else { + idx_t sel_idx = input_lists[i].sel->get_index(j); + auto curr_data = UnifiedVectorFormat::GetData(input_lists[i]); + curr_size = input_lists[i].validity.RowIsValid(sel_idx) ? curr_data[sel_idx].length : 0; + } + + // Dependent on flag using gt or lt + if (truncate_to_shortest) { + len = len > curr_size ? curr_size : len; + } else { + len = len < curr_size ? curr_size : len; + } + } + lengths.push_back(len); + result_size += len; + } + + ListVector::SetListSize(result, result_size); + ListVector::Reserve(result, result_size); + vector selections; + vector masks; + for (idx_t i = 0; i < args_size; i++) { + selections.push_back(SelectionVector(result_size)); + masks.push_back(ValidityMask(result_size)); + } + + idx_t offset = 0; + for (idx_t j = 0; j < count; j++) { + idx_t len = lengths[j]; + for (idx_t i = 0; i < args_size; i++) { + UnifiedVectorFormat curr = input_lists[i]; + idx_t sel_idx = curr.sel->get_index(j); + idx_t curr_off = 0; + idx_t curr_len = 0; + + // Copying values from the given lists + if (curr.validity.RowIsValid(sel_idx)) { + auto input_lists_data = UnifiedVectorFormat::GetData(curr); + curr_off = input_lists_data[sel_idx].offset; + curr_len = input_lists_data[sel_idx].length; + auto copy_len = len < curr_len ? len : curr_len; + idx_t entry = offset; + for (idx_t k = 0; k < copy_len; k++) { + if (!FlatVector::Validity(ListVector::GetEntry(args.data[i])).RowIsValid(curr_off + k)) { + masks[i].SetInvalid(entry + k); + } + selections[i].set_index(entry + k, curr_off + k); + } + } + + // Set NULL values for list that are shorter than the output list + if (len > curr_len) { + for (idx_t d = curr_len; d < len; d++) { + masks[i].SetInvalid(d + offset); + selections[i].set_index(d + offset, 0); + } + } + } + result_data[j].length = len; + result_data[j].offset = offset; + offset += len; + } + for (idx_t child_idx = 0; child_idx < args_size; child_idx++) { + if (!(args.data[child_idx].GetType() == LogicalType::SQLNULL)) { + struct_entries[child_idx]->Slice(ListVector::GetEntry(args.data[child_idx]), selections[child_idx], + result_size); + } + struct_entries[child_idx]->Flatten(result_size); + FlatVector::SetValidity((*struct_entries[child_idx]), masks[child_idx]); + } + result.SetVectorType(args.AllConstant() ? VectorType::CONSTANT_VECTOR : VectorType::FLAT_VECTOR); +} + +static unique_ptr ListZipBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + child_list_t struct_children; + + // The last argument could be a flag to be set if we want a minimal list or a maximal list + idx_t size = arguments.size(); + if (size == 0) { + throw BinderException("Provide at least one argument to " + bound_function.name); + } + if (arguments[size - 1]->return_type.id() == LogicalTypeId::BOOLEAN) { + size--; + } + + case_insensitive_set_t struct_names; + for (idx_t i = 0; i < size; i++) { + auto &child = arguments[i]; + switch (child->return_type.id()) { + case LogicalTypeId::LIST: + struct_children.push_back(make_pair(string(), ListType::GetChildType(child->return_type))); + break; + case LogicalTypeId::SQLNULL: + struct_children.push_back(make_pair(string(), LogicalTypeId::SQLNULL)); + break; + default: + throw ParameterNotResolvedException(); + } + } + bound_function.return_type = LogicalType::LIST(LogicalType::STRUCT(struct_children)); + return make_uniq(bound_function.return_type); +} + +ScalarFunction ListZipFun::GetFunction() { + + auto fun = ScalarFunction({}, LogicalType::LIST(LogicalTypeId::STRUCT), ListZipFunction, ListZipBind); + fun.varargs = LogicalType::ANY; + fun.null_handling = FunctionNullHandling::SPECIAL_HANDLING; // Special handling needed? + return fun; +} + +void ListZipFun::RegisterFunction(BuiltinFunctions &set) { + set.AddFunction({"list_zip", "array_zip"}, GetFunction()); +} +} // namespace duckdb diff --git a/src/function/scalar/nested_functions.cpp b/src/function/scalar/nested_functions.cpp index fa05ac7dc8db..59c5f2b2350a 100644 --- a/src/function/scalar/nested_functions.cpp +++ b/src/function/scalar/nested_functions.cpp @@ -2,6 +2,37 @@ namespace duckdb { +void MapUtil::ReinterpretMap(Vector &result, Vector &input, idx_t count) { + UnifiedVectorFormat input_data; + input.ToUnifiedFormat(count, input_data); + // Copy the list validity + FlatVector::SetValidity(result, input_data.validity); + + // Copy the struct validity + UnifiedVectorFormat input_struct_data; + ListVector::GetEntry(input).ToUnifiedFormat(count, input_struct_data); + auto &result_struct = ListVector::GetEntry(result); + FlatVector::SetValidity(result_struct, input_struct_data.validity); + + // Set the right vector type + result.SetVectorType(input.GetVectorType()); + + // Copy the list size + auto list_size = ListVector::GetListSize(input); + ListVector::SetListSize(result, list_size); + + // Copy the list buffer (the list_entry_t data) + result.CopyBuffer(input); + + auto &input_keys = MapVector::GetKeys(input); + auto &result_keys = MapVector::GetKeys(result); + result_keys.Reference(input_keys); + + auto &input_values = MapVector::GetValues(input); + auto &result_values = MapVector::GetValues(result); + result_values.Reference(input_values); +} + void BuiltinFunctions::RegisterNestedFunctions() { Register(); Register(); @@ -9,6 +40,8 @@ void BuiltinFunctions::RegisterNestedFunctions() { Register(); Register(); Register(); + Register(); + Register(); } } // namespace duckdb diff --git a/src/function/scalar/operators/add.cpp b/src/function/scalar/operators/add.cpp index 6dcde06370b1..f0670120fe08 100644 --- a/src/function/scalar/operators/add.cpp +++ b/src/function/scalar/operators/add.cpp @@ -7,6 +7,7 @@ #include "duckdb/common/types/interval.hpp" #include "duckdb/common/types/timestamp.hpp" #include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/types/uhugeint.hpp" namespace duckdb { @@ -68,19 +69,43 @@ timestamp_t AddOperator::Operation(date_t left, dtime_t right) { return result; } +template <> +timestamp_t AddOperator::Operation(date_t left, dtime_tz_t right) { + if (left == date_t::infinity()) { + return timestamp_t::infinity(); + } else if (left == date_t::ninfinity()) { + return timestamp_t::ninfinity(); + } + timestamp_t result; + if (!Timestamp::TryFromDatetime(left, right, result)) { + throw OutOfRangeException("Timestamp with time zone out of range"); + } + return result; +} + template <> timestamp_t AddOperator::Operation(dtime_t left, date_t right) { return AddOperator::Operation(right, left); } template <> -date_t AddOperator::Operation(date_t left, interval_t right) { - return Interval::Add(left, right); +timestamp_t AddOperator::Operation(dtime_tz_t left, date_t right) { + return AddOperator::Operation(right, left); } template <> -date_t AddOperator::Operation(interval_t left, date_t right) { - return AddOperator::Operation(right, left); +timestamp_t AddOperator::Operation(date_t left, interval_t right) { + if (left == date_t::infinity()) { + return timestamp_t::infinity(); + } else if (left == date_t::ninfinity()) { + return timestamp_t::ninfinity(); + } + return Interval::Add(Timestamp::FromDatetime(left, dtime_t(0)), right); +} + +template <> +timestamp_t AddOperator::Operation(interval_t left, date_t right) { + return AddOperator::Operation(right, left); } template <> @@ -160,9 +185,18 @@ bool TryAddOperator::Operation(int64_t left, int64_t right, int64_t &result) { return true; } +template <> +bool TryAddOperator::Operation(uhugeint_t left, uhugeint_t right, uhugeint_t &result) { + if (!Uhugeint::TryAddInPlace(left, right)) { + return false; + } + result = left; + return true; +} + template <> bool TryAddOperator::Operation(hugeint_t left, hugeint_t right, hugeint_t &result) { - if (!Hugeint::AddInPlace(left, right)) { + if (!Hugeint::TryAddInPlace(left, right)) { return false; } result = left; @@ -204,7 +238,9 @@ bool TryDecimalAdd::Operation(int64_t left, int64_t right, int64_t &result) { template <> bool TryDecimalAdd::Operation(hugeint_t left, hugeint_t right, hugeint_t &result) { - result = left + right; + if (!TryAddOperator::Operation(left, right, result)) { + return false; + } if (result <= -Hugeint::POWERS_OF_TEN[38] || result >= Hugeint::POWERS_OF_TEN[38]) { return false; } @@ -234,4 +270,15 @@ dtime_t AddTimeOperator::Operation(interval_t left, dtime_t right) { return AddTimeOperator::Operation(right, left); } +template <> +dtime_tz_t AddTimeOperator::Operation(dtime_tz_t left, interval_t right) { + date_t date(0); + return Interval::Add(left, right, date); +} + +template <> +dtime_tz_t AddTimeOperator::Operation(interval_t left, dtime_tz_t right) { + return AddTimeOperator::Operation(right, left); +} + } // namespace duckdb diff --git a/src/function/scalar/operators/arithmetic.cpp b/src/function/scalar/operators/arithmetic.cpp index f316fb0a46e5..ebb76e30efbc 100644 --- a/src/function/scalar/operators/arithmetic.cpp +++ b/src/function/scalar/operators/arithmetic.cpp @@ -49,8 +49,11 @@ static scalar_function_t GetScalarIntegerFunction(PhysicalType type) { case PhysicalType::UINT64: function = &ScalarFunction::BinaryFunction; break; + case PhysicalType::UINT128: + function = &ScalarFunction::BinaryFunction; + break; default: - throw NotImplementedException("Unimplemented type for GetScalarBinaryFunction"); + throw NotImplementedException("Unimplemented type for GetScalarBinaryFunction: %s", TypeIdToString(type)); } return function; } @@ -59,9 +62,6 @@ template static scalar_function_t GetScalarBinaryFunction(PhysicalType type) { scalar_function_t function; switch (type) { - case PhysicalType::INT128: - function = &ScalarFunction::BinaryFunction; - break; case PhysicalType::FLOAT: function = &ScalarFunction::BinaryFunction; break; @@ -238,7 +238,7 @@ unique_ptr BindDecimalAddSubtract(ClientContext &context, ScalarFu } else { bound_function.function = GetScalarBinaryFunction(result_type.InternalType()); } - if (result_type.InternalType() != PhysicalType::INT128) { + if (result_type.InternalType() != PhysicalType::INT128 && result_type.InternalType() != PhysicalType::UINT128) { if (IS_SUBTRACT) { bound_function.statistics = PropagateNumericStats; @@ -319,11 +319,14 @@ ScalarFunction AddFun::GetFunction(const LogicalType &left_type, const LogicalTy return ScalarFunction("+", {left_type, right_type}, LogicalType::DATE, ScalarFunction::BinaryFunction); } else if (right_type.id() == LogicalTypeId::INTERVAL) { - return ScalarFunction("+", {left_type, right_type}, LogicalType::DATE, - ScalarFunction::BinaryFunction); + return ScalarFunction("+", {left_type, right_type}, LogicalType::TIMESTAMP, + ScalarFunction::BinaryFunction); } else if (right_type.id() == LogicalTypeId::TIME) { return ScalarFunction("+", {left_type, right_type}, LogicalType::TIMESTAMP, ScalarFunction::BinaryFunction); + } else if (right_type.id() == LogicalTypeId::TIME_TZ) { + return ScalarFunction("+", {left_type, right_type}, LogicalType::TIMESTAMP_TZ, + ScalarFunction::BinaryFunction); } break; case LogicalTypeId::INTEGER: @@ -337,11 +340,14 @@ ScalarFunction AddFun::GetFunction(const LogicalType &left_type, const LogicalTy return ScalarFunction("+", {left_type, right_type}, LogicalType::INTERVAL, ScalarFunction::BinaryFunction); } else if (right_type.id() == LogicalTypeId::DATE) { - return ScalarFunction("+", {left_type, right_type}, LogicalType::DATE, - ScalarFunction::BinaryFunction); + return ScalarFunction("+", {left_type, right_type}, LogicalType::TIMESTAMP, + ScalarFunction::BinaryFunction); } else if (right_type.id() == LogicalTypeId::TIME) { return ScalarFunction("+", {left_type, right_type}, LogicalType::TIME, ScalarFunction::BinaryFunction); + } else if (right_type.id() == LogicalTypeId::TIME_TZ) { + return ScalarFunction("+", {left_type, right_type}, LogicalType::TIME_TZ, + ScalarFunction::BinaryFunction); } else if (right_type.id() == LogicalTypeId::TIMESTAMP) { return ScalarFunction("+", {left_type, right_type}, LogicalType::TIMESTAMP, ScalarFunction::BinaryFunction); @@ -356,6 +362,15 @@ ScalarFunction AddFun::GetFunction(const LogicalType &left_type, const LogicalTy ScalarFunction::BinaryFunction); } break; + case LogicalTypeId::TIME_TZ: + if (right_type.id() == LogicalTypeId::DATE) { + return ScalarFunction("+", {left_type, right_type}, LogicalType::TIMESTAMP_TZ, + ScalarFunction::BinaryFunction); + } else if (right_type.id() == LogicalTypeId::INTERVAL) { + return ScalarFunction("+", {left_type, right_type}, LogicalType::TIME_TZ, + ScalarFunction::BinaryFunction); + } + break; case LogicalTypeId::TIMESTAMP: if (right_type.id() == LogicalTypeId::INTERVAL) { return ScalarFunction("+", {left_type, right_type}, LogicalType::TIMESTAMP, @@ -394,10 +409,17 @@ void AddFun::RegisterFunction(BuiltinFunctions &set) { functions.AddFunction(GetFunction(LogicalType::TIMESTAMP, LogicalType::INTERVAL)); functions.AddFunction(GetFunction(LogicalType::INTERVAL, LogicalType::TIMESTAMP)); + functions.AddFunction(GetFunction(LogicalType::TIME_TZ, LogicalType::INTERVAL)); + functions.AddFunction(GetFunction(LogicalType::INTERVAL, LogicalType::TIME_TZ)); + // we can add times to dates functions.AddFunction(GetFunction(LogicalType::TIME, LogicalType::DATE)); functions.AddFunction(GetFunction(LogicalType::DATE, LogicalType::TIME)); + // we can add times with time zones (offsets) to dates + functions.AddFunction(GetFunction(LogicalType::TIME_TZ, LogicalType::DATE)); + functions.AddFunction(GetFunction(LogicalType::DATE, LogicalType::TIME_TZ)); + // we can add lists together functions.AddFunction(ListConcatFun::GetFunction()); @@ -587,8 +609,8 @@ ScalarFunction SubtractFun::GetFunction(const LogicalType &left_type, const Logi return ScalarFunction("-", {left_type, right_type}, LogicalType::DATE, ScalarFunction::BinaryFunction); } else if (right_type.id() == LogicalTypeId::INTERVAL) { - return ScalarFunction("-", {left_type, right_type}, LogicalType::DATE, - ScalarFunction::BinaryFunction); + return ScalarFunction("-", {left_type, right_type}, LogicalType::TIMESTAMP, + ScalarFunction::BinaryFunction); } break; case LogicalTypeId::TIMESTAMP: @@ -614,6 +636,13 @@ ScalarFunction SubtractFun::GetFunction(const LogicalType &left_type, const Logi ScalarFunction::BinaryFunction); } break; + case LogicalTypeId::TIME_TZ: + if (right_type.id() == LogicalTypeId::INTERVAL) { + return ScalarFunction( + "-", {left_type, right_type}, LogicalType::TIME_TZ, + ScalarFunction::BinaryFunction); + } + break; default: break; } @@ -643,6 +672,7 @@ void SubtractFun::RegisterFunction(BuiltinFunctions &set) { functions.AddFunction(GetFunction(LogicalType::DATE, LogicalType::INTERVAL)); functions.AddFunction(GetFunction(LogicalType::TIME, LogicalType::INTERVAL)); functions.AddFunction(GetFunction(LogicalType::TIMESTAMP, LogicalType::INTERVAL)); + functions.AddFunction(GetFunction(LogicalType::TIME_TZ, LogicalType::INTERVAL)); // we can negate intervals functions.AddFunction(GetFunction(LogicalType::INTERVAL)); set.AddFunction(functions); @@ -856,10 +886,12 @@ struct BinaryZeroIsNullWrapper { } }; -struct BinaryZeroIsNullHugeintWrapper { +struct BinaryNumericDivideHugeintWrapper { template static inline RESULT_TYPE Operation(FUNC fun, LEFT_TYPE left, RIGHT_TYPE right, ValidityMask &mask, idx_t idx) { - if (right.upper == 0 && right.lower == 0) { + if (left == NumericLimits::Minimum() && right == -1) { + throw OutOfRangeException("Overflow in division of %s / %s", left.ToString(), right.ToString()); + } else if (right == 0) { mask.SetInvalid(idx); return left; } else { @@ -897,7 +929,9 @@ static scalar_function_t GetBinaryFunctionIgnoreZero(const LogicalType &type) { case LogicalTypeId::UBIGINT: return BinaryScalarFunctionIgnoreZero; case LogicalTypeId::HUGEINT: - return BinaryScalarFunctionIgnoreZero; + return BinaryScalarFunctionIgnoreZero; + case LogicalTypeId::UHUGEINT: + return BinaryScalarFunctionIgnoreZero; case LogicalTypeId::FLOAT: return BinaryScalarFunctionIgnoreZero; case LogicalTypeId::DOUBLE: diff --git a/src/function/scalar/operators/multiply.cpp b/src/function/scalar/operators/multiply.cpp index 718f9a8e4131..b0e033a9791d 100644 --- a/src/function/scalar/operators/multiply.cpp +++ b/src/function/scalar/operators/multiply.cpp @@ -2,6 +2,7 @@ #include "duckdb/common/limits.hpp" #include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include "duckdb/common/types/value.hpp" #include "duckdb/common/windows_undefs.hpp" @@ -183,6 +184,11 @@ bool TryMultiplyOperator::Operation(hugeint_t left, hugeint_t right, hugeint_t & return Hugeint::TryMultiply(left, right, result); } +template <> +bool TryMultiplyOperator::Operation(uhugeint_t left, uhugeint_t right, uhugeint_t &result) { + return Uhugeint::TryMultiply(left, right, result); +} + //===--------------------------------------------------------------------===// // multiply decimal with overflow check //===--------------------------------------------------------------------===// @@ -211,7 +217,9 @@ bool TryDecimalMultiply::Operation(int64_t left, int64_t right, int64_t &result) template <> bool TryDecimalMultiply::Operation(hugeint_t left, hugeint_t right, hugeint_t &result) { - result = left * right; + if (!TryMultiplyOperator::Operation(left, right, result)) { + return false; + } if (result <= -Hugeint::POWERS_OF_TEN[38] || result >= Hugeint::POWERS_OF_TEN[38]) { return false; } diff --git a/src/function/scalar/operators/subtract.cpp b/src/function/scalar/operators/subtract.cpp index c9918a386b43..4d49823126d9 100644 --- a/src/function/scalar/operators/subtract.cpp +++ b/src/function/scalar/operators/subtract.cpp @@ -3,6 +3,7 @@ #include "duckdb/common/limits.hpp" #include "duckdb/common/operator/add.hpp" #include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include "duckdb/common/types/date.hpp" #include "duckdb/common/types/interval.hpp" #include "duckdb/common/types/value.hpp" @@ -56,8 +57,8 @@ interval_t SubtractOperator::Operation(interval_t left, interval_t right) { } template <> -date_t SubtractOperator::Operation(date_t left, interval_t right) { - return AddOperator::Operation(left, Interval::Invert(right)); +timestamp_t SubtractOperator::Operation(date_t left, interval_t right) { + return AddOperator::Operation(left, Interval::Invert(right)); } template <> @@ -156,7 +157,13 @@ bool TrySubtractOperator::Operation(int64_t left, int64_t right, int64_t &result template <> bool TrySubtractOperator::Operation(hugeint_t left, hugeint_t right, hugeint_t &result) { result = left; - return Hugeint::SubtractInPlace(result, right); + return Hugeint::TrySubtractInPlace(result, right); +} + +template <> +bool TrySubtractOperator::Operation(uhugeint_t left, uhugeint_t right, uhugeint_t &result) { + result = left; + return Uhugeint::TrySubtractInPlace(result, right); } //===--------------------------------------------------------------------===// @@ -194,7 +201,9 @@ bool TryDecimalSubtract::Operation(int64_t left, int64_t right, int64_t &result) template <> bool TryDecimalSubtract::Operation(hugeint_t left, hugeint_t right, hugeint_t &result) { - result = left - right; + if (!TrySubtractOperator::Operation(left, right, result)) { + return false; + } if (result <= -Hugeint::POWERS_OF_TEN[38] || result >= Hugeint::POWERS_OF_TEN[38]) { return false; } @@ -219,4 +228,10 @@ dtime_t SubtractTimeOperator::Operation(dtime_t left, interval_t right) { return AddTimeOperator::Operation(left, right); } +template <> +dtime_tz_t SubtractTimeOperator::Operation(dtime_tz_t left, interval_t right) { + right.micros = -right.micros; + return AddTimeOperator::Operation(left, right); +} + } // namespace duckdb diff --git a/src/function/scalar/sequence/nextval.cpp b/src/function/scalar/sequence/nextval.cpp index 9b54e7ab0d44..8fba14654fa8 100644 --- a/src/function/scalar/sequence/nextval.cpp +++ b/src/function/scalar/sequence/nextval.cpp @@ -8,71 +8,22 @@ #include "duckdb/execution/expression_executor.hpp" #include "duckdb/planner/expression/bound_function_expression.hpp" #include "duckdb/transaction/duck_transaction.hpp" +#include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/vector_operations/unary_executor.hpp" -#include "duckdb/common/operator/add.hpp" #include "duckdb/planner/binder.hpp" namespace duckdb { -struct NextvalBindData : public FunctionData { - explicit NextvalBindData(optional_ptr sequence) : sequence(sequence) { - } - - //! The sequence to use for the nextval computation; only if the sequence is a constant - optional_ptr sequence; - - unique_ptr Copy() const override { - return make_uniq(sequence); - } - - bool Equals(const FunctionData &other_p) const override { - auto &other = other_p.Cast(); - return sequence == other.sequence; - } -}; - struct CurrentSequenceValueOperator { static int64_t Operation(DuckTransaction &transaction, SequenceCatalogEntry &seq) { - lock_guard seqlock(seq.lock); - int64_t result; - if (seq.usage_count == 0u) { - throw SequenceException("currval: sequence is not yet defined in this session"); - } - result = seq.last_value; - return result; + return seq.CurrentValue(); } }; struct NextSequenceValueOperator { static int64_t Operation(DuckTransaction &transaction, SequenceCatalogEntry &seq) { - lock_guard seqlock(seq.lock); - int64_t result; - result = seq.counter; - bool overflow = !TryAddOperator::Operation(seq.counter, seq.increment, seq.counter); - if (seq.cycle) { - if (overflow) { - seq.counter = seq.increment < 0 ? seq.max_value : seq.min_value; - } else if (seq.counter < seq.min_value) { - seq.counter = seq.max_value; - } else if (seq.counter > seq.max_value) { - seq.counter = seq.min_value; - } - } else { - if (result < seq.min_value || (overflow && seq.increment < 0)) { - throw SequenceException("nextval: reached minimum value of sequence \"%s\" (%lld)", seq.name, - seq.min_value); - } - if (result > seq.max_value || overflow) { - throw SequenceException("nextval: reached maximum value of sequence \"%s\" (%lld)", seq.name, - seq.max_value); - } - } - seq.last_value = result; - seq.usage_count++; - if (!seq.temporary) { - transaction.sequence_usage[&seq] = SequenceValue(seq.usage_count, seq.counter); - } - return result; + return seq.NextValue(transaction); } }; @@ -134,17 +85,39 @@ static void NextValDependency(BoundFunctionExpression &expr, DependencyList &dep } } +void Serialize(Serializer &serializer, const optional_ptr bind_data, const ScalarFunction &) { + auto &next_val_bind_data = bind_data->Cast(); + serializer.WritePropertyWithDefault(100, "sequence_create_info", next_val_bind_data.create_info); +} + +unique_ptr Deserialize(Deserializer &deserializer, ScalarFunction &) { + auto create_info = deserializer.ReadPropertyWithDefault>(100, "sequence_create_info", + unique_ptr()); + optional_ptr catalog_entry_ptr; + if (create_info) { + auto &seq_info = create_info->Cast(); + auto &context = deserializer.Get(); + catalog_entry_ptr = + &Catalog::GetEntry(context, seq_info.catalog, seq_info.schema, seq_info.name); + } + return make_uniq(catalog_entry_ptr); +} + void NextvalFun::RegisterFunction(BuiltinFunctions &set) { ScalarFunction next_val("nextval", {LogicalType::VARCHAR}, LogicalType::BIGINT, NextValFunction, NextValBind, NextValDependency); - next_val.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS; + next_val.stability = FunctionStability::VOLATILE; + next_val.serialize = Serialize; + next_val.deserialize = Deserialize; set.AddFunction(next_val); } void CurrvalFun::RegisterFunction(BuiltinFunctions &set) { ScalarFunction curr_val("currval", {LogicalType::VARCHAR}, LogicalType::BIGINT, NextValFunction, NextValBind, NextValDependency); - curr_val.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS; + curr_val.stability = FunctionStability::VOLATILE; + curr_val.serialize = Serialize; + curr_val.deserialize = Deserialize; set.AddFunction(curr_val); } diff --git a/src/function/scalar/strftime_format.cpp b/src/function/scalar/strftime_format.cpp index 589dd58bfbd9..b0f6ee1bab6d 100644 --- a/src/function/scalar/strftime_format.cpp +++ b/src/function/scalar/strftime_format.cpp @@ -14,6 +14,7 @@ idx_t StrfTimepecifierSize(StrTimeSpecifier specifier) { case StrTimeSpecifier::ABBREVIATED_MONTH_NAME: return 3; case StrTimeSpecifier::WEEKDAY_DECIMAL: + case StrTimeSpecifier::WEEKDAY_ISO: return 1; case StrTimeSpecifier::DAY_OF_MONTH_PADDED: case StrTimeSpecifier::MONTH_DECIMAL_PADDED: @@ -25,6 +26,7 @@ idx_t StrfTimepecifierSize(StrTimeSpecifier specifier) { case StrTimeSpecifier::AM_PM: case StrTimeSpecifier::WEEK_NUMBER_PADDED_SUN_FIRST: case StrTimeSpecifier::WEEK_NUMBER_PADDED_MON_FIRST: + case StrTimeSpecifier::WEEK_NUMBER_ISO: return 2; case StrTimeSpecifier::NANOSECOND_PADDED: return 9; @@ -34,6 +36,8 @@ idx_t StrfTimepecifierSize(StrTimeSpecifier specifier) { return 3; case StrTimeSpecifier::DAY_OF_YEAR_PADDED: return 3; + case StrTimeSpecifier::YEAR_ISO: + return 4; default: return 0; } @@ -210,7 +214,10 @@ bool StrfTimeFormat::IsDateSpecifier(StrTimeSpecifier specifier) { case StrTimeSpecifier::DAY_OF_YEAR_DECIMAL: case StrTimeSpecifier::WEEK_NUMBER_PADDED_MON_FIRST: case StrTimeSpecifier::WEEK_NUMBER_PADDED_SUN_FIRST: + case StrTimeSpecifier::WEEK_NUMBER_ISO: case StrTimeSpecifier::WEEKDAY_DECIMAL: + case StrTimeSpecifier::WEEKDAY_ISO: + case StrTimeSpecifier::YEAR_ISO: return true; default: return false; @@ -246,12 +253,22 @@ char *StrfTimeFormat::WriteDateSpecifier(StrTimeSpecifier specifier, date_t date case StrTimeSpecifier::WEEK_NUMBER_PADDED_SUN_FIRST: target = WritePadded2(target, Date::ExtractWeekNumberRegular(date, false)); break; + case StrTimeSpecifier::WEEK_NUMBER_ISO: + target = WritePadded2(target, Date::ExtractISOWeekNumber(date)); + break; case StrTimeSpecifier::DAY_OF_YEAR_DECIMAL: { uint32_t doy = Date::ExtractDayOfTheYear(date); target += NumericHelper::UnsignedLength(doy); NumericHelper::FormatUnsigned(doy, target); break; } + case StrTimeSpecifier::YEAR_ISO: + target = WritePadded(target, Date::ExtractISOYearNumber(date), 4); + break; + case StrTimeSpecifier::WEEKDAY_ISO: + *target = char('0' + uint8_t(Date::ExtractISODayOfTheWeek(date))); + target++; + break; default: throw InternalException("Unimplemented date specifier for strftime"); } @@ -493,6 +510,9 @@ string StrTimeFormat::ParseFormatSpecifier(const string &format_string, StrTimeF case 'w': specifier = StrTimeSpecifier::WEEKDAY_DECIMAL; break; + case 'u': + specifier = StrTimeSpecifier::WEEKDAY_ISO; + break; case 'd': specifier = StrTimeSpecifier::DAY_OF_MONTH_PADDED; break; @@ -512,6 +532,9 @@ string StrTimeFormat::ParseFormatSpecifier(const string &format_string, StrTimeF case 'Y': specifier = StrTimeSpecifier::YEAR_DECIMAL; break; + case 'G': + specifier = StrTimeSpecifier::YEAR_ISO; + break; case 'H': specifier = StrTimeSpecifier::HOUR_24_PADDED; break; @@ -551,6 +574,9 @@ string StrTimeFormat::ParseFormatSpecifier(const string &format_string, StrTimeF case 'W': specifier = StrTimeSpecifier::WEEK_NUMBER_PADDED_MON_FIRST; break; + case 'V': + specifier = StrTimeSpecifier::WEEK_NUMBER_ISO; + break; case 'c': case 'x': case 'X': @@ -603,20 +629,19 @@ string StrTimeFormat::ParseFormatSpecifier(const string &format_string, StrTimeF void StrfTimeFormat::ConvertDateVector(Vector &input, Vector &result, idx_t count) { D_ASSERT(input.GetType().id() == LogicalTypeId::DATE); D_ASSERT(result.GetType().id() == LogicalTypeId::VARCHAR); - UnaryExecutor::ExecuteWithNulls(input, result, count, - [&](date_t input, ValidityMask &mask, idx_t idx) { - if (Date::IsFinite(input)) { - dtime_t time(0); - idx_t len = GetLength(input, time, 0, nullptr); - string_t target = StringVector::EmptyString(result, len); - FormatString(input, time, target.GetDataWriteable()); - target.Finalize(); - return target; - } else { - mask.SetInvalid(idx); - return string_t(); - } - }); + UnaryExecutor::ExecuteWithNulls( + input, result, count, [&](date_t input, ValidityMask &mask, idx_t idx) { + if (Date::IsFinite(input)) { + dtime_t time(0); + idx_t len = GetLength(input, time, 0, nullptr); + string_t target = StringVector::EmptyString(result, len); + FormatString(input, time, target.GetDataWriteable()); + target.Finalize(); + return target; + } else { + return StringVector::AddString(result, Date::ToString(input)); + } + }); } void StrfTimeFormat::ConvertTimestampVector(Vector &input, Vector &result, idx_t count) { @@ -634,8 +659,7 @@ void StrfTimeFormat::ConvertTimestampVector(Vector &input, Vector &result, idx_t target.Finalize(); return target; } else { - mask.SetInvalid(idx); - return string_t(); + return StringVector::AddString(result, Timestamp::ToString(input)); } }); } @@ -648,6 +672,7 @@ void StrpTimeFormat::AddFormatSpecifier(string preceding_literal, StrTimeSpecifi int StrpTimeFormat::NumericSpecifierWidth(StrTimeSpecifier specifier) { switch (specifier) { case StrTimeSpecifier::WEEKDAY_DECIMAL: + case StrTimeSpecifier::WEEKDAY_ISO: return 1; case StrTimeSpecifier::DAY_OF_MONTH_PADDED: case StrTimeSpecifier::DAY_OF_MONTH: @@ -665,12 +690,14 @@ int StrpTimeFormat::NumericSpecifierWidth(StrTimeSpecifier specifier) { case StrTimeSpecifier::SECOND_DECIMAL: case StrTimeSpecifier::WEEK_NUMBER_PADDED_SUN_FIRST: case StrTimeSpecifier::WEEK_NUMBER_PADDED_MON_FIRST: + case StrTimeSpecifier::WEEK_NUMBER_ISO: return 2; case StrTimeSpecifier::MILLISECOND_PADDED: case StrTimeSpecifier::DAY_OF_YEAR_PADDED: case StrTimeSpecifier::DAY_OF_YEAR_DECIMAL: return 3; case StrTimeSpecifier::YEAR_DECIMAL: + case StrTimeSpecifier::YEAR_ISO: return 4; case StrTimeSpecifier::MICROSECOND_PADDED: return 6; @@ -733,7 +760,38 @@ bool StrpTimeFormat::Parse(string_t str, ParseResult &result) const { data++; size--; } + + // Check for specials + // Precheck for alphas for performance. idx_t pos = 0; + result.is_special = false; + if (size > 4) { + if (StringUtil::CharacterIsAlpha(*data)) { + if (Date::TryConvertDateSpecial(data, size, pos, Date::PINF)) { + result.is_special = true; + result.special = date_t::infinity(); + } else if (Date::TryConvertDateSpecial(data, size, pos, Date::EPOCH)) { + result.is_special = true; + result.special = date_t::epoch(); + } + } else if (*data == '-' && Date::TryConvertDateSpecial(data, size, pos, Date::NINF)) { + result.is_special = true; + result.special = date_t::ninfinity(); + } + } + if (result.is_special) { + // skip trailing spaces + while (pos < size && StringUtil::CharacterIsSpace(data[pos])) { + pos++; + } + if (pos != size) { + error_message = "Special timestamp did not match: trailing characters"; + error_position = pos; + return false; + } + return true; + } + TimeSpecifierAMOrPM ampm = TimeSpecifierAMOrPM::TIME_SPECIFIER_NONE; // Year offset state (Year+W/j) @@ -741,6 +799,13 @@ bool StrpTimeFormat::Parse(string_t str, ParseResult &result) const { uint64_t weekno = 0; uint64_t weekday = 0; uint64_t yearday = 0; + bool has_weekday = false; + + // ISO state (%G/%V/%u) + // Out of range values to detect multiple specifications + uint64_t iso_year = 10000; + uint64_t iso_week = 54; + uint64_t iso_weekday = 8; for (idx_t i = 0;; i++) { D_ASSERT(i < literals.size()); @@ -813,6 +878,17 @@ bool StrpTimeFormat::Parse(string_t str, ParseResult &result) const { break; case StrTimeSpecifier::YEAR_WITHOUT_CENTURY_PADDED: case StrTimeSpecifier::YEAR_WITHOUT_CENTURY: + switch (offset_specifier) { + case StrTimeSpecifier::YEAR_ISO: + case StrTimeSpecifier::WEEK_NUMBER_ISO: + // Override + case StrTimeSpecifier::WEEKDAY_DECIMAL: + // First offset specifier + offset_specifier = specifiers[i]; + break; + default: + break; + } // year without century.. // Python uses 69 as a crossover point (i.e. >= 69 is 19.., < 69 is 20..) if (number >= 100) { @@ -828,9 +904,59 @@ bool StrpTimeFormat::Parse(string_t str, ParseResult &result) const { } break; case StrTimeSpecifier::YEAR_DECIMAL: + switch (offset_specifier) { + case StrTimeSpecifier::YEAR_ISO: + case StrTimeSpecifier::WEEK_NUMBER_ISO: + // Override + case StrTimeSpecifier::WEEKDAY_DECIMAL: + // First offset specifier + offset_specifier = specifiers[i]; + break; + default: + break; + } // year as full number result_data[0] = number; break; + case StrTimeSpecifier::YEAR_ISO: + switch (offset_specifier) { + // y/m/d overrides G/V/u but does not conflict + case StrTimeSpecifier::DAY_OF_MONTH_PADDED: + case StrTimeSpecifier::DAY_OF_MONTH: + case StrTimeSpecifier::MONTH_DECIMAL_PADDED: + case StrTimeSpecifier::MONTH_DECIMAL: + case StrTimeSpecifier::YEAR_WITHOUT_CENTURY_PADDED: + case StrTimeSpecifier::YEAR_WITHOUT_CENTURY: + case StrTimeSpecifier::YEAR_DECIMAL: + // Just validate, don't use + break; + case StrTimeSpecifier::WEEKDAY_DECIMAL: + // First offset specifier + offset_specifier = specifiers[i]; + break; + case StrTimeSpecifier::YEAR_ISO: + case StrTimeSpecifier::WEEK_NUMBER_ISO: + // Already parsing ISO + if (iso_year <= 9999) { + error_message = "Multiple ISO year offsets specified"; + error_position = start_pos; + return false; + } + break; + default: + error_message = "Incompatible ISO year offset specified"; + error_position = start_pos; + return false; + break; + } + if (number > 9999) { + // %G only supports numbers between [0..9999] + error_message = "ISO Year out of range, expected a value between 0000 and 9999"; + error_position = start_pos; + return false; + } + iso_year = number; + break; case StrTimeSpecifier::HOUR_24_PADDED: case StrTimeSpecifier::HOUR_24_DECIMAL: if (number >= 24) { @@ -896,12 +1022,16 @@ bool StrpTimeFormat::Parse(string_t str, ParseResult &result) const { case StrTimeSpecifier::MONTH_DECIMAL: // Just validate, don't use break; + case StrTimeSpecifier::YEAR_WITHOUT_CENTURY_PADDED: + case StrTimeSpecifier::YEAR_WITHOUT_CENTURY: + case StrTimeSpecifier::YEAR_DECIMAL: + // Switch to offset parsing case StrTimeSpecifier::WEEKDAY_DECIMAL: // First offset specifier offset_specifier = specifiers[i]; break; default: - error_message = "Multiple year offsets specified"; + error_message = "Multiple week offsets specified"; error_position = start_pos; return false; } @@ -918,8 +1048,60 @@ bool StrpTimeFormat::Parse(string_t str, ParseResult &result) const { error_position = start_pos; return false; } + has_weekday = true; weekday = number; break; + case StrTimeSpecifier::WEEK_NUMBER_ISO: + // y/m/d overrides G/V/u but does not conflict + switch (offset_specifier) { + case StrTimeSpecifier::DAY_OF_MONTH_PADDED: + case StrTimeSpecifier::DAY_OF_MONTH: + case StrTimeSpecifier::MONTH_DECIMAL_PADDED: + case StrTimeSpecifier::MONTH_DECIMAL: + case StrTimeSpecifier::YEAR_WITHOUT_CENTURY_PADDED: + case StrTimeSpecifier::YEAR_WITHOUT_CENTURY: + case StrTimeSpecifier::YEAR_DECIMAL: + // Just validate, don't use + break; + break; + case StrTimeSpecifier::WEEKDAY_DECIMAL: + // First offset specifier + offset_specifier = specifiers[i]; + break; + case StrTimeSpecifier::WEEK_NUMBER_ISO: + case StrTimeSpecifier::YEAR_ISO: + // Already parsing ISO + if (iso_week <= 53) { + error_message = "Multiple ISO week offsets specified"; + error_position = start_pos; + return false; + } + break; + default: + error_message = "Incompatible ISO week offset specified"; + error_position = start_pos; + return false; + } + if (number < 1 || number > 53) { + error_message = "ISO week offset out of range, expected a value between 1 and 53"; + error_position = start_pos; + return false; + } + iso_week = number; + break; + case StrTimeSpecifier::WEEKDAY_ISO: + if (iso_weekday <= 7) { + error_message = "Multiple ISO weekday offsets specified"; + error_position = start_pos; + return false; + } + if (number < 1 || number > 7) { + error_message = "ISO weekday offset out of range, expected a value between 1 and 7"; + error_position = start_pos; + return false; + } + iso_weekday = number; + break; case StrTimeSpecifier::DAY_OF_YEAR_PADDED: case StrTimeSpecifier::DAY_OF_YEAR_DECIMAL: // m/d overrides j but does not conflict @@ -930,6 +1112,11 @@ bool StrpTimeFormat::Parse(string_t str, ParseResult &result) const { case StrTimeSpecifier::MONTH_DECIMAL: // Just validate, don't use break; + case StrTimeSpecifier::YEAR_WITHOUT_CENTURY_PADDED: + case StrTimeSpecifier::YEAR_WITHOUT_CENTURY: + case StrTimeSpecifier::YEAR_DECIMAL: + // Part of the offset + break; case StrTimeSpecifier::WEEKDAY_DECIMAL: // First offset specifier offset_specifier = specifiers[i]; @@ -1078,10 +1265,27 @@ bool StrpTimeFormat::Parse(string_t str, ParseResult &result) const { } } switch (offset_specifier) { + case StrTimeSpecifier::YEAR_ISO: + case StrTimeSpecifier::WEEK_NUMBER_ISO: { + // Default to 1900-01-01 + iso_year = (iso_year > 9999) ? 1900 : iso_year; + iso_week = (iso_week > 53) ? 1 : iso_week; + iso_weekday = (iso_weekday > 7) ? 1 : iso_weekday; + // Gregorian and ISO agree on the year of January 4 + auto jan4 = Date::FromDate(iso_year, 1, 4); + // ISO Week 1 starts on the previous Monday + auto week1 = Date::GetMondayOfCurrentWeek(jan4); + // ISO Week N starts N-1 weeks later + auto iso_date = week1 + (iso_week - 1) * 7 + (iso_weekday - 1); + Date::Convert(iso_date, result_data[0], result_data[1], result_data[2]); + break; + } case StrTimeSpecifier::WEEK_NUMBER_PADDED_SUN_FIRST: case StrTimeSpecifier::WEEK_NUMBER_PADDED_MON_FIRST: { // Adjust weekday to be 0-based for the week type - weekday = (weekday + 7 - int(offset_specifier == StrTimeSpecifier::WEEK_NUMBER_PADDED_MON_FIRST)) % 7; + if (has_weekday) { + weekday = (weekday + 7 - int(offset_specifier == StrTimeSpecifier::WEEK_NUMBER_PADDED_MON_FIRST)) % 7; + } // Get the start of week 1, move back 7 days and then weekno * 7 + weekday gives the date const auto jan1 = Date::FromDate(result_data[0], 1, 1); auto yeardate = Date::GetMondayOfCurrentWeek(jan1); @@ -1103,7 +1307,10 @@ bool StrpTimeFormat::Parse(string_t str, ParseResult &result) const { case StrTimeSpecifier::DAY_OF_MONTH: case StrTimeSpecifier::MONTH_DECIMAL_PADDED: case StrTimeSpecifier::MONTH_DECIMAL: - // m/d overrides UWw/j + case StrTimeSpecifier::YEAR_WITHOUT_CENTURY_PADDED: + case StrTimeSpecifier::YEAR_WITHOUT_CENTURY: + case StrTimeSpecifier::YEAR_DECIMAL: + // m/d overrides UWVwu/j break; default: D_ASSERT(offset_specifier == StrTimeSpecifier::WEEKDAY_DECIMAL); @@ -1127,6 +1334,10 @@ StrpTimeFormat::ParseResult StrpTimeFormat::Parse(const string &format_string, c return result; } +bool StrTimeFormat::Empty() const { + return format_specifier.empty(); +} + string StrpTimeFormat::FormatStrpTimeError(const string &input, idx_t position) { if (position == DConstants::INVALID_INDEX) { return string(); @@ -1135,6 +1346,9 @@ string StrpTimeFormat::FormatStrpTimeError(const string &input, idx_t position) } date_t StrpTimeFormat::ParseResult::ToDate() { + if (is_special) { + return special; + } return Date::FromDate(data[0], data[1], data[2]); } @@ -1143,6 +1357,15 @@ bool StrpTimeFormat::ParseResult::TryToDate(date_t &result) { } timestamp_t StrpTimeFormat::ParseResult::ToTimestamp() { + if (is_special) { + if (special == date_t::infinity()) { + return timestamp_t::infinity(); + } else if (special == date_t::ninfinity()) { + return timestamp_t::ninfinity(); + } + return Timestamp::FromDatetime(special, dtime_t(0)); + } + date_t date = Date::FromDate(data[0], data[1], data[2]); const auto hour_offset = data[7] / Interval::MINS_PER_HOUR; const auto mins_offset = data[7] % Interval::MINS_PER_HOUR; diff --git a/src/function/scalar/string/caseconvert.cpp b/src/function/scalar/string/caseconvert.cpp index 732172527024..4193ee600bad 100644 --- a/src/function/scalar/string/caseconvert.cpp +++ b/src/function/scalar/string/caseconvert.cpp @@ -23,7 +23,7 @@ uint8_t UpperFun::ascii_to_upper_map[] = { 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254}; + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255}; uint8_t LowerFun::ascii_to_lower_map[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, @@ -36,7 +36,7 @@ uint8_t LowerFun::ascii_to_lower_map[] = { 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254}; + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255}; template static string_t ASCIICaseConvert(Vector &result, const char *input_data, idx_t input_length) { diff --git a/src/function/scalar/string/concat.cpp b/src/function/scalar/string/concat.cpp index f5b04a4b8c0e..5ad0c9a3ede5 100644 --- a/src/function/scalar/string/concat.cpp +++ b/src/function/scalar/string/concat.cpp @@ -231,6 +231,15 @@ static void ConcatWSFunction(DataChunk &args, ExpressionState &state, Vector &re } } +static unique_ptr BindConcatFunction(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + for (auto &arg : bound_function.arguments) { + arg = LogicalType::VARCHAR; + } + bound_function.varargs = LogicalType::VARCHAR; + return nullptr; +} + void ConcatFun::RegisterFunction(BuiltinFunctions &set) { // the concat operator and concat function have different behavior regarding NULLs // this is strange but seems consistent with postgresql and mysql @@ -247,14 +256,15 @@ void ConcatFun::RegisterFunction(BuiltinFunctions &set) { // e.g.: // concat_ws(',', NULL, NULL) = "" // concat_ws(',', '', '') = "," - ScalarFunction concat = ScalarFunction("concat", {LogicalType::VARCHAR}, LogicalType::VARCHAR, ConcatFunction); - concat.varargs = LogicalType::VARCHAR; + ScalarFunction concat = + ScalarFunction("concat", {LogicalType::ANY}, LogicalType::VARCHAR, ConcatFunction, BindConcatFunction); + concat.varargs = LogicalType::ANY; concat.null_handling = FunctionNullHandling::SPECIAL_HANDLING; set.AddFunction(concat); ScalarFunctionSet concat_op("||"); concat_op.AddFunction( - ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::VARCHAR, ConcatOperator)); + ScalarFunction({LogicalType::ANY, LogicalType::ANY}, LogicalType::VARCHAR, ConcatOperator, BindConcatFunction)); concat_op.AddFunction(ScalarFunction({LogicalType::BLOB, LogicalType::BLOB}, LogicalType::BLOB, ConcatOperator)); concat_op.AddFunction(ListConcatFun::GetFunction()); for (auto &fun : concat_op.functions) { @@ -262,9 +272,9 @@ void ConcatFun::RegisterFunction(BuiltinFunctions &set) { } set.AddFunction(concat_op); - ScalarFunction concat_ws = ScalarFunction("concat_ws", {LogicalType::VARCHAR, LogicalType::VARCHAR}, - LogicalType::VARCHAR, ConcatWSFunction); - concat_ws.varargs = LogicalType::VARCHAR; + ScalarFunction concat_ws = ScalarFunction("concat_ws", {LogicalType::VARCHAR, LogicalType::ANY}, + LogicalType::VARCHAR, ConcatWSFunction, BindConcatFunction); + concat_ws.varargs = LogicalType::ANY; concat_ws.null_handling = FunctionNullHandling::SPECIAL_HANDLING; set.AddFunction(concat_ws); } diff --git a/src/function/scalar/string/length.cpp b/src/function/scalar/string/length.cpp index d4fe021bed2c..218e4e84626d 100644 --- a/src/function/scalar/string/length.cpp +++ b/src/function/scalar/string/length.cpp @@ -25,23 +25,6 @@ struct GraphemeCountOperator { } }; -struct ArrayLengthOperator { - template - static inline TR Operation(TA input) { - return input.length; - } -}; - -struct ArrayLengthBinaryOperator { - template - static inline TR Operation(TA input, TB dimension) { - if (dimension != 1) { - throw NotImplementedException("array_length for dimensions other than 1 not implemented"); - } - return input.length; - } -}; - // strlen returns the size in bytes struct StrLenOperator { template @@ -84,19 +67,137 @@ static unique_ptr LengthPropagateStats(ClientContext &context, F return nullptr; } -static unique_ptr ListLengthBind(ClientContext &context, ScalarFunction &bound_function, - vector> &arguments) { +//------------------------------------------------------------------ +// ARRAY / LIST LENGTH +//------------------------------------------------------------------ + +static void ListLengthFunction(DataChunk &args, ExpressionState &state, Vector &result) { + auto &input = args.data[0]; + D_ASSERT(input.GetType().id() == LogicalTypeId::LIST); + UnaryExecutor::Execute(input, result, args.size(), + [](list_entry_t input) { return input.length; }); + if (args.AllConstant()) { + result.SetVectorType(VectorType::CONSTANT_VECTOR); + } +} + +static void ArrayLengthFunction(DataChunk &args, ExpressionState &state, Vector &result) { + auto &input = args.data[0]; + // If the input is an array, the length is constant + result.SetVectorType(VectorType::CONSTANT_VECTOR); + ConstantVector::GetData(result)[0] = static_cast(ArrayType::GetSize(input.GetType())); +} + +static unique_ptr ArrayOrListLengthBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { if (arguments[0]->HasParameter()) { throw ParameterNotResolvedException(); } + if (arguments[0]->return_type.id() == LogicalTypeId::ARRAY) { + bound_function.function = ArrayLengthFunction; + } else if (arguments[0]->return_type.id() == LogicalTypeId::LIST) { + bound_function.function = ListLengthFunction; + } else { + // Unreachable + throw BinderException("length can only be used on arrays or lists"); + } bound_function.arguments[0] = arguments[0]->return_type; return nullptr; } +//------------------------------------------------------------------ +// ARRAY / LIST WITH DIMENSION +//------------------------------------------------------------------ +static void ListLengthBinaryFunction(DataChunk &args, ExpressionState &, Vector &result) { + auto type = args.data[0].GetType(); + auto &input = args.data[0]; + auto &dimension = args.data[1]; + BinaryExecutor::Execute( + input, dimension, result, args.size(), [](list_entry_t input, int64_t dimension) { + if (dimension != 1) { + throw NotImplementedException("array_length for lists with dimensions other than 1 not implemented"); + } + return input.length; + }); + if (args.AllConstant()) { + result.SetVectorType(VectorType::CONSTANT_VECTOR); + } +} + +struct ArrayLengthBinaryFunctionData : public FunctionData { + vector dimensions; + + unique_ptr Copy() const override { + auto copy = make_uniq(); + copy->dimensions = dimensions; + return std::move(copy); + } + + bool Equals(const FunctionData &other) const override { + auto &other_data = other.Cast(); + return dimensions == other_data.dimensions; + } +}; + +static void ArrayLengthBinaryFunction(DataChunk &args, ExpressionState &state, Vector &result) { + auto type = args.data[0].GetType(); + auto &dimension = args.data[1]; + + auto &expr = state.expr.Cast(); + auto &data = expr.bind_info->Cast(); + auto &dimensions = data.dimensions; + auto max_dimension = static_cast(dimensions.size()); + + UnaryExecutor::Execute(dimension, result, args.size(), [&](int64_t dimension) { + if (dimension < 1 || dimension > max_dimension) { + throw OutOfRangeException(StringUtil::Format( + "array_length dimension '%lld' out of range (min: '1', max: '%lld')", dimension, max_dimension)); + } + return dimensions[dimension - 1]; + }); + + if (args.AllConstant()) { + result.SetVectorType(VectorType::CONSTANT_VECTOR); + } +} + +static unique_ptr ArrayOrListLengthBinaryBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + if (arguments[0]->HasParameter()) { + throw ParameterNotResolvedException(); + } + auto type = arguments[0]->return_type; + if (type.id() == LogicalTypeId::ARRAY) { + bound_function.arguments[0] = type; + bound_function.function = ArrayLengthBinaryFunction; + + // If the input is an array, the dimensions are constant, so we can calculate them at bind time + vector dimensions; + while (true) { + if (type.id() == LogicalTypeId::ARRAY) { + dimensions.push_back(ArrayType::GetSize(type)); + type = ArrayType::GetChildType(type); + } else { + break; + } + } + auto data = make_uniq(); + data->dimensions = dimensions; + return std::move(data); + + } else if (type.id() == LogicalTypeId::LIST) { + bound_function.function = ListLengthBinaryFunction; + bound_function.arguments[0] = type; + return nullptr; + } else { + // Unreachable + throw BinderException("array_length can only be used on arrays or lists"); + } +} + void LengthFun::RegisterFunction(BuiltinFunctions &set) { ScalarFunction array_length_unary = - ScalarFunction({LogicalType::LIST(LogicalType::ANY)}, LogicalType::BIGINT, - ScalarFunction::UnaryFunction, ListLengthBind); + ScalarFunction({LogicalType::LIST(LogicalType::ANY)}, LogicalType::BIGINT, nullptr, ArrayOrListLengthBind); ScalarFunctionSet length("length"); length.AddFunction(ScalarFunction({LogicalType::VARCHAR}, LogicalType::BIGINT, ScalarFunction::UnaryFunction, nullptr, @@ -116,9 +217,8 @@ void LengthFun::RegisterFunction(BuiltinFunctions &set) { ScalarFunctionSet array_length("array_length"); array_length.AddFunction(array_length_unary); - array_length.AddFunction(ScalarFunction( - {LogicalType::LIST(LogicalType::ANY), LogicalType::BIGINT}, LogicalType::BIGINT, - ScalarFunction::BinaryFunction, ListLengthBind)); + array_length.AddFunction(ScalarFunction({LogicalType::LIST(LogicalType::ANY), LogicalType::BIGINT}, + LogicalType::BIGINT, nullptr, ArrayOrListLengthBinaryBind)); set.AddFunction(array_length); set.AddFunction(ScalarFunction("strlen", {LogicalType::VARCHAR}, LogicalType::BIGINT, diff --git a/src/function/scalar/string/regexp.cpp b/src/function/scalar/string/regexp.cpp index d14ac7ac59fb..89aa0e30d03e 100644 --- a/src/function/scalar/string/regexp.cpp +++ b/src/function/scalar/string/regexp.cpp @@ -55,7 +55,7 @@ RegexpMatchesBindData::RegexpMatchesBindData(duckdb_re2::RE2::Options options, s if (constant_pattern) { auto pattern = make_uniq(constant_string, options); if (!pattern->ok()) { - throw Exception(pattern->error()); + throw InvalidInputException(pattern->error()); } range_success = pattern->PossibleMatchRange(&range_min, &range_max, 1000); @@ -122,7 +122,7 @@ static void RegexpMatchesFunction(DataChunk &args, ExpressionState &state, Vecto [&](string_t input, string_t pattern) { RE2 re(CreateStringPiece(pattern), info.options); if (!re.ok()) { - throw Exception(re.error()); + throw InvalidInputException(re.error()); } return OP::Operation(CreateStringPiece(input), re); }); @@ -382,24 +382,24 @@ static unique_ptr RegexExtractBind(ClientContext &context, ScalarF void RegexpFun::RegisterFunction(BuiltinFunctions &set) { ScalarFunctionSet regexp_full_match("regexp_full_match"); - regexp_full_match.AddFunction(ScalarFunction( - {LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BOOLEAN, RegexpMatchesFunction, - RegexpMatchesBind, nullptr, nullptr, RegexInitLocalState, LogicalType::INVALID, - FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); - regexp_full_match.AddFunction(ScalarFunction( - {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BOOLEAN, - RegexpMatchesFunction, RegexpMatchesBind, nullptr, nullptr, RegexInitLocalState, - LogicalType::INVALID, FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + regexp_full_match.AddFunction( + ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BOOLEAN, + RegexpMatchesFunction, RegexpMatchesBind, nullptr, nullptr, RegexInitLocalState, + LogicalType::INVALID, FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); + regexp_full_match.AddFunction( + ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BOOLEAN, + RegexpMatchesFunction, RegexpMatchesBind, nullptr, nullptr, RegexInitLocalState, + LogicalType::INVALID, FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); ScalarFunctionSet regexp_partial_match("regexp_matches"); regexp_partial_match.AddFunction(ScalarFunction( {LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BOOLEAN, RegexpMatchesFunction, - RegexpMatchesBind, nullptr, nullptr, RegexInitLocalState, LogicalType::INVALID, - FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + RegexpMatchesBind, nullptr, nullptr, RegexInitLocalState, LogicalType::INVALID, FunctionStability::CONSISTENT, + FunctionNullHandling::SPECIAL_HANDLING)); regexp_partial_match.AddFunction(ScalarFunction( {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BOOLEAN, RegexpMatchesFunction, RegexpMatchesBind, nullptr, nullptr, RegexInitLocalState, - LogicalType::INVALID, FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + LogicalType::INVALID, FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); ScalarFunctionSet regexp_replace("regexp_replace"); regexp_replace.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR}, @@ -410,43 +410,43 @@ void RegexpFun::RegisterFunction(BuiltinFunctions &set) { RegexReplaceFunction, RegexReplaceBind, nullptr, nullptr, RegexInitLocalState)); ScalarFunctionSet regexp_extract("regexp_extract"); - regexp_extract.AddFunction( - ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::VARCHAR, RegexExtractFunction, - RegexExtractBind, nullptr, nullptr, RegexInitLocalState, LogicalType::INVALID, - FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); - regexp_extract.AddFunction(ScalarFunction( - {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::INTEGER}, LogicalType::VARCHAR, RegexExtractFunction, - RegexExtractBind, nullptr, nullptr, RegexInitLocalState, LogicalType::INVALID, - FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + regexp_extract.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::VARCHAR, + RegexExtractFunction, RegexExtractBind, nullptr, nullptr, + RegexInitLocalState, LogicalType::INVALID, FunctionStability::CONSISTENT, + FunctionNullHandling::SPECIAL_HANDLING)); + regexp_extract.AddFunction(ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::INTEGER}, + LogicalType::VARCHAR, RegexExtractFunction, RegexExtractBind, nullptr, + nullptr, RegexInitLocalState, LogicalType::INVALID, + FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); regexp_extract.AddFunction(ScalarFunction( {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::INTEGER, LogicalType::VARCHAR}, LogicalType::VARCHAR, RegexExtractFunction, RegexExtractBind, nullptr, nullptr, RegexInitLocalState, LogicalType::INVALID, - FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); // REGEXP_EXTRACT(, , [[, ]...]) regexp_extract.AddFunction(ScalarFunction( {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::LIST(LogicalType::VARCHAR)}, LogicalType::VARCHAR, RegexExtractStructFunction, RegexExtractBind, nullptr, nullptr, RegexInitLocalState, LogicalType::INVALID, - FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); // REGEXP_EXTRACT(, , [[, ]...], ) regexp_extract.AddFunction(ScalarFunction( {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::LIST(LogicalType::VARCHAR), LogicalType::VARCHAR}, LogicalType::VARCHAR, RegexExtractStructFunction, RegexExtractBind, nullptr, nullptr, RegexInitLocalState, - LogicalType::INVALID, FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + LogicalType::INVALID, FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); ScalarFunctionSet regexp_extract_all("regexp_extract_all"); regexp_extract_all.AddFunction(ScalarFunction( {LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::LIST(LogicalType::VARCHAR), RegexpExtractAll::Execute, RegexpExtractAll::Bind, nullptr, nullptr, RegexpExtractAll::InitLocalState, - LogicalType::INVALID, FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + LogicalType::INVALID, FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); regexp_extract_all.AddFunction(ScalarFunction( {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::INTEGER}, LogicalType::LIST(LogicalType::VARCHAR), RegexpExtractAll::Execute, RegexpExtractAll::Bind, nullptr, nullptr, RegexpExtractAll::InitLocalState, - LogicalType::INVALID, FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + LogicalType::INVALID, FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); regexp_extract_all.AddFunction( ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::INTEGER, LogicalType::VARCHAR}, LogicalType::LIST(LogicalType::VARCHAR), RegexpExtractAll::Execute, RegexpExtractAll::Bind, nullptr, nullptr, RegexpExtractAll::InitLocalState, LogicalType::INVALID, - FunctionSideEffects::NO_SIDE_EFFECTS, FunctionNullHandling::SPECIAL_HANDLING)); + FunctionStability::CONSISTENT, FunctionNullHandling::SPECIAL_HANDLING)); set.AddFunction(regexp_full_match); set.AddFunction(regexp_partial_match); diff --git a/src/function/scalar/struct/struct_extract.cpp b/src/function/scalar/struct/struct_extract.cpp index f94982754a0c..50e033b77079 100644 --- a/src/function/scalar/struct/struct_extract.cpp +++ b/src/function/scalar/struct/struct_extract.cpp @@ -8,21 +8,18 @@ namespace duckdb { struct StructExtractBindData : public FunctionData { - StructExtractBindData(string key, idx_t index, LogicalType type) - : key(std::move(key)), index(index), type(std::move(type)) { + explicit StructExtractBindData(idx_t index) : index(index) { } - string key; idx_t index; - LogicalType type; public: unique_ptr Copy() const override { - return make_uniq(key, index, type); + return make_uniq(index); } bool Equals(const FunctionData &other_p) const override { auto &other = other_p.Cast(); - return key == other.key && index == other.index && type == other.type; + return index == other.index; } }; @@ -44,15 +41,20 @@ static void StructExtractFunction(DataChunk &args, ExpressionState &state, Vecto static unique_ptr StructExtractBind(ClientContext &context, ScalarFunction &bound_function, vector> &arguments) { D_ASSERT(bound_function.arguments.size() == 2); - if (arguments[0]->return_type.id() == LogicalTypeId::UNKNOWN) { + auto &child_type = arguments[0]->return_type; + if (child_type.id() == LogicalTypeId::UNKNOWN) { throw ParameterNotResolvedException(); } - D_ASSERT(LogicalTypeId::STRUCT == arguments[0]->return_type.id()); - auto &struct_children = StructType::GetChildTypes(arguments[0]->return_type); + D_ASSERT(LogicalTypeId::STRUCT == child_type.id()); + auto &struct_children = StructType::GetChildTypes(child_type); if (struct_children.empty()) { throw InternalException("Can't extract something from an empty struct"); } - bound_function.arguments[0] = arguments[0]->return_type; + if (StructType::IsUnnamed(child_type)) { + throw BinderException( + "struct_extract with a string key cannot be used on an unnamed struct, use a numeric index instead"); + } + bound_function.arguments[0] = child_type; auto &key_child = arguments[1]; if (key_child->HasParameter()) { @@ -95,8 +97,44 @@ static unique_ptr StructExtractBind(ClientContext &context, Scalar throw BinderException("Could not find key \"%s\" in struct\n%s", key, message); } - bound_function.return_type = return_type; - return make_uniq(std::move(key), key_index, std::move(return_type)); + bound_function.return_type = std::move(return_type); + return make_uniq(key_index); +} + +static unique_ptr StructExtractBindIndex(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + D_ASSERT(bound_function.arguments.size() == 2); + auto &child_type = arguments[0]->return_type; + if (child_type.id() == LogicalTypeId::UNKNOWN) { + throw ParameterNotResolvedException(); + } + D_ASSERT(LogicalTypeId::STRUCT == child_type.id()); + auto &struct_children = StructType::GetChildTypes(child_type); + if (struct_children.empty()) { + throw InternalException("Can't extract something from an empty struct"); + } + if (!StructType::IsUnnamed(child_type)) { + throw BinderException( + "struct_extract with an integer key can only be used on unnamed structs, use a string key instead"); + } + bound_function.arguments[0] = child_type; + + auto &key_child = arguments[1]; + if (key_child->HasParameter()) { + throw ParameterNotResolvedException(); + } + + if (!key_child->IsFoldable()) { + throw BinderException("Key index for struct_extract needs to be a constant value"); + } + Value key_val = ExpressionExecutor::EvaluateScalar(context, *key_child); + auto index = key_val.GetValue(); + if (index <= 0 || idx_t(index) > struct_children.size()) { + throw BinderException("Key index %lld for struct_extract out of range - expected an index between 1 and %llu", + index, struct_children.size()); + } + bound_function.return_type = struct_children[index - 1].second; + return make_uniq(index - 1); } static unique_ptr PropagateStructExtractStats(ClientContext &context, FunctionStatisticsInput &input) { @@ -108,15 +146,26 @@ static unique_ptr PropagateStructExtractStats(ClientContext &con return struct_child_stats[info.index].ToUnique(); } -ScalarFunction StructExtractFun::GetFunction() { +ScalarFunction StructExtractFun::KeyExtractFunction() { return ScalarFunction("struct_extract", {LogicalTypeId::STRUCT, LogicalType::VARCHAR}, LogicalType::ANY, StructExtractFunction, StructExtractBind, nullptr, PropagateStructExtractStats); } +ScalarFunction StructExtractFun::IndexExtractFunction() { + return ScalarFunction("struct_extract", {LogicalTypeId::STRUCT, LogicalType::BIGINT}, LogicalType::ANY, + StructExtractFunction, StructExtractBindIndex); +} + +ScalarFunctionSet StructExtractFun::GetFunctions() { + ScalarFunctionSet functions("struct_extract"); + functions.AddFunction(KeyExtractFunction()); + functions.AddFunction(IndexExtractFunction()); + return functions; +} + void StructExtractFun::RegisterFunction(BuiltinFunctions &set) { // the arguments and return types are actually set in the binder function - auto fun = GetFunction(); - set.AddFunction(fun); + set.AddFunction(GetFunctions()); } } // namespace duckdb diff --git a/src/function/scalar/system/aggregate_export.cpp b/src/function/scalar/system/aggregate_export.cpp index e71255384f4c..e1e068b23ee4 100644 --- a/src/function/scalar/system/aggregate_export.cpp +++ b/src/function/scalar/system/aggregate_export.cpp @@ -171,7 +171,7 @@ static void AggregateStateCombine(DataChunk &input, ExpressionState &state_p, Ve memcpy(local_state.state_buffer0.get(), state0.GetData(), bind_data.state_size); memcpy(local_state.state_buffer1.get(), state1.GetData(), bind_data.state_size); - AggregateInputData aggr_input_data(nullptr, local_state.allocator); + AggregateInputData aggr_input_data(nullptr, local_state.allocator, AggregateCombineType::ALLOW_DESTRUCTIVE); bind_data.aggr.combine(local_state.state_vector0, local_state.state_vector1, aggr_input_data, 1); result_ptr[i] = StringVector::AddStringOrBlob(result, const_char_ptr_cast(local_state.state_buffer1.get()), @@ -213,13 +213,14 @@ static unique_ptr BindAggregateState(ClientContext &context, Scala } auto &aggr = func.Cast(); - string error; + ErrorData error; FunctionBinder function_binder(context); idx_t best_function = function_binder.BindFunction(aggr.name, aggr.functions, state_type.bound_argument_types, error); if (best_function == DConstants::INVALID_INDEX) { - throw InternalException("Could not re-bind exported aggregate %s: %s", state_type.function_name, error); + throw InternalException("Could not re-bind exported aggregate %s: %s", state_type.function_name, + error.Message()); } auto bound_aggr = aggr.functions.GetFunctionByOffset(best_function); if (bound_aggr.bind) { diff --git a/src/function/scalar_function.cpp b/src/function/scalar_function.cpp index 250eee74a0a6..ceebf3d52525 100644 --- a/src/function/scalar_function.cpp +++ b/src/function/scalar_function.cpp @@ -8,26 +8,27 @@ FunctionLocalState::~FunctionLocalState() { ScalarFunction::ScalarFunction(string name, vector arguments, LogicalType return_type, scalar_function_t function, bind_scalar_function_t bind, dependency_function_t dependency, function_statistics_t statistics, - init_local_state_t init_local_state, LogicalType varargs, - FunctionSideEffects side_effects, FunctionNullHandling null_handling) + init_local_state_t init_local_state, LogicalType varargs, FunctionStability side_effects, + FunctionNullHandling null_handling, bind_lambda_function_t bind_lambda) : BaseScalarFunction(std::move(name), std::move(arguments), std::move(return_type), side_effects, std::move(varargs), null_handling), function(std::move(function)), bind(bind), init_local_state(init_local_state), dependency(dependency), - statistics(statistics), serialize(nullptr), deserialize(nullptr) { + statistics(statistics), bind_lambda(bind_lambda), serialize(nullptr), deserialize(nullptr) { } ScalarFunction::ScalarFunction(vector arguments, LogicalType return_type, scalar_function_t function, bind_scalar_function_t bind, dependency_function_t dependency, function_statistics_t statistics, init_local_state_t init_local_state, - LogicalType varargs, FunctionSideEffects side_effects, - FunctionNullHandling null_handling) + LogicalType varargs, FunctionStability side_effects, FunctionNullHandling null_handling, + bind_lambda_function_t bind_lambda) : ScalarFunction(string(), std::move(arguments), std::move(return_type), std::move(function), bind, dependency, - statistics, init_local_state, std::move(varargs), side_effects, null_handling) { + statistics, init_local_state, std::move(varargs), side_effects, null_handling, bind_lambda) { } bool ScalarFunction::operator==(const ScalarFunction &rhs) const { return name == rhs.name && arguments == rhs.arguments && return_type == rhs.return_type && varargs == rhs.varargs && - bind == rhs.bind && dependency == rhs.dependency && statistics == rhs.statistics; + bind == rhs.bind && dependency == rhs.dependency && statistics == rhs.statistics && + bind_lambda == rhs.bind_lambda; } bool ScalarFunction::operator!=(const ScalarFunction &rhs) const { diff --git a/src/function/table/CMakeLists.txt b/src/function/table/CMakeLists.txt index 57ec9f90a239..f9c9beabad0e 100644 --- a/src/function/table/CMakeLists.txt +++ b/src/function/table/CMakeLists.txt @@ -13,11 +13,11 @@ add_library_unity( repeat_row.cpp copy_csv.cpp read_csv.cpp + sniff_csv.cpp + read_file.cpp system_functions.cpp summary.cpp table_scan.cpp - pragma_last_profiling_output.cpp - pragma_detailed_profiling_output.cpp unnest.cpp) set(ALL_OBJECT_FILES diff --git a/src/function/table/arrow.cpp b/src/function/table/arrow.cpp index f62449960166..8f59c89e59f4 100644 --- a/src/function/table/arrow.cpp +++ b/src/function/table/arrow.cpp @@ -137,6 +137,23 @@ static unique_ptr GetArrowLogicalTypeNoDictionary(ArrowSchema &schema auto union_type = make_uniq(LogicalType::UNION(members)); union_type->AssignChildren(std::move(children)); return union_type; + } else if (format == "+r") { + child_list_t members; + vector> children; + idx_t n_children = idx_t(schema.n_children); + D_ASSERT(n_children == 2); + D_ASSERT(string(schema.children[0]->name) == "run_ends"); + D_ASSERT(string(schema.children[1]->name) == "values"); + for (idx_t i = 0; i < n_children; i++) { + auto type = schema.children[i]; + children.emplace_back(ArrowTableFunction::GetArrowLogicalType(*type)); + members.emplace_back(type->name, children.back()->GetDuckType()); + } + + auto struct_type = make_uniq(LogicalType::STRUCT(members)); + struct_type->AssignChildren(std::move(children)); + struct_type->SetRunEndEncoded(); + return struct_type; } else if (format == "+m") { auto &arrow_struct_type = *schema.children[0]; D_ASSERT(arrow_struct_type.n_children == 2); @@ -193,30 +210,6 @@ unique_ptr ArrowTableFunction::GetArrowLogicalType(ArrowSchema &schem return arrow_type; } -void ArrowTableFunction::RenameArrowColumns(vector &names) { - unordered_map name_map; - for (auto &column_name : names) { - // put it all lower_case - auto low_column_name = StringUtil::Lower(column_name); - if (name_map.find(low_column_name) == name_map.end()) { - // Name does not exist yet - name_map[low_column_name]++; - } else { - // Name already exists, we add _x where x is the repetition number - string new_column_name = column_name + "_" + std::to_string(name_map[low_column_name]); - auto new_column_name_low = StringUtil::Lower(new_column_name); - while (name_map.find(new_column_name_low) != name_map.end()) { - // This name is already here due to a previous definition - name_map[low_column_name]++; - new_column_name = column_name + "_" + std::to_string(name_map[low_column_name]); - new_column_name_low = StringUtil::Lower(new_column_name); - } - column_name = new_column_name; - name_map[new_column_name_low]++; - } - } -} - void ArrowTableFunction::PopulateArrowTableType(ArrowTableType &arrow_table, ArrowSchemaWrapper &schema_p, vector &names, vector &return_types) { for (idx_t col_idx = 0; col_idx < (idx_t)schema_p.arrow_schema.n_children; col_idx++) { @@ -249,9 +242,9 @@ unique_ptr ArrowTableFunction::ArrowScanBind(ClientContext &contex auto res = make_uniq(stream_factory_produce, stream_factory_ptr); auto &data = *res; - stream_factory_get_schema(stream_factory_ptr, data.schema_root); + stream_factory_get_schema(reinterpret_cast(stream_factory_ptr), data.schema_root.arrow_schema); PopulateArrowTableType(res->arrow_table, data.schema_root, names, return_types); - RenameArrowColumns(names); + QueryResult::DeduplicateColumns(names); res->all_types = return_types; return std::move(res); } @@ -284,7 +277,7 @@ bool ArrowTableFunction::ArrowScanParallelStateNext(ClientContext &context, cons if (parallel_state.done) { return false; } - state.chunk_offset = 0; + state.Reset(); state.batch_index = ++parallel_state.batch_index; auto current_chunk = parallel_state.stream->GetNextChunk(); diff --git a/src/function/table/arrow/arrow_duck_schema.cpp b/src/function/table/arrow/arrow_duck_schema.cpp index 933c4da41ef9..ae841179cbb6 100644 --- a/src/function/table/arrow/arrow_duck_schema.cpp +++ b/src/function/table/arrow/arrow_duck_schema.cpp @@ -36,6 +36,18 @@ const ArrowType &ArrowType::GetDictionary() const { return *dictionary_type; } +void ArrowType::SetRunEndEncoded() { + D_ASSERT(children.size() == 2); + auto actual_type = children[1]->GetDuckType(); + // Override the duckdb type to the actual type + type = actual_type; + run_end_encoded = true; +} + +bool ArrowType::RunEndEncoded() const { + return run_end_encoded; +} + LogicalType ArrowType::GetDuckType(bool use_dictionary) const { if (use_dictionary && dictionary_type) { return dictionary_type->GetDuckType(); diff --git a/src/function/table/arrow_conversion.cpp b/src/function/table/arrow_conversion.cpp index 204078357e43..40915d5dd8a0 100644 --- a/src/function/table/arrow_conversion.cpp +++ b/src/function/table/arrow_conversion.cpp @@ -4,9 +4,26 @@ #include "duckdb/common/types/hugeint.hpp" #include "duckdb/common/types/arrow_aux_data.hpp" #include "duckdb/function/scalar/nested_functions.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" namespace duckdb { +namespace { + +enum class ArrowArrayPhysicalType : uint8_t { DICTIONARY_ENCODED, RUN_END_ENCODED, DEFAULT }; + +ArrowArrayPhysicalType GetArrowArrayPhysicalType(const ArrowType &type) { + if (type.HasDictionary()) { + return ArrowArrayPhysicalType::DICTIONARY_ENCODED; + } + if (type.RunEndEncoded()) { + return ArrowArrayPhysicalType::RUN_END_ENCODED; + } + return ArrowArrayPhysicalType::DEFAULT; +} + +} // namespace + static void ShiftRight(unsigned char *ar, int size, int shift) { int carry = 0; while (shift--) { @@ -18,13 +35,26 @@ static void ShiftRight(unsigned char *ar, int size, int shift) { } } +idx_t GetEffectiveOffset(ArrowArray &array, int64_t parent_offset, const ArrowScanLocalState &state, + int64_t nested_offset = -1) { + if (nested_offset != -1) { + // The parent of this array is a list + // We just ignore the parent offset, it's already applied to the list + return array.offset + nested_offset; + } + // Parent offset is set in the case of a struct, it applies to all child arrays + // 'chunk_offset' is how much of the chunk we've already scanned, in case the chunk size exceeds + // STANDARD_VECTOR_SIZE + return array.offset + parent_offset + state.chunk_offset; +} + template T *ArrowBufferData(ArrowArray &array, idx_t buffer_idx) { return (T *)array.buffers[buffer_idx]; // NOLINT } -static void GetValidityMask(ValidityMask &mask, ArrowArray &array, ArrowScanLocalState &scan_state, idx_t size, - int64_t nested_offset = -1, bool add_null = false) { +static void GetValidityMask(ValidityMask &mask, ArrowArray &array, const ArrowScanLocalState &scan_state, idx_t size, + int64_t parent_offset, int64_t nested_offset = -1, bool add_null = false) { // In certains we don't need to or cannot copy arrow's validity mask to duckdb. // // The conditions where we do want to copy arrow's mask to duckdb are: @@ -32,10 +62,7 @@ static void GetValidityMask(ValidityMask &mask, ArrowArray &array, ArrowScanLoca // 2. n_buffers > 0, meaning the array's arrow type is not `null` // 3. the validity buffer (the first buffer) is not a nullptr if (array.null_count != 0 && array.n_buffers > 0 && array.buffers[0]) { - auto bit_offset = scan_state.chunk_offset + array.offset; - if (nested_offset != -1) { - bit_offset = nested_offset; - } + auto bit_offset = GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); mask.EnsureWritable(); #if STANDARD_VECTOR_SIZE > 64 auto n_bitmask_bytes = (size + 8 - 1) / 8; @@ -73,13 +100,17 @@ static void GetValidityMask(ValidityMask &mask, ArrowArray &array, ArrowScanLoca } } -static void SetValidityMask(Vector &vector, ArrowArray &array, ArrowScanLocalState &scan_state, idx_t size, - int64_t nested_offset, bool add_null = false) { +static void SetValidityMask(Vector &vector, ArrowArray &array, const ArrowScanLocalState &scan_state, idx_t size, + int64_t parent_offset, int64_t nested_offset, bool add_null = false) { D_ASSERT(vector.GetVectorType() == VectorType::FLAT_VECTOR); auto &mask = FlatVector::Validity(vector); - GetValidityMask(mask, array, scan_state, size, nested_offset, add_null); + GetValidityMask(mask, array, scan_state, size, parent_offset, nested_offset, add_null); } +static void ColumnArrowToDuckDBRunEndEncoded(Vector &vector, ArrowArray &array, ArrowArrayScanState &array_state, + idx_t size, const ArrowType &arrow_type, int64_t nested_offset = -1, + ValidityMask *parent_mask = nullptr, uint64_t parent_offset = 0); + static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArrayScanState &array_state, idx_t size, const ArrowType &arrow_type, int64_t nested_offset = -1, ValidityMask *parent_mask = nullptr, uint64_t parent_offset = 0); @@ -89,21 +120,19 @@ static void ColumnArrowToDuckDBDictionary(Vector &vector, ArrowArray &array, Arr ValidityMask *parent_mask = nullptr, uint64_t parent_offset = 0); static void ArrowToDuckDBList(Vector &vector, ArrowArray &array, ArrowArrayScanState &array_state, idx_t size, - const ArrowType &arrow_type, int64_t nested_offset, ValidityMask *parent_mask) { + const ArrowType &arrow_type, int64_t nested_offset, ValidityMask *parent_mask, + int64_t parent_offset) { auto size_type = arrow_type.GetSizeType(); idx_t list_size = 0; auto &scan_state = array_state.state; - SetValidityMask(vector, array, scan_state, size, nested_offset); + SetValidityMask(vector, array, scan_state, size, parent_offset, nested_offset); idx_t start_offset = 0; idx_t cur_offset = 0; if (size_type == ArrowVariableSizeType::FIXED_SIZE) { auto fixed_size = arrow_type.FixedSize(); //! Have to check validity mask before setting this up - idx_t offset = (scan_state.chunk_offset + array.offset) * fixed_size; - if (nested_offset != -1) { - offset = fixed_size * nested_offset; - } + idx_t offset = GetEffectiveOffset(array, parent_offset, scan_state, nested_offset) * fixed_size; start_offset = offset; auto list_data = FlatVector::GetData(vector); for (idx_t i = 0; i < size; i++) { @@ -114,10 +143,8 @@ static void ArrowToDuckDBList(Vector &vector, ArrowArray &array, ArrowArrayScanS } list_size = start_offset + cur_offset; } else if (size_type == ArrowVariableSizeType::NORMAL) { - auto offsets = ArrowBufferData(array, 1) + array.offset + scan_state.chunk_offset; - if (nested_offset != -1) { - offsets = ArrowBufferData(array, 1) + nested_offset; - } + auto offsets = + ArrowBufferData(array, 1) + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); start_offset = offsets[0]; auto list_data = FlatVector::GetData(vector); for (idx_t i = 0; i < size; i++) { @@ -128,10 +155,8 @@ static void ArrowToDuckDBList(Vector &vector, ArrowArray &array, ArrowArrayScanS } list_size = offsets[size]; } else { - auto offsets = ArrowBufferData(array, 1) + array.offset + scan_state.chunk_offset; - if (nested_offset != -1) { - offsets = ArrowBufferData(array, 1) + nested_offset; - } + auto offsets = + ArrowBufferData(array, 1) + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); start_offset = offsets[0]; auto list_data = FlatVector::GetData(vector); for (idx_t i = 0; i < size; i++) { @@ -146,7 +171,7 @@ static void ArrowToDuckDBList(Vector &vector, ArrowArray &array, ArrowArrayScanS ListVector::Reserve(vector, list_size); ListVector::SetListSize(vector, list_size); auto &child_vector = ListVector::GetEntry(vector); - SetValidityMask(child_vector, *array.children[0], scan_state, list_size, start_offset); + SetValidityMask(child_vector, *array.children[0], scan_state, list_size, array.offset, start_offset); auto &list_mask = FlatVector::Validity(vector); if (parent_mask) { //! Since this List is owned by a struct we must guarantee their validity map matches on Null @@ -164,27 +189,34 @@ static void ArrowToDuckDBList(Vector &vector, ArrowArray &array, ArrowArrayScanS if (list_size == 0 && start_offset == 0) { D_ASSERT(!child_array.dictionary); ColumnArrowToDuckDB(child_vector, child_array, child_state, list_size, child_type, -1); - } else { - if (child_array.dictionary) { - // TODO: add support for offsets - ColumnArrowToDuckDBDictionary(child_vector, child_array, child_state, list_size, child_type, start_offset); - } else { - ColumnArrowToDuckDB(child_vector, child_array, child_state, list_size, child_type, start_offset); - } + return; + } + + auto array_physical_type = GetArrowArrayPhysicalType(child_type); + switch (array_physical_type) { + case ArrowArrayPhysicalType::DICTIONARY_ENCODED: + // TODO: add support for offsets + ColumnArrowToDuckDBDictionary(child_vector, child_array, child_state, list_size, child_type, start_offset); + break; + case ArrowArrayPhysicalType::RUN_END_ENCODED: + ColumnArrowToDuckDBRunEndEncoded(child_vector, child_array, child_state, list_size, child_type, start_offset); + break; + case ArrowArrayPhysicalType::DEFAULT: + ColumnArrowToDuckDB(child_vector, child_array, child_state, list_size, child_type, start_offset); + break; + default: + throw NotImplementedException("ArrowArrayPhysicalType not recognized"); } } -static void ArrowToDuckDBBlob(Vector &vector, ArrowArray &array, ArrowScanLocalState &scan_state, idx_t size, - const ArrowType &arrow_type, int64_t nested_offset) { +static void ArrowToDuckDBBlob(Vector &vector, ArrowArray &array, const ArrowScanLocalState &scan_state, idx_t size, + const ArrowType &arrow_type, int64_t nested_offset, int64_t parent_offset) { auto size_type = arrow_type.GetSizeType(); - SetValidityMask(vector, array, scan_state, size, nested_offset); + SetValidityMask(vector, array, scan_state, size, parent_offset, nested_offset); if (size_type == ArrowVariableSizeType::FIXED_SIZE) { auto fixed_size = arrow_type.FixedSize(); //! Have to check validity mask before setting this up - idx_t offset = (scan_state.chunk_offset + array.offset) * fixed_size; - if (nested_offset != -1) { - offset = fixed_size * nested_offset; - } + idx_t offset = GetEffectiveOffset(array, parent_offset, scan_state, nested_offset) * fixed_size; auto cdata = ArrowBufferData(array, 1); for (idx_t row_idx = 0; row_idx < size; row_idx++) { if (FlatVector::IsNull(vector, row_idx)) { @@ -196,10 +228,8 @@ static void ArrowToDuckDBBlob(Vector &vector, ArrowArray &array, ArrowScanLocalS offset += blob_len; } } else if (size_type == ArrowVariableSizeType::NORMAL) { - auto offsets = ArrowBufferData(array, 1) + array.offset + scan_state.chunk_offset; - if (nested_offset != -1) { - offsets = ArrowBufferData(array, 1) + array.offset + nested_offset; - } + auto offsets = + ArrowBufferData(array, 1) + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); auto cdata = ArrowBufferData(array, 2); for (idx_t row_idx = 0; row_idx < size; row_idx++) { if (FlatVector::IsNull(vector, row_idx)) { @@ -214,10 +244,8 @@ static void ArrowToDuckDBBlob(Vector &vector, ArrowArray &array, ArrowScanLocalS if (ArrowBufferData(array, 1)[array.length] > NumericLimits::Maximum()) { // LCOV_EXCL_START throw ConversionException("DuckDB does not support Blobs over 4GB"); } // LCOV_EXCL_STOP - auto offsets = ArrowBufferData(array, 1) + array.offset + scan_state.chunk_offset; - if (nested_offset != -1) { - offsets = ArrowBufferData(array, 1) + array.offset + nested_offset; - } + auto offsets = + ArrowBufferData(array, 1) + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); auto cdata = ArrowBufferData(array, 2); for (idx_t row_idx = 0; row_idx < size; row_idx++) { if (FlatVector::IsNull(vector, row_idx)) { @@ -266,26 +294,20 @@ static void SetVectorString(Vector &vector, idx_t size, char *cdata, T *offsets) } } -static void DirectConversion(Vector &vector, ArrowArray &array, ArrowScanLocalState &scan_state, int64_t nested_offset, - uint64_t parent_offset) { +static void DirectConversion(Vector &vector, ArrowArray &array, const ArrowScanLocalState &scan_state, + int64_t nested_offset, uint64_t parent_offset) { auto internal_type = GetTypeIdSize(vector.GetType().InternalType()); - auto data_ptr = - ArrowBufferData(array, 1) + internal_type * (scan_state.chunk_offset + array.offset + parent_offset); - if (nested_offset != -1) { - data_ptr = ArrowBufferData(array, 1) + internal_type * (array.offset + nested_offset + parent_offset); - } + auto data_ptr = ArrowBufferData(array, 1) + + internal_type * GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); FlatVector::SetData(vector, data_ptr); } template -static void TimeConversion(Vector &vector, ArrowArray &array, ArrowScanLocalState &scan_state, int64_t nested_offset, - idx_t size, int64_t conversion) { +static void TimeConversion(Vector &vector, ArrowArray &array, const ArrowScanLocalState &scan_state, + int64_t nested_offset, int64_t parent_offset, idx_t size, int64_t conversion) { auto tgt_ptr = FlatVector::GetData(vector); auto &validity_mask = FlatVector::Validity(vector); - auto src_ptr = (T *)array.buffers[1] + scan_state.chunk_offset + array.offset; - if (nested_offset != -1) { - src_ptr = (T *)array.buffers[1] + nested_offset + array.offset; - } + auto src_ptr = (T *)array.buffers[1] + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); for (idx_t row = 0; row < size; row++) { if (!validity_mask.RowIsValid(row)) { continue; @@ -296,14 +318,12 @@ static void TimeConversion(Vector &vector, ArrowArray &array, ArrowScanLocalStat } } -static void TimestampTZConversion(Vector &vector, ArrowArray &array, ArrowScanLocalState &scan_state, - int64_t nested_offset, idx_t size, int64_t conversion) { +static void TimestampTZConversion(Vector &vector, ArrowArray &array, const ArrowScanLocalState &scan_state, + int64_t nested_offset, int64_t parent_offset, idx_t size, int64_t conversion) { auto tgt_ptr = FlatVector::GetData(vector); auto &validity_mask = FlatVector::Validity(vector); - auto src_ptr = ArrowBufferData(array, 1) + scan_state.chunk_offset + array.offset; - if (nested_offset != -1) { - src_ptr = ArrowBufferData(array, 1) + nested_offset + array.offset; - } + auto src_ptr = + ArrowBufferData(array, 1) + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); for (idx_t row = 0; row < size; row++) { if (!validity_mask.RowIsValid(row)) { continue; @@ -314,13 +334,11 @@ static void TimestampTZConversion(Vector &vector, ArrowArray &array, ArrowScanLo } } -static void IntervalConversionUs(Vector &vector, ArrowArray &array, ArrowScanLocalState &scan_state, - int64_t nested_offset, idx_t size, int64_t conversion) { +static void IntervalConversionUs(Vector &vector, ArrowArray &array, const ArrowScanLocalState &scan_state, + int64_t nested_offset, int64_t parent_offset, idx_t size, int64_t conversion) { auto tgt_ptr = FlatVector::GetData(vector); - auto src_ptr = ArrowBufferData(array, 1) + scan_state.chunk_offset + array.offset; - if (nested_offset != -1) { - src_ptr = ArrowBufferData(array, 1) + nested_offset + array.offset; - } + auto src_ptr = + ArrowBufferData(array, 1) + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); for (idx_t row = 0; row < size; row++) { tgt_ptr[row].days = 0; tgt_ptr[row].months = 0; @@ -330,13 +348,11 @@ static void IntervalConversionUs(Vector &vector, ArrowArray &array, ArrowScanLoc } } -static void IntervalConversionMonths(Vector &vector, ArrowArray &array, ArrowScanLocalState &scan_state, - int64_t nested_offset, idx_t size) { +static void IntervalConversionMonths(Vector &vector, ArrowArray &array, const ArrowScanLocalState &scan_state, + int64_t nested_offset, int64_t parent_offset, idx_t size) { auto tgt_ptr = FlatVector::GetData(vector); - auto src_ptr = ArrowBufferData(array, 1) + scan_state.chunk_offset + array.offset; - if (nested_offset != -1) { - src_ptr = ArrowBufferData(array, 1) + nested_offset + array.offset; - } + auto src_ptr = + ArrowBufferData(array, 1) + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); for (idx_t row = 0; row < size; row++) { tgt_ptr[row].days = 0; tgt_ptr[row].micros = 0; @@ -344,13 +360,11 @@ static void IntervalConversionMonths(Vector &vector, ArrowArray &array, ArrowSca } } -static void IntervalConversionMonthDayNanos(Vector &vector, ArrowArray &array, ArrowScanLocalState &scan_state, - int64_t nested_offset, idx_t size) { +static void IntervalConversionMonthDayNanos(Vector &vector, ArrowArray &array, const ArrowScanLocalState &scan_state, + int64_t nested_offset, int64_t parent_offset, idx_t size) { auto tgt_ptr = FlatVector::GetData(vector); - auto src_ptr = ArrowBufferData(array, 1) + scan_state.chunk_offset + array.offset; - if (nested_offset != -1) { - src_ptr = ArrowBufferData(array, 1) + nested_offset + array.offset; - } + auto src_ptr = + ArrowBufferData(array, 1) + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); for (idx_t row = 0; row < size; row++) { tgt_ptr[row].days = src_ptr[row].days; tgt_ptr[row].micros = src_ptr[row].nanoseconds / Interval::NANOS_PER_MICRO; @@ -358,11 +372,228 @@ static void IntervalConversionMonthDayNanos(Vector &vector, ArrowArray &array, A } } +// Find the index of the first run-end that is strictly greater than the offset. +// count is returned if no such run-end is found. +template +static idx_t FindRunIndex(const RUN_END_TYPE *run_ends, idx_t count, idx_t offset) { + // Binary-search within the [0, count) range. For example: + // [0, 0, 0, 1, 1, 2] encoded as + // run_ends: [3, 5, 6]: + // 0, 1, 2 -> 0 + // 3, 4 -> 1 + // 5 -> 2 + // 6, 7 .. -> 3 (3 == count [not found]) + idx_t begin = 0; + idx_t end = count; + while (begin < end) { + idx_t middle = (begin + end) / 2; + // begin < end implies middle < end + if (offset >= static_cast(run_ends[middle])) { + // keep searching in [middle + 1, end) + begin = middle + 1; + } else { + // offset < run_ends[middle], so keep searching in [begin, middle) + end = middle; + } + } + return begin; +} + +template +static void FlattenRunEnds(Vector &result, ArrowRunEndEncodingState &run_end_encoding, idx_t compressed_size, + idx_t scan_offset, idx_t count) { + auto &runs = *run_end_encoding.run_ends; + auto &values = *run_end_encoding.values; + + UnifiedVectorFormat run_end_format; + UnifiedVectorFormat value_format; + runs.ToUnifiedFormat(compressed_size, run_end_format); + values.ToUnifiedFormat(compressed_size, value_format); + auto run_ends_data = run_end_format.GetData(run_end_format); + auto values_data = value_format.GetData(value_format); + auto result_data = FlatVector::GetData(result); + auto &validity = FlatVector::Validity(result); + + // According to the arrow spec, the 'run_ends' array is always valid + // so we will assume this is true and not check the validity map + + // Now construct the result vector from the run_ends and the values + + auto run = FindRunIndex(run_ends_data, compressed_size, scan_offset); + idx_t logical_index = scan_offset; + idx_t index = 0; + if (value_format.validity.AllValid()) { + // None of the compressed values are NULL + for (; run < compressed_size; run++) { + auto run_end_index = run_end_format.sel->get_index(run); + auto value_index = value_format.sel->get_index(run); + auto &value = values_data[value_index]; + auto run_end = static_cast(run_ends_data[run_end_index]); + + D_ASSERT(run_end > (logical_index + index)); + auto to_scan = run_end - (logical_index + index); + // Cap the amount to scan so we don't go over size + to_scan = MinValue(to_scan, (count - index)); + + for (idx_t i = 0; i < to_scan; i++) { + result_data[index + i] = value; + } + index += to_scan; + if (index >= count) { + if (logical_index + index >= run_end) { + // The last run was completed, forward the run index + run++; + } + break; + } + } + } else { + for (; run < compressed_size; run++) { + auto run_end_index = run_end_format.sel->get_index(run); + auto value_index = value_format.sel->get_index(run); + auto run_end = static_cast(run_ends_data[run_end_index]); + + D_ASSERT(run_end > (logical_index + index)); + auto to_scan = run_end - (logical_index + index); + // Cap the amount to scan so we don't go over size + to_scan = MinValue(to_scan, (count - index)); + + if (value_format.validity.RowIsValidUnsafe(value_index)) { + auto &value = values_data[value_index]; + for (idx_t i = 0; i < to_scan; i++) { + result_data[index + i] = value; + validity.SetValid(index + i); + } + } else { + for (idx_t i = 0; i < to_scan; i++) { + validity.SetInvalid(index + i); + } + } + index += to_scan; + if (index >= count) { + if (logical_index + index >= run_end) { + // The last run was completed, forward the run index + run++; + } + break; + } + } + } +} + +template +static void FlattenRunEndsSwitch(Vector &result, ArrowRunEndEncodingState &run_end_encoding, idx_t compressed_size, + idx_t scan_offset, idx_t size) { + auto &values = *run_end_encoding.values; + auto physical_type = values.GetType().InternalType(); + + switch (physical_type) { + case PhysicalType::INT8: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::INT16: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::INT32: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::INT64: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::INT128: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::UINT8: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::UINT16: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::UINT32: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::UINT64: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::BOOL: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::FLOAT: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::DOUBLE: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::INTERVAL: + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::VARCHAR: { + // Share the string heap, we don't need to allocate new strings, we just reference the existing ones + result.SetAuxiliary(values.GetAuxiliary()); + FlattenRunEnds(result, run_end_encoding, compressed_size, scan_offset, size); + break; + } + default: + throw NotImplementedException("RunEndEncoded value type '%s' not supported yet", TypeIdToString(physical_type)); + } +} + +static void ColumnArrowToDuckDBRunEndEncoded(Vector &vector, ArrowArray &array, ArrowArrayScanState &array_state, + idx_t size, const ArrowType &arrow_type, int64_t nested_offset, + ValidityMask *parent_mask, uint64_t parent_offset) { + // Scan the 'run_ends' array + D_ASSERT(array.n_children == 2); + auto &run_ends_array = *array.children[0]; + auto &values_array = *array.children[1]; + + auto &run_ends_type = arrow_type[0]; + auto &values_type = arrow_type[1]; + D_ASSERT(vector.GetType() == values_type.GetDuckType()); + + auto &scan_state = array_state.state; + + D_ASSERT(run_ends_array.length == values_array.length); + auto compressed_size = run_ends_array.length; + // Create a vector for the run ends and the values + auto &run_end_encoding = array_state.RunEndEncoding(); + if (!run_end_encoding.run_ends) { + // The run ends and values have not been scanned yet for this array + D_ASSERT(!run_end_encoding.values); + run_end_encoding.run_ends = make_uniq(run_ends_type.GetDuckType(), compressed_size); + run_end_encoding.values = make_uniq(values_type.GetDuckType(), compressed_size); + + ColumnArrowToDuckDB(*run_end_encoding.run_ends, run_ends_array, array_state, compressed_size, run_ends_type); + auto &values = *run_end_encoding.values; + SetValidityMask(values, values_array, scan_state, compressed_size, parent_offset, nested_offset); + ColumnArrowToDuckDB(values, values_array, array_state, compressed_size, values_type); + } + + idx_t scan_offset = GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); + auto physical_type = run_ends_type.GetDuckType().InternalType(); + switch (physical_type) { + case PhysicalType::INT16: + FlattenRunEndsSwitch(vector, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::INT32: + FlattenRunEndsSwitch(vector, run_end_encoding, compressed_size, scan_offset, size); + break; + case PhysicalType::INT64: + FlattenRunEndsSwitch(vector, run_end_encoding, compressed_size, scan_offset, size); + break; + default: + throw NotImplementedException("Type '%s' not implemented for RunEndEncoding", TypeIdToString(physical_type)); + } +} + static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArrayScanState &array_state, idx_t size, const ArrowType &arrow_type, int64_t nested_offset, ValidityMask *parent_mask, uint64_t parent_offset) { + if (parent_offset != 0) { + (void)array_state; + } auto &scan_state = array_state.state; D_ASSERT(!array.dictionary); + switch (vector.GetType().id()) { case LogicalTypeId::SQLNULL: vector.Reference(Value()); @@ -370,11 +601,8 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca case LogicalTypeId::BOOLEAN: { //! Arrow bit-packs boolean values //! Lets first figure out where we are in the source array - auto src_ptr = ArrowBufferData(array, 1) + (scan_state.chunk_offset + array.offset) / 8; - - if (nested_offset != -1) { - src_ptr = ArrowBufferData(array, 1) + (nested_offset + array.offset) / 8; - } + auto src_ptr = ArrowBufferData(array, 1) + + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset) / 8; auto tgt_ptr = (uint8_t *)FlatVector::GetData(vector); int src_pos = 0; idx_t cur_bit = scan_state.chunk_offset % 8; @@ -406,6 +634,7 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca case LogicalTypeId::UBIGINT: case LogicalTypeId::BIGINT: case LogicalTypeId::HUGEINT: + case LogicalTypeId::UHUGEINT: case LogicalTypeId::TIMESTAMP: case LogicalTypeId::TIMESTAMP_SEC: case LogicalTypeId::TIMESTAMP_MS: @@ -417,16 +646,12 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca auto size_type = arrow_type.GetSizeType(); auto cdata = ArrowBufferData(array, 2); if (size_type == ArrowVariableSizeType::SUPER_SIZE) { - auto offsets = ArrowBufferData(array, 1) + array.offset + scan_state.chunk_offset; - if (nested_offset != -1) { - offsets = ArrowBufferData(array, 1) + array.offset + nested_offset; - } + auto offsets = ArrowBufferData(array, 1) + + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); SetVectorString(vector, size, cdata, offsets); } else { - auto offsets = ArrowBufferData(array, 1) + array.offset + scan_state.chunk_offset; - if (nested_offset != -1) { - offsets = ArrowBufferData(array, 1) + array.offset + nested_offset; - } + auto offsets = ArrowBufferData(array, 1) + + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); SetVectorString(vector, size, cdata, offsets); } break; @@ -441,10 +666,8 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca } case ArrowDateTimeType::MILLISECONDS: { //! convert date from nanoseconds to days - auto src_ptr = ArrowBufferData(array, 1) + scan_state.chunk_offset + array.offset; - if (nested_offset != -1) { - src_ptr = ArrowBufferData(array, 1) + nested_offset + array.offset; - } + auto src_ptr = ArrowBufferData(array, 1) + + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); auto tgt_ptr = FlatVector::GetData(vector); for (idx_t row = 0; row < size; row++) { tgt_ptr[row] = date_t(int64_t(src_ptr[row]) / static_cast(1000 * 60 * 60 * 24)); @@ -460,23 +683,21 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca auto precision = arrow_type.GetDateTimeType(); switch (precision) { case ArrowDateTimeType::SECONDS: { - TimeConversion(vector, array, scan_state, nested_offset, size, 1000000); + TimeConversion(vector, array, scan_state, nested_offset, parent_offset, size, 1000000); break; } case ArrowDateTimeType::MILLISECONDS: { - TimeConversion(vector, array, scan_state, nested_offset, size, 1000); + TimeConversion(vector, array, scan_state, nested_offset, parent_offset, size, 1000); break; } case ArrowDateTimeType::MICROSECONDS: { - TimeConversion(vector, array, scan_state, nested_offset, size, 1); + TimeConversion(vector, array, scan_state, nested_offset, parent_offset, size, 1); break; } case ArrowDateTimeType::NANOSECONDS: { auto tgt_ptr = FlatVector::GetData(vector); - auto src_ptr = ArrowBufferData(array, 1) + scan_state.chunk_offset + array.offset; - if (nested_offset != -1) { - src_ptr = ArrowBufferData(array, 1) + nested_offset + array.offset; - } + auto src_ptr = ArrowBufferData(array, 1) + + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); for (idx_t row = 0; row < size; row++) { tgt_ptr[row].micros = src_ptr[row] / 1000; } @@ -491,11 +712,11 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca auto precision = arrow_type.GetDateTimeType(); switch (precision) { case ArrowDateTimeType::SECONDS: { - TimestampTZConversion(vector, array, scan_state, nested_offset, size, 1000000); + TimestampTZConversion(vector, array, scan_state, nested_offset, parent_offset, size, 1000000); break; } case ArrowDateTimeType::MILLISECONDS: { - TimestampTZConversion(vector, array, scan_state, nested_offset, size, 1000); + TimestampTZConversion(vector, array, scan_state, nested_offset, parent_offset, size, 1000); break; } case ArrowDateTimeType::MICROSECONDS: { @@ -504,10 +725,8 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca } case ArrowDateTimeType::NANOSECONDS: { auto tgt_ptr = FlatVector::GetData(vector); - auto src_ptr = ArrowBufferData(array, 1) + scan_state.chunk_offset + array.offset; - if (nested_offset != -1) { - src_ptr = ArrowBufferData(array, 1) + nested_offset + array.offset; - } + auto src_ptr = ArrowBufferData(array, 1) + + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); for (idx_t row = 0; row < size; row++) { tgt_ptr[row].value = src_ptr[row] / 1000; } @@ -522,24 +741,22 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca auto precision = arrow_type.GetDateTimeType(); switch (precision) { case ArrowDateTimeType::SECONDS: { - IntervalConversionUs(vector, array, scan_state, nested_offset, size, 1000000); + IntervalConversionUs(vector, array, scan_state, nested_offset, parent_offset, size, 1000000); break; } case ArrowDateTimeType::DAYS: case ArrowDateTimeType::MILLISECONDS: { - IntervalConversionUs(vector, array, scan_state, nested_offset, size, 1000); + IntervalConversionUs(vector, array, scan_state, nested_offset, parent_offset, size, 1000); break; } case ArrowDateTimeType::MICROSECONDS: { - IntervalConversionUs(vector, array, scan_state, nested_offset, size, 1); + IntervalConversionUs(vector, array, scan_state, nested_offset, parent_offset, size, 1); break; } case ArrowDateTimeType::NANOSECONDS: { auto tgt_ptr = FlatVector::GetData(vector); - auto src_ptr = ArrowBufferData(array, 1) + scan_state.chunk_offset + array.offset; - if (nested_offset != -1) { - src_ptr = ArrowBufferData(array, 1) + nested_offset + array.offset; - } + auto src_ptr = ArrowBufferData(array, 1) + + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); for (idx_t row = 0; row < size; row++) { tgt_ptr[row].micros = src_ptr[row] / 1000; tgt_ptr[row].days = 0; @@ -548,11 +765,11 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca break; } case ArrowDateTimeType::MONTHS: { - IntervalConversionMonths(vector, array, scan_state, nested_offset, size); + IntervalConversionMonths(vector, array, scan_state, nested_offset, parent_offset, size); break; } case ArrowDateTimeType::MONTH_DAY_NANO: { - IntervalConversionMonthDayNanos(vector, array, scan_state, nested_offset, size); + IntervalConversionMonthDayNanos(vector, array, scan_state, nested_offset, parent_offset, size); break; } default: @@ -563,10 +780,8 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca case LogicalTypeId::DECIMAL: { auto val_mask = FlatVector::Validity(vector); //! We have to convert from INT128 - auto src_ptr = ArrowBufferData(array, 1) + scan_state.chunk_offset + array.offset; - if (nested_offset != -1) { - src_ptr = ArrowBufferData(array, 1) + nested_offset + array.offset; - } + auto src_ptr = + ArrowBufferData(array, 1) + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); switch (vector.GetType().InternalType()) { case PhysicalType::INT16: { auto tgt_ptr = FlatVector::GetData(vector); @@ -602,9 +817,9 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca break; } case PhysicalType::INT128: { - FlatVector::SetData(vector, - ArrowBufferData(array, 1) + GetTypeIdSize(vector.GetType().InternalType()) * - (scan_state.chunk_offset + array.offset)); + FlatVector::SetData(vector, ArrowBufferData(array, 1) + + GetTypeIdSize(vector.GetType().InternalType()) * + GetEffectiveOffset(array, parent_offset, scan_state, nested_offset)); break; } default: @@ -614,15 +829,15 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca break; } case LogicalTypeId::BLOB: { - ArrowToDuckDBBlob(vector, array, scan_state, size, arrow_type, nested_offset); + ArrowToDuckDBBlob(vector, array, scan_state, size, arrow_type, nested_offset, parent_offset); break; } case LogicalTypeId::LIST: { - ArrowToDuckDBList(vector, array, array_state, size, arrow_type, nested_offset, parent_mask); + ArrowToDuckDBList(vector, array, array_state, size, arrow_type, nested_offset, parent_mask, parent_offset); break; } case LogicalTypeId::MAP: { - ArrowToDuckDBList(vector, array, array_state, size, arrow_type, nested_offset, parent_mask); + ArrowToDuckDBList(vector, array, array_state, size, arrow_type, nested_offset, parent_mask, parent_offset); ArrowToDuckDBMapVerify(vector, size); break; } @@ -636,7 +851,7 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca auto &child_type = arrow_type[child_idx]; auto &child_state = array_state.GetChild(child_idx); - SetValidityMask(child_entry, child_array, scan_state, size, nested_offset); + SetValidityMask(child_entry, child_array, scan_state, size, array.offset, nested_offset); if (!struct_validity_mask.AllValid()) { auto &child_validity_mark = FlatVector::Validity(child_entry); for (idx_t i = 0; i < size; i++) { @@ -645,13 +860,23 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca } } } - if (child_array.dictionary) { - // TODO: add support for offsets + + auto array_physical_type = GetArrowArrayPhysicalType(child_type); + switch (array_physical_type) { + case ArrowArrayPhysicalType::DICTIONARY_ENCODED: ColumnArrowToDuckDBDictionary(child_entry, child_array, child_state, size, child_type, nested_offset, &struct_validity_mask, array.offset); - } else { + break; + case ArrowArrayPhysicalType::RUN_END_ENCODED: + ColumnArrowToDuckDBRunEndEncoded(child_entry, child_array, child_state, size, child_type, nested_offset, + &struct_validity_mask, array.offset); + break; + case ArrowArrayPhysicalType::DEFAULT: ColumnArrowToDuckDB(child_entry, child_array, child_state, size, child_type, nested_offset, &struct_validity_mask, array.offset); + break; + default: + throw NotImplementedException("ArrowArrayPhysicalType not recognized"); } } break; @@ -670,12 +895,21 @@ static void ColumnArrowToDuckDB(Vector &vector, ArrowArray &array, ArrowArraySca auto &child_state = array_state.GetChild(child_idx); auto &child_type = arrow_type[child_idx]; - SetValidityMask(child, child_array, scan_state, size, nested_offset); + SetValidityMask(child, child_array, scan_state, size, parent_offset, nested_offset); + auto array_physical_type = GetArrowArrayPhysicalType(child_type); - if (child_array.dictionary) { + switch (array_physical_type) { + case ArrowArrayPhysicalType::DICTIONARY_ENCODED: ColumnArrowToDuckDBDictionary(child, child_array, child_state, size, child_type); - } else { + break; + case ArrowArrayPhysicalType::RUN_END_ENCODED: + ColumnArrowToDuckDBRunEndEncoded(child, child_array, child_state, size, child_type); + break; + case ArrowArrayPhysicalType::DEFAULT: ColumnArrowToDuckDB(child, child_array, child_state, size, child_type, nested_offset, &validity_mask); + break; + default: + throw NotImplementedException("ArrowArrayPhysicalType not recognized"); } children.push_back(std::move(child)); @@ -823,26 +1057,64 @@ static void SetSelectionVector(SelectionVector &sel, data_ptr_t indices_p, Logic } } +static bool CanContainNull(ArrowArray &array, ValidityMask *parent_mask) { + if (array.null_count > 0) { + return true; + } + if (!parent_mask) { + return false; + } + return !parent_mask->AllValid(); +} + static void ColumnArrowToDuckDBDictionary(Vector &vector, ArrowArray &array, ArrowArrayScanState &array_state, idx_t size, const ArrowType &arrow_type, int64_t nested_offset, ValidityMask *parent_mask, uint64_t parent_offset) { - SelectionVector sel; auto &scan_state = array_state.state; + + const bool has_nulls = CanContainNull(array, parent_mask); if (!array_state.HasDictionary()) { //! We need to set the dictionary data for this column auto base_vector = make_uniq(vector.GetType(), array.dictionary->length); - SetValidityMask(*base_vector, *array.dictionary, scan_state, array.dictionary->length, 0, array.null_count > 0); - ColumnArrowToDuckDB(*base_vector, *array.dictionary, array_state, array.dictionary->length, - arrow_type.GetDictionary()); + SetValidityMask(*base_vector, *array.dictionary, scan_state, array.dictionary->length, 0, 0, has_nulls); + auto &dictionary_type = arrow_type.GetDictionary(); + auto arrow_physical_type = GetArrowArrayPhysicalType(dictionary_type); + switch (arrow_physical_type) { + case ArrowArrayPhysicalType::DICTIONARY_ENCODED: + ColumnArrowToDuckDBDictionary(*base_vector, *array.dictionary, array_state, array.dictionary->length, + dictionary_type); + break; + case ArrowArrayPhysicalType::RUN_END_ENCODED: + ColumnArrowToDuckDBRunEndEncoded(*base_vector, *array.dictionary, array_state, array.dictionary->length, + dictionary_type); + break; + case ArrowArrayPhysicalType::DEFAULT: + ColumnArrowToDuckDB(*base_vector, *array.dictionary, array_state, array.dictionary->length, + dictionary_type); + break; + default: + throw NotImplementedException("ArrowArrayPhysicalType not recognized"); + }; array_state.AddDictionary(std::move(base_vector)); } auto offset_type = arrow_type.GetDuckType(); //! Get Pointer to Indices of Dictionary - auto indices = ArrowBufferData(array, 1) + - GetTypeIdSize(offset_type.InternalType()) * (scan_state.chunk_offset + array.offset); - if (array.null_count > 0) { + auto indices = + ArrowBufferData(array, 1) + + GetTypeIdSize(offset_type.InternalType()) * GetEffectiveOffset(array, parent_offset, scan_state, nested_offset); + + SelectionVector sel; + if (has_nulls) { ValidityMask indices_validity; - GetValidityMask(indices_validity, array, scan_state, size); + GetValidityMask(indices_validity, array, scan_state, size, parent_offset); + if (parent_mask && !parent_mask->AllValid()) { + auto &struct_validity_mask = *parent_mask; + for (idx_t i = 0; i < size; i++) { + if (!struct_validity_mask.RowIsValid(i)) { + indices_validity.SetInvalid(i); + } + } + } SetSelectionVector(sel, indices, offset_type, size, &indices_validity, array.dictionary->length); } else { SetSelectionVector(sel, indices, offset_type, size); @@ -864,6 +1136,7 @@ void ArrowTableFunction::ArrowToDuckDB(ArrowScanLocalState &scan_state, const ar continue; } + auto &parent_array = scan_state.chunk->arrow_array; auto &array = *scan_state.chunk->arrow_array.children[arrow_array_idx]; if (!array.release) { throw InvalidInputException("arrow_scan: released array passed"); @@ -885,11 +1158,21 @@ void ArrowTableFunction::ArrowToDuckDB(ArrowScanLocalState &scan_state, const ar auto &arrow_type = *arrow_convert_data.at(col_idx); auto &array_state = scan_state.GetState(col_idx); - if (array.dictionary) { + auto array_physical_type = GetArrowArrayPhysicalType(arrow_type); + + switch (array_physical_type) { + case ArrowArrayPhysicalType::DICTIONARY_ENCODED: ColumnArrowToDuckDBDictionary(output.data[idx], array, array_state, output.size(), arrow_type); - } else { - SetValidityMask(output.data[idx], array, scan_state, output.size(), -1); + break; + case ArrowArrayPhysicalType::RUN_END_ENCODED: + ColumnArrowToDuckDBRunEndEncoded(output.data[idx], array, array_state, output.size(), arrow_type); + break; + case ArrowArrayPhysicalType::DEFAULT: + SetValidityMask(output.data[idx], array, scan_state, output.size(), parent_array.offset, -1); ColumnArrowToDuckDB(output.data[idx], array, array_state, output.size(), arrow_type); + break; + default: + throw NotImplementedException("ArrowArrayPhysicalType not recognized"); } } } diff --git a/src/function/table/copy_csv.cpp b/src/function/table/copy_csv.cpp index e721fe465d6d..800b4424101d 100644 --- a/src/function/table/copy_csv.cpp +++ b/src/function/table/copy_csv.cpp @@ -1,23 +1,23 @@ #include "duckdb/common/bind_helpers.hpp" #include "duckdb/common/file_system.hpp" #include "duckdb/common/multi_file_reader.hpp" +#include "duckdb/common/serializer/memory_stream.hpp" +#include "duckdb/common/serializer/write_stream.hpp" #include "duckdb/common/string_util.hpp" #include "duckdb/common/types/column/column_data_collection.hpp" #include "duckdb/common/types/string_type.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" -#include "duckdb/execution/operator/scan/csv/csv_sniffer.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" #include "duckdb/function/copy_function.hpp" #include "duckdb/function/scalar/string_functions.hpp" #include "duckdb/function/table/read_csv.hpp" #include "duckdb/parser/parsed_data/copy_info.hpp" -#include "duckdb/common/serializer/write_stream.hpp" -#include "duckdb/common/serializer/memory_stream.hpp" #include namespace duckdb { -void AreOptionsEqual(char &str_1, char &str_2, const string &name_str_1, const string &name_str_2) { +void AreOptionsEqual(char str_1, char str_2, const string &name_str_1, const string &name_str_2) { if (str_1 == '\0' || str_2 == '\0') { return; } @@ -26,7 +26,7 @@ void AreOptionsEqual(char &str_1, char &str_2, const string &name_str_1, const s } } -void SubstringDetection(char &str_1, string &str_2, const string &name_str_1, const string &name_str_2) { +void SubstringDetection(char str_1, string &str_2, const string &name_str_1, const string &name_str_2) { if (str_1 == '\0' || str_2.empty()) { return; } @@ -50,53 +50,47 @@ void BaseCSVData::Finalize() { options.dialect_options.state_machine_options.escape = options.dialect_options.state_machine_options.quote; } // escape and delimiter must not be substrings of each other - if (options.has_delimiter && options.has_escape) { - AreOptionsEqual(options.dialect_options.state_machine_options.delimiter, - options.dialect_options.state_machine_options.escape, "DELIMITER", "ESCAPE"); - } + AreOptionsEqual(options.dialect_options.state_machine_options.delimiter.GetValue(), + options.dialect_options.state_machine_options.escape.GetValue(), "DELIMITER", "ESCAPE"); + // delimiter and quote must not be substrings of each other - if (options.has_quote && options.has_delimiter) { - AreOptionsEqual(options.dialect_options.state_machine_options.quote, - options.dialect_options.state_machine_options.delimiter, "DELIMITER", "QUOTE"); - } + AreOptionsEqual(options.dialect_options.state_machine_options.quote.GetValue(), + options.dialect_options.state_machine_options.delimiter.GetValue(), "DELIMITER", "QUOTE"); + // escape and quote must not be substrings of each other (but can be the same) - if (options.dialect_options.state_machine_options.quote != options.dialect_options.state_machine_options.escape && - options.has_quote && options.has_escape) { - AreOptionsEqual(options.dialect_options.state_machine_options.quote, - options.dialect_options.state_machine_options.escape, "QUOTE", "ESCAPE"); + if (options.dialect_options.state_machine_options.quote != options.dialect_options.state_machine_options.escape) { + AreOptionsEqual(options.dialect_options.state_machine_options.quote.GetValue(), + options.dialect_options.state_machine_options.escape.GetValue(), "QUOTE", "ESCAPE"); } if (!options.null_str.empty()) { // null string and delimiter must not be substrings of each other - if (options.has_delimiter) { - SubstringDetection(options.dialect_options.state_machine_options.delimiter, options.null_str, "DELIMITER", - "NULL"); - } + SubstringDetection(options.dialect_options.state_machine_options.delimiter.GetValue(), options.null_str, + "DELIMITER", "NULL"); + // quote/escape and nullstr must not be substrings of each other - if (options.has_quote) { - SubstringDetection(options.dialect_options.state_machine_options.quote, options.null_str, "QUOTE", "NULL"); - } - if (options.has_escape) { - SubstringDetection(options.dialect_options.state_machine_options.escape, options.null_str, "ESCAPE", - "NULL"); - } + SubstringDetection(options.dialect_options.state_machine_options.quote.GetValue(), options.null_str, "QUOTE", + "NULL"); + + SubstringDetection(options.dialect_options.state_machine_options.escape.GetValue(), options.null_str, "ESCAPE", + "NULL"); } if (!options.prefix.empty() || !options.suffix.empty()) { if (options.prefix.empty() || options.suffix.empty()) { throw BinderException("COPY ... (FORMAT CSV) must have both PREFIX and SUFFIX, or none at all"); } - if (options.dialect_options.header) { + if (options.dialect_options.header.GetValue()) { throw BinderException("COPY ... (FORMAT CSV)'s HEADER cannot be combined with PREFIX/SUFFIX"); } } } -static unique_ptr WriteCSVBind(ClientContext &context, const CopyInfo &info, const vector &names, - const vector &sql_types) { - auto bind_data = make_uniq(info.file_path, sql_types, names); +static unique_ptr WriteCSVBind(ClientContext &context, CopyFunctionBindInput &input, + const vector &names, const vector &sql_types) { + auto bind_data = make_uniq(input.info.file_path, sql_types, names); // check all the options in the copy info - for (auto &option : info.options) { + for (auto &option : input.info.options) { auto loption = StringUtil::Lower(option.first); auto &set = option.second; bind_data->options.SetWriteOption(loption, ConvertVectorToValue(set)); @@ -112,8 +106,8 @@ static unique_ptr WriteCSVBind(ClientContext &context, const CopyI memset(bind_data->requires_quotes.get(), 0, sizeof(bool) * 256); bind_data->requires_quotes['\n'] = true; bind_data->requires_quotes['\r'] = true; - bind_data->requires_quotes[bind_data->options.dialect_options.state_machine_options.delimiter] = true; - bind_data->requires_quotes[bind_data->options.dialect_options.state_machine_options.quote] = true; + bind_data->requires_quotes[bind_data->options.dialect_options.state_machine_options.delimiter.GetValue()] = true; + bind_data->requires_quotes[bind_data->options.dialect_options.state_machine_options.quote.GetValue()] = true; if (!bind_data->options.write_newline.empty()) { bind_data->newline = bind_data->options.write_newline; @@ -156,26 +150,21 @@ static unique_ptr ReadCSVBind(ClientContext &context, CopyInfo &in options.sql_types_per_column[expected_names[i]] = i; } - bind_data->FinalizeRead(context); - if (options.auto_detect) { - // We must run the sniffer. - auto file_handle = BaseCSVReader::OpenCSV(context, options); - auto buffer_manager = make_shared(context, std::move(file_handle), options); - CSVSniffer sniffer(options, buffer_manager, bind_data->state_machine_cache); - auto sniffer_result = sniffer.SniffCSV(); - bind_data->csv_types = sniffer_result.return_types; - bind_data->csv_names = sniffer_result.names; - bind_data->return_types = sniffer_result.return_types; - bind_data->return_names = sniffer_result.names; + auto buffer_manager = make_shared(context, options, bind_data->files[0], 0); + CSVSniffer sniffer(options, buffer_manager, CSVStateMachineCache::Get(context), + {&expected_types, &expected_names}); + sniffer.SniffCSV(); } + bind_data->FinalizeRead(context); + return std::move(bind_data); } //===--------------------------------------------------------------------===// // Helper writing functions //===--------------------------------------------------------------------===// -static string AddEscapes(char &to_be_escaped, const char &escape, const string &val) { +static string AddEscapes(char to_be_escaped, const char escape, const string &val) { idx_t i = 0; string new_val = ""; idx_t found = val.find(to_be_escaped); @@ -228,8 +217,8 @@ static void WriteQuotedString(WriteStream &writer, WriteCSVData &csv_data, const // simple CSV // do a single loop to check for a quote or escape value for (idx_t i = 0; i < len; i++) { - if (str[i] == options.dialect_options.state_machine_options.quote || - str[i] == options.dialect_options.state_machine_options.escape) { + if (str[i] == options.dialect_options.state_machine_options.quote.GetValue() || + str[i] == options.dialect_options.state_machine_options.escape.GetValue()) { requires_escape = true; break; } @@ -237,25 +226,25 @@ static void WriteQuotedString(WriteStream &writer, WriteCSVData &csv_data, const if (!requires_escape) { // fast path: no need to escape anything - WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote); + WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote.GetValue()); writer.WriteData(const_data_ptr_cast(str), len); - WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote); + WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote.GetValue()); return; } // slow path: need to add escapes string new_val(str, len); - new_val = AddEscapes(options.dialect_options.state_machine_options.escape, - options.dialect_options.state_machine_options.escape, new_val); + new_val = AddEscapes(options.dialect_options.state_machine_options.escape.GetValue(), + options.dialect_options.state_machine_options.escape.GetValue(), new_val); if (options.dialect_options.state_machine_options.escape != options.dialect_options.state_machine_options.quote) { // need to escape quotes separately - new_val = AddEscapes(options.dialect_options.state_machine_options.quote, - options.dialect_options.state_machine_options.escape, new_val); + new_val = AddEscapes(options.dialect_options.state_machine_options.quote.GetValue(), + options.dialect_options.state_machine_options.escape.GetValue(), new_val); } - WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote); + WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote.GetValue()); writer.WriteData(const_data_ptr_cast(new_val.c_str()), new_val.size()); - WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote); + WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.quote.GetValue()); } else { writer.WriteData(const_data_ptr_cast(str), len); } @@ -301,6 +290,11 @@ struct GlobalWriteCSVData : public GlobalFunctionData { handle->Write((void *)data, size); } + idx_t FileSize() { + lock_guard flock(lock); + return handle->GetFileSize(); + } + FileSystem &fs; //! The mutex for writing to the physical file mutex lock; @@ -333,12 +327,12 @@ static unique_ptr WriteCSVInitializeGlobal(ClientContext &co global_data->WriteData(options.prefix.c_str(), options.prefix.size()); } - if (!(options.has_header && !options.dialect_options.header)) { + if (!(options.dialect_options.header.IsSetByUser() && !options.dialect_options.header.GetValue())) { MemoryStream stream; // write the header line to the file for (idx_t i = 0; i < csv_data.options.name_list.size(); i++) { if (i != 0) { - WriteQuoteOrEscape(stream, options.dialect_options.state_machine_options.delimiter); + WriteQuoteOrEscape(stream, options.dialect_options.state_machine_options.delimiter.GetValue()); } WriteQuotedString(stream, csv_data, csv_data.options.name_list[i].c_str(), csv_data.options.name_list[i].size(), false); @@ -351,6 +345,11 @@ static unique_ptr WriteCSVInitializeGlobal(ClientContext &co return std::move(global_data); } +idx_t WriteCSVFileSize(GlobalFunctionData &gstate) { + auto &global_state = gstate.Cast(); + return global_state.FileSize(); +} + static void WriteCSVChunkInternal(ClientContext &context, FunctionData &bind_data, DataChunk &cast_chunk, MemoryStream &writer, DataChunk &input, bool &written_anything) { auto &csv_data = bind_data.Cast(); @@ -363,12 +362,12 @@ static void WriteCSVChunkInternal(ClientContext &context, FunctionData &bind_dat if (csv_data.sql_types[col_idx].id() == LogicalTypeId::VARCHAR) { // VARCHAR, just reinterpret (cannot reference, because LogicalTypeId::VARCHAR is used by the JSON type too) cast_chunk.data[col_idx].Reinterpret(input.data[col_idx]); - } else if (options.dialect_options.has_format[LogicalTypeId::DATE] && + } else if (!csv_data.options.write_date_format[LogicalTypeId::DATE].Empty() && csv_data.sql_types[col_idx].id() == LogicalTypeId::DATE) { // use the date format to cast the chunk csv_data.options.write_date_format[LogicalTypeId::DATE].ConvertDateVector( input.data[col_idx], cast_chunk.data[col_idx], input.size()); - } else if (options.dialect_options.has_format[LogicalTypeId::TIMESTAMP] && + } else if (!csv_data.options.write_date_format[LogicalTypeId::TIMESTAMP].Empty() && (csv_data.sql_types[col_idx].id() == LogicalTypeId::TIMESTAMP || csv_data.sql_types[col_idx].id() == LogicalTypeId::TIMESTAMP_TZ)) { // use the timestamp format to cast the chunk @@ -391,7 +390,7 @@ static void WriteCSVChunkInternal(ClientContext &context, FunctionData &bind_dat // write values for (idx_t col_idx = 0; col_idx < cast_chunk.ColumnCount(); col_idx++) { if (col_idx != 0) { - WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.delimiter); + WriteQuoteOrEscape(writer, options.dialect_options.state_machine_options.delimiter.GetValue()); } if (FlatVector::IsNull(cast_chunk.data[col_idx], row_idx)) { // write null value @@ -529,6 +528,7 @@ void CSVCopyFunction::RegisterFunction(BuiltinFunctions &set) { info.execution_mode = WriteCSVExecutionMode; info.prepare_batch = WriteCSVPrepareBatch; info.flush_batch = WriteCSVFlushBatch; + info.file_size_bytes = WriteCSVFileSize; info.copy_from_bind = ReadCSVBind; info.copy_from_function = ReadCSVTableFunction::GetFunction(); diff --git a/src/function/table/pragma_detailed_profiling_output.cpp b/src/function/table/pragma_detailed_profiling_output.cpp deleted file mode 100644 index e3cae0b9173b..000000000000 --- a/src/function/table/pragma_detailed_profiling_output.cpp +++ /dev/null @@ -1,173 +0,0 @@ -#include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" -#include "duckdb/catalog/catalog_entry/view_catalog_entry.hpp" -#include "duckdb/common/limits.hpp" -#include "duckdb/common/types/column/column_data_collection.hpp" -#include "duckdb/function/table/system_functions.hpp" -#include "duckdb/main/client_context.hpp" -#include "duckdb/main/client_data.hpp" -#include "duckdb/main/query_profiler.hpp" -#include "duckdb/planner/constraints/bound_not_null_constraint.hpp" - -namespace duckdb { - -struct PragmaDetailedProfilingOutputOperatorData : public GlobalTableFunctionState { - explicit PragmaDetailedProfilingOutputOperatorData() : initialized(false) { - } - - ColumnDataScanState scan_state; - bool initialized; -}; - -struct PragmaDetailedProfilingOutputData : public TableFunctionData { - explicit PragmaDetailedProfilingOutputData(vector &types) : types(types) { - } - unique_ptr collection; - vector types; -}; - -static unique_ptr PragmaDetailedProfilingOutputBind(ClientContext &context, TableFunctionBindInput &input, - vector &return_types, - vector &names) { - names.emplace_back("OPERATOR_ID"); - return_types.emplace_back(LogicalType::INTEGER); - - names.emplace_back("ANNOTATION"); - return_types.emplace_back(LogicalType::VARCHAR); - - names.emplace_back("ID"); - return_types.emplace_back(LogicalType::INTEGER); - - names.emplace_back("NAME"); - return_types.emplace_back(LogicalType::VARCHAR); - - names.emplace_back("TIME"); - return_types.emplace_back(LogicalType::DOUBLE); - - names.emplace_back("CYCLES_PER_TUPLE"); - return_types.emplace_back(LogicalType::DOUBLE); - - names.emplace_back("SAMPLE_SIZE"); - return_types.emplace_back(LogicalType::INTEGER); - - names.emplace_back("INPUT_SIZE"); - return_types.emplace_back(LogicalType::INTEGER); - - names.emplace_back("EXTRA_INFO"); - return_types.emplace_back(LogicalType::VARCHAR); - - return make_uniq(return_types); -} - -unique_ptr PragmaDetailedProfilingOutputInit(ClientContext &context, - TableFunctionInitInput &input) { - return make_uniq(); -} - -// Insert a row into the given datachunk -static void SetValue(DataChunk &output, int index, int op_id, string annotation, int id, string name, double time, - int sample_counter, int tuple_counter, string extra_info) { - output.SetValue(0, index, op_id); - output.SetValue(1, index, std::move(annotation)); - output.SetValue(2, index, id); - output.SetValue(3, index, std::move(name)); -#if defined(RDTSC) - output.SetValue(4, index, Value(nullptr)); - output.SetValue(5, index, time); -#else - output.SetValue(4, index, time); - output.SetValue(5, index, Value(nullptr)); - -#endif - output.SetValue(6, index, sample_counter); - output.SetValue(7, index, tuple_counter); - output.SetValue(8, index, std::move(extra_info)); -} - -static void ExtractFunctions(ColumnDataCollection &collection, ExpressionInfo &info, DataChunk &chunk, int op_id, - int &fun_id) { - if (info.hasfunction) { - D_ASSERT(info.sample_tuples_count != 0); - SetValue(chunk, chunk.size(), op_id, "Function", fun_id++, info.function_name, - int(info.function_time) / double(info.sample_tuples_count), info.sample_tuples_count, - info.tuples_count, ""); - - chunk.SetCardinality(chunk.size() + 1); - if (chunk.size() == STANDARD_VECTOR_SIZE) { - collection.Append(chunk); - chunk.Reset(); - } - } - if (info.children.empty()) { - return; - } - // extract the children of this node - for (auto &child : info.children) { - ExtractFunctions(collection, *child, chunk, op_id, fun_id); - } -} - -static void PragmaDetailedProfilingOutputFunction(ClientContext &context, TableFunctionInput &data_p, - DataChunk &output) { - auto &state = data_p.global_state->Cast(); - auto &data = data_p.bind_data->CastNoConst(); - - if (!state.initialized) { - // create a ColumnDataCollection - auto collection = make_uniq(context, data.types); - - // create a chunk - DataChunk chunk; - chunk.Initialize(context, data.types); - - // Initialize ids - int operator_counter = 1; - int function_counter = 1; - int expression_counter = 1; - auto &client_data = ClientData::Get(context); - if (client_data.query_profiler_history->GetPrevProfilers().empty()) { - return; - } - // For each Operator - auto &tree_map = client_data.query_profiler_history->GetPrevProfilers().back().second->GetTreeMap(); - for (auto op : tree_map) { - // For each Expression Executor - for (auto &expr_executor : op.second.get().info.executors_info) { - // For each Expression tree - if (!expr_executor) { - continue; - } - for (auto &expr_timer : expr_executor->roots) { - D_ASSERT(expr_timer->sample_tuples_count != 0); - SetValue(chunk, chunk.size(), operator_counter, "ExpressionRoot", expression_counter++, - // Sometimes, cycle counter is not accurate, too big or too small. return 0 for - // those cases - expr_timer->name, int(expr_timer->time) / double(expr_timer->sample_tuples_count), - expr_timer->sample_tuples_count, expr_timer->tuples_count, expr_timer->extra_info); - // Increment cardinality - chunk.SetCardinality(chunk.size() + 1); - // Check whether data chunk is full or not - if (chunk.size() == STANDARD_VECTOR_SIZE) { - collection->Append(chunk); - chunk.Reset(); - } - // Extract all functions inside the tree - ExtractFunctions(*collection, *expr_timer->root, chunk, operator_counter, function_counter); - } - } - operator_counter++; - } - collection->Append(chunk); - data.collection = std::move(collection); - data.collection->InitializeScan(state.scan_state); - state.initialized = true; - } - - data.collection->Scan(state.scan_state, output); -} - -void PragmaDetailedProfilingOutput::RegisterFunction(BuiltinFunctions &set) { - set.AddFunction(TableFunction("pragma_detailed_profiling_output", {}, PragmaDetailedProfilingOutputFunction, - PragmaDetailedProfilingOutputBind, PragmaDetailedProfilingOutputInit)); -} - -} // namespace duckdb diff --git a/src/function/table/pragma_last_profiling_output.cpp b/src/function/table/pragma_last_profiling_output.cpp deleted file mode 100644 index c822f3ddb653..000000000000 --- a/src/function/table/pragma_last_profiling_output.cpp +++ /dev/null @@ -1,101 +0,0 @@ -#include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" -#include "duckdb/catalog/catalog_entry/view_catalog_entry.hpp" -#include "duckdb/common/limits.hpp" -#include "duckdb/common/types/column/column_data_collection.hpp" -#include "duckdb/function/table/system_functions.hpp" -#include "duckdb/main/client_context.hpp" -#include "duckdb/main/client_data.hpp" -#include "duckdb/main/query_profiler.hpp" -#include "duckdb/planner/constraints/bound_not_null_constraint.hpp" - -namespace duckdb { - -struct PragmaLastProfilingOutputOperatorData : public GlobalTableFunctionState { - PragmaLastProfilingOutputOperatorData() : initialized(false) { - } - - ColumnDataScanState scan_state; - bool initialized; -}; - -struct PragmaLastProfilingOutputData : public TableFunctionData { - explicit PragmaLastProfilingOutputData(vector &types) : types(types) { - } - unique_ptr collection; - vector types; -}; - -static unique_ptr PragmaLastProfilingOutputBind(ClientContext &context, TableFunctionBindInput &input, - vector &return_types, - vector &names) { - names.emplace_back("OPERATOR_ID"); - return_types.emplace_back(LogicalType::INTEGER); - - names.emplace_back("NAME"); - return_types.emplace_back(LogicalType::VARCHAR); - - names.emplace_back("TIME"); - return_types.emplace_back(LogicalType::DOUBLE); - - names.emplace_back("CARDINALITY"); - return_types.emplace_back(LogicalType::BIGINT); - - names.emplace_back("DESCRIPTION"); - return_types.emplace_back(LogicalType::VARCHAR); - - return make_uniq(return_types); -} - -static void SetValue(DataChunk &output, int index, int op_id, string name, double time, int64_t car, - string description) { - output.SetValue(0, index, op_id); - output.SetValue(1, index, std::move(name)); - output.SetValue(2, index, time); - output.SetValue(3, index, car); - output.SetValue(4, index, std::move(description)); -} - -unique_ptr PragmaLastProfilingOutputInit(ClientContext &context, - TableFunctionInitInput &input) { - return make_uniq(); -} - -static void PragmaLastProfilingOutputFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) { - auto &state = data_p.global_state->Cast(); - auto &data = data_p.bind_data->CastNoConst(); - if (!state.initialized) { - // create a ColumnDataCollection - auto collection = make_uniq(context, data.types); - - DataChunk chunk; - chunk.Initialize(context, data.types); - int operator_counter = 1; - auto &client_data = ClientData::Get(context); - if (!client_data.query_profiler_history->GetPrevProfilers().empty()) { - auto &tree_map = client_data.query_profiler_history->GetPrevProfilers().back().second->GetTreeMap(); - for (auto op : tree_map) { - auto &tree_info = op.second.get(); - SetValue(chunk, chunk.size(), operator_counter++, tree_info.name, tree_info.info.time, - tree_info.info.elements, " "); - chunk.SetCardinality(chunk.size() + 1); - if (chunk.size() == STANDARD_VECTOR_SIZE) { - collection->Append(chunk); - chunk.Reset(); - } - } - } - collection->Append(chunk); - data.collection = std::move(collection); - data.collection->InitializeScan(state.scan_state); - state.initialized = true; - } - - data.collection->Scan(state.scan_state, output); -} - -void PragmaLastProfilingOutput::RegisterFunction(BuiltinFunctions &set) { - set.AddFunction(TableFunction("pragma_last_profiling_output", {}, PragmaLastProfilingOutputFunction, - PragmaLastProfilingOutputBind, PragmaLastProfilingOutputInit)); -} - -} // namespace duckdb diff --git a/src/function/table/range.cpp b/src/function/table/range.cpp index 205ee3ac6aaa..ecb65eb9980b 100644 --- a/src/function/table/range.cpp +++ b/src/function/table/range.cpp @@ -221,9 +221,6 @@ static void RangeDateTimeFunction(ClientContext &context, TableFunctionInput &da idx_t size = 0; auto data = FlatVector::GetData(output.data[0]); while (true) { - data[size++] = state.current_state; - state.current_state = - AddOperator::Operation(state.current_state, bind_data.increment); if (bind_data.Finished(state.current_state)) { state.finished = true; break; @@ -231,6 +228,9 @@ static void RangeDateTimeFunction(ClientContext &context, TableFunctionInput &da if (size >= STANDARD_VECTOR_SIZE) { break; } + data[size++] = state.current_state; + state.current_state = + AddOperator::Operation(state.current_state, bind_data.increment); } output.SetCardinality(size); } @@ -274,6 +274,9 @@ void BuiltinFunctions::RegisterTableFunctions() { SummaryTableFunction::RegisterFunction(*this); UnnestTableFunction::RegisterFunction(*this); RepeatRowTableFunction::RegisterFunction(*this); + CSVSnifferFunction::RegisterFunction(*this); + ReadBlobFunction::RegisterFunction(*this); + ReadTextFunction::RegisterFunction(*this); } } // namespace duckdb diff --git a/src/function/table/read_csv.cpp b/src/function/table/read_csv.cpp index bd5baea3e076..7d12244a94ba 100644 --- a/src/function/table/read_csv.cpp +++ b/src/function/table/read_csv.cpp @@ -1,23 +1,29 @@ #include "duckdb/function/table/read_csv.hpp" + #include "duckdb/common/enum_util.hpp" #include "duckdb/common/multi_file_reader.hpp" +#include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/string_util.hpp" #include "duckdb/common/union_by_name.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" +#include "duckdb/execution/operator/csv_scanner/table_function/global_csv_state.hpp" +#include "duckdb/execution/operator/csv_scanner/util/csv_error.hpp" #include "duckdb/execution/operator/persistent/csv_rejects_table.hpp" -#include "duckdb/execution/operator/scan/csv/csv_line_info.hpp" -#include "duckdb/execution/operator/scan/csv/csv_sniffer.hpp" #include "duckdb/function/function_set.hpp" #include "duckdb/main/client_context.hpp" #include "duckdb/main/client_data.hpp" #include "duckdb/main/config.hpp" #include "duckdb/main/database.hpp" +#include "duckdb/main/extension_helper.hpp" #include "duckdb/parser/expression/constant_expression.hpp" #include "duckdb/parser/expression/function_expression.hpp" #include "duckdb/parser/tableref/table_function_ref.hpp" #include "duckdb/planner/operator/logical_get.hpp" -#include "duckdb/main/extension_helper.hpp" -#include "duckdb/common/serializer/serializer.hpp" -#include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/execution/operator/csv_scanner/table_function/csv_file_scanner.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/base_scanner.hpp" + +#include "duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp" #include @@ -30,38 +36,12 @@ unique_ptr ReadCSV::OpenCSV(const string &file_path, FileCompress return CSVFileHandle::OpenFile(fs, allocator, file_path, compression); } +ReadCSVData::ReadCSVData() { +} + void ReadCSVData::FinalizeRead(ClientContext &context) { BaseCSVData::Finalize(); - // Here we identify if we can run this CSV file on parallel or not. - bool not_supported_options = options.null_padding; - - auto number_of_threads = TaskScheduler::GetScheduler(context).NumberOfThreads(); - //! If we have many csv files, we run single-threaded on each file and parallelize on the number of files - bool many_csv_files = files.size() > 1 && int64_t(files.size() * 2) >= number_of_threads; - if (options.parallel_mode != ParallelMode::PARALLEL && (many_csv_files || number_of_threads == 1)) { - single_threaded = true; - } - if (options.parallel_mode == ParallelMode::SINGLE_THREADED || not_supported_options || - options.dialect_options.new_line == NewLineIdentifier::MIX) { - // not supported for parallel CSV reading - single_threaded = true; - } - - // Validate rejects_table options - if (!options.rejects_table_name.empty()) { - if (!options.ignore_errors) { - throw BinderException("REJECTS_TABLE option is only supported when IGNORE_ERRORS is set to true"); - } - if (options.file_options.union_by_name) { - throw BinderException("REJECTS_TABLE option is not supported when UNION_BY_NAME is set to true"); - } - } - if (!options.rejects_recovery_columns.empty()) { - if (options.rejects_table_name.empty()) { - throw BinderException( - "REJECTS_RECOVERY_COLUMNS option is only supported when REJECTS_TABLE is set to a table name"); - } for (auto &recovery_col : options.rejects_recovery_columns) { bool found = false; for (idx_t col_idx = 0; col_idx < return_names.size(); col_idx++) { @@ -77,12 +57,6 @@ void ReadCSVData::FinalizeRead(ClientContext &context) { } } } - - if (options.rejects_limit != 0) { - if (options.rejects_table_name.empty()) { - throw BinderException("REJECTS_LIMIT option is only supported when REJECTS_TABLE is set to a table name"); - } - } } static unique_ptr ReadCSVBind(ClientContext &context, TableFunctionBindInput &input, @@ -93,7 +67,27 @@ static unique_ptr ReadCSVBind(ClientContext &context, TableFunctio result->files = MultiFileReader::GetFileList(context, input.inputs[0], "CSV"); options.FromNamedParameters(input.named_parameters, context, return_types, names); - bool explicitly_set_columns = options.explicitly_set_columns; + + // Validate rejects_table options + if (!options.rejects_table_name.empty()) { + if (!options.ignore_errors) { + throw BinderException("REJECTS_TABLE option is only supported when IGNORE_ERRORS is set to true"); + } + if (options.file_options.union_by_name) { + throw BinderException("REJECTS_TABLE option is not supported when UNION_BY_NAME is set to true"); + } + } + + if (options.rejects_limit != 0) { + if (options.rejects_table_name.empty()) { + throw BinderException("REJECTS_LIMIT option is only supported when REJECTS_TABLE is set to a table name"); + } + } + + if (!options.rejects_recovery_columns.empty() && options.rejects_table_name.empty()) { + throw BinderException( + "REJECTS_RECOVERY_COLUMNS option is only supported when REJECTS_TABLE is set to a table name"); + } options.file_options.AutoDetectHivePartitioning(result->files, context); @@ -102,783 +96,141 @@ static unique_ptr ReadCSVBind(ClientContext &context, TableFunctio "read_csv_auto or set read_csv(..., " "AUTO_DETECT=TRUE) to automatically guess columns."); } - if (options.auto_detect) { + if (options.auto_detect && !options.file_options.union_by_name) { options.file_path = result->files[0]; - // Initialize Buffer Manager and Sniffer - auto file_handle = BaseCSVReader::OpenCSV(context, options); - result->buffer_manager = make_shared(context, std::move(file_handle), options); - CSVSniffer sniffer(options, result->buffer_manager, result->state_machine_cache, explicitly_set_columns); + result->buffer_manager = make_shared(context, options, result->files[0], 0); + CSVSniffer sniffer(options, result->buffer_manager, CSVStateMachineCache::Get(context), + {&return_types, &names}); auto sniffer_result = sniffer.SniffCSV(); if (names.empty()) { names = sniffer_result.names; return_types = sniffer_result.return_types; - } else { - if (explicitly_set_columns) { - // The user has influenced the names, can't assume they are valid anymore - if (return_types.size() != names.size()) { - throw BinderException("The amount of names specified (%d) and the observed amount of types (%d) in " - "the file don't match", - names.size(), return_types.size()); - } - } else { - D_ASSERT(return_types.size() == names.size()); - } } - - } else { - D_ASSERT(return_types.size() == names.size()); + result->csv_types = return_types; + result->csv_names = names; } - result->csv_types = return_types; - result->csv_names = names; + D_ASSERT(return_types.size() == names.size()); + result->options.dialect_options.num_cols = names.size(); if (options.file_options.union_by_name) { result->reader_bind = - MultiFileReader::BindUnionReader(context, return_types, names, *result, options); + MultiFileReader::BindUnionReader(context, return_types, names, *result, options); if (result->union_readers.size() > 1) { - result->column_info.emplace_back(result->csv_names, result->csv_types); + result->column_info.emplace_back(result->initial_reader->names, result->initial_reader->types); for (idx_t i = 1; i < result->union_readers.size(); i++) { - result->column_info.emplace_back(result->union_readers[i]->names, - result->union_readers[i]->return_types); + result->column_info.emplace_back(result->union_readers[i]->names, result->union_readers[i]->types); } } if (!options.sql_types_per_column.empty()) { - auto exception = BufferedCSVReader::ColumnTypesError(options.sql_types_per_column, names); - if (!exception.empty()) { - throw BinderException(exception); + auto exception = CSVError::ColumnTypesError(options.sql_types_per_column, names); + if (!exception.error_message.empty()) { + throw BinderException(exception.error_message); + } + for (idx_t i = 0; i < names.size(); i++) { + auto it = options.sql_types_per_column.find(names[i]); + if (it != options.sql_types_per_column.end()) { + return_types[i] = options.sql_type_list[it->second]; + } } } + result->csv_types = return_types; + result->csv_names = names; } else { + result->csv_types = return_types; + result->csv_names = names; result->reader_bind = MultiFileReader::BindOptions(options.file_options, result->files, return_types, names); } result->return_types = return_types; result->return_names = names; - result->FinalizeRead(context); + result->FinalizeRead(context); return std::move(result); } -static unique_ptr ReadCSVAutoBind(ClientContext &context, TableFunctionBindInput &input, - vector &return_types, vector &names) { - input.named_parameters["auto_detect"] = Value::BOOLEAN(true); - return ReadCSVBind(context, input, return_types, names); -} - //===--------------------------------------------------------------------===// -// Parallel CSV Reader CSV Global State +// Read CSV Local State //===--------------------------------------------------------------------===// - -struct ParallelCSVGlobalState : public GlobalTableFunctionState { +struct CSVLocalState : public LocalTableFunctionState { public: - ParallelCSVGlobalState(ClientContext &context, shared_ptr buffer_manager_p, - const CSVReaderOptions &options, idx_t system_threads_p, const vector &files_path_p, - bool force_parallelism_p, vector column_ids_p) - : buffer_manager(std::move(buffer_manager_p)), system_threads(system_threads_p), - force_parallelism(force_parallelism_p), column_ids(std::move(column_ids_p)), - line_info(main_mutex, batch_to_tuple_end, tuple_start, tuple_end) { - current_file_path = files_path_p[0]; - CSVFileHandle *file_handle_ptr; - - if (!buffer_manager || (options.skip_rows_set && options.dialect_options.skip_rows > 0) || - buffer_manager->file_handle->GetFilePath() != current_file_path) { - // If our buffers are too small, and we skip too many rows there is a chance things will go over-buffer - // for now don't reuse the buffer manager - buffer_manager.reset(); - file_handle = ReadCSV::OpenCSV(current_file_path, options.compression, context); - file_handle_ptr = file_handle.get(); - } else { - file_handle_ptr = buffer_manager->file_handle.get(); - } - - file_size = file_handle_ptr->FileSize(); - first_file_size = file_size; - on_disk_file = file_handle_ptr->OnDiskFile(); - bytes_read = 0; - running_threads = MaxThreads(); - - // Initialize all the book-keeping variables - auto file_count = files_path_p.size(); - line_info.current_batches.resize(file_count); - line_info.lines_read.resize(file_count); - line_info.lines_errored.resize(file_count); - tuple_start.resize(file_count); - tuple_end.resize(file_count); - tuple_end_to_batch.resize(file_count); - batch_to_tuple_end.resize(file_count); - - // Initialize the lines read - line_info.lines_read[0][0] = options.dialect_options.skip_rows; - if (options.has_header && options.dialect_options.header) { - line_info.lines_read[0][0]++; - } - first_position = options.dialect_options.true_start; - next_byte = options.dialect_options.true_start; - } - explicit ParallelCSVGlobalState(idx_t system_threads_p) - : system_threads(system_threads_p), line_info(main_mutex, batch_to_tuple_end, tuple_start, tuple_end) { - running_threads = MaxThreads(); + explicit CSVLocalState(unique_ptr csv_reader_p) : csv_reader(std::move(csv_reader_p)) { } - ~ParallelCSVGlobalState() override { - } - - //! How many bytes were read up to this point - atomic bytes_read; - //! Size of current file - idx_t file_size; - -public: - idx_t MaxThreads() const override; - //! Updates the CSV reader with the next buffer to read. Returns false if no more buffers are available. - bool Next(ClientContext &context, const ReadCSVData &bind_data, unique_ptr &reader); - //! Verify if the CSV File was read correctly - void Verify(); - - void UpdateVerification(VerificationPositions positions, idx_t file_number, idx_t batch_idx); - - void UpdateLinesRead(CSVBufferRead &buffer_read, idx_t file_idx); - - void DecrementThread(); - - bool Finished(); - - double GetProgress(const ReadCSVData &bind_data) const { - idx_t total_files = bind_data.files.size(); - - // get the progress WITHIN the current file - double progress; - if (file_size == 0) { - progress = 1.0; - } else { - progress = double(bytes_read) / double(file_size); - } - // now get the total percentage of files read - double percentage = double(file_index - 1) / total_files; - percentage += (double(1) / double(total_files)) * progress; - return percentage * 100; - } - -private: - //! File Handle for current file - shared_ptr buffer_manager; - - //! The index of the next file to read (i.e. current file + 1) - idx_t file_index = 1; - string current_file_path; - - //! Mutex to lock when getting next batch of bytes (Parallel Only) - mutex main_mutex; - //! Byte set from for last thread - idx_t next_byte = 0; - //! Size of first file - idx_t first_file_size = 0; - //! Whether or not this is an on-disk file - bool on_disk_file = true; - //! Basically max number of threads in DuckDB - idx_t system_threads; - //! Current batch index - idx_t batch_index = 0; - idx_t local_batch_index = 0; - - //! Forces parallelism for small CSV Files, should only be used for testing. - bool force_parallelism = false; - //! First Position of First Buffer - idx_t first_position = 0; - //! Current File Number - idx_t max_tuple_end = 0; - //! The vector stores positions where threads ended the last line they read in the CSV File, and the set stores - //! Positions where they started reading the first line. - vector> tuple_end; - vector> tuple_start; - //! Tuple end to batch - vector> tuple_end_to_batch; - //! Batch to Tuple End - vector> batch_to_tuple_end; - idx_t running_threads = 0; - //! The column ids to read - vector column_ids; - //! Line Info used in error messages - LineInfo line_info; - //! Current Buffer index - idx_t cur_buffer_idx = 0; - //! Only used if we don't run auto_detection first - unique_ptr file_handle; + //! The CSV reader + unique_ptr csv_reader; + bool done = false; }; -idx_t ParallelCSVGlobalState::MaxThreads() const { - if (force_parallelism || !on_disk_file) { - return system_threads; - } - idx_t one_mb = 1000000; // We initialize max one thread per Mb - idx_t threads_per_mb = first_file_size / one_mb + 1; - if (threads_per_mb < system_threads || threads_per_mb == 1) { - return threads_per_mb; - } - - return system_threads; -} - -void ParallelCSVGlobalState::DecrementThread() { - lock_guard parallel_lock(main_mutex); - D_ASSERT(running_threads > 0); - running_threads--; -} - -bool ParallelCSVGlobalState::Finished() { - lock_guard parallel_lock(main_mutex); - return running_threads == 0; -} - -void ParallelCSVGlobalState::Verify() { - // All threads are done, we run some magic sweet verification code - lock_guard parallel_lock(main_mutex); - if (running_threads == 0) { - D_ASSERT(tuple_end.size() == tuple_start.size()); - for (idx_t i = 0; i < tuple_start.size(); i++) { - auto ¤t_tuple_end = tuple_end[i]; - auto ¤t_tuple_start = tuple_start[i]; - // figure out max value of last_pos - if (current_tuple_end.empty()) { - return; - } - auto max_value = *max_element(std::begin(current_tuple_end), std::end(current_tuple_end)); - for (idx_t tpl_idx = 0; tpl_idx < current_tuple_end.size(); tpl_idx++) { - auto last_pos = current_tuple_end[tpl_idx]; - auto first_pos = current_tuple_start.find(last_pos); - if (first_pos == current_tuple_start.end()) { - // this might be necessary due to carriage returns outside buffer scopes. - first_pos = current_tuple_start.find(last_pos + 1); - } - if (first_pos == current_tuple_start.end() && last_pos != max_value) { - auto batch_idx = tuple_end_to_batch[i][last_pos]; - auto problematic_line = line_info.GetLine(batch_idx); - throw InvalidInputException( - "CSV File not supported for multithreading. This can be a problematic line in your CSV File or " - "that this CSV can't be read in Parallel. Please, inspect if the line %llu is correct. If so, " - "please run single-threaded CSV Reading by setting parallel=false in the read_csv call.", - problematic_line); - } - } - } - } -} - -void LineInfo::Verify(idx_t file_idx, idx_t batch_idx, idx_t cur_first_pos) { - auto &tuple_start_set = tuple_start[file_idx]; - auto &processed_batches = batch_to_tuple_end[file_idx]; - auto &tuple_end_vec = tuple_end[file_idx]; - bool has_error = false; - idx_t problematic_line; - if (batch_idx == 0 || tuple_start_set.empty()) { - return; - } - for (idx_t cur_batch = 0; cur_batch < batch_idx - 1; cur_batch++) { - auto cur_end = tuple_end_vec[processed_batches[cur_batch]]; - auto first_pos = tuple_start_set.find(cur_end); - if (first_pos == tuple_start_set.end()) { - has_error = true; - problematic_line = GetLine(cur_batch); - break; - } - } - if (!has_error) { - auto cur_end = tuple_end_vec[processed_batches[batch_idx - 1]]; - if (cur_end != cur_first_pos) { - has_error = true; - problematic_line = GetLine(batch_idx); - } - } - if (has_error) { - throw InvalidInputException( - "CSV File not supported for multithreading. This can be a problematic line in your CSV File or " - "that this CSV can't be read in Parallel. Please, inspect if the line %llu is correct. If so, " - "please run single-threaded CSV Reading by setting parallel=false in the read_csv call.", - problematic_line); - } -} -bool ParallelCSVGlobalState::Next(ClientContext &context, const ReadCSVData &bind_data, - unique_ptr &reader) { - lock_guard parallel_lock(main_mutex); - if (!buffer_manager && file_handle) { - buffer_manager = make_shared(context, std::move(file_handle), bind_data.options); - } - if (!buffer_manager) { - return false; - } - auto current_buffer = buffer_manager->GetBuffer(cur_buffer_idx); - auto next_buffer = buffer_manager->GetBuffer(cur_buffer_idx + 1); - - if (!current_buffer) { - // This means we are done with the current file, we need to go to the next one (if exists). - if (file_index < bind_data.files.size()) { - current_file_path = bind_data.files[file_index]; - file_handle = ReadCSV::OpenCSV(current_file_path, bind_data.options.compression, context); - buffer_manager = - make_shared(context, std::move(file_handle), bind_data.options, file_index); - cur_buffer_idx = 0; - first_position = 0; - local_batch_index = 0; - - line_info.lines_read[file_index++][local_batch_index] = (bind_data.options.has_header ? 1 : 0); - - current_buffer = buffer_manager->GetBuffer(cur_buffer_idx); - next_buffer = buffer_manager->GetBuffer(cur_buffer_idx + 1); - } else { - // We are done scanning. - reader.reset(); - return false; - } - } - // set up the current buffer - line_info.current_batches[file_index - 1].insert(local_batch_index); - idx_t bytes_per_local_state = current_buffer->actual_size / MaxThreads() + 1; - auto result = make_uniq( - buffer_manager->GetBuffer(cur_buffer_idx), buffer_manager->GetBuffer(cur_buffer_idx + 1), next_byte, - next_byte + bytes_per_local_state, batch_index++, local_batch_index++, &line_info); - // move the byte index of the CSV reader to the next buffer - next_byte += bytes_per_local_state; - if (next_byte >= current_buffer->actual_size) { - // We replace the current buffer with the next buffer - next_byte = 0; - bytes_read += current_buffer->actual_size; - current_buffer = std::move(next_buffer); - cur_buffer_idx++; - if (current_buffer) { - // Next buffer gets the next-next buffer - next_buffer = buffer_manager->GetBuffer(cur_buffer_idx + 1); - } - } - if (!reader || reader->options.file_path != current_file_path) { - // we either don't have a reader, or the reader was created for a different file - // we need to create a new reader and instantiate it - if (file_index > 0 && file_index <= bind_data.union_readers.size() && bind_data.union_readers[file_index - 1]) { - // we are doing UNION BY NAME - fetch the options from the union reader for this file - auto &union_reader = *bind_data.union_readers[file_index - 1]; - reader = make_uniq(context, union_reader.options, std::move(result), first_position, - union_reader.GetTypes(), file_index - 1); - reader->names = union_reader.GetNames(); - } else if (file_index <= bind_data.column_info.size()) { - // Serialized Union By name - reader = make_uniq(context, bind_data.options, std::move(result), first_position, - bind_data.column_info[file_index - 1].types, file_index - 1); - reader->names = bind_data.column_info[file_index - 1].names; - } else { - // regular file - use the standard options - if (!result) { - return false; - } - reader = make_uniq(context, bind_data.options, std::move(result), first_position, - bind_data.csv_types, file_index - 1); - reader->names = bind_data.csv_names; - } - reader->options.file_path = current_file_path; - MultiFileReader::InitializeReader(*reader, bind_data.options.file_options, bind_data.reader_bind, - bind_data.return_types, bind_data.return_names, column_ids, nullptr, - bind_data.files.front(), context); - } else { - // update the current reader - reader->SetBufferRead(std::move(result)); - } - - return true; -} -void ParallelCSVGlobalState::UpdateVerification(VerificationPositions positions, idx_t file_number_p, idx_t batch_idx) { - lock_guard parallel_lock(main_mutex); - if (positions.end_of_last_line > max_tuple_end) { - max_tuple_end = positions.end_of_last_line; - } - tuple_end_to_batch[file_number_p][positions.end_of_last_line] = batch_idx; - batch_to_tuple_end[file_number_p][batch_idx] = tuple_end[file_number_p].size(); - tuple_start[file_number_p].insert(positions.beginning_of_first_line); - tuple_end[file_number_p].push_back(positions.end_of_last_line); -} - -void ParallelCSVGlobalState::UpdateLinesRead(CSVBufferRead &buffer_read, idx_t file_idx) { - auto batch_idx = buffer_read.local_batch_index; - auto lines_read = buffer_read.lines_read; - lock_guard parallel_lock(main_mutex); - line_info.current_batches[file_idx].erase(batch_idx); - line_info.lines_read[file_idx][batch_idx] += lines_read; -} - -bool LineInfo::CanItGetLine(idx_t file_idx, idx_t batch_idx) { - lock_guard parallel_lock(main_mutex); - if (current_batches.empty() || done) { - return true; - } - if (file_idx >= current_batches.size() || current_batches[file_idx].empty()) { - return true; - } - auto min_value = *current_batches[file_idx].begin(); - if (min_value >= batch_idx) { - return true; - } - return false; -} - -void LineInfo::Increment(idx_t file_idx, idx_t batch_idx) { - auto parallel_lock = duckdb::make_uniq>(main_mutex); - lines_errored[file_idx][batch_idx]++; -} - -// Returns the 1-indexed line number -idx_t LineInfo::GetLine(idx_t batch_idx, idx_t line_error, idx_t file_idx, idx_t cur_start, bool verify, - bool stop_at_first) { - unique_ptr> parallel_lock; - if (!verify) { - parallel_lock = duckdb::make_uniq>(main_mutex); - } - idx_t line_count = 0; - - if (!stop_at_first) { - // Figure out the amount of lines read in the current file - for (idx_t cur_batch_idx = 0; cur_batch_idx <= batch_idx; cur_batch_idx++) { - if (cur_batch_idx < batch_idx) { - line_count += lines_errored[file_idx][cur_batch_idx]; - } - line_count += lines_read[file_idx][cur_batch_idx]; - } - return line_count + line_error + 1; - } - - // Otherwise, check if we already have an error on another thread - if (done) { - // line count is 0-indexed, but we want to return 1-indexed - return first_line + 1; - } - for (idx_t i = 0; i <= batch_idx; i++) { - if (lines_read[file_idx].find(i) == lines_read[file_idx].end() && i != batch_idx) { - throw InternalException("Missing batch index on Parallel CSV Reader GetLine"); - } - line_count += lines_read[file_idx][i]; - } +//===--------------------------------------------------------------------===// +// Read CSV Functions +//===--------------------------------------------------------------------===// +static unique_ptr ReadCSVInitGlobal(ClientContext &context, TableFunctionInitInput &input) { + auto &bind_data = input.bind_data->Cast(); - // before we are done, if this is not a call in Verify() we must check Verify up to this batch - if (!verify) { - Verify(file_idx, batch_idx, cur_start); + // Create the temporary rejects table + auto rejects_table = bind_data.options.rejects_table_name; + if (!rejects_table.empty()) { + CSVRejectsTable::GetOrCreate(context, rejects_table)->InitializeTable(context, bind_data); } - done = true; - first_line = line_count + line_error; - // line count is 0-indexed, but we want to return 1-indexed - return first_line + 1; -} - -static unique_ptr ParallelCSVInitGlobal(ClientContext &context, - TableFunctionInitInput &input) { - auto &bind_data = input.bind_data->CastNoConst(); if (bind_data.files.empty()) { // This can happen when a filename based filter pushdown has eliminated all possible files for this scan. - return make_uniq(context.db->NumberOfThreads()); + return nullptr; } - bind_data.options.file_path = bind_data.files[0]; - auto buffer_manager = bind_data.buffer_manager; - return make_uniq(context, buffer_manager, bind_data.options, context.db->NumberOfThreads(), - bind_data.files, ClientConfig::GetConfig(context).verify_parallelism, - input.column_ids); + return make_uniq(context, bind_data.buffer_manager, bind_data.options, + context.db->NumberOfThreads(), bind_data.files, input.column_ids, bind_data); } -//===--------------------------------------------------------------------===// -// Read CSV Local State -//===--------------------------------------------------------------------===// -struct ParallelCSVLocalState : public LocalTableFunctionState { -public: - explicit ParallelCSVLocalState(unique_ptr csv_reader_p) : csv_reader(std::move(csv_reader_p)) { +unique_ptr ReadCSVInitLocal(ExecutionContext &context, TableFunctionInitInput &input, + GlobalTableFunctionState *global_state_p) { + if (!global_state_p) { + return nullptr; } - - //! The CSV reader - unique_ptr csv_reader; - CSVBufferRead previous_buffer; - bool done = false; -}; - -unique_ptr ParallelReadCSVInitLocal(ExecutionContext &context, TableFunctionInitInput &input, - GlobalTableFunctionState *global_state_p) { - auto &csv_data = input.bind_data->Cast(); - auto &global_state = global_state_p->Cast(); - unique_ptr csv_reader; - auto has_next = global_state.Next(context.client, csv_data, csv_reader); - if (!has_next) { + auto &global_state = global_state_p->Cast(); + auto csv_scanner = global_state.Next(); + if (!csv_scanner) { global_state.DecrementThread(); - csv_reader.reset(); } - return make_uniq(std::move(csv_reader)); + return make_uniq(std::move(csv_scanner)); } -static void ParallelReadCSVFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) { +static void ReadCSVFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) { auto &bind_data = data_p.bind_data->Cast(); - auto &csv_global_state = data_p.global_state->Cast(); - auto &csv_local_state = data_p.local_state->Cast(); + if (!data_p.global_state) { + return; + } + auto &csv_global_state = data_p.global_state->Cast(); + auto &csv_local_state = data_p.local_state->Cast(); if (!csv_local_state.csv_reader) { // no csv_reader was set, this can happen when a filename-based filter has filtered out all possible files return; } - do { if (output.size() != 0) { - MultiFileReader::FinalizeChunk(bind_data.reader_bind, csv_local_state.csv_reader->reader_data, output); + MultiFileReader::FinalizeChunk(bind_data.reader_bind, + csv_local_state.csv_reader->csv_file_scan->reader_data, output); break; } - if (csv_local_state.csv_reader->finished) { - auto verification_updates = csv_local_state.csv_reader->GetVerificationPositions(); - csv_global_state.UpdateVerification(verification_updates, - csv_local_state.csv_reader->buffer->buffer->file_idx, - csv_local_state.csv_reader->buffer->local_batch_index); - csv_global_state.UpdateLinesRead(*csv_local_state.csv_reader->buffer, csv_local_state.csv_reader->file_idx); - auto has_next = csv_global_state.Next(context, bind_data, csv_local_state.csv_reader); - if (csv_local_state.csv_reader) { - csv_local_state.csv_reader->linenr = 0; - } - if (!has_next) { + if (csv_local_state.csv_reader->FinishedIterator()) { + csv_local_state.csv_reader->csv_file_scan->error_handler->Insert( + csv_local_state.csv_reader->GetBoundaryIndex(), csv_local_state.csv_reader->GetLinesRead()); + csv_local_state.csv_reader = csv_global_state.Next(); + if (!csv_local_state.csv_reader) { csv_global_state.DecrementThread(); break; } } - csv_local_state.csv_reader->ParseCSV(output); + csv_local_state.csv_reader->Flush(output); } while (true); - if (csv_global_state.Finished()) { - csv_global_state.Verify(); - } -} - -//===--------------------------------------------------------------------===// -// Single-Threaded CSV Reader -//===--------------------------------------------------------------------===// -struct SingleThreadedCSVState : public GlobalTableFunctionState { - explicit SingleThreadedCSVState(idx_t total_files) : total_files(total_files), next_file(0), progress_in_files(0) { - } - - mutex csv_lock; - unique_ptr initial_reader; - //! The total number of files to read from - idx_t total_files; - //! The index of the next file to read (i.e. current file + 1) - atomic next_file; - //! How far along we are in reading the current set of open files - //! This goes from [0...next_file] * 100 - atomic progress_in_files; - //! The set of SQL types - vector csv_types; - //! The set of SQL names to be read from the file - vector csv_names; - //! The column ids to read - vector column_ids; - - idx_t MaxThreads() const override { - return total_files; - } - - double GetProgress(const ReadCSVData &bind_data) const { - D_ASSERT(total_files == bind_data.files.size()); - D_ASSERT(progress_in_files <= total_files * 100); - return (double(progress_in_files) / double(total_files)); - } - - unique_ptr GetCSVReader(ClientContext &context, ReadCSVData &bind_data, idx_t &file_index, - idx_t &total_size) { - return GetCSVReaderInternal(context, bind_data, file_index, total_size); - } - -private: - unique_ptr GetCSVReaderInternal(ClientContext &context, ReadCSVData &bind_data, - idx_t &file_index, idx_t &total_size) { - CSVReaderOptions options; - { - lock_guard l(csv_lock); - if (initial_reader) { - total_size = initial_reader->file_handle ? initial_reader->file_handle->FileSize() : 0; - return std::move(initial_reader); - } - if (next_file >= total_files) { - return nullptr; - } - options = bind_data.options; - file_index = next_file; - next_file++; - } - // reuse csv_readers was created during binding - unique_ptr result; - if (file_index < bind_data.union_readers.size() && bind_data.union_readers[file_index]) { - result = std::move(bind_data.union_readers[file_index]); - } else { - auto union_by_name = options.file_options.union_by_name; - options.file_path = bind_data.files[file_index]; - result = make_uniq(context, std::move(options), csv_types); - if (!union_by_name) { - result->names = csv_names; - } - MultiFileReader::InitializeReader(*result, bind_data.options.file_options, bind_data.reader_bind, - bind_data.return_types, bind_data.return_names, column_ids, nullptr, - bind_data.files.front(), context); - } - total_size = result->file_handle->FileSize(); - return result; - } -}; - -struct SingleThreadedCSVLocalState : public LocalTableFunctionState { -public: - explicit SingleThreadedCSVLocalState() : bytes_read(0), total_size(0), current_progress(0), file_index(0) { - } - - //! The CSV reader - unique_ptr csv_reader; - //! The current amount of bytes read by this reader - idx_t bytes_read; - //! The total amount of bytes in the file - idx_t total_size; - //! The current progress from 0..100 - idx_t current_progress; - //! The file index of this reader - idx_t file_index; -}; - -static unique_ptr SingleThreadedCSVInit(ClientContext &context, - TableFunctionInitInput &input) { - auto &bind_data = input.bind_data->CastNoConst(); - auto result = make_uniq(bind_data.files.size()); - if (bind_data.files.empty()) { - // This can happen when a filename based filter pushdown has eliminated all possible files for this scan. - return std::move(result); - } else { - bind_data.options.file_path = bind_data.files[0]; - result->initial_reader = make_uniq(context, bind_data.options, bind_data.csv_types); - if (!bind_data.options.file_options.union_by_name) { - result->initial_reader->names = bind_data.csv_names; - } - if (bind_data.options.auto_detect) { - bind_data.options = result->initial_reader->options; - } - } - MultiFileReader::InitializeReader(*result->initial_reader, bind_data.options.file_options, bind_data.reader_bind, - bind_data.return_types, bind_data.return_names, input.column_ids, input.filters, - bind_data.files.front(), context); - for (auto &reader : bind_data.union_readers) { - if (!reader) { - continue; - } - MultiFileReader::InitializeReader(*reader, bind_data.options.file_options, bind_data.reader_bind, - bind_data.return_types, bind_data.return_names, input.column_ids, - input.filters, bind_data.files.front(), context); - } - result->column_ids = input.column_ids; - - if (!bind_data.options.file_options.union_by_name) { - // if we are reading multiple files - run auto-detect only on the first file - // UNLESS union by name is turned on - in that case we assume that different files have different schemas - // as such, we need to re-run the auto detection on each file - bind_data.options.auto_detect = false; - } - result->csv_types = bind_data.csv_types; - result->csv_names = bind_data.csv_names; - result->next_file = 1; - return std::move(result); -} - -unique_ptr SingleThreadedReadCSVInitLocal(ExecutionContext &context, - TableFunctionInitInput &input, - GlobalTableFunctionState *global_state_p) { - auto &bind_data = input.bind_data->CastNoConst(); - auto &data = global_state_p->Cast(); - auto result = make_uniq(); - result->csv_reader = data.GetCSVReader(context.client, bind_data, result->file_index, result->total_size); - return std::move(result); -} - -static void SingleThreadedCSVFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) { - auto &bind_data = data_p.bind_data->CastNoConst(); - auto &data = data_p.global_state->Cast(); - auto &lstate = data_p.local_state->Cast(); - if (!lstate.csv_reader) { - // no csv_reader was set, this can happen when a filename-based filter has filtered out all possible files - return; - } - - do { - lstate.csv_reader->ParseCSV(output); - // update the number of bytes read - D_ASSERT(lstate.bytes_read <= lstate.csv_reader->bytes_in_chunk); - auto bytes_read = MinValue(lstate.total_size, lstate.csv_reader->bytes_in_chunk); - auto current_progress = lstate.total_size == 0 ? 100 : 100 * bytes_read / lstate.total_size; - if (current_progress > lstate.current_progress) { - if (current_progress > 100) { - throw InternalException("Progress should never exceed 100"); - } - data.progress_in_files += current_progress - lstate.current_progress; - lstate.current_progress = current_progress; - } - if (output.size() == 0) { - // exhausted this file, but we might have more files we can read - auto csv_reader = data.GetCSVReader(context, bind_data, lstate.file_index, lstate.total_size); - // add any left-over progress for this file to the progress bar - if (lstate.current_progress < 100) { - data.progress_in_files += 100 - lstate.current_progress; - } - // reset the current progress - lstate.current_progress = 0; - lstate.bytes_read = 0; - lstate.csv_reader = std::move(csv_reader); - if (!lstate.csv_reader) { - // no more files - we are done - return; - } - lstate.bytes_read = 0; - } else { - MultiFileReader::FinalizeChunk(bind_data.reader_bind, lstate.csv_reader->reader_data, output); - break; - } - } while (true); -} - -//===--------------------------------------------------------------------===// -// Read CSV Functions -//===--------------------------------------------------------------------===// -static unique_ptr ReadCSVInitGlobal(ClientContext &context, TableFunctionInitInput &input) { - auto &bind_data = input.bind_data->Cast(); - - // Create the temporary rejects table - auto rejects_table = bind_data.options.rejects_table_name; - if (!rejects_table.empty()) { - CSVRejectsTable::GetOrCreate(context, rejects_table)->InitializeTable(context, bind_data); - } - if (bind_data.single_threaded) { - return SingleThreadedCSVInit(context, input); - } else { - return ParallelCSVInitGlobal(context, input); - } -} - -unique_ptr ReadCSVInitLocal(ExecutionContext &context, TableFunctionInitInput &input, - GlobalTableFunctionState *global_state_p) { - auto &csv_data = input.bind_data->Cast(); - if (csv_data.single_threaded) { - return SingleThreadedReadCSVInitLocal(context, input, global_state_p); - } else { - return ParallelReadCSVInitLocal(context, input, global_state_p); - } -} - -static void ReadCSVFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) { - auto &bind_data = data_p.bind_data->Cast(); - if (bind_data.single_threaded) { - SingleThreadedCSVFunction(context, data_p, output); - } else { - ParallelReadCSVFunction(context, data_p, output); - } } static idx_t CSVReaderGetBatchIndex(ClientContext &context, const FunctionData *bind_data_p, LocalTableFunctionState *local_state, GlobalTableFunctionState *global_state) { - auto &bind_data = bind_data_p->Cast(); - if (bind_data.single_threaded) { - auto &data = local_state->Cast(); - return data.file_index; - } - auto &data = local_state->Cast(); - return data.csv_reader->buffer->batch_index; + auto &data = local_state->Cast(); + return data.csv_reader->scanner_idx; } -static void ReadCSVAddNamedParameters(TableFunction &table_function) { +void ReadCSVTableFunction::ReadCSVAddNamedParameters(TableFunction &table_function) { table_function.named_parameters["sep"] = LogicalType::VARCHAR; table_function.named_parameters["delim"] = LogicalType::VARCHAR; table_function.named_parameters["quote"] = LogicalType::VARCHAR; @@ -912,19 +264,15 @@ static void ReadCSVAddNamedParameters(TableFunction &table_function) { table_function.named_parameters["types"] = LogicalType::ANY; table_function.named_parameters["names"] = LogicalType::LIST(LogicalType::VARCHAR); table_function.named_parameters["column_names"] = LogicalType::LIST(LogicalType::VARCHAR); + table_function.named_parameters["parallel"] = LogicalType::BOOLEAN; MultiFileReader::AddParameters(table_function); } double CSVReaderProgress(ClientContext &context, const FunctionData *bind_data_p, const GlobalTableFunctionState *global_state) { auto &bind_data = bind_data_p->Cast(); - if (bind_data.single_threaded) { - auto &data = global_state->Cast(); - return data.GetProgress(bind_data); - } else { - auto &data = global_state->Cast(); - return data.GetProgress(bind_data); - } + auto &data = global_state->Cast(); + return data.GetProgress(bind_data); } void CSVComplexFilterPushdown(ClientContext &context, LogicalGet &get, FunctionData *bind_data_p, @@ -981,7 +329,7 @@ TableFunction ReadCSVTableFunction::GetFunction() { TableFunction ReadCSVTableFunction::GetAutoFunction() { auto read_csv_auto = ReadCSVTableFunction::GetFunction(); read_csv_auto.name = "read_csv_auto"; - read_csv_auto.bind = ReadCSVAutoBind; + read_csv_auto.bind = ReadCSVBind; return read_csv_auto; } diff --git a/src/function/table/read_file.cpp b/src/function/table/read_file.cpp new file mode 100644 index 000000000000..f7f567ca4e23 --- /dev/null +++ b/src/function/table/read_file.cpp @@ -0,0 +1,242 @@ +#include "duckdb/common/multi_file_reader.hpp" +#include "duckdb/common/string_util.hpp" +#include "duckdb/function/function_set.hpp" +#include "duckdb/main/client_context.hpp" +#include "duckdb/function/table/range.hpp" +#include "utf8proc_wrapper.hpp" + +namespace duckdb { + +struct ReadBlobOperation { + static constexpr const char *NAME = "read_blob"; + static constexpr const char *FILE_TYPE = "blob"; + + static inline LogicalType TYPE() { + return LogicalType::BLOB; + } + + static inline void VERIFY(const string &, const string_t &) { + } +}; + +struct ReadTextOperation { + static constexpr const char *NAME = "read_text"; + static constexpr const char *FILE_TYPE = "text"; + + static inline LogicalType TYPE() { + return LogicalType::VARCHAR; + } + + static inline void VERIFY(const string &filename, const string_t &content) { + if (Utf8Proc::Analyze(content.GetData(), content.GetSize()) == UnicodeType::INVALID) { + throw InvalidInputException( + "read_text: could not read content of file '%s' as valid UTF-8 encoded text. You " + "may want to use read_blob instead.", + filename); + } + } +}; + +//------------------------------------------------------------------------------ +// Bind +//------------------------------------------------------------------------------ +struct ReadFileBindData : public TableFunctionData { + vector files; + + static constexpr const idx_t FILE_NAME_COLUMN = 0; + static constexpr const idx_t FILE_CONTENT_COLUMN = 1; + static constexpr const idx_t FILE_SIZE_COLUMN = 2; + static constexpr const idx_t FILE_LAST_MODIFIED_COLUMN = 3; +}; + +template +static unique_ptr ReadFileBind(ClientContext &context, TableFunctionBindInput &input, + vector &return_types, vector &names) { + auto result = make_uniq(); + result->files = MultiFileReader::GetFileList(context, input.inputs[0], OP::FILE_TYPE, FileGlobOptions::ALLOW_EMPTY); + + return_types.push_back(LogicalType::VARCHAR); + names.push_back("filename"); + return_types.push_back(OP::TYPE()); + names.push_back("content"); + return_types.push_back(LogicalType::BIGINT); + names.push_back("size"); + return_types.push_back(LogicalType::TIMESTAMP); + names.push_back("last_modified"); + + return std::move(result); +} + +//------------------------------------------------------------------------------ +// Global state +//------------------------------------------------------------------------------ +struct ReadFileGlobalState : public GlobalTableFunctionState { + ReadFileGlobalState() : current_file_idx(0) { + } + + idx_t current_file_idx; + vector files; + vector column_ids; + bool requires_file_open = false; +}; + +static unique_ptr ReadFileInitGlobal(ClientContext &context, TableFunctionInitInput &input) { + auto &bind_data = input.bind_data->Cast(); + auto result = make_uniq(); + + result->files = bind_data.files; + result->current_file_idx = 0; + result->column_ids = input.column_ids; + + for (const auto &column_id : input.column_ids) { + // For everything except the 'file' name column, we need to open the file + if (column_id != ReadFileBindData::FILE_NAME_COLUMN && column_id != COLUMN_IDENTIFIER_ROW_ID) { + result->requires_file_open = true; + break; + } + } + + return std::move(result); +} + +//------------------------------------------------------------------------------ +// Execute +//------------------------------------------------------------------------------ +static void AssertMaxFileSize(const string &file_name, idx_t file_size) { + const auto max_file_size = NumericLimits::Maximum(); + if (file_size > max_file_size) { + auto max_byte_size_format = StringUtil::BytesToHumanReadableString(max_file_size); + auto file_byte_size_format = StringUtil::BytesToHumanReadableString(file_size); + auto error_msg = StringUtil::Format("File '%s' size (%s) exceeds maximum allowed file (%s)", file_name.c_str(), + file_byte_size_format, max_byte_size_format); + throw InvalidInputException(error_msg); + } +} + +template +static void ReadFileExecute(ClientContext &context, TableFunctionInput &input, DataChunk &output) { + auto &bind_data = input.bind_data->Cast(); + auto &state = input.global_state->Cast(); + auto &fs = FileSystem::GetFileSystem(context); + + auto output_count = MinValue(STANDARD_VECTOR_SIZE, bind_data.files.size() - state.current_file_idx); + + // We utilize projection pushdown here to only read the file content if the 'data' column is requested + for (idx_t out_idx = 0; out_idx < output_count; out_idx++) { + // Add the file name to the output + auto &file_name = bind_data.files[state.current_file_idx + out_idx]; + + unique_ptr file_handle = nullptr; + + // Given the columns requested, do we even need to open the file? + if (state.requires_file_open) { + file_handle = fs.OpenFile(file_name, FileFlags::FILE_FLAGS_READ); + } + + for (idx_t col_idx = 0; col_idx < state.column_ids.size(); col_idx++) { + // We utilize projection pushdown to avoid potentially expensive fs operations. + auto proj_idx = state.column_ids[col_idx]; + if (proj_idx == COLUMN_IDENTIFIER_ROW_ID) { + continue; + } + try { + switch (proj_idx) { + case ReadFileBindData::FILE_NAME_COLUMN: { + auto &file_name_vector = output.data[col_idx]; + auto file_name_string = StringVector::AddString(file_name_vector, file_name); + FlatVector::GetData(file_name_vector)[out_idx] = file_name_string; + } break; + case ReadFileBindData::FILE_CONTENT_COLUMN: { + auto file_size = file_handle->GetFileSize(); + AssertMaxFileSize(file_name, file_size); + auto &file_content_vector = output.data[col_idx]; + auto content_string = StringVector::EmptyString(file_content_vector, file_size); + file_handle->Read(content_string.GetDataWriteable(), file_size); + content_string.Finalize(); + + OP::VERIFY(file_name, content_string); + + FlatVector::GetData(file_content_vector)[out_idx] = content_string; + } break; + case ReadFileBindData::FILE_SIZE_COLUMN: { + auto &file_size_vector = output.data[col_idx]; + FlatVector::GetData(file_size_vector)[out_idx] = file_handle->GetFileSize(); + } break; + case ReadFileBindData::FILE_LAST_MODIFIED_COLUMN: { + auto &last_modified_vector = output.data[col_idx]; + // This can sometimes fail (e.g. httpfs file system cant always parse the last modified time + // correctly) + try { + auto timestamp_seconds = Timestamp::FromEpochSeconds(fs.GetLastModifiedTime(*file_handle)); + FlatVector::GetData(last_modified_vector)[out_idx] = timestamp_seconds; + } catch (std::exception &ex) { + ErrorData error(ex); + if (error.Type() == ExceptionType::CONVERSION) { + FlatVector::SetNull(last_modified_vector, out_idx, true); + } else { + throw; + } + } + } break; + default: + throw InternalException("Unsupported column index for read_file"); + } + } + // Filesystems are not required to support all operations, so we just set the column to NULL if not + // implemented + catch (std::exception &ex) { + ErrorData error(ex); + if (error.Type() == ExceptionType::NOT_IMPLEMENTED) { + FlatVector::SetNull(output.data[col_idx], out_idx, true); + } else { + throw; + } + } + } + } + + state.current_file_idx += output_count; + output.SetCardinality(output_count); +} + +//------------------------------------------------------------------------------ +// Misc +//------------------------------------------------------------------------------ + +static double ReadFileProgress(ClientContext &context, const FunctionData *bind_data, + const GlobalTableFunctionState *gstate) { + auto &state = gstate->Cast(); + return static_cast(state.current_file_idx) / static_cast(state.files.size()); +} + +static unique_ptr ReadFileCardinality(ClientContext &context, const FunctionData *bind_data_p) { + auto &bind_data = bind_data_p->Cast(); + auto result = make_uniq(); + result->has_max_cardinality = true; + result->max_cardinality = bind_data.files.size(); + result->has_estimated_cardinality = true; + result->estimated_cardinality = bind_data.files.size(); + return result; +} + +//------------------------------------------------------------------------------ +// Register +//------------------------------------------------------------------------------ +template +static TableFunction GetFunction() { + TableFunction func(OP::NAME, {LogicalType::VARCHAR}, ReadFileExecute, ReadFileBind, ReadFileInitGlobal); + func.table_scan_progress = ReadFileProgress; + func.cardinality = ReadFileCardinality; + func.projection_pushdown = true; + return func; +} + +void ReadBlobFunction::RegisterFunction(BuiltinFunctions &set) { + set.AddFunction(MultiFileReader::CreateFunctionSet(GetFunction())); +} + +void ReadTextFunction::RegisterFunction(BuiltinFunctions &set) { + set.AddFunction(MultiFileReader::CreateFunctionSet(GetFunction())); +} + +} // namespace duckdb diff --git a/src/function/table/sniff_csv.cpp b/src/function/table/sniff_csv.cpp new file mode 100644 index 000000000000..406f3309252a --- /dev/null +++ b/src/function/table/sniff_csv.cpp @@ -0,0 +1,275 @@ +#include "duckdb/function/built_in_functions.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" +#include "duckdb/common/types/data_chunk.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/function/table_function.hpp" +#include "duckdb/main/client_context.hpp" +#include "duckdb/function/table/range.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp" +#include "duckdb/function/table/read_csv.hpp" + +namespace duckdb { + +struct CSVSniffFunctionData : public TableFunctionData { + CSVSniffFunctionData() { + } + string path; + // The CSV reader options + CSVReaderOptions options; + // Return Types of CSV (If given by the user) + vector return_types_csv; + // Column Names of CSV (If given by the user) + vector names_csv; +}; + +struct CSVSniffGlobalState : public GlobalTableFunctionState { + CSVSniffGlobalState() { + } + bool done = false; +}; + +static unique_ptr CSVSniffInitGlobal(ClientContext &context, TableFunctionInitInput &input) { + return make_uniq(); +} + +static unique_ptr CSVSniffBind(ClientContext &context, TableFunctionBindInput &input, + vector &return_types, vector &names) { + auto result = make_uniq(); + result->path = input.inputs[0].ToString(); + auto it = input.named_parameters.find("auto_detect"); + if (it != input.named_parameters.end()) { + if (!it->second.GetValue()) { + throw InvalidInputException("sniff_csv function does not accept auto_detect variable set to false"); + } + // otherwise remove it + input.named_parameters.erase("auto_detect"); + } + result->options.FromNamedParameters(input.named_parameters, context, result->return_types_csv, result->names_csv); + // We want to return the whole CSV Configuration + // 1. Delimiter + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("Delimiter"); + // 2. Quote + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("Quote"); + // 3. Escape + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("Escape"); + // 4. NewLine Delimiter + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("NewLineDelimiter"); + // 5. Skip Rows + return_types.emplace_back(LogicalType::UINTEGER); + names.emplace_back("SkipRows"); + // 6. Has Header + return_types.emplace_back(LogicalType::BOOLEAN); + names.emplace_back("HasHeader"); + // 7. List> + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("Columns"); + // 8. Date Format + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("DateFormat"); + // 9. Timestamp Format + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("TimestampFormat"); + // 10. CSV read function with all the options used + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("UserArguments"); + // 11. CSV read function with all the options used + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("Prompt"); + return std::move(result); +} + +string NewLineIdentifierToString(NewLineIdentifier identifier) { + switch (identifier) { + case NewLineIdentifier::SINGLE: + return "\\n"; + case NewLineIdentifier::CARRY_ON: + return "\\r\\n"; + default: + return ""; + } +} + +string FormatOptions(char opt) { + if (opt == '\'') { + return "''"; + } + string result; + result += opt; + return result; +} + +static void CSVSniffFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) { + auto &global_state = data_p.global_state->Cast(); + // Are we done? + if (global_state.done) { + return; + } + const CSVSniffFunctionData &data = data_p.bind_data->Cast(); + auto &fs = duckdb::FileSystem::GetFileSystem(context); + + if (data.path.rfind("http://", 0) != 0 && data.path.rfind("https://", 0) != 0 && fs.HasGlob(data.path)) { + throw NotImplementedException("sniff_csv does not operate on globs yet"); + } + + // We must run the sniffer. + auto sniffer_options = data.options; + sniffer_options.file_path = data.path; + + auto buffer_manager = make_shared(context, sniffer_options, sniffer_options.file_path, 0); + CSVSniffer sniffer(sniffer_options, buffer_manager, CSVStateMachineCache::Get(context)); + auto sniffer_result = sniffer.SniffCSV(true); + string str_opt; + string separator = ", "; + // Set output + output.SetCardinality(1); + + // 1. Delimiter + str_opt = sniffer_options.dialect_options.state_machine_options.delimiter.GetValue(); + output.SetValue(0, 0, str_opt); + // 2. Quote + str_opt = sniffer_options.dialect_options.state_machine_options.quote.GetValue(); + output.SetValue(1, 0, str_opt); + // 3. Escape + str_opt = sniffer_options.dialect_options.state_machine_options.escape.GetValue(); + output.SetValue(2, 0, str_opt); + // 4. NewLine Delimiter + auto new_line_identifier = + NewLineIdentifierToString(sniffer_options.dialect_options.state_machine_options.new_line.GetValue()); + output.SetValue(3, 0, new_line_identifier); + // 5. Skip Rows + output.SetValue(4, 0, Value::UINTEGER(sniffer_options.dialect_options.skip_rows.GetValue())); + // 6. Has Header + auto has_header = Value::BOOLEAN(sniffer_options.dialect_options.header.GetValue()).ToString(); + output.SetValue(5, 0, has_header); + // 7. List> {'col1': 'INTEGER', 'col2': 'VARCHAR'} + std::ostringstream columns; + columns << "{"; + for (idx_t i = 0; i < sniffer_result.return_types.size(); i++) { + columns << "'" << sniffer_result.names[i] << "': '" << sniffer_result.return_types[i].ToString() << "'"; + if (i != sniffer_result.return_types.size() - 1) { + columns << separator; + } + } + columns << "}"; + output.SetValue(6, 0, columns.str()); + // 8. Date Format + auto date_format = sniffer_options.dialect_options.date_format[LogicalType::DATE].GetValue(); + if (!date_format.Empty()) { + output.SetValue(7, 0, date_format.format_specifier); + } else { + bool has_date = false; + for (auto &c_type : sniffer_result.return_types) { + // Must be ISO 8601 + if (c_type.id() == LogicalTypeId::DATE) { + output.SetValue(7, 0, Value("%Y-%m-%d")); + has_date = true; + } + } + if (!has_date) { + output.SetValue(7, 0, Value(nullptr)); + } + } + + // 9. Timestamp Format + auto timestamp_format = sniffer_options.dialect_options.date_format[LogicalType::TIMESTAMP].GetValue(); + if (!timestamp_format.Empty()) { + output.SetValue(8, 0, timestamp_format.format_specifier); + } else { + output.SetValue(8, 0, Value(nullptr)); + } + + // 10. The Extra User Arguments + if (data.options.user_defined_parameters.empty()) { + output.SetValue(9, 0, Value()); + } else { + output.SetValue(9, 0, Value(data.options.user_defined_parameters)); + } + + // 11. csv_read string + std::ostringstream csv_read; + + // Base, Path and auto_detect=false + csv_read << "FROM read_csv('" << data.path << "'" << separator << "auto_detect=false" << separator; + // 10.1. Delimiter + if (!sniffer_options.dialect_options.state_machine_options.delimiter.IsSetByUser()) { + csv_read << "delim=" + << "'" << FormatOptions(sniffer_options.dialect_options.state_machine_options.delimiter.GetValue()) + << "'" << separator; + } + // 11.2. Quote + if (!sniffer_options.dialect_options.header.IsSetByUser()) { + csv_read << "quote=" + << "'" << FormatOptions(sniffer_options.dialect_options.state_machine_options.quote.GetValue()) << "'" + << separator; + } + // 11.3. Escape + if (!sniffer_options.dialect_options.state_machine_options.escape.IsSetByUser()) { + csv_read << "escape=" + << "'" << FormatOptions(sniffer_options.dialect_options.state_machine_options.escape.GetValue()) << "'" + << separator; + } + // 11.4. NewLine Delimiter + if (!sniffer_options.dialect_options.state_machine_options.new_line.IsSetByUser()) { + if (new_line_identifier != "mix") { + csv_read << "new_line=" + << "'" << new_line_identifier << "'" << separator; + } + } + // 11.5. Skip Rows + if (!sniffer_options.dialect_options.skip_rows.IsSetByUser()) { + csv_read << "skip=" << sniffer_options.dialect_options.skip_rows.GetValue() << separator; + } + // 11.6. Has Header + if (!sniffer_options.dialect_options.header.IsSetByUser()) { + csv_read << "header=" << has_header << separator; + } + // 11.7. column={'col1': 'INTEGER', 'col2': 'VARCHAR'} + csv_read << "columns=" << columns.str(); + // 11.8. Date Format + if (!sniffer_options.dialect_options.date_format[LogicalType::DATE].IsSetByUser()) { + if (!sniffer_options.dialect_options.date_format[LogicalType::DATE].GetValue().format_specifier.empty()) { + csv_read << separator << "dateformat=" + << "'" + << sniffer_options.dialect_options.date_format[LogicalType::DATE].GetValue().format_specifier + << "'"; + } else { + for (auto &c_type : sniffer_result.return_types) { + // Must be ISO 8601 + if (c_type.id() == LogicalTypeId::DATE) { + csv_read << separator << "dateformat=" + << "'%Y-%m-%d'"; + break; + } + } + } + } + // 11.9. Timestamp Format + if (!sniffer_options.dialect_options.date_format[LogicalType::TIMESTAMP].IsSetByUser()) { + if (!sniffer_options.dialect_options.date_format[LogicalType::TIMESTAMP].GetValue().format_specifier.empty()) { + csv_read << separator << "timestampformat=" + << "'" + << sniffer_options.dialect_options.date_format[LogicalType::TIMESTAMP].GetValue().format_specifier + << "'"; + } + } + // 11.10 User Arguments + if (!data.options.user_defined_parameters.empty()) { + csv_read << separator << data.options.user_defined_parameters; + } + csv_read << ");"; + output.SetValue(10, 0, csv_read.str()); + global_state.done = true; +} + +void CSVSnifferFunction::RegisterFunction(BuiltinFunctions &set) { + TableFunction csv_sniffer("sniff_csv", {LogicalType::VARCHAR}, CSVSniffFunction, CSVSniffBind, CSVSniffInitGlobal); + // Accept same options as the actual csv reader + ReadCSVTableFunction::ReadCSVAddNamedParameters(csv_sniffer); + set.AddFunction(csv_sniffer); +} +} // namespace duckdb diff --git a/src/function/table/system/CMakeLists.txt b/src/function/table/system/CMakeLists.txt index e7a82b00ecc8..066f216de150 100644 --- a/src/function/table/system/CMakeLists.txt +++ b/src/function/table/system/CMakeLists.txt @@ -9,7 +9,10 @@ add_library_unity( duckdb_functions.cpp duckdb_keywords.cpp duckdb_indexes.cpp + duckdb_memory.cpp + duckdb_optimizers.cpp duckdb_schemas.cpp + duckdb_secrets.cpp duckdb_sequences.cpp duckdb_settings.cpp duckdb_tables.cpp diff --git a/src/function/table/system/duckdb_columns.cpp b/src/function/table/system/duckdb_columns.cpp index 42d8203e7966..cee5e1f49c65 100644 --- a/src/function/table/system/duckdb_columns.cpp +++ b/src/function/table/system/duckdb_columns.cpp @@ -47,6 +47,9 @@ static unique_ptr DuckDBColumnsBind(ClientContext &context, TableF names.emplace_back("column_index"); return_types.emplace_back(LogicalType::INTEGER); + names.emplace_back("comment"); + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("internal"); return_types.emplace_back(LogicalType::BOOLEAN); @@ -102,6 +105,7 @@ class ColumnHelper { virtual const LogicalType &ColumnType(idx_t col) = 0; virtual const Value ColumnDefault(idx_t col) = 0; virtual bool IsNullable(idx_t col) = 0; + virtual const Value ColumnComment(idx_t col) = 0; void WriteColumns(idx_t index, idx_t start_col, idx_t end_col, DataChunk &output); }; @@ -133,14 +137,17 @@ class TableColumnHelper : public ColumnHelper { auto &column = entry.GetColumn(LogicalIndex(col)); if (column.Generated()) { return Value(column.GeneratedExpression().ToString()); - } else if (column.DefaultValue()) { - return Value(column.DefaultValue()->ToString()); + } else if (column.HasDefaultValue()) { + return Value(column.DefaultValue().ToString()); } return Value(); } bool IsNullable(idx_t col) override { return not_null_cols.find(col) == not_null_cols.end(); } + const Value ColumnComment(idx_t col) override { + return entry.GetColumn(LogicalIndex(col)).Comment(); + } private: TableCatalogEntry &entry; @@ -159,7 +166,7 @@ class ViewColumnHelper : public ColumnHelper { return entry.types.size(); } const string &ColumnName(idx_t col) override { - return entry.aliases[col]; + return col < entry.aliases.size() ? entry.aliases[col] : entry.names[col]; } const LogicalType &ColumnType(idx_t col) override { return entry.types[col]; @@ -170,6 +177,9 @@ class ViewColumnHelper : public ColumnHelper { bool IsNullable(idx_t col) override { return true; } + const Value ColumnComment(idx_t col) override { + return Value(); + } private: ViewCatalogEntry &entry; @@ -208,6 +218,8 @@ void ColumnHelper::WriteColumns(idx_t start_index, idx_t start_col, idx_t end_co output.SetValue(col++, index, Value(ColumnName(i))); // column_index, INTEGER output.SetValue(col++, index, Value::INTEGER(i + 1)); + // comment, VARCHAR + output.SetValue(col++, index, ColumnComment(i)); // internal, BOOLEAN output.SetValue(col++, index, Value::BOOLEAN(entry.internal)); // column_default, VARCHAR diff --git a/src/function/table/system/duckdb_databases.cpp b/src/function/table/system/duckdb_databases.cpp index 981c7f8401b3..79a8e4325b64 100644 --- a/src/function/table/system/duckdb_databases.cpp +++ b/src/function/table/system/duckdb_databases.cpp @@ -23,6 +23,9 @@ static unique_ptr DuckDBDatabasesBind(ClientContext &context, Tabl names.emplace_back("path"); return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("comment"); + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("internal"); return_types.emplace_back(LogicalType::BOOLEAN); @@ -71,6 +74,8 @@ void DuckDBDatabasesFunction(ClientContext &context, TableFunctionInput &data_p, } } output.SetValue(col++, count, db_path); + // comment, VARCHAR + output.SetValue(col++, count, Value(attached.comment)); // internal, BOOLEAN output.SetValue(col++, count, Value::BOOLEAN(is_internal)); // type, VARCHAR diff --git a/src/function/table/system/duckdb_dependencies.cpp b/src/function/table/system/duckdb_dependencies.cpp index 336aa4151ece..c262d7d47ae2 100644 --- a/src/function/table/system/duckdb_dependencies.cpp +++ b/src/function/table/system/duckdb_dependencies.cpp @@ -9,13 +9,13 @@ namespace duckdb { struct DependencyInformation { - DependencyInformation(CatalogEntry &object, CatalogEntry &dependent, DependencyType type) - : object(object), dependent(dependent), type(type) { + DependencyInformation(CatalogEntry &object, CatalogEntry &dependent, const DependencyDependentFlags &flags) + : object(object), dependent(dependent), flags(flags) { } CatalogEntry &object; CatalogEntry &dependent; - DependencyType type; + DependencyDependentFlags flags; }; struct DuckDBDependenciesData : public GlobalTableFunctionState { @@ -60,9 +60,10 @@ unique_ptr DuckDBDependenciesInit(ClientContext &conte if (catalog.IsDuckCatalog()) { auto &duck_catalog = catalog.Cast(); auto &dependency_manager = duck_catalog.GetDependencyManager(); - dependency_manager.Scan([&](CatalogEntry &obj, CatalogEntry &dependent, DependencyType type) { - result->entries.emplace_back(obj, dependent, type); - }); + dependency_manager.Scan(context, + [&](CatalogEntry &obj, CatalogEntry &dependent, const DependencyDependentFlags &flags) { + result->entries.emplace_back(obj, dependent, flags); + }); } return std::move(result); @@ -95,15 +96,10 @@ void DuckDBDependenciesFunction(ClientContext &context, TableFunctionInput &data output.SetValue(5, count, Value::INTEGER(0)); // deptype, LogicalType::VARCHAR string dependency_type_str; - switch (entry.type) { - case DependencyType::DEPENDENCY_REGULAR: + if (entry.flags.IsBlocking()) { dependency_type_str = "n"; - break; - case DependencyType::DEPENDENCY_AUTOMATIC: + } else { dependency_type_str = "a"; - break; - default: - throw NotImplementedException("Unimplemented dependency type"); } output.SetValue(6, count, Value(dependency_type_str)); diff --git a/src/function/table/system/duckdb_functions.cpp b/src/function/table/system/duckdb_functions.cpp index 2eb6499e768b..107da17e2fde 100644 --- a/src/function/table/system/duckdb_functions.cpp +++ b/src/function/table/system/duckdb_functions.cpp @@ -31,6 +31,9 @@ static unique_ptr DuckDBFunctionsBind(ClientContext &context, Tabl names.emplace_back("database_name"); return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("database_oid"); + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("schema_name"); return_types.emplace_back(LogicalType::VARCHAR); @@ -43,6 +46,9 @@ static unique_ptr DuckDBFunctionsBind(ClientContext &context, Tabl names.emplace_back("description"); return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("comment"); + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("return_type"); return_types.emplace_back(LogicalType::VARCHAR); @@ -70,6 +76,9 @@ static unique_ptr DuckDBFunctionsBind(ClientContext &context, Tabl names.emplace_back("example"); return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("stability"); + return_types.emplace_back(LogicalType::VARCHAR); + return nullptr; } @@ -99,6 +108,19 @@ unique_ptr DuckDBFunctionsInit(ClientContext &context, return std::move(result); } +Value FunctionStabilityToValue(FunctionStability stability) { + switch (stability) { + case FunctionStability::VOLATILE: + return Value("VOLATILE"); + case FunctionStability::CONSISTENT: + return Value("CONSISTENT"); + case FunctionStability::CONSISTENT_WITHIN_QUERY: + return Value("CONSISTENT_WITHIN_QUERY"); + default: + throw InternalException("Unsupported FunctionStability"); + } +} + struct ScalarFunctionExtractor { static idx_t FunctionCount(ScalarFunctionCatalogEntry &entry) { return entry.functions.Size(); @@ -138,9 +160,12 @@ struct ScalarFunctionExtractor { return Value(); } - static Value HasSideEffects(ScalarFunctionCatalogEntry &entry, idx_t offset) { - return Value::BOOLEAN(entry.functions.GetFunctionByOffset(offset).side_effects == - FunctionSideEffects::HAS_SIDE_EFFECTS); + static Value IsVolatile(ScalarFunctionCatalogEntry &entry, idx_t offset) { + return Value::BOOLEAN(entry.functions.GetFunctionByOffset(offset).stability == FunctionStability::VOLATILE); + } + + static Value ResultType(ScalarFunctionCatalogEntry &entry, idx_t offset) { + return FunctionStabilityToValue(entry.functions.GetFunctionByOffset(offset).stability); } }; @@ -183,9 +208,12 @@ struct AggregateFunctionExtractor { return Value(); } - static Value HasSideEffects(AggregateFunctionCatalogEntry &entry, idx_t offset) { - return Value::BOOLEAN(entry.functions.GetFunctionByOffset(offset).side_effects == - FunctionSideEffects::HAS_SIDE_EFFECTS); + static Value IsVolatile(AggregateFunctionCatalogEntry &entry, idx_t offset) { + return Value::BOOLEAN(entry.functions.GetFunctionByOffset(offset).stability == FunctionStability::VOLATILE); + } + + static Value ResultType(AggregateFunctionCatalogEntry &entry, idx_t offset) { + return FunctionStabilityToValue(entry.functions.GetFunctionByOffset(offset).stability); } }; @@ -236,7 +264,11 @@ struct MacroExtractor { return func.expression->ToString(); } - static Value HasSideEffects(ScalarMacroCatalogEntry &entry, idx_t offset) { + static Value IsVolatile(ScalarMacroCatalogEntry &entry, idx_t offset) { + return Value(); + } + + static Value ResultType(ScalarMacroCatalogEntry &entry, idx_t offset) { return Value(); } }; @@ -283,14 +315,18 @@ struct TableMacroExtractor { } static Value GetMacroDefinition(TableMacroCatalogEntry &entry, idx_t offset) { - if (entry.function->type == MacroType::SCALAR_MACRO) { - auto &func = entry.function->Cast(); - return func.expression->ToString(); + if (entry.function->type == MacroType::TABLE_MACRO) { + auto &func = entry.function->Cast(); + return func.query_node->ToString(); } return Value(); } - static Value HasSideEffects(TableMacroCatalogEntry &entry, idx_t offset) { + static Value IsVolatile(TableMacroCatalogEntry &entry, idx_t offset) { + return Value(); + } + + static Value ResultType(TableMacroCatalogEntry &entry, idx_t offset) { return Value(); } }; @@ -342,7 +378,11 @@ struct TableFunctionExtractor { return Value(); } - static Value HasSideEffects(TableFunctionCatalogEntry &entry, idx_t offset) { + static Value IsVolatile(TableFunctionCatalogEntry &entry, idx_t offset) { + return Value(); + } + + static Value ResultType(TableFunctionCatalogEntry &entry, idx_t offset) { return Value(); } }; @@ -395,7 +435,11 @@ struct PragmaFunctionExtractor { return Value(); } - static Value HasSideEffects(PragmaFunctionCatalogEntry &entry, idx_t offset) { + static Value IsVolatile(PragmaFunctionCatalogEntry &entry, idx_t offset) { + return Value(); + } + + static Value ResultType(PragmaFunctionCatalogEntry &entry, idx_t offset) { return Value(); } }; @@ -408,6 +452,9 @@ bool ExtractFunctionData(FunctionEntry &entry, idx_t function_idx, DataChunk &ou // database_name, LogicalType::VARCHAR output.SetValue(col++, output_offset, Value(function.schema.catalog.GetName())); + // database_oid, BIGINT + output.SetValue(col++, output_offset, Value::BIGINT(function.schema.catalog.GetOid())); + // schema_name, LogicalType::VARCHAR output.SetValue(col++, output_offset, Value(function.schema.name)); @@ -420,6 +467,9 @@ bool ExtractFunctionData(FunctionEntry &entry, idx_t function_idx, DataChunk &ou // function_description, LogicalType::VARCHAR output.SetValue(col++, output_offset, entry.description.empty() ? Value() : entry.description); + // comment, LogicalType::VARCHAR + output.SetValue(col++, output_offset, entry.comment); + // return_type, LogicalType::VARCHAR output.SetValue(col++, output_offset, OP::GetReturnType(function, function_idx)); @@ -441,7 +491,7 @@ bool ExtractFunctionData(FunctionEntry &entry, idx_t function_idx, DataChunk &ou output.SetValue(col++, output_offset, OP::GetMacroDefinition(function, function_idx)); // has_side_effects, LogicalType::BOOLEAN - output.SetValue(col++, output_offset, OP::HasSideEffects(function, function_idx)); + output.SetValue(col++, output_offset, OP::IsVolatile(function, function_idx)); // internal, LogicalType::BOOLEAN output.SetValue(col++, output_offset, Value::BOOLEAN(function.internal)); @@ -452,6 +502,9 @@ bool ExtractFunctionData(FunctionEntry &entry, idx_t function_idx, DataChunk &ou // example, LogicalType::VARCHAR output.SetValue(col++, output_offset, entry.example.empty() ? Value() : entry.example); + // stability, LogicalType::VARCHAR + output.SetValue(col++, output_offset, OP::ResultType(function, function_idx)); + return function_idx + 1 == OP::FunctionCount(function); } diff --git a/src/function/table/system/duckdb_indexes.cpp b/src/function/table/system/duckdb_indexes.cpp index 920673964101..7cbb6e904544 100644 --- a/src/function/table/system/duckdb_indexes.cpp +++ b/src/function/table/system/duckdb_indexes.cpp @@ -1,13 +1,10 @@ -#include "duckdb/function/table/system_functions.hpp" - #include "duckdb/catalog/catalog.hpp" +#include "duckdb/catalog/catalog_entry/index_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" -#include "duckdb/catalog/catalog_entry/index_catalog_entry.hpp" #include "duckdb/common/exception.hpp" +#include "duckdb/function/table/system_functions.hpp" #include "duckdb/main/client_data.hpp" -#include "duckdb/storage/data_table.hpp" -#include "duckdb/storage/index.hpp" namespace duckdb { @@ -45,6 +42,9 @@ static unique_ptr DuckDBIndexesBind(ClientContext &context, TableF names.emplace_back("table_oid"); return_types.emplace_back(LogicalType::BIGINT); + names.emplace_back("comment"); + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("is_unique"); return_types.emplace_back(LogicalType::BOOLEAN); @@ -63,7 +63,7 @@ static unique_ptr DuckDBIndexesBind(ClientContext &context, TableF unique_ptr DuckDBIndexesInit(ClientContext &context, TableFunctionInitInput &input) { auto result = make_uniq(); - // scan all the schemas for tables and collect them and collect them + // scan all the schemas for tables and collect them auto schemas = Catalog::GetAllSchemas(context); for (auto &schema : schemas) { schema.get().Scan(context, CatalogType::INDEX_ENTRY, @@ -107,15 +107,12 @@ void DuckDBIndexesFunction(ClientContext &context, TableFunctionInput &data_p, D output.SetValue(col++, count, Value(table_entry.name)); // table_oid, BIGINT output.SetValue(col++, count, Value::BIGINT(table_entry.oid)); - if (index.index) { - // is_unique, BOOLEAN - output.SetValue(col++, count, Value::BOOLEAN(index.index->IsUnique())); - // is_primary, BOOLEAN - output.SetValue(col++, count, Value::BOOLEAN(index.index->IsPrimary())); - } else { - output.SetValue(col++, count, Value()); - output.SetValue(col++, count, Value()); - } + // comment, VARCHAR + output.SetValue(col++, count, Value(index.comment)); + // is_unique, BOOLEAN + output.SetValue(col++, count, Value::BOOLEAN(index.IsUnique())); + // is_primary, BOOLEAN + output.SetValue(col++, count, Value::BOOLEAN(index.IsPrimary())); // expressions, VARCHAR output.SetValue(col++, count, Value()); // sql, VARCHAR diff --git a/src/function/table/system/duckdb_memory.cpp b/src/function/table/system/duckdb_memory.cpp new file mode 100644 index 000000000000..9117c91a9a2d --- /dev/null +++ b/src/function/table/system/duckdb_memory.cpp @@ -0,0 +1,63 @@ +#include "duckdb/function/table/system_functions.hpp" +#include "duckdb/storage/buffer_manager.hpp" + +namespace duckdb { + +struct DuckDBMemoryData : public GlobalTableFunctionState { + DuckDBMemoryData() : offset(0) { + } + + vector entries; + idx_t offset; +}; + +static unique_ptr DuckDBMemoryBind(ClientContext &context, TableFunctionBindInput &input, + vector &return_types, vector &names) { + names.emplace_back("tag"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("memory_usage_bytes"); + return_types.emplace_back(LogicalType::BIGINT); + + names.emplace_back("temporary_storage_bytes"); + return_types.emplace_back(LogicalType::BIGINT); + + return nullptr; +} + +unique_ptr DuckDBMemoryInit(ClientContext &context, TableFunctionInitInput &input) { + auto result = make_uniq(); + + result->entries = BufferManager::GetBufferManager(context).GetMemoryUsageInfo(); + return std::move(result); +} + +void DuckDBMemoryFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) { + auto &data = data_p.global_state->Cast(); + if (data.offset >= data.entries.size()) { + // finished returning values + return; + } + // start returning values + // either fill up the chunk or return all the remaining columns + idx_t count = 0; + while (data.offset < data.entries.size() && count < STANDARD_VECTOR_SIZE) { + auto &entry = data.entries[data.offset++]; + // return values: + idx_t col = 0; + // tag, VARCHAR + output.SetValue(col++, count, EnumUtil::ToString(entry.tag)); + // memory_usage_bytes, BIGINT + output.SetValue(col++, count, Value::BIGINT(entry.size)); + // temporary_storage_bytes, BIGINT + output.SetValue(col++, count, Value::BIGINT(entry.evicted_data)); + count++; + } + output.SetCardinality(count); +} + +void DuckDBMemoryFun::RegisterFunction(BuiltinFunctions &set) { + set.AddFunction(TableFunction("duckdb_memory", {}, DuckDBMemoryFunction, DuckDBMemoryBind, DuckDBMemoryInit)); +} + +} // namespace duckdb diff --git a/src/function/table/system/duckdb_optimizers.cpp b/src/function/table/system/duckdb_optimizers.cpp new file mode 100644 index 000000000000..ac531678a3c4 --- /dev/null +++ b/src/function/table/system/duckdb_optimizers.cpp @@ -0,0 +1,57 @@ +#include "duckdb/function/table/system_functions.hpp" + +#include "duckdb/main/config.hpp" +#include "duckdb/main/client_context.hpp" +#include "duckdb/common/enum_util.hpp" +#include "duckdb/common/enums/optimizer_type.hpp" + +namespace duckdb { + +struct DuckDBOptimizersData : public GlobalTableFunctionState { + DuckDBOptimizersData() : offset(0) { + } + + vector optimizers; + idx_t offset; +}; + +static unique_ptr DuckDBOptimizersBind(ClientContext &context, TableFunctionBindInput &input, + vector &return_types, vector &names) { + names.emplace_back("name"); + return_types.emplace_back(LogicalType::VARCHAR); + + return nullptr; +} + +unique_ptr DuckDBOptimizersInit(ClientContext &context, TableFunctionInitInput &input) { + auto result = make_uniq(); + result->optimizers = ListAllOptimizers(); + return std::move(result); +} + +void DuckDBOptimizersFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) { + auto &data = data_p.global_state->Cast(); + if (data.offset >= data.optimizers.size()) { + // finished returning values + return; + } + // start returning values + // either fill up the chunk or return all the remaining columns + idx_t count = 0; + while (data.offset < data.optimizers.size() && count < STANDARD_VECTOR_SIZE) { + auto &entry = data.optimizers[data.offset++]; + + // return values: + // name, LogicalType::VARCHAR + output.SetValue(0, count, Value(entry)); + count++; + } + output.SetCardinality(count); +} + +void DuckDBOptimizersFun::RegisterFunction(BuiltinFunctions &set) { + set.AddFunction( + TableFunction("duckdb_optimizers", {}, DuckDBOptimizersFunction, DuckDBOptimizersBind, DuckDBOptimizersInit)); +} + +} // namespace duckdb diff --git a/src/function/table/system/duckdb_schemas.cpp b/src/function/table/system/duckdb_schemas.cpp index f0c4e6e4cf12..65d4a48ca1d4 100644 --- a/src/function/table/system/duckdb_schemas.cpp +++ b/src/function/table/system/duckdb_schemas.cpp @@ -30,6 +30,9 @@ static unique_ptr DuckDBSchemasBind(ClientContext &context, TableF names.emplace_back("schema_name"); return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("comment"); + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("internal"); return_types.emplace_back(LogicalType::BOOLEAN); @@ -70,6 +73,8 @@ void DuckDBSchemasFunction(ClientContext &context, TableFunctionInput &data_p, D output.SetValue(col++, count, Value::BIGINT(entry.catalog.GetOid())); // "schema_name", PhysicalType::VARCHAR output.SetValue(col++, count, Value(entry.name)); + // "comment", PhysicalType::VARCHAR + output.SetValue(col++, count, Value(entry.comment)); // "internal", PhysicalType::BOOLEAN output.SetValue(col++, count, Value::BOOLEAN(entry.internal)); // "sql", PhysicalType::VARCHAR diff --git a/src/function/table/system/duckdb_secrets.cpp b/src/function/table/system/duckdb_secrets.cpp new file mode 100644 index 000000000000..e97a5d11e6af --- /dev/null +++ b/src/function/table/system/duckdb_secrets.cpp @@ -0,0 +1,128 @@ +#include "duckdb/function/table/system_functions.hpp" + +#include "duckdb/common/file_system.hpp" +#include "duckdb/common/map.hpp" +#include "duckdb/common/string_util.hpp" +#include "duckdb/function/function_set.hpp" +#include "duckdb/main/client_context.hpp" +#include "duckdb/main/database.hpp" +#include "duckdb/main/extension_helper.hpp" +#include "duckdb/main/secret/secret_manager.hpp" + +namespace duckdb { + +struct DuckDBSecretsData : public GlobalTableFunctionState { + DuckDBSecretsData() : offset(0) { + } + idx_t offset; +}; + +struct DuckDBSecretsBindData : public FunctionData { +public: + unique_ptr Copy() const override { + return make_uniq(); + }; + + bool Equals(const FunctionData &other_p) const override { + auto &other = other_p.Cast(); + return redact == other.redact; + } + SecretDisplayType redact = SecretDisplayType::REDACTED; +}; + +static unique_ptr DuckDBSecretsBind(ClientContext &context, TableFunctionBindInput &input, + vector &return_types, vector &names) { + auto result = make_uniq(); + + auto entry = input.named_parameters.find("redact"); + if (entry != input.named_parameters.end()) { + if (BooleanValue::Get(entry->second)) { + result->redact = SecretDisplayType::REDACTED; + } else { + result->redact = SecretDisplayType::UNREDACTED; + } + } + + if (!DBConfig::GetConfig(context).options.allow_unredacted_secrets && + result->redact == SecretDisplayType::UNREDACTED) { + throw InvalidInputException("Displaying unredacted secrets is disabled"); + } + + names.emplace_back("name"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("type"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("provider"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("persistent"); + return_types.emplace_back(LogicalType::BOOLEAN); + + names.emplace_back("storage"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("scope"); + return_types.emplace_back(LogicalType::LIST(LogicalType::VARCHAR)); + + names.emplace_back("secret_string"); + return_types.emplace_back(LogicalType::VARCHAR); + + return std::move(result); +} + +unique_ptr DuckDBSecretsInit(ClientContext &context, TableFunctionInitInput &input) { + auto result = make_uniq(); + return std::move(result); +} + +void DuckDBSecretsFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) { + auto &data = data_p.global_state->Cast(); + auto &bind_data = data_p.bind_data->Cast(); + + auto &secret_manager = SecretManager::Get(context); + + auto transaction = CatalogTransaction::GetSystemCatalogTransaction(context); + auto secrets = secret_manager.AllSecrets(transaction); + + if (data.offset >= secrets.size()) { + // finished returning values + return; + } + // start returning values + // either fill up the chunk or return all the remaining columns + idx_t count = 0; + while (data.offset < secrets.size() && count < STANDARD_VECTOR_SIZE) { + auto &secret_entry = secrets[data.offset]; + + vector scope_value; + for (const auto &scope_entry : secret_entry.secret->GetScope()) { + scope_value.push_back(scope_entry); + } + + const auto &secret = *secret_entry.secret; + + output.SetValue(0, count, secret.GetName()); + output.SetValue(1, count, Value(secret.GetType())); + output.SetValue(2, count, Value(secret.GetProvider())); + output.SetValue(3, count, Value(secret_entry.persist_type == SecretPersistType::PERSISTENT)); + output.SetValue(4, count, Value(secret_entry.storage_mode)); + output.SetValue(5, count, Value::LIST(LogicalType::VARCHAR, scope_value)); + output.SetValue(6, count, secret.ToString(bind_data.redact)); + + data.offset++; + count++; + } + output.SetCardinality(count); +} + +void DuckDBSecretsFun::RegisterFunction(BuiltinFunctions &set) { + TableFunctionSet functions("duckdb_secrets"); + auto fun = TableFunction({}, DuckDBSecretsFunction, DuckDBSecretsBind, DuckDBSecretsInit); + fun.named_parameters["redact"] = LogicalType::BOOLEAN; + functions.AddFunction(fun); + set.AddFunction(functions); +} + +} // namespace duckdb diff --git a/src/function/table/system/duckdb_sequences.cpp b/src/function/table/system/duckdb_sequences.cpp index 985b80944a5b..b4b274a83870 100644 --- a/src/function/table/system/duckdb_sequences.cpp +++ b/src/function/table/system/duckdb_sequences.cpp @@ -37,6 +37,9 @@ static unique_ptr DuckDBSequencesBind(ClientContext &context, Tabl names.emplace_back("sequence_oid"); return_types.emplace_back(LogicalType::BIGINT); + names.emplace_back("comment"); + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("temporary"); return_types.emplace_back(LogicalType::BOOLEAN); @@ -87,6 +90,7 @@ void DuckDBSequencesFunction(ClientContext &context, TableFunctionInput &data_p, idx_t count = 0; while (data.offset < data.entries.size() && count < STANDARD_VECTOR_SIZE) { auto &seq = data.entries[data.offset++].get(); + auto seq_data = seq.GetData(); // return values: idx_t col = 0; @@ -102,20 +106,22 @@ void DuckDBSequencesFunction(ClientContext &context, TableFunctionInput &data_p, output.SetValue(col++, count, Value(seq.name)); // sequence_oid, BIGINT output.SetValue(col++, count, Value::BIGINT(seq.oid)); + // comment, VARCHAR + output.SetValue(col++, count, Value(seq.comment)); // temporary, BOOLEAN output.SetValue(col++, count, Value::BOOLEAN(seq.temporary)); // start_value, BIGINT - output.SetValue(col++, count, Value::BIGINT(seq.start_value)); + output.SetValue(col++, count, Value::BIGINT(seq_data.start_value)); // min_value, BIGINT - output.SetValue(col++, count, Value::BIGINT(seq.min_value)); + output.SetValue(col++, count, Value::BIGINT(seq_data.min_value)); // max_value, BIGINT - output.SetValue(col++, count, Value::BIGINT(seq.max_value)); + output.SetValue(col++, count, Value::BIGINT(seq_data.max_value)); // increment_by, BIGINT - output.SetValue(col++, count, Value::BIGINT(seq.increment)); + output.SetValue(col++, count, Value::BIGINT(seq_data.increment)); // cycle, BOOLEAN - output.SetValue(col++, count, Value::BOOLEAN(seq.cycle)); + output.SetValue(col++, count, Value::BOOLEAN(seq_data.cycle)); // last_value, BIGINT - output.SetValue(col++, count, seq.usage_count == 0 ? Value() : Value::BOOLEAN(seq.last_value)); + output.SetValue(col++, count, seq_data.usage_count == 0 ? Value() : Value::BOOLEAN(seq_data.last_value)); // sql, LogicalType::VARCHAR output.SetValue(col++, count, Value(seq.ToSQL())); diff --git a/src/function/table/system/duckdb_settings.cpp b/src/function/table/system/duckdb_settings.cpp index c0fa8bbf3a7e..6376ecb46aa5 100644 --- a/src/function/table/system/duckdb_settings.cpp +++ b/src/function/table/system/duckdb_settings.cpp @@ -1,5 +1,4 @@ #include "duckdb/function/table/system_functions.hpp" -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/main/config.hpp" #include "duckdb/main/client_context.hpp" #include "duckdb/common/enum_util.hpp" diff --git a/src/function/table/system/duckdb_tables.cpp b/src/function/table/system/duckdb_tables.cpp index f73ade557818..256badef56ad 100644 --- a/src/function/table/system/duckdb_tables.cpp +++ b/src/function/table/system/duckdb_tables.cpp @@ -41,6 +41,9 @@ static unique_ptr DuckDBTablesBind(ClientContext &context, TableFu names.emplace_back("table_oid"); return_types.emplace_back(LogicalType::BIGINT); + names.emplace_back("comment"); + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("internal"); return_types.emplace_back(LogicalType::BOOLEAN); @@ -133,6 +136,8 @@ void DuckDBTablesFunction(ClientContext &context, TableFunctionInput &data_p, Da output.SetValue(col++, count, Value(table.name)); // table_oid, LogicalType::BIGINT output.SetValue(col++, count, Value::BIGINT(table.oid)); + // comment, LogicalType::VARCHAR + output.SetValue(col++, count, Value(table.comment)); // internal, LogicalType::BOOLEAN output.SetValue(col++, count, Value::BOOLEAN(table.internal)); // temporary, LogicalType::BOOLEAN diff --git a/src/function/table/system/duckdb_types.cpp b/src/function/table/system/duckdb_types.cpp index 7647bcbda8ea..2a7fc1fd1d61 100644 --- a/src/function/table/system/duckdb_types.cpp +++ b/src/function/table/system/duckdb_types.cpp @@ -49,6 +49,9 @@ static unique_ptr DuckDBTypesBind(ClientContext &context, TableFun names.emplace_back("type_category"); return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("comment"); + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("internal"); return_types.emplace_back(LogicalType::BOOLEAN); @@ -129,6 +132,7 @@ void DuckDBTypesFunction(ClientContext &context, TableFunctionInput &data_p, Dat case LogicalTypeId::UINTEGER: case LogicalTypeId::UBIGINT: case LogicalTypeId::HUGEINT: + case LogicalTypeId::UHUGEINT: category = "NUMERIC"; break; case LogicalTypeId::DATE: @@ -159,6 +163,8 @@ void DuckDBTypesFunction(ClientContext &context, TableFunctionInput &data_p, Dat break; } output.SetValue(col++, count, category.empty() ? Value() : Value(category)); + // comment, VARCHAR + output.SetValue(col++, count, Value(type_entry.comment)); // internal, BOOLEAN output.SetValue(col++, count, Value::BOOLEAN(type_entry.internal)); // labels, VARCHAR[] diff --git a/src/function/table/system/duckdb_views.cpp b/src/function/table/system/duckdb_views.cpp index 6375db25b89d..bd17a7ef6a50 100644 --- a/src/function/table/system/duckdb_views.cpp +++ b/src/function/table/system/duckdb_views.cpp @@ -37,6 +37,9 @@ static unique_ptr DuckDBViewsBind(ClientContext &context, TableFun names.emplace_back("view_oid"); return_types.emplace_back(LogicalType::BIGINT); + names.emplace_back("comment"); + return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("internal"); return_types.emplace_back(LogicalType::BOOLEAN); @@ -95,6 +98,8 @@ void DuckDBViewsFunction(ClientContext &context, TableFunctionInput &data_p, Dat output.SetValue(col++, count, Value(view.name)); // view_oid, LogicalType::BIGINT output.SetValue(col++, count, Value::BIGINT(view.oid)); + // comment, LogicalType::VARCHARs + output.SetValue(col++, count, Value(view.comment)); // internal, LogicalType::BOOLEAN output.SetValue(col++, count, Value::BOOLEAN(view.internal)); // temporary, LogicalType::BOOLEAN diff --git a/src/function/table/system/pragma_table_info.cpp b/src/function/table/system/pragma_table_info.cpp index 38c36098f811..64ff4694fd71 100644 --- a/src/function/table/system/pragma_table_info.cpp +++ b/src/function/table/system/pragma_table_info.cpp @@ -17,10 +17,12 @@ namespace duckdb { struct PragmaTableFunctionData : public TableFunctionData { - explicit PragmaTableFunctionData(CatalogEntry &entry_p) : entry(entry_p) { + explicit PragmaTableFunctionData(CatalogEntry &entry_p, bool is_table_info) + : entry(entry_p), is_table_info(is_table_info) { } CatalogEntry &entry; + bool is_table_info; }; struct PragmaTableOperatorData : public GlobalTableFunctionState { @@ -29,63 +31,176 @@ struct PragmaTableOperatorData : public GlobalTableFunctionState { idx_t offset; }; -static unique_ptr PragmaTableInfoBind(ClientContext &context, TableFunctionBindInput &input, - vector &return_types, vector &names) { +struct ColumnConstraintInfo { + bool not_null = false; + bool pk = false; + bool unique = false; +}; + +static Value DefaultValue(const ColumnDefinition &def) { + if (def.Generated()) { + return Value(def.GeneratedExpression().ToString()); + } + if (!def.HasDefaultValue()) { + return Value(); + } + auto &value = def.DefaultValue(); + return Value(value.ToString()); +} + +struct PragmaTableInfoHelper { + static void GetSchema(vector &return_types, vector &names) { + names.emplace_back("cid"); + return_types.emplace_back(LogicalType::INTEGER); + + names.emplace_back("name"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("type"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("notnull"); + return_types.emplace_back(LogicalType::BOOLEAN); + + names.emplace_back("dflt_value"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("pk"); + return_types.emplace_back(LogicalType::BOOLEAN); + } + + static void GetTableColumns(const ColumnDefinition &column, ColumnConstraintInfo constraint_info, DataChunk &output, + idx_t index) { + // return values: + // "cid", PhysicalType::INT32 + output.SetValue(0, index, Value::INTEGER((int32_t)column.Oid())); + // "name", PhysicalType::VARCHAR + output.SetValue(1, index, Value(column.Name())); + // "type", PhysicalType::VARCHAR + output.SetValue(2, index, Value(column.Type().ToString())); + // "notnull", PhysicalType::BOOL + output.SetValue(3, index, Value::BOOLEAN(constraint_info.not_null)); + // "dflt_value", PhysicalType::VARCHAR + output.SetValue(4, index, DefaultValue(column)); + // "pk", PhysicalType::BOOL + output.SetValue(5, index, Value::BOOLEAN(constraint_info.pk)); + } + + static void GetViewColumns(idx_t i, const string &name, const LogicalType &type, DataChunk &output, idx_t index) { + // return values: + // "cid", PhysicalType::INT32 + output.SetValue(0, index, Value::INTEGER((int32_t)i)); + // "name", PhysicalType::VARCHAR + output.SetValue(1, index, Value(name)); + // "type", PhysicalType::VARCHAR + output.SetValue(2, index, Value(type.ToString())); + // "notnull", PhysicalType::BOOL + output.SetValue(3, index, Value::BOOLEAN(false)); + // "dflt_value", PhysicalType::VARCHAR + output.SetValue(4, index, Value()); + // "pk", PhysicalType::BOOL + output.SetValue(5, index, Value::BOOLEAN(false)); + } +}; + +struct PragmaShowHelper { + static void GetSchema(vector &return_types, vector &names) { + names.emplace_back("column_name"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("column_type"); + return_types.emplace_back(LogicalType::VARCHAR); + + names.emplace_back("null"); + return_types.emplace_back(LogicalType::VARCHAR); - names.emplace_back("cid"); - return_types.emplace_back(LogicalType::INTEGER); + names.emplace_back("key"); + return_types.emplace_back(LogicalType::VARCHAR); - names.emplace_back("name"); - return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("default"); + return_types.emplace_back(LogicalType::VARCHAR); - names.emplace_back("type"); - return_types.emplace_back(LogicalType::VARCHAR); + names.emplace_back("extra"); + return_types.emplace_back(LogicalType::VARCHAR); + } - names.emplace_back("notnull"); - return_types.emplace_back(LogicalType::BOOLEAN); + static void GetTableColumns(const ColumnDefinition &column, ColumnConstraintInfo constraint_info, DataChunk &output, + idx_t index) { + // "column_name", PhysicalType::VARCHAR + output.SetValue(0, index, Value(column.Name())); + // "column_type", PhysicalType::VARCHAR + output.SetValue(1, index, Value(column.Type().ToString())); + // "null", PhysicalType::VARCHAR + output.SetValue(2, index, Value(constraint_info.not_null ? "NO" : "YES")); + // "key", PhysicalType::VARCHAR + Value key; + if (constraint_info.pk || constraint_info.unique) { + key = Value(constraint_info.pk ? "PRI" : "UNI"); + } + output.SetValue(3, index, key); + // "default", VARCHAR + output.SetValue(4, index, DefaultValue(column)); + // "extra", VARCHAR + output.SetValue(5, index, Value()); + } - names.emplace_back("dflt_value"); - return_types.emplace_back(LogicalType::VARCHAR); + static void GetViewColumns(idx_t i, const string &name, const LogicalType &type, DataChunk &output, idx_t index) { + // "column_name", PhysicalType::VARCHAR + output.SetValue(0, index, Value(name)); + // "column_type", PhysicalType::VARCHAR + output.SetValue(1, index, Value(type.ToString())); + // "null", PhysicalType::VARCHAR + output.SetValue(2, index, Value("YES")); + // "key", PhysicalType::VARCHAR + output.SetValue(3, index, Value()); + // "default", VARCHAR + output.SetValue(4, index, Value()); + // "extra", VARCHAR + output.SetValue(5, index, Value()); + } +}; - names.emplace_back("pk"); - return_types.emplace_back(LogicalType::BOOLEAN); +template +static unique_ptr PragmaTableInfoBind(ClientContext &context, TableFunctionBindInput &input, + vector &return_types, vector &names) { + if (IS_PRAGMA_TABLE_INFO) { + PragmaTableInfoHelper::GetSchema(return_types, names); + } else { + PragmaShowHelper::GetSchema(return_types, names); + } auto qname = QualifiedName::Parse(input.inputs[0].GetValue()); // look up the table name in the catalog Binder::BindSchemaOrCatalog(context, qname.catalog, qname.schema); auto &entry = Catalog::GetEntry(context, CatalogType::TABLE_ENTRY, qname.catalog, qname.schema, qname.name); - return make_uniq(entry); + return make_uniq(entry, IS_PRAGMA_TABLE_INFO); } unique_ptr PragmaTableInfoInit(ClientContext &context, TableFunctionInitInput &input) { return make_uniq(); } -static void CheckConstraints(TableCatalogEntry &table, const ColumnDefinition &column, bool &out_not_null, - bool &out_pk) { - out_not_null = false; - out_pk = false; +static ColumnConstraintInfo CheckConstraints(TableCatalogEntry &table, const ColumnDefinition &column) { + ColumnConstraintInfo result; // check all constraints - // FIXME: this is pretty inefficient, it probably doesn't matter for (auto &constraint : table.GetConstraints()) { switch (constraint->type) { case ConstraintType::NOT_NULL: { auto ¬_null = constraint->Cast(); if (not_null.index == column.Logical()) { - out_not_null = true; + result.not_null = true; } break; } case ConstraintType::UNIQUE: { auto &unique = constraint->Cast(); - if (unique.is_primary_key) { - if (unique.index == column.Logical()) { - out_pk = true; - } - if (std::find(unique.columns.begin(), unique.columns.end(), column.GetName()) != unique.columns.end()) { - out_pk = true; - } + bool &constraint_info = unique.is_primary_key ? result.pk : result.unique; + if (unique.index == column.Logical()) { + constraint_info = true; + } + if (std::find(unique.columns.begin(), unique.columns.end(), column.GetName()) != unique.columns.end()) { + constraint_info = true; } break; } @@ -93,9 +208,11 @@ static void CheckConstraints(TableCatalogEntry &table, const ColumnDefinition &c break; } } + return result; } -static void PragmaTableInfoTable(PragmaTableOperatorData &data, TableCatalogEntry &table, DataChunk &output) { +static void PragmaTableInfoTable(PragmaTableOperatorData &data, TableCatalogEntry &table, DataChunk &output, + bool is_table_info) { if (data.offset >= table.GetColumns().LogicalColumnCount()) { // finished returning values return; @@ -106,31 +223,22 @@ static void PragmaTableInfoTable(PragmaTableOperatorData &data, TableCatalogEntr output.SetCardinality(next - data.offset); for (idx_t i = data.offset; i < next; i++) { - bool not_null, pk; auto index = i - data.offset; auto &column = table.GetColumn(LogicalIndex(i)); D_ASSERT(column.Oid() < (idx_t)NumericLimits::Maximum()); - CheckConstraints(table, column, not_null, pk); + auto constraint_info = CheckConstraints(table, column); - // return values: - // "cid", PhysicalType::INT32 - output.SetValue(0, index, Value::INTEGER((int32_t)column.Oid())); - // "name", PhysicalType::VARCHAR - output.SetValue(1, index, Value(column.Name())); - // "type", PhysicalType::VARCHAR - output.SetValue(2, index, Value(column.Type().ToString())); - // "notnull", PhysicalType::BOOL - output.SetValue(3, index, Value::BOOLEAN(not_null)); - // "dflt_value", PhysicalType::VARCHAR - Value def_value = column.DefaultValue() ? Value(column.DefaultValue()->ToString()) : Value(); - output.SetValue(4, index, def_value); - // "pk", PhysicalType::BOOL - output.SetValue(5, index, Value::BOOLEAN(pk)); + if (is_table_info) { + PragmaTableInfoHelper::GetTableColumns(column, constraint_info, output, index); + } else { + PragmaShowHelper::GetTableColumns(column, constraint_info, output, index); + } } data.offset = next; } -static void PragmaTableInfoView(PragmaTableOperatorData &data, ViewCatalogEntry &view, DataChunk &output) { +static void PragmaTableInfoView(PragmaTableOperatorData &data, ViewCatalogEntry &view, DataChunk &output, + bool is_table_info) { if (data.offset >= view.types.size()) { // finished returning values return; @@ -143,21 +251,13 @@ static void PragmaTableInfoView(PragmaTableOperatorData &data, ViewCatalogEntry for (idx_t i = data.offset; i < next; i++) { auto index = i - data.offset; auto type = view.types[i]; - auto &name = view.aliases[i]; - // return values: - // "cid", PhysicalType::INT32 + auto &name = i < view.aliases.size() ? view.aliases[i] : view.names[i]; - output.SetValue(0, index, Value::INTEGER((int32_t)i)); - // "name", PhysicalType::VARCHAR - output.SetValue(1, index, Value(name)); - // "type", PhysicalType::VARCHAR - output.SetValue(2, index, Value(type.ToString())); - // "notnull", PhysicalType::BOOL - output.SetValue(3, index, Value::BOOLEAN(false)); - // "dflt_value", PhysicalType::VARCHAR - output.SetValue(4, index, Value()); - // "pk", PhysicalType::BOOL - output.SetValue(5, index, Value::BOOLEAN(false)); + if (is_table_info) { + PragmaTableInfoHelper::GetViewColumns(i, name, type, output, index); + } else { + PragmaShowHelper::GetViewColumns(i, name, type, output, index); + } } data.offset = next; } @@ -167,10 +267,10 @@ static void PragmaTableInfoFunction(ClientContext &context, TableFunctionInput & auto &state = data_p.global_state->Cast(); switch (bind_data.entry.type) { case CatalogType::TABLE_ENTRY: - PragmaTableInfoTable(state, bind_data.entry.Cast(), output); + PragmaTableInfoTable(state, bind_data.entry.Cast(), output, bind_data.is_table_info); break; case CatalogType::VIEW_ENTRY: - PragmaTableInfoView(state, bind_data.entry.Cast(), output); + PragmaTableInfoView(state, bind_data.entry.Cast(), output, bind_data.is_table_info); break; default: throw NotImplementedException("Unimplemented catalog type for pragma_table_info"); @@ -179,7 +279,9 @@ static void PragmaTableInfoFunction(ClientContext &context, TableFunctionInput & void PragmaTableInfo::RegisterFunction(BuiltinFunctions &set) { set.AddFunction(TableFunction("pragma_table_info", {LogicalType::VARCHAR}, PragmaTableInfoFunction, - PragmaTableInfoBind, PragmaTableInfoInit)); + PragmaTableInfoBind, PragmaTableInfoInit)); + set.AddFunction(TableFunction("pragma_show", {LogicalType::VARCHAR}, PragmaTableInfoFunction, + PragmaTableInfoBind, PragmaTableInfoInit)); } } // namespace duckdb diff --git a/src/function/table/system/test_all_types.cpp b/src/function/table/system/test_all_types.cpp index a0b856266c1b..53e41672a1c6 100644 --- a/src/function/table/system/test_all_types.cpp +++ b/src/function/table/system/test_all_types.cpp @@ -26,6 +26,7 @@ vector TestAllTypesFun::GetTestTypes(bool use_large_enum) { result.emplace_back(LogicalType::INTEGER, "int"); result.emplace_back(LogicalType::BIGINT, "bigint"); result.emplace_back(LogicalType::HUGEINT, "hugeint"); + result.emplace_back(LogicalType::UHUGEINT, "uhugeint"); result.emplace_back(LogicalType::UTINYINT, "utinyint"); result.emplace_back(LogicalType::USMALLINT, "usmallint"); result.emplace_back(LogicalType::UINTEGER, "uint"); @@ -195,7 +196,7 @@ vector TestAllTypesFun::GetTestTypes(bool use_large_enum) { map_struct1.push_back(make_pair("value", Value("🦆🦆🦆🦆🦆🦆"))); child_list_t map_struct2; map_struct2.push_back(make_pair("key", Value("key2"))); - map_struct2.push_back(make_pair("key", Value("goose"))); + map_struct2.push_back(make_pair("value", Value("goose"))); vector map_values; map_values.push_back(Value::STRUCT(map_struct1)); diff --git a/src/function/table/system_functions.cpp b/src/function/table/system_functions.cpp index bf46bee93abe..a9c191543083 100644 --- a/src/function/table/system_functions.cpp +++ b/src/function/table/system_functions.cpp @@ -16,8 +16,6 @@ void BuiltinFunctions::RegisterSQLiteFunctions() { PragmaStorageInfo::RegisterFunction(*this); PragmaMetadataInfo::RegisterFunction(*this); PragmaDatabaseSize::RegisterFunction(*this); - PragmaLastProfilingOutput::RegisterFunction(*this); - PragmaDetailedProfilingOutput::RegisterFunction(*this); PragmaUserAgent::RegisterFunction(*this); DuckDBColumnsFun::RegisterFunction(*this); @@ -29,6 +27,9 @@ void BuiltinFunctions::RegisterSQLiteFunctions() { DuckDBSchemasFun::RegisterFunction(*this); DuckDBDependenciesFun::RegisterFunction(*this); DuckDBExtensionsFun::RegisterFunction(*this); + DuckDBMemoryFun::RegisterFunction(*this); + DuckDBOptimizersFun::RegisterFunction(*this); + DuckDBSecretsFun::RegisterFunction(*this); DuckDBSequencesFun::RegisterFunction(*this); DuckDBSettingsFun::RegisterFunction(*this); DuckDBTablesFun::RegisterFunction(*this); diff --git a/src/function/table/table_scan.cpp b/src/function/table/table_scan.cpp index 302b947289b1..17bf55f762f8 100644 --- a/src/function/table/table_scan.cpp +++ b/src/function/table/table_scan.cpp @@ -1,21 +1,23 @@ #include "duckdb/function/table/table_scan.hpp" #include "duckdb/catalog/catalog_entry/duck_table_entry.hpp" +#include "duckdb/catalog/dependency_list.hpp" #include "duckdb/common/mutex.hpp" +#include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/common/serializer/serializer.hpp" +#include "duckdb/execution/index/art/art.hpp" +#include "duckdb/function/function_set.hpp" +#include "duckdb/main/attached_database.hpp" #include "duckdb/main/client_config.hpp" #include "duckdb/optimizer/matcher/expression_matcher.hpp" #include "duckdb/planner/expression/bound_between_expression.hpp" #include "duckdb/planner/expression_iterator.hpp" #include "duckdb/planner/operator/logical_get.hpp" #include "duckdb/storage/data_table.hpp" -#include "duckdb/transaction/local_storage.hpp" -#include "duckdb/transaction/duck_transaction.hpp" -#include "duckdb/main/attached_database.hpp" -#include "duckdb/catalog/dependency_list.hpp" -#include "duckdb/function/function_set.hpp" #include "duckdb/storage/table/scan_state.hpp" -#include "duckdb/common/serializer/serializer.hpp" -#include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/transaction/duck_transaction.hpp" +#include "duckdb/transaction/local_storage.hpp" +#include "duckdb/main/client_data.hpp" namespace duckdb { @@ -77,6 +79,9 @@ static unique_ptr TableScanInitLocal(ExecutionContext & auto &tsgs = gstate->Cast(); result->all_columns.Initialize(context.client, tsgs.scanned_types); } + + result->scan_state.options.force_fetch_row = ClientConfig::GetConfig(context.client).force_fetch_row; + return std::move(result); } @@ -117,6 +122,8 @@ static void TableScanFunc(ClientContext &context, TableFunctionInput &data_p, Da auto &state = data_p.local_state->Cast(); auto &transaction = DuckTransaction::Get(context, bind_data.table.catalog); auto &storage = bind_data.table.GetStorage(); + + state.scan_state.options.force_fetch_row = ClientConfig::GetConfig(context).force_fetch_row; do { if (bind_data.is_create_index) { storage.CreateIndexScan(state.scan_state, output, @@ -181,8 +188,9 @@ idx_t TableScanGetBatchIndex(ClientContext &context, const FunctionData *bind_da return 0; } -BindInfo TableScanGetBindInfo(const FunctionData *bind_data) { - return BindInfo(ScanType::TABLE); +BindInfo TableScanGetBindInfo(const optional_ptr bind_data_p) { + auto &bind_data = bind_data_p->Cast(); + return BindInfo(bind_data.table); } void TableScanDependency(DependencyList &entries, const FunctionData *bind_data_p) { @@ -221,6 +229,8 @@ static unique_ptr IndexScanInitGlobal(ClientContext &c auto result = make_uniq(row_id_data); auto &local_storage = LocalStorage::Get(context, bind_data.table.catalog); + result->local_storage_state.options.force_fetch_row = ClientConfig::GetConfig(context).force_fetch_row; + result->column_ids.reserve(input.column_ids.size()); for (auto &id : input.column_ids) { result->column_ids.push_back(GetStorageIndex(bind_data.table, id)); @@ -295,117 +305,55 @@ void TableScanPushdownComplexFilter(ClientContext &context, LogicalGet &get, Fun // no indexes or no filters: skip the pushdown return; } + + // Lazily initialize any unknown indexes that might have been loaded by an extension + storage.info->InitializeIndexes(context); + // behold storage.info->indexes.Scan([&](Index &index) { // first rewrite the index expression so the ColumnBindings align with the column bindings of the current table - if (index.unbound_expressions.size() > 1) { + if (index.IsUnknown()) { + // unknown index: skip + return false; + } + + if (index.index_type != ART::TYPE_NAME) { + // only ART indexes are supported for now + return false; + } + + auto &art_index = index.Cast(); + + if (art_index.unbound_expressions.size() > 1) { // NOTE: index scans are not (yet) supported for compound index keys return false; } - auto index_expression = index.unbound_expressions[0]->Copy(); + auto index_expression = art_index.unbound_expressions[0]->Copy(); bool rewrite_possible = true; - RewriteIndexExpression(index, get, *index_expression, rewrite_possible); + RewriteIndexExpression(art_index, get, *index_expression, rewrite_possible); if (!rewrite_possible) { // could not rewrite! return false; } - Value low_value, high_value, equal_value; - ExpressionType low_comparison_type = ExpressionType::INVALID, high_comparison_type = ExpressionType::INVALID; // try to find a matching index for any of the filter expressions + auto &transaction = Transaction::Get(context, bind_data.table.catalog); + for (auto &filter : filters) { - auto &expr = *filter; - - // create a matcher for a comparison with a constant - ComparisonExpressionMatcher matcher; - // match on a comparison type - matcher.expr_type = make_uniq(); - // match on a constant comparison with the indexed expression - matcher.matchers.push_back(make_uniq(*index_expression)); - matcher.matchers.push_back(make_uniq()); - - matcher.policy = SetMatcher::Policy::UNORDERED; - - vector> bindings; - if (matcher.Match(expr, bindings)) { - // range or equality comparison with constant value - // we can use our index here - // bindings[0] = the expression - // bindings[1] = the index expression - // bindings[2] = the constant - auto &comparison = bindings[0].get().Cast(); - auto constant_value = bindings[2].get().Cast().value; - auto comparison_type = comparison.type; - if (comparison.left->type == ExpressionType::VALUE_CONSTANT) { - // the expression is on the right side, we flip them around - comparison_type = FlipComparisonExpression(comparison_type); - } - if (comparison_type == ExpressionType::COMPARE_EQUAL) { - // equality value - // equality overrides any other bounds so we just break here - equal_value = constant_value; - break; - } else if (comparison_type == ExpressionType::COMPARE_GREATERTHANOREQUALTO || - comparison_type == ExpressionType::COMPARE_GREATERTHAN) { - // greater than means this is a lower bound - low_value = constant_value; - low_comparison_type = comparison_type; + auto index_state = art_index.TryInitializeScan(transaction, *index_expression, *filter); + if (index_state != nullptr) { + if (art_index.Scan(transaction, storage, *index_state, STANDARD_VECTOR_SIZE, bind_data.result_ids)) { + // use an index scan! + bind_data.is_index_scan = true; + get.function = TableScanFunction::GetIndexScanFunction(); } else { - // smaller than means this is an upper bound - high_value = constant_value; - high_comparison_type = comparison_type; - } - } else if (expr.type == ExpressionType::COMPARE_BETWEEN) { - // BETWEEN expression - auto &between = expr.Cast(); - if (!between.input->Equals(*index_expression)) { - // expression doesn't match the current index expression - continue; - } - if (between.lower->type != ExpressionType::VALUE_CONSTANT || - between.upper->type != ExpressionType::VALUE_CONSTANT) { - // not a constant comparison - continue; + bind_data.result_ids.clear(); } - low_value = (between.lower->Cast()).value; - low_comparison_type = between.lower_inclusive ? ExpressionType::COMPARE_GREATERTHANOREQUALTO - : ExpressionType::COMPARE_GREATERTHAN; - high_value = (between.upper->Cast()).value; - high_comparison_type = between.upper_inclusive ? ExpressionType::COMPARE_LESSTHANOREQUALTO - : ExpressionType::COMPARE_LESSTHAN; - break; + return true; } } - if (!equal_value.IsNull() || !low_value.IsNull() || !high_value.IsNull()) { - // we can scan this index using this predicate: try a scan - auto &transaction = Transaction::Get(context, bind_data.table.catalog); - unique_ptr index_state; - if (!equal_value.IsNull()) { - // equality predicate - index_state = - index.InitializeScanSinglePredicate(transaction, equal_value, ExpressionType::COMPARE_EQUAL); - } else if (!low_value.IsNull() && !high_value.IsNull()) { - // two-sided predicate - index_state = index.InitializeScanTwoPredicates(transaction, low_value, low_comparison_type, high_value, - high_comparison_type); - } else if (!low_value.IsNull()) { - // less than predicate - index_state = index.InitializeScanSinglePredicate(transaction, low_value, low_comparison_type); - } else { - D_ASSERT(!high_value.IsNull()); - index_state = index.InitializeScanSinglePredicate(transaction, high_value, high_comparison_type); - } - if (index.Scan(transaction, storage, *index_state, STANDARD_VECTOR_SIZE, bind_data.result_ids)) { - // use an index scan! - bind_data.is_index_scan = true; - get.function = TableScanFunction::GetIndexScanFunction(); - } else { - bind_data.result_ids.clear(); - } - return true; - } return false; }); } @@ -456,6 +404,7 @@ TableFunction TableScanFunction::GetIndexScanFunction() { scan_function.get_batch_index = nullptr; scan_function.projection_pushdown = true; scan_function.filter_pushdown = false; + scan_function.get_bind_info = TableScanGetBindInfo; scan_function.serialize = TableScanSerialize; scan_function.deserialize = TableScanDeserialize; return scan_function; @@ -472,7 +421,7 @@ TableFunction TableScanFunction::GetFunction() { scan_function.to_string = TableScanToString; scan_function.table_scan_progress = TableScanProgress; scan_function.get_batch_index = TableScanGetBatchIndex; - scan_function.get_batch_info = TableScanGetBindInfo; + scan_function.get_bind_info = TableScanGetBindInfo; scan_function.projection_pushdown = true; scan_function.filter_pushdown = true; scan_function.filter_prune = true; @@ -481,15 +430,6 @@ TableFunction TableScanFunction::GetFunction() { return scan_function; } -optional_ptr TableScanFunction::GetTableEntry(const TableFunction &function, - const optional_ptr bind_data_p) { - if (function.function != TableScanFunc || !bind_data_p) { - return nullptr; - } - auto &bind_data = bind_data_p->Cast(); - return &bind_data.table; -} - void TableScanFunction::RegisterFunction(BuiltinFunctions &set) { TableFunctionSet table_scan_set("seq_scan"); table_scan_set.AddFunction(GetFunction()); diff --git a/src/function/table/version/CMakeLists.txt b/src/function/table/version/CMakeLists.txt index 54f2c3768760..2c54094c4503 100644 --- a/src/function/table/version/CMakeLists.txt +++ b/src/function/table/version/CMakeLists.txt @@ -1,8 +1,5 @@ add_definitions(-DDUCKDB_SOURCE_ID="\""${GIT_COMMIT_HASH}"\"") add_definitions(-DDUCKDB_VERSION="\""${DUCKDB_VERSION}"\"") -add_definitions(-DUCKDB_MAJOR_VERSION=${DUCKDB_MAJOR_VERSION}) -add_definitions(-DUCKDB_MINOR_VERSION=${DUCKDB_MINOR_VERSION}) -add_definitions(-DUCKDB_PATCH_VERSION=${DUCKDB_PATCH_VERSION}) add_library_unity(duckdb_func_table_version OBJECT pragma_version.cpp) diff --git a/src/function/table/version/pragma_version.cpp b/src/function/table/version/pragma_version.cpp index a522d0f93a0d..b3b3a233c28f 100644 --- a/src/function/table/version/pragma_version.cpp +++ b/src/function/table/version/pragma_version.cpp @@ -1,6 +1,7 @@ #include "duckdb/function/table/system_functions.hpp" #include "duckdb/main/database.hpp" #include "duckdb/common/string_util.hpp" +#include "duckdb/common/platform.h" #include @@ -58,48 +59,7 @@ const char *DuckDB::LibraryVersion() { } string DuckDB::Platform() { -#if defined(DUCKDB_CUSTOM_PLATFORM) - return DUCKDB_QUOTE_DEFINE(DUCKDB_CUSTOM_PLATFORM); -#endif -#if defined(DUCKDB_WASM_VERSION) - // DuckDB-Wasm requires CUSTOM_PLATFORM to be defined - static_assert(0, "DUCKDB_WASM_VERSION should rely on CUSTOM_PLATFORM being provided"); -#endif - string os = "linux"; -#if INTPTR_MAX == INT64_MAX - string arch = "amd64"; -#elif INTPTR_MAX == INT32_MAX - string arch = "i686"; -#else -#error Unknown pointer size or missing size macros! -#endif - string postfix = ""; - -#ifdef _WIN32 - os = "windows"; -#elif defined(__APPLE__) - os = "osx"; -#endif -#if defined(__aarch64__) || defined(__ARM_ARCH_ISA_A64) - arch = "arm64"; -#endif - -#if !defined(_GLIBCXX_USE_CXX11_ABI) || _GLIBCXX_USE_CXX11_ABI == 0 - if (os == "linux") { - postfix = "_gcc4"; - } -#endif -#if defined(__ANDROID__) - postfix += "_android"; // using + because it may also be gcc4 -#endif -#ifdef __MINGW32__ - postfix = "_mingw"; -#endif -// this is used for the windows R builds which use a separate build environment -#ifdef DUCKDB_PLATFORM_RTOOLS - postfix = "_rtools"; -#endif - return os + "_" + arch + postfix; + return DuckDBPlatform(); } struct PragmaPlatformData : public GlobalTableFunctionState { diff --git a/src/function/table_function.cpp b/src/function/table_function.cpp index 4fcf8d82f91b..9d0ec2b2810d 100644 --- a/src/function/table_function.cpp +++ b/src/function/table_function.cpp @@ -18,7 +18,7 @@ TableFunction::TableFunction(string name, vector arguments, table_f init_global(init_global), init_local(init_local), function(function), in_out_function(nullptr), in_out_function_final(nullptr), statistics(nullptr), dependency(nullptr), cardinality(nullptr), pushdown_complex_filter(nullptr), to_string(nullptr), table_scan_progress(nullptr), get_batch_index(nullptr), - get_batch_info(nullptr), serialize(nullptr), deserialize(nullptr), projection_pushdown(false), + get_bind_info(nullptr), serialize(nullptr), deserialize(nullptr), projection_pushdown(false), filter_pushdown(false), filter_prune(false) { } @@ -31,7 +31,7 @@ TableFunction::TableFunction() : SimpleNamedParameterFunction("", {}), bind(nullptr), bind_replace(nullptr), init_global(nullptr), init_local(nullptr), function(nullptr), in_out_function(nullptr), statistics(nullptr), dependency(nullptr), cardinality(nullptr), pushdown_complex_filter(nullptr), to_string(nullptr), table_scan_progress(nullptr), - get_batch_index(nullptr), get_batch_info(nullptr), serialize(nullptr), deserialize(nullptr), + get_batch_index(nullptr), get_bind_info(nullptr), serialize(nullptr), deserialize(nullptr), projection_pushdown(false), filter_pushdown(false), filter_prune(false) { } diff --git a/src/include/duckdb.h b/src/include/duckdb.h index 86b0b1b4a949..d0b6160d5a60 100644 --- a/src/include/duckdb.h +++ b/src/include/duckdb.h @@ -9,7 +9,7 @@ #pragma once -// duplicate of duckdb/main/winapi.hpp +//! duplicate of duckdb/main/winapi.hpp #ifndef DUCKDB_API #ifdef _WIN32 #if defined(DUCKDB_BUILD_LIBRARY) && !defined(DUCKDB_BUILD_LOADABLE_EXTENSION) @@ -22,7 +22,7 @@ #endif #endif -// duplicate of duckdb/main/winapi.hpp +//! duplicate of duckdb/main/winapi.hpp #ifndef DUCKDB_EXTENSION_API #ifdef _WIN32 #ifdef DUCKDB_BUILD_LOADABLE_EXTENSION @@ -35,10 +35,10 @@ #endif #endif -// API versions -// if no explicit API version is defined, the latest API version is used -// Note that using older API versions (i.e. not using DUCKDB_API_LATEST) is deprecated. -// These will not be supported long-term, and will be removed in future versions. +//! API versions +//! If no explicit API version is defined, the latest API version is used. +//! Note that using older API versions (i.e. not using DUCKDB_API_LATEST) is deprecated. +//! These will not be supported long-term, and will be removed in future versions. #ifndef DUCKDB_API_0_3_1 #define DUCKDB_API_0_3_1 1 #endif @@ -55,17 +55,17 @@ #include #include -#include +#include #ifdef __cplusplus extern "C" { #endif //===--------------------------------------------------------------------===// -// Type Information +// Enums //===--------------------------------------------------------------------===// -typedef uint64_t idx_t; +//! An enum over DuckDB's internal types. typedef enum DUCKDB_TYPE { DUCKDB_TYPE_INVALID = 0, // bool @@ -100,6 +100,8 @@ typedef enum DUCKDB_TYPE { DUCKDB_TYPE_INTERVAL, // duckdb_hugeint DUCKDB_TYPE_HUGEINT, + // duckdb_uhugeint + DUCKDB_TYPE_UHUGEINT, // const char* DUCKDB_TYPE_VARCHAR, // duckdb_blob @@ -126,14 +128,82 @@ typedef enum DUCKDB_TYPE { DUCKDB_TYPE_UNION, // duckdb_bit DUCKDB_TYPE_BIT, + // duckdb_time_tz + DUCKDB_TYPE_TIME_TZ, + // duckdb_timestamp + DUCKDB_TYPE_TIMESTAMP_TZ, } duckdb_type; +//! An enum over the returned state of different functions. +typedef enum { DuckDBSuccess = 0, DuckDBError = 1 } duckdb_state; +//! An enum over the pending state of a pending query result. +typedef enum { + DUCKDB_PENDING_RESULT_READY = 0, + DUCKDB_PENDING_RESULT_NOT_READY = 1, + DUCKDB_PENDING_ERROR = 2, + DUCKDB_PENDING_NO_TASKS_AVAILABLE = 3 +} duckdb_pending_state; +//! An enum over DuckDB's different result types. +typedef enum { + DUCKDB_RESULT_TYPE_INVALID, + DUCKDB_RESULT_TYPE_CHANGED_ROWS, + DUCKDB_RESULT_TYPE_NOTHING, + DUCKDB_RESULT_TYPE_QUERY_RESULT, +} duckdb_result_type; +//! An enum over DuckDB's different statement types. +typedef enum { + DUCKDB_STATEMENT_TYPE_INVALID, + DUCKDB_STATEMENT_TYPE_SELECT, + DUCKDB_STATEMENT_TYPE_INSERT, + DUCKDB_STATEMENT_TYPE_UPDATE, + DUCKDB_STATEMENT_TYPE_EXPLAIN, + DUCKDB_STATEMENT_TYPE_DELETE, + DUCKDB_STATEMENT_TYPE_PREPARE, + DUCKDB_STATEMENT_TYPE_CREATE, + DUCKDB_STATEMENT_TYPE_EXECUTE, + DUCKDB_STATEMENT_TYPE_ALTER, + DUCKDB_STATEMENT_TYPE_TRANSACTION, + DUCKDB_STATEMENT_TYPE_COPY, + DUCKDB_STATEMENT_TYPE_ANALYZE, + DUCKDB_STATEMENT_TYPE_VARIABLE_SET, + DUCKDB_STATEMENT_TYPE_CREATE_FUNC, + DUCKDB_STATEMENT_TYPE_DROP, + DUCKDB_STATEMENT_TYPE_EXPORT, + DUCKDB_STATEMENT_TYPE_PRAGMA, + DUCKDB_STATEMENT_TYPE_VACUUM, + DUCKDB_STATEMENT_TYPE_CALL, + DUCKDB_STATEMENT_TYPE_SET, + DUCKDB_STATEMENT_TYPE_LOAD, + DUCKDB_STATEMENT_TYPE_RELATION, + DUCKDB_STATEMENT_TYPE_EXTENSION, + DUCKDB_STATEMENT_TYPE_LOGICAL_PLAN, + DUCKDB_STATEMENT_TYPE_ATTACH, + DUCKDB_STATEMENT_TYPE_DETACH, + DUCKDB_STATEMENT_TYPE_MULTI, +} duckdb_statement_type; + +//===--------------------------------------------------------------------===// +// General type definitions +//===--------------------------------------------------------------------===// + +//! DuckDB's index type. +typedef uint64_t idx_t; + +//! The callback that will be called to destroy data, e.g., +//! bind data (if any), init data (if any), extra data for replacement scans (if any) +typedef void (*duckdb_delete_callback_t)(void *data); + +//! Used for threading, contains a task state. Must be destroyed with `duckdb_destroy_state`. +typedef void *duckdb_task_state; + +//===--------------------------------------------------------------------===// +// Types (no explicit freeing) +//===--------------------------------------------------------------------===// //! Days are stored as days since 1970-01-01 //! Use the duckdb_from_date/duckdb_to_date function to extract individual information typedef struct { int32_t days; } duckdb_date; - typedef struct { int32_t year; int8_t month; @@ -145,7 +215,6 @@ typedef struct { typedef struct { int64_t micros; } duckdb_time; - typedef struct { int8_t hour; int8_t min; @@ -153,46 +222,60 @@ typedef struct { int32_t micros; } duckdb_time_struct; +//! TIME_TZ is stored as 40 bits for int64_t micros, and 24 bits for int32_t offset +typedef struct { + uint64_t bits; +} duckdb_time_tz; +typedef struct { + duckdb_time time; + int32_t offset; +} duckdb_time_tz_struct; + //! Timestamps are stored as microseconds since 1970-01-01 //! Use the duckdb_from_timestamp/duckdb_to_timestamp function to extract individual information typedef struct { int64_t micros; } duckdb_timestamp; - typedef struct { duckdb_date_struct date; duckdb_time_struct time; } duckdb_timestamp_struct; - typedef struct { int32_t months; int32_t days; int64_t micros; } duckdb_interval; -//! Hugeints are composed in a (lower, upper) component +//! Hugeints are composed of a (lower, upper) component //! The value of the hugeint is upper * 2^64 + lower //! For easy usage, the functions duckdb_hugeint_to_double/duckdb_double_to_hugeint are recommended typedef struct { uint64_t lower; int64_t upper; } duckdb_hugeint; +typedef struct { + uint64_t lower; + uint64_t upper; +} duckdb_uhugeint; +//! Decimals are composed of a width and a scale, and are stored in a hugeint typedef struct { uint8_t width; uint8_t scale; - duckdb_hugeint value; } duckdb_decimal; +//! A type holding information about the query execution progress typedef struct { - char *data; - idx_t size; -} duckdb_string; - -/* - The internal data representation of a VARCHAR/BLOB column -*/ + double percentage; + uint64_t rows_processed; + uint64_t total_rows_to_process; +} duckdb_query_progress_type; + +//! The internal representation of a VARCHAR (string_t). If the VARCHAR does not +//! exceed 12 characters, then we inline it. Otherwise, we inline a prefix for faster +//! string comparisons and store a pointer to the remaining characters. This is a non- +//! owning structure, i.e., it does not have to be freed. typedef struct { union { struct { @@ -207,16 +290,18 @@ typedef struct { } value; } duckdb_string_t; -typedef struct { - void *data; - idx_t size; -} duckdb_blob; - +//! The internal representation of a list metadata entry contains the list's offset in +//! the child vector, and its length. The parent vector holds these metadata entries, +//! whereas the child vector holds the data typedef struct { uint64_t offset; uint64_t length; } duckdb_list_entry; +//! A column consists of a pointer to its internal data. Don't operate on this type directly. +//! Instead, use functions such as duckdb_column_data, duckdb_nullmask_data, +//! duckdb_column_type, and duckdb_column_name, which take the result and the column index +//! as their parameters typedef struct { #if DUCKDB_API_VERSION < DUCKDB_API_0_3_2 void *data; @@ -236,6 +321,32 @@ typedef struct { void *internal_data; } duckdb_column; +//! A vector to a specified column in a data chunk. Lives as long as the +//! data chunk lives, i.e., must not be destroyed. +typedef struct _duckdb_vector { + void *__vctr; +} * duckdb_vector; + +//===--------------------------------------------------------------------===// +// Types (explicit freeing/destroying) +//===--------------------------------------------------------------------===// + +//! Strings are composed of a char pointer and a size. You must free string.data +//! with `duckdb_free`. +typedef struct { + char *data; + idx_t size; +} duckdb_string; + +//! BLOBs are composed of a byte pointer and a size. You must free blob.data +//! with `duckdb_free`. +typedef struct { + void *data; + idx_t size; +} duckdb_blob; + +//! A query result consists of a pointer to its internal data. +//! Must be freed with 'duckdb_destroy_result'. typedef struct { #if DUCKDB_API_VERSION < DUCKDB_API_0_3_2 idx_t column_count; @@ -250,7 +361,7 @@ typedef struct { idx_t __deprecated_row_count; // deprecated, use duckdb_rows_changed idx_t __deprecated_rows_changed; - // deprecated, use duckdb_column_ family of functions + // deprecated, use duckdb_column_*-family of functions duckdb_column *__deprecated_columns; // deprecated, use duckdb_result_error char *__deprecated_error_message; @@ -258,59 +369,125 @@ typedef struct { void *internal_data; } duckdb_result; +//! A database object. Should be closed with `duckdb_close`. typedef struct _duckdb_database { void *__db; } * duckdb_database; + +//! A connection to a duckdb database. Must be closed with `duckdb_disconnect`. typedef struct _duckdb_connection { void *__conn; } * duckdb_connection; + +//! A prepared statement is a parameterized query that allows you to bind parameters to it. +//! Must be destroyed with `duckdb_destroy_prepare`. typedef struct _duckdb_prepared_statement { void *__prep; } * duckdb_prepared_statement; + +//! Extracted statements. Must be destroyed with `duckdb_destroy_extracted`. typedef struct _duckdb_extracted_statements { void *__extrac; } * duckdb_extracted_statements; + +//! The pending result represents an intermediate structure for a query that is not yet fully executed. +//! Must be destroyed with `duckdb_destroy_pending`. typedef struct _duckdb_pending_result { void *__pend; } * duckdb_pending_result; + +//! The appender enables fast data loading into DuckDB. +//! Must be destroyed with `duckdb_appender_destroy`. typedef struct _duckdb_appender { void *__appn; } * duckdb_appender; -typedef struct _duckdb_arrow { - void *__arrw; -} * duckdb_arrow; -typedef struct _duckdb_arrow_stream { - void *__arrwstr; -} * duckdb_arrow_stream; + +//! Can be used to provide start-up options for the DuckDB instance. +//! Must be destroyed with `duckdb_destroy_config`. typedef struct _duckdb_config { void *__cnfg; } * duckdb_config; -typedef struct _duckdb_arrow_schema { - void *__arrs; -} * duckdb_arrow_schema; -typedef struct _duckdb_arrow_array { - void *__arra; -} * duckdb_arrow_array; + +//! Holds an internal logical type. +//! Must be destroyed with `duckdb_destroy_logical_type`. typedef struct _duckdb_logical_type { void *__lglt; } * duckdb_logical_type; + +//! Contains a data chunk from a duckdb_result. +//! Must be destroyed with `duckdb_destroy_data_chunk`. typedef struct _duckdb_data_chunk { void *__dtck; } * duckdb_data_chunk; -typedef struct _duckdb_vector { - void *__vctr; -} * duckdb_vector; + +//! Holds a DuckDB value, which wraps a type. +//! Must be destroyed with `duckdb_destroy_value`. typedef struct _duckdb_value { void *__val; } * duckdb_value; -typedef enum { DuckDBSuccess = 0, DuckDBError = 1 } duckdb_state; -typedef enum { - DUCKDB_PENDING_RESULT_READY = 0, - DUCKDB_PENDING_RESULT_NOT_READY = 1, - DUCKDB_PENDING_ERROR = 2, - DUCKDB_PENDING_NO_TASKS_AVAILABLE = 3 -} duckdb_pending_state; +//===--------------------------------------------------------------------===// +// Table function types +//===--------------------------------------------------------------------===// + +//! A table function. Must be destroyed with `duckdb_destroy_table_function`. +typedef void *duckdb_table_function; + +//! The bind info of the function. When setting this info, it is necessary to pass a destroy-callback function. +typedef void *duckdb_bind_info; + +//! Additional function init info. When setting this info, it is necessary to pass a destroy-callback function. +typedef void *duckdb_init_info; + +//! Additional function info. When setting this info, it is necessary to pass a destroy-callback function. +typedef void *duckdb_function_info; + +//! The bind function of the table function. +typedef void (*duckdb_table_function_bind_t)(duckdb_bind_info info); + +//! The (possibly thread-local) init function of the table function. +typedef void (*duckdb_table_function_init_t)(duckdb_init_info info); + +//! The main function of the table function. +typedef void (*duckdb_table_function_t)(duckdb_function_info info, duckdb_data_chunk output); + +//===--------------------------------------------------------------------===// +// Replacement scan types +//===--------------------------------------------------------------------===// + +//! Additional replacement scan info. When setting this info, it is necessary to pass a destroy-callback function. +typedef void *duckdb_replacement_scan_info; + +//! A replacement scan function that can be added to a database. +typedef void (*duckdb_replacement_callback_t)(duckdb_replacement_scan_info info, const char *table_name, void *data); + +//===--------------------------------------------------------------------===// +// Arrow-related types +//===--------------------------------------------------------------------===// + +//! Holds an arrow query result. Must be destroyed with `duckdb_destroy_arrow`. +typedef struct _duckdb_arrow { + void *__arrw; +} * duckdb_arrow; + +//! Holds an arrow array stream. Must be destroyed with `duckdb_destroy_arrow_stream`. +typedef struct _duckdb_arrow_stream { + void *__arrwstr; +} * duckdb_arrow_stream; + +//! Holds an arrow schema. Remember to release the respective ArrowSchema object. +typedef struct _duckdb_arrow_schema { + void *__arrs; +} * duckdb_arrow_schema; + +//! Holds an arrow array. Remember to release the respective ArrowArray object. +typedef struct _duckdb_arrow_array { + void *__arra; +} * duckdb_arrow_array; + +//===--------------------------------------------------------------------===// +// Functions +//===--------------------------------------------------------------------===// //===--------------------------------------------------------------------===// // Open/Connect @@ -319,7 +496,7 @@ typedef enum { /*! Creates a new database or opens an existing database file stored at the given path. If no path is given a new in-memory database is created instead. -The instantiated database should be closed with 'duckdb_close' +The instantiated database should be closed with 'duckdb_close'. * path: Path to the database file on disk, or `nullptr` or `:memory:` to open an in-memory database. * out_database: The result database object. @@ -329,6 +506,7 @@ DUCKDB_API duckdb_state duckdb_open(const char *path, duckdb_database *out_datab /*! Extended version of duckdb_open. Creates a new database or opens an existing database file stored at the given path. +The instantiated database should be closed with 'duckdb_close'. * path: Path to the database file on disk, or `nullptr` or `:memory:` to open an in-memory database. * out_database: The result database object. @@ -342,9 +520,9 @@ DUCKDB_API duckdb_state duckdb_open_ext(const char *path, duckdb_database *out_d /*! Closes the specified database and de-allocates all memory allocated for that database. -This should be called after you are done with any database allocated through `duckdb_open`. +This should be called after you are done with any database allocated through `duckdb_open` or `duckdb_open_ext`. Note that failing to call `duckdb_close` (in case of e.g. a program crash) will not cause data corruption. -Still it is recommended to always correctly close a database object after you are done with it. +Still, it is recommended to always correctly close a database object after you are done with it. * database: The database object to shut down. */ @@ -353,7 +531,7 @@ DUCKDB_API void duckdb_close(duckdb_database *database); /*! Opens a connection to a database. Connections are required to query the database, and store transactional state associated with the connection. -The instantiated connection should be closed using 'duckdb_disconnect' +The instantiated connection should be closed using 'duckdb_disconnect'. * database: The database file to connect to. * out_connection: The result connection object. @@ -364,7 +542,7 @@ DUCKDB_API duckdb_state duckdb_connect(duckdb_database database, duckdb_connecti /*! Interrupt running query -* connection: The connection to interruot +* connection: The connection to interrupt */ DUCKDB_API void duckdb_interrupt(duckdb_connection connection); @@ -374,7 +552,7 @@ Get progress of the running query * connection: The working connection * returns: -1 if no progress or a percentage of the progress */ -DUCKDB_API double duckdb_query_progress(duckdb_connection connection); +DUCKDB_API duckdb_query_progress_type duckdb_query_progress(duckdb_connection connection); /*! Closes the specified connection and de-allocates all memory allocated for that connection. @@ -393,9 +571,11 @@ DUCKDB_API const char *duckdb_library_version(); //===--------------------------------------------------------------------===// // Configuration //===--------------------------------------------------------------------===// + /*! Initializes an empty configuration object that can be used to provide start-up options for the DuckDB instance through `duckdb_open_ext`. +The duckdb_config must be destroyed using 'duckdb_destroy_config' This will always succeed unless there is a malloc failure. @@ -442,7 +622,7 @@ This can fail if either the name is invalid, or if the value provided for the op DUCKDB_API duckdb_state duckdb_set_config(duckdb_config config, const char *name, const char *option); /*! -Destroys the specified configuration option and de-allocates all memory allocated for the object. +Destroys the specified configuration object and de-allocates all memory allocated for the object. * config: The configuration object to destroy. */ @@ -451,6 +631,7 @@ DUCKDB_API void duckdb_destroy_config(duckdb_config *config); //===--------------------------------------------------------------------===// // Query Execution //===--------------------------------------------------------------------===// + /*! Executes a SQL query within a connection and stores the full (materialized) result in the out_result pointer. If the query fails to execute, DuckDBError is returned and the error message can be retrieved by calling @@ -474,7 +655,7 @@ Closes the result and de-allocates all memory allocated for that connection. DUCKDB_API void duckdb_destroy_result(duckdb_result *result); /*! -Returns the column name of the specified column. The result should not need be freed; the column names will +Returns the column name of the specified column. The result should not need to be freed; the column names will automatically be destroyed when the result is destroyed. Returns `NULL` if the column is out of range. @@ -496,6 +677,14 @@ Returns `DUCKDB_TYPE_INVALID` if the column is out of range. */ DUCKDB_API duckdb_type duckdb_column_type(duckdb_result *result, idx_t col); +/*! +Returns the statement type of the statement that was executed + +* result: The result object to fetch the statement type from. + * returns: duckdb_statement_type value or DUCKDB_STATEMENT_TYPE_INVALID + */ +DUCKDB_API duckdb_statement_type duckdb_result_statement_type(duckdb_result result); + /*! Returns the logical column type of the specified column. @@ -518,7 +707,7 @@ Returns the number of columns present in a the result object. DUCKDB_API idx_t duckdb_column_count(duckdb_result *result); /*! -Returns the number of rows present in a the result object. +Returns the number of rows present in the result object. * result: The result object. * returns: The number of rows present in the result object. @@ -627,7 +816,18 @@ Returns the number of data chunks present in the result. */ DUCKDB_API idx_t duckdb_result_chunk_count(duckdb_result result); +/*! +Returns the return_type of the given result, or DUCKDB_RETURN_TYPE_INVALID on error + +* result: The result object +* returns: The return_type + */ +DUCKDB_API duckdb_result_type duckdb_result_return_type(duckdb_result result); + +//===--------------------------------------------------------------------===// // Safe fetch functions +//===--------------------------------------------------------------------===// + // These functions will perform conversions if necessary. // On failure (e.g. if conversion cannot be performed or if the value is NULL) a default value is returned. // Note that these functions are slow since they perform bounds checking and conversion @@ -663,6 +863,11 @@ DUCKDB_API int64_t duckdb_value_int64(duckdb_result *result, idx_t col, idx_t ro */ DUCKDB_API duckdb_hugeint duckdb_value_hugeint(duckdb_result *result, idx_t col, idx_t row); +/*! + * returns: The duckdb_uhugeint value at the specified location, or 0 if the value cannot be converted. + */ +DUCKDB_API duckdb_uhugeint duckdb_value_uhugeint(duckdb_result *result, idx_t col, idx_t row); + /*! * returns: The duckdb_decimal value at the specified location, or 0 if the value cannot be converted. */ @@ -725,10 +930,10 @@ converted. The result must be freed with `duckdb_free`. */ DUCKDB_API char *duckdb_value_varchar(duckdb_result *result, idx_t col, idx_t row); -/*!s -* returns: The string value at the specified location. -The result must be freed with `duckdb_free`. -*/ +/*! + * returns: The string value at the specified location. + * The resulting field "string.data" must be freed with `duckdb_free.` + */ DUCKDB_API duckdb_string duckdb_value_string(duckdb_result *result, idx_t col, idx_t row); /*! @@ -753,7 +958,7 @@ DUCKDB_API duckdb_string duckdb_value_string_internal(duckdb_result *result, idx /*! * returns: The duckdb_blob value at the specified location. Returns a blob with blob.data set to nullptr if the -value cannot be converted. The resulting "blob.data" must be freed with `duckdb_free.` +value cannot be converted. The resulting field "blob.data" must be freed with `duckdb_free.` */ DUCKDB_API duckdb_blob duckdb_value_blob(duckdb_result *result, idx_t col, idx_t row); @@ -765,6 +970,7 @@ DUCKDB_API bool duckdb_value_is_null(duckdb_result *result, idx_t col, idx_t row //===--------------------------------------------------------------------===// // Helpers //===--------------------------------------------------------------------===// + /*! Allocate `size` bytes of memory using the duckdb internal malloc function. Any memory allocated in this manner should be freed using `duckdb_free`. @@ -775,7 +981,8 @@ should be freed using `duckdb_free`. DUCKDB_API void *duckdb_malloc(size_t size); /*! -Free a value returned from `duckdb_malloc`, `duckdb_value_varchar` or `duckdb_value_blob`. +Free a value returned from `duckdb_malloc`, `duckdb_value_varchar`, `duckdb_value_blob`, or +`duckdb_value_string`. * ptr: The memory region to de-allocate. */ @@ -799,6 +1006,7 @@ DUCKDB_API bool duckdb_string_is_inlined(duckdb_string_t string); //===--------------------------------------------------------------------===// // Date/Time/Timestamp Helpers //===--------------------------------------------------------------------===// + /*! Decompose a `duckdb_date` object into year, month and date (stored as `duckdb_date_struct`). @@ -815,6 +1023,14 @@ Re-compose a `duckdb_date` from year, month and date (`duckdb_date_struct`). */ DUCKDB_API duckdb_date duckdb_to_date(duckdb_date_struct date); +/*! +Test a `duckdb_date` to see if it is a finite value. + +* date: The date object, as obtained from a `DUCKDB_TYPE_DATE` column. +* returns: True if the date is finite, false if it is ±infinity. +*/ +DUCKDB_API bool duckdb_is_finite_date(duckdb_date date); + /*! Decompose a `duckdb_time` object into hour, minute, second and microsecond (stored as `duckdb_time_struct`). @@ -823,6 +1039,26 @@ Decompose a `duckdb_time` object into hour, minute, second and microsecond (stor */ DUCKDB_API duckdb_time_struct duckdb_from_time(duckdb_time time); +/*! +Create a `duckdb_time_tz` object from micros and a timezone offset. + +* micros: The microsecond component of the time. +* offset: The timezone offset component of the time. +* returns: The `duckdb_time_tz` element. +*/ +DUCKDB_API duckdb_time_tz duckdb_create_time_tz(int64_t micros, int32_t offset); + +/*! +Decompose a TIME_TZ objects into micros and a timezone offset. + +Use `duckdb_from_time` to further decompose the micros into hour, minute, second and microsecond. + +* micros: The time object, as obtained from a `DUCKDB_TYPE_TIME_TZ` column. +* out_micros: The microsecond component of the time. +* out_offset: The timezone offset component of the time. +*/ +DUCKDB_API duckdb_time_tz_struct duckdb_from_time_tz(duckdb_time_tz micros); + /*! Re-compose a `duckdb_time` from hour, minute, second and microsecond (`duckdb_time_struct`). @@ -847,9 +1083,18 @@ Re-compose a `duckdb_timestamp` from a duckdb_timestamp_struct. */ DUCKDB_API duckdb_timestamp duckdb_to_timestamp(duckdb_timestamp_struct ts); +/*! +Test a `duckdb_timestamp` to see if it is a finite value. + +* ts: The timestamp object, as obtained from a `DUCKDB_TYPE_TIMESTAMP` column. +* returns: True if the timestamp is finite, false if it is ±infinity. +*/ +DUCKDB_API bool duckdb_is_finite_timestamp(duckdb_timestamp ts); + //===--------------------------------------------------------------------===// // Hugeint Helpers //===--------------------------------------------------------------------===// + /*! Converts a duckdb_hugeint object (as obtained from a `DUCKDB_TYPE_HUGEINT` column) into a double. @@ -868,6 +1113,32 @@ If the conversion fails because the double value is too big the result will be 0 */ DUCKDB_API duckdb_hugeint duckdb_double_to_hugeint(double val); +//===--------------------------------------------------------------------===// +// Unsigned Hugeint Helpers +//===--------------------------------------------------------------------===// + +/*! +Converts a duckdb_uhugeint object (as obtained from a `DUCKDB_TYPE_UHUGEINT` column) into a double. + +* val: The uhugeint value. +* returns: The converted `double` element. +*/ +DUCKDB_API double duckdb_uhugeint_to_double(duckdb_uhugeint val); + +/*! +Converts a double value to a duckdb_uhugeint object. + +If the conversion fails because the double value is too big the result will be 0. + +* val: The double value. +* returns: The converted `duckdb_uhugeint` element. +*/ +DUCKDB_API duckdb_uhugeint duckdb_double_to_uhugeint(double val); + +//===--------------------------------------------------------------------===// +// Decimal Helpers +//===--------------------------------------------------------------------===// + /*! Converts a double value to a duckdb_decimal object. @@ -878,9 +1149,6 @@ If the conversion fails because the double value is too big, or the width/scale */ DUCKDB_API duckdb_decimal duckdb_double_to_decimal(double val, uint8_t width, uint8_t scale); -//===--------------------------------------------------------------------===// -// Decimal Helpers -//===--------------------------------------------------------------------===// /*! Converts a duckdb_decimal object (as obtained from a `DUCKDB_TYPE_DECIMAL` column) into a double. @@ -892,6 +1160,7 @@ DUCKDB_API double duckdb_decimal_to_double(duckdb_decimal val); //===--------------------------------------------------------------------===// // Prepared Statements //===--------------------------------------------------------------------===// + // A prepared statement is a parameterized query that allows you to bind parameters to it. // * This is useful to easily supply parameters to functions and avoid SQL injection attacks. // * This is useful to speed up queries that you will execute several times with different parameters. @@ -971,6 +1240,18 @@ Clear the params bind to the prepared statement. */ DUCKDB_API duckdb_state duckdb_clear_bindings(duckdb_prepared_statement prepared_statement); +/*! +Returns the statement type of the statement to be executed + + * statement: The prepared statement. + * returns: duckdb_statement_type value or DUCKDB_STATEMENT_TYPE_INVALID + */ +DUCKDB_API duckdb_statement_type duckdb_prepared_statement_type(duckdb_prepared_statement statement); + +//===--------------------------------------------------------------------===// +// Bind Values to Prepared Statements +//===--------------------------------------------------------------------===// + /*! Binds a value to the prepared statement at the specified index. */ @@ -1014,6 +1295,11 @@ Binds a duckdb_hugeint value to the prepared statement at the specified index. DUCKDB_API duckdb_state duckdb_bind_hugeint(duckdb_prepared_statement prepared_statement, idx_t param_idx, duckdb_hugeint val); /*! +Binds an duckdb_uhugeint value to the prepared statement at the specified index. +*/ +DUCKDB_API duckdb_state duckdb_bind_uhugeint(duckdb_prepared_statement prepared_statement, idx_t param_idx, + duckdb_uhugeint val); +/*! Binds a duckdb_decimal value to the prepared statement at the specified index. */ DUCKDB_API duckdb_state duckdb_bind_decimal(duckdb_prepared_statement prepared_statement, idx_t param_idx, @@ -1096,12 +1382,18 @@ Binds a NULL value to the prepared statement at the specified index. */ DUCKDB_API duckdb_state duckdb_bind_null(duckdb_prepared_statement prepared_statement, idx_t param_idx); +//===--------------------------------------------------------------------===// +// Execute Prepared Statements +//===--------------------------------------------------------------------===// + /*! Executes the prepared statement with the given bound parameters, and returns a materialized query result. This method can be called multiple times for each prepared statement, and the parameters can be modified between calls to this function. +Note that the result must be freed with `duckdb_destroy_result`. + * prepared_statement: The prepared statement to execute. * out_result: The query result. * returns: `DuckDBSuccess` on success or `DuckDBError` on failure. @@ -1110,50 +1402,34 @@ DUCKDB_API duckdb_state duckdb_execute_prepared(duckdb_prepared_statement prepar duckdb_result *out_result); /*! -Executes the prepared statement with the given bound parameters, and returns an arrow query result. - -* prepared_statement: The prepared statement to execute. -* out_result: The query result. -* returns: `DuckDBSuccess` on success or `DuckDBError` on failure. -*/ -DUCKDB_API duckdb_state duckdb_execute_prepared_arrow(duckdb_prepared_statement prepared_statement, - duckdb_arrow *out_result); - -/*! -Scans the Arrow stream and creates a view with the given name. +Executes the prepared statement with the given bound parameters, and returns an optionally-streaming query result. +To determine if the resulting query was in fact streamed, use `duckdb_result_is_streaming` -* connection: The connection on which to execute the scan. -* table_name: Name of the temporary view to create. -* arrow: Arrow stream wrapper. -* returns: `DuckDBSuccess` on success or `DuckDBError` on failure. -*/ -DUCKDB_API duckdb_state duckdb_arrow_scan(duckdb_connection connection, const char *table_name, - duckdb_arrow_stream arrow); +This method can be called multiple times for each prepared statement, and the parameters can be modified +between calls to this function. -/*! -Scans the Arrow array and creates a view with the given name. +Note that the result must be freed with `duckdb_destroy_result`. -* connection: The connection on which to execute the scan. -* table_name: Name of the temporary view to create. -* arrow_schema: Arrow schema wrapper. -* arrow_array: Arrow array wrapper. -* out_stream: Output array stream that wraps around the passed schema, for releasing/deleting once done. +* prepared_statement: The prepared statement to execute. +* out_result: The query result. * returns: `DuckDBSuccess` on success or `DuckDBError` on failure. */ -DUCKDB_API duckdb_state duckdb_arrow_array_scan(duckdb_connection connection, const char *table_name, - duckdb_arrow_schema arrow_schema, duckdb_arrow_array arrow_array, - duckdb_arrow_stream *out_stream); +DUCKDB_API duckdb_state duckdb_execute_prepared_streaming(duckdb_prepared_statement prepared_statement, + duckdb_result *out_result); //===--------------------------------------------------------------------===// // Extract Statements //===--------------------------------------------------------------------===// + // A query string can be extracted into multiple SQL statements. Each statement can be prepared and executed separately. /*! Extract all statements from a query. Note that after calling `duckdb_extract_statements`, the extracted statements should always be destroyed using `duckdb_destroy_extracted`, even if no statements were extracted. + If the extract fails, `duckdb_extract_statements_error` can be called to obtain the reason why the extract failed. + * connection: The connection object * query: The SQL query to extract * out_extracted_statements: The resulting extracted statements object @@ -1166,7 +1442,9 @@ DUCKDB_API idx_t duckdb_extract_statements(duckdb_connection connection, const c Prepare an extracted statement. Note that after calling `duckdb_prepare_extracted_statement`, the prepared statement should always be destroyed using `duckdb_destroy_prepare`, even if the prepare fails. + If the prepare fails, `duckdb_prepare_error` can be called to obtain the reason why the prepare failed. + * connection: The connection object * extracted_statements: The extracted statements object * index: The index of the extracted statement to prepare @@ -1180,6 +1458,7 @@ DUCKDB_API duckdb_state duckdb_prepare_extracted_statement(duckdb_connection con /*! Returns the error message contained within the extracted statements. The result of this function must not be freed. It will be cleaned up when `duckdb_destroy_extracted` is called. + * result: The extracted statements to fetch the error from. * returns: The error of the extracted statements. */ @@ -1194,6 +1473,7 @@ DUCKDB_API void duckdb_destroy_extracted(duckdb_extracted_statements *extracted_ //===--------------------------------------------------------------------===// // Pending Result Interface //===--------------------------------------------------------------------===// + /*! Executes the prepared statement with the given bound parameters, and returns a pending result. The pending result represents an intermediate structure for a query that is not yet fully executed. @@ -1250,17 +1530,31 @@ If this returns DUCKDB_PENDING_ERROR, an error occurred during execution. The error message can be obtained by calling duckdb_pending_error on the pending_result. -* pending_result: The pending result to execute a task within.. +* pending_result: The pending result to execute a task within. * returns: The state of the pending result after the execution. */ DUCKDB_API duckdb_pending_state duckdb_pending_execute_task(duckdb_pending_result pending_result); +/*! +If this returns DUCKDB_PENDING_RESULT_READY, the duckdb_execute_pending function can be called to obtain the result. +If this returns DUCKDB_PENDING_RESULT_NOT_READY, the duckdb_pending_execute_check_state function should be called again. +If this returns DUCKDB_PENDING_ERROR, an error occurred during execution. + +The error message can be obtained by calling duckdb_pending_error on the pending_result. + +* pending_result: The pending result. +* returns: The state of the pending result. +*/ +DUCKDB_API duckdb_pending_state duckdb_pending_execute_check_state(duckdb_pending_result pending_result); + /*! Fully execute a pending query result, returning the final query result. If duckdb_pending_execute_task has been called until DUCKDB_PENDING_RESULT_READY was returned, this will return fast. Otherwise, all remaining tasks must be executed first. +Note that the result must be freed with `duckdb_destroy_result`. + * pending_result: The pending result to execute. * out_result: The result object. * returns: `DuckDBSuccess` on success or `DuckDBError` on failure. @@ -1279,6 +1573,7 @@ DUCKDB_API bool duckdb_pending_execution_is_finished(duckdb_pending_state pendin //===--------------------------------------------------------------------===// // Value Interface //===--------------------------------------------------------------------===// + /*! Destroys the value and de-allocates all memory allocated for that type. @@ -1311,6 +1606,25 @@ Creates a value from an int64 */ DUCKDB_API duckdb_value duckdb_create_int64(int64_t val); +/*! +Creates a struct value from a type and an array of values + +* type: The type of the struct +* values: The values for the struct fields +* returns: The value. This must be destroyed with `duckdb_destroy_value`. +*/ +DUCKDB_API duckdb_value duckdb_create_struct_value(duckdb_logical_type type, duckdb_value *values); + +/*! +Creates a list value from a type and an array of values of length `value_count` + +* type: The type of the list +* values: The values for the list +* value_count: The number of values in the list +* returns: The value. This must be destroyed with `duckdb_destroy_value`. +*/ +DUCKDB_API duckdb_value duckdb_create_list_value(duckdb_logical_type type, duckdb_value *values, idx_t value_count); + /*! Obtains a string representation of the given value. The result must be destroyed with `duckdb_free`. @@ -1343,6 +1657,15 @@ This should not be used with `DUCKDB_TYPE_DECIMAL`. */ DUCKDB_API duckdb_logical_type duckdb_create_logical_type(duckdb_type type); +/*! +Returns the alias of a duckdb_logical_type, if one is set, else `NULL`. +The result must be destroyed with `duckdb_free`. + +* type: The logical type to return the alias of +* returns: The alias or `NULL` + */ +DUCKDB_API char *duckdb_logical_type_get_alias(duckdb_logical_type type); + /*! Creates a list type from its child type. The resulting type should be destroyed with `duckdb_destroy_logical_type`. @@ -1362,14 +1685,14 @@ The resulting type should be destroyed with `duckdb_destroy_logical_type`. DUCKDB_API duckdb_logical_type duckdb_create_map_type(duckdb_logical_type key_type, duckdb_logical_type value_type); /*! -Creates a UNION type from the passed types array +Creates a UNION type from the passed types array. The resulting type should be destroyed with `duckdb_destroy_logical_type`. * types: The array of types that the union should consist of. * type_amount: The size of the types array. * returns: The logical type. */ -DUCKDB_API duckdb_logical_type duckdb_create_union_type(duckdb_logical_type member_types, const char **member_names, +DUCKDB_API duckdb_logical_type duckdb_create_union_type(duckdb_logical_type *member_types, const char **member_names, idx_t member_count); /*! @@ -1385,7 +1708,18 @@ DUCKDB_API duckdb_logical_type duckdb_create_struct_type(duckdb_logical_type *me idx_t member_count); /*! -Creates a `duckdb_logical_type` of type decimal with the specified width and scale +Creates an ENUM type from the passed member name array. +The resulting type should be destroyed with `duckdb_destroy_logical_type`. + +* enum_name: The name of the enum. +* member_names: The array of names that the enum should consist of. +* member_count: The number of elements that were specified in the array. +* returns: The logical type. +*/ +DUCKDB_API duckdb_logical_type duckdb_create_enum_type(const char **member_names, idx_t member_count); + +/*! +Creates a `duckdb_logical_type` of type decimal with the specified width and scale. The resulting type should be destroyed with `duckdb_destroy_logical_type`. * width: The width of the decimal type @@ -1395,7 +1729,7 @@ The resulting type should be destroyed with `duckdb_destroy_logical_type`. DUCKDB_API duckdb_logical_type duckdb_create_decimal_type(uint8_t width, uint8_t scale); /*! -Retrieves the type class of a `duckdb_logical_type`. +Retrieves the enum type class of a `duckdb_logical_type`. * type: The logical type object * returns: The type id @@ -1435,7 +1769,7 @@ Retrieves the internal storage type of an enum type. DUCKDB_API duckdb_type duckdb_enum_internal_type(duckdb_logical_type type); /*! -Retrieves the dictionary size of the enum type +Retrieves the dictionary size of the enum type. * type: The logical type object * returns: The dictionary size of the enum type @@ -1445,7 +1779,7 @@ DUCKDB_API uint32_t duckdb_enum_dictionary_size(duckdb_logical_type type); /*! Retrieves the dictionary value at the specified position from the enum. -The result must be freed with `duckdb_free` +The result must be freed with `duckdb_free`. * type: The logical type object * index: The index in the dictionary @@ -1456,7 +1790,7 @@ DUCKDB_API char *duckdb_enum_dictionary_value(duckdb_logical_type type, idx_t in /*! Retrieves the child type of the given list type. -The result must be freed with `duckdb_destroy_logical_type` +The result must be freed with `duckdb_destroy_logical_type`. * type: The logical type object * returns: The child type of the list type. Must be destroyed with `duckdb_destroy_logical_type`. @@ -1466,7 +1800,7 @@ DUCKDB_API duckdb_logical_type duckdb_list_type_child_type(duckdb_logical_type t /*! Retrieves the key type of the given map type. -The result must be freed with `duckdb_destroy_logical_type` +The result must be freed with `duckdb_destroy_logical_type`. * type: The logical type object * returns: The key type of the map type. Must be destroyed with `duckdb_destroy_logical_type`. @@ -1476,7 +1810,7 @@ DUCKDB_API duckdb_logical_type duckdb_map_type_key_type(duckdb_logical_type type /*! Retrieves the value type of the given map type. -The result must be freed with `duckdb_destroy_logical_type` +The result must be freed with `duckdb_destroy_logical_type`. * type: The logical type object * returns: The value type of the map type. Must be destroyed with `duckdb_destroy_logical_type`. @@ -1494,7 +1828,7 @@ DUCKDB_API idx_t duckdb_struct_type_child_count(duckdb_logical_type type); /*! Retrieves the name of the struct child. -The result must be freed with `duckdb_free` +The result must be freed with `duckdb_free`. * type: The logical type object * index: The child index @@ -1505,7 +1839,7 @@ DUCKDB_API char *duckdb_struct_type_child_name(duckdb_logical_type type, idx_t i /*! Retrieves the child type of the given struct type at the specified index. -The result must be freed with `duckdb_destroy_logical_type` +The result must be freed with `duckdb_destroy_logical_type`. * type: The logical type object * index: The child index @@ -1524,7 +1858,7 @@ DUCKDB_API idx_t duckdb_union_type_member_count(duckdb_logical_type type); /*! Retrieves the name of the union member. -The result must be freed with `duckdb_free` +The result must be freed with `duckdb_free`. * type: The logical type object * index: The child index @@ -1535,7 +1869,7 @@ DUCKDB_API char *duckdb_union_type_member_name(duckdb_logical_type type, idx_t i /*! Retrieves the child type of the given union member at the specified index. -The result must be freed with `duckdb_destroy_logical_type` +The result must be freed with `duckdb_destroy_logical_type`. * type: The logical type object * index: The child index @@ -1553,9 +1887,12 @@ DUCKDB_API void duckdb_destroy_logical_type(duckdb_logical_type *type); //===--------------------------------------------------------------------===// // Data Chunk Interface //===--------------------------------------------------------------------===// + /*! Creates an empty DataChunk with the specified set of types. +Note that the result must be destroyed with `duckdb_destroy_data_chunk`. + * types: An array of types of the data chunk. * column_count: The number of columns. * returns: The data chunk. @@ -1614,6 +1951,7 @@ DUCKDB_API void duckdb_data_chunk_set_size(duckdb_data_chunk chunk, idx_t size); //===--------------------------------------------------------------------===// // Vector Interface //===--------------------------------------------------------------------===// + /*! Retrieves the column type of the specified vector. @@ -1698,7 +2036,7 @@ The resulting vector is valid as long as the parent vector is valid. DUCKDB_API duckdb_vector duckdb_list_vector_get_child(duckdb_vector vector); /*! -Returns the size of the child vector of the list +Returns the size of the child vector of the list. * vector: The vector * returns: The size of the child list @@ -1737,6 +2075,7 @@ DUCKDB_API duckdb_vector duckdb_struct_vector_get_child(duckdb_vector vector, id //===--------------------------------------------------------------------===// // Validity Mask Functions //===--------------------------------------------------------------------===// + /*! Returns whether or not a row is valid (i.e. not NULL) in the given validity mask. @@ -1781,15 +2120,6 @@ DUCKDB_API void duckdb_validity_set_row_valid(uint64_t *validity, idx_t row); //===--------------------------------------------------------------------===// // Table Functions //===--------------------------------------------------------------------===// -typedef void *duckdb_table_function; -typedef void *duckdb_bind_info; -typedef void *duckdb_init_info; -typedef void *duckdb_function_info; - -typedef void (*duckdb_table_function_bind_t)(duckdb_bind_info info); -typedef void (*duckdb_table_function_init_t)(duckdb_init_info info); -typedef void (*duckdb_table_function_t)(duckdb_function_info info, duckdb_data_chunk output); -typedef void (*duckdb_delete_callback_t)(void *data); /*! Creates a new empty table function. @@ -1844,7 +2174,7 @@ DUCKDB_API void duckdb_table_function_set_extra_info(duckdb_table_function table duckdb_delete_callback_t destroy); /*! -Sets the bind function of the table function +Sets the bind function of the table function. * table_function: The table function * bind: The bind function @@ -1852,7 +2182,7 @@ Sets the bind function of the table function DUCKDB_API void duckdb_table_function_set_bind(duckdb_table_function table_function, duckdb_table_function_bind_t bind); /*! -Sets the init function of the table function +Sets the init function of the table function. * table_function: The table function * init: The init function @@ -1860,7 +2190,7 @@ Sets the init function of the table function DUCKDB_API void duckdb_table_function_set_init(duckdb_table_function table_function, duckdb_table_function_init_t init); /*! -Sets the thread-local init function of the table function +Sets the thread-local init function of the table function. * table_function: The table function * init: The init function @@ -1869,7 +2199,7 @@ DUCKDB_API void duckdb_table_function_set_local_init(duckdb_table_function table duckdb_table_function_init_t init); /*! -Sets the main function of the table function +Sets the main function of the table function. * table_function: The table function * function: The function @@ -1905,8 +2235,9 @@ DUCKDB_API duckdb_state duckdb_register_table_function(duckdb_connection con, du //===--------------------------------------------------------------------===// // Table Function Bind //===--------------------------------------------------------------------===// + /*! -Retrieves the extra info of the function as set in `duckdb_table_function_set_extra_info` +Retrieves the extra info of the function as set in `duckdb_table_function_set_extra_info`. * info: The info object * returns: The extra info @@ -1982,7 +2313,7 @@ DUCKDB_API void duckdb_bind_set_error(duckdb_bind_info info, const char *error); //===--------------------------------------------------------------------===// /*! -Retrieves the extra info of the function as set in `duckdb_table_function_set_extra_info` +Retrieves the extra info of the function as set in `duckdb_table_function_set_extra_info`. * info: The info object * returns: The extra info @@ -2051,12 +2382,13 @@ DUCKDB_API void duckdb_init_set_error(duckdb_init_info info, const char *error); //===--------------------------------------------------------------------===// /*! -Retrieves the extra info of the function as set in `duckdb_table_function_set_extra_info` +Retrieves the extra info of the function as set in `duckdb_table_function_set_extra_info`. * info: The info object * returns: The extra info */ DUCKDB_API void *duckdb_function_get_extra_info(duckdb_function_info info); + /*! Gets the bind data set by `duckdb_bind_set_bind_data` during the bind. @@ -2095,12 +2427,9 @@ DUCKDB_API void duckdb_function_set_error(duckdb_function_info info, const char //===--------------------------------------------------------------------===// // Replacement Scans //===--------------------------------------------------------------------===// -typedef void *duckdb_replacement_scan_info; - -typedef void (*duckdb_replacement_callback_t)(duckdb_replacement_scan_info info, const char *table_name, void *data); /*! -Add a replacement scan definition to the specified database +Add a replacement scan definition to the specified database. * db: The database object to add the replacement scan to * replacement: The replacement scan callback @@ -2111,8 +2440,8 @@ DUCKDB_API void duckdb_add_replacement_scan(duckdb_database db, duckdb_replaceme void *extra_data, duckdb_delete_callback_t delete_callback); /*! -Sets the replacement function name to use. If this function is called in the replacement callback, - the replacement scan is performed. If it is not called, the replacement callback is not performed. +Sets the replacement function name. If this function is called in the replacement callback, +the replacement scan is performed. If it is not called, the replacement callback is not performed. * info: The info object * function_name: The function name to substitute. @@ -2146,12 +2475,17 @@ DUCKDB_API void duckdb_replacement_scan_set_error(duckdb_replacement_scan_info i // the row should be finished by calling `duckdb_appender_end_row`. After all rows have been appended, // `duckdb_appender_destroy` should be used to finalize the appender and clean up the resulting memory. +// Instead of appending rows with `duckdb_appender_end_row`, it is also possible to fill and append +// chunks-at-a-time. + // Note that `duckdb_appender_destroy` should always be called on the resulting appender, even if the function returns // `DuckDBError`. /*! Creates an appender object. +Note that the object must be destroyed with `duckdb_appender_destroy`. + * connection: The connection context to create the appender in. * schema: The schema of the table to append to, or `nullptr` for the default schema. * table: The table name to append to. @@ -2161,6 +2495,25 @@ Creates an appender object. DUCKDB_API duckdb_state duckdb_appender_create(duckdb_connection connection, const char *schema, const char *table, duckdb_appender *out_appender); +/*! +Returns the number of columns in the table that belongs to the appender. + +* appender The appender to get the column count from. +* returns: The number of columns in the table. +*/ +DUCKDB_API idx_t duckdb_appender_column_count(duckdb_appender appender); + +/*! +Returns the type of the column at the specified index. + +Note: The resulting type should be destroyed with `duckdb_destroy_logical_type`. + +* appender The appender to get the column type from. +* col_idx The index of the column to get the type of. +* returns: The duckdb_logical_type of the column. +*/ +DUCKDB_API duckdb_logical_type duckdb_appender_column_type(duckdb_appender appender, idx_t col_idx); + /*! Returns the error message associated with the given appender. If the appender has no error message, this returns `nullptr` instead. @@ -2225,18 +2578,22 @@ DUCKDB_API duckdb_state duckdb_append_bool(duckdb_appender appender, bool value) Append an int8_t value to the appender. */ DUCKDB_API duckdb_state duckdb_append_int8(duckdb_appender appender, int8_t value); + /*! Append an int16_t value to the appender. */ DUCKDB_API duckdb_state duckdb_append_int16(duckdb_appender appender, int16_t value); + /*! Append an int32_t value to the appender. */ DUCKDB_API duckdb_state duckdb_append_int32(duckdb_appender appender, int32_t value); + /*! Append an int64_t value to the appender. */ DUCKDB_API duckdb_state duckdb_append_int64(duckdb_appender appender, int64_t value); + /*! Append a duckdb_hugeint value to the appender. */ @@ -2246,23 +2603,32 @@ DUCKDB_API duckdb_state duckdb_append_hugeint(duckdb_appender appender, duckdb_h Append a uint8_t value to the appender. */ DUCKDB_API duckdb_state duckdb_append_uint8(duckdb_appender appender, uint8_t value); + /*! Append a uint16_t value to the appender. */ DUCKDB_API duckdb_state duckdb_append_uint16(duckdb_appender appender, uint16_t value); + /*! Append a uint32_t value to the appender. */ DUCKDB_API duckdb_state duckdb_append_uint32(duckdb_appender appender, uint32_t value); + /*! Append a uint64_t value to the appender. */ DUCKDB_API duckdb_state duckdb_append_uint64(duckdb_appender appender, uint64_t value); +/*! +Append a duckdb_uhugeint value to the appender. +*/ +DUCKDB_API duckdb_state duckdb_append_uhugeint(duckdb_appender appender, duckdb_uhugeint value); + /*! Append a float value to the appender. */ DUCKDB_API duckdb_state duckdb_append_float(duckdb_appender appender, float value); + /*! Append a double value to the appender. */ @@ -2272,14 +2638,17 @@ DUCKDB_API duckdb_state duckdb_append_double(duckdb_appender appender, double va Append a duckdb_date value to the appender. */ DUCKDB_API duckdb_state duckdb_append_date(duckdb_appender appender, duckdb_date value); + /*! Append a duckdb_time value to the appender. */ DUCKDB_API duckdb_state duckdb_append_time(duckdb_appender appender, duckdb_time value); + /*! Append a duckdb_timestamp value to the appender. */ DUCKDB_API duckdb_state duckdb_append_timestamp(duckdb_appender appender, duckdb_timestamp value); + /*! Append a duckdb_interval value to the appender. */ @@ -2289,14 +2658,17 @@ DUCKDB_API duckdb_state duckdb_append_interval(duckdb_appender appender, duckdb_ Append a varchar value to the appender. */ DUCKDB_API duckdb_state duckdb_append_varchar(duckdb_appender appender, const char *val); + /*! Append a varchar value to the appender. */ DUCKDB_API duckdb_state duckdb_append_varchar_length(duckdb_appender appender, const char *val, idx_t length); + /*! Append a blob value to the appender. */ DUCKDB_API duckdb_state duckdb_append_blob(duckdb_appender appender, const void *data, idx_t length); + /*! Append a NULL value to the appender (of any type). */ @@ -2318,6 +2690,7 @@ DUCKDB_API duckdb_state duckdb_append_data_chunk(duckdb_appender appender, duckd //===--------------------------------------------------------------------===// // Arrow Interface //===--------------------------------------------------------------------===// + /*! Executes a SQL query within a connection and stores the full (materialized) result in an arrow structure. If the query fails to execute, DuckDBError is returned and the error message can be retrieved by calling @@ -2334,7 +2707,8 @@ query fails, otherwise the error stored within the result will not be freed corr DUCKDB_API duckdb_state duckdb_query_arrow(duckdb_connection connection, const char *query, duckdb_arrow *out_result); /*! -Fetch the internal arrow schema from the arrow result. +Fetch the internal arrow schema from the arrow result. Remember to call release on the respective +ArrowSchema object. * result: The result to fetch the schema from. * out_schema: The output schema. @@ -2343,7 +2717,8 @@ Fetch the internal arrow schema from the arrow result. DUCKDB_API duckdb_state duckdb_query_arrow_schema(duckdb_arrow result, duckdb_arrow_schema *out_schema); /*! -Fetch the internal arrow schema from the prepared statement. +Fetch the internal arrow schema from the prepared statement. Remember to call release on the respective +ArrowSchema object. * result: The prepared statement to fetch the schema from. * out_schema: The output schema. @@ -2351,9 +2726,19 @@ Fetch the internal arrow schema from the prepared statement. */ DUCKDB_API duckdb_state duckdb_prepared_arrow_schema(duckdb_prepared_statement prepared, duckdb_arrow_schema *out_schema); +/*! +Convert a data chunk into an arrow struct array. Remember to call release on the respective +ArrowArray object. + +* result: The result object the data chunk have been fetched from. +* chunk: The data chunk to convert. +* out_array: The output array. +*/ +DUCKDB_API void duckdb_result_arrow_array(duckdb_result result, duckdb_data_chunk chunk, duckdb_arrow_array *out_array); /*! -Fetch an internal arrow array from the arrow result. +Fetch an internal arrow struct array from the arrow result. Remember to call release on the respective +ArrowArray object. This function can be called multiple time to get next chunks, which will free the previous out_array. So consume the out_array before calling this function again. @@ -2365,7 +2750,7 @@ So consume the out_array before calling this function again. DUCKDB_API duckdb_state duckdb_query_arrow_array(duckdb_arrow result, duckdb_arrow_array *out_array); /*! -Returns the number of columns present in a the arrow result object. +Returns the number of columns present in the arrow result object. * result: The result object. * returns: The number of columns present in the result object. @@ -2373,7 +2758,7 @@ Returns the number of columns present in a the arrow result object. DUCKDB_API idx_t duckdb_arrow_column_count(duckdb_arrow result); /*! -Returns the number of rows present in a the arrow result object. +Returns the number of rows present in the arrow result object. * result: The result object. * returns: The number of rows present in the result object. @@ -2395,7 +2780,7 @@ Returns the error message contained within the result. The error is only set if The error message should not be freed. It will be de-allocated when `duckdb_destroy_arrow` is called. -* result: The result object to fetch the nullmask from. +* result: The result object to fetch the error from. * returns: The error of the result. */ DUCKDB_API const char *duckdb_query_arrow_error(duckdb_arrow result); @@ -2407,10 +2792,53 @@ Closes the result and de-allocates all memory allocated for the arrow result. */ DUCKDB_API void duckdb_destroy_arrow(duckdb_arrow *result); +/*! +Releases the arrow array stream and de-allocates its memory. + +* stream: The arrow array stream to destroy. +*/ +DUCKDB_API void duckdb_destroy_arrow_stream(duckdb_arrow_stream *stream_p); + +/*! +Executes the prepared statement with the given bound parameters, and returns an arrow query result. +Note that after running `duckdb_execute_prepared_arrow`, `duckdb_destroy_arrow` must be called on the result object. + +* prepared_statement: The prepared statement to execute. +* out_result: The query result. +* returns: `DuckDBSuccess` on success or `DuckDBError` on failure. +*/ +DUCKDB_API duckdb_state duckdb_execute_prepared_arrow(duckdb_prepared_statement prepared_statement, + duckdb_arrow *out_result); + +/*! +Scans the Arrow stream and creates a view with the given name. + +* connection: The connection on which to execute the scan. +* table_name: Name of the temporary view to create. +* arrow: Arrow stream wrapper. +* returns: `DuckDBSuccess` on success or `DuckDBError` on failure. +*/ +DUCKDB_API duckdb_state duckdb_arrow_scan(duckdb_connection connection, const char *table_name, + duckdb_arrow_stream arrow); + +/*! +Scans the Arrow array and creates a view with the given name. +Note that after running `duckdb_arrow_array_scan`, `duckdb_destroy_arrow_stream` must be called on the out stream. + +* connection: The connection on which to execute the scan. +* table_name: Name of the temporary view to create. +* arrow_schema: Arrow schema wrapper. +* arrow_array: Arrow array wrapper. +* out_stream: Output array stream that wraps around the passed schema, for releasing/deleting once done. +* returns: `DuckDBSuccess` on success or `DuckDBError` on failure. +*/ +DUCKDB_API duckdb_state duckdb_arrow_array_scan(duckdb_connection connection, const char *table_name, + duckdb_arrow_schema arrow_schema, duckdb_arrow_array arrow_array, + duckdb_arrow_stream *out_stream); + //===--------------------------------------------------------------------===// // Threading Information //===--------------------------------------------------------------------===// -typedef void *duckdb_task_state; /*! Execute DuckDB tasks on this thread. @@ -2424,9 +2852,9 @@ DUCKDB_API void duckdb_execute_tasks(duckdb_database database, idx_t max_tasks); /*! Creates a task state that can be used with duckdb_execute_tasks_state to execute tasks until - duckdb_finish_execution is called on the state. +`duckdb_finish_execution` is called on the state. -duckdb_destroy_state should be called on the result in order to free memory. +`duckdb_destroy_state` must be called on the result. * database: The database object to create the task state for * returns: The task state that can be used with duckdb_execute_tasks_state. @@ -2483,7 +2911,7 @@ on the task state. DUCKDB_API void duckdb_destroy_task_state(duckdb_task_state state); /*! -Returns true if execution of the current query is finished. +Returns true if the execution of the current query is finished. * con: The connection on which to check */ diff --git a/src/include/duckdb/catalog/catalog.hpp b/src/include/duckdb/catalog/catalog.hpp index f04f027be05a..988d54c74f40 100644 --- a/src/include/duckdb/catalog/catalog.hpp +++ b/src/include/duckdb/catalog/catalog.hpp @@ -16,6 +16,7 @@ #include "duckdb/common/atomic.hpp" #include "duckdb/common/optional_ptr.hpp" #include "duckdb/common/enums/on_entry_not_found.hpp" +#include "duckdb/common/exception/catalog_exception.hpp" #include namespace duckdb { @@ -238,7 +239,7 @@ class Catalog { return nullptr; } if (entry->type != T::Type) { - throw CatalogException(error_context.FormatError("%s is not an %s", name, T::Name)); + throw CatalogException(error_context, "%s is not an %s", name, T::Name); } return &entry->template Cast(); } @@ -282,7 +283,7 @@ class Catalog { return nullptr; } if (entry->type != T::Type) { - throw CatalogException(error_context.FormatError("%s is not an %s", name, T::Name)); + throw CatalogException(error_context, "%s is not an %s", name, T::Name); } return &entry->template Cast(); } @@ -306,7 +307,7 @@ class Catalog { //! Autoload the extension required for `configuration_name` or throw a CatalogException static void AutoloadExtensionByConfigName(ClientContext &context, const string &configuration_name); //! Autoload the extension required for `function_name` or throw a CatalogException - static bool AutoLoadExtensionByCatalogEntry(ClientContext &context, CatalogType type, const string &entry_name); + static bool AutoLoadExtensionByCatalogEntry(DatabaseInstance &db, CatalogType type, const string &entry_name); DUCKDB_API static bool TryAutoLoad(ClientContext &context, const string &extension_name) noexcept; protected: diff --git a/src/include/duckdb/catalog/catalog_entry.hpp b/src/include/duckdb/catalog/catalog_entry.hpp index 452e61b57386..995b8d00dbd8 100644 --- a/src/include/duckdb/catalog/catalog_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry.hpp @@ -13,6 +13,8 @@ #include "duckdb/common/exception.hpp" #include "duckdb/common/atomic.hpp" #include "duckdb/common/optional_ptr.hpp" +#include "duckdb/common/exception/catalog_exception.hpp" +#include "duckdb/common/types/value.hpp" #include namespace duckdb { @@ -23,6 +25,7 @@ class ClientContext; class SchemaCatalogEntry; class Serializer; class Deserializer; +class Value; struct CreateInfo; @@ -49,6 +52,10 @@ class CatalogEntry { bool internal; //! Timestamp at which the catalog entry was created atomic timestamp; + //! (optional) comment on this entry + Value comment; + +private: //! Child entry unique_ptr child; //! Parent entry (the node that dependents_map this node) @@ -77,6 +84,14 @@ class CatalogEntry { void Serialize(Serializer &serializer) const; static unique_ptr Deserialize(Deserializer &deserializer); +public: + void SetChild(unique_ptr child); + unique_ptr TakeChild(); + bool HasChild() const; + bool HasParent() const; + CatalogEntry &Child(); + CatalogEntry &Parent(); + public: template TARGET &Cast() { diff --git a/src/include/duckdb/catalog/catalog_entry/dependency/dependency_dependent_entry.hpp b/src/include/duckdb/catalog/catalog_entry/dependency/dependency_dependent_entry.hpp new file mode 100644 index 000000000000..83de8dc1595a --- /dev/null +++ b/src/include/duckdb/catalog/catalog_entry/dependency/dependency_dependent_entry.hpp @@ -0,0 +1,27 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/catalog/catalog_entry.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/catalog/catalog_entry/dependency/dependency_entry.hpp" + +namespace duckdb { + +class DependencyDependentEntry : public DependencyEntry { +public: + ~DependencyDependentEntry() override; + DependencyDependentEntry(Catalog &catalog, const DependencyInfo &info); + +public: + const CatalogEntryInfo &EntryInfo() const override; + const MangledEntryName &EntryMangledName() const override; + const CatalogEntryInfo &SourceInfo() const override; + const MangledEntryName &SourceMangledName() const override; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/catalog/catalog_entry/dependency/dependency_entry.hpp b/src/include/duckdb/catalog/catalog_entry/dependency/dependency_entry.hpp new file mode 100644 index 000000000000..b90a5c5e0b84 --- /dev/null +++ b/src/include/duckdb/catalog/catalog_entry/dependency/dependency_entry.hpp @@ -0,0 +1,66 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/catalog/catalog_entry.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/common.hpp" +#include "duckdb/common/enums/catalog_type.hpp" +#include "duckdb/common/exception.hpp" +#include "duckdb/common/atomic.hpp" +#include "duckdb/common/optional_ptr.hpp" +#include "duckdb/catalog/catalog_entry.hpp" +#include "duckdb/catalog/catalog_set.hpp" +#include "duckdb/catalog/dependency.hpp" +#include "duckdb/catalog/dependency_manager.hpp" +#include + +namespace duckdb { + +class DependencyManager; + +class DependencySetCatalogEntry; + +//! Resembles a connection between an object and the CatalogEntry that can be retrieved from the Catalog using the +//! identifiers listed here + +enum class DependencyEntryType : uint8_t { SUBJECT, DEPENDENT }; + +class DependencyEntry : public InCatalogEntry { +public: + ~DependencyEntry() override; + +protected: + DependencyEntry(Catalog &catalog, DependencyEntryType type, const MangledDependencyName &name, + const DependencyInfo &info); + +public: + const MangledEntryName &SubjectMangledName() const; + const DependencySubject &Subject() const; + + const MangledEntryName &DependentMangledName() const; + const DependencyDependent &Dependent() const; + + virtual const CatalogEntryInfo &EntryInfo() const = 0; + virtual const MangledEntryName &EntryMangledName() const = 0; + virtual const CatalogEntryInfo &SourceInfo() const = 0; + virtual const MangledEntryName &SourceMangledName() const = 0; + +public: + DependencyEntryType Side() const; + +protected: + const MangledEntryName dependent_name; + const MangledEntryName subject_name; + const DependencyDependent dependent; + const DependencySubject subject; + +private: + DependencyEntryType side; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/catalog/catalog_entry/dependency/dependency_subject_entry.hpp b/src/include/duckdb/catalog/catalog_entry/dependency/dependency_subject_entry.hpp new file mode 100644 index 000000000000..043d0cb25ce8 --- /dev/null +++ b/src/include/duckdb/catalog/catalog_entry/dependency/dependency_subject_entry.hpp @@ -0,0 +1,27 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/catalog/catalog_entry.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/catalog/catalog_entry/dependency/dependency_entry.hpp" + +namespace duckdb { + +class DependencySubjectEntry : public DependencyEntry { +public: + ~DependencySubjectEntry() override; + DependencySubjectEntry(Catalog &catalog, const DependencyInfo &info); + +public: + const CatalogEntryInfo &EntryInfo() const override; + const MangledEntryName &EntryMangledName() const override; + const CatalogEntryInfo &SourceInfo() const override; + const MangledEntryName &SourceMangledName() const override; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp b/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp index 270c0748bd6c..44923729a11f 100644 --- a/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp @@ -12,19 +12,39 @@ namespace duckdb { -//! An index catalog entry +//! Wrapper class to allow copying a DuckIndexEntry (for altering the DuckIndexEntry metadata such as comments) +struct IndexDataTableInfo { + IndexDataTableInfo(shared_ptr &info_p, const string &index_name_p); + ~IndexDataTableInfo(); + + //! Pointer to the DataTableInfo + shared_ptr info; + //! The index to be removed on destruction + string index_name; +}; + +//! A duck index entry class DuckIndexEntry : public IndexCatalogEntry { public: - //! Create an IndexCatalogEntry and initialize storage for it + //! Create a DuckIndexEntry DuckIndexEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateIndexInfo &info); - ~DuckIndexEntry(); - shared_ptr info; + virtual unique_ptr Copy(ClientContext &context) const override; + + //! The indexed table information + shared_ptr info; + + //! We need the initial size of the index after the CREATE INDEX statement, + //! as it is necessary to determine the auto checkpoint threshold + idx_t initial_index_size; public: string GetSchemaName() const override; string GetTableName() const override; - //! This drops in-memory index data and marks all blocks on disk as free blocks, allowing to reclaim them + + DataTableInfo &GetDataTableInfo() const; + + //! Drops in-memory index data and marks all blocks on disk as free blocks, allowing to reclaim them void CommitDrop(); }; diff --git a/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp b/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp index b1dea57bef6d..01ef6fcf7adb 100644 --- a/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp @@ -15,7 +15,7 @@ namespace duckdb { //! A schema in the catalog class DuckSchemaEntry : public SchemaCatalogEntry { public: - DuckSchemaEntry(Catalog &catalog, string name, bool is_internal); + DuckSchemaEntry(Catalog &catalog, CreateSchemaInfo &info); private: //! The catalog set holding the tables @@ -64,6 +64,8 @@ class DuckSchemaEntry : public SchemaCatalogEntry { optional_ptr GetEntry(CatalogTransaction transaction, CatalogType type, const string &name) override; SimilarCatalogEntry GetSimilarEntry(CatalogTransaction transaction, CatalogType type, const string &name) override; + unique_ptr Copy(ClientContext &context) const override; + void Verify(Catalog &catalog) override; private: diff --git a/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp b/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp index b67c9cdb2742..0890ce829ab4 100644 --- a/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp @@ -1,7 +1,7 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/catalog/catalog_entry/dtable_catalog_entry.hpp +// duckdb/catalog/catalog_entry/duck_table_entry.hpp // // //===----------------------------------------------------------------------===// @@ -57,6 +57,7 @@ class DuckTableEntry : public TableCatalogEntry { unique_ptr DropNotNull(ClientContext &context, DropNotNullInfo &info); unique_ptr AddForeignKeyConstraint(ClientContext &context, AlterForeignKeyInfo &info); unique_ptr DropForeignKeyConstraint(ClientContext &context, AlterForeignKeyInfo &info); + unique_ptr SetColumnComment(ClientContext &context, SetColumnCommentInfo &info); void UpdateConstraintsOnColumnDrop(const LogicalIndex &removed_index, const vector &adjusted_indices, const RemoveColumnInfo &info, CreateTableInfo &create_info, bool is_generated); diff --git a/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp b/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp index 9097980480a1..77ba5e342f5d 100644 --- a/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp @@ -10,12 +10,10 @@ #include "duckdb/catalog/standard_entry.hpp" #include "duckdb/parser/parsed_data/create_index_info.hpp" -#include "duckdb/storage/metadata/metadata_writer.hpp" namespace duckdb { struct DataTableInfo; -class Index; //! An index catalog entry class IndexCatalogEntry : public StandardEntry { @@ -24,21 +22,37 @@ class IndexCatalogEntry : public StandardEntry { static constexpr const char *Name = "index"; public: - //! Create an IndexCatalogEntry and initialize storage for it + //! Create an IndexCatalogEntry IndexCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateIndexInfo &info); - optional_ptr index; + //! The SQL of the CREATE INDEX statement string sql; + //! Additional index options + case_insensitive_map_t options; + + //! The index type (ART, B+-tree, Skip-List, ...) + string index_type; + //! The index constraint type + IndexConstraintType index_constraint_type; + //! The column ids of the indexed table + vector column_ids; + //! The set of expressions to index by vector> expressions; vector> parsed_expressions; - case_insensitive_map_t options; public: + //! Returns the CreateIndexInfo unique_ptr GetInfo() const override; + //! Returns the original CREATE INDEX SQL string ToSQL() const override; virtual string GetSchemaName() const = 0; virtual string GetTableName() const = 0; + + //! Returns true, if this index is UNIQUE + bool IsUnique(); + //! Returns true, if this index is a PRIMARY KEY + bool IsPrimary(); }; } // namespace duckdb diff --git a/src/include/duckdb/catalog/catalog_entry/list.hpp b/src/include/duckdb/catalog/catalog_entry/list.hpp index 7f71bf74bd49..1be747588e4e 100644 --- a/src/include/duckdb/catalog/catalog_entry/list.hpp +++ b/src/include/duckdb/catalog/catalog_entry/list.hpp @@ -9,4 +9,5 @@ #include "duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/table_function_catalog_entry.hpp" +#include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/view_catalog_entry.hpp" diff --git a/src/include/duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp b/src/include/duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp index 36ec09b70c18..736cb9ca8a5e 100644 --- a/src/include/duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp @@ -23,5 +23,7 @@ class ScalarMacroCatalogEntry : public MacroCatalogEntry { public: ScalarMacroCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateMacroInfo &info); + + unique_ptr Copy(ClientContext &context) const override; }; } // namespace duckdb diff --git a/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp b/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp index ead175709b4a..0356ea308534 100644 --- a/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp @@ -44,7 +44,7 @@ class SchemaCatalogEntry : public InCatalogEntry { static constexpr const char *Name = "schema"; public: - SchemaCatalogEntry(Catalog &catalog, string name, bool is_internal); + SchemaCatalogEntry(Catalog &catalog, CreateSchemaInfo &info); public: unique_ptr GetInfo() const override; diff --git a/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp b/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp index 631df9887493..f96e6b9eaf0e 100644 --- a/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp @@ -14,6 +14,7 @@ #include "duckdb/parser/parsed_data/alter_table_info.hpp" namespace duckdb { +class DuckTransaction; struct SequenceValue { SequenceValue() : usage_count(0), counter(-1) { @@ -25,18 +26,9 @@ struct SequenceValue { int64_t counter; }; -//! A sequence catalog entry -class SequenceCatalogEntry : public StandardEntry { -public: - static constexpr const CatalogType Type = CatalogType::SEQUENCE_ENTRY; - static constexpr const char *Name = "sequence"; - -public: - //! Create a real TableCatalogEntry and initialize storage for it - SequenceCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateSequenceInfo &info); +struct SequenceData { + explicit SequenceData(CreateSequenceInfo &info); - //! Lock for getting a value on the sequence - mutex lock; //! The amount of times the sequence has been used uint64_t usage_count; //! The sequence counter @@ -53,10 +45,33 @@ class SequenceCatalogEntry : public StandardEntry { int64_t max_value; //! Whether or not the sequence cycles bool cycle; +}; + +//! A sequence catalog entry +class SequenceCatalogEntry : public StandardEntry { +public: + static constexpr const CatalogType Type = CatalogType::SEQUENCE_ENTRY; + static constexpr const char *Name = "sequence"; + +public: + //! Create a real TableCatalogEntry and initialize storage for it + SequenceCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateSequenceInfo &info); public: + virtual unique_ptr Copy(ClientContext &context) const override; unique_ptr GetInfo() const override; + SequenceData GetData() const; + int64_t CurrentValue(); + int64_t NextValue(DuckTransaction &transaction); + void ReplayValue(uint64_t usage_count, int64_t counter); + string ToSQL() const override; + +private: + //! Lock for getting a value on the sequence + mutable mutex lock; + //! Sequence data + SequenceData data; }; } // namespace duckdb diff --git a/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp b/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp index 207e52e7381a..243765a45006 100644 --- a/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp @@ -32,6 +32,7 @@ struct ChangeColumnTypeInfo; struct AlterForeignKeyInfo; struct SetNotNullInfo; struct DropNotNullInfo; +struct SetColumnCommentInfo; class TableFunction; struct FunctionData; diff --git a/src/include/duckdb/catalog/catalog_entry/table_macro_catalog_entry.hpp b/src/include/duckdb/catalog/catalog_entry/table_macro_catalog_entry.hpp index 171d14e59d3f..bbea06a7cae1 100644 --- a/src/include/duckdb/catalog/catalog_entry/table_macro_catalog_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry/table_macro_catalog_entry.hpp @@ -22,6 +22,8 @@ class TableMacroCatalogEntry : public MacroCatalogEntry { public: TableMacroCatalogEntry(Catalog &catalog, SchemaCatalogEntry &schema, CreateMacroInfo &info); + + unique_ptr Copy(ClientContext &context) const override; }; } // namespace duckdb diff --git a/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp b/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp index c5f61cfbfecb..97fdce21a423 100644 --- a/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp @@ -28,6 +28,7 @@ class TypeCatalogEntry : public StandardEntry { public: unique_ptr GetInfo() const override; + unique_ptr Copy(ClientContext &context) const override; string ToSQL() const override; }; diff --git a/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp b/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp index 459ed527efc7..554f13fccc6f 100644 --- a/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp +++ b/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp @@ -36,6 +36,8 @@ class ViewCatalogEntry : public StandardEntry { vector aliases; //! The returned types of the view vector types; + //! The returned names of the view + vector names; public: unique_ptr GetInfo() const override; diff --git a/src/include/duckdb/catalog/catalog_set.hpp b/src/include/duckdb/catalog/catalog_set.hpp index 5e980e3aef2a..b1c8de4b8768 100644 --- a/src/include/duckdb/catalog/catalog_set.hpp +++ b/src/include/duckdb/catalog/catalog_set.hpp @@ -27,46 +27,36 @@ struct AlterInfo; class ClientContext; class DependencyList; -struct MappingValue; -struct EntryIndex; class DuckCatalog; class TableCatalogEntry; class SequenceCatalogEntry; -typedef unordered_map> set_lock_map_t; - -struct EntryValue { - EntryValue() { - throw InternalException("EntryValue called without a catalog entry"); +class CatalogEntryMap { +public: + CatalogEntryMap() { } - explicit EntryValue(unique_ptr entry_p) : entry(std::move(entry_p)), reference_count(0) { - } - //! enable move constructors - EntryValue(EntryValue &&other) noexcept { - Swap(other); - } - EntryValue &operator=(EntryValue &&other) noexcept { - Swap(other); - return *this; - } - void Swap(EntryValue &other) { - std::swap(entry, other.entry); - idx_t count = reference_count; - reference_count = other.reference_count.load(); - other.reference_count = count; - } +public: + void AddEntry(unique_ptr entry); + void UpdateEntry(unique_ptr entry); + void DropEntry(CatalogEntry &entry); + case_insensitive_tree_t> &Entries(); + optional_ptr GetEntry(const string &name); - unique_ptr entry; - atomic reference_count; +private: + //! Mapping of string to catalog entry + case_insensitive_tree_t> entries; }; //! The Catalog Set stores (key, value) map of a set of CatalogEntries class CatalogSet { - friend class DependencyManager; - friend class EntryDropper; - friend struct EntryIndex; +public: + struct EntryLookup { + enum class FailureReason { SUCCESS, DELETED, NOT_PRESENT }; + optional_ptr result; + FailureReason reason; + }; public: DUCKDB_API explicit CatalogSet(Catalog &catalog, unique_ptr defaults = nullptr); @@ -75,9 +65,9 @@ class CatalogSet { //! Create an entry in the catalog set. Returns whether or not it was //! successful. DUCKDB_API bool CreateEntry(CatalogTransaction transaction, const string &name, unique_ptr value, - DependencyList &dependencies); + const DependencyList &dependencies); DUCKDB_API bool CreateEntry(ClientContext &context, const string &name, unique_ptr value, - DependencyList &dependencies); + const DependencyList &dependencies); DUCKDB_API bool AlterEntry(CatalogTransaction transaction, const string &name, AlterInfo &alter_info); @@ -93,6 +83,7 @@ class CatalogSet { void CleanupEntry(CatalogEntry &catalog_entry); //! Returns the entry with the specified name + DUCKDB_API EntryLookup GetEntryDetailed(CatalogTransaction transaction, const string &name); DUCKDB_API optional_ptr GetEntry(CatalogTransaction transaction, const string &name); DUCKDB_API optional_ptr GetEntry(ClientContext &context, const string &name); @@ -107,6 +98,8 @@ class CatalogSet { //! Scan the catalog set, invoking the callback method for every committed entry DUCKDB_API void Scan(const std::function &callback); //! Scan the catalog set, invoking the callback method for every entry + DUCKDB_API void ScanWithPrefix(CatalogTransaction transaction, const std::function &callback, + const string &prefix); DUCKDB_API void Scan(CatalogTransaction transaction, const std::function &callback); DUCKDB_API void Scan(ClientContext &context, const std::function &callback); @@ -117,6 +110,8 @@ class CatalogSet { return result; } + DUCKDB_API bool CreatedByOtherActiveTransaction(CatalogTransaction transaction, transaction_t timestamp); + DUCKDB_API bool CommittedAfterStarting(CatalogTransaction transaction, transaction_t timestamp); DUCKDB_API bool HasConflict(CatalogTransaction transaction, transaction_t timestamp); DUCKDB_API bool UseTimestamp(CatalogTransaction transaction, transaction_t timestamp); @@ -129,20 +124,13 @@ class CatalogSet { void Verify(Catalog &catalog); private: + bool DropDependencies(CatalogTransaction transaction, const string &name, bool cascade, + bool allow_drop_internal = false); //! Given a root entry, gets the entry valid for this transaction CatalogEntry &GetEntryForTransaction(CatalogTransaction transaction, CatalogEntry ¤t); CatalogEntry &GetCommittedEntry(CatalogEntry ¤t); - optional_ptr GetEntryInternal(CatalogTransaction transaction, const string &name, - EntryIndex *entry_index); - optional_ptr GetEntryInternal(CatalogTransaction transaction, EntryIndex &entry_index); - //! Drops an entry from the catalog set; must hold the catalog_lock to safely call this - void DropEntryInternal(CatalogTransaction transaction, EntryIndex entry_index, CatalogEntry &entry, bool cascade); - optional_ptr CreateEntryInternal(CatalogTransaction transaction, unique_ptr entry); - optional_ptr GetMapping(CatalogTransaction transaction, const string &name, bool get_latest = false); - void PutMapping(CatalogTransaction transaction, const string &name, EntryIndex entry_index); - void DeleteMapping(CatalogTransaction transaction, const string &name); - void DropEntryDependencies(CatalogTransaction transaction, EntryIndex &entry_index, CatalogEntry &entry, - bool cascade); + optional_ptr GetEntryInternal(CatalogTransaction transaction, const string &name); + optional_ptr CreateCommittedEntry(unique_ptr entry); //! Create all default entries void CreateDefaultEntries(CatalogTransaction transaction, unique_lock &lock); @@ -150,19 +138,23 @@ class CatalogSet { optional_ptr CreateDefaultEntry(CatalogTransaction transaction, const string &name, unique_lock &lock); - EntryIndex PutEntry(idx_t entry_index, unique_ptr entry); - void PutEntry(EntryIndex index, unique_ptr entry); + bool DropEntryInternal(CatalogTransaction transaction, const string &name, bool allow_drop_internal = false); + + bool CreateEntryInternal(CatalogTransaction transaction, const string &name, unique_ptr value, + unique_lock &read_lock, bool should_be_empty = true); + void CheckCatalogEntryInvariants(CatalogEntry &value, const string &name); + //! Verify that the previous entry in the chain is dropped. + bool VerifyVacancy(CatalogTransaction transaction, CatalogEntry &entry); + //! Start the catalog entry chain with a dummy node + bool StartChain(CatalogTransaction transaction, const string &name, unique_lock &read_lock); + bool RenameEntryInternal(CatalogTransaction transaction, CatalogEntry &old, const string &new_name, + AlterInfo &alter_info, unique_lock &read_lock); private: DuckCatalog &catalog; //! The catalog lock is used to make changes to the data mutex catalog_lock; - //! The set of catalog entries - unordered_map entries; - //! Mapping of string to catalog entry - case_insensitive_map_t> mapping; - //! The current catalog entry index - idx_t current_entry = 0; + CatalogEntryMap map; //! The generator used to generate default internal entries unique_ptr defaults; }; diff --git a/src/include/duckdb/catalog/catalog_transaction.hpp b/src/include/duckdb/catalog/catalog_transaction.hpp index 47fa68a7dd16..f9a327e7a65f 100644 --- a/src/include/duckdb/catalog/catalog_transaction.hpp +++ b/src/include/duckdb/catalog/catalog_transaction.hpp @@ -29,6 +29,7 @@ struct CatalogTransaction { ClientContext &GetContext(); + static CatalogTransaction GetSystemCatalogTransaction(ClientContext &context); static CatalogTransaction GetSystemTransaction(DatabaseInstance &db); }; diff --git a/src/include/duckdb/catalog/default/builtin_types/types.hpp b/src/include/duckdb/catalog/default/builtin_types/types.hpp index 817aefbc4aeb..1712b865413b 100644 --- a/src/include/duckdb/catalog/default/builtin_types/types.hpp +++ b/src/include/duckdb/catalog/default/builtin_types/types.hpp @@ -19,7 +19,7 @@ struct DefaultType { LogicalTypeId type; }; -using builtin_type_array = std::array; +using builtin_type_array = std::array; static constexpr const builtin_type_array BUILTIN_TYPES{{ {"decimal", LogicalTypeId::DECIMAL}, @@ -48,6 +48,8 @@ static constexpr const builtin_type_array BUILTIN_TYPES{{ {"binary", LogicalTypeId::BLOB}, {"hugeint", LogicalTypeId::HUGEINT}, {"int128", LogicalTypeId::HUGEINT}, + {"uhugeint", LogicalTypeId::UHUGEINT}, + {"uint128", LogicalTypeId::UHUGEINT}, {"bigint", LogicalTypeId::BIGINT}, {"oid", LogicalTypeId::BIGINT}, {"long", LogicalTypeId::BIGINT}, diff --git a/src/include/duckdb/catalog/default/builtin_types/types.json b/src/include/duckdb/catalog/default/builtin_types/types.json index 2e207380c77f..3a8ad335657e 100644 --- a/src/include/duckdb/catalog/default/builtin_types/types.json +++ b/src/include/duckdb/catalog/default/builtin_types/types.json @@ -102,6 +102,14 @@ "int128" ], "description": "signed sixteen-byte integer" + }, + { + "id": "UHUGEINT", + "names": [ + "uhugeint", + "uint128" + ], + "description": "unsigned sixteen-byte integer" }, { "id": "BIGINT", diff --git a/src/include/duckdb/catalog/dependency.hpp b/src/include/duckdb/catalog/dependency.hpp index 987dd89bef63..301789e2a9ee 100644 --- a/src/include/duckdb/catalog/dependency.hpp +++ b/src/include/duckdb/catalog/dependency.hpp @@ -14,23 +14,135 @@ namespace duckdb { class CatalogEntry; -enum class DependencyType { - DEPENDENCY_REGULAR = 0, - DEPENDENCY_AUTOMATIC = 1, - DEPENDENCY_OWNS = 2, - DEPENDENCY_OWNED_BY = 3 +struct DependencyFlags { +private: +public: + DependencyFlags() : value(0) { + } + DependencyFlags(const DependencyFlags &other) : value(other.value) { + } + DependencyFlags &operator=(const DependencyFlags &other) { + value = other.value; + return *this; + } + bool operator==(const DependencyFlags &other) const { + return other.value == value; + } + bool operator!=(const DependencyFlags &other) const { + return !(*this == other); + } + +public: + virtual string ToString() const = 0; + +protected: + template + bool IsSet() const { + static const uint8_t FLAG = (1 << BIT); + return (value & FLAG) == FLAG; + } + template + void Set() { + static const uint8_t FLAG = (1 << BIT); + value |= FLAG; + } + void Merge(uint8_t other) { + value |= other; + } + uint8_t Value() { + return value; + } + +private: + uint8_t value; +}; + +struct DependencySubjectFlags : public DependencyFlags { +private: + static constexpr uint8_t OWNERSHIP = 0; + +public: + DependencySubjectFlags &Apply(DependencySubjectFlags other) { + Merge(other.Value()); + return *this; + } + +public: + bool IsOwnership() const { + return IsSet(); + } + +public: + DependencySubjectFlags &SetOwnership() { + Set(); + return *this; + } + +public: + string ToString() const override { + string result; + if (IsOwnership()) { + result += "OWNS"; + } + return result; + } +}; + +struct DependencyDependentFlags : public DependencyFlags { +private: + static constexpr uint8_t BLOCKING = 0; + static constexpr uint8_t OWNED_BY = 1; + +public: + DependencyDependentFlags &Apply(DependencyDependentFlags other) { + Merge(other.Value()); + return *this; + } + +public: + bool IsBlocking() const { + return IsSet(); + } + bool IsOwnedBy() const { + return IsSet(); + } + +public: + DependencyDependentFlags &SetBlocking() { + Set(); + return *this; + } + DependencyDependentFlags &SetOwnedBy() { + Set(); + return *this; + } + +public: + string ToString() const override { + string result; + if (IsBlocking()) { + result += "REGULAR"; + } else { + result += "AUTOMATIC"; + } + result += " | "; + if (IsOwnedBy()) { + result += "OWNED BY"; + } + return result; + } }; struct Dependency { - Dependency(CatalogEntry &entry, DependencyType dependency_type = DependencyType::DEPENDENCY_REGULAR) + Dependency(CatalogEntry &entry, DependencyDependentFlags flags = DependencyDependentFlags().SetBlocking()) : // NOLINT: Allow implicit conversion from `CatalogEntry` - entry(entry), dependency_type(dependency_type) { + entry(entry), flags(flags) { } //! The catalog entry this depends on reference entry; //! The type of dependency - DependencyType dependency_type; + DependencyDependentFlags flags; }; struct DependencyHashFunction { diff --git a/src/include/duckdb/catalog/dependency_catalog_set.hpp b/src/include/duckdb/catalog/dependency_catalog_set.hpp new file mode 100644 index 000000000000..6c79ecc6fa46 --- /dev/null +++ b/src/include/duckdb/catalog/dependency_catalog_set.hpp @@ -0,0 +1,32 @@ +#pragma once + +#include "duckdb/catalog/catalog_set.hpp" +#include "duckdb/catalog/dependency_manager.hpp" + +namespace duckdb { + +//! This class mocks the CatalogSet interface, but does not actually store CatalogEntries +class DependencyCatalogSet { +public: + DependencyCatalogSet(CatalogSet &set, const CatalogEntryInfo &info) + : set(set), info(info), mangled_name(DependencyManager::MangleName(info)) { + } + +public: + bool CreateEntry(CatalogTransaction transaction, const MangledEntryName &name, unique_ptr value); + CatalogSet::EntryLookup GetEntryDetailed(CatalogTransaction transaction, const MangledEntryName &name); + optional_ptr GetEntry(CatalogTransaction transaction, const MangledEntryName &name); + void Scan(CatalogTransaction transaction, const std::function &callback); + bool DropEntry(CatalogTransaction transaction, const MangledEntryName &name, bool cascade, + bool allow_drop_internal = false); + +private: + MangledDependencyName ApplyPrefix(const MangledEntryName &name) const; + +public: + CatalogSet &set; + CatalogEntryInfo info; + MangledEntryName mangled_name; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/catalog/dependency_list.hpp b/src/include/duckdb/catalog/dependency_list.hpp index cf82209705dc..da90b00979a2 100644 --- a/src/include/duckdb/catalog/dependency_list.hpp +++ b/src/include/duckdb/catalog/dependency_list.hpp @@ -13,10 +13,12 @@ namespace duckdb { class Catalog; class CatalogEntry; +class DependencySetCatalogEntry; //! The DependencyList class DependencyList { friend class DependencyManager; + friend class DependencySetCatalogEntry; public: DUCKDB_API void AddDependency(CatalogEntry &entry); diff --git a/src/include/duckdb/catalog/dependency_manager.hpp b/src/include/duckdb/catalog/dependency_manager.hpp index 3ebab885f7f6..f7454f185430 100644 --- a/src/include/duckdb/catalog/dependency_manager.hpp +++ b/src/include/duckdb/catalog/dependency_manager.hpp @@ -20,35 +20,115 @@ namespace duckdb { class DuckCatalog; class ClientContext; class DependencyList; +class DependencyEntry; +class DependencySetCatalogEntry; + +struct CatalogEntryInfo { + CatalogType type; + string schema; + string name; +}; + +// The subject of this dependency +struct DependencySubject { + CatalogEntryInfo entry; + //! The type of dependency this is (e.g, ownership) + DependencySubjectFlags flags; +}; + +// The entry that relies on the other entry +struct DependencyDependent { + CatalogEntryInfo entry; + //! The type of dependency this is (e.g, blocking, non-blocking, ownership) + DependencyDependentFlags flags; +}; + +//! Every dependency consists of a subject (the entry being depended on) and a dependent (the entry that has the +//! dependency) +struct DependencyInfo { +public: + static DependencyInfo FromSubject(DependencyEntry &dep); + static DependencyInfo FromDependent(DependencyEntry &dep); + +public: + DependencyDependent dependent; + DependencySubject subject; +}; + +struct MangledEntryName { +public: + MangledEntryName(const CatalogEntryInfo &info); + MangledEntryName() = delete; + +public: + //! Format: Type\0Schema\0Name + string name; +}; + +struct MangledDependencyName { +public: + MangledDependencyName(const MangledEntryName &from, const MangledEntryName &to); + MangledDependencyName() = delete; + +public: + //! Format: MangledEntryName\0MangledEntryName + string name; +}; //! The DependencyManager is in charge of managing dependencies between catalog entries class DependencyManager { friend class CatalogSet; + friend class DependencySetCatalogEntry; public: explicit DependencyManager(DuckCatalog &catalog); - //! Erase the object from the DependencyManager; this should only happen when the object itself is destroyed - void EraseObject(CatalogEntry &object); - //! Scans all dependencies, returning pairs of (object, dependent) - void Scan(const std::function &callback); + void Scan(ClientContext &context, + const std::function &callback); void AddOwnership(CatalogTransaction transaction, CatalogEntry &owner, CatalogEntry &entry); private: DuckCatalog &catalog; - //! Map of objects that DEPEND on [object], i.e. [object] can only be deleted when all entries in the dependency map - //! are deleted. - catalog_entry_map_t dependents_map; - //! Map of objects that the source object DEPENDS on, i.e. when any of the entries in the vector perform a CASCADE - //! drop then [object] is deleted as well - catalog_entry_map_t dependencies_map; + CatalogSet subjects; + CatalogSet dependents; + +private: + bool IsSystemEntry(CatalogEntry &entry) const; + optional_ptr LookupEntry(CatalogTransaction transaction, CatalogEntry &dependency); + + void CleanupDependencies(CatalogTransaction transaction, CatalogEntry &entry); + +public: + static string GetSchema(CatalogEntry &entry); + static MangledEntryName MangleName(const CatalogEntryInfo &info); + static MangledEntryName MangleName(CatalogEntry &entry); + static CatalogEntryInfo GetLookupProperties(CatalogEntry &entry); private: - void AddObject(CatalogTransaction transaction, CatalogEntry &object, DependencyList &dependencies); + void AddObject(CatalogTransaction transaction, CatalogEntry &object, const DependencyList &dependencies); void DropObject(CatalogTransaction transaction, CatalogEntry &object, bool cascade); void AlterObject(CatalogTransaction transaction, CatalogEntry &old_obj, CatalogEntry &new_obj); - void EraseObjectInternal(CatalogEntry &object); + +private: + void RemoveDependency(CatalogTransaction transaction, const DependencyInfo &info); + void CreateDependency(CatalogTransaction transaction, DependencyInfo &info); + using dependency_entry_func_t = const std::function( + Catalog &catalog, const DependencyDependent &dependent, const DependencySubject &dependency)>; + + void CreateSubject(CatalogTransaction transaction, const DependencyInfo &info); + void CreateDependent(CatalogTransaction transaction, const DependencyInfo &info); + + using dependency_callback_t = const std::function; + void ScanDependents(CatalogTransaction transaction, const CatalogEntryInfo &info, dependency_callback_t &callback); + void ScanSubjects(CatalogTransaction transaction, const CatalogEntryInfo &info, dependency_callback_t &callback); + void ScanSetInternal(CatalogTransaction transaction, const CatalogEntryInfo &info, bool subjects, + dependency_callback_t &callback); + void PrintSubjects(CatalogTransaction transaction, const CatalogEntryInfo &info); + void PrintDependents(CatalogTransaction transaction, const CatalogEntryInfo &info); + CatalogSet &Dependents(); + CatalogSet &Subjects(); }; + } // namespace duckdb diff --git a/src/include/duckdb/catalog/mapping_value.hpp b/src/include/duckdb/catalog/mapping_value.hpp deleted file mode 100644 index 50d16c04e61b..000000000000 --- a/src/include/duckdb/catalog/mapping_value.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb/catalog/mapping_value.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb/catalog/catalog_entry.hpp" -#include "duckdb/catalog/catalog_set.hpp" - -namespace duckdb { -struct AlterInfo; - -class ClientContext; - -struct EntryIndex { - EntryIndex() : catalog(nullptr), index(DConstants::INVALID_INDEX) { - } - EntryIndex(CatalogSet &catalog, idx_t index) : catalog(&catalog), index(index) { - auto entry = catalog.entries.find(index); - if (entry == catalog.entries.end()) { - throw InternalException("EntryIndex - Catalog entry not found in constructor!?"); - } - catalog.entries[index].reference_count++; - } - ~EntryIndex() { - if (!catalog) { - return; - } - auto entry = catalog->entries.find(index); - D_ASSERT(entry != catalog->entries.end()); - auto remaining_ref = --entry->second.reference_count; - if (remaining_ref == 0) { - catalog->entries.erase(index); - } - catalog = nullptr; - } - // disable copy constructors - EntryIndex(const EntryIndex &other) = delete; - EntryIndex &operator=(const EntryIndex &) = delete; - //! enable move constructors - EntryIndex(EntryIndex &&other) noexcept { - catalog = nullptr; - index = DConstants::INVALID_INDEX; - std::swap(catalog, other.catalog); - std::swap(index, other.index); - } - EntryIndex &operator=(EntryIndex &&other) noexcept { - std::swap(catalog, other.catalog); - std::swap(index, other.index); - return *this; - } - - unique_ptr &GetEntry() { - auto entry = catalog->entries.find(index); - if (entry == catalog->entries.end()) { - throw InternalException("EntryIndex - Catalog entry not found!?"); - } - return entry->second.entry; - } - idx_t GetIndex() { - return index; - } - EntryIndex Copy() { - if (catalog) { - return EntryIndex(*catalog, index); - } else { - return EntryIndex(); - } - } - -private: - CatalogSet *catalog; - idx_t index; -}; - -struct MappingValue { - explicit MappingValue(EntryIndex index_p) - : index(std::move(index_p)), timestamp(0), deleted(false), parent(nullptr) { - } - - EntryIndex index; - transaction_t timestamp; - bool deleted; - unique_ptr child; - MappingValue *parent; -}; - -} // namespace duckdb diff --git a/src/include/duckdb/catalog/standard_entry.hpp b/src/include/duckdb/catalog/standard_entry.hpp index 2bbc699214ce..4210796701f4 100644 --- a/src/include/duckdb/catalog/standard_entry.hpp +++ b/src/include/duckdb/catalog/standard_entry.hpp @@ -17,7 +17,7 @@ class SchemaCatalogEntry; class StandardEntry : public InCatalogEntry { public: StandardEntry(CatalogType type, SchemaCatalogEntry &schema, Catalog &catalog, string name) - : InCatalogEntry(type, catalog, name), schema(schema) { + : InCatalogEntry(type, catalog, std::move(name)), schema(schema) { } ~StandardEntry() override { } diff --git a/src/include/duckdb/common/adbc/adbc-init.hpp b/src/include/duckdb/common/adbc/adbc-init.hpp index d8302c662c1b..8a5ce110a827 100644 --- a/src/include/duckdb/common/adbc/adbc-init.hpp +++ b/src/include/duckdb/common/adbc/adbc-init.hpp @@ -20,15 +20,17 @@ #ifndef DUCKDB_ADBC_INIT #define DUCKDB_ADBC_INIT +#include "duckdb.h" #include "duckdb/common/adbc/adbc.hpp" #ifdef __cplusplus extern "C" { #endif +typedef uint8_t AdbcStatusCode; + //! We gotta leak the symbols of the init function -duckdb_adbc::AdbcStatusCode duckdb_adbc_init(size_t count, struct duckdb_adbc::AdbcDriver *driver, - struct duckdb_adbc::AdbcError *error); +DUCKDB_API AdbcStatusCode duckdb_adbc_init(int version, void *driver, struct AdbcError *error); #ifdef __cplusplus } diff --git a/src/include/duckdb/common/adbc/adbc.h b/src/include/duckdb/common/adbc/adbc.h index b5f9faf422ec..a9374cdaf4d8 100644 --- a/src/include/duckdb/common/adbc/adbc.h +++ b/src/include/duckdb/common/adbc/adbc.h @@ -1,3 +1,9 @@ +//////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////// +// THIS FILE IS GENERATED BY apache/arrow, DO NOT EDIT MANUALLY // +//////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////// + // Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information @@ -35,7 +41,7 @@ /// but not concurrent access. Specific implementations may permit /// multiple threads. /// -/// \version 1.0.0 +/// \version 1.1.0 #pragma once @@ -51,18 +57,103 @@ /// @{ //! @cond Doxygen_Suppress -namespace duckdb_adbc { - #ifdef __cplusplus extern "C" { #endif -#ifndef ARROW_ADBC -#define ARROW_ADBC +// Extra guard for versions of Arrow without the canonical guard +#ifndef ARROW_FLAG_DICTIONARY_ORDERED + +#ifndef ARROW_C_DATA_INTERFACE +#define ARROW_C_DATA_INTERFACE + +#define ARROW_FLAG_DICTIONARY_ORDERED 1 +#define ARROW_FLAG_NULLABLE 2 +#define ARROW_FLAG_MAP_KEYS_SORTED 4 + +struct ArrowSchema { + // Array type description + const char *format; + const char *name; + const char *metadata; + int64_t flags; + int64_t n_children; + struct ArrowSchema **children; + struct ArrowSchema *dictionary; + + // Release callback + void (*release)(struct ArrowSchema *); + // Opaque producer-specific data + void *private_data; +}; + +struct ArrowArray { + // Array data description + int64_t length; + int64_t null_count; + int64_t offset; + int64_t n_buffers; + int64_t n_children; + const void **buffers; + struct ArrowArray **children; + struct ArrowArray *dictionary; + + // Release callback + void (*release)(struct ArrowArray *); + // Opaque producer-specific data + void *private_data; +}; + +#endif // ARROW_C_DATA_INTERFACE + +#ifndef ARROW_C_STREAM_INTERFACE +#define ARROW_C_STREAM_INTERFACE + +struct ArrowArrayStream { + // Callback to get the stream type + // (will be the same for all arrays in the stream). + // + // Return value: 0 if successful, an `errno`-compatible error code otherwise. + // + // If successful, the ArrowSchema must be released independently from the stream. + int (*get_schema)(struct ArrowArrayStream *, struct ArrowSchema *out); + + // Callback to get the next array + // (if no error and the array is released, the stream has ended) + // + // Return value: 0 if successful, an `errno`-compatible error code otherwise. + // + // If successful, the ArrowArray must be released independently from the stream. + int (*get_next)(struct ArrowArrayStream *, struct ArrowArray *out); + + // Callback to get optional detailed error information. + // This must only be called if the last stream operation failed + // with a non-0 return code. + // + // Return value: pointer to a null-terminated character array describing + // the last error, or NULL if no description is available. + // + // The returned pointer is only valid until the next operation on this stream + // (including release). + const char *(*get_last_error)(struct ArrowArrayStream *); + + // Release callback: release the stream's own resources. + // Note that arrays returned by `get_next` must be individually released. + void (*release)(struct ArrowArrayStream *); + + // Opaque producer-specific data + void *private_data; +}; + +#endif // ARROW_C_STREAM_INTERFACE +#endif // ARROW_FLAG_DICTIONARY_ORDERED + +//! @endcond + +/// @} #ifndef ADBC_EXPORTING #define ADBC_EXPORTING -#endif // Storage class macros for Windows // Allow overriding/aliasing with application-defined macros @@ -163,7 +254,24 @@ typedef uint8_t AdbcStatusCode; /// May indicate a database-side error only. #define ADBC_STATUS_UNAUTHORIZED 14 +/// \brief Inform the driver/driver manager that we are using the extended +/// AdbcError struct from ADBC 1.1.0. +/// +/// See the AdbcError documentation for usage. +/// +/// \since ADBC API revision 1.1.0 +#define ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA INT32_MIN + /// \brief A detailed error message for an operation. +/// +/// The caller must zero-initialize this struct (clarified in ADBC 1.1.0). +/// +/// The structure was extended in ADBC 1.1.0. Drivers and clients using ADBC +/// 1.0.0 will not have the private_data or private_driver fields. Drivers +/// should read/write these fields if and only if vendor_code is equal to +/// ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA. Clients are required to initialize +/// this struct to avoid the possibility of uninitialized values confusing the +/// driver. struct ADBC_EXPORT AdbcError { /// \brief The error message. char *message; @@ -181,8 +289,105 @@ struct ADBC_EXPORT AdbcError { /// Unlike other structures, this is an embedded callback to make it /// easier for the driver manager and driver to cooperate. void (*release)(struct AdbcError *error); + + /// \brief Opaque implementation-defined state. + /// + /// This field may not be used unless vendor_code is + /// ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA. If present, this field is NULLPTR + /// iff the error is unintialized/freed. + /// + /// \since ADBC API revision 1.1.0 + void *private_data; + + /// \brief The associated driver (used by the driver manager to help + /// track state). + /// + /// This field may not be used unless vendor_code is + /// ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA. + /// + /// \since ADBC API revision 1.1.0 + struct AdbcDriver *private_driver; }; +#ifdef __cplusplus +/// \brief A helper to initialize the full AdbcError structure. +/// +/// \since ADBC API revision 1.1.0 +#define ADBC_ERROR_INIT \ + (AdbcError {nullptr, ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA, {0, 0, 0, 0, 0}, nullptr, nullptr, nullptr}) +#else +/// \brief A helper to initialize the full AdbcError structure. +/// +/// \since ADBC API revision 1.1.0 +#define ADBC_ERROR_INIT \ + ((struct AdbcError) {NULL, ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA, {0, 0, 0, 0, 0}, NULL, NULL, NULL}) +#endif + +/// \brief The size of the AdbcError structure in ADBC 1.0.0. +/// +/// Drivers written for ADBC 1.1.0 and later should never touch more than this +/// portion of an AdbcDriver struct when vendor_code is not +/// ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA. +/// +/// \since ADBC API revision 1.1.0 +#define ADBC_ERROR_1_0_0_SIZE (offsetof(struct AdbcError, private_data)) +/// \brief The size of the AdbcError structure in ADBC 1.1.0. +/// +/// Drivers written for ADBC 1.1.0 and later should never touch more than this +/// portion of an AdbcDriver struct when vendor_code is +/// ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA. +/// +/// \since ADBC API revision 1.1.0 +#define ADBC_ERROR_1_1_0_SIZE (sizeof(struct AdbcError)) + +/// \brief Extra key-value metadata for an error. +/// +/// The fields here are owned by the driver and should not be freed. The +/// fields here are invalidated when the release callback in AdbcError is +/// called. +/// +/// \since ADBC API revision 1.1.0 +struct ADBC_EXPORT AdbcErrorDetail { + /// \brief The metadata key. + const char *key; + /// \brief The binary metadata value. + const uint8_t *value; + /// \brief The length of the metadata value. + size_t value_length; +}; + +/// \brief Get the number of metadata values available in an error. +/// +/// \since ADBC API revision 1.1.0 +ADBC_EXPORT +int AdbcErrorGetDetailCount(const struct AdbcError *error); + +/// \brief Get a metadata value in an error by index. +/// +/// If index is invalid, returns an AdbcErrorDetail initialized with NULL/0 +/// fields. +/// +/// \since ADBC API revision 1.1.0 +ADBC_EXPORT +struct AdbcErrorDetail AdbcErrorGetDetail(const struct AdbcError *error, int index); + +/// \brief Get an ADBC error from an ArrowArrayStream created by a driver. +/// +/// This allows retrieving error details and other metadata that would +/// normally be suppressed by the Arrow C Stream Interface. +/// +/// The caller MUST NOT release the error; it is managed by the release +/// callback in the stream itself. +/// +/// \param[in] stream The stream to query. +/// \param[out] status The ADBC status code, or ADBC_STATUS_OK if there is no +/// error. Not written to if the stream does not contain an ADBC error or +/// if the pointer is NULL. +/// \return NULL if not supported. +/// \since ADBC API revision 1.1.0 +ADBC_EXPORT +const struct AdbcError *AdbcErrorFromArrayStream(struct ArrowArrayStream *stream, AdbcStatusCode *status); + /// @} /// \defgroup adbc-constants Constants @@ -194,6 +399,14 @@ struct ADBC_EXPORT AdbcError { /// point to an AdbcDriver. #define ADBC_VERSION_1_0_0 1000000 +/// \brief ADBC revision 1.1.0. +/// +/// When passed to an AdbcDriverInitFunc(), the driver parameter must +/// point to an AdbcDriver. +/// +/// \since ADBC API revision 1.1.0 +#define ADBC_VERSION_1_1_0 1001000 + /// \brief Canonical option value for enabling an option. /// /// For use as the value in SetOption calls. @@ -203,6 +416,34 @@ struct ADBC_EXPORT AdbcError { /// For use as the value in SetOption calls. #define ADBC_OPTION_VALUE_DISABLED "false" +/// \brief Canonical option name for URIs. +/// +/// Should be used as the expected option name to specify a URI for +/// any ADBC driver. +/// +/// The type is char*. +/// +/// \since ADBC API revision 1.1.0 +#define ADBC_OPTION_URI "uri" +/// \brief Canonical option name for usernames. +/// +/// Should be used as the expected option name to specify a username +/// to a driver for authentication. +/// +/// The type is char*. +/// +/// \since ADBC API revision 1.1.0 +#define ADBC_OPTION_USERNAME "username" +/// \brief Canonical option name for passwords. +/// +/// Should be used as the expected option name to specify a password +/// for authentication to a driver. +/// +/// The type is char*. +/// +/// \since ADBC API revision 1.1.0 +#define ADBC_OPTION_PASSWORD "password" + /// \brief The database vendor/product name (e.g. the server name). /// (type: utf8). /// @@ -230,6 +471,15 @@ struct ADBC_EXPORT AdbcError { /// /// \see AdbcConnectionGetInfo #define ADBC_INFO_DRIVER_ARROW_VERSION 102 +/// \brief The driver ADBC API version (type: int64). +/// +/// The value should be one of the ADBC_VERSION constants. +/// +/// \since ADBC API revision 1.1.0 +/// \see AdbcConnectionGetInfo +/// \see ADBC_VERSION_1_0_0 +/// \see ADBC_VERSION_1_1_0 +#define ADBC_INFO_DRIVER_ADBC_VERSION 103 /// \brief Return metadata on catalogs, schemas, tables, and columns. /// @@ -252,18 +502,133 @@ struct ADBC_EXPORT AdbcError { /// \see AdbcConnectionGetObjects #define ADBC_OBJECT_DEPTH_COLUMNS ADBC_OBJECT_DEPTH_ALL +/// \defgroup adbc-table-statistics ADBC Statistic Types +/// Standard statistic names for AdbcConnectionGetStatistics. +/// @{ + +/// \brief The dictionary-encoded name of the average byte width statistic. +#define ADBC_STATISTIC_AVERAGE_BYTE_WIDTH_KEY 0 +/// \brief The average byte width statistic. The average size in bytes of a +/// row in the column. Value type is float64. +/// +/// For example, this is roughly the average length of a string for a string +/// column. +#define ADBC_STATISTIC_AVERAGE_BYTE_WIDTH_NAME "adbc.statistic.byte_width" +/// \brief The dictionary-encoded name of the distinct value count statistic. +#define ADBC_STATISTIC_DISTINCT_COUNT_KEY 1 +/// \brief The distinct value count (NDV) statistic. The number of distinct +/// values in the column. Value type is int64 (when not approximate) or +/// float64 (when approximate). +#define ADBC_STATISTIC_DISTINCT_COUNT_NAME "adbc.statistic.distinct_count" +/// \brief The dictionary-encoded name of the max byte width statistic. +#define ADBC_STATISTIC_MAX_BYTE_WIDTH_KEY 2 +/// \brief The max byte width statistic. The maximum size in bytes of a row +/// in the column. Value type is int64 (when not approximate) or float64 +/// (when approximate). +/// +/// For example, this is the maximum length of a string for a string column. +#define ADBC_STATISTIC_MAX_BYTE_WIDTH_NAME "adbc.statistic.byte_width" +/// \brief The dictionary-encoded name of the max value statistic. +#define ADBC_STATISTIC_MAX_VALUE_KEY 3 +/// \brief The max value statistic. Value type is column-dependent. +#define ADBC_STATISTIC_MAX_VALUE_NAME "adbc.statistic.byte_width" +/// \brief The dictionary-encoded name of the min value statistic. +#define ADBC_STATISTIC_MIN_VALUE_KEY 4 +/// \brief The min value statistic. Value type is column-dependent. +#define ADBC_STATISTIC_MIN_VALUE_NAME "adbc.statistic.byte_width" +/// \brief The dictionary-encoded name of the null count statistic. +#define ADBC_STATISTIC_NULL_COUNT_KEY 5 +/// \brief The null count statistic. The number of values that are null in +/// the column. Value type is int64 (when not approximate) or float64 +/// (when approximate). +#define ADBC_STATISTIC_NULL_COUNT_NAME "adbc.statistic.null_count" +/// \brief The dictionary-encoded name of the row count statistic. +#define ADBC_STATISTIC_ROW_COUNT_KEY 6 +/// \brief The row count statistic. The number of rows in the column or +/// table. Value type is int64 (when not approximate) or float64 (when +/// approximate). +#define ADBC_STATISTIC_ROW_COUNT_NAME "adbc.statistic.row_count" +/// @} + /// \brief The name of the canonical option for whether autocommit is /// enabled. /// +/// The type is char*. +/// /// \see AdbcConnectionSetOption #define ADBC_CONNECTION_OPTION_AUTOCOMMIT "adbc.connection.autocommit" /// \brief The name of the canonical option for whether the current /// connection should be restricted to being read-only. /// +/// The type is char*. +/// /// \see AdbcConnectionSetOption #define ADBC_CONNECTION_OPTION_READ_ONLY "adbc.connection.readonly" +/// \brief The name of the canonical option for the current catalog. +/// +/// The type is char*. +/// +/// \see AdbcConnectionGetOption +/// \see AdbcConnectionSetOption +/// \since ADBC API revision 1.1.0 +#define ADBC_CONNECTION_OPTION_CURRENT_CATALOG "adbc.connection.catalog" + +/// \brief The name of the canonical option for the current schema. +/// +/// The type is char*. +/// +/// \see AdbcConnectionGetOption +/// \see AdbcConnectionSetOption +/// \since ADBC API revision 1.1.0 +#define ADBC_CONNECTION_OPTION_CURRENT_DB_SCHEMA "adbc.connection.db_schema" + +/// \brief The name of the canonical option for making query execution +/// nonblocking. +/// +/// When enabled, AdbcStatementExecutePartitions will return +/// partitions as soon as they are available, instead of returning +/// them all at the end. When there are no more to return, it will +/// return an empty set of partitions. AdbcStatementExecuteQuery and +/// AdbcStatementExecuteSchema are not affected. +/// +/// The default is ADBC_OPTION_VALUE_DISABLED. +/// +/// The type is char*. +/// +/// \see AdbcStatementSetOption +/// \since ADBC API revision 1.1.0 +#define ADBC_STATEMENT_OPTION_INCREMENTAL "adbc.statement.exec.incremental" + +/// \brief The name of the option for getting the progress of a query. +/// +/// The value is not necessarily in any particular range or have any +/// particular units. (For example, it might be a percentage, bytes of data, +/// rows of data, number of workers, etc.) The max value can be retrieved via +/// ADBC_STATEMENT_OPTION_MAX_PROGRESS. This represents the progress of +/// execution, not of consumption (i.e., it is independent of how much of the +/// result set has been read by the client via ArrowArrayStream.get_next().) +/// +/// The type is double. +/// +/// \see AdbcStatementGetOptionDouble +/// \since ADBC API revision 1.1.0 +#define ADBC_STATEMENT_OPTION_PROGRESS "adbc.statement.exec.progress" + +/// \brief The name of the option for getting the maximum progress of a query. +/// +/// This is the value of ADBC_STATEMENT_OPTION_PROGRESS for a completed query. +/// If not supported, or if the value is nonpositive, then the maximum is not +/// known. (For instance, the query may be fully streaming and the driver +/// does not know when the result set will end.) +/// +/// The type is double. +/// +/// \see AdbcStatementGetOptionDouble +/// \since ADBC API revision 1.1.0 +#define ADBC_STATEMENT_OPTION_MAX_PROGRESS "adbc.statement.exec.max_progress" + /// \brief The name of the canonical option for setting the isolation /// level of a transaction. /// @@ -272,6 +637,8 @@ struct ADBC_EXPORT AdbcError { /// isolation level is not supported by a driver, it should return an /// appropriate error. /// +/// The type is char*. +/// /// \see AdbcConnectionSetOption #define ADBC_CONNECTION_OPTION_ISOLATION_LEVEL "adbc.connection.transaction.isolation_level" @@ -356,8 +723,12 @@ struct ADBC_EXPORT AdbcError { /// exist. If the table exists but has a different schema, /// ADBC_STATUS_ALREADY_EXISTS should be raised. Else, data should be /// appended to the target table. +/// +/// The type is char*. #define ADBC_INGEST_OPTION_TARGET_TABLE "adbc.ingest.target_table" /// \brief Whether to create (the default) or append. +/// +/// The type is char*. #define ADBC_INGEST_OPTION_MODE "adbc.ingest.mode" /// \brief Create the table and insert data; error if the table exists. #define ADBC_INGEST_OPTION_MODE_CREATE "adbc.ingest.mode.create" @@ -365,6 +736,15 @@ struct ADBC_EXPORT AdbcError { /// table does not exist (ADBC_STATUS_NOT_FOUND) or does not match /// the schema of the data to append (ADBC_STATUS_ALREADY_EXISTS). #define ADBC_INGEST_OPTION_MODE_APPEND "adbc.ingest.mode.append" +/// \brief Create the table and insert data; drop the original table +/// if it already exists. +/// \since ADBC API revision 1.1.0 +#define ADBC_INGEST_OPTION_MODE_REPLACE "adbc.ingest.mode.replace" +/// \brief Insert data; create the table if it does not exist, or +/// error if the table exists, but the schema does not match the +/// schema of the data to append (ADBC_STATUS_ALREADY_EXISTS). +/// \since ADBC API revision 1.1.0 +#define ADBC_INGEST_OPTION_MODE_CREATE_APPEND "adbc.ingest.mode.create_append" /// @} @@ -530,7 +910,7 @@ struct ADBC_EXPORT AdbcDriver { AdbcStatusCode (*DatabaseRelease)(struct AdbcDatabase *, struct AdbcError *); AdbcStatusCode (*ConnectionCommit)(struct AdbcConnection *, struct AdbcError *); - AdbcStatusCode (*ConnectionGetInfo)(struct AdbcConnection *, uint32_t *, size_t, struct ArrowArrayStream *, + AdbcStatusCode (*ConnectionGetInfo)(struct AdbcConnection *, const uint32_t *, size_t, struct ArrowArrayStream *, struct AdbcError *); AdbcStatusCode (*ConnectionGetObjects)(struct AdbcConnection *, int, const char *, const char *, const char *, const char **, const char *, struct ArrowArrayStream *, struct AdbcError *); @@ -559,8 +939,89 @@ struct ADBC_EXPORT AdbcDriver { AdbcStatusCode (*StatementSetOption)(struct AdbcStatement *, const char *, const char *, struct AdbcError *); AdbcStatusCode (*StatementSetSqlQuery)(struct AdbcStatement *, const char *, struct AdbcError *); AdbcStatusCode (*StatementSetSubstraitPlan)(struct AdbcStatement *, const uint8_t *, size_t, struct AdbcError *); + + /// \defgroup adbc-1.1.0 ADBC API Revision 1.1.0 + /// + /// Functions added in ADBC 1.1.0. For backwards compatibility, + /// these members must not be accessed unless the version passed to + /// the AdbcDriverInitFunc is greater than or equal to + /// ADBC_VERSION_1_1_0. + /// + /// For a 1.0.0 driver being loaded by a 1.1.0 driver manager: the + /// 1.1.0 manager will allocate the new, expanded AdbcDriver struct + /// and attempt to have the driver initialize it with + /// ADBC_VERSION_1_1_0. This must return an error, after which the + /// driver will try again with ADBC_VERSION_1_0_0. The driver must + /// not access the new fields, which will carry undefined values. + /// + /// For a 1.1.0 driver being loaded by a 1.0.0 driver manager: the + /// 1.0.0 manager will allocate the old AdbcDriver struct and + /// attempt to have the driver initialize it with + /// ADBC_VERSION_1_0_0. The driver must not access the new fields, + /// and should initialize the old fields. + /// + /// @{ + + int (*ErrorGetDetailCount)(const struct AdbcError *error); + struct AdbcErrorDetail (*ErrorGetDetail)(const struct AdbcError *error, int index); + const struct AdbcError *(*ErrorFromArrayStream)(struct ArrowArrayStream *stream, AdbcStatusCode *status); + + AdbcStatusCode (*DatabaseGetOption)(struct AdbcDatabase *, const char *, char *, size_t *, struct AdbcError *); + AdbcStatusCode (*DatabaseGetOptionBytes)(struct AdbcDatabase *, const char *, uint8_t *, size_t *, + struct AdbcError *); + AdbcStatusCode (*DatabaseGetOptionDouble)(struct AdbcDatabase *, const char *, double *, struct AdbcError *); + AdbcStatusCode (*DatabaseGetOptionInt)(struct AdbcDatabase *, const char *, int64_t *, struct AdbcError *); + AdbcStatusCode (*DatabaseSetOptionBytes)(struct AdbcDatabase *, const char *, const uint8_t *, size_t, + struct AdbcError *); + AdbcStatusCode (*DatabaseSetOptionDouble)(struct AdbcDatabase *, const char *, double, struct AdbcError *); + AdbcStatusCode (*DatabaseSetOptionInt)(struct AdbcDatabase *, const char *, int64_t, struct AdbcError *); + + AdbcStatusCode (*ConnectionCancel)(struct AdbcConnection *, struct AdbcError *); + AdbcStatusCode (*ConnectionGetOption)(struct AdbcConnection *, const char *, char *, size_t *, struct AdbcError *); + AdbcStatusCode (*ConnectionGetOptionBytes)(struct AdbcConnection *, const char *, uint8_t *, size_t *, + struct AdbcError *); + AdbcStatusCode (*ConnectionGetOptionDouble)(struct AdbcConnection *, const char *, double *, struct AdbcError *); + AdbcStatusCode (*ConnectionGetOptionInt)(struct AdbcConnection *, const char *, int64_t *, struct AdbcError *); + AdbcStatusCode (*ConnectionGetStatistics)(struct AdbcConnection *, const char *, const char *, const char *, char, + struct ArrowArrayStream *, struct AdbcError *); + AdbcStatusCode (*ConnectionGetStatisticNames)(struct AdbcConnection *, struct ArrowArrayStream *, + struct AdbcError *); + AdbcStatusCode (*ConnectionSetOptionBytes)(struct AdbcConnection *, const char *, const uint8_t *, size_t, + struct AdbcError *); + AdbcStatusCode (*ConnectionSetOptionDouble)(struct AdbcConnection *, const char *, double, struct AdbcError *); + AdbcStatusCode (*ConnectionSetOptionInt)(struct AdbcConnection *, const char *, int64_t, struct AdbcError *); + + AdbcStatusCode (*StatementCancel)(struct AdbcStatement *, struct AdbcError *); + AdbcStatusCode (*StatementExecuteSchema)(struct AdbcStatement *, struct ArrowSchema *, struct AdbcError *); + AdbcStatusCode (*StatementGetOption)(struct AdbcStatement *, const char *, char *, size_t *, struct AdbcError *); + AdbcStatusCode (*StatementGetOptionBytes)(struct AdbcStatement *, const char *, uint8_t *, size_t *, + struct AdbcError *); + AdbcStatusCode (*StatementGetOptionDouble)(struct AdbcStatement *, const char *, double *, struct AdbcError *); + AdbcStatusCode (*StatementGetOptionInt)(struct AdbcStatement *, const char *, int64_t *, struct AdbcError *); + AdbcStatusCode (*StatementSetOptionBytes)(struct AdbcStatement *, const char *, const uint8_t *, size_t, + struct AdbcError *); + AdbcStatusCode (*StatementSetOptionDouble)(struct AdbcStatement *, const char *, double, struct AdbcError *); + AdbcStatusCode (*StatementSetOptionInt)(struct AdbcStatement *, const char *, int64_t, struct AdbcError *); + + /// @} }; +/// \brief The size of the AdbcDriver structure in ADBC 1.0.0. +/// Drivers written for ADBC 1.1.0 and later should never touch more +/// than this portion of an AdbcDriver struct when given +/// ADBC_VERSION_1_0_0. +/// +/// \since ADBC API revision 1.1.0 +#define ADBC_DRIVER_1_0_0_SIZE (offsetof(struct AdbcDriver, ErrorGetDetailCount)) + +/// \brief The size of the AdbcDriver structure in ADBC 1.1.0. +/// Drivers written for ADBC 1.1.0 and later should never touch more +/// than this portion of an AdbcDriver struct when given +/// ADBC_VERSION_1_1_0. +/// +/// \since ADBC API revision 1.1.0 +#define ADBC_DRIVER_1_1_0_SIZE (sizeof(struct AdbcDriver)) + /// @} /// \addtogroup adbc-database @@ -576,16 +1037,186 @@ struct ADBC_EXPORT AdbcDriver { ADBC_EXPORT AdbcStatusCode AdbcDatabaseNew(struct AdbcDatabase *database, struct AdbcError *error); +/// \brief Get a string option of the database. +/// +/// This must always be thread-safe (other operations are not), though +/// given the semantics here, it is not recommended to call GetOption +/// concurrently with itself. +/// +/// length must be provided and must be the size of the buffer pointed +/// to by value. If there is sufficient space, the driver will copy +/// the option value (including the null terminator) to buffer and set +/// length to the size of the actual value. If the buffer is too +/// small, no data will be written and length will be set to the +/// required length. +/// +/// In other words: +/// +/// - If output length <= input length, value will contain a value +/// with length bytes. +/// - If output length > input length, nothing has been written to +/// value. +/// +/// For standard options, drivers must always support getting the +/// option value (if they support getting option values at all) via +/// the type specified in the option. (For example, an option set via +/// SetOptionDouble must be retrievable via GetOptionDouble.) Drivers +/// may also support getting a converted option value via other +/// getters if needed. (For example, getting the string +/// representation of a double option.) +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] database The database. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[in,out] length The length of value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcDatabaseGetOption(struct AdbcDatabase *database, const char *key, char *value, size_t *length, + struct AdbcError *error); + +/// \brief Get a bytestring option of the database. +/// +/// This must always be thread-safe (other operations are not), though +/// given the semantics here, it is not recommended to call +/// GetOptionBytes concurrently with itself. +/// +/// length must be provided and must be the size of the buffer pointed +/// to by value. If there is sufficient space, the driver will copy +/// the option value to buffer and set length to the size of the +/// actual value. If the buffer is too small, no data will be written +/// and length will be set to the required length. +/// +/// In other words: +/// +/// - If output length <= input length, value will contain a value +/// with length bytes. +/// - If output length > input length, nothing has been written to +/// value. +/// +/// For standard options, drivers must always support getting the +/// option value (if they support getting option values at all) via +/// the type specified in the option. (For example, an option set via +/// SetOptionDouble must be retrievable via GetOptionDouble.) Drivers +/// may also support getting a converted option value via other +/// getters if needed. (For example, getting the string +/// representation of a double option.) +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] database The database. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[in,out] length The option value length. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcDatabaseGetOptionBytes(struct AdbcDatabase *database, const char *key, uint8_t *value, + size_t *length, struct AdbcError *error); + +/// \brief Get a double option of the database. +/// +/// This must always be thread-safe (other operations are not). +/// +/// For standard options, drivers must always support getting the +/// option value (if they support getting option values at all) via +/// the type specified in the option. (For example, an option set via +/// SetOptionDouble must be retrievable via GetOptionDouble.) Drivers +/// may also support getting a converted option value via other +/// getters if needed. (For example, getting the double +/// representation of an integer option.) +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] database The database. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcDatabaseGetOptionDouble(struct AdbcDatabase *database, const char *key, double *value, + struct AdbcError *error); + +/// \brief Get an integer option of the database. +/// +/// This must always be thread-safe (other operations are not). +/// +/// For standard options, drivers must always support getting the +/// option value (if they support getting option values at all) via +/// the type specified in the option. (For example, an option set via +/// SetOptionDouble must be retrievable via GetOptionDouble.) Drivers +/// may also support getting a converted option value via other +/// getters if needed. (For example, getting the integer +/// representation of a double option.) +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] database The database. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcDatabaseGetOptionInt(struct AdbcDatabase *database, const char *key, int64_t *value, + struct AdbcError *error); + /// \brief Set a char* option. /// /// Options may be set before AdbcDatabaseInit. Some drivers may /// support setting options after initialization as well. /// +/// \param[in] database The database. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. /// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized ADBC_EXPORT AdbcStatusCode AdbcDatabaseSetOption(struct AdbcDatabase *database, const char *key, const char *value, struct AdbcError *error); +/// \brief Set a bytestring option on a database. +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] database The database. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[in] length The option value length. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized +ADBC_EXPORT +AdbcStatusCode AdbcDatabaseSetOptionBytes(struct AdbcDatabase *database, const char *key, const uint8_t *value, + size_t length, struct AdbcError *error); + +/// \brief Set a double option on a database. +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] database The database. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized +ADBC_EXPORT +AdbcStatusCode AdbcDatabaseSetOptionDouble(struct AdbcDatabase *database, const char *key, double value, + struct AdbcError *error); + +/// \brief Set an integer option on a database. +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] database The database. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized +ADBC_EXPORT +AdbcStatusCode AdbcDatabaseSetOptionInt(struct AdbcDatabase *database, const char *key, int64_t value, + struct AdbcError *error); + /// \brief Finish setting options and initialize the database. /// /// Some drivers may support setting options after initialization @@ -620,11 +1251,62 @@ AdbcStatusCode AdbcConnectionNew(struct AdbcConnection *connection, struct AdbcE /// Options may be set before AdbcConnectionInit. Some drivers may /// support setting options after initialization as well. /// +/// \param[in] connection The database connection. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. /// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized ADBC_EXPORT AdbcStatusCode AdbcConnectionSetOption(struct AdbcConnection *connection, const char *key, const char *value, struct AdbcError *error); +/// \brief Set a bytestring option on a connection. +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] connection The connection. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[in] length The option value length. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized +ADBC_EXPORT +AdbcStatusCode AdbcConnectionSetOptionBytes(struct AdbcConnection *connection, const char *key, const uint8_t *value, + size_t length, struct AdbcError *error); + +/// \brief Set an integer option. +/// +/// Options may be set before AdbcConnectionInit. Some drivers may +/// support setting options after initialization as well. +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] connection The database connection. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized +ADBC_EXPORT +AdbcStatusCode AdbcConnectionSetOptionInt(struct AdbcConnection *connection, const char *key, int64_t value, + struct AdbcError *error); + +/// \brief Set a double option. +/// +/// Options may be set before AdbcConnectionInit. Some drivers may +/// support setting options after initialization as well. +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] connection The database connection. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized +ADBC_EXPORT +AdbcStatusCode AdbcConnectionSetOptionDouble(struct AdbcConnection *connection, const char *key, double value, + struct AdbcError *error); + /// \brief Finish setting options and initialize the connection. /// /// Some drivers may support setting options after initialization @@ -641,6 +1323,29 @@ AdbcStatusCode AdbcConnectionInit(struct AdbcConnection *connection, struct Adbc ADBC_EXPORT AdbcStatusCode AdbcConnectionRelease(struct AdbcConnection *connection, struct AdbcError *error); +/// \brief Cancel the in-progress operation on a connection. +/// +/// This can be called during AdbcConnectionGetObjects (or similar), +/// or while consuming an ArrowArrayStream returned from such. +/// Calling this function should make the other functions return +/// ADBC_STATUS_CANCELLED (from ADBC functions) or ECANCELED (from +/// methods of ArrowArrayStream). (It is not guaranteed to, for +/// instance, the result set may be buffered in memory already.) +/// +/// This must always be thread-safe (other operations are not). It is +/// not necessarily signal-safe. +/// +/// \since ADBC API revision 1.1.0 +/// +/// \param[in] connection The connection to cancel. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// +/// \return ADBC_STATUS_INVALID_STATE if there is no operation to cancel. +/// \return ADBC_STATUS_UNKNOWN if the operation could not be cancelled. +ADBC_EXPORT +AdbcStatusCode AdbcConnectionCancel(struct AdbcConnection *connection, struct AdbcError *error); + /// \defgroup adbc-connection-metadata Metadata /// Functions for retrieving metadata about the database. /// @@ -654,6 +1359,8 @@ AdbcStatusCode AdbcConnectionRelease(struct AdbcConnection *connection, struct A /// concurrent active statements and it must execute a SQL query /// internally in order to implement the metadata function). /// +/// This AdbcConnection must outlive the returned ArrowArrayStream. +/// /// Some functions accept "search pattern" arguments, which are /// strings that can contain the special character "%" to match zero /// or more characters, or "_" to match exactly one character. (See @@ -688,6 +1395,10 @@ AdbcStatusCode AdbcConnectionRelease(struct AdbcConnection *connection, struct A /// for ADBC usage. Drivers/vendors will ignore requests for /// unrecognized codes (the row will be omitted from the result). /// +/// Since ADBC 1.1.0: the range [500, 1_000) is reserved for "XDBC" +/// information, which is the same metadata provided by the same info +/// code range in the Arrow Flight SQL GetSqlInfo RPC. +/// /// \param[in] connection The connection to query. /// \param[in] info_codes A list of metadata codes to fetch, or NULL /// to fetch all. @@ -696,8 +1407,8 @@ AdbcStatusCode AdbcConnectionRelease(struct AdbcConnection *connection, struct A /// \param[out] out The result set. /// \param[out] error Error details, if an error occurs. ADBC_EXPORT -AdbcStatusCode AdbcConnectionGetInfo(struct AdbcConnection *connection, uint32_t *info_codes, size_t info_codes_length, - struct ArrowArrayStream *out, struct AdbcError *error); +AdbcStatusCode AdbcConnectionGetInfo(struct AdbcConnection *connection, const uint32_t *info_codes, + size_t info_codes_length, struct ArrowArrayStream *out, struct AdbcError *error); /// \brief Get a hierarchical view of all catalogs, database schemas, /// tables, and columns. @@ -778,6 +1489,8 @@ AdbcStatusCode AdbcConnectionGetInfo(struct AdbcConnection *connection, uint32_t /// | fk_table | utf8 not null | /// | fk_column_name | utf8 not null | /// +/// This AdbcConnection must outlive the returned ArrowArrayStream. +/// /// \param[in] connection The database connection. /// \param[in] depth The level of nesting to display. If 0, display /// all levels. If 1, display only catalogs (i.e. catalog_schemas @@ -806,6 +1519,205 @@ AdbcStatusCode AdbcConnectionGetObjects(struct AdbcConnection *connection, int d const char *db_schema, const char *table_name, const char **table_type, const char *column_name, struct ArrowArrayStream *out, struct AdbcError *error); +/// \brief Get a string option of the connection. +/// +/// This must always be thread-safe (other operations are not), though +/// given the semantics here, it is not recommended to call GetOption +/// concurrently with itself. +/// +/// length must be provided and must be the size of the buffer pointed +/// to by value. If there is sufficient space, the driver will copy +/// the option value (including the null terminator) to buffer and set +/// length to the size of the actual value. If the buffer is too +/// small, no data will be written and length will be set to the +/// required length. +/// +/// In other words: +/// +/// - If output length <= input length, value will contain a value +/// with length bytes. +/// - If output length > input length, nothing has been written to +/// value. +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] connection The database connection. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[in,out] length The length of value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcConnectionGetOption(struct AdbcConnection *connection, const char *key, char *value, size_t *length, + struct AdbcError *error); + +/// \brief Get a bytestring option of the connection. +/// +/// This must always be thread-safe (other operations are not), though +/// given the semantics here, it is not recommended to call +/// GetOptionBytes concurrently with itself. +/// +/// length must be provided and must be the size of the buffer pointed +/// to by value. If there is sufficient space, the driver will copy +/// the option value to buffer and set length to the size of the +/// actual value. If the buffer is too small, no data will be written +/// and length will be set to the required length. +/// +/// In other words: +/// +/// - If output length <= input length, value will contain a value +/// with length bytes. +/// - If output length > input length, nothing has been written to +/// value. +/// +/// For standard options, drivers must always support getting the +/// option value (if they support getting option values at all) via +/// the type specified in the option. (For example, an option set via +/// SetOptionDouble must be retrievable via GetOptionDouble.) Drivers +/// may also support getting a converted option value via other +/// getters if needed. (For example, getting the string +/// representation of a double option.) +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] connection The connection. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[in,out] length The option value length. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcConnectionGetOptionBytes(struct AdbcConnection *connection, const char *key, uint8_t *value, + size_t *length, struct AdbcError *error); + +/// \brief Get an integer option of the connection. +/// +/// This must always be thread-safe (other operations are not). +/// +/// For standard options, drivers must always support getting the +/// option value (if they support getting option values at all) via +/// the type specified in the option. (For example, an option set via +/// SetOptionDouble must be retrievable via GetOptionDouble.) Drivers +/// may also support getting a converted option value via other +/// getters if needed. (For example, getting the string +/// representation of a double option.) +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] connection The database connection. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcConnectionGetOptionInt(struct AdbcConnection *connection, const char *key, int64_t *value, + struct AdbcError *error); + +/// \brief Get a double option of the connection. +/// +/// This must always be thread-safe (other operations are not). +/// +/// For standard options, drivers must always support getting the +/// option value (if they support getting option values at all) via +/// the type specified in the option. (For example, an option set via +/// SetOptionDouble must be retrievable via GetOptionDouble.) Drivers +/// may also support getting a converted option value via other +/// getters if needed. (For example, getting the string +/// representation of a double option.) +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] connection The database connection. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcConnectionGetOptionDouble(struct AdbcConnection *connection, const char *key, double *value, + struct AdbcError *error); + +/// \brief Get statistics about the data distribution of table(s). +/// +/// The result is an Arrow dataset with the following schema: +/// +/// | Field Name | Field Type | +/// |--------------------------|----------------------------------| +/// | catalog_name | utf8 | +/// | catalog_db_schemas | list not null | +/// +/// DB_SCHEMA_SCHEMA is a Struct with fields: +/// +/// | Field Name | Field Type | +/// |--------------------------|----------------------------------| +/// | db_schema_name | utf8 | +/// | db_schema_statistics | list not null | +/// +/// STATISTICS_SCHEMA is a Struct with fields: +/// +/// | Field Name | Field Type | Comments | +/// |--------------------------|----------------------------------| -------- | +/// | table_name | utf8 not null | | +/// | column_name | utf8 | (1) | +/// | statistic_key | int16 not null | (2) | +/// | statistic_value | VALUE_SCHEMA not null | | +/// | statistic_is_approximate | bool not null | (3) | +/// +/// 1. If null, then the statistic applies to the entire table. +/// 2. A dictionary-encoded statistic name (although we do not use the Arrow +/// dictionary type). Values in [0, 1024) are reserved for ADBC. Other +/// values are for implementation-specific statistics. For the definitions +/// of predefined statistic types, see \ref adbc-table-statistics. To get +/// driver-specific statistic names, use AdbcConnectionGetStatisticNames. +/// 3. If true, then the value is approximate or best-effort. +/// +/// VALUE_SCHEMA is a dense union with members: +/// +/// | Field Name | Field Type | +/// |--------------------------|----------------------------------| +/// | int64 | int64 | +/// | uint64 | uint64 | +/// | float64 | float64 | +/// | binary | binary | +/// +/// This AdbcConnection must outlive the returned ArrowArrayStream. +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] connection The database connection. +/// \param[in] catalog The catalog (or nullptr). May be a search +/// pattern (see section documentation). +/// \param[in] db_schema The database schema (or nullptr). May be a +/// search pattern (see section documentation). +/// \param[in] table_name The table name (or nullptr). May be a +/// search pattern (see section documentation). +/// \param[in] approximate If zero, request exact values of +/// statistics, else allow for best-effort, approximate, or cached +/// values. The database may return approximate values regardless, +/// as indicated in the result. Requesting exact values may be +/// expensive or unsupported. +/// \param[out] out The result set. +/// \param[out] error Error details, if an error occurs. +ADBC_EXPORT +AdbcStatusCode AdbcConnectionGetStatistics(struct AdbcConnection *connection, const char *catalog, + const char *db_schema, const char *table_name, char approximate, + struct ArrowArrayStream *out, struct AdbcError *error); + +/// \brief Get the names of statistics specific to this driver. +/// +/// The result is an Arrow dataset with the following schema: +/// +/// Field Name | Field Type +/// ---------------|---------------- +/// statistic_name | utf8 not null +/// statistic_key | int16 not null +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] connection The database connection. +/// \param[out] out The result set. +/// \param[out] error Error details, if an error occurs. +ADBC_EXPORT +AdbcStatusCode AdbcConnectionGetStatisticNames(struct AdbcConnection *connection, struct ArrowArrayStream *out, + struct AdbcError *error); + /// \brief Get the Arrow schema of a table. /// /// \param[in] connection The database connection. @@ -827,6 +1739,8 @@ AdbcStatusCode AdbcConnectionGetTableSchema(struct AdbcConnection *connection, c /// ---------------|-------------- /// table_type | utf8 not null /// +/// This AdbcConnection must outlive the returned ArrowArrayStream. +/// /// \param[in] connection The database connection. /// \param[out] out The result set. /// \param[out] error Error details, if an error occurs. @@ -854,6 +1768,8 @@ AdbcStatusCode AdbcConnectionGetTableTypes(struct AdbcConnection *connection, st /// /// A partition can be retrieved from AdbcPartitions. /// +/// This AdbcConnection must outlive the returned ArrowArrayStream. +/// /// \param[in] connection The connection to use. This does not have /// to be the same connection that the partition was created on. /// \param[in] serialized_partition The partition descriptor. @@ -918,7 +1834,11 @@ AdbcStatusCode AdbcStatementRelease(struct AdbcStatement *statement, struct Adbc /// \brief Execute a statement and get the results. /// -/// This invalidates any prior result sets. +/// This invalidates any prior result sets. This AdbcStatement must +/// outlive the returned ArrowArrayStream. +/// +/// Since ADBC 1.1.0: releasing the returned ArrowArrayStream without +/// consuming it fully is equivalent to calling AdbcStatementCancel. /// /// \param[in] statement The statement to execute. /// \param[out] out The results. Pass NULL if the client does not @@ -931,6 +1851,26 @@ ADBC_EXPORT AdbcStatusCode AdbcStatementExecuteQuery(struct AdbcStatement *statement, struct ArrowArrayStream *out, int64_t *rows_affected, struct AdbcError *error); +/// \brief Get the schema of the result set of a query without +/// executing it. +/// +/// This invalidates any prior result sets. +/// +/// Depending on the driver, this may require first executing +/// AdbcStatementPrepare. +/// +/// \since ADBC API revision 1.1.0 +/// +/// \param[in] statement The statement to execute. +/// \param[out] out The result schema. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// +/// \return ADBC_STATUS_NOT_IMPLEMENTED if the driver does not support this. +ADBC_EXPORT +AdbcStatusCode AdbcStatementExecuteSchema(struct AdbcStatement *statement, struct ArrowSchema *schema, + struct AdbcError *error); + /// \brief Turn this statement into a prepared statement to be /// executed multiple times. /// @@ -1008,6 +1948,154 @@ ADBC_EXPORT AdbcStatusCode AdbcStatementBindStream(struct AdbcStatement *statement, struct ArrowArrayStream *stream, struct AdbcError *error); +/// \brief Cancel execution of an in-progress query. +/// +/// This can be called during AdbcStatementExecuteQuery (or similar), +/// or while consuming an ArrowArrayStream returned from such. +/// Calling this function should make the other functions return +/// ADBC_STATUS_CANCELLED (from ADBC functions) or ECANCELED (from +/// methods of ArrowArrayStream). (It is not guaranteed to, for +/// instance, the result set may be buffered in memory already.) +/// +/// This must always be thread-safe (other operations are not). It is +/// not necessarily signal-safe. +/// +/// \since ADBC API revision 1.1.0 +/// +/// \param[in] statement The statement to cancel. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// +/// \return ADBC_STATUS_INVALID_STATE if there is no query to cancel. +/// \return ADBC_STATUS_UNKNOWN if the query could not be cancelled. +ADBC_EXPORT +AdbcStatusCode AdbcStatementCancel(struct AdbcStatement *statement, struct AdbcError *error); + +/// \brief Get a string option of the statement. +/// +/// This must always be thread-safe (other operations are not), though +/// given the semantics here, it is not recommended to call GetOption +/// concurrently with itself. +/// +/// length must be provided and must be the size of the buffer pointed +/// to by value. If there is sufficient space, the driver will copy +/// the option value (including the null terminator) to buffer and set +/// length to the size of the actual value. If the buffer is too +/// small, no data will be written and length will be set to the +/// required length. +/// +/// In other words: +/// +/// - If output length <= input length, value will contain a value +/// with length bytes. +/// - If output length > input length, nothing has been written to +/// value. +/// +/// For standard options, drivers must always support getting the +/// option value (if they support getting option values at all) via +/// the type specified in the option. (For example, an option set via +/// SetOptionDouble must be retrievable via GetOptionDouble.) Drivers +/// may also support getting a converted option value via other +/// getters if needed. (For example, getting the string +/// representation of a double option.) +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] statement The statement. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[in,out] length The length of value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcStatementGetOption(struct AdbcStatement *statement, const char *key, char *value, size_t *length, + struct AdbcError *error); + +/// \brief Get a bytestring option of the statement. +/// +/// This must always be thread-safe (other operations are not), though +/// given the semantics here, it is not recommended to call +/// GetOptionBytes concurrently with itself. +/// +/// length must be provided and must be the size of the buffer pointed +/// to by value. If there is sufficient space, the driver will copy +/// the option value to buffer and set length to the size of the +/// actual value. If the buffer is too small, no data will be written +/// and length will be set to the required length. +/// +/// In other words: +/// +/// - If output length <= input length, value will contain a value +/// with length bytes. +/// - If output length > input length, nothing has been written to +/// value. +/// +/// For standard options, drivers must always support getting the +/// option value (if they support getting option values at all) via +/// the type specified in the option. (For example, an option set via +/// SetOptionDouble must be retrievable via GetOptionDouble.) Drivers +/// may also support getting a converted option value via other +/// getters if needed. (For example, getting the string +/// representation of a double option.) +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] statement The statement. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[in,out] length The option value length. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcStatementGetOptionBytes(struct AdbcStatement *statement, const char *key, uint8_t *value, + size_t *length, struct AdbcError *error); + +/// \brief Get an integer option of the statement. +/// +/// This must always be thread-safe (other operations are not). +/// +/// For standard options, drivers must always support getting the +/// option value (if they support getting option values at all) via +/// the type specified in the option. (For example, an option set via +/// SetOptionDouble must be retrievable via GetOptionDouble.) Drivers +/// may also support getting a converted option value via other +/// getters if needed. (For example, getting the string +/// representation of a double option.) +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] statement The statement. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcStatementGetOptionInt(struct AdbcStatement *statement, const char *key, int64_t *value, + struct AdbcError *error); + +/// \brief Get a double option of the statement. +/// +/// This must always be thread-safe (other operations are not). +/// +/// For standard options, drivers must always support getting the +/// option value (if they support getting option values at all) via +/// the type specified in the option. (For example, an option set via +/// SetOptionDouble must be retrievable via GetOptionDouble.) Drivers +/// may also support getting a converted option value via other +/// getters if needed. (For example, getting the string +/// representation of a double option.) +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] statement The statement. +/// \param[in] key The option to get. +/// \param[out] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_FOUND if the option is not recognized. +ADBC_EXPORT +AdbcStatusCode AdbcStatementGetOptionDouble(struct AdbcStatement *statement, const char *key, double *value, + struct AdbcError *error); + /// \brief Get the schema for bound parameters. /// /// This retrieves an Arrow schema describing the number, names, and @@ -1028,10 +2116,56 @@ AdbcStatusCode AdbcStatementGetParameterSchema(struct AdbcStatement *statement, struct AdbcError *error); /// \brief Set a string option on a statement. +/// \param[in] statement The statement. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized. ADBC_EXPORT AdbcStatusCode AdbcStatementSetOption(struct AdbcStatement *statement, const char *key, const char *value, struct AdbcError *error); +/// \brief Set a bytestring option on a statement. +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] statement The statement. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[in] length The option value length. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized +ADBC_EXPORT +AdbcStatusCode AdbcStatementSetOptionBytes(struct AdbcStatement *statement, const char *key, const uint8_t *value, + size_t length, struct AdbcError *error); + +/// \brief Set an integer option on a statement. +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] statement The statement. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized +ADBC_EXPORT +AdbcStatusCode AdbcStatementSetOptionInt(struct AdbcStatement *statement, const char *key, int64_t value, + struct AdbcError *error); + +/// \brief Set a double option on a statement. +/// +/// \since ADBC API revision 1.1.0 +/// \param[in] statement The statement. +/// \param[in] key The option to set. +/// \param[in] value The option value. +/// \param[out] error An optional location to return an error +/// message if necessary. +/// \return ADBC_STATUS_NOT_IMPLEMENTED if the option is not recognized +ADBC_EXPORT +AdbcStatusCode AdbcStatementSetOptionDouble(struct AdbcStatement *statement, const char *key, double value, + struct AdbcError *error); + /// \addtogroup adbc-statement-partition /// @{ @@ -1065,7 +2199,15 @@ AdbcStatusCode AdbcStatementExecutePartitions(struct AdbcStatement *statement, s /// driver. /// /// Although drivers may choose any name for this function, the -/// recommended name is "AdbcDriverInit". +/// recommended name is "AdbcDriverInit", or a name derived from the +/// name of the driver's shared library as follows: remove the 'lib' +/// prefix (on Unix systems) and all file extensions, then PascalCase +/// the driver name, append Init, and prepend Adbc (if not already +/// there). For example: +/// +/// - libadbc_driver_sqlite.so.2.0.0 -> AdbcDriverSqliteInit +/// - adbc_driver_sqlite.dll -> AdbcDriverSqliteInit +/// - proprietary_driver.dll -> AdbcProprietaryDriverInit /// /// \param[in] version The ADBC revision to attempt to initialize (see /// ADBC_VERSION_1_0_0). @@ -1086,4 +2228,3 @@ typedef AdbcStatusCode (*AdbcDriverInitFunc)(int version, void *driver, struct A #ifdef __cplusplus } #endif -} // namespace duckdb_adbc diff --git a/src/include/duckdb/common/adbc/adbc.hpp b/src/include/duckdb/common/adbc/adbc.hpp index bc7e37fbd859..365de229a4f2 100644 --- a/src/include/duckdb/common/adbc/adbc.hpp +++ b/src/include/duckdb/common/adbc/adbc.hpp @@ -33,8 +33,8 @@ AdbcStatusCode ConnectionInit(struct AdbcConnection *connection, struct AdbcData AdbcStatusCode ConnectionRelease(struct AdbcConnection *connection, struct AdbcError *error); -AdbcStatusCode ConnectionGetInfo(struct AdbcConnection *connection, uint32_t *info_codes, size_t info_codes_length, - struct ArrowArrayStream *out, struct AdbcError *error); +AdbcStatusCode ConnectionGetInfo(struct AdbcConnection *connection, const uint32_t *info_codes, + size_t info_codes_length, struct ArrowArrayStream *out, struct AdbcError *error); AdbcStatusCode ConnectionGetObjects(struct AdbcConnection *connection, int depth, const char *catalog, const char *db_schema, const char *table_name, const char **table_type, @@ -84,10 +84,10 @@ AdbcStatusCode StatementExecutePartitions(struct AdbcStatement *statement, struc struct AdbcPartitions *partitions, int64_t *rows_affected, struct AdbcError *error); -//! This method should only be called when the string is guaranteed to not be NULL -void SetError(struct AdbcError *error, const std::string &message); -void SetError(struct AdbcError *error, const char *message); - void InitializeADBCError(AdbcError *error); } // namespace duckdb_adbc + +//! This method should only be called when the string is guaranteed to not be NULL +void SetError(struct AdbcError *error, const std::string &message); +// void SetError(struct AdbcError *error, const char *message); diff --git a/src/include/duckdb/common/adbc/driver_manager.h b/src/include/duckdb/common/adbc/driver_manager.h index b70ec3a783df..a51eb06049e6 100644 --- a/src/include/duckdb/common/adbc/driver_manager.h +++ b/src/include/duckdb/common/adbc/driver_manager.h @@ -25,7 +25,6 @@ extern "C" { #ifndef ADBC_DRIVER_MANAGER_H #define ADBC_DRIVER_MANAGER_H -namespace duckdb_adbc { /// \brief Common entry point for drivers via the driver manager. /// /// The driver manager can fill in default implementations of some @@ -81,4 +80,3 @@ const char *AdbcStatusCodeMessage(AdbcStatusCode code); #ifdef __cplusplus } #endif -} // namespace duckdb_adbc diff --git a/src/include/duckdb/common/adbc/options.h b/src/include/duckdb/common/adbc/options.h new file mode 100644 index 000000000000..6c9abb4952c6 --- /dev/null +++ b/src/include/duckdb/common/adbc/options.h @@ -0,0 +1,64 @@ +//////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////// +// THIS FILE IS GENERATED BY apache/arrow, DO NOT EDIT MANUALLY // +//////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////// + +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +/// Common options that haven't yet been formally standardized. +/// https://github.com/apache/arrow-adbc/issues/1055 + +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/adbc/options.h +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +/// \brief The catalog of the table for bulk insert. +/// +/// The type is char*. +#define ADBC_INGEST_OPTION_TARGET_CATALOG "adbc.ingest.target_catalog" + +/// \brief The schema of the table for bulk insert. +/// +/// The type is char*. +#define ADBC_INGEST_OPTION_TARGET_DB_SCHEMA "adbc.ingest.target_db_schema" + +/// \brief Use a temporary table for ingestion. +/// +/// The value should be ADBC_OPTION_VALUE_ENABLED or +/// ADBC_OPTION_VALUE_DISABLED (the default). +/// +/// This is not supported with ADBC_INGEST_OPTION_TARGET_CATALOG and +/// ADBC_INGEST_OPTION_TARGET_DB_SCHEMA. +/// +/// The type is char*. +#define ADBC_INGEST_OPTION_TEMPORARY "adbc.ingest.temporary" + +#ifdef __cplusplus +} +#endif diff --git a/src/include/duckdb/common/adbc/single_batch_array_stream.hpp b/src/include/duckdb/common/adbc/single_batch_array_stream.hpp index 583ce276bb31..8a9ec76d9df6 100644 --- a/src/include/duckdb/common/adbc/single_batch_array_stream.hpp +++ b/src/include/duckdb/common/adbc/single_batch_array_stream.hpp @@ -1,3 +1,11 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// common/adbc/single_batch_array_stream.hpp +// +// +//===----------------------------------------------------------------------===// + #pragma once #include "duckdb/common/arrow/arrow.hpp" diff --git a/src/include/duckdb/common/arrow/arrow.hpp b/src/include/duckdb/common/arrow/arrow.hpp index b2f613ec84f9..49bcb1d8b508 100644 --- a/src/include/duckdb/common/arrow/arrow.hpp +++ b/src/include/duckdb/common/arrow/arrow.hpp @@ -22,7 +22,7 @@ extern "C" { #define ARROW_FLAG_MAP_KEYS_SORTED 4 struct ArrowSchema { - // Array type description + //! Array type description const char *format; const char *name; const char *metadata; @@ -31,14 +31,22 @@ struct ArrowSchema { struct ArrowSchema **children; struct ArrowSchema *dictionary; - // Release callback + //! Release callback void (*release)(struct ArrowSchema *); - // Opaque producer-specific data + //! Opaque producer-specific data void *private_data; + + //! Initialize all fields + void Init() { + flags = 0; + n_children = 0; + release = nullptr; + private_data = nullptr; + } }; struct ArrowArray { - // Array data description + //! Array data description int64_t length; int64_t null_count; int64_t offset; @@ -48,10 +56,21 @@ struct ArrowArray { struct ArrowArray **children; struct ArrowArray *dictionary; - // Release callback + //! Release callback void (*release)(struct ArrowArray *); - // Opaque producer-specific data + //! Opaque producer-specific data void *private_data; + + //! Initialize all fields + void Init() { + length = 0; + null_count = 0; + offset = 0; + n_buffers = 0; + n_children = 0; + release = nullptr; + private_data = nullptr; + } }; #endif diff --git a/src/include/duckdb/common/arrow/arrow_wrapper.hpp b/src/include/duckdb/common/arrow/arrow_wrapper.hpp index 0d3fc60dbd80..8b6511564097 100644 --- a/src/include/duckdb/common/arrow/arrow_wrapper.hpp +++ b/src/include/duckdb/common/arrow/arrow_wrapper.hpp @@ -9,7 +9,7 @@ #pragma once #include "duckdb/common/arrow/arrow.hpp" #include "duckdb/common/helper.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb/main/chunk_scan_state.hpp" #include "duckdb/main/client_properties.hpp" @@ -62,10 +62,10 @@ class ArrowArrayStreamWrapper { class ArrowUtil { public: static bool TryFetchChunk(ChunkScanState &scan_state, ClientProperties options, idx_t chunk_size, ArrowArray *out, - idx_t &result_count, PreservedError &error); + idx_t &result_count, ErrorData &error); static idx_t FetchChunk(ChunkScanState &scan_state, ClientProperties options, idx_t chunk_size, ArrowArray *out); private: - static bool TryFetchNext(QueryResult &result, unique_ptr &out, PreservedError &error); + static bool TryFetchNext(QueryResult &result, unique_ptr &out, ErrorData &error); }; } // namespace duckdb diff --git a/src/include/duckdb/common/arrow/result_arrow_wrapper.hpp b/src/include/duckdb/common/arrow/result_arrow_wrapper.hpp index 629316de9f3a..f82e472ddf8d 100644 --- a/src/include/duckdb/common/arrow/result_arrow_wrapper.hpp +++ b/src/include/duckdb/common/arrow/result_arrow_wrapper.hpp @@ -20,7 +20,7 @@ class ResultArrowArrayStreamWrapper { public: ArrowArrayStream stream; unique_ptr result; - PreservedError last_error; + ErrorData last_error; idx_t batch_size; vector column_types; vector column_names; diff --git a/src/include/duckdb/common/bit_utils.hpp b/src/include/duckdb/common/bit_utils.hpp index da4aad663efb..28bc4a975e23 100644 --- a/src/include/duckdb/common/bit_utils.hpp +++ b/src/include/duckdb/common/bit_utils.hpp @@ -9,6 +9,7 @@ #pragma once #include "duckdb/common/hugeint.hpp" +#include "duckdb/common/uhugeint.hpp" #ifdef _MSC_VER #define __restrict__ @@ -138,4 +139,33 @@ struct CountZeros { } }; +template <> +struct CountZeros { + inline static int Leading(uhugeint_t value) { + const uint64_t upper = (uint64_t)value.upper; + const uint64_t lower = value.lower; + + if (upper) { + return __builtin_clzll(upper); + } else if (lower) { + return 64 + __builtin_clzll(lower); + } else { + return 128; + } + } + + inline static int Trailing(uhugeint_t value) { + const uint64_t upper = (uint64_t)value.upper; + const uint64_t lower = value.lower; + + if (lower) { + return __builtin_ctzll(lower); + } else if (upper) { + return 64 + __builtin_ctzll(upper); + } else { + return 128; + } + } +}; + } // namespace duckdb diff --git a/src/include/duckdb/common/bitpacking.hpp b/src/include/duckdb/common/bitpacking.hpp index 43a20042bacc..d41a97a2157f 100644 --- a/src/include/duckdb/common/bitpacking.hpp +++ b/src/include/duckdb/common/bitpacking.hpp @@ -20,8 +20,8 @@ namespace duckdb { using bitpacking_width_t = uint8_t; struct HugeIntPacker { - static void Pack(const hugeint_t *__restrict in, uint32_t *__restrict out, bitpacking_width_t width); - static void Unpack(const uint32_t *__restrict in, hugeint_t *__restrict out, bitpacking_width_t width); + static void Pack(const uhugeint_t *__restrict in, uint32_t *__restrict out, bitpacking_width_t width); + static void Unpack(const uint32_t *__restrict in, uhugeint_t *__restrict out, bitpacking_width_t width); }; class BitpackingPrimitives { @@ -223,8 +223,8 @@ class BitpackingPrimitives { } else if (std::is_same::value || std::is_same::value) { duckdb_fastpforlib::fastpack(reinterpret_cast(values), reinterpret_cast(dst), static_cast(width)); - } else if (std::is_same::value) { - HugeIntPacker::Pack(reinterpret_cast(values), reinterpret_cast(dst), width); + } else if (std::is_same::value || std::is_same::value) { + HugeIntPacker::Pack(reinterpret_cast(values), reinterpret_cast(dst), width); } else { throw InternalException("Unsupported type for bitpacking"); } @@ -245,8 +245,8 @@ class BitpackingPrimitives { } else if (std::is_same::value || std::is_same::value) { duckdb_fastpforlib::fastunpack(reinterpret_cast(src), reinterpret_cast(dst), static_cast(width)); - } else if (std::is_same::value) { - HugeIntPacker::Unpack(reinterpret_cast(src), reinterpret_cast(dst), width); + } else if (std::is_same::value || std::is_same::value) { + HugeIntPacker::Unpack(reinterpret_cast(src), reinterpret_cast(dst), width); } else { throw InternalException("Unsupported type for bitpacking"); } diff --git a/src/include/duckdb/common/case_insensitive_map.hpp b/src/include/duckdb/common/case_insensitive_map.hpp index 30ef9bc9268c..ba8350559bcc 100644 --- a/src/include/duckdb/common/case_insensitive_map.hpp +++ b/src/include/duckdb/common/case_insensitive_map.hpp @@ -13,6 +13,7 @@ #include "duckdb/common/string.hpp" #include "duckdb/common/string_util.hpp" #include "duckdb/common/helper.hpp" +#include "duckdb/common/map.hpp" namespace duckdb { @@ -34,4 +35,13 @@ using case_insensitive_map_t = using case_insensitive_set_t = unordered_set; +struct CaseInsensitiveStringCompare { + bool operator()(const string &s1, const string &s2) const { + return StringUtil::CILessThan(s1, s2); + } +}; + +template +using case_insensitive_tree_t = map; + } // namespace duckdb diff --git a/src/include/duckdb/common/constants.hpp b/src/include/duckdb/common/constants.hpp index 03bded7842f4..57d9f1661b6b 100644 --- a/src/include/duckdb/common/constants.hpp +++ b/src/include/duckdb/common/constants.hpp @@ -33,6 +33,7 @@ using std::move; #define INVALID_CATALOG "" #define SYSTEM_CATALOG "system" #define TEMP_CATALOG "temp" +#define IN_MEMORY_PATH ":memory:" DUCKDB_API bool IsInvalidSchema(const string &str); DUCKDB_API bool IsInvalidCatalog(const string &str); diff --git a/src/include/duckdb/common/enum_util.hpp b/src/include/duckdb/common/enum_util.hpp index 2569877485ce..00a6596a3185 100644 --- a/src/include/duckdb/common/enum_util.hpp +++ b/src/include/duckdb/common/enum_util.hpp @@ -34,6 +34,8 @@ struct EnumUtil { enum class AccessMode : uint8_t; +enum class AggregateCombineType : uint8_t; + enum class AggregateHandling : uint8_t; enum class AggregateOrderDependent : uint8_t; @@ -98,6 +100,10 @@ enum class DebugInitialize : uint8_t; enum class DefaultOrderByNullType : uint8_t; +enum class DependencyEntryType : uint8_t; + +enum class DeprecatedIndexType : uint8_t; + enum class DistinctType : uint8_t; enum class ErrorType : uint16_t; @@ -114,6 +120,8 @@ enum class ExpressionType : uint8_t; enum class ExtensionLoadResult : uint8_t; +enum class ExtraDropInfoType : uint8_t; + enum class ExtraTypeInfoType : uint8_t; enum class FileBufferType : uint8_t; @@ -130,14 +138,12 @@ enum class ForeignKeyType : uint8_t; enum class FunctionNullHandling : uint8_t; -enum class FunctionSideEffects : uint8_t; +enum class FunctionStability : uint8_t; enum class HLLStorageType : uint8_t; enum class IndexConstraintType : uint8_t; -enum class IndexType : uint8_t; - enum class InsertColumnOrder : uint8_t; enum class InterruptMode : uint8_t; @@ -160,6 +166,8 @@ enum class MacroType : uint8_t; enum class MapInvalidReason : uint8_t; +enum class MemoryTag : uint8_t; + enum class NType : uint8_t; enum class NewLineIdentifier : uint8_t; @@ -194,8 +202,6 @@ enum class ParseInfoType : uint8_t; enum class ParserExtensionResultType : uint8_t; -enum class ParserMode : uint8_t; - enum class PartitionSortStage : uint8_t; enum class PartitionedColumnDataType : uint8_t; @@ -230,6 +236,10 @@ enum class ResultModifierType : uint8_t; enum class SampleMethod : uint8_t; +enum class SecretDisplayType : uint8_t; + +enum class SecretPersistType : uint8_t; + enum class SequenceInfo : uint8_t; enum class SetOperationType : uint8_t; @@ -238,6 +248,8 @@ enum class SetScope : uint8_t; enum class SetType : uint8_t; +enum class ShowType : uint8_t; + enum class SimplifiedTokenType : uint8_t; enum class SinkCombineResultType : uint8_t; @@ -300,10 +312,15 @@ enum class WindowAggregationMode : uint32_t; enum class WindowBoundary : uint8_t; +enum class WindowExcludeMode : uint8_t; + template<> const char* EnumUtil::ToChars(AccessMode value); +template<> +const char* EnumUtil::ToChars(AggregateCombineType value); + template<> const char* EnumUtil::ToChars(AggregateHandling value); @@ -400,6 +417,12 @@ const char* EnumUtil::ToChars(DebugInitialize value); template<> const char* EnumUtil::ToChars(DefaultOrderByNullType value); +template<> +const char* EnumUtil::ToChars(DependencyEntryType value); + +template<> +const char* EnumUtil::ToChars(DeprecatedIndexType value); + template<> const char* EnumUtil::ToChars(DistinctType value); @@ -424,6 +447,9 @@ const char* EnumUtil::ToChars(ExpressionType value); template<> const char* EnumUtil::ToChars(ExtensionLoadResult value); +template<> +const char* EnumUtil::ToChars(ExtraDropInfoType value); + template<> const char* EnumUtil::ToChars(ExtraTypeInfoType value); @@ -449,7 +475,7 @@ template<> const char* EnumUtil::ToChars(FunctionNullHandling value); template<> -const char* EnumUtil::ToChars(FunctionSideEffects value); +const char* EnumUtil::ToChars(FunctionStability value); template<> const char* EnumUtil::ToChars(HLLStorageType value); @@ -457,9 +483,6 @@ const char* EnumUtil::ToChars(HLLStorageType value); template<> const char* EnumUtil::ToChars(IndexConstraintType value); -template<> -const char* EnumUtil::ToChars(IndexType value); - template<> const char* EnumUtil::ToChars(InsertColumnOrder value); @@ -493,6 +516,9 @@ const char* EnumUtil::ToChars(MacroType value); template<> const char* EnumUtil::ToChars(MapInvalidReason value); +template<> +const char* EnumUtil::ToChars(MemoryTag value); + template<> const char* EnumUtil::ToChars(NType value); @@ -544,9 +570,6 @@ const char* EnumUtil::ToChars(ParseInfoType value); template<> const char* EnumUtil::ToChars(ParserExtensionResultType value); -template<> -const char* EnumUtil::ToChars(ParserMode value); - template<> const char* EnumUtil::ToChars(PartitionSortStage value); @@ -598,6 +621,12 @@ const char* EnumUtil::ToChars(ResultModifierType value); template<> const char* EnumUtil::ToChars(SampleMethod value); +template<> +const char* EnumUtil::ToChars(SecretDisplayType value); + +template<> +const char* EnumUtil::ToChars(SecretPersistType value); + template<> const char* EnumUtil::ToChars(SequenceInfo value); @@ -610,6 +639,9 @@ const char* EnumUtil::ToChars(SetScope value); template<> const char* EnumUtil::ToChars(SetType value); +template<> +const char* EnumUtil::ToChars(ShowType value); + template<> const char* EnumUtil::ToChars(SimplifiedTokenType value); @@ -703,10 +735,16 @@ const char* EnumUtil::ToChars(WindowAggregationMode value template<> const char* EnumUtil::ToChars(WindowBoundary value); +template<> +const char* EnumUtil::ToChars(WindowExcludeMode value); + template<> AccessMode EnumUtil::FromString(const char *value); +template<> +AggregateCombineType EnumUtil::FromString(const char *value); + template<> AggregateHandling EnumUtil::FromString(const char *value); @@ -803,6 +841,12 @@ DebugInitialize EnumUtil::FromString(const char *value); template<> DefaultOrderByNullType EnumUtil::FromString(const char *value); +template<> +DependencyEntryType EnumUtil::FromString(const char *value); + +template<> +DeprecatedIndexType EnumUtil::FromString(const char *value); + template<> DistinctType EnumUtil::FromString(const char *value); @@ -827,6 +871,9 @@ ExpressionType EnumUtil::FromString(const char *value); template<> ExtensionLoadResult EnumUtil::FromString(const char *value); +template<> +ExtraDropInfoType EnumUtil::FromString(const char *value); + template<> ExtraTypeInfoType EnumUtil::FromString(const char *value); @@ -852,7 +899,7 @@ template<> FunctionNullHandling EnumUtil::FromString(const char *value); template<> -FunctionSideEffects EnumUtil::FromString(const char *value); +FunctionStability EnumUtil::FromString(const char *value); template<> HLLStorageType EnumUtil::FromString(const char *value); @@ -860,9 +907,6 @@ HLLStorageType EnumUtil::FromString(const char *value); template<> IndexConstraintType EnumUtil::FromString(const char *value); -template<> -IndexType EnumUtil::FromString(const char *value); - template<> InsertColumnOrder EnumUtil::FromString(const char *value); @@ -896,6 +940,9 @@ MacroType EnumUtil::FromString(const char *value); template<> MapInvalidReason EnumUtil::FromString(const char *value); +template<> +MemoryTag EnumUtil::FromString(const char *value); + template<> NType EnumUtil::FromString(const char *value); @@ -947,9 +994,6 @@ ParseInfoType EnumUtil::FromString(const char *value); template<> ParserExtensionResultType EnumUtil::FromString(const char *value); -template<> -ParserMode EnumUtil::FromString(const char *value); - template<> PartitionSortStage EnumUtil::FromString(const char *value); @@ -1001,6 +1045,12 @@ ResultModifierType EnumUtil::FromString(const char *value); template<> SampleMethod EnumUtil::FromString(const char *value); +template<> +SecretDisplayType EnumUtil::FromString(const char *value); + +template<> +SecretPersistType EnumUtil::FromString(const char *value); + template<> SequenceInfo EnumUtil::FromString(const char *value); @@ -1013,6 +1063,9 @@ SetScope EnumUtil::FromString(const char *value); template<> SetType EnumUtil::FromString(const char *value); +template<> +ShowType EnumUtil::FromString(const char *value); + template<> SimplifiedTokenType EnumUtil::FromString(const char *value); @@ -1106,5 +1159,8 @@ WindowAggregationMode EnumUtil::FromString(const char *va template<> WindowBoundary EnumUtil::FromString(const char *value); +template<> +WindowExcludeMode EnumUtil::FromString(const char *value); + } diff --git a/src/include/duckdb/common/enums/catalog_type.hpp b/src/include/duckdb/common/enums/catalog_type.hpp index 53c342567c5b..3e18e666ecec 100644 --- a/src/include/duckdb/common/enums/catalog_type.hpp +++ b/src/include/duckdb/common/enums/catalog_type.hpp @@ -37,10 +37,20 @@ enum class CatalogType : uint8_t { TABLE_MACRO_ENTRY = 31, // version info - UPDATED_ENTRY = 50, - DELETED_ENTRY = 51 + DELETED_ENTRY = 51, + RENAMED_ENTRY = 52, + + // secrets + SECRET_ENTRY = 71, + SECRET_TYPE_ENTRY = 72, + SECRET_FUNCTION_ENTRY = 73, + + // dependency info + DEPENDENCY_ENTRY = 100 + }; DUCKDB_API string CatalogTypeToString(CatalogType type); +CatalogType CatalogTypeFromString(const string &type); } // namespace duckdb diff --git a/src/include/duckdb/common/enums/compression_type.hpp b/src/include/duckdb/common/enums/compression_type.hpp index e884d52a5969..19bfa4cc87b7 100644 --- a/src/include/duckdb/common/enums/compression_type.hpp +++ b/src/include/duckdb/common/enums/compression_type.hpp @@ -24,9 +24,12 @@ enum class CompressionType : uint8_t { COMPRESSION_FSST = 7, COMPRESSION_CHIMP = 8, COMPRESSION_PATAS = 9, + COMPRESSION_ALP = 10, + COMPRESSION_ALPRD = 11, COMPRESSION_COUNT // This has to stay the last entry of the type! }; +bool CompressionTypeIsDeprecated(CompressionType compression_type); vector ListCompressionTypes(void); CompressionType CompressionTypeFromString(const string &str); string CompressionTypeToString(CompressionType type); diff --git a/src/include/duckdb/common/enums/expression_type.hpp b/src/include/duckdb/common/enums/expression_type.hpp index e404ef4ac6ee..0b6516de0279 100644 --- a/src/include/duckdb/common/enums/expression_type.hpp +++ b/src/include/duckdb/common/enums/expression_type.hpp @@ -133,6 +133,7 @@ enum class ExpressionType : uint8_t { COLUMN_REF = 203, FUNCTION_REF = 204, TABLE_REF = 205, + LAMBDA_REF = 206, // ----------------------------- // Miscellaneous @@ -173,6 +174,7 @@ enum class ExpressionClass : uint8_t { LAMBDA = 17, POSITIONAL_REFERENCE = 18, BETWEEN = 19, + LAMBDA_REF = 20, //===--------------------------------------------------------------------===// // Bound Expressions //===--------------------------------------------------------------------===// diff --git a/src/include/duckdb/common/enums/index_type.hpp b/src/include/duckdb/common/enums/index_constraint_type.hpp similarity index 87% rename from src/include/duckdb/common/enums/index_type.hpp rename to src/include/duckdb/common/enums/index_constraint_type.hpp index a2cbd3f08240..1e40dd4f3fca 100644 --- a/src/include/duckdb/common/enums/index_type.hpp +++ b/src/include/duckdb/common/enums/index_constraint_type.hpp @@ -1,7 +1,7 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/common/enums/index_type.hpp +// duckdb/common/enums/index_constraint_type.hpp // // //===----------------------------------------------------------------------===// @@ -12,15 +12,6 @@ namespace duckdb { -//===--------------------------------------------------------------------===// -// Index Types -//===--------------------------------------------------------------------===// -enum class IndexType : uint8_t { - INVALID = 0, // invalid index type - ART = 1, // Adaptive Radix Tree - EXTENSION = 100 // Extension index -}; - //===--------------------------------------------------------------------===// // Index Constraint Types //===--------------------------------------------------------------------===// @@ -31,4 +22,14 @@ enum class IndexConstraintType : uint8_t { FOREIGN = 3 // index is an index built to enforce a FOREIGN KEY constraint }; +//===--------------------------------------------------------------------===// +// Index Types +//===--------------------------------------------------------------------===// +// NOTE: deprecated. Still necessary to read older duckdb files. +enum class DeprecatedIndexType : uint8_t { + INVALID = 0, // invalid index type + ART = 1, // Adaptive Radix Tree + EXTENSION = 100 // Extension index +}; + } // namespace duckdb diff --git a/src/include/duckdb/common/enums/join_type.hpp b/src/include/duckdb/common/enums/join_type.hpp index c72cf001a77d..4b3446963eaf 100644 --- a/src/include/duckdb/common/enums/join_type.hpp +++ b/src/include/duckdb/common/enums/join_type.hpp @@ -21,12 +21,16 @@ enum class JoinType : uint8_t { RIGHT = 2, // right INNER = 3, // inner OUTER = 4, // outer - SEMI = 5, // SEMI join returns left side row ONLY if it has a join partner, no duplicates - ANTI = 6, // ANTI join returns left side row ONLY if it has NO join partner, no duplicates + SEMI = 5, // LEFT SEMI join returns left side row ONLY if it has a join partner, no duplicates. + ANTI = 6, // LEFT ANTI join returns left side row ONLY if it has NO join partner, no duplicates MARK = 7, // MARK join returns marker indicating whether or not there is a join partner (true), there is no join // partner (false) - SINGLE = 8 // SINGLE join is like LEFT OUTER JOIN, BUT returns at most one join partner per entry on the LEFT side + SINGLE = 8, // SINGLE join is like LEFT OUTER JOIN, BUT returns at most one join partner per entry on the LEFT side // (and NULL if no partner is found) + RIGHT_SEMI = 9, // RIGHT SEMI join is created by the optimizer when the children of a semi join need to be switched + // so that the build side can be the smaller table + RIGHT_ANTI = 10 // RIGHT ANTI join is created by the optimizer when the children of an anti join need to be switched + // so that the build side can be the smaller table }; //! True if join is left or full outer join @@ -35,6 +39,15 @@ bool IsLeftOuterJoin(JoinType type); //! True if join is rght or full outer join bool IsRightOuterJoin(JoinType type); +//! Whether the build side is propagated out of the join +bool PropagatesBuildSide(JoinType type); + +//! Whether the JoinType has an inverse +bool HasInverseJoinType(JoinType type); + +//! Gets the inverse JoinType, e.g., LEFT -> RIGHT +JoinType InverseJoinType(JoinType type); + // **DEPRECATED**: Use EnumUtil directly instead. string JoinTypeToString(JoinType type); diff --git a/src/include/duckdb/common/enums/logical_operator_type.hpp b/src/include/duckdb/common/enums/logical_operator_type.hpp index 9215d3e40feb..9c90ab7d2155 100644 --- a/src/include/duckdb/common/enums/logical_operator_type.hpp +++ b/src/include/duckdb/common/enums/logical_operator_type.hpp @@ -30,6 +30,7 @@ enum class LogicalOperatorType : uint8_t { LOGICAL_SAMPLE = 12, LOGICAL_LIMIT_PERCENT = 13, LOGICAL_PIVOT = 14, + LOGICAL_COPY_DATABASE = 15, // ----------------------------- // Data sources @@ -90,11 +91,6 @@ enum class LogicalOperatorType : uint8_t { // ----------------------------- LOGICAL_EXPLAIN = 150, - // ----------------------------- - // Show - // ----------------------------- - LOGICAL_SHOW = 160, - // ----------------------------- // Helpers // ----------------------------- @@ -106,6 +102,11 @@ enum class LogicalOperatorType : uint8_t { LOGICAL_LOAD = 180, LOGICAL_RESET = 181, + // ----------------------------- + // Secrets + // ----------------------------- + LOGICAL_CREATE_SECRET = 190, + LOGICAL_EXTENSION_OPERATOR = 255 }; diff --git a/src/include/duckdb/common/enums/memory_tag.hpp b/src/include/duckdb/common/enums/memory_tag.hpp new file mode 100644 index 000000000000..109332b17c36 --- /dev/null +++ b/src/include/duckdb/common/enums/memory_tag.hpp @@ -0,0 +1,32 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/enums/memory_tag.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/constants.hpp" + +namespace duckdb { + +enum class MemoryTag : uint8_t { + BASE_TABLE = 0, + HASH_TABLE = 1, + PARQUET_READER = 2, + CSV_READER = 3, + ORDER_BY = 4, + ART_INDEX = 5, + COLUMN_DATA = 6, + METADATA = 7, + OVERFLOW_STRINGS = 8, + IN_MEMORY_TABLE = 9, + ALLOCATOR = 10, + EXTENSION = 11 +}; + +static constexpr const idx_t MEMORY_TAG_COUNT = 12; + +} // namespace duckdb diff --git a/src/include/duckdb/common/enums/on_create_conflict.hpp b/src/include/duckdb/common/enums/on_create_conflict.hpp new file mode 100644 index 000000000000..b9d0171d004f --- /dev/null +++ b/src/include/duckdb/common/enums/on_create_conflict.hpp @@ -0,0 +1,26 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/enums/on_create_conflict.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/constants.hpp" + +namespace duckdb { + +enum class OnCreateConflict : uint8_t { + // Standard: throw error + ERROR_ON_CONFLICT, + // CREATE IF NOT EXISTS, silently do nothing on conflict + IGNORE_ON_CONFLICT, + // CREATE OR REPLACE + REPLACE_ON_CONFLICT, + // Update on conflict - only support for functions. Add a function overload if the function already exists. + ALTER_ON_CONFLICT +}; + +} // namespace duckdb diff --git a/src/include/duckdb/common/enums/optimizer_type.hpp b/src/include/duckdb/common/enums/optimizer_type.hpp index 873d9b2dc157..c687ec406e54 100644 --- a/src/include/duckdb/common/enums/optimizer_type.hpp +++ b/src/include/duckdb/common/enums/optimizer_type.hpp @@ -9,6 +9,7 @@ #pragma once #include "duckdb/common/constants.hpp" +#include "duckdb/common/vector.hpp" namespace duckdb { @@ -36,5 +37,6 @@ enum class OptimizerType : uint32_t { string OptimizerTypeToString(OptimizerType type); OptimizerType OptimizerTypeFromString(const string &str); +vector ListAllOptimizers(); } // namespace duckdb diff --git a/src/include/duckdb/common/enums/pending_execution_result.hpp b/src/include/duckdb/common/enums/pending_execution_result.hpp index e130e97340ae..8c8daa3e661c 100644 --- a/src/include/duckdb/common/enums/pending_execution_result.hpp +++ b/src/include/duckdb/common/enums/pending_execution_result.hpp @@ -12,6 +12,12 @@ namespace duckdb { -enum class PendingExecutionResult : uint8_t { RESULT_READY, RESULT_NOT_READY, EXECUTION_ERROR, NO_TASKS_AVAILABLE }; +enum class PendingExecutionResult : uint8_t { + RESULT_READY, + RESULT_NOT_READY, + EXECUTION_ERROR, + BLOCKED, + NO_TASKS_AVAILABLE +}; } // namespace duckdb diff --git a/src/include/duckdb/common/enums/physical_operator_type.hpp b/src/include/duckdb/common/enums/physical_operator_type.hpp index 0946d0671259..454363ea29f2 100644 --- a/src/include/duckdb/common/enums/physical_operator_type.hpp +++ b/src/include/duckdb/common/enums/physical_operator_type.hpp @@ -36,6 +36,7 @@ enum class PhysicalOperatorType : uint8_t { STREAMING_SAMPLE, STREAMING_WINDOW, PIVOT, + COPY_DATABASE, // ----------------------------- // Scans @@ -58,8 +59,8 @@ enum class PhysicalOperatorType : uint8_t { CROSS_PRODUCT, PIECEWISE_MERGE_JOIN, IE_JOIN, - DELIM_JOIN, - INDEX_JOIN, + LEFT_DELIM_JOIN, + RIGHT_DELIM_JOIN, POSITIONAL_JOIN, ASOF_JOIN, // ----------------------------- @@ -110,7 +111,12 @@ enum class PhysicalOperatorType : uint8_t { INOUT_FUNCTION, RESULT_COLLECTOR, RESET, - EXTENSION + EXTENSION, + + // ----------------------------- + // Secret + // ----------------------------- + CREATE_SECRET, }; string PhysicalOperatorToString(PhysicalOperatorType type); diff --git a/src/include/duckdb/common/enums/statement_type.hpp b/src/include/duckdb/common/enums/statement_type.hpp index 3ed9ba6366f4..3a52b5283f63 100644 --- a/src/include/duckdb/common/enums/statement_type.hpp +++ b/src/include/duckdb/common/enums/statement_type.hpp @@ -35,7 +35,6 @@ enum class StatementType : uint8_t { DROP_STATEMENT, // DROP statement type EXPORT_STATEMENT, // EXPORT statement type PRAGMA_STATEMENT, // PRAGMA statement type - SHOW_STATEMENT, // SHOW statement type VACUUM_STATEMENT, // VACUUM statement type CALL_STATEMENT, // CALL statement type SET_STATEMENT, // SET statement type @@ -45,8 +44,8 @@ enum class StatementType : uint8_t { LOGICAL_PLAN_STATEMENT, ATTACH_STATEMENT, DETACH_STATEMENT, - MULTI_STATEMENT - + MULTI_STATEMENT, + COPY_DATABASE_STATEMENT, }; DUCKDB_API string StatementTypeToString(StatementType type); @@ -63,13 +62,13 @@ string StatementReturnTypeToString(StatementReturnType type); struct StatementProperties { StatementProperties() : requires_valid_transaction(true), allow_stream_result(false), bound_all_parameters(true), - return_type(StatementReturnType::QUERY_RESULT), parameter_count(0) { + return_type(StatementReturnType::QUERY_RESULT), parameter_count(0), always_require_rebind(false) { } //! The set of databases this statement will modify unordered_set modified_databases; //! Whether or not the statement requires a valid transaction. Almost all statements require this, with the - //! exception of + //! exception of ROLLBACK bool requires_valid_transaction; //! Whether or not the result can be streamed to the client bool allow_stream_result; @@ -79,6 +78,8 @@ struct StatementProperties { StatementReturnType return_type; //! The number of prepared statement parameters idx_t parameter_count; + //! Whether or not the statement ALWAYS requires a rebind + bool always_require_rebind; bool IsReadOnly() { return modified_databases.empty(); diff --git a/src/include/duckdb/common/enums/tableref_type.hpp b/src/include/duckdb/common/enums/tableref_type.hpp index 1f042c16088f..c4cf9844a451 100644 --- a/src/include/duckdb/common/enums/tableref_type.hpp +++ b/src/include/duckdb/common/enums/tableref_type.hpp @@ -23,8 +23,9 @@ enum class TableReferenceType : uint8_t { TABLE_FUNCTION = 5, // table producing function EXPRESSION_LIST = 6, // expression list CTE = 7, // Recursive CTE - EMPTY = 8, // placeholder for empty FROM - PIVOT = 9 // pivot statement + EMPTY_FROM = 8, // placeholder for empty FROM + PIVOT = 9, // pivot statement + SHOW_REF = 10 // SHOW statement }; } // namespace duckdb diff --git a/src/include/duckdb/common/enums/wal_type.hpp b/src/include/duckdb/common/enums/wal_type.hpp index b18fa9f16ba7..4972be1b86f0 100644 --- a/src/include/duckdb/common/enums/wal_type.hpp +++ b/src/include/duckdb/common/enums/wal_type.hpp @@ -54,6 +54,7 @@ enum class WALType : uint8_t { // ----------------------------- // Flush // ----------------------------- + WAL_VERSION = 98, CHECKPOINT = 99, WAL_FLUSH = 100 }; diff --git a/src/include/duckdb/common/preserved_error.hpp b/src/include/duckdb/common/error_data.hpp similarity index 50% rename from src/include/duckdb/common/preserved_error.hpp rename to src/include/duckdb/common/error_data.hpp index 65bc4faecdd8..83d636d32b0b 100644 --- a/src/include/duckdb/common/preserved_error.hpp +++ b/src/include/duckdb/common/error_data.hpp @@ -1,7 +1,7 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/common/preserved_error.hpp +// duckdb/common/error_data.hpp // // //===----------------------------------------------------------------------===// @@ -12,37 +12,49 @@ #include "duckdb/common/string.hpp" namespace duckdb { +class ParsedExpression; +class TableRef; -class PreservedError { +class ErrorData { public: //! Not initialized, default constructor - DUCKDB_API PreservedError(); + DUCKDB_API ErrorData(); //! From std::exception - PreservedError(const std::exception &ex) : PreservedError(ex.what()) { - } + DUCKDB_API ErrorData(const std::exception &ex); // NOLINT: allow implicit construction from exception + //! From a raw string and exception type + DUCKDB_API explicit ErrorData(ExceptionType type, const string &raw_message); //! From a raw string - DUCKDB_API explicit PreservedError(const string &raw_message); - //! From an Exception - DUCKDB_API PreservedError(const Exception &exception); + DUCKDB_API explicit ErrorData(const string &raw_message); public: //! Throw the error [[noreturn]] DUCKDB_API void Throw(const string &prepended_message = "") const; //! Get the internal exception type of the error DUCKDB_API const ExceptionType &Type() const; - //! Allows adding addition information to the message - DUCKDB_API PreservedError &AddToMessage(const string &prepended_message); //! Used in clients like C-API, creates the final message and returns a reference to it DUCKDB_API const string &Message(); - //! Let's us do things like 'if (error)' - DUCKDB_API operator bool() const; - DUCKDB_API bool operator==(const PreservedError &other) const; - const shared_ptr &GetError() { - return exception_instance; + DUCKDB_API const string &RawMessage() { + return raw_message; + } + DUCKDB_API bool operator==(const ErrorData &other) const; + + inline bool HasError() const { + return initialized; } + const unordered_map &ExtraInfo() const { + return extra_info; + } + + DUCKDB_API void AddErrorLocation(const string &query); + DUCKDB_API void ConvertErrorToJSON(); + + DUCKDB_API void AddQueryLocation(optional_idx query_location); + DUCKDB_API void AddQueryLocation(QueryErrorContext error_context); + DUCKDB_API void AddQueryLocation(const ParsedExpression &ref); + DUCKDB_API void AddQueryLocation(const TableRef &ref); private: - //! Whether this PreservedError contains an exception or not + //! Whether this ErrorData contains an exception or not bool initialized; //! The ExceptionType of the preserved exception ExceptionType type; @@ -50,7 +62,8 @@ class PreservedError { string raw_message; //! The final message (stored in the preserved error for compatibility reasons with C-API) string final_message; - std::shared_ptr exception_instance; + //! Extra exception info + unordered_map extra_info; private: DUCKDB_API static string SanitizeErrorMessage(string error); diff --git a/src/include/duckdb/common/exception.hpp b/src/include/duckdb/common/exception.hpp index 5e2ad4d6ec08..b23fb9709c25 100644 --- a/src/include/duckdb/common/exception.hpp +++ b/src/include/duckdb/common/exception.hpp @@ -11,7 +11,7 @@ #include "duckdb/common/assert.hpp" #include "duckdb/common/exception_format_value.hpp" #include "duckdb/common/shared_ptr.hpp" -#include "duckdb/common/map.hpp" +#include "duckdb/common/unordered_map.hpp" #include "duckdb/common/typedefs.hpp" #include @@ -20,7 +20,12 @@ namespace duckdb { enum class PhysicalType : uint8_t; struct LogicalType; +class Expression; +class ParsedExpression; +class QueryErrorContext; +class TableRef; struct hugeint_t; +class optional_idx; inline void assert_restrict_function(const void *left_start, const void *left_end, const void *right_start, const void *right_end, const char *fname, int linenr) { @@ -81,29 +86,19 @@ enum class ExceptionType { DEPENDENCY = 37, // dependency HTTP = 38, MISSING_EXTENSION = 39, // Thrown when an extension is used but not loaded - AUTOLOAD = 40 // Thrown when an extension is used but not loaded + AUTOLOAD = 40, // Thrown when an extension is used but not loaded + SEQUENCE = 41 }; -class HTTPException; -class Exception : public std::exception { +class Exception : public std::runtime_error { public: - DUCKDB_API explicit Exception(const string &msg); DUCKDB_API Exception(ExceptionType exception_type, const string &message); - - ExceptionType type; + DUCKDB_API Exception(ExceptionType exception_type, const string &message, + const unordered_map &extra_info); public: - DUCKDB_API const char *what() const noexcept override; - DUCKDB_API const string &RawMessage() const; - DUCKDB_API static string ExceptionTypeToString(ExceptionType type); DUCKDB_API static ExceptionType StringToExceptionType(const string &type); - [[noreturn]] DUCKDB_API static void ThrowAsTypeWithMessage(ExceptionType type, const string &message, - const std::shared_ptr &original); - virtual std::shared_ptr Copy() const { - return make_shared(type, raw_message_); - } - DUCKDB_API const HTTPException &AsHTTPException() const; template static string ConstructMessage(const string &msg, Args... params) { @@ -114,6 +109,21 @@ class Exception : public std::exception { return ConstructMessageRecursive(msg, values, params...); } + DUCKDB_API static unordered_map InitializeExtraInfo(const Expression &expr); + DUCKDB_API static unordered_map InitializeExtraInfo(const ParsedExpression &expr); + DUCKDB_API static unordered_map InitializeExtraInfo(const QueryErrorContext &error_context); + DUCKDB_API static unordered_map InitializeExtraInfo(const TableRef &ref); + DUCKDB_API static unordered_map InitializeExtraInfo(optional_idx error_location); + DUCKDB_API static unordered_map InitializeExtraInfo(const string &subtype, + optional_idx error_location); + + DUCKDB_API static string ToJSON(ExceptionType type, const string &message); + DUCKDB_API static string ToJSON(ExceptionType type, const string &message, + const unordered_map &extra_info); + + DUCKDB_API static bool InvalidatesTransaction(ExceptionType exception_type); + DUCKDB_API static bool InvalidatesDatabase(ExceptionType exception_type); + DUCKDB_API static string ConstructMessageRecursive(const string &msg, std::vector &values); template @@ -130,31 +140,13 @@ class Exception : public std::exception { return (message + "\n" + GetStackTrace()); } -private: - string exception_message_; - string raw_message_; + DUCKDB_API static void SetQueryLocation(optional_idx error_location, unordered_map &extra_info); }; //===--------------------------------------------------------------------===// // Exception derived classes //===--------------------------------------------------------------------===// - -//! Exceptions that are StandardExceptions do NOT invalidate the current transaction when thrown -class StandardException : public Exception { -public: - DUCKDB_API StandardException(ExceptionType exception_type, const string &message); -}; - -class CatalogException : public StandardException { -public: - DUCKDB_API explicit CatalogException(const string &msg); - - template - explicit CatalogException(const string &msg, Args... params) : CatalogException(ConstructMessage(msg, params...)) { - } -}; - -class ConnectionException : public StandardException { +class ConnectionException : public Exception { public: DUCKDB_API explicit ConnectionException(const string &msg); @@ -164,16 +156,7 @@ class ConnectionException : public StandardException { } }; -class ParserException : public StandardException { -public: - DUCKDB_API explicit ParserException(const string &msg); - - template - explicit ParserException(const string &msg, Args... params) : ParserException(ConstructMessage(msg, params...)) { - } -}; - -class PermissionException : public StandardException { +class PermissionException : public Exception { public: DUCKDB_API explicit PermissionException(const string &msg); @@ -183,45 +166,6 @@ class PermissionException : public StandardException { } }; -class BinderException : public StandardException { -public: - DUCKDB_API explicit BinderException(const string &msg); - - template - explicit BinderException(const string &msg, Args... params) : BinderException(ConstructMessage(msg, params...)) { - } -}; - -class ConversionException : public Exception { -public: - DUCKDB_API explicit ConversionException(const string &msg); - - template - explicit ConversionException(const string &msg, Args... params) - : ConversionException(ConstructMessage(msg, params...)) { - } -}; - -class TransactionException : public Exception { -public: - DUCKDB_API explicit TransactionException(const string &msg); - - template - explicit TransactionException(const string &msg, Args... params) - : TransactionException(ConstructMessage(msg, params...)) { - } -}; - -class NotImplementedException : public Exception { -public: - DUCKDB_API explicit NotImplementedException(const string &msg); - - template - explicit NotImplementedException(const string &msg, Args... params) - : NotImplementedException(ConstructMessage(msg, params...)) { - } -}; - class OutOfRangeException : public Exception { public: DUCKDB_API explicit OutOfRangeException(const string &msg); @@ -230,6 +174,10 @@ class OutOfRangeException : public Exception { explicit OutOfRangeException(const string &msg, Args... params) : OutOfRangeException(ConstructMessage(msg, params...)) { } + DUCKDB_API OutOfRangeException(const int64_t value, const PhysicalType origType, const PhysicalType newType); + DUCKDB_API OutOfRangeException(const hugeint_t value, const PhysicalType origType, const PhysicalType newType); + DUCKDB_API OutOfRangeException(const double value, const PhysicalType origType, const PhysicalType newType); + DUCKDB_API OutOfRangeException(const PhysicalType varType, const idx_t length); }; class OutOfMemoryException : public Exception { @@ -274,12 +222,18 @@ class DependencyException : public Exception { class IOException : public Exception { public: DUCKDB_API explicit IOException(const string &msg); + DUCKDB_API explicit IOException(const string &msg, const unordered_map &extra_info); explicit IOException(ExceptionType exception_type, const string &msg) : Exception(exception_type, msg) { } template explicit IOException(const string &msg, Args... params) : IOException(ConstructMessage(msg, params...)) { } + + template + explicit IOException(const string &msg, const unordered_map &extra_info, Args... params) + : IOException(ConstructMessage(msg, params...), extra_info) { + } }; class MissingExtensionException : public Exception { @@ -292,74 +246,19 @@ class MissingExtensionException : public Exception { } }; -class AutoloadException : public Exception { +class NotImplementedException : public Exception { public: - DUCKDB_API explicit AutoloadException(const string &extension_name, Exception &e); + DUCKDB_API explicit NotImplementedException(const string &msg); template - explicit AutoloadException(const string &extension_name, Exception &e, Args... params) - : AutoloadException(ConstructMessage(extension_name, e, params...)) { + explicit NotImplementedException(const string &msg, Args... params) + : NotImplementedException(ConstructMessage(msg, params...)) { } - -protected: - Exception &wrapped_exception; }; -class HTTPException : public IOException { +class AutoloadException : public Exception { public: - template - struct ResponseShape { - typedef int status; - }; - - template ::status = 0, typename... ARGS> - explicit HTTPException(RESPONSE &response, const string &msg, ARGS... params) - : HTTPException(response.status, response.body, response.headers, response.reason, msg, params...) { - } - - template - struct ResponseWrapperShape { - typedef int code; - }; - template ::code = 0, typename... ARGS> - explicit HTTPException(RESPONSE &response, const string &msg, ARGS... params) - : HTTPException(response.code, response.body, response.headers, response.error, msg, params...) { - } - - template - explicit HTTPException(int status_code, string response_body, HEADERS headers, const string &reason, - const string &msg, ARGS... params) - : IOException(ExceptionType::HTTP, ConstructMessage(msg, params...)), status_code(status_code), reason(reason), - response_body(std::move(response_body)) { - this->headers.insert(headers.begin(), headers.end()); - D_ASSERT(this->headers.size() > 0); - } - - std::shared_ptr Copy() const { - return make_shared(status_code, response_body, headers, reason, RawMessage()); - } - - const std::multimap GetHeaders() const { - return headers; - } - int GetStatusCode() const { - return status_code; - } - const string &GetResponseBody() const { - return response_body; - } - const string &GetReason() const { - return reason; - } - [[noreturn]] void Throw() const { - throw HTTPException(status_code, response_body, headers, reason, RawMessage()); - } - -private: - int status_code; - string reason; - string response_body; - std::multimap headers; + DUCKDB_API explicit AutoloadException(const string &extension_name, const string &message); }; class SerializationException : public Exception { @@ -403,7 +302,7 @@ class FatalException : public Exception { } }; -class InternalException : public FatalException { +class InternalException : public Exception { public: DUCKDB_API explicit InternalException(const string &msg); @@ -416,19 +315,16 @@ class InternalException : public FatalException { class InvalidInputException : public Exception { public: DUCKDB_API explicit InvalidInputException(const string &msg); + DUCKDB_API explicit InvalidInputException(const string &msg, const unordered_map &extra_info); template explicit InvalidInputException(const string &msg, Args... params) : InvalidInputException(ConstructMessage(msg, params...)) { } -}; - -class CastException : public Exception { -public: - DUCKDB_API CastException(const PhysicalType origType, const PhysicalType newType); - DUCKDB_API CastException(const LogicalType &origType, const LogicalType &newType); - DUCKDB_API - CastException(const string &msg); //! Needed to be able to recreate the exception after it's been serialized + template + explicit InvalidInputException(Expression &expr, const string &msg, Args... params) + : InvalidInputException(ConstructMessage(msg, params...), Exception::InitializeExtraInfo(expr)) { + } }; class InvalidTypeException : public Exception { @@ -447,17 +343,7 @@ class TypeMismatchException : public Exception { TypeMismatchException(const string &msg); //! Needed to be able to recreate the exception after it's been serialized }; -class ValueOutOfRangeException : public Exception { -public: - DUCKDB_API ValueOutOfRangeException(const int64_t value, const PhysicalType origType, const PhysicalType newType); - DUCKDB_API ValueOutOfRangeException(const hugeint_t value, const PhysicalType origType, const PhysicalType newType); - DUCKDB_API ValueOutOfRangeException(const double value, const PhysicalType origType, const PhysicalType newType); - DUCKDB_API ValueOutOfRangeException(const PhysicalType varType, const idx_t length); - DUCKDB_API ValueOutOfRangeException( - const string &msg); //! Needed to be able to recreate the exception after it's been serialized -}; - -class ParameterNotAllowedException : public StandardException { +class ParameterNotAllowedException : public Exception { public: DUCKDB_API explicit ParameterNotAllowedException(const string &msg); diff --git a/src/include/duckdb/common/exception/binder_exception.hpp b/src/include/duckdb/common/exception/binder_exception.hpp new file mode 100644 index 000000000000..493e3e2f1039 --- /dev/null +++ b/src/include/duckdb/common/exception/binder_exception.hpp @@ -0,0 +1,47 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/exception/binder_exception.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/exception.hpp" +#include "duckdb/parser/query_error_context.hpp" + +namespace duckdb { + +class BinderException : public Exception { +public: + DUCKDB_API explicit BinderException(const string &msg, const unordered_map &extra_info); + DUCKDB_API explicit BinderException(const string &msg); + + template + explicit BinderException(const string &msg, Args... params) : BinderException(ConstructMessage(msg, params...)) { + } + template + explicit BinderException(const TableRef &ref, const string &msg, Args... params) + : BinderException(ConstructMessage(msg, params...), Exception::InitializeExtraInfo(ref)) { + } + template + explicit BinderException(const ParsedExpression &expr, const string &msg, Args... params) + : BinderException(ConstructMessage(msg, params...), Exception::InitializeExtraInfo(expr)) { + } + template + explicit BinderException(QueryErrorContext error_context, const string &msg, Args... params) + : BinderException(ConstructMessage(msg, params...), Exception::InitializeExtraInfo(error_context)) { + } + template + explicit BinderException(optional_idx error_location, const string &msg, Args... params) + : BinderException(ConstructMessage(msg, params...), Exception::InitializeExtraInfo(error_location)) { + } + + static BinderException ColumnNotFound(const string &name, const vector &similar_bindings, + QueryErrorContext context = QueryErrorContext()); + static BinderException NoMatchingFunction(const string &name, const vector &arguments, + const vector &candidates); +}; + +} // namespace duckdb diff --git a/src/include/duckdb/common/exception/catalog_exception.hpp b/src/include/duckdb/common/exception/catalog_exception.hpp new file mode 100644 index 000000000000..1c9932055939 --- /dev/null +++ b/src/include/duckdb/common/exception/catalog_exception.hpp @@ -0,0 +1,39 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/exception/catalog_exception.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/exception.hpp" +#include "duckdb/common/enums/catalog_type.hpp" +#include "duckdb/parser/query_error_context.hpp" +#include "duckdb/common/unordered_map.hpp" + +namespace duckdb { + +class CatalogException : public Exception { +public: + DUCKDB_API explicit CatalogException(const string &msg); + DUCKDB_API explicit CatalogException(const string &msg, const unordered_map &extra_info); + + template + explicit CatalogException(const string &msg, Args... params) : CatalogException(ConstructMessage(msg, params...)) { + } + template + explicit CatalogException(QueryErrorContext error_context, const string &msg, Args... params) + : CatalogException(ConstructMessage(msg, params...), Exception::InitializeExtraInfo(error_context)) { + } + + static CatalogException MissingEntry(CatalogType type, const string &name, const string &suggestion, + QueryErrorContext context = QueryErrorContext()); + static CatalogException MissingEntry(const string &type, const string &name, const vector &suggestions, + QueryErrorContext context = QueryErrorContext()); + static CatalogException EntryAlreadyExists(CatalogType type, const string &name, + QueryErrorContext context = QueryErrorContext()); +}; + +} // namespace duckdb diff --git a/src/include/duckdb/common/exception/conversion_exception.hpp b/src/include/duckdb/common/exception/conversion_exception.hpp new file mode 100644 index 000000000000..945e091d66d6 --- /dev/null +++ b/src/include/duckdb/common/exception/conversion_exception.hpp @@ -0,0 +1,27 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/exception/conversion_exception.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/exception.hpp" + +namespace duckdb { + +class ConversionException : public Exception { +public: + DUCKDB_API explicit ConversionException(const string &msg); + DUCKDB_API ConversionException(const PhysicalType origType, const PhysicalType newType); + DUCKDB_API ConversionException(const LogicalType &origType, const LogicalType &newType); + + template + explicit ConversionException(const string &msg, Args... params) + : ConversionException(ConstructMessage(msg, params...)) { + } +}; + +} // namespace duckdb diff --git a/src/include/duckdb/common/exception/http_exception.hpp b/src/include/duckdb/common/exception/http_exception.hpp new file mode 100644 index 000000000000..c953ee3b16f5 --- /dev/null +++ b/src/include/duckdb/common/exception/http_exception.hpp @@ -0,0 +1,62 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/exception/http_exception.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/exception.hpp" +#include "duckdb/common/to_string.hpp" + +namespace duckdb { + +class HTTPException : public Exception { +public: + template + struct ResponseShape { + typedef int status; + }; + + explicit HTTPException(string message) : Exception(ExceptionType::HTTP, std::move(message)) { + } + + template ::status = 0, typename... ARGS> + explicit HTTPException(RESPONSE &response, const string &msg, ARGS... params) + : HTTPException(response.status, response.body, response.headers, response.reason, msg, params...) { + } + + template + struct ResponseWrapperShape { + typedef int code; + }; + + template ::code = 0, typename... ARGS> + explicit HTTPException(RESPONSE &response, const string &msg, ARGS... params) + : HTTPException(response.code, response.body, response.headers, response.error, msg, params...) { + } + + template + explicit HTTPException(int status_code, const string &response_body, const HEADERS &headers, const string &reason, + const string &msg, ARGS... params) + : Exception(ExceptionType::HTTP, ConstructMessage(msg, params...), + HTTPExtraInfo(status_code, response_body, headers, reason)) { + } + + template + static unordered_map HTTPExtraInfo(int status_code, const string &response_body, + const HEADERS &headers, const string &reason) { + unordered_map extra_info; + extra_info["status_code"] = to_string(status_code); + extra_info["reason"] = reason; + extra_info["response_body"] = response_body; + for (auto &entry : headers) { + extra_info["header_" + entry.first] = entry.second; + } + return extra_info; + } +}; + +} // namespace duckdb diff --git a/src/include/duckdb/common/exception/list.hpp b/src/include/duckdb/common/exception/list.hpp new file mode 100644 index 000000000000..532b77d7b88c --- /dev/null +++ b/src/include/duckdb/common/exception/list.hpp @@ -0,0 +1,6 @@ +#include "duckdb/common/exception/binder_exception.hpp" +#include "duckdb/common/exception/catalog_exception.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" +#include "duckdb/common/exception/http_exception.hpp" +#include "duckdb/common/exception/parser_exception.hpp" +#include "duckdb/common/exception/transaction_exception.hpp" diff --git a/src/include/duckdb/common/exception/parser_exception.hpp b/src/include/duckdb/common/exception/parser_exception.hpp new file mode 100644 index 000000000000..15d97bf0e028 --- /dev/null +++ b/src/include/duckdb/common/exception/parser_exception.hpp @@ -0,0 +1,29 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/exception/parser_exception.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/exception.hpp" +#include "duckdb/common/optional_idx.hpp" +#include "duckdb/common/unordered_map.hpp" + +namespace duckdb { + +class ParserException : public Exception { +public: + DUCKDB_API explicit ParserException(const string &msg); + DUCKDB_API explicit ParserException(const string &msg, const unordered_map &extra_info); + + template + explicit ParserException(const string &msg, Args... params) : ParserException(ConstructMessage(msg, params...)) { + } + + static ParserException SyntaxError(const string &query, const string &error_message, optional_idx error_location); +}; + +} // namespace duckdb diff --git a/src/include/duckdb/common/exception/transaction_exception.hpp b/src/include/duckdb/common/exception/transaction_exception.hpp new file mode 100644 index 000000000000..2dadb8d09617 --- /dev/null +++ b/src/include/duckdb/common/exception/transaction_exception.hpp @@ -0,0 +1,25 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/exception/transaction_exception.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/exception.hpp" + +namespace duckdb { + +class TransactionException : public Exception { +public: + DUCKDB_API explicit TransactionException(const string &msg); + + template + explicit TransactionException(const string &msg, Args... params) + : TransactionException(ConstructMessage(msg, params...)) { + } +}; + +} // namespace duckdb diff --git a/src/include/duckdb/common/exception_format_value.hpp b/src/include/duckdb/common/exception_format_value.hpp index 1834663e5203..286a2b28a3a2 100644 --- a/src/include/duckdb/common/exception_format_value.hpp +++ b/src/include/duckdb/common/exception_format_value.hpp @@ -47,10 +47,11 @@ enum class ExceptionFormatValueType : uint8_t { }; struct ExceptionFormatValue { - DUCKDB_API ExceptionFormatValue(double dbl_val); // NOLINT - DUCKDB_API ExceptionFormatValue(int64_t int_val); // NOLINT - DUCKDB_API ExceptionFormatValue(string str_val); // NOLINT - DUCKDB_API ExceptionFormatValue(hugeint_t hg_val); // NOLINT + DUCKDB_API ExceptionFormatValue(double dbl_val); // NOLINT + DUCKDB_API ExceptionFormatValue(int64_t int_val); // NOLINT + DUCKDB_API ExceptionFormatValue(string str_val); // NOLINT + DUCKDB_API ExceptionFormatValue(hugeint_t hg_val); // NOLINT + DUCKDB_API ExceptionFormatValue(uhugeint_t uhg_val); // NOLINT ExceptionFormatValueType type; @@ -86,5 +87,7 @@ template <> DUCKDB_API ExceptionFormatValue ExceptionFormatValue::CreateFormatValue(char *value); template <> DUCKDB_API ExceptionFormatValue ExceptionFormatValue::CreateFormatValue(hugeint_t value); +template <> +DUCKDB_API ExceptionFormatValue ExceptionFormatValue::CreateFormatValue(uhugeint_t value); } // namespace duckdb diff --git a/src/include/duckdb/common/extra_type_info.hpp b/src/include/duckdb/common/extra_type_info.hpp index 74895fd01ee2..930c44a33b5d 100644 --- a/src/include/duckdb/common/extra_type_info.hpp +++ b/src/include/duckdb/common/extra_type_info.hpp @@ -23,7 +23,10 @@ enum class ExtraTypeInfoType : uint8_t { STRUCT_TYPE_INFO = 5, ENUM_TYPE_INFO = 6, USER_TYPE_INFO = 7, - AGGREGATE_STATE_TYPE_INFO = 8 + AGGREGATE_STATE_TYPE_INFO = 8, + ARRAY_TYPE_INFO = 9, + ANY_TYPE_INFO = 10, + INTEGER_LITERAL_TYPE_INFO = 11 }; struct ExtraTypeInfo { @@ -138,7 +141,10 @@ struct AggregateStateTypeInfo : public ExtraTypeInfo { struct UserTypeInfo : public ExtraTypeInfo { explicit UserTypeInfo(string name_p); + UserTypeInfo(string catalog_p, string schema_p, string name_p); + string catalog; + string schema; string user_type_name; public: @@ -182,4 +188,50 @@ struct EnumTypeInfo : public ExtraTypeInfo { idx_t dict_size; }; +struct ArrayTypeInfo : public ExtraTypeInfo { + LogicalType child_type; + idx_t size; + explicit ArrayTypeInfo(LogicalType child_type_p, idx_t size_p); + +public: + void Serialize(Serializer &serializer) const override; + static shared_ptr Deserialize(Deserializer &reader); + +protected: + bool EqualsInternal(ExtraTypeInfo *other_p) const override; +}; + +struct AnyTypeInfo : public ExtraTypeInfo { + AnyTypeInfo(LogicalType target_type, idx_t cast_score); + + LogicalType target_type; + idx_t cast_score; + +public: + void Serialize(Serializer &serializer) const override; + static shared_ptr Deserialize(Deserializer &source); + +protected: + bool EqualsInternal(ExtraTypeInfo *other_p) const override; + +private: + AnyTypeInfo(); +}; + +struct IntegerLiteralTypeInfo : public ExtraTypeInfo { + IntegerLiteralTypeInfo(Value constant_value); + + Value constant_value; + +public: + void Serialize(Serializer &serializer) const override; + static shared_ptr Deserialize(Deserializer &source); + +protected: + bool EqualsInternal(ExtraTypeInfo *other_p) const override; + +private: + IntegerLiteralTypeInfo(); +}; + } // namespace duckdb diff --git a/src/include/duckdb/common/helper.hpp b/src/include/duckdb/common/helper.hpp index 048064fd8e5c..e1f86c3d368f 100644 --- a/src/include/duckdb/common/helper.hpp +++ b/src/include/duckdb/common/helper.hpp @@ -146,12 +146,12 @@ static duckdb::unique_ptr make_unique(_Args&&... __args) { } template -T MaxValue(T a, T b) { +constexpr T MaxValue(T a, T b) { return a > b ? a : b; } template -T MinValue(T a, T b) { +constexpr T MinValue(T a, T b) { return a < b ? a : b; } @@ -160,12 +160,17 @@ T AbsValue(T a) { return a < 0 ? -a : a; } -//Align value (ceiling) +//! Align value (ceiling) template static inline T AlignValue(T n) { return ((n + (val - 1)) / val) * val; } +template +constexpr inline T AlignValueFloor(T n) { + return (n / val) * val; +} + template static inline bool ValueIsAligned(T n) { return (n % val) == 0; @@ -210,4 +215,9 @@ bool RefersToSameObject(const reference &A, const reference &B) { return &A.get() == &B.get(); } +template +bool RefersToSameObject(const T &A, const T &B) { + return &A == &B; +} + } // namespace duckdb diff --git a/src/include/duckdb/common/http_state.hpp b/src/include/duckdb/common/http_state.hpp index ca60606b9e31..721628692f68 100644 --- a/src/include/duckdb/common/http_state.hpp +++ b/src/include/duckdb/common/http_state.hpp @@ -13,6 +13,7 @@ #include "duckdb/main/client_data.hpp" #include "duckdb/common/atomic.hpp" #include "duckdb/common/optional_ptr.hpp" +#include "duckdb/main/client_context_state.hpp" namespace duckdb { @@ -33,6 +34,8 @@ class CachedFile : public std::enable_shared_from_this { shared_ptr data; //! Data capacity uint64_t capacity = 0; + //! Size of file + idx_t size; //! Lock for initializing the file mutex lock; //! When initialized is set to true, the file is safe for parallel reading without holding the lock @@ -47,7 +50,7 @@ class CachedFileHandle { //! allocate a buffer for the file void AllocateBuffer(idx_t size); //! Indicate the file is fully downloaded and safe for parallel reading without lock - void SetInitialized(); + void SetInitialized(idx_t total_size); //! Grow buffer to new size, copying over `bytes_to_copy` to the new buffer void GrowBuffer(idx_t new_capacity, idx_t bytes_to_copy); //! Write to the buffer @@ -62,20 +65,26 @@ class CachedFileHandle { uint64_t GetCapacity() { return file->capacity; } + //! Return the size of the initialized file + idx_t GetSize() { + D_ASSERT(file->initialized); + return file->size; + } private: unique_ptr> lock; shared_ptr file; }; -class HTTPState { +class HTTPState : public ClientContextState { public: //! Reset all counters and cached files void Reset(); //! Get cache entry, create if not exists shared_ptr &GetCachedFile(const string &path); - //! Helper function to get the HTTP state - static shared_ptr TryGetState(FileOpener *opener); + //! Helper functions to get the HTTP state + static shared_ptr TryGetState(ClientContext &context, bool create_on_missing = true); + static shared_ptr TryGetState(FileOpener *opener, bool create_on_missing = true); bool IsEmpty() { return head_count == 0 && get_count == 0 && put_count == 0 && post_count == 0 && total_bytes_received == 0 && @@ -89,6 +98,11 @@ class HTTPState { atomic total_bytes_received {0}; atomic total_bytes_sent {0}; + //! Called by the ClientContext when the current query ends + void QueryEnd(ClientContext &context) override { + Reset(); + } + private: //! Mutex to lock when getting the cached file(Parallel Only) mutex cached_files_mutex; diff --git a/src/include/duckdb/common/hugeint.hpp b/src/include/duckdb/common/hugeint.hpp index e1bb454bf645..fd58a8cc55ee 100644 --- a/src/include/duckdb/common/hugeint.hpp +++ b/src/include/duckdb/common/hugeint.hpp @@ -7,6 +7,9 @@ namespace duckdb { +// Forward declaration to allow conversion between hugeint and uhugeint +struct uhugeint_t; + struct hugeint_t { public: uint64_t lower; @@ -64,7 +67,7 @@ struct hugeint_t { DUCKDB_API explicit operator bool() const; DUCKDB_API bool operator!() const; - // cast operators + // cast operators -- doesn't check bounds/overflow/underflow DUCKDB_API explicit operator uint8_t() const; DUCKDB_API explicit operator uint16_t() const; DUCKDB_API explicit operator uint32_t() const; @@ -73,6 +76,7 @@ struct hugeint_t { DUCKDB_API explicit operator int16_t() const; DUCKDB_API explicit operator int32_t() const; DUCKDB_API explicit operator int64_t() const; + DUCKDB_API operator uhugeint_t() const; // NOLINT: Allow implicit conversion from `hugeint_t` }; } // namespace duckdb diff --git a/src/include/duckdb/common/limits.hpp b/src/include/duckdb/common/limits.hpp index bdf44d0c0a09..21e28f7d45b6 100644 --- a/src/include/duckdb/common/limits.hpp +++ b/src/include/duckdb/common/limits.hpp @@ -9,6 +9,7 @@ #pragma once #include "duckdb/common/hugeint.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/types.hpp" #include @@ -37,7 +38,7 @@ struct NumericLimits { template <> struct NumericLimits { static constexpr hugeint_t Minimum() { - return {std::numeric_limits::lowest(), 1}; + return {std::numeric_limits::lowest(), 0}; }; static constexpr hugeint_t Maximum() { return {std::numeric_limits::max(), std::numeric_limits::max()}; @@ -51,6 +52,23 @@ struct NumericLimits { } }; +template <> +struct NumericLimits { + static constexpr uhugeint_t Minimum() { + return {0, 0}; + }; + static constexpr uhugeint_t Maximum() { + return {std::numeric_limits::max(), std::numeric_limits::max()}; + }; + static constexpr bool IsSigned() { + return false; + } + + static constexpr idx_t Digits() { + return 39; + } +}; + template <> constexpr idx_t NumericLimits::Digits() { return 3; diff --git a/src/include/duckdb/common/local_file_system.hpp b/src/include/duckdb/common/local_file_system.hpp index 4babd04ba0de..495b8f717636 100644 --- a/src/include/duckdb/common/local_file_system.hpp +++ b/src/include/duckdb/common/local_file_system.hpp @@ -9,6 +9,7 @@ #pragma once #include "duckdb/common/file_system.hpp" +#include "duckdb/common/windows_undefs.hpp" namespace duckdb { diff --git a/src/include/duckdb/common/multi_file_reader.hpp b/src/include/duckdb/common/multi_file_reader.hpp index c83fae5fcba8..ca52810e8dfd 100644 --- a/src/include/duckdb/common/multi_file_reader.hpp +++ b/src/include/duckdb/common/multi_file_reader.hpp @@ -9,11 +9,11 @@ #pragma once #include "duckdb/common/common.hpp" -#include "duckdb/common/multi_file_reader_options.hpp" #include "duckdb/common/enums/file_glob_options.hpp" -#include "duckdb/common/union_by_name.hpp" +#include "duckdb/common/multi_file_reader_options.hpp" #include "duckdb/common/optional_ptr.hpp" #include "duckdb/common/types/value.hpp" +#include "duckdb/common/union_by_name.hpp" namespace duckdb { class TableFunction; @@ -40,6 +40,8 @@ struct MultiFileReaderBindData { idx_t filename_idx = DConstants::INVALID_INDEX; //! The set of hive partitioning indexes (if any) vector hive_partitioning_indexes; + //! The index of the file_row_number column (if any) + idx_t file_row_number_idx = DConstants::INVALID_INDEX; DUCKDB_API void Serialize(Serializer &serializer) const; DUCKDB_API static MultiFileReaderBindData Deserialize(Deserializer &deserializer); @@ -110,6 +112,9 @@ struct MultiFileReader { const vector &global_names, const vector &global_column_ids, optional_ptr filters, MultiFileReaderData &reader_data, const string &initial_file); + //! Populated the filter_map + DUCKDB_API static void CreateFilterMap(const vector &global_types, + optional_ptr filters, MultiFileReaderData &reader_data); //! Finalize the reading of a chunk - applying any constants that are required DUCKDB_API static void FinalizeChunk(const MultiFileReaderBindData &bind_data, const MultiFileReaderData &reader_data, DataChunk &chunk); diff --git a/src/include/duckdb/common/numeric_utils.hpp b/src/include/duckdb/common/numeric_utils.hpp index 73ee61915027..4ffcddc252c2 100644 --- a/src/include/duckdb/common/numeric_utils.hpp +++ b/src/include/duckdb/common/numeric_utils.hpp @@ -23,16 +23,24 @@ struct MakeSigned { using type = hugeint_t; }; +template <> +struct MakeSigned { + using type = hugeint_t; +}; + template struct MakeUnsigned { using type = typename std::make_unsigned::type; }; -// hugeint_t does not actually have an unsigned variant (yet), but this is required to make compression work -// if an unsigned variant gets implemented this (probably) can be changed without breaking anything template <> struct MakeUnsigned { - using type = hugeint_t; + using type = uhugeint_t; +}; + +template <> +struct MakeUnsigned { + using type = uhugeint_t; }; template @@ -45,4 +53,9 @@ struct IsIntegral { static constexpr bool value = true; }; +template <> +struct IsIntegral { + static constexpr bool value = true; +}; + } // namespace duckdb diff --git a/src/include/duckdb/common/operator/add.hpp b/src/include/duckdb/common/operator/add.hpp index b37e5ca8236c..ff9c3a060cb5 100644 --- a/src/include/duckdb/common/operator/add.hpp +++ b/src/include/duckdb/common/operator/add.hpp @@ -35,11 +35,15 @@ timestamp_t AddOperator::Operation(date_t left, dtime_t right); template <> timestamp_t AddOperator::Operation(dtime_t left, date_t right); template <> +timestamp_t AddOperator::Operation(date_t left, dtime_tz_t right); +template <> +timestamp_t AddOperator::Operation(dtime_tz_t left, date_t right); +template <> interval_t AddOperator::Operation(interval_t left, interval_t right); template <> -date_t AddOperator::Operation(date_t left, interval_t right); +timestamp_t AddOperator::Operation(date_t left, interval_t right); template <> -date_t AddOperator::Operation(interval_t left, date_t right); +timestamp_t AddOperator::Operation(interval_t left, date_t right); template <> timestamp_t AddOperator::Operation(timestamp_t left, interval_t right); template <> @@ -70,6 +74,8 @@ bool TryAddOperator::Operation(int32_t left, int32_t right, int32_t &result); template <> DUCKDB_API bool TryAddOperator::Operation(int64_t left, int64_t right, int64_t &result); template <> +bool TryAddOperator::Operation(uhugeint_t left, uhugeint_t right, uhugeint_t &result); +template <> bool TryAddOperator::Operation(hugeint_t left, hugeint_t right, hugeint_t &result); struct AddOperatorOverflowCheck { @@ -126,4 +132,9 @@ dtime_t AddTimeOperator::Operation(dtime_t left, interval_t right); template <> dtime_t AddTimeOperator::Operation(interval_t left, dtime_t right); +template <> +dtime_tz_t AddTimeOperator::Operation(dtime_tz_t left, interval_t right); +template <> +dtime_tz_t AddTimeOperator::Operation(interval_t left, dtime_tz_t right); + } // namespace duckdb diff --git a/src/include/duckdb/common/operator/cast_operators.hpp b/src/include/duckdb/common/operator/cast_operators.hpp index fdcc90cd8d28..0f9ae453b1b0 100644 --- a/src/include/duckdb/common/operator/cast_operators.hpp +++ b/src/include/duckdb/common/operator/cast_operators.hpp @@ -20,6 +20,7 @@ #include "duckdb/common/types/null_value.hpp" #include "duckdb/common/types/bit.hpp" #include "duckdb/common/types/vector.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" namespace duckdb { struct ValidityMask; @@ -99,6 +100,8 @@ DUCKDB_API bool TryCast::Operation(bool input, int64_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(bool input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(bool input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(bool input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(bool input, uint16_t &result, bool strict); @@ -127,6 +130,8 @@ DUCKDB_API bool TryCast::Operation(int8_t input, int64_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(int8_t input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(int8_t input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(int8_t input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(int8_t input, uint16_t &result, bool strict); @@ -155,6 +160,8 @@ DUCKDB_API bool TryCast::Operation(int16_t input, int64_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(int16_t input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(int16_t input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(int16_t input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(int16_t input, uint16_t &result, bool strict); @@ -183,6 +190,8 @@ DUCKDB_API bool TryCast::Operation(int32_t input, int64_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(int32_t input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(int32_t input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(int32_t input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(int32_t input, uint16_t &result, bool strict); @@ -211,6 +220,8 @@ DUCKDB_API bool TryCast::Operation(int64_t input, int64_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(int64_t input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(int64_t input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(int64_t input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(int64_t input, uint16_t &result, bool strict); @@ -239,6 +250,8 @@ DUCKDB_API bool TryCast::Operation(hugeint_t input, int64_t &result, bool strict template <> DUCKDB_API bool TryCast::Operation(hugeint_t input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(hugeint_t input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(hugeint_t input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(hugeint_t input, uint16_t &result, bool strict); @@ -251,6 +264,36 @@ DUCKDB_API bool TryCast::Operation(hugeint_t input, float &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(hugeint_t input, double &result, bool strict); +//===--------------------------------------------------------------------===// +// Cast uhugeint_t -> Numeric +//===--------------------------------------------------------------------===// +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, bool &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, int8_t &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, int16_t &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, int32_t &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, int64_t &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, uhugeint_t &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, hugeint_t &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, uint8_t &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, uint16_t &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, uint32_t &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, uint64_t &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, float &result, bool strict); +template <> +DUCKDB_API bool TryCast::Operation(uhugeint_t input, double &result, bool strict); + //===--------------------------------------------------------------------===// // Cast uint8_t -> Numeric //===--------------------------------------------------------------------===// @@ -267,6 +310,8 @@ DUCKDB_API bool TryCast::Operation(uint8_t input, int64_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(uint8_t input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(uint8_t input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(uint8_t input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(uint8_t input, uint16_t &result, bool strict); @@ -295,6 +340,8 @@ DUCKDB_API bool TryCast::Operation(uint16_t input, int64_t &result, bool strict) template <> DUCKDB_API bool TryCast::Operation(uint16_t input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(uint16_t input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(uint16_t input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(uint16_t input, uint16_t &result, bool strict); @@ -323,6 +370,8 @@ DUCKDB_API bool TryCast::Operation(uint32_t input, int64_t &result, bool strict) template <> DUCKDB_API bool TryCast::Operation(uint32_t input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(uint32_t input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(uint32_t input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(uint32_t input, uint16_t &result, bool strict); @@ -351,6 +400,8 @@ DUCKDB_API bool TryCast::Operation(uint64_t input, int64_t &result, bool strict) template <> DUCKDB_API bool TryCast::Operation(uint64_t input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(uint64_t input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(uint64_t input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(uint64_t input, uint16_t &result, bool strict); @@ -379,6 +430,8 @@ DUCKDB_API bool TryCast::Operation(float input, int64_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(float input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(float input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(float input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(float input, uint16_t &result, bool strict); @@ -407,6 +460,8 @@ DUCKDB_API bool TryCast::Operation(double input, int64_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(double input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(double input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(double input, uint8_t &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(double input, uint16_t &result, bool strict); @@ -443,6 +498,8 @@ DUCKDB_API bool TryCast::Operation(string_t input, uint64_t &result, bool strict template <> DUCKDB_API bool TryCast::Operation(string_t input, hugeint_t &result, bool strict); template <> +DUCKDB_API bool TryCast::Operation(string_t input, uhugeint_t &result, bool strict); +template <> DUCKDB_API bool TryCast::Operation(string_t input, float &result, bool strict); template <> DUCKDB_API bool TryCast::Operation(string_t input, double &result, bool strict); @@ -580,27 +637,27 @@ template <> DUCKDB_API bool TryCastToTimestampSec::Operation(date_t input, timestamp_t &result, bool strict); //===--------------------------------------------------------------------===// -// Non-Standard Timestamps -> string/standard timestamp +// Non-Standard Timestamps -> string/timestamp types //===--------------------------------------------------------------------===// struct CastFromTimestampNS { template static inline string_t Operation(SRC input, Vector &result) { - throw duckdb::NotImplementedException("Cast to timestamp could not be performed!"); + throw duckdb::NotImplementedException("Cast to string could not be performed!"); } }; struct CastFromTimestampMS { template static inline string_t Operation(SRC input, Vector &result) { - throw duckdb::NotImplementedException("Cast to timestamp could not be performed!"); + throw duckdb::NotImplementedException("Cast to string could not be performed!"); } }; struct CastFromTimestampSec { template static inline string_t Operation(SRC input, Vector &result) { - throw duckdb::NotImplementedException("Cast to timestamp could not be performed!"); + throw duckdb::NotImplementedException("Cast to string could not be performed!"); } }; @@ -625,6 +682,20 @@ struct CastTimestampUsToSec { } }; +struct CastTimestampMsToDate { + template + static inline DST Operation(SRC input) { + throw duckdb::NotImplementedException("Cast to DATE could not be performed!"); + } +}; + +struct CastTimestampMsToTime { + template + static inline DST Operation(SRC input) { + throw duckdb::NotImplementedException("Cast to TIME could not be performed!"); + } +}; + struct CastTimestampMsToUs { template static inline DST Operation(SRC input) { @@ -639,6 +710,18 @@ struct CastTimestampMsToNs { } }; +struct CastTimestampNsToDate { + template + static inline DST Operation(SRC input) { + throw duckdb::NotImplementedException("Cast to DATE could not be performed!"); + } +}; +struct CastTimestampNsToTime { + template + static inline DST Operation(SRC input) { + throw duckdb::NotImplementedException("Cast to TIME could not be performed!"); + } +}; struct CastTimestampNsToUs { template static inline DST Operation(SRC input) { @@ -646,6 +729,18 @@ struct CastTimestampNsToUs { } }; +struct CastTimestampSecToDate { + template + static inline DST Operation(SRC input) { + throw duckdb::NotImplementedException("Cast to DATE could not be performed!"); + } +}; +struct CastTimestampSecToTime { + template + static inline DST Operation(SRC input) { + throw duckdb::NotImplementedException("Cast to TIME could not be performed!"); + } +}; struct CastTimestampSecToMs { template static inline DST Operation(SRC input) { @@ -667,19 +762,31 @@ struct CastTimestampSecToNs { } }; +template <> +duckdb::timestamp_t CastTimestampUsToSec::Operation(duckdb::timestamp_t input); template <> duckdb::timestamp_t CastTimestampUsToMs::Operation(duckdb::timestamp_t input); template <> duckdb::timestamp_t CastTimestampUsToNs::Operation(duckdb::timestamp_t input); template <> -duckdb::timestamp_t CastTimestampUsToSec::Operation(duckdb::timestamp_t input); +duckdb::date_t CastTimestampMsToDate::Operation(duckdb::timestamp_t input); +template <> +duckdb::dtime_t CastTimestampMsToTime::Operation(duckdb::timestamp_t input); template <> duckdb::timestamp_t CastTimestampMsToUs::Operation(duckdb::timestamp_t input); template <> duckdb::timestamp_t CastTimestampMsToNs::Operation(duckdb::timestamp_t input); template <> +duckdb::date_t CastTimestampNsToDate::Operation(duckdb::timestamp_t input); +template <> +duckdb::dtime_t CastTimestampNsToTime::Operation(duckdb::timestamp_t input); +template <> duckdb::timestamp_t CastTimestampNsToUs::Operation(duckdb::timestamp_t input); template <> +duckdb::date_t CastTimestampSecToDate::Operation(duckdb::timestamp_t input); +template <> +duckdb::dtime_t CastTimestampSecToTime::Operation(duckdb::timestamp_t input); +template <> duckdb::timestamp_t CastTimestampSecToMs::Operation(duckdb::timestamp_t input); template <> duckdb::timestamp_t CastTimestampSecToUs::Operation(duckdb::timestamp_t input); @@ -755,6 +862,8 @@ template <> bool CastFromBitToNumeric::Operation(string_t input, bool &result, bool strict); template <> bool CastFromBitToNumeric::Operation(string_t input, hugeint_t &result, bool strict); +template <> +bool CastFromBitToNumeric::Operation(string_t input, uhugeint_t &result, bool strict); struct CastFromBitToBlob { template diff --git a/src/include/duckdb/common/operator/comparison_operators.hpp b/src/include/duckdb/common/operator/comparison_operators.hpp index ef7203a2fc21..f1a6f6eb33c5 100644 --- a/src/include/duckdb/common/operator/comparison_operators.hpp +++ b/src/include/duckdb/common/operator/comparison_operators.hpp @@ -210,10 +210,6 @@ inline bool GreaterThan::Operation(const interval_t &left, const interval_t &rig return Interval::GreaterThan(left, right); } -inline bool operator<(const interval_t &lhs, const interval_t &rhs) { - return LessThan::Operation(lhs, rhs); -} - //===--------------------------------------------------------------------===// // Specialized Hugeint Comparison Operators //===--------------------------------------------------------------------===// diff --git a/src/include/duckdb/common/operator/convert_to_string.hpp b/src/include/duckdb/common/operator/convert_to_string.hpp index c979265e2a17..89a54424f60f 100644 --- a/src/include/duckdb/common/operator/convert_to_string.hpp +++ b/src/include/duckdb/common/operator/convert_to_string.hpp @@ -43,6 +43,8 @@ DUCKDB_API string ConvertToString::Operation(uint64_t input); template <> DUCKDB_API string ConvertToString::Operation(hugeint_t input); template <> +DUCKDB_API string ConvertToString::Operation(uhugeint_t input); +template <> DUCKDB_API string ConvertToString::Operation(float input); template <> DUCKDB_API string ConvertToString::Operation(double input); diff --git a/src/include/duckdb/common/operator/decimal_cast_operators.hpp b/src/include/duckdb/common/operator/decimal_cast_operators.hpp index 6610ccadbda5..847af0a22ad4 100644 --- a/src/include/duckdb/common/operator/decimal_cast_operators.hpp +++ b/src/include/duckdb/common/operator/decimal_cast_operators.hpp @@ -194,6 +194,35 @@ template <> bool TryCastFromDecimal::Operation(hugeint_t input, hugeint_t &result, string *error_message, uint8_t width, uint8_t scale); +//===--------------------------------------------------------------------===// +// Cast Decimal <-> uhugeint_t +//===--------------------------------------------------------------------===// +template <> +DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, int16_t &result, string *error_message, uint8_t width, + uint8_t scale); +template <> +DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, int32_t &result, string *error_message, uint8_t width, + uint8_t scale); +template <> +DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, int64_t &result, string *error_message, uint8_t width, + uint8_t scale); +template <> +DUCKDB_API bool TryCastToDecimal::Operation(uhugeint_t input, hugeint_t &result, string *error_message, uint8_t width, + uint8_t scale); + +template <> +bool TryCastFromDecimal::Operation(int16_t input, uhugeint_t &result, string *error_message, uint8_t width, + uint8_t scale); +template <> +bool TryCastFromDecimal::Operation(int32_t input, uhugeint_t &result, string *error_message, uint8_t width, + uint8_t scale); +template <> +bool TryCastFromDecimal::Operation(int64_t input, uhugeint_t &result, string *error_message, uint8_t width, + uint8_t scale); +template <> +bool TryCastFromDecimal::Operation(hugeint_t input, uhugeint_t &result, string *error_message, uint8_t width, + uint8_t scale); + //===--------------------------------------------------------------------===// // Cast Decimal <-> uint8_t //===--------------------------------------------------------------------===// diff --git a/src/include/duckdb/common/operator/double_cast_operator.hpp b/src/include/duckdb/common/operator/double_cast_operator.hpp new file mode 100644 index 000000000000..af87eaafa3b2 --- /dev/null +++ b/src/include/duckdb/common/operator/double_cast_operator.hpp @@ -0,0 +1,52 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/operator/double_cast_operator.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb.h" +#include "fast_float/fast_float.h" + +namespace duckdb { +template +static bool TryDoubleCast(const char *buf, idx_t len, T &result, bool strict, char decimal_separator = '.') { + // skip any spaces at the start + while (len > 0 && StringUtil::CharacterIsSpace(*buf)) { + buf++; + len--; + } + if (len == 0) { + return false; + } + if (*buf == '+') { + if (strict) { + // plus is not allowed in strict mode + return false; + } + buf++; + len--; + } + if (strict && len >= 2) { + if (buf[0] == '0' && StringUtil::CharacterIsDigit(buf[1])) { + // leading zeros are not allowed in strict mode + return false; + } + } + auto endptr = buf + len; + auto parse_result = duckdb_fast_float::from_chars(buf, buf + len, result, decimal_separator); + if (parse_result.ec != std::errc()) { + return false; + } + auto current_end = parse_result.ptr; + if (!strict) { + while (current_end < endptr && StringUtil::CharacterIsSpace(*current_end)) { + current_end++; + } + } + return current_end == endptr; +} +} // namespace duckdb diff --git a/src/include/duckdb/common/operator/integer_cast_operator.hpp b/src/include/duckdb/common/operator/integer_cast_operator.hpp new file mode 100644 index 000000000000..28a5125f3f14 --- /dev/null +++ b/src/include/duckdb/common/operator/integer_cast_operator.hpp @@ -0,0 +1,459 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/operator/integer_cast_operator.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/operator/add.hpp" +#include "duckdb/common/operator/multiply.hpp" +#include "duckdb/common/operator/subtract.hpp" +#include "duckdb/common/operator/cast_operators.hpp" + +namespace duckdb { +template +struct IntegerCastData { + using ResultType = T; + using StoreType = T; + ResultType result; +}; + +struct IntegerCastOperation { + template + static bool HandleDigit(T &state, uint8_t digit) { + using store_t = typename T::StoreType; + if (NEGATIVE) { + if (DUCKDB_UNLIKELY(state.result < (NumericLimits::Minimum() + digit) / 10)) { + return false; + } + state.result = state.result * 10 - digit; + } else { + if (DUCKDB_UNLIKELY(state.result > (NumericLimits::Maximum() - digit) / 10)) { + return false; + } + state.result = state.result * 10 + digit; + } + return true; + } + + template + static bool HandleHexDigit(T &state, uint8_t digit) { + using store_t = typename T::StoreType; + if (DUCKDB_UNLIKELY(state.result > (NumericLimits::Maximum() - digit) / 16)) { + return false; + } + state.result = state.result * 16 + digit; + return true; + } + + template + static bool HandleBinaryDigit(T &state, uint8_t digit) { + using store_t = typename T::StoreType; + if (DUCKDB_UNLIKELY(state.result > (NumericLimits::Maximum() - digit) / 2)) { + return false; + } + state.result = state.result * 2 + digit; + return true; + } + + template + static bool HandleExponent(T &state, int16_t exponent) { + // Simple integers don't deal with Exponents + return false; + } + + template + static bool HandleDecimal(T &state, uint8_t digit) { + // Simple integers don't deal with Decimals + return false; + } + + template + static bool Finalize(T &state) { + return true; + } +}; + +template +struct IntegerDecimalCastData { + using ResultType = T; + using StoreType = int64_t; + StoreType result; + StoreType decimal; + uint16_t decimal_digits; +}; + +template <> +struct IntegerDecimalCastData { + using ResultType = uint64_t; + using StoreType = uint64_t; + StoreType result; + StoreType decimal; + uint16_t decimal_digits; +}; + +struct IntegerDecimalCastOperation : IntegerCastOperation { + template + static bool HandleExponent(T &state, int16_t exponent) { + using store_t = typename T::StoreType; + + int16_t e = exponent; + // Negative Exponent + if (e < 0) { + while (state.result != 0 && e++ < 0) { + state.decimal = state.result % 10; + state.result /= 10; + } + if (state.decimal < 0) { + state.decimal = -state.decimal; + } + state.decimal_digits = 1; + return Finalize(state); + } + + // Positive Exponent + while (state.result != 0 && e-- > 0) { + if (!TryMultiplyOperator::Operation(state.result, (store_t)10, state.result)) { + return false; + } + } + + if (state.decimal == 0) { + return Finalize(state); + } + + // Handle decimals + e = exponent - state.decimal_digits; + store_t remainder = 0; + if (e < 0) { + if (static_cast(-e) <= NumericLimits::Digits()) { + store_t power = 1; + while (e++ < 0) { + power *= 10; + } + remainder = state.decimal % power; + state.decimal /= power; + } else { + state.decimal = 0; + } + } else { + while (e-- > 0) { + if (!TryMultiplyOperator::Operation(state.decimal, (store_t)10, state.decimal)) { + return false; + } + } + } + + state.decimal_digits -= exponent; + + if (NEGATIVE) { + if (!TrySubtractOperator::Operation(state.result, state.decimal, state.result)) { + return false; + } + } else if (!TryAddOperator::Operation(state.result, state.decimal, state.result)) { + return false; + } + state.decimal = remainder; + return Finalize(state); + } + + template + static bool HandleDecimal(T &state, uint8_t digit) { + using store_t = typename T::StoreType; + if (DUCKDB_UNLIKELY(state.decimal > (NumericLimits::Maximum() - digit) / 10)) { + // Simply ignore any more decimals + return true; + } + state.decimal_digits++; + state.decimal = state.decimal * 10 + digit; + return true; + } + + template + static bool Finalize(T &state) { + using result_t = typename T::ResultType; + using store_t = typename T::StoreType; + + result_t tmp; + if (!TryCast::Operation(state.result, tmp)) { + return false; + } + + while (state.decimal > 10) { + state.decimal /= 10; + state.decimal_digits--; + } + + bool success = true; + if (state.decimal_digits == 1 && state.decimal >= 5) { + if (NEGATIVE) { + success = TrySubtractOperator::Operation(tmp, (result_t)1, tmp); + } else { + success = TryAddOperator::Operation(tmp, (result_t)1, tmp); + } + } + state.result = tmp; + return success; + } +}; + +template +static bool IntegerCastLoop(const char *buf, idx_t len, T &result, bool strict) { + idx_t start_pos; + if (NEGATIVE) { + start_pos = 1; + } else { + if (*buf == '+') { + if (strict) { + // leading plus is not allowed in strict mode + return false; + } + start_pos = 1; + } else { + start_pos = 0; + } + } + idx_t pos = start_pos; + while (pos < len) { + if (!StringUtil::CharacterIsDigit(buf[pos])) { + // not a digit! + if (buf[pos] == decimal_separator) { + if (strict) { + return false; + } + bool number_before_period = pos > start_pos; + // decimal point: we accept decimal values for integers as well + // we just truncate them + // make sure everything after the period is a number + pos++; + idx_t start_digit = pos; + while (pos < len) { + if (!StringUtil::CharacterIsDigit(buf[pos])) { + break; + } + if (!OP::template HandleDecimal(result, buf[pos] - '0')) { + return false; + } + pos++; + + if (pos != len && buf[pos] == '_') { + // Skip one underscore if it is not the last character and followed by a digit + pos++; + if (pos == len || !StringUtil::CharacterIsDigit(buf[pos])) { + return false; + } + } + } + // make sure there is either (1) one number after the period, or (2) one number before the period + // i.e. we accept "1." and ".1" as valid numbers, but not "." + if (!(number_before_period || pos > start_digit)) { + return false; + } + if (pos >= len) { + break; + } + } + if (StringUtil::CharacterIsSpace(buf[pos])) { + // skip any trailing spaces + while (++pos < len) { + if (!StringUtil::CharacterIsSpace(buf[pos])) { + return false; + } + } + break; + } + if (ALLOW_EXPONENT) { + if (buf[pos] == 'e' || buf[pos] == 'E') { + if (strict) { + return false; + } + if (pos == start_pos) { + return false; + } + pos++; + if (pos >= len) { + return false; + } + using ExponentData = IntegerCastData; + ExponentData exponent {}; + int negative = buf[pos] == '-'; + if (negative) { + if (!IntegerCastLoop( + buf + pos, len - pos, exponent, strict)) { + return false; + } + } else { + if (!IntegerCastLoop( + buf + pos, len - pos, exponent, strict)) { + return false; + } + } + return OP::template HandleExponent(result, exponent.result); + } + } + return false; + } + uint8_t digit = buf[pos++] - '0'; + if (!OP::template HandleDigit(result, digit)) { + return false; + } + + if (pos != len && buf[pos] == '_') { + // Skip one underscore if it is not the last character and followed by a digit + pos++; + if (pos == len || !StringUtil::CharacterIsDigit(buf[pos])) { + return false; + } + } + } + if (!OP::template Finalize(result)) { + return false; + } + return pos > start_pos; +} + +template +static bool IntegerHexCastLoop(const char *buf, idx_t len, T &result, bool strict) { + if (ALLOW_EXPONENT || NEGATIVE) { + return false; + } + idx_t start_pos = 1; + idx_t pos = start_pos; + char current_char; + while (pos < len) { + current_char = StringUtil::CharacterToLower(buf[pos]); + if (!StringUtil::CharacterIsHex(current_char)) { + return false; + } + uint8_t digit; + if (current_char >= 'a') { + digit = current_char - 'a' + 10; + } else { + digit = current_char - '0'; + } + pos++; + + if (pos != len && buf[pos] == '_') { + // Skip one underscore if it is not the last character and followed by a hex + pos++; + if (pos == len || !StringUtil::CharacterIsHex(buf[pos])) { + return false; + } + } + + if (!OP::template HandleHexDigit(result, digit)) { + return false; + } + } + if (!OP::template Finalize(result)) { + return false; + } + return pos > start_pos; +} + +template +static bool IntegerBinaryCastLoop(const char *buf, idx_t len, T &result, bool strict) { + if (ALLOW_EXPONENT || NEGATIVE) { + return false; + } + idx_t start_pos = 1; + idx_t pos = start_pos; + uint8_t digit; + char current_char; + while (pos < len) { + current_char = buf[pos]; + if (current_char == '0') { + digit = 0; + } else if (current_char == '1') { + digit = 1; + } else { + return false; + } + pos++; + if (pos != len && buf[pos] == '_') { + // Skip one underscore if it is not the last character and followed by a digit + pos++; + if (pos == len || (buf[pos] != '0' && buf[pos] != '1')) { + return false; + } + } + + if (!OP::template HandleBinaryDigit(result, digit)) { + return false; + } + } + if (!OP::template Finalize(result)) { + return false; + } + return pos > start_pos; +} + +template +static bool TryIntegerCast(const char *buf, idx_t len, T &result, bool strict) { + // skip any spaces at the start + while (len > 0 && StringUtil::CharacterIsSpace(*buf)) { + buf++; + len--; + } + if (len == 0) { + return false; + } + if (ZERO_INITIALIZE) { + memset(&result, 0, sizeof(T)); + } + // if the number is negative, we set the negative flag and skip the negative sign + if (*buf == '-') { + if (!IS_SIGNED) { + // Need to check if its not -0 + idx_t pos = 1; + while (pos < len) { + if (buf[pos++] != '0') { + return false; + } + } + } + return IntegerCastLoop(buf, len, result, strict); + } + if (len > 1 && *buf == '0') { + if (buf[1] == 'x' || buf[1] == 'X') { + // If it starts with 0x or 0X, we parse it as a hex value + buf++; + len--; + return IntegerHexCastLoop(buf, len, result, strict); + } else if (buf[1] == 'b' || buf[1] == 'B') { + // If it starts with 0b or 0B, we parse it as a binary value + buf++; + len--; + return IntegerBinaryCastLoop(buf, len, result, strict); + } else if (strict && StringUtil::CharacterIsDigit(buf[1])) { + // leading zeros are not allowed in strict mode + return false; + } + } + return IntegerCastLoop(buf, len, result, strict); +} + +template +static inline bool TrySimpleIntegerCast(const char *buf, idx_t len, T &result, bool strict) { + IntegerCastData simple_data; + if (TryIntegerCast, IS_SIGNED, false, IntegerCastOperation>(buf, len, simple_data, strict)) { + result = (T)simple_data.result; + return true; + } + + // Simple integer cast failed, try again with decimals/exponents included + // FIXME: This could definitely be improved as some extra work is being done here. It is more important that + // "normal" integers (without exponent/decimals) are still being parsed quickly. + IntegerDecimalCastData cast_data; + if (TryIntegerCast, IS_SIGNED, true, IntegerDecimalCastOperation>(buf, len, cast_data, + strict)) { + result = (T)cast_data.result; + return true; + } + return false; +} +} // namespace duckdb diff --git a/src/include/duckdb/common/operator/multiply.hpp b/src/include/duckdb/common/operator/multiply.hpp index 5ee38f87aa05..0fad42bd5a31 100644 --- a/src/include/duckdb/common/operator/multiply.hpp +++ b/src/include/duckdb/common/operator/multiply.hpp @@ -59,6 +59,8 @@ template <> DUCKDB_API bool TryMultiplyOperator::Operation(int64_t left, int64_t right, int64_t &result); template <> DUCKDB_API bool TryMultiplyOperator::Operation(hugeint_t left, hugeint_t right, hugeint_t &result); +template <> +DUCKDB_API bool TryMultiplyOperator::Operation(uhugeint_t left, uhugeint_t right, uhugeint_t &result); struct MultiplyOperatorOverflowCheck { template diff --git a/src/include/duckdb/common/operator/numeric_cast.hpp b/src/include/duckdb/common/operator/numeric_cast.hpp index 3e356baf0071..26603a987ce2 100644 --- a/src/include/duckdb/common/operator/numeric_cast.hpp +++ b/src/include/duckdb/common/operator/numeric_cast.hpp @@ -11,6 +11,7 @@ #include "duckdb/common/operator/cast_operators.hpp" #include "duckdb/common/types/bit.hpp" #include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include "duckdb/common/types/string_type.hpp" #include "duckdb/common/types/value.hpp" #include "duckdb/common/types/vector.hpp" @@ -263,6 +264,12 @@ bool TryCastWithOverflowCheck(hugeint_t input, bool &result) { return true; } +template <> +bool TryCastWithOverflowCheck(uhugeint_t input, bool &result) { + result = input.upper != 0 || input.lower != 0; + return true; +} + //===--------------------------------------------------------------------===// // Cast bool -> Numeric //===--------------------------------------------------------------------===// @@ -333,6 +340,13 @@ bool TryCastWithOverflowCheck(bool input, hugeint_t &result) { return true; } +template <> +bool TryCastWithOverflowCheck(bool input, uhugeint_t &result) { + result.upper = 0; + result.lower = input ? 1 : 0; + return true; +} + //===--------------------------------------------------------------------===// // Cast Numeric -> hugeint //===--------------------------------------------------------------------===// @@ -435,6 +449,11 @@ bool TryCastWithOverflowCheck(hugeint_t value, uint64_t &result) { return Hugeint::TryCast(value, result); } +template <> +bool TryCastWithOverflowCheck(hugeint_t value, uhugeint_t &result) { + return Hugeint::TryCast(value, result); +} + template <> bool TryCastWithOverflowCheck(hugeint_t value, float &result) { return Hugeint::TryCast(value, result); @@ -445,6 +464,123 @@ bool TryCastWithOverflowCheck(hugeint_t value, double &result) { return Hugeint::TryCast(value, result); } +//===--------------------------------------------------------------------===// +// Cast Uhugeint -> Numeric +//===--------------------------------------------------------------------===// +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, int8_t &result) { + return Uhugeint::TryCast(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, int16_t &result) { + return Uhugeint::TryCast(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, int32_t &result) { + return Uhugeint::TryCast(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, int64_t &result) { + return Uhugeint::TryCast(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, uint8_t &result) { + return Uhugeint::TryCast(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, uint16_t &result) { + return Uhugeint::TryCast(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, uint32_t &result) { + return Uhugeint::TryCast(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, uint64_t &result) { + return Uhugeint::TryCast(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, hugeint_t &result) { + return Uhugeint::TryCast(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, float &result) { + return Uhugeint::TryCast(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, double &result) { + return Uhugeint::TryCast(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uhugeint_t value, uhugeint_t &result) { + result = value; + return true; +} + +//===--------------------------------------------------------------------===// +// Cast Numeric -> uhugeint +//===--------------------------------------------------------------------===// +template <> +bool TryCastWithOverflowCheck(int8_t value, uhugeint_t &result) { + return Uhugeint::TryConvert(value, result); +} + +template <> +bool TryCastWithOverflowCheck(int16_t value, uhugeint_t &result) { + return Uhugeint::TryConvert(value, result); +} + +template <> +bool TryCastWithOverflowCheck(int32_t value, uhugeint_t &result) { + return Uhugeint::TryConvert(value, result); +} + +template <> +bool TryCastWithOverflowCheck(int64_t value, uhugeint_t &result) { + return Uhugeint::TryConvert(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uint8_t value, uhugeint_t &result) { + return Uhugeint::TryConvert(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uint16_t value, uhugeint_t &result) { + return Uhugeint::TryConvert(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uint32_t value, uhugeint_t &result) { + return Uhugeint::TryConvert(value, result); +} + +template <> +bool TryCastWithOverflowCheck(uint64_t value, uhugeint_t &result) { + return Uhugeint::TryConvert(value, result); +} + +template <> +bool TryCastWithOverflowCheck(float value, uhugeint_t &result) { + return Uhugeint::TryConvert(std::nearbyintf(value), result); +} + +template <> +bool TryCastWithOverflowCheck(double value, uhugeint_t &result) { + return Uhugeint::TryConvert(std::nearbyint(value), result); +} + struct NumericTryCastToBit { template static inline string_t Operation(SRC input, Vector &result) { diff --git a/src/include/duckdb/common/operator/string_cast.hpp b/src/include/duckdb/common/operator/string_cast.hpp index 3e688f537756..c436b0c6f176 100644 --- a/src/include/duckdb/common/operator/string_cast.hpp +++ b/src/include/duckdb/common/operator/string_cast.hpp @@ -46,6 +46,8 @@ DUCKDB_API duckdb::string_t StringCast::Operation(uint64_t input, Vector &result template <> DUCKDB_API duckdb::string_t StringCast::Operation(hugeint_t input, Vector &result); template <> +DUCKDB_API duckdb::string_t StringCast::Operation(uhugeint_t input, Vector &result); +template <> DUCKDB_API duckdb::string_t StringCast::Operation(float input, Vector &result); template <> DUCKDB_API duckdb::string_t StringCast::Operation(double input, Vector &result); diff --git a/src/include/duckdb/common/operator/subtract.hpp b/src/include/duckdb/common/operator/subtract.hpp index 7f268e711cf2..0f39c976c188 100644 --- a/src/include/duckdb/common/operator/subtract.hpp +++ b/src/include/duckdb/common/operator/subtract.hpp @@ -19,6 +19,7 @@ struct interval_t; struct date_t; struct timestamp_t; struct dtime_t; +struct dtime_tz_t; struct SubtractOperator { template @@ -38,7 +39,7 @@ int64_t SubtractOperator::Operation(date_t left, date_t right); template <> date_t SubtractOperator::Operation(date_t left, int32_t right); template <> -date_t SubtractOperator::Operation(date_t left, interval_t right); +timestamp_t SubtractOperator::Operation(date_t left, interval_t right); template <> timestamp_t SubtractOperator::Operation(timestamp_t left, interval_t right); template <> @@ -70,6 +71,8 @@ template <> bool TrySubtractOperator::Operation(int64_t left, int64_t right, int64_t &result); template <> bool TrySubtractOperator::Operation(hugeint_t left, hugeint_t right, hugeint_t &result); +template <> +bool TrySubtractOperator::Operation(uhugeint_t left, uhugeint_t right, uhugeint_t &result); struct SubtractOperatorOverflowCheck { template @@ -123,4 +126,7 @@ struct SubtractTimeOperator { template <> dtime_t SubtractTimeOperator::Operation(dtime_t left, interval_t right); +template <> +dtime_tz_t SubtractTimeOperator::Operation(dtime_tz_t left, interval_t right); + } // namespace duckdb diff --git a/src/include/duckdb/common/optional_idx.hpp b/src/include/duckdb/common/optional_idx.hpp index 28c618f2ab73..7656fe6e7503 100644 --- a/src/include/duckdb/common/optional_idx.hpp +++ b/src/include/duckdb/common/optional_idx.hpp @@ -25,15 +25,13 @@ class optional_idx { } static optional_idx Invalid() { - return INVALID_INDEX; + return optional_idx(); } bool IsValid() const { - return index != DConstants::INVALID_INDEX; - } - void Invalidate() { - index = INVALID_INDEX; + return index != INVALID_INDEX; } + idx_t GetIndex() const { if (index == INVALID_INDEX) { throw InternalException("Attempting to get the index of an optional_idx that is not set"); @@ -41,6 +39,10 @@ class optional_idx { return index; } + inline bool operator==(const optional_idx &rhs) const { + return index == rhs.index; + } + private: idx_t index; }; diff --git a/src/include/duckdb/common/platform.h b/src/include/duckdb/common/platform.h new file mode 100644 index 000000000000..c7d2455a4582 --- /dev/null +++ b/src/include/duckdb/common/platform.h @@ -0,0 +1,53 @@ +#include +#include "duckdb/common/string_util.hpp" + +namespace duckdb { + +std::string DuckDBPlatform() { +#if defined(DUCKDB_CUSTOM_PLATFORM) + return DUCKDB_QUOTE_DEFINE(DUCKDB_CUSTOM_PLATFORM); +#endif +#if defined(DUCKDB_WASM_VERSION) + // DuckDB-Wasm requires CUSTOM_PLATFORM to be defined + static_assert(0, "DUCKDB_WASM_VERSION should rely on CUSTOM_PLATFORM being provided"); +#endif + std::string os = "linux"; +#if INTPTR_MAX == INT64_MAX + std::string arch = "amd64"; +#elif INTPTR_MAX == INT32_MAX + std::string arch = "i686"; +#else +#error Unknown pointer size or missing size macros! +#endif + std::string postfix = ""; + +#ifdef _WIN32 + os = "windows"; +#elif defined(__APPLE__) + os = "osx"; +#elif defined(__FreeBSD__) + os = "freebsd"; +#endif +#if defined(__aarch64__) || defined(__ARM_ARCH_ISA_A64) + arch = "arm64"; +#endif + +#if !defined(_GLIBCXX_USE_CXX11_ABI) || _GLIBCXX_USE_CXX11_ABI == 0 + if (os == "linux") { + postfix = "_gcc4"; + } +#endif +#if defined(__ANDROID__) + postfix += "_android"; // using + because it may also be gcc4 +#endif +#ifdef __MINGW32__ + postfix = "_mingw"; +#endif +// this is used for the windows R builds which use a separate build environment +#ifdef DUCKDB_PLATFORM_RTOOLS + postfix = "_rtools"; +#endif + return os + "_" + arch + postfix; +} + +} // namespace duckdb diff --git a/src/include/duckdb/common/progress_bar/display/terminal_progress_bar_display.hpp b/src/include/duckdb/common/progress_bar/display/terminal_progress_bar_display.hpp index d50434be1010..98f6852c8595 100644 --- a/src/include/duckdb/common/progress_bar/display/terminal_progress_bar_display.hpp +++ b/src/include/duckdb/common/progress_bar/display/terminal_progress_bar_display.hpp @@ -16,16 +16,15 @@ namespace duckdb { class TerminalProgressBarDisplay : public ProgressBarDisplay { public: - TerminalProgressBarDisplay() { - } - ~TerminalProgressBarDisplay() override { - } + TerminalProgressBarDisplay() = default; + ~TerminalProgressBarDisplay() override = default; public: void Update(double percentage) override; void Finish() override; private: + int32_t rendered_percentage = -1; static constexpr const idx_t PARTIAL_BLOCK_COUNT = UnicodeBar::PartialBlocksCount(); #ifndef DUCKDB_ASCII_TREE_RENDERER const char *PROGRESS_EMPTY = " "; @@ -43,7 +42,8 @@ class TerminalProgressBarDisplay : public ProgressBarDisplay { static constexpr const idx_t PROGRESS_BAR_WIDTH = 60; private: - void PrintProgressInternal(int percentage); + static int32_t NormalizePercentage(double percentage); + void PrintProgressInternal(int32_t percentage); }; } // namespace duckdb diff --git a/src/include/duckdb/common/progress_bar/progress_bar.hpp b/src/include/duckdb/common/progress_bar/progress_bar.hpp index d3d77e1522cf..1686e8b133c8 100644 --- a/src/include/duckdb/common/progress_bar/progress_bar.hpp +++ b/src/include/duckdb/common/progress_bar/progress_bar.hpp @@ -19,6 +19,25 @@ namespace duckdb { struct ClientConfig; typedef unique_ptr (*progress_bar_display_create_func_t)(); +struct QueryProgress { + friend class ProgressBar; + +public: + QueryProgress(); + void Initialize(); + void Restart(); + double GetPercentage(); + uint64_t GetRowsProcesseed(); + uint64_t GetTotalRowsToProcess(); + QueryProgress &operator=(const QueryProgress &other); + QueryProgress(const QueryProgress &other); + +private: + atomic percentage; + atomic rows_processed; + atomic total_rows_to_process; +}; + class ProgressBar { public: static unique_ptr DefaultProgressBarDisplay(); @@ -32,10 +51,7 @@ class ProgressBar { void Start(); //! Updates the progress bar and prints it to the screen void Update(bool final); - //! Gets current percentage - double GetCurrentPercentage(); - - void PrintProgressInternal(int percentage); + QueryProgress GetDetailedQueryProgress(); void PrintProgress(int percentage); void FinishProgressBarPrint(); bool ShouldPrint(bool final) const; @@ -48,8 +64,8 @@ class ProgressBar { Profiler profiler; //! The time in ms after which to start displaying the progress bar idx_t show_progress_after; - //! The current progress percentage - double current_percentage; + //! Keeps track of the total progress of a query + QueryProgress query_progress; //! The display used to print the progress unique_ptr display; //! Whether or not profiling is supported for the current query diff --git a/src/include/duckdb/common/radix.hpp b/src/include/duckdb/common/radix.hpp index 46f6dc6d42d2..021d271860c4 100644 --- a/src/include/duckdb/common/radix.hpp +++ b/src/include/duckdb/common/radix.hpp @@ -165,6 +165,12 @@ inline void Radix::EncodeData(data_ptr_t dataptr, hugeint_t value) { EncodeData(dataptr + sizeof(value.upper), value.lower); } +template <> +inline void Radix::EncodeData(data_ptr_t dataptr, uhugeint_t value) { + EncodeData(dataptr, value.upper); + EncodeData(dataptr + sizeof(value.upper), value.lower); +} + template <> inline void Radix::EncodeData(data_ptr_t dataptr, float value) { uint32_t converted_value = EncodeFloat(value); diff --git a/src/include/duckdb/common/row_operations/row_operations.hpp b/src/include/duckdb/common/row_operations/row_operations.hpp index 095c8b98980c..9347a9f6e834 100644 --- a/src/include/duckdb/common/row_operations/row_operations.hpp +++ b/src/include/duckdb/common/row_operations/row_operations.hpp @@ -25,6 +25,20 @@ class StringHeap; class Vector; struct UnifiedVectorFormat; +// The NestedValidity class help to set/get the validity from inside nested vectors +class NestedValidity { + data_ptr_t list_validity_location; + data_ptr_t *struct_validity_locations; + idx_t entry_idx; + idx_t idx_in_entry; + +public: + explicit NestedValidity(data_ptr_t validitymask_location); + NestedValidity(data_ptr_t *validitymask_locations, idx_t child_vector_index); + void SetInvalid(idx_t idx); + bool IsValid(idx_t idx); +}; + struct RowOperationsState { explicit RowOperationsState(ArenaAllocator &allocator) : allocator(allocator) { } @@ -91,15 +105,15 @@ struct RowOperations { static void ComputeEntrySizes(Vector &v, UnifiedVectorFormat &vdata, idx_t entry_sizes[], idx_t vcount, idx_t ser_count, const SelectionVector &sel, idx_t offset = 0); //! Scatter vector with variable size type to the heap. - static void HeapScatter(Vector &v, idx_t vcount, const SelectionVector &sel, idx_t ser_count, idx_t col_idx, - data_ptr_t *key_locations, data_ptr_t *validitymask_locations, idx_t offset = 0); + static void HeapScatter(Vector &v, idx_t vcount, const SelectionVector &sel, idx_t ser_count, + data_ptr_t *key_locations, optional_ptr parent_validity, idx_t offset = 0); //! Scatter vector data with variable size type to the heap. static void HeapScatterVData(UnifiedVectorFormat &vdata, PhysicalType type, const SelectionVector &sel, - idx_t ser_count, idx_t col_idx, data_ptr_t *key_locations, - data_ptr_t *validitymask_locations, idx_t offset = 0); + idx_t ser_count, data_ptr_t *key_locations, + optional_ptr parent_validity, idx_t offset = 0); //! Gather a single column with variable size type from the heap. - static void HeapGather(Vector &v, const idx_t &vcount, const SelectionVector &sel, const idx_t &col_idx, - data_ptr_t key_locations[], data_ptr_t validitymask_locations[]); + static void HeapGather(Vector &v, const idx_t &vcount, const SelectionVector &sel, data_ptr_t key_locations[], + optional_ptr parent_validity); //===--------------------------------------------------------------------===// // Sorting Operators diff --git a/src/include/duckdb/common/serializer/binary_deserializer.hpp b/src/include/duckdb/common/serializer/binary_deserializer.hpp index 9d8b11ecbe57..18f8a1573a55 100644 --- a/src/include/duckdb/common/serializer/binary_deserializer.hpp +++ b/src/include/duckdb/common/serializer/binary_deserializer.hpp @@ -149,6 +149,7 @@ class BinaryDeserializer : public Deserializer { double ReadDouble() final; string ReadString() final; hugeint_t ReadHugeInt() final; + uhugeint_t ReadUhugeInt() final; void ReadDataPtr(data_ptr_t &ptr, idx_t count) final; }; diff --git a/src/include/duckdb/common/serializer/binary_serializer.hpp b/src/include/duckdb/common/serializer/binary_serializer.hpp index c7d22e311c81..0cf532b36a19 100644 --- a/src/include/duckdb/common/serializer/binary_serializer.hpp +++ b/src/include/duckdb/common/serializer/binary_serializer.hpp @@ -96,6 +96,7 @@ class BinarySerializer : public Serializer { void WriteValue(uint64_t value) final; void WriteValue(int64_t value) final; void WriteValue(hugeint_t value) final; + void WriteValue(uhugeint_t value) final; void WriteValue(float value) final; void WriteValue(double value) final; void WriteValue(const string_t value) final; diff --git a/src/include/duckdb/common/serializer/deserializer.hpp b/src/include/duckdb/common/serializer/deserializer.hpp index 3014c51e9fdf..e75d6d3ed4a3 100644 --- a/src/include/duckdb/common/serializer/deserializer.hpp +++ b/src/include/duckdb/common/serializer/deserializer.hpp @@ -1,7 +1,7 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/common/serializer/format_serializer.hpp +// duckdb/common/serializer/deserializer.hpp // // //===----------------------------------------------------------------------===// @@ -14,6 +14,8 @@ #include "duckdb/common/types/string_type.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/common/unordered_set.hpp" +#include "duckdb/common/uhugeint.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" namespace duckdb { @@ -39,6 +41,10 @@ class Deserializer { template T ReadElement(); + //! Deserialize bytes + template + void ReadElement(data_ptr_t &ptr, idx_t size); + // Deserialize an object template void ReadObject(FUNC f); @@ -178,9 +184,9 @@ class Deserializer { return val; } - template - inline typename std::enable_if::value, T>::type Read() { - using ELEMENT_TYPE = typename is_unique_ptr::ELEMENT_TYPE; + // Deserialize unique_ptr if the element type has a Deserialize method + template ::ELEMENT_TYPE> + inline typename std::enable_if::value && has_deserialize::value, T>::type Read() { unique_ptr ptr = nullptr; auto is_present = OnNullableBegin(); if (is_present) { @@ -192,6 +198,20 @@ class Deserializer { return ptr; } + // Deserialize a unique_ptr if the element type does not have a Deserialize method + template ::ELEMENT_TYPE> + inline typename std::enable_if::value && !has_deserialize::value, T>::type Read() { + unique_ptr ptr = nullptr; + auto is_present = OnNullableBegin(); + if (is_present) { + OnObjectBegin(); + ptr = make_uniq(Read()); + OnObjectEnd(); + } + OnNullableEnd(); + return ptr; + } + // Deserialize shared_ptr template inline typename std::enable_if::value, T>::type Read() { @@ -404,6 +424,12 @@ class Deserializer { return ReadHugeInt(); } + // Deserialize a uhugeint + template + inline typename std::enable_if::value, T>::type Read() { + return ReadUhugeInt(); + } + // Deserialize a LogicalIndex template inline typename std::enable_if::value, T>::type Read() { @@ -416,6 +442,13 @@ class Deserializer { return PhysicalIndex(ReadUnsignedInt64()); } + // Deserialize an optional_idx + template + inline typename std::enable_if::value, T>::type Read() { + auto idx = ReadUnsignedInt64(); + return idx == DConstants::INVALID_INDEX ? optional_idx() : optional_idx(idx); + } + protected: // Hooks for subclasses to override to implement custom behavior virtual void OnPropertyBegin(const field_id_t field_id, const char *tag) = 0; @@ -444,6 +477,7 @@ class Deserializer { virtual int64_t ReadSignedInt64() = 0; virtual uint64_t ReadUnsignedInt64() = 0; virtual hugeint_t ReadHugeInt() = 0; + virtual uhugeint_t ReadUhugeInt() = 0; virtual float ReadFloat() = 0; virtual double ReadDouble() = 0; virtual string ReadString() = 0; @@ -462,4 +496,9 @@ T Deserializer::List::ReadElement() { return deserializer.Read(); } +template +void Deserializer::List::ReadElement(data_ptr_t &ptr, idx_t size) { + deserializer.ReadDataPtr(ptr, size); +} + } // namespace duckdb diff --git a/src/include/duckdb/common/serializer/serialization_traits.hpp b/src/include/duckdb/common/serializer/serialization_traits.hpp index 2fbce818a451..0f60deecd78d 100644 --- a/src/include/duckdb/common/serializer/serialization_traits.hpp +++ b/src/include/duckdb/common/serializer/serialization_traits.hpp @@ -4,6 +4,7 @@ #include #include "duckdb/common/vector.hpp" +#include "duckdb/common/map.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/common/unordered_set.hpp" #include "duckdb/common/set.hpp" diff --git a/src/include/duckdb/common/serializer/serializer.hpp b/src/include/duckdb/common/serializer/serializer.hpp index db9f2d32828f..10b926d048e1 100644 --- a/src/include/duckdb/common/serializer/serializer.hpp +++ b/src/include/duckdb/common/serializer/serializer.hpp @@ -12,8 +12,11 @@ #include "duckdb/common/serializer/serialization_traits.hpp" #include "duckdb/common/types/interval.hpp" #include "duckdb/common/types/string_type.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/common/unordered_set.hpp" +#include "duckdb/common/optional_idx.hpp" +#include "duckdb/common/value_operations/value_operations.hpp" namespace duckdb { @@ -39,6 +42,9 @@ class Serializer { template void WriteElement(const T &value); + //! Serialize bytes + void WriteElement(data_ptr_t ptr, idx_t size); + // Serialize an object template void WriteObject(FUNC f); @@ -273,6 +279,7 @@ class Serializer { virtual void WriteValue(uint64_t value) = 0; virtual void WriteValue(int64_t value) = 0; virtual void WriteValue(hugeint_t value) = 0; + virtual void WriteValue(uhugeint_t value) = 0; virtual void WriteValue(float value) = 0; virtual void WriteValue(double value) = 0; virtual void WriteValue(const string_t value) = 0; @@ -285,12 +292,20 @@ class Serializer { void WriteValue(PhysicalIndex value) { WriteValue(value.index); } + void WriteValue(optional_idx value) { + WriteValue(value.IsValid() ? value.GetIndex() : DConstants::INVALID_INDEX); + } }; // We need to special case vector because elements of vector cannot be referenced template <> void Serializer::WriteValue(const vector &vec); +// Specialization for Value (default Value comparison throws when comparing nulls) +template <> +void Serializer::WritePropertyWithDefault(const field_id_t field_id, const char *tag, const Value &value, + const Value &&default_value); + // List Impl template void Serializer::List::WriteObject(FUNC f) { diff --git a/src/include/duckdb/common/sort/comparators.hpp b/src/include/duckdb/common/sort/comparators.hpp index c05c16aa39d5..5f3cd38071a3 100644 --- a/src/include/duckdb/common/sort/comparators.hpp +++ b/src/include/duckdb/common/sort/comparators.hpp @@ -47,6 +47,8 @@ struct Comparators { //! Compares two struct values at the given pointers (recursive) static int CompareStructAndAdvance(data_ptr_t &left_ptr, data_ptr_t &right_ptr, const child_list_t &types, bool valid); + static int CompareArrayAndAdvance(data_ptr_t &left_ptr, data_ptr_t &right_ptr, const LogicalType &type, bool valid, + idx_t array_size); //! Compare two list values at the pointers (can be recursive if nested type) static int CompareListAndAdvance(data_ptr_t &left_ptr, data_ptr_t &right_ptr, const LogicalType &type, bool valid); //! Compares a list of fixed-size values diff --git a/src/include/duckdb/common/sort/partition_state.hpp b/src/include/duckdb/common/sort/partition_state.hpp index cb497569d35e..e4e9edcbe09e 100644 --- a/src/include/duckdb/common/sort/partition_state.hpp +++ b/src/include/duckdb/common/sort/partition_state.hpp @@ -20,13 +20,23 @@ class PartitionGlobalHashGroup { using GlobalSortStatePtr = unique_ptr; using Orders = vector; using Types = vector; + using OrderMasks = unordered_map; PartitionGlobalHashGroup(BufferManager &buffer_manager, const Orders &partitions, const Orders &orders, const Types &payload_types, bool external); - int ComparePartitions(const SBIterator &left, const SBIterator &right) const; + inline int ComparePartitions(const SBIterator &left, const SBIterator &right) { + int part_cmp = 0; + if (partition_layout.all_constant) { + part_cmp = FastMemcmp(left.entry_ptr, right.entry_ptr, partition_layout.comparison_size); + } else { + part_cmp = Comparators::CompareTuple(left.scan, right.scan, left.entry_ptr, right.entry_ptr, + partition_layout, left.external); + } + return part_cmp; + } - void ComputeMasks(ValidityMask &partition_mask, ValidityMask &order_mask); + void ComputeMasks(ValidityMask &partition_mask, OrderMasks &order_masks); GlobalSortStatePtr global_sort; atomic count; diff --git a/src/include/duckdb/common/sort/sort.hpp b/src/include/duckdb/common/sort/sort.hpp index e8478d9012e0..c933da9f0776 100644 --- a/src/include/duckdb/common/sort/sort.hpp +++ b/src/include/duckdb/common/sort/sort.hpp @@ -204,4 +204,85 @@ struct MergeSorter { data_ptr_t &target_heap_ptr, idx_t &copied, const idx_t &count); }; +struct SBIterator { + static int ComparisonValue(ExpressionType comparison); + + SBIterator(GlobalSortState &gss, ExpressionType comparison, idx_t entry_idx_p = 0); + + inline idx_t GetIndex() const { + return entry_idx; + } + + inline void SetIndex(idx_t entry_idx_p) { + const auto new_block_idx = entry_idx_p / block_capacity; + if (new_block_idx != scan.block_idx) { + scan.SetIndices(new_block_idx, 0); + if (new_block_idx < block_count) { + scan.PinRadix(scan.block_idx); + block_ptr = scan.RadixPtr(); + if (!all_constant) { + scan.PinData(*scan.sb->blob_sorting_data); + } + } + } + + scan.entry_idx = entry_idx_p % block_capacity; + entry_ptr = block_ptr + scan.entry_idx * entry_size; + entry_idx = entry_idx_p; + } + + inline SBIterator &operator++() { + if (++scan.entry_idx < block_capacity) { + entry_ptr += entry_size; + ++entry_idx; + } else { + SetIndex(entry_idx + 1); + } + + return *this; + } + + inline SBIterator &operator--() { + if (scan.entry_idx) { + --scan.entry_idx; + --entry_idx; + entry_ptr -= entry_size; + } else { + SetIndex(entry_idx - 1); + } + + return *this; + } + + inline bool Compare(const SBIterator &other, const SortLayout &prefix) const { + int comp_res; + if (all_constant) { + comp_res = FastMemcmp(entry_ptr, other.entry_ptr, prefix.comparison_size); + } else { + comp_res = Comparators::CompareTuple(scan, other.scan, entry_ptr, other.entry_ptr, prefix, external); + } + + return comp_res <= cmp; + } + + inline bool Compare(const SBIterator &other) const { + return Compare(other, sort_layout); + } + + // Fixed comparison parameters + const SortLayout &sort_layout; + const idx_t block_count; + const idx_t block_capacity; + const size_t entry_size; + const bool all_constant; + const bool external; + const int cmp; + + // Iteration state + SBScanState scan; + idx_t entry_idx; + data_ptr_t block_ptr; + data_ptr_t entry_ptr; +}; + } // namespace duckdb diff --git a/src/include/duckdb/common/sort/sorted_block.hpp b/src/include/duckdb/common/sort/sorted_block.hpp index bee58bcae4c9..b6941bda20d8 100644 --- a/src/include/duckdb/common/sort/sorted_block.hpp +++ b/src/include/duckdb/common/sort/sorted_block.hpp @@ -162,82 +162,4 @@ struct PayloadScanner { unique_ptr scanner; }; -struct SBIterator { - static int ComparisonValue(ExpressionType comparison); - - SBIterator(GlobalSortState &gss, ExpressionType comparison, idx_t entry_idx_p = 0); - - inline idx_t GetIndex() const { - return entry_idx; - } - - inline void SetIndex(idx_t entry_idx_p) { - const auto new_block_idx = entry_idx_p / block_capacity; - if (new_block_idx != scan.block_idx) { - scan.SetIndices(new_block_idx, 0); - if (new_block_idx < block_count) { - scan.PinRadix(scan.block_idx); - block_ptr = scan.RadixPtr(); - if (!all_constant) { - scan.PinData(*scan.sb->blob_sorting_data); - } - } - } - - scan.entry_idx = entry_idx_p % block_capacity; - entry_ptr = block_ptr + scan.entry_idx * entry_size; - entry_idx = entry_idx_p; - } - - inline SBIterator &operator++() { - if (++scan.entry_idx < block_capacity) { - entry_ptr += entry_size; - ++entry_idx; - } else { - SetIndex(entry_idx + 1); - } - - return *this; - } - - inline SBIterator &operator--() { - if (scan.entry_idx) { - --scan.entry_idx; - --entry_idx; - entry_ptr -= entry_size; - } else { - SetIndex(entry_idx - 1); - } - - return *this; - } - - inline bool Compare(const SBIterator &other) const { - int comp_res; - if (all_constant) { - comp_res = FastMemcmp(entry_ptr, other.entry_ptr, cmp_size); - } else { - comp_res = Comparators::CompareTuple(scan, other.scan, entry_ptr, other.entry_ptr, sort_layout, external); - } - - return comp_res <= cmp; - } - - // Fixed comparison parameters - const SortLayout &sort_layout; - const idx_t block_count; - const idx_t block_capacity; - const size_t cmp_size; - const size_t entry_size; - const bool all_constant; - const bool external; - const int cmp; - - // Iteration state - SBScanState scan; - idx_t entry_idx; - data_ptr_t block_ptr; - data_ptr_t entry_ptr; -}; - } // namespace duckdb diff --git a/src/include/duckdb/common/string_util.hpp b/src/include/duckdb/common/string_util.hpp index 7074387a6071..e5eb9cd6269a 100644 --- a/src/include/duckdb/common/string_util.hpp +++ b/src/include/duckdb/common/string_util.hpp @@ -11,6 +11,7 @@ #include "duckdb/common/constants.hpp" #include "duckdb/common/exception.hpp" #include "duckdb/common/vector.hpp" +#include "duckdb/common/set.hpp" #include @@ -134,6 +135,7 @@ class StringUtil { //! Join multiple strings into one string. Components are concatenated by the given separator DUCKDB_API static string Join(const vector &input, const string &separator); + DUCKDB_API static string Join(const set &input, const string &separator); template static string ToString(const vector &input, const string &separator) { @@ -166,7 +168,7 @@ class StringUtil { } //! Return a string that formats the give number of bytes - DUCKDB_API static string BytesToHumanReadableString(idx_t bytes); + DUCKDB_API static string BytesToHumanReadableString(idx_t bytes, idx_t multiplier = 1024); //! Convert a string to uppercase DUCKDB_API static string Upper(const string &str); @@ -182,6 +184,9 @@ class StringUtil { //! Case insensitive equals DUCKDB_API static bool CIEquals(const string &l1, const string &l2); + //! Case insensitive compare + DUCKDB_API static bool CILessThan(const string &l1, const string &l2); + //! Format a string using printf semantics template static string Format(const string fmt_str, Args... params) { @@ -240,6 +245,23 @@ class StringUtil { } return strcmp(s1, s2) == 0; } + + //! JSON method that parses a { string: value } JSON blob + //! NOTE: this method ONLY parses a JSON {"key": "value"} object, it does not support ANYTHING else + //! NOTE: this method is not efficient + //! NOTE: this method is used in Exception construction - as such it does NOT throw on invalid JSON, instead an + //! empty map is returned + DUCKDB_API static unordered_map ParseJSONMap(const string &json); + //! JSON method that constructs a { string: value } JSON map + //! This is the inverse of ParseJSONMap + //! NOTE: this method is not efficient + DUCKDB_API static string ToJSONMap(ExceptionType type, const string &message, + const unordered_map &map); + + DUCKDB_API static string GetFileName(const string &file_path); + DUCKDB_API static string GetFileExtension(const string &file_name); + DUCKDB_API static string GetFileStem(const string &file_name); + DUCKDB_API static string GetFilePath(const string &file_path); }; } // namespace duckdb diff --git a/src/include/duckdb/common/type_util.hpp b/src/include/duckdb/common/type_util.hpp index fd8f40940e95..c198bafcd744 100644 --- a/src/include/duckdb/common/type_util.hpp +++ b/src/include/duckdb/common/type_util.hpp @@ -13,6 +13,7 @@ #include "duckdb/common/types/datetime.hpp" #include "duckdb/common/types/timestamp.hpp" #include "duckdb/common/types/interval.hpp" +#include "duckdb/common/uhugeint.hpp" namespace duckdb { @@ -39,6 +40,8 @@ PhysicalType GetTypeId() { return PhysicalType::UINT64; } else if (std::is_same()) { return PhysicalType::INT128; + } else if (std::is_same()) { + return PhysicalType::UINT128; } else if (std::is_same()) { return PhysicalType::INT32; } else if (std::is_same()) { @@ -60,7 +63,8 @@ PhysicalType GetTypeId() { template bool TypeIsNumber() { - return std::is_integral() || std::is_floating_point() || std::is_same(); + return std::is_integral() || std::is_floating_point() || std::is_same() || + std::is_same(); } template diff --git a/src/include/duckdb/common/types.hpp b/src/include/duckdb/common/types.hpp index a99bbd80607c..04c0e96fa5c7 100644 --- a/src/include/duckdb/common/types.hpp +++ b/src/include/duckdb/common/types.hpp @@ -41,10 +41,10 @@ struct list_entry_t { list_entry_t() = default; list_entry_t(uint64_t offset, uint64_t length) : offset(offset), length(length) { } - inline constexpr bool operator != (const list_entry_t &other) const { + inline constexpr bool operator!=(const list_entry_t &other) const { return !(*this == other); } - inline constexpr bool operator == (const list_entry_t &other) const { + inline constexpr bool operator==(const list_entry_t &other) const { return offset == other.offset && length == other.length; } @@ -52,7 +52,7 @@ struct list_entry_t { uint64_t length; }; -using union_tag_t = uint8_t; +using union_tag_t = uint8_t; //===--------------------------------------------------------------------===// // Internal Types @@ -61,7 +61,7 @@ using union_tag_t = uint8_t; // taken from arrow's type.h enum class PhysicalType : uint8_t { ///// A NULL type having no physical storage - //NA = 0, + // NA = 0, /// Boolean as 8 bit "bool" value BOOL = 1, @@ -91,7 +91,7 @@ enum class PhysicalType : uint8_t { INT64 = 9, ///// 2-byte floating point value - //HALF_FLOAT = 10, + // HALF_FLOAT = 10, /// 4-byte floating point value FLOAT = 11, @@ -100,31 +100,31 @@ enum class PhysicalType : uint8_t { DOUBLE = 12, ///// UTF8 variable-length string as List - //STRING = 13, + // STRING = 13, ///// Variable-length bytes (no guarantee of UTF8-ness) - //BINARY = 14, + // BINARY = 14, ///// Fixed-size binary. Each value occupies the same number of bytes - //FIXED_SIZE_BINARY = 15, + // FIXED_SIZE_BINARY = 15, ///// int32_t days since the UNIX epoch - //DATE32 = 16, + // DATE32 = 16, ///// int64_t milliseconds since the UNIX epoch - //DATE64 = 17, + // DATE64 = 17, ///// Exact timestamp encoded with int64 since UNIX epoch ///// Default unit millisecond - //TIMESTAMP = 18, + // TIMESTAMP = 18, ///// Time as signed 32-bit integer, representing either seconds or ///// milliseconds since midnight - //TIME32 = 19, + // TIME32 = 19, ///// Time as signed 64-bit integer, representing either microseconds or ///// nanoseconds since midnight - //TIME64 = 20, + // TIME64 = 20, /// YEAR_MONTH or DAY_TIME interval in SQL style INTERVAL = 21, @@ -140,35 +140,36 @@ enum class PhysicalType : uint8_t { STRUCT = 24, ///// Unions of logical types - //UNION = 25, + // UNION = 25, ///// Dictionary-encoded type, also called "categorical" or "factor" ///// in other programming languages. Holds the dictionary value ///// type but not the dictionary itself, which is part of the ///// ArrayData struct - //DICTIONARY = 26, + // DICTIONARY = 26, ///// Custom data type, implemented by user - //EXTENSION = 28, + // EXTENSION = 28, - ///// Fixed size list of some logical type - //FIXED_SIZE_LIST = 29, + ///// Array with fixed length of some logical type (a fixed-size list) + ARRAY = 29, ///// Measure of elapsed time in either seconds, milliseconds, microseconds ///// or nanoseconds. - //DURATION = 30, + // DURATION = 30, ///// Like STRING, but with 64-bit offsets - //LARGE_STRING = 31, + // LARGE_STRING = 31, ///// Like BINARY, but with 64-bit offsets - //LARGE_BINARY = 32, + // LARGE_BINARY = 32, ///// Like LIST, but with 64-bit offsets - //LARGE_LIST = 33, + // LARGE_LIST = 33, /// DuckDB Extensions VARCHAR = 200, // our own string representation, different from STRING and LARGE_STRING above + UINT128 = 203, // 128-bit unsigned integers INT128 = 204, // 128-bit integers UNKNOWN = 205, // Unknown physical type of user defined types /// Boolean as 1 bit, LSB bit-packed ordering @@ -185,7 +186,7 @@ enum class LogicalTypeId : uint8_t { SQLNULL = 1, /* NULL type, used for constant NULL */ UNKNOWN = 2, /* unknown type, used for parameter expressions */ ANY = 3, /* ANY type, used for functions that accept any type as parameter */ - USER = 4, /* A User Defined Type (e.g., ENUMs before the binder) */ + USER = 4, /* A User Defined Type (e.g., ENUMs before the binder) */ BOOLEAN = 10, TINYINT = 11, SMALLINT = 12, @@ -211,7 +212,10 @@ enum class LogicalTypeId : uint8_t { TIMESTAMP_TZ = 32, TIME_TZ = 34, BIT = 36, + STRING_LITERAL = 37, /* string literals, used for constant strings - only exists while binding */ + INTEGER_LITERAL = 38,/* integer literals, used for constant integers - only exists while binding */ + UHUGEINT = 49, HUGEINT = 50, POINTER = 51, VALIDITY = 53, @@ -224,10 +228,10 @@ enum class LogicalTypeId : uint8_t { ENUM = 104, AGGREGATE_STATE = 105, LAMBDA = 106, - UNION = 107 + UNION = 107, + ARRAY = 108 }; - struct ExtraTypeInfo; struct aggregate_state_t; @@ -250,25 +254,38 @@ struct LogicalType { inline const ExtraTypeInfo *AuxInfo() const { return type_info_.get(); } + inline bool IsNested() const { + auto internal = InternalType(); + if (internal == PhysicalType::STRUCT) { + return true; + } + if (internal == PhysicalType::LIST) { + return true; + } + if (internal == PhysicalType::ARRAY) { + return true; + } + return false; + } inline shared_ptr GetAuxInfoShrPtr() const { return type_info_; } - inline void CopyAuxInfo(const LogicalType& other) { + inline void CopyAuxInfo(const LogicalType &other) { type_info_ = other.type_info_; } - bool EqualTypeInfo(const LogicalType& rhs) const; + bool EqualTypeInfo(const LogicalType &rhs) const; // copy assignment - inline LogicalType& operator=(const LogicalType &other) { + inline LogicalType &operator=(const LogicalType &other) { id_ = other.id_; physical_type_ = other.physical_type_; type_info_ = other.type_info_; return *this; } // move assignment - inline LogicalType& operator=(LogicalType&& other) noexcept { + inline LogicalType &operator=(LogicalType &&other) noexcept { id_ = other.id_; physical_type_ = other.physical_type_; std::swap(type_info_, other.type_info_); @@ -283,15 +300,12 @@ struct LogicalType { DUCKDB_API void Serialize(Serializer &serializer) const; DUCKDB_API static LogicalType Deserialize(Deserializer &deserializer); - static bool TypeIsTimestamp(LogicalTypeId id) { - return (id == LogicalTypeId::TIMESTAMP || - id == LogicalTypeId::TIMESTAMP_MS || - id == LogicalTypeId::TIMESTAMP_NS || - id == LogicalTypeId::TIMESTAMP_SEC || - id == LogicalTypeId::TIMESTAMP_TZ); + return (id == LogicalTypeId::TIMESTAMP || id == LogicalTypeId::TIMESTAMP_MS || + id == LogicalTypeId::TIMESTAMP_NS || id == LogicalTypeId::TIMESTAMP_SEC || + id == LogicalTypeId::TIMESTAMP_TZ); } - static bool TypeIsTimestamp(const LogicalType& type) { + static bool TypeIsTimestamp(const LogicalType &type) { return TypeIsTimestamp(type.id()); } DUCKDB_API string ToString() const; @@ -302,15 +316,26 @@ struct LogicalType { DUCKDB_API bool HasAlias() const; DUCKDB_API string GetAlias() const; - DUCKDB_API static LogicalType MaxLogicalType(const LogicalType &left, const LogicalType &right); + //! Returns the maximum logical type when combining the two types - or throws an exception if combining is not possible + DUCKDB_API static LogicalType MaxLogicalType(ClientContext &context, const LogicalType &left, const LogicalType &right); + DUCKDB_API static bool TryGetMaxLogicalType(ClientContext &context, const LogicalType &left, const LogicalType &right, LogicalType &result); + //! Forcibly returns a maximum logical type - similar to MaxLogicalType but never throws. As a fallback either left or right are returned. + DUCKDB_API static LogicalType ForceMaxLogicalType(const LogicalType &left, const LogicalType &right); + //! Normalize a type - removing literals + DUCKDB_API static LogicalType NormalizeType(const LogicalType &type); - //! Gets the decimal properties of a numeric type. Fails if the type is not numeric. + + //! Gets the decimal properties of a numeric type. Fails if the type is not numeric. DUCKDB_API bool GetDecimalProperties(uint8_t &width, uint8_t &scale) const; DUCKDB_API void Verify() const; DUCKDB_API bool IsValid() const; + template + bool Contains(F &&predicate) const; + bool Contains(LogicalTypeId type_id) const; + private: LogicalTypeId id_; PhysicalType physical_type_; @@ -344,9 +369,10 @@ struct LogicalType { static constexpr const LogicalTypeId VARCHAR = LogicalTypeId::VARCHAR; static constexpr const LogicalTypeId ANY = LogicalTypeId::ANY; static constexpr const LogicalTypeId BLOB = LogicalTypeId::BLOB; - static constexpr const LogicalTypeId BIT = LogicalTypeId::BIT; - static constexpr const LogicalTypeId INTERVAL = LogicalTypeId::INTERVAL; + static constexpr const LogicalTypeId BIT = LogicalTypeId::BIT; + static constexpr const LogicalTypeId INTERVAL = LogicalTypeId::INTERVAL; static constexpr const LogicalTypeId HUGEINT = LogicalTypeId::HUGEINT; + static constexpr const LogicalTypeId UHUGEINT = LogicalTypeId::UHUGEINT; static constexpr const LogicalTypeId UUID = LogicalTypeId::UUID; static constexpr const LogicalTypeId HASH = LogicalTypeId::UBIGINT; static constexpr const LogicalTypeId POINTER = LogicalTypeId::POINTER; @@ -358,22 +384,38 @@ struct LogicalType { // explicitly allowing these functions to be capitalized to be in-line with the remaining functions DUCKDB_API static LogicalType DECIMAL(int width, int scale); // NOLINT DUCKDB_API static LogicalType VARCHAR_COLLATION(string collation); // NOLINT - DUCKDB_API static LogicalType LIST(const LogicalType &child); // NOLINT + DUCKDB_API static LogicalType LIST(const LogicalType &child); // NOLINT DUCKDB_API static LogicalType STRUCT(child_list_t children); // NOLINT - DUCKDB_API static LogicalType AGGREGATE_STATE(aggregate_state_t state_type); // NOLINT - DUCKDB_API static LogicalType MAP(const LogicalType &child); // NOLINT - DUCKDB_API static LogicalType MAP(LogicalType key, LogicalType value); // NOLINT - DUCKDB_API static LogicalType UNION( child_list_t members); // NOLINT + DUCKDB_API static LogicalType AGGREGATE_STATE(aggregate_state_t state_type); // NOLINT + DUCKDB_API static LogicalType MAP(const LogicalType &child); // NOLINT + DUCKDB_API static LogicalType MAP(LogicalType key, LogicalType value); // NOLINT + DUCKDB_API static LogicalType UNION(child_list_t members); // NOLINT + DUCKDB_API static LogicalType ARRAY(const LogicalType &child, idx_t size); // NOLINT + // an array of unknown size (only used for binding) + DUCKDB_API static LogicalType ARRAY(const LogicalType &child); // NOLINT DUCKDB_API static LogicalType ENUM(Vector &ordered_data, idx_t size); // NOLINT + // ANY but with special rules (default is LogicalType::ANY, 5) + DUCKDB_API static LogicalType ANY_PARAMS(LogicalType target, idx_t cast_score = 5); // NOLINT + //! Integer literal of the specified value + DUCKDB_API static LogicalType INTEGER_LITERAL(const Value &constant); // NOLINT // DEPRECATED - provided for backwards compatibility DUCKDB_API static LogicalType ENUM(const string &enum_name, Vector &ordered_data, idx_t size); // NOLINT - DUCKDB_API static LogicalType USER(const string &user_type_name); // NOLINT + DUCKDB_API static LogicalType USER(const string &user_type_name); // NOLINT + DUCKDB_API static LogicalType USER(string catalog, string schema, string name); // NOLINT //! A list of all NUMERIC types (integral and floating point types) DUCKDB_API static const vector Numeric(); //! A list of all INTEGRAL types DUCKDB_API static const vector Integral(); + //! A list of all REAL types + DUCKDB_API static const vector Real(); //! A list of ALL SQL types DUCKDB_API static const vector AllTypes(); + +public: + //! The JSON type lives in the JSON extension, but we need to define this here for special handling + static constexpr auto JSON_TYPE_NAME = "JSON"; + DUCKDB_API static LogicalType JSON(); // NOLINT + DUCKDB_API bool IsJSONType() const; }; struct DecimalType { @@ -391,11 +433,13 @@ struct ListType { }; struct UserType { + DUCKDB_API static const string &GetCatalog(const LogicalType &type); + DUCKDB_API static const string &GetSchema(const LogicalType &type); DUCKDB_API static const string &GetTypeName(const LogicalType &type); }; struct EnumType { - DUCKDB_API static int64_t GetPos(const LogicalType &type, const string_t& key); + DUCKDB_API static int64_t GetPos(const LogicalType &type, const string_t &key); DUCKDB_API static const Vector &GetValuesInsertOrder(const LogicalType &type); DUCKDB_API static idx_t GetSize(const LogicalType &type); DUCKDB_API static const string GetValue(const Value &val); @@ -407,6 +451,7 @@ struct StructType { DUCKDB_API static const child_list_t &GetChildTypes(const LogicalType &type); DUCKDB_API static const LogicalType &GetChildType(const LogicalType &type, idx_t index); DUCKDB_API static const string &GetChildName(const LogicalType &type, idx_t index); + DUCKDB_API static idx_t GetChildIndexUnsafe(const LogicalType &type, const string &name); DUCKDB_API static idx_t GetChildCount(const LogicalType &type); DUCKDB_API static bool IsUnnamed(const LogicalType &type); }; @@ -424,11 +469,32 @@ struct UnionType { DUCKDB_API static const child_list_t CopyMemberTypes(const LogicalType &type); }; +struct ArrayType { + DUCKDB_API static const LogicalType &GetChildType(const LogicalType &type); + DUCKDB_API static idx_t GetSize(const LogicalType &type); + DUCKDB_API static bool IsAnySize(const LogicalType &type); + DUCKDB_API static constexpr idx_t MAX_ARRAY_SIZE = 100000; // 100k for now + //! Recursively replace all ARRAY types to LIST types within the given type + DUCKDB_API static LogicalType ConvertToList(const LogicalType &type); +}; + struct AggregateStateType { DUCKDB_API static const string GetTypeName(const LogicalType &type); DUCKDB_API static const aggregate_state_t &GetStateType(const LogicalType &type); }; +struct AnyType { + DUCKDB_API static LogicalType GetTargetType(const LogicalType &type); + DUCKDB_API static idx_t GetCastScore(const LogicalType &type); +}; + +struct IntegerLiteral { + //! Returns the type that this integer literal "prefers" + DUCKDB_API static LogicalType GetType(const LogicalType &type); + //! Whether or not the integer literal fits into the target numeric type + DUCKDB_API static bool FitsInType(const LogicalType &type, const LogicalType &target); +}; + // **DEPRECATED**: Use EnumUtil directly instead. DUCKDB_API string LogicalTypeIdToString(LogicalTypeId type); @@ -452,8 +518,11 @@ bool ApproxEqual(float l, float r); bool ApproxEqual(double l, double r); struct aggregate_state_t { - aggregate_state_t() {} - aggregate_state_t(string function_name_p, LogicalType return_type_p, vector bound_argument_types_p) : function_name(std::move(function_name_p)), return_type(std::move(return_type_p)), bound_argument_types(std::move(bound_argument_types_p)) { + aggregate_state_t() { + } + aggregate_state_t(string function_name_p, LogicalType return_type_p, vector bound_argument_types_p) + : function_name(std::move(function_name_p)), return_type(std::move(return_type_p)), + bound_argument_types(std::move(bound_argument_types_p)) { } string function_name; @@ -461,4 +530,37 @@ struct aggregate_state_t { vector bound_argument_types; }; +template +bool LogicalType::Contains(F &&predicate) const { + if(predicate(*this)) { + return true; + } + switch(id()) { + case LogicalTypeId::STRUCT: { + for(const auto &child : StructType::GetChildTypes(*this)) { + if(child.second.Contains(predicate)) { + return true; + } + } + } + break; + case LogicalTypeId::LIST: + return ListType::GetChildType(*this).Contains(predicate); + case LogicalTypeId::MAP: + return MapType::KeyType(*this).Contains(predicate) || MapType::ValueType(*this).Contains(predicate); + case LogicalTypeId::UNION: + for(const auto &child : UnionType::CopyMemberTypes(*this)) { + if(child.second.Contains(predicate)) { + return true; + } + } + break; + case LogicalTypeId::ARRAY: + return ArrayType::GetChildType(*this).Contains(predicate); + default: + return false; + } + return false; +} + } // namespace duckdb diff --git a/src/include/duckdb/common/types/cast_helpers.hpp b/src/include/duckdb/common/types/cast_helpers.hpp index 43903c285ca5..5d335ae1928f 100644 --- a/src/include/duckdb/common/types/cast_helpers.hpp +++ b/src/include/duckdb/common/types/cast_helpers.hpp @@ -13,6 +13,7 @@ #include "duckdb/common/types/decimal.hpp" #include "duckdb/common/types/interval.hpp" #include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include "duckdb/common/types/vector.hpp" #include "fmt/format.h" @@ -91,6 +92,9 @@ int NumericHelper::UnsignedLength(uint64_t value); template <> std::string NumericHelper::ToString(hugeint_t value); +template <> +std::string NumericHelper::ToString(uhugeint_t value); + struct DecimalToString { template static int DecimalLength(SIGNED value, uint8_t width, uint8_t scale) { @@ -248,6 +252,10 @@ struct HugeintToStringCast { static string_t FormatSigned(hugeint_t value, Vector &vector) { int negative = value.upper < 0; if (negative) { + if (value == NumericLimits::Minimum()) { + string_t result = StringVector::AddString(vector, Hugeint::HUGEINT_MINIMUM_STRING); + return result; + } Hugeint::NegateInPlace(value); } int length = UnsignedLength(value) + negative; @@ -269,7 +277,9 @@ struct HugeintToStringCast { } static int DecimalLength(hugeint_t value, uint8_t width, uint8_t scale) { + D_ASSERT(value > NumericLimits::Minimum()); int negative; + if (value.upper < 0) { Hugeint::NegateInPlace(value); negative = 1; @@ -339,6 +349,19 @@ struct HugeintToStringCast { } }; +struct UhugeintToStringCast { + static string_t Format(uhugeint_t value, Vector &vector) { + std::string str = value.ToString(); + string_t result = StringVector::EmptyString(vector, str.length()); + auto data = result.GetDataWriteable(); + + // null-termination not required + memcpy(data, str.data(), str.length()); + result.Finalize(); + return result; + } +}; + struct DateToStringCast { static idx_t Length(int32_t date[], idx_t &year_length, bool &add_bc) { // format is YYYY-MM-DD with optional (BC) at the end @@ -386,7 +409,7 @@ struct DateToStringCast { } // optionally add BC to the end of the date if (add_bc) { - memcpy(ptr, " (BC)", 5); + memcpy(ptr, " (BC)", 5); // NOLINT } } }; @@ -487,7 +510,7 @@ struct IntervalToStringCast { // append the name together with a potential "s" (for plurals) memcpy(buffer + length, name, name_len); length += name_len; - if (value != 1) { + if (value != 1 && value != -1) { buffer[length++] = 's'; } } @@ -548,7 +571,7 @@ struct IntervalToStringCast { } } else if (length == 0) { // empty interval: default to 00:00:00 - memcpy(buffer, "00:00:00", 8); + memcpy(buffer, "00:00:00", 8); // NOLINT return 8; } return length; diff --git a/src/include/duckdb/common/types/chunk_collection.hpp b/src/include/duckdb/common/types/chunk_collection.hpp deleted file mode 100644 index e3d1ddaa6506..000000000000 --- a/src/include/duckdb/common/types/chunk_collection.hpp +++ /dev/null @@ -1,137 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb/common/types/chunk_collection.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb/common/enums/order_type.hpp" -#include "duckdb/common/types/data_chunk.hpp" -#include "duckdb/common/winapi.hpp" - -namespace duckdb { -class Allocator; -class ClientContext; - -//! A ChunkCollection represents a set of DataChunks that all have the same -//! types -/*! - A ChunkCollection represents a set of DataChunks concatenated together in a - list. Individual values of the collection can be iterated over using the - iterator. It is also possible to iterate directly over the chunks for more - direct access. -*/ -class ChunkCollection { -public: - explicit ChunkCollection(Allocator &allocator); - explicit ChunkCollection(ClientContext &context); - - //! The types of columns in the ChunkCollection - vector &Types() { - return types; - } - const vector &Types() const { - return types; - } - - //! The amount of rows in the ChunkCollection - const idx_t &Count() const { - return count; - } - - //! The amount of columns in the ChunkCollection - idx_t ColumnCount() const { - return types.size(); - } - - //! Append a new DataChunk directly to this ChunkCollection - DUCKDB_API void Append(DataChunk &new_chunk); - - //! Append a new DataChunk directly to this ChunkCollection - DUCKDB_API void Append(unique_ptr new_chunk); - - //! Append another ChunkCollection directly to this ChunkCollection - DUCKDB_API void Append(ChunkCollection &other); - - //! Merge is like Append but messes up the order and destroys the other collection - DUCKDB_API void Merge(ChunkCollection &other); - - //! Fuse adds new columns to the right of the collection - DUCKDB_API void Fuse(ChunkCollection &other); - - DUCKDB_API void Verify(); - - //! Gets the value of the column at the specified index - DUCKDB_API Value GetValue(idx_t column, idx_t index); - //! Sets the value of the column at the specified index - DUCKDB_API void SetValue(idx_t column, idx_t index, const Value &value); - - //! Copy a single cell to a target vector - DUCKDB_API void CopyCell(idx_t column, idx_t index, Vector &target, idx_t target_offset); - - DUCKDB_API string ToString() const; - DUCKDB_API void Print() const; - - //! Gets a reference to the chunk at the given index - DataChunk &GetChunkForRow(idx_t row_index) { - return *chunks[LocateChunk(row_index)]; - } - - //! Gets a reference to the chunk at the given index - DataChunk &GetChunk(idx_t chunk_index) { - D_ASSERT(chunk_index < chunks.size()); - return *chunks[chunk_index]; - } - const DataChunk &GetChunk(idx_t chunk_index) const { - D_ASSERT(chunk_index < chunks.size()); - return *chunks[chunk_index]; - } - - const vector> &Chunks() { - return chunks; - } - - idx_t ChunkCount() const { - return chunks.size(); - } - - void Reset() { - count = 0; - chunks.clear(); - types.clear(); - } - - unique_ptr Fetch() { - if (ChunkCount() == 0) { - return nullptr; - } - - auto res = std::move(chunks[0]); - chunks.erase(chunks.begin() + 0); - return res; - } - - //! Locates the chunk that belongs to the specific index - idx_t LocateChunk(idx_t index) { - idx_t result = index / STANDARD_VECTOR_SIZE; - D_ASSERT(result < chunks.size()); - return result; - } - - Allocator &GetAllocator() { - return allocator; - } - -private: - Allocator &allocator; - //! The total amount of elements in the collection - idx_t count; - //! The set of data chunks in the collection - vector> chunks; - //! The types of the ChunkCollection - vector types; -}; -} // namespace duckdb diff --git a/src/include/duckdb/common/types/conflict_manager.hpp b/src/include/duckdb/common/types/conflict_manager.hpp index 59024b8ad969..f9d71375dae1 100644 --- a/src/include/duckdb/common/types/conflict_manager.hpp +++ b/src/include/duckdb/common/types/conflict_manager.hpp @@ -1,3 +1,11 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/types/conflict_manager.hpp +// +// +//===----------------------------------------------------------------------===// + #pragma once #include "duckdb/common/common.hpp" diff --git a/src/include/duckdb/common/types/data_chunk.hpp b/src/include/duckdb/common/types/data_chunk.hpp index fdb44cddd98a..141dee911a18 100644 --- a/src/include/duckdb/common/types/data_chunk.hpp +++ b/src/include/duckdb/common/types/data_chunk.hpp @@ -133,6 +133,9 @@ class DataChunk { //! Turning all Vectors into Dictionary Vectors, using 'sel' DUCKDB_API void Slice(DataChunk &other, const SelectionVector &sel, idx_t count, idx_t col_offset = 0); + //! Slice a DataChunk from "offset" to "offset + count" + DUCKDB_API void Slice(idx_t offset, idx_t count); + //! Resets the DataChunk to its state right after the DataChunk::Initialize //! function was called. This sets the count to 0, and resets each member //! Vector to point back to the data owned by this DataChunk. diff --git a/src/include/duckdb/common/types/date.hpp b/src/include/duckdb/common/types/date.hpp index 8e9bfac863d3..548db1bcf4dd 100644 --- a/src/include/duckdb/common/types/date.hpp +++ b/src/include/duckdb/common/types/date.hpp @@ -122,6 +122,9 @@ class Date { DUCKDB_API static date_t FromCString(const char *str, idx_t len, bool strict = false); //! Convert a date object to a string in the format "YYYY-MM-DD" DUCKDB_API static string ToString(date_t date); + //! Try to convert the string as a give "special" date (e.g, PINF, ...) + //! Returns true if it was successful and updates the scan pos. + DUCKDB_API static bool TryConvertDateSpecial(const char *buf, idx_t len, idx_t &pos, const char *special); //! Try to convert text in a buffer to a date; returns true if parsing was successful //! If the date was a "special" value, the special flag will be set. DUCKDB_API static bool TryConvertDate(const char *buf, idx_t len, idx_t &pos, date_t &result, bool &special, diff --git a/src/include/duckdb/common/types/datetime.hpp b/src/include/duckdb/common/types/datetime.hpp index 5e13b610308e..4a06e1b762fd 100644 --- a/src/include/duckdb/common/types/datetime.hpp +++ b/src/include/duckdb/common/types/datetime.hpp @@ -90,7 +90,7 @@ struct dtime_tz_t { // NOLINT static constexpr const int TIME_BITS = 40; static constexpr const int OFFSET_BITS = 24; static constexpr const uint64_t OFFSET_MASK = ~uint64_t(0) >> TIME_BITS; - static constexpr const int32_t MAX_OFFSET = 1559 * 60 * 60; + static constexpr const int32_t MAX_OFFSET = 16 * 60 * 60 - 1; // ±15:59:59 static constexpr const int32_t MIN_OFFSET = -MAX_OFFSET; uint64_t bits; @@ -98,7 +98,9 @@ struct dtime_tz_t { // NOLINT dtime_tz_t() = default; inline dtime_tz_t(dtime_t t, int32_t offset) - : bits((uint64_t(t.micros) << OFFSET_BITS) | uint64_t(offset + MAX_OFFSET)) { + : bits((uint64_t(t.micros) << OFFSET_BITS) | uint64_t(MAX_OFFSET - offset)) { + } + explicit inline dtime_tz_t(uint64_t bits_p) : bits(bits_p) { } inline dtime_t time() const { // NOLINT @@ -106,7 +108,7 @@ struct dtime_tz_t { // NOLINT } inline int32_t offset() const { // NOLINT - return int32_t(bits & OFFSET_MASK) - MAX_OFFSET; + return MAX_OFFSET - int32_t(bits & OFFSET_MASK); } // comparison operators diff --git a/src/include/duckdb/common/types/hash.hpp b/src/include/duckdb/common/types/hash.hpp index 337705a891e5..eeb849857f69 100644 --- a/src/include/duckdb/common/types/hash.hpp +++ b/src/include/duckdb/common/types/hash.hpp @@ -50,6 +50,8 @@ DUCKDB_API hash_t Hash(int64_t val); template <> DUCKDB_API hash_t Hash(hugeint_t val); template <> +DUCKDB_API hash_t Hash(uhugeint_t val); +template <> DUCKDB_API hash_t Hash(float val); template <> DUCKDB_API hash_t Hash(double val); diff --git a/src/include/duckdb/common/types/hugeint.hpp b/src/include/duckdb/common/types/hugeint.hpp index babe5c8b6611..a5c06338eae4 100644 --- a/src/include/duckdb/common/types/hugeint.hpp +++ b/src/include/duckdb/common/types/hugeint.hpp @@ -18,6 +18,8 @@ namespace duckdb { //! The Hugeint class contains static operations for the INT128 type class Hugeint { public: + constexpr static const char *HUGEINT_MINIMUM_STRING = "-170141183460469231731687303715884105728"; + //! Convert a hugeint object to a string static string ToString(hugeint_t input); @@ -38,38 +40,94 @@ class Hugeint { static hugeint_t Convert(T value) { hugeint_t result; if (!TryConvert(value, result)) { // LCOV_EXCL_START - throw ValueOutOfRangeException(double(value), GetTypeId(), GetTypeId()); + throw OutOfRangeException(double(value), GetTypeId(), GetTypeId()); } // LCOV_EXCL_STOP return result; } - static void NegateInPlace(hugeint_t &input) { - if (input.upper == NumericLimits::Minimum() && input.lower == 0) { - throw OutOfRangeException("HUGEINT is out of range"); + static bool TryNegate(hugeint_t input, hugeint_t &result); + + template + inline static void NegateInPlace(hugeint_t &input) { + if (!TryNegate(input, input)) { + throw OutOfRangeException("Negation of HUGEINT is out of range!"); } - input.lower = NumericLimits::Maximum() - input.lower + 1; - input.upper = -1 - input.upper + (input.lower == 0); } - static hugeint_t Negate(hugeint_t input) { - NegateInPlace(input); + + template + inline static hugeint_t Negate(hugeint_t input) { + NegateInPlace(input); return input; } static bool TryMultiply(hugeint_t lhs, hugeint_t rhs, hugeint_t &result); - static hugeint_t Add(hugeint_t lhs, hugeint_t rhs); - static hugeint_t Subtract(hugeint_t lhs, hugeint_t rhs); - static hugeint_t Multiply(hugeint_t lhs, hugeint_t rhs); - static hugeint_t Divide(hugeint_t lhs, hugeint_t rhs); - static hugeint_t Modulo(hugeint_t lhs, hugeint_t rhs); + template + inline static hugeint_t Multiply(hugeint_t lhs, hugeint_t rhs) { + hugeint_t result; + if (!TryMultiply(lhs, rhs, result)) { + throw OutOfRangeException("Overflow in HUGEINT multiplication: %s + %s", lhs.ToString(), rhs.ToString()); + } + return result; + } + + static bool TryDivMod(hugeint_t lhs, hugeint_t rhs, hugeint_t &result, hugeint_t &remainder); + + template + inline static hugeint_t Divide(hugeint_t lhs, hugeint_t rhs) { + // No division by zero + if (rhs == 0) { + throw OutOfRangeException("Division of HUGEINT by zero!"); + } + + // division only has one reason to overflow: MINIMUM / -1 + if (lhs == NumericLimits::Minimum() && rhs == -1) { + throw OutOfRangeException("Overflow in HUGEINT division: %s + %s", lhs.ToString(), rhs.ToString()); + } + return Divide(lhs, rhs); + } + + template + inline static hugeint_t Modulo(hugeint_t lhs, hugeint_t rhs) { + // No division by zero + if (rhs == 0) { + throw OutOfRangeException("Modulo of HUGEINT by zero: %s + %s", lhs.ToString(), rhs.ToString()); + } + + // division only has one reason to overflow: MINIMUM / -1 + if (lhs == NumericLimits::Minimum() && rhs == -1) { + throw OutOfRangeException("Overflow in HUGEINT modulo: %s + %s", lhs.ToString(), rhs.ToString()); + } + return Modulo(lhs, rhs); + } + + static bool TryAddInPlace(hugeint_t &lhs, hugeint_t rhs); + + template + inline static hugeint_t Add(hugeint_t lhs, hugeint_t rhs) { + if (!TryAddInPlace(lhs, rhs)) { + throw OutOfRangeException("Overflow in HUGEINT addition: %s + %s", lhs.ToString(), rhs.ToString()); + } + return lhs; + } + + static bool TrySubtractInPlace(hugeint_t &lhs, hugeint_t rhs); + + template + inline static hugeint_t Subtract(hugeint_t lhs, hugeint_t rhs) { + if (!TrySubtractInPlace(lhs, rhs)) { + throw OutOfRangeException("Underflow in HUGEINT addition: %s - %s", lhs.ToString(), rhs.ToString()); + } + return lhs; + } // DivMod -> returns the result of the division (lhs / rhs), and fills up the remainder static hugeint_t DivMod(hugeint_t lhs, hugeint_t rhs, hugeint_t &remainder); // DivMod but lhs MUST be positive, and rhs is a uint64_t static hugeint_t DivModPositive(hugeint_t lhs, uint64_t rhs, uint64_t &remainder); - static bool AddInPlace(hugeint_t &lhs, hugeint_t rhs); - static bool SubtractInPlace(hugeint_t &lhs, hugeint_t rhs); + static int Sign(hugeint_t n); + static hugeint_t Abs(hugeint_t n); // comparison operators // note that everywhere here we intentionally use bitwise ops @@ -79,35 +137,41 @@ class Hugeint { int upper_equals = lhs.upper == rhs.upper; return lower_equals & upper_equals; } + static bool NotEquals(hugeint_t lhs, hugeint_t rhs) { int lower_not_equals = lhs.lower != rhs.lower; int upper_not_equals = lhs.upper != rhs.upper; return lower_not_equals | upper_not_equals; } + static bool GreaterThan(hugeint_t lhs, hugeint_t rhs) { int upper_bigger = lhs.upper > rhs.upper; int upper_equal = lhs.upper == rhs.upper; int lower_bigger = lhs.lower > rhs.lower; return upper_bigger | (upper_equal & lower_bigger); } + static bool GreaterThanEquals(hugeint_t lhs, hugeint_t rhs) { int upper_bigger = lhs.upper > rhs.upper; int upper_equal = lhs.upper == rhs.upper; int lower_bigger_equals = lhs.lower >= rhs.lower; return upper_bigger | (upper_equal & lower_bigger_equals); } + static bool LessThan(hugeint_t lhs, hugeint_t rhs) { int upper_smaller = lhs.upper < rhs.upper; int upper_equal = lhs.upper == rhs.upper; int lower_smaller = lhs.lower < rhs.lower; return upper_smaller | (upper_equal & lower_smaller); } + static bool LessThanEquals(hugeint_t lhs, hugeint_t rhs) { int upper_smaller = lhs.upper < rhs.upper; int upper_equal = lhs.upper == rhs.upper; int lower_smaller_equals = lhs.lower <= rhs.lower; return upper_smaller | (upper_equal & lower_smaller_equals); } + static const hugeint_t POWERS_OF_TEN[40]; }; @@ -130,6 +194,8 @@ DUCKDB_API bool Hugeint::TryCast(hugeint_t input, uint64_t &result); template <> DUCKDB_API bool Hugeint::TryCast(hugeint_t input, hugeint_t &result); template <> +DUCKDB_API bool Hugeint::TryCast(hugeint_t input, uhugeint_t &result); +template <> DUCKDB_API bool Hugeint::TryCast(hugeint_t input, float &result); template <> DUCKDB_API bool Hugeint::TryCast(hugeint_t input, double &result); diff --git a/src/include/duckdb/common/types/interval.hpp b/src/include/duckdb/common/types/interval.hpp index 9c22ab352a8b..a53f1ce7ebb5 100644 --- a/src/include/duckdb/common/types/interval.hpp +++ b/src/include/duckdb/common/types/interval.hpp @@ -14,18 +14,63 @@ namespace duckdb { struct dtime_t; struct date_t; +struct dtime_tz_t; struct timestamp_t; class Serializer; class Deserializer; -struct interval_t { +struct interval_t { // NOLINT int32_t months; int32_t days; int64_t micros; - inline bool operator==(const interval_t &rhs) const { - return this->days == rhs.days && this->months == rhs.months && this->micros == rhs.micros; + inline void Normalize(int64_t &months, int64_t &days, int64_t µs) const; + inline bool operator==(const interval_t &right) const { + // Quick equality check + const auto &left = *this; + if (left.months == right.months && left.days == right.days && left.micros == right.micros) { + return true; + } + + int64_t lmonths, ldays, lmicros; + int64_t rmonths, rdays, rmicros; + left.Normalize(lmonths, ldays, lmicros); + right.Normalize(rmonths, rdays, rmicros); + + return lmonths == rmonths && ldays == rdays && lmicros == rmicros; + } + + inline bool operator>(const interval_t &right) const { + const auto &left = *this; + int64_t lmonths, ldays, lmicros; + int64_t rmonths, rdays, rmicros; + left.Normalize(lmonths, ldays, lmicros); + right.Normalize(rmonths, rdays, rmicros); + + if (lmonths > rmonths) { + return true; + } else if (lmonths < rmonths) { + return false; + } + if (ldays > rdays) { + return true; + } else if (ldays < rdays) { + return false; + } + return lmicros > rmicros; + } + + inline bool operator<(const interval_t &right) const { + return right > *this; + } + + inline bool operator<=(const interval_t &right) const { + return !(*this > right); + } + + inline bool operator>=(const interval_t &right) const { + return !(*this < right); } // Serialization @@ -106,12 +151,18 @@ class Interval { //! Add an interval to a time. In case the time overflows or underflows, modify the date by the overflow. //! For example if we go from 23:00 to 02:00, we add a day to the date static dtime_t Add(dtime_t left, interval_t right, date_t &date); + static dtime_tz_t Add(dtime_tz_t left, interval_t right, date_t &date); //! Comparison operators - inline static bool Equals(const interval_t &left, const interval_t &right); - inline static bool GreaterThan(const interval_t &left, const interval_t &right); + inline static bool Equals(const interval_t &left, const interval_t &right) { + return left == right; + } + inline static bool GreaterThan(const interval_t &left, const interval_t &right) { + return left > right; + } }; -static void NormalizeIntervalEntries(interval_t input, int64_t &months, int64_t &days, int64_t µs) { +void interval_t::Normalize(int64_t &months, int64_t &days, int64_t µs) const { + auto input = *this; int64_t extra_months_d = input.days / Interval::DAYS_PER_MONTH; int64_t extra_months_micros = input.micros / Interval::MICROS_PER_MONTH; input.days -= extra_months_d * Interval::DAYS_PER_MONTH; @@ -125,27 +176,4 @@ static void NormalizeIntervalEntries(interval_t input, int64_t &months, int64_t micros = input.micros; } -bool Interval::Equals(const interval_t &left, const interval_t &right) { - return left.months == right.months && left.days == right.days && left.micros == right.micros; -} - -bool Interval::GreaterThan(const interval_t &left, const interval_t &right) { - int64_t lmonths, ldays, lmicros; - int64_t rmonths, rdays, rmicros; - NormalizeIntervalEntries(left, lmonths, ldays, lmicros); - NormalizeIntervalEntries(right, rmonths, rdays, rmicros); - - if (lmonths > rmonths) { - return true; - } else if (lmonths < rmonths) { - return false; - } - if (ldays > rdays) { - return true; - } else if (ldays < rdays) { - return false; - } - return lmicros > rmicros; -} - } // namespace duckdb diff --git a/src/include/duckdb/common/types/list_segment.hpp b/src/include/duckdb/common/types/list_segment.hpp index ea4c2ad89f00..79f359faff11 100644 --- a/src/include/duckdb/common/types/list_segment.hpp +++ b/src/include/duckdb/common/types/list_segment.hpp @@ -51,7 +51,7 @@ struct ListSegmentFunctions { void AppendRow(ArenaAllocator &allocator, LinkedList &linked_list, RecursiveUnifiedVectorFormat &input_data, idx_t &entry_idx) const; - void BuildListVector(const LinkedList &linked_list, Vector &result, idx_t &initial_total_count) const; + void BuildListVector(const LinkedList &linked_list, Vector &result, idx_t total_count) const; }; void GetSegmentDataFunctions(ListSegmentFunctions &functions, const LogicalType &type); diff --git a/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp b/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp index f311872329e8..de8f77c94d83 100644 --- a/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +++ b/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp @@ -82,7 +82,7 @@ class PartitionedTupleData { //! Unpins the data void Unpin(); //! Get the partitions in this PartitionedTupleData - vector> &GetPartitions(); + unsafe_vector> &GetPartitions(); //! Get the data of this PartitionedTupleData as a single unpartitioned TupleDataCollection unique_ptr GetUnpartitioned(); //! Get the count of this PartitionedTupleData @@ -91,6 +91,8 @@ class PartitionedTupleData { idx_t SizeInBytes() const; //! Get the number of partitions of this PartitionedTupleData idx_t PartitionCount() const; + //! Get the count and size of the largest partition + void GetSizesAndCounts(vector &partition_sizes, vector &partition_counts) const; //! Converts this PartitionedTupleData to a string representation string ToString(); //! Prints the string representation of this PartitionedTupleData @@ -169,7 +171,7 @@ class PartitionedTupleData { mutex lock; shared_ptr allocators; - vector> partitions; + unsafe_vector> partitions; public: template diff --git a/src/include/duckdb/common/types/row/row_data_collection.hpp b/src/include/duckdb/common/types/row/row_data_collection.hpp index acdd6de3b879..490e81d928a7 100644 --- a/src/include/duckdb/common/types/row/row_data_collection.hpp +++ b/src/include/duckdb/common/types/row/row_data_collection.hpp @@ -17,10 +17,10 @@ namespace duckdb { struct RowDataBlock { public: - RowDataBlock(BufferManager &buffer_manager, idx_t capacity, idx_t entry_size) + RowDataBlock(MemoryTag tag, BufferManager &buffer_manager, idx_t capacity, idx_t entry_size) : capacity(capacity), entry_size(entry_size), count(0), byte_offset(0) { idx_t size = MaxValue(Storage::BLOCK_SIZE, capacity * entry_size); - buffer_manager.Allocate(size, false, &block); + buffer_manager.Allocate(tag, size, false, &block); D_ASSERT(BufferManager::GetAllocSize(size) == block->GetMemoryUsage()); } explicit RowDataBlock(idx_t entry_size) : entry_size(entry_size) { diff --git a/src/include/duckdb/common/types/row/tuple_data_collection.hpp b/src/include/duckdb/common/types/row/tuple_data_collection.hpp index 34efa90d28f3..01fc20ec33d9 100644 --- a/src/include/duckdb/common/types/row/tuple_data_collection.hpp +++ b/src/include/duckdb/common/types/row/tuple_data_collection.hpp @@ -33,7 +33,7 @@ struct TupleDataScatterFunction { typedef void (*tuple_data_gather_function_t)(const TupleDataLayout &layout, Vector &row_locations, const idx_t col_idx, const SelectionVector &scan_sel, const idx_t scan_count, Vector &target, - const SelectionVector &target_sel, Vector &list_vector, + const SelectionVector &target_sel, optional_ptr list_vector, const vector &child_functions); struct TupleDataGatherFunction { @@ -68,9 +68,9 @@ class TupleDataCollection { void Unpin(); //! Gets the scatter function for the given type - static TupleDataScatterFunction GetScatterFunction(const LogicalType &type, bool within_list = false); + static TupleDataScatterFunction GetScatterFunction(const LogicalType &type, bool within_collection = false); //! Gets the gather function for the given type - static TupleDataGatherFunction GetGatherFunction(const LogicalType &type, bool within_list = false); + static TupleDataGatherFunction GetGatherFunction(const LogicalType &type); //! Initializes an Append state - useful for optimizing many appends made to the same tuple data collection void InitializeAppend(TupleDataAppendState &append_state, @@ -168,15 +168,16 @@ class TupleDataCollection { //! Gathers a DataChunk from the TupleDataCollection, given the specific row locations (requires full pin) void Gather(Vector &row_locations, const SelectionVector &scan_sel, const idx_t scan_count, DataChunk &result, - const SelectionVector &target_sel) const; + const SelectionVector &target_sel, vector> &cached_cast_vectors) const; //! Gathers a DataChunk (only the columns given by column_ids) from the TupleDataCollection, //! given the specific row locations (requires full pin) void Gather(Vector &row_locations, const SelectionVector &scan_sel, const idx_t scan_count, - const vector &column_ids, DataChunk &result, const SelectionVector &target_sel) const; + const vector &column_ids, DataChunk &result, const SelectionVector &target_sel, + vector> &cached_cast_vectors) const; //! Gathers a Vector (from the given column id) from the TupleDataCollection //! given the specific row locations (requires full pin) void Gather(Vector &row_locations, const SelectionVector &sel, const idx_t scan_count, const column_t column_id, - Vector &result, const SelectionVector &target_sel) const; + Vector &result, const SelectionVector &target_sel, optional_ptr cached_cast_vector) const; //! Converts this TupleDataCollection to a string representation string ToString(); @@ -198,27 +199,30 @@ class TupleDataCollection { static void ComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, TupleDataVectorFormat &source, const SelectionVector &append_sel, const idx_t append_count); //! Computes the heap sizes for the specific Vector that will be appended (within a list) - static void WithinListHeapComputeSizes(Vector &heap_sizes_v, const Vector &source_v, - TupleDataVectorFormat &source_format, const SelectionVector &append_sel, - const idx_t append_count, const UnifiedVectorFormat &list_data); - //! Computes the heap sizes for the fixed-size type Vector that will be appended (within a list) - static void ComputeFixedWithinListHeapSizes(Vector &heap_sizes_v, const Vector &source_v, - TupleDataVectorFormat &source_format, const SelectionVector &append_sel, - const idx_t append_count, const UnifiedVectorFormat &list_data); - //! Computes the heap sizes for the string Vector that will be appended (within a list) - static void StringWithinListComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, + static void WithinCollectionComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, TupleDataVectorFormat &source_format, const SelectionVector &append_sel, const idx_t append_count, const UnifiedVectorFormat &list_data); + //! Computes the heap sizes for the fixed-size type Vector that will be appended (within a list) + static void ComputeFixedWithinCollectionHeapSizes(Vector &heap_sizes_v, const Vector &source_v, + TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, const idx_t append_count, + const UnifiedVectorFormat &list_data); + //! Computes the heap sizes for the string Vector that will be appended (within a list) + static void StringWithinCollectionComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, + TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, const idx_t append_count, + const UnifiedVectorFormat &list_data); //! Computes the heap sizes for the struct Vector that will be appended (within a list) - static void StructWithinListComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, - TupleDataVectorFormat &source_format, - const SelectionVector &append_sel, const idx_t append_count, - const UnifiedVectorFormat &list_data); + static void StructWithinCollectionComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, + TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, const idx_t append_count, + const UnifiedVectorFormat &list_data); //! Computes the heap sizes for the list Vector that will be appended (within a list) - static void ListWithinListComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, - TupleDataVectorFormat &source_format, const SelectionVector &append_sel, - const idx_t append_count, const UnifiedVectorFormat &list_data); + static void CollectionWithinCollectionComputeHeapSizes(Vector &heap_sizes_v, const Vector &source_v, + TupleDataVectorFormat &source_format, + const SelectionVector &append_sel, const idx_t append_count, + const UnifiedVectorFormat &list_data); //! Get the next segment/chunk index for the scan bool NextScanIndex(TupleDataScanState &scan_state, idx_t &segment_index, idx_t &chunk_index); diff --git a/src/include/duckdb/common/types/row/tuple_data_states.hpp b/src/include/duckdb/common/types/row/tuple_data_states.hpp index 6d29d36c8b81..c3923f085769 100644 --- a/src/include/duckdb/common/types/row/tuple_data_states.hpp +++ b/src/include/duckdb/common/types/row/tuple_data_states.hpp @@ -11,6 +11,7 @@ #include "duckdb/common/mutex.hpp" #include "duckdb/common/perfect_map_set.hpp" #include "duckdb/common/types.hpp" +#include "duckdb/common/types/vector_cache.hpp" namespace duckdb { @@ -45,6 +46,9 @@ struct TupleDataVectorFormat { UnifiedVectorFormat unified; vector children; unique_ptr combined_list_data; + + // Optional: only used for ArrayVector to fake being a list vector + unique_array array_list_entries; }; struct TupleDataChunkState { @@ -54,6 +58,9 @@ struct TupleDataChunkState { Vector row_locations = Vector(LogicalType::POINTER); Vector heap_locations = Vector(LogicalType::POINTER); Vector heap_sizes = Vector(LogicalType::UBIGINT); + + vector> cached_cast_vectors; + vector> cached_cast_vector_cache; }; struct TupleDataAppendState { diff --git a/src/include/duckdb/common/types/string_type.hpp b/src/include/duckdb/common/types/string_type.hpp index 5cec0eea443f..d6ab2c4bd7bf 100644 --- a/src/include/duckdb/common/types/string_type.hpp +++ b/src/include/duckdb/common/types/string_type.hpp @@ -80,17 +80,21 @@ struct string_t { } const char *GetPrefix() const { - return value.pointer.prefix; + return value.inlined.inlined; } char *GetPrefixWriteable() const { - return (char *)value.pointer.prefix; + return (char *)value.inlined.inlined; } idx_t GetSize() const { return value.inlined.length; } + bool Empty() const { + return value.inlined.length == 0; + } + string GetString() const { return string(GetData(), GetSize()); } @@ -113,9 +117,7 @@ struct string_t { // set trailing NULL byte if (GetSize() <= INLINE_LENGTH) { // fill prefix with zeros if the length is smaller than the prefix length - for (idx_t i = GetSize(); i < INLINE_BYTES; i++) { - value.inlined.inlined[i] = '\0'; - } + memset(value.inlined.inlined + GetSize(), 0, INLINE_BYTES - GetSize()); } else { // copy the data into the prefix #ifndef DUCKDB_DEBUG_NO_INLINE diff --git a/src/include/duckdb/common/types/time.hpp b/src/include/duckdb/common/types/time.hpp index c19f2a014959..e8cee119a220 100644 --- a/src/include/duckdb/common/types/time.hpp +++ b/src/include/duckdb/common/types/time.hpp @@ -27,8 +27,9 @@ class Time { DUCKDB_API static bool TryConvertTime(const char *buf, idx_t len, idx_t &pos, dtime_t &result, bool strict = false); DUCKDB_API static bool TryConvertTimeTZ(const char *buf, idx_t len, idx_t &pos, dtime_tz_t &result, bool strict = false); - //! Format is ±[HH]HH[:MM[:SS]] - DUCKDB_API static bool TryParseUTCOffset(const char *str, idx_t &pos, idx_t len, int32_t &offset); + // No hour limit + DUCKDB_API static bool TryConvertInterval(const char *buf, idx_t len, idx_t &pos, dtime_t &result, + bool strict = false); //! Convert a time object to a string in the format "hh:mm:ss" DUCKDB_API static string ToString(dtime_t time); @@ -37,6 +38,9 @@ class Time { DUCKDB_API static dtime_t FromTime(int32_t hour, int32_t minute, int32_t second, int32_t microseconds = 0); + //! Normalize a TIME_TZ by adding the offset to the time part and returning the TIME + DUCKDB_API static dtime_t NormalizeTimeTZ(dtime_tz_t timetz); + //! Extract the time from a given timestamp object DUCKDB_API static void Convert(dtime_t time, int32_t &out_hour, int32_t &out_min, int32_t &out_sec, int32_t &out_micros); diff --git a/src/include/duckdb/common/types/timestamp.hpp b/src/include/duckdb/common/types/timestamp.hpp index 0bb5101a42f0..0d0851fa3a93 100644 --- a/src/include/duckdb/common/types/timestamp.hpp +++ b/src/include/duckdb/common/types/timestamp.hpp @@ -20,6 +20,7 @@ namespace duckdb { struct date_t; struct dtime_t; +struct dtime_tz_t; //! Type used to represent timestamps (seconds,microseconds,milliseconds or nanoseconds since 1970-01-01) struct timestamp_t { // NOLINT @@ -117,6 +118,7 @@ class Timestamp { //! Create a Timestamp object from a specified (date, time) combination DUCKDB_API static timestamp_t FromDatetime(date_t date, dtime_t time); DUCKDB_API static bool TryFromDatetime(date_t date, dtime_t time, timestamp_t &result); + DUCKDB_API static bool TryFromDatetime(date_t date, dtime_tz_t timetz, timestamp_t &result); //! Is the character a valid part of a time zone name? static inline bool CharacterIsTimeZone(char c) { diff --git a/src/include/duckdb/common/types/uhugeint.hpp b/src/include/duckdb/common/types/uhugeint.hpp new file mode 100644 index 000000000000..335feef79d81 --- /dev/null +++ b/src/include/duckdb/common/types/uhugeint.hpp @@ -0,0 +1,216 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/common/types/uhugeint.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/types.hpp" +#include "duckdb/common/type_util.hpp" +#include "duckdb/common/limits.hpp" +#include "duckdb/common/exception.hpp" +#include "duckdb/common/uhugeint.hpp" + +namespace duckdb { + +//! The uhugeint class contains static operations for the UINT128 type +class Uhugeint { +public: + //! Convert a uhugeint object to a string + static string ToString(uhugeint_t input); + + template + DUCKDB_API static bool TryCast(uhugeint_t input, T &result); + + template + static T Cast(uhugeint_t input) { + T result = 0; + TryCast(input, result); + return result; + } + + template + static bool TryConvert(T value, uhugeint_t &result); + + template + static uhugeint_t Convert(T value) { + uhugeint_t result; + if (!TryConvert(value, result)) { // LCOV_EXCL_START + throw OutOfRangeException(double(value), GetTypeId(), GetTypeId()); + } // LCOV_EXCL_STOP + return result; + } + + static bool TryNegate(uhugeint_t input, uhugeint_t &result); + + // "The negative of an unsigned quantity is computed by subtracting its value from 2^n, where n is the number of + // bits in the promoted operand." + template + inline static void NegateInPlace(uhugeint_t &input) { + if (!TryNegate(input, input)) { + throw OutOfRangeException("UHUGEINT is out of range"); + } + } + + template + inline static uhugeint_t Negate(uhugeint_t input) { + NegateInPlace(input); + return input; + } + + static bool TryMultiply(uhugeint_t lhs, uhugeint_t rhs, uhugeint_t &result); + + template + inline static uhugeint_t Multiply(uhugeint_t lhs, uhugeint_t rhs) { + uhugeint_t result; + if (!TryMultiply(lhs, rhs, result)) { + throw OutOfRangeException("Overflow in UHUGEINT multiplication!: %s + %s", lhs.ToString(), rhs.ToString()); + } + return result; + } + + static bool TryDivMod(uhugeint_t lhs, uhugeint_t rhs, uhugeint_t &result, uhugeint_t &remainder); + + template + inline static uhugeint_t Divide(uhugeint_t lhs, uhugeint_t rhs) { + // division between two same-size unsigned intergers can only go wrong with division by zero + if (rhs == 0) { + throw OutOfRangeException("Division of UHUGEINT by zero!"); + } + return Divide(lhs, rhs); + } + + template + inline static uhugeint_t Modulo(uhugeint_t lhs, uhugeint_t rhs) { + if (rhs == 0) { + throw OutOfRangeException("Modulo of UHUGEINT by zero!"); + } + return Modulo(lhs, rhs); + } + + static bool TryAddInPlace(uhugeint_t &lhs, uhugeint_t rhs); + + template + inline static uhugeint_t Add(uhugeint_t lhs, uhugeint_t rhs) { + if (!TryAddInPlace(lhs, rhs)) { + throw OutOfRangeException("Overflow in UHUGEINT addition: %s + %s", lhs.ToString(), rhs.ToString()); + } + return lhs; + } + + static bool TrySubtractInPlace(uhugeint_t &lhs, uhugeint_t rhs); + + template + inline static uhugeint_t Subtract(uhugeint_t lhs, uhugeint_t rhs) { + if (!TrySubtractInPlace(lhs, rhs)) { + throw OutOfRangeException("Underflow in HUGEINT addition: %s - %s", lhs.ToString(), rhs.ToString()); + } + return lhs; + } + + // DivMod -> returns the result of the division (lhs / rhs), and fills up the remainder + static uhugeint_t DivMod(uhugeint_t lhs, uhugeint_t rhs, uhugeint_t &remainder); + + static int Sign(hugeint_t n); + static hugeint_t Abs(hugeint_t n); + + // comparison operators + // note that everywhere here we intentionally use bitwise ops + // this is because they seem to be consistently much faster (benchmarked on a Macbook Pro) + static bool Equals(uhugeint_t lhs, uhugeint_t rhs) { + int lower_equals = lhs.lower == rhs.lower; + int upper_equals = lhs.upper == rhs.upper; + return lower_equals & upper_equals; + } + + static bool NotEquals(uhugeint_t lhs, uhugeint_t rhs) { + int lower_not_equals = lhs.lower != rhs.lower; + int upper_not_equals = lhs.upper != rhs.upper; + return lower_not_equals | upper_not_equals; + } + + static bool GreaterThan(uhugeint_t lhs, uhugeint_t rhs) { + int upper_bigger = lhs.upper > rhs.upper; + int upper_equal = lhs.upper == rhs.upper; + int lower_bigger = lhs.lower > rhs.lower; + return upper_bigger | (upper_equal & lower_bigger); + } + + static bool GreaterThanEquals(uhugeint_t lhs, uhugeint_t rhs) { + int upper_bigger = lhs.upper > rhs.upper; + int upper_equal = lhs.upper == rhs.upper; + int lower_bigger_equals = lhs.lower >= rhs.lower; + return upper_bigger | (upper_equal & lower_bigger_equals); + } + + static bool LessThan(uhugeint_t lhs, uhugeint_t rhs) { + int upper_smaller = lhs.upper < rhs.upper; + int upper_equal = lhs.upper == rhs.upper; + int lower_smaller = lhs.lower < rhs.lower; + return upper_smaller | (upper_equal & lower_smaller); + } + + static bool LessThanEquals(uhugeint_t lhs, uhugeint_t rhs) { + int upper_smaller = lhs.upper < rhs.upper; + int upper_equal = lhs.upper == rhs.upper; + int lower_smaller_equals = lhs.lower <= rhs.lower; + return upper_smaller | (upper_equal & lower_smaller_equals); + } + + static const uhugeint_t POWERS_OF_TEN[40]; +}; + +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, int8_t &result); +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, int16_t &result); +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, int32_t &result); +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, int64_t &result); +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, uint8_t &result); +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, uint16_t &result); +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, uint32_t &result); +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, uint64_t &result); +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, hugeint_t &result); +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, uhugeint_t &result); +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, float &result); +template <> +DUCKDB_API bool Uhugeint::TryCast(uhugeint_t input, double &result); + +template <> +bool Uhugeint::TryConvert(int8_t value, uhugeint_t &result); +template <> +bool Uhugeint::TryConvert(int16_t value, uhugeint_t &result); +template <> +bool Uhugeint::TryConvert(int32_t value, uhugeint_t &result); +template <> +bool Uhugeint::TryConvert(int64_t value, uhugeint_t &result); +template <> +bool Uhugeint::TryConvert(uint8_t value, uhugeint_t &result); +template <> +bool Uhugeint::TryConvert(uint16_t value, uhugeint_t &result); +template <> +bool Uhugeint::TryConvert(uint32_t value, uhugeint_t &result); +template <> +bool Uhugeint::TryConvert(uint64_t value, uhugeint_t &result); +template <> +bool Uhugeint::TryConvert(float value, uhugeint_t &result); +template <> +bool Uhugeint::TryConvert(double value, uhugeint_t &result); +template <> +bool Uhugeint::TryConvert(long double value, uhugeint_t &result); +template <> +bool Uhugeint::TryConvert(const char *value, uhugeint_t &result); + +} // namespace duckdb diff --git a/src/include/duckdb/common/types/validity_mask.hpp b/src/include/duckdb/common/types/validity_mask.hpp index d23c862ce2a6..b7dd548cf68a 100644 --- a/src/include/duckdb/common/types/validity_mask.hpp +++ b/src/include/duckdb/common/types/validity_mask.hpp @@ -65,12 +65,11 @@ struct TemplatedValidityMask { static constexpr const int STANDARD_MASK_SIZE = STANDARD_ENTRY_COUNT * sizeof(validity_t); public: - inline TemplatedValidityMask() : validity_mask(nullptr) { + inline TemplatedValidityMask() : validity_mask(nullptr), target_count(STANDARD_VECTOR_SIZE) { } - inline explicit TemplatedValidityMask(idx_t max_count) { - Initialize(max_count); + inline explicit TemplatedValidityMask(idx_t target_count) : validity_mask(nullptr), target_count(target_count) { } - inline explicit TemplatedValidityMask(V *ptr) : validity_mask(ptr) { + inline explicit TemplatedValidityMask(V *ptr) : validity_mask(ptr), target_count(STANDARD_VECTOR_SIZE) { } inline TemplatedValidityMask(const TemplatedValidityMask &original, idx_t count) { Copy(original, count); @@ -136,9 +135,10 @@ struct TemplatedValidityMask { inline V *GetData() const { return validity_mask; } - inline void Reset() { + inline void Reset(idx_t target_count_p = STANDARD_VECTOR_SIZE) { validity_mask = nullptr; validity_data.reset(); + target_count = target_count_p; } static inline idx_t EntryCount(idx_t count) { @@ -229,8 +229,8 @@ struct TemplatedValidityMask { //! Marks the entry at the specified row index as invalid (i.e. null) inline void SetInvalid(idx_t row_idx) { if (!validity_mask) { - D_ASSERT(row_idx <= STANDARD_VECTOR_SIZE); - Initialize(STANDARD_VECTOR_SIZE); + D_ASSERT(row_idx <= target_count); + Initialize(target_count); } SetInvalidUnsafe(row_idx); } @@ -295,12 +295,18 @@ struct TemplatedValidityMask { inline void Initialize(const TemplatedValidityMask &other) { validity_mask = other.validity_mask; validity_data = other.validity_data; + target_count = other.target_count; } - inline void Initialize(idx_t count = STANDARD_VECTOR_SIZE) { + inline void Initialize(idx_t count) { + target_count = count; validity_data = make_buffer(count); validity_mask = validity_data->owned_data.get(); } + inline void Initialize() { + Initialize(target_count); + } inline void Copy(const TemplatedValidityMask &other, idx_t count) { + target_count = count; if (other.AllValid()) { validity_data = nullptr; validity_mask = nullptr; @@ -313,13 +319,15 @@ struct TemplatedValidityMask { protected: V *validity_mask; buffer_ptr validity_data; + // The size to initialize the validity mask to when/if the mask is lazily initialized + idx_t target_count; }; struct ValidityMask : public TemplatedValidityMask { public: inline ValidityMask() : TemplatedValidityMask(nullptr) { } - inline explicit ValidityMask(idx_t max_count) : TemplatedValidityMask(max_count) { + inline explicit ValidityMask(idx_t target_count) : TemplatedValidityMask(target_count) { } inline explicit ValidityMask(validity_t *ptr) : TemplatedValidityMask(ptr) { } @@ -328,7 +336,7 @@ struct ValidityMask : public TemplatedValidityMask { public: DUCKDB_API void Resize(idx_t old_size, idx_t new_size); - + DUCKDB_API idx_t TargetCount(); DUCKDB_API void SliceInPlace(const ValidityMask &other, idx_t target_offset, idx_t source_offset, idx_t count); DUCKDB_API void Slice(const ValidityMask &other, idx_t source_offset, idx_t count); DUCKDB_API void Combine(const ValidityMask &other, idx_t count); diff --git a/src/include/duckdb/common/types/value.hpp b/src/include/duckdb/common/types/value.hpp index 1d7481691637..fd1f9181161a 100644 --- a/src/include/duckdb/common/types/value.hpp +++ b/src/include/duckdb/common/types/value.hpp @@ -11,6 +11,7 @@ #include "duckdb/common/common.hpp" #include "duckdb/common/exception.hpp" #include "duckdb/common/types.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/winapi.hpp" #include "duckdb/common/types/timestamp.hpp" #include "duckdb/common/types/date.hpp" @@ -30,6 +31,7 @@ class Value { friend struct StructValue; friend struct ListValue; friend struct UnionValue; + friend struct ArrayValue; public: //! Create an empty NULL value of the specified type @@ -83,6 +85,7 @@ class Value { //! Create a Numeric value of the specified type with the specified value DUCKDB_API static Value Numeric(const LogicalType &type, int64_t value); DUCKDB_API static Value Numeric(const LogicalType &type, hugeint_t value); + DUCKDB_API static Value Numeric(const LogicalType &type, uhugeint_t value); //! Create a tinyint Value from a specified value DUCKDB_API static Value BOOLEAN(int8_t value); @@ -104,6 +107,8 @@ class Value { DUCKDB_API static Value UBIGINT(uint64_t value); //! Create a hugeint Value from a specified value DUCKDB_API static Value HUGEINT(hugeint_t value); + //! Create a uhugeint Value from a specified value + DUCKDB_API static Value UHUGEINT(uhugeint_t value); //! Create a uuid Value from a specified value DUCKDB_API static Value UUID(const string &value); //! Create a uuid Value from a specified value @@ -149,6 +154,7 @@ class Value { DUCKDB_API static Value DOUBLE(double value); //! Create a struct value with given list of entries DUCKDB_API static Value STRUCT(child_list_t values); + DUCKDB_API static Value STRUCT(const LogicalType &type, vector struct_values); //! Create a list value with the given entries, list type is inferred from children //! Cannot be called with an empty list, use either EMPTYLIST or LIST with a type instead DUCKDB_API static Value LIST(vector values); @@ -156,8 +162,18 @@ class Value { DUCKDB_API static Value LIST(const LogicalType &child_type, vector values); //! Create an empty list with the specified child-type DUCKDB_API static Value EMPTYLIST(const LogicalType &child_type); + //! Create an array value with the given entries. Array type is inferred from children + //! Cannot be called with an empty list, use either EMPTYARRAY or ARRAY with a type instead + DUCKDB_API static Value ARRAY(vector values); + // Create an array value with the given entries + DUCKDB_API static Value ARRAY(const LogicalType &type, vector values); + //! Create an empty array of the given type and size + DUCKDB_API static Value EMPTYARRAY(const LogicalType &type, uint32_t size); //! Create a map value with the given entries DUCKDB_API static Value MAP(const LogicalType &child_type, vector values); + //! Create a map value with the given entries + DUCKDB_API static Value MAP(const LogicalType &key_type, const LogicalType &value_type, vector keys, + vector values); //! Create a union value from a selected value and a tag from a set of alternatives. DUCKDB_API static Value UNION(child_list_t members, uint8_t tag, Value value); @@ -292,6 +308,7 @@ class Value { uint32_t uinteger; uint64_t ubigint; hugeint_t hugeint; + uhugeint_t uhugeint; float float_; // NOLINT double double_; // NOLINT uintptr_t pointer; @@ -355,6 +372,10 @@ struct UBigIntValue { DUCKDB_API static uint64_t Get(const Value &value); }; +struct UhugeIntValue { + DUCKDB_API static uhugeint_t Get(const Value &value); +}; + struct FloatValue { DUCKDB_API static float Get(const Value &value); }; @@ -391,6 +412,10 @@ struct ListValue { DUCKDB_API static const vector &GetChildren(const Value &value); }; +struct ArrayValue { + DUCKDB_API static const vector &GetChildren(const Value &value); +}; + struct UnionValue { DUCKDB_API static const Value &GetValue(const Value &value); DUCKDB_API static uint8_t GetTag(const Value &value); @@ -424,6 +449,8 @@ Value DUCKDB_API Value::CreateValue(int64_t value); template <> Value DUCKDB_API Value::CreateValue(hugeint_t value); template <> +Value DUCKDB_API Value::CreateValue(uhugeint_t value); +template <> Value DUCKDB_API Value::CreateValue(date_t value); template <> Value DUCKDB_API Value::CreateValue(dtime_t value); @@ -475,6 +502,8 @@ DUCKDB_API uint64_t Value::GetValue() const; template <> DUCKDB_API hugeint_t Value::GetValue() const; template <> +DUCKDB_API uhugeint_t Value::GetValue() const; +template <> DUCKDB_API string Value::GetValue() const; template <> DUCKDB_API float Value::GetValue() const; @@ -504,6 +533,8 @@ DUCKDB_API int64_t Value::GetValueUnsafe() const; template <> DUCKDB_API hugeint_t Value::GetValueUnsafe() const; template <> +DUCKDB_API uhugeint_t Value::GetValueUnsafe() const; +template <> DUCKDB_API uint8_t Value::GetValueUnsafe() const; template <> DUCKDB_API uint16_t Value::GetValueUnsafe() const; diff --git a/src/include/duckdb/common/types/vector.hpp b/src/include/duckdb/common/types/vector.hpp index 2ef4de986d3c..51644515761f 100644 --- a/src/include/duckdb/common/types/vector.hpp +++ b/src/include/duckdb/common/types/vector.hpp @@ -38,6 +38,7 @@ struct UnifiedVectorFormat { struct RecursiveUnifiedVectorFormat { UnifiedVectorFormat unified; vector children; + LogicalType logical_type; }; class VectorCache; @@ -65,6 +66,7 @@ class Vector { friend struct StructVector; friend struct UnionVector; friend struct SequenceVector; + friend struct ArrayVector; friend class DataChunk; friend class VectorCacheBuffer; @@ -116,9 +118,9 @@ class Vector { DUCKDB_API void ResetFromCache(const VectorCache &cache); //! Creates a reference to a slice of the other vector - DUCKDB_API void Slice(Vector &other, idx_t offset, idx_t end); + DUCKDB_API void Slice(const Vector &other, idx_t offset, idx_t end); //! Creates a reference to a slice of the other vector - DUCKDB_API void Slice(Vector &other, const SelectionVector &sel, idx_t count); + DUCKDB_API void Slice(const Vector &other, const SelectionVector &sel, idx_t count); //! Turns the vector into a dictionary vector with the specified dictionary DUCKDB_API void Slice(const SelectionVector &sel, idx_t count); //! Slice the vector, keeping the result around in a cache or potentially using the cache instead of slicing @@ -170,6 +172,11 @@ class Vector { auxiliary = std::move(new_buffer); }; + inline void CopyBuffer(Vector &other) { + buffer = other.buffer; + data = other.data; + } + //! This functions resizes the vector DUCKDB_API void Resize(idx_t cur_size, idx_t new_size); @@ -447,6 +454,15 @@ struct StructVector { DUCKDB_API static vector> &GetEntries(Vector &vector); }; +struct ArrayVector { + //! Gets a reference to the underlying child-vector of an array + DUCKDB_API static const Vector &GetEntry(const Vector &vector); + //! Gets a reference to the underlying child-vector of an array + DUCKDB_API static Vector &GetEntry(Vector &vector); + //! Gets the total size of the underlying child-vector of an array + DUCKDB_API static idx_t GetTotalSize(const Vector &vector); +}; + enum class UnionInvalidReason : uint8_t { VALID, TAG_OUT_OF_RANGE, diff --git a/src/include/duckdb/common/types/vector_buffer.hpp b/src/include/duckdb/common/types/vector_buffer.hpp index 94341102bdaa..3459b7c52572 100644 --- a/src/include/duckdb/common/types/vector_buffer.hpp +++ b/src/include/duckdb/common/types/vector_buffer.hpp @@ -29,7 +29,8 @@ enum class VectorBufferType : uint8_t { STRUCT_BUFFER, // struct buffer, holds a ordered mapping from name to child vector LIST_BUFFER, // list buffer, holds a single flatvector child MANAGED_BUFFER, // managed buffer, holds a buffer managed by the buffermanager - OPAQUE_BUFFER // opaque buffer, can be created for example by the parquet reader + OPAQUE_BUFFER, // opaque buffer, can be created for example by the parquet reader + ARRAY_BUFFER // array buffer, holds a single flatvector child }; enum class VectorAuxiliaryDataType : uint8_t { @@ -271,6 +272,26 @@ class VectorListBuffer : public VectorBuffer { idx_t size = 0; }; +class VectorArrayBuffer : public VectorBuffer { +public: + explicit VectorArrayBuffer(unique_ptr child_vector, idx_t array_size, idx_t initial_capacity); + explicit VectorArrayBuffer(const LogicalType &array, idx_t initial = STANDARD_VECTOR_SIZE); + ~VectorArrayBuffer() override; + +public: + Vector &GetChild(); + idx_t GetArraySize(); + idx_t GetChildSize(); + +private: + unique_ptr child; + // The size of each array in this buffer + idx_t array_size = 0; + // How many arrays are currently stored in this buffer + // The child vector has size (array_size * size) + idx_t size = 0; +}; + //! The ManagedVectorBuffer holds a buffer handle class ManagedVectorBuffer : public VectorBuffer { public: diff --git a/src/include/duckdb/common/uhugeint.hpp b/src/include/duckdb/common/uhugeint.hpp new file mode 100644 index 000000000000..fdb1e9319125 --- /dev/null +++ b/src/include/duckdb/common/uhugeint.hpp @@ -0,0 +1,81 @@ +#pragma once + +#include "duckdb/common/winapi.hpp" +#include "duckdb/common/string.hpp" +#include + +namespace duckdb { + +// Forward declaration to allow conversion between hugeint and uhugeint +struct hugeint_t; + +struct uhugeint_t { +public: + uint64_t lower; + uint64_t upper; + +public: + uhugeint_t() = default; + DUCKDB_API uhugeint_t(uint64_t value); // NOLINT: Allow implicit conversion from `uint64_t` + constexpr uhugeint_t(uint64_t upper, uint64_t lower) : lower(lower), upper(upper) { + } + constexpr uhugeint_t(const uhugeint_t &rhs) = default; + constexpr uhugeint_t(uhugeint_t &&rhs) = default; + uhugeint_t &operator=(const uhugeint_t &rhs) = default; + uhugeint_t &operator=(uhugeint_t &&rhs) = default; + + DUCKDB_API string ToString() const; + + // comparison operators + DUCKDB_API bool operator==(const uhugeint_t &rhs) const; + DUCKDB_API bool operator!=(const uhugeint_t &rhs) const; + DUCKDB_API bool operator<=(const uhugeint_t &rhs) const; + DUCKDB_API bool operator<(const uhugeint_t &rhs) const; + DUCKDB_API bool operator>(const uhugeint_t &rhs) const; + DUCKDB_API bool operator>=(const uhugeint_t &rhs) const; + + // arithmetic operators + DUCKDB_API uhugeint_t operator+(const uhugeint_t &rhs) const; + DUCKDB_API uhugeint_t operator-(const uhugeint_t &rhs) const; + DUCKDB_API uhugeint_t operator*(const uhugeint_t &rhs) const; + DUCKDB_API uhugeint_t operator/(const uhugeint_t &rhs) const; + DUCKDB_API uhugeint_t operator%(const uhugeint_t &rhs) const; + DUCKDB_API uhugeint_t operator-() const; + + // bitwise operators + DUCKDB_API uhugeint_t operator>>(const uhugeint_t &rhs) const; + DUCKDB_API uhugeint_t operator<<(const uhugeint_t &rhs) const; + DUCKDB_API uhugeint_t operator&(const uhugeint_t &rhs) const; + DUCKDB_API uhugeint_t operator|(const uhugeint_t &rhs) const; + DUCKDB_API uhugeint_t operator^(const uhugeint_t &rhs) const; + DUCKDB_API uhugeint_t operator~() const; + + // in-place operators + DUCKDB_API uhugeint_t &operator+=(const uhugeint_t &rhs); + DUCKDB_API uhugeint_t &operator-=(const uhugeint_t &rhs); + DUCKDB_API uhugeint_t &operator*=(const uhugeint_t &rhs); + DUCKDB_API uhugeint_t &operator/=(const uhugeint_t &rhs); + DUCKDB_API uhugeint_t &operator%=(const uhugeint_t &rhs); + DUCKDB_API uhugeint_t &operator>>=(const uhugeint_t &rhs); + DUCKDB_API uhugeint_t &operator<<=(const uhugeint_t &rhs); + DUCKDB_API uhugeint_t &operator&=(const uhugeint_t &rhs); + DUCKDB_API uhugeint_t &operator|=(const uhugeint_t &rhs); + DUCKDB_API uhugeint_t &operator^=(const uhugeint_t &rhs); + + // boolean operators + DUCKDB_API explicit operator bool() const; + DUCKDB_API bool operator!() const; + + // cast operators -- doesn't check bounds/overflow/underflow + DUCKDB_API explicit operator uint8_t() const; + DUCKDB_API explicit operator uint16_t() const; + DUCKDB_API explicit operator uint32_t() const; + DUCKDB_API explicit operator uint64_t() const; + DUCKDB_API explicit operator int8_t() const; + DUCKDB_API explicit operator int16_t() const; + DUCKDB_API explicit operator int32_t() const; + DUCKDB_API explicit operator int64_t() const; + DUCKDB_API operator hugeint_t() const; // NOLINT: Allow implicit conversion from `uhugeint_t` +}; + +} // namespace duckdb diff --git a/src/include/duckdb/common/vector_operations/aggregate_executor.hpp b/src/include/duckdb/common/vector_operations/aggregate_executor.hpp index 4a80ac81942c..312dd0655801 100644 --- a/src/include/duckdb/common/vector_operations/aggregate_executor.hpp +++ b/src/include/duckdb/common/vector_operations/aggregate_executor.hpp @@ -17,6 +17,8 @@ namespace duckdb { // structs struct AggregateInputData; + +// The bounds of a window frame struct FrameBounds { FrameBounds() : start(0), end(0) {}; FrameBounds(idx_t start, idx_t end) : start(start), end(end) {}; @@ -24,6 +26,9 @@ struct FrameBounds { idx_t end = 0; }; +// A set of window subframes for windowed EXCLUDE +using SubFrames = vector; + class AggregateExecutor { private: template @@ -383,14 +388,73 @@ class AggregateExecutor { } template - static void UnaryWindow(Vector &input, const ValidityMask &ifilter, AggregateInputData &aggr_input_data, - data_ptr_t state, const FrameBounds &frame, const FrameBounds &prev, Vector &result, - idx_t rid, idx_t bias) { + static void UnaryWindow(const Vector &input, const ValidityMask &ifilter, AggregateInputData &aggr_input_data, + data_ptr_t state_p, const SubFrames &frames, Vector &result, idx_t ridx, + const_data_ptr_t gstate_p) { - auto idata = FlatVector::GetData(input) - bias; + auto idata = FlatVector::GetData(input); const auto &ivalid = FlatVector::Validity(input); - OP::template Window( - idata, ifilter, ivalid, aggr_input_data, *reinterpret_cast(state), frame, prev, result, rid, bias); + auto &state = *reinterpret_cast(state_p); + auto gstate = reinterpret_cast(gstate_p); + OP::template Window(idata, ifilter, ivalid, aggr_input_data, state, frames, + result, ridx, gstate); + } + + template + static void IntersectFrames(const SubFrames &lefts, const SubFrames &rights, OP &op) { + const auto cover_start = MinValue(rights[0].start, lefts[0].start); + const auto cover_end = MaxValue(rights.back().end, lefts.back().end); + const FrameBounds last(cover_end, cover_end); + + // Subframe indices + idx_t l = 0; + idx_t r = 0; + for (auto i = cover_start; i < cover_end;) { + uint8_t overlap = 0; + + // Are we in the previous frame? + auto left = &last; + if (l < lefts.size()) { + left = &lefts[l]; + overlap |= uint8_t(left->start <= i && i < left->end) << 0; + } + + // Are we in the current frame? + auto right = &last; + if (r < rights.size()) { + right = &rights[r]; + overlap |= uint8_t(right->start <= i && i < right->end) << 1; + } + + auto limit = i; + switch (overlap) { + case 0x00: + // i ∉ F U P + limit = MinValue(right->start, left->start); + op.Neither(i, limit); + break; + case 0x01: + // i ∈ P \ F + limit = MinValue(left->end, right->start); + op.Left(i, limit); + break; + case 0x02: + // i ∈ F \ P + limit = MinValue(right->end, left->start); + op.Right(i, limit); + break; + case 0x03: + // i ∈ F ∩ P + limit = MinValue(right->end, left->end); + op.Both(i, limit); + break; + } + + // Advance the subframe indices + i = limit; + l += (i == left->end); + r += (i == right->end); + } } template diff --git a/src/include/duckdb/common/vector_size.hpp b/src/include/duckdb/common/vector_size.hpp index db28133a1d83..0fa29086b220 100644 --- a/src/include/duckdb/common/vector_size.hpp +++ b/src/include/duckdb/common/vector_size.hpp @@ -12,16 +12,16 @@ namespace duckdb { +//! The default standard vector size +#define DEFAULT_STANDARD_VECTOR_SIZE 2048 + //! The vector size used in the execution engine #ifndef STANDARD_VECTOR_SIZE -#define STANDARD_VECTOR_SIZE 2048 +#define STANDARD_VECTOR_SIZE DEFAULT_STANDARD_VECTOR_SIZE #endif -#if ((STANDARD_VECTOR_SIZE & (STANDARD_VECTOR_SIZE - 1)) != 0) -#error Vector size should be a power of two +#if (STANDARD_VECTOR_SIZE & (STANDARD_VECTOR_SIZE - 1) != 0) +#error The vector size must be a power of two #endif -//! Zero selection vector: completely filled with the value 0 [READ ONLY] -extern const sel_t ZERO_VECTOR[STANDARD_VECTOR_SIZE]; - } // namespace duckdb diff --git a/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp b/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp index 6a918578826c..0510f76a7a0d 100644 --- a/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +++ b/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp @@ -27,7 +27,7 @@ struct ApproxCountDistinctFun { struct ArgMinFun { static constexpr const char *Name = "arg_min"; static constexpr const char *Parameters = "arg,val"; - static constexpr const char *Description = "Finds the row with the minimum val. Calculates the arg expression at that row."; + static constexpr const char *Description = "Finds the row with the minimum val. Calculates the non-NULL arg expression at that row."; static constexpr const char *Example = "arg_min(A,B)"; static AggregateFunctionSet GetFunctions(); @@ -45,10 +45,19 @@ struct MinByFun { static constexpr const char *Name = "min_by"; }; +struct ArgMinNullFun { + static constexpr const char *Name = "arg_min_null"; + static constexpr const char *Parameters = "arg,val"; + static constexpr const char *Description = "Finds the row with the minimum val. Calculates the arg expression at that row."; + static constexpr const char *Example = "arg_min_null(A,B)"; + + static AggregateFunctionSet GetFunctions(); +}; + struct ArgMaxFun { static constexpr const char *Name = "arg_max"; static constexpr const char *Parameters = "arg,val"; - static constexpr const char *Description = "Finds the row with the maximum val. Calculates the arg expression at that row."; + static constexpr const char *Description = "Finds the row with the maximum val. Calculates the non-NULL arg expression at that row."; static constexpr const char *Example = "arg_max(A,B)"; static AggregateFunctionSet GetFunctions(); @@ -66,6 +75,15 @@ struct MaxByFun { static constexpr const char *Name = "max_by"; }; +struct ArgMaxNullFun { + static constexpr const char *Name = "arg_max_null"; + static constexpr const char *Parameters = "arg,val"; + static constexpr const char *Description = "Finds the row with the maximum val. Calculates the arg expression at that row."; + static constexpr const char *Example = "arg_max_null(A,B)"; + + static AggregateFunctionSet GetFunctions(); +}; + struct BitAndFun { static constexpr const char *Name = "bit_and"; static constexpr const char *Parameters = "arg"; @@ -159,6 +177,15 @@ struct KurtosisFun { static AggregateFunction GetFunction(); }; +struct KurtosisPopFun { + static constexpr const char *Name = "kurtosis_pop"; + static constexpr const char *Parameters = "x"; + static constexpr const char *Description = "Returns the excess kurtosis (Fisher’s definition) of all input values, without bias correction"; + static constexpr const char *Example = ""; + + static AggregateFunction GetFunction(); +}; + struct MinFun { static constexpr const char *Name = "min"; static constexpr const char *Parameters = "arg"; diff --git a/src/include/duckdb/core_functions/lambda_functions.hpp b/src/include/duckdb/core_functions/lambda_functions.hpp new file mode 100644 index 000000000000..f560bf4ba3c6 --- /dev/null +++ b/src/include/duckdb/core_functions/lambda_functions.hpp @@ -0,0 +1,131 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/core_functions/lambda_functions.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/function/function.hpp" +#include "duckdb/execution/expression_executor_state.hpp" +#include "duckdb/execution/expression_executor.hpp" + +#include "duckdb/planner/expression/bound_function_expression.hpp" +#include "duckdb/planner/expression/bound_cast_expression.hpp" + +namespace duckdb { + +struct ListLambdaBindData : public FunctionData { +public: + ListLambdaBindData(const LogicalType &return_type, unique_ptr lambda_expr, const bool has_index = false) + : return_type(return_type), lambda_expr(std::move(lambda_expr)), has_index(has_index) {}; + + //! Return type of the scalar function + LogicalType return_type; + //! Lambda expression that the expression executor executes + unique_ptr lambda_expr; + //! True, if the last parameter in a lambda parameter list represents the index of the current list element + bool has_index; + +public: + bool Equals(const FunctionData &other_p) const override; + unique_ptr Copy() const override; + + //! Serializes a lambda function's bind data + static void Serialize(Serializer &serializer, const optional_ptr bind_data_p, + const ScalarFunction &function); + //! Deserializes a lambda function's bind data + static unique_ptr Deserialize(Deserializer &deserializer, ScalarFunction &); +}; + +class LambdaFunctions { +public: + //! Returns the parameter type for binary lambdas + static LogicalType BindBinaryLambda(const idx_t parameter_idx, const LogicalType &list_child_type); + //! Returns the parameter type for ternary lambdas + static LogicalType BindTernaryLambda(const idx_t parameter_idx, const LogicalType &list_child_type); + + //! Checks for NULL list parameter and prepared statements and adds bound cast expression + static unique_ptr ListLambdaPrepareBind(vector> &arguments, + ClientContext &context, ScalarFunction &bound_function); + + //! Returns the ListLambdaBindData containing the lambda expression + static unique_ptr ListLambdaBind(ClientContext &, ScalarFunction &bound_function, + vector> &arguments, + const bool has_index = false); + + //! Internally executes list_transform + static void ListTransformFunction(DataChunk &args, ExpressionState &state, Vector &result); + //! Internally executes list_filter + static void ListFilterFunction(DataChunk &args, ExpressionState &state, Vector &result); + //! Internally executes list_reduce + static void ListReduceFunction(DataChunk &args, ExpressionState &state, Vector &result); + +public: + //! Lambda expressions can only be executed on one STANDARD_VECTOR_SIZE list child elements at a time, so for + //! list_transform and list_filter we need to prepare the input vectors for the lambda expression. In list_reduce + //! the input size can never exceed row_count so it doesn't need ColumnInfo. + struct ColumnInfo { + explicit ColumnInfo(Vector &vector) : vector(vector), sel(SelectionVector(STANDARD_VECTOR_SIZE)) {}; + + //! The original vector taken from args + reference vector; + //! The selection vector to slice the original vector + SelectionVector sel; + //! The unified vector format of the original vector + UnifiedVectorFormat format; + }; + + //! LambdaInfo sets up and stores the information needed by all lambda functions + struct LambdaInfo { + explicit LambdaInfo(DataChunk &args, ExpressionState &state, Vector &result, bool &result_is_null) + : result(result), row_count(args.size()), is_all_constant(args.AllConstant()) { + Vector &list_column = args.data[0]; + + result.SetVectorType(VectorType::FLAT_VECTOR); + result_validity = &FlatVector::Validity(result); + + if (list_column.GetType().id() == LogicalTypeId::SQLNULL) { + result_validity->SetInvalid(0); + result_is_null = true; + return; + } + + // get the lambda expression + auto &func_expr = state.expr.Cast(); + auto &bind_info = func_expr.bind_info->Cast(); + lambda_expr = bind_info.lambda_expr; + is_volatile = lambda_expr->IsVolatile(); + has_index = bind_info.has_index; + + // get the list column entries + list_column.ToUnifiedFormat(row_count, list_column_format); + list_entries = UnifiedVectorFormat::GetData(list_column_format); + + child_vector = &ListVector::GetEntry(list_column); + + // get the lambda column data for all other input vectors + column_infos = LambdaFunctions::GetColumnInfo(args, row_count); + }; + + const list_entry_t *list_entries; + UnifiedVectorFormat list_column_format; + optional_ptr child_vector; + Vector &result; + optional_ptr result_validity; + vector column_infos; + optional_ptr lambda_expr; + + const idx_t row_count; + bool has_index; + bool is_volatile; + const bool is_all_constant; + }; + + static vector GetColumnInfo(DataChunk &args, const idx_t row_count); + static vector> GetInconstantColumnInfo(vector &data); +}; + +} // namespace duckdb diff --git a/src/include/duckdb/core_functions/scalar/array_functions.hpp b/src/include/duckdb/core_functions/scalar/array_functions.hpp new file mode 100644 index 000000000000..1cc09970219e --- /dev/null +++ b/src/include/duckdb/core_functions/scalar/array_functions.hpp @@ -0,0 +1,69 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/core_functions/scalar/array_functions.hpp +// +// +//===----------------------------------------------------------------------===// +// This file is automatically generated by scripts/generate_functions.py +// Do not edit this file manually, your changes will be overwritten +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/function/function_set.hpp" + +namespace duckdb { + +struct ArrayValueFun { + static constexpr const char *Name = "array_value"; + static constexpr const char *Parameters = "any,..."; + static constexpr const char *Description = "Create an ARRAY containing the argument values."; + static constexpr const char *Example = "array_value(4, 5, 6)"; + + static ScalarFunction GetFunction(); +}; + +struct ArrayCrossProductFun { + static constexpr const char *Name = "array_cross_product"; + static constexpr const char *Parameters = "array, array"; + static constexpr const char *Description = "Compute the cross product of two arrays of size 3. The array elements can not be NULL."; + static constexpr const char *Example = "array_cross_product([1, 2, 3], [1, 2, 3])"; + + static ScalarFunctionSet GetFunctions(); +}; + +struct ArrayCosineSimilarityFun { + static constexpr const char *Name = "array_cosine_similarity"; + static constexpr const char *Parameters = "array1,array2"; + static constexpr const char *Description = "Compute the cosine similarity between two arrays of the same size. The array elements can not be NULL. The arrays can have any size as long as the size is the same for both arguments."; + static constexpr const char *Example = "array_cosine_similarity([1, 2, 3], [1, 2, 3])"; + + static ScalarFunctionSet GetFunctions(); +}; + +struct ArrayDistanceFun { + static constexpr const char *Name = "array_distance"; + static constexpr const char *Parameters = "array1,array2"; + static constexpr const char *Description = "Compute the distance between two arrays of the same size. The array elements can not be NULL. The arrays can have any size as long as the size is the same for both arguments."; + static constexpr const char *Example = "array_distance([1, 2, 3], [1, 2, 3])"; + + static ScalarFunctionSet GetFunctions(); +}; + +struct ArrayInnerProductFun { + static constexpr const char *Name = "array_inner_product"; + static constexpr const char *Parameters = "array1,array2"; + static constexpr const char *Description = "Compute the inner product between two arrays of the same size. The array elements can not be NULL. The arrays can have any size as long as the size is the same for both arguments."; + static constexpr const char *Example = "array_inner_product([1, 2, 3], [1, 2, 3])"; + + static ScalarFunctionSet GetFunctions(); +}; + +struct ArrayDotProductFun { + using ALIAS = ArrayInnerProductFun; + + static constexpr const char *Name = "array_dot_product"; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/core_functions/scalar/blob_functions.hpp b/src/include/duckdb/core_functions/scalar/blob_functions.hpp index 0b1c9483224d..29c4034f45f1 100644 --- a/src/include/duckdb/core_functions/scalar/blob_functions.hpp +++ b/src/include/duckdb/core_functions/scalar/blob_functions.hpp @@ -57,4 +57,13 @@ struct Base64Fun { static constexpr const char *Name = "base64"; }; +struct CreateSortKeyFun { + static constexpr const char *Name = "create_sort_key"; + static constexpr const char *Parameters = "parameters..."; + static constexpr const char *Description = "Constructs a binary-comparable sort key based on a set of input parameters and sort qualifiers"; + static constexpr const char *Example = "create_sort_key('A', 'DESC')"; + + static ScalarFunction GetFunction(); +}; + } // namespace duckdb diff --git a/src/include/duckdb/core_functions/scalar/date_functions.hpp b/src/include/duckdb/core_functions/scalar/date_functions.hpp index 1664e62bcde5..2074da5f0664 100644 --- a/src/include/duckdb/core_functions/scalar/date_functions.hpp +++ b/src/include/duckdb/core_functions/scalar/date_functions.hpp @@ -435,6 +435,15 @@ struct TimezoneMinuteFun { static ScalarFunctionSet GetFunctions(); }; +struct ToCenturiesFun { + static constexpr const char *Name = "to_centuries"; + static constexpr const char *Parameters = "integer"; + static constexpr const char *Description = "Construct a century interval"; + static constexpr const char *Example = "to_centuries(5)"; + + static ScalarFunction GetFunction(); +}; + struct ToDaysFun { static constexpr const char *Name = "to_days"; static constexpr const char *Parameters = "integer"; @@ -444,6 +453,15 @@ struct ToDaysFun { static ScalarFunction GetFunction(); }; +struct ToDecadesFun { + static constexpr const char *Name = "to_decades"; + static constexpr const char *Parameters = "integer"; + static constexpr const char *Description = "Construct a decade interval"; + static constexpr const char *Example = "to_decades(5)"; + + static ScalarFunction GetFunction(); +}; + struct ToHoursFun { static constexpr const char *Name = "to_hours"; static constexpr const char *Parameters = "integer"; @@ -462,11 +480,20 @@ struct ToMicrosecondsFun { static ScalarFunction GetFunction(); }; +struct ToMillenniaFun { + static constexpr const char *Name = "to_millennia"; + static constexpr const char *Parameters = "integer"; + static constexpr const char *Description = "Construct a millenium interval"; + static constexpr const char *Example = "to_millennia(1)"; + + static ScalarFunction GetFunction(); +}; + struct ToMillisecondsFun { static constexpr const char *Name = "to_milliseconds"; - static constexpr const char *Parameters = "integer"; + static constexpr const char *Parameters = "double"; static constexpr const char *Description = "Construct a millisecond interval"; - static constexpr const char *Example = "to_milliseconds(5)"; + static constexpr const char *Example = "to_milliseconds(5.5)"; static ScalarFunction GetFunction(); }; @@ -491,9 +518,9 @@ struct ToMonthsFun { struct ToSecondsFun { static constexpr const char *Name = "to_seconds"; - static constexpr const char *Parameters = "integer"; + static constexpr const char *Parameters = "double"; static constexpr const char *Description = "Construct a second interval"; - static constexpr const char *Example = "to_seconds(5)"; + static constexpr const char *Example = "to_seconds(5.5)"; static ScalarFunction GetFunction(); }; @@ -507,6 +534,15 @@ struct ToTimestampFun { static ScalarFunction GetFunction(); }; +struct ToWeeksFun { + static constexpr const char *Name = "to_weeks"; + static constexpr const char *Parameters = "integer"; + static constexpr const char *Description = "Construct a week interval"; + static constexpr const char *Example = "to_weeks(5)"; + + static ScalarFunction GetFunction(); +}; + struct ToYearsFun { static constexpr const char *Name = "to_years"; static constexpr const char *Parameters = "integer"; diff --git a/src/include/duckdb/core_functions/scalar/list_functions.hpp b/src/include/duckdb/core_functions/scalar/list_functions.hpp index c1f2dc3e2aaa..f37bce788f93 100644 --- a/src/include/duckdb/core_functions/scalar/list_functions.hpp +++ b/src/include/duckdb/core_functions/scalar/list_functions.hpp @@ -132,6 +132,27 @@ struct ArraySortFun { static constexpr const char *Name = "array_sort"; }; +struct ListGradeUpFun { + static constexpr const char *Name = "list_grade_up"; + static constexpr const char *Parameters = "list"; + static constexpr const char *Description = "Returns the index of their sorted position."; + static constexpr const char *Example = "list_grade_up([3, 6, 1, 2])"; + + static ScalarFunctionSet GetFunctions(); +}; + +struct ArrayGradeUpFun { + using ALIAS = ListGradeUpFun; + + static constexpr const char *Name = "array_grade_up"; +}; + +struct GradeUpFun { + using ALIAS = ListGradeUpFun; + + static constexpr const char *Name = "grade_up"; +}; + struct ListReverseSortFun { static constexpr const char *Name = "list_reverse_sort"; static constexpr const char *Parameters = "list"; @@ -201,6 +222,27 @@ struct FilterFun { static constexpr const char *Name = "filter"; }; +struct ListReduceFun { + static constexpr const char *Name = "list_reduce"; + static constexpr const char *Parameters = "list,lambda"; + static constexpr const char *Description = "Returns a single value that is the result of applying the lambda function to each element of the input list, starting with the first element and then repeatedly applying the lambda function to the result of the previous application and the next element of the list."; + static constexpr const char *Example = "list_reduce([1, 2, 3], (x, y) -> x + y)"; + + static ScalarFunction GetFunction(); +}; + +struct ArrayReduceFun { + using ALIAS = ListReduceFun; + + static constexpr const char *Name = "array_reduce"; +}; + +struct ReduceFun { + using ALIAS = ListReduceFun; + + static constexpr const char *Name = "reduce"; +}; + struct GenerateSeriesFun { static constexpr const char *Name = "generate_series"; static constexpr const char *Parameters = "start,stop,step"; diff --git a/src/include/duckdb/core_functions/scalar/secret_functions.hpp b/src/include/duckdb/core_functions/scalar/secret_functions.hpp new file mode 100644 index 000000000000..17e5614e0ac8 --- /dev/null +++ b/src/include/duckdb/core_functions/scalar/secret_functions.hpp @@ -0,0 +1,27 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/core_functions/scalar/secret_functions.hpp +// +// +//===----------------------------------------------------------------------===// +// This file is automatically generated by scripts/generate_functions.py +// Do not edit this file manually, your changes will be overwritten +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/function/function_set.hpp" + +namespace duckdb { + +struct WhichSecretFun { + static constexpr const char *Name = "which_secret"; + static constexpr const char *Parameters = "path,type"; + static constexpr const char *Description = "Print out the name of the secret that will be used for reading a path"; + static constexpr const char *Example = "which_secret('s3://some/authenticated/path.csv', 's3')"; + + static ScalarFunction GetFunction(); +}; + +} // namespace duckdb diff --git a/src/include/duckdb/core_functions/scalar/string_functions.hpp b/src/include/duckdb/core_functions/scalar/string_functions.hpp index 5cf6ab2d4baf..f9a60fcad7a6 100644 --- a/src/include/duckdb/core_functions/scalar/string_functions.hpp +++ b/src/include/duckdb/core_functions/scalar/string_functions.hpp @@ -93,16 +93,25 @@ struct FormatFun { struct FormatBytesFun { static constexpr const char *Name = "format_bytes"; static constexpr const char *Parameters = "bytes"; - static constexpr const char *Description = "Converts bytes to a human-readable presentation (e.g. 16000 -> 16KB)"; + static constexpr const char *Description = "Converts bytes to a human-readable presentation (e.g. 16000 -> 15.6 KiB)"; static constexpr const char *Example = "format_bytes(1000 * 16)"; static ScalarFunction GetFunction(); }; -struct FormatreadabledecimalsizeFun { +struct FormatreadablesizeFun { using ALIAS = FormatBytesFun; + static constexpr const char *Name = "formatReadableSize"; +}; + +struct FormatreadabledecimalsizeFun { static constexpr const char *Name = "formatReadableDecimalSize"; + static constexpr const char *Parameters = "bytes"; + static constexpr const char *Description = "Converts bytes to a human-readable presentation (e.g. 16000 -> 16.0 KB)"; + static constexpr const char *Example = "format_bytes(1000 * 16)"; + + static ScalarFunction GetFunction(); }; struct HammingFun { @@ -270,6 +279,42 @@ struct MD5NumberUpperFun { static ScalarFunction GetFunction(); }; +struct ParseDirnameFun { + static constexpr const char *Name = "parse_dirname"; + static constexpr const char *Parameters = "string,separator"; + static constexpr const char *Description = "Returns the top-level directory name. separator options: system, both_slash (default), forward_slash, backslash"; + static constexpr const char *Example = "parse_dirname('path/to/file.csv', 'system')"; + + static ScalarFunctionSet GetFunctions(); +}; + +struct ParseDirpathFun { + static constexpr const char *Name = "parse_dirpath"; + static constexpr const char *Parameters = "string,separator"; + static constexpr const char *Description = "Returns the head of the path similarly to Python's os.path.dirname. separator options: system, both_slash (default), forward_slash, backslash"; + static constexpr const char *Example = "parse_dirpath('path/to/file.csv', 'system')"; + + static ScalarFunctionSet GetFunctions(); +}; + +struct ParseFilenameFun { + static constexpr const char *Name = "parse_filename"; + static constexpr const char *Parameters = "string,trim_extension,separator"; + static constexpr const char *Description = "Returns the last component of the path similarly to Python's os.path.basename. If trim_extension is true, the file extension will be removed (it defaults to false). separator options: system, both_slash (default), forward_slash, backslash"; + static constexpr const char *Example = "parse_filename('path/to/file.csv', true, 'forward_slash')"; + + static ScalarFunctionSet GetFunctions(); +}; + +struct ParsePathFun { + static constexpr const char *Name = "parse_path"; + static constexpr const char *Parameters = "string,separator"; + static constexpr const char *Description = "Returns a list of the components (directories and filename) in the path similarly to Python's pathlib.PurePath::parts. separator options: system, both_slash (default), forward_slash, backslash"; + static constexpr const char *Example = "parse_path('path/to/file.csv', 'system')"; + + static ScalarFunctionSet GetFunctions(); +}; + struct PrintfFun { static constexpr const char *Name = "printf"; static constexpr const char *Parameters = "format,parameters..."; @@ -471,4 +516,13 @@ struct ToBaseFun { static ScalarFunctionSet GetFunctions(); }; +struct RegexpEscapeFun { + static constexpr const char *Name = "regexp_escape"; + static constexpr const char *Parameters = "string"; + static constexpr const char *Description = "Escapes all potentially meaningful regexp characters in the input string"; + static constexpr const char *Example = "regexp_escape('https://duckdb.org')"; + + static ScalarFunction GetFunction(); +}; + } // namespace duckdb diff --git a/src/include/duckdb/core_functions/to_interval.hpp b/src/include/duckdb/core_functions/to_interval.hpp new file mode 100644 index 000000000000..a0f6bf8f6fd2 --- /dev/null +++ b/src/include/duckdb/core_functions/to_interval.hpp @@ -0,0 +1,29 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/core_functions/to_interval.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/function/function_set.hpp" +#include "duckdb/common/operator/multiply.hpp" + +namespace duckdb { + +struct ToSecondsOperator { + template + static inline TR Operation(TA input) { + interval_t result; + result.months = 0; + result.days = 0; + if (!TryMultiplyOperator::Operation(input, Interval::MICROS_PER_SEC, result.micros)) { + throw OutOfRangeException("Interval value %s seconds out of range", NumericHelper::ToString(input)); + } + return result; + } +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/aggregate_hashtable.hpp b/src/include/duckdb/execution/aggregate_hashtable.hpp index b8a4a8fa4834..d05b3576386d 100644 --- a/src/include/duckdb/execution/aggregate_hashtable.hpp +++ b/src/include/duckdb/execution/aggregate_hashtable.hpp @@ -89,7 +89,7 @@ class GroupedAggregateHashTable : public BaseAggregateHashTable { public: //! The hash table load factor, when a resize is triggered - constexpr static float LOAD_FACTOR = 1.5; + constexpr static double LOAD_FACTOR = 1.5; //! Get the layout of this HT const TupleDataLayout &GetLayout() const; @@ -138,7 +138,7 @@ class GroupedAggregateHashTable : public BaseAggregateHashTable { //! Executes the filter(if any) and update the aggregates void Combine(GroupedAggregateHashTable &other); - void Combine(TupleDataCollection &other_data); + void Combine(TupleDataCollection &other_data, optional_ptr> progress = nullptr); //! Unpins the data blocks void UnpinData(); diff --git a/src/include/duckdb/execution/executor.hpp b/src/include/duckdb/execution/executor.hpp index eb9f73e4d42e..03cf4843d70e 100644 --- a/src/include/duckdb/execution/executor.hpp +++ b/src/include/duckdb/execution/executor.hpp @@ -13,6 +13,7 @@ #include "duckdb/common/mutex.hpp" #include "duckdb/common/pair.hpp" #include "duckdb/common/reference_map.hpp" +#include "duckdb/execution/task_error_manager.hpp" #include "duckdb/parallel/pipeline.hpp" namespace duckdb { @@ -47,16 +48,16 @@ class Executor { void Initialize(unique_ptr physical_plan); void CancelTasks(); - PendingExecutionResult ExecuteTask(); + PendingExecutionResult ExecuteTask(bool dry_run = false); void Reset(); vector GetTypes(); - unique_ptr FetchChunk(); - //! Push a new error - void PushError(PreservedError exception); + void PushError(ErrorData exception); + + ErrorData GetError(); //! True if an error has been thrown bool HasError(); @@ -77,7 +78,7 @@ class Executor { void AddToBeRescheduled(shared_ptr &task); //! Returns the progress of the pipelines - bool GetPipelinesProgress(double ¤t_progress); + bool GetPipelinesProgress(double ¤t_progress, uint64_t ¤t_cardinality, uint64_t &total_cardinality); void CompletePipeline() { completed_pipelines++; @@ -88,7 +89,6 @@ class Executor { void AddEvent(shared_ptr event); void AddRecursiveCTE(PhysicalOperator &rec_cte); - void AddMaterializedCTE(PhysicalOperator &mat_cte); void ReschedulePipelines(const vector> &pipelines, vector> &events); //! Whether or not the root of the pipeline is a result collector object @@ -100,14 +100,15 @@ class Executor { bool ExecutionIsFinished(); private: + bool ResultCollectorIsBlocked(); void InitializeInternal(PhysicalOperator &physical_plan); void ScheduleEvents(const vector> &meta_pipelines); static void ScheduleEventsInternal(ScheduleEventData &event_data); static void VerifyScheduledEvents(const ScheduleEventData &event_data); - static void VerifyScheduledEventsInternal(const idx_t i, const vector &vertices, vector &visited, - vector &recursion_stack); + static void VerifyScheduledEventsInternal(const idx_t i, const vector> &vertices, + vector &visited, vector &recursion_stack); static void SchedulePipeline(const shared_ptr &pipeline, ScheduleEventData &event_data); @@ -123,27 +124,24 @@ class Executor { unique_ptr owned_plan; mutex executor_lock; - mutex error_lock; //! All pipelines of the query plan vector> pipelines; //! The root pipelines of the query vector> root_pipelines; //! The recursive CTE's in this query plan vector> recursive_ctes; - //! The materialized CTE's in this query plan - vector> materialized_ctes; //! The pipeline executor for the root pipeline unique_ptr root_executor; //! The current root pipeline index idx_t root_pipeline_idx; //! The producer of this query unique_ptr producer; - //! Exceptions that occurred during the execution of the current query - vector exceptions; //! List of events vector> events; //! The query profiler shared_ptr profiler; + //! Task error manager + TaskErrorManager error_manager; //! The amount of completed pipelines of the query atomic completed_pipelines; diff --git a/src/include/duckdb/execution/index/art/art.hpp b/src/include/duckdb/execution/index/art/art.hpp index c3fc090dc7a5..8a4daf659ba5 100644 --- a/src/include/duckdb/execution/index/art/art.hpp +++ b/src/include/duckdb/execution/index/art/art.hpp @@ -33,16 +33,18 @@ struct ARTFlags { class ART : public Index { public: + // Index type name for the ART + static constexpr const char *TYPE_NAME = "ART"; //! FixedSizeAllocator count of the ART static constexpr uint8_t ALLOCATOR_COUNT = 6; public: //! Constructs an ART - ART(const vector &column_ids, TableIOManager &table_io_manager, - const vector> &unbound_expressions, const IndexConstraintType constraint_type, + ART(const string &name, const IndexConstraintType index_constraint_type, const vector &column_ids, + TableIOManager &table_io_manager, const vector> &unbound_expressions, AttachedDatabase &db, const shared_ptr, ALLOCATOR_COUNT>> &allocators_ptr = nullptr, - const BlockPointer &block = BlockPointer()); + const IndexStorageInfo &info = IndexStorageInfo()); //! Root of the tree Node tree = Node(); @@ -51,22 +53,25 @@ class ART : public Index { //! True, if the ART owns its data bool owns_data; -public: - //! Initialize a single predicate scan on the index with the given expression and column IDs - unique_ptr InitializeScanSinglePredicate(const Transaction &transaction, const Value &value, - const ExpressionType expression_type) override; - //! Initialize a two predicate scan on the index with the given expression and column IDs - unique_ptr InitializeScanTwoPredicates(const Transaction &transaction, const Value &low_value, - const ExpressionType low_expression_type, - const Value &high_value, - const ExpressionType high_expression_type) override; + //! Try to initialize a scan on the index with the given expression and filter + unique_ptr TryInitializeScan(const Transaction &transaction, const Expression &index_expr, + const Expression &filter_expr); + //! Performs a lookup on the index, fetching up to max_count result IDs. Returns true if all row IDs were fetched, //! and false otherwise - bool Scan(const Transaction &transaction, const DataTable &table, IndexScanState &state, const idx_t max_count, - vector &result_ids) override; + bool Scan(const Transaction &transaction, const DataTable &table, IndexScanState &state, idx_t max_count, + vector &result_ids); + +public: + //! Create a index instance of this type + static unique_ptr Create(CreateIndexInput &input) { + auto art = make_uniq(input.name, input.constraint_type, input.column_ids, input.table_io_manager, + input.unbound_expressions, input.db, nullptr, input.storage_info); + return std::move(art); + } //! Called when data is appended to the index. The lock obtained from InitializeLock must be held - PreservedError Append(IndexLock &lock, DataChunk &entries, Vector &row_identifiers) override; + ErrorData Append(IndexLock &lock, DataChunk &entries, Vector &row_identifiers) override; //! Verify that data can be appended to the index without a constraint violation void VerifyAppend(DataChunk &chunk) override; //! Verify that data can be appended to the index without a constraint violation using the conflict manager @@ -76,7 +81,7 @@ class ART : public Index { //! Delete a chunk of entries from the index. The lock obtained from InitializeLock must be held void Delete(IndexLock &lock, DataChunk &entries, Vector &row_identifiers) override; //! Insert a chunk of entries into the index - PreservedError Insert(IndexLock &lock, DataChunk &data, Vector &row_ids) override; + ErrorData Insert(IndexLock &lock, DataChunk &data, Vector &row_ids) override; //! Construct an ART from a vector of sorted keys bool ConstructFromSorted(idx_t count, vector &keys, Vector &row_identifiers); @@ -86,8 +91,8 @@ class ART : public Index { //! Search equal values used for joins that do not need to fetch data void SearchEqualJoinNoFetch(ARTKey &key, idx_t &result_size); - //! Serializes the index and returns the pair of block_id offset positions - BlockPointer Serialize(MetadataWriter &writer) override; + //! Returns all ART storage information for serialization + IndexStorageInfo GetStorageInfo(const bool get_buffers) override; //! Merge another index into this index. The lock obtained from InitializeLock must be held, and the other //! index must also be locked during the merge @@ -96,6 +101,9 @@ class ART : public Index { //! Traverses an ART and vacuums the qualifying nodes. The lock obtained from InitializeLock must be held void Vacuum(IndexLock &state) override; + //! Returns the in-memory usage of the index. The lock obtained from InitializeLock must be held + idx_t GetInMemorySize(IndexLock &index_lock) override; + //! Generate ART keys for an input chunk static void GenerateKeys(ArenaAllocator &allocator, DataChunk &input, vector &keys); @@ -144,8 +152,15 @@ class ART : public Index { //! or only traverses and verifies the index string VerifyAndToStringInternal(const bool only_verify); - //! Deserialize the allocators of the ART + //! Initialize the allocators of the ART + void InitAllocators(const IndexStorageInfo &info); + //! STABLE STORAGE NOTE: This is for old storage files, to deserialize the allocators of the ART void Deserialize(const BlockPointer &pointer); + //! Initializes the serialization of the index by combining the allocator data onto partial blocks + void WritePartialBlocks(); + + string GetConstraintViolationMessage(VerifyExistenceType verify_type, idx_t failed_index, + DataChunk &input) override; }; } // namespace duckdb diff --git a/src/include/duckdb/execution/index/fixed_size_allocator.hpp b/src/include/duckdb/execution/index/fixed_size_allocator.hpp index 6ec5f2d8b399..b5d58d06457e 100644 --- a/src/include/duckdb/execution/index/fixed_size_allocator.hpp +++ b/src/include/duckdb/execution/index/fixed_size_allocator.hpp @@ -8,16 +8,15 @@ #pragma once +#include "duckdb/common/constants.hpp" +#include "duckdb/common/map.hpp" #include "duckdb/common/types/validity_mask.hpp" +#include "duckdb/common/unordered_map.hpp" #include "duckdb/common/unordered_set.hpp" -#include "duckdb/storage/buffer_manager.hpp" -#include "duckdb/storage/metadata/metadata_manager.hpp" -#include "duckdb/storage/metadata/metadata_writer.hpp" #include "duckdb/execution/index/fixed_size_buffer.hpp" #include "duckdb/execution/index/index_pointer.hpp" -#include "duckdb/common/unordered_map.hpp" -#include "duckdb/common/constants.hpp" -#include "duckdb/common/map.hpp" +#include "duckdb/storage/buffer_manager.hpp" +#include "duckdb/storage/partial_block_manager.hpp" namespace duckdb { @@ -30,14 +29,13 @@ class FixedSizeAllocator { static constexpr uint8_t VACUUM_THRESHOLD = 10; public: + //! Construct a new fixed-size allocator FixedSizeAllocator(const idx_t segment_size, BlockManager &block_manager); //! Block manager of the database instance BlockManager &block_manager; //! Buffer manager of the database instance BufferManager &buffer_manager; - //! Metadata manager for (de)serialization - MetadataManager &metadata_manager; public: //! Get a new IndexPointer to a segment, might cause a new buffer allocation @@ -53,8 +51,8 @@ class FixedSizeAllocator { //! Resets the allocator, e.g., during 'DELETE FROM table' void Reset(); - //! Returns the in-memory usage in bytes - inline idx_t GetMemoryUsage() const; + //! Returns the in-memory size in bytes + idx_t GetInMemorySize() const; //! Returns the upper bound of the available buffer IDs, i.e., upper_bound > max_buffer_id idx_t GetUpperBoundBufferId() const; @@ -75,10 +73,16 @@ class FixedSizeAllocator { //! Vacuums an IndexPointer IndexPointer VacuumPointer(const IndexPointer ptr); - //! Serializes all in-memory buffers and the metadata - BlockPointer Serialize(PartialBlockManager &partial_block_manager, MetadataWriter &writer); - //! Deserializes all metadata - void Deserialize(const BlockPointer &block_pointer); + //! Returns all FixedSizeAllocator information for serialization + FixedSizeAllocatorInfo GetInfo() const; + //! Serializes all in-memory buffers + void SerializeBuffers(PartialBlockManager &partial_block_manager); + //! Sets the allocation sizes and returns data to serialize each buffer + vector InitSerializationToWAL(); + //! Initialize a fixed-size allocator from allocator storage information + void Init(const FixedSizeAllocatorInfo &info); + //! Deserializes all metadata of older storage files + void Deserialize(MetadataManager &metadata_manager, const BlockPointer &block_pointer); private: //! Allocation size of one segment in a buffer diff --git a/src/include/duckdb/execution/index/fixed_size_buffer.hpp b/src/include/duckdb/execution/index/fixed_size_buffer.hpp index 5156f201ec55..67de51d2ac51 100644 --- a/src/include/duckdb/execution/index/fixed_size_buffer.hpp +++ b/src/include/duckdb/execution/index/fixed_size_buffer.hpp @@ -9,7 +9,6 @@ #pragma once #include "duckdb/storage/partial_block_manager.hpp" -#include "duckdb/common/typedefs.hpp" #include "duckdb/storage/buffer/block_handle.hpp" #include "duckdb/storage/buffer/buffer_handle.hpp" #include "duckdb/storage/block_manager.hpp" @@ -91,6 +90,8 @@ class FixedSizeBuffer { void Pin(); //! Returns the first free offset in a bitmask uint32_t GetOffset(const idx_t bitmask_count); + //! Sets the allocation size, if dirty + void SetAllocationSize(const idx_t available_segments, const idx_t segment_size, const idx_t bitmask_offset); private: //! The buffer handle of the in-memory buffer diff --git a/src/include/duckdb/execution/index/index_type.hpp b/src/include/duckdb/execution/index/index_type.hpp new file mode 100644 index 000000000000..a2eb16d23017 --- /dev/null +++ b/src/include/duckdb/execution/index/index_type.hpp @@ -0,0 +1,57 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/index/index_type.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/typedefs.hpp" +#include "duckdb/common/vector.hpp" +#include "duckdb/common/unique_ptr.hpp" +#include "duckdb/common/string.hpp" +#include "duckdb/common/types/value.hpp" +#include "duckdb/common/case_insensitive_map.hpp" + +namespace duckdb { + +class Index; +enum class IndexConstraintType : uint8_t; +class Expression; +class TableIOManager; +class AttachedDatabase; +struct IndexStorageInfo; + +struct CreateIndexInput { + TableIOManager &table_io_manager; + AttachedDatabase &db; + IndexConstraintType constraint_type; + const string &name; + const vector &column_ids; + const vector> &unbound_expressions; + const IndexStorageInfo &storage_info; + const case_insensitive_map_t &options; + + CreateIndexInput(TableIOManager &table_io_manager, AttachedDatabase &db, IndexConstraintType constraint_type, + const string &name, const vector &column_ids, + const vector> &unbound_expressions, const IndexStorageInfo &storage_info, + const case_insensitive_map_t &options) + : table_io_manager(table_io_manager), db(db), constraint_type(constraint_type), name(name), + column_ids(column_ids), unbound_expressions(unbound_expressions), storage_info(storage_info), + options(options) {}; +}; + +typedef unique_ptr (*index_create_function_t)(CreateIndexInput &input); +//! A index "type" +class IndexType { +public: + // The name of the index type + string name; + + // Callbacks + index_create_function_t create_instance; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/index/index_type_set.hpp b/src/include/duckdb/execution/index/index_type_set.hpp new file mode 100644 index 000000000000..9afe93e86701 --- /dev/null +++ b/src/include/duckdb/execution/index/index_type_set.hpp @@ -0,0 +1,29 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/index/index_type_set.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/index/index_type.hpp" +#include "duckdb/common/mutex.hpp" +#include "duckdb/common/case_insensitive_map.hpp" +#include "duckdb/common/string.hpp" +#include "duckdb/common/optional_ptr.hpp" + +namespace duckdb { + +class IndexTypeSet { + mutex lock; + case_insensitive_map_t functions; + +public: + IndexTypeSet(); + DUCKDB_API optional_ptr FindByName(const string &name); + DUCKDB_API void RegisterIndexType(const IndexType &index_type); +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/index/unknown_index.hpp b/src/include/duckdb/execution/index/unknown_index.hpp new file mode 100644 index 000000000000..ac16846e0e41 --- /dev/null +++ b/src/include/duckdb/execution/index/unknown_index.hpp @@ -0,0 +1,65 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/index/unknown_index.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/storage/index.hpp" +#include "duckdb/parser/parsed_data/create_index_info.hpp" + +namespace duckdb { + +// An unknown index is an index that has been created by an extension, which has not been loaded yet. +// It is used as a placeholder for the index until the extension is loaded, at which point the extension will replace +// all recognized unknown indexes with the correct index type. +// Calling any function on an unknown index will throw a NotImplementedException +class UnknownIndex final : public Index { +private: + CreateIndexInfo create_info; + IndexStorageInfo storage_info; + string GenerateErrorMessage() const; + +public: + UnknownIndex(const string &name, const string &index_type, IndexConstraintType index_constraint_type, + const vector &column_ids, TableIOManager &table_io_manager, + const vector> &unbound_expressions, AttachedDatabase &db, + const CreateIndexInfo &create_info, IndexStorageInfo storage_info); + + const CreateIndexInfo &GetCreateInfo() const { + return create_info; + } + const IndexStorageInfo &GetStorageInfo() const { + return storage_info; + } + const string &GetIndexType() { + return create_info.index_type; + } + +public: + bool IsUnknown() override { + return true; + } + + // Index interface (unused) + + ErrorData Append(IndexLock &lock, DataChunk &entries, Vector &row_identifiers) override; + void VerifyAppend(DataChunk &chunk) override; + void VerifyAppend(DataChunk &chunk, ConflictManager &conflict_manager) override; + void CommitDrop(IndexLock &index_lock) override; + void Delete(IndexLock &lock, DataChunk &entries, Vector &row_identifiers) override; + ErrorData Insert(IndexLock &lock, DataChunk &data, Vector &row_ids) override; + IndexStorageInfo GetStorageInfo(bool get_buffers) override; + bool MergeIndexes(IndexLock &state, Index &other_index) override; + void Vacuum(IndexLock &state) override; + idx_t GetInMemorySize(IndexLock &index_lock) override; + void CheckConstraintsForChunk(DataChunk &input, ConflictManager &conflict_manager) override; + string VerifyAndToString(IndexLock &state, bool only_verify) override; + string GetConstraintViolationMessage(VerifyExistenceType verify_type, idx_t failed_index, + DataChunk &input) override; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/join_hashtable.hpp b/src/include/duckdb/execution/join_hashtable.hpp index a602ae18ba79..b4910a554229 100644 --- a/src/include/duckdb/execution/join_hashtable.hpp +++ b/src/include/duckdb/execution/join_hashtable.hpp @@ -77,6 +77,8 @@ class JoinHashTable { explicit ScanStructure(JoinHashTable &ht, TupleDataChunkState &key_state); //! Get the next batch of data from the scan structure void Next(DataChunk &keys, DataChunk &left, DataChunk &result); + //! Are pointer chains all pointing to NULL? + bool PointersExhausted(); private: //! Next operator for the inner join @@ -114,7 +116,7 @@ class JoinHashTable { public: JoinHashTable(BufferManager &buffer_manager, const vector &conditions, - vector build_types, JoinType type); + vector build_types, JoinType type, const vector &output_columns); ~JoinHashTable(); //! Add the given data to the HT @@ -163,6 +165,8 @@ class JoinHashTable { vector condition_types; //! The types of all conditions vector build_types; + //! Positions of the columns that need to output + const vector &output_columns; //! The comparison predicates vector predicates; //! Data column layout @@ -238,13 +242,12 @@ class JoinHashTable { //===--------------------------------------------------------------------===// // External Join //===--------------------------------------------------------------------===// + static constexpr const idx_t INITIAL_RADIX_BITS = 4; + struct ProbeSpillLocalAppendState { //! Local partition and append state (if partitioned) PartitionedColumnData *local_partition; PartitionedColumnDataAppendState *local_partition_append_state; - //! Local spill and append state (if not partitioned) - ColumnDataCollection *local_spill_collection; - ColumnDataAppendState *local_spill_append_state; }; //! ProbeSpill represents materialized probe-side data that could not be probed during PhysicalHashJoin::Execute //! because the HashTable did not fit in memory. The ProbeSpill is not partitioned if the remaining data can be @@ -272,32 +275,31 @@ class JoinHashTable { mutex lock; ClientContext &context; - //! Whether the probe data is partitioned - bool partitioned; //! The types of the probe DataChunks const vector &probe_types; //! The column ids vector column_ids; - //! The partitioned probe data (if partitioned) and append states + //! The partitioned probe data and append states unique_ptr global_partitions; vector> local_partitions; vector> local_partition_append_states; - //! The probe data (if not partitioned) and append states + //! The active probe data unique_ptr global_spill_collection; - vector> local_spill_collections; - vector> local_spill_append_states; }; - //! Whether we are doing an external hash join - bool external; - //! The current number of radix bits used to partition - idx_t radix_bits; - //! The max size of the HT - idx_t max_ht_size; - //! Total count - idx_t total_count; + idx_t GetRadixBits() const { + return radix_bits; + } + + idx_t GetPartitionStart() const { + return partition_start; + } + + idx_t GetPartitionEnd() const { + return partition_end; + } //! Capacity of the pointer table given the ht count //! (minimum of 1024 to prevent collision chance for small HT's) @@ -309,23 +311,32 @@ class JoinHashTable { return PointerTableCapacity(count) * sizeof(data_ptr_t); } - //! Whether we need to do an external join - bool RequiresExternalJoin(ClientConfig &config, vector> &local_hts); - //! Computes partition sizes and number of radix bits (called before scheduling partition tasks) - bool RequiresPartitioning(ClientConfig &config, vector> &local_hts); + //! Get total size of HT if all partitions would be built + idx_t GetTotalSize(vector> &local_hts, idx_t &max_partition_size, + idx_t &max_partition_count) const; + idx_t GetTotalSize(const vector &partition_sizes, const vector &partition_counts, + idx_t &max_partition_size, idx_t &max_partition_count) const; + //! Get the remaining size of the unbuilt partitions + idx_t GetRemainingSize(); + //! Sets number of radix bits according to the max ht size + void SetRepartitionRadixBits(vector> &local_hts, const idx_t max_ht_size, + const idx_t max_partition_size, const idx_t max_partition_count); //! Partition this HT - void Partition(JoinHashTable &global_ht); + void Repartition(JoinHashTable &global_ht); //! Delete blocks that belong to the current partitioned HT void Reset(); //! Build HT for the next partitioned probe round - bool PrepareExternalFinalize(); + bool PrepareExternalFinalize(const idx_t max_ht_size); //! Probe whatever we can, sink the rest into a thread-local HT unique_ptr ProbeAndSpill(DataChunk &keys, TupleDataChunkState &key_state, DataChunk &payload, ProbeSpill &probe_spill, ProbeSpillLocalAppendState &spill_state, DataChunk &spill_chunk); private: + //! The current number of radix bits used to partition + idx_t radix_bits; + //! First and last partition of the current probe round idx_t partition_start; idx_t partition_end; diff --git a/src/include/duckdb/execution/merge_sort_tree.hpp b/src/include/duckdb/execution/merge_sort_tree.hpp new file mode 100644 index 000000000000..b01d7087f058 --- /dev/null +++ b/src/include/duckdb/execution/merge_sort_tree.hpp @@ -0,0 +1,630 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/merge_sort_tree.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/array.hpp" +#include "duckdb/common/helper.hpp" +#include "duckdb/common/pair.hpp" +#include "duckdb/common/printer.hpp" +#include "duckdb/common/typedefs.hpp" +#include "duckdb/common/vector.hpp" +#include "duckdb/common/vector_operations/aggregate_executor.hpp" +#include + +namespace duckdb { + +// MIT License Text: +// +// Copyright 2022 salesforce.com, inc. +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// Implementation of a generic merge-sort-tree +// Rewrite of the original, which was in C++17 and targeted for research, +// instead of deployment. +template +struct MergeSortTraits { + using return_type = T; + static const return_type SENTINEL() { + return NumericLimits::Maximum(); + }; +}; + +template +struct MergeSortTraits> { + using return_type = std::tuple; + static return_type SENTINEL() { + return std::tuple {MergeSortTraits::SENTINEL()...}; + }; +}; + +template +struct MergeSortTraits> { + using return_type = std::pair; + static return_type SENTINEL() { + return std::pair {MergeSortTraits::SENTINEL()...}; + }; +}; + +template , uint64_t F = 32, uint64_t C = 32> +struct MergeSortTree { + using ElementType = E; + using OffsetType = O; + using Elements = vector; + using Offsets = vector; + using Level = pair; + using Tree = vector; + + using RunElement = pair; + using RunElements = array; + using Games = array; + + struct CompareElements { + explicit CompareElements(const CMP &cmp) : cmp(cmp) { + } + + bool operator()(const RunElement &lhs, const RunElement &rhs) { + if (cmp(lhs.first, rhs.first)) { + return true; + } + if (cmp(rhs.first, lhs.first)) { + return false; + } + return lhs.second < rhs.second; + } + + CMP cmp; + }; + + explicit MergeSortTree(const CMP &cmp = CMP()) : cmp(cmp) { + } + explicit MergeSortTree(Elements &&lowest_level, const CMP &cmp = CMP()); + + idx_t SelectNth(const SubFrames &frames, idx_t n) const; + + inline ElementType NthElement(idx_t i) const { + return tree.front().first[i]; + } + + template + void AggregateLowerBound(const idx_t lower, const idx_t upper, const idx_t needle, L aggregate) const; + + Tree tree; + CompareElements cmp; + + static constexpr auto FANOUT = F; + static constexpr auto CASCADING = C; + +protected: + RunElement StartGames(Games &losers, const RunElements &elements, const RunElement &sentinel) { + const auto elem_nodes = elements.size(); + const auto game_nodes = losers.size(); + Games winners; + + // Play the first round of games, + // placing the losers at the bottom of the game + const auto base_offset = game_nodes / 2; + auto losers_base = losers.data() + base_offset; + auto winners_base = winners.data() + base_offset; + + const auto base_count = elem_nodes / 2; + for (idx_t i = 0; i < base_count; ++i) { + const auto &e0 = elements[i * 2 + 0]; + const auto &e1 = elements[i * 2 + 1]; + if (cmp(e0, e1)) { + losers_base[i] = e1; + winners_base[i] = e0; + } else { + losers_base[i] = e0; + winners_base[i] = e1; + } + } + + // Fill in any byes + if (elem_nodes % 2) { + winners_base[base_count] = elements.back(); + losers_base[base_count] = sentinel; + } + + // Pad to a power of 2 + const auto base_size = (game_nodes + 1) / 2; + for (idx_t i = (elem_nodes + 1) / 2; i < base_size; ++i) { + winners_base[i] = sentinel; + losers_base[i] = sentinel; + } + + // Play the winners against each other + // and stick the losers in the upper levels of the tournament tree + for (idx_t i = base_offset; i-- > 0;) { + // Indexing backwards + const auto &e0 = winners[i * 2 + 1]; + const auto &e1 = winners[i * 2 + 2]; + if (cmp(e0, e1)) { + losers[i] = e1; + winners[i] = e0; + } else { + losers[i] = e0; + winners[i] = e1; + } + } + + // Return the final winner + return winners[0]; + } + + RunElement ReplayGames(Games &losers, idx_t slot_idx, const RunElement &insert_val) { + RunElement smallest = insert_val; + // Start at a fake level below + auto idx = slot_idx + losers.size(); + do { + // Parent index + idx = (idx - 1) / 2; + // swap if out of order + if (cmp(losers[idx], smallest)) { + std::swap(losers[idx], smallest); + } + } while (idx); + + return smallest; + } + + static idx_t LowestCascadingLevel() { + idx_t level = 0; + idx_t level_width = 1; + while (level_width <= CASCADING) { + ++level; + level_width *= FANOUT; + } + return level; + } + + void Print() const { + std::ostringstream out; + const char *separator = " "; + const char *group_separator = " || "; + idx_t level_width = 1; + idx_t number_width = 0; + for (auto &level : tree) { + for (auto &e : level.first) { + if (e) { + idx_t digits = ceil(log10(fabs(e))) + (e < 0); + if (digits > number_width) { + number_width = digits; + } + } + } + } + for (auto &level : tree) { + // Print the elements themself + { + out << 'd'; + for (size_t i = 0; i < level.first.size(); ++i) { + out << ((i && i % level_width == 0) ? group_separator : separator); + out << std::setw(number_width) << level.first[i]; + } + out << std::endl; + } + // Print the pointers + if (!level.second.empty()) { + idx_t run_cnt = (level.first.size() + level_width - 1) / level_width; + idx_t cascading_idcs_cnt = run_cnt * (2 + level_width / CASCADING) * FANOUT; + for (idx_t child_nr = 0; child_nr < FANOUT; ++child_nr) { + out << " "; + for (idx_t idx = 0; idx < cascading_idcs_cnt; idx += FANOUT) { + out << ((idx && ((idx / FANOUT) % (level_width / CASCADING + 2) == 0)) ? group_separator + : separator); + out << std::setw(number_width) << level.second[idx + child_nr]; + } + out << std::endl; + } + } + level_width *= FANOUT; + } + + Printer::Print(out.str()); + } +}; + +template +MergeSortTree::MergeSortTree(Elements &&lowest_level, const CMP &cmp) : cmp(cmp) { + const auto fanout = F; + const auto cascading = C; + const auto count = lowest_level.size(); + tree.emplace_back(Level(lowest_level, Offsets())); + + const RunElement SENTINEL(MergeSortTraits::SENTINEL(), MergeSortTraits::SENTINEL()); + + // Fan in parent levels until we are at the top + // Note that we don't build the top layer as that would just be all the data. + for (idx_t child_run_length = 1; child_run_length < count;) { + const auto run_length = child_run_length * fanout; + const auto num_runs = (count + run_length - 1) / run_length; + + Elements elements; + elements.reserve(count); + + // Allocate cascading pointers only if there is room + Offsets cascades; + if (cascading > 0 && run_length > cascading) { + const auto num_cascades = fanout * num_runs * (run_length / cascading + 2); + cascades.reserve(num_cascades); + } + + // Create each parent run by merging the child runs using a tournament tree + // https://en.wikipedia.org/wiki/K-way_merge_algorithm + // TODO: Because the runs are independent, they can be parallelised with parallel_for + const auto &child_level = tree.back(); + for (idx_t run_idx = 0; run_idx < num_runs; ++run_idx) { + // Position markers for scanning the children. + using Bounds = pair; + array bounds; + // Start with first element of each (sorted) child run + RunElements players; + const auto child_base = run_idx * run_length; + for (idx_t child_run = 0; child_run < fanout; ++child_run) { + const auto child_idx = child_base + child_run * child_run_length; + bounds[child_run] = {MinValue(child_idx, count), + MinValue(child_idx + child_run_length, count)}; + if (bounds[child_run].first != bounds[child_run].second) { + players[child_run] = {child_level.first[child_idx], child_run}; + } else { + // Empty child + players[child_run] = SENTINEL; + } + } + + // Play the first round and extract the winner + Games games; + auto winner = StartGames(games, players, SENTINEL); + while (winner != SENTINEL) { + // Add fractional cascading pointers + // if we are on a fraction boundary + if (cascading > 0 && run_length > cascading && elements.size() % cascading == 0) { + for (idx_t i = 0; i < fanout; ++i) { + cascades.emplace_back(bounds[i].first); + } + } + + // Insert new winner element into the current run + elements.emplace_back(winner.first); + const auto child_run = winner.second; + auto &child_idx = bounds[child_run].first; + ++child_idx; + + // Move to the next entry in the child run (if any) + if (child_idx < bounds[child_run].second) { + winner = ReplayGames(games, child_run, {child_level.first[child_idx], child_run}); + } else { + winner = ReplayGames(games, child_run, SENTINEL); + } + } + + // Add terminal cascade pointers to the end + if (cascading > 0 && run_length > cascading) { + for (idx_t j = 0; j < 2; ++j) { + for (idx_t i = 0; i < fanout; ++i) { + cascades.emplace_back(bounds[i].first); + } + } + } + } + + // Insert completed level and move up to the next one + tree.emplace_back(std::move(elements), std::move(cascades)); + child_run_length = run_length; + } +} + +template +idx_t MergeSortTree::SelectNth(const SubFrames &frames, idx_t n) const { + // Handle special case of a one-element tree + if (tree.size() < 2) { + return 0; + } + + // The first level contains a single run, + // so the only thing we need is any cascading pointers + auto level_no = tree.size() - 2; + auto level_width = 1; + for (idx_t i = 0; i < level_no; ++i) { + level_width *= FANOUT; + } + + // Find Nth element in a top-down traversal + idx_t result = 0; + + // First, handle levels with cascading pointers + const auto min_cascaded = LowestCascadingLevel(); + if (level_no > min_cascaded) { + // Initialise the cascade indicies from the previous level + using CascadeRange = pair; + std::array cascades; + const auto &level = tree[level_no + 1].first; + for (idx_t f = 0; f < frames.size(); ++f) { + const auto &frame = frames[f]; + auto &cascade_idx = cascades[f]; + const auto lower_idx = std::lower_bound(level.begin(), level.end(), frame.start) - level.begin(); + cascade_idx.first = lower_idx / CASCADING * FANOUT; + const auto upper_idx = std::lower_bound(level.begin(), level.end(), frame.end) - level.begin(); + cascade_idx.second = upper_idx / CASCADING * FANOUT; + } + + // Walk the cascaded levels + for (; level_no >= min_cascaded; --level_no) { + // The cascade indicies into this level are in the previous level + const auto &level_cascades = tree[level_no + 1].second; + + // Go over all children until we found enough in range + const auto *level_data = tree[level_no].first.data(); + while (true) { + idx_t matched = 0; + std::array matches; + for (idx_t f = 0; f < frames.size(); ++f) { + const auto &frame = frames[f]; + auto &cascade_idx = cascades[f]; + auto &match = matches[f]; + + const auto lower_begin = level_data + level_cascades[cascade_idx.first]; + const auto lower_end = level_data + level_cascades[cascade_idx.first + FANOUT]; + match.first = std::lower_bound(lower_begin, lower_end, frame.start) - level_data; + + const auto upper_begin = level_data + level_cascades[cascade_idx.second]; + const auto upper_end = level_data + level_cascades[cascade_idx.second + FANOUT]; + match.second = std::lower_bound(upper_begin, upper_end, frame.end) - level_data; + + matched += idx_t(match.second - match.first); + } + if (matched > n) { + // Too much in this level, so move down to leftmost child candidate within the cascade range + for (idx_t f = 0; f < frames.size(); ++f) { + auto &cascade_idx = cascades[f]; + auto &match = matches[f]; + cascade_idx.first = (match.first / CASCADING + 2 * result) * FANOUT; + cascade_idx.second = (match.second / CASCADING + 2 * result) * FANOUT; + } + break; + } + + // Not enough in this child, so move right + for (idx_t f = 0; f < frames.size(); ++f) { + auto &cascade_idx = cascades[f]; + ++cascade_idx.first; + ++cascade_idx.second; + } + ++result; + n -= matched; + } + result *= FANOUT; + level_width /= FANOUT; + } + } + + // Continue with the uncascaded levels (except the first) + for (; level_no > 0; --level_no) { + const auto &level = tree[level_no].first; + auto range_begin = level.begin() + result * level_width; + auto range_end = range_begin + level_width; + while (range_end < level.end()) { + idx_t matched = 0; + for (idx_t f = 0; f < frames.size(); ++f) { + const auto &frame = frames[f]; + const auto lower_match = std::lower_bound(range_begin, range_end, frame.start); + const auto upper_match = std::lower_bound(lower_match, range_end, frame.end); + matched += idx_t(upper_match - lower_match); + } + if (matched > n) { + // Too much in this level, so move down to leftmost child candidate + // Since we have no cascade pointers left, this is just the start of the next level. + break; + } + // Not enough in this child, so move right + range_begin = range_end; + range_end += level_width; + ++result; + n -= matched; + } + result *= FANOUT; + level_width /= FANOUT; + } + + // The last level + const auto *level_data = tree[level_no].first.data(); + ++n; + + const auto count = tree[level_no].first.size(); + for (const auto limit = MinValue(result + FANOUT, count); result < limit; ++result) { + const auto v = level_data[result]; + for (const auto &frame : frames) { + n -= (v >= frame.start) && (v < frame.end); + } + if (!n) { + break; + } + } + + return result; +} + +template +template +void MergeSortTree::AggregateLowerBound(const idx_t lower, const idx_t upper, const idx_t needle, + L aggregate) const { + + if (lower >= upper) { + return; + } + + D_ASSERT(upper <= tree[0].first.size()); + + using IdxRange = std::pair; + + // Find the entry point into the tree + IdxRange run_idx(lower, upper - 1); + idx_t level_width = 1; + idx_t level = 0; + IdxRange prev_run_idx; + IdxRange curr; + if (run_idx.first == run_idx.second) { + curr.first = curr.second = run_idx.first; + } else { + do { + prev_run_idx.second = run_idx.second; + run_idx.first /= FANOUT; + run_idx.second /= FANOUT; + level_width *= FANOUT; + ++level; + } while (run_idx.first != run_idx.second); + curr.second = prev_run_idx.second * level_width / FANOUT; + curr.first = curr.second; + } + + // Aggregate layers using the cascading indices + if (level > LowestCascadingLevel()) { + IdxRange cascading_idx; + // Find the initial cascading idcs + { + IdxRange entry; + entry.first = run_idx.first * level_width; + entry.second = std::min(entry.first + level_width, static_cast(tree[0].first.size())); + auto *level_data = tree[level].first.data(); + idx_t entry_idx = + std::lower_bound(level_data + entry.first, level_data + entry.second, needle) - level_data; + cascading_idx.first = cascading_idx.second = + (entry_idx / CASCADING + 2 * (entry.first / level_width)) * FANOUT; + + // We have to slightly shift the initial CASCADING idcs because at the top level + // we won't be exactly on a boundary + auto correction = (prev_run_idx.second - run_idx.second * FANOUT); + cascading_idx.first -= (FANOUT - correction); + cascading_idx.second += correction; + } + + // Aggregate all layers until we reach a layer without cascading indices + // For the first layer, we already checked we have cascading indices available, otherwise + // we wouldn't have even searched the entry points. Hence, we use a `do-while` instead of `while` + do { + --level; + level_width /= FANOUT; + auto *level_data = tree[level].first.data(); + auto &cascading_idcs = tree[level + 1].second; + // Left side of tree + // Handle all completely contained runs + cascading_idx.first += FANOUT - 1; + while (curr.first - lower >= level_width) { + // Search based on cascading info from previous level + const auto *search_begin = level_data + cascading_idcs[cascading_idx.first]; + const auto *search_end = level_data + cascading_idcs[cascading_idx.first + FANOUT]; + const auto run_pos = std::lower_bound(search_begin, search_end, needle) - level_data; + // Compute runBegin and pass it to our callback + const auto run_begin = curr.first - level_width; + aggregate(level, run_begin, run_pos); + // Update state for next round + curr.first -= level_width; + --cascading_idx.first; + } + // Handle the partial last run to find the cascading entry point for the next level + if (curr.first != lower) { + const auto *search_begin = level_data + cascading_idcs[cascading_idx.first]; + const auto *search_end = level_data + cascading_idcs[cascading_idx.first + FANOUT]; + auto idx = std::lower_bound(search_begin, search_end, needle) - level_data; + cascading_idx.first = (idx / CASCADING + 2 * (lower / level_width)) * FANOUT; + } + + // Right side of tree + // Handle all completely contained runs + while (upper - curr.second >= level_width) { + // Search based on cascading info from previous level + const auto *search_begin = level_data + cascading_idcs[cascading_idx.second]; + const auto *search_end = level_data + cascading_idcs[cascading_idx.second + FANOUT]; + const auto run_pos = std::lower_bound(search_begin, search_end, needle) - level_data; + // Compute runBegin and pass it to our callback + const auto run_begin = curr.second; + aggregate(level, run_begin, run_pos); + // Update state for next round + curr.second += level_width; + ++cascading_idx.second; + } + // Handle the partial last run to find the cascading entry point for the next level + if (curr.second != upper) { + const auto *search_begin = level_data + cascading_idcs[cascading_idx.second]; + const auto *search_end = level_data + cascading_idcs[cascading_idx.second + FANOUT]; + auto idx = std::lower_bound(search_begin, search_end, needle) - level_data; + cascading_idx.second = (idx / CASCADING + 2 * (upper / level_width)) * FANOUT; + } + } while (level >= LowestCascadingLevel()); + } + + // Handle lower levels which won't have cascading info + if (level) { + while (--level) { + level_width /= FANOUT; + auto *level_data = tree[level].first.data(); + // Left side + while (curr.first - lower >= level_width) { + const auto *search_end = level_data + curr.first; + const auto *search_begin = search_end - level_width; + const auto run_pos = std::lower_bound(search_begin, search_end, needle) - level_data; + const auto run_begin = search_begin - level_data; + aggregate(level, run_begin, run_pos); + curr.first -= level_width; + } + // Right side + while (upper - curr.second >= level_width) { + const auto *search_begin = level_data + curr.second; + const auto *search_end = search_begin + level_width; + const auto run_pos = std::lower_bound(search_begin, search_end, needle) - level_data; + const auto run_begin = search_begin - level_data; + aggregate(level, run_begin, run_pos); + curr.second += level_width; + } + } + } + + // The last layer + { + auto *level_data = tree[0].first.data(); + // Left side + auto lower_it = lower; + while (lower_it != curr.first) { + const auto *search_begin = level_data + lower_it; + const auto run_begin = lower_it; + const auto run_pos = run_begin + (*search_begin < needle); + aggregate(level, run_begin, run_pos); + ++lower_it; + } + // Right side + while (curr.second != upper) { + const auto *search_begin = level_data + curr.second; + const auto run_begin = curr.second; + const auto run_pos = run_begin + (*search_begin < needle); + aggregate(level, run_begin, run_pos); + ++curr.second; + } + } +} + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp b/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp index d36b17c0ae4e..3d1d6749b56c 100644 --- a/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +++ b/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp @@ -93,6 +93,8 @@ class PhysicalHashAggregate : public PhysicalOperator { GlobalSourceState &gstate) const override; SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override; + double GetProgress(ClientContext &context, GlobalSourceState &gstate) const override; + bool IsSource() const override { return true; } diff --git a/src/include/duckdb/execution/operator/aggregate/physical_window.hpp b/src/include/duckdb/execution/operator/aggregate/physical_window.hpp index 5bf8fdcc85e1..aad04b562776 100644 --- a/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +++ b/src/include/duckdb/execution/operator/aggregate/physical_window.hpp @@ -8,7 +8,6 @@ #pragma once -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/execution/physical_operator.hpp" #include "duckdb/parallel/pipeline.hpp" @@ -26,7 +25,9 @@ class PhysicalWindow : public PhysicalOperator { //! The projection list of the WINDOW statement (may contain aggregates) vector> select_list; - //! Whether or not the window is order dependent (only true if all window functions contain neither an order nor a + //! The window expression with the order clause + idx_t order_idx; + //! Whether or not the window is order dependent (only true if ANY window function contains neither an order nor a //! partition clause) bool is_order_dependent; diff --git a/src/include/duckdb/execution/operator/scan/csv/csv_buffer.hpp b/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer.hpp similarity index 71% rename from src/include/duckdb/execution/operator/scan/csv/csv_buffer.hpp rename to src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer.hpp index c49168e2df11..15d4595cd45d 100644 --- a/src/include/duckdb/execution/operator/scan/csv/csv_buffer.hpp +++ b/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer.hpp @@ -1,7 +1,7 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/execution/operator/scan/csv/csv_buffer.hpp +// duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer.hpp // // //===----------------------------------------------------------------------===// @@ -9,7 +9,7 @@ #pragma once #include "duckdb/common/constants.hpp" -#include "duckdb/execution/operator/scan/csv/csv_file_handle.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp" #include "duckdb/storage/buffer_manager.hpp" #include "duckdb/storage/block_manager.hpp" #include "duckdb/storage/buffer/block_handle.hpp" @@ -18,22 +18,19 @@ namespace duckdb { class CSVBufferHandle { public: - CSVBufferHandle(BufferHandle handle_p, idx_t actual_size_p, const bool is_first_buffer_p, - const bool is_final_buffer_p, idx_t csv_global_state_p, idx_t start_position_p, idx_t file_idx_p) - : handle(std::move(handle_p)), actual_size(actual_size_p), is_first_buffer(is_first_buffer_p), - is_last_buffer(is_final_buffer_p), csv_global_start(csv_global_state_p), start_position(start_position_p), - file_idx(file_idx_p) {}; - CSVBufferHandle() - : actual_size(0), is_first_buffer(false), is_last_buffer(false), csv_global_start(0), start_position(0), - file_idx(0) {}; + CSVBufferHandle(BufferHandle handle_p, idx_t actual_size_p, const bool is_final_buffer_p, idx_t file_idx_p, + idx_t buffer_index_p) + : handle(std::move(handle_p)), actual_size(actual_size_p), is_last_buffer(is_final_buffer_p), + file_idx(file_idx_p), buffer_idx(buffer_index_p) {}; + CSVBufferHandle() : actual_size(0), is_last_buffer(false), file_idx(0), buffer_idx(0) {}; + ~CSVBufferHandle() { + } //! Handle created during allocation BufferHandle handle; const idx_t actual_size; - const bool is_first_buffer; const bool is_last_buffer; - const idx_t csv_global_start; - const idx_t start_position; const idx_t file_idx; + const idx_t buffer_idx; inline char *Ptr() { return char_ptr_cast(handle.Ptr()); } @@ -51,17 +48,14 @@ class CSVBuffer { //! Constructor for `Next()` Buffers CSVBuffer(CSVFileHandle &file_handle, ClientContext &context, idx_t buffer_size, idx_t global_csv_current_position, - idx_t file_number_p); + idx_t file_number_p, idx_t buffer_idx); //! Creates a new buffer with the next part of the CSV File - shared_ptr Next(CSVFileHandle &file_handle, idx_t buffer_size, idx_t file_number); + shared_ptr Next(CSVFileHandle &file_handle, idx_t buffer_size, idx_t file_number, bool &has_seaked); //! Gets the buffer actual size idx_t GetBufferSize(); - //! Gets the start position of the buffer, only relevant for the first time it's scanned - idx_t GetStart(); - //! If this buffer is the last buffer of the CSV File bool IsCSVFileLastBuffer(); @@ -71,18 +65,20 @@ class CSVBuffer { void Reload(CSVFileHandle &file_handle); //! Wrapper for the Pin Function, if it can seek, it means that the buffer might have been destroyed, hence we must //! Scan it from the disk file again. - unique_ptr Pin(CSVFileHandle &file_handle); + shared_ptr Pin(CSVFileHandle &file_handle, bool &has_seeked); //! Wrapper for the unpin void Unpin(); char *Ptr() { return char_ptr_cast(handle.Ptr()); } + //! By default, we use CSV_BUFFER_SIZE to allocate each buffer + //! TODO: Should benchmarks other values static constexpr idx_t CSV_BUFFER_SIZE = 32000000; // 32MB //! In case the file has a size < 32MB, we will use this size instead //! This is to avoid mallocing a lot of memory for a small file //! And if it's a compressed file we can't use the actual size of the file - static constexpr idx_t CSV_MINIMUM_BUFFER_SIZE = 10000000; // 10MB + static constexpr idx_t CSV_MINIMUM_BUFFER_SIZE = 8000000; // 8MB //! If this is the last buffer of the CSV File bool last_buffer = false; @@ -90,11 +86,6 @@ class CSVBuffer { ClientContext &context; //! Actual size can be smaller than the buffer size in case we allocate it too optimistically. idx_t actual_buffer_size; - //! We need to check for Byte Order Mark, to define the start position of this buffer - //! https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8 - idx_t start_position = 0; - //! If this is the first buffer of the CSV File - bool first_buffer = false; //! Global position from the CSV File where this buffer starts idx_t global_csv_start = 0; //! Number of the file that is in this buffer @@ -102,6 +93,8 @@ class CSVBuffer { //! If we can seek in the file or not. //! If we can't seek, this means we can't destroy the buffers bool can_seek; + //! Buffer Index, used as a batch index for insertion-order preservation + idx_t buffer_idx = 0; //! -------- Allocated Block ---------// //! Block created in allocation shared_ptr block; diff --git a/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp b/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp new file mode 100644 index 000000000000..7185be04dea8 --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp @@ -0,0 +1,74 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/main/client_context.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" + +namespace duckdb { +class CSVBuffer; +class CSVStateMachine; + +//! This class is used to manage the CSV buffers. Buffers are cached when used for auto detection. +//! When parsing, buffer are not cached and just returned. +//! A CSV Buffer Manager is created for each separate CSV File. +class CSVBufferManager { +public: + CSVBufferManager(ClientContext &context, const CSVReaderOptions &options, const string &file_path, + const idx_t file_idx); + //! Returns a buffer from a buffer id (starting from 0). If it's in the auto-detection then we cache new buffers + //! Otherwise we remove them from the cache if they are already there, or just return them bypassing the cache. + shared_ptr GetBuffer(const idx_t buffer_idx); + + void ResetBuffer(const idx_t buffer_idx); + //! unique_ptr to the file handle, gets stolen after sniffing + unique_ptr file_handle; + //! Initializes the buffer manager, during it's construction/reset + void Initialize(); + + void UnpinBuffer(const idx_t cache_idx); + //! Returns the buffer size set for this CSV buffer manager + idx_t GetBufferSize(); + //! Returns the number of buffers in the cached_buffers cache + idx_t BufferCount(); + //! If this buffer manager is done. In the context of a buffer manager it means that it read all buffers at least + //! once. + bool Done(); + + string GetFilePath(); + + ClientContext &context; + idx_t skip_rows = 0; + +private: + //! Reads next buffer in reference to cached_buffers.front() + bool ReadNextAndCacheIt(); + //! The file index this Buffer Manager refers to + const idx_t file_idx; + //! The file path this Buffer Manager refers to + const string file_path; + //! The cached buffers + vector> cached_buffers; + //! The last buffer it was accessed + shared_ptr last_buffer; + idx_t global_csv_pos = 0; + //! The size of the buffer, if the csv file has a smaller size than this, we will use that instead to malloc less + idx_t buffer_size; + //! If this buffer manager is done (i.e., no more buffers to read beyond the ones that were cached + bool done = false; + idx_t bytes_read = 0; + //! Because the buffer manager can be accessed in Parallel we need a mutex. + mutex main_mutex; + //! If the file_handle used seek + bool has_seeked = false; + unordered_set reset_when_possible; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/scan/csv/csv_file_handle.hpp b/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp similarity index 93% rename from src/include/duckdb/execution/operator/scan/csv/csv_file_handle.hpp rename to src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp index c27538fe23f0..21cd6385e7a7 100644 --- a/src/include/duckdb/execution/operator/scan/csv/csv_file_handle.hpp +++ b/src/include/duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp @@ -1,7 +1,7 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/execution/operator/scan/csv/csv_file_handle.hpp +// duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp // // //===----------------------------------------------------------------------===// @@ -43,6 +43,7 @@ struct CSVFileHandle { FileCompressionType compression); static unique_ptr OpenFile(FileSystem &fs, Allocator &allocator, const string &path, FileCompressionType compression); + bool uncompressed = false; private: unique_ptr file_handle; diff --git a/src/include/duckdb/execution/operator/csv_scanner/options/csv_option.hpp b/src/include/duckdb/execution/operator/csv_scanner/options/csv_option.hpp new file mode 100644 index 000000000000..1bcd27b3f4d4 --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/options/csv_option.hpp @@ -0,0 +1,155 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/options/csv_option.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/function/scalar/strftime_format.hpp" + +namespace duckdb { + +enum class NewLineIdentifier : uint8_t { + SINGLE = 1, // Either \r or \n + CARRY_ON = 2, // \r\n + NOT_SET = 3 +}; + +class Serializer; +class Deserializer; + +//! Wrapper for CSV Options that can be manually set by the user +//! It is important to make this difference for options that can be automatically sniffed AND manually set. +template +struct CSVOption { +public: + CSVOption(T value_p) : value(value_p) {}; + CSVOption(T value_p, bool set_by_user_p) : value(value_p), set_by_user(set_by_user_p) {}; + CSVOption() {}; + + //! Sets value. + //! If by user it also toggles the set_by user flag + void Set(T value_p, bool by_user = true) { + D_ASSERT(!(by_user && set_by_user)); + if (!set_by_user) { + // If it's not set by user we can change the value + value = value_p; + set_by_user = by_user; + } + } + + //! Sets value. + //! If by user it also toggles the set_by user flag + void Set(CSVOption value_p, bool by_user = true) { + D_ASSERT(!(by_user && set_by_user)); + if (!set_by_user) { + // If it's not set by user we can change the value + value = value_p; + set_by_user = by_user; + } + } + + // this is due to a hacky implementation in the read csv relation + void ChangeSetByUserTrue() { + set_by_user = true; + } + + bool operator==(const CSVOption &other) const { + return value == other.value; + } + + bool operator!=(const CSVOption &other) const { + return value != other.value; + } + + bool operator==(const T &other) const { + return value == other; + } + + bool operator!=(const T &other) const { + return value != other; + } + //! Returns CSV Option value + const T GetValue() const { + return value; + } + bool IsSetByUser() const { + return set_by_user; + } + + //! Returns a formatted string with information regarding how this option was set + string FormatSet() const { + if (set_by_user) { + return "(Set By User)"; + } + return "(Auto-Detected)"; + } + + //! Returns a formatted string with the actual value of this option + string FormatValue() const { + return FormatValueInternal(value); + } + + //! Serializes CSV Option + DUCKDB_API void Serialize(Serializer &serializer) const; + + //! Deserializes CSV Option + DUCKDB_API static CSVOption Deserialize(Deserializer &deserializer); + +private: + //! If this option was manually set by the user + bool set_by_user = false; + T value; + + //! --------------------------------------------------- // + //! Functions used to convert a value to a string + //! --------------------------------------------------- // + + template + std::string FormatValueInternal(const U &val) const { + throw InternalException("Type not accepted as CSV Option."); + } + + std::string FormatValueInternal(const std::string &val) const { + return val; + } + + std::string FormatValueInternal(const idx_t &val) const { + return to_string(val); + } + + std::string FormatValueInternal(const char &val) const { + string char_val; + char_val += val; + return char_val; + } + + std::string FormatValueInternal(const NewLineIdentifier &val) const { + switch (val) { + case NewLineIdentifier::SINGLE: + return "\\n"; + case NewLineIdentifier::CARRY_ON: + return "\\r\\n"; + case NewLineIdentifier::NOT_SET: + return "Single-Line File"; + default: + throw InternalException("Invalid Newline Detected."); + } + } + + std::string FormatValueInternal(const StrpTimeFormat &val) const { + return val.format_specifier; + } + + std::string FormatValueInternal(const bool &val) const { + if (val) { + return "true"; + } + return "false"; + } +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/scan/csv/csv_reader_options.hpp b/src/include/duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp similarity index 70% rename from src/include/duckdb/execution/operator/scan/csv/csv_reader_options.hpp rename to src/include/duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp index b002c4685eb5..6aced3713898 100644 --- a/src/include/duckdb/execution/operator/scan/csv/csv_reader_options.hpp +++ b/src/include/duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp @@ -1,14 +1,16 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/execution/operator/scan/csv/csv_reader_options.hpp +// duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp // // //===----------------------------------------------------------------------===// #pragma once -#include "duckdb/execution/operator/scan/csv/csv_buffer.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_option.hpp" +#include "duckdb/execution/operator/csv_scanner/options/state_machine_options.hpp" #include "duckdb/common/map.hpp" #include "duckdb/function/scalar/strftime_format.hpp" #include "duckdb/common/types/value.hpp" @@ -18,50 +20,17 @@ namespace duckdb { -enum class NewLineIdentifier : uint8_t { - SINGLE = 1, // Either \r or \n - CARRY_ON = 2, // \r\n - MIX = 3, // Hippie-Land, can't run it multithreaded - NOT_SET = 4 -}; - -enum class ParallelMode { AUTOMATIC = 0, PARALLEL = 1, SINGLE_THREADED = 2 }; - -//! Struct that holds the configuration of a CSV State Machine -//! Basically which char, quote and escape were used to generate it. -struct CSVStateMachineOptions { - CSVStateMachineOptions() {}; - CSVStateMachineOptions(char delimiter_p, char quote_p, char escape_p) - : delimiter(delimiter_p), quote(quote_p), escape(escape_p) {}; - - //! Delimiter to separate columns within each line - char delimiter = ','; - //! Quote used for columns that contain reserved characters, e.g ' - char quote = '\"'; - //! Escape character to escape quote character - char escape = '\0'; - - bool operator==(const CSVStateMachineOptions &other) const { - return delimiter == other.delimiter && quote == other.quote && escape == other.escape; - } -}; - struct DialectOptions { CSVStateMachineOptions state_machine_options; - //! New Line separator - NewLineIdentifier new_line = NewLineIdentifier::NOT_SET; //! Expected number of columns idx_t num_cols = 0; //! Whether or not the file has a header line - bool header = false; + CSVOption header = false; //! The date format to use (if any is specified) - map date_format = {{LogicalTypeId::DATE, {}}, {LogicalTypeId::TIMESTAMP, {}}}; - //! Whether or not a type format is specified - map has_format = {{LogicalTypeId::DATE, false}, {LogicalTypeId::TIMESTAMP, false}}; + map> date_format = {{LogicalTypeId::DATE, {}}, + {LogicalTypeId::TIMESTAMP, {}}}; //! How many leading rows to skip - idx_t skip_rows = 0; - //! True start of the first CSV Buffer (After skipping empty lines, headers, notes and so on) - idx_t true_start = 0; + CSVOption skip_rows = 0; }; struct CSVReaderOptions { @@ -70,16 +39,6 @@ struct CSVReaderOptions { //===--------------------------------------------------------------------===// //! See struct above. DialectOptions dialect_options; - //! Whether or not a delimiter was defined by the user - bool has_delimiter = false; - //! Whether or not a new_line was defined by the user - bool has_newline = false; - //! Whether or not a quote was defined by the user - bool has_quote = false; - //! Whether or not an escape character was defined by the user - bool has_escape = false; - //! Whether or not a header information was given by the user - bool has_header = false; //! Whether or not we should ignore InvalidInput errors bool ignore_errors = false; //! Rejects table name @@ -91,7 +50,7 @@ struct CSVReaderOptions { //! Index of the recovery columns vector rejects_recovery_column_ids; //! Number of samples to buffer - idx_t buffer_sample_size = STANDARD_VECTOR_SIZE * 50; + idx_t buffer_sample_size = (idx_t)STANDARD_VECTOR_SIZE * 50; //! Specifies the string that represents a null value string null_str; //! Whether file is compressed or not, and if so which compression type @@ -113,12 +72,12 @@ struct CSVReaderOptions { vector auto_type_candidates = {LogicalType::VARCHAR, LogicalType::TIMESTAMP, LogicalType::DATE, LogicalType::TIME, LogicalType::DOUBLE, LogicalType::BIGINT, LogicalType::BOOLEAN, LogicalType::SQLNULL}; + //! In case the sniffer found a mismatch error from user defined types or dialect + string sniffer_user_mismatch_error; //===--------------------------------------------------------------------===// // ReadCSVOptions //===--------------------------------------------------------------------===// - //! Whether or not the skip_rows is set by the user - bool skip_rows_set = false; //! Maximum CSV line size: specified because if we reach this amount, we likely have wrong delimiters (default: 2MB) //! note that this is the guaranteed line length that will succeed, longer lines may be accepted if slightly above idx_t maximum_line_size = 2097152; @@ -131,7 +90,7 @@ struct CSVReaderOptions { //! Consider all columns to be of type varchar bool all_varchar = false; //! Whether or not to automatically detect dialect and datatypes - bool auto_detect = false; + bool auto_detect = true; //! The file path of the CSV file to read string file_path; //! Multi-file reader options @@ -142,11 +101,11 @@ struct CSVReaderOptions { string decimal_separator = "."; //! Whether or not to pad rows that do not have enough columns with NULL values bool null_padding = false; + //! If we should attempt to run parallel scanning over one file + bool parallel = true; - //! If we are running the parallel version of the CSV Reader. In general, the system should always auto-detect - //! When it can't execute a parallel run before execution. However, there are (rather specific) situations where - //! setting up this manually might be important - ParallelMode parallel_mode; + //! User defined parameters for the csv function concatenated on a string + string user_defined_parameters; //===--------------------------------------------------------------------===// // WriteCSVOptions //===--------------------------------------------------------------------===// @@ -200,11 +159,5 @@ struct CSVReaderOptions { vector &names); string ToString() const; - - named_parameter_map_t OutputReadSettings(); - -public: - //! Whether columns were explicitly provided through named parameters - bool explicitly_set_columns = false; }; } // namespace duckdb diff --git a/src/include/duckdb/execution/operator/csv_scanner/options/state_machine_options.hpp b/src/include/duckdb/execution/operator/csv_scanner/options/state_machine_options.hpp new file mode 100644 index 000000000000..0cb97f46e72c --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/options/state_machine_options.hpp @@ -0,0 +1,35 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/options/state_machine_options.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/csv_scanner/options/csv_option.hpp" + +namespace duckdb { +//! Struct that holds the configuration of a CSV State Machine +//! Basically which char, quote and escape were used to generate it. +struct CSVStateMachineOptions { + CSVStateMachineOptions() {}; + CSVStateMachineOptions(char delimiter_p, char quote_p, char escape_p, NewLineIdentifier new_line_p) + : delimiter(delimiter_p), quote(quote_p), escape(escape_p), new_line(new_line_p) {}; + + //! Delimiter to separate columns within each line + CSVOption delimiter = ','; + //! Quote used for columns that contain reserved characters, e.g ' + CSVOption quote = '\"'; + //! Escape character to escape quote character + CSVOption escape = '\0'; + //! New Line separator + CSVOption new_line = NewLineIdentifier::NOT_SET; + + bool operator==(const CSVStateMachineOptions &other) const { + return delimiter == other.delimiter && quote == other.quote && escape == other.escape && + new_line == other.new_line; + } +}; +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/csv_scanner/scanner/base_scanner.hpp b/src/include/duckdb/execution/operator/csv_scanner/scanner/base_scanner.hpp new file mode 100644 index 000000000000..22dae167adf7 --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/scanner/base_scanner.hpp @@ -0,0 +1,228 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/scanner/base_scanner.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp" +#include "duckdb/execution/operator/csv_scanner/util/csv_error.hpp" + +namespace duckdb { + +class CSVFileScan; +class ScannerResult { +public: + ScannerResult(CSVStates &states, CSVStateMachine &state_machine); + + //! Adds a Value to the result + static inline void SetQuoted(ScannerResult &result, idx_t quoted_position) { + if (!result.quoted) { + result.quoted_position = quoted_position; + } + result.quoted = true; + } + //! Adds a Row to the result + static inline void SetEscaped(ScannerResult &result) { + result.escaped = true; + } + // Variable to keep information regarding quoted and escaped values + bool quoted = false; + bool escaped = false; + idx_t quoted_position = 0; + +protected: + CSVStates &states; + CSVStateMachine &state_machine; +}; + +//! This is the base of our CSV scanners. +//! Scanners differ on what they are used for, and consequently have different performance benefits. +class BaseScanner { +public: + explicit BaseScanner(shared_ptr buffer_manager, shared_ptr state_machine, + shared_ptr error_handler, shared_ptr csv_file_scan = nullptr, + CSVIterator iterator = {}); + + virtual ~BaseScanner() = default; + //! Returns true if the scanner is finished + bool FinishedFile(); + //! Resets the scanner + void Reset(); + //! Parses data into a output_chunk + virtual ScannerResult &ParseChunk(); + + //! Returns the result from the last Parse call. Shouts at you if you call it wrong + virtual ScannerResult &GetResult(); + + CSVIterator &GetIterator(); + + idx_t GetBoundaryIndex() { + return iterator.GetBoundaryIdx(); + } + + idx_t GetLinesRead() { + return lines_read; + } + + idx_t GetIteratorPosition() { + return iterator.pos.buffer_pos; + } + + CSVStateMachine &GetStateMachine(); + + shared_ptr csv_file_scan; + + //! If this scanner is being used for sniffing + bool sniffing = false; + //! The guy that handles errors + shared_ptr error_handler; + + //! Shared pointer to the state machine, this is used across multiple scanners + shared_ptr state_machine; + + //! States + CSVStates states; + +protected: + //! Boundaries of this scanner + CSVIterator iterator; + + //! Unique pointer to the buffer_handle, this is unique per scanner, since it also contains the necessary counters + //! To offload buffers to disk if necessary + shared_ptr cur_buffer_handle; + + //! Hold the current buffer ptr + char *buffer_handle_ptr = nullptr; + + //! Shared pointer to the buffer_manager, this is shared across multiple scanners + shared_ptr buffer_manager; + + //! If this scanner has been initialized + bool initialized = false; + //! How many lines were read by this scanner + idx_t lines_read = 0; + idx_t bytes_read = 0; + //! Internal Functions used to perform the parsing + //! Initializes the scanner + virtual void Initialize(); + + //! Process one chunk + template + void Process(T &result) { + idx_t to_pos; + const idx_t start_pos = iterator.pos.buffer_pos; + if (iterator.IsBoundarySet()) { + to_pos = iterator.GetEndPos(); + if (to_pos > cur_buffer_handle->actual_size) { + to_pos = cur_buffer_handle->actual_size; + } + } else { + to_pos = cur_buffer_handle->actual_size; + } + while (iterator.pos.buffer_pos < to_pos) { + state_machine->Transition(states, buffer_handle_ptr[iterator.pos.buffer_pos]); + switch (states.states[1]) { + case CSVState::INVALID: + T::InvalidState(result); + iterator.pos.buffer_pos++; + bytes_read = iterator.pos.buffer_pos - start_pos; + return; + case CSVState::RECORD_SEPARATOR: + if (states.states[0] == CSVState::RECORD_SEPARATOR || states.states[0] == CSVState::NOT_SET) { + lines_read++; + if (T::EmptyLine(result, iterator.pos.buffer_pos)) { + iterator.pos.buffer_pos++; + bytes_read = iterator.pos.buffer_pos - start_pos; + return; + } + } else if (states.states[0] != CSVState::CARRIAGE_RETURN) { + lines_read++; + if (T::AddRow(result, iterator.pos.buffer_pos)) { + iterator.pos.buffer_pos++; + bytes_read = iterator.pos.buffer_pos - start_pos; + return; + } + } + iterator.pos.buffer_pos++; + break; + case CSVState::CARRIAGE_RETURN: + lines_read++; + if (states.states[0] == CSVState::RECORD_SEPARATOR || states.states[0] == CSVState::NOT_SET) { + if (T::EmptyLine(result, iterator.pos.buffer_pos)) { + iterator.pos.buffer_pos++; + bytes_read = iterator.pos.buffer_pos - start_pos; + return; + } + } else if (states.states[0] != CSVState::CARRIAGE_RETURN) { + if (T::AddRow(result, iterator.pos.buffer_pos)) { + iterator.pos.buffer_pos++; + bytes_read = iterator.pos.buffer_pos - start_pos; + return; + } + } + iterator.pos.buffer_pos++; + break; + case CSVState::DELIMITER: + T::AddValue(result, iterator.pos.buffer_pos); + iterator.pos.buffer_pos++; + break; + case CSVState::QUOTED: + if (states.states[0] == CSVState::UNQUOTED) { + T::SetEscaped(result); + } + T::SetQuoted(result, iterator.pos.buffer_pos); + iterator.pos.buffer_pos++; + while (state_machine->transition_array + .skip_quoted[static_cast(buffer_handle_ptr[iterator.pos.buffer_pos])] && + iterator.pos.buffer_pos < to_pos - 1) { + iterator.pos.buffer_pos++; + } + break; + case CSVState::ESCAPE: + T::SetEscaped(result); + iterator.pos.buffer_pos++; + break; + case CSVState::STANDARD: + iterator.pos.buffer_pos++; + while (state_machine->transition_array + .skip_standard[static_cast(buffer_handle_ptr[iterator.pos.buffer_pos])] && + iterator.pos.buffer_pos < to_pos - 1) { + iterator.pos.buffer_pos++; + } + break; + case CSVState::QUOTED_NEW_LINE: + T::QuotedNewLine(result); + iterator.pos.buffer_pos++; + break; + default: + iterator.pos.buffer_pos++; + break; + } + } + bytes_read = iterator.pos.buffer_pos - start_pos; + } + + //! Finalizes the process of the chunk + virtual void FinalizeChunkProcess(); + + //! Internal function for parse chunk + template + void ParseChunkInternal(T &result) { + if (!initialized) { + Initialize(); + initialized = true; + } + if (!iterator.done) { + Process(result); + } + FinalizeChunkProcess(); + } +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/csv_scanner/scanner/column_count_scanner.hpp b/src/include/duckdb/execution/operator/csv_scanner/scanner/column_count_scanner.hpp new file mode 100644 index 000000000000..87cd04058c73 --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/scanner/column_count_scanner.hpp @@ -0,0 +1,70 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/scanner/column_count_scanner.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/base_scanner.hpp" + +namespace duckdb { + +class ColumnCountResult : public ScannerResult { +public: + ColumnCountResult(CSVStates &states, CSVStateMachine &state_machine); + inline idx_t &operator[](size_t index) { + return column_counts[index]; + } + + idx_t column_counts[STANDARD_VECTOR_SIZE]; + idx_t current_column_count = 0; + bool error = false; + bool last_value_always_empty = true; + idx_t result_position = 0; + + //! Adds a Value to the result + static inline void AddValue(ColumnCountResult &result, const idx_t buffer_pos); + //! Adds a Row to the result + static inline bool AddRow(ColumnCountResult &result, const idx_t buffer_pos); + //! Behavior when hitting an invalid state + static inline void InvalidState(ColumnCountResult &result); + //! Handles QuotedNewline State + static inline void QuotedNewLine(ColumnCountResult &result); + //! Handles EmptyLine states + static inline bool EmptyLine(ColumnCountResult &result, const idx_t buffer_pos); + inline void InternalAddRow(); +}; + +//! Scanner that goes over the CSV and figures out how many columns each row has. Used for dialect sniffing +class ColumnCountScanner : public BaseScanner { +public: + ColumnCountScanner(shared_ptr buffer_manager, const shared_ptr &state_machine, + shared_ptr error_handler); + + ~ColumnCountScanner() { + } + + ColumnCountResult &ParseChunk() override; + + ColumnCountResult &GetResult() override; + + unique_ptr UpgradeToStringValueScanner(); + +private: + void Initialize() override; + + void FinalizeChunkProcess() override; + + ColumnCountResult result; + + idx_t column_count; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp b/src/include/duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp new file mode 100644 index 000000000000..a0534735c65f --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp @@ -0,0 +1,93 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp" +#include "duckdb/main/client_context.hpp" +#include "duckdb/common/multi_file_reader.hpp" +#include "duckdb/common/fast_mem.hpp" + +//! We all need boundaries every now and then, CSV Scans also need them +//! This class keeps track of what a scan should read, so which buffer and from where to where +//! As in real life, much like my childhood country, the rules are not really enforced. +//! So the end boundaries of a Scanner Boundary can and will be pushed. +//! In practice this means that a scanner is tolerated to read one line over it's end. +namespace duckdb { + +//! Information stored in the buffer +struct CSVBoundary { + CSVBoundary(idx_t file_idx, idx_t buffer_idx, idx_t buffer_pos, idx_t boundary_idx, idx_t end_pos); + CSVBoundary(); + void Print(); + //! File index where we start scanning [0-idx], a scanner can never go over one file. + idx_t file_idx = 0; + //! Start Buffer index of the file where we start scanning + idx_t buffer_idx = 0; + //! Start Buffer position of the buffer of the file where we start scanning + //! This position moves as we move through the buffer + idx_t buffer_pos = 0; + //! The boundary index relative to the total scan, only used for parallel reading to enforce + //! Insertion Order + idx_t boundary_idx = 0; + //! Last position this iterator should read. + idx_t end_pos; +}; + +struct CSVPosition { + CSVPosition(idx_t file_idx, idx_t buffer_idx, idx_t buffer_pos); + CSVPosition(); + //! File index where we start scanning [0-idx], a scanner can never go over one file. + idx_t file_idx = 0; + //! Start Buffer index of the file where we start scanning + idx_t buffer_idx = 0; + //! Start Buffer position of the buffer of the file where we start scanning + //! This position moves as we move through the buffer + idx_t buffer_pos = 0; +}; +struct CSVIterator { +public: + CSVIterator(idx_t file_idx, idx_t buffer_idx, idx_t buffer_pos, idx_t boundary_idx, idx_t buffer_size); + + CSVIterator(); + + void Print(); + //! Moves the boundary to the next one to be scanned, if there are no next boundaries, it returns False + //! Otherwise, if there are boundaries, it returns True + bool Next(CSVBufferManager &buffer_manager); + //! If boundary is set + bool IsBoundarySet() const; + + //! Getters + idx_t GetEndPos() const; + idx_t GetFileIdx() const; + idx_t GetBufferIdx() const; + idx_t GetBoundaryIdx() const; + + void SetCurrentPositionToBoundary(); + + void SetStart(idx_t pos); + + //! 8 MB TODO: Should benchmarks other values + static constexpr idx_t BYTES_PER_THREAD = 8000000; + + CSVPosition pos; + + bool done = false; + +private: + //! The original setting + CSVBoundary boundary; + //! Sometimes life knows no boundaries. + //! The boundaries don't have to be set for single-threaded execution. + bool is_set; +}; +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/csv_scanner/scanner/skip_scanner.hpp b/src/include/duckdb/execution/operator/csv_scanner/scanner/skip_scanner.hpp new file mode 100644 index 000000000000..86766750f1fc --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/scanner/skip_scanner.hpp @@ -0,0 +1,60 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/scanner/skip_scanner.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/base_scanner.hpp" + +namespace duckdb { + +class SkipResult : public ScannerResult { +public: + SkipResult(CSVStates &states, CSVStateMachine &state_machine, idx_t rows_to_skip); + + idx_t row_count = 0; + idx_t rows_to_skip; + + //! Adds a Value to the result + static inline void AddValue(SkipResult &result, const idx_t buffer_pos); + //! Adds a Row to the result + static inline bool AddRow(SkipResult &result, const idx_t buffer_pos); + //! Behavior when hitting an invalid state + static inline void InvalidState(SkipResult &result); + //! Handles EmptyLine states + static inline bool EmptyLine(SkipResult &result, const idx_t buffer_pos); + //! Handles QuotedNewline State + static inline void QuotedNewLine(SkipResult &result); + inline void InternalAddRow(); +}; + +//! Scanner used to skip lines in a CSV File +class SkipScanner : public BaseScanner { +public: + SkipScanner(shared_ptr buffer_manager, const shared_ptr &state_machine, + shared_ptr error_handler, idx_t rows_to_skip); + + ~SkipScanner() { + } + + SkipResult &ParseChunk() override; + + SkipResult &GetResult() override; + +private: + void Initialize() override; + + void FinalizeChunkProcess() override; + + SkipResult result; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp b/src/include/duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp new file mode 100644 index 000000000000..3baf9c3550e1 --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp @@ -0,0 +1,197 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/base_scanner.hpp" + +namespace duckdb { + +struct CSVBufferUsage { + CSVBufferUsage(CSVBufferManager &buffer_manager_p, idx_t buffer_idx_p) + : buffer_manager(buffer_manager_p), buffer_idx(buffer_idx_p) { + + }; + ~CSVBufferUsage() { + buffer_manager.ResetBuffer(buffer_idx); + } + CSVBufferManager &buffer_manager; + idx_t buffer_idx; +}; + +//! Class that keeps track of line starts, used for line size verification +class LinePosition { +public: + LinePosition() { + } + LinePosition(idx_t buffer_idx_p, idx_t buffer_pos_p, idx_t buffer_size_p) + : buffer_pos(buffer_pos_p), buffer_size(buffer_size_p), buffer_idx(buffer_idx_p) { + } + + idx_t operator-(const LinePosition &other) { + if (other.buffer_idx == buffer_idx) { + return buffer_pos - other.buffer_pos; + } + return other.buffer_size - other.buffer_pos + buffer_pos; + } + idx_t buffer_pos = 0; + idx_t buffer_size = 0; + idx_t buffer_idx = 0; +}; + +class StringValueResult : public ScannerResult { +public: + StringValueResult(CSVStates &states, CSVStateMachine &state_machine, + const shared_ptr &buffer_handle, Allocator &buffer_allocator, idx_t result_size, + idx_t buffer_position, CSVErrorHandler &error_hander, CSVIterator &iterator, bool store_line_size, + shared_ptr csv_file_scan, idx_t &lines_read); + + //! Information on the vector + unsafe_vector vector_ptr; + unsafe_vector validity_mask; + + //! Variables to iterate over the CSV buffers + idx_t last_position; + char *buffer_ptr; + idx_t buffer_size; + + //! CSV Options that impact the parsing + const uint32_t number_of_columns; + const bool null_padding; + const bool ignore_errors; + const char *null_str_ptr; + const idx_t null_str_size; + + //! Internal Data Chunk used for flushing + DataChunk parse_chunk; + idx_t number_of_rows = 0; + idx_t cur_col_id = 0; + idx_t result_size; + //! Information to properly handle errors + CSVErrorHandler &error_handler; + CSVIterator &iterator; + //! Where the previous line started, used to validate the maximum_line_size option + LinePosition previous_line_start; + LinePosition pre_previous_line_start; + bool store_line_size = false; + bool added_last_line = false; + bool quoted_new_line = false; + + unsafe_unique_array parse_types; + vector names; + unordered_map cast_errors; + + shared_ptr csv_file_scan; + idx_t &lines_read; + //! Information regarding projected columns + unsafe_unique_array projected_columns; + bool projecting_columns = false; + idx_t chunk_col_id = 0; + + //! We must ensure that we keep the buffers alive until processing the query result + vector> buffer_handles; + + //! If the current row has an error, we have to skip it + bool ignore_current_row = false; + //! Specialized code for quoted values, makes sure to remove quotes and escapes + static inline void AddQuotedValue(StringValueResult &result, const idx_t buffer_pos); + //! Adds a Value to the result + static inline void AddValue(StringValueResult &result, const idx_t buffer_pos); + //! Adds a Row to the result + static inline bool AddRow(StringValueResult &result, const idx_t buffer_pos); + //! Behavior when hitting an invalid state + static inline void InvalidState(StringValueResult &result); + //! Handles QuotedNewline State + static inline void QuotedNewLine(StringValueResult &result); + void NullPaddingQuotedNewlineCheck(); + //! Handles EmptyLine states + static inline bool EmptyLine(StringValueResult &result, const idx_t buffer_pos); + inline bool AddRowInternal(); + + void HandleOverLimitRows(); + + inline void AddValueToVector(const char *value_ptr, const idx_t size, bool allocate = false); + + Value GetValue(idx_t row_idx, idx_t col_idx); + + DataChunk &ToChunk(); + + //! Resets the state of the result + void Reset(); +}; + +//! Our dialect scanner basically goes over the CSV and actually parses the values to a DuckDB vector of string_t +class StringValueScanner : public BaseScanner { +public: + StringValueScanner(idx_t scanner_idx, const shared_ptr &buffer_manager, + const shared_ptr &state_machine, + const shared_ptr &error_handler, const shared_ptr &csv_file_scan, + CSVIterator boundary = {}, idx_t result_size = STANDARD_VECTOR_SIZE); + + StringValueScanner(const shared_ptr &buffer_manager, + const shared_ptr &state_machine, + const shared_ptr &error_handler); + + ~StringValueScanner() { + } + + StringValueResult &ParseChunk() override; + + //! Flushes the result to the insert_chunk + void Flush(DataChunk &insert_chunk); + + //! Function that creates and returns a non-boundary CSV Scanner, can be used for internal csv reading. + static unique_ptr GetCSVScanner(ClientContext &context, CSVReaderOptions &options); + + bool FinishedIterator(); + + //! Creates a new string with all escaped values removed + static string_t RemoveEscape(const char *str_ptr, idx_t end, char escape, Vector &vector); + + //! If we can directly cast the type when consuming the CSV file, or we have to do it later + static bool CanDirectlyCast(const LogicalType &type, + const map> &format_options); + + const idx_t scanner_idx; + + //! Variable that manages buffer tracking + shared_ptr buffer_tracker; + +private: + void Initialize() override; + + void FinalizeChunkProcess() override; + + //! Function used to process values that go over the first buffer, extra allocation might be necessary + void ProcessOverbufferValue(); + + void ProcessExtraRow(); + //! Function used to move from one buffer to the other, if necessary + bool MoveToNextBuffer(); + + //! BOM skipping (https://en.wikipedia.org/wiki/Byte_order_mark) + void SkipBOM(); + + //! Skips Notes, notes are dirty lines on top of the file, before the actual data + void SkipCSVRows(); + + void SkipUntilNewLine(); + + void SetStart(); + + StringValueResult result; + vector types; + + //! Pointer to the previous buffer handle, necessary for overbuffer values + shared_ptr previous_buffer_handle; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/scan/csv/csv_sniffer.hpp b/src/include/duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp similarity index 63% rename from src/include/duckdb/execution/operator/scan/csv/csv_sniffer.hpp rename to src/include/duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp index 943c8a6557e8..3584b1e91a3e 100644 --- a/src/include/duckdb/execution/operator/scan/csv/csv_sniffer.hpp +++ b/src/include/duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp @@ -1,18 +1,23 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/execution/operator/scan/csv/csv_sniffer.hpp +// duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp // // //===----------------------------------------------------------------------===// #pragma once -#include "duckdb/execution/operator/scan/csv/csv_state_machine.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp" #include "duckdb/common/vector.hpp" -#include "duckdb/execution/operator/scan/csv/quote_rules.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/quote_rules.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/column_count_scanner.hpp" namespace duckdb { +struct DateTimestampSniffing { + bool initialized = false; + vector format; +}; //! Struct to store the result of the Sniffer struct SnifferResult { SnifferResult(vector return_types_p, vector names_p) @@ -24,11 +29,56 @@ struct SnifferResult { vector names; }; +//! This represents the data related to columns that have been set by the user +//! e.g., from a copy command +struct SetColumns { + SetColumns(const vector *types_p, const vector *names_p) : types(types_p), names(names_p) { + if (!types) { + D_ASSERT(!types && !names); + } else { + D_ASSERT(types->size() == names->size()); + } + } + SetColumns() {}; + //! Return Types that were detected + const vector *types = nullptr; + //! Column Names that were detected + const vector *names = nullptr; + //! If columns are set + bool IsSet(); + //! How many columns + idx_t Size(); + //! Helper function that checks if candidate is acceptable based on the number of columns it produces + inline bool IsCandidateUnacceptable(idx_t num_cols, bool null_padding, bool ignore_errors, + bool last_value_always_empty) { + if (!IsSet() || ignore_errors) { + // We can't say its unacceptable if it's not set or if we ignore errors + return false; + } + idx_t size = Size(); + // If the columns are set and there is a mismatch with the expected number of columns, with null_padding and + // ignore_errors not set, we don't have a suitable candidate. + // Note that we compare with max_columns_found + 1, because some broken files have the behaviour where two + // columns are represented as: | col 1 | col_2 | + if (num_cols == size || num_cols == size + last_value_always_empty) { + // Good Candidate + return false; + } + // if we detected more columns than we have set, it's all good because we can null-pad them + if (null_padding && num_cols > size) { + return false; + } + + // Unacceptable + return true; + } +}; + //! Sniffer that detects Header, Dialect and Types of CSV Files class CSVSniffer { public: explicit CSVSniffer(CSVReaderOptions &options_p, shared_ptr buffer_manager_p, - CSVStateMachineCache &state_machine_cache, bool explicit_set_columns = false); + CSVStateMachineCache &state_machine_cache, SetColumns set_columns = {}); //! Main method that sniffs the CSV file, returns the types, names and options as a result //! CSV Sniffing consists of five steps: @@ -37,7 +87,9 @@ class CSVSniffer { //! 3. Type Refinement: Refines the types of the columns for the remaining chunks //! 4. Header Detection: Figures out if the CSV file has a header and produces the names of the columns //! 5. Type Replacement: Replaces the types of the columns if the user specified them - SnifferResult SniffCSV(); + SnifferResult SniffCSV(bool force_match = false); + + static NewLineIdentifier DetectNewLineDelimiter(CSVBufferManager &buffer_manager); private: //! CSV State Machine Cache @@ -45,11 +97,15 @@ class CSVSniffer { //! Highest number of columns found idx_t max_columns_found = 0; //! Current Candidates being considered - vector> candidates; + vector> candidates; //! Reference to original CSV Options, it will be modified as a result of the sniffer. CSVReaderOptions &options; //! Buffer being used on sniffer shared_ptr buffer_manager; + //! Information regarding columns that were set by user/query + SetColumns set_columns; + shared_ptr error_handler; + shared_ptr detection_error_handler; //! Sets the result options void SetResultOptions(); @@ -64,18 +120,19 @@ class CSVSniffer { unordered_map> "e_candidates_map, unordered_map> &escape_candidates_map); //! 2. Generates the search space candidates for the state machines - void GenerateStateMachineSearchSpace(vector> &csv_state_machines, + void GenerateStateMachineSearchSpace(vector> &column_count_scanners, const vector &delimiter_candidates, const vector "erule_candidates, const unordered_map> "e_candidates_map, const unordered_map> &escape_candidates_map); //! 3. Analyzes if dialect candidate is a good candidate to be considered, if so, it adds it to the candidates - void AnalyzeDialectCandidate(unique_ptr, idx_t &rows_read, idx_t &best_consistent_rows, + void AnalyzeDialectCandidate(unique_ptr, idx_t &rows_read, idx_t &best_consistent_rows, idx_t &prev_padding_count); //! 4. Refine Candidates over remaining chunks void RefineCandidates(); + //! Checks if candidate still produces good values for the next chunk - bool RefineCandidateNextChunk(CSVStateMachine &candidate); + bool RefineCandidateNextChunk(ColumnCountScanner &candidate); //! ------------------------------------------------------// //! ------------------- Type Detection ------------------ // @@ -87,10 +144,13 @@ class CSVSniffer { //! Try to cast a string value to the specified sql type bool TryCastValue(CSVStateMachine &candidate, const Value &value, const LogicalType &sql_type); void SetDateFormat(CSVStateMachine &candidate, const string &format_specifier, const LogicalTypeId &sql_type); + + //! Function that initialized the necessary variables used for date and timestamp detection + void InitializeDateAndTimeStampDetection(CSVStateMachine &candidate, const string &separator, + const LogicalType &sql_type); //! Functions that performs detection for date and timestamp formats - void DetectDateAndTimeStampFormats(CSVStateMachine &candidate, map &has_format_candidates, - map> &format_candidates, - const LogicalType &sql_type, const string &separator, Value &dummy_val); + void DetectDateAndTimeStampFormats(CSVStateMachine &candidate, const LogicalType &sql_type, const string &separator, + Value &dummy_val); //! Variables for Type Detection //! Format Candidates for Date and Timestamp Types @@ -102,10 +162,10 @@ class CSVSniffer { }; unordered_map> best_sql_types_candidates_per_column_idx; map> best_format_candidates; - unique_ptr best_candidate; - idx_t best_start_with_header = 0; - idx_t best_start_without_header = 0; + unique_ptr best_candidate; vector best_header_row; + //! Variable used for sniffing date and timestamp + map format_candidates; //! ------------------------------------------------------// //! ------------------ Type Refinement ------------------ // @@ -119,8 +179,6 @@ class CSVSniffer { //! ------------------------------------------------------// void DetectHeader(); vector names; - //! If Column Names and Types have been explicitly set - const bool explicit_set_columns; //! ------------------------------------------------------// //! ------------------ Type Replacement ----------------- // diff --git a/src/include/duckdb/execution/operator/scan/csv/quote_rules.hpp b/src/include/duckdb/execution/operator/csv_scanner/sniffer/quote_rules.hpp similarity index 90% rename from src/include/duckdb/execution/operator/scan/csv/quote_rules.hpp rename to src/include/duckdb/execution/operator/csv_scanner/sniffer/quote_rules.hpp index 4dc767170dd6..771c12b80062 100644 --- a/src/include/duckdb/execution/operator/scan/csv/quote_rules.hpp +++ b/src/include/duckdb/execution/operator/csv_scanner/sniffer/quote_rules.hpp @@ -1,7 +1,7 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/execution/operator/scan/csv/quote_rules.hpp +// duckdb/execution/operator/csv_scanner/sniffer/quote_rules.hpp // // //===----------------------------------------------------------------------===// diff --git a/src/include/duckdb/execution/operator/scan/csv/csv_state.hpp b/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state.hpp similarity index 69% rename from src/include/duckdb/execution/operator/scan/csv/csv_state.hpp rename to src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state.hpp index 02137eefdd25..774d50040cdc 100644 --- a/src/include/duckdb/execution/operator/scan/csv/csv_state.hpp +++ b/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state.hpp @@ -1,7 +1,7 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/execution/operator/scan/csv/csv_state.hpp +// duckdb/execution/operator/csv_scanner/state_machine/csv_state.hpp // // //===----------------------------------------------------------------------===// @@ -21,8 +21,10 @@ enum class CSVState : uint8_t { QUOTED = 4, //! State when inside a quoted field UNQUOTED = 5, //! State when leaving a quoted field ESCAPE = 6, //! State when encountering an escape character (e.g., \) - EMPTY_LINE = 7, //! State when encountering an empty line (i.e., \r\r \n\n, \n\r) - INVALID = 8 //! Got to an Invalid State, this should error. + INVALID = 7, //! Got to an Invalid State, this should error. + NOT_SET = 8, //! If the state is not set, usually the first state before getting the first character + QUOTED_NEW_LINE = 9, //! If we have a quoted newline + EMPTY_SPACE = 10 //! If we have empty spaces in the beginning and end of value }; } // namespace duckdb diff --git a/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp b/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp new file mode 100644 index 000000000000..4b6348fbc046 --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp @@ -0,0 +1,99 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.hpp" + +namespace duckdb { + +//! State of necessary CSV States to parse file +//! Current, previous, and state before the previous +struct CSVStates { + void Initialize() { + states[0] = CSVState::NOT_SET; + states[1] = CSVState::NOT_SET; + } + inline bool NewValue() { + return states[1] == CSVState::DELIMITER; + } + + inline bool NewRow() { + // It is a new row, if the previous state is not a record separator, and the current one is + return states[0] != CSVState::RECORD_SEPARATOR && states[0] != CSVState::CARRIAGE_RETURN && + (states[1] == CSVState::RECORD_SEPARATOR || states[1] == CSVState::CARRIAGE_RETURN); + } + + inline bool EmptyLastValue() { + // It is a new row, if the previous state is not a record separator, and the current one is + return states[0] == CSVState::DELIMITER && + (states[1] == CSVState::RECORD_SEPARATOR || states[1] == CSVState::CARRIAGE_RETURN); + } + + inline bool EmptyLine() { + return (states[1] == CSVState::CARRIAGE_RETURN || states[1] == CSVState::RECORD_SEPARATOR) && + (states[0] == CSVState::RECORD_SEPARATOR || states[0] == CSVState::NOT_SET); + } + + inline bool IsNotSet() { + return states[1] == CSVState::NOT_SET; + } + + inline bool IsCurrentNewRow() { + return states[1] == CSVState::RECORD_SEPARATOR || states[1] == CSVState::CARRIAGE_RETURN; + } + + inline bool IsCarriageReturn() { + return states[1] == CSVState::CARRIAGE_RETURN; + } + + inline bool IsQuoted() { + return states[0] == CSVState::QUOTED; + } + inline bool IsEscaped() { + return states[1] == CSVState::ESCAPE || (states[0] == CSVState::UNQUOTED && states[1] == CSVState::QUOTED); + } + inline bool IsQuotedCurrent() { + return states[1] == CSVState::QUOTED || states[1] == CSVState::QUOTED_NEW_LINE; + } + CSVState states[2]; +}; + +//! The CSV State Machine comprises a state transition array (STA). +//! The STA indicates the current state of parsing based on both the current and preceding characters. +//! This reveals whether we are dealing with a Field, a New Line, a Delimiter, and so forth. +//! The STA's creation depends on the provided quote, character, and delimiter options for that state machine. +//! The motivation behind implementing an STA is to remove branching in regular CSV Parsing by predicting and detecting +//! the states. Note: The State Machine is currently utilized solely in the CSV Sniffer. +class CSVStateMachine { +public: + explicit CSVStateMachine(CSVReaderOptions &options_p, const CSVStateMachineOptions &state_machine_options, + CSVStateMachineCache &csv_state_machine_cache_p); + + explicit CSVStateMachine(const StateMachine &transition_array, const CSVReaderOptions &options); + + //! Transition all states to next state, that depends on the current char + inline void Transition(CSVStates &states, char current_char) const { + states.states[0] = states.states[1]; + states.states[1] = transition_array[static_cast(current_char)][static_cast(states.states[1])]; + } + + //! The Transition Array is a Finite State Machine + //! It holds the transitions of all states, on all 256 possible different characters + const StateMachine &transition_array; + //! Options of this state machine + const CSVStateMachineOptions state_machine_options; + //! CSV Reader Options + const CSVReaderOptions &options; + //! Dialect options resulting from sniffing + DialectOptions dialect_options; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp b/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.hpp similarity index 51% rename from src/include/duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp rename to src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.hpp index 0ec4e6f15c08..41f4fa69474e 100644 --- a/src/include/duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp +++ b/src/include/duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.hpp @@ -1,65 +1,87 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp +// duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.hpp // // //===----------------------------------------------------------------------===// #pragma once -#include "duckdb/execution/operator/scan/csv/csv_state.hpp" -#include "duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp" -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" -#include "duckdb/execution/operator/scan/csv/quote_rules.hpp" +#include "duckdb/storage/object_cache.hpp" +#include "duckdb/common/types/hash.hpp" +#include "duckdb/execution/operator/csv_scanner/options/state_machine_options.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/quote_rules.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state.hpp" namespace duckdb { //! Class to wrap the state machine matrix class StateMachine { public: - static constexpr uint32_t NUM_STATES = 9; + static constexpr uint32_t NUM_STATES = 11; static constexpr uint32_t NUM_TRANSITIONS = 256; - CSVState state_machine[NUM_STATES][NUM_TRANSITIONS]; + CSVState state_machine[NUM_TRANSITIONS][NUM_STATES]; + //! Transitions where we might skip processing + //! For the Standard State + bool skip_standard[256]; + //! For the Quoted State + bool skip_quoted[256]; - const CSVState *operator[](CSVState state) const { - return state_machine[static_cast(state)]; + const CSVState *operator[](idx_t i) const { + return state_machine[i]; } - CSVState *operator[](CSVState state) { - return state_machine[static_cast(state)]; + CSVState *operator[](idx_t i) { + return state_machine[i]; } }; //! Hash function used in out state machine cache, it hashes and combines all options used to generate a state machine struct HashCSVStateMachineConfig { size_t operator()(CSVStateMachineOptions const &config) const noexcept { - auto h_delimiter = Hash(config.delimiter); - auto h_quote = Hash(config.quote); - auto h_escape = Hash(config.escape); - return CombineHash(h_delimiter, CombineHash(h_quote, h_escape)); + auto h_delimiter = Hash(config.delimiter.GetValue()); + auto h_quote = Hash(config.quote.GetValue()); + auto h_escape = Hash(config.escape.GetValue()); + auto h_newline = Hash((uint8_t)config.new_line.GetValue()); + return CombineHash(h_delimiter, CombineHash(h_quote, CombineHash(h_escape, h_newline))); } }; //! The CSVStateMachineCache caches state machines, although small ~2kb, the actual creation of multiple State Machines //! can become a bottleneck on sniffing, when reading very small csv files. //! Hence the cache stores State Machines based on their different delimiter|quote|escape options. -class CSVStateMachineCache { +class CSVStateMachineCache : public ObjectCacheEntry { public: CSVStateMachineCache(); - ~CSVStateMachineCache() {}; + ~CSVStateMachineCache() override = default; + //! Gets a state machine from the cache, if it's not from one the default options + //! It first caches it, then returns it. + static CSVStateMachineCache &Get(ClientContext &context); + //! Gets a state machine from the cache, if it's not from one the default options //! It first caches it, then returns it. const StateMachine &Get(const CSVStateMachineOptions &state_machine_options); + static const string STATE_KEY; + static string ObjectType() { + return "CSV_STATE_MACHINE_CACHE"; + } + + string GetObjectType() override { + return ObjectType(); + } + private: void Insert(const CSVStateMachineOptions &state_machine_options); - //! Cache on delimiter|quote|escape + //! Cache on delimiter|quote|escape|newline unordered_map state_machine_cache; //! Default value for options used to intialize CSV State Machine Cache const vector default_delimiter = {',', '|', ';', '\t'}; const vector> default_quote = {{'\"'}, {'\"', '\''}, {'\0'}}; const vector default_quote_rule = {QuoteRule::QUOTES_RFC, QuoteRule::QUOTES_OTHER, QuoteRule::NO_QUOTES}; const vector> default_escape = {{'\0', '\"', '\''}, {'\\'}, {'\0'}}; + //! Because the state machine cache can be accessed in Parallel we need a mutex. + mutex main_mutex; }; } // namespace duckdb diff --git a/src/include/duckdb/execution/operator/csv_scanner/table_function/csv_file_scanner.hpp b/src/include/duckdb/execution/operator/csv_scanner/table_function/csv_file_scanner.hpp new file mode 100644 index 000000000000..57192e6637a4 --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/table_function/csv_file_scanner.hpp @@ -0,0 +1,70 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/table_function/csv_file_scanner.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp" +#include "duckdb/execution/operator/csv_scanner/util/csv_error.hpp" + +namespace duckdb { +struct ReadCSVData; +//! Struct holding information over a CSV File we will scan +class CSVFileScan { +public: + //! Constructor for when a CSV File Scan is being constructed over information acquired during sniffing + //! This means the options are alreadu set, and the buffer manager is already up and runinng. + CSVFileScan(ClientContext &context, shared_ptr buffer_manager, + shared_ptr state_machine, const CSVReaderOptions &options, + const ReadCSVData &bind_data, const vector &column_ids, vector &file_schema); + //! Constructor for new CSV Files, we must initialize the buffer manager and the state machine + //! Path to this file + CSVFileScan(ClientContext &context, const string &file_path, const CSVReaderOptions &options, const idx_t file_idx, + const ReadCSVData &bind_data, const vector &column_ids, + const vector &file_schema); + + CSVFileScan(ClientContext &context, const string &file_name, CSVReaderOptions &options); + + const string &GetFileName(); + const vector &GetNames(); + const vector &GetTypes(); + void InitializeProjection(); + + //! Initialize the actual names and types to be scanned from the file + void InitializeFileNamesTypes(); + const string file_path; + //! File Index + idx_t file_idx; + //! Buffer Manager for the CSV File + shared_ptr buffer_manager; + //! State Machine for this file + shared_ptr state_machine; + //! How many bytes were read up to this point + atomic bytes_read {0}; + //! Size of this file + idx_t file_size; + //! Line Info used in error messages + shared_ptr error_handler; + //! Whether or not this is an on-disk file + bool on_disk_file = true; + + vector names; + vector types; + MultiFileReaderData reader_data; + + vector file_types; + + //! Variables to handle projection pushdown + set projected_columns; + std::vector> projection_ids; + + //! Options for this CSV Reader + CSVReaderOptions options; +}; +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/csv_scanner/table_function/global_csv_state.hpp b/src/include/duckdb/execution/operator/csv_scanner/table_function/global_csv_state.hpp new file mode 100644 index 000000000000..edd7062481ec --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/table_function/global_csv_state.hpp @@ -0,0 +1,80 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/table_function/global_csv_state.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/scanner_boundary.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine.hpp" +#include "duckdb/execution/operator/csv_scanner/util/csv_error.hpp" +#include "duckdb/function/table/read_csv.hpp" +#include "duckdb/execution/operator/csv_scanner/table_function/csv_file_scanner.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp" + +namespace duckdb { + +//! CSV Global State is used in the CSV Reader Table Function, it controls what each thread +struct CSVGlobalState : public GlobalTableFunctionState { +public: + CSVGlobalState(ClientContext &context, const shared_ptr &buffer_manager_p, + const CSVReaderOptions &options, idx_t system_threads_p, const vector &files, + vector column_ids_p, const ReadCSVData &bind_data); + + ~CSVGlobalState() override { + } + + //! Generates a CSV Scanner, with information regarding the piece of buffer it should be read. + //! In case it returns a nullptr it means we are done reading these files. + unique_ptr Next(); + + void FillRejectsTable(); + + void DecrementThread(); + + //! Returns Current Progress of this CSV Read + double GetProgress(const ReadCSVData &bind_data) const; + + //! Calculates the Max Threads that will be used by this CSV Reader + idx_t MaxThreads() const override; + //! We hold information on the current scanner boundary + CSVIterator current_boundary; + +private: + //! Reference to the client context that created this scan + ClientContext &context; + + vector> file_scans; + + //! Mutex to lock when getting next batch of bytes (Parallel Only) + mutex main_mutex; + + //! Basically max number of threads in DuckDB + idx_t system_threads; + + //! Number of threads being used in this scanner + idx_t running_threads = 1; + //! The column ids to read + vector column_ids; + + string sniffer_mismatch_error; + + bool finished = false; + + const ReadCSVData &bind_data; + + vector file_schema; + + bool single_threaded = false; + + atomic scanner_idx; + + atomic last_file_idx; + shared_ptr current_buffer_in_use; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/csv_scanner/util/csv_casting.hpp b/src/include/duckdb/execution/operator/csv_scanner/util/csv_casting.hpp new file mode 100644 index 000000000000..7a21264d09c8 --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/util/csv_casting.hpp @@ -0,0 +1,137 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/util/csv_casting.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" +#include "duckdb/common/vector_operations/unary_executor.hpp" +#include "duckdb/common/operator/cast_operators.hpp" +#include "duckdb/common/operator/decimal_cast_operators.hpp" + +namespace duckdb { +class CSVCast { + template + static bool TemplatedTryCastFloatingVector(const CSVReaderOptions &options, Vector &input_vector, + Vector &result_vector, idx_t count, string &error_message, + idx_t &line_error) { + D_ASSERT(input_vector.GetType().id() == LogicalTypeId::VARCHAR); + bool all_converted = true; + idx_t row = 0; + UnaryExecutor::Execute(input_vector, result_vector, count, [&](string_t input) { + T result; + if (!OP::Operation(input, result, &error_message)) { + line_error = row; + all_converted = false; + } else { + row++; + } + return result; + }); + return all_converted; + } + + template + static bool TemplatedTryCastDecimalVector(const CSVReaderOptions &options, Vector &input_vector, + Vector &result_vector, idx_t count, string &error_message, uint8_t width, + uint8_t scale) { + D_ASSERT(input_vector.GetType().id() == LogicalTypeId::VARCHAR); + bool all_converted = true; + UnaryExecutor::Execute(input_vector, result_vector, count, [&](string_t input) { + T result; + if (!OP::Operation(input, result, &error_message, width, scale)) { + all_converted = false; + } + return result; + }); + return all_converted; + } + + struct TryCastDateOperator { + static bool Operation(const map> &options, string_t input, + date_t &result, string &error_message) { + return options.at(LogicalTypeId::DATE).GetValue().TryParseDate(input, result, error_message); + } + }; + + struct TryCastTimestampOperator { + static bool Operation(const map> &options, string_t input, + timestamp_t &result, string &error_message) { + return options.at(LogicalTypeId::TIMESTAMP).GetValue().TryParseTimestamp(input, result, error_message); + } + }; + + template + static bool TemplatedTryCastDateVector(const map> &options, + Vector &input_vector, Vector &result_vector, idx_t count, + string &error_message, idx_t &line_error) { + D_ASSERT(input_vector.GetType().id() == LogicalTypeId::VARCHAR); + bool all_converted = true; + idx_t cur_line = 0; + UnaryExecutor::Execute(input_vector, result_vector, count, [&](string_t input) { + T result; + if (!OP::Operation(options, input, result, error_message)) { + line_error = cur_line; + all_converted = false; + } + cur_line++; + return result; + }); + return all_converted; + } + +public: + static bool TryCastDateVector(const map> &options, Vector &input_vector, + Vector &result_vector, idx_t count, string &error_message, idx_t &line_error) { + return TemplatedTryCastDateVector(options, input_vector, result_vector, count, + error_message, line_error); + } + static bool TryCastTimestampVector(const map> &options, + Vector &input_vector, Vector &result_vector, idx_t count, + string &error_message) { + idx_t line_error; + return TemplatedTryCastDateVector(options, input_vector, result_vector, + count, error_message, line_error); + } + static bool TryCastFloatingVectorCommaSeparated(const CSVReaderOptions &options, Vector &input_vector, + Vector &result_vector, idx_t count, string &error_message, + const LogicalType &result_type, idx_t &line_error) { + switch (result_type.InternalType()) { + case PhysicalType::DOUBLE: + return TemplatedTryCastFloatingVector( + options, input_vector, result_vector, count, error_message, line_error); + case PhysicalType::FLOAT: + return TemplatedTryCastFloatingVector( + options, input_vector, result_vector, count, error_message, line_error); + default: + throw InternalException("Unimplemented physical type for floating"); + } + } + static bool TryCastDecimalVectorCommaSeparated(const CSVReaderOptions &options, Vector &input_vector, + Vector &result_vector, idx_t count, string &error_message, + const LogicalType &result_type) { + auto width = DecimalType::GetWidth(result_type); + auto scale = DecimalType::GetScale(result_type); + switch (result_type.InternalType()) { + case PhysicalType::INT16: + return TemplatedTryCastDecimalVector( + options, input_vector, result_vector, count, error_message, width, scale); + case PhysicalType::INT32: + return TemplatedTryCastDecimalVector( + options, input_vector, result_vector, count, error_message, width, scale); + case PhysicalType::INT64: + return TemplatedTryCastDecimalVector( + options, input_vector, result_vector, count, error_message, width, scale); + case PhysicalType::INT128: + return TemplatedTryCastDecimalVector( + options, input_vector, result_vector, count, error_message, width, scale); + default: + throw InternalException("Unimplemented physical type for decimal"); + } + } +}; +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/csv_scanner/util/csv_error.hpp b/src/include/duckdb/execution/operator/csv_scanner/util/csv_error.hpp new file mode 100644 index 000000000000..f166f86abe50 --- /dev/null +++ b/src/include/duckdb/execution/operator/csv_scanner/util/csv_error.hpp @@ -0,0 +1,104 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/csv_scanner/util/csv_error.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/typedefs.hpp" +#include "duckdb/common/types/hash.hpp" +#include "duckdb/common/mutex.hpp" +#include "duckdb/common/unordered_map.hpp" +#include "duckdb/common/case_insensitive_map.hpp" +#include "duckdb/common/types/string_type.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" + +namespace duckdb { + +//! Object that holds information on how many lines each csv batch read. + +class LinesPerBoundary { +public: + LinesPerBoundary(); + LinesPerBoundary(idx_t boundary_idx, idx_t lines_in_batch); + + idx_t boundary_idx = 0; + idx_t lines_in_batch = 0; +}; + +enum CSVErrorType : uint8_t { + CAST_ERROR = 0, // If when casting a value from string to the column type fails + COLUMN_NAME_TYPE_MISMATCH = 1, // If there is a mismatch between Column Names and Types + INCORRECT_COLUMN_AMOUNT = 2, // If the CSV is missing a column + UNTERMINATED_QUOTES = 3, // If a quote is not terminated + SNIFFING = 4, // If something went wrong during sniffing and was not possible to find suitable candidates + MAXIMUM_LINE_SIZE = 5, // Maximum line size was exceeded by a line in the CSV File + NULLPADDED_QUOTED_NEW_VALUE = 6, // If the null_padding option is set and we have quoted new values in parallel + +}; + +class CSVError { +public: + CSVError(string error_message, CSVErrorType type, idx_t column_idx, vector row); + CSVError(string error_message, CSVErrorType type); + //! Produces error messages for column name -> type mismatch. + static CSVError ColumnTypesError(case_insensitive_map_t sql_types_per_column, const vector &names); + //! Produces error messages for casting errors + static CSVError CastError(const CSVReaderOptions &options, string &column_name, string &cast_error, + idx_t column_idx, vector &row); + //! Produces error for when the line size exceeds the maximum line size option + static CSVError LineSizeError(const CSVReaderOptions &options, idx_t actual_size); + //! Produces error for when the sniffer couldn't find viable options + static CSVError SniffingError(string &file_path); + //! Produces error messages for unterminated quoted values + static CSVError UnterminatedQuotesError(const CSVReaderOptions &options, string_t *vector_ptr, + idx_t vector_line_start, idx_t current_column); + //! Produces error messages for null_padding option is set and we have quoted new values in parallel + static CSVError NullPaddingFail(const CSVReaderOptions &options); + //! Produces error for incorrect (e.g., smaller and lower than the predefined) number of columns in a CSV Line + static CSVError IncorrectColumnAmountError(const CSVReaderOptions &options, string_t *vector_ptr, + idx_t vector_line_start, idx_t actual_columns); + //! Actual error message + string error_message; + //! Error Type + CSVErrorType type; + //! Column Index where error happened + idx_t column_idx; + //! Values from the row where error happened + vector row; +}; + +class CSVErrorHandler { +public: + CSVErrorHandler(bool ignore_errors = false); + //! Throws the error + void Error(LinesPerBoundary &error_info, CSVError &csv_error, bool force_error = false); + //! Throws the error + void Error(CSVError &csv_error); + //! Inserts a finished error info + void Insert(idx_t boundary_idx, idx_t rows); + vector> errors; + //! Return the 1-indexed line number + idx_t GetLine(LinesPerBoundary &error_info); + void NewMaxLineSize(idx_t scan_line_size); + idx_t GetMaxLineLength() { + return max_line_length; + } + +private: + //! If we should print the line of an error + bool PrintLineNumber(CSVError &error); + //! CSV Error Handler Mutex + mutex main_mutex; + //! Map of -> lines + unordered_map lines_per_batch_map; + idx_t max_line_length = 0; + bool ignore_errors = false; + + bool got_borked = false; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp b/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp index 04c152094ffa..88ae8f1b6a16 100644 --- a/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +++ b/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp @@ -33,10 +33,6 @@ class PhysicalBatchCollector : public PhysicalResultCollector { return true; } - bool IsSink() const override { - return true; - } - bool ParallelSink() const override { return true; } diff --git a/src/include/duckdb/execution/operator/helper/physical_buffered_collector.hpp b/src/include/duckdb/execution/operator/helper/physical_buffered_collector.hpp new file mode 100644 index 000000000000..08cbd1b8055e --- /dev/null +++ b/src/include/duckdb/execution/operator/helper/physical_buffered_collector.hpp @@ -0,0 +1,37 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/helper/physical_buffered_collector.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/helper/physical_result_collector.hpp" +#include "duckdb/main/buffered_data/simple_buffered_data.hpp" + +namespace duckdb { + +class PhysicalBufferedCollector : public PhysicalResultCollector { +public: + PhysicalBufferedCollector(PreparedStatementData &data, bool parallel); + + bool parallel; + +public: + unique_ptr GetResult(GlobalSinkState &state) override; + +public: + // Sink interface + SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override; + SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override; + + unique_ptr GetLocalSinkState(ExecutionContext &context) const override; + unique_ptr GetGlobalSinkState(ClientContext &context) const override; + + bool ParallelSink() const override; + bool SinkOrderDependent() const override; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/helper/physical_create_secret.hpp b/src/include/duckdb/execution/operator/helper/physical_create_secret.hpp new file mode 100644 index 000000000000..0a303b2df7d1 --- /dev/null +++ b/src/include/duckdb/execution/operator/helper/physical_create_secret.hpp @@ -0,0 +1,38 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/helper/physical_pragma.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/physical_operator.hpp" +#include "duckdb/parser/parsed_data/create_secret_info.hpp" + +namespace duckdb { + +//! PhysicalCreateSecret represents the CREATE SECRET operator +class PhysicalCreateSecret : public PhysicalOperator { +public: + static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::CREATE_SECRET; + +public: + PhysicalCreateSecret(CreateSecretInfo info_p, idx_t estimated_cardinality) + : PhysicalOperator(PhysicalOperatorType::CREATE_SECRET, {LogicalType::BOOLEAN}, estimated_cardinality), + info(std::move(info_p)) { + } + + CreateSecretInfo info; + +public: + // Source interface + SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override; + + bool IsSource() const override { + return true; + } +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/helper/physical_pragma.hpp b/src/include/duckdb/execution/operator/helper/physical_pragma.hpp index ff2c721da2bc..9dfc40c0e70e 100644 --- a/src/include/duckdb/execution/operator/helper/physical_pragma.hpp +++ b/src/include/duckdb/execution/operator/helper/physical_pragma.hpp @@ -9,8 +9,7 @@ #pragma once #include "duckdb/execution/physical_operator.hpp" -#include "duckdb/parser/parsed_data/pragma_info.hpp" -#include "duckdb/function/pragma_function.hpp" +#include "duckdb/parser/parsed_data/bound_pragma_info.hpp" namespace duckdb { @@ -20,15 +19,13 @@ class PhysicalPragma : public PhysicalOperator { static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::PRAGMA; public: - PhysicalPragma(PragmaFunction function_p, PragmaInfo info_p, idx_t estimated_cardinality) + PhysicalPragma(unique_ptr info_p, idx_t estimated_cardinality) : PhysicalOperator(PhysicalOperatorType::PRAGMA, {LogicalType::BOOLEAN}, estimated_cardinality), - function(std::move(function_p)), info(std::move(info_p)) { + info(std::move(info_p)) { } - //! The pragma function to call - PragmaFunction function; //! The context of the call - PragmaInfo info; + unique_ptr info; public: // Source interface diff --git a/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp b/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp index 40991b7274fb..a9e189f91168 100644 --- a/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp +++ b/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp @@ -13,7 +13,9 @@ namespace duckdb { -//! PhysicalReservoirSample represents a sample taken using reservoir sampling, which is a blocking sampling method +//! PhysicalReservoirSample represents a sample taken using reservoir sampling, +//! which is a blocking sampling method + class PhysicalReservoirSample : public PhysicalOperator { public: PhysicalReservoirSample(vector types, unique_ptr options, idx_t estimated_cardinality) @@ -35,7 +37,9 @@ class PhysicalReservoirSample : public PhysicalOperator { // Sink interface SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override; unique_ptr GetGlobalSinkState(ClientContext &context) const override; - + SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override; + SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context, + OperatorSinkFinalizeInput &input) const override; bool ParallelSink() const override { return true; } diff --git a/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp b/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp index 0485cd2798c6..d9b821e05d6c 100644 --- a/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +++ b/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp @@ -8,7 +8,6 @@ #pragma once -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/execution/operator/join/physical_join.hpp" namespace duckdb { @@ -47,7 +46,7 @@ class PhysicalBlockwiseNLJoin : public PhysicalJoin { SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override; bool IsSource() const override { - return IsRightOuterJoin(join_type); + return PropagatesBuildSide(join_type); } bool ParallelSource() const override { return true; diff --git a/src/include/duckdb/execution/operator/join/physical_delim_join.hpp b/src/include/duckdb/execution/operator/join/physical_delim_join.hpp index 0e3a77540cbc..d217ee038a30 100644 --- a/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +++ b/src/include/duckdb/execution/operator/join/physical_delim_join.hpp @@ -8,20 +8,17 @@ #pragma once -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/execution/physical_operator.hpp" namespace duckdb { + class PhysicalHashAggregate; -//! PhysicalDelimJoin represents a join where the LHS will be duplicate eliminated and pushed into a -//! PhysicalColumnDataScan in the RHS. +//! PhysicalDelimJoin represents a join where either the LHS or RHS will be duplicate eliminated and pushed into a +//! PhysicalColumnDataScan in the other side. Implementations are PhysicalLeftDelimJoin and PhysicalRightDelimJoin class PhysicalDelimJoin : public PhysicalOperator { public: - static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::DELIM_JOIN; - -public: - PhysicalDelimJoin(vector types, unique_ptr original_join, + PhysicalDelimJoin(PhysicalOperatorType type, vector types, unique_ptr original_join, vector> delim_scans, idx_t estimated_cardinality); unique_ptr join; @@ -31,14 +28,6 @@ class PhysicalDelimJoin : public PhysicalOperator { public: vector> GetChildren() const override; -public: - unique_ptr GetGlobalSinkState(ClientContext &context) const override; - unique_ptr GetLocalSinkState(ExecutionContext &context) const override; - SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override; - SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override; - SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context, - OperatorSinkFinalizeInput &input) const override; - bool IsSink() const override { return true; } @@ -51,10 +40,8 @@ class PhysicalDelimJoin : public PhysicalOperator { bool SinkOrderDependent() const override { return false; } - string ParamsToString() const override; -public: - void BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) override; + string ParamsToString() const override; }; } // namespace duckdb diff --git a/src/include/duckdb/execution/operator/join/physical_hash_join.hpp b/src/include/duckdb/execution/operator/join/physical_hash_join.hpp index 3947347d57f8..9fc80701493a 100644 --- a/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +++ b/src/include/duckdb/execution/operator/join/physical_hash_join.hpp @@ -8,7 +8,6 @@ #pragma once -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/common/value_operations/value_operations.hpp" #include "duckdb/execution/join_hashtable.hpp" #include "duckdb/execution/operator/join/perfect_hash_join_executor.hpp" @@ -35,11 +34,19 @@ class PhysicalHashJoin : public PhysicalComparisonJoin { //! Initialize HT for this operator unique_ptr InitializeHashTable(ClientContext &context) const; - vector right_projection_map; - //! The types of the keys + //! The types of the join keys vector condition_types; - //! The types of all conditions - vector build_types; + + //! The indices for getting the payload columns + vector payload_column_idxs; + //! The types of the payload columns + vector payload_types; + + //! Positions of the RHS columns that need to output + vector rhs_output_columns; + //! The types of the output + vector rhs_output_types; + //! Duplicate eliminated types; only used for delim_joins (i.e. correlated subqueries) vector delim_types; //! Used in perfect hash join @@ -64,6 +71,8 @@ class PhysicalHashJoin : public PhysicalComparisonJoin { GlobalSourceState &gstate) const override; SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override; + double GetProgress(ClientContext &context, GlobalSourceState &gstate) const override; + //! Becomes a source when it is an external join bool IsSource() const override { return true; diff --git a/src/include/duckdb/execution/operator/join/physical_iejoin.hpp b/src/include/duckdb/execution/operator/join/physical_iejoin.hpp index c7d251ad4c96..d7a140689893 100644 --- a/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +++ b/src/include/duckdb/execution/operator/join/physical_iejoin.hpp @@ -24,8 +24,8 @@ class PhysicalIEJoin : public PhysicalRangeJoin { vector cond, JoinType join_type, idx_t estimated_cardinality); vector join_key_types; - vector> lhs_orders; - vector> rhs_orders; + vector lhs_orders; + vector rhs_orders; public: // CachingOperator Interface diff --git a/src/include/duckdb/execution/operator/join/physical_index_join.hpp b/src/include/duckdb/execution/operator/join/physical_index_join.hpp deleted file mode 100644 index ebe2cb23acb8..000000000000 --- a/src/include/duckdb/execution/operator/join/physical_index_join.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb/execution/operator/join/physical_index_join.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb/common/types/chunk_collection.hpp" -#include "duckdb/execution/operator/join/physical_comparison_join.hpp" -#include "duckdb/execution/physical_operator.hpp" -#include "duckdb/planner/operator/logical_join.hpp" -#include "duckdb/storage/index.hpp" - -namespace duckdb { - -//! PhysicalIndexJoin represents an index join between two tables -class PhysicalIndexJoin : public CachingPhysicalOperator { -public: - static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::INDEX_JOIN; - -public: - PhysicalIndexJoin(LogicalOperator &op, unique_ptr left, unique_ptr right, - vector cond, JoinType join_type, const vector &left_projection_map, - vector right_projection_map, vector column_ids, Index &index, bool lhs_first, - idx_t estimated_cardinality); - - //! Columns from RHS used in the query - vector column_ids; - //! Columns to be fetched - vector fetch_ids; - //! Types of fetch columns - vector fetch_types; - //! Columns indexed by index - unordered_set index_ids; - //! Projected ids from LHS - vector left_projection_map; - //! Projected ids from RHS - vector right_projection_map; - //! The types of the keys - vector condition_types; - //! The types of all conditions - vector build_types; - //! Index used for join - Index &index; - - vector conditions; - - JoinType join_type; - //! In case we swap rhs with lhs we need to output columns related to rhs first. - bool lhs_first = true; - -public: - unique_ptr GetOperatorState(ExecutionContext &context) const override; - - OrderPreservationType OperatorOrder() const override { - return OrderPreservationType::NO_ORDER; - } - bool ParallelOperator() const override { - return true; - } - -protected: - OperatorResultType ExecuteInternal(ExecutionContext &context, DataChunk &input, DataChunk &chunk, - GlobalOperatorState &gstate, OperatorState &state) const override; - -public: - void BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) override; - vector> GetSources() const override; - -private: - void GetRHSMatches(ExecutionContext &context, DataChunk &input, OperatorState &state_p) const; - //! Fills result chunk - void Output(ExecutionContext &context, DataChunk &input, DataChunk &chunk, OperatorState &state_p) const; -}; - -} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/join/physical_join.hpp b/src/include/duckdb/execution/operator/join/physical_join.hpp index bcc25ebaaef1..2d92c37b082c 100644 --- a/src/include/duckdb/execution/operator/join/physical_join.hpp +++ b/src/include/duckdb/execution/operator/join/physical_join.hpp @@ -33,7 +33,8 @@ class PhysicalJoin : public CachingPhysicalOperator { bool has_null); public: - static void BuildJoinPipelines(Pipeline ¤t, MetaPipeline &confluent_pipelines, PhysicalOperator &op); + static void BuildJoinPipelines(Pipeline ¤t, MetaPipeline &confluent_pipelines, PhysicalOperator &op, + bool build_rhs = true); void BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) override; vector> GetSources() const override; diff --git a/src/include/duckdb/execution/operator/join/physical_left_delim_join.hpp b/src/include/duckdb/execution/operator/join/physical_left_delim_join.hpp new file mode 100644 index 000000000000..9c44a9a93f4e --- /dev/null +++ b/src/include/duckdb/execution/operator/join/physical_left_delim_join.hpp @@ -0,0 +1,37 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/join/physical_left_delim_join.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/join/physical_delim_join.hpp" + +namespace duckdb { + +//! PhysicalLeftDelimJoin represents a join where the LHS will be duplicate eliminated and pushed into a +//! PhysicalColumnDataScan in the RHS. +class PhysicalLeftDelimJoin : public PhysicalDelimJoin { +public: + static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::LEFT_DELIM_JOIN; + +public: + PhysicalLeftDelimJoin(vector types, unique_ptr original_join, + vector> delim_scans, idx_t estimated_cardinality); + +public: + unique_ptr GetGlobalSinkState(ClientContext &context) const override; + unique_ptr GetLocalSinkState(ExecutionContext &context) const override; + SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override; + SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override; + SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context, + OperatorSinkFinalizeInput &input) const override; + +public: + void BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) override; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp b/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp index 3106023042fa..85fef3ff0566 100644 --- a/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp +++ b/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp @@ -8,7 +8,6 @@ #pragma once -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/execution/operator/join/physical_comparison_join.hpp" namespace duckdb { @@ -43,7 +42,7 @@ class PhysicalNestedLoopJoin : public PhysicalComparisonJoin { SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override; bool IsSource() const override { - return IsRightOuterJoin(join_type); + return PropagatesBuildSide(join_type); } bool ParallelSource() const override { return true; diff --git a/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp b/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp index 59c3ca546b22..6164f83fe601 100644 --- a/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp +++ b/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp @@ -49,7 +49,7 @@ class PhysicalPiecewiseMergeJoin : public PhysicalRangeJoin { SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override; bool IsSource() const override { - return IsRightOuterJoin(join_type); + return PropagatesBuildSide(join_type); } bool ParallelSource() const override { return true; diff --git a/src/include/duckdb/execution/operator/join/physical_range_join.hpp b/src/include/duckdb/execution/operator/join/physical_range_join.hpp index ef9f0343d060..46f30d388471 100644 --- a/src/include/duckdb/execution/operator/join/physical_range_join.hpp +++ b/src/include/duckdb/execution/operator/join/physical_range_join.hpp @@ -45,7 +45,7 @@ class PhysicalRangeJoin : public PhysicalComparisonJoin { private: // Merge the NULLs of all non-DISTINCT predicates into the primary so they sort to the end. - idx_t MergeNulls(const vector &conditions); + idx_t MergeNulls(Vector &primary, const vector &conditions); }; class GlobalSortedTable { diff --git a/src/include/duckdb/execution/operator/join/physical_right_delim_join.hpp b/src/include/duckdb/execution/operator/join/physical_right_delim_join.hpp new file mode 100644 index 000000000000..394cc58bfac7 --- /dev/null +++ b/src/include/duckdb/execution/operator/join/physical_right_delim_join.hpp @@ -0,0 +1,37 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/join/physical_right_delim_join.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/operator/join/physical_delim_join.hpp" + +namespace duckdb { + +//! PhysicalRightDelimJoin represents a join where the RHS will be duplicate eliminated and pushed into a +//! PhysicalColumnDataScan in the LHS. +class PhysicalRightDelimJoin : public PhysicalDelimJoin { +public: + static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::RIGHT_DELIM_JOIN; + +public: + PhysicalRightDelimJoin(vector types, unique_ptr original_join, + vector> delim_scans, idx_t estimated_cardinality); + +public: + unique_ptr GetGlobalSinkState(ClientContext &context) const override; + unique_ptr GetLocalSinkState(ExecutionContext &context) const override; + SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override; + SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override; + SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context, + OperatorSinkFinalizeInput &input) const override; + +public: + void BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) override; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/order/physical_order.hpp b/src/include/duckdb/execution/operator/order/physical_order.hpp index cb8a17741dea..2a02ffd139f4 100644 --- a/src/include/duckdb/execution/operator/order/physical_order.hpp +++ b/src/include/duckdb/execution/operator/order/physical_order.hpp @@ -8,7 +8,6 @@ #pragma once -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/execution/physical_operator.hpp" #include "duckdb/parallel/pipeline.hpp" #include "duckdb/planner/bound_query_node.hpp" diff --git a/src/include/duckdb/execution/operator/order/physical_top_n.hpp b/src/include/duckdb/execution/operator/order/physical_top_n.hpp index 87e743f4282d..bf5047d6849b 100644 --- a/src/include/duckdb/execution/operator/order/physical_top_n.hpp +++ b/src/include/duckdb/execution/operator/order/physical_top_n.hpp @@ -8,7 +8,6 @@ #pragma once -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/execution/physical_operator.hpp" #include "duckdb/planner/bound_query_node.hpp" diff --git a/src/include/duckdb/execution/operator/persistent/physical_copy_database.hpp b/src/include/duckdb/execution/operator/persistent/physical_copy_database.hpp new file mode 100644 index 000000000000..8110c7072d9b --- /dev/null +++ b/src/include/duckdb/execution/operator/persistent/physical_copy_database.hpp @@ -0,0 +1,35 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/operator/persistent/physical_copy_database.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/execution/physical_operator.hpp" +#include "duckdb/planner/operator/logical_copy_database.hpp" + +namespace duckdb { + +class PhysicalCopyDatabase : public PhysicalOperator { +public: + static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::COPY_DATABASE; + +public: + PhysicalCopyDatabase(vector types, idx_t estimated_cardinality, unique_ptr info_p); + ~PhysicalCopyDatabase() override; + + unique_ptr info; + +public: + // Source interface + SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override; + + bool IsSource() const override { + return true; + } +}; + +} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp b/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp index 55e64dca0ef4..e9121fd4f270 100644 --- a/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +++ b/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp @@ -8,11 +8,11 @@ #pragma once -#include "duckdb/execution/physical_operator.hpp" -#include "duckdb/parser/parsed_data/copy_info.hpp" -#include "duckdb/function/copy_function.hpp" #include "duckdb/common/file_system.hpp" #include "duckdb/common/filename_pattern.hpp" +#include "duckdb/execution/physical_operator.hpp" +#include "duckdb/function/copy_function.hpp" +#include "duckdb/parser/parsed_data/copy_info.hpp" namespace duckdb { @@ -30,9 +30,11 @@ class PhysicalCopyToFile : public PhysicalOperator { string file_path; bool use_tmp_file; FilenamePattern filename_pattern; + string file_extension; bool overwrite_or_ignore; bool parallel; bool per_thread_output; + optional_idx file_size_bytes; bool partition_output; vector partition_columns; @@ -69,5 +71,8 @@ class PhysicalCopyToFile : public PhysicalOperator { } static void MoveTmpFile(ClientContext &context, const string &tmp_file_path); + +private: + unique_ptr CreateFileState(ClientContext &context, GlobalSinkState &sink) const; }; } // namespace duckdb diff --git a/src/include/duckdb/execution/operator/persistent/physical_export.hpp b/src/include/duckdb/execution/operator/persistent/physical_export.hpp index 54622e4d3375..a74b270fc555 100644 --- a/src/include/duckdb/execution/operator/persistent/physical_export.hpp +++ b/src/include/duckdb/execution/operator/persistent/physical_export.hpp @@ -16,6 +16,17 @@ #include "duckdb/parser/parsed_data/exported_table_data.hpp" namespace duckdb { + +struct ExportEntries { + vector> schemas; + vector> custom_types; + vector> sequences; + vector> tables; + vector> views; + vector> indexes; + vector> macros; +}; + //! Parse a file from disk using a specified copy function and return the set of chunks retrieved from the file class PhysicalExport : public PhysicalOperator { public: @@ -44,6 +55,9 @@ class PhysicalExport : public PhysicalOperator { return true; } + static void ExtractEntries(ClientContext &context, vector> &schemas, + ExportEntries &result); + public: // Sink interface SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override; diff --git a/src/include/duckdb/execution/operator/scan/csv/base_csv_reader.hpp b/src/include/duckdb/execution/operator/scan/csv/base_csv_reader.hpp deleted file mode 100644 index 388a7813bc4d..000000000000 --- a/src/include/duckdb/execution/operator/scan/csv/base_csv_reader.hpp +++ /dev/null @@ -1,119 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb/execution/operator/scan/csv/base_csv_reader.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb/execution/physical_operator.hpp" -#include "duckdb/parser/parsed_data/copy_info.hpp" -#include "duckdb/function/scalar/strftime_format.hpp" -#include "duckdb/common/types/chunk_collection.hpp" -#include "duckdb/common/enums/file_compression_type.hpp" -#include "duckdb/common/map.hpp" -#include "duckdb/common/queue.hpp" -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" -#include "duckdb/common/multi_file_reader.hpp" -#include "duckdb/execution/operator/scan/csv/csv_line_info.hpp" - -#include - -namespace duckdb { -struct CopyInfo; -struct CSVFileHandle; -struct FileHandle; -struct StrpTimeFormat; - -class FileOpener; -class FileSystem; - -enum class ParserMode : uint8_t { PARSING = 0, SNIFFING_DATATYPES = 1, PARSING_HEADER = 2 }; - -//! Buffered CSV reader is a class that reads values from a stream and parses them as a CSV file -class BaseCSVReader { -public: - BaseCSVReader(ClientContext &context, CSVReaderOptions options, - const vector &requested_types = vector()); - virtual ~BaseCSVReader(); - - ClientContext &context; - FileSystem &fs; - Allocator &allocator; - CSVReaderOptions options; - vector return_types; - vector names; - MultiFileReaderData reader_data; - - idx_t linenr = 0; - bool linenr_estimated = false; - - bool row_empty = false; - bool bom_checked = false; - - idx_t bytes_in_chunk = 0; - - DataChunk parse_chunk; - - ParserMode mode; - -public: - const string &GetFileName() { - return options.file_path; - } - const vector &GetNames() { - return names; - } - const vector &GetTypes() { - return return_types; - } - //! Get the 1-indexed global line number for the given local error line - virtual idx_t GetLineError(idx_t line_error, idx_t buffer_idx, bool stop_at_first = true) { - return line_error + 1; - }; - - virtual void Increment(idx_t buffer_idx) { - return; - } - - //! Initialize projection indices to select all columns - void InitializeProjection(); - - static unique_ptr OpenCSV(ClientContext &context, const CSVReaderOptions &options); - - static bool TryCastDateVector(map &options, Vector &input_vector, - Vector &result_vector, idx_t count, string &error_message, idx_t &line_error); - - static bool TryCastTimestampVector(map &options, Vector &input_vector, - Vector &result_vector, idx_t count, string &error_message); - -protected: - //! Initializes the parse_chunk with varchar columns and aligns info with new number of cols - void InitParseChunk(idx_t num_cols); - //! Adds a value to the current row - void AddValue(string_t str_val, idx_t &column, vector &escape_positions, bool has_quotes, - idx_t buffer_idx = 0); - //! Adds a row to the insert_chunk, returns true if the chunk is filled as a result of this row being added - bool AddRow(DataChunk &insert_chunk, idx_t &column, string &error_message, idx_t buffer_idx = 0); - //! Finalizes a chunk, parsing all values that have been added so far and adding them to the insert_chunk - bool Flush(DataChunk &insert_chunk, idx_t buffer_idx = 0, bool try_add_line = false); - - void VerifyUTF8(idx_t col_idx); - void VerifyUTF8(idx_t col_idx, idx_t row_idx, DataChunk &chunk, int64_t offset = 0); - string GetLineNumberStr(idx_t linenr, bool linenr_estimated, idx_t buffer_idx = 0); - - //! Sets the newline delimiter - void SetNewLineDelimiter(bool carry = false, bool carry_followed_by_nl = false); - - //! Verifies that the line length did not go over a pre-defined limit. - void VerifyLineLength(idx_t line_size, idx_t buffer_idx = 0); - -protected: - //! Whether or not the current row's columns have overflown return_types.size() - bool error_column_overflow = false; - //! Number of sniffed columns - only used when auto-detecting -}; - -} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp b/src/include/duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp deleted file mode 100644 index 0dc156771937..000000000000 --- a/src/include/duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp" -#include "duckdb/execution/operator/scan/csv/base_csv_reader.hpp" -#include "duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp" - -namespace duckdb { -struct CopyInfo; -struct CSVFileHandle; -struct FileHandle; -struct StrpTimeFormat; - -class FileOpener; -class FileSystem; - -//! Buffered CSV reader is a class that reads values from a stream and parses them as a CSV file -class BufferedCSVReader : public BaseCSVReader { - //! Initial buffer read size; can be extended for long lines - static constexpr idx_t INITIAL_BUFFER_SIZE = 16384; - //! Larger buffer size for non disk files - static constexpr idx_t INITIAL_BUFFER_SIZE_LARGE = 10000000; // 10MB - -public: - BufferedCSVReader(ClientContext &context, CSVReaderOptions options, - const vector &requested_types = vector()); - BufferedCSVReader(ClientContext &context, string filename, CSVReaderOptions options, - const vector &requested_types = vector()); - virtual ~BufferedCSVReader() { - } - - unsafe_unique_array buffer; - idx_t buffer_size; - idx_t position; - idx_t start = 0; - - vector> cached_buffers; - - unique_ptr file_handle; - //! CSV State Machine Cache - CSVStateMachineCache state_machine_cache; - -public: - //! Extract a single DataChunk from the CSV file and stores it in insert_chunk - void ParseCSV(DataChunk &insert_chunk); - static string ColumnTypesError(case_insensitive_map_t sql_types_per_column, const vector &names); - -private: - //! Initialize Parser - void Initialize(const vector &requested_types); - //! Skips skip_rows, reads header row from input stream - void SkipRowsAndReadHeader(idx_t skip_rows, bool skip_header); - //! Resets the buffer - void ResetBuffer(); - //! Reads a new buffer from the CSV file if the current one has been exhausted - bool ReadBuffer(idx_t &start, idx_t &line_start); - //! Try to parse a single datachunk from the file. Throws an exception if anything goes wrong. - void ParseCSV(ParserMode mode); - //! Extract a single DataChunk from the CSV file and stores it in insert_chunk - bool TryParseCSV(ParserMode mode, DataChunk &insert_chunk, string &error_message); - //! Skip Empty lines for tables with over one column - void SkipEmptyLines(); -}; - -} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp b/src/include/duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp deleted file mode 100644 index 169ac0be985c..000000000000 --- a/src/include/duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp +++ /dev/null @@ -1,103 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb/main/client_context.hpp" -#include "duckdb/execution/operator/scan/csv/csv_file_handle.hpp" -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" - -namespace duckdb { -class CSVBuffer; -class CSVStateMachine; - -//! This class is used to manage the CSV buffers. Buffers are cached when used for auto detection. -//! When parsing, buffer are not cached and just returned. -class CSVBufferManager { -public: - CSVBufferManager(ClientContext &context, unique_ptr file_handle, const CSVReaderOptions &options, - idx_t file_idx = 0); - //! Returns a buffer from a buffer id (starting from 0). If it's in the auto-detection then we cache new buffers - //! Otherwise we remove them from the cache if they are already there, or just return them bypassing the cache. - unique_ptr GetBuffer(const idx_t pos); - //! Returns the starting position of the first buffer - idx_t GetStartPos(); - //! unique_ptr to the file handle, gets stolen after sniffing - unique_ptr file_handle; - //! Initializes the buffer manager, during it's construction/reset - void Initialize(); - - void UnpinBuffer(idx_t cache_idx); - - ClientContext &context; - idx_t skip_rows = 0; - idx_t file_idx; - bool done = false; - -private: - //! Reads next buffer in reference to cached_buffers.front() - bool ReadNextAndCacheIt(); - vector> cached_buffers; - shared_ptr last_buffer; - idx_t global_csv_pos = 0; - //! The size of the buffer, if the csv file has a smaller size than this, we will use that instead to malloc less - idx_t buffer_size; - //! Starting position of first buffer - idx_t start_pos = 0; -}; - -class CSVBufferIterator { -public: - explicit CSVBufferIterator(shared_ptr buffer_manager_p) - : buffer_manager(std::move(buffer_manager_p)) { - cur_pos = buffer_manager->GetStartPos(); - }; - - //! This functions templates an operation over the CSV File - template - inline bool Process(CSVStateMachine &machine, T &result) { - - OP::Initialize(machine); - //! If current buffer is not set we try to get a new one - if (!cur_buffer_handle) { - cur_pos = 0; - if (cur_buffer_idx == 0) { - cur_pos = buffer_manager->GetStartPos(); - } - cur_buffer_handle = buffer_manager->GetBuffer(cur_buffer_idx++); - D_ASSERT(cur_buffer_handle); - } - while (cur_buffer_handle) { - char *buffer_handle_ptr = cur_buffer_handle->Ptr(); - while (cur_pos < cur_buffer_handle->actual_size) { - if (OP::Process(machine, result, buffer_handle_ptr[cur_pos], cur_pos)) { - //! Not-Done Processing the File, but the Operator is happy! - OP::Finalize(machine, result); - return false; - } - cur_pos++; - } - cur_buffer_handle = buffer_manager->GetBuffer(cur_buffer_idx++); - cur_pos = 0; - } - //! Done Processing the File - OP::Finalize(machine, result); - return true; - } - //! Returns true if the iterator is finished - bool Finished(); - //! Resets the iterator - void Reset(); - -private: - idx_t cur_pos = 0; - idx_t cur_buffer_idx = 0; - shared_ptr buffer_manager; - unique_ptr cur_buffer_handle; -}; -} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/scan/csv/csv_line_info.hpp b/src/include/duckdb/execution/operator/scan/csv/csv_line_info.hpp deleted file mode 100644 index b5713283a8ea..000000000000 --- a/src/include/duckdb/execution/operator/scan/csv/csv_line_info.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb/execution/operator/scan/csv/csv_line_info.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -namespace duckdb { -struct LineInfo { -public: - explicit LineInfo(mutex &main_mutex_p, vector> &batch_to_tuple_end_p, - vector> &tuple_start_p, vector> &tuple_end_p) - : main_mutex(main_mutex_p), batch_to_tuple_end(batch_to_tuple_end_p), tuple_start(tuple_start_p), - tuple_end(tuple_end_p) {}; - bool CanItGetLine(idx_t file_idx, idx_t batch_idx); - - //! Return the 1-indexed line number - idx_t GetLine(idx_t batch_idx, idx_t line_error = 0, idx_t file_idx = 0, idx_t cur_start = 0, bool verify = true, - bool stop_at_first = true); - //! In case an error happened we have to increment the lines read of that batch - void Increment(idx_t file_idx, idx_t batch_idx); - //! Verify if the CSV File was read correctly from [0,batch_idx] batches. - void Verify(idx_t file_idx, idx_t batch_idx, idx_t cur_first_pos); - //! Lines read per batch, > - vector> lines_read; - //! Lines read per batch, > - vector> lines_errored; - //! Set of batches that have been initialized but are not yet finished. - vector> current_batches; - //! Pointer to CSV Reader Mutex - mutex &main_mutex; - //! Pointer Batch to Tuple End - vector> &batch_to_tuple_end; - //! Pointer Batch to Tuple Start - vector> &tuple_start; - //! Pointer Batch to Tuple End - vector> &tuple_end; - //! If we already threw an exception on a previous thread. - bool done = false; - idx_t first_line = 0; -}; - -} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/scan/csv/csv_state_machine.hpp b/src/include/duckdb/execution/operator/scan/csv/csv_state_machine.hpp deleted file mode 100644 index 94bb525d2d59..000000000000 --- a/src/include/duckdb/execution/operator/scan/csv/csv_state_machine.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb/execution/operator/scan/csv/csv_state_machine.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" -#include "duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp" -#include "duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp" - -namespace duckdb { - -//! The CSV State Machine comprises a state transition array (STA). -//! The STA indicates the current state of parsing based on both the current and preceding characters. -//! This reveals whether we are dealing with a Field, a New Line, a Delimiter, and so forth. -//! The STA's creation depends on the provided quote, character, and delimiter options for that state machine. -//! The motivation behind implementing an STA is to remove branching in regular CSV Parsing by predicting and detecting -//! the states. Note: The State Machine is currently utilized solely in the CSV Sniffer. -class CSVStateMachine { -public: - explicit CSVStateMachine(CSVReaderOptions &options_p, const CSVStateMachineOptions &state_machine_options, - shared_ptr buffer_manager_p, - CSVStateMachineCache &csv_state_machine_cache_p); - - //! Transition all states to next state, that depends on the current char - inline void Transition(char current_char) { - pre_previous_state = previous_state; - previous_state = state; - state = transition_array[state][static_cast(current_char)]; - } - - //! Resets the state machine, so it can be used again - void Reset(); - - //! Aux Function for string UTF8 Verification - void VerifyUTF8(); - - CSVStateMachineCache &csv_state_machine_cache; - - const CSVReaderOptions &options; - CSVBufferIterator csv_buffer_iterator; - //! Stores identified start row for this file (e.g., a file can start with garbage like notes, before the header) - idx_t start_row = 0; - //! The Transition Array is a Finite State Machine - //! It holds the transitions of all states, on all 256 possible different characters - const StateMachine &transition_array; - - //! Both these variables are used for new line identifier detection - bool single_record_separator = false; - bool carry_on_separator = false; - - //! Variables Used for Sniffing - CSVState state; - CSVState previous_state; - CSVState pre_previous_state; - idx_t cur_rows; - idx_t column_count; - string value; - idx_t rows_read; - idx_t line_start_pos = 0; - - //! Dialect options resulting from sniffing - DialectOptions dialect_options; -}; - -} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/scan/csv/parallel_csv_reader.hpp b/src/include/duckdb/execution/operator/scan/csv/parallel_csv_reader.hpp deleted file mode 100644 index a3d14feff95b..000000000000 --- a/src/include/duckdb/execution/operator/scan/csv/parallel_csv_reader.hpp +++ /dev/null @@ -1,167 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb/execution/operator/scan/csv/parallel_csv_reader.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb/execution/operator/scan/csv/base_csv_reader.hpp" -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" -#include "duckdb/execution/operator/scan/csv/csv_file_handle.hpp" -#include "duckdb/execution/operator/scan/csv/csv_buffer.hpp" -#include "duckdb/execution/operator/scan/csv/csv_line_info.hpp" - -#include -#include - -namespace duckdb { - -struct CSVBufferRead { - CSVBufferRead(unique_ptr buffer_p, idx_t buffer_start_p, idx_t buffer_end_p, idx_t batch_index, - idx_t local_batch_index_p, optional_ptr line_info_p) - : buffer(std::move(buffer_p)), line_info(line_info_p), buffer_start(buffer_start_p), buffer_end(buffer_end_p), - batch_index(batch_index), local_batch_index(local_batch_index_p) { - D_ASSERT(buffer); - if (buffer_end > buffer->actual_size) { - buffer_end = buffer->actual_size; - } - } - - CSVBufferRead(unique_ptr buffer_p, unique_ptr nxt_buffer_p, idx_t buffer_start_p, - idx_t buffer_end_p, idx_t batch_index, idx_t local_batch_index, optional_ptr line_info_p) - : CSVBufferRead(std::move(buffer_p), buffer_start_p, buffer_end_p, batch_index, local_batch_index, - line_info_p) { - next_buffer = std::move(nxt_buffer_p); - } - - CSVBufferRead() : buffer_start(0), buffer_end(NumericLimits::Maximum()) {}; - - const char &operator[](size_t i) const { - if (i < buffer->actual_size) { - auto buffer_ptr = buffer->Ptr(); - return buffer_ptr[i]; - } - auto next_ptr = next_buffer->Ptr(); - return next_ptr[i - buffer->actual_size]; - } - - string_t GetValue(idx_t start_buffer, idx_t position_buffer, idx_t offset) { - idx_t length = position_buffer - start_buffer - offset; - // 1) It's all in the current buffer - if (start_buffer + length <= buffer->actual_size) { - auto buffer_ptr = buffer->Ptr(); - return string_t(buffer_ptr + start_buffer, length); - } else if (start_buffer >= buffer->actual_size) { - // 2) It's all in the next buffer - D_ASSERT(next_buffer); - D_ASSERT(next_buffer->actual_size >= length + (start_buffer - buffer->actual_size)); - auto buffer_ptr = next_buffer->Ptr(); - return string_t(buffer_ptr + (start_buffer - buffer->actual_size), length); - } else { - // 3) It starts in the current buffer and ends in the next buffer - D_ASSERT(next_buffer); - auto intersection = make_unsafe_uniq_array(length); - idx_t cur_pos = 0; - auto buffer_ptr = buffer->Ptr(); - for (idx_t i = start_buffer; i < buffer->actual_size; i++) { - intersection[cur_pos++] = buffer_ptr[i]; - } - idx_t nxt_buffer_pos = 0; - auto next_buffer_ptr = next_buffer->Ptr(); - for (; cur_pos < length; cur_pos++) { - intersection[cur_pos] = next_buffer_ptr[nxt_buffer_pos++]; - } - intersections.emplace_back(std::move(intersection)); - return string_t(intersections.back().get(), length); - } - } - - unique_ptr buffer; - unique_ptr next_buffer; - vector> intersections; - optional_ptr line_info; - - idx_t buffer_start; - idx_t buffer_end; - idx_t batch_index; - idx_t local_batch_index; - idx_t lines_read = 0; -}; - -struct VerificationPositions { - idx_t beginning_of_first_line = 0; - idx_t end_of_last_line = 0; -}; - -//! CSV Reader for Parallel Reading -class ParallelCSVReader : public BaseCSVReader { -public: - ParallelCSVReader(ClientContext &context, CSVReaderOptions options, unique_ptr buffer, - idx_t first_pos_first_buffer, const vector &requested_types, idx_t file_idx_p); - virtual ~ParallelCSVReader() { - } - - //! Current Position (Relative to the Buffer) - idx_t position_buffer = 0; - - //! Start of the piece of the buffer this thread should read - idx_t start_buffer = 0; - //! End of the piece of this buffer this thread should read - idx_t end_buffer = NumericLimits::Maximum(); - //! The actual buffer size - idx_t buffer_size = 0; - - //! If this flag is set, it means we are about to try to read our last row. - bool reached_remainder_state = false; - - bool finished = false; - - unique_ptr buffer; - - idx_t file_idx; - - VerificationPositions GetVerificationPositions(); - - //! Position of the first read line and last read line for verification purposes - VerificationPositions verification_positions; - -public: - void SetBufferRead(unique_ptr buffer); - //! Extract a single DataChunk from the CSV file and stores it in insert_chunk - void ParseCSV(DataChunk &insert_chunk); - - idx_t GetLineError(idx_t line_error, idx_t buffer_idx, bool stop_at_first = true) override; - void Increment(idx_t buffer_idx) override; - -private: - //! Initialize Parser - void Initialize(const vector &requested_types); - //! Try to parse a single datachunk from the file. Throws an exception if anything goes wrong. - void ParseCSV(ParserMode mode); - //! Try to parse a single datachunk from the file. Returns whether or not the parsing is successful - bool TryParseCSV(ParserMode mode); - //! Extract a single DataChunk from the CSV file and stores it in insert_chunk - bool TryParseCSV(ParserMode mode, DataChunk &insert_chunk, string &error_message); - //! Sets Position depending on the byte_start of this thread - bool SetPosition(); - //! Called when scanning the 1st buffer, skips empty lines - bool SkipEmptyLines(); - //! When a buffer finishes reading its piece, it still can try to scan up to the real end of the buffer - //! Up to finding a new line. This function sets the buffer_end and marks a boolean variable - //! when changing the buffer end the first time. - //! It returns FALSE if the parser should jump to the final state of parsing or not - bool BufferRemainder(); - - bool NewLineDelimiter(bool carry, bool carry_followed_by_nl, bool first_char); - - //! Parses a CSV file with a one-byte delimiter, escape and quote character - bool TryParseSimpleCSV(DataChunk &insert_chunk, string &error_message, bool try_add_line = false); - - //! First Position of First Buffer - idx_t first_pos_first_buffer = 0; -}; - -} // namespace duckdb diff --git a/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp b/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp index 17dc8edb4627..57e452fb57d3 100644 --- a/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +++ b/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp @@ -23,10 +23,7 @@ class PhysicalColumnDataScan : public PhysicalOperator { unique_ptr owned_collection = nullptr); PhysicalColumnDataScan(vector types, PhysicalOperatorType op_type, idx_t estimated_cardinality, - idx_t cte_index) - : PhysicalOperator(op_type, std::move(types), estimated_cardinality), collection(nullptr), - cte_index(cte_index) { - } + idx_t cte_index); // the column data collection to scan optional_ptr collection; diff --git a/src/include/duckdb/execution/operator/scan/physical_expression_scan.hpp b/src/include/duckdb/execution/operator/scan/physical_expression_scan.hpp index 1588d5244694..a6f0d1ae76bb 100644 --- a/src/include/duckdb/execution/operator/scan/physical_expression_scan.hpp +++ b/src/include/duckdb/execution/operator/scan/physical_expression_scan.hpp @@ -8,7 +8,6 @@ #pragma once -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/execution/physical_operator.hpp" #include "duckdb/planner/expression.hpp" diff --git a/src/include/duckdb/execution/operator/set/physical_cte.hpp b/src/include/duckdb/execution/operator/set/physical_cte.hpp index 6babb8dd805b..3ff5fb8cf3e1 100644 --- a/src/include/duckdb/execution/operator/set/physical_cte.hpp +++ b/src/include/duckdb/execution/operator/set/physical_cte.hpp @@ -24,39 +24,44 @@ class PhysicalCTE : public PhysicalOperator { unique_ptr bottom, idx_t estimated_cardinality); ~PhysicalCTE() override; + vector> cte_scans; + std::shared_ptr working_table; - shared_ptr recursive_meta_pipeline; idx_t table_index; string ctename; -public: - // Source interface - SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override; - - bool IsSource() const override { - return true; - } - public: // Sink interface SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override; unique_ptr GetGlobalSinkState(ClientContext &context) const override; + unique_ptr GetLocalSinkState(ExecutionContext &context) const override; + + SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override; bool IsSink() const override { return true; } + bool ParallelSink() const override { + return true; + } + + bool SinkOrderDependent() const override { + return false; + } + + bool RequiresBatchIndex() const override { + return false; + } + string ParamsToString() const override; public: void BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) override; vector> GetSources() const override; - -private: - void ExecuteRecursivePipelines(ExecutionContext &context) const; }; } // namespace duckdb diff --git a/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp b/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp index b40e201945db..88071368eb47 100644 --- a/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp +++ b/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp @@ -50,6 +50,10 @@ class PhysicalRecursiveCTE : public PhysicalOperator { return true; } + bool ParallelSink() const override { + return true; + } + string ParamsToString() const override; public: diff --git a/src/include/duckdb/execution/operator/set/physical_union.hpp b/src/include/duckdb/execution/operator/set/physical_union.hpp index 05e4647c12e8..ffb87d6cdfce 100644 --- a/src/include/duckdb/execution/operator/set/physical_union.hpp +++ b/src/include/duckdb/execution/operator/set/physical_union.hpp @@ -18,7 +18,9 @@ class PhysicalUnion : public PhysicalOperator { public: PhysicalUnion(vector types, unique_ptr top, unique_ptr bottom, - idx_t estimated_cardinality); + idx_t estimated_cardinality, bool allow_out_of_order); + + bool allow_out_of_order; public: void BuildPipelines(Pipeline ¤t, MetaPipeline &meta_pipeline) override; diff --git a/src/include/duckdb/execution/physical_operator.hpp b/src/include/duckdb/execution/physical_operator.hpp index 076e5f5e7d91..f5876c5e7ea1 100644 --- a/src/include/duckdb/execution/physical_operator.hpp +++ b/src/include/duckdb/execution/physical_operator.hpp @@ -133,7 +133,8 @@ class PhysicalOperator { // Sink interface //! The sink method is called constantly with new input, as long as new input is available. Note that this method - //! CAN be called in parallel, proper locking is needed when accessing data inside the GlobalSinkState. + //! CAN be called in parallel, proper locking is needed when accessing dat + //! a inside the GlobalSinkState. virtual SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const; // The combine is called when a single thread has completed execution of its part of the pipeline, it is the final // time that a specific LocalSinkState is accessible. This method can be called in parallel while other Sink() or diff --git a/src/include/duckdb/execution/physical_plan_generator.hpp b/src/include/duckdb/execution/physical_plan_generator.hpp index f17dd1b82051..ab6198104b15 100644 --- a/src/include/duckdb/execution/physical_plan_generator.hpp +++ b/src/include/duckdb/execution/physical_plan_generator.hpp @@ -13,6 +13,7 @@ #include "duckdb/planner/logical_operator.hpp" #include "duckdb/planner/logical_tokens.hpp" #include "duckdb/planner/operator/logical_limit_percent.hpp" +#include "duckdb/planner/joinside.hpp" #include "duckdb/catalog/dependency_list.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/common/unordered_set.hpp" @@ -33,7 +34,7 @@ class PhysicalPlanGenerator { //! This data structure is used to establish it. unordered_map> recursive_cte_tables; //! Materialized CTE ids must be collected. - unordered_set materialized_ctes; + unordered_map>> materialized_ctes; public: //! Creates a plan from the logical operator. This involves resolving column bindings and generating physical @@ -45,6 +46,8 @@ class PhysicalPlanGenerator { //! Whether or not we should preserve insertion order for executing the given sink static bool PreserveInsertionOrder(ClientContext &context, PhysicalOperator &plan); + static bool HasEquality(vector &conds, idx_t &range_count); + protected: unique_ptr CreatePlan(LogicalOperator &op); @@ -52,9 +55,11 @@ class PhysicalPlanGenerator { unique_ptr CreatePlan(LogicalAnyJoin &op); unique_ptr CreatePlan(LogicalColumnDataGet &op); unique_ptr CreatePlan(LogicalComparisonJoin &op); + unique_ptr CreatePlan(LogicalCopyDatabase &op); unique_ptr CreatePlan(LogicalCreate &op); unique_ptr CreatePlan(LogicalCreateTable &op); unique_ptr CreatePlan(LogicalCreateIndex &op); + unique_ptr CreatePlan(LogicalCreateSecret &op); unique_ptr CreatePlan(LogicalCrossProduct &op); unique_ptr CreatePlan(LogicalDelete &op); unique_ptr CreatePlan(LogicalDelimGet &op); @@ -83,7 +88,6 @@ class PhysicalPlanGenerator { unique_ptr CreatePlan(LogicalSample &op); unique_ptr CreatePlan(LogicalSet &op); unique_ptr CreatePlan(LogicalReset &op); - unique_ptr CreatePlan(LogicalShow &op); unique_ptr CreatePlan(LogicalSimple &op); unique_ptr CreatePlan(LogicalUnnest &op); unique_ptr CreatePlan(LogicalRecursiveCTE &op); diff --git a/src/include/duckdb/execution/radix_partitioned_hashtable.hpp b/src/include/duckdb/execution/radix_partitioned_hashtable.hpp index c9827a357bd6..2134de075ba0 100644 --- a/src/include/duckdb/execution/radix_partitioned_hashtable.hpp +++ b/src/include/duckdb/execution/radix_partitioned_hashtable.hpp @@ -50,8 +50,10 @@ class RadixPartitionedHashTable { SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, GlobalSinkState &sink, OperatorSourceInput &input) const; + double GetProgress(ClientContext &context, GlobalSinkState &sink_p, GlobalSourceState &gstate) const; + const TupleDataLayout &GetLayout() const; - idx_t NumberOfPartitions(GlobalSinkState &sink) const; + idx_t MaxThreads(GlobalSinkState &sink) const; static void SetMultiScan(GlobalSinkState &sink); private: diff --git a/src/include/duckdb/execution/reservoir_sample.hpp b/src/include/duckdb/execution/reservoir_sample.hpp index 7af05d5ca087..87ab341fd06a 100644 --- a/src/include/duckdb/execution/reservoir_sample.hpp +++ b/src/include/duckdb/execution/reservoir_sample.hpp @@ -8,9 +8,11 @@ #pragma once +#include "duckdb/common/allocator.hpp" #include "duckdb/common/common.hpp" #include "duckdb/common/random_engine.hpp" -#include "duckdb/common/types/chunk_collection.hpp" +#include "duckdb/common/types/data_chunk.hpp" + #include "duckdb/common/queue.hpp" namespace duckdb { @@ -24,20 +26,23 @@ class BaseReservoirSampling { void SetNextEntry(); - void ReplaceElement(); - + void ReplaceElement(double with_weight = -1); //! The random generator RandomEngine random; //! Priority queue of [random element, index] for each of the elements in the sample std::priority_queue> reservoir_weights; //! The next element to sample - idx_t next_index; + idx_t next_index_to_sample; //! The reservoir threshold of the current min entry - double min_threshold; + double min_weight_threshold; //! The reservoir index of the current min entry - idx_t min_entry; + idx_t min_weighted_entry_index; //! The current count towards next index (i.e. we will replace an entry in next_index - current_count tuples) - idx_t current_count; + //! The number of entries "seen" before choosing one that will go in our reservoir sample. + idx_t num_entries_to_skip_b4_next_sample; + //! when collecting a sample in parallel, we want to know how many values each thread has seen + //! so we can collect the samples from the thread local states in a uniform manner + idx_t num_entries_seen_total; }; class BlockingSample { @@ -50,13 +55,17 @@ class BlockingSample { //! Add a chunk of data to the sample virtual void AddToReservoir(DataChunk &input) = 0; + virtual void Finalize() = 0; //! Fetches a chunk from the sample. Note that this method is destructive and should only be used after the - // sample is completely built. + //! sample is completely built. virtual unique_ptr GetChunk() = 0; + BaseReservoirSampling base_reservoir_sample; + + virtual void Serialize(Serializer &serializer) const; + static unique_ptr Deserialize(Deserializer &deserializer); protected: //! The reservoir sampling - BaseReservoirSampling base_reservoir_sample; RandomEngine &random; }; @@ -71,19 +80,24 @@ class ReservoirSample : public BlockingSample { //! Fetches a chunk from the sample. Note that this method is destructive and should only be used after the //! sample is completely built. unique_ptr GetChunk() override; + void Finalize() override; private: //! Replace a single element of the input - void ReplaceElement(DataChunk &input, idx_t index_in_chunk); - + void ReplaceElement(DataChunk &input, idx_t index_in_chunk, double with_weight = -1); + void InitializeReservoir(DataChunk &input); //! Fills the reservoir up until sample_count entries, returns how many entries are still required idx_t FillReservoir(DataChunk &input); -private: - //! The size of the reservoir sample +public: + Allocator &allocator; + //! The size of the reservoir sample. + //! when calculating percentages, it is set to reservoir_threshold * percentage + //! when explicit number used, sample_count = number idx_t sample_count; + bool reservoir_initialized; //! The current reservoir - ChunkCollection reservoir; + unique_ptr reservoir_chunk; }; //! The reservoir sample sample_size class maintains a streaming sample of variable size @@ -99,9 +113,7 @@ class ReservoirSamplePercentage : public BlockingSample { //! Fetches a chunk from the sample. Note that this method is destructive and should only be used after the //! sample is completely built. unique_ptr GetChunk() override; - -private: - void Finalize(); + void Finalize() override; private: Allocator &allocator; @@ -109,11 +121,13 @@ class ReservoirSamplePercentage : public BlockingSample { double sample_percentage; //! The fixed sample size of the sub-reservoirs idx_t reservoir_sample_size; + //! The current sample unique_ptr current_sample; + //! The set of finished samples of the reservoir sample vector> finished_samples; - //! The amount of tuples that have been processed so far + //! The amount of tuples that have been processed so far (not put in the reservoir, just processed) idx_t current_count = 0; //! Whether or not the stream is finalized. The stream is automatically finalized on the first call to GetChunk(); bool is_finalized; diff --git a/src/include/duckdb/execution/task_error_manager.hpp b/src/include/duckdb/execution/task_error_manager.hpp new file mode 100644 index 000000000000..4d7e64493a48 --- /dev/null +++ b/src/include/duckdb/execution/task_error_manager.hpp @@ -0,0 +1,57 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/execution/task_error_manager.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/error_data.hpp" +#include "duckdb/common/mutex.hpp" +#include "duckdb/common/vector.hpp" + +namespace duckdb { + +class TaskErrorManager { +public: + void PushError(ErrorData error) { + lock_guard elock(error_lock); + this->exceptions.push_back(std::move(error)); + } + + ErrorData GetError() { + lock_guard elock(error_lock); + D_ASSERT(!exceptions.empty()); + + // FIXME: Should we try to get the biggest priority error? + // In case the first exception is a StandardException but a regular Exception or a FatalException occurred + // Maybe we should throw the more critical exception instead, as that changes behavior. + auto &entry = exceptions[0]; + return entry; + } + + bool HasError() { + lock_guard elock(error_lock); + return !exceptions.empty(); + } + + void ThrowException() { + lock_guard elock(error_lock); + D_ASSERT(!exceptions.empty()); + auto &entry = exceptions[0]; + entry.Throw(); + } + + void Reset() { + lock_guard elock(error_lock); + exceptions.clear(); + } + +private: + mutex error_lock; + //! Exceptions that occurred during the execution of the current query + vector exceptions; +}; +} // namespace duckdb diff --git a/src/include/duckdb/execution/window_executor.hpp b/src/include/duckdb/execution/window_executor.hpp index beadd3d68eac..73a63527fa59 100644 --- a/src/include/duckdb/execution/window_executor.hpp +++ b/src/include/duckdb/execution/window_executor.hpp @@ -176,6 +176,7 @@ class WindowAggregateExecutor : public WindowExecutor { public: bool IsConstantAggregate(); bool IsCustomAggregate(); + bool IsDistinctAggregate(); WindowAggregateExecutor(BoundWindowExpression &wexpr, ClientContext &context, const idx_t payload_count, const ValidityMask &partition_mask, const ValidityMask &order_mask, @@ -257,6 +258,7 @@ class WindowValueExecutor : public WindowExecutor { const ValidityMask &partition_mask, const ValidityMask &order_mask); void Sink(DataChunk &input_chunk, const idx_t input_idx, const idx_t total_count) override; + unique_ptr GetExecutorState() const override; protected: // IGNORE NULLS diff --git a/src/include/duckdb/execution/window_segment_tree.hpp b/src/include/duckdb/execution/window_segment_tree.hpp index 12786a19c41c..4e71f0fe158c 100644 --- a/src/include/duckdb/execution/window_segment_tree.hpp +++ b/src/include/duckdb/execution/window_segment_tree.hpp @@ -8,11 +8,13 @@ #pragma once +#include "duckdb/common/sort/sort.hpp" #include "duckdb/common/types/data_chunk.hpp" #include "duckdb/execution/physical_operator.hpp" #include "duckdb/function/aggregate_function.hpp" #include "duckdb/common/enums/window_aggregation_mode.hpp" #include "duckdb/execution/operator/aggregate/aggregate_object.hpp" +#include "duckdb/parser/expression/window_expression.hpp" namespace duckdb { @@ -39,27 +41,37 @@ class WindowAggregatorState { class WindowAggregator { public: - WindowAggregator(AggregateObject aggr, const LogicalType &result_type_p, idx_t partition_count); + WindowAggregator(AggregateObject aggr, const LogicalType &result_type_p, const WindowExcludeMode exclude_mode_p, + idx_t partition_count); virtual ~WindowAggregator(); + // Access + const DataChunk &GetInputs() const { + return inputs; + } + const ValidityMask &GetFilterMask() const { + return filter_mask; + } + // Build virtual void Sink(DataChunk &payload_chunk, SelectionVector *filter_sel, idx_t filtered); - virtual void Finalize(); + virtual void Finalize(const FrameStats &stats); // Probe virtual unique_ptr GetLocalState() const = 0; - virtual void Evaluate(WindowAggregatorState &lstate, const idx_t *begins, const idx_t *ends, Vector &result, - idx_t count) const = 0; + virtual void Evaluate(WindowAggregatorState &lstate, const DataChunk &bounds, Vector &result, idx_t count, + idx_t row_idx) const = 0; -protected: - AggregateObject aggr; + //! A description of the aggregator + const AggregateObject aggr; //! The result type of the window function - LogicalType result_type; - + const LogicalType result_type; //! The cardinality of the partition const idx_t partition_count; //! The size of a single aggregate state const idx_t state_size; + +protected: //! Partition data chunk DataChunk inputs; @@ -69,21 +81,37 @@ class WindowAggregator { idx_t filter_pos; //! The state used by the aggregator to build. unique_ptr gstate; + +public: + //! The window exclusion clause + const WindowExcludeMode exclude_mode; +}; + +// Used for validation +class WindowNaiveAggregator : public WindowAggregator { +public: + WindowNaiveAggregator(AggregateObject aggr, const LogicalType &result_type_p, + const WindowExcludeMode exclude_mode_p, idx_t partition_count); + ~WindowNaiveAggregator() override; + + unique_ptr GetLocalState() const override; + void Evaluate(WindowAggregatorState &lstate, const DataChunk &bounds, Vector &result, idx_t count, + idx_t row_idx) const override; }; class WindowConstantAggregator : public WindowAggregator { public: WindowConstantAggregator(AggregateObject aggr, const LogicalType &result_type_p, const ValidityMask &partition_mask, - const idx_t count); + WindowExcludeMode exclude_mode_p, const idx_t count); ~WindowConstantAggregator() override { } void Sink(DataChunk &payload_chunk, SelectionVector *filter_sel, idx_t filtered) override; - void Finalize() override; + void Finalize(const FrameStats &stats) override; unique_ptr GetLocalState() const override; - void Evaluate(WindowAggregatorState &lstate, const idx_t *begins, const idx_t *ends, Vector &result, - idx_t count) const override; + void Evaluate(WindowAggregatorState &lstate, const DataChunk &bounds, Vector &result, idx_t count, + idx_t row_idx) const override; private: void AggregateInit(); @@ -107,24 +135,35 @@ class WindowConstantAggregator : public WindowAggregator { class WindowCustomAggregator : public WindowAggregator { public: - WindowCustomAggregator(AggregateObject aggr, const LogicalType &result_type_p, idx_t partition_count); + WindowCustomAggregator(AggregateObject aggr, const LogicalType &result_type_p, + const WindowExcludeMode exclude_mode_p, idx_t partition_count); ~WindowCustomAggregator() override; + void Finalize(const FrameStats &stats) override; + unique_ptr GetLocalState() const override; - void Evaluate(WindowAggregatorState &lstate, const idx_t *begins, const idx_t *ends, Vector &result, - idx_t count) const override; + void Evaluate(WindowAggregatorState &lstate, const DataChunk &bounds, Vector &result, idx_t count, + idx_t row_idx) const override; + + //! Partition description + unique_ptr partition_input; + + //! Data pointer that contains a single state, used for global custom window state + unique_ptr gstate; }; class WindowSegmentTree : public WindowAggregator { + public: - WindowSegmentTree(AggregateObject aggr, const LogicalType &result_type, idx_t count, WindowAggregationMode mode_p); + WindowSegmentTree(AggregateObject aggr, const LogicalType &result_type, WindowAggregationMode mode_p, + const WindowExcludeMode exclude_mode_p, idx_t count); ~WindowSegmentTree() override; - void Finalize() override; + void Finalize(const FrameStats &stats) override; unique_ptr GetLocalState() const override; - void Evaluate(WindowAggregatorState &lstate, const idx_t *begins, const idx_t *ends, Vector &result, - idx_t count) const override; + void Evaluate(WindowAggregatorState &lstate, const DataChunk &bounds, Vector &result, idx_t count, + idx_t row_idx) const override; public: void ConstructTree(); @@ -149,4 +188,47 @@ class WindowSegmentTree : public WindowAggregator { static constexpr idx_t TREE_FANOUT = 16; }; +class WindowDistinctAggregator : public WindowAggregator { +public: + using GlobalSortStatePtr = unique_ptr; + class DistinctSortTree; + + WindowDistinctAggregator(AggregateObject aggr, const LogicalType &result_type, + const WindowExcludeMode exclude_mode_p, idx_t count, ClientContext &context); + ~WindowDistinctAggregator() override; + + // Build + void Sink(DataChunk &args_chunk, SelectionVector *filter_sel, idx_t filtered) override; + void Finalize(const FrameStats &stats) override; + + // Evaluate + unique_ptr GetLocalState() const override; + void Evaluate(WindowAggregatorState &lstate, const DataChunk &bounds, Vector &result, idx_t count, + idx_t row_idx) const override; + + ClientContext &context; + ArenaAllocator allocator; + + // Single threaded sorting for now + GlobalSortStatePtr global_sort; + LocalSortState local_sort; + idx_t payload_pos; + idx_t memory_per_thread; + + vector payload_types; + DataChunk sort_chunk; + DataChunk payload_chunk; + + //! The merge sort tree for the aggregate. + unique_ptr merge_sort_tree; + + //! The actual window segment tree: an array of aggregate states that represent all the intermediate nodes + unsafe_unique_array levels_flat_native; + //! For each level, the starting location in the levels_flat_native array + vector levels_flat_start; + + //! The total number of internal nodes of the tree, stored in levels_flat_native + idx_t internal_nodes; +}; + } // namespace duckdb diff --git a/src/include/duckdb/function/aggregate_function.hpp b/src/include/duckdb/function/aggregate_function.hpp index 56b712a31179..d113b51139fd 100644 --- a/src/include/duckdb/function/aggregate_function.hpp +++ b/src/include/duckdb/function/aggregate_function.hpp @@ -8,6 +8,7 @@ #pragma once +#include "duckdb/common/array.hpp" #include "duckdb/common/vector_operations/aggregate_executor.hpp" #include "duckdb/function/aggregate_state.hpp" #include "duckdb/planner/bound_result_modifier.hpp" @@ -15,6 +16,31 @@ namespace duckdb { +//! A half-open range of frame boundary values _relative to the current row_ +//! This is why they are signed values. +struct FrameDelta { + FrameDelta() : begin(0), end(0) {}; + FrameDelta(int64_t begin, int64_t end) : begin(begin), end(end) {}; + int64_t begin = 0; + int64_t end = 0; +}; + +//! The half-open ranges of frame boundary values relative to the current row +using FrameStats = array; + +//! The partition data for custom window functions +struct WindowPartitionInput { + WindowPartitionInput(const Vector inputs[], idx_t input_count, idx_t count, const ValidityMask &filter_mask, + const FrameStats &stats) + : inputs(inputs), input_count(input_count), count(count), filter_mask(filter_mask), stats(stats) { + } + const Vector *inputs; + idx_t input_count; + idx_t count; + const ValidityMask &filter_mask; + const FrameStats stats; +}; + //! The type used for sizing hashed aggregate function states typedef idx_t (*aggregate_size_t)(); //! The type used for initializing hashed aggregate function states @@ -40,11 +66,14 @@ typedef void (*aggregate_destructor_t)(Vector &state, AggregateInputData &aggr_i typedef void (*aggregate_simple_update_t)(Vector inputs[], AggregateInputData &aggr_input_data, idx_t input_count, data_ptr_t state, idx_t count); -//! The type used for updating complex windowed aggregate functions (optional) -typedef void (*aggregate_window_t)(Vector inputs[], const ValidityMask &filter_mask, - AggregateInputData &aggr_input_data, idx_t input_count, data_ptr_t state, - const FrameBounds &frame, const FrameBounds &prev, Vector &result, idx_t rid, - idx_t bias); +//! The type used for computing complex/custom windowed aggregate functions (optional) +typedef void (*aggregate_window_t)(AggregateInputData &aggr_input_data, const WindowPartitionInput &partition, + const_data_ptr_t g_state, data_ptr_t l_state, const SubFrames &subframes, + Vector &result, idx_t rid); + +//! The type used for initializing shared complex/custom windowed aggregate state (optional) +typedef void (*aggregate_wininit_t)(AggregateInputData &aggr_input_data, const WindowPartitionInput &partition, + data_ptr_t g_state); typedef void (*aggregate_serialize_t)(Serializer &serializer, const optional_ptr bind_data, const AggregateFunction &function); @@ -60,7 +89,7 @@ class AggregateFunction : public BaseScalarFunction { aggregate_destructor_t destructor = nullptr, aggregate_statistics_t statistics = nullptr, aggregate_window_t window = nullptr, aggregate_serialize_t serialize = nullptr, aggregate_deserialize_t deserialize = nullptr) - : BaseScalarFunction(name, arguments, return_type, FunctionSideEffects::NO_SIDE_EFFECTS, + : BaseScalarFunction(name, arguments, return_type, FunctionStability::CONSISTENT, LogicalType(LogicalTypeId::INVALID), null_handling), state_size(state_size), initialize(initialize), update(update), combine(combine), finalize(finalize), simple_update(simple_update), window(window), bind(bind), destructor(destructor), statistics(statistics), @@ -74,7 +103,7 @@ class AggregateFunction : public BaseScalarFunction { aggregate_destructor_t destructor = nullptr, aggregate_statistics_t statistics = nullptr, aggregate_window_t window = nullptr, aggregate_serialize_t serialize = nullptr, aggregate_deserialize_t deserialize = nullptr) - : BaseScalarFunction(name, arguments, return_type, FunctionSideEffects::NO_SIDE_EFFECTS, + : BaseScalarFunction(name, arguments, return_type, FunctionStability::CONSISTENT, LogicalType(LogicalTypeId::INVALID)), state_size(state_size), initialize(initialize), update(update), combine(combine), finalize(finalize), simple_update(simple_update), window(window), bind(bind), destructor(destructor), statistics(statistics), @@ -116,8 +145,10 @@ class AggregateFunction : public BaseScalarFunction { aggregate_finalize_t finalize; //! The simple aggregate update function (may be null) aggregate_simple_update_t simple_update; - //! The windowed aggregate frame update function (may be null) + //! The windowed aggregate custom function (may be null) aggregate_window_t window; + //! The windowed aggregate custom initialization function (may be null) + aggregate_wininit_t window_init = nullptr; //! The bind function (may be null) bind_aggregate_function_t bind; @@ -218,12 +249,13 @@ class AggregateFunction : public BaseScalarFunction { } template - static void UnaryWindow(Vector inputs[], const ValidityMask &filter_mask, AggregateInputData &aggr_input_data, - idx_t input_count, data_ptr_t state, const FrameBounds &frame, const FrameBounds &prev, - Vector &result, idx_t rid, idx_t bias) { - D_ASSERT(input_count == 1); - AggregateExecutor::UnaryWindow(inputs[0], filter_mask, aggr_input_data, - state, frame, prev, result, rid, bias); + static void UnaryWindow(AggregateInputData &aggr_input_data, const WindowPartitionInput &partition, + const_data_ptr_t g_state, data_ptr_t l_state, const SubFrames &subframes, Vector &result, + idx_t rid) { + + D_ASSERT(partition.input_count == 1); + AggregateExecutor::UnaryWindow( + partition.inputs[0], partition.filter_mask, aggr_input_data, l_state, subframes, result, rid, g_state); } template diff --git a/src/include/duckdb/function/aggregate_state.hpp b/src/include/duckdb/function/aggregate_state.hpp index 66b7338c4a51..9b0015d2d660 100644 --- a/src/include/duckdb/function/aggregate_state.hpp +++ b/src/include/duckdb/function/aggregate_state.hpp @@ -17,15 +17,19 @@ namespace duckdb { enum class AggregateType : uint8_t { NON_DISTINCT = 1, DISTINCT = 2 }; //! Whether or not the input order influences the result of the aggregate enum class AggregateOrderDependent : uint8_t { ORDER_DEPENDENT = 1, NOT_ORDER_DEPENDENT = 2 }; +//! Whether or not the combiner needs to preserve the source +enum class AggregateCombineType : uint8_t { PRESERVE_INPUT = 1, ALLOW_DESTRUCTIVE = 2 }; class BoundAggregateExpression; struct AggregateInputData { - AggregateInputData(optional_ptr bind_data_p, ArenaAllocator &allocator_p) - : bind_data(bind_data_p), allocator(allocator_p) { + AggregateInputData(optional_ptr bind_data_p, ArenaAllocator &allocator_p, + AggregateCombineType combine_type_p = AggregateCombineType::PRESERVE_INPUT) + : bind_data(bind_data_p), allocator(allocator_p), combine_type(combine_type_p) { } optional_ptr bind_data; ArenaAllocator &allocator; + AggregateCombineType combine_type; }; struct AggregateUnaryInput { diff --git a/src/include/duckdb/function/built_in_functions.hpp b/src/include/duckdb/function/built_in_functions.hpp index 2e57f3176e17..3e665afeb5e6 100644 --- a/src/include/duckdb/function/built_in_functions.hpp +++ b/src/include/duckdb/function/built_in_functions.hpp @@ -52,6 +52,7 @@ class BuiltinFunctions { void RegisterReadFunctions(); void RegisterTableFunctions(); void RegisterArrowFunctions(); + void RegisterSnifferFunction(); // aggregates void RegisterDistributiveAggregates(); diff --git a/src/include/duckdb/function/cast/bound_cast_data.hpp b/src/include/duckdb/function/cast/bound_cast_data.hpp index 9a81dfe6e08a..50b4c70abba7 100644 --- a/src/include/duckdb/function/cast/bound_cast_data.hpp +++ b/src/include/duckdb/function/cast/bound_cast_data.hpp @@ -27,17 +27,42 @@ struct ListBoundCastData : public BoundCastData { } }; +struct ArrayBoundCastData : public BoundCastData { + explicit ArrayBoundCastData(BoundCastInfo child_cast) : child_cast_info(std::move(child_cast)) { + } + + BoundCastInfo child_cast_info; + + static unique_ptr BindArrayToArrayCast(BindCastInput &input, const LogicalType &source, + const LogicalType &target); + static unique_ptr InitArrayLocalState(CastLocalStateParameters ¶meters); + +public: + unique_ptr Copy() const override { + return make_uniq(child_cast_info.Copy()); + } +}; + struct ListCast { static bool ListToListCast(Vector &source, Vector &result, idx_t count, CastParameters ¶meters); }; struct StructBoundCastData : public BoundCastData { + StructBoundCastData(vector child_casts, LogicalType target_p, vector child_member_map_p) + : child_cast_info(std::move(child_casts)), target(std::move(target_p)), + child_member_map(std::move(child_member_map_p)) { + D_ASSERT(child_cast_info.size() == child_member_map.size()); + } StructBoundCastData(vector child_casts, LogicalType target_p) : child_cast_info(std::move(child_casts)), target(std::move(target_p)) { + for (idx_t i = 0; i < child_cast_info.size(); i++) { + child_member_map.push_back(i); + } } vector child_cast_info; LogicalType target; + vector child_member_map; static unique_ptr BindStructToStructCast(BindCastInput &input, const LogicalType &source, const LogicalType &target); @@ -49,7 +74,7 @@ struct StructBoundCastData : public BoundCastData { for (auto &info : child_cast_info) { copy_info.push_back(info.Copy()); } - return make_uniq(std::move(copy_info), target); + return make_uniq(std::move(copy_info), target, child_member_map); } }; diff --git a/src/include/duckdb/function/cast/cast_function_set.hpp b/src/include/duckdb/function/cast/cast_function_set.hpp index 3395725ce394..1c6f38ceae76 100644 --- a/src/include/duckdb/function/cast/cast_function_set.hpp +++ b/src/include/duckdb/function/cast/cast_function_set.hpp @@ -13,6 +13,7 @@ namespace duckdb { struct MapCastInfo; struct MapCastNode; +struct DBConfig; typedef BoundCastInfo (*bind_cast_function_t)(BindCastInput &input, const LogicalType &source, const LogicalType &target); @@ -38,6 +39,7 @@ struct BindCastFunction { class CastFunctionSet { public: CastFunctionSet(); + CastFunctionSet(DBConfig &config); public: DUCKDB_API static CastFunctionSet &Get(ClientContext &context); @@ -57,6 +59,7 @@ class CastFunctionSet { bind_cast_function_t bind, int64_t implicit_cast_cost = -1); private: + optional_ptr config; vector bind_functions; //! If any custom cast functions have been defined using RegisterCastFunction, this holds the map optional_ptr map_info; diff --git a/src/include/duckdb/function/cast/default_casts.hpp b/src/include/duckdb/function/cast/default_casts.hpp index 97e9ff902eff..a102f08ad6e4 100644 --- a/src/include/duckdb/function/cast/default_casts.hpp +++ b/src/include/duckdb/function/cast/default_casts.hpp @@ -135,6 +135,7 @@ struct DefaultCasts { static BoundCastInfo EnumCastSwitch(BindCastInput &input, const LogicalType &source, const LogicalType &target); static BoundCastInfo IntervalCastSwitch(BindCastInput &input, const LogicalType &source, const LogicalType &target); static BoundCastInfo ListCastSwitch(BindCastInput &input, const LogicalType &source, const LogicalType &target); + static BoundCastInfo ArrayCastSwitch(BindCastInput &input, const LogicalType &source, const LogicalType &target); static BoundCastInfo NumericCastSwitch(BindCastInput &input, const LogicalType &source, const LogicalType &target); static BoundCastInfo MapCastSwitch(BindCastInput &input, const LogicalType &source, const LogicalType &target); static BoundCastInfo PointerCastSwitch(BindCastInput &input, const LogicalType &source, const LogicalType &target); diff --git a/src/include/duckdb/function/cast/vector_cast_helpers.hpp b/src/include/duckdb/function/cast/vector_cast_helpers.hpp index c7138f971c05..7835d9d43956 100644 --- a/src/include/duckdb/function/cast/vector_cast_helpers.hpp +++ b/src/include/duckdb/function/cast/vector_cast_helpers.hpp @@ -206,9 +206,15 @@ struct VectorStringToList { const SelectionVector *sel); }; +struct VectorStringToArray { + static bool StringToNestedTypeCastLoop(const string_t *source_data, ValidityMask &source_mask, Vector &result, + ValidityMask &result_mask, idx_t count, CastParameters ¶meters, + const SelectionVector *sel); +}; + struct VectorStringToStruct { static bool SplitStruct(const string_t &input, vector> &varchar_vectors, idx_t &row_idx, - string_map_t &child_names, vector &child_masks); + string_map_t &child_names, vector> &child_masks); static bool StringToNestedTypeCastLoop(const string_t *source_data, ValidityMask &source_mask, Vector &result, ValidityMask &result_mask, idx_t count, CastParameters ¶meters, const SelectionVector *sel); diff --git a/src/include/duckdb/function/compression/compression.hpp b/src/include/duckdb/function/compression/compression.hpp index 6339ed9f2b3f..bfc2a90d6976 100644 --- a/src/include/duckdb/function/compression/compression.hpp +++ b/src/include/duckdb/function/compression/compression.hpp @@ -48,6 +48,16 @@ struct PatasCompressionFun { static bool TypeIsSupported(PhysicalType type); }; +struct AlpCompressionFun { + static CompressionFunction GetFunction(PhysicalType type); + static bool TypeIsSupported(PhysicalType type); +}; + +struct AlpRDCompressionFun { + static CompressionFunction GetFunction(PhysicalType type); + static bool TypeIsSupported(PhysicalType type); +}; + struct FSSTFun { static CompressionFunction GetFunction(PhysicalType type); static bool TypeIsSupported(PhysicalType type); diff --git a/src/include/duckdb/function/copy_function.hpp b/src/include/duckdb/function/copy_function.hpp index 8f0e5f758c6a..2375489a0f7b 100644 --- a/src/include/duckdb/function/copy_function.hpp +++ b/src/include/duckdb/function/copy_function.hpp @@ -68,10 +68,19 @@ struct PreparedBatchData { } }; +struct CopyFunctionBindInput { + const CopyInfo &info; + + string file_extension; + + CopyFunctionBindInput(const CopyInfo &info_p) : info(info_p) { + } +}; + enum class CopyFunctionExecutionMode { REGULAR_COPY_TO_FILE, PARALLEL_COPY_TO_FILE, BATCH_COPY_TO_FILE }; typedef BoundStatement (*copy_to_plan_t)(Binder &binder, CopyStatement &stmt); -typedef unique_ptr (*copy_to_bind_t)(ClientContext &context, const CopyInfo &info, +typedef unique_ptr (*copy_to_bind_t)(ClientContext &context, CopyFunctionBindInput &input, const vector &names, const vector &sql_types); typedef unique_ptr (*copy_to_initialize_local_t)(ExecutionContext &context, FunctionData &bind_data); typedef unique_ptr (*copy_to_initialize_global_t)(ClientContext &context, FunctionData &bind_data, @@ -99,18 +108,20 @@ typedef void (*copy_flush_batch_t)(ClientContext &context, FunctionData &bind_da PreparedBatchData &batch); typedef idx_t (*copy_desired_batch_size_t)(ClientContext &context, FunctionData &bind_data); +typedef idx_t (*copy_file_size_bytes_t)(GlobalFunctionData &gstate); + enum class CopyTypeSupport { SUPPORTED, LOSSY, UNSUPPORTED }; typedef CopyTypeSupport (*copy_supports_type_t)(const LogicalType &type); class CopyFunction : public Function { public: - explicit CopyFunction(string name) + explicit CopyFunction(const string &name) : Function(name), plan(nullptr), copy_to_bind(nullptr), copy_to_initialize_local(nullptr), copy_to_initialize_global(nullptr), copy_to_sink(nullptr), copy_to_combine(nullptr), copy_to_finalize(nullptr), execution_mode(nullptr), prepare_batch(nullptr), flush_batch(nullptr), - desired_batch_size(nullptr), serialize(nullptr), deserialize(nullptr), supports_type(nullptr), - copy_from_bind(nullptr) { + desired_batch_size(nullptr), file_size_bytes(nullptr), serialize(nullptr), deserialize(nullptr), + supports_type(nullptr), copy_from_bind(nullptr) { } //! Plan rewrite copy function @@ -127,6 +138,7 @@ class CopyFunction : public Function { copy_prepare_batch_t prepare_batch; copy_flush_batch_t flush_batch; copy_desired_batch_size_t desired_batch_size; + copy_file_size_bytes_t file_size_bytes; copy_to_serialize_t serialize; copy_to_deserialize_t deserialize; diff --git a/src/include/duckdb/function/function.hpp b/src/include/duckdb/function/function.hpp index 9a9bb9e441fb..7cf8e8880faf 100644 --- a/src/include/duckdb/function/function.hpp +++ b/src/include/duckdb/function/function.hpp @@ -37,7 +37,12 @@ struct PragmaInfo; //! The default null handling is NULL in, NULL out enum class FunctionNullHandling : uint8_t { DEFAULT_NULL_HANDLING = 0, SPECIAL_HANDLING = 1 }; -enum class FunctionSideEffects : uint8_t { NO_SIDE_EFFECTS = 0, HAS_SIDE_EFFECTS = 1 }; +//! The stability of the function, used by the optimizer +//! CONSISTENT -> this function always returns the same result when given the same input, no variance +//! CONSISTENT_WITHIN_QUERY -> this function returns the same result WITHIN the same query/transaction +//! but the result might change across queries (e.g. NOW(), CURRENT_TIME) +//! VOLATILE -> the result of this function might change per row (e.g. RANDOM()) +enum class FunctionStability : uint8_t { CONSISTENT = 0, VOLATILE = 1, CONSISTENT_WITHIN_QUERY = 2 }; struct FunctionData { DUCKDB_API virtual ~FunctionData(); @@ -96,10 +101,11 @@ class Function { public: //! Returns the formatted string name(arg1, arg2, ...) - DUCKDB_API static string CallToString(const string &name, const vector &arguments); + DUCKDB_API static string CallToString(const string &name, const vector &arguments, + const LogicalType &varargs = LogicalType::INVALID); //! Returns the formatted string name(arg1, arg2..) -> return_type DUCKDB_API static string CallToString(const string &name, const vector &arguments, - const LogicalType &return_type); + const LogicalType &varargs, const LogicalType &return_type); //! Returns the formatted string name(arg1, arg2.., np1=a, np2=b, ...) DUCKDB_API static string CallToString(const string &name, const vector &arguments, const named_parameter_type_map_t &named_parameters); @@ -147,16 +153,15 @@ class SimpleNamedParameterFunction : public SimpleFunction { class BaseScalarFunction : public SimpleFunction { public: DUCKDB_API BaseScalarFunction(string name, vector arguments, LogicalType return_type, - FunctionSideEffects side_effects, + FunctionStability stability, LogicalType varargs = LogicalType(LogicalTypeId::INVALID), FunctionNullHandling null_handling = FunctionNullHandling::DEFAULT_NULL_HANDLING); DUCKDB_API ~BaseScalarFunction() override; //! Return type of the function LogicalType return_type; - //! Whether or not the function has side effects (e.g. sequence increments, random() functions, NOW()). Functions - //! with side-effects cannot be constant-folded. - FunctionSideEffects side_effects; + //! The stability of the function (see FunctionStability enum for more info) + FunctionStability stability; //! How this function handles NULL values FunctionNullHandling null_handling; diff --git a/src/include/duckdb/function/function_binder.hpp b/src/include/duckdb/function/function_binder.hpp index 2d02b7eebcd8..2c0929576f82 100644 --- a/src/include/duckdb/function/function_binder.hpp +++ b/src/include/duckdb/function/function_binder.hpp @@ -13,6 +13,8 @@ #include "duckdb/function/scalar_function.hpp" #include "duckdb/function/aggregate_function.hpp" #include "duckdb/function/function_set.hpp" +#include "duckdb/common/exception/binder_exception.hpp" +#include "duckdb/common/error_data.hpp" namespace duckdb { @@ -27,29 +29,30 @@ class FunctionBinder { //! Bind a scalar function from the set of functions and input arguments. Returns the index of the chosen function, //! returns DConstants::INVALID_INDEX and sets error if none could be found DUCKDB_API idx_t BindFunction(const string &name, ScalarFunctionSet &functions, - const vector &arguments, string &error); + const vector &arguments, ErrorData &error); DUCKDB_API idx_t BindFunction(const string &name, ScalarFunctionSet &functions, - vector> &arguments, string &error); + vector> &arguments, ErrorData &error); //! Bind an aggregate function from the set of functions and input arguments. Returns the index of the chosen //! function, returns DConstants::INVALID_INDEX and sets error if none could be found DUCKDB_API idx_t BindFunction(const string &name, AggregateFunctionSet &functions, - const vector &arguments, string &error); + const vector &arguments, ErrorData &error); DUCKDB_API idx_t BindFunction(const string &name, AggregateFunctionSet &functions, - vector> &arguments, string &error); + vector> &arguments, ErrorData &error); //! Bind a table function from the set of functions and input arguments. Returns the index of the chosen //! function, returns DConstants::INVALID_INDEX and sets error if none could be found DUCKDB_API idx_t BindFunction(const string &name, TableFunctionSet &functions, const vector &arguments, - string &error); + ErrorData &error); DUCKDB_API idx_t BindFunction(const string &name, TableFunctionSet &functions, - vector> &arguments, string &error); + vector> &arguments, ErrorData &error); //! Bind a pragma function from the set of functions and input arguments - DUCKDB_API idx_t BindFunction(const string &name, PragmaFunctionSet &functions, PragmaInfo &info, string &error); + DUCKDB_API idx_t BindFunction(const string &name, PragmaFunctionSet &functions, vector ¶meters, + ErrorData &error); DUCKDB_API unique_ptr BindScalarFunction(const string &schema, const string &name, - vector> children, string &error, + vector> children, ErrorData &error, bool is_operator = false, Binder *binder = nullptr); DUCKDB_API unique_ptr BindScalarFunction(ScalarFunctionCatalogEntry &function, - vector> children, string &error, + vector> children, ErrorData &error, bool is_operator = false, Binder *binder = nullptr); DUCKDB_API unique_ptr BindScalarFunction(ScalarFunction bound_function, @@ -72,15 +75,15 @@ class FunctionBinder { template vector BindFunctionsFromArguments(const string &name, FunctionSet &functions, - const vector &arguments, string &error); + const vector &arguments, ErrorData &error); template idx_t MultipleCandidateException(const string &name, FunctionSet &functions, vector &candidate_functions, - const vector &arguments, string &error); + const vector &arguments, ErrorData &error); template idx_t BindFunctionFromArguments(const string &name, FunctionSet &functions, const vector &arguments, - string &error); + ErrorData &error); vector GetLogicalTypesFromExpressions(vector> &arguments); }; diff --git a/src/include/duckdb/function/function_serialization.hpp b/src/include/duckdb/function/function_serialization.hpp index ac244f385d80..fc33f5dc085c 100644 --- a/src/include/duckdb/function/function_serialization.hpp +++ b/src/include/duckdb/function/function_serialization.hpp @@ -86,9 +86,10 @@ class FunctionSerializer { } else if (function.bind) { try { bind_data = function.bind(context, function, children); - } catch (Exception &ex) { - // FIXME - throw SerializationException("Error during bind of function in deserialization: %s", ex.what()); + } catch (std::exception &ex) { + ErrorData error(ex); + throw SerializationException("Error during bind of function in deserialization: %s", + error.RawMessage()); } } function.return_type = std::move(return_type); diff --git a/src/include/duckdb/function/macro_function.hpp b/src/include/duckdb/function/macro_function.hpp index 0a9bdb5a51c1..e6a0f1854659 100644 --- a/src/include/duckdb/function/macro_function.hpp +++ b/src/include/duckdb/function/macro_function.hpp @@ -8,12 +8,12 @@ #pragma once -#include "duckdb/parser/query_node.hpp" #include "duckdb/function/function.hpp" #include "duckdb/main/client_context.hpp" +#include "duckdb/parser/expression/constant_expression.hpp" +#include "duckdb/parser/query_node.hpp" #include "duckdb/planner/binder.hpp" #include "duckdb/planner/expression_binder.hpp" -#include "duckdb/parser/expression/constant_expression.hpp" namespace duckdb { @@ -28,7 +28,7 @@ class MacroFunction { //! The positional parameters vector> parameters; //! The default parameters and their associated values - unordered_map> default_parameters; + case_insensitive_map_t> default_parameters; public: virtual ~MacroFunction() { diff --git a/src/include/duckdb/function/pragma/pragma_functions.hpp b/src/include/duckdb/function/pragma/pragma_functions.hpp index 5989d6de7a21..b5125cdc71d2 100644 --- a/src/include/duckdb/function/pragma/pragma_functions.hpp +++ b/src/include/duckdb/function/pragma/pragma_functions.hpp @@ -21,6 +21,9 @@ struct PragmaFunctions { static void RegisterFunction(BuiltinFunctions &set); }; -string PragmaShow(ClientContext &context, const FunctionParameters ¶meters); +string PragmaShowTables(); +string PragmaShowTablesExpanded(); +string PragmaShowDatabases(); +string PragmaShow(const string &table_name); } // namespace duckdb diff --git a/src/include/duckdb/function/scalar/list/contains_or_position.hpp b/src/include/duckdb/function/scalar/list/contains_or_position.hpp index 0eceb782e96f..c05e98a53f3a 100644 --- a/src/include/duckdb/function/scalar/list/contains_or_position.hpp +++ b/src/include/duckdb/function/scalar/list/contains_or_position.hpp @@ -113,6 +113,9 @@ void ListContainsOrPosition(DataChunk &args, Vector &result) { case PhysicalType::UINT64: TemplatedContainsOrPosition(args, result); break; + case PhysicalType::UINT128: + TemplatedContainsOrPosition(args, result); + break; case PhysicalType::FLOAT: TemplatedContainsOrPosition(args, result); break; diff --git a/src/include/duckdb/function/scalar/nested_functions.hpp b/src/include/duckdb/function/scalar/nested_functions.hpp index 8fc34a3ceaf2..5eec127b0645 100644 --- a/src/include/duckdb/function/scalar/nested_functions.hpp +++ b/src/include/duckdb/function/scalar/nested_functions.hpp @@ -49,6 +49,10 @@ struct PositionFunctor { } }; +struct MapUtil { + static void ReinterpretMap(Vector &target, Vector &other, idx_t count); +}; + struct VariableReturnBindData : public FunctionData { LogicalType stype; @@ -99,13 +103,29 @@ struct ListPositionFun { }; struct ListResizeFun { + static void RegisterFunction(BuiltinFunctions &set); +}; + +struct ListZipFun { static ScalarFunction GetFunction(); static void RegisterFunction(BuiltinFunctions &set); }; -struct StructExtractFun { +struct ListSelectFun { + static ScalarFunction GetFunction(); + static void RegisterFunction(BuiltinFunctions &set); +}; + +struct ListWhereFun { static ScalarFunction GetFunction(); static void RegisterFunction(BuiltinFunctions &set); }; +struct StructExtractFun { + static ScalarFunction KeyExtractFunction(); + static ScalarFunction IndexExtractFunction(); + static ScalarFunctionSet GetFunctions(); + static void RegisterFunction(BuiltinFunctions &set); +}; + } // namespace duckdb diff --git a/src/include/duckdb/function/scalar/sequence_functions.hpp b/src/include/duckdb/function/scalar/sequence_functions.hpp index ee21a651b53e..7323ea037158 100644 --- a/src/include/duckdb/function/scalar/sequence_functions.hpp +++ b/src/include/duckdb/function/scalar/sequence_functions.hpp @@ -8,12 +8,34 @@ #pragma once +#include "duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp" #include "duckdb/function/scalar_function.hpp" #include "duckdb/function/function_set.hpp" #include "duckdb/function/built_in_functions.hpp" namespace duckdb { +struct NextvalBindData : public FunctionData { + explicit NextvalBindData(optional_ptr sequence) + : sequence(sequence), create_info(sequence ? sequence->GetInfo() : nullptr) { + } + + //! The sequence to use for the nextval computation; only if the sequence is a constant + optional_ptr sequence; + + //! The CreateInfo for the above sequence, if it exists + unique_ptr create_info; + + unique_ptr Copy() const override { + return make_uniq(sequence); + } + + bool Equals(const FunctionData &other_p) const override { + auto &other = other_p.Cast(); + return sequence == other.sequence; + } +}; + struct NextvalFun { static void RegisterFunction(BuiltinFunctions &set); }; diff --git a/src/include/duckdb/function/scalar/strftime_format.hpp b/src/include/duckdb/function/scalar/strftime_format.hpp index 5f96d03e0e8a..abaa76de2277 100644 --- a/src/include/duckdb/function/scalar/strftime_format.hpp +++ b/src/include/duckdb/function/scalar/strftime_format.hpp @@ -1,7 +1,7 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/function/scalar/strftime.hpp +// duckdb/function/scalar/strftime_format.hpp // // //===----------------------------------------------------------------------===// @@ -53,7 +53,13 @@ enum class StrTimeSpecifier : uint8_t { 29, // %c - Locale’s appropriate date and time representation. (Mon Sep 30 07:06:05 2013) LOCALE_APPROPRIATE_DATE = 30, // %x - Locale’s appropriate date representation. (09/30/13) LOCALE_APPROPRIATE_TIME = 31, // %X - Locale’s appropriate time representation. (07:06:05) - NANOSECOND_PADDED = 32 // %n - Nanosecond as a decimal number, zero-padded on the left. (000000000 - 999999999) + NANOSECOND_PADDED = 32, // %n - Nanosecond as a decimal number, zero-padded on the left. (000000000 - 999999999) + // Python 3.6 ISO directives https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes + YEAR_ISO = + 33, // %G - ISO 8601 year with century representing the year that contains the greater part of the ISO week + WEEKDAY_ISO = 34, // %u - ISO 8601 weekday as a decimal number where 1 is Monday (1..7) + WEEK_NUMBER_ISO = 35, // %V - ISO 8601 week as a decimal number with Monday as the first day of the week. + // Week 01 is the week containing Jan 4. (01..53) }; struct StrTimeFormat { @@ -66,6 +72,8 @@ struct StrTimeFormat { inline bool HasFormatSpecifier(StrTimeSpecifier s) const { return std::find(specifiers.begin(), specifiers.end(), s) != specifiers.end(); } + //! If the string format is empty + DUCKDB_API bool Empty() const; //! The full format specifier, for error messages string format_specifier; @@ -131,6 +139,9 @@ struct StrpTimeFormat : public StrTimeFormat { string error_message; idx_t error_position = DConstants::INVALID_INDEX; + bool is_special; + date_t special; + date_t ToDate(); timestamp_t ToTimestamp(); @@ -141,6 +152,9 @@ struct StrpTimeFormat : public StrTimeFormat { }; public: + bool operator!=(const StrpTimeFormat &other) const { + return format_specifier != other.format_specifier; + } DUCKDB_API static ParseResult Parse(const string &format, const string &text); DUCKDB_API bool Parse(string_t str, ParseResult &result) const; diff --git a/src/include/duckdb/function/scalar_function.hpp b/src/include/duckdb/function/scalar_function.hpp index 79b5a87d46d8..b9807b007558 100644 --- a/src/include/duckdb/function/scalar_function.hpp +++ b/src/include/duckdb/function/scalar_function.hpp @@ -51,17 +51,21 @@ struct FunctionStatisticsInput { unique_ptr *expr_ptr; }; -//! The type used for scalar functions +//! The scalar function type typedef std::function scalar_function_t; -//! Binds the scalar function and creates the function data +//! The type to bind the scalar function and to create the function data typedef unique_ptr (*bind_scalar_function_t)(ClientContext &context, ScalarFunction &bound_function, vector> &arguments); +//! The type to initialize a thread local state for the scalar function typedef unique_ptr (*init_local_state_t)(ExpressionState &state, const BoundFunctionExpression &expr, FunctionData *bind_data); -typedef unique_ptr (*function_statistics_t)(ClientContext &context, FunctionStatisticsInput &input); -//! Adds the dependencies of this BoundFunctionExpression to the set of dependencies +//! The type to add the dependencies of this BoundFunctionExpression to the set of dependencies typedef void (*dependency_function_t)(BoundFunctionExpression &expr, DependencyList &dependencies); +//! The type to propagate statistics for this scalar function +typedef unique_ptr (*function_statistics_t)(ClientContext &context, FunctionStatisticsInput &input); +//! The type to bind lambda-specific parameter types +typedef LogicalType (*bind_lambda_function_t)(const idx_t parameter_idx, const LogicalType &list_child_type); typedef void (*function_serialize_t)(Serializer &serializer, const optional_ptr bind_data, const ScalarFunction &function); @@ -74,15 +78,17 @@ class ScalarFunction : public BaseScalarFunction { dependency_function_t dependency = nullptr, function_statistics_t statistics = nullptr, init_local_state_t init_local_state = nullptr, LogicalType varargs = LogicalType(LogicalTypeId::INVALID), - FunctionSideEffects side_effects = FunctionSideEffects::NO_SIDE_EFFECTS, - FunctionNullHandling null_handling = FunctionNullHandling::DEFAULT_NULL_HANDLING); + FunctionStability stability = FunctionStability::CONSISTENT, + FunctionNullHandling null_handling = FunctionNullHandling::DEFAULT_NULL_HANDLING, + bind_lambda_function_t bind_lambda = nullptr); DUCKDB_API ScalarFunction(vector arguments, LogicalType return_type, scalar_function_t function, bind_scalar_function_t bind = nullptr, dependency_function_t dependency = nullptr, function_statistics_t statistics = nullptr, init_local_state_t init_local_state = nullptr, LogicalType varargs = LogicalType(LogicalTypeId::INVALID), - FunctionSideEffects side_effects = FunctionSideEffects::NO_SIDE_EFFECTS, - FunctionNullHandling null_handling = FunctionNullHandling::DEFAULT_NULL_HANDLING); + FunctionStability stability = FunctionStability::CONSISTENT, + FunctionNullHandling null_handling = FunctionNullHandling::DEFAULT_NULL_HANDLING, + bind_lambda_function_t bind_lambda = nullptr); //! The main scalar function to execute scalar_function_t function; @@ -94,6 +100,8 @@ class ScalarFunction : public BaseScalarFunction { dependency_function_t dependency; //! The statistics propagation function (if any) function_statistics_t statistics; + //! The lambda bind function (if any) + bind_lambda_function_t bind_lambda; function_serialize_t serialize; function_deserialize_t deserialize; @@ -157,6 +165,9 @@ class ScalarFunction : public BaseScalarFunction { case LogicalTypeId::HUGEINT: function = &ScalarFunction::UnaryFunction; break; + case LogicalTypeId::UHUGEINT: + function = &ScalarFunction::UnaryFunction; + break; case LogicalTypeId::FLOAT: function = &ScalarFunction::UnaryFunction; break; @@ -200,6 +211,9 @@ class ScalarFunction : public BaseScalarFunction { case LogicalTypeId::HUGEINT: function = &ScalarFunction::UnaryFunction; break; + case LogicalTypeId::UHUGEINT: + function = &ScalarFunction::UnaryFunction; + break; case LogicalTypeId::FLOAT: function = &ScalarFunction::UnaryFunction; break; diff --git a/src/include/duckdb/function/table/arrow.hpp b/src/include/duckdb/function/table/arrow.hpp index 86caf5889ee3..ce923906e80c 100644 --- a/src/include/duckdb/function/table/arrow.hpp +++ b/src/include/duckdb/function/table/arrow.hpp @@ -44,7 +44,7 @@ struct ArrowStreamParameters { typedef unique_ptr (*stream_factory_produce_t)(uintptr_t stream_factory_ptr, ArrowStreamParameters ¶meters); -typedef void (*stream_factory_get_schema_t)(uintptr_t stream_factory_ptr, ArrowSchemaWrapper &schema); +typedef void (*stream_factory_get_schema_t)(ArrowArrayStream *stream_factory_ptr, ArrowSchema &schema); struct ArrowScanFunctionData : public PyTableFunctionData { public: @@ -63,6 +63,22 @@ struct ArrowScanFunctionData : public PyTableFunctionData { ArrowTableType arrow_table; }; +struct ArrowRunEndEncodingState { +public: + ArrowRunEndEncodingState() { + } + +public: + unique_ptr run_ends; + unique_ptr values; + +public: + void Reset() { + run_ends.reset(); + values.reset(); + } +}; + struct ArrowScanLocalState; struct ArrowArrayScanState { public: @@ -73,12 +89,24 @@ struct ArrowArrayScanState { unordered_map> children; // Cache the (optional) dictionary of this array unique_ptr dictionary; + //! Run-end-encoding state + ArrowRunEndEncodingState run_end_encoding; public: ArrowArrayScanState &GetChild(idx_t child_idx); void AddDictionary(unique_ptr dictionary_p); bool HasDictionary() const; Vector &GetDictionary(); + ArrowRunEndEncodingState &RunEndEncoding() { + return run_end_encoding; + } + +public: + void Reset() { + // Note: dictionary is not reset + // the dictionary should be the same for every array scanned of this column + run_end_encoding.Reset(); + } }; struct ArrowScanLocalState : public LocalTableFunctionState { @@ -101,6 +129,12 @@ struct ArrowScanLocalState : public LocalTableFunctionState { DataChunk all_columns; public: + void Reset() { + chunk_offset = 0; + for (auto &col : array_states) { + col.second->Reset(); + } + } ArrowArrayScanState &GetState(idx_t child_idx) { auto it = array_states.find(child_idx); if (it == array_states.end()) { @@ -179,8 +213,6 @@ struct ArrowTableFunction { //! Gets the progress on the table scan, used for Progress Bars static double ArrowProgress(ClientContext &context, const FunctionData *bind_data, const GlobalTableFunctionState *global_state); - //! Renames repeated columns and case sensitive columns - static void RenameArrowColumns(vector &names); public: //! Helper function to get the DuckDB logical type diff --git a/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp b/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp index d475875f0db2..0897855963a6 100644 --- a/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp +++ b/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp @@ -69,8 +69,12 @@ class ArrowType { ArrowDateTimeType GetDateTimeType() const; + void SetRunEndEncoded(); + const ArrowType &GetDictionary() const; + bool RunEndEncoded() const; + const ArrowType &operator[](idx_t index) const; private: @@ -85,6 +89,8 @@ class ArrowType { idx_t fixed_size = 0; //! Hold the optional type if the array is a dictionary unique_ptr dictionary_type; + //! Is run-end-encoded + bool run_end_encoded = false; }; using arrow_column_map_t = unordered_map>; diff --git a/src/include/duckdb/function/table/list.hpp b/src/include/duckdb/function/table/list.hpp index efeade1d7021..da9633d98778 100644 --- a/src/include/duckdb/function/table/list.hpp +++ b/src/include/duckdb/function/table/list.hpp @@ -2,3 +2,4 @@ #include "duckdb/function/table/system_functions.hpp" #include "duckdb/function/table/range.hpp" #include "duckdb/function/table/summary.hpp" +#include "duckdb/function/table/files.hpp" diff --git a/src/include/duckdb/function/table/range.hpp b/src/include/duckdb/function/table/range.hpp index d1dfd04ae29a..fa69d615d9ab 100644 --- a/src/include/duckdb/function/table/range.hpp +++ b/src/include/duckdb/function/table/range.hpp @@ -37,4 +37,16 @@ struct UnnestTableFunction { static void RegisterFunction(BuiltinFunctions &set); }; +struct CSVSnifferFunction { + static void RegisterFunction(BuiltinFunctions &set); +}; + +struct ReadBlobFunction { + static void RegisterFunction(BuiltinFunctions &set); +}; + +struct ReadTextFunction { + static void RegisterFunction(BuiltinFunctions &set); +}; + } // namespace duckdb diff --git a/src/include/duckdb/function/table/read_csv.hpp b/src/include/duckdb/function/table/read_csv.hpp index c3a22fe67618..63bc0ba04647 100644 --- a/src/include/duckdb/function/table/read_csv.hpp +++ b/src/include/duckdb/function/table/read_csv.hpp @@ -8,18 +8,20 @@ #pragma once -#include "duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp" -#include "duckdb/execution/operator/scan/csv/csv_buffer.hpp" -#include "duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp" -#include "duckdb/execution/operator/scan/csv/csv_file_handle.hpp" -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" -#include "duckdb/execution/operator/scan/csv/parallel_csv_reader.hpp" +#include "duckdb/common/multi_file_reader.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_file_handle.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.hpp" #include "duckdb/function/built_in_functions.hpp" #include "duckdb/function/scalar/strftime_format.hpp" #include "duckdb/function/table_function.hpp" -#include "duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp" +#include "duckdb/execution/operator/csv_scanner/table_function/csv_file_scanner.hpp" namespace duckdb { +class BaseScanner; +class StringValueScanner; class ReadCSV { public: @@ -73,6 +75,7 @@ struct ColumnInfo { }; struct ReadCSVData : public BaseCSVData { + ReadCSVData(); //! The expected SQL types to read from the file vector csv_types; //! The expected SQL names to be read from the file @@ -84,21 +87,15 @@ struct ReadCSVData : public BaseCSVData { //! The buffer manager (if any): this is used when automatic detection is used during binding. //! In this case, some CSV buffers have already been read and can be reused. shared_ptr buffer_manager; - unique_ptr initial_reader; + unique_ptr initial_reader; //! The union readers are created (when csv union_by_name option is on) during binding //! Those readers can be re-used during ReadCSVFunction - vector> union_readers; - //! Whether or not the single-threaded reader should be used - bool single_threaded = false; + vector> union_readers; //! Reader bind data MultiFileReaderBindData reader_bind; vector column_info; - //! The CSVStateMachineCache caches state machines created for sniffing and parsing csv files - //! We cache them because when reading very small csv files, the cost of creating all the possible - //! State machines for sniffing becomes a major bottleneck. - CSVStateMachineCache state_machine_cache; - void Initialize(unique_ptr &reader) { + void Initialize(unique_ptr &reader) { this->initial_reader = std::move(reader); } void FinalizeRead(ClientContext &context); @@ -114,6 +111,7 @@ struct CSVCopyFunction { struct ReadCSVTableFunction { static TableFunction GetFunction(); static TableFunction GetAutoFunction(); + static void ReadCSVAddNamedParameters(TableFunction &table_function); static void RegisterFunction(BuiltinFunctions &set); }; diff --git a/src/include/duckdb/function/table/system_functions.hpp b/src/include/duckdb/function/table/system_functions.hpp index 8cada10fb148..1ab8f87690df 100644 --- a/src/include/duckdb/function/table/system_functions.hpp +++ b/src/include/duckdb/function/table/system_functions.hpp @@ -29,14 +29,6 @@ struct PragmaMetadataInfo { static void RegisterFunction(BuiltinFunctions &set); }; -struct PragmaLastProfilingOutput { - static void RegisterFunction(BuiltinFunctions &set); -}; - -struct PragmaDetailedProfilingOutput { - static void RegisterFunction(BuiltinFunctions &set); -}; - struct PragmaVersion { static void RegisterFunction(BuiltinFunctions &set); }; @@ -61,6 +53,10 @@ struct DuckDBConstraintsFun { static void RegisterFunction(BuiltinFunctions &set); }; +struct DuckDBSecretsFun { + static void RegisterFunction(BuiltinFunctions &set); +}; + struct DuckDBDatabasesFun { static void RegisterFunction(BuiltinFunctions &set); }; @@ -85,6 +81,14 @@ struct DuckDBIndexesFun { static void RegisterFunction(BuiltinFunctions &set); }; +struct DuckDBMemoryFun { + static void RegisterFunction(BuiltinFunctions &set); +}; + +struct DuckDBOptimizersFun { + static void RegisterFunction(BuiltinFunctions &set); +}; + struct DuckDBSequencesFun { static void RegisterFunction(BuiltinFunctions &set); }; diff --git a/src/include/duckdb/function/table/table_scan.hpp b/src/include/duckdb/function/table/table_scan.hpp index 0045c46693a2..1195b42114b5 100644 --- a/src/include/duckdb/function/table/table_scan.hpp +++ b/src/include/duckdb/function/table/table_scan.hpp @@ -42,8 +42,6 @@ struct TableScanFunction { static void RegisterFunction(BuiltinFunctions &set); static TableFunction GetFunction(); static TableFunction GetIndexScanFunction(); - static optional_ptr GetTableEntry(const TableFunction &function, - const optional_ptr bind_data); }; } // namespace duckdb diff --git a/src/include/duckdb/function/table_function.hpp b/src/include/duckdb/function/table_function.hpp index ef537304b2e1..68c90d2d5721 100644 --- a/src/include/duckdb/function/table_function.hpp +++ b/src/include/duckdb/function/table_function.hpp @@ -24,6 +24,7 @@ class BaseStatistics; class DependencyList; class LogicalGet; class TableFilterSet; +class TableCatalogEntry; struct TableFunctionInfo { DUCKDB_API virtual ~TableFunctionInfo(); @@ -138,8 +139,12 @@ enum ScanType { TABLE, PARQUET }; struct BindInfo { public: explicit BindInfo(ScanType type_p) : type(type_p) {}; + explicit BindInfo(TableCatalogEntry &table) : type(ScanType::TABLE), table(&table) {}; + unordered_map options; ScanType type; + optional_ptr table; + void InsertOption(const string &name, Value value) { if (options.find(name) != options.end()) { throw InternalException("This option already exists"); @@ -190,7 +195,7 @@ typedef idx_t (*table_function_get_batch_index_t)(ClientContext &context, const LocalTableFunctionState *local_state, GlobalTableFunctionState *global_state); -typedef BindInfo (*table_function_get_bind_info)(const FunctionData *bind_data); +typedef BindInfo (*table_function_get_bind_info_t)(const optional_ptr bind_data); typedef double (*table_function_progress_t)(ClientContext &context, const FunctionData *bind_data, const GlobalTableFunctionState *global_state); @@ -259,8 +264,8 @@ class TableFunction : public SimpleNamedParameterFunction { table_function_progress_t table_scan_progress; //! (Optional) returns the current batch index of the current scan operator table_function_get_batch_index_t get_batch_index; - //! (Optional) returns the extra batch info, currently only used for the substrait extension - table_function_get_bind_info get_batch_info; + //! (Optional) returns extra bind info + table_function_get_bind_info_t get_bind_info; table_function_serialize_t serialize; table_function_deserialize_t deserialize; diff --git a/src/include/duckdb/main/appender.hpp b/src/include/duckdb/main/appender.hpp index 4fa513a7916d..b966b6c55f51 100644 --- a/src/include/duckdb/main/appender.hpp +++ b/src/include/duckdb/main/appender.hpp @@ -60,7 +60,7 @@ class BaseAppender { // Append functions template void Append(T value) { - throw Exception("Undefined type for Appender::Append!"); + throw InternalException("Undefined type for Appender::Append!"); } DUCKDB_API void Append(const char *value, uint32_t length); @@ -153,6 +153,8 @@ DUCKDB_API void BaseAppender::Append(int64_t value); template <> DUCKDB_API void BaseAppender::Append(hugeint_t value); template <> +DUCKDB_API void BaseAppender::Append(uhugeint_t value); +template <> DUCKDB_API void BaseAppender::Append(uint8_t value); template <> DUCKDB_API void BaseAppender::Append(uint16_t value); diff --git a/src/include/duckdb/main/attached_database.hpp b/src/include/duckdb/main/attached_database.hpp index 14b6f6e053ef..a7d8241807be 100644 --- a/src/include/duckdb/main/attached_database.hpp +++ b/src/include/duckdb/main/attached_database.hpp @@ -20,6 +20,7 @@ class DatabaseInstance; class StorageManager; class TransactionManager; class StorageExtension; +class DatabaseManager; struct AttachInfo; @@ -38,8 +39,8 @@ class AttachedDatabase : public CatalogEntry { //! Create an attached database instance with the specified name and storage AttachedDatabase(DatabaseInstance &db, Catalog &catalog, string name, string file_path, AccessMode access_mode); //! Create an attached database instance with the specified storage extension - AttachedDatabase(DatabaseInstance &db, Catalog &catalog, StorageExtension &ext, string name, AttachInfo &info, - AccessMode access_mode); + AttachedDatabase(DatabaseInstance &db, Catalog &catalog, StorageExtension &ext, ClientContext &context, string name, + const AttachInfo &info, AccessMode access_mode); ~AttachedDatabase() override; void Initialize(); diff --git a/src/include/duckdb/main/buffered_data/buffered_data.hpp b/src/include/duckdb/main/buffered_data/buffered_data.hpp new file mode 100644 index 000000000000..a98bfad56725 --- /dev/null +++ b/src/include/duckdb/main/buffered_data/buffered_data.hpp @@ -0,0 +1,89 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/main/buffered_data.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/parallel/interrupt.hpp" +#include "duckdb/common/queue.hpp" +#include "duckdb/common/vector_size.hpp" +#include "duckdb/common/types/data_chunk.hpp" +#include "duckdb/common/optional_idx.hpp" +#include "duckdb/execution/physical_operator_states.hpp" +#include "duckdb/common/enums/pending_execution_result.hpp" + +namespace duckdb { + +class StreamQueryResult; +class ClientContextLock; + +struct BlockedSink { +public: + BlockedSink(InterruptState state, idx_t chunk_size) : state(state), chunk_size(chunk_size) { + } + +public: + //! The handle to reschedule the blocked sink + InterruptState state; + //! The amount of tuples this sink would add + idx_t chunk_size; +}; + +class BufferedData { +protected: + enum class Type { SIMPLE }; + +public: + BufferedData(Type type, weak_ptr context) : type(type), context(context) { + } + virtual ~BufferedData() { + } + +public: + virtual bool BufferIsFull() = 0; + virtual PendingExecutionResult ReplenishBuffer(StreamQueryResult &result, ClientContextLock &context_lock) = 0; + virtual unique_ptr Scan() = 0; + shared_ptr GetContext() { + return context.lock(); + } + bool Closed() const { + if (context.expired()) { + return false; + } + auto c = context.lock(); + return c == nullptr; + } + void Close() { + context.reset(); + } + +public: + template + TARGET &Cast() { + if (TARGET::TYPE != type) { + throw InternalException("Failed to cast buffered data to type - buffered data type mismatch"); + } + return reinterpret_cast(*this); + } + + template + const TARGET &Cast() const { + if (TARGET::TYPE != type) { + throw InternalException("Failed to cast buffered data to type - buffered data type mismatch"); + } + return reinterpret_cast(*this); + } + +protected: + Type type; + //! This is weak to avoid a cyclical reference + weak_ptr context; + //! Protect against populate/fetch race condition + mutex glock; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/main/buffered_data/simple_buffered_data.hpp b/src/include/duckdb/main/buffered_data/simple_buffered_data.hpp new file mode 100644 index 000000000000..a33928c481f0 --- /dev/null +++ b/src/include/duckdb/main/buffered_data/simple_buffered_data.hpp @@ -0,0 +1,53 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/main/simple_buffered_data.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/main/buffered_data/buffered_data.hpp" +#include "duckdb/parallel/interrupt.hpp" +#include "duckdb/common/queue.hpp" +#include "duckdb/common/vector_size.hpp" +#include "duckdb/common/types/data_chunk.hpp" + +namespace duckdb { + +class StreamQueryResult; +class ClientContextLock; + +class SimpleBufferedData : public BufferedData { +public: + static constexpr const BufferedData::Type TYPE = BufferedData::Type::SIMPLE; + +private: + //! (roughly) The max amount of tuples we'll keep buffered at a time + static constexpr idx_t BUFFER_SIZE = 100000; + +public: + SimpleBufferedData(weak_ptr context); + ~SimpleBufferedData() override; + +public: + void Append(unique_ptr chunk); + void BlockSink(const BlockedSink &blocked_sink); + bool BufferIsFull() override; + PendingExecutionResult ReplenishBuffer(StreamQueryResult &result, ClientContextLock &context_lock) override; + unique_ptr Scan() override; + +private: + void UnblockSinks(); + +private: + //! Our handles to reschedule the blocked sink tasks + queue blocked_sinks; + //! The queue of chunks + queue> buffered_chunks; + //! The current capacity of the buffer (tuples) + atomic buffered_count; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/main/capi/capi_internal.hpp b/src/include/duckdb/main/capi/capi_internal.hpp index cd4ae6262977..2d27949a41d3 100644 --- a/src/include/duckdb/main/capi/capi_internal.hpp +++ b/src/include/duckdb/main/capi/capi_internal.hpp @@ -14,6 +14,7 @@ #include "duckdb/common/types/data_chunk.hpp" #include "duckdb/main/appender.hpp" #include "duckdb/common/case_insensitive_map.hpp" +#include "duckdb/main/client_context.hpp" #include #include @@ -49,7 +50,6 @@ struct PendingStatementWrapper { struct ArrowResultWrapper { unique_ptr result; unique_ptr current_chunk; - ClientProperties options; }; struct AppenderWrapper { @@ -77,5 +77,6 @@ LogicalTypeId ConvertCTypeToCPP(duckdb_type c_type); idx_t GetCTypeSize(duckdb_type type); duckdb_state duckdb_translate_result(unique_ptr result, duckdb_result *out); bool deprecated_materialize_result(duckdb_result *result); +duckdb_statement_type StatementTypeToC(duckdb::StatementType statement_type); } // namespace duckdb diff --git a/src/include/duckdb/main/capi/cast/generic.hpp b/src/include/duckdb/main/capi/cast/generic.hpp index 3aa708f4af29..ac01ec750cfd 100644 --- a/src/include/duckdb/main/capi/cast/generic.hpp +++ b/src/include/duckdb/main/capi/cast/generic.hpp @@ -54,6 +54,8 @@ RESULT_TYPE GetInternalCValue(duckdb_result *result, idx_t col, idx_t row) { return TryCastCInternal(result, col, row); case DUCKDB_TYPE_HUGEINT: return TryCastCInternal(result, col, row); + case DUCKDB_TYPE_UHUGEINT: + return TryCastCInternal(result, col, row); case DUCKDB_TYPE_DECIMAL: return TryCastDecimalCInternal(result, col, row); case DUCKDB_TYPE_INTERVAL: diff --git a/src/include/duckdb/main/chunk_scan_state.hpp b/src/include/duckdb/main/chunk_scan_state.hpp index 8849b09b7c1b..68f113ffc5d0 100644 --- a/src/include/duckdb/main/chunk_scan_state.hpp +++ b/src/include/duckdb/main/chunk_scan_state.hpp @@ -2,7 +2,7 @@ #include "duckdb/common/vector.hpp" #include "duckdb/common/unique_ptr.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" namespace duckdb { @@ -21,9 +21,9 @@ class ChunkScanState { ChunkScanState &operator=(ChunkScanState &&other) = default; public: - virtual bool LoadNextChunk(PreservedError &error) = 0; + virtual bool LoadNextChunk(ErrorData &error) = 0; virtual bool HasError() const = 0; - virtual PreservedError &GetError() = 0; + virtual ErrorData &GetError() = 0; virtual const vector &Types() const = 0; virtual const vector &Names() const = 0; idx_t CurrentOffset() const; diff --git a/src/include/duckdb/main/chunk_scan_state/query_result.hpp b/src/include/duckdb/main/chunk_scan_state/query_result.hpp index d6f21a5076c6..acdb1086f173 100644 --- a/src/include/duckdb/main/chunk_scan_state/query_result.hpp +++ b/src/include/duckdb/main/chunk_scan_state/query_result.hpp @@ -1,7 +1,7 @@ #pragma once #include "duckdb/main/chunk_scan_state.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" namespace duckdb { @@ -13,14 +13,14 @@ class QueryResultChunkScanState : public ChunkScanState { ~QueryResultChunkScanState(); public: - bool LoadNextChunk(PreservedError &error) override; + bool LoadNextChunk(ErrorData &error) override; bool HasError() const override; - PreservedError &GetError() override; + ErrorData &GetError() override; const vector &Types() const override; const vector &Names() const override; private: - bool InternalLoad(PreservedError &error); + bool InternalLoad(ErrorData &error); private: QueryResult &result; diff --git a/src/include/duckdb/main/client_config.hpp b/src/include/duckdb/main/client_config.hpp index 56c67f470571..92f256cf41f8 100644 --- a/src/include/duckdb/main/client_config.hpp +++ b/src/include/duckdb/main/client_config.hpp @@ -59,6 +59,8 @@ struct ClientConfig { bool query_verification_enabled = false; //! Whether or not verification of external operators is enabled, used for testing bool verify_external = false; + //! Whether or not verification of fetch row code is enabled, used for testing + bool verify_fetch_row = false; //! Whether or not we should verify the serializer bool verify_serializer = false; //! Enable the running of optimizers @@ -67,16 +69,14 @@ struct ClientConfig { bool enable_caching_operators = true; //! Force parallelism of small tables, used for testing bool verify_parallelism = false; - //! Enable the optimizer to consider index joins, which are disabled on default - bool enable_index_join = false; - //! Force index join independent of table cardinality, used for testing - bool force_index_join = false; //! Force out-of-core computation for operators that support it, used for testing bool force_external = false; //! Force disable cross product generation when hyper graph isn't connected, used for testing bool force_no_cross_product = false; //! Force use of IEJoin to implement AsOfJoin, used for testing bool force_asof_iejoin = false; + //! Force use of fetch row instead of scan, used for testing + bool force_fetch_row = false; //! Use range joins for inequalities, even if there are equality predicates bool prefer_range_joins = false; //! If this context should also try to use the available replacement scans @@ -91,11 +91,6 @@ struct ClientConfig { //! Callback to create a progress bar display progress_bar_display_create_func_t display_create_func = nullptr; - //! Override for the default extension repository - string custom_extension_repo = ""; - //! Override for the default autoload extensoin repository - string autoinstall_extension_repo = ""; - //! The explain output type used when none is specified (default: PHYSICAL_ONLY) ExplainOutputType explain_output_type = ExplainOutputType::PHYSICAL_ONLY; @@ -108,6 +103,9 @@ struct ClientConfig { //! Whether or not the "/" division operator defaults to integer division or floating point division bool integer_division = false; + //! Output error messages as structured JSON instead of as a raw string + bool errors_as_json = false; + //! Generic options case_insensitive_map_t set_variables; @@ -120,7 +118,7 @@ struct ClientConfig { static const ClientConfig &GetConfig(const ClientContext &context); bool AnyVerification() { - return query_verification_enabled || verify_external || verify_serializer; + return query_verification_enabled || verify_external || verify_serializer || verify_fetch_row; } }; diff --git a/src/include/duckdb/main/client_context.hpp b/src/include/duckdb/main/client_context.hpp index 16ead95d02bf..c26a0e61b944 100644 --- a/src/include/duckdb/main/client_context.hpp +++ b/src/include/duckdb/main/client_context.hpp @@ -23,8 +23,9 @@ #include "duckdb/common/atomic.hpp" #include "duckdb/main/client_config.hpp" #include "duckdb/main/external_dependencies.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb/main/client_properties.hpp" +#include "duckdb/main/client_context_state.hpp" namespace duckdb { class Appender; @@ -43,7 +44,9 @@ struct CreateScalarFunctionInfo; class ScalarFunctionCatalogEntry; struct ActiveQueryContext; struct ParserOptions; +class SimpleBufferedData; struct ClientData; +class ClientContextState; struct PendingQueryParameters { //! Prepared statement parameters (if any) @@ -52,20 +55,13 @@ struct PendingQueryParameters { bool allow_stream_result = false; }; -//! ClientContextState is virtual base class for ClientContext-local (or Query-Local, using QueryEnd callback) state -//! e.g. caches that need to live as long as a ClientContext or Query. -class ClientContextState { -public: - virtual ~ClientContextState() {}; - virtual void QueryEnd() = 0; -}; - //! The ClientContext holds information relevant to the current client session //! during execution class ClientContext : public std::enable_shared_from_this { - friend class PendingQueryResult; - friend class StreamQueryResult; - friend class DuckTransactionManager; + friend class PendingQueryResult; // LockContext + friend class SimpleBufferedData; // ExecuteTaskInternal + friend class StreamQueryResult; // LockContext + friend class ConnectionManager; public: DUCKDB_API explicit ClientContext(shared_ptr db); @@ -148,7 +144,7 @@ class ClientContext : public std::enable_shared_from_this { const PendingQueryParameters ¶meters); //! Gets current percentage of the query's progress, returns 0 in case the progress bar is disabled. - DUCKDB_API double GetProgress(); + DUCKDB_API QueryProgress GetQueryProgress(); //! Register function in the temporary schema DUCKDB_API void RegisterFunction(CreateFunctionInfo &info); @@ -174,10 +170,9 @@ class ClientContext : public std::enable_shared_from_this { //! Returns the parser options for this client context DUCKDB_API ParserOptions GetParserOptions() const; - DUCKDB_API unique_ptr Fetch(ClientContextLock &lock, StreamQueryResult &result); - //! Whether or not the given result object (streaming query result or pending query result) is active - DUCKDB_API bool IsActiveResult(ClientContextLock &lock, BaseQueryResult *result); + DUCKDB_API bool IsActiveResult(ClientContextLock &lock, BaseQueryResult &result); + DUCKDB_API void SetActiveResult(ClientContextLock &lock, BaseQueryResult &result); //! Returns the current executor Executor &GetExecutor(); @@ -193,10 +188,13 @@ class ClientContext : public std::enable_shared_from_this { //! Returns true if execution of the current query is finished DUCKDB_API bool ExecutionIsFinished(); + //! Process an error for display to the user + DUCKDB_API void ProcessError(ErrorData &error, const string &query) const; + private: //! Parse statements and resolve pragmas from a query bool ParseStatements(ClientContextLock &lock, const string &query, vector> &result, - PreservedError &error); + ErrorData &error); //! Issues a query to the database and returns a Pending Query Result unique_ptr PendingQueryInternal(ClientContextLock &lock, unique_ptr statement, const PendingQueryParameters ¶meters, bool verify = true); @@ -206,7 +204,7 @@ class ClientContext : public std::enable_shared_from_this { vector> ParseStatementsInternal(ClientContextLock &lock, const string &query); //! Perform aggressive query verification of a SELECT statement. Only called when query_verification_enabled is //! true. - PreservedError VerifyQuery(ClientContextLock &lock, const string &query, unique_ptr statement); + ErrorData VerifyQuery(ClientContextLock &lock, const string &query, unique_ptr statement); void InitialCleanup(ClientContextLock &lock); //! Internal clean up, does not lock. Caller must hold the context_lock. @@ -234,15 +232,13 @@ class ClientContext : public std::enable_shared_from_this { void LogQueryInternal(ClientContextLock &lock, const string &query); unique_ptr FetchResultInternal(ClientContextLock &lock, PendingQueryResult &pending); - unique_ptr FetchInternal(ClientContextLock &lock, Executor &executor, BaseQueryResult &result); unique_ptr LockContext(); - void BeginTransactionInternal(ClientContextLock &lock, bool requires_valid_transaction); void BeginQueryInternal(ClientContextLock &lock, const string &query); - PreservedError EndQueryInternal(ClientContextLock &lock, bool success, bool invalidate_transaction); + ErrorData EndQueryInternal(ClientContextLock &lock, bool success, bool invalidate_transaction); - PendingExecutionResult ExecuteTaskInternal(ClientContextLock &lock, PendingQueryResult &result); + PendingExecutionResult ExecuteTaskInternal(ClientContextLock &lock, BaseQueryResult &result, bool dry_run = false); unique_ptr PendingStatementOrPreparedStatementInternal( ClientContextLock &lock, const string &query, unique_ptr statement, @@ -255,13 +251,16 @@ class ClientContext : public std::enable_shared_from_this { unique_ptr PendingQueryInternal(ClientContextLock &, const shared_ptr &relation, bool allow_stream_result); + template + unique_ptr ErrorResult(ErrorData error, const string &query = string()); + private: //! Lock on using the ClientContext in parallel mutex context_lock; //! The currently active query context unique_ptr active_query; //! The current query progress - atomic query_progress; + QueryProgress query_progress; }; class ClientContextLock { diff --git a/src/include/duckdb/main/client_context_state.hpp b/src/include/duckdb/main/client_context_state.hpp new file mode 100644 index 000000000000..c07c9011aa95 --- /dev/null +++ b/src/include/duckdb/main/client_context_state.hpp @@ -0,0 +1,37 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/main/client_context_state.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/common.hpp" + +namespace duckdb { +class ClientContext; +class MetaTransaction; + +//! ClientContextState is virtual base class for ClientContext-local (or Query-Local, using QueryEnd callback) state +//! e.g. caches that need to live as long as a ClientContext or Query. +class ClientContextState { +public: + virtual ~ClientContextState() = default; + virtual void QueryBegin(ClientContext &context) { + } + virtual void QueryEnd() { + } + virtual void QueryEnd(ClientContext &context) { + QueryEnd(); + } + virtual void TransactionBegin(MetaTransaction &transaction, ClientContext &context) { + } + virtual void TransactionCommit(MetaTransaction &transaction, ClientContext &context) { + } + virtual void TransactionRollback(MetaTransaction &transaction, ClientContext &context) { + } +}; + +} // namespace duckdb diff --git a/src/include/duckdb/main/client_data.hpp b/src/include/duckdb/main/client_data.hpp index 4eb385784a0f..2d7fa16e6cde 100644 --- a/src/include/duckdb/main/client_data.hpp +++ b/src/include/duckdb/main/client_data.hpp @@ -13,7 +13,7 @@ #include "duckdb/common/types/value.hpp" #include "duckdb/common/case_insensitive_map.hpp" #include "duckdb/common/atomic.hpp" -#include "duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp" +#include "duckdb/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.hpp" namespace duckdb { class AttachedDatabase; @@ -24,7 +24,6 @@ class FileOpener; class FileSystem; class HTTPState; class QueryProfiler; -class QueryProfilerHistory; class PreparedStatementData; class SchemaCatalogEntry; struct RandomEngine; @@ -35,8 +34,6 @@ struct ClientData { //! Query profiler shared_ptr profiler; - //! QueryProfiler History - unique_ptr query_profiler_history; //! The set of temporary objects that belong to this client shared_ptr temporary_objects; @@ -54,9 +51,6 @@ struct ClientData { //! The file opener of the client context unique_ptr file_opener; - //! HTTP State in this query - shared_ptr http_state; - //! The clients' file system wrapper unique_ptr client_file_system; diff --git a/src/include/duckdb/main/config.hpp b/src/include/duckdb/main/config.hpp index 3cd2e8850ed0..468ec5bff298 100644 --- a/src/include/duckdb/main/config.hpp +++ b/src/include/duckdb/main/config.hpp @@ -8,10 +8,10 @@ #pragma once -#include "duckdb/common/enums/access_mode.hpp" #include "duckdb/common/allocator.hpp" #include "duckdb/common/case_insensitive_map.hpp" #include "duckdb/common/common.hpp" +#include "duckdb/common/enums/access_mode.hpp" #include "duckdb/common/enums/compression_type.hpp" #include "duckdb/common/enums/optimizer_type.hpp" #include "duckdb/common/enums/order_type.hpp" @@ -22,15 +22,18 @@ #include "duckdb/common/types/value.hpp" #include "duckdb/common/vector.hpp" #include "duckdb/common/winapi.hpp" -#include "duckdb/storage/compression/bitpacking.hpp" #include "duckdb/function/cast/default_casts.hpp" #include "duckdb/function/replacement_scan.hpp" #include "duckdb/optimizer/optimizer_extension.hpp" +#include "duckdb/parser/parsed_data/create_info.hpp" #include "duckdb/parser/parser_extension.hpp" #include "duckdb/planner/operator_extension.hpp" +#include "duckdb/storage/compression/bitpacking.hpp" #include "duckdb/main/client_properties.hpp" +#include "duckdb/execution/index/index_type_set.hpp" namespace duckdb { + class BufferPool; class CastFunctionSet; class ClientContext; @@ -40,6 +43,7 @@ class TableFunctionRef; class OperatorExtension; class StorageExtension; class ExtensionCallback; +class SecretManager; struct CompressionFunctionSet; struct DBConfig; @@ -108,16 +112,23 @@ struct DBConfigOptions { #else bool autoinstall_known_extensions = false; #endif + //! Override for the default extension repository + string custom_extension_repo = ""; + //! Override for the default autoload extensoin repository + string autoinstall_extension_repo = ""; //! The maximum memory used by the database system (in bytes). Default: 80% of System available memory idx_t maximum_memory = (idx_t)-1; //! The maximum amount of CPU threads used by the database system. Default: all available. idx_t maximum_threads = (idx_t)-1; - //! The number of external threads that work on DuckDB tasks. Default: none. - idx_t external_threads = 0; + //! The number of external threads that work on DuckDB tasks. Default: 1. + //! Must be smaller or equal to maximum_threads. + idx_t external_threads = 1; //! Whether or not to create and use a temporary directory to store intermediates that do not fit in memory bool use_temporary_directory = true; //! Directory to store temporary structures that do not fit in memory string temporary_directory; + //! Whether or not to allow printing unredacted secrets + bool allow_unredacted_secrets = false; //! The collation type of the database string collation = string(); //! The order type used when none is specified (default: ASC) @@ -177,6 +188,8 @@ struct DBConfigOptions { string duckdb_api; //! Metadata from DuckDB callers string custom_user_agent; + //! Use old implicit casting style (i.e. allow everything to be implicitly casted to VARCHAR) + bool old_implicit_casting = false; bool operator==(const DBConfigOptions &other) const; }; @@ -187,7 +200,8 @@ struct DBConfig { public: DUCKDB_API DBConfig(); - DUCKDB_API DBConfig(std::unordered_map &config_dict, bool read_only); + DUCKDB_API DBConfig(bool read_only); + DUCKDB_API DBConfig(const case_insensitive_map_t &config_dict, bool read_only); DUCKDB_API ~DBConfig(); mutex config_lock; @@ -199,6 +213,8 @@ struct DBConfig { //! The FileSystem to use, can be overwritten to allow for injecting custom file systems for testing purposes (e.g. //! RamFS or something similar) unique_ptr file_system; + //! Secret manager + unique_ptr secret_manager; //! The allocator used by the system unique_ptr allocator; //! Database configuration options @@ -236,10 +252,10 @@ struct DBConfig { DUCKDB_API static ConfigurationOption *GetOptionByIndex(idx_t index); //! Fetch an option by name. Returns a pointer to the option, or nullptr if none exists. DUCKDB_API static ConfigurationOption *GetOptionByName(const string &name); - DUCKDB_API void SetOption(const ConfigurationOption &option, const Value &value); DUCKDB_API void SetOption(DatabaseInstance *db, const ConfigurationOption &option, const Value &value); DUCKDB_API void SetOptionByName(const string &name, const Value &value); + DUCKDB_API void SetOptionsByName(const case_insensitive_map_t &values); DUCKDB_API void ResetOption(DatabaseInstance *db, const ConfigurationOption &option); DUCKDB_API void SetOption(const string &name, Value value); DUCKDB_API void ResetOption(const string &name); @@ -257,8 +273,8 @@ struct DBConfig { bool operator!=(const DBConfig &other); DUCKDB_API CastFunctionSet &GetCastFunctions(); + DUCKDB_API IndexTypeSet &GetIndexTypes(); static idx_t GetSystemMaxThreads(FileSystem &fs); - void SetDefaultMaxThreads(); void SetDefaultMaxMemory(); OrderType ResolveOrder(OrderType order_type) const; @@ -268,6 +284,7 @@ struct DBConfig { private: unique_ptr compression_functions; unique_ptr cast_functions; + unique_ptr index_types; }; } // namespace duckdb diff --git a/src/include/duckdb/main/connection.hpp b/src/include/duckdb/main/connection.hpp index 29048a9e438e..5308c40ab616 100644 --- a/src/include/duckdb/main/connection.hpp +++ b/src/include/duckdb/main/connection.hpp @@ -40,6 +40,12 @@ class Connection { public: DUCKDB_API explicit Connection(DuckDB &database); DUCKDB_API explicit Connection(DatabaseInstance &database); + // disable copy constructors + Connection(const Connection &other) = delete; + Connection &operator=(const Connection &) = delete; + //! enable move constructors + DUCKDB_API Connection(Connection &&other) noexcept; + DUCKDB_API Connection &operator=(Connection &&) noexcept; DUCKDB_API ~Connection(); shared_ptr context; @@ -131,7 +137,8 @@ class Connection { //! Reads CSV file DUCKDB_API shared_ptr ReadCSV(const string &csv_file); - DUCKDB_API shared_ptr ReadCSV(const string &csv_file, named_parameter_map_t &&options); + DUCKDB_API shared_ptr ReadCSV(const vector &csv_input, named_parameter_map_t &&options); + DUCKDB_API shared_ptr ReadCSV(const string &csv_input, named_parameter_map_t &&options); DUCKDB_API shared_ptr ReadCSV(const string &csv_file, const vector &columns); //! Reads Parquet file diff --git a/src/include/duckdb/main/connection_manager.hpp b/src/include/duckdb/main/connection_manager.hpp index 11495742de50..b59ce503db26 100644 --- a/src/include/duckdb/main/connection_manager.hpp +++ b/src/include/duckdb/main/connection_manager.hpp @@ -17,37 +17,25 @@ namespace duckdb { class ClientContext; class DatabaseInstance; -class ConnectionManager { -public: - ConnectionManager() { +struct ClientLockWrapper { + ClientLockWrapper(mutex &client_lock, shared_ptr connection) + : connection(std::move(connection)), connection_lock(make_uniq>(client_lock)) { } - void AddConnection(ClientContext &context) { - lock_guard lock(connections_lock); - connections.insert(make_pair(&context, weak_ptr(context.shared_from_this()))); - } + shared_ptr connection; + unique_ptr> connection_lock; +}; - void RemoveConnection(ClientContext &context) { - lock_guard lock(connections_lock); - connections.erase(&context); - } +class ConnectionManager { +public: + ConnectionManager(); - vector> GetConnectionList() { - vector> result; - for (auto &it : connections) { - auto connection = it.second.lock(); - if (!connection) { - connections.erase(it.first); - continue; - } else { - result.push_back(std::move(connection)); - } - } - - return result; - } + void AddConnection(ClientContext &context); + void RemoveConnection(ClientContext &context); - ClientContext *GetConnection(DatabaseInstance *db); + vector> GetConnectionList(); + + void LockClients(vector &client_locks, ClientContext &context); static ConnectionManager &Get(DatabaseInstance &db); static ConnectionManager &Get(ClientContext &context); @@ -55,6 +43,9 @@ class ConnectionManager { public: mutex connections_lock; unordered_map> connections; + + mutex lock_clients_lock; + bool is_locking; }; } // namespace duckdb diff --git a/src/include/duckdb/main/database.hpp b/src/include/duckdb/main/database.hpp index 8a89b730ad87..a5798c8059b5 100644 --- a/src/include/duckdb/main/database.hpp +++ b/src/include/duckdb/main/database.hpp @@ -35,7 +35,8 @@ class DatabaseInstance : public std::enable_shared_from_this { DBConfig config; public: - BufferPool &GetBufferPool(); + BufferPool &GetBufferPool() const; + DUCKDB_API SecretManager &GetSecretManager(); DUCKDB_API BufferManager &GetBufferManager(); DUCKDB_API DatabaseManager &GetDatabaseManager(); DUCKDB_API FileSystem &GetFileSystem(); @@ -54,7 +55,8 @@ class DatabaseInstance : public std::enable_shared_from_this { DUCKDB_API bool TryGetCurrentSetting(const std::string &key, Value &result); - unique_ptr CreateAttachedDatabase(AttachInfo &info, const string &type, AccessMode access_mode); + unique_ptr CreateAttachedDatabase(ClientContext &context, const AttachInfo &info, + const string &type, AccessMode access_mode); private: void Initialize(const char *path, DBConfig *config); diff --git a/src/include/duckdb/main/database_manager.hpp b/src/include/duckdb/main/database_manager.hpp index f5360a37677d..1556caacb67c 100644 --- a/src/include/duckdb/main/database_manager.hpp +++ b/src/include/duckdb/main/database_manager.hpp @@ -8,12 +8,15 @@ #pragma once -#include "duckdb/common/common.hpp" +#include "duckdb/common/atomic.hpp" #include "duckdb/common/case_insensitive_map.hpp" +#include "duckdb/common/common.hpp" +#include "duckdb/common/enums/access_mode.hpp" +#include "duckdb/common/enums/on_entry_not_found.hpp" #include "duckdb/common/mutex.hpp" -#include "duckdb/common/atomic.hpp" #include "duckdb/common/optional_ptr.hpp" -#include "duckdb/common/enums/on_entry_not_found.hpp" +#include "duckdb/main/config.hpp" +#include "duckdb/parser/parsed_data/attach_info.hpp" namespace duckdb { class AttachedDatabase; @@ -36,18 +39,35 @@ class DatabaseManager { static DatabaseManager &Get(AttachedDatabase &db); void InitializeSystemCatalog(); - //! Get an attached database with the given name + //! Get an attached database by its name optional_ptr GetDatabase(ClientContext &context, const string &name); - //! Add a new attached database to the database manager - void AddDatabase(ClientContext &context, unique_ptr db); + //! Attach a new database + optional_ptr AttachDatabase(ClientContext &context, const AttachInfo &info, const string &db_type, + AccessMode access_mode); + //! Detach an existing database void DetachDatabase(ClientContext &context, const string &name, OnEntryNotFound if_not_found); //! Returns a reference to the system catalog Catalog &GetSystemCatalog(); + static const string &GetDefaultDatabase(ClientContext &context); void SetDefaultDatabase(ClientContext &context, const string &new_value); - optional_ptr GetDatabaseFromPath(ClientContext &context, const string &path); + //! Inserts a path to name mapping to the database paths map + void InsertDatabasePath(ClientContext &context, const string &path, const string &name); + //! Erases a path from the database paths map + void EraseDatabasePath(const string &path); + + //! Returns the database type. This might require checking the header of the file, in which case the file handle is + //! necessary. We can only grab the file handle, if it is not yet held, even for uncommitted changes. Thus, we have + //! to lock for this operation. + void GetDatabaseType(ClientContext &context, string &db_type, AttachInfo &info, const DBConfig &config, + const string &unrecognized_option); + //! Scans the catalog set and adds each committed database entry, and each database entry of the current + //! transaction, to a vector holding AttachedDatabase references vector> GetDatabases(ClientContext &context); + //! Removes all databases from the catalog set. This is necessary for the database instance's destructor, + //! as the database manager has to be alive when destroying the catalog set objects. + void ResetDatabases(); transaction_t GetNewQueryNumber() { return current_query_number++; @@ -62,6 +82,11 @@ class DatabaseManager { return !default_database.empty(); } +private: + //! Returns a database with a specified path + optional_ptr GetDatabaseFromPath(ClientContext &context, const string &path); + void CheckPathConflict(ClientContext &context, const string &path); + private: //! The system database is a special database that holds system entries (e.g. functions) unique_ptr system; @@ -73,6 +98,13 @@ class DatabaseManager { atomic current_query_number; //! The current default database string default_database; + + //! The lock to add entries to the database path map + mutex db_paths_lock; + //! A set containing all attached database path + //! This allows to attach many databases efficiently, and to avoid attaching the + //! same file path twice + case_insensitive_set_t db_paths; }; } // namespace duckdb diff --git a/src/include/duckdb/main/database_path_and_type.hpp b/src/include/duckdb/main/database_path_and_type.hpp index e1dc5d469eac..55269320d7d7 100644 --- a/src/include/duckdb/main/database_path_and_type.hpp +++ b/src/include/duckdb/main/database_path_and_type.hpp @@ -14,11 +14,12 @@ namespace duckdb { struct DBPathAndType { - //! Parse database extension type and rest of path from combined form (type:path) - static DBPathAndType Parse(const string &combined_path, const DBConfig &config); + static void ExtractExtensionPrefix(string &path, string &db_type); + //! Check the magic bytes of a file and set the database type based on that + static void CheckMagicBytes(string &path, string &db_type, const DBConfig &config); - const string path; - const string type; + //! Run ExtractExtensionPrefix followed by CheckMagicBytes + static void ResolveDatabaseType(string &path, string &db_type, const DBConfig &config); }; } // namespace duckdb diff --git a/src/include/duckdb/main/error_manager.hpp b/src/include/duckdb/main/error_manager.hpp index 2fd63b365802..a0d1c229f993 100644 --- a/src/include/duckdb/main/error_manager.hpp +++ b/src/include/duckdb/main/error_manager.hpp @@ -15,6 +15,7 @@ namespace duckdb { class ClientContext; class DatabaseInstance; +class TransactionException; enum class ErrorType : uint16_t { // error message types @@ -51,7 +52,9 @@ class ErrorManager { return Get(context).FormatException(error_type, params...); } - DUCKDB_API static string InvalidUnicodeError(const string &input, const string &context); + DUCKDB_API static InvalidInputException InvalidUnicodeError(const string &input, const string &context); + DUCKDB_API static FatalException InvalidatedDatabase(ClientContext &context, const string &invalidated_msg); + DUCKDB_API static TransactionException InvalidatedTransaction(ClientContext &context); //! Adds a custom error for a specific error type void AddCustomError(ErrorType type, string new_error); diff --git a/src/include/duckdb/main/extension_entries.hpp b/src/include/duckdb/main/extension_entries.hpp index 041c72e280d5..1c96337d7cba 100644 --- a/src/include/duckdb/main/extension_entries.hpp +++ b/src/include/duckdb/main/extension_entries.hpp @@ -20,186 +20,190 @@ struct ExtensionEntry { char extension[48]; }; -static constexpr ExtensionEntry EXTENSION_FUNCTIONS[] = { - {"->>", "json"}, - {"array_to_json", "json"}, - {"create_fts_index", "fts"}, - {"current_localtime", "icu"}, - {"current_localtimestamp", "icu"}, - {"dbgen", "tpch"}, - {"drop_fts_index", "fts"}, - {"dsdgen", "tpcds"}, - {"excel_text", "excel"}, - {"from_json", "json"}, - {"from_json_strict", "json"}, - {"from_substrait", "substrait"}, - {"from_substrait_json", "substrait"}, - {"fuzz_all_functions", "sqlsmith"}, - {"fuzzyduck", "sqlsmith"}, - {"get_substrait", "substrait"}, - {"get_substrait_json", "substrait"}, - {"host", "inet"}, - {"iceberg_metadata", "iceberg"}, - {"iceberg_scan", "iceberg"}, - {"iceberg_snapshots", "iceberg"}, - {"icu_calendar_names", "icu"}, - {"icu_sort_key", "icu"}, - {"json", "json"}, - {"json_array", "json"}, - {"json_array_length", "json"}, - {"json_contains", "json"}, - {"json_deserialize_sql", "json"}, - {"json_execute_serialized_sql", "json"}, - {"json_extract", "json"}, - {"json_extract_path", "json"}, - {"json_extract_path_text", "json"}, - {"json_extract_string", "json"}, - {"json_group_array", "json"}, - {"json_group_object", "json"}, - {"json_group_structure", "json"}, - {"json_keys", "json"}, - {"json_merge_patch", "json"}, - {"json_object", "json"}, - {"json_quote", "json"}, - {"json_serialize_sql", "json"}, - {"json_structure", "json"}, - {"json_transform", "json"}, - {"json_transform_strict", "json"}, - {"json_type", "json"}, - {"json_valid", "json"}, - {"load_aws_credentials", "aws"}, - {"make_timestamptz", "icu"}, - {"parquet_metadata", "parquet"}, - {"parquet_scan", "parquet"}, - {"parquet_schema", "parquet"}, - {"pg_clear_cache", "postgres_scanner"}, - {"pg_timezone_names", "icu"}, - {"postgres_attach", "postgres_scanner"}, - {"postgres_query", "postgres_scanner"}, - {"postgres_scan", "postgres_scanner"}, - {"postgres_scan_pushdown", "postgres_scanner"}, - {"read_json", "json"}, - {"read_json_auto", "json"}, - {"read_json_objects", "json"}, - {"read_json_objects_auto", "json"}, - {"read_ndjson", "json"}, - {"read_ndjson_auto", "json"}, - {"read_ndjson_objects", "json"}, - {"read_parquet", "parquet"}, - {"reduce_sql_statement", "sqlsmith"}, - {"row_to_json", "json"}, - {"scan_arrow_ipc", "arrow"}, - {"sql_auto_complete", "autocomplete"}, - {"sqlite_attach", "sqlite_scanner"}, - {"sqlite_scan", "sqlite_scanner"}, - {"sqlsmith", "sqlsmith"}, - {"st_area", "spatial"}, - {"st_area_spheroid", "spatial"}, - {"st_asgeojson", "spatial"}, - {"st_ashexwkb", "spatial"}, - {"st_astext", "spatial"}, - {"st_aswkb", "spatial"}, - {"st_boundary", "spatial"}, - {"st_buffer", "spatial"}, - {"st_centroid", "spatial"}, - {"st_collect", "spatial"}, - {"st_collectionextract", "spatial"}, - {"st_contains", "spatial"}, - {"st_containsproperly", "spatial"}, - {"st_convexhull", "spatial"}, - {"st_coveredby", "spatial"}, - {"st_covers", "spatial"}, - {"st_crosses", "spatial"}, - {"st_difference", "spatial"}, - {"st_dimension", "spatial"}, - {"st_disjoint", "spatial"}, - {"st_distance", "spatial"}, - {"st_distance_spheroid", "spatial"}, - {"st_drivers", "spatial"}, - {"st_dump", "spatial"}, - {"st_dwithin", "spatial"}, - {"st_dwithin_spheroid", "spatial"}, - {"st_endpoint", "spatial"}, - {"st_envelope", "spatial"}, - {"st_envelope_agg", "spatial"}, - {"st_equals", "spatial"}, - {"st_extent", "spatial"}, - {"st_exteriorring", "spatial"}, - {"st_flipcoordinates", "spatial"}, - {"st_geometrytype", "spatial"}, - {"st_geomfromgeojson", "spatial"}, - {"st_geomfromhexewkb", "spatial"}, - {"st_geomfromhexwkb", "spatial"}, - {"st_geomfromtext", "spatial"}, - {"st_geomfromwkb", "spatial"}, - {"st_intersection", "spatial"}, - {"st_intersection_agg", "spatial"}, - {"st_intersects", "spatial"}, - {"st_intersects_extent", "spatial"}, - {"st_isclosed", "spatial"}, - {"st_isempty", "spatial"}, - {"st_isring", "spatial"}, - {"st_issimple", "spatial"}, - {"st_isvalid", "spatial"}, - {"st_length", "spatial"}, - {"st_length_spheroid", "spatial"}, - {"st_linemerge", "spatial"}, - {"st_linestring2dfromwkb", "spatial"}, - {"st_list_proj_crs", "spatial"}, - {"st_makeenvelope", "spatial"}, - {"st_makeline", "spatial"}, - {"st_makepolygon", "spatial"}, - {"st_ngeometries", "spatial"}, - {"st_ninteriorrings", "spatial"}, - {"st_normalize", "spatial"}, - {"st_npoints", "spatial"}, - {"st_numgeometries", "spatial"}, - {"st_numinteriorrings", "spatial"}, - {"st_numpoints", "spatial"}, - {"st_overlaps", "spatial"}, - {"st_perimeter", "spatial"}, - {"st_perimeter_spheroid", "spatial"}, - {"st_point", "spatial"}, - {"st_point2d", "spatial"}, - {"st_point2dfromwkb", "spatial"}, - {"st_point3d", "spatial"}, - {"st_point4d", "spatial"}, - {"st_pointn", "spatial"}, - {"st_pointonsurface", "spatial"}, - {"st_polygon2dfromwkb", "spatial"}, - {"st_reverse", "spatial"}, - {"st_read", "spatial"}, - {"st_readosm", "spatial"}, - {"st_reduceprecision", "spatial"}, - {"st_removerepeatedpoints", "spatial"}, - {"st_simplify", "spatial"}, - {"st_simplifypreservetopology", "spatial"}, - {"st_startpoint", "spatial"}, - {"st_touches", "spatial"}, - {"st_transform", "spatial"}, - {"st_union", "spatial"}, - {"st_union_agg", "spatial"}, - {"st_within", "spatial"}, - {"st_x", "spatial"}, - {"st_xmax", "spatial"}, - {"st_xmin", "spatial"}, - {"st_y", "spatial"}, - {"st_ymax", "spatial"}, - {"st_ymin", "spatial"}, - {"stem", "fts"}, - {"text", "excel"}, - {"to_arrow_ipc", "arrow"}, - {"to_json", "json"}, - {"tpcds", "tpcds"}, - {"tpcds_answers", "tpcds"}, - {"tpcds_queries", "tpcds"}, - {"tpch", "tpch"}, - {"tpch_answers", "tpch"}, - {"tpch_queries", "tpch"}, - {"visualize_diff_profiling_output", "visualizer"}, - {"visualize_json_profiling_output", "visualizer"}, - {"visualize_last_profiling_output", "visualizer"}, -}; // END_OF_EXTENSION_FUNCTIONS +static constexpr ExtensionEntry EXTENSION_FUNCTIONS[] = {{"->>", "json"}, + {"add_parquet_key", "parquet"}, + {"array_to_json", "json"}, + {"create_fts_index", "fts"}, + {"current_localtime", "icu"}, + {"current_localtimestamp", "icu"}, + {"dbgen", "tpch"}, + {"drop_fts_index", "fts"}, + {"dsdgen", "tpcds"}, + {"excel_text", "excel"}, + {"from_json", "json"}, + {"from_json_strict", "json"}, + {"from_substrait", "substrait"}, + {"from_substrait_json", "substrait"}, + {"fuzz_all_functions", "sqlsmith"}, + {"fuzzyduck", "sqlsmith"}, + {"get_substrait", "substrait"}, + {"get_substrait_json", "substrait"}, + {"host", "inet"}, + {"iceberg_metadata", "iceberg"}, + {"iceberg_scan", "iceberg"}, + {"iceberg_snapshots", "iceberg"}, + {"icu_calendar_names", "icu"}, + {"icu_sort_key", "icu"}, + {"json", "json"}, + {"json_array", "json"}, + {"json_array_length", "json"}, + {"json_contains", "json"}, + {"json_deserialize_sql", "json"}, + {"json_execute_serialized_sql", "json"}, + {"json_extract", "json"}, + {"json_extract_path", "json"}, + {"json_extract_path_text", "json"}, + {"json_extract_string", "json"}, + {"json_group_array", "json"}, + {"json_group_object", "json"}, + {"json_group_structure", "json"}, + {"json_keys", "json"}, + {"json_merge_patch", "json"}, + {"json_object", "json"}, + {"json_quote", "json"}, + {"json_serialize_plan", "json"}, + {"json_serialize_sql", "json"}, + {"json_structure", "json"}, + {"json_transform", "json"}, + {"json_transform_strict", "json"}, + {"json_type", "json"}, + {"json_valid", "json"}, + {"load_aws_credentials", "aws"}, + {"make_timestamptz", "icu"}, + {"parquet_file_metadata", "parquet"}, + {"parquet_kv_metadata", "parquet"}, + {"parquet_metadata", "parquet"}, + {"parquet_scan", "parquet"}, + {"parquet_schema", "parquet"}, + {"pg_clear_cache", "postgres_scanner"}, + {"pg_timezone_names", "icu"}, + {"postgres_attach", "postgres_scanner"}, + {"postgres_query", "postgres_scanner"}, + {"postgres_scan", "postgres_scanner"}, + {"postgres_scan_pushdown", "postgres_scanner"}, + {"read_json", "json"}, + {"read_json_auto", "json"}, + {"read_json_objects", "json"}, + {"read_json_objects_auto", "json"}, + {"read_ndjson", "json"}, + {"read_ndjson_auto", "json"}, + {"read_ndjson_objects", "json"}, + {"read_parquet", "parquet"}, + {"reduce_sql_statement", "sqlsmith"}, + {"row_to_json", "json"}, + {"scan_arrow_ipc", "arrow"}, + {"sql_auto_complete", "autocomplete"}, + {"sqlite_attach", "sqlite_scanner"}, + {"sqlite_scan", "sqlite_scanner"}, + {"sqlsmith", "sqlsmith"}, + {"shapefile_meta", "spatial"}, + {"st_area", "spatial"}, + {"st_area_spheroid", "spatial"}, + {"st_asgeojson", "spatial"}, + {"st_ashexwkb", "spatial"}, + {"st_astext", "spatial"}, + {"st_aswkb", "spatial"}, + {"st_boundary", "spatial"}, + {"st_buffer", "spatial"}, + {"st_centroid", "spatial"}, + {"st_collect", "spatial"}, + {"st_collectionextract", "spatial"}, + {"st_contains", "spatial"}, + {"st_containsproperly", "spatial"}, + {"st_convexhull", "spatial"}, + {"st_coveredby", "spatial"}, + {"st_covers", "spatial"}, + {"st_crosses", "spatial"}, + {"st_difference", "spatial"}, + {"st_dimension", "spatial"}, + {"st_disjoint", "spatial"}, + {"st_distance", "spatial"}, + {"st_distance_spheroid", "spatial"}, + {"st_drivers", "spatial"}, + {"st_dump", "spatial"}, + {"st_dwithin", "spatial"}, + {"st_dwithin_spheroid", "spatial"}, + {"st_endpoint", "spatial"}, + {"st_envelope", "spatial"}, + {"st_envelope_agg", "spatial"}, + {"st_equals", "spatial"}, + {"st_extent", "spatial"}, + {"st_exteriorring", "spatial"}, + {"st_flipcoordinates", "spatial"}, + {"st_geometrytype", "spatial"}, + {"st_geomfromgeojson", "spatial"}, + {"st_geomfromhexewkb", "spatial"}, + {"st_geomfromhexwkb", "spatial"}, + {"st_geomfromtext", "spatial"}, + {"st_geomfromwkb", "spatial"}, + {"st_intersection", "spatial"}, + {"st_intersection_agg", "spatial"}, + {"st_intersects", "spatial"}, + {"st_intersects_extent", "spatial"}, + {"st_isclosed", "spatial"}, + {"st_isempty", "spatial"}, + {"st_isring", "spatial"}, + {"st_issimple", "spatial"}, + {"st_isvalid", "spatial"}, + {"st_length", "spatial"}, + {"st_length_spheroid", "spatial"}, + {"st_linemerge", "spatial"}, + {"st_linestring2dfromwkb", "spatial"}, + {"st_list_proj_crs", "spatial"}, + {"st_makeenvelope", "spatial"}, + {"st_makeline", "spatial"}, + {"st_makepolygon", "spatial"}, + {"st_makevalid", "spatial"}, + {"st_ngeometries", "spatial"}, + {"st_ninteriorrings", "spatial"}, + {"st_normalize", "spatial"}, + {"st_npoints", "spatial"}, + {"st_numgeometries", "spatial"}, + {"st_numinteriorrings", "spatial"}, + {"st_numpoints", "spatial"}, + {"st_overlaps", "spatial"}, + {"st_perimeter", "spatial"}, + {"st_perimeter_spheroid", "spatial"}, + {"st_point", "spatial"}, + {"st_point2d", "spatial"}, + {"st_point2dfromwkb", "spatial"}, + {"st_point3d", "spatial"}, + {"st_point4d", "spatial"}, + {"st_pointn", "spatial"}, + {"st_pointonsurface", "spatial"}, + {"st_polygon2dfromwkb", "spatial"}, + {"st_quadkey", "spatial"}, + {"st_reverse", "spatial"}, + {"st_read", "spatial"}, + {"st_read_meta", "spatial"}, + {"st_readosm", "spatial"}, + {"st_readshp", "spatial"}, + {"st_reduceprecision", "spatial"}, + {"st_removerepeatedpoints", "spatial"}, + {"st_simplify", "spatial"}, + {"st_simplifypreservetopology", "spatial"}, + {"st_startpoint", "spatial"}, + {"st_touches", "spatial"}, + {"st_transform", "spatial"}, + {"st_union", "spatial"}, + {"st_union_agg", "spatial"}, + {"st_within", "spatial"}, + {"st_x", "spatial"}, + {"st_xmax", "spatial"}, + {"st_xmin", "spatial"}, + {"st_y", "spatial"}, + {"st_ymax", "spatial"}, + {"st_ymin", "spatial"}, + {"stem", "fts"}, + {"text", "excel"}, + {"to_arrow_ipc", "arrow"}, + {"to_json", "json"}, + {"tpcds", "tpcds"}, + {"tpcds_answers", "tpcds"}, + {"tpcds_queries", "tpcds"}, + {"tpch", "tpch"}, + {"tpch_answers", "tpch"}, + {"tpch_queries", "tpch"}}; // END_OF_EXTENSION_FUNCTIONS static constexpr ExtensionEntry EXTENSION_SETTINGS[] = { {"azure_storage_connection_string", "azure"}, @@ -210,9 +214,11 @@ static constexpr ExtensionEntry EXTENSION_SETTINGS[] = { {"http_retry_backoff", "httpfs"}, {"http_retry_wait_ms", "httpfs"}, {"http_timeout", "httpfs"}, + {"http_keep_alive", "httpfs"}, {"pg_debug_show_queries", "postgres_scanner"}, {"pg_use_binary_copy", "postgres_scanner"}, {"pg_experimental_filter_pushdown", "postgres_scanner"}, + {"pg_connection_cache", "postgres_scanner"}, {"pg_connection_limit", "postgres_scanner"}, {"pg_pages_per_task", "postgres_scanner"}, {"pg_array_as_varchar", "postgres_scanner"}, @@ -270,8 +276,8 @@ static constexpr ExtensionEntry EXTENSION_COLLATIONS[] = { // Note: these are currently hardcoded in scripts/generate_extensions_function.py // TODO: automate by passing though to script via duckdb static constexpr ExtensionEntry EXTENSION_FILE_PREFIXES[] = { - {"http://", "httpfs"}, {"https://", "httpfs"}, {"s3://", "httpfs"}, - // {"azure://", "azure"} + {"http://", "httpfs"}, {"https://", "httpfs"}, {"s3://", "httpfs"}, {"s3a://", "httpfs"}, + {"s3n://", "httpfs"}, {"gcs://", "httpfs"}, {"gs://", "httpfs"}, {"r2://", "httpfs"} // , {"azure://", "azure"} }; // END_OF_EXTENSION_FILE_PREFIXES // Note: these are currently hardcoded in scripts/generate_extensions_function.py @@ -287,25 +293,25 @@ static constexpr ExtensionEntry EXTENSION_FILE_CONTAINS[] = {{".parquet?", "parq {".ndjson?", ".jsonl?"}, {".jsonl?", ".ndjson?"}}; // EXTENSION_FILE_CONTAINS +// Note: these are currently hardcoded in scripts/generate_extensions_function.py +// TODO: automate by passing though to script via duckdb +static constexpr ExtensionEntry EXTENSION_SECRET_TYPES[] = { + {"s3", "httpfs"}, {"r2", "httpfs"}, {"gcs", "httpfs"}, {"azure", "azure"}}; // EXTENSION_SECRET_TYPES + +// Note: these are currently hardcoded in scripts/generate_extensions_function.py +// TODO: automate by passing though to script via duckdb +static constexpr ExtensionEntry EXTENSION_SECRET_PROVIDERS[] = { + {"s3/config", "httpfs"}, {"gcs/config", "httpfs"}, {"r2/config", "httpfs"}, + {"s3/credential_chain", "aws"}, {"gcs/credential_chain", "aws"}, {"r2/credential_chain", "aws"}, + {"azure/config", "azure"}, {"azure/credential_chain", "azure"}}; // EXTENSION_SECRET_PROVIDERS + static constexpr const char *AUTOLOADABLE_EXTENSIONS[] = { // "azure", - "arrow", - "aws", - "autocomplete", - "excel", - "fts", - "httpfs", + "arrow", "aws", "autocomplete", "excel", "fts", "httpfs", // "inet", // "icu", - "json", - "parquet", - "postgres_scanner", + "json", "parquet", "postgres_scanner", // "spatial", TODO: table function isnt always autoloaded so test fails - "sqlsmith", - "sqlite_scanner", - "tpcds", - "tpch", - "visualizer", -}; // END_OF_AUTOLOADABLE_EXTENSIONS + "sqlsmith", "sqlite_scanner", "tpcds", "tpch"}; // END_OF_AUTOLOADABLE_EXTENSIONS } // namespace duckdb diff --git a/src/include/duckdb/main/extension_helper.hpp b/src/include/duckdb/main/extension_helper.hpp index 1d2c5463bc4f..2fc2d502987d 100644 --- a/src/include/duckdb/main/extension_helper.hpp +++ b/src/include/duckdb/main/extension_helper.hpp @@ -30,7 +30,7 @@ struct ExtensionAlias { struct ExtensionInitResult { string filename; - string basename; + string filebase; void *lib_hdl; }; @@ -41,42 +41,54 @@ class ExtensionHelper { static ExtensionLoadResult LoadExtension(DuckDB &db, const std::string &extension); + //! Install an extension static void InstallExtension(ClientContext &context, const string &extension, bool force_install, const string &respository = ""); static void InstallExtension(DBConfig &config, FileSystem &fs, const string &extension, bool force_install, const string &respository = ""); + //! Load an extension static void LoadExternalExtension(ClientContext &context, const string &extension); - static void LoadExternalExtension(DatabaseInstance &db, FileSystem &fs, const string &extension, - optional_ptr client_config); + static void LoadExternalExtension(DatabaseInstance &db, FileSystem &fs, const string &extension); - //! Autoload an extension by name. Depending on the current settings, this will either load or install+load + //! Autoload an extension (depending on config, potentially a nop. Throws when installation fails) static void AutoLoadExtension(ClientContext &context, const string &extension_name); + static void AutoLoadExtension(DatabaseInstance &db, const string &extension_name); + + //! Autoload an extension (depending on config, potentially a nop. Returns false on failure) DUCKDB_API static bool TryAutoLoadExtension(ClientContext &context, const string &extension_name) noexcept; + //! Get the extension directory base on the current config static string ExtensionDirectory(ClientContext &context); static string ExtensionDirectory(DBConfig &config, FileSystem &fs); - static string ExtensionUrlTemplate(optional_ptr config, const string &repository); + + //! Get the extension url template, containing placeholders for version, platform and extension name + static string ExtensionUrlTemplate(optional_ptr config, const string &repository); + //! Return the extension url template with the variables replaced static string ExtensionFinalizeUrlTemplate(const string &url, const string &name); + //! Default extensions are all extensions that DuckDB knows and expect to be available (both in-tree and + //! out-of-tree) static idx_t DefaultExtensionCount(); static DefaultExtension GetDefaultExtension(idx_t index); + //! Extension can have aliases static idx_t ExtensionAliasCount(); static ExtensionAlias GetExtensionAlias(idx_t index); + //! Get public signing keys for extension signing static const vector GetPublicKeys(); // Returns extension name, or empty string if not a replacement open path static string ExtractExtensionPrefixFromPath(const string &path); - //! Apply any known extension aliases - static string ApplyExtensionAlias(string extension_name); + //! Apply any known extension aliases, return the lowercase name + static string ApplyExtensionAlias(const string &extension_name); static string GetExtensionName(const string &extension); static bool IsFullPath(const string &extension); //! Lookup a name in an ExtensionEntry list - template + template static string FindExtensionInEntries(const string &name, const ExtensionEntry (&entries)[N]) { auto lcase = StringUtil::Lower(name); @@ -89,6 +101,20 @@ class ExtensionHelper { return ""; } + //! Lookup a name in an extension entry and try to autoload it + template + static void TryAutoloadFromEntry(DatabaseInstance &db, const string &entry, const ExtensionEntry (&entries)[N]) { + auto &dbconfig = DBConfig::GetConfig(db); +#ifndef DUCKDB_DISABLE_EXTENSION_LOAD + if (dbconfig.options.autoload_known_extensions) { + auto extension_name = ExtensionHelper::FindExtensionInEntries(entry, entries); + if (ExtensionHelper::CanAutoloadExtension(extension_name)) { + ExtensionHelper::AutoLoadExtension(db, extension_name); + } + } +#endif + } + //! Whether an extension can be autoloaded (i.e. it's registered as an autoloadable extension in //! extension_entries.hpp) static bool CanAutoloadExtension(const string &ext_name); @@ -99,18 +125,18 @@ class ExtensionHelper { static string AddExtensionInstallHintToErrorMsg(ClientContext &context, const string &base_error, const string &extension_name); + //! For tagged releases we use the tag, else we use the git commit hash + static const string GetVersionDirectoryName(); + private: - static void InstallExtensionInternal(DBConfig &config, ClientConfig *client_config, FileSystem &fs, - const string &local_path, const string &extension, bool force_install, - const string &repository); + static void InstallExtensionInternal(DBConfig &config, FileSystem &fs, const string &local_path, + const string &extension, bool force_install, const string &repository); static const vector PathComponents(); + static string DefaultExtensionFolder(FileSystem &fs); static bool AllowAutoInstall(const string &extension); - static ExtensionInitResult InitialLoad(DBConfig &config, FileSystem &fs, const string &extension, - optional_ptr client_config); + static ExtensionInitResult InitialLoad(DBConfig &config, FileSystem &fs, const string &extension); static bool TryInitialLoad(DBConfig &config, FileSystem &fs, const string &extension, ExtensionInitResult &result, - string &error, optional_ptr client_config); - //! For tagged releases we use the tag, else we use the git commit hash - static const string GetVersionDirectoryName(); + string &error); //! Version tags occur with and without 'v', tag in extension path is always with 'v' static const string NormalizeVersionTag(const string &version_tag); static bool IsRelease(const string &version_tag); diff --git a/src/include/duckdb/main/extension_util.hpp b/src/include/duckdb/main/extension_util.hpp index 2ada84100228..bbfae5f3e181 100644 --- a/src/include/duckdb/main/extension_util.hpp +++ b/src/include/duckdb/main/extension_util.hpp @@ -11,6 +11,7 @@ #include "duckdb/common/constants.hpp" #include "duckdb/function/cast/cast_function_set.hpp" #include "duckdb/function/function_set.hpp" +#include "duckdb/main/secret/secret.hpp" namespace duckdb { struct CreateMacroInfo; @@ -36,6 +37,10 @@ class ExtensionUtil { DUCKDB_API static void RegisterFunction(DatabaseInstance &db, PragmaFunction function); //! Register a new pragma function set - throw an exception if the function already exists DUCKDB_API static void RegisterFunction(DatabaseInstance &db, PragmaFunctionSet function); + + //! Register a CreateSecretFunction + DUCKDB_API static void RegisterFunction(DatabaseInstance &db, CreateSecretFunction function); + //! Register a new copy function - throw an exception if the function already exists DUCKDB_API static void RegisterFunction(DatabaseInstance &db, CopyFunction function); //! Register a new macro function - throw an exception if the function already exists @@ -51,12 +56,14 @@ class ExtensionUtil { //! Add a function overload DUCKDB_API static void AddFunctionOverload(DatabaseInstance &db, ScalarFunction function); DUCKDB_API static void AddFunctionOverload(DatabaseInstance &db, ScalarFunctionSet function); - DUCKDB_API static void AddFunctionOverload(DatabaseInstance &db, TableFunctionSet function); //! Registers a new type DUCKDB_API static void RegisterType(DatabaseInstance &db, string type_name, LogicalType type); + //! Registers a new secret type + DUCKDB_API static void RegisterSecretType(DatabaseInstance &db, SecretType secret_type); + //! Registers a cast between two types DUCKDB_API static void RegisterCastFunction(DatabaseInstance &db, const LogicalType &source, const LogicalType &target, BoundCastInfo function, diff --git a/src/include/duckdb/main/materialized_query_result.hpp b/src/include/duckdb/main/materialized_query_result.hpp index 334a7e991c82..483f6de1b6b2 100644 --- a/src/include/duckdb/main/materialized_query_result.hpp +++ b/src/include/duckdb/main/materialized_query_result.hpp @@ -27,7 +27,7 @@ class MaterializedQueryResult : public QueryResult { vector names, unique_ptr collection, ClientProperties client_properties); //! Creates an unsuccessful query result with error condition - DUCKDB_API explicit MaterializedQueryResult(PreservedError error); + DUCKDB_API explicit MaterializedQueryResult(ErrorData error); public: //! Fetches a DataChunk from the query result. diff --git a/src/include/duckdb/main/pending_query_result.hpp b/src/include/duckdb/main/pending_query_result.hpp index 672388c4d8a2..8b95a025e24a 100644 --- a/src/include/duckdb/main/pending_query_result.hpp +++ b/src/include/duckdb/main/pending_query_result.hpp @@ -26,8 +26,9 @@ class PendingQueryResult : public BaseQueryResult { public: DUCKDB_API PendingQueryResult(shared_ptr context, PreparedStatementData &statement, vector types, bool allow_stream_result); - DUCKDB_API explicit PendingQueryResult(PreservedError error_message); - DUCKDB_API ~PendingQueryResult(); + DUCKDB_API explicit PendingQueryResult(ErrorData error_message); + DUCKDB_API ~PendingQueryResult() override; + DUCKDB_API bool AllowStreamResult() const; public: //! Executes a single task within the query, returning whether or not the query is ready. @@ -38,6 +39,7 @@ class PendingQueryResult : public BaseQueryResult { //! but tasks may become available in the future. //! The error message can be obtained by calling GetError() on the PendingQueryResult. DUCKDB_API PendingExecutionResult ExecuteTask(); + DUCKDB_API PendingExecutionResult CheckPulse(); //! Returns the result of the query as an actual query result. //! This returns (mostly) instantly if ExecuteTask has been called until RESULT_READY was returned. @@ -47,6 +49,7 @@ class PendingQueryResult : public BaseQueryResult { //! Function to determine whether execution is considered finished DUCKDB_API static bool IsFinished(PendingExecutionResult result); + DUCKDB_API static bool IsFinishedOrBlocked(PendingExecutionResult result); private: shared_ptr context; diff --git a/src/include/duckdb/main/prepared_statement.hpp b/src/include/duckdb/main/prepared_statement.hpp index 8c5d29c74122..d448fdf0c889 100644 --- a/src/include/duckdb/main/prepared_statement.hpp +++ b/src/include/duckdb/main/prepared_statement.hpp @@ -11,7 +11,7 @@ #include "duckdb/common/winapi.hpp" #include "duckdb/main/materialized_query_result.hpp" #include "duckdb/main/pending_query_result.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb/common/case_insensitive_map.hpp" namespace duckdb { @@ -25,7 +25,7 @@ class PreparedStatement { DUCKDB_API PreparedStatement(shared_ptr context, shared_ptr data, string query, idx_t n_param, case_insensitive_map_t named_param_map); //! Create a prepared statement that was not successfully prepared - DUCKDB_API explicit PreparedStatement(PreservedError error); + DUCKDB_API explicit PreparedStatement(ErrorData error); DUCKDB_API ~PreparedStatement(); @@ -39,7 +39,7 @@ class PreparedStatement { //! Whether or not the statement was successfully prepared bool success; //! The error message (if success = false) - PreservedError error; + ErrorData error; //! The amount of bound parameters idx_t n_param; //! The (optional) named parameters @@ -49,7 +49,7 @@ class PreparedStatement { //! Returns the stored error message DUCKDB_API const string &GetError(); //! Returns the stored error object - DUCKDB_API PreservedError &GetErrorObject(); + DUCKDB_API ErrorData &GetErrorObject(); //! Returns whether or not an error occurred DUCKDB_API bool HasError() const; //! Returns the number of columns in the result diff --git a/src/include/duckdb/main/prepared_statement_data.hpp b/src/include/duckdb/main/prepared_statement_data.hpp index ce0b7d1a1dd1..684f2d53061d 100644 --- a/src/include/duckdb/main/prepared_statement_data.hpp +++ b/src/include/duckdb/main/prepared_statement_data.hpp @@ -46,6 +46,8 @@ class PreparedStatementData { idx_t catalog_version; //! The map of parameter index to the actual value entry bound_parameter_map_t value_map; + //! Whether we are creating a streaming result or not + bool is_streaming = false; public: void CheckParameterCount(idx_t parameter_count); diff --git a/src/include/duckdb/main/query_profiler.hpp b/src/include/duckdb/main/query_profiler.hpp index 2ea69dc66594..aa5bc42e8f9f 100644 --- a/src/include/duckdb/main/query_profiler.hpp +++ b/src/include/duckdb/main/query_profiler.hpp @@ -230,36 +230,4 @@ class QueryProfiler { bool OperatorRequiresProfiling(PhysicalOperatorType op_type); }; -//! The QueryProfilerHistory can be used to access the profiler of previous queries -class QueryProfilerHistory { -private: - static constexpr uint64_t DEFAULT_SIZE = 20; - - //! Previous Query profilers - deque>> prev_profilers; - //! Previous Query profilers size - uint64_t prev_profilers_size = DEFAULT_SIZE; - -public: - deque>> &GetPrevProfilers() { - return prev_profilers; - } - QueryProfilerHistory() { - } - - void SetPrevProfilersSize(uint64_t prevProfilersSize) { - prev_profilers_size = prevProfilersSize; - } - uint64_t GetPrevProfilersSize() const { - return prev_profilers_size; - } - -public: - void SetProfilerHistorySize(uint64_t size) { - this->prev_profilers_size = size; - } - void ResetProfilerHistorySize() { - this->prev_profilers_size = DEFAULT_SIZE; - } -}; } // namespace duckdb diff --git a/src/include/duckdb/main/query_result.hpp b/src/include/duckdb/main/query_result.hpp index 3c5088b2777f..c42c3ac2bd27 100644 --- a/src/include/duckdb/main/query_result.hpp +++ b/src/include/duckdb/main/query_result.hpp @@ -11,7 +11,7 @@ #include "duckdb/common/enums/statement_type.hpp" #include "duckdb/common/types/data_chunk.hpp" #include "duckdb/common/winapi.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb/main/client_properties.hpp" namespace duckdb { @@ -25,7 +25,7 @@ class BaseQueryResult { DUCKDB_API BaseQueryResult(QueryResultType type, StatementType statement_type, StatementProperties properties, vector types, vector names); //! Creates an unsuccessful query result with error condition - DUCKDB_API BaseQueryResult(QueryResultType type, PreservedError error); + DUCKDB_API BaseQueryResult(QueryResultType type, ErrorData error); DUCKDB_API virtual ~BaseQueryResult(); //! The type of the result (MATERIALIZED or STREAMING) @@ -41,18 +41,18 @@ class BaseQueryResult { public: [[noreturn]] DUCKDB_API void ThrowError(const string &prepended_message = "") const; - DUCKDB_API void SetError(PreservedError error); + DUCKDB_API void SetError(ErrorData error); DUCKDB_API bool HasError() const; DUCKDB_API const ExceptionType &GetErrorType() const; DUCKDB_API const std::string &GetError(); - DUCKDB_API PreservedError &GetErrorObject(); + DUCKDB_API ErrorData &GetErrorObject(); DUCKDB_API idx_t ColumnCount(); protected: //! Whether or not execution was successful bool success; //! The error (in case execution was not successful) - PreservedError error; + ErrorData error; }; //! The QueryResult object holds the result of a query. It can either be a MaterializedQueryResult, in which case the @@ -64,7 +64,7 @@ class QueryResult : public BaseQueryResult { DUCKDB_API QueryResult(QueryResultType type, StatementType statement_type, StatementProperties properties, vector types, vector names, ClientProperties client_properties); //! Creates an unsuccessful query result with error condition - DUCKDB_API QueryResult(QueryResultType type, PreservedError error); + DUCKDB_API QueryResult(QueryResultType type, ErrorData error); DUCKDB_API virtual ~QueryResult() override; //! Properties from the client context @@ -89,6 +89,10 @@ class QueryResult : public BaseQueryResult { return reinterpret_cast(*this); } +public: + //! Deduplicate column names for interop with external libraries + static void DeduplicateColumns(vector &names); + public: //! Returns the name of the column for the given index DUCKDB_API const string &ColumnName(idx_t index) const; @@ -108,18 +112,15 @@ class QueryResult : public BaseQueryResult { //! Fetch() until both results are exhausted. The data in the results will be lost. DUCKDB_API bool Equals(QueryResult &other); - bool TryFetch(unique_ptr &result, PreservedError &error) { + bool TryFetch(unique_ptr &result, ErrorData &error) { try { result = Fetch(); return success; - } catch (const Exception &ex) { - error = PreservedError(ex); - return false; } catch (std::exception &ex) { - error = PreservedError(ex); + error = ErrorData(ex); return false; } catch (...) { - error = PreservedError("Unknown error in Fetch"); + error = ErrorData("Unknown error in Fetch"); return false; } } diff --git a/src/include/duckdb/main/relation/read_csv_relation.hpp b/src/include/duckdb/main/relation/read_csv_relation.hpp index fc2f98181f7d..c4d8a5917403 100644 --- a/src/include/duckdb/main/relation/read_csv_relation.hpp +++ b/src/include/duckdb/main/relation/read_csv_relation.hpp @@ -8,7 +8,7 @@ #pragma once -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" #include "duckdb/main/relation/table_function_relation.hpp" #include "duckdb/common/shared_ptr.hpp" #include "duckdb/common/case_insensitive_map.hpp" @@ -17,13 +17,13 @@ namespace duckdb { class ReadCSVRelation : public TableFunctionRelation { public: - ReadCSVRelation(const shared_ptr &context, const string &csv_file, vector columns, - string alias = string()); - ReadCSVRelation(const shared_ptr &context, const string &csv_file, named_parameter_map_t &&options, - string alias = string()); + ReadCSVRelation(const shared_ptr &context, const vector &csv_files, + named_parameter_map_t &&options, string alias = string()); string alias; - bool auto_detect; + +protected: + void InitializeAlias(const vector &input); public: string GetAlias() override; diff --git a/src/include/duckdb/main/relation/setop_relation.hpp b/src/include/duckdb/main/relation/setop_relation.hpp index b65eb8021475..77920bf9e88d 100644 --- a/src/include/duckdb/main/relation/setop_relation.hpp +++ b/src/include/duckdb/main/relation/setop_relation.hpp @@ -15,12 +15,14 @@ namespace duckdb { class SetOpRelation : public Relation { public: - SetOpRelation(shared_ptr left, shared_ptr right, SetOperationType setop_type); + SetOpRelation(shared_ptr left, shared_ptr right, SetOperationType setop_type, + bool setop_all = false); shared_ptr left; shared_ptr right; SetOperationType setop_type; vector columns; + bool setop_all; public: unique_ptr GetQueryNode() override; diff --git a/src/include/duckdb/main/secret/secret.hpp b/src/include/duckdb/main/secret/secret.hpp new file mode 100644 index 000000000000..27960e0e1f7b --- /dev/null +++ b/src/include/duckdb/main/secret/secret.hpp @@ -0,0 +1,206 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/main/secret/secret.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/common.hpp" +#include "duckdb/common/named_parameter_map.hpp" +#include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/common/serializer/serializer.hpp" + +namespace duckdb { +class BaseSecret; + +//! Whether a secret is persistent or temporary +enum class SecretPersistType : uint8_t { DEFAULT, TEMPORARY, PERSISTENT }; + +//! Input passed to a CreateSecretFunction +struct CreateSecretInput { + //! type + string type; + //! mode + string provider; + //! should the secret be persisted? + string storage_type; + //! (optional) alias provided by user + string name; + //! (optional) scope provided by user + vector scope; + //! (optional) named parameter map, each create secret function has defined it's own set of these + case_insensitive_map_t options; +}; + +typedef unique_ptr (*secret_deserializer_t)(Deserializer &deserializer, BaseSecret base_secret); +typedef unique_ptr (*create_secret_function_t)(ClientContext &context, CreateSecretInput &input); + +//! A CreateSecretFunction is a function adds a provider for a secret type. +class CreateSecretFunction { +public: + string secret_type; + string provider; + create_secret_function_t function; + named_parameter_type_map_t named_parameters; +}; + +//! CreateSecretFunctionsSet contains multiple functions of a single type, identified by the provider. The provider +//! should be seen as the method of secret creation. (e.g. user-provided config, env variables, auto-detect) +class CreateSecretFunctionSet { +public: + CreateSecretFunctionSet(string &name) : name(name) {}; + bool ProviderExists(const string &provider_name); + void AddFunction(CreateSecretFunction &function, OnCreateConflict on_conflict); + CreateSecretFunction &GetFunction(const string &provider); + +protected: + //! Create Secret Function type name + string name; + //! Maps of provider -> function + case_insensitive_map_t functions; +}; + +//! Determines whether the secrets are allowed to be shown +enum class SecretDisplayType : uint8_t { REDACTED, UNREDACTED }; + +//! Secret types contain the base settings of a secret +struct SecretType { + //! Unique name identifying the secret type + string name; + //! The deserialization function for the type + secret_deserializer_t deserializer; + //! Provider to use when non is specified + string default_provider; +}; + +//! Base class from which BaseSecret classes can be made. +class BaseSecret { + friend class SecretManager; + +public: + BaseSecret(const vector &prefix_paths, const string &type, const string &provider, const string &name) + : prefix_paths(prefix_paths), type(type), provider(provider), name(name), serializable(false) { + D_ASSERT(!type.empty()); + } + BaseSecret(const BaseSecret &other) + : prefix_paths(other.prefix_paths), type(other.type), provider(other.provider), name(other.name), + serializable(other.serializable) { + D_ASSERT(!type.empty()); + } + virtual ~BaseSecret() = default; + + //! The score of how well this secret's scope matches the path (by default: the length of the longest matching + //! prefix) + virtual int64_t MatchScore(const string &path) const; + //! Prints the secret as a string + virtual string ToString(SecretDisplayType mode = SecretDisplayType::REDACTED) const; + //! Serialize this secret + virtual void Serialize(Serializer &serializer) const; + + virtual unique_ptr Clone() const { + D_ASSERT(typeid(BaseSecret) == typeid(*this)); + return make_uniq(*this); + } + + //! Getters + const vector &GetScope() const { + return prefix_paths; + } + const string &GetType() const { + return type; + } + const string &GetProvider() const { + return provider; + } + const string &GetName() const { + return name; + } + bool IsSerializable() const { + return serializable; + } + +protected: + //! Helper function to serialize the base BaseSecret class variables + virtual void SerializeBaseSecret(Serializer &serializer) const final; + + //! prefixes to which the secret applies + vector prefix_paths; + + //! Type of secret + string type; + //! Provider of the secret + string provider; + //! Name of the secret + string name; + //! Whether the secret can be serialized/deserialized + bool serializable; +}; + +//! The KeyValueSecret is a class that implements a Secret as a set of key -> values. This class can be used +//! for most use-cases of secrets as secrets generally tend to fit in a key value map. +class KeyValueSecret : public BaseSecret { +public: + KeyValueSecret(const vector &prefix_paths, const string &type, const string &provider, const string &name) + : BaseSecret(prefix_paths, type, provider, name) { + D_ASSERT(!type.empty()); + serializable = true; + } + KeyValueSecret(BaseSecret &secret) + : BaseSecret(secret.GetScope(), secret.GetType(), secret.GetProvider(), secret.GetName()) { + serializable = true; + }; + KeyValueSecret(const KeyValueSecret &secret) + : BaseSecret(secret.GetScope(), secret.GetType(), secret.GetProvider(), secret.GetName()) { + secret_map = secret.secret_map; + redact_keys = secret.redact_keys; + serializable = true; + }; + KeyValueSecret(KeyValueSecret &&secret) + : BaseSecret(secret.GetScope(), secret.GetType(), secret.GetProvider(), secret.GetName()) { + secret_map = std::move(secret.secret_map); + redact_keys = std::move(secret.redact_keys); + serializable = true; + }; + + //! Print the secret as a key value map in the format 'key1=value;key2=value2' + virtual string ToString(SecretDisplayType mode = SecretDisplayType::REDACTED) const override; + void Serialize(Serializer &serializer) const override; + + //! Tries to get the value at key , depending on error_on_missing will throw or return Value() + Value TryGetValue(const string &key, bool error_on_missing = false) const; + + // FIXME: use serialization scripts + template + static unique_ptr Deserialize(Deserializer &deserializer, BaseSecret base_secret) { + auto result = make_uniq(base_secret); + Value secret_map_value; + deserializer.ReadProperty(201, "secret_map", secret_map_value); + + for (const auto &entry : ListValue::GetChildren(secret_map_value)) { + auto kv_struct = StructValue::GetChildren(entry); + result->secret_map[kv_struct[0].ToString()] = kv_struct[1].ToString(); + } + + Value redact_set_value; + deserializer.ReadProperty(202, "redact_keys", redact_set_value); + for (const auto &entry : ListValue::GetChildren(redact_set_value)) { + result->redact_keys.insert(entry.ToString()); + } + + return duckdb::unique_ptr_cast(std::move(result)); + } + + unique_ptr Clone() const override { + return make_uniq(*this); + } + + //! the map of key -> values that make up the secret + case_insensitive_tree_t secret_map; + //! keys that are sensitive and should be redacted + case_insensitive_set_t redact_keys; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/main/secret/secret_manager.hpp b/src/include/duckdb/main/secret/secret_manager.hpp new file mode 100644 index 000000000000..2a5f72d3e9ef --- /dev/null +++ b/src/include/duckdb/main/secret/secret_manager.hpp @@ -0,0 +1,211 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/main/secret/duck_secret_manager.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/catalog/default/default_generator.hpp" +#include "duckdb/common/common.hpp" +#include "duckdb/main/secret/secret.hpp" +#include "duckdb/main/secret/secret_manager.hpp" +#include "duckdb/main/secret/secret_storage.hpp" +#include "duckdb/parser/parsed_data/create_secret_info.hpp" + +namespace duckdb { +class SecretManager; +struct DBConfig; +class SchemaCatalogEntry; + +//! Return value of a Secret Lookup +struct SecretMatch { +public: + SecretMatch() : secret_entry(nullptr), score(NumericLimits::Minimum()) { + } + + SecretMatch(const SecretMatch &other) + : secret_entry((other.secret_entry != nullptr) ? make_uniq(*other.secret_entry) : nullptr), + score(other.score) { + } + + SecretMatch(SecretEntry &secret_entry, int64_t score) + : secret_entry(make_uniq(secret_entry)), score(score) { + } + + SecretMatch &operator=(const SecretMatch &other) { + this->secret_entry = (other.secret_entry != nullptr) ? make_uniq(*other.secret_entry) : nullptr; + this->score = other.score; + return *this; + }; + + //! Get the secret + const BaseSecret &GetSecret() const; + + bool HasMatch() { + return secret_entry != nullptr; + } + + unique_ptr secret_entry; + int64_t score; +}; + +//! A Secret Entry in the secret manager +struct SecretEntry { +public: + SecretEntry(unique_ptr secret) : secret(secret != nullptr ? secret->Clone() : nullptr) {}; + + SecretEntry(const SecretEntry &other) + : persist_type(other.persist_type), storage_mode(other.storage_mode), + secret((other.secret != nullptr) ? other.secret->Clone() : nullptr) { + } + + //! Whether the secret is persistent + SecretPersistType persist_type; + //! The storage backend of the secret + string storage_mode; + //! The secret pointer + unique_ptr secret; +}; + +struct SecretManagerConfig { + static constexpr const bool DEFAULT_ALLOW_PERSISTENT_SECRETS = true; + //! The default persistence type for secrets + SecretPersistType default_persist_type = SecretPersistType::TEMPORARY; + //! Secret Path can be changed by until the secret manager is initialized, after that it will be set automatically + string secret_path = ""; + //! The default secret path is determined on startup and can be used to reset the secret path + string default_secret_path = ""; + //! The storage type for persistent secrets when none is specified; + string default_persistent_storage = ""; + //! Persistent secrets are enabled by default + bool allow_persistent_secrets = DEFAULT_ALLOW_PERSISTENT_SECRETS; +}; + +//! The Secret Manager for DuckDB. Can handle both temporary and persistent secrets +class SecretManager { + friend struct SecretEntry; + +public: + explicit SecretManager() = default; + virtual ~SecretManager() = default; + + //! The default storage backends + static constexpr const char *TEMPORARY_STORAGE_NAME = "memory"; + static constexpr const char *LOCAL_FILE_STORAGE_NAME = "local_file"; + + //! Static Helper Functions + DUCKDB_API static SecretManager &Get(ClientContext &context); + DUCKDB_API static SecretManager &Get(DatabaseInstance &db); + + // Initialize the secret manager with the DB instance + DUCKDB_API void Initialize(DatabaseInstance &db); + //! Load a secret storage + DUCKDB_API void LoadSecretStorage(unique_ptr storage); + + //! Deserialize a secret by automatically selecting the correct deserializer + DUCKDB_API unique_ptr DeserializeSecret(Deserializer &deserializer); + //! Register a new SecretType + DUCKDB_API void RegisterSecretType(SecretType &type); + //! Lookup a SecretType + DUCKDB_API SecretType LookupType(const string &type); + //! Register a Secret Function i.e. a secret provider for a secret type + DUCKDB_API void RegisterSecretFunction(CreateSecretFunction function, OnCreateConflict on_conflict); + //! Register a secret by providing a secret manually + DUCKDB_API unique_ptr RegisterSecret(CatalogTransaction transaction, + unique_ptr secret, OnCreateConflict on_conflict, + SecretPersistType persist_type, const string &storage = ""); + //! Create a secret from a CreateSecretInfo + DUCKDB_API unique_ptr CreateSecret(ClientContext &context, const CreateSecretInfo &info); + //! The Bind for create secret is done by the secret manager + DUCKDB_API BoundStatement BindCreateSecret(CatalogTransaction transaction, CreateSecretInfo &info); + //! Lookup the best matching secret by matching the secret scopes to the path + DUCKDB_API SecretMatch LookupSecret(CatalogTransaction transaction, const string &path, const string &type); + //! Get a secret by name, optionally from a specific storage + DUCKDB_API unique_ptr GetSecretByName(CatalogTransaction transaction, const string &name, + const string &storage = ""); + //! Delete a secret by name, optionally by providing the storage to drop from + DUCKDB_API void DropSecretByName(CatalogTransaction transaction, const string &name, + OnEntryNotFound on_entry_not_found, + SecretPersistType persist_type = SecretPersistType::DEFAULT, + const string &storage = ""); + //! List all secrets from all secret storages + DUCKDB_API vector AllSecrets(CatalogTransaction transaction); + + //! Secret Manager settings + DUCKDB_API virtual void SetEnablePersistentSecrets(bool enabled); + DUCKDB_API virtual void ResetEnablePersistentSecrets(); + DUCKDB_API virtual bool PersistentSecretsEnabled(); + + DUCKDB_API virtual void SetDefaultStorage(const string &storage); + DUCKDB_API virtual void ResetDefaultStorage(); + DUCKDB_API virtual string DefaultStorage(); + + DUCKDB_API virtual void SetPersistentSecretPath(const string &path); + DUCKDB_API virtual void ResetPersistentSecretPath(); + DUCKDB_API virtual string PersistentSecretPath(); + + //! Utility functions + DUCKDB_API void DropSecretByName(ClientContext &context, const string &name, OnEntryNotFound on_entry_not_found, + SecretPersistType persist_type = SecretPersistType::DEFAULT, + const string &storage = ""); + +private: + //! Lookup a SecretType + SecretType LookupTypeInternal(const string &type); + //! Lookup a CreateSecretFunction + optional_ptr LookupFunctionInternal(const string &type, const string &provider); + //! Register a new Secret + unique_ptr RegisterSecretInternal(CatalogTransaction transaction, unique_ptr secret, + OnCreateConflict on_conflict, SecretPersistType persist_type, + const string &storage = ""); + //! Initialize the secret catalog_set and persistent secrets (lazily) + void InitializeSecrets(CatalogTransaction transaction); + //! Load a secret storage + void LoadSecretStorageInternal(unique_ptr storage); + + //! Autoload extension for specific secret type + void AutoloadExtensionForType(const string &type); + //! Autoload extension for specific secret function + void AutoloadExtensionForFunction(const string &type, const string &provider); + + //! Thread-safe accessors for secret_storages + vector> GetSecretStorages(); + optional_ptr GetSecretStorage(const string &name); + + //! Throw an exception if the secret manager is initialized + void ThrowOnSettingChangeIfInitialized(); + + //! Lock for types, functions, settings and storages + mutex manager_lock; + //! Secret functions; + case_insensitive_map_t secret_functions; + //! Secret types; + case_insensitive_map_t secret_types; + //! Map of all registered SecretStorages + case_insensitive_map_t> secret_storages; + //! While false, secret manager settings can still be changed + atomic initialized {false}; + //! Configuration for secret manager + SecretManagerConfig config; + //! Pointer to current db instance + optional_ptr db; +}; + +//! The DefaultGenerator for persistent secrets. This is used to store lazy loaded secrets in the catalog +class DefaultSecretGenerator : public DefaultGenerator { +public: + DefaultSecretGenerator(Catalog &catalog, SecretManager &secret_manager, case_insensitive_set_t &persistent_secrets); + +public: + unique_ptr CreateDefaultEntry(ClientContext &context, const string &entry_name) override; + vector GetDefaultEntries() override; + +protected: + SecretManager &secret_manager; + case_insensitive_set_t persistent_secrets; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/main/secret/secret_storage.hpp b/src/include/duckdb/main/secret/secret_storage.hpp new file mode 100644 index 000000000000..7b40c0a4d015 --- /dev/null +++ b/src/include/duckdb/main/secret/secret_storage.hpp @@ -0,0 +1,164 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/main/secret/secret_storage.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/common.hpp" +#include "duckdb/common/enums/on_entry_not_found.hpp" + +namespace duckdb { + +class BaseSecret; +class Catalog; +class CatalogSet; +struct CatalogTransaction; +class DatabaseInstance; +struct SecretMatch; +struct SecretEntry; + +//! Base class for SecretStorage API +class SecretStorage { + friend class SecretManager; + +public: + SecretStorage(const string &name) : storage_name(name), persistent(false) {}; + virtual ~SecretStorage() = default; + +public: + //! SecretStorage API + + //! Get the storage name (e.g. local_file, :memory:) + virtual string &GetName() { + return storage_name; + }; + + //! Store a secret + virtual unique_ptr StoreSecret(unique_ptr secret, OnCreateConflict on_conflict, + optional_ptr transaction = nullptr) = 0; + //! Get all secrets + virtual vector AllSecrets(optional_ptr transaction = nullptr) = 0; + //! Drop secret by name + virtual void DropSecretByName(const string &name, OnEntryNotFound on_entry_not_found, + optional_ptr transaction = nullptr) = 0; + //! Get best match + virtual SecretMatch LookupSecret(const string &path, const string &type, + optional_ptr transaction = nullptr) = 0; + //! Get a secret by name + virtual unique_ptr GetSecretByName(const string &name, + optional_ptr transaction = nullptr) = 0; + + //! Return the offset associated to this storage for tie-breaking secrets between storages + virtual int64_t GetTieBreakOffset() = 0; + + //! Returns include_in_lookups, used to create secret storage + virtual bool IncludeInLookups() { + return true; + } + + virtual bool Persistent() const { + return persistent; + } + +protected: + //! Helper function to select the best matching secret within a storage. Tie-breaks within a storage are broken + //! by secret name by default. + SecretMatch SelectBestMatch(SecretEntry &secret_entry, const string &path, SecretMatch ¤t_best); + + //! Offsets the score to tie-break secrets giving preference to the storage with the lowest storage_penalty + //! the base implementation will be chosen last in a tie-break + int64_t OffsetMatchScore(int64_t score) { + return 100 * score - GetTieBreakOffset(); + } + + //! Name of the storage backend (e.g. temporary, file, etc) + string storage_name; + //! Whether entries in this storage will survive duckdb reboots + bool persistent; +}; + +//! Wrapper struct around a SecretEntry to allow storing it +struct SecretCatalogEntry : public InCatalogEntry { +public: + SecretCatalogEntry(unique_ptr secret_p, Catalog &catalog); + SecretCatalogEntry(unique_ptr secret_p, Catalog &catalog); + + //! The secret to store in a catalog + unique_ptr secret; +}; + +//! Base Implementation for catalog set based secret storage +class CatalogSetSecretStorage : public SecretStorage { +public: + CatalogSetSecretStorage(DatabaseInstance &db_instance, const string &name_p) + : SecretStorage(name_p), db(db_instance) {}; + +public: + //! SecretStorage API + string &GetName() override { + return storage_name; + }; + + virtual unique_ptr StoreSecret(unique_ptr secret, OnCreateConflict on_conflict, + optional_ptr transaction = nullptr) override; + vector AllSecrets(optional_ptr transaction = nullptr) override; + void DropSecretByName(const string &name, OnEntryNotFound on_entry_not_found, + optional_ptr transaction = nullptr) override; + SecretMatch LookupSecret(const string &path, const string &type, + optional_ptr transaction = nullptr) override; + unique_ptr GetSecretByName(const string &name, + optional_ptr transaction = nullptr) override; + +protected: + //! Callback called on Store to allow child classes to implement persistence. + virtual void WriteSecret(const BaseSecret &secret, OnCreateConflict on_conflict); + virtual void RemoveSecret(const string &name, OnEntryNotFound on_entry_not_found); + //! Returns the CatalogTransaction in `transaction` if not set, return the System transaction + CatalogTransaction GetTransactionOrDefault(optional_ptr transaction); + + //! CatalogSet containing the secrets + unique_ptr secrets; + //! DB instance for accessing the system catalog transaction + DatabaseInstance &db; +}; + +class TemporarySecretStorage : public CatalogSetSecretStorage { +public: + TemporarySecretStorage(const string &name_p, DatabaseInstance &db_p) : CatalogSetSecretStorage(db_p, name_p) { + secrets = make_uniq(Catalog::GetSystemCatalog(db)); + persistent = false; + } + + int64_t GetTieBreakOffset() override { + return 10; + } + +protected: +}; + +class LocalFileSecretStorage : public CatalogSetSecretStorage { +public: + LocalFileSecretStorage(SecretManager &manager, DatabaseInstance &db, const string &name_p, + const string &secret_path); + + int64_t GetTieBreakOffset() override { + return 20; + } + +protected: + //! Implements the writes to disk + void WriteSecret(const BaseSecret &secret, OnCreateConflict on_conflict) override; + //! Implements the deletes from disk + virtual void RemoveSecret(const string &secret, OnEntryNotFound on_entry_not_found) override; + + //! Set of persistent secrets that are lazily loaded + case_insensitive_set_t persistent_secrets; + //! Path that is searched for secrets; + string secret_path; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/main/settings.hpp b/src/include/duckdb/main/settings.hpp index f0e92267c20a..31d8b1db8931 100644 --- a/src/include/duckdb/main/settings.hpp +++ b/src/include/duckdb/main/settings.hpp @@ -16,6 +16,8 @@ class ClientContext; class DatabaseInstance; struct DBConfig; +const string GetDefaultUserAgent(); + struct AccessModeSetting { static constexpr const char *Name = "access_mode"; static constexpr const char *Description = "Access mode of the database (AUTOMATIC, READ_ONLY or READ_WRITE)"; @@ -25,6 +27,16 @@ struct AccessModeSetting { static Value GetSetting(ClientContext &context); }; +struct AllowPersistentSecrets { + static constexpr const char *Name = "allow_persistent_secrets"; + static constexpr const char *Description = + "Allow the creation of persistent secrets, that are stored and loaded on restarts"; + static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN; + static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter); + static void ResetGlobal(DatabaseInstance *db, DBConfig &config); + static Value GetSetting(ClientContext &context); +}; + struct CheckpointThresholdSetting { static constexpr const char *Name = "checkpoint_threshold"; static constexpr const char *Description = @@ -131,6 +143,15 @@ struct DefaultNullOrderSetting { static Value GetSetting(ClientContext &context); }; +struct DefaultSecretStorage { + static constexpr const char *Name = "default_secret_storage"; + static constexpr const char *Description = "Allows switching the default storage for secrets"; + static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR; + static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter); + static void ResetGlobal(DatabaseInstance *db, DBConfig &config); + static Value GetSetting(ClientContext &context); +}; + struct DisabledFileSystemsSetting { static constexpr const char *Name = "disabled_filesystems"; static constexpr const char *Description = "Disable specific file systems preventing access (e.g. LocalFileSystem)"; @@ -183,8 +204,8 @@ struct CustomExtensionRepository { static constexpr const char *Name = "custom_extension_repository"; static constexpr const char *Description = "Overrides the custom endpoint for remote extension installation"; static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR; - static void SetLocal(ClientContext &context, const Value ¶meter); - static void ResetLocal(ClientContext &context); + static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter); + static void ResetGlobal(DatabaseInstance *db, DBConfig &config); static Value GetSetting(ClientContext &context); }; @@ -193,8 +214,8 @@ struct AutoloadExtensionRepository { static constexpr const char *Description = "Overrides the custom endpoint for extension installation on autoloading"; static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR; - static void SetLocal(ClientContext &context, const Value ¶meter); - static void ResetLocal(ClientContext &context); + static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter); + static void ResetGlobal(DatabaseInstance *db, DBConfig &config); static Value GetSetting(ClientContext &context); }; @@ -266,6 +287,15 @@ struct EnableProgressBarPrintSetting { static Value GetSetting(ClientContext &context); }; +struct ErrorsAsJsonSetting { + static constexpr const char *Name = "errors_as_json"; + static constexpr const char *Description = "Output error messages as structured JSON instead of as a raw string"; + static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN; + static void SetLocal(ClientContext &context, const Value ¶meter); + static void ResetLocal(ClientContext &context); + static Value GetSetting(ClientContext &context); +}; + struct ExplainOutputSetting { static constexpr const char *Name = "explain_output"; static constexpr const char *Description = "Output of EXPLAIN statements (ALL, OPTIMIZED_ONLY, PHYSICAL_ONLY)"; @@ -388,6 +418,15 @@ struct MaximumMemorySetting { static Value GetSetting(ClientContext &context); }; +struct OldImplicitCasting { + static constexpr const char *Name = "old_implicit_casting"; + static constexpr const char *Description = "Allow implicit casting to/from VARCHAR"; + static constexpr const LogicalTypeId InputType = LogicalTypeId::BOOLEAN; + static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter); + static void ResetGlobal(DatabaseInstance *db, DBConfig &config); + static Value GetSetting(ClientContext &context); +}; + struct PasswordSetting { static constexpr const char *Name = "password"; static constexpr const char *Description = "The password to use. Ignored for legacy compatibility."; @@ -457,15 +496,6 @@ struct ExportLargeBufferArrow { static Value GetSetting(ClientContext &context); }; -struct ProfilerHistorySize { - static constexpr const char *Name = "profiler_history_size"; - static constexpr const char *Description = "Sets the profiler history size"; - static constexpr const LogicalTypeId InputType = LogicalTypeId::BIGINT; - static void SetLocal(ClientContext &context, const Value ¶meter); - static void ResetLocal(ClientContext &context); - static Value GetSetting(ClientContext &context); -}; - struct ProfileOutputSetting { static constexpr const char *Name = "profile_output"; static constexpr const char *Description = @@ -515,6 +545,15 @@ struct SearchPathSetting { static Value GetSetting(ClientContext &context); }; +struct SecretDirectorySetting { + static constexpr const char *Name = "secret_directory"; + static constexpr const char *Description = "Set the directory to which persistent secrets are stored"; + static constexpr const LogicalTypeId InputType = LogicalTypeId::VARCHAR; + static void SetGlobal(DatabaseInstance *db, DBConfig &config, const Value ¶meter); + static void ResetGlobal(DatabaseInstance *db, DBConfig &config); + static Value GetSetting(ClientContext &context); +}; + struct TempDirectorySetting { static constexpr const char *Name = "temp_directory"; static constexpr const char *Description = "Set the directory to which to write temp files"; diff --git a/src/include/duckdb/main/stream_query_result.hpp b/src/include/duckdb/main/stream_query_result.hpp index 0373f307ec84..5b8016c809f2 100644 --- a/src/include/duckdb/main/stream_query_result.hpp +++ b/src/include/duckdb/main/stream_query_result.hpp @@ -10,6 +10,9 @@ #include "duckdb/common/winapi.hpp" #include "duckdb/main/query_result.hpp" +#include "duckdb/parallel/interrupt.hpp" +#include "duckdb/common/queue.hpp" +#include "duckdb/main/buffered_data/simple_buffered_data.hpp" namespace duckdb { @@ -29,7 +32,8 @@ class StreamQueryResult : public QueryResult { //! Create a successful StreamQueryResult. StreamQueryResults should always be successful initially (it makes no //! sense to stream an error). DUCKDB_API StreamQueryResult(StatementType statement_type, StatementProperties properties, - shared_ptr context, vector types, vector names); + vector types, vector names, ClientProperties client_properties, + shared_ptr buffered_data); DUCKDB_API ~StreamQueryResult() override; public: @@ -49,9 +53,13 @@ class StreamQueryResult : public QueryResult { shared_ptr context; private: + unique_ptr FetchInternal(ClientContextLock &lock); unique_ptr LockContext(); void CheckExecutableInternal(ClientContextLock &lock); bool IsOpenInternal(ClientContextLock &lock); + +private: + shared_ptr buffered_data; }; } // namespace duckdb diff --git a/src/include/duckdb/optimizer/deliminator.hpp b/src/include/duckdb/optimizer/deliminator.hpp index 482c4064adce..fb6d1d913a5a 100644 --- a/src/include/duckdb/optimizer/deliminator.hpp +++ b/src/include/duckdb/optimizer/deliminator.hpp @@ -25,13 +25,16 @@ class Deliminator { private: //! Finds DelimJoins and their corresponding DelimGets void FindCandidates(unique_ptr &op, vector &candidates); - void FindJoinWithDelimGet(unique_ptr &op, DelimCandidate &candidate); + void FindJoinWithDelimGet(unique_ptr &op, DelimCandidate &candidate, idx_t depth = 0); + //! Whether the DelimJoin is selective + bool HasSelection(const LogicalOperator &delim_join); //! Remove joins with a DelimGet bool RemoveJoinWithDelimGet(LogicalComparisonJoin &delim_join, const idx_t delim_get_count, unique_ptr &join, bool &all_equality_conditions); bool RemoveInequalityJoinWithDelimGet(LogicalComparisonJoin &delim_join, const idx_t delim_get_count, unique_ptr &join, const vector &replacement_bindings); + void TrySwitchSingleToLeft(LogicalComparisonJoin &delim_join); private: optional_ptr root; diff --git a/src/include/duckdb/optimizer/filter_pushdown.hpp b/src/include/duckdb/optimizer/filter_pushdown.hpp index ab6f04b06273..70ba4fdf3a31 100644 --- a/src/include/duckdb/optimizer/filter_pushdown.hpp +++ b/src/include/duckdb/optimizer/filter_pushdown.hpp @@ -65,6 +65,8 @@ class FilterPushdown { // Pushdown a left join unique_ptr PushdownLeftJoin(unique_ptr op, unordered_set &left_bindings, unordered_set &right_bindings); + + unique_ptr PushdownSemiAntiJoin(unique_ptr op); // Pushdown a mark join unique_ptr PushdownMarkJoin(unique_ptr op, unordered_set &left_bindings, unordered_set &right_bindings); diff --git a/src/include/duckdb/optimizer/join_order/join_node.hpp b/src/include/duckdb/optimizer/join_order/join_node.hpp index a17721029b63..f861b28382cf 100644 --- a/src/include/duckdb/optimizer/join_order/join_node.hpp +++ b/src/include/duckdb/optimizer/join_order/join_node.hpp @@ -46,7 +46,7 @@ class JoinNode { private: public: - void PrintJoinNode(); + void Print(); string ToString(); }; diff --git a/src/include/duckdb/optimizer/join_order/join_relation.hpp b/src/include/duckdb/optimizer/join_order/join_relation.hpp index aee248e6936c..7b040c1b5ef4 100644 --- a/src/include/duckdb/optimizer/join_order/join_relation.hpp +++ b/src/include/duckdb/optimizer/join_order/join_relation.hpp @@ -49,6 +49,8 @@ class JoinRelationSetManager { JoinRelationSet &Union(JoinRelationSet &left, JoinRelationSet &right); // //! Create the set difference of left \ right (i.e. all elements in left that are not in right) // JoinRelationSet *Difference(JoinRelationSet *left, JoinRelationSet *right); + string ToString() const; + void Print(); private: JoinRelationTreeNode root; diff --git a/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp b/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp index 5a887f5ddb7c..79aa37fb9ea4 100644 --- a/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp +++ b/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp @@ -11,9 +11,11 @@ #include "duckdb/common/common.hpp" #include "duckdb/common/optional_ptr.hpp" #include "duckdb/common/pair.hpp" +#include "duckdb/common/enums/join_type.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/common/unordered_set.hpp" #include "duckdb/common/vector.hpp" + #include "duckdb/optimizer/join_order/join_node.hpp" #include "duckdb/optimizer/join_order/join_relation.hpp" #include "duckdb/optimizer/join_order/query_graph.hpp" @@ -88,6 +90,7 @@ class QueryGraphManager { //! (Basically we put lower expected cardinality columns on the build side, and larger //! tables on the probe side) unique_ptr LeftRightOptimizations(unique_ptr op); + void TryFlipChildren(LogicalOperator &op, idx_t cardinality_ratio = 1); private: vector> filter_operators; diff --git a/src/include/duckdb/optimizer/join_order/relation_statistics_helper.hpp b/src/include/duckdb/optimizer/join_order/relation_statistics_helper.hpp index 86279cdde44f..4e6f04bfa0d8 100644 --- a/src/include/duckdb/optimizer/join_order/relation_statistics_helper.hpp +++ b/src/include/duckdb/optimizer/join_order/relation_statistics_helper.hpp @@ -60,6 +60,7 @@ class RelationStatisticsHelper { static RelationStats ExtractProjectionStats(LogicalProjection &proj, RelationStats &child_stats); static RelationStats ExtractAggregationStats(LogicalAggregate &aggr, RelationStats &child_stats); static RelationStats ExtractWindowStats(LogicalWindow &window, RelationStats &child_stats); + static RelationStats ExtractEmptyResultStats(LogicalEmptyResult &empty); //! Called after reordering a query plan with potentially 2+ relations. static RelationStats CombineStatsOfReorderableOperator(vector &bindings, vector relation_stats); diff --git a/src/include/duckdb/parallel/event.hpp b/src/include/duckdb/parallel/event.hpp index 1cfee6917c8a..354012020d58 100644 --- a/src/include/duckdb/parallel/event.hpp +++ b/src/include/duckdb/parallel/event.hpp @@ -37,7 +37,7 @@ class Event : public std::enable_shared_from_this { bool HasDependencies() const { return total_dependencies != 0; } - const vector &GetParentsVerification() const; + const vector> &GetParentsVerification() const; void CompleteDependency(); @@ -79,7 +79,7 @@ class Event : public std::enable_shared_from_this { //! The events that depend on this event to run vector> parents; //! Raw pointers to the parents (used for verification only) - vector parents_raw; + vector> parents_raw; //! Whether or not the event is finished executing atomic finished; diff --git a/src/include/duckdb/parallel/meta_pipeline.hpp b/src/include/duckdb/parallel/meta_pipeline.hpp index 82b92ba5111c..5bf58ef80cfd 100644 --- a/src/include/duckdb/parallel/meta_pipeline.hpp +++ b/src/include/duckdb/parallel/meta_pipeline.hpp @@ -8,19 +8,11 @@ #pragma once +#include "duckdb/common/reference_map.hpp" #include "duckdb/execution/physical_operator.hpp" namespace duckdb { -class PhysicalRecursiveCTE; - -struct PipelineFinishGroup { - explicit PipelineFinishGroup(Pipeline *group_base_p) : group_base(group_base_p) { - } - Pipeline *group_base; - unordered_set group_members; -}; - //! MetaPipeline represents a set of pipelines that all have the same sink class MetaPipeline : public std::enable_shared_from_this { //! We follow these rules when building: @@ -34,7 +26,7 @@ class MetaPipeline : public std::enable_shared_from_this { //! * And all pipelines that were added to the MetaPipeline after 'current' public: //! Create a MetaPipeline with the given sink - explicit MetaPipeline(Executor &executor, PipelineBuildState &state, PhysicalOperator *sink); + MetaPipeline(Executor &executor, PipelineBuildState &state, optional_ptr sink); public: //! Get the Executor for this MetaPipeline @@ -51,22 +43,22 @@ class MetaPipeline : public std::enable_shared_from_this { //! Get the MetaPipeline children of this MetaPipeline void GetMetaPipelines(vector> &result, bool recursive, bool skip); //! Get the dependencies (within this MetaPipeline) of the given Pipeline - const vector *GetDependencies(Pipeline *dependant) const; + optional_ptr>> GetDependencies(Pipeline &dependant) const; //! Whether this MetaPipeline has a recursive CTE bool HasRecursiveCTE() const; //! Set the flag that this MetaPipeline is a recursive CTE pipeline void SetRecursiveCTE(); //! Assign a batch index to the given pipeline - void AssignNextBatchIndex(Pipeline *pipeline); + void AssignNextBatchIndex(Pipeline &pipeline); //! Let 'dependant' depend on all pipeline that were created since 'start', //! where 'including' determines whether 'start' is added to the dependencies - void AddDependenciesFrom(Pipeline *dependant, Pipeline *start, bool including); + void AddDependenciesFrom(Pipeline &dependant, Pipeline &start, bool including); //! Make sure that the given pipeline has its own PipelineFinishEvent (e.g., for IEJoin - double Finalize) - void AddFinishEvent(Pipeline *pipeline); + void AddFinishEvent(Pipeline &pipeline); //! Whether the pipeline needs its own PipelineFinishEvent - bool HasFinishEvent(Pipeline *pipeline) const; + bool HasFinishEvent(Pipeline &pipeline) const; //! Whether this pipeline is part of a PipelineFinishEvent - optional_ptr GetFinishGroup(Pipeline *pipeline) const; + optional_ptr GetFinishGroup(Pipeline &pipeline) const; public: //! Build the MetaPipeline with 'op' as the first operator (excl. the shared sink) @@ -75,12 +67,12 @@ class MetaPipeline : public std::enable_shared_from_this { void Ready(); //! Create an empty pipeline within this MetaPipeline - Pipeline *CreatePipeline(); + Pipeline &CreatePipeline(); //! Create a union pipeline (clone of 'current') - Pipeline *CreateUnionPipeline(Pipeline ¤t, bool order_matters); + Pipeline &CreateUnionPipeline(Pipeline ¤t, bool order_matters); //! Create a child pipeline op 'current' starting at 'op', //! where 'last_pipeline' is the last pipeline added before building out 'current' - void CreateChildPipeline(Pipeline ¤t, PhysicalOperator &op, Pipeline *last_pipeline); + void CreateChildPipeline(Pipeline ¤t, PhysicalOperator &op, Pipeline &last_pipeline); //! Create a MetaPipeline child that 'current' depends on MetaPipeline &CreateChildMetaPipeline(Pipeline ¤t, PhysicalOperator &op); @@ -96,15 +88,15 @@ class MetaPipeline : public std::enable_shared_from_this { //! All pipelines with a different source, but the same sink vector> pipelines; //! Dependencies within this MetaPipeline - unordered_map> dependencies; + reference_map_t>> dependencies; //! Other MetaPipelines that this MetaPipeline depends on vector> children; //! Next batch index idx_t next_batch_index; //! Pipelines (other than the base pipeline) that need their own PipelineFinishEvent (e.g., for IEJoin) - unordered_set finish_pipelines; + reference_set_t finish_pipelines; //! Mapping from pipeline (e.g., child or union) to finish pipeline - unordered_map finish_map; + reference_map_t finish_map; }; } // namespace duckdb diff --git a/src/include/duckdb/parallel/pipeline.hpp b/src/include/duckdb/parallel/pipeline.hpp index 27f9fa65fb3c..ca60992eb41d 100644 --- a/src/include/duckdb/parallel/pipeline.hpp +++ b/src/include/duckdb/parallel/pipeline.hpp @@ -21,6 +21,26 @@ namespace duckdb { class Executor; class Event; class MetaPipeline; +class PipelineExecutor; +class Pipeline; + +class PipelineTask : public ExecutorTask { + static constexpr const idx_t PARTIAL_CHUNK_COUNT = 50; + +public: + explicit PipelineTask(Pipeline &pipeline_p, shared_ptr event_p); + + Pipeline &pipeline; + shared_ptr event; + unique_ptr pipeline_executor; + +public: + const PipelineExecutor &GetPipelineExecutor() const; + bool TaskBlockedOnResult() const override; + +public: + TaskExecutionResult ExecuteTask(TaskExecutionMode mode) override; +}; class PipelineBuildState { public: diff --git a/src/include/duckdb/parallel/pipeline_executor.hpp b/src/include/duckdb/parallel/pipeline_executor.hpp index 631944492623..e19c4483d165 100644 --- a/src/include/duckdb/parallel/pipeline_executor.hpp +++ b/src/include/duckdb/parallel/pipeline_executor.hpp @@ -51,14 +51,12 @@ class PipelineExecutor { //! This should only be called once per PipelineExecutor. PipelineExecuteResult PushFinalize(); - //! Initializes a chunk with the types that will flow out of ExecutePull + bool RemainingSinkChunk() const; + + //! Initializes a chunk with the types that will flow out of the chunk void InitializeChunk(DataChunk &chunk); //! Execute a pipeline without a sink, and retrieve a single DataChunk //! Returns an empty chunk when finished. - void ExecutePull(DataChunk &result); - //! Called after depleting the source using ExecutePull - //! This flushes profiler states - void PullFinalize(); //! Registers the task in the interrupt_state to allow Source/Sink operators to block the task void SetTaskForInterrupts(weak_ptr current_task); diff --git a/src/include/duckdb/parallel/task.hpp b/src/include/duckdb/parallel/task.hpp index 2245c74a0a7a..25a85b710346 100644 --- a/src/include/duckdb/parallel/task.hpp +++ b/src/include/duckdb/parallel/task.hpp @@ -27,6 +27,7 @@ class Task : public std::enable_shared_from_this { virtual ~Task() { } +public: //! Execute the task in the specified execution mode //! If mode is PROCESS_ALL, Execute should always finish processing and return TASK_FINISHED //! If mode is PROCESS_PARTIAL, Execute can return TASK_NOT_FINISHED, in which case Execute will be called again @@ -45,6 +46,10 @@ class Task : public std::enable_shared_from_this { virtual void Reschedule() { throw InternalException("Cannot reschedule task of base Task class"); } + + virtual bool TaskBlockedOnResult() const { + return false; + } }; //! Execute a task within an executor, including exception handling @@ -55,9 +60,11 @@ class ExecutorTask : public Task { ExecutorTask(ClientContext &context); virtual ~ExecutorTask(); +public: void Deschedule() override; void Reschedule() override; +public: Executor &executor; public: diff --git a/src/include/duckdb/parallel/task_scheduler.hpp b/src/include/duckdb/parallel/task_scheduler.hpp index b54da51ceb2a..2d955e0b5502 100644 --- a/src/include/duckdb/parallel/task_scheduler.hpp +++ b/src/include/duckdb/parallel/task_scheduler.hpp @@ -58,9 +58,13 @@ class TaskScheduler { //! Run tasks until `max_tasks` have been completed, or until there are no more tasks available void ExecuteTasks(idx_t max_tasks); - //! Sets the amount of active threads executing tasks for the system; n-1 background threads will be launched. - //! The main thread will also be used for execution - void SetThreads(int32_t n); + //! Sets the amount of background threads to be used for execution, based on the number of total threads + //! and the number of external threads. External threads, e.g. the main thread, will also be used for execution. + //! Launches `total_threads - external_threads` background worker threads. + void SetThreads(idx_t total_threads, idx_t external_threads); + + void RelaunchThreads(); + //! Returns the number of threads DUCKDB_API int32_t NumberOfThreads(); @@ -74,7 +78,7 @@ class TaskScheduler { void SetAllocatorFlushTreshold(idx_t threshold); private: - void SetThreadsInternal(int32_t n); + void RelaunchThreadsInternal(int32_t n); private: DatabaseInstance &db; @@ -88,6 +92,8 @@ class TaskScheduler { vector>> markers; //! The threshold after which to flush the allocator after completing a task atomic allocator_flush_threshold; + //! Requested thread count + atomic thread_count; }; } // namespace duckdb diff --git a/src/include/duckdb/parser/base_expression.hpp b/src/include/duckdb/parser/base_expression.hpp index 08c3e1dbdc81..aed84f5eeee3 100644 --- a/src/include/duckdb/parser/base_expression.hpp +++ b/src/include/duckdb/parser/base_expression.hpp @@ -11,6 +11,7 @@ #include "duckdb/common/common.hpp" #include "duckdb/common/enums/expression_type.hpp" #include "duckdb/common/exception.hpp" +#include "duckdb/common/optional_idx.hpp" namespace duckdb { @@ -40,6 +41,8 @@ class BaseExpression { ExpressionClass expression_class; //! The alias of the expression, string alias; + //! The location in the query (if any) + optional_idx query_location; public: //! Returns true if this expression is an aggregate or not. diff --git a/src/include/duckdb/parser/column_definition.hpp b/src/include/duckdb/parser/column_definition.hpp index 1510186aa494..79d1110f6f4d 100644 --- a/src/include/duckdb/parser/column_definition.hpp +++ b/src/include/duckdb/parser/column_definition.hpp @@ -31,7 +31,8 @@ class ColumnDefinition { public: //! default_value - const unique_ptr &DefaultValue() const; + const ParsedExpression &DefaultValue() const; + bool HasDefaultValue() const; void SetDefaultValue(unique_ptr default_value); //! type @@ -43,6 +44,10 @@ class ColumnDefinition { DUCKDB_API const string &Name() const; void SetName(const string &name); + //! comment + DUCKDB_API const Value &Comment() const; + void SetComment(const Value &comment); + //! compression_type const duckdb::CompressionType &CompressionType() const; void SetCompressionType(duckdb::CompressionType compression_type); @@ -97,6 +102,8 @@ class ColumnDefinition { //! The default value of the column (for non-generated columns) //! The generated column expression (for generated columns) unique_ptr expression; + //! Comment on this column + Value comment; }; } // namespace duckdb diff --git a/src/include/duckdb/parser/expression/function_expression.hpp b/src/include/duckdb/parser/expression/function_expression.hpp index d11eb8b69f75..291883df656b 100644 --- a/src/include/duckdb/parser/expression/function_expression.hpp +++ b/src/include/duckdb/parser/expression/function_expression.hpp @@ -63,9 +63,9 @@ class FunctionExpression : public ParsedExpression { public: template - static string ToString(const T &entry, const string &schema, const string &function_name, bool is_operator = false, - bool distinct = false, BASE *filter = nullptr, ORDER_MODIFIER *order_bys = nullptr, - bool export_state = false, bool add_alias = false) { + static string ToString(const T &entry, const string &catalog, const string &schema, const string &function_name, + bool is_operator = false, bool distinct = false, BASE *filter = nullptr, + ORDER_MODIFIER *order_bys = nullptr, bool export_state = false, bool add_alias = false) { if (is_operator) { // built-in operator D_ASSERT(!distinct); @@ -82,7 +82,14 @@ class FunctionExpression : public ParsedExpression { } } // standard function call - string result = schema.empty() ? function_name : schema + "." + function_name; + string result; + if (!catalog.empty()) { + result += KeywordHelper::WriteOptionallyQuoted(catalog) + "."; + } + if (!schema.empty()) { + result += KeywordHelper::WriteOptionallyQuoted(schema) + "."; + } + result += function_name; result += "("; if (distinct) { result += "DISTINCT "; diff --git a/src/include/duckdb/parser/expression/lambda_expression.hpp b/src/include/duckdb/parser/expression/lambda_expression.hpp index 5eae6e942da3..f3b2c8cc623f 100644 --- a/src/include/duckdb/parser/expression/lambda_expression.hpp +++ b/src/include/duckdb/parser/expression/lambda_expression.hpp @@ -8,15 +8,16 @@ #pragma once -#include "duckdb/parser/parsed_expression.hpp" +#include "duckdb/common/unordered_set.hpp" #include "duckdb/common/vector.hpp" +#include "duckdb/parser/parsed_expression.hpp" namespace duckdb { //! LambdaExpression represents either: -//! 1. A lambda operator that can be used for e.g. mapping an expression to a list -//! 2. An OperatorExpression with the "->" operator -//! Lambda expressions are written in the form of "params -> expr", e.g. "x -> x + 1" +//! 1. A lambda function that can be used for, e.g., mapping an expression to a list +//! 2. An OperatorExpression with the "->" operator (JSON) +//! Lambda expressions are written in the form of "params -> expr", e.g., "x -> x + 1" class LambdaExpression : public ParsedExpression { public: static constexpr const ExpressionClass TYPE = ExpressionClass::LAMBDA; @@ -24,18 +25,24 @@ class LambdaExpression : public ParsedExpression { public: LambdaExpression(unique_ptr lhs, unique_ptr expr); - // we need the context to determine if this is a list of column references or an expression (for JSON) + //! The LHS of a lambda expression or the JSON "->"-operator. We need the context + //! to determine if the LHS is a list of column references (lambda parameters) or an expression (JSON) unique_ptr lhs; - - vector> params; + //! The lambda or JSON expression (RHS) unique_ptr expr; public: - string ToString() const override; + //! Returns a vector to the column references in the LHS expression, and fills the error message, + //! if the LHS is not a valid lambda parameter list + vector> ExtractColumnRefExpressions(string &error_message); + //! Returns the error message for an invalid lambda parameter list + static string InvalidParametersErrorMessage(); + //! Returns true, if the column_name is a lambda parameter name + static bool IsLambdaParameter(const vector> &lambda_params, const string &column_name); + string ToString() const override; static bool Equal(const LambdaExpression &a, const LambdaExpression &b); hash_t Hash() const override; - unique_ptr Copy() const override; void Serialize(Serializer &serializer) const override; diff --git a/src/include/duckdb/parser/expression/lambdaref_expression.hpp b/src/include/duckdb/parser/expression/lambdaref_expression.hpp new file mode 100644 index 000000000000..6fafaa5eb989 --- /dev/null +++ b/src/include/duckdb/parser/expression/lambdaref_expression.hpp @@ -0,0 +1,47 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/parser/expression/lambdaref_expression.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/parser/parsed_expression.hpp" +#include "duckdb/common/optional_ptr.hpp" + +namespace duckdb { + +struct DummyBinding; + +//! Represents a reference to a lambda parameter +class LambdaRefExpression : public ParsedExpression { +public: + static constexpr const ExpressionClass TYPE = ExpressionClass::LAMBDA_REF; + +public: + //! Constructs a LambdaRefExpression from a lambda_idx and a column_name. We do not specify a table name, + //! because we use dummy tables to bind lambda parameters + LambdaRefExpression(idx_t lambda_idx, string column_name_p); + + //! The index of the lambda parameter in the lambda_bindings vector + idx_t lambda_idx; + //! The name of the lambda parameter (in a specific Binding in lambda_bindings) + string column_name; + +public: + bool IsScalar() const override; + string GetName() const override; + string ToString() const override; + hash_t Hash() const override; + unique_ptr Copy() const override; + + //! Traverses the lambda_bindings to find a matching binding for the column_name + static unique_ptr FindMatchingBinding(optional_ptr> &lambda_bindings, + const string ¶meter_name); + + void Serialize(Serializer &serializer) const override; + static unique_ptr Deserialize(Deserializer &deserializer); +}; +} // namespace duckdb diff --git a/src/include/duckdb/parser/expression/list.hpp b/src/include/duckdb/parser/expression/list.hpp index 7eb8bc8f22f2..0114a55a2432 100644 --- a/src/include/duckdb/parser/expression/list.hpp +++ b/src/include/duckdb/parser/expression/list.hpp @@ -4,6 +4,7 @@ #include "duckdb/parser/expression/cast_expression.hpp" #include "duckdb/parser/expression/collate_expression.hpp" #include "duckdb/parser/expression/columnref_expression.hpp" +#include "duckdb/parser/expression/lambdaref_expression.hpp" #include "duckdb/parser/expression/comparison_expression.hpp" #include "duckdb/parser/expression/conjunction_expression.hpp" #include "duckdb/parser/expression/constant_expression.hpp" diff --git a/src/include/duckdb/parser/expression/window_expression.hpp b/src/include/duckdb/parser/expression/window_expression.hpp index 14a42304d468..42c0eba977ff 100644 --- a/src/include/duckdb/parser/expression/window_expression.hpp +++ b/src/include/duckdb/parser/expression/window_expression.hpp @@ -25,6 +25,9 @@ enum class WindowBoundary : uint8_t { EXPR_FOLLOWING_RANGE = 8 }; +//! Represents the window exclusion mode +enum class WindowExcludeMode : uint8_t { NO_OTHER = 0, CURRENT_ROW = 1, GROUP = 2, TIES = 3 }; + const char *ToString(WindowBoundary value); //! The WindowExpression represents a window function in the query. They are a special case of aggregates which is why @@ -52,9 +55,13 @@ class WindowExpression : public ParsedExpression { unique_ptr filter_expr; //! True to ignore NULL values bool ignore_nulls; + //! Whether or not the aggregate function is distinct, only used for aggregates + bool distinct; //! The window boundaries WindowBoundary start = WindowBoundary::INVALID; WindowBoundary end = WindowBoundary::INVALID; + //! The EXCLUDE clause + WindowExcludeMode exclude_clause = WindowExcludeMode::NO_OTHER; unique_ptr start_expr; unique_ptr end_expr; @@ -86,8 +93,11 @@ class WindowExpression : public ParsedExpression { string result = schema.empty() ? function_name : schema + "." + function_name; result += "("; if (entry.children.size()) { - result += StringUtil::Join(entry.children, entry.children.size(), ", ", - [](const unique_ptr &child) { return child->ToString(); }); + // Only one DISTINCT is allowed (on the first argument) + int distincts = entry.distinct ? 0 : 1; + result += StringUtil::Join(entry.children, entry.children.size(), ", ", [&](const unique_ptr &child) { + return (distincts++ ? "" : "DISTINCT ") + child->ToString(); + }); } // Lead/Lag extra arguments if (entry.offset_expr.get()) { @@ -204,6 +214,23 @@ class WindowExpression : public ParsedExpression { result += to; } + if (entry.exclude_clause != WindowExcludeMode::NO_OTHER) { + result += " EXCLUDE "; + } + switch (entry.exclude_clause) { + case WindowExcludeMode::CURRENT_ROW: + result += "CURRENT ROW"; + break; + case WindowExcludeMode::GROUP: + result += "GROUP"; + break; + case WindowExcludeMode::TIES: + result += "TIES"; + break; + default: + break; + } + result += ")"; return result; diff --git a/src/include/duckdb/parser/parsed_data/alter_info.hpp b/src/include/duckdb/parser/parsed_data/alter_info.hpp index 2f7e5a004982..11053374f17b 100644 --- a/src/include/duckdb/parser/parsed_data/alter_info.hpp +++ b/src/include/duckdb/parser/parsed_data/alter_info.hpp @@ -22,7 +22,8 @@ enum class AlterType : uint8_t { ALTER_SEQUENCE = 3, CHANGE_OWNERSHIP = 4, ALTER_SCALAR_FUNCTION = 5, - ALTER_TABLE_FUNCTION = 6 + ALTER_TABLE_FUNCTION = 6, + SET_COMMENT = 7 }; struct AlterEntryData { diff --git a/src/include/duckdb/parser/parsed_data/alter_table_info.hpp b/src/include/duckdb/parser/parsed_data/alter_table_info.hpp index 6001e9a33aad..7fcbac233f1b 100644 --- a/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +++ b/src/include/duckdb/parser/parsed_data/alter_table_info.hpp @@ -37,6 +37,26 @@ struct ChangeOwnershipInfo : public AlterInfo { unique_ptr Copy() const override; }; +//===--------------------------------------------------------------------===// +// Set Comment +//===--------------------------------------------------------------------===// +struct SetCommentInfo : public AlterInfo { + SetCommentInfo(CatalogType entry_catalog_type, string entry_catalog, string entry_schema, string entry_name, + Value new_comment_value_p, OnEntryNotFound if_not_found); + + CatalogType entry_catalog_type; + Value comment_value; + +public: + CatalogType GetCatalogType() const override; + unique_ptr Copy() const override; + + void Serialize(Serializer &serializer) const override; + static unique_ptr Deserialize(Deserializer &deserializer); + + explicit SetCommentInfo(); +}; + //===--------------------------------------------------------------------===// // Alter Table //===--------------------------------------------------------------------===// @@ -50,7 +70,8 @@ enum class AlterTableType : uint8_t { SET_DEFAULT = 6, FOREIGN_KEY_CONSTRAINT = 7, SET_NOT_NULL = 8, - DROP_NOT_NULL = 9 + DROP_NOT_NULL = 9, + SET_COLUMN_COMMENT = 10 }; struct AlterTableInfo : public AlterInfo { @@ -66,7 +87,7 @@ struct AlterTableInfo : public AlterInfo { static unique_ptr Deserialize(Deserializer &deserializer); protected: - AlterTableInfo(AlterTableType type); + explicit AlterTableInfo(AlterTableType type); }; //===--------------------------------------------------------------------===// @@ -186,6 +207,30 @@ struct ChangeColumnTypeInfo : public AlterTableInfo { ChangeColumnTypeInfo(); }; +//===--------------------------------------------------------------------===// +// SetColumnCommentInfo +//===--------------------------------------------------------------------===// +struct SetColumnCommentInfo : public AlterTableInfo { + SetColumnCommentInfo(AlterEntryData data, string column_name, Value comment_value); + ~SetColumnCommentInfo() override; + + //! The column name to alter + string column_name; + //! The target type of the column + Value comment; + +public: + unique_ptr Copy() const override; + void Serialize(Serializer &serializer) const override; + static unique_ptr Deserialize(Deserializer &deserializer); + + string GetColumnName() const override { + return column_name; + }; + + explicit SetColumnCommentInfo(); +}; + //===--------------------------------------------------------------------===// // SetDefaultInfo //===--------------------------------------------------------------------===// diff --git a/src/include/duckdb/parser/parsed_data/attach_info.hpp b/src/include/duckdb/parser/parsed_data/attach_info.hpp index 9732f744f6c9..0137592bfc64 100644 --- a/src/include/duckdb/parser/parsed_data/attach_info.hpp +++ b/src/include/duckdb/parser/parsed_data/attach_info.hpp @@ -12,6 +12,7 @@ #include "duckdb/common/vector.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/common/types/value.hpp" +#include "duckdb/common/enums/on_create_conflict.hpp" namespace duckdb { @@ -29,6 +30,8 @@ struct AttachInfo : public ParseInfo { string path; //! Set of (key, value) options unordered_map options; + //! What to do on create conflict + OnCreateConflict on_conflict = OnCreateConflict::ERROR_ON_CONFLICT; public: unique_ptr Copy() const; diff --git a/src/include/duckdb/parser/parsed_data/bound_pragma_info.hpp b/src/include/duckdb/parser/parsed_data/bound_pragma_info.hpp new file mode 100644 index 000000000000..763e98a2b471 --- /dev/null +++ b/src/include/duckdb/parser/parsed_data/bound_pragma_info.hpp @@ -0,0 +1,29 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/parser/parsed_data/bound_pragma_info.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/parser/parsed_data/pragma_info.hpp" +#include "duckdb/function/pragma_function.hpp" + +namespace duckdb { + +struct BoundPragmaInfo { + BoundPragmaInfo(PragmaFunction function_p, vector parameters_p, named_parameter_map_t named_parameters_p) + : function(std::move(function_p)), parameters(std::move(parameters_p)), + named_parameters(std::move(named_parameters_p)) { + } + + PragmaFunction function; + //! Parameter list (if any) + vector parameters; + //! Named parameter list (if any) + named_parameter_map_t named_parameters; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/parser/parsed_data/comment_on_info.hpp b/src/include/duckdb/parser/parsed_data/comment_on_info.hpp new file mode 100644 index 000000000000..c8093be7c888 --- /dev/null +++ b/src/include/duckdb/parser/parsed_data/comment_on_info.hpp @@ -0,0 +1,45 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/parser/parsed_data/comment_on_info.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/enums/catalog_type.hpp" +#include "duckdb/common/types/value.hpp" +#include "duckdb/parser/parsed_data/parse_info.hpp" +#include "duckdb/parser/qualified_name.hpp" + +namespace duckdb { + +struct CommentOnInfo : public ParseInfo { +public: + static constexpr const ParseInfoType TYPE = ParseInfoType::COMMENT_ON_INFO; + +public: + CommentOnInfo(); + + //! Catalog type to comment on + CatalogType type; + + //! The catalog name of the entry to comment on + string catalog; + //! The schema name of the entry to comment on + string schema; + //! The name of the entry to comment on + string name; + + //! The comment, can be NULL or a string + Value comment; + +public: + unique_ptr Copy() const; + + void Serialize(Serializer &serializer) const override; + static unique_ptr Deserialize(Deserializer &deserializer); +}; + +} // namespace duckdb diff --git a/src/include/duckdb/parser/parsed_data/create_index_info.hpp b/src/include/duckdb/parser/parsed_data/create_index_info.hpp index a4d2181fe6f9..9209cc58f92d 100644 --- a/src/include/duckdb/parser/parsed_data/create_index_info.hpp +++ b/src/include/duckdb/parser/parsed_data/create_index_info.hpp @@ -8,42 +8,41 @@ #pragma once -#include "duckdb/parser/parsed_data/create_info.hpp" -#include "duckdb/common/enums/index_type.hpp" +#include "duckdb/common/case_insensitive_map.hpp" +#include "duckdb/common/enums/index_constraint_type.hpp" +#include "duckdb/common/types/value.hpp" #include "duckdb/common/vector.hpp" -#include "duckdb/parser/tableref/basetableref.hpp" +#include "duckdb/parser/parsed_data/create_info.hpp" #include "duckdb/parser/parsed_expression.hpp" -#include "duckdb/function/table_function.hpp" namespace duckdb { struct CreateIndexInfo : public CreateInfo { - CreateIndexInfo() : CreateInfo(CatalogType::INDEX_ENTRY) { - } + CreateIndexInfo(); + CreateIndexInfo(const CreateIndexInfo &info); - //! Index Type (e.g., B+-tree, Skip-List, ...) - IndexType index_type; - //! Name of the Index + //! The table name of the underlying table + string table; + //! The name of the index string index_name; - //! Name of the Index type - string index_type_name; - //! Index Constraint Type + + //! Options values (WITH ...) + case_insensitive_map_t options; + + //! The index type (ART, B+-tree, Skip-List, ...) + string index_type; + //! The index constraint type IndexConstraintType constraint_type; - //! The table to create the index on - string table; - //! Set of expressions to index by + //! The column ids of the indexed table + vector column_ids; + //! The set of expressions to index by vector> expressions; vector> parsed_expressions; - //! Types used for the CREATE INDEX scan + //! The types of the logical columns (necessary for scanning the table during CREATE INDEX) vector scan_types; - //! The names of the columns, used for the CREATE INDEX scan + //! The names of the logical columns (necessary for scanning the table during CREATE INDEX) vector names; - //! Column IDs needed for index creation - vector column_ids; - - //! Options values (WITH ...) - case_insensitive_map_t options; public: DUCKDB_API unique_ptr Copy() const override; diff --git a/src/include/duckdb/parser/parsed_data/create_info.hpp b/src/include/duckdb/parser/parsed_data/create_info.hpp index 70e047286d42..918c6fcbbcb2 100644 --- a/src/include/duckdb/parser/parsed_data/create_info.hpp +++ b/src/include/duckdb/parser/parsed_data/create_info.hpp @@ -11,21 +11,12 @@ #include "duckdb/common/enums/catalog_type.hpp" #include "duckdb/parser/parsed_data/parse_info.hpp" #include "duckdb/common/enum_util.hpp" +#include "duckdb/common/enums/on_create_conflict.hpp" +#include "duckdb/common/types/value.hpp" namespace duckdb { struct AlterInfo; -enum class OnCreateConflict : uint8_t { - // Standard: throw error - ERROR_ON_CONFLICT, - // CREATE IF NOT EXISTS, silently do nothing on conflict - IGNORE_ON_CONFLICT, - // CREATE OR REPLACE - REPLACE_ON_CONFLICT, - // Update on conflict - only support for functions. Add a function overload if the function already exists. - ALTER_ON_CONFLICT -}; - struct CreateInfo : public ParseInfo { public: static constexpr const ParseInfoType TYPE = ParseInfoType::CREATE_INFO; @@ -52,6 +43,8 @@ struct CreateInfo : public ParseInfo { bool internal; //! The SQL string of the CREATE statement string sql; + //! User provided comment + Value comment; public: void Serialize(Serializer &serializer) const override; @@ -62,6 +55,7 @@ struct CreateInfo : public ParseInfo { DUCKDB_API void CopyProperties(CreateInfo &other) const; //! Generates an alter statement from the create statement - used for OnCreateConflict::ALTER_ON_CONFLICT DUCKDB_API virtual unique_ptr GetAlterInfo() const; + virtual string ToString() const { throw InternalException("ToString not supported for this type of CreateInfo: '%s'", EnumUtil::ToString(info_type)); diff --git a/src/include/duckdb/parser/parsed_data/create_schema_info.hpp b/src/include/duckdb/parser/parsed_data/create_schema_info.hpp index 907645873554..33d5a84489af 100644 --- a/src/include/duckdb/parser/parsed_data/create_schema_info.hpp +++ b/src/include/duckdb/parser/parsed_data/create_schema_info.hpp @@ -25,6 +25,29 @@ struct CreateSchemaInfo : public CreateInfo { DUCKDB_API void Serialize(Serializer &serializer) const override; DUCKDB_API static unique_ptr Deserialize(Deserializer &deserializer); + + string ToString() const override { + string ret = ""; + switch (on_conflict) { + case OnCreateConflict::ALTER_ON_CONFLICT: { + ret += "CREATE SCHEMA " + schema + " ON CONFLICT INSERT OR REPLACE;"; + break; + } + case OnCreateConflict::IGNORE_ON_CONFLICT: { + ret += "CREATE SCHEMA " + schema + " IF NOT EXISTS;"; + break; + } + case OnCreateConflict::REPLACE_ON_CONFLICT: { + ret += "CREATE OR REPLACE SCHEMA " + schema + ";"; + break; + } + case OnCreateConflict::ERROR_ON_CONFLICT: { + ret += "CREATE SCHEMA " + schema + ";"; + break; + } + } + return ret; + } }; } // namespace duckdb diff --git a/src/include/duckdb/parser/parsed_data/create_secret_info.hpp b/src/include/duckdb/parser/parsed_data/create_secret_info.hpp new file mode 100644 index 000000000000..3d368938e2d9 --- /dev/null +++ b/src/include/duckdb/parser/parsed_data/create_secret_info.hpp @@ -0,0 +1,47 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/parser/parsed_data/create_secret_info.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/main/secret/secret.hpp" +#include "duckdb/common/enums/catalog_type.hpp" +#include "duckdb/parser/column_definition.hpp" +#include "duckdb/parser/parsed_data/parse_info.hpp" +#include "duckdb/parser/parsed_data/create_info.hpp" +#include "duckdb/common/enums/on_entry_not_found.hpp" +#include "duckdb/common/named_parameter_map.hpp" + +namespace duckdb { + +struct CreateSecretInfo : public CreateInfo { +public: + static constexpr const ParseInfoType TYPE = ParseInfoType::CREATE_SECRET_INFO; + +public: + explicit CreateSecretInfo(OnCreateConflict on_conflict, SecretPersistType persist_type); + //! How to handle conflict + OnCreateConflict on_conflict; + //! Whether the secret can be persisted + SecretPersistType persist_type; + //! The type of secret + string type; + //! Which storage to use (empty for default) + string storage_type; + //! (optionally) the provider of the secret credentials + string provider; + //! (optionally) the name of the secret + string name; + //! (optionally) the scope of the secret + vector scope; + //! Named parameter list (if any) + case_insensitive_map_t options; + + unique_ptr Copy() const; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/parser/parsed_data/create_table_info.hpp b/src/include/duckdb/parser/parsed_data/create_table_info.hpp index 395f78bac410..20a8bd7886de 100644 --- a/src/include/duckdb/parser/parsed_data/create_table_info.hpp +++ b/src/include/duckdb/parser/parsed_data/create_table_info.hpp @@ -30,7 +30,7 @@ struct CreateTableInfo : public CreateInfo { ColumnList columns; //! List of constraints on the table vector> constraints; - //! CREATE TABLE from QUERY + //! CREATE TABLE as QUERY unique_ptr query; public: @@ -38,6 +38,8 @@ struct CreateTableInfo : public CreateInfo { DUCKDB_API void Serialize(Serializer &serializer) const override; DUCKDB_API static unique_ptr Deserialize(Deserializer &deserializer); + + string ToString() const override; }; } // namespace duckdb diff --git a/src/include/duckdb/parser/parsed_data/create_type_info.hpp b/src/include/duckdb/parser/parsed_data/create_type_info.hpp index c8ab662f85c9..79f1efaaf198 100644 --- a/src/include/duckdb/parser/parsed_data/create_type_info.hpp +++ b/src/include/duckdb/parser/parsed_data/create_type_info.hpp @@ -31,6 +31,8 @@ struct CreateTypeInfo : public CreateInfo { DUCKDB_API void Serialize(Serializer &serializer) const override; DUCKDB_API static unique_ptr Deserialize(Deserializer &deserializer); + + string ToString() const override; }; } // namespace duckdb diff --git a/src/include/duckdb/parser/parsed_data/create_view_info.hpp b/src/include/duckdb/parser/parsed_data/create_view_info.hpp index c70a273c092c..a6a4c39b4a07 100644 --- a/src/include/duckdb/parser/parsed_data/create_view_info.hpp +++ b/src/include/duckdb/parser/parsed_data/create_view_info.hpp @@ -27,6 +27,8 @@ struct CreateViewInfo : public CreateInfo { vector aliases; //! Return types vector types; + //! Names of the query + vector names; //! The SelectStatement of the view unique_ptr query; @@ -37,6 +39,8 @@ struct CreateViewInfo : public CreateInfo { DUCKDB_API static unique_ptr FromSelect(ClientContext &context, unique_ptr info); //! Gets a bound CreateViewInfo object from a CREATE VIEW statement DUCKDB_API static unique_ptr FromCreateView(ClientContext &context, const string &sql); + //! Parse a SELECT statement from a SQL string + DUCKDB_API static unique_ptr ParseSelect(const string &sql); DUCKDB_API void Serialize(Serializer &serializer) const override; DUCKDB_API static unique_ptr Deserialize(Deserializer &deserializer); diff --git a/src/include/duckdb/parser/parsed_data/drop_info.hpp b/src/include/duckdb/parser/parsed_data/drop_info.hpp index 57322fa55f34..841690135d00 100644 --- a/src/include/duckdb/parser/parsed_data/drop_info.hpp +++ b/src/include/duckdb/parser/parsed_data/drop_info.hpp @@ -10,9 +10,11 @@ #include "duckdb/common/enums/catalog_type.hpp" #include "duckdb/parser/parsed_data/parse_info.hpp" +#include "duckdb/parser/parsed_data/extra_drop_info.hpp" #include "duckdb/common/enums/on_entry_not_found.hpp" namespace duckdb { +struct ExtraDropInfo; struct DropInfo : public ParseInfo { public: @@ -20,6 +22,7 @@ struct DropInfo : public ParseInfo { public: DropInfo(); + DropInfo(const DropInfo &info); //! The catalog type to drop CatalogType type; @@ -36,9 +39,11 @@ struct DropInfo : public ParseInfo { bool cascade = false; //! Allow dropping of internal system entries bool allow_drop_internal = false; + //! Extra info related to this drop + unique_ptr extra_drop_info; public: - unique_ptr Copy() const; + virtual unique_ptr Copy() const; void Serialize(Serializer &serializer) const override; static unique_ptr Deserialize(Deserializer &deserializer); diff --git a/src/include/duckdb/parser/parsed_data/extra_drop_info.hpp b/src/include/duckdb/parser/parsed_data/extra_drop_info.hpp new file mode 100644 index 000000000000..83a5834ee409 --- /dev/null +++ b/src/include/duckdb/parser/parsed_data/extra_drop_info.hpp @@ -0,0 +1,66 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/parser/parsed_data/drop_info.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/main/secret/secret.hpp" +#include "duckdb/common/enums/catalog_type.hpp" +#include "duckdb/parser/parsed_data/parse_info.hpp" +#include "duckdb/common/enums/on_entry_not_found.hpp" + +namespace duckdb { + +enum class ExtraDropInfoType : uint8_t { + INVALID = 0, + + SECRET_INFO = 1 +}; + +struct ExtraDropInfo { + explicit ExtraDropInfo(ExtraDropInfoType info_type) : info_type(info_type) { + } + virtual ~ExtraDropInfo() { + } + + ExtraDropInfoType info_type; + +public: + template + TARGET &Cast() { + D_ASSERT(dynamic_cast(this)); + return reinterpret_cast(*this); + } + + template + const TARGET &Cast() const { + D_ASSERT(dynamic_cast(this)); + return reinterpret_cast(*this); + } + virtual unique_ptr Copy() const = 0; + + virtual void Serialize(Serializer &serializer) const; + static unique_ptr Deserialize(Deserializer &deserializer); +}; + +struct ExtraDropSecretInfo : public ExtraDropInfo { + ExtraDropSecretInfo(); + ExtraDropSecretInfo(const ExtraDropSecretInfo &info); + + //! Secret Persistence + SecretPersistType persist_mode; + //! (optional) the name of the storage to drop from + string secret_storage; + +public: + virtual unique_ptr Copy() const override; + + virtual void Serialize(Serializer &serializer) const override; + static unique_ptr Deserialize(Deserializer &deserializer); +}; + +} // namespace duckdb diff --git a/src/include/duckdb/parser/parsed_data/parse_info.hpp b/src/include/duckdb/parser/parsed_data/parse_info.hpp index 3cacbd7a3665..c99297adfdf5 100644 --- a/src/include/duckdb/parser/parsed_data/parse_info.hpp +++ b/src/include/duckdb/parser/parsed_data/parse_info.hpp @@ -17,6 +17,7 @@ enum class ParseInfoType : uint8_t { ATTACH_INFO, COPY_INFO, CREATE_INFO, + CREATE_SECRET_INFO, DETACH_INFO, DROP_INFO, BOUND_EXPORT_DATA, @@ -24,7 +25,8 @@ enum class ParseInfoType : uint8_t { PRAGMA_INFO, SHOW_SELECT_INFO, TRANSACTION_INFO, - VACUUM_INFO + VACUUM_INFO, + COMMENT_ON_INFO }; struct ParseInfo { diff --git a/src/include/duckdb/parser/parsed_data/pragma_info.hpp b/src/include/duckdb/parser/parsed_data/pragma_info.hpp index 567358803715..5f76623b7265 100644 --- a/src/include/duckdb/parser/parsed_data/pragma_info.hpp +++ b/src/include/duckdb/parser/parsed_data/pragma_info.hpp @@ -28,16 +28,20 @@ struct PragmaInfo : public ParseInfo { //! Name of the PRAGMA statement string name; //! Parameter list (if any) - vector parameters; + vector> parameters; //! Named parameter list (if any) - named_parameter_map_t named_parameters; + case_insensitive_map_t> named_parameters; public: unique_ptr Copy() const { auto result = make_uniq(); result->name = name; - result->parameters = parameters; - result->named_parameters = named_parameters; + for (auto ¶m : parameters) { + result->parameters.push_back(param->Copy()); + } + for (auto &entry : named_parameters) { + result->named_parameters.insert(make_pair(entry.first, entry.second->Copy())); + } return result; } diff --git a/src/include/duckdb/parser/parsed_expression.hpp b/src/include/duckdb/parser/parsed_expression.hpp index 148b7ea9391e..46acfe9e60f8 100644 --- a/src/include/duckdb/parser/parsed_expression.hpp +++ b/src/include/duckdb/parser/parsed_expression.hpp @@ -33,9 +33,6 @@ class ParsedExpression : public BaseExpression { ParsedExpression(ExpressionType type, ExpressionClass expression_class) : BaseExpression(type, expression_class) { } - //! The location in the query (if any) - idx_t query_location = DConstants::INVALID_INDEX; - public: bool IsAggregate() const override; bool IsWindow() const override; @@ -63,6 +60,7 @@ class ParsedExpression : public BaseExpression { type = other.type; expression_class = other.expression_class; alias = other.alias; + query_location = other.query_location; } }; diff --git a/src/include/duckdb/parser/parser_extension.hpp b/src/include/duckdb/parser/parser_extension.hpp index 50fec976d9d1..d00b30d95398 100644 --- a/src/include/duckdb/parser/parser_extension.hpp +++ b/src/include/duckdb/parser/parser_extension.hpp @@ -51,6 +51,8 @@ struct ParserExtensionParseResult { unique_ptr parse_data; //! The error message (if unsuccessful) string error; + //! The error location (if unsuccessful) + optional_idx error_location; }; typedef ParserExtensionParseResult (*parse_function_t)(ParserExtensionInfo *info, const string &query); diff --git a/src/include/duckdb/parser/qualified_name.hpp b/src/include/duckdb/parser/qualified_name.hpp index d389cffb7b5c..ee5947806669 100644 --- a/src/include/duckdb/parser/qualified_name.hpp +++ b/src/include/duckdb/parser/qualified_name.hpp @@ -9,7 +9,7 @@ #pragma once #include "duckdb/common/string.hpp" -#include "duckdb/common/exception.hpp" +#include "duckdb/common/exception/parser_exception.hpp" #include "duckdb/parser/keyword_helper.hpp" #include "duckdb/common/string_util.hpp" diff --git a/src/include/duckdb/parser/query_error_context.hpp b/src/include/duckdb/parser/query_error_context.hpp index 79a5dc409e8a..fd512d7e283f 100644 --- a/src/include/duckdb/parser/query_error_context.hpp +++ b/src/include/duckdb/parser/query_error_context.hpp @@ -11,38 +11,21 @@ #include "duckdb/common/common.hpp" #include "duckdb/common/vector.hpp" #include "duckdb/common/exception_format_value.hpp" -#include "duckdb/common/optional_ptr.hpp" +#include "duckdb/common/optional_idx.hpp" namespace duckdb { -class SQLStatement; class QueryErrorContext { public: - explicit QueryErrorContext(optional_ptr statement_ = nullptr, - idx_t query_location_ = DConstants::INVALID_INDEX) - : statement(statement_), query_location(query_location_) { + explicit QueryErrorContext(optional_idx query_location_ = optional_idx()) : query_location(query_location_) { } - //! The query statement - optional_ptr statement; //! The location in which the error should be thrown - idx_t query_location; + optional_idx query_location; public: - DUCKDB_API static string Format(const string &query, const string &error_message, int error_location); - - DUCKDB_API string FormatErrorRecursive(const string &msg, vector &values); - template - string FormatErrorRecursive(const string &msg, vector &values, T param, Args... params) { - values.push_back(ExceptionFormatValue::CreateFormatValue(param)); - return FormatErrorRecursive(msg, values, params...); - } - - template - string FormatError(const string &msg, Args... params) { - vector values; - return FormatErrorRecursive(msg, values, params...); - } + static string Format(const string &query, const string &error_message, optional_idx error_loc, + bool add_line_indicator = true); }; } // namespace duckdb diff --git a/src/include/duckdb/parser/query_node/set_operation_node.hpp b/src/include/duckdb/parser/query_node/set_operation_node.hpp index 2582cdb8dfff..02f2d371d400 100644 --- a/src/include/duckdb/parser/query_node/set_operation_node.hpp +++ b/src/include/duckdb/parser/query_node/set_operation_node.hpp @@ -25,6 +25,8 @@ class SetOperationNode : public QueryNode { //! The type of set operation SetOperationType setop_type = SetOperationType::NONE; + //! whether the ALL modifier was used or not + bool setop_all = false; //! The left side of the set operation unique_ptr left; //! The right side of the set operation diff --git a/src/include/duckdb/parser/statement/copy_database_statement.hpp b/src/include/duckdb/parser/statement/copy_database_statement.hpp new file mode 100644 index 000000000000..a1f2cfe4aec8 --- /dev/null +++ b/src/include/duckdb/parser/statement/copy_database_statement.hpp @@ -0,0 +1,40 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/parser/statement/copy_database_statement.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/parser/parsed_data/copy_info.hpp" +#include "duckdb/parser/query_node.hpp" +#include "duckdb/parser/sql_statement.hpp" + +namespace duckdb { + +enum class CopyDatabaseType { COPY_SCHEMA, COPY_DATA }; + +class CopyDatabaseStatement : public SQLStatement { +public: + static constexpr const StatementType TYPE = StatementType::COPY_DATABASE_STATEMENT; + +public: + CopyDatabaseStatement(string from_database, string to_database, CopyDatabaseType copy_type); + + string from_database; + string to_database; + CopyDatabaseType copy_type; + + string ToString() const override; + +protected: + CopyDatabaseStatement(const CopyDatabaseStatement &other); + +public: + DUCKDB_API unique_ptr Copy() const override; + +private: +}; +} // namespace duckdb diff --git a/src/include/duckdb/parser/statement/list.hpp b/src/include/duckdb/parser/statement/list.hpp index b85cc7c64702..d9d04e17c307 100644 --- a/src/include/duckdb/parser/statement/list.hpp +++ b/src/include/duckdb/parser/statement/list.hpp @@ -2,6 +2,7 @@ #include "duckdb/parser/statement/attach_statement.hpp" #include "duckdb/parser/statement/call_statement.hpp" #include "duckdb/parser/statement/copy_statement.hpp" +#include "duckdb/parser/statement/copy_database_statement.hpp" #include "duckdb/parser/statement/create_statement.hpp" #include "duckdb/parser/statement/delete_statement.hpp" #include "duckdb/parser/statement/detach_statement.hpp" @@ -18,7 +19,6 @@ #include "duckdb/parser/statement/relation_statement.hpp" #include "duckdb/parser/statement/select_statement.hpp" #include "duckdb/parser/statement/set_statement.hpp" -#include "duckdb/parser/statement/show_statement.hpp" #include "duckdb/parser/statement/transaction_statement.hpp" #include "duckdb/parser/statement/update_statement.hpp" #include "duckdb/parser/statement/vacuum_statement.hpp" diff --git a/src/include/duckdb/parser/statement/set_statement.hpp b/src/include/duckdb/parser/statement/set_statement.hpp index 0e1c9cefeb80..d477c9cc17bd 100644 --- a/src/include/duckdb/parser/statement/set_statement.hpp +++ b/src/include/duckdb/parser/statement/set_statement.hpp @@ -12,6 +12,7 @@ #include "duckdb/common/enums/set_type.hpp" #include "duckdb/parser/sql_statement.hpp" #include "duckdb/common/types/value.hpp" +#include "duckdb/parser/parsed_expression.hpp" namespace duckdb { @@ -34,16 +35,16 @@ class SetStatement : public SQLStatement { class SetVariableStatement : public SetStatement { public: - SetVariableStatement(std::string name_p, Value value_p, SetScope scope_p); + SetVariableStatement(std::string name_p, unique_ptr value_p, SetScope scope_p); protected: - SetVariableStatement(const SetVariableStatement &other) = default; + SetVariableStatement(const SetVariableStatement &other); public: unique_ptr Copy() const override; public: - Value value; + unique_ptr value; }; class ResetVariableStatement : public SetStatement { diff --git a/src/include/duckdb/parser/statement/show_statement.hpp b/src/include/duckdb/parser/statement/show_statement.hpp deleted file mode 100644 index ed5021de4625..000000000000 --- a/src/include/duckdb/parser/statement/show_statement.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb/parser/statement/show_statement.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb/parser/sql_statement.hpp" -#include "duckdb/parser/parsed_data/show_select_info.hpp" - -namespace duckdb { - -class ShowStatement : public SQLStatement { -public: - static constexpr const StatementType TYPE = StatementType::SHOW_STATEMENT; - -public: - ShowStatement(); - - unique_ptr info; - -protected: - ShowStatement(const ShowStatement &other); - -public: - unique_ptr Copy() const override; -}; - -} // namespace duckdb diff --git a/src/include/duckdb/parser/tableref.hpp b/src/include/duckdb/parser/tableref.hpp index ee4b88208e99..57a7e48548f2 100644 --- a/src/include/duckdb/parser/tableref.hpp +++ b/src/include/duckdb/parser/tableref.hpp @@ -9,6 +9,7 @@ #pragma once #include "duckdb/common/common.hpp" +#include "duckdb/common/optional_idx.hpp" #include "duckdb/common/enums/tableref_type.hpp" #include "duckdb/parser/parsed_data/sample_options.hpp" @@ -30,7 +31,7 @@ class TableRef { //! Sample options (if any) unique_ptr sample; //! The location in the query (if any) - idx_t query_location = DConstants::INVALID_INDEX; + optional_idx query_location; public: //! Convert the object to a string diff --git a/src/include/duckdb/parser/tableref/emptytableref.hpp b/src/include/duckdb/parser/tableref/emptytableref.hpp index 1f4758e43f16..20483e561038 100644 --- a/src/include/duckdb/parser/tableref/emptytableref.hpp +++ b/src/include/duckdb/parser/tableref/emptytableref.hpp @@ -14,10 +14,10 @@ namespace duckdb { class EmptyTableRef : public TableRef { public: - static constexpr const TableReferenceType TYPE = TableReferenceType::EMPTY; + static constexpr const TableReferenceType TYPE = TableReferenceType::EMPTY_FROM; public: - EmptyTableRef() : TableRef(TableReferenceType::EMPTY) { + EmptyTableRef() : TableRef(TableReferenceType::EMPTY_FROM) { } public: diff --git a/src/include/duckdb/parser/tableref/list.hpp b/src/include/duckdb/parser/tableref/list.hpp index 5500ff22061d..c6606dfbc829 100644 --- a/src/include/duckdb/parser/tableref/list.hpp +++ b/src/include/duckdb/parser/tableref/list.hpp @@ -3,5 +3,6 @@ #include "duckdb/parser/tableref/expressionlistref.hpp" #include "duckdb/parser/tableref/joinref.hpp" #include "duckdb/parser/tableref/pivotref.hpp" +#include "duckdb/parser/tableref/showref.hpp" #include "duckdb/parser/tableref/subqueryref.hpp" #include "duckdb/parser/tableref/table_function_ref.hpp" diff --git a/src/include/duckdb/parser/tableref/showref.hpp b/src/include/duckdb/parser/tableref/showref.hpp new file mode 100644 index 000000000000..fdd98e21bdf4 --- /dev/null +++ b/src/include/duckdb/parser/tableref/showref.hpp @@ -0,0 +1,47 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/parser/tableref/showref.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/parser/tableref.hpp" +#include "duckdb/parser/parsed_expression.hpp" +#include "duckdb/common/types.hpp" +#include "duckdb/common/vector.hpp" +#include "duckdb/parser/query_node.hpp" + +namespace duckdb { + +enum class ShowType : uint8_t { SUMMARY, DESCRIBE }; + +//! Represents a SHOW/DESCRIBE/SUMMARIZE statement +class ShowRef : public TableRef { +public: + static constexpr const TableReferenceType TYPE = TableReferenceType::SHOW_REF; + +public: + ShowRef(); + + //! The table name (if any) + string table_name; + //! The QueryNode of select query (if any) + unique_ptr query; + //! Whether or not we are requesting a summary or a describe + ShowType show_type; + +public: + string ToString() const override; + bool Equals(const TableRef &other_p) const override; + + unique_ptr Copy() override; + + //! Deserializes a blob back into a ExpressionListRef + void Serialize(Serializer &serializer) const override; + static unique_ptr Deserialize(Deserializer &source); +}; + +} // namespace duckdb diff --git a/src/include/duckdb/parser/tokens.hpp b/src/include/duckdb/parser/tokens.hpp index 083630dd0102..e9d3bb56ca7d 100644 --- a/src/include/duckdb/parser/tokens.hpp +++ b/src/include/duckdb/parser/tokens.hpp @@ -31,7 +31,6 @@ class UpdateStatement; class PrepareStatement; class ExecuteStatement; class PragmaStatement; -class ShowStatement; class ExplainStatement; class ExportStatement; class VacuumStatement; @@ -42,6 +41,7 @@ class ResetVariableStatement; class LoadStatement; class LogicalPlanStatement; class MultiStatement; +class CopyDatabaseStatement; //===--------------------------------------------------------------------===// // Query Node @@ -97,6 +97,7 @@ class TableFunctionRef; class EmptyTableRef; class ExpressionListRef; class PivotRef; +class ShowRef; //===--------------------------------------------------------------------===// // Other diff --git a/src/include/duckdb/parser/transformer.hpp b/src/include/duckdb/parser/transformer.hpp index 063f30c816a9..59d86d1e4813 100644 --- a/src/include/duckdb/parser/transformer.hpp +++ b/src/include/duckdb/parser/transformer.hpp @@ -16,6 +16,7 @@ #include "duckdb/common/unordered_map.hpp" #include "duckdb/parser/group_by_node.hpp" #include "duckdb/parser/parsed_data/create_info.hpp" +#include "duckdb/parser/parsed_data/create_secret_info.hpp" #include "duckdb/parser/qualified_name.hpp" #include "duckdb/parser/query_node.hpp" #include "duckdb/common/case_insensitive_map.hpp" @@ -43,6 +44,7 @@ class OnConflictInfo; class UpdateSetInfo; struct ParserOptions; struct PivotColumn; +struct PivotColumnEntry; //! The transformer class is responsible for transforming the internal Postgres //! parser representation into the DuckDB representation @@ -79,7 +81,7 @@ class Transformer { //! Last parameter type PreparedParamType last_param_type = PreparedParamType::INVALID; //! Holds window expressions defined by name. We need those when transforming the expressions referring to them. - unordered_map window_clauses; + case_insensitive_map_t window_clauses; //! The set of pivot entries to create vector> pivot_entries; //! Sets of stored CTEs, if any @@ -137,6 +139,8 @@ class Transformer { unique_ptr TransformCreateFunction(duckdb_libpgquery::PGCreateFunctionStmt &stmt); //! Transform a Postgres duckdb_libpgquery::T_PGCreateTypeStmt node into CreateStatement unique_ptr TransformCreateType(duckdb_libpgquery::PGCreateTypeStmt &stmt); + //! Transform a Postgres duckdb_libpgquery::T_PGCreateTypeStmt node into CreateStatement + unique_ptr TransformCommentOn(duckdb_libpgquery::PGCommentOnStmt &stmt); //! Transform a Postgres duckdb_libpgquery::T_PGAlterSeqStmt node into CreateStatement unique_ptr TransformAlterSequence(duckdb_libpgquery::PGAlterSeqStmt &stmt); //! Transform a Postgres duckdb_libpgquery::T_PGDropStmt node into a Drop[Table,Schema]Statement @@ -153,6 +157,7 @@ class Transformer { //! Transform a Postgres duckdb_libpgquery::T_PGCopyStmt node into a CopyStatement unique_ptr TransformCopy(duckdb_libpgquery::PGCopyStmt &stmt); void TransformCopyOptions(CopyInfo &info, optional_ptr options); + void TransformCreateSecretOptions(CreateSecretInfo &info, optional_ptr options); //! Transform a Postgres duckdb_libpgquery::T_PGTransactionStmt node into a TransactionStatement unique_ptr TransformTransaction(duckdb_libpgquery::PGTransactionStmt &stmt); //! Transform a Postgres T_DeleteStatement node into a DeleteStatement @@ -167,11 +172,14 @@ class Transformer { unique_ptr TransformImport(duckdb_libpgquery::PGImportStmt &stmt); unique_ptr TransformExplain(duckdb_libpgquery::PGExplainStmt &stmt); unique_ptr TransformVacuum(duckdb_libpgquery::PGVacuumStmt &stmt); - unique_ptr TransformShow(duckdb_libpgquery::PGVariableShowStmt &stmt); - unique_ptr TransformShowSelect(duckdb_libpgquery::PGVariableShowSelectStmt &stmt); + unique_ptr TransformShow(duckdb_libpgquery::PGVariableShowStmt &stmt); + unique_ptr TransformShowSelect(duckdb_libpgquery::PGVariableShowSelectStmt &stmt); unique_ptr TransformAttach(duckdb_libpgquery::PGAttachStmt &stmt); unique_ptr TransformDetach(duckdb_libpgquery::PGDetachStmt &stmt); unique_ptr TransformUse(duckdb_libpgquery::PGUseStmt &stmt); + unique_ptr TransformCopyDatabase(duckdb_libpgquery::PGCopyDatabaseStmt &stmt); + unique_ptr TransformSecret(duckdb_libpgquery::PGCreateSecretStmt &stmt); + unique_ptr TransformDropSecret(duckdb_libpgquery::PGDropSecretStmt &stmt); unique_ptr TransformPrepare(duckdb_libpgquery::PGPrepareStmt &stmt); unique_ptr TransformExecute(duckdb_libpgquery::PGExecuteStmt &stmt); @@ -181,6 +189,8 @@ class Transformer { unique_ptr CreatePivotStatement(unique_ptr statement); PivotColumn TransformPivotColumn(duckdb_libpgquery::PGPivot &pivot); vector TransformPivotList(duckdb_libpgquery::PGList &list); + static void TransformPivotInList(unique_ptr &expr, PivotColumnEntry &entry, + bool root_entry = true); //===--------------------------------------------------------------------===// // SetStatement Transform @@ -370,6 +380,13 @@ class Transformer { Vector PGListToVector(optional_ptr column_list, idx_t &size); vector TransformConflictTarget(duckdb_libpgquery::PGList &list); + void ParseGenericOptionListEntry(case_insensitive_map_t> &result_options, string &name, + duckdb_libpgquery::PGNode *arg); + +public: + static void SetQueryLocation(ParsedExpression &expr, int query_location); + static void SetQueryLocation(TableRef &ref, int query_location); + private: //! Current stack depth idx_t stack_depth; diff --git a/src/include/duckdb/planner/bind_context.hpp b/src/include/duckdb/planner/bind_context.hpp index a0f5461c9a0e..d87a54a1cfa5 100644 --- a/src/include/duckdb/planner/bind_context.hpp +++ b/src/include/duckdb/planner/bind_context.hpp @@ -11,6 +11,7 @@ #include "duckdb/catalog/catalog.hpp" #include "duckdb/common/case_insensitive_map.hpp" #include "duckdb/common/reference_map.hpp" +#include "duckdb/common/exception/binder_exception.hpp" #include "duckdb/parser/expression/columnref_expression.hpp" #include "duckdb/parser/parsed_expression.hpp" #include "duckdb/parser/qualified_name_set.hpp" @@ -37,6 +38,8 @@ struct UsingColumnSet { //! encountered during the binding process. class BindContext { public: + BindContext(Binder &binder); + //! Keep track of recursive CTE references case_insensitive_map_t> cte_references; @@ -145,12 +148,13 @@ class BindContext { //! Gets a binding of the specified name. Returns a nullptr and sets the out_error if the binding could not be //! found. - optional_ptr GetBinding(const string &name, string &out_error); + optional_ptr GetBinding(const string &name, ErrorData &out_error); private: void AddBinding(const string &alias, unique_ptr binding); private: + Binder &binder; //! The set of bindings case_insensitive_map_t> bindings; //! The list of bindings in insertion order diff --git a/src/include/duckdb/planner/binder.hpp b/src/include/duckdb/planner/binder.hpp index 88df886cbd7d..8c95e33788b2 100644 --- a/src/include/duckdb/planner/binder.hpp +++ b/src/include/duckdb/planner/binder.hpp @@ -12,6 +12,7 @@ #include "duckdb/common/enums/join_type.hpp" #include "duckdb/common/enums/statement_type.hpp" #include "duckdb/common/unordered_map.hpp" +#include "duckdb/common/exception/binder_exception.hpp" #include "duckdb/parser/column_definition.hpp" #include "duckdb/parser/query_node.hpp" #include "duckdb/parser/result_modifier.hpp" @@ -48,6 +49,7 @@ struct BoundCreateTableInfo; struct BoundCreateFunctionInfo; struct CommonTableExpressionInfo; struct BoundParameterMap; +struct BoundPragmaInfo; enum class BindingMode : uint8_t { STANDARD_BINDING, EXTRACT_NAMES }; @@ -105,6 +107,8 @@ class Binder : public std::enable_shared_from_this { //! The intermediate lambda bindings to bind nested lambdas (if any) optional_ptr> lambda_bindings; + unordered_map recursive_ctes; + public: DUCKDB_API BoundStatement Bind(SQLStatement &statement); DUCKDB_API BoundStatement Bind(QueryNode &node); @@ -112,8 +116,6 @@ class Binder : public std::enable_shared_from_this { unique_ptr BindCreateTableInfo(unique_ptr info); unique_ptr BindCreateTableInfo(unique_ptr info, SchemaCatalogEntry &schema); - vector> BindCreateIndexExpressions(TableCatalogEntry &table, CreateIndexInfo &info); - void BindCreateViewInfo(CreateViewInfo &base); SchemaCatalogEntry &BindSchema(CreateInfo &info); SchemaCatalogEntry &BindCreateFunctionInfo(CreateInfo &info); @@ -121,6 +123,7 @@ class Binder : public std::enable_shared_from_this { //! Check usage, and cast named parameters to their types static void BindNamedParameters(named_parameter_type_map_t &types, named_parameter_map_t &values, QueryErrorContext &error_context, string &func_name); + unique_ptr BindPragma(PragmaInfo &info, QueryErrorContext error_context); unique_ptr Bind(TableRef &ref); unique_ptr CreatePlan(BoundTableRef &ref); @@ -150,23 +153,6 @@ class Binder : public std::enable_shared_from_this { //! Add a correlated column to this binder (if it does not exist) void AddCorrelatedColumn(const CorrelatedColumnInfo &info); - string FormatError(ParsedExpression &expr_context, const string &message); - string FormatError(TableRef &ref_context, const string &message); - - string FormatErrorRecursive(idx_t query_location, const string &message, vector &values); - template - string FormatErrorRecursive(idx_t query_location, const string &msg, vector &values, T param, - ARGS... params) { - values.push_back(ExceptionFormatValue::CreateFormatValue(param)); - return FormatErrorRecursive(query_location, msg, values, params...); - } - - template - string FormatError(idx_t query_location, const string &msg, ARGS... params) { - vector values; - return FormatErrorRecursive(query_location, msg, values, params...); - } - unique_ptr BindUpdateSet(LogicalOperator &op, unique_ptr root, UpdateSetInfo &set_info, TableCatalogEntry &table, vector &columns); @@ -178,11 +164,11 @@ class Binder : public std::enable_shared_from_this { static void BindLogicalType(ClientContext &context, LogicalType &type, optional_ptr catalog = nullptr, const string &schema = INVALID_SCHEMA); - bool HasMatchingBinding(const string &table_name, const string &column_name, string &error_message); + bool HasMatchingBinding(const string &table_name, const string &column_name, ErrorData &error); bool HasMatchingBinding(const string &schema_name, const string &table_name, const string &column_name, - string &error_message); + ErrorData &error); bool HasMatchingBinding(const string &catalog_name, const string &schema_name, const string &table_name, - const string &column_name, string &error_message); + const string &column_name, ErrorData &error); void SetBindingMode(BindingMode mode); BindingMode GetBindingMode(); @@ -193,6 +179,7 @@ class Binder : public std::enable_shared_from_this { } void SetCanContainNulls(bool can_contain_nulls); + void SetAlwaysRequireRebind(); private: //! The parent binder (if any) @@ -254,7 +241,6 @@ class Binder : public std::enable_shared_from_this { BoundStatement Bind(ExplainStatement &stmt); BoundStatement Bind(VacuumStatement &stmt); BoundStatement Bind(RelationStatement &stmt); - BoundStatement Bind(ShowStatement &stmt); BoundStatement Bind(CallStatement &stmt); BoundStatement Bind(ExportStatement &stmt); BoundStatement Bind(ExtensionStatement &stmt); @@ -265,6 +251,7 @@ class Binder : public std::enable_shared_from_this { BoundStatement Bind(LogicalPlanStatement &stmt); BoundStatement Bind(AttachStatement &stmt); BoundStatement Bind(DetachStatement &stmt); + BoundStatement Bind(CopyDatabaseStatement &stmt); BoundStatement BindReturning(vector> returning_list, TableCatalogEntry &table, const string &alias, idx_t update_table_index, @@ -292,6 +279,7 @@ class Binder : public std::enable_shared_from_this { unique_ptr Bind(EmptyTableRef &ref); unique_ptr Bind(ExpressionListRef &ref); unique_ptr Bind(PivotRef &expr); + unique_ptr Bind(ShowRef &ref); unique_ptr BindPivot(PivotRef &expr, vector> all_columns); unique_ptr BindUnpivot(Binder &child_binder, PivotRef &expr, @@ -302,9 +290,9 @@ class Binder : public std::enable_shared_from_this { bool BindTableFunctionParameters(TableFunctionCatalogEntry &table_function, vector> &expressions, vector &arguments, vector ¶meters, named_parameter_map_t &named_parameters, - unique_ptr &subquery, string &error); + unique_ptr &subquery, ErrorData &error); bool BindTableInTableOutFunction(vector> &expressions, - unique_ptr &subquery, string &error); + unique_ptr &subquery, ErrorData &error); unique_ptr BindTableFunction(TableFunction &function, vector parameters); unique_ptr BindTableFunctionInternal(TableFunction &table_function, const string &function_name, vector parameters, @@ -325,9 +313,9 @@ class Binder : public std::enable_shared_from_this { BoundStatement BindCopyFrom(CopyStatement &stmt); void BindModifiers(OrderBinder &order_binder, QueryNode &statement, BoundQueryNode &result); - void BindModifierTypes(BoundQueryNode &result, const vector &sql_types, idx_t projection_index); + void BindModifierTypes(BoundQueryNode &result, const vector &sql_types, idx_t projection_index, + const vector &expansion_count = {}); - BoundStatement BindSummarize(ShowStatement &stmt); unique_ptr BindLimit(OrderBinder &order_binder, LimitModifier &limit_mod); unique_ptr BindLimitPercent(OrderBinder &order_binder, LimitPercentModifier &limit_mod); unique_ptr BindOrderExpression(OrderBinder &order_binder, unique_ptr expr); @@ -368,6 +356,15 @@ class Binder : public std::enable_shared_from_this { unique_ptr BindSelectNode(SelectNode &statement, unique_ptr from_table); + unique_ptr BindCopyDatabaseSchema(CopyDatabaseStatement &stmt, Catalog &from_database, + Catalog &to_database); + unique_ptr BindCopyDatabaseData(CopyDatabaseStatement &stmt, Catalog &from_database, + Catalog &to_database); + + unique_ptr BindShowQuery(ShowRef &ref); + unique_ptr BindShowTable(ShowRef &ref); + unique_ptr BindSummarize(ShowRef &ref); + public: // This should really be a private constructor, but make_shared does not allow it... // If you are thinking about calling this, you should probably call Binder::CreateBinder diff --git a/src/include/duckdb/planner/bound_result_modifier.hpp b/src/include/duckdb/planner/bound_result_modifier.hpp index a44922d73cc0..31d3d612beb4 100644 --- a/src/include/duckdb/planner/bound_result_modifier.hpp +++ b/src/include/duckdb/planner/bound_result_modifier.hpp @@ -98,6 +98,10 @@ class BoundOrderModifier : public BoundResultModifier { void Serialize(Serializer &serializer) const; static unique_ptr Deserialize(Deserializer &deserializer); + + //! Remove unneeded/duplicate order elements. + //! Returns true of orders is not empty. + bool Simplify(const vector> &groups); }; enum class DistinctType : uint8_t { DISTINCT = 0, DISTINCT_ON = 1 }; diff --git a/src/include/duckdb/planner/expression.hpp b/src/include/duckdb/planner/expression.hpp index 208e9b5cbf42..3cfa825d8475 100644 --- a/src/include/duckdb/planner/expression.hpp +++ b/src/include/duckdb/planner/expression.hpp @@ -32,7 +32,8 @@ class Expression : public BaseExpression { bool HasSubquery() const override; bool IsScalar() const override; bool HasParameter() const override; - virtual bool HasSideEffects() const; + virtual bool IsVolatile() const; + virtual bool IsConsistent() const; virtual bool PropagatesNullValues() const; virtual bool IsFoldable() const; diff --git a/src/include/duckdb/planner/expression/bound_cast_expression.hpp b/src/include/duckdb/planner/expression/bound_cast_expression.hpp index 595f6267a5e1..2881cedcba4c 100644 --- a/src/include/duckdb/planner/expression/bound_cast_expression.hpp +++ b/src/include/duckdb/planner/expression/bound_cast_expression.hpp @@ -40,6 +40,10 @@ class BoundCastExpression : public Expression { //! Cast an expression to the specified SQL type if required DUCKDB_API static unique_ptr AddCastToType(ClientContext &context, unique_ptr expr, const LogicalType &target_type, bool try_cast = false); + + //! If the expression returns an array, cast it to return a list with the same child type. Otherwise do nothing. + DUCKDB_API static unique_ptr AddArrayCastToList(ClientContext &context, unique_ptr expr); + //! Returns true if a cast is invertible (i.e. CAST(s -> t -> s) = s for all values of s). This is not true for e.g. //! boolean casts, because that can be e.g. -1 -> TRUE -> 1. This is necessary to prevent some optimizer bugs. static bool CastIsInvertible(const LogicalType &source_type, const LogicalType &target_type); diff --git a/src/include/duckdb/planner/expression/bound_comparison_expression.hpp b/src/include/duckdb/planner/expression/bound_comparison_expression.hpp index 9e34e3cf35fe..25ac664ceb46 100644 --- a/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +++ b/src/include/duckdb/planner/expression/bound_comparison_expression.hpp @@ -33,6 +33,9 @@ class BoundComparisonExpression : public Expression { static unique_ptr Deserialize(Deserializer &deserializer); public: - static LogicalType BindComparison(LogicalType left_type, LogicalType right_type); + static LogicalType BindComparison(ClientContext &context, const LogicalType &left_type, + const LogicalType &right_type, ExpressionType comparison_type); + static bool TryBindComparison(ClientContext &context, const LogicalType &left_type, const LogicalType &right_type, + LogicalType &result_type, ExpressionType comparison_type); }; } // namespace duckdb diff --git a/src/include/duckdb/planner/expression/bound_function_expression.hpp b/src/include/duckdb/planner/expression/bound_function_expression.hpp index 27201cb5cf3e..34a87a4bdea6 100644 --- a/src/include/duckdb/planner/expression/bound_function_expression.hpp +++ b/src/include/duckdb/planner/expression/bound_function_expression.hpp @@ -34,7 +34,8 @@ class BoundFunctionExpression : public Expression { bool is_operator; public: - bool HasSideEffects() const override; + bool IsVolatile() const override; + bool IsConsistent() const override; bool IsFoldable() const override; string ToString() const override; bool PropagatesNullValues() const override; diff --git a/src/include/duckdb/planner/expression/bound_lambda_expression.hpp b/src/include/duckdb/planner/expression/bound_lambda_expression.hpp index 680650c2af68..ba2d8819ac71 100644 --- a/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +++ b/src/include/duckdb/planner/expression/bound_lambda_expression.hpp @@ -21,15 +21,17 @@ class BoundLambdaExpression : public Expression { BoundLambdaExpression(ExpressionType type_p, LogicalType return_type_p, unique_ptr lambda_expr_p, idx_t parameter_count_p); + //! The lambda expression that we'll use in the expression executor during execution unique_ptr lambda_expr; + //! Non-lambda constants, column references, and outer lambda parameters that we need to pass + //! into the execution chunk vector> captures; + //! The number of lhs parameters of the lambda function idx_t parameter_count; public: string ToString() const override; - bool Equals(const BaseExpression &other) const override; - unique_ptr Copy() override; void Serialize(Serializer &serializer) const override; diff --git a/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp b/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp index 6ede2532a5f8..f7b48ef07847 100644 --- a/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +++ b/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp @@ -14,21 +14,20 @@ namespace duckdb { //! A BoundLambdaRef expression represents a LambdaRef expression that was bound to an lambda parameter -//! in the lambda bindings vector. When capturing lambdas the BoundLambdaRef becomes a -//! BoundReferenceExpresssion, indexing the corresponding lambda parameter in the lambda bindings vector, +//! in the lambda bindings vector. When capturing lambdas, the BoundLambdaRef becomes a +//! BoundReferenceExpression, indexing the corresponding lambda parameter in the lambda bindings vector, //! which refers to the physical chunk of the lambda parameter during execution. class BoundLambdaRefExpression : public Expression { public: static constexpr const ExpressionClass TYPE = ExpressionClass::BOUND_LAMBDA_REF; public: - BoundLambdaRefExpression(LogicalType type, ColumnBinding binding, idx_t lambda_index, idx_t depth = 0); - BoundLambdaRefExpression(string alias, LogicalType type, ColumnBinding binding, idx_t lambda_index, - idx_t depth = 0); + BoundLambdaRefExpression(LogicalType type, ColumnBinding binding, idx_t lambda_idx, idx_t depth = 0); + BoundLambdaRefExpression(string alias, LogicalType type, ColumnBinding binding, idx_t lambda_idx, idx_t depth = 0); //! Column index set by the binder, used to generate the final BoundExpression ColumnBinding binding; //! The index of the lambda parameter in the lambda bindings vector - idx_t lambda_index; + idx_t lambda_idx; //! The subquery depth (i.e. depth 0 = current query, depth 1 = parent query, depth 2 = parent of parent, etc...). //! This is only non-zero for correlated expressions inside subqueries. idx_t depth; diff --git a/src/include/duckdb/planner/expression/bound_window_expression.hpp b/src/include/duckdb/planner/expression/bound_window_expression.hpp index a538344a1a76..670c2b5c55fc 100644 --- a/src/include/duckdb/planner/expression/bound_window_expression.hpp +++ b/src/include/duckdb/planner/expression/bound_window_expression.hpp @@ -40,9 +40,13 @@ class BoundWindowExpression : public Expression { unique_ptr filter_expr; //! True to ignore NULL values bool ignore_nulls; + //! Whether or not the aggregate function is distinct, only used for aggregates + bool distinct; //! The window boundaries WindowBoundary start = WindowBoundary::INVALID; WindowBoundary end = WindowBoundary::INVALID; + //! The EXCLUDE clause + WindowExcludeMode exclude_clause = WindowExcludeMode::NO_OTHER; unique_ptr start_expr; unique_ptr end_expr; @@ -50,6 +54,9 @@ class BoundWindowExpression : public Expression { unique_ptr offset_expr; unique_ptr default_expr; + //! Statistics belonging to the other expressions (start, end, offset, default) + vector> expr_stats; + public: bool IsWindow() const override { return true; @@ -60,6 +67,10 @@ class BoundWindowExpression : public Expression { string ToString() const override; + //! The number of ordering clauses the functions share + idx_t GetSharedOrders(const BoundWindowExpression &other) const; + + bool PartitionsAreEquivalent(const BoundWindowExpression &other) const; bool KeysAreCompatible(const BoundWindowExpression &other) const; bool Equals(const BaseExpression &other) const override; diff --git a/src/include/duckdb/planner/expression_binder.hpp b/src/include/duckdb/planner/expression_binder.hpp index 6df014d16f7d..b74e0d289705 100644 --- a/src/include/duckdb/planner/expression_binder.hpp +++ b/src/include/duckdb/planner/expression_binder.hpp @@ -10,11 +10,16 @@ #include "duckdb/common/exception.hpp" #include "duckdb/common/stack_checker.hpp" +#include "duckdb/common/exception/binder_exception.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/parser/expression/bound_expression.hpp" +#include "duckdb/parser/expression/lambdaref_expression.hpp" #include "duckdb/parser/parsed_expression.hpp" #include "duckdb/parser/tokens.hpp" #include "duckdb/planner/expression.hpp" +#include "duckdb/planner/expression/bound_lambda_expression.hpp" +#include "duckdb/function/scalar_function.hpp" namespace duckdb { @@ -32,23 +37,30 @@ struct DummyBinding; struct BoundColumnReferenceInfo { string name; - idx_t query_location; + optional_idx query_location; }; struct BindResult { BindResult() { } - explicit BindResult(string error) : error(error) { + explicit BindResult(const Exception &ex) : error(ex) { + } + explicit BindResult(const string &error_msg) : error(ExceptionType::BINDER, error_msg) { + } + explicit BindResult(ErrorData error) : error(std::move(error)) { } explicit BindResult(unique_ptr expr) : expression(std::move(expr)) { } - bool HasError() { - return !error.empty(); + bool HasError() const { + return error.HasError(); + } + void SetError(const string &error_message) { + error = ErrorData(ExceptionType::BINDER, error_message); } unique_ptr expression; - string error; + ErrorData error; }; class ExpressionBinder { @@ -77,26 +89,37 @@ class ExpressionBinder { return bound_columns; } - string Bind(unique_ptr &expr, idx_t depth, bool root_expression = false); + ErrorData Bind(unique_ptr &expr, idx_t depth, bool root_expression = false); - unique_ptr CreateStructExtract(unique_ptr base, string field_name); - unique_ptr CreateStructPack(ColumnRefExpression &colref); - BindResult BindQualifiedColumnName(ColumnRefExpression &colref, const string &table_name); + //! Returns the STRUCT_EXTRACT operator expression + unique_ptr CreateStructExtract(unique_ptr base, const string &field_name); + //! Returns a STRUCT_PACK function expression + unique_ptr CreateStructPack(ColumnRefExpression &col_ref); - unique_ptr QualifyColumnName(const string &column_name, string &error_message); - unique_ptr QualifyColumnName(ColumnRefExpression &colref, string &error_message); + BindResult BindQualifiedColumnName(ColumnRefExpression &colref, const string &table_name); - // Bind table names to ColumnRefExpressions - void QualifyColumnNames(unique_ptr &expr); + //! Returns a qualified column reference from a column name + unique_ptr QualifyColumnName(const string &column_name, ErrorData &error); + //! Returns a qualified column reference from a column reference with column_names.size() > 2 + unique_ptr QualifyColumnNameWithManyDots(ColumnRefExpression &col_ref, ErrorData &error); + //! Returns a qualified column reference from a column reference + unique_ptr QualifyColumnName(ColumnRefExpression &col_ref, ErrorData &error); + //! Enables special-handling of lambda parameters by tracking them in the lambda_params vector + void QualifyColumnNamesInLambda(FunctionExpression &function, vector> &lambda_params); + //! Recursively qualifies the column references in the (children) of the expression. Passes on the + //! within_function_expression state from outer expressions, or sets it + void QualifyColumnNames(unique_ptr &expr, vector> &lambda_params, + const bool within_function_expression = false); + //! Entry point for qualifying the column references of the expression static void QualifyColumnNames(Binder &binder, unique_ptr &expr); static bool PushCollation(ClientContext &context, unique_ptr &source, const LogicalType &sql_type, bool equality_only = false); static void TestCollation(ClientContext &context, const string &collation); - bool BindCorrelatedColumns(unique_ptr &expr); + BindResult BindCorrelatedColumns(unique_ptr &expr, ErrorData error_message); - void BindChild(unique_ptr &expr, idx_t depth, string &error); + void BindChild(unique_ptr &expr, idx_t depth, ErrorData &error); static void ExtractCorrelatedExpressions(Binder &binder, Expression &expr); static bool ContainsNullType(const LogicalType &type); @@ -106,12 +129,17 @@ class ExpressionBinder { virtual bool QualifyColumnAlias(const ColumnRefExpression &colref); - //! Bind the given expresion. Unlike Bind(), this does *not* mute the given ParsedExpression. + //! Bind the given expression. Unlike Bind(), this does *not* mute the given ParsedExpression. //! Exposed to be used from sub-binders that aren't subclasses of ExpressionBinder. virtual BindResult BindExpression(unique_ptr &expr_ptr, idx_t depth, bool root_expression = false); - void ReplaceMacroParametersRecursive(unique_ptr &expr); + //! Recursively replaces macro parameters with the provided input parameters + void ReplaceMacroParameters(unique_ptr &expr, vector> &lambda_params); + //! Enables special-handling of lambda parameters by tracking them in the lambda_params vector + void ReplaceMacroParametersInLambda(FunctionExpression &function, vector> &lambda_params); + + static LogicalType GetExpressionReturnType(const Expression &expr); private: //! Maximum stack depth @@ -128,24 +156,32 @@ class ExpressionBinder { BindResult BindExpression(CollateExpression &expr, idx_t depth); BindResult BindExpression(CastExpression &expr, idx_t depth); BindResult BindExpression(ColumnRefExpression &expr, idx_t depth); + BindResult BindExpression(LambdaRefExpression &expr, idx_t depth); BindResult BindExpression(ComparisonExpression &expr, idx_t depth); BindResult BindExpression(ConjunctionExpression &expr, idx_t depth); BindResult BindExpression(ConstantExpression &expr, idx_t depth); BindResult BindExpression(FunctionExpression &expr, idx_t depth, unique_ptr &expr_ptr); - BindResult BindExpression(LambdaExpression &expr, idx_t depth, const bool is_lambda, - const LogicalType &list_child_type); + BindResult BindExpression(LambdaExpression &expr, idx_t depth, const LogicalType &list_child_type, + optional_ptr bind_lambda_function); BindResult BindExpression(OperatorExpression &expr, idx_t depth); BindResult BindExpression(ParameterExpression &expr, idx_t depth); BindResult BindExpression(SubqueryExpression &expr, idx_t depth); BindResult BindPositionalReference(unique_ptr &expr, idx_t depth, bool root_expression); void TransformCapturedLambdaColumn(unique_ptr &original, unique_ptr &replacement, - vector> &captures, LogicalType &list_child_type); - void CaptureLambdaColumns(vector> &captures, LogicalType &list_child_type, - unique_ptr &expr); + BoundLambdaExpression &bound_lambda_expr, + const optional_ptr bind_lambda_function, + const LogicalType &list_child_type); + void CaptureLambdaColumns(BoundLambdaExpression &bound_lambda_expr, unique_ptr &expr, + const optional_ptr bind_lambda_function, + const LogicalType &list_child_type); static unique_ptr GetSQLValueFunction(const string &column_name); + LogicalType ResolveOperatorType(OperatorExpression &op, vector> &children); + LogicalType ResolveInType(OperatorExpression &op, vector> &children); + LogicalType ResolveNotType(OperatorExpression &op, vector> &children); + protected: virtual BindResult BindGroupingFunction(OperatorExpression &op, idx_t depth); virtual BindResult BindFunction(FunctionExpression &expr, ScalarFunctionCatalogEntry &function, idx_t depth); @@ -162,6 +198,13 @@ class ExpressionBinder { ClientContext &context; optional_ptr stored_binder; vector bound_columns; + + //! Returns true if the function name is an alias for the UNNEST function + static bool IsUnnestFunction(const string &function_name); + //! Returns true, if the function contains a lambda expression and is not the '->>' operator + static bool IsLambdaFunction(const FunctionExpression &function); + //! Returns the bind result of binding a lambda or JSON function + BindResult TryBindLambdaOrJson(FunctionExpression &function, idx_t depth, CatalogEntry &func); }; } // namespace duckdb diff --git a/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp b/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp index ce95ac73c208..91476fe021ee 100644 --- a/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp +++ b/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp @@ -21,8 +21,8 @@ class ColumnAliasBinder { public: ColumnAliasBinder(BoundSelectNode &node, const case_insensitive_map_t &alias_map); - BindResult BindAlias(ExpressionBinder &enclosing_binder, ColumnRefExpression &expr, idx_t depth, - bool root_expression); + bool BindAlias(ExpressionBinder &enclosing_binder, ColumnRefExpression &expr, idx_t depth, bool root_expression, + BindResult &result); private: BoundSelectNode &node; diff --git a/src/include/duckdb/planner/expression_binder/index_binder.hpp b/src/include/duckdb/planner/expression_binder/index_binder.hpp index fce742ff5086..4f7f55173c95 100644 --- a/src/include/duckdb/planner/expression_binder/index_binder.hpp +++ b/src/include/duckdb/planner/expression_binder/index_binder.hpp @@ -8,12 +8,13 @@ #pragma once -#include "duckdb/planner/expression_binder.hpp" +#include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/parser/parsed_data/create_index_info.hpp" -#include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" +#include "duckdb/planner/expression_binder.hpp" namespace duckdb { + class BoundColumnRefExpression; //! The IndexBinder is responsible for binding an expression within an index statement diff --git a/src/include/duckdb/planner/expression_binder/order_binder.hpp b/src/include/duckdb/planner/expression_binder/order_binder.hpp index 830952cc1911..3beed2c9506d 100644 --- a/src/include/duckdb/planner/expression_binder/order_binder.hpp +++ b/src/include/duckdb/planner/expression_binder/order_binder.hpp @@ -42,7 +42,8 @@ class OrderBinder { unique_ptr CreateExtraReference(unique_ptr expr); private: - unique_ptr CreateProjectionReference(ParsedExpression &expr, idx_t index); + unique_ptr CreateProjectionReference(ParsedExpression &expr, const idx_t index, + const LogicalType &logical_type); unique_ptr BindConstant(ParsedExpression &expr, const Value &val); private: diff --git a/src/include/duckdb/planner/expression_binder/table_function_binder.hpp b/src/include/duckdb/planner/expression_binder/table_function_binder.hpp index 7f844858dc53..46dbd1fddede 100644 --- a/src/include/duckdb/planner/expression_binder/table_function_binder.hpp +++ b/src/include/duckdb/planner/expression_binder/table_function_binder.hpp @@ -12,12 +12,13 @@ namespace duckdb { -//! The Table function binder can bind standard table function parameters (i.e. non-table-in-out functions) +//! The table function binder can bind standard table function parameters (i.e., non-table-in-out functions) class TableFunctionBinder : public ExpressionBinder { public: TableFunctionBinder(Binder &binder, ClientContext &context); protected: + BindResult BindLambdaReference(LambdaRefExpression &expr, idx_t depth); BindResult BindColumnReference(ColumnRefExpression &expr, idx_t depth, bool root_expression); BindResult BindExpression(unique_ptr &expr, idx_t depth, bool root_expression = false) override; diff --git a/src/include/duckdb/planner/filter/struct_filter.hpp b/src/include/duckdb/planner/filter/struct_filter.hpp new file mode 100644 index 000000000000..b7ae1711ebbf --- /dev/null +++ b/src/include/duckdb/planner/filter/struct_filter.hpp @@ -0,0 +1,41 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/planner/filter/constant_filter.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/planner/table_filter.hpp" +#include "duckdb/common/types/value.hpp" +#include "duckdb/common/enums/expression_type.hpp" + +namespace duckdb { + +class StructFilter : public TableFilter { +public: + static constexpr const TableFilterType TYPE = TableFilterType::STRUCT_EXTRACT; + +public: + StructFilter(idx_t child_idx, string child_name, unique_ptr child_filter); + + //! The field index to filter on + idx_t child_idx; + + //! The field name to filter on + string child_name; + + //! The child filter + unique_ptr child_filter; + +public: + FilterPropagateResult CheckStatistics(BaseStatistics &stats) override; + string ToString(const string &column_name) override; + bool Equals(const TableFilter &other) const override; + void Serialize(Serializer &serializer) const override; + static unique_ptr Deserialize(Deserializer &deserializer); +}; + +} // namespace duckdb diff --git a/src/include/duckdb/planner/logical_tokens.hpp b/src/include/duckdb/planner/logical_tokens.hpp index 0d033ef6adfc..7854bd393300 100644 --- a/src/include/duckdb/planner/logical_tokens.hpp +++ b/src/include/duckdb/planner/logical_tokens.hpp @@ -16,11 +16,13 @@ class LogicalAggregate; class LogicalAnyJoin; class LogicalColumnDataGet; class LogicalComparisonJoin; +class LogicalCopyDatabase; class LogicalCopyToFile; class LogicalCreate; class LogicalCreateTable; class LogicalCreateIndex; class LogicalCreateTable; +class LogicalCreateSecret; class LogicalCrossProduct; class LogicalCTERef; class LogicalDelete; @@ -47,7 +49,6 @@ class LogicalRecursiveCTE; class LogicalMaterializedCTE; class LogicalSetOperation; class LogicalSample; -class LogicalShow; class LogicalSimple; class LogicalSet; class LogicalReset; diff --git a/src/include/duckdb/planner/operator/list.hpp b/src/include/duckdb/planner/operator/list.hpp index e782f8ed9c1d..c0dfd0c8aa54 100644 --- a/src/include/duckdb/planner/operator/list.hpp +++ b/src/include/duckdb/planner/operator/list.hpp @@ -2,10 +2,12 @@ #include "duckdb/planner/operator/logical_any_join.hpp" #include "duckdb/planner/operator/logical_column_data_get.hpp" #include "duckdb/planner/operator/logical_comparison_join.hpp" +#include "duckdb/planner/operator/logical_copy_database.hpp" #include "duckdb/planner/operator/logical_copy_to_file.hpp" #include "duckdb/planner/operator/logical_create.hpp" #include "duckdb/planner/operator/logical_create_index.hpp" #include "duckdb/planner/operator/logical_create_table.hpp" +#include "duckdb/planner/operator/logical_create_secret.hpp" #include "duckdb/planner/operator/logical_cross_product.hpp" #include "duckdb/planner/operator/logical_cteref.hpp" #include "duckdb/planner/operator/logical_delete.hpp" @@ -36,7 +38,6 @@ #include "duckdb/planner/operator/logical_sample.hpp" #include "duckdb/planner/operator/logical_set.hpp" #include "duckdb/planner/operator/logical_set_operation.hpp" -#include "duckdb/planner/operator/logical_show.hpp" #include "duckdb/planner/operator/logical_simple.hpp" #include "duckdb/planner/operator/logical_top_n.hpp" #include "duckdb/planner/operator/logical_unnest.hpp" diff --git a/src/include/duckdb/planner/operator/logical_comparison_join.hpp b/src/include/duckdb/planner/operator/logical_comparison_join.hpp index abcfafb0b38b..4cb62ca332f3 100644 --- a/src/include/duckdb/planner/operator/logical_comparison_join.hpp +++ b/src/include/duckdb/planner/operator/logical_comparison_join.hpp @@ -31,6 +31,8 @@ class LogicalComparisonJoin : public LogicalJoin { vector mark_types; //! The set of columns that will be duplicate eliminated from the LHS and pushed into the RHS vector> duplicate_eliminated_columns; + //! If this is a DelimJoin, whether it has been flipped to de-duplicating the RHS instead + bool delim_flipped = false; public: string ParamsToString() const override; diff --git a/src/include/duckdb/planner/operator/logical_copy_database.hpp b/src/include/duckdb/planner/operator/logical_copy_database.hpp new file mode 100644 index 000000000000..4a4144e370fd --- /dev/null +++ b/src/include/duckdb/planner/operator/logical_copy_database.hpp @@ -0,0 +1,45 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/planner/operator/logical_copy_database.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/parser/parsed_data/copy_info.hpp" +#include "duckdb/parser/parsed_data/exported_table_data.hpp" +#include "duckdb/planner/logical_operator.hpp" +#include "duckdb/function/copy_function.hpp" + +namespace duckdb { + +struct CopyDatabaseInfo { + CopyDatabaseInfo(Catalog &from_database, Catalog &to_database); + ~CopyDatabaseInfo(); + + Catalog &from_database; + Catalog &to_database; + vector> entries; +}; + +class LogicalCopyDatabase : public LogicalOperator { +public: + static constexpr const LogicalOperatorType TYPE = LogicalOperatorType::LOGICAL_COPY_DATABASE; + +public: + explicit LogicalCopyDatabase(unique_ptr info_p); + ~LogicalCopyDatabase() override; + + unique_ptr info; + +public: + void Serialize(Serializer &serializer) const override; + static unique_ptr Deserialize(Deserializer &deserializer); + +protected: + void ResolveTypes() override; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/planner/operator/logical_copy_to_file.hpp b/src/include/duckdb/planner/operator/logical_copy_to_file.hpp index 0e1a7789d92b..ea79b9407651 100644 --- a/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +++ b/src/include/duckdb/planner/operator/logical_copy_to_file.hpp @@ -10,6 +10,7 @@ #include "duckdb/common/filename_pattern.hpp" #include "duckdb/common/local_file_system.hpp" +#include "duckdb/common/optional_idx.hpp" #include "duckdb/function/copy_function.hpp" #include "duckdb/planner/logical_operator.hpp" @@ -31,8 +32,10 @@ class LogicalCopyToFile : public LogicalOperator { std::string file_path; bool use_tmp_file; FilenamePattern filename_pattern; + string file_extension; bool overwrite_or_ignore; bool per_thread_output; + optional_idx file_size_bytes; bool partition_output; vector partition_columns; diff --git a/src/include/duckdb/planner/operator/logical_create_secret.hpp b/src/include/duckdb/planner/operator/logical_create_secret.hpp new file mode 100644 index 000000000000..1885e48cd8bf --- /dev/null +++ b/src/include/duckdb/planner/operator/logical_create_secret.hpp @@ -0,0 +1,43 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// planner/operator/logical_create_secret.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/parser/parsed_data/create_secret_info.hpp" +#include "duckdb/planner/logical_operator.hpp" + +namespace duckdb { + +//! LogicalCreateSecret represents a simple logical operator that only passes on the parse info +class LogicalCreateSecret : public LogicalOperator { +public: + static constexpr const LogicalOperatorType TYPE = LogicalOperatorType::LOGICAL_CREATE_SECRET; + +public: + LogicalCreateSecret(CreateSecretFunction function_p, CreateSecretInfo info_p) + : LogicalOperator(LogicalOperatorType::LOGICAL_CREATE_SECRET), info(std::move(info_p)) { + } + + CreateSecretInfo info; + +public: + idx_t EstimateCardinality(ClientContext &context) override { + return 1; + }; + + //! Skips the serialization check in VerifyPlan + bool SupportSerialization() const override { + return false; + } + +protected: + void ResolveTypes() override { + types.emplace_back(LogicalType::BOOLEAN); + } +}; +} // namespace duckdb diff --git a/src/include/duckdb/planner/operator/logical_cteref.hpp b/src/include/duckdb/planner/operator/logical_cteref.hpp index da943b01d6da..b0e00ec4d7a8 100644 --- a/src/include/duckdb/planner/operator/logical_cteref.hpp +++ b/src/include/duckdb/planner/operator/logical_cteref.hpp @@ -8,7 +8,6 @@ #pragma once -#include "duckdb/common/types/chunk_collection.hpp" #include "duckdb/planner/logical_operator.hpp" #include "duckdb/common/enums/cte_materialize.hpp" @@ -23,7 +22,7 @@ class LogicalCTERef : public LogicalOperator { LogicalCTERef(idx_t table_index, idx_t cte_index, vector types, vector colnames, CTEMaterialize materialized_cte) : LogicalOperator(LogicalOperatorType::LOGICAL_CTE_REF), table_index(table_index), cte_index(cte_index), - materialized_cte(materialized_cte) { + correlated_columns(0), materialized_cte(materialized_cte) { D_ASSERT(types.size() > 0); chunk_types = types; bound_columns = colnames; @@ -36,6 +35,8 @@ class LogicalCTERef : public LogicalOperator { idx_t cte_index; //! The types of the chunk vector chunk_types; + //! Number of correlated columns + idx_t correlated_columns; //! Does this operator read a materialized CTE? CTEMaterialize materialized_cte; diff --git a/src/include/duckdb/planner/operator/logical_pragma.hpp b/src/include/duckdb/planner/operator/logical_pragma.hpp index 901ff7b80ff7..87e08fac07a9 100644 --- a/src/include/duckdb/planner/operator/logical_pragma.hpp +++ b/src/include/duckdb/planner/operator/logical_pragma.hpp @@ -8,27 +8,22 @@ #pragma once -#include "duckdb/function/pragma_function.hpp" -#include "duckdb/parser/parsed_data/pragma_info.hpp" #include "duckdb/planner/logical_operator.hpp" +#include "duckdb/parser/parsed_data/bound_pragma_info.hpp" namespace duckdb { -//! LogicalSimple represents a simple logical operator that only passes on the parse info +//! LogicalPragma represents a simple logical operator that only passes on the parse info class LogicalPragma : public LogicalOperator { public: static constexpr const LogicalOperatorType TYPE = LogicalOperatorType::LOGICAL_PRAGMA; public: - LogicalPragma(PragmaFunction function_p, PragmaInfo info_p) - : LogicalOperator(LogicalOperatorType::LOGICAL_PRAGMA), function(std::move(function_p)), - info(std::move(info_p)) { + LogicalPragma(unique_ptr info_p) + : LogicalOperator(LogicalOperatorType::LOGICAL_PRAGMA), info(std::move(info_p)) { } - //! The pragma function to call - PragmaFunction function; - //! The context of the call - PragmaInfo info; + unique_ptr info; public: idx_t EstimateCardinality(ClientContext &context) override; diff --git a/src/include/duckdb/planner/operator/logical_recursive_cte.hpp b/src/include/duckdb/planner/operator/logical_recursive_cte.hpp index 0fa74bd6c269..20a13d729aaf 100644 --- a/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +++ b/src/include/duckdb/planner/operator/logical_recursive_cte.hpp @@ -9,6 +9,7 @@ #pragma once #include "duckdb/planner/logical_operator.hpp" +#include "duckdb/planner/binder.hpp" namespace duckdb { @@ -32,6 +33,7 @@ class LogicalRecursiveCTE : public LogicalOperator { string ctename; idx_t table_index; idx_t column_count; + vector correlated_columns; public: vector GetColumnBindings() override { diff --git a/src/include/duckdb/planner/operator/logical_set_operation.hpp b/src/include/duckdb/planner/operator/logical_set_operation.hpp index 1d2840a391d5..0dbfc43cd027 100644 --- a/src/include/duckdb/planner/operator/logical_set_operation.hpp +++ b/src/include/duckdb/planner/operator/logical_set_operation.hpp @@ -13,8 +13,10 @@ namespace duckdb { class LogicalSetOperation : public LogicalOperator { - LogicalSetOperation(idx_t table_index, idx_t column_count, LogicalOperatorType type) - : LogicalOperator(type), table_index(table_index), column_count(column_count) { + LogicalSetOperation(idx_t table_index, idx_t column_count, LogicalOperatorType type, bool setop_all, + bool allow_out_of_order) + : LogicalOperator(type), table_index(table_index), column_count(column_count), setop_all(setop_all), + allow_out_of_order(allow_out_of_order) { } public: @@ -22,8 +24,10 @@ class LogicalSetOperation : public LogicalOperator { public: LogicalSetOperation(idx_t table_index, idx_t column_count, unique_ptr top, - unique_ptr bottom, LogicalOperatorType type) - : LogicalOperator(type), table_index(table_index), column_count(column_count) { + unique_ptr bottom, LogicalOperatorType type, bool setop_all, + bool allow_out_of_order = true) + : LogicalOperator(type), table_index(table_index), column_count(column_count), setop_all(setop_all), + allow_out_of_order(allow_out_of_order) { D_ASSERT(type == LogicalOperatorType::LOGICAL_UNION || type == LogicalOperatorType::LOGICAL_EXCEPT || type == LogicalOperatorType::LOGICAL_INTERSECT); children.push_back(std::move(top)); @@ -32,6 +36,9 @@ class LogicalSetOperation : public LogicalOperator { idx_t table_index; idx_t column_count; + bool setop_all; + //! Whether or not UNION statements can be executed out of order + bool allow_out_of_order; public: vector GetColumnBindings() override { diff --git a/src/include/duckdb/planner/operator/logical_show.hpp b/src/include/duckdb/planner/operator/logical_show.hpp deleted file mode 100644 index f3b5ee10399b..000000000000 --- a/src/include/duckdb/planner/operator/logical_show.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb/planner/operator/logical_show.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb/planner/logical_operator.hpp" - -namespace duckdb { - -class LogicalShow : public LogicalOperator { - LogicalShow() : LogicalOperator(LogicalOperatorType::LOGICAL_SHOW) {}; - -public: - static constexpr const LogicalOperatorType TYPE = LogicalOperatorType::LOGICAL_SHOW; - -public: - explicit LogicalShow(unique_ptr plan) : LogicalOperator(LogicalOperatorType::LOGICAL_SHOW) { - children.push_back(std::move(plan)); - } - - vector types_select; - vector aliases; - -public: - void Serialize(Serializer &serializer) const override; - static unique_ptr Deserialize(Deserializer &deserializer); - -protected: - void ResolveTypes() override { - types = {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR, - LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR}; - } - vector GetColumnBindings() override { - return GenerateColumnBindings(0, types.size()); - } -}; -} // namespace duckdb diff --git a/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp b/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp index c5c8778f139f..0fed15b0d636 100644 --- a/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp +++ b/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp @@ -16,8 +16,8 @@ #include "duckdb/common/case_insensitive_map.hpp" #include "duckdb/catalog/catalog_entry/table_column_type.hpp" #include "duckdb/catalog/catalog_entry/column_dependency_manager.hpp" -#include "duckdb/storage/table/table_index_list.hpp" #include "duckdb/catalog/dependency_list.hpp" +#include "duckdb/storage/table_storage_info.hpp" namespace duckdb { class CatalogEntry; @@ -46,8 +46,8 @@ struct BoundCreateTableInfo { unique_ptr data; //! CREATE TABLE from QUERY unique_ptr query; - //! Indexes created by this table - vector indexes; + //! Indexes created by this table + vector indexes; CreateTableInfo &Base() { D_ASSERT(base); diff --git a/src/include/duckdb/planner/pragma_handler.hpp b/src/include/duckdb/planner/pragma_handler.hpp index 81ba353a5155..361a6a768f62 100644 --- a/src/include/duckdb/planner/pragma_handler.hpp +++ b/src/include/duckdb/planner/pragma_handler.hpp @@ -31,7 +31,7 @@ class PragmaHandler { private: //! Handles a pragma statement, returns whether the statement was expanded, if it was expanded the 'resulting_query' //! contains the statement(s) to replace the current one - bool HandlePragma(SQLStatement *statement, string &resulting_query); + bool HandlePragma(SQLStatement &statement, string &resulting_query); void HandlePragmaStatementsInternal(vector> &statements); }; diff --git a/src/include/duckdb/planner/query_node/bound_set_operation_node.hpp b/src/include/duckdb/planner/query_node/bound_set_operation_node.hpp index d6c8f95d2c52..e3ce0457e577 100644 --- a/src/include/duckdb/planner/query_node/bound_set_operation_node.hpp +++ b/src/include/duckdb/planner/query_node/bound_set_operation_node.hpp @@ -25,6 +25,8 @@ class BoundSetOperationNode : public BoundQueryNode { //! The type of set operation SetOperationType setop_type = SetOperationType::NONE; + //! whether the ALL modifier was used or not + bool setop_all = false; //! The left side of the set operation unique_ptr left; //! The right side of the set operation diff --git a/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp b/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp index ce1cdc376eee..efc41cf648a5 100644 --- a/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp +++ b/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp @@ -25,6 +25,9 @@ struct FlattenDependentJoins { //! has_correlated_expressions map. bool DetectCorrelatedExpressions(LogicalOperator *op, bool lateral = false, idx_t lateral_depth = 0); + //! Mark entire subtree of Logical Operators as correlated by adding them to the has_correlated_expressions map. + bool MarkSubtreeCorrelated(LogicalOperator &op); + //! Push the dependent join down a LogicalOperator unique_ptr PushDownDependentJoin(unique_ptr plan); diff --git a/src/include/duckdb/planner/subquery/rewrite_cte_scan.hpp b/src/include/duckdb/planner/subquery/rewrite_cte_scan.hpp new file mode 100644 index 000000000000..e2c507e731bf --- /dev/null +++ b/src/include/duckdb/planner/subquery/rewrite_cte_scan.hpp @@ -0,0 +1,29 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/planner/subquery/rewrite_cte_scan.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/planner/binder.hpp" +#include "duckdb/planner/column_binding_map.hpp" +#include "duckdb/planner/logical_operator.hpp" + +namespace duckdb { + +//! Helper class to rewrite correlated cte scans within a single LogicalOperator +class RewriteCTEScan : public LogicalOperatorVisitor { +public: + RewriteCTEScan(idx_t table_index, const vector &correlated_columns); + + void VisitOperator(LogicalOperator &op) override; + +private: + idx_t table_index; + const vector &correlated_columns; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/planner/table_binding.hpp b/src/include/duckdb/planner/table_binding.hpp index 4d6679c1f7ac..aa288a12b007 100644 --- a/src/include/duckdb/planner/table_binding.hpp +++ b/src/include/duckdb/planner/table_binding.hpp @@ -52,7 +52,7 @@ struct Binding { bool TryGetBindingIndex(const string &column_name, column_t &column_index); column_t GetBindingIndex(const string &column_name); bool HasMatchingBinding(const string &column_name); - virtual string ColumnNotFoundError(const string &column_name) const; + virtual ErrorData ColumnNotFoundError(const string &column_name) const; virtual BindResult Bind(ColumnRefExpression &colref, idx_t depth); virtual optional_ptr GetStandardEntry(); @@ -107,7 +107,7 @@ struct TableBinding : public Binding { unique_ptr ExpandGeneratedColumn(const string &column_name); BindResult Bind(ColumnRefExpression &colref, idx_t depth) override; optional_ptr GetStandardEntry() override; - string ColumnNotFoundError(const string &column_name) const override; + ErrorData ColumnNotFoundError(const string &column_name) const override; // These are columns that are present in the name_map, appearing in the order that they're bound const vector &GetBoundColumnIds() const; @@ -115,8 +115,8 @@ struct TableBinding : public Binding { ColumnBinding GetColumnBinding(column_t column_index); }; -//! DummyBinding is like the Binding, except the alias and index are set by default. Used for binding lambdas and macro -//! parameters. +//! DummyBinding is like the Binding, except the alias and index are set by default. +//! Used for binding lambdas and macro parameters. struct DummyBinding : public Binding { public: static constexpr const BindingType TYPE = BindingType::DUMMY; @@ -124,16 +124,18 @@ struct DummyBinding : public Binding { static constexpr const char *DUMMY_NAME = "0_macro_parameters"; public: - DummyBinding(vector types_p, vector names_p, string dummy_name_p); + DummyBinding(vector types, vector names, string dummy_name); - //! Arguments + //! Arguments (for macros) vector> *arguments; //! The name of the dummy binding string dummy_name; public: + //! Binding macros BindResult Bind(ColumnRefExpression &colref, idx_t depth) override; - BindResult Bind(ColumnRefExpression &colref, idx_t lambda_index, idx_t depth); + //! Binding lambdas + BindResult Bind(LambdaRefExpression &lambdaref, idx_t depth); //! Given the parameter colref, returns a copy of the argument that was supplied for this parameter unique_ptr ParamToArg(ColumnRefExpression &colref); diff --git a/src/include/duckdb/planner/table_filter.hpp b/src/include/duckdb/planner/table_filter.hpp index 368b13eda6f1..2494b57bc7b5 100644 --- a/src/include/duckdb/planner/table_filter.hpp +++ b/src/include/duckdb/planner/table_filter.hpp @@ -21,7 +21,8 @@ enum class TableFilterType : uint8_t { IS_NULL = 1, IS_NOT_NULL = 2, CONJUNCTION_OR = 3, - CONJUNCTION_AND = 4 + CONJUNCTION_AND = 4, + STRUCT_EXTRACT = 5 }; //! TableFilter represents a filter pushed down into the table scan. diff --git a/src/include/duckdb/planner/tableref/bound_dummytableref.hpp b/src/include/duckdb/planner/tableref/bound_dummytableref.hpp index debeb6e274ae..3a68f5166f78 100644 --- a/src/include/duckdb/planner/tableref/bound_dummytableref.hpp +++ b/src/include/duckdb/planner/tableref/bound_dummytableref.hpp @@ -15,10 +15,11 @@ namespace duckdb { //! Represents a cross product class BoundEmptyTableRef : public BoundTableRef { public: - static constexpr const TableReferenceType TYPE = TableReferenceType::EMPTY; + static constexpr const TableReferenceType TYPE = TableReferenceType::EMPTY_FROM; public: - explicit BoundEmptyTableRef(idx_t bind_index) : BoundTableRef(TableReferenceType::EMPTY), bind_index(bind_index) { + explicit BoundEmptyTableRef(idx_t bind_index) + : BoundTableRef(TableReferenceType::EMPTY_FROM), bind_index(bind_index) { } idx_t bind_index; }; diff --git a/src/include/duckdb/storage/buffer/block_handle.hpp b/src/include/duckdb/storage/buffer/block_handle.hpp index e797003bbd05..196fb27c7654 100644 --- a/src/include/duckdb/storage/buffer/block_handle.hpp +++ b/src/include/duckdb/storage/buffer/block_handle.hpp @@ -13,6 +13,7 @@ #include "duckdb/common/mutex.hpp" #include "duckdb/storage/storage_info.hpp" #include "duckdb/common/file_buffer.hpp" +#include "duckdb/common/enums/memory_tag.hpp" namespace duckdb { class BlockManager; @@ -23,10 +24,11 @@ class DatabaseInstance; enum class BlockState : uint8_t { BLOCK_UNLOADED = 0, BLOCK_LOADED = 1 }; struct BufferPoolReservation { + MemoryTag tag; idx_t size {0}; BufferPool &pool; - BufferPoolReservation(BufferPool &pool); + BufferPoolReservation(MemoryTag tag, BufferPool &pool); BufferPoolReservation(const BufferPoolReservation &) = delete; BufferPoolReservation &operator=(const BufferPoolReservation &) = delete; @@ -40,7 +42,7 @@ struct BufferPoolReservation { }; struct TempBufferPoolReservation : BufferPoolReservation { - TempBufferPoolReservation(BufferPool &pool, idx_t size) : BufferPoolReservation(pool) { + TempBufferPoolReservation(MemoryTag tag, BufferPool &pool, idx_t size) : BufferPoolReservation(tag, pool) { Resize(size); } TempBufferPoolReservation(TempBufferPoolReservation &&) = default; @@ -58,9 +60,9 @@ class BlockHandle { friend class BufferPool; public: - BlockHandle(BlockManager &block_manager, block_id_t block_id); - BlockHandle(BlockManager &block_manager, block_id_t block_id, unique_ptr buffer, bool can_destroy, - idx_t block_size, BufferPoolReservation &&reservation); + BlockHandle(BlockManager &block_manager, block_id_t block_id, MemoryTag tag); + BlockHandle(BlockManager &block_manager, block_id_t block_id, MemoryTag tag, unique_ptr buffer, + bool can_destroy, idx_t block_size, BufferPoolReservation &&reservation); ~BlockHandle(); BlockManager &block_manager; @@ -115,6 +117,8 @@ class BlockHandle { atomic readers; //! The block id of the block const block_id_t block_id; + //! Memory tag + MemoryTag tag; //! Pointer to loaded data (if any) unique_ptr buffer; //! Internal eviction timestamp diff --git a/src/include/duckdb/storage/buffer/buffer_pool.hpp b/src/include/duckdb/storage/buffer/buffer_pool.hpp index 28dd45c83cc0..a75b1a2da344 100644 --- a/src/include/duckdb/storage/buffer/buffer_pool.hpp +++ b/src/include/duckdb/storage/buffer/buffer_pool.hpp @@ -1,11 +1,20 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/buffer/buffer_pool.hpp +// +// +//===----------------------------------------------------------------------===// + #pragma once -#include "duckdb/common/mutex.hpp" #include "duckdb/common/file_buffer.hpp" +#include "duckdb/common/mutex.hpp" #include "duckdb/storage/buffer/block_handle.hpp" namespace duckdb { +class TemporaryMemoryManager; struct EvictionQueue; struct BufferEvictionNode { @@ -40,11 +49,15 @@ class BufferPool { //! blocks can be evicted void SetLimit(idx_t limit, const char *exception_postscript); - void IncreaseUsedMemory(idx_t size); + void IncreaseUsedMemory(MemoryTag tag, idx_t size); - idx_t GetUsedMemory(); + idx_t GetUsedMemory() const; - idx_t GetMaxMemory(); + idx_t GetMaxMemory() const; + + virtual idx_t GetQueryMaxMemory() const; + + TemporaryMemoryManager &GetTemporaryMemoryManager(); protected: //! Evict blocks until the currently used memory + extra_memory fit, returns false if this was not possible @@ -57,14 +70,14 @@ class BufferPool { bool success; TempBufferPoolReservation reservation; }; - virtual EvictionResult EvictBlocks(idx_t extra_memory, idx_t memory_limit, + virtual EvictionResult EvictBlocks(MemoryTag tag, idx_t extra_memory, idx_t memory_limit, unique_ptr *buffer = nullptr); //! Garbage collect eviction queue void PurgeQueue(); void AddToEvictionQueue(shared_ptr &handle); -private: +protected: //! The lock for changing the memory limit mutex limit_lock; //! The current amount of memory that is occupied by the buffer manager (in bytes) @@ -75,6 +88,10 @@ class BufferPool { unique_ptr queue; //! Total number of insertions into the eviction queue. This guides the schedule for calling PurgeQueue. atomic queue_insertions; + //! Memory manager for concurrently used temporary memory, e.g., for physical operators + unique_ptr temporary_memory_manager; + //! Memory usage per tag + atomic memory_usage_per_tag[MEMORY_TAG_COUNT]; }; } // namespace duckdb diff --git a/src/include/duckdb/storage/buffer/temporary_file_information.hpp b/src/include/duckdb/storage/buffer/temporary_file_information.hpp index 642078aa11a4..4da97844a58a 100644 --- a/src/include/duckdb/storage/buffer/temporary_file_information.hpp +++ b/src/include/duckdb/storage/buffer/temporary_file_information.hpp @@ -1,9 +1,16 @@ #pragma once #include "duckdb/common/common.hpp" +#include "duckdb/common/enums/memory_tag.hpp" namespace duckdb { +struct MemoryInformation { + MemoryTag tag; + idx_t size; + idx_t evicted_data; +}; + struct TemporaryFileInformation { string path; idx_t size; diff --git a/src/include/duckdb/storage/buffer_manager.hpp b/src/include/duckdb/storage/buffer_manager.hpp index 614d4615bd6c..7238be7844df 100644 --- a/src/include/duckdb/storage/buffer_manager.hpp +++ b/src/include/duckdb/storage/buffer_manager.hpp @@ -12,6 +12,7 @@ #include "duckdb/storage/buffer/buffer_handle.hpp" #include "duckdb/storage/block_manager.hpp" #include "duckdb/common/file_system.hpp" +#include "duckdb/common/enums/memory_tag.hpp" #include "duckdb/storage/buffer/temporary_file_information.hpp" #include "duckdb/main/config.hpp" @@ -19,6 +20,7 @@ namespace duckdb { class Allocator; class BufferPool; +class TemporaryMemoryManager; class BufferManager { friend class BufferHandle; @@ -33,7 +35,7 @@ class BufferManager { public: static unique_ptr CreateStandardBufferManager(DatabaseInstance &db, DBConfig &config); - virtual BufferHandle Allocate(idx_t block_size, bool can_destroy = true, + virtual BufferHandle Allocate(MemoryTag tag, idx_t block_size, bool can_destroy = true, shared_ptr *block = nullptr) = 0; //! Reallocate an in-memory buffer that is pinned. virtual void ReAllocate(shared_ptr &handle, idx_t block_size) = 0; @@ -47,6 +49,7 @@ class BufferManager { virtual DUCKDB_API Allocator &GetBufferAllocator(); virtual DUCKDB_API void ReserveMemory(idx_t size); virtual DUCKDB_API void FreeReservedMemory(idx_t size); + virtual vector GetMemoryUsageInfo() const = 0; //! Set a new memory limit to the buffer manager, throws an exception if the new limit is too low and not enough //! blocks can be evicted virtual void SetLimit(idx_t limit = (idx_t)-1); @@ -59,7 +62,9 @@ class BufferManager { virtual unique_ptr ConstructManagedBuffer(idx_t size, unique_ptr &&source, FileBufferType type = FileBufferType::MANAGED_BUFFER); //! Get the underlying buffer pool responsible for managing the buffers - virtual BufferPool &GetBufferPool(); + virtual BufferPool &GetBufferPool() const; + //! Get the manager that assigns reservations for temporary memory, e.g., for query intermediates + virtual TemporaryMemoryManager &GetTemporaryMemoryManager(); // Static methods DUCKDB_API static BufferManager &GetBufferManager(DatabaseInstance &db); @@ -69,12 +74,14 @@ class BufferManager { static idx_t GetAllocSize(idx_t block_size) { return AlignValue(block_size + Storage::BLOCK_HEADER_SIZE); } + //! Returns the maximum available memory for a given query + idx_t GetQueryMaxMemory() const; protected: virtual void PurgeQueue() = 0; virtual void AddToEvictionQueue(shared_ptr &handle); - virtual void WriteTemporaryBuffer(block_id_t block_id, FileBuffer &buffer); - virtual unique_ptr ReadTemporaryBuffer(block_id_t id, unique_ptr buffer); + virtual void WriteTemporaryBuffer(MemoryTag tag, block_id_t block_id, FileBuffer &buffer); + virtual unique_ptr ReadTemporaryBuffer(MemoryTag tag, block_id_t id, unique_ptr buffer); virtual void DeleteTemporaryFile(block_id_t id); }; diff --git a/src/include/duckdb/storage/checkpoint/row_group_writer.hpp b/src/include/duckdb/storage/checkpoint/row_group_writer.hpp index 85a62b3327ba..00ea3a64178d 100644 --- a/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +++ b/src/include/duckdb/storage/checkpoint/row_group_writer.hpp @@ -34,9 +34,6 @@ class RowGroupWriter { virtual MetadataWriter &GetPayloadWriter() = 0; - void RegisterPartialBlock(PartialBlockAllocation &&allocation); - PartialBlockAllocation GetBlockAllocation(uint32_t segment_size); - PartialBlockManager &GetPartialBlockManager() { return partial_block_manager; } diff --git a/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp b/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp index f9de616325d3..fd3568ac976e 100644 --- a/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp +++ b/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp @@ -39,7 +39,7 @@ struct string_location_t { string_location_t() { } bool IsValid() { - return offset < Storage::BLOCK_SIZE && (block_id == INVALID_BLOCK || block_id >= MAXIMUM_BLOCK); + return offset < int32_t(Storage::BLOCK_SIZE) && (block_id == INVALID_BLOCK || block_id >= MAXIMUM_BLOCK); } block_id_t block_id; int32_t offset; diff --git a/src/include/duckdb/storage/checkpoint/table_data_writer.hpp b/src/include/duckdb/storage/checkpoint/table_data_writer.hpp index ca049b74a46a..4c3f42d56b2a 100644 --- a/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +++ b/src/include/duckdb/storage/checkpoint/table_data_writer.hpp @@ -31,15 +31,16 @@ class TableDataWriter { CompressionType GetColumnCompressionType(idx_t i); - virtual void FinalizeTable(TableStatistics &&global_stats, DataTableInfo *info, - Serializer &metadata_serializer) = 0; + virtual void FinalizeTable(TableStatistics &&global_stats, DataTableInfo *info, Serializer &serializer) = 0; virtual unique_ptr GetRowGroupWriter(RowGroup &row_group) = 0; virtual void AddRowGroup(RowGroupPointer &&row_group_pointer, unique_ptr &&writer); + TaskScheduler &GetScheduler(); + protected: DuckTableEntry &table; - // Pointers to the start of each row group. + //! Pointers to the start of each row group. vector row_group_pointers; }; @@ -49,13 +50,12 @@ class SingleFileTableDataWriter : public TableDataWriter { MetadataWriter &table_data_writer); public: - virtual void FinalizeTable(TableStatistics &&global_stats, DataTableInfo *info, - Serializer &metadata_serializer) override; - virtual unique_ptr GetRowGroupWriter(RowGroup &row_group) override; + void FinalizeTable(TableStatistics &&global_stats, DataTableInfo *info, Serializer &serializer) override; + unique_ptr GetRowGroupWriter(RowGroup &row_group) override; private: SingleFileCheckpointWriter &checkpoint_manager; - // Writes the actual table data + //! Writes the actual table data MetadataWriter &table_data_writer; }; diff --git a/src/include/duckdb/storage/checkpoint_manager.hpp b/src/include/duckdb/storage/checkpoint_manager.hpp index e41a77921c55..d434e50d3b63 100644 --- a/src/include/duckdb/storage/checkpoint_manager.hpp +++ b/src/include/duckdb/storage/checkpoint_manager.hpp @@ -45,7 +45,7 @@ class CheckpointWriter { virtual void WriteSequence(SequenceCatalogEntry &table, Serializer &serializer); virtual void WriteMacro(ScalarMacroCatalogEntry &table, Serializer &serializer); virtual void WriteTableMacro(TableMacroCatalogEntry &table, Serializer &serializer); - virtual void WriteIndex(IndexCatalogEntry &index_catalog, Serializer &serializer); + virtual void WriteIndex(IndexCatalogEntry &index_catalog_entry, Serializer &serializer); virtual void WriteType(TypeCatalogEntry &type, Serializer &serializer); }; diff --git a/src/include/duckdb/storage/compression/alp/algorithm/LICENSE b/src/include/duckdb/storage/compression/alp/algorithm/LICENSE new file mode 100644 index 000000000000..46301aaa73d1 --- /dev/null +++ b/src/include/duckdb/storage/compression/alp/algorithm/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 CWI, Azim Afroozeh, Leonardo Xavier Kuffo Rivero + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/src/include/duckdb/storage/compression/alp/algorithm/alp.hpp b/src/include/duckdb/storage/compression/alp/algorithm/alp.hpp new file mode 100644 index 000000000000..49eb80815741 --- /dev/null +++ b/src/include/duckdb/storage/compression/alp/algorithm/alp.hpp @@ -0,0 +1,408 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alp/algorithm/alp.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/bitpacking.hpp" +#include "duckdb/common/common.hpp" +#include "duckdb/common/unordered_map.hpp" +#include "duckdb/common/pair.hpp" +#include "duckdb/common/limits.hpp" +#include "duckdb/common/types/hash.hpp" +#include "duckdb/storage/compression/alp/alp_constants.hpp" +#include "duckdb/storage/compression/alp/alp_utils.hpp" + +#include + +namespace duckdb { + +namespace alp { + +struct AlpEncodingIndices { + uint8_t exponent; + uint8_t factor; + + AlpEncodingIndices(uint8_t exponent, uint8_t factor) : exponent(exponent), factor(factor) { + } + + AlpEncodingIndices() : exponent(0), factor(0) { + } +}; + +struct AlpEncodingIndicesEquality { + bool operator()(const AlpEncodingIndices &a, const AlpEncodingIndices &b) const { + return a.exponent == b.exponent && a.factor == b.factor; + } +}; + +struct AlpEncodingIndicesHash { + hash_t operator()(const AlpEncodingIndices &encoding_indices) const { + hash_t h1 = Hash(encoding_indices.exponent); + hash_t h2 = Hash(encoding_indices.factor); + return CombineHash(h1, h2); + } +}; + +struct AlpCombination { + AlpEncodingIndices encoding_indices; + uint64_t n_appearances; + uint64_t estimated_compression_size; + + AlpCombination(AlpEncodingIndices encoding_indices, uint64_t n_appearances, uint64_t estimated_compression_size) + : encoding_indices(encoding_indices), n_appearances(n_appearances), + estimated_compression_size(estimated_compression_size) { + } +}; + +template +class AlpCompressionState { +public: + AlpCompressionState() : vector_encoding_indices(0, 0), exceptions_count(0), bit_width(0) { + } + + void Reset() { + vector_encoding_indices = {0, 0}; + exceptions_count = 0; + bit_width = 0; + } + + void ResetCombinations() { + best_k_combinations.clear(); + } + +public: + AlpEncodingIndices vector_encoding_indices; + uint16_t exceptions_count; + uint16_t bit_width; + uint64_t bp_size; + uint64_t frame_of_reference; + int64_t encoded_integers[AlpConstants::ALP_VECTOR_SIZE]; + T exceptions[AlpConstants::ALP_VECTOR_SIZE]; + uint16_t exceptions_positions[AlpConstants::ALP_VECTOR_SIZE]; + vector best_k_combinations; + uint8_t values_encoded[AlpConstants::ALP_VECTOR_SIZE * 8]; +}; + +template +struct AlpCompression { + using State = AlpCompressionState; + static constexpr uint8_t EXACT_TYPE_BITSIZE = sizeof(T) * 8; + + /* + * Check for special values which are impossible for ALP to encode + * because they cannot be cast to int64 without an undefined behaviour + */ + static bool IsImpossibleToEncode(T n) { + return !Value::IsFinite(n) || Value::IsNan(n) || n > AlpConstants::ENCODING_UPPER_LIMIT || + n < AlpConstants::ENCODING_LOWER_LIMIT || (n == 0.0 && std::signbit(n)); //! Verification for -0.0 + } + + /* + * Conversion from a Floating-Point number to Int64 without rounding + */ + static int64_t NumberToInt64(T n) { + if (IsImpossibleToEncode(n)) { + return AlpConstants::ENCODING_UPPER_LIMIT; + } + n = n + AlpTypedConstants::MAGIC_NUMBER - AlpTypedConstants::MAGIC_NUMBER; + return static_cast(n); + } + + /* + * Encoding a single value with ALP + */ + static int64_t EncodeValue(T value, AlpEncodingIndices encoding_indices) { + T tmp_encoded_value = value * AlpTypedConstants::EXP_ARR[encoding_indices.exponent] * + AlpTypedConstants::FRAC_ARR[encoding_indices.factor]; + int64_t encoded_value = NumberToInt64(tmp_encoded_value); + return encoded_value; + } + + /* + * Decoding a single value with ALP + */ + static T DecodeValue(int64_t encoded_value, AlpEncodingIndices encoding_indices) { + //! The cast to T is needed to prevent a signed integer overflow + T decoded_value = static_cast(encoded_value) * AlpConstants::FACT_ARR[encoding_indices.factor] * + AlpTypedConstants::FRAC_ARR[encoding_indices.exponent]; + return decoded_value; + } + + /* + * Return TRUE if c1 is a better combination than c2 + * First criteria is number of times it appears as best combination + * Second criteria is the estimated compression size + * Third criteria is bigger exponent + * Fourth criteria is bigger factor + */ + static bool CompareALPCombinations(const AlpCombination &c1, const AlpCombination &c2) { + return (c1.n_appearances > c2.n_appearances) || + (c1.n_appearances == c2.n_appearances && + (c1.estimated_compression_size < c2.estimated_compression_size)) || + ((c1.n_appearances == c2.n_appearances && + c1.estimated_compression_size == c2.estimated_compression_size) && + (c2.encoding_indices.exponent < c1.encoding_indices.exponent)) || + ((c1.n_appearances == c2.n_appearances && + c1.estimated_compression_size == c2.estimated_compression_size && + c2.encoding_indices.exponent == c1.encoding_indices.exponent) && + (c2.encoding_indices.factor < c1.encoding_indices.factor)); + } + + /* + * Dry compress a vector (ideally a sample) to estimate ALP compression size given a exponent and factor + */ + template + static uint64_t DryCompressToEstimateSize(const vector &input_vector, AlpEncodingIndices encoding_indices) { + idx_t n_values = input_vector.size(); + idx_t exceptions_count = 0; + idx_t non_exceptions_count = 0; + uint32_t estimated_bits_per_value = 0; + uint64_t estimated_compression_size = 0; + int64_t max_encoded_value = NumericLimits::Minimum(); + int64_t min_encoded_value = NumericLimits::Maximum(); + + for (const T &value : input_vector) { + int64_t encoded_value = EncodeValue(value, encoding_indices); + T decoded_value = DecodeValue(encoded_value, encoding_indices); + if (decoded_value == value) { + non_exceptions_count++; + max_encoded_value = MaxValue(encoded_value, max_encoded_value); + min_encoded_value = MinValue(encoded_value, min_encoded_value); + continue; + } + exceptions_count++; + } + + // We penalize combinations which yields to almost all exceptions + if (PENALIZE_EXCEPTIONS && non_exceptions_count < 2) { + return NumericLimits::Maximum(); + } + + // Evaluate factor/exponent compression size (we optimize for FOR) + uint64_t delta = (static_cast(max_encoded_value) - static_cast(min_encoded_value)); + estimated_bits_per_value = std::ceil(std::log2(delta + 1)); + estimated_compression_size += n_values * estimated_bits_per_value; + estimated_compression_size += + exceptions_count * (EXACT_TYPE_BITSIZE + (AlpConstants::EXCEPTION_POSITION_SIZE * 8)); + return estimated_compression_size; + } + + /* + * Find the best combinations of factor-exponent from each vector sampled from a rowgroup + * This function is called once per segment + * This operates over ALP first level samples + */ + static void FindTopKCombinations(const vector> &vectors_sampled, State &state) { + state.ResetCombinations(); + + unordered_map + best_k_combinations_hash; + // For each vector sampled + for (auto &sampled_vector : vectors_sampled) { + idx_t n_samples = sampled_vector.size(); + AlpEncodingIndices best_encoding_indices = {AlpTypedConstants::MAX_EXPONENT, + AlpTypedConstants::MAX_EXPONENT}; + + //! We start our optimization with the worst possible total bits obtained from compression + idx_t best_total_bits = (n_samples * (EXACT_TYPE_BITSIZE + AlpConstants::EXCEPTION_POSITION_SIZE * 8)) + + (n_samples * EXACT_TYPE_BITSIZE); + + // N of appearances is irrelevant at this phase; we search for the best compression for the vector + AlpCombination best_combination = {best_encoding_indices, 0, best_total_bits}; + //! We try all combinations in search for the one which minimize the compression size + for (int8_t exp_idx = AlpTypedConstants::MAX_EXPONENT; exp_idx >= 0; exp_idx--) { + for (int8_t factor_idx = exp_idx; factor_idx >= 0; factor_idx--) { + AlpEncodingIndices current_encoding_indices = {(uint8_t)exp_idx, (uint8_t)factor_idx}; + uint64_t estimated_compression_size = + DryCompressToEstimateSize(sampled_vector, current_encoding_indices); + AlpCombination current_combination = {current_encoding_indices, 0, estimated_compression_size}; + if (CompareALPCombinations(current_combination, best_combination)) { + best_combination = current_combination; + } + } + } + best_k_combinations_hash[best_combination.encoding_indices]++; + } + + // Convert our hash to a Combination vector to be able to sort + // Note that this vector is always small (< 10 combinations) + vector best_k_combinations; + for (auto const &combination : best_k_combinations_hash) { + best_k_combinations.emplace_back( + combination.first, // Encoding Indices + combination.second, // N of times it appeared (hash value) + 0 // Compression size is irrelevant at this phase since we compare combinations from different vectors + ); + } + sort(best_k_combinations.begin(), best_k_combinations.end(), CompareALPCombinations); + + // Save k' best combinations + for (idx_t i = 0; i < MinValue(AlpConstants::MAX_COMBINATIONS, (uint8_t)best_k_combinations.size()); i++) { + state.best_k_combinations.push_back(best_k_combinations[i]); + } + } + + /* + * Find the best combination of factor-exponent for a vector from within the best k combinations + * This is ALP second level sampling + */ + static void FindBestFactorAndExponent(const T *input_vector, idx_t n_values, State &state) { + //! We sample equidistant values within a vector; to do this we skip a fixed number of values + vector vector_sample; + uint32_t idx_increments = MaxValue(1, (int32_t)std::ceil((double)n_values / AlpConstants::SAMPLES_PER_VECTOR)); + for (idx_t i = 0; i < n_values; i += idx_increments) { + vector_sample.push_back(input_vector[i]); + } + + AlpEncodingIndices best_encoding_indices = {0, 0}; + uint64_t best_total_bits = NumericLimits::Maximum(); + idx_t worse_total_bits_counter = 0; + + //! We try each K combination in search for the one which minimize the compression size in the vector + for (auto &combination : state.best_k_combinations) { + uint64_t estimated_compression_size = + DryCompressToEstimateSize(vector_sample, combination.encoding_indices); + + // If current compression size is worse (higher) or equal than the current best combination + if (estimated_compression_size >= best_total_bits) { + worse_total_bits_counter += 1; + // Early exit strategy + if (worse_total_bits_counter == AlpConstants::SAMPLING_EARLY_EXIT_THRESHOLD) { + break; + } + continue; + } + // Otherwise we replace the best and continue trying with the next combination + best_total_bits = estimated_compression_size; + best_encoding_indices = combination.encoding_indices; + worse_total_bits_counter = 0; + } + state.vector_encoding_indices = best_encoding_indices; + } + + /* + * ALP Compress + */ + static void Compress(const T *input_vector, idx_t n_values, const uint16_t *vector_null_positions, + idx_t nulls_count, State &state) { + if (state.best_k_combinations.size() > 1) { + FindBestFactorAndExponent(input_vector, n_values, state); + } else { + state.vector_encoding_indices = state.best_k_combinations[0].encoding_indices; + } + + // Encoding Floating-Point to Int64 + //! We encode all the values regardless of their correctness to recover the original floating-point + uint16_t exceptions_idx = 0; + for (idx_t i = 0; i < n_values; i++) { + T actual_value = input_vector[i]; + int64_t encoded_value = EncodeValue(actual_value, state.vector_encoding_indices); + T decoded_value = DecodeValue(encoded_value, state.vector_encoding_indices); + state.encoded_integers[i] = encoded_value; + //! We detect exceptions using a predicated comparison + auto is_exception = (decoded_value != actual_value); + state.exceptions_positions[exceptions_idx] = i; + exceptions_idx += is_exception; + } + + // Finding first non exception value + int64_t a_non_exception_value = 0; + for (idx_t i = 0; i < n_values; i++) { + if (i != state.exceptions_positions[i]) { + a_non_exception_value = state.encoded_integers[i]; + break; + } + } + // Replacing that first non exception value on the vector exceptions + for (idx_t i = 0; i < exceptions_idx; i++) { + idx_t exception_pos = state.exceptions_positions[i]; + T actual_value = input_vector[exception_pos]; + state.encoded_integers[exception_pos] = a_non_exception_value; + state.exceptions[i] = actual_value; + } + state.exceptions_count = exceptions_idx; + + // Replacing nulls with that first non exception value + for (idx_t i = 0; i < nulls_count; i++) { + uint16_t null_value_pos = vector_null_positions[i]; + state.encoded_integers[null_value_pos] = a_non_exception_value; + } + + // Analyze FFOR + auto min_value = NumericLimits::Maximum(); + auto max_value = NumericLimits::Minimum(); + for (idx_t i = 0; i < n_values; i++) { + max_value = MaxValue(max_value, state.encoded_integers[i]); + min_value = MinValue(min_value, state.encoded_integers[i]); + } + uint64_t min_max_diff = (static_cast(max_value) - static_cast(min_value)); + + auto *u_encoded_integers = reinterpret_cast(state.encoded_integers); + auto const u_min_value = static_cast(min_value); + + // Subtract FOR + if (!EMPTY) { //! We only execute the FOR if we are writing the data + for (idx_t i = 0; i < n_values; i++) { + u_encoded_integers[i] -= u_min_value; + } + } + + auto bit_width = BitpackingPrimitives::MinimumBitWidth(min_max_diff); + auto bp_size = BitpackingPrimitives::GetRequiredSize(n_values, bit_width); + if (!EMPTY && bit_width > 0) { //! We only execute the BP if we are writing the data + BitpackingPrimitives::PackBuffer(state.values_encoded, u_encoded_integers, n_values, + bit_width); + } + state.bit_width = bit_width; // in bits + state.bp_size = bp_size; // in bytes + state.frame_of_reference = min_value; + } + + /* + * Overload without specifying nulls + */ + static void Compress(const T *input_vector, idx_t n_values, State &state) { + Compress(input_vector, n_values, nullptr, 0, state); + } +}; + +template +struct AlpDecompression { + static void Decompress(uint8_t *for_encoded, T *output, idx_t count, uint8_t vector_factor, uint8_t vector_exponent, + uint16_t exceptions_count, T *exceptions, const uint16_t *exceptions_positions, + uint64_t frame_of_reference, uint8_t bit_width) { + AlpEncodingIndices encoding_indices = {vector_exponent, vector_factor}; + + // Bit Unpacking + uint8_t for_decoded[AlpConstants::ALP_VECTOR_SIZE * 8] = {0}; + if (bit_width > 0) { + BitpackingPrimitives::UnPackBuffer(for_decoded, for_encoded, count, bit_width); + } + auto *encoded_integers = reinterpret_cast(data_ptr_cast(for_decoded)); + + // unFOR + for (idx_t i = 0; i < count; i++) { + encoded_integers[i] += frame_of_reference; + } + + // Decoding + for (idx_t i = 0; i < count; i++) { + auto encoded_integer = static_cast(encoded_integers[i]); + output[i] = alp::AlpCompression::DecodeValue(encoded_integer, encoding_indices); + } + + // Exceptions Patching + for (idx_t i = 0; i < exceptions_count; i++) { + output[exceptions_positions[i]] = static_cast(exceptions[i]); + } + } +}; + +} // namespace alp + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alp/alp_analyze.hpp b/src/include/duckdb/storage/compression/alp/alp_analyze.hpp new file mode 100644 index 000000000000..0288a9bd42c4 --- /dev/null +++ b/src/include/duckdb/storage/compression/alp/alp_analyze.hpp @@ -0,0 +1,173 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alp/alp_analyze.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/function/compression_function.hpp" +#include "duckdb/storage/compression/alp/algorithm/alp.hpp" +#include "duckdb/storage/compression/alp/alp_utils.hpp" +#include "duckdb/storage/compression/alp/alp_constants.hpp" +#include "duckdb/storage/compression/patas/patas.hpp" + +#include + +namespace duckdb { + +template +struct AlpAnalyzeState : public AnalyzeState { +public: + using EXACT_TYPE = typename FloatingToExact::type; + + AlpAnalyzeState() : state() { + } + + idx_t total_bytes_used = 0; + idx_t current_bytes_used_in_segment = 0; + idx_t vectors_sampled_count = 0; + idx_t total_values_count = 0; + idx_t vectors_count = 0; + vector> rowgroup_sample; + vector> complete_vectors_sampled; + alp::AlpCompressionState state; + +public: + // Returns the required space to hyphotetically store the compressed segment + void FlushSegment() { + // We add the size of the segment header (the pointer to the metadata) + total_bytes_used += current_bytes_used_in_segment + AlpConstants::METADATA_POINTER_SIZE; + current_bytes_used_in_segment = 0; + } + + // Returns the required space to hyphotetically store the compressed vector + idx_t RequiredSpace() const { + idx_t required_space = + state.bp_size + state.exceptions_count * (sizeof(EXACT_TYPE) + AlpConstants::EXCEPTION_POSITION_SIZE) + + AlpConstants::EXPONENT_SIZE + AlpConstants::FACTOR_SIZE + AlpConstants::EXCEPTIONS_COUNT_SIZE + + AlpConstants::FOR_SIZE + AlpConstants::BIT_WIDTH_SIZE + AlpConstants::METADATA_POINTER_SIZE; + return required_space; + } + + void FlushVector() { + current_bytes_used_in_segment += RequiredSpace(); + state.Reset(); + } + + // Check if we have enough space in the segment to hyphotetically store the compressed vector + bool HasEnoughSpace() { + idx_t bytes_to_be_used = AlignValue(current_bytes_used_in_segment + RequiredSpace()); + // We have enough space if the already used space + the required space for a new vector + // does not exceed the space of the block - the segment header (the pointer to the metadata) + return bytes_to_be_used <= (Storage::BLOCK_SIZE - AlpConstants::METADATA_POINTER_SIZE); + } + + idx_t TotalUsedBytes() const { + return AlignValue(total_bytes_used); + } +}; + +template +unique_ptr AlpInitAnalyze(ColumnData &col_data, PhysicalType type) { + return make_uniq>(); +} + +/* + * ALP Analyze step only pushes the needed samples to estimate the compression size in the finalize step + */ +template +bool AlpAnalyze(AnalyzeState &state, Vector &input, idx_t count) { + auto &analyze_state = (AlpAnalyzeState &)state; + bool must_skip_current_vector = alp::AlpUtils::MustSkipSamplingFromCurrentVector( + analyze_state.vectors_count, analyze_state.vectors_sampled_count, count); + analyze_state.vectors_count += 1; + analyze_state.total_values_count += count; + if (must_skip_current_vector) { + return true; + } + + UnifiedVectorFormat vdata; + input.ToUnifiedFormat(count, vdata); + auto data = UnifiedVectorFormat::GetData(vdata); + + alp::AlpSamplingParameters sampling_params = alp::AlpUtils::GetSamplingParameters(count); + + vector current_vector_null_positions(sampling_params.n_lookup_values, 0); + vector current_vector_values(sampling_params.n_lookup_values, 0); + vector current_vector_sample(sampling_params.n_sampled_values, 0); + + // Storing the entire sampled vector + //! We need to store the entire sampled vector to perform the 'analyze' compression in it + idx_t nulls_idx = 0; + // We optimize by doing a different loop when there are no nulls + if (vdata.validity.AllValid()) { + for (idx_t i = 0; i < sampling_params.n_lookup_values; i++) { + auto idx = vdata.sel->get_index(i); + T value = data[idx]; + current_vector_values[i] = value; + } + } else { + for (idx_t i = 0; i < sampling_params.n_lookup_values; i++) { + auto idx = vdata.sel->get_index(i); + T value = data[idx]; + //! We resolve null values with a predicated comparison + bool is_null = !vdata.validity.RowIsValid(idx); + current_vector_null_positions[nulls_idx] = i; + nulls_idx += is_null; + current_vector_values[i] = value; + } + alp::AlpUtils::FindAndReplaceNullsInVector(current_vector_values.data(), + current_vector_null_positions.data(), + sampling_params.n_lookup_values, nulls_idx); + } + + // Storing the sample of that vector + idx_t sample_idx = 0; + for (idx_t i = 0; i < sampling_params.n_lookup_values; i += sampling_params.n_sampled_increments) { + current_vector_sample[sample_idx] = current_vector_values[i]; + sample_idx++; + } + D_ASSERT(sample_idx == sampling_params.n_sampled_values); + + //! A std::move is needed to avoid a copy of the pushed vector + analyze_state.complete_vectors_sampled.push_back(std::move(current_vector_values)); + analyze_state.rowgroup_sample.push_back(std::move(current_vector_sample)); + analyze_state.vectors_sampled_count++; + return true; +} + +/* + * Estimate the compression size of ALP using the taken samples + */ +template +idx_t AlpFinalAnalyze(AnalyzeState &state) { + auto &analyze_state = (AlpAnalyzeState &)state; + + // Finding the Top K combinations of Exponent and Factor + alp::AlpCompression::FindTopKCombinations(analyze_state.rowgroup_sample, analyze_state.state); + + // Encode the entire sampled vectors to estimate a compression size + idx_t compressed_values = 0; + for (auto &vector_to_compress : analyze_state.complete_vectors_sampled) { + alp::AlpCompression::Compress(vector_to_compress.data(), vector_to_compress.size(), + analyze_state.state); + if (!analyze_state.HasEnoughSpace()) { + analyze_state.FlushSegment(); + } + analyze_state.FlushVector(); + compressed_values += vector_to_compress.size(); + } + + // Flush last unfinished segment + analyze_state.FlushSegment(); + + // We estimate the size by taking into account the portion of the values we took + const auto factor_of_sampling = analyze_state.total_values_count / compressed_values; + const auto final_analyze_size = analyze_state.TotalUsedBytes() * factor_of_sampling; + return final_analyze_size; // return size of data in bytes +} + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alp/alp_compress.hpp b/src/include/duckdb/storage/compression/alp/alp_compress.hpp new file mode 100644 index 000000000000..83b886207f34 --- /dev/null +++ b/src/include/duckdb/storage/compression/alp/alp_compress.hpp @@ -0,0 +1,283 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alp/alp_compress.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/storage/compression/patas/patas.hpp" +#include "duckdb/function/compression_function.hpp" +#include "duckdb/storage/compression/alp/algorithm/alp.hpp" +#include "duckdb/storage/compression/alp/alp_analyze.hpp" + +#include "duckdb/common/helper.hpp" +#include "duckdb/common/limits.hpp" +#include "duckdb/common/types/null_value.hpp" +#include "duckdb/function/compression/compression.hpp" +#include "duckdb/main/config.hpp" +#include "duckdb/storage/buffer_manager.hpp" + +#include "duckdb/storage/table/column_data_checkpointer.hpp" +#include "duckdb/storage/table/column_segment.hpp" +#include "duckdb/common/operator/subtract.hpp" + +#include + +namespace duckdb { + +template +struct AlpCompressionState : public CompressionState { + +public: + using EXACT_TYPE = typename FloatingToExact::type; + explicit AlpCompressionState(ColumnDataCheckpointer &checkpointer, AlpAnalyzeState *analyze_state) + : checkpointer(checkpointer), function(checkpointer.GetCompressionFunction(CompressionType::COMPRESSION_ALP)) { + CreateEmptySegment(checkpointer.GetRowGroup().start); + + //! Combinations found on the analyze step are needed for compression + state.best_k_combinations = analyze_state->state.best_k_combinations; + } + + ColumnDataCheckpointer &checkpointer; + CompressionFunction &function; + unique_ptr current_segment; + BufferHandle handle; + + idx_t vector_idx = 0; + idx_t nulls_idx = 0; + idx_t vectors_flushed = 0; + idx_t data_bytes_used = 0; + + data_ptr_t data_ptr; // Pointer to next free spot in segment; + data_ptr_t metadata_ptr; // Reverse pointer to the next free spot for the metadata; used in decoding to SKIP vectors + uint32_t next_vector_byte_index_start = AlpConstants::HEADER_SIZE; + + T input_vector[AlpConstants::ALP_VECTOR_SIZE]; + uint16_t vector_null_positions[AlpConstants::ALP_VECTOR_SIZE]; + + alp::AlpCompressionState state; + +public: + // Returns the space currently used in the segment (in bytes) + idx_t UsedSpace() const { + return AlpConstants::METADATA_POINTER_SIZE + data_bytes_used; + } + + // Returns the required space to store the newly compressed vector + idx_t RequiredSpace() { + idx_t required_space = + state.bp_size + (state.exceptions_count * (sizeof(EXACT_TYPE) + AlpConstants::EXCEPTION_POSITION_SIZE)) + + AlpConstants::EXPONENT_SIZE + AlpConstants::FACTOR_SIZE + AlpConstants::EXCEPTIONS_COUNT_SIZE + + AlpConstants::FOR_SIZE + AlpConstants::BIT_WIDTH_SIZE; + return required_space; + } + + bool HasEnoughSpace() { + //! If [start of block + used space + required space] is more than whats left (current position + //! of metadata pointer - the size of a new metadata pointer) + if ((handle.Ptr() + AlignValue(UsedSpace() + RequiredSpace())) >= + (metadata_ptr - AlpConstants::METADATA_POINTER_SIZE)) { + return false; + } + return true; + } + + void ResetVector() { + state.Reset(); + } + + void CreateEmptySegment(idx_t row_start) { + auto &db = checkpointer.GetDatabase(); + auto &type = checkpointer.GetType(); + auto compressed_segment = ColumnSegment::CreateTransientSegment(db, type, row_start); + current_segment = std::move(compressed_segment); + current_segment->function = function; + auto &buffer_manager = BufferManager::GetBufferManager(current_segment->db); + handle = buffer_manager.Pin(current_segment->block); + + // Pointer to the start of the compressed data + data_ptr = handle.Ptr() + current_segment->GetBlockOffset() + AlpConstants::HEADER_SIZE; + // Pointer to the start of the Metadata + metadata_ptr = handle.Ptr() + current_segment->GetBlockOffset() + Storage::BLOCK_SIZE; + + next_vector_byte_index_start = AlpConstants::HEADER_SIZE; + } + + void CompressVector() { + if (nulls_idx) { + alp::AlpUtils::FindAndReplaceNullsInVector(input_vector, vector_null_positions, vector_idx, nulls_idx); + } + alp::AlpCompression::Compress(input_vector, vector_idx, vector_null_positions, nulls_idx, state); + //! Check if the compressed vector fits on current segment + if (!HasEnoughSpace()) { + auto row_start = current_segment->start + current_segment->count; + FlushSegment(); + CreateEmptySegment(row_start); + } + + if (vector_idx != nulls_idx) { //! At least there is one valid value in the vector + for (idx_t i = 0; i < vector_idx; i++) { + NumericStats::Update(current_segment->stats.statistics, input_vector[i]); + } + } + current_segment->count += vector_idx; + FlushVector(); + } + + // Stores the vector and its metadata + void FlushVector() { + Store(state.vector_encoding_indices.exponent, data_ptr); + data_ptr += AlpConstants::EXPONENT_SIZE; + + Store(state.vector_encoding_indices.factor, data_ptr); + data_ptr += AlpConstants::FACTOR_SIZE; + + Store(state.exceptions_count, data_ptr); + data_ptr += AlpConstants::EXCEPTIONS_COUNT_SIZE; + + Store(state.frame_of_reference, data_ptr); + data_ptr += AlpConstants::FOR_SIZE; + + Store(state.bit_width, data_ptr); + data_ptr += AlpConstants::BIT_WIDTH_SIZE; + + memcpy((void *)data_ptr, (void *)state.values_encoded, state.bp_size); + // We should never go out of bounds in the values_encoded array + D_ASSERT((AlpConstants::ALP_VECTOR_SIZE * 8) >= state.bp_size); + + data_ptr += state.bp_size; + + if (state.exceptions_count > 0) { + memcpy((void *)data_ptr, (void *)state.exceptions, sizeof(EXACT_TYPE) * state.exceptions_count); + data_ptr += sizeof(EXACT_TYPE) * state.exceptions_count; + memcpy((void *)data_ptr, (void *)state.exceptions_positions, + AlpConstants::EXCEPTION_POSITION_SIZE * state.exceptions_count); + data_ptr += AlpConstants::EXCEPTION_POSITION_SIZE * state.exceptions_count; + } + + data_bytes_used += state.bp_size + + (state.exceptions_count * (sizeof(EXACT_TYPE) + AlpConstants::EXCEPTION_POSITION_SIZE)) + + AlpConstants::EXPONENT_SIZE + AlpConstants::FACTOR_SIZE + + AlpConstants::EXCEPTIONS_COUNT_SIZE + AlpConstants::FOR_SIZE + AlpConstants::BIT_WIDTH_SIZE; + + // Write pointer to the vector data (metadata) + metadata_ptr -= sizeof(uint32_t); + Store(next_vector_byte_index_start, metadata_ptr); + next_vector_byte_index_start = UsedSpace(); + + vectors_flushed++; + vector_idx = 0; + nulls_idx = 0; + ResetVector(); + } + + void FlushSegment() { + auto &checkpoint_state = checkpointer.GetCheckpointState(); + auto dataptr = handle.Ptr(); + + idx_t metadata_offset = AlignValue(UsedSpace()); + + // Verify that the metadata_ptr is not smaller than the space used by the data + D_ASSERT(dataptr + metadata_offset <= metadata_ptr); + + idx_t bytes_used_by_metadata = dataptr + Storage::BLOCK_SIZE - metadata_ptr; + + // Initially the total segment size is the size of the block + idx_t total_segment_size = Storage::BLOCK_SIZE; + + //! We compact the block if the space used is less than a threshold + const auto used_space_percentage = + static_cast(metadata_offset + bytes_used_by_metadata) / static_cast(total_segment_size); + if (used_space_percentage < AlpConstants::COMPACT_BLOCK_THRESHOLD) { +#ifdef DEBUG + //! Copy the first 4 bytes of the metadata + uint32_t verify_bytes; + memcpy((void *)&verify_bytes, metadata_ptr, 4); +#endif + memmove(dataptr + metadata_offset, metadata_ptr, bytes_used_by_metadata); +#ifdef DEBUG + //! Now assert that the memmove was correct + D_ASSERT(verify_bytes == *(uint32_t *)(dataptr + metadata_offset)); +#endif + total_segment_size = metadata_offset + bytes_used_by_metadata; + } + + // Store the offset to the end of metadata (to be used as a backwards pointer in decoding) + Store(total_segment_size, dataptr); + + handle.Destroy(); + checkpoint_state.FlushSegment(std::move(current_segment), total_segment_size); + data_bytes_used = 0; + vectors_flushed = 0; + } + + void Finalize() { + if (vector_idx != 0) { + CompressVector(); + D_ASSERT(vector_idx == 0); + } + FlushSegment(); + current_segment.reset(); + } + + void Append(UnifiedVectorFormat &vdata, idx_t count) { + auto data = UnifiedVectorFormat::GetData(vdata); + idx_t values_left_in_data = count; + idx_t offset_in_data = 0; + while (values_left_in_data > 0) { + // We calculate until which value in data we must go to fill the input_vector + // to avoid checking if input_vector is filled in each iteration + auto values_to_fill_alp_input = + MinValue(AlpConstants::ALP_VECTOR_SIZE - vector_idx, values_left_in_data); + if (vdata.validity.AllValid()) { //! We optimize a loop when there are no null + for (idx_t i = 0; i < values_to_fill_alp_input; i++) { + auto idx = vdata.sel->get_index(offset_in_data + i); + T value = data[idx]; + input_vector[vector_idx + i] = value; + } + } else { + for (idx_t i = 0; i < values_to_fill_alp_input; i++) { + auto idx = vdata.sel->get_index(offset_in_data + i); + T value = data[idx]; + bool is_null = !vdata.validity.RowIsValid(idx); + //! We resolve null values with a predicated comparison + vector_null_positions[nulls_idx] = vector_idx + i; + nulls_idx += is_null; + input_vector[vector_idx + i] = value; + } + } + offset_in_data += values_to_fill_alp_input; + values_left_in_data -= values_to_fill_alp_input; + vector_idx += values_to_fill_alp_input; + // We still need this check since we could have an incomplete input_vector at the end of data + if (vector_idx == AlpConstants::ALP_VECTOR_SIZE) { + CompressVector(); + D_ASSERT(vector_idx == 0); + } + } + } +}; + +template +unique_ptr AlpInitCompression(ColumnDataCheckpointer &checkpointer, unique_ptr state) { + return make_uniq>(checkpointer, (AlpAnalyzeState *)state.get()); +} + +template +void AlpCompress(CompressionState &state_p, Vector &scan_vector, idx_t count) { + auto &state = (AlpCompressionState &)state_p; + UnifiedVectorFormat vdata; + scan_vector.ToUnifiedFormat(count, vdata); + state.Append(vdata, count); +} + +template +void AlpFinalizeCompress(CompressionState &state_p) { + auto &state = (AlpCompressionState &)state_p; + state.Finalize(); +} + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alp/alp_constants.hpp b/src/include/duckdb/storage/compression/alp/alp_constants.hpp new file mode 100644 index 000000000000..55353dda1fb6 --- /dev/null +++ b/src/include/duckdb/storage/compression/alp/alp_constants.hpp @@ -0,0 +1,134 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alp/alp_constants.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/limits.hpp" +#include "duckdb/main/config.hpp" + +namespace duckdb { + +class AlpConstants { +public: + static constexpr uint32_t ALP_VECTOR_SIZE = 1024; + static constexpr uint32_t RG_SAMPLES = 8; + static constexpr uint16_t SAMPLES_PER_VECTOR = 32; + // We calculate how many equidistant vector we must jump within a rowgroup + static constexpr uint32_t RG_SAMPLES_DUCKDB_JUMP = (STANDARD_ROW_GROUPS_SIZE / RG_SAMPLES) / STANDARD_VECTOR_SIZE; + + static constexpr uint8_t HEADER_SIZE = sizeof(uint32_t); + static constexpr uint8_t EXPONENT_SIZE = sizeof(uint8_t); + static constexpr uint8_t FACTOR_SIZE = sizeof(uint8_t); + static constexpr uint8_t EXCEPTIONS_COUNT_SIZE = sizeof(uint16_t); + static constexpr uint8_t EXCEPTION_POSITION_SIZE = sizeof(uint16_t); + static constexpr uint8_t FOR_SIZE = sizeof(uint64_t); + static constexpr uint8_t BIT_WIDTH_SIZE = sizeof(uint8_t); + static constexpr uint8_t METADATA_POINTER_SIZE = sizeof(uint32_t); + + static constexpr uint8_t SAMPLING_EARLY_EXIT_THRESHOLD = 2; + + static constexpr double COMPACT_BLOCK_THRESHOLD = 0.80; + + // Largest double which fits into an int64 + static constexpr double ENCODING_UPPER_LIMIT = 9223372036854774784; + static constexpr double ENCODING_LOWER_LIMIT = -9223372036854774784; + + static constexpr uint8_t MAX_COMBINATIONS = 5; + + static constexpr const int64_t FACT_ARR[] = {1, + 10, + 100, + 1000, + 10000, + 100000, + 1000000, + 10000000, + 100000000, + 1000000000, + 10000000000, + 100000000000, + 1000000000000, + 10000000000000, + 100000000000000, + 1000000000000000, + 10000000000000000, + 100000000000000000, + 1000000000000000000}; +}; + +template +struct AlpTypedConstants {}; + +template <> +struct AlpTypedConstants { + + static constexpr float MAGIC_NUMBER = 12582912.0; //! 2^22 + 2^23 + static constexpr uint8_t MAX_EXPONENT = 10; + + static constexpr const float EXP_ARR[] = {1.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, + 1000000.0, 10000000.0, 100000000.0, 1000000000.0, 10000000000.0}; + + static constexpr float FRAC_ARR[] = {1.0, 0.1, 0.01, 0.001, 0.0001, 0.00001, + 0.000001, 0.0000001, 0.00000001, 0.000000001, 0.0000000001}; +}; + +template <> +struct AlpTypedConstants { + + static constexpr double MAGIC_NUMBER = 6755399441055744.0; //! 2^51 + 2^52 + static constexpr uint8_t MAX_EXPONENT = 18; //! 10^18 is the maximum int64 + + static constexpr const double EXP_ARR[] = {1.0, + 10.0, + 100.0, + 1000.0, + 10000.0, + 100000.0, + 1000000.0, + 10000000.0, + 100000000.0, + 1000000000.0, + 10000000000.0, + 100000000000.0, + 1000000000000.0, + 10000000000000.0, + 100000000000000.0, + 1000000000000000.0, + 10000000000000000.0, + 100000000000000000.0, + 1000000000000000000.0, + 10000000000000000000.0, + 100000000000000000000.0, + 1000000000000000000000.0, + 10000000000000000000000.0, + 100000000000000000000000.0}; + + static constexpr double FRAC_ARR[] = {1.0, + 0.1, + 0.01, + 0.001, + 0.0001, + 0.00001, + 0.000001, + 0.0000001, + 0.00000001, + 0.000000001, + 0.0000000001, + 0.00000000001, + 0.000000000001, + 0.0000000000001, + 0.00000000000001, + 0.000000000000001, + 0.0000000000000001, + 0.00000000000000001, + 0.000000000000000001, + 0.0000000000000000001, + 0.00000000000000000001}; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alp/alp_fetch.hpp b/src/include/duckdb/storage/compression/alp/alp_fetch.hpp new file mode 100644 index 000000000000..208c85a3d8e4 --- /dev/null +++ b/src/include/duckdb/storage/compression/alp/alp_fetch.hpp @@ -0,0 +1,42 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alp/alp_fetch.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/storage/compression/alp/alp_scan.hpp" + +#include "duckdb/common/limits.hpp" +#include "duckdb/common/types/null_value.hpp" +#include "duckdb/function/compression/compression.hpp" +#include "duckdb/function/compression_function.hpp" +#include "duckdb/main/config.hpp" +#include "duckdb/storage/buffer_manager.hpp" + +#include "duckdb/storage/table/column_data_checkpointer.hpp" +#include "duckdb/storage/table/column_segment.hpp" +#include "duckdb/common/operator/subtract.hpp" + +namespace duckdb { + +template +void AlpFetchRow(ColumnSegment &segment, ColumnFetchState &state, row_t row_id, Vector &result, idx_t result_idx) { + using EXACT_TYPE = typename FloatingToExact::type; + + AlpScanState scan_state(segment); + scan_state.Skip(segment, row_id); + auto result_data = FlatVector::GetData(result); + result_data[result_idx] = (EXACT_TYPE)0; + + if (scan_state.VectorFinished() && scan_state.total_value_count < scan_state.count) { + scan_state.LoadVector(scan_state.vector_state.decoded_values); + } + scan_state.vector_state.Scan((uint8_t *)(result_data + result_idx), 1); + scan_state.total_value_count++; +} + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alp/alp_scan.hpp b/src/include/duckdb/storage/compression/alp/alp_scan.hpp new file mode 100644 index 000000000000..93f508f4d06f --- /dev/null +++ b/src/include/duckdb/storage/compression/alp/alp_scan.hpp @@ -0,0 +1,244 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alp/alp_scan.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/storage/compression/alp/algorithm/alp.hpp" + +#include "duckdb/common/limits.hpp" +#include "duckdb/common/types/null_value.hpp" +#include "duckdb/function/compression/compression.hpp" +#include "duckdb/function/compression_function.hpp" +#include "duckdb/main/config.hpp" +#include "duckdb/storage/buffer_manager.hpp" + +#include "duckdb/storage/table/column_data_checkpointer.hpp" +#include "duckdb/storage/table/column_segment.hpp" +#include "duckdb/common/operator/subtract.hpp" +#include "duckdb/storage/table/scan_state.hpp" + +namespace duckdb { + +template +struct AlpVectorState { +public: + void Reset() { + index = 0; + } + + // Scan of the data itself + template + void Scan(uint8_t *dest, idx_t count) { + if (!SKIP) { + memcpy(dest, (void *)(decoded_values + index), sizeof(T) * count); + } + index += count; + } + + template + void LoadValues(T *value_buffer, idx_t count) { + if (SKIP) { + return; + } + value_buffer[0] = (T)0; + alp::AlpDecompression::Decompress(for_encoded, value_buffer, count, v_factor, v_exponent, exceptions_count, + exceptions, exceptions_positions, frame_of_reference, bit_width); + } + +public: + idx_t index; + T decoded_values[AlpConstants::ALP_VECTOR_SIZE]; + T exceptions[AlpConstants::ALP_VECTOR_SIZE]; + uint16_t exceptions_positions[AlpConstants::ALP_VECTOR_SIZE]; + uint8_t for_encoded[AlpConstants::ALP_VECTOR_SIZE * 8]; + uint8_t v_exponent; + uint8_t v_factor; + uint16_t exceptions_count; + uint64_t frame_of_reference; + uint8_t bit_width; +}; + +template +struct AlpScanState : public SegmentScanState { +public: + using EXACT_TYPE = typename FloatingToExact::type; + + explicit AlpScanState(ColumnSegment &segment) : segment(segment), count(segment.count) { + auto &buffer_manager = BufferManager::GetBufferManager(segment.db); + handle = buffer_manager.Pin(segment.block); + // ScanStates never exceed the boundaries of a Segment, + // but are not guaranteed to start at the beginning of the Block + segment_data = handle.Ptr() + segment.GetBlockOffset(); + auto metadata_offset = Load(segment_data); + metadata_ptr = segment_data + metadata_offset; + } + + BufferHandle handle; + data_ptr_t metadata_ptr; + data_ptr_t segment_data; + idx_t total_value_count = 0; + AlpVectorState vector_state; + + ColumnSegment &segment; + idx_t count; + + idx_t LeftInVector() const { + return AlpConstants::ALP_VECTOR_SIZE - (total_value_count % AlpConstants::ALP_VECTOR_SIZE); + } + + inline bool VectorFinished() const { + return (total_value_count % AlpConstants::ALP_VECTOR_SIZE) == 0; + } + + // Scan up to a vector boundary + template + void ScanVector(T *values, idx_t vector_size) { + D_ASSERT(vector_size <= AlpConstants::ALP_VECTOR_SIZE); + D_ASSERT(vector_size <= LeftInVector()); + if (VectorFinished() && total_value_count < count) { + if (vector_size == AlpConstants::ALP_VECTOR_SIZE) { + LoadVector(values); + total_value_count += vector_size; + return; + } else { + // Even if SKIP is given, the vector size is not big enough to be able to fully skip the entire vector + LoadVector(vector_state.decoded_values); + } + } + vector_state.template Scan((uint8_t *)values, vector_size); + + total_value_count += vector_size; + } + + // Using the metadata, we can avoid loading any of the data if we don't care about the vector at all + void SkipVector() { + // Skip the offset indicating where the data starts + metadata_ptr -= AlpConstants::METADATA_POINTER_SIZE; + idx_t vector_size = MinValue((idx_t)AlpConstants::ALP_VECTOR_SIZE, count - total_value_count); + total_value_count += vector_size; + } + + template + void LoadVector(T *value_buffer) { + vector_state.Reset(); + + // Load the offset (metadata) indicating where the vector data starts + metadata_ptr -= AlpConstants::METADATA_POINTER_SIZE; + auto data_byte_offset = Load(metadata_ptr); + D_ASSERT(data_byte_offset < Storage::BLOCK_SIZE); + + idx_t vector_size = MinValue((idx_t)AlpConstants::ALP_VECTOR_SIZE, (count - total_value_count)); + + data_ptr_t vector_ptr = segment_data + data_byte_offset; + + // Load the vector data + vector_state.v_exponent = Load(vector_ptr); + vector_ptr += AlpConstants::EXPONENT_SIZE; + + vector_state.v_factor = Load(vector_ptr); + vector_ptr += AlpConstants::FACTOR_SIZE; + + vector_state.exceptions_count = Load(vector_ptr); + vector_ptr += AlpConstants::EXCEPTIONS_COUNT_SIZE; + + vector_state.frame_of_reference = Load(vector_ptr); + vector_ptr += AlpConstants::FOR_SIZE; + + vector_state.bit_width = Load(vector_ptr); + vector_ptr += AlpConstants::BIT_WIDTH_SIZE; + + D_ASSERT(vector_state.exceptions_count <= vector_size); + D_ASSERT(vector_state.v_exponent <= AlpTypedConstants::MAX_EXPONENT); + D_ASSERT(vector_state.v_factor <= vector_state.v_exponent); + D_ASSERT(vector_state.bit_width <= sizeof(uint64_t) * 8); + + if (vector_state.bit_width > 0) { + auto bp_size = BitpackingPrimitives::GetRequiredSize(vector_size, vector_state.bit_width); + memcpy(vector_state.for_encoded, (void *)vector_ptr, bp_size); + vector_ptr += bp_size; + } + + if (vector_state.exceptions_count > 0) { + memcpy(vector_state.exceptions, (void *)vector_ptr, sizeof(EXACT_TYPE) * vector_state.exceptions_count); + vector_ptr += sizeof(EXACT_TYPE) * vector_state.exceptions_count; + memcpy(vector_state.exceptions_positions, (void *)vector_ptr, + AlpConstants::EXCEPTION_POSITION_SIZE * vector_state.exceptions_count); + } + + // Decode all the vector values to the specified 'value_buffer' + vector_state.template LoadValues(value_buffer, vector_size); + } + +public: + //! Skip the next 'skip_count' values, we don't store the values + void Skip(ColumnSegment &col_segment, idx_t skip_count) { + + if (total_value_count != 0 && !VectorFinished()) { + // Finish skipping the current vector + idx_t to_skip = LeftInVector(); + skip_count -= to_skip; + ScanVector(nullptr, to_skip); + } + // Figure out how many entire vectors we can skip + // For these vectors, we don't even need to process the metadata or values + idx_t vectors_to_skip = skip_count / AlpConstants::ALP_VECTOR_SIZE; + for (idx_t i = 0; i < vectors_to_skip; i++) { + SkipVector(); + } + skip_count -= AlpConstants::ALP_VECTOR_SIZE * vectors_to_skip; + if (skip_count == 0) { + return; + } + // For the last vector that this skip (partially) touches, we do need to + // load the metadata and values into the vector_state because + // we don't know exactly how many they are + ScanVector(nullptr, skip_count); + } +}; + +template +unique_ptr AlpInitScan(ColumnSegment &segment) { + auto result = make_uniq_base>(segment); + return result; +} + +//===--------------------------------------------------------------------===// +// Scan base data +//===--------------------------------------------------------------------===// +template +void AlpScanPartial(ColumnSegment &segment, ColumnScanState &state, idx_t scan_count, Vector &result, + idx_t result_offset) { + auto &scan_state = (AlpScanState &)*state.scan_state; + + // Get the pointer to the result values + auto current_result_ptr = FlatVector::GetData(result); + result.SetVectorType(VectorType::FLAT_VECTOR); + current_result_ptr += result_offset; + + idx_t scanned = 0; + while (scanned < scan_count) { + const auto remaining = scan_count - scanned; + const idx_t to_scan = MinValue(remaining, scan_state.LeftInVector()); + + scan_state.template ScanVector(current_result_ptr + scanned, to_scan); + scanned += to_scan; + } +} + +template +void AlpSkip(ColumnSegment &segment, ColumnScanState &state, idx_t skip_count) { + auto &scan_state = (AlpScanState &)*state.scan_state; + scan_state.Skip(segment, skip_count); +} + +template +void AlpScan(ColumnSegment &segment, ColumnScanState &state, idx_t scan_count, Vector &result) { + AlpScanPartial(segment, state, scan_count, result, 0); +} + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alp/alp_utils.hpp b/src/include/duckdb/storage/compression/alp/alp_utils.hpp new file mode 100644 index 000000000000..dd6b566ada86 --- /dev/null +++ b/src/include/duckdb/storage/compression/alp/alp_utils.hpp @@ -0,0 +1,103 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alp/alp_utils.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/function/compression_function.hpp" +#include "duckdb/storage/compression/alp/alp_constants.hpp" +#include "duckdb/storage/compression/patas/patas.hpp" + +#include + +namespace duckdb { + +namespace alp { + +struct AlpSamplingParameters { + uint32_t n_lookup_values; + uint32_t n_sampled_increments; + uint32_t n_sampled_values; + + AlpSamplingParameters(uint32_t n_lookup_values, uint32_t n_sampled_increments, uint32_t n_sampled_values) + : n_lookup_values(n_lookup_values), n_sampled_increments(n_sampled_increments), + n_sampled_values(n_sampled_values) { + } +}; + +class AlpUtils { +public: + AlpUtils() { + } + +public: + static AlpSamplingParameters GetSamplingParameters(idx_t current_vector_n_values) { + + uint32_t n_lookup_values = MinValue(current_vector_n_values, (idx_t)AlpConstants::ALP_VECTOR_SIZE); + //! We sample equidistant values within a vector; to do this we jump a fixed number of values + uint32_t n_sampled_increments = + MaxValue(1, (int32_t)std::ceil((double)n_lookup_values / AlpConstants::SAMPLES_PER_VECTOR)); + uint32_t n_sampled_values = std::ceil((double)n_lookup_values / n_sampled_increments); + D_ASSERT(n_sampled_values < AlpConstants::ALP_VECTOR_SIZE); + + AlpSamplingParameters sampling_params = {n_lookup_values, n_sampled_increments, n_sampled_values}; + return sampling_params; + } + + static bool MustSkipSamplingFromCurrentVector(idx_t vectors_count, idx_t vectors_sampled_count, + idx_t current_vector_n_values) { + //! We sample equidistant vectors; to do this we skip a fixed values of vectors + bool must_select_rowgroup_samples = (vectors_count % AlpConstants::RG_SAMPLES_DUCKDB_JUMP) == 0; + + //! If we are not in the correct jump, we do not take sample from this vector + if (!must_select_rowgroup_samples) { + return true; + } + + //! We do not take samples of non-complete duckdb vectors (usually the last one) + //! Except in the case of too little data + if (current_vector_n_values < AlpConstants::SAMPLES_PER_VECTOR && vectors_sampled_count != 0) { + return true; + } + return false; + } + + template + static T FindFirstValueNotInPositionsArray(const T *input_vector, const uint16_t *positions, idx_t values_count) { + T a_non_special_value = 0; + for (idx_t i = 0; i < values_count; i++) { + if (i != positions[i]) { + a_non_special_value = input_vector[i]; + break; + } + } + return a_non_special_value; + } + + template + static void ReplaceValueInVectorPositions(T *input_vector, const uint16_t *positions_to_replace, + idx_t special_values_count, T value_to_replace) { + for (idx_t i = 0; i < special_values_count; i++) { + uint16_t null_value_pos = positions_to_replace[i]; + input_vector[null_value_pos] = value_to_replace; + } + } + + template + static void FindAndReplaceNullsInVector(T *input_vector, const uint16_t *vector_null_positions, idx_t values_count, + idx_t nulls_count) { + if (nulls_count == 0) { + return; + } + T a_non_null_value = FindFirstValueNotInPositionsArray(input_vector, vector_null_positions, values_count); + ReplaceValueInVectorPositions(input_vector, vector_null_positions, nulls_count, a_non_null_value); + } +}; + +} // namespace alp + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alprd/algorithm/LICENSE b/src/include/duckdb/storage/compression/alprd/algorithm/LICENSE new file mode 100644 index 000000000000..46301aaa73d1 --- /dev/null +++ b/src/include/duckdb/storage/compression/alprd/algorithm/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 CWI, Azim Afroozeh, Leonardo Xavier Kuffo Rivero + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/src/include/duckdb/storage/compression/alprd/algorithm/alprd.hpp b/src/include/duckdb/storage/compression/alprd/algorithm/alprd.hpp new file mode 100644 index 000000000000..cee6e20bd557 --- /dev/null +++ b/src/include/duckdb/storage/compression/alprd/algorithm/alprd.hpp @@ -0,0 +1,235 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alprd/algorithm/alprd.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/storage/compression/patas/patas.hpp" +#include "duckdb/storage/compression/alprd/alprd_constants.hpp" + +#include "duckdb/common/bitpacking.hpp" +#include "duckdb/common/common.hpp" +#include "duckdb/common/pair.hpp" +#include "duckdb/common/unordered_map.hpp" +#include "duckdb/common/limits.hpp" + +#include + +namespace duckdb { + +namespace alp { + +struct AlpRDLeftPartInfo { + uint32_t count; + uint64_t hash; + AlpRDLeftPartInfo(uint32_t count, uint64_t hash) : count(count), hash(hash) { + } +}; + +template +class AlpRDCompressionState { +public: + using EXACT_TYPE = typename FloatingToExact::type; + + AlpRDCompressionState() : right_bit_width(0), left_bit_width(0), exceptions_count(0) { + } + + void Reset() { + left_bit_packed_size = 0; + right_bit_packed_size = 0; + exceptions_count = 0; + } + +public: + uint8_t right_bit_width; // 'right' & 'left' refer to the respective parts of the floating numbers after splitting + uint8_t left_bit_width; + uint16_t exceptions_count; + uint8_t right_parts_encoded[AlpRDConstants::ALP_VECTOR_SIZE * 8]; + uint8_t left_parts_encoded[AlpRDConstants::ALP_VECTOR_SIZE * 8]; + uint16_t left_parts_dict[AlpRDConstants::MAX_DICTIONARY_SIZE]; + uint16_t exceptions[AlpRDConstants::ALP_VECTOR_SIZE]; + uint16_t exceptions_positions[AlpRDConstants::ALP_VECTOR_SIZE]; + idx_t left_bit_packed_size; + idx_t right_bit_packed_size; + unordered_map left_parts_dict_map; + uint8_t actual_dictionary_size; +}; + +template +struct AlpRDCompression { + using State = AlpRDCompressionState; + using EXACT_TYPE = typename FloatingToExact::type; + static constexpr uint8_t EXACT_TYPE_BITSIZE = sizeof(EXACT_TYPE) * 8; + + /* + * Estimate the bits per value of ALPRD within a sample + */ + static double EstimateCompressionSize(uint8_t right_bit_width, uint8_t left_bit_width, uint16_t exceptions_count, + uint64_t sample_count) { + double exceptions_size = + exceptions_count * ((AlpRDConstants::EXCEPTION_POSITION_SIZE + AlpRDConstants::EXCEPTION_SIZE) * 8); + double estimated_size = right_bit_width + left_bit_width + (exceptions_size / sample_count); + return estimated_size; + } + + template + static double BuildLeftPartsDictionary(const vector &values, uint8_t right_bit_width, State &state) { + unordered_map left_parts_hash; + vector left_parts_sorted_repetitions; + + // Building a hash for all the left parts and how many times they appear + for (auto &value : values) { + auto left_tmp = value >> right_bit_width; + left_parts_hash[left_tmp]++; + } + + // We build a vector from the hash to be able to sort it by repetition count + left_parts_sorted_repetitions.reserve(left_parts_hash.size()); + for (auto &hash_pair : left_parts_hash) { + left_parts_sorted_repetitions.emplace_back(hash_pair.second, hash_pair.first); + } + sort(left_parts_sorted_repetitions.begin(), left_parts_sorted_repetitions.end(), + [](const AlpRDLeftPartInfo &a, const AlpRDLeftPartInfo &b) { return a.count > b.count; }); + + // Exceptions are left parts which do not fit in the fixed dictionary size + uint32_t exceptions_count = 0; + for (idx_t i = AlpRDConstants::MAX_DICTIONARY_SIZE; i < left_parts_sorted_repetitions.size(); i++) { + exceptions_count += left_parts_sorted_repetitions[i].count; + } + + // The left parts bit width after compression is determined by how many elements are in the dictionary + uint64_t actual_dictionary_size = + MinValue(AlpRDConstants::MAX_DICTIONARY_SIZE, left_parts_sorted_repetitions.size()); + uint8_t left_bit_width = MaxValue(1, std::ceil(std::log2(actual_dictionary_size))); + + if (PERSIST_DICT) { + for (idx_t dict_idx = 0; dict_idx < actual_dictionary_size; dict_idx++) { + //! The dict keys are mapped to the left part themselves + state.left_parts_dict[dict_idx] = left_parts_sorted_repetitions[dict_idx].hash; + state.left_parts_dict_map.insert({state.left_parts_dict[dict_idx], dict_idx}); + } + //! Pararelly we store a map of the dictionary to quickly resolve exceptions during encoding + for (idx_t i = actual_dictionary_size + 1; i < left_parts_sorted_repetitions.size(); i++) { + state.left_parts_dict_map.insert({left_parts_sorted_repetitions[i].hash, i}); + } + state.left_bit_width = left_bit_width; + state.right_bit_width = right_bit_width; + state.actual_dictionary_size = actual_dictionary_size; + + D_ASSERT(state.left_bit_width > 0 && state.right_bit_width > 0 && + state.left_bit_width <= AlpRDConstants::MAX_DICTIONARY_BIT_WIDTH && + state.actual_dictionary_size <= AlpRDConstants::MAX_DICTIONARY_SIZE); + } + + double estimated_size = + EstimateCompressionSize(right_bit_width, left_bit_width, exceptions_count, values.size()); + return estimated_size; + } + + static double FindBestDictionary(const vector &values, State &state) { + uint8_t right_bit_width; + double best_dict_size = NumericLimits::Maximum(); + //! Finding the best position to CUT the values + for (idx_t i = 1; i <= AlpRDConstants::CUTTING_LIMIT; i++) { + uint8_t candidate_right_bit_width = EXACT_TYPE_BITSIZE - i; + double estimated_size = BuildLeftPartsDictionary(values, candidate_right_bit_width, state); + if (estimated_size <= best_dict_size) { + right_bit_width = candidate_right_bit_width; + best_dict_size = estimated_size; + } + // TODO: We could implement an early exit mechanism similar to normal ALP + } + double estimated_size = BuildLeftPartsDictionary(values, right_bit_width, state); + return estimated_size; + } + + static void Compress(const EXACT_TYPE *input_vector, idx_t n_values, State &state) { + + uint64_t right_parts[AlpRDConstants::ALP_VECTOR_SIZE]; + uint16_t left_parts[AlpRDConstants::ALP_VECTOR_SIZE]; + + // Cutting the floating point values + for (idx_t i = 0; i < n_values; i++) { + EXACT_TYPE tmp = input_vector[i]; + right_parts[i] = tmp & ((1ULL << state.right_bit_width) - 1); + left_parts[i] = (tmp >> state.right_bit_width); + } + + // Dictionary encoding for left parts + for (idx_t i = 0; i < n_values; i++) { + uint16_t dictionary_index; + auto dictionary_key = left_parts[i]; + if (state.left_parts_dict_map.find(dictionary_key) == state.left_parts_dict_map.end()) { + //! If not found on the dictionary we store the smallest non-key index as exception (the dict size) + dictionary_index = state.actual_dictionary_size; + } else { + dictionary_index = state.left_parts_dict_map[dictionary_key]; + } + left_parts[i] = dictionary_index; + + //! Left parts not found in the dictionary are stored as exceptions + if (dictionary_index >= state.actual_dictionary_size) { + state.exceptions[state.exceptions_count] = dictionary_key; + state.exceptions_positions[state.exceptions_count] = i; + state.exceptions_count++; + } + } + + auto right_bit_packed_size = BitpackingPrimitives::GetRequiredSize(n_values, state.right_bit_width); + auto left_bit_packed_size = BitpackingPrimitives::GetRequiredSize(n_values, state.left_bit_width); + + if (!EMPTY) { + // Bitpacking Left and Right parts + BitpackingPrimitives::PackBuffer(state.left_parts_encoded, left_parts, n_values, + state.left_bit_width); + BitpackingPrimitives::PackBuffer(state.right_parts_encoded, right_parts, n_values, + state.right_bit_width); + } + + state.left_bit_packed_size = left_bit_packed_size; + state.right_bit_packed_size = right_bit_packed_size; + } +}; + +template +struct AlpRDDecompression { + using EXACT_TYPE = typename FloatingToExact::type; + + static void Decompress(uint8_t *left_encoded, uint8_t *right_encoded, const uint16_t *left_parts_dict, + EXACT_TYPE *output, idx_t values_count, uint16_t exceptions_count, + const uint16_t *exceptions, const uint16_t *exceptions_positions, uint8_t left_bit_width, + uint8_t right_bit_width) { + + uint8_t left_decoded[AlpRDConstants::ALP_VECTOR_SIZE * 8] = {0}; + uint8_t right_decoded[AlpRDConstants::ALP_VECTOR_SIZE * 8] = {0}; + + // Bitunpacking left and right parts + BitpackingPrimitives::UnPackBuffer(left_decoded, left_encoded, values_count, left_bit_width); + BitpackingPrimitives::UnPackBuffer(right_decoded, right_encoded, values_count, right_bit_width); + + uint16_t *left_parts = reinterpret_cast(data_ptr_cast(left_decoded)); + EXACT_TYPE *right_parts = reinterpret_cast(data_ptr_cast(right_decoded)); + + // Decoding + for (idx_t i = 0; i < values_count; i++) { + uint16_t left = left_parts_dict[left_parts[i]]; + EXACT_TYPE right = right_parts[i]; + output[i] = (static_cast(left) << right_bit_width) | right; + } + + // Exceptions Patching (exceptions only occur in left parts) + for (idx_t i = 0; i < exceptions_count; i++) { + EXACT_TYPE right = right_parts[exceptions_positions[i]]; + uint16_t left = exceptions[i]; + output[exceptions_positions[i]] = (static_cast(left) << right_bit_width) | right; + } + } +}; + +} // namespace alp + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp b/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp new file mode 100644 index 000000000000..6a2522ba63b4 --- /dev/null +++ b/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp @@ -0,0 +1,134 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alprd/alprd_analyze.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/function/compression_function.hpp" +#include "duckdb/storage/compression/patas/patas.hpp" +#include "duckdb/storage/compression/alprd/algorithm/alprd.hpp" +#include "duckdb/storage/compression/alprd/alprd_constants.hpp" +#include "duckdb/storage/compression/alp/alp_utils.hpp" +#include "duckdb/storage/compression/alp/alp_constants.hpp" + +#include + +namespace duckdb { + +template +struct AlpRDAnalyzeState : public AnalyzeState { +public: + using EXACT_TYPE = typename FloatingToExact::type; + + AlpRDAnalyzeState() : state() { + } + + idx_t vectors_count = 0; + idx_t total_values_count = 0; + idx_t vectors_sampled_count = 0; + vector rowgroup_sample; + alp::AlpRDCompressionState state; +}; + +template +unique_ptr AlpRDInitAnalyze(ColumnData &col_data, PhysicalType type) { + return make_uniq>(); +} + +/* + * ALPRD Analyze step only pushes the needed samples to estimate the compression size in the finalize step + */ +template +bool AlpRDAnalyze(AnalyzeState &state, Vector &input, idx_t count) { + using EXACT_TYPE = typename FloatingToExact::type; + auto &analyze_state = (AlpRDAnalyzeState &)state; + + bool must_skip_current_vector = alp::AlpUtils::MustSkipSamplingFromCurrentVector( + analyze_state.vectors_count, analyze_state.vectors_sampled_count, count); + analyze_state.vectors_count += 1; + analyze_state.total_values_count += count; + if (must_skip_current_vector) { + return true; + } + + UnifiedVectorFormat vdata; + input.ToUnifiedFormat(count, vdata); + auto data = UnifiedVectorFormat::GetData(vdata); + + alp::AlpSamplingParameters sampling_params = alp::AlpUtils::GetSamplingParameters(count); + + vector current_vector_null_positions(sampling_params.n_lookup_values, 0); + vector current_vector_sample(sampling_params.n_sampled_values, 0); + + // Storing the sample of that vector + idx_t sample_idx = 0; + idx_t nulls_idx = 0; + // We optimize by doing a different loop when there are no nulls + if (vdata.validity.AllValid()) { + for (idx_t i = 0; i < sampling_params.n_lookup_values; i += sampling_params.n_sampled_increments) { + auto idx = vdata.sel->get_index(i); + EXACT_TYPE value = Load(const_data_ptr_cast(&data[idx])); + current_vector_sample[sample_idx] = value; + sample_idx++; + } + } else { + for (idx_t i = 0; i < sampling_params.n_lookup_values; i += sampling_params.n_sampled_increments) { + auto idx = vdata.sel->get_index(i); + EXACT_TYPE value = Load(const_data_ptr_cast(&data[idx])); + current_vector_sample[sample_idx] = value; + //! We resolve null values with a predicated comparison + bool is_null = !vdata.validity.RowIsValid(idx); + current_vector_null_positions[nulls_idx] = sample_idx; + nulls_idx += is_null; + sample_idx++; + } + alp::AlpUtils::FindAndReplaceNullsInVector(current_vector_sample.data(), + current_vector_null_positions.data(), + sampling_params.n_sampled_values, nulls_idx); + } + + D_ASSERT(sample_idx == sampling_params.n_sampled_values); + + // Pushing the sampled vector samples into the rowgroup samples + for (auto &value : current_vector_sample) { + analyze_state.rowgroup_sample.push_back(value); + } + + analyze_state.vectors_sampled_count++; + return true; +} + +/* + * Estimate the compression size of ALPRD using the taken samples + */ +template +idx_t AlpRDFinalAnalyze(AnalyzeState &state) { + auto &analyze_state = (AlpRDAnalyzeState &)state; + double factor_of_sampling = 1 / ((double)analyze_state.rowgroup_sample.size() / analyze_state.total_values_count); + + // Finding which is the best dictionary for the sample + double estimated_bits_per_value = + alp::AlpRDCompression::FindBestDictionary(analyze_state.rowgroup_sample, analyze_state.state); + double estimated_compressed_bits = estimated_bits_per_value * analyze_state.rowgroup_sample.size(); + double estimed_compressed_bytes = estimated_compressed_bits / 8; + + //! Overhead per segment: [Pointer to metadata + right bitwidth + left bitwidth + n dict elems] + Dictionary Size + double per_segment_overhead = AlpRDConstants::HEADER_SIZE + AlpRDConstants::MAX_DICTIONARY_SIZE_BYTES; + + //! Overhead per vector: Pointer to data + Exceptions count + double per_vector_overhead = AlpRDConstants::METADATA_POINTER_SIZE + AlpRDConstants::EXCEPTIONS_COUNT_SIZE; + + uint32_t n_vectors = std::ceil((double)analyze_state.total_values_count / AlpRDConstants::ALP_VECTOR_SIZE); + + auto estimated_size = (estimed_compressed_bytes * factor_of_sampling) + (n_vectors * per_vector_overhead); + uint32_t estimated_n_blocks = std::ceil(estimated_size / (Storage::BLOCK_SIZE - per_segment_overhead)); + + auto final_analyze_size = estimated_size + (estimated_n_blocks * per_segment_overhead); + return final_analyze_size; +} + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp b/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp new file mode 100644 index 000000000000..23e74845fde5 --- /dev/null +++ b/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp @@ -0,0 +1,301 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alprd/alprd_compress.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/storage/compression/patas/patas.hpp" +#include "duckdb/storage/compression/alprd/algorithm/alprd.hpp" +#include "duckdb/function/compression_function.hpp" +#include "duckdb/storage/compression/alprd/alprd_analyze.hpp" +#include "duckdb/storage/compression/alprd/alprd_constants.hpp" +#include "duckdb/storage/compression/alp/alp_constants.hpp" + +#include "duckdb/common/helper.hpp" +#include "duckdb/common/limits.hpp" +#include "duckdb/common/types/null_value.hpp" +#include "duckdb/function/compression/compression.hpp" +#include "duckdb/main/config.hpp" +#include "duckdb/storage/buffer_manager.hpp" + +#include "duckdb/storage/table/column_data_checkpointer.hpp" +#include "duckdb/storage/table/column_segment.hpp" +#include "duckdb/common/operator/subtract.hpp" + +#include + +namespace duckdb { + +template +struct AlpRDCompressionState : public CompressionState { + +public: + using EXACT_TYPE = typename FloatingToExact::type; + explicit AlpRDCompressionState(ColumnDataCheckpointer &checkpointer, AlpRDAnalyzeState *analyze_state) + : checkpointer(checkpointer), + function(checkpointer.GetCompressionFunction(CompressionType::COMPRESSION_ALPRD)) { + //! State variables from the analyze step that are needed for compression + state.left_parts_dict_map = std::move(analyze_state->state.left_parts_dict_map); + state.left_bit_width = analyze_state->state.left_bit_width; + state.right_bit_width = analyze_state->state.right_bit_width; + state.actual_dictionary_size = analyze_state->state.actual_dictionary_size; + actual_dictionary_size_bytes = state.actual_dictionary_size * AlpRDConstants::DICTIONARY_ELEMENT_SIZE; + next_vector_byte_index_start = AlpRDConstants::HEADER_SIZE + actual_dictionary_size_bytes; + memcpy((void *)state.left_parts_dict, (void *)analyze_state->state.left_parts_dict, + actual_dictionary_size_bytes); + CreateEmptySegment(checkpointer.GetRowGroup().start); + } + + ColumnDataCheckpointer &checkpointer; + CompressionFunction &function; + unique_ptr current_segment; + BufferHandle handle; + + idx_t vector_idx = 0; + idx_t nulls_idx = 0; + idx_t vectors_flushed = 0; + idx_t data_bytes_used = 0; + + data_ptr_t data_ptr; // Pointer to next free spot in segment; + data_ptr_t metadata_ptr; // Reverse pointer to the next free spot for the metadata; used in decoding to SKIP vectors + uint32_t actual_dictionary_size_bytes; + uint32_t next_vector_byte_index_start; + + EXACT_TYPE input_vector[AlpRDConstants::ALP_VECTOR_SIZE]; + uint16_t vector_null_positions[AlpRDConstants::ALP_VECTOR_SIZE]; + + alp::AlpRDCompressionState state; + +public: + // Returns the space currently used in the segment (in bytes) + idx_t UsedSpace() const { + //! [Pointer to metadata + right bitwidth] + Dictionary Size + Bytes already used in the segment + return AlpRDConstants::HEADER_SIZE + actual_dictionary_size_bytes + data_bytes_used; + } + + // Returns the required space to store the newly compressed vector + idx_t RequiredSpace() { + idx_t required_space = + state.left_bit_packed_size + state.right_bit_packed_size + + state.exceptions_count * (AlpRDConstants::EXCEPTION_SIZE + AlpRDConstants::EXCEPTION_POSITION_SIZE) + + AlpRDConstants::EXCEPTIONS_COUNT_SIZE; + return required_space; + } + + bool HasEnoughSpace() { + //! If [start of block + used space + required space] is more than whats left (current position + //! of metadata pointer - the size of a new metadata pointer) + if ((handle.Ptr() + AlignValue(UsedSpace() + RequiredSpace())) >= + (metadata_ptr - AlpRDConstants::METADATA_POINTER_SIZE)) { + return false; + } + return true; + } + + void ResetVector() { + state.Reset(); + } + + void CreateEmptySegment(idx_t row_start) { + auto &db = checkpointer.GetDatabase(); + auto &type = checkpointer.GetType(); + auto compressed_segment = ColumnSegment::CreateTransientSegment(db, type, row_start); + compressed_segment->function = function; + current_segment = std::move(compressed_segment); + + auto &buffer_manager = BufferManager::GetBufferManager(db); + handle = buffer_manager.Pin(current_segment->block); + + // Pointer to the start of the compressed data + data_ptr = handle.Ptr() + current_segment->GetBlockOffset() + AlpRDConstants::HEADER_SIZE + + actual_dictionary_size_bytes; + // Pointer to the start of the Metadata + metadata_ptr = handle.Ptr() + current_segment->GetBlockOffset() + Storage::BLOCK_SIZE; + + next_vector_byte_index_start = AlpRDConstants::HEADER_SIZE + actual_dictionary_size_bytes; + } + + void CompressVector() { + if (nulls_idx) { + alp::AlpUtils::FindAndReplaceNullsInVector(input_vector, vector_null_positions, vector_idx, + nulls_idx); + } + alp::AlpRDCompression::Compress(input_vector, vector_idx, state); + //! Check if the compressed vector fits on current segment + if (!HasEnoughSpace()) { + auto row_start = current_segment->start + current_segment->count; + FlushSegment(); + CreateEmptySegment(row_start); + } + if (vector_idx != nulls_idx) { //! At least there is one valid value in the vector + for (idx_t i = 0; i < vector_idx; i++) { + T floating_point_value = Load(const_data_ptr_cast(&input_vector[i])); + NumericStats::Update(current_segment->stats.statistics, floating_point_value); + } + } + current_segment->count += vector_idx; + FlushVector(); + } + + // Stores the vector and its metadata + void FlushVector() { + Store(state.exceptions_count, data_ptr); + data_ptr += AlpRDConstants::EXCEPTIONS_COUNT_SIZE; + + memcpy((void *)data_ptr, (void *)state.left_parts_encoded, state.left_bit_packed_size); + data_ptr += state.left_bit_packed_size; + + memcpy((void *)data_ptr, (void *)state.right_parts_encoded, state.right_bit_packed_size); + data_ptr += state.right_bit_packed_size; + + if (state.exceptions_count > 0) { + memcpy((void *)data_ptr, (void *)state.exceptions, AlpRDConstants::EXCEPTION_SIZE * state.exceptions_count); + data_ptr += AlpRDConstants::EXCEPTION_SIZE * state.exceptions_count; + memcpy((void *)data_ptr, (void *)state.exceptions_positions, + AlpRDConstants::EXCEPTION_POSITION_SIZE * state.exceptions_count); + data_ptr += AlpRDConstants::EXCEPTION_POSITION_SIZE * state.exceptions_count; + } + + data_bytes_used += + state.left_bit_packed_size + state.right_bit_packed_size + + (state.exceptions_count * (AlpRDConstants::EXCEPTION_SIZE + AlpRDConstants::EXCEPTION_POSITION_SIZE)) + + AlpRDConstants::EXCEPTIONS_COUNT_SIZE; + + // Write pointer to the vector data (metadata) + metadata_ptr -= AlpRDConstants::METADATA_POINTER_SIZE; + Store(next_vector_byte_index_start, metadata_ptr); + next_vector_byte_index_start = UsedSpace(); + + vectors_flushed++; + vector_idx = 0; + nulls_idx = 0; + ResetVector(); + } + + void FlushSegment() { + auto &checkpoint_state = checkpointer.GetCheckpointState(); + auto dataptr = handle.Ptr(); + + idx_t metadata_offset = AlignValue(UsedSpace()); + + // Verify that the metadata_ptr is not smaller than the space used by the data + D_ASSERT(dataptr + metadata_offset <= metadata_ptr); + + idx_t bytes_used_by_metadata = dataptr + Storage::BLOCK_SIZE - metadata_ptr; + + // Initially the total segment size is the size of the block + idx_t total_segment_size = Storage::BLOCK_SIZE; + + //! We compact the block if the space used is less than a threshold + const auto used_space_percentage = + static_cast(metadata_offset + bytes_used_by_metadata) / static_cast(total_segment_size); + if (used_space_percentage < AlpConstants::COMPACT_BLOCK_THRESHOLD) { +#ifdef DEBUG + //! Copy the first 4 bytes of the metadata + uint32_t verify_bytes; + memcpy((void *)&verify_bytes, metadata_ptr, 4); +#endif + memmove(dataptr + metadata_offset, metadata_ptr, bytes_used_by_metadata); +#ifdef DEBUG + //! Now assert that the memmove was correct + D_ASSERT(verify_bytes == *(uint32_t *)(dataptr + metadata_offset)); +#endif + total_segment_size = metadata_offset + bytes_used_by_metadata; + } + + // Store the offset to the end of metadata (to be used as a backwards pointer in decoding) + Store(total_segment_size, dataptr); + dataptr += AlpRDConstants::METADATA_POINTER_SIZE; + + // Store the right bw for the segment + Store(state.right_bit_width, dataptr); + dataptr += AlpRDConstants::RIGHT_BIT_WIDTH_SIZE; + + // Store the left bw for the segment + Store(state.left_bit_width, dataptr); + dataptr += AlpRDConstants::LEFT_BIT_WIDTH_SIZE; + + // Store the actual number of elements on the dictionary of the segment + Store(state.actual_dictionary_size, dataptr); + dataptr += AlpRDConstants::N_DICTIONARY_ELEMENTS_SIZE; + + // Store the Dictionary + memcpy((void *)dataptr, (void *)state.left_parts_dict, actual_dictionary_size_bytes); + + handle.Destroy(); + checkpoint_state.FlushSegment(std::move(current_segment), total_segment_size); + data_bytes_used = 0; + vectors_flushed = 0; + } + + void Finalize() { + if (vector_idx != 0) { + CompressVector(); + } + FlushSegment(); + current_segment.reset(); + } + + void Append(UnifiedVectorFormat &vdata, idx_t count) { + auto data = UnifiedVectorFormat::GetData(vdata); + idx_t values_left_in_data = count; + idx_t offset_in_data = 0; + while (values_left_in_data > 0) { + // We calculate until which value in data we must go to fill the input_vector + // to avoid checking if input_vector is filled in each iteration + auto values_to_fill_alp_input = + MinValue(AlpConstants::ALP_VECTOR_SIZE - vector_idx, values_left_in_data); + if (vdata.validity.AllValid()) { //! We optimize a loop when there are no null + for (idx_t i = 0; i < values_to_fill_alp_input; i++) { + auto idx = vdata.sel->get_index(offset_in_data + i); + EXACT_TYPE value = Load(const_data_ptr_cast(&data[idx])); + input_vector[vector_idx + i] = value; + } + } else { + for (idx_t i = 0; i < values_to_fill_alp_input; i++) { + auto idx = vdata.sel->get_index(offset_in_data + i); + EXACT_TYPE value = Load(const_data_ptr_cast(&data[idx])); + bool is_null = !vdata.validity.RowIsValid(idx); + //! We resolve null values with a predicated comparison + vector_null_positions[nulls_idx] = vector_idx + i; + nulls_idx += is_null; + input_vector[vector_idx + i] = value; + } + } + offset_in_data += values_to_fill_alp_input; + values_left_in_data -= values_to_fill_alp_input; + vector_idx += values_to_fill_alp_input; + // We still need this check since we could have an incomplete input_vector at the end of data + if (vector_idx == AlpConstants::ALP_VECTOR_SIZE) { + CompressVector(); + D_ASSERT(vector_idx == 0); + } + } + } +}; + +template +unique_ptr AlpRDInitCompression(ColumnDataCheckpointer &checkpointer, + unique_ptr state) { + return make_uniq>(checkpointer, (AlpRDAnalyzeState *)state.get()); +} + +template +void AlpRDCompress(CompressionState &state_p, Vector &scan_vector, idx_t count) { + auto &state = (AlpRDCompressionState &)state_p; + UnifiedVectorFormat vdata; + scan_vector.ToUnifiedFormat(count, vdata); + state.Append(vdata, count); +} + +template +void AlpRDFinalizeCompress(CompressionState &state_p) { + auto &state = (AlpRDCompressionState &)state_p; + state.Finalize(); +} + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alprd/alprd_constants.hpp b/src/include/duckdb/storage/compression/alprd/alprd_constants.hpp new file mode 100644 index 000000000000..521551e2d9eb --- /dev/null +++ b/src/include/duckdb/storage/compression/alprd/alprd_constants.hpp @@ -0,0 +1,35 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alprd/alprd_constants.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +namespace duckdb { + +class AlpRDConstants { +public: + static constexpr uint32_t ALP_VECTOR_SIZE = 1024; + + static constexpr uint8_t MAX_DICTIONARY_BIT_WIDTH = 3; + static constexpr uint8_t MAX_DICTIONARY_SIZE = (1 << MAX_DICTIONARY_BIT_WIDTH); // 8 + static constexpr uint8_t CUTTING_LIMIT = 16; + static constexpr uint8_t DICTIONARY_ELEMENT_SIZE = sizeof(uint16_t); + static constexpr uint8_t MAX_DICTIONARY_SIZE_BYTES = MAX_DICTIONARY_SIZE * DICTIONARY_ELEMENT_SIZE; + + static constexpr uint8_t EXCEPTION_SIZE = sizeof(uint16_t); + static constexpr uint8_t METADATA_POINTER_SIZE = sizeof(uint32_t); + static constexpr uint8_t EXCEPTIONS_COUNT_SIZE = sizeof(uint16_t); + static constexpr uint8_t EXCEPTION_POSITION_SIZE = sizeof(uint16_t); + static constexpr uint8_t RIGHT_BIT_WIDTH_SIZE = sizeof(uint8_t); + static constexpr uint8_t LEFT_BIT_WIDTH_SIZE = sizeof(uint8_t); + static constexpr uint8_t N_DICTIONARY_ELEMENTS_SIZE = sizeof(uint8_t); + static constexpr uint8_t HEADER_SIZE = + METADATA_POINTER_SIZE + RIGHT_BIT_WIDTH_SIZE + LEFT_BIT_WIDTH_SIZE + + N_DICTIONARY_ELEMENTS_SIZE; // Pointer to metadata + Right BW + Left BW + Dict Elems +}; + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alprd/alprd_fetch.hpp b/src/include/duckdb/storage/compression/alprd/alprd_fetch.hpp new file mode 100644 index 000000000000..c4b36c2fa634 --- /dev/null +++ b/src/include/duckdb/storage/compression/alprd/alprd_fetch.hpp @@ -0,0 +1,41 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alp/alp_fetch.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/storage/compression/alprd/alprd_scan.hpp" + +#include "duckdb/common/limits.hpp" +#include "duckdb/common/types/null_value.hpp" +#include "duckdb/function/compression/compression.hpp" +#include "duckdb/function/compression_function.hpp" +#include "duckdb/main/config.hpp" +#include "duckdb/storage/buffer_manager.hpp" + +#include "duckdb/storage/table/column_data_checkpointer.hpp" +#include "duckdb/storage/table/column_segment.hpp" +#include "duckdb/common/operator/subtract.hpp" + +namespace duckdb { + +template +void AlpRDFetchRow(ColumnSegment &segment, ColumnFetchState &state, row_t row_id, Vector &result, idx_t result_idx) { + using EXACT_TYPE = typename FloatingToExact::type; + AlpRDScanState scan_state(segment); + scan_state.Skip(segment, row_id); + auto result_data = FlatVector::GetData(result); + result_data[result_idx] = (EXACT_TYPE)0; + + if (scan_state.VectorFinished() && scan_state.total_value_count < scan_state.count) { + scan_state.LoadVector(scan_state.vector_state.decoded_values); + } + scan_state.vector_state.Scan((uint8_t *)(result_data + result_idx), 1); + scan_state.total_value_count++; +} + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/alprd/alprd_scan.hpp b/src/include/duckdb/storage/compression/alprd/alprd_scan.hpp new file mode 100644 index 000000000000..efaddbd2e85b --- /dev/null +++ b/src/include/duckdb/storage/compression/alprd/alprd_scan.hpp @@ -0,0 +1,252 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/compression/alprd/alprd_scan.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/storage/compression/alprd/algorithm/alprd.hpp" +#include "duckdb/storage/compression/alprd/alprd_constants.hpp" + +#include "duckdb/common/limits.hpp" +#include "duckdb/common/types/null_value.hpp" +#include "duckdb/function/compression/compression.hpp" +#include "duckdb/function/compression_function.hpp" +#include "duckdb/main/config.hpp" +#include "duckdb/storage/buffer_manager.hpp" + +#include "duckdb/storage/table/column_data_checkpointer.hpp" +#include "duckdb/storage/table/column_segment.hpp" +#include "duckdb/common/operator/subtract.hpp" +#include "duckdb/storage/table/scan_state.hpp" + +namespace duckdb { + +template +struct AlpRDVectorState { +public: + using EXACT_TYPE = typename FloatingToExact::type; + + void Reset() { + index = 0; + } + + // Scan of the data itself + template + void Scan(uint8_t *dest, idx_t count) { + if (!SKIP) { + memcpy(dest, (void *)(decoded_values + index), sizeof(T) * count); + } + index += count; + } + + template + void LoadValues(EXACT_TYPE *values_buffer, idx_t count) { + if (SKIP) { + return; + } + values_buffer[0] = (EXACT_TYPE)0; + alp::AlpRDDecompression::Decompress(left_encoded, right_encoded, left_parts_dict, values_buffer, count, + exceptions_count, exceptions, exceptions_positions, left_bit_width, + right_bit_width); + } + +public: + idx_t index; + uint8_t left_encoded[AlpRDConstants::ALP_VECTOR_SIZE * 8]; + uint8_t right_encoded[AlpRDConstants::ALP_VECTOR_SIZE * 8]; + EXACT_TYPE decoded_values[AlpRDConstants::ALP_VECTOR_SIZE]; + uint16_t exceptions[AlpRDConstants::ALP_VECTOR_SIZE]; + uint16_t exceptions_positions[AlpRDConstants::ALP_VECTOR_SIZE]; + uint16_t exceptions_count; + uint8_t right_bit_width; + uint8_t left_bit_width; + uint16_t left_parts_dict[AlpRDConstants::MAX_DICTIONARY_SIZE]; +}; + +template +struct AlpRDScanState : public SegmentScanState { +public: + using EXACT_TYPE = typename FloatingToExact::type; + + explicit AlpRDScanState(ColumnSegment &segment) : segment(segment), count(segment.count) { + auto &buffer_manager = BufferManager::GetBufferManager(segment.db); + + handle = buffer_manager.Pin(segment.block); + // ScanStates never exceed the boundaries of a Segment, + // but are not guaranteed to start at the beginning of the Block + segment_data = handle.Ptr() + segment.GetBlockOffset(); + auto metadata_offset = Load(segment_data); + metadata_ptr = segment_data + metadata_offset; + + // Load the Right Bit Width which is in the segment header after the pointer to the first metadata + vector_state.right_bit_width = Load(segment_data + AlpRDConstants::METADATA_POINTER_SIZE); + vector_state.left_bit_width = + Load(segment_data + AlpRDConstants::METADATA_POINTER_SIZE + AlpRDConstants::RIGHT_BIT_WIDTH_SIZE); + + uint8_t actual_dictionary_size = + Load(segment_data + AlpRDConstants::METADATA_POINTER_SIZE + AlpRDConstants::RIGHT_BIT_WIDTH_SIZE + + AlpRDConstants::LEFT_BIT_WIDTH_SIZE); + uint8_t actual_dictionary_size_bytes = actual_dictionary_size * AlpRDConstants::DICTIONARY_ELEMENT_SIZE; + + // Load the left parts dictionary which is after the segment header and is of a fixed size + memcpy(vector_state.left_parts_dict, (void *)(segment_data + AlpRDConstants::HEADER_SIZE), + actual_dictionary_size_bytes); + } + + BufferHandle handle; + data_ptr_t metadata_ptr; + data_ptr_t segment_data; + idx_t total_value_count = 0; + AlpRDVectorState vector_state; + + ColumnSegment &segment; + idx_t count; + + idx_t LeftInVector() const { + return AlpRDConstants::ALP_VECTOR_SIZE - (total_value_count % AlpRDConstants::ALP_VECTOR_SIZE); + } + + inline bool VectorFinished() const { + return (total_value_count % AlpRDConstants::ALP_VECTOR_SIZE) == 0; + } + + // Scan up to a vector boundary + template + void ScanVector(EXACT_TYPE *values, idx_t vector_size) { + D_ASSERT(vector_size <= AlpRDConstants::ALP_VECTOR_SIZE); + D_ASSERT(vector_size <= LeftInVector()); + if (VectorFinished() && total_value_count < count) { + if (vector_size == AlpRDConstants::ALP_VECTOR_SIZE) { + LoadVector(values); + total_value_count += vector_size; + return; + } else { + // Even if SKIP is given, the vector size is not big enough to be able to fully skip the entire vector + LoadVector(vector_state.decoded_values); + } + } + vector_state.template Scan((uint8_t *)values, vector_size); + + total_value_count += vector_size; + } + + // Using the metadata, we can avoid loading any of the data if we don't care about the vector at all + void SkipVector() { + // Skip the offset indicating where the data starts + metadata_ptr -= AlpRDConstants::METADATA_POINTER_SIZE; + idx_t vector_size = MinValue((idx_t)AlpRDConstants::ALP_VECTOR_SIZE, count - total_value_count); + total_value_count += vector_size; + } + + template + void LoadVector(EXACT_TYPE *value_buffer) { + vector_state.Reset(); + + // Load the offset (metadata) indicating where the vector data starts + metadata_ptr -= AlpRDConstants::METADATA_POINTER_SIZE; + auto data_byte_offset = Load(metadata_ptr); + D_ASSERT(data_byte_offset < Storage::BLOCK_SIZE); + + idx_t vector_size = MinValue((idx_t)AlpRDConstants::ALP_VECTOR_SIZE, (count - total_value_count)); + + data_ptr_t vector_ptr = segment_data + data_byte_offset; + + // Load the vector data + vector_state.exceptions_count = Load(vector_ptr); + vector_ptr += AlpRDConstants::EXCEPTIONS_COUNT_SIZE; + D_ASSERT(vector_state.exceptions_count <= vector_size); + + auto left_bp_size = BitpackingPrimitives::GetRequiredSize(vector_size, vector_state.left_bit_width); + auto right_bp_size = BitpackingPrimitives::GetRequiredSize(vector_size, vector_state.right_bit_width); + + memcpy(vector_state.left_encoded, (void *)vector_ptr, left_bp_size); + vector_ptr += left_bp_size; + + memcpy(vector_state.right_encoded, (void *)vector_ptr, right_bp_size); + vector_ptr += right_bp_size; + + if (vector_state.exceptions_count > 0) { + memcpy(vector_state.exceptions, (void *)vector_ptr, + AlpRDConstants::EXCEPTION_SIZE * vector_state.exceptions_count); + vector_ptr += AlpRDConstants::EXCEPTION_SIZE * vector_state.exceptions_count; + memcpy(vector_state.exceptions_positions, (void *)vector_ptr, + AlpRDConstants::EXCEPTION_POSITION_SIZE * vector_state.exceptions_count); + } + + // Decode all the vector values to the specified 'value_buffer' + vector_state.template LoadValues(value_buffer, vector_size); + } + +public: + //! Skip the next 'skip_count' values, we don't store the values + void Skip(ColumnSegment &col_segment, idx_t skip_count) { + + if (total_value_count != 0 && !VectorFinished()) { + // Finish skipping the current vector + idx_t to_skip = LeftInVector(); + skip_count -= to_skip; + ScanVector(nullptr, to_skip); + } + // Figure out how many entire vectors we can skip + // For these vectors, we don't even need to process the metadata or values + idx_t vectors_to_skip = skip_count / AlpRDConstants::ALP_VECTOR_SIZE; + for (idx_t i = 0; i < vectors_to_skip; i++) { + SkipVector(); + } + skip_count -= AlpRDConstants::ALP_VECTOR_SIZE * vectors_to_skip; + if (skip_count == 0) { + return; + } + // For the last vector that this skip (partially) touches, we do need to + // load the metadata and values into the vector_state because + // we don't know exactly how many they are + ScanVector(nullptr, skip_count); + } +}; + +template +unique_ptr AlpRDInitScan(ColumnSegment &segment) { + auto result = make_uniq_base>(segment); + return result; +} + +//===--------------------------------------------------------------------===// +// Scan base data +//===--------------------------------------------------------------------===// +template +void AlpRDScanPartial(ColumnSegment &segment, ColumnScanState &state, idx_t scan_count, Vector &result, + idx_t result_offset) { + using EXACT_TYPE = typename FloatingToExact::type; + auto &scan_state = (AlpRDScanState &)*state.scan_state; + + // Get the pointer to the result values + auto current_result_ptr = FlatVector::GetData(result); + result.SetVectorType(VectorType::FLAT_VECTOR); + current_result_ptr += result_offset; + + idx_t scanned = 0; + while (scanned < scan_count) { + const auto remaining = scan_count - scanned; + const idx_t to_scan = MinValue(remaining, scan_state.LeftInVector()); + + scan_state.template ScanVector(current_result_ptr + scanned, to_scan); + scanned += to_scan; + } +} + +template +void AlpRDSkip(ColumnSegment &segment, ColumnScanState &state, idx_t skip_count) { + auto &scan_state = (AlpRDScanState &)*state.scan_state; + scan_state.Skip(segment, skip_count); +} + +template +void AlpRDScan(ColumnSegment &segment, ColumnScanState &state, idx_t scan_count, Vector &result) { + AlpRDScanPartial(segment, state, scan_count, result, 0); +} + +} // namespace duckdb diff --git a/src/include/duckdb/storage/compression/chimp/chimp_analyze.hpp b/src/include/duckdb/storage/compression/chimp/chimp_analyze.hpp index 1c2fc3300d96..2b56d15baaa3 100644 --- a/src/include/duckdb/storage/compression/chimp/chimp_analyze.hpp +++ b/src/include/duckdb/storage/compression/chimp/chimp_analyze.hpp @@ -16,120 +16,24 @@ namespace duckdb { struct EmptyChimpWriter; template -struct ChimpAnalyzeState : public AnalyzeState { -public: - using CHIMP_TYPE = typename ChimpType::type; - - ChimpAnalyzeState() : state() { - state.AssignDataBuffer(nullptr); - } - ChimpState state; - idx_t group_idx = 0; - idx_t data_byte_size = 0; - idx_t metadata_byte_size = 0; - -public: - void WriteValue(CHIMP_TYPE value, bool is_valid) { - if (!is_valid) { - return; - } - //! Keep track of when a segment would end, to accurately simulate Reset()s in compress step - if (!HasEnoughSpace()) { - StartNewSegment(); - } - Chimp128Compression::Store(value, state.chimp); - group_idx++; - if (group_idx == ChimpPrimitives::CHIMP_SEQUENCE_SIZE) { - StartNewGroup(); - } - } - - void StartNewSegment() { - state.Flush(); - StartNewGroup(); - data_byte_size += UsedSpace(); - metadata_byte_size += ChimpPrimitives::HEADER_SIZE; - state.chimp.output.SetStream(nullptr); - } - - idx_t CurrentGroupMetadataSize() const { - idx_t metadata_size = 0; - - metadata_size += 3 * state.chimp.leading_zero_buffer.BlockCount(); - metadata_size += state.chimp.flag_buffer.BytesUsed(); - metadata_size += 2 * state.chimp.packed_data_buffer.index; - return metadata_size; - } - - idx_t RequiredSpace() const { - idx_t required_space = ChimpPrimitives::MAX_BYTES_PER_VALUE; - // Any value could be the last, - // so the cost of flushing metadata should be factored into the cost - // byte offset of data - required_space += sizeof(byte_index_t); - // amount of leading zero blocks - required_space += sizeof(uint8_t); - // first leading zero block - required_space += 3; - // amount of flag bytes - required_space += sizeof(uint8_t); - // first flag byte - required_space += 1; - return required_space; - } - - void StartNewGroup() { - metadata_byte_size += CurrentGroupMetadataSize(); - group_idx = 0; - state.chimp.Reset(); - } - - idx_t UsedSpace() const { - return state.chimp.output.BytesWritten(); - } - - bool HasEnoughSpace() { - idx_t total_bytes_used = 0; - total_bytes_used += AlignValue(ChimpPrimitives::HEADER_SIZE + UsedSpace() + RequiredSpace()); - total_bytes_used += CurrentGroupMetadataSize(); - total_bytes_used += metadata_byte_size; - return total_bytes_used <= Storage::BLOCK_SIZE; - } - - idx_t TotalUsedBytes() const { - return metadata_byte_size + AlignValue(data_byte_size + UsedSpace()); - } -}; +struct ChimpAnalyzeState : public AnalyzeState {}; template unique_ptr ChimpInitAnalyze(ColumnData &col_data, PhysicalType type) { - return make_uniq>(); + // This compression type is deprecated + return nullptr; } template bool ChimpAnalyze(AnalyzeState &state, Vector &input, idx_t count) { - using CHIMP_TYPE = typename ChimpType::type; - auto &analyze_state = (ChimpAnalyzeState &)state; - UnifiedVectorFormat vdata; - input.ToUnifiedFormat(count, vdata); - - auto data = UnifiedVectorFormat::GetData(vdata); - for (idx_t i = 0; i < count; i++) { - auto idx = vdata.sel->get_index(i); - analyze_state.WriteValue(data[idx], vdata.validity.RowIsValid(idx)); - } - return true; + throw InternalException("Chimp has been deprecated, can no longer be used to compress data"); + return false; } template idx_t ChimpFinalAnalyze(AnalyzeState &state) { - auto &chimp = (ChimpAnalyzeState &)state; - // Finish the last "segment" - chimp.StartNewSegment(); - // Multiply the final size to factor in the extra cost of decompression time - const auto multiplier = 2.0; - const auto final_analyze_size = chimp.TotalUsedBytes(); - return final_analyze_size * multiplier; + throw InternalException("Chimp has been deprecated, can no longer be used to compress data"); + return DConstants::INVALID_INDEX; } } // namespace duckdb diff --git a/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp b/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp index a514505b6d1a..a233246f3b19 100644 --- a/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp +++ b/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp @@ -28,254 +28,25 @@ namespace duckdb { template -struct ChimpCompressionState : public CompressionState { -public: - using CHIMP_TYPE = typename ChimpType::type; - - explicit ChimpCompressionState(ColumnDataCheckpointer &checkpointer, ChimpAnalyzeState *analyze_state) - : checkpointer(checkpointer), - function(checkpointer.GetCompressionFunction(CompressionType::COMPRESSION_CHIMP)) { - CreateEmptySegment(checkpointer.GetRowGroup().start); - - // These buffers are recycled for every group, so they only have to be set once - state.AssignLeadingZeroBuffer((uint8_t *)leading_zero_blocks); - state.AssignFlagBuffer((uint8_t *)flags); - state.AssignPackedDataBuffer((uint16_t *)packed_data_blocks); - } - - ColumnDataCheckpointer &checkpointer; - CompressionFunction &function; - unique_ptr current_segment; - BufferHandle handle; - idx_t group_idx = 0; - uint8_t flags[ChimpPrimitives::CHIMP_SEQUENCE_SIZE / 4]; - uint8_t leading_zero_blocks[ChimpPrimitives::LEADING_ZERO_BLOCK_BUFFERSIZE]; - uint16_t packed_data_blocks[ChimpPrimitives::CHIMP_SEQUENCE_SIZE]; - - // Ptr to next free spot in segment; - data_ptr_t segment_data; - data_ptr_t metadata_ptr; - uint32_t next_group_byte_index_start = ChimpPrimitives::HEADER_SIZE; - // The total size of metadata in the current segment - idx_t metadata_byte_size = 0; - - ChimpState state; - -public: - idx_t RequiredSpace() const { - idx_t required_space = ChimpPrimitives::MAX_BYTES_PER_VALUE; - // Any value could be the last, - // so the cost of flushing metadata should be factored into the cost - - // byte offset of data - required_space += sizeof(byte_index_t); - // amount of leading zero blocks - required_space += sizeof(uint8_t); - // first leading zero block - required_space += 3; - // amount of flag bytes - required_space += sizeof(uint8_t); - // first flag byte - required_space += 1; - return required_space; - } - - // How many bytes the data occupies for the current segment - idx_t UsedSpace() const { - return state.chimp.output.BytesWritten(); - } - - idx_t RemainingSpace() const { - return metadata_ptr - (handle.Ptr() + UsedSpace()); - } - - idx_t CurrentGroupMetadataSize() const { - idx_t metadata_size = 0; - - metadata_size += 3 * state.chimp.leading_zero_buffer.BlockCount(); - metadata_size += state.chimp.flag_buffer.BytesUsed(); - metadata_size += 2 * state.chimp.packed_data_buffer.index; - return metadata_size; - } - - // The current segment has enough space to fit this new value - bool HasEnoughSpace() { - if (handle.Ptr() + AlignValue(ChimpPrimitives::HEADER_SIZE + UsedSpace() + RequiredSpace()) >= - (metadata_ptr - CurrentGroupMetadataSize())) { - return false; - } - return true; - } - - void CreateEmptySegment(idx_t row_start) { - group_idx = 0; - metadata_byte_size = 0; - auto &db = checkpointer.GetDatabase(); - auto &type = checkpointer.GetType(); - auto compressed_segment = ColumnSegment::CreateTransientSegment(db, type, row_start); - compressed_segment->function = function; - current_segment = std::move(compressed_segment); - next_group_byte_index_start = ChimpPrimitives::HEADER_SIZE; - - auto &buffer_manager = BufferManager::GetBufferManager(db); - handle = buffer_manager.Pin(current_segment->block); - - segment_data = handle.Ptr() + current_segment->GetBlockOffset() + ChimpPrimitives::HEADER_SIZE; - metadata_ptr = handle.Ptr() + current_segment->GetBlockOffset() + Storage::BLOCK_SIZE; - state.AssignDataBuffer(segment_data); - state.chimp.Reset(); - } - - void Append(UnifiedVectorFormat &vdata, idx_t count) { - auto data = UnifiedVectorFormat::GetData(vdata); - - for (idx_t i = 0; i < count; i++) { - auto idx = vdata.sel->get_index(i); - WriteValue(data[idx], vdata.validity.RowIsValid(idx)); - } - } - - void WriteValue(CHIMP_TYPE value, bool is_valid) { - if (!HasEnoughSpace()) { - // Segment is full - auto row_start = current_segment->start + current_segment->count; - FlushSegment(); - CreateEmptySegment(row_start); - } - current_segment->count++; - - if (is_valid) { - T floating_point_value = Load(const_data_ptr_cast(&value)); - NumericStats::Update(current_segment->stats.statistics, floating_point_value); - } else { - //! FIXME: find a cheaper alternative to storing a NULL - // store this as "value_identical", only using 9 bits for a NULL - value = state.chimp.previous_value; - } - - Chimp128Compression::Store(value, state.chimp); - group_idx++; - if (group_idx == ChimpPrimitives::CHIMP_SEQUENCE_SIZE) { - FlushGroup(); - } - } - - void FlushGroup() { - // Has to be called first to flush the last values in the LeadingZeroBuffer - state.chimp.Flush(); - - metadata_ptr -= sizeof(byte_index_t); - metadata_byte_size += sizeof(byte_index_t); - // Store where this groups data starts, relative to the start of the segment - Store(next_group_byte_index_start, metadata_ptr); - next_group_byte_index_start = UsedSpace(); - - const uint8_t leading_zero_block_count = state.chimp.leading_zero_buffer.BlockCount(); - // Every 8 values are packed in one block - D_ASSERT(leading_zero_block_count <= ChimpPrimitives::CHIMP_SEQUENCE_SIZE / 8); - metadata_ptr -= sizeof(uint8_t); - metadata_byte_size += sizeof(uint8_t); - // Store how many leading zero blocks there are - Store(leading_zero_block_count, metadata_ptr); - - const uint64_t bytes_used_by_leading_zero_blocks = 3 * leading_zero_block_count; - metadata_ptr -= bytes_used_by_leading_zero_blocks; - metadata_byte_size += bytes_used_by_leading_zero_blocks; - // Store the leading zeros (8 per 3 bytes) for this group - memcpy((void *)metadata_ptr, (void *)leading_zero_blocks, bytes_used_by_leading_zero_blocks); - - //! This is max 1024, because it's the amount of flags there are, not the amount of bytes that takes up - const uint16_t flag_bytes = state.chimp.flag_buffer.BytesUsed(); -#ifdef DEBUG - const idx_t padding = (current_segment->count % ChimpPrimitives::CHIMP_SEQUENCE_SIZE) == 0 - ? ChimpPrimitives::CHIMP_SEQUENCE_SIZE - : 0; - const idx_t size_of_group = padding + current_segment->count % ChimpPrimitives::CHIMP_SEQUENCE_SIZE; - D_ASSERT((AlignValue(size_of_group - 1) / 4) == flag_bytes); -#endif - - metadata_ptr -= flag_bytes; - metadata_byte_size += flag_bytes; - // Store the flags (4 per byte) for this group - memcpy((void *)metadata_ptr, (void *)flags, flag_bytes); - - // Store the packed data blocks (2 bytes each) - // We dont need to store an extra count for this, - // as the count can be derived from unpacking the flags and counting the '1' flags - - // FIXME: this does stop us from skipping groups with point queries, - // because the metadata has a variable size, and we have to extract all flags + iterate them to know this size - const uint16_t packed_data_blocks_count = state.chimp.packed_data_buffer.index; - metadata_ptr -= packed_data_blocks_count * 2; - metadata_byte_size += packed_data_blocks_count * 2; - if ((uint64_t)metadata_ptr & 1) { - // Align on a two-byte boundary - metadata_ptr--; - metadata_byte_size++; - } - memcpy((void *)metadata_ptr, (void *)packed_data_blocks, packed_data_blocks_count * sizeof(uint16_t)); - - state.chimp.Reset(); - group_idx = 0; - } - - // FIXME: only do this if the wasted space meets a certain threshold (>= 20%) - void FlushSegment() { - if (group_idx) { - // Only call this when the group actually has data that needs to be flushed - FlushGroup(); - } - state.chimp.output.Flush(); - auto &checkpoint_state = checkpointer.GetCheckpointState(); - auto dataptr = handle.Ptr(); - - // Compact the segment by moving the metadata next to the data. - idx_t bytes_used_by_data = ChimpPrimitives::HEADER_SIZE + UsedSpace(); - idx_t metadata_offset = AlignValue(bytes_used_by_data); - // Verify that the metadata_ptr does not cross this threshold - D_ASSERT(dataptr + metadata_offset <= metadata_ptr); - idx_t metadata_size = dataptr + Storage::BLOCK_SIZE - metadata_ptr; - idx_t total_segment_size = metadata_offset + metadata_size; -#ifdef DEBUG - uint32_t verify_bytes; - memcpy((void *)&verify_bytes, metadata_ptr, 4); -#endif - memmove(dataptr + metadata_offset, metadata_ptr, metadata_size); -#ifdef DEBUG - D_ASSERT(verify_bytes == *(uint32_t *)(dataptr + metadata_offset)); -#endif - // Store the offset of the metadata of the first group (which is at the highest address). - Store(metadata_offset + metadata_size, dataptr); - handle.Destroy(); - checkpoint_state.FlushSegment(std::move(current_segment), total_segment_size); - } - - void Finalize() { - FlushSegment(); - current_segment.reset(); - } -}; +struct ChimpCompressionState : public CompressionState {}; // Compression Functions template unique_ptr ChimpInitCompression(ColumnDataCheckpointer &checkpointer, unique_ptr state) { - return make_uniq>(checkpointer, (ChimpAnalyzeState *)state.get()); + throw InternalException("Chimp has been deprecated, can no longer be used to compress data"); + return nullptr; } template void ChimpCompress(CompressionState &state_p, Vector &scan_vector, idx_t count) { - auto &state = (ChimpCompressionState &)state_p; - UnifiedVectorFormat vdata; - scan_vector.ToUnifiedFormat(count, vdata); - state.Append(vdata, count); + throw InternalException("Chimp has been deprecated, can no longer be used to compress data"); } template void ChimpFinalizeCompress(CompressionState &state_p) { - auto &state = (ChimpCompressionState &)state_p; - state.Finalize(); + throw InternalException("Chimp has been deprecated, can no longer be used to compress data"); } } // namespace duckdb diff --git a/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp b/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp index 559b5832d161..206806a59a2f 100644 --- a/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp +++ b/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp @@ -263,7 +263,7 @@ template void ChimpScanPartial(ColumnSegment &segment, ColumnScanState &state, idx_t scan_count, Vector &result, idx_t result_offset) { using INTERNAL_TYPE = typename ChimpType::type; - auto &scan_state = (ChimpScanState &)*state.scan_state; + auto &scan_state = state.scan_state->Cast>(); T *result_data = FlatVector::GetData(result); result.SetVectorType(VectorType::FLAT_VECTOR); @@ -280,7 +280,7 @@ void ChimpScanPartial(ColumnSegment &segment, ColumnScanState &state, idx_t scan template void ChimpSkip(ColumnSegment &segment, ColumnScanState &state, idx_t skip_count) { - auto &scan_state = (ChimpScanState &)*state.scan_state; + auto &scan_state = state.scan_state->Cast>(); scan_state.Skip(segment, skip_count); } diff --git a/src/include/duckdb/storage/compression/patas/patas_analyze.hpp b/src/include/duckdb/storage/compression/patas/patas_analyze.hpp index 6a6bca9918af..0f9dab421efc 100644 --- a/src/include/duckdb/storage/compression/patas/patas_analyze.hpp +++ b/src/include/duckdb/storage/compression/patas/patas_analyze.hpp @@ -16,124 +16,24 @@ namespace duckdb { struct EmptyPatasWriter; template -struct PatasAnalyzeState : public AnalyzeState { -public: - using EXACT_TYPE = typename FloatingToExact::type; - - PatasAnalyzeState() : state((void *)this) { - state.AssignDataBuffer(nullptr); - } - PatasState state; - idx_t group_idx = 0; - idx_t data_byte_size = 0; - idx_t metadata_byte_size = 0; - //! To optimally store NULL, we keep track of the directly previous value - EXACT_TYPE previous_value; - -public: - void WriteValue(EXACT_TYPE value, bool is_valid) { - if (!is_valid) { - value = previous_value; - } - //! Keep track of when a segment would end, to accurately simulate Reset()s in compress step - if (!HasEnoughSpace()) { - StartNewSegment(); - } - patas::PatasCompression::Store(value, state.patas_state); - previous_value = value; - group_idx++; - if (group_idx == PatasPrimitives::PATAS_GROUP_SIZE) { - StartNewGroup(); - } - } - - idx_t CurrentGroupMetadataSize() const { - idx_t metadata_size = 0; - - // Offset to the data of the group - metadata_size += sizeof(uint32_t); - // Packed Trailing zeros + significant bytes + index_offsets for group - metadata_size += 2 * group_idx; - return metadata_size; - } - - void StartNewSegment() { - StartNewGroup(); - data_byte_size += UsedSpace(); - metadata_byte_size += PatasPrimitives::HEADER_SIZE; - state.patas_state.byte_writer.SetStream(nullptr); - } - - idx_t RequiredSpace() const { - idx_t required_space = 0; - required_space += sizeof(EXACT_TYPE); - required_space += sizeof(uint16_t); - return required_space; - } - - void StartNewGroup() { - previous_value = 0; - metadata_byte_size += CurrentGroupMetadataSize(); - group_idx = 0; - state.patas_state.Reset(); - } - - idx_t UsedSpace() const { - return state.patas_state.byte_writer.BytesWritten(); - } - - bool HasEnoughSpace() { - idx_t total_bytes_used = 0; - total_bytes_used += AlignValue(PatasPrimitives::HEADER_SIZE + UsedSpace() + RequiredSpace()); - total_bytes_used += CurrentGroupMetadataSize(); - total_bytes_used += metadata_byte_size; - return total_bytes_used <= Storage::BLOCK_SIZE; - } - - idx_t TotalUsedBytes() const { - return metadata_byte_size + AlignValue(data_byte_size + UsedSpace()); - } -}; - -struct EmptyPatasWriter { - - template - static void Operation(VALUE_TYPE uncompressed_value, bool is_valid, void *state_p) { - using EXACT_TYPE = typename FloatingToExact::type; - - auto state_wrapper = (PatasAnalyzeState *)state_p; - state_wrapper->WriteValue(Load(const_data_ptr_cast(&uncompressed_value)), is_valid); - } -}; +struct PatasAnalyzeState : public AnalyzeState {}; template unique_ptr PatasInitAnalyze(ColumnData &col_data, PhysicalType type) { - return make_uniq>(); + // This compression type is deprecated + return nullptr; } template bool PatasAnalyze(AnalyzeState &state, Vector &input, idx_t count) { - auto &analyze_state = (PatasAnalyzeState &)state; - UnifiedVectorFormat vdata; - input.ToUnifiedFormat(count, vdata); - - auto data = UnifiedVectorFormat::GetData(vdata); - for (idx_t i = 0; i < count; i++) { - auto idx = vdata.sel->get_index(i); - analyze_state.state.template Update(data[idx], vdata.validity.RowIsValid(idx)); - } - return true; + throw InternalException("Patas has been deprecated, can no longer be used to compress data"); + return false; } template idx_t PatasFinalAnalyze(AnalyzeState &state) { - auto &patas_state = (PatasAnalyzeState &)state; - // Finish the last "segment" - patas_state.StartNewSegment(); - const auto final_analyze_size = patas_state.TotalUsedBytes(); - // Multiply the final size to factor in the extra cost of decompression time - const auto multiplier = 1.2; - return final_analyze_size * multiplier; + throw InternalException("Patas has been deprecated, can no longer be used to compress data"); + return DConstants::INVALID_INDEX; } } // namespace duckdb diff --git a/src/include/duckdb/storage/compression/patas/patas_compress.hpp b/src/include/duckdb/storage/compression/patas/patas_compress.hpp index 28579dbb2304..2931e9168860 100644 --- a/src/include/duckdb/storage/compression/patas/patas_compress.hpp +++ b/src/include/duckdb/storage/compression/patas/patas_compress.hpp @@ -30,204 +30,25 @@ namespace duckdb { // State template -struct PatasCompressionState : public CompressionState { -public: - using EXACT_TYPE = typename FloatingToExact::type; - - struct PatasWriter { - - template - static void Operation(VALUE_TYPE value, bool is_valid, void *state_p) { - //! Need access to the CompressionState to be able to flush the segment - auto state_wrapper = (PatasCompressionState *)state_p; - - if (!state_wrapper->HasEnoughSpace()) { - // Segment is full - auto row_start = state_wrapper->current_segment->start + state_wrapper->current_segment->count; - state_wrapper->FlushSegment(); - state_wrapper->CreateEmptySegment(row_start); - } - - if (is_valid) { - NumericStats::Update(state_wrapper->current_segment->stats.statistics, value); - } - - state_wrapper->WriteValue(Load(const_data_ptr_cast(&value))); - } - }; - - explicit PatasCompressionState(ColumnDataCheckpointer &checkpointer, PatasAnalyzeState *analyze_state) - : checkpointer(checkpointer), - function(checkpointer.GetCompressionFunction(CompressionType::COMPRESSION_PATAS)) { - CreateEmptySegment(checkpointer.GetRowGroup().start); - - state.data_ptr = (void *)this; - state.patas_state.packed_data_buffer.SetBuffer(packed_data); - state.patas_state.Reset(); - } - - ColumnDataCheckpointer &checkpointer; - CompressionFunction &function; - unique_ptr current_segment; - BufferHandle handle; - idx_t group_idx = 0; - uint16_t packed_data[PatasPrimitives::PATAS_GROUP_SIZE]; - - // Ptr to next free spot in segment; - data_ptr_t segment_data; - data_ptr_t metadata_ptr; - uint32_t next_group_byte_index_start = PatasPrimitives::HEADER_SIZE; - // The total size of metadata in the current segment - idx_t metadata_byte_size = 0; - - PatasState state; - -public: - idx_t RequiredSpace() const { - idx_t required_space = sizeof(EXACT_TYPE); - // byte offset of data - required_space += sizeof(byte_index_t); - // byte size of the packed_data_block - required_space += sizeof(uint16_t); - return required_space; - } - - // How many bytes the data occupies for the current segment - idx_t UsedSpace() const { - return state.patas_state.byte_writer.BytesWritten(); - } - - idx_t RemainingSpace() const { - return metadata_ptr - (handle.Ptr() + UsedSpace()); - } - - idx_t CurrentGroupMetadataSize() const { - idx_t metadata_size = 0; - - metadata_size += sizeof(byte_index_t); - metadata_size += sizeof(uint16_t) * group_idx; - return metadata_size; - } - - // The current segment has enough space to fit this new value - bool HasEnoughSpace() { - if (handle.Ptr() + AlignValue(PatasPrimitives::HEADER_SIZE + UsedSpace() + RequiredSpace()) >= - (metadata_ptr - CurrentGroupMetadataSize())) { - return false; - } - return true; - } - - void CreateEmptySegment(idx_t row_start) { - next_group_byte_index_start = PatasPrimitives::HEADER_SIZE; - group_idx = 0; - metadata_byte_size = 0; - auto &db = checkpointer.GetDatabase(); - auto &type = checkpointer.GetType(); - auto compressed_segment = ColumnSegment::CreateTransientSegment(db, type, row_start); - compressed_segment->function = function; - current_segment = std::move(compressed_segment); - - auto &buffer_manager = BufferManager::GetBufferManager(db); - handle = buffer_manager.Pin(current_segment->block); - - segment_data = handle.Ptr() + PatasPrimitives::HEADER_SIZE; - metadata_ptr = handle.Ptr() + Storage::BLOCK_SIZE; - state.AssignDataBuffer(segment_data); - state.patas_state.Reset(); - } - - void Append(UnifiedVectorFormat &vdata, idx_t count) { - auto data = UnifiedVectorFormat::GetData(vdata); - - for (idx_t i = 0; i < count; i++) { - auto idx = vdata.sel->get_index(i); - state.template Update(data[idx], vdata.validity.RowIsValid(idx)); - } - } - - void WriteValue(EXACT_TYPE value) { - current_segment->count++; - patas::PatasCompression::Store(value, state.patas_state); - group_idx++; - if (group_idx == PatasPrimitives::PATAS_GROUP_SIZE) { - FlushGroup(); - } - } - - void FlushGroup() { - metadata_ptr -= sizeof(byte_index_t); - metadata_byte_size += sizeof(byte_index_t); - // Store where this groups data starts, relative to the start of the segment - Store(next_group_byte_index_start, metadata_ptr); - next_group_byte_index_start = PatasPrimitives::HEADER_SIZE + UsedSpace(); - - // Store the packed data blocks (7 + 6 + 3 bits) - metadata_ptr -= group_idx * sizeof(uint16_t); - metadata_byte_size += group_idx * sizeof(uint16_t); - memcpy(metadata_ptr, packed_data, sizeof(uint16_t) * group_idx); - - state.patas_state.Reset(); - group_idx = 0; - } - - //! FIXME: only compact if the unused space meets a certain threshold (20%) - void FlushSegment() { - if (group_idx != 0) { - FlushGroup(); - } - auto &checkpoint_state = checkpointer.GetCheckpointState(); - auto dataptr = handle.Ptr(); - - // Compact the segment by moving the metadata next to the data. - idx_t bytes_used_by_data = PatasPrimitives::HEADER_SIZE + UsedSpace(); - idx_t metadata_offset = AlignValue(bytes_used_by_data); - // Verify that the metadata_ptr does not cross this threshold - D_ASSERT(dataptr + metadata_offset <= metadata_ptr); - idx_t metadata_size = dataptr + Storage::BLOCK_SIZE - metadata_ptr; - idx_t total_segment_size = metadata_offset + metadata_size; -#ifdef DEBUG - //! Copy the first 4 bytes of the metadata - uint32_t verify_bytes; - std::memcpy((void *)&verify_bytes, metadata_ptr, 4); -#endif - memmove(dataptr + metadata_offset, metadata_ptr, metadata_size); -#ifdef DEBUG - //! Now assert that the memmove was correct - D_ASSERT(verify_bytes == *(uint32_t *)(dataptr + metadata_offset)); -#endif - // Store the offset to the metadata - Store(metadata_offset + metadata_size, dataptr); - handle.Destroy(); - checkpoint_state.FlushSegment(std::move(current_segment), total_segment_size); - } - - void Finalize() { - FlushSegment(); - current_segment.reset(); - } -}; +struct PatasCompressionState : public CompressionState {}; // Compression Functions template unique_ptr PatasInitCompression(ColumnDataCheckpointer &checkpointer, unique_ptr state) { - return make_uniq>(checkpointer, (PatasAnalyzeState *)state.get()); + throw InternalException("Patas has been deprecated, can no longer be used to compress data"); + return nullptr; } template void PatasCompress(CompressionState &state_p, Vector &scan_vector, idx_t count) { - auto &state = (PatasCompressionState &)state_p; - UnifiedVectorFormat vdata; - scan_vector.ToUnifiedFormat(count, vdata); - state.Append(vdata, count); + throw InternalException("Patas has been deprecated, can no longer be used to compress data"); } template void PatasFinalizeCompress(CompressionState &state_p) { - auto &state = (PatasCompressionState &)state_p; - state.Finalize(); + throw InternalException("Patas has been deprecated, can no longer be used to compress data"); } } // namespace duckdb diff --git a/src/include/duckdb/storage/data_table.hpp b/src/include/duckdb/storage/data_table.hpp index b65ace9c4a68..4c2e0d6b580c 100644 --- a/src/include/duckdb/storage/data_table.hpp +++ b/src/include/duckdb/storage/data_table.hpp @@ -8,21 +8,21 @@ #pragma once -#include "duckdb/common/enums/index_type.hpp" +#include "duckdb/common/enums/index_constraint_type.hpp" #include "duckdb/common/enums/scan_options.hpp" #include "duckdb/common/mutex.hpp" #include "duckdb/common/types/data_chunk.hpp" -#include "duckdb/storage/index.hpp" -#include "duckdb/storage/table/table_statistics.hpp" +#include "duckdb/common/unique_ptr.hpp" #include "duckdb/storage/block.hpp" +#include "duckdb/storage/index.hpp" #include "duckdb/storage/statistics/column_statistics.hpp" #include "duckdb/storage/table/column_segment.hpp" +#include "duckdb/storage/table/data_table_info.hpp" #include "duckdb/storage/table/persistent_table_data.hpp" -#include "duckdb/storage/table/row_group_collection.hpp" #include "duckdb/storage/table/row_group.hpp" +#include "duckdb/storage/table/row_group_collection.hpp" +#include "duckdb/storage/table/table_statistics.hpp" #include "duckdb/transaction/local_storage.hpp" -#include "duckdb/storage/table/data_table_info.hpp" -#include "duckdb/common/unique_ptr.hpp" namespace duckdb { class BoundForeignKeyConstraint; @@ -125,12 +125,6 @@ class DataTable { void UpdateColumn(TableCatalogEntry &table, ClientContext &context, Vector &row_ids, const vector &column_path, DataChunk &updates); - //! Add an index to the DataTable. NOTE: for CREATE (UNIQUE) INDEX statements, we use the PhysicalCreateARTIndex - //! operator. This function is only used during the WAL replay, and is a much less performant index creation - //! approach. - void WALAddIndex(ClientContext &context, unique_ptr index, - const vector> &expressions); - //! Fetches an append lock void AppendLock(TableAppendState &state); //! Begin appending structs to this table, obtaining necessary locks, etc @@ -153,8 +147,8 @@ class DataTable { //! Append a chunk with the row ids [row_start, ..., row_start + chunk.size()] to all indexes of the table, returns //! whether or not the append succeeded - PreservedError AppendToIndexes(DataChunk &chunk, row_t row_start); - static PreservedError AppendToIndexes(TableIndexList &indexes, DataChunk &chunk, row_t row_start); + ErrorData AppendToIndexes(DataChunk &chunk, row_t row_start); + static ErrorData AppendToIndexes(TableIndexList &indexes, DataChunk &chunk, row_t row_start); //! Remove a chunk with the row ids [row_start, ..., row_start + chunk.size()] from all indexes of the table void RemoveFromIndexes(TableAppendState &state, DataChunk &chunk, row_t row_start); //! Remove the chunk with the specified set of row identifiers from all indexes of the table @@ -175,7 +169,7 @@ class DataTable { void SetDistinct(column_t column_id, unique_ptr distinct_stats); //! Checkpoint the table to the specified table data writer - void Checkpoint(TableDataWriter &writer, Serializer &metadata_serializer); + void Checkpoint(TableDataWriter &writer, Serializer &serializer); void CommitDropTable(); void CommitDropColumn(idx_t index); @@ -184,10 +178,11 @@ class DataTable { vector GetColumnSegmentInfo(); static bool IsForeignKeyIndex(const vector &fk_keys, Index &index, ForeignKeyType fk_type); - //! Initializes a special scan that is used to create an index on the table, it keeps locks on the table - void InitializeWALCreateIndexScan(CreateIndexScanState &state, const vector &column_ids); //! Scans the next chunk for the CREATE INDEX operator bool CreateIndexScan(TableScanState &state, DataChunk &result, TableScanType type); + //! Returns true, if the index name is unique (i.e., no PK, UNIQUE, FK constraint has the same name) + //! FIXME: This is only necessary until we treat all indexes as catalog entries, allowing to alter constraints + bool IndexNameIsUnique(const string &name); //! Verify constraints with a chunk from the Append containing all columns of the table void VerifyAppendConstraints(TableCatalogEntry &table, ClientContext &context, DataChunk &chunk, diff --git a/src/include/duckdb/storage/database_size.hpp b/src/include/duckdb/storage/database_size.hpp index fa2353e59cda..79dee4bc8a44 100644 --- a/src/include/duckdb/storage/database_size.hpp +++ b/src/include/duckdb/storage/database_size.hpp @@ -9,6 +9,7 @@ #pragma once #include "duckdb/common/common.hpp" +#include "duckdb/storage/storage_info.hpp" namespace duckdb { diff --git a/src/include/duckdb/storage/index.hpp b/src/include/duckdb/storage/index.hpp index 474421d4cf85..7fb6ffbdf0cf 100644 --- a/src/include/duckdb/storage/index.hpp +++ b/src/include/duckdb/storage/index.hpp @@ -8,15 +8,14 @@ #pragma once -#include "duckdb/common/unordered_set.hpp" -#include "duckdb/common/enums/index_type.hpp" +#include "duckdb/common/enums/index_constraint_type.hpp" +#include "duckdb/common/types/constraint_conflict_info.hpp" #include "duckdb/common/types/data_chunk.hpp" -#include "duckdb/common/sort/sort.hpp" +#include "duckdb/common/unordered_set.hpp" +#include "duckdb/execution/expression_executor.hpp" #include "duckdb/parser/parsed_expression.hpp" #include "duckdb/planner/expression.hpp" -#include "duckdb/storage/metadata/metadata_writer.hpp" -#include "duckdb/execution/expression_executor.hpp" -#include "duckdb/common/types/constraint_conflict_info.hpp" +#include "duckdb/storage/table_storage_info.hpp" namespace duckdb { @@ -31,16 +30,22 @@ struct IndexScanState; //! The index is an abstract base class that serves as the basis for indexes class Index { public: - Index(AttachedDatabase &db, IndexType type, TableIOManager &table_io_manager, const vector &column_ids, - const vector> &unbound_expressions, IndexConstraintType constraint_type); + Index(const string &name, const string &index_type, IndexConstraintType index_constraint_type, + const vector &column_ids, TableIOManager &table_io_manager, + const vector> &unbound_expressions, AttachedDatabase &db); virtual ~Index() = default; - //! The type of the index - IndexType type; + //! The name of the index + string name; + //! The index type (ART, B+-tree, Skip-List, ...) + string index_type; + //! The index constraint type + IndexConstraintType index_constraint_type; + //! The logical column ids of the indexed table + vector column_ids; + //! Associated table io manager TableIOManager &table_io_manager; - //! Column identifiers to extract key columns from the base table - vector column_ids; //! Unordered set of column_ids used by the index unordered_set column_id_set; //! Unbound expressions used by the index during optimizations @@ -49,33 +54,22 @@ class Index { vector types; //! The logical types of the expressions vector logical_types; - //! Index constraint type (primary key, foreign key, ...) - IndexConstraintType constraint_type; //! Attached database instance AttachedDatabase &db; public: - //! Initialize a single predicate scan on the index with the given expression and column IDs - virtual unique_ptr InitializeScanSinglePredicate(const Transaction &transaction, const Value &value, - const ExpressionType expression_type) = 0; - //! Initialize a two predicate scan on the index with the given expression and column IDs - virtual unique_ptr InitializeScanTwoPredicates(const Transaction &transaction, - const Value &low_value, - const ExpressionType low_expression_type, - const Value &high_value, - const ExpressionType high_expression_type) = 0; - //! Performs a lookup on the index, fetching up to max_count result IDs. Returns true if all row IDs were fetched, - //! and false otherwise - virtual bool Scan(const Transaction &transaction, const DataTable &table, IndexScanState &state, - const idx_t max_count, vector &result_ids) = 0; + //! Returns true if the index is a unknown index, and false otherwise + virtual bool IsUnknown() { + return false; + } //! Obtain a lock on the index - virtual void InitializeLock(IndexLock &state); + void InitializeLock(IndexLock &state); //! Called when data is appended to the index. The lock obtained from InitializeLock must be held - virtual PreservedError Append(IndexLock &state, DataChunk &entries, Vector &row_identifiers) = 0; + virtual ErrorData Append(IndexLock &state, DataChunk &entries, Vector &row_identifiers) = 0; //! Obtains a lock and calls Append while holding that lock - PreservedError Append(DataChunk &entries, Vector &row_identifiers); + ErrorData Append(DataChunk &entries, Vector &row_identifiers); //! Verify that data can be appended to the index without a constraint violation virtual void VerifyAppend(DataChunk &chunk) = 0; //! Verify that data can be appended to the index without a constraint violation using the conflict manager @@ -93,7 +87,7 @@ class Index { void Delete(DataChunk &entries, Vector &row_identifiers); //! Insert a chunk of entries into the index - virtual PreservedError Insert(IndexLock &lock, DataChunk &input, Vector &row_identifiers) = 0; + virtual ErrorData Insert(IndexLock &lock, DataChunk &input, Vector &row_identifiers) = 0; //! Merge another index into this index. The lock obtained from InitializeLock must be held, and the other //! index must also be locked during the merge @@ -106,6 +100,11 @@ class Index { //! Obtains a lock and calls Vacuum while holding that lock void Vacuum(); + //! Returns the in-memory usage of the index. The lock obtained from InitializeLock must be held + virtual idx_t GetInMemorySize(IndexLock &state) = 0; + //! Returns the in-memory usage of the index + idx_t GetInMemorySize(); + //! Returns the string representation of an index, or only traverses and verifies the index virtual string VerifyAndToString(IndexLock &state, const bool only_verify) = 0; //! Obtains a lock and calls VerifyAndToString while holding that lock @@ -116,33 +115,32 @@ class Index { //! Returns unique flag bool IsUnique() { - return (constraint_type == IndexConstraintType::UNIQUE || constraint_type == IndexConstraintType::PRIMARY); + return (index_constraint_type == IndexConstraintType::UNIQUE || + index_constraint_type == IndexConstraintType::PRIMARY); } //! Returns primary key flag bool IsPrimary() { - return (constraint_type == IndexConstraintType::PRIMARY); + return (index_constraint_type == IndexConstraintType::PRIMARY); } //! Returns foreign key flag bool IsForeign() { - return (constraint_type == IndexConstraintType::FOREIGN); + return (index_constraint_type == IndexConstraintType::FOREIGN); } - //! Serializes the index to disk - virtual BlockPointer Serialize(MetadataWriter &writer); - //! Returns the serialized root block pointer - BlockPointer GetRootBlockPointer() const { - return root_block_pointer; - } + //! Returns all index storage information for serialization + virtual IndexStorageInfo GetStorageInfo(const bool get_buffers); //! Execute the index expressions on an input chunk void ExecuteExpressions(DataChunk &input, DataChunk &result); static string AppendRowError(DataChunk &input, idx_t index); + //! Throw a constraint violation exception + virtual string GetConstraintViolationMessage(VerifyExistenceType verify_type, idx_t failed_index, + DataChunk &input) = 0; + protected: //! Lock used for any changes to the index mutex lock; - //! Pointer to the index on disk - BlockPointer root_block_pointer; private: //! Bound expressions used during expression execution diff --git a/src/include/duckdb/storage/index_storage_info.hpp b/src/include/duckdb/storage/index_storage_info.hpp new file mode 100644 index 000000000000..08f4723f8089 --- /dev/null +++ b/src/include/duckdb/storage/index_storage_info.hpp @@ -0,0 +1,77 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/index_storage_info.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/types/value.hpp" +#include "duckdb/storage/block.hpp" +#include "duckdb/storage/storage_info.hpp" +#include "duckdb/common/unordered_set.hpp" + +namespace duckdb { + +//! Information to serialize a FixedSizeAllocator, which holds the index data +struct FixedSizeAllocatorInfo { + idx_t segment_size; + vector buffer_ids; + vector block_pointers; + vector segment_counts; + vector allocation_sizes; + vector buffers_with_free_space; + + void Serialize(Serializer &serializer) const; + static FixedSizeAllocatorInfo Deserialize(Deserializer &deserializer); +}; + +//! Information to serialize an index buffer to the WAL +struct IndexBufferInfo { + IndexBufferInfo(data_ptr_t buffer_ptr, const idx_t allocation_size) + : buffer_ptr(buffer_ptr), allocation_size(allocation_size) { + } + + data_ptr_t buffer_ptr; + idx_t allocation_size; +}; + +//! Information to serialize an index +struct IndexStorageInfo { + IndexStorageInfo() {}; + explicit IndexStorageInfo(string name) : name(std::move(name)) {}; + + //! The name of the index + string name; + //! The root of the index + idx_t root; + //! Information to serialize the index memory held by the fixed-size allocators + vector allocator_infos; + + //! Contains all buffer pointers and their allocation size for serializing to the WAL + //! First dimension: all fixed-size allocators, second dimension: the buffers of each allocator + vector> buffers; + + //! The root block pointer of the index, which is necessary to support older storage files + BlockPointer root_block_ptr; + + //! Returns true, if the struct contains index information + bool IsValid() const { + return root_block_ptr.IsValid() || !allocator_infos.empty(); + } + + void Serialize(Serializer &serializer) const; + static IndexStorageInfo Deserialize(Deserializer &deserializer); +}; + +//! Additional index information for tables +struct IndexInfo { + bool is_unique; + bool is_primary; + bool is_foreign; + unordered_set column_set; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/storage/metadata/metadata_manager.hpp b/src/include/duckdb/storage/metadata/metadata_manager.hpp index abe9473560e7..900dde009700 100644 --- a/src/include/duckdb/storage/metadata/metadata_manager.hpp +++ b/src/include/duckdb/storage/metadata/metadata_manager.hpp @@ -42,10 +42,10 @@ struct MetadataHandle { class MetadataManager { public: - //! The size of metadata blocks - static constexpr const idx_t METADATA_BLOCK_SIZE = 4088; //! The amount of metadata blocks per storage block static constexpr const idx_t METADATA_BLOCK_COUNT = 64; + //! The size of metadata blocks + static constexpr const idx_t METADATA_BLOCK_SIZE = AlignValueFloor(Storage::BLOCK_SIZE / METADATA_BLOCK_COUNT); public: MetadataManager(BlockManager &block_manager, BufferManager &buffer_manager); @@ -88,4 +88,8 @@ class MetadataManager { void ConvertToTransient(MetadataBlock &block); }; +//! Detect mismatching constant values +static_assert(MetadataManager::METADATA_BLOCK_SIZE * MetadataManager::METADATA_BLOCK_COUNT <= Storage::BLOCK_SIZE, + "metadata block count exceeds total block alloc size"); + } // namespace duckdb diff --git a/src/include/duckdb/storage/object_cache.hpp b/src/include/duckdb/storage/object_cache.hpp index 170c0041f842..5136762db0fc 100644 --- a/src/include/duckdb/storage/object_cache.hpp +++ b/src/include/duckdb/storage/object_cache.hpp @@ -16,7 +16,6 @@ #include "duckdb/main/database.hpp" namespace duckdb { -class ClientContext; //! ObjectCache is the base class for objects caches in DuckDB class ObjectCacheEntry { diff --git a/src/include/duckdb/storage/partial_block_manager.hpp b/src/include/duckdb/storage/partial_block_manager.hpp index c689bcae428a..8e4c1ba9e944 100644 --- a/src/include/duckdb/storage/partial_block_manager.hpp +++ b/src/include/duckdb/storage/partial_block_manager.hpp @@ -107,14 +107,8 @@ class PartialBlockManager { virtual ~PartialBlockManager(); public: - //! Flush any remaining partial blocks to disk - void FlushPartialBlocks(); - PartialBlockAllocation GetBlockAllocation(uint32_t segment_size); - virtual void AllocateBlock(PartialBlockState &state, uint32_t segment_size); - - void Merge(PartialBlockManager &other); //! Register a partially filled block that is filled with "segment_size" entries void RegisterPartialBlock(PartialBlockAllocation &&allocation); @@ -124,9 +118,20 @@ class PartialBlockManager { //! Rollback all data written by this partial block manager void Rollback(); + //! Merge this block manager into another one + void Merge(PartialBlockManager &other); + + //! Flush any remaining partial blocks to disk + void FlushPartialBlocks(); + + unique_lock GetLock() { + return unique_lock(partial_block_lock); + } + protected: BlockManager &block_manager; CheckpointType checkpoint_type; + mutex partial_block_lock; //! A map of (available space -> PartialBlock) for partially filled blocks //! This is a multimap because there might be outstanding partial blocks with //! the same amount of left-over space @@ -139,6 +144,7 @@ class PartialBlockManager { uint32_t max_use_count; protected: + virtual void AllocateBlock(PartialBlockState &state, uint32_t segment_size); //! Try to obtain a partially filled block that can fit "segment_size" bytes //! If successful, returns true and returns the block_id and offset_in_block to write to //! Otherwise, returns false diff --git a/src/include/duckdb/storage/segment/uncompressed.hpp b/src/include/duckdb/storage/segment/uncompressed.hpp index 661d3f0fd618..04876becbc55 100644 --- a/src/include/duckdb/storage/segment/uncompressed.hpp +++ b/src/include/duckdb/storage/segment/uncompressed.hpp @@ -40,9 +40,14 @@ struct StringUncompressed { static CompressionFunction GetFunction(PhysicalType data_type); public: - //! The max string size that is allowed within a block. Strings bigger than this will be labeled as a BIG STRING and - //! offloaded to the overflow blocks. - static constexpr uint16_t STRING_BLOCK_LIMIT = 4096; + //! The default maximum string size for sufficiently big block sizes + static constexpr uint16_t DEFAULT_STRING_BLOCK_LIMIT = 4096; + //! The maximum string size within a block. We offload bigger strings to overflow blocks + static constexpr uint16_t STRING_BLOCK_LIMIT = + MinValue(AlignValueFloor(Storage::BLOCK_SIZE / 4), idx_t(DEFAULT_STRING_BLOCK_LIMIT)); }; +//! Detect mismatching constant values +static_assert(StringUncompressed::STRING_BLOCK_LIMIT != 0, "the string block limit cannot be 0"); + } // namespace duckdb diff --git a/src/include/duckdb/storage/serialization/create_info.json b/src/include/duckdb/storage/serialization/create_info.json index d4c213d058c9..77b2e6e6a048 100644 --- a/src/include/duckdb/storage/serialization/create_info.json +++ b/src/include/duckdb/storage/serialization/create_info.json @@ -43,6 +43,12 @@ "id": 106, "name": "sql", "type": "string" + }, + { + "id": 107, + "name": "comment", + "type": "Value", + "default": "Value()" } ] }, @@ -68,7 +74,8 @@ { "id": 202, "name": "index_type", - "type": "IndexType" + "type": "DeprecatedIndexType", + "deleted": "True" }, { "id": 203, @@ -103,7 +110,8 @@ { "id": 209, "name": "index_type_name", - "type": "string" + "type": "string", + "property": "index_type" } ] }, @@ -174,6 +182,11 @@ "id": 203, "name": "query", "type": "SelectStatement*" + }, + { + "id": 204, + "name": "names", + "type": "vector" } ] }, diff --git a/src/include/duckdb/storage/serialization/expression.json b/src/include/duckdb/storage/serialization/expression.json index 555c734191b1..bd7299b1058d 100644 --- a/src/include/duckdb/storage/serialization/expression.json +++ b/src/include/duckdb/storage/serialization/expression.json @@ -230,7 +230,8 @@ { "id": 202, "name": "lambda_index", - "type": "idx_t" + "type": "idx_t", + "property": "lambda_idx" }, { "id": 203, diff --git a/src/include/duckdb/storage/serialization/extra_drop_info.json b/src/include/duckdb/storage/serialization/extra_drop_info.json new file mode 100644 index 000000000000..f40560dd8a7d --- /dev/null +++ b/src/include/duckdb/storage/serialization/extra_drop_info.json @@ -0,0 +1,33 @@ +[ + { + "class": "ExtraDropInfo", + "class_type": "info_type", + "includes": [ + "duckdb/parser/parsed_data/extra_drop_info.hpp" + ], + "members": [ + { + "id": 100, + "name": "info_type", + "type": "ExtraDropInfoType" + } + ] + }, + { + "class": "ExtraDropSecretInfo", + "base": "ExtraDropInfo", + "enum": "SECRET_INFO", + "members": [ + { + "id": 200, + "name": "persist_mode", + "type": "SecretPersistType" + }, + { + "id": 201, + "name": "secret_storage", + "type": "string" + } + ] + } +] \ No newline at end of file diff --git a/src/include/duckdb/storage/serialization/logical_operator.json b/src/include/duckdb/storage/serialization/logical_operator.json index 3eee4894b6ca..66be2b3a2a56 100644 --- a/src/include/duckdb/storage/serialization/logical_operator.json +++ b/src/include/duckdb/storage/serialization/logical_operator.json @@ -433,6 +433,12 @@ "id": 206, "name": "duplicate_eliminated_columns", "type": "vector" + }, + { + "id": 207, + "name": "delim_flipped", + "type": "bool", + "default": "false" } ], "constructor": ["join_type", "type"] @@ -498,9 +504,21 @@ "id": 201, "name": "column_count", "type": "idx_t" + }, + { + "id": 202, + "name": "setop_all", + "type": "bool", + "default": "true" + }, + { + "id": 203, + "name": "allow_out_of_order", + "type": "bool", + "default": "true" } ], - "constructor": ["table_index", "column_count", "type"] + "constructor": ["table_index", "column_count", "type", "setop_all", "allow_out_of_order"] }, { "class": "LogicalRecursiveCTE", @@ -782,23 +800,6 @@ ], "constructor": ["explain_type"] }, - { - "class": "LogicalShow", - "base": "LogicalOperator", - "enum": "LOGICAL_SHOW", - "members": [ - { - "id": 200, - "name": "types_select", - "type": "vector" - }, - { - "id": 201, - "name": "aliases", - "type": "vector" - } - ] - }, { "class": "LogicalSet", "base": "LogicalOperator", diff --git a/src/include/duckdb/storage/serialization/macro_function.json b/src/include/duckdb/storage/serialization/macro_function.json index df0caeca0182..948cfb7e1083 100644 --- a/src/include/duckdb/storage/serialization/macro_function.json +++ b/src/include/duckdb/storage/serialization/macro_function.json @@ -19,7 +19,7 @@ { "id": 102, "name": "default_parameters", - "type": "unordered_map" + "type": "case_insensitive_map_t" } ] }, diff --git a/src/include/duckdb/storage/serialization/nodes.json b/src/include/duckdb/storage/serialization/nodes.json index 7e22b2f3f279..b27c36655c83 100644 --- a/src/include/duckdb/storage/serialization/nodes.json +++ b/src/include/duckdb/storage/serialization/nodes.json @@ -285,6 +285,12 @@ "id": 104, "name": "compression_type", "type": "duckdb::CompressionType" + }, + { + "id": 105, + "name": "comment", + "type": "Value", + "default": "Value()" } ], "constructor": ["name", "type", "expression", "category"], @@ -477,151 +483,153 @@ "constructor": ["value", "index"] }, { - "class": "CSVReaderOptions", + "class": "CSVOption", "includes": [ - "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" + "duckdb/execution/operator/csv_scanner/options/csv_option.hpp" ], "members": [ { "id": 100, - "name": "has_delimiter", - "type": "bool" - }, - {"id": 101, - "name": "has_quote", - "type": "bool" - }, - {"id": 102, - "name": "has_escape", + "name": "set_by_user", "type": "bool" }, - {"id": 103, - "name": "has_header", - "type": "bool" - }, - {"id": 104, + { + "id": 101, + "name": "value", + "type": "T" + } + ], + "pointer_type": "none" + }, + { + "class": "CSVReaderOptions", + "includes": [ + "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" + ], + "members": [ + {"id": 100, "name": "ignore_errors", "type": "bool" }, - {"id": 105, + {"id": 101, "name": "buffer_sample_size", "type": "idx_t" }, - {"id": 106, + {"id": 102, "name": "null_str", "type": "string" }, - {"id": 107, + {"id": 103, "name": "compression", "type": "FileCompressionType" }, - {"id": 108, + {"id": 104, "name": "allow_quoted_nulls", "type": "bool" }, - {"id": 109, - "name": "skip_rows_set", - "type": "bool" - }, - {"id": 110, + {"id": 105, "name": "maximum_line_size", "type": "idx_t" }, - {"id": 111, + {"id": 106, "name": "normalize_names", "type": "bool" }, - {"id": 112, + {"id": 107, "name": "force_not_null", "type": "vector" }, - {"id": 113, + {"id": 108, "name": "all_varchar", "type": "bool" }, - {"id": 114, + {"id": 109, "name": "sample_size_chunks", "type": "idx_t" }, - {"id": 115, + {"id": 110, "name": "auto_detect", "type": "bool" }, - {"id": 116, + {"id": 111, "name": "file_path", "type": "string" }, - {"id": 117, + {"id": 112, "name": "decimal_separator", "type": "string" }, - {"id": 118, + {"id": 113, "name": "null_padding", "type": "bool" }, - {"id": 119, + {"id": 114, "name": "buffer_size", "type": "idx_t" }, - {"id": 120, + {"id": 115, "name": "file_options", "type": "MultiFileReaderOptions" }, - {"id": 121, + {"id": 116, "name": "force_quote", "type": "vector" }, - {"id": 122, + {"id": 117, "name": "rejects_table_name", "type": "string" }, - {"id": 123, + {"id": 118, "name": "rejects_limit", "type": "idx_t" }, - {"id": 124, + {"id": 119, "name": "rejects_recovery_columns", "type": "vector" }, - {"id": 125, + {"id": 120, "name": "rejects_recovery_column_ids", "type": "vector" }, - {"id": 126, + {"id": 121, "name": "dialect_options.state_machine_options.delimiter", - "type": "char" + "type": "CSVOption" }, - {"id": 127, + {"id": 122, "name": "dialect_options.state_machine_options.quote", - "type": "char" + "type": "CSVOption" }, - {"id": 128, + {"id": 123, "name": "dialect_options.state_machine_options.escape", - "type": "char" + "type": "CSVOption" }, - {"id": 129, + {"id": 124, "name": "dialect_options.header", - "type": "bool" + "type": "CSVOption" }, - {"id": 130, + {"id": 125, "name": "dialect_options.num_cols", "type": "idx_t" }, - {"id": 131, - "name": "dialect_options.new_line", - "type": "NewLineIdentifier" + {"id": 126, + "name": "dialect_options.state_machine_options.new_line", + "type": "CSVOption" }, - {"id": 132, + {"id": 127, "name": "dialect_options.skip_rows", - "type": "idx_t" + "type": "CSVOption" }, - {"id": 133, + {"id": 128, "name": "dialect_options.date_format", - "type": "map" + "type": "map>" + }, + {"id": 129, + "name": "sniffer_user_mismatch_error", + "type": "string" }, - {"id": 134, - "name": "dialect_options.has_format", - "type": "map" + {"id": 130, + "name": "parallel", + "type": "bool" } ], "pointer_type": "none" @@ -684,16 +692,11 @@ }, { "id": 107, - "name": "single_threaded", - "type": "bool" - }, - { - "id": 108, "name": "reader_bind", "type": "MultiFileReaderBindData" }, { - "id": 109, + "id": 108, "name": "column_info", "type": "vector" } @@ -727,16 +730,16 @@ "type": "int32_t" }, { - "id": 2, - "name": "days", - "type": "int32_t" + "id": 2, + "name": "days", + "type": "int32_t" }, { - "id": 3, - "name": "micros", - "type": "int64_t" + "id": 3, + "name": "micros", + "type": "int64_t" } ], "pointer_type": "none" } -] +] \ No newline at end of file diff --git a/src/include/duckdb/storage/serialization/parse_info.json b/src/include/duckdb/storage/serialization/parse_info.json index ae897505ca0b..123fa1501bca 100644 --- a/src/include/duckdb/storage/serialization/parse_info.json +++ b/src/include/duckdb/storage/serialization/parse_info.json @@ -216,6 +216,23 @@ } ] }, + { + "class": "SetColumnCommentInfo", + "base": "AlterTableInfo", + "enum": "SET_COLUMN_COMMENT", + "members": [ + { + "id": 400, + "name": "column_name", + "type": "string" + }, + { + "id": 401, + "name": "comment", + "type": "Value" + } + ] + }, { "class": "SetNotNullInfo", "base": "AlterTableInfo", @@ -240,6 +257,23 @@ } ] }, + { + "class": "SetCommentInfo", + "base": "AlterInfo", + "enum": "SET_COMMENT", + "members": [ + { + "id": 300, + "name": "entry_catalog_type", + "type": "CatalogType" + }, + { + "id": 301, + "name": "comment_value", + "type": "Value" + } + ] + }, { "class": "AlterViewInfo", "base": "AlterInfo", @@ -287,6 +321,12 @@ "id": 202, "name": "options", "type": "unordered_map" + }, + { + "id": 203, + "name": "on_conflict", + "type": "OnCreateConflict", + "default": "OnCreateConflict::ERROR_ON_CONFLICT" } ] }, @@ -402,6 +442,11 @@ "id": 206, "name": "allow_drop_internal", "type": "bool" + }, + { + "id": 207, + "name": "extra_drop_info", + "type": "unique_ptr" } ] }, @@ -446,12 +491,12 @@ { "id": 201, "name": "parameters", - "type": "vector" + "type": "vector" }, { "id": 202, "name": "named_parameters", - "type": "named_parameter_map_t" + "type": "case_insensitive_map_t" } ] }, @@ -485,5 +530,40 @@ } ], "constructor": ["options"] + }, + { + "class": "CommentOnInfo", + "base": "ParseInfo", + "enum": "COMMENT_ON_INFO", + "includes": [ + "duckdb/parser/parsed_data/comment_on_info.hpp" + ], + "members": [ + { + "id": 200, + "name": "type", + "type": "CatalogType" + }, + { + "id": 201, + "name": "catalog", + "type": "string" + }, + { + "id": 202, + "name": "schema", + "type": "string" + }, + { + "id": 203, + "name": "name", + "type": "string" + }, + { + "id": 204, + "name": "comment", + "type": "Value" + } + ] } ] diff --git a/src/include/duckdb/storage/serialization/parsed_expression.json b/src/include/duckdb/storage/serialization/parsed_expression.json index a2c906119c7a..d9bb9fdb97e2 100644 --- a/src/include/duckdb/storage/serialization/parsed_expression.json +++ b/src/include/duckdb/storage/serialization/parsed_expression.json @@ -24,6 +24,12 @@ "id": 102, "name": "alias", "type": "string" + }, + { + "id": 103, + "name": "query_location", + "type": "optional_idx", + "default": "optional_idx()" } ] }, @@ -117,6 +123,24 @@ } ] }, + { + "class": "LambdaRefExpression", + "base": "ParsedExpression", + "enum": "LAMBDA_REF", + "members": [ + { + "id": 200, + "name": "lambda_idx", + "type": "idx_t" + }, + { + "id": 201, + "name": "column_name", + "type": "string" + } + ], + "constructor": ["lambda_idx", "column_name"] + }, { "class": "ComparisonExpression", "base": "ParsedExpression", @@ -407,6 +431,17 @@ "id": 213, "name": "filter_expr", "type": "ParsedExpression*" + }, + { + "id": 214, + "name": "exclude_clause", + "type": "WindowExcludeMode", + "default": "WindowExcludeMode::NO_OTHER" + }, + { + "id": 215, + "name": "distinct", + "type": "bool" } ], "constructor": ["type"] diff --git a/src/include/duckdb/storage/serialization/query_node.json b/src/include/duckdb/storage/serialization/query_node.json index d6088bfbc212..6f906d3e5fcc 100644 --- a/src/include/duckdb/storage/serialization/query_node.json +++ b/src/include/duckdb/storage/serialization/query_node.json @@ -96,6 +96,12 @@ "id": 202, "name": "right", "type": "QueryNode*" + }, + { + "id": 203, + "name": "setop_all", + "type": "bool", + "default": "true" } ] }, diff --git a/src/include/duckdb/storage/serialization/storage.json b/src/include/duckdb/storage/serialization/storage.json index 0b2e4cbdbeac..8f9a392af068 100644 --- a/src/include/duckdb/storage/serialization/storage.json +++ b/src/include/duckdb/storage/serialization/storage.json @@ -19,6 +19,66 @@ "pointer_type": "none", "constructor": ["block_pointer", "offset"] }, + { + "class": "FixedSizeAllocatorInfo", + "members": [ + { + "id": 100, + "name": "segment_size", + "type": "idx_t" + }, + { + "id": 101, + "name": "buffer_ids", + "type": "vector" + }, + { + "id": 102, + "name": "block_pointers", + "type": "vector" + }, + { + "id": 103, + "name": "segment_counts", + "type": "vector" + }, + { + "id": 104, + "name": "allocation_sizes", + "type": "vector" + }, + { + "id": 105, + "name": "buffers_with_free_space", + "type": "vector" + } + ], + "pointer_type": "none" + }, + { + "class": "IndexStorageInfo", + "includes": [ + "duckdb/storage/table_storage_info.hpp" + ], + "members": [ + { + "id": 100, + "name": "name", + "type": "string" + }, + { + "id": 101, + "name": "root", + "type": "idx_t" + }, + { + "id": 102, + "name": "allocator_infos", + "type": "vector" + } + ], + "pointer_type": "none" + }, { "class": "BlockPointer", "members": [ diff --git a/src/include/duckdb/storage/serialization/table_filter.json b/src/include/duckdb/storage/serialization/table_filter.json index c79a14c327a1..caf3e00334d1 100644 --- a/src/include/duckdb/storage/serialization/table_filter.json +++ b/src/include/duckdb/storage/serialization/table_filter.json @@ -77,5 +77,31 @@ "type": "vector" } ] + }, + { + "class": "StructFilter", + "base": "TableFilter", + "enum": "STRUCT_EXTRACT", + "includes": [ + "duckdb/planner/filter/struct_filter.hpp" + ], + "members": [ + { + "id": 200, + "name": "child_idx", + "type": "idx_t" + }, + { + "id": 201, + "name": "child_name", + "type": "string" + }, + { + "id": 202, + "name": "child_filter", + "type": "unique_ptr" + } + ], + "constructor": ["child_idx", "child_name", "child_filter"] } ] diff --git a/src/include/duckdb/storage/serialization/tableref.json b/src/include/duckdb/storage/serialization/tableref.json index beebc4ab31b0..85d5a318ed83 100644 --- a/src/include/duckdb/storage/serialization/tableref.json +++ b/src/include/duckdb/storage/serialization/tableref.json @@ -20,6 +20,12 @@ "id": 102, "name": "sample", "type": "SampleOptions*" + }, + { + "id": 103, + "name": "query_location", + "type": "optional_idx", + "default": "optional_idx()" } ] }, @@ -125,7 +131,7 @@ { "class": "EmptyTableRef", "base": "TableRef", - "enum": "EMPTY", + "enum": "EMPTY_FROM", "members": [ ] }, @@ -192,5 +198,27 @@ "type": "bool" } ] + }, + { + "class": "ShowRef", + "base": "TableRef", + "enum": "SHOW_REF", + "members": [ + { + "id": 200, + "name": "table_name", + "type": "string" + }, + { + "id": 201, + "name": "query", + "type": "QueryNode*" + }, + { + "id": 202, + "name": "show_type", + "type": "ShowType" + } + ] } ] diff --git a/src/include/duckdb/storage/serialization/types.json b/src/include/duckdb/storage/serialization/types.json index f267b44ea9bc..dd4cf2b7f147 100644 --- a/src/include/duckdb/storage/serialization/types.json +++ b/src/include/duckdb/storage/serialization/types.json @@ -97,6 +97,24 @@ } ] }, + { + "class": "ArrayTypeInfo", + "base": "ExtraTypeInfo", + "enum": "ARRAY_TYPE_INFO", + "members": [ + { + "id": 200, + "name": "child_type", + "type": "LogicalType" + }, + { + "id": 201, + "name": "size", + "type": "uint32_t" + } + ], + "constructor": ["child_type", "size"] + }, { "class": "UserTypeInfo", "base": "ExtraTypeInfo", @@ -106,6 +124,18 @@ "id": 200, "name": "user_type_name", "type": "string" + }, + { + "id": 201, + "name": "catalog", + "type": "string", + "default": "string()" + }, + { + "id": 202, + "name": "schema", + "type": "string", + "default": "string()" } ] }, @@ -126,5 +156,34 @@ "base": "ExtraTypeInfo", "enum": "GENERIC_TYPE_INFO", "custom_switch_code": "result = make_shared(type);\nbreak;" + }, + { + "class": "AnyTypeInfo", + "base": "ExtraTypeInfo", + "enum": "ANY_TYPE_INFO", + "members": [ + { + "id": 200, + "name": "target_type", + "type": "LogicalType" + }, + { + "id": 201, + "name": "cast_score", + "type": "idx_t" + } + ] + }, + { + "class": "IntegerLiteralTypeInfo", + "base": "ExtraTypeInfo", + "enum": "INTEGER_LITERAL_TYPE_INFO", + "members": [ + { + "id": 200, + "name": "constant_value", + "type": "Value" + } + ] } ] diff --git a/src/include/duckdb/storage/standard_buffer_manager.hpp b/src/include/duckdb/storage/standard_buffer_manager.hpp index ff867ef59a9c..f52f2058aeec 100644 --- a/src/include/duckdb/storage/standard_buffer_manager.hpp +++ b/src/include/duckdb/storage/standard_buffer_manager.hpp @@ -13,13 +13,14 @@ #include "duckdb/common/file_system.hpp" #include "duckdb/common/mutex.hpp" #include "duckdb/storage/block_manager.hpp" - #include "duckdb/storage/buffer/block_handle.hpp" -#include "duckdb/storage/buffer_manager.hpp" #include "duckdb/storage/buffer/buffer_pool.hpp" +#include "duckdb/storage/buffer_manager.hpp" namespace duckdb { + class BlockManager; +class TemporaryMemoryManager; class DatabaseInstance; class TemporaryDirectoryHandle; struct EvictionQueue; @@ -49,7 +50,7 @@ class StandardBufferManager : public BufferManager { //! Allocate an in-memory buffer with a single pin. //! The allocated memory is released when the buffer handle is destroyed. - DUCKDB_API BufferHandle Allocate(idx_t block_size, bool can_destroy = true, + DUCKDB_API BufferHandle Allocate(MemoryTag tag, idx_t block_size, bool can_destroy = true, shared_ptr *block = nullptr) final override; //! Reallocate an in-memory buffer that is pinned. @@ -62,6 +63,9 @@ class StandardBufferManager : public BufferManager { //! blocks can be evicted void SetLimit(idx_t limit = (idx_t)-1) final override; + //! Returns informaton about memory usage + vector GetMemoryUsageInfo() const override; + //! Returns a list of all temporary files vector GetTemporaryFiles() final override; @@ -88,33 +92,27 @@ class StandardBufferManager : public BufferManager { protected: //! Helper template - TempBufferPoolReservation EvictBlocksOrThrow(idx_t memory_delta, unique_ptr *buffer, ARGS...); + TempBufferPoolReservation EvictBlocksOrThrow(MemoryTag tag, idx_t memory_delta, unique_ptr *buffer, + ARGS...); //! Register an in-memory buffer of arbitrary size, as long as it is >= BLOCK_SIZE. can_destroy signifies whether or //! not the buffer can be destroyed when unpinned, or whether or not it needs to be written to a temporary file so //! it can be reloaded. The resulting buffer will already be allocated, but needs to be pinned in order to be used. //! This needs to be private to prevent creating blocks without ever pinning them: //! blocks that are never pinned are never added to the eviction queue - shared_ptr RegisterMemory(idx_t block_size, bool can_destroy); - - //! Evict blocks until the currently used memory + extra_memory fit, returns false if this was not possible - //! (i.e. not enough blocks could be evicted) - //! If the "buffer" argument is specified AND the system can find a buffer to re-use for the given allocation size - //! "buffer" will be made to point to the re-usable memory. Note that this is not guaranteed. - //! Returns a pair. result.first indicates if eviction was successful. result.second contains the - //! reservation handle, which can be moved to the BlockHandle that will own the reservation. - BufferPool::EvictionResult EvictBlocks(idx_t extra_memory, idx_t memory_limit, - unique_ptr *buffer = nullptr); + shared_ptr RegisterMemory(MemoryTag tag, idx_t block_size, bool can_destroy); //! Garbage collect eviction queue void PurgeQueue() final override; - BufferPool &GetBufferPool() final override; + BufferPool &GetBufferPool() const final override; + TemporaryMemoryManager &GetTemporaryMemoryManager() final override; //! Write a temporary buffer to disk - void WriteTemporaryBuffer(block_id_t block_id, FileBuffer &buffer) final override; + void WriteTemporaryBuffer(MemoryTag tag, block_id_t block_id, FileBuffer &buffer) final override; //! Read a temporary buffer from disk - unique_ptr ReadTemporaryBuffer(block_id_t id, unique_ptr buffer = nullptr) final override; + unique_ptr ReadTemporaryBuffer(MemoryTag tag, block_id_t id, + unique_ptr buffer = nullptr) final override; //! Get the path of the temporary buffer string GetTemporaryPath(block_id_t id); @@ -152,6 +150,8 @@ class StandardBufferManager : public BufferManager { Allocator buffer_allocator; //! Block manager for temp data unique_ptr temp_block_manager; + //! Temporary evicted memory data per tag + atomic evicted_data_per_tag[MEMORY_TAG_COUNT]; }; } // namespace duckdb diff --git a/src/include/duckdb/storage/statistics/array_stats.hpp b/src/include/duckdb/storage/statistics/array_stats.hpp new file mode 100644 index 000000000000..7a37abc883ef --- /dev/null +++ b/src/include/duckdb/storage/statistics/array_stats.hpp @@ -0,0 +1,40 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/statistics/array_stats.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/common.hpp" +#include "duckdb/common/exception.hpp" + +namespace duckdb { +class BaseStatistics; +struct SelectionVector; +class Vector; +class Serializer; +class Deserializer; + +struct ArrayStats { + DUCKDB_API static void Construct(BaseStatistics &stats); + DUCKDB_API static BaseStatistics CreateUnknown(LogicalType type); + DUCKDB_API static BaseStatistics CreateEmpty(LogicalType type); + + DUCKDB_API static const BaseStatistics &GetChildStats(const BaseStatistics &stats); + DUCKDB_API static BaseStatistics &GetChildStats(BaseStatistics &stats); + DUCKDB_API static void SetChildStats(BaseStatistics &stats, unique_ptr new_stats); + + DUCKDB_API static void Serialize(const BaseStatistics &stats, Serializer &serializer); + DUCKDB_API static void Deserialize(Deserializer &deserializer, BaseStatistics &base); + + DUCKDB_API static string ToString(const BaseStatistics &stats); + + DUCKDB_API static void Merge(BaseStatistics &stats, const BaseStatistics &other); + DUCKDB_API static void Copy(BaseStatistics &stats, const BaseStatistics &other); + DUCKDB_API static void Verify(const BaseStatistics &stats, Vector &vector, const SelectionVector &sel, idx_t count); +}; + +} // namespace duckdb diff --git a/src/include/duckdb/storage/statistics/base_statistics.hpp b/src/include/duckdb/storage/statistics/base_statistics.hpp index 790644cc7ed3..2d9fbd7dbab0 100644 --- a/src/include/duckdb/storage/statistics/base_statistics.hpp +++ b/src/include/duckdb/storage/statistics/base_statistics.hpp @@ -33,13 +33,14 @@ enum class StatsInfo : uint8_t { CAN_HAVE_NULL_AND_VALID_VALUES = 4 }; -enum class StatisticsType : uint8_t { NUMERIC_STATS, STRING_STATS, LIST_STATS, STRUCT_STATS, BASE_STATS }; +enum class StatisticsType : uint8_t { NUMERIC_STATS, STRING_STATS, LIST_STATS, STRUCT_STATS, BASE_STATS, ARRAY_STATS }; class BaseStatistics { friend struct NumericStats; friend struct StringStats; friend struct StructStats; friend struct ListStats; + friend struct ArrayStats; public: DUCKDB_API ~BaseStatistics(); @@ -76,12 +77,20 @@ class BaseStatistics { void Set(StatsInfo info); void CombineValidity(BaseStatistics &left, BaseStatistics &right); void CopyValidity(BaseStatistics &stats); - inline void SetHasNull() { + //! Set that the CURRENT level can have null values + //! Note that this is not correct for nested types unless this information is propagated in a different manner + //! Use Set(StatsInfo::CAN_HAVE_NULL_VALUES) in the general case + inline void SetHasNullFast() { has_null = true; } - inline void SetHasNoNull() { + //! Set that the CURRENT level can have valiod values + //! Note that this is not correct for nested types unless this information is propagated in a different manner + //! Use Set(StatsInfo::CAN_HAVE_VALID_VALUES) in the general case + inline void SetHasNoNullFast() { has_no_null = true; } + void SetHasNull(); + void SetHasNoNull(); void Merge(const BaseStatistics &other); diff --git a/src/include/duckdb/storage/statistics/numeric_stats_union.hpp b/src/include/duckdb/storage/statistics/numeric_stats_union.hpp index 8006c20602e5..2c43987ab4e2 100644 --- a/src/include/duckdb/storage/statistics/numeric_stats_union.hpp +++ b/src/include/duckdb/storage/statistics/numeric_stats_union.hpp @@ -26,6 +26,7 @@ struct NumericValueUnion { uint32_t uinteger; uint64_t ubigint; hugeint_t hugeint; + uhugeint_t uhugeint; float float_; double double_; } value_; @@ -47,6 +48,8 @@ DUCKDB_API int64_t &NumericValueUnion::GetReferenceUnsafe(); template <> DUCKDB_API hugeint_t &NumericValueUnion::GetReferenceUnsafe(); template <> +DUCKDB_API uhugeint_t &NumericValueUnion::GetReferenceUnsafe(); +template <> DUCKDB_API uint8_t &NumericValueUnion::GetReferenceUnsafe(); template <> DUCKDB_API uint16_t &NumericValueUnion::GetReferenceUnsafe(); diff --git a/src/include/duckdb/storage/storage_extension.hpp b/src/include/duckdb/storage/storage_extension.hpp index 0eeeceeca836..369dd71a9c7c 100644 --- a/src/include/duckdb/storage/storage_extension.hpp +++ b/src/include/duckdb/storage/storage_extension.hpp @@ -24,8 +24,9 @@ struct StorageExtensionInfo { } }; -typedef unique_ptr (*attach_function_t)(StorageExtensionInfo *storage_info, AttachedDatabase &db, - const string &name, AttachInfo &info, AccessMode access_mode); +typedef unique_ptr (*attach_function_t)(StorageExtensionInfo *storage_info, ClientContext &context, + AttachedDatabase &db, const string &name, AttachInfo &info, + AccessMode access_mode); typedef unique_ptr (*create_transaction_manager_t)(StorageExtensionInfo *storage_info, AttachedDatabase &db, Catalog &catalog); diff --git a/src/include/duckdb/storage/storage_info.hpp b/src/include/duckdb/storage/storage_info.hpp index 77e02336517c..3fa6ffc01b78 100644 --- a/src/include/duckdb/storage/storage_info.hpp +++ b/src/include/duckdb/storage/storage_info.hpp @@ -9,33 +9,37 @@ #pragma once #include "duckdb/common/constants.hpp" +#include "duckdb/common/string.hpp" #include "duckdb/common/vector_size.hpp" +#include "duckdb/common/limits.hpp" namespace duckdb { struct FileHandle; +//! The standard row group size #define STANDARD_ROW_GROUPS_SIZE 122880 -#if STANDARD_ROW_GROUPS_SIZE < STANDARD_VECTOR_SIZE -#error Row groups should be able to hold at least one vector -#endif +//! The definition of an invalid block +#define INVALID_BLOCK (-1) +//! The maximum block id is 2^62 +#define MAXIMUM_BLOCK 4611686018427388000LL +//! The default block size +#define DEFAULT_BLOCK_ALLOC_SIZE 262144 -#if ((STANDARD_ROW_GROUPS_SIZE % STANDARD_VECTOR_SIZE) != 0) -#error Row group size should be cleanly divisible by vector size -#endif +using block_id_t = int64_t; struct Storage { //! The size of a hard disk sector, only really needed for Direct IO - constexpr static int SECTOR_SIZE = 4096; + constexpr static idx_t SECTOR_SIZE = 4096; //! Block header size for blocks written to the storage - constexpr static int BLOCK_HEADER_SIZE = sizeof(uint64_t); - // Size of a memory slot managed by the StorageManager. This is the quantum of allocation for Blocks on DuckDB. We - // default to 256KB. (1 << 18) - constexpr static int BLOCK_ALLOC_SIZE = 262144; + constexpr static idx_t BLOCK_HEADER_SIZE = sizeof(uint64_t); + //! Size of a memory slot managed by the StorageManager. This is the quantum of allocation for Blocks on DuckDB. We + //! default to 256KB. (1 << 18) + constexpr static idx_t BLOCK_ALLOC_SIZE = DEFAULT_BLOCK_ALLOC_SIZE; //! The actual memory space that is available within the blocks - constexpr static int BLOCK_SIZE = BLOCK_ALLOC_SIZE - BLOCK_HEADER_SIZE; + constexpr static idx_t BLOCK_SIZE = BLOCK_ALLOC_SIZE - BLOCK_HEADER_SIZE; //! The size of the headers. This should be small and written more or less atomically by the hard disk. We default //! to the page size, which is 4KB. (1 << 12) - constexpr static int FILE_HEADER_SIZE = 4096; + constexpr static idx_t FILE_HEADER_SIZE = 4096; //! The number of rows per row group (must be a multiple of the vector size) constexpr static const idx_t ROW_GROUP_SIZE = STANDARD_ROW_GROUPS_SIZE; //! The number of vectors per row group @@ -44,34 +48,36 @@ struct Storage { //! The version number of the database storage format extern const uint64_t VERSION_NUMBER; - const char *GetDuckDBVersion(idx_t version_number); -using block_id_t = int64_t; - -#define INVALID_BLOCK (-1) - -// maximum block id, 2^62 -#define MAXIMUM_BLOCK 4611686018427388000LL - //! The MainHeader is the first header in the storage file. The MainHeader is typically written only once for a database //! file. struct MainHeader { + static constexpr idx_t MAX_VERSION_SIZE = 32; static constexpr idx_t MAGIC_BYTE_SIZE = 4; static constexpr idx_t MAGIC_BYTE_OFFSET = Storage::BLOCK_HEADER_SIZE; static constexpr idx_t FLAG_COUNT = 4; - // the magic bytes in front of the file - // should be "DUCK" + //! The magic bytes in front of the file should be "DUCK" static const char MAGIC_BYTES[]; //! The version of the database uint64_t version_number; //! The set of flags used by the database uint64_t flags[FLAG_COUNT]; - static void CheckMagicBytes(FileHandle &handle); + string LibraryGitDesc() { + return string((char *)library_git_desc, 0, MAX_VERSION_SIZE); + } + string LibraryGitHash() { + return string((char *)library_git_hash, 0, MAX_VERSION_SIZE); + } + void Write(WriteStream &ser); static MainHeader Read(ReadStream &source); + +private: + data_t library_git_desc[MAX_VERSION_SIZE]; + data_t library_git_hash[MAX_VERSION_SIZE]; }; //! The DatabaseHeader contains information about the current state of the database. Every storage file has two @@ -88,9 +94,28 @@ struct DatabaseHeader { //! The number of blocks that is in the file as of this database header. If the file is larger than BLOCK_SIZE * //! block_count any blocks appearing AFTER block_count are implicitly part of the free_list. uint64_t block_count; + //! The block size of the database file + idx_t block_size; + //! The vector size of the database file + idx_t vector_size; void Write(WriteStream &ser); static DatabaseHeader Read(ReadStream &source); }; +//! Detect mismatching constant values when compiling + +#if (STANDARD_ROW_GROUPS_SIZE % STANDARD_VECTOR_SIZE != 0) +#error The row group size must be a multiple of the vector size +#endif +#if (STANDARD_ROW_GROUPS_SIZE < STANDARD_VECTOR_SIZE) +#error Row groups must be able to hold at least one vector +#endif + +static_assert(Storage::BLOCK_ALLOC_SIZE % Storage::SECTOR_SIZE == 0, + "the block allocation size has to be a multiple of the sector size"); +static_assert(Storage::BLOCK_SIZE < idx_t(NumericLimits::Maximum()), + "the block size cannot exceed the maximum signed integer value," + "as some comparisons require casts"); + } // namespace duckdb diff --git a/src/include/duckdb/storage/storage_manager.hpp b/src/include/duckdb/storage/storage_manager.hpp index 7bd92c29f8ae..5c063c3fe10d 100644 --- a/src/include/duckdb/storage/storage_manager.hpp +++ b/src/include/duckdb/storage/storage_manager.hpp @@ -54,13 +54,14 @@ class StorageManager { } //! Get the WAL of the StorageManager, returns nullptr if in-memory - optional_ptr GetWriteAheadLog() { - return wal.get(); - } + optional_ptr GetWriteAheadLog(); + //! Returns the database file path string GetDBPath() { return path; } + //! The path to the WAL, derived from the database file path + string GetWALPath(); bool InMemory(); virtual bool AutomaticCheckpoint(idx_t estimated_wal_bytes) = 0; @@ -75,7 +76,7 @@ class StorageManager { virtual void LoadDatabase() = 0; protected: - //! The database this storagemanager belongs to + //! The database this storage manager belongs to AttachedDatabase &db; //! The path of the database string path; @@ -83,6 +84,9 @@ class StorageManager { unique_ptr wal; //! Whether or not the database is opened in read-only mode bool read_only; + //! When loading a database, we do not yet set the wal-field. Therefore, GetWriteAheadLog must + //! return nullptr when loading a database + bool load_complete = false; public: template diff --git a/src/include/duckdb/storage/table/array_column_data.hpp b/src/include/duckdb/storage/table/array_column_data.hpp new file mode 100644 index 000000000000..2e6760453243 --- /dev/null +++ b/src/include/duckdb/storage/table/array_column_data.hpp @@ -0,0 +1,67 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/table/list_column_data.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/storage/table/column_data.hpp" +#include "duckdb/storage/table/validity_column_data.hpp" + +namespace duckdb { + +//! List column data represents a list +class ArrayColumnData : public ColumnData { +public: + ArrayColumnData(BlockManager &block_manager, DataTableInfo &info, idx_t column_index, idx_t start_row, + LogicalType type, optional_ptr parent = nullptr); + + //! The child-column of the list + unique_ptr child_column; + //! The validity column data of the struct + ValidityColumnData validity; + +public: + void SetStart(idx_t new_start) override; + bool CheckZonemap(ColumnScanState &state, TableFilter &filter) override; + + void InitializeScan(ColumnScanState &state) override; + void InitializeScanWithOffset(ColumnScanState &state, idx_t row_idx) override; + + idx_t Scan(TransactionData transaction, idx_t vector_index, ColumnScanState &state, Vector &result) override; + idx_t ScanCommitted(idx_t vector_index, ColumnScanState &state, Vector &result, bool allow_updates) override; + idx_t ScanCount(ColumnScanState &state, Vector &result, idx_t count) override; + + void Skip(ColumnScanState &state, idx_t count = STANDARD_VECTOR_SIZE) override; + + void InitializeAppend(ColumnAppendState &state) override; + void Append(BaseStatistics &stats, ColumnAppendState &state, Vector &vector, idx_t count) override; + void RevertAppend(row_t start_row) override; + idx_t Fetch(ColumnScanState &state, row_t row_id, Vector &result) override; + void FetchRow(TransactionData transaction, ColumnFetchState &state, row_t row_id, Vector &result, + idx_t result_idx) override; + void Update(TransactionData transaction, idx_t column_index, Vector &update_vector, row_t *row_ids, + idx_t update_count) override; + void UpdateColumn(TransactionData transaction, const vector &column_path, Vector &update_vector, + row_t *row_ids, idx_t update_count, idx_t depth) override; + unique_ptr GetUpdateStatistics() override; + + void CommitDropColumn() override; + + unique_ptr CreateCheckpointState(RowGroup &row_group, + PartialBlockManager &partial_block_manager) override; + unique_ptr Checkpoint(RowGroup &row_group, PartialBlockManager &partial_block_manager, + ColumnCheckpointInfo &checkpoint_info) override; + + void DeserializeColumn(Deserializer &source, BaseStatistics &target_stats) override; + + void GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector col_path, + vector &result) override; + + void Verify(RowGroup &parent) override; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/storage/table/column_data.hpp b/src/include/duckdb/storage/table/column_data.hpp index c278b3a54855..c555b25236f0 100644 --- a/src/include/duckdb/storage/table/column_data.hpp +++ b/src/include/duckdb/storage/table/column_data.hpp @@ -26,6 +26,7 @@ class RowGroupWriter; class TableDataWriter; class TableStorageInfo; struct TransactionData; +struct TableScanOptions; struct DataTableInfo; @@ -125,10 +126,9 @@ class ColumnData { virtual void CheckpointScan(ColumnSegment &segment, ColumnScanState &state, idx_t row_group_start, idx_t count, Vector &scan_vector); - virtual void DeserializeColumn(Deserializer &deserializer); + virtual void DeserializeColumn(Deserializer &deserializer, BaseStatistics &target_stats); static shared_ptr Deserialize(BlockManager &block_manager, DataTableInfo &info, idx_t column_index, - idx_t start_row, ReadStream &source, const LogicalType &type, - optional_ptr parent); + idx_t start_row, ReadStream &source, const LogicalType &type); virtual void GetColumnSegmentInfo(idx_t row_group_index, vector col_path, vector &result); virtual void Verify(RowGroup &parent); diff --git a/src/include/duckdb/storage/table/column_data_checkpointer.hpp b/src/include/duckdb/storage/table/column_data_checkpointer.hpp index aedb2ee81951..eb105e55ac56 100644 --- a/src/include/duckdb/storage/table/column_data_checkpointer.hpp +++ b/src/include/duckdb/storage/table/column_data_checkpointer.hpp @@ -13,6 +13,7 @@ #include "duckdb/storage/table/column_checkpoint_state.hpp" namespace duckdb { +struct TableScanOptions; class ColumnDataCheckpointer { public: diff --git a/src/include/duckdb/storage/table/column_segment.hpp b/src/include/duckdb/storage/table/column_segment.hpp index 0ca098400e90..6ae03d4f3aa9 100644 --- a/src/include/duckdb/storage/table/column_segment.hpp +++ b/src/include/duckdb/storage/table/column_segment.hpp @@ -60,7 +60,6 @@ class ColumnSegment : public SegmentBase { unique_ptr segment_state); static unique_ptr CreateTransientSegment(DatabaseInstance &db, const LogicalType &type, idx_t start, idx_t segment_size = Storage::BLOCK_SIZE); - static unique_ptr CreateSegment(ColumnSegment &other, idx_t start); public: void InitializeScan(ColumnScanState &state); @@ -140,7 +139,7 @@ class ColumnSegment : public SegmentBase { block_id_t block_id; //! The offset into the block (persistent segment only) idx_t offset; - //! The allocated segment size + //! The allocated segment size, which is bounded by Storage::BLOCK_SIZE idx_t segment_size; //! Storage associated with the compressed segment unique_ptr segment_state; diff --git a/src/include/duckdb/storage/table/data_table_info.hpp b/src/include/duckdb/storage/table/data_table_info.hpp index f215cfcb3258..2785486b5da3 100644 --- a/src/include/duckdb/storage/table/data_table_info.hpp +++ b/src/include/duckdb/storage/table/data_table_info.hpp @@ -19,6 +19,9 @@ class TableIOManager; struct DataTableInfo { DataTableInfo(AttachedDatabase &db, shared_ptr table_io_manager_p, string schema, string table); + //! Initialize any unknown indexes whose types might now be present after an extension load + void InitializeIndexes(ClientContext &context); + //! The database instance of the table AttachedDatabase &db; //! The table IO manager @@ -26,12 +29,14 @@ struct DataTableInfo { //! The amount of elements in the table. Note that this number signifies the amount of COMMITTED entries in the //! table. It can be inaccurate inside of transactions. More work is needed to properly support that. atomic cardinality; - // schema of the table + //! The schema of the table string schema; - // name of the table + //! The name of the table string table; - + //! The physical list of indexes of this table TableIndexList indexes; + //! Index storage information of the indexes created by this table + vector index_storage_infos; bool IsTemporary() const; }; diff --git a/src/include/duckdb/storage/table/list_column_data.hpp b/src/include/duckdb/storage/table/list_column_data.hpp index 6001e7036a8f..3140ea37aa7a 100644 --- a/src/include/duckdb/storage/table/list_column_data.hpp +++ b/src/include/duckdb/storage/table/list_column_data.hpp @@ -56,7 +56,7 @@ class ListColumnData : public ColumnData { unique_ptr Checkpoint(RowGroup &row_group, PartialBlockManager &partial_block_manager, ColumnCheckpointInfo &checkpoint_info) override; - void DeserializeColumn(Deserializer &deserializer) override; + void DeserializeColumn(Deserializer &deserializer, BaseStatistics &target_stats) override; void GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector col_path, vector &result) override; diff --git a/src/include/duckdb/storage/table/row_group.hpp b/src/include/duckdb/storage/table/row_group.hpp index 5b416ba1179e..0ddc4068cd74 100644 --- a/src/include/duckdb/storage/table/row_group.hpp +++ b/src/include/duckdb/storage/table/row_group.hpp @@ -118,8 +118,10 @@ class RowGroup : public SegmentBase { idx_t Delete(TransactionData transaction, DataTable &table, row_t *row_ids, idx_t count); RowGroupWriteData WriteToDisk(PartialBlockManager &manager, const vector &compression_types); - bool AllDeleted(); - RowGroupPointer Checkpoint(RowGroupWriter &writer, TableStatistics &global_stats); + //! Returns the number of committed rows (count - committed deletes) + idx_t GetCommittedRowCount(); + RowGroupWriteData WriteToDisk(RowGroupWriter &writer); + RowGroupPointer Checkpoint(RowGroupWriteData write_data, RowGroupWriter &writer, TableStatistics &global_stats); void InitializeAppend(RowGroupAppendState &append_state); void Append(RowGroupAppendState &append_state, DataChunk &chunk, idx_t append_count); diff --git a/src/include/duckdb/storage/table/row_group_collection.hpp b/src/include/duckdb/storage/table/row_group_collection.hpp index f5bdc86b6d09..f5f9ee0af73e 100644 --- a/src/include/duckdb/storage/table/row_group_collection.hpp +++ b/src/include/duckdb/storage/table/row_group_collection.hpp @@ -14,6 +14,7 @@ #include "duckdb/storage/table/table_statistics.hpp" namespace duckdb { + struct ParallelTableScanState; struct ParallelCollectionScanState; class CreateIndexScanState; @@ -28,6 +29,8 @@ class BoundConstraint; class RowGroupSegmentTree; struct ColumnSegmentInfo; class MetadataManager; +struct VacuumState; +struct CollectionCheckpointState; class RowGroupCollection { public: @@ -86,6 +89,10 @@ class RowGroupCollection { void Checkpoint(TableDataWriter &writer, TableStatistics &global_stats); + void InitializeVacuumState(VacuumState &state, vector> &segments); + bool ScheduleVacuumTasks(CollectionCheckpointState &checkpoint_state, VacuumState &state, idx_t segment_idx); + void ScheduleCheckpointTask(CollectionCheckpointState &checkpoint_state, idx_t segment_idx); + void CommitDropColumn(idx_t index); void CommitDropTable(); diff --git a/src/include/duckdb/storage/table/scan_state.hpp b/src/include/duckdb/storage/table/scan_state.hpp index cefa13a27fe8..56dfc8be583d 100644 --- a/src/include/duckdb/storage/table/scan_state.hpp +++ b/src/include/duckdb/storage/table/scan_state.hpp @@ -31,6 +31,7 @@ class TableFilterSet; class ColumnData; class DuckTransaction; class RowGroupSegmentTree; +struct TableScanOptions; struct SegmentScanState { virtual ~SegmentScanState() { @@ -92,9 +93,11 @@ struct ColumnScanState { vector> previous_states; //! The last read offset in the child state (used for LIST columns only) idx_t last_offset = 0; + //! Contains TableScan level config for scanning + optional_ptr scan_options; public: - void Initialize(const LogicalType &type); + void Initialize(const LogicalType &type, optional_ptr options); //! Move the scan state forward by "count" rows (including all child states) void Next(idx_t count); //! Move ONLY this state forward by "count" rows (i.e. not the child states) @@ -134,6 +137,7 @@ class CollectionScanState { const vector &GetColumnIds(); TableFilterSet *GetFilters(); AdaptiveFilter *GetAdaptiveFilter(); + TableScanOptions &GetOptions(); bool Scan(DuckTransaction &transaction, DataChunk &result); bool ScanCommitted(DataChunk &result, TableScanType type); bool ScanCommitted(DataChunk &result, SegmentLock &l, TableScanType type); @@ -142,6 +146,11 @@ class CollectionScanState { TableScanState &parent; }; +struct TableScanOptions { + //! Test config that forces fetching rows one by one instead of regular scans + bool force_fetch_row = false; +}; + class TableScanState { public: TableScanState() : table_state(*this), local_state(*this), table_filters(nullptr) {}; @@ -150,6 +159,8 @@ class TableScanState { CollectionScanState table_state; //! Transaction-local scan state CollectionScanState local_state; + //! Options for scanning + TableScanOptions options; public: void Initialize(vector column_ids, TableFilterSet *table_filters = nullptr); diff --git a/src/include/duckdb/storage/table/standard_column_data.hpp b/src/include/duckdb/storage/table/standard_column_data.hpp index 17bd5eebec68..135024122f84 100644 --- a/src/include/duckdb/storage/table/standard_column_data.hpp +++ b/src/include/duckdb/storage/table/standard_column_data.hpp @@ -57,7 +57,7 @@ class StandardColumnData : public ColumnData { void GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector col_path, vector &result) override; - void DeserializeColumn(Deserializer &deserializer) override; + void DeserializeColumn(Deserializer &deserializer, BaseStatistics &target_stats) override; void Verify(RowGroup &parent) override; }; diff --git a/src/include/duckdb/storage/table/struct_column_data.hpp b/src/include/duckdb/storage/table/struct_column_data.hpp index 61956b1f7c54..723b2b9f4e85 100644 --- a/src/include/duckdb/storage/table/struct_column_data.hpp +++ b/src/include/duckdb/storage/table/struct_column_data.hpp @@ -57,7 +57,7 @@ class StructColumnData : public ColumnData { unique_ptr Checkpoint(RowGroup &row_group, PartialBlockManager &partial_block_manager, ColumnCheckpointInfo &checkpoint_info) override; - void DeserializeColumn(Deserializer &source) override; + void DeserializeColumn(Deserializer &source, BaseStatistics &target_stats) override; void GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector col_path, vector &result) override; diff --git a/src/include/duckdb/storage/table/table_index_list.hpp b/src/include/duckdb/storage/table/table_index_list.hpp index ce94b2f3fa8d..be15497ad9fe 100644 --- a/src/include/duckdb/storage/table/table_index_list.hpp +++ b/src/include/duckdb/storage/table/table_index_list.hpp @@ -1,7 +1,7 @@ //===----------------------------------------------------------------------===// // DuckDB // -// duckdb/storage/table_index_list.hpp +// duckdb/storage/table/table_index_list.hpp // // //===----------------------------------------------------------------------===// @@ -14,13 +14,14 @@ namespace duckdb { class ConflictManager; +struct IndexStorageInfo; +struct DataTableInfo; class TableIndexList { public: - //! Scan the catalog set, invoking the callback method for every entry + //! Scan the indexes, invoking the callback method for every entry template void Scan(T &&callback) { - // lock the catalog set lock_guard lock(indexes_lock); for (auto &index : indexes) { if (callback(*index)) { @@ -28,26 +29,29 @@ class TableIndexList { } } } - + //! Returns a reference to the indexes of this table const vector> &Indexes() const { return indexes; } - + //! Adds an index to the list of indexes of this table void AddIndex(unique_ptr index); - - void RemoveIndex(Index &index); - + //! Removes an index from the list of indexes of this table + void RemoveIndex(const string &name); + //! Completely removes all remaining memory of an index after dropping the catalog entry + void CommitDrop(const string &name); + //! Returns true, if the index name does not exist + bool NameIsUnique(const string &name); + //! Initializes unknown indexes that might now be present after an extension load + void InitializeIndexes(ClientContext &context, DataTableInfo &table_info); bool Empty(); - idx_t Count(); - void Move(TableIndexList &other); Index *FindForeignKeyIndex(const vector &fk_keys, ForeignKeyType fk_type); void VerifyForeignKey(const vector &fk_keys, DataChunk &chunk, ConflictManager &conflict_manager); - //! Serialize all indexes owned by this table, returns a vector of block info of all indexes - vector SerializeIndexes(duckdb::MetadataWriter &writer); + //! Serialize all indexes of this table + vector GetStorageInfos(); vector GetRequiredColumns(); diff --git a/src/include/duckdb/storage/table/table_statistics.hpp b/src/include/duckdb/storage/table/table_statistics.hpp index 52b0ec9a884c..b23253278119 100644 --- a/src/include/duckdb/storage/table/table_statistics.hpp +++ b/src/include/duckdb/storage/table/table_statistics.hpp @@ -10,6 +10,7 @@ #include "duckdb/common/common.hpp" #include "duckdb/common/types/data_chunk.hpp" +#include "duckdb/execution/reservoir_sample.hpp" #include "duckdb/common/mutex.hpp" #include "duckdb/storage/statistics/column_statistics.hpp" @@ -57,6 +58,9 @@ class TableStatistics { mutex stats_lock; //! Column statistics vector> column_stats; + //! The table sample + //! Sample for table + unique_ptr table_sample; }; } // namespace duckdb diff --git a/src/include/duckdb/storage/table_storage_info.hpp b/src/include/duckdb/storage/table_storage_info.hpp index 37282d36d42c..3ab3ea79b5d7 100644 --- a/src/include/duckdb/storage/table_storage_info.hpp +++ b/src/include/duckdb/storage/table_storage_info.hpp @@ -8,12 +8,15 @@ #pragma once -#include "duckdb/storage/storage_info.hpp" #include "duckdb/common/types/value.hpp" -#include "duckdb/common/unordered_set.hpp" +#include "duckdb/common/unordered_map.hpp" +#include "duckdb/storage/block.hpp" +#include "duckdb/storage/index_storage_info.hpp" +#include "duckdb/storage/storage_info.hpp" namespace duckdb { +//! Column segment information struct ColumnSegmentInfo { idx_t row_group_index; idx_t column_id; @@ -31,13 +34,7 @@ struct ColumnSegmentInfo { string segment_info; }; -struct IndexInfo { - bool is_unique; - bool is_primary; - bool is_foreign; - unordered_set column_set; -}; - +//! Table storage information class TableStorageInfo { public: //! The (estimated) cardinality of the table diff --git a/src/include/duckdb/storage/temporary_memory_manager.hpp b/src/include/duckdb/storage/temporary_memory_manager.hpp new file mode 100644 index 000000000000..f0cca43f47b5 --- /dev/null +++ b/src/include/duckdb/storage/temporary_memory_manager.hpp @@ -0,0 +1,119 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/storage/temporary_memory_manager.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/atomic.hpp" +#include "duckdb/common/mutex.hpp" +#include "duckdb/common/reference_map.hpp" +#include "duckdb/storage/storage_info.hpp" + +namespace duckdb { + +class ClientContext; +class TemporaryMemoryManager; + +//! State of the temporary memory to be managed concurrently with other states +//! As long as this is within scope, it is active +class TemporaryMemoryState { + friend class TemporaryMemoryManager; + +private: + TemporaryMemoryState(TemporaryMemoryManager &temporary_memory_manager, idx_t minimum_reservation); + +public: + ~TemporaryMemoryState(); + +public: + //! Set the remaining size needed for this state, and updates the reservation + void SetRemainingSize(ClientContext &context, idx_t new_remaining_size); + //! Get the remaining size that was set for this state + idx_t GetRemainingSize() const; + //! Set the minimum reservation for this state + void SetMinimumReservation(idx_t new_minimum_reservation); + //! Get the reservation of this state + idx_t GetReservation() const; + +private: + //! The TemporaryMemoryManager that owns this state + TemporaryMemoryManager &temporary_memory_manager; + + //! The remaining size needed if it could fit fully in memory + atomic remaining_size; + //! The minimum reservation for this state + atomic minimum_reservation; + //! How much memory this operator has reserved + atomic reservation; +}; + +//! TemporaryMemoryManager is a one-of class owned by the buffer pool that tries to dynamically assign memory +//! to concurrent states, such that their combined memory usage does not exceed the limit +class TemporaryMemoryManager { + //! TemporaryMemoryState is a friend class so it can access the private methods of this class, + //! but it should not access the private fields! + friend class TemporaryMemoryState; + +public: + TemporaryMemoryManager(); + +private: + //! TemporaryMemoryState is initialized with a minimum reservation guarantee, which is either + //! 512 blocks per state per thread, which is 0.125GB per thread for Storage::BLOCK_ALLOC_SIZE = 262144 + static constexpr const idx_t MINIMUM_RESERVATION_PER_STATE_PER_THREAD = idx_t(512) * Storage::BLOCK_ALLOC_SIZE; + //! Or 1/16th of main memory, if that is lower + static constexpr const idx_t MINIMUM_RESERVATION_MEMORY_LIMIT_DIVISOR = 16; + + //! The maximum ratio of the memory limit that we reserve using the TemporaryMemoryManager + static constexpr const double MAXIMUM_MEMORY_LIMIT_RATIO = 0.8; + //! The maximum ratio of the remaining memory that we reserve per TemporaryMemoryState + static constexpr const double MAXIMUM_FREE_MEMORY_RATIO = double(2) / double(3); + +public: + //! Get the TemporaryMemoryManager + static TemporaryMemoryManager &Get(ClientContext &context); + //! Register a TemporaryMemoryState + unique_ptr Register(ClientContext &context); + +private: + //! Locks the TemporaryMemoryManager + unique_lock Lock(); + //! Update memory_limit, has_temporary_directory, and num_threads (must hold the lock) + void UpdateConfiguration(ClientContext &context); + //! Update the TemporaryMemoryState to the new remaining size, and updates the reservation (must hold the lock) + void UpdateState(ClientContext &context, TemporaryMemoryState &temporary_memory_state); + //! Set the remaining size of a TemporaryMemoryState (must hold the lock) + void SetRemainingSize(TemporaryMemoryState &temporary_memory_state, idx_t new_remaining_size); + //! Set the reservation of a TemporaryMemoryState (must hold the lock) + void SetReservation(TemporaryMemoryState &temporary_memory_state, idx_t new_reservation); + //! Unregister a TemporaryMemoryState (called by the destructor of TemporaryMemoryState) + void Unregister(TemporaryMemoryState &temporary_memory_state); + //! Verify internal counts (must hold the lock) + void Verify() const; + +private: + //! Lock because TemporaryMemoryManager is used concurrently + mutex lock; + + //! Memory limit of the buffer pool + idx_t memory_limit; + //! Whether there is a temporary directory that we can offload blocks to + bool has_temporary_directory; + //! Number of threads + idx_t num_threads; + //! Max memory per query + idx_t query_max_memory; + + //! Currently active states + reference_set_t active_states; + //! The sum of reservations of all active states + idx_t reservation; + //! The sum of the remaining size of all active states + idx_t remaining_size; +}; + +} // namespace duckdb diff --git a/src/include/duckdb/storage/write_ahead_log.hpp b/src/include/duckdb/storage/write_ahead_log.hpp index 3844dff8e623..11a11c25e4ab 100644 --- a/src/include/duckdb/storage/write_ahead_log.hpp +++ b/src/include/duckdb/storage/write_ahead_log.hpp @@ -8,15 +8,16 @@ #pragma once -#include "duckdb/common/helper.hpp" -#include "duckdb/common/types/data_chunk.hpp" -#include "duckdb/common/enums/wal_type.hpp" -#include "duckdb/common/serializer/buffered_file_writer.hpp" +#include "duckdb/catalog/catalog_entry/index_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/table_macro_catalog_entry.hpp" -#include "duckdb/catalog/catalog_entry/index_catalog_entry.hpp" +#include "duckdb/common/enums/wal_type.hpp" +#include "duckdb/common/helper.hpp" +#include "duckdb/common/serializer/buffered_file_writer.hpp" +#include "duckdb/common/types/data_chunk.hpp" #include "duckdb/main/attached_database.hpp" +#include "duckdb/storage/block.hpp" #include "duckdb/storage/storage_info.hpp" namespace duckdb { @@ -34,56 +35,7 @@ class TypeCatalogEntry; class TableCatalogEntry; class Transaction; class TransactionManager; - -class ReplayState { -public: - ReplayState(AttachedDatabase &db, ClientContext &context) - : db(db), context(context), catalog(db.GetCatalog()), deserialize_only(false) { - } - - AttachedDatabase &db; - ClientContext &context; - Catalog &catalog; - optional_ptr current_table; - bool deserialize_only; - MetaBlockPointer checkpoint_id; - -public: - void ReplayEntry(WALType entry_type, BinaryDeserializer &deserializer); - -protected: - virtual void ReplayCreateTable(BinaryDeserializer &deserializer); - void ReplayDropTable(BinaryDeserializer &deserializer); - void ReplayAlter(BinaryDeserializer &deserializer); - - void ReplayCreateView(BinaryDeserializer &deserializer); - void ReplayDropView(BinaryDeserializer &deserializer); - - void ReplayCreateSchema(BinaryDeserializer &deserializer); - void ReplayDropSchema(BinaryDeserializer &deserializer); - - void ReplayCreateType(BinaryDeserializer &deserializer); - void ReplayDropType(BinaryDeserializer &deserializer); - - void ReplayCreateSequence(BinaryDeserializer &deserializer); - void ReplayDropSequence(BinaryDeserializer &deserializer); - void ReplaySequenceValue(BinaryDeserializer &deserializer); - - void ReplayCreateMacro(BinaryDeserializer &deserializer); - void ReplayDropMacro(BinaryDeserializer &deserializer); - - void ReplayCreateTableMacro(BinaryDeserializer &deserializer); - void ReplayDropTableMacro(BinaryDeserializer &deserializer); - - void ReplayCreateIndex(BinaryDeserializer &deserializer); - void ReplayDropIndex(BinaryDeserializer &deserializer); - - void ReplayUseTable(BinaryDeserializer &deserializer); - void ReplayInsert(BinaryDeserializer &deserializer); - void ReplayDelete(BinaryDeserializer &deserializer); - void ReplayUpdate(BinaryDeserializer &deserializer); - void ReplayCheckpoint(BinaryDeserializer &deserializer); -}; +class WriteAheadLogDeserializer; //! The WriteAheadLog (WAL) is a log that is used to provide durability. Prior //! to committing a transaction it writes the changes the transaction made to @@ -107,6 +59,12 @@ class WriteAheadLog { //! Gets the total bytes written to the WAL since startup idx_t GetTotalWritten(); + BufferedFileWriter &GetWriter() { + return *writer; + } + + void WriteVersion(); + virtual void WriteCreateTable(const TableCatalogEntry &entry); void WriteDropTable(const TableCatalogEntry &entry); diff --git a/src/include/duckdb/transaction/duck_transaction.hpp b/src/include/duckdb/transaction/duck_transaction.hpp index 8dc116a433ae..858072650a91 100644 --- a/src/include/duckdb/transaction/duck_transaction.hpp +++ b/src/include/duckdb/transaction/duck_transaction.hpp @@ -39,7 +39,7 @@ class DuckTransaction : public Transaction { //! Commit the current transaction with the given commit identifier. Returns an error message if the transaction //! commit failed, or an empty string if the commit was sucessful - string Commit(AttachedDatabase &db, transaction_t commit_id, bool checkpoint) noexcept; + ErrorData Commit(AttachedDatabase &db, transaction_t commit_id, bool checkpoint) noexcept; //! Returns whether or not a commit of this transaction should trigger an automatic checkpoint bool AutomaticCheckpoint(AttachedDatabase &db); diff --git a/src/include/duckdb/transaction/duck_transaction_manager.hpp b/src/include/duckdb/transaction/duck_transaction_manager.hpp index 12ed08e0e130..49596e641591 100644 --- a/src/include/duckdb/transaction/duck_transaction_manager.hpp +++ b/src/include/duckdb/transaction/duck_transaction_manager.hpp @@ -20,17 +20,17 @@ class DuckTransactionManager : public TransactionManager { public: explicit DuckTransactionManager(AttachedDatabase &db); - ~DuckTransactionManager(); + ~DuckTransactionManager() override; public: static DuckTransactionManager &Get(AttachedDatabase &db); //! Start a new transaction - Transaction *StartTransaction(ClientContext &context) override; + Transaction &StartTransaction(ClientContext &context) override; //! Commit the given transaction - string CommitTransaction(ClientContext &context, Transaction *transaction) override; + ErrorData CommitTransaction(ClientContext &context, Transaction &transaction) override; //! Rollback the given transaction - void RollbackTransaction(Transaction *transaction) override; + void RollbackTransaction(Transaction &transaction) override; void Checkpoint(ClientContext &context, bool force = false) override; @@ -49,7 +49,6 @@ class DuckTransactionManager : public TransactionManager { bool CanCheckpoint(optional_ptr current = nullptr); //! Remove the given transaction from the list of active transactions void RemoveTransaction(DuckTransaction &transaction) noexcept; - void LockClients(vector &client_locks, ClientContext &context); private: //! The current start timestamp used by transactions diff --git a/src/include/duckdb/transaction/local_storage.hpp b/src/include/duckdb/transaction/local_storage.hpp index 099507b5a727..7481abd70e8c 100644 --- a/src/include/duckdb/transaction/local_storage.hpp +++ b/src/include/duckdb/transaction/local_storage.hpp @@ -61,8 +61,8 @@ class LocalTableStorage : public std::enable_shared_from_this void AppendToIndexes(DuckTransaction &transaction, TableAppendState &append_state, idx_t append_count, bool append_to_table); - PreservedError AppendToIndexes(DuckTransaction &transaction, RowGroupCollection &source, TableIndexList &index_list, - const vector &table_types, row_t &start_row); + ErrorData AppendToIndexes(DuckTransaction &transaction, RowGroupCollection &source, TableIndexList &index_list, + const vector &table_types, row_t &start_row); //! Creates an optimistic writer for this table OptimisticDataWriter &CreateOptimisticWriter(); diff --git a/src/include/duckdb/transaction/meta_transaction.hpp b/src/include/duckdb/transaction/meta_transaction.hpp index 16d973d071d8..e858b5c8037e 100644 --- a/src/include/duckdb/transaction/meta_transaction.hpp +++ b/src/include/duckdb/transaction/meta_transaction.hpp @@ -14,6 +14,8 @@ #include "duckdb/common/types/timestamp.hpp" #include "duckdb/common/unordered_map.hpp" #include "duckdb/common/optional_ptr.hpp" +#include "duckdb/common/reference_map.hpp" +#include "duckdb/common/error_data.hpp" namespace duckdb { class AttachedDatabase; @@ -44,8 +46,9 @@ class MetaTransaction { } Transaction &GetTransaction(AttachedDatabase &db); + void RemoveTransaction(AttachedDatabase &db); - string Commit(); + ErrorData Commit(); void Rollback(); idx_t GetActiveQuery(); @@ -58,9 +61,9 @@ class MetaTransaction { private: //! The set of active transactions for each database - unordered_map transactions; + reference_map_t> transactions; //! The set of transactions in order of when they were started - vector> all_transactions; + vector> all_transactions; //! The database we are modifying - we can only modify one database per transaction optional_ptr modified_database; }; diff --git a/src/include/duckdb/transaction/transaction_context.hpp b/src/include/duckdb/transaction/transaction_context.hpp index 1334ab09f334..b0a50103bb46 100644 --- a/src/include/duckdb/transaction/transaction_context.hpp +++ b/src/include/duckdb/transaction/transaction_context.hpp @@ -23,7 +23,7 @@ class TransactionManager; //! current transaction class TransactionContext { public: - TransactionContext(ClientContext &context); + explicit TransactionContext(ClientContext &context); ~TransactionContext(); MetaTransaction &ActiveTransaction() { @@ -33,8 +33,8 @@ class TransactionContext { return *current_transaction; } - bool HasActiveTransaction() { - return !!current_transaction; + bool HasActiveTransaction() const { + return current_transaction.get(); } void BeginTransaction(); @@ -43,7 +43,7 @@ class TransactionContext { void ClearTransaction(); void SetAutoCommit(bool value); - bool IsAutoCommit() { + bool IsAutoCommit() const { return auto_commit; } diff --git a/src/include/duckdb/transaction/transaction_manager.hpp b/src/include/duckdb/transaction/transaction_manager.hpp index cd663833a70d..2e37b8829172 100644 --- a/src/include/duckdb/transaction/transaction_manager.hpp +++ b/src/include/duckdb/transaction/transaction_manager.hpp @@ -32,11 +32,11 @@ class TransactionManager { virtual ~TransactionManager(); //! Start a new transaction - virtual Transaction *StartTransaction(ClientContext &context) = 0; + virtual Transaction &StartTransaction(ClientContext &context) = 0; //! Commit the given transaction. Returns a non-empty error message on failure. - virtual string CommitTransaction(ClientContext &context, Transaction *transaction) = 0; + virtual ErrorData CommitTransaction(ClientContext &context, Transaction &transaction) = 0; //! Rollback the given transaction - virtual void RollbackTransaction(Transaction *transaction) = 0; + virtual void RollbackTransaction(Transaction &transaction) = 0; virtual void Checkpoint(ClientContext &context, bool force = false) = 0; diff --git a/src/include/duckdb/verification/fetch_row_verifier.hpp b/src/include/duckdb/verification/fetch_row_verifier.hpp new file mode 100644 index 000000000000..007e986573c6 --- /dev/null +++ b/src/include/duckdb/verification/fetch_row_verifier.hpp @@ -0,0 +1,25 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb/verification/unoptimized_statement_verifier.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/verification/statement_verifier.hpp" + +namespace duckdb { + +class FetchRowVerifier : public StatementVerifier { +public: + explicit FetchRowVerifier(unique_ptr statement_p); + static unique_ptr Create(const SQLStatement &statement_p); + + bool ForceFetchRow() const override { + return true; + } +}; + +} // namespace duckdb diff --git a/src/include/duckdb/verification/statement_verifier.hpp b/src/include/duckdb/verification/statement_verifier.hpp index d14f1ffa0d0f..27ce92a3a58d 100644 --- a/src/include/duckdb/verification/statement_verifier.hpp +++ b/src/include/duckdb/verification/statement_verifier.hpp @@ -23,6 +23,7 @@ enum class VerificationType : uint8_t { NO_OPERATOR_CACHING, PREPARED, EXTERNAL, + FETCH_ROW_AS_SCAN, INVALID }; @@ -67,6 +68,10 @@ class StatementVerifier { virtual bool ForceExternal() const { return false; } + + virtual bool ForceFetchRow() const { + return false; + } }; } // namespace duckdb diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt index 0df3eaf3ca20..3dc29b368e0b 100644 --- a/src/main/CMakeLists.txt +++ b/src/main/CMakeLists.txt @@ -3,7 +3,9 @@ if(NOT CLANG_TIDY) endif() add_subdirectory(extension) add_subdirectory(relation) +add_subdirectory(secret) add_subdirectory(settings) +add_subdirectory(buffered_data) add_subdirectory(chunk_scan_state) if(FORCE_QUERY_LOG) @@ -19,6 +21,7 @@ add_library_unity( client_context.cpp client_data.cpp client_verify.cpp + connection_manager.cpp chunk_scan_state.cpp config.cpp connection.cpp diff --git a/src/main/appender.cpp b/src/main/appender.cpp index 57822c3830a5..2aa782245950 100644 --- a/src/main/appender.cpp +++ b/src/main/appender.cpp @@ -152,6 +152,9 @@ void BaseAppender::AppendValueInternal(T input) { case LogicalTypeId::HUGEINT: AppendValueInternal(col, input); break; + case LogicalTypeId::UHUGEINT: + AppendValueInternal(col, input); + break; case LogicalTypeId::FLOAT: AppendValueInternal(col, input); break; @@ -232,6 +235,11 @@ void BaseAppender::Append(hugeint_t value) { AppendValueInternal(value); } +template <> +void BaseAppender::Append(uhugeint_t value) { + AppendValueInternal(value); +} + template <> void BaseAppender::Append(uint8_t value) { AppendValueInternal(value); @@ -319,8 +327,15 @@ void BaseAppender::AppendValue(const Value &value) { } void BaseAppender::AppendDataChunk(DataChunk &chunk) { - if (chunk.GetTypes() != types) { - throw InvalidInputException("Type mismatch in Append DataChunk and the types required for appender"); + auto chunk_types = chunk.GetTypes(); + if (chunk_types != types) { + for (idx_t i = 0; i < chunk.ColumnCount(); i++) { + if (chunk.data[i].GetType() != types[i]) { + throw InvalidInputException("Type mismatch in Append DataChunk and the types required for appender, " + "expected %s but got %s for column %d", + types[i].ToString(), chunk.data[i].GetType().ToString(), i + 1); + } + } } collection->Append(chunk); if (collection->Count() >= FLUSH_COUNT) { diff --git a/src/main/attached_database.cpp b/src/main/attached_database.cpp index 24605378ce99..855e163bce86 100644 --- a/src/main/attached_database.cpp +++ b/src/main/attached_database.cpp @@ -1,11 +1,15 @@ #include "duckdb/main/attached_database.hpp" #include "duckdb/catalog/duck_catalog.hpp" +#include "duckdb/common/constants.hpp" #include "duckdb/common/file_system.hpp" +#include "duckdb/main/database.hpp" +#include "duckdb/main/database_manager.hpp" #include "duckdb/parser/parsed_data/attach_info.hpp" #include "duckdb/storage/storage_extension.hpp" #include "duckdb/storage/storage_manager.hpp" #include "duckdb/transaction/duck_transaction_manager.hpp" +#include "duckdb/main/database_path_and_type.hpp" namespace duckdb { @@ -13,10 +17,12 @@ AttachedDatabase::AttachedDatabase(DatabaseInstance &db, AttachedDatabaseType ty : CatalogEntry(CatalogType::DATABASE_ENTRY, type == AttachedDatabaseType::SYSTEM_DATABASE ? SYSTEM_CATALOG : TEMP_CATALOG, 0), db(db), type(type) { + D_ASSERT(type == AttachedDatabaseType::TEMP_DATABASE || type == AttachedDatabaseType::SYSTEM_DATABASE); if (type == AttachedDatabaseType::TEMP_DATABASE) { - storage = make_uniq(*this, ":memory:", false); + storage = make_uniq(*this, string(IN_MEMORY_PATH), false); } + catalog = make_uniq(*this); transaction_manager = make_uniq(*this); internal = true; @@ -24,10 +30,9 @@ AttachedDatabase::AttachedDatabase(DatabaseInstance &db, AttachedDatabaseType ty AttachedDatabase::AttachedDatabase(DatabaseInstance &db, Catalog &catalog_p, string name_p, string file_path_p, AccessMode access_mode) - : CatalogEntry(CatalogType::DATABASE_ENTRY, catalog_p, std::move(name_p)), db(db), - type(access_mode == AccessMode::READ_ONLY ? AttachedDatabaseType::READ_ONLY_DATABASE - : AttachedDatabaseType::READ_WRITE_DATABASE), - parent_catalog(&catalog_p) { + : CatalogEntry(CatalogType::DATABASE_ENTRY, catalog_p, std::move(name_p)), db(db), parent_catalog(&catalog_p) { + type = access_mode == AccessMode::READ_ONLY ? AttachedDatabaseType::READ_ONLY_DATABASE + : AttachedDatabaseType::READ_WRITE_DATABASE; storage = make_uniq(*this, std::move(file_path_p), access_mode == AccessMode::READ_ONLY); catalog = make_uniq(*this); transaction_manager = make_uniq(*this); @@ -35,12 +40,13 @@ AttachedDatabase::AttachedDatabase(DatabaseInstance &db, Catalog &catalog_p, str } AttachedDatabase::AttachedDatabase(DatabaseInstance &db, Catalog &catalog_p, StorageExtension &storage_extension, - string name_p, AttachInfo &info, AccessMode access_mode) - : CatalogEntry(CatalogType::DATABASE_ENTRY, catalog_p, std::move(name_p)), db(db), - type(access_mode == AccessMode::READ_ONLY ? AttachedDatabaseType::READ_ONLY_DATABASE - : AttachedDatabaseType::READ_WRITE_DATABASE), - parent_catalog(&catalog_p) { - catalog = storage_extension.attach(storage_extension.storage_info.get(), *this, name, info, access_mode); + ClientContext &context, string name_p, const AttachInfo &info, + AccessMode access_mode) + : CatalogEntry(CatalogType::DATABASE_ENTRY, catalog_p, std::move(name_p)), db(db), parent_catalog(&catalog_p) { + type = access_mode == AccessMode::READ_ONLY ? AttachedDatabaseType::READ_ONLY_DATABASE + : AttachedDatabaseType::READ_WRITE_DATABASE; + catalog = + storage_extension.attach(storage_extension.storage_info.get(), context, *this, name, *info.Copy(), access_mode); if (!catalog) { throw InternalException("AttachedDatabase - attach function did not return a catalog"); } @@ -54,6 +60,12 @@ AttachedDatabase::AttachedDatabase(DatabaseInstance &db, Catalog &catalog_p, Sto } AttachedDatabase::~AttachedDatabase() { + D_ASSERT(catalog); + + if (!IsSystem() && !catalog->InMemory()) { + db.GetDatabaseManager().EraseDatabasePath(catalog->GetDBPath()); + } + if (Exception::UncaughtException()) { return; } @@ -88,7 +100,7 @@ bool AttachedDatabase::IsReadOnly() const { } string AttachedDatabase::ExtractDatabaseName(const string &dbpath, FileSystem &fs) { - if (dbpath.empty() || dbpath == ":memory:") { + if (dbpath.empty() || dbpath == IN_MEMORY_PATH) { return "memory"; } return fs.ExtractBaseName(dbpath); diff --git a/src/main/buffered_data/CMakeLists.txt b/src/main/buffered_data/CMakeLists.txt new file mode 100644 index 000000000000..7cffd1ee152e --- /dev/null +++ b/src/main/buffered_data/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library_unity(duckdb_main_buffered_data OBJECT simple_buffered_data.cpp) +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/main/buffered_data/simple_buffered_data.cpp b/src/main/buffered_data/simple_buffered_data.cpp new file mode 100644 index 000000000000..f84cae8a1c72 --- /dev/null +++ b/src/main/buffered_data/simple_buffered_data.cpp @@ -0,0 +1,96 @@ +#include "duckdb/main/buffered_data/simple_buffered_data.hpp" +#include "duckdb/common/printer.hpp" +#include "duckdb/main/client_context.hpp" +#include "duckdb/main/stream_query_result.hpp" +#include "duckdb/common/helper.hpp" + +namespace duckdb { + +SimpleBufferedData::SimpleBufferedData(weak_ptr context) + : BufferedData(BufferedData::Type::SIMPLE, std::move(context)) { + buffered_count = 0; +} + +SimpleBufferedData::~SimpleBufferedData() { +} + +void SimpleBufferedData::BlockSink(const BlockedSink &blocked_sink) { + lock_guard lock(glock); + blocked_sinks.push(blocked_sink); +} + +bool SimpleBufferedData::BufferIsFull() { + return buffered_count >= BUFFER_SIZE; +} + +void SimpleBufferedData::UnblockSinks() { + if (Closed()) { + return; + } + if (buffered_count >= BUFFER_SIZE) { + return; + } + // Reschedule enough blocked sinks to populate the buffer + lock_guard lock(glock); + while (!blocked_sinks.empty()) { + auto &blocked_sink = blocked_sinks.front(); + if (buffered_count >= BUFFER_SIZE) { + // We have unblocked enough sinks already + break; + } + blocked_sink.state.Callback(); + blocked_sinks.pop(); + } +} + +PendingExecutionResult SimpleBufferedData::ReplenishBuffer(StreamQueryResult &result, ClientContextLock &context_lock) { + if (Closed()) { + return PendingExecutionResult::EXECUTION_ERROR; + } + if (BufferIsFull()) { + // The buffer isn't empty yet, just return + return PendingExecutionResult::RESULT_READY; + } + UnblockSinks(); + auto cc = context.lock(); + // Let the executor run until the buffer is no longer empty + auto res = cc->ExecuteTaskInternal(context_lock, result); + while (!PendingQueryResult::IsFinished(res)) { + if (buffered_count >= BUFFER_SIZE) { + break; + } + // Check if we need to unblock more sinks to reach the buffer size + UnblockSinks(); + res = cc->ExecuteTaskInternal(context_lock, result); + } + if (result.HasError()) { + Close(); + } + return res; +} + +unique_ptr SimpleBufferedData::Scan() { + if (Closed()) { + return nullptr; + } + lock_guard lock(glock); + if (buffered_chunks.empty()) { + Close(); + return nullptr; + } + auto chunk = std::move(buffered_chunks.front()); + buffered_chunks.pop(); + + if (chunk) { + buffered_count -= chunk->size(); + } + return chunk; +} + +void SimpleBufferedData::Append(unique_ptr chunk) { + unique_lock lock(glock); + buffered_count += chunk->size(); + buffered_chunks.push(std::move(chunk)); +} + +} // namespace duckdb diff --git a/src/main/capi/appender-c.cpp b/src/main/capi/appender-c.cpp index 8efa299b713e..95177cf2baf0 100644 --- a/src/main/capi/appender-c.cpp +++ b/src/main/capi/appender-c.cpp @@ -1,14 +1,17 @@ #include "duckdb/main/capi/capi_internal.hpp" +#include "duckdb/common/uhugeint.hpp" using duckdb::Appender; using duckdb::AppenderWrapper; using duckdb::Connection; using duckdb::date_t; using duckdb::dtime_t; +using duckdb::ErrorData; using duckdb::hugeint_t; using duckdb::interval_t; using duckdb::string_t; using duckdb::timestamp_t; +using duckdb::uhugeint_t; duckdb_state duckdb_appender_create(duckdb_connection connection, const char *schema, const char *table, duckdb_appender *out_appender) { @@ -25,7 +28,8 @@ duckdb_state duckdb_appender_create(duckdb_connection connection, const char *sc try { wrapper->appender = duckdb::make_uniq(*conn, schema, table); } catch (std::exception &ex) { - wrapper->error = ex.what(); + ErrorData error(ex); + wrapper->error = error.RawMessage(); return DuckDBError; } catch (...) { // LCOV_EXCL_START wrapper->error = "Unknown create appender error"; @@ -59,7 +63,8 @@ duckdb_state duckdb_appender_run_function(duckdb_appender appender, FUN &&functi try { function(*wrapper->appender); } catch (std::exception &ex) { - wrapper->error = ex.what(); + ErrorData error(ex); + wrapper->error = error.RawMessage(); return DuckDBError; } catch (...) { // LCOV_EXCL_START wrapper->error = "Unknown error"; @@ -96,7 +101,8 @@ duckdb_state duckdb_append_internal(duckdb_appender appender, T value) { try { appender_instance->appender->Append(value); } catch (std::exception &ex) { - appender_instance->error = ex.what(); + ErrorData error(ex); + appender_instance->error = error.RawMessage(); return DuckDBError; } catch (...) { return DuckDBError; @@ -147,6 +153,13 @@ duckdb_state duckdb_append_uint64(duckdb_appender appender, uint64_t value) { return duckdb_append_internal(appender, value); } +duckdb_state duckdb_append_uhugeint(duckdb_appender appender, duckdb_uhugeint value) { + uhugeint_t internal; + internal.lower = value.lower; + internal.upper = value.upper; + return duckdb_append_internal(appender, internal); +} + duckdb_state duckdb_append_float(duckdb_appender appender, float value) { return duckdb_append_internal(appender, value); } @@ -199,6 +212,32 @@ duckdb_state duckdb_appender_close(duckdb_appender appender) { return duckdb_appender_run_function(appender, [&](Appender &appender) { appender.Close(); }); } +idx_t duckdb_appender_column_count(duckdb_appender appender) { + if (!appender) { + return 0; + } + + auto wrapper = reinterpret_cast(appender); + if (!wrapper->appender) { + return 0; + } + + return wrapper->appender->GetTypes().size(); +} + +duckdb_logical_type duckdb_appender_column_type(duckdb_appender appender, idx_t col_idx) { + if (!appender || col_idx >= duckdb_appender_column_count(appender)) { + return nullptr; + } + + auto wrapper = reinterpret_cast(appender); + if (!wrapper->appender) { + return nullptr; + } + + return reinterpret_cast(new duckdb::LogicalType(wrapper->appender->GetTypes()[col_idx])); +} + duckdb_state duckdb_append_data_chunk(duckdb_appender appender, duckdb_data_chunk chunk) { if (!chunk) { return DuckDBError; diff --git a/src/main/capi/arrow-c.cpp b/src/main/capi/arrow-c.cpp index 78dd3e6951b0..1b0b366a2819 100644 --- a/src/main/capi/arrow-c.cpp +++ b/src/main/capi/arrow-c.cpp @@ -1,8 +1,8 @@ +#include "duckdb/common/arrow/arrow.hpp" #include "duckdb/common/arrow/arrow_converter.hpp" #include "duckdb/function/table/arrow.hpp" #include "duckdb/main/capi/capi_internal.hpp" #include "duckdb/main/prepared_statement_data.hpp" -#include "duckdb/common/arrow/arrow.hpp" using duckdb::ArrowConverter; using duckdb::ArrowResultWrapper; @@ -28,7 +28,7 @@ duckdb_state duckdb_query_arrow_schema(duckdb_arrow result, duckdb_arrow_schema } auto wrapper = reinterpret_cast(result); ArrowConverter::ToArrowSchema((ArrowSchema *)*out_schema, wrapper->result->types, wrapper->result->names, - wrapper->options); + wrapper->result->client_properties); return DuckDBSuccess; } @@ -83,10 +83,21 @@ duckdb_state duckdb_query_arrow_array(duckdb_arrow result, duckdb_arrow_array *o if (!wrapper->current_chunk || wrapper->current_chunk->size() == 0) { return DuckDBSuccess; } - ArrowConverter::ToArrowArray(*wrapper->current_chunk, reinterpret_cast(*out_array), wrapper->options); + ArrowConverter::ToArrowArray(*wrapper->current_chunk, reinterpret_cast(*out_array), + wrapper->result->client_properties); return DuckDBSuccess; } +void duckdb_result_arrow_array(duckdb_result result, duckdb_data_chunk chunk, duckdb_arrow_array *out_array) { + if (!out_array) { + return; + } + auto dchunk = reinterpret_cast(chunk); + auto &result_data = *(reinterpret_cast(result.internal_data)); + ArrowConverter::ToArrowArray(*dchunk, reinterpret_cast(*out_array), + result_data.result->client_properties); +} + idx_t duckdb_arrow_row_count(duckdb_arrow result) { auto wrapper = reinterpret_cast(result); if (wrapper->result->HasError()) { @@ -130,14 +141,27 @@ void duckdb_destroy_arrow(duckdb_arrow *result) { } } +void duckdb_destroy_arrow_stream(duckdb_arrow_stream *stream_p) { + + auto stream = reinterpret_cast(*stream_p); + if (!stream) { + return; + } + if (stream->release) { + stream->release(stream); + } + D_ASSERT(!stream->release); + + delete stream; + *stream_p = nullptr; +} + duckdb_state duckdb_execute_prepared_arrow(duckdb_prepared_statement prepared_statement, duckdb_arrow *out_result) { auto wrapper = reinterpret_cast(prepared_statement); if (!wrapper || !wrapper->statement || wrapper->statement->HasError() || !out_result) { return DuckDBError; } auto arrow_wrapper = new ArrowResultWrapper(); - arrow_wrapper->options = wrapper->statement->context->GetClientProperties(); - auto result = wrapper->statement->Execute(wrapper->values, false); D_ASSERT(result->type == QueryResultType::MATERIALIZED_RESULT); arrow_wrapper->result = duckdb::unique_ptr_cast(std::move(result)); @@ -168,15 +192,14 @@ void EmptyStreamRelease(ArrowArrayStream *stream) { stream->release = nullptr; } -void FactoryGetSchema(uintptr_t stream_factory_ptr, duckdb::ArrowSchemaWrapper &schema) { - auto stream = reinterpret_cast(stream_factory_ptr); - stream->get_schema(stream, &schema.arrow_schema); +void FactoryGetSchema(ArrowArrayStream *stream, ArrowSchema &schema) { + stream->get_schema(stream, &schema); // Need to nullify the root schema's release function here, because streams don't allow us to set the release // function. For the schema's children, we nullify the release functions in `duckdb_arrow_scan`, so we don't need to // handle them again here. We set this to nullptr and not EmptySchemaRelease to prevent ArrowSchemaWrapper's // destructor from destroying the schema (it's the caller's responsibility). - schema.arrow_schema.release = nullptr; + schema.release = nullptr; } int GetSchema(struct ArrowArrayStream *stream, struct ArrowSchema *out) { diff --git a/src/main/capi/datetime-c.cpp b/src/main/capi/datetime-c.cpp index 1a3390eb79dc..9b07007af636 100644 --- a/src/main/capi/datetime-c.cpp +++ b/src/main/capi/datetime-c.cpp @@ -28,6 +28,10 @@ duckdb_date duckdb_to_date(duckdb_date_struct date) { return result; } +bool duckdb_is_finite_date(duckdb_date date) { + return Date::IsFinite(date_t(date.days)); +} + duckdb_time_struct duckdb_from_time(duckdb_time time) { int32_t hour, minute, second, micros; Time::Convert(dtime_t(time.micros), hour, minute, second, micros); @@ -40,6 +44,20 @@ duckdb_time_struct duckdb_from_time(duckdb_time time) { return result; } +duckdb_time_tz_struct duckdb_from_time_tz(duckdb_time_tz input) { + duckdb::dtime_tz_t time(input.bits); + duckdb_time_tz_struct result; + result.time.micros = time.time().micros; + result.offset = time.offset(); + return result; +} + +duckdb_time_tz duckdb_create_time_tz(int64_t micros, int32_t offset) { + duckdb_time_tz time; + time.bits = duckdb::dtime_tz_t(duckdb::dtime_t(micros), offset).bits; + return time; +} + duckdb_time duckdb_to_time(duckdb_time_struct time) { duckdb_time result; result.micros = Time::FromTime(time.hour, time.min, time.sec, time.micros).micros; @@ -71,3 +89,7 @@ duckdb_timestamp duckdb_to_timestamp(duckdb_timestamp_struct ts) { result.micros = Timestamp::FromDatetime(date, time).value; return result; } + +bool duckdb_is_finite_timestamp(duckdb_timestamp ts) { + return Timestamp::IsFinite(timestamp_t(ts.micros)); +} diff --git a/src/main/capi/duckdb-c.cpp b/src/main/capi/duckdb-c.cpp index df522d176c53..2b14b81788f0 100644 --- a/src/main/capi/duckdb-c.cpp +++ b/src/main/capi/duckdb-c.cpp @@ -4,6 +4,7 @@ using duckdb::Connection; using duckdb::DatabaseData; using duckdb::DBConfig; using duckdb::DuckDB; +using duckdb::ErrorData; duckdb_state duckdb_open_ext(const char *path, duckdb_database *out, duckdb_config config, char **error) { auto wrapper = new DatabaseData(); @@ -20,7 +21,8 @@ duckdb_state duckdb_open_ext(const char *path, duckdb_database *out, duckdb_conf wrapper->database = duckdb::make_uniq(path, db_config); } catch (std::exception &ex) { if (error) { - *error = strdup(ex.what()); + ErrorData parsed_error(ex); + *error = strdup(parsed_error.Message().c_str()); } delete wrapper; return DuckDBError; @@ -70,12 +72,20 @@ void duckdb_interrupt(duckdb_connection connection) { conn->Interrupt(); } -double duckdb_query_progress(duckdb_connection connection) { +duckdb_query_progress_type duckdb_query_progress(duckdb_connection connection) { + duckdb_query_progress_type query_progress_type; + query_progress_type.percentage = -1; + query_progress_type.total_rows_to_process = 0; + query_progress_type.rows_processed = 0; if (!connection) { - return -1; + return query_progress_type; } Connection *conn = reinterpret_cast(connection); - return conn->context->GetProgress(); + auto query_progress = conn->context->GetQueryProgress(); + query_progress_type.total_rows_to_process = query_progress.GetTotalRowsToProcess(); + query_progress_type.rows_processed = query_progress.GetRowsProcesseed(); + query_progress_type.percentage = query_progress.GetPercentage(); + return query_progress_type; } void duckdb_disconnect(duckdb_connection *connection) { diff --git a/src/main/capi/duckdb_value-c.cpp b/src/main/capi/duckdb_value-c.cpp index 8a63a75e664f..c66184b897ad 100644 --- a/src/main/capi/duckdb_value-c.cpp +++ b/src/main/capi/duckdb_value-c.cpp @@ -1,9 +1,22 @@ #include "duckdb/main/capi/capi_internal.hpp" +#include "duckdb/common/types/value.hpp" +#include "duckdb/common/types.hpp" +static duckdb_value WrapValue(duckdb::Value *list_value) { + return reinterpret_cast(list_value); +} + +static duckdb::LogicalType &UnwrapType(duckdb_logical_type type) { + return *(reinterpret_cast(type)); +} + +static duckdb::Value &UnwrapValue(duckdb_value value) { + return *(reinterpret_cast(value)); +} void duckdb_destroy_value(duckdb_value *value) { if (value && *value) { - auto val = reinterpret_cast(*value); - delete val; + auto &unwrap_value = UnwrapValue(*value); + delete &unwrap_value; *value = nullptr; } } @@ -39,3 +52,54 @@ int64_t duckdb_get_int64(duckdb_value value) { } return duckdb::BigIntValue::Get(*val); } + +duckdb_value duckdb_create_struct_value(duckdb_logical_type type, duckdb_value *values) { + if (!type || !values) { + return nullptr; + } + const auto <ype = UnwrapType(type); + if (ltype.id() != duckdb::LogicalTypeId::STRUCT) { + return nullptr; + } + auto count = duckdb::StructType::GetChildCount(ltype); + + duckdb::vector unwrapped_values; + for (idx_t i = 0; i < count; i++) { + auto value = values[i]; + if (!value) { + return nullptr; + } + unwrapped_values.emplace_back(UnwrapValue(value)); + } + duckdb::Value *struct_value = new duckdb::Value; + try { + *struct_value = duckdb::Value::STRUCT(ltype, unwrapped_values); + } catch (...) { + delete struct_value; + return nullptr; + } + return WrapValue(struct_value); +} +duckdb_value duckdb_create_list_value(duckdb_logical_type type, duckdb_value *values, idx_t value_count) { + if (!type || !values) { + return nullptr; + } + auto <ype = UnwrapType(type); + duckdb::vector unwrapped_values; + + for (idx_t i = 0; i < value_count; i++) { + auto value = values[i]; + if (!value) { + return nullptr; + } + unwrapped_values.push_back(UnwrapValue(value)); + } + duckdb::Value *list_value = new duckdb::Value; + try { + *list_value = duckdb::Value::LIST(ltype, unwrapped_values); + } catch (...) { + delete list_value; + return nullptr; + } + return WrapValue(list_value); +} diff --git a/src/main/capi/helper-c.cpp b/src/main/capi/helper-c.cpp index cf8001e13e44..b9caf94df38c 100644 --- a/src/main/capi/helper-c.cpp +++ b/src/main/capi/helper-c.cpp @@ -24,16 +24,22 @@ LogicalTypeId ConvertCTypeToCPP(duckdb_type c_type) { return LogicalTypeId::UBIGINT; case DUCKDB_TYPE_HUGEINT: return LogicalTypeId::HUGEINT; + case DUCKDB_TYPE_UHUGEINT: + return LogicalTypeId::UHUGEINT; case DUCKDB_TYPE_FLOAT: return LogicalTypeId::FLOAT; case DUCKDB_TYPE_DOUBLE: return LogicalTypeId::DOUBLE; case DUCKDB_TYPE_TIMESTAMP: return LogicalTypeId::TIMESTAMP; + case DUCKDB_TYPE_TIMESTAMP_TZ: + return LogicalTypeId::TIMESTAMP_TZ; case DUCKDB_TYPE_DATE: return LogicalTypeId::DATE; case DUCKDB_TYPE_TIME: return LogicalTypeId::TIME; + case DUCKDB_TYPE_TIME_TZ: + return LogicalTypeId::TIME_TZ; case DUCKDB_TYPE_VARCHAR: return LogicalTypeId::VARCHAR; case DUCKDB_TYPE_BLOB: @@ -76,13 +82,16 @@ duckdb_type ConvertCPPTypeToC(const LogicalType &sql_type) { return DUCKDB_TYPE_UBIGINT; case LogicalTypeId::HUGEINT: return DUCKDB_TYPE_HUGEINT; + case LogicalTypeId::UHUGEINT: + return DUCKDB_TYPE_UHUGEINT; case LogicalTypeId::FLOAT: return DUCKDB_TYPE_FLOAT; case LogicalTypeId::DOUBLE: return DUCKDB_TYPE_DOUBLE; case LogicalTypeId::TIMESTAMP: - case LogicalTypeId::TIMESTAMP_TZ: return DUCKDB_TYPE_TIMESTAMP; + case LogicalTypeId::TIMESTAMP_TZ: + return DUCKDB_TYPE_TIMESTAMP_TZ; case LogicalTypeId::TIMESTAMP_SEC: return DUCKDB_TYPE_TIMESTAMP_S; case LogicalTypeId::TIMESTAMP_MS: @@ -92,8 +101,9 @@ duckdb_type ConvertCPPTypeToC(const LogicalType &sql_type) { case LogicalTypeId::DATE: return DUCKDB_TYPE_DATE; case LogicalTypeId::TIME: - case LogicalTypeId::TIME_TZ: return DUCKDB_TYPE_TIME; + case LogicalTypeId::TIME_TZ: + return DUCKDB_TYPE_TIME_TZ; case LogicalTypeId::VARCHAR: return DUCKDB_TYPE_VARCHAR; case LogicalTypeId::BLOB: @@ -142,6 +152,7 @@ idx_t GetCTypeSize(duckdb_type type) { return sizeof(uint32_t); case DUCKDB_TYPE_UBIGINT: return sizeof(uint64_t); + case DUCKDB_TYPE_UHUGEINT: case DUCKDB_TYPE_HUGEINT: case DUCKDB_TYPE_UUID: return sizeof(duckdb_hugeint); @@ -173,6 +184,69 @@ idx_t GetCTypeSize(duckdb_type type) { } // LCOV_EXCL_STOP } +duckdb_statement_type StatementTypeToC(duckdb::StatementType statement_type) { + switch (statement_type) { + case duckdb::StatementType::SELECT_STATEMENT: + return DUCKDB_STATEMENT_TYPE_SELECT; + case duckdb::StatementType::INVALID_STATEMENT: + return DUCKDB_STATEMENT_TYPE_INVALID; + case duckdb::StatementType::INSERT_STATEMENT: + return DUCKDB_STATEMENT_TYPE_INSERT; + case duckdb::StatementType::UPDATE_STATEMENT: + return DUCKDB_STATEMENT_TYPE_UPDATE; + case duckdb::StatementType::EXPLAIN_STATEMENT: + return DUCKDB_STATEMENT_TYPE_EXPLAIN; + case duckdb::StatementType::DELETE_STATEMENT: + return DUCKDB_STATEMENT_TYPE_DELETE; + case duckdb::StatementType::PREPARE_STATEMENT: + return DUCKDB_STATEMENT_TYPE_PREPARE; + case duckdb::StatementType::CREATE_STATEMENT: + return DUCKDB_STATEMENT_TYPE_CREATE; + case duckdb::StatementType::EXECUTE_STATEMENT: + return DUCKDB_STATEMENT_TYPE_EXECUTE; + case duckdb::StatementType::ALTER_STATEMENT: + return DUCKDB_STATEMENT_TYPE_ALTER; + case duckdb::StatementType::TRANSACTION_STATEMENT: + return DUCKDB_STATEMENT_TYPE_TRANSACTION; + case duckdb::StatementType::COPY_STATEMENT: + return DUCKDB_STATEMENT_TYPE_COPY; + case duckdb::StatementType::ANALYZE_STATEMENT: + return DUCKDB_STATEMENT_TYPE_ANALYZE; + case duckdb::StatementType::VARIABLE_SET_STATEMENT: + return DUCKDB_STATEMENT_TYPE_VARIABLE_SET; + case duckdb::StatementType::CREATE_FUNC_STATEMENT: + return DUCKDB_STATEMENT_TYPE_CREATE_FUNC; + case duckdb::StatementType::DROP_STATEMENT: + return DUCKDB_STATEMENT_TYPE_DROP; + case duckdb::StatementType::EXPORT_STATEMENT: + return DUCKDB_STATEMENT_TYPE_EXPORT; + case duckdb::StatementType::PRAGMA_STATEMENT: + return DUCKDB_STATEMENT_TYPE_PRAGMA; + case duckdb::StatementType::VACUUM_STATEMENT: + return DUCKDB_STATEMENT_TYPE_VACUUM; + case duckdb::StatementType::CALL_STATEMENT: + return DUCKDB_STATEMENT_TYPE_CALL; + case duckdb::StatementType::SET_STATEMENT: + return DUCKDB_STATEMENT_TYPE_SET; + case duckdb::StatementType::LOAD_STATEMENT: + return DUCKDB_STATEMENT_TYPE_LOAD; + case duckdb::StatementType::RELATION_STATEMENT: + return DUCKDB_STATEMENT_TYPE_RELATION; + case duckdb::StatementType::EXTENSION_STATEMENT: + return DUCKDB_STATEMENT_TYPE_EXTENSION; + case duckdb::StatementType::LOGICAL_PLAN_STATEMENT: + return DUCKDB_STATEMENT_TYPE_LOGICAL_PLAN; + case duckdb::StatementType::ATTACH_STATEMENT: + return DUCKDB_STATEMENT_TYPE_ATTACH; + case duckdb::StatementType::DETACH_STATEMENT: + return DUCKDB_STATEMENT_TYPE_DETACH; + case duckdb::StatementType::MULTI_STATEMENT: + return DUCKDB_STATEMENT_TYPE_MULTI; + default: + return DUCKDB_STATEMENT_TYPE_INVALID; + } +} + } // namespace duckdb void *duckdb_malloc(size_t size) { diff --git a/src/main/capi/hugeint-c.cpp b/src/main/capi/hugeint-c.cpp index 337ec498c636..bafed1efd4b6 100644 --- a/src/main/capi/hugeint-c.cpp +++ b/src/main/capi/hugeint-c.cpp @@ -1,5 +1,6 @@ #include "duckdb/main/capi/capi_internal.hpp" #include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include "duckdb/common/types/decimal.hpp" #include "duckdb/common/operator/decimal_cast_operators.hpp" #include "duckdb/main/capi/cast/utils.hpp" @@ -7,6 +8,8 @@ using duckdb::Hugeint; using duckdb::hugeint_t; +using duckdb::Uhugeint; +using duckdb::uhugeint_t; using duckdb::Value; double duckdb_hugeint_to_double(duckdb_hugeint val) { @@ -16,6 +19,13 @@ double duckdb_hugeint_to_double(duckdb_hugeint val) { return Hugeint::Cast(internal); } +double duckdb_uhugeint_to_double(duckdb_uhugeint val) { + uhugeint_t internal; + internal.lower = val.lower; + internal.upper = val.upper; + return Uhugeint::Cast(internal); +} + static duckdb_decimal to_decimal_cast(double val, uint8_t width, uint8_t scale) { if (width > duckdb::Decimal::MAX_WIDTH_INT64) { return duckdb::TryCastToDecimalCInternal>(val, width, scale); @@ -49,6 +59,19 @@ duckdb_hugeint duckdb_double_to_hugeint(double val) { return result; } +duckdb_uhugeint duckdb_double_to_uhugeint(double val) { + uhugeint_t internal_result; + if (!Value::DoubleIsFinite(val) || !Uhugeint::TryConvert(val, internal_result)) { + internal_result.lower = 0; + internal_result.upper = 0; + } + + duckdb_uhugeint result; + result.lower = internal_result.lower; + result.upper = internal_result.upper; + return result; +} + double duckdb_decimal_to_double(duckdb_decimal val) { double result; hugeint_t value; diff --git a/src/main/capi/logical_types-c.cpp b/src/main/capi/logical_types-c.cpp index 83906f68c418..6a50fba7abed 100644 --- a/src/main/capi/logical_types-c.cpp +++ b/src/main/capi/logical_types-c.cpp @@ -35,17 +35,17 @@ duckdb_logical_type duckdb_create_list_type(duckdb_logical_type type) { return reinterpret_cast(ltype); } -duckdb_logical_type duckdb_create_union_type(duckdb_logical_type member_types_p, const char **member_names, +duckdb_logical_type duckdb_create_union_type(duckdb_logical_type *member_types_p, const char **member_names, idx_t member_count) { if (!member_types_p || !member_names) { return nullptr; } - duckdb::LogicalType *member_types = reinterpret_cast(member_types_p); + duckdb::LogicalType **member_types = reinterpret_cast(member_types_p); duckdb::LogicalType *mtype = new duckdb::LogicalType; duckdb::child_list_t members; for (idx_t i = 0; i < member_count; i++) { - members.push_back(make_pair(member_names[i], member_types[i])); + members.push_back(make_pair(member_names[i], *member_types[i])); } *mtype = duckdb::LogicalType::UNION(members); return reinterpret_cast(mtype); @@ -73,6 +73,25 @@ duckdb_logical_type duckdb_create_struct_type(duckdb_logical_type *member_types_ return reinterpret_cast(mtype); } +duckdb_logical_type duckdb_create_enum_type(const char **member_names, idx_t member_count) { + if (!member_names) { + return nullptr; + } + duckdb::Vector enum_vector(duckdb::LogicalType::VARCHAR, member_count); + auto enum_vector_ptr = duckdb::FlatVector::GetData(enum_vector); + + for (idx_t i = 0; i < member_count; i++) { + if (!member_names[i]) { + return nullptr; + } + enum_vector_ptr[i] = duckdb::StringVector::AddStringOrBlob(enum_vector, member_names[i]); + } + + duckdb::LogicalType *mtype = new duckdb::LogicalType; + *mtype = duckdb::LogicalType::ENUM(enum_vector, member_count); + return reinterpret_cast(mtype); +} + duckdb_logical_type duckdb_create_map_type(duckdb_logical_type key_type, duckdb_logical_type value_type) { if (!key_type || !value_type) { return nullptr; @@ -257,6 +276,11 @@ char *duckdb_struct_type_child_name(duckdb_logical_type type, idx_t index) { return strdup(duckdb::StructType::GetChildName(ltype, index).c_str()); } +char *duckdb_logical_type_get_alias(duckdb_logical_type type) { + auto <ype = *(reinterpret_cast(type)); + return ltype.HasAlias() ? strdup(ltype.GetAlias().c_str()) : nullptr; +} + duckdb_logical_type duckdb_struct_type_child_type(duckdb_logical_type type, idx_t index) { if (!AssertInternalType(type, duckdb::PhysicalType::STRUCT)) { return nullptr; diff --git a/src/main/capi/pending-c.cpp b/src/main/capi/pending-c.cpp index 300513900089..68875872471f 100644 --- a/src/main/capi/pending-c.cpp +++ b/src/main/capi/pending-c.cpp @@ -1,7 +1,7 @@ #include "duckdb/main/capi/capi_internal.hpp" #include "duckdb/main/query_result.hpp" #include "duckdb/main/pending_query_result.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb/common/case_insensitive_map.hpp" #include "duckdb/common/optional_ptr.hpp" @@ -25,10 +25,8 @@ duckdb_state duckdb_pending_prepared_internal(duckdb_prepared_statement prepared try { result->statement = wrapper->statement->PendingQuery(wrapper->values, allow_streaming); - } catch (const duckdb::Exception &ex) { - result->statement = make_uniq(duckdb::PreservedError(ex)); } catch (std::exception &ex) { - result->statement = make_uniq(duckdb::PreservedError(ex)); + result->statement = make_uniq(duckdb::ErrorData(ex)); } duckdb_state return_value = !result->statement->HasError() ? DuckDBSuccess : DuckDBError; *out_result = reinterpret_cast(result); @@ -68,6 +66,37 @@ const char *duckdb_pending_error(duckdb_pending_result pending_result) { return wrapper->statement->GetError().c_str(); } +duckdb_pending_state duckdb_pending_execute_check_state(duckdb_pending_result pending_result) { + if (!pending_result) { + return DUCKDB_PENDING_ERROR; + } + auto wrapper = reinterpret_cast(pending_result); + if (!wrapper->statement) { + return DUCKDB_PENDING_ERROR; + } + if (wrapper->statement->HasError()) { + return DUCKDB_PENDING_ERROR; + } + PendingExecutionResult return_value; + try { + return_value = wrapper->statement->CheckPulse(); + } catch (std::exception &ex) { + wrapper->statement->SetError(duckdb::ErrorData(ex)); + return DUCKDB_PENDING_ERROR; + } + switch (return_value) { + case PendingExecutionResult::BLOCKED: + case PendingExecutionResult::RESULT_READY: + return DUCKDB_PENDING_RESULT_READY; + case PendingExecutionResult::NO_TASKS_AVAILABLE: + return DUCKDB_PENDING_NO_TASKS_AVAILABLE; + case PendingExecutionResult::RESULT_NOT_READY: + return DUCKDB_PENDING_RESULT_NOT_READY; + default: + return DUCKDB_PENDING_ERROR; + } +} + duckdb_pending_state duckdb_pending_execute_task(duckdb_pending_result pending_result) { if (!pending_result) { return DUCKDB_PENDING_ERROR; @@ -82,14 +111,12 @@ duckdb_pending_state duckdb_pending_execute_task(duckdb_pending_result pending_r PendingExecutionResult return_value; try { return_value = wrapper->statement->ExecuteTask(); - } catch (const duckdb::Exception &ex) { - wrapper->statement->SetError(duckdb::PreservedError(ex)); - return DUCKDB_PENDING_ERROR; } catch (std::exception &ex) { - wrapper->statement->SetError(duckdb::PreservedError(ex)); + wrapper->statement->SetError(duckdb::ErrorData(ex)); return DUCKDB_PENDING_ERROR; } switch (return_value) { + case PendingExecutionResult::BLOCKED: case PendingExecutionResult::RESULT_READY: return DUCKDB_PENDING_RESULT_READY; case PendingExecutionResult::NO_TASKS_AVAILABLE: @@ -120,13 +147,20 @@ duckdb_state duckdb_execute_pending(duckdb_pending_result pending_result, duckdb if (!pending_result || !out_result) { return DuckDBError; } + memset(out_result, 0, sizeof(duckdb_result)); auto wrapper = reinterpret_cast(pending_result); if (!wrapper->statement) { return DuckDBError; } duckdb::unique_ptr result; - result = wrapper->statement->Execute(); + try { + result = wrapper->statement->Execute(); + } catch (std::exception &ex) { + duckdb::ErrorData error(ex); + result = duckdb::make_uniq(std::move(error)); + } + wrapper->statement.reset(); return duckdb_translate_result(std::move(result), out_result); } diff --git a/src/main/capi/prepared-c.cpp b/src/main/capi/prepared-c.cpp index 82b488b7a2d2..0569114ef0ea 100644 --- a/src/main/capi/prepared-c.cpp +++ b/src/main/capi/prepared-c.cpp @@ -2,6 +2,7 @@ #include "duckdb/main/query_result.hpp" #include "duckdb/main/prepared_statement_data.hpp" #include "duckdb/common/types/decimal.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/common/optional_ptr.hpp" #include "duckdb/common/case_insensitive_map.hpp" @@ -9,6 +10,7 @@ using duckdb::case_insensitive_map_t; using duckdb::Connection; using duckdb::date_t; using duckdb::dtime_t; +using duckdb::ErrorData; using duckdb::ExtractStatementsWrapper; using duckdb::hugeint_t; using duckdb::LogicalType; @@ -18,6 +20,7 @@ using duckdb::PreparedStatementWrapper; using duckdb::QueryResultType; using duckdb::StringUtil; using duckdb::timestamp_t; +using duckdb::uhugeint_t; using duckdb::Value; idx_t duckdb_extract_statements(duckdb_connection connection, const char *query, @@ -29,8 +32,9 @@ idx_t duckdb_extract_statements(duckdb_connection connection, const char *query, Connection *conn = reinterpret_cast(connection); try { wrapper->statements = conn->ExtractStatements(query); - } catch (const duckdb::ParserException &e) { - wrapper->error = e.what(); + } catch (const std::exception &ex) { + ErrorData error(ex); + wrapper->error = error.Message(); } *out_extracted_statements = (duckdb_extracted_statements)wrapper; @@ -213,11 +217,23 @@ static hugeint_t duckdb_internal_hugeint(duckdb_hugeint val) { return internal; } +static uhugeint_t duckdb_internal_uhugeint(duckdb_uhugeint val) { + uhugeint_t internal; + internal.lower = val.lower; + internal.upper = val.upper; + return internal; +} + duckdb_state duckdb_bind_hugeint(duckdb_prepared_statement prepared_statement, idx_t param_idx, duckdb_hugeint val) { auto value = Value::HUGEINT(duckdb_internal_hugeint(val)); return duckdb_bind_value(prepared_statement, param_idx, (duckdb_value)&value); } +duckdb_state duckdb_bind_uhugeint(duckdb_prepared_statement prepared_statement, idx_t param_idx, duckdb_uhugeint val) { + auto value = Value::UHUGEINT(duckdb_internal_uhugeint(val)); + return duckdb_bind_value(prepared_statement, param_idx, (duckdb_value)&value); +} + duckdb_state duckdb_bind_uint8(duckdb_prepared_statement prepared_statement, idx_t param_idx, uint8_t val) { auto value = Value::UTINYINT(val); return duckdb_bind_value(prepared_statement, param_idx, (duckdb_value)&value); @@ -320,6 +336,26 @@ duckdb_state duckdb_execute_prepared(duckdb_prepared_statement prepared_statemen return duckdb_translate_result(std::move(result), out_result); } +duckdb_state duckdb_execute_prepared_streaming(duckdb_prepared_statement prepared_statement, + duckdb_result *out_result) { + auto wrapper = reinterpret_cast(prepared_statement); + if (!wrapper || !wrapper->statement || wrapper->statement->HasError()) { + return DuckDBError; + } + + auto result = wrapper->statement->Execute(wrapper->values, true); + return duckdb_translate_result(std::move(result), out_result); +} + +duckdb_statement_type duckdb_prepared_statement_type(duckdb_prepared_statement statement) { + if (!statement) { + return DUCKDB_STATEMENT_TYPE_INVALID; + } + auto stmt = reinterpret_cast(statement); + + return StatementTypeToC(stmt->statement->GetStatementType()); +} + template void duckdb_destroy(void **wrapper) { if (!wrapper) { diff --git a/src/main/capi/result-c.cpp b/src/main/capi/result-c.cpp index bab21bead0a6..c3b62c410741 100644 --- a/src/main/capi/result-c.cpp +++ b/src/main/capi/result-c.cpp @@ -82,6 +82,16 @@ struct CHugeintConverter : public CBaseConverter { } }; +struct CUhugeintConverter : public CBaseConverter { + template + static DST Convert(SRC input) { + duckdb_uhugeint result; + result.lower = input.lower; + result.upper = input.upper; + return result; + } +}; + struct CIntervalConverter : public CBaseConverter { template static DST Convert(SRC input) { @@ -215,6 +225,10 @@ duckdb_state deprecated_duckdb_translate_column(MaterializedQueryResult &result, WriteData(column, collection, column_ids); break; } + case LogicalTypeId::UHUGEINT: { + WriteData(column, collection, column_ids); + break; + } case LogicalTypeId::INTERVAL: { WriteData(column, collection, column_ids); break; @@ -431,10 +445,21 @@ idx_t duckdb_rows_changed(duckdb_result *result) { if (!result) { return 0; } - if (!duckdb::deprecated_materialize_result(result)) { + auto &result_data = *(reinterpret_cast(result->internal_data)); + if (result_data.result_set_type == duckdb::CAPIResultSetType::CAPI_RESULT_TYPE_DEPRECATED) { + // not a materialized result + return result->__deprecated_rows_changed; + } + auto &materialized = reinterpret_cast(*result_data.result); + if (materialized.properties.return_type != duckdb::StatementReturnType::CHANGED_ROWS) { + // we can only use this function for CHANGED_ROWS result types + return 0; + } + if (materialized.RowCount() != 1 || materialized.ColumnCount() != 1) { + // CHANGED_ROWS should return exactly one row return 0; } - return result->__deprecated_rows_changed; + return materialized.GetValue(0, 0).GetValue(); } void *duckdb_column_data(duckdb_result *result, idx_t col) { @@ -458,7 +483,7 @@ bool *duckdb_nullmask_data(duckdb_result *result, idx_t col) { } const char *duckdb_result_error(duckdb_result *result) { - if (!result) { + if (!result || !result->internal_data) { return nullptr; } auto &result_data = *(reinterpret_cast(result->internal_data)); @@ -515,3 +540,29 @@ bool duckdb_result_is_streaming(duckdb_result result) { auto &result_data = *(reinterpret_cast(result.internal_data)); return result_data.result->type == duckdb::QueryResultType::STREAM_RESULT; } + +duckdb_result_type duckdb_result_return_type(duckdb_result result) { + if (!result.internal_data || duckdb_result_error(&result) != nullptr) { + return DUCKDB_RESULT_TYPE_INVALID; + } + auto &result_data = *(reinterpret_cast(result.internal_data)); + switch (result_data.result->properties.return_type) { + case duckdb::StatementReturnType::CHANGED_ROWS: + return DUCKDB_RESULT_TYPE_CHANGED_ROWS; + case duckdb::StatementReturnType::NOTHING: + return DUCKDB_RESULT_TYPE_NOTHING; + case duckdb::StatementReturnType::QUERY_RESULT: + return DUCKDB_RESULT_TYPE_QUERY_RESULT; + default: + return DUCKDB_RESULT_TYPE_INVALID; + } +} + +duckdb_statement_type duckdb_result_statement_type(duckdb_result result) { + if (!result.internal_data || duckdb_result_error(&result) != nullptr) { + return DUCKDB_STATEMENT_TYPE_INVALID; + } + auto &pres = *(reinterpret_cast(result.internal_data)); + + return StatementTypeToC(pres.result->statement_type); +} diff --git a/src/main/capi/table_function-c.cpp b/src/main/capi/table_function-c.cpp index fe1556bfa227..e6eb5e3549fd 100644 --- a/src/main/capi/table_function-c.cpp +++ b/src/main/capi/table_function-c.cpp @@ -118,7 +118,7 @@ unique_ptr CTableFunctionBind(ClientContext &context, TableFunctio CTableInternalBindInfo bind_info(context, input, return_types, names, *result, info); info.bind(&bind_info); if (!bind_info.success) { - throw Exception(bind_info.error); + throw BinderException(bind_info.error); } return std::move(result); @@ -131,7 +131,7 @@ unique_ptr CTableFunctionInit(ClientContext &context, CTableInternalInitInfo init_info(bind_data, result->init_data, data_p.column_ids, data_p.filters); bind_data.info.init(&init_info); if (!init_info.success) { - throw Exception(init_info.error); + throw InvalidInputException(init_info.error); } return std::move(result); } @@ -147,7 +147,7 @@ unique_ptr CTableFunctionLocalInit(ExecutionContext &co CTableInternalInitInfo init_info(bind_data, result->init_data, data_p.column_ids, data_p.filters); bind_data.info.local_init(&init_info); if (!init_info.success) { - throw Exception(init_info.error); + throw InvalidInputException(init_info.error); } return std::move(result); } @@ -167,7 +167,7 @@ void CTableFunction(ClientContext &context, TableFunctionInput &data_p, DataChun CTableInternalFunctionInfo function_info(bind_data, global_data.init_data, local_data.init_data); bind_data.info.function(&function_info, reinterpret_cast(&output)); if (!function_info.success) { - throw Exception(function_info.error); + throw InvalidInputException(function_info.error); } } diff --git a/src/main/capi/value-c.cpp b/src/main/capi/value-c.cpp index a4a6040b9ffb..931052614e59 100644 --- a/src/main/capi/value-c.cpp +++ b/src/main/capi/value-c.cpp @@ -3,6 +3,7 @@ #include "duckdb/common/types/time.hpp" #include "duckdb/common/types/timestamp.hpp" #include "duckdb/common/types.hpp" +#include "duckdb/common/uhugeint.hpp" #include "duckdb/main/capi/cast/generic.hpp" @@ -17,6 +18,7 @@ using duckdb::interval_t; using duckdb::StringCast; using duckdb::timestamp_t; using duckdb::ToCStringCastWrapper; +using duckdb::uhugeint_t; using duckdb::UnsafeFetch; bool duckdb_value_boolean(duckdb_result *result, idx_t col, idx_t row) { @@ -68,6 +70,14 @@ duckdb_hugeint duckdb_value_hugeint(duckdb_result *result, idx_t col, idx_t row) return result_value; } +duckdb_uhugeint duckdb_value_uhugeint(duckdb_result *result, idx_t col, idx_t row) { + duckdb_uhugeint result_value; + auto internal_value = GetInternalCValue(result, col, row); + result_value.lower = internal_value.lower; + result_value.upper = internal_value.upper; + return result_value; +} + uint8_t duckdb_value_uint8(duckdb_result *result, idx_t col, idx_t row) { return GetInternalCValue(result, col, row); } diff --git a/src/main/chunk_scan_state/query_result.cpp b/src/main/chunk_scan_state/query_result.cpp index 84e45e3646f3..1c533f8c21f2 100644 --- a/src/main/chunk_scan_state/query_result.cpp +++ b/src/main/chunk_scan_state/query_result.cpp @@ -10,7 +10,7 @@ QueryResultChunkScanState::QueryResultChunkScanState(QueryResult &result) : Chun QueryResultChunkScanState::~QueryResultChunkScanState() { } -bool QueryResultChunkScanState::InternalLoad(PreservedError &error) { +bool QueryResultChunkScanState::InternalLoad(ErrorData &error) { D_ASSERT(!finished); if (result.type == QueryResultType::STREAM_RESULT) { auto &stream_result = result.Cast(); @@ -25,7 +25,7 @@ bool QueryResultChunkScanState::HasError() const { return result.HasError(); } -PreservedError &QueryResultChunkScanState::GetError() { +ErrorData &QueryResultChunkScanState::GetError() { D_ASSERT(result.HasError()); return result.GetErrorObject(); } @@ -38,7 +38,7 @@ const vector &QueryResultChunkScanState::Names() const { return result.names; } -bool QueryResultChunkScanState::LoadNextChunk(PreservedError &error) { +bool QueryResultChunkScanState::LoadNextChunk(ErrorData &error) { if (finished) { return !finished; } diff --git a/src/main/client_context.cpp b/src/main/client_context.cpp index 157f0be76b3b..459dfe52fa4b 100644 --- a/src/main/client_context.cpp +++ b/src/main/client_context.cpp @@ -5,7 +5,7 @@ #include "duckdb/catalog/catalog_search_path.hpp" #include "duckdb/common/file_system.hpp" #include "duckdb/common/http_state.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb/common/progress_bar/progress_bar.hpp" #include "duckdb/common/serializer/buffered_file_writer.hpp" #include "duckdb/common/types/column/column_data_collection.hpp" @@ -41,24 +41,89 @@ #include "duckdb/planner/pragma_handler.hpp" #include "duckdb/transaction/meta_transaction.hpp" #include "duckdb/transaction/transaction_manager.hpp" +#include "duckdb/storage/data_table.hpp" +#include "duckdb/common/exception/transaction_exception.hpp" +#include "duckdb/main/client_context_state.hpp" namespace duckdb { struct ActiveQueryContext { +public: //! The query that is currently being executed string query; - //! The currently open result - BaseQueryResult *open_result = nullptr; //! Prepared statement data shared_ptr prepared; //! The query executor unique_ptr executor; //! The progress bar unique_ptr progress_bar; + +public: + void SetOpenResult(BaseQueryResult &result) { + open_result = &result; + } + bool IsOpenResult(BaseQueryResult &result) { + return open_result == &result; + } + bool HasOpenResult() const { + return open_result != nullptr; + } + +private: + //! The currently open result + BaseQueryResult *open_result = nullptr; +}; + +#ifdef DEBUG +struct DebugClientContextState : public ClientContextState { + ~DebugClientContextState() override { + D_ASSERT(!active_transaction); + D_ASSERT(!active_query); + } + + bool active_transaction = false; + bool active_query = false; + + void QueryBegin(ClientContext &context) override { + if (active_query) { + throw InternalException("DebugClientContextState::QueryBegin called when a query is already active"); + } + active_query = true; + } + void QueryEnd(ClientContext &context) override { + if (!active_query) { + throw InternalException("DebugClientContextState::QueryEnd called when no query is active"); + } + active_query = false; + } + void TransactionBegin(MetaTransaction &transaction, ClientContext &context) override { + if (active_transaction) { + throw InternalException( + "DebugClientContextState::TransactionBegin called when a transaction is already active"); + } + active_transaction = true; + } + void TransactionCommit(MetaTransaction &transaction, ClientContext &context) override { + if (!active_transaction) { + throw InternalException("DebugClientContextState::TransactionCommit called when no transaction is active"); + } + active_transaction = false; + } + void TransactionRollback(MetaTransaction &transaction, ClientContext &context) override { + if (!active_transaction) { + throw InternalException( + "DebugClientContextState::TransactionRollback called when no transaction is active"); + } + active_transaction = false; + } }; +#endif ClientContext::ClientContext(shared_ptr database) : db(std::move(database)), interrupted(false), client_data(make_uniq(*this)), transaction(*this) { +#ifdef DEBUG + registered_state["debug_client_context_state"] = make_uniq(); +#endif } ClientContext::~ClientContext() { @@ -85,97 +150,60 @@ void ClientContext::Destroy() { CleanupInternal(*lock); } -unique_ptr ClientContext::Fetch(ClientContextLock &lock, StreamQueryResult &result) { - D_ASSERT(IsActiveResult(lock, &result)); - D_ASSERT(active_query->executor); - return FetchInternal(lock, *active_query->executor, result); +void ClientContext::ProcessError(ErrorData &error, const string &query) const { + if (config.errors_as_json) { + error.ConvertErrorToJSON(); + } else if (!query.empty()) { + error.AddErrorLocation(query); + } } -unique_ptr ClientContext::FetchInternal(ClientContextLock &lock, Executor &executor, - BaseQueryResult &result) { - bool invalidate_query = true; - try { - // fetch the chunk and return it - auto chunk = executor.FetchChunk(); - if (!chunk || chunk->size() == 0) { - CleanupInternal(lock, &result); - } - return chunk; - } catch (StandardException &ex) { - // standard exceptions do not invalidate the current transaction - result.SetError(PreservedError(ex)); - invalidate_query = false; - } catch (FatalException &ex) { - // fatal exceptions invalidate the entire database - result.SetError(PreservedError(ex)); - auto &db = DatabaseInstance::GetDatabase(*this); - ValidChecker::Invalidate(db, ex.what()); - } catch (const Exception &ex) { - result.SetError(PreservedError(ex)); - } catch (std::exception &ex) { - result.SetError(PreservedError(ex)); - } catch (...) { // LCOV_EXCL_START - result.SetError(PreservedError("Unhandled exception in FetchInternal")); - } // LCOV_EXCL_STOP - CleanupInternal(lock, &result, invalidate_query); - return nullptr; +template +unique_ptr ClientContext::ErrorResult(ErrorData error, const string &query) { + ProcessError(error, query); + return make_uniq(std::move(error)); } -void ClientContext::BeginTransactionInternal(ClientContextLock &lock, bool requires_valid_transaction) { +void ClientContext::BeginQueryInternal(ClientContextLock &lock, const string &query) { // check if we are on AutoCommit. In this case we should start a transaction D_ASSERT(!active_query); - auto &db = DatabaseInstance::GetDatabase(*this); - if (ValidChecker::IsInvalidated(db)) { - throw FatalException(ErrorManager::FormatException(*this, ErrorType::INVALIDATED_DATABASE, - ValidChecker::InvalidatedMessage(db))); - } - if (requires_valid_transaction && transaction.HasActiveTransaction() && - ValidChecker::IsInvalidated(transaction.ActiveTransaction())) { - throw Exception(ErrorManager::FormatException(*this, ErrorType::INVALIDATED_TRANSACTION)); + auto &db_inst = DatabaseInstance::GetDatabase(*this); + if (ValidChecker::IsInvalidated(db_inst)) { + throw ErrorManager::InvalidatedDatabase(*this, ValidChecker::InvalidatedMessage(db_inst)); } active_query = make_uniq(); if (transaction.IsAutoCommit()) { transaction.BeginTransaction(); } -} - -void ClientContext::BeginQueryInternal(ClientContextLock &lock, const string &query) { - BeginTransactionInternal(lock, false); + transaction.SetActiveQuery(db->GetDatabaseManager().GetNewQueryNumber()); LogQueryInternal(lock, query); active_query->query = query; - query_progress = -1; - transaction.SetActiveQuery(db->GetDatabaseManager().GetNewQueryNumber()); + + query_progress.Initialize(); + // Notify any registered state of query begin + for (auto const &s : registered_state) { + s.second->QueryBegin(*this); + } } -PreservedError ClientContext::EndQueryInternal(ClientContextLock &lock, bool success, bool invalidate_transaction) { +ErrorData ClientContext::EndQueryInternal(ClientContextLock &lock, bool success, bool invalidate_transaction) { client_data->profiler->EndQuery(); - if (client_data->http_state) { - client_data->http_state->Reset(); + if (active_query->executor) { + active_query->executor->CancelTasks(); } - // Notify any registered state of query end for (auto const &s : registered_state) { - s.second->QueryEnd(); + s.second->QueryEnd(*this); } + active_query->progress_bar.reset(); D_ASSERT(active_query.get()); active_query.reset(); - query_progress = -1; - PreservedError error; + query_progress.Initialize(); + ErrorData error; try { if (transaction.HasActiveTransaction()) { - // Move the query profiler into the history - auto &prev_profilers = client_data->query_profiler_history->GetPrevProfilers(); - prev_profilers.emplace_back(transaction.GetActiveQuery(), std::move(client_data->profiler)); - // Reinitialize the query profiler - client_data->profiler = make_shared(*this); - // Propagate settings of the saved query into the new profiler. - client_data->profiler->Propagate(*prev_profilers.back().second); - if (prev_profilers.size() >= client_data->query_profiler_history->GetPrevProfilersSize()) { - prev_profilers.pop_front(); - } - transaction.ResetActiveQuery(); if (transaction.IsAutoCommit()) { if (success) { @@ -188,22 +216,19 @@ PreservedError ClientContext::EndQueryInternal(ClientContextLock &lock, bool suc ValidChecker::Invalidate(ActiveTransaction(), "Failed to commit"); } } - } catch (FatalException &ex) { - auto &db = DatabaseInstance::GetDatabase(*this); - ValidChecker::Invalidate(db, ex.what()); - error = PreservedError(ex); - } catch (const Exception &ex) { - error = PreservedError(ex); } catch (std::exception &ex) { - error = PreservedError(ex); + error = ErrorData(ex); + if (Exception::InvalidatesDatabase(error.Type())) { + auto &db_inst = DatabaseInstance::GetDatabase(*this); + ValidChecker::Invalidate(db_inst, error.RawMessage()); + } } catch (...) { // LCOV_EXCL_START - error = PreservedError("Unhandled exception!"); + error = ErrorData("Unhandled exception!"); } // LCOV_EXCL_STOP return error; } void ClientContext::CleanupInternal(ClientContextLock &lock, BaseQueryResult *result, bool invalidate_transaction) { - client_data->http_state = make_shared(); if (!active_query) { // no query currently active return; @@ -213,6 +238,10 @@ void ClientContext::CleanupInternal(ClientContextLock &lock, BaseQueryResult *re } active_query->progress_bar.reset(); + // Relaunch the threads if a SET THREADS command was issued + auto &scheduler = TaskScheduler::GetScheduler(*this); + scheduler.RelaunchThreads(); + auto error = EndQueryInternal(lock, result ? !result->HasError() : false, invalidate_transaction); if (result && !result->HasError()) { // if an error occurred while committing report it in the result @@ -234,55 +263,19 @@ const string &ClientContext::GetCurrentQuery() { unique_ptr ClientContext::FetchResultInternal(ClientContextLock &lock, PendingQueryResult &pending) { D_ASSERT(active_query); - D_ASSERT(active_query->open_result == &pending); + D_ASSERT(active_query->IsOpenResult(pending)); D_ASSERT(active_query->prepared); auto &executor = GetExecutor(); auto &prepared = *active_query->prepared; bool create_stream_result = prepared.properties.allow_stream_result && pending.allow_stream_result; - if (create_stream_result) { - D_ASSERT(!executor.HasResultCollector()); - active_query->progress_bar.reset(); - query_progress = -1; - - // successfully compiled SELECT clause, and it is the last statement - // return a StreamQueryResult so the client can call Fetch() on it and stream the result - auto stream_result = make_uniq(pending.statement_type, pending.properties, - shared_from_this(), pending.types, pending.names); - active_query->open_result = stream_result.get(); - return std::move(stream_result); - } unique_ptr result; - if (executor.HasResultCollector()) { - // we have a result collector - fetch the result directly from the result collector - result = executor.GetResult(); + D_ASSERT(executor.HasResultCollector()); + // we have a result collector - fetch the result directly from the result collector + result = executor.GetResult(); + if (!create_stream_result) { CleanupInternal(lock, result.get(), false); } else { - // no result collector - create a materialized result by continuously fetching - auto result_collection = make_uniq(Allocator::DefaultAllocator(), pending.types); - D_ASSERT(!result_collection->Types().empty()); - auto materialized_result = - make_uniq(pending.statement_type, pending.properties, pending.names, - std::move(result_collection), GetClientProperties()); - - auto &collection = materialized_result->Collection(); - D_ASSERT(!collection.Types().empty()); - ColumnDataAppendState append_state; - collection.InitializeAppend(append_state); - while (true) { - auto chunk = FetchInternal(lock, GetExecutor(), *materialized_result); - if (!chunk || chunk->size() == 0) { - break; - } -#ifdef DEBUG - for (idx_t i = 0; i < chunk->ColumnCount(); i++) { - if (pending.types[i].id() == LogicalTypeId::VARCHAR) { - chunk->data[i].UTFVerify(chunk->size()); - } - } -#endif - collection.Append(append_state, *chunk); - } - result = std::move(materialized_result); + active_query->SetOpenResult(*result); } return result; } @@ -315,7 +308,6 @@ ClientContext::CreatePreparedStatement(ClientContextLock &lock, const string &qu } } - client_data->http_state = make_shared(); planner.CreatePlan(std::move(statement)); D_ASSERT(planner.plan || !planner.properties.bound_all_parameters); profiler.EndPhase(); @@ -359,8 +351,8 @@ ClientContext::CreatePreparedStatement(ClientContextLock &lock, const string &qu return result; } -double ClientContext::GetProgress() { - return query_progress.load(); +QueryProgress ClientContext::GetQueryProgress() { + return query_progress; } unique_ptr ClientContext::PendingPreparedStatement(ClientContextLock &lock, @@ -369,9 +361,9 @@ unique_ptr ClientContext::PendingPreparedStatement(ClientCon D_ASSERT(active_query); auto &statement = *statement_p; if (ValidChecker::IsInvalidated(ActiveTransaction()) && statement.properties.requires_valid_transaction) { - throw Exception(ErrorManager::FormatException(*this, ErrorType::INVALIDATED_TRANSACTION)); + throw ErrorManager::InvalidatedTransaction(*this); } - auto &transaction = MetaTransaction::Get(*this); + auto &meta_transaction = MetaTransaction::Get(*this); auto &manager = DatabaseManager::Get(*this); for (auto &modified_database : statement.properties.modified_databases) { auto entry = manager.GetDatabase(*this, modified_database); @@ -379,11 +371,11 @@ unique_ptr ClientContext::PendingPreparedStatement(ClientCon throw InternalException("Database \"%s\" not found", modified_database); } if (entry->IsReadOnly()) { - throw Exception(StringUtil::Format( + throw InvalidInputException(StringUtil::Format( "Cannot execute statement of type \"%s\" on database \"%s\" which is attached in read-only mode!", StatementTypeToString(statement.statement_type), modified_database)); } - transaction.ModifyDatabase(*entry); + meta_transaction.ModifyDatabase(*entry); } // bind the bound values before execution @@ -407,54 +399,70 @@ unique_ptr ClientContext::PendingPreparedStatement(ClientCon } active_query->progress_bar = make_uniq(executor, config.wait_time, display_create_func); active_query->progress_bar->Start(); - query_progress = 0; + query_progress.Restart(); } auto stream_result = parameters.allow_stream_result && statement.properties.allow_stream_result; - if (!stream_result && statement.properties.return_type == StatementReturnType::QUERY_RESULT) { - unique_ptr collector; - auto &config = ClientConfig::GetConfig(*this); - auto get_method = - config.result_collector ? config.result_collector : PhysicalResultCollector::GetResultCollector; - collector = get_method(*this, statement); - D_ASSERT(collector->type == PhysicalOperatorType::RESULT_COLLECTOR); - executor.Initialize(std::move(collector)); - } else { - executor.Initialize(*statement.plan); + + get_result_collector_t get_method = PhysicalResultCollector::GetResultCollector; + auto &client_config = ClientConfig::GetConfig(*this); + if (!stream_result && client_config.result_collector) { + get_method = client_config.result_collector; } + statement.is_streaming = stream_result; + auto collector = get_method(*this, statement); + D_ASSERT(collector->type == PhysicalOperatorType::RESULT_COLLECTOR); + executor.Initialize(std::move(collector)); + auto types = executor.GetTypes(); D_ASSERT(types == statement.types); - D_ASSERT(!active_query->open_result); + D_ASSERT(!active_query->HasOpenResult()); auto pending_result = make_uniq(shared_from_this(), *statement_p, std::move(types), stream_result); active_query->prepared = std::move(statement_p); - active_query->open_result = pending_result.get(); + active_query->SetOpenResult(*pending_result); return pending_result; } -PendingExecutionResult ClientContext::ExecuteTaskInternal(ClientContextLock &lock, PendingQueryResult &result) { +PendingExecutionResult ClientContext::ExecuteTaskInternal(ClientContextLock &lock, BaseQueryResult &result, + bool dry_run) { D_ASSERT(active_query); - D_ASSERT(active_query->open_result == &result); + D_ASSERT(active_query->IsOpenResult(result)); + bool invalidate_transaction = true; try { - auto result = active_query->executor->ExecuteTask(); + auto query_result = active_query->executor->ExecuteTask(dry_run); if (active_query->progress_bar) { - active_query->progress_bar->Update(result == PendingExecutionResult::RESULT_READY); - query_progress = active_query->progress_bar->GetCurrentPercentage(); + auto is_finished = PendingQueryResult::IsFinishedOrBlocked(query_result); + active_query->progress_bar->Update(is_finished); + query_progress = active_query->progress_bar->GetDetailedQueryProgress(); } - return result; - } catch (FatalException &ex) { - // fatal exceptions invalidate the entire database - result.SetError(PreservedError(ex)); - auto &db = DatabaseInstance::GetDatabase(*this); - ValidChecker::Invalidate(db, ex.what()); - } catch (const Exception &ex) { - result.SetError(PreservedError(ex)); + return query_result; } catch (std::exception &ex) { - result.SetError(PreservedError(ex)); + auto error = ErrorData(ex); + if (error.Type() == ExceptionType::INTERRUPT) { + auto &executor = *active_query->executor; + if (!executor.HasError()) { + // Interrupted by the user + result.SetError(ex); + invalidate_transaction = true; + } else { + // Interrupted by an exception caused in a worker thread + auto error = executor.GetError(); + invalidate_transaction = Exception::InvalidatesTransaction(error.Type()); + result.SetError(error); + } + } else if (!Exception::InvalidatesTransaction(error.Type())) { + invalidate_transaction = false; + } else if (Exception::InvalidatesDatabase(error.Type())) { + // fatal exceptions invalidate the entire database + auto &db_instance = DatabaseInstance::GetDatabase(*this); + ValidChecker::Invalidate(db_instance, error.RawMessage()); + } + result.SetError(std::move(error)); } catch (...) { // LCOV_EXCL_START - result.SetError(PreservedError("Unhandled exception in ExecuteTaskInternal")); + result.SetError(ErrorData("Unhandled exception in ExecuteTaskInternal")); } // LCOV_EXCL_STOP - EndQueryInternal(lock, false, true); + EndQueryInternal(lock, false, invalidate_transaction); return PendingExecutionResult::EXECUTION_ERROR; } @@ -491,11 +499,10 @@ unique_ptr ClientContext::ExtractPlan(const string &query) { auto statements = ParseStatementsInternal(*lock, query); if (statements.size() != 1) { - throw Exception("ExtractPlan can only prepare a single statement"); + throw InvalidInputException("ExtractPlan can only prepare a single statement"); } unique_ptr plan; - client_data->http_state = make_shared(); RunFunctionInTransactionInternal(*lock, [&]() { Planner planner(*this); planner.CreatePlan(std::move(statements[0])); @@ -534,13 +541,12 @@ unique_ptr ClientContext::PrepareInternal(ClientContextLock & unique_ptr ClientContext::Prepare(unique_ptr statement) { auto lock = LockContext(); // prepare the query + auto query = statement->query; try { InitialCleanup(*lock); return PrepareInternal(*lock, std::move(statement)); - } catch (const Exception &ex) { - return make_uniq(PreservedError(ex)); } catch (std::exception &ex) { - return make_uniq(PreservedError(ex)); + return ErrorResult(ErrorData(ex), query); } } @@ -553,16 +559,14 @@ unique_ptr ClientContext::Prepare(const string &query) { // first parse the query auto statements = ParseStatementsInternal(*lock, query); if (statements.empty()) { - throw Exception("No statement to prepare!"); + throw InvalidInputException("No statement to prepare!"); } if (statements.size() > 1) { - throw Exception("Cannot prepare multiple statements at once!"); + throw InvalidInputException("Cannot prepare multiple statements at once!"); } return PrepareInternal(*lock, std::move(statements[0])); - } catch (const Exception &ex) { - return make_uniq(PreservedError(ex)); } catch (std::exception &ex) { - return make_uniq(PreservedError(ex)); + return ErrorResult(ErrorData(ex), query); } } @@ -571,10 +575,8 @@ unique_ptr ClientContext::PendingQueryPreparedInternal(Clien const PendingQueryParameters ¶meters) { try { InitialCleanup(lock); - } catch (const Exception &ex) { - return make_uniq(PreservedError(ex)); } catch (std::exception &ex) { - return make_uniq(PreservedError(ex)); + return ErrorResult(ErrorData(ex), query); } return PendingStatementOrPreparedStatementInternal(lock, query, nullptr, prepared, parameters); } @@ -591,7 +593,7 @@ unique_ptr ClientContext::Execute(const string &query, shared_ptr

HasError()) { - return make_uniq(pending->GetErrorObject()); + return ErrorResult(pending->GetErrorObject()); } return pending->ExecuteInternal(*lock); } @@ -613,10 +615,10 @@ unique_ptr ClientContext::PendingStatementInternal(ClientCon if (prepared->properties.parameter_count > 0 && parameter_count == 0) { string error_message = StringUtil::Format("Expected %lld parameters, but none were supplied", prepared->properties.parameter_count); - return make_uniq(PreservedError(error_message)); + return ErrorResult(ErrorData(error_message), query); } if (!prepared->properties.bound_all_parameters) { - return make_uniq(PreservedError("Not all parameters were bound")); + return ErrorResult(ErrorData("Not all parameters were bound"), query); } // execute the prepared statement return PendingPreparedStatement(lock, std::move(prepared), parameters); @@ -629,16 +631,23 @@ unique_ptr ClientContext::RunStatementInternal(ClientContextLock &l parameters.allow_stream_result = allow_stream_result; auto pending = PendingQueryInternal(lock, std::move(statement), parameters, verify); if (pending->HasError()) { - return make_uniq(pending->GetErrorObject()); + return ErrorResult(pending->GetErrorObject()); } return ExecutePendingQueryInternal(lock, *pending); } -bool ClientContext::IsActiveResult(ClientContextLock &lock, BaseQueryResult *result) { +bool ClientContext::IsActiveResult(ClientContextLock &lock, BaseQueryResult &result) { if (!active_query) { return false; } - return active_query->open_result == result; + return active_query->IsOpenResult(result); +} + +void ClientContext::SetActiveResult(ClientContextLock &lock, BaseQueryResult &result) { + if (!active_query) { + return; + } + return active_query->SetOpenResult(result); } unique_ptr ClientContext::PendingStatementOrPreparedStatementInternal( @@ -653,17 +662,15 @@ unique_ptr ClientContext::PendingStatementOrPreparedStatemen switch (statement->type) { case StatementType::SELECT_STATEMENT: { // in case this is a select query, we verify the original statement - PreservedError error; + ErrorData error; try { error = VerifyQuery(lock, query, std::move(statement)); - } catch (const Exception &ex) { - error = PreservedError(ex); } catch (std::exception &ex) { - error = PreservedError(ex); + error = ErrorData(ex); } - if (error) { + if (error.HasError()) { // error in verifying query - return make_uniq(error); + return ErrorResult(std::move(error), query); } statement = std::move(copied_statement); break; @@ -674,17 +681,15 @@ unique_ptr ClientContext::PendingStatementOrPreparedStatemen case StatementType::DELETE_STATEMENT: case StatementType::UPDATE_STATEMENT: { Parser parser; - PreservedError error; + ErrorData error; try { parser.ParseQuery(statement->ToString()); - } catch (const Exception &ex) { - error = PreservedError(ex); } catch (std::exception &ex) { - error = PreservedError(ex); + error = ErrorData(ex); } - if (error) { + if (error.HasError()) { // error in verifying query - return make_uniq(error); + return ErrorResult(std::move(error), query); } statement = std::move(parser.statements[0]); break; @@ -701,20 +706,18 @@ unique_ptr ClientContext::PendingStatementOrPreparedStatemen unique_ptr ClientContext::PendingStatementOrPreparedStatement( ClientContextLock &lock, const string &query, unique_ptr statement, shared_ptr &prepared, const PendingQueryParameters ¶meters) { - unique_ptr result; + unique_ptr pending; try { BeginQueryInternal(lock, query); - } catch (FatalException &ex) { - // fatal exceptions invalidate the entire database - auto &db = DatabaseInstance::GetDatabase(*this); - ValidChecker::Invalidate(db, ex.what()); - result = make_uniq(PreservedError(ex)); - return result; - } catch (const Exception &ex) { - return make_uniq(PreservedError(ex)); } catch (std::exception &ex) { - return make_uniq(PreservedError(ex)); + ErrorData error(ex); + if (Exception::InvalidatesDatabase(error.Type())) { + // fatal exceptions invalidate the entire database + auto &db_instance = DatabaseInstance::GetDatabase(*this); + ValidChecker::Invalidate(db_instance, error.RawMessage()); + } + return ErrorResult(std::move(error), query); } // start the profiler auto &profiler = QueryProfiler::Get(*this); @@ -723,7 +726,7 @@ unique_ptr ClientContext::PendingStatementOrPreparedStatemen bool invalidate_query = true; try { if (statement) { - result = PendingStatementInternal(lock, query, std::move(statement), parameters); + pending = PendingStatementInternal(lock, query, std::move(statement), parameters); } else { if (prepared->RequireRebind(*this, parameters.parameters)) { // catalog was modified: rebind the statement before execution @@ -734,33 +737,30 @@ unique_ptr ClientContext::PendingStatementOrPreparedStatemen prepared = std::move(new_prepared); prepared->properties.bound_all_parameters = false; } - result = PendingPreparedStatement(lock, prepared, parameters); - } - } catch (StandardException &ex) { - // standard exceptions do not invalidate the current transaction - result = make_uniq(PreservedError(ex)); - invalidate_query = false; - } catch (FatalException &ex) { - // fatal exceptions invalidate the entire database - if (!config.query_verification_enabled) { - auto &db = DatabaseInstance::GetDatabase(*this); - ValidChecker::Invalidate(db, ex.what()); + pending = PendingPreparedStatement(lock, prepared, parameters); } - result = make_uniq(PreservedError(ex)); - } catch (const Exception &ex) { - // other types of exceptions do invalidate the current transaction - result = make_uniq(PreservedError(ex)); } catch (std::exception &ex) { + ErrorData error(ex); + if (!Exception::InvalidatesTransaction(error.Type())) { + // standard exceptions do not invalidate the current transaction + invalidate_query = false; + } else if (Exception::InvalidatesDatabase(error.Type())) { + // fatal exceptions invalidate the entire database + if (!config.query_verification_enabled) { + auto &db_instance = DatabaseInstance::GetDatabase(*this); + ValidChecker::Invalidate(db_instance, error.RawMessage()); + } + } // other types of exceptions do invalidate the current transaction - result = make_uniq(PreservedError(ex)); + pending = ErrorResult(std::move(error), query); } - if (result->HasError()) { + if (pending->HasError()) { // query failed: abort now EndQueryInternal(lock, false, invalidate_query); - return result; + return pending; } - D_ASSERT(active_query->open_result == result.get()); - return result; + D_ASSERT(active_query->IsOpenResult(*pending)); + return pending; } void ClientContext::LogQueryInternal(ClientContextLock &, const string &query) { @@ -788,7 +788,7 @@ void ClientContext::LogQueryInternal(ClientContextLock &, const string &query) { unique_ptr ClientContext::Query(unique_ptr statement, bool allow_stream_result) { auto pending_query = PendingQuery(std::move(statement), allow_stream_result); if (pending_query->HasError()) { - return make_uniq(pending_query->GetErrorObject()); + return ErrorResult(pending_query->GetErrorObject()); } return pending_query->Execute(); } @@ -796,10 +796,10 @@ unique_ptr ClientContext::Query(unique_ptr statement, unique_ptr ClientContext::Query(const string &query, bool allow_stream_result) { auto lock = LockContext(); - PreservedError error; + ErrorData error; vector> statements; if (!ParseStatements(*lock, query, statements, error)) { - return make_uniq(std::move(error)); + return ErrorResult(std::move(error), query); } if (statements.empty()) { // no statements, return empty successful result @@ -822,7 +822,7 @@ unique_ptr ClientContext::Query(const string &query, bool allow_str auto has_result = pending_query->properties.return_type == StatementReturnType::QUERY_RESULT; unique_ptr current_result; if (pending_query->HasError()) { - current_result = make_uniq(pending_query->GetErrorObject()); + current_result = ErrorResult(pending_query->GetErrorObject()); } else { current_result = ExecutePendingQueryInternal(*lock, *pending_query); } @@ -841,22 +841,25 @@ unique_ptr ClientContext::Query(const string &query, bool allow_str last_result->next = std::move(current_result); last_result = last_result->next.get(); } + D_ASSERT(last_result); + if (last_result->HasError()) { + // Reset the interrupted flag, this was set by the task that found the error + // Next statements should not be bothered by that interruption + interrupted = false; + } } return result; } bool ClientContext::ParseStatements(ClientContextLock &lock, const string &query, - vector> &result, PreservedError &error) { + vector> &result, ErrorData &error) { try { InitialCleanup(lock); // parse the query and transform it into a set of statements result = ParseStatementsInternal(lock, query); return true; - } catch (const Exception &ex) { - error = PreservedError(ex); - return false; } catch (std::exception &ex) { - error = PreservedError(ex); + error = ErrorData(ex); return false; } } @@ -864,13 +867,13 @@ bool ClientContext::ParseStatements(ClientContextLock &lock, const string &query unique_ptr ClientContext::PendingQuery(const string &query, bool allow_stream_result) { auto lock = LockContext(); - PreservedError error; + ErrorData error; vector> statements; if (!ParseStatements(*lock, query, statements, error)) { - return make_uniq(std::move(error)); + return ErrorResult(std::move(error), query); } if (statements.size() != 1) { - return make_uniq(PreservedError("PendingQuery can only take a single statement")); + return ErrorResult(ErrorData("PendingQuery can only take a single statement"), query); } PendingQueryParameters parameters; parameters.allow_stream_result = allow_stream_result; @@ -880,6 +883,13 @@ unique_ptr ClientContext::PendingQuery(const string &query, unique_ptr ClientContext::PendingQuery(unique_ptr statement, bool allow_stream_result) { auto lock = LockContext(); + + try { + InitialCleanup(*lock); + } catch (std::exception &ex) { + return ErrorResult(ErrorData(ex)); + } + PendingQueryParameters parameters; parameters.allow_stream_result = allow_stream_result; return PendingQueryInternal(*lock, std::move(statement), parameters); @@ -908,15 +918,15 @@ void ClientContext::Interrupt() { void ClientContext::EnableProfiling() { auto lock = LockContext(); - auto &config = ClientConfig::GetConfig(*this); - config.enable_profiler = true; - config.emit_profiler_output = true; + auto &client_config = ClientConfig::GetConfig(*this); + client_config.enable_profiler = true; + client_config.emit_profiler_output = true; } void ClientContext::DisableProfiling() { auto lock = LockContext(); - auto &config = ClientConfig::GetConfig(*this); - config.enable_profiler = false; + auto &client_config = ClientConfig::GetConfig(*this); + client_config.enable_profiler = false; } void ClientContext::RegisterFunction(CreateFunctionInfo &info) { @@ -950,20 +960,20 @@ void ClientContext::RunFunctionInTransactionInternal(ClientContextLock &lock, co } try { fun(); - } catch (StandardException &ex) { - if (require_new_transaction) { - transaction.Rollback(); - } - throw; - } catch (FatalException &ex) { - auto &db = DatabaseInstance::GetDatabase(*this); - ValidChecker::Invalidate(db, ex.what()); - throw; } catch (std::exception &ex) { + ErrorData error(ex); + bool invalidates_transaction = true; + if (!Exception::InvalidatesTransaction(error.Type())) { + // standard exceptions don't invalidate the transaction + invalidates_transaction = false; + } else if (Exception::InvalidatesDatabase(error.Type())) { + auto &db_instance = DatabaseInstance::GetDatabase(*this); + ValidChecker::Invalidate(db_instance, error.RawMessage()); + } if (require_new_transaction) { transaction.Rollback(); - } else { - ValidChecker::Invalidate(ActiveTransaction(), ex.what()); + } else if (invalidates_transaction) { + ValidChecker::Invalidate(ActiveTransaction(), error.RawMessage()); } throw; } @@ -1003,11 +1013,11 @@ void ClientContext::Append(TableDescription &description, ColumnDataCollection & Catalog::GetEntry(*this, INVALID_CATALOG, description.schema, description.table); // verify that the table columns and types match up if (description.columns.size() != table_entry.GetColumns().PhysicalColumnCount()) { - throw Exception("Failed to append: table entry has different number of columns!"); + throw InvalidInputException("Failed to append: table entry has different number of columns!"); } for (idx_t i = 0; i < description.columns.size(); i++) { if (description.columns[i].Type() != table_entry.GetColumns().GetColumn(PhysicalIndex(i)).Type()) { - throw Exception("Failed to append: table entry has different number of columns!"); + throw InvalidInputException("Failed to append: table entry has different number of columns!"); } } table_entry.GetStorage().LocalAppend(table_entry, *this, collection); @@ -1019,7 +1029,6 @@ void ClientContext::TryBindRelation(Relation &relation, vector D_ASSERT(!relation.GetAlias().empty()); D_ASSERT(!relation.ToString().empty()); #endif - client_data->http_state = make_shared(); RunFunctionInTransaction([&]() { // bind the expressions auto binder = Binder::CreateBinder(*this); @@ -1087,7 +1096,7 @@ unique_ptr ClientContext::Execute(const shared_ptr &relat auto &expected_columns = relation->Columns(); auto pending = PendingQueryInternal(*lock, relation, false); if (!pending->success) { - return make_uniq(pending->GetErrorObject()); + return ErrorResult(pending->GetErrorObject()); } unique_ptr result; @@ -1123,7 +1132,7 @@ unique_ptr ClientContext::Execute(const shared_ptr &relat err_str += result->names[i] + " " + result->types[i].ToString(); } err_str += "]"; - return make_uniq(PreservedError(err_str)); + return ErrorResult(ErrorData(err_str)); } bool ClientContext::TryGetCurrentSetting(const std::string &key, Value &result) { diff --git a/src/main/client_data.cpp b/src/main/client_data.cpp index 8553a65ef69d..5b061f1da112 100644 --- a/src/main/client_data.cpp +++ b/src/main/client_data.cpp @@ -35,7 +35,6 @@ class ClientFileSystem : public OpenerFileSystem { ClientData::ClientData(ClientContext &context) : catalog_search_path(make_uniq(context)) { auto &db = DatabaseInstance::GetDatabase(context); profiler = make_shared(context); - query_profiler_history = make_uniq(); temporary_objects = make_shared(db, AttachedDatabaseType::TEMP_DATABASE); temporary_objects->oid = DatabaseManager::Get(db).ModifyCatalog(); random_engine = make_uniq(); diff --git a/src/main/client_verify.cpp b/src/main/client_verify.cpp index 8244eb798514..f31a6fc52b4b 100644 --- a/src/main/client_verify.cpp +++ b/src/main/client_verify.cpp @@ -1,4 +1,4 @@ -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb/main/client_context.hpp" #include "duckdb/parser/statement/explain_statement.hpp" #include "duckdb/verification/statement_verifier.hpp" @@ -21,11 +21,16 @@ static void ThrowIfExceptionIsInternal(StatementVerifier &verifier) { } } -PreservedError ClientContext::VerifyQuery(ClientContextLock &lock, const string &query, - unique_ptr statement) { +ErrorData ClientContext::VerifyQuery(ClientContextLock &lock, const string &query, unique_ptr statement) { D_ASSERT(statement->type == StatementType::SELECT_STATEMENT); // Aggressive query verification +#ifdef DUCKDB_RUN_SLOW_VERIFIERS + bool run_slow_verifiers = true; +#else + bool run_slow_verifiers = false; +#endif + // The purpose of this function is to test correctness of otherwise hard to test features: // Copy() of statements and expressions // Serialize()/Deserialize() of expressions @@ -37,16 +42,28 @@ PreservedError ClientContext::VerifyQuery(ClientContextLock &lock, const string const auto &stmt = *statement; vector> statement_verifiers; unique_ptr prepared_statement_verifier; + + // Base Statement verifiers: these are the verifiers we enable for regular builds if (config.query_verification_enabled) { statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::COPIED, stmt)); statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::DESERIALIZED, stmt)); statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::UNOPTIMIZED, stmt)); prepared_statement_verifier = StatementVerifier::Create(VerificationType::PREPARED, stmt); + } + + // This verifier is enabled explicitly OR by enabling run_slow_verifiers + if (config.verify_fetch_row || (run_slow_verifiers && config.query_verification_enabled)) { + statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::FETCH_ROW_AS_SCAN, stmt)); + } + + // For the DEBUG_ASYNC build we enable this extra verifier #ifdef DUCKDB_DEBUG_ASYNC_SINK_SOURCE - // This verification is quite slow, so we only run it for the async sink/source debug mode + if (config.query_verification_enabled) { statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::NO_OPERATOR_CACHING, stmt)); -#endif } +#endif + + // Verify external always needs to be explicitly enabled and is never part of default verifier set if (config.verify_external) { statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::EXTERNAL, stmt)); } @@ -115,8 +132,9 @@ PreservedError ClientContext::VerifyQuery(ClientContextLock &lock, const string try { RunStatementInternal(lock, explain_q, std::move(explain_stmt), false, false); } catch (std::exception &ex) { // LCOV_EXCL_START + ErrorData error(ex); interrupted = false; - return PreservedError("EXPLAIN failed but query did not (" + string(ex.what()) + ")"); + return ErrorData("EXPLAIN failed but query did not (" + error.RawMessage() + ")"); } // LCOV_EXCL_STOP #ifdef DUCKDB_VERIFY_BOX_RENDERER @@ -142,11 +160,11 @@ PreservedError ClientContext::VerifyQuery(ClientContextLock &lock, const string for (auto &verifier : statement_verifiers) { auto result = original->CompareResults(*verifier); if (!result.empty()) { - return PreservedError(result); + return ErrorData(result); } } - return PreservedError(); + return ErrorData(); } } // namespace duckdb diff --git a/src/main/config.cpp b/src/main/config.cpp index ee8f3d2b10b0..2dc67e40eac6 100644 --- a/src/main/config.cpp +++ b/src/main/config.cpp @@ -54,6 +54,7 @@ bool DBConfigOptions::debug_print_bindings = false; { nullptr, nullptr, LogicalTypeId::INVALID, nullptr, nullptr, nullptr, nullptr, nullptr } static ConfigurationOption internal_options[] = {DUCKDB_GLOBAL(AccessModeSetting), + DUCKDB_GLOBAL(AllowPersistentSecrets), DUCKDB_GLOBAL(CheckpointThresholdSetting), DUCKDB_GLOBAL(DebugCheckpointAbort), DUCKDB_LOCAL(DebugForceExternal), @@ -69,8 +70,8 @@ static ConfigurationOption internal_options[] = {DUCKDB_GLOBAL(AccessModeSetting DUCKDB_GLOBAL(EnableExternalAccessSetting), DUCKDB_GLOBAL(EnableFSSTVectors), DUCKDB_GLOBAL(AllowUnsignedExtensionsSetting), - DUCKDB_LOCAL(CustomExtensionRepository), - DUCKDB_LOCAL(AutoloadExtensionRepository), + DUCKDB_GLOBAL(CustomExtensionRepository), + DUCKDB_GLOBAL(AutoloadExtensionRepository), DUCKDB_GLOBAL(AutoinstallKnownExtensions), DUCKDB_GLOBAL(AutoloadKnownExtensions), DUCKDB_GLOBAL(EnableObjectCacheSetting), @@ -78,6 +79,7 @@ static ConfigurationOption internal_options[] = {DUCKDB_GLOBAL(AccessModeSetting DUCKDB_LOCAL(EnableProfilingSetting), DUCKDB_LOCAL(EnableProgressBarSetting), DUCKDB_LOCAL(EnableProgressBarPrintSetting), + DUCKDB_LOCAL(ErrorsAsJsonSetting), DUCKDB_LOCAL(ExplainOutputSetting), DUCKDB_GLOBAL(ExtensionDirectorySetting), DUCKDB_GLOBAL(ExternalThreadsSetting), @@ -91,6 +93,7 @@ static ConfigurationOption internal_options[] = {DUCKDB_GLOBAL(AccessModeSetting DUCKDB_LOCAL(IntegerDivisionSetting), DUCKDB_LOCAL(MaximumExpressionDepthSetting), DUCKDB_GLOBAL(MaximumMemorySetting), + DUCKDB_GLOBAL(OldImplicitCasting), DUCKDB_GLOBAL_ALIAS("memory_limit", MaximumMemorySetting), DUCKDB_GLOBAL_ALIAS("null_order", DefaultNullOrderSetting), DUCKDB_LOCAL(OrderedAggregateThreshold), @@ -100,13 +103,14 @@ static ConfigurationOption internal_options[] = {DUCKDB_GLOBAL(AccessModeSetting DUCKDB_LOCAL(PivotLimitSetting), DUCKDB_LOCAL(PreserveIdentifierCase), DUCKDB_GLOBAL(PreserveInsertionOrder), - DUCKDB_LOCAL(ProfilerHistorySize), DUCKDB_LOCAL(ProfileOutputSetting), DUCKDB_LOCAL(ProfilingModeSetting), DUCKDB_LOCAL_ALIAS("profiling_output", ProfileOutputSetting), DUCKDB_LOCAL(ProgressBarTimeSetting), DUCKDB_LOCAL(SchemaSetting), DUCKDB_LOCAL(SearchPathSetting), + DUCKDB_GLOBAL(SecretDirectorySetting), + DUCKDB_GLOBAL(DefaultSecretStorage), DUCKDB_GLOBAL(TempDirectorySetting), DUCKDB_GLOBAL(ThreadsSetting), DUCKDB_GLOBAL(UsernameSetting), @@ -183,6 +187,14 @@ void DBConfig::SetOptionByName(const string &name, const Value &value) { } } +void DBConfig::SetOptionsByName(const case_insensitive_map_t &values) { + for (auto &kv : values) { + auto &name = kv.first; + auto &value = kv.second; + SetOptionByName(name, value); + } +} + void DBConfig::SetOption(DatabaseInstance *db, const ConfigurationOption &option, const Value &value) { lock_guard l(config_lock); if (!option.set_global) { @@ -235,6 +247,10 @@ CastFunctionSet &DBConfig::GetCastFunctions() { return *cast_functions; } +IndexTypeSet &DBConfig::GetIndexTypes() { + return *index_types; +} + void DBConfig::SetDefaultMaxMemory() { auto memory = FileSystem::GetAvailableMemory(); if (memory != DConstants::INVALID_INDEX) { @@ -322,14 +338,6 @@ idx_t DBConfig::GetSystemMaxThreads(FileSystem &fs) { #endif } -void DBConfig::SetDefaultMaxThreads() { -#ifndef DUCKDB_NO_THREADS - options.maximum_threads = GetSystemMaxThreads(*file_system); -#else - options.maximum_threads = 1; -#endif -} - idx_t DBConfig::ParseMemoryLimit(const string &arg) { if (arg[0] == '-' || arg == "null" || arg == "none") { return DConstants::INVALID_INDEX; @@ -376,8 +384,17 @@ idx_t DBConfig::ParseMemoryLimit(const string &arg) { multiplier = 1000LL * 1000LL * 1000LL; } else if (unit == "terabyte" || unit == "terabytes" || unit == "tb" || unit == "t") { multiplier = 1000LL * 1000LL * 1000LL * 1000LL; + } else if (unit == "kib") { + multiplier = 1024LL; + } else if (unit == "mib") { + multiplier = 1024LL * 1024LL; + } else if (unit == "gib") { + multiplier = 1024LL * 1024LL * 1024LL; + } else if (unit == "tib") { + multiplier = 1024LL * 1024LL * 1024LL * 1024LL; } else { - throw ParserException("Unknown unit for memory_limit: %s (expected: b, mb, gb or tb)", unit); + throw ParserException("Unknown unit for memory_limit: %s (expected: KB, MB, GB, TB for 1000^i units or KiB, " + "MiB, GiB, TiB for 1024^i unites)"); } return (idx_t)multiplier * limit; } @@ -421,7 +438,11 @@ OrderByNullType DBConfig::ResolveNullOrder(OrderType order_type, OrderByNullType } const std::string DBConfig::UserAgent() const { - auto user_agent = options.duckdb_api; + auto user_agent = GetDefaultUserAgent(); + + if (!options.duckdb_api.empty()) { + user_agent += " " + options.duckdb_api; + } if (!options.custom_user_agent.empty()) { user_agent += " " + options.custom_user_agent; diff --git a/src/main/connection.cpp b/src/main/connection.cpp index e225c643cd62..432ca9c21727 100644 --- a/src/main/connection.cpp +++ b/src/main/connection.cpp @@ -1,7 +1,6 @@ #include "duckdb/main/connection.hpp" #include "duckdb/common/types/column/column_data_collection.hpp" -#include "duckdb/execution/operator/scan/csv/parallel_csv_reader.hpp" #include "duckdb/function/table/read_csv.hpp" #include "duckdb/main/appender.hpp" #include "duckdb/main/client_context.hpp" @@ -30,7 +29,21 @@ Connection::Connection(DatabaseInstance &database) : context(make_shareddb).RemoveConnection(*context); } @@ -223,21 +236,29 @@ shared_ptr Connection::ReadCSV(const string &csv_file) { return ReadCSV(csv_file, std::move(options)); } -shared_ptr Connection::ReadCSV(const string &csv_file, named_parameter_map_t &&options) { - return make_shared(context, csv_file, std::move(options)); +shared_ptr Connection::ReadCSV(const vector &csv_input, named_parameter_map_t &&options) { + return make_shared(context, csv_input, std::move(options)); +} + +shared_ptr Connection::ReadCSV(const string &csv_input, named_parameter_map_t &&options) { + vector csv_files = {csv_input}; + return ReadCSV(csv_files, std::move(options)); } shared_ptr Connection::ReadCSV(const string &csv_file, const vector &columns) { // parse columns - vector column_list; + named_parameter_map_t options; + child_list_t column_list; for (auto &column : columns) { auto col_list = Parser::ParseColumnList(column, context->GetParserOptions()); if (col_list.LogicalColumnCount() != 1) { throw ParserException("Expected a single column definition"); } - column_list.push_back(std::move(col_list.GetColumnMutable(LogicalIndex(0)))); + auto &col_def = col_list.GetColumnMutable(LogicalIndex(0)); + column_list.push_back({col_def.GetName(), col_def.GetType().ToString()}); } - return make_shared(context, csv_file, std::move(column_list)); + vector files {csv_file}; + return make_shared(context, files, std::move(options)); } shared_ptr Connection::ReadParquet(const string &parquet_file, bool binary_as_string) { diff --git a/src/main/connection_manager.cpp b/src/main/connection_manager.cpp new file mode 100644 index 000000000000..14e7f23a2568 --- /dev/null +++ b/src/main/connection_manager.cpp @@ -0,0 +1,54 @@ +#include "duckdb/main/connection_manager.hpp" +#include "duckdb/common/exception/transaction_exception.hpp" + +namespace duckdb { + +ConnectionManager::ConnectionManager() : is_locking(false) { +} + +void ConnectionManager::AddConnection(ClientContext &context) { + lock_guard lock(connections_lock); + connections.insert(make_pair(&context, weak_ptr(context.shared_from_this()))); +} + +void ConnectionManager::RemoveConnection(ClientContext &context) { + lock_guard lock(connections_lock); + connections.erase(&context); +} + +vector> ConnectionManager::GetConnectionList() { + vector> result; + for (auto &it : connections) { + auto connection = it.second.lock(); + if (!connection) { + connections.erase(it.first); + continue; + } else { + result.push_back(std::move(connection)); + } + } + + return result; +} + +void ConnectionManager::LockClients(vector &client_locks, ClientContext &context) { + { + lock_guard l(lock_clients_lock); + if (is_locking) { + throw TransactionException("Failed to lock clients - another thread is running FORCE CHECKPOINT"); + } + is_locking = true; + } + client_locks.emplace_back(connections_lock, nullptr); + auto connection_list = GetConnectionList(); + for (auto &con : connection_list) { + if (con.get() == &context) { + continue; + } + auto &context_lock = con->context_lock; + client_locks.emplace_back(context_lock, std::move(con)); + } + is_locking = false; +} + +} // namespace duckdb diff --git a/src/main/database.cpp b/src/main/database.cpp index a17413061b3c..61655d4273ac 100644 --- a/src/main/database.cpp +++ b/src/main/database.cpp @@ -9,17 +9,19 @@ #include "duckdb/main/client_context.hpp" #include "duckdb/main/connection_manager.hpp" #include "duckdb/main/database_manager.hpp" +#include "duckdb/main/database_path_and_type.hpp" #include "duckdb/main/error_manager.hpp" #include "duckdb/main/extension_helper.hpp" +#include "duckdb/main/secret/secret_manager.hpp" #include "duckdb/parallel/task_scheduler.hpp" #include "duckdb/parser/parsed_data/attach_info.hpp" +#include "duckdb/planner/extension_callback.hpp" #include "duckdb/storage/object_cache.hpp" #include "duckdb/storage/standard_buffer_manager.hpp" -#include "duckdb/main/database_path_and_type.hpp" #include "duckdb/storage/storage_extension.hpp" #include "duckdb/storage/storage_manager.hpp" #include "duckdb/transaction/transaction_manager.hpp" -#include "duckdb/planner/extension_callback.hpp" +#include "duckdb/execution/index/index_type_set.hpp" #ifndef DUCKDB_NO_THREADS #include "duckdb/common/thread.hpp" @@ -29,21 +31,20 @@ namespace duckdb { DBConfig::DBConfig() { compression_functions = make_uniq(); - cast_functions = make_uniq(); + cast_functions = make_uniq(*this); + index_types = make_uniq(); error_manager = make_uniq(); - options.duckdb_api = StringUtil::Format("duckdb/%s(%s)", DuckDB::LibraryVersion(), DuckDB::Platform()); + secret_manager = make_uniq(); } -DBConfig::DBConfig(std::unordered_map &config_dict, bool read_only) : DBConfig::DBConfig() { +DBConfig::DBConfig(bool read_only) : DBConfig::DBConfig() { if (read_only) { options.access_mode = AccessMode::READ_ONLY; } - for (auto &kv : config_dict) { - string key = kv.first; - string val = kv.second; - auto opt_val = Value(val); - DBConfig::SetOptionByName(key, opt_val); - } +} + +DBConfig::DBConfig(const case_insensitive_map_t &config_dict, bool read_only) : DBConfig::DBConfig(read_only) { + SetOptionsByName(config_dict); } DBConfig::~DBConfig() { @@ -53,6 +54,7 @@ DatabaseInstance::DatabaseInstance() { } DatabaseInstance::~DatabaseInstance() { + GetDatabaseManager().ResetDatabases(); } BufferManager &BufferManager::GetBufferManager(DatabaseInstance &db) { @@ -118,22 +120,13 @@ ConnectionManager &ConnectionManager::Get(DatabaseInstance &db) { return db.GetConnectionManager(); } -ClientContext *ConnectionManager::GetConnection(DatabaseInstance *db) { - for (auto &conn : connections) { - if (conn.first->db.get() == db) { - return conn.first; - } - } - return nullptr; -} - ConnectionManager &ConnectionManager::Get(ClientContext &context) { return ConnectionManager::Get(DatabaseInstance::GetDatabase(context)); } -duckdb::unique_ptr DatabaseInstance::CreateAttachedDatabase(AttachInfo &info, const string &type, - AccessMode access_mode) { - duckdb::unique_ptr attached_database; +unique_ptr DatabaseInstance::CreateAttachedDatabase(ClientContext &context, const AttachInfo &info, + const string &type, AccessMode access_mode) { + unique_ptr attached_database; if (!type.empty()) { // find the storage extension auto extension_name = ExtensionHelper::ApplyExtensionAlias(type); @@ -145,7 +138,7 @@ duckdb::unique_ptr DatabaseInstance::CreateAttachedDatabase(At if (entry->second->attach != nullptr && entry->second->create_transaction_manager != nullptr) { // use storage extension to create the initial database attached_database = make_uniq(*this, Catalog::GetSystemCatalog(*this), *entry->second, - info.name, info, access_mode); + context, info.name, info, access_mode); } else { attached_database = make_uniq(*this, Catalog::GetSystemCatalog(*this), info.name, info.path, access_mode); @@ -163,16 +156,15 @@ void DatabaseInstance::CreateMainDatabase() { info.name = AttachedDatabase::ExtractDatabaseName(config.options.database_path, GetFileSystem()); info.path = config.options.database_path; - auto attached_database = CreateAttachedDatabase(info, config.options.database_type, config.options.access_mode); - auto initial_database = attached_database.get(); + optional_ptr initial_database; { Connection con(*this); con.BeginTransaction(); - db_manager->AddDatabase(*con.context, std::move(attached_database)); + initial_database = + db_manager->AttachDatabase(*con.context, info, config.options.database_type, config.options.access_mode); con.Commit(); } - // initialize the database initial_database->SetInitialDatabase(); initial_database->Initialize(); } @@ -193,12 +185,16 @@ void DatabaseInstance::Initialize(const char *database_path, DBConfig *user_conf config_ptr = user_config; } + if (config_ptr->options.duckdb_api.empty()) { + config_ptr->SetOptionByName("duckdb_api", "cpp"); + } + if (config_ptr->options.temporary_directory.empty() && database_path) { // no directory specified: use default temp path config_ptr->options.temporary_directory = string(database_path) + ".tmp"; // special treatment for in-memory mode - if (strcmp(database_path, ":memory:") == 0) { + if (strcmp(database_path, IN_MEMORY_PATH) == 0) { config_ptr->options.temporary_directory = ".tmp"; } } @@ -208,6 +204,7 @@ void DatabaseInstance::Initialize(const char *database_path, DBConfig *user_conf } else { config_ptr->options.database_path.clear(); } + Configure(*config_ptr); if (user_config && !user_config->options.use_temporary_directory) { @@ -221,12 +218,11 @@ void DatabaseInstance::Initialize(const char *database_path, DBConfig *user_conf object_cache = make_uniq(); connection_manager = make_uniq(); - // check if we are opening a standard DuckDB database or an extension database - if (config.options.database_type.empty()) { - auto path_and_type = DBPathAndType::Parse(config.options.database_path, config); - config.options.database_type = path_and_type.type; - config.options.database_path = path_and_type.path; - } + // resolve the type of teh database we are opening + DBPathAndType::ResolveDatabaseType(config.options.database_path, config.options.database_type, config); + + // initialize the secret manager + config.secret_manager->Initialize(*this); // initialize the system catalog db_manager->InitializeSystemCatalog(); @@ -236,7 +232,7 @@ void DatabaseInstance::Initialize(const char *database_path, DBConfig *user_conf if (!config.file_system) { throw InternalException("No file system!?"); } - ExtensionHelper::LoadExternalExtension(*this, *config.file_system, config.options.database_type, nullptr); + ExtensionHelper::LoadExternalExtension(*this, *config.file_system, config.options.database_type); } if (!config.options.unrecognized_options.empty()) { @@ -248,7 +244,8 @@ void DatabaseInstance::Initialize(const char *database_path, DBConfig *user_conf } // only increase thread count after storage init because we get races on catalog otherwise - scheduler->SetThreads(config.options.maximum_threads); + scheduler->SetThreads(config.options.maximum_threads, config.options.external_threads); + scheduler->RelaunchThreads(); } DuckDB::DuckDB(const char *path, DBConfig *new_config) : instance(make_shared()) { @@ -267,11 +264,15 @@ DuckDB::DuckDB(DatabaseInstance &instance_p) : instance(instance_p.shared_from_t DuckDB::~DuckDB() { } +SecretManager &DatabaseInstance::GetSecretManager() { + return *config.secret_manager; +} + BufferManager &DatabaseInstance::GetBufferManager() { return *buffer_manager; } -BufferPool &DatabaseInstance::GetBufferPool() { +BufferPool &DatabaseInstance::GetBufferPool() const { return *config.buffer_pool; } @@ -320,16 +321,20 @@ void DatabaseInstance::Configure(DBConfig &new_config) { if (config.options.access_mode == AccessMode::UNDEFINED) { config.options.access_mode = AccessMode::READ_WRITE; } + config.extension_parameters = new_config.extension_parameters; if (new_config.file_system) { config.file_system = std::move(new_config.file_system); } else { config.file_system = make_uniq(); } + if (new_config.secret_manager) { + config.secret_manager = std::move(new_config.secret_manager); + } if (config.options.maximum_memory == (idx_t)-1) { config.SetDefaultMaxMemory(); } if (new_config.options.maximum_threads == (idx_t)-1) { - config.SetDefaultMaxThreads(); + config.options.maximum_threads = config.GetSystemMaxThreads(*config.file_system); } config.allocator = std::move(new_config.allocator); if (!config.allocator) { diff --git a/src/main/database_manager.cpp b/src/main/database_manager.cpp index 486e6b118028..77f5448a5367 100644 --- a/src/main/database_manager.cpp +++ b/src/main/database_manager.cpp @@ -1,9 +1,13 @@ #include "duckdb/main/database_manager.hpp" + #include "duckdb/catalog/catalog.hpp" +#include "duckdb/catalog/catalog_search_path.hpp" #include "duckdb/main/attached_database.hpp" -#include "duckdb/storage/storage_manager.hpp" #include "duckdb/main/client_data.hpp" -#include "duckdb/catalog/catalog_search_path.hpp" +#include "duckdb/main/database.hpp" +#include "duckdb/main/database_path_and_type.hpp" +#include "duckdb/main/extension_helper.hpp" +#include "duckdb/storage/storage_manager.hpp" namespace duckdb { @@ -30,16 +34,29 @@ optional_ptr DatabaseManager::GetDatabase(ClientContext &conte return reinterpret_cast(databases->GetEntry(context, name).get()); } -void DatabaseManager::AddDatabase(ClientContext &context, unique_ptr db_instance) { - auto name = db_instance->GetName(); - db_instance->oid = ModifyCatalog(); +optional_ptr DatabaseManager::AttachDatabase(ClientContext &context, const AttachInfo &info, + const string &db_type, AccessMode access_mode) { + // now create the attached database + auto &db = DatabaseInstance::GetDatabase(context); + auto attached_db = db.CreateAttachedDatabase(context, info, db_type, access_mode); + + if (db_type.empty()) { + InsertDatabasePath(context, info.path, attached_db->name); + } + + const auto name = attached_db->GetName(); + attached_db->oid = ModifyCatalog(); DependencyList dependencies; if (default_database.empty()) { default_database = name; } - if (!databases->CreateEntry(context, name, std::move(db_instance), dependencies)) { + + // and add it to the databases catalog set + if (!databases->CreateEntry(context, name, std::move(attached_db), dependencies)) { throw BinderException("Failed to attach database: database with name \"%s\" already exists", name); } + + return GetDatabase(context, name); } void DatabaseManager::DetachDatabase(ClientContext &context, const string &name, OnEntryNotFound if_not_found) { @@ -48,6 +65,7 @@ void DatabaseManager::DetachDatabase(ClientContext &context, const string &name, "database using `USE` to allow detaching this database", name); } + if (!databases->DropEntry(context, name, false, true)) { if (if_not_found == OnEntryNotFound::THROW_EXCEPTION) { throw BinderException("Failed to detach database with name \"%s\": database not found", name); @@ -56,8 +74,8 @@ void DatabaseManager::DetachDatabase(ClientContext &context, const string &name, } optional_ptr DatabaseManager::GetDatabaseFromPath(ClientContext &context, const string &path) { - auto databases = GetDatabases(context); - for (auto &db_ref : databases) { + auto database_list = GetDatabases(context); + for (auto &db_ref : database_list) { auto &db = db_ref.get(); if (db.IsSystem()) { continue; @@ -74,6 +92,82 @@ optional_ptr DatabaseManager::GetDatabaseFromPath(ClientContex return nullptr; } +void DatabaseManager::CheckPathConflict(ClientContext &context, const string &path) { + // ensure that we did not already attach a database with the same path + bool path_exists; + { + lock_guard path_lock(db_paths_lock); + path_exists = db_paths.find(path) != db_paths.end(); + } + if (path_exists) { + // check that the database is actually still attached + auto entry = GetDatabaseFromPath(context, path); + if (entry) { + throw BinderException("Unique file handle conflict: Database \"%s\" is already attached with path \"%s\", ", + entry->name, path); + } + } +} + +void DatabaseManager::InsertDatabasePath(ClientContext &context, const string &path, const string &name) { + if (path.empty() || path == IN_MEMORY_PATH) { + return; + } + + CheckPathConflict(context, path); + lock_guard path_lock(db_paths_lock); + db_paths.insert(path); +} + +void DatabaseManager::EraseDatabasePath(const string &path) { + if (path.empty() || path == IN_MEMORY_PATH) { + return; + } + lock_guard path_lock(db_paths_lock); + auto path_it = db_paths.find(path); + if (path_it != db_paths.end()) { + db_paths.erase(path_it); + } +} + +void DatabaseManager::GetDatabaseType(ClientContext &context, string &db_type, AttachInfo &info, const DBConfig &config, + const string &unrecognized_option) { + + // duckdb database file + if (StringUtil::CIEquals(db_type, "DUCKDB")) { + db_type = ""; + + // DUCKDB format does not allow unrecognized options + if (!unrecognized_option.empty()) { + throw BinderException("Unrecognized option for attach \"%s\"", unrecognized_option); + } + return; + } + + // try to extract database type from path + if (db_type.empty()) { + CheckPathConflict(context, info.path); + + DBPathAndType::CheckMagicBytes(info.path, db_type, config); + } + + // if we are loading a database type from an extension - check if that extension is loaded + if (!db_type.empty()) { + if (!Catalog::TryAutoLoad(context, db_type)) { + // FIXME: Here it might be preferable to use an AutoLoadOrThrow kind of function + // so that either there will be success or a message to throw, and load will be + // attempted only once respecting the auto-loading options + ExtensionHelper::LoadExternalExtension(context, db_type); + } + return; + } + + // DUCKDB format does not allow unrecognized options + if (!unrecognized_option.empty()) { + throw BinderException("Unrecognized option for attach \"%s\"", unrecognized_option); + } +} + const string &DatabaseManager::GetDefaultDatabase(ClientContext &context) { auto &config = ClientData::Get(context); auto &default_entry = config.catalog_search_path->GetDefault(); @@ -111,6 +205,10 @@ vector> DatabaseManager::GetDatabases(ClientContext return result; } +void DatabaseManager::ResetDatabases() { + databases.reset(); +} + Catalog &DatabaseManager::GetSystemCatalog() { D_ASSERT(system); return system->GetCatalog(); diff --git a/src/main/database_path_and_type.cpp b/src/main/database_path_and_type.cpp index 64f1f9cee426..3accb4e2ea27 100644 --- a/src/main/database_path_and_type.cpp +++ b/src/main/database_path_and_type.cpp @@ -5,19 +5,38 @@ namespace duckdb { -DBPathAndType DBPathAndType::Parse(const string &combined_path, const DBConfig &config) { - auto extension = ExtensionHelper::ExtractExtensionPrefixFromPath(combined_path); +void DBPathAndType::ExtractExtensionPrefix(string &path, string &db_type) { + auto extension = ExtensionHelper::ExtractExtensionPrefixFromPath(path); if (!extension.empty()) { // path is prefixed with an extension - remove it - auto path = StringUtil::Replace(combined_path, extension + ":", ""); - auto type = ExtensionHelper::ApplyExtensionAlias(extension); - return {path, type}; + path = StringUtil::Replace(path, extension + ":", ""); + db_type = ExtensionHelper::ApplyExtensionAlias(extension); } +} + +void DBPathAndType::CheckMagicBytes(string &path, string &db_type, const DBConfig &config) { // if there isn't - check the magic bytes of the file (if any) - auto file_type = MagicBytes::CheckMagicBytes(config.file_system.get(), combined_path); + auto file_type = MagicBytes::CheckMagicBytes(config.file_system.get(), path); if (file_type == DataFileType::SQLITE_FILE) { - return {combined_path, "sqlite"}; + db_type = "sqlite"; + } else { + db_type = ""; } - return {combined_path, string()}; } + +void DBPathAndType::ResolveDatabaseType(string &path, string &db_type, const DBConfig &config) { + if (!db_type.empty()) { + // database type specified explicitly - no need to check + return; + } + // check for an extension prefix + ExtractExtensionPrefix(path, db_type); + if (!db_type.empty()) { + // extension prefix was provided (e.g. sqlite:/path/to/file.db) - we are done + return; + } + // check database type by reading the magic bytes of a file + DBPathAndType::CheckMagicBytes(path, db_type, config); +} + } // namespace duckdb diff --git a/src/main/db_instance_cache.cpp b/src/main/db_instance_cache.cpp index 41012f559ab0..342af27f3c75 100644 --- a/src/main/db_instance_cache.cpp +++ b/src/main/db_instance_cache.cpp @@ -6,9 +6,9 @@ namespace duckdb { string GetDBAbsolutePath(const string &database_p, FileSystem &fs) { auto database = FileSystem::ExpandPath(database_p, nullptr); if (database.empty()) { - return ":memory:"; + return IN_MEMORY_PATH; } - if (database.rfind(":memory:", 0) == 0) { + if (database.rfind(IN_MEMORY_PATH, 0) == 0) { // this is a memory db, just return it. return database; } @@ -63,8 +63,8 @@ shared_ptr DBInstanceCache::CreateInstanceInternal(const string &databas } // Creates new instance string instance_path = abs_database_path; - if (abs_database_path.rfind(":memory:", 0) == 0) { - instance_path = ":memory:"; + if (abs_database_path.rfind(IN_MEMORY_PATH, 0) == 0) { + instance_path = IN_MEMORY_PATH; } auto db_instance = make_shared(instance_path, &config); if (cache_instance) { diff --git a/src/main/error_manager.cpp b/src/main/error_manager.cpp index 14038198315d..ece4ce439343 100644 --- a/src/main/error_manager.cpp +++ b/src/main/error_manager.cpp @@ -1,6 +1,7 @@ #include "duckdb/main/error_manager.hpp" #include "duckdb/main/config.hpp" #include "utf8proc_wrapper.hpp" +#include "duckdb/common/exception/list.hpp" namespace duckdb { @@ -34,12 +35,12 @@ string ErrorManager::FormatExceptionRecursive(ErrorType error_type, vectorExtensionIsLoaded(extension_name)) { + return ExtensionHelper::AutoLoadExtension(*context.db, extension_name); +} + +void ExtensionHelper::AutoLoadExtension(DatabaseInstance &db, const string &extension_name) { + if (db.ExtensionIsLoaded(extension_name)) { // Avoid downloading again return; } - auto &dbconfig = DBConfig::GetConfig(context); + auto &dbconfig = DBConfig::GetConfig(db); try { + auto fs = FileSystem::CreateLocal(); #ifndef DUCKDB_WASM if (dbconfig.options.autoinstall_known_extensions) { - ExtensionHelper::InstallExtension(context, extension_name, false, - context.config.autoinstall_extension_repo); + ExtensionHelper::InstallExtension(db.config, *fs, extension_name, false, + dbconfig.options.autoinstall_extension_repo); } #endif - ExtensionHelper::LoadExternalExtension(context, extension_name); - } catch (Exception &e) { - throw AutoloadException(extension_name, e); + ExtensionHelper::LoadExternalExtension(db, *fs, extension_name); + } catch (std::exception &e) { + ErrorData error(e); + throw AutoloadException(extension_name, error.RawMessage()); } } @@ -341,13 +347,6 @@ ExtensionLoadResult ExtensionHelper::LoadExtensionInternal(DuckDB &db, const std db.LoadExtension(); #else return ExtensionLoadResult::NOT_LOADED; -#endif - } else if (extension == "visualizer") { -#if DUCKDB_EXTENSION_VISUALIZER_LINKED - db.LoadExtension(); -#else - // visualizer extension required but not build: skip this test - return ExtensionLoadResult::NOT_LOADED; #endif } else if (extension == "json") { #if DUCKDB_EXTENSION_JSON_LINKED diff --git a/src/main/extension/extension_install.cpp b/src/main/extension/extension_install.cpp index 95d0c2e4d23b..418a298db343 100644 --- a/src/main/extension/extension_install.cpp +++ b/src/main/extension/extension_install.cpp @@ -1,7 +1,8 @@ -#include "duckdb/main/extension_helper.hpp" #include "duckdb/common/gzip_file_system.hpp" #include "duckdb/common/types/uuid.hpp" #include "duckdb/common/string_util.hpp" +#include "duckdb/common/exception/http_exception.hpp" +#include "duckdb/main/extension_helper.hpp" #ifndef DISABLE_DUCKDB_REMOTE_INSTALL #ifndef DUCKDB_DISABLE_EXTENSION_LOAD @@ -40,7 +41,21 @@ const string ExtensionHelper::GetVersionDirectoryName() { } const vector ExtensionHelper::PathComponents() { - return vector {".duckdb", "extensions", GetVersionDirectoryName(), DuckDB::Platform()}; + return vector {GetVersionDirectoryName(), DuckDB::Platform()}; +} + +duckdb::string ExtensionHelper::DefaultExtensionFolder(FileSystem &fs) { + string home_directory = fs.GetHomeDirectory(); + // exception if the home directory does not exist, don't create whatever we think is home + if (!fs.DirectoryExists(home_directory)) { + throw IOException("Can't find the home directory at '%s'\nSpecify a home directory using the SET " + "home_directory='/path/to/dir' option.", + home_directory); + } + string res = home_directory; + res = fs.JoinPath(res, ".duckdb"); + res = fs.JoinPath(res, "extensions"); + return res; } string ExtensionHelper::ExtensionDirectory(DBConfig &config, FileSystem &fs) { @@ -52,6 +67,10 @@ string ExtensionHelper::ExtensionDirectory(DBConfig &config, FileSystem &fs) { extension_directory = config.options.extension_directory; // TODO this should probably live in the FileSystem // convert random separators to platform-canonic + } else { // otherwise default to home + extension_directory = DefaultExtensionFolder(fs); + } + { extension_directory = fs.ConvertSeparators(extension_directory); // expand ~ in extension directory extension_directory = fs.ExpandPath(extension_directory); @@ -70,15 +89,6 @@ string ExtensionHelper::ExtensionDirectory(DBConfig &config, FileSystem &fs) { } } } - } else { // otherwise default to home - string home_directory = fs.GetHomeDirectory(); - // exception if the home directory does not exist, don't create whatever we think is home - if (!fs.DirectoryExists(home_directory)) { - throw IOException("Can't find the home directory at '%s'\nSpecify a home directory using the SET " - "home_directory='/path/to/dir' option.", - home_directory); - } - extension_directory = home_directory; } D_ASSERT(fs.DirectoryExists(extension_directory)); @@ -99,6 +109,7 @@ string ExtensionHelper::ExtensionDirectory(ClientContext &context) { } bool ExtensionHelper::CreateSuggestions(const string &extension_name, string &message) { + auto lowercase_extension_name = StringUtil::Lower(extension_name); vector candidates; for (idx_t ext_count = ExtensionHelper::DefaultExtensionCount(), i = 0; i < ext_count; i++) { candidates.emplace_back(ExtensionHelper::GetDefaultExtension(i).name); @@ -106,10 +117,10 @@ bool ExtensionHelper::CreateSuggestions(const string &extension_name, string &me for (idx_t ext_count = ExtensionHelper::ExtensionAliasCount(), i = 0; i < ext_count; i++) { candidates.emplace_back(ExtensionHelper::GetExtensionAlias(i).alias); } - auto closest_extensions = StringUtil::TopNLevenshtein(candidates, extension_name); + auto closest_extensions = StringUtil::TopNLevenshtein(candidates, lowercase_extension_name); message = StringUtil::CandidatesMessage(closest_extensions, "Candidate extensions"); for (auto &closest : closest_extensions) { - if (closest == extension_name) { + if (closest == lowercase_extension_name) { message = "Extension \"" + extension_name + "\" is an existing extension.\n"; return true; } @@ -124,7 +135,7 @@ void ExtensionHelper::InstallExtension(DBConfig &config, FileSystem &fs, const s return; #endif string local_path = ExtensionDirectory(config, fs); - InstallExtensionInternal(config, nullptr, fs, local_path, extension, force_install, repository); + InstallExtensionInternal(config, fs, local_path, extension, force_install, repository); } void ExtensionHelper::InstallExtension(ClientContext &context, const string &extension, bool force_install, @@ -136,8 +147,7 @@ void ExtensionHelper::InstallExtension(ClientContext &context, const string &ext auto &config = DBConfig::GetConfig(context); auto &fs = FileSystem::GetFileSystem(context); string local_path = ExtensionDirectory(context); - auto &client_config = ClientConfig::GetConfig(context); - InstallExtensionInternal(config, &client_config, fs, local_path, extension, force_install, repository); + InstallExtensionInternal(config, fs, local_path, extension, force_install, repository); } unsafe_unique_array ReadExtensionFileFromDisk(FileSystem &fs, const string &path, idx_t &file_size) { @@ -157,7 +167,7 @@ void WriteExtensionFileToDisk(FileSystem &fs, const string &path, void *data, id target_file.reset(); } -string ExtensionHelper::ExtensionUrlTemplate(optional_ptr client_config, const string &repository) { +string ExtensionHelper::ExtensionUrlTemplate(optional_ptr db_config, const string &repository) { string versioned_path = "/${REVISION}/${PLATFORM}/${NAME}.duckdb_extension"; #ifdef WASM_LOADABLE_EXTENSIONS string default_endpoint = "https://extensions.duckdb.org"; @@ -166,7 +176,7 @@ string ExtensionHelper::ExtensionUrlTemplate(optional_ptr cl string default_endpoint = "http://extensions.duckdb.org"; versioned_path = versioned_path + ".gz"; #endif - string custom_endpoint = client_config ? client_config->custom_extension_repo : string(); + string custom_endpoint = db_config ? db_config->options.custom_extension_repo : string(); string endpoint; if (!repository.empty()) { endpoint = repository; @@ -186,9 +196,8 @@ string ExtensionHelper::ExtensionFinalizeUrlTemplate(const string &url_template, return url; } -void ExtensionHelper::InstallExtensionInternal(DBConfig &config, ClientConfig *client_config, FileSystem &fs, - const string &local_path, const string &extension, bool force_install, - const string &repository) { +void ExtensionHelper::InstallExtensionInternal(DBConfig &config, FileSystem &fs, const string &local_path, + const string &extension, bool force_install, const string &repository) { #ifdef DUCKDB_DISABLE_EXTENSION_LOAD throw PermissionException("Installing external extensions is disabled through a compile time flag"); #else @@ -228,7 +237,7 @@ void ExtensionHelper::InstallExtensionInternal(DBConfig &config, ClientConfig *c throw BinderException("Remote extension installation is disabled through configuration"); #else - string url_template = ExtensionUrlTemplate(client_config, repository); + string url_template = ExtensionUrlTemplate(&config, repository); if (is_http_url) { url_template = extension; @@ -273,8 +282,8 @@ void ExtensionHelper::InstallExtensionInternal(DBConfig &config, ClientConfig *c auto url_base = "http://" + hostname_without_http; duckdb_httplib::Client cli(url_base.c_str()); - duckdb_httplib::Headers headers = {{"User-Agent", StringUtil::Format("DuckDB %s %s %s", DuckDB::LibraryVersion(), - DuckDB::SourceID(), DuckDB::Platform())}}; + duckdb_httplib::Headers headers = { + {"User-Agent", StringUtil::Format("%s %s", config.UserAgent(), DuckDB::SourceID())}}; auto res = cli.Get(url_local_part.c_str(), headers); diff --git a/src/main/extension/extension_load.cpp b/src/main/extension/extension_load.cpp index 80d24c29828b..a001f2b9979e 100644 --- a/src/main/extension/extension_load.cpp +++ b/src/main/extension/extension_load.cpp @@ -58,8 +58,7 @@ static void ComputeSHA256FileSegment(FileHandle *handle, const idx_t start, cons #endif bool ExtensionHelper::TryInitialLoad(DBConfig &config, FileSystem &fs, const string &extension, - ExtensionInitResult &result, string &error, - optional_ptr client_config) { + ExtensionInitResult &result, string &error) { #ifdef DUCKDB_DISABLE_EXTENSION_LOAD throw PermissionException("Loading external extensions is disabled through a compile time flag"); #else @@ -72,7 +71,7 @@ bool ExtensionHelper::TryInitialLoad(DBConfig &config, FileSystem &fs, const str if (!ExtensionHelper::IsFullPath(extension)) { string extension_name = ApplyExtensionAlias(extension); #ifdef WASM_LOADABLE_EXTENSIONS - string url_template = ExtensionUrlTemplate(client_config, ""); + string url_template = ExtensionUrlTemplate(&config, ""); string url = ExtensionFinalizeUrlTemplate(url_template, extension_name); char *str = (char *)EM_ASM_PTR( @@ -95,8 +94,8 @@ bool ExtensionHelper::TryInitialLoad(DBConfig &config, FileSystem &fs, const str filename = address; #else - string local_path = - !config.options.extension_directory.empty() ? config.options.extension_directory : fs.GetHomeDirectory(); + string local_path = !config.options.extension_directory.empty() ? config.options.extension_directory + : ExtensionHelper::DefaultExtensionFolder(fs); // convert random separators to platform-canonic local_path = fs.ConvertSeparators(local_path); @@ -108,6 +107,8 @@ bool ExtensionHelper::TryInitialLoad(DBConfig &config, FileSystem &fs, const str } filename = fs.JoinPath(local_path, extension_name + ".duckdb_extension"); #endif + } else { + filename = fs.ExpandPath(filename); } if (!fs.FileExists(filename)) { string message; @@ -178,7 +179,7 @@ bool ExtensionHelper::TryInitialLoad(DBConfig &config, FileSystem &fs, const str throw IOException(config.error_manager->FormatException(ErrorType::UNSIGNED_EXTENSION, filename)); } } - auto basename = fs.ExtractBaseName(filename); + auto filebase = fs.ExtractBaseName(filename); #ifdef WASM_LOADABLE_EXTENSIONS EM_ASM( @@ -196,8 +197,8 @@ bool ExtensionHelper::TryInitialLoad(DBConfig &config, FileSystem &fs, const str // Here we add the uInt8Array to Emscripten's filesystem, for it to be found by dlopen FS.writeFile(UTF8ToString($1), new Uint8Array(uInt8Array)); }, - filename.c_str(), basename.c_str()); - auto dopen_from = basename; + filename.c_str(), filebase.c_str()); + auto dopen_from = filebase; #else auto dopen_from = filename; #endif @@ -207,8 +208,10 @@ bool ExtensionHelper::TryInitialLoad(DBConfig &config, FileSystem &fs, const str throw IOException("Extension \"%s\" could not be loaded: %s", filename, GetDLError()); } + auto lowercase_extension_name = StringUtil::Lower(filebase); + ext_version_fun_t version_fun; - auto version_fun_name = basename + "_version"; + auto version_fun_name = lowercase_extension_name + "_version"; version_fun = LoadFunctionFromDLL(lib_hdl, version_fun_name, filename); @@ -235,25 +238,24 @@ bool ExtensionHelper::TryInitialLoad(DBConfig &config, FileSystem &fs, const str extension_version, engine_version); } - result.basename = basename; + result.filebase = lowercase_extension_name; result.filename = filename; result.lib_hdl = lib_hdl; return true; #endif } -ExtensionInitResult ExtensionHelper::InitialLoad(DBConfig &config, FileSystem &fs, const string &extension, - optional_ptr client_config) { +ExtensionInitResult ExtensionHelper::InitialLoad(DBConfig &config, FileSystem &fs, const string &extension) { string error; ExtensionInitResult result; - if (!TryInitialLoad(config, fs, extension, result, error, client_config)) { + if (!TryInitialLoad(config, fs, extension, result, error)) { if (!ExtensionHelper::AllowAutoInstall(extension)) { throw IOException(error); } // the extension load failed - try installing the extension ExtensionHelper::InstallExtension(config, fs, extension, false); // try loading again - if (!TryInitialLoad(config, fs, extension, result, error, client_config)) { + if (!TryInitialLoad(config, fs, extension, result, error)) { throw IOException(error); } } @@ -281,16 +283,15 @@ string ExtensionHelper::GetExtensionName(const string &original_name) { return ExtensionHelper::ApplyExtensionAlias(splits.front()); } -void ExtensionHelper::LoadExternalExtension(DatabaseInstance &db, FileSystem &fs, const string &extension, - optional_ptr client_config) { +void ExtensionHelper::LoadExternalExtension(DatabaseInstance &db, FileSystem &fs, const string &extension) { if (db.ExtensionIsLoaded(extension)) { return; } #ifdef DUCKDB_DISABLE_EXTENSION_LOAD throw PermissionException("Loading external extensions is disabled through a compile time flag"); #else - auto res = InitialLoad(DBConfig::GetConfig(db), fs, extension, client_config); - auto init_fun_name = res.basename + "_init"; + auto res = InitialLoad(DBConfig::GetConfig(db), fs, extension); + auto init_fun_name = res.filebase + "_init"; ext_init_fun_t init_fun; init_fun = LoadFunctionFromDLL(res.lib_hdl, init_fun_name, res.filename); @@ -298,8 +299,9 @@ void ExtensionHelper::LoadExternalExtension(DatabaseInstance &db, FileSystem &fs try { (*init_fun)(db); } catch (std::exception &e) { + ErrorData error(e); throw InvalidInputException("Initialization function \"%s\" from file \"%s\" threw an exception: \"%s\"", - init_fun_name, res.filename, e.what()); + init_fun_name, res.filename, error.RawMessage()); } db.SetExtensionLoaded(extension); @@ -307,8 +309,7 @@ void ExtensionHelper::LoadExternalExtension(DatabaseInstance &db, FileSystem &fs } void ExtensionHelper::LoadExternalExtension(ClientContext &context, const string &extension) { - LoadExternalExtension(DatabaseInstance::GetDatabase(context), FileSystem::GetFileSystem(context), extension, - &ClientConfig::GetConfig(context)); + LoadExternalExtension(DatabaseInstance::GetDatabase(context), FileSystem::GetFileSystem(context), extension); } string ExtensionHelper::ExtractExtensionPrefixFromPath(const string &path) { diff --git a/src/main/extension/extension_util.cpp b/src/main/extension/extension_util.cpp index 383e8bbeea21..9d72104c45e6 100644 --- a/src/main/extension/extension_util.cpp +++ b/src/main/extension/extension_util.cpp @@ -12,6 +12,7 @@ #include "duckdb/parser/parsed_data/create_collation_info.hpp" #include "duckdb/catalog/catalog.hpp" #include "duckdb/main/config.hpp" +#include "duckdb/main/secret/secret_manager.hpp" namespace duckdb { @@ -45,6 +46,12 @@ void ExtensionUtil::RegisterFunction(DatabaseInstance &db, AggregateFunctionSet system_catalog.CreateFunction(data, info); } +void ExtensionUtil::RegisterFunction(DatabaseInstance &db, CreateSecretFunction function) { + D_ASSERT(!function.secret_type.empty()); + auto &config = DBConfig::GetConfig(db); + config.secret_manager->RegisterSecretFunction(std::move(function), OnCreateConflict::ERROR_ON_CONFLICT); +} + void ExtensionUtil::RegisterFunction(DatabaseInstance &db, TableFunction function) { D_ASSERT(!function.name.empty()); TableFunctionSet set(function.name); @@ -152,6 +159,11 @@ void ExtensionUtil::RegisterType(DatabaseInstance &db, string type_name, Logical system_catalog.CreateType(data, info); } +void ExtensionUtil::RegisterSecretType(DatabaseInstance &db, SecretType secret_type) { + auto &config = DBConfig::GetConfig(db); + config.secret_manager->RegisterSecretType(secret_type); +} + void ExtensionUtil::RegisterCastFunction(DatabaseInstance &db, const LogicalType &source, const LogicalType &target, BoundCastInfo function, int64_t implicit_cast_cost) { auto &config = DBConfig::GetConfig(db); diff --git a/src/main/materialized_query_result.cpp b/src/main/materialized_query_result.cpp index a3a5d9b3f6bb..85bff412dfb9 100644 --- a/src/main/materialized_query_result.cpp +++ b/src/main/materialized_query_result.cpp @@ -13,7 +13,7 @@ MaterializedQueryResult::MaterializedQueryResult(StatementType statement_type, S collection(std::move(collection_p)), scan_initialized(false) { } -MaterializedQueryResult::MaterializedQueryResult(PreservedError error) +MaterializedQueryResult::MaterializedQueryResult(ErrorData error) : QueryResult(QueryResultType::MATERIALIZED_RESULT, std::move(error)), scan_initialized(false) { } diff --git a/src/main/pending_query_result.cpp b/src/main/pending_query_result.cpp index 02501ca4c639..a112286e2f90 100644 --- a/src/main/pending_query_result.cpp +++ b/src/main/pending_query_result.cpp @@ -11,7 +11,7 @@ PendingQueryResult::PendingQueryResult(shared_ptr context_p, Prep context(std::move(context_p)), allow_stream_result(allow_stream_result) { } -PendingQueryResult::PendingQueryResult(PreservedError error) +PendingQueryResult::PendingQueryResult(ErrorData error) : BaseQueryResult(QueryResultType::PENDING_RESULT, std::move(error)) { } @@ -32,7 +32,7 @@ unique_ptr PendingQueryResult::LockContext() { void PendingQueryResult::CheckExecutableInternal(ClientContextLock &lock) { bool invalidated = HasError() || !context; if (!invalidated) { - invalidated = !context->IsActiveResult(lock, this); + invalidated = !context->IsActiveResult(lock, *this); } if (invalidated) { if (HasError()) { @@ -48,15 +48,30 @@ PendingExecutionResult PendingQueryResult::ExecuteTask() { return ExecuteTaskInternal(*lock); } +PendingExecutionResult PendingQueryResult::CheckPulse() { + auto lock = LockContext(); + CheckExecutableInternal(*lock); + return context->ExecuteTaskInternal(*lock, *this, true); +} + +bool PendingQueryResult::AllowStreamResult() const { + return allow_stream_result; +} + PendingExecutionResult PendingQueryResult::ExecuteTaskInternal(ClientContextLock &lock) { CheckExecutableInternal(lock); - return context->ExecuteTaskInternal(lock, *this); + return context->ExecuteTaskInternal(lock, *this, false); } unique_ptr PendingQueryResult::ExecuteInternal(ClientContextLock &lock) { CheckExecutableInternal(lock); // Busy wait while execution is not finished - while (!IsFinished(ExecuteTaskInternal(lock))) { + if (allow_stream_result) { + while (!IsFinishedOrBlocked(ExecuteTaskInternal(lock))) { + } + } else { + while (!IsFinished(ExecuteTaskInternal(lock))) { + } } if (HasError()) { return make_uniq(error); @@ -76,10 +91,12 @@ void PendingQueryResult::Close() { } bool PendingQueryResult::IsFinished(PendingExecutionResult result) { - if (result == PendingExecutionResult::RESULT_READY || result == PendingExecutionResult::EXECUTION_ERROR) { - return true; - } - return false; + return (result == PendingExecutionResult::RESULT_READY || result == PendingExecutionResult::EXECUTION_ERROR); +} + +bool PendingQueryResult::IsFinishedOrBlocked(PendingExecutionResult result) { + return (result == PendingExecutionResult::RESULT_READY || result == PendingExecutionResult::EXECUTION_ERROR || + result == PendingExecutionResult::BLOCKED); } } // namespace duckdb diff --git a/src/main/prepared_statement.cpp b/src/main/prepared_statement.cpp index a50997c287e2..df955171dd46 100644 --- a/src/main/prepared_statement.cpp +++ b/src/main/prepared_statement.cpp @@ -12,7 +12,7 @@ PreparedStatement::PreparedStatement(shared_ptr context, shared_p D_ASSERT(data || !success); } -PreparedStatement::PreparedStatement(PreservedError error) : context(nullptr), success(false), error(std::move(error)) { +PreparedStatement::PreparedStatement(ErrorData error) : context(nullptr), success(false), error(std::move(error)) { } PreparedStatement::~PreparedStatement() { @@ -23,7 +23,7 @@ const string &PreparedStatement::GetError() { return error.Message(); } -PreservedError &PreparedStatement::GetErrorObject() { +ErrorData &PreparedStatement::GetErrorObject() { return error; } @@ -98,15 +98,15 @@ unique_ptr PreparedStatement::PendingQuery(case_insensitive_ bool allow_stream_result) { if (!success) { auto exception = InvalidInputException("Attempting to execute an unsuccessfully prepared statement!"); - return make_uniq(PreservedError(exception)); + return make_uniq(ErrorData(exception)); } PendingQueryParameters parameters; parameters.parameters = &named_values; try { VerifyParameters(named_values, named_param_map); - } catch (const Exception &ex) { - return make_uniq(PreservedError(ex)); + } catch (const std::exception &ex) { + return make_uniq(ErrorData(ex)); } D_ASSERT(data); diff --git a/src/main/prepared_statement_data.cpp b/src/main/prepared_statement_data.cpp index 4bc356ce822a..ed129d426e66 100644 --- a/src/main/prepared_statement_data.cpp +++ b/src/main/prepared_statement_data.cpp @@ -1,6 +1,7 @@ #include "duckdb/main/prepared_statement_data.hpp" #include "duckdb/execution/physical_operator.hpp" #include "duckdb/parser/sql_statement.hpp" +#include "duckdb/common/exception/binder_exception.hpp" namespace duckdb { @@ -25,6 +26,10 @@ bool PreparedStatementData::RequireRebind(ClientContext &context, optional_ptrfind(identifier); - D_ASSERT(lookup != values->end()); + if (lookup == values->end()) { + break; + } if (lookup->second.type() != it.second->return_type) { return true; } diff --git a/src/main/query_profiler.cpp b/src/main/query_profiler.cpp index 26b17f046257..86c1c0267b8c 100644 --- a/src/main/query_profiler.cpp +++ b/src/main/query_profiler.cpp @@ -9,7 +9,7 @@ #include "duckdb/common/tree_renderer.hpp" #include "duckdb/execution/expression_executor.hpp" #include "duckdb/execution/operator/helper/physical_execute.hpp" -#include "duckdb/execution/operator/join/physical_delim_join.hpp" +#include "duckdb/execution/operator/join/physical_left_delim_join.hpp" #include "duckdb/execution/physical_operator.hpp" #include "duckdb/main/client_config.hpp" #include "duckdb/main/client_context.hpp" @@ -101,7 +101,8 @@ bool QueryProfiler::OperatorRequiresProfiling(PhysicalOperatorType op_type) { case PhysicalOperatorType::CROSS_PRODUCT: case PhysicalOperatorType::PIECEWISE_MERGE_JOIN: case PhysicalOperatorType::IE_JOIN: - case PhysicalOperatorType::DELIM_JOIN: + case PhysicalOperatorType::LEFT_DELIM_JOIN: + case PhysicalOperatorType::RIGHT_DELIM_JOIN: case PhysicalOperatorType::UNION: case PhysicalOperatorType::RECURSIVE_CTE: case PhysicalOperatorType::EMPTY_RESULT: @@ -381,15 +382,14 @@ void QueryProfiler::QueryTreeToStream(std::ostream &ss) const { return; } - if (context.client_data->http_state && !context.client_data->http_state->IsEmpty()) { - string read = - "in: " + StringUtil::BytesToHumanReadableString(context.client_data->http_state->total_bytes_received); - string written = - "out: " + StringUtil::BytesToHumanReadableString(context.client_data->http_state->total_bytes_sent); - string head = "#HEAD: " + to_string(context.client_data->http_state->head_count); - string get = "#GET: " + to_string(context.client_data->http_state->get_count); - string put = "#PUT: " + to_string(context.client_data->http_state->put_count); - string post = "#POST: " + to_string(context.client_data->http_state->post_count); + auto http_state = HTTPState::TryGetState(context, false); + if (http_state && !http_state->IsEmpty()) { + string read = "in: " + StringUtil::BytesToHumanReadableString(http_state->total_bytes_received); + string written = "out: " + StringUtil::BytesToHumanReadableString(http_state->total_bytes_sent); + string head = "#HEAD: " + to_string(http_state->head_count); + string get = "#GET: " + to_string(http_state->get_count); + string put = "#PUT: " + to_string(http_state->put_count); + string post = "#POST: " + to_string(http_state->post_count); constexpr idx_t TOTAL_BOX_WIDTH = 39; ss << "┌─────────────────────────────────────┐\n"; diff --git a/src/main/query_result.cpp b/src/main/query_result.cpp index d5edc4b97594..cd3e3b943ecf 100644 --- a/src/main/query_result.cpp +++ b/src/main/query_result.cpp @@ -13,8 +13,10 @@ BaseQueryResult::BaseQueryResult(QueryResultType type, StatementType statement_t D_ASSERT(types.size() == names.size()); } -BaseQueryResult::BaseQueryResult(QueryResultType type, PreservedError error) +BaseQueryResult::BaseQueryResult(QueryResultType type, ErrorData error) : type(type), success(false), error(std::move(error)) { + // Assert that the error object is initialized + D_ASSERT(this->error.HasError()); } BaseQueryResult::~BaseQueryResult() { @@ -25,13 +27,13 @@ void BaseQueryResult::ThrowError(const string &prepended_message) const { error.Throw(prepended_message); } -void BaseQueryResult::SetError(PreservedError error) { - success = !error; +void BaseQueryResult::SetError(ErrorData error) { + success = !error.HasError(); this->error = std::move(error); } bool BaseQueryResult::HasError() const { - D_ASSERT((bool)error == !success); + D_ASSERT(error.HasError() == !success); return !success; } @@ -44,7 +46,7 @@ const std::string &BaseQueryResult::GetError() { return error.Message(); } -PreservedError &BaseQueryResult::GetErrorObject() { +ErrorData &BaseQueryResult::GetErrorObject() { return error; } @@ -58,13 +60,37 @@ QueryResult::QueryResult(QueryResultType type, StatementType statement_type, Sta client_properties(std::move(client_properties_p)) { } -QueryResult::QueryResult(QueryResultType type, PreservedError error) +QueryResult::QueryResult(QueryResultType type, ErrorData error) : BaseQueryResult(type, std::move(error)), client_properties("UTC", ArrowOffsetSize::REGULAR) { } QueryResult::~QueryResult() { } +void QueryResult::DeduplicateColumns(vector &names) { + unordered_map name_map; + for (auto &column_name : names) { + // put it all lower_case + auto low_column_name = StringUtil::Lower(column_name); + if (name_map.find(low_column_name) == name_map.end()) { + // Name does not exist yet + name_map[low_column_name]++; + } else { + // Name already exists, we add _x where x is the repetition number + string new_column_name = column_name + "_" + std::to_string(name_map[low_column_name]); + auto new_column_name_low = StringUtil::Lower(new_column_name); + while (name_map.find(new_column_name_low) != name_map.end()) { + // This name is already here due to a previous definition + name_map[low_column_name]++; + new_column_name = column_name + "_" + std::to_string(name_map[low_column_name]); + new_column_name_low = StringUtil::Lower(new_column_name); + } + column_name = new_column_name; + name_map[new_column_name_low]++; + } + } +} + const string &QueryResult::ColumnName(idx_t index) const { D_ASSERT(index < names.size()); return names[index]; diff --git a/src/main/relation.cpp b/src/main/relation.cpp index b1d14566b0ba..970ab4a58add 100644 --- a/src/main/relation.cpp +++ b/src/main/relation.cpp @@ -161,15 +161,15 @@ shared_ptr Relation::CrossProduct(const shared_ptr &other, J } shared_ptr Relation::Union(const shared_ptr &other) { - return make_shared(shared_from_this(), other, SetOperationType::UNION); + return make_shared(shared_from_this(), other, SetOperationType::UNION, true); } shared_ptr Relation::Except(const shared_ptr &other) { - return make_shared(shared_from_this(), other, SetOperationType::EXCEPT); + return make_shared(shared_from_this(), other, SetOperationType::EXCEPT, true); } shared_ptr Relation::Intersect(const shared_ptr &other) { - return make_shared(shared_from_this(), other, SetOperationType::INTERSECT); + return make_shared(shared_from_this(), other, SetOperationType::INTERSECT, true); } shared_ptr Relation::Distinct() { @@ -334,11 +334,11 @@ unique_ptr Relation::Explain(ExplainType type) { } void Relation::Update(const string &update, const string &condition) { - throw Exception("UPDATE can only be used on base tables!"); + throw InvalidInputException("UPDATE can only be used on base tables!"); } void Relation::Delete(const string &condition) { - throw Exception("DELETE can only be used on base tables!"); + throw InvalidInputException("DELETE can only be used on base tables!"); } shared_ptr Relation::TableFunction(const std::string &fname, const vector &values, diff --git a/src/main/relation/cross_product_relation.cpp b/src/main/relation/cross_product_relation.cpp index f4bc12a3d4e9..ca3abfbedcfe 100644 --- a/src/main/relation/cross_product_relation.cpp +++ b/src/main/relation/cross_product_relation.cpp @@ -11,7 +11,7 @@ CrossProductRelation::CrossProductRelation(shared_ptr left_p, shared_p : Relation(left_p->context, RelationType::CROSS_PRODUCT_RELATION), left(std::move(left_p)), right(std::move(right_p)), ref_type(ref_type) { if (left->context.GetContext() != right->context.GetContext()) { - throw Exception("Cannot combine LEFT and RIGHT relations of different connections!"); + throw InvalidInputException("Cannot combine LEFT and RIGHT relations of different connections!"); } context.GetContext()->TryBindRelation(*this, this->columns); } diff --git a/src/main/relation/join_relation.cpp b/src/main/relation/join_relation.cpp index 22691cd8f5bf..e1bb0e9d5a7c 100644 --- a/src/main/relation/join_relation.cpp +++ b/src/main/relation/join_relation.cpp @@ -12,7 +12,7 @@ JoinRelation::JoinRelation(shared_ptr left_p, shared_ptr rig : Relation(left_p->context, RelationType::JOIN_RELATION), left(std::move(left_p)), right(std::move(right_p)), condition(std::move(condition_p)), join_type(type), join_ref_type(join_ref_type) { if (left->context.GetContext() != right->context.GetContext()) { - throw Exception("Cannot combine LEFT and RIGHT relations of different connections!"); + throw InvalidInputException("Cannot combine LEFT and RIGHT relations of different connections!"); } context.GetContext()->TryBindRelation(*this, this->columns); } @@ -22,7 +22,7 @@ JoinRelation::JoinRelation(shared_ptr left_p, shared_ptr rig : Relation(left_p->context, RelationType::JOIN_RELATION), left(std::move(left_p)), right(std::move(right_p)), using_columns(std::move(using_columns_p)), join_type(type), join_ref_type(join_ref_type) { if (left->context.GetContext() != right->context.GetContext()) { - throw Exception("Cannot combine LEFT and RIGHT relations of different connections!"); + throw InvalidInputException("Cannot combine LEFT and RIGHT relations of different connections!"); } context.GetContext()->TryBindRelation(*this, this->columns); } diff --git a/src/main/relation/read_csv_relation.cpp b/src/main/relation/read_csv_relation.cpp index fd9ecf5523e1..c657bbc888cd 100644 --- a/src/main/relation/read_csv_relation.cpp +++ b/src/main/relation/read_csv_relation.cpp @@ -1,14 +1,13 @@ #include "duckdb/main/relation/read_csv_relation.hpp" -#include "duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp" -#include "duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp" -#include "duckdb/execution/operator/scan/csv/csv_sniffer.hpp" +#include "duckdb/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.hpp" +#include "duckdb/execution/operator/csv_scanner/sniffer/csv_sniffer.hpp" #include "duckdb/parser/expression/columnref_expression.hpp" #include "duckdb/parser/expression/comparison_expression.hpp" #include "duckdb/parser/expression/constant_expression.hpp" #include "duckdb/parser/expression/function_expression.hpp" #include "duckdb/common/string_util.hpp" -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" #include "duckdb/common/multi_file_reader.hpp" #include "duckdb/parser/expression/star_expression.hpp" #include "duckdb/parser/query_node/select_node.hpp" @@ -17,39 +16,32 @@ namespace duckdb { -ReadCSVRelation::ReadCSVRelation(const shared_ptr &context, const string &csv_file, - vector columns_p, string alias_p) - : TableFunctionRelation(context, "read_csv", {Value(csv_file)}, nullptr, false), alias(std::move(alias_p)), - auto_detect(false) { - - if (alias.empty()) { - alias = StringUtil::Split(csv_file, ".")[0]; - } - - columns = std::move(columns_p); +void ReadCSVRelation::InitializeAlias(const vector &input) { + D_ASSERT(!input.empty()); + const auto &csv_file = input[0]; + alias = StringUtil::Split(csv_file, ".")[0]; +} - child_list_t column_names; - for (idx_t i = 0; i < columns.size(); i++) { - column_names.push_back(make_pair(columns[i].Name(), Value(columns[i].Type().ToString()))); +static Value CreateValueFromFileList(const vector &file_list) { + vector files; + for (auto &file : file_list) { + files.push_back(file); } - - AddNamedParameter("columns", Value::STRUCT(std::move(column_names))); + return Value::LIST(std::move(files)); } -ReadCSVRelation::ReadCSVRelation(const std::shared_ptr &context, const string &csv_file, +ReadCSVRelation::ReadCSVRelation(const std::shared_ptr &context, const vector &input, named_parameter_map_t &&options, string alias_p) - : TableFunctionRelation(context, "read_csv_auto", {Value(csv_file)}, nullptr, false), alias(std::move(alias_p)), - auto_detect(true) { + : TableFunctionRelation(context, "read_csv_auto", {CreateValueFromFileList(input)}, nullptr, false), + alias(std::move(alias_p)) { - if (alias.empty()) { - alias = StringUtil::Split(csv_file, ".")[0]; - } + InitializeAlias(input); - auto files = MultiFileReader::GetFileList(*context, csv_file, "CSV"); + auto file_list = CreateValueFromFileList(input); + auto files = MultiFileReader::GetFileList(*context, file_list, "CSV"); D_ASSERT(!files.empty()); auto &file_name = files[0]; - options["auto_detect"] = Value::BOOLEAN(true); CSVReaderOptions csv_options; csv_options.file_path = file_name; vector empty; @@ -57,12 +49,11 @@ ReadCSVRelation::ReadCSVRelation(const std::shared_ptr &context, vector unused_types; vector unused_names; csv_options.FromNamedParameters(options, *context, unused_types, unused_names); + // Run the auto-detect, populating the options with the detected settings - auto bm_file_handle = BaseCSVReader::OpenCSV(*context, csv_options); - auto buffer_manager = make_shared(*context, std::move(bm_file_handle), csv_options); - CSVStateMachineCache state_machine_cache; - CSVSniffer sniffer(csv_options, buffer_manager, state_machine_cache); + auto buffer_manager = make_shared(*context, csv_options, files[0], 0); + CSVSniffer sniffer(csv_options, buffer_manager, CSVStateMachineCache::Get(*context)); auto sniffer_result = sniffer.SniffCSV(); auto &types = sniffer_result.return_types; auto &names = sniffer_result.names; @@ -70,12 +61,27 @@ ReadCSVRelation::ReadCSVRelation(const std::shared_ptr &context, columns.emplace_back(names[i], types[i]); } - //! Capture the options potentially set/altered by the auto detection phase + // After sniffing we can consider these set, so they are exported as named parameters + // FIXME: This is horribly hacky, should be refactored at some point + csv_options.dialect_options.state_machine_options.escape.ChangeSetByUserTrue(); + csv_options.dialect_options.state_machine_options.delimiter.ChangeSetByUserTrue(); + csv_options.dialect_options.state_machine_options.quote.ChangeSetByUserTrue(); + csv_options.dialect_options.header.ChangeSetByUserTrue(); + csv_options.dialect_options.skip_rows.ChangeSetByUserTrue(); + + // Capture the options potentially set/altered by the auto detection phase csv_options.ToNamedParameters(options); // No need to auto-detect again options["auto_detect"] = Value::BOOLEAN(false); SetNamedParameters(std::move(options)); + + child_list_t column_names; + for (idx_t i = 0; i < columns.size(); i++) { + column_names.push_back(make_pair(columns[i].Name(), Value(columns[i].Type().ToString()))); + } + + AddNamedParameter("columns", Value::STRUCT(std::move(column_names))); } string ReadCSVRelation::GetAlias() { diff --git a/src/main/relation/setop_relation.cpp b/src/main/relation/setop_relation.cpp index c59b6c788929..63b47480c02e 100644 --- a/src/main/relation/setop_relation.cpp +++ b/src/main/relation/setop_relation.cpp @@ -5,11 +5,12 @@ namespace duckdb { -SetOpRelation::SetOpRelation(shared_ptr left_p, shared_ptr right_p, SetOperationType setop_type_p) +SetOpRelation::SetOpRelation(shared_ptr left_p, shared_ptr right_p, SetOperationType setop_type_p, + bool setop_all) : Relation(left_p->context, RelationType::SET_OPERATION_RELATION), left(std::move(left_p)), - right(std::move(right_p)), setop_type(setop_type_p) { + right(std::move(right_p)), setop_type(setop_type_p), setop_all(setop_all) { if (left->context.GetContext() != right->context.GetContext()) { - throw Exception("Cannot combine LEFT and RIGHT relations of different connections!"); + throw InvalidInputException("Cannot combine LEFT and RIGHT relations of different connections!"); } context.GetContext()->TryBindRelation(*this, this->columns); } @@ -22,6 +23,7 @@ unique_ptr SetOpRelation::GetQueryNode() { result->left = left->GetQueryNode(); result->right = right->GetQueryNode(); result->setop_type = setop_type; + result->setop_all = setop_all; return std::move(result); } diff --git a/src/main/secret/CMakeLists.txt b/src/main/secret/CMakeLists.txt new file mode 100644 index 000000000000..e6fdb373b02b --- /dev/null +++ b/src/main/secret/CMakeLists.txt @@ -0,0 +1,5 @@ +add_library_unity(duckdb_main_secret OBJECT secret.cpp secret_manager.cpp + secret_storage.cpp) +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/main/secret/secret.cpp b/src/main/secret/secret.cpp new file mode 100644 index 000000000000..bf92728f8cfb --- /dev/null +++ b/src/main/secret/secret.cpp @@ -0,0 +1,135 @@ +#include "duckdb/main/secret/secret.hpp" +#include "duckdb/parser/parsed_data/create_info.hpp" +#include "duckdb/planner/logical_operator.hpp" +#include "duckdb/common/case_insensitive_map.hpp" +#include "duckdb/common/pair.hpp" + +namespace duckdb { + +int64_t BaseSecret::MatchScore(const string &path) const { + int64_t longest_match = NumericLimits::Minimum(); + for (const auto &prefix : prefix_paths) { + // Handle empty scope which matches all at lowest possible score + if (prefix.empty()) { + longest_match = 0; + continue; + } + if (StringUtil::StartsWith(path, prefix)) { + longest_match = MaxValue(prefix.length(), longest_match); + } + } + return longest_match; +} + +void BaseSecret::SerializeBaseSecret(Serializer &serializer) const { + serializer.WriteProperty(100, "type", type); + serializer.WriteProperty(101, "provider", provider); + serializer.WriteProperty(102, "name", name); + serializer.WriteList(103, "scope", prefix_paths.size(), + [&](Serializer::List &list, idx_t i) { list.WriteElement(prefix_paths[i]); }); +} + +string BaseSecret::ToString(SecretDisplayType display_type) const { + return ""; +} + +void BaseSecret::Serialize(Serializer &serializer) const { + throw InternalException("Attempted to serialize secret without serialize"); +} + +string KeyValueSecret::ToString(SecretDisplayType mode) const { + string result; + + result += "name=" + name + ";"; + result += "type=" + type + ";"; + result += "provider=" + provider + ";"; + result += string("serializable=") + (serializable ? "true" : "false") + ";"; + result += "scope="; + for (const auto &scope_it : prefix_paths) { + result += scope_it + ","; + } + result = result.substr(0, result.size() - 1); + result += ";"; + for (auto it = secret_map.begin(); it != secret_map.end(); it++) { + result.append(it->first); + result.append("="); + if (mode == SecretDisplayType::REDACTED && redact_keys.find(it->first) != redact_keys.end()) { + result.append("redacted"); + } else { + result.append(it->second.ToString()); + } + if (it != --secret_map.end()) { + result.append(";"); + } + } + + return result; +} + +// FIXME: use serialization scripts +void KeyValueSecret::Serialize(Serializer &serializer) const { + BaseSecret::SerializeBaseSecret(serializer); + + vector map_values; + for (auto it = secret_map.begin(); it != secret_map.end(); it++) { + child_list_t map_struct; + map_struct.push_back(make_pair("key", Value(it->first))); + map_struct.push_back(make_pair("value", Value(it->second))); + map_values.push_back(Value::STRUCT(map_struct)); + } + + auto map_type = LogicalType::MAP(LogicalType::VARCHAR, LogicalType::VARCHAR); + auto map = Value::MAP(ListType::GetChildType(map_type), map_values); + serializer.WriteProperty(201, "secret_map", map); + + vector redact_key_values; + for (auto it = redact_keys.begin(); it != redact_keys.end(); it++) { + redact_key_values.push_back(*it); + } + auto list = Value::LIST(LogicalType::VARCHAR, redact_key_values); + serializer.WriteProperty(202, "redact_keys", list); +} + +Value KeyValueSecret::TryGetValue(const string &key, bool error_on_missing) const { + auto lookup = secret_map.find(key); + if (lookup == secret_map.end()) { + if (error_on_missing) { + throw InternalException("Failed to fetch key '%s' from secret '%s' of type '%s'", key, name, type); + } + return Value(); + } + + return lookup->second; +} + +bool CreateSecretFunctionSet::ProviderExists(const string &provider_name) { + return functions.find(provider_name) != functions.end(); +} + +void CreateSecretFunctionSet::AddFunction(CreateSecretFunction &function, OnCreateConflict on_conflict) { + if (ProviderExists(function.provider)) { + if (on_conflict == OnCreateConflict::ERROR_ON_CONFLICT) { + throw InternalException( + "Attempted to override a Create Secret Function with OnCreateConflict::ERROR_ON_CONFLICT for: '%s'", + function.provider); + } else if (on_conflict == OnCreateConflict::REPLACE_ON_CONFLICT) { + functions[function.provider] = function; + } else if (on_conflict == OnCreateConflict::ALTER_ON_CONFLICT) { + throw NotImplementedException("ALTER_ON_CONFLICT not implemented for CreateSecretFunctionSet"); + } + } else { + functions[function.provider] = function; + } +} + +CreateSecretFunction &CreateSecretFunctionSet::GetFunction(const string &provider) { + const auto &lookup = functions.find(provider); + + if (lookup == functions.end()) { + throw InternalException("Could not find Create Secret Function with provider %s"); + } + + return lookup->second; +} + +} // namespace duckdb diff --git a/src/main/secret/secret_manager.cpp b/src/main/secret/secret_manager.cpp new file mode 100644 index 000000000000..c972a9ea9a59 --- /dev/null +++ b/src/main/secret/secret_manager.cpp @@ -0,0 +1,634 @@ +#include "duckdb/main/secret/secret_manager.hpp" + +#include "duckdb/catalog/catalog_entry.hpp" +#include "duckdb/common/common.hpp" +#include "duckdb/common/file_system.hpp" +#include "duckdb/common/local_file_system.hpp" +#include "duckdb/common/mutex.hpp" +#include "duckdb/common/serializer/binary_deserializer.hpp" +#include "duckdb/common/serializer/binary_serializer.hpp" +#include "duckdb/common/serializer/buffered_file_reader.hpp" +#include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/common/serializer/serializer.hpp" +#include "duckdb/function/function_set.hpp" +#include "duckdb/main/client_context.hpp" +#include "duckdb/main/extension_helper.hpp" +#include "duckdb/main/secret/secret_storage.hpp" +#include "duckdb/parser/parsed_data/create_secret_info.hpp" +#include "duckdb/parser/statement/create_statement.hpp" +#include "duckdb/planner/operator/logical_create_secret.hpp" + +namespace duckdb { + +SecretCatalogEntry::SecretCatalogEntry(unique_ptr secret_p, Catalog &catalog) + : InCatalogEntry(CatalogType::SECRET_ENTRY, catalog, secret_p->secret->GetName()), secret(std::move(secret_p)) { + internal = true; +} + +SecretCatalogEntry::SecretCatalogEntry(unique_ptr secret_p, Catalog &catalog) + : InCatalogEntry(CatalogType::SECRET_ENTRY, catalog, secret_p->GetName()) { + internal = true; + secret = make_uniq(std::move(secret_p)); +} + +const BaseSecret &SecretMatch::GetSecret() const { + return *secret_entry->secret; +} + +constexpr const char *SecretManager::TEMPORARY_STORAGE_NAME; +constexpr const char *SecretManager::LOCAL_FILE_STORAGE_NAME; + +void SecretManager::Initialize(DatabaseInstance &db) { + lock_guard lck(manager_lock); + + // Construct default path + LocalFileSystem fs; + config.default_secret_path = fs.GetHomeDirectory(); + vector path_components = {".duckdb", "stored_secrets"}; + for (auto &path_ele : path_components) { + config.default_secret_path = fs.JoinPath(config.default_secret_path, path_ele); + } + config.secret_path = config.default_secret_path; + + // Set the defaults for persistent storage + config.default_persistent_storage = LOCAL_FILE_STORAGE_NAME; + + // Store the current db for enabling autoloading + this->db = &db; +} + +void SecretManager::LoadSecretStorage(unique_ptr storage) { + lock_guard lck(manager_lock); + return LoadSecretStorageInternal(std::move(storage)); +} + +void SecretManager::LoadSecretStorageInternal(unique_ptr storage) { + if (secret_storages.find(storage->GetName()) != secret_storages.end()) { + throw InternalException("Secret Storage with name '%s' already registered!", storage->GetName()); + } + + // Check for tie-break offset collisions to ensure we can always tie-break cleanly + for (const auto &storage_ptr : secret_storages) { + if (storage_ptr.second->GetTieBreakOffset() == storage->GetTieBreakOffset()) { + throw InternalException("Failed to load secret storage '%s', tie break score collides with '%s'", + storage->GetName(), storage_ptr.second->GetName()); + } + } + + secret_storages[storage->GetName()] = std::move(storage); +} + +// FIXME: use serialization scripts? +unique_ptr SecretManager::DeserializeSecret(Deserializer &deserializer) { + auto type = deserializer.ReadProperty(100, "type"); + auto provider = deserializer.ReadProperty(101, "provider"); + auto name = deserializer.ReadProperty(102, "name"); + vector scope; + deserializer.ReadList(103, "scope", + [&](Deserializer::List &list, idx_t i) { scope.push_back(list.ReadElement()); }); + + auto secret_type = LookupTypeInternal(type); + + if (!secret_type.deserializer) { + throw InternalException( + "Attempted to deserialize secret type '%s' which does not have a deserialization method", type); + } + + return secret_type.deserializer(deserializer, {scope, type, provider, name}); +} + +void SecretManager::RegisterSecretType(SecretType &type) { + lock_guard lck(manager_lock); + auto lookup = secret_types.find(type.name); + if (lookup != secret_types.end()) { + throw InternalException("Attempted to register an already registered secret type: '%s'", type.name); + } + secret_types[type.name] = type; +} + +void SecretManager::RegisterSecretFunction(CreateSecretFunction function, OnCreateConflict on_conflict) { + unique_lock lck(manager_lock); + auto lookup = secret_functions.find(function.secret_type); + if (lookup != secret_functions.end()) { + lookup->second.AddFunction(function, on_conflict); + return; + } + CreateSecretFunctionSet new_set(function.secret_type); + new_set.AddFunction(function, OnCreateConflict::ERROR_ON_CONFLICT); + secret_functions.insert({function.secret_type, new_set}); +} + +unique_ptr SecretManager::RegisterSecret(CatalogTransaction transaction, + unique_ptr secret, OnCreateConflict on_conflict, + SecretPersistType persist_type, const string &storage) { + InitializeSecrets(transaction); + return RegisterSecretInternal(transaction, std::move(secret), on_conflict, persist_type, storage); +} + +unique_ptr SecretManager::RegisterSecretInternal(CatalogTransaction transaction, + unique_ptr secret, + OnCreateConflict on_conflict, + SecretPersistType persist_type, const string &storage) { + //! Ensure we only create secrets for known types; + LookupTypeInternal(secret->GetType()); + + //! Handle default for persist type + if (persist_type == SecretPersistType::DEFAULT) { + if (storage.empty()) { + persist_type = config.default_persist_type; + } else if (storage == TEMPORARY_STORAGE_NAME) { + persist_type = SecretPersistType::TEMPORARY; + } else { + persist_type = SecretPersistType::PERSISTENT; + } + } + + //! Resolve storage + string resolved_storage; + if (storage.empty()) { + resolved_storage = + persist_type == SecretPersistType::PERSISTENT ? config.default_persistent_storage : TEMPORARY_STORAGE_NAME; + } else { + resolved_storage = storage; + } + + //! Lookup which backend to store the secret in + auto backend = GetSecretStorage(resolved_storage); + if (!backend) { + if (!config.allow_persistent_secrets && + (persist_type == SecretPersistType::PERSISTENT || storage == LOCAL_FILE_STORAGE_NAME)) { + throw InvalidInputException("Persistent secrets are disabled. Restart DuckDB and enable persistent secrets " + "through 'SET allow_persistent_secrets=true'"); + } + throw InvalidInputException("Secret storage '%s' not found!", resolved_storage); + } + + // Validation on both allow_persistent_secrets and storage backend's own persist type + if (persist_type == SecretPersistType::PERSISTENT) { + if (backend->persistent) { + if (!config.allow_persistent_secrets) { + throw InvalidInputException( + "Persistent secrets are currently disabled. To enable them, restart duckdb and " + "run 'SET allow_persistent_secrets=true'"); + } + } else { // backend is temp + throw InvalidInputException("Cannot create persistent secrets in a temporary secret storage!"); + } + } else { // SecretPersistType::TEMPORARY + if (backend->persistent) { + throw InvalidInputException("Cannot create temporary secrets in a persistent secret storage!"); + } + } + return backend->StoreSecret(std::move(secret), on_conflict, &transaction); +} + +optional_ptr SecretManager::LookupFunctionInternal(const string &type, const string &provider) { + unique_lock lck(manager_lock); + auto lookup = secret_functions.find(type); + + if (lookup != secret_functions.end()) { + if (lookup->second.ProviderExists(provider)) { + return &lookup->second.GetFunction(provider); + } + } + + // Try autoloading + lck.unlock(); + AutoloadExtensionForFunction(type, provider); + lck.lock(); + + lookup = secret_functions.find(type); + + if (lookup != secret_functions.end()) { + if (lookup->second.ProviderExists(provider)) { + return &lookup->second.GetFunction(provider); + } + } + + return nullptr; +} + +unique_ptr SecretManager::CreateSecret(ClientContext &context, const CreateSecretInfo &info) { + // Note that a context is required for CreateSecret, as the CreateSecretFunction expects one + auto transaction = CatalogTransaction::GetSystemCatalogTransaction(context); + InitializeSecrets(transaction); + + // Make a copy to set the provider to default if necessary + CreateSecretInput function_input {info.type, info.provider, info.storage_type, info.name, info.scope, info.options}; + if (function_input.provider.empty()) { + auto secret_type = LookupTypeInternal(function_input.type); + function_input.provider = secret_type.default_provider; + } + + // Lookup function + auto function_lookup = LookupFunctionInternal(function_input.type, function_input.provider); + if (!function_lookup) { + throw InvalidInputException("Could not find CreateSecretFunction for type: '%s' and provider: '%s'", info.type, + info.provider); + } + + // Call the function + auto secret = function_lookup->function(context, function_input); + + if (!secret) { + throw InternalException("CreateSecretFunction for type: '%s' and provider: '%s' did not return a secret!", + info.type, info.provider); + } + + // Register the secret at the secret_manager + return RegisterSecretInternal(transaction, std::move(secret), info.on_conflict, info.persist_type, + info.storage_type); +} + +BoundStatement SecretManager::BindCreateSecret(CatalogTransaction transaction, CreateSecretInfo &info) { + InitializeSecrets(transaction); + + auto type = info.type; + auto provider = info.provider; + bool default_provider = false; + + if (provider.empty()) { + default_provider = true; + auto secret_type = LookupTypeInternal(type); + provider = secret_type.default_provider; + } + + string default_string = default_provider ? "default " : ""; + + auto function = LookupFunctionInternal(type, provider); + + if (!function) { + throw BinderException("Could not find create secret function for secret type '%s' with %sprovider '%s'", type, + default_string, provider); + } + + auto bound_info = info; + bound_info.options.clear(); + + // We cast the passed parameters + for (const auto ¶m : info.options) { + auto matched_param = function->named_parameters.find(param.first); + if (matched_param == function->named_parameters.end()) { + throw BinderException("Unknown parameter '%s' for secret type '%s' with %sprovider '%s'", param.first, type, + default_string, provider); + } + + // Cast the provided value to the expected type + string error_msg; + Value cast_value; + if (!param.second.DefaultTryCastAs(matched_param->second, cast_value, &error_msg)) { + throw BinderException("Failed to cast option '%s' to type '%s': '%s'", matched_param->first, + matched_param->second.ToString(), error_msg); + } + + bound_info.options[matched_param->first] = {cast_value}; + } + + BoundStatement result; + result.names = {"Success"}; + result.types = {LogicalType::BOOLEAN}; + result.plan = make_uniq(*function, std::move(bound_info)); + return result; +} + +SecretMatch SecretManager::LookupSecret(CatalogTransaction transaction, const string &path, const string &type) { + InitializeSecrets(transaction); + + int64_t best_match_score = NumericLimits::Minimum(); + unique_ptr best_match = nullptr; + + for (const auto &storage_ref : GetSecretStorages()) { + if (!storage_ref.get().IncludeInLookups()) { + continue; + } + auto match = storage_ref.get().LookupSecret(path, type, &transaction); + if (match.HasMatch() && match.score > best_match_score) { + best_match = std::move(match.secret_entry); + best_match_score = match.score; + } + } + + if (best_match) { + return SecretMatch(*best_match, best_match_score); + } + + return SecretMatch(); +} + +unique_ptr SecretManager::GetSecretByName(CatalogTransaction transaction, const string &name, + const string &storage) { + InitializeSecrets(transaction); + + unique_ptr result = nullptr; + bool found = false; + + if (!storage.empty()) { + auto storage_lookup = GetSecretStorage(storage); + + if (!storage_lookup) { + throw InvalidInputException("Unknown secret storage found: '%s'", storage); + } + + return storage_lookup->GetSecretByName(name, &transaction); + } + + for (const auto &storage_ref : GetSecretStorages()) { + auto lookup = storage_ref.get().GetSecretByName(name, &transaction); + if (lookup) { + if (found) { + throw InternalException( + "Ambiguity detected for secret name '%s', secret occurs in multiple storage backends.", name); + } + + result = std::move(lookup); + found = true; + } + } + + return result; +} + +void SecretManager::DropSecretByName(CatalogTransaction transaction, const string &name, + OnEntryNotFound on_entry_not_found, SecretPersistType persist_type, + const string &storage) { + InitializeSecrets(transaction); + + vector> matches; + + // storage to drop from was specified directly + if (!storage.empty()) { + auto storage_lookup = GetSecretStorage(storage); + if (!storage_lookup) { + throw InvalidInputException("Unknown storage type found for drop secret: '%s'", storage); + } + matches.push_back(*storage_lookup.get()); + } else { + for (const auto &storage_ref : GetSecretStorages()) { + if (persist_type == SecretPersistType::PERSISTENT && !storage_ref.get().Persistent()) { + continue; + } + if (persist_type == SecretPersistType::TEMPORARY && storage_ref.get().Persistent()) { + continue; + } + + auto lookup = storage_ref.get().GetSecretByName(name, &transaction); + if (lookup) { + matches.push_back(storage_ref.get()); + } + } + } + + if (matches.size() > 1) { + string list_of_matches; + for (const auto &match : matches) { + list_of_matches += match.get().GetName() + ","; + } + list_of_matches.pop_back(); // trailing comma + + throw InvalidInputException( + "Ambiguity found for secret name '%s', secret occurs in multiple storages: [%s] Please specify which " + "secret to drop using: 'DROP SECRET [FROM ]'.", + name, list_of_matches); + } + + if (matches.empty()) { + if (on_entry_not_found == OnEntryNotFound::THROW_EXCEPTION) { + string storage_str; + if (!storage.empty()) { + storage_str = " for storage '" + storage + "'"; + } + throw InvalidInputException("Failed to remove non-existent secret with name '%s'%s", name, storage_str); + } + // Do nothing on OnEntryNotFound::RETURN_NULL... + } else { + matches[0].get().DropSecretByName(name, on_entry_not_found, &transaction); + } +} + +SecretType SecretManager::LookupType(const string &type) { + return LookupTypeInternal(type); +} + +SecretType SecretManager::LookupTypeInternal(const string &type) { + unique_lock lck(manager_lock); + auto lookup = secret_types.find(type); + if (lookup != secret_types.end()) { + return lookup->second; + } + + // Try autoloading + lck.unlock(); + AutoloadExtensionForType(type); + lck.lock(); + + lookup = secret_types.find(type); + if (lookup != secret_types.end()) { + return lookup->second; + } + + throw InvalidInputException("Secret type '%s' not found", type); +} + +vector SecretManager::AllSecrets(CatalogTransaction transaction) { + InitializeSecrets(transaction); + + vector result; + + // Add results from all backends to the result set + for (const auto &backend : secret_storages) { + auto backend_result = backend.second->AllSecrets(&transaction); + for (const auto &it : backend_result) { + result.push_back(it); + } + } + + return result; +} + +void SecretManager::ThrowOnSettingChangeIfInitialized() { + if (initialized) { + throw InvalidInputException( + "Changing Secret Manager settings after the secret manager is used is not allowed!"); + } +} + +void SecretManager::SetEnablePersistentSecrets(bool enabled) { + ThrowOnSettingChangeIfInitialized(); + config.allow_persistent_secrets = enabled; +} + +void SecretManager::ResetEnablePersistentSecrets() { + ThrowOnSettingChangeIfInitialized(); + config.allow_persistent_secrets = SecretManagerConfig::DEFAULT_ALLOW_PERSISTENT_SECRETS; +} + +bool SecretManager::PersistentSecretsEnabled() { + return config.allow_persistent_secrets; +} + +void SecretManager::SetDefaultStorage(const string &storage) { + ThrowOnSettingChangeIfInitialized(); + config.default_persistent_storage = storage; +} + +void SecretManager::ResetDefaultStorage() { + ThrowOnSettingChangeIfInitialized(); + config.default_persistent_storage = SecretManager::LOCAL_FILE_STORAGE_NAME; +} + +string SecretManager::DefaultStorage() { + return config.default_persistent_storage; +} + +void SecretManager::SetPersistentSecretPath(const string &path) { + ThrowOnSettingChangeIfInitialized(); + config.secret_path = path; +} + +void SecretManager::ResetPersistentSecretPath() { + ThrowOnSettingChangeIfInitialized(); + config.secret_path = config.default_secret_path; +} + +string SecretManager::PersistentSecretPath() { + return config.secret_path; +} + +void SecretManager::InitializeSecrets(CatalogTransaction transaction) { + if (!initialized) { + lock_guard lck(manager_lock); + if (initialized) { + // some sneaky other thread beat us to it + return; + } + + // load the tmp storage + LoadSecretStorageInternal(make_uniq(TEMPORARY_STORAGE_NAME, *transaction.db)); + + if (config.allow_persistent_secrets) { + // load the persistent storage if enabled + LoadSecretStorageInternal( + make_uniq(*this, *transaction.db, LOCAL_FILE_STORAGE_NAME, config.secret_path)); + } + + initialized = true; + } +} + +void SecretManager::AutoloadExtensionForType(const string &type) { + ExtensionHelper::TryAutoloadFromEntry(*db, type, EXTENSION_SECRET_TYPES); +} + +void SecretManager::AutoloadExtensionForFunction(const string &type, const string &provider) { + ExtensionHelper::TryAutoloadFromEntry(*db, type + "/" + provider, EXTENSION_SECRET_PROVIDERS); +} + +optional_ptr SecretManager::GetSecretStorage(const string &name) { + lock_guard lock(manager_lock); + + auto lookup = secret_storages.find(name); + if (lookup != secret_storages.end()) { + return lookup->second.get(); + } + + return nullptr; +} + +vector> SecretManager::GetSecretStorages() { + lock_guard lock(manager_lock); + + vector> result; + + for (const auto &storage : secret_storages) { + result.push_back(*storage.second); + } + + return result; +} + +DefaultSecretGenerator::DefaultSecretGenerator(Catalog &catalog, SecretManager &secret_manager, + case_insensitive_set_t &persistent_secrets) + : DefaultGenerator(catalog), secret_manager(secret_manager), persistent_secrets(persistent_secrets) { +} + +unique_ptr DefaultSecretGenerator::CreateDefaultEntry(ClientContext &context, const string &entry_name) { + + auto secret_lu = persistent_secrets.find(entry_name); + if (secret_lu == persistent_secrets.end()) { + return nullptr; + } + + LocalFileSystem fs; + auto &catalog = Catalog::GetSystemCatalog(context); + + string base_secret_path = secret_manager.PersistentSecretPath(); + string secret_path = fs.JoinPath(base_secret_path, entry_name + ".duckdb_secret"); + + // Note each file should contain 1 secret + try { + auto file_reader = BufferedFileReader(fs, secret_path.c_str()); + if (!file_reader.Finished()) { + BinaryDeserializer deserializer(file_reader); + + deserializer.Begin(); + auto deserialized_secret = secret_manager.DeserializeSecret(deserializer); + deserializer.End(); + + auto name = deserialized_secret->GetName(); + auto entry = make_uniq(std::move(deserialized_secret), catalog); + entry->secret->storage_mode = SecretManager::LOCAL_FILE_STORAGE_NAME; + entry->secret->persist_type = SecretPersistType::PERSISTENT; + + // Finally: we remove the default entry from the persistent_secrets, otherwise we aren't able to drop it + // later + persistent_secrets.erase(secret_lu); + + return std::move(entry); + } + } catch (std::exception &ex) { + ErrorData error(ex); + switch (error.Type()) { + case ExceptionType::SERIALIZATION: + throw SerializationException( + "Failed to deserialize the persistent secret file: '%s'. The file maybe be " + "corrupt, please remove the file, restart and try again. (error message: '%s')", + secret_path, error.RawMessage()); + case ExceptionType::IO: + throw IOException( + "Failed to open the persistent secret file: '%s'. Some other process may have removed it, " + "please restart and try again. (error message: '%s')", + secret_path, error.RawMessage()); + default: + throw; + } + } + + throw SerializationException("Failed to deserialize secret '%s' from '%s': file appears empty! Please remove the " + "file, restart and try again", + entry_name, secret_path); +} + +vector DefaultSecretGenerator::GetDefaultEntries() { + vector ret; + + for (const auto &res : persistent_secrets) { + ret.push_back(res); + } + + return ret; +} + +SecretManager &SecretManager::Get(ClientContext &context) { + return *DBConfig::GetConfig(context).secret_manager; +} +SecretManager &SecretManager::Get(DatabaseInstance &db) { + return *DBConfig::GetConfig(db).secret_manager; +} + +void SecretManager::DropSecretByName(ClientContext &context, const string &name, OnEntryNotFound on_entry_not_found, + SecretPersistType persist_type, const string &storage) { + auto transaction = CatalogTransaction::GetSystemCatalogTransaction(context); + return DropSecretByName(transaction, name, on_entry_not_found, persist_type, storage); +} + +} // namespace duckdb diff --git a/src/main/secret/secret_storage.cpp b/src/main/secret/secret_storage.cpp new file mode 100644 index 000000000000..5be8a68a4e80 --- /dev/null +++ b/src/main/secret/secret_storage.cpp @@ -0,0 +1,233 @@ +#include "duckdb/common/common.hpp" +#include "duckdb/common/file_system.hpp" +#include "duckdb/common/local_file_system.hpp" +#include "duckdb/common/mutex.hpp" +#include "duckdb/common/serializer/binary_serializer.hpp" +#include "duckdb/common/serializer/buffered_file_reader.hpp" +#include "duckdb/function/function_set.hpp" +#include "duckdb/main/client_context.hpp" +#include "duckdb/main/extension_helper.hpp" +#include "duckdb/main/secret/secret_storage.hpp" +#include "duckdb/main/secret/secret_manager.hpp" +#include "duckdb/parser/parsed_data/create_secret_info.hpp" +#include "duckdb/parser/statement/create_statement.hpp" + +namespace duckdb { + +SecretMatch SecretStorage::SelectBestMatch(SecretEntry &secret_entry, const string &path, SecretMatch ¤t_best) { + // Get secret match score + auto match_score = secret_entry.secret->MatchScore(path); + + // On no match + if (match_score == NumericLimits::Minimum()) { + return current_best; + } + + // The number of characters that match, where 0 means matching the catchall of "*" + D_ASSERT(match_score >= 0); + + // Apply storage tie-break offset + match_score = OffsetMatchScore(match_score); + + // Choose the best matching score, tie-breaking on secret name when necessary + if (match_score > current_best.score) { + return SecretMatch(secret_entry, match_score); + } else if (match_score == current_best.score && + secret_entry.secret->GetName() < current_best.GetSecret().GetName()) { + return SecretMatch(secret_entry, match_score); + } else { + return current_best; + } +} + +unique_ptr CatalogSetSecretStorage::StoreSecret(unique_ptr secret, + OnCreateConflict on_conflict, + optional_ptr transaction) { + if (secrets->GetEntry(GetTransactionOrDefault(transaction), secret->GetName())) { + if (on_conflict == OnCreateConflict::ERROR_ON_CONFLICT) { + string persist_string = persistent ? "Persistent" : "Temporary"; + string storage_string = persistent ? " in secret storage '" + storage_name + "'" : ""; + throw InvalidInputException("%s secret with name '%s' already exists%s!", persist_string, secret->GetName(), + storage_string); + } else if (on_conflict == OnCreateConflict::IGNORE_ON_CONFLICT) { + return nullptr; + } else if (on_conflict == OnCreateConflict::ALTER_ON_CONFLICT) { + throw InternalException("unknown OnCreateConflict found while registering secret"); + } else if (on_conflict == OnCreateConflict::REPLACE_ON_CONFLICT) { + secrets->DropEntry(GetTransactionOrDefault(transaction), secret->GetName(), true, true); + } + } + + // Call write function + WriteSecret(*secret, on_conflict); + + auto secret_name = secret->GetName(); + auto secret_entry = make_uniq(std::move(secret), Catalog::GetSystemCatalog(db)); + secret_entry->temporary = !persistent; + secret_entry->secret->storage_mode = storage_name; + secret_entry->secret->persist_type = persistent ? SecretPersistType::PERSISTENT : SecretPersistType::TEMPORARY; + DependencyList l; + secrets->CreateEntry(GetTransactionOrDefault(transaction), secret_name, std::move(secret_entry), l); + + auto secret_catalog_entry = + &secrets->GetEntry(GetTransactionOrDefault(transaction), secret_name)->Cast(); + return make_uniq(*secret_catalog_entry->secret); +} + +vector CatalogSetSecretStorage::AllSecrets(optional_ptr transaction) { + vector ret_value; + const std::function callback = [&](CatalogEntry &entry) { + auto &cast_entry = entry.Cast(); + ret_value.push_back(*cast_entry.secret); + }; + secrets->Scan(GetTransactionOrDefault(transaction), callback); + return ret_value; +} + +void CatalogSetSecretStorage::DropSecretByName(const string &name, OnEntryNotFound on_entry_not_found, + optional_ptr transaction) { + auto entry = secrets->GetEntry(GetTransactionOrDefault(transaction), name); + if (!entry && on_entry_not_found == OnEntryNotFound::THROW_EXCEPTION) { + string persist_string = persistent ? "persistent" : "temporary"; + string storage_string = persistent ? " in secret storage '" + storage_name + "'" : ""; + throw InvalidInputException("Failed to remove non-existent %s secret '%s'%s", persist_string, name, + storage_string); + } + + secrets->DropEntry(GetTransactionOrDefault(transaction), name, true, true); + RemoveSecret(name, on_entry_not_found); +} + +SecretMatch CatalogSetSecretStorage::LookupSecret(const string &path, const string &type, + optional_ptr transaction) { + auto best_match = SecretMatch(); + + const std::function callback = [&](CatalogEntry &entry) { + auto &cast_entry = entry.Cast(); + if (cast_entry.secret->secret->GetType() == type) { + best_match = SelectBestMatch(*cast_entry.secret, path, best_match); + } + }; + secrets->Scan(GetTransactionOrDefault(transaction), callback); + + if (best_match.HasMatch()) { + return best_match; + } + + return SecretMatch(); +} + +unique_ptr CatalogSetSecretStorage::GetSecretByName(const string &name, + optional_ptr transaction) { + auto res = secrets->GetEntry(GetTransactionOrDefault(transaction), name); + + if (res) { + auto &cast_entry = res->Cast(); + return make_uniq(*cast_entry.secret); + } + + return nullptr; +} + +LocalFileSecretStorage::LocalFileSecretStorage(SecretManager &manager, DatabaseInstance &db_p, const string &name_p, + const string &secret_path) + : CatalogSetSecretStorage(db_p, name_p), secret_path(secret_path) { + persistent = true; + + // Check existence of persistent secret dir + LocalFileSystem fs; + if (fs.DirectoryExists(secret_path)) { + fs.ListFiles(secret_path, [&](const string &fname, bool is_dir) { + string full_path = fs.JoinPath(secret_path, fname); + + if (StringUtil::EndsWith(full_path, ".duckdb_secret")) { + string secret_name = fname.substr(0, fname.size() - 14); // size of file ext + persistent_secrets.insert(secret_name); + } + }); + } + + auto &catalog = Catalog::GetSystemCatalog(db); + secrets = make_uniq(Catalog::GetSystemCatalog(db), + make_uniq(catalog, manager, persistent_secrets)); +} + +void CatalogSetSecretStorage::WriteSecret(const BaseSecret &secret, OnCreateConflict on_conflict) { + // By default, this writes nothing +} +void CatalogSetSecretStorage::RemoveSecret(const string &name, OnEntryNotFound on_entry_not_found) { + // By default, this writes nothing +} + +CatalogTransaction CatalogSetSecretStorage::GetTransactionOrDefault(optional_ptr transaction) { + if (transaction) { + return *transaction; + } + return CatalogTransaction::GetSystemTransaction(db); +} + +void LocalFileSecretStorage::WriteSecret(const BaseSecret &secret, OnCreateConflict on_conflict) { + LocalFileSystem fs; + + // We may need to create the secret dir here if the directory was not present during LocalFileSecretStorage + // construction + if (!fs.DirectoryExists(secret_path)) { + // TODO: recursive directory creation should probably live in filesystem + auto sep = fs.PathSeparator(secret_path); + auto splits = StringUtil::Split(secret_path, sep); + D_ASSERT(!splits.empty()); + string extension_directory_prefix; + if (StringUtil::StartsWith(secret_path, sep)) { + extension_directory_prefix = sep; // this is swallowed by Split otherwise + } + try { + for (auto &split : splits) { + extension_directory_prefix = extension_directory_prefix + split + sep; + if (!fs.DirectoryExists(extension_directory_prefix)) { + fs.CreateDirectory(extension_directory_prefix); + } + } + } catch (std::exception &ex) { + ErrorData error(ex); + if (error.Type() == ExceptionType::IO) { + throw IOException("Failed to initialize persistent storage directory. (original error: '%s')", + error.RawMessage()); + } + throw; + } + } + + auto file_path = fs.JoinPath(secret_path, secret.GetName() + ".duckdb_secret"); + + if (fs.FileExists(file_path)) { + fs.RemoveFile(file_path); + } + + auto file_writer = BufferedFileWriter(fs, file_path); + + auto serializer = BinarySerializer(file_writer); + serializer.Begin(); + secret.Serialize(serializer); + serializer.End(); + + file_writer.Flush(); +} + +void LocalFileSecretStorage::RemoveSecret(const string &secret, OnEntryNotFound on_entry_not_found) { + LocalFileSystem fs; + string file = fs.JoinPath(secret_path, secret + ".duckdb_secret"); + persistent_secrets.erase(secret); + try { + fs.RemoveFile(file); + } catch (std::exception &ex) { + ErrorData error(ex); + if (error.Type() == ExceptionType::IO) { + throw IOException("Failed to remove secret file '%s', the file may have been removed by another duckdb " + "instance. (original error: '%s')", + file, error.RawMessage()); + } + throw; + } +} + +} // namespace duckdb diff --git a/src/main/settings/settings.cpp b/src/main/settings/settings.cpp index e75c8f500752..2d801e988e3c 100644 --- a/src/main/settings/settings.cpp +++ b/src/main/settings/settings.cpp @@ -9,6 +9,7 @@ #include "duckdb/main/database.hpp" #include "duckdb/main/database_manager.hpp" #include "duckdb/main/query_profiler.hpp" +#include "duckdb/main/secret/secret_manager.hpp" #include "duckdb/parallel/task_scheduler.hpp" #include "duckdb/parser/parser.hpp" #include "duckdb/planner/expression_binder.hpp" @@ -17,6 +18,10 @@ namespace duckdb { +const string GetDefaultUserAgent() { + return StringUtil::Format("duckdb/%s(%s)", DuckDB::LibraryVersion(), DuckDB::Platform()); +} + //===--------------------------------------------------------------------===// // Access Mode //===--------------------------------------------------------------------===// @@ -56,6 +61,22 @@ Value AccessModeSetting::GetSetting(ClientContext &context) { } } +//===--------------------------------------------------------------------===// +// Allow Persistent Secrets +//===--------------------------------------------------------------------===// +void AllowPersistentSecrets::SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &input) { + config.secret_manager->SetEnablePersistentSecrets(input.GetValue()); +} + +void AllowPersistentSecrets::ResetGlobal(DatabaseInstance *db, DBConfig &config) { + config.secret_manager->ResetEnablePersistentSecrets(); +} + +Value AllowPersistentSecrets::GetSetting(ClientContext &context) { + auto &config = DBConfig::GetConfig(context); + return config.secret_manager->PersistentSecretsEnabled(); +} + //===--------------------------------------------------------------------===// // Checkpoint Threshold //===--------------------------------------------------------------------===// @@ -319,6 +340,22 @@ Value DefaultNullOrderSetting::GetSetting(ClientContext &context) { } } +//===--------------------------------------------------------------------===// +// Default Null Order +//===--------------------------------------------------------------------===// +void DefaultSecretStorage::SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &input) { + config.secret_manager->SetDefaultStorage(input.ToString()); +} + +void DefaultSecretStorage::ResetGlobal(DatabaseInstance *db, DBConfig &config) { + config.secret_manager->ResetDefaultStorage(); +} + +Value DefaultSecretStorage::GetSetting(ClientContext &context) { + auto &config = DBConfig::GetConfig(context); + return config.secret_manager->DefaultStorage(); +} + //===--------------------------------------------------------------------===// // Disabled File Systems //===--------------------------------------------------------------------===// @@ -518,31 +555,33 @@ Value EnableProfilingSetting::GetSetting(ClientContext &context) { //===--------------------------------------------------------------------===// // Custom Extension Repository //===--------------------------------------------------------------------===// -void CustomExtensionRepository::ResetLocal(ClientContext &context) { - ClientConfig::GetConfig(context).custom_extension_repo = ClientConfig().custom_extension_repo; +void CustomExtensionRepository::ResetGlobal(DatabaseInstance *db, DBConfig &config) { + config.options.custom_extension_repo = DBConfig().options.custom_extension_repo; } -void CustomExtensionRepository::SetLocal(ClientContext &context, const Value &input) { - ClientConfig::GetConfig(context).custom_extension_repo = StringUtil::Lower(input.ToString()); +void CustomExtensionRepository::SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &input) { + config.options.custom_extension_repo = input.ToString(); } Value CustomExtensionRepository::GetSetting(ClientContext &context) { - return Value(ClientConfig::GetConfig(context).custom_extension_repo); + auto &config = DBConfig::GetConfig(context); + return Value(config.options.custom_extension_repo); } //===--------------------------------------------------------------------===// // Autoload Extension Repository //===--------------------------------------------------------------------===// -void AutoloadExtensionRepository::ResetLocal(ClientContext &context) { - ClientConfig::GetConfig(context).autoinstall_extension_repo = ClientConfig().autoinstall_extension_repo; +void AutoloadExtensionRepository::ResetGlobal(DatabaseInstance *db, DBConfig &config) { + config.options.autoinstall_extension_repo = DBConfig().options.autoinstall_extension_repo; } -void AutoloadExtensionRepository::SetLocal(ClientContext &context, const Value &input) { - ClientConfig::GetConfig(context).autoinstall_extension_repo = StringUtil::Lower(input.ToString()); +void AutoloadExtensionRepository::SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &input) { + config.options.autoinstall_extension_repo = input.ToString(); } Value AutoloadExtensionRepository::GetSetting(ClientContext &context) { - return Value(ClientConfig::GetConfig(context).autoinstall_extension_repo); + auto &config = DBConfig::GetConfig(context); + return Value(config.options.autoinstall_extension_repo); } //===--------------------------------------------------------------------===// @@ -614,6 +653,21 @@ Value EnableProgressBarPrintSetting::GetSetting(ClientContext &context) { return Value::BOOLEAN(ClientConfig::GetConfig(context).print_progress_bar); } +//===--------------------------------------------------------------------===// +// Errors As JSON +//===--------------------------------------------------------------------===// +void ErrorsAsJsonSetting::ResetLocal(ClientContext &context) { + ClientConfig::GetConfig(context).errors_as_json = ClientConfig().errors_as_json; +} + +void ErrorsAsJsonSetting::SetLocal(ClientContext &context, const Value &input) { + ClientConfig::GetConfig(context).errors_as_json = BooleanValue::Get(input); +} + +Value ErrorsAsJsonSetting::GetSetting(ClientContext &context) { + return Value::BOOLEAN(ClientConfig::GetConfig(context).errors_as_json ? 1 : 0); +} + //===--------------------------------------------------------------------===// // Explain Output //===--------------------------------------------------------------------===// @@ -668,11 +722,23 @@ Value ExtensionDirectorySetting::GetSetting(ClientContext &context) { // External Threads Setting //===--------------------------------------------------------------------===// void ExternalThreadsSetting::SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &input) { - config.options.external_threads = input.GetValue(); + auto new_val = input.GetValue(); + if (new_val < 0) { + throw SyntaxException("Must have a non-negative number of external threads!"); + } + idx_t new_external_threads = new_val; + if (db) { + TaskScheduler::GetScheduler(*db).SetThreads(config.options.maximum_threads, new_external_threads); + } + config.options.external_threads = new_external_threads; } void ExternalThreadsSetting::ResetGlobal(DatabaseInstance *db, DBConfig &config) { - config.options.external_threads = DBConfig().options.external_threads; + idx_t new_external_threads = DBConfig().options.external_threads; + if (db) { + TaskScheduler::GetScheduler(*db).SetThreads(config.options.maximum_threads, new_external_threads); + } + config.options.external_threads = new_external_threads; } Value ExternalThreadsSetting::GetSetting(ClientContext &context) { @@ -708,6 +774,10 @@ void ForceCompressionSetting::SetGlobal(DatabaseInstance *db, DBConfig &config, config.options.force_compression = CompressionType::COMPRESSION_AUTO; } else { auto compression_type = CompressionTypeFromString(compression); + if (CompressionTypeIsDeprecated(compression_type)) { + throw ParserException("Attempted to force a deprecated compression type (%s)", + CompressionTypeToString(compression_type)); + } if (compression_type == CompressionType::COMPRESSION_AUTO) { auto compression_types = StringUtil::Join(ListCompressionTypes(), ", "); throw ParserException("Unrecognized option for PRAGMA force_compression, expected %s", compression_types); @@ -755,6 +825,11 @@ void HomeDirectorySetting::ResetLocal(ClientContext &context) { void HomeDirectorySetting::SetLocal(ClientContext &context, const Value &input) { auto &config = ClientConfig::GetConfig(context); + + if (!input.IsNull() && FileSystem::GetFileSystem(context).IsRemoteFile(input.ToString())) { + throw InvalidInputException("Cannot set the home directory to a remote path"); + } + config.home_directory = input.IsNull() ? string() : input.ToString(); } @@ -873,6 +948,22 @@ Value MaximumMemorySetting::GetSetting(ClientContext &context) { return Value(StringUtil::BytesToHumanReadableString(config.options.maximum_memory)); } +//===--------------------------------------------------------------------===// +// Old Implicit Casting +//===--------------------------------------------------------------------===// +void OldImplicitCasting::SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &input) { + config.options.old_implicit_casting = input.GetValue(); +} + +void OldImplicitCasting::ResetGlobal(DatabaseInstance *db, DBConfig &config) { + config.options.old_implicit_casting = DBConfig().options.old_implicit_casting; +} + +Value OldImplicitCasting::GetSetting(ClientContext &context) { + auto &config = DBConfig::GetConfig(context); + return Value::BOOLEAN(config.options.old_implicit_casting); +} + //===--------------------------------------------------------------------===// // Password Setting //===--------------------------------------------------------------------===// @@ -987,27 +1078,6 @@ Value ExportLargeBufferArrow::GetSetting(ClientContext &context) { return Value::BOOLEAN(export_large_buffers_arrow); } -//===--------------------------------------------------------------------===// -// Profiler History Size -//===--------------------------------------------------------------------===// -void ProfilerHistorySize::ResetLocal(ClientContext &context) { - auto &client_data = ClientData::Get(context); - client_data.query_profiler_history->ResetProfilerHistorySize(); -} - -void ProfilerHistorySize::SetLocal(ClientContext &context, const Value &input) { - auto size = input.GetValue(); - if (size <= 0) { - throw ParserException("Size should be >= 0"); - } - auto &client_data = ClientData::Get(context); - client_data.query_profiler_history->SetProfilerHistorySize(size); -} - -Value ProfilerHistorySize::GetSetting(ClientContext &context) { - return Value(); -} - //===--------------------------------------------------------------------===// // Profile Output //===--------------------------------------------------------------------===// @@ -1121,6 +1191,22 @@ Value SearchPathSetting::GetSetting(ClientContext &context) { return Value(CatalogSearchEntry::ListToString(set_paths)); } +//===--------------------------------------------------------------------===// +// Secret Directory +//===--------------------------------------------------------------------===// +void SecretDirectorySetting::SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &input) { + config.secret_manager->SetPersistentSecretPath(input.ToString()); +} + +void SecretDirectorySetting::ResetGlobal(DatabaseInstance *db, DBConfig &config) { + config.secret_manager->ResetPersistentSecretPath(); +} + +Value SecretDirectorySetting::GetSetting(ClientContext &context) { + auto &config = DBConfig::GetConfig(context); + return config.secret_manager->PersistentSecretPath(); +} + //===--------------------------------------------------------------------===// // Temp Directory //===--------------------------------------------------------------------===// @@ -1151,14 +1237,23 @@ Value TempDirectorySetting::GetSetting(ClientContext &context) { // Threads Setting //===--------------------------------------------------------------------===// void ThreadsSetting::SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &input) { - config.options.maximum_threads = input.GetValue(); + auto new_val = input.GetValue(); + if (new_val < 1) { + throw SyntaxException("Must have at least 1 thread!"); + } + idx_t new_maximum_threads = new_val; if (db) { - TaskScheduler::GetScheduler(*db).SetThreads(config.options.maximum_threads); + TaskScheduler::GetScheduler(*db).SetThreads(new_maximum_threads, config.options.external_threads); } + config.options.maximum_threads = new_maximum_threads; } void ThreadsSetting::ResetGlobal(DatabaseInstance *db, DBConfig &config) { - config.SetDefaultMaxThreads(); + idx_t new_maximum_threads = config.GetSystemMaxThreads(*config.file_system); + if (db) { + TaskScheduler::GetScheduler(*db).SetThreads(new_maximum_threads, config.options.external_threads); + } + config.options.maximum_threads = new_maximum_threads; } Value ThreadsSetting::GetSetting(ClientContext &context) { @@ -1212,14 +1307,14 @@ void DuckDBApiSetting::SetGlobal(DatabaseInstance *db, DBConfig &config, const V if (db) { throw InvalidInputException("Cannot change duckdb_api setting while database is running"); } - config.options.duckdb_api += " " + new_value; + config.options.duckdb_api = new_value; } void DuckDBApiSetting::ResetGlobal(DatabaseInstance *db, DBConfig &config) { if (db) { throw InvalidInputException("Cannot change duckdb_api setting while database is running"); } - config.options.duckdb_api = DBConfig().options.duckdb_api; + config.options.duckdb_api = GetDefaultUserAgent(); } Value DuckDBApiSetting::GetSetting(ClientContext &context) { diff --git a/src/main/stream_query_result.cpp b/src/main/stream_query_result.cpp index 003a87863bbb..73ab07c39d4e 100644 --- a/src/main/stream_query_result.cpp +++ b/src/main/stream_query_result.cpp @@ -3,16 +3,17 @@ #include "duckdb/main/client_context.hpp" #include "duckdb/main/materialized_query_result.hpp" #include "duckdb/common/box_renderer.hpp" +#include "duckdb/main/database.hpp" namespace duckdb { StreamQueryResult::StreamQueryResult(StatementType statement_type, StatementProperties properties, - shared_ptr context_p, vector types, - vector names) + vector types, vector names, + ClientProperties client_properties, shared_ptr data) : QueryResult(QueryResultType::STREAM_RESULT, statement_type, std::move(properties), std::move(types), - std::move(names), context_p->GetClientProperties()), - context(std::move(context_p)) { - D_ASSERT(context); + std::move(names), std::move(client_properties)), + buffered_data(std::move(data)) { + context = buffered_data->GetContext(); } StreamQueryResult::~StreamQueryResult() { @@ -40,14 +41,41 @@ unique_ptr StreamQueryResult::LockContext() { return context->LockContext(); } -void StreamQueryResult::CheckExecutableInternal(ClientContextLock &lock) { - if (!IsOpenInternal(lock)) { - string error_str = "Attempting to execute an unsuccessful or closed pending query result"; - if (HasError()) { - error_str += StringUtil::Format("\nError: %s", GetError()); +unique_ptr StreamQueryResult::FetchInternal(ClientContextLock &lock) { + bool invalidate_query = true; + unique_ptr chunk; + try { + // fetch the chunk and return it + auto res = buffered_data->ReplenishBuffer(*this, lock); + if (res == PendingExecutionResult::EXECUTION_ERROR) { + return chunk; } - throw InvalidInputException(error_str); - } + chunk = buffered_data->Scan(); + if (!chunk || chunk->ColumnCount() == 0 || chunk->size() == 0) { + context->CleanupInternal(lock, this); + chunk = nullptr; + } + return chunk; + } catch (std::exception &ex) { + ErrorData error(ex); + if (!Exception::InvalidatesTransaction(error.Type())) { + // standard exceptions do not invalidate the current transaction + invalidate_query = false; + } else if (Exception::InvalidatesDatabase(error.Type())) { + // fatal exceptions invalidate the entire database + auto &config = context->config; + if (!config.query_verification_enabled) { + auto &db_instance = DatabaseInstance::GetDatabase(*context); + ValidChecker::Invalidate(db_instance, error.RawMessage()); + } + } + context->ProcessError(error, context->GetCurrentQuery()); + SetError(std::move(error)); + } catch (...) { // LCOV_EXCL_START + SetError(ErrorData("Unhandled exception in FetchInternal")); + } // LCOV_EXCL_STOP + context->CleanupInternal(lock, this, invalidate_query); + return nullptr; } unique_ptr StreamQueryResult::FetchRaw() { @@ -55,7 +83,7 @@ unique_ptr StreamQueryResult::FetchRaw() { { auto lock = LockContext(); CheckExecutableInternal(*lock); - chunk = context->Fetch(*lock, *this); + chunk = FetchInternal(*lock); } if (!chunk || chunk->ColumnCount() == 0 || chunk->size() == 0) { Close(); @@ -90,11 +118,21 @@ unique_ptr StreamQueryResult::Materialize() { bool StreamQueryResult::IsOpenInternal(ClientContextLock &lock) { bool invalidated = !success || !context; if (!invalidated) { - invalidated = !context->IsActiveResult(lock, this); + invalidated = !context->IsActiveResult(lock, *this); } return !invalidated; } +void StreamQueryResult::CheckExecutableInternal(ClientContextLock &lock) { + if (!IsOpenInternal(lock)) { + string error_str = "Attempting to execute an unsuccessful or closed pending query result"; + if (HasError()) { + error_str += StringUtil::Format("\nError: %s", GetError()); + } + throw InvalidInputException(error_str); + } +} + bool StreamQueryResult::IsOpen() { if (!success || !context) { return false; @@ -104,6 +142,7 @@ bool StreamQueryResult::IsOpen() { } void StreamQueryResult::Close() { + buffered_data->Close(); context.reset(); } diff --git a/src/optimizer/column_lifetime_analyzer.cpp b/src/optimizer/column_lifetime_analyzer.cpp index 23f99f755809..4d30d5f7f59a 100644 --- a/src/optimizer/column_lifetime_analyzer.cpp +++ b/src/optimizer/column_lifetime_analyzer.cpp @@ -110,6 +110,12 @@ void ColumnLifetimeAnalyzer::VisitOperator(LogicalOperator &op) { analyzer.VisitOperator(*op.children[0]); return; } + case LogicalOperatorType::LOGICAL_ORDER_BY: + // order by, for now reference all columns + // FIXME: for ORDER BY we remove columns below an ORDER BY, we just need to make sure that the projections are + // updated + everything_referenced = true; + break; case LogicalOperatorType::LOGICAL_DISTINCT: { // distinct, all projected columns are used for the DISTINCT computation // mark all columns as used and continue to the children diff --git a/src/optimizer/cse_optimizer.cpp b/src/optimizer/cse_optimizer.cpp index 3a17c9421577..1442a9a3f191 100644 --- a/src/optimizer/cse_optimizer.cpp +++ b/src/optimizer/cse_optimizer.cpp @@ -58,7 +58,7 @@ void CommonSubExpressionOptimizer::CountExpressions(Expression &expr, CSEReplace default: break; } - if (expr.expression_class != ExpressionClass::BOUND_AGGREGATE && !expr.HasSideEffects()) { + if (expr.expression_class != ExpressionClass::BOUND_AGGREGATE && !expr.IsVolatile()) { // we can't move aggregates to a projection, so we only consider the children of the aggregate auto node = state.expression_count.find(expr); if (node == state.expression_count.end()) { diff --git a/src/optimizer/deliminator.cpp b/src/optimizer/deliminator.cpp index 0e45c4d86ee6..2771222e7af5 100644 --- a/src/optimizer/deliminator.cpp +++ b/src/optimizer/deliminator.cpp @@ -1,7 +1,5 @@ #include "duckdb/optimizer/deliminator.hpp" -#include "duckdb/optimizer/join_order/join_order_optimizer.hpp" -#include "duckdb/optimizer/remove_duplicate_groups.hpp" #include "duckdb/planner/expression/bound_cast_expression.hpp" #include "duckdb/planner/expression/bound_columnref_expression.hpp" #include "duckdb/planner/expression/bound_conjunction_expression.hpp" @@ -10,9 +8,20 @@ #include "duckdb/planner/operator/logical_comparison_join.hpp" #include "duckdb/planner/operator/logical_delim_get.hpp" #include "duckdb/planner/operator/logical_filter.hpp" +#include "duckdb/planner/operator/logical_get.hpp" +#include "duckdb/planner/table_filter.hpp" + +#include namespace duckdb { +struct JoinWithDelimGet { + JoinWithDelimGet(unique_ptr &join_p, idx_t depth_p) : join(join_p), depth(depth_p) { + } + reference> join; + idx_t depth; +}; + struct DelimCandidate { public: explicit DelimCandidate(unique_ptr &op, LogicalComparisonJoin &delim_join) @@ -22,7 +31,7 @@ struct DelimCandidate { public: unique_ptr &op; LogicalComparisonJoin &delim_join; - vector>> joins; + vector joins; idx_t delim_get_count; }; @@ -42,15 +51,30 @@ unique_ptr Deliminator::Optimize(unique_ptr op vector candidates; FindCandidates(op, candidates); + if (candidates.empty()) { + return op; + } + for (auto &candidate : candidates) { auto &delim_join = candidate.delim_join; + // Sort these so the deepest are first + std::sort(candidate.joins.begin(), candidate.joins.end(), + [](const JoinWithDelimGet &lhs, const JoinWithDelimGet &rhs) { return lhs.depth > rhs.depth; }); + bool all_removed = true; + if (!candidate.joins.empty() && HasSelection(delim_join)) { + // Keep the deepest join with DelimGet in these cases, + // as the selection can greatly reduce the cost of the RHS child of the DelimJoin + candidate.joins.erase(candidate.joins.begin()); + all_removed = false; + } + bool all_equality_conditions = true; for (auto &join : candidate.joins) { - all_removed = - RemoveJoinWithDelimGet(delim_join, candidate.delim_get_count, join, all_equality_conditions) && - all_removed; + all_removed = RemoveJoinWithDelimGet(delim_join, candidate.delim_get_count, join.join.get(), + all_equality_conditions) && + all_removed; } // Change type if there are no more duplicate-eliminated columns @@ -65,13 +89,18 @@ unique_ptr Deliminator::Optimize(unique_ptr op } } } + + // Only DelimJoins are ever created as SINGLE joins, + // and we can switch from SINGLE to LEFT if the RHS is de-duplicated by an aggr + if (delim_join.join_type == JoinType::SINGLE) { + TrySwitchSingleToLeft(delim_join); + } } return op; } void Deliminator::FindCandidates(unique_ptr &op, vector &candidates) { - // Search children before adding, so the deepest candidates get added first for (auto &child : op->children) { FindCandidates(child, candidates); } @@ -87,6 +116,33 @@ void Deliminator::FindCandidates(unique_ptr &op, vectorchildren[1], candidate); } +bool Deliminator::HasSelection(const LogicalOperator &op) { + // TODO once we implement selectivity estimation using samples we need to use that here + switch (op.type) { + case LogicalOperatorType::LOGICAL_GET: { + auto &get = op.Cast(); + for (const auto &filter : get.table_filters.filters) { + if (filter.second->filter_type != TableFilterType::IS_NOT_NULL) { + return true; + } + } + break; + } + case LogicalOperatorType::LOGICAL_FILTER: + return true; + default: + break; + } + + for (auto &child : op.children) { + if (HasSelection(*child)) { + return true; + } + } + + return false; +} + static bool OperatorIsDelimGet(LogicalOperator &op) { if (op.type == LogicalOperatorType::LOGICAL_DELIM_GET) { return true; @@ -98,20 +154,20 @@ static bool OperatorIsDelimGet(LogicalOperator &op) { return false; } -void Deliminator::FindJoinWithDelimGet(unique_ptr &op, DelimCandidate &candidate) { +void Deliminator::FindJoinWithDelimGet(unique_ptr &op, DelimCandidate &candidate, idx_t depth) { if (op->type == LogicalOperatorType::LOGICAL_DELIM_JOIN) { - FindJoinWithDelimGet(op->children[0], candidate); + FindJoinWithDelimGet(op->children[0], candidate, depth + 1); } else if (op->type == LogicalOperatorType::LOGICAL_DELIM_GET) { candidate.delim_get_count++; } else { for (auto &child : op->children) { - FindJoinWithDelimGet(child, candidate); + FindJoinWithDelimGet(child, candidate, depth + 1); } } if (op->type == LogicalOperatorType::LOGICAL_COMPARISON_JOIN && (OperatorIsDelimGet(*op->children[0]) || OperatorIsDelimGet(*op->children[1]))) { - candidate.joins.emplace_back(op); + candidate.joins.emplace_back(op, depth); } } @@ -230,8 +286,8 @@ bool Deliminator::RemoveInequalityJoinWithDelimGet(LogicalComparisonJoin &delim_ } // TODO: we cannot perform the optimization here because our pure inequality joins don't implement - // JoinType::SINGLE yet - if (delim_join.join_type == JoinType::SINGLE) { + // JoinType::SINGLE yet, and JoinType::MARK is a special case + if (delim_join.join_type == JoinType::SINGLE || delim_join.join_type == JoinType::MARK) { bool has_one_equality = false; for (auto &cond : join_conditions) { has_one_equality = has_one_equality || IsEqualityJoinCondition(cond); @@ -283,7 +339,22 @@ bool Deliminator::RemoveInequalityJoinWithDelimGet(LogicalComparisonJoin &delim_ auto &delim_side = delim_idx == 0 ? *join_condition.left : *join_condition.right; auto &colref = delim_side.Cast(); if (colref.binding == traced_binding) { - delim_condition.comparison = FlipComparisonExpression(join_condition.comparison); + auto join_comparison = join_condition.comparison; + if (delim_condition.comparison == ExpressionType::COMPARE_DISTINCT_FROM || + delim_condition.comparison == ExpressionType::COMPARE_NOT_DISTINCT_FROM) { + // We need to compare NULL values + if (join_comparison == ExpressionType::COMPARE_EQUAL) { + join_comparison = ExpressionType::COMPARE_NOT_DISTINCT_FROM; + } else if (join_comparison == ExpressionType::COMPARE_NOTEQUAL) { + join_comparison = ExpressionType::COMPARE_DISTINCT_FROM; + } else if (join_comparison != ExpressionType::COMPARE_DISTINCT_FROM && + join_comparison != ExpressionType::COMPARE_NOT_DISTINCT_FROM) { + // The optimization does not work here + found = false; + break; + } + } + delim_condition.comparison = FlipComparisonExpression(join_comparison); found = true; break; } @@ -294,4 +365,55 @@ bool Deliminator::RemoveInequalityJoinWithDelimGet(LogicalComparisonJoin &delim_ return found_all; } +void Deliminator::TrySwitchSingleToLeft(LogicalComparisonJoin &delim_join) { + D_ASSERT(delim_join.join_type == JoinType::SINGLE); + + // Collect RHS bindings + vector join_bindings; + for (const auto &cond : delim_join.conditions) { + if (!IsEqualityJoinCondition(cond)) { + return; + } + if (cond.right->type != ExpressionType::BOUND_COLUMN_REF) { + return; + } + auto &colref = cond.right->Cast(); + join_bindings.emplace_back(colref.binding); + } + + // Now try to find an aggr in the RHS such that the join_column_bindings is a superset of the groups + reference current_op = *delim_join.children[1]; + while (current_op.get().type != LogicalOperatorType::LOGICAL_AGGREGATE_AND_GROUP_BY) { + if (current_op.get().children.size() != 1) { + return; + } + + switch (current_op.get().type) { + case LogicalOperatorType::LOGICAL_PROJECTION: + FindAndReplaceBindings(join_bindings, current_op.get().expressions, current_op.get().GetColumnBindings()); + break; + case LogicalOperatorType::LOGICAL_FILTER: + break; // Doesn't change bindings + default: + return; + } + current_op = *current_op.get().children[0]; + } + + D_ASSERT(current_op.get().type == LogicalOperatorType::LOGICAL_AGGREGATE_AND_GROUP_BY); + const auto &aggr = current_op.get().Cast(); + if (!aggr.grouping_functions.empty()) { + return; + } + + for (idx_t group_idx = 0; group_idx < aggr.groups.size(); group_idx++) { + if (std::find(join_bindings.begin(), join_bindings.end(), ColumnBinding(aggr.group_index, group_idx)) == + join_bindings.end()) { + return; + } + } + + delim_join.join_type = JoinType::LEFT; +} + } // namespace duckdb diff --git a/src/optimizer/filter_combiner.cpp b/src/optimizer/filter_combiner.cpp index 9461c20006fc..ed0443796021 100644 --- a/src/optimizer/filter_combiner.cpp +++ b/src/optimizer/filter_combiner.cpp @@ -13,6 +13,7 @@ #include "duckdb/planner/table_filter.hpp" #include "duckdb/planner/filter/constant_filter.hpp" #include "duckdb/planner/filter/null_filter.hpp" +#include "duckdb/planner/filter/struct_filter.hpp" #include "duckdb/optimizer/optimizer.hpp" namespace duckdb { @@ -391,6 +392,45 @@ bool FilterCombiner::HasFilters() { // return zonemap_checks; // } +// Try to extract a column index from a bound column ref expression, or a column ref recursively nested +// inside of a struct_extract call. If the expression is not a column ref (or nested column ref), return false. +static bool TryGetBoundColumnIndex(const vector &column_ids, const Expression &expr, idx_t &result) { + switch (expr.type) { + case ExpressionType::BOUND_COLUMN_REF: { + auto &ref = expr.Cast(); + result = column_ids[ref.binding.column_index]; + return true; + } + case ExpressionType::BOUND_FUNCTION: { + auto &func = expr.Cast(); + if (func.function.name == "struct_extract") { + auto &child_expr = func.children[0]; + return TryGetBoundColumnIndex(column_ids, *child_expr, result); + } + return false; + } + default: + return false; + } +} + +// Try to push down a filter into a expression by recursively wrapping any nested expressions in StructFilters. +// If the expression is not a struct_extract, return the inner_filter unchanged. +static unique_ptr PushDownFilterIntoExpr(const Expression &expr, unique_ptr inner_filter) { + if (expr.type == ExpressionType::BOUND_FUNCTION) { + auto &func = expr.Cast(); + if (func.function.name == "struct_extract") { + auto &child_expr = func.children[0]; + auto child_name = func.children[1]->Cast().value.GetValue(); + auto child_index = StructType::GetChildIndexUnsafe(func.children[0]->return_type, child_name); + + inner_filter = make_uniq(child_index, child_name, std::move(inner_filter)); + return PushDownFilterIntoExpr(*child_expr, std::move(inner_filter)); + } + } + return inner_filter; +} + TableFilterSet FilterCombiner::GenerateTableScanFilters(vector &column_ids) { TableFilterSet table_filters; //! First, we figure the filters that have constant expressions that we can push down to the table scan @@ -407,28 +447,35 @@ TableFilterSet FilterCombiner::GenerateTableScanFilters(vector &column_id constant_value.second[0].constant.type().InternalType() == PhysicalType::BOOL)) { //! Here we check if these filters are column references filter_exp = equivalence_map.find(constant_value.first); - if (filter_exp->second.size() == 1 && - filter_exp->second[0].get().type == ExpressionType::BOUND_COLUMN_REF) { - auto &filter_col_exp = filter_exp->second[0].get().Cast(); - auto column_index = column_ids[filter_col_exp.binding.column_index]; - if (column_index == COLUMN_IDENTIFIER_ROW_ID) { - break; - } - auto equivalence_set = filter_exp->first; - auto &entries = filter_exp->second; - auto &constant_list = constant_values.find(equivalence_set)->second; - // for each entry generate an equality expression comparing to each other - for (idx_t i = 0; i < entries.size(); i++) { - // for each entry also create a comparison with each constant - for (idx_t k = 0; k < constant_list.size(); k++) { - auto constant_filter = make_uniq(constant_value.second[k].comparison_type, - constant_value.second[k].constant); - table_filters.PushFilter(column_index, std::move(constant_filter)); - } - table_filters.PushFilter(column_index, make_uniq()); - } - equivalence_map.erase(filter_exp); + + if (filter_exp->second.size() != 1) { + continue; + } + + auto &expr = filter_exp->second[0]; + auto equiv_set = filter_exp->first; + + // Try to get the column index, either from bound column ref, or a column ref nested inside of a + // struct_extract call + idx_t column_index; + if (!TryGetBoundColumnIndex(column_ids, expr, column_index)) { + continue; + } + if (column_index == COLUMN_IDENTIFIER_ROW_ID) { + break; } + + auto &constant_list = constant_values.find(equiv_set)->second; + for (auto &constant_cmp : constant_list) { + auto constant_filter = + make_uniq(constant_cmp.comparison_type, constant_cmp.constant); + table_filters.PushFilter(column_index, PushDownFilterIntoExpr(expr, std::move(constant_filter))); + } + // We need to apply a IS NOT NULL filter to the column expression because any comparison with NULL + // is always false. + table_filters.PushFilter(column_index, PushDownFilterIntoExpr(expr, make_uniq())); + + equivalence_map.erase(filter_exp); } } } @@ -593,7 +640,7 @@ FilterResult FilterCombiner::AddBoundComparisonFilter(Expression &expr) { auto &scalar = left_is_scalar ? comparison.left : comparison.right; Value constant_value; if (!ExpressionExecutor::TryEvaluateScalar(context, *scalar, constant_value)) { - return FilterResult::UNSATISFIABLE; + return FilterResult::UNSUPPORTED; } if (constant_value.IsNull()) { // comparisons with null are always null (i.e. will never result in rows) @@ -608,7 +655,9 @@ FilterResult FilterCombiner::AddBoundComparisonFilter(Expression &expr) { // get the current bucket of constant values D_ASSERT(constant_values.find(equivalence_set) != constant_values.end()); auto &info_list = constant_values.find(equivalence_set)->second; - D_ASSERT(node.return_type == info.constant.type()); + if (node.return_type != info.constant.type()) { + return FilterResult::UNSUPPORTED; + } // check the existing constant comparisons to see if we can do any pruning auto ret = AddConstantComparison(info_list, info); @@ -627,9 +676,6 @@ FilterResult FilterCombiner::AddBoundComparisonFilter(Expression &expr) { // comparison between two non-scalars // only handle comparisons for now if (expr.type != ExpressionType::COMPARE_EQUAL) { - if (IsGreaterThan(expr.type) || IsLessThan(expr.type)) { - return AddTransitiveFilters(comparison); - } return FilterResult::UNSUPPORTED; } // get the LHS and RHS nodes diff --git a/src/optimizer/filter_pushdown.cpp b/src/optimizer/filter_pushdown.cpp index 1a38ad2aee6c..35d756a94c75 100644 --- a/src/optimizer/filter_pushdown.cpp +++ b/src/optimizer/filter_pushdown.cpp @@ -75,6 +75,9 @@ unique_ptr FilterPushdown::PushdownJoin(unique_ptr namespace duckdb { diff --git a/src/optimizer/join_order/join_node.cpp b/src/optimizer/join_order/join_node.cpp index 1786bd499148..ef8baa084bcf 100644 --- a/src/optimizer/join_order/join_node.cpp +++ b/src/optimizer/join_order/join_node.cpp @@ -33,4 +33,8 @@ string JoinNode::ToString() { return result; } +void JoinNode::Print() { + Printer::Print(ToString()); +} + } // namespace duckdb diff --git a/src/optimizer/join_order/join_order_optimizer.cpp b/src/optimizer/join_order/join_order_optimizer.cpp index 14c6ac1badab..1b259a3c5bad 100644 --- a/src/optimizer/join_order/join_order_optimizer.cpp +++ b/src/optimizer/join_order/join_order_optimizer.cpp @@ -1,16 +1,13 @@ #include "duckdb/optimizer/join_order/join_order_optimizer.hpp" #include "duckdb/optimizer/join_order/cost_model.hpp" #include "duckdb/optimizer/join_order/plan_enumerator.hpp" - +#include "duckdb/common/enums/join_type.hpp" #include "duckdb/common/limits.hpp" #include "duckdb/common/pair.hpp" #include "duckdb/planner/expression/list.hpp" #include "duckdb/planner/expression_iterator.hpp" #include "duckdb/planner/operator/list.hpp" -#include -#include - namespace duckdb { static bool HasJoin(LogicalOperator *op) { @@ -60,13 +57,13 @@ unique_ptr JoinOrderOptimizer::Optimize(unique_ptrestimated_cardinality = relation_stats.at(0).cardinality; + new_logical_plan->has_estimated_cardinality = true; } } // only perform left right optimizations when stats is null (means we have the top level optimize call) // Don't check reorderability because non-reorderable joins will result in 1 relation, but we can // still switch the children. - // TODO: put this in a different optimizer maybe? if (stats == nullptr && HasJoin(new_logical_plan.get())) { new_logical_plan = query_graph_manager.LeftRightOptimizations(std::move(new_logical_plan)); } @@ -76,7 +73,7 @@ unique_ptr JoinOrderOptimizer::Optimize(unique_ptrEstimateCardinality(context); auto bindings = new_logical_plan->GetColumnBindings(); auto new_stats = RelationStatisticsHelper::CombineStatsOfReorderableOperator(bindings, relation_stats); - new_stats.cardinality = MaxValue(cardinality, new_stats.cardinality); + new_stats.cardinality = cardinality; RelationStatisticsHelper::CopyRelationStats(*stats, new_stats); } diff --git a/src/optimizer/join_order/join_relation_set.cpp b/src/optimizer/join_order/join_relation_set.cpp index 576d5eabee13..d08ac4c89bb7 100644 --- a/src/optimizer/join_order/join_relation_set.cpp +++ b/src/optimizer/join_order/join_relation_set.cpp @@ -1,4 +1,5 @@ #include "duckdb/optimizer/join_order/join_relation.hpp" +#include "duckdb/common/printer.hpp" #include "duckdb/common/string_util.hpp" #include "duckdb/common/to_string.hpp" @@ -139,4 +140,23 @@ JoinRelationSet &JoinRelationSetManager::Union(JoinRelationSet &left, JoinRelati // return GetJoinRelation(std::move(relations), count); // } +static string JoinRelationTreeNodeToString(const JoinRelationTreeNode *node) { + string result = ""; + if (node->relation) { + result += node->relation.get()->ToString() + "\n"; + } + for (auto &child : node->children) { + result += JoinRelationTreeNodeToString(child.second.get()); + } + return result; +} + +string JoinRelationSetManager::ToString() const { + return JoinRelationTreeNodeToString(&root); +} + +void JoinRelationSetManager::Print() { + Printer::Print(ToString()); +} + } // namespace duckdb diff --git a/src/optimizer/join_order/query_graph_manager.cpp b/src/optimizer/join_order/query_graph_manager.cpp index 1d5e815f95ea..b8835265b843 100644 --- a/src/optimizer/join_order/query_graph_manager.cpp +++ b/src/optimizer/join_order/query_graph_manager.cpp @@ -1,13 +1,15 @@ #include "duckdb/optimizer/join_order/query_graph_manager.hpp" -#include "duckdb/planner/logical_operator.hpp" -#include "duckdb/optimizer/join_order/join_relation.hpp" + +#include "duckdb/common/assert.hpp" #include "duckdb/common/enums/join_type.hpp" -#include "duckdb/planner/operator/list.hpp" -#include "duckdb/planner/expression_iterator.hpp" -#include "duckdb/planner/expression/bound_comparison_expression.hpp" #include "duckdb/common/printer.hpp" #include "duckdb/common/string_util.hpp" -#include "duckdb/common/assert.hpp" +#include "duckdb/execution/physical_plan_generator.hpp" +#include "duckdb/optimizer/join_order/join_relation.hpp" +#include "duckdb/planner/expression/bound_comparison_expression.hpp" +#include "duckdb/planner/expression_iterator.hpp" +#include "duckdb/planner/logical_operator.hpp" +#include "duckdb/planner/operator/list.hpp" namespace duckdb { @@ -118,7 +120,7 @@ static unique_ptr ExtractJoinRelation(unique_ptr QueryGraphManager::Reconstruct(unique_ptr plan, JoinNode &node) { @@ -333,12 +335,33 @@ unique_ptr QueryGraphManager::RewritePlan(unique_ptrhas_estimated_cardinality && op.children[1]->has_estimated_cardinality) { - return op.children[0]->estimated_cardinality < op.children[1]->estimated_cardinality; +static void FlipChildren(LogicalOperator &op) { + std::swap(op.children[0], op.children[1]); + if (op.type == LogicalOperatorType::LOGICAL_COMPARISON_JOIN || op.type == LogicalOperatorType::LOGICAL_DELIM_JOIN) { + auto &join = op.Cast(); + join.join_type = InverseJoinType(join.join_type); + for (auto &cond : join.conditions) { + std::swap(cond.left, cond.right); + cond.comparison = FlipComparisonExpression(cond.comparison); + } + } + if (op.type == LogicalOperatorType::LOGICAL_ANY_JOIN) { + auto &join = op.Cast(); + join.join_type = InverseJoinType(join.join_type); } - return op.children[0]->EstimateCardinality(context) < op.children[1]->EstimateCardinality(context); +} + +void QueryGraphManager::TryFlipChildren(LogicalOperator &op, idx_t cardinality_ratio) { + auto &left_child = op.children[0]; + auto &right_child = op.children[1]; + auto lhs_cardinality = left_child->has_estimated_cardinality ? left_child->estimated_cardinality + : left_child->EstimateCardinality(context); + auto rhs_cardinality = right_child->has_estimated_cardinality ? right_child->estimated_cardinality + : right_child->EstimateCardinality(context); + if (rhs_cardinality < lhs_cardinality * cardinality_ratio) { + return; + } + FlipChildren(op); } unique_ptr QueryGraphManager::LeftRightOptimizations(unique_ptr input_op) { @@ -349,45 +372,53 @@ unique_ptr QueryGraphManager::LeftRightOptimizations(unique_ptr switch (op->type) { case LogicalOperatorType::LOGICAL_COMPARISON_JOIN: { auto &join = op->Cast(); - if (join.join_type == JoinType::INNER) { - if (LeftCardLessThanRight(*op)) { - std::swap(op->children[0], op->children[1]); - for (auto &cond : join.conditions) { - std::swap(cond.left, cond.right); - cond.comparison = FlipComparisonExpression(cond.comparison); - } + + switch (join.join_type) { + case JoinType::INNER: + case JoinType::OUTER: + TryFlipChildren(join); + break; + case JoinType::LEFT: + case JoinType::RIGHT: + if (join.right_projection_map.empty()) { + TryFlipChildren(join, 2); } - } else if (join.join_type == JoinType::LEFT && join.right_projection_map.empty()) { - auto lhs_cardinality = join.children[0]->EstimateCardinality(context); - auto rhs_cardinality = join.children[1]->EstimateCardinality(context); - if (rhs_cardinality > lhs_cardinality * 2) { - join.join_type = JoinType::RIGHT; - std::swap(join.children[0], join.children[1]); - for (auto &cond : join.conditions) { - std::swap(cond.left, cond.right); - cond.comparison = FlipComparisonExpression(cond.comparison); - } + break; + case JoinType::SEMI: + case JoinType::ANTI: { + idx_t has_range = 0; + if (!PhysicalPlanGenerator::HasEquality(join.conditions, has_range)) { + // if the conditions have no equality, do not flip the children. + // There is no physical join operator (yet) that can do a right_semi/anti join. + break; } + TryFlipChildren(join, 2); + break; + } + default: + break; } break; } case LogicalOperatorType::LOGICAL_CROSS_PRODUCT: { - if (LeftCardLessThanRight(*op)) { - std::swap(op->children[0], op->children[1]); - } + // cross product not a comparison join so JoinType::INNER will get ignored + TryFlipChildren(*op, 1); break; } case LogicalOperatorType::LOGICAL_ANY_JOIN: { auto &join = op->Cast(); if (join.join_type == JoinType::LEFT && join.right_projection_map.empty()) { - auto lhs_cardinality = join.children[0]->EstimateCardinality(context); - auto rhs_cardinality = join.children[1]->EstimateCardinality(context); - if (rhs_cardinality > lhs_cardinality * 2) { - join.join_type = JoinType::RIGHT; - std::swap(join.children[0], join.children[1]); - } - } else if (join.join_type == JoinType::INNER && LeftCardLessThanRight(*op)) { - std::swap(join.children[0], join.children[1]); + TryFlipChildren(join, 2); + } else if (join.join_type == JoinType::INNER) { + TryFlipChildren(join, 1); + } + break; + } + case LogicalOperatorType::LOGICAL_DELIM_JOIN: { + auto &join = op->Cast(); + if (HasInverseJoinType(join.join_type) && join.right_projection_map.empty()) { + FlipChildren(join); + join.delim_flipped = true; } break; } diff --git a/src/optimizer/join_order/relation_manager.cpp b/src/optimizer/join_order/relation_manager.cpp index 0af2a25c3a71..2476d2b8e766 100644 --- a/src/optimizer/join_order/relation_manager.cpp +++ b/src/optimizer/join_order/relation_manager.cpp @@ -3,6 +3,7 @@ #include "duckdb/optimizer/join_order/relation_statistics_helper.hpp" #include "duckdb/common/printer.hpp" #include "duckdb/common/string_util.hpp" +#include "duckdb/common/enums/join_type.hpp" #include "duckdb/parser/expression_map.hpp" #include "duckdb/planner/expression_iterator.hpp" #include "duckdb/planner/expression/list.hpp" @@ -130,9 +131,6 @@ bool RelationManager::ExtractJoinRelations(LogicalOperator &input_op, } filter_operators.push_back(*op); } - if (op->type == LogicalOperatorType::LOGICAL_SHOW) { - return false; - } op = op->children[0].get(); } bool non_reorderable_operation = false; @@ -183,6 +181,9 @@ bool RelationManager::ExtractJoinRelations(LogicalOperator &input_op, op->children[0] = optimizer.Optimize(std::move(op->children[0]), &child_stats); auto &aggr = op->Cast(); auto operator_stats = RelationStatisticsHelper::ExtractAggregationStats(aggr, child_stats); + if (!datasource_filters.empty()) { + operator_stats.cardinality *= RelationStatisticsHelper::DEFAULT_SELECTIVITY; + } AddAggregateRelation(input_op, parent, operator_stats); return true; } @@ -248,6 +249,14 @@ bool RelationManager::ExtractJoinRelations(LogicalOperator &input_op, AddRelation(input_op, parent, proj_stats); return true; } + case LogicalOperatorType::LOGICAL_EMPTY_RESULT: { + // optimize the child and copy the stats + auto &empty_result = op->Cast(); + // Projection can create columns so we need to add them here + auto stats = RelationStatisticsHelper::ExtractEmptyResultStats(empty_result); + AddRelation(input_op, parent, stats); + return true; + } default: return false; } diff --git a/src/optimizer/join_order/relation_statistics_helper.cpp b/src/optimizer/join_order/relation_statistics_helper.cpp index 0dce879b7428..94f5ddeb8b47 100644 --- a/src/optimizer/join_order/relation_statistics_helper.cpp +++ b/src/optimizer/join_order/relation_statistics_helper.cpp @@ -226,6 +226,46 @@ RelationStats RelationStatisticsHelper::CombineStatsOfNonReorderableOperator(Log idx_t child_1_card = child_stats[0].stats_initialized ? child_stats[0].cardinality : 0; idx_t child_2_card = child_stats[1].stats_initialized ? child_stats[1].cardinality : 0; ret.cardinality = MaxValue(child_1_card, child_2_card); + switch (op.type) { + case LogicalOperatorType::LOGICAL_COMPARISON_JOIN: { + auto &join = op.Cast(); + switch (join.join_type) { + case JoinType::RIGHT_ANTI: + case JoinType::RIGHT_SEMI: + ret.cardinality = child_2_card; + break; + case JoinType::ANTI: + case JoinType::SEMI: + case JoinType::SINGLE: + ret.cardinality = child_1_card; + break; + default: + break; + } + break; + } + case LogicalOperatorType::LOGICAL_UNION: { + auto &setop = op.Cast(); + if (setop.setop_all) { + // setop returns all records + ret.cardinality = child_1_card + child_2_card; + } else { + ret.cardinality = MaxValue(child_1_card, child_2_card); + } + break; + } + case LogicalOperatorType::LOGICAL_INTERSECT: { + ret.cardinality = MinValue(child_1_card, child_2_card); + break; + } + case LogicalOperatorType::LOGICAL_EXCEPT: { + ret.cardinality = child_1_card; + break; + } + default: + break; + } + ret.stats_initialized = true; ret.filter_strength = 1; ret.table_name = child_stats[0].table_name + " joined with " + child_stats[1].table_name; @@ -280,6 +320,32 @@ RelationStats RelationStatisticsHelper::ExtractAggregationStats(LogicalAggregate // TODO: look at child distinct count to better estimate cardinality. stats.cardinality = child_stats.cardinality; stats.column_distinct_count = child_stats.column_distinct_count; + double new_card = -1; + for (auto &g_set : aggr.grouping_sets) { + for (auto &ind : g_set) { + if (aggr.groups[ind]->expression_class != ExpressionClass::BOUND_COLUMN_REF) { + continue; + } + auto bound_col = &aggr.groups[ind]->Cast(); + auto col_index = bound_col->binding.column_index; + if (col_index >= child_stats.column_distinct_count.size()) { + // it is possible the column index of the grouping_set is not in the child stats. + // this can happen when delim joins are present, since delim scans are not currently + // reorderable. Meaning they don't add a relation or column_ids that could potentially + // be grouped by. Hopefully this can be fixed with duckdb-internal#606 + continue; + } + if (new_card < child_stats.column_distinct_count[col_index].distinct_count) { + new_card = child_stats.column_distinct_count[col_index].distinct_count; + } + } + } + if (new_card < 0 || new_card >= child_stats.cardinality) { + // We have no good statistics on distinct count. + // most likely we are running on parquet files. Therefore we divide by 2. + new_card = (double)child_stats.cardinality / 2; + } + stats.cardinality = new_card; stats.column_names = child_stats.column_names; stats.stats_initialized = true; auto num_child_columns = aggr.GetColumnBindings().size(); @@ -292,6 +358,16 @@ RelationStats RelationStatisticsHelper::ExtractAggregationStats(LogicalAggregate return stats; } +RelationStats RelationStatisticsHelper::ExtractEmptyResultStats(LogicalEmptyResult &empty) { + RelationStats stats; + for (idx_t i = 0; i < empty.GetColumnBindings().size(); i++) { + stats.column_distinct_count.push_back(DistinctCount({0, false})); + stats.column_names.push_back("empty_result_column"); + } + stats.stats_initialized = true; + return stats; +} + idx_t RelationStatisticsHelper::InspectConjunctionAND(idx_t cardinality, idx_t column_index, ConjunctionAndFilter &filter, BaseStatistics &base_stats) { auto cardinality_after_filters = cardinality; @@ -304,12 +380,10 @@ idx_t RelationStatisticsHelper::InspectConjunctionAND(idx_t cardinality, idx_t c continue; } auto column_count = base_stats.GetDistinctCount(); - auto filtered_card = cardinality; // column_count = 0 when there is no column count (i.e parquet scans) if (column_count > 0) { // we want the ceil of cardinality/column_count. We also want to avoid compiler errors - filtered_card = (cardinality + column_count - 1) / column_count; - cardinality_after_filters = filtered_card; + cardinality_after_filters = (cardinality + column_count - 1) / column_count; } } return cardinality_after_filters; diff --git a/src/optimizer/pushdown/CMakeLists.txt b/src/optimizer/pushdown/CMakeLists.txt index 741137217413..4ce1f851ba8b 100644 --- a/src/optimizer/pushdown/CMakeLists.txt +++ b/src/optimizer/pushdown/CMakeLists.txt @@ -11,6 +11,7 @@ add_library_unity( pushdown_left_join.cpp pushdown_mark_join.cpp pushdown_projection.cpp + pushdown_semi_anti_join.cpp pushdown_set_operation.cpp pushdown_single_join.cpp) set(ALL_OBJECT_FILES diff --git a/src/optimizer/pushdown/pushdown_projection.cpp b/src/optimizer/pushdown/pushdown_projection.cpp index a0d7d8149d93..08432c066799 100644 --- a/src/optimizer/pushdown/pushdown_projection.cpp +++ b/src/optimizer/pushdown/pushdown_projection.cpp @@ -6,21 +6,21 @@ namespace duckdb { -static bool HasSideEffects(LogicalProjection &proj, const unique_ptr &expr) { +static bool IsVolatile(LogicalProjection &proj, const unique_ptr &expr) { if (expr->type == ExpressionType::BOUND_COLUMN_REF) { auto &colref = expr->Cast(); D_ASSERT(colref.binding.table_index == proj.table_index); D_ASSERT(colref.binding.column_index < proj.expressions.size()); D_ASSERT(colref.depth == 0); - if (proj.expressions[colref.binding.column_index]->HasSideEffects()) { + if (proj.expressions[colref.binding.column_index]->IsVolatile()) { return true; } return false; } - bool has_side_effects = false; + bool is_volatile = false; ExpressionIterator::EnumerateChildren( - *expr, [&](unique_ptr &child) { has_side_effects |= HasSideEffects(proj, child); }); - return has_side_effects; + *expr, [&](unique_ptr &child) { is_volatile |= IsVolatile(proj, child); }); + return is_volatile; } static unique_ptr ReplaceProjectionBindings(LogicalProjection &proj, unique_ptr expr) { @@ -50,8 +50,8 @@ unique_ptr FilterPushdown::PushdownProjection(unique_ptr FilterPushdown::PushdownSemiAntiJoin(unique_ptr op) { + auto &join = op->Cast(); + if (op->type == LogicalOperatorType::LOGICAL_DELIM_JOIN) { + return FinishPushdown(std::move(op)); + } + + // push all current filters down the left side + op->children[0] = Rewrite(std::move(op->children[0])); + FilterPushdown right_pushdown(optimizer); + op->children[1] = right_pushdown.Rewrite(std::move(op->children[1])); + + bool left_empty = op->children[0]->type == LogicalOperatorType::LOGICAL_EMPTY_RESULT; + bool right_empty = op->children[1]->type == LogicalOperatorType::LOGICAL_EMPTY_RESULT; + if (left_empty && right_empty) { + // both empty: return empty result + return make_uniq(std::move(op)); + } + // TODO: if semi/anti join is created from a intersect/except statement, then we can + // push filters down into both children. + // filter pushdown happens before join order optimization, so right_anti and right_semi are not possible yet here + if (left_empty) { + // left child is empty result + switch (join.join_type) { + case JoinType::ANTI: + case JoinType::SEMI: + return make_uniq(std::move(op)); + default: + break; + } + } else if (right_empty) { + // right child is empty result + switch (join.join_type) { + case JoinType::ANTI: + // just return the left child. + return std::move(op->children[0]); + case JoinType::SEMI: + return make_uniq(std::move(op)); + default: + break; + } + } + return op; +} + +} // namespace duckdb diff --git a/src/optimizer/remove_unused_columns.cpp b/src/optimizer/remove_unused_columns.cpp index 4291e174fc10..bd71de72aee4 100644 --- a/src/optimizer/remove_unused_columns.cpp +++ b/src/optimizer/remove_unused_columns.cpp @@ -319,6 +319,27 @@ void RemoveUnusedColumns::VisitOperator(LogicalOperator &op) { } LogicalOperatorVisitor::VisitOperatorExpressions(op); LogicalOperatorVisitor::VisitOperatorChildren(op); + + if (op.type == LogicalOperatorType::LOGICAL_ASOF_JOIN || op.type == LogicalOperatorType::LOGICAL_DELIM_JOIN || + op.type == LogicalOperatorType::LOGICAL_COMPARISON_JOIN) { + auto &comp_join = op.Cast(); + // after removing duplicate columns we may have duplicate join conditions (if the join graph is cyclical) + vector unique_conditions; + for (auto &cond : comp_join.conditions) { + bool found = false; + for (auto &unique_cond : unique_conditions) { + if (cond.comparison == unique_cond.comparison && cond.left->Equals(*unique_cond.left) && + cond.right->Equals(*unique_cond.right)) { + found = true; + break; + } + } + if (!found) { + unique_conditions.push_back(std::move(cond)); + } + } + comp_join.conditions = std::move(unique_conditions); + } } unique_ptr RemoveUnusedColumns::VisitReplace(BoundColumnRefExpression &expr, diff --git a/src/optimizer/rule/date_part_simplification.cpp b/src/optimizer/rule/date_part_simplification.cpp index 037e7a6354ff..6737e576c7dd 100644 --- a/src/optimizer/rule/date_part_simplification.cpp +++ b/src/optimizer/rule/date_part_simplification.cpp @@ -92,11 +92,11 @@ unique_ptr DatePartSimplificationRule::Apply(LogicalOperator &op, ve vector> children; children.push_back(std::move(date_part.children[1])); - string error; + ErrorData error; FunctionBinder binder(rewriter.context); auto function = binder.BindScalarFunction(DEFAULT_SCHEMA, new_function_name, std::move(children), error, false); if (!function) { - throw BinderException(error); + error.Throw(); } return function; } diff --git a/src/optimizer/rule/move_constants.cpp b/src/optimizer/rule/move_constants.cpp index 9704d665a132..636265ff9131 100644 --- a/src/optimizer/rule/move_constants.cpp +++ b/src/optimizer/rule/move_constants.cpp @@ -21,8 +21,12 @@ MoveConstantsRule::MoveConstantsRule(ExpressionRewriter &rewriter) : Rule(rewrit arithmetic->function = make_uniq(unordered_set {"+", "-", "*"}); // we match only on integral numeric types arithmetic->type = make_uniq(); - arithmetic->matchers.push_back(make_uniq()); - arithmetic->matchers.push_back(make_uniq()); + auto child_constant_matcher = make_uniq(); + auto child_expression_matcher = make_uniq(); + child_constant_matcher->type = make_uniq(); + child_expression_matcher->type = make_uniq(); + arithmetic->matchers.push_back(std::move(child_constant_matcher)); + arithmetic->matchers.push_back(std::move(child_expression_matcher)); arithmetic->policy = SetMatcher::Policy::SOME; op->matchers.push_back(std::move(arithmetic)); root = std::move(op); @@ -34,9 +38,8 @@ unique_ptr MoveConstantsRule::Apply(LogicalOperator &op, vector(); auto &arithmetic = bindings[2].get().Cast(); auto &inner_constant = bindings[3].get().Cast(); - if (!TypeIsIntegral(arithmetic.return_type.InternalType())) { - return nullptr; - } + D_ASSERT(arithmetic.return_type.IsIntegral()); + D_ASSERT(arithmetic.children[0]->return_type.IsIntegral()); if (inner_constant.value.IsNull() || outer_constant.value.IsNull()) { return make_uniq(Value(comparison.return_type)); } @@ -50,7 +53,7 @@ unique_ptr MoveConstantsRule::Apply(LogicalOperator &op, vector MoveConstantsRule::Apply(LogicalOperator &op, vector MoveConstantsRule::Apply(LogicalOperator &op, vector MoveConstantsRule::Apply(LogicalOperator &op, vector::Minimum() && inner_value == -1) || + outer_value % inner_value != 0) { bool is_equality = comparison.type == ExpressionType::COMPARE_EQUAL; bool is_inequality = comparison.type == ExpressionType::COMPARE_NOTEQUAL; if (is_equality || is_inequality) { diff --git a/src/optimizer/rule/ordered_aggregate_optimizer.cpp b/src/optimizer/rule/ordered_aggregate_optimizer.cpp index ed4a5ae38263..12c631e7d516 100644 --- a/src/optimizer/rule/ordered_aggregate_optimizer.cpp +++ b/src/optimizer/rule/ordered_aggregate_optimizer.cpp @@ -1,7 +1,13 @@ #include "duckdb/optimizer/rule/ordered_aggregate_optimizer.hpp" +#include "duckdb/catalog/catalog_entry/aggregate_function_catalog_entry.hpp" +#include "duckdb/function/function_binder.hpp" #include "duckdb/optimizer/matcher/expression_matcher.hpp" +#include "duckdb/optimizer/expression_rewriter.hpp" #include "duckdb/planner/expression/bound_aggregate_expression.hpp" +#include "duckdb/planner/expression/bound_constant_expression.hpp" +#include "duckdb/main/client_context.hpp" +#include "duckdb/planner/operator/logical_aggregate.hpp" namespace duckdb { @@ -24,6 +30,70 @@ unique_ptr OrderedAggregateOptimizer::Apply(LogicalOperator &op, vec changes_made = true; return nullptr; } + + // Remove unnecessary ORDER BY clauses and return if nothing remains + if (aggr.order_bys->Simplify(op.Cast().groups)) { + aggr.order_bys.reset(); + changes_made = true; + return nullptr; + } + + // Rewrite first/last/arbitrary/any_value to use arg_xxx[_null] and create_sort_key + const auto &aggr_name = aggr.function.name; + string arg_xxx_name; + if (aggr_name == "last") { + arg_xxx_name = "arg_max_null"; + } else if (aggr_name == "first" || aggr_name == "arbitrary") { + arg_xxx_name = "arg_min_null"; + } else if (aggr_name == "any_value") { + arg_xxx_name = "arg_min"; + } else { + return nullptr; + } + + auto &context = rewriter.context; + FunctionBinder binder(context); + vector> sort_children; + for (auto &order : aggr.order_bys->orders) { + sort_children.emplace_back(std::move(order.expression)); + + string modifier; + modifier += (order.type == OrderType::ASCENDING) ? "ASC" : "DESC"; + modifier += " NULLS"; + modifier += (order.null_order == OrderByNullType::NULLS_FIRST) ? " FIRST" : " LAST"; + sort_children.emplace_back(make_uniq(Value(modifier))); + } + aggr.order_bys.reset(); + + ErrorData error; + auto sort_key = binder.BindScalarFunction(DEFAULT_SCHEMA, "create_sort_key", std::move(sort_children), error); + if (!sort_key) { + error.Throw(); + } + + auto &children = aggr.children; + children.emplace_back(std::move(sort_key)); + + // Look up the arg_xxx_name function in the catalog + QueryErrorContext error_context; + auto &func = Catalog::GetEntry(context, SYSTEM_CATALOG, DEFAULT_SCHEMA, arg_xxx_name, + error_context); + D_ASSERT(func.type == CatalogType::AGGREGATE_FUNCTION_ENTRY); + + // bind the aggregate + vector types; + for (const auto &child : children) { + types.emplace_back(child->return_type); + } + auto best_function = binder.BindFunction(func.name, func.functions, types, error); + if (best_function == DConstants::INVALID_INDEX) { + error.Throw(); + } + // found a matching function! + auto bound_function = func.functions.GetFunctionByOffset(best_function); + return binder.BindAggregateFunction(bound_function, std::move(children), std::move(aggr.filter), + aggr.IsDistinct() ? AggregateType::DISTINCT : AggregateType::NON_DISTINCT); + return nullptr; } diff --git a/src/optimizer/rule/regex_optimizations.cpp b/src/optimizer/rule/regex_optimizations.cpp index d1f49121bb4f..5aa4401c3f40 100644 --- a/src/optimizer/rule/regex_optimizations.cpp +++ b/src/optimizer/rule/regex_optimizations.cpp @@ -5,6 +5,7 @@ #include "duckdb/planner/expression/bound_constant_expression.hpp" #include "duckdb/function/scalar/string_functions.hpp" #include "duckdb/function/scalar/regexp.hpp" +#include "utf8proc_wrapper.hpp" #include "re2/re2.h" #include "re2/regexp.h" @@ -39,6 +40,19 @@ static void AddCharacter(char chr, LikeString &ret, bool contains) { ret.like_string += run_as_str; } +static void AddCodepoint(int32_t codepoint, LikeString &ret, bool contains) { + int sz = 0; + char utf8_str[4]; + if (!Utf8Proc::CodepointToUtf8(codepoint, sz, utf8_str)) { + // invalid codepoint + ret.exists = false; + return; + } + for (idx_t i = 0; i < idx_t(sz); i++) { + AddCharacter(utf8_str[i], ret, contains); + } +} + static LikeString GetLikeStringEscaped(duckdb_re2::Regexp *regexp, bool contains = false) { D_ASSERT(regexp->op() == duckdb_re2::kRegexpLiteralString || regexp->op() == duckdb_re2::kRegexpLiteral); LikeString ret; @@ -57,16 +71,14 @@ static LikeString GetLikeStringEscaped(duckdb_re2::Regexp *regexp, bool contains auto nrunes = (idx_t)regexp->nrunes(); auto runes = regexp->runes(); for (idx_t i = 0; i < nrunes; i++) { - char chr = toascii(runes[i]); - AddCharacter(chr, ret, contains); + AddCodepoint(runes[i], ret, contains); if (!ret.exists) { return ret; } } } else { auto rune = regexp->rune(); - char chr = toascii(rune); - AddCharacter(chr, ret, contains); + AddCodepoint(rune, ret, contains); } D_ASSERT(ret.like_string.size() >= 1 || !ret.exists); return ret; @@ -143,13 +155,13 @@ unique_ptr RegexOptimizationRule::Apply(LogicalOperator &op, vector< auto constant_value = ExpressionExecutor::EvaluateScalar(GetContext(), constant_expr); D_ASSERT(constant_value.type() == constant_expr.return_type); - auto patt_str = StringValue::Get(constant_value); duckdb_re2::RE2::Options parsed_options = regexp_bind_data.options; if (constant_expr.value.IsNull()) { return make_uniq(Value(root.return_type)); } + auto patt_str = StringValue::Get(constant_value); // the constant_expr is a scalar expression that we have to fold if (!constant_expr.IsFoldable()) { diff --git a/src/optimizer/statistics/expression/propagate_cast.cpp b/src/optimizer/statistics/expression/propagate_cast.cpp index e9a2d811e2d9..4daf5ee58e47 100644 --- a/src/optimizer/statistics/expression/propagate_cast.cpp +++ b/src/optimizer/statistics/expression/propagate_cast.cpp @@ -32,6 +32,7 @@ static unique_ptr StatisticsNumericCastSwitch(const BaseStatisti default: break; } + break; default: break; } diff --git a/src/optimizer/statistics/expression/propagate_comparison.cpp b/src/optimizer/statistics/expression/propagate_comparison.cpp index 0a073c546d9c..1331d8167d16 100644 --- a/src/optimizer/statistics/expression/propagate_comparison.cpp +++ b/src/optimizer/statistics/expression/propagate_comparison.cpp @@ -14,6 +14,7 @@ FilterPropagateResult StatisticsPropagator::PropagateComparison(BaseStatistics & case PhysicalType::UINT16: case PhysicalType::UINT32: case PhysicalType::UINT64: + case PhysicalType::UINT128: case PhysicalType::INT8: case PhysicalType::INT16: case PhysicalType::INT32: diff --git a/src/optimizer/statistics/operator/propagate_filter.cpp b/src/optimizer/statistics/operator/propagate_filter.cpp index a9bfe91c60ec..39d9d61e2579 100644 --- a/src/optimizer/statistics/operator/propagate_filter.cpp +++ b/src/optimizer/statistics/operator/propagate_filter.cpp @@ -234,8 +234,7 @@ unique_ptr StatisticsPropagator::PropagateStatistics(LogicalFilt filter.expressions.erase(filter.expressions.begin() + i); i--; if (filter.expressions.empty()) { - // all conditions have been erased: remove the entire filter - *node_ptr = std::move(filter.children[0]); + // just break. The physical filter planner will plan a projection instead break; } } else if (ExpressionIsConstant(*condition, Value::BOOLEAN(false)) || diff --git a/src/optimizer/statistics/operator/propagate_join.cpp b/src/optimizer/statistics/operator/propagate_join.cpp index 810d0054e105..5fb8092cd827 100644 --- a/src/optimizer/statistics/operator/propagate_join.cpp +++ b/src/optimizer/statistics/operator/propagate_join.cpp @@ -36,18 +36,19 @@ void StatisticsPropagator::PropagateStatistics(LogicalComparisonJoin &join, uniq case FilterPropagateResult::FILTER_ALWAYS_FALSE: // filter is always false or null, none of the join conditions matter switch (join.join_type) { + case JoinType::RIGHT_SEMI: case JoinType::SEMI: case JoinType::INNER: // semi or inner join on false; entire node can be pruned ReplaceWithEmptyResult(*node_ptr); return; + case JoinType::RIGHT_ANTI: case JoinType::ANTI: { - // when the right child has data, return the left child - // when the right child has no data, return an empty set - auto limit = make_uniq(1, 0, nullptr, nullptr); - limit->AddChild(std::move(join.children[1])); - auto cross_product = LogicalCrossProduct::Create(std::move(join.children[0]), std::move(limit)); - *node_ptr = std::move(cross_product); + if (join.join_type == JoinType::RIGHT_ANTI) { + std::swap(join.children[0], join.children[1]); + } + // If the filter is always false or Null, just return the left child. + *node_ptr = std::move(join.children[0]); return; } case JoinType::LEFT: @@ -92,9 +93,16 @@ void StatisticsPropagator::PropagateStatistics(LogicalComparisonJoin &join, uniq } else { // this is the only condition and it is always true: all conditions are true switch (join.join_type) { + case JoinType::RIGHT_SEMI: case JoinType::SEMI: { - // when the right child has data, return the left child + if (join.join_type == JoinType::RIGHT_SEMI) { + std::swap(join.children[0], join.children[1]); + } // when the right child has no data, return an empty set + // cannot just return the left child because if the right child has no cardinality + // then the whole result should be empty. + // TODO: write better CE logic for limits so that we can just look at + // join.children[1].estimated_cardinality. auto limit = make_uniq(1, 0, nullptr, nullptr); limit->AddChild(std::move(join.children[1])); auto cross_product = LogicalCrossProduct::Create(std::move(join.children[0]), std::move(limit)); @@ -108,6 +116,11 @@ void StatisticsPropagator::PropagateStatistics(LogicalComparisonJoin &join, uniq *node_ptr = std::move(cross_product); return; } + case JoinType::ANTI: + case JoinType::RIGHT_ANTI: { + ReplaceWithEmptyResult(*node_ptr); + return; + } default: // we don't handle mark/single join here yet break; @@ -142,8 +155,8 @@ void StatisticsPropagator::PropagateStatistics(LogicalComparisonJoin &join, uniq auto updated_stats_right = PropagateExpression(condition.right); // Try to push lhs stats down rhs and vice versa - if (!context.config.force_index_join && stats_left && stats_right && updated_stats_left && - updated_stats_right && condition.left->type == ExpressionType::BOUND_COLUMN_REF && + if (stats_left && stats_right && updated_stats_left && updated_stats_right && + condition.left->type == ExpressionType::BOUND_COLUMN_REF && condition.right->type == ExpressionType::BOUND_COLUMN_REF) { CreateFilterFromJoinStats(join.children[0], condition.left, *stats_left, *updated_stats_left); CreateFilterFromJoinStats(join.children[1], condition.right, *stats_right, *updated_stats_right); diff --git a/src/optimizer/statistics/operator/propagate_window.cpp b/src/optimizer/statistics/operator/propagate_window.cpp index 1bfd3fc0610a..9b6dcc493df8 100644 --- a/src/optimizer/statistics/operator/propagate_window.cpp +++ b/src/optimizer/statistics/operator/propagate_window.cpp @@ -11,13 +11,37 @@ unique_ptr StatisticsPropagator::PropagateStatistics(LogicalWind // then propagate to each of the order expressions for (auto &window_expr : window.expressions) { - auto over_expr = reinterpret_cast(window_expr.get()); - for (auto &expr : over_expr->partitions) { - over_expr->partitions_stats.push_back(PropagateExpression(expr)); + auto &over_expr = window_expr->Cast(); + for (auto &expr : over_expr.partitions) { + over_expr.partitions_stats.push_back(PropagateExpression(expr)); } - for (auto &bound_order : over_expr->orders) { + for (auto &bound_order : over_expr.orders) { bound_order.stats = PropagateExpression(bound_order.expression); } + + if (over_expr.start_expr) { + over_expr.expr_stats.push_back(PropagateExpression(over_expr.start_expr)); + } else { + over_expr.expr_stats.push_back(nullptr); + } + + if (over_expr.end_expr) { + over_expr.expr_stats.push_back(PropagateExpression(over_expr.end_expr)); + } else { + over_expr.expr_stats.push_back(nullptr); + } + + if (over_expr.offset_expr) { + over_expr.expr_stats.push_back(PropagateExpression(over_expr.offset_expr)); + } else { + over_expr.expr_stats.push_back(nullptr); + } + + if (over_expr.default_expr) { + over_expr.expr_stats.push_back(PropagateExpression(over_expr.default_expr)); + } else { + over_expr.expr_stats.push_back(nullptr); + } } return std::move(node_stats); } diff --git a/src/optimizer/unnest_rewriter.cpp b/src/optimizer/unnest_rewriter.cpp index 4c93505891e6..f5d91061f3d2 100644 --- a/src/optimizer/unnest_rewriter.cpp +++ b/src/optimizer/unnest_rewriter.cpp @@ -85,12 +85,14 @@ void UnnestRewriter::FindCandidates(unique_ptr *op_ptr, } // LHS child is a window - if (delim_join.children[0]->type != LogicalOperatorType::LOGICAL_WINDOW) { + idx_t delim_idx = delim_join.delim_flipped ? 1 : 0; + idx_t other_idx = 1 - delim_idx; + if (delim_join.children[delim_idx]->type != LogicalOperatorType::LOGICAL_WINDOW) { return; } // RHS child must be projection(s) followed by an UNNEST - auto curr_op = &delim_join.children[1]; + auto curr_op = &delim_join.children[other_idx]; while (curr_op->get()->type == LogicalOperatorType::LOGICAL_PROJECTION) { if (curr_op->get()->children.size() != 1) { break; @@ -116,20 +118,23 @@ bool UnnestRewriter::RewriteCandidate(unique_ptr *candidate) { // get the LOGICAL_DELIM_JOIN, which is a child of the candidate D_ASSERT(topmost_op.children.size() == 1); - auto &delim_join = *(topmost_op.children[0]); + auto &delim_join = topmost_op.children[0]->Cast(); D_ASSERT(delim_join.type == LogicalOperatorType::LOGICAL_DELIM_JOIN); GetDelimColumns(delim_join); // LHS of the LOGICAL_DELIM_JOIN is a LOGICAL_WINDOW that contains a LOGICAL_PROJECTION // this lhs_proj later becomes the child of the UNNEST - auto &window = *delim_join.children[0]; + + idx_t delim_idx = delim_join.delim_flipped ? 1 : 0; + idx_t other_idx = 1 - delim_idx; + auto &window = *delim_join.children[delim_idx]; auto &lhs_op = window.children[0]; GetLHSExpressions(*lhs_op); // find the LOGICAL_UNNEST // and get the path down to the LOGICAL_UNNEST vector *> path_to_unnest; - auto curr_op = &(delim_join.children[1]); + auto curr_op = &delim_join.children[other_idx]; while (curr_op->get()->type == LogicalOperatorType::LOGICAL_PROJECTION) { path_to_unnest.push_back(curr_op); curr_op = &curr_op->get()->children[0]; @@ -160,7 +165,7 @@ void UnnestRewriter::UpdateRHSBindings(unique_ptr *plan_ptr, un idx_t shift = lhs_bindings.size(); vector *> path_to_unnest; - auto curr_op = &(topmost_op.children[0]); + auto curr_op = &topmost_op.children[0]; while (curr_op->get()->type == LogicalOperatorType::LOGICAL_PROJECTION) { path_to_unnest.push_back(curr_op); @@ -253,7 +258,7 @@ void UnnestRewriter::UpdateBoundUnnestBindings(UnnestRewriterPlanUpdater &update auto &topmost_op = (LogicalOperator &)**candidate; // traverse LOGICAL_PROJECTION(s) - auto curr_op = &(topmost_op.children[0]); + auto curr_op = &topmost_op.children[0]; while (curr_op->get()->type == LogicalOperatorType::LOGICAL_PROJECTION) { curr_op = &curr_op->get()->children[0]; } diff --git a/src/parallel/event.cpp b/src/parallel/event.cpp index 0f51b41f7d09..0ecfddea54af 100644 --- a/src/parallel/event.cpp +++ b/src/parallel/event.cpp @@ -44,11 +44,11 @@ void Event::AddDependency(Event &event) { total_dependencies++; event.parents.push_back(weak_ptr(shared_from_this())); #ifdef DEBUG - event.parents_raw.push_back(this); + event.parents_raw.push_back(*this); #endif } -const vector &Event::GetParentsVerification() const { +const vector> &Event::GetParentsVerification() const { D_ASSERT(parents.size() == parents_raw.size()); return parents_raw; } diff --git a/src/parallel/executor.cpp b/src/parallel/executor.cpp index 4a55c87ca492..2eb6aa9227de 100644 --- a/src/parallel/executor.cpp +++ b/src/parallel/executor.cpp @@ -2,8 +2,8 @@ #include "duckdb/execution/execution_context.hpp" #include "duckdb/execution/operator/helper/physical_result_collector.hpp" -#include "duckdb/execution/operator/set/physical_recursive_cte.hpp" #include "duckdb/execution/operator/set/physical_cte.hpp" +#include "duckdb/execution/operator/set/physical_recursive_cte.hpp" #include "duckdb/execution/physical_operator.hpp" #include "duckdb/main/client_context.hpp" #include "duckdb/main/client_data.hpp" @@ -97,7 +97,7 @@ void Executor::SchedulePipeline(const shared_ptr &meta_pipeline, S // create events/stack for this pipeline auto pipeline_event = make_shared(pipeline); - auto finish_group = meta_pipeline->GetFinishGroup(pipeline.get()); + auto finish_group = meta_pipeline->GetFinishGroup(*pipeline); if (finish_group) { // this pipeline is part of a finish group const auto group_entry = event_map.find(*finish_group.get()); @@ -112,7 +112,7 @@ void Executor::SchedulePipeline(const shared_ptr &meta_pipeline, S // add pipeline stack to event map event_map.insert(make_pair(reference(*pipeline), pipeline_stack)); - } else if (meta_pipeline->HasFinishEvent(pipeline.get())) { + } else if (meta_pipeline->HasFinishEvent(*pipeline)) { // this pipeline has its own finish event (despite going into the same sink - Finalize twice!) auto pipeline_finish_event = make_shared(pipeline); PipelineEventStack pipeline_stack(base_stack.pipeline_initialize_event, *pipeline_event, @@ -126,7 +126,6 @@ void Executor::SchedulePipeline(const shared_ptr &meta_pipeline, S // add pipeline stack to event map event_map.insert(make_pair(reference(*pipeline), pipeline_stack)); - } else { // no additional finish event PipelineEventStack pipeline_stack(base_stack.pipeline_initialize_event, *pipeline_event, @@ -154,7 +153,7 @@ void Executor::SchedulePipeline(const shared_ptr &meta_pipeline, S pipeline->ResetSource(true); } - auto dependencies = meta_pipeline->GetDependencies(pipeline.get()); + auto dependencies = meta_pipeline->GetDependencies(*pipeline); if (!dependencies) { continue; } @@ -162,7 +161,7 @@ void Executor::SchedulePipeline(const shared_ptr &meta_pipeline, S D_ASSERT(root_entry != event_map.end()); auto &pipeline_stack = root_entry->second; for (auto &dependency : *dependencies) { - auto event_entry = event_map.find(*dependency); + auto event_entry = event_map.find(dependency); D_ASSERT(event_entry != event_map.end()); auto &dependency_stack = event_entry->second; pipeline_stack.pipeline_event.AddDependency(dependency_stack.pipeline_event); @@ -175,8 +174,8 @@ void Executor::ScheduleEventsInternal(ScheduleEventData &event_data) { D_ASSERT(events.empty()); // create all the required pipeline events - for (auto &pipeline : event_data.meta_pipelines) { - SchedulePipeline(pipeline, event_data); + for (auto &meta_pipeline : event_data.meta_pipelines) { + SchedulePipeline(meta_pipeline, event_data); } // set up the dependencies across MetaPipelines @@ -187,12 +186,36 @@ void Executor::ScheduleEventsInternal(ScheduleEventData &event_data) { auto dep = dependency.lock(); D_ASSERT(dep); auto event_map_entry = event_map.find(*dep); + if (event_map_entry == event_map.end()) { + continue; + } D_ASSERT(event_map_entry != event_map.end()); auto &dep_entry = event_map_entry->second; entry.second.pipeline_event.AddDependency(dep_entry.pipeline_complete_event); } } + // make pipeline_finish_event of each MetaPipeline depend on the pipeline_event of the base pipeline of its sublings + // this allows TemporaryMemoryManager to more fairly distribute memory + for (auto &meta_pipeline : event_data.meta_pipelines) { + vector> children; + meta_pipeline->GetMetaPipelines(children, false, true); + for (auto &child1 : children) { + auto &child1_base = *child1->GetBasePipeline(); + auto child1_entry = event_map.find(child1_base); + D_ASSERT(child1_entry != event_map.end()); + for (auto &child2 : children) { + if (RefersToSameObject(*child1, *child2)) { + continue; + } + auto &child2_base = *child2->GetBasePipeline(); + auto child2_entry = event_map.find(child2_base); + D_ASSERT(child2_entry != event_map.end()); + child1_entry->second.pipeline_finish_event.AddDependency(child2_entry->second.pipeline_event); + } + } + } + // verify that we have no cyclic dependencies VerifyScheduledEvents(event_data); @@ -212,10 +235,10 @@ void Executor::ScheduleEvents(const vector> &meta_pipel void Executor::VerifyScheduledEvents(const ScheduleEventData &event_data) { #ifdef DEBUG const idx_t count = event_data.events.size(); - vector vertices; + vector> vertices; vertices.reserve(count); for (const auto &event : event_data.events) { - vertices.push_back(event.get()); + vertices.push_back(*event); } vector visited(count, false); vector recursion_stack(count, false); @@ -225,14 +248,14 @@ void Executor::VerifyScheduledEvents(const ScheduleEventData &event_data) { #endif } -void Executor::VerifyScheduledEventsInternal(const idx_t vertex, const vector &vertices, vector &visited, - vector &recursion_stack) { +void Executor::VerifyScheduledEventsInternal(const idx_t vertex, const vector> &vertices, + vector &visited, vector &recursion_stack) { D_ASSERT(!recursion_stack[vertex]); // this vertex is in the recursion stack: circular dependency! if (visited[vertex]) { return; // early out: we already visited this vertex } - auto &parents = vertices[vertex]->GetParentsVerification(); + auto &parents = vertices[vertex].get().GetParentsVerification(); if (parents.empty()) { return; // early out: outgoing edges } @@ -243,7 +266,7 @@ void Executor::VerifyScheduledEventsInternal(const idx_t vertex, const vector> &pipelines_p, vector> &events_p) { ScheduleEventData event_data(pipelines_p, events_p, false); @@ -315,9 +334,9 @@ void Executor::VerifyPipelines() { #endif } -void Executor::Initialize(unique_ptr physical_plan) { +void Executor::Initialize(unique_ptr physical_plan_p) { Reset(); - owned_plan = std::move(physical_plan); + owned_plan = std::move(physical_plan_p); InitializeInternal(*owned_plan); } @@ -349,12 +368,6 @@ void Executor::InitializeInternal(PhysicalOperator &plan) { rec_cte.recursive_meta_pipeline->Ready(); } - // ready materialized cte pipelines too - for (auto &mat_cte_ref : materialized_ctes) { - auto &mat_cte = mat_cte_ref.get().Cast(); - mat_cte.recursive_meta_pipeline->Ready(); - } - // set root pipelines, i.e., all pipelines that end in the final sink root_pipeline->GetPipelines(root_pipelines, false); root_pipeline_idx = 0; @@ -392,16 +405,14 @@ void Executor::CancelTasks() { auto &rec_cte = rec_cte_ref.get().Cast(); rec_cte.recursive_meta_pipeline.reset(); } - for (auto &mat_cte_ref : materialized_ctes) { - auto &mat_cte = mat_cte_ref.get().Cast(); - mat_cte.recursive_meta_pipeline.reset(); - } pipelines.clear(); root_pipelines.clear(); to_be_rescheduled_tasks.clear(); events.clear(); } + // Take all pending tasks and execute them until they cancel WorkOnTasks(); + // In case there are still tasks being worked, wait for those to properly finish as well for (auto &weak_ref : weak_references) { while (true) { auto weak = weak_ref.lock(); @@ -415,49 +426,71 @@ void Executor::CancelTasks() { void Executor::WorkOnTasks() { auto &scheduler = TaskScheduler::GetScheduler(context); - shared_ptr task; - while (scheduler.GetTaskFromProducer(*producer, task)) { - auto res = task->Execute(TaskExecutionMode::PROCESS_ALL); + shared_ptr task_from_producer; + while (scheduler.GetTaskFromProducer(*producer, task_from_producer)) { + auto res = task_from_producer->Execute(TaskExecutionMode::PROCESS_ALL); if (res == TaskExecutionResult::TASK_BLOCKED) { - task->Deschedule(); + task_from_producer->Deschedule(); } - task.reset(); + task_from_producer.reset(); } } -void Executor::RescheduleTask(shared_ptr &task) { +void Executor::RescheduleTask(shared_ptr &task_p) { // This function will spin lock until the task provided is added to the to_be_rescheduled_tasks while (true) { lock_guard l(executor_lock); if (cancelled) { return; } - auto entry = to_be_rescheduled_tasks.find(task.get()); + auto entry = to_be_rescheduled_tasks.find(task_p.get()); if (entry != to_be_rescheduled_tasks.end()) { auto &scheduler = TaskScheduler::GetScheduler(context); - to_be_rescheduled_tasks.erase(task.get()); - scheduler.ScheduleTask(GetToken(), task); + to_be_rescheduled_tasks.erase(task_p.get()); + scheduler.ScheduleTask(GetToken(), task_p); break; } } } -void Executor::AddToBeRescheduled(shared_ptr &task) { +bool Executor::ResultCollectorIsBlocked() { + if (completed_pipelines + 1 != total_pipelines) { + // The result collector is always in the last pipeline + return false; + } + lock_guard l(executor_lock); + if (to_be_rescheduled_tasks.empty()) { + return false; + } + for (auto &kv : to_be_rescheduled_tasks) { + auto &task = kv.second; + if (task->TaskBlockedOnResult()) { + // At least one of the blocked tasks is connected to a result collector + // This task could be the only task that could unblock the other non-result-collector tasks + // To prevent a scenario where we halt indefinitely, we return here so it can be unblocked by a call to + // Fetch + return true; + } + } + return false; +} + +void Executor::AddToBeRescheduled(shared_ptr &task_p) { lock_guard l(executor_lock); if (cancelled) { return; } - if (to_be_rescheduled_tasks.find(task.get()) != to_be_rescheduled_tasks.end()) { + if (to_be_rescheduled_tasks.find(task_p.get()) != to_be_rescheduled_tasks.end()) { return; } - to_be_rescheduled_tasks[task.get()] = std::move(task); + to_be_rescheduled_tasks[task_p.get()] = std::move(task_p); } bool Executor::ExecutionIsFinished() { return completed_pipelines >= total_pipelines || HasError(); } -PendingExecutionResult Executor::ExecuteTask() { +PendingExecutionResult Executor::ExecuteTask(bool dry_run) { // Only executor should return NO_TASKS_AVAILABLE D_ASSERT(execution_result != PendingExecutionResult::NO_TASKS_AVAILABLE); if (execution_result != PendingExecutionResult::RESULT_NOT_READY) { @@ -467,14 +500,29 @@ PendingExecutionResult Executor::ExecuteTask() { auto &scheduler = TaskScheduler::GetScheduler(context); while (completed_pipelines < total_pipelines) { // there are! if we don't already have a task, fetch one - if (!task) { - scheduler.GetTaskFromProducer(*producer, task); + auto current_task = task.get(); + if (dry_run) { + // Pretend we have no task, we don't want to execute anything + current_task = nullptr; + } else { + if (!task) { + scheduler.GetTaskFromProducer(*producer, task); + } + current_task = task.get(); } - if (!task && !HasError()) { + + if (!current_task && !HasError()) { // there are no tasks to be scheduled and there are tasks blocked + if (ResultCollectorIsBlocked()) { + // The blocked tasks are processing the Sink of a BufferedResultCollector + // We return here so the query result can be made and fetched from + // which will in turn unblock the Sink tasks. + return PendingExecutionResult::BLOCKED; + } return PendingExecutionResult::NO_TASKS_AVAILABLE; } - if (task) { + + if (current_task) { // if we have a task, partially process it auto result = task->Execute(TaskExecutionMode::PROCESS_PARTIAL); if (result == TaskExecutionResult::TASK_BLOCKED) { @@ -521,7 +569,7 @@ void Executor::Reset() { root_pipeline_idx = 0; completed_pipelines = 0; total_pipelines = 0; - exceptions.clear(); + error_manager.Reset(); pipelines.clear(); events.clear(); to_be_rescheduled_tasks.clear(); @@ -553,36 +601,37 @@ vector Executor::GetTypes() { return physical_plan->GetTypes(); } -void Executor::PushError(PreservedError exception) { - lock_guard elock(error_lock); +void Executor::PushError(ErrorData exception) { + // push the exception onto the stack + error_manager.PushError(std::move(exception)); // interrupt execution of any other pipelines that belong to this executor context.interrupted = true; - // push the exception onto the stack - exceptions.push_back(std::move(exception)); } bool Executor::HasError() { - lock_guard elock(error_lock); - return !exceptions.empty(); + return error_manager.HasError(); +} + +ErrorData Executor::GetError() { + return error_manager.GetError(); } void Executor::ThrowException() { - lock_guard elock(error_lock); - D_ASSERT(!exceptions.empty()); - auto &entry = exceptions[0]; - entry.Throw(); + error_manager.ThrowException(); } void Executor::Flush(ThreadContext &tcontext) { profiler->Flush(tcontext.profiler); } -bool Executor::GetPipelinesProgress(double ¤t_progress) { // LCOV_EXCL_START +bool Executor::GetPipelinesProgress(double ¤t_progress, uint64_t ¤t_cardinality, + uint64_t &total_cardinality) { // LCOV_EXCL_START lock_guard elock(executor_lock); vector progress; vector cardinality; - idx_t total_cardinality = 0; + total_cardinality = 0; + current_cardinality = 0; for (auto &pipeline : pipelines) { double child_percentage; idx_t child_cardinality; @@ -594,12 +643,16 @@ bool Executor::GetPipelinesProgress(double ¤t_progress) { // LCOV_EXCL_STA cardinality.push_back(child_cardinality); total_cardinality += child_cardinality; } - current_progress = 0; if (total_cardinality == 0) { return true; } + current_progress = 0; + for (size_t i = 0; i < progress.size(); i++) { + D_ASSERT(progress[i] <= 100); + current_cardinality += double(progress[i]) * double(cardinality[i]) / double(100); current_progress += progress[i] * double(cardinality[i]) / double(total_cardinality); + D_ASSERT(current_cardinality <= total_cardinality); } return true; } // LCOV_EXCL_STOP @@ -615,24 +668,4 @@ unique_ptr Executor::GetResult() { return result_collector.GetResult(*result_collector.sink_state); } -unique_ptr Executor::FetchChunk() { - D_ASSERT(physical_plan); - - auto chunk = make_uniq(); - root_executor->InitializeChunk(*chunk); - while (true) { - root_executor->ExecutePull(*chunk); - if (chunk->size() == 0) { - root_executor->PullFinalize(); - if (NextExecutor()) { - continue; - } - break; - } else { - break; - } - } - return chunk; -} - } // namespace duckdb diff --git a/src/parallel/executor_task.cpp b/src/parallel/executor_task.cpp index dc1f0448ba2f..ba0ea1b185e8 100644 --- a/src/parallel/executor_task.cpp +++ b/src/parallel/executor_task.cpp @@ -26,12 +26,10 @@ void ExecutorTask::Reschedule() { TaskExecutionResult ExecutorTask::Execute(TaskExecutionMode mode) { try { return ExecuteTask(mode); - } catch (Exception &ex) { - executor.PushError(PreservedError(ex)); } catch (std::exception &ex) { - executor.PushError(PreservedError(ex)); + executor.PushError(ErrorData(ex)); } catch (...) { // LCOV_EXCL_START - executor.PushError(PreservedError("Unknown exception in Finalize!")); + executor.PushError(ErrorData("Unknown exception in Finalize!")); } // LCOV_EXCL_STOP return TaskExecutionResult::TASK_ERROR; } diff --git a/src/parallel/meta_pipeline.cpp b/src/parallel/meta_pipeline.cpp index 191f36c71ebe..ded1cb246112 100644 --- a/src/parallel/meta_pipeline.cpp +++ b/src/parallel/meta_pipeline.cpp @@ -1,11 +1,10 @@ #include "duckdb/parallel/meta_pipeline.hpp" #include "duckdb/execution/executor.hpp" -#include "duckdb/execution/operator/set/physical_recursive_cte.hpp" namespace duckdb { -MetaPipeline::MetaPipeline(Executor &executor_p, PipelineBuildState &state_p, PhysicalOperator *sink_p) +MetaPipeline::MetaPipeline(Executor &executor_p, PipelineBuildState &state_p, optional_ptr sink_p) : executor(executor_p), state(state_p), sink(sink_p), recursive_cte(false), next_batch_index(0) { CreatePipeline(); } @@ -46,7 +45,7 @@ void MetaPipeline::GetMetaPipelines(vector> &result, bo } } -const vector *MetaPipeline::GetDependencies(Pipeline *dependant) const { +optional_ptr>> MetaPipeline::GetDependencies(Pipeline &dependant) const { auto it = dependencies.find(dependant); if (it == dependencies.end()) { return nullptr; @@ -63,8 +62,8 @@ void MetaPipeline::SetRecursiveCTE() { recursive_cte = true; } -void MetaPipeline::AssignNextBatchIndex(Pipeline *pipeline) { - pipeline->base_batch_index = next_batch_index++ * PipelineBuildState::BATCH_INCREMENT; +void MetaPipeline::AssignNextBatchIndex(Pipeline &pipeline) { + pipeline.base_batch_index = next_batch_index++ * PipelineBuildState::BATCH_INCREMENT; } void MetaPipeline::Build(PhysicalOperator &op) { @@ -92,16 +91,16 @@ MetaPipeline &MetaPipeline::CreateChildMetaPipeline(Pipeline ¤t, PhysicalO return *child_meta_pipeline; } -Pipeline *MetaPipeline::CreatePipeline() { +Pipeline &MetaPipeline::CreatePipeline() { pipelines.emplace_back(make_shared(executor)); state.SetPipelineSink(*pipelines.back(), sink, next_batch_index++); - return pipelines.back().get(); + return *pipelines.back(); } -void MetaPipeline::AddDependenciesFrom(Pipeline *dependant, Pipeline *start, bool including) { +void MetaPipeline::AddDependenciesFrom(Pipeline &dependant, Pipeline &start, bool including) { // find 'start' auto it = pipelines.begin(); - for (; it->get() != start; it++) { + for (; !RefersToSameObject(**it, start); it++) { } if (!including) { @@ -109,13 +108,13 @@ void MetaPipeline::AddDependenciesFrom(Pipeline *dependant, Pipeline *start, boo } // collect pipelines that were created from then - vector created_pipelines; + vector> created_pipelines; for (; it != pipelines.end(); it++) { - if (it->get() == dependant) { + if (RefersToSameObject(**it, dependant)) { // cannot depend on itself continue; } - created_pipelines.push_back(it->get()); + created_pipelines.push_back(**it); } // add them to the dependencies @@ -123,62 +122,62 @@ void MetaPipeline::AddDependenciesFrom(Pipeline *dependant, Pipeline *start, boo deps.insert(deps.begin(), created_pipelines.begin(), created_pipelines.end()); } -void MetaPipeline::AddFinishEvent(Pipeline *pipeline) { +void MetaPipeline::AddFinishEvent(Pipeline &pipeline) { D_ASSERT(finish_pipelines.find(pipeline) == finish_pipelines.end()); finish_pipelines.insert(pipeline); // add all pipelines that were added since 'pipeline' was added (including 'pipeline') to the finish group auto it = pipelines.begin(); - for (; it->get() != pipeline; it++) { + for (; !RefersToSameObject(**it, pipeline); it++) { } it++; for (; it != pipelines.end(); it++) { - finish_map.emplace(it->get(), pipeline); + finish_map.emplace(**it, pipeline); } } -bool MetaPipeline::HasFinishEvent(Pipeline *pipeline) const { +bool MetaPipeline::HasFinishEvent(Pipeline &pipeline) const { return finish_pipelines.find(pipeline) != finish_pipelines.end(); } -optional_ptr MetaPipeline::GetFinishGroup(Pipeline *pipeline) const { +optional_ptr MetaPipeline::GetFinishGroup(Pipeline &pipeline) const { auto it = finish_map.find(pipeline); - return it == finish_map.end() ? nullptr : it->second; + return it == finish_map.end() ? nullptr : &it->second; } -Pipeline *MetaPipeline::CreateUnionPipeline(Pipeline ¤t, bool order_matters) { +Pipeline &MetaPipeline::CreateUnionPipeline(Pipeline ¤t, bool order_matters) { // create the union pipeline (batch index 0, should be set correctly afterwards) - auto union_pipeline = CreatePipeline(); - state.SetPipelineOperators(*union_pipeline, state.GetPipelineOperators(current)); - state.SetPipelineSink(*union_pipeline, sink, 0); + auto &union_pipeline = CreatePipeline(); + state.SetPipelineOperators(union_pipeline, state.GetPipelineOperators(current)); + state.SetPipelineSink(union_pipeline, sink, 0); // 'union_pipeline' inherits ALL dependencies of 'current' (within this MetaPipeline, and across MetaPipelines) - union_pipeline->dependencies = current.dependencies; - auto current_deps = GetDependencies(¤t); + union_pipeline.dependencies = current.dependencies; + auto current_deps = GetDependencies(current); if (current_deps) { dependencies[union_pipeline] = *current_deps; } if (order_matters) { // if we need to preserve order, or if the sink is not parallel, we set a dependency - dependencies[union_pipeline].push_back(¤t); + dependencies[union_pipeline].push_back(current); } return union_pipeline; } -void MetaPipeline::CreateChildPipeline(Pipeline ¤t, PhysicalOperator &op, Pipeline *last_pipeline) { +void MetaPipeline::CreateChildPipeline(Pipeline ¤t, PhysicalOperator &op, Pipeline &last_pipeline) { // rule 2: 'current' must be fully built (down to the source) before creating the child pipeline D_ASSERT(current.source); // create the child pipeline (same batch index) pipelines.emplace_back(state.CreateChildPipeline(executor, current, op)); - auto child_pipeline = pipelines.back().get(); - child_pipeline->base_batch_index = current.base_batch_index; + auto &child_pipeline = *pipelines.back(); + child_pipeline.base_batch_index = current.base_batch_index; // child pipeline has a dependency (within this MetaPipeline on all pipelines that were scheduled // between 'current' and now (including 'current') - set them up - dependencies[child_pipeline].push_back(¤t); + dependencies[child_pipeline].push_back(current); AddDependenciesFrom(child_pipeline, last_pipeline, false); D_ASSERT(!GetDependencies(child_pipeline)->empty()); } diff --git a/src/parallel/pipeline.cpp b/src/parallel/pipeline.cpp index 1448b10075fe..aee671b9236c 100644 --- a/src/parallel/pipeline.cpp +++ b/src/parallel/pipeline.cpp @@ -15,54 +15,54 @@ namespace duckdb { -class PipelineTask : public ExecutorTask { - static constexpr const idx_t PARTIAL_CHUNK_COUNT = 50; +PipelineTask::PipelineTask(Pipeline &pipeline_p, shared_ptr event_p) + : ExecutorTask(pipeline_p.executor), pipeline(pipeline_p), event(std::move(event_p)) { +} + +bool PipelineTask::TaskBlockedOnResult() const { + // If this returns true, it means the pipeline this task belongs to has a cached chunk + // that was the result of the Sink method returning BLOCKED + return pipeline_executor->RemainingSinkChunk(); +} + +const PipelineExecutor &PipelineTask::GetPipelineExecutor() const { + return *pipeline_executor; +} -public: - explicit PipelineTask(Pipeline &pipeline_p, shared_ptr event_p) - : ExecutorTask(pipeline_p.executor), pipeline(pipeline_p), event(std::move(event_p)) { +TaskExecutionResult PipelineTask::ExecuteTask(TaskExecutionMode mode) { + if (!pipeline_executor) { + pipeline_executor = make_uniq(pipeline.GetClientContext(), pipeline); } - Pipeline &pipeline; - shared_ptr event; - unique_ptr pipeline_executor; + pipeline_executor->SetTaskForInterrupts(shared_from_this()); -public: - TaskExecutionResult ExecuteTask(TaskExecutionMode mode) override { - if (!pipeline_executor) { - pipeline_executor = make_uniq(pipeline.GetClientContext(), pipeline); - } + if (mode == TaskExecutionMode::PROCESS_PARTIAL) { + auto res = pipeline_executor->Execute(PARTIAL_CHUNK_COUNT); - pipeline_executor->SetTaskForInterrupts(shared_from_this()); - - if (mode == TaskExecutionMode::PROCESS_PARTIAL) { - auto res = pipeline_executor->Execute(PARTIAL_CHUNK_COUNT); - - switch (res) { - case PipelineExecuteResult::NOT_FINISHED: - return TaskExecutionResult::TASK_NOT_FINISHED; - case PipelineExecuteResult::INTERRUPTED: - return TaskExecutionResult::TASK_BLOCKED; - case PipelineExecuteResult::FINISHED: - break; - } - } else { - auto res = pipeline_executor->Execute(); - switch (res) { - case PipelineExecuteResult::NOT_FINISHED: - throw InternalException("Execute without limit should not return NOT_FINISHED"); - case PipelineExecuteResult::INTERRUPTED: - return TaskExecutionResult::TASK_BLOCKED; - case PipelineExecuteResult::FINISHED: - break; - } + switch (res) { + case PipelineExecuteResult::NOT_FINISHED: + return TaskExecutionResult::TASK_NOT_FINISHED; + case PipelineExecuteResult::INTERRUPTED: + return TaskExecutionResult::TASK_BLOCKED; + case PipelineExecuteResult::FINISHED: + break; + } + } else { + auto res = pipeline_executor->Execute(); + switch (res) { + case PipelineExecuteResult::NOT_FINISHED: + throw InternalException("Execute without limit should not return NOT_FINISHED"); + case PipelineExecuteResult::INTERRUPTED: + return TaskExecutionResult::TASK_BLOCKED; + case PipelineExecuteResult::FINISHED: + break; } - - event->FinishTask(); - pipeline_executor.reset(); - return TaskExecutionResult::TASK_FINISHED; } -}; + + event->FinishTask(); + pipeline_executor.reset(); + return TaskExecutionResult::TASK_FINISHED; +} Pipeline::Pipeline(Executor &executor_p) : executor(executor_p), ready(false), initialized(false), source(nullptr), sink(nullptr) { diff --git a/src/parallel/pipeline_event.cpp b/src/parallel/pipeline_event.cpp index 735f9fad3339..aaa84a3a2a82 100644 --- a/src/parallel/pipeline_event.cpp +++ b/src/parallel/pipeline_event.cpp @@ -12,12 +12,10 @@ void PipelineEvent::Schedule() { try { pipeline->Schedule(event); D_ASSERT(total_tasks > 0); - } catch (Exception &ex) { - executor.PushError(PreservedError(ex)); } catch (std::exception &ex) { - executor.PushError(PreservedError(ex)); + executor.PushError(ErrorData(ex)); } catch (...) { // LCOV_EXCL_START - executor.PushError(PreservedError("Unknown exception in Finalize!")); + executor.PushError(ErrorData("Unknown exception in Finalize!")); } // LCOV_EXCL_STOP } diff --git a/src/parallel/pipeline_executor.cpp b/src/parallel/pipeline_executor.cpp index c495d4080307..fadfd8bd03d8 100644 --- a/src/parallel/pipeline_executor.cpp +++ b/src/parallel/pipeline_executor.cpp @@ -109,13 +109,19 @@ bool PipelineExecutor::TryFlushCachingOperators() { SinkNextBatchType PipelineExecutor::NextBatch(duckdb::DataChunk &source_chunk) { D_ASSERT(requires_batch_index); idx_t next_batch_index; + auto max_batch_index = pipeline.base_batch_index + PipelineBuildState::BATCH_INCREMENT - 1; if (source_chunk.size() == 0) { - next_batch_index = NumericLimits::Maximum(); + // set it to the maximum valid batch index value for the current pipeline + next_batch_index = max_batch_index; } else { - next_batch_index = + auto batch_index = pipeline.source->GetBatchIndex(context, source_chunk, *pipeline.source_state, *local_source_state); // we start with the base_batch_index as a valid starting value. Make sure that next batch is called below - next_batch_index += pipeline.base_batch_index + 1; + next_batch_index = pipeline.base_batch_index + batch_index + 1; + if (next_batch_index >= max_batch_index) { + throw InternalException("Pipeline batch index - invalid batch index %llu returned by source operator", + batch_index); + } } auto &partition_info = local_sink_state->partition_info; if (next_batch_index == partition_info.batch_index.GetIndex()) { @@ -239,6 +245,10 @@ PipelineExecuteResult PipelineExecutor::Execute(idx_t max_chunks) { return PushFinalize(); } +bool PipelineExecutor::RemainingSinkChunk() const { + return remaining_sink_chunk; +} + PipelineExecuteResult PipelineExecutor::Execute() { return Execute(NumericLimits::Maximum()); } @@ -342,78 +352,6 @@ PipelineExecuteResult PipelineExecutor::PushFinalize() { return PipelineExecuteResult::FINISHED; } -// TODO: Refactoring the StreamingQueryResult to use Push-based execution should eliminate the need for this code -void PipelineExecutor::ExecutePull(DataChunk &result) { - if (IsFinished()) { - return; - } - auto &executor = pipeline.executor; - try { - D_ASSERT(!pipeline.sink); - D_ASSERT(!requires_batch_index); - auto &source_chunk = pipeline.operators.empty() ? result : *intermediate_chunks[0]; - while (result.size() == 0 && (!exhausted_source || !in_process_operators.empty())) { - if (in_process_operators.empty()) { - source_chunk.Reset(); - - auto done_signal = make_shared(); - interrupt_state = InterruptState(done_signal); - SourceResultType source_result; - - // Repeatedly try to fetch from the source until it doesn't block. Note that it may block multiple times - while (true) { - D_ASSERT(!exhausted_source); - source_result = FetchFromSource(source_chunk); - - // No interrupt happened, all good. - if (source_result != SourceResultType::BLOCKED) { - break; - } - - // Busy wait for async callback from source operator - done_signal->Await(); - } - - if (source_result == SourceResultType::FINISHED) { - exhausted_source = true; - if (source_chunk.size() == 0) { - break; - } - } - } - if (!pipeline.operators.empty()) { - auto state = Execute(source_chunk, result); - if (state == OperatorResultType::FINISHED) { - break; - } - } - } - } catch (const Exception &ex) { // LCOV_EXCL_START - if (executor.HasError()) { - executor.ThrowException(); - } - throw; - } catch (std::exception &ex) { - if (executor.HasError()) { - executor.ThrowException(); - } - throw; - } catch (...) { - if (executor.HasError()) { - executor.ThrowException(); - } - throw; - } // LCOV_EXCL_STOP -} - -void PipelineExecutor::PullFinalize() { - if (finalized) { - throw InternalException("Calling PullFinalize on a pipeline that has been finalized already"); - } - finalized = true; - pipeline.executor.Flush(thread); -} - void PipelineExecutor::GoToSource(idx_t ¤t_idx, idx_t initial_idx) { // we go back to the first operator (the source) current_idx = initial_idx; diff --git a/src/parallel/task_scheduler.cpp b/src/parallel/task_scheduler.cpp index d0d3bed5b668..aad0a13360b6 100644 --- a/src/parallel/task_scheduler.cpp +++ b/src/parallel/task_scheduler.cpp @@ -97,12 +97,12 @@ ProducerToken::~ProducerToken() { TaskScheduler::TaskScheduler(DatabaseInstance &db) : db(db), queue(make_uniq()), - allocator_flush_threshold(db.config.options.allocator_flush_threshold) { + allocator_flush_threshold(db.config.options.allocator_flush_threshold), thread_count(0) { } TaskScheduler::~TaskScheduler() { #ifndef DUCKDB_NO_THREADS - SetThreadsInternal(1); + RelaunchThreadsInternal(0); #endif } @@ -231,19 +231,22 @@ static void ThreadExecuteTasks(TaskScheduler *scheduler, atomic *marker) { int32_t TaskScheduler::NumberOfThreads() { lock_guard t(thread_lock); auto &config = DBConfig::GetConfig(db); - return threads.size() + config.options.external_threads + 1; + return threads.size() + config.options.external_threads; } -void TaskScheduler::SetThreads(int32_t n) { +void TaskScheduler::SetThreads(idx_t total_threads, idx_t external_threads) { + if (total_threads == 0) { + throw SyntaxException("Number of threads must be positive!"); + } #ifndef DUCKDB_NO_THREADS - lock_guard t(thread_lock); - if (n < 1) { - throw SyntaxException("Must have at least 1 thread!"); + if (total_threads < external_threads) { + throw SyntaxException("Number of threads can't be smaller than number of external threads!"); } - SetThreadsInternal(n); + thread_count = total_threads - external_threads; #else - if (n != 1) { - throw NotImplementedException("DuckDB was compiled without threads! Setting threads > 1 is not allowed."); + if (threads.size() != external_threads) { + throw NotImplementedException( + "DuckDB was compiled without threads! Setting threads != external_threads is not allowed."); } #endif } @@ -263,12 +266,18 @@ void TaskScheduler::YieldThread() { #endif } -void TaskScheduler::SetThreadsInternal(int32_t n) { +void TaskScheduler::RelaunchThreads() { + lock_guard t(thread_lock); + auto n = thread_count.load(); + RelaunchThreadsInternal(n); +} + +void TaskScheduler::RelaunchThreadsInternal(int32_t n) { #ifndef DUCKDB_NO_THREADS - if (threads.size() == idx_t(n - 1)) { + idx_t new_thread_count = n; + if (threads.size() == new_thread_count) { return; } - idx_t new_thread_count = n - 1; if (threads.size() > new_thread_count) { // we are reducing the number of threads: clear all threads first for (idx_t i = 0; i < threads.size(); i++) { diff --git a/src/parser/column_definition.cpp b/src/parser/column_definition.cpp index 93dfee0b8761..e73fdb02561e 100644 --- a/src/parser/column_definition.cpp +++ b/src/parser/column_definition.cpp @@ -22,14 +22,25 @@ ColumnDefinition ColumnDefinition::Copy() const { copy.expression = expression ? expression->Copy() : nullptr; copy.compression_type = compression_type; copy.category = category; + copy.comment = comment; return copy; } -const unique_ptr &ColumnDefinition::DefaultValue() const { +const ParsedExpression &ColumnDefinition::DefaultValue() const { + if (!HasDefaultValue()) { + if (Generated()) { + throw InternalException("Calling DefaultValue() on a generated column"); + } + throw InternalException("DefaultValue() called on a column without a default value"); + } + return *expression; +} + +bool ColumnDefinition::HasDefaultValue() const { if (Generated()) { - throw InternalException("Calling DefaultValue() on a generated column"); + return false; } - return expression; + return expression != nullptr; } void ColumnDefinition::SetDefaultValue(unique_ptr default_value) { @@ -54,11 +65,18 @@ void ColumnDefinition::SetType(const LogicalType &type) { const string &ColumnDefinition::Name() const { return name; } - void ColumnDefinition::SetName(const string &name) { this->name = name; } +const Value &ColumnDefinition::Comment() const { + return comment; +} + +void ColumnDefinition::SetComment(const Value &comment) { + this->comment = comment; +} + const duckdb::CompressionType &ColumnDefinition::CompressionType() const { return compression_type; } diff --git a/src/parser/column_list.cpp b/src/parser/column_list.cpp index 3fe951fee4bc..f0b29f48302e 100644 --- a/src/parser/column_list.cpp +++ b/src/parser/column_list.cpp @@ -1,6 +1,7 @@ #include "duckdb/parser/column_list.hpp" #include "duckdb/common/string.hpp" #include "duckdb/common/to_string.hpp" +#include "duckdb/common/exception/catalog_exception.hpp" namespace duckdb { @@ -39,7 +40,7 @@ void ColumnList::AddToNameMap(ColumnDefinition &col) { idx_t index = 1; string base_name = col.Name(); while (name_map.find(col.Name()) != name_map.end()) { - col.SetName(base_name + ":" + to_string(index++)); + col.SetName(base_name + "_" + to_string(index++)); } } else { if (name_map.find(col.Name()) != name_map.end()) { diff --git a/src/parser/expression/CMakeLists.txt b/src/parser/expression/CMakeLists.txt index 4645fee6b55f..9a96f0a56082 100644 --- a/src/parser/expression/CMakeLists.txt +++ b/src/parser/expression/CMakeLists.txt @@ -12,6 +12,7 @@ add_library_unity( default_expression.cpp function_expression.cpp lambda_expression.cpp + lambdaref_expression.cpp operator_expression.cpp parameter_expression.cpp positional_reference_expression.cpp diff --git a/src/parser/expression/function_expression.cpp b/src/parser/expression/function_expression.cpp index bd1804b4f885..1658d0a39e28 100644 --- a/src/parser/expression/function_expression.cpp +++ b/src/parser/expression/function_expression.cpp @@ -35,7 +35,7 @@ FunctionExpression::FunctionExpression(const string &function_name, vector(*this, schema, function_name, is_operator, distinct, + return ToString(*this, catalog, schema, function_name, is_operator, distinct, filter.get(), order_bys.get(), export_state, true); } diff --git a/src/parser/expression/lambda_expression.cpp b/src/parser/expression/lambda_expression.cpp index 3b9b1398cd8f..be5034114c84 100644 --- a/src/parser/expression/lambda_expression.cpp +++ b/src/parser/expression/lambda_expression.cpp @@ -1,6 +1,8 @@ #include "duckdb/parser/expression/lambda_expression.hpp" + #include "duckdb/common/types/hash.hpp" #include "duckdb/common/string_util.hpp" +#include "duckdb/parser/expression/function_expression.hpp" #include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/serializer/deserializer.hpp" @@ -14,6 +16,55 @@ LambdaExpression::LambdaExpression(unique_ptr lhs, unique_ptr< : ParsedExpression(ExpressionType::LAMBDA, ExpressionClass::LAMBDA), lhs(std::move(lhs)), expr(std::move(expr)) { } +vector> LambdaExpression::ExtractColumnRefExpressions(string &error_message) { + + // we return an error message because we can't throw a binder exception here, + // since we can't distinguish between a lambda function and the JSON operator yet + vector> column_refs; + + if (lhs->expression_class == ExpressionClass::COLUMN_REF) { + // single column reference + column_refs.emplace_back(*lhs); + return column_refs; + } + + if (lhs->expression_class == ExpressionClass::FUNCTION) { + // list of column references + auto &func_expr = lhs->Cast(); + if (func_expr.function_name != "row") { + error_message = InvalidParametersErrorMessage(); + return column_refs; + } + + for (auto &child : func_expr.children) { + if (child->expression_class != ExpressionClass::COLUMN_REF) { + error_message = InvalidParametersErrorMessage(); + return column_refs; + } + column_refs.emplace_back(*child); + } + } + + if (column_refs.empty()) { + error_message = InvalidParametersErrorMessage(); + } + return column_refs; +} + +string LambdaExpression::InvalidParametersErrorMessage() { + return "Invalid lambda parameters! Parameters must be unqualified comma-separated names like x or (x, y)."; +} + +bool LambdaExpression::IsLambdaParameter(const vector> &lambda_params, + const string ¶meter_name) { + for (const auto &level : lambda_params) { + if (level.find(parameter_name) != level.end()) { + return true; + } + } + return false; +} + string LambdaExpression::ToString() const { return "(" + lhs->ToString() + " -> " + expr->ToString() + ")"; } diff --git a/src/parser/expression/lambdaref_expression.cpp b/src/parser/expression/lambdaref_expression.cpp new file mode 100644 index 000000000000..786d109124df --- /dev/null +++ b/src/parser/expression/lambdaref_expression.cpp @@ -0,0 +1,59 @@ +#include "duckdb/parser/expression/lambdaref_expression.hpp" + +#include "duckdb/common/types/hash.hpp" +#include "duckdb/planner/table_binding.hpp" + +namespace duckdb { + +LambdaRefExpression::LambdaRefExpression(idx_t lambda_idx, string column_name_p) + : ParsedExpression(ExpressionType::LAMBDA_REF, ExpressionClass::LAMBDA_REF), lambda_idx(lambda_idx), + column_name(std::move(column_name_p)) { + alias = column_name; +} + +bool LambdaRefExpression::IsScalar() const { + throw InternalException("lambda reference expressions are transient, IsScalar should never be called"); +} + +string LambdaRefExpression::GetName() const { + return column_name; +} + +string LambdaRefExpression::ToString() const { + throw InternalException("lambda reference expressions are transient, ToString should never be called"); +} + +hash_t LambdaRefExpression::Hash() const { + hash_t result = ParsedExpression::Hash(); + result = CombineHash(result, lambda_idx); + result = CombineHash(result, StringUtil::CIHash(column_name)); + return result; +} + +unique_ptr LambdaRefExpression::Copy() const { + throw InternalException("lambda reference expressions are transient, Copy should never be called"); +} + +unique_ptr +LambdaRefExpression::FindMatchingBinding(optional_ptr> &lambda_bindings, + const string &column_name) { + + // if this is a lambda parameter, then we temporarily add a BoundLambdaRef, + // which we capture and remove later + + // inner lambda parameters have precedence over outer lambda parameters, and + // lambda parameters have precedence over macros and columns + + if (lambda_bindings) { + for (idx_t i = lambda_bindings->size(); i > 0; i--) { + if ((*lambda_bindings)[i - 1].HasMatchingBinding(column_name)) { + D_ASSERT(!(*lambda_bindings)[i - 1].alias.empty()); + return make_uniq(i - 1, column_name); + } + } + } + + return nullptr; +} + +} // namespace duckdb diff --git a/src/parser/expression/window_expression.cpp b/src/parser/expression/window_expression.cpp index c36228e2f213..66e7fe835c8c 100644 --- a/src/parser/expression/window_expression.cpp +++ b/src/parser/expression/window_expression.cpp @@ -14,7 +14,7 @@ WindowExpression::WindowExpression(ExpressionType type) : ParsedExpression(type, WindowExpression::WindowExpression(ExpressionType type, string catalog_name, string schema, const string &function_name) : ParsedExpression(type, ExpressionClass::WINDOW), catalog(std::move(catalog_name)), schema(std::move(schema)), - function_name(StringUtil::Lower(function_name)), ignore_nulls(false) { + function_name(StringUtil::Lower(function_name)), ignore_nulls(false), distinct(false) { switch (type) { case ExpressionType::WINDOW_AGGREGATE: case ExpressionType::WINDOW_ROW_NUMBER: @@ -70,12 +70,18 @@ bool WindowExpression::Equal(const WindowExpression &a, const WindowExpression & if (a.ignore_nulls != b.ignore_nulls) { return false; } + if (a.distinct != b.distinct) { + return false; + } if (!ParsedExpression::ListEquals(a.children, b.children)) { return false; } if (a.start != b.start || a.end != b.end) { return false; } + if (a.exclude_clause != b.exclude_clause) { + return false; + } // check if the framing expressions are equivalentbind_ if (!ParsedExpression::Equals(a.start_expr, b.start_expr) || !ParsedExpression::Equals(a.end_expr, b.end_expr) || !ParsedExpression::Equals(a.offset_expr, b.offset_expr) || @@ -127,11 +133,13 @@ unique_ptr WindowExpression::Copy() const { new_window->start = start; new_window->end = end; + new_window->exclude_clause = exclude_clause; new_window->start_expr = start_expr ? start_expr->Copy() : nullptr; new_window->end_expr = end_expr ? end_expr->Copy() : nullptr; new_window->offset_expr = offset_expr ? offset_expr->Copy() : nullptr; new_window->default_expr = default_expr ? default_expr->Copy() : nullptr; new_window->ignore_nulls = ignore_nulls; + new_window->distinct = distinct; return std::move(new_window); } diff --git a/src/parser/parsed_data/CMakeLists.txt b/src/parser/parsed_data/CMakeLists.txt index 926fa7418538..442047199873 100644 --- a/src/parser/parsed_data/CMakeLists.txt +++ b/src/parser/parsed_data/CMakeLists.txt @@ -6,6 +6,7 @@ add_library_unity( alter_table_function_info.cpp alter_table_info.cpp attach_info.cpp + comment_on_info.cpp create_info.cpp create_index_info.cpp create_aggregate_function_info.cpp @@ -14,6 +15,7 @@ add_library_unity( create_macro_info.cpp create_pragma_function_info.cpp create_property_graph_info.cpp + create_secret_info.cpp create_sequence_info.cpp create_scalar_function_info.cpp create_table_function_info.cpp @@ -22,6 +24,7 @@ add_library_unity( create_view_info.cpp detach_info.cpp drop_info.cpp + extra_drop_info.cpp sample_options.cpp transaction_info.cpp vacuum_info.cpp) diff --git a/src/parser/parsed_data/alter_table_info.cpp b/src/parser/parsed_data/alter_table_info.cpp index 29ef6e90e0b3..0f9967024603 100644 --- a/src/parser/parsed_data/alter_table_info.cpp +++ b/src/parser/parsed_data/alter_table_info.cpp @@ -25,6 +25,28 @@ unique_ptr ChangeOwnershipInfo::Copy() const { owner_name, if_not_found); } +//===--------------------------------------------------------------------===// +// SetCommentInfo +//===--------------------------------------------------------------------===// +SetCommentInfo::SetCommentInfo(CatalogType entry_catalog_type, string entry_catalog_p, string entry_schema_p, + string entry_name_p, Value new_comment_value_p, OnEntryNotFound if_not_found) + : AlterInfo(AlterType::SET_COMMENT, std::move(entry_catalog_p), std::move(entry_schema_p), std::move(entry_name_p), + if_not_found), + entry_catalog_type(entry_catalog_type), comment_value(std::move(new_comment_value_p)) { +} + +CatalogType SetCommentInfo::GetCatalogType() const { + return entry_catalog_type; +} + +unique_ptr SetCommentInfo::Copy() const { + return make_uniq_base(entry_catalog_type, catalog, schema, name, comment_value, + if_not_found); +} + +SetCommentInfo::SetCommentInfo() : AlterInfo(AlterType::SET_COMMENT) { +} + //===--------------------------------------------------------------------===// // AlterTableInfo //===--------------------------------------------------------------------===// @@ -132,6 +154,24 @@ unique_ptr ChangeColumnTypeInfo::Copy() const { expression->Copy()); } +//===--------------------------------------------------------------------===// +// SetColumnCommentInfo +//===--------------------------------------------------------------------===// +SetColumnCommentInfo::SetColumnCommentInfo() : AlterTableInfo(AlterTableType::SET_COLUMN_COMMENT) { +} + +SetColumnCommentInfo::SetColumnCommentInfo(AlterEntryData data, string column_name, Value comment_value) + : AlterTableInfo(AlterTableType::SET_COLUMN_COMMENT, std::move(data)), column_name(std::move(column_name)), + comment(std::move(comment_value)) { +} + +SetColumnCommentInfo::~SetColumnCommentInfo() { +} + +unique_ptr SetColumnCommentInfo::Copy() const { + return make_uniq_base(GetAlterEntryData(), column_name, comment); +} + //===--------------------------------------------------------------------===// // SetDefaultInfo //===--------------------------------------------------------------------===// diff --git a/src/parser/parsed_data/attach_info.cpp b/src/parser/parsed_data/attach_info.cpp index d326ef73284e..dea165bccb90 100644 --- a/src/parser/parsed_data/attach_info.cpp +++ b/src/parser/parsed_data/attach_info.cpp @@ -7,6 +7,7 @@ unique_ptr AttachInfo::Copy() const { result->name = name; result->path = path; result->options = options; + result->on_conflict = on_conflict; return result; } diff --git a/src/parser/parsed_data/comment_on_info.cpp b/src/parser/parsed_data/comment_on_info.cpp new file mode 100644 index 000000000000..2be18857f9f9 --- /dev/null +++ b/src/parser/parsed_data/comment_on_info.cpp @@ -0,0 +1,19 @@ +#include "duckdb/parser/parsed_data/comment_on_info.hpp" + +namespace duckdb { + +CommentOnInfo::CommentOnInfo() + : ParseInfo(TYPE), catalog(INVALID_CATALOG), schema(INVALID_SCHEMA), name(""), comment(Value()) { +} + +unique_ptr CommentOnInfo::Copy() const { + auto result = make_uniq(); + result->type = type; + result->catalog = catalog; + result->schema = schema; + result->name = name; + result->comment = comment; + return result; +} + +} // namespace duckdb diff --git a/src/parser/parsed_data/create_index_info.cpp b/src/parser/parsed_data/create_index_info.cpp index e5c9c2a5b466..93984b5a62f2 100644 --- a/src/parser/parsed_data/create_index_info.cpp +++ b/src/parser/parsed_data/create_index_info.cpp @@ -2,14 +2,20 @@ namespace duckdb { +CreateIndexInfo::CreateIndexInfo() : CreateInfo(CatalogType::INDEX_ENTRY) { +} + +CreateIndexInfo::CreateIndexInfo(const duckdb::CreateIndexInfo &info) + : CreateInfo(CatalogType::INDEX_ENTRY), table(info.table), index_name(info.index_name), options(info.options), + index_type(info.index_type), constraint_type(info.constraint_type), column_ids(info.column_ids), + scan_types(info.scan_types), names(info.names) { +} + unique_ptr CreateIndexInfo::Copy() const { - auto result = make_uniq(); + + auto result = make_uniq(*this); CopyProperties(*result); - result->index_type = index_type; - result->index_name = index_name; - result->constraint_type = constraint_type; - result->table = table; for (auto &expr : expressions) { result->expressions.push_back(expr->Copy()); } @@ -17,10 +23,6 @@ unique_ptr CreateIndexInfo::Copy() const { result->parsed_expressions.push_back(expr->Copy()); } - result->scan_types = scan_types; - result->names = names; - result->column_ids = column_ids; - result->options = options; return std::move(result); } diff --git a/src/parser/parsed_data/create_info.cpp b/src/parser/parsed_data/create_info.cpp index 8f4de8d75efd..88bb72bd37c2 100644 --- a/src/parser/parsed_data/create_info.cpp +++ b/src/parser/parsed_data/create_info.cpp @@ -20,6 +20,7 @@ void CreateInfo::CopyProperties(CreateInfo &other) const { other.temporary = temporary; other.internal = internal; other.sql = sql; + other.comment = comment; } unique_ptr CreateInfo::GetAlterInfo() const { diff --git a/src/parser/parsed_data/create_secret_info.cpp b/src/parser/parsed_data/create_secret_info.cpp new file mode 100644 index 000000000000..55f8bd02032b --- /dev/null +++ b/src/parser/parsed_data/create_secret_info.cpp @@ -0,0 +1,22 @@ +#include "duckdb/parser/parsed_data/create_secret_info.hpp" + +#include "duckdb/parser/parsed_data/create_info.hpp" + +namespace duckdb { + +CreateSecretInfo::CreateSecretInfo(OnCreateConflict on_conflict, SecretPersistType persist_type) + : CreateInfo(CatalogType::SECRET_ENTRY), on_conflict(on_conflict), persist_type(persist_type), options() { +} + +unique_ptr CreateSecretInfo::Copy() const { + auto result = make_uniq(on_conflict, persist_type); + result->type = type; + result->storage_type = storage_type; + result->provider = provider; + result->name = name; + result->scope = scope; + result->options = options; + return std::move(result); +} + +} // namespace duckdb diff --git a/src/parser/parsed_data/create_table_info.cpp b/src/parser/parsed_data/create_table_info.cpp index e97e277df970..69d1f8dabc44 100644 --- a/src/parser/parsed_data/create_table_info.cpp +++ b/src/parser/parsed_data/create_table_info.cpp @@ -29,4 +29,21 @@ unique_ptr CreateTableInfo::Copy() const { return std::move(result); } +string CreateTableInfo::ToString() const { + string ret = ""; + + string table_name = KeywordHelper::WriteOptionallyQuoted(table); + if (schema != DEFAULT_SCHEMA) { + table_name = KeywordHelper::WriteOptionallyQuoted(schema) + "." + table_name; + } + + ret += "CREATE TABLE " + table_name; + if (query != nullptr) { + ret += " AS " + query->ToString(); + } else { + ret += TableCatalogEntry::ColumnsToSQL(columns, constraints) + ";"; + } + return ret; +} + } // namespace duckdb diff --git a/src/parser/parsed_data/create_type_info.cpp b/src/parser/parsed_data/create_type_info.cpp index 3d4bbb7a88d6..176038918724 100644 --- a/src/parser/parsed_data/create_type_info.cpp +++ b/src/parser/parsed_data/create_type_info.cpp @@ -22,4 +22,23 @@ unique_ptr CreateTypeInfo::Copy() const { return std::move(result); } +string CreateTypeInfo::ToString() const { + string result = ""; + D_ASSERT(type.id() == LogicalTypeId::ENUM); + auto &values_insert_order = EnumType::GetValuesInsertOrder(type); + idx_t size = EnumType::GetSize(type); + result += "CREATE TYPE "; + result += KeywordHelper::WriteOptionallyQuoted(name); + result += " AS ENUM ( "; + + for (idx_t i = 0; i < size; i++) { + result += "'" + values_insert_order.GetValue(i).ToString() + "'"; + if (i != size - 1) { + result += ", "; + } + } + result += " );"; + return result; +} + } // namespace duckdb diff --git a/src/parser/parsed_data/create_view_info.cpp b/src/parser/parsed_data/create_view_info.cpp index 792f2547bb09..4f30137f4c58 100644 --- a/src/parser/parsed_data/create_view_info.cpp +++ b/src/parser/parsed_data/create_view_info.cpp @@ -55,21 +55,25 @@ unique_ptr CreateViewInfo::Copy() const { return std::move(result); } -unique_ptr CreateViewInfo::FromSelect(ClientContext &context, unique_ptr info) { - D_ASSERT(info); - D_ASSERT(!info->view_name.empty()); - D_ASSERT(!info->sql.empty()); - D_ASSERT(!info->query); - +unique_ptr CreateViewInfo::ParseSelect(const string &sql) { Parser parser; - parser.ParseQuery(info->sql); + parser.ParseQuery(sql); if (parser.statements.size() != 1 || parser.statements[0]->type != StatementType::SELECT_STATEMENT) { throw BinderException( "Failed to create view from SQL string - \"%s\" - statement did not contain a single SELECT statement", - info->sql); + sql); } D_ASSERT(parser.statements.size() == 1 && parser.statements[0]->type == StatementType::SELECT_STATEMENT); - info->query = unique_ptr_cast(std::move(parser.statements[0])); + return unique_ptr_cast(std::move(parser.statements[0])); +} + +unique_ptr CreateViewInfo::FromSelect(ClientContext &context, unique_ptr info) { + D_ASSERT(info); + D_ASSERT(!info->view_name.empty()); + D_ASSERT(!info->sql.empty()); + D_ASSERT(!info->query); + + info->query = ParseSelect(info->sql); auto binder = Binder::CreateBinder(context); binder->BindCreateViewInfo(*info); diff --git a/src/parser/parsed_data/drop_info.cpp b/src/parser/parsed_data/drop_info.cpp index 9c0b57c4c8cc..ce8567504b3f 100644 --- a/src/parser/parsed_data/drop_info.cpp +++ b/src/parser/parsed_data/drop_info.cpp @@ -1,20 +1,19 @@ #include "duckdb/parser/parsed_data/drop_info.hpp" +#include "duckdb/parser/parsed_data/extra_drop_info.hpp" namespace duckdb { DropInfo::DropInfo() : ParseInfo(TYPE), catalog(INVALID_CATALOG), schema(INVALID_SCHEMA), cascade(false) { } +DropInfo::DropInfo(const DropInfo &info) + : ParseInfo(info.info_type), type(info.type), catalog(info.catalog), schema(info.schema), name(info.name), + if_not_found(info.if_not_found), cascade(info.cascade), allow_drop_internal(info.allow_drop_internal), + extra_drop_info(info.extra_drop_info ? info.extra_drop_info->Copy() : nullptr) { +} + unique_ptr DropInfo::Copy() const { - auto result = make_uniq(); - result->type = type; - result->catalog = catalog; - result->schema = schema; - result->name = name; - result->if_not_found = if_not_found; - result->cascade = cascade; - result->allow_drop_internal = allow_drop_internal; - return result; + return make_uniq(*this); } } // namespace duckdb diff --git a/src/parser/parsed_data/extra_drop_info.cpp b/src/parser/parsed_data/extra_drop_info.cpp new file mode 100644 index 000000000000..b120e653ffc1 --- /dev/null +++ b/src/parser/parsed_data/extra_drop_info.cpp @@ -0,0 +1,16 @@ +#include "duckdb/parser/parsed_data/extra_drop_info.hpp" + +namespace duckdb { + +ExtraDropSecretInfo::ExtraDropSecretInfo() : ExtraDropInfo(ExtraDropInfoType::SECRET_INFO) { +} + +ExtraDropSecretInfo::ExtraDropSecretInfo(const ExtraDropSecretInfo &info) + : ExtraDropInfo(ExtraDropInfoType::SECRET_INFO) { +} + +unique_ptr ExtraDropSecretInfo::Copy() const { + return std::move(make_uniq(*this)); +} + +} // namespace duckdb diff --git a/src/parser/parsed_expression_iterator.cpp b/src/parser/parsed_expression_iterator.cpp index be997f03d2c8..50a4669176e4 100644 --- a/src/parser/parsed_expression_iterator.cpp +++ b/src/parser/parsed_expression_iterator.cpp @@ -141,6 +141,7 @@ void ParsedExpressionIterator::EnumerateChildren( } case ExpressionClass::BOUND_EXPRESSION: case ExpressionClass::COLUMN_REF: + case ExpressionClass::LAMBDA_REF: case ExpressionClass::CONSTANT: case ExpressionClass::DEFAULT: case ExpressionClass::PARAMETER: @@ -239,7 +240,8 @@ void ParsedExpressionIterator::EnumerateTableRefChildren( break; } case TableReferenceType::BASE_TABLE: - case TableReferenceType::EMPTY: + case TableReferenceType::EMPTY_FROM: + case TableReferenceType::SHOW_REF: // these TableRefs do not need to be unfolded break; case TableReferenceType::INVALID: diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp index 8b5af5c71980..9d2cf7559201 100644 --- a/src/parser/parser.cpp +++ b/src/parser/parser.cpp @@ -150,6 +150,7 @@ vector SplitQueryStringIntoStatements(const string &query) { void Parser::ParseQuery(const string &query) { Transformer transformer(options); string parser_error; + optional_idx parser_error_location; { // check if there are any unicode spaces in the string string new_query; @@ -178,7 +179,10 @@ void Parser::ParseQuery(const string &query) { transformer.TransformParseTree(parser.parse_tree, statements); parsing_succeed = true; } else { - parser_error = QueryErrorContext::Format(query, parser.error_message, parser.error_location - 1); + parser_error = parser.error_message; + if (parser.error_location > 0) { + parser_error_location = parser.error_location - 1; + } } } // If DuckDB fails to parse the entire sql string, break the string down into individual statements @@ -188,13 +192,13 @@ void Parser::ParseQuery(const string &query) { // return here would require refactoring into another function. o.w. will just no-op in order to run wrap up // code at the end of this function } else if (!options.extensions || options.extensions->empty()) { - throw ParserException(parser_error); + throw ParserException::SyntaxError(query, parser_error, parser_error_location); } else { // split sql string into statements and re-parse using extension auto query_statements = SplitQueryStringIntoStatements(query); auto stmt_loc = 0; for (auto const &query_statement : query_statements) { - string another_parser_error; + ErrorData another_parser_error; // Creating a new scope to allow extensions to use PostgresParser, which is not reentrant { PostgresParser another_parser; @@ -213,8 +217,10 @@ void Parser::ParseQuery(const string &query) { stmt_loc += query_statement.size(); continue; } else { - another_parser_error = QueryErrorContext::Format(query, another_parser.error_message, - another_parser.error_location - 1); + another_parser_error = ErrorData(another_parser.error_message); + if (another_parser.error_location > 0) { + another_parser_error.AddQueryLocation(another_parser.error_location - 1); + } } } // LCOV_EXCL_STOP // LCOV_EXCL_START @@ -233,13 +239,13 @@ void Parser::ParseQuery(const string &query) { parsed_single_statement = true; break; } else if (result.type == ParserExtensionResultType::DISPLAY_EXTENSION_ERROR) { - throw ParserException(result.error); + throw ParserException::SyntaxError(query, result.error, result.error_location); } else { // We move to the next one! } } if (!parsed_single_statement) { - throw ParserException(parser_error); + throw ParserException::SyntaxError(query, parser_error, parser_error_location); } // LCOV_EXCL_STOP } } @@ -417,7 +423,7 @@ vector>> Parser::ParseValuesList(const strin } ColumnList Parser::ParseColumnList(const string &column_list, ParserOptions options) { - string mock_query = "CREATE TABLE blabla (" + column_list + ")"; + string mock_query = "CREATE TABLE tbl (" + column_list + ")"; Parser parser(options); parser.ParseQuery(mock_query); if (parser.statements.size() != 1 || parser.statements[0]->type != StatementType::CREATE_STATEMENT) { diff --git a/src/parser/query_error_context.cpp b/src/parser/query_error_context.cpp index 58f3418b67ef..65f3eaff73fc 100644 --- a/src/parser/query_error_context.cpp +++ b/src/parser/query_error_context.cpp @@ -7,12 +7,17 @@ namespace duckdb { -string QueryErrorContext::Format(const string &query, const string &error_message, int error_loc) { - if (error_loc < 0 || size_t(error_loc) >= query.size()) { +string QueryErrorContext::Format(const string &query, const string &error_message, optional_idx error_loc, + bool add_line_indicator) { + if (!error_loc.IsValid()) { // no location in query provided return error_message; } - idx_t error_location = idx_t(error_loc); + idx_t error_location = error_loc.GetIndex(); + if (error_location >= query.size()) { + // out of bounds + return error_message; + } // count the line numbers until the error location // and set the start position as the first character of that line idx_t start_pos = 0; @@ -90,7 +95,10 @@ string QueryErrorContext::Format(const string &query, const string &error_messag break; } } - string line_indicator = "LINE " + to_string(line_number) + ": "; + string line_indicator; + if (add_line_indicator) { + line_indicator = "LINE " + to_string(line_number) + ": "; + } string begin_trunc = truncate_beginning ? "..." : ""; string end_trunc = truncate_end ? "..." : ""; @@ -109,13 +117,4 @@ string QueryErrorContext::Format(const string &query, const string &error_messag return result; } -string QueryErrorContext::FormatErrorRecursive(const string &msg, vector &values) { - string error_message = values.empty() ? msg : ExceptionFormatValue::Format(msg, values); - if (!statement || query_location >= statement->query.size()) { - // no statement provided or query location out of range - return error_message; - } - return Format(statement->query, error_message, query_location); -} - } // namespace duckdb diff --git a/src/parser/query_node/select_node.cpp b/src/parser/query_node/select_node.cpp index e228bc398bc3..66ad5dc72df4 100644 --- a/src/parser/query_node/select_node.cpp +++ b/src/parser/query_node/select_node.cpp @@ -11,6 +11,10 @@ SelectNode::SelectNode() } string SelectNode::ToString() const { + if (from_table && from_table->type == TableReferenceType::SHOW_REF) { + D_ASSERT(select_list.size() == 1); + return from_table->ToString(); + } string result; result = cte_map.ToString(); result += "SELECT "; @@ -41,7 +45,7 @@ string SelectNode::ToString() const { result += StringUtil::Format(" AS %s", SQLIdentifier(select_list[i]->alias)); } } - if (from_table && from_table->type != TableReferenceType::EMPTY) { + if (from_table && from_table->type != TableReferenceType::EMPTY_FROM) { result += " FROM " + from_table->ToString(); } if (where_clause) { diff --git a/src/parser/query_node/set_operation_node.cpp b/src/parser/query_node/set_operation_node.cpp index 1e82a6b08fe5..5b444cf60cb6 100644 --- a/src/parser/query_node/set_operation_node.cpp +++ b/src/parser/query_node/set_operation_node.cpp @@ -9,28 +9,19 @@ string SetOperationNode::ToString() const { string result; result = cte_map.ToString(); result += "(" + left->ToString() + ") "; - bool is_distinct = false; - for (idx_t modifier_idx = 0; modifier_idx < modifiers.size(); modifier_idx++) { - if (modifiers[modifier_idx]->type == ResultModifierType::DISTINCT_MODIFIER) { - is_distinct = true; - break; - } - } switch (setop_type) { case SetOperationType::UNION: - result += is_distinct ? "UNION" : "UNION ALL"; + result += setop_all ? "UNION ALL" : "UNION"; break; case SetOperationType::UNION_BY_NAME: - result += is_distinct ? "UNION BY NAME" : "UNION ALL BY NAME"; + result += setop_all ? "UNION ALL BY NAME" : "UNION BY NAME"; break; case SetOperationType::EXCEPT: - D_ASSERT(is_distinct); - result += "EXCEPT"; + result += setop_all ? "EXCEPT ALL" : "EXCEPT"; break; case SetOperationType::INTERSECT: - D_ASSERT(is_distinct); - result += "INTERSECT"; + result += setop_all ? "INTERSECT ALL" : "INTERSECT"; break; default: throw InternalException("Unsupported set operation type"); @@ -50,6 +41,9 @@ bool SetOperationNode::Equals(const QueryNode *other_p) const { if (setop_type != other.setop_type) { return false; } + if (setop_all != other.setop_all) { + return false; + } if (!left->Equals(other.left.get())) { return false; } @@ -62,6 +56,7 @@ bool SetOperationNode::Equals(const QueryNode *other_p) const { unique_ptr SetOperationNode::Copy() const { auto result = make_uniq(); result->setop_type = setop_type; + result->setop_all = setop_all; result->left = left->Copy(); result->right = right->Copy(); this->CopyProperties(*result); diff --git a/src/parser/statement/CMakeLists.txt b/src/parser/statement/CMakeLists.txt index 868946f9d7cf..81ec3aa3d509 100644 --- a/src/parser/statement/CMakeLists.txt +++ b/src/parser/statement/CMakeLists.txt @@ -5,6 +5,7 @@ add_library_unity( attach_statement.cpp call_statement.cpp copy_statement.cpp + copy_database_statement.cpp create_statement.cpp detach_statement.cpp delete_statement.cpp @@ -21,7 +22,6 @@ add_library_unity( relation_statement.cpp select_statement.cpp set_statement.cpp - show_statement.cpp transaction_statement.cpp update_statement.cpp vacuum_statement.cpp) diff --git a/src/parser/statement/copy_database_statement.cpp b/src/parser/statement/copy_database_statement.cpp new file mode 100644 index 000000000000..06ee391860f8 --- /dev/null +++ b/src/parser/statement/copy_database_statement.cpp @@ -0,0 +1,41 @@ +#include "duckdb/parser/statement/copy_database_statement.hpp" +#include "duckdb/parser/keyword_helper.hpp" + +namespace duckdb { + +CopyDatabaseStatement::CopyDatabaseStatement(string from_database_p, string to_database_p, CopyDatabaseType copy_type) + : SQLStatement(StatementType::COPY_DATABASE_STATEMENT), from_database(std::move(from_database_p)), + to_database(std::move(to_database_p)), copy_type(copy_type) { +} + +CopyDatabaseStatement::CopyDatabaseStatement(const CopyDatabaseStatement &other) + : SQLStatement(other), from_database(other.from_database), to_database(other.to_database), + copy_type(other.copy_type) { +} + +unique_ptr CopyDatabaseStatement::Copy() const { + return unique_ptr(new CopyDatabaseStatement(*this)); +} + +string CopyDatabaseStatement::ToString() const { + string result; + result = "COPY FROM DATABASE "; + result += KeywordHelper::WriteOptionallyQuoted(from_database); + result += " TO "; + result += KeywordHelper::WriteOptionallyQuoted(to_database); + result += " ("; + switch (copy_type) { + case CopyDatabaseType::COPY_DATA: + result += "DATA"; + break; + case CopyDatabaseType::COPY_SCHEMA: + result += "SCHEMA"; + break; + default: + throw InternalException("Unsupported CopyDatabaseType"); + } + result += ")"; + return result; +} + +} // namespace duckdb diff --git a/src/parser/statement/set_statement.cpp b/src/parser/statement/set_statement.cpp index e93084236d21..fd98ab6acc3d 100644 --- a/src/parser/statement/set_statement.cpp +++ b/src/parser/statement/set_statement.cpp @@ -12,10 +12,14 @@ unique_ptr SetStatement::Copy() const { // Set Variable -SetVariableStatement::SetVariableStatement(std::string name_p, Value value_p, SetScope scope_p) +SetVariableStatement::SetVariableStatement(std::string name_p, unique_ptr value_p, SetScope scope_p) : SetStatement(std::move(name_p), scope_p, SetType::SET), value(std::move(value_p)) { } +SetVariableStatement::SetVariableStatement(const SetVariableStatement &other) + : SetVariableStatement(other.name, other.value->Copy(), other.scope) { +} + unique_ptr SetVariableStatement::Copy() const { return unique_ptr(new SetVariableStatement(*this)); } diff --git a/src/parser/statement/show_statement.cpp b/src/parser/statement/show_statement.cpp deleted file mode 100644 index e7abb4fda6aa..000000000000 --- a/src/parser/statement/show_statement.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "duckdb/parser/statement/show_statement.hpp" - -namespace duckdb { - -ShowStatement::ShowStatement() : SQLStatement(StatementType::SHOW_STATEMENT), info(make_uniq()) { -} - -ShowStatement::ShowStatement(const ShowStatement &other) : SQLStatement(other), info(other.info->Copy()) { -} - -unique_ptr ShowStatement::Copy() const { - return unique_ptr(new ShowStatement(*this)); -} - -} // namespace duckdb diff --git a/src/parser/tableref/CMakeLists.txt b/src/parser/tableref/CMakeLists.txt index 2779a87e3756..2b3a9f64c545 100644 --- a/src/parser/tableref/CMakeLists.txt +++ b/src/parser/tableref/CMakeLists.txt @@ -7,6 +7,7 @@ add_library_unity( joinref.cpp matchref.cpp pivotref.cpp + showref.cpp subqueryref.cpp table_function.cpp) set(ALL_OBJECT_FILES diff --git a/src/parser/tableref/basetableref.cpp b/src/parser/tableref/basetableref.cpp index a90a6f383e95..a39c07ec7063 100644 --- a/src/parser/tableref/basetableref.cpp +++ b/src/parser/tableref/basetableref.cpp @@ -34,4 +34,5 @@ unique_ptr BaseTableRef::Copy() { return std::move(copy); } + } // namespace duckdb diff --git a/src/parser/tableref/showref.cpp b/src/parser/tableref/showref.cpp new file mode 100644 index 000000000000..a403d6e83ef7 --- /dev/null +++ b/src/parser/tableref/showref.cpp @@ -0,0 +1,47 @@ +#include "duckdb/parser/tableref/showref.hpp" + +namespace duckdb { + +ShowRef::ShowRef() : TableRef(TableReferenceType::SHOW_REF), show_type(ShowType::DESCRIBE) { +} + +string ShowRef::ToString() const { + string result; + if (show_type == ShowType::SUMMARY) { + result += "SUMMARIZE "; + } else { + result += "DESCRIBE "; + } + if (query) { + result += query->ToString(); + } else if (table_name != "__show_tables_expanded") { + result += table_name; + } + return result; +} + +bool ShowRef::Equals(const TableRef &other_p) const { + if (!TableRef::Equals(other_p)) { + return false; + } + auto &other = other_p.Cast(); + if (other.query.get() != query.get()) { + if (!other.query->Equals(query.get())) { + return false; + } + } + return table_name == other.table_name && show_type == other.show_type; +} + +unique_ptr ShowRef::Copy() { + auto copy = make_uniq(); + + copy->table_name = table_name; + copy->query = query ? query->Copy() : nullptr; + copy->show_type = show_type; + CopyProperties(*copy); + + return std::move(copy); +} + +} // namespace duckdb diff --git a/src/parser/transform/constraint/transform_constraint.cpp b/src/parser/transform/constraint/transform_constraint.cpp index c77780e41f20..ef601ac47f25 100644 --- a/src/parser/transform/constraint/transform_constraint.cpp +++ b/src/parser/transform/constraint/transform_constraint.cpp @@ -73,6 +73,9 @@ unique_ptr Transformer::TransformConstraint(duckdb_libpgquery::PGLis case duckdb_libpgquery::PG_CONSTR_UNIQUE: case duckdb_libpgquery::PG_CONSTR_PRIMARY: { bool is_primary_key = constraint->contype == duckdb_libpgquery::PG_CONSTR_PRIMARY; + if (!constraint->keys) { + throw ParserException("UNIQUE USING INDEX is not supported"); + } vector columns; for (auto kc = constraint->keys->head; kc; kc = kc->next) { columns.emplace_back(reinterpret_cast(kc->data.ptr_value)->val.str); @@ -110,8 +113,9 @@ unique_ptr Transformer::TransformConstraint(duckdb_libpgquery::PGLis case duckdb_libpgquery::PG_CONSTR_NULL: return nullptr; case duckdb_libpgquery::PG_CONSTR_GENERATED_VIRTUAL: { - if (column.DefaultValue()) { - throw InvalidInputException("DEFAULT constraint on GENERATED column \"%s\" is not allowed", column.Name()); + if (column.HasDefaultValue()) { + throw InvalidInputException("\"%s\" has a DEFAULT value set, it can not become a GENERATED column", + column.Name()); } column.SetGeneratedExpression(TransformExpression(constraint->raw_expr)); return nullptr; diff --git a/src/parser/transform/expression/transform_bool_expr.cpp b/src/parser/transform/expression/transform_bool_expr.cpp index b7de69fab180..40a98ccb614b 100644 --- a/src/parser/transform/expression/transform_bool_expr.cpp +++ b/src/parser/transform/expression/transform_bool_expr.cpp @@ -46,6 +46,7 @@ unique_ptr Transformer::TransformBoolExpr(duckdb_libpgquery::P } } } + SetQueryLocation(*result, root.location); return result; } diff --git a/src/parser/transform/expression/transform_boolean_test.cpp b/src/parser/transform/expression/transform_boolean_test.cpp index 78ee75abaa8b..9ee96a9317e9 100644 --- a/src/parser/transform/expression/transform_boolean_test.cpp +++ b/src/parser/transform/expression/transform_boolean_test.cpp @@ -6,31 +6,46 @@ namespace duckdb { +static unique_ptr TransformBooleanTestInternal(unique_ptr argument, + ExpressionType comparison_type, bool comparison_value, + int query_location) { + auto bool_value = make_uniq(Value::BOOLEAN(comparison_value)); + Transformer::SetQueryLocation(*bool_value, query_location); + // we cast the argument to bool to remove ambiguity wrt function binding on the comparision + auto cast_argument = make_uniq(LogicalType::BOOLEAN, std::move(argument)); + + auto result = make_uniq(comparison_type, std::move(cast_argument), std::move(bool_value)); + Transformer::SetQueryLocation(*result, query_location); + return std::move(result); +} + +static unique_ptr TransformBooleanTestIsNull(unique_ptr argument, + ExpressionType operator_type, idx_t query_location) { + auto result = make_uniq(operator_type, std::move(argument)); + Transformer::SetQueryLocation(*result, query_location); + return std::move(result); +} + unique_ptr Transformer::TransformBooleanTest(duckdb_libpgquery::PGBooleanTest &node) { auto argument = TransformExpression(PGPointerCast(node.arg)); - auto expr_true = make_uniq(Value::BOOLEAN(true)); - auto expr_false = make_uniq(Value::BOOLEAN(false)); - // we cast the argument to bool to remove ambiguity wrt function binding on the comparision - auto cast_argument = make_uniq(LogicalType::BOOLEAN, argument->Copy()); - switch (node.booltesttype) { case duckdb_libpgquery::PGBoolTestType::PG_IS_TRUE: - return make_uniq(ExpressionType::COMPARE_NOT_DISTINCT_FROM, std::move(cast_argument), - std::move(expr_true)); + return TransformBooleanTestInternal(std::move(argument), ExpressionType::COMPARE_NOT_DISTINCT_FROM, true, + node.location); case duckdb_libpgquery::PGBoolTestType::IS_NOT_TRUE: - return make_uniq(ExpressionType::COMPARE_DISTINCT_FROM, std::move(cast_argument), - std::move(expr_true)); + return TransformBooleanTestInternal(std::move(argument), ExpressionType::COMPARE_DISTINCT_FROM, true, + node.location); case duckdb_libpgquery::PGBoolTestType::IS_FALSE: - return make_uniq(ExpressionType::COMPARE_NOT_DISTINCT_FROM, std::move(cast_argument), - std::move(expr_false)); + return TransformBooleanTestInternal(std::move(argument), ExpressionType::COMPARE_NOT_DISTINCT_FROM, false, + node.location); case duckdb_libpgquery::PGBoolTestType::IS_NOT_FALSE: - return make_uniq(ExpressionType::COMPARE_DISTINCT_FROM, std::move(cast_argument), - std::move(expr_false)); + return TransformBooleanTestInternal(std::move(argument), ExpressionType::COMPARE_DISTINCT_FROM, false, + node.location); case duckdb_libpgquery::PGBoolTestType::IS_UNKNOWN: // IS NULL - return make_uniq(ExpressionType::OPERATOR_IS_NULL, std::move(argument)); + return TransformBooleanTestIsNull(std::move(argument), ExpressionType::OPERATOR_IS_NULL, node.location); case duckdb_libpgquery::PGBoolTestType::IS_NOT_UNKNOWN: // IS NOT NULL - return make_uniq(ExpressionType::OPERATOR_IS_NOT_NULL, std::move(argument)); + return TransformBooleanTestIsNull(std::move(argument), ExpressionType::OPERATOR_IS_NOT_NULL, node.location); default: throw NotImplementedException("Unknown boolean test type %d", node.booltesttype); } diff --git a/src/parser/transform/expression/transform_case.cpp b/src/parser/transform/expression/transform_case.cpp index 2902fa43613d..73eeb3189a5f 100644 --- a/src/parser/transform/expression/transform_case.cpp +++ b/src/parser/transform/expression/transform_case.cpp @@ -29,6 +29,7 @@ unique_ptr Transformer::TransformCase(duckdb_libpgquery::PGCas } else { case_node->else_expr = make_uniq(Value(LogicalType::SQLNULL)); } + SetQueryLocation(*case_node, root.location); return std::move(case_node); } diff --git a/src/parser/transform/expression/transform_columnref.cpp b/src/parser/transform/expression/transform_columnref.cpp index 628c2130863d..b93ff1a3095b 100644 --- a/src/parser/transform/expression/transform_columnref.cpp +++ b/src/parser/transform/expression/transform_columnref.cpp @@ -45,6 +45,7 @@ unique_ptr Transformer::TransformStarExpression(duckdb_libpgqu result->expr = TransformExpression(star.expr); if (result->expr->type == ExpressionType::STAR) { auto &child_star = result->expr->Cast(); + result->relation_name = child_star.relation_name; result->exclude_list = std::move(child_star.exclude_list); result->replace_list = std::move(child_star.replace_list); result->expr.reset(); @@ -57,7 +58,7 @@ unique_ptr Transformer::TransformStarExpression(duckdb_libpgqu } } result->columns = star.columns; - result->query_location = star.location; + SetQueryLocation(*result, star.location); return std::move(result); } @@ -74,7 +75,7 @@ unique_ptr Transformer::TransformColumnRef(duckdb_libpgquery:: column_names.emplace_back(PGPointerCast(node->data.ptr_value)->val.str); } auto colref = make_uniq(std::move(column_names)); - colref->query_location = root.location; + SetQueryLocation(*colref, root.location); return std::move(colref); } case duckdb_libpgquery::T_PGAStar: { diff --git a/src/parser/transform/expression/transform_constant.cpp b/src/parser/transform/expression/transform_constant.cpp index 587a4a06307e..c64d47d6b8be 100644 --- a/src/parser/transform/expression/transform_constant.cpp +++ b/src/parser/transform/expression/transform_constant.cpp @@ -22,6 +22,8 @@ unique_ptr Transformer::TransformValue(duckdb_libpgquery::PG bool try_cast_as_integer = true; bool try_cast_as_decimal = true; int decimal_position = -1; + int num_underscores = 0; + int num_integer_underscores = 0; for (idx_t i = 0; i < str_val.GetSize(); i++) { if (val.val.str[i] == '.') { // decimal point: cast as either decimal or double @@ -33,6 +35,12 @@ unique_ptr Transformer::TransformValue(duckdb_libpgquery::PG try_cast_as_integer = false; try_cast_as_decimal = false; } + if (val.val.str[i] == '_') { + num_underscores++; + if (decimal_position < 0) { + num_integer_underscores++; + } + } } if (try_cast_as_integer) { int64_t bigint_value; @@ -50,10 +58,10 @@ unique_ptr Transformer::TransformValue(duckdb_libpgquery::PG } idx_t decimal_offset = val.val.str[0] == '-' ? 3 : 2; if (try_cast_as_decimal && decimal_position >= 0 && - str_val.GetSize() < Decimal::MAX_WIDTH_DECIMAL + decimal_offset) { + str_val.GetSize() - num_underscores < Decimal::MAX_WIDTH_DECIMAL + decimal_offset) { // figure out the width/scale based on the decimal position - auto width = uint8_t(str_val.GetSize() - 1); - auto scale = uint8_t(width - decimal_position); + auto width = uint8_t(str_val.GetSize() - 1 - num_underscores); + auto scale = uint8_t(width - decimal_position + num_integer_underscores); if (val.val.str[0] == '-') { width--; } @@ -76,7 +84,9 @@ unique_ptr Transformer::TransformValue(duckdb_libpgquery::PG } unique_ptr Transformer::TransformConstant(duckdb_libpgquery::PGAConst &c) { - return TransformValue(c.val); + auto constant = TransformValue(c.val); + SetQueryLocation(*constant, c.location); + return std::move(constant); } bool Transformer::ConstructConstantFromExpression(const ParsedExpression &expr, Value &value) { @@ -100,6 +110,26 @@ bool Transformer::ConstructConstantFromExpression(const ParsedExpression &expr, } value = Value::STRUCT(std::move(values)); return true; + } else if (function.function_name == "list_value") { + vector values; + values.reserve(function.children.size()); + for (const auto &child : function.children) { + Value child_value; + if (!ConstructConstantFromExpression(*child, child_value)) { + return false; + } + values.emplace_back(std::move(child_value)); + } + + // figure out child type + LogicalType child_type(LogicalTypeId::SQLNULL); + for (auto &child_value : values) { + child_type = LogicalType::ForceMaxLogicalType(child_type, child_value.type()); + } + + // finally create the list + value = Value::LIST(child_type, values); + return true; } else { return false; } diff --git a/src/parser/transform/expression/transform_function.cpp b/src/parser/transform/expression/transform_function.cpp index bca232b4222d..606477fd8f7f 100644 --- a/src/parser/transform/expression/transform_function.cpp +++ b/src/parser/transform/expression/transform_function.cpp @@ -41,12 +41,15 @@ void Transformer::TransformWindowFrame(duckdb_libpgquery::PGWindowDef &window_sp "Window frames starting with unbounded following or ending in unbounded preceding make no sense"); } + if (window_spec.frameOptions & FRAMEOPTION_GROUPS) { + throw ParserException("GROUPS mode for window functions is not implemented yet"); + } const bool rangeMode = (window_spec.frameOptions & FRAMEOPTION_RANGE) != 0; if (window_spec.frameOptions & FRAMEOPTION_START_UNBOUNDED_PRECEDING) { expr.start = WindowBoundary::UNBOUNDED_PRECEDING; - } else if (window_spec.frameOptions & FRAMEOPTION_START_VALUE_PRECEDING) { + } else if (window_spec.frameOptions & FRAMEOPTION_START_OFFSET_PRECEDING) { expr.start = rangeMode ? WindowBoundary::EXPR_PRECEDING_RANGE : WindowBoundary::EXPR_PRECEDING_ROWS; - } else if (window_spec.frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING) { + } else if (window_spec.frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) { expr.start = rangeMode ? WindowBoundary::EXPR_FOLLOWING_RANGE : WindowBoundary::EXPR_FOLLOWING_ROWS; } else if (window_spec.frameOptions & FRAMEOPTION_START_CURRENT_ROW) { expr.start = rangeMode ? WindowBoundary::CURRENT_ROW_RANGE : WindowBoundary::CURRENT_ROW_ROWS; @@ -54,21 +57,31 @@ void Transformer::TransformWindowFrame(duckdb_libpgquery::PGWindowDef &window_sp if (window_spec.frameOptions & FRAMEOPTION_END_UNBOUNDED_FOLLOWING) { expr.end = WindowBoundary::UNBOUNDED_FOLLOWING; - } else if (window_spec.frameOptions & FRAMEOPTION_END_VALUE_PRECEDING) { + } else if (window_spec.frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING) { expr.end = rangeMode ? WindowBoundary::EXPR_PRECEDING_RANGE : WindowBoundary::EXPR_PRECEDING_ROWS; - } else if (window_spec.frameOptions & FRAMEOPTION_END_VALUE_FOLLOWING) { + } else if (window_spec.frameOptions & FRAMEOPTION_END_OFFSET_FOLLOWING) { expr.end = rangeMode ? WindowBoundary::EXPR_FOLLOWING_RANGE : WindowBoundary::EXPR_FOLLOWING_ROWS; } else if (window_spec.frameOptions & FRAMEOPTION_END_CURRENT_ROW) { expr.end = rangeMode ? WindowBoundary::CURRENT_ROW_RANGE : WindowBoundary::CURRENT_ROW_ROWS; } D_ASSERT(expr.start != WindowBoundary::INVALID && expr.end != WindowBoundary::INVALID); - if (((window_spec.frameOptions & (FRAMEOPTION_START_VALUE_PRECEDING | FRAMEOPTION_START_VALUE_FOLLOWING)) && + if (((window_spec.frameOptions & (FRAMEOPTION_START_OFFSET_PRECEDING | FRAMEOPTION_START_OFFSET_FOLLOWING)) && !expr.start_expr) || - ((window_spec.frameOptions & (FRAMEOPTION_END_VALUE_PRECEDING | FRAMEOPTION_END_VALUE_FOLLOWING)) && + ((window_spec.frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING | FRAMEOPTION_END_OFFSET_FOLLOWING)) && !expr.end_expr)) { throw InternalException("Failed to transform window boundary expression"); } + + if (window_spec.frameOptions & FRAMEOPTION_EXCLUDE_CURRENT_ROW) { + expr.exclude_clause = WindowExcludeMode::CURRENT_ROW; + } else if (window_spec.frameOptions & FRAMEOPTION_EXCLUDE_GROUP) { + expr.exclude_clause = WindowExcludeMode::GROUP; + } else if (window_spec.frameOptions & FRAMEOPTION_EXCLUDE_TIES) { + expr.exclude_clause = WindowExcludeMode::TIES; + } else { + expr.exclude_clause = WindowExcludeMode::NO_OTHER; + } } bool Transformer::ExpressionIsEmptyStar(ParsedExpression &expr) { @@ -135,8 +148,8 @@ unique_ptr Transformer::TransformFuncCall(duckdb_libpgquery::P throw InternalException("Unknown/unsupported window function"); } - if (root.agg_distinct) { - throw ParserException("DISTINCT is not implemented for window functions!"); + if (win_fun_type != ExpressionType::WINDOW_AGGREGATE && root.agg_distinct) { + throw ParserException("DISTINCT is not implemented for non-aggregate window functions!"); } if (root.agg_order) { @@ -156,6 +169,7 @@ unique_ptr Transformer::TransformFuncCall(duckdb_libpgquery::P auto expr = make_uniq(win_fun_type, std::move(catalog), std::move(schema), lowercase_name); expr->ignore_nulls = root.agg_ignore_nulls; + expr->distinct = root.agg_distinct; if (root.agg_filter) { auto filter_expr = TransformExpression(root.agg_filter); @@ -193,7 +207,7 @@ unique_ptr Transformer::TransformFuncCall(duckdb_libpgquery::P } auto window_spec = PGPointerCast(root.over); if (window_spec->name) { - auto it = window_clauses.find(StringUtil::Lower(string(window_spec->name))); + auto it = window_clauses.find(string(window_spec->name)); if (it == window_clauses.end()) { throw ParserException("window \"%s\" does not exist", window_spec->name); } @@ -203,7 +217,7 @@ unique_ptr Transformer::TransformFuncCall(duckdb_libpgquery::P auto window_ref = window_spec; auto window_name = window_ref->refname; if (window_ref->refname) { - auto it = window_clauses.find(StringUtil::Lower(string(window_spec->refname))); + auto it = window_clauses.find(string(window_spec->refname)); if (it == window_clauses.end()) { throw ParserException("window \"%s\" does not exist", window_spec->refname); } @@ -220,7 +234,7 @@ unique_ptr Transformer::TransformFuncCall(duckdb_libpgquery::P } TransformWindowFrame(*window_spec, *expr); in_window_definition = false; - expr->query_location = root.location; + SetQueryLocation(*expr, root.location); return std::move(expr); } @@ -322,7 +336,7 @@ unique_ptr Transformer::TransformFuncCall(duckdb_libpgquery::P auto function = make_uniq(std::move(catalog), std::move(schema), lowercase_name.c_str(), std::move(children), std::move(filter_expr), std::move(order_bys), root.agg_distinct, false, root.export_state); - function->query_location = root.location; + SetQueryLocation(*function, root.location); return std::move(function); } diff --git a/src/parser/transform/expression/transform_grouping_function.cpp b/src/parser/transform/expression/transform_grouping_function.cpp index 36751a9e5978..a3300cb80325 100644 --- a/src/parser/transform/expression/transform_grouping_function.cpp +++ b/src/parser/transform/expression/transform_grouping_function.cpp @@ -9,7 +9,7 @@ unique_ptr Transformer::TransformGroupingFunction(duckdb_libpg auto n = PGPointerCast(node->data.ptr_value); op->children.push_back(TransformExpression(n)); } - op->query_location = grouping.location; + SetQueryLocation(*op, grouping.location); return std::move(op); } diff --git a/src/parser/transform/expression/transform_interval.cpp b/src/parser/transform/expression/transform_interval.cpp index 1a08c1f0d0a8..9865bb03e66a 100644 --- a/src/parser/transform/expression/transform_interval.cpp +++ b/src/parser/transform/expression/transform_interval.cpp @@ -44,6 +44,10 @@ unique_ptr Transformer::TransformInterval(duckdb_libpgquery::P constexpr int32_t SECOND_MASK = 1 << 12; constexpr int32_t MILLISECOND_MASK = 1 << 13; constexpr int32_t MICROSECOND_MASK = 1 << 14; + constexpr int32_t WEEK_MASK = 1 << 24; + constexpr int32_t DECADE_MASK = 1 << 25; + constexpr int32_t CENTURY_MASK = 1 << 26; + constexpr int32_t MILLENNIUM_MASK = 1 << 27; // we need to check certain combinations // because certain interval masks (e.g. INTERVAL '10' HOURS TO DAYS) set multiple bits @@ -51,6 +55,7 @@ unique_ptr Transformer::TransformInterval(duckdb_libpgquery::P // (we might add support if someone complains about it) string fname; + LogicalType parse_type = LogicalType::DOUBLE; LogicalType target_type; if (mask & YEAR_MASK && mask & MONTH_MASK) { // DAY TO HOUR @@ -96,20 +101,44 @@ unique_ptr Transformer::TransformInterval(duckdb_libpgquery::P } else if (mask & SECOND_MASK) { // SECOND fname = "to_seconds"; - target_type = LogicalType::BIGINT; + target_type = LogicalType::DOUBLE; } else if (mask & MILLISECOND_MASK) { // MILLISECOND fname = "to_milliseconds"; - target_type = LogicalType::BIGINT; + target_type = LogicalType::DOUBLE; } else if (mask & MICROSECOND_MASK) { - // SECOND + // MICROSECOND fname = "to_microseconds"; target_type = LogicalType::BIGINT; + } else if (mask & WEEK_MASK) { + // WEEK + fname = "to_weeks"; + target_type = LogicalType::INTEGER; + } else if (mask & DECADE_MASK) { + // DECADE + fname = "to_decades"; + target_type = LogicalType::INTEGER; + } else if (mask & CENTURY_MASK) { + // CENTURY + fname = "to_centuries"; + target_type = LogicalType::INTEGER; + } else if (mask & MILLENNIUM_MASK) { + // MILLENNIUM + fname = "to_millennia"; + target_type = LogicalType::INTEGER; } else { throw InternalException("Unsupported interval post-fix"); } - // first push a cast to the target type - expr = make_uniq(target_type, std::move(expr)); + // first push a cast to the parse type + expr = make_uniq(parse_type, std::move(expr)); + + // next, truncate it if the target type doesn't match the parse type + if (target_type != parse_type) { + vector> children; + children.push_back(std::move(expr)); + expr = make_uniq("trunc", std::move(children)); + expr = make_uniq(target_type, std::move(expr)); + } // now push the operation vector> children; children.push_back(std::move(expr)); diff --git a/src/parser/transform/expression/transform_is_null.cpp b/src/parser/transform/expression/transform_is_null.cpp index a6bd014c2813..c588438b0c09 100644 --- a/src/parser/transform/expression/transform_is_null.cpp +++ b/src/parser/transform/expression/transform_is_null.cpp @@ -13,7 +13,9 @@ unique_ptr Transformer::TransformNullTest(duckdb_libpgquery::P ? ExpressionType::OPERATOR_IS_NULL : ExpressionType::OPERATOR_IS_NOT_NULL; - return unique_ptr(new OperatorExpression(expr_type, std::move(arg))); + auto result = make_uniq(expr_type, std::move(arg)); + SetQueryLocation(*result, root.location); + return std::move(result); } } // namespace duckdb diff --git a/src/parser/transform/expression/transform_lambda.cpp b/src/parser/transform/expression/transform_lambda.cpp index 4f980a12dd2c..00011ad33c7d 100644 --- a/src/parser/transform/expression/transform_lambda.cpp +++ b/src/parser/transform/expression/transform_lambda.cpp @@ -12,7 +12,9 @@ unique_ptr Transformer::TransformLambda(duckdb_libpgquery::PGL auto rhs = TransformExpression(node.rhs); D_ASSERT(lhs); D_ASSERT(rhs); - return make_uniq(std::move(lhs), std::move(rhs)); + auto result = make_uniq(std::move(lhs), std::move(rhs)); + SetQueryLocation(*result, node.location); + return std::move(result); } } // namespace duckdb diff --git a/src/parser/transform/expression/transform_multi_assign_reference.cpp b/src/parser/transform/expression/transform_multi_assign_reference.cpp index e2c4937fe0b7..658e617ab4b7 100644 --- a/src/parser/transform/expression/transform_multi_assign_reference.cpp +++ b/src/parser/transform/expression/transform_multi_assign_reference.cpp @@ -15,13 +15,13 @@ unique_ptr Transformer::TransformMultiAssignRef(duckdb_libpgqu return TransformExpression(root.source); } + int provided_values = func.args ? func.args->length : 0; // Too many columns (ie. (x, y) = (1, 2, 3) ) - if (root.ncolumns < func.args->length) { + if (root.ncolumns < provided_values || !func.args) { throw ParserException( "Could not perform multiple assignment, target only expects %d values, %d were provided", root.ncolumns, - func.args->length); + provided_values); } - // Get the expression corresponding with the current column idx_t idx = 1; auto list = func.args->head; diff --git a/src/parser/transform/expression/transform_operator.cpp b/src/parser/transform/expression/transform_operator.cpp index 826a3558f66f..3c3a87f0e9bc 100644 --- a/src/parser/transform/expression/transform_operator.cpp +++ b/src/parser/transform/expression/transform_operator.cpp @@ -81,7 +81,7 @@ unique_ptr Transformer::TransformAExprInternal(duckdb_libpgque subquery_expr->subquery_type = SubqueryType::ANY; subquery_expr->child = std::move(left_expr); subquery_expr->comparison_type = OperatorToExpressionType(name); - subquery_expr->query_location = root.location; + SetQueryLocation(*subquery_expr, root.location); if (subquery_expr->comparison_type == ExpressionType::INVALID) { throw ParserException("Unsupported comparison \"%s\" for ANY/ALL subquery", name); } @@ -107,7 +107,7 @@ unique_ptr Transformer::TransformAExprInternal(duckdb_libpgque operator_type = ExpressionType::COMPARE_IN; } auto result = make_uniq(operator_type, std::move(left_expr)); - result->query_location = root.location; + SetQueryLocation(*result, root.location); TransformExpressionList(*PGPointerCast(root.rexpr), result->children); return std::move(result); } @@ -210,7 +210,7 @@ unique_ptr Transformer::TransformAExprInternal(duckdb_libpgque unique_ptr Transformer::TransformAExpr(duckdb_libpgquery::PGAExpr &root) { auto result = TransformAExprInternal(root); if (result) { - result->query_location = root.location; + SetQueryLocation(*result, root.location); } return result; } diff --git a/src/parser/transform/expression/transform_positional_reference.cpp b/src/parser/transform/expression/transform_positional_reference.cpp index 55cb64724a32..efe7d3da3321 100644 --- a/src/parser/transform/expression/transform_positional_reference.cpp +++ b/src/parser/transform/expression/transform_positional_reference.cpp @@ -9,7 +9,7 @@ unique_ptr Transformer::TransformPositionalReference(duckdb_li throw ParserException("Positional reference node needs to be >= 1"); } auto result = make_uniq(node.position); - result->query_location = node.location; + SetQueryLocation(*result, node.location); return std::move(result); } diff --git a/src/parser/transform/expression/transform_subquery.cpp b/src/parser/transform/expression/transform_subquery.cpp index c4ab20a8a48f..5b636890037a 100644 --- a/src/parser/transform/expression/transform_subquery.cpp +++ b/src/parser/transform/expression/transform_subquery.cpp @@ -9,8 +9,9 @@ unique_ptr Transformer::TransformSubquery(duckdb_libpgquery::P auto subquery_expr = make_uniq(); subquery_expr->subquery = TransformSelect(root.subselect); + SetQueryLocation(*subquery_expr, root.location); D_ASSERT(subquery_expr->subquery); - D_ASSERT(subquery_expr->subquery->node->GetSelectList().size() > 0); + D_ASSERT(!subquery_expr->subquery->node->GetSelectList().empty()); switch (root.subLinkType) { case duckdb_libpgquery::PG_EXISTS_SUBLINK: { @@ -55,19 +56,20 @@ unique_ptr Transformer::TransformSubquery(duckdb_libpgquery::P break; } case duckdb_libpgquery::PG_ARRAY_SUBLINK: { - auto subquery_table_alias = "__subquery"; - auto subquery_column_alias = "__arr_element"; - // ARRAY expression - // wrap subquery into "SELECT CASE WHEN ARRAY_AGG(i) IS NULL THEN [] ELSE ARRAY_AGG(i) END FROM (...) tbl(i)" + // wrap subquery into + // "SELECT CASE WHEN ARRAY_AGG(COLUMNS(*)) IS NULL THEN [] ELSE ARRAY_AGG(COLUMNS(*)) END FROM (...) tbl" auto select_node = make_uniq(); - // ARRAY_AGG(i) + // COLUMNS(*) + auto columns_star = make_uniq(); + columns_star->columns = true; + + // ARRAY_AGG(COLUMNS(*)) vector> children; - children.push_back( - make_uniq_base(subquery_column_alias, subquery_table_alias)); + children.push_back(std::move(columns_star)); auto aggr = make_uniq("array_agg", std::move(children)); - // ARRAY_AGG(i) IS NULL + // ARRAY_AGG(COLUMNS(*)) IS NULL auto agg_is_null = make_uniq(ExpressionType::OPERATOR_IS_NULL, aggr->Copy()); // empty list vector> list_children; @@ -82,9 +84,8 @@ unique_ptr Transformer::TransformSubquery(duckdb_libpgquery::P select_node->select_list.push_back(std::move(case_expr)); - // FROM (...) tbl(i) - auto child_subquery = make_uniq(std::move(subquery_expr->subquery), subquery_table_alias); - child_subquery->column_name_alias.emplace_back(subquery_column_alias); + // FROM (...) tbl + auto child_subquery = make_uniq(std::move(subquery_expr->subquery)); select_node->from_table = std::move(child_subquery); auto new_subquery = make_uniq(); @@ -97,7 +98,6 @@ unique_ptr Transformer::TransformSubquery(duckdb_libpgquery::P default: throw NotImplementedException("Subquery of type %d not implemented\n", (int)root.subLinkType); } - subquery_expr->query_location = root.location; return std::move(subquery_expr); } diff --git a/src/parser/transform/helpers/nodetype_to_string.cpp b/src/parser/transform/helpers/nodetype_to_string.cpp index 99081e2e7d5d..14563286672f 100644 --- a/src/parser/transform/helpers/nodetype_to_string.cpp +++ b/src/parser/transform/helpers/nodetype_to_string.cpp @@ -478,6 +478,8 @@ std::string Transformer::NodetypeToString(duckdb_libpgquery::PGNodeTag type) { / return "T_ClosePortalStmt"; case duckdb_libpgquery::T_PGClusterStmt: return "T_ClusterStmt"; + case duckdb_libpgquery::T_PGCommentOnStmt: + return "T_CommentOnStmt"; case duckdb_libpgquery::T_PGCopyStmt: return "T_CopyStmt"; case duckdb_libpgquery::T_PGCreateStmt: diff --git a/src/parser/transform/helpers/transform_cte.cpp b/src/parser/transform/helpers/transform_cte.cpp index dded0d7d694a..ca9192412a9a 100644 --- a/src/parser/transform/helpers/transform_cte.cpp +++ b/src/parser/transform/helpers/transform_cte.cpp @@ -33,9 +33,9 @@ void Transformer::ExtractCTEsRecursive(CommonTableExpressionMap &cte_map) { void Transformer::TransformCTE(duckdb_libpgquery::PGWithClause &de_with_clause, CommonTableExpressionMap &cte_map, vector> &materialized_ctes) { - // TODO: might need to update in case of future lawsuit stored_cte_map.push_back(&cte_map); + // TODO: might need to update in case of future lawsuit D_ASSERT(de_with_clause.ctes); for (auto cte_ele = de_with_clause.ctes->head; cte_ele != nullptr; cte_ele = cte_ele->next) { auto info = make_uniq(); diff --git a/src/parser/transform/helpers/transform_typename.cpp b/src/parser/transform/helpers/transform_typename.cpp index 2527b55f1ac8..b11da893e5cb 100644 --- a/src/parser/transform/helpers/transform_typename.cpp +++ b/src/parser/transform/helpers/transform_typename.cpp @@ -14,6 +14,22 @@ LogicalType Transformer::TransformTypeName(duckdb_libpgquery::PGTypeName &type_n } auto stack_checker = StackCheck(); + if (type_name.names->length > 1) { + // qualified typename + vector names; + for (auto cell = type_name.names->head; cell; cell = cell->next) { + names.push_back(PGPointerCast(cell->data.ptr_value)->val.str); + } + switch (type_name.names->length) { + case 2: + return LogicalType::USER(INVALID_CATALOG, std::move(names[0]), std::move(names[1])); + case 3: + return LogicalType::USER(std::move(names[0]), std::move(names[1]), std::move(names[2])); + default: + throw ParserException( + "Too many qualifications for type name - expected [catalog.schema.name] or [schema.name]"); + } + } auto name = PGPointerCast(type_name.names->tail->data.ptr_value)->val.str; // transform it to the SQL type LogicalTypeId base_type = TransformStringToLogicalTypeId(name); @@ -224,8 +240,23 @@ LogicalType Transformer::TransformTypeName(duckdb_libpgquery::PGTypeName &type_n // array bounds: turn the type into a list idx_t extra_stack = 0; for (auto cell = type_name.arrayBounds->head; cell != nullptr; cell = cell->next) { - result_type = LogicalType::LIST(result_type); StackCheck(extra_stack++); + auto val = PGPointerCast(cell->data.ptr_value); + if (val->type != duckdb_libpgquery::T_PGInteger) { + throw ParserException("Expected integer value as array bound"); + } + auto array_size = val->val.ival; + if (array_size < 0) { + // -1 if bounds are empty + result_type = LogicalType::LIST(result_type); + } else if (array_size == 0) { + // Empty arrays are not supported + throw ParserException("Arrays must have a size of at least 1"); + } else if (array_size > static_cast(ArrayType::MAX_ARRAY_SIZE)) { + throw ParserException("Arrays must have a size of at most %d", ArrayType::MAX_ARRAY_SIZE); + } else { + result_type = LogicalType::ARRAY(result_type, array_size); + } } } return result_type; diff --git a/src/parser/transform/statement/CMakeLists.txt b/src/parser/transform/statement/CMakeLists.txt index 4752cf8681fa..20d54d145aba 100644 --- a/src/parser/transform/statement/CMakeLists.txt +++ b/src/parser/transform/statement/CMakeLists.txt @@ -7,7 +7,9 @@ add_library_unity( transform_call.cpp transform_checkpoint.cpp transform_create_function.cpp + transform_comment_on.cpp transform_copy.cpp + transform_copy_database.cpp transform_create_table_as.cpp transform_create_index.cpp transform_create_property_graph.cpp @@ -25,6 +27,7 @@ add_library_unity( transform_load.cpp transform_pragma.cpp transform_rename.cpp + transform_secret.cpp transform_select.cpp transform_select_node.cpp transform_set.cpp diff --git a/src/parser/transform/statement/transform_alter_table.cpp b/src/parser/transform/statement/transform_alter_table.cpp index ba899ba0c43e..cd2fc7fc406e 100644 --- a/src/parser/transform/statement/transform_alter_table.cpp +++ b/src/parser/transform/statement/transform_alter_table.cpp @@ -95,7 +95,7 @@ unique_ptr Transformer::TransformAlter(duckdb_libpgquery::PGAlte } case duckdb_libpgquery::PG_AT_DropConstraint: default: - throw NotImplementedException("ALTER TABLE option not supported yet!"); + throw NotImplementedException("No support for that ALTER TABLE option yet!"); } } diff --git a/src/parser/transform/statement/transform_attach.cpp b/src/parser/transform/statement/transform_attach.cpp index b3ecde3038d2..8c7632f747d9 100644 --- a/src/parser/transform/statement/transform_attach.cpp +++ b/src/parser/transform/statement/transform_attach.cpp @@ -10,6 +10,7 @@ unique_ptr Transformer::TransformAttach(duckdb_libpgquery::PGAt auto info = make_uniq(); info->name = stmt.name ? stmt.name : string(); info->path = stmt.path; + info->on_conflict = TransformOnConflict(stmt.onconflict); if (stmt.options) { duckdb_libpgquery::PGListCell *cell; diff --git a/src/parser/transform/statement/transform_comment_on.cpp b/src/parser/transform/statement/transform_comment_on.cpp new file mode 100644 index 000000000000..d48e4fa1f9c9 --- /dev/null +++ b/src/parser/transform/statement/transform_comment_on.cpp @@ -0,0 +1,108 @@ +#include "duckdb/parser/expression/constant_expression.hpp" +#include "duckdb/parser/parsed_data/alter_info.hpp" +#include "duckdb/parser/parsed_data/alter_table_info.hpp" +#include "duckdb/parser/statement/alter_statement.hpp" +#include "duckdb/parser/transformer.hpp" + +namespace duckdb { + +unique_ptr Transformer::TransformCommentOn(duckdb_libpgquery::PGCommentOnStmt &stmt) { + QualifiedName qualified_name; + string column_name; + + if (stmt.object_type != duckdb_libpgquery::PG_OBJECT_COLUMN) { + qualified_name = TransformQualifiedName(*stmt.name); + } else { + auto transformed_expr = TransformExpression(stmt.column_expr); + + if (transformed_expr->GetExpressionType() != ExpressionType::COLUMN_REF) { + throw ParserException("Unexpected expression found, expected column reference to comment on (e.g. " + "'schema.table.column'), found '%s'", + transformed_expr->ToString()); + } + + auto colref_expr = transformed_expr->Cast(); + + if (colref_expr.column_names.size() > 4) { + throw ParserException("Invalid column reference: '%s', too many dots", colref_expr.ToString()); + } + if (colref_expr.column_names.size() < 2) { + throw ParserException("Invalid column reference: '%s', please specify a table", colref_expr.ToString()); + } + + column_name = colref_expr.GetColumnName(); + qualified_name.name = colref_expr.column_names.size() > 1 ? colref_expr.GetTableName() : ""; + + if (colref_expr.column_names.size() == 4) { + qualified_name.catalog = colref_expr.column_names[0]; + qualified_name.schema = colref_expr.column_names[1]; + } else if (colref_expr.column_names.size() == 3) { + qualified_name.schema = colref_expr.column_names[0]; + } + } + + auto res = make_uniq(); + unique_ptr info; + + auto expr = TransformExpression(stmt.value); + if (expr->expression_class != ExpressionClass::CONSTANT) { + throw NotImplementedException("Can only use constants as comments"); + } + auto comment_value = expr->Cast().value; + + CatalogType type = CatalogType::INVALID; + + // Regular CatalogTypes + switch (stmt.object_type) { + case duckdb_libpgquery::PG_OBJECT_TABLE: + type = CatalogType::TABLE_ENTRY; + break; + case duckdb_libpgquery::PG_OBJECT_INDEX: + type = CatalogType::INDEX_ENTRY; + break; + case duckdb_libpgquery::PG_OBJECT_VIEW: + type = CatalogType::VIEW_ENTRY; + break; + case duckdb_libpgquery::PG_OBJECT_FUNCTION: + type = CatalogType::MACRO_ENTRY; + break; + case duckdb_libpgquery::PG_OBJECT_TABLE_MACRO: + type = CatalogType::TABLE_MACRO_ENTRY; + break; + case duckdb_libpgquery::PG_OBJECT_SEQUENCE: + type = CatalogType::SEQUENCE_ENTRY; + break; + case duckdb_libpgquery::PG_OBJECT_TYPE: + type = CatalogType::TYPE_ENTRY; + break; + default: + break; + } + + if (type != CatalogType::INVALID) { + info = make_uniq(type, qualified_name.catalog, qualified_name.schema, qualified_name.name, + comment_value, OnEntryNotFound::THROW_EXCEPTION); + } else if (stmt.object_type == duckdb_libpgquery::PG_OBJECT_COLUMN) { + // Special case: Table Column + AlterEntryData alter_entry_data; + alter_entry_data.catalog = qualified_name.catalog; + alter_entry_data.schema = qualified_name.schema; + alter_entry_data.name = qualified_name.name; + alter_entry_data.if_not_found = OnEntryNotFound::THROW_EXCEPTION; + + info = make_uniq(alter_entry_data, column_name, comment_value); + } else if (stmt.object_type == duckdb_libpgquery::PG_OBJECT_DATABASE) { + throw NotImplementedException("Adding comments to databases is not implemented"); + } else if (stmt.object_type == duckdb_libpgquery::PG_OBJECT_SCHEMA) { + throw NotImplementedException("Adding comments to schemas is not implemented"); + } + + if (info) { + res->info = std::move(info); + return res; + } + + throw NotImplementedException("Can not comment on this type"); +} + +} // namespace duckdb diff --git a/src/parser/transform/statement/transform_copy.cpp b/src/parser/transform/statement/transform_copy.cpp index d509480247e0..909ab168b58f 100644 --- a/src/parser/transform/statement/transform_copy.cpp +++ b/src/parser/transform/statement/transform_copy.cpp @@ -12,13 +12,54 @@ namespace duckdb { +void Transformer::ParseGenericOptionListEntry(case_insensitive_map_t> &result_options, string &name, + duckdb_libpgquery::PGNode *arg) { + // otherwise + if (result_options.find(name) != result_options.end()) { + throw ParserException("Unexpected duplicate option \"%s\"", name); + } + if (!arg) { + result_options[name] = vector(); + return; + } + switch (arg->type) { + case duckdb_libpgquery::T_PGList: { + auto column_list = PGPointerCast(arg); + for (auto c = column_list->head; c != nullptr; c = lnext(c)) { + auto target = PGPointerCast(c->data.ptr_value); + result_options[name].push_back(Value(target->name)); + } + break; + } + case duckdb_libpgquery::T_PGAStar: + result_options[name].push_back(Value("*")); + break; + case duckdb_libpgquery::T_PGFuncCall: { + auto func_call = PGPointerCast(arg); + auto func_expr = TransformFuncCall(*func_call); + + Value value; + if (!Transformer::ConstructConstantFromExpression(*func_expr, value)) { + throw ParserException("Unsupported expression in option list: %s", func_expr->ToString()); + } + result_options[name].push_back(std::move(value)); + break; + } + default: { + auto val = PGPointerCast(arg); + result_options[name].push_back(TransformValue(*val)->value); + break; + } + } +} + void Transformer::TransformCopyOptions(CopyInfo &info, optional_ptr options) { if (!options) { return; } - // iterate over each option duckdb_libpgquery::PGListCell *cell; + // iterate over each option for_each_cell(cell, options->head) { auto def_elem = PGPointerCast(cell->data.ptr_value); if (StringUtil::Lower(def_elem->defname) == "format") { @@ -30,43 +71,10 @@ void Transformer::TransformCopyOptions(CopyInfo &info, optional_ptrval.str); continue; } - // otherwise - if (info.options.find(def_elem->defname) != info.options.end()) { - throw ParserException("Unexpected duplicate option \"%s\"", def_elem->defname); - } - if (!def_elem->arg) { - info.options[def_elem->defname] = vector(); - continue; - } - switch (def_elem->arg->type) { - case duckdb_libpgquery::T_PGList: { - auto column_list = PGPointerCast(def_elem->arg); - for (auto c = column_list->head; c != nullptr; c = lnext(c)) { - auto target = PGPointerCast(c->data.ptr_value); - info.options[def_elem->defname].push_back(Value(target->name)); - } - break; - } - case duckdb_libpgquery::T_PGAStar: - info.options[def_elem->defname].push_back(Value("*")); - break; - case duckdb_libpgquery::T_PGFuncCall: { - auto func_call = PGPointerCast(def_elem->arg); - auto func_expr = TransformFuncCall(*func_call); - Value value; - if (!Transformer::ConstructConstantFromExpression(*func_expr, value)) { - throw ParserException("Unsupported expression in COPY options: %s", func_expr->ToString()); - } - info.options[def_elem->defname].push_back(std::move(value)); - break; - } - default: { - auto val = PGPointerCast(def_elem->arg); - info.options[def_elem->defname].push_back(TransformValue(*val)->value); - break; - } - } + // The rest ends up in the options + string name = def_elem->defname; + ParseGenericOptionListEntry(info.options, name, def_elem->arg); } } diff --git a/src/parser/transform/statement/transform_copy_database.cpp b/src/parser/transform/statement/transform_copy_database.cpp new file mode 100644 index 000000000000..6d8dd0d11f35 --- /dev/null +++ b/src/parser/transform/statement/transform_copy_database.cpp @@ -0,0 +1,29 @@ +#include "duckdb/parser/statement/copy_database_statement.hpp" +#include "duckdb/parser/statement/pragma_statement.hpp" +#include "duckdb/parser/transformer.hpp" +#include "duckdb/parser/expression/constant_expression.hpp" + +namespace duckdb { + +unique_ptr Transformer::TransformCopyDatabase(duckdb_libpgquery::PGCopyDatabaseStmt &stmt) { + if (stmt.copy_database_flag) { + // copy a specific subset of the database + CopyDatabaseType type; + if (StringUtil::Equals(stmt.copy_database_flag, "schema")) { + type = CopyDatabaseType::COPY_SCHEMA; + } else if (StringUtil::Equals(stmt.copy_database_flag, "data")) { + type = CopyDatabaseType::COPY_DATA; + } else { + throw NotImplementedException("Unsupported flag for COPY DATABASE"); + } + return make_uniq(stmt.from_database, stmt.to_database, type); + } else { + auto result = make_uniq(); + result->info->name = "copy_database"; + result->info->parameters.emplace_back(make_uniq(Value(stmt.from_database))); + result->info->parameters.emplace_back(make_uniq(Value(stmt.to_database))); + return std::move(result); + } +} + +} // namespace duckdb diff --git a/src/parser/transform/statement/transform_create_index.cpp b/src/parser/transform/statement/transform_create_index.cpp index b2267518b84f..cf3c81f47a02 100644 --- a/src/parser/transform/statement/transform_create_index.cpp +++ b/src/parser/transform/statement/transform_create_index.cpp @@ -1,10 +1,10 @@ +#include "duckdb/common/enum_util.hpp" +#include "duckdb/common/string_util.hpp" #include "duckdb/parser/expression/columnref_expression.hpp" #include "duckdb/parser/expression/constant_expression.hpp" -#include "duckdb/parser/statement/create_statement.hpp" #include "duckdb/parser/parsed_data/create_index_info.hpp" -#include "duckdb/parser/tableref/basetableref.hpp" +#include "duckdb/parser/statement/create_statement.hpp" #include "duckdb/parser/transformer.hpp" -#include "duckdb/common/string_util.hpp" namespace duckdb { @@ -42,18 +42,9 @@ unique_ptr Transformer::TransformCreateIndex(duckdb_libpgquery: } info->on_conflict = TransformOnConflict(stmt.onconflict); - info->expressions = TransformIndexParameters(*stmt.indexParams, stmt.relation->relname); - auto index_type_name = StringUtil::Upper(string(stmt.accessMethod)); - - if (index_type_name == "ART") { - info->index_type = IndexType::ART; - } else { - info->index_type = IndexType::EXTENSION; - } - - info->index_type_name = index_type_name; + info->index_type = StringUtil::Upper(string(stmt.accessMethod)); if (stmt.relation->schemaname) { info->schema = stmt.relation->schemaname; @@ -65,7 +56,7 @@ unique_ptr Transformer::TransformCreateIndex(duckdb_libpgquery: if (stmt.idxname) { info->index_name = stmt.idxname; } else { - throw NotImplementedException("Index without a name not supported yet!"); + throw NotImplementedException("Please provide an index name, e.g., CREATE INDEX my_name ..."); } // Parse the options list diff --git a/src/parser/transform/statement/transform_create_table.cpp b/src/parser/transform/statement/transform_create_table.cpp index 8c7070606ca1..f1ac88eb71a0 100644 --- a/src/parser/transform/statement/transform_create_table.cpp +++ b/src/parser/transform/statement/transform_create_table.cpp @@ -4,7 +4,6 @@ #include "duckdb/parser/constraint.hpp" #include "duckdb/parser/expression/collate_expression.hpp" #include "duckdb/catalog/catalog_entry/table_column_type.hpp" -#include "duckdb/common/case_insensitive_map.hpp" namespace duckdb { diff --git a/src/parser/transform/statement/transform_delete.cpp b/src/parser/transform/statement/transform_delete.cpp index 48cde7b4c29e..bad33043cb5f 100644 --- a/src/parser/transform/statement/transform_delete.cpp +++ b/src/parser/transform/statement/transform_delete.cpp @@ -17,7 +17,7 @@ unique_ptr Transformer::TransformDelete(duckdb_libpgquery::PGDe result->condition = TransformExpression(stmt.whereClause); result->table = TransformRangeVar(*stmt.relation); if (result->table->type != TableReferenceType::BASE_TABLE) { - throw Exception("Can only delete from base tables!"); + throw InvalidInputException("Can only delete from base tables!"); } if (stmt.usingClause) { for (auto n = stmt.usingClause->head; n != nullptr; n = n->next) { diff --git a/src/parser/transform/statement/transform_drop.cpp b/src/parser/transform/statement/transform_drop.cpp index d93f822ee248..13ebcaa8ed34 100644 --- a/src/parser/transform/statement/transform_drop.cpp +++ b/src/parser/transform/statement/transform_drop.cpp @@ -1,4 +1,5 @@ #include "duckdb/parser/statement/drop_statement.hpp" +#include "duckdb/main/secret/secret_manager.hpp" #include "duckdb/parser/transformer.hpp" namespace duckdb { @@ -39,12 +40,6 @@ unique_ptr Transformer::TransformDrop(duckdb_libpgquery::PGDropStm } switch (stmt.removeType) { - case duckdb_libpgquery::PG_OBJECT_TYPE: { - auto view_list = PGPointerCast(stmt.objects); - auto target = PGPointerCast(view_list->head->data.ptr_value); - info.name = PGPointerCast(target->names->tail->data.ptr_value)->val.str; - break; - } case duckdb_libpgquery::PG_OBJECT_SCHEMA: { auto view_list = PGPointerCast(stmt.objects->head->data.ptr_value); if (view_list->length == 2) { @@ -79,4 +74,28 @@ unique_ptr Transformer::TransformDrop(duckdb_libpgquery::PGDropStm return std::move(result); } +unique_ptr Transformer::TransformDropSecret(duckdb_libpgquery::PGDropSecretStmt &stmt) { + auto result = make_uniq(); + auto info = make_uniq(); + auto extra_info = make_uniq(); + + info->type = CatalogType::SECRET_ENTRY; + info->name = stmt.secret_name; + info->if_not_found = stmt.missing_ok ? OnEntryNotFound::RETURN_NULL : OnEntryNotFound::THROW_EXCEPTION; + + extra_info->persist_mode = EnumUtil::FromString(StringUtil::Upper(stmt.persist_type)); + extra_info->secret_storage = stmt.secret_storage; + + if (extra_info->persist_mode == SecretPersistType::TEMPORARY) { + if (!extra_info->secret_storage.empty()) { + throw ParserException("Can not combine TEMPORARY with specifying a storage for drop secret"); + } + } + + info->extra_drop_info = std::move(extra_info); + result->info = std::move(info); + + return result; +} + } // namespace duckdb diff --git a/src/parser/transform/statement/transform_import.cpp b/src/parser/transform/statement/transform_import.cpp index 29092b2e022c..48077e29116c 100644 --- a/src/parser/transform/statement/transform_import.cpp +++ b/src/parser/transform/statement/transform_import.cpp @@ -1,12 +1,13 @@ #include "duckdb/parser/statement/pragma_statement.hpp" #include "duckdb/parser/transformer.hpp" +#include "duckdb/parser/expression/constant_expression.hpp" namespace duckdb { unique_ptr Transformer::TransformImport(duckdb_libpgquery::PGImportStmt &stmt) { auto result = make_uniq(); result->info->name = "import_database"; - result->info->parameters.emplace_back(stmt.filename); + result->info->parameters.emplace_back(make_uniq(Value(stmt.filename))); return result; } diff --git a/src/parser/transform/statement/transform_pragma.cpp b/src/parser/transform/statement/transform_pragma.cpp index 6c9d25e272fc..d55d6a2bb8bc 100644 --- a/src/parser/transform/statement/transform_pragma.cpp +++ b/src/parser/transform/statement/transform_pragma.cpp @@ -27,25 +27,16 @@ unique_ptr Transformer::TransformPragma(duckdb_libpgquery::PGPragm throw ParserException("Named parameter requires a column reference on the LHS"); } auto &columnref = comp.left->Cast(); - - Value rhs_value; - if (!Transformer::ConstructConstantFromExpression(*comp.right, rhs_value)) { - throw ParserException("Named parameter requires a constant on the RHS"); - } - - info.named_parameters[columnref.GetName()] = rhs_value; - } else if (node->type == duckdb_libpgquery::T_PGAConst) { - auto constant = TransformConstant(*PGPointerCast(node.get())); - info.parameters.push_back((constant->Cast()).value); + info.named_parameters.insert(make_pair(columnref.GetName(), std::move(comp.right))); } else if (expr->type == ExpressionType::COLUMN_REF) { auto &colref = expr->Cast(); if (!colref.IsQualified()) { - info.parameters.emplace_back(colref.GetColumnName()); + info.parameters.emplace_back(make_uniq(Value(colref.GetColumnName()))); } else { - info.parameters.emplace_back(expr->ToString()); + info.parameters.emplace_back(make_uniq(Value(expr->ToString()))); } } else { - info.parameters.emplace_back(expr->ToString()); + info.parameters.emplace_back(std::move(expr)); } } } @@ -71,7 +62,8 @@ unique_ptr Transformer::TransformPragma(duckdb_libpgquery::PGPragm if (sqlite_compat_pragmas.find(info.name) != sqlite_compat_pragmas.end()) { break; } - auto set_statement = make_uniq(info.name, info.parameters[0], SetScope::AUTOMATIC); + auto set_statement = + make_uniq(info.name, std::move(info.parameters[0]), SetScope::AUTOMATIC); return std::move(set_statement); } case duckdb_libpgquery::PG_PRAGMA_TYPE_CALL: diff --git a/src/parser/transform/statement/transform_secret.cpp b/src/parser/transform/statement/transform_secret.cpp new file mode 100644 index 000000000000..f9f13b088e96 --- /dev/null +++ b/src/parser/transform/statement/transform_secret.cpp @@ -0,0 +1,103 @@ +#include "duckdb/parser/statement/create_statement.hpp" +#include "duckdb/parser/expression/constant_expression.hpp" +#include "duckdb/parser/expression/function_expression.hpp" +#include "duckdb/parser/tableref/basetableref.hpp" +#include "duckdb/parser/transformer.hpp" + +namespace duckdb { + +void Transformer::TransformCreateSecretOptions(CreateSecretInfo &info, + optional_ptr options) { + if (!options) { + return; + } + + duckdb_libpgquery::PGListCell *cell; + // iterate over each option + for_each_cell(cell, options->head) { + auto def_elem = PGPointerCast(cell->data.ptr_value); + auto lower_name = StringUtil::Lower(def_elem->defname); + if (lower_name == "scope") { + // format specifier: interpret this option + auto scope_val = PGPointerCast(def_elem->arg); + if (!scope_val) { + throw ParserException("Unsupported parameter type for SCOPE"); + } else if (scope_val->type == duckdb_libpgquery::T_PGString) { + info.scope.push_back(scope_val->val.str); + continue; + } else if (scope_val->type != duckdb_libpgquery::T_PGList) { + throw ParserException("%s has to be a string, or a list of strings", lower_name); + } + + auto list = PGPointerCast(def_elem->arg); + for (auto scope_cell = list->head; scope_cell != nullptr; scope_cell = lnext(scope_cell)) { + auto scope_val_entry = PGPointerCast(scope_cell->data.ptr_value); + info.scope.push_back(scope_val_entry->val.str); + } + continue; + } else if (lower_name == "type") { + auto type_val = PGPointerCast(def_elem->arg); + if (type_val->type != duckdb_libpgquery::T_PGString) { + throw ParserException("%s has to be a string", lower_name); + } + info.type = StringUtil::Lower(type_val->val.str); + continue; + } else if (lower_name == "provider") { + auto provider_val = PGPointerCast(def_elem->arg); + if (provider_val->type != duckdb_libpgquery::T_PGString) { + throw ParserException("%s has to be a string", lower_name); + } + info.provider = StringUtil::Lower(provider_val->val.str); + continue; + } + + // All the other options end up in the generic + case_insensitive_map_t> vector_options; + ParseGenericOptionListEntry(vector_options, lower_name, def_elem->arg); + + for (const auto &entry : vector_options) { + if (entry.second.size() != 1) { + throw ParserException("Invalid parameter passed to option '%s'", entry.first); + } + + if (info.options.find(entry.first) != info.options.end()) { + throw BinderException("Duplicate query param found while parsing create secret: '%s'", entry.first); + } + + info.options[entry.first] = entry.second.at(0); + } + } +} + +unique_ptr Transformer::TransformSecret(duckdb_libpgquery::PGCreateSecretStmt &stmt) { + auto result = make_uniq(); + + auto create_secret_info = + make_uniq(TransformOnConflict(stmt.onconflict), + EnumUtil::FromString(StringUtil::Upper(stmt.persist_type))); + + if (stmt.secret_name) { + create_secret_info->name = StringUtil::Lower(stmt.secret_name); + } + + if (stmt.secret_storage) { + create_secret_info->storage_type = StringUtil::Lower(stmt.secret_storage); + } + + if (stmt.options) { + TransformCreateSecretOptions(*create_secret_info, stmt.options); + } + + if (create_secret_info->type.empty()) { + throw ParserException("Failed to create secret - secret must have a type defined"); + } + if (create_secret_info->name.empty()) { + create_secret_info->name = "__default_" + create_secret_info->type; + } + + result->info = std::move(create_secret_info); + + return result; +} + +} // namespace duckdb diff --git a/src/parser/transform/statement/transform_select.cpp b/src/parser/transform/statement/transform_select.cpp index 5473c9c1d8d5..15331a3ab9df 100644 --- a/src/parser/transform/statement/transform_select.cpp +++ b/src/parser/transform/statement/transform_select.cpp @@ -30,7 +30,14 @@ unique_ptr Transformer::TransformSelect(duckdb_libpgquery::PGSe } unique_ptr Transformer::TransformSelect(optional_ptr node, bool is_select) { - return TransformSelect(PGCast(*node), is_select); + switch (node->type) { + case duckdb_libpgquery::T_PGVariableShowSelectStmt: + return TransformShowSelect(PGCast(*node)); + case duckdb_libpgquery::T_PGVariableShowStmt: + return TransformShow(PGCast(*node)); + default: + return TransformSelect(PGCast(*node), is_select); + } } } // namespace duckdb diff --git a/src/parser/transform/statement/transform_select_node.cpp b/src/parser/transform/statement/transform_select_node.cpp index 0e4994fa1901..c024476b152c 100644 --- a/src/parser/transform/statement/transform_select_node.cpp +++ b/src/parser/transform/statement/transform_select_node.cpp @@ -19,6 +19,7 @@ void Transformer::TransformModifiers(duckdb_libpgquery::PGSelectStmt &stmt, Quer order_modifier->orders = std::move(orders); node.modifiers.push_back(std::move(order_modifier)); } + if (stmt.limitCount || stmt.limitOffset) { if (stmt.limitCount && stmt.limitCount->type == duckdb_libpgquery::T_PGLimitPercent) { auto limit_percent_modifier = make_uniq(); @@ -122,13 +123,12 @@ unique_ptr Transformer::TransformSelectInternal(duckdb_libpgquery::PG result.left = TransformSelectNode(*stmt.larg); result.right = TransformSelectNode(*stmt.rarg); if (!result.left || !result.right) { - throw Exception("Failed to transform setop children."); + throw InternalException("Failed to transform setop children."); } - bool select_distinct = true; + result.setop_all = stmt.all; switch (stmt.op) { case duckdb_libpgquery::PG_SETOP_UNION: - select_distinct = !stmt.all; result.setop_type = SetOperationType::UNION; break; case duckdb_libpgquery::PG_SETOP_EXCEPT: @@ -138,14 +138,10 @@ unique_ptr Transformer::TransformSelectInternal(duckdb_libpgquery::PG result.setop_type = SetOperationType::INTERSECT; break; case duckdb_libpgquery::PG_SETOP_UNION_BY_NAME: - select_distinct = !stmt.all; result.setop_type = SetOperationType::UNION_BY_NAME; break; default: - throw Exception("Unexpected setop type"); - } - if (select_distinct) { - result.modifiers.push_back(make_uniq()); + throw InternalException("Unexpected setop type"); } if (stmt.sampleOptions) { throw ParserException("SAMPLE clause is only allowed in regular SELECT statements"); diff --git a/src/parser/transform/statement/transform_set.cpp b/src/parser/transform/statement/transform_set.cpp index a1389bd6aa7d..4fea252c0c04 100644 --- a/src/parser/transform/statement/transform_set.cpp +++ b/src/parser/transform/statement/transform_set.cpp @@ -2,6 +2,7 @@ #include "duckdb/parser/transformer.hpp" #include "duckdb/parser/expression/constant_expression.hpp" +#include "duckdb/parser/expression/columnref_expression.hpp" namespace duckdb { @@ -48,11 +49,23 @@ unique_ptr Transformer::TransformSetVariable(duckdb_libpgquery::PG throw ParserException("SET needs a single scalar value parameter"); } D_ASSERT(stmt.args->head && stmt.args->head->data.ptr_value); - auto const_val = PGPointerCast(stmt.args->head->data.ptr_value); - D_ASSERT(const_val->type == duckdb_libpgquery::T_PGAConst); - - auto value = TransformValue(const_val->val)->value; - return make_uniq(name, value, ToSetScope(stmt.scope)); + auto const_val = PGPointerCast(stmt.args->head->data.ptr_value); + auto expr = TransformExpression(const_val); + if (expr->type == ExpressionType::COLUMN_REF) { + auto &colref = expr->Cast(); + Value val; + if (!colref.IsQualified()) { + val = Value(colref.GetColumnName()); + } else { + val = Value(expr->ToString()); + } + expr = make_uniq(std::move(val)); + } + if (expr->type == ExpressionType::VALUE_DEFAULT) { + // set to default = reset + return make_uniq(name, ToSetScope(stmt.scope)); + } + return make_uniq(name, std::move(expr), ToSetScope(stmt.scope)); } unique_ptr Transformer::TransformResetVariable(duckdb_libpgquery::PGVariableSetStmt &stmt) { diff --git a/src/parser/transform/statement/transform_show.cpp b/src/parser/transform/statement/transform_show.cpp index 59ede816ce73..c80ea92a24f1 100644 --- a/src/parser/transform/statement/transform_show.cpp +++ b/src/parser/transform/statement/transform_show.cpp @@ -1,54 +1,27 @@ #include "duckdb/parser/statement/pragma_statement.hpp" #include "duckdb/parser/transformer.hpp" -#include "duckdb/parser/statement/show_statement.hpp" #include "duckdb/parser/query_node/select_node.hpp" #include "duckdb/parser/expression/star_expression.hpp" #include "duckdb/parser/tableref/basetableref.hpp" +#include "duckdb/parser/expression/constant_expression.hpp" +#include "duckdb/parser/statement/select_statement.hpp" +#include "duckdb/parser/tableref/showref.hpp" namespace duckdb { -static void TransformShowName(unique_ptr &result, const string &name) { - auto &info = *result->info; - auto lname = StringUtil::Lower(name); +unique_ptr Transformer::TransformShow(duckdb_libpgquery::PGVariableShowStmt &stmt) { + string name = stmt.name; - if (lname == "\"databases\"") { - info.name = "show_databases"; - } else if (lname == "\"tables\"") { - // show all tables - info.name = "show_tables"; - } else if (lname == "__show_tables_expanded") { - info.name = "show_tables_expanded"; - } else { - // show one specific table - info.name = "show"; - info.parameters.emplace_back(name); - } -} - -unique_ptr Transformer::TransformShow(duckdb_libpgquery::PGVariableShowStmt &stmt) { - // we transform SHOW x into PRAGMA SHOW('x') - if (stmt.is_summary) { - auto result = make_uniq(); - auto &info = *result->info; - info.is_summary = stmt.is_summary; - - auto select = make_uniq(); - select->select_list.push_back(make_uniq()); - auto basetable = make_uniq(); - auto qualified_name = QualifiedName::Parse(stmt.name); - basetable->schema_name = qualified_name.schema; - basetable->table_name = qualified_name.name; - select->from_table = std::move(basetable); - - info.query = std::move(select); - return std::move(result); - } - - auto result = make_uniq(); + auto select_node = make_uniq(); + select_node->select_list.push_back(make_uniq()); + auto showref = make_uniq(); + showref->table_name = std::move(name); + showref->show_type = stmt.is_summary ? ShowType::SUMMARY : ShowType::DESCRIBE; + select_node->from_table = std::move(showref); - auto show_name = stmt.name; - TransformShowName(result, show_name); - return std::move(result); + auto result = make_uniq(); + result->node = std::move(select_node); + return result; } } // namespace duckdb diff --git a/src/parser/transform/statement/transform_show_select.cpp b/src/parser/transform/statement/transform_show_select.cpp index 5fee8a7afb43..c22c948677ff 100644 --- a/src/parser/transform/statement/transform_show_select.cpp +++ b/src/parser/transform/statement/transform_show_select.cpp @@ -1,19 +1,26 @@ -#include "duckdb/parser/statement/show_statement.hpp" #include "duckdb/parser/sql_statement.hpp" #include "duckdb/parser/transformer.hpp" +#include "duckdb/parser/expression/star_expression.hpp" +#include "duckdb/parser/statement/select_statement.hpp" +#include "duckdb/parser/query_node/select_node.hpp" +#include "duckdb/parser/tableref/showref.hpp" namespace duckdb { -unique_ptr Transformer::TransformShowSelect(duckdb_libpgquery::PGVariableShowSelectStmt &stmt) { +unique_ptr Transformer::TransformShowSelect(duckdb_libpgquery::PGVariableShowSelectStmt &stmt) { // we capture the select statement of SHOW auto select_stmt = PGPointerCast(stmt.stmt); - auto result = make_uniq(); - auto &info = *result->info; - info.is_summary = stmt.is_summary; + auto select_node = make_uniq(); + select_node->select_list.push_back(make_uniq()); - info.query = TransformSelectNode(*select_stmt); + auto show_ref = make_uniq(); + show_ref->show_type = stmt.is_summary ? ShowType::SUMMARY : ShowType::DESCRIBE; + show_ref->query = TransformSelectNode(*select_stmt); + select_node->from_table = std::move(show_ref); + auto result = make_uniq(); + result->node = std::move(select_node); return result; } diff --git a/src/parser/transform/statement/transform_use.cpp b/src/parser/transform/statement/transform_use.cpp index 5efd5db0dd57..a4d76843725f 100644 --- a/src/parser/transform/statement/transform_use.cpp +++ b/src/parser/transform/statement/transform_use.cpp @@ -1,5 +1,6 @@ #include "duckdb/parser/transformer.hpp" #include "duckdb/parser/statement/set_statement.hpp" +#include "duckdb/parser/expression/constant_expression.hpp" namespace duckdb { @@ -14,7 +15,8 @@ unique_ptr Transformer::TransformUse(duckdb_libpgquery::PGUseStmt } else { name = qualified_name.schema + "." + qualified_name.name; } - return make_uniq("schema", std::move(name), SetScope::AUTOMATIC); + auto name_expr = make_uniq(Value(name)); + return make_uniq("schema", std::move(name_expr), SetScope::AUTOMATIC); } } // namespace duckdb diff --git a/src/parser/transform/tableref/transform_base_tableref.cpp b/src/parser/transform/tableref/transform_base_tableref.cpp index 6e6cbf1aecb6..d0e64a452718 100644 --- a/src/parser/transform/tableref/transform_base_tableref.cpp +++ b/src/parser/transform/tableref/transform_base_tableref.cpp @@ -19,7 +19,7 @@ unique_ptr Transformer::TransformRangeVar(duckdb_libpgquery::PGRangeVa if (root.sample) { result->sample = TransformSampleOptions(root.sample); } - result->query_location = root.location; + SetQueryLocation(*result, root.location); return std::move(result); } diff --git a/src/parser/transform/tableref/transform_join.cpp b/src/parser/transform/tableref/transform_join.cpp index bd79241042b3..4213cb5a2f52 100644 --- a/src/parser/transform/tableref/transform_join.cpp +++ b/src/parser/transform/tableref/transform_join.cpp @@ -54,8 +54,7 @@ unique_ptr Transformer::TransformJoin(duckdb_libpgquery::PGJoinExpr &r default: break; } - result->query_location = root.location; - + SetQueryLocation(*result, root.location); if (root.usingClause && root.usingClause->length > 0) { // usingClause is a list of strings for (auto node = root.usingClause->head; node != nullptr; node = node->next) { diff --git a/src/parser/transform/tableref/transform_pivot.cpp b/src/parser/transform/tableref/transform_pivot.cpp index a7e5afb24157..6cb5c0436b52 100644 --- a/src/parser/transform/tableref/transform_pivot.cpp +++ b/src/parser/transform/tableref/transform_pivot.cpp @@ -7,16 +7,13 @@ namespace duckdb { -static void TransformPivotInList(unique_ptr &expr, PivotColumnEntry &entry, bool root_entry = true) { +void Transformer::TransformPivotInList(unique_ptr &expr, PivotColumnEntry &entry, bool root_entry) { if (expr->type == ExpressionType::COLUMN_REF) { auto &colref = expr->Cast(); if (colref.IsQualified()) { throw ParserException("PIVOT IN list cannot contain qualified column references"); } entry.values.emplace_back(colref.GetColumnName()); - } else if (expr->type == ExpressionType::VALUE_CONSTANT) { - auto &constant_expr = expr->Cast(); - entry.values.push_back(std::move(constant_expr.value)); } else if (root_entry && expr->type == ExpressionType::FUNCTION) { auto &function = expr->Cast(); if (function.function_name != "row") { @@ -28,7 +25,11 @@ static void TransformPivotInList(unique_ptr &expr, PivotColumn } else if (root_entry && expr->type == ExpressionType::STAR) { entry.star_expr = std::move(expr); } else { - throw ParserException("PIVOT IN list must contain columns or lists of columns"); + Value val; + if (!Transformer::ConstructConstantFromExpression(*expr, val)) { + throw ParserException("PIVOT IN list must contain columns or lists of columns"); + } + entry.values.push_back(std::move(val)); } } diff --git a/src/parser/transform/tableref/transform_table_function.cpp b/src/parser/transform/tableref/transform_table_function.cpp index 5d8b05c2d001..43dccc743274 100644 --- a/src/parser/transform/tableref/transform_table_function.cpp +++ b/src/parser/transform/tableref/transform_table_function.cpp @@ -28,7 +28,7 @@ unique_ptr Transformer::TransformRangeFunction(duckdb_libpgquery::PGRa case duckdb_libpgquery::T_PGFuncCall: { auto func_call = PGPointerCast(call_tree.get()); result->function = TransformFuncCall(*func_call); - result->query_location = func_call->location; + SetQueryLocation(*result, func_call->location); break; } case duckdb_libpgquery::T_PGSQLValueFunction: diff --git a/src/parser/transformer.cpp b/src/parser/transformer.cpp index f8478f671491..e9381abec097 100644 --- a/src/parser/transformer.cpp +++ b/src/parser/transformer.cpp @@ -213,6 +213,14 @@ unique_ptr Transformer::TransformStatementInternal(duckdb_libpgque return TransformCreatePropertyGraph(PGCast(stmt)); case duckdb_libpgquery::T_PGDropPropertyGraphStmt: return TransformDropPropertyGraph(PGCast(stmt)); + case duckdb_libpgquery::T_PGCopyDatabaseStmt: + return TransformCopyDatabase(PGCast(stmt)); + case duckdb_libpgquery::T_PGCreateSecretStmt: + return TransformSecret(PGCast(stmt)); + case duckdb_libpgquery::T_PGDropSecretStmt: + return TransformDropSecret(PGCast(stmt)); + case duckdb_libpgquery::T_PGCommentOnStmt: + return TransformCommentOn(PGCast(stmt)); default: throw NotImplementedException(NodetypeToString(stmt.type)); } @@ -232,4 +240,18 @@ unique_ptr Transformer::TransformMaterializedCTE(unique_ptr namespace duckdb { +BindContext::BindContext(Binder &binder) : binder(binder) { +} + string BindContext::GetMatchingBinding(const string &column_name) { string result; for (auto &kv : bindings) { @@ -133,10 +137,10 @@ void BindContext::TransferUsingBinding(BindContext ¤t_context, optional_pt } string BindContext::GetActualColumnName(const string &binding_name, const string &column_name) { - string error; + ErrorData error; auto binding = GetBinding(binding_name, error); if (!binding) { - throw InternalException("No binding with name \"%s\"", binding_name); + throw InternalException("No binding with name \"%s\": %s", binding_name, error.RawMessage()); } column_t binding_index; if (!binding->TryGetBindingIndex(column_name, binding_index)) { // LCOV_EXCL_START @@ -158,10 +162,10 @@ unordered_set BindContext::GetMatchingBindings(const string &column_name } unique_ptr BindContext::ExpandGeneratedColumn(const string &table_name, const string &column_name) { - string error_message; + ErrorData error; - auto binding = GetBinding(table_name, error_message); - D_ASSERT(binding); + auto binding = GetBinding(table_name, error); + D_ASSERT(binding && !error.HasError()); auto &table_binding = binding->Cast(); auto result = table_binding.ExpandGeneratedColumn(column_name); result->alias = column_name; @@ -192,7 +196,7 @@ static bool ColumnIsGenerated(Binding &binding, column_t index) { unique_ptr BindContext::CreateColumnReference(const string &catalog_name, const string &schema_name, const string &table_name, const string &column_name) { - string error_message; + ErrorData error; vector names; if (!catalog_name.empty()) { names.push_back(catalog_name); @@ -204,7 +208,7 @@ unique_ptr BindContext::CreateColumnReference(const string &ca names.push_back(column_name); auto result = make_uniq(std::move(names)); - auto binding = GetBinding(table_name, error_message); + auto binding = GetBinding(table_name, error); if (!binding) { return std::move(result); } @@ -233,7 +237,7 @@ optional_ptr BindContext::GetCTEBinding(const string &ctename) { return match->second.get(); } -optional_ptr BindContext::GetBinding(const string &name, string &out_error) { +optional_ptr BindContext::GetBinding(const string &name, ErrorData &out_error) { auto match = bindings.find(name); if (match == bindings.end()) { // alias not found in this BindContext @@ -243,7 +247,8 @@ optional_ptr BindContext::GetBinding(const string &name, string &out_er } string candidate_str = StringUtil::CandidatesMessage(StringUtil::TopNLevenshtein(candidates, name), "Candidate tables"); - out_error = StringUtil::Format("Referenced table \"%s\" not found!%s", name, candidate_str); + out_error = ErrorData(ExceptionType::BINDER, + StringUtil::Format("Referenced table \"%s\" not found!%s", name, candidate_str)); return nullptr; } return match->second.get(); @@ -254,10 +259,10 @@ BindResult BindContext::BindColumn(ColumnRefExpression &colref, idx_t depth) { throw InternalException("Could not bind alias \"%s\"!", colref.GetColumnName()); } - string error; + ErrorData error; auto binding = GetBinding(colref.GetTableName(), error); if (!binding) { - return BindResult(error); + return BindResult(std::move(error)); } return binding->Bind(colref, depth); } @@ -363,13 +368,13 @@ void BindContext::GenerateAllColumnExpressions(StarExpression &expr, } else { // SELECT tbl.* case // SELECT struct.* case - string error; + ErrorData error; auto binding = GetBinding(expr.relation_name, error); bool is_struct_ref = false; if (!binding) { auto binding_name = GetMatchingBinding(expr.relation_name); if (binding_name.empty()) { - throw BinderException(error); + error.Throw(); } binding = bindings[binding_name].get(); is_struct_ref = true; @@ -403,6 +408,10 @@ void BindContext::GenerateAllColumnExpressions(StarExpression &expr, } } } + if (binder.GetBindingMode() == BindingMode::EXTRACT_NAMES) { + expr.exclude_list.clear(); + expr.replace_list.clear(); + } for (auto &excluded : expr.exclude_list) { if (excluded_columns.find(excluded) == excluded_columns.end()) { throw BinderException("Column \"%s\" in EXCLUDE list not found in %s", excluded, @@ -452,7 +461,7 @@ static string AddColumnNameToBinding(const string &base_name, case_insensitive_s idx_t index = 1; string name = base_name; while (current_names.find(name) != current_names.end()) { - name = base_name + ":" + std::to_string(index++); + name = base_name + "_" + std::to_string(index++); } current_names.insert(name); return name; diff --git a/src/planner/binder.cpp b/src/planner/binder.cpp index 7cd20ed2df7a..5a81ee6eccc1 100644 --- a/src/planner/binder.cpp +++ b/src/planner/binder.cpp @@ -50,7 +50,8 @@ shared_ptr Binder::CreateBinder(ClientContext &context, optional_ptr parent_p, bool inherit_ctes_p) - : context(context), parent(std::move(parent_p)), bound_tables(0), inherit_ctes(inherit_ctes_p) { + : context(context), bind_context(*this), parent(std::move(parent_p)), bound_tables(0), + inherit_ctes(inherit_ctes_p) { if (parent) { // We have to inherit macro and lambda parameter bindings and from the parent binder, if there is a parent. @@ -95,8 +96,6 @@ BoundStatement Binder::Bind(SQLStatement &statement) { return Bind(statement.Cast()); case StatementType::VACUUM_STATEMENT: return Bind(statement.Cast()); - case StatementType::SHOW_STATEMENT: - return Bind(statement.Cast()); case StatementType::CALL_STATEMENT: return Bind(statement.Cast()); case StatementType::EXPORT_STATEMENT: @@ -117,6 +116,8 @@ BoundStatement Binder::Bind(SQLStatement &statement) { return Bind(statement.Cast()); case StatementType::DETACH_STATEMENT: return Bind(statement.Cast()); + case StatementType::COPY_DATABASE_STATEMENT: + return Bind(statement.Cast()); default: // LCOV_EXCL_START throw NotImplementedException("Unimplemented statement type \"%s\" for Bind", StatementTypeToString(statement.type)); @@ -191,7 +192,7 @@ unique_ptr Binder::Bind(TableRef &ref) { case TableReferenceType::SUBQUERY: result = Bind(ref.Cast()); break; - case TableReferenceType::EMPTY: + case TableReferenceType::EMPTY_FROM: result = Bind(ref.Cast()); break; case TableReferenceType::TABLE_FUNCTION: @@ -203,6 +204,9 @@ unique_ptr Binder::Bind(TableRef &ref) { case TableReferenceType::PIVOT: result = Bind(ref.Cast()); break; + case TableReferenceType::SHOW_REF: + result = Bind(ref.Cast()); + break; case TableReferenceType::CTE: case TableReferenceType::INVALID: default: @@ -227,7 +231,7 @@ unique_ptr Binder::CreatePlan(BoundTableRef &ref) { case TableReferenceType::TABLE_FUNCTION: root = CreatePlan(ref.Cast()); break; - case TableReferenceType::EMPTY: + case TableReferenceType::EMPTY_FROM: root = CreatePlan(ref.Cast()); break; case TableReferenceType::EXPRESSION_LIST: @@ -349,25 +353,25 @@ void Binder::AddCorrelatedColumn(const CorrelatedColumnInfo &info) { } } -bool Binder::HasMatchingBinding(const string &table_name, const string &column_name, string &error_message) { +bool Binder::HasMatchingBinding(const string &table_name, const string &column_name, ErrorData &error) { string empty_schema; - return HasMatchingBinding(empty_schema, table_name, column_name, error_message); + return HasMatchingBinding(empty_schema, table_name, column_name, error); } bool Binder::HasMatchingBinding(const string &schema_name, const string &table_name, const string &column_name, - string &error_message) { + ErrorData &error) { string empty_catalog; - return HasMatchingBinding(empty_catalog, schema_name, table_name, column_name, error_message); + return HasMatchingBinding(empty_catalog, schema_name, table_name, column_name, error); } bool Binder::HasMatchingBinding(const string &catalog_name, const string &schema_name, const string &table_name, - const string &column_name, string &error_message) { + const string &column_name, ErrorData &error) { optional_ptr binding; D_ASSERT(!lambda_bindings); if (macro_binding && table_name == macro_binding->alias) { binding = optional_ptr(macro_binding.get()); } else { - binding = bind_context.GetBinding(table_name, error_message); + binding = bind_context.GetBinding(table_name, error); } if (!binding) { @@ -391,7 +395,7 @@ bool Binder::HasMatchingBinding(const string &catalog_name, const string &schema bool binding_found; binding_found = binding->HasMatchingBinding(column_name); if (!binding_found) { - error_message = binding->ColumnNotFoundError(column_name); + error = binding->ColumnNotFoundError(column_name); } return binding_found; } @@ -411,6 +415,18 @@ void Binder::SetCanContainNulls(bool can_contain_nulls_p) { can_contain_nulls = can_contain_nulls_p; } +void Binder::SetAlwaysRequireRebind() { + reference current_binder = *this; + while (true) { + auto ¤t = current_binder.get(); + current.properties.always_require_rebind = true; + if (!current.parent) { + break; + } + current_binder = *current.parent; + } +} + void Binder::AddTableName(string table_name) { auto root_binder = GetRootBinder(); root_binder->table_names.insert(std::move(table_name)); @@ -421,19 +437,6 @@ const unordered_set &Binder::GetTableNames() { return root_binder->table_names; } -string Binder::FormatError(ParsedExpression &expr_context, const string &message) { - return FormatError(expr_context.query_location, message); -} - -string Binder::FormatError(TableRef &ref_context, const string &message) { - return FormatError(ref_context.query_location, message); -} - -string Binder::FormatErrorRecursive(idx_t query_location, const string &message, vector &values) { - QueryErrorContext context(root_statement, query_location); - return context.FormatErrorRecursive(message, values); -} - // FIXME: this is extremely naive void VerifyNotExcluded(ParsedExpression &expr) { if (expr.type == ExpressionType::COLUMN_REF) { @@ -486,7 +489,9 @@ BoundStatement Binder::BindReturning(vector> return result.types.push_back(result_type); projection_expressions.push_back(std::move(expr)); } - + if (new_returning_list.empty()) { + throw BinderException("RETURNING list is empty!"); + } auto projection = make_uniq(GenerateTableIndex(), std::move(projection_expressions)); projection->AddChild(std::move(child_operator)); D_ASSERT(result.types.size() == result.names.size()); diff --git a/src/planner/binder/expression/bind_aggregate_expression.cpp b/src/planner/binder/expression/bind_aggregate_expression.cpp index 4bd474263a50..2af12ca4e572 100644 --- a/src/planner/binder/expression/bind_aggregate_expression.cpp +++ b/src/planner/binder/expression/bind_aggregate_expression.cpp @@ -86,7 +86,7 @@ BindResult BaseSelectBinder::BindAggregate(FunctionExpression &aggr, AggregateFu this->bound_aggregate = true; unique_ptr bound_filter; AggregateBinder aggregate_binder(binder, context); - string error; + ErrorData error; // Now we bind the filter (if any) if (aggr.filter) { @@ -114,7 +114,7 @@ BindResult BaseSelectBinder::BindAggregate(FunctionExpression &aggr, AggregateFu for (auto &child : aggr.children) { aggregate_binder.BindChild(child, 0, error); // We have to negate the fractions for PERCENTILE_XXXX DESC - if (error.empty() && ordered_set_agg) { + if (!error.HasError() && ordered_set_agg) { NegatePercentileFractions(context, child, negate_fractions); } } @@ -126,35 +126,35 @@ BindResult BaseSelectBinder::BindAggregate(FunctionExpression &aggr, AggregateFu } } - if (!error.empty()) { + if (error.HasError()) { // failed to bind child if (aggregate_binder.HasBoundColumns()) { for (idx_t i = 0; i < aggr.children.size(); i++) { // however, we bound columns! // that means this aggregation belongs to this node // check if we have to resolve any errors by binding with parent binders - bool success = aggregate_binder.BindCorrelatedColumns(aggr.children[i]); + auto result = aggregate_binder.BindCorrelatedColumns(aggr.children[i], error); // if there is still an error after this, we could not successfully bind the aggregate - if (!success) { - throw BinderException(error); + if (result.HasError()) { + result.error.Throw(); } auto &bound_expr = BoundExpression::GetExpression(*aggr.children[i]); ExtractCorrelatedExpressions(binder, *bound_expr); } if (aggr.filter) { - bool success = aggregate_binder.BindCorrelatedColumns(aggr.filter); + auto result = aggregate_binder.BindCorrelatedColumns(aggr.filter, error); // if there is still an error after this, we could not successfully bind the aggregate - if (!success) { - throw BinderException(error); + if (result.HasError()) { + result.error.Throw(); } auto &bound_expr = BoundExpression::GetExpression(*aggr.filter); ExtractCorrelatedExpressions(binder, *bound_expr); } if (aggr.order_bys && !aggr.order_bys->orders.empty()) { for (auto &order : aggr.order_bys->orders) { - bool success = aggregate_binder.BindCorrelatedColumns(order.expression); - if (!success) { - throw BinderException(error); + auto result = aggregate_binder.BindCorrelatedColumns(order.expression, error); + if (result.HasError()) { + result.error.Throw(); } auto &bound_expr = BoundExpression::GetExpression(*order.expression); ExtractCorrelatedExpressions(binder, *bound_expr); @@ -162,7 +162,7 @@ BindResult BaseSelectBinder::BindAggregate(FunctionExpression &aggr, AggregateFu } } else { // we didn't bind columns, try again in children - return BindResult(error); + return BindResult(std::move(error)); } } else if (depth > 0 && !aggregate_binder.HasBoundColumns()) { return BindResult("Aggregate with only constant parameters has to be bound in the root subquery"); @@ -207,7 +207,8 @@ BindResult BaseSelectBinder::BindAggregate(FunctionExpression &aggr, AggregateFu FunctionBinder function_binder(context); idx_t best_function = function_binder.BindFunction(func.name, func.functions, types, error); if (best_function == DConstants::INVALID_INDEX) { - throw BinderException(binder.FormatError(aggr, error)); + error.AddQueryLocation(aggr); + error.Throw(); } // found a matching function! auto bound_function = func.functions.GetFunctionByOffset(best_function); diff --git a/src/planner/binder/expression/bind_between_expression.cpp b/src/planner/binder/expression/bind_between_expression.cpp index a44e5d3783f3..b32dec1977d2 100644 --- a/src/planner/binder/expression/bind_between_expression.cpp +++ b/src/planner/binder/expression/bind_between_expression.cpp @@ -5,31 +5,42 @@ #include "duckdb/planner/expression/bound_conjunction_expression.hpp" #include "duckdb/planner/expression/bound_parameter_expression.hpp" #include "duckdb/planner/expression_binder.hpp" +#include "duckdb/planner/binder.hpp" namespace duckdb { BindResult ExpressionBinder::BindExpression(BetweenExpression &expr, idx_t depth) { // first try to bind the children of the case expression - string error; + ErrorData error; BindChild(expr.input, depth, error); BindChild(expr.lower, depth, error); BindChild(expr.upper, depth, error); - if (!error.empty()) { - return BindResult(error); + if (error.HasError()) { + return BindResult(std::move(error)); } // the children have been successfully resolved auto &input = BoundExpression::GetExpression(*expr.input); auto &lower = BoundExpression::GetExpression(*expr.lower); auto &upper = BoundExpression::GetExpression(*expr.upper); - auto input_sql_type = input->return_type; - auto lower_sql_type = lower->return_type; - auto upper_sql_type = upper->return_type; + auto input_sql_type = ExpressionBinder::GetExpressionReturnType(*input); + auto lower_sql_type = ExpressionBinder::GetExpressionReturnType(*lower); + auto upper_sql_type = ExpressionBinder::GetExpressionReturnType(*upper); // cast the input types to the same type // now obtain the result type of the input types - auto input_type = BoundComparisonExpression::BindComparison(input_sql_type, lower_sql_type); - input_type = BoundComparisonExpression::BindComparison(input_type, upper_sql_type); + LogicalType input_type; + if (!BoundComparisonExpression::TryBindComparison(context, input_sql_type, lower_sql_type, input_type, expr.type)) { + + throw BinderException(expr, + "Cannot mix values of type %s and %s in BETWEEN clause - an explicit cast is required", + input_sql_type.ToString(), lower_sql_type.ToString()); + } + if (!BoundComparisonExpression::TryBindComparison(context, input_type, upper_sql_type, input_type, expr.type)) { + throw BinderException(expr, + "Cannot mix values of type %s and %s in BETWEEN clause - an explicit cast is required", + input_type.ToString(), upper_sql_type.ToString()); + } // add casts (if necessary) input = BoundCastExpression::AddCastToType(context, std::move(input), input_type); lower = BoundCastExpression::AddCastToType(context, std::move(lower), input_type); @@ -39,7 +50,7 @@ BindResult ExpressionBinder::BindExpression(BetweenExpression &expr, idx_t depth PushCollation(context, lower, input_type, false); PushCollation(context, upper, input_type, false); - if (!input->HasSideEffects() && !input->HasParameter() && !input->HasSubquery()) { + if (!input->IsVolatile() && !input->HasParameter() && !input->HasSubquery()) { // the expression does not have side effects and can be copied: create two comparisons // the reason we do this is that individual comparisons are easier to handle in optimizers // if both comparisons remain they will be folded together again into a single BETWEEN in the optimizer diff --git a/src/planner/binder/expression/bind_case_expression.cpp b/src/planner/binder/expression/bind_case_expression.cpp index 6ba9bd8f3991..a96a2e2bb443 100644 --- a/src/planner/binder/expression/bind_case_expression.cpp +++ b/src/planner/binder/expression/bind_case_expression.cpp @@ -2,33 +2,38 @@ #include "duckdb/planner/expression/bound_case_expression.hpp" #include "duckdb/planner/expression/bound_cast_expression.hpp" #include "duckdb/planner/expression_binder.hpp" +#include "duckdb/planner/binder.hpp" namespace duckdb { BindResult ExpressionBinder::BindExpression(CaseExpression &expr, idx_t depth) { // first try to bind the children of the case expression - string error; + ErrorData error; for (auto &check : expr.case_checks) { BindChild(check.when_expr, depth, error); BindChild(check.then_expr, depth, error); } BindChild(expr.else_expr, depth, error); - if (!error.empty()) { - return BindResult(error); + if (error.HasError()) { + return BindResult(std::move(error)); } // the children have been successfully resolved // figure out the result type of the CASE expression auto &else_expr = BoundExpression::GetExpression(*expr.else_expr); - auto return_type = else_expr->return_type; + auto return_type = ExpressionBinder::GetExpressionReturnType(*else_expr); for (auto &check : expr.case_checks) { auto &then_expr = BoundExpression::GetExpression(*check.then_expr); - return_type = LogicalType::MaxLogicalType(return_type, then_expr->return_type); + auto then_type = ExpressionBinder::GetExpressionReturnType(*then_expr); + if (!LogicalType::TryGetMaxLogicalType(context, return_type, then_type, return_type)) { + throw BinderException( + expr, "Cannot mix values of type %s and %s in CASE expression - an explicit cast is required", + return_type.ToString(), then_type.ToString()); + } } // bind all the individual components of the CASE statement auto result = make_uniq(return_type); - for (idx_t i = 0; i < expr.case_checks.size(); i++) { - auto &check = expr.case_checks[i]; + for (auto &check : expr.case_checks) { auto &when_expr = BoundExpression::GetExpression(*check.when_expr); auto &then_expr = BoundExpression::GetExpression(*check.then_expr); BoundCaseCheck result_check; diff --git a/src/planner/binder/expression/bind_cast_expression.cpp b/src/planner/binder/expression/bind_cast_expression.cpp index a62dd008408c..68272d0a1871 100644 --- a/src/planner/binder/expression/bind_cast_expression.cpp +++ b/src/planner/binder/expression/bind_cast_expression.cpp @@ -8,9 +8,9 @@ namespace duckdb { BindResult ExpressionBinder::BindExpression(CastExpression &expr, idx_t depth) { // first try to bind the child of the cast expression - string error = Bind(expr.child, depth); - if (!error.empty()) { - return BindResult(error); + auto error = Bind(expr.child, depth); + if (error.HasError()) { + return BindResult(std::move(error)); } // FIXME: We can also implement 'hello'::schema.custom_type; and pass by the schema down here. // Right now just considering its DEFAULT_SCHEMA always @@ -18,7 +18,7 @@ BindResult ExpressionBinder::BindExpression(CastExpression &expr, idx_t depth) { // the children have been successfully resolved auto &child = BoundExpression::GetExpression(*expr.child); if (expr.try_cast) { - if (child->return_type == expr.cast_type) { + if (ExpressionBinder::GetExpressionReturnType(*child) == expr.cast_type) { // no cast required: type matches return BindResult(std::move(child)); } diff --git a/src/planner/binder/expression/bind_collate_expression.cpp b/src/planner/binder/expression/bind_collate_expression.cpp index 6682b5c947fc..7e0633a5a88e 100644 --- a/src/planner/binder/expression/bind_collate_expression.cpp +++ b/src/planner/binder/expression/bind_collate_expression.cpp @@ -6,9 +6,9 @@ namespace duckdb { BindResult ExpressionBinder::BindExpression(CollateExpression &expr, idx_t depth) { // first try to bind the child of the cast expression - string error = Bind(expr.child, depth); - if (!error.empty()) { - return BindResult(error); + auto error = Bind(expr.child, depth); + if (error.HasError()) { + return BindResult(std::move(error)); } auto &child = BoundExpression::GetExpression(*expr.child); if (child->HasParameter()) { diff --git a/src/planner/binder/expression/bind_columnref_expression.cpp b/src/planner/binder/expression/bind_columnref_expression.cpp index 47f9496241e6..ce6cb104b723 100644 --- a/src/planner/binder/expression/bind_columnref_expression.cpp +++ b/src/planner/binder/expression/bind_columnref_expression.cpp @@ -10,7 +10,6 @@ #include "duckdb/parser/parsed_expression_iterator.hpp" #include "duckdb/planner/binder.hpp" #include "duckdb/planner/expression/bound_columnref_expression.hpp" -#include "duckdb/planner/expression/bound_lambdaref_expression.hpp" #include "duckdb/planner/expression/bound_constant_expression.hpp" #include "duckdb/planner/expression_binder.hpp" #include "duckdb/planner/expression_binder/where_binder.hpp" @@ -55,7 +54,7 @@ unique_ptr ExpressionBinder::GetSQLValueFunction(const string return make_uniq(value_function, std::move(children)); } -unique_ptr ExpressionBinder::QualifyColumnName(const string &column_name, string &error_message) { +unique_ptr ExpressionBinder::QualifyColumnName(const string &column_name, ErrorData &error) { auto using_binding = binder.bind_context.GetUsingBinding(column_name); if (using_binding) { // we are referencing a USING column @@ -65,7 +64,7 @@ unique_ptr ExpressionBinder::QualifyColumnName(const string &c // we can! just assign the table name and re-bind return binder.bind_context.CreateColumnReference(using_binding->primary_binding, column_name); } else { - // // we cannot! we need to bind this as a coalesce between all the relevant columns + // we cannot! we need to bind this as COALESCE between all the relevant columns auto coalesce = make_uniq(ExpressionType::OPERATOR_COALESCE); coalesce->children.reserve(using_binding->bindings.size()); for (auto &entry : using_binding->bindings) { @@ -75,68 +74,74 @@ unique_ptr ExpressionBinder::QualifyColumnName(const string &c } } - // find a binding that contains this + // try binding as a lambda parameter + auto lambda_ref = LambdaRefExpression::FindMatchingBinding(lambda_bindings, column_name); + if (lambda_ref) { + return lambda_ref; + } + + // find a table binding that contains this column name string table_name = binder.bind_context.GetMatchingBinding(column_name); - // throw an error if a macro conflicts with a column name + // throw an error if a macro parameter name conflicts with a column name auto is_macro_column = false; - if (binder.macro_binding != nullptr && binder.macro_binding->HasMatchingBinding(column_name)) { + if (binder.macro_binding && binder.macro_binding->HasMatchingBinding(column_name)) { is_macro_column = true; if (!table_name.empty()) { throw BinderException("Conflicting column names for column " + column_name + "!"); } } - if (lambda_bindings) { - for (idx_t i = 0; i < lambda_bindings->size(); i++) { - if ((*lambda_bindings)[i].HasMatchingBinding(column_name)) { - - // throw an error if a lambda conflicts with a column name or a macro - if (!table_name.empty() || is_macro_column) { - throw BinderException("Conflicting column names for column " + column_name + "!"); - } - - D_ASSERT(!(*lambda_bindings)[i].alias.empty()); - return make_uniq(column_name, (*lambda_bindings)[i].alias); - } - } - } - + // bind as a macro column if (is_macro_column) { D_ASSERT(!binder.macro_binding->alias.empty()); return make_uniq(column_name, binder.macro_binding->alias); } - // see if it's a column - if (table_name.empty()) { - // column was not found - check if it is a SQL value function - auto value_function = GetSQLValueFunction(column_name); - if (value_function) { - return value_function; - } - // it's not, find candidates and error - auto similar_bindings = binder.bind_context.GetSimilarBindings(column_name); - string candidate_str = StringUtil::CandidatesMessage(similar_bindings, "Candidate bindings"); - error_message = - StringUtil::Format("Referenced column \"%s\" not found in FROM clause!%s", column_name, candidate_str); - return nullptr; + + // bind as a regular column + if (!table_name.empty()) { + return binder.bind_context.CreateColumnReference(table_name, column_name); } - return binder.bind_context.CreateColumnReference(table_name, column_name); + + // it's not, find candidates and error + auto similar_bindings = binder.bind_context.GetSimilarBindings(column_name); + error = ErrorData(BinderException::ColumnNotFound(column_name, similar_bindings)); + return nullptr; } -void ExpressionBinder::QualifyColumnNames(unique_ptr &expr) { +void ExpressionBinder::QualifyColumnNames(unique_ptr &expr, + vector> &lambda_params, + const bool within_function_expression) { + + bool next_within_function_expression = false; switch (expr->type) { case ExpressionType::COLUMN_REF: { - auto &colref = expr->Cast(); - string error_message; - auto new_expr = QualifyColumnName(colref, error_message); + + auto &col_ref = expr->Cast(); + + // don't qualify lambda parameters + if (LambdaExpression::IsLambdaParameter(lambda_params, col_ref.GetName())) { + return; + } + + ErrorData error; + auto new_expr = QualifyColumnName(col_ref, error); + if (new_expr) { if (!expr->alias.empty()) { + // Pre-existing aliases are added to the qualified column reference new_expr->alias = expr->alias; + } else if (within_function_expression) { + // Qualifying the column reference may add an alias, but this needs to be removed within function + // expressions, because the alias here means a named parameter instead of a positional parameter + new_expr->alias = ""; } - new_expr->query_location = colref.query_location; + + // replace the expression with the qualified column reference + new_expr->query_location = col_ref.query_location; expr = std::move(new_expr); } - break; + return; } case ExpressionType::POSITIONAL_REFERENCE: { auto &ref = expr->Cast(); @@ -149,74 +154,125 @@ void ExpressionBinder::QualifyColumnNames(unique_ptr &expr) { } break; } - default: + case ExpressionType::FUNCTION: { + // special-handling for lambdas, which are inside function expressions, + auto &function = expr->Cast(); + if (IsLambdaFunction(function)) { + // special case + return QualifyColumnNamesInLambda(function, lambda_params); + } + + next_within_function_expression = true; break; } - ParsedExpressionIterator::EnumerateChildren( - *expr, [&](unique_ptr &child) { QualifyColumnNames(child); }); + default: // fall through + break; + } + + // recurse on the child expressions + ParsedExpressionIterator::EnumerateChildren(*expr, [&](unique_ptr &child) { + QualifyColumnNames(child, lambda_params, next_within_function_expression); + }); +} + +void ExpressionBinder::QualifyColumnNamesInLambda(FunctionExpression &function, + vector> &lambda_params) { + + for (auto &child : function.children) { + if (child->expression_class != ExpressionClass::LAMBDA) { + // not a lambda expression + QualifyColumnNames(child, lambda_params, true); + continue; + } + + // special-handling for LHS lambda parameters + // we do not qualify them, and we add them to the lambda_params vector + auto &lambda_expr = child->Cast(); + string error_message; + auto column_ref_expressions = lambda_expr.ExtractColumnRefExpressions(error_message); + + if (!error_message.empty()) { + // possibly a JSON function, qualify both LHS and RHS + QualifyColumnNames(lambda_expr.lhs, lambda_params, true); + QualifyColumnNames(lambda_expr.expr, lambda_params, true); + continue; + } + + // push this level + lambda_params.emplace_back(); + + // push the lambda parameter names + for (const auto &column_ref_expr : column_ref_expressions) { + const auto &column_ref = column_ref_expr.get().Cast(); + lambda_params.back().emplace(column_ref.GetName()); + } + + // only qualify in RHS + QualifyColumnNames(lambda_expr.expr, lambda_params, true); + + // pop this level + lambda_params.pop_back(); + } } void ExpressionBinder::QualifyColumnNames(Binder &binder, unique_ptr &expr) { WhereBinder where_binder(binder, binder.context); - where_binder.QualifyColumnNames(expr); + vector> lambda_params; + where_binder.QualifyColumnNames(expr, lambda_params); } unique_ptr ExpressionBinder::CreateStructExtract(unique_ptr base, - string field_name) { - - // we need to transform the struct extract if it is inside a lambda expression - // because we cannot bind to an existing table, so we remove the dummy table also - if (lambda_bindings && base->type == ExpressionType::COLUMN_REF) { - auto &lambda_column_ref = base->Cast(); - D_ASSERT(!lambda_column_ref.column_names.empty()); - - if (lambda_column_ref.column_names[0].find(DummyBinding::DUMMY_NAME) != string::npos) { - D_ASSERT(lambda_column_ref.column_names.size() == 2); - auto lambda_param_name = lambda_column_ref.column_names.back(); - lambda_column_ref.column_names.clear(); - lambda_column_ref.column_names.push_back(lambda_param_name); - } - } + const string &field_name) { vector> children; children.push_back(std::move(base)); - children.push_back(make_uniq_base(Value(std::move(field_name)))); + children.push_back(make_uniq_base(Value(field_name))); auto extract_fun = make_uniq(ExpressionType::STRUCT_EXTRACT, std::move(children)); return std::move(extract_fun); } -unique_ptr ExpressionBinder::CreateStructPack(ColumnRefExpression &colref) { - D_ASSERT(colref.column_names.size() <= 3); - string error_message; - auto &table_name = colref.column_names.back(); - auto binding = binder.bind_context.GetBinding(table_name, error_message); +unique_ptr ExpressionBinder::CreateStructPack(ColumnRefExpression &col_ref) { + + D_ASSERT(col_ref.column_names.size() <= 3); + + // get a matching binding + ErrorData error; + auto &table_name = col_ref.column_names.back(); + auto binding = binder.bind_context.GetBinding(table_name, error); + if (!binding) { return nullptr; } - if (colref.column_names.size() >= 2) { + + if (col_ref.column_names.size() >= 2) { // "schema_name.table_name" auto catalog_entry = binding->GetStandardEntry(); if (!catalog_entry) { return nullptr; } + if (catalog_entry->name != table_name) { return nullptr; } - if (colref.column_names.size() == 2) { - auto &qualifier = colref.column_names[0]; + + if (col_ref.column_names.size() == 2) { + auto &qualifier = col_ref.column_names[0]; if (catalog_entry->catalog.GetName() != qualifier && catalog_entry->schema.name != qualifier) { return nullptr; } - } else if (colref.column_names.size() == 3) { - auto &catalog_name = colref.column_names[0]; - auto &schema_name = colref.column_names[1]; + + } else if (col_ref.column_names.size() == 3) { + auto &catalog_name = col_ref.column_names[0]; + auto &schema_name = col_ref.column_names[1]; if (catalog_entry->catalog.GetName() != catalog_name || catalog_entry->schema.name != schema_name) { return nullptr; } + } else { throw InternalException("Expected 2 or 3 column names for CreateStructPack"); } } + // We found the table, now create the struct_pack expression vector> child_expressions; child_expressions.reserve(binding->names.size()); @@ -226,118 +282,161 @@ unique_ptr ExpressionBinder::CreateStructPack(ColumnRefExpress return make_uniq("struct_pack", std::move(child_expressions)); } -unique_ptr ExpressionBinder::QualifyColumnName(ColumnRefExpression &colref, string &error_message) { - idx_t column_parts = colref.column_names.size(); +unique_ptr ExpressionBinder::QualifyColumnNameWithManyDots(ColumnRefExpression &col_ref, + ErrorData &error) { + + // two or more dots (i.e. "part1.part2.part3.part4...") + // -> part1 is a catalog, part2 is a schema, part3 is a table, part4 is a column name, part 5 and beyond are + // struct fields + // -> part1 is a catalog, part2 is a table, part3 is a column name, part4 and beyond are struct fields + // -> part1 is a schema, part2 is a table, part3 is a column name, part4 and beyond are struct fields + // -> part1 is a table, part2 is a column name, part3 and beyond are struct fields + // -> part1 is a column, part2 and beyond are struct fields + + // we always prefer the most top-level view + // i.e. in case of multiple resolution options, we resolve in order: + // -> 1. resolve "part1" as a catalog + // -> 2. resolve "part1" as a schema + // -> 3. resolve "part1" as a table + // -> 4. resolve "part1" as a column + + unique_ptr result_expr; + idx_t struct_extract_start; + + // first check if part1 is a catalog + if (col_ref.column_names.size() > 3 && + binder.HasMatchingBinding(col_ref.column_names[0], col_ref.column_names[1], col_ref.column_names[2], + col_ref.column_names[3], error)) { + // part1 is a catalog - the column reference is "catalog.schema.table.column" + result_expr = binder.bind_context.CreateColumnReference(col_ref.column_names[0], col_ref.column_names[1], + col_ref.column_names[2], col_ref.column_names[3]); + struct_extract_start = 4; + + } else if (binder.HasMatchingBinding(col_ref.column_names[0], INVALID_SCHEMA, col_ref.column_names[1], + col_ref.column_names[2], error)) { + // part1 is a catalog - the column reference is "catalog.table.column" + result_expr = binder.bind_context.CreateColumnReference(col_ref.column_names[0], INVALID_SCHEMA, + col_ref.column_names[1], col_ref.column_names[2]); + struct_extract_start = 3; + + } else if (binder.HasMatchingBinding(col_ref.column_names[0], col_ref.column_names[1], col_ref.column_names[2], + error)) { + // part1 is a schema - the column reference is "schema.table.column" + // any additional fields are turned into struct_extract calls + result_expr = binder.bind_context.CreateColumnReference(col_ref.column_names[0], col_ref.column_names[1], + col_ref.column_names[2]); + struct_extract_start = 3; + + } else if (binder.HasMatchingBinding(col_ref.column_names[0], col_ref.column_names[1], error)) { + // part1 is a table + // the column reference is "table.column" + // any additional fields are turned into struct_extract calls + result_expr = binder.bind_context.CreateColumnReference(col_ref.column_names[0], col_ref.column_names[1]); + struct_extract_start = 2; + + } else { + // part1 could be a column + ErrorData col_error; + result_expr = QualifyColumnName(col_ref.column_names[0], col_error); + if (!result_expr) { + // it is not! Try creating an implicit struct_pack + return CreateStructPack(col_ref); + } + // it is! add the struct extract calls + struct_extract_start = 1; + } + + // create a struct extract with all remaining column names + for (idx_t i = struct_extract_start; i < col_ref.column_names.size(); i++) { + result_expr = CreateStructExtract(std::move(result_expr), col_ref.column_names[i]); + } + + return result_expr; +} + +unique_ptr ExpressionBinder::QualifyColumnName(ColumnRefExpression &col_ref, ErrorData &error) { + + // try binding as a lambda parameter + if (!col_ref.IsQualified()) { + auto lambda_ref = LambdaRefExpression::FindMatchingBinding(lambda_bindings, col_ref.GetName()); + if (lambda_ref) { + return lambda_ref; + } + } + + idx_t column_parts = col_ref.column_names.size(); + // column names can have an arbitrary amount of dots // here is how the resolution works: if (column_parts == 1) { // no dots (i.e. "part1") // -> part1 refers to a column // check if we can qualify the column name with the table name - auto qualified_colref = QualifyColumnName(colref.GetColumnName(), error_message); - if (qualified_colref) { + auto qualified_col_ref = QualifyColumnName(col_ref.GetColumnName(), error); + if (qualified_col_ref) { // we could: return it - return qualified_colref; + return qualified_col_ref; } // we could not! Try creating an implicit struct_pack - return CreateStructPack(colref); - } else if (column_parts == 2) { + return CreateStructPack(col_ref); + } + + if (column_parts == 2) { // one dot (i.e. "part1.part2") // EITHER: // -> part1 is a table, part2 is a column // -> part1 is a column, part2 is a property of that column (i.e. struct_extract) - // first check if part1 is a table, and part2 is a standard column - if (binder.HasMatchingBinding(colref.column_names[0], colref.column_names[1], error_message)) { - // it is! return the colref directly - return binder.bind_context.CreateColumnReference(colref.column_names[0], colref.column_names[1]); - } else { - // otherwise check if we can turn this into a struct extract - auto new_colref = make_uniq(colref.column_names[0]); - string other_error; - auto qualified_colref = QualifyColumnName(colref.column_names[0], other_error); - if (qualified_colref) { - // we could: create a struct extract - return CreateStructExtract(std::move(qualified_colref), colref.column_names[1]); - } - // we could not! Try creating an implicit struct_pack - return CreateStructPack(colref); - } - } else { - // two or more dots (i.e. "part1.part2.part3.part4...") - // -> part1 is a catalog, part2 is a schema, part3 is a table, part4 is a column name, part 5 and beyond are - // struct fields - // -> part1 is a catalog, part2 is a table, part3 is a column name, part4 and beyond are struct fields - // -> part1 is a schema, part2 is a table, part3 is a column name, part4 and beyond are struct fields - // -> part1 is a table, part2 is a column name, part3 and beyond are struct fields - // -> part1 is a column, part2 and beyond are struct fields - - // we always prefer the most top-level view - // i.e. in case of multiple resolution options, we resolve in order: - // -> 1. resolve "part1" as a catalog - // -> 2. resolve "part1" as a schema - // -> 3. resolve "part1" as a table - // -> 4. resolve "part1" as a column - - unique_ptr result_expr; - idx_t struct_extract_start; - // first check if part1 is a catalog - if (colref.column_names.size() > 3 && - binder.HasMatchingBinding(colref.column_names[0], colref.column_names[1], colref.column_names[2], - colref.column_names[3], error_message)) { - // part1 is a catalog - the column reference is "catalog.schema.table.column" - result_expr = binder.bind_context.CreateColumnReference(colref.column_names[0], colref.column_names[1], - colref.column_names[2], colref.column_names[3]); - struct_extract_start = 4; - } else if (binder.HasMatchingBinding(colref.column_names[0], INVALID_SCHEMA, colref.column_names[1], - colref.column_names[2], error_message)) { - // part1 is a catalog - the column reference is "catalog.table.column" - result_expr = binder.bind_context.CreateColumnReference(colref.column_names[0], INVALID_SCHEMA, - colref.column_names[1], colref.column_names[2]); - struct_extract_start = 3; - } else if (binder.HasMatchingBinding(colref.column_names[0], colref.column_names[1], colref.column_names[2], - error_message)) { - // part1 is a schema - the column reference is "schema.table.column" - // any additional fields are turned into struct_extract calls - result_expr = binder.bind_context.CreateColumnReference(colref.column_names[0], colref.column_names[1], - colref.column_names[2]); - struct_extract_start = 3; - } else if (binder.HasMatchingBinding(colref.column_names[0], colref.column_names[1], error_message)) { - // part1 is a table - // the column reference is "table.column" - // any additional fields are turned into struct_extract calls - result_expr = binder.bind_context.CreateColumnReference(colref.column_names[0], colref.column_names[1]); - struct_extract_start = 2; - } else { - // part1 could be a column - string col_error; - result_expr = QualifyColumnName(colref.column_names[0], col_error); - if (!result_expr) { - // it is not! Try creating an implicit struct_pack - return CreateStructPack(colref); - } - // it is! add the struct extract calls - struct_extract_start = 1; + // first check if part1 is a table, and part2 is a standard column name + if (binder.HasMatchingBinding(col_ref.column_names[0], col_ref.column_names[1], error)) { + // it is! return the column reference directly + return binder.bind_context.CreateColumnReference(col_ref.column_names[0], col_ref.column_names[1]); } - for (idx_t i = struct_extract_start; i < colref.column_names.size(); i++) { - result_expr = CreateStructExtract(std::move(result_expr), colref.column_names[i]); + + // otherwise check if we can turn this into a struct extract + ErrorData other_error; + auto qualified_col_ref = QualifyColumnName(col_ref.column_names[0], other_error); + if (qualified_col_ref) { + // we could: create a struct extract + return CreateStructExtract(std::move(qualified_col_ref), col_ref.column_names[1]); } - return result_expr; + // we could not! Try creating an implicit struct_pack + return CreateStructPack(col_ref); } + + // three or more dots + return QualifyColumnNameWithManyDots(col_ref, error); } -BindResult ExpressionBinder::BindExpression(ColumnRefExpression &colref_p, idx_t depth) { +BindResult ExpressionBinder::BindExpression(LambdaRefExpression &lambda_ref, idx_t depth) { + D_ASSERT(lambda_bindings && lambda_ref.lambda_idx < lambda_bindings->size()); + return (*lambda_bindings)[lambda_ref.lambda_idx].Bind(lambda_ref, depth); +} + +BindResult ExpressionBinder::BindExpression(ColumnRefExpression &col_ref_p, idx_t depth) { if (binder.GetBindingMode() == BindingMode::EXTRACT_NAMES) { return BindResult(make_uniq(Value(LogicalType::SQLNULL))); } - string error_message; - auto expr = QualifyColumnName(colref_p, error_message); + + ErrorData error; + auto expr = QualifyColumnName(col_ref_p, error); if (!expr) { - return BindResult(binder.FormatError(colref_p, error_message)); + if (!col_ref_p.IsQualified()) { + // column was not found - check if it is a SQL value function + auto value_function = GetSQLValueFunction(col_ref_p.GetColumnName()); + if (value_function) { + return BindExpression(value_function, depth); + } + } + error.AddQueryLocation(col_ref_p); + return BindResult(std::move(error)); } - expr->query_location = colref_p.query_location; - // a generated column returns a generated expression, a struct on a column returns a struct extract + expr->query_location = col_ref_p.query_location; + + // the above QualifyColumName returns a generated expression for a generated + // column, and struct_extract for a struct, or a lambda reference expression, + // all of them are not column reference expressions, so we return here if (expr->type != ExpressionType::COLUMN_REF) { auto alias = expr->alias; auto result = BindExpression(expr, depth); @@ -347,51 +446,36 @@ BindResult ExpressionBinder::BindExpression(ColumnRefExpression &colref_p, idx_t return result; } - auto &colref = expr->Cast(); - D_ASSERT(colref.IsQualified()); - auto &table_name = colref.GetTableName(); - - // individual column reference - // resolve to either a base table or a subquery expression - // if it was a macro parameter, let macro_binding bind it to the argument - // if it was a lambda parameter, let lambda_bindings bind it to the argument - + // the above QualifyColumnName returned an individual column reference + // expression, which we resolve to either a base table or a subquery expression, + // and if it was a macro parameter, then we let macro_binding bind it to the argument BindResult result; + auto &col_ref = expr->Cast(); + D_ASSERT(col_ref.IsQualified()); + auto &table_name = col_ref.GetTableName(); - auto found_lambda_binding = false; - if (lambda_bindings) { - for (idx_t i = 0; i < lambda_bindings->size(); i++) { - if (table_name == (*lambda_bindings)[i].alias) { - result = (*lambda_bindings)[i].Bind(colref, i, depth); - found_lambda_binding = true; - break; - } - } + if (binder.macro_binding && table_name == binder.macro_binding->alias) { + result = binder.macro_binding->Bind(col_ref, depth); + } else { + result = binder.bind_context.BindColumn(col_ref, depth); } - if (!found_lambda_binding) { - if (binder.macro_binding && table_name == binder.macro_binding->alias) { - result = binder.macro_binding->Bind(colref, depth); - } else { - result = binder.bind_context.BindColumn(colref, depth); - } + if (result.HasError()) { + result.error.AddQueryLocation(col_ref_p); + return result; } - if (!result.HasError()) { - BoundColumnReferenceInfo ref; - ref.name = colref.column_names.back(); - ref.query_location = colref.query_location; - bound_columns.push_back(std::move(ref)); - } else { - result.error = binder.FormatError(colref_p, result.error); - } + // we bound the column reference + BoundColumnReferenceInfo ref; + ref.name = col_ref.column_names.back(); + ref.query_location = col_ref.query_location; + bound_columns.push_back(std::move(ref)); return result; } -bool ExpressionBinder::QualifyColumnAlias(const ColumnRefExpression &colref) { - // Only BaseSelectBinder will have a valid col alias map, - // otherwise just return false +bool ExpressionBinder::QualifyColumnAlias(const ColumnRefExpression &col_ref) { + // only the BaseSelectBinder will have a valid column alias map, + // otherwise we return false return false; } - } // namespace duckdb diff --git a/src/planner/binder/expression/bind_comparison_expression.cpp b/src/planner/binder/expression/bind_comparison_expression.cpp index 0cff7da5bec9..522e85b6a434 100644 --- a/src/planner/binder/expression/bind_comparison_expression.cpp +++ b/src/planner/binder/expression/bind_comparison_expression.cpp @@ -73,9 +73,63 @@ void ExpressionBinder::TestCollation(ClientContext &context, const string &colla PushCollation(context, expr, LogicalType::VARCHAR_COLLATION(collation)); } -LogicalType BoundComparisonExpression::BindComparison(LogicalType left_type, LogicalType right_type) { - auto result_type = LogicalType::MaxLogicalType(left_type, right_type); - switch (result_type.id()) { +static bool SwitchVarcharComparison(const LogicalType &type) { + switch (type.id()) { + case LogicalTypeId::TINYINT: + case LogicalTypeId::SMALLINT: + case LogicalTypeId::INTEGER: + case LogicalTypeId::BIGINT: + case LogicalTypeId::HUGEINT: + case LogicalTypeId::FLOAT: + case LogicalTypeId::DOUBLE: + case LogicalTypeId::DECIMAL: + case LogicalTypeId::UTINYINT: + case LogicalTypeId::USMALLINT: + case LogicalTypeId::UINTEGER: + case LogicalTypeId::UBIGINT: + case LogicalTypeId::UHUGEINT: + case LogicalTypeId::DATE: + case LogicalTypeId::TIME: + case LogicalTypeId::TIMESTAMP_SEC: + case LogicalTypeId::TIMESTAMP_MS: + case LogicalTypeId::TIMESTAMP: + case LogicalTypeId::TIMESTAMP_NS: + case LogicalTypeId::INTERVAL: + case LogicalTypeId::TIMESTAMP_TZ: + case LogicalTypeId::TIME_TZ: + case LogicalTypeId::INTEGER_LITERAL: + return true; + default: + return false; + } +} + +bool BoundComparisonExpression::TryBindComparison(ClientContext &context, const LogicalType &left_type, + const LogicalType &right_type, LogicalType &result_type, + ExpressionType comparison_type) { + LogicalType res; + bool is_equality; + switch (comparison_type) { + case ExpressionType::COMPARE_EQUAL: + case ExpressionType::COMPARE_NOTEQUAL: + case ExpressionType::COMPARE_IN: + case ExpressionType::COMPARE_NOT_IN: + case ExpressionType::COMPARE_DISTINCT_FROM: + case ExpressionType::COMPARE_NOT_DISTINCT_FROM: + is_equality = true; + break; + default: + is_equality = false; + break; + } + if (is_equality) { + res = LogicalType::ForceMaxLogicalType(left_type, right_type); + } else { + if (!LogicalType::TryGetMaxLogicalType(context, left_type, right_type, res)) { + return false; + } + } + switch (res.id()) { case LogicalTypeId::DECIMAL: { // result is a decimal: we need the maximum width and the maximum scale over width vector argument_types = {left_type, right_type}; @@ -84,7 +138,8 @@ LogicalType BoundComparisonExpression::BindComparison(LogicalType left_type, Log uint8_t width, scale; auto can_convert = argument_types[i].GetDecimalProperties(width, scale); if (!can_convert) { - return result_type; + result_type = res; + return true; } max_width = MaxValue(width, max_width); max_scale = MaxValue(scale, max_scale); @@ -95,14 +150,15 @@ LogicalType BoundComparisonExpression::BindComparison(LogicalType left_type, Log // target width does not fit in decimal: truncate the scale (if possible) to try and make it fit max_width = Decimal::MAX_WIDTH_DECIMAL; } - return LogicalType::DECIMAL(max_width, max_scale); + res = LogicalType::DECIMAL(max_width, max_scale); + break; } case LogicalTypeId::VARCHAR: // for comparison with strings, we prefer to bind to the numeric types - if (left_type.IsNumeric() || left_type.id() == LogicalTypeId::BOOLEAN) { - return left_type; - } else if (right_type.IsNumeric() || right_type.id() == LogicalTypeId::BOOLEAN) { - return right_type; + if (left_type.id() != LogicalTypeId::VARCHAR && SwitchVarcharComparison(left_type)) { + res = LogicalType::NormalizeType(left_type); + } else if (right_type.id() != LogicalTypeId::VARCHAR && SwitchVarcharComparison(right_type)) { + res = LogicalType::NormalizeType(right_type); } else { // else: check if collations are compatible auto left_collation = StringType::GetCollation(left_type); @@ -111,29 +167,59 @@ LogicalType BoundComparisonExpression::BindComparison(LogicalType left_type, Log throw BinderException("Cannot combine types with different collation!"); } } - return result_type; + break; default: - return result_type; + break; } + result_type = res; + return true; +} + +LogicalType BoundComparisonExpression::BindComparison(ClientContext &context, const LogicalType &left_type, + const LogicalType &right_type, ExpressionType comparison_type) { + LogicalType result_type; + if (!BoundComparisonExpression::TryBindComparison(context, left_type, right_type, result_type, comparison_type)) { + throw BinderException("Cannot mix values of type %s and %s - an explicit cast is required", + left_type.ToString(), right_type.ToString()); + } + return result_type; +} + +LogicalType ExpressionBinder::GetExpressionReturnType(const Expression &expr) { + if (expr.expression_class == ExpressionClass::BOUND_CONSTANT) { + if (expr.return_type == LogicalTypeId::VARCHAR && StringType::GetCollation(expr.return_type).empty()) { + return LogicalTypeId::STRING_LITERAL; + } + if (expr.return_type.IsIntegral()) { + auto &constant = expr.Cast(); + return LogicalType::INTEGER_LITERAL(constant.value); + } + } + return expr.return_type; } BindResult ExpressionBinder::BindExpression(ComparisonExpression &expr, idx_t depth) { // first try to bind the children of the case expression - string error; + ErrorData error; BindChild(expr.left, depth, error); BindChild(expr.right, depth, error); - if (!error.empty()) { - return BindResult(error); + if (error.HasError()) { + return BindResult(std::move(error)); } // the children have been successfully resolved auto &left = BoundExpression::GetExpression(*expr.left); auto &right = BoundExpression::GetExpression(*expr.right); - auto left_sql_type = left->return_type; - auto right_sql_type = right->return_type; + auto left_sql_type = ExpressionBinder::GetExpressionReturnType(*left); + auto right_sql_type = ExpressionBinder::GetExpressionReturnType(*right); // cast the input types to the same type // now obtain the result type of the input types - auto input_type = BoundComparisonExpression::BindComparison(left_sql_type, right_sql_type); + LogicalType input_type; + if (!BoundComparisonExpression::TryBindComparison(context, left_sql_type, right_sql_type, input_type, expr.type)) { + return BindResult(BinderException(expr, + "Cannot compare values of type %s and type %s - an explicit cast is required", + left_sql_type.ToString(), right_sql_type.ToString())); + } // add casts (if necessary) left = BoundCastExpression::AddCastToType(context, std::move(left), input_type, input_type.id() == LogicalTypeId::ENUM); diff --git a/src/planner/binder/expression/bind_conjunction_expression.cpp b/src/planner/binder/expression/bind_conjunction_expression.cpp index 70b990a035d1..5125b1dba93a 100644 --- a/src/planner/binder/expression/bind_conjunction_expression.cpp +++ b/src/planner/binder/expression/bind_conjunction_expression.cpp @@ -7,12 +7,12 @@ namespace duckdb { BindResult ExpressionBinder::BindExpression(ConjunctionExpression &expr, idx_t depth) { // first try to bind the children of the case expression - string error; + ErrorData error; for (idx_t i = 0; i < expr.children.size(); i++) { BindChild(expr.children[i], depth, error); } - if (!error.empty()) { - return BindResult(error); + if (error.HasError()) { + return BindResult(std::move(error)); } // the children have been successfully resolved // cast the input types to boolean (if necessary) diff --git a/src/planner/binder/expression/bind_function_expression.cpp b/src/planner/binder/expression/bind_function_expression.cpp index c2a6179ed290..0d888e37b581 100644 --- a/src/planner/binder/expression/bind_function_expression.cpp +++ b/src/planner/binder/expression/bind_function_expression.cpp @@ -16,10 +16,29 @@ namespace duckdb { +BindResult ExpressionBinder::TryBindLambdaOrJson(FunctionExpression &function, idx_t depth, CatalogEntry &func) { + + auto lambda_bind_result = BindLambdaFunction(function, func.Cast(), depth); + if (!lambda_bind_result.HasError()) { + return lambda_bind_result; + } + + auto json_bind_result = BindFunction(function, func.Cast(), depth); + if (!json_bind_result.HasError()) { + return json_bind_result; + } + + return BindResult("failed to bind function, either: " + lambda_bind_result.error.RawMessage() + + "\n" + " or: " + + json_bind_result.error.RawMessage()); +} + BindResult ExpressionBinder::BindExpression(FunctionExpression &function, idx_t depth, unique_ptr &expr_ptr) { // lookup the function in the catalog - QueryErrorContext error_context(binder.root_statement, function.query_location); + QueryErrorContext error_context(function.query_location); + binder.BindSchemaOrCatalog(function.catalog, function.schema); auto func = Catalog::GetEntry(context, CatalogType::SCALAR_FUNCTION_ENTRY, function.catalog, function.schema, function.function_name, OnEntryNotFound::RETURN_NULL, error_context); if (!func) { @@ -28,16 +47,15 @@ BindResult ExpressionBinder::BindExpression(FunctionExpression &function, idx_t Catalog::GetEntry(context, CatalogType::TABLE_FUNCTION_ENTRY, function.catalog, function.schema, function.function_name, OnEntryNotFound::RETURN_NULL, error_context); if (table_func) { - throw BinderException(binder.FormatError( - function, - StringUtil::Format("Function \"%s\" is a table function but it was used as a scalar function. This " - "function has to be called in a FROM clause (similar to a table).", - function.function_name))); + throw BinderException(function, + "Function \"%s\" is a table function but it was used as a scalar function. This " + "function has to be called in a FROM clause (similar to a table).", + function.function_name); } // not a table function - check if the schema is set if (!function.schema.empty()) { // the schema is set - check if we can turn this the schema into a column ref - string error; + ErrorData error; unique_ptr colref; if (function.catalog.empty()) { colref = make_uniq(function.schema); @@ -45,7 +63,7 @@ BindResult ExpressionBinder::BindExpression(FunctionExpression &function, idx_t colref = make_uniq(function.schema, function.catalog); } auto new_colref = QualifyColumnName(*colref, error); - bool is_col = error.empty() ? true : false; + bool is_col = !error.HasError(); bool is_col_alias = QualifyColumnAlias(*colref); if (is_col || is_col_alias) { @@ -71,26 +89,10 @@ BindResult ExpressionBinder::BindExpression(FunctionExpression &function, idx_t switch (func->type) { case CatalogType::SCALAR_FUNCTION_ENTRY: { // scalar function - - // check for lambda parameters, ignore ->> operator (JSON extension) - bool try_bind_lambda = false; - if (function.function_name != "->>") { - for (auto &child : function.children) { - if (child->expression_class == ExpressionClass::LAMBDA) { - try_bind_lambda = true; - } - } - } - - if (try_bind_lambda) { - auto result = BindLambdaFunction(function, func->Cast(), depth); - if (!result.HasError()) { - // Lambda bind successful - return result; - } + if (IsLambdaFunction(function)) { + // special case + return TryBindLambdaOrJson(function, depth, *func); } - - // other scalar function return BindFunction(function, func->Cast(), depth); } case CatalogType::MACRO_ENTRY: @@ -103,17 +105,16 @@ BindResult ExpressionBinder::BindExpression(FunctionExpression &function, idx_t } BindResult ExpressionBinder::BindFunction(FunctionExpression &function, ScalarFunctionCatalogEntry &func, idx_t depth) { - // bind the children of the function expression - string error; + ErrorData error; // bind of each child for (idx_t i = 0; i < function.children.size(); i++) { BindChild(function.children[i], depth, error); } - if (!error.empty()) { - return BindResult(error); + if (error.HasError()) { + return BindResult(std::move(error)); } if (binder.GetBindingMode() == BindingMode::EXTRACT_NAMES) { return BindResult(make_uniq(Value(LogicalType::SQLNULL))); @@ -128,10 +129,16 @@ BindResult ExpressionBinder::BindFunction(FunctionExpression &function, ScalarFu } FunctionBinder function_binder(context); - unique_ptr result = - function_binder.BindScalarFunction(func, std::move(children), error, function.is_operator, &binder); + auto result = function_binder.BindScalarFunction(func, std::move(children), error, function.is_operator, &binder); if (!result) { - throw BinderException(binder.FormatError(function, error)); + error.AddQueryLocation(function); + error.Throw(); + } + if (result->type == ExpressionType::BOUND_FUNCTION) { + auto &bound_function = result->Cast(); + if (bound_function.function.stability == FunctionStability::CONSISTENT_WITHIN_QUERY) { + binder.SetAlwaysRequireRebind(); + } } return BindResult(std::move(result)); } @@ -139,52 +146,65 @@ BindResult ExpressionBinder::BindFunction(FunctionExpression &function, ScalarFu BindResult ExpressionBinder::BindLambdaFunction(FunctionExpression &function, ScalarFunctionCatalogEntry &func, idx_t depth) { - // bind the children of the function expression - string error; + // scalar functions with lambdas can never be overloaded + if (func.functions.functions.size() != 1) { + return BindResult("This scalar function does not support lambdas!"); + } + + // get the callback function for the lambda parameter types + auto &scalar_function = func.functions.functions.front(); + auto &bind_lambda_function = scalar_function.bind_lambda; + if (!bind_lambda_function) { + return BindResult("This scalar function does not support lambdas!"); + } if (function.children.size() != 2) { - return BindResult("Invalid function arguments!"); + return BindResult("Invalid number of function arguments!"); } D_ASSERT(function.children[1]->GetExpressionClass() == ExpressionClass::LAMBDA); // bind the list parameter + ErrorData error; BindChild(function.children[0], depth, error); - if (!error.empty()) { - return BindResult(error); + if (error.HasError()) { + return BindResult(std::move(error)); } // get the logical type of the children of the list auto &list_child = BoundExpression::GetExpression(*function.children[0]); - if (list_child->return_type.id() != LogicalTypeId::LIST && list_child->return_type.id() != LogicalTypeId::SQLNULL && + if (list_child->return_type.id() != LogicalTypeId::LIST && list_child->return_type.id() != LogicalTypeId::ARRAY && + list_child->return_type.id() != LogicalTypeId::SQLNULL && list_child->return_type.id() != LogicalTypeId::UNKNOWN) { - return BindResult(" Invalid LIST argument to " + function.function_name + "!"); + return BindResult("Invalid LIST argument during lambda function binding!"); } LogicalType list_child_type = list_child->return_type.id(); if (list_child->return_type.id() != LogicalTypeId::SQLNULL && list_child->return_type.id() != LogicalTypeId::UNKNOWN) { - list_child_type = ListType::GetChildType(list_child->return_type); + + if (list_child->return_type.id() == LogicalTypeId::ARRAY) { + list_child_type = ArrayType::GetChildType(list_child->return_type); + } else { + list_child_type = ListType::GetChildType(list_child->return_type); + } } // bind the lambda parameter auto &lambda_expr = function.children[1]->Cast(); - BindResult bind_lambda_result = BindExpression(lambda_expr, depth, true, list_child_type); + BindResult bind_lambda_result = BindExpression(lambda_expr, depth, list_child_type, &bind_lambda_function); if (bind_lambda_result.HasError()) { - error = bind_lambda_result.error; - } else { - // successfully bound: replace the node with a BoundExpression - auto alias = function.children[1]->alias; - bind_lambda_result.expression->alias = alias; - if (!alias.empty()) { - bind_lambda_result.expression->alias = alias; - } - function.children[1] = make_uniq(std::move(bind_lambda_result.expression)); + return BindResult(bind_lambda_result.error); } - if (!error.empty()) { - return BindResult(error); + // successfully bound: replace the node with a BoundExpression + auto alias = function.children[1]->alias; + bind_lambda_result.expression->alias = alias; + if (!alias.empty()) { + bind_lambda_result.expression->alias = alias; } + function.children[1] = make_uniq(std::move(bind_lambda_result.expression)); + if (binder.GetBindingMode() == BindingMode::EXTRACT_NAMES) { return BindResult(make_uniq(Value(LogicalType::SQLNULL))); } @@ -199,13 +219,14 @@ BindResult ExpressionBinder::BindLambdaFunction(FunctionExpression &function, Sc // capture the (lambda) columns auto &bound_lambda_expr = children.back()->Cast(); - CaptureLambdaColumns(bound_lambda_expr.captures, list_child_type, bound_lambda_expr.lambda_expr); + CaptureLambdaColumns(bound_lambda_expr, bound_lambda_expr.lambda_expr, &bind_lambda_function, list_child_type); FunctionBinder function_binder(context); unique_ptr result = function_binder.BindScalarFunction(func, std::move(children), error, function.is_operator, &binder); if (!result) { - throw BinderException(binder.FormatError(function, error)); + error.AddQueryLocation(function); + error.Throw(); } auto &bound_function_expr = result->Cast(); @@ -216,24 +237,26 @@ BindResult ExpressionBinder::BindLambdaFunction(FunctionExpression &function, Sc bound_function_expr.children.pop_back(); auto &bound_lambda = lambda->Cast(); - // push back (in reverse order) any nested lambda parameters so that we can later use them in the lambda expression - // (rhs) + // push back (in reverse order) any nested lambda parameters so that we can later use them in the lambda + // expression (rhs). This happens after we bound the lambda expression of this depth. So it is relevant for + // correctly binding lambdas one level 'out'. Therefore, the current parameter count does not matter here. + idx_t offset = 0; if (lambda_bindings) { for (idx_t i = lambda_bindings->size(); i > 0; i--) { - idx_t lambda_index = lambda_bindings->size() - i + 1; auto &binding = (*lambda_bindings)[i - 1]; + D_ASSERT(binding.names.size() == binding.types.size()); - D_ASSERT(binding.names.size() == 1); - D_ASSERT(binding.types.size() == 1); - - auto bound_lambda_param = - make_uniq(binding.names[0], binding.types[0], lambda_index); - bound_function_expr.children.push_back(std::move(bound_lambda_param)); + for (idx_t column_idx = binding.names.size(); column_idx > 0; column_idx--) { + auto bound_lambda_param = make_uniq(binding.names[column_idx - 1], + binding.types[column_idx - 1], offset); + offset++; + bound_function_expr.children.push_back(std::move(bound_lambda_param)); + } } } - // push back the captures into the children vector and the correct return types into the bound_function arguments + // push back the captures into the children vector for (auto &capture : bound_lambda.captures) { bound_function_expr.children.push_back(std::move(capture)); } @@ -243,11 +266,11 @@ BindResult ExpressionBinder::BindLambdaFunction(FunctionExpression &function, Sc BindResult ExpressionBinder::BindAggregate(FunctionExpression &expr, AggregateFunctionCatalogEntry &function, idx_t depth) { - return BindResult(binder.FormatError(expr, UnsupportedAggregateMessage())); + return BindResult(BinderException(expr, UnsupportedAggregateMessage())); } BindResult ExpressionBinder::BindUnnest(FunctionExpression &expr, idx_t depth, bool root_expression) { - return BindResult(binder.FormatError(expr, UnsupportedUnnestMessage())); + return BindResult(BinderException(expr, UnsupportedUnnestMessage())); } string ExpressionBinder::UnsupportedAggregateMessage() { diff --git a/src/planner/binder/expression/bind_lambda.cpp b/src/planner/binder/expression/bind_lambda.cpp index 56bb87edc8c3..2907889a9888 100644 --- a/src/planner/binder/expression/bind_lambda.cpp +++ b/src/planner/binder/expression/bind_lambda.cpp @@ -12,60 +12,79 @@ namespace duckdb { -BindResult ExpressionBinder::BindExpression(LambdaExpression &expr, idx_t depth, const bool is_lambda, - const LogicalType &list_child_type) { +idx_t GetLambdaParamCount(const vector &lambda_bindings) { + idx_t count = 0; + for (auto &binding : lambda_bindings) { + count += binding.names.size(); + } + return count; +} - if (!is_lambda) { - // this is for binding JSON - auto lhs_expr = expr.lhs->Copy(); - OperatorExpression arrow_expr(ExpressionType::ARROW, std::move(lhs_expr), expr.expr->Copy()); - return BindExpression(arrow_expr, depth); +idx_t GetLambdaParamIndex(const vector &lambda_bindings, const BoundLambdaExpression &bound_lambda_expr, + const BoundLambdaRefExpression &bound_lambda_ref_expr) { + D_ASSERT(bound_lambda_ref_expr.lambda_idx < lambda_bindings.size()); + idx_t offset = 0; + // count the remaining lambda parameters BEFORE the current lambda parameter, + // as these will be in front of the current lambda parameter in the input chunk + for (idx_t i = bound_lambda_ref_expr.lambda_idx + 1; i < lambda_bindings.size(); i++) { + offset += lambda_bindings[i].names.size(); } + offset += + lambda_bindings[bound_lambda_ref_expr.lambda_idx].names.size() - bound_lambda_ref_expr.binding.column_index - 1; + offset += bound_lambda_expr.parameter_count; + return offset; +} + +void ExtractParameter(ParsedExpression &expr, vector &column_names, vector &column_aliases) { - // binding the lambda expression - D_ASSERT(expr.lhs); - if (expr.lhs->expression_class != ExpressionClass::FUNCTION && - expr.lhs->expression_class != ExpressionClass::COLUMN_REF) { - throw BinderException( - "Invalid parameter list! Parameters must be comma-separated column names, e.g. x or (x, y)."); + auto &column_ref = expr.Cast(); + if (column_ref.IsQualified()) { + throw BinderException(LambdaExpression::InvalidParametersErrorMessage()); } - // move the lambda parameters to the params vector - if (expr.lhs->expression_class == ExpressionClass::COLUMN_REF) { - expr.params.push_back(std::move(expr.lhs)); - } else { - auto &func_expr = expr.lhs->Cast(); - for (idx_t i = 0; i < func_expr.children.size(); i++) { - expr.params.push_back(std::move(func_expr.children[i])); - } + column_names.push_back(column_ref.GetName()); + column_aliases.push_back(column_ref.ToString()); +} + +void ExtractParameters(LambdaExpression &expr, vector &column_names, vector &column_aliases) { + + // extract the lambda parameters, which are a single column + // reference, or a list of column references (ROW function) + string error_message; + auto column_refs = expr.ExtractColumnRefExpressions(error_message); + if (!error_message.empty()) { + throw BinderException(error_message); } - D_ASSERT(!expr.params.empty()); - // create dummy columns for the lambda parameters (lhs) - vector column_types; - vector column_names; - vector params_strings; + for (const auto &column_ref : column_refs) { + ExtractParameter(column_ref.get(), column_names, column_aliases); + } + D_ASSERT(!column_names.empty()); +} - // positional parameters as column references - for (idx_t i = 0; i < expr.params.size(); i++) { - if (expr.params[i]->GetExpressionClass() != ExpressionClass::COLUMN_REF) { - throw BinderException("Parameter must be a column name."); - } +BindResult ExpressionBinder::BindExpression(LambdaExpression &expr, idx_t depth, const LogicalType &list_child_type, + optional_ptr bind_lambda_function) { - auto column_ref = expr.params[i]->Cast(); - if (column_ref.IsQualified()) { - throw BinderException("Invalid parameter name '%s': must be unqualified", column_ref.ToString()); - } + // this is for binding JSON + if (!bind_lambda_function) { + auto lhs_expr = expr.lhs->Copy(); + OperatorExpression arrow_expr(ExpressionType::ARROW, std::move(lhs_expr), expr.expr->Copy()); + return BindExpression(arrow_expr, depth); + } - column_types.emplace_back(list_child_type); - column_names.push_back(column_ref.GetColumnName()); - params_strings.push_back(expr.params[i]->ToString()); + // extract and verify lambda parameters to create dummy columns + vector column_types; + vector column_names; + vector column_aliases; + ExtractParameters(expr, column_names, column_aliases); + for (idx_t i = 0; i < column_names.size(); i++) { + column_types.push_back((*bind_lambda_function)(i, list_child_type)); } // base table alias - auto params_alias = StringUtil::Join(params_strings, ", "); - if (params_strings.size() > 1) { - params_alias = "(" + params_alias + ")"; + auto table_alias = StringUtil::Join(column_aliases, ", "); + if (column_aliases.size() > 1) { + table_alias = "(" + table_alias + ")"; } // create a lambda binding and push it to the lambda bindings vector @@ -73,17 +92,9 @@ BindResult ExpressionBinder::BindExpression(LambdaExpression &expr, idx_t depth, if (!lambda_bindings) { lambda_bindings = &local_bindings; } - DummyBinding new_lambda_binding(column_types, column_names, params_alias); + DummyBinding new_lambda_binding(column_types, column_names, table_alias); lambda_bindings->push_back(new_lambda_binding); - // bind the parameter expressions - for (idx_t i = 0; i < expr.params.size(); i++) { - auto result = BindExpression(expr.params[i], depth, false); - if (result.HasError()) { - throw InternalException("Error during lambda binding: %s", result.error); - } - } - auto result = BindExpression(expr.expr, depth, false); lambda_bindings->pop_back(); @@ -94,66 +105,86 @@ BindResult ExpressionBinder::BindExpression(LambdaExpression &expr, idx_t depth, } if (result.HasError()) { - throw BinderException(result.error); + result.error.Throw(); } return BindResult(make_uniq(ExpressionType::LAMBDA, LogicalType::LAMBDA, - std::move(result.expression), params_strings.size())); + std::move(result.expression), column_names.size())); } void ExpressionBinder::TransformCapturedLambdaColumn(unique_ptr &original, unique_ptr &replacement, - vector> &captures, - LogicalType &list_child_type) { + BoundLambdaExpression &bound_lambda_expr, + const optional_ptr bind_lambda_function, + const LogicalType &list_child_type) { // check if the original expression is a lambda parameter if (original->expression_class == ExpressionClass::BOUND_LAMBDA_REF) { - // determine if this is the lambda parameter auto &bound_lambda_ref = original->Cast(); auto alias = bound_lambda_ref.alias; - if (lambda_bindings && bound_lambda_ref.lambda_index != lambda_bindings->size()) { + // refers to a lambda parameter outside the current lambda function + // so the lambda parameter will be inside the lambda_bindings + if (lambda_bindings && bound_lambda_ref.lambda_idx != lambda_bindings->size()) { - D_ASSERT(bound_lambda_ref.lambda_index < lambda_bindings->size()); - auto &lambda_binding = (*lambda_bindings)[bound_lambda_ref.lambda_index]; + auto &binding = (*lambda_bindings)[bound_lambda_ref.lambda_idx]; + D_ASSERT(binding.names.size() == binding.types.size()); - D_ASSERT(lambda_binding.names.size() == 1); - D_ASSERT(lambda_binding.types.size() == 1); - // refers to a lambda parameter outside of the current lambda function - replacement = - make_uniq(lambda_binding.names[0], lambda_binding.types[0], - lambda_bindings->size() - bound_lambda_ref.lambda_index + 1); + // find the matching dummy column in the lambda binding + for (idx_t column_idx = 0; column_idx < binding.names.size(); column_idx++) { + if (column_idx == bound_lambda_ref.binding.column_index) { - } else { - // refers to current lambda parameter - replacement = make_uniq(alias, list_child_type, 0); - } + // now create the replacement + auto index = GetLambdaParamIndex(*lambda_bindings, bound_lambda_expr, bound_lambda_ref); + replacement = make_uniq(binding.names[column_idx], + binding.types[column_idx], index); + return; + } + } - } else { - // always at least the current lambda parameter - idx_t index_offset = 1; - if (lambda_bindings) { - index_offset += lambda_bindings->size(); + // error resolving the lambda index + throw InternalException("Failed to bind lambda parameter internally"); } - // this is not a lambda parameter, so we need to create a new argument for the arguments vector - replacement = make_uniq(original->alias, original->return_type, - captures.size() + index_offset + 1); - captures.push_back(std::move(original)); + // refers to a lambda parameter inside the current lambda function + auto logical_type = (*bind_lambda_function)(bound_lambda_ref.binding.column_index, list_child_type); + auto index = bound_lambda_expr.parameter_count - bound_lambda_ref.binding.column_index - 1; + replacement = make_uniq(alias, logical_type, index); + return; } + + // this is not a lambda parameter, get the capture offset + idx_t offset = 0; + if (lambda_bindings) { + offset += GetLambdaParamCount(*lambda_bindings); + } + offset += bound_lambda_expr.parameter_count; + offset += bound_lambda_expr.captures.size(); + + replacement = make_uniq(original->alias, original->return_type, offset); + bound_lambda_expr.captures.push_back(std::move(original)); } -void ExpressionBinder::CaptureLambdaColumns(vector> &captures, LogicalType &list_child_type, - unique_ptr &expr) { +void ExpressionBinder::CaptureLambdaColumns(BoundLambdaExpression &bound_lambda_expr, unique_ptr &expr, + const optional_ptr bind_lambda_function, + const LogicalType &list_child_type) { if (expr->expression_class == ExpressionClass::BOUND_SUBQUERY) { throw InvalidInputException("Subqueries are not supported in lambda expressions!"); } + // these are bound depth-first + D_ASSERT(expr->expression_class != ExpressionClass::BOUND_LAMBDA); + + // we do not need to replace anything, as these will be constant in the lambda expression + // when executed by the expression executor + if (expr->expression_class == ExpressionClass::BOUND_CONSTANT) { + return; + } + // these expression classes do not have children, transform them - if (expr->expression_class == ExpressionClass::BOUND_CONSTANT || - expr->expression_class == ExpressionClass::BOUND_COLUMN_REF || + if (expr->expression_class == ExpressionClass::BOUND_COLUMN_REF || expr->expression_class == ExpressionClass::BOUND_PARAMETER || expr->expression_class == ExpressionClass::BOUND_LAMBDA_REF) { @@ -161,15 +192,16 @@ void ExpressionBinder::CaptureLambdaColumns(vector> &capt auto original = std::move(expr); unique_ptr replacement; - TransformCapturedLambdaColumn(original, replacement, captures, list_child_type); + TransformCapturedLambdaColumn(original, replacement, bound_lambda_expr, bind_lambda_function, list_child_type); // replace the expression expr = std::move(replacement); } else { // recursively enumerate the children of the expression - ExpressionIterator::EnumerateChildren( - *expr, [&](unique_ptr &child) { CaptureLambdaColumns(captures, list_child_type, child); }); + ExpressionIterator::EnumerateChildren(*expr, [&](unique_ptr &child) { + CaptureLambdaColumns(bound_lambda_expr, child, bind_lambda_function, list_child_type); + }); } expr->Verify(); diff --git a/src/planner/binder/expression/bind_macro_expression.cpp b/src/planner/binder/expression/bind_macro_expression.cpp index cce36d49d3ac..ced09d180289 100644 --- a/src/planner/binder/expression/bind_macro_expression.cpp +++ b/src/planner/binder/expression/bind_macro_expression.cpp @@ -9,43 +9,107 @@ namespace duckdb { -void ExpressionBinder::ReplaceMacroParametersRecursive(unique_ptr &expr) { +void ExpressionBinder::ReplaceMacroParametersInLambda(FunctionExpression &function, + vector> &lambda_params) { + + for (auto &child : function.children) { + if (child->expression_class != ExpressionClass::LAMBDA) { + // not a lambda expression + ReplaceMacroParameters(child, lambda_params); + continue; + } + + // special-handling for LHS lambda parameters + // we do not replace them, and we add them to the lambda_params vector + auto &lambda_expr = child->Cast(); + string error_message; + auto column_ref_expressions = lambda_expr.ExtractColumnRefExpressions(error_message); + + if (!error_message.empty()) { + // possibly a JSON function, replace both LHS and RHS + ParsedExpressionIterator::EnumerateChildren(*lambda_expr.lhs, [&](unique_ptr &child) { + ReplaceMacroParameters(child, lambda_params); + }); + ParsedExpressionIterator::EnumerateChildren(*lambda_expr.expr, [&](unique_ptr &child) { + ReplaceMacroParameters(child, lambda_params); + }); + continue; + } + + // push this level + lambda_params.emplace_back(); + + // push the lambda parameter names + for (const auto &column_ref_expr : column_ref_expressions) { + const auto &column_ref = column_ref_expr.get().Cast(); + lambda_params.back().emplace(column_ref.GetName()); + } + + // only replace in RHS + ParsedExpressionIterator::EnumerateChildren(*lambda_expr.expr, [&](unique_ptr &child) { + ReplaceMacroParameters(child, lambda_params); + }); + + // pop this level + lambda_params.pop_back(); + } +} + +void ExpressionBinder::ReplaceMacroParameters(unique_ptr &expr, + vector> &lambda_params) { + switch (expr->GetExpressionClass()) { case ExpressionClass::COLUMN_REF: { - // if expr is a parameter, replace it with its argument - auto &colref = expr->Cast(); + // if the expression is a parameter, replace it with its argument + auto &col_ref = expr->Cast(); + + // don't replace lambda parameters + if (LambdaExpression::IsLambdaParameter(lambda_params, col_ref.GetName())) { + return; + } + bool bind_macro_parameter = false; - if (colref.IsQualified()) { - bind_macro_parameter = false; - if (colref.GetTableName().find(DummyBinding::DUMMY_NAME) != string::npos) { + if (col_ref.IsQualified()) { + if (col_ref.GetTableName().find(DummyBinding::DUMMY_NAME) != string::npos) { bind_macro_parameter = true; } } else { - bind_macro_parameter = macro_binding->HasMatchingBinding(colref.GetColumnName()); + bind_macro_parameter = macro_binding->HasMatchingBinding(col_ref.GetColumnName()); } + if (bind_macro_parameter) { - D_ASSERT(macro_binding->HasMatchingBinding(colref.GetColumnName())); - expr = macro_binding->ParamToArg(colref); + D_ASSERT(macro_binding->HasMatchingBinding(col_ref.GetColumnName())); + expr = macro_binding->ParamToArg(col_ref); } return; } + case ExpressionClass::FUNCTION: { + // special-handling for lambdas, which are inside function expressions, + auto &function = expr->Cast(); + if (IsLambdaFunction(function)) { + // special case + return ReplaceMacroParametersInLambda(function, lambda_params); + } + break; + } case ExpressionClass::SUBQUERY: { - // replacing parameters within a subquery is slightly different auto &sq = (expr->Cast()).subquery; ParsedExpressionIterator::EnumerateQueryNodeChildren( - *sq->node, [&](unique_ptr &child) { ReplaceMacroParametersRecursive(child); }); + *sq->node, [&](unique_ptr &child) { ReplaceMacroParameters(child, lambda_params); }); break; } default: // fall through break; } - // unfold child expressions + + // replace macro parameters in child expressions ParsedExpressionIterator::EnumerateChildren( - *expr, [&](unique_ptr &child) { ReplaceMacroParametersRecursive(child); }); + *expr, [&](unique_ptr &child) { ReplaceMacroParameters(child, lambda_params); }); } BindResult ExpressionBinder::BindMacro(FunctionExpression &function, ScalarMacroCatalogEntry ¯o_func, idx_t depth, unique_ptr &expr) { + // recast function so we can access the scalar member function->expression auto ¯o_def = macro_func.function->Cast(); @@ -56,7 +120,7 @@ BindResult ExpressionBinder::BindMacro(FunctionExpression &function, ScalarMacro string error = MacroFunction::ValidateArguments(*macro_func.function, macro_func.name, function, positionals, defaults); if (!error.empty()) { - throw BinderException(binder.FormatError(*expr, error)); + throw BinderException(*expr, error); } // create a MacroBinding to bind this macro's parameters to its arguments @@ -82,8 +146,14 @@ BindResult ExpressionBinder::BindMacro(FunctionExpression &function, ScalarMacro // replace current expression with stored macro expression expr = macro_def.expression->Copy(); + // qualify only the macro parameters with a new empty binder that only knows the macro binding + auto dummy_binder = Binder::CreateBinder(context); + dummy_binder->macro_binding = new_macro_binding.get(); + ExpressionBinder::QualifyColumnNames(*dummy_binder, expr); + // now replace the parameters - ReplaceMacroParametersRecursive(expr); + vector> lambda_params; + ReplaceMacroParameters(expr, lambda_params); // bind the unfolded macro return BindExpression(expr, depth); diff --git a/src/planner/binder/expression/bind_operator_expression.cpp b/src/planner/binder/expression/bind_operator_expression.cpp index c19ee655e8c2..4aaac887f5d1 100644 --- a/src/planner/binder/expression/bind_operator_expression.cpp +++ b/src/planner/binder/expression/bind_operator_expression.cpp @@ -1,52 +1,63 @@ +#include "duckdb/parser/expression/function_expression.hpp" #include "duckdb/parser/expression/operator_expression.hpp" +#include "duckdb/planner/expression/bound_case_expression.hpp" #include "duckdb/planner/expression/bound_cast_expression.hpp" +#include "duckdb/planner/expression/bound_comparison_expression.hpp" +#include "duckdb/planner/binder.hpp" +#include "duckdb/planner/expression/bound_constant_expression.hpp" #include "duckdb/planner/expression/bound_operator_expression.hpp" -#include "duckdb/planner/expression/bound_case_expression.hpp" #include "duckdb/planner/expression/bound_parameter_expression.hpp" -#include "duckdb/parser/expression/function_expression.hpp" #include "duckdb/planner/expression_binder.hpp" namespace duckdb { -static LogicalType ResolveNotType(OperatorExpression &op, vector> &children) { +LogicalType ExpressionBinder::ResolveNotType(OperatorExpression &op, vector> &children) { // NOT expression, cast child to BOOLEAN D_ASSERT(children.size() == 1); - children[0] = BoundCastExpression::AddDefaultCastToType(std::move(children[0]), LogicalType::BOOLEAN); + children[0] = BoundCastExpression::AddCastToType(context, std::move(children[0]), LogicalType::BOOLEAN); return LogicalType(LogicalTypeId::BOOLEAN); } -static LogicalType ResolveInType(OperatorExpression &op, vector> &children) { +LogicalType ExpressionBinder::ResolveInType(OperatorExpression &op, vector> &children) { if (children.empty()) { throw InternalException("IN requires at least a single child node"); } // get the maximum type from the children - LogicalType max_type = children[0]->return_type; - bool any_varchar = children[0]->return_type == LogicalType::VARCHAR; - bool any_enum = children[0]->return_type.id() == LogicalTypeId::ENUM; + LogicalType max_type = ExpressionBinder::GetExpressionReturnType(*children[0]); + bool is_in_operator = (op.type == ExpressionType::COMPARE_IN || op.type == ExpressionType::COMPARE_NOT_IN); for (idx_t i = 1; i < children.size(); i++) { - max_type = LogicalType::MaxLogicalType(max_type, children[i]->return_type); - if (children[i]->return_type == LogicalType::VARCHAR) { - any_varchar = true; - } - if (children[i]->return_type.id() == LogicalTypeId::ENUM) { - any_enum = true; + auto child_return = ExpressionBinder::GetExpressionReturnType(*children[i]); + if (is_in_operator) { + // If it's IN/NOT_IN operator, adjust DECIMAL and VARCHAR returned type. + if (!BoundComparisonExpression::TryBindComparison(context, max_type, child_return, max_type, op.type)) { + throw BinderException(op, + "Cannot mix values of type %s and %s in %s clause - an explicit cast is required", + max_type.ToString(), child_return.ToString(), + op.type == ExpressionType::COMPARE_IN ? "IN" : "NOT IN"); + } + } else { + // If it's COALESCE operator, don't do extra adjustment. + if (!LogicalType::TryGetMaxLogicalType(context, max_type, child_return, max_type)) { + throw BinderException( + op, "Cannot mix values of type %s and %s in COALESCE operator - an explicit cast is required", + max_type.ToString(), child_return.ToString()); + } } } - if (any_varchar && any_enum) { - // For the coalesce function, we must be sure we always upcast the parameters to VARCHAR, if there are at least - // one enum and one varchar - max_type = LogicalType::VARCHAR; - } // cast all children to the same type - for (idx_t i = 0; i < children.size(); i++) { - children[i] = BoundCastExpression::AddDefaultCastToType(std::move(children[i]), max_type); + for (auto &child : children) { + child = BoundCastExpression::AddCastToType(context, std::move(child), max_type); + if (is_in_operator) { + // If it's IN/NOT_IN operator, push collation functions. + ExpressionBinder::PushCollation(context, child, max_type, true); + } } // (NOT) IN always returns a boolean return LogicalType::BOOLEAN; } -static LogicalType ResolveOperatorType(OperatorExpression &op, vector> &children) { +LogicalType ExpressionBinder::ResolveOperatorType(OperatorExpression &op, vector> &children) { switch (op.type) { case ExpressionType::OPERATOR_IS_NULL: case ExpressionType::OPERATOR_IS_NOT_NULL: @@ -78,12 +89,12 @@ BindResult ExpressionBinder::BindExpression(OperatorExpression &op, idx_t depth) return BindGroupingFunction(op, depth); } // bind the children of the operator expression - string error; + ErrorData error; for (idx_t i = 0; i < op.children.size(); i++) { BindChild(op.children[i], depth, error); } - if (!error.empty()) { - return BindResult(error); + if (error.HasError()) { + return BindResult(std::move(error)); } // all children bound successfully string function_name; @@ -91,8 +102,20 @@ BindResult ExpressionBinder::BindExpression(OperatorExpression &op, idx_t depth) case ExpressionType::ARRAY_EXTRACT: { D_ASSERT(op.children[0]->expression_class == ExpressionClass::BOUND_EXPRESSION); auto &b_exp = BoundExpression::GetExpression(*op.children[0]); - if (b_exp->return_type.id() == LogicalTypeId::MAP) { + const auto &b_exp_type = b_exp->return_type; + if (b_exp_type.id() == LogicalTypeId::MAP) { function_name = "map_extract"; + } else if (b_exp_type.IsJSONType() && op.children.size() == 2) { + function_name = "json_extract"; + // Make sure we only extract array elements, not fields, by adding the $[] syntax + auto &i_exp = BoundExpression::GetExpression(*op.children[1]); + if (i_exp->GetExpressionClass() == ExpressionClass::BOUND_CONSTANT) { + auto &const_exp = i_exp->Cast(); + if (!const_exp.value.IsNull()) { + const_exp.value = StringUtil::Format("$[%s]", const_exp.value.ToString()); + const_exp.return_type = LogicalType::VARCHAR; + } + } } else { function_name = "array_extract"; } @@ -107,14 +130,28 @@ BindResult ExpressionBinder::BindExpression(OperatorExpression &op, idx_t depth) D_ASSERT(op.children[1]->expression_class == ExpressionClass::BOUND_EXPRESSION); auto &extract_exp = BoundExpression::GetExpression(*op.children[0]); auto &name_exp = BoundExpression::GetExpression(*op.children[1]); - auto extract_expr_type = extract_exp->return_type.id(); - if (extract_expr_type != LogicalTypeId::STRUCT && extract_expr_type != LogicalTypeId::UNION && - extract_expr_type != LogicalTypeId::SQLNULL) { + const auto &extract_expr_type = extract_exp->return_type; + if (extract_expr_type.id() != LogicalTypeId::STRUCT && extract_expr_type.id() != LogicalTypeId::UNION && + extract_expr_type.id() != LogicalTypeId::SQLNULL && !extract_expr_type.IsJSONType()) { return BindResult(StringUtil::Format( - "Cannot extract field %s from expression \"%s\" because it is not a struct or a union", + "Cannot extract field %s from expression \"%s\" because it is not a struct, union, or json", name_exp->ToString(), extract_exp->ToString())); } - function_name = extract_expr_type == LogicalTypeId::UNION ? "union_extract" : "struct_extract"; + if (extract_expr_type.id() == LogicalTypeId::UNION) { + function_name = "union_extract"; + } else if (extract_expr_type.IsJSONType()) { + function_name = "json_extract"; + // Make sure we only extract fields, not array elements, by adding $. syntax + if (name_exp->GetExpressionClass() == ExpressionClass::BOUND_CONSTANT) { + auto &const_exp = name_exp->Cast(); + if (!const_exp.value.IsNull()) { + const_exp.value = StringUtil::Format("$.\"%s\"", const_exp.value.ToString()); + const_exp.return_type = LogicalType::VARCHAR; + } + } + } else { + function_name = "struct_extract"; + } break; } case ExpressionType::ARRAY_CONSTRUCTOR: diff --git a/src/planner/binder/expression/bind_star_expression.cpp b/src/planner/binder/expression/bind_star_expression.cpp index c0a25d937e6d..915c32e22337 100644 --- a/src/planner/binder/expression/bind_star_expression.cpp +++ b/src/planner/binder/expression/bind_star_expression.cpp @@ -56,8 +56,8 @@ bool Binder::FindStarExpression(unique_ptr &expr, StarExpressi if (*star) { // we can have multiple if (!(*star)->Equals(current_star)) { - throw BinderException( - FormatError(*expr, "Multiple different STAR/COLUMNS in the same expression are not supported")); + throw BinderException(*expr, + "Multiple different STAR/COLUMNS in the same expression are not supported"); } return true; } @@ -123,7 +123,7 @@ void Binder::ExpandStarExpression(unique_ptr expr, duckdb_re2::RE2 regex(regex_str); if (!regex.error().empty()) { auto err = StringUtil::Format("Failed to compile regex \"%s\": %s", regex_str, regex.error()); - throw BinderException(FormatError(*star, err)); + throw BinderException(*star, err); } vector> new_list; for (idx_t i = 0; i < star_list.size(); i++) { @@ -135,7 +135,7 @@ void Binder::ExpandStarExpression(unique_ptr expr, } if (new_list.empty()) { auto err = StringUtil::Format("No matching columns found that match regex \"%s\"", regex_str); - throw BinderException(FormatError(*star, err)); + throw BinderException(*star, err); } star_list = std::move(new_list); } else if (val.type().id() == LogicalTypeId::LIST && @@ -144,7 +144,7 @@ void Binder::ExpandStarExpression(unique_ptr expr, if (val.IsNull() || ListValue::GetChildren(val).empty()) { auto err = StringUtil::Format("Star expression \"%s\" resulted in an empty set of columns", star->ToString()); - throw BinderException(FormatError(*star, err)); + throw BinderException(*star, err); } auto &children = ListValue::GetChildren(val); vector> new_list; @@ -171,8 +171,8 @@ void Binder::ExpandStarExpression(unique_ptr expr, } star_list = std::move(new_list); } else { - throw BinderException(FormatError( - *star, "COLUMNS expects either a VARCHAR argument (regex) or a LIST of VARCHAR (list of columns)")); + throw BinderException( + *star, "COLUMNS expects either a VARCHAR argument (regex) or a LIST of VARCHAR (list of columns)"); } } diff --git a/src/planner/binder/expression/bind_subquery_expression.cpp b/src/planner/binder/expression/bind_subquery_expression.cpp index c8802e5e822a..dc0f7624c94b 100644 --- a/src/planner/binder/expression/bind_subquery_expression.cpp +++ b/src/planner/binder/expression/bind_subquery_expression.cpp @@ -40,7 +40,6 @@ class BoundSubqueryNode : public QueryNode { BindResult ExpressionBinder::BindExpression(SubqueryExpression &expr, idx_t depth) { if (expr.subquery->node->type != QueryNodeType::BOUND_SUBQUERY_NODE) { - D_ASSERT(depth == 0); // first bind the actual subquery in a new binder auto subquery_binder = Binder::CreateBinder(context, &binder); subquery_binder->can_contain_nulls = true; @@ -56,8 +55,7 @@ BindResult ExpressionBinder::BindExpression(SubqueryExpression &expr, idx_t dept } } if (expr.subquery_type != SubqueryType::EXISTS && bound_node->types.size() > 1) { - throw BinderException(binder.FormatError( - expr, StringUtil::Format("Subquery returns %zu columns - expected 1", bound_node->types.size()))); + throw BinderException(expr, "Subquery returns %zu columns - expected 1", bound_node->types.size()); } auto prior_subquery = std::move(expr.subquery); expr.subquery = make_uniq(); @@ -67,9 +65,9 @@ BindResult ExpressionBinder::BindExpression(SubqueryExpression &expr, idx_t dept // now bind the child node of the subquery if (expr.child) { // first bind the children of the subquery, if any - string error = Bind(expr.child, depth); - if (!error.empty()) { - return BindResult(error); + auto error = Bind(expr.child, depth); + if (error.HasError()) { + return BindResult(std::move(error)); } } // both binding the child and binding the subquery was successful @@ -89,7 +87,13 @@ BindResult ExpressionBinder::BindExpression(SubqueryExpression &expr, idx_t dept // cast child and subquery child to equivalent types D_ASSERT(bound_node->types.size() == 1); auto &child = BoundExpression::GetExpression(*expr.child); - auto compare_type = LogicalType::MaxLogicalType(child->return_type, bound_node->types[0]); + auto child_type = ExpressionBinder::GetExpressionReturnType(*child); + LogicalType compare_type; + if (!LogicalType::TryGetMaxLogicalType(context, child_type, bound_node->types[0], compare_type)) { + throw BinderException( + expr, "Cannot compare values of type %s and %s in IN/ANY/ALL clause - an explicit cast is required", + child_type.ToString(), bound_node->types[0]); + } child = BoundCastExpression::AddCastToType(context, std::move(child), compare_type); result->child_type = bound_node->types[0]; result->child_target = compare_type; diff --git a/src/planner/binder/expression/bind_unnest_expression.cpp b/src/planner/binder/expression/bind_unnest_expression.cpp index b2ded1c979a6..92a41d7f6ce5 100644 --- a/src/planner/binder/expression/bind_unnest_expression.cpp +++ b/src/planner/binder/expression/bind_unnest_expression.cpp @@ -20,7 +20,7 @@ unique_ptr CreateBoundStructExtract(ClientContext &context, unique_p vector> arguments; arguments.push_back(std::move(expr)); arguments.push_back(make_uniq(Value(key))); - auto extract_function = StructExtractFun::GetFunction(); + auto extract_function = StructExtractFun::KeyExtractFunction(); auto bind_info = extract_function.bind(context, extract_function, arguments); auto return_type = extract_function.return_type; auto result = make_uniq(return_type, std::move(extract_function), std::move(arguments), @@ -29,14 +29,27 @@ unique_ptr CreateBoundStructExtract(ClientContext &context, unique_p return std::move(result); } +unique_ptr CreateBoundStructExtractIndex(ClientContext &context, unique_ptr expr, idx_t key) { + vector> arguments; + arguments.push_back(std::move(expr)); + arguments.push_back(make_uniq(Value::BIGINT(int64_t(key)))); + auto extract_function = StructExtractFun::IndexExtractFunction(); + auto bind_info = extract_function.bind(context, extract_function, arguments); + auto return_type = extract_function.return_type; + auto result = make_uniq(return_type, std::move(extract_function), std::move(arguments), + std::move(bind_info)); + result->alias = "element" + to_string(key); + return std::move(result); +} + BindResult SelectBinder::BindUnnest(FunctionExpression &function, idx_t depth, bool root_expression) { // bind the children of the function expression if (depth > 0) { - return BindResult(binder.FormatError(function, "UNNEST() for correlated expressions is not supported yet")); + return BindResult(BinderException(function, "UNNEST() for correlated expressions is not supported yet")); } - string error; + ErrorData error; if (function.children.empty()) { - return BindResult(binder.FormatError(function, "UNNEST() requires a single argument")); + return BindResult(BinderException(function, "UNNEST() requires a single argument")); } idx_t max_depth = 1; if (function.children.size() != 1) { @@ -44,7 +57,7 @@ BindResult SelectBinder::BindUnnest(FunctionExpression &function, idx_t depth, b bool supported_argument = false; for (idx_t i = 1; i < function.children.size(); i++) { if (has_parameter) { - return BindResult(binder.FormatError(function, "UNNEST() only supports a single additional argument")); + return BindResult(BinderException(function, "UNNEST() only supports a single additional argument")); } if (function.children[i]->HasParameter()) { throw ParameterNotAllowedException("Parameter not allowed in unnest parameter"); @@ -54,8 +67,8 @@ BindResult SelectBinder::BindUnnest(FunctionExpression &function, idx_t depth, b } auto alias = function.children[i]->alias; BindChild(function.children[i], depth, error); - if (!error.empty()) { - return BindResult(error); + if (error.HasError()) { + return BindResult(std::move(error)); } auto &const_child = BoundExpression::GetExpression(*function.children[i]); auto value = ExpressionExecutor::EvaluateScalar(context, *const_child, true); @@ -78,17 +91,18 @@ BindResult SelectBinder::BindUnnest(FunctionExpression &function, idx_t depth, b supported_argument = true; } if (!supported_argument) { - return BindResult(binder.FormatError(function, "UNNEST - unsupported extra argument, unnest only supports " - "recursive := [true/false] or max_depth := #")); + return BindResult(BinderException(function, "UNNEST - unsupported extra argument, unnest only supports " + "recursive := [true/false] or max_depth := #")); } } unnest_level++; BindChild(function.children[0], depth, error); - if (!error.empty()) { + if (error.HasError()) { // failed to bind // try to bind correlated columns manually - if (!BindCorrelatedColumns(function.children[0])) { - return BindResult(error); + auto result = BindCorrelatedColumns(function.children[0], error); + if (result.HasError()) { + return BindResult(result.error); } auto &bound_expr = BoundExpression::GetExpression(*function.children[0]); ExtractCorrelatedExpressions(binder, *bound_expr); @@ -99,6 +113,7 @@ BindResult SelectBinder::BindUnnest(FunctionExpression &function, idx_t depth, b if (unnest_level > 0) { throw BinderException( + function, "Nested UNNEST calls are not supported - use UNNEST(x, recursive := true) to unnest multiple levels"); } @@ -110,7 +125,7 @@ BindResult SelectBinder::BindUnnest(FunctionExpression &function, idx_t depth, b case LogicalTypeId::SQLNULL: break; default: - return BindResult(binder.FormatError(function, "UNNEST() can only be applied to lists, structs and NULL")); + return BindResult(BinderException(function, "UNNEST() can only be applied to lists, structs and NULL")); } idx_t list_unnests; @@ -120,7 +135,7 @@ BindResult SelectBinder::BindUnnest(FunctionExpression &function, idx_t depth, b if (child_type.id() == LogicalTypeId::SQLNULL) { list_unnests = 1; } else { - // first do all of the list unnests + // perform all LIST unnests auto type = child_type; list_unnests = 0; while (type.id() == LogicalTypeId::LIST) { @@ -130,16 +145,17 @@ BindResult SelectBinder::BindUnnest(FunctionExpression &function, idx_t depth, b break; } } - // unnest structs all the way afterwards, if there are any + // unnest structs if (type.id() == LogicalTypeId::STRUCT) { struct_unnests = max_depth - list_unnests; } } if (struct_unnests > 0 && !root_expression) { - return BindResult(binder.FormatError( + child = std::move(unnest_expr); + return BindResult(BinderException( function, "UNNEST() on a struct column can only be applied as the root element of a SELECT expression")); } - // perform all of the list unnests first + // perform all LIST unnests auto return_type = child_type; for (idx_t current_depth = 0; current_depth < list_unnests; current_depth++) { if (return_type.id() == LogicalTypeId::LIST) { @@ -182,8 +198,15 @@ BindResult SelectBinder::BindUnnest(FunctionExpression &function, idx_t depth, b if (expr->return_type.id() == LogicalTypeId::STRUCT) { // struct! push a struct_extract auto &child_types = StructType::GetChildTypes(expr->return_type); - for (auto &entry : child_types) { - new_expressions.push_back(CreateBoundStructExtract(context, expr->Copy(), entry.first)); + if (StructType::IsUnnamed(expr->return_type)) { + for (idx_t child_index = 0; child_index < child_types.size(); child_index++) { + new_expressions.push_back( + CreateBoundStructExtractIndex(context, expr->Copy(), child_index + 1)); + } + } else { + for (auto &entry : child_types) { + new_expressions.push_back(CreateBoundStructExtract(context, expr->Copy(), entry.first)); + } } has_structs = true; } else { diff --git a/src/planner/binder/expression/bind_window_expression.cpp b/src/planner/binder/expression/bind_window_expression.cpp index 6a59ea4ab66a..4dbd8625cf01 100644 --- a/src/planner/binder/expression/bind_window_expression.cpp +++ b/src/planner/binder/expression/bind_window_expression.cpp @@ -1,4 +1,6 @@ #include "duckdb/parser/expression/window_expression.hpp" +#include "duckdb/parser/expression/constant_expression.hpp" +#include "duckdb/parser/expression/function_expression.hpp" #include "duckdb/planner/expression/bound_aggregate_expression.hpp" #include "duckdb/planner/expression/bound_cast_expression.hpp" #include "duckdb/planner/expression/bound_columnref_expression.hpp" @@ -101,11 +103,11 @@ static LogicalType BindRangeExpression(ClientContext &context, const string &nam auto &bound = BoundExpression::GetExpression(*expr); children.emplace_back(std::move(bound)); - string error; + ErrorData error; FunctionBinder function_binder(context); auto function = function_binder.BindScalarFunction(DEFAULT_SCHEMA, name, std::move(children), error, true); if (!function) { - throw BinderException(error); + error.Throw(); } bound = std::move(function); return bound->return_type; @@ -114,23 +116,24 @@ static LogicalType BindRangeExpression(ClientContext &context, const string &nam BindResult BaseSelectBinder::BindWindow(WindowExpression &window, idx_t depth) { auto name = window.GetName(); - QueryErrorContext error_context(binder.GetRootStatement(), window.query_location); + QueryErrorContext error_context(window.query_location); if (inside_window) { - throw BinderException(error_context.FormatError("window function calls cannot be nested")); + throw BinderException(error_context, "window function calls cannot be nested"); } if (depth > 0) { - throw BinderException(error_context.FormatError("correlated columns in window functions not supported")); + throw BinderException(error_context, "correlated columns in window functions not supported"); } // If we have range expressions, then only one order by clause is allowed. - if ((window.start == WindowBoundary::EXPR_PRECEDING_RANGE || window.start == WindowBoundary::EXPR_FOLLOWING_RANGE || - window.end == WindowBoundary::EXPR_PRECEDING_RANGE || window.end == WindowBoundary::EXPR_FOLLOWING_RANGE) && - window.orders.size() != 1) { - throw BinderException(error_context.FormatError("RANGE frames must have only one ORDER BY expression")); + const auto is_range = + (window.start == WindowBoundary::EXPR_PRECEDING_RANGE || window.start == WindowBoundary::EXPR_FOLLOWING_RANGE || + window.end == WindowBoundary::EXPR_PRECEDING_RANGE || window.end == WindowBoundary::EXPR_FOLLOWING_RANGE); + if (is_range && window.orders.size() != 1) { + throw BinderException(error_context, "RANGE frames must have only one ORDER BY expression"); } // bind inside the children of the window function // we set the inside_window flag to true to prevent binding nested window functions this->inside_window = true; - string error; + ErrorData error; for (auto &child : window.children) { BindChild(child, depth, error); } @@ -139,6 +142,21 @@ BindResult BaseSelectBinder::BindWindow(WindowExpression &window, idx_t depth) { } for (auto &order : window.orders) { BindChild(order.expression, depth, error); + + // If the frame is a RANGE frame and the type is a time, + // then we have to convert the time to a timestamp to avoid wrapping. + if (!is_range) { + continue; + } + auto &order_expr = order.expression; + auto &bound_order = BoundExpression::GetExpression(*order_expr); + const auto type_id = bound_order->return_type.id(); + if (type_id == LogicalTypeId::TIME || type_id == LogicalTypeId::TIME_TZ) { + // Convert to time + epoch and rebind + unique_ptr epoch = make_uniq(Value::DATE(date_t::epoch())); + BindChild(epoch, depth, error); + BindRangeExpression(context, "+", order.expression, epoch); + } } BindChild(window.filter_expr, depth, error); BindChild(window.start_expr, depth, error); @@ -147,9 +165,9 @@ BindResult BaseSelectBinder::BindWindow(WindowExpression &window, idx_t depth) { BindChild(window.default_expr, depth, error); this->inside_window = false; - if (!error.empty()) { + if (error.HasError()) { // failed to bind children of window function - return BindResult(error); + return BindResult(std::move(error)); } // Restore any collation expressions @@ -179,6 +197,7 @@ BindResult BaseSelectBinder::BindWindow(WindowExpression &window, idx_t depth) { if (argno == 1) { bound = BoundCastExpression::AddCastToType(context, std::move(bound), LogicalType::BIGINT); } + break; default: break; } @@ -196,11 +215,12 @@ BindResult BaseSelectBinder::BindWindow(WindowExpression &window, idx_t depth) { D_ASSERT(func.type == CatalogType::AGGREGATE_FUNCTION_ENTRY); // bind the aggregate - string error; + ErrorData error; FunctionBinder function_binder(context); auto best_function = function_binder.BindFunction(func.name, func.functions, types, error); if (best_function == DConstants::INVALID_INDEX) { - throw BinderException(binder.FormatError(window, error)); + error.AddQueryLocation(window); + error.Throw(); } // found a matching function! bind it as an aggregate auto bound_function = func.functions.GetFunctionByOffset(best_function); @@ -220,6 +240,7 @@ BindResult BaseSelectBinder::BindWindow(WindowExpression &window, idx_t depth) { result->partitions.push_back(GetExpression(child)); } result->ignore_nulls = window.ignore_nulls; + result->distinct = window.distinct; // Convert RANGE boundary expressions to ORDER +/- expressions. // Note that PRECEEDING and FOLLOWING refer to the sequential order in the frame, @@ -263,10 +284,10 @@ BindResult BaseSelectBinder::BindWindow(WindowExpression &window, idx_t depth) { auto &bound_order = BoundExpression::GetExpression(*order_expr); auto order_type = bound_order->return_type; if (window.start_expr) { - order_type = LogicalType::MaxLogicalType(order_type, start_type); + order_type = LogicalType::MaxLogicalType(context, order_type, start_type); } if (window.end_expr) { - order_type = LogicalType::MaxLogicalType(order_type, end_type); + order_type = LogicalType::MaxLogicalType(context, order_type, end_type); } // Cast all three to match @@ -289,6 +310,7 @@ BindResult BaseSelectBinder::BindWindow(WindowExpression &window, idx_t depth) { result->default_expr = CastWindowExpression(window.default_expr, result->return_type); result->start = window.start; result->end = window.end; + result->exclude_clause = window.exclude_clause; // create a BoundColumnRef that references this entry auto colref = make_uniq(std::move(name), result->return_type, diff --git a/src/planner/binder/query_node/bind_cte_node.cpp b/src/planner/binder/query_node/bind_cte_node.cpp index 42f14b9604a3..c422b7d841e1 100644 --- a/src/planner/binder/query_node/bind_cte_node.cpp +++ b/src/planner/binder/query_node/bind_cte_node.cpp @@ -30,8 +30,19 @@ unique_ptr Binder::BindNode(CTENode &statement) { result->names[i] = statement.aliases[i]; } + // Rename columns if duplicate names are detected + idx_t index = 1; + vector names; + for (auto &n : result->names) { + string name = n; + while (find(names.begin(), names.end(), name) != names.end()) { + name = n + "_" + std::to_string(index++); + } + names.push_back(name); + } + // This allows the right side to reference the CTE - bind_context.AddGenericBinding(result->setop_index, statement.ctename, result->names, result->types); + bind_context.AddGenericBinding(result->setop_index, statement.ctename, names, result->types); result->child_binder = Binder::CreateBinder(context, this); @@ -43,17 +54,15 @@ unique_ptr Binder::BindNode(CTENode &statement) { statement.modifiers.clear(); // Add bindings of left side to temporary CTE bindings context - result->child_binder->bind_context.AddCTEBinding(result->setop_index, statement.ctename, result->names, - result->types); + result->child_binder->bind_context.AddCTEBinding(result->setop_index, statement.ctename, names, result->types); result->child = result->child_binder->BindNode(*statement.child); + for (auto &c : result->query_binder->correlated_columns) { + result->child_binder->AddCorrelatedColumn(c); + } // the result types of the CTE are the types of the LHS result->types = result->child->types; - // names are picked from the LHS, unless aliases are explicitly specified result->names = result->child->names; - for (idx_t i = 0; i < statement.aliases.size() && i < result->names.size(); i++) { - result->names[i] = statement.aliases[i]; - } MoveCorrelatedExpressions(*result->query_binder); MoveCorrelatedExpressions(*result->child_binder); diff --git a/src/planner/binder/query_node/bind_recursive_cte_node.cpp b/src/planner/binder/query_node/bind_recursive_cte_node.cpp index cf9ebface272..1c5e342615b0 100644 --- a/src/planner/binder/query_node/bind_recursive_cte_node.cpp +++ b/src/planner/binder/query_node/bind_recursive_cte_node.cpp @@ -40,6 +40,9 @@ unique_ptr Binder::BindNode(RecursiveCTENode &statement) { result->right_binder->bind_context.AddCTEBinding(result->setop_index, statement.ctename, result->names, result->types); result->right = result->right_binder->BindNode(*statement.right); + for (auto &c : result->left_binder->correlated_columns) { + result->right_binder->AddCorrelatedColumn(c); + } // move the correlated expressions from the child binders to this binder MoveCorrelatedExpressions(*result->left_binder); diff --git a/src/planner/binder/query_node/bind_select_node.cpp b/src/planner/binder/query_node/bind_select_node.cpp index 36d11109d945..41931f5390b3 100644 --- a/src/planner/binder/query_node/bind_select_node.cpp +++ b/src/planner/binder/query_node/bind_select_node.cpp @@ -24,11 +24,12 @@ #include "duckdb/planner/expression_binder/where_binder.hpp" #include "duckdb/planner/expression_iterator.hpp" #include "duckdb/planner/query_node/bound_select_node.hpp" +#include "duckdb/parser/expression/function_expression.hpp" namespace duckdb { unique_ptr Binder::BindOrderExpression(OrderBinder &order_binder, unique_ptr expr) { - // we treat the Distinct list as a order by + // we treat the distinct list as an ORDER BY auto bound_expr = order_binder.Bind(std::move(expr)); if (!bound_expr) { // DISTINCT ON non-integer constant @@ -98,7 +99,7 @@ unique_ptr Binder::BindLimitPercent(OrderBinder &order_bind if (!result->limit) { result->limit_percent = val.IsNull() ? 100 : val.GetValue(); if (result->limit_percent < 0.0) { - throw Exception("Limit percentage can't be negative value"); + throw InvalidInputException("Limit percentage can't be negative value"); } } } @@ -158,6 +159,36 @@ void Binder::BindModifiers(OrderBinder &order_binder, QueryNode &statement, Boun order.orders = std::move(new_orders); } } +#if 0 + // When this verification is enabled, replace ORDER BY x, y with ORDER BY create_sort_key(x, y) + // note that we don't enable this during actual verification since it doesn't always work + // e.g. it breaks EXPLAIN output on queries + bool can_replace = true; + for (auto &order_node : order.orders) { + if (order_node.expression->type == ExpressionType::VALUE_CONSTANT) { + // we cannot replace the sort key when we order by literals (e.g. ORDER BY 1, 2` + can_replace = false; + break; + } + } + if (!order_binder.HasExtraList()) { + // we can only do the replacement when we can order by elements that are not in the selection list + can_replace = false; + } + if (can_replace) { + vector> sort_key_parameters; + for (auto &order_node : order.orders) { + sort_key_parameters.push_back(std::move(order_node.expression)); + auto type = config.ResolveOrder(order_node.type); + auto null_order = config.ResolveNullOrder(type, order_node.null_order); + string sort_param = EnumUtil::ToString(type) + " " + EnumUtil::ToString(null_order); + sort_key_parameters.push_back(make_uniq(Value(sort_param))); + } + order.orders.clear(); + auto create_sort_key = make_uniq("create_sort_key", std::move(sort_key_parameters)); + order.orders.emplace_back(OrderType::ASCENDING, OrderByNullType::NULLS_LAST, std::move(create_sort_key)); + } +#endif for (auto &order_node : order.orders) { vector> order_list; order_binders[0]->ExpandStarExpression(std::move(order_node.expression), order_list); @@ -184,7 +215,7 @@ void Binder::BindModifiers(OrderBinder &order_binder, QueryNode &statement, Boun bound_modifier = BindLimitPercent(order_binder, mod->Cast()); break; default: - throw Exception("Unsupported result modifier"); + throw InternalException("Unsupported result modifier"); } if (bound_modifier) { result.modifiers.push_back(std::move(bound_modifier)); @@ -203,7 +234,8 @@ static void AssignReturnType(unique_ptr &expr, const vector &sql_types, idx_t projection_index) { +void Binder::BindModifierTypes(BoundQueryNode &result, const vector &sql_types, idx_t, + const vector &expansion_count) { for (auto &bound_mod : result.modifiers) { switch (bound_mod->type) { case ResultModifierType::DISTINCT_MODIFIER: { @@ -216,7 +248,13 @@ void Binder::BindModifierTypes(BoundQueryNode &result, const vector if (bound_colref.binding.column_index == DConstants::INVALID_INDEX) { throw BinderException("Ambiguous name in DISTINCT ON!"); } - D_ASSERT(bound_colref.binding.column_index < sql_types.size()); + + idx_t max_count = sql_types.size(); + if (bound_colref.binding.column_index > max_count - 1) { + D_ASSERT(bound_colref.return_type == LogicalType::ANY); + throw BinderException("ORDER term out of range - should be between 1 and %lld", max_count); + } + bound_colref.return_type = sql_types[bound_colref.binding.column_index]; } for (auto &target_distinct : distinct.target_distincts) { @@ -239,17 +277,30 @@ void Binder::BindModifierTypes(BoundQueryNode &result, const vector break; } case ResultModifierType::ORDER_MODIFIER: { + auto &order = bound_mod->Cast(); for (auto &order_node : order.orders) { + auto &expr = order_node.expression; D_ASSERT(expr->type == ExpressionType::BOUND_COLUMN_REF); auto &bound_colref = expr->Cast(); if (bound_colref.binding.column_index == DConstants::INVALID_INDEX) { throw BinderException("Ambiguous name in ORDER BY!"); } - D_ASSERT(bound_colref.binding.column_index < sql_types.size()); + + if (!expansion_count.empty() && bound_colref.return_type.id() != LogicalTypeId::ANY) { + bound_colref.binding.column_index = expansion_count[bound_colref.binding.column_index]; + } + + idx_t max_count = sql_types.size(); + if (bound_colref.binding.column_index > max_count - 1) { + D_ASSERT(bound_colref.return_type == LogicalType::ANY); + throw BinderException("ORDER term out of range - should be between 1 and %lld", max_count); + } + const auto &sql_type = sql_types[bound_colref.binding.column_index]; - bound_colref.return_type = sql_types[bound_colref.binding.column_index]; + bound_colref.return_type = sql_type; + ExpressionBinder::PushCollation(context, order_node.expression, sql_type); } break; @@ -434,9 +485,15 @@ unique_ptr Binder::BindSelectNode(SelectNode &statement, unique_ // after that, we bind to the SELECT list SelectBinder select_binder(*this, context, *result, info, alias_map); - vector internal_sql_types; + + // if we expand select-list expressions, e.g., via UNNEST, then we need to possibly + // adjust the column index of the already bound ORDER BY modifiers, and not only set their types + vector modifier_sql_types; + vector modifier_expansion_count; + vector group_by_all_indexes; vector new_names; + for (idx_t i = 0; i < statement.select_list.size(); i++) { bool is_window = statement.select_list[i]->IsWindow(); idx_t unnest_count = result->unnests.size(); @@ -445,6 +502,7 @@ unique_ptr Binder::BindSelectNode(SelectNode &statement, unique_ bool is_original_column = i < result->column_count; bool can_group_by_all = statement.aggregate_handling == AggregateHandling::FORCE_AGGREGATES && is_original_column; + if (select_binder.HasExpandedExpressions()) { if (!is_original_column) { throw InternalException("Only original columns can have expanded expressions"); @@ -452,16 +510,26 @@ unique_ptr Binder::BindSelectNode(SelectNode &statement, unique_ if (statement.aggregate_handling == AggregateHandling::FORCE_AGGREGATES) { throw BinderException("UNNEST of struct cannot be combined with GROUP BY ALL"); } + auto &struct_expressions = select_binder.ExpandedExpressions(); D_ASSERT(!struct_expressions.empty()); + modifier_expansion_count.push_back(modifier_sql_types.size()); + for (auto &struct_expr : struct_expressions) { + modifier_sql_types.push_back(struct_expr->return_type); new_names.push_back(struct_expr->GetName()); result->types.push_back(struct_expr->return_type); result->select_list.push_back(std::move(struct_expr)); } + struct_expressions.clear(); continue; } + + // not an expanded expression + modifier_expansion_count.push_back(modifier_sql_types.size()); + modifier_sql_types.push_back(result_type); + if (can_group_by_all && select_binder.HasBoundColumns()) { if (select_binder.BoundAggregates()) { throw BinderException("Cannot mix aggregates with non-aggregated columns!"); @@ -476,16 +544,18 @@ unique_ptr Binder::BindSelectNode(SelectNode &statement, unique_ // this entry becomes a group group_by_all_indexes.push_back(i); } + result->select_list.push_back(std::move(expr)); if (is_original_column) { new_names.push_back(std::move(result->names[i])); result->types.push_back(result_type); } - internal_sql_types.push_back(result_type); + if (can_group_by_all) { select_binder.ResetBindings(); } } + // push the GROUP BY ALL expressions into the group set for (auto &group_by_all_index : group_by_all_indexes) { auto &expr = result->select_list[group_by_all_index]; @@ -523,13 +593,14 @@ unique_ptr Binder::BindSelectNode(SelectNode &statement, unique_ if (statement.aggregate_handling == AggregateHandling::FORCE_AGGREGATES) { error += "\nGROUP BY ALL will only group entries in the SELECT list. Add it to the SELECT list or " "GROUP BY this entry explicitly."; + throw BinderException(bound_columns[0].query_location, error, bound_columns[0].name); } else { error += "\nEither add it to the GROUP BY list, or use \"ANY_VALUE(%s)\" if the exact value of \"%s\" " "is not important."; + throw BinderException(bound_columns[0].query_location, error, bound_columns[0].name, + bound_columns[0].name, bound_columns[0].name); } - throw BinderException(FormatError(bound_columns[0].query_location, error, bound_columns[0].name, - bound_columns[0].name, bound_columns[0].name)); } } } @@ -541,7 +612,7 @@ unique_ptr Binder::BindSelectNode(SelectNode &statement, unique_ } // now that the SELECT list is bound, we set the types of DISTINCT/ORDER BY expressions - BindModifierTypes(*result, internal_sql_types, result->projection_index); + BindModifierTypes(*result, modifier_sql_types, result->projection_index, modifier_expansion_count); return std::move(result); } diff --git a/src/planner/binder/query_node/bind_setop_node.cpp b/src/planner/binder/query_node/bind_setop_node.cpp index 7b2c33752ee5..0d8d4445f85f 100644 --- a/src/planner/binder/query_node/bind_setop_node.cpp +++ b/src/planner/binder/query_node/bind_setop_node.cpp @@ -9,6 +9,7 @@ #include "duckdb/planner/expression_binder/order_binder.hpp" #include "duckdb/planner/query_node/bound_select_node.hpp" #include "duckdb/planner/query_node/bound_set_operation_node.hpp" +#include "duckdb/common/enum_util.hpp" namespace duckdb { @@ -51,17 +52,7 @@ static void GatherAliases(BoundQueryNode &node, case_insensitive_map_t &a idx_t index = reorder_idx[i]; - if (entry != aliases.end()) { - // the alias already exists - // check if there is a conflict - - if (entry->second != index) { - // there is a conflict - // we place "-1" in the aliases map at this location - // "-1" signifies that there is an ambiguous reference - aliases[name] = DConstants::INVALID_INDEX; - } - } else { + if (entry == aliases.end()) { // the alias is not in there yet, just assign it aliases[name] = index; } @@ -81,37 +72,37 @@ static void GatherAliases(BoundQueryNode &node, case_insensitive_map_t &a } } -static void BuildUnionByNameInfo(BoundSetOperationNode &result, bool can_contain_nulls) { +static void BuildUnionByNameInfo(ClientContext &context, BoundSetOperationNode &result, bool can_contain_nulls) { D_ASSERT(result.setop_type == SetOperationType::UNION_BY_NAME); case_insensitive_map_t left_names_map; case_insensitive_map_t right_names_map; - BoundQueryNode *left_node = result.left.get(); - BoundQueryNode *right_node = result.right.get(); + auto &left_node = *result.left; + auto &right_node = *result.right; // Build a name_map to use to check if a name exists // We throw a binder exception if two same name in the SELECT list - for (idx_t i = 0; i < left_node->names.size(); ++i) { - if (left_names_map.find(left_node->names[i]) != left_names_map.end()) { + for (idx_t i = 0; i < left_node.names.size(); ++i) { + if (left_names_map.find(left_node.names[i]) != left_names_map.end()) { throw BinderException("UNION(ALL) BY NAME operation doesn't support same name in SELECT list"); } - left_names_map[left_node->names[i]] = i; + left_names_map[left_node.names[i]] = i; } - for (idx_t i = 0; i < right_node->names.size(); ++i) { - if (right_names_map.find(right_node->names[i]) != right_names_map.end()) { + for (idx_t i = 0; i < right_node.names.size(); ++i) { + if (right_names_map.find(right_node.names[i]) != right_names_map.end()) { throw BinderException("UNION(ALL) BY NAME operation doesn't support same name in SELECT list"); } - if (left_names_map.find(right_node->names[i]) == left_names_map.end()) { - result.names.push_back(right_node->names[i]); + if (left_names_map.find(right_node.names[i]) == left_names_map.end()) { + result.names.push_back(right_node.names[i]); } - right_names_map[right_node->names[i]] = i; + right_names_map[right_node.names[i]] = i; } idx_t new_size = result.names.size(); bool need_reorder = false; - vector left_reorder_idx(left_node->names.size()); - vector right_reorder_idx(right_node->names.size()); + vector left_reorder_idx(left_node.names.size()); + vector right_reorder_idx(right_node.names.size()); // Construct return type and reorder_idxs // reorder_idxs is used to gather correct alias_map @@ -123,20 +114,20 @@ static void BuildUnionByNameInfo(BoundSetOperationNode &result, bool can_contain bool right_exist = right_index != right_names_map.end(); LogicalType result_type; if (left_exist && right_exist) { - result_type = LogicalType::MaxLogicalType(left_node->types[left_index->second], - right_node->types[right_index->second]); + result_type = LogicalType::MaxLogicalType(context, left_node.types[left_index->second], + right_node.types[right_index->second]); if (left_index->second != i || right_index->second != i) { need_reorder = true; } left_reorder_idx[left_index->second] = i; right_reorder_idx[right_index->second] = i; } else if (left_exist) { - result_type = left_node->types[left_index->second]; + result_type = left_node.types[left_index->second]; need_reorder = true; left_reorder_idx[left_index->second] = i; } else { D_ASSERT(right_exist); - result_type = right_node->types[right_index->second]; + result_type = right_node.types[right_index->second]; need_reorder = true; right_reorder_idx[right_index->second] = i; } @@ -165,21 +156,21 @@ static void BuildUnionByNameInfo(BoundSetOperationNode &result, bool can_contain unique_ptr right_reorder_expr; if (left_exist && right_exist) { left_reorder_expr = make_uniq( - left_node->types[left_index->second], ColumnBinding(left_node->GetRootIndex(), left_index->second)); + left_node.types[left_index->second], ColumnBinding(left_node.GetRootIndex(), left_index->second)); right_reorder_expr = - make_uniq(right_node->types[right_index->second], - ColumnBinding(right_node->GetRootIndex(), right_index->second)); + make_uniq(right_node.types[right_index->second], + ColumnBinding(right_node.GetRootIndex(), right_index->second)); } else if (left_exist) { left_reorder_expr = make_uniq( - left_node->types[left_index->second], ColumnBinding(left_node->GetRootIndex(), left_index->second)); + left_node.types[left_index->second], ColumnBinding(left_node.GetRootIndex(), left_index->second)); // create null value here right_reorder_expr = make_uniq(Value(result.types[i])); } else { D_ASSERT(right_exist); left_reorder_expr = make_uniq(Value(result.types[i])); right_reorder_expr = - make_uniq(right_node->types[right_index->second], - ColumnBinding(right_node->GetRootIndex(), right_index->second)); + make_uniq(right_node.types[right_index->second], + ColumnBinding(right_node.GetRootIndex(), right_index->second)); } result.left_reorder_exprs.push_back(std::move(left_reorder_expr)); result.right_reorder_exprs.push_back(std::move(right_reorder_expr)); @@ -190,6 +181,7 @@ static void BuildUnionByNameInfo(BoundSetOperationNode &result, bool can_contain unique_ptr Binder::BindNode(SetOperationNode &statement) { auto result = make_uniq(); result->setop_type = statement.setop_type; + result->setop_all = statement.setop_all; // first recursively visit the set operations // both the left and right sides have an independent BindContext and Binder @@ -219,12 +211,11 @@ unique_ptr Binder::BindNode(SetOperationNode &statement) { } if (result->setop_type == SetOperationType::UNION_BY_NAME) { - BuildUnionByNameInfo(*result, can_contain_nulls); - + BuildUnionByNameInfo(context, *result, can_contain_nulls); } else { // figure out the types of the setop result by picking the max of both for (idx_t i = 0; i < result->left->types.size(); i++) { - auto result_type = LogicalType::MaxLogicalType(result->left->types[i], result->right->types[i]); + auto result_type = LogicalType::ForceMaxLogicalType(result->left->types[i], result->right->types[i]); if (!can_contain_nulls) { if (ExpressionBinder::ContainsNullType(result_type)) { result_type = ExpressionBinder::ExchangeNullType(result_type); diff --git a/src/planner/binder/query_node/bind_table_macro_node.cpp b/src/planner/binder/query_node/bind_table_macro_node.cpp index a3b7f58ca66f..4616fba5387e 100644 --- a/src/planner/binder/query_node/bind_table_macro_node.cpp +++ b/src/planner/binder/query_node/bind_table_macro_node.cpp @@ -32,7 +32,7 @@ unique_ptr Binder::BindTableMacro(FunctionExpression &function, Table if (!error.empty()) { // cannot use error below as binder rnot in scope // return BindResult(binder. FormatError(*expr->get(), error)); - throw BinderException(FormatError(function, error)); + throw BinderException(function, error); } // create a MacroBinding to bind this macro's parameters to its arguments @@ -58,10 +58,9 @@ unique_ptr Binder::BindTableMacro(FunctionExpression &function, Table auto eb = ExpressionBinder(*this, this->context); eb.macro_binding = new_macro_binding.get(); - - /* Does it all goes throu every expression in a selectstmt */ + vector> lambda_params; ParsedExpressionIterator::EnumerateQueryNodeChildren( - *node, [&](unique_ptr &child) { eb.ReplaceMacroParametersRecursive(child); }); + *node, [&](unique_ptr &child) { eb.ReplaceMacroParameters(child, lambda_params); }); return node; } diff --git a/src/planner/binder/query_node/plan_cte_node.cpp b/src/planner/binder/query_node/plan_cte_node.cpp index cfc079153b05..b3dbe43f382e 100644 --- a/src/planner/binder/query_node/plan_cte_node.cpp +++ b/src/planner/binder/query_node/plan_cte_node.cpp @@ -17,8 +17,8 @@ unique_ptr Binder::CreatePlan(BoundCTENode &node) { std::move(cte_query), std::move(cte_child)); // check if there are any unplanned subqueries left in either child - has_unplanned_dependent_joins = - node.child_binder->has_unplanned_dependent_joins || node.query_binder->has_unplanned_dependent_joins; + has_unplanned_dependent_joins = has_unplanned_dependent_joins || node.child_binder->has_unplanned_dependent_joins || + node.query_binder->has_unplanned_dependent_joins; return VisitQueryNode(node, std::move(root)); } diff --git a/src/planner/binder/query_node/plan_recursive_cte_node.cpp b/src/planner/binder/query_node/plan_recursive_cte_node.cpp index d41345b13208..7f2eafefdf78 100644 --- a/src/planner/binder/query_node/plan_recursive_cte_node.cpp +++ b/src/planner/binder/query_node/plan_recursive_cte_node.cpp @@ -17,8 +17,8 @@ unique_ptr Binder::CreatePlan(BoundRecursiveCTENode &node) { auto right_node = node.right_binder->CreatePlan(*node.right); // check if there are any unplanned subqueries left in either child - has_unplanned_dependent_joins = - node.left_binder->has_unplanned_dependent_joins || node.right_binder->has_unplanned_dependent_joins; + has_unplanned_dependent_joins = has_unplanned_dependent_joins || node.left_binder->has_unplanned_dependent_joins || + node.right_binder->has_unplanned_dependent_joins; // for both the left and right sides, cast them to the same types left_node = CastLogicalOperatorToTypes(node.left->types, node.types, std::move(left_node)); @@ -27,7 +27,7 @@ unique_ptr Binder::CreatePlan(BoundRecursiveCTENode &node) { if (!node.right_binder->bind_context.cte_references[node.ctename] || *node.right_binder->bind_context.cte_references[node.ctename] == 0) { auto root = make_uniq(node.setop_index, node.types.size(), std::move(left_node), - std::move(right_node), LogicalOperatorType::LOGICAL_UNION); + std::move(right_node), LogicalOperatorType::LOGICAL_UNION, true); return VisitQueryNode(node, std::move(root)); } auto root = make_uniq(node.ctename, node.setop_index, node.types.size(), node.union_all, diff --git a/src/planner/binder/query_node/plan_setop.cpp b/src/planner/binder/query_node/plan_setop.cpp index 3d9b77949e78..caccbc45de87 100644 --- a/src/planner/binder/query_node/plan_setop.cpp +++ b/src/planner/binder/query_node/plan_setop.cpp @@ -95,8 +95,8 @@ unique_ptr Binder::CreatePlan(BoundSetOperationNode &node) { } // check if there are any unplanned subqueries left in either child - has_unplanned_dependent_joins = - node.left_binder->has_unplanned_dependent_joins || node.right_binder->has_unplanned_dependent_joins; + has_unplanned_dependent_joins = has_unplanned_dependent_joins || node.left_binder->has_unplanned_dependent_joins || + node.right_binder->has_unplanned_dependent_joins; // create actual logical ops for setops LogicalOperatorType logical_type; @@ -108,14 +108,16 @@ unique_ptr Binder::CreatePlan(BoundSetOperationNode &node) { case SetOperationType::EXCEPT: logical_type = LogicalOperatorType::LOGICAL_EXCEPT; break; - default: - D_ASSERT(node.setop_type == SetOperationType::INTERSECT); + case SetOperationType::INTERSECT: logical_type = LogicalOperatorType::LOGICAL_INTERSECT; break; + default: + D_ASSERT(false); + break; } auto root = make_uniq(node.setop_index, node.types.size(), std::move(left_node), - std::move(right_node), logical_type); + std::move(right_node), logical_type, node.setop_all); return VisitQueryNode(node, std::move(root)); } diff --git a/src/planner/binder/query_node/plan_subquery.cpp b/src/planner/binder/query_node/plan_subquery.cpp index 8d019e1422bb..d2ad056bb3fb 100644 --- a/src/planner/binder/query_node/plan_subquery.cpp +++ b/src/planner/binder/query_node/plan_subquery.cpp @@ -333,6 +333,11 @@ static unique_ptr PlanCorrelatedSubquery(Binder &binder, BoundSubque void RecursiveDependentJoinPlanner::VisitOperator(LogicalOperator &op) { if (!op.children.empty()) { + // Collect all recursive CTEs during recursive descend + if (op.type == LogicalOperatorType::LOGICAL_RECURSIVE_CTE) { + auto &rec_cte = op.Cast(); + binder.recursive_ctes[rec_cte.table_index] = &op; + } root = std::move(op.children[0]); D_ASSERT(root); if (root->type == LogicalOperatorType::LOGICAL_DEPENDENT_JOIN) { @@ -433,6 +438,11 @@ unique_ptr Binder::PlanLateralJoin(unique_ptr // fetch the set of columns auto plan_columns = dependent_join->GetColumnBindings(); + // in case of a materialized CTE, the output is defined by the second children operator + if (dependent_join->type == LogicalOperatorType::LOGICAL_MATERIALIZED_CTE) { + plan_columns = dependent_join->children[1]->GetColumnBindings(); + } + // now create the join conditions // start off with the conditions that were passed in (if any) D_ASSERT(delim_join->conditions.empty()); diff --git a/src/planner/binder/statement/CMakeLists.txt b/src/planner/binder/statement/CMakeLists.txt index ba4c7469fc7b..6ce554d48ae7 100644 --- a/src/planner/binder/statement/CMakeLists.txt +++ b/src/planner/binder/statement/CMakeLists.txt @@ -4,6 +4,7 @@ add_library_unity( bind_attach.cpp bind_call.cpp bind_copy.cpp + bind_copy_database.cpp bind_create.cpp bind_create_table.cpp bind_delete.cpp @@ -24,8 +25,7 @@ add_library_unity( bind_simple.cpp bind_summarize.cpp bind_update.cpp - bind_vacuum.cpp - bind_show.cpp) + bind_vacuum.cpp) set(ALL_OBJECT_FILES ${ALL_OBJECT_FILES} $ PARENT_SCOPE) diff --git a/src/planner/binder/statement/bind_copy.cpp b/src/planner/binder/statement/bind_copy.cpp index 251fb01e0474..d696a2c296be 100644 --- a/src/planner/binder/statement/bind_copy.cpp +++ b/src/planner/binder/statement/bind_copy.cpp @@ -5,7 +5,6 @@ #include "duckdb/common/bind_helpers.hpp" #include "duckdb/common/filename_pattern.hpp" #include "duckdb/common/local_file_system.hpp" -#include "duckdb/execution/operator/scan/csv/parallel_csv_reader.hpp" #include "duckdb/function/table/read_csv.hpp" #include "duckdb/main/client_context.hpp" #include "duckdb/main/database.hpp" @@ -24,32 +23,8 @@ namespace duckdb { -vector GetUniqueNames(const vector &original_names) { - unordered_set name_set; - vector unique_names; - unique_names.reserve(original_names.size()); - - for (auto &name : original_names) { - auto insert_result = name_set.insert(name); - if (insert_result.second == false) { - // Could not be inserted, name already exists - idx_t index = 1; - string postfixed_name; - while (true) { - postfixed_name = StringUtil::Format("%s:%d", name, index); - auto res = name_set.insert(postfixed_name); - if (!res.second) { - index++; - continue; - } - break; - } - unique_names.push_back(postfixed_name); - } else { - unique_names.push_back(name); - } - } - return unique_names; +static bool GetBooleanArg(ClientContext &context, const vector &arg) { + return arg.empty() || arg[0].CastAs(context, LogicalType::BOOLEAN).GetValue(); } BoundStatement Binder::BindCopyTo(CopyStatement &stmt) { @@ -76,59 +51,76 @@ BoundStatement Binder::BindCopyTo(CopyStatement &stmt) { if (!copy_function.function.copy_to_bind) { throw NotImplementedException("COPY TO is not supported for FORMAT \"%s\"", stmt.info->format); } + bool use_tmp_file = true; bool overwrite_or_ignore = false; FilenamePattern filename_pattern; bool user_set_use_tmp_file = false; bool per_thread_output = false; + optional_idx file_size_bytes; vector partition_cols; + CopyFunctionBindInput bind_input(*stmt.info); + + bind_input.file_extension = copy_function.function.extension; + auto original_options = stmt.info->options; stmt.info->options.clear(); for (auto &option : original_options) { auto loption = StringUtil::Lower(option.first); if (loption == "use_tmp_file") { - use_tmp_file = - option.second.empty() || option.second[0].CastAs(context, LogicalType::BOOLEAN).GetValue(); + use_tmp_file = GetBooleanArg(context, option.second); user_set_use_tmp_file = true; - continue; - } - if (loption == "overwrite_or_ignore") { - overwrite_or_ignore = - option.second.empty() || option.second[0].CastAs(context, LogicalType::BOOLEAN).GetValue(); - continue; - } - if (loption == "filename_pattern") { + } else if (loption == "overwrite_or_ignore") { + overwrite_or_ignore = GetBooleanArg(context, option.second); + } else if (loption == "filename_pattern") { if (option.second.empty()) { throw IOException("FILENAME_PATTERN cannot be empty"); } filename_pattern.SetFilenamePattern( option.second[0].CastAs(context, LogicalType::VARCHAR).GetValue()); - continue; - } - - if (loption == "per_thread_output") { - per_thread_output = - option.second.empty() || option.second[0].CastAs(context, LogicalType::BOOLEAN).GetValue(); - continue; - } - if (loption == "partition_by") { + } else if (loption == "file_extension") { + if (option.second.empty()) { + throw IOException("FILE_EXTENSION cannot be empty"); + } + bind_input.file_extension = option.second[0].CastAs(context, LogicalType::VARCHAR).GetValue(); + } else if (loption == "per_thread_output") { + per_thread_output = GetBooleanArg(context, option.second); + } else if (loption == "file_size_bytes") { + if (option.second.empty()) { + throw BinderException("FILE_SIZE_BYTES cannot be empty"); + } + if (!copy_function.function.file_size_bytes) { + throw NotImplementedException("FILE_SIZE_BYTES not implemented for FORMAT \"%s\"", stmt.info->format); + } + if (option.second[0].GetTypeMutable().id() == LogicalTypeId::VARCHAR) { + file_size_bytes = DBConfig::ParseMemoryLimit(option.second[0].ToString()); + } else { + file_size_bytes = option.second[0].GetValue(); + } + } else if (loption == "partition_by") { auto converted = ConvertVectorToValue(std::move(option.second)); partition_cols = ParseColumnsOrdered(converted, select_node.names, loption); - continue; + } else { + stmt.info->options[option.first] = option.second; } - stmt.info->options[option.first] = option.second; } if (user_set_use_tmp_file && per_thread_output) { throw NotImplementedException("Can't combine USE_TMP_FILE and PER_THREAD_OUTPUT for COPY"); } + if (user_set_use_tmp_file && file_size_bytes.IsValid()) { + throw NotImplementedException("Can't combine USE_TMP_FILE and FILE_SIZE_BYTES for COPY"); + } if (user_set_use_tmp_file && !partition_cols.empty()) { throw NotImplementedException("Can't combine USE_TMP_FILE and PARTITION_BY for COPY"); } if (per_thread_output && !partition_cols.empty()) { throw NotImplementedException("Can't combine PER_THREAD_OUTPUT and PARTITION_BY for COPY"); } + if (file_size_bytes.IsValid() && !partition_cols.empty()) { + throw NotImplementedException("Can't combine FILE_SIZE_BYTES and PARTITION_BY for COPY"); + } bool is_remote_file = config.file_system->IsRemoteFile(stmt.info->file_path); if (is_remote_file) { use_tmp_file = false; @@ -140,18 +132,24 @@ BoundStatement Binder::BindCopyTo(CopyStatement &stmt) { } } - auto unique_column_names = GetUniqueNames(select_node.names); + auto unique_column_names = select_node.names; + QueryResult::DeduplicateColumns(unique_column_names); auto file_path = stmt.info->file_path; auto function_data = - copy_function.function.copy_to_bind(context, *stmt.info, unique_column_names, select_node.types); + copy_function.function.copy_to_bind(context, bind_input, unique_column_names, select_node.types); + // now create the copy information auto copy = make_uniq(copy_function.function, std::move(function_data), std::move(stmt.info)); copy->file_path = file_path; copy->use_tmp_file = use_tmp_file; copy->overwrite_or_ignore = overwrite_or_ignore; copy->filename_pattern = filename_pattern; + copy->file_extension = bind_input.file_extension; copy->per_thread_output = per_thread_output; + if (file_size_bytes.IsValid()) { + copy->file_size_bytes = file_size_bytes; + } copy->partition_output = !partition_cols.empty(); copy->partition_columns = std::move(partition_cols); diff --git a/src/planner/binder/statement/bind_copy_database.cpp b/src/planner/binder/statement/bind_copy_database.cpp new file mode 100644 index 000000000000..8a0047da3263 --- /dev/null +++ b/src/planner/binder/statement/bind_copy_database.cpp @@ -0,0 +1,187 @@ +#include "duckdb/catalog/catalog.hpp" +#include "duckdb/parser/statement/copy_database_statement.hpp" +#include "duckdb/catalog/catalog_entry/list.hpp" +#include "duckdb/parser/parsed_data/create_macro_info.hpp" +#include "duckdb/parser/parsed_data/create_schema_info.hpp" +#include "duckdb/parser/parsed_data/create_sequence_info.hpp" +#include "duckdb/parser/parsed_data/create_table_info.hpp" +#include "duckdb/parser/parsed_data/create_type_info.hpp" +#include "duckdb/parser/parsed_data/create_view_info.hpp" +#include "duckdb/planner/operator/logical_copy_database.hpp" +#include "duckdb/execution/operator/persistent/physical_export.hpp" +#include "duckdb/planner/operator/logical_create_table.hpp" +#include "duckdb/planner/operator/logical_set_operation.hpp" +#include "duckdb/parser/statement/select_statement.hpp" +#include "duckdb/parser/expression/star_expression.hpp" +#include "duckdb/parser/query_node/select_node.hpp" +#include "duckdb/parser/statement/insert_statement.hpp" +#include "duckdb/parser/tableref/basetableref.hpp" +#include "duckdb/planner/expression/bound_constant_expression.hpp" +#include "duckdb/planner/operator/logical_dummy_scan.hpp" +#include "duckdb/planner/operator/logical_expression_get.hpp" + +namespace duckdb { + +unique_ptr Binder::BindCopyDatabaseSchema(CopyDatabaseStatement &stmt, Catalog &from_database, + Catalog &to_database) { + auto from_schemas = from_database.GetSchemas(context); + + ExportEntries entries; + PhysicalExport::ExtractEntries(context, from_schemas, entries); + + auto info = make_uniq(from_database, to_database); + + // get a list of all schemas to copy over + for (auto &schema_ref : from_schemas) { + auto &schema = schema_ref.get().Cast(); + if (schema.internal) { + continue; + } + auto create_info = schema.GetInfo(); + create_info->catalog = to_database.GetName(); + create_info->on_conflict = OnCreateConflict::IGNORE_ON_CONFLICT; + info->entries.push_back(std::move(create_info)); + } + // get a list of all types to copy over + for (auto &seq_ref : entries.sequences) { + auto &seq_entry = seq_ref.get().Cast(); + if (seq_entry.internal) { + continue; + } + auto create_info = seq_entry.GetInfo(); + create_info->catalog = to_database.GetName(); + create_info->on_conflict = OnCreateConflict::ERROR_ON_CONFLICT; + info->entries.push_back(std::move(create_info)); + } + // get a list of all types to copy over + for (auto &type_ref : entries.custom_types) { + auto &type_entry = type_ref.get().Cast(); + if (type_entry.internal) { + continue; + } + auto create_info = type_entry.GetInfo(); + create_info->catalog = to_database.GetName(); + create_info->on_conflict = OnCreateConflict::ERROR_ON_CONFLICT; + info->entries.push_back(std::move(create_info)); + } + // get a list of all tables to copy over + for (auto &table_ref : entries.tables) { + auto &table = table_ref.get().Cast(); + if (table.internal) { + continue; + } + auto create_info = table.GetInfo(); + create_info->catalog = to_database.GetName(); + create_info->on_conflict = OnCreateConflict::ERROR_ON_CONFLICT; + info->entries.push_back(std::move(create_info)); + } + for (auto ¯o_ref : entries.macros) { + auto ¯o = macro_ref.get().Cast(); + if (macro.internal) { + continue; + } + auto create_info = macro.GetInfo(); + create_info->catalog = to_database.GetName(); + create_info->on_conflict = OnCreateConflict::ERROR_ON_CONFLICT; + info->entries.push_back(std::move(create_info)); + } + // get a list of all views to copy over + for (auto &view_ref : entries.views) { + auto &view = view_ref.get().Cast(); + if (view.internal) { + continue; + } + auto create_info = view.GetInfo(); + create_info->catalog = to_database.GetName(); + create_info->on_conflict = OnCreateConflict::ERROR_ON_CONFLICT; + info->entries.push_back(std::move(create_info)); + } + + // FIXME: copy indexes + return make_uniq(std::move(info)); +} + +unique_ptr Binder::BindCopyDatabaseData(CopyDatabaseStatement &stmt, Catalog &from_database, + Catalog &to_database) { + auto from_schemas = from_database.GetSchemas(context); + + ExportEntries entries; + PhysicalExport::ExtractEntries(context, from_schemas, entries); + + unique_ptr result; + for (auto &table_ref : entries.tables) { + auto &table = table_ref.get(); + // generate the insert statement + InsertStatement insert_stmt; + insert_stmt.catalog = stmt.to_database; + insert_stmt.schema = table.ParentSchema().name; + insert_stmt.table = table.name; + + auto from_tbl = make_uniq(); + from_tbl->catalog_name = stmt.from_database; + from_tbl->schema_name = table.ParentSchema().name; + from_tbl->table_name = table.name; + + auto select_node = make_uniq(); + select_node->select_list.push_back(make_uniq()); + select_node->from_table = std::move(from_tbl); + + auto select_stmt = make_uniq(); + select_stmt->node = std::move(select_node); + + insert_stmt.select_statement = std::move(select_stmt); + auto bound_insert = Bind(insert_stmt); + auto insert_plan = std::move(bound_insert.plan); + if (result) { + // use UNION ALL to combine the individual copy statements into a single node + auto copy_union = + make_uniq(GenerateTableIndex(), 1, std::move(insert_plan), std::move(result), + LogicalOperatorType::LOGICAL_UNION, true, false); + result = std::move(copy_union); + } else { + result = std::move(insert_plan); + } + } + if (!result) { + vector result_types; + result_types.push_back(LogicalType::BIGINT); + vector> expression_list; + expression_list.push_back(make_uniq(Value::BIGINT(0))); + vector>> expressions; + expressions.push_back(std::move(expression_list)); + result = make_uniq(GenerateTableIndex(), std::move(result_types), std::move(expressions)); + result->children.push_back(make_uniq(GenerateTableIndex())); + } + return result; +} + +BoundStatement Binder::Bind(CopyDatabaseStatement &stmt) { + BoundStatement result; + + unique_ptr plan; + auto &from_database = Catalog::GetCatalog(context, stmt.from_database); + auto &to_database = Catalog::GetCatalog(context, stmt.to_database); + if (&from_database == &to_database) { + throw BinderException("Cannot copy from \"%s\" to \"%s\" - FROM and TO databases are the same", + stmt.from_database, stmt.to_database); + } + if (stmt.copy_type == CopyDatabaseType::COPY_SCHEMA) { + result.types = {LogicalType::BOOLEAN}; + result.names = {"Success"}; + + plan = BindCopyDatabaseSchema(stmt, from_database, to_database); + } else { + result.types = {LogicalType::BIGINT}; + result.names = {"Count"}; + + plan = BindCopyDatabaseData(stmt, from_database, to_database); + } + + result.plan = std::move(plan); + properties.allow_stream_result = false; + properties.return_type = StatementReturnType::NOTHING; + properties.modified_databases.insert(stmt.to_database); + return result; +} + +} // namespace duckdb diff --git a/src/planner/binder/statement/bind_create.cpp b/src/planner/binder/statement/bind_create.cpp index 1a5722288603..fef6365380e2 100644 --- a/src/planner/binder/statement/bind_create.cpp +++ b/src/planner/binder/statement/bind_create.cpp @@ -3,6 +3,7 @@ #include "duckdb/catalog/catalog_entry/duck_table_entry.hpp" #include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp" +#include "duckdb/main/secret/secret_manager.hpp" #include "duckdb/main/client_context.hpp" #include "duckdb/main/database.hpp" #include "duckdb/parser/expression/constant_expression.hpp" @@ -14,6 +15,7 @@ #include "duckdb/parser/parsed_data/create_macro_info.hpp" #include "duckdb/parser/parsed_data/create_view_info.hpp" #include "duckdb/parser/tableref/table_function_ref.hpp" +#include "duckdb/parser/parsed_data/create_secret_info.hpp" #include "duckdb/parser/parsed_expression_iterator.hpp" #include "duckdb/parser/statement/create_statement.hpp" #include "duckdb/planner/binder.hpp" @@ -39,6 +41,7 @@ #include "duckdb/main/attached_database.hpp" #include "duckdb/catalog/duck_catalog.hpp" #include "duckdb/function/table/table_scan.hpp" +#include "duckdb/parser/tableref/basetableref.hpp" namespace duckdb { @@ -136,12 +139,8 @@ void Binder::BindCreateViewInfo(CreateViewInfo &base) { if (base.aliases.size() > query_node.names.size()) { throw BinderException("More VIEW aliases than columns in query result"); } - // fill up the aliases with the remaining names of the bound query - base.aliases.reserve(query_node.names.size()); - for (idx_t i = base.aliases.size(); i < query_node.names.size(); i++) { - base.aliases.push_back(query_node.names[i]); - } base.types = query_node.types; + base.names = query_node.names; } SchemaCatalogEntry &Binder::BindCreateFunctionInfo(CreateInfo &info) { @@ -156,8 +155,8 @@ SchemaCatalogEntry &Binder::BindCreateFunctionInfo(CreateInfo &info) { vector dummy_types; vector dummy_names; // positional parameters - for (idx_t i = 0; i < base.function->parameters.size(); i++) { - auto param = base.function->parameters[i]->Cast(); + for (auto ¶m_expr : base.function->parameters) { + auto param = param_expr->Cast(); if (param.IsQualified()) { throw BinderException("Invalid parameter name '%s': must be unqualified", param.ToString()); } @@ -165,27 +164,27 @@ SchemaCatalogEntry &Binder::BindCreateFunctionInfo(CreateInfo &info) { dummy_names.push_back(param.GetColumnName()); } // default parameters - for (auto it = base.function->default_parameters.begin(); it != base.function->default_parameters.end(); it++) { - auto &val = it->second->Cast(); + for (auto &entry : base.function->default_parameters) { + auto &val = entry.second->Cast(); dummy_types.push_back(val.value.type()); - dummy_names.push_back(it->first); + dummy_names.push_back(entry.first); } auto this_macro_binding = make_uniq(dummy_types, dummy_names, base.name); macro_binding = this_macro_binding.get(); - ExpressionBinder::QualifyColumnNames(*this, scalar_function.expression); // create a copy of the expression because we do not want to alter the original auto expression = scalar_function.expression->Copy(); + ExpressionBinder::QualifyColumnNames(*this, expression); // bind it to verify the function was defined correctly - string error; + ErrorData error; auto sel_node = make_uniq(); auto group_info = make_uniq(); SelectBinder binder(*this, context, *sel_node, *group_info); error = binder.Bind(expression, 0, false); - if (!error.empty()) { - throw BinderException(error); + if (error.HasError()) { + error.Throw(); } return BindCreateSchema(info); @@ -214,6 +213,13 @@ void Binder::BindLogicalType(ClientContext &context, LogicalType &type, optional auto alias = type.GetAlias(); type = LogicalType::STRUCT(child_types); type.SetAlias(alias); + } else if (type.id() == LogicalTypeId::ARRAY) { + auto child_type = ArrayType::GetChildType(type); + auto array_size = ArrayType::GetSize(type); + BindLogicalType(context, child_type, catalog, schema); + auto alias = type.GetAlias(); + type = LogicalType::ARRAY(child_type, array_size); + type.SetAlias(alias); } else if (type.id() == LogicalTypeId::UNION) { auto member_types = UnionType::CopyMemberTypes(type); for (auto &member_type : member_types) { @@ -237,10 +243,13 @@ void Binder::BindLogicalType(ClientContext &context, LogicalType &type, optional } if (type.id() == LogicalTypeId::INVALID) { - type = Catalog::GetType(context, INVALID_CATALOG, schema, user_type_name); + type = Catalog::GetType(context, INVALID_CATALOG, INVALID_SCHEMA, user_type_name); } } else { - type = Catalog::GetType(context, INVALID_CATALOG, schema, user_type_name); + string type_catalog = UserType::GetCatalog(type); + string type_schema = UserType::GetSchema(type); + BindSchemaOrCatalog(context, type_catalog, type_schema); + type = Catalog::GetType(context, type_catalog, type_schema, user_type_name); } BindLogicalType(context, type, catalog, schema); } @@ -623,19 +632,26 @@ BoundStatement Binder::Bind(CreateStatement &stmt) { result.plan->AddChild(std::move(query)); } else if (create_type_info.type.id() == LogicalTypeId::USER) { // two cases: - // 1: create a type with a non-existant type as source, catalog.GetType(...) will throw exception. + // 1: create a type with a non-existent type as source, Binder::BindLogicalType(...) will throw exception. // 2: create a type alias with a custom type. // eg. CREATE TYPE a AS INT; CREATE TYPE b AS a; // We set b to be an alias for the underlying type of a - auto inner_type = Catalog::GetType(context, schema.catalog.GetName(), schema.name, - UserType::GetTypeName(create_type_info.type)); - inner_type.SetAlias(create_type_info.name); - create_type_info.type = inner_type; + create_type_info.type = Catalog::GetType(context, schema.catalog.GetName(), schema.name, + UserType::GetTypeName(create_type_info.type)); + } else { + auto preserved_type = create_type_info.type; + BindLogicalType(context, create_type_info.type); + create_type_info.type = preserved_type; } break; } + case CatalogType::SECRET_ENTRY: { + CatalogTransaction transaction = CatalogTransaction(Catalog::GetSystemCatalog(context), context); + properties.return_type = StatementReturnType::QUERY_RESULT; + return SecretManager::Get(context).BindCreateSecret(transaction, stmt.info->Cast()); + } default: - throw Exception("Unrecognized type!"); + throw InternalException("Unrecognized type!"); } properties.return_type = StatementReturnType::NOTHING; properties.allow_stream_result = false; diff --git a/src/planner/binder/statement/bind_create_table.cpp b/src/planner/binder/statement/bind_create_table.cpp index eff11c73e3bd..683c475ddb99 100644 --- a/src/planner/binder/statement/bind_create_table.cpp +++ b/src/planner/binder/statement/bind_create_table.cpp @@ -19,6 +19,7 @@ #include "duckdb/planner/expression_iterator.hpp" #include "duckdb/planner/expression_binder/index_binder.hpp" #include "duckdb/parser/parsed_data/create_index_info.hpp" +#include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp" #include @@ -170,9 +171,9 @@ void Binder::BindGeneratedColumns(BoundCreateTableInfo &info) { auto binder = Binder::CreateBinder(context); binder->bind_context.AddGenericBinding(table_index, base.table, names, types); auto expr_binder = ExpressionBinder(*binder, context); - string ignore; + ErrorData ignore; auto table_binding = binder->bind_context.GetBinding(base.table, ignore); - D_ASSERT(table_binding && ignore.empty()); + D_ASSERT(table_binding && !ignore.HasError()); auto bind_order = info.column_dependency_manager.GetBindOrder(base.columns); logical_index_set_t bound_indices; @@ -211,10 +212,13 @@ void Binder::BindGeneratedColumns(BoundCreateTableInfo &info) { void Binder::BindDefaultValues(const ColumnList &columns, vector> &bound_defaults) { for (auto &column : columns.Physical()) { unique_ptr bound_default; - if (column.DefaultValue()) { + if (column.HasDefaultValue()) { // we bind a copy of the DEFAULT value because binding is destructive // and we want to keep the original expression around for serialization - auto default_copy = column.DefaultValue()->Copy(); + auto default_copy = column.DefaultValue().Copy(); + if (default_copy->HasParameter()) { + throw BinderException("DEFAULT values cannot contain parameters"); + } ConstantBinder default_binder(*this, context, "DEFAULT value"); default_binder.target_type = column.Type(); bound_default = default_binder.Bind(default_copy); @@ -304,15 +308,4 @@ unique_ptr Binder::BindCreateTableInfo(unique_ptr> Binder::BindCreateIndexExpressions(TableCatalogEntry &table, CreateIndexInfo &info) { - auto index_binder = IndexBinder(*this, this->context, &table, &info); - vector> expressions; - expressions.reserve(info.expressions.size()); - for (auto &expr : info.expressions) { - expressions.push_back(index_binder.Bind(expr)); - } - - return expressions; -} - } // namespace duckdb diff --git a/src/planner/binder/statement/bind_drop.cpp b/src/planner/binder/statement/bind_drop.cpp index 056c70b6d82c..65baae2ef5bd 100644 --- a/src/planner/binder/statement/bind_drop.cpp +++ b/src/planner/binder/statement/bind_drop.cpp @@ -50,8 +50,13 @@ BoundStatement Binder::Bind(DropStatement &stmt) { stmt.info->schema = entry->ParentSchema().name; break; } + case CatalogType::SECRET_ENTRY: { + //! Secrets are stored in the secret manager; they can always be dropped + properties.requires_valid_transaction = false; + break; + } default: - throw BinderException("Unknown catalog type for drop statement!"); + throw BinderException("Unknown catalog type for drop statement: '%s'", CatalogTypeToString(stmt.info->type)); } result.plan = make_uniq(LogicalOperatorType::LOGICAL_DROP, std::move(stmt.info)); result.names = {"Success"}; diff --git a/src/planner/binder/statement/bind_export.cpp b/src/planner/binder/statement/bind_export.cpp index be0367bd65b0..380145eb53ac 100644 --- a/src/planner/binder/statement/bind_export.cpp +++ b/src/planner/binder/statement/bind_export.cpp @@ -284,7 +284,7 @@ BoundStatement Binder::Bind(ExportStatement &stmt) { auto full_path = fs.JoinPath(directory, name); info->file_path = full_path; auto insert_result = table_name_index.insert(info->file_path); - if (insert_result.second == true) { + if (insert_result.second) { // this name was not yet taken: take it break; } @@ -326,7 +326,7 @@ BoundStatement Binder::Bind(ExportStatement &stmt) { if (child_operator) { // use UNION ALL to combine the individual copy statements into a single node auto copy_union = make_uniq(GenerateTableIndex(), 1, std::move(child_operator), - std::move(plan), LogicalOperatorType::LOGICAL_UNION); + std::move(plan), LogicalOperatorType::LOGICAL_UNION, true); child_operator = std::move(copy_union); } else { child_operator = std::move(plan); diff --git a/src/planner/binder/statement/bind_insert.cpp b/src/planner/binder/statement/bind_insert.cpp index 599b23aa9b6c..d8a252af077d 100644 --- a/src/planner/binder/statement/bind_insert.cpp +++ b/src/planner/binder/statement/bind_insert.cpp @@ -26,6 +26,7 @@ #include "duckdb/planner/tableref/bound_dummytableref.hpp" #include "duckdb/parser/parsed_expression_iterator.hpp" #include "duckdb/storage/table_storage_info.hpp" +#include "duckdb/parser/tableref/basetableref.hpp" namespace duckdb { @@ -41,8 +42,8 @@ static void CheckInsertColumnCountMismatch(int64_t expected_columns, int64_t res } unique_ptr ExpandDefaultExpression(const ColumnDefinition &column) { - if (column.DefaultValue()) { - return column.DefaultValue()->Copy(); + if (column.HasDefaultValue()) { + return column.DefaultValue().Copy(); } else { return make_uniq(Value(column.Type())); } @@ -269,12 +270,13 @@ void Binder::BindOnConflictClause(LogicalInsert &insert, TableCatalogEntry &tabl if (!found_matching_indexes) { throw BinderException( "There are no UNIQUE/PRIMARY KEY Indexes that refer to this table, ON CONFLICT is a no-op"); - } - if (insert.action_type != OnConflictAction::NOTHING && found_matching_indexes != 1) { - // When no conflict target is provided, and the action type is UPDATE, - // we only allow the operation when only a single Index exists - throw BinderException("Conflict target has to be provided for a DO UPDATE operation when the table has " - "multiple UNIQUE/PRIMARY KEY constraints"); + } else if (storage_info.index_info.size() != 1) { + if (insert.action_type != OnConflictAction::NOTHING) { + // When no conflict target is provided, and the action type is UPDATE, + // we only allow the operation when only a single Index exists + throw BinderException("Conflict target has to be provided for a DO UPDATE operation when the table has " + "multiple UNIQUE/PRIMARY KEY constraints"); + } } } @@ -322,9 +324,9 @@ void Binder::BindOnConflictClause(LogicalInsert &insert, TableCatalogEntry &tabl throw InternalException("Could not locate a table_index from the children of the insert"); } - string unused; + ErrorData unused; auto original_binding = bind_context.GetBinding(table_alias, unused); - D_ASSERT(original_binding); + D_ASSERT(original_binding && !unused.HasError()); auto table_index = original_binding->index; diff --git a/src/planner/binder/statement/bind_pragma.cpp b/src/planner/binder/statement/bind_pragma.cpp index 5e7bb420828a..12f30e92c20a 100644 --- a/src/planner/binder/statement/bind_pragma.cpp +++ b/src/planner/binder/statement/bind_pragma.cpp @@ -4,33 +4,57 @@ #include "duckdb/catalog/catalog_entry/pragma_function_catalog_entry.hpp" #include "duckdb/catalog/catalog.hpp" #include "duckdb/function/function_binder.hpp" +#include "duckdb/planner/expression_binder/constant_binder.hpp" +#include "duckdb/execution/expression_executor.hpp" namespace duckdb { -BoundStatement Binder::Bind(PragmaStatement &stmt) { +unique_ptr Binder::BindPragma(PragmaInfo &info, QueryErrorContext error_context) { + vector params; + named_parameter_map_t named_parameters; + + // resolve the parameters + ConstantBinder pragma_binder(*this, context, "PRAGMA value"); + for (auto ¶m : info.parameters) { + auto bound_value = pragma_binder.Bind(param); + auto value = ExpressionExecutor::EvaluateScalar(context, *bound_value, true); + params.push_back(std::move(value)); + } + + for (auto &entry : info.named_parameters) { + auto bound_value = pragma_binder.Bind(entry.second); + auto value = ExpressionExecutor::EvaluateScalar(context, *bound_value, true); + named_parameters.insert(make_pair(entry.first, std::move(value))); + } + // bind the pragma function - auto &entry = - Catalog::GetEntry(context, INVALID_CATALOG, DEFAULT_SCHEMA, stmt.info->name); - string error; + auto &entry = Catalog::GetEntry(context, INVALID_CATALOG, DEFAULT_SCHEMA, info.name); FunctionBinder function_binder(context); - idx_t bound_idx = function_binder.BindFunction(entry.name, entry.functions, *stmt.info, error); + ErrorData error; + idx_t bound_idx = function_binder.BindFunction(entry.name, entry.functions, params, error); if (bound_idx == DConstants::INVALID_INDEX) { - throw BinderException(FormatError(stmt.stmt_location, error)); + D_ASSERT(error.HasError()); + error.AddQueryLocation(error_context); + error.Throw(); } auto bound_function = entry.functions.GetFunctionByOffset(bound_idx); - if (!bound_function.function) { + // bind and check named params + BindNamedParameters(bound_function.named_parameters, named_parameters, error_context, bound_function.name); + return make_uniq(std::move(bound_function), std::move(params), std::move(named_parameters)); +} + +BoundStatement Binder::Bind(PragmaStatement &stmt) { + // bind the pragma function + QueryErrorContext error_context(stmt.stmt_location); + auto bound_info = BindPragma(*stmt.info, error_context); + if (!bound_info->function.function) { throw BinderException("PRAGMA function does not have a function specified"); } - // bind and check named params - QueryErrorContext error_context(root_statement, stmt.stmt_location); - BindNamedParameters(bound_function.named_parameters, stmt.info->named_parameters, error_context, - bound_function.name); - BoundStatement result; result.names = {"Success"}; result.types = {LogicalType::BOOLEAN}; - result.plan = make_uniq(bound_function, *stmt.info); + result.plan = make_uniq(std::move(bound_info)); properties.return_type = StatementReturnType::QUERY_RESULT; return result; } diff --git a/src/planner/binder/statement/bind_set.cpp b/src/planner/binder/statement/bind_set.cpp index c9984530f6bc..15f33d31faea 100644 --- a/src/planner/binder/statement/bind_set.cpp +++ b/src/planner/binder/statement/bind_set.cpp @@ -2,7 +2,8 @@ #include "duckdb/planner/binder.hpp" #include "duckdb/planner/operator/logical_set.hpp" #include "duckdb/planner/operator/logical_reset.hpp" -#include +#include "duckdb/execution/expression_executor.hpp" +#include "duckdb/planner/expression_binder/constant_binder.hpp" namespace duckdb { @@ -11,7 +12,12 @@ BoundStatement Binder::Bind(SetVariableStatement &stmt) { result.types = {LogicalType::BOOLEAN}; result.names = {"Success"}; - result.plan = make_uniq(stmt.name, stmt.value, stmt.scope); + // evaluate the scalar value + ConstantBinder default_binder(*this, context, "SET value"); + auto bound_value = default_binder.Bind(stmt.value); + auto value = ExpressionExecutor::EvaluateScalar(context, *bound_value, true); + + result.plan = make_uniq(stmt.name, std::move(value), stmt.scope); properties.return_type = StatementReturnType::NOTHING; return result; } diff --git a/src/planner/binder/statement/bind_show.cpp b/src/planner/binder/statement/bind_show.cpp deleted file mode 100644 index a6a50e2b3fc5..000000000000 --- a/src/planner/binder/statement/bind_show.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include "duckdb/planner/binder.hpp" -#include "duckdb/parser/statement/show_statement.hpp" -#include "duckdb/planner/operator/logical_show.hpp" - -namespace duckdb { - -BoundStatement Binder::Bind(ShowStatement &stmt) { - BoundStatement result; - - if (stmt.info->is_summary) { - return BindSummarize(stmt); - } - auto plan = Bind(*stmt.info->query); - stmt.info->types = plan.types; - stmt.info->aliases = plan.names; - - auto show = make_uniq(std::move(plan.plan)); - show->types_select = plan.types; - show->aliases = plan.names; - - result.plan = std::move(show); - - result.names = {"column_name", "column_type", "null", "key", "default", "extra"}; - result.types = {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR, - LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR}; - properties.return_type = StatementReturnType::QUERY_RESULT; - return result; -} - -} // namespace duckdb diff --git a/src/planner/binder/statement/bind_simple.cpp b/src/planner/binder/statement/bind_simple.cpp index 272abd1032a4..3d1b73f016ce 100644 --- a/src/planner/binder/statement/bind_simple.cpp +++ b/src/planner/binder/statement/bind_simple.cpp @@ -17,9 +17,11 @@ BoundStatement Binder::Bind(AlterStatement &stmt) { result.names = {"Success"}; result.types = {LogicalType::BOOLEAN}; BindSchemaOrCatalog(stmt.info->catalog, stmt.info->schema); + auto entry = Catalog::GetEntry(context, stmt.info->GetCatalogType(), stmt.info->catalog, stmt.info->schema, stmt.info->name, stmt.info->if_not_found); if (entry) { + D_ASSERT(!entry->deleted); auto &catalog = entry->ParentCatalog(); if (!entry->temporary) { // we can only alter temporary tables/views in read-only mode diff --git a/src/planner/binder/statement/bind_summarize.cpp b/src/planner/binder/statement/bind_summarize.cpp index c46cd9f71f51..e8eb87f3e381 100644 --- a/src/planner/binder/statement/bind_summarize.cpp +++ b/src/planner/binder/statement/bind_summarize.cpp @@ -1,11 +1,13 @@ #include "duckdb/planner/binder.hpp" -#include "duckdb/parser/statement/show_statement.hpp" -#include "duckdb/planner/operator/logical_show.hpp" #include "duckdb/parser/query_node/select_node.hpp" #include "duckdb/parser/expression/function_expression.hpp" #include "duckdb/parser/expression/constant_expression.hpp" #include "duckdb/parser/expression/cast_expression.hpp" #include "duckdb/parser/tableref/subqueryref.hpp" +#include "duckdb/parser/tableref/showref.hpp" +#include "duckdb/parser/tableref/basetableref.hpp" +#include "duckdb/parser/expression/star_expression.hpp" +#include "duckdb/planner/bound_tableref.hpp" namespace duckdb { @@ -61,20 +63,30 @@ static unique_ptr SummarizeCreateNullPercentage(string column_ SummarizeCreateBinaryFunction("-", make_uniq(Value::DOUBLE(1)), std::move(null_percentage)); auto percentage_x = SummarizeCreateBinaryFunction("*", std::move(negate_x), make_uniq(Value::DOUBLE(100))); - auto round_x = SummarizeCreateBinaryFunction("round", std::move(percentage_x), - make_uniq(Value::INTEGER(2))); - auto concat_x = - SummarizeCreateBinaryFunction("concat", std::move(round_x), make_uniq(Value("%"))); - return concat_x; + return make_uniq(LogicalType::DECIMAL(9, 2), std::move(percentage_x)); } -BoundStatement Binder::BindSummarize(ShowStatement &stmt) { - auto query_copy = stmt.info->query->Copy(); +unique_ptr Binder::BindSummarize(ShowRef &ref) { + unique_ptr query; + if (ref.query) { + query = std::move(ref.query); + } else { + auto table_name = QualifiedName::Parse(ref.table_name); + auto node = make_uniq(); + node->select_list.push_back(make_uniq()); + auto basetableref = make_uniq(); + basetableref->catalog_name = table_name.catalog; + basetableref->schema_name = table_name.schema; + basetableref->table_name = table_name.name; + node->from_table = std::move(basetableref); + query = std::move(node); + } + auto query_copy = query->Copy(); // we bind the plan once in a child-node to figure out the column names and column types - auto child_binder = Binder::CreateBinder(context); - auto plan = child_binder->Bind(*stmt.info->query); + auto child_binder = Binder::CreateBinder(context, this); + auto plan = child_binder->Bind(*query); D_ASSERT(plan.types.size() == plan.names.size()); vector> name_children; vector> type_children; @@ -95,7 +107,8 @@ BoundStatement Binder::BindSummarize(ShowStatement &stmt) { type_children.push_back(make_uniq(Value(plan.types[i].ToString()))); min_children.push_back(SummarizeCreateAggregate("min", plan.names[i])); max_children.push_back(SummarizeCreateAggregate("max", plan.names[i])); - unique_children.push_back(SummarizeCreateAggregate("approx_count_distinct", plan.names[i])); + unique_children.push_back(make_uniq( + LogicalType::BIGINT, SummarizeCreateAggregate("approx_count_distinct", plan.names[i]))); if (plan.types[i].IsNumeric()) { avg_children.push_back(SummarizeCreateAggregate("avg", plan.names[i])); std_children.push_back(SummarizeCreateAggregate("stddev", plan.names[i])); @@ -130,8 +143,10 @@ BoundStatement Binder::BindSummarize(ShowStatement &stmt) { select_node->select_list.push_back(SummarizeWrapUnnest(null_percentage_children, "null_percentage")); select_node->from_table = std::move(subquery_ref); - properties.return_type = StatementReturnType::QUERY_RESULT; - return Bind(*select_node); + auto select_stmt = make_uniq(); + select_stmt->node = std::move(select_node); + auto subquery = make_uniq(std::move(select_stmt)); + return Bind(*subquery); } } // namespace duckdb diff --git a/src/planner/binder/statement/bind_vacuum.cpp b/src/planner/binder/statement/bind_vacuum.cpp index fc36d55a2227..c7aaa0abb61a 100644 --- a/src/planner/binder/statement/bind_vacuum.cpp +++ b/src/planner/binder/statement/bind_vacuum.cpp @@ -51,7 +51,7 @@ BoundStatement Binder::Bind(VacuumStatement &stmt) { ColumnRefExpression colref(col_name, table.name); auto result = bind_context.BindColumn(colref, 0); if (result.HasError()) { - throw BinderException(result.error); + result.error.Throw(); } select_list.push_back(std::move(result.expression)); } diff --git a/src/planner/binder/tableref/CMakeLists.txt b/src/planner/binder/tableref/CMakeLists.txt index 07e5d3abed19..f7002e01c650 100644 --- a/src/planner/binder/tableref/CMakeLists.txt +++ b/src/planner/binder/tableref/CMakeLists.txt @@ -6,6 +6,7 @@ add_library_unity( bind_expressionlistref.cpp bind_joinref.cpp bind_pivot.cpp + bind_showref.cpp bind_subqueryref.cpp bind_table_function.cpp bind_named_parameters.cpp diff --git a/src/planner/binder/tableref/bind_basetableref.cpp b/src/planner/binder/tableref/bind_basetableref.cpp index 3a4a0d6d5100..f8d04c5bf344 100644 --- a/src/planner/binder/tableref/bind_basetableref.cpp +++ b/src/planner/binder/tableref/bind_basetableref.cpp @@ -75,7 +75,7 @@ unique_ptr Binder::BindWithReplacementScan(ClientContext &context } unique_ptr Binder::Bind(BaseTableRef &ref) { - QueryErrorContext error_context(root_statement, ref.query_location); + QueryErrorContext error_context(ref.query_location); // CTEs and views are also referred to using BaseTableRefs, hence need to distinguish here // check if the table name refers to a CTE @@ -225,8 +225,13 @@ unique_ptr Binder::Bind(BaseTableRef &ref) { view_binder->can_contain_nulls = true; SubqueryRef subquery(unique_ptr_cast(view_catalog_entry.query->Copy())); subquery.alias = ref.alias.empty() ? ref.table_name : ref.alias; - subquery.column_name_alias = - BindContext::AliasColumnNames(subquery.alias, view_catalog_entry.aliases, ref.column_name_alias); + // construct view names by first (1) taking the view aliases, (2) adding the view names, then (3) applying + // subquery aliases + vector view_names = view_catalog_entry.aliases; + for (idx_t n = view_names.size(); n < view_catalog_entry.names.size(); n++) { + view_names.push_back(view_catalog_entry.names[n]); + } + subquery.column_name_alias = BindContext::AliasColumnNames(subquery.alias, view_names, ref.column_name_alias); // bind the child subquery view_binder->AddBoundView(view_catalog_entry); auto bound_child = view_binder->Bind(subquery); @@ -237,9 +242,14 @@ unique_ptr Binder::Bind(BaseTableRef &ref) { D_ASSERT(bound_child->type == TableReferenceType::SUBQUERY); // verify that the types and names match up with the expected types and names auto &bound_subquery = bound_child->Cast(); - if (GetBindingMode() != BindingMode::EXTRACT_NAMES && - bound_subquery.subquery->types != view_catalog_entry.types) { - throw BinderException("Contents of view were altered: types don't match!"); + if (GetBindingMode() != BindingMode::EXTRACT_NAMES) { + if (bound_subquery.subquery->types != view_catalog_entry.types) { + throw BinderException("Contents of view were altered: types don't match!"); + } + if (bound_subquery.subquery->names.size() == view_catalog_entry.names.size() && + bound_subquery.subquery->names != view_catalog_entry.names) { + throw BinderException("Contents of view were altered: names don't match!"); + } } bind_context.AddView(bound_subquery.subquery->GetRootIndex(), subquery.alias, subquery, *bound_subquery.subquery, &view_catalog_entry); diff --git a/src/planner/binder/tableref/bind_expressionlistref.cpp b/src/planner/binder/tableref/bind_expressionlistref.cpp index a506764b208d..7176fb682a28 100644 --- a/src/planner/binder/tableref/bind_expressionlistref.cpp +++ b/src/planner/binder/tableref/bind_expressionlistref.cpp @@ -11,6 +11,7 @@ unique_ptr Binder::Bind(ExpressionListRef &expr) { auto result = make_uniq(); result->types = expr.expected_types; result->names = expr.expected_names; + auto prev_can_contain_nulls = this->can_contain_nulls; // bind value list InsertBinder binder(*this, context); binder.target_type = LogicalType(LogicalTypeId::INVALID); @@ -23,16 +24,18 @@ unique_ptr Binder::Bind(ExpressionListRef &expr) { } } + this->can_contain_nulls = true; vector> list; for (idx_t val_idx = 0; val_idx < expression_list.size(); val_idx++) { if (!result->types.empty()) { D_ASSERT(result->types.size() == expression_list.size()); binder.target_type = result->types[val_idx]; } - auto expr = binder.Bind(expression_list[val_idx]); - list.push_back(std::move(expr)); + auto bound_expr = binder.Bind(expression_list[val_idx]); + list.push_back(std::move(bound_expr)); } result->values.push_back(std::move(list)); + this->can_contain_nulls = prev_can_contain_nulls; } if (result->types.empty() && !expr.values.empty()) { // there are no types specified @@ -44,10 +47,14 @@ unique_ptr Binder::Bind(ExpressionListRef &expr) { for (idx_t list_idx = 0; list_idx < result->values.size(); list_idx++) { auto &list = result->values[list_idx]; for (idx_t val_idx = 0; val_idx < list.size(); val_idx++) { - result->types[val_idx] = - LogicalType::MaxLogicalType(result->types[val_idx], list[val_idx]->return_type); + auto ¤t_type = result->types[val_idx]; + auto next_type = ExpressionBinder::GetExpressionReturnType(*list[val_idx]); + result->types[val_idx] = LogicalType::MaxLogicalType(context, current_type, next_type); } } + for (auto &type : result->types) { + type = LogicalType::NormalizeType(type); + } // finally do another loop over the expressions and add casts where required for (idx_t list_idx = 0; list_idx < result->values.size(); list_idx++) { auto &list = result->values[list_idx]; diff --git a/src/planner/binder/tableref/bind_joinref.cpp b/src/planner/binder/tableref/bind_joinref.cpp index a8a0c9ede9c2..1de85aa36a1c 100644 --- a/src/planner/binder/tableref/bind_joinref.cpp +++ b/src/planner/binder/tableref/bind_joinref.cpp @@ -205,7 +205,7 @@ unique_ptr Binder::Bind(JoinRef &ref) { } error_msg += "\n Left candidates: " + left_candidates; error_msg += "\n Right candidates: " + right_candidates; - throw BinderException(FormatError(ref, error_msg)); + throw BinderException(ref, error_msg); } break; } diff --git a/src/planner/binder/tableref/bind_named_parameters.cpp b/src/planner/binder/tableref/bind_named_parameters.cpp index e7d9fa1e29b7..e2a6537d1832 100644 --- a/src/planner/binder/tableref/bind_named_parameters.cpp +++ b/src/planner/binder/tableref/bind_named_parameters.cpp @@ -22,8 +22,8 @@ void Binder::BindNamedParameters(named_parameter_type_map_t &types, named_parame } else { error_msg = "Candidates:\n" + named_params; } - throw BinderException(error_context.FormatError("Invalid named parameter \"%s\" for function %s\n%s", - kv.first, func_name, error_msg)); + throw BinderException(error_context, "Invalid named parameter \"%s\" for function %s\n%s", kv.first, + func_name, error_msg); } if (entry->second.id() != LogicalTypeId::ANY) { kv.second = kv.second.DefaultCastAs(entry->second); diff --git a/src/planner/binder/tableref/bind_pivot.cpp b/src/planner/binder/tableref/bind_pivot.cpp index ed474f243683..3ca1a8879261 100644 --- a/src/planner/binder/tableref/bind_pivot.cpp +++ b/src/planner/binder/tableref/bind_pivot.cpp @@ -108,7 +108,8 @@ static unique_ptr PivotFilteredAggregate(PivotRef &ref, vector(LogicalType::VARCHAR, pivot_expr->Copy()); - auto constant_value = make_uniq(pivot_value.values[pivot_value_idx++]); + auto constant_value = make_uniq( + pivot_value.values[pivot_value_idx++].DefaultCastAs(LogicalType::VARCHAR)); auto comp_expr = make_uniq(ExpressionType::COMPARE_NOT_DISTINCT_FROM, std::move(column_ref), std::move(constant_value)); if (filter) { @@ -355,13 +356,13 @@ unique_ptr Binder::BindPivot(PivotRef &ref, vectortype != ExpressionType::FUNCTION) { - throw BinderException(FormatError(*aggr, "Pivot expression must be an aggregate")); + throw BinderException(*aggr, "Pivot expression must be an aggregate"); } if (aggr->HasSubquery()) { - throw BinderException(FormatError(*aggr, "Pivot expression cannot contain subqueries")); + throw BinderException(*aggr, "Pivot expression cannot contain subqueries"); } if (aggr->IsWindow()) { - throw BinderException(FormatError(*aggr, "Pivot expression cannot contain window functions")); + throw BinderException(*aggr, "Pivot expression cannot contain window functions"); } // bind the function as an aggregate to ensure it is an aggregate and not a scalar function auto &aggr_function = aggr->Cast(); @@ -376,9 +377,8 @@ unique_ptr Binder::BindPivot(PivotRef &ref, vector Binder::BindPivot(PivotRef &ref, vector Binder::BindPivot(PivotRef &ref, vector= pivot_limit) { - throw BinderException("Pivot column limit of %llu exceeded. Use SET pivot_limit=X to increase the limit.", + throw BinderException(ref, "Pivot column limit of %llu exceeded. Use SET pivot_limit=X to increase the limit.", client_config.pivot_limit); } @@ -527,8 +526,8 @@ unique_ptr Binder::BindUnpivot(Binder &child_binder, PivotRef &ref, } if (!handled_columns.empty()) { for (auto &entry : handled_columns) { - throw BinderException("Column \"%s\" referenced in UNPIVOT but no matching entry was found in the table", - entry); + throw BinderException( + ref, "Column \"%s\" referenced in UNPIVOT but no matching entry was found in the table", entry); } } vector unpivot_names; @@ -550,6 +549,7 @@ unique_ptr Binder::BindUnpivot(Binder &child_binder, PivotRef &ref, for (idx_t v_idx = 1; v_idx < unpivot.entries.size(); v_idx++) { if (unpivot.entries[v_idx].values.size() != unpivot.entries[0].values.size()) { throw BinderException( + ref, "UNPIVOT value count mismatch - entry has %llu values, but expected all entries to have %llu values", unpivot.entries[v_idx].values.size(), unpivot.entries[0].values.size()); } @@ -559,7 +559,8 @@ unique_ptr Binder::BindUnpivot(Binder &child_binder, PivotRef &ref, vector> expressions; expressions.reserve(unpivot.entries.size()); for (auto &entry : unpivot.entries) { - expressions.push_back(make_uniq(entry.values[v_idx].ToString())); + auto colref = make_uniq(entry.values[v_idx].ToString()); + expressions.push_back(std::move(colref)); } unpivot_expressions.push_back(std::move(expressions)); } @@ -575,8 +576,8 @@ unique_ptr Binder::BindUnpivot(Binder &child_binder, PivotRef &ref, // construct the UNNEST expression for the set of unpivoted columns if (ref.unpivot_names.size() != unpivot_expressions.size()) { - throw BinderException("UNPIVOT name count mismatch - got %d names but %d expressions", ref.unpivot_names.size(), - unpivot_expressions.size()); + throw BinderException(ref, "UNPIVOT name count mismatch - got %d names but %d expressions", + ref.unpivot_names.size(), unpivot_expressions.size()); } for (idx_t i = 0; i < unpivot_expressions.size(); i++) { auto list_expr = make_uniq("list_value", std::move(unpivot_expressions[i])); diff --git a/src/planner/binder/tableref/bind_showref.cpp b/src/planner/binder/tableref/bind_showref.cpp new file mode 100644 index 000000000000..d804122a765c --- /dev/null +++ b/src/planner/binder/tableref/bind_showref.cpp @@ -0,0 +1,85 @@ +#include "duckdb/planner/binder.hpp" +#include "duckdb/parser/tableref/showref.hpp" +#include "duckdb/planner/tableref/bound_table_function.hpp" +#include "duckdb/planner/operator/logical_column_data_get.hpp" +#include "duckdb/function/pragma/pragma_functions.hpp" +#include "duckdb/parser/parsed_data/create_view_info.hpp" +#include "duckdb/parser/tableref/subqueryref.hpp" + +namespace duckdb { + +unique_ptr Binder::BindShowQuery(ShowRef &ref) { + // bind the child plan of the DESCRIBE statement + auto child_binder = Binder::CreateBinder(context, this); + auto plan = child_binder->Bind(*ref.query); + + // construct a column data collection with the result + vector return_names = {"column_name", "column_type", "null", "key", "default", "extra"}; + vector return_types = {LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR, + LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR}; + DataChunk output; + output.Initialize(Allocator::Get(context), return_types); + + auto collection = make_uniq(context, return_types); + ColumnDataAppendState append_state; + collection->InitializeAppend(append_state); + for (idx_t column_idx = 0; column_idx < plan.types.size(); column_idx++) { + auto type = plan.types[column_idx]; + auto &name = plan.names[column_idx]; + + // "name", TypeId::VARCHAR + output.SetValue(0, output.size(), Value(name)); + // "type", TypeId::VARCHAR + output.SetValue(1, output.size(), Value(type.ToString())); + // "null", TypeId::VARCHAR + output.SetValue(2, output.size(), Value("YES")); + // "pk", TypeId::BOOL + output.SetValue(3, output.size(), Value()); + // "dflt_value", TypeId::VARCHAR + output.SetValue(4, output.size(), Value()); + // "extra", TypeId::VARCHAR + output.SetValue(5, output.size(), Value()); + + output.SetCardinality(output.size() + 1); + if (output.size() == STANDARD_VECTOR_SIZE) { + collection->Append(append_state, output); + output.Reset(); + } + } + collection->Append(append_state, output); + + auto show = make_uniq(GenerateTableIndex(), return_types, std::move(collection)); + bind_context.AddGenericBinding(show->table_index, "__show_select", return_names, return_types); + return make_uniq(std::move(show)); +} + +unique_ptr Binder::BindShowTable(ShowRef &ref) { + auto lname = StringUtil::Lower(ref.table_name); + + string sql; + if (lname == "\"databases\"") { + sql = PragmaShowDatabases(); + } else if (lname == "\"tables\"") { + sql = PragmaShowTables(); + } else if (lname == "__show_tables_expanded") { + sql = PragmaShowTablesExpanded(); + } else { + sql = PragmaShow(ref.table_name); + } + auto select = CreateViewInfo::ParseSelect(sql); + auto subquery = make_uniq(std::move(select)); + return Bind(*subquery); +} + +unique_ptr Binder::Bind(ShowRef &ref) { + if (ref.show_type == ShowType::SUMMARY) { + return BindSummarize(ref); + } + if (ref.query) { + return BindShowQuery(ref); + } else { + return BindShowTable(ref); + } +} + +} // namespace duckdb diff --git a/src/planner/binder/tableref/bind_table_function.cpp b/src/planner/binder/tableref/bind_table_function.cpp index a3eddeacab63..2596243204a1 100644 --- a/src/planner/binder/tableref/bind_table_function.cpp +++ b/src/planner/binder/tableref/bind_table_function.cpp @@ -30,7 +30,7 @@ static bool IsTableInTableOutFunction(TableFunctionCatalogEntry &table_function) } bool Binder::BindTableInTableOutFunction(vector> &expressions, - unique_ptr &subquery, string &error) { + unique_ptr &subquery, ErrorData &error) { auto binder = Binder::CreateBinder(this->context, this, true); unique_ptr subquery_node; if (expressions.size() == 1 && expressions[0]->type == ExpressionType::SUBQUERY) { @@ -55,7 +55,7 @@ bool Binder::BindTableFunctionParameters(TableFunctionCatalogEntry &table_functi vector> &expressions, vector &arguments, vector ¶meters, named_parameter_map_t &named_parameters, - unique_ptr &subquery, string &error) { + unique_ptr &subquery, ErrorData &error) { if (IsTableInTableOutFunction(table_function)) { // special case binding for table-in table-out function arguments.emplace_back(LogicalTypeId::TABLE); @@ -88,7 +88,7 @@ bool Binder::BindTableFunctionParameters(TableFunctionCatalogEntry &table_functi // this separate subquery binding path is only used by python_map // FIXME: this should be unified with `BindTableInTableOutFunction` above if (seen_subquery) { - error = "Table function can have at most one subquery parameter "; + error = ErrorData("Table function can have at most one subquery parameter"); return false; } auto binder = Binder::CreateBinder(this->context, this, true); @@ -116,10 +116,10 @@ bool Binder::BindTableFunctionParameters(TableFunctionCatalogEntry &table_functi if (parameter_name.empty()) { // unnamed parameter if (!named_parameters.empty()) { - error = "Unnamed parameters cannot come after named parameters"; + error = ErrorData("Unnamed parameters cannot come after named parameters"); return false; } - arguments.emplace_back(sql_type); + arguments.emplace_back(constant.IsNull() ? LogicalType::SQLNULL : sql_type); parameters.emplace_back(std::move(constant)); } else { named_parameters[parameter_name] = std::move(constant); @@ -155,14 +155,6 @@ Binder::BindTableFunctionInternal(TableFunction &table_function, const string &f auto &arrow_bind = bind_data->Cast(); arrow_bind.external_dependency = std::move(external_dependency); } - if (table_function.name == "read_csv" || table_function.name == "read_csv_auto") { - auto &csv_bind = bind_data->Cast(); - if (csv_bind.single_threaded) { - table_function.extra_info = "(Single-Threaded)"; - } else { - table_function.extra_info = "(Multi-Threaded)"; - } - } } else { throw InvalidInputException("Cannot call function \"%s\" directly - it has no bind function", table_function.name); @@ -212,7 +204,7 @@ unique_ptr Binder::BindTableFunction(TableFunction &function, v } unique_ptr Binder::Bind(TableFunctionRef &ref) { - QueryErrorContext error_context(root_statement, ref.query_location); + QueryErrorContext error_context(ref.query_location); D_ASSERT(ref.function->type == ExpressionType::FUNCTION); auto &fexpr = ref.function->Cast(); @@ -250,17 +242,19 @@ unique_ptr Binder::Bind(TableFunctionRef &ref) { vector parameters; named_parameter_map_t named_parameters; unique_ptr subquery; - string error; + ErrorData error; if (!BindTableFunctionParameters(function, fexpr.children, arguments, parameters, named_parameters, subquery, error)) { - throw BinderException(FormatError(ref, error)); + error.AddQueryLocation(ref); + error.Throw(); } // select the function based on the input parameters FunctionBinder function_binder(context); idx_t best_function_idx = function_binder.BindFunction(function.name, function.functions, arguments, error); if (best_function_idx == DConstants::INVALID_INDEX) { - throw BinderException(FormatError(ref, error)); + error.AddQueryLocation(ref); + error.Throw(); } auto table_function = function.functions.GetFunctionByOffset(best_function_idx); diff --git a/src/planner/binder/tableref/plan_cteref.cpp b/src/planner/binder/tableref/plan_cteref.cpp index 6f5ba9013c1d..1f0fcb6b85d1 100644 --- a/src/planner/binder/tableref/plan_cteref.cpp +++ b/src/planner/binder/tableref/plan_cteref.cpp @@ -5,15 +5,7 @@ namespace duckdb { unique_ptr Binder::CreatePlan(BoundCTERef &ref) { - auto index = ref.bind_index; - - vector types; - types.reserve(ref.types.size()); - for (auto &type : ref.types) { - types.push_back(type); - } - - return make_uniq(index, ref.cte_index, types, ref.bound_columns, ref.materialized_cte); + return make_uniq(ref.bind_index, ref.cte_index, ref.types, ref.bound_columns, ref.materialized_cte); } } // namespace duckdb diff --git a/src/planner/bound_result_modifier.cpp b/src/planner/bound_result_modifier.cpp index 0518eb7b1a53..dea41088a680 100644 --- a/src/planner/bound_result_modifier.cpp +++ b/src/planner/bound_result_modifier.cpp @@ -1,4 +1,5 @@ #include "duckdb/planner/bound_result_modifier.hpp" +#include "duckdb/parser/expression_map.hpp" namespace duckdb { @@ -92,6 +93,29 @@ bool BoundOrderModifier::Equals(const unique_ptr &left, return BoundOrderModifier::Equals(*left, *right); } +bool BoundOrderModifier::Simplify(const vector> &groups) { + // for each ORDER BY - check if it is actually necessary + // expressions that are in the groups do not need to be ORDERED BY + // `ORDER BY` on a group has no effect, because for each aggregate, the group is unique + // similarly, we only need to ORDER BY each aggregate once + expression_set_t seen_expressions; + for (auto &target : groups) { + seen_expressions.insert(*target); + } + vector new_order_nodes; + for (auto &order_node : orders) { + if (seen_expressions.find(*order_node.expression) != seen_expressions.end()) { + // we do not need to order by this node + continue; + } + seen_expressions.insert(*order_node.expression); + new_order_nodes.push_back(std::move(order_node)); + } + orders.swap(new_order_nodes); + + return orders.empty(); +} + BoundLimitModifier::BoundLimitModifier() : BoundResultModifier(ResultModifierType::LIMIT_MODIFIER) { } diff --git a/src/planner/expression.cpp b/src/planner/expression.cpp index 2d6487712853..9fa426b8a378 100644 --- a/src/planner/expression.cpp +++ b/src/planner/expression.cpp @@ -38,14 +38,24 @@ bool Expression::IsScalar() const { return is_scalar; } -bool Expression::HasSideEffects() const { - bool has_side_effects = false; +bool Expression::IsVolatile() const { + bool is_volatile = false; ExpressionIterator::EnumerateChildren(*this, [&](const Expression &child) { - if (child.HasSideEffects()) { - has_side_effects = true; + if (child.IsVolatile()) { + is_volatile = true; } }); - return has_side_effects; + return is_volatile; +} + +bool Expression::IsConsistent() const { + bool is_consistent = true; + ExpressionIterator::EnumerateChildren(*this, [&](const Expression &child) { + if (!child.IsConsistent()) { + is_consistent = false; + } + }); + return is_consistent; } bool Expression::PropagatesNullValues() const { diff --git a/src/planner/expression/bound_aggregate_expression.cpp b/src/planner/expression/bound_aggregate_expression.cpp index a0e56c4f7ec6..e368f0c15bf5 100644 --- a/src/planner/expression/bound_aggregate_expression.cpp +++ b/src/planner/expression/bound_aggregate_expression.cpp @@ -19,7 +19,7 @@ BoundAggregateExpression::BoundAggregateExpression(AggregateFunction function, v string BoundAggregateExpression::ToString() const { return FunctionExpression::ToString( - *this, string(), function.name, false, IsDistinct(), filter.get(), order_bys.get()); + *this, string(), string(), function.name, false, IsDistinct(), filter.get(), order_bys.get()); } hash_t BoundAggregateExpression::Hash() const { diff --git a/src/planner/expression/bound_cast_expression.cpp b/src/planner/expression/bound_cast_expression.cpp index 55057787756c..9699fd706948 100644 --- a/src/planner/expression/bound_cast_expression.cpp +++ b/src/planner/expression/bound_cast_expression.cpp @@ -1,6 +1,7 @@ #include "duckdb/planner/expression/bound_cast_expression.hpp" #include "duckdb/planner/expression/bound_default_expression.hpp" #include "duckdb/planner/expression/bound_parameter_expression.hpp" +#include "duckdb/planner/expression/bound_constant_expression.hpp" #include "duckdb/function/cast_rules.hpp" #include "duckdb/function/cast/cast_function_set.hpp" #include "duckdb/main/config.hpp" @@ -28,7 +29,7 @@ BoundCastExpression::BoundCastExpression(ClientContext &context, unique_ptr AddCastExpressionInternal(unique_ptr expr, const LogicalType &target_type, BoundCastInfo bound_cast, bool try_cast) { - if (expr->return_type == target_type) { + if (ExpressionBinder::GetExpressionReturnType(*expr) == target_type) { return expr; } auto &expr_type = expr->return_type; @@ -102,6 +103,14 @@ unique_ptr BoundCastExpression::AddCastToType(ClientContext &context return AddCastToTypeInternal(std::move(expr), target_type, cast_functions, get_input, try_cast); } +unique_ptr BoundCastExpression::AddArrayCastToList(ClientContext &context, unique_ptr expr) { + if (expr->return_type.id() != LogicalTypeId::ARRAY) { + return expr; + } + auto &child_type = ArrayType::GetChildType(expr->return_type); + return BoundCastExpression::AddCastToType(context, std::move(expr), LogicalType::LIST(child_type)); +} + bool BoundCastExpression::CastIsInvertible(const LogicalType &source_type, const LogicalType &target_type) { D_ASSERT(source_type.IsValid() && target_type.IsValid()); if (source_type.id() == LogicalTypeId::BOOLEAN || target_type.id() == LogicalTypeId::BOOLEAN) { diff --git a/src/planner/expression/bound_function_expression.cpp b/src/planner/expression/bound_function_expression.cpp index 40ba170c64d4..2197b676499c 100644 --- a/src/planner/expression/bound_function_expression.cpp +++ b/src/planner/expression/bound_function_expression.cpp @@ -5,6 +5,7 @@ #include "duckdb/function/function_serialization.hpp" #include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/core_functions/lambda_functions.hpp" namespace duckdb { @@ -17,17 +18,32 @@ BoundFunctionExpression::BoundFunctionExpression(LogicalType return_type, Scalar D_ASSERT(!function.name.empty()); } -bool BoundFunctionExpression::HasSideEffects() const { - return function.side_effects == FunctionSideEffects::HAS_SIDE_EFFECTS ? true : Expression::HasSideEffects(); +bool BoundFunctionExpression::IsVolatile() const { + return function.stability == FunctionStability::VOLATILE ? true : Expression::IsVolatile(); +} + +bool BoundFunctionExpression::IsConsistent() const { + return function.stability != FunctionStability::CONSISTENT ? false : Expression::IsConsistent(); } bool BoundFunctionExpression::IsFoldable() const { // functions with side effects cannot be folded: they have to be executed once for every row - return function.side_effects == FunctionSideEffects::HAS_SIDE_EFFECTS ? false : Expression::IsFoldable(); + if (function.bind_lambda) { + // This is a lambda function + D_ASSERT(bind_info); + auto &lambda_bind_data = bind_info->Cast(); + if (lambda_bind_data.lambda_expr) { + auto &expr = *lambda_bind_data.lambda_expr; + if (expr.IsVolatile()) { + return false; + } + } + } + return function.stability == FunctionStability::VOLATILE ? false : Expression::IsFoldable(); } string BoundFunctionExpression::ToString() const { - return FunctionExpression::ToString(*this, string(), function.name, + return FunctionExpression::ToString(*this, string(), string(), function.name, is_operator); } bool BoundFunctionExpression::PropagatesNullValues() const { diff --git a/src/planner/expression/bound_lambdaref_expression.cpp b/src/planner/expression/bound_lambdaref_expression.cpp index 388404cf0d77..8fcf1b67e54a 100644 --- a/src/planner/expression/bound_lambdaref_expression.cpp +++ b/src/planner/expression/bound_lambdaref_expression.cpp @@ -6,24 +6,24 @@ namespace duckdb { BoundLambdaRefExpression::BoundLambdaRefExpression(string alias_p, LogicalType type, ColumnBinding binding, - idx_t lambda_index, idx_t depth) + idx_t lambda_idx, idx_t depth) : Expression(ExpressionType::BOUND_LAMBDA_REF, ExpressionClass::BOUND_LAMBDA_REF, std::move(type)), - binding(binding), lambda_index(lambda_index), depth(depth) { + binding(binding), lambda_idx(lambda_idx), depth(depth) { this->alias = std::move(alias_p); } -BoundLambdaRefExpression::BoundLambdaRefExpression(LogicalType type, ColumnBinding binding, idx_t lambda_index, +BoundLambdaRefExpression::BoundLambdaRefExpression(LogicalType type, ColumnBinding binding, idx_t lambda_idx, idx_t depth) - : BoundLambdaRefExpression(string(), std::move(type), binding, lambda_index, depth) { + : BoundLambdaRefExpression(string(), std::move(type), binding, lambda_idx, depth) { } unique_ptr BoundLambdaRefExpression::Copy() { - return make_uniq(alias, return_type, binding, lambda_index, depth); + return make_uniq(alias, return_type, binding, lambda_idx, depth); } hash_t BoundLambdaRefExpression::Hash() const { auto result = Expression::Hash(); - result = CombineHash(result, duckdb::Hash(lambda_index)); + result = CombineHash(result, duckdb::Hash(lambda_idx)); result = CombineHash(result, duckdb::Hash(binding.column_index)); result = CombineHash(result, duckdb::Hash(binding.table_index)); return CombineHash(result, duckdb::Hash(depth)); @@ -34,15 +34,14 @@ bool BoundLambdaRefExpression::Equals(const BaseExpression &other_p) const { return false; } auto &other = other_p.Cast(); - return other.binding == binding && other.lambda_index == lambda_index && other.depth == depth; + return other.binding == binding && other.lambda_idx == lambda_idx && other.depth == depth; } string BoundLambdaRefExpression::ToString() const { if (!alias.empty()) { return alias; } - return "#[" + to_string(binding.table_index) + "." + to_string(binding.column_index) + "." + - to_string(lambda_index) + "]"; + return "#[" + to_string(binding.table_index) + "." + to_string(binding.column_index) + "." + to_string(lambda_idx) + + "]"; } - } // namespace duckdb diff --git a/src/planner/expression/bound_window_expression.cpp b/src/planner/expression/bound_window_expression.cpp index 684c7ef79043..7dd33ca82014 100644 --- a/src/planner/expression/bound_window_expression.cpp +++ b/src/planner/expression/bound_window_expression.cpp @@ -12,7 +12,7 @@ BoundWindowExpression::BoundWindowExpression(ExpressionType type, LogicalType re unique_ptr aggregate, unique_ptr bind_info) : Expression(type, ExpressionClass::BOUND_WINDOW, std::move(return_type)), aggregate(std::move(aggregate)), - bind_info(std::move(bind_info)), ignore_nulls(false) { + bind_info(std::move(bind_info)), ignore_nulls(false), distinct(false) { } string BoundWindowExpression::ToString() const { @@ -30,9 +30,28 @@ bool BoundWindowExpression::Equals(const BaseExpression &other_p) const { if (ignore_nulls != other.ignore_nulls) { return false; } + if (distinct != other.distinct) { + return false; + } if (start != other.start || end != other.end) { return false; } + if (exclude_clause != other.exclude_clause) { + return false; + } + + // If there are aggregates, check they are equal + if (aggregate.get() != other.aggregate.get()) { + if (!aggregate || !other.aggregate || *aggregate != *other.aggregate) { + return false; + } + } + // If there's function data, check if they are equal + if (bind_info.get() != other.bind_info.get()) { + if (!bind_info || !other.bind_info || !bind_info->Equals(*other.bind_info)) { + return false; + } + } // check if the child expressions are equivalent if (!Expression::ListEquals(children, other.children)) { return false; @@ -51,9 +70,39 @@ bool BoundWindowExpression::Equals(const BaseExpression &other_p) const { return KeysAreCompatible(other); } +bool BoundWindowExpression::PartitionsAreEquivalent(const BoundWindowExpression &other) const { + // Partitions are not order sensitive. + if (partitions.size() != other.partitions.size()) { + return false; + } + // TODO: Should partitions be an expression_set_t? + expression_set_t others; + for (const auto &partition : other.partitions) { + others.insert(*partition); + } + for (const auto &partition : partitions) { + if (!others.count(*partition)) { + return false; + } + } + return true; +} + +idx_t BoundWindowExpression::GetSharedOrders(const BoundWindowExpression &other) const { + const auto overlap = MinValue(orders.size(), other.orders.size()); + + idx_t result = 0; + for (; result < overlap; ++result) { + if (!orders[result].Equals(other.orders[result])) { + return false; + } + } + + return result; +} + bool BoundWindowExpression::KeysAreCompatible(const BoundWindowExpression &other) const { - // check if the partitions are equivalent - if (!Expression::ListEquals(partitions, other.partitions)) { + if (!PartitionsAreEquivalent(other)) { return false; } // check if the orderings are equivalent @@ -99,12 +148,21 @@ unique_ptr BoundWindowExpression::Copy() { new_window->start = start; new_window->end = end; + new_window->exclude_clause = exclude_clause; new_window->start_expr = start_expr ? start_expr->Copy() : nullptr; new_window->end_expr = end_expr ? end_expr->Copy() : nullptr; new_window->offset_expr = offset_expr ? offset_expr->Copy() : nullptr; new_window->default_expr = default_expr ? default_expr->Copy() : nullptr; new_window->ignore_nulls = ignore_nulls; + new_window->distinct = distinct; + for (auto &es : expr_stats) { + if (es) { + new_window->expr_stats.push_back(es->ToUnique()); + } else { + new_window->expr_stats.push_back(nullptr); + } + } return std::move(new_window); } @@ -126,6 +184,8 @@ void BoundWindowExpression::Serialize(Serializer &serializer) const { serializer.WritePropertyWithDefault(209, "end_expr", end_expr, unique_ptr()); serializer.WritePropertyWithDefault(210, "offset_expr", offset_expr, unique_ptr()); serializer.WritePropertyWithDefault(211, "default_expr", default_expr, unique_ptr()); + serializer.WriteProperty(212, "exclude_clause", exclude_clause); + serializer.WriteProperty(213, "distinct", distinct); } unique_ptr BoundWindowExpression::Deserialize(Deserializer &deserializer) { @@ -153,6 +213,8 @@ unique_ptr BoundWindowExpression::Deserialize(Deserializer &deserial deserializer.ReadPropertyWithDefault(209, "end_expr", result->end_expr, unique_ptr()); deserializer.ReadPropertyWithDefault(210, "offset_expr", result->offset_expr, unique_ptr()); deserializer.ReadPropertyWithDefault(211, "default_expr", result->default_expr, unique_ptr()); + deserializer.ReadProperty(212, "exclude_clause", result->exclude_clause); + deserializer.ReadProperty(213, "distinct", result->distinct); return std::move(result); } diff --git a/src/planner/expression_binder.cpp b/src/planner/expression_binder.cpp index 266b4102c5c0..fa03fabdf511 100644 --- a/src/planner/expression_binder.cpp +++ b/src/planner/expression_binder.cpp @@ -1,5 +1,6 @@ #include "duckdb/planner/expression_binder.hpp" +#include "duckdb/catalog/catalog_entry/scalar_function_catalog_entry.hpp" #include "duckdb/parser/expression/list.hpp" #include "duckdb/parser/parsed_expression_iterator.hpp" #include "duckdb/planner/binder.hpp" @@ -61,6 +62,8 @@ BindResult ExpressionBinder::BindExpression(unique_ptr &expr, return BindExpression(expr_ref.Cast(), depth); case ExpressionClass::COLUMN_REF: return BindExpression(expr_ref.Cast(), depth); + case ExpressionClass::LAMBDA_REF: + return BindExpression(expr_ref.Cast(), depth); case ExpressionClass::COMPARISON: return BindExpression(expr_ref.Cast(), depth); case ExpressionClass::CONJUNCTION: @@ -69,15 +72,15 @@ BindResult ExpressionBinder::BindExpression(unique_ptr &expr, return BindExpression(expr_ref.Cast(), depth); case ExpressionClass::FUNCTION: { auto &function = expr_ref.Cast(); - if (function.function_name == "unnest" || function.function_name == "unlist") { + if (IsUnnestFunction(function.function_name)) { // special case, not in catalog return BindUnnest(function, depth, root_expression); } - // binding function expression has extra parameter needed for macro's + // binding a function expression requires an extra parameter for macros return BindExpression(function, depth, expr); } case ExpressionClass::LAMBDA: - return BindExpression(expr_ref.Cast(), depth, false, LogicalTypeId::INVALID); + return BindExpression(expr_ref.Cast(), depth, LogicalTypeId::INVALID, nullptr); case ExpressionClass::OPERATOR: return BindExpression(expr_ref.Cast(), depth); case ExpressionClass::SUBQUERY: @@ -88,43 +91,40 @@ BindResult ExpressionBinder::BindExpression(unique_ptr &expr, return BindPositionalReference(expr, depth, root_expression); } case ExpressionClass::STAR: - return BindResult(binder.FormatError(expr_ref, "STAR expression is not supported here")); + return BindResult(BinderException(expr_ref, "STAR expression is not supported here")); default: throw NotImplementedException("Unimplemented expression class"); } } -bool ExpressionBinder::BindCorrelatedColumns(unique_ptr &expr) { +BindResult ExpressionBinder::BindCorrelatedColumns(unique_ptr &expr, ErrorData error_message) { // try to bind in one of the outer queries, if the binding error occurred in a subquery auto &active_binders = binder.GetActiveBinders(); // make a copy of the set of binders, so we can restore it later auto binders = active_binders; - + auto bind_error = std::move(error_message); // we already failed with the current binder active_binders.pop_back(); idx_t depth = 1; - bool success = false; - while (!active_binders.empty()) { auto &next_binder = active_binders.back().get(); ExpressionBinder::QualifyColumnNames(next_binder.binder, expr); - auto bind_result = next_binder.Bind(expr, depth); - if (bind_result.empty()) { - success = true; + bind_error = next_binder.Bind(expr, depth); + if (!bind_error.HasError()) { break; } depth++; active_binders.pop_back(); } active_binders = binders; - return success; + return BindResult(bind_error); } -void ExpressionBinder::BindChild(unique_ptr &expr, idx_t depth, string &error) { +void ExpressionBinder::BindChild(unique_ptr &expr, idx_t depth, ErrorData &error) { if (expr) { - string bind_error = Bind(expr, depth); - if (error.empty()) { - error = bind_error; + ErrorData bind_error = Bind(expr, depth); + if (!error.HasError()) { + error = std::move(bind_error); } } } @@ -166,6 +166,8 @@ bool ExpressionBinder::ContainsType(const LogicalType &type, LogicalTypeId targe case LogicalTypeId::LIST: case LogicalTypeId::MAP: return ContainsType(ListType::GetChildType(type), target); + case LogicalTypeId::ARRAY: + return ContainsType(ArrayType::GetChildType(type), target); default: return false; } @@ -195,6 +197,9 @@ LogicalType ExpressionBinder::ExchangeType(const LogicalType &type, LogicalTypeI return LogicalType::LIST(ExchangeType(ListType::GetChildType(type), target, new_type)); case LogicalTypeId::MAP: return LogicalType::MAP(ExchangeType(ListType::GetChildType(type), target, new_type)); + case LogicalTypeId::ARRAY: + return LogicalType::ARRAY(ExchangeType(ArrayType::GetChildType(type), target, new_type), + ArrayType::GetSize(type)); default: return type; } @@ -212,11 +217,14 @@ unique_ptr ExpressionBinder::Bind(unique_ptr &expr bool root_expression) { // bind the main expression auto error_msg = Bind(expr, 0, root_expression); - if (!error_msg.empty()) { - // failed to bind: try to bind correlated columns in the expression (if any) - bool success = BindCorrelatedColumns(expr); - if (!success) { - throw BinderException(error_msg); + if (error_msg.HasError()) { + // Try binding the correlated column. If binding the correlated column + // has error messages, those should be propagated up. So for the test case + // having subquery failed to bind:14 the real error message should be something like + // aggregate with constant input must be bound to a root node. + auto result = BindCorrelatedColumns(expr, error_msg); + if (result.HasError()) { + result.error.Throw(); } auto &bound_expr = expr->Cast(); ExtractCorrelatedExpressions(binder, *bound_expr.expr); @@ -245,27 +253,45 @@ unique_ptr ExpressionBinder::Bind(unique_ptr &expr return result; } -string ExpressionBinder::Bind(unique_ptr &expr, idx_t depth, bool root_expression) { +ErrorData ExpressionBinder::Bind(unique_ptr &expr, idx_t depth, bool root_expression) { // bind the node, but only if it has not been bound yet + auto query_location = expr->query_location; auto &expression = *expr; auto alias = expression.alias; if (expression.GetExpressionClass() == ExpressionClass::BOUND_EXPRESSION) { // already bound, don't bind it again - return string(); + return ErrorData(); } // bind the expression BindResult result = BindExpression(expr, depth, root_expression); if (result.HasError()) { - return result.error; + return std::move(result.error); } // successfully bound: replace the node with a BoundExpression + result.expression->query_location = query_location; expr = make_uniq(std::move(result.expression)); auto &be = expr->Cast(); be.alias = alias; if (!alias.empty()) { be.expr->alias = alias; } - return string(); + return ErrorData(); +} + +bool ExpressionBinder::IsUnnestFunction(const string &function_name) { + return function_name == "unnest" || function_name == "unlist"; +} + +bool ExpressionBinder::IsLambdaFunction(const FunctionExpression &function) { + // check for lambda parameters, ignore ->> operator (JSON extension) + if (function.function_name != "->>") { + for (auto &child : function.children) { + if (child->expression_class == ExpressionClass::LAMBDA) { + return true; + } + } + } + return false; } } // namespace duckdb diff --git a/src/planner/expression_binder/base_select_binder.cpp b/src/planner/expression_binder/base_select_binder.cpp index 57cdf68684c4..b4708561e2a8 100644 --- a/src/planner/expression_binder/base_select_binder.cpp +++ b/src/planner/expression_binder/base_select_binder.cpp @@ -88,7 +88,7 @@ BindResult BaseSelectBinder::BindColumnRef(unique_ptr &expr_pt "cannot be referenced before it is defined", colref.column_names[0]); } - if (node.select_list[index]->HasSideEffects()) { + if (node.select_list[index]->IsVolatile()) { throw BinderException("Alias \"%s\" referenced in a SELECT clause - but the expression has side " "effects. This is not yet supported.", colref.column_names[0]); @@ -112,10 +112,10 @@ BindResult BaseSelectBinder::BindGroupingFunction(OperatorExpression &op, idx_t throw InternalException("GROUPING requires at least one child"); } if (node.groups.group_expressions.empty()) { - return BindResult(binder.FormatError(op, "GROUPING statement cannot be used without groups")); + return BindResult(BinderException(op, "GROUPING statement cannot be used without groups")); } if (op.children.size() >= 64) { - return BindResult(binder.FormatError(op, "GROUPING statement cannot have more than 64 groups")); + return BindResult(BinderException(op, "GROUPING statement cannot have more than 64 groups")); } vector group_indexes; group_indexes.reserve(op.children.size()); @@ -123,8 +123,7 @@ BindResult BaseSelectBinder::BindGroupingFunction(OperatorExpression &op, idx_t ExpressionBinder::QualifyColumnNames(binder, child); auto idx = TryBindGroup(*child, depth); if (idx == DConstants::INVALID_INDEX) { - return BindResult(binder.FormatError( - op, StringUtil::Format("GROUPING child \"%s\" must be a grouping column", child->GetName()))); + return BindResult(BinderException(op, "GROUPING child \"%s\" must be a grouping column", child->GetName())); } group_indexes.push_back(idx); } @@ -150,7 +149,7 @@ BindResult BaseSelectBinder::BindGroup(ParsedExpression &expr, idx_t depth, idx_ bool BaseSelectBinder::QualifyColumnAlias(const ColumnRefExpression &colref) { if (!colref.IsQualified()) { - return alias_map.find(colref.column_names[0]) != alias_map.end() ? true : false; + return alias_map.find(colref.column_names[0]) != alias_map.end(); } return false; } diff --git a/src/planner/expression_binder/check_binder.cpp b/src/planner/expression_binder/check_binder.cpp index 698d9e06509e..c89c96deda35 100644 --- a/src/planner/expression_binder/check_binder.cpp +++ b/src/planner/expression_binder/check_binder.cpp @@ -44,14 +44,15 @@ BindResult ExpressionBinder::BindQualifiedColumnName(ColumnRefExpression &colref BindResult CheckBinder::BindCheckColumn(ColumnRefExpression &colref) { - // if this is a lambda parameters, then we temporarily add a BoundLambdaRef, - // which we capture and remove later - if (lambda_bindings) { - for (idx_t i = 0; i < lambda_bindings->size(); i++) { - if (colref.GetColumnName() == (*lambda_bindings)[i].dummy_name) { - // FIXME: support lambdas in CHECK constraints - // FIXME: like so: return (*lambda_bindings)[i].Bind(colref, i, depth); - throw NotImplementedException("Lambda functions are currently not supported in CHECK constraints."); + if (!colref.IsQualified()) { + if (lambda_bindings) { + for (idx_t i = lambda_bindings->size(); i > 0; i--) { + if ((*lambda_bindings)[i - 1].HasMatchingBinding(colref.GetName())) { + // FIXME: support lambdas in CHECK constraints + // FIXME: like so: return (*lambda_bindings)[i - 1].Bind(colref, i, depth); + // FIXME: and move this to LambdaRefExpression::FindMatchingBinding + throw NotImplementedException("Lambda functions are currently not supported in CHECK constraints."); + } } } } diff --git a/src/planner/expression_binder/column_alias_binder.cpp b/src/planner/expression_binder/column_alias_binder.cpp index 1e0a02473524..6496c919a887 100644 --- a/src/planner/expression_binder/column_alias_binder.cpp +++ b/src/planner/expression_binder/column_alias_binder.cpp @@ -12,19 +12,22 @@ ColumnAliasBinder::ColumnAliasBinder(BoundSelectNode &node, const case_insensiti : node(node), alias_map(alias_map), visited_select_indexes() { } -BindResult ColumnAliasBinder::BindAlias(ExpressionBinder &enclosing_binder, ColumnRefExpression &expr, idx_t depth, - bool root_expression) { +bool ColumnAliasBinder::BindAlias(ExpressionBinder &enclosing_binder, ColumnRefExpression &expr, idx_t depth, + bool root_expression, BindResult &result) { if (expr.IsQualified()) { - return BindResult(StringUtil::Format("Alias %s cannot be qualified.", expr.ToString())); + // qualified columns cannot be aliases + return false; } auto alias_entry = alias_map.find(expr.column_names[0]); if (alias_entry == alias_map.end()) { - return BindResult(StringUtil::Format("Alias %s is not found.", expr.ToString())); + // no alias found + return false; } if (visited_select_indexes.find(alias_entry->second) != visited_select_indexes.end()) { - return BindResult("Cannot resolve self-referential alias"); + // self-referential alias cannot be resolved + return false; } // found an alias: bind the alias expression @@ -33,9 +36,9 @@ BindResult ColumnAliasBinder::BindAlias(ExpressionBinder &enclosing_binder, Colu // since the alias has been found, pass a depth of 0. See Issue 4978 (#16) // ColumnAliasBinders are only in Having, Qualify and Where Binders - auto result = enclosing_binder.BindExpression(expression, 0, root_expression); + result = enclosing_binder.BindExpression(expression, depth, root_expression); visited_select_indexes.erase(alias_entry->second); - return result; + return true; } } // namespace duckdb diff --git a/src/planner/expression_binder/having_binder.cpp b/src/planner/expression_binder/having_binder.cpp index 75e92476cc2e..4df16339e354 100644 --- a/src/planner/expression_binder/having_binder.cpp +++ b/src/planner/expression_binder/having_binder.cpp @@ -17,16 +17,21 @@ HavingBinder::HavingBinder(Binder &binder, ClientContext &context, BoundSelectNo BindResult HavingBinder::BindColumnRef(unique_ptr &expr_ptr, idx_t depth, bool root_expression) { auto &expr = expr_ptr->Cast(); - auto alias_result = column_alias_binder.BindAlias(*this, expr, depth, root_expression); - if (!alias_result.HasError()) { + BindResult alias_result; + auto found_alias = column_alias_binder.BindAlias(*this, expr, depth, root_expression, alias_result); + if (found_alias) { if (depth > 0) { - throw BinderException("Having clause cannot reference alias in correlated subquery"); + throw BinderException("Having clause cannot reference alias \"%s\" in correlated subquery", + expr.GetColumnName()); } return alias_result; } + if (aggregate_handling == AggregateHandling::FORCE_AGGREGATES) { if (depth > 0) { - throw BinderException("Having clause cannot reference column in correlated subquery and group by all"); + throw BinderException( + "Having clause cannot reference column \"%s\" in correlated subquery and group by all", + expr.GetColumnName()); } auto expr = duckdb::BaseSelectBinder::BindExpression(expr_ptr, depth); if (expr.HasError()) { diff --git a/src/planner/expression_binder/index_binder.cpp b/src/planner/expression_binder/index_binder.cpp index e7af2b42753d..5bdf1f0448a4 100644 --- a/src/planner/expression_binder/index_binder.cpp +++ b/src/planner/expression_binder/index_binder.cpp @@ -19,31 +19,6 @@ BindResult IndexBinder::BindExpression(unique_ptr &expr_ptr, i return BindResult("window functions are not allowed in index expressions"); case ExpressionClass::SUBQUERY: return BindResult("cannot use subquery in index expressions"); - case ExpressionClass::COLUMN_REF: { - if (table) { - // WAL replay - // we assume that the parsed expressions have qualified column names - // and that the columns exist in the table - auto &col_ref = expr.Cast(); - auto col_idx = table->GetColumnIndex(col_ref.column_names.back()); - auto col_type = table->GetColumn(col_idx).GetType(); - - // find the col_idx in the index.column_ids - auto col_id_idx = DConstants::INVALID_INDEX; - for (idx_t i = 0; i < info->column_ids.size(); i++) { - if (col_idx.index == info->column_ids[i]) { - col_id_idx = i; - } - } - - if (col_id_idx == DConstants::INVALID_INDEX) { - throw InternalException("failed to replay CREATE INDEX statement - column id not found"); - } - return BindResult( - make_uniq(col_ref.GetColumnName(), col_type, ColumnBinding(0, col_id_idx))); - } - return ExpressionBinder::BindExpression(expr_ptr, depth); - } default: return ExpressionBinder::BindExpression(expr_ptr, depth); } diff --git a/src/planner/expression_binder/order_binder.cpp b/src/planner/expression_binder/order_binder.cpp index ee59c6844386..0235d55ea2ed 100644 --- a/src/planner/expression_binder/order_binder.cpp +++ b/src/planner/expression_binder/order_binder.cpp @@ -25,7 +25,8 @@ OrderBinder::OrderBinder(vector binders, idx_t projection_index, Selec this->extra_list = &node.select_list; } -unique_ptr OrderBinder::CreateProjectionReference(ParsedExpression &expr, idx_t index) { +unique_ptr OrderBinder::CreateProjectionReference(ParsedExpression &expr, const idx_t index, + const LogicalType &logical_type) { string alias; if (extra_list && index < extra_list->size()) { alias = extra_list->at(index)->ToString(); @@ -34,8 +35,7 @@ unique_ptr OrderBinder::CreateProjectionReference(ParsedExpression & alias = expr.alias; } } - return make_uniq(std::move(alias), LogicalType::INVALID, - ColumnBinding(projection_index, index)); + return make_uniq(std::move(alias), logical_type, ColumnBinding(projection_index, index)); } unique_ptr OrderBinder::CreateExtraReference(unique_ptr expr) { @@ -43,7 +43,7 @@ unique_ptr OrderBinder::CreateExtraReference(unique_ptrsize(); - auto result = CreateProjectionReference(*expr, extra_list->size()); + auto result = CreateProjectionReference(*expr, extra_list->size(), LogicalType::INVALID); extra_list->push_back(std::move(expr)); return result; } @@ -58,10 +58,7 @@ unique_ptr OrderBinder::BindConstant(ParsedExpression &expr, const V } // INTEGER constant: we use the integer as an index into the select list (e.g. ORDER BY 1) auto index = (idx_t)val.GetValue(); - if (index < 1 || index > max_count) { - throw BinderException("ORDER term out of range - should be between 1 and %lld", (idx_t)max_count); - } - return CreateProjectionReference(expr, index - 1); + return CreateProjectionReference(expr, index - 1, LogicalType::ANY); } unique_ptr OrderBinder::Bind(unique_ptr expr) { @@ -89,7 +86,7 @@ unique_ptr OrderBinder::Bind(unique_ptr expr) { auto entry = alias_map.find(colref.column_names[0]); if (entry != alias_map.end()) { // it does! point it to that entry - return CreateProjectionReference(*expr, entry->second); + return CreateProjectionReference(*expr, entry->second, LogicalType::INVALID); } break; } @@ -98,7 +95,7 @@ unique_ptr OrderBinder::Bind(unique_ptr expr) { if (posref.index < 1 || posref.index > max_count) { throw BinderException("ORDER term out of range - should be between 1 and %lld", (idx_t)max_count); } - return CreateProjectionReference(*expr, posref.index - 1); + return CreateProjectionReference(*expr, posref.index - 1, LogicalType::ANY); } case ExpressionClass::PARAMETER: { throw ParameterNotAllowedException("Parameter not supported in ORDER BY clause"); @@ -119,7 +116,7 @@ unique_ptr OrderBinder::Bind(unique_ptr expr) { } // there is a matching entry in the projection list // just point to that entry - return CreateProjectionReference(*expr, entry->second); + return CreateProjectionReference(*expr, entry->second, LogicalType::INVALID); } if (!extra_list) { // no extra list specified: we cannot push an extra ORDER BY clause diff --git a/src/planner/expression_binder/qualify_binder.cpp b/src/planner/expression_binder/qualify_binder.cpp index 59a97e617770..ceaf916a9a8c 100644 --- a/src/planner/expression_binder/qualify_binder.cpp +++ b/src/planner/expression_binder/qualify_binder.cpp @@ -22,8 +22,9 @@ BindResult QualifyBinder::BindColumnRef(unique_ptr &expr_ptr, return result; } - auto alias_result = column_alias_binder.BindAlias(*this, expr, depth, root_expression); - if (!alias_result.HasError()) { + BindResult alias_result; + auto found_alias = column_alias_binder.BindAlias(*this, expr, depth, root_expression, alias_result); + if (found_alias) { return alias_result; } diff --git a/src/planner/expression_binder/table_function_binder.cpp b/src/planner/expression_binder/table_function_binder.cpp index 30010b1ba48c..98a73ed364a2 100644 --- a/src/planner/expression_binder/table_function_binder.cpp +++ b/src/planner/expression_binder/table_function_binder.cpp @@ -8,18 +8,23 @@ namespace duckdb { TableFunctionBinder::TableFunctionBinder(Binder &binder, ClientContext &context) : ExpressionBinder(binder, context) { } +BindResult TableFunctionBinder::BindLambdaReference(LambdaRefExpression &expr, idx_t depth) { + D_ASSERT(lambda_bindings && expr.lambda_idx < lambda_bindings->size()); + auto &lambda_ref = expr.Cast(); + return (*lambda_bindings)[expr.lambda_idx].Bind(lambda_ref, depth); +} + BindResult TableFunctionBinder::BindColumnReference(ColumnRefExpression &expr, idx_t depth, bool root_expression) { - // if this is a lambda parameters, then we temporarily add a BoundLambdaRef, - // which we capture and remove later - if (lambda_bindings) { - auto &colref = expr.Cast(); - for (idx_t i = 0; i < lambda_bindings->size(); i++) { - if (colref.GetColumnName() == (*lambda_bindings)[i].dummy_name) { - return (*lambda_bindings)[i].Bind(colref, i, depth); - } + // try binding as a lambda parameter + auto &col_ref = expr.Cast(); + if (!col_ref.IsQualified()) { + auto lambda_ref = LambdaRefExpression::FindMatchingBinding(lambda_bindings, col_ref.GetName()); + if (lambda_ref) { + return BindLambdaReference(lambda_ref->Cast(), depth); } } + auto value_function = ExpressionBinder::GetSQLValueFunction(expr.GetColumnName()); if (value_function) { return BindExpression(value_function, depth, root_expression); @@ -33,6 +38,8 @@ BindResult TableFunctionBinder::BindExpression(unique_ptr &exp bool root_expression) { auto &expr = *expr_ptr; switch (expr.GetExpressionClass()) { + case ExpressionClass::LAMBDA_REF: + return BindLambdaReference(expr.Cast(), depth); case ExpressionClass::COLUMN_REF: return BindColumnReference(expr.Cast(), depth, root_expression); case ExpressionClass::SUBQUERY: diff --git a/src/planner/expression_binder/where_binder.cpp b/src/planner/expression_binder/where_binder.cpp index 182687f8347d..9c868f671664 100644 --- a/src/planner/expression_binder/where_binder.cpp +++ b/src/planner/expression_binder/where_binder.cpp @@ -16,12 +16,11 @@ BindResult WhereBinder::BindColumnRef(unique_ptr &expr_ptr, id return result; } - BindResult alias_result = column_alias_binder->BindAlias(*this, expr, depth, root_expression); - // This code path cannot be exercised at thispoint. #1547 might change that. - if (!alias_result.HasError()) { + BindResult alias_result; + auto found_alias = column_alias_binder->BindAlias(*this, expr, depth, root_expression, alias_result); + if (found_alias) { return alias_result; } - return result; } diff --git a/src/planner/expression_iterator.cpp b/src/planner/expression_iterator.cpp index 34e6bc10870e..4ed384b9f045 100644 --- a/src/planner/expression_iterator.cpp +++ b/src/planner/expression_iterator.cpp @@ -175,7 +175,7 @@ void ExpressionIterator::EnumerateTableRefChildren(BoundTableRef &ref, break; } case TableReferenceType::TABLE_FUNCTION: - case TableReferenceType::EMPTY: + case TableReferenceType::EMPTY_FROM: case TableReferenceType::BASE_TABLE: case TableReferenceType::CTE: break; @@ -202,6 +202,7 @@ void ExpressionIterator::EnumerateQueryNodeChildren(BoundQueryNode &node, case QueryNodeType::CTE_NODE: { auto &cte_node = node.Cast(); EnumerateQueryNodeChildren(*cte_node.child, callback); + EnumerateQueryNodeChildren(*cte_node.query, callback); break; } case QueryNodeType::SELECT_NODE: { diff --git a/src/planner/filter/CMakeLists.txt b/src/planner/filter/CMakeLists.txt index 363e8c1eea77..52a4d2635c6f 100644 --- a/src/planner/filter/CMakeLists.txt +++ b/src/planner/filter/CMakeLists.txt @@ -1,5 +1,5 @@ add_library_unity(duckdb_planner_filter OBJECT conjunction_filter.cpp - constant_filter.cpp null_filter.cpp) + constant_filter.cpp null_filter.cpp struct_filter.cpp) set(ALL_OBJECT_FILES ${ALL_OBJECT_FILES} $ PARENT_SCOPE) diff --git a/src/planner/filter/constant_filter.cpp b/src/planner/filter/constant_filter.cpp index 3f5084d5d2ac..1388aa42aaf3 100644 --- a/src/planner/filter/constant_filter.cpp +++ b/src/planner/filter/constant_filter.cpp @@ -15,6 +15,7 @@ FilterPropagateResult ConstantFilter::CheckStatistics(BaseStatistics &stats) { case PhysicalType::UINT16: case PhysicalType::UINT32: case PhysicalType::UINT64: + case PhysicalType::UINT128: case PhysicalType::INT8: case PhysicalType::INT16: case PhysicalType::INT32: diff --git a/src/planner/filter/struct_filter.cpp b/src/planner/filter/struct_filter.cpp new file mode 100644 index 000000000000..0148f95e767a --- /dev/null +++ b/src/planner/filter/struct_filter.cpp @@ -0,0 +1,33 @@ +#include "duckdb/planner/filter/struct_filter.hpp" +#include "duckdb/storage/statistics/base_statistics.hpp" +#include "duckdb/storage/statistics/struct_stats.hpp" +#include "duckdb/common/string_util.hpp" + +namespace duckdb { + +StructFilter::StructFilter(idx_t child_idx_p, string child_name_p, unique_ptr child_filter_p) + : TableFilter(TableFilterType::STRUCT_EXTRACT), child_idx(child_idx_p), child_name(std::move(child_name_p)), + child_filter(std::move(child_filter_p)) { +} + +FilterPropagateResult StructFilter::CheckStatistics(BaseStatistics &stats) { + D_ASSERT(stats.GetType().id() == LogicalTypeId::STRUCT); + // Check the child statistics + auto &child_stats = StructStats::GetChildStats(stats, child_idx); + return child_filter->CheckStatistics(child_stats); +} + +string StructFilter::ToString(const string &column_name) { + return child_filter->ToString(column_name + "." + child_name); +} + +bool StructFilter::Equals(const TableFilter &other_p) const { + if (!TableFilter::Equals(other_p)) { + return false; + } + auto &other = other_p.Cast(); + return other.child_idx == child_idx && StringUtil::CIEquals(other.child_name, child_name) && + other.child_filter->Equals(*child_filter); +} + +} // namespace duckdb diff --git a/src/planner/joinside.cpp b/src/planner/joinside.cpp index 3b24f337b879..ba5b49cc350a 100644 --- a/src/planner/joinside.cpp +++ b/src/planner/joinside.cpp @@ -60,7 +60,7 @@ JoinSide JoinSide::GetJoinSide(Expression &expression, const unordered_set(); if (colref.depth > 0) { - throw Exception("Non-inner join on correlated columns not supported"); + throw NotImplementedException("Non-inner join on correlated columns not supported"); } return GetJoinSide(colref.binding.table_index, left_bindings, right_bindings); } diff --git a/src/planner/logical_operator.cpp b/src/planner/logical_operator.cpp index 8c3c4c93b756..b7b9dc9f3007 100644 --- a/src/planner/logical_operator.cpp +++ b/src/planner/logical_operator.cpp @@ -185,9 +185,10 @@ unique_ptr LogicalOperator::Copy(ClientContext &context) const this->Serialize(serializer); serializer.End(); } catch (NotImplementedException &ex) { + ErrorData error(ex); throw NotImplementedException("Logical Operator Copy requires the logical operator and all of its children to " "be serializable: " + - std::string(ex.what())); + error.RawMessage()); } stream.Rewind(); bound_parameter_map_t parameters; diff --git a/src/planner/operator/CMakeLists.txt b/src/planner/operator/CMakeLists.txt index c4248b88d3d2..d2350edc3de3 100644 --- a/src/planner/operator/CMakeLists.txt +++ b/src/planner/operator/CMakeLists.txt @@ -6,6 +6,7 @@ add_library_unity( logical_column_data_get.cpp logical_comparison_join.cpp logical_copy_to_file.cpp + logical_copy_database.cpp logical_create.cpp logical_create_index.cpp logical_create_table.cpp diff --git a/src/planner/operator/logical_copy_database.cpp b/src/planner/operator/logical_copy_database.cpp new file mode 100644 index 000000000000..67ca09435c58 --- /dev/null +++ b/src/planner/operator/logical_copy_database.cpp @@ -0,0 +1,32 @@ +#include "duckdb/planner/operator/logical_copy_database.hpp" +#include "duckdb/parser/parsed_data/create_schema_info.hpp" +#include "duckdb/parser/parsed_data/create_table_info.hpp" + +namespace duckdb { + +CopyDatabaseInfo::CopyDatabaseInfo(Catalog &from_database, Catalog &to_database) + : from_database(from_database), to_database(to_database) { +} + +CopyDatabaseInfo::~CopyDatabaseInfo() { +} + +LogicalCopyDatabase::LogicalCopyDatabase(unique_ptr info_p) + : LogicalOperator(LogicalOperatorType::LOGICAL_COPY_DATABASE), info(std::move(info_p)) { +} + +LogicalCopyDatabase::~LogicalCopyDatabase() { +} + +void LogicalCopyDatabase::Serialize(Serializer &serializer) const { + throw NotImplementedException("LogicalCopyDatabase::Serialize"); +} +unique_ptr LogicalCopyDatabase::Deserialize(Deserializer &deserializer) { + throw NotImplementedException("LogicalCopyDatabase::Deserialize"); +} + +void LogicalCopyDatabase::ResolveTypes() { + types.emplace_back(LogicalType::BOOLEAN); +} + +} // namespace duckdb diff --git a/src/planner/operator/logical_copy_to_file.cpp b/src/planner/operator/logical_copy_to_file.cpp index 93572634c624..67f684d84614 100644 --- a/src/planner/operator/logical_copy_to_file.cpp +++ b/src/planner/operator/logical_copy_to_file.cpp @@ -1,12 +1,11 @@ #include "duckdb/planner/operator/logical_copy_to_file.hpp" #include "duckdb/catalog/catalog_entry/copy_function_catalog_entry.hpp" +#include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/common/serializer/serializer.hpp" #include "duckdb/function/copy_function.hpp" #include "duckdb/function/function_serialization.hpp" -#include "duckdb/common/serializer/serializer.hpp" -#include "duckdb/common/serializer/deserializer.hpp" - namespace duckdb { void LogicalCopyToFile::Serialize(Serializer &serializer) const { @@ -32,6 +31,8 @@ void LogicalCopyToFile::Serialize(Serializer &serializer) const { serializer.WriteObject(212, "function_data", [&](Serializer &obj) { function.serialize(obj, *bind_data, function); }); } + + serializer.WriteProperty(213, "file_extension", file_extension); } unique_ptr LogicalCopyToFile::Deserialize(Deserializer &deserializer) { @@ -70,13 +71,21 @@ unique_ptr LogicalCopyToFile::Deserialize(Deserializer &deseria if (!function.copy_to_bind) { throw InternalException("Copy function \"%s\" has neither bind nor (de)serialize", function.name); } - bind_data = function.copy_to_bind(context, *copy_info, names, expected_types); + + CopyFunctionBindInput function_bind_input(*copy_info); + bind_data = function.copy_to_bind(context, function_bind_input, names, expected_types); } + auto default_extension = function.extension; + + auto file_extension = + deserializer.ReadPropertyWithDefault(213, "file_extension", std::move(default_extension)); + auto result = make_uniq(function, std::move(bind_data), std::move(copy_info)); result->file_path = file_path; result->use_tmp_file = use_tmp_file; result->filename_pattern = filename_pattern; + result->file_extension = file_extension; result->overwrite_or_ignore = overwrite_or_ignore; result->per_thread_output = per_thread_output; result->partition_output = partition_output; diff --git a/src/planner/operator/logical_create_table.cpp b/src/planner/operator/logical_create_table.cpp index 906fe6831f39..76b2cc91f349 100644 --- a/src/planner/operator/logical_create_table.cpp +++ b/src/planner/operator/logical_create_table.cpp @@ -1,5 +1,7 @@ #include "duckdb/planner/operator/logical_create_table.hpp" +#include "duckdb/planner/binder.hpp" + namespace duckdb { LogicalCreateTable::LogicalCreateTable(SchemaCatalogEntry &schema, unique_ptr info) diff --git a/src/planner/operator/logical_get.cpp b/src/planner/operator/logical_get.cpp index 25b4a6bc8270..1ee9256189ed 100644 --- a/src/planner/operator/logical_get.cpp +++ b/src/planner/operator/logical_get.cpp @@ -23,7 +23,10 @@ LogicalGet::LogicalGet(idx_t table_index, TableFunction function, unique_ptr LogicalGet::GetTable() const { - return TableScanFunction::GetTableEntry(function, bind_data.get()); + if (!function.get_bind_info) { + return nullptr; + } + return function.get_bind_info(bind_data.get()).table; } string LogicalGet::ParamsToString() const { diff --git a/src/planner/operator/logical_join.cpp b/src/planner/operator/logical_join.cpp index 3c78d81be72c..eacf7b8e75f4 100644 --- a/src/planner/operator/logical_join.cpp +++ b/src/planner/operator/logical_join.cpp @@ -15,6 +15,7 @@ vector LogicalJoin::GetColumnBindings() { // for SEMI and ANTI join we only project the left hand side return left_bindings; } + if (join_type == JoinType::MARK) { // for MARK join we project the left hand side plus the MARK column left_bindings.emplace_back(mark_index, 0); @@ -22,6 +23,9 @@ vector LogicalJoin::GetColumnBindings() { } // for other join types we project both the LHS and the RHS auto right_bindings = MapBindings(children[1]->GetColumnBindings(), right_projection_map); + if (join_type == JoinType::RIGHT_SEMI || join_type == JoinType::RIGHT_ANTI) { + return right_bindings; + } left_bindings.insert(left_bindings.end(), right_bindings.begin(), right_bindings.end()); return left_bindings; } @@ -39,6 +43,10 @@ void LogicalJoin::ResolveTypes() { } // for any other join we project both sides auto right_types = MapTypes(children[1]->types, right_projection_map); + if (join_type == JoinType::RIGHT_SEMI || join_type == JoinType::RIGHT_ANTI) { + types = right_types; + return; + } types.insert(types.end(), right_types.begin(), right_types.end()); } diff --git a/src/planner/planner.cpp b/src/planner/planner.cpp index afda697951b5..7194c10d3a25 100644 --- a/src/planner/planner.cpp +++ b/src/planner/planner.cpp @@ -47,33 +47,33 @@ void Planner::CreatePlan(SQLStatement &statement) { auto max_tree_depth = ClientConfig::GetConfig(context).max_expression_depth; CheckTreeDepth(*plan, max_tree_depth); - } catch (const ParameterNotResolvedException &ex) { - // parameter types could not be resolved - this->names = {"unknown"}; - this->types = {LogicalTypeId::UNKNOWN}; + } catch (const std::exception &ex) { + ErrorData error(ex); this->plan = nullptr; - parameters_resolved = false; - } catch (const BinderException &ex) { - throw; - } catch (const Exception &ex) { - auto &config = DBConfig::GetConfig(context); - - this->plan = nullptr; - for (auto &extension_op : config.operator_extensions) { - auto bound_statement = - extension_op->Bind(context, *this->binder, extension_op->operator_info.get(), statement); - if (bound_statement.plan != nullptr) { - this->names = bound_statement.names; - this->types = bound_statement.types; - this->plan = std::move(bound_statement.plan); - break; + if (error.Type() == ExceptionType::PARAMETER_NOT_RESOLVED) { + // parameter types could not be resolved + this->names = {"unknown"}; + this->types = {LogicalTypeId::UNKNOWN}; + parameters_resolved = false; + } else if (error.Type() != ExceptionType::INVALID) { + // different exception type - try operator_extensions + auto &config = DBConfig::GetConfig(context); + for (auto &extension_op : config.operator_extensions) { + auto bound_statement = + extension_op->Bind(context, *this->binder, extension_op->operator_info.get(), statement); + if (bound_statement.plan != nullptr) { + this->names = bound_statement.names; + this->types = bound_statement.types; + this->plan = std::move(bound_statement.plan); + break; + } } - } - if (!this->plan) { + if (!this->plan) { + throw; + } + } else { throw; } - } catch (std::exception &ex) { - throw; } this->properties = binder->properties; this->properties.parameter_count = parameter_count; @@ -128,7 +128,6 @@ void Planner::CreatePlan(unique_ptr statement) { case StatementType::CALL_STATEMENT: case StatementType::EXPORT_STATEMENT: case StatementType::PRAGMA_STATEMENT: - case StatementType::SHOW_STATEMENT: case StatementType::SET_STATEMENT: case StatementType::LOAD_STATEMENT: case StatementType::EXTENSION_STATEMENT: @@ -137,6 +136,7 @@ void Planner::CreatePlan(unique_ptr statement) { case StatementType::LOGICAL_PLAN_STATEMENT: case StatementType::ATTACH_STATEMENT: case StatementType::DETACH_STATEMENT: + case StatementType::COPY_DATABASE_STATEMENT: CreatePlan(*statement); break; default: diff --git a/src/planner/pragma_handler.cpp b/src/planner/pragma_handler.cpp index 34ed424032c7..7e0b8eab7c4f 100644 --- a/src/planner/pragma_handler.cpp +++ b/src/planner/pragma_handler.cpp @@ -5,7 +5,7 @@ #include "duckdb/catalog/catalog.hpp" #include "duckdb/catalog/catalog_entry/pragma_function_catalog_entry.hpp" #include "duckdb/parser/statement/multi_statement.hpp" -#include "duckdb/parser/parsed_data/pragma_info.hpp" +#include "duckdb/parser/parsed_data/bound_pragma_info.hpp" #include "duckdb/function/function.hpp" #include "duckdb/main/client_context.hpp" @@ -33,7 +33,7 @@ void PragmaHandler::HandlePragmaStatementsInternal(vectorCast()).info; - auto &entry = Catalog::GetEntry(context, INVALID_CATALOG, DEFAULT_SCHEMA, info.name); - string error; - - FunctionBinder function_binder(context); - idx_t bound_idx = function_binder.BindFunction(entry.name, entry.functions, info, error); - if (bound_idx == DConstants::INVALID_INDEX) { - throw BinderException(error); - } - auto bound_function = entry.functions.GetFunctionByOffset(bound_idx); - if (bound_function.query) { - QueryErrorContext error_context(statement, statement->stmt_location); - Binder::BindNamedParameters(bound_function.named_parameters, info.named_parameters, error_context, - bound_function.name); - FunctionParameters parameters {info.parameters, info.named_parameters}; - resulting_query = bound_function.query(context, parameters); +bool PragmaHandler::HandlePragma(SQLStatement &statement, string &resulting_query) { + auto info = statement.Cast().info->Copy(); + QueryErrorContext error_context(statement.stmt_location); + auto binder = Binder::CreateBinder(context); + auto bound_info = binder->BindPragma(*info, error_context); + if (bound_info->function.query) { + FunctionParameters parameters {bound_info->parameters, bound_info->named_parameters}; + resulting_query = bound_info->function.query(context, parameters); return true; } return false; diff --git a/src/planner/subquery/CMakeLists.txt b/src/planner/subquery/CMakeLists.txt index a3c0f413dc0c..80842f15e04e 100644 --- a/src/planner/subquery/CMakeLists.txt +++ b/src/planner/subquery/CMakeLists.txt @@ -1,6 +1,7 @@ add_library_unity( duckdb_planner_subquery OBJECT flatten_dependent_join.cpp - has_correlated_expressions.cpp rewrite_correlated_expressions.cpp) + has_correlated_expressions.cpp rewrite_correlated_expressions.cpp + rewrite_cte_scan.cpp) set(ALL_OBJECT_FILES ${ALL_OBJECT_FILES} $ PARENT_SCOPE) diff --git a/src/planner/subquery/flatten_dependent_join.cpp b/src/planner/subquery/flatten_dependent_join.cpp index 9c3632fec91d..6720e8ad3c15 100644 --- a/src/planner/subquery/flatten_dependent_join.cpp +++ b/src/planner/subquery/flatten_dependent_join.cpp @@ -10,6 +10,7 @@ #include "duckdb/planner/operator/list.hpp" #include "duckdb/planner/subquery/has_correlated_expressions.hpp" #include "duckdb/planner/subquery/rewrite_correlated_expressions.hpp" +#include "duckdb/planner/subquery/rewrite_cte_scan.hpp" #include "duckdb/planner/operator/logical_dependent_join.hpp" namespace duckdb { @@ -54,6 +55,35 @@ bool FlattenDependentJoins::DetectCorrelatedExpressions(LogicalOperator *op, boo } // set the entry in the map has_correlated_expressions[op] = has_correlation; + + // If we detect correlation in a materialized or recursive CTE, the entire right side of the operator + // needs to be marked as correlated. Otherwise, function PushDownDependentJoinInternal does not do the + // right thing. + if (op->type == LogicalOperatorType::LOGICAL_MATERIALIZED_CTE || + op->type == LogicalOperatorType::LOGICAL_RECURSIVE_CTE) { + if (has_correlation) { + MarkSubtreeCorrelated(*op->children[1].get()); + } + } + return has_correlation; +} + +bool FlattenDependentJoins::MarkSubtreeCorrelated(LogicalOperator &op) { + // Do not mark base table scans as correlated + auto entry = has_correlated_expressions.find(&op); + D_ASSERT(entry != has_correlated_expressions.end()); + bool has_correlation = entry->second; + for (auto &child : op.children) { + has_correlation |= MarkSubtreeCorrelated(*child.get()); + } + if (op.type != LogicalOperatorType::LOGICAL_GET || op.children.size() == 1) { + if (op.type == LogicalOperatorType::LOGICAL_CTE_REF) { + has_correlated_expressions[&op] = true; + return true; + } else { + has_correlated_expressions[&op] = has_correlation; + } + } return has_correlation; } @@ -94,6 +124,18 @@ unique_ptr FlattenDependentJoins::PushDownDependentJoinInternal // we reached a node without correlated expressions // we can eliminate the dependent join now and create a simple cross product // now create the duplicate eliminated scan for this node + if (plan->type == LogicalOperatorType::LOGICAL_CTE_REF) { + auto &op = plan->Cast(); + + auto rec_cte = binder.recursive_ctes.find(op.cte_index); + if (rec_cte != binder.recursive_ctes.end()) { + D_ASSERT(rec_cte->second->type == LogicalOperatorType::LOGICAL_RECURSIVE_CTE); + auto &rec_cte_op = rec_cte->second->Cast(); + RewriteCTEScan cte_rewriter(op.cte_index, rec_cte_op.correlated_columns); + cte_rewriter.VisitOperator(*plan); + } + } + auto left_columns = plan->GetColumnBindings().size(); auto delim_index = binder.GenerateTableIndex(); this->base_binding = ColumnBinding(delim_index, 0); @@ -284,7 +326,7 @@ unique_ptr FlattenDependentJoins::PushDownDependentJoinInternal case LogicalOperatorType::LOGICAL_DEPENDENT_JOIN: { auto &dependent_join = plan->Cast(); if (!((dependent_join.join_type == JoinType::INNER) || (dependent_join.join_type == JoinType::LEFT))) { - throw Exception("Dependent join can only be INNER or LEFT type"); + throw NotImplementedException("Dependent join can only be INNER or LEFT type"); } D_ASSERT(plan->children.size() == 2); // Push all the bindings down to the left side so the right side knows where to refer DELIM_GET from @@ -345,7 +387,7 @@ unique_ptr FlattenDependentJoins::PushDownDependentJoinInternal } } else if (join.join_type == JoinType::MARK) { if (right_has_correlation) { - throw Exception("MARK join with correlation in RHS not supported"); + throw NotImplementedException("MARK join with correlation in RHS not supported"); } // push the child into the LHS plan->children[0] = PushDownDependentJoinInternal(std::move(plan->children[0]), @@ -355,7 +397,7 @@ unique_ptr FlattenDependentJoins::PushDownDependentJoinInternal rewriter.VisitOperator(*plan); return plan; } else { - throw Exception("Unsupported join type for flattening correlated subquery"); + throw NotImplementedException("Unsupported join type for flattening correlated subquery"); } // both sides have correlation // push into both sides @@ -575,11 +617,62 @@ unique_ptr FlattenDependentJoins::PushDownDependentJoinInternal this->data_offset = 0; return plan; } + case LogicalOperatorType::LOGICAL_MATERIALIZED_CTE: case LogicalOperatorType::LOGICAL_RECURSIVE_CTE: { - throw BinderException("Recursive CTEs not (yet) supported in correlated subquery"); + +#ifdef DEBUG + plan->children[0]->ResolveOperatorTypes(); + plan->children[1]->ResolveOperatorTypes(); +#endif + idx_t table_index = 0; + plan->children[0] = + PushDownDependentJoinInternal(std::move(plan->children[0]), parent_propagate_null_values, lateral_depth); + if (plan->type == LogicalOperatorType::LOGICAL_RECURSIVE_CTE) { + auto &setop = plan->Cast(); + base_binding.table_index = setop.table_index; + base_binding.column_index = setop.column_count; + table_index = setop.table_index; + setop.correlated_columns = correlated_columns; + } else if (plan->type == LogicalOperatorType::LOGICAL_MATERIALIZED_CTE) { + auto &setop = plan->Cast(); + base_binding.table_index = setop.table_index; + base_binding.column_index = setop.column_count; + table_index = setop.table_index; + } + + RewriteCTEScan cte_rewriter(table_index, correlated_columns); + cte_rewriter.VisitOperator(*plan->children[1]); + + parent_propagate_null_values = false; + plan->children[1] = + PushDownDependentJoinInternal(std::move(plan->children[1]), parent_propagate_null_values, lateral_depth); + RewriteCorrelatedExpressions rewriter(this->base_binding, correlated_map, lateral_depth); + rewriter.VisitOperator(*plan); + + RewriteCorrelatedExpressions recursive_rewriter(this->base_binding, correlated_map, lateral_depth, true); + recursive_rewriter.VisitOperator(*plan->children[0]); + recursive_rewriter.VisitOperator(*plan->children[1]); + +#ifdef DEBUG + plan->children[0]->ResolveOperatorTypes(); + plan->children[1]->ResolveOperatorTypes(); +#endif + if (plan->type == LogicalOperatorType::LOGICAL_RECURSIVE_CTE) { + // we have to refer to the recursive CTE index now + auto &setop = plan->Cast(); + base_binding.table_index = setop.table_index; + base_binding.column_index = setop.column_count; + setop.column_count += correlated_columns.size(); + } + + return plan; } - case LogicalOperatorType::LOGICAL_MATERIALIZED_CTE: { - throw BinderException("Materialized CTEs not (yet) supported in correlated subquery"); + case LogicalOperatorType::LOGICAL_CTE_REF: { + auto &cteref = plan->Cast(); + // Read correlated columns from CTE_SCAN instead of from DELIM_SCAN + base_binding.table_index = cteref.table_index; + base_binding.column_index = cteref.chunk_types.size() - cteref.correlated_columns; + return plan; } case LogicalOperatorType::LOGICAL_DELIM_JOIN: { throw BinderException("Nested lateral joins or lateral joins in correlated subqueries are not (yet) supported"); diff --git a/src/planner/subquery/rewrite_cte_scan.cpp b/src/planner/subquery/rewrite_cte_scan.cpp new file mode 100644 index 000000000000..5ac0a59beff1 --- /dev/null +++ b/src/planner/subquery/rewrite_cte_scan.cpp @@ -0,0 +1,36 @@ +#include "duckdb/planner/subquery/rewrite_cte_scan.hpp" + +#include "duckdb/planner/operator/list.hpp" + +#include "duckdb/planner/expression/bound_case_expression.hpp" +#include "duckdb/planner/expression/bound_columnref_expression.hpp" +#include "duckdb/planner/expression/bound_constant_expression.hpp" +#include "duckdb/planner/expression/bound_operator_expression.hpp" +#include "duckdb/planner/expression/bound_subquery_expression.hpp" +#include "duckdb/planner/query_node/bound_select_node.hpp" +#include "duckdb/planner/expression_iterator.hpp" +#include "duckdb/planner/tableref/bound_joinref.hpp" +#include "duckdb/planner/operator/logical_dependent_join.hpp" + +namespace duckdb { + +RewriteCTEScan::RewriteCTEScan(idx_t table_index, const vector &correlated_columns) + : table_index(table_index), correlated_columns(correlated_columns) { +} + +void RewriteCTEScan::VisitOperator(LogicalOperator &op) { + if (op.type == LogicalOperatorType::LOGICAL_CTE_REF) { + auto &cteref = op.Cast(); + + if (cteref.cte_index == table_index) { + for (auto &c : this->correlated_columns) { + cteref.chunk_types.push_back(c.type); + cteref.bound_columns.push_back(c.name); + } + cteref.correlated_columns += correlated_columns.size(); + } + } + VisitOperatorChildren(op); +} + +} // namespace duckdb diff --git a/src/planner/table_binding.cpp b/src/planner/table_binding.cpp index aec069f3cb78..1709a4524f72 100644 --- a/src/planner/table_binding.cpp +++ b/src/planner/table_binding.cpp @@ -52,8 +52,9 @@ bool Binding::HasMatchingBinding(const string &column_name) { return TryGetBindingIndex(column_name, result); } -string Binding::ColumnNotFoundError(const string &column_name) const { - return StringUtil::Format("Values list \"%s\" does not have a column named \"%s\"", alias, column_name); +ErrorData Binding::ColumnNotFoundError(const string &column_name) const { + return ErrorData(ExceptionType::BINDER, + StringUtil::Format("Values list \"%s\" does not have a column named \"%s\"", alias, column_name)); } BindResult Binding::Bind(ColumnRefExpression &colref, idx_t depth) { @@ -218,14 +219,15 @@ optional_ptr TableBinding::GetStandardEntry() { return entry; } -string TableBinding::ColumnNotFoundError(const string &column_name) const { - return StringUtil::Format("Table \"%s\" does not have a column named \"%s\"", alias, column_name); +ErrorData TableBinding::ColumnNotFoundError(const string &column_name) const { + return ErrorData(ExceptionType::BINDER, + StringUtil::Format("Table \"%s\" does not have a column named \"%s\"", alias, column_name)); } -DummyBinding::DummyBinding(vector types_p, vector names_p, string dummy_name_p) - : Binding(BindingType::DUMMY, DummyBinding::DUMMY_NAME + dummy_name_p, std::move(types_p), std::move(names_p), +DummyBinding::DummyBinding(vector types, vector names, string dummy_name) + : Binding(BindingType::DUMMY, DummyBinding::DUMMY_NAME + dummy_name, std::move(types), std::move(names), DConstants::INVALID_INDEX), - dummy_name(std::move(dummy_name_p)) { + dummy_name(std::move(dummy_name)) { } BindResult DummyBinding::Bind(ColumnRefExpression &colref, idx_t depth) { @@ -239,14 +241,14 @@ BindResult DummyBinding::Bind(ColumnRefExpression &colref, idx_t depth) { return BindResult(make_uniq(colref.GetName(), types[column_index], binding, depth)); } -BindResult DummyBinding::Bind(ColumnRefExpression &colref, idx_t lambda_index, idx_t depth) { +BindResult DummyBinding::Bind(LambdaRefExpression &lambdaref, idx_t depth) { column_t column_index; - if (!TryGetBindingIndex(colref.GetColumnName(), column_index)) { - throw InternalException("Column %s not found in bindings", colref.GetColumnName()); + if (!TryGetBindingIndex(lambdaref.GetName(), column_index)) { + throw InternalException("Column %s not found in bindings", lambdaref.GetName()); } ColumnBinding binding(index, column_index); - return BindResult( - make_uniq(colref.GetName(), types[column_index], binding, lambda_index, depth)); + return BindResult(make_uniq(lambdaref.GetName(), types[column_index], binding, + lambdaref.lambda_idx, depth)); } unique_ptr DummyBinding::ParamToArg(ColumnRefExpression &colref) { diff --git a/src/storage/CMakeLists.txt b/src/storage/CMakeLists.txt index 9491feb50dae..4dd78dd02c1b 100644 --- a/src/storage/CMakeLists.txt +++ b/src/storage/CMakeLists.txt @@ -12,6 +12,7 @@ add_library_unity( arena_allocator.cpp buffer_manager.cpp checkpoint_manager.cpp + temporary_memory_manager.cpp block.cpp data_pointer.cpp data_table.cpp diff --git a/src/storage/buffer/block_handle.cpp b/src/storage/buffer/block_handle.cpp index a9c9f96723c7..e462fd73e923 100644 --- a/src/storage/buffer/block_handle.cpp +++ b/src/storage/buffer/block_handle.cpp @@ -8,18 +8,20 @@ namespace duckdb { -BlockHandle::BlockHandle(BlockManager &block_manager, block_id_t block_id_p) - : block_manager(block_manager), readers(0), block_id(block_id_p), buffer(nullptr), eviction_timestamp(0), - can_destroy(false), memory_charge(block_manager.buffer_manager.GetBufferPool()), unswizzled(nullptr) { +BlockHandle::BlockHandle(BlockManager &block_manager, block_id_t block_id_p, MemoryTag tag) + : block_manager(block_manager), readers(0), block_id(block_id_p), tag(tag), buffer(nullptr), eviction_timestamp(0), + can_destroy(false), memory_charge(tag, block_manager.buffer_manager.GetBufferPool()), unswizzled(nullptr) { eviction_timestamp = 0; state = BlockState::BLOCK_UNLOADED; memory_usage = Storage::BLOCK_ALLOC_SIZE; } -BlockHandle::BlockHandle(BlockManager &block_manager, block_id_t block_id_p, unique_ptr buffer_p, - bool can_destroy_p, idx_t block_size, BufferPoolReservation &&reservation) - : block_manager(block_manager), readers(0), block_id(block_id_p), eviction_timestamp(0), can_destroy(can_destroy_p), - memory_charge(block_manager.buffer_manager.GetBufferPool()), unswizzled(nullptr) { +BlockHandle::BlockHandle(BlockManager &block_manager, block_id_t block_id_p, MemoryTag tag, + unique_ptr buffer_p, bool can_destroy_p, idx_t block_size, + BufferPoolReservation &&reservation) + : block_manager(block_manager), readers(0), block_id(block_id_p), tag(tag), eviction_timestamp(0), + can_destroy(can_destroy_p), memory_charge(tag, block_manager.buffer_manager.GetBufferPool()), + unswizzled(nullptr) { buffer = std::move(buffer_p); state = BlockState::BLOCK_LOADED; memory_usage = block_size; @@ -78,8 +80,8 @@ BufferHandle BlockHandle::Load(shared_ptr &handle, unique_ptrcan_destroy) { return BufferHandle(); } else { - handle->buffer = - block_manager.buffer_manager.ReadTemporaryBuffer(handle->block_id, std::move(reusable_buffer)); + handle->buffer = block_manager.buffer_manager.ReadTemporaryBuffer(handle->tag, handle->block_id, + std::move(reusable_buffer)); } } handle->state = BlockState::BLOCK_LOADED; @@ -96,7 +98,7 @@ unique_ptr BlockHandle::UnloadAndTakeBlock() { if (block_id >= MAXIMUM_BLOCK && !can_destroy) { // temporary block that cannot be destroyed: write to temporary file - block_manager.buffer_manager.WriteTemporaryBuffer(block_id, *buffer); + block_manager.buffer_manager.WriteTemporaryBuffer(tag, block_id, *buffer); } memory_charge.Resize(0); state = BlockState::BLOCK_UNLOADED; diff --git a/src/storage/buffer/block_manager.cpp b/src/storage/buffer/block_manager.cpp index 20871d0131e6..bc35dff61c3d 100644 --- a/src/storage/buffer/block_manager.cpp +++ b/src/storage/buffer/block_manager.cpp @@ -23,7 +23,7 @@ shared_ptr BlockManager::RegisterBlock(block_id_t block_id) { } } // create a new block pointer for this block - auto result = make_shared(*this, block_id); + auto result = make_shared(*this, block_id, MemoryTag::BASE_TABLE); // register the block pointer in the set of blocks as a weak pointer blocks[block_id] = weak_ptr(result); return result; diff --git a/src/storage/buffer/buffer_pool.cpp b/src/storage/buffer/buffer_pool.cpp index b1701db0bc47..6940ac2bf71e 100644 --- a/src/storage/buffer/buffer_pool.cpp +++ b/src/storage/buffer/buffer_pool.cpp @@ -1,6 +1,8 @@ #include "duckdb/storage/buffer/buffer_pool.hpp" -#include "duckdb/parallel/concurrentqueue.hpp" + #include "duckdb/common/exception.hpp" +#include "duckdb/parallel/concurrentqueue.hpp" +#include "duckdb/storage/temporary_memory_manager.hpp" namespace duckdb { @@ -33,7 +35,11 @@ shared_ptr BufferEvictionNode::TryGetBlockHandle() { } BufferPool::BufferPool(idx_t maximum_memory) - : current_memory(0), maximum_memory(maximum_memory), queue(make_uniq()), queue_insertions(0) { + : current_memory(0), maximum_memory(maximum_memory), queue(make_uniq()), queue_insertions(0), + temporary_memory_manager(make_uniq()) { + for (idx_t i = 0; i < MEMORY_TAG_COUNT; i++) { + memory_usage_per_tag[i] = 0; + } } BufferPool::~BufferPool() { } @@ -50,21 +56,31 @@ void BufferPool::AddToEvictionQueue(shared_ptr &handle) { queue->q.enqueue(BufferEvictionNode(weak_ptr(handle), handle->eviction_timestamp)); } -void BufferPool::IncreaseUsedMemory(idx_t size) { +void BufferPool::IncreaseUsedMemory(MemoryTag tag, idx_t size) { current_memory += size; + memory_usage_per_tag[uint8_t(tag)] += size; } -idx_t BufferPool::GetUsedMemory() { +idx_t BufferPool::GetUsedMemory() const { return current_memory; } -idx_t BufferPool::GetMaxMemory() { + +idx_t BufferPool::GetMaxMemory() const { return maximum_memory; } -BufferPool::EvictionResult BufferPool::EvictBlocks(idx_t extra_memory, idx_t memory_limit, +idx_t BufferPool::GetQueryMaxMemory() const { + return GetMaxMemory(); +} + +TemporaryMemoryManager &BufferPool::GetTemporaryMemoryManager() { + return *temporary_memory_manager; +} + +BufferPool::EvictionResult BufferPool::EvictBlocks(MemoryTag tag, idx_t extra_memory, idx_t memory_limit, unique_ptr *buffer) { BufferEvictionNode node; - TempBufferPoolReservation r(*this, extra_memory); + TempBufferPoolReservation r(tag, *this, extra_memory); while (current_memory > memory_limit) { // get a block to unpin from the queue if (!queue->q.try_dequeue(node)) { @@ -115,7 +131,7 @@ void BufferPool::PurgeQueue() { void BufferPool::SetLimit(idx_t limit, const char *exception_postscript) { lock_guard l_lock(limit_lock); // try to evict until the limit is reached - if (!EvictBlocks(0, limit).success) { + if (!EvictBlocks(MemoryTag::EXTENSION, 0, limit).success) { throw OutOfMemoryException( "Failed to change memory limit to %lld: could not free up enough memory for the new limit%s", limit, exception_postscript); @@ -124,7 +140,7 @@ void BufferPool::SetLimit(idx_t limit, const char *exception_postscript) { // set the global maximum memory to the new limit if successful maximum_memory = limit; // evict again - if (!EvictBlocks(0, limit).success) { + if (!EvictBlocks(MemoryTag::EXTENSION, 0, limit).success) { // failed: go back to old limit maximum_memory = old_limit; throw OutOfMemoryException( diff --git a/src/storage/buffer/buffer_pool_reservation.cpp b/src/storage/buffer/buffer_pool_reservation.cpp index 312d3bf148f1..c602af1dfc55 100644 --- a/src/storage/buffer/buffer_pool_reservation.cpp +++ b/src/storage/buffer/buffer_pool_reservation.cpp @@ -3,15 +3,16 @@ namespace duckdb { -BufferPoolReservation::BufferPoolReservation(BufferPool &pool) : pool(pool) { +BufferPoolReservation::BufferPoolReservation(MemoryTag tag, BufferPool &pool) : tag(tag), pool(pool) { } -BufferPoolReservation::BufferPoolReservation(BufferPoolReservation &&src) noexcept : pool(src.pool) { +BufferPoolReservation::BufferPoolReservation(BufferPoolReservation &&src) noexcept : tag(src.tag), pool(src.pool) { size = src.size; src.size = 0; } BufferPoolReservation &BufferPoolReservation::operator=(BufferPoolReservation &&src) noexcept { + tag = src.tag; size = src.size; src.size = 0; return *this; @@ -23,7 +24,7 @@ BufferPoolReservation::~BufferPoolReservation() { void BufferPoolReservation::Resize(idx_t new_size) { int64_t delta = (int64_t)new_size - size; - pool.IncreaseUsedMemory(delta); + pool.IncreaseUsedMemory(tag, delta); size = new_size; } diff --git a/src/storage/buffer_manager.cpp b/src/storage/buffer_manager.cpp index 9cd61aecf504..5b0a89296c9c 100644 --- a/src/storage/buffer_manager.cpp +++ b/src/storage/buffer_manager.cpp @@ -1,7 +1,9 @@ #include "duckdb/storage/buffer_manager.hpp" + #include "duckdb/common/allocator.hpp" #include "duckdb/common/exception.hpp" #include "duckdb/common/file_buffer.hpp" +#include "duckdb/storage/buffer/buffer_pool.hpp" #include "duckdb/storage/standard_buffer_manager.hpp" namespace duckdb { @@ -37,10 +39,14 @@ const string &BufferManager::GetTemporaryDirectory() { throw InternalException("This type of BufferManager does not allow a temporary directory"); } -BufferPool &BufferManager::GetBufferPool() { +BufferPool &BufferManager::GetBufferPool() const { throw InternalException("This type of BufferManager does not have a buffer pool"); } +TemporaryMemoryManager &BufferManager::GetTemporaryMemoryManager() { + throw NotImplementedException("This type of BufferManager does not have a TemporaryMemoryManager"); +} + void BufferManager::SetTemporaryDirectory(const string &new_dir) { throw NotImplementedException("This type of BufferManager can not set a temporary directory"); } @@ -53,6 +59,11 @@ bool BufferManager::HasTemporaryDirectory() const { return false; } +//! Returns the maximum available memory for a given query +idx_t BufferManager::GetQueryMaxMemory() const { + return GetBufferPool().GetQueryMaxMemory(); +} + unique_ptr BufferManager::ConstructManagedBuffer(idx_t size, unique_ptr &&source, FileBufferType type) { throw NotImplementedException("This type of BufferManager can not construct managed buffers"); @@ -64,11 +75,11 @@ void BufferManager::AddToEvictionQueue(shared_ptr &handle) { throw NotImplementedException("This type of BufferManager does not support 'AddToEvictionQueue"); } -void BufferManager::WriteTemporaryBuffer(block_id_t block_id, FileBuffer &buffer) { +void BufferManager::WriteTemporaryBuffer(MemoryTag tag, block_id_t block_id, FileBuffer &buffer) { throw NotImplementedException("This type of BufferManager does not support 'WriteTemporaryBuffer"); } -unique_ptr BufferManager::ReadTemporaryBuffer(block_id_t id, unique_ptr buffer) { +unique_ptr BufferManager::ReadTemporaryBuffer(MemoryTag tag, block_id_t id, unique_ptr buffer) { throw NotImplementedException("This type of BufferManager does not support 'ReadTemporaryBuffer"); } diff --git a/src/storage/checkpoint/row_group_writer.cpp b/src/storage/checkpoint/row_group_writer.cpp index 18e4d1dd576e..3845782cad3c 100644 --- a/src/storage/checkpoint/row_group_writer.cpp +++ b/src/storage/checkpoint/row_group_writer.cpp @@ -9,14 +9,6 @@ CompressionType RowGroupWriter::GetColumnCompressionType(idx_t i) { return table.GetColumn(LogicalIndex(i)).CompressionType(); } -void RowGroupWriter::RegisterPartialBlock(PartialBlockAllocation &&allocation) { - partial_block_manager.RegisterPartialBlock(std::move(allocation)); -} - -PartialBlockAllocation RowGroupWriter::GetBlockAllocation(uint32_t segment_size) { - return partial_block_manager.GetBlockAllocation(segment_size); -} - void SingleFileRowGroupWriter::WriteColumnDataPointers(ColumnCheckpointState &column_checkpoint_state, Serializer &serializer) { const auto &data_pointers = column_checkpoint_state.data_pointers; diff --git a/src/storage/checkpoint/table_data_writer.cpp b/src/storage/checkpoint/table_data_writer.cpp index 4c7168bea832..5382da0bf2ad 100644 --- a/src/storage/checkpoint/table_data_writer.cpp +++ b/src/storage/checkpoint/table_data_writer.cpp @@ -2,9 +2,10 @@ #include "duckdb/catalog/catalog_entry/duck_table_entry.hpp" #include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" +#include "duckdb/common/serializer/binary_serializer.hpp" #include "duckdb/storage/table/column_checkpoint_state.hpp" #include "duckdb/storage/table/table_statistics.hpp" -#include "duckdb/common/serializer/binary_serializer.hpp" +#include "duckdb/parallel/task_scheduler.hpp" namespace duckdb { @@ -29,6 +30,10 @@ void TableDataWriter::AddRowGroup(RowGroupPointer &&row_group_pointer, unique_pt writer.reset(); } +TaskScheduler &TableDataWriter::GetScheduler() { + return TaskScheduler::GetScheduler(table.ParentCatalog().GetDatabase()); +} + SingleFileTableDataWriter::SingleFileTableDataWriter(SingleFileCheckpointWriter &checkpoint_manager, TableCatalogEntry &table, MetadataWriter &table_data_writer) : TableDataWriter(table), checkpoint_manager(checkpoint_manager), table_data_writer(table_data_writer) { @@ -39,7 +44,7 @@ unique_ptr SingleFileTableDataWriter::GetRowGroupWriter(RowGroup } void SingleFileTableDataWriter::FinalizeTable(TableStatistics &&global_stats, DataTableInfo *info, - Serializer &metadata_serializer) { + Serializer &serializer) { // store the current position in the metadata writer // this is where the row groups for this table start auto pointer = table_data_writer.GetMetaBlockPointer(); @@ -66,13 +71,16 @@ void SingleFileTableDataWriter::FinalizeTable(TableStatistics &&global_stats, Da row_group_serializer.End(); } - auto index_pointers = info->indexes.SerializeIndexes(table_data_writer); - // Now begin the metadata as a unit // Pointer to the table itself goes to the metadata stream. - metadata_serializer.WriteProperty(101, "table_pointer", pointer); - metadata_serializer.WriteProperty(102, "total_rows", total_rows); - metadata_serializer.WriteProperty(103, "index_pointers", index_pointers); + serializer.WriteProperty(101, "table_pointer", pointer); + serializer.WriteProperty(102, "total_rows", total_rows); + + auto index_storage_infos = info->indexes.GetStorageInfos(); + // write empty block pointers for forwards compatibility + vector compat_block_pointers; + serializer.WriteProperty(103, "index_pointers", compat_block_pointers); + serializer.WritePropertyWithDefault(104, "index_storage_infos", index_storage_infos); } } // namespace duckdb diff --git a/src/storage/checkpoint/write_overflow_strings_to_disk.cpp b/src/storage/checkpoint/write_overflow_strings_to_disk.cpp index 3c0f08df5f82..665168ef96a1 100644 --- a/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +++ b/src/storage/checkpoint/write_overflow_strings_to_disk.cpp @@ -40,7 +40,7 @@ void WriteOverflowStringsToDisk::WriteString(UncompressedStringSegmentState &sta block_id_t &result_block, int32_t &result_offset) { auto &buffer_manager = block_manager.buffer_manager; if (!handle.IsValid()) { - handle = buffer_manager.Allocate(Storage::BLOCK_SIZE); + handle = buffer_manager.Allocate(MemoryTag::OVERFLOW_STRINGS, Storage::BLOCK_SIZE); } // first write the length of the string if (block_id == INVALID_BLOCK || offset + 2 * sizeof(uint32_t) >= STRING_SPACE) { diff --git a/src/storage/checkpoint_manager.cpp b/src/storage/checkpoint_manager.cpp index ffe7515c26c1..1f97b538ff80 100644 --- a/src/storage/checkpoint_manager.cpp +++ b/src/storage/checkpoint_manager.cpp @@ -1,14 +1,17 @@ #include "duckdb/storage/checkpoint_manager.hpp" -#include "duckdb/catalog/duck_catalog.hpp" #include "duckdb/catalog/catalog_entry/duck_index_entry.hpp" +#include "duckdb/catalog/catalog_entry/duck_table_entry.hpp" #include "duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp" -#include "duckdb/catalog/catalog_entry/duck_table_entry.hpp" #include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/view_catalog_entry.hpp" -#include "duckdb/execution/index/art/art.hpp" +#include "duckdb/catalog/catalog_entry/index_catalog_entry.hpp" +#include "duckdb/catalog/duck_catalog.hpp" +#include "duckdb/common/serializer/binary_deserializer.hpp" +#include "duckdb/common/serializer/binary_serializer.hpp" +#include "duckdb/main/attached_database.hpp" #include "duckdb/main/client_context.hpp" #include "duckdb/main/config.hpp" #include "duckdb/main/connection.hpp" @@ -25,9 +28,8 @@ #include "duckdb/storage/metadata/metadata_reader.hpp" #include "duckdb/storage/table/column_checkpoint_state.hpp" #include "duckdb/transaction/transaction_manager.hpp" -#include "duckdb/main/attached_database.hpp" -#include "duckdb/common/serializer/binary_serializer.hpp" -#include "duckdb/common/serializer/binary_deserializer.hpp" +#include "duckdb/execution/index/art/art.hpp" +#include "duckdb/execution/index/unknown_index.hpp" namespace duckdb { @@ -184,8 +186,11 @@ void SingleFileCheckpointWriter::CreateCheckpoint() { // CHECKPOINT "meta_block_id", and the id MATCHES the head idin the file we know that the database was successfully // checkpointed, so we know that we should avoid replaying the WAL to avoid duplicating data auto wal = storage_manager.GetWriteAheadLog(); - wal->WriteCheckpoint(meta_block); - wal->Flush(); + bool wal_is_empty = wal->GetWALSize() == 0; + if (!wal_is_empty) { + wal->WriteCheckpoint(meta_block); + wal->Flush(); + } if (config.options.checkpoint_abort == CheckpointAbort::DEBUG_ABORT_BEFORE_HEADER) { throw FatalException("Checkpoint aborted before header write because of PRAGMA checkpoint_abort flag"); @@ -194,6 +199,8 @@ void SingleFileCheckpointWriter::CreateCheckpoint() { // finally write the updated header DatabaseHeader header; header.meta_block = meta_block.block_pointer; + header.block_size = Storage::BLOCK_ALLOC_SIZE; + header.vector_size = STANDARD_VECTOR_SIZE; block_manager.WriteHeader(header); if (config.options.checkpoint_abort == CheckpointAbort::DEBUG_ABORT_BEFORE_TRUNCATE) { @@ -204,7 +211,9 @@ void SingleFileCheckpointWriter::CreateCheckpoint() { block_manager.Truncate(); // truncate the WAL - wal->Truncate(0); + if (!wal_is_empty) { + wal->Truncate(0); + } } void CheckpointReader::LoadCheckpoint(ClientContext &context, MetadataReader &reader) { @@ -375,38 +384,47 @@ void CheckpointReader::ReadSequence(ClientContext &context, Deserializer &deseri //===--------------------------------------------------------------------===// // Indexes //===--------------------------------------------------------------------===// -void CheckpointWriter::WriteIndex(IndexCatalogEntry &index_catalog, Serializer &serializer) { - // The index data is written as part of WriteTableData. - // Here, we need only serialize the pointer to that data. - auto root_block_pointer = index_catalog.index->GetRootBlockPointer(); - serializer.WriteProperty(100, "index", &index_catalog); - serializer.WriteProperty(101, "root_block_pointer", root_block_pointer); +void CheckpointWriter::WriteIndex(IndexCatalogEntry &index_catalog_entry, Serializer &serializer) { + // The index data is written as part of WriteTableData + // Here, we serialize the index catalog entry + + // we need to keep the tag "index", even though it is slightly misleading + serializer.WriteProperty(100, "index", &index_catalog_entry); } void CheckpointReader::ReadIndex(ClientContext &context, Deserializer &deserializer) { - // deserialize the index create info + // we need to keep the tag "index", even though it is slightly misleading. auto create_info = deserializer.ReadProperty>(100, "index"); auto &info = create_info->Cast(); + // also, we have to read the root_block_pointer, which will not be valid for newer storage versions. + // This leads to different code paths in this function. + auto root_block_pointer = + deserializer.ReadPropertyWithDefault(101, "root_block_pointer", BlockPointer()); + // create the index in the catalog - auto &schema = catalog.GetSchema(context, create_info->schema); + + // look for the table in the catalog auto &table = catalog.GetEntry(context, CatalogType::TABLE_ENTRY, create_info->schema, info.table).Cast(); - auto &index = schema.CreateIndex(context, info, table)->Cast(); + // we also need to make sure the index type is loaded + // backwards compatability: + // if the index type is not specified, we default to ART + if (info.index_type.empty()) { + info.index_type = ART::TYPE_NAME; + } + + // now we can look for the index in the catalog and assign the table info + auto &index = catalog.CreateIndex(context, info)->Cast(); + index.info = make_shared(table.GetStorage().info, info.index_name); - index.info = table.GetStorage().info; - // insert the parsed expressions into the stored index so that we correctly (de)serialize it during consecutive - // checkpoints + // insert the parsed expressions into the index so that we can (de)serialize them during consecutive checkpoints for (auto &parsed_expr : info.parsed_expressions) { index.parsed_expressions.push_back(parsed_expr->Copy()); } - // we deserialize the index lazily, i.e., we do not need to load any node information - // except the root block pointer - auto root_block_pointer = deserializer.ReadProperty(101, "root_block_pointer"); - // obtain the parsed expressions of the ART from the index metadata vector> parsed_expressions; for (auto &parsed_expr : info.parsed_expressions) { @@ -435,18 +453,37 @@ void CheckpointReader::ReadIndex(ClientContext &context, Deserializer &deseriali unbound_expressions.push_back(idx_binder.Bind(expr)); } - // create the index and add it to the storage - switch (info.index_type) { - case IndexType::ART: { - auto &storage = table.GetStorage(); - auto art = make_uniq(info.column_ids, TableIOManager::Get(storage), std::move(unbound_expressions), - info.constraint_type, storage.db, nullptr, root_block_pointer); + auto &data_table = table.GetStorage(); + IndexStorageInfo index_storage_info; + if (root_block_pointer.IsValid()) { + // this code path is necessary to read older duckdb files + index_storage_info.name = info.index_name; + index_storage_info.root_block_ptr = root_block_pointer; + + } else { + // get the matching index storage info + for (auto const &elem : data_table.info->index_storage_infos) { + if (elem.name == info.index_name) { + index_storage_info = elem; + break; + } + } + } + + D_ASSERT(index_storage_info.IsValid() && !index_storage_info.name.empty()); - index.index = art.get(); - storage.info->indexes.AddIndex(std::move(art)); - } break; - default: - throw InternalException("Unknown index type for ReadIndex"); + // This is executed before any extensions can be loaded, which is why we must treat any index type that is not + // built-in (ART) as unknown + if (info.index_type == ART::TYPE_NAME) { + data_table.info->indexes.AddIndex(make_uniq(info.index_name, info.constraint_type, info.column_ids, + TableIOManager::Get(data_table), unbound_expressions, + data_table.db, nullptr, index_storage_info)); + } else { + auto unknown_index = make_uniq(info.index_name, info.index_type, info.constraint_type, + info.column_ids, TableIOManager::Get(data_table), + unbound_expressions, data_table.db, info, index_storage_info); + + data_table.info->indexes.AddIndex(std::move(unknown_index)); } } @@ -490,7 +527,7 @@ void CheckpointReader::ReadTableMacro(ClientContext &context, Deserializer &dese // Table Metadata //===--------------------------------------------------------------------===// void CheckpointWriter::WriteTable(TableCatalogEntry &table, Serializer &serializer) { - // Write the table meta data + // Write the table metadata serializer.WriteProperty(100, "table", &table); // Write the table data @@ -506,7 +543,7 @@ void CheckpointReader::ReadTable(ClientContext &context, Deserializer &deseriali auto &schema = catalog.GetSchema(context, info->schema); auto bound_info = binder->BindCreateTableInfo(std::move(info), schema); - // now read the actual table data and place it into the create table info + // now read the actual table data and place it into the CreateTableInfo ReadTableData(context, deserializer, *bound_info); // finally create the table in the catalog @@ -516,10 +553,27 @@ void CheckpointReader::ReadTable(ClientContext &context, Deserializer &deseriali void CheckpointReader::ReadTableData(ClientContext &context, Deserializer &deserializer, BoundCreateTableInfo &bound_info) { - // This is written in "SingleFileTableDataWriter::FinalizeTable" + // written in "SingleFileTableDataWriter::FinalizeTable" auto table_pointer = deserializer.ReadProperty(101, "table_pointer"); auto total_rows = deserializer.ReadProperty(102, "total_rows"); - auto index_pointers = deserializer.ReadProperty>(103, "index_pointers"); + + // old file read + auto index_pointers = deserializer.ReadPropertyWithDefault>(103, "index_pointers", {}); + // new file read + auto index_storage_infos = + deserializer.ReadPropertyWithDefault>(104, "index_storage_infos", {}); + + if (!index_storage_infos.empty()) { + bound_info.indexes = index_storage_infos; + + } else { + // old duckdb file containing index pointers + for (idx_t i = 0; i < index_pointers.size(); i++) { + IndexStorageInfo index_storage_info; + index_storage_info.root_block_ptr = index_pointers[i]; + bound_info.indexes.push_back(index_storage_info); + } + } // FIXME: icky downcast to get the underlying MetadataReader auto &binary_deserializer = dynamic_cast(deserializer); @@ -530,7 +584,6 @@ void CheckpointReader::ReadTableData(ClientContext &context, Deserializer &deser data_reader.ReadTableData(); bound_info.data->total_rows = total_rows; - bound_info.indexes = index_pointers; } } // namespace duckdb diff --git a/src/storage/compression/CMakeLists.txt b/src/storage/compression/CMakeLists.txt index 5156569bba14..fa30a00f041d 100644 --- a/src/storage/compression/CMakeLists.txt +++ b/src/storage/compression/CMakeLists.txt @@ -1,4 +1,5 @@ add_subdirectory(chimp) +add_subdirectory(alp) add_library_unity( duckdb_storage_compression @@ -13,6 +14,7 @@ add_library_unity( bitpacking.cpp bitpacking_hugeint.cpp patas.cpp + alprd.cpp fsst.cpp) set(ALL_OBJECT_FILES ${ALL_OBJECT_FILES} $ diff --git a/src/storage/compression/alp/CMakeLists.txt b/src/storage/compression/alp/CMakeLists.txt new file mode 100644 index 000000000000..3aac40d94c71 --- /dev/null +++ b/src/storage/compression/alp/CMakeLists.txt @@ -0,0 +1,5 @@ +add_library_unity(duckdb_storage_compression_alp OBJECT alp_constants.cpp + alp.cpp) +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/src/storage/compression/alp/alp.cpp b/src/storage/compression/alp/alp.cpp new file mode 100644 index 000000000000..62d9caa22991 --- /dev/null +++ b/src/storage/compression/alp/alp.cpp @@ -0,0 +1,57 @@ +#include "duckdb/storage/compression/alp/alp_compress.hpp" +#include "duckdb/storage/compression/alp/alp_scan.hpp" +#include "duckdb/storage/compression/alp/alp_fetch.hpp" +#include "duckdb/storage/compression/alp/alp_analyze.hpp" + +#include "duckdb/function/compression/compression.hpp" +#include "duckdb/function/compression_function.hpp" +#include "duckdb/main/config.hpp" + +#include +#include + +namespace duckdb { + +template +CompressionFunction GetAlpFunction(PhysicalType data_type) { + throw NotImplementedException("GetAlpFunction not implemented for the given datatype"); +} + +template <> +CompressionFunction GetAlpFunction(PhysicalType data_type) { + return CompressionFunction(CompressionType::COMPRESSION_ALP, data_type, AlpInitAnalyze, AlpAnalyze, + AlpFinalAnalyze, AlpInitCompression, AlpCompress, + AlpFinalizeCompress, AlpInitScan, AlpScan, AlpScanPartial, + AlpFetchRow, AlpSkip); +} + +template <> +CompressionFunction GetAlpFunction(PhysicalType data_type) { + return CompressionFunction(CompressionType::COMPRESSION_ALP, data_type, AlpInitAnalyze, AlpAnalyze, + AlpFinalAnalyze, AlpInitCompression, AlpCompress, + AlpFinalizeCompress, AlpInitScan, AlpScan, + AlpScanPartial, AlpFetchRow, AlpSkip); +} + +CompressionFunction AlpCompressionFun::GetFunction(PhysicalType type) { + switch (type) { + case PhysicalType::FLOAT: + return GetAlpFunction(type); + case PhysicalType::DOUBLE: + return GetAlpFunction(type); + default: + throw InternalException("Unsupported type for Alp"); + } +} + +bool AlpCompressionFun::TypeIsSupported(PhysicalType type) { + switch (type) { + case PhysicalType::FLOAT: + case PhysicalType::DOUBLE: + return true; + default: + return false; + } +} + +} // namespace duckdb diff --git a/src/storage/compression/alp/alp_constants.cpp b/src/storage/compression/alp/alp_constants.cpp new file mode 100644 index 000000000000..694b5e61a455 --- /dev/null +++ b/src/storage/compression/alp/alp_constants.cpp @@ -0,0 +1,13 @@ +#include "duckdb/storage/compression/alp/alp_constants.hpp" + +namespace duckdb { + +constexpr int64_t AlpConstants::FACT_ARR[]; + +constexpr float AlpTypedConstants::EXP_ARR[]; +constexpr float AlpTypedConstants::FRAC_ARR[]; + +constexpr double AlpTypedConstants::EXP_ARR[]; +constexpr double AlpTypedConstants::FRAC_ARR[]; + +} // namespace duckdb diff --git a/src/storage/compression/alprd.cpp b/src/storage/compression/alprd.cpp new file mode 100644 index 000000000000..1ca623673561 --- /dev/null +++ b/src/storage/compression/alprd.cpp @@ -0,0 +1,57 @@ +#include "duckdb/storage/compression/alprd/alprd_analyze.hpp" +#include "duckdb/storage/compression/alprd/alprd_compress.hpp" +#include "duckdb/storage/compression/alprd/alprd_fetch.hpp" +#include "duckdb/storage/compression/alprd/alprd_scan.hpp" + +#include "duckdb/common/limits.hpp" +#include "duckdb/function/compression/compression.hpp" +#include "duckdb/function/compression_function.hpp" + +#include +#include + +namespace duckdb { + +template +CompressionFunction GetAlpRDFunction(PhysicalType data_type) { + throw NotImplementedException("GetAlpFunction not implemented for the given datatype"); +} + +template <> +CompressionFunction GetAlpRDFunction(PhysicalType data_type) { + return CompressionFunction(CompressionType::COMPRESSION_ALPRD, data_type, AlpRDInitAnalyze, + AlpRDAnalyze, AlpRDFinalAnalyze, AlpRDInitCompression, + AlpRDCompress, AlpRDFinalizeCompress, AlpRDInitScan, + AlpRDScan, AlpRDScanPartial, AlpRDFetchRow, AlpRDSkip); +} + +template <> +CompressionFunction GetAlpRDFunction(PhysicalType data_type) { + return CompressionFunction(CompressionType::COMPRESSION_ALPRD, data_type, AlpRDInitAnalyze, + AlpRDAnalyze, AlpRDFinalAnalyze, AlpRDInitCompression, + AlpRDCompress, AlpRDFinalizeCompress, AlpRDInitScan, + AlpRDScan, AlpRDScanPartial, AlpRDFetchRow, AlpRDSkip); +} + +CompressionFunction AlpRDCompressionFun::GetFunction(PhysicalType type) { + switch (type) { + case PhysicalType::FLOAT: + return GetAlpRDFunction(type); + case PhysicalType::DOUBLE: + return GetAlpRDFunction(type); + default: + throw InternalException("Unsupported type for Alp"); + } +} + +bool AlpRDCompressionFun::TypeIsSupported(PhysicalType type) { + switch (type) { + case PhysicalType::FLOAT: + case PhysicalType::DOUBLE: + return true; + default: + return false; + } +} + +} // namespace duckdb diff --git a/src/storage/compression/bitpacking.cpp b/src/storage/compression/bitpacking.cpp index ffc794326529..fa7f4a7c79f3 100644 --- a/src/storage/compression/bitpacking.cpp +++ b/src/storage/compression/bitpacking.cpp @@ -1,19 +1,18 @@ #include "duckdb/common/bitpacking.hpp" #include "duckdb/common/limits.hpp" +#include "duckdb/common/numeric_utils.hpp" +#include "duckdb/common/operator/add.hpp" +#include "duckdb/common/operator/multiply.hpp" +#include "duckdb/common/operator/subtract.hpp" #include "duckdb/function/compression/compression.hpp" #include "duckdb/function/compression_function.hpp" #include "duckdb/main/config.hpp" #include "duckdb/storage/buffer_manager.hpp" - +#include "duckdb/storage/compression/bitpacking.hpp" #include "duckdb/storage/table/column_data_checkpointer.hpp" #include "duckdb/storage/table/column_segment.hpp" -#include "duckdb/common/operator/subtract.hpp" -#include "duckdb/common/operator/multiply.hpp" -#include "duckdb/common/operator/add.hpp" -#include "duckdb/storage/compression/bitpacking.hpp" #include "duckdb/storage/table/scan_state.hpp" -#include "duckdb/common/numeric_utils.hpp" #include @@ -63,7 +62,7 @@ typedef struct { typedef uint32_t bitpacking_metadata_encoded_t; static bitpacking_metadata_encoded_t EncodeMeta(bitpacking_metadata_t metadata) { - D_ASSERT(metadata.offset <= 16777215); // max uint24_t + D_ASSERT(metadata.offset <= 0x00FFFFFF); // max uint24_t bitpacking_metadata_encoded_t encoded_value = metadata.offset; encoded_value |= (uint8_t)metadata.mode << 24; return encoded_value; @@ -218,8 +217,11 @@ struct BitpackingState { template void SubtractFrameOfReference(T_INNER *buffer, T_INNER frame_of_reference) { static_assert(IsIntegral::value, "Integral type required."); + + using T_U = typename MakeUnsigned::type; + for (idx_t i = 0; i < compression_buffer_idx; i++) { - buffer[i] -= static_cast::type>(frame_of_reference); + reinterpret_cast(buffer)[i] -= static_cast(frame_of_reference); } } @@ -250,10 +252,8 @@ struct BitpackingState { } // Check if delta has benefit - // bitwidth is calculated differently between signed and unsigned values, but considering we do not have - // an unsigned version of hugeint, we need to explicitly specify (through boolean) that we wish to calculate - // the unsigned minimum bit-width instead of relying on MakeUnsigned and IsSigned - auto delta_required_bitwidth = BitpackingPrimitives::MinimumBitWidth(min_max_delta_diff); + auto delta_required_bitwidth = + BitpackingPrimitives::MinimumBitWidth(static_cast(min_max_delta_diff)); auto regular_required_bitwidth = BitpackingPrimitives::MinimumBitWidth(min_max_diff); if (delta_required_bitwidth < regular_required_bitwidth && mode != BitpackingMode::FOR) { @@ -331,7 +331,7 @@ unique_ptr BitpackingInitAnalyze(ColumnData &col_data, PhysicalTyp template bool BitpackingAnalyze(AnalyzeState &state, Vector &input, idx_t count) { - auto &analyze_state = static_cast &>(state); + auto &analyze_state = state.Cast>(); UnifiedVectorFormat vdata; input.ToUnifiedFormat(count, vdata); @@ -347,7 +347,7 @@ bool BitpackingAnalyze(AnalyzeState &state, Vector &input, idx_t count) { template idx_t BitpackingFinalAnalyze(AnalyzeState &state) { - auto &bitpacking_state = static_cast &>(state); + auto &bitpacking_state = state.Cast>(); auto flush_result = bitpacking_state.state.template Flush(); if (!flush_result) { return DConstants::INVALID_INDEX; @@ -547,7 +547,7 @@ unique_ptr BitpackingInitCompression(ColumnDataCheckpointer &c template void BitpackingCompress(CompressionState &state_p, Vector &scan_vector, idx_t count) { - auto &state = static_cast &>(state_p); + auto &state = state_p.Cast>(); UnifiedVectorFormat vdata; scan_vector.ToUnifiedFormat(count, vdata); state.Append(vdata, count); @@ -555,7 +555,7 @@ void BitpackingCompress(CompressionState &state_p, Vector &scan_vector, idx_t co template void BitpackingFinalizeCompress(CompressionState &state_p) { - auto &state = static_cast &>(state_p); + auto &state = state_p.Cast>(); state.Finalize(); } @@ -564,11 +564,13 @@ void BitpackingFinalizeCompress(CompressionState &state_p) { //===--------------------------------------------------------------------===// template static void ApplyFrameOfReference(T *dst, T frame_of_reference, idx_t size) { + using T_U = typename MakeUnsigned::type; if (!frame_of_reference) { return; } + for (idx_t i = 0; i < size; i++) { - dst[i] += frame_of_reference; + reinterpret_cast(dst)[i] += static_cast(frame_of_reference); } } @@ -688,55 +690,65 @@ struct BitpackingScanState : public SegmentScanState { bool skip_sign_extend = true; idx_t skipped = 0; - while (skipped < skip_count) { - // Exhausted this metadata group, move pointers to next group and load metadata for next group. - if (current_group_offset >= BITPACKING_METADATA_GROUP_SIZE) { - LoadNextGroup(); - } - - idx_t offset_in_compression_group = - current_group_offset % BitpackingPrimitives::BITPACKING_ALGORITHM_GROUP_SIZE; - - if (current_group.mode == BitpackingMode::CONSTANT) { - idx_t remaining = skip_count - skipped; - idx_t to_skip = MinValue(remaining, BITPACKING_METADATA_GROUP_SIZE - current_group_offset); - skipped += to_skip; - current_group_offset += to_skip; - continue; - } - if (current_group.mode == BitpackingMode::CONSTANT_DELTA) { - idx_t remaining = skip_count - skipped; - idx_t to_skip = MinValue(remaining, BITPACKING_METADATA_GROUP_SIZE - current_group_offset); - skipped += to_skip; - current_group_offset += to_skip; - continue; - } - D_ASSERT(current_group.mode == BitpackingMode::FOR || current_group.mode == BitpackingMode::DELTA_FOR); - - idx_t to_skip = - MinValue(skip_count - skipped, - BitpackingPrimitives::BITPACKING_ALGORITHM_GROUP_SIZE - offset_in_compression_group); - // Calculate start of compression algorithm group - if (current_group.mode == BitpackingMode::DELTA_FOR) { + idx_t initial_group_offset = current_group_offset; + + // This skips straight to the correct metadata group + idx_t meta_groups_to_skip = (skip_count + current_group_offset) / BITPACKING_METADATA_GROUP_SIZE; + if (meta_groups_to_skip) { + + // bitpacking_metadata_ptr points to the next metadata: this means we need to advance the pointer by n-1 + bitpacking_metadata_ptr -= (meta_groups_to_skip - 1) * sizeof(bitpacking_metadata_encoded_t); + LoadNextGroup(); + // The first (partial) group we skipped + skipped += BITPACKING_METADATA_GROUP_SIZE - initial_group_offset; + // The remaining groups that were skipped + skipped += (meta_groups_to_skip - 1) * BITPACKING_METADATA_GROUP_SIZE; + } + + // Assert we can are in the correct metadata group + idx_t remaining_to_skip = skip_count - skipped; + D_ASSERT(current_group_offset + remaining_to_skip < BITPACKING_METADATA_GROUP_SIZE); + + if (current_group.mode == BitpackingMode::CONSTANT || current_group.mode == BitpackingMode::CONSTANT_DELTA || + current_group.mode == BitpackingMode::FOR) { + // Skipping within a constant or constant delta is done by increasing the current_group_offset + skipped += remaining_to_skip; + current_group_offset += remaining_to_skip; + } else { + // For DELTA we actually need to decompress from the current_group_offset up until the row we want to skip + // to this is because we need that delta to be able to continue scanning from here + D_ASSERT(current_group.mode == BitpackingMode::DELTA_FOR); + + while (skipped < skip_count) { + // Calculate compression group offset and pointer + idx_t offset_in_compression_group = + current_group_offset % BitpackingPrimitives::BITPACKING_ALGORITHM_GROUP_SIZE; data_ptr_t current_position_ptr = current_group_ptr + current_group_offset * current_width / 8; data_ptr_t decompression_group_start_pointer = current_position_ptr - offset_in_compression_group * current_width / 8; + idx_t skipping_this_algorithm_group = + MinValue(remaining_to_skip, + BitpackingPrimitives::BITPACKING_ALGORITHM_GROUP_SIZE - offset_in_compression_group); + BitpackingPrimitives::UnPackBlock(data_ptr_cast(decompression_buffer), decompression_group_start_pointer, current_width, skip_sign_extend); T *decompression_ptr = decompression_buffer + offset_in_compression_group; ApplyFrameOfReference(reinterpret_cast(decompression_ptr), - static_cast(current_frame_of_reference), to_skip); + static_cast(current_frame_of_reference), skipping_this_algorithm_group); DeltaDecode(reinterpret_cast(decompression_ptr), static_cast(current_delta_offset), - to_skip); - current_delta_offset = decompression_ptr[to_skip - 1]; - } + skipping_this_algorithm_group); + current_delta_offset = decompression_ptr[skipping_this_algorithm_group - 1]; - skipped += to_skip; - current_group_offset += to_skip; + skipped += skipping_this_algorithm_group; + current_group_offset += skipping_this_algorithm_group; + remaining_to_skip -= skipping_this_algorithm_group; + } } + + D_ASSERT(skipped == skip_count); } data_ptr_t GetPtr(bitpacking_metadata_t group) { @@ -756,7 +768,7 @@ unique_ptr BitpackingInitScan(ColumnSegment &segment) { template ::type> void BitpackingScanPartial(ColumnSegment &segment, ColumnScanState &state, idx_t scan_count, Vector &result, idx_t result_offset) { - auto &scan_state = static_cast &>(*state.scan_state); + auto &scan_state = state.scan_state->Cast>(); T *result_data = FlatVector::GetData(result); result.SetVectorType(VectorType::FLAT_VECTOR); @@ -766,8 +778,10 @@ void BitpackingScanPartial(ColumnSegment &segment, ColumnScanState &state, idx_t idx_t scanned = 0; while (scanned < scan_count) { + D_ASSERT(scan_state.current_group_offset <= BITPACKING_METADATA_GROUP_SIZE); + // Exhausted this metadata group, move pointers to next group and load metadata for next group. - if (scan_state.current_group_offset >= BITPACKING_METADATA_GROUP_SIZE) { + if (scan_state.current_group_offset == BITPACKING_METADATA_GROUP_SIZE) { scan_state.LoadNextGroup(); } @@ -853,6 +867,10 @@ void BitpackingFetchRow(ColumnSegment &segment, ColumnFetchState &state, row_t r idx_t result_idx) { BitpackingScanState scan_state(segment); scan_state.Skip(segment, row_id); + + D_ASSERT(scan_state.current_group_offset < BITPACKING_METADATA_GROUP_SIZE); + + D_ASSERT(result.GetVectorType() == VectorType::FLAT_VECTOR); T *result_data = FlatVector::GetData(result); T *current_result_ptr = result_data + result_idx; @@ -898,6 +916,7 @@ void BitpackingFetchRow(ColumnSegment &segment, ColumnFetchState &state, row_t r *current_result_ptr += scan_state.current_delta_offset; } } + template void BitpackingSkip(ColumnSegment &segment, ColumnScanState &state, idx_t skip_count) { auto &scan_state = static_cast &>(*state.scan_state); @@ -937,6 +956,8 @@ CompressionFunction BitpackingFun::GetFunction(PhysicalType type) { return GetBitpackingFunction(type); case PhysicalType::INT128: return GetBitpackingFunction(type); + case PhysicalType::UINT128: + return GetBitpackingFunction(type); case PhysicalType::LIST: return GetBitpackingFunction(type); default: @@ -945,6 +966,15 @@ CompressionFunction BitpackingFun::GetFunction(PhysicalType type) { } bool BitpackingFun::TypeIsSupported(PhysicalType type) { + + // we calculate on BITPACKING_METADATA_GROUP_SIZE tuples, but they can exceed the block size, + // in which case we have to disable bitpacking for that data type + // we are conservative here by multiplying by 2 + auto type_size = GetTypeIdSize(type); + if (type_size * BITPACKING_METADATA_GROUP_SIZE * 2 > Storage::BLOCK_SIZE) { + return false; + } + switch (type) { case PhysicalType::BOOL: case PhysicalType::INT8: @@ -957,6 +987,7 @@ bool BitpackingFun::TypeIsSupported(PhysicalType type) { case PhysicalType::UINT64: case PhysicalType::LIST: case PhysicalType::INT128: + case PhysicalType::UINT128: return true; default: return false; diff --git a/src/storage/compression/bitpacking_hugeint.cpp b/src/storage/compression/bitpacking_hugeint.cpp index 6743ecd80683..3c84c6ec6a0f 100644 --- a/src/storage/compression/bitpacking_hugeint.cpp +++ b/src/storage/compression/bitpacking_hugeint.cpp @@ -6,110 +6,110 @@ namespace duckdb { // Unpacking //===--------------------------------------------------------------------===// -static void UnpackSingle(const uint32_t *__restrict &in, hugeint_t *__restrict out, uint16_t delta, uint16_t shr) { +static void UnpackSingle(const uint32_t *__restrict &in, uhugeint_t *__restrict out, uint16_t delta, uint16_t shr) { if (delta + shr < 32) { - *out = ((static_cast(in[0])) >> shr) % (hugeint_t(1) << delta); + *out = ((static_cast(in[0])) >> shr) % (uhugeint_t(1) << delta); } else if (delta + shr >= 32 && delta + shr < 64) { - *out = static_cast(in[0]) >> shr; + *out = static_cast(in[0]) >> shr; ++in; if (delta + shr > 32) { const uint16_t NEXT_SHR = shr + delta - 32; - *out |= static_cast((*in) % (1U << NEXT_SHR)) << (32 - shr); + *out |= static_cast((*in) % (1U << NEXT_SHR)) << (32 - shr); } } else if (delta + shr >= 64 && delta + shr < 96) { - *out = static_cast(in[0]) >> shr; - *out |= static_cast(in[1]) << (32 - shr); + *out = static_cast(in[0]) >> shr; + *out |= static_cast(in[1]) << (32 - shr); in += 2; if (delta + shr > 64) { const uint16_t NEXT_SHR = delta + shr - 64; - *out |= static_cast((*in) % (1U << NEXT_SHR)) << (64 - shr); + *out |= static_cast((*in) % (1U << NEXT_SHR)) << (64 - shr); } } else if (delta + shr >= 96 && delta + shr < 128) { - *out = static_cast(in[0]) >> shr; - *out |= static_cast(in[1]) << (32 - shr); - *out |= static_cast(in[2]) << (64 - shr); + *out = static_cast(in[0]) >> shr; + *out |= static_cast(in[1]) << (32 - shr); + *out |= static_cast(in[2]) << (64 - shr); in += 3; if (delta + shr > 96) { const uint16_t NEXT_SHR = delta + shr - 96; - *out |= static_cast((*in) % (1U << NEXT_SHR)) << (96 - shr); + *out |= static_cast((*in) % (1U << NEXT_SHR)) << (96 - shr); } } else if (delta + shr >= 128) { - *out = static_cast(in[0]) >> shr; - *out |= static_cast(in[1]) << (32 - shr); - *out |= static_cast(in[2]) << (64 - shr); - *out |= static_cast(in[3]) << (96 - shr); + *out = static_cast(in[0]) >> shr; + *out |= static_cast(in[1]) << (32 - shr); + *out |= static_cast(in[2]) << (64 - shr); + *out |= static_cast(in[3]) << (96 - shr); in += 4; if (delta + shr > 128) { const uint16_t NEXT_SHR = delta + shr - 128; - *out |= static_cast((*in) % (1U << NEXT_SHR)) << (128 - shr); + *out |= static_cast((*in) % (1U << NEXT_SHR)) << (128 - shr); } } } -static void UnpackLast(const uint32_t *__restrict &in, hugeint_t *__restrict out, uint16_t delta) { +static void UnpackLast(const uint32_t *__restrict &in, uhugeint_t *__restrict out, uint16_t delta) { const uint8_t LAST_IDX = 31; const uint16_t SHIFT = (delta * 31) % 32; out[LAST_IDX] = in[0] >> SHIFT; if (delta > 32) { - out[LAST_IDX] |= static_cast(in[1]) << (32 - SHIFT); + out[LAST_IDX] |= static_cast(in[1]) << (32 - SHIFT); } if (delta > 64) { - out[LAST_IDX] |= static_cast(in[2]) << (64 - SHIFT); + out[LAST_IDX] |= static_cast(in[2]) << (64 - SHIFT); } if (delta > 96) { - out[LAST_IDX] |= static_cast(in[3]) << (96 - SHIFT); + out[LAST_IDX] |= static_cast(in[3]) << (96 - SHIFT); } } // Unpacks for specific deltas -static void UnpackDelta0(const uint32_t *__restrict in, hugeint_t *__restrict out) { +static void UnpackDelta0(const uint32_t *__restrict in, uhugeint_t *__restrict out) { for (uint8_t i = 0; i < 32; ++i) { out[i] = 0; } } -static void UnpackDelta32(const uint32_t *__restrict in, hugeint_t *__restrict out) { +static void UnpackDelta32(const uint32_t *__restrict in, uhugeint_t *__restrict out) { for (uint8_t k = 0; k < 32; ++k) { - out[k] = static_cast(in[k]); + out[k] = static_cast(in[k]); } } -static void UnpackDelta64(const uint32_t *__restrict in, hugeint_t *__restrict out) { +static void UnpackDelta64(const uint32_t *__restrict in, uhugeint_t *__restrict out) { for (uint8_t i = 0; i < 32; ++i) { const uint8_t OFFSET = i * 2; out[i] = in[OFFSET]; - out[i] |= static_cast(in[OFFSET + 1]) << 32; + out[i] |= static_cast(in[OFFSET + 1]) << 32; } } -static void UnpackDelta96(const uint32_t *__restrict in, hugeint_t *__restrict out) { +static void UnpackDelta96(const uint32_t *__restrict in, uhugeint_t *__restrict out) { for (uint8_t i = 0; i < 32; ++i) { const uint8_t OFFSET = i * 3; out[i] = in[OFFSET]; - out[i] |= static_cast(in[OFFSET + 1]) << 32; - out[i] |= static_cast(in[OFFSET + 2]) << 64; + out[i] |= static_cast(in[OFFSET + 1]) << 32; + out[i] |= static_cast(in[OFFSET + 2]) << 64; } } -static void UnpackDelta128(const uint32_t *__restrict in, hugeint_t *__restrict out) { +static void UnpackDelta128(const uint32_t *__restrict in, uhugeint_t *__restrict out) { for (uint8_t i = 0; i < 32; ++i) { const uint8_t OFFSET = i * 4; out[i] = in[OFFSET]; - out[i] |= static_cast(in[OFFSET + 1]) << 32; - out[i] |= static_cast(in[OFFSET + 2]) << 64; - out[i] |= static_cast(in[OFFSET + 3]) << 96; + out[i] |= static_cast(in[OFFSET + 1]) << 32; + out[i] |= static_cast(in[OFFSET + 2]) << 64; + out[i] |= static_cast(in[OFFSET + 3]) << 96; } } @@ -117,7 +117,7 @@ static void UnpackDelta128(const uint32_t *__restrict in, hugeint_t *__restrict // Packing //===--------------------------------------------------------------------===// -static void PackSingle(const hugeint_t in, uint32_t *__restrict &out, uint16_t delta, uint16_t shl, hugeint_t mask) { +static void PackSingle(const uhugeint_t in, uint32_t *__restrict &out, uint16_t delta, uint16_t shl, uhugeint_t mask) { if (delta + shl < 32) { if (shl == 0) { @@ -186,7 +186,7 @@ static void PackSingle(const hugeint_t in, uint32_t *__restrict &out, uint16_t d } } -static void PackLast(const hugeint_t *__restrict in, uint32_t *__restrict out, uint16_t delta) { +static void PackLast(const uhugeint_t *__restrict in, uint32_t *__restrict out, uint16_t delta) { const uint8_t LAST_IDX = 31; const uint16_t SHIFT = (delta * 31) % 32; out[0] |= static_cast(in[LAST_IDX] << SHIFT); @@ -202,13 +202,13 @@ static void PackLast(const hugeint_t *__restrict in, uint32_t *__restrict out, u } // Packs for specific deltas -static void PackDelta32(const hugeint_t *__restrict in, uint32_t *__restrict out) { +static void PackDelta32(const uhugeint_t *__restrict in, uint32_t *__restrict out) { for (uint8_t i = 0; i < 32; ++i) { out[i] = static_cast(in[i]); } } -static void PackDelta64(const hugeint_t *__restrict in, uint32_t *__restrict out) { +static void PackDelta64(const uhugeint_t *__restrict in, uint32_t *__restrict out) { for (uint8_t i = 0; i < 32; ++i) { const uint8_t OFFSET = 2 * i; out[OFFSET] = static_cast(in[i]); @@ -216,7 +216,7 @@ static void PackDelta64(const hugeint_t *__restrict in, uint32_t *__restrict out } } -static void PackDelta96(const hugeint_t *__restrict in, uint32_t *__restrict out) { +static void PackDelta96(const uhugeint_t *__restrict in, uint32_t *__restrict out) { for (uint8_t i = 0; i < 32; ++i) { const uint8_t OFFSET = 3 * i; out[OFFSET] = static_cast(in[i]); @@ -225,7 +225,7 @@ static void PackDelta96(const hugeint_t *__restrict in, uint32_t *__restrict out } } -static void PackDelta128(const hugeint_t *__restrict in, uint32_t *__restrict out) { +static void PackDelta128(const uhugeint_t *__restrict in, uint32_t *__restrict out) { for (uint8_t i = 0; i < 32; ++i) { const uint8_t OFFSET = 4 * i; out[OFFSET] = static_cast(in[i]); @@ -239,7 +239,7 @@ static void PackDelta128(const hugeint_t *__restrict in, uint32_t *__restrict ou // HugeIntPacker //===--------------------------------------------------------------------===// -void HugeIntPacker::Pack(const hugeint_t *__restrict in, uint32_t *__restrict out, bitpacking_width_t width) { +void HugeIntPacker::Pack(const uhugeint_t *__restrict in, uint32_t *__restrict out, bitpacking_width_t width) { D_ASSERT(width <= 128); switch (width) { case 0: @@ -259,13 +259,13 @@ void HugeIntPacker::Pack(const hugeint_t *__restrict in, uint32_t *__restrict ou default: for (idx_t oindex = 0; oindex < BitpackingPrimitives::BITPACKING_ALGORITHM_GROUP_SIZE - 1; ++oindex) { PackSingle(in[oindex], out, width, (width * oindex) % BitpackingPrimitives::BITPACKING_ALGORITHM_GROUP_SIZE, - (hugeint_t(1) << width) - 1); + (uhugeint_t(1) << width) - 1); } PackLast(in, out, width); } } -void HugeIntPacker::Unpack(const uint32_t *__restrict in, hugeint_t *__restrict out, bitpacking_width_t width) { +void HugeIntPacker::Unpack(const uint32_t *__restrict in, uhugeint_t *__restrict out, bitpacking_width_t width) { D_ASSERT(width <= 128); switch (width) { case 0: diff --git a/src/storage/compression/dictionary_compression.cpp b/src/storage/compression/dictionary_compression.cpp index 1c74c102e975..b5d071843091 100644 --- a/src/storage/compression/dictionary_compression.cpp +++ b/src/storage/compression/dictionary_compression.cpp @@ -4,10 +4,8 @@ #include "duckdb/common/types/vector_buffer.hpp" #include "duckdb/function/compression/compression.hpp" #include "duckdb/function/compression_function.hpp" -#include "duckdb/main/config.hpp" #include "duckdb/storage/segment/uncompressed.hpp" #include "duckdb/storage/string_uncompressed.hpp" -#include "duckdb/storage/table/append_state.hpp" #include "duckdb/storage/table/column_data_checkpointer.hpp" namespace duckdb { @@ -612,7 +610,7 @@ void DictionaryCompressionStorage::SetDictionary(ColumnSegment &segment, BufferH string_t DictionaryCompressionStorage::FetchStringFromDict(ColumnSegment &segment, StringDictionaryContainer dict, data_ptr_t baseptr, int32_t dict_offset, uint16_t string_len) { - D_ASSERT(dict_offset >= 0 && dict_offset <= Storage::BLOCK_SIZE); + D_ASSERT(dict_offset >= 0 && dict_offset <= int32_t(Storage::BLOCK_SIZE)); if (dict_offset == 0) { return string_t(nullptr, 0); diff --git a/src/storage/compression/fixed_size_uncompressed.cpp b/src/storage/compression/fixed_size_uncompressed.cpp index ea77f9269992..c1b210d787e2 100644 --- a/src/storage/compression/fixed_size_uncompressed.cpp +++ b/src/storage/compression/fixed_size_uncompressed.cpp @@ -284,6 +284,8 @@ CompressionFunction FixedSizeUncompressed::GetFunction(PhysicalType data_type) { return FixedSizeGetFunction(data_type); case PhysicalType::INT128: return FixedSizeGetFunction(data_type); + case PhysicalType::UINT128: + return FixedSizeGetFunction(data_type); case PhysicalType::FLOAT: return FixedSizeGetFunction(data_type); case PhysicalType::DOUBLE: diff --git a/src/storage/compression/fsst.cpp b/src/storage/compression/fsst.cpp index 9729af274d1f..f5809653c21a 100644 --- a/src/storage/compression/fsst.cpp +++ b/src/storage/compression/fsst.cpp @@ -392,17 +392,17 @@ class FSSTCompressionState : public CompressionState { unique_ptr FSSTStorage::InitCompression(ColumnDataCheckpointer &checkpointer, unique_ptr analyze_state_p) { - auto analyze_state = static_cast(analyze_state_p.get()); + auto &analyze_state = analyze_state_p->Cast(); auto compression_state = make_uniq(checkpointer); - if (analyze_state->fsst_encoder == nullptr) { + if (analyze_state.fsst_encoder == nullptr) { throw InternalException("No encoder found during FSST compression"); } - compression_state->fsst_encoder = analyze_state->fsst_encoder; + compression_state->fsst_encoder = analyze_state.fsst_encoder; compression_state->fsst_serialized_symbol_table_size = duckdb_fsst_export(compression_state->fsst_encoder, &compression_state->fsst_serialized_symbol_table[0]); - analyze_state->fsst_encoder = nullptr; + analyze_state.fsst_encoder = nullptr; return std::move(compression_state); } diff --git a/src/storage/compression/numeric_constant.cpp b/src/storage/compression/numeric_constant.cpp index bb18e1b8537a..3741f71a384a 100644 --- a/src/storage/compression/numeric_constant.cpp +++ b/src/storage/compression/numeric_constant.cpp @@ -128,6 +128,8 @@ CompressionFunction ConstantFun::GetFunction(PhysicalType data_type) { return ConstantGetFunction(data_type); case PhysicalType::INT128: return ConstantGetFunction(data_type); + case PhysicalType::UINT128: + return ConstantGetFunction(data_type); case PhysicalType::FLOAT: return ConstantGetFunction(data_type); case PhysicalType::DOUBLE: @@ -150,6 +152,7 @@ bool ConstantFun::TypeIsSupported(PhysicalType type) { case PhysicalType::UINT32: case PhysicalType::UINT64: case PhysicalType::INT128: + case PhysicalType::UINT128: case PhysicalType::FLOAT: case PhysicalType::DOUBLE: return true; diff --git a/src/storage/compression/rle.cpp b/src/storage/compression/rle.cpp index a79440919b37..89a800b80a6e 100644 --- a/src/storage/compression/rle.cpp +++ b/src/storage/compression/rle.cpp @@ -132,8 +132,7 @@ struct RLECompressState : public CompressionState { static idx_t MaxRLECount() { auto entry_size = sizeof(T) + sizeof(rle_count_t); auto entry_count = (Storage::BLOCK_SIZE - RLEConstants::RLE_HEADER_SIZE) / entry_size; - auto max_vector_count = entry_count / STANDARD_VECTOR_SIZE; - return max_vector_count * STANDARD_VECTOR_SIZE; + return entry_count; } explicit RLECompressState(ColumnDataCheckpointer &checkpointer_p) @@ -228,7 +227,7 @@ unique_ptr RLEInitCompression(ColumnDataCheckpointer &checkpoi template void RLECompress(CompressionState &state_p, Vector &scan_vector, idx_t count) { - auto &state = (RLECompressState &)state_p; + auto &state = state_p.Cast>(); UnifiedVectorFormat vdata; scan_vector.ToUnifiedFormat(count, vdata); @@ -237,7 +236,7 @@ void RLECompress(CompressionState &state_p, Vector &scan_vector, idx_t count) { template void RLEFinalizeCompress(CompressionState &state_p) { - auto &state = (RLECompressState &)state_p; + auto &state = state_p.Cast>(); state.Finalize(); } @@ -411,6 +410,8 @@ CompressionFunction RLEFun::GetFunction(PhysicalType type) { return GetRLEFunction(type); case PhysicalType::INT128: return GetRLEFunction(type); + case PhysicalType::UINT128: + return GetRLEFunction(type); case PhysicalType::UINT8: return GetRLEFunction(type); case PhysicalType::UINT16: @@ -442,6 +443,7 @@ bool RLEFun::TypeIsSupported(PhysicalType type) { case PhysicalType::UINT16: case PhysicalType::UINT32: case PhysicalType::UINT64: + case PhysicalType::UINT128: case PhysicalType::FLOAT: case PhysicalType::DOUBLE: case PhysicalType::LIST: diff --git a/src/storage/compression/string_uncompressed.cpp b/src/storage/compression/string_uncompressed.cpp index 4f7c6da24632..7d0a594c7b8e 100644 --- a/src/storage/compression/string_uncompressed.cpp +++ b/src/storage/compression/string_uncompressed.cpp @@ -110,8 +110,8 @@ BufferHandle &ColumnFetchState::GetOrInsertHandle(ColumnSegment &segment) { // not pinned yet: pin it auto &buffer_manager = BufferManager::GetBufferManager(segment.db); auto handle = buffer_manager.Pin(segment.block); - auto entry = handles.insert(make_pair(primary_id, std::move(handle))); - return entry.first->second; + auto pinned_entry = handles.insert(make_pair(primary_id, std::move(handle))); + return pinned_entry.first->second; } else { // already pinned: use the pinned handle return entry->second; @@ -298,7 +298,7 @@ void UncompressedStringStorage::WriteStringMemory(ColumnSegment &segment, string new_block->offset = 0; new_block->size = alloc_size; // allocate an in-memory buffer for it - handle = buffer_manager.Allocate(alloc_size, false, &block); + handle = buffer_manager.Allocate(MemoryTag::OVERFLOW_STRINGS, alloc_size, false, &block); state.overflow_blocks.insert(make_pair(block->BlockId(), reference(*new_block))); new_block->block = std::move(block); new_block->next = std::move(state.head); @@ -322,7 +322,7 @@ void UncompressedStringStorage::WriteStringMemory(ColumnSegment &segment, string string_t UncompressedStringStorage::ReadOverflowString(ColumnSegment &segment, Vector &result, block_id_t block, int32_t offset) { D_ASSERT(block != INVALID_BLOCK); - D_ASSERT(offset < Storage::BLOCK_SIZE); + D_ASSERT(offset < int32_t(Storage::BLOCK_SIZE)); auto &block_manager = segment.GetBlockManager(); auto &buffer_manager = block_manager.buffer_manager; @@ -342,7 +342,7 @@ string_t UncompressedStringStorage::ReadOverflowString(ColumnSegment &segment, V auto alloc_size = MaxValue(Storage::BLOCK_SIZE, length); // allocate a buffer to store the compressed string // TODO: profile this to check if we need to reuse buffer - auto target_handle = buffer_manager.Allocate(alloc_size); + auto target_handle = buffer_manager.Allocate(MemoryTag::OVERFLOW_STRINGS, alloc_size); auto target_ptr = target_handle.Ptr(); // now append the string to the single buffer @@ -403,7 +403,7 @@ void UncompressedStringStorage::ReadStringMarker(data_ptr_t target, block_id_t & string_location_t UncompressedStringStorage::FetchStringLocation(StringDictionaryContainer dict, data_ptr_t baseptr, int32_t dict_offset) { - D_ASSERT(dict_offset >= -1 * Storage::BLOCK_SIZE && dict_offset <= Storage::BLOCK_SIZE); + D_ASSERT(dict_offset >= -1 * int32_t(Storage::BLOCK_SIZE) && dict_offset <= int32_t(Storage::BLOCK_SIZE)); if (dict_offset < 0) { string_location_t result; ReadStringMarker(baseptr + dict.end - (-1 * dict_offset), result.block_id, result.offset); @@ -417,7 +417,7 @@ string_t UncompressedStringStorage::FetchStringFromDict(ColumnSegment &segment, Vector &result, data_ptr_t baseptr, int32_t dict_offset, uint32_t string_length) { // fetch base data - D_ASSERT(dict_offset <= Storage::BLOCK_SIZE); + D_ASSERT(dict_offset <= int32_t(Storage::BLOCK_SIZE)); string_location_t location = FetchStringLocation(dict, baseptr, dict_offset); return FetchString(segment, dict, result, baseptr, location, string_length); } diff --git a/src/storage/compression/uncompressed.cpp b/src/storage/compression/uncompressed.cpp index 9955bf8a6731..b68c4fce07c1 100644 --- a/src/storage/compression/uncompressed.cpp +++ b/src/storage/compression/uncompressed.cpp @@ -15,6 +15,7 @@ CompressionFunction UncompressedFun::GetFunction(PhysicalType type) { case PhysicalType::UINT16: case PhysicalType::UINT32: case PhysicalType::UINT64: + case PhysicalType::UINT128: case PhysicalType::FLOAT: case PhysicalType::DOUBLE: case PhysicalType::LIST: diff --git a/src/storage/compression/validity_uncompressed.cpp b/src/storage/compression/validity_uncompressed.cpp index 66b8f4f857c5..3df0cae80f91 100644 --- a/src/storage/compression/validity_uncompressed.cpp +++ b/src/storage/compression/validity_uncompressed.cpp @@ -242,7 +242,7 @@ void ValidityScanPartial(ColumnSegment &segment, ColumnScanState &state, idx_t s for (idx_t i = 0; i < scan_count; i++) { if (!source_mask.RowIsValid(start + i)) { if (result_mask.AllValid()) { - result_mask.Initialize(MaxValue(STANDARD_VECTOR_SIZE, result_offset + scan_count)); + result_mask.Initialize(result_mask.TargetCount()); } result_mask.SetInvalid(result_offset + i); } @@ -323,7 +323,7 @@ void ValidityScanPartial(ColumnSegment &segment, ColumnScanState &state, idx_t s // now finally we can merge the input mask with the result mask if (input_mask != ValidityMask::ValidityBuffer::MAX_ENTRY) { if (!result_data) { - result_mask.Initialize(MaxValue(STANDARD_VECTOR_SIZE, result_offset + scan_count)); + result_mask.Initialize(result_mask.TargetCount()); result_data = (validity_t *)result_mask.GetData(); } result_data[current_result_idx] &= input_mask; @@ -363,7 +363,7 @@ void ValidityScan(ColumnSegment &segment, ColumnScanState &state, idx_t scan_cou continue; } if (!result_data) { - result_mask.Initialize(MaxValue(STANDARD_VECTOR_SIZE, scan_count)); + result_mask.Initialize(result_mask.TargetCount()); result_data = result_mask.GetData(); } result_data[i] = input_entry; @@ -418,7 +418,7 @@ idx_t ValidityAppend(CompressionAppendState &append_state, ColumnSegment &segmen if (data.validity.AllValid()) { // no null values: skip append segment.count += append_count; - validity_stats.SetHasNoNull(); + validity_stats.SetHasNoNullFast(); return append_count; } @@ -427,9 +427,9 @@ idx_t ValidityAppend(CompressionAppendState &append_state, ColumnSegment &segmen auto idx = data.sel->get_index(offset + i); if (!data.validity.RowIsValidUnsafe(idx)) { mask.SetInvalidUnsafe(segment.count + i); - validity_stats.SetHasNull(); + validity_stats.SetHasNullFast(); } else { - validity_stats.SetHasNoNull(); + validity_stats.SetHasNoNullFast(); } } segment.count += append_count; diff --git a/src/storage/data_table.cpp b/src/storage/data_table.cpp index 4cc7e206e7fc..0e64ab831f03 100644 --- a/src/storage/data_table.cpp +++ b/src/storage/data_table.cpp @@ -19,12 +19,12 @@ #include "duckdb/storage/table/standard_column_data.hpp" #include "duckdb/transaction/duck_transaction.hpp" #include "duckdb/transaction/transaction_manager.hpp" -#include "duckdb/execution/index/art/art.hpp" #include "duckdb/main/attached_database.hpp" #include "duckdb/common/types/conflict_manager.hpp" #include "duckdb/common/types/constraint_conflict_info.hpp" #include "duckdb/storage/table/append_state.hpp" #include "duckdb/storage/table/scan_state.hpp" +#include "duckdb/common/exception/transaction_exception.hpp" namespace duckdb { @@ -34,6 +34,10 @@ DataTableInfo::DataTableInfo(AttachedDatabase &db, shared_ptr ta table(std::move(table)) { } +void DataTableInfo::InitializeIndexes(ClientContext &context) { + indexes.InitializeIndexes(context, *this); +} + bool DataTableInfo::IsTemporary() const { return db.IsTemporary(); } @@ -84,6 +88,9 @@ DataTable::DataTable(ClientContext &context, DataTable &parent, idx_t removed_co for (auto &column_def : parent.column_definitions) { column_definitions.emplace_back(column_def.Copy()); } + + // try to initialize unknown indexes + info->InitializeIndexes(context); // first check if there are any indexes that exist that point to the removed column info->indexes.Scan([&](Index &index) { for (auto &column_id : index.column_ids) { @@ -148,6 +155,9 @@ DataTable::DataTable(ClientContext &context, DataTable &parent, idx_t changed_id for (auto &column_def : parent.column_definitions) { column_definitions.emplace_back(column_def.Copy()); } + // try to initialize unknown indexes + info->InitializeIndexes(context); + // first check if there are any indexes that exist that point to the changed column info->indexes.Scan([&](Index &index) { for (auto &column_id : index.column_ids) { @@ -253,6 +263,10 @@ bool DataTable::CreateIndexScan(TableScanState &state, DataChunk &result, TableS return state.table_state.ScanCommitted(result, type); } +bool DataTable::IndexNameIsUnique(const string &name) { + return info->indexes.NameIsUnique(name); +} + //===--------------------------------------------------------------------===// // Fetch //===--------------------------------------------------------------------===// @@ -284,8 +298,9 @@ static void VerifyGeneratedExpressionSuccess(ClientContext &context, TableCatalo } catch (InternalException &ex) { throw; } catch (std::exception &ex) { + ErrorData error(ex); throw ConstraintException("Incorrect value for generated column \"%s %s AS (%s)\" : %s", col.Name(), - col.Type().ToString(), col.GeneratedExpression().ToString(), ex.what()); + col.Type().ToString(), col.GeneratedExpression().ToString(), error.RawMessage()); } } @@ -296,7 +311,8 @@ static void VerifyCheckConstraint(ClientContext &context, TableCatalogEntry &tab try { executor.ExecuteExpression(chunk, result); } catch (std::exception &ex) { - throw ConstraintException("CHECK constraint failed: %s (Error: %s)", table.name, ex.what()); + ErrorData error(ex); + throw ConstraintException("CHECK constraint failed: %s (Error: %s)", table.name, error.RawMessage()); } catch (...) { // LCOV_EXCL_START throw ConstraintException("CHECK constraint failed: %s (Unknown Error)", table.name); } // LCOV_EXCL_STOP @@ -363,19 +379,16 @@ idx_t LocateErrorIndex(bool is_append, const ManagedSelection &matches) { [[noreturn]] static void ThrowForeignKeyConstraintError(idx_t failed_index, bool is_append, Index &index, DataChunk &input) { - auto verify_type = is_append ? VerifyExistenceType::APPEND_FK : VerifyExistenceType::DELETE_FK; + auto verify_type = is_append ? VerifyExistenceType::APPEND_FK : VerifyExistenceType::DELETE_FK; D_ASSERT(failed_index != DConstants::INVALID_INDEX); - D_ASSERT(index.type == IndexType::ART); - auto &art_index = index.Cast(); - auto key_name = art_index.GenerateErrorKeyName(input, failed_index); - auto exception_msg = art_index.GenerateConstraintErrorMessage(verify_type, key_name); - throw ConstraintException(exception_msg); + auto message = index.GetConstraintViolationMessage(verify_type, failed_index, input); + throw ConstraintException(message); } bool IsForeignKeyConstraintError(bool is_append, idx_t input_count, const ManagedSelection &matches) { if (is_append) { - // We need to find a match for all of the values + // We need to find a match for all values return matches.Count() != input_count; } else { // We should not find any matches @@ -863,8 +876,8 @@ void DataTable::RevertAppend(idx_t start_row, idx_t count) { //===--------------------------------------------------------------------===// // Indexes //===--------------------------------------------------------------------===// -PreservedError DataTable::AppendToIndexes(TableIndexList &indexes, DataChunk &chunk, row_t row_start) { - PreservedError error; +ErrorData DataTable::AppendToIndexes(TableIndexList &indexes, DataChunk &chunk, row_t row_start) { + ErrorData error; if (indexes.Empty()) { return error; } @@ -878,12 +891,10 @@ PreservedError DataTable::AppendToIndexes(TableIndexList &indexes, DataChunk &ch indexes.Scan([&](Index &index) { try { error = index.Append(chunk, row_identifiers); - } catch (Exception &ex) { - error = PreservedError(ex); } catch (std::exception &ex) { - error = PreservedError(ex); + error = ErrorData(ex); } - if (error) { + if (error.HasError()) { append_failed = true; return true; } @@ -901,7 +912,7 @@ PreservedError DataTable::AppendToIndexes(TableIndexList &indexes, DataChunk &ch return error; } -PreservedError DataTable::AppendToIndexes(DataChunk &chunk, row_t row_start) { +ErrorData DataTable::AppendToIndexes(DataChunk &chunk, row_t row_start) { D_ASSERT(is_root); return AppendToIndexes(info->indexes, chunk, row_start); } @@ -1200,80 +1211,6 @@ void DataTable::UpdateColumn(TableCatalogEntry &table, ClientContext &context, V row_groups->UpdateColumn(transaction, row_ids, column_path, updates); } -//===--------------------------------------------------------------------===// -// Index Scan -//===--------------------------------------------------------------------===// -void DataTable::InitializeWALCreateIndexScan(CreateIndexScanState &state, const vector &column_ids) { - // we grab the append lock to make sure nothing is appended until AFTER we finish the index scan - state.append_lock = std::unique_lock(append_lock); - InitializeScan(state, column_ids); -} - -void DataTable::WALAddIndex(ClientContext &context, unique_ptr index, - const vector> &expressions) { - - // if the data table is empty - if (row_groups->IsEmpty()) { - info->indexes.AddIndex(std::move(index)); - return; - } - - auto &allocator = Allocator::Get(db); - - // intermediate holds scanned chunks of the underlying data to create the index - DataChunk intermediate; - vector intermediate_types; - vector column_ids; - for (auto &it : column_definitions) { - intermediate_types.push_back(it.Type()); - column_ids.push_back(it.Oid()); - } - column_ids.push_back(COLUMN_IDENTIFIER_ROW_ID); - intermediate_types.emplace_back(LogicalType::ROW_TYPE); - - intermediate.Initialize(allocator, intermediate_types); - - // holds the result of executing the index expression on the intermediate chunks - DataChunk result; - result.Initialize(allocator, index->logical_types); - - // initialize an index scan - CreateIndexScanState state; - InitializeWALCreateIndexScan(state, column_ids); - - if (!is_root) { - throw InternalException("Error during WAL replay. Cannot add an index to a table that has been altered."); - } - - // now start incrementally building the index - { - IndexLock lock; - index->InitializeLock(lock); - - while (true) { - intermediate.Reset(); - result.Reset(); - // scan a new chunk from the table to index - CreateIndexScan(state, intermediate, TableScanType::TABLE_SCAN_COMMITTED_ROWS_OMIT_PERMANENTLY_DELETED); - if (intermediate.size() == 0) { - // finished scanning for index creation - // release all locks - break; - } - // resolve the expressions for this chunk - index->ExecuteExpressions(intermediate, result); - - // insert into the index - auto error = index->Insert(lock, result, intermediate.data[intermediate.ColumnCount() - 1]); - if (error) { - throw InternalException("Error during WAL replay: %s", error.Message()); - } - } - } - - info->indexes.AddIndex(std::move(index)); -} - //===--------------------------------------------------------------------===// // Statistics //===--------------------------------------------------------------------===// @@ -1292,20 +1229,19 @@ void DataTable::SetDistinct(column_t column_id, unique_ptr d //===--------------------------------------------------------------------===// // Checkpoint //===--------------------------------------------------------------------===// -void DataTable::Checkpoint(TableDataWriter &writer, Serializer &metadata_serializer) { +void DataTable::Checkpoint(TableDataWriter &writer, Serializer &serializer) { + // checkpoint each individual row group - // FIXME: we might want to combine adjacent row groups in case they have had deletions... TableStatistics global_stats; row_groups->CopyStats(global_stats); - row_groups->Checkpoint(writer, global_stats); - // The rowgroup payload data has been written. Now write: + // The row group payload data has been written. Now write: // column stats // row-group pointers // table pointer // index data - writer.FinalizeTable(std::move(global_stats), info.get(), metadata_serializer); + writer.FinalizeTable(std::move(global_stats), info.get(), serializer); } void DataTable::CommitDropColumn(idx_t index) { diff --git a/src/storage/index.cpp b/src/storage/index.cpp index 74b19c94e68b..01b2b6c5fe2b 100644 --- a/src/storage/index.cpp +++ b/src/storage/index.cpp @@ -1,18 +1,24 @@ #include "duckdb/storage/index.hpp" -#include "duckdb/execution/expression_executor.hpp" -#include "duckdb/planner/expression_iterator.hpp" + +#include "duckdb/common/radix.hpp" +#include "duckdb/common/serializer/serializer.hpp" #include "duckdb/planner/expression/bound_columnref_expression.hpp" #include "duckdb/planner/expression/bound_reference_expression.hpp" +#include "duckdb/planner/expression_iterator.hpp" #include "duckdb/storage/table/append_state.hpp" namespace duckdb { -Index::Index(AttachedDatabase &db, IndexType type, TableIOManager &table_io_manager, - const vector &column_ids_p, const vector> &unbound_expressions, - IndexConstraintType constraint_type_p) +Index::Index(const string &name, const string &index_type, IndexConstraintType index_constraint_type, + const vector &column_ids, TableIOManager &table_io_manager, + const vector> &unbound_expressions, AttachedDatabase &db) - : type(type), table_io_manager(table_io_manager), column_ids(column_ids_p), constraint_type(constraint_type_p), - db(db) { + : name(name), index_type(index_type), index_constraint_type(index_constraint_type), column_ids(column_ids), + table_io_manager(table_io_manager), db(db) { + + if (!Radix::IsLittleEndian()) { + throw NotImplementedException("indexes are not supported on big endian architectures"); + } for (auto &expr : unbound_expressions) { types.push_back(expr->return_type.InternalType()); @@ -33,7 +39,7 @@ void Index::InitializeLock(IndexLock &state) { state.index_lock = unique_lock(lock); } -PreservedError Index::Append(DataChunk &entries, Vector &row_identifiers) { +ErrorData Index::Append(DataChunk &entries, Vector &row_identifiers) { IndexLock state; InitializeLock(state); return Append(state, entries, row_identifiers); @@ -69,6 +75,12 @@ void Index::Vacuum() { Vacuum(state); } +idx_t Index::GetInMemorySize() { + IndexLock state; + InitializeLock(state); + return GetInMemorySize(state); +} + void Index::ExecuteExpressions(DataChunk &input, DataChunk &result) { executor.Execute(input, result); } @@ -83,8 +95,8 @@ unique_ptr Index::BindExpression(unique_ptr expr) { return expr; } -bool Index::IndexIsUpdated(const vector &column_ids) const { - for (auto &column : column_ids) { +bool Index::IndexIsUpdated(const vector &column_ids_p) const { + for (auto &column : column_ids_p) { if (column_id_set.find(column.index) != column_id_set.end()) { return true; } @@ -92,7 +104,7 @@ bool Index::IndexIsUpdated(const vector &column_ids) const { return false; } -BlockPointer Index::Serialize(MetadataWriter &writer) { +IndexStorageInfo Index::GetStorageInfo(const bool get_buffers) { throw NotImplementedException("The implementation of this index serialization does not exist."); } diff --git a/src/storage/local_storage.cpp b/src/storage/local_storage.cpp index dcad346cf500..2aa7ab7363c0 100644 --- a/src/storage/local_storage.cpp +++ b/src/storage/local_storage.cpp @@ -23,17 +23,21 @@ LocalTableStorage::LocalTableStorage(DataTable &table) row_groups->InitializeEmpty(); table.info->indexes.Scan([&](Index &index) { - D_ASSERT(index.type == IndexType::ART); + if (index.index_type != ART::TYPE_NAME) { + return false; + } + D_ASSERT(index.index_type == ART::TYPE_NAME); + auto &art = index.Cast(); - if (art.constraint_type != IndexConstraintType::NONE) { + if (art.index_constraint_type != IndexConstraintType::NONE) { // unique index: create a local ART index that maintains the same unique constraint vector> unbound_expressions; unbound_expressions.reserve(art.unbound_expressions.size()); for (auto &expr : art.unbound_expressions) { unbound_expressions.push_back(expr->Copy()); } - indexes.AddIndex(make_uniq(art.column_ids, art.table_io_manager, std::move(unbound_expressions), - art.constraint_type, art.db)); + indexes.AddIndex(make_uniq(art.name, art.index_constraint_type, art.column_ids, art.table_io_manager, + std::move(unbound_expressions), art.db)); } return false; }); @@ -80,13 +84,25 @@ void LocalTableStorage::InitializeScan(CollectionScanState &state, optional_ptr< } idx_t LocalTableStorage::EstimatedSize() { + // count the appended rows idx_t appended_rows = row_groups->GetTotalRows() - deleted_rows; + + // get the (estimated) size of a row (no compressions, etc.) idx_t row_size = 0; auto &types = row_groups->GetTypes(); for (auto &type : types) { row_size += GetTypeIdSize(type.InternalType()); } - return appended_rows * row_size; + + // get the index size + idx_t index_sizes = 0; + indexes.Scan([&](Index &index) { + index_sizes += index.GetInMemorySize(); + return false; + }); + + // return the size of the appended rows and the index size + return appended_rows * row_size + index_sizes; } void LocalTableStorage::WriteNewRowGroup() { @@ -104,16 +120,16 @@ void LocalTableStorage::FlushBlocks() { optimistic_writer.FinalFlush(); } -PreservedError LocalTableStorage::AppendToIndexes(DuckTransaction &transaction, RowGroupCollection &source, - TableIndexList &index_list, const vector &table_types, - row_t &start_row) { +ErrorData LocalTableStorage::AppendToIndexes(DuckTransaction &transaction, RowGroupCollection &source, + TableIndexList &index_list, const vector &table_types, + row_t &start_row) { // only need to scan for index append // figure out which columns we need to scan for the set of indexes auto columns = index_list.GetRequiredColumns(); // create an empty mock chunk that contains all the correct types for the table DataChunk mock_chunk; mock_chunk.InitializeEmpty(table_types); - PreservedError error; + ErrorData error; source.Scan(transaction, columns, [&](DataChunk &chunk) -> bool { // construct the mock chunk by referencing the required columns for (idx_t i = 0; i < columns.size(); i++) { @@ -122,7 +138,7 @@ PreservedError LocalTableStorage::AppendToIndexes(DuckTransaction &transaction, mock_chunk.SetCardinality(chunk); // append this chunk to the indexes of the table error = DataTable::AppendToIndexes(index_list, mock_chunk, start_row); - if (error) { + if (error.HasError()) { return false; } start_row += chunk.size(); @@ -137,13 +153,13 @@ void LocalTableStorage::AppendToIndexes(DuckTransaction &transaction, TableAppen if (append_to_table) { table.InitializeAppend(transaction, append_state, append_count); } - PreservedError error; + ErrorData error; if (append_to_table) { // appending: need to scan entire row_groups->Scan(transaction, [&](DataChunk &chunk) -> bool { // append this chunk to the indexes of the table error = table.AppendToIndexes(chunk, append_state.current_row); - if (error) { + if (error.HasError()) { return false; } // append to base table @@ -154,7 +170,7 @@ void LocalTableStorage::AppendToIndexes(DuckTransaction &transaction, TableAppen error = AppendToIndexes(transaction, *row_groups, table.info->indexes, table.GetTypes(), append_state.current_row); } - if (error) { + if (error.HasError()) { // need to revert all appended row ids row_t current_row = append_state.row_start; // remove the data from the indexes, if there are any indexes @@ -162,11 +178,8 @@ void LocalTableStorage::AppendToIndexes(DuckTransaction &transaction, TableAppen // append this chunk to the indexes of the table try { table.RemoveFromIndexes(append_state, chunk, current_row); - } catch (Exception &ex) { - error = PreservedError(ex); - return false; } catch (std::exception &ex) { // LCOV_EXCL_START - error = PreservedError(ex); + error = ErrorData(ex); return false; } // LCOV_EXCL_STOP @@ -347,7 +360,7 @@ void LocalStorage::Append(LocalAppendState &state, DataChunk &chunk) { auto storage = state.storage; idx_t base_id = MAX_ROW_ID + storage->row_groups->GetTotalRows() + state.append_state.total_append_count; auto error = DataTable::AppendToIndexes(storage->indexes, chunk, base_id); - if (error) { + if (error.HasError()) { error.Throw(); } @@ -369,7 +382,7 @@ void LocalStorage::LocalMerge(DataTable &table, RowGroupCollection &collection) // append data to indexes if required row_t base_id = MAX_ROW_ID + storage.row_groups->GetTotalRows(); auto error = storage.AppendToIndexes(transaction, collection, storage.indexes, table.GetTypes(), base_id); - if (error) { + if (error.HasError()) { error.Throw(); } } @@ -454,6 +467,9 @@ void LocalStorage::Flush(DataTable &table, LocalTableStorage &storage) { storage.AppendToIndexes(transaction, append_state, append_count, true); } + // try to initialize any unknown indexes + table.info->InitializeIndexes(context); + // possibly vacuum any excess index data table.info->indexes.Scan([&](Index &index) { index.Vacuum(); @@ -556,6 +572,7 @@ TableIndexList &LocalStorage::GetIndexes(DataTable &table) { if (!storage) { throw InternalException("LocalStorage::GetIndexes - local storage not found"); } + table.info->InitializeIndexes(context); return storage->indexes; } diff --git a/src/storage/metadata/metadata_manager.cpp b/src/storage/metadata/metadata_manager.cpp index 0bd58d68ebe1..808ede82843c 100644 --- a/src/storage/metadata/metadata_manager.cpp +++ b/src/storage/metadata/metadata_manager.cpp @@ -67,7 +67,7 @@ void MetadataManager::ConvertToTransient(MetadataBlock &block) { // allocate a new transient block to replace it shared_ptr new_block; - auto new_buffer = buffer_manager.Allocate(Storage::BLOCK_SIZE, false, &new_block); + auto new_buffer = buffer_manager.Allocate(MemoryTag::METADATA, Storage::BLOCK_SIZE, false, &new_block); // copy the data to the transient block memcpy(new_buffer.Ptr(), old_buffer.Ptr(), Storage::BLOCK_SIZE); @@ -82,7 +82,7 @@ block_id_t MetadataManager::AllocateNewBlock() { auto new_block_id = GetNextBlockId(); MetadataBlock new_block; - auto handle = buffer_manager.Allocate(Storage::BLOCK_SIZE, false, &new_block.block); + auto handle = buffer_manager.Allocate(MemoryTag::METADATA, Storage::BLOCK_SIZE, false, &new_block.block); new_block.block_id = new_block_id; for (idx_t i = 0; i < METADATA_BLOCK_COUNT; i++) { new_block.free_blocks.push_back(METADATA_BLOCK_COUNT - i - 1); diff --git a/src/storage/partial_block_manager.cpp b/src/storage/partial_block_manager.cpp index 8128caf018d4..8a91e8844cc0 100644 --- a/src/storage/partial_block_manager.cpp +++ b/src/storage/partial_block_manager.cpp @@ -119,7 +119,7 @@ void PartialBlockManager::RegisterPartialBlock(PartialBlockAllocation &&allocati // Free the page with the least space free. auto itr = partially_filled_blocks.begin(); block_to_free = std::move(itr->second); - free_space = state.block_size - itr->first; + free_space = itr->first; partially_filled_blocks.erase(itr); } // Flush any block that we're not going to reuse. diff --git a/src/storage/serialization/CMakeLists.txt b/src/storage/serialization/CMakeLists.txt index bd53f9ba967b..0f6914fb2561 100644 --- a/src/storage/serialization/CMakeLists.txt +++ b/src/storage/serialization/CMakeLists.txt @@ -4,6 +4,7 @@ add_library_unity( serialize_constraint.cpp serialize_create_info.cpp serialize_expression.cpp + serialize_extra_drop_info.cpp serialize_logical_operator.cpp serialize_macro_function.cpp serialize_nodes.cpp diff --git a/src/storage/serialization/serialize_create_info.cpp b/src/storage/serialization/serialize_create_info.cpp index 821c6cec5576..8d667acf669c 100644 --- a/src/storage/serialization/serialize_create_info.cpp +++ b/src/storage/serialization/serialize_create_info.cpp @@ -24,6 +24,7 @@ void CreateInfo::Serialize(Serializer &serializer) const { serializer.WritePropertyWithDefault(104, "internal", internal); serializer.WriteProperty(105, "on_conflict", on_conflict); serializer.WritePropertyWithDefault(106, "sql", sql); + serializer.WritePropertyWithDefault(107, "comment", comment, Value()); } unique_ptr CreateInfo::Deserialize(Deserializer &deserializer) { @@ -34,6 +35,7 @@ unique_ptr CreateInfo::Deserialize(Deserializer &deserializer) { auto internal = deserializer.ReadPropertyWithDefault(104, "internal"); auto on_conflict = deserializer.ReadProperty(105, "on_conflict"); auto sql = deserializer.ReadPropertyWithDefault(106, "sql"); + auto comment = deserializer.ReadPropertyWithDefault(107, "comment", Value()); deserializer.Set(type); unique_ptr result; switch (type) { @@ -71,6 +73,7 @@ unique_ptr CreateInfo::Deserialize(Deserializer &deserializer) { result->internal = internal; result->on_conflict = on_conflict; result->sql = std::move(sql); + result->comment = comment; return result; } @@ -78,28 +81,28 @@ void CreateIndexInfo::Serialize(Serializer &serializer) const { CreateInfo::Serialize(serializer); serializer.WritePropertyWithDefault(200, "name", index_name); serializer.WritePropertyWithDefault(201, "table", table); - serializer.WriteProperty(202, "index_type", index_type); + /* [Deleted] (DeprecatedIndexType) "index_type" */ serializer.WriteProperty(203, "constraint_type", constraint_type); serializer.WritePropertyWithDefault>>(204, "parsed_expressions", parsed_expressions); serializer.WritePropertyWithDefault>(205, "scan_types", scan_types); serializer.WritePropertyWithDefault>(206, "names", names); serializer.WritePropertyWithDefault>(207, "column_ids", column_ids); serializer.WritePropertyWithDefault>(208, "options", options); - serializer.WritePropertyWithDefault(209, "index_type_name", index_type_name); + serializer.WritePropertyWithDefault(209, "index_type_name", index_type); } unique_ptr CreateIndexInfo::Deserialize(Deserializer &deserializer) { auto result = duckdb::unique_ptr(new CreateIndexInfo()); deserializer.ReadPropertyWithDefault(200, "name", result->index_name); deserializer.ReadPropertyWithDefault(201, "table", result->table); - deserializer.ReadProperty(202, "index_type", result->index_type); + deserializer.ReadDeletedProperty(202, "index_type"); deserializer.ReadProperty(203, "constraint_type", result->constraint_type); deserializer.ReadPropertyWithDefault>>(204, "parsed_expressions", result->parsed_expressions); deserializer.ReadPropertyWithDefault>(205, "scan_types", result->scan_types); deserializer.ReadPropertyWithDefault>(206, "names", result->names); deserializer.ReadPropertyWithDefault>(207, "column_ids", result->column_ids); deserializer.ReadPropertyWithDefault>(208, "options", result->options); - deserializer.ReadPropertyWithDefault(209, "index_type_name", result->index_type_name); + deserializer.ReadPropertyWithDefault(209, "index_type_name", result->index_type); return std::move(result); } @@ -184,6 +187,7 @@ void CreateViewInfo::Serialize(Serializer &serializer) const { serializer.WritePropertyWithDefault>(201, "aliases", aliases); serializer.WritePropertyWithDefault>(202, "types", types); serializer.WritePropertyWithDefault>(203, "query", query); + serializer.WritePropertyWithDefault>(204, "names", names); } unique_ptr CreateViewInfo::Deserialize(Deserializer &deserializer) { @@ -192,6 +196,7 @@ unique_ptr CreateViewInfo::Deserialize(Deserializer &deserializer) { deserializer.ReadPropertyWithDefault>(201, "aliases", result->aliases); deserializer.ReadPropertyWithDefault>(202, "types", result->types); deserializer.ReadPropertyWithDefault>(203, "query", result->query); + deserializer.ReadPropertyWithDefault>(204, "names", result->names); return std::move(result); } diff --git a/src/storage/serialization/serialize_expression.cpp b/src/storage/serialization/serialize_expression.cpp index bc0b6e191efd..e26e4ca49c51 100644 --- a/src/storage/serialization/serialize_expression.cpp +++ b/src/storage/serialization/serialize_expression.cpp @@ -213,16 +213,16 @@ void BoundLambdaRefExpression::Serialize(Serializer &serializer) const { Expression::Serialize(serializer); serializer.WriteProperty(200, "return_type", return_type); serializer.WriteProperty(201, "binding", binding); - serializer.WritePropertyWithDefault(202, "lambda_index", lambda_index); + serializer.WritePropertyWithDefault(202, "lambda_index", lambda_idx); serializer.WritePropertyWithDefault(203, "depth", depth); } unique_ptr BoundLambdaRefExpression::Deserialize(Deserializer &deserializer) { auto return_type = deserializer.ReadProperty(200, "return_type"); auto binding = deserializer.ReadProperty(201, "binding"); - auto lambda_index = deserializer.ReadPropertyWithDefault(202, "lambda_index"); + auto lambda_idx = deserializer.ReadPropertyWithDefault(202, "lambda_index"); auto depth = deserializer.ReadPropertyWithDefault(203, "depth"); - auto result = duckdb::unique_ptr(new BoundLambdaRefExpression(std::move(return_type), binding, lambda_index, depth)); + auto result = duckdb::unique_ptr(new BoundLambdaRefExpression(std::move(return_type), binding, lambda_idx, depth)); return std::move(result); } diff --git a/src/storage/serialization/serialize_extra_drop_info.cpp b/src/storage/serialization/serialize_extra_drop_info.cpp new file mode 100644 index 000000000000..fcdfd4197d57 --- /dev/null +++ b/src/storage/serialization/serialize_extra_drop_info.cpp @@ -0,0 +1,42 @@ +//===----------------------------------------------------------------------===// +// This file is automatically generated by scripts/generate_serialization.py +// Do not edit this file manually, your changes will be overwritten +//===----------------------------------------------------------------------===// + +#include "duckdb/common/serializer/serializer.hpp" +#include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/parser/parsed_data/extra_drop_info.hpp" + +namespace duckdb { + +void ExtraDropInfo::Serialize(Serializer &serializer) const { + serializer.WriteProperty(100, "info_type", info_type); +} + +unique_ptr ExtraDropInfo::Deserialize(Deserializer &deserializer) { + auto info_type = deserializer.ReadProperty(100, "info_type"); + unique_ptr result; + switch (info_type) { + case ExtraDropInfoType::SECRET_INFO: + result = ExtraDropSecretInfo::Deserialize(deserializer); + break; + default: + throw SerializationException("Unsupported type for deserialization of ExtraDropInfo!"); + } + return result; +} + +void ExtraDropSecretInfo::Serialize(Serializer &serializer) const { + ExtraDropInfo::Serialize(serializer); + serializer.WriteProperty(200, "persist_mode", persist_mode); + serializer.WritePropertyWithDefault(201, "secret_storage", secret_storage); +} + +unique_ptr ExtraDropSecretInfo::Deserialize(Deserializer &deserializer) { + auto result = duckdb::unique_ptr(new ExtraDropSecretInfo()); + deserializer.ReadProperty(200, "persist_mode", result->persist_mode); + deserializer.ReadPropertyWithDefault(201, "secret_storage", result->secret_storage); + return std::move(result); +} + +} // namespace duckdb diff --git a/src/storage/serialization/serialize_logical_operator.cpp b/src/storage/serialization/serialize_logical_operator.cpp index ab8dee9874f4..fd061c1dbb80 100644 --- a/src/storage/serialization/serialize_logical_operator.cpp +++ b/src/storage/serialization/serialize_logical_operator.cpp @@ -157,9 +157,6 @@ unique_ptr LogicalOperator::Deserialize(Deserializer &deseriali case LogicalOperatorType::LOGICAL_SET: result = LogicalSet::Deserialize(deserializer); break; - case LogicalOperatorType::LOGICAL_SHOW: - result = LogicalShow::Deserialize(deserializer); - break; case LogicalOperatorType::LOGICAL_TOP_N: result = LogicalTopN::Deserialize(deserializer); break; @@ -288,6 +285,7 @@ void LogicalComparisonJoin::Serialize(Serializer &serializer) const { serializer.WritePropertyWithDefault>(204, "conditions", conditions); serializer.WritePropertyWithDefault>(205, "mark_types", mark_types); serializer.WritePropertyWithDefault>>(206, "duplicate_eliminated_columns", duplicate_eliminated_columns); + serializer.WritePropertyWithDefault(207, "delim_flipped", delim_flipped, false); } unique_ptr LogicalComparisonJoin::Deserialize(Deserializer &deserializer) { @@ -299,6 +297,7 @@ unique_ptr LogicalComparisonJoin::Deserialize(Deserializer &des deserializer.ReadPropertyWithDefault>(204, "conditions", result->conditions); deserializer.ReadPropertyWithDefault>(205, "mark_types", result->mark_types); deserializer.ReadPropertyWithDefault>>(206, "duplicate_eliminated_columns", result->duplicate_eliminated_columns); + deserializer.ReadPropertyWithDefault(207, "delim_flipped", result->delim_flipped, false); return std::move(result); } @@ -662,25 +661,16 @@ void LogicalSetOperation::Serialize(Serializer &serializer) const { LogicalOperator::Serialize(serializer); serializer.WritePropertyWithDefault(200, "table_index", table_index); serializer.WritePropertyWithDefault(201, "column_count", column_count); + serializer.WritePropertyWithDefault(202, "setop_all", setop_all, true); + serializer.WritePropertyWithDefault(203, "allow_out_of_order", allow_out_of_order, true); } unique_ptr LogicalSetOperation::Deserialize(Deserializer &deserializer) { auto table_index = deserializer.ReadPropertyWithDefault(200, "table_index"); auto column_count = deserializer.ReadPropertyWithDefault(201, "column_count"); - auto result = duckdb::unique_ptr(new LogicalSetOperation(table_index, column_count, deserializer.Get())); - return std::move(result); -} - -void LogicalShow::Serialize(Serializer &serializer) const { - LogicalOperator::Serialize(serializer); - serializer.WritePropertyWithDefault>(200, "types_select", types_select); - serializer.WritePropertyWithDefault>(201, "aliases", aliases); -} - -unique_ptr LogicalShow::Deserialize(Deserializer &deserializer) { - auto result = duckdb::unique_ptr(new LogicalShow()); - deserializer.ReadPropertyWithDefault>(200, "types_select", result->types_select); - deserializer.ReadPropertyWithDefault>(201, "aliases", result->aliases); + auto setop_all = deserializer.ReadPropertyWithDefault(202, "setop_all", true); + auto allow_out_of_order = deserializer.ReadPropertyWithDefault(203, "allow_out_of_order", true); + auto result = duckdb::unique_ptr(new LogicalSetOperation(table_index, column_count, deserializer.Get(), setop_all, allow_out_of_order)); return std::move(result); } diff --git a/src/storage/serialization/serialize_macro_function.cpp b/src/storage/serialization/serialize_macro_function.cpp index 79484d8084ed..8be5988db71a 100644 --- a/src/storage/serialization/serialize_macro_function.cpp +++ b/src/storage/serialization/serialize_macro_function.cpp @@ -14,13 +14,13 @@ namespace duckdb { void MacroFunction::Serialize(Serializer &serializer) const { serializer.WriteProperty(100, "type", type); serializer.WritePropertyWithDefault>>(101, "parameters", parameters); - serializer.WritePropertyWithDefault>>(102, "default_parameters", default_parameters); + serializer.WritePropertyWithDefault>>(102, "default_parameters", default_parameters); } unique_ptr MacroFunction::Deserialize(Deserializer &deserializer) { auto type = deserializer.ReadProperty(100, "type"); auto parameters = deserializer.ReadPropertyWithDefault>>(101, "parameters"); - auto default_parameters = deserializer.ReadPropertyWithDefault>>(102, "default_parameters"); + auto default_parameters = deserializer.ReadPropertyWithDefault>>(102, "default_parameters"); unique_ptr result; switch (type) { case MacroType::SCALAR_MACRO: diff --git a/src/storage/serialization/serialize_nodes.cpp b/src/storage/serialization/serialize_nodes.cpp index 1a8b50fc02fe..47c464e1f205 100644 --- a/src/storage/serialization/serialize_nodes.cpp +++ b/src/storage/serialization/serialize_nodes.cpp @@ -25,7 +25,8 @@ #include "duckdb/planner/table_filter.hpp" #include "duckdb/common/multi_file_reader_options.hpp" #include "duckdb/common/multi_file_reader.hpp" -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_option.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" #include "duckdb/function/scalar/strftime_format.hpp" #include "duckdb/function/table/read_csv.hpp" #include "duckdb/common/types/interval.hpp" @@ -86,81 +87,87 @@ BoundPivotInfo BoundPivotInfo::Deserialize(Deserializer &deserializer) { return result; } +template +void CSVOption::Serialize(Serializer &serializer) const { + serializer.WritePropertyWithDefault(100, "set_by_user", set_by_user); + serializer.WriteProperty(101, "value", value); +} + +template +CSVOption CSVOption::Deserialize(Deserializer &deserializer) { + CSVOption result; + deserializer.ReadPropertyWithDefault(100, "set_by_user", result.set_by_user); + deserializer.ReadProperty(101, "value", result.value); + return result; +} + void CSVReaderOptions::Serialize(Serializer &serializer) const { - serializer.WritePropertyWithDefault(100, "has_delimiter", has_delimiter); - serializer.WritePropertyWithDefault(101, "has_quote", has_quote); - serializer.WritePropertyWithDefault(102, "has_escape", has_escape); - serializer.WritePropertyWithDefault(103, "has_header", has_header); - serializer.WritePropertyWithDefault(104, "ignore_errors", ignore_errors); - serializer.WritePropertyWithDefault(105, "buffer_sample_size", buffer_sample_size); - serializer.WritePropertyWithDefault(106, "null_str", null_str); - serializer.WriteProperty(107, "compression", compression); - serializer.WritePropertyWithDefault(108, "allow_quoted_nulls", allow_quoted_nulls); - serializer.WritePropertyWithDefault(109, "skip_rows_set", skip_rows_set); - serializer.WritePropertyWithDefault(110, "maximum_line_size", maximum_line_size); - serializer.WritePropertyWithDefault(111, "normalize_names", normalize_names); - serializer.WritePropertyWithDefault>(112, "force_not_null", force_not_null); - serializer.WritePropertyWithDefault(113, "all_varchar", all_varchar); - serializer.WritePropertyWithDefault(114, "sample_size_chunks", sample_size_chunks); - serializer.WritePropertyWithDefault(115, "auto_detect", auto_detect); - serializer.WritePropertyWithDefault(116, "file_path", file_path); - serializer.WritePropertyWithDefault(117, "decimal_separator", decimal_separator); - serializer.WritePropertyWithDefault(118, "null_padding", null_padding); - serializer.WritePropertyWithDefault(119, "buffer_size", buffer_size); - serializer.WriteProperty(120, "file_options", file_options); - serializer.WritePropertyWithDefault>(121, "force_quote", force_quote); - serializer.WritePropertyWithDefault(122, "rejects_table_name", rejects_table_name); - serializer.WritePropertyWithDefault(123, "rejects_limit", rejects_limit); - serializer.WritePropertyWithDefault>(124, "rejects_recovery_columns", rejects_recovery_columns); - serializer.WritePropertyWithDefault>(125, "rejects_recovery_column_ids", rejects_recovery_column_ids); - serializer.WriteProperty(126, "dialect_options.state_machine_options.delimiter", dialect_options.state_machine_options.delimiter); - serializer.WriteProperty(127, "dialect_options.state_machine_options.quote", dialect_options.state_machine_options.quote); - serializer.WriteProperty(128, "dialect_options.state_machine_options.escape", dialect_options.state_machine_options.escape); - serializer.WritePropertyWithDefault(129, "dialect_options.header", dialect_options.header); - serializer.WritePropertyWithDefault(130, "dialect_options.num_cols", dialect_options.num_cols); - serializer.WriteProperty(131, "dialect_options.new_line", dialect_options.new_line); - serializer.WritePropertyWithDefault(132, "dialect_options.skip_rows", dialect_options.skip_rows); - serializer.WritePropertyWithDefault>(133, "dialect_options.date_format", dialect_options.date_format); - serializer.WritePropertyWithDefault>(134, "dialect_options.has_format", dialect_options.has_format); + serializer.WritePropertyWithDefault(100, "ignore_errors", ignore_errors); + serializer.WritePropertyWithDefault(101, "buffer_sample_size", buffer_sample_size); + serializer.WritePropertyWithDefault(102, "null_str", null_str); + serializer.WriteProperty(103, "compression", compression); + serializer.WritePropertyWithDefault(104, "allow_quoted_nulls", allow_quoted_nulls); + serializer.WritePropertyWithDefault(105, "maximum_line_size", maximum_line_size); + serializer.WritePropertyWithDefault(106, "normalize_names", normalize_names); + serializer.WritePropertyWithDefault>(107, "force_not_null", force_not_null); + serializer.WritePropertyWithDefault(108, "all_varchar", all_varchar); + serializer.WritePropertyWithDefault(109, "sample_size_chunks", sample_size_chunks); + serializer.WritePropertyWithDefault(110, "auto_detect", auto_detect); + serializer.WritePropertyWithDefault(111, "file_path", file_path); + serializer.WritePropertyWithDefault(112, "decimal_separator", decimal_separator); + serializer.WritePropertyWithDefault(113, "null_padding", null_padding); + serializer.WritePropertyWithDefault(114, "buffer_size", buffer_size); + serializer.WriteProperty(115, "file_options", file_options); + serializer.WritePropertyWithDefault>(116, "force_quote", force_quote); + serializer.WritePropertyWithDefault(117, "rejects_table_name", rejects_table_name); + serializer.WritePropertyWithDefault(118, "rejects_limit", rejects_limit); + serializer.WritePropertyWithDefault>(119, "rejects_recovery_columns", rejects_recovery_columns); + serializer.WritePropertyWithDefault>(120, "rejects_recovery_column_ids", rejects_recovery_column_ids); + serializer.WriteProperty>(121, "dialect_options.state_machine_options.delimiter", dialect_options.state_machine_options.delimiter); + serializer.WriteProperty>(122, "dialect_options.state_machine_options.quote", dialect_options.state_machine_options.quote); + serializer.WriteProperty>(123, "dialect_options.state_machine_options.escape", dialect_options.state_machine_options.escape); + serializer.WriteProperty>(124, "dialect_options.header", dialect_options.header); + serializer.WritePropertyWithDefault(125, "dialect_options.num_cols", dialect_options.num_cols); + serializer.WriteProperty>(126, "dialect_options.state_machine_options.new_line", dialect_options.state_machine_options.new_line); + serializer.WriteProperty>(127, "dialect_options.skip_rows", dialect_options.skip_rows); + serializer.WriteProperty>>(128, "dialect_options.date_format", dialect_options.date_format); + serializer.WritePropertyWithDefault(129, "sniffer_user_mismatch_error", sniffer_user_mismatch_error); + serializer.WritePropertyWithDefault(130, "parallel", parallel); } CSVReaderOptions CSVReaderOptions::Deserialize(Deserializer &deserializer) { CSVReaderOptions result; - deserializer.ReadPropertyWithDefault(100, "has_delimiter", result.has_delimiter); - deserializer.ReadPropertyWithDefault(101, "has_quote", result.has_quote); - deserializer.ReadPropertyWithDefault(102, "has_escape", result.has_escape); - deserializer.ReadPropertyWithDefault(103, "has_header", result.has_header); - deserializer.ReadPropertyWithDefault(104, "ignore_errors", result.ignore_errors); - deserializer.ReadPropertyWithDefault(105, "buffer_sample_size", result.buffer_sample_size); - deserializer.ReadPropertyWithDefault(106, "null_str", result.null_str); - deserializer.ReadProperty(107, "compression", result.compression); - deserializer.ReadPropertyWithDefault(108, "allow_quoted_nulls", result.allow_quoted_nulls); - deserializer.ReadPropertyWithDefault(109, "skip_rows_set", result.skip_rows_set); - deserializer.ReadPropertyWithDefault(110, "maximum_line_size", result.maximum_line_size); - deserializer.ReadPropertyWithDefault(111, "normalize_names", result.normalize_names); - deserializer.ReadPropertyWithDefault>(112, "force_not_null", result.force_not_null); - deserializer.ReadPropertyWithDefault(113, "all_varchar", result.all_varchar); - deserializer.ReadPropertyWithDefault(114, "sample_size_chunks", result.sample_size_chunks); - deserializer.ReadPropertyWithDefault(115, "auto_detect", result.auto_detect); - deserializer.ReadPropertyWithDefault(116, "file_path", result.file_path); - deserializer.ReadPropertyWithDefault(117, "decimal_separator", result.decimal_separator); - deserializer.ReadPropertyWithDefault(118, "null_padding", result.null_padding); - deserializer.ReadPropertyWithDefault(119, "buffer_size", result.buffer_size); - deserializer.ReadProperty(120, "file_options", result.file_options); - deserializer.ReadPropertyWithDefault>(121, "force_quote", result.force_quote); - deserializer.ReadPropertyWithDefault(122, "rejects_table_name", result.rejects_table_name); - deserializer.ReadPropertyWithDefault(123, "rejects_limit", result.rejects_limit); - deserializer.ReadPropertyWithDefault>(124, "rejects_recovery_columns", result.rejects_recovery_columns); - deserializer.ReadPropertyWithDefault>(125, "rejects_recovery_column_ids", result.rejects_recovery_column_ids); - deserializer.ReadProperty(126, "dialect_options.state_machine_options.delimiter", result.dialect_options.state_machine_options.delimiter); - deserializer.ReadProperty(127, "dialect_options.state_machine_options.quote", result.dialect_options.state_machine_options.quote); - deserializer.ReadProperty(128, "dialect_options.state_machine_options.escape", result.dialect_options.state_machine_options.escape); - deserializer.ReadPropertyWithDefault(129, "dialect_options.header", result.dialect_options.header); - deserializer.ReadPropertyWithDefault(130, "dialect_options.num_cols", result.dialect_options.num_cols); - deserializer.ReadProperty(131, "dialect_options.new_line", result.dialect_options.new_line); - deserializer.ReadPropertyWithDefault(132, "dialect_options.skip_rows", result.dialect_options.skip_rows); - deserializer.ReadPropertyWithDefault>(133, "dialect_options.date_format", result.dialect_options.date_format); - deserializer.ReadPropertyWithDefault>(134, "dialect_options.has_format", result.dialect_options.has_format); + deserializer.ReadPropertyWithDefault(100, "ignore_errors", result.ignore_errors); + deserializer.ReadPropertyWithDefault(101, "buffer_sample_size", result.buffer_sample_size); + deserializer.ReadPropertyWithDefault(102, "null_str", result.null_str); + deserializer.ReadProperty(103, "compression", result.compression); + deserializer.ReadPropertyWithDefault(104, "allow_quoted_nulls", result.allow_quoted_nulls); + deserializer.ReadPropertyWithDefault(105, "maximum_line_size", result.maximum_line_size); + deserializer.ReadPropertyWithDefault(106, "normalize_names", result.normalize_names); + deserializer.ReadPropertyWithDefault>(107, "force_not_null", result.force_not_null); + deserializer.ReadPropertyWithDefault(108, "all_varchar", result.all_varchar); + deserializer.ReadPropertyWithDefault(109, "sample_size_chunks", result.sample_size_chunks); + deserializer.ReadPropertyWithDefault(110, "auto_detect", result.auto_detect); + deserializer.ReadPropertyWithDefault(111, "file_path", result.file_path); + deserializer.ReadPropertyWithDefault(112, "decimal_separator", result.decimal_separator); + deserializer.ReadPropertyWithDefault(113, "null_padding", result.null_padding); + deserializer.ReadPropertyWithDefault(114, "buffer_size", result.buffer_size); + deserializer.ReadProperty(115, "file_options", result.file_options); + deserializer.ReadPropertyWithDefault>(116, "force_quote", result.force_quote); + deserializer.ReadPropertyWithDefault(117, "rejects_table_name", result.rejects_table_name); + deserializer.ReadPropertyWithDefault(118, "rejects_limit", result.rejects_limit); + deserializer.ReadPropertyWithDefault>(119, "rejects_recovery_columns", result.rejects_recovery_columns); + deserializer.ReadPropertyWithDefault>(120, "rejects_recovery_column_ids", result.rejects_recovery_column_ids); + deserializer.ReadProperty>(121, "dialect_options.state_machine_options.delimiter", result.dialect_options.state_machine_options.delimiter); + deserializer.ReadProperty>(122, "dialect_options.state_machine_options.quote", result.dialect_options.state_machine_options.quote); + deserializer.ReadProperty>(123, "dialect_options.state_machine_options.escape", result.dialect_options.state_machine_options.escape); + deserializer.ReadProperty>(124, "dialect_options.header", result.dialect_options.header); + deserializer.ReadPropertyWithDefault(125, "dialect_options.num_cols", result.dialect_options.num_cols); + deserializer.ReadProperty>(126, "dialect_options.state_machine_options.new_line", result.dialect_options.state_machine_options.new_line); + deserializer.ReadProperty>(127, "dialect_options.skip_rows", result.dialect_options.skip_rows); + deserializer.ReadProperty>>(128, "dialect_options.date_format", result.dialect_options.date_format); + deserializer.ReadPropertyWithDefault(129, "sniffer_user_mismatch_error", result.sniffer_user_mismatch_error); + deserializer.ReadPropertyWithDefault(130, "parallel", result.parallel); return result; } @@ -194,6 +201,7 @@ void ColumnDefinition::Serialize(Serializer &serializer) const { serializer.WritePropertyWithDefault>(102, "expression", expression); serializer.WriteProperty(103, "category", category); serializer.WriteProperty(104, "compression_type", compression_type); + serializer.WritePropertyWithDefault(105, "comment", comment, Value()); } ColumnDefinition ColumnDefinition::Deserialize(Deserializer &deserializer) { @@ -203,6 +211,7 @@ ColumnDefinition ColumnDefinition::Deserialize(Deserializer &deserializer) { auto category = deserializer.ReadProperty(103, "category"); ColumnDefinition result(std::move(name), std::move(type), std::move(expression), category); deserializer.ReadProperty(104, "compression_type", result.compression_type); + deserializer.ReadPropertyWithDefault(105, "comment", result.comment, Value()); return result; } @@ -374,9 +383,8 @@ void ReadCSVData::Serialize(Serializer &serializer) const { serializer.WritePropertyWithDefault>(104, "return_names", return_names); serializer.WritePropertyWithDefault(105, "filename_col_idx", filename_col_idx); serializer.WriteProperty(106, "options", options); - serializer.WritePropertyWithDefault(107, "single_threaded", single_threaded); - serializer.WriteProperty(108, "reader_bind", reader_bind); - serializer.WritePropertyWithDefault>(109, "column_info", column_info); + serializer.WriteProperty(107, "reader_bind", reader_bind); + serializer.WritePropertyWithDefault>(108, "column_info", column_info); } unique_ptr ReadCSVData::Deserialize(Deserializer &deserializer) { @@ -388,9 +396,8 @@ unique_ptr ReadCSVData::Deserialize(Deserializer &deserializer) { deserializer.ReadPropertyWithDefault>(104, "return_names", result->return_names); deserializer.ReadPropertyWithDefault(105, "filename_col_idx", result->filename_col_idx); deserializer.ReadProperty(106, "options", result->options); - deserializer.ReadPropertyWithDefault(107, "single_threaded", result->single_threaded); - deserializer.ReadProperty(108, "reader_bind", result->reader_bind); - deserializer.ReadPropertyWithDefault>(109, "column_info", result->column_info); + deserializer.ReadProperty(107, "reader_bind", result->reader_bind); + deserializer.ReadPropertyWithDefault>(108, "column_info", result->column_info); return result; } diff --git a/src/storage/serialization/serialize_parse_info.cpp b/src/storage/serialization/serialize_parse_info.cpp index ec86b5fe6b9c..2e0d510093e3 100644 --- a/src/storage/serialization/serialize_parse_info.cpp +++ b/src/storage/serialization/serialize_parse_info.cpp @@ -16,6 +16,7 @@ #include "duckdb/parser/parsed_data/pragma_info.hpp" #include "duckdb/parser/parsed_data/transaction_info.hpp" #include "duckdb/parser/parsed_data/vacuum_info.hpp" +#include "duckdb/parser/parsed_data/comment_on_info.hpp" namespace duckdb { @@ -33,6 +34,9 @@ unique_ptr ParseInfo::Deserialize(Deserializer &deserializer) { case ParseInfoType::ATTACH_INFO: result = AttachInfo::Deserialize(deserializer); break; + case ParseInfoType::COMMENT_ON_INFO: + result = CommentOnInfo::Deserialize(deserializer); + break; case ParseInfoType::COPY_INFO: result = CopyInfo::Deserialize(deserializer); break; @@ -85,6 +89,9 @@ unique_ptr AlterInfo::Deserialize(Deserializer &deserializer) { case AlterType::ALTER_VIEW: result = AlterViewInfo::Deserialize(deserializer); break; + case AlterType::SET_COMMENT: + result = SetCommentInfo::Deserialize(deserializer); + break; default: throw SerializationException("Unsupported type for deserialization of AlterInfo!"); } @@ -126,6 +133,9 @@ unique_ptr AlterTableInfo::Deserialize(Deserializer &deserializer) { case AlterTableType::RENAME_TABLE: result = RenameTableInfo::Deserialize(deserializer); break; + case AlterTableType::SET_COLUMN_COMMENT: + result = SetColumnCommentInfo::Deserialize(deserializer); + break; case AlterTableType::SET_DEFAULT: result = SetDefaultInfo::Deserialize(deserializer); break; @@ -195,6 +205,7 @@ void AttachInfo::Serialize(Serializer &serializer) const { serializer.WritePropertyWithDefault(200, "name", name); serializer.WritePropertyWithDefault(201, "path", path); serializer.WritePropertyWithDefault>(202, "options", options); + serializer.WritePropertyWithDefault(203, "on_conflict", on_conflict, OnCreateConflict::ERROR_ON_CONFLICT); } unique_ptr AttachInfo::Deserialize(Deserializer &deserializer) { @@ -202,6 +213,7 @@ unique_ptr AttachInfo::Deserialize(Deserializer &deserializer) { deserializer.ReadPropertyWithDefault(200, "name", result->name); deserializer.ReadPropertyWithDefault(201, "path", result->path); deserializer.ReadPropertyWithDefault>(202, "options", result->options); + deserializer.ReadPropertyWithDefault(203, "on_conflict", result->on_conflict, OnCreateConflict::ERROR_ON_CONFLICT); return std::move(result); } @@ -220,6 +232,25 @@ unique_ptr ChangeColumnTypeInfo::Deserialize(Deserializer &deser return std::move(result); } +void CommentOnInfo::Serialize(Serializer &serializer) const { + ParseInfo::Serialize(serializer); + serializer.WriteProperty(200, "type", type); + serializer.WritePropertyWithDefault(201, "catalog", catalog); + serializer.WritePropertyWithDefault(202, "schema", schema); + serializer.WritePropertyWithDefault(203, "name", name); + serializer.WriteProperty(204, "comment", comment); +} + +unique_ptr CommentOnInfo::Deserialize(Deserializer &deserializer) { + auto result = duckdb::unique_ptr(new CommentOnInfo()); + deserializer.ReadProperty(200, "type", result->type); + deserializer.ReadPropertyWithDefault(201, "catalog", result->catalog); + deserializer.ReadPropertyWithDefault(202, "schema", result->schema); + deserializer.ReadPropertyWithDefault(203, "name", result->name); + deserializer.ReadProperty(204, "comment", result->comment); + return std::move(result); +} + void CopyInfo::Serialize(Serializer &serializer) const { ParseInfo::Serialize(serializer); serializer.WritePropertyWithDefault(200, "catalog", catalog); @@ -267,6 +298,7 @@ void DropInfo::Serialize(Serializer &serializer) const { serializer.WriteProperty(204, "if_not_found", if_not_found); serializer.WritePropertyWithDefault(205, "cascade", cascade); serializer.WritePropertyWithDefault(206, "allow_drop_internal", allow_drop_internal); + serializer.WritePropertyWithDefault>(207, "extra_drop_info", extra_drop_info); } unique_ptr DropInfo::Deserialize(Deserializer &deserializer) { @@ -278,6 +310,7 @@ unique_ptr DropInfo::Deserialize(Deserializer &deserializer) { deserializer.ReadProperty(204, "if_not_found", result->if_not_found); deserializer.ReadPropertyWithDefault(205, "cascade", result->cascade); deserializer.ReadPropertyWithDefault(206, "allow_drop_internal", result->allow_drop_internal); + deserializer.ReadPropertyWithDefault>(207, "extra_drop_info", result->extra_drop_info); return std::move(result); } @@ -310,15 +343,15 @@ unique_ptr LoadInfo::Deserialize(Deserializer &deserializer) { void PragmaInfo::Serialize(Serializer &serializer) const { ParseInfo::Serialize(serializer); serializer.WritePropertyWithDefault(200, "name", name); - serializer.WritePropertyWithDefault>(201, "parameters", parameters); - serializer.WriteProperty(202, "named_parameters", named_parameters); + serializer.WritePropertyWithDefault>>(201, "parameters", parameters); + serializer.WritePropertyWithDefault>>(202, "named_parameters", named_parameters); } unique_ptr PragmaInfo::Deserialize(Deserializer &deserializer) { auto result = duckdb::unique_ptr(new PragmaInfo()); deserializer.ReadPropertyWithDefault(200, "name", result->name); - deserializer.ReadPropertyWithDefault>(201, "parameters", result->parameters); - deserializer.ReadProperty(202, "named_parameters", result->named_parameters); + deserializer.ReadPropertyWithDefault>>(201, "parameters", result->parameters); + deserializer.ReadPropertyWithDefault>>(202, "named_parameters", result->named_parameters); return std::move(result); } @@ -372,6 +405,32 @@ unique_ptr RenameViewInfo::Deserialize(Deserializer &deserializer return std::move(result); } +void SetColumnCommentInfo::Serialize(Serializer &serializer) const { + AlterTableInfo::Serialize(serializer); + serializer.WritePropertyWithDefault(400, "column_name", column_name); + serializer.WriteProperty(401, "comment", comment); +} + +unique_ptr SetColumnCommentInfo::Deserialize(Deserializer &deserializer) { + auto result = duckdb::unique_ptr(new SetColumnCommentInfo()); + deserializer.ReadPropertyWithDefault(400, "column_name", result->column_name); + deserializer.ReadProperty(401, "comment", result->comment); + return std::move(result); +} + +void SetCommentInfo::Serialize(Serializer &serializer) const { + AlterInfo::Serialize(serializer); + serializer.WriteProperty(300, "entry_catalog_type", entry_catalog_type); + serializer.WriteProperty(301, "comment_value", comment_value); +} + +unique_ptr SetCommentInfo::Deserialize(Deserializer &deserializer) { + auto result = duckdb::unique_ptr(new SetCommentInfo()); + deserializer.ReadProperty(300, "entry_catalog_type", result->entry_catalog_type); + deserializer.ReadProperty(301, "comment_value", result->comment_value); + return std::move(result); +} + void SetDefaultInfo::Serialize(Serializer &serializer) const { AlterTableInfo::Serialize(serializer); serializer.WritePropertyWithDefault(400, "column_name", column_name); diff --git a/src/storage/serialization/serialize_parsed_expression.cpp b/src/storage/serialization/serialize_parsed_expression.cpp index 39297311db4f..9c7752f636ee 100644 --- a/src/storage/serialization/serialize_parsed_expression.cpp +++ b/src/storage/serialization/serialize_parsed_expression.cpp @@ -13,12 +13,14 @@ void ParsedExpression::Serialize(Serializer &serializer) const { serializer.WriteProperty(100, "class", expression_class); serializer.WriteProperty(101, "type", type); serializer.WritePropertyWithDefault(102, "alias", alias); + serializer.WritePropertyWithDefault(103, "query_location", query_location, optional_idx()); } unique_ptr ParsedExpression::Deserialize(Deserializer &deserializer) { auto expression_class = deserializer.ReadProperty(100, "class"); auto type = deserializer.ReadProperty(101, "type"); auto alias = deserializer.ReadPropertyWithDefault(102, "alias"); + auto query_location = deserializer.ReadPropertyWithDefault(103, "query_location", optional_idx()); deserializer.Set(type); unique_ptr result; switch (expression_class) { @@ -55,6 +57,9 @@ unique_ptr ParsedExpression::Deserialize(Deserializer &deseria case ExpressionClass::LAMBDA: result = LambdaExpression::Deserialize(deserializer); break; + case ExpressionClass::LAMBDA_REF: + result = LambdaRefExpression::Deserialize(deserializer); + break; case ExpressionClass::OPERATOR: result = OperatorExpression::Deserialize(deserializer); break; @@ -78,6 +83,7 @@ unique_ptr ParsedExpression::Deserialize(Deserializer &deseria } deserializer.Unset(); result->alias = std::move(alias); + result->query_location = query_location; return result; } @@ -233,6 +239,19 @@ unique_ptr LambdaExpression::Deserialize(Deserializer &deseria return std::move(result); } +void LambdaRefExpression::Serialize(Serializer &serializer) const { + ParsedExpression::Serialize(serializer); + serializer.WritePropertyWithDefault(200, "lambda_idx", lambda_idx); + serializer.WritePropertyWithDefault(201, "column_name", column_name); +} + +unique_ptr LambdaRefExpression::Deserialize(Deserializer &deserializer) { + auto lambda_idx = deserializer.ReadPropertyWithDefault(200, "lambda_idx"); + auto column_name = deserializer.ReadPropertyWithDefault(201, "column_name"); + auto result = duckdb::unique_ptr(new LambdaRefExpression(lambda_idx, std::move(column_name))); + return std::move(result); +} + void OperatorExpression::Serialize(Serializer &serializer) const { ParsedExpression::Serialize(serializer); serializer.WritePropertyWithDefault>>(200, "children", children); @@ -318,6 +337,8 @@ void WindowExpression::Serialize(Serializer &serializer) const { serializer.WritePropertyWithDefault>(211, "default_expr", default_expr); serializer.WritePropertyWithDefault(212, "ignore_nulls", ignore_nulls); serializer.WritePropertyWithDefault>(213, "filter_expr", filter_expr); + serializer.WritePropertyWithDefault(214, "exclude_clause", exclude_clause, WindowExcludeMode::NO_OTHER); + serializer.WritePropertyWithDefault(215, "distinct", distinct); } unique_ptr WindowExpression::Deserialize(Deserializer &deserializer) { @@ -336,6 +357,8 @@ unique_ptr WindowExpression::Deserialize(Deserializer &deseria deserializer.ReadPropertyWithDefault>(211, "default_expr", result->default_expr); deserializer.ReadPropertyWithDefault(212, "ignore_nulls", result->ignore_nulls); deserializer.ReadPropertyWithDefault>(213, "filter_expr", result->filter_expr); + deserializer.ReadPropertyWithDefault(214, "exclude_clause", result->exclude_clause, WindowExcludeMode::NO_OTHER); + deserializer.ReadPropertyWithDefault(215, "distinct", result->distinct); return std::move(result); } diff --git a/src/storage/serialization/serialize_query_node.cpp b/src/storage/serialization/serialize_query_node.cpp index f271ebc4a11e..49f737ff0a40 100644 --- a/src/storage/serialization/serialize_query_node.cpp +++ b/src/storage/serialization/serialize_query_node.cpp @@ -109,6 +109,7 @@ void SetOperationNode::Serialize(Serializer &serializer) const { serializer.WriteProperty(200, "setop_type", setop_type); serializer.WritePropertyWithDefault>(201, "left", left); serializer.WritePropertyWithDefault>(202, "right", right); + serializer.WritePropertyWithDefault(203, "setop_all", setop_all, true); } unique_ptr SetOperationNode::Deserialize(Deserializer &deserializer) { @@ -116,6 +117,7 @@ unique_ptr SetOperationNode::Deserialize(Deserializer &deserializer) deserializer.ReadProperty(200, "setop_type", result->setop_type); deserializer.ReadPropertyWithDefault>(201, "left", result->left); deserializer.ReadPropertyWithDefault>(202, "right", result->right); + deserializer.ReadPropertyWithDefault(203, "setop_all", result->setop_all, true); return std::move(result); } diff --git a/src/storage/serialization/serialize_storage.cpp b/src/storage/serialization/serialize_storage.cpp index 605d5a4166e8..962619037b9b 100644 --- a/src/storage/serialization/serialize_storage.cpp +++ b/src/storage/serialization/serialize_storage.cpp @@ -6,6 +6,7 @@ #include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/serializer/deserializer.hpp" #include "duckdb/storage/block.hpp" +#include "duckdb/storage/table_storage_info.hpp" #include "duckdb/storage/data_pointer.hpp" #include "duckdb/storage/statistics/distinct_statistics.hpp" @@ -63,6 +64,40 @@ unique_ptr DistinctStatistics::Deserialize(Deserializer &des return result; } +void FixedSizeAllocatorInfo::Serialize(Serializer &serializer) const { + serializer.WritePropertyWithDefault(100, "segment_size", segment_size); + serializer.WritePropertyWithDefault>(101, "buffer_ids", buffer_ids); + serializer.WritePropertyWithDefault>(102, "block_pointers", block_pointers); + serializer.WritePropertyWithDefault>(103, "segment_counts", segment_counts); + serializer.WritePropertyWithDefault>(104, "allocation_sizes", allocation_sizes); + serializer.WritePropertyWithDefault>(105, "buffers_with_free_space", buffers_with_free_space); +} + +FixedSizeAllocatorInfo FixedSizeAllocatorInfo::Deserialize(Deserializer &deserializer) { + FixedSizeAllocatorInfo result; + deserializer.ReadPropertyWithDefault(100, "segment_size", result.segment_size); + deserializer.ReadPropertyWithDefault>(101, "buffer_ids", result.buffer_ids); + deserializer.ReadPropertyWithDefault>(102, "block_pointers", result.block_pointers); + deserializer.ReadPropertyWithDefault>(103, "segment_counts", result.segment_counts); + deserializer.ReadPropertyWithDefault>(104, "allocation_sizes", result.allocation_sizes); + deserializer.ReadPropertyWithDefault>(105, "buffers_with_free_space", result.buffers_with_free_space); + return result; +} + +void IndexStorageInfo::Serialize(Serializer &serializer) const { + serializer.WritePropertyWithDefault(100, "name", name); + serializer.WritePropertyWithDefault(101, "root", root); + serializer.WritePropertyWithDefault>(102, "allocator_infos", allocator_infos); +} + +IndexStorageInfo IndexStorageInfo::Deserialize(Deserializer &deserializer) { + IndexStorageInfo result; + deserializer.ReadPropertyWithDefault(100, "name", result.name); + deserializer.ReadPropertyWithDefault(101, "root", result.root); + deserializer.ReadPropertyWithDefault>(102, "allocator_infos", result.allocator_infos); + return result; +} + void MetaBlockPointer::Serialize(Serializer &serializer) const { serializer.WritePropertyWithDefault(100, "block_pointer", block_pointer); serializer.WritePropertyWithDefault(101, "offset", offset); diff --git a/src/storage/serialization/serialize_table_filter.cpp b/src/storage/serialization/serialize_table_filter.cpp index ae065cdde7cf..550905eef523 100644 --- a/src/storage/serialization/serialize_table_filter.cpp +++ b/src/storage/serialization/serialize_table_filter.cpp @@ -9,6 +9,7 @@ #include "duckdb/planner/filter/null_filter.hpp" #include "duckdb/planner/filter/constant_filter.hpp" #include "duckdb/planner/filter/conjunction_filter.hpp" +#include "duckdb/planner/filter/struct_filter.hpp" namespace duckdb { @@ -35,6 +36,9 @@ unique_ptr TableFilter::Deserialize(Deserializer &deserializer) { case TableFilterType::IS_NULL: result = IsNullFilter::Deserialize(deserializer); break; + case TableFilterType::STRUCT_EXTRACT: + result = StructFilter::Deserialize(deserializer); + break; default: throw SerializationException("Unsupported type for deserialization of TableFilter!"); } @@ -94,4 +98,19 @@ unique_ptr IsNullFilter::Deserialize(Deserializer &deserializer) { return std::move(result); } +void StructFilter::Serialize(Serializer &serializer) const { + TableFilter::Serialize(serializer); + serializer.WritePropertyWithDefault(200, "child_idx", child_idx); + serializer.WritePropertyWithDefault(201, "child_name", child_name); + serializer.WritePropertyWithDefault>(202, "child_filter", child_filter); +} + +unique_ptr StructFilter::Deserialize(Deserializer &deserializer) { + auto child_idx = deserializer.ReadPropertyWithDefault(200, "child_idx"); + auto child_name = deserializer.ReadPropertyWithDefault(201, "child_name"); + auto child_filter = deserializer.ReadPropertyWithDefault>(202, "child_filter"); + auto result = duckdb::unique_ptr(new StructFilter(child_idx, std::move(child_name), std::move(child_filter))); + return std::move(result); +} + } // namespace duckdb diff --git a/src/storage/serialization/serialize_tableref.cpp b/src/storage/serialization/serialize_tableref.cpp index 754457e5732e..e97e823297a8 100644 --- a/src/storage/serialization/serialize_tableref.cpp +++ b/src/storage/serialization/serialize_tableref.cpp @@ -13,18 +13,20 @@ void TableRef::Serialize(Serializer &serializer) const { serializer.WriteProperty(100, "type", type); serializer.WritePropertyWithDefault(101, "alias", alias); serializer.WritePropertyWithDefault>(102, "sample", sample); + serializer.WritePropertyWithDefault(103, "query_location", query_location, optional_idx()); } unique_ptr TableRef::Deserialize(Deserializer &deserializer) { auto type = deserializer.ReadProperty(100, "type"); auto alias = deserializer.ReadPropertyWithDefault(101, "alias"); auto sample = deserializer.ReadPropertyWithDefault>(102, "sample"); + auto query_location = deserializer.ReadPropertyWithDefault(103, "query_location", optional_idx()); unique_ptr result; switch (type) { case TableReferenceType::BASE_TABLE: result = BaseTableRef::Deserialize(deserializer); break; - case TableReferenceType::EMPTY: + case TableReferenceType::EMPTY_FROM: result = EmptyTableRef::Deserialize(deserializer); break; case TableReferenceType::EXPRESSION_LIST: @@ -36,6 +38,9 @@ unique_ptr TableRef::Deserialize(Deserializer &deserializer) { case TableReferenceType::PIVOT: result = PivotRef::Deserialize(deserializer); break; + case TableReferenceType::SHOW_REF: + result = ShowRef::Deserialize(deserializer); + break; case TableReferenceType::SUBQUERY: result = SubqueryRef::Deserialize(deserializer); break; @@ -47,6 +52,7 @@ unique_ptr TableRef::Deserialize(Deserializer &deserializer) { } result->alias = std::move(alias); result->sample = std::move(sample); + result->query_location = query_location; return result; } @@ -135,6 +141,21 @@ unique_ptr PivotRef::Deserialize(Deserializer &deserializer) { return std::move(result); } +void ShowRef::Serialize(Serializer &serializer) const { + TableRef::Serialize(serializer); + serializer.WritePropertyWithDefault(200, "table_name", table_name); + serializer.WritePropertyWithDefault>(201, "query", query); + serializer.WriteProperty(202, "show_type", show_type); +} + +unique_ptr ShowRef::Deserialize(Deserializer &deserializer) { + auto result = duckdb::unique_ptr(new ShowRef()); + deserializer.ReadPropertyWithDefault(200, "table_name", result->table_name); + deserializer.ReadPropertyWithDefault>(201, "query", result->query); + deserializer.ReadProperty(202, "show_type", result->show_type); + return std::move(result); +} + void SubqueryRef::Serialize(Serializer &serializer) const { TableRef::Serialize(serializer); serializer.WritePropertyWithDefault>(200, "subquery", subquery); diff --git a/src/storage/serialization/serialize_types.cpp b/src/storage/serialization/serialize_types.cpp index 13b5b078778d..0b75f518b8eb 100644 --- a/src/storage/serialization/serialize_types.cpp +++ b/src/storage/serialization/serialize_types.cpp @@ -22,6 +22,12 @@ shared_ptr ExtraTypeInfo::Deserialize(Deserializer &deserializer) case ExtraTypeInfoType::AGGREGATE_STATE_TYPE_INFO: result = AggregateStateTypeInfo::Deserialize(deserializer); break; + case ExtraTypeInfoType::ANY_TYPE_INFO: + result = AnyTypeInfo::Deserialize(deserializer); + break; + case ExtraTypeInfoType::ARRAY_TYPE_INFO: + result = ArrayTypeInfo::Deserialize(deserializer); + break; case ExtraTypeInfoType::DECIMAL_TYPE_INFO: result = DecimalTypeInfo::Deserialize(deserializer); break; @@ -31,6 +37,9 @@ shared_ptr ExtraTypeInfo::Deserialize(Deserializer &deserializer) case ExtraTypeInfoType::GENERIC_TYPE_INFO: result = make_shared(type); break; + case ExtraTypeInfoType::INTEGER_LITERAL_TYPE_INFO: + result = IntegerLiteralTypeInfo::Deserialize(deserializer); + break; case ExtraTypeInfoType::INVALID_TYPE_INFO: return nullptr; case ExtraTypeInfoType::LIST_TYPE_INFO: @@ -67,6 +76,32 @@ shared_ptr AggregateStateTypeInfo::Deserialize(Deserializer &dese return std::move(result); } +void AnyTypeInfo::Serialize(Serializer &serializer) const { + ExtraTypeInfo::Serialize(serializer); + serializer.WriteProperty(200, "target_type", target_type); + serializer.WritePropertyWithDefault(201, "cast_score", cast_score); +} + +shared_ptr AnyTypeInfo::Deserialize(Deserializer &deserializer) { + auto result = duckdb::shared_ptr(new AnyTypeInfo()); + deserializer.ReadProperty(200, "target_type", result->target_type); + deserializer.ReadPropertyWithDefault(201, "cast_score", result->cast_score); + return std::move(result); +} + +void ArrayTypeInfo::Serialize(Serializer &serializer) const { + ExtraTypeInfo::Serialize(serializer); + serializer.WriteProperty(200, "child_type", child_type); + serializer.WritePropertyWithDefault(201, "size", size); +} + +shared_ptr ArrayTypeInfo::Deserialize(Deserializer &deserializer) { + auto child_type = deserializer.ReadProperty(200, "child_type"); + auto size = deserializer.ReadPropertyWithDefault(201, "size"); + auto result = duckdb::shared_ptr(new ArrayTypeInfo(std::move(child_type), size)); + return std::move(result); +} + void DecimalTypeInfo::Serialize(Serializer &serializer) const { ExtraTypeInfo::Serialize(serializer); serializer.WritePropertyWithDefault(200, "width", width); @@ -80,6 +115,17 @@ shared_ptr DecimalTypeInfo::Deserialize(Deserializer &deserialize return std::move(result); } +void IntegerLiteralTypeInfo::Serialize(Serializer &serializer) const { + ExtraTypeInfo::Serialize(serializer); + serializer.WriteProperty(200, "constant_value", constant_value); +} + +shared_ptr IntegerLiteralTypeInfo::Deserialize(Deserializer &deserializer) { + auto result = duckdb::shared_ptr(new IntegerLiteralTypeInfo()); + deserializer.ReadProperty(200, "constant_value", result->constant_value); + return std::move(result); +} + void ListTypeInfo::Serialize(Serializer &serializer) const { ExtraTypeInfo::Serialize(serializer); serializer.WriteProperty(200, "child_type", child_type); @@ -116,11 +162,15 @@ shared_ptr StructTypeInfo::Deserialize(Deserializer &deserializer void UserTypeInfo::Serialize(Serializer &serializer) const { ExtraTypeInfo::Serialize(serializer); serializer.WritePropertyWithDefault(200, "user_type_name", user_type_name); + serializer.WritePropertyWithDefault(201, "catalog", catalog, string()); + serializer.WritePropertyWithDefault(202, "schema", schema, string()); } shared_ptr UserTypeInfo::Deserialize(Deserializer &deserializer) { auto result = duckdb::shared_ptr(new UserTypeInfo()); deserializer.ReadPropertyWithDefault(200, "user_type_name", result->user_type_name); + deserializer.ReadPropertyWithDefault(201, "catalog", result->catalog, string()); + deserializer.ReadPropertyWithDefault(202, "schema", result->schema, string()); return std::move(result); } diff --git a/src/storage/single_file_block_manager.cpp b/src/storage/single_file_block_manager.cpp index 2a0d72d7153c..322db7ee12cc 100644 --- a/src/storage/single_file_block_manager.cpp +++ b/src/storage/single_file_block_manager.cpp @@ -18,11 +18,15 @@ namespace duckdb { const char MainHeader::MAGIC_BYTES[] = "DUCK"; void SerializeVersionNumber(WriteStream &ser, const string &version_str) { - constexpr const idx_t MAX_VERSION_SIZE = 32; - data_t version[MAX_VERSION_SIZE]; - memset(version, 0, MAX_VERSION_SIZE); - memcpy(version, version_str.c_str(), MinValue(version_str.size(), MAX_VERSION_SIZE)); - ser.WriteData(version, MAX_VERSION_SIZE); + data_t version[MainHeader::MAX_VERSION_SIZE]; + memset(version, 0, MainHeader::MAX_VERSION_SIZE); + memcpy(version, version_str.c_str(), MinValue(version_str.size(), MainHeader::MAX_VERSION_SIZE)); + ser.WriteData(version, MainHeader::MAX_VERSION_SIZE); +} + +void DeserializeVersionNumber(ReadStream &stream, data_t *dest) { + memset(dest, 0, MainHeader::MAX_VERSION_SIZE); + stream.ReadData(dest, MainHeader::MAX_VERSION_SIZE); } void MainHeader::Write(WriteStream &ser) { @@ -81,6 +85,8 @@ MainHeader MainHeader::Read(ReadStream &source) { for (idx_t i = 0; i < FLAG_COUNT; i++) { header.flags[i] = source.Read(); } + DeserializeVersionNumber(source, header.library_git_desc); + DeserializeVersionNumber(source, header.library_git_hash); return header; } @@ -89,6 +95,8 @@ void DatabaseHeader::Write(WriteStream &ser) { ser.Write(meta_block); ser.Write(free_list); ser.Write(block_count); + ser.Write(block_size); + ser.Write(vector_size); } DatabaseHeader DatabaseHeader::Read(ReadStream &source) { @@ -97,6 +105,29 @@ DatabaseHeader DatabaseHeader::Read(ReadStream &source) { header.meta_block = source.Read(); header.free_list = source.Read(); header.block_count = source.Read(); + + header.block_size = source.Read(); + if (!header.block_size) { + // backwards compatibility + header.block_size = DEFAULT_BLOCK_ALLOC_SIZE; + } + if (header.block_size != Storage::BLOCK_ALLOC_SIZE) { + throw IOException("Cannot read database file: DuckDB's compiled block size is %llu bytes, but the file has a " + "block size of %llu bytes.", + Storage::BLOCK_ALLOC_SIZE, header.block_size); + } + + header.vector_size = source.Read(); + if (!header.vector_size) { + // backwards compatibility + header.vector_size = DEFAULT_STANDARD_VECTOR_SIZE; + } + if (header.vector_size != STANDARD_VECTOR_SIZE) { + throw IOException("Cannot read database file: DuckDB's compiled vector size is %llu bytes, but the file has a " + "vector size of %llu bytes.", + STANDARD_VECTOR_SIZE, header.vector_size); + } + return header; } @@ -161,19 +192,24 @@ void SingleFileBlockManager::CreateNewDatabase() { // write the database headers // initialize meta_block and free_list to INVALID_BLOCK because the database file does not contain any actual // content yet - DatabaseHeader h1, h2; + DatabaseHeader h1; // header 1 h1.iteration = 0; h1.meta_block = INVALID_BLOCK; h1.free_list = INVALID_BLOCK; h1.block_count = 0; + h1.block_size = Storage::BLOCK_ALLOC_SIZE; + h1.vector_size = STANDARD_VECTOR_SIZE; SerializeHeaderStructure(h1, header_buffer.buffer); ChecksumAndWrite(header_buffer, Storage::FILE_HEADER_SIZE); // header 2 + DatabaseHeader h2; h2.iteration = 0; h2.meta_block = INVALID_BLOCK; h2.free_list = INVALID_BLOCK; h2.block_count = 0; + h2.block_size = Storage::BLOCK_ALLOC_SIZE; + h2.vector_size = STANDARD_VECTOR_SIZE; SerializeHeaderStructure(h2, header_buffer.buffer); ChecksumAndWrite(header_buffer, Storage::FILE_HEADER_SIZE * 2ULL); // ensure that writing to disk is completed before returning @@ -199,9 +235,10 @@ void SingleFileBlockManager::LoadExistingDatabase() { DeserializeHeaderStructure(header_buffer.buffer); // read the database headers from disk - DatabaseHeader h1, h2; + DatabaseHeader h1; ReadAndChecksum(header_buffer, Storage::FILE_HEADER_SIZE); h1 = DeserializeHeaderStructure(header_buffer.buffer); + DatabaseHeader h2; ReadAndChecksum(header_buffer, Storage::FILE_HEADER_SIZE * 2ULL); h2 = DeserializeHeaderStructure(header_buffer.buffer); // check the header with the highest iteration count @@ -220,9 +257,11 @@ void SingleFileBlockManager::LoadExistingDatabase() { void SingleFileBlockManager::ReadAndChecksum(FileBuffer &block, uint64_t location) const { // read the buffer from disk block.Read(*handle, location); + // compute the checksum auto stored_checksum = Load(block.InternalBuffer()); uint64_t computed_checksum = Checksum(block.buffer, block.size); + // verify the checksum if (stored_checksum != computed_checksum) { throw IOException("Corrupt database file: computed checksum %llu does not match stored checksum %llu in block", diff --git a/src/storage/standard_buffer_manager.cpp b/src/storage/standard_buffer_manager.cpp index 87505a80da9c..b3c932057662 100644 --- a/src/storage/standard_buffer_manager.cpp +++ b/src/storage/standard_buffer_manager.cpp @@ -8,6 +8,7 @@ #include "duckdb/storage/buffer/buffer_pool.hpp" #include "duckdb/storage/in_memory_block_manager.hpp" #include "duckdb/storage/storage_manager.hpp" +#include "duckdb/storage/temporary_memory_manager.hpp" namespace duckdb { @@ -61,15 +62,22 @@ StandardBufferManager::StandardBufferManager(DatabaseInstance &db, string tmp) temporary_id(MAXIMUM_BLOCK), buffer_allocator(BufferAllocatorAllocate, BufferAllocatorFree, BufferAllocatorRealloc, make_uniq(*this)) { temp_block_manager = make_uniq(*this); + for (idx_t i = 0; i < MEMORY_TAG_COUNT; i++) { + evicted_data_per_tag[i] = 0; + } } StandardBufferManager::~StandardBufferManager() { } -BufferPool &StandardBufferManager::GetBufferPool() { +BufferPool &StandardBufferManager::GetBufferPool() const { return buffer_pool; } +TemporaryMemoryManager &StandardBufferManager::GetTemporaryMemoryManager() { + return buffer_pool.GetTemporaryMemoryManager(); +} + idx_t StandardBufferManager::GetUsedMemory() const { return buffer_pool.GetUsedMemory(); } @@ -78,9 +86,9 @@ idx_t StandardBufferManager::GetMaxMemory() const { } template -TempBufferPoolReservation StandardBufferManager::EvictBlocksOrThrow(idx_t memory_delta, unique_ptr *buffer, - ARGS... args) { - auto r = buffer_pool.EvictBlocks(memory_delta, buffer_pool.maximum_memory, buffer); +TempBufferPoolReservation StandardBufferManager::EvictBlocksOrThrow(MemoryTag tag, idx_t memory_delta, + unique_ptr *buffer, ARGS... args) { + auto r = buffer_pool.EvictBlocks(tag, memory_delta, buffer_pool.maximum_memory, buffer); if (!r.success) { string extra_text = StringUtil::Format(" (%s/%s used)", StringUtil::BytesToHumanReadableString(GetUsedMemory()), StringUtil::BytesToHumanReadableString(GetMaxMemory())); @@ -92,35 +100,36 @@ TempBufferPoolReservation StandardBufferManager::EvictBlocksOrThrow(idx_t memory shared_ptr StandardBufferManager::RegisterSmallMemory(idx_t block_size) { D_ASSERT(block_size < Storage::BLOCK_SIZE); - auto res = EvictBlocksOrThrow(block_size, nullptr, "could not allocate block of size %s%s", + auto res = EvictBlocksOrThrow(MemoryTag::BASE_TABLE, block_size, nullptr, "could not allocate block of size %s%s", StringUtil::BytesToHumanReadableString(block_size)); auto buffer = ConstructManagedBuffer(block_size, nullptr, FileBufferType::TINY_BUFFER); // create a new block pointer for this block - return make_shared(*temp_block_manager, ++temporary_id, std::move(buffer), false, block_size, - std::move(res)); + return make_shared(*temp_block_manager, ++temporary_id, MemoryTag::BASE_TABLE, std::move(buffer), + false, block_size, std::move(res)); } -shared_ptr StandardBufferManager::RegisterMemory(idx_t block_size, bool can_destroy) { +shared_ptr StandardBufferManager::RegisterMemory(MemoryTag tag, idx_t block_size, bool can_destroy) { D_ASSERT(block_size >= Storage::BLOCK_SIZE); auto alloc_size = GetAllocSize(block_size); // first evict blocks until we have enough memory to store this buffer unique_ptr reusable_buffer; - auto res = EvictBlocksOrThrow(alloc_size, &reusable_buffer, "could not allocate block of size %s%s", + auto res = EvictBlocksOrThrow(tag, alloc_size, &reusable_buffer, "could not allocate block of size %s%s", StringUtil::BytesToHumanReadableString(alloc_size)); auto buffer = ConstructManagedBuffer(block_size, std::move(reusable_buffer)); // create a new block pointer for this block - return make_shared(*temp_block_manager, ++temporary_id, std::move(buffer), can_destroy, alloc_size, - std::move(res)); + return make_shared(*temp_block_manager, ++temporary_id, tag, std::move(buffer), can_destroy, + alloc_size, std::move(res)); } -BufferHandle StandardBufferManager::Allocate(idx_t block_size, bool can_destroy, shared_ptr *block) { +BufferHandle StandardBufferManager::Allocate(MemoryTag tag, idx_t block_size, bool can_destroy, + shared_ptr *block) { shared_ptr local_block; auto block_ptr = block ? block : &local_block; - *block_ptr = RegisterMemory(block_size, can_destroy); + *block_ptr = RegisterMemory(tag, block_size, can_destroy); return Pin(*block_ptr); } @@ -138,9 +147,10 @@ void StandardBufferManager::ReAllocate(shared_ptr &handle, idx_t bl return; } else if (memory_delta > 0) { // evict blocks until we have space to resize this block - auto reservation = EvictBlocksOrThrow(memory_delta, nullptr, "failed to resize block from %s to %s%s", - StringUtil::BytesToHumanReadableString(handle->memory_usage), - StringUtil::BytesToHumanReadableString(req.alloc_size)); + auto reservation = + EvictBlocksOrThrow(handle->tag, memory_delta, nullptr, "failed to resize block from %s to %s%s", + StringUtil::BytesToHumanReadableString(handle->memory_usage), + StringUtil::BytesToHumanReadableString(req.alloc_size)); // EvictBlocks decrements 'current_memory' for us. handle->memory_charge.Merge(std::move(reservation)); } else { @@ -166,8 +176,9 @@ BufferHandle StandardBufferManager::Pin(shared_ptr &handle) { } // evict blocks until we have space for the current block unique_ptr reusable_buffer; - auto reservation = EvictBlocksOrThrow(required_memory, &reusable_buffer, "failed to pin block of size %s%s", - StringUtil::BytesToHumanReadableString(required_memory)); + auto reservation = + EvictBlocksOrThrow(handle->tag, required_memory, &reusable_buffer, "failed to pin block of size %s%s", + StringUtil::BytesToHumanReadableString(required_memory)); // lock the handle again and repeat the check (in case anybody loaded in the mean time) lock_guard lock(handle->lock); // check if the block is already loaded @@ -228,6 +239,18 @@ void StandardBufferManager::SetLimit(idx_t limit) { buffer_pool.SetLimit(limit, InMemoryWarning()); } +vector StandardBufferManager::GetMemoryUsageInfo() const { + vector result; + for (idx_t k = 0; k < MEMORY_TAG_COUNT; k++) { + MemoryInformation info; + info.tag = MemoryTag(k); + info.size = buffer_pool.memory_usage_per_tag[k].load(); + info.evicted_data = evicted_data_per_tag[k].load(); + result.push_back(info); + } + return result; +} + //===--------------------------------------------------------------------===// // Temporary File Management //===--------------------------------------------------------------------===// @@ -608,7 +631,7 @@ string StandardBufferManager::GetTemporaryPath(block_id_t id) { void StandardBufferManager::RequireTemporaryDirectory() { if (temp_directory.empty()) { - throw Exception( + throw InvalidInputException( "Out-of-memory: cannot write buffer because no temporary directory is specified!\nTo enable " "temporary buffer eviction set a temporary directory using PRAGMA temp_directory='/path/to/tmp.tmp'"); } @@ -619,12 +642,14 @@ void StandardBufferManager::RequireTemporaryDirectory() { } } -void StandardBufferManager::WriteTemporaryBuffer(block_id_t block_id, FileBuffer &buffer) { +void StandardBufferManager::WriteTemporaryBuffer(MemoryTag tag, block_id_t block_id, FileBuffer &buffer) { RequireTemporaryDirectory(); if (buffer.size == Storage::BLOCK_SIZE) { + evicted_data_per_tag[uint8_t(tag)] += Storage::BLOCK_SIZE; temp_directory_handle->GetTempFile().WriteTemporaryBuffer(block_id, buffer); return; } + evicted_data_per_tag[uint8_t(tag)] += buffer.size; // get the path to write to auto path = GetTemporaryPath(block_id); D_ASSERT(buffer.size > Storage::BLOCK_SIZE); @@ -635,11 +660,12 @@ void StandardBufferManager::WriteTemporaryBuffer(block_id_t block_id, FileBuffer buffer.Write(*handle, sizeof(idx_t)); } -unique_ptr StandardBufferManager::ReadTemporaryBuffer(block_id_t id, +unique_ptr StandardBufferManager::ReadTemporaryBuffer(MemoryTag tag, block_id_t id, unique_ptr reusable_buffer) { D_ASSERT(!temp_directory.empty()); D_ASSERT(temp_directory_handle.get()); if (temp_directory_handle->GetTempFile().HasTemporaryBuffer(id)) { + evicted_data_per_tag[uint8_t(tag)] -= Storage::BLOCK_SIZE; return temp_directory_handle->GetTempFile().ReadTemporaryBuffer(id, std::move(reusable_buffer)); } idx_t block_size; @@ -648,6 +674,7 @@ unique_ptr StandardBufferManager::ReadTemporaryBuffer(block_id_t id, auto &fs = FileSystem::GetFileSystem(db); auto handle = fs.OpenFile(path, FileFlags::FILE_FLAGS_READ); handle->Read(&block_size, sizeof(idx_t), 0); + evicted_data_per_tag[uint8_t(tag)] -= block_size; // now allocate a buffer of this size and read the data into that buffer auto buffer = @@ -722,15 +749,16 @@ const char *StandardBufferManager::InMemoryWarning() { return "\nDatabase is launched in in-memory mode and no temporary directory is specified." "\nUnused blocks cannot be offloaded to disk." "\n\nLaunch the database with a persistent storage back-end" - "\nOr set PRAGMA temp_directory='/path/to/tmp.tmp'"; + "\nOr set SET temp_directory='/path/to/tmp.tmp'"; } void StandardBufferManager::ReserveMemory(idx_t size) { if (size == 0) { return; } - auto reservation = EvictBlocksOrThrow(size, nullptr, "failed to reserve memory data of size %s%s", - StringUtil::BytesToHumanReadableString(size)); + auto reservation = + EvictBlocksOrThrow(MemoryTag::EXTENSION, size, nullptr, "failed to reserve memory data of size %s%s", + StringUtil::BytesToHumanReadableString(size)); reservation.size = 0; } @@ -746,8 +774,9 @@ void StandardBufferManager::FreeReservedMemory(idx_t size) { //===--------------------------------------------------------------------===// data_ptr_t StandardBufferManager::BufferAllocatorAllocate(PrivateAllocatorData *private_data, idx_t size) { auto &data = private_data->Cast(); - auto reservation = data.manager.EvictBlocksOrThrow(size, nullptr, "failed to allocate data of size %s%s", - StringUtil::BytesToHumanReadableString(size)); + auto reservation = + data.manager.EvictBlocksOrThrow(MemoryTag::ALLOCATOR, size, nullptr, "failed to allocate data of size %s%s", + StringUtil::BytesToHumanReadableString(size)); // We rely on manual tracking of this one. :( reservation.size = 0; return Allocator::Get(data.manager.db).AllocateData(size); @@ -755,7 +784,7 @@ data_ptr_t StandardBufferManager::BufferAllocatorAllocate(PrivateAllocatorData * void StandardBufferManager::BufferAllocatorFree(PrivateAllocatorData *private_data, data_ptr_t pointer, idx_t size) { auto &data = private_data->Cast(); - BufferPoolReservation r(data.manager.GetBufferPool()); + BufferPoolReservation r(MemoryTag::ALLOCATOR, data.manager.GetBufferPool()); r.size = size; r.Resize(0); return Allocator::Get(data.manager.db).FreeData(pointer, size); @@ -767,7 +796,7 @@ data_ptr_t StandardBufferManager::BufferAllocatorRealloc(PrivateAllocatorData *p return pointer; } auto &data = private_data->Cast(); - BufferPoolReservation r(data.manager.GetBufferPool()); + BufferPoolReservation r(MemoryTag::ALLOCATOR, data.manager.GetBufferPool()); r.size = old_size; r.Resize(size); r.size = 0; diff --git a/src/storage/statistics/CMakeLists.txt b/src/storage/statistics/CMakeLists.txt index 46102631c3c4..5bdf1efc13c9 100644 --- a/src/storage/statistics/CMakeLists.txt +++ b/src/storage/statistics/CMakeLists.txt @@ -4,6 +4,7 @@ add_library_unity( base_statistics.cpp column_statistics.cpp distinct_statistics.cpp + array_stats.cpp list_stats.cpp numeric_stats.cpp numeric_stats_union.cpp diff --git a/src/storage/statistics/array_stats.cpp b/src/storage/statistics/array_stats.cpp new file mode 100644 index 000000000000..d01b573bacb3 --- /dev/null +++ b/src/storage/statistics/array_stats.cpp @@ -0,0 +1,131 @@ +#include "duckdb/storage/statistics/array_stats.hpp" +#include "duckdb/storage/statistics/base_statistics.hpp" +#include "duckdb/common/string_util.hpp" +#include "duckdb/common/types/vector.hpp" +#include "duckdb/common/serializer/serializer.hpp" +#include "duckdb/common/serializer/deserializer.hpp" + +namespace duckdb { + +void ArrayStats::Construct(BaseStatistics &stats) { + stats.child_stats = unsafe_unique_array(new BaseStatistics[1]); + BaseStatistics::Construct(stats.child_stats[0], ArrayType::GetChildType(stats.GetType())); +} + +BaseStatistics ArrayStats::CreateUnknown(LogicalType type) { + auto &child_type = ArrayType::GetChildType(type); + BaseStatistics result(std::move(type)); + result.InitializeUnknown(); + result.child_stats[0].Copy(BaseStatistics::CreateUnknown(child_type)); + return result; +} + +BaseStatistics ArrayStats::CreateEmpty(LogicalType type) { + auto &child_type = ArrayType::GetChildType(type); + BaseStatistics result(std::move(type)); + result.InitializeEmpty(); + result.child_stats[0].Copy(BaseStatistics::CreateEmpty(child_type)); + return result; +} + +void ArrayStats::Copy(BaseStatistics &stats, const BaseStatistics &other) { + D_ASSERT(stats.child_stats); + D_ASSERT(other.child_stats); + stats.child_stats[0].Copy(other.child_stats[0]); +} + +const BaseStatistics &ArrayStats::GetChildStats(const BaseStatistics &stats) { + if (stats.GetStatsType() != StatisticsType::ARRAY_STATS) { + throw InternalException("ArrayStats::GetChildStats called on stats that is not a array"); + } + D_ASSERT(stats.child_stats); + return stats.child_stats[0]; +} +BaseStatistics &ArrayStats::GetChildStats(BaseStatistics &stats) { + if (stats.GetStatsType() != StatisticsType::ARRAY_STATS) { + throw InternalException("ArrayStats::GetChildStats called on stats that is not a array"); + } + D_ASSERT(stats.child_stats); + return stats.child_stats[0]; +} + +void ArrayStats::SetChildStats(BaseStatistics &stats, unique_ptr new_stats) { + if (!new_stats) { + stats.child_stats[0].Copy(BaseStatistics::CreateUnknown(ArrayType::GetChildType(stats.GetType()))); + } else { + stats.child_stats[0].Copy(*new_stats); + } +} + +void ArrayStats::Merge(BaseStatistics &stats, const BaseStatistics &other) { + if (other.GetType().id() == LogicalTypeId::VALIDITY) { + return; + } + + auto &child_stats = ArrayStats::GetChildStats(stats); + auto &other_child_stats = ArrayStats::GetChildStats(other); + child_stats.Merge(other_child_stats); +} + +void ArrayStats::Serialize(const BaseStatistics &stats, Serializer &serializer) { + auto &child_stats = ArrayStats::GetChildStats(stats); + serializer.WriteProperty(200, "child_stats", child_stats); +} + +void ArrayStats::Deserialize(Deserializer &deserializer, BaseStatistics &base) { + auto &type = base.GetType(); + D_ASSERT(type.id() == LogicalTypeId::ARRAY); + auto &child_type = ArrayType::GetChildType(type); + + // Push the logical type of the child type to the deserialization context + deserializer.Set(const_cast(child_type)); + base.child_stats[0].Copy(deserializer.ReadProperty(200, "child_stats")); + deserializer.Unset(); +} + +string ArrayStats::ToString(const BaseStatistics &stats) { + auto &child_stats = ArrayStats::GetChildStats(stats); + return StringUtil::Format("[%s]", child_stats.ToString()); +} + +void ArrayStats::Verify(const BaseStatistics &stats, Vector &vector, const SelectionVector &sel, idx_t count) { + auto &child_stats = ArrayStats::GetChildStats(stats); + auto &child_entry = ArrayVector::GetEntry(vector); + auto array_size = ArrayType::GetSize(vector.GetType()); + + UnifiedVectorFormat vdata; + vector.ToUnifiedFormat(count, vdata); + + // Basically, + // 1. Count the number of valid arrays + // 2. Create a selection vector with the size of the number of valid arrays * array_size + // 3. Fill the selection vector with the offsets of all the elements in the child vector + // that exist in each valid array + // 4. Use that selection vector to verify the child stats + + idx_t valid_count = 0; + for (idx_t i = 0; i < count; i++) { + auto idx = sel.get_index(i); + auto index = vdata.sel->get_index(idx); + if (vdata.validity.RowIsValid(index)) { + valid_count++; + } + } + + SelectionVector element_sel(valid_count * array_size); + idx_t element_count = 0; + for (idx_t i = 0; i < count; i++) { + auto idx = sel.get_index(i); + auto index = vdata.sel->get_index(idx); + auto offset = index * array_size; + if (vdata.validity.RowIsValid(index)) { + for (idx_t elem_idx = 0; elem_idx < array_size; elem_idx++) { + element_sel.set_index(element_count++, offset + elem_idx); + } + } + } + + child_stats.Verify(child_entry, element_sel, element_count); +} + +} // namespace duckdb diff --git a/src/storage/statistics/base_statistics.cpp b/src/storage/statistics/base_statistics.cpp index fda77cf900e4..53bd862f0d95 100644 --- a/src/storage/statistics/base_statistics.cpp +++ b/src/storage/statistics/base_statistics.cpp @@ -4,6 +4,7 @@ #include "duckdb/storage/statistics/base_statistics.hpp" #include "duckdb/storage/statistics/list_stats.hpp" #include "duckdb/storage/statistics/struct_stats.hpp" +#include "duckdb/storage/statistics/array_stats.hpp" #include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/serializer/deserializer.hpp" @@ -27,6 +28,9 @@ void BaseStatistics::Construct(BaseStatistics &stats, LogicalType type) { case StatisticsType::STRUCT_STATS: StructStats::Construct(stats); break; + case StatisticsType::ARRAY_STATS: + ArrayStats::Construct(stats); + break; default: break; } @@ -69,6 +73,7 @@ StatisticsType BaseStatistics::GetStatsType(const LogicalType &type) { case PhysicalType::UINT32: case PhysicalType::UINT64: case PhysicalType::INT128: + case PhysicalType::UINT128: case PhysicalType::FLOAT: case PhysicalType::DOUBLE: return StatisticsType::NUMERIC_STATS; @@ -78,6 +83,8 @@ StatisticsType BaseStatistics::GetStatsType(const LogicalType &type) { return StatisticsType::STRUCT_STATS; case PhysicalType::LIST: return StatisticsType::LIST_STATS; + case PhysicalType::ARRAY: + return StatisticsType::ARRAY_STATS; case PhysicalType::BIT: case PhysicalType::INTERVAL: default: @@ -143,6 +150,9 @@ void BaseStatistics::Merge(const BaseStatistics &other) { case StatisticsType::STRUCT_STATS: StructStats::Merge(*this, other); break; + case StatisticsType::ARRAY_STATS: + ArrayStats::Merge(*this, other); + break; default: break; } @@ -162,6 +172,8 @@ BaseStatistics BaseStatistics::CreateUnknownType(LogicalType type) { return ListStats::CreateUnknown(std::move(type)); case StatisticsType::STRUCT_STATS: return StructStats::CreateUnknown(std::move(type)); + case StatisticsType::ARRAY_STATS: + return ArrayStats::CreateUnknown(std::move(type)); default: return BaseStatistics(std::move(type)); } @@ -177,6 +189,8 @@ BaseStatistics BaseStatistics::CreateEmptyType(LogicalType type) { return ListStats::CreateEmpty(std::move(type)); case StatisticsType::STRUCT_STATS: return StructStats::CreateEmpty(std::move(type)); + case StatisticsType::ARRAY_STATS: + return ArrayStats::CreateEmpty(std::move(type)); default: return BaseStatistics(std::move(type)); } @@ -213,6 +227,9 @@ void BaseStatistics::Copy(const BaseStatistics &other) { case StatisticsType::STRUCT_STATS: StructStats::Copy(*this, other); break; + case StatisticsType::ARRAY_STATS: + ArrayStats::Copy(*this, other); + break; default: break; } @@ -239,26 +256,44 @@ void BaseStatistics::CopyBase(const BaseStatistics &other) { void BaseStatistics::Set(StatsInfo info) { switch (info) { case StatsInfo::CAN_HAVE_NULL_VALUES: - has_null = true; + SetHasNull(); break; case StatsInfo::CANNOT_HAVE_NULL_VALUES: has_null = false; break; case StatsInfo::CAN_HAVE_VALID_VALUES: - has_no_null = true; + SetHasNoNull(); break; case StatsInfo::CANNOT_HAVE_VALID_VALUES: has_no_null = false; break; case StatsInfo::CAN_HAVE_NULL_AND_VALID_VALUES: - has_null = true; - has_no_null = true; + SetHasNull(); + SetHasNoNull(); break; default: throw InternalException("Unrecognized StatsInfo for BaseStatistics::Set"); } } +void BaseStatistics::SetHasNull() { + has_null = true; + if (type.InternalType() == PhysicalType::STRUCT) { + for (idx_t c = 0; c < StructType::GetChildCount(type); c++) { + StructStats::GetChildStats(*this, c).SetHasNull(); + } + } +} + +void BaseStatistics::SetHasNoNull() { + has_no_null = true; + if (type.InternalType() == PhysicalType::STRUCT) { + for (idx_t c = 0; c < StructType::GetChildCount(type); c++) { + StructStats::GetChildStats(*this, c).SetHasNoNull(); + } + } +} + void BaseStatistics::CombineValidity(BaseStatistics &left, BaseStatistics &right) { has_null = left.has_null || right.has_null; has_no_null = left.has_no_null || right.has_no_null; @@ -291,6 +326,9 @@ void BaseStatistics::Serialize(Serializer &serializer) const { case StatisticsType::STRUCT_STATS: StructStats::Serialize(*this, serializer); break; + case StatisticsType::ARRAY_STATS: + ArrayStats::Serialize(*this, serializer); + break; default: break; } @@ -327,6 +365,9 @@ BaseStatistics BaseStatistics::Deserialize(Deserializer &deserializer) { case StatisticsType::STRUCT_STATS: StructStats::Deserialize(obj, stats); break; + case StatisticsType::ARRAY_STATS: + ArrayStats::Deserialize(obj, stats); + break; default: break; } @@ -354,6 +395,9 @@ string BaseStatistics::ToString() const { case StatisticsType::STRUCT_STATS: result = StructStats::ToString(*this) + result; break; + case StatisticsType::ARRAY_STATS: + result = ArrayStats::ToString(*this) + result; + break; default: break; } @@ -375,6 +419,9 @@ void BaseStatistics::Verify(Vector &vector, const SelectionVector &sel, idx_t co case StatisticsType::STRUCT_STATS: StructStats::Verify(*this, vector, sel, count); break; + case StatisticsType::ARRAY_STATS: + ArrayStats::Verify(*this, vector, sel, count); + break; default: break; } @@ -448,6 +495,17 @@ BaseStatistics BaseStatistics::FromConstantType(const Value &input) { } return result; } + case StatisticsType::ARRAY_STATS: { + auto result = ArrayStats::CreateEmpty(input.type()); + auto &child_stats = ArrayStats::GetChildStats(result); + if (!input.IsNull()) { + auto &list_children = ArrayValue::GetChildren(input); + for (auto &child_element : list_children) { + child_stats.Merge(FromConstant(child_element)); + } + } + return result; + } default: return BaseStatistics(input.type()); } diff --git a/src/storage/statistics/column_statistics.cpp b/src/storage/statistics/column_statistics.cpp index adf2c3b47bb8..e2c2b45b97f9 100644 --- a/src/storage/statistics/column_statistics.cpp +++ b/src/storage/statistics/column_statistics.cpp @@ -20,6 +20,7 @@ shared_ptr ColumnStatistics::CreateEmptyStats(const LogicalTyp void ColumnStatistics::Merge(ColumnStatistics &other) { stats.Merge(other.stats); if (distinct_stats) { + D_ASSERT(other.distinct_stats); distinct_stats->Merge(*other.distinct_stats); } } diff --git a/src/storage/statistics/distinct_statistics.cpp b/src/storage/statistics/distinct_statistics.cpp index e80cc140e067..7d4e6e92a346 100644 --- a/src/storage/statistics/distinct_statistics.cpp +++ b/src/storage/statistics/distinct_statistics.cpp @@ -69,7 +69,9 @@ idx_t DistinctStatistics::GetCount() const { } bool DistinctStatistics::TypeIsSupported(const LogicalType &type) { - return type.InternalType() != PhysicalType::LIST && type.InternalType() != PhysicalType::STRUCT; + auto physical_type = type.InternalType(); + return physical_type != PhysicalType::LIST && physical_type != PhysicalType::STRUCT && + physical_type != PhysicalType::ARRAY; } } // namespace duckdb diff --git a/src/storage/statistics/numeric_stats.cpp b/src/storage/statistics/numeric_stats.cpp index 79e3376b2b57..988ecb068ecc 100644 --- a/src/storage/statistics/numeric_stats.cpp +++ b/src/storage/statistics/numeric_stats.cpp @@ -98,6 +98,11 @@ hugeint_t GetNumericValueUnion::Operation(const NumericValueUnion &v) { return v.value_.hugeint; } +template <> +uhugeint_t GetNumericValueUnion::Operation(const NumericValueUnion &v) { + return v.value_.uhugeint; +} + template <> uint8_t GetNumericValueUnion::Operation(const NumericValueUnion &v) { return v.value_.utinyint; @@ -248,6 +253,8 @@ FilterPropagateResult NumericStats::CheckZonemap(const BaseStatistics &stats, Ex return CheckZonemapTemplated(stats, comparison_type, constant); case PhysicalType::INT128: return CheckZonemapTemplated(stats, comparison_type, constant); + case PhysicalType::UINT128: + return CheckZonemapTemplated(stats, comparison_type, constant); case PhysicalType::FLOAT: return CheckZonemapTemplated(stats, comparison_type, constant); case PhysicalType::DOUBLE: @@ -301,6 +308,9 @@ void SetNumericValueInternal(const Value &input, const LogicalType &type, Numeri case PhysicalType::INT128: val.value_.hugeint = HugeIntValue::Get(input); break; + case PhysicalType::UINT128: + val.value_.uhugeint = UhugeIntValue::Get(input); + break; case PhysicalType::FLOAT: val.value_.float_ = FloatValue::Get(input); break; @@ -344,6 +354,8 @@ Value NumericValueUnionToValueInternal(const LogicalType &type, const NumericVal return Value::UBIGINT(val.value_.ubigint); case PhysicalType::INT128: return Value::HUGEINT(val.value_.hugeint); + case PhysicalType::UINT128: + return Value::UHUGEINT(val.value_.uhugeint); case PhysicalType::FLOAT: return Value::FLOAT(val.value_.float_); case PhysicalType::DOUBLE: @@ -442,6 +454,9 @@ static void SerializeNumericStatsValue(const LogicalType &type, NumericValueUnio case PhysicalType::INT128: serializer.WriteProperty(101, "value", val.value_.hugeint); break; + case PhysicalType::UINT128: + serializer.WriteProperty(101, "value", val.value_.uhugeint); + break; case PhysicalType::FLOAT: serializer.WriteProperty(101, "value", val.value_.float_); break; @@ -492,6 +507,9 @@ static void DeserializeNumericStatsValue(const LogicalType &type, NumericValueUn case PhysicalType::INT128: result.value_.hugeint = deserializer.ReadProperty(101, "value"); break; + case PhysicalType::UINT128: + result.value_.uhugeint = deserializer.ReadProperty(101, "value"); + break; case PhysicalType::FLOAT: result.value_.float_ = deserializer.ReadProperty(101, "value"); break; @@ -587,6 +605,9 @@ void NumericStats::Verify(const BaseStatistics &stats, Vector &vector, const Sel case PhysicalType::INT128: TemplatedVerify(stats, vector, sel, count); break; + case PhysicalType::UINT128: + TemplatedVerify(stats, vector, sel, count); + break; case PhysicalType::FLOAT: TemplatedVerify(stats, vector, sel, count); break; diff --git a/src/storage/statistics/numeric_stats_union.cpp b/src/storage/statistics/numeric_stats_union.cpp index ab6bc67397d7..15aaa11b37cc 100644 --- a/src/storage/statistics/numeric_stats_union.cpp +++ b/src/storage/statistics/numeric_stats_union.cpp @@ -32,6 +32,11 @@ hugeint_t &NumericValueUnion::GetReferenceUnsafe() { return value_.hugeint; } +template <> +uhugeint_t &NumericValueUnion::GetReferenceUnsafe() { + return value_.uhugeint; +} + template <> uint8_t &NumericValueUnion::GetReferenceUnsafe() { return value_.utinyint; diff --git a/src/storage/statistics/string_stats.cpp b/src/storage/statistics/string_stats.cpp index c9be1c386368..9b571fa810f3 100644 --- a/src/storage/statistics/string_stats.cpp +++ b/src/storage/statistics/string_stats.cpp @@ -159,8 +159,8 @@ void StringStats::Update(BaseStatistics &stats, const string_t &value) { if (unicode == UnicodeType::UNICODE) { string_data.has_unicode = true; } else if (unicode == UnicodeType::INVALID) { - throw InvalidInputException(ErrorManager::InvalidUnicodeError(string(const_char_ptr_cast(data), size), - "segment statistics update")); + throw ErrorManager::InvalidUnicodeError(string(const_char_ptr_cast(data), size), + "segment statistics update"); } } } diff --git a/src/storage/storage_info.cpp b/src/storage/storage_info.cpp index 0e124b5ef00f..fd469437713a 100644 --- a/src/storage/storage_info.cpp +++ b/src/storage/storage_info.cpp @@ -9,7 +9,7 @@ struct StorageVersionInfo { idx_t storage_version; }; -static StorageVersionInfo storage_version_info[] = {{"v0.9.0 or v0.9.1", 64}, +static StorageVersionInfo storage_version_info[] = {{"v0.9.0, v0.9.1 or v0.9.2", 64}, {"v0.8.0 or v0.8.1", 51}, {"v0.7.0 or v0.7.1", 43}, {"v0.6.0 or v0.6.1", 39}, diff --git a/src/storage/storage_manager.cpp b/src/storage/storage_manager.cpp index 088f018c09e3..832924afe62f 100644 --- a/src/storage/storage_manager.cpp +++ b/src/storage/storage_manager.cpp @@ -19,7 +19,7 @@ namespace duckdb { StorageManager::StorageManager(AttachedDatabase &db, string path_p, bool read_only) : db(db), path(std::move(path_p)), read_only(read_only) { if (path.empty()) { - path = ":memory:"; + path = IN_MEMORY_PATH; } else { auto &fs = FileSystem::Get(db); this->path = fs.ExpandPath(path); @@ -52,9 +52,35 @@ bool ObjectCache::ObjectCacheEnabled(ClientContext &context) { return context.db->config.options.object_cache_enable; } +optional_ptr StorageManager::GetWriteAheadLog() { + if (InMemory() || read_only || !load_complete) { + return nullptr; + } + + if (wal) { + return wal.get(); + } + + // lazy WAL creation + wal = make_uniq(db, GetWALPath()); + return wal.get(); +} + +string StorageManager::GetWALPath() { + + std::size_t question_mark_pos = path.find('?'); + auto wal_path = path; + if (question_mark_pos != std::string::npos) { + wal_path.insert(question_mark_pos, ".wal"); + } else { + wal_path += ".wal"; + } + return wal_path; +} + bool StorageManager::InMemory() { D_ASSERT(!path.empty()); - return path == ":memory:"; + return path == IN_MEMORY_PATH; } void StorageManager::Initialize() { @@ -92,21 +118,15 @@ SingleFileStorageManager::SingleFileStorageManager(AttachedDatabase &db, string } void SingleFileStorageManager::LoadDatabase() { + if (InMemory()) { block_manager = make_uniq(BufferManager::GetBufferManager(db)); table_io_manager = make_uniq(*block_manager); return; } - std::size_t question_mark_pos = path.find('?'); - auto wal_path = path; - if (question_mark_pos != std::string::npos) { - wal_path.insert(question_mark_pos, ".wal"); - } else { - wal_path += ".wal"; - } + auto &fs = FileSystem::Get(db); auto &config = DBConfig::Get(db); - bool truncate_wal = false; if (!config.options.enable_external_access) { if (!db.IsInitialDatabase()) { throw PermissionException("Attaching on-disk databases is disabled through configuration"); @@ -117,22 +137,27 @@ void SingleFileStorageManager::LoadDatabase() { options.read_only = read_only; options.use_direct_io = config.options.use_direct_io; options.debug_initialize = config.options.debug_initialize; + // first check if the database exists if (!fs.FileExists(path)) { if (read_only) { throw CatalogException("Cannot open database \"%s\" in read-only mode: database does not exist", path); } + // check if the WAL exists + auto wal_path = GetWALPath(); if (fs.FileExists(wal_path)) { // WAL file exists but database file does not // remove the WAL fs.RemoveFile(wal_path); } + // initialize the block manager while creating a new db file auto sf_block_manager = make_uniq(db, path, options); sf_block_manager->CreateNewDatabase(); block_manager = std::move(sf_block_manager); table_io_manager = make_uniq(*block_manager); + } else { // initialize the block manager while loading the current db file auto sf_block_manager = make_uniq(db, path, options); @@ -140,22 +165,21 @@ void SingleFileStorageManager::LoadDatabase() { block_manager = std::move(sf_block_manager); table_io_manager = make_uniq(*block_manager); - //! Load from storage - auto checkpointer = SingleFileCheckpointReader(*this); - checkpointer.LoadFromStorage(); + // load the db from storage + auto checkpoint_reader = SingleFileCheckpointReader(*this); + checkpoint_reader.LoadFromStorage(); + // check if the WAL file exists + auto wal_path = GetWALPath(); if (fs.FileExists(wal_path)) { // replay the WAL - truncate_wal = WriteAheadLog::Replay(db, wal_path); - } - } - // initialize the WAL file - if (!read_only) { - wal = make_uniq(db, wal_path); - if (truncate_wal) { - wal->Truncate(0); + if (WriteAheadLog::Replay(db, wal_path)) { + fs.RemoveFile(wal_path); + } } } + + load_complete = true; } /////////////////////////////////////////////////////////////////////////////// @@ -239,7 +263,8 @@ void SingleFileStorageManager::CreateCheckpoint(bool delete_wal, bool force_chec SingleFileCheckpointWriter checkpointer(db, *block_manager); checkpointer.CreateCheckpoint(); } catch (std::exception &ex) { - throw FatalException("Failed to create checkpoint because of error: %s", ex.what()); + ErrorData error(ex); + throw FatalException("Failed to create checkpoint because of error: %s", error.RawMessage()); } } if (delete_wal) { diff --git a/src/storage/table/CMakeLists.txt b/src/storage/table/CMakeLists.txt index 449ba1f484e4..419cf1998f26 100644 --- a/src/storage/table/CMakeLists.txt +++ b/src/storage/table/CMakeLists.txt @@ -6,6 +6,7 @@ add_library_unity( column_data_checkpointer.cpp column_data.cpp column_segment.cpp + array_column_data.cpp list_column_data.cpp update_segment.cpp persistent_table_data.cpp diff --git a/src/storage/table/array_column_data.cpp b/src/storage/table/array_column_data.cpp new file mode 100644 index 000000000000..31cb93facf7f --- /dev/null +++ b/src/storage/table/array_column_data.cpp @@ -0,0 +1,241 @@ +#include "duckdb/storage/table/array_column_data.hpp" +#include "duckdb/storage/statistics/array_stats.hpp" +#include "duckdb/common/serializer/serializer.hpp" +#include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/storage/table/column_checkpoint_state.hpp" +#include "duckdb/storage/table/append_state.hpp" +#include "duckdb/storage/table/scan_state.hpp" + +namespace duckdb { + +ArrayColumnData::ArrayColumnData(BlockManager &block_manager, DataTableInfo &info, idx_t column_index, idx_t start_row, + LogicalType type_p, optional_ptr parent) + : ColumnData(block_manager, info, column_index, start_row, std::move(type_p), parent), + validity(block_manager, info, 0, start_row, *this) { + D_ASSERT(type.InternalType() == PhysicalType::ARRAY); + auto &child_type = ArrayType::GetChildType(type); + // the child column, with column index 1 (0 is the validity mask) + child_column = ColumnData::CreateColumnUnique(block_manager, info, 1, start_row, child_type, this); +} + +void ArrayColumnData::SetStart(idx_t new_start) { + this->start = new_start; + child_column->SetStart(new_start); + validity.SetStart(new_start); +} + +bool ArrayColumnData::CheckZonemap(ColumnScanState &state, TableFilter &filter) { + // FIXME: There is nothing preventing us from supporting this, but it's not implemented yet. + // table filters are not supported yet for fixed size list columns + return false; +} + +void ArrayColumnData::InitializeScan(ColumnScanState &state) { + // initialize the validity segment + D_ASSERT(state.child_states.size() == 2); + + state.row_index = 0; + state.current = nullptr; + + validity.InitializeScan(state.child_states[0]); + + // initialize the child scan + child_column->InitializeScan(state.child_states[1]); +} + +void ArrayColumnData::InitializeScanWithOffset(ColumnScanState &state, idx_t row_idx) { + D_ASSERT(state.child_states.size() == 2); + + if (row_idx == 0) { + // Trivial case, no offset + InitializeScan(state); + return; + } + + state.row_index = row_idx; + state.current = nullptr; + + // initialize the validity segment + validity.InitializeScanWithOffset(state.child_states[0], row_idx); + + auto array_size = ArrayType::GetSize(type); + auto child_offset = (row_idx - start) * array_size; + + D_ASSERT(child_offset <= child_column->GetMaxEntry()); + if (child_offset < child_column->GetMaxEntry()) { + child_column->InitializeScanWithOffset(state.child_states[1], start + child_offset); + } +} + +idx_t ArrayColumnData::Scan(TransactionData transaction, idx_t vector_index, ColumnScanState &state, Vector &result) { + return ScanCount(state, result, STANDARD_VECTOR_SIZE); +} + +idx_t ArrayColumnData::ScanCommitted(idx_t vector_index, ColumnScanState &state, Vector &result, bool allow_updates) { + return ScanCount(state, result, STANDARD_VECTOR_SIZE); +} + +idx_t ArrayColumnData::ScanCount(ColumnScanState &state, Vector &result, idx_t count) { + // Scan validity + auto scan_count = validity.ScanCount(state.child_states[0], result, count); + auto array_size = ArrayType::GetSize(type); + // Scan child column + auto &child_vec = ArrayVector::GetEntry(result); + child_column->ScanCount(state.child_states[1], child_vec, count * array_size); + return scan_count; +} + +void ArrayColumnData::Skip(ColumnScanState &state, idx_t count) { + // Skip validity + validity.Skip(state.child_states[0], count); + // Skip child column + auto array_size = ArrayType::GetSize(type); + child_column->Skip(state.child_states[1], count * array_size); +} + +void ArrayColumnData::InitializeAppend(ColumnAppendState &state) { + ColumnAppendState validity_append; + validity.InitializeAppend(validity_append); + state.child_appends.push_back(std::move(validity_append)); + + ColumnAppendState child_append; + child_column->InitializeAppend(child_append); + state.child_appends.push_back(std::move(child_append)); +} + +void ArrayColumnData::Append(BaseStatistics &stats, ColumnAppendState &state, Vector &vector, idx_t count) { + vector.Flatten(count); + // Append validity + validity.Append(stats, state.child_appends[0], vector, count); + // Append child column + auto array_size = ArrayType::GetSize(type); + auto &child_vec = ArrayVector::GetEntry(vector); + child_column->Append(ArrayStats::GetChildStats(stats), state.child_appends[1], child_vec, count * array_size); + + this->count += count; +} + +void ArrayColumnData::RevertAppend(row_t start_row) { + // Revert validity + validity.RevertAppend(start_row); + // Revert child column + auto array_size = ArrayType::GetSize(type); + child_column->RevertAppend(start_row * array_size); + + this->count = start_row - this->start; +} + +idx_t ArrayColumnData::Fetch(ColumnScanState &state, row_t row_id, Vector &result) { + throw NotImplementedException("Array Fetch"); +} + +void ArrayColumnData::Update(TransactionData transaction, idx_t column_index, Vector &update_vector, row_t *row_ids, + idx_t update_count) { + throw NotImplementedException("Array Update is not supported."); +} + +void ArrayColumnData::UpdateColumn(TransactionData transaction, const vector &column_path, + Vector &update_vector, row_t *row_ids, idx_t update_count, idx_t depth) { + throw NotImplementedException("Array Update Column is not supported"); +} + +unique_ptr ArrayColumnData::GetUpdateStatistics() { + return nullptr; +} + +void ArrayColumnData::FetchRow(TransactionData transaction, ColumnFetchState &state, row_t row_id, Vector &result, + idx_t result_idx) { + + // Create state for validity & child column + if (state.child_states.empty()) { + state.child_states.push_back(make_uniq()); + } + + // Fetch validity + validity.FetchRow(transaction, *state.child_states[0], row_id, result, result_idx); + + // Fetch child column + auto &child_vec = ArrayVector::GetEntry(result); + auto &child_type = ArrayType::GetChildType(type); + auto array_size = ArrayType::GetSize(type); + + // We need to fetch between [row_id * array_size, (row_id + 1) * array_size) + auto child_state = make_uniq(); + child_state->Initialize(child_type, nullptr); + child_column->InitializeScanWithOffset(*child_state, row_id * array_size); + Vector child_scan(child_type, array_size); + child_column->ScanCount(*child_state, child_scan, array_size); + VectorOperations::Copy(child_scan, child_vec, array_size, 0, result_idx * array_size); +} + +void ArrayColumnData::CommitDropColumn() { + validity.CommitDropColumn(); + child_column->CommitDropColumn(); +} + +struct ArrayColumnCheckpointState : public ColumnCheckpointState { + ArrayColumnCheckpointState(RowGroup &row_group, ColumnData &column_data, PartialBlockManager &partial_block_manager) + : ColumnCheckpointState(row_group, column_data, partial_block_manager) { + global_stats = ArrayStats::CreateEmpty(column_data.type).ToUnique(); + } + + unique_ptr validity_state; + unique_ptr child_state; + +public: + unique_ptr GetStatistics() override { + auto stats = global_stats->Copy(); + ArrayStats::SetChildStats(stats, child_state->GetStatistics()); + return stats.ToUnique(); + } + + void WriteDataPointers(RowGroupWriter &writer, Serializer &serializer) override { + serializer.WriteObject(101, "validity", + [&](Serializer &serializer) { validity_state->WriteDataPointers(writer, serializer); }); + serializer.WriteObject(102, "child_column", + [&](Serializer &serializer) { child_state->WriteDataPointers(writer, serializer); }); + } +}; + +unique_ptr ArrayColumnData::CreateCheckpointState(RowGroup &row_group, + PartialBlockManager &partial_block_manager) { + return make_uniq(row_group, *this, partial_block_manager); +} + +unique_ptr ArrayColumnData::Checkpoint(RowGroup &row_group, + PartialBlockManager &partial_block_manager, + ColumnCheckpointInfo &checkpoint_info) { + + auto checkpoint_state = make_uniq(row_group, *this, partial_block_manager); + checkpoint_state->validity_state = validity.Checkpoint(row_group, partial_block_manager, checkpoint_info); + checkpoint_state->child_state = child_column->Checkpoint(row_group, partial_block_manager, checkpoint_info); + return std::move(checkpoint_state); +} + +void ArrayColumnData::DeserializeColumn(Deserializer &deserializer, BaseStatistics &target_stats) { + deserializer.ReadObject(101, "validity", + [&](Deserializer &source) { validity.DeserializeColumn(source, target_stats); }); + + auto &child_stats = ArrayStats::GetChildStats(target_stats); + deserializer.ReadObject(102, "child_column", + [&](Deserializer &source) { child_column->DeserializeColumn(source, child_stats); }); + this->count = validity.count; +} + +void ArrayColumnData::GetColumnSegmentInfo(idx_t row_group_index, vector col_path, + vector &result) { + col_path.push_back(0); + validity.GetColumnSegmentInfo(row_group_index, col_path, result); + col_path.back() = 1; + child_column->GetColumnSegmentInfo(row_group_index, col_path, result); +} + +void ArrayColumnData::Verify(RowGroup &parent) { +#ifdef DEBUG + ColumnData::Verify(parent); + validity.Verify(parent); + child_column->Verify(parent); +#endif +} + +} // namespace duckdb diff --git a/src/storage/table/chunk_info.cpp b/src/storage/table/chunk_info.cpp index fa19b5021070..d220e0809022 100644 --- a/src/storage/table/chunk_info.cpp +++ b/src/storage/table/chunk_info.cpp @@ -1,5 +1,6 @@ #include "duckdb/storage/table/chunk_info.hpp" #include "duckdb/transaction/transaction.hpp" +#include "duckdb/common/exception/transaction_exception.hpp" #include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/serializer/deserializer.hpp" #include "duckdb/common/serializer/memory_stream.hpp" @@ -22,7 +23,7 @@ struct CommittedVersionOperator { } static bool UseDeletedVersion(transaction_t min_start_time, transaction_t min_transaction_id, transaction_t id) { - return (id >= min_start_time && id < TRANSACTION_ID_START) || (id >= min_transaction_id); + return (id >= min_start_time && id < TRANSACTION_ID_START) || id == NOT_DELETED_ID; } }; diff --git a/src/storage/table/column_checkpoint_state.cpp b/src/storage/table/column_checkpoint_state.cpp index 88d803b77d08..10a49b305a23 100644 --- a/src/storage/table/column_checkpoint_state.cpp +++ b/src/storage/table/column_checkpoint_state.cpp @@ -38,7 +38,6 @@ bool PartialBlockForCheckpoint::IsFlushed() { } void PartialBlockForCheckpoint::Flush(const idx_t free_space_left) { - if (IsFlushed()) { throw InternalException("Flush called on partial block that was already flushed"); } @@ -130,7 +129,10 @@ void ColumnCheckpointState::FlushSegment(unique_ptr segment, idx_ block_id_t block_id = INVALID_BLOCK; uint32_t offset_in_block = 0; + unique_lock partial_block_lock; if (!segment->stats.statistics.IsConstant()) { + partial_block_lock = partial_block_manager.GetLock(); + // non-constant block PartialBlockAllocation allocation = partial_block_manager.GetBlockAllocation(segment_size); block_id = allocation.state.block_id; diff --git a/src/storage/table/column_data.cpp b/src/storage/table/column_data.cpp index d6a1bd938035..ef9b0e66bdc2 100644 --- a/src/storage/table/column_data.cpp +++ b/src/storage/table/column_data.cpp @@ -1,5 +1,5 @@ #include "duckdb/storage/table/column_data.hpp" - +#include "duckdb/common/exception/transaction_exception.hpp" #include "duckdb/common/vector_operations/vector_operations.hpp" #include "duckdb/function/compression_function.hpp" #include "duckdb/planner/table_filter.hpp" @@ -9,7 +9,7 @@ #include "duckdb/storage/table/column_data_checkpointer.hpp" #include "duckdb/storage/table/list_column_data.hpp" #include "duckdb/storage/table/standard_column_data.hpp" - +#include "duckdb/storage/table/array_column_data.hpp" #include "duckdb/storage/table/struct_column_data.hpp" #include "duckdb/storage/table/update_segment.hpp" #include "duckdb/storage/table_storage_info.hpp" @@ -113,8 +113,15 @@ idx_t ColumnData::ScanVector(ColumnScanState &state, Vector &result, idx_t remai idx_t scan_count = MinValue(remaining, state.current->start + state.current->count - state.row_index); idx_t result_offset = initial_remaining - remaining; if (scan_count > 0) { - state.current->Scan(state, scan_count, result, result_offset, - !has_updates && scan_count == initial_remaining); + if (state.scan_options && state.scan_options->force_fetch_row) { + for (idx_t i = 0; i < scan_count; i++) { + ColumnFetchState fetch_state; + state.current->FetchRow(fetch_state, state.row_index + i, result, result_offset + i); + } + } else { + state.current->Scan(state, scan_count, result, result_offset, + !has_updates && scan_count == initial_remaining); + } state.row_index += scan_count; remaining -= scan_count; @@ -387,14 +394,18 @@ unique_ptr ColumnData::GetUpdateStatistics() { } void ColumnData::AppendTransientSegment(SegmentLock &l, idx_t start_row) { - idx_t segment_size = Storage::BLOCK_SIZE; + + idx_t vector_segment_size = Storage::BLOCK_SIZE; if (start_row == idx_t(MAX_ROW_ID)) { #if STANDARD_VECTOR_SIZE < 1024 - segment_size = 1024 * GetTypeIdSize(type.InternalType()); + vector_segment_size = 1024 * GetTypeIdSize(type.InternalType()); #else - segment_size = STANDARD_VECTOR_SIZE * GetTypeIdSize(type.InternalType()); + vector_segment_size = STANDARD_VECTOR_SIZE * GetTypeIdSize(type.InternalType()); #endif } + + // the segment size is bound by the block size, but can be smaller + idx_t segment_size = Storage::BLOCK_SIZE < vector_segment_size ? Storage::BLOCK_SIZE : vector_segment_size; auto new_segment = ColumnSegment::CreateTransientSegment(GetDatabase(), type, start_row, segment_size); data.AppendSegment(l, std::move(new_segment)); } @@ -413,7 +424,15 @@ unique_ptr ColumnData::CreateCheckpointState(RowGroup &ro void ColumnData::CheckpointScan(ColumnSegment &segment, ColumnScanState &state, idx_t row_group_start, idx_t count, Vector &scan_vector) { - segment.Scan(state, count, scan_vector, 0, true); + if (state.scan_options && state.scan_options->force_fetch_row) { + for (idx_t i = 0; i < count; i++) { + ColumnFetchState fetch_state; + segment.FetchRow(fetch_state, state.row_index + i, scan_vector, i); + } + } else { + segment.Scan(state, count, scan_vector, 0, true); + } + if (updates) { scan_vector.Flatten(count); updates->FetchCommittedRange(state.row_index - row_group_start, count, scan_vector); @@ -441,12 +460,13 @@ unique_ptr ColumnData::Checkpoint(RowGroup &row_group, // replace the old tree with the new one data.Replace(l, checkpoint_state->new_tree); + updates.reset(); version++; return checkpoint_state; } -void ColumnData::DeserializeColumn(Deserializer &deserializer) { +void ColumnData::DeserializeColumn(Deserializer &deserializer, BaseStatistics &target_stats) { // load the data pointers for the column deserializer.Set(info.db.GetDatabase()); deserializer.Set(type); @@ -462,9 +482,11 @@ void ColumnData::DeserializeColumn(Deserializer &deserializer) { for (auto &data_pointer : data_pointers) { // Update the count and statistics this->count += data_pointer.tuple_count; - if (stats) { - stats->statistics.Merge(data_pointer.statistics); - } + + // Merge the statistics. If this is a child column, the target_stats reference will point into the parents stats + // otherwise if this is a top level column, `stats->statistics` == `target_stats` + + target_stats.Merge(data_pointer.statistics); // create a persistent segment auto segment = ColumnSegment::CreatePersistentSegment( @@ -477,12 +499,11 @@ void ColumnData::DeserializeColumn(Deserializer &deserializer) { } shared_ptr ColumnData::Deserialize(BlockManager &block_manager, DataTableInfo &info, idx_t column_index, - idx_t start_row, ReadStream &source, const LogicalType &type, - optional_ptr parent) { - auto entry = ColumnData::CreateColumn(block_manager, info, column_index, start_row, type, parent); + idx_t start_row, ReadStream &source, const LogicalType &type) { + auto entry = ColumnData::CreateColumn(block_manager, info, column_index, start_row, type, nullptr); BinaryDeserializer deserializer(source); deserializer.Begin(); - entry->DeserializeColumn(deserializer); + entry->DeserializeColumn(deserializer, entry->stats->statistics); deserializer.End(); return entry; } @@ -544,8 +565,8 @@ void ColumnData::Verify(RowGroup &parent) { #ifdef DEBUG D_ASSERT(this->start == parent.start); data.Verify(); - if (type.InternalType() == PhysicalType::STRUCT) { - // structs don't have segments + if (type.InternalType() == PhysicalType::STRUCT || type.InternalType() == PhysicalType::ARRAY) { + // structs and fixed size lists don't have segments D_ASSERT(!data.GetRootSegment()); return; } @@ -570,6 +591,8 @@ static RET CreateColumnInternal(BlockManager &block_manager, DataTableInfo &info return OP::template Create(block_manager, info, column_index, start_row, type, parent); } else if (type.InternalType() == PhysicalType::LIST) { return OP::template Create(block_manager, info, column_index, start_row, type, parent); + } else if (type.InternalType() == PhysicalType::ARRAY) { + return OP::template Create(block_manager, info, column_index, start_row, type, parent); } else if (type.id() == LogicalTypeId::VALIDITY) { return OP::template Create(block_manager, info, column_index, start_row, *parent); } diff --git a/src/storage/table/column_data_checkpointer.cpp b/src/storage/table/column_data_checkpointer.cpp index 271c67eb6e96..8c943830812e 100644 --- a/src/storage/table/column_data_checkpointer.cpp +++ b/src/storage/table/column_data_checkpointer.cpp @@ -63,8 +63,13 @@ void ColumnDataCheckpointer::ScanSegments(const std::function> &compression_functions, CompressionType compression_type) { - // On of the force_compression flags has been set - // check if this compression method is available +// On of the force_compression flags has been set +// check if this compression method is available +#ifdef DEBUG + if (CompressionTypeIsDeprecated(compression_type)) { + throw InternalException("Deprecated compression type: %s", CompressionTypeToString(compression_type)); + } +#endif bool found = false; for (idx_t i = 0; i < compression_functions.size(); i++) { auto &compression_function = *compression_functions[i]; @@ -120,7 +125,10 @@ unique_ptr ColumnDataCheckpointer::DetectBestCompressionMethod(idx if (!compression_functions[i]) { continue; } - auto success = compression_functions[i]->analyze(*analyze_states[i], scan_vector, count); + bool success = false; + if (analyze_states[i]) { + success = compression_functions[i]->analyze(*analyze_states[i], scan_vector, count); + } if (!success) { // could not use this compression function on this data set // erase it @@ -185,6 +193,7 @@ void ColumnDataCheckpointer::WriteToDisk() { // now that we have analyzed the compression functions we can start writing to disk auto best_function = compression_functions[compression_idx]; auto compress_state = best_function->init_compression(*this, std::move(analyze_state)); + ScanSegments( [&](Vector &scan_vector, idx_t count) { best_function->compress(*compress_state, scan_vector, count); }); best_function->compress_finalize(*compress_state); diff --git a/src/storage/table/column_segment.cpp b/src/storage/table/column_segment.cpp index b97c12291f66..c0f67a0ca8e6 100644 --- a/src/storage/table/column_segment.cpp +++ b/src/storage/table/column_segment.cpp @@ -7,6 +7,7 @@ #include "duckdb/storage/storage_manager.hpp" #include "duckdb/planner/filter/conjunction_filter.hpp" #include "duckdb/planner/filter/constant_filter.hpp" +#include "duckdb/planner/filter/struct_filter.hpp" #include "duckdb/main/config.hpp" #include "duckdb/storage/table/scan_state.hpp" #include "duckdb/storage/data_pointer.hpp" @@ -15,15 +16,21 @@ namespace duckdb { +//===--------------------------------------------------------------------===// +// Create +//===--------------------------------------------------------------------===// + unique_ptr ColumnSegment::CreatePersistentSegment(DatabaseInstance &db, BlockManager &block_manager, block_id_t block_id, idx_t offset, const LogicalType &type, idx_t start, idx_t count, CompressionType compression_type, BaseStatistics statistics, unique_ptr segment_state) { + auto &config = DBConfig::GetConfig(db); optional_ptr function; shared_ptr block; + if (block_id == INVALID_BLOCK) { // constant segment, no need to allocate an actual block function = config.GetCompressionFunction(CompressionType::COMPRESSION_CONSTANT, type.InternalType()); @@ -31,6 +38,7 @@ unique_ptr ColumnSegment::CreatePersistentSegment(DatabaseInstanc function = config.GetCompressionFunction(compression_type, type.InternalType()); block = block_manager.RegisterBlock(block_id); } + auto segment_size = Storage::BLOCK_SIZE; return make_uniq(db, std::move(block), type, ColumnSegmentType::PERSISTENT, start, count, *function, std::move(statistics), block_id, offset, segment_size, std::move(segment_state)); @@ -38,42 +46,51 @@ unique_ptr ColumnSegment::CreatePersistentSegment(DatabaseInstanc unique_ptr ColumnSegment::CreateTransientSegment(DatabaseInstance &db, const LogicalType &type, idx_t start, idx_t segment_size) { + + D_ASSERT(segment_size <= Storage::BLOCK_SIZE); + auto &config = DBConfig::GetConfig(db); auto function = config.GetCompressionFunction(CompressionType::COMPRESSION_UNCOMPRESSED, type.InternalType()); auto &buffer_manager = BufferManager::GetBufferManager(db); shared_ptr block; + // transient: allocate a buffer for the uncompressed segment if (segment_size < Storage::BLOCK_SIZE) { block = buffer_manager.RegisterSmallMemory(segment_size); } else { - buffer_manager.Allocate(segment_size, false, &block); + buffer_manager.Allocate(MemoryTag::IN_MEMORY_TABLE, segment_size, false, &block); } return make_uniq(db, std::move(block), type, ColumnSegmentType::TRANSIENT, start, 0, *function, BaseStatistics::CreateEmpty(type), INVALID_BLOCK, 0, segment_size); } -unique_ptr ColumnSegment::CreateSegment(ColumnSegment &other, idx_t start) { - return make_uniq(other, start); -} - +//===--------------------------------------------------------------------===// +// Construct/Destruct +//===--------------------------------------------------------------------===// ColumnSegment::ColumnSegment(DatabaseInstance &db, shared_ptr block, LogicalType type_p, ColumnSegmentType segment_type, idx_t start, idx_t count, CompressionFunction &function_p, BaseStatistics statistics, block_id_t block_id_p, idx_t offset_p, idx_t segment_size_p, unique_ptr segment_state) + : SegmentBase(start, count), db(db), type(std::move(type_p)), type_size(GetTypeIdSize(type.InternalType())), segment_type(segment_type), function(function_p), stats(std::move(statistics)), block(std::move(block)), block_id(block_id_p), offset(offset_p), segment_size(segment_size_p) { + if (function.get().init_segment) { this->segment_state = function.get().init_segment(*this, block_id, segment_state.get()); } + D_ASSERT(segment_size <= Storage::BLOCK_SIZE); } ColumnSegment::ColumnSegment(ColumnSegment &other, idx_t start) + : SegmentBase(start, other.count.load()), db(other.db), type(std::move(other.type)), type_size(other.type_size), segment_type(other.segment_type), function(other.function), stats(std::move(other.stats)), block(std::move(other.block)), block_id(other.block_id), offset(other.offset), segment_size(other.segment_size), segment_state(std::move(other.segment_state)) { + + D_ASSERT(segment_size <= Storage::BLOCK_SIZE); } ColumnSegment::~ColumnSegment() { @@ -128,11 +145,14 @@ idx_t ColumnSegment::SegmentSize() const { void ColumnSegment::Resize(idx_t new_size) { D_ASSERT(new_size > this->segment_size); D_ASSERT(offset == 0); + D_ASSERT(new_size <= Storage::BLOCK_SIZE); + auto &buffer_manager = BufferManager::GetBufferManager(db); auto old_handle = buffer_manager.Pin(block); shared_ptr new_block; - auto new_handle = buffer_manager.Allocate(Storage::BLOCK_SIZE, false, &new_block); + auto new_handle = buffer_manager.Allocate(MemoryTag::IN_MEMORY_TABLE, new_size, false, &new_block); memcpy(new_handle.Ptr(), old_handle.Ptr(), segment_size); + this->block_id = new_block->BlockId(); this->block = std::move(new_block); this->segment_size = new_size; @@ -439,6 +459,13 @@ idx_t ColumnSegment::FilterSelection(SelectionVector &sel, Vector &result, const constant_filter.comparison_type, mask); break; } + case PhysicalType::UINT128: { + auto result_flat = FlatVector::GetData(result); + auto predicate = UhugeIntValue::Get(constant_filter.constant); + FilterSelectionSwitch(result_flat, predicate, sel, approved_tuple_count, + constant_filter.comparison_type, mask); + break; + } case PhysicalType::FLOAT: { auto result_flat = FlatVector::GetData(result); auto predicate = FloatValue::Get(constant_filter.constant); @@ -476,6 +503,13 @@ idx_t ColumnSegment::FilterSelection(SelectionVector &sel, Vector &result, const return TemplatedNullSelection(sel, approved_tuple_count, mask); case TableFilterType::IS_NOT_NULL: return TemplatedNullSelection(sel, approved_tuple_count, mask); + case TableFilterType::STRUCT_EXTRACT: { + auto &struct_filter = filter.Cast(); + // Apply the filter on the child vector + auto &child_vec = StructVector::GetEntries(result)[struct_filter.child_idx]; + auto &child_mask = FlatVector::Validity(*child_vec); + return FilterSelection(sel, *child_vec, *struct_filter.child_filter, approved_tuple_count, child_mask); + } default: throw InternalException("FIXME: unsupported type for filter selection"); } diff --git a/src/storage/table/list_column_data.cpp b/src/storage/table/list_column_data.cpp index 36f6da70c504..b805497a596c 100644 --- a/src/storage/table/list_column_data.cpp +++ b/src/storage/table/list_column_data.cpp @@ -113,6 +113,7 @@ idx_t ListColumnData::ScanCount(ColumnScanState &state, Vector &result, idx_t co if (child_scan_count > 0) { auto &child_entry = ListVector::GetEntry(result); if (child_entry.GetType().InternalType() != PhysicalType::STRUCT && + child_entry.GetType().InternalType() != PhysicalType::ARRAY && state.child_states[1].row_index + child_scan_count > child_column->start + child_column->GetMaxEntry()) { throw InternalException("ListColumnData::ScanCount - internal list scan offset is out of range"); } @@ -131,14 +132,14 @@ void ListColumnData::Skip(ColumnScanState &state, idx_t count) { // we need to read the list entries/offsets to figure out how much to skip // note that we only need to read the first and last entry // however, let's just read all "count" entries for now - Vector result(LogicalType::UBIGINT, count); - idx_t scan_count = ScanVector(state, result, count, false); - if (scan_count == 0) { - return; - } + Vector offset_vector(LogicalType::UBIGINT, count); + idx_t scan_count = ScanVector(state, offset_vector, count, false); + D_ASSERT(scan_count > 0); - auto data = FlatVector::GetData(result); - auto last_entry = data[scan_count - 1]; + UnifiedVectorFormat offsets; + offset_vector.ToUnifiedFormat(scan_count, offsets); + auto data = UnifiedVectorFormat::GetData(offsets); + auto last_entry = data[offsets.sel->get_index(scan_count - 1)]; idx_t child_scan_count = last_entry - state.last_offset; if (child_scan_count == 0) { return; @@ -291,7 +292,7 @@ void ListColumnData::FetchRow(TransactionData transaction, ColumnFetchState &sta auto &child_type = ListType::GetChildType(result.GetType()); Vector child_scan(child_type, child_scan_count); // seek the scan towards the specified position and read [length] entries - child_state->Initialize(child_type); + child_state->Initialize(child_type, nullptr); child_column->InitializeScanWithOffset(*child_state, start + start_offset); D_ASSERT(child_type.InternalType() == PhysicalType::STRUCT || child_state->row_index + child_scan_count - this->start <= child_column->GetMaxEntry()); @@ -339,8 +340,8 @@ unique_ptr ListColumnData::CreateCheckpointState(RowGroup unique_ptr ListColumnData::Checkpoint(RowGroup &row_group, PartialBlockManager &partial_block_manager, ColumnCheckpointInfo &checkpoint_info) { - auto validity_state = validity.Checkpoint(row_group, partial_block_manager, checkpoint_info); auto base_state = ColumnData::Checkpoint(row_group, partial_block_manager, checkpoint_info); + auto validity_state = validity.Checkpoint(row_group, partial_block_manager, checkpoint_info); auto child_state = child_column->Checkpoint(row_group, partial_block_manager, checkpoint_info); auto &checkpoint_state = base_state->Cast(); @@ -349,14 +350,16 @@ unique_ptr ListColumnData::Checkpoint(RowGroup &row_group return base_state; } -void ListColumnData::DeserializeColumn(Deserializer &deserializer) { - ColumnData::DeserializeColumn(deserializer); +void ListColumnData::DeserializeColumn(Deserializer &deserializer, BaseStatistics &target_stats) { + ColumnData::DeserializeColumn(deserializer, target_stats); - deserializer.ReadObject(101, "validity", - [&](Deserializer &deserializer) { validity.DeserializeColumn(deserializer); }); + deserializer.ReadObject( + 101, "validity", [&](Deserializer &deserializer) { validity.DeserializeColumn(deserializer, target_stats); }); - deserializer.ReadObject(102, "child_column", - [&](Deserializer &deserializer) { child_column->DeserializeColumn(deserializer); }); + auto &child_stats = ListStats::GetChildStats(target_stats); + deserializer.ReadObject(102, "child_column", [&](Deserializer &deserializer) { + child_column->DeserializeColumn(deserializer, child_stats); + }); } void ListColumnData::GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector col_path, diff --git a/src/storage/table/row_group.cpp b/src/storage/table/row_group.cpp index eafe98043681..b4572ebfb2fe 100644 --- a/src/storage/table/row_group.cpp +++ b/src/storage/table/row_group.cpp @@ -20,6 +20,8 @@ #include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/serializer/deserializer.hpp" #include "duckdb/common/serializer/binary_serializer.hpp" +#include "duckdb/planner/filter/conjunction_filter.hpp" +#include "duckdb/planner/filter/struct_filter.hpp" namespace duckdb { @@ -99,7 +101,7 @@ ColumnData &RowGroup::GetColumn(storage_t c) { auto &block_pointer = column_pointers[c]; MetadataReader column_data_reader(metadata_manager, block_pointer); this->columns[c] = - ColumnData::Deserialize(GetBlockManager(), GetTableInfo(), c, start, column_data_reader, types[c], nullptr); + ColumnData::Deserialize(GetBlockManager(), GetTableInfo(), c, start, column_data_reader, types[c]); is_loaded[c] = true; if (this->columns[c]->count != this->count) { throw InternalException("Corrupted database - loaded column with index %llu at row start %llu, count %llu did " @@ -125,7 +127,10 @@ void RowGroup::InitializeEmpty(const vector &types) { } } -void ColumnScanState::Initialize(const LogicalType &type) { +void ColumnScanState::Initialize(const LogicalType &type, optional_ptr options) { + // Register the options in the state + scan_options = options; + if (type.id() == LogicalTypeId::VALIDITY) { // validity - nothing to initialize return; @@ -135,15 +140,23 @@ void ColumnScanState::Initialize(const LogicalType &type) { auto &struct_children = StructType::GetChildTypes(type); child_states.resize(struct_children.size() + 1); for (idx_t i = 0; i < struct_children.size(); i++) { - child_states[i + 1].Initialize(struct_children[i].second); + child_states[i + 1].Initialize(struct_children[i].second, options); } + child_states[0].scan_options = options; } else if (type.InternalType() == PhysicalType::LIST) { // validity + list child child_states.resize(2); - child_states[1].Initialize(ListType::GetChildType(type)); + child_states[1].Initialize(ListType::GetChildType(type), options); + child_states[0].scan_options = options; + } else if (type.InternalType() == PhysicalType::ARRAY) { + // validity + array child + child_states.resize(2); + child_states[0].scan_options = options; + child_states[1].Initialize(ArrayType::GetChildType(type), options); } else { // validity child_states.resize(1); + child_states[0].scan_options = options; } } @@ -154,7 +167,7 @@ void CollectionScanState::Initialize(const vector &types) { if (column_ids[i] == COLUMN_IDENTIFIER_ROW_ID) { continue; } - column_scans[i].Initialize(types[column_ids[i]]); + column_scans[i].Initialize(types[column_ids[i]], &GetOptions()); } } @@ -177,6 +190,7 @@ bool RowGroup::InitializeScanWithOffset(CollectionScanState &state, idx_t vector if (column != COLUMN_IDENTIFIER_ROW_ID) { auto &column_data = GetColumn(column); column_data.InitializeScanWithOffset(state.column_scans[i], start + vector_offset * STANDARD_VECTOR_SIZE); + state.column_scans[i].scan_options = &state.GetOptions(); } else { state.column_scans[i].current = nullptr; } @@ -205,6 +219,7 @@ bool RowGroup::InitializeScan(CollectionScanState &state) { if (column != COLUMN_IDENTIFIER_ROW_ID) { auto &column_data = GetColumn(column); column_data.InitializeScan(state.column_scans[i]); + state.column_scans[i].scan_options = &state.GetOptions(); } else { state.column_scans[i].current = nullptr; } @@ -349,6 +364,40 @@ bool RowGroup::CheckZonemap(TableFilterSet &filters, const vector &co return true; } +static idx_t GetFilterScanCount(ColumnScanState &state, TableFilter &filter) { + switch (filter.filter_type) { + case TableFilterType::STRUCT_EXTRACT: { + auto &struct_filter = filter.Cast(); + auto &child_state = state.child_states[1 + struct_filter.child_idx]; // +1 for validity + auto &child_filter = struct_filter.child_filter; + return GetFilterScanCount(child_state, *child_filter); + } + case TableFilterType::CONJUNCTION_AND: { + auto &conjunction_state = filter.Cast(); + idx_t max_count = 0; + for (auto &child_filter : conjunction_state.child_filters) { + max_count = std::max(GetFilterScanCount(state, *child_filter), max_count); + } + return max_count; + } + case TableFilterType::CONJUNCTION_OR: { + auto &conjunction_state = filter.Cast(); + idx_t max_count = 0; + for (auto &child_filter : conjunction_state.child_filters) { + max_count = std::max(GetFilterScanCount(state, *child_filter), max_count); + } + return max_count; + } + case TableFilterType::IS_NULL: + case TableFilterType::IS_NOT_NULL: + case TableFilterType::CONSTANT_COMPARISON: + return state.current->start + state.current->count; + default: { + throw NotImplementedException("Unimplemented filter type for zonemap"); + } + } +} + bool RowGroup::CheckZonemapSegments(CollectionScanState &state) { auto &column_ids = state.GetColumnIds(); auto filters = state.GetFilters(); @@ -361,8 +410,9 @@ bool RowGroup::CheckZonemapSegments(CollectionScanState &state) { const auto &base_column_idx = column_ids[column_idx]; bool read_segment = GetColumn(base_column_idx).CheckZonemap(state.column_scans[column_idx], *entry.second); if (!read_segment) { - idx_t target_row = - state.column_scans[column_idx].current->start + state.column_scans[column_idx].current->count; + + idx_t target_row = GetFilterScanCount(state.column_scans[column_idx], *entry.second); + D_ASSERT(target_row >= this->start); D_ASSERT(target_row <= this->start + this->count); idx_t target_vector_index = (target_row - this->start) / STANDARD_VECTOR_SIZE; @@ -664,6 +714,7 @@ void RowGroup::InitializeAppend(RowGroupAppendState &append_state) { void RowGroup::Append(RowGroupAppendState &state, DataChunk &chunk, idx_t append_count) { // append to the current row_group + D_ASSERT(chunk.ColumnCount() == GetColumnCount()); for (idx_t i = 0; i < GetColumnCount(); i++) { auto &col_data = GetColumn(i); col_data.Append(state.states[i], chunk.data[i], append_count); @@ -755,16 +806,12 @@ RowGroupWriteData RowGroup::WriteToDisk(PartialBlockManager &manager, return result; } -bool RowGroup::AllDeleted() { - if (HasUnloadedDeletes()) { - // deletes aren't loaded yet - we know not everything is deleted - return false; - } +idx_t RowGroup::GetCommittedRowCount() { auto &vinfo = GetVersionInfo(); if (!vinfo) { - return false; + return count; } - return vinfo->GetCommittedDeletedCount(count) == count; + return count - vinfo->GetCommittedDeletedCount(count); } bool RowGroup::HasUnloadedDeletes() const { @@ -776,9 +823,7 @@ bool RowGroup::HasUnloadedDeletes() const { return !deletes_is_loaded; } -RowGroupPointer RowGroup::Checkpoint(RowGroupWriter &writer, TableStatistics &global_stats) { - RowGroupPointer row_group_pointer; - +RowGroupWriteData RowGroup::WriteToDisk(RowGroupWriter &writer) { vector compression_types; compression_types.reserve(columns.size()); for (idx_t column_idx = 0; column_idx < GetColumnCount(); column_idx++) { @@ -790,16 +835,23 @@ RowGroupPointer RowGroup::Checkpoint(RowGroupWriter &writer, TableStatistics &gl } compression_types.push_back(writer.GetColumnCompressionType(column_idx)); } - auto result = WriteToDisk(writer.GetPartialBlockManager(), compression_types); + + return WriteToDisk(writer.GetPartialBlockManager(), compression_types); +} + +RowGroupPointer RowGroup::Checkpoint(RowGroupWriteData write_data, RowGroupWriter &writer, + TableStatistics &global_stats) { + RowGroupPointer row_group_pointer; + for (idx_t column_idx = 0; column_idx < GetColumnCount(); column_idx++) { - global_stats.GetStats(column_idx).Statistics().Merge(result.statistics[column_idx]); + global_stats.GetStats(column_idx).Statistics().Merge(write_data.statistics[column_idx]); } // construct the row group pointer and write the column meta data to disk - D_ASSERT(result.states.size() == columns.size()); + D_ASSERT(write_data.states.size() == columns.size()); row_group_pointer.row_start = start; row_group_pointer.tuple_count = count; - for (auto &state : result.states) { + for (auto &state : write_data.states) { // get the current position of the table data writer auto &data_writer = writer.GetPayloadWriter(); auto pointer = data_writer.GetMetaBlockPointer(); diff --git a/src/storage/table/row_group_collection.cpp b/src/storage/table/row_group_collection.cpp index c8342dfdd97b..e730fbb228a8 100644 --- a/src/storage/table/row_group_collection.cpp +++ b/src/storage/table/row_group_collection.cpp @@ -11,6 +11,9 @@ #include "duckdb/storage/table/scan_state.hpp" #include "duckdb/storage/table_storage_info.hpp" #include "duckdb/common/serializer/binary_deserializer.hpp" +#include "duckdb/parallel/task_scheduler.hpp" +#include "duckdb/execution/task_error_manager.hpp" +#include "duckdb/storage/table/column_checkpoint_state.hpp" namespace duckdb { @@ -359,11 +362,7 @@ bool RowGroupCollection::Append(DataChunk &chunk, TableAppendState &state) { D_ASSERT(chunk.size() == remaining + append_count); // slice the input chunk if (remaining < chunk.size()) { - SelectionVector sel(remaining); - for (idx_t i = 0; i < remaining; i++) { - sel.set_index(i, append_count + i); - } - chunk.Slice(sel, remaining); + chunk.Slice(append_count, remaining); } // append a new row_group new_row_group = true; @@ -436,14 +435,13 @@ void RowGroupCollection::RevertAppendInternal(idx_t start_row) { auto l = row_groups->Lock(); // find the segment index that the current row belongs to idx_t segment_index = row_groups->GetSegmentIndex(l, start_row); - auto segment = row_groups->GetSegmentByIndex(l, segment_index); - auto &info = *segment; + auto &segment = *row_groups->GetSegmentByIndex(l, segment_index); // remove any segments AFTER this segment: they should be deleted entirely row_groups->EraseSegments(l, segment_index); - info.next = nullptr; - info.RevertAppend(start_row); + segment.next = nullptr; + segment.RevertAppend(start_row); } void RowGroupCollection::MergeStorage(RowGroupCollection &data) { @@ -596,28 +594,405 @@ void RowGroupCollection::UpdateColumn(TransactionData transaction, Vector &row_i row_group->MergeIntoStatistics(primary_column_idx, stats.GetStats(primary_column_idx).Statistics()); } +//===--------------------------------------------------------------------===// +// Checkpoint State +//===--------------------------------------------------------------------===// +struct CollectionCheckpointState { + CollectionCheckpointState(RowGroupCollection &collection, TableDataWriter &writer, + vector> &segments, TableStatistics &global_stats) + : collection(collection), writer(writer), scheduler(writer.GetScheduler()), segments(segments), + global_stats(global_stats), token(scheduler.CreateProducer()), completed_tasks(0), total_tasks(0) { + writers.resize(segments.size()); + write_data.resize(segments.size()); + } + + RowGroupCollection &collection; + TableDataWriter &writer; + TaskScheduler &scheduler; + vector> &segments; + vector> writers; + vector write_data; + TableStatistics &global_stats; + mutex write_lock; + +public: + void PushError(ErrorData error) { + error_manager.PushError(std::move(error)); + } + bool HasError() { + return error_manager.HasError(); + } + void ThrowError() { + error_manager.ThrowException(); + } + + void ScheduleTask(unique_ptr task) { + ++total_tasks; + scheduler.ScheduleTask(*token, std::move(task)); + } + void FinishTask() { + ++completed_tasks; + } + bool TasksFinished() { + if (completed_tasks == total_tasks) { + return true; + } + if (HasError()) { + return true; + } + return false; + } + void CancelTasks() { + // This should only be called after an error has occurred, no other mechanism to cancel checkpoint tasks exists + // currently + D_ASSERT(error_manager.HasError()); + // Give every pending task the chance to cancel + WorkOnTasks(); + // Wait for all active tasks to realize they have been canceled + while (completed_tasks != total_tasks) { + } + } + + void WorkOnTasks() { + shared_ptr task_from_producer; + while (scheduler.GetTaskFromProducer(*token, task_from_producer)) { + auto res = task_from_producer->Execute(TaskExecutionMode::PROCESS_ALL); + (void)res; + D_ASSERT(res != TaskExecutionResult::TASK_BLOCKED); + task_from_producer.reset(); + } + } + + bool GetTask(shared_ptr &task) { + return scheduler.GetTaskFromProducer(*token, task); + } + +private: + TaskErrorManager error_manager; + unique_ptr token; + atomic completed_tasks; + atomic total_tasks; +}; + +class BaseCheckpointTask : public Task { +public: + explicit BaseCheckpointTask(CollectionCheckpointState &checkpoint_state) : checkpoint_state(checkpoint_state) { + } + + virtual void ExecuteTask() = 0; + TaskExecutionResult Execute(TaskExecutionMode mode) override { + (void)mode; + D_ASSERT(mode == TaskExecutionMode::PROCESS_ALL); + if (checkpoint_state.HasError()) { + checkpoint_state.FinishTask(); + return TaskExecutionResult::TASK_FINISHED; + } + try { + ExecuteTask(); + checkpoint_state.FinishTask(); + return TaskExecutionResult::TASK_FINISHED; + } catch (std::exception &ex) { + checkpoint_state.PushError(ErrorData(ex)); + } catch (...) { // LCOV_EXCL_START + checkpoint_state.PushError(ErrorData("Unknown exception during Checkpoint!")); + } // LCOV_EXCL_STOP + checkpoint_state.FinishTask(); + return TaskExecutionResult::TASK_ERROR; + } + +protected: + CollectionCheckpointState &checkpoint_state; +}; + +class CheckpointTask : public BaseCheckpointTask { +public: + CheckpointTask(CollectionCheckpointState &checkpoint_state, idx_t index) + : BaseCheckpointTask(checkpoint_state), index(index) { + } + + void ExecuteTask() override { + auto &entry = checkpoint_state.segments[index]; + auto &row_group = *entry.node; + checkpoint_state.writers[index] = checkpoint_state.writer.GetRowGroupWriter(*entry.node); + checkpoint_state.write_data[index] = row_group.WriteToDisk(*checkpoint_state.writers[index]); + } + +private: + idx_t index; +}; + +//===--------------------------------------------------------------------===// +// Vacuum +//===--------------------------------------------------------------------===// +struct VacuumState { + bool can_vacuum_deletes = false; + idx_t row_start = 0; + idx_t next_vacuum_idx = 0; + vector row_group_counts; +}; + +class VacuumTask : public BaseCheckpointTask { +public: + VacuumTask(CollectionCheckpointState &checkpoint_state, VacuumState &vacuum_state, idx_t segment_idx, + idx_t merge_count, idx_t target_count, idx_t merge_rows, idx_t row_start) + : BaseCheckpointTask(checkpoint_state), vacuum_state(vacuum_state), segment_idx(segment_idx), + merge_count(merge_count), target_count(target_count), merge_rows(merge_rows), row_start(row_start) { + } + + void ExecuteTask() override { + auto &collection = checkpoint_state.collection; + auto &types = collection.GetTypes(); + // create the new set of target row groups (initially empty) + vector> new_row_groups; + vector append_counts; + idx_t row_group_rows = merge_rows; + idx_t start = row_start; + for (idx_t target_idx = 0; target_idx < target_count; target_idx++) { + idx_t current_row_group_rows = MinValue(row_group_rows, Storage::ROW_GROUP_SIZE); + auto new_row_group = make_uniq(collection, start, current_row_group_rows); + new_row_group->InitializeEmpty(types); + new_row_groups.push_back(std::move(new_row_group)); + append_counts.push_back(0); + + row_group_rows -= current_row_group_rows; + start += current_row_group_rows; + } + + DataChunk scan_chunk; + scan_chunk.Initialize(Allocator::DefaultAllocator(), types); + + vector column_ids; + for (idx_t c = 0; c < types.size(); c++) { + column_ids.push_back(c); + } + + idx_t current_append_idx = 0; + + // fill the new row group with the merged rows + TableAppendState append_state; + new_row_groups[current_append_idx]->InitializeAppend(append_state.row_group_append_state); + + TableScanState scan_state; + scan_state.Initialize(column_ids); + scan_state.table_state.Initialize(types); + scan_state.table_state.max_row = idx_t(-1); + idx_t next_idx = segment_idx + merge_count; + for (idx_t c_idx = segment_idx; c_idx < next_idx; c_idx++) { + if (vacuum_state.row_group_counts[c_idx] == 0) { + continue; + } + auto ¤t_row_group = *checkpoint_state.segments[c_idx].node; + + current_row_group.InitializeScan(scan_state.table_state); + while (true) { + scan_chunk.Reset(); + + current_row_group.ScanCommitted(scan_state.table_state, scan_chunk, + TableScanType::TABLE_SCAN_COMMITTED_ROWS_OMIT_PERMANENTLY_DELETED); + if (scan_chunk.size() == 0) { + break; + } + idx_t remaining = scan_chunk.size(); + while (remaining > 0) { + idx_t append_count = + MinValue(remaining, Storage::ROW_GROUP_SIZE - append_counts[current_append_idx]); + new_row_groups[current_append_idx]->Append(append_state.row_group_append_state, scan_chunk, + append_count); + append_counts[current_append_idx] += append_count; + remaining -= append_count; + const bool row_group_full = append_counts[current_append_idx] == Storage::ROW_GROUP_SIZE; + const bool last_row_group = current_append_idx + 1 >= new_row_groups.size(); + if (remaining > 0 || (row_group_full && !last_row_group)) { + // move to the next row group + current_append_idx++; + new_row_groups[current_append_idx]->InitializeAppend(append_state.row_group_append_state); + // slice chunk for the next append + scan_chunk.Slice(append_count, remaining); + } + } + } + // drop the row group after merging + current_row_group.CommitDrop(); + checkpoint_state.segments[c_idx].node.reset(); + } + idx_t total_append_count = 0; + for (idx_t target_idx = 0; target_idx < target_count; target_idx++) { + auto &row_group = new_row_groups[target_idx]; + row_group->Verify(); + + // assign the new row group to the current segment + checkpoint_state.segments[segment_idx + target_idx].node = std::move(row_group); + total_append_count += append_counts[target_idx]; + } + if (total_append_count != merge_rows) { + throw InternalException("Mismatch in row group count vs verify count in RowGroupCollection::Checkpoint"); + } + // merging is complete - schedule checkpoint tasks of the target row groups + for (idx_t i = 0; i < target_count; i++) { + collection.ScheduleCheckpointTask(checkpoint_state, segment_idx + i); + } + } + +private: + VacuumState &vacuum_state; + idx_t segment_idx; + idx_t merge_count; + idx_t target_count; + idx_t merge_rows; + idx_t row_start; +}; + +void RowGroupCollection::InitializeVacuumState(VacuumState &state, vector> &segments) { + state.can_vacuum_deletes = info->indexes.Empty(); + if (!state.can_vacuum_deletes) { + return; + } + // obtain the set of committed row counts for each row group + state.row_group_counts.reserve(segments.size()); + for (auto &entry : segments) { + auto &row_group = *entry.node; + auto row_group_count = row_group.GetCommittedRowCount(); + if (row_group_count == 0) { + // empty row group - we can drop it entirely + row_group.CommitDrop(); + entry.node.reset(); + } + state.row_group_counts.push_back(row_group_count); + } +} + +bool RowGroupCollection::ScheduleVacuumTasks(CollectionCheckpointState &checkpoint_state, VacuumState &state, + idx_t segment_idx) { + static constexpr const idx_t MAX_MERGE_COUNT = 3; + + if (!state.can_vacuum_deletes) { + // we cannot vacuum deletes - cannot vacuum + return false; + } + if (segment_idx < state.next_vacuum_idx) { + // this segment is being vacuumed by a previously scheduled task + return true; + } + if (state.row_group_counts[segment_idx] == 0) { + // segment was already dropped - skip + D_ASSERT(!checkpoint_state.segments[segment_idx].node); + return false; + } + idx_t merge_rows; + idx_t next_idx; + idx_t merge_count; + idx_t target_count; + bool perform_merge = false; + // check if we can merge row groups adjacent to the current segment_idx + // we try merging row groups into batches of 1-3 row groups + // our goal is to reduce the amount of row groups + // hence we target_count should be less than merge_count for a marge to be worth it + // we greedily prefer to merge to the lowest target_count + // i.e. we prefer to merge 2 row groups into 1, than 3 row groups into 2 + for (target_count = 1; target_count <= MAX_MERGE_COUNT; target_count++) { + auto total_target_size = target_count * Storage::ROW_GROUP_SIZE; + merge_count = 0; + merge_rows = 0; + for (next_idx = segment_idx; next_idx < checkpoint_state.segments.size(); next_idx++) { + if (state.row_group_counts[next_idx] == 0) { + continue; + } + if (merge_rows + state.row_group_counts[next_idx] > total_target_size) { + // does not fit + break; + } + // we can merge this row group together with the other row group + merge_rows += state.row_group_counts[next_idx]; + merge_count++; + } + if (target_count < merge_count) { + // we can reduce "merge_count" row groups to "target_count" + // perform the merge at this level + perform_merge = true; + break; + } + } + if (!perform_merge) { + return false; + } + // schedule the vacuum task + auto vacuum_task = make_uniq(checkpoint_state, state, segment_idx, merge_count, target_count, + merge_rows, state.row_start); + checkpoint_state.ScheduleTask(std::move(vacuum_task)); + // skip vacuuming by the row groups we have merged + state.next_vacuum_idx = segment_idx + merge_count; + state.row_start += merge_rows; + return true; +} + //===--------------------------------------------------------------------===// // Checkpoint //===--------------------------------------------------------------------===// +void RowGroupCollection::ScheduleCheckpointTask(CollectionCheckpointState &checkpoint_state, idx_t segment_idx) { + auto checkpoint_task = make_uniq(checkpoint_state, segment_idx); + checkpoint_state.ScheduleTask(std::move(checkpoint_task)); +} + void RowGroupCollection::Checkpoint(TableDataWriter &writer, TableStatistics &global_stats) { - bool can_vacuum_deletes = info->indexes.Empty(); - idx_t start = this->row_start; auto segments = row_groups->MoveSegments(); auto l = row_groups->Lock(); - for (auto &entry : segments) { - auto &row_group = *entry.node; - if (can_vacuum_deletes && row_group.AllDeleted()) { - row_group.CommitDrop(); + + CollectionCheckpointState checkpoint_state(*this, writer, segments, global_stats); + + VacuumState vacuum_state; + InitializeVacuumState(vacuum_state, segments); + // schedule tasks + for (idx_t segment_idx = 0; segment_idx < segments.size(); segment_idx++) { + auto &entry = segments[segment_idx]; + auto vacuum_tasks = ScheduleVacuumTasks(checkpoint_state, vacuum_state, segment_idx); + if (vacuum_tasks) { + // vacuum tasks were scheduled - don't schedule a checkpoint task yet + continue; + } + if (!entry.node) { + // row group was vacuumed/dropped - skip continue; } - row_group.MoveToCollection(*this, start); - auto row_group_writer = writer.GetRowGroupWriter(row_group); - auto pointer = row_group.Checkpoint(*row_group_writer, global_stats); + // schedule a checkpoint task for this row group + entry.node->MoveToCollection(*this, vacuum_state.row_start); + ScheduleCheckpointTask(checkpoint_state, segment_idx); + vacuum_state.row_start += entry.node->count; + } + // all tasks have been scheduled - execute tasks until we are done + do { + shared_ptr task; + while (checkpoint_state.GetTask(task)) { + task->Execute(TaskExecutionMode::PROCESS_ALL); + task.reset(); + } + } while (!checkpoint_state.TasksFinished()); + // check if we ran into any errors while checkpointing + if (checkpoint_state.HasError()) { + // throw the error + checkpoint_state.CancelTasks(); + checkpoint_state.ThrowError(); + } + + // no errors - finalize the row groups + idx_t new_total_rows = 0; + for (idx_t segment_idx = 0; segment_idx < segments.size(); segment_idx++) { + auto &entry = segments[segment_idx]; + if (!entry.node) { + // row group was vacuumed/dropped - skip + continue; + } + auto &row_group = *entry.node; + auto row_group_writer = std::move(checkpoint_state.writers[segment_idx]); + if (!row_group_writer) { + throw InternalException("Missing row group writer for index %llu", segment_idx); + } + auto pointer = + row_group.Checkpoint(std::move(checkpoint_state.write_data[segment_idx]), *row_group_writer, global_stats); writer.AddRowGroup(std::move(pointer), std::move(row_group_writer)); row_groups->AppendSegment(l, std::move(entry.node)); - start += row_group.count; + new_total_rows += row_group.count; } - total_rows = start; + total_rows = new_total_rows; } //===--------------------------------------------------------------------===// diff --git a/src/storage/table/row_version_manager.cpp b/src/storage/table/row_version_manager.cpp index 945d0a3b1bfd..e1ffecb4b8ff 100644 --- a/src/storage/table/row_version_manager.cpp +++ b/src/storage/table/row_version_manager.cpp @@ -219,7 +219,8 @@ shared_ptr RowVersionManager::Deserialize(MetaBlockPointer de for (idx_t i = 0; i < chunk_count; i++) { idx_t vector_index = source.Read(); if (vector_index >= Storage::ROW_GROUP_VECTOR_COUNT) { - throw Exception("In DeserializeDeletes, vector_index is out of range for the row group. Corrupted file?"); + throw InternalException( + "In DeserializeDeletes, vector_index is out of range for the row group. Corrupted file?"); } version_info->vector_info[vector_index] = ChunkInfo::Read(source); } diff --git a/src/storage/table/scan_state.cpp b/src/storage/table/scan_state.cpp index a40a9b1f30d0..6931d1056fd3 100644 --- a/src/storage/table/scan_state.cpp +++ b/src/storage/table/scan_state.cpp @@ -67,6 +67,10 @@ AdaptiveFilter *CollectionScanState::GetAdaptiveFilter() { return parent.GetAdaptiveFilter(); } +TableScanOptions &CollectionScanState::GetOptions() { + return parent.options; +} + ParallelCollectionScanState::ParallelCollectionScanState() : collection(nullptr), current_row_group(nullptr), processed_rows(0) { } diff --git a/src/storage/table/standard_column_data.cpp b/src/storage/table/standard_column_data.cpp index e98ffb4e307e..9347e72e3fa6 100644 --- a/src/storage/table/standard_column_data.cpp +++ b/src/storage/table/standard_column_data.cpp @@ -105,6 +105,7 @@ idx_t StandardColumnData::Fetch(ColumnScanState &state, row_t row_id, Vector &re // fetch validity mask if (state.child_states.empty()) { ColumnScanState child_state; + child_state.scan_options = state.scan_options; state.child_states.push_back(std::move(child_state)); } auto scan_count = ColumnData::Fetch(state, row_id, result); @@ -189,8 +190,13 @@ StandardColumnData::CreateCheckpointState(RowGroup &row_group, PartialBlockManag unique_ptr StandardColumnData::Checkpoint(RowGroup &row_group, PartialBlockManager &partial_block_manager, ColumnCheckpointInfo &checkpoint_info) { - auto validity_state = validity.Checkpoint(row_group, partial_block_manager, checkpoint_info); + // we need to checkpoint the main column data first + // that is because the checkpointing of the main column data ALSO scans the validity data + // to prevent reading the validity data immediately after it is checkpointed we first checkpoint the main column + // this is necessary for concurrent checkpointing as due to the partial block manager checkpointed data might be + // flushed to disk by a different thread than the one that wrote it, causing a data race auto base_state = ColumnData::Checkpoint(row_group, partial_block_manager, checkpoint_info); + auto validity_state = validity.Checkpoint(row_group, partial_block_manager, checkpoint_info); auto &checkpoint_state = base_state->Cast(); checkpoint_state.validity_state = std::move(validity_state); return base_state; @@ -204,10 +210,10 @@ void StandardColumnData::CheckpointScan(ColumnSegment &segment, ColumnScanState validity.ScanCommittedRange(row_group_start, offset_in_row_group, count, scan_vector); } -void StandardColumnData::DeserializeColumn(Deserializer &deserializer) { - ColumnData::DeserializeColumn(deserializer); - deserializer.ReadObject(101, "validity", - [&](Deserializer &deserializer) { validity.DeserializeColumn(deserializer); }); +void StandardColumnData::DeserializeColumn(Deserializer &deserializer, BaseStatistics &target_stats) { + ColumnData::DeserializeColumn(deserializer, target_stats); + deserializer.ReadObject( + 101, "validity", [&](Deserializer &deserializer) { validity.DeserializeColumn(deserializer, target_stats); }); } void StandardColumnData::GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector col_path, diff --git a/src/storage/table/struct_column_data.cpp b/src/storage/table/struct_column_data.cpp index cc9b64320873..5fca4ddae306 100644 --- a/src/storage/table/struct_column_data.cpp +++ b/src/storage/table/struct_column_data.cpp @@ -5,6 +5,7 @@ #include "duckdb/storage/table/column_checkpoint_state.hpp" #include "duckdb/storage/table/append_state.hpp" #include "duckdb/storage/table/scan_state.hpp" +#include "duckdb/storage/table/update_segment.hpp" namespace duckdb { @@ -14,7 +15,7 @@ StructColumnData::StructColumnData(BlockManager &block_manager, DataTableInfo &i validity(block_manager, info, 0, start_row, *this) { D_ASSERT(type.InternalType() == PhysicalType::STRUCT); auto &child_types = StructType::GetChildTypes(type); - D_ASSERT(child_types.size() > 0); + D_ASSERT(!child_types.empty()); if (type.id() != LogicalTypeId::UNION && StructType::IsUnnamed(type)) { throw InvalidInputException("A table cannot be created from an unnamed struct"); } @@ -36,8 +37,25 @@ void StructColumnData::SetStart(idx_t new_start) { } bool StructColumnData::CheckZonemap(ColumnScanState &state, TableFilter &filter) { - // table filters are not supported yet for struct columns - return false; + if (!state.segment_checked) { + if (!state.current) { + return true; + } + state.segment_checked = true; + auto prune_result = filter.CheckStatistics(state.current->stats.statistics); + if (prune_result != FilterPropagateResult::FILTER_ALWAYS_FALSE) { + return true; + } + if (updates) { + auto update_stats = updates->GetStatistics(); + prune_result = filter.CheckStatistics(*update_stats); + return prune_result != FilterPropagateResult::FILTER_ALWAYS_FALSE; + } else { + return false; + } + } else { + return true; + } } idx_t StructColumnData::GetMaxEntry() { @@ -148,6 +166,7 @@ idx_t StructColumnData::Fetch(ColumnScanState &state, row_t row_id, Vector &resu // insert any child states that are required for (idx_t i = state.child_states.size(); i < child_entries.size() + 1; i++) { ColumnScanState child_state; + child_state.scan_options = state.scan_options; state.child_states.push_back(std::move(child_state)); } // fetch the validity state @@ -239,11 +258,11 @@ struct StructColumnCheckpointState : public ColumnCheckpointState { public: unique_ptr GetStatistics() override { - auto stats = StructStats::CreateEmpty(column_data.type); + D_ASSERT(global_stats); for (idx_t i = 0; i < child_states.size(); i++) { - StructStats::SetChildStats(stats, i, child_states[i]->GetStatistics()); + StructStats::SetChildStats(*global_stats, i, child_states[i]->GetStatistics()); } - return stats.ToUnique(); + return std::move(global_stats); } void WriteDataPointers(RowGroupWriter &writer, Serializer &serializer) override { @@ -273,12 +292,13 @@ unique_ptr StructColumnData::Checkpoint(RowGroup &row_gro return std::move(checkpoint_state); } -void StructColumnData::DeserializeColumn(Deserializer &deserializer) { - deserializer.ReadObject(101, "validity", - [&](Deserializer &deserializer) { validity.DeserializeColumn(deserializer); }); +void StructColumnData::DeserializeColumn(Deserializer &deserializer, BaseStatistics &target_stats) { + deserializer.ReadObject( + 101, "validity", [&](Deserializer &deserializer) { validity.DeserializeColumn(deserializer, target_stats); }); deserializer.ReadList(102, "sub_columns", [&](Deserializer::List &list, idx_t i) { - list.ReadObject([&](Deserializer &item) { sub_columns[i]->DeserializeColumn(item); }); + auto &child_stats = StructStats::GetChildStats(target_stats, i); + list.ReadObject([&](Deserializer &item) { sub_columns[i]->DeserializeColumn(item, child_stats); }); }); this->count = validity.count; diff --git a/src/storage/table/table_statistics.cpp b/src/storage/table/table_statistics.cpp index 4df780f5079a..5d3a00e106dd 100644 --- a/src/storage/table/table_statistics.cpp +++ b/src/storage/table/table_statistics.cpp @@ -2,6 +2,7 @@ #include "duckdb/storage/table/persistent_table_data.hpp" #include "duckdb/common/serializer/serializer.hpp" #include "duckdb/common/serializer/deserializer.hpp" +#include "duckdb/execution/reservoir_sample.hpp" namespace duckdb { @@ -69,7 +70,10 @@ void TableStatistics::MergeStats(TableStatistics &other) { auto l = GetLock(); D_ASSERT(column_stats.size() == other.column_stats.size()); for (idx_t i = 0; i < column_stats.size(); i++) { - column_stats[i]->Merge(*other.column_stats[i]); + if (column_stats[i]) { + D_ASSERT(other.column_stats[i]); + column_stats[i]->Merge(*other.column_stats[i]); + } } } @@ -103,6 +107,7 @@ void TableStatistics::CopyStats(TableStatistics &other) { void TableStatistics::Serialize(Serializer &serializer) const { serializer.WriteProperty(100, "column_stats", column_stats); + serializer.WritePropertyWithDefault>(101, "table_sample", table_sample, nullptr); } void TableStatistics::Deserialize(Deserializer &deserializer, ColumnList &columns) { @@ -120,6 +125,7 @@ void TableStatistics::Deserialize(Deserializer &deserializer, ColumnList &column deserializer.Unset(); }); + table_sample = deserializer.ReadPropertyWithDefault>(101, "sample", nullptr); } unique_ptr TableStatistics::GetLock() { diff --git a/src/storage/table/update_segment.cpp b/src/storage/table/update_segment.cpp index 3e1cab7d4791..1e1039961867 100644 --- a/src/storage/table/update_segment.cpp +++ b/src/storage/table/update_segment.cpp @@ -6,7 +6,7 @@ #include "duckdb/transaction/duck_transaction.hpp" #include "duckdb/transaction/update_info.hpp" #include "duckdb/common/printer.hpp" - +#include "duckdb/common/exception/transaction_exception.hpp" #include namespace duckdb { @@ -143,6 +143,8 @@ static UpdateSegment::fetch_update_function_t GetFetchUpdateFunction(PhysicalTyp return UpdateMergeFetch; case PhysicalType::INT128: return UpdateMergeFetch; + case PhysicalType::UINT128: + return UpdateMergeFetch; case PhysicalType::FLOAT: return UpdateMergeFetch; case PhysicalType::DOUBLE: @@ -208,6 +210,8 @@ static UpdateSegment::fetch_committed_function_t GetFetchCommittedFunction(Physi return TemplatedFetchCommitted; case PhysicalType::INT128: return TemplatedFetchCommitted; + case PhysicalType::UINT128: + return TemplatedFetchCommitted; case PhysicalType::FLOAT: return TemplatedFetchCommitted; case PhysicalType::DOUBLE: @@ -304,6 +308,8 @@ static UpdateSegment::fetch_committed_range_function_t GetFetchCommittedRangeFun return TemplatedFetchCommittedRange; case PhysicalType::INT128: return TemplatedFetchCommittedRange; + case PhysicalType::UINT128: + return TemplatedFetchCommittedRange; case PhysicalType::FLOAT: return TemplatedFetchCommittedRange; case PhysicalType::DOUBLE: @@ -406,6 +412,8 @@ static UpdateSegment::fetch_row_function_t GetFetchRowFunction(PhysicalType type return TemplatedFetchRow; case PhysicalType::INT128: return TemplatedFetchRow; + case PhysicalType::UINT128: + return TemplatedFetchRow; case PhysicalType::FLOAT: return TemplatedFetchRow; case PhysicalType::DOUBLE: @@ -473,6 +481,8 @@ static UpdateSegment::rollback_update_function_t GetRollbackUpdateFunction(Physi return RollbackUpdate; case PhysicalType::INT128: return RollbackUpdate; + case PhysicalType::UINT128: + return RollbackUpdate; case PhysicalType::FLOAT: return RollbackUpdate; case PhysicalType::DOUBLE: @@ -660,6 +670,8 @@ static UpdateSegment::initialize_update_function_t GetInitializeUpdateFunction(P return InitializeUpdateData; case PhysicalType::INT128: return InitializeUpdateData; + case PhysicalType::UINT128: + return InitializeUpdateData; case PhysicalType::FLOAT: return InitializeUpdateData; case PhysicalType::DOUBLE: @@ -867,6 +879,8 @@ static UpdateSegment::merge_update_function_t GetMergeUpdateFunction(PhysicalTyp return MergeUpdateLoop; case PhysicalType::INT128: return MergeUpdateLoop; + case PhysicalType::UINT128: + return MergeUpdateLoop; case PhysicalType::FLOAT: return MergeUpdateLoop; case PhysicalType::DOUBLE: @@ -895,7 +909,7 @@ idx_t UpdateValidityStatistics(UpdateSegment *segment, SegmentStatistics &stats, if (!mask.AllValid() && !validity.CanHaveNull()) { for (idx_t i = 0; i < count; i++) { if (!mask.RowIsValid(i)) { - validity.SetHasNull(); + validity.SetHasNullFast(); break; } } @@ -981,6 +995,8 @@ UpdateSegment::statistics_update_function_t GetStatisticsUpdateFunction(Physical return TemplatedUpdateNumericStatistics; case PhysicalType::INT128: return TemplatedUpdateNumericStatistics; + case PhysicalType::UINT128: + return TemplatedUpdateNumericStatistics; case PhysicalType::FLOAT: return TemplatedUpdateNumericStatistics; case PhysicalType::DOUBLE: diff --git a/src/storage/table_index_list.cpp b/src/storage/table_index_list.cpp index 3223f5e30cae..ef14073f302b 100644 --- a/src/storage/table_index_list.cpp +++ b/src/storage/table_index_list.cpp @@ -1,7 +1,12 @@ #include "duckdb/storage/table/table_index_list.hpp" + #include "duckdb/storage/data_table.hpp" #include "duckdb/common/types/conflict_manager.hpp" -#include "duckdb/execution/index/art/art.hpp" +#include "duckdb/execution/index/unknown_index.hpp" +#include "duckdb/execution/index/index_type_set.hpp" +#include "duckdb/storage/table/data_table_info.hpp" +#include "duckdb/main/database.hpp" +#include "duckdb/main/config.hpp" namespace duckdb { void TableIndexList::AddIndex(unique_ptr index) { @@ -10,18 +15,76 @@ void TableIndexList::AddIndex(unique_ptr index) { indexes.push_back(std::move(index)); } -void TableIndexList::RemoveIndex(Index &index) { +void TableIndexList::RemoveIndex(const string &name) { lock_guard lock(indexes_lock); for (idx_t index_idx = 0; index_idx < indexes.size(); index_idx++) { auto &index_entry = indexes[index_idx]; - if (index_entry.get() == &index) { + if (index_entry->name == name) { indexes.erase(indexes.begin() + index_idx); break; } } } +void TableIndexList::CommitDrop(const string &name) { + lock_guard lock(indexes_lock); + + for (idx_t index_idx = 0; index_idx < indexes.size(); index_idx++) { + auto &index_entry = indexes[index_idx]; + if (index_entry->name == name) { + index_entry->CommitDrop(); + break; + } + } +} + +bool TableIndexList::NameIsUnique(const string &name) { + lock_guard lock(indexes_lock); + + // only cover PK, FK, and UNIQUE, which are not (yet) catalog entries + for (idx_t index_idx = 0; index_idx < indexes.size(); index_idx++) { + auto &index_entry = indexes[index_idx]; + if (index_entry->IsPrimary() || index_entry->IsForeign() || index_entry->IsUnique()) { + if (index_entry->name == name) { + return false; + } + } + } + + return true; +} + +void TableIndexList::InitializeIndexes(ClientContext &context, DataTableInfo &table_info) { + lock_guard lock(indexes_lock); + for (auto &index : indexes) { + if (!index->IsUnknown()) { + continue; + } + + auto &unknown_index = index->Cast(); + auto &index_type_name = unknown_index.GetIndexType(); + + // Do we know the type of this index now? + auto index_type = context.db->config.GetIndexTypes().FindByName(index_type_name); + if (!index_type) { + continue; + } + + // Swap this with a new index + auto &create_info = unknown_index.GetCreateInfo(); + auto &storage_info = unknown_index.GetStorageInfo(); + + CreateIndexInput input(*table_info.table_io_manager, table_info.db, create_info.constraint_type, + create_info.index_name, create_info.column_ids, unknown_index.unbound_expressions, + storage_info, create_info.options); + + auto index_instance = index_type->create_instance(input); + + index = std::move(index_instance); + } +} + bool TableIndexList::Empty() { lock_guard lock(indexes_lock); return indexes.empty(); @@ -79,12 +142,15 @@ vector TableIndexList::GetRequiredColumns() { return result; } -vector TableIndexList::SerializeIndexes(duckdb::MetadataWriter &writer) { - vector blocks_info; +vector TableIndexList::GetStorageInfos() { + + vector index_storage_infos; for (auto &index : indexes) { - blocks_info.emplace_back(index->Serialize(writer)); + auto index_storage_info = index->GetStorageInfo(false); + D_ASSERT(index_storage_info.IsValid() && !index_storage_info.name.empty()); + index_storage_infos.push_back(index_storage_info); } - return blocks_info; + return index_storage_infos; } } // namespace duckdb diff --git a/src/storage/temporary_memory_manager.cpp b/src/storage/temporary_memory_manager.cpp new file mode 100644 index 000000000000..a6d07b9bf635 --- /dev/null +++ b/src/storage/temporary_memory_manager.cpp @@ -0,0 +1,148 @@ +#include "duckdb/storage/temporary_memory_manager.hpp" + +#include "duckdb/main/client_context.hpp" +#include "duckdb/parallel/task_scheduler.hpp" +#include "duckdb/storage/buffer_manager.hpp" + +namespace duckdb { + +TemporaryMemoryState::TemporaryMemoryState(TemporaryMemoryManager &temporary_memory_manager_p, + idx_t minimum_reservation_p) + : temporary_memory_manager(temporary_memory_manager_p), remaining_size(0), + minimum_reservation(minimum_reservation_p), reservation(0) { +} + +TemporaryMemoryState::~TemporaryMemoryState() { + temporary_memory_manager.Unregister(*this); +} + +void TemporaryMemoryState::SetRemainingSize(ClientContext &context, idx_t new_remaining_size) { + auto guard = temporary_memory_manager.Lock(); + temporary_memory_manager.SetRemainingSize(*this, new_remaining_size); + temporary_memory_manager.UpdateState(context, *this); +} + +idx_t TemporaryMemoryState::GetRemainingSize() const { + return remaining_size; +} + +void TemporaryMemoryState::SetMinimumReservation(idx_t new_minimum_reservation) { + minimum_reservation = new_minimum_reservation; +} + +idx_t TemporaryMemoryState::GetReservation() const { + return reservation; +} + +TemporaryMemoryManager::TemporaryMemoryManager() : reservation(0), remaining_size(0) { +} + +unique_lock TemporaryMemoryManager::Lock() { + return unique_lock(lock); +} + +void TemporaryMemoryManager::UpdateConfiguration(ClientContext &context) { + auto &buffer_manager = BufferManager::GetBufferManager(context); + auto &task_scheduler = TaskScheduler::GetScheduler(context); + + memory_limit = MAXIMUM_MEMORY_LIMIT_RATIO * double(buffer_manager.GetMaxMemory()); + has_temporary_directory = buffer_manager.HasTemporaryDirectory(); + num_threads = task_scheduler.NumberOfThreads(); + query_max_memory = buffer_manager.GetQueryMaxMemory(); +} + +TemporaryMemoryManager &TemporaryMemoryManager::Get(ClientContext &context) { + return BufferManager::GetBufferManager(context).GetTemporaryMemoryManager(); +} + +unique_ptr TemporaryMemoryManager::Register(ClientContext &context) { + auto guard = Lock(); + UpdateConfiguration(context); + + auto minimum_reservation = MinValue(num_threads * MINIMUM_RESERVATION_PER_STATE_PER_THREAD, + memory_limit / MINIMUM_RESERVATION_MEMORY_LIMIT_DIVISOR); + auto result = unique_ptr(new TemporaryMemoryState(*this, minimum_reservation)); + SetRemainingSize(*result, result->minimum_reservation); + SetReservation(*result, result->minimum_reservation); + active_states.insert(*result); + + Verify(); + return result; +} + +void TemporaryMemoryManager::UpdateState(ClientContext &context, TemporaryMemoryState &temporary_memory_state) { + UpdateConfiguration(context); + + if (context.config.force_external) { + // We're forcing external processing. Give it the minimum + SetReservation(temporary_memory_state, temporary_memory_state.minimum_reservation); + } else if (!has_temporary_directory) { + // We cannot offload, so we cannot limit memory usage. Set reservation equal to the remaining size + SetReservation(temporary_memory_state, temporary_memory_state.remaining_size); + } else if (reservation - temporary_memory_state.reservation >= memory_limit) { + // We overshot. Set reservation equal to the minimum + SetReservation(temporary_memory_state, temporary_memory_state.minimum_reservation); + } else { + // The lower bound for the reservation of this state is its minimum reservation + auto &lower_bound = temporary_memory_state.minimum_reservation; + + // The upper bound for the reservation of this state is the minimum of: + // 1. Remaining size of the state + // 2. The max memory per query + // 3. MAXIMUM_FREE_MEMORY_RATIO * free memory + auto upper_bound = MinValue(temporary_memory_state.remaining_size, query_max_memory); + auto free_memory = memory_limit - (reservation - temporary_memory_state.reservation); + upper_bound = MinValue(upper_bound, MAXIMUM_FREE_MEMORY_RATIO * free_memory); + + if (remaining_size > memory_limit) { + // We're processing more data than fits in memory, so we must further limit memory usage. + // The upper bound for the reservation of this state is now also the minimum of: + // 3. The ratio of the remaining size of this state and the total remaining size * memory limit + auto ratio_of_remaining = double(temporary_memory_state.remaining_size) / double(remaining_size); + upper_bound = MinValue(upper_bound, ratio_of_remaining * memory_limit); + } + + SetReservation(temporary_memory_state, MaxValue(lower_bound, upper_bound)); + } + + Verify(); +} + +void TemporaryMemoryManager::SetRemainingSize(TemporaryMemoryState &temporary_memory_state, idx_t new_remaining_size) { + D_ASSERT(this->remaining_size >= temporary_memory_state.remaining_size); + this->remaining_size -= temporary_memory_state.remaining_size; + temporary_memory_state.remaining_size = new_remaining_size; + this->remaining_size += temporary_memory_state.remaining_size; +} + +void TemporaryMemoryManager::SetReservation(TemporaryMemoryState &temporary_memory_state, idx_t new_reservation) { + D_ASSERT(this->reservation >= temporary_memory_state.reservation); + this->reservation -= temporary_memory_state.reservation; + temporary_memory_state.reservation = new_reservation; + this->reservation += temporary_memory_state.reservation; +} + +void TemporaryMemoryManager::Unregister(TemporaryMemoryState &temporary_memory_state) { + auto guard = Lock(); + + SetReservation(temporary_memory_state, 0); + SetRemainingSize(temporary_memory_state, 0); + active_states.erase(temporary_memory_state); + + Verify(); +} + +void TemporaryMemoryManager::Verify() const { +#ifdef DEBUG + idx_t total_reservation = 0; + idx_t total_remaining_size = 0; + for (auto &temporary_memory_state : active_states) { + total_reservation += temporary_memory_state.get().reservation; + total_remaining_size += temporary_memory_state.get().remaining_size; + } + D_ASSERT(total_reservation == this->reservation); + D_ASSERT(total_remaining_size == this->remaining_size); +#endif +} + +} // namespace duckdb diff --git a/src/storage/wal_replay.cpp b/src/storage/wal_replay.cpp index 7e700e390720..e66f606032da 100644 --- a/src/storage/wal_replay.cpp +++ b/src/storage/wal_replay.cpp @@ -1,10 +1,14 @@ +#include "duckdb/catalog/catalog_entry/duck_index_entry.hpp" +#include "duckdb/catalog/catalog_entry/duck_table_entry.hpp" #include "duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/view_catalog_entry.hpp" #include "duckdb/common/printer.hpp" +#include "duckdb/common/serializer/binary_deserializer.hpp" #include "duckdb/common/serializer/buffered_file_reader.hpp" #include "duckdb/common/string_util.hpp" +#include "duckdb/main/attached_database.hpp" #include "duckdb/main/client_context.hpp" #include "duckdb/main/connection.hpp" #include "duckdb/main/database.hpp" @@ -13,17 +17,147 @@ #include "duckdb/parser/parsed_data/create_view_info.hpp" #include "duckdb/parser/parsed_data/drop_info.hpp" #include "duckdb/planner/binder.hpp" +#include "duckdb/planner/expression_binder/index_binder.hpp" #include "duckdb/planner/parsed_data/bound_create_table_info.hpp" -#include "duckdb/storage/data_table.hpp" -#include "duckdb/storage/write_ahead_log.hpp" #include "duckdb/storage/storage_manager.hpp" -#include "duckdb/main/attached_database.hpp" +#include "duckdb/storage/write_ahead_log.hpp" +#include "duckdb/common/serializer/memory_stream.hpp" +#include "duckdb/common/checksum.hpp" +#include "duckdb/execution/index/index_type_set.hpp" #include "duckdb/execution/index/art/art.hpp" -#include "duckdb/catalog/catalog_entry/duck_index_entry.hpp" -#include "duckdb/common/serializer/binary_deserializer.hpp" namespace duckdb { +class ReplayState { +public: + ReplayState(AttachedDatabase &db, ClientContext &context) : db(db), context(context), catalog(db.GetCatalog()) { + } + + AttachedDatabase &db; + ClientContext &context; + Catalog &catalog; + optional_ptr current_table; + MetaBlockPointer checkpoint_id; + idx_t wal_version = 1; +}; + +class WriteAheadLogDeserializer { +public: + WriteAheadLogDeserializer(ReplayState &state_p, BufferedFileReader &stream_p, bool deserialize_only = false) + : state(state_p), db(state.db), context(state.context), catalog(state.catalog), data(nullptr), + stream(nullptr, 0), deserializer(stream_p), deserialize_only(deserialize_only) { + } + WriteAheadLogDeserializer(ReplayState &state_p, unique_ptr data_p, idx_t size, + bool deserialize_only = false) + : state(state_p), db(state.db), context(state.context), catalog(state.catalog), data(std::move(data_p)), + stream(data.get(), size), deserializer(stream), deserialize_only(deserialize_only) { + } + + static WriteAheadLogDeserializer Open(ReplayState &state_p, BufferedFileReader &stream, + bool deserialize_only = false) { + if (state_p.wal_version == 1) { + // old WAL versions do not have checksums + return WriteAheadLogDeserializer(state_p, stream, deserialize_only); + } + if (state_p.wal_version != 2) { + throw IOException("Failed to read WAL of version %llu - can only read version 1 and 2", + state_p.wal_version); + } + // read the checksum and size + auto size = stream.Read(); + auto stored_checksum = stream.Read(); + auto offset = stream.CurrentOffset(); + auto file_size = stream.FileSize(); + + if (offset + size > file_size) { + throw SerializationException( + "Corrupt WAL file: entry size exceeded remaining data in file at byte position %llu " + "(found entry with size %llu bytes, file size %llu bytes)", + offset, size, file_size); + } + + // allocate a buffer and read data into the buffer + auto buffer = unique_ptr(new data_t[size]); + stream.ReadData(buffer.get(), size); + + // compute and verify the checksum + auto computed_checksum = Checksum(buffer.get(), size); + if (stored_checksum != computed_checksum) { + throw SerializationException( + "Corrupt WAL file: entry at byte position %llu computed checksum %llu does not match " + "stored checksum %llu", + offset, computed_checksum, stored_checksum); + } + return WriteAheadLogDeserializer(state_p, std::move(buffer), size, deserialize_only); + } + + bool ReplayEntry() { + deserializer.Begin(); + auto wal_type = deserializer.ReadProperty(100, "wal_type"); + if (wal_type == WALType::WAL_FLUSH) { + deserializer.End(); + return true; + } + ReplayEntry(wal_type); + deserializer.End(); + return false; + } + + bool DeserializeOnly() { + return deserialize_only; + } + +protected: + void ReplayEntry(WALType wal_type); + + void ReplayVersion(); + + void ReplayCreateTable(); + void ReplayDropTable(); + void ReplayAlter(); + + void ReplayCreateView(); + void ReplayDropView(); + + void ReplayCreateSchema(); + void ReplayDropSchema(); + + void ReplayCreateType(); + void ReplayDropType(); + + void ReplayCreateSequence(); + void ReplayDropSequence(); + void ReplaySequenceValue(); + + void ReplayCreateMacro(); + void ReplayDropMacro(); + + void ReplayCreateTableMacro(); + void ReplayDropTableMacro(); + + void ReplayCreateIndex(); + void ReplayDropIndex(); + + void ReplayUseTable(); + void ReplayInsert(); + void ReplayDelete(); + void ReplayUpdate(); + void ReplayCheckpoint(); + +private: + ReplayState &state; + AttachedDatabase &db; + ClientContext &context; + Catalog &catalog; + unique_ptr data; + MemoryStream stream; + BinaryDeserializer deserializer; + bool deserialize_only; +}; + +//===--------------------------------------------------------------------===// +// Replay +//===--------------------------------------------------------------------===// bool WriteAheadLog::Replay(AttachedDatabase &database, string &path) { Connection con(database.GetDatabase()); auto initial_source = make_uniq(FileSystem::Get(database), path.c_str()); @@ -37,32 +171,27 @@ bool WriteAheadLog::Replay(AttachedDatabase &database, string &path) { // first deserialize the WAL to look for a checkpoint flag // if there is a checkpoint flag, we might have already flushed the contents of the WAL to disk ReplayState checkpoint_state(database, *con.context); - checkpoint_state.deserialize_only = true; try { while (true) { - // read the current entry - BinaryDeserializer deserializer(*initial_source); - deserializer.Begin(); - auto entry_type = deserializer.ReadProperty(100, "wal_type"); - if (entry_type == WALType::WAL_FLUSH) { - deserializer.End(); + // read the current entry (deserialize only) + auto deserializer = WriteAheadLogDeserializer::Open(checkpoint_state, *initial_source, true); + if (deserializer.ReplayEntry()) { // check if the file is exhausted if (initial_source->Finished()) { // we finished reading the file: break break; } - } else { - // replay the entry - checkpoint_state.ReplayEntry(entry_type, deserializer); - deserializer.End(); } } - } catch (SerializationException &ex) { // LCOV_EXCL_START - // serialization exception - torn WAL - // continue reading - } catch (std::exception &ex) { - Printer::PrintF("Exception in WAL playback during initial read: %s\n", ex.what()); - return false; + } catch (std::exception &ex) { // LCOV_EXCL_START + ErrorData error(ex); + if (error.Type() == ExceptionType::SERIALIZATION) { + // serialization exception - torn WAL + // continue reading + } else { + Printer::PrintF("Exception in WAL playback during initial read: %s\n", error.RawMessage()); + return false; + } } catch (...) { Printer::Print("Unknown Exception in WAL playback during initial read"); return false; @@ -89,11 +218,8 @@ bool WriteAheadLog::Replay(AttachedDatabase &database, string &path) { try { while (true) { // read the current entry - BinaryDeserializer deserializer(reader); - deserializer.Begin(); - auto entry_type = deserializer.ReadProperty(100, "wal_type"); - if (entry_type == WALType::WAL_FLUSH) { - deserializer.End(); + auto deserializer = WriteAheadLogDeserializer::Open(state, reader); + if (deserializer.ReplayEntry()) { con.Commit(); // check if the file is exhausted if (reader.Finished()) { @@ -101,19 +227,15 @@ bool WriteAheadLog::Replay(AttachedDatabase &database, string &path) { break; } con.BeginTransaction(); - } else { - // replay the entry - state.ReplayEntry(entry_type, deserializer); - deserializer.End(); } } - } catch (SerializationException &ex) { // LCOV_EXCL_START - // serialization error during WAL replay: rollback - con.Rollback(); - } catch (std::exception &ex) { - // FIXME: this should report a proper warning in the connection - Printer::PrintF("Exception in WAL playback: %s\n", ex.what()); - // exception thrown in WAL replay: rollback + } catch (std::exception &ex) { // LCOV_EXCL_START + ErrorData error(ex); + if (error.Type() != ExceptionType::SERIALIZATION) { + // FIXME: this should report a proper warning in the connection + Printer::PrintF("Exception in WAL playback: %s\n", error.RawMessage()); + // exception thrown in WAL replay: rollback + } con.Rollback(); } catch (...) { Printer::Print("Unknown Exception in WAL playback: %s\n"); @@ -126,88 +248,98 @@ bool WriteAheadLog::Replay(AttachedDatabase &database, string &path) { //===--------------------------------------------------------------------===// // Replay Entries //===--------------------------------------------------------------------===// -void ReplayState::ReplayEntry(WALType entry_type, BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayEntry(WALType entry_type) { switch (entry_type) { + case WALType::WAL_VERSION: + ReplayVersion(); + break; case WALType::CREATE_TABLE: - ReplayCreateTable(deserializer); + ReplayCreateTable(); break; case WALType::DROP_TABLE: - ReplayDropTable(deserializer); + ReplayDropTable(); break; case WALType::ALTER_INFO: - ReplayAlter(deserializer); + ReplayAlter(); break; case WALType::CREATE_VIEW: - ReplayCreateView(deserializer); + ReplayCreateView(); break; case WALType::DROP_VIEW: - ReplayDropView(deserializer); + ReplayDropView(); break; case WALType::CREATE_SCHEMA: - ReplayCreateSchema(deserializer); + ReplayCreateSchema(); break; case WALType::DROP_SCHEMA: - ReplayDropSchema(deserializer); + ReplayDropSchema(); break; case WALType::CREATE_SEQUENCE: - ReplayCreateSequence(deserializer); + ReplayCreateSequence(); break; case WALType::DROP_SEQUENCE: - ReplayDropSequence(deserializer); + ReplayDropSequence(); break; case WALType::SEQUENCE_VALUE: - ReplaySequenceValue(deserializer); + ReplaySequenceValue(); break; case WALType::CREATE_MACRO: - ReplayCreateMacro(deserializer); + ReplayCreateMacro(); break; case WALType::DROP_MACRO: - ReplayDropMacro(deserializer); + ReplayDropMacro(); break; case WALType::CREATE_TABLE_MACRO: - ReplayCreateTableMacro(deserializer); + ReplayCreateTableMacro(); break; case WALType::DROP_TABLE_MACRO: - ReplayDropTableMacro(deserializer); + ReplayDropTableMacro(); break; case WALType::CREATE_INDEX: - ReplayCreateIndex(deserializer); + ReplayCreateIndex(); break; case WALType::DROP_INDEX: - ReplayDropIndex(deserializer); + ReplayDropIndex(); break; case WALType::USE_TABLE: - ReplayUseTable(deserializer); + ReplayUseTable(); break; case WALType::INSERT_TUPLE: - ReplayInsert(deserializer); + ReplayInsert(); break; case WALType::DELETE_TUPLE: - ReplayDelete(deserializer); + ReplayDelete(); break; case WALType::UPDATE_TUPLE: - ReplayUpdate(deserializer); + ReplayUpdate(); break; case WALType::CHECKPOINT: - ReplayCheckpoint(deserializer); + ReplayCheckpoint(); break; case WALType::CREATE_TYPE: - ReplayCreateType(deserializer); + ReplayCreateType(); break; case WALType::DROP_TYPE: - ReplayDropType(deserializer); + ReplayDropType(); break; default: throw InternalException("Invalid WAL entry type!"); } } +//===--------------------------------------------------------------------===// +// Replay Version +//===--------------------------------------------------------------------===// +void WriteAheadLogDeserializer::ReplayVersion() { + state.wal_version = deserializer.ReadProperty(101, "version"); +} + //===--------------------------------------------------------------------===// // Replay Table //===--------------------------------------------------------------------===// -void ReplayState::ReplayCreateTable(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayCreateTable() { auto info = deserializer.ReadProperty>(101, "table"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } // bind the constraints to the table again @@ -218,25 +350,23 @@ void ReplayState::ReplayCreateTable(BinaryDeserializer &deserializer) { catalog.CreateTable(context, *bound_info); } -void ReplayState::ReplayDropTable(BinaryDeserializer &deserializer) { - +void WriteAheadLogDeserializer::ReplayDropTable() { DropInfo info; info.type = CatalogType::TABLE_ENTRY; info.schema = deserializer.ReadProperty(101, "schema"); info.name = deserializer.ReadProperty(102, "name"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } catalog.DropEntry(context, info); } -void ReplayState::ReplayAlter(BinaryDeserializer &deserializer) { - +void WriteAheadLogDeserializer::ReplayAlter() { auto info = deserializer.ReadProperty>(101, "info"); auto &alter_info = info->Cast(); - if (deserialize_only) { + if (DeserializeOnly()) { return; } catalog.Alter(context, alter_info); @@ -245,20 +375,20 @@ void ReplayState::ReplayAlter(BinaryDeserializer &deserializer) { //===--------------------------------------------------------------------===// // Replay View //===--------------------------------------------------------------------===// -void ReplayState::ReplayCreateView(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayCreateView() { auto entry = deserializer.ReadProperty>(101, "view"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } catalog.CreateView(context, entry->Cast()); } -void ReplayState::ReplayDropView(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayDropView() { DropInfo info; info.type = CatalogType::VIEW_ENTRY; info.schema = deserializer.ReadProperty(101, "schema"); info.name = deserializer.ReadProperty(102, "name"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } catalog.DropEntry(context, info); @@ -267,22 +397,22 @@ void ReplayState::ReplayDropView(BinaryDeserializer &deserializer) { //===--------------------------------------------------------------------===// // Replay Schema //===--------------------------------------------------------------------===// -void ReplayState::ReplayCreateSchema(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayCreateSchema() { CreateSchemaInfo info; info.schema = deserializer.ReadProperty(101, "schema"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } catalog.CreateSchema(context, info); } -void ReplayState::ReplayDropSchema(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayDropSchema() { DropInfo info; info.type = CatalogType::SCHEMA_ENTRY; info.name = deserializer.ReadProperty(101, "schema"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } @@ -292,19 +422,19 @@ void ReplayState::ReplayDropSchema(BinaryDeserializer &deserializer) { //===--------------------------------------------------------------------===// // Replay Custom Type //===--------------------------------------------------------------------===// -void ReplayState::ReplayCreateType(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayCreateType() { auto info = deserializer.ReadProperty>(101, "type"); info->on_conflict = OnCreateConflict::IGNORE_ON_CONFLICT; catalog.CreateType(context, info->Cast()); } -void ReplayState::ReplayDropType(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayDropType() { DropInfo info; info.type = CatalogType::TYPE_ENTRY; info.schema = deserializer.ReadProperty(101, "schema"); info.name = deserializer.ReadProperty(102, "name"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } @@ -314,62 +444,59 @@ void ReplayState::ReplayDropType(BinaryDeserializer &deserializer) { //===--------------------------------------------------------------------===// // Replay Sequence //===--------------------------------------------------------------------===// -void ReplayState::ReplayCreateSequence(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayCreateSequence() { auto entry = deserializer.ReadProperty>(101, "sequence"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } catalog.CreateSequence(context, entry->Cast()); } -void ReplayState::ReplayDropSequence(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayDropSequence() { DropInfo info; info.type = CatalogType::SEQUENCE_ENTRY; info.schema = deserializer.ReadProperty(101, "schema"); info.name = deserializer.ReadProperty(102, "name"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } catalog.DropEntry(context, info); } -void ReplayState::ReplaySequenceValue(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplaySequenceValue() { auto schema = deserializer.ReadProperty(101, "schema"); auto name = deserializer.ReadProperty(102, "name"); auto usage_count = deserializer.ReadProperty(103, "usage_count"); auto counter = deserializer.ReadProperty(104, "counter"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } // fetch the sequence from the catalog auto &seq = catalog.GetEntry(context, schema, name); - if (usage_count > seq.usage_count) { - seq.usage_count = usage_count; - seq.counter = counter; - } + seq.ReplayValue(usage_count, counter); } //===--------------------------------------------------------------------===// // Replay Macro //===--------------------------------------------------------------------===// -void ReplayState::ReplayCreateMacro(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayCreateMacro() { auto entry = deserializer.ReadProperty>(101, "macro"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } catalog.CreateFunction(context, entry->Cast()); } -void ReplayState::ReplayDropMacro(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayDropMacro() { DropInfo info; info.type = CatalogType::MACRO_ENTRY; info.schema = deserializer.ReadProperty(101, "schema"); info.name = deserializer.ReadProperty(102, "name"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } @@ -379,20 +506,20 @@ void ReplayState::ReplayDropMacro(BinaryDeserializer &deserializer) { //===--------------------------------------------------------------------===// // Replay Table Macro //===--------------------------------------------------------------------===// -void ReplayState::ReplayCreateTableMacro(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayCreateTableMacro() { auto entry = deserializer.ReadProperty>(101, "table_macro"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } catalog.CreateFunction(context, entry->Cast()); } -void ReplayState::ReplayDropTableMacro(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayDropTableMacro() { DropInfo info; info.type = CatalogType::TABLE_MACRO_ENTRY; info.schema = deserializer.ReadProperty(101, "schema"); info.name = deserializer.ReadProperty(102, "name"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } @@ -402,56 +529,106 @@ void ReplayState::ReplayDropTableMacro(BinaryDeserializer &deserializer) { //===--------------------------------------------------------------------===// // Replay Index //===--------------------------------------------------------------------===// -void ReplayState::ReplayCreateIndex(BinaryDeserializer &deserializer) { - auto info = deserializer.ReadProperty>(101, "index"); - if (deserialize_only) { +void WriteAheadLogDeserializer::ReplayCreateIndex() { + auto create_info = deserializer.ReadProperty>(101, "index_catalog_entry"); + auto index_info = deserializer.ReadProperty(102, "index_storage_info"); + D_ASSERT(index_info.IsValid() && !index_info.name.empty()); + + auto &storage_manager = db.GetStorageManager(); + auto &single_file_sm = storage_manager.Cast(); + auto &block_manager = single_file_sm.block_manager; + auto &buffer_manager = block_manager->buffer_manager; + + deserializer.ReadList(103, "index_storage", [&](Deserializer::List &list, idx_t i) { + auto &data_info = index_info.allocator_infos[i]; + + // read the data into buffer handles and convert them to blocks on disk + // then, update the block pointer + for (idx_t j = 0; j < data_info.allocation_sizes.size(); j++) { + + // read the data into a buffer handle + shared_ptr block_handle; + buffer_manager.Allocate(MemoryTag::ART_INDEX, Storage::BLOCK_SIZE, false, &block_handle); + auto buffer_handle = buffer_manager.Pin(block_handle); + auto data_ptr = buffer_handle.Ptr(); + + list.ReadElement(data_ptr, data_info.allocation_sizes[j]); + + // now convert the buffer handle to a persistent block and remember the block id + auto block_id = block_manager->GetFreeBlockId(); + block_manager->ConvertToPersistent(block_id, std::move(block_handle)); + data_info.block_pointers[j].block_id = block_id; + } + }); + + if (DeserializeOnly()) { return; } - auto &index_info = info->Cast(); + auto &info = create_info->Cast(); - // get the physical table to which we'll add the index - auto &table = catalog.GetEntry(context, info->schema, index_info.table); - auto &data_table = table.GetStorage(); + // Ensure the index type exists + if (info.index_type.empty()) { + info.index_type = ART::TYPE_NAME; + } - // bind the parsed expressions - if (index_info.expressions.empty()) { - for (auto &parsed_expr : index_info.parsed_expressions) { - index_info.expressions.push_back(parsed_expr->Copy()); - } + auto index_type = context.db->config.GetIndexTypes().FindByName(info.index_type); + if (!index_type) { + throw InternalException("Index type \"%s\" not recognized", info.index_type); } - auto binder = Binder::CreateBinder(context); - auto expressions = binder->BindCreateIndexExpressions(table, index_info); - - // create the empty index - unique_ptr index; - switch (index_info.index_type) { - case IndexType::ART: { - index = make_uniq(index_info.column_ids, TableIOManager::Get(data_table), expressions, - index_info.constraint_type, data_table.db); - break; + + // create the index in the catalog + auto &table = catalog.GetEntry(context, create_info->schema, info.table).Cast(); + auto &index = catalog.CreateIndex(context, info)->Cast(); + index.info = make_shared(table.GetStorage().info, index.name); + + // insert the parsed expressions into the index so that we can (de)serialize them during consecutive checkpoints + for (auto &parsed_expr : info.parsed_expressions) { + index.parsed_expressions.push_back(parsed_expr->Copy()); } - default: - throw InternalException("Unimplemented index type"); + + // obtain the parsed expressions of the ART from the index metadata + vector> parsed_expressions; + for (auto &parsed_expr : info.parsed_expressions) { + parsed_expressions.push_back(parsed_expr->Copy()); } + D_ASSERT(!parsed_expressions.empty()); - // add the index to the catalog - auto &index_entry = catalog.CreateIndex(context, index_info)->Cast(); - index_entry.index = index.get(); - index_entry.info = data_table.info; - for (auto &parsed_expr : index_info.parsed_expressions) { - index_entry.parsed_expressions.push_back(parsed_expr->Copy()); + // add the table to the bind context to bind the parsed expressions + auto binder = Binder::CreateBinder(context); + vector column_types; + vector column_names; + for (auto &col : table.GetColumns().Logical()) { + column_types.push_back(col.Type()); + column_names.push_back(col.Name()); } - // physically add the index to the data table storage - data_table.WALAddIndex(context, std::move(index), expressions); + // create a binder to bind the parsed expressions + vector column_ids; + binder->bind_context.AddBaseTable(0, info.table, column_names, column_types, column_ids, &table); + IndexBinder idx_binder(*binder, context); + + // bind the parsed expressions to create unbound expressions + vector> unbound_expressions; + unbound_expressions.reserve(parsed_expressions.size()); + for (auto &expr : parsed_expressions) { + unbound_expressions.push_back(idx_binder.Bind(expr)); + } + + auto &data_table = table.GetStorage(); + + CreateIndexInput input(TableIOManager::Get(data_table), data_table.db, info.constraint_type, info.index_name, + info.column_ids, unbound_expressions, index_info, info.options); + + auto index_instance = index_type->create_instance(input); + data_table.info->indexes.AddIndex(std::move(index_instance)); } -void ReplayState::ReplayDropIndex(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayDropIndex() { DropInfo info; info.type = CatalogType::INDEX_ENTRY; info.schema = deserializer.ReadProperty(101, "schema"); info.name = deserializer.ReadProperty(102, "name"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } @@ -461,36 +638,36 @@ void ReplayState::ReplayDropIndex(BinaryDeserializer &deserializer) { //===--------------------------------------------------------------------===// // Replay Data //===--------------------------------------------------------------------===// -void ReplayState::ReplayUseTable(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayUseTable() { auto schema_name = deserializer.ReadProperty(101, "schema"); auto table_name = deserializer.ReadProperty(102, "table"); - if (deserialize_only) { + if (DeserializeOnly()) { return; } - current_table = &catalog.GetEntry(context, schema_name, table_name); + state.current_table = &catalog.GetEntry(context, schema_name, table_name); } -void ReplayState::ReplayInsert(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayInsert() { DataChunk chunk; deserializer.ReadObject(101, "chunk", [&](Deserializer &object) { chunk.Deserialize(object); }); - if (deserialize_only) { + if (DeserializeOnly()) { return; } - if (!current_table) { - throw Exception("Corrupt WAL: insert without table"); + if (!state.current_table) { + throw InternalException("Corrupt WAL: insert without table"); } // append to the current table - current_table->GetStorage().LocalAppend(*current_table, context, chunk); + state.current_table->GetStorage().LocalAppend(*state.current_table, context, chunk); } -void ReplayState::ReplayDelete(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayDelete() { DataChunk chunk; deserializer.ReadObject(101, "chunk", [&](Deserializer &object) { chunk.Deserialize(object); }); - if (deserialize_only) { + if (DeserializeOnly()) { return; } - if (!current_table) { + if (!state.current_table) { throw InternalException("Corrupt WAL: delete without table"); } @@ -502,24 +679,24 @@ void ReplayState::ReplayDelete(BinaryDeserializer &deserializer) { // delete the tuples from the current table for (idx_t i = 0; i < chunk.size(); i++) { row_ids[0] = source_ids[i]; - current_table->GetStorage().Delete(*current_table, context, row_identifiers, 1); + state.current_table->GetStorage().Delete(*state.current_table, context, row_identifiers, 1); } } -void ReplayState::ReplayUpdate(BinaryDeserializer &deserializer) { +void WriteAheadLogDeserializer::ReplayUpdate() { auto column_path = deserializer.ReadProperty>(101, "column_indexes"); DataChunk chunk; deserializer.ReadObject(102, "chunk", [&](Deserializer &object) { chunk.Deserialize(object); }); - if (deserialize_only) { + if (DeserializeOnly()) { return; } - if (!current_table) { + if (!state.current_table) { throw InternalException("Corrupt WAL: update without table"); } - if (column_path[0] >= current_table->GetColumns().PhysicalColumnCount()) { + if (column_path[0] >= state.current_table->GetColumns().PhysicalColumnCount()) { throw InternalException("Corrupt WAL: column index for update out of bounds"); } @@ -528,11 +705,11 @@ void ReplayState::ReplayUpdate(BinaryDeserializer &deserializer) { chunk.data.pop_back(); // now perform the update - current_table->GetStorage().UpdateColumn(*current_table, context, row_ids, column_path, chunk); + state.current_table->GetStorage().UpdateColumn(*state.current_table, context, row_ids, column_path, chunk); } -void ReplayState::ReplayCheckpoint(BinaryDeserializer &deserializer) { - checkpoint_id = deserializer.ReadProperty(101, "meta_block"); +void WriteAheadLogDeserializer::ReplayCheckpoint() { + state.checkpoint_id = deserializer.ReadProperty(101, "meta_block"); } } // namespace duckdb diff --git a/src/storage/write_ahead_log.cpp b/src/storage/write_ahead_log.cpp index 5a5657b7ca81..a90b9dedf404 100644 --- a/src/storage/write_ahead_log.cpp +++ b/src/storage/write_ahead_log.cpp @@ -1,17 +1,24 @@ #include "duckdb/storage/write_ahead_log.hpp" +#include "duckdb/catalog/catalog_entry/duck_index_entry.hpp" #include "duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/schema_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/table_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/view_catalog_entry.hpp" +#include "duckdb/common/serializer/binary_serializer.hpp" #include "duckdb/main/database.hpp" #include "duckdb/parser/parsed_data/alter_table_info.hpp" -#include "duckdb/common/serializer/binary_serializer.hpp" -#include +#include "duckdb/storage/index.hpp" +#include "duckdb/storage/table/data_table_info.hpp" +#include "duckdb/storage/table_io_manager.hpp" +#include "duckdb/common/checksum.hpp" +#include "duckdb/common/serializer/memory_stream.hpp" namespace duckdb { +const uint64_t WAL_VERSION_NUMBER = 2; + WriteAheadLog::WriteAheadLog(AttachedDatabase &database, const string &path) : skip_writing(false), database(database) { wal_path = path; writer = make_uniq(FileSystem::Get(database), path.c_str(), @@ -46,13 +53,107 @@ void WriteAheadLog::Delete() { fs.RemoveFile(wal_path); } +//===--------------------------------------------------------------------===// +// Serializer +//===--------------------------------------------------------------------===// +class ChecksumWriter : public WriteStream { +public: + explicit ChecksumWriter(WriteAheadLog &wal) : wal(wal), stream(wal.GetWriter()) { + } + + void WriteData(const_data_ptr_t buffer, idx_t write_size) override { + if (wal.skip_writing) { + return; + } + // buffer data into the memory stream + memory_stream.WriteData(buffer, write_size); + } + + void Flush() { + if (wal.skip_writing) { + return; + } + auto data = memory_stream.GetData(); + auto size = memory_stream.GetPosition(); + // compute the checksum over the entry + auto checksum = Checksum(data, size); + // write the checksum and the length of the entry + stream.Write(size); + stream.Write(checksum); + // write data to the underlying stream + stream.WriteData(memory_stream.GetData(), memory_stream.GetPosition()); + // rewind the buffer + memory_stream.Rewind(); + } + +private: + WriteAheadLog &wal; + WriteStream &stream; + MemoryStream memory_stream; +}; + +class WriteAheadLogSerializer { +public: + WriteAheadLogSerializer(WriteAheadLog &wal, WALType wal_type) + : wal(wal), checksum_writer(wal), serializer(checksum_writer) { + if (wal.skip_writing) { + return; + } + // write a version marker if none has been written yet + wal.WriteVersion(); + serializer.Begin(); + serializer.WriteProperty(100, "wal_type", wal_type); + } + + void End() { + if (wal.skip_writing) { + return; + } + serializer.End(); + checksum_writer.Flush(); + } + + template + void WriteProperty(const field_id_t field_id, const char *tag, const T &value) { + if (wal.skip_writing) { + return; + } + serializer.WriteProperty(field_id, tag, value); + } + + template + void WriteList(const field_id_t field_id, const char *tag, idx_t count, FUNC func) { + if (wal.skip_writing) { + return; + } + serializer.WriteList(field_id, tag, count, func); + } + +private: + WriteAheadLog &wal; + ChecksumWriter checksum_writer; + BinarySerializer serializer; +}; + //===--------------------------------------------------------------------===// // Write Entries //===--------------------------------------------------------------------===// -void WriteAheadLog::WriteCheckpoint(MetaBlockPointer meta_block) { +void WriteAheadLog::WriteVersion() { + if (writer->GetFileSize() > 0) { + // already written - no need to write a version marker + return; + } + // write the version marker + // note that we explicitly do not checksum the version entry BinarySerializer serializer(*writer); serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::CHECKPOINT); + serializer.WriteProperty(100, "wal_type", WALType::WAL_VERSION); + serializer.WriteProperty(101, "version", idx_t(WAL_VERSION_NUMBER)); + serializer.End(); +} + +void WriteAheadLog::WriteCheckpoint(MetaBlockPointer meta_block) { + WriteAheadLogSerializer serializer(*this, WALType::CHECKPOINT); serializer.WriteProperty(101, "meta_block", meta_block); serializer.End(); } @@ -61,12 +162,7 @@ void WriteAheadLog::WriteCheckpoint(MetaBlockPointer meta_block) { // CREATE TABLE //===--------------------------------------------------------------------===// void WriteAheadLog::WriteCreateTable(const TableCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::CREATE_TABLE); + WriteAheadLogSerializer serializer(*this, WALType::CREATE_TABLE); serializer.WriteProperty(101, "table", &entry); serializer.End(); } @@ -75,12 +171,7 @@ void WriteAheadLog::WriteCreateTable(const TableCatalogEntry &entry) { // DROP TABLE //===--------------------------------------------------------------------===// void WriteAheadLog::WriteDropTable(const TableCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::DROP_TABLE); + WriteAheadLogSerializer serializer(*this, WALType::DROP_TABLE); serializer.WriteProperty(101, "schema", entry.schema.name); serializer.WriteProperty(102, "name", entry.name); serializer.End(); @@ -90,12 +181,7 @@ void WriteAheadLog::WriteDropTable(const TableCatalogEntry &entry) { // CREATE SCHEMA //===--------------------------------------------------------------------===// void WriteAheadLog::WriteCreateSchema(const SchemaCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::CREATE_SCHEMA); + WriteAheadLogSerializer serializer(*this, WALType::CREATE_SCHEMA); serializer.WriteProperty(101, "schema", entry.name); serializer.End(); } @@ -104,35 +190,20 @@ void WriteAheadLog::WriteCreateSchema(const SchemaCatalogEntry &entry) { // SEQUENCES //===--------------------------------------------------------------------===// void WriteAheadLog::WriteCreateSequence(const SequenceCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::CREATE_SEQUENCE); + WriteAheadLogSerializer serializer(*this, WALType::CREATE_SEQUENCE); serializer.WriteProperty(101, "sequence", &entry); serializer.End(); } void WriteAheadLog::WriteDropSequence(const SequenceCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::DROP_SEQUENCE); + WriteAheadLogSerializer serializer(*this, WALType::DROP_SEQUENCE); serializer.WriteProperty(101, "schema", entry.schema.name); serializer.WriteProperty(102, "name", entry.name); serializer.End(); } void WriteAheadLog::WriteSequenceValue(const SequenceCatalogEntry &entry, SequenceValue val) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::SEQUENCE_VALUE); + WriteAheadLogSerializer serializer(*this, WALType::SEQUENCE_VALUE); serializer.WriteProperty(101, "schema", entry.schema.name); serializer.WriteProperty(102, "name", entry.name); serializer.WriteProperty(103, "usage_count", val.usage_count); @@ -144,46 +215,26 @@ void WriteAheadLog::WriteSequenceValue(const SequenceCatalogEntry &entry, Sequen // MACROS //===--------------------------------------------------------------------===// void WriteAheadLog::WriteCreateMacro(const ScalarMacroCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::CREATE_MACRO); + WriteAheadLogSerializer serializer(*this, WALType::CREATE_MACRO); serializer.WriteProperty(101, "macro", &entry); serializer.End(); } void WriteAheadLog::WriteDropMacro(const ScalarMacroCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::DROP_MACRO); + WriteAheadLogSerializer serializer(*this, WALType::DROP_MACRO); serializer.WriteProperty(101, "schema", entry.schema.name); serializer.WriteProperty(102, "name", entry.name); serializer.End(); } void WriteAheadLog::WriteCreateTableMacro(const TableMacroCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::CREATE_TABLE_MACRO); + WriteAheadLogSerializer serializer(*this, WALType::CREATE_TABLE_MACRO); serializer.WriteProperty(101, "table", &entry); serializer.End(); } void WriteAheadLog::WriteDropTableMacro(const TableMacroCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::DROP_TABLE_MACRO); + WriteAheadLogSerializer serializer(*this, WALType::DROP_TABLE_MACRO); serializer.WriteProperty(101, "schema", entry.schema.name); serializer.WriteProperty(102, "name", entry.name); serializer.End(); @@ -192,24 +243,45 @@ void WriteAheadLog::WriteDropTableMacro(const TableMacroCatalogEntry &entry) { //===--------------------------------------------------------------------===// // Indexes //===--------------------------------------------------------------------===// + +void SerializeIndexToWAL(WriteAheadLogSerializer &serializer, const unique_ptr &index) { + + auto index_storage_info = index->GetStorageInfo(true); + serializer.WriteProperty(102, "index_storage_info", index_storage_info); + + serializer.WriteList(103, "index_storage", index_storage_info.buffers.size(), [&](Serializer::List &list, idx_t i) { + auto &buffers = index_storage_info.buffers[i]; + for (auto buffer : buffers) { + list.WriteElement(buffer.buffer_ptr, buffer.allocation_size); + } + }); +} + void WriteAheadLog::WriteCreateIndex(const IndexCatalogEntry &entry) { if (skip_writing) { return; } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::CREATE_INDEX); - serializer.WriteProperty(101, "index", &entry); + + WriteAheadLogSerializer serializer(*this, WALType::CREATE_INDEX); + serializer.WriteProperty(101, "index_catalog_entry", &entry); + + // now serialize the index data to the persistent storage and write the index metadata + auto &duck_index_entry = entry.Cast(); + auto &indexes = duck_index_entry.GetDataTableInfo().indexes.Indexes(); + + // get the matching index and serialize its storage info + for (auto const &index : indexes) { + if (duck_index_entry.name == index->name) { + SerializeIndexToWAL(serializer, index); + break; + } + } + serializer.End(); } void WriteAheadLog::WriteDropIndex(const IndexCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::DROP_INDEX); + WriteAheadLogSerializer serializer(*this, WALType::DROP_INDEX); serializer.WriteProperty(101, "schema", entry.schema.name); serializer.WriteProperty(102, "name", entry.name); serializer.End(); @@ -219,23 +291,13 @@ void WriteAheadLog::WriteDropIndex(const IndexCatalogEntry &entry) { // Custom Types //===--------------------------------------------------------------------===// void WriteAheadLog::WriteCreateType(const TypeCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::CREATE_TYPE); + WriteAheadLogSerializer serializer(*this, WALType::CREATE_TYPE); serializer.WriteProperty(101, "type", &entry); serializer.End(); } void WriteAheadLog::WriteDropType(const TypeCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::DROP_TYPE); + WriteAheadLogSerializer serializer(*this, WALType::DROP_TYPE); serializer.WriteProperty(101, "schema", entry.schema.name); serializer.WriteProperty(102, "name", entry.name); serializer.End(); @@ -245,23 +307,13 @@ void WriteAheadLog::WriteDropType(const TypeCatalogEntry &entry) { // VIEWS //===--------------------------------------------------------------------===// void WriteAheadLog::WriteCreateView(const ViewCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::CREATE_VIEW); + WriteAheadLogSerializer serializer(*this, WALType::CREATE_VIEW); serializer.WriteProperty(101, "view", &entry); serializer.End(); } void WriteAheadLog::WriteDropView(const ViewCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::DROP_VIEW); + WriteAheadLogSerializer serializer(*this, WALType::DROP_VIEW); serializer.WriteProperty(101, "schema", entry.schema.name); serializer.WriteProperty(102, "name", entry.name); serializer.End(); @@ -271,12 +323,7 @@ void WriteAheadLog::WriteDropView(const ViewCatalogEntry &entry) { // DROP SCHEMA //===--------------------------------------------------------------------===// void WriteAheadLog::WriteDropSchema(const SchemaCatalogEntry &entry) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::DROP_SCHEMA); + WriteAheadLogSerializer serializer(*this, WALType::DROP_SCHEMA); serializer.WriteProperty(101, "schema", entry.name); serializer.End(); } @@ -285,58 +332,38 @@ void WriteAheadLog::WriteDropSchema(const SchemaCatalogEntry &entry) { // DATA //===--------------------------------------------------------------------===// void WriteAheadLog::WriteSetTable(string &schema, string &table) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::USE_TABLE); + WriteAheadLogSerializer serializer(*this, WALType::USE_TABLE); serializer.WriteProperty(101, "schema", schema); serializer.WriteProperty(102, "table", table); serializer.End(); } void WriteAheadLog::WriteInsert(DataChunk &chunk) { - if (skip_writing) { - return; - } D_ASSERT(chunk.size() > 0); chunk.Verify(); - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::INSERT_TUPLE); + WriteAheadLogSerializer serializer(*this, WALType::INSERT_TUPLE); serializer.WriteProperty(101, "chunk", chunk); serializer.End(); } void WriteAheadLog::WriteDelete(DataChunk &chunk) { - if (skip_writing) { - return; - } D_ASSERT(chunk.size() > 0); D_ASSERT(chunk.ColumnCount() == 1 && chunk.data[0].GetType() == LogicalType::ROW_TYPE); chunk.Verify(); - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::DELETE_TUPLE); + WriteAheadLogSerializer serializer(*this, WALType::DELETE_TUPLE); serializer.WriteProperty(101, "chunk", chunk); serializer.End(); } void WriteAheadLog::WriteUpdate(DataChunk &chunk, const vector &column_indexes) { - if (skip_writing) { - return; - } D_ASSERT(chunk.size() > 0); D_ASSERT(chunk.ColumnCount() == 2); D_ASSERT(chunk.data[1].GetType().id() == LogicalType::ROW_TYPE); chunk.Verify(); - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::UPDATE_TUPLE); + WriteAheadLogSerializer serializer(*this, WALType::UPDATE_TUPLE); serializer.WriteProperty(101, "column_indexes", column_indexes); serializer.WriteProperty(102, "chunk", chunk); serializer.End(); @@ -346,12 +373,7 @@ void WriteAheadLog::WriteUpdate(DataChunk &chunk, const vector &column // Write ALTER Statement //===--------------------------------------------------------------------===// void WriteAheadLog::WriteAlter(const AlterInfo &info) { - if (skip_writing) { - return; - } - BinarySerializer serializer(*writer); - serializer.Begin(); - serializer.WriteProperty(100, "wal_type", WALType::ALTER_INFO); + WriteAheadLogSerializer serializer(*this, WALType::ALTER_INFO); serializer.WriteProperty(101, "info", &info); serializer.End(); } @@ -364,10 +386,8 @@ void WriteAheadLog::Flush() { return; } - BinarySerializer serializer(*writer); - serializer.Begin(); // write an empty entry - serializer.WriteProperty(100, "wal_type", WALType::WAL_FLUSH); + WriteAheadLogSerializer serializer(*this, WALType::WAL_FLUSH); serializer.End(); // flushes all changes made to the WAL to disk diff --git a/src/transaction/cleanup_state.cpp b/src/transaction/cleanup_state.cpp index cbdaa80a3ea2..6df9cad578c7 100644 --- a/src/transaction/cleanup_state.cpp +++ b/src/transaction/cleanup_state.cpp @@ -24,8 +24,9 @@ void CleanupState::CleanupEntry(UndoFlags type, data_ptr_t data) { case UndoFlags::CATALOG_ENTRY: { auto catalog_entry = Load(data); D_ASSERT(catalog_entry); - D_ASSERT(catalog_entry->set); - catalog_entry->set->CleanupEntry(*catalog_entry); + auto &entry = *catalog_entry; + D_ASSERT(entry.set); + entry.set->CleanupEntry(entry); break; } case UndoFlags::DELETE_TUPLE: { diff --git a/src/transaction/commit_state.cpp b/src/transaction/commit_state.cpp index 5715d437d0b0..37756f1a9252 100644 --- a/src/transaction/commit_state.cpp +++ b/src/transaction/commit_state.cpp @@ -2,23 +2,23 @@ #include "duckdb/catalog/catalog_entry/duck_index_entry.hpp" #include "duckdb/catalog/catalog_entry/duck_table_entry.hpp" +#include "duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp" #include "duckdb/catalog/catalog_entry/type_catalog_entry.hpp" +#include "duckdb/catalog/catalog_entry/view_catalog_entry.hpp" #include "duckdb/catalog/catalog_set.hpp" #include "duckdb/catalog/duck_catalog.hpp" +#include "duckdb/common/serializer/binary_deserializer.hpp" +#include "duckdb/common/serializer/memory_stream.hpp" #include "duckdb/storage/data_table.hpp" #include "duckdb/storage/table/chunk_info.hpp" #include "duckdb/storage/table/column_data.hpp" #include "duckdb/storage/table/row_group.hpp" +#include "duckdb/storage/table/row_version_manager.hpp" #include "duckdb/storage/table/update_segment.hpp" #include "duckdb/storage/write_ahead_log.hpp" #include "duckdb/transaction/append_info.hpp" #include "duckdb/transaction/delete_info.hpp" #include "duckdb/transaction/update_info.hpp" -#include "duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp" -#include "duckdb/catalog/catalog_entry/view_catalog_entry.hpp" -#include "duckdb/storage/table/row_version_manager.hpp" -#include "duckdb/common/serializer/binary_deserializer.hpp" -#include "duckdb/common/serializer/memory_stream.hpp" namespace duckdb { @@ -35,19 +35,24 @@ void CommitState::SwitchTable(DataTableInfo *table_info, UndoFlags new_op) { } void CommitState::WriteCatalogEntry(CatalogEntry &entry, data_ptr_t dataptr) { - if (entry.temporary || entry.parent->temporary) { + if (entry.temporary || entry.Parent().temporary) { return; } D_ASSERT(log); + // look at the type of the parent entry - auto parent = entry.parent; - switch (parent->type) { - case CatalogType::TABLE_ENTRY: - if (entry.type == CatalogType::TABLE_ENTRY) { - auto &table_entry = entry.Cast(); - D_ASSERT(table_entry.IsDuckTable()); - // ALTER TABLE statement, read the extra data after the entry + auto &parent = entry.Parent(); + switch (parent.type) { + case CatalogType::TABLE_ENTRY: + case CatalogType::VIEW_ENTRY: + case CatalogType::INDEX_ENTRY: + case CatalogType::SEQUENCE_ENTRY: + case CatalogType::TYPE_ENTRY: + case CatalogType::MACRO_ENTRY: + case CatalogType::TABLE_MACRO_ENTRY: + if (entry.type == CatalogType::RENAMED_ENTRY || entry.type == parent.type) { + // ALTER statement, read the extra data after the entry auto extra_data_size = Load(dataptr); auto extra_data = data_ptr_cast(dataptr + sizeof(idx_t)); @@ -58,66 +63,80 @@ void CommitState::WriteCatalogEntry(CatalogEntry &entry, data_ptr_t dataptr) { auto parse_info = deserializer.ReadProperty>(101, "alter_info"); deserializer.End(); - if (!column_name.empty()) { - // write the alter table in the log - table_entry.CommitAlter(column_name); + switch (parent.type) { + case CatalogType::TABLE_ENTRY: + if (!column_name.empty()) { + D_ASSERT(entry.type != CatalogType::RENAMED_ENTRY); + auto &table_entry = entry.Cast(); + D_ASSERT(table_entry.IsDuckTable()); + // write the alter table in the log + table_entry.CommitAlter(column_name); + } + break; + case CatalogType::VIEW_ENTRY: + case CatalogType::INDEX_ENTRY: + case CatalogType::SEQUENCE_ENTRY: + case CatalogType::TYPE_ENTRY: + case CatalogType::MACRO_ENTRY: + case CatalogType::TABLE_MACRO_ENTRY: + (void)column_name; + break; + default: + throw InternalException("Don't know how to drop this type!"); } + auto &alter_info = parse_info->Cast(); log->WriteAlter(alter_info); } else { - // CREATE TABLE statement - log->WriteCreateTable(parent->Cast()); + switch (parent.type) { + case CatalogType::TABLE_ENTRY: + // CREATE TABLE statement + log->WriteCreateTable(parent.Cast()); + break; + case CatalogType::VIEW_ENTRY: + // CREATE VIEW statement + log->WriteCreateView(parent.Cast()); + break; + case CatalogType::INDEX_ENTRY: + // CREATE INDEX statement + log->WriteCreateIndex(parent.Cast()); + break; + case CatalogType::SEQUENCE_ENTRY: + // CREATE SEQUENCE statement + log->WriteCreateSequence(parent.Cast()); + break; + case CatalogType::TYPE_ENTRY: + // CREATE TYPE statement + log->WriteCreateType(parent.Cast()); + break; + case CatalogType::MACRO_ENTRY: + log->WriteCreateMacro(parent.Cast()); + break; + case CatalogType::TABLE_MACRO_ENTRY: + log->WriteCreateTableMacro(parent.Cast()); + break; + default: + throw InternalException("Don't know how to drop this type!"); + } } break; case CatalogType::SCHEMA_ENTRY: - if (entry.type == CatalogType::SCHEMA_ENTRY) { + if (entry.type == CatalogType::RENAMED_ENTRY || entry.type == CatalogType::SCHEMA_ENTRY) { // ALTER TABLE statement, skip it return; } - log->WriteCreateSchema(parent->Cast()); - break; - case CatalogType::VIEW_ENTRY: - if (entry.type == CatalogType::VIEW_ENTRY) { - // ALTER TABLE statement, read the extra data after the entry - auto extra_data_size = Load(dataptr); - auto extra_data = data_ptr_cast(dataptr + sizeof(idx_t)); - // deserialize it - MemoryStream source(extra_data, extra_data_size); - BinaryDeserializer deserializer(source); - deserializer.Begin(); - auto column_name = deserializer.ReadProperty(100, "column_name"); - auto parse_info = deserializer.ReadProperty>(101, "alter_info"); - deserializer.End(); - - (void)column_name; - - // write the alter table in the log - auto &alter_info = parse_info->Cast(); - log->WriteAlter(alter_info); - } else { - log->WriteCreateView(parent->Cast()); - } - break; - case CatalogType::SEQUENCE_ENTRY: - log->WriteCreateSequence(parent->Cast()); - break; - case CatalogType::MACRO_ENTRY: - log->WriteCreateMacro(parent->Cast()); - break; - case CatalogType::TABLE_MACRO_ENTRY: - log->WriteCreateTableMacro(parent->Cast()); - break; - case CatalogType::INDEX_ENTRY: - log->WriteCreateIndex(parent->Cast()); + log->WriteCreateSchema(parent.Cast()); break; - case CatalogType::TYPE_ENTRY: - log->WriteCreateType(parent->Cast()); + case CatalogType::RENAMED_ENTRY: + // This is a rename, nothing needs to be done for this break; case CatalogType::DELETED_ENTRY: switch (entry.type) { case CatalogType::TABLE_ENTRY: { auto &table_entry = entry.Cast(); D_ASSERT(table_entry.IsDuckTable()); + + // If the table was renamed, we do not need to drop the DataTable. table_entry.CommitDrop(); log->WriteDropTable(table_entry); break; @@ -146,9 +165,11 @@ void CommitState::WriteCatalogEntry(CatalogEntry &entry, data_ptr_t dataptr) { log->WriteDropIndex(entry.Cast()); break; } + case CatalogType::RENAMED_ENTRY: case CatalogType::PREPARED_STATEMENT: case CatalogType::SCALAR_FUNCTION_ENTRY: - // do nothing, indexes/prepared statements/functions aren't persisted to disk + case CatalogType::DEPENDENCY_ENTRY: + // do nothing, prepared statements and scalar functions aren't persisted to disk break; default: throw InternalException("Don't know how to drop this type!"); @@ -161,6 +182,10 @@ void CommitState::WriteCatalogEntry(CatalogEntry &entry, data_ptr_t dataptr) { case CatalogType::COPY_FUNCTION_ENTRY: case CatalogType::PRAGMA_FUNCTION_ENTRY: case CatalogType::COLLATION_ENTRY: + case CatalogType::DEPENDENCY_ENTRY: + case CatalogType::SECRET_ENTRY: + case CatalogType::SECRET_TYPE_ENTRY: + case CatalogType::SECRET_FUNCTION_ENTRY: // do nothing, these entries are not persisted to disk break; default: @@ -246,7 +271,7 @@ void CommitState::CommitEntry(UndoFlags type, data_ptr_t data) { case UndoFlags::CATALOG_ENTRY: { // set the commit timestamp of the catalog entry to the given id auto catalog_entry = Load(data); - D_ASSERT(catalog_entry->parent); + D_ASSERT(catalog_entry->HasParent()); auto &catalog = catalog_entry->ParentCatalog(); D_ASSERT(catalog.IsDuckCatalog()); @@ -255,10 +280,11 @@ void CommitState::CommitEntry(UndoFlags type, data_ptr_t data) { auto &duck_catalog = catalog.Cast(); lock_guard write_lock(duck_catalog.GetWriteLock()); lock_guard read_lock(catalog_entry->set->GetCatalogLock()); - catalog_entry->set->UpdateTimestamp(*catalog_entry->parent, commit_id); - if (catalog_entry->name != catalog_entry->parent->name) { + catalog_entry->set->UpdateTimestamp(catalog_entry->Parent(), commit_id); + if (!StringUtil::CIEquals(catalog_entry->name, catalog_entry->Parent().name)) { catalog_entry->set->UpdateTimestamp(*catalog_entry, commit_id); } + if (HAS_LOG) { // push the catalog update to the WAL WriteCatalogEntry(*catalog_entry, data + sizeof(CatalogEntry *)); @@ -305,9 +331,9 @@ void CommitState::RevertCommit(UndoFlags type, data_ptr_t data) { case UndoFlags::CATALOG_ENTRY: { // set the commit timestamp of the catalog entry to the given id auto catalog_entry = Load(data); - D_ASSERT(catalog_entry->parent); - catalog_entry->set->UpdateTimestamp(*catalog_entry->parent, transaction_id); - if (catalog_entry->name != catalog_entry->parent->name) { + D_ASSERT(catalog_entry->HasParent()); + catalog_entry->set->UpdateTimestamp(catalog_entry->Parent(), transaction_id); + if (catalog_entry->name != catalog_entry->Parent().name) { catalog_entry->set->UpdateTimestamp(*catalog_entry, transaction_id); } break; diff --git a/src/transaction/duck_transaction.cpp b/src/transaction/duck_transaction.cpp index 3448a0a83168..528d718b78ab 100644 --- a/src/transaction/duck_transaction.cpp +++ b/src/transaction/duck_transaction.cpp @@ -56,6 +56,7 @@ void DuckTransaction::PushCatalogEntry(CatalogEntry &entry, data_ptr_t extra_dat if (extra_data_size > 0) { alloc_size += extra_data_size + sizeof(idx_t); } + auto baseptr = undo_buffer.CreateEntry(UndoFlags::CATALOG_ENTRY, alloc_size); // store the pointer to the catalog entry Store(&entry, baseptr); @@ -110,7 +111,7 @@ bool DuckTransaction::AutomaticCheckpoint(AttachedDatabase &db) { return storage_manager.AutomaticCheckpoint(storage->EstimatedSize() + undo_buffer.EstimatedSize()); } -string DuckTransaction::Commit(AttachedDatabase &db, transaction_t commit_id, bool checkpoint) noexcept { +ErrorData DuckTransaction::Commit(AttachedDatabase &db, transaction_t commit_id, bool checkpoint) noexcept { // "checkpoint" parameter indicates if the caller will checkpoint. If checkpoint == // true: Then this function will NOT write to the WAL or flush/persist. // This method only makes commit in memory, expecting caller to checkpoint/flush. @@ -128,6 +129,7 @@ string DuckTransaction::Commit(AttachedDatabase &db, transaction_t commit_id, bo } else { log = nullptr; } + try { storage->Commit(commit_state, *this); undo_buffer.Commit(iterator_state, log, commit_id); @@ -140,10 +142,10 @@ string DuckTransaction::Commit(AttachedDatabase &db, transaction_t commit_id, bo if (storage_commit_state) { storage_commit_state->FlushCommit(); } - return string(); + return ErrorData(); } catch (std::exception &ex) { undo_buffer.RevertCommit(iterator_state, this->transaction_id); - return ex.what(); + return ErrorData(ex); } } diff --git a/src/transaction/duck_transaction_manager.cpp b/src/transaction/duck_transaction_manager.cpp index 3b18cb412e57..e55a726535c4 100644 --- a/src/transaction/duck_transaction_manager.cpp +++ b/src/transaction/duck_transaction_manager.cpp @@ -1,6 +1,7 @@ #include "duckdb/transaction/duck_transaction_manager.hpp" #include "duckdb/catalog/catalog_set.hpp" +#include "duckdb/common/exception/transaction_exception.hpp" #include "duckdb/common/exception.hpp" #include "duckdb/common/helper.hpp" #include "duckdb/common/types/timestamp.hpp" @@ -12,6 +13,7 @@ #include "duckdb/main/connection_manager.hpp" #include "duckdb/main/attached_database.hpp" #include "duckdb/main/database_manager.hpp" +#include "duckdb/transaction/meta_transaction.hpp" namespace duckdb { @@ -64,7 +66,7 @@ DuckTransactionManager &DuckTransactionManager::Get(AttachedDatabase &db) { return reinterpret_cast(transaction_manager); } -Transaction *DuckTransactionManager::StartTransaction(ClientContext &context) { +Transaction &DuckTransactionManager::StartTransaction(ClientContext &context) { // obtain the transaction lock during this function lock_guard lock(transaction_lock); if (current_start_timestamp >= TRANSACTION_ID_START) { // LCOV_EXCL_START @@ -82,33 +84,11 @@ Transaction *DuckTransactionManager::StartTransaction(ClientContext &context) { // create the actual transaction auto transaction = make_uniq(*this, context, start_time, transaction_id); - auto transaction_ptr = transaction.get(); + auto &transaction_ref = *transaction; // store it in the set of active transactions active_transactions.push_back(std::move(transaction)); - return transaction_ptr; -} - -struct ClientLockWrapper { - ClientLockWrapper(mutex &client_lock, shared_ptr connection) - : connection(std::move(connection)), connection_lock(make_uniq>(client_lock)) { - } - - shared_ptr connection; - unique_ptr> connection_lock; -}; - -void DuckTransactionManager::LockClients(vector &client_locks, ClientContext &context) { - auto &connection_manager = ConnectionManager::Get(context); - client_locks.emplace_back(connection_manager.connections_lock, nullptr); - auto connection_list = connection_manager.GetConnectionList(); - for (auto &con : connection_list) { - if (con.get() == &context) { - continue; - } - auto &context_lock = con->context_lock; - client_locks.emplace_back(context_lock, std::move(con)); - } + return transaction_ref; } void DuckTransactionManager::Checkpoint(ClientContext &context, bool force) { @@ -118,22 +98,13 @@ void DuckTransactionManager::Checkpoint(ClientContext &context, bool force) { } // first check if no other thread is checkpointing right now + auto current = &DuckTransaction::Get(context, db); auto lock = unique_lock(transaction_lock); if (thread_is_checkpointing) { throw TransactionException("Cannot CHECKPOINT: another thread is checkpointing right now"); } CheckpointLock checkpoint_lock(*this); checkpoint_lock.Lock(); - lock.unlock(); - - // lock all the clients AND the connection manager now - // this ensures no new queries can be started, and no new connections to the database can be made - // to avoid deadlock we release the transaction lock while locking the clients - vector client_locks; - LockClients(client_locks, context); - - auto current = &DuckTransaction::Get(context, db); - lock.lock(); if (current->ChangesMade()) { throw TransactionException("Cannot CHECKPOINT: the current transaction has transaction local changes"); } @@ -143,6 +114,16 @@ void DuckTransactionManager::Checkpoint(ClientContext &context, bool force) { "the other transactions and force a checkpoint"); } } else { + lock.unlock(); + + // lock all the clients AND the connection manager now + // this ensures no new queries can be started, and no new connections to the database can be made + // to avoid deadlock we release the transaction lock while locking the clients + auto &connection_manager = ConnectionManager::Get(context); + vector client_locks; + connection_manager.LockClients(client_locks, context); + + lock.lock(); if (!CanCheckpoint(current)) { for (size_t i = 0; i < active_transactions.size(); i++) { auto &transaction = active_transactions[i]; @@ -154,7 +135,10 @@ void DuckTransactionManager::Checkpoint(ClientContext &context, bool force) { // potentially resulting in garbage collection RemoveTransaction(*transaction); if (transaction_context) { - transaction_context->transaction.ClearTransaction(); + // invalidate the active transaction for this connection + auto &meta_transaction = MetaTransaction::Get(*transaction_context); + meta_transaction.RemoveTransaction(db); + ValidChecker::Get(meta_transaction).Invalidate("Invalidated due to FORCE CHECKPOINT"); } i--; } @@ -183,8 +167,8 @@ bool DuckTransactionManager::CanCheckpoint(optional_ptr current return true; } -string DuckTransactionManager::CommitTransaction(ClientContext &context, Transaction *transaction_p) { - auto &transaction = transaction_p->Cast(); +ErrorData DuckTransactionManager::CommitTransaction(ClientContext &context, Transaction &transaction_p) { + auto &transaction = transaction_p.Cast(); vector client_locks; auto lock = make_uniq>(transaction_lock); CheckpointLock checkpoint_lock(*this); @@ -193,18 +177,6 @@ string DuckTransactionManager::CommitTransaction(ClientContext &context, Transac if (checkpoint) { if (transaction.AutomaticCheckpoint(db)) { checkpoint_lock.Lock(); - // we might be able to checkpoint: lock all clients - // to avoid deadlock we release the transaction lock while locking the clients - lock.reset(); - - LockClients(client_locks, context); - - lock = make_uniq>(transaction_lock); - checkpoint = CanCheckpoint(&transaction); - if (!checkpoint) { - checkpoint_lock.Unlock(); - client_locks.clear(); - } } else { checkpoint = false; } @@ -212,8 +184,8 @@ string DuckTransactionManager::CommitTransaction(ClientContext &context, Transac // obtain a commit id for the transaction transaction_t commit_id = current_start_timestamp++; // commit the UndoBuffer of the transaction - string error = transaction.Commit(db, commit_id, checkpoint); - if (!error.empty()) { + auto error = transaction.Commit(db, commit_id, checkpoint); + if (error.HasError()) { // commit unsuccessful: rollback the transaction instead checkpoint = false; transaction.commit_id = 0; @@ -238,8 +210,8 @@ string DuckTransactionManager::CommitTransaction(ClientContext &context, Transac return error; } -void DuckTransactionManager::RollbackTransaction(Transaction *transaction_p) { - auto &transaction = transaction_p->Cast(); +void DuckTransactionManager::RollbackTransaction(Transaction &transaction_p) { + auto &transaction = transaction_p.Cast(); // obtain the transaction lock during this function lock_guard lock(transaction_lock); diff --git a/src/transaction/meta_transaction.cpp b/src/transaction/meta_transaction.cpp index d6dd6ddf38dd..739d59d5919a 100644 --- a/src/transaction/meta_transaction.cpp +++ b/src/transaction/meta_transaction.cpp @@ -2,6 +2,7 @@ #include "duckdb/main/client_context.hpp" #include "duckdb/main/attached_database.hpp" #include "duckdb/transaction/transaction_manager.hpp" +#include "duckdb/common/exception/transaction_exception.hpp" namespace duckdb { @@ -24,19 +25,32 @@ Transaction &Transaction::Get(ClientContext &context, AttachedDatabase &db) { } Transaction &MetaTransaction::GetTransaction(AttachedDatabase &db) { - auto entry = transactions.find(&db); + auto entry = transactions.find(db); if (entry == transactions.end()) { - auto new_transaction = db.GetTransactionManager().StartTransaction(context); - if (!new_transaction) { - throw InternalException("StartTransaction did not return a valid transaction"); - } - new_transaction->active_query = active_query; - all_transactions.push_back(&db); - transactions[&db] = new_transaction; - return *new_transaction; + auto &new_transaction = db.GetTransactionManager().StartTransaction(context); + new_transaction.active_query = active_query; + all_transactions.push_back(db); + transactions.insert(make_pair(reference(db), reference(new_transaction))); + return new_transaction; } else { - D_ASSERT(entry->second->active_query == active_query); - return *entry->second; + D_ASSERT(entry->second.get().active_query == active_query); + return entry->second; + } +} + +void MetaTransaction::RemoveTransaction(AttachedDatabase &db) { + auto entry = transactions.find(db); + if (entry == transactions.end()) { + throw InternalException("MetaTransaction::RemoveTransaction called but meta transaction did not have a " + "transaction for this database"); + } + transactions.erase(entry); + for (idx_t i = 0; i < all_transactions.size(); i++) { + auto &db_entry = all_transactions[i]; + if (RefersToSameObject(db_entry.get(), db)) { + all_transactions.erase(all_transactions.begin() + i); + break; + } } } @@ -44,18 +58,18 @@ Transaction &Transaction::Get(ClientContext &context, Catalog &catalog) { return Transaction::Get(context, catalog.GetAttached()); } -string MetaTransaction::Commit() { - string error; +ErrorData MetaTransaction::Commit() { + ErrorData error; // commit transactions in reverse order for (idx_t i = all_transactions.size(); i > 0; i--) { - auto db = all_transactions[i - 1]; - auto entry = transactions.find(db.get()); + auto &db = all_transactions[i - 1].get(); + auto entry = transactions.find(db); if (entry == transactions.end()) { throw InternalException("Could not find transaction corresponding to database in MetaTransaction"); } - auto &transaction_manager = db->GetTransactionManager(); - auto transaction = entry->second; - if (error.empty()) { + auto &transaction_manager = db.GetTransactionManager(); + auto &transaction = entry->second.get(); + if (!error.HasError()) { // commit error = transaction_manager.CommitTransaction(context, transaction); } else { @@ -69,11 +83,11 @@ string MetaTransaction::Commit() { void MetaTransaction::Rollback() { // rollback transactions in reverse order for (idx_t i = all_transactions.size(); i > 0; i--) { - auto db = all_transactions[i - 1]; - auto &transaction_manager = db->GetTransactionManager(); - auto entry = transactions.find(db.get()); + auto &db = all_transactions[i - 1].get(); + auto &transaction_manager = db.GetTransactionManager(); + auto entry = transactions.find(db); D_ASSERT(entry != transactions.end()); - auto transaction = entry->second; + auto &transaction = entry->second.get(); transaction_manager.RollbackTransaction(transaction); } } @@ -85,7 +99,7 @@ idx_t MetaTransaction::GetActiveQuery() { void MetaTransaction::SetActiveQuery(transaction_t query_number) { active_query = query_number; for (auto &entry : transactions) { - entry.second->active_query = query_number; + entry.second.get().active_query = query_number; } } diff --git a/src/transaction/transaction_context.cpp b/src/transaction/transaction_context.cpp index 4b65a721b180..f67b89a02c0a 100644 --- a/src/transaction/transaction_context.cpp +++ b/src/transaction/transaction_context.cpp @@ -1,10 +1,12 @@ #include "duckdb/transaction/transaction_context.hpp" - +#include "duckdb/common/exception/transaction_exception.hpp" #include "duckdb/common/exception.hpp" #include "duckdb/transaction/meta_transaction.hpp" #include "duckdb/transaction/transaction_manager.hpp" #include "duckdb/main/config.hpp" #include "duckdb/main/database_manager.hpp" +#include "duckdb/main/client_context.hpp" +#include "duckdb/main/client_context_state.hpp" namespace duckdb { @@ -29,6 +31,11 @@ void TransactionContext::BeginTransaction() { auto catalog_version = Catalog::GetSystemCatalog(context).GetCatalogVersion(); current_transaction = make_uniq(context, start_timestamp, catalog_version); + // Notify any registered state of transaction begin + for (auto const &s : context.registered_state) { + s.second->TransactionBegin(*current_transaction, context); + } + auto &config = DBConfig::GetConfig(context); if (config.options.immediate_transaction_mode) { // if immediate transaction mode is enabled then start all transactions immediately @@ -45,9 +52,17 @@ void TransactionContext::Commit() { } auto transaction = std::move(current_transaction); ClearTransaction(); - string error = transaction->Commit(); - if (!error.empty()) { - throw TransactionException("Failed to commit: %s", error); + auto error = transaction->Commit(); + // Notify any registered state of transaction commit + if (error.HasError()) { + for (auto const &s : context.registered_state) { + s.second->TransactionRollback(*transaction, context); + } + throw TransactionException("Failed to commit: %s", error.RawMessage()); + } else { + for (auto const &s : context.registered_state) { + s.second->TransactionCommit(*transaction, context); + } } } @@ -65,6 +80,10 @@ void TransactionContext::Rollback() { auto transaction = std::move(current_transaction); ClearTransaction(); transaction->Rollback(); + // Notify any registered state of transaction rollback + for (auto const &s : context.registered_state) { + s.second->TransactionRollback(*transaction, context); + } } void TransactionContext::ClearTransaction() { diff --git a/src/transaction/undo_buffer.cpp b/src/transaction/undo_buffer.cpp index bf1717b70527..395442573b0e 100644 --- a/src/transaction/undo_buffer.cpp +++ b/src/transaction/undo_buffer.cpp @@ -1,15 +1,15 @@ #include "duckdb/transaction/undo_buffer.hpp" #include "duckdb/catalog/catalog_entry.hpp" +#include "duckdb/catalog/catalog_entry/duck_index_entry.hpp" #include "duckdb/catalog/catalog_entry/list.hpp" -#include "duckdb/catalog/catalog_set.hpp" #include "duckdb/common/exception.hpp" +#include "duckdb/common/pair.hpp" #include "duckdb/storage/data_table.hpp" #include "duckdb/storage/write_ahead_log.hpp" #include "duckdb/transaction/cleanup_state.hpp" #include "duckdb/transaction/commit_state.hpp" #include "duckdb/transaction/rollback_state.hpp" -#include "duckdb/common/pair.hpp" namespace duckdb { constexpr uint32_t UNDO_ENTRY_HEADER_SIZE = sizeof(UndoFlags) + sizeof(uint32_t); @@ -103,12 +103,26 @@ bool UndoBuffer::ChangesMade() { } idx_t UndoBuffer::EstimatedSize() { + idx_t estimated_size = 0; auto node = allocator.GetHead(); while (node) { estimated_size += node->current_position; node = node->next.get(); } + + // we need to search for any index creation entries + IteratorState iterator_state; + IterateEntries(iterator_state, [&](UndoFlags entry_type, data_ptr_t data) { + if (entry_type == UndoFlags::CATALOG_ENTRY) { + auto catalog_entry = Load(data); + if (catalog_entry->Parent().type == CatalogType::INDEX_ENTRY) { + auto &index = catalog_entry->Parent().Cast(); + estimated_size += index.initial_index_size; + } + } + }); + return estimated_size; } diff --git a/src/verification/CMakeLists.txt b/src/verification/CMakeLists.txt index 8782fd509035..bca511827823 100644 --- a/src/verification/CMakeLists.txt +++ b/src/verification/CMakeLists.txt @@ -2,6 +2,7 @@ add_library( duckdb_verification OBJECT copied_statement_verifier.cpp external_statement_verifier.cpp + fetch_row_verifier.cpp prepared_statement_verifier.cpp deserialized_statement_verifier.cpp statement_verifier.cpp diff --git a/src/verification/fetch_row_verifier.cpp b/src/verification/fetch_row_verifier.cpp new file mode 100644 index 000000000000..a3be8111c418 --- /dev/null +++ b/src/verification/fetch_row_verifier.cpp @@ -0,0 +1,13 @@ +#include "duckdb/verification/fetch_row_verifier.hpp" + +namespace duckdb { + +FetchRowVerifier::FetchRowVerifier(unique_ptr statement_p) + : StatementVerifier(VerificationType::FETCH_ROW_AS_SCAN, "FetchRow as Scan", std::move(statement_p)) { +} + +unique_ptr FetchRowVerifier::Create(const SQLStatement &statement_p) { + return make_uniq(statement_p.Copy()); +} + +} // namespace duckdb diff --git a/src/verification/prepared_statement_verifier.cpp b/src/verification/prepared_statement_verifier.cpp index 31a1d9ffd2f2..f3707e165e20 100644 --- a/src/verification/prepared_statement_verifier.cpp +++ b/src/verification/prepared_statement_verifier.cpp @@ -1,6 +1,6 @@ #include "duckdb/verification/prepared_statement_verifier.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb/parser/expression/parameter_expression.hpp" #include "duckdb/parser/parsed_expression_iterator.hpp" #include "duckdb/parser/statement/drop_statement.hpp" @@ -93,14 +93,12 @@ bool PreparedStatementVerifier::Run( execute_result->ThrowError("Failed execute during verify: "); } materialized_result = unique_ptr_cast(std::move(execute_result)); - } catch (const Exception &ex) { - if (ex.type != ExceptionType::PARAMETER_NOT_ALLOWED) { - materialized_result = make_uniq(PreservedError(ex)); + } catch (const std::exception &ex) { + ErrorData error(ex); + if (error.Type() != ExceptionType::PARAMETER_NOT_ALLOWED) { + materialized_result = make_uniq(std::move(error)); } failed = true; - } catch (std::exception &ex) { - materialized_result = make_uniq(PreservedError(ex)); - failed = true; } run(string(), std::move(dealloc_statement)); context.interrupted = false; diff --git a/src/verification/statement_verifier.cpp b/src/verification/statement_verifier.cpp index 3d473302d900..c3c97158862c 100644 --- a/src/verification/statement_verifier.cpp +++ b/src/verification/statement_verifier.cpp @@ -1,6 +1,6 @@ #include "duckdb/verification/statement_verifier.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb/common/types/column/column_data_collection.hpp" #include "duckdb/parser/parser.hpp" #include "duckdb/verification/copied_statement_verifier.hpp" @@ -10,6 +10,7 @@ #include "duckdb/verification/prepared_statement_verifier.hpp" #include "duckdb/verification/unoptimized_statement_verifier.hpp" #include "duckdb/verification/no_operator_caching_verifier.hpp" +#include "duckdb/verification/fetch_row_verifier.hpp" namespace duckdb { @@ -42,6 +43,8 @@ unique_ptr StatementVerifier::Create(VerificationType type, c return PreparedStatementVerifier::Create(statement_p); case VerificationType::EXTERNAL: return ExternalStatementVerifier::Create(statement_p); + case VerificationType::FETCH_ROW_AS_SCAN: + return FetchRowVerifier::Create(statement_p); case VerificationType::INVALID: default: throw InternalException("Invalid statement verification type!"); @@ -108,18 +111,16 @@ bool StatementVerifier::Run( context.config.enable_optimizer = !DisableOptimizer(); context.config.enable_caching_operators = !DisableOperatorCaching(); context.config.force_external = ForceExternal(); + context.config.force_fetch_row = ForceFetchRow(); try { auto result = run(query, std::move(statement)); if (result->HasError()) { failed = true; } materialized_result = unique_ptr_cast(std::move(result)); - } catch (const Exception &ex) { - failed = true; - materialized_result = make_uniq(PreservedError(ex)); } catch (std::exception &ex) { failed = true; - materialized_result = make_uniq(PreservedError(ex)); + materialized_result = make_uniq(ErrorData(ex)); } context.interrupted = false; diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 49e037c171e5..0fa9467f278f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -15,6 +15,7 @@ add_subdirectory(extension) add_subdirectory(helpers) add_subdirectory(memoryleak) add_subdirectory(parallel_csv) +add_subdirectory(secrets) add_subdirectory(serialize) add_subdirectory(sql) add_subdirectory(sqlite) diff --git a/test/api/adbc/test_adbc.cpp b/test/api/adbc/test_adbc.cpp index 4350a54b3d78..b3e059c47893 100644 --- a/test/api/adbc/test_adbc.cpp +++ b/test/api/adbc/test_adbc.cpp @@ -12,13 +12,17 @@ using namespace duckdb_adbc; bool SUCCESS(AdbcStatusCode status) { return status == ADBC_STATUS_OK; } -const char *duckdb_lib = std::getenv("DUCKDB_INSTALL_LIB"); +const char *duckdb_lib = std::getenv("DUCKDB_INSTALL_LIB"); class ADBCTestDatabase { public: explicit ADBCTestDatabase(const string &path_parameter = ":memory:") { - duckdb_adbc::InitializeADBCError(&adbc_error); - path = TestCreatePath(path_parameter); + InitializeADBCError(&adbc_error); + if (path_parameter != ":memory:") { + path = TestCreatePath(path_parameter); + } else { + path = path_parameter; + } REQUIRE(duckdb_lib); REQUIRE(SUCCESS(AdbcDatabaseNew(&adbc_database, &adbc_error))); REQUIRE(SUCCESS(AdbcDatabaseSetOption(&adbc_database, "driver", duckdb_lib, &adbc_error))); @@ -37,41 +41,49 @@ class ADBCTestDatabase { arrow_stream.release(&arrow_stream); arrow_stream.release = nullptr; } - REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); } bool QueryAndCheck(const string &query) { - Query(query); - DuckDB db(path); - Connection con(db); - return ArrowTestHelper::RunArrowComparison(con, query, arrow_stream); + QueryArrow(query); + auto cconn = reinterpret_cast(adbc_connection.private_data); + return ArrowTestHelper::RunArrowComparison(*cconn, query, arrow_stream); } - ArrowArrayStream &Query(const string &query) { + std::unique_ptr Query(const string &query) { + auto cconn = reinterpret_cast(adbc_connection.private_data); + return cconn->Query(query); + } + + ArrowArrayStream &QueryArrow(const string &query) { if (arrow_stream.release) { arrow_stream.release(&arrow_stream); arrow_stream.release = nullptr; } + AdbcStatement adbc_statement; REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection, &adbc_statement, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementSetSqlQuery(&adbc_statement, query.c_str(), &adbc_error))); int64_t rows_affected; REQUIRE(SUCCESS(AdbcStatementExecuteQuery(&adbc_statement, &arrow_stream, &rows_affected, &adbc_error))); + // Release the statement + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); return arrow_stream; } void CreateTable(const string &table_name, ArrowArrayStream &input_data) { REQUIRE(input_data.release); - - REQUIRE(SUCCESS(StatementNew(&adbc_connection, &adbc_statement, &adbc_error))); + AdbcStatement adbc_statement; + REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection, &adbc_statement, &adbc_error))); REQUIRE(SUCCESS( - StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_TARGET_TABLE, table_name.c_str(), &adbc_error))); + AdbcStatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_TARGET_TABLE, table_name.c_str(), &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementBindStream(&adbc_statement, &input_data, &adbc_error))); + REQUIRE(SUCCESS(AdbcStatementBindStream(&adbc_statement, &input_data, &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementExecuteQuery(&adbc_statement, nullptr, nullptr, &adbc_error))); + REQUIRE(SUCCESS(AdbcStatementExecuteQuery(&adbc_statement, nullptr, nullptr, &adbc_error))); + // Release the statement + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); input_data.release = nullptr; arrow_stream.release = nullptr; } @@ -79,7 +91,7 @@ class ADBCTestDatabase { AdbcError adbc_error; AdbcDatabase adbc_database; AdbcConnection adbc_connection; - AdbcStatement adbc_statement; + ArrowArrayStream arrow_stream; std::string path; }; @@ -100,7 +112,7 @@ TEST_CASE("ADBC - Test ingestion", "[adbc]") { ADBCTestDatabase db; // Create Arrow Result - auto input_data = db.Query("SELECT 42"); + auto input_data = db.QueryArrow("SELECT 42"); // Create Table 'my_table' from the Arrow Result db.CreateTable("my_table", input_data); @@ -115,7 +127,7 @@ TEST_CASE("ADBC - Test ingestion - Lineitem", "[adbc]") { ADBCTestDatabase db; // Create Arrow Result - auto input_data = db.Query("SELECT * FROM read_csv_auto(\'data/csv/lineitem-carriage.csv\')"); + auto input_data = db.QueryArrow("SELECT * FROM read_csv_auto(\'data/csv/lineitem-carriage.csv\')"); // Create Table 'my_table' from the Arrow Result db.CreateTable("lineitem", input_data); @@ -162,9 +174,15 @@ TEST_CASE("Test Invalid Path", "[adbc]") { REQUIRE(!SUCCESS(AdbcDatabaseInit(&adbc_database, &adbc_error))); - REQUIRE(std::strcmp( - adbc_error.message, - "IO Error: Cannot open file \"/this/path/is/imaginary/hopefully/\": No such file or directory") == 0); + if (!adbc_error.message) { + REQUIRE(false); + } else { + REQUIRE(std::strstr(adbc_error.message, "Cannot open file")); + } + adbc_error.release(&adbc_error); + InitializeADBCError(&adbc_error); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); + adbc_error.release(&adbc_error); } TEST_CASE("Error Release", "[adbc]") { @@ -227,13 +245,6 @@ TEST_CASE("Error Release", "[adbc]") { arrow_array.release(&arrow_array); arrow_stream.release(&arrow_stream); - // We can't run a query on a nullptr connection - REQUIRE(AdbcStatementNew(nullptr, &adbc_statement, &adbc_error) == ADBC_STATUS_INVALID_ARGUMENT); - - // We can't run a query on a nullptr statement - REQUIRE(AdbcStatementExecuteQuery(nullptr, &arrow_stream, &rows_affected, &adbc_error) == - ADBC_STATUS_INVALID_ARGUMENT); - // We can't run a query without a query REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection, &adbc_statement, &adbc_error))); AdbcStatementSetSqlQuery(&adbc_statement, nullptr, &adbc_error); @@ -266,6 +277,11 @@ TEST_CASE("Error Release", "[adbc]") { REQUIRE(!SUCCESS(AdbcConnectionInit(&adbc_connection, &adbc_database, &adbc_error))); REQUIRE(std::strcmp(adbc_error.message, "Invalid database") == 0); + + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); + + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); // Release the error adbc_error.release(&adbc_error); } @@ -303,6 +319,9 @@ TEST_CASE("Test Not-Implemented Partition Functions", "[adbc]") { REQUIRE(status == ADBC_STATUS_NOT_IMPLEMENTED); REQUIRE(std::strcmp(adbc_error.message, "Execute Partitions are not supported in DuckDB") == 0); adbc_error.release(&adbc_error); + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); } TEST_CASE("Test ADBC ConnectionGetInfo", "[adbc]") { @@ -338,10 +357,6 @@ TEST_CASE("Test ADBC ConnectionGetInfo", "[adbc]") { status = AdbcConnectionGetInfo(&adbc_connection, test_info_codes, TEST_INFO_CODE_LENGTH, &out_stream, nullptr); REQUIRE(status != ADBC_STATUS_OK); - // No connection - status = AdbcConnectionGetInfo(nullptr, test_info_codes, TEST_INFO_CODE_LENGTH, &out_stream, &adbc_error); - REQUIRE(status != ADBC_STATUS_OK); - // Invalid connection AdbcConnection bogus_connection; bogus_connection.private_data = nullptr; @@ -361,6 +376,10 @@ TEST_CASE("Test ADBC ConnectionGetInfo", "[adbc]") { REQUIRE(out_stream.release != nullptr); out_stream.release(&out_stream); + + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); + adbc_error.release(&adbc_error); } TEST_CASE("Test ADBC Statement Bind (unhappy)", "[adbc]") { @@ -392,7 +411,7 @@ TEST_CASE("Test ADBC Statement Bind (unhappy)", "[adbc]") { REQUIRE(SUCCESS(AdbcStatementPrepare(&adbc_statement, &adbc_error))); ADBCTestDatabase db; - auto &input_data = db.Query("SELECT 42, true, 'this is a string'"); + auto &input_data = db.QueryArrow("SELECT 42, true, 'this is a string'"); ArrowArray prepared_array; ArrowSchema prepared_schema; input_data.get_next(&input_data, &prepared_array); @@ -404,10 +423,6 @@ TEST_CASE("Test ADBC Statement Bind (unhappy)", "[adbc]") { status = AdbcStatementBind(&adbc_statement, &prepared_array, &prepared_schema, nullptr); REQUIRE(status == ADBC_STATUS_OK); - // No statement - status = AdbcStatementBind(nullptr, &prepared_array, &prepared_schema, &adbc_error); - REQUIRE(status != ADBC_STATUS_OK); - // No valid statement AdbcStatement bogus_statement; bogus_statement.private_data = nullptr; @@ -429,12 +444,10 @@ TEST_CASE("Test ADBC Statement Bind (unhappy)", "[adbc]") { ArrowSchema result; result.release = nullptr; status = AdbcStatementGetParameterSchema(&adbc_statement, &result, nullptr); + result.release(&result); + result.release = nullptr; REQUIRE(status == ADBC_STATUS_OK); - // No statement - status = AdbcStatementGetParameterSchema(nullptr, &result, &adbc_error); - REQUIRE(status != ADBC_STATUS_OK); - // No valid statement status = AdbcStatementGetParameterSchema(&bogus_statement, &result, &adbc_error); REQUIRE(status != ADBC_STATUS_OK); @@ -443,6 +456,11 @@ TEST_CASE("Test ADBC Statement Bind (unhappy)", "[adbc]") { status = AdbcStatementGetParameterSchema(&adbc_statement, nullptr, &adbc_error); REQUIRE(status != ADBC_STATUS_OK); + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); + + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); + adbc_error.release(&adbc_error); } @@ -454,7 +472,7 @@ TEST_CASE("Test ADBC Statement Bind", "[adbc]") { ADBCTestDatabase db; // Create prepared parameter array - auto &input_data = db.Query("SELECT 42, true, 'this is a string'"); + auto &input_data = db.QueryArrow("SELECT 42, true, 'this is a string'"); string query = "select ?, ?, ?"; AdbcDatabase adbc_database; @@ -511,6 +529,9 @@ TEST_CASE("Test ADBC Statement Bind", "[adbc]") { result_array.release(&result_array); arrow_stream.release(&arrow_stream); + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); adbc_error.release(&adbc_error); } @@ -522,7 +543,7 @@ TEST_CASE("Test ADBC Transactions", "[adbc]") { ADBCTestDatabase db; // Create Arrow Result - auto &input_data = db.Query("SELECT 42"); + auto &input_data = db.QueryArrow("SELECT 42"); string table_name = "test"; string query = "select count(*) from test"; @@ -578,20 +599,20 @@ TEST_CASE("Test ADBC Transactions", "[adbc]") { // Now lets insert with Auto-Commit Off REQUIRE(SUCCESS(AdbcConnectionSetOption(&adbc_connection, ADBC_CONNECTION_OPTION_AUTOCOMMIT, ADBC_OPTION_VALUE_DISABLED, &adbc_error))); - input_data = db.Query("SELECT 42;"); - + input_data = db.QueryArrow("SELECT 42;"); + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection, &adbc_statement, &adbc_error))); REQUIRE( SUCCESS(StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_TARGET_TABLE, table_name.c_str(), &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_MODE, - ADBC_INGEST_OPTION_MODE_APPEND, &adbc_error))); + REQUIRE(SUCCESS( + StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_MODE, ADBC_INGEST_OPTION_MODE_APPEND, &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementBindStream(&adbc_statement, &input_data, &adbc_error))); + REQUIRE(SUCCESS(StatementBindStream(&adbc_statement, &input_data, &adbc_error))); REQUIRE(SUCCESS(StatementExecuteQuery(&adbc_statement, nullptr, nullptr, &adbc_error))); - + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement_2, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection_2, &adbc_statement_2, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementSetSqlQuery(&adbc_statement_2, query.c_str(), &adbc_error))); REQUIRE(SUCCESS(AdbcStatementExecuteQuery(&adbc_statement_2, &arrow_stream, &rows_affected, &adbc_error))); @@ -614,7 +635,7 @@ TEST_CASE("Test ADBC Transactions", "[adbc]") { // Now if we do a commit on the first connection this should be 2 on the second connection REQUIRE(SUCCESS(AdbcConnectionCommit(&adbc_connection, &adbc_error))); - + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement_2, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection_2, &adbc_statement_2, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementSetSqlQuery(&adbc_statement_2, query.c_str(), &adbc_error))); REQUIRE(SUCCESS(AdbcStatementExecuteQuery(&adbc_statement_2, &arrow_stream, &rows_affected, &adbc_error))); @@ -625,17 +646,17 @@ TEST_CASE("Test ADBC Transactions", "[adbc]") { arrow_stream.release(&arrow_stream); // Lets do a rollback - input_data = db.Query("SELECT 42;"); - + input_data = db.QueryArrow("SELECT 42;"); + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection, &adbc_statement, &adbc_error))); REQUIRE( SUCCESS(StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_TARGET_TABLE, table_name.c_str(), &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_MODE, - ADBC_INGEST_OPTION_MODE_APPEND, &adbc_error))); + REQUIRE(SUCCESS( + StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_MODE, ADBC_INGEST_OPTION_MODE_APPEND, &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementBindStream(&adbc_statement, &input_data, &adbc_error))); + REQUIRE(SUCCESS(StatementBindStream(&adbc_statement, &input_data, &adbc_error))); REQUIRE(SUCCESS(StatementExecuteQuery(&adbc_statement, nullptr, nullptr, &adbc_error))); @@ -651,7 +672,7 @@ TEST_CASE("Test ADBC Transactions", "[adbc]") { arrow_stream.release(&arrow_stream); // If we check from con2 we should 2 - + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement_2, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection_2, &adbc_statement_2, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementSetSqlQuery(&adbc_statement_2, query.c_str(), &adbc_error))); REQUIRE(SUCCESS(AdbcStatementExecuteQuery(&adbc_statement_2, &arrow_stream, &rows_affected, &adbc_error))); @@ -675,14 +696,14 @@ TEST_CASE("Test ADBC Transactions", "[adbc]") { arrow_stream.release(&arrow_stream); // Let's change the Auto commit config mid-transaction - input_data = db.Query("SELECT 42;"); - + input_data = db.QueryArrow("SELECT 42;"); + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection, &adbc_statement, &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_TARGET_TABLE, - table_name.c_str(), &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_MODE, - ADBC_INGEST_OPTION_MODE_APPEND, &adbc_error))); + REQUIRE( + SUCCESS(StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_TARGET_TABLE, table_name.c_str(), &adbc_error))); + REQUIRE(SUCCESS( + StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_MODE, ADBC_INGEST_OPTION_MODE_APPEND, &adbc_error))); REQUIRE(SUCCESS(StatementBindStream(&adbc_statement, &input_data, &adbc_error))); @@ -692,6 +713,7 @@ TEST_CASE("Test ADBC Transactions", "[adbc]") { ADBC_OPTION_VALUE_ENABLED, &adbc_error))); // Now Both con1 and con2 should have 3 + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement_2, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection_2, &adbc_statement_2, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementSetSqlQuery(&adbc_statement_2, query.c_str(), &adbc_error))); REQUIRE(SUCCESS(AdbcStatementExecuteQuery(&adbc_statement_2, &arrow_stream, &rows_affected, &adbc_error))); @@ -711,20 +733,21 @@ TEST_CASE("Test ADBC Transactions", "[adbc]") { arrow_array.release(&arrow_array); arrow_stream.release(&arrow_stream); - input_data = db.Query("SELECT 42;"); - + input_data = db.QueryArrow("SELECT 42;"); + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection, &adbc_statement, &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_TARGET_TABLE, - table_name.c_str(), &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_MODE, - ADBC_INGEST_OPTION_MODE_APPEND, &adbc_error))); + REQUIRE( + SUCCESS(StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_TARGET_TABLE, table_name.c_str(), &adbc_error))); + REQUIRE(SUCCESS( + StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_MODE, ADBC_INGEST_OPTION_MODE_APPEND, &adbc_error))); REQUIRE(SUCCESS(StatementBindStream(&adbc_statement, &input_data, &adbc_error))); REQUIRE(SUCCESS(StatementExecuteQuery(&adbc_statement, nullptr, nullptr, &adbc_error))); // Auto-Commit is on, so this should just be commited + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement_2, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection_2, &adbc_statement_2, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementSetSqlQuery(&adbc_statement_2, query.c_str(), &adbc_error))); REQUIRE(SUCCESS(AdbcStatementExecuteQuery(&adbc_statement_2, &arrow_stream, &rows_affected, &adbc_error))); @@ -743,6 +766,13 @@ TEST_CASE("Test ADBC Transactions", "[adbc]") { REQUIRE(((int64_t *)arrow_array.children[0]->buffers[1])[0] == 4); arrow_array.release(&arrow_array); arrow_stream.release(&arrow_stream); + + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement_2, &adbc_error))); + + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection_2, &adbc_error))); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); } TEST_CASE("Test ADBC Transaction Errors", "[adbc]") { @@ -789,17 +819,20 @@ TEST_CASE("Test ADBC Transaction Errors", "[adbc]") { REQUIRE(SUCCESS(AdbcConnectionCommit(&adbc_connection, &adbc_error))); REQUIRE(SUCCESS(AdbcConnectionRollback(&adbc_connection, &adbc_error))); + + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); } TEST_CASE("Test ADBC ConnectionGetTableSchema", "[adbc]") { if (!duckdb_lib) { return; } - duckdb_adbc::AdbcDatabase adbc_database; - duckdb_adbc::AdbcConnection adbc_connection; + AdbcDatabase adbc_database; + AdbcConnection adbc_connection; - duckdb_adbc::AdbcError adbc_error; - duckdb_adbc::InitializeADBCError(&adbc_error); + AdbcError adbc_error; + InitializeADBCError(&adbc_error); ArrowSchema arrow_schema; REQUIRE(SUCCESS(AdbcDatabaseNew(&adbc_database, &adbc_error))); @@ -815,7 +848,7 @@ TEST_CASE("Test ADBC ConnectionGetTableSchema", "[adbc]") { // Test successful schema return REQUIRE(SUCCESS( AdbcConnectionGetTableSchema(&adbc_connection, nullptr, "main", "duckdb_indexes", &arrow_schema, &adbc_error))); - REQUIRE(arrow_schema.n_children == 12); + REQUIRE(arrow_schema.n_children == 13); arrow_schema.release(&arrow_schema); // Test Catalog Name (Not accepted) @@ -828,7 +861,7 @@ TEST_CASE("Test ADBC ConnectionGetTableSchema", "[adbc]") { // Empty schema should be fine REQUIRE(SUCCESS( AdbcConnectionGetTableSchema(&adbc_connection, nullptr, "", "duckdb_indexes", &arrow_schema, &adbc_error))); - REQUIRE(arrow_schema.n_children == 12); + REQUIRE(arrow_schema.n_children == 13); arrow_schema.release(&arrow_schema); // Test null and empty table name @@ -844,20 +877,15 @@ TEST_CASE("Test ADBC ConnectionGetTableSchema", "[adbc]") { REQUIRE(!SUCCESS( AdbcConnectionGetTableSchema(&adbc_connection, nullptr, "b", "duckdb_indexes", &arrow_schema, &adbc_error))); - REQUIRE(std::strcmp(adbc_error.message, "Catalog Error: Table with name duckdb_indexes does not exist!\nDid you " - "mean \"main.duckdb_indexes\"?\nLINE 1: SELECT * FROM b.duckdb_indexes " - "LIMIT 0;\n ^\nunable to initialize statement") == 0); + REQUIRE(std::strstr(adbc_error.message, "Catalog Error") != nullptr); adbc_error.release(&adbc_error); // Test invalid table REQUIRE(!SUCCESS( AdbcConnectionGetTableSchema(&adbc_connection, nullptr, "", "duckdb_indexeeees", &arrow_schema, &adbc_error))); - REQUIRE( - std::strcmp( - adbc_error.message, - "Catalog Error: Table with name duckdb_indexeeees does not exist!\nDid you mean \"duckdb_indexes\"?\nLINE " - "1: SELECT * FROM duckdb_indexeeees LIMIT 0;\n ^\nunable to initialize statement") == - 0); + REQUIRE(std::strstr(adbc_error.message, "Catalog Error") != nullptr); + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); adbc_error.release(&adbc_error); } @@ -865,12 +893,12 @@ TEST_CASE("Test ADBC Substrait", "[adbc]") { if (!duckdb_lib) { return; } - duckdb_adbc::AdbcDatabase adbc_database; - duckdb_adbc::AdbcConnection adbc_connection; + AdbcDatabase adbc_database; + AdbcConnection adbc_connection; - duckdb_adbc::AdbcError adbc_error; - duckdb_adbc::AdbcStatement adbc_statement; - duckdb_adbc::InitializeADBCError(&adbc_error); + AdbcError adbc_error; + AdbcStatement adbc_statement; + InitializeADBCError(&adbc_error); ArrowArrayStream arrow_stream; ArrowArray arrow_array; @@ -888,20 +916,22 @@ TEST_CASE("Test ADBC Substrait", "[adbc]") { auto conn = (duckdb::Connection *)adbc_connection.private_data; if (!conn->context->db->ExtensionIsLoaded("substrait")) { // We need substrait to run this test + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); return; } // Insert Data ADBCTestDatabase db; - auto &input_data = db.Query("SELECT 'Push Ups' as exercise, 3 as difficulty_level;"); + auto &input_data = db.QueryArrow("SELECT 'Push Ups' as exercise, 3 as difficulty_level;"); string table_name = "crossfit"; REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection, &adbc_statement, &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_TARGET_TABLE, - table_name.c_str(), &adbc_error))); + REQUIRE( + SUCCESS(StatementSetOption(&adbc_statement, ADBC_INGEST_OPTION_TARGET_TABLE, table_name.c_str(), &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementBindStream(&adbc_statement, &input_data, &adbc_error))); + REQUIRE(SUCCESS(StatementBindStream(&adbc_statement, &input_data, &adbc_error))); - REQUIRE(SUCCESS(duckdb_adbc::StatementExecuteQuery(&adbc_statement, nullptr, nullptr, &adbc_error))); + REQUIRE(SUCCESS(StatementExecuteQuery(&adbc_statement, nullptr, nullptr, &adbc_error))); // SELECT COUNT(*) FROM CROSSFIT auto str_plan = @@ -919,6 +949,8 @@ TEST_CASE("Test ADBC Substrait", "[adbc]") { "\\x06DuckDB"; auto plan = (uint8_t *)str_plan; size_t length = strlen(str_plan); + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); + REQUIRE(SUCCESS(AdbcStatementNew(&adbc_connection, &adbc_statement, &adbc_error))); REQUIRE(SUCCESS(AdbcStatementSetSubstraitPlan(&adbc_statement, plan, length, &adbc_error))); int64_t rows_affected; @@ -941,6 +973,10 @@ TEST_CASE("Test ADBC Substrait", "[adbc]") { REQUIRE(!SUCCESS(AdbcStatementSetSubstraitPlan(&adbc_statement, plan, 5, &adbc_error))); REQUIRE(std::strcmp(adbc_error.message, "Conversion Error: Invalid hex escape code encountered in string -> blob " "conversion: unterminated escape code at end of blob") == 0); + + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); adbc_error.release(&adbc_error); } @@ -948,13 +984,13 @@ TEST_CASE("Test ADBC Prepared Statement - Prepare nop", "[adbc]") { if (!duckdb_lib) { return; } - duckdb_adbc::AdbcDatabase adbc_database; - duckdb_adbc::AdbcConnection adbc_connection; + AdbcDatabase adbc_database; + AdbcConnection adbc_connection; - duckdb_adbc::AdbcError adbc_error; - duckdb_adbc::InitializeADBCError(&adbc_error); + AdbcError adbc_error; + InitializeADBCError(&adbc_error); - duckdb_adbc::AdbcStatement adbc_statement; + AdbcStatement adbc_statement; REQUIRE(SUCCESS(AdbcDatabaseNew(&adbc_database, &adbc_error))); REQUIRE(SUCCESS(AdbcDatabaseSetOption(&adbc_database, "driver", duckdb_lib, &adbc_error))); @@ -971,77 +1007,67 @@ TEST_CASE("Test ADBC Prepared Statement - Prepare nop", "[adbc]") { // Statement Prepare is a nop for us, so it should just work, although it just does some error checking. REQUIRE(SUCCESS(AdbcStatementPrepare(&adbc_statement, &adbc_error))); - REQUIRE(!SUCCESS(AdbcStatementPrepare(nullptr, &adbc_error))); - - REQUIRE(std::strcmp(adbc_error.message, "Missing statement object") == 0); - adbc_error.release(&adbc_error); + REQUIRE(SUCCESS(AdbcStatementRelease(&adbc_statement, &adbc_error))); - AdbcStatementRelease(&adbc_statement, &adbc_error); REQUIRE(!SUCCESS(AdbcStatementPrepare(&adbc_statement, &adbc_error))); - REQUIRE(std::strcmp(adbc_error.message, "Invalid statement object") == 0); - adbc_error.release(&adbc_error); + REQUIRE(SUCCESS(AdbcConnectionRelease(&adbc_connection, &adbc_error))); + REQUIRE(SUCCESS(AdbcDatabaseRelease(&adbc_database, &adbc_error))); } TEST_CASE("Test AdbcConnectionGetTableTypes", "[adbc]") { if (!duckdb_lib) { return; } + string path_db; + ADBCTestDatabase db("AdbcConnectionGetTableTypes.db"); // Create Arrow Result - auto input_data = db.Query("SELECT 42"); + auto input_data = db.QueryArrow("SELECT 42"); // Create Table 'my_table' from the Arrow Result db.CreateTable("my_table", input_data); - ArrowArrayStream arrow_stream; - duckdb_adbc::AdbcError adbc_error; - duckdb_adbc::InitializeADBCError(&adbc_error); + AdbcError adbc_error; + InitializeADBCError(&adbc_error); AdbcConnectionGetTableTypes(&db.adbc_connection, &arrow_stream, &adbc_error); db.CreateTable("result", arrow_stream); + path_db = db.path; + db.arrow_stream.release = nullptr; - DuckDB db_check(db.path); - Connection con(db_check); - auto res = con.Query("Select * from result"); + auto res = db.Query("Select * from result"); REQUIRE(res->ColumnCount() == 1); REQUIRE(res->GetValue(0, 0).ToString() == "BASE TABLE"); - db.arrow_stream.release = nullptr; } -void TestFilters(ADBCTestDatabase &db, duckdb_adbc::AdbcError &adbc_error, idx_t depth) { +void TestFilters(ADBCTestDatabase &db, AdbcError &adbc_error, idx_t depth) { { ArrowArrayStream arrow_stream; AdbcConnectionGetObjects(&db.adbc_connection, depth, nullptr, "bla", nullptr, nullptr, nullptr, &arrow_stream, &adbc_error); - db.CreateTable("result", arrow_stream); - DuckDB db_check(db.path); - Connection con(db_check); - auto res = con.Query("Select * from result"); - REQUIRE(res->RowCount() == 0); - db.Query("Drop table result;"); + ArrowArray arrow_array; + arrow_stream.get_next(&arrow_stream, &arrow_array); + REQUIRE(!arrow_array.release); + arrow_stream.release(&arrow_stream); } { ArrowArrayStream arrow_stream; AdbcConnectionGetObjects(&db.adbc_connection, depth, nullptr, nullptr, "bla", nullptr, nullptr, &arrow_stream, &adbc_error); - db.CreateTable("result", arrow_stream); - DuckDB db_check(db.path); - Connection con(db_check); - auto res = con.Query("Select * from result"); - REQUIRE(res->RowCount() == 0); - db.Query("Drop table result;"); + ArrowArray arrow_array; + arrow_stream.get_next(&arrow_stream, &arrow_array); + REQUIRE(!arrow_array.release); + arrow_stream.release(&arrow_stream); } { ArrowArrayStream arrow_stream; AdbcConnectionGetObjects(&db.adbc_connection, depth, nullptr, nullptr, nullptr, nullptr, "bla", &arrow_stream, &adbc_error); - db.CreateTable("result", arrow_stream); - DuckDB db_check(db.path); - Connection con(db_check); - auto res = con.Query("Select * from result"); - REQUIRE(res->RowCount() == 0); - db.Query("Drop table result;"); + ArrowArray arrow_array; + arrow_stream.get_next(&arrow_stream, &arrow_array); + REQUIRE(!arrow_array.release); + arrow_stream.release(&arrow_stream); } } @@ -1052,51 +1078,45 @@ TEST_CASE("Test AdbcConnectionGetObjects", "[adbc]") { // Lets first try what works // 1. Test ADBC_OBJECT_DEPTH_DB_SCHEMAS - { ADBCTestDatabase db("ADBC_OBJECT_DEPTH_DB_SCHEMAS.db"); // Create Arrow Result - auto input_data = db.Query("SELECT 42"); + auto input_data = db.QueryArrow("SELECT 42"); // Create Table 'my_table' from the Arrow Result db.CreateTable("my_table", input_data); - duckdb_adbc::AdbcError adbc_error; - duckdb_adbc::InitializeADBCError(&adbc_error); + AdbcError adbc_error; + InitializeADBCError(&adbc_error); ArrowArrayStream arrow_stream; AdbcConnectionGetObjects(&db.adbc_connection, ADBC_OBJECT_DEPTH_DB_SCHEMAS, nullptr, nullptr, nullptr, nullptr, nullptr, &arrow_stream, &adbc_error); db.CreateTable("result", arrow_stream); - DuckDB db_check(db.path); - Connection con(db_check); - auto res = con.Query("Select * from result"); + auto res = db.Query("Select * from result"); REQUIRE(res->ColumnCount() == 1); REQUIRE(res->GetValue(0, 0).ToString() == "main"); - db.Query("Drop table result;"); + db.QueryArrow("Drop table result;"); TestFilters(db, adbc_error, ADBC_OBJECT_DEPTH_DB_SCHEMAS); } - // 2. Test ADBC_OBJECT_DEPTH_TABLES { ADBCTestDatabase db("test_table_depth"); // Create Arrow Result - auto input_data = db.Query("SELECT 42"); + auto input_data = db.QueryArrow("SELECT 42"); // Create Table 'my_table' from the Arrow Result db.CreateTable("my_table", input_data); - duckdb_adbc::AdbcError adbc_error; - duckdb_adbc::InitializeADBCError(&adbc_error); + AdbcError adbc_error; + InitializeADBCError(&adbc_error); ArrowArrayStream arrow_stream; AdbcConnectionGetObjects(&db.adbc_connection, ADBC_OBJECT_DEPTH_TABLES, nullptr, nullptr, nullptr, nullptr, nullptr, &arrow_stream, &adbc_error); db.CreateTable("result", arrow_stream); - DuckDB db_check(db.path); - Connection con(db_check); - auto res = con.Query("Select * from result"); + auto res = db.Query("Select * from result"); REQUIRE(res->ColumnCount() == 2); REQUIRE(res->GetValue(0, 0).ToString() == "main"); REQUIRE(res->GetValue(1, 0).ToString() == "[{'table_name': my_table}]"); - db.Query("Drop table result;"); + db.QueryArrow("Drop table result;"); TestFilters(db, adbc_error, ADBC_OBJECT_DEPTH_TABLES); } @@ -1104,62 +1124,58 @@ TEST_CASE("Test AdbcConnectionGetObjects", "[adbc]") { { ADBCTestDatabase db("test_column_depth"); // Create Arrow Result - auto input_data = db.Query("SELECT 42"); + auto input_data = db.QueryArrow("SELECT 42"); // Create Table 'my_table' from the Arrow Result db.CreateTable("my_table", input_data); - duckdb_adbc::AdbcError adbc_error; - duckdb_adbc::InitializeADBCError(&adbc_error); + AdbcError adbc_error; + InitializeADBCError(&adbc_error); ArrowArrayStream arrow_stream; AdbcConnectionGetObjects(&db.adbc_connection, ADBC_OBJECT_DEPTH_COLUMNS, nullptr, nullptr, nullptr, nullptr, nullptr, &arrow_stream, &adbc_error); db.CreateTable("result", arrow_stream); - DuckDB db_check(db.path); - Connection con(db_check); - auto res = con.Query("Select * from result"); + auto res = db.Query("Select * from result"); REQUIRE(res->ColumnCount() == 2); REQUIRE(res->GetValue(0, 0).ToString() == "main"); REQUIRE( res->GetValue(1, 0).ToString() == "[{'table_name': my_table, 'table_columns': [{'column_name': 42, 'ordinal_position': 2, 'remarks': }]}]"); - db.Query("Drop table result;"); + db.QueryArrow("Drop table result;"); TestFilters(db, adbc_error, ADBC_OBJECT_DEPTH_COLUMNS); } // 4.Test ADBC_OBJECT_DEPTH_ALL { ADBCTestDatabase db("test_all_depth"); // Create Arrow Result - auto input_data = db.Query("SELECT 42"); + auto input_data = db.QueryArrow("SELECT 42"); // Create Table 'my_table' from the Arrow Result db.CreateTable("my_table", input_data); - duckdb_adbc::AdbcError adbc_error; - duckdb_adbc::InitializeADBCError(&adbc_error); + AdbcError adbc_error; + InitializeADBCError(&adbc_error); ArrowArrayStream arrow_stream; AdbcConnectionGetObjects(&db.adbc_connection, ADBC_OBJECT_DEPTH_ALL, nullptr, nullptr, nullptr, nullptr, nullptr, &arrow_stream, &adbc_error); db.CreateTable("result", arrow_stream); - DuckDB db_check(db.path); - Connection con(db_check); - auto res = con.Query("Select * from result"); + auto res = db.Query("Select * from result"); REQUIRE(res->ColumnCount() == 2); REQUIRE(res->GetValue(0, 0).ToString() == "main"); REQUIRE( res->GetValue(1, 0).ToString() == "[{'table_name': my_table, 'table_columns': [{'column_name': 42, 'ordinal_position': 2, 'remarks': }]}]"); - db.Query("Drop table result;"); + db.QueryArrow("Drop table result;"); TestFilters(db, adbc_error, ADBC_OBJECT_DEPTH_ALL); } - // Now lets test some errors + // Now lets test some errors { ADBCTestDatabase db("test_errors"); // Create Arrow Result - auto input_data = db.Query("SELECT 42"); + auto input_data = db.QueryArrow("SELECT 42"); // Create Table 'my_table' from the Arrow Result db.CreateTable("my_table", input_data); - duckdb_adbc::AdbcError adbc_error; - duckdb_adbc::InitializeADBCError(&adbc_error); + AdbcError adbc_error; + InitializeADBCError(&adbc_error); ArrowArrayStream arrow_stream; AdbcConnectionGetObjects(&db.adbc_connection, ADBC_OBJECT_DEPTH_CATALOGS, nullptr, nullptr, nullptr, nullptr, @@ -1180,10 +1196,5 @@ TEST_CASE("Test AdbcConnectionGetObjects", "[adbc]") { &adbc_error); REQUIRE(std::strcmp(adbc_error.message, "Table types parameter not yet supported") == 0); adbc_error.release(&adbc_error); - - AdbcConnectionGetObjects(nullptr, ADBC_OBJECT_DEPTH_ALL, nullptr, nullptr, nullptr, nullptr, nullptr, - &arrow_stream, &adbc_error); - REQUIRE(std::strcmp(adbc_error.message, "connection can't be null") == 0); - adbc_error.release(&adbc_error); } } diff --git a/test/api/capi/test_capi.cpp b/test/api/capi/test_capi.cpp index 3c0f39d50e2c..269179b5e8bb 100644 --- a/test/api/capi/test_capi.cpp +++ b/test/api/capi/test_capi.cpp @@ -17,6 +17,18 @@ static void require_hugeint_eq(duckdb_hugeint left, uint64_t lower, int64_t uppe require_hugeint_eq(left, temp); } +static void require_uhugeint_eq(duckdb_uhugeint left, duckdb_uhugeint right) { + REQUIRE(left.lower == right.lower); + REQUIRE(left.upper == right.upper); +} + +static void require_uhugeint_eq(duckdb_uhugeint left, uint64_t lower, uint64_t upper) { + duckdb_uhugeint temp; + temp.lower = lower; + temp.upper = upper; + require_uhugeint_eq(left, temp); +} + TEST_CASE("Basic test of C API", "[capi]") { CAPITester tester; duckdb::unique_ptr result; @@ -89,6 +101,7 @@ TEST_CASE("Basic test of C API", "[capi]") { // NULL selection result = tester.Query("SELECT a, b FROM test ORDER BY a"); REQUIRE_NO_FAIL(*result); + REQUIRE(result->rows_changed() == 0); // NULL, 11, 13 REQUIRE(result->IsNull(0, 0)); REQUIRE(result->Fetch(0, 1) == 11); @@ -126,8 +139,8 @@ TEST_CASE("Test different types of C API", "[capi]") { REQUIRE_NO_FAIL(tester.Query("SET default_null_order='nulls_first'")); // integer columns - duckdb::vector types = {"TINYINT", "SMALLINT", "INTEGER", "BIGINT", "HUGEINT", - "UTINYINT", "USMALLINT", "UINTEGER", "UBIGINT"}; + duckdb::vector types = {"TINYINT", "SMALLINT", "INTEGER", "BIGINT", "HUGEINT", + "UTINYINT", "USMALLINT", "UINTEGER", "UBIGINT", "UHUGEINT"}; for (auto &type : types) { // create the table and insert values REQUIRE_NO_FAIL(tester.Query("BEGIN TRANSACTION")); @@ -145,6 +158,7 @@ TEST_CASE("Test different types of C API", "[capi]") { REQUIRE(result->Fetch(0, 0) == 0); REQUIRE(result->Fetch(0, 0) == 0); REQUIRE(result->Fetch(0, 0) == 0); + REQUIRE(duckdb_uhugeint_to_double(result->Fetch(0, 0)) == 0); REQUIRE(duckdb_hugeint_to_double(result->Fetch(0, 0)) == 0); REQUIRE(result->Fetch(0, 0) == ""); REQUIRE(ApproxEqual(result->Fetch(0, 0), 0.0f)); @@ -159,6 +173,7 @@ TEST_CASE("Test different types of C API", "[capi]") { REQUIRE(result->Fetch(0, 1) == 1); REQUIRE(result->Fetch(0, 1) == 1); REQUIRE(result->Fetch(0, 1) == 1); + REQUIRE(duckdb_uhugeint_to_double(result->Fetch(0, 1)) == 1); REQUIRE(duckdb_hugeint_to_double(result->Fetch(0, 1)) == 1); REQUIRE(ApproxEqual(result->Fetch(0, 1), 1.0f)); REQUIRE(ApproxEqual(result->Fetch(0, 1), 1.0)); @@ -350,6 +365,12 @@ TEST_CASE("Test different types of C API", "[capi]") { require_hugeint_eq(result->Fetch(3, 0), 49082094825, 0); require_hugeint_eq(result->Fetch(4, 0), 0, 0); + require_uhugeint_eq(result->Fetch(0, 0), 1, 0); + require_uhugeint_eq(result->Fetch(1, 0), 100, 0); + require_uhugeint_eq(result->Fetch(2, 0), 0, 0); // overflow + require_uhugeint_eq(result->Fetch(3, 0), 49082094825, 0); + require_uhugeint_eq(result->Fetch(4, 0), 0, 0); + REQUIRE(result->Fetch(0, 0) == 1.2f); REQUIRE(result->Fetch(1, 0) == 100.3f); REQUIRE(floor(result->Fetch(2, 0)) == -320939); @@ -392,6 +413,56 @@ TEST_CASE("Test different types of C API", "[capi]") { REQUIRE(result->Fetch(0, 0) == "-123.45"); } +TEST_CASE("decompose timetz with duckdb_from_time_tz", "[capi]") { + CAPITester tester; + + REQUIRE(tester.OpenDatabase(nullptr)); + + auto res = tester.Query("SELECT TIMETZ '11:30:00.123456-02:00'"); + REQUIRE(res->success); + + auto chunk = res->FetchChunk(0); + + REQUIRE(chunk->ColumnCount() == 1); + REQUIRE(res->ColumnType(0) == DUCKDB_TYPE_TIME_TZ); + + auto data = (duckdb_time_tz *)chunk->GetData(0); + + auto time_tz = duckdb_from_time_tz(data[0]); + + auto val = duckdb_from_time(time_tz.time); + REQUIRE(val.hour == 11); + REQUIRE(val.min == 30); + REQUIRE(val.sec == 0); + REQUIRE(val.micros == 123456); + + REQUIRE(time_tz.offset == -7200); +} + +TEST_CASE("create time_tz value") { + duckdb_time_struct time; + time.hour = 4; + time.min = 2; + time.sec = 6; + time.micros = 9; + int offset = 8000; + + auto micros = duckdb_to_time(time); + auto res = duckdb_create_time_tz(micros.micros, offset); + + // and back again + + auto inverse = duckdb_from_time_tz(res); + REQUIRE(micros.micros == inverse.time.micros); + REQUIRE(offset == inverse.offset); + + time = duckdb_from_time(inverse.time); + REQUIRE(time.hour == 4); + REQUIRE(time.min == 2); + REQUIRE(time.sec == 6); + REQUIRE(time.micros == 9); +} + TEST_CASE("Test errors in C API", "[capi]") { CAPITester tester; duckdb::unique_ptr result; diff --git a/test/api/capi/test_capi_appender.cpp b/test/api/capi/test_capi_appender.cpp index 714b46e7aaab..e7e3a4c2c538 100644 --- a/test/api/capi/test_capi_appender.cpp +++ b/test/api/capi/test_capi_appender.cpp @@ -216,7 +216,7 @@ TEST_CASE("Test appender statements in C API", "[capi]") { // many types REQUIRE_NO_FAIL(tester.Query("CREATE TABLE many_types(bool boolean, t TINYINT, s SMALLINT, b BIGINT, ut UTINYINT, " "us USMALLINT, ui UINTEGER, ub UBIGINT, uf REAL, ud DOUBLE, txt VARCHAR, blb BLOB, dt " - "DATE, tm TIME, ts TIMESTAMP, ival INTERVAL, h HUGEINT)")); + "DATE, tm TIME, ts TIMESTAMP, ival INTERVAL, h HUGEINT, uh UHUGEINT)")); duckdb_appender tappender; status = duckdb_appender_create(tester.connection, nullptr, "many_types", &tappender); @@ -298,6 +298,9 @@ TEST_CASE("Test appender statements in C API", "[capi]") { status = duckdb_append_hugeint(tappender, duckdb_double_to_hugeint(27)); REQUIRE(status == DuckDBSuccess); + status = duckdb_append_uhugeint(tappender, duckdb_double_to_uhugeint(27)); + REQUIRE(status == DuckDBSuccess); + status = duckdb_appender_end_row(tappender); REQUIRE(status == DuckDBSuccess); @@ -355,6 +358,9 @@ TEST_CASE("Test appender statements in C API", "[capi]") { status = duckdb_append_null(tappender); REQUIRE(status == DuckDBSuccess); + status = duckdb_append_null(tappender); + REQUIRE(status == DuckDBSuccess); + status = duckdb_appender_end_row(tappender); REQUIRE(status == DuckDBSuccess); @@ -415,6 +421,9 @@ TEST_CASE("Test appender statements in C API", "[capi]") { auto hugeint = result->Fetch(16, 0); REQUIRE(duckdb_hugeint_to_double(hugeint) == 27); + auto uhugeint = result->Fetch(17, 0); + REQUIRE(duckdb_uhugeint_to_double(uhugeint) == 27); + REQUIRE(result->IsNull(0, 1)); REQUIRE(result->IsNull(1, 1)); REQUIRE(result->IsNull(2, 1)); @@ -464,6 +473,9 @@ TEST_CASE("Test appender statements in C API", "[capi]") { hugeint = result->Fetch(16, 1); REQUIRE(duckdb_hugeint_to_double(hugeint) == 0); + uhugeint = result->Fetch(17, 1); + REQUIRE(duckdb_uhugeint_to_double(uhugeint) == 0); + // double out of range for hugeint hugeint = duckdb_double_to_hugeint(1e300); REQUIRE(hugeint.lower == 0); @@ -472,6 +484,15 @@ TEST_CASE("Test appender statements in C API", "[capi]") { hugeint = duckdb_double_to_hugeint(NAN); REQUIRE(hugeint.lower == 0); REQUIRE(hugeint.upper == 0); + + // double out of range for uhugeint + uhugeint = duckdb_double_to_uhugeint(1e300); + REQUIRE(uhugeint.lower == 0); + REQUIRE(uhugeint.upper == 0); + + uhugeint = duckdb_double_to_uhugeint(NAN); + REQUIRE(uhugeint.lower == 0); + REQUIRE(uhugeint.upper == 0); } TEST_CASE("Test append timestamp in C API", "[capi]") { diff --git a/test/api/capi/test_capi_arrow.cpp b/test/api/capi/test_capi_arrow.cpp index 055439dec0e1..96d33cb8591b 100644 --- a/test/api/capi/test_capi_arrow.cpp +++ b/test/api/capi/test_capi_arrow.cpp @@ -6,8 +6,10 @@ using namespace duckdb; using namespace std; TEST_CASE("Test arrow in C API", "[capi][arrow]") { + CAPITester tester; duckdb::unique_ptr result; + duckdb_prepared_statement stmt = nullptr; duckdb_arrow arrow_result = nullptr; @@ -15,149 +17,202 @@ TEST_CASE("Test arrow in C API", "[capi][arrow]") { REQUIRE(tester.OpenDatabase(nullptr)); SECTION("test rows changed") { - REQUIRE_NO_FAIL(tester.Query("CREATE TABLE test(a INTEGER)")); - REQUIRE(duckdb_query_arrow(tester.connection, "INSERT INTO test VALUES (1), (2);", &arrow_result) == - DuckDBSuccess); + + REQUIRE_NO_FAIL(tester.Query("CREATE TABLE test(a INTEGER);")); + auto state = duckdb_query_arrow(tester.connection, "INSERT INTO test VALUES (1), (2);", &arrow_result); + REQUIRE(state == DuckDBSuccess); REQUIRE(duckdb_arrow_rows_changed(arrow_result) == 2); duckdb_destroy_arrow(&arrow_result); - REQUIRE_NO_FAIL(tester.Query("drop table test")); + REQUIRE_NO_FAIL(tester.Query("DROP TABLE test;")); } SECTION("test query arrow") { - REQUIRE(duckdb_query_arrow(tester.connection, "SELECT 42 AS VALUE, [1,2,3,4,5] AS LST", &arrow_result) == - DuckDBSuccess); + + auto state = duckdb_query_arrow(tester.connection, "SELECT 42 AS VALUE, [1,2,3,4,5] AS LST;", &arrow_result); + REQUIRE(state == DuckDBSuccess); REQUIRE(duckdb_arrow_row_count(arrow_result) == 1); REQUIRE(duckdb_arrow_column_count(arrow_result) == 2); REQUIRE(duckdb_arrow_rows_changed(arrow_result) == 0); - // query schema - ArrowSchema *arrow_schema = new ArrowSchema(); - REQUIRE(duckdb_query_arrow_schema(arrow_result, (duckdb_arrow_schema *)&arrow_schema) == DuckDBSuccess); - REQUIRE(string(arrow_schema->name) == "duckdb_query_result"); - // User need to release the data themselves - if (arrow_schema->release) { - arrow_schema->release(arrow_schema); + // query the arrow schema + ArrowSchema arrow_schema; + arrow_schema.Init(); + auto arrow_schema_ptr = &arrow_schema; + + state = duckdb_query_arrow_schema(arrow_result, reinterpret_cast(&arrow_schema_ptr)); + REQUIRE(state == DuckDBSuccess); + REQUIRE(string(arrow_schema.name) == "duckdb_query_result"); + if (arrow_schema.release) { + arrow_schema.release(arrow_schema_ptr); } - delete arrow_schema; // query array data - ArrowArray *arrow_array = new ArrowArray(); - REQUIRE(duckdb_query_arrow_array(arrow_result, (duckdb_arrow_array *)&arrow_array) == DuckDBSuccess); - REQUIRE(arrow_array->length == 1); - arrow_array->release(arrow_array); - delete arrow_array; + ArrowArray arrow_array; + arrow_array.Init(); + auto arrow_array_ptr = &arrow_array; + + state = duckdb_query_arrow_array(arrow_result, reinterpret_cast(&arrow_array_ptr)); + REQUIRE(state == DuckDBSuccess); + REQUIRE(arrow_array.length == 1); + REQUIRE(arrow_array.release != nullptr); + arrow_array.release(arrow_array_ptr); duckdb_arrow_array null_array = nullptr; - REQUIRE(duckdb_query_arrow_array(arrow_result, &null_array) == DuckDBSuccess); + state = duckdb_query_arrow_array(arrow_result, &null_array); + REQUIRE(state == DuckDBSuccess); REQUIRE(null_array == nullptr); - // destroy result + // destroy the arrow result duckdb_destroy_arrow(&arrow_result); } SECTION("test multiple chunks") { - // create table that consists of multiple chunks - REQUIRE_NO_FAIL(tester.Query("CREATE TABLE test(a INTEGER)")); + + // create a table that consists of multiple chunks + REQUIRE_NO_FAIL(tester.Query("CREATE TABLE test(a INTEGER);")); REQUIRE_NO_FAIL( tester.Query("INSERT INTO test SELECT i FROM (VALUES (1), (2), (3), (4), (5)) t(i), range(500);")); + auto state = duckdb_query_arrow(tester.connection, "SELECT CAST(a AS INTEGER) AS a FROM test ORDER BY a;", + &arrow_result); + REQUIRE(state == DuckDBSuccess); - REQUIRE(duckdb_query_arrow(tester.connection, "SELECT CAST(a AS INTEGER) AS a FROM test ORDER BY a", - &arrow_result) == DuckDBSuccess); + // query the arrow schema + ArrowSchema arrow_schema; + arrow_schema.Init(); + auto arrow_schema_ptr = &arrow_schema; - ArrowSchema *arrow_schema = new ArrowSchema(); - REQUIRE(duckdb_query_arrow_schema(arrow_result, (duckdb_arrow_schema *)&arrow_schema) == DuckDBSuccess); - REQUIRE(arrow_schema->release != nullptr); - arrow_schema->release(arrow_schema); - delete arrow_schema; + state = duckdb_query_arrow_schema(arrow_result, reinterpret_cast(&arrow_schema_ptr)); + REQUIRE(state == DuckDBSuccess); + REQUIRE(arrow_schema.release != nullptr); + arrow_schema.release(arrow_schema_ptr); int total_count = 0; while (true) { - ArrowArray *arrow_array = new ArrowArray(); - REQUIRE(duckdb_query_arrow_array(arrow_result, (duckdb_arrow_array *)&arrow_array) == DuckDBSuccess); - if (arrow_array->length == 0) { - delete arrow_array; + + // query array data + ArrowArray arrow_array; + arrow_array.Init(); + auto arrow_array_ptr = &arrow_array; + + state = duckdb_query_arrow_array(arrow_result, reinterpret_cast(&arrow_array_ptr)); + REQUIRE(state == DuckDBSuccess); + + if (arrow_array.length == 0) { + // nothing to release REQUIRE(total_count == 2500); break; } - REQUIRE(arrow_array->length > 0); - total_count += arrow_array->length; - arrow_array->release(arrow_array); - delete arrow_array; + + REQUIRE(arrow_array.length > 0); + total_count += arrow_array.length; + REQUIRE(arrow_array.release != nullptr); + arrow_array.release(arrow_array_ptr); } + + // destroy the arrow result duckdb_destroy_arrow(&arrow_result); - REQUIRE_NO_FAIL(tester.Query("drop table test")); + REQUIRE_NO_FAIL(tester.Query("DROP TABLE test;")); } SECTION("test prepare query arrow") { - REQUIRE(duckdb_prepare(tester.connection, "SELECT CAST($1 AS BIGINT)", &stmt) == DuckDBSuccess); + + auto state = duckdb_prepare(tester.connection, "SELECT CAST($1 AS BIGINT)", &stmt); + REQUIRE(state == DuckDBSuccess); REQUIRE(stmt != nullptr); REQUIRE(duckdb_bind_int64(stmt, 1, 42) == DuckDBSuccess); + + // prepare and execute the arrow schema ArrowSchema prepared_schema; - prepared_schema.release = nullptr; - auto prep_schema_p = &prepared_schema; - REQUIRE(duckdb_prepared_arrow_schema(stmt, (duckdb_arrow_schema *)&prep_schema_p) == DuckDBSuccess); + prepared_schema.Init(); + auto prepared_schema_ptr = &prepared_schema; + + state = duckdb_prepared_arrow_schema(stmt, reinterpret_cast(&prepared_schema_ptr)); + REQUIRE(state == DuckDBSuccess); REQUIRE(string(prepared_schema.format) == "+s"); REQUIRE(duckdb_execute_prepared_arrow(stmt, nullptr) == DuckDBError); REQUIRE(duckdb_execute_prepared_arrow(stmt, &arrow_result) == DuckDBSuccess); - prepared_schema.release(&prepared_schema); - - ArrowSchema *arrow_schema = new ArrowSchema(); - REQUIRE(duckdb_query_arrow_schema(arrow_result, (duckdb_arrow_schema *)&arrow_schema) == DuckDBSuccess); - REQUIRE(string(arrow_schema->format) == "+s"); - arrow_schema->release(arrow_schema); - delete arrow_schema; - - ArrowArray *arrow_array = new ArrowArray(); - REQUIRE(duckdb_query_arrow_array(arrow_result, (duckdb_arrow_array *)&arrow_array) == DuckDBSuccess); - REQUIRE(arrow_array->length == 1); - arrow_array->release(arrow_array); - delete arrow_array; + REQUIRE(prepared_schema.release != nullptr); + prepared_schema.release(prepared_schema_ptr); + + // query the arrow schema + ArrowSchema arrow_schema; + arrow_schema.Init(); + auto arrow_schema_ptr = &arrow_schema; + + state = duckdb_query_arrow_schema(arrow_result, reinterpret_cast(&arrow_schema_ptr)); + REQUIRE(state == DuckDBSuccess); + REQUIRE(string(arrow_schema.format) == "+s"); + REQUIRE(arrow_schema.release != nullptr); + arrow_schema.release(arrow_schema_ptr); + + ArrowArray arrow_array; + arrow_array.Init(); + auto arrow_array_ptr = &arrow_array; + + state = duckdb_query_arrow_array(arrow_result, reinterpret_cast(&arrow_array_ptr)); + REQUIRE(state == DuckDBSuccess); + REQUIRE(arrow_array.length == 1); + REQUIRE(arrow_array.release); + arrow_array.release(arrow_array_ptr); duckdb_destroy_arrow(&arrow_result); duckdb_destroy_prepare(&stmt); } SECTION("test scan") { + const auto logical_types = duckdb::vector {LogicalType(LogicalTypeId::INTEGER)}; const auto column_names = duckdb::vector {"value"}; - ArrowSchema *arrow_schema = new ArrowSchema(); + // arrow schema, release after use + ArrowSchema arrow_schema; + arrow_schema.Init(); + auto arrow_schema_ptr = &arrow_schema; - ClientProperties options = ((Connection *)tester.connection)->context->GetClientProperties(); - duckdb::ArrowConverter::ToArrowSchema(arrow_schema, logical_types, column_names, options); + ClientProperties options = (reinterpret_cast(tester.connection)->context->GetClientProperties()); + duckdb::ArrowConverter::ToArrowSchema(arrow_schema_ptr, logical_types, column_names, options); - ArrowArray *arrow_array = new ArrowArray(); + ArrowArray arrow_array; + arrow_array.Init(); + auto arrow_array_ptr = &arrow_array; SECTION("empty array") { + // Create an empty view with a `value` column. string view_name = "foo_empty_table"; - ArrowArrayStream *out_stream; - REQUIRE(duckdb_arrow_array_scan(tester.connection, view_name.c_str(), - reinterpret_cast(arrow_schema), - reinterpret_cast(arrow_array), - reinterpret_cast(&out_stream)) == DuckDBSuccess); - // Get created view from DB. + // arrow array scan, destroy out_stream after use + ArrowArrayStream *arrow_array_stream; + auto out_stream = reinterpret_cast(&arrow_array_stream); + auto state = duckdb_arrow_array_scan(tester.connection, view_name.c_str(), + reinterpret_cast(arrow_schema_ptr), + reinterpret_cast(arrow_array_ptr), out_stream); + REQUIRE(state == DuckDBSuccess); + + // get the created view from the DB auto get_query = "SELECT * FROM " + view_name + ";"; - REQUIRE(duckdb_prepare(tester.connection, get_query.c_str(), &stmt) == DuckDBSuccess); + state = duckdb_prepare(tester.connection, get_query.c_str(), &stmt); + REQUIRE(state == DuckDBSuccess); REQUIRE(stmt != nullptr); - REQUIRE(duckdb_execute_prepared_arrow(stmt, &arrow_result) == DuckDBSuccess); + state = duckdb_execute_prepared_arrow(stmt, &arrow_result); + REQUIRE(state == DuckDBSuccess); - // Recover array from results. - ArrowArray *out_array = new ArrowArray(); - REQUIRE(duckdb_query_arrow_array(arrow_result, reinterpret_cast(&out_array)) == - DuckDBSuccess); - REQUIRE(out_array->length == 0); - REQUIRE(out_array->release == nullptr); - delete out_array; + // recover the arrow array from the arrow result + ArrowArray out_array; + out_array.Init(); + auto out_array_ptr = &out_array; - out_stream->release(out_stream); - delete out_stream; + state = duckdb_query_arrow_array(arrow_result, reinterpret_cast(&out_array_ptr)); + REQUIRE(state == DuckDBSuccess); + REQUIRE(out_array.length == 0); + REQUIRE(out_array.release == nullptr); - REQUIRE(arrow_array->release == nullptr); + duckdb_destroy_arrow_stream(out_stream); + REQUIRE(arrow_array.release == nullptr); } SECTION("big array") { + // Create a view with a `value` column containing 4096 values. int num_buffers = 2, size = STANDARD_VECTOR_SIZE * num_buffers; ArrowAppender appender(logical_types, size, options); @@ -171,74 +226,76 @@ TEST_CASE("Test arrow in C API", "[capi][arrow]") { for (int row = 0; row < STANDARD_VECTOR_SIZE; row++) { data_chunk->SetValue(0, row, duckdb::Value(i)); } - appender.Append(*data_chunk, 0, data_chunk->size(), data_chunk->size()); } - *arrow_array = appender.Finalize(); + *arrow_array_ptr = appender.Finalize(); - // Create view. + // Create the view. string view_name = "foo_table"; - ArrowArrayStream *out_stream; - REQUIRE(duckdb_arrow_array_scan(tester.connection, view_name.c_str(), - reinterpret_cast(arrow_schema), - reinterpret_cast(arrow_array), - reinterpret_cast(&out_stream)) == DuckDBSuccess); - // Get created view from DB. + // arrow array scan, destroy out_stream after use + ArrowArrayStream *arrow_array_stream; + auto out_stream = reinterpret_cast(&arrow_array_stream); + auto state = duckdb_arrow_array_scan(tester.connection, view_name.c_str(), + reinterpret_cast(arrow_schema_ptr), + reinterpret_cast(arrow_array_ptr), out_stream); + REQUIRE(state == DuckDBSuccess); + + // Get the created view from the DB. auto get_query = "SELECT * FROM " + view_name + ";"; - REQUIRE(duckdb_prepare(tester.connection, get_query.c_str(), &stmt) == DuckDBSuccess); + state = duckdb_prepare(tester.connection, get_query.c_str(), &stmt); + REQUIRE(state == DuckDBSuccess); REQUIRE(stmt != nullptr); - REQUIRE(duckdb_execute_prepared_arrow(stmt, &arrow_result) == DuckDBSuccess); - - // Recover array from results. - ArrowArray *out_array = new ArrowArray(); - REQUIRE(duckdb_query_arrow_array(arrow_result, reinterpret_cast(&out_array)) == - DuckDBSuccess); - REQUIRE(out_array->length == STANDARD_VECTOR_SIZE); - out_array->release(out_array); - delete out_array; - - out_array = new ArrowArray(); - REQUIRE(duckdb_query_arrow_array(arrow_result, reinterpret_cast(&out_array)) == - DuckDBSuccess); - REQUIRE(out_array->length == STANDARD_VECTOR_SIZE); - out_array->release(out_array); - delete out_array; - - out_array = new ArrowArray(); - REQUIRE(duckdb_query_arrow_array(arrow_result, reinterpret_cast(&out_array)) == - DuckDBSuccess); - REQUIRE(out_array->length == 0); - REQUIRE(out_array->release == nullptr); - delete out_array; - - out_stream->release(out_stream); - delete out_stream; - - REQUIRE(arrow_array->release != nullptr); + state = duckdb_execute_prepared_arrow(stmt, &arrow_result); + REQUIRE(state == DuckDBSuccess); + + // Recover the arrow array from the arrow result. + ArrowArray out_array; + out_array.Init(); + auto out_array_ptr = &out_array; + state = duckdb_query_arrow_array(arrow_result, reinterpret_cast(&out_array_ptr)); + REQUIRE(state == DuckDBSuccess); + REQUIRE(out_array.length == STANDARD_VECTOR_SIZE); + REQUIRE(out_array.release != nullptr); + out_array.release(out_array_ptr); + + out_array.Init(); + state = duckdb_query_arrow_array(arrow_result, reinterpret_cast(&out_array_ptr)); + REQUIRE(state == DuckDBSuccess); + REQUIRE(out_array.length == STANDARD_VECTOR_SIZE); + REQUIRE(out_array.release != nullptr); + out_array.release(out_array_ptr); + + out_array.Init(); + state = duckdb_query_arrow_array(arrow_result, reinterpret_cast(&out_array_ptr)); + REQUIRE(state == DuckDBSuccess); + REQUIRE(out_array.length == 0); + REQUIRE(out_array.release == nullptr); + + duckdb_destroy_arrow_stream(out_stream); + REQUIRE(arrow_array.release != nullptr); } SECTION("null schema") { // Creating a view with a null schema should fail gracefully. string view_name = "foo_empty_table_null_schema"; - ArrowArrayStream *out_stream; - REQUIRE(duckdb_arrow_array_scan(tester.connection, view_name.c_str(), nullptr, - reinterpret_cast(arrow_array), - reinterpret_cast(&out_stream)) == DuckDBError); - out_stream->release(out_stream); - delete out_stream; + // arrow array scan, destroy out_stream after use + ArrowArrayStream *arrow_array_stream; + auto out_stream = reinterpret_cast(&arrow_array_stream); + auto state = duckdb_arrow_array_scan(tester.connection, view_name.c_str(), nullptr, + reinterpret_cast(arrow_array_ptr), out_stream); + REQUIRE(state == DuckDBError); + duckdb_destroy_arrow_stream(out_stream); } - arrow_schema->release(arrow_schema); - delete arrow_schema; - - if (arrow_array->release) { - arrow_array->release(arrow_array); + if (arrow_schema.release) { + arrow_schema.release(arrow_schema_ptr); + } + if (arrow_array.release) { + arrow_array.release(arrow_array_ptr); } - - delete arrow_array; duckdb_destroy_arrow(&arrow_result); duckdb_destroy_prepare(&stmt); diff --git a/test/api/capi/test_capi_complex_types.cpp b/test/api/capi/test_capi_complex_types.cpp index 7b90b99c7672..d5334dd881d7 100644 --- a/test/api/capi/test_capi_complex_types.cpp +++ b/test/api/capi/test_capi_complex_types.cpp @@ -1,4 +1,6 @@ #include "capi_tester.hpp" +#include "duckdb/main/database_manager.hpp" +#include "duckdb/parser/parsed_data/create_type_info.hpp" using namespace duckdb; using namespace std; @@ -200,3 +202,266 @@ TEST_CASE("Test struct types creation C API", "[capi]") { } duckdb_destroy_logical_type(&logical_type); } + +TEST_CASE("Test enum types creation C API", "[capi]") { + duckdb::vector names = {"a", "b"}; + + auto logical_type = duckdb_create_enum_type(names.data(), names.size()); + REQUIRE(duckdb_get_type_id(logical_type) == duckdb_type::DUCKDB_TYPE_ENUM); + REQUIRE(duckdb_enum_dictionary_size(logical_type) == 2); + + for (idx_t i = 0; i < names.size(); i++) { + auto name = duckdb_enum_dictionary_value(logical_type, i); + string str_name(name); + duckdb_free(name); + REQUIRE(str_name == names[i]); + } + duckdb_destroy_logical_type(&logical_type); + + REQUIRE(duckdb_create_enum_type(nullptr, 0) == nullptr); +} + +TEST_CASE("Union type construction") { + CAPITester tester; + REQUIRE(tester.OpenDatabase(nullptr)); + + duckdb::vector member_types = {duckdb_create_logical_type(DUCKDB_TYPE_VARCHAR), + duckdb_create_logical_type(DUCKDB_TYPE_INTEGER)}; + duckdb::vector member_names = {"hello", "world"}; + + auto res = duckdb_create_union_type(member_types.data(), member_names.data(), member_names.size()); + + REQUIRE(duckdb_struct_type_child_count(res) == 3); + + auto get_id = [&](idx_t index) { + auto typ = duckdb_union_type_member_type(res, index); + auto id = duckdb_get_type_id(typ); + duckdb_destroy_logical_type(&typ); + return id; + }; + auto get_name = [&](idx_t index) { + auto name = duckdb_union_type_member_name(res, index); + string name_s(name); + duckdb_free(name); + return name_s; + }; + + REQUIRE(get_id(0) == DUCKDB_TYPE_VARCHAR); + REQUIRE(get_id(1) == DUCKDB_TYPE_INTEGER); + + REQUIRE(get_name(0) == "hello"); + REQUIRE(get_name(1) == "world"); + + for (auto typ : member_types) { + duckdb_destroy_logical_type(&typ); + } + duckdb_destroy_logical_type(&res); +} + +TEST_CASE("Logical types with aliases", "[capi]") { + CAPITester tester; + + REQUIRE(tester.OpenDatabase(nullptr)); + + Connection *connection = reinterpret_cast(tester.connection); + + connection->BeginTransaction(); + + child_list_t children = {{"hello", LogicalType::VARCHAR}}; + auto id = LogicalType::STRUCT(children); + auto type_name = "test_type"; + id.SetAlias(type_name); + CreateTypeInfo info(type_name, id); + + auto &catalog_name = DatabaseManager::GetDefaultDatabase(*connection->context); + auto &catalog = Catalog::GetCatalog(*connection->context, catalog_name); + catalog.CreateType(*connection->context, info); + + connection->Commit(); + + auto result = tester.Query("SELECT {hello: 'world'}::test_type"); + + REQUIRE(NO_FAIL(*result)); + + auto chunk = result->FetchChunk(0); + REQUIRE(chunk); + + for (idx_t i = 0; i < result->ColumnCount(); i++) { + auto logical_type = duckdb_vector_get_column_type(duckdb_data_chunk_get_vector(chunk->GetChunk(), i)); + REQUIRE(logical_type); + + auto alias = duckdb_logical_type_get_alias(logical_type); + REQUIRE(string(alias) == "test_type"); + duckdb_free(alias); + + duckdb_destroy_logical_type(&logical_type); + } +} + +TEST_CASE("Statement types", "[capi]") { + CAPITester tester; + REQUIRE(tester.OpenDatabase(nullptr)); + + duckdb_prepared_statement prepared; + REQUIRE(duckdb_prepare(tester.connection, "select ?", &prepared) == DuckDBSuccess); + + REQUIRE(duckdb_prepared_statement_type(prepared) == DUCKDB_STATEMENT_TYPE_SELECT); + duckdb_destroy_prepare(&prepared); + + auto result = tester.Query("CREATE TABLE t1 (id int)"); + + REQUIRE(duckdb_result_statement_type(result->InternalResult()) == DUCKDB_STATEMENT_TYPE_CREATE); +} + +TEST_CASE("Constructing values", "[capi]") { + std::vector member_names {"hello", "world"}; + duckdb::vector child_types = {DUCKDB_TYPE_INTEGER}; + auto first_type = duckdb_create_logical_type(DUCKDB_TYPE_INTEGER); + auto second_type = duckdb_create_logical_type(DUCKDB_TYPE_VARCHAR); + duckdb::vector member_types = {first_type, second_type}; + auto struct_type = duckdb_create_struct_type(member_types.data(), member_names.data(), member_names.size()); + + auto value = duckdb_create_int64(42); + auto other_value = duckdb_create_varchar("other value"); + duckdb::vector struct_values {other_value, value}; + auto struct_value = duckdb_create_struct_value(struct_type, struct_values.data()); + REQUIRE(struct_value == nullptr); + duckdb_destroy_logical_type(&struct_type); + + duckdb::vector list_values {value, other_value}; + auto list_value = duckdb_create_list_value(first_type, list_values.data(), list_values.size()); + REQUIRE(list_value == nullptr); + + duckdb_destroy_value(&value); + duckdb_destroy_value(&other_value); + duckdb_destroy_logical_type(&first_type); + duckdb_destroy_logical_type(&second_type); + duckdb_destroy_value(&list_value); +} + +TEST_CASE("Binding values", "[capi]") { + CAPITester tester; + REQUIRE(tester.OpenDatabase(nullptr)); + + duckdb_prepared_statement prepared; + REQUIRE(duckdb_prepare(tester.connection, "SELECT ?, ?", &prepared) == DuckDBSuccess); + + std::vector member_names {"hello"}; + duckdb::vector child_types = {DUCKDB_TYPE_INTEGER}; + auto member_type = duckdb_create_logical_type(DUCKDB_TYPE_INTEGER); + idx_t member_count = member_names.size(); + auto struct_type = duckdb_create_struct_type(&member_type, member_names.data(), member_count); + + auto value = duckdb_create_int64(42); + auto struct_value = duckdb_create_struct_value(struct_type, &value); + duckdb_destroy_logical_type(&struct_type); + + duckdb::vector list_values {value}; + auto list_value = duckdb_create_list_value(member_type, list_values.data(), member_count); + + duckdb_destroy_value(&value); + duckdb_destroy_logical_type(&member_type); + + duckdb_bind_value(prepared, 1, struct_value); + duckdb_bind_value(prepared, 2, list_value); + + duckdb_destroy_value(&struct_value); + duckdb_destroy_value(&list_value); + + auto result = tester.QueryPrepared(prepared); + duckdb_destroy_prepare(&prepared); + + REQUIRE(result->ErrorMessage() == nullptr); + REQUIRE(result->ColumnCount() == 2); + + // fetch the first chunk + REQUIRE(result->ChunkCount() == 1); + auto chunk = result->FetchChunk(0); + REQUIRE(chunk); + for (idx_t i = 0; i < result->ColumnCount(); i++) { + duckdb_data_chunk current_chunk = chunk->GetChunk(); + auto current_vector = duckdb_data_chunk_get_vector(current_chunk, i); + auto logical_type = duckdb_vector_get_column_type(current_vector); + REQUIRE(logical_type); + auto type_id = duckdb_get_type_id(logical_type); + + for (idx_t c_idx = 0; c_idx < member_count; c_idx++) { + if (type_id == DUCKDB_TYPE_STRUCT) { + auto val = duckdb_struct_type_child_name(logical_type, c_idx); + string str_val(val); + duckdb_free(val); + + REQUIRE(member_names[c_idx] == str_val); + auto child_type = duckdb_struct_type_child_type(logical_type, c_idx); + REQUIRE(duckdb_get_type_id(child_type) == DUCKDB_TYPE_INTEGER); + duckdb_destroy_logical_type(&child_type); + + auto int32_vector = duckdb_struct_vector_get_child(current_vector, i); + + auto int32_data = (int32_t *)duckdb_vector_get_data(int32_vector); + + REQUIRE(int32_data[0] == 42); + + } else if (type_id == DUCKDB_TYPE_LIST) { + auto child_type = duckdb_list_type_child_type(logical_type); + REQUIRE(duckdb_get_type_id(child_type) == DUCKDB_TYPE_INTEGER); + duckdb_destroy_logical_type(&child_type); + + REQUIRE(duckdb_list_vector_get_size(current_vector) == 1); + auto int32_vector = duckdb_list_vector_get_child(current_vector); + + auto int32_data = (int32_t *)duckdb_vector_get_data(int32_vector); + + REQUIRE(int32_data[0] == 42); + + } else { + FAIL(); + } + } + + duckdb_destroy_logical_type(&logical_type); + } +} + +TEST_CASE("Test Infinite Dates", "[capi]") { + CAPITester tester; + REQUIRE(tester.OpenDatabase(nullptr)); + + { + auto result = tester.Query("SELECT '-infinity'::DATE, 'epoch'::DATE, 'infinity'::DATE"); + REQUIRE(NO_FAIL(*result)); + REQUIRE(result->ColumnCount() == 3); + REQUIRE(result->ErrorMessage() == nullptr); + + auto d = result->Fetch(0, 0); + REQUIRE(!duckdb_is_finite_date(d)); + REQUIRE(d.days < 0); + + d = result->Fetch(1, 0); + REQUIRE(duckdb_is_finite_date(d)); + REQUIRE(d.days == 0); + + d = result->Fetch(2, 0); + REQUIRE(!duckdb_is_finite_date(d)); + REQUIRE(d.days > 0); + } + + { + auto result = tester.Query("SELECT '-infinity'::TIMESTAMP, 'epoch'::TIMESTAMP, 'infinity'::TIMESTAMP"); + REQUIRE(NO_FAIL(*result)); + REQUIRE(result->ColumnCount() == 3); + REQUIRE(result->ErrorMessage() == nullptr); + + auto ts = result->Fetch(0, 0); + REQUIRE(!duckdb_is_finite_timestamp(ts)); + REQUIRE(ts.micros < 0); + + ts = result->Fetch(1, 0); + REQUIRE(duckdb_is_finite_timestamp(ts)); + REQUIRE(ts.micros == 0); + + ts = result->Fetch(2, 0); + REQUIRE(!duckdb_is_finite_timestamp(ts)); + REQUIRE(ts.micros > 0); + } +} diff --git a/test/api/capi/test_capi_data_chunk.cpp b/test/api/capi/test_capi_data_chunk.cpp index 4d5c15ffc350..873b096b3b4b 100644 --- a/test/api/capi/test_capi_data_chunk.cpp +++ b/test/api/capi/test_capi_data_chunk.cpp @@ -127,11 +127,21 @@ TEST_CASE("Test DataChunk C API", "[capi]") { REQUIRE(duckdb_data_chunk_get_size(nullptr) == 0); // use the appender to insert a value using the data chunk API - duckdb_appender appender; status = duckdb_appender_create(tester.connection, nullptr, "test", &appender); REQUIRE(status == DuckDBSuccess); + // get the column types from the appender + REQUIRE(duckdb_appender_column_count(appender) == 2); + + auto appender_first_type = duckdb_appender_column_type(appender, 0); + REQUIRE(duckdb_get_type_id(appender_first_type) == DUCKDB_TYPE_BIGINT); + duckdb_destroy_logical_type(&appender_first_type); + + auto appender_second_type = duckdb_appender_column_type(appender, 1); + REQUIRE(duckdb_get_type_id(appender_second_type) == DUCKDB_TYPE_SMALLINT); + duckdb_destroy_logical_type(&appender_second_type); + // append standard primitive values auto col1_ptr = (int64_t *)duckdb_vector_get_data(duckdb_data_chunk_get_vector(data_chunk, 0)); *col1_ptr = 42; @@ -193,6 +203,46 @@ TEST_CASE("Test DataChunk C API", "[capi]") { duckdb_destroy_logical_type(&types[1]); } +TEST_CASE("Test DataChunk appending incorrect types in C API", "[capi]") { + CAPITester tester; + duckdb::unique_ptr result; + duckdb_state status; + + REQUIRE(tester.OpenDatabase(nullptr)); + + REQUIRE(duckdb_vector_size() == STANDARD_VECTOR_SIZE); + + tester.Query("CREATE TABLE test(i BIGINT, j SMALLINT)"); + + duckdb_logical_type types[2]; + types[0] = duckdb_create_logical_type(DUCKDB_TYPE_BIGINT); + types[1] = duckdb_create_logical_type(DUCKDB_TYPE_BOOLEAN); + + auto data_chunk = duckdb_create_data_chunk(types, 2); + REQUIRE(data_chunk); + + auto col1_ptr = (int64_t *)duckdb_vector_get_data(duckdb_data_chunk_get_vector(data_chunk, 0)); + *col1_ptr = 42; + auto col2_ptr = (bool *)duckdb_vector_get_data(duckdb_data_chunk_get_vector(data_chunk, 1)); + *col2_ptr = false; + + duckdb_appender appender; + status = duckdb_appender_create(tester.connection, nullptr, "test", &appender); + REQUIRE(status == DuckDBSuccess); + + REQUIRE(duckdb_append_data_chunk(appender, data_chunk) == DuckDBError); + + auto error = duckdb_appender_error(appender); + REQUIRE(duckdb::StringUtil::Contains(error, "expected SMALLINT but got BOOLEAN for column 2")); + + duckdb_appender_destroy(&appender); + + duckdb_destroy_data_chunk(&data_chunk); + + duckdb_destroy_logical_type(&types[0]); + duckdb_destroy_logical_type(&types[1]); +} + TEST_CASE("Test DataChunk varchar result fetch in C API", "[capi]") { if (duckdb_vector_size() < 64) { return; @@ -313,6 +363,22 @@ TEST_CASE("Test DataChunk result fetch in C API", "[capi]") { REQUIRE(!chunk); } +TEST_CASE("Test duckdb_result_return_type", "[capi]") { + CAPITester tester; + duckdb::unique_ptr result; + + REQUIRE(tester.OpenDatabase(nullptr)); + + result = tester.Query("CREATE TABLE t (id INT)"); + REQUIRE(duckdb_result_return_type(result->InternalResult()) == DUCKDB_RESULT_TYPE_NOTHING); + + result = tester.Query("INSERT INTO t VALUES (42)"); + REQUIRE(duckdb_result_return_type(result->InternalResult()) == DUCKDB_RESULT_TYPE_CHANGED_ROWS); + + result = tester.Query("FROM t"); + REQUIRE(duckdb_result_return_type(result->InternalResult()) == DUCKDB_RESULT_TYPE_QUERY_RESULT); +} + TEST_CASE("Test DataChunk populate ListVector in C API", "[capi]") { REQUIRE(duckdb_list_vector_reserve(nullptr, 100) == duckdb_state::DuckDBError); REQUIRE(duckdb_list_vector_set_size(nullptr, 200) == duckdb_state::DuckDBError); diff --git a/test/api/capi/test_capi_extract.cpp b/test/api/capi/test_capi_extract.cpp index 23a84cc8ef27..593dddd150c3 100644 --- a/test/api/capi/test_capi_extract.cpp +++ b/test/api/capi/test_capi_extract.cpp @@ -62,3 +62,25 @@ TEST_CASE("Test extract statements in C API", "[capi]") { REQUIRE(status == DuckDBError); duckdb_destroy_extracted(&stmts); } + +TEST_CASE("Test invalid PRAGMA in C API", "[capi]") { + + duckdb_database db; + duckdb_connection con; + const char *err_msg; + + REQUIRE(duckdb_open(nullptr, &db) == DuckDBSuccess); + REQUIRE(duckdb_connect(db, &con) == DuckDBSuccess); + + duckdb_extracted_statements stmts; + auto size = duckdb_extract_statements(con, "PRAGMA something;", &stmts); + + REQUIRE(size == 0); + err_msg = duckdb_extract_statements_error(stmts); + REQUIRE(err_msg != nullptr); + REQUIRE(string(err_msg).find("Catalog Error") != std::string::npos); + + duckdb_destroy_extracted(&stmts); + duckdb_disconnect(&con); + duckdb_close(&db); +} diff --git a/test/api/capi/test_capi_prepared.cpp b/test/api/capi/test_capi_prepared.cpp index ae8ac4bca566..76d54ddcca16 100644 --- a/test/api/capi/test_capi_prepared.cpp +++ b/test/api/capi/test_capi_prepared.cpp @@ -59,6 +59,12 @@ TEST_CASE("Test prepared statements in C API", "[capi]") { REQUIRE(duckdb_hugeint_to_double(duckdb_value_hugeint(&res, 0, 0)) == 64.0); duckdb_destroy_result(&res); + duckdb_bind_uhugeint(stmt, 1, duckdb_double_to_uhugeint(64)); + status = duckdb_execute_prepared(stmt, &res); + REQUIRE(status == DuckDBSuccess); + REQUIRE(duckdb_uhugeint_to_double(duckdb_value_uhugeint(&res, 0, 0)) == 64.0); + duckdb_destroy_result(&res); + // Fetching a DECIMAL from a non-DECIMAL result returns 0 duckdb_decimal decimal = duckdb_double_to_decimal(634.3453, 7, 4); duckdb_bind_decimal(stmt, 1, decimal); @@ -370,3 +376,98 @@ TEST_CASE("Test prepared statements with named parameters in C API", "[capi]") { duckdb_destroy_prepare(&stmt); } + +TEST_CASE("Prepared streaming result", "[capi]") { + CAPITester tester; + + // open the database in in-memory mode + REQUIRE(tester.OpenDatabase(nullptr)); + + SECTION("non streaming result") { + REQUIRE(tester.Query("CREATE TABLE t2 (i INTEGER, j INTEGER);")); + + duckdb_prepared_statement stmt; + REQUIRE(duckdb_prepare(tester.connection, + "INSERT INTO t2 SELECT 2 AS i, 3 AS j RETURNING *, i * j AS i_times_j", + &stmt) == DuckDBSuccess); + duckdb_result res; + REQUIRE(duckdb_execute_prepared_streaming(stmt, &res) == DuckDBSuccess); + REQUIRE(!duckdb_result_is_streaming(res)); + duckdb_destroy_result(&res); + duckdb_destroy_prepare(&stmt); + } + + SECTION("streaming result") { + duckdb_prepared_statement stmt; + REQUIRE(duckdb_prepare(tester.connection, "FROM RANGE(0, 10)", &stmt) == DuckDBSuccess); + + duckdb_result res; + REQUIRE(duckdb_execute_prepared_streaming(stmt, &res) == DuckDBSuccess); + REQUIRE(duckdb_result_is_streaming(res)); + + duckdb_data_chunk chunk; + idx_t index = 0; + while (true) { + chunk = duckdb_stream_fetch_chunk(res); + if (!chunk) { + break; + } + auto chunk_size = duckdb_data_chunk_get_size(chunk); + REQUIRE(chunk_size > 0); + + auto vec = duckdb_data_chunk_get_vector(chunk, 0); + auto column_type = duckdb_vector_get_column_type(vec); + REQUIRE(duckdb_get_type_id(column_type) == DUCKDB_TYPE_BIGINT); + duckdb_destroy_logical_type(&column_type); + + auto data = reinterpret_cast(duckdb_vector_get_data(vec)); + for (idx_t i = 0; i < chunk_size; i++) { + REQUIRE(data[i] == int64_t(index + i)); + } + index += chunk_size; + duckdb_destroy_data_chunk(&chunk); + } + + REQUIRE(duckdb_stream_fetch_chunk(res) == nullptr); + + duckdb_destroy_result(&res); + duckdb_destroy_prepare(&stmt); + } + + SECTION("streaming extracted statements") { + duckdb_extracted_statements stmts; + auto n_statements = duckdb_extract_statements(tester.connection, "Select 1; Select 2;", &stmts); + REQUIRE(n_statements == 2); + + for (idx_t i = 0; i < n_statements; i++) { + duckdb_prepared_statement stmt; + REQUIRE(duckdb_prepare_extracted_statement(tester.connection, stmts, i, &stmt) == DuckDBSuccess); + + duckdb_result res; + REQUIRE(duckdb_execute_prepared_streaming(stmt, &res) == DuckDBSuccess); + REQUIRE(duckdb_result_is_streaming(res)); + + duckdb_data_chunk chunk; + chunk = duckdb_stream_fetch_chunk(res); + REQUIRE(chunk != nullptr); + REQUIRE(duckdb_data_chunk_get_size(chunk) == 1); + + auto vec = duckdb_data_chunk_get_vector(chunk, 0); + + auto type = duckdb_vector_get_column_type(vec); + REQUIRE(duckdb_get_type_id(type) == DUCKDB_TYPE_INTEGER); + duckdb_destroy_logical_type(&type); + + auto data = (int32_t *)duckdb_vector_get_data(vec); + REQUIRE(data[0] == (int32_t)(i + 1)); + + REQUIRE(duckdb_stream_fetch_chunk(res) == nullptr); + + duckdb_destroy_data_chunk(&chunk); + duckdb_destroy_result(&res); + duckdb_destroy_prepare(&stmt); + } + + duckdb_destroy_extracted(&stmts); + } +} diff --git a/test/api/capi/test_capi_streaming.cpp b/test/api/capi/test_capi_streaming.cpp index 0b308885ed76..439c4a477715 100644 --- a/test/api/capi/test_capi_streaming.cpp +++ b/test/api/capi/test_capi_streaming.cpp @@ -98,6 +98,45 @@ TEST_CASE("Test other methods on streaming results in C API", "[capi]") { REQUIRE(is_null == false); } +TEST_CASE("Test streaming arrow results in C API", "[capi][arrow]") { + CAPITester tester; + CAPIPrepared prepared; + CAPIPending pending; + duckdb::unique_ptr result; + + // open the database in in-memory mode + REQUIRE(tester.OpenDatabase(nullptr)); + REQUIRE(prepared.Prepare(tester, "SELECT i::UINT32 FROM range(1000000) tbl(i)")); + REQUIRE(pending.PendingStreaming(prepared)); + + while (true) { + auto state = pending.ExecuteTask(); + REQUIRE(state != DUCKDB_PENDING_ERROR); + if (state == DUCKDB_PENDING_RESULT_READY) { + break; + } + } + + result = pending.Execute(); + REQUIRE(result); + REQUIRE(!result->HasError()); + auto chunk = result->StreamChunk(); + + // Check handle null out_array + duckdb_result_arrow_array(result->InternalResult(), chunk->GetChunk(), nullptr); + + int nb_row = 0; + while (chunk) { + ArrowArray *arrow_array = new ArrowArray(); + duckdb_result_arrow_array(result->InternalResult(), chunk->GetChunk(), (duckdb_arrow_array *)&arrow_array); + nb_row += arrow_array->length; + chunk = result->StreamChunk(); + arrow_array->release(arrow_array); + delete arrow_array; + } + REQUIRE(nb_row == 1000000); +} + TEST_CASE("Test query progress and interrupt in C API", "[capi]") { CAPITester tester; CAPIPrepared prepared; @@ -105,7 +144,7 @@ TEST_CASE("Test query progress and interrupt in C API", "[capi]") { duckdb::unique_ptr result; // test null handling - REQUIRE(duckdb_query_progress(nullptr) == -1.0); + REQUIRE(duckdb_query_progress(nullptr).percentage == -1.0); duckdb_interrupt(nullptr); // open the database in in-memory mode @@ -116,18 +155,18 @@ TEST_CASE("Test query progress and interrupt in C API", "[capi]") { REQUIRE_NO_FAIL(tester.Query("set enable_progress_bar=true;")); REQUIRE_NO_FAIL(tester.Query("set enable_progress_bar_print=false;")); // test no progress before query - REQUIRE(duckdb_query_progress(tester.connection) == -1.0); + REQUIRE(duckdb_query_progress(tester.connection).percentage == -1.0); // test zero progress with query REQUIRE(prepared.Prepare(tester, "select count(*) from tbl where a = (select min(a) from tbl_2)")); REQUIRE(pending.PendingStreaming(prepared)); - REQUIRE(duckdb_query_progress(tester.connection) == 0.0); + REQUIRE(duckdb_query_progress(tester.connection).percentage == 0.0); // test progress - while (duckdb_query_progress(tester.connection) == 0.0) { + while (duckdb_query_progress(tester.connection).percentage == 0.0) { auto state = pending.ExecuteTask(); REQUIRE(state == DUCKDB_PENDING_RESULT_NOT_READY); } - REQUIRE(duckdb_query_progress(tester.connection) >= 0.0); + REQUIRE(duckdb_query_progress(tester.connection).percentage >= 0.0); // test interrupt duckdb_interrupt(tester.connection); diff --git a/test/api/capi/test_capi_to_decimal.cpp b/test/api/capi/test_capi_to_decimal.cpp index eea82e52f0f8..87c0821ac792 100644 --- a/test/api/capi/test_capi_to_decimal.cpp +++ b/test/api/capi/test_capi_to_decimal.cpp @@ -41,6 +41,8 @@ TEST_CASE("Test CAPI duckdb_decimal_as_properties", "[capi]") { TestFetchAsDecimal(tester, "SELECT CAST(123.45678 AS %s)", "FLOAT"); //! From HUGEINT TestFetchAsDecimal(tester, "SELECT CAST(123124 AS %s)", "HUGEINT"); + //! From UHUGEINT + TestFetchAsDecimal(tester, "SELECT CAST(123124 AS %s)", "UHUGEINT"); //! From BIGINT TestFetchAsDecimal(tester, "SELECT CAST(123124 AS %s)", "BIGINT"); //! From UBIGINT diff --git a/test/api/test_api.cpp b/test/api/test_api.cpp index 3309dbd96ff9..ca41df7e3acc 100644 --- a/test/api/test_api.cpp +++ b/test/api/test_api.cpp @@ -309,6 +309,22 @@ TEST_CASE("Test fetch API", "[api]") { REQUIRE(CHECK_COLUMN(result, 0, {42})); } +TEST_CASE("Test fetch API not to completion", "[api]") { + auto db = make_uniq(nullptr); + auto conn = make_uniq(*db); + // remove connection with active stream result + auto result = conn->SendQuery("SELECT 42"); + // close the connection + conn.reset(); + // now try to fetch a chunk, this should not return a nullptr + auto chunk = result->Fetch(); + REQUIRE(chunk); + // Only if we would call Fetch again would we Close the QueryResult + // this is testing that it can get cleaned up without this. + + db.reset(); +} + TEST_CASE("Test fetch API robustness", "[api]") { auto db = make_uniq(nullptr); auto conn = make_uniq(*db); @@ -530,7 +546,6 @@ TEST_CASE("Test large number of connections to a single database", "[api]") { REQUIRE(connection_manager.connections.size() == createdConnections); for (size_t i = 0; i < toRemove; i++) { - auto conn = *connections[0]; connections.erase(connections.begin()); } diff --git a/test/api/test_config.cpp b/test/api/test_config.cpp index 37158296add1..eead610ce99e 100644 --- a/test/api/test_config.cpp +++ b/test/api/test_config.cpp @@ -19,7 +19,7 @@ TEST_CASE("Test DB config configuration", "[api]") { test_options["enable_external_access"] = {"true", "false"}; test_options["enable_object_cache"] = {"true", "false"}; test_options["max_memory"] = {"-1", "16GB"}; - test_options["threads"] = {"-1", "4"}; + test_options["threads"] = {"1", "4"}; REQUIRE(config.GetOptionByName("unknownoption") == nullptr); @@ -38,3 +38,23 @@ TEST_CASE("Test DB config configuration", "[api]") { } } } + +TEST_CASE("Test user_agent", "[api]") { + { + // Default duckdb_api is cpp + DuckDB db(nullptr); + Connection con(db); + auto res = con.Query("PRAGMA user_agent"); + REQUIRE_THAT(res->GetValue(0, 0).ToString(), Catch::Matchers::Matches("duckdb/.*(.*) cpp")); + } + { + // The latest provided duckdb_api is used + DBConfig config; + config.SetOptionByName("duckdb_api", "capi"); + config.SetOptionByName("duckdb_api", "go"); + DuckDB db("", &config); + Connection con(db); + auto res = con.Query("PRAGMA user_agent"); + REQUIRE_THAT(res->GetValue(0, 0).ToString(), Catch::Matchers::Matches("duckdb/.*(.*) go")); + } +} diff --git a/test/api/test_get_table_names.cpp b/test/api/test_get_table_names.cpp index 9fc8113a8c07..9abe4b890752 100644 --- a/test/api/test_get_table_names.cpp +++ b/test/api/test_get_table_names.cpp @@ -80,6 +80,16 @@ TEST_CASE("Test GetTableNames", "[api]") { REQUIRE(table_names.size() == 1); REQUIRE(table_names.count("my_table")); + // * exclude + table_names = con.GetTableNames("select * exclude (x) from df"); + REQUIRE(table_names.size() == 1); + REQUIRE(table_names.count("df")); + + // * replace + table_names = con.GetTableNames("select * replace (42 as x) from df"); + REQUIRE(table_names.size() == 1); + REQUIRE(table_names.count("df")); + if (!db.ExtensionIsLoaded("tpch")) { return; } diff --git a/test/api/test_pending_query.cpp b/test/api/test_pending_query.cpp index 3370c732e551..606d07560bb0 100644 --- a/test/api/test_pending_query.cpp +++ b/test/api/test_pending_query.cpp @@ -92,16 +92,13 @@ TEST_CASE("Test Pending Query API", "[api][.]") { result = con.Query("SELECT 42"); REQUIRE(CHECK_COLUMN(result, 0, {42})); } + SECTION("Runtime error in pending query (streaming)") { // this succeeds initially auto pending_query = con.PendingQuery("SELECT concat(SUM(i)::varchar, 'hello')::INT FROM range(1000000) tbl(i)", true); REQUIRE(!pending_query->HasError()); - // still succeeds... auto result = pending_query->Execute(); - REQUIRE(!result->HasError()); - auto chunk = result->Fetch(); - REQUIRE(!chunk); REQUIRE(result->HasError()); // query the connection as normal after @@ -190,10 +187,6 @@ TEST_CASE("Test Pending Query Prepared Statements API", "[api][.]") { REQUIRE(!pending_query->HasError()); // still succeeds... auto result = pending_query->Execute(); - REQUIRE(!result->HasError()); - //! fail! - auto chunk = result->Fetch(); - REQUIRE(!chunk); REQUIRE(result->HasError()); // query the connection as normal after @@ -203,8 +196,7 @@ TEST_CASE("Test Pending Query Prepared Statements API", "[api][.]") { // if we change the parameter this works parameters = {Value::INTEGER(2000000)}; pending_query = prepared->PendingQuery(parameters, true); - REQUIRE(!pending_query->HasError()); - // still succeeds... + result = pending_query->Execute(); REQUIRE(!result->HasError()); REQUIRE(CHECK_COLUMN(result, 0, {Value::BIGINT(0)})); diff --git a/test/api/test_prepared_api.cpp b/test/api/test_prepared_api.cpp index 2f05fc7d2808..8a27debd555e 100644 --- a/test/api/test_prepared_api.cpp +++ b/test/api/test_prepared_api.cpp @@ -57,7 +57,7 @@ TEST_CASE("Test type resolution of function with parameter expressions", "[api]" // can deduce type of prepared parameter here auto prepared = con.Prepare("select 1 + $1"); - REQUIRE(!prepared->error); + REQUIRE(!prepared->error.HasError()); result = prepared->Execute(1); REQUIRE(CHECK_COLUMN(result, 0, {2})); diff --git a/test/api/test_progress_bar.cpp b/test/api/test_progress_bar.cpp index bf4c32f5ae00..8a3851fa439f 100644 --- a/test/api/test_progress_bar.cpp +++ b/test/api/test_progress_bar.cpp @@ -13,26 +13,62 @@ using namespace duckdb; using namespace std; class TestProgressBar { + class TestFailure { + using failure_callback = std::function; + + public: + TestFailure() : callback(nullptr) { + } + + public: + bool IsSet() { + return callback != nullptr; + } + void SetError(failure_callback failure) { + if (!callback) { + callback = failure; + } + } + void ThrowError() { + D_ASSERT(IsSet()); + callback(); + } + + private: + failure_callback callback; + }; + public: - explicit TestProgressBar(ClientContext *context) : context(context), correct(true) { + explicit TestProgressBar(ClientContext *context) : context(context) { } ClientContext *context; atomic stop; std::thread check_thread; - atomic correct; + TestFailure error; void CheckProgressThread() { double prev_percentage = -1; + uint64_t total_cardinality = 0; + uint64_t cur_rows_read = 0; while (!stop) { std::this_thread::sleep_for(std::chrono::milliseconds(10)); - double new_percentage = context->GetProgress(); - if (!(new_percentage >= prev_percentage || new_percentage == -1)) { - correct = false; + auto query_progress = context->GetQueryProgress(); + double new_percentage = query_progress.GetPercentage(); + if (new_percentage < prev_percentage && new_percentage != -1) { + error.SetError([new_percentage, prev_percentage]() { REQUIRE(new_percentage >= prev_percentage); }); } - if (!(new_percentage <= 100)) { - correct = false; + if (new_percentage > 100) { + error.SetError([new_percentage]() { REQUIRE(new_percentage <= 100); }); } + cur_rows_read = query_progress.GetRowsProcesseed(); + total_cardinality = query_progress.GetTotalRowsToProcess(); + if (cur_rows_read > total_cardinality) { + error.SetError([cur_rows_read, total_cardinality]() { REQUIRE(cur_rows_read <= total_cardinality); }); + } + } + if (cur_rows_read != total_cardinality) { + error.SetError([cur_rows_read, total_cardinality]() { REQUIRE(cur_rows_read == total_cardinality); }); } } void Start() { @@ -42,35 +78,39 @@ class TestProgressBar { void End() { stop = true; check_thread.join(); - REQUIRE(correct); + if (error.IsSet()) { + error.ThrowError(); + // This should never be reached, ThrowError() should contain a failing REQUIRE statement + REQUIRE(false); + } } }; -TEST_CASE("Test Progress Bar Fast", "[api]") { +TEST_CASE("Test Progress Bar Fast", "[progress-bar]") { DuckDB db(nullptr); Connection con(db); - REQUIRE_NOTHROW(con.context->GetProgress()); + REQUIRE_NOTHROW(con.context->GetQueryProgress()); TestProgressBar test_progress(con.context.get()); - REQUIRE_NOTHROW(con.context->GetProgress()); + REQUIRE_NOTHROW(con.context->GetQueryProgress()); REQUIRE_NO_FAIL(con.Query("create table tbl as select range a, mod(range,10) b from range(10000);")); REQUIRE_NO_FAIL(con.Query("create table tbl_2 as select range a from range(10000);")); REQUIRE_NO_FAIL(con.Query("PRAGMA progress_bar_time=10")); REQUIRE_NO_FAIL(con.Query("PRAGMA disable_print_progress_bar")); - //! Simple Aggregation + // Simple Aggregation test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl")); test_progress.End(); - //! Simple Join + // Simple Join test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl inner join tbl_2 on (tbl.a = tbl_2.a)")); test_progress.End(); - //! Subquery + // Subquery test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl where a = (select min(a) from tbl_2)")); test_progress.End(); @@ -85,21 +125,21 @@ TEST_CASE("Test Progress Bar Fast", "[api]") { test_progress.End(); REQUIRE_NO_FAIL(*result); - //! Test Multiple threads + // Test Multiple threads REQUIRE_NO_FAIL(con.Query("PRAGMA threads=2")); REQUIRE_NO_FAIL(con.Query("PRAGMA verify_parallelism")); - //! Simple Aggregation + // Simple Aggregation test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl")); test_progress.End(); - //! Simple Join + // Simple Join test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl inner join tbl_2 on (tbl.a = tbl_2.a)")); test_progress.End(); - //! Subquery + // Subquery test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl where a = (select min(a) from tbl_2)")); test_progress.End(); @@ -115,7 +155,7 @@ TEST_CASE("Test Progress Bar Fast", "[api]") { REQUIRE_NO_FAIL(*result); } -TEST_CASE("Test Progress Bar", "[api][.]") { +TEST_CASE("Test Progress Bar", "[progress-bar][.]") { DuckDB db(nullptr); Connection con(db); TestProgressBar test_progress(con.context.get()); @@ -124,17 +164,17 @@ TEST_CASE("Test Progress Bar", "[api][.]") { REQUIRE_NO_FAIL(con.Query("PRAGMA progress_bar_time=10")); REQUIRE_NO_FAIL(con.Query("PRAGMA disable_print_progress_bar")); - //! Simple Aggregation + // Simple Aggregation test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl")); test_progress.End(); - //! Simple Join + // Simple Join test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl inner join tbl_2 on (tbl.a = tbl_2.a)")); test_progress.End(); - //! Subquery + // Subquery test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl where a = (select min(a) from tbl_2)")); test_progress.End(); @@ -149,21 +189,21 @@ TEST_CASE("Test Progress Bar", "[api][.]") { test_progress.End(); REQUIRE_NO_FAIL(*result); - //! Test Multiple threads + // Test Multiple threads REQUIRE_NO_FAIL(con.Query("PRAGMA threads=4")); REQUIRE_NO_FAIL(con.Query("PRAGMA verify_parallelism")); - //! Simple Aggregation + // Simple Aggregation test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl")); test_progress.End(); - //! Simple Join + // Simple Join test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl inner join tbl_2 on (tbl.a = tbl_2.a)")); test_progress.End(); - //! Subquery + // Subquery test_progress.Start(); REQUIRE_NO_FAIL(con.Query("select count(*) from tbl where a = (select min(a) from tbl_2)")); test_progress.End(); @@ -179,7 +219,7 @@ TEST_CASE("Test Progress Bar", "[api][.]") { REQUIRE_NO_FAIL(*result); } -TEST_CASE("Test Progress Bar CSV", "[api][.]") { +TEST_CASE("Test Progress Bar CSV", "[progress-bar][.]") { DuckDB db(nullptr); Connection con(db); @@ -187,7 +227,7 @@ TEST_CASE("Test Progress Bar CSV", "[api][.]") { REQUIRE_NO_FAIL(con.Query("PRAGMA progress_bar_time=1")); REQUIRE_NO_FAIL(con.Query("PRAGMA disable_print_progress_bar")); - //! Create Tables From CSVs + // Create Tables From CSVs test_progress.Start(); REQUIRE_NO_FAIL( con.Query("CREATE TABLE test AS SELECT * FROM read_csv_auto ('test/sql/copy/csv/data/test/test.csv')")); @@ -199,7 +239,7 @@ TEST_CASE("Test Progress Bar CSV", "[api][.]") { ":= 'INTEGER', b := 'INTEGER', c := 'VARCHAR'), sep=',', auto_detect='false')")); test_progress.End(); - //! Insert into existing tables + // Insert into existing tables test_progress.Start(); REQUIRE_NO_FAIL(con.Query("INSERT INTO test SELECT * FROM read_csv_auto('test/sql/copy/csv/data/test/test.csv')")); test_progress.End(); @@ -210,19 +250,19 @@ TEST_CASE("Test Progress Bar CSV", "[api][.]") { "'INTEGER', b := 'INTEGER', c := 'VARCHAR'), sep=',', auto_detect='false')")); test_progress.End(); - //! copy from + // copy from test_progress.Start(); REQUIRE_NO_FAIL(con.Query("COPY test FROM 'test/sql/copy/csv/data/test/test.csv'")); test_progress.End(); - //! Repeat but in parallel + // Repeat but in parallel REQUIRE_NO_FAIL(con.Query("DROP TABLE test")); REQUIRE_NO_FAIL(con.Query("DROP TABLE test_2")); - //! Test Multiple threads + // Test Multiple threads REQUIRE_NO_FAIL(con.Query("PRAGMA threads=4")); REQUIRE_NO_FAIL(con.Query("PRAGMA verify_parallelism")); - //! Create Tables From CSVs + // Create Tables From CSVs test_progress.Start(); REQUIRE_NO_FAIL( con.Query("CREATE TABLE test AS SELECT * FROM read_csv_auto ('test/sql/copy/csv/data/test/test.csv')")); @@ -234,7 +274,7 @@ TEST_CASE("Test Progress Bar CSV", "[api][.]") { ":= 'INTEGER', b := 'INTEGER', c := 'VARCHAR'), sep=',', auto_detect='false')")); test_progress.End(); - //! Insert into existing tables + // Insert into existing tables test_progress.Start(); REQUIRE_NO_FAIL(con.Query("INSERT INTO test SELECT * FROM read_csv_auto('test/sql/copy/csv/data/test/test.csv')")); test_progress.End(); @@ -245,7 +285,7 @@ TEST_CASE("Test Progress Bar CSV", "[api][.]") { "'INTEGER', b := 'INTEGER', c := 'VARCHAR'), sep=',', auto_detect='false')")); test_progress.End(); - //! copy from + // copy from test_progress.Start(); REQUIRE_NO_FAIL(con.Query("COPY test FROM 'test/sql/copy/csv/data/test/test.csv'")); test_progress.End(); diff --git a/test/api/test_reset.cpp b/test/api/test_reset.cpp index 1ea8786e8902..18f795d837c9 100644 --- a/test/api/test_reset.cpp +++ b/test/api/test_reset.cpp @@ -46,7 +46,7 @@ void RequireValueEqual(ConfigurationOption *op, const Value &left, const Value & OptionValueSet &GetValueForOption(const string &name) { static unordered_map value_map = { {"threads", {Value::BIGINT(42), Value::BIGINT(42)}}, - {"checkpoint_threshold", {"4.2GB"}}, + {"checkpoint_threshold", {"4.0 GiB"}}, {"debug_checkpoint_abort", {{"none", "before_truncate", "before_header", "after_free_list_write"}}}, {"default_collation", {"nocase"}}, {"default_order", {"desc"}}, @@ -56,7 +56,11 @@ OptionValueSet &GetValueForOption(const string &name) { {"debug_force_external", {Value(true)}}, {"debug_force_no_cross_product", {Value(true)}}, {"debug_force_external", {Value(true)}}, + {"old_implicit_casting", {Value(true)}}, {"prefer_range_joins", {Value(true)}}, + {"allow_persistent_secrets", {Value(false)}}, + {"secret_directory", {"/tmp/some/path"}}, + {"default_secret_storage", {"custom_storage"}}, {"custom_extension_repository", {"duckdb.org/no-extensions-here", "duckdb.org/no-extensions-here"}}, {"autoinstall_extension_repository", {"duckdb.org/no-extensions-here", "duckdb.org/no-extensions-here"}}, #ifdef DUCKDB_EXTENSION_AUTOLOAD_DEFAULT @@ -73,8 +77,8 @@ OptionValueSet &GetValueForOption(const string &name) { {"enable_object_cache", {true}}, {"enable_profiling", {"json"}}, {"enable_progress_bar", {true}}, + {"errors_as_json", {true}}, {"explain_output", {{"all", "optimized_only", "physical_only"}}}, - {"external_threads", {8}}, {"file_search_path", {"test"}}, {"force_compression", {"uncompressed", "Uncompressed"}}, {"home_directory", {"test"}}, @@ -82,8 +86,8 @@ OptionValueSet &GetValueForOption(const string &name) { {"extension_directory", {"test"}}, {"immediate_transaction_mode", {true}}, {"max_expression_depth", {50}}, - {"max_memory", {"4.2GB"}}, - {"memory_limit", {"4.2GB"}}, + {"max_memory", {"4.0 GiB"}}, + {"memory_limit", {"4.0 GiB"}}, {"ordered_aggregate_threshold", {Value::UBIGINT(idx_t(1) << 12)}}, {"null_order", {"nulls_first"}}, {"perfect_ht_threshold", {0}}, @@ -96,11 +100,11 @@ OptionValueSet &GetValueForOption(const string &name) { {"enable_progress_bar_print", {false}}, {"progress_bar_time", {0}}, {"temp_directory", {"tmp"}}, - {"wal_autocheckpoint", {"4.2GB"}}, + {"wal_autocheckpoint", {"4.0 GiB"}}, {"worker_threads", {42}}, {"enable_http_metadata_cache", {true}}, {"force_bitpacking_mode", {"constant"}}, - {"allocator_flush_threshold", {"4.2GB"}}, + {"allocator_flush_threshold", {"4.0 GiB"}}, {"arrow_large_buffer_size", {true}}}; // Every option that's not excluded has to be part of this map if (!value_map.count(name)) { @@ -124,8 +128,8 @@ bool OptionIsExcludedFromTest(const string &name) { "password", "username", "user", + "external_threads", // tested in test_threads.cpp "profiling_output", // just an alias - "profiler_history_size", "duckdb_api", "custom_user_agent"}; return excluded_options.count(name) == 1; diff --git a/test/api/test_results.cpp b/test/api/test_results.cpp index 43ca6a12a8b7..10cf0c77d806 100644 --- a/test/api/test_results.cpp +++ b/test/api/test_results.cpp @@ -159,11 +159,7 @@ TEST_CASE("Error in streaming result after initial query", "[api][.]") { // now create a streaming result auto result = con.SendQuery("SELECT CAST(v AS INTEGER) FROM strings"); REQUIRE_NO_FAIL(*result); - // initial query does not fail! auto chunk = result->Fetch(); - REQUIRE(chunk); - // but subsequent query fails! - chunk = result->Fetch(); REQUIRE(!chunk); REQUIRE(result->HasError()); auto str = result->ToString(); diff --git a/test/api/test_threads.cpp b/test/api/test_threads.cpp index 4105905eccc0..b255d25d7fc0 100644 --- a/test/api/test_threads.cpp +++ b/test/api/test_threads.cpp @@ -28,3 +28,41 @@ TEST_CASE("Test database maximum_threads argument", "[api]") { REQUIRE_THROWS(db = DuckDB(nullptr, &config)); } } + +TEST_CASE("Test external threads", "[api]") { + DuckDB db(nullptr); + Connection con(db); + auto &config = DBConfig::GetConfig(*db.instance); + auto options = config.GetOptions(); + + con.Query("SET threads=13"); + REQUIRE(config.options.maximum_threads == 13); + REQUIRE(db.NumberOfThreads() == 13); + con.Query("SET external_threads=13"); + REQUIRE(config.options.external_threads == 13); + REQUIRE(db.NumberOfThreads() == 13); + + con.Query("SET external_threads=0"); + REQUIRE(config.options.external_threads == 0); + REQUIRE(db.NumberOfThreads() == 13); + + auto res = con.Query("SET external_threads=-1"); + REQUIRE(res->HasError()); + REQUIRE(res->GetError() == "Syntax Error: Must have a non-negative number of external threads!"); + + res = con.Query("SET external_threads=14"); + REQUIRE(res->HasError()); + REQUIRE(res->GetError() == "Syntax Error: Number of threads can't be smaller than number of external threads!"); + + con.Query("SET external_threads=5"); + REQUIRE(config.options.external_threads == 5); + REQUIRE(db.NumberOfThreads() == 13); + + con.Query("RESET external_threads"); + REQUIRE(config.options.external_threads == DBConfig().options.external_threads); + REQUIRE(db.NumberOfThreads() == 13); + + con.Query("RESET threads"); + REQUIRE(config.options.maximum_threads == std::thread::hardware_concurrency()); + REQUIRE(db.NumberOfThreads() == std::thread::hardware_concurrency()); +} diff --git a/test/arrow/arrow_move_children.cpp b/test/arrow/arrow_move_children.cpp index 147493a0ca02..f9e750539979 100644 --- a/test/arrow/arrow_move_children.cpp +++ b/test/arrow/arrow_move_children.cpp @@ -27,9 +27,10 @@ void AssertExpectedResult(ArrowSchema *schema, ArrowArrayWrapper &array, T expec struct_array.children[0] = &array.arrow_array; struct_array.length = array.arrow_array.length; struct_array.release = EmptyRelease; + struct_array.offset = 0; - duckdb_adbc::AdbcError unused; - (void)BatchToArrayStream(&struct_array, schema, &stream, &unused); + AdbcError unused; + (void)duckdb_adbc::BatchToArrayStream(&struct_array, schema, &stream, &unused); DuckDB db(nullptr); Connection conn(db); diff --git a/test/arrow/arrow_roundtrip.cpp b/test/arrow/arrow_roundtrip.cpp index 90960e28749e..d7e33fc7d706 100644 --- a/test/arrow/arrow_roundtrip.cpp +++ b/test/arrow/arrow_roundtrip.cpp @@ -75,7 +75,8 @@ TEST_CASE("Test arrow roundtrip", "[arrow]") { return; #endif TestArrowRoundtrip("SELECT * EXCLUDE(bit,time_tz) REPLACE " - "(interval (1) seconds AS interval, hugeint::DOUBLE as hugeint) FROM test_all_types()"); + "(interval (1) seconds AS interval, hugeint::DOUBLE as hugeint, uhugeint::DOUBLE as uhugeint) " + "FROM test_all_types()"); } TEST_CASE("Test Parquet Files round-trip", "[arrow][.]") { diff --git a/test/arrow/arrow_test_helper.cpp b/test/arrow/arrow_test_helper.cpp index 9b9002c5c5c3..3152db9408ee 100644 --- a/test/arrow/arrow_test_helper.cpp +++ b/test/arrow/arrow_test_helper.cpp @@ -1,5 +1,18 @@ #include "arrow/arrow_test_helper.hpp" +duckdb::unique_ptr +ArrowStreamTestFactory::CreateStream(uintptr_t this_ptr, duckdb::ArrowStreamParameters ¶meters) { + auto stream_wrapper = duckdb::make_uniq(); + stream_wrapper->number_of_rows = -1; + stream_wrapper->arrow_array_stream = *(ArrowArrayStream *)this_ptr; + + return stream_wrapper; +} + +void ArrowStreamTestFactory::GetSchema(ArrowArrayStream *arrow_array_stream, ArrowSchema &schema) { + arrow_array_stream->get_schema(arrow_array_stream, &schema); +} + namespace duckdb { int ArrowTestFactory::ArrowArrayStreamGetSchema(struct ArrowArrayStream *stream, struct ArrowSchema *out) { @@ -74,30 +87,16 @@ duckdb::unique_ptr ArrowTestFactory::CreateStre return stream_wrapper; } -void ArrowTestFactory::GetSchema(uintptr_t factory_ptr, duckdb::ArrowSchemaWrapper &schema) { +void ArrowTestFactory::GetSchema(ArrowArrayStream *factory_ptr, ArrowSchema &schema) { //! Create a new batch reader auto &factory = *reinterpret_cast(factory_ptr); //! NOLINT - factory.ToArrowSchema(&schema.arrow_schema); + factory.ToArrowSchema(&schema); } void ArrowTestFactory::ToArrowSchema(struct ArrowSchema *out) { ArrowConverter::ToArrowSchema(out, types, names, options); } -duckdb::unique_ptr -ArrowStreamTestFactory::CreateStream(uintptr_t this_ptr, ArrowStreamParameters ¶meters) { - auto stream_wrapper = make_uniq(); - stream_wrapper->number_of_rows = -1; - stream_wrapper->arrow_array_stream = *(ArrowArrayStream *)this_ptr; - - return stream_wrapper; -} - -void ArrowStreamTestFactory::GetSchema(uintptr_t factory_ptr, duckdb::ArrowSchemaWrapper &schema) { - auto &factory = *reinterpret_cast(factory_ptr); //! NOLINT - factory.arrow_array_stream.get_schema(&factory.arrow_array_stream, &schema.arrow_schema); -} - unique_ptr ArrowTestHelper::ScanArrowObject(Connection &con, vector ¶ms) { auto arrow_result = con.TableFunction("arrow_scan", params)->Execute(); if (arrow_result->type != QueryResultType::MATERIALIZED_RESULT) { diff --git a/test/common/test_cast.cpp b/test/common/test_cast.cpp index e753d929f9d3..3085e2da51fc 100644 --- a/test/common/test_cast.cpp +++ b/test/common/test_cast.cpp @@ -155,7 +155,7 @@ TEST_CASE("Test casting to int8_t", "[cast]") { "1e-", "1e100", "1e100000000", - "1000e-1", + "10000e-1", " 3 2", "+"}; TestStringCast(working_values_str, expected_values_str, broken_values_str); diff --git a/test/common/test_cast_hugeint.test b/test/common/test_cast_hugeint.test index 3922d4496b34..50e44c60be0d 100644 --- a/test/common/test_cast_hugeint.test +++ b/test/common/test_cast_hugeint.test @@ -36,6 +36,7 @@ loop i 0 2 statement error SELECT f::HUGEINT FROM (SELECT f FROM broken_floats ORDER BY f LIMIT 1 OFFSET ${i}) t1 +---- endloop @@ -71,6 +72,7 @@ loop i 0 4 statement error SELECT f::HUGEINT FROM (SELECT f FROM broken_doubles ORDER BY f LIMIT 1 OFFSET ${i}) t1 +---- endloop @@ -80,7 +82,7 @@ CREATE TABLE working_strings(f VARCHAR); CREATE TABLE broken_strings(f VARCHAR); statement ok -INSERT INTO working_strings VALUES ('10'), ('-10'), ('-1329227995784915872903807060280344576'), ('170141183460469231731687303715884105727'), ('-170141183460469231731687303715884105727'), ('1.3'), ('-9223372036854775807.1293813'), ('1e18'), ('1e+18'), ('1.'), ('.1'), ('0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'), ('1000e-40'), ('10000e-3'); +INSERT INTO working_strings VALUES ('10'), ('-10'), ('-1329227995784915872903807060280344576'), ('170141183460469231731687303715884105727'), ('-170141183460469231731687303715884105728'), ('1.3'), ('-9223372036854775807.1293813'), ('1e18'), ('1e+18'), ('1.'), ('.1'), ('0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'), ('1000e-40'), ('10000e-3'); statement ok INSERT INTO broken_strings VALUES ('170141183460469231731687303715884105728'), ('-170141183460469231731687303715884105729'), ('10000000000000000000000000000000000000000000000000000000000000'), ('aaaa'), ('19A'), (''), ('1.A'), ('1.2382398723A'), ('1e++1'), ('1e+1+1'), ('1e+1-1'), ('+'), ('.'), ('. '), ('10000000000e37'); @@ -92,7 +94,7 @@ SELECT f::HUGEINT FROM working_strings -10 -1329227995784915872903807060280344576 170141183460469231731687303715884105727 --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 1.3 -9223372036854775807.1293813 1e18 @@ -107,6 +109,7 @@ loop i 0 14 statement error SELECT f::HUGEINT FROM (SELECT f FROM broken_strings ORDER BY f LIMIT 1 OFFSET ${i}) t1 +---- endloop @@ -327,9 +330,11 @@ select '255'::HUGEINT::UINT8 statement error select '-1'::hugeint::uint8 +---- statement error select '256'::hugeint::uint8 +---- # uint16 query I @@ -339,9 +344,11 @@ select '65535'::HUGEINT::UINT16 statement error select '-1'::hugeint::uint16 +---- statement error select '65536'::hugeint::uint16 +---- # uint32 query I @@ -351,9 +358,11 @@ select '4294967295'::HUGEINT::UINT32 statement error select '-1'::hugeint::uint32 +---- statement error select '4294967296'::hugeint::uint32 +---- # UINT64 query I @@ -363,9 +372,11 @@ select '18446744073709551615'::HUGEINT::UINT64 statement error select '-1'::hugeint::UINT64 +---- statement error select '18446744073709551616'::hugeint::UINT64 +---- # uint -> hugeint query I diff --git a/test/common/test_cast_struct.test b/test/common/test_cast_struct.test index 8e7fce9558be..e5c6067731a6 100644 --- a/test/common/test_cast_struct.test +++ b/test/common/test_cast_struct.test @@ -9,7 +9,7 @@ PRAGMA enable_verification statement error select struct_extract(struct_pack(b=>42)::struct(a integer), 'a'); ---- -Mismatch Type Error: Type STRUCT(b INTEGER) does not match with STRUCT(a INTEGER). Cannot cast STRUCTs with different names +element "b" in source struct was not found in target struct query I select struct_extract(struct_pack(a=>42)::struct(a string), 'a'); @@ -20,7 +20,7 @@ select struct_extract(struct_pack(a=>42)::struct(a string), 'a'); statement error select struct_extract(struct_pack(b=>42)::row(a integer), 'a'); ---- -Mismatch Type Error: Type STRUCT(b INTEGER) does not match with STRUCT(a INTEGER). Cannot cast STRUCTs with different names +element "b" in source struct was not found in target struct query I select struct_extract(struct_pack(a=>42)::row(a integer), 'a'); @@ -31,7 +31,7 @@ select struct_extract(struct_pack(a=>42)::row(a integer), 'a'); statement error select struct_extract(struct_pack(b=>42::double)::struct(a integer), 'a'); ---- -Mismatch Type Error: Type STRUCT(b DOUBLE) does not match with STRUCT(a INTEGER). Cannot cast STRUCTs with different names +element "b" in source struct was not found in target struct query I select struct_extract(struct_pack(a=>42::double)::struct(a integer), 'a'); @@ -41,7 +41,7 @@ select struct_extract(struct_pack(a=>42::double)::struct(a integer), 'a'); statement error select struct_extract(struct_pack(b=>'42'::double)::struct(a integer), 'a'); ---- -Mismatch Type Error: Type STRUCT(b DOUBLE) does not match with STRUCT(a INTEGER). Cannot cast STRUCTs with different names +element "b" in source struct was not found in target struct query I select struct_extract(struct_pack(a=>'42'::double)::struct(a integer), 'a'); @@ -76,12 +76,12 @@ Unimplemented type for cast (STRUCT(b INTEGER) -> INTEGER) statement error select struct_pack(b=>'hello'::string)::struct(a integer) ---- -Mismatch Type Error: Type STRUCT(b VARCHAR) does not match with STRUCT(a INTEGER). Cannot cast STRUCTs with different names +element "b" in source struct was not found in target struct statement error select struct_pack(b=>'42'::double, c => 'asdf'::string)::struct(a1 integer, a2 string); ---- -Mismatch Type Error: Type STRUCT(b DOUBLE, c VARCHAR) does not match with STRUCT(a1 INTEGER, a2 VARCHAR). Cannot cast STRUCTs with different names +element "b" in source struct was not found in target struct query I select struct_pack(a1 =>'42'::double, a2 => 'asdf'::string)::struct(a1 integer, a2 string); @@ -91,7 +91,7 @@ select struct_pack(a1 =>'42'::double, a2 => 'asdf'::string)::struct(a1 integer, query I select ROW(42, 'asdf'); ---- -{'': 42, '': asdf} +(42, asdf) statement error select ROW(); @@ -101,12 +101,12 @@ Can't pack nothing into a struct query I select ROW(NULL); ---- -{'': NULL} +(NULL) query I select ROW(NULL, NULL); ---- -{'': NULL, '': NULL} +(NULL, NULL) # MB example query I @@ -121,10 +121,15 @@ select a::row(a integer, b string) r from (VALUES (ROW(1, 'asdf')), (ROW(4, 'fds {'a': 4, 'b': fdsa} statement error -select struct_extract({'a': a}, a) from range(10) tbl(a); +select struct_extract({'a': a}, a) from (select a::varchar as a from range(10) tbl(a)); ---- Key name for struct_extract needs to be a constant string +statement error +select struct_extract({'a': 42}, 42) +---- +can only be used on unnamed structs + # test string to struct within struct casting query I SELECT {a:{b:'{a:3, b: "Hello World"}'}}::STRUCT(a STRUCT(b STRUCT(a INT, b VARCHAR))); diff --git a/test/common/test_file_system.cpp b/test/common/test_file_system.cpp index bdb44f864fbc..c473b4f9cecb 100644 --- a/test/common/test_file_system.cpp +++ b/test/common/test_file_system.cpp @@ -2,6 +2,7 @@ #include "duckdb/common/file_buffer.hpp" #include "duckdb/common/file_system.hpp" #include "duckdb/common/fstream.hpp" +#include "duckdb/common/local_file_system.hpp" #include "test_helpers.hpp" using namespace duckdb; @@ -96,3 +97,23 @@ TEST_CASE("Test file operations", "[file_system]") { handle.reset(); fs->RemoveFile(fname); } + +TEST_CASE("absolute paths", "[file_system]") { + duckdb::LocalFileSystem fs; + +#ifndef _WIN32 + REQUIRE(fs.IsPathAbsolute("/home/me")); + REQUIRE(!fs.IsPathAbsolute("./me")); + REQUIRE(!fs.IsPathAbsolute("me")); +#else + const std::string long_path = "\\\\?\\D:\\very long network\\"; + REQUIRE(fs.IsPathAbsolute(long_path)); + const std::string network = "\\\\network_drive\\filename.csv"; + REQUIRE(fs.IsPathAbsolute(network)); + REQUIRE(fs.IsPathAbsolute("C:\\folder\\filename.csv")); + REQUIRE(fs.IsPathAbsolute("C:/folder\\filename.csv")); + REQUIRE(fs.NormalizeAbsolutePath("C:/folder\\filename.csv") == "c:\\folder\\filename.csv"); + REQUIRE(fs.NormalizeAbsolutePath(network) == network); + REQUIRE(fs.NormalizeAbsolutePath(long_path) == "\\\\?\\d:\\very long network\\"); +#endif +} diff --git a/test/common/test_string_util.cpp b/test/common/test_string_util.cpp index 5605175080c9..f9a5d29d1d7d 100644 --- a/test/common/test_string_util.cpp +++ b/test/common/test_string_util.cpp @@ -1,7 +1,7 @@ #include "duckdb/common/string_util.hpp" #include "duckdb/common/types/value.hpp" #include "duckdb/common/to_string.hpp" - +#include "duckdb/common/exception/parser_exception.hpp" #include "catch.hpp" #include "duckdb/common/vector.hpp" @@ -229,3 +229,64 @@ TEST_CASE("Test split quoted strings", "[string_util]") { REQUIRE_THROWS_AS(StringUtil::SplitWithQuote("x y"), ParserException); } } + +TEST_CASE("Test path utilities", "[string_util]") { + SECTION("File name") { + REQUIRE("bin" == StringUtil::GetFileName("/usr/bin/")); + REQUIRE("foo.txt" == StringUtil::GetFileName("foo.txt")); + REQUIRE("foo.txt" == StringUtil::GetFileName("tmp/foo.txt")); + REQUIRE("foo.txt" == StringUtil::GetFileName("tmp\\foo.txt")); + REQUIRE("foo.txt" == StringUtil::GetFileName("/tmp/foo.txt")); + REQUIRE("foo.txt" == StringUtil::GetFileName("\\tmp\\foo.txt")); + REQUIRE("foo.txt" == StringUtil::GetFileName("foo.txt/.")); + REQUIRE("foo.txt" == StringUtil::GetFileName("foo.txt/./")); + REQUIRE("foo.txt" == StringUtil::GetFileName("foo.txt/.//")); + REQUIRE("foo.txt" == StringUtil::GetFileName("foo.txt\\.")); + REQUIRE("foo.txt" == StringUtil::GetFileName("foo.txt\\.\\")); + REQUIRE("foo.txt" == StringUtil::GetFileName("foo.txt\\.\\\\")); + REQUIRE(".." == StringUtil::GetFileName("..")); + REQUIRE("" == StringUtil::GetFileName("/")); + } + + SECTION("File extension") { + REQUIRE("cpp" == StringUtil::GetFileExtension("test.cpp")); + REQUIRE("gz" == StringUtil::GetFileExtension("test.cpp.gz")); + REQUIRE("" == StringUtil::GetFileExtension("test")); + REQUIRE("" == StringUtil::GetFileExtension(".gitignore")); + } + + SECTION("File stem (base name)") { + REQUIRE("test" == StringUtil::GetFileStem("test.cpp")); + REQUIRE("test.cpp" == StringUtil::GetFileStem("test.cpp.gz")); + REQUIRE("test" == StringUtil::GetFileStem("test")); + REQUIRE(".gitignore" == StringUtil::GetFileStem(".gitignore")); + + REQUIRE("test" == StringUtil::GetFileStem("test.cpp/")); + REQUIRE("test" == StringUtil::GetFileStem("test.cpp/.")); + REQUIRE("test" == StringUtil::GetFileStem("test.cpp/./")); + REQUIRE("test" == StringUtil::GetFileStem("test.cpp/.//")); + REQUIRE("test" == StringUtil::GetFileStem("test.cpp\\")); + REQUIRE("test" == StringUtil::GetFileStem("test.cpp\\.")); + REQUIRE("test" == StringUtil::GetFileStem("test.cpp\\.\\")); + REQUIRE("test" == StringUtil::GetFileStem("test.cpp\\.\\\\")); + REQUIRE(".." == StringUtil::GetFileStem("..")); + REQUIRE("" == StringUtil::GetFileStem("/")); + REQUIRE("test" == StringUtil::GetFileStem("tmp/test.txt")); + REQUIRE("test" == StringUtil::GetFileStem("tmp\\test.txt")); + REQUIRE("test" == StringUtil::GetFileStem("/tmp/test.txt")); + REQUIRE("test" == StringUtil::GetFileStem("\\tmp\\test.txt")); + } + + SECTION("File path") { + REQUIRE("/usr/local/bin" == StringUtil::GetFilePath("/usr/local/bin/test.cpp")); + REQUIRE("\\usr\\local\\bin" == StringUtil::GetFilePath("\\usr\\local\\bin\\test.cpp")); + REQUIRE("tmp" == StringUtil::GetFilePath("tmp/test.txt")); + REQUIRE("tmp" == StringUtil::GetFilePath("tmp\\test.txt")); + REQUIRE("/tmp" == StringUtil::GetFilePath("/tmp/test.txt")); + REQUIRE("\\tmp" == StringUtil::GetFilePath("\\tmp\\test.txt")); + REQUIRE("/tmp" == StringUtil::GetFilePath("/tmp/test.txt/")); + REQUIRE("\\tmp" == StringUtil::GetFilePath("\\tmp\\test.txt\\")); + REQUIRE("/tmp" == StringUtil::GetFilePath("/tmp//test.txt")); + REQUIRE("\\tmp" == StringUtil::GetFilePath("\\tmp\\\\test.txt")); + } +} diff --git a/test/extension/autoloading_copy_function.test b/test/extension/autoloading_copy_function.test index c432dbc8e4ad..20bb8a51ae34 100644 --- a/test/extension/autoloading_copy_function.test +++ b/test/extension/autoloading_copy_function.test @@ -38,4 +38,4 @@ copy (select 1337 as edgy_hacker_number) TO '__TEST_DIR__/test1337.parquet' query I select * from '__TEST_DIR__/test1337.parquet'; ---- -1337 \ No newline at end of file +1337 diff --git a/test/extension/autoloading_filesystems.test b/test/extension/autoloading_filesystems.test index 8280c665f74d..4379d7ccc29d 100644 --- a/test/extension/autoloading_filesystems.test +++ b/test/extension/autoloading_filesystems.test @@ -39,11 +39,11 @@ SET s3_endpoint='false_endpoint'; statement error SELECT * FROM 's3://some-bucket/a-file.csv' ---- -IO Error: Connection error for HTTP HEAD to 'https://some-bucket.false_endpoint/a-file.csv' +Connection error for HTTP HEAD to 'https://some-bucket.false_endpoint/a-file.csv' # Currently Azure is not yet autoloadable, so it should throw the normal error # TODO: enable autoloading for azure statement error SELECT * FROM 'azure://some-bucket/a-file.csv' ---- -IO Error: No files found that match the pattern "azure://some-bucket/a-file.csv" \ No newline at end of file +No files found that match the pattern "azure://some-bucket/a-file.csv" diff --git a/test/extension/autoloading_types.test b/test/extension/autoloading_types.test index a0b142c96b45..0a362846a423 100644 --- a/test/extension/autoloading_types.test +++ b/test/extension/autoloading_types.test @@ -35,4 +35,4 @@ set autoinstall_extension_repository='${LOCAL_EXTENSION_REPO}'; query I SELECT '{}'::JSON; ---- -{} \ No newline at end of file +{} diff --git a/test/extension/install_extension.test_slow b/test/extension/install_extension.test_slow index ff0ad35f459a..020913ea4590 100644 --- a/test/extension/install_extension.test_slow +++ b/test/extension/install_extension.test_slow @@ -14,9 +14,11 @@ load __TEST_DIR__/dummy_database_for_extension_installation.db statement error INSTALL 'asdf'; +---- statement error INSTALL 'asdf/asdf.duckdb_extension'; +---- statement ok INSTALL '__BUILD_DIRECTORY__/test/extension/loadable_extension_demo.duckdb_extension'; @@ -33,12 +35,28 @@ LOAD 'loadable_extension_demo'; # need to restart to unload extensions restart +# this will succeed on MacOS due to case insensitive filesystem +statement maybe +FORCE INSTALL '__BUILD_DIRECTORY__/test/extension/loadable_extension_DEMO.duckdb_extension'; +---- +IO Error: Failed to read extension from + +statement ok +FORCE INSTALL '__BUILD_DIRECTORY__/test/extension/loadable_extension_demo.duckdb_extension'; + +statement ok +LOAD 'Loadable_Extension_DEMO'; + +# need to restart to unload extensions +restart + # can't find extension in non-default extension location statement ok SET extension_directory='__TEST_DIR__/extension_directory' statement error LOAD 'loadable_extension_demo'; +---- # can install after setting directory, even if the extension directory does not yet exist statement ok @@ -69,10 +87,12 @@ SET home_directory='__TEST_DIR__/home_directory' statement error LOAD 'loadable_extension_demo'; +---- # we can't install because we will not create a non-existing home directory statement error INSTALL '__BUILD_DIRECTORY__/test/extension/loadable_extension_demo.duckdb_extension'; +---- # but this one should exist statement ok diff --git a/test/extension/load_extension.test b/test/extension/load_extension.test index b6316b565353..b05a3a2f3a72 100644 --- a/test/extension/load_extension.test +++ b/test/extension/load_extension.test @@ -11,12 +11,15 @@ PRAGMA enable_verification statement error LOAD 'asdf'; +---- statement error LOAD 'Makefile'; +---- statement error LOAD NULL; +---- statement ok LOAD '__BUILD_DIRECTORY__/test/extension/loadable_extension_demo.duckdb_extension'; @@ -41,9 +44,11 @@ QUACK statement error QUAC +---- statement error QUACK NOT QUACK +---- query I SELECT contains(loaded_extensions(), 'loadable_extension_demo') diff --git a/test/extension/test_alias_point.test b/test/extension/test_alias_point.test index 64a64d75f8e4..4ea6a10ed647 100644 --- a/test/extension/test_alias_point.test +++ b/test/extension/test_alias_point.test @@ -39,9 +39,11 @@ SELECT sub_point(({'x': 2, 'y': 3})::POINT, ({'x': 3, 'y': 4})::POINT) statement error SELECT add_point(pt, pt) from points; +---- statement error SELECT sub_point(pt, pt) from points; +---- query I SELECT add_point(point, point) from points; diff --git a/test/extension/test_loadable_optimizer.test b/test/extension/test_loadable_optimizer.test index bddc348f84fe..ba91634e882f 100644 --- a/test/extension/test_loadable_optimizer.test +++ b/test/extension/test_loadable_optimizer.test @@ -16,4 +16,4 @@ statement ok LOAD '__BUILD_DIRECTORY__/test/extension/loadable_extension_optimizer_demo.duckdb_extension'; statement ok -select 42 \ No newline at end of file +select 42 diff --git a/test/fuzzer/afl/alter_if_exists.test b/test/fuzzer/afl/alter_if_exists.test index ca14a4c4e2f5..d9a87eb4591d 100644 --- a/test/fuzzer/afl/alter_if_exists.test +++ b/test/fuzzer/afl/alter_if_exists.test @@ -7,3 +7,4 @@ ALTER TABLE IF EXISTS t0 ADD COLUMN c1 INT; statement error ALTER TABLE t0 ADD COLUMN c1 INT; +---- diff --git a/test/fuzzer/afl/invalid_foreign_key.test b/test/fuzzer/afl/invalid_foreign_key.test index 3f25e90c0e4c..3be7cfc85e8e 100644 --- a/test/fuzzer/afl/invalid_foreign_key.test +++ b/test/fuzzer/afl/invalid_foreign_key.test @@ -7,3 +7,4 @@ PRAGMA enable_verification statement error create table y(y int, foreign key (y) references y(y)); +---- diff --git a/test/fuzzer/afl/limit_out_of_range.test b/test/fuzzer/afl/limit_out_of_range.test index 6ad9385fd1b4..eb62547741d4 100644 --- a/test/fuzzer/afl/limit_out_of_range.test +++ b/test/fuzzer/afl/limit_out_of_range.test @@ -7,9 +7,12 @@ PRAGMA enable_verification statement error SELECT 1 LIMIT 3493690519702624888078795276804013381392711238711408854154521934990547605008475834286773858253643735619391784938186674922945640543537290894084514784093972720748475288610394187481276081350259062592878908961890372712236217855377408.000000%; +---- statement error SELECT 1 LIMIT 3493690519702624888078795276804013381392711238711408854154521934990547605008475834286773858253643735619391784938186674922945640543537290894084514784093972720748475288610394187481276081350259062592878908961890372712236217855377408.000000; +---- statement error SELECT 1 LIMIT CAST('NaN' AS REAL)%; +---- diff --git a/test/fuzzer/afl/window_function_binder_error.test b/test/fuzzer/afl/window_function_binder_error.test index c722ea549693..6ee138446eea 100644 --- a/test/fuzzer/afl/window_function_binder_error.test +++ b/test/fuzzer/afl/window_function_binder_error.test @@ -12,3 +12,4 @@ SELECT count(x) OVER () FROM (SELECT 1) x(x); statement error SELECT count(x) OVER () FROM (SELECT 1) x(x) GROUP BY ALL; +---- diff --git a/test/fuzzer/duckfuzz/array_slice_underflow.test b/test/fuzzer/duckfuzz/array_slice_underflow.test index 097de2d1536a..f9a54baff9f9 100644 --- a/test/fuzzer/duckfuzz/array_slice_underflow.test +++ b/test/fuzzer/duckfuzz/array_slice_underflow.test @@ -13,4 +13,4 @@ SELECT ([1, 2, 3])[0:-9223372036854775808]; query I SELECT ([1, 2, 3])[-9223372036854775808:0]; ---- -[] \ No newline at end of file +[] diff --git a/test/fuzzer/duckfuzz/arrow_scan_subquery_nullptr.test b/test/fuzzer/duckfuzz/arrow_scan_subquery_nullptr.test index a3e9220e2d65..3c305adea560 100644 --- a/test/fuzzer/duckfuzz/arrow_scan_subquery_nullptr.test +++ b/test/fuzzer/duckfuzz/arrow_scan_subquery_nullptr.test @@ -5,3 +5,4 @@ statement error SELECT * FROM (SELECT * FROM arrow_scan(NULL, NULL, NULL)); Binder Error: arrow_scan: pointers cannot be null +---- diff --git a/test/fuzzer/duckfuzz/duck_fuzz_column_binding_tests.test b/test/fuzzer/duckfuzz/duck_fuzz_column_binding_tests.test new file mode 100644 index 000000000000..f55e47d2c6c4 --- /dev/null +++ b/test/fuzzer/duckfuzz/duck_fuzz_column_binding_tests.test @@ -0,0 +1,29 @@ +# name: test/fuzzer/duckfuzz/duck_fuzz_column_binding_tests.test +# description: test why column bindings fail. +# group: [duckfuzz] + +statement ok +create table all_types as select * exclude(small_enum, medium_enum, large_enum) from test_all_types() limit 0; + +# https://github.com/duckdb/duckdb-fuzzer/issues/1357 +# simplified query +statement ok +SELECT ref_8.uint AS c0, + Argmin(Cast(ref_8."timestamp" AS TIMESTAMP), Cast(ref_10."timestamp" AS TIMESTAMP)) OVER (partition BY ref_10."nested_int_array", ref_10."timestamp" ORDER BY ref_8.hugeint) AS c1 +FROM main.all_types AS ref_8 +INNER JOIN main.all_types AS ref_9 +INNER JOIN main.all_types AS ref_10 +ON ( ref_10.dec38_10 IS NOT NULL) + OR EXISTS + ( SELECT ref_9."float" FROM main.all_types) +ON ((ref_9."smallint" = ref_8."smallint")) + + +# original query from fuzzer +statement ok +SELECT ref_8.uint AS c0, CASE WHEN ((min_by(CAST(ref_8."varchar" AS VARCHAR), CAST(ref_3."varchar" AS VARCHAR)) OVER (PARTITION BY subq_3.c1, ref_10.double_array ORDER BY ref_7."varchar") ~~* ref_10."varchar")) THEN (argmin(CAST(ref_6."timestamp" AS TIMESTAMP), CAST(ref_10."timestamp" AS TIMESTAMP)) OVER (PARTITION BY ref_10.nested_int_array, ref_10."timestamp" ORDER BY ref_8.hugeint)) ELSE argmin(CAST(ref_6."timestamp" AS TIMESTAMP), CAST(ref_10."timestamp" AS TIMESTAMP)) OVER (PARTITION BY ref_10.nested_int_array, ref_10."timestamp" ORDER BY ref_8.hugeint) END AS c1 FROM main.all_types AS ref_0 INNER JOIN (SELECT ref_1.timestamp_array AS c1 FROM main.all_types AS ref_1 INNER JOIN main.all_types AS ref_2 ON (NULL) WHERE (((CAST(NULL AS VARCHAR) ~~~ CAST(NULL AS VARCHAR)) OR (ref_1.blob IS NOT NULL) OR 0) AND (ref_1.timestamp_ms IS NULL) AND ((SELECT histogram("varchar") FROM main.all_types) IS NOT NULL) AND ((ref_2.timestamp_s IS NULL) OR (((ref_2."varchar" ~~~ ref_1."varchar") OR 1 OR (ref_2."varchar" ~~ (SELECT "varchar" FROM main.all_types LIMIT 1 OFFSET 5))) AND (ref_2."varchar" ~~ ref_2."varchar")) OR ((SELECT "varchar" FROM main.all_types LIMIT 1 OFFSET 6) !~~* ref_1."varchar")))) AS subq_0 ON (ref_0."varchar") LEFT JOIN main.all_types AS ref_3 LEFT JOIN (SELECT ref_4.ubigint AS c0, 13 AS c1, ref_4."time" AS c2, ref_4."float" AS c3, (SELECT double_array FROM main.all_types LIMIT 1 OFFSET 6) AS c4 FROM main.all_types AS ref_4 WHERE NULL) AS subq_1 ON ((ref_3."float" = subq_1.c3)) ON (NULL) INNER JOIN (SELECT ref_5.timestamp_ms AS c4 FROM main.all_types AS ref_5) AS subq_2 LEFT JOIN main.all_types AS ref_6 INNER JOIN main.all_types AS ref_7 ON (((SELECT "varchar" FROM main.all_types LIMIT 1 OFFSET 1) ~~* ref_7."varchar")) INNER JOIN main.all_types AS ref_8 INNER JOIN main.all_types AS ref_9 INNER JOIN main.all_types AS ref_10 ON (((ref_9."varchar" !~~* ref_9."varchar") OR (ref_10.dec38_10 IS NOT NULL) OR EXISTS(SELECT ref_9."float" AS c0, ref_9.usmallint AS c1, ref_10."bigint" AS c2, (SELECT bool FROM main.all_types LIMIT 1 OFFSET 5) AS c3, ref_10.nested_int_array AS c4, ref_9.timestamp_ms AS c5, 4 AS c6, ref_11."map" AS c7, (SELECT uint FROM main.all_types LIMIT 1 OFFSET 3) AS c8, ref_9.dec_4_1 AS c9 FROM main.all_types AS ref_11 WHERE (1 AND EXISTS(SELECT ref_10.varchar_array AS c0 FROM main.all_types AS ref_12 WHERE 0 LIMIT 149) AND 1) LIMIT 180))) ON (EXISTS(SELECT ref_8.double_array AS c0, ref_10."timestamp" AS c1, ref_8.uuid AS c2, ref_13.dec_9_4 AS c3, ref_13."int" AS c4, ref_13.timestamp_ns AS c5, ref_8."float" AS c6, 63 AS c7 FROM main.all_types AS ref_13 WHERE (ref_13."varchar" ~~ ref_9."varchar"))) ON ((ref_7."smallint" = ref_8."smallint")) INNER JOIN (SELECT ref_14."interval" AS c1 FROM main.all_types AS ref_14 WHERE ref_14."varchar") AS subq_3 ON (EXISTS(SELECT ref_15.utinyint AS c0 FROM main.all_types AS ref_15 WHERE (ref_9."varchar" ~~* (SELECT "varchar" FROM main.all_types LIMIT 1 OFFSET 4)))) ON ((ref_9."varchar" !~~ ref_6."varchar")) ON ((ref_3.timestamp_array = ref_6.timestamp_array)) + + +# https://github.com/duckdb/duckdb-fuzzer/issues/1358 +statement ok +SELECT subq_0.c6 AS c1, subq_0.c14 AS c2, subq_0.c7 AS c4, subq_0.c4 AS c5 FROM (SELECT (SELECT date FROM main.all_types LIMIT 1 OFFSET 6) AS c3, ref_2."time" AS c4, (SELECT uuid FROM main.all_types LIMIT 1 OFFSET 1) AS c5, ref_3.array_of_structs AS c6, CASE WHEN (((ref_0."varchar" !~~* ref_1."varchar") OR (ref_5."varchar" ~~~ ref_6."varchar"))) THEN (ref_2."bigint") ELSE ref_2."bigint" END AS c7, rtrim(CAST(CASE WHEN ((((ref_8."varchar" ~~~ ref_2."varchar") AND (ref_2."varchar" ~~~ ref_0."varchar")) OR (1 AND (ref_7."varchar" ~~ ref_2."varchar")))) THEN (ref_8."varchar") ELSE ref_8."varchar" END AS VARCHAR), CAST(ref_2."varchar" AS VARCHAR)) AS c9, ref_8.ubigint AS c14 FROM main.all_types AS ref_0 INNER JOIN main.all_types AS ref_1 INNER JOIN main.all_types AS ref_2 ON ((ref_1.int_array = ref_2.int_array)) ON (((ref_2."varchar" !~~ ref_1."varchar") OR (ref_1.blob IS NOT NULL))) INNER JOIN main.all_types AS ref_3 INNER JOIN main.all_types AS ref_4 RIGHT JOIN main.all_types AS ref_5 ON ((ref_4.dec_18_6 = ref_5.dec_18_6)) ON (ref_5."varchar") LEFT JOIN main.all_types AS ref_6 RIGHT JOIN main.all_types AS ref_7 INNER JOIN main.all_types AS ref_8 ON ((ref_7.timestamp_array = ref_8.timestamp_array)) ON (1) ON (NULL) ON ((ref_0.dec_18_6 = ref_3.dec_18_6)) WHERE (ref_5."varchar" ^@ (SELECT "varchar" FROM main.all_types LIMIT 1 OFFSET 6)) LIMIT 96) AS subq_0 WHERE subq_0.c9 diff --git a/test/fuzzer/duckfuzz/duckfuzz_tests/test_duckfuzz.test b/test/fuzzer/duckfuzz/duckfuzz_tests/test_duckfuzz.test new file mode 100644 index 000000000000..55073d30eb92 --- /dev/null +++ b/test/fuzzer/duckfuzz/duckfuzz_tests/test_duckfuzz.test @@ -0,0 +1,16 @@ +# name: test/fuzzer/duckfuzz/duckfuzz_tests/test_duckfuzz.test +# description: Invalid make time +# group: [duckfuzz_tests] + +# To run these tests make remove require not_available +require not_available + +require sqlsmith + +loop i 1000 2000 + +statement ok +call fuzzyduck(max_queries=1, seed=${i}, verbose_output=1); + +endloop + diff --git a/test/fuzzer/duckfuzz/list_try_cast.test b/test/fuzzer/duckfuzz/list_try_cast.test index 23453162344f..61c510461159 100644 --- a/test/fuzzer/duckfuzz/list_try_cast.test +++ b/test/fuzzer/duckfuzz/list_try_cast.test @@ -26,3 +26,9 @@ query I SELECT TRY_CAST(v AS INTEGER[]) FROM strings; ---- [42, NULL, 84, NULL, 100] + +# Issue #10140 (used to crash) +statement error +SELECT DISTINCT OPERATOR ( / ) + ARRAY [ ] :: INTERVAL SECONDS [ ] [ ] :: SETOF NCHAR ARRAY :: FLOAT ; +---- +No function matches the given name and argument types diff --git a/test/fuzzer/duckfuzz/list_zip_no_args.test b/test/fuzzer/duckfuzz/list_zip_no_args.test new file mode 100644 index 000000000000..141c122ec8c3 --- /dev/null +++ b/test/fuzzer/duckfuzz/list_zip_no_args.test @@ -0,0 +1,15 @@ +# name: test/fuzzer/duckfuzz/list_zip_no_args.test +# description: Test List Zip with no arguments. +# group: [duckfuzz] + +# https://github.com/duckdb/duckdb-fuzzer/issues/1361 +statement error +SELECT array_zip() AS c0; +---- +Binder Error + +statement error +SELECT list_zip() +---- +Binder Error + diff --git a/test/fuzzer/duckfuzz/ordagg_nargs.test b/test/fuzzer/duckfuzz/ordagg_nargs.test index 2171a8f7b770..261f2bbe5ce4 100644 --- a/test/fuzzer/duckfuzz/ordagg_nargs.test +++ b/test/fuzzer/duckfuzz/ordagg_nargs.test @@ -14,6 +14,6 @@ SELECT cume_dist() OVER (ROWS AND regr_sxx(6311, 8320 ORDER BY 1726 ASC NULLS FIRST, 10101, - (TRY_CAST(946 AS INTEGER[]) BETWEEN 2053 AND 182) DESC NULLS LAST) + (946 BETWEEN 2053 AND 182) DESC NULLS LAST) FILTER (WHERE 118) PRECEDING ) diff --git a/test/fuzzer/duckfuzz/pivot_aggregate_mismatch.test b/test/fuzzer/duckfuzz/pivot_aggregate_mismatch.test index 534b5e29137d..e5eab7a7703b 100644 --- a/test/fuzzer/duckfuzz/pivot_aggregate_mismatch.test +++ b/test/fuzzer/duckfuzz/pivot_aggregate_mismatch.test @@ -7,3 +7,4 @@ PRAGMA enable_verification statement error FROM (VALUES (42)) t(i) PIVOT (current_date() FOR (i) IN (41)) +---- diff --git a/test/fuzzer/duckfuzz/read_ndjson_non_varchar_input.test b/test/fuzzer/duckfuzz/read_ndjson_non_varchar_input.test index 29eaa174e602..c71b6ac5233b 100644 --- a/test/fuzzer/duckfuzz/read_ndjson_non_varchar_input.test +++ b/test/fuzzer/duckfuzz/read_ndjson_non_varchar_input.test @@ -10,9 +10,9 @@ PRAGMA enable_verification statement error FROM read_ndjson([42]) ---- -can only take a list of strings as a parameter +No function matches statement error FROM read_csv_auto([42]) ---- -can only take a list of strings as a parameter +No function matches diff --git a/test/fuzzer/duckfuzz/regexp_replace_constant.test b/test/fuzzer/duckfuzz/regexp_replace_constant.test index 5d8ca430daec..199368676162 100644 --- a/test/fuzzer/duckfuzz/regexp_replace_constant.test +++ b/test/fuzzer/duckfuzz/regexp_replace_constant.test @@ -13,4 +13,4 @@ must not be NULL statement error SELECT regexp_extract('foobarbaz', 'B..', 0, 42); ---- -must be a string +No function matches diff --git a/test/fuzzer/duckfuzz/strptime_const_arg.test b/test/fuzzer/duckfuzz/strptime_const_arg.test index 2be0cdb1c065..1bacd7544e08 100644 --- a/test/fuzzer/duckfuzz/strptime_const_arg.test +++ b/test/fuzzer/duckfuzz/strptime_const_arg.test @@ -8,4 +8,4 @@ create table all_types as select * exclude(small_enum, medium_enum, large_enum) statement error SELECT COLUMNS(list_filter(*, (c43 -> try_strptime(c29, c24)))) FROM all_types AS t42(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41) ---- -Binder Error: Star expression \ No newline at end of file +Binder Error: Star expression diff --git a/test/fuzzer/duckfuzz/union_dict_tag.test b/test/fuzzer/duckfuzz/union_dict_tag.test index 21d431f02d89..5b0632d95465 100644 --- a/test/fuzzer/duckfuzz/union_dict_tag.test +++ b/test/fuzzer/duckfuzz/union_dict_tag.test @@ -6,4 +6,4 @@ statement ok create table all_types as select * exclude(small_enum, medium_enum, large_enum) from test_all_types(); statement ok -SELECT encode("union"), "double" FROM all_types where "double"; \ No newline at end of file +SELECT encode("union"::varchar), "double" FROM all_types where "double"; diff --git a/test/fuzzer/pedro/C_C++_API_query_verification.test b/test/fuzzer/pedro/C_C++_API_query_verification.test index cfc768e1a199..abf723a267b8 100644 --- a/test/fuzzer/pedro/C_C++_API_query_verification.test +++ b/test/fuzzer/pedro/C_C++_API_query_verification.test @@ -22,4 +22,4 @@ SELECT c0 FROM t0; -2 statement ok -SELECT CAST((((1!) << CASE WHEN 1 THEN 1 WHEN 1 THEN 1 END) IS NULL) AS USMALLINT) \ No newline at end of file +SELECT CAST((((1!) << CASE WHEN 1 THEN 1 WHEN 1 THEN 1 END) IS NULL) AS USMALLINT) diff --git a/test/fuzzer/pedro/aggregate_assertion_errors.test b/test/fuzzer/pedro/aggregate_assertion_errors.test index b0e1082c6360..0cf6969f6f5f 100644 --- a/test/fuzzer/pedro/aggregate_assertion_errors.test +++ b/test/fuzzer/pedro/aggregate_assertion_errors.test @@ -31,4 +31,4 @@ SELECT count(c0 ORDER BY 0) FROM (SELECT 2 EXCEPT SELECT 2) c0; query I SELECT mode((c0, 0)) FROM (SELECT 1 c0), (SELECT 2); ---- -{'': 1, '': 0} +(1, 0) diff --git a/test/fuzzer/pedro/alter_column_generated.test b/test/fuzzer/pedro/alter_column_generated.test index cb8d7637317e..9fed43611839 100644 --- a/test/fuzzer/pedro/alter_column_generated.test +++ b/test/fuzzer/pedro/alter_column_generated.test @@ -16,9 +16,11 @@ ALTER TABLE t0 ALTER c1 SET NOT NULL; statement error ALTER TABLE t0 ALTER c0 SET NOT NULL; +---- statement error INSERT INTO t0 VALUES (NULL); +---- statement ok DROP TABLE t0; @@ -31,4 +33,5 @@ INSERT INTO t0 VALUES (NULL); statement error ALTER TABLE t0 ALTER c1 SET NOT NULL; +---- diff --git a/test/fuzzer/pedro/alter_dependencies.test b/test/fuzzer/pedro/alter_dependencies.test index 437aa165fdc7..be12f742c204 100644 --- a/test/fuzzer/pedro/alter_dependencies.test +++ b/test/fuzzer/pedro/alter_dependencies.test @@ -22,5 +22,5 @@ COMMIT; statement error ALTER TABLE t1 ALTER c2 SET NOT NULL; ---- +---- Cannot alter diff --git a/test/fuzzer/pedro/alter_dependency_conflict.test b/test/fuzzer/pedro/alter_dependency_conflict.test index 8d195f2e585c..0373e36b35c6 100644 --- a/test/fuzzer/pedro/alter_dependency_conflict.test +++ b/test/fuzzer/pedro/alter_dependency_conflict.test @@ -13,6 +13,7 @@ CREATE INDEX i2 ON t4 (c3); # Catalog Error: Cannot alter entry "t4" because there are entries that depend on it. statement error ALTER TABLE t4 ADD c1 BLOB; +---- # the table should still be in a usable state after the alter statement ok diff --git a/test/fuzzer/pedro/alter_table_rowid.test b/test/fuzzer/pedro/alter_table_rowid.test index a1a7dc8e1fd7..95f9ab7d9465 100644 --- a/test/fuzzer/pedro/alter_table_rowid.test +++ b/test/fuzzer/pedro/alter_table_rowid.test @@ -10,12 +10,16 @@ CREATE TABLE t0(c0 INTEGER, c1 INTEGER); statement error ALTER TABLE t0 DROP COLUMN rowid; +---- statement error ALTER TABLE t0 RENAME rowid TO ups; +---- statement error ALTER TABLE t0 ALTER rowid TYPE VARCHAR; +---- statement error ALTER TABLE t0 ALTER rowidx SET DEFAULT 0; +---- diff --git a/test/fuzzer/pedro/art_concatenate_prefix.test b/test/fuzzer/pedro/art_concatenate_prefix.test index bf023f62ae96..a841797667ba 100644 --- a/test/fuzzer/pedro/art_concatenate_prefix.test +++ b/test/fuzzer/pedro/art_concatenate_prefix.test @@ -12,4 +12,4 @@ statement ok INSERT INTO t0 VALUES (-2041046163), (35016222); statement ok -TRUNCATE t0; \ No newline at end of file +TRUNCATE t0; diff --git a/test/fuzzer/pedro/art_prefix_error.test b/test/fuzzer/pedro/art_prefix_error.test index 3dfaf266cb13..22dce28c0b28 100644 --- a/test/fuzzer/pedro/art_prefix_error.test +++ b/test/fuzzer/pedro/art_prefix_error.test @@ -5,7 +5,6 @@ statement ok CREATE TABLE t0 (c0 BLOB PRIMARY KEY); -statement error +statement ok INSERT INTO t0(c0) VALUES (BLOB '\x00a'), (BLOB ''); ----- -ART indexes cannot contain BLOBs with zero bytes. \ No newline at end of file + diff --git a/test/fuzzer/pedro/between_type_mismatch.test b/test/fuzzer/pedro/between_type_mismatch.test index c0082f2a8d37..6a67b1afc153 100644 --- a/test/fuzzer/pedro/between_type_mismatch.test +++ b/test/fuzzer/pedro/between_type_mismatch.test @@ -9,4 +9,4 @@ statement ok CREATE TABLE t0 (c1 USMALLINT); statement ok -SELECT 1 FROM (SELECT 1) t1(c0) JOIN t0 ON c1 BETWEEN c0 AND 1; \ No newline at end of file +SELECT 1 FROM (SELECT 1) t1(c0) JOIN t0 ON c1 BETWEEN c0 AND 1; diff --git a/test/fuzzer/pedro/blob_wrong_optimization.test b/test/fuzzer/pedro/blob_wrong_optimization.test index eddce4b468a3..00fbd7f30f49 100644 --- a/test/fuzzer/pedro/blob_wrong_optimization.test +++ b/test/fuzzer/pedro/blob_wrong_optimization.test @@ -41,9 +41,12 @@ SELECT 1 FROM t1; statement error SELECT 1 FROM t1 WHERE decode('\xC0'::BLOB) IS NULL; --1 row, wrong? +---- statement error SELECT 1 FROM t1 WHERE NOT (decode('\xC0'::BLOB) IS NULL); --1 row +---- statement error SELECT 1 FROM t1 WHERE (decode('\xC0'::BLOB) IS NULL) IS NULL; --1 row, wrong? +---- diff --git a/test/fuzzer/pedro/buffer_manager_out_of_memory.test b/test/fuzzer/pedro/buffer_manager_out_of_memory.test index 801f5c0ad4dd..49a9f262840f 100644 --- a/test/fuzzer/pedro/buffer_manager_out_of_memory.test +++ b/test/fuzzer/pedro/buffer_manager_out_of_memory.test @@ -9,7 +9,7 @@ statement ok SET threads=8; statement ok -SELECT ((SELECT 1) EXCEPT (SELECT ('\xF1\x85\x96\xBA'::BLOB)::VARCHAR GROUP BY 1 ORDER BY 1)); +SELECT ((SELECT 1::VARCHAR) EXCEPT (SELECT ('\xF1\x85\x96\xBA'::BLOB)::VARCHAR GROUP BY 1 ORDER BY 1)); statement ok PRAGMA MEMORY_LIMIT='2MB'; diff --git a/test/fuzzer/pedro/buffer_manager_resize_issue.test b/test/fuzzer/pedro/buffer_manager_resize_issue.test index a4e554d94fe4..ff795812d7b8 100644 --- a/test/fuzzer/pedro/buffer_manager_resize_issue.test +++ b/test/fuzzer/pedro/buffer_manager_resize_issue.test @@ -19,9 +19,8 @@ CREATE INDEX i1 ON t1 (c0); ---- Catalog Error: Index with name "i1" already exists! -# actually a ROLLBACK, because we threw an exception in the transaction statement ok -COMMIT; +ROLLBACK statement ok CREATE UNIQUE INDEX i1 ON t2 (c1); diff --git a/test/fuzzer/pedro/complex_offset_clause_crash.test b/test/fuzzer/pedro/complex_offset_clause_crash.test index 10575329cdcc..71520689d13e 100644 --- a/test/fuzzer/pedro/complex_offset_clause_crash.test +++ b/test/fuzzer/pedro/complex_offset_clause_crash.test @@ -7,3 +7,4 @@ PRAGMA enable_verification statement error SELECT 6 OFFSET count(*) FILTER ((SELECT 2 UNION (SELECT 2) OFFSET (SELECT LAST))) OVER (); +---- diff --git a/test/fuzzer/pedro/complex_type_all_subquery.test b/test/fuzzer/pedro/complex_type_all_subquery.test index 45c570b8b3f8..f88a8dcbbc68 100644 --- a/test/fuzzer/pedro/complex_type_all_subquery.test +++ b/test/fuzzer/pedro/complex_type_all_subquery.test @@ -9,13 +9,13 @@ PRAGMA enable_verification statement error VALUES((0, 0) = ALL(SELECT 2)); ---- -Unimplemented +explicit cast is required # use ALL with complex types -query I +statement error SELECT {'a': 42} = ALL(SELECT {'a': '42'}) ---- -1 +explicit cast is required foreach val 42 [1,2,3] {'a':42} {'a':[1,2,3],'b':'thisisalongstring'} diff --git a/test/fuzzer/pedro/concurrent_catalog_usage.test b/test/fuzzer/pedro/concurrent_catalog_usage.test index 5bded8ba2728..9d2beaecad67 100644 --- a/test/fuzzer/pedro/concurrent_catalog_usage.test +++ b/test/fuzzer/pedro/concurrent_catalog_usage.test @@ -5,7 +5,7 @@ statement ok CREATE TABLE t2 AS (SELECT 42); -concurrentloop i 1 10 +concurrentloop i 1 100 statement maybe CREATE OR REPLACE TABLE t2 AS (SELECT -54124033386577348004002656426531535114 FROM t2 LIMIT 70%); diff --git a/test/fuzzer/pedro/correlated_offset_subquery.test b/test/fuzzer/pedro/correlated_offset_subquery.test index 317055289001..c279d92c13e4 100644 --- a/test/fuzzer/pedro/correlated_offset_subquery.test +++ b/test/fuzzer/pedro/correlated_offset_subquery.test @@ -7,6 +7,8 @@ PRAGMA enable_verification statement error SELECT (SELECT 1 OFFSET c0) FROM (VALUES(1)) c0; +---- statement error SELECT 0 FROM (SELECT 8 c0) WHERE (SELECT 1 LIMIT c0); +---- diff --git a/test/fuzzer/pedro/create_index_error.test b/test/fuzzer/pedro/create_index_error.test index 22d40cf52c4f..476ab8e69bf6 100644 --- a/test/fuzzer/pedro/create_index_error.test +++ b/test/fuzzer/pedro/create_index_error.test @@ -57,7 +57,7 @@ CREATE INDEX i0 ON t1 (c1, (decode('\x81\x5C\xE5'::BLOB)::VARCHAR)); statement error INSERT INTO t1 VALUES (1); ---- -Conversion Error: Failure in decode: could not convert blob to UTF8 string, the blob contained invalid UTF8 characters +TransactionContext Error: Failed to commit: Failure in decode: could not convert blob to UTF8 string, the blob contained invalid UTF8 characters statement ok -CREATE INDEX i1 ON t1 USING ART (c1); \ No newline at end of file +CREATE INDEX i1 ON t1 USING ART (c1); diff --git a/test/fuzzer/pedro/create_replace_table_union.test b/test/fuzzer/pedro/create_replace_table_union.test index e99beeed15b1..5565c52f86ca 100644 --- a/test/fuzzer/pedro/create_replace_table_union.test +++ b/test/fuzzer/pedro/create_replace_table_union.test @@ -15,11 +15,14 @@ loop i 0 10 statement error CREATE OR REPLACE TABLE t1 AS (SELECT * FROM range(10) ORDER BY 1) UNION ALL (SELECT * FROM range(10) ORDER BY 1); +---- statement error CREATE OR REPLACE TABLE t1 AS (SELECT 1) UNION ALL (SELECT * FROM range(10) ORDER BY 1); +---- statement error CREATE OR REPLACE TABLE t1 AS ((SELECT 1) UNION ALL ((SELECT 2) INTERSECT ALL (SELECT 2))); +---- endloop diff --git a/test/fuzzer/pedro/currval_sequence_dependency.test b/test/fuzzer/pedro/currval_sequence_dependency.test index 17f31e48b6ae..a7126d70b9e8 100644 --- a/test/fuzzer/pedro/currval_sequence_dependency.test +++ b/test/fuzzer/pedro/currval_sequence_dependency.test @@ -24,5 +24,6 @@ DROP SEQUENCE seq CASCADE; # this also drops the table statement error INSERT INTO t1 VALUES (1) +---- endloop diff --git a/test/fuzzer/pedro/decimal_with_invalid_scale.test b/test/fuzzer/pedro/decimal_with_invalid_scale.test index 05720915171e..3c4ee191cd09 100644 --- a/test/fuzzer/pedro/decimal_with_invalid_scale.test +++ b/test/fuzzer/pedro/decimal_with_invalid_scale.test @@ -4,3 +4,4 @@ # scale is bigger than width, and both these numbers are ginormous statement error CREATE TABLE x(x DECIMAL(38763269, 77914819)); +---- diff --git a/test/fuzzer/pedro/escaped_trim_function_call.test b/test/fuzzer/pedro/escaped_trim_function_call.test index d74843943265..2ee6e7b44018 100644 --- a/test/fuzzer/pedro/escaped_trim_function_call.test +++ b/test/fuzzer/pedro/escaped_trim_function_call.test @@ -6,7 +6,7 @@ statement ok PRAGMA enable_verification statement ok -SELECT "trim"(1); +SELECT "trim"('hello'); statement ok -SELECT trim(1); +SELECT trim('hello'); diff --git a/test/fuzzer/pedro/floating_point_conversion_overflow.test b/test/fuzzer/pedro/floating_point_conversion_overflow.test index 03896565f316..00d758d3db4d 100644 --- a/test/fuzzer/pedro/floating_point_conversion_overflow.test +++ b/test/fuzzer/pedro/floating_point_conversion_overflow.test @@ -14,6 +14,7 @@ SELECT 0::${float_type}::${type} statement error SELECT (-1)::${float_type}::${type} +---- endloop @@ -22,12 +23,14 @@ SELECT 255::${float_type}::UTINYINT statement error SELECT 256::${float_type}::UTINYINT +---- statement ok SELECT 65535::${float_type}::USMALLINT statement error SELECT 65536::${float_type}::USMALLINT +---- endloop @@ -36,21 +39,25 @@ SELECT 4294967167::REAL::UINTEGER statement error SELECT 4294967168::REAL::UINTEGER +---- statement ok SELECT 4294967295::DOUBLE::UINTEGER statement error SELECT 4294967296::DOUBLE::UINTEGER +---- statement ok SELECT 18446743523953736703::REAL::UBIGINT statement error SELECT 18446743523953736704::REAL::UBIGINT +---- statement ok SELECT 18446744073709550591::DOUBLE::UBIGINT statement error SELECT 18446744073709550592::DOUBLE::UBIGINT +---- diff --git a/test/fuzzer/pedro/force_no_cross_product.test b/test/fuzzer/pedro/force_no_cross_product.test index f0435be0a785..4ab2b1c562b5 100644 --- a/test/fuzzer/pedro/force_no_cross_product.test +++ b/test/fuzzer/pedro/force_no_cross_product.test @@ -7,3 +7,4 @@ PRAGMA debug_force_no_cross_product=1; # Requires cross-product but 'force_no_cross_product' is enabled statement error SELECT 1 FROM (SELECT 1), (SELECT 1); +---- diff --git a/test/fuzzer/pedro/foreign_key_type_mismatch.test b/test/fuzzer/pedro/foreign_key_type_mismatch.test index b39fe5e4b0fd..8dd9a80bdc58 100644 --- a/test/fuzzer/pedro/foreign_key_type_mismatch.test +++ b/test/fuzzer/pedro/foreign_key_type_mismatch.test @@ -14,4 +14,4 @@ CREATE TABLE t0 (c2 INT CONSTRAINT k0 UNIQUE); statement error CREATE TABLE t1 (c0 DECIMAL, CONSTRAINT k1 FOREIGN KEY (c0) REFERENCES t0 (c2)); ---- -incompatible types \ No newline at end of file +incompatible types diff --git a/test/fuzzer/pedro/hash_finalize_race.test b/test/fuzzer/pedro/hash_finalize_race.test index bf6a01bd2058..d8cc3c55eaea 100644 --- a/test/fuzzer/pedro/hash_finalize_race.test +++ b/test/fuzzer/pedro/hash_finalize_race.test @@ -15,5 +15,6 @@ loop i 0 10 statement error SELECT 1 FROM ((SELECT 2) INTERSECT (SELECT 2)) t2(c3) WHERE "currval"('t4') = EXISTS (SELECT 2); +---- endloop diff --git a/test/fuzzer/pedro/having_subquery_failed_to_bind.test b/test/fuzzer/pedro/having_subquery_failed_to_bind.test index a31e4cc7e6fd..a1ba16ac25a1 100644 --- a/test/fuzzer/pedro/having_subquery_failed_to_bind.test +++ b/test/fuzzer/pedro/having_subquery_failed_to_bind.test @@ -7,14 +7,19 @@ PRAGMA enable_verification; statement error SELECT sum(c2) c0 FROM (SELECT 1) t1(c2) HAVING (SELECT c0); ---- +---- cannot reference alias statement error -SELECT count() c0 FROM (SELECT 1) t1(c2) HAVING 1 = (SELECT c0 WHERE EXISTS (SELECT 1)); +SELECT count() as c0 FROM (SELECT 1) t1(c2) HAVING 1 = (SELECT c0 WHERE EXISTS (SELECT 1)); ---- cannot reference alias +statement error +SELECT count() as c0 FROM (SELECT 1) t1(c2) GROUP BY c0 HAVING 1 = (SELECT c0 WHERE EXISTS (SELECT 1)); +---- +Binder Error: GROUP BY clause cannot contain aggregates + statement ok SELECT count() c0 FROM (SELECT 1) t1(c2) HAVING c0 = 1 diff --git a/test/fuzzer/pedro/in_clause_optimization_error.test b/test/fuzzer/pedro/in_clause_optimization_error.test index c5f86d924ea0..7ccedafd5efb 100644 --- a/test/fuzzer/pedro/in_clause_optimization_error.test +++ b/test/fuzzer/pedro/in_clause_optimization_error.test @@ -13,6 +13,7 @@ INSERT INTO t0 VALUES (42) statement error SELECT 0 FROM t0 WHERE ? IN (1); +---- statement ok PREPARE v1 AS SELECT 0 FROM t0 WHERE ? IN (1); diff --git a/test/fuzzer/pedro/incomplete_checkpoint.test b/test/fuzzer/pedro/incomplete_checkpoint.test index 3369662bd4c0..f72d822aca98 100644 --- a/test/fuzzer/pedro/incomplete_checkpoint.test +++ b/test/fuzzer/pedro/incomplete_checkpoint.test @@ -30,13 +30,15 @@ PRAGMA DEBUG_CHECKPOINT_ABORT = 'after_free_list_write'; statement ok CREATE SCHEMA s3; -# error IO Error: Checkpoint aborted after free list write because of PRAGMA checkpoint_abort flag +# error Checkpoint aborted after free list write because of PRAGMA checkpoint_abort flag statement error CHECKPOINT; +---- -# error IO Error: Checkpoint aborted after free list write because of PRAGMA checkpoint_abort flag +# error Checkpoint aborted after free list write because of PRAGMA checkpoint_abort flag statement error CHECKPOINT; +---- restart diff --git a/test/fuzzer/pedro/index_insert_from_union.test b/test/fuzzer/pedro/index_insert_from_union.test index e47eebec137d..1b5a6f0db124 100644 --- a/test/fuzzer/pedro/index_insert_from_union.test +++ b/test/fuzzer/pedro/index_insert_from_union.test @@ -10,12 +10,15 @@ CREATE TABLE t2 (c1 INT, PRIMARY KEY (c1)); statement error INSERT INTO t2 SELECT * FROM (VALUES (2), (2)) +---- statement error INSERT INTO t2 SELECT 2 FROM range(10); +---- statement error INSERT INTO t2 SELECT 2 UNION ALL SELECT 2; +---- statement ok BEGIN TRANSACTION diff --git a/test/fuzzer/pedro/index_on_altered_table.test b/test/fuzzer/pedro/index_on_altered_table.test index 3696187fe85e..2f4a6258ca26 100644 --- a/test/fuzzer/pedro/index_on_altered_table.test +++ b/test/fuzzer/pedro/index_on_altered_table.test @@ -15,6 +15,7 @@ ALTER TABLE t4 ADD c1 BLOB; statement error CREATE INDEX i3 ON t4 (c3); +---- statement ok con1 COMMIT; diff --git a/test/fuzzer/pedro/lag_window_function.test b/test/fuzzer/pedro/lag_window_function.test index 64093c6f5dd1..3138e7bcc79b 100644 --- a/test/fuzzer/pedro/lag_window_function.test +++ b/test/fuzzer/pedro/lag_window_function.test @@ -7,4 +7,4 @@ PRAGMA enable_verification query I SELECT lag(1) OVER (ORDER BY 0 RANGE BETWEEN CURRENT ROW AND 1 FOLLOWING); ---- -NULL \ No newline at end of file +NULL diff --git a/test/fuzzer/pedro/lateral_index_join.test b/test/fuzzer/pedro/lateral_join.test similarity index 75% rename from test/fuzzer/pedro/lateral_index_join.test rename to test/fuzzer/pedro/lateral_join.test index 4b41a25e0e39..f85fe44b2d8c 100644 --- a/test/fuzzer/pedro/lateral_index_join.test +++ b/test/fuzzer/pedro/lateral_join.test @@ -1,4 +1,4 @@ -# name: test/fuzzer/pedro/lateral_index_join.test +# name: test/fuzzer/pedro/lateral_join.test # description: Lateral index join # group: [pedro] @@ -11,8 +11,5 @@ CREATE TABLE t1 (c1 INT); statement ok CREATE INDEX i0 ON t1 (c1); -statement ok -PRAGMA FORCE_INDEX_JOIN; - statement ok SELECT 1 FROM t1 JOIN (SELECT t1.c1) t0(c0) ON 1 = CAST(72837647112 AS UINTEGER); diff --git a/test/fuzzer/pedro/like_empty_list.test b/test/fuzzer/pedro/like_empty_list.test index 5dd6a2c21d53..14876a009960 100644 --- a/test/fuzzer/pedro/like_empty_list.test +++ b/test/fuzzer/pedro/like_empty_list.test @@ -5,22 +5,22 @@ statement ok PRAGMA enable_verification -query I +statement error SELECT '1' LIKE []; ---- -false +No function matches -query I +statement error SELECT [] LIKE 1; ---- -false +No function matches -query I +statement error SELECT [] LIKE []; ---- -true +No function matches -query I +statement error SELECT 1 FROM (SELECT 2) t1(c0) NATURAL RIGHT JOIN (SELECT 2) t0(c0) WHERE (0, t1.c0) NOT LIKE '0'; ---- -1 \ No newline at end of file +No function matches diff --git a/test/fuzzer/pedro/limit_on_any_subquery.test b/test/fuzzer/pedro/limit_on_any_subquery.test index a0f04d6e155c..0bb6520a3a5e 100644 --- a/test/fuzzer/pedro/limit_on_any_subquery.test +++ b/test/fuzzer/pedro/limit_on_any_subquery.test @@ -14,4 +14,4 @@ CREATE TABLE test (x INT); query I SELECT 1 WHERE 1 < ANY(SELECT 2 FROM test); ----- \ No newline at end of file +---- diff --git a/test/fuzzer/pedro/local_transaction_delete_empty_tree.test b/test/fuzzer/pedro/local_transaction_delete_empty_tree.test index 3d15c2f1c57a..c69bcd7d4a1e 100644 --- a/test/fuzzer/pedro/local_transaction_delete_empty_tree.test +++ b/test/fuzzer/pedro/local_transaction_delete_empty_tree.test @@ -12,4 +12,4 @@ statement ok CREATE TABLE t1 AS (SELECT 1); statement ok -DELETE FROM t1 RETURNING 1; \ No newline at end of file +DELETE FROM t1 RETURNING 1; diff --git a/test/fuzzer/pedro/missing_subquery_error.test b/test/fuzzer/pedro/missing_subquery_error.test index 503bfaa8df0e..f994e5b1e804 100644 --- a/test/fuzzer/pedro/missing_subquery_error.test +++ b/test/fuzzer/pedro/missing_subquery_error.test @@ -7,9 +7,12 @@ PRAGMA enable_verification statement error WITH t2 AS (SELECT 3 WHERE count(*) FILTER (1)) SELECT 0 FROM t2 +---- statement error SELECT (WITH t2 AS (SELECT 3 WHERE count(*)) SELECT 0 FROM t2); +---- statement error SELECT (WITH t2 AS (SELECT 3 WHERE count(*) FILTER (1)) SELECT 0 FROM t2); +---- diff --git a/test/fuzzer/pedro/multiplication_verification.test b/test/fuzzer/pedro/multiplication_verification.test index 1ee3833afbff..51d002e2727e 100644 --- a/test/fuzzer/pedro/multiplication_verification.test +++ b/test/fuzzer/pedro/multiplication_verification.test @@ -7,6 +7,7 @@ PRAGMA enable_verification statement error SELECT 1 * (1 < 1); +---- query I SELECT 2 * (1 << 2); diff --git a/test/fuzzer/pedro/nested_subquery_table_function.test b/test/fuzzer/pedro/nested_subquery_table_function.test index 50a6987059b5..99f53f4b3e1a 100644 --- a/test/fuzzer/pedro/nested_subquery_table_function.test +++ b/test/fuzzer/pedro/nested_subquery_table_function.test @@ -7,6 +7,8 @@ PRAGMA enable_verification statement error SELECT 1 FROM range((SELECT 1) - 0); +---- statement error SELECT (SELECT 1 FROM range((SELECT 1) - 0)); +---- diff --git a/test/fuzzer/pedro/overflow_parsing_interval.test b/test/fuzzer/pedro/overflow_parsing_interval.test index b65042519b3c..b084d7cf6958 100644 --- a/test/fuzzer/pedro/overflow_parsing_interval.test +++ b/test/fuzzer/pedro/overflow_parsing_interval.test @@ -4,6 +4,7 @@ statement ok PRAGMA enable_verification +# Parsing as a double loses prcision query I SELECT INTERVAL '-9223372036854775808' MICROSECONDS; ---- @@ -12,12 +13,14 @@ SELECT INTERVAL '-9223372036854775808' MICROSECONDS; query I SELECT INTERVAL '-9223372036854775807' MICROSECONDS; ---- --2562047788:00:54.775807 +-2562047788:00:54.775808 statement error -SELECT INTERVAL '9223372036854775808' MICROSECONDS; +SELECT INTERVAL '9223372036854775296' MICROSECONDS; +---- +the value is out of range for the destination type query I -SELECT INTERVAL '9223372036854775807' MICROSECONDS; +SELECT INTERVAL '9223372036854775295' MICROSECONDS; ---- -2562047788:00:54.775807 +2562047788:00:54.774784 diff --git a/test/fuzzer/pedro/overflow_varchar_decimal_cast.test b/test/fuzzer/pedro/overflow_varchar_decimal_cast.test index 0adf0f854a32..9ea457bb7aaf 100644 --- a/test/fuzzer/pedro/overflow_varchar_decimal_cast.test +++ b/test/fuzzer/pedro/overflow_varchar_decimal_cast.test @@ -6,6 +6,7 @@ PRAGMA enable_verification statement error SELECT CAST(strftime(TIMESTAMP '1-1-1 0:00:00',340282346638528859811704183484516925440.0) AS DECIMAL(10,2)); +---- query I SELECT '552.123242346e+11'::DECIMAL; @@ -18,4 +19,5 @@ SELECT '-3.4028234663852886e+16'::DECIMAL(30); -34028234663852886 statement error -SELECT '-3.4028234663852886e+38'::DECIMAL; \ No newline at end of file +SELECT '-3.4028234663852886e+38'::DECIMAL; +---- diff --git a/test/fuzzer/pedro/pushdown_assertion_error.test b/test/fuzzer/pedro/pushdown_assertion_error.test index fbe3a27d156a..58a579709795 100644 --- a/test/fuzzer/pedro/pushdown_assertion_error.test +++ b/test/fuzzer/pedro/pushdown_assertion_error.test @@ -11,10 +11,12 @@ CREATE TABLE t2 (c2 INT); statement ok CREATE SEQUENCE t0; -query I +statement error SELECT 1 FROM t2 WHERE currval('t0') BETWEEN TRY_CAST(0 AS TIMESTAMP WITH TIME ZONE) AND 1; ---- +explicit cast is required -query I +statement error SELECT 1 FROM t2 WHERE currval('t0') BETWEEN TRY_CAST(0 AS TIMESTAMP WITH TIME ZONE) AND -156587962151166338620429995158284936977; ---- +explicit cast is required diff --git a/test/fuzzer/pedro/pushdown_error.test b/test/fuzzer/pedro/pushdown_error.test index ff9e3dbab264..be66bca64c2c 100644 --- a/test/fuzzer/pedro/pushdown_error.test +++ b/test/fuzzer/pedro/pushdown_error.test @@ -33,4 +33,4 @@ ALTER TABLE t2 ALTER c1 SET DEFAULT 0; restart query I -SELECT * FROM t2; \ No newline at end of file +SELECT * FROM t2; diff --git a/test/fuzzer/pedro/recursive_cte_dependent_join.test b/test/fuzzer/pedro/recursive_cte_dependent_join.test index 34a878f3c7d2..0d7b3d65c1aa 100644 --- a/test/fuzzer/pedro/recursive_cte_dependent_join.test +++ b/test/fuzzer/pedro/recursive_cte_dependent_join.test @@ -5,5 +5,7 @@ statement ok PRAGMA enable_verification -statement error +query I SELECT (WITH RECURSIVE t1 AS (SELECT 1 UNION SELECT 1 FROM t1 WHERE c2 < 3) SELECT 2 FROM t1) FROM (SELECT 1 c2) t1; +---- +2 \ No newline at end of file diff --git a/test/fuzzer/pedro/rename_restart.test b/test/fuzzer/pedro/rename_restart.test index 8179826f2bca..b9be2b00ba6e 100644 --- a/test/fuzzer/pedro/rename_restart.test +++ b/test/fuzzer/pedro/rename_restart.test @@ -27,4 +27,4 @@ CHECKPOINT; restart statement ok -select 42 \ No newline at end of file +select 42 diff --git a/test/fuzzer/pedro/rename_table_index_rollback.test b/test/fuzzer/pedro/rename_table_index_rollback.test index 8f009c67ceaf..82631859cc2b 100644 --- a/test/fuzzer/pedro/rename_table_index_rollback.test +++ b/test/fuzzer/pedro/rename_table_index_rollback.test @@ -25,4 +25,4 @@ CREATE OR REPLACE VIEW t1 AS (SELECT 1); restart statement ok -SELECT * FROM t0 \ No newline at end of file +SELECT * FROM t0 diff --git a/test/fuzzer/pedro/rename_table_index_storage.test b/test/fuzzer/pedro/rename_table_index_storage.test index e01f2c9d37cf..2af5825eb0fd 100644 --- a/test/fuzzer/pedro/rename_table_index_storage.test +++ b/test/fuzzer/pedro/rename_table_index_storage.test @@ -19,4 +19,4 @@ CREATE OR REPLACE VIEW t0 AS (SELECT 1); restart statement ok -SELECT * FROM t1 \ No newline at end of file +SELECT * FROM t1 diff --git a/test/fuzzer/pedro/returning_clause_sizes_not_match.test b/test/fuzzer/pedro/returning_clause_sizes_not_match.test index ac34d8768ff7..902329c8d2a3 100644 --- a/test/fuzzer/pedro/returning_clause_sizes_not_match.test +++ b/test/fuzzer/pedro/returning_clause_sizes_not_match.test @@ -40,10 +40,12 @@ UPDATE test SET x=0 WHERE x = 1 RETURNING *; # Error: Binder Error: Referenced table "y" not found! statement error INSERT INTO test VALUES(1) RETURNING y.y; +---- # Error: Binder Error: Referenced table "y" not found! statement error INSERT INTO test VALUES(1) RETURNING y.*; +---- query I INSERT INTO test VALUES(1) RETURNING test; diff --git a/test/fuzzer/pedro/returning_clause_with_rowid.test b/test/fuzzer/pedro/returning_clause_with_rowid.test index 72c31b912bca..c68177c30cec 100644 --- a/test/fuzzer/pedro/returning_clause_with_rowid.test +++ b/test/fuzzer/pedro/returning_clause_with_rowid.test @@ -57,4 +57,4 @@ CREATE TABLE t1 (c1 AS ('abc'), c2 INT); statement error INSERT INTO t1 SELECT 1 RETURNING rowid c1; ---- -Binder Error: Referenced column "rowid" not found in FROM clause! \ No newline at end of file +Binder Error: Referenced column "rowid" not found in FROM clause! diff --git a/test/fuzzer/pedro/temp_sequence_durability.test b/test/fuzzer/pedro/temp_sequence_durability.test index 56a8e9b06889..380c1c553616 100644 --- a/test/fuzzer/pedro/temp_sequence_durability.test +++ b/test/fuzzer/pedro/temp_sequence_durability.test @@ -20,3 +20,4 @@ restart statement error SELECT nextval('s0'); +---- diff --git a/test/fuzzer/pedro/temp_table_cleanup.test b/test/fuzzer/pedro/temp_table_cleanup.test index e3ff746f9e40..4fdb92b7dd5a 100644 --- a/test/fuzzer/pedro/temp_table_cleanup.test +++ b/test/fuzzer/pedro/temp_table_cleanup.test @@ -19,4 +19,4 @@ DELETE FROM t2 endloop statement ok -SELECT 42 \ No newline at end of file +SELECT 42 diff --git a/test/fuzzer/pedro/update_default_segv.test b/test/fuzzer/pedro/update_default_segv.test index 6ed4bec09e7a..3ec03ff8a36a 100644 --- a/test/fuzzer/pedro/update_default_segv.test +++ b/test/fuzzer/pedro/update_default_segv.test @@ -17,3 +17,4 @@ CREATE TABLE t1(c4 UUID, c0 REAL AS(0)); # cannot set default for generated column statement error ALTER TABLE t1 ALTER c0 SET DEFAULT 0; +---- diff --git a/test/fuzzer/pedro/utf8_invalid_unicode.test b/test/fuzzer/pedro/utf8_invalid_unicode.test index 0959c5ab2fc7..6373fbb11853 100644 --- a/test/fuzzer/pedro/utf8_invalid_unicode.test +++ b/test/fuzzer/pedro/utf8_invalid_unicode.test @@ -4,10 +4,12 @@ # invalid utf8, unicode value too high statement error SELECT upper(decode('\xF6\x96\xB0\x85'::BLOB)::VARCHAR); +---- # invalid utf8, unicode value too high statement error SELECT decode('\xF6\x96\xB0\x85'::BLOB)::VARCHAR ILIKE '1'; +---- query I SELECT upper(decode('\xF0\x9F\x98\x84'::BLOB)::VARCHAR); @@ -48,43 +50,54 @@ SELECT upper(decode('\xF0\x9F\x98\x84\x00'::BLOB)::VARCHAR); # invalid utf8, invalid first byte statement error SELECT upper(decode('\xE0\x9F\x98\x84'::BLOB)::VARCHAR); +---- # invalid utf8, invalid continuation byte statement error SELECT upper(decode('\xF0\xDF\x98\x84'::BLOB)::VARCHAR); +---- # invalid utf8, incomplete sequence statement error SELECT upper(decode('\xF0\x9F\x98'::BLOB)::VARCHAR); +---- # invalid utf8, UTF-16 surrogate character statement error SELECT upper(decode('\xED\xA0\xBD'::BLOB)::VARCHAR); +---- # invalid utf8, UTF-16 surrogate character statement error SELECT upper(decode('\xED\xB8\x8D'::BLOB)::VARCHAR); +---- # invalid utf8, not shortest possible for 2 byte character statement error SELECT upper(decode('\xc0\x80'::BLOB)::VARCHAR); +---- # invalid utf8, not shortest possible for 2 byte character statement error SELECT upper(decode('\xc1\x80'::BLOB)::VARCHAR); +---- # invalid utf8, not shortest possible for 2 byte character statement error SELECT upper(decode('\xc0\x81'::BLOB)::VARCHAR); +---- # invalid utf8, not shortest possible for 2 byte character statement error SELECT upper(decode('\xc1\x81'::BLOB)::VARCHAR); +---- # invalid utf8, not shortest possible for 2 byte character statement error SELECT upper(decode('\xc0\x82'::BLOB)::VARCHAR); +---- # invalid utf8, not shortest possible for 2 byte character statement error SELECT upper(decode('\xc1\x82'::BLOB)::VARCHAR); +---- diff --git a/test/fuzzer/pedro/vacuum_table_with_generated_column.test b/test/fuzzer/pedro/vacuum_table_with_generated_column.test index 760dcaa5202c..a668edd35e47 100644 --- a/test/fuzzer/pedro/vacuum_table_with_generated_column.test +++ b/test/fuzzer/pedro/vacuum_table_with_generated_column.test @@ -12,6 +12,7 @@ CREATE TABLE test (x INT, y AS (x + 100)); # Error: Vacuum the same column twice statement error ANALYZE test(x, x); +---- statement ok ANALYZE test(y, x); diff --git a/test/fuzzer/sqlsmith/current_schemas_null.test b/test/fuzzer/sqlsmith/current_schemas_null.test index 4d96a246794f..725bd9e50d2e 100644 --- a/test/fuzzer/sqlsmith/current_schemas_null.test +++ b/test/fuzzer/sqlsmith/current_schemas_null.test @@ -13,6 +13,7 @@ INSERT INTO booleans VALUES(NULL); statement error SELECT current_schemas(ref_0.bool) AS c4 FROM booleans AS ref_0; +---- query I SELECT current_schemas(false); diff --git a/test/fuzzer/sqlsmith/generate_series_overflow.test b/test/fuzzer/sqlsmith/generate_series_overflow.test index 48b0ad9ddbca..f7106ccaf25b 100644 --- a/test/fuzzer/sqlsmith/generate_series_overflow.test +++ b/test/fuzzer/sqlsmith/generate_series_overflow.test @@ -19,9 +19,11 @@ INSERT INTO tbl VALUES(NULL); statement error SELECT generate_series(CAST(ref_0."bigint" AS BIGINT)) AS c1 FROM tbl AS ref_0 +---- statement error SELECT generate_series(-9223372036854775808, 9223372036854775807, 1) AS c1 +---- query I SELECT generate_series(9223372036854775805, 9223372036854775807, 1) AS c1 diff --git a/test/fuzzer/sqlsmith/statistics_assertion_trigger.test b/test/fuzzer/sqlsmith/statistics_assertion_trigger.test index 32d8c8c6cee0..46cc69217ad4 100644 --- a/test/fuzzer/sqlsmith/statistics_assertion_trigger.test +++ b/test/fuzzer/sqlsmith/statistics_assertion_trigger.test @@ -52,4 +52,4 @@ WHERE EXISTS ELSE (SELECT 'duck') END - END)) \ No newline at end of file + END)) diff --git a/test/fuzzer/sqlsmith/strptime_null_statistics.test b/test/fuzzer/sqlsmith/strptime_null_statistics.test deleted file mode 100644 index 279a3f0d1998..000000000000 --- a/test/fuzzer/sqlsmith/strptime_null_statistics.test +++ /dev/null @@ -1,12 +0,0 @@ -# name: test/fuzzer/sqlsmith/strptime_null_statistics.test -# description: have you seen the fnords? -# group: [sqlsmith] - -statement ok -create table all_types as select * exclude(small_enum, medium_enum, large_enum) from test_all_types() limit 0; - -statement error -SELECT (COLUMNS(list_filter(*, (c6 -> strptime(c6, TRY_CAST(c3 AS BIGINT))))) BETWEEN c3 AND 6509) -FROM duckdb_databases() AS t5(c1, c2, c3, c4) ----- -Binder Error: Star expression diff --git a/test/fuzzer/sqlsmith/strptime_nullpointer.test b/test/fuzzer/sqlsmith/strptime_nullpointer.test index 2726f1b50165..8ec322a4b2f4 100644 --- a/test/fuzzer/sqlsmith/strptime_nullpointer.test +++ b/test/fuzzer/sqlsmith/strptime_nullpointer.test @@ -13,3 +13,4 @@ INSERT INTO t0(c0, c1) VALUES (534898561, 1156365055), (524523641, '0.4668052595 statement error SELECT NULL FROM t0 ORDER BY strptime(NOT(t0.c0 BETWEEN t0.rowid AND t0.rowid), 1407974306) +---- diff --git a/test/fuzzer/sqlsmith/subquery_binding_error.test b/test/fuzzer/sqlsmith/subquery_binding_error.test index 81f1ff5278a4..c81a7fae1e72 100644 --- a/test/fuzzer/sqlsmith/subquery_binding_error.test +++ b/test/fuzzer/sqlsmith/subquery_binding_error.test @@ -26,4 +26,4 @@ LEFT JOIN SELECT ref_3."varchar" AS c3)) AS subq_1 ON ((subq_1.c7 ~~ (SELECT "varchar" FROM all_types))) ---- -NULL \ No newline at end of file +NULL diff --git a/test/fuzzer/sqlsmith/timestamp_diff_overflow.test b/test/fuzzer/sqlsmith/timestamp_diff_overflow.test index f087e7688b06..117edf6b7caf 100644 --- a/test/fuzzer/sqlsmith/timestamp_diff_overflow.test +++ b/test/fuzzer/sqlsmith/timestamp_diff_overflow.test @@ -24,3 +24,4 @@ select cast(ref_0.timestamp as timestamp)) as c10 from ts as ref_0 +---- diff --git a/test/fuzzer/sqlsmith/window-rows-overflow.test b/test/fuzzer/sqlsmith/window-rows-overflow.test index 6f18e2e6d7a7..7a39e68821fe 100644 --- a/test/fuzzer/sqlsmith/window-rows-overflow.test +++ b/test/fuzzer/sqlsmith/window-rows-overflow.test @@ -12,7 +12,7 @@ create table all_types as select * exclude( small_enum, medium_enum, - large_enum + large_enum, ) from test_all_types(); diff --git a/test/helpers/capi_tester.cpp b/test/helpers/capi_tester.cpp index 1054da40f465..464e371412c7 100644 --- a/test/helpers/capi_tester.cpp +++ b/test/helpers/capi_tester.cpp @@ -130,4 +130,9 @@ duckdb_hugeint CAPIResult::Fetch(idx_t col, idx_t row) { return duckdb_value_hugeint(&result, col, row); } +template <> +duckdb_uhugeint CAPIResult::Fetch(idx_t col, idx_t row) { + return duckdb_value_uhugeint(&result, col, row); +} + } // namespace duckdb diff --git a/test/helpers/test_helpers.cpp b/test/helpers/test_helpers.cpp index eb37727f424d..aa0ac316a8a7 100644 --- a/test/helpers/test_helpers.cpp +++ b/test/helpers/test_helpers.cpp @@ -1,7 +1,6 @@ // #define CATCH_CONFIG_RUNNER #include "catch.hpp" -#include "duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp" #include "duckdb/common/file_system.hpp" #include "duckdb/common/value_operations/value_operations.hpp" #include "compare_result.hpp" @@ -9,9 +8,11 @@ #include "test_helpers.hpp" #include "duckdb/parser/parsed_data/copy_info.hpp" #include "duckdb/main/client_context.hpp" +#include "duckdb/execution/operator/csv_scanner/scanner/string_value_scanner.hpp" +#include "duckdb/common/case_insensitive_map.hpp" + #include "pid.hpp" #include "duckdb/function/table/read_csv.hpp" - #include #include @@ -23,6 +24,7 @@ namespace duckdb { static string custom_test_directory; static int debug_initialize_value = -1; static bool single_threaded = false; +static case_insensitive_set_t required_requires; bool NO_FAIL(QueryResult &result) { if (result.HasError()) { @@ -89,6 +91,14 @@ void SetSingleThreaded() { single_threaded = true; } +void AddRequire(string require) { + required_requires.insert(require); +} + +bool IsRequired(string require) { + return required_requires.count(require); +} + string GetTestDirectory() { if (custom_test_directory.empty()) { return TESTING_DIRECTORY_NAME; @@ -105,7 +115,8 @@ string TestDirectoryPath() { string path; if (custom_test_directory.empty()) { // add the PID to the test directory - but only if it was not specified explicitly by the user - path = StringUtil::Format(test_directory + "/%d", getpid()); + auto pid = getpid(); + path = fs->JoinPath(test_directory, to_string(pid)); } else { path = test_directory; } @@ -324,22 +335,21 @@ bool compare_result(string csv, ColumnDataCollection &collection, vector CreateStream(uintptr_t this_ptr, + duckdb::ArrowStreamParameters ¶meters); + + static void GetSchema(ArrowArrayStream *arrow_array_stream, ArrowSchema &schema); +}; + namespace duckdb { class ArrowTestFactory { public: @@ -57,19 +65,11 @@ class ArrowTestFactory { static duckdb::unique_ptr CreateStream(uintptr_t this_ptr, ArrowStreamParameters ¶meters); - static void GetSchema(uintptr_t factory_ptr, duckdb::ArrowSchemaWrapper &schema); + static void GetSchema(ArrowArrayStream *, ArrowSchema &schema); void ToArrowSchema(struct ArrowSchema *out); }; -class ArrowStreamTestFactory { -public: - static duckdb::unique_ptr CreateStream(uintptr_t this_ptr, - ArrowStreamParameters ¶meters); - - static void GetSchema(uintptr_t factory_ptr, duckdb::ArrowSchemaWrapper &schema); -}; - class ArrowTestHelper { public: //! Used in the Arrow Roundtrip Tests diff --git a/test/include/capi_tester.hpp b/test/include/capi_tester.hpp index a75f957bbd7b..c28f173d54d7 100644 --- a/test/include/capi_tester.hpp +++ b/test/include/capi_tester.hpp @@ -68,6 +68,12 @@ class CAPIResult { REQUIRE(ErrorMessage() != nullptr); } } + void QueryPrepared(duckdb_prepared_statement statement) { + success = duckdb_execute_prepared(statement, &result) == DuckDBSuccess; + if (!success) { + REQUIRE(ErrorMessage() != nullptr); + } + } duckdb_type ColumnType(idx_t col) { return duckdb_column_type(&result, col); @@ -189,6 +195,8 @@ template <> duckdb_timestamp_struct CAPIResult::Fetch(idx_t col, idx_t row); template <> duckdb_hugeint CAPIResult::Fetch(idx_t col, idx_t row); +template <> +duckdb_uhugeint CAPIResult::Fetch(idx_t col, idx_t row); class CAPITester { public: @@ -226,6 +234,12 @@ class CAPITester { result->Query(connection, query); return result; } + duckdb::unique_ptr QueryPrepared(duckdb_prepared_statement prepared) { + D_ASSERT(connection); + auto result = make_uniq(); + result->QueryPrepared(prepared); + return result; + } duckdb_database database = nullptr; duckdb_connection connection = nullptr; diff --git a/test/include/test_helpers.hpp b/test/include/test_helpers.hpp index 26e12a08356c..01346b362f67 100644 --- a/test/include/test_helpers.hpp +++ b/test/include/test_helpers.hpp @@ -45,6 +45,8 @@ bool TestIsInternalError(unordered_set &internal_error_messages, const s void SetTestDirectory(string path); void SetDebugInitialize(int value); void SetSingleThreaded(); +void AddRequire(string require); +bool IsRequired(string require); string GetTestDirectory(); string GetCSVPath(); void WriteCSV(string path, const char *csv); diff --git a/test/issues/fuzz/argminmax_strings.test b/test/issues/fuzz/argminmax_strings.test index bb32fdb20f41..09230ef36d8b 100644 --- a/test/issues/fuzz/argminmax_strings.test +++ b/test/issues/fuzz/argminmax_strings.test @@ -15,6 +15,6 @@ CREATE TABLE i_class_id AS FROM range(1, 6, 1) t1(i_category_id); query II -select argmin(i_category_id,i_category_id), argmax(i_category_id,i_category_id) from i_class_id; +select argmin(i_category_id,i_category_id::VARCHAR), argmax(i_category_id, i_category_id::VARCHAR) from i_class_id; ---- [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] diff --git a/test/issues/fuzz/bitwise_shift_overflow.test b/test/issues/fuzz/bitwise_shift_overflow.test index 6990f12893e7..ef398bb69451 100644 --- a/test/issues/fuzz/bitwise_shift_overflow.test +++ b/test/issues/fuzz/bitwise_shift_overflow.test @@ -8,9 +8,11 @@ PRAGMA enable_verification # issue tests statement error SELECT 1000::bigint<<55; +---- statement error SELECT 256::bigint<<55; +---- query I SELECT 255::bigint<<55; @@ -26,6 +28,7 @@ SELECT 0::bigint<<999; # tinyint statement error SELECT 10::tinyint<<4::tinyint; +---- query I SELECT 10::tinyint<<3::tinyint; @@ -35,16 +38,20 @@ SELECT 10::tinyint<<3::tinyint; # cannot left shift negative numbers statement error SELECT (-128)::tinyint<<0::tinyint; +---- statement error SELECT (-10)::tinyint<<4::tinyint; +---- statement error SELECT (-10)::tinyint<<3::tinyint; +---- # smallint statement error SELECT 1000::smallint<<6::smallint; +---- query I SELECT 1000::smallint<<5::smallint; @@ -54,6 +61,7 @@ SELECT 1000::smallint<<5::smallint; # integer statement error SELECT 1000::integer<<22::integer; +---- query I SELECT 1000::integer<<21::integer; @@ -63,6 +71,7 @@ SELECT 1000::integer<<21::integer; # bigint statement error SELECT 1000::bigint<<54::bigint; +---- query I SELECT 1000::bigint<<53::bigint; @@ -72,6 +81,7 @@ SELECT 1000::bigint<<53::bigint; # hugeint statement error SELECT 1000::hugeint<<118::hugeint; +---- query I SELECT 1000::hugeint<<117::hugeint; diff --git a/test/issues/fuzz/foreign_key_index_selection.test b/test/issues/fuzz/foreign_key_index_selection.test index 8b8a48324b6f..1ecc42752630 100644 --- a/test/issues/fuzz/foreign_key_index_selection.test +++ b/test/issues/fuzz/foreign_key_index_selection.test @@ -11,10 +11,12 @@ CREATE TABLE s1(t0 INTEGER, a TEXT, b TEXT); # key does not exist statement error CREATE TABLE c2(c0 INTEGER, c1 INTEGER UNIQUE, FOREIGN KEY (c0) REFERENCES s1(tz)); +---- # key does not have an index on it statement error CREATE TABLE c2(c0 INTEGER, c1 INTEGER UNIQUE, FOREIGN KEY (c0) REFERENCES s1(t0)); +---- statement ok CREATE TABLE s2(t0 INTEGER, a TEXT, b TEXT, UNIQUE (t0, a)); @@ -22,6 +24,7 @@ CREATE TABLE s2(t0 INTEGER, a TEXT, b TEXT, UNIQUE (t0, a)); # key does not have an index on it statement error CREATE TABLE c2(c0 INTEGER, c1 INTEGER UNIQUE, FOREIGN KEY (c0) REFERENCES s2(t0)); +---- # this works statement ok diff --git a/test/issues/fuzz/function_pointer_crash_in_subquery.test b/test/issues/fuzz/function_pointer_crash_in_subquery.test index 07596cddcc70..1d06774250e3 100644 --- a/test/issues/fuzz/function_pointer_crash_in_subquery.test +++ b/test/issues/fuzz/function_pointer_crash_in_subquery.test @@ -13,3 +13,4 @@ CREATE TABLE c0(test2 tinyint, s1 smallint, s2 integer, test1 bigint, i double, statement error SELECT * FROM c0 s1 INNER JOIN c0 s2 ON (SELECT s1.s2=s2 FROM c0 WHERE s2.s2=s2) ORDER BY s1.s2; +---- diff --git a/test/issues/general/test_1248.test b/test/issues/general/test_1248.test index a7f122544c2e..228c7505ad4f 100644 --- a/test/issues/general/test_1248.test +++ b/test/issues/general/test_1248.test @@ -15,6 +15,7 @@ select test.round from (select round from test limit 1) as subselect, test; +---- query I with test(round) as ( diff --git a/test/issues/general/test_1290.test b/test/issues/general/test_1290.test index ddc478b31937..b8f39cca7a56 100644 --- a/test/issues/general/test_1290.test +++ b/test/issues/general/test_1290.test @@ -115,7 +115,7 @@ select a.*, b.*, c.* from a, b natural right outer join c; 42 80 NULL NULL 44 84 query IIIIII -select * from a natural full outer join b, a a1 natural full outer join c; +select * from a natural full outer join b, a a1 natural full outer join c order by all; ---- 42 80 NULL 42 80 NULL 42 80 NULL 44 NULL 84 diff --git a/test/issues/general/test_1933.test b/test/issues/general/test_1933.test index ce7ca9db51b8..bbcbe3bd5075 100644 --- a/test/issues/general/test_1933.test +++ b/test/issues/general/test_1933.test @@ -8,34 +8,34 @@ PRAGMA enable_verification query I SELECT DATE '2021-06-30' - INTERVAL '4' MONTH; ---- -2021-02-28 +2021-02-28 00:00:00 query I SELECT DATE '2021-08-31' + INTERVAL '1' MONTH; ---- -2021-09-30 +2021-09-30 00:00:00 query I SELECT DATE '2021-08-31' + INTERVAL '2' MONTH; ---- -2021-10-31 +2021-10-31 00:00:00 query I SELECT DATE '2021-08-31' + INTERVAL '3' MONTH; ---- -2021-11-30 +2021-11-30 00:00:00 query I SELECT DATE '2021-08-31' + INTERVAL '4' MONTH; ---- -2021-12-31 +2021-12-31 00:00:00 query I SELECT DATE '2021-08-31' - INTERVAL '6' MONTH; ---- -2021-02-28 +2021-02-28 00:00:00 query I SELECT DATE '2021-08-31' - INTERVAL '18' MONTH; ---- -2020-02-29 +2020-02-29 00:00:00 diff --git a/test/issues/general/test_2416.test b/test/issues/general/test_2416.test index 71740655d078..ff130584f8ff 100644 --- a/test/issues/general/test_2416.test +++ b/test/issues/general/test_2416.test @@ -142,6 +142,7 @@ NULL statement error SELECT my_list_or_string_extract_2({a: 1, b: 2, c: 3, d: 4}) +---- statement ok CREATE MACRO my_struct_extract_c(my_struct) AS my_struct['c'] @@ -153,6 +154,7 @@ SELECT my_struct_extract_c({a: 1, b: 2, c: 3, d: 4}) statement error SELECT my_struct_extract_c({a: 1, b: 2, d: 4}) +---- statement ok CREATE MACRO my_specific_struct_extract(field) AS struct_pack(a:= 1, b:= 2, c:= 3, d:= 4)[field] @@ -164,6 +166,7 @@ SELECT my_specific_struct_extract('c') statement error SELECT my_specific_struct_extract(2) +---- statement ok CREATE MACRO my_specific_list_extract(index) AS list_value(1, 2, 3, 4)[index] @@ -175,6 +178,7 @@ SELECT my_specific_list_extract(2) statement error SELECT my_specific_list_extract('c') +---- statement ok CREATE MACRO my_specific_string_extract(index) AS '1234'[index] @@ -186,3 +190,4 @@ SELECT my_specific_string_extract(2) statement error SELECT my_specific_string_extract('c') +---- diff --git a/test/issues/general/test_2496.test b/test/issues/general/test_2496.test index c71bb36e5a7d..c1e5885ba6ad 100644 --- a/test/issues/general/test_2496.test +++ b/test/issues/general/test_2496.test @@ -2,6 +2,9 @@ # description: Issue 2496: Incorrect Struct Sorting Order on Ties # group: [general] +statement ok +PRAGMA enable_verification + statement ok CREATE TABLE list_str AS SELECT * FROM (VALUES diff --git a/test/issues/general/test_2743.test b/test/issues/general/test_2743.test index 2f0378fed37a..c4833f0d1cb3 100644 --- a/test/issues/general/test_2743.test +++ b/test/issues/general/test_2743.test @@ -158,18 +158,18 @@ WITH RECURSIVE connections(source, dest, carrier) AS ( FROM connections c, trains r WHERE c.dest = r.source) ) -SELECT * FROM connections; +SELECT * FROM connections ORDER BY source, dest, carrier; ---- A B C1 A C C2 +A C Rail A D C1 -A E Rail A D C3 A E C3 -A C Rail -A E Rail A E C3 A E Rail +A E Rail +A E Rail query I WITH RECURSIVE t(x) AS @@ -240,7 +240,7 @@ WITH RECURSIVE foo(i) AS SELECT i+1 FROM foo WHERE i < 2 UNION SELECT i+1 FROM foo WHERE i < 2) -) SELECT * FROM foo; +) SELECT * FROM foo ORDER BY i; ---- 1 2 diff --git a/test/issues/general/test_3611.test b/test/issues/general/test_3611.test index e246bc2fd435..c837c191c180 100644 --- a/test/issues/general/test_3611.test +++ b/test/issues/general/test_3611.test @@ -27,4 +27,4 @@ SELECT varchar FROM all_types; restart query I nosort r1 -SELECT varchar FROM all_types; \ No newline at end of file +SELECT varchar FROM all_types; diff --git a/test/issues/general/test_3878.test b/test/issues/general/test_3878.test index f3da79663701..a06111493e6b 100644 --- a/test/issues/general/test_3878.test +++ b/test/issues/general/test_3878.test @@ -31,6 +31,7 @@ create table y (y int references x(x)); statement error insert into y values (1); +---- statement ok insert into x values (1); @@ -40,12 +41,14 @@ insert into y values (1); statement error insert into x values (NULL); +---- statement ok insert into y values (NULL); statement error delete from x; +---- statement ok delete from y; diff --git a/test/issues/general/test_3997.test b/test/issues/general/test_3997.test index 8b7c6b23d6f0..94e7b2df208b 100644 --- a/test/issues/general/test_3997.test +++ b/test/issues/general/test_3997.test @@ -56,6 +56,7 @@ select x from x; statement error with y(y) as (select 2) delete from x using (select y) z(z) where x = z; +---- statement ok insert into x default values; diff --git a/test/issues/general/test_4008.test b/test/issues/general/test_4008.test index 05ede15b1cf3..80a55e9fc97e 100644 --- a/test/issues/general/test_4008.test +++ b/test/issues/general/test_4008.test @@ -7,6 +7,7 @@ PRAGMA enable_verification; statement error select 1 - any(select 1); +---- query I select 1 = all(select 1); @@ -15,6 +16,7 @@ select 1 = all(select 1); statement error select 1 where 2 + all(select 2); +---- query I select 1 where 2 > any(select 2); diff --git a/test/issues/general/test_4063.test b/test/issues/general/test_4063.test index e829aeb1f636..944a36bc1b93 100644 --- a/test/issues/general/test_4063.test +++ b/test/issues/general/test_4063.test @@ -5,4 +5,4 @@ query T SELECT first_value(1) OVER () ---- -1 \ No newline at end of file +1 diff --git a/test/issues/general/test_4612.test b/test/issues/general/test_4612.test index 7ebdcbe0e320..e7fa55eef7d0 100644 --- a/test/issues/general/test_4612.test +++ b/test/issues/general/test_4612.test @@ -27,4 +27,4 @@ SELECT * FROM blobs where b = '\xaa\xff\xaA'; query I SELECT * FROM blobs where b = '\xAA\xFF\xAA'; ---- -\xAA\xFF\xAA \ No newline at end of file +\xAA\xFF\xAA diff --git a/test/issues/general/test_4615.test b/test/issues/general/test_4615.test index b8ed8bdf2336..7d2c38a39ada 100644 --- a/test/issues/general/test_4615.test +++ b/test/issues/general/test_4615.test @@ -16,4 +16,4 @@ UPDATE t1 SET x=0 WHERE x = 1; query II SELECT * FROM t1; ---- -100 0 \ No newline at end of file +100 0 diff --git a/test/issues/general/test_4704.test b/test/issues/general/test_4704.test index a1274d3fd2e8..4237041c7e1a 100644 --- a/test/issues/general/test_4704.test +++ b/test/issues/general/test_4704.test @@ -14,10 +14,12 @@ INSERT INTO t0 SELECT 1 FROM RANGE(1024) # How to verify the error message? statement error INSERT INTO t0 VALUES(NULL) +---- # How to verify the error message? statement error UPDATE t0 SET c1 = NULL +---- query T SELECT column_name FROM PRAGMA_STORAGE_INFO('t0') LIMIT 2 @@ -34,10 +36,12 @@ INSERT INTO t1 SELECT 1 FROM RANGE(1024) # How to verify the error message? statement error INSERT INTO t1 VALUES(NULL) +---- # How to verify the error message? statement error UPDATE t1 SET c0 = NULL +---- query T SELECT column_name FROM PRAGMA_STORAGE_INFO('t1') LIMIT 2 diff --git a/test/issues/general/test_4935.test b/test/issues/general/test_4935.test index 06ad84073c23..ac563894c03c 100644 --- a/test/issues/general/test_4935.test +++ b/test/issues/general/test_4935.test @@ -16,4 +16,4 @@ FROM t1 AS v1, t1 AS v2, t1 AS v3, t1 AS v4, t1 AS v5, t1 AS v6, t1 AS v7, t1 AS t2 AS f1, t2 as f2 WHERE f1.x = v1.a AND f1.y = v3 AND f1.z = v4 AND f1.w = v5 AND -f2.x = v2.a AND f2.y = v6 AND f2.z = v7 AND f2.w = v8; \ No newline at end of file +f2.x = v2.a AND f2.y = v6 AND f2.z = v7 AND f2.w = v8; diff --git a/test/issues/general/test_4950.test b/test/issues/general/test_4950.test index 8e9147b0a895..302943df36d3 100644 --- a/test/issues/general/test_4950.test +++ b/test/issues/general/test_4950.test @@ -36,17 +36,6 @@ explain select * from lineitem l1 where exists ( ---- logical_opt :.*INNER.* -# deliminator should remove DELIM_JOIN as well -query II -explain select * from lineitem l1 where exists ( - select * from lineitem l2 - where - l2.l_orderkey = l1.l_orderkey - and l2.l_suppkey <> l1.l_suppkey -); ----- -logical_opt :.*DELIM_JOIN.* - # SINGLE join - same story query III select * from lineitem l1 where ( @@ -135,16 +124,6 @@ explain select count(*) from lineitem l1 where exists ( ---- logical_opt :.*INNER.* -query II -explain select count(*) from lineitem l1 where exists ( - select l_partkey from lineitem l2 - where - l2.l_orderkey = l1.l_orderkey - and l2.l_suppkey <> l1.l_suppkey -); ----- -logical_opt :.*DELIM_JOIN.* - # aggregate within the subquery query I select count(*) from lineitem l1 where exists ( @@ -155,54 +134,3 @@ select count(*) from lineitem l1 where exists ( ); ---- 6 - -statement ok -drop table lineitem - -require tpch - -statement ok -call dbgen(sf=0.01) - -# now the real kicker, tpch q21, should not have any DELIM_JOIN -query II -EXPLAIN SELECT - s_name, - count(*) AS numwait -FROM - supplier, - lineitem l1, - orders, - nation -WHERE - s_suppkey = l1.l_suppkey - AND o_orderkey = l1.l_orderkey - AND o_orderstatus = 'F' - AND l1.l_receiptdate > l1.l_commitdate - AND EXISTS ( - SELECT - * - FROM - lineitem l2 - WHERE - l2.l_orderkey = l1.l_orderkey - AND l2.l_suppkey <> l1.l_suppkey) - AND NOT EXISTS ( - SELECT - * - FROM - lineitem l3 - WHERE - l3.l_orderkey = l1.l_orderkey - AND l3.l_suppkey <> l1.l_suppkey - AND l3.l_receiptdate > l3.l_commitdate) - AND s_nationkey = n_nationkey - AND n_name = 'SAUDI ARABIA' -GROUP BY - s_name -ORDER BY - numwait DESC, - s_name -LIMIT 100; ----- -logical_opt :.*DELIM_JOIN.* diff --git a/test/issues/general/test_5200.test b/test/issues/general/test_5200.test index 3c85228cdf61..e9de7d7ecc97 100644 --- a/test/issues/general/test_5200.test +++ b/test/issues/general/test_5200.test @@ -20,3 +20,4 @@ select t.n+1,t.s+f.n,t.f*f.f::bigint where t.n<9 and f.n<=t.n+1 ) select sum(f.f/t.f) from t,f where t.n=4 and t.s>0 and t.s=f.n; +---- diff --git a/test/issues/general/test_5488.test b/test/issues/general/test_5488.test index 5564e76437cb..999e5028dc3e 100644 --- a/test/issues/general/test_5488.test +++ b/test/issues/general/test_5488.test @@ -21,4 +21,4 @@ checkpoint; query I SELECT count(*) from test where col_a = 'target_string_we_will_count'; ---- -99900 \ No newline at end of file +99900 diff --git a/test/issues/general/test_5614.test b/test/issues/general/test_5614.test new file mode 100644 index 000000000000..e03778fed514 --- /dev/null +++ b/test/issues/general/test_5614.test @@ -0,0 +1,52 @@ +# name: test/issues/general/test_5614.test +# description: Issue 5614: +# group: [general] + +statement ok +create table t0 as select (UNNEST(['hello', 'duckdb', 'duck LORD', 'lord duck'])) as column0; + + +# create the alias but use the column name +query III +select +row_number() over () as line_number, +column0 as text, +length(coalesce(column0, '')) as text_length +from +t0 +where 'LORD' in (select * from unnest(str_split(column0, ' '))); +---- +1 duck LORD 9 + +# Using alias now in Where clause +query III +select +row_number() over () as line_number, +column0 as text, +length(coalesce(column0, '')) as text_length +from +t0 +where 'LORD' in (select * from unnest(str_split(text, ' '))); +---- +1 duck LORD 9 + +statement ok +CREATE or replace TABLE brands (category VARCHAR, brand_name VARCHAR); + +statement ok +INSERT INTO brands (category, brand_name) VALUES ('chocolates', '5-star'), (Null, 'diary milk'), (Null, 'perk'), (Null, 'eclair'), ('Biscuits', 'britannia'), (Null, 'good day'), (Null, 'boost'); + +statement error +with cte as ( +select + *, + row_number() over () as t, + count(category) over (order by t) as tmp +from brands +) +select + max(category) over (partition by tmp) as category, + brand_name +from cte; +---- +Binder Error: window function calls cannot be nested diff --git a/test/issues/general/test_5660.test b/test/issues/general/test_5660.test index 316cf4aee18c..69e211fce8de 100644 --- a/test/issues/general/test_5660.test +++ b/test/issues/general/test_5660.test @@ -24,4 +24,4 @@ select f.y, k.c1, count(*) FROM foo f, (Select UNLIST(string_split("x", ', ')) c # Make sure we don't invalidate the database statement ok -select * from foo \ No newline at end of file +select * from foo diff --git a/test/issues/general/test_5664.test b/test/issues/general/test_5664.test index 35856a4dcc23..a4001cabae90 100644 --- a/test/issues/general/test_5664.test +++ b/test/issues/general/test_5664.test @@ -8,6 +8,7 @@ PRAGMA enable_verification # create a type with a non-existant type as source statement error CREATE TYPE alias as BLOBL; +---- statement ok CREATE TYPE a as BLOB; @@ -24,4 +25,4 @@ INSERT INTO test VALUES ('duckdb'); query I SELECT typeof(x) FROM test; ---- -b \ No newline at end of file +BLOB diff --git a/test/issues/general/test_9380.test b/test/issues/general/test_9380.test new file mode 100644 index 000000000000..0bd64973b9a9 --- /dev/null +++ b/test/issues/general/test_9380.test @@ -0,0 +1,9 @@ +# name: test/issues/general/test_9380.test +# description: Issue 9380: "Could not choose a best candidate function for the function call" after upgrading to 0.9 +# group: [general] + +statement ok +CREATE MACRO time_to_datetime(date, string) AS + date::TIMESTAMP + + TRY_CAST(regexp_replace(string, '^2400$', '0000').substr(1, 2).concat(' hours') AS INTERVAL) + + TRY_CAST(regexp_replace(string, '^2400$', '0000').substr(3, 2).concat(' minutes') AS INTERVAL); diff --git a/test/issues/general/test_9384.test b/test/issues/general/test_9384.test new file mode 100644 index 000000000000..a916f7aef912 --- /dev/null +++ b/test/issues/general/test_9384.test @@ -0,0 +1,25 @@ +# name: test/issues/general/test_9384.test +# description: Issue 9384: DuckDB fails when trying to add a JSON column to an existing table via ALTER TABLE +# group: [general] + +require json + +statement ok +create schema my_schema; + +statement ok +use my_schema; + +statement ok +create table t1 (i json); + +statement ok +alter table t1 add column my_col json; + +require inet + +statement ok +create table t2 (i inet); + +statement ok +alter table t2 add column my_col inet; \ No newline at end of file diff --git a/test/issues/general/test_9456.test b/test/issues/general/test_9456.test new file mode 100644 index 000000000000..432a9c7f7fdf --- /dev/null +++ b/test/issues/general/test_9456.test @@ -0,0 +1,54 @@ +# name: test/issues/general/test_9456.test +# description: Issue 9456: EXISTS operator returns NULL when multiple predicates are present +# group: [general] + +statement ok +create table u(u0 int, u1 int); + +statement ok +create table t(t0 int, t1 int); + +statement ok +insert into u values(1, 10); + +statement ok +insert into t values(1, 11); + +statement ok +insert into u values(null, 20); + +statement ok +insert into t values(null, 21); + +statement ok +PRAGMA enable_verification + +query III +SELECT t0, t1, EXISTS (SELECT * FROM u WHERE u0 = t0 AND u1 < t1) FROM t ORDER BY t0, t1; +---- +1 11 true +NULL 21 false + +query III +SELECT t0, t1, EXISTS (SELECT * FROM u WHERE u0 != t0 AND u1 < t1) FROM t ORDER BY t0, t1; +---- +1 11 false +NULL 21 false + +query III +SELECT t0, t1, EXISTS (SELECT * FROM u WHERE u0 != t0 AND u1 = t1) FROM t ORDER BY t0, t1; +---- +1 11 false +NULL 21 false + +query III +SELECT t0, t1, EXISTS (SELECT * FROM u WHERE u0 != t0 AND u1 != t1) FROM t ORDER BY t0, t1; +---- +1 11 false +NULL 21 false + +query III +SELECT t0, t1, EXISTS (SELECT * FROM u WHERE u0 < t0 AND u1 < t1) FROM t ORDER BY t0, t1; +---- +1 11 false +NULL 21 false diff --git a/test/issues/general/test_9738.test b/test/issues/general/test_9738.test new file mode 100644 index 000000000000..f10ca4b127fd --- /dev/null +++ b/test/issues/general/test_9738.test @@ -0,0 +1,32 @@ +# name: test/issues/general/test_9738.test +# description: Issue 9738: Column identifier is case sensitive when used as a macro parameter. +# group: [general] + +statement ok +create table MY_TABLE(NAME String); + +statement ok +insert into my_table(name) values('Someone'); + +statement ok +create or replace macro do_nothing(input) as input; + +query I +select name from my_table; +---- +Someone + +query I +select NAME from my_table; +---- +Someone + +query I +select do_nothing(NAME) from my_table; +---- +Someone + +query I +select do_nothing(name) from my_table; +---- +Someone diff --git a/test/issues/general/test_9795.test b/test/issues/general/test_9795.test new file mode 100644 index 000000000000..1a094d6933d9 --- /dev/null +++ b/test/issues/general/test_9795.test @@ -0,0 +1,65 @@ +# name: test/issues/general/test_9795.test +# description: Issue 1091: Min/Max function doesn't use collations. +# group: [general] + +statement ok +create table tbl (a varchar); + +statement ok +insert into tbl values ('ö'), ('o'), ('p'); + +query I +select max(a) from tbl; +---- +ö + +query I +select arg_max(a, a) from tbl; +---- +ö + +query I +select max(a collate noaccent) from tbl; +---- +p + +query I +select arg_max(a, a collate noaccent) from tbl; +---- +p + +query I +select min(a) from tbl; +---- +o + +query I +select arg_min(a, a) from tbl; +---- +o + +query I +select min(a collate noaccent) from tbl; +---- +ö + +query I +select arg_min(a, a collate noaccent) from tbl; +---- +ö + +statement ok +create table tbl2 (a int); + +statement ok +insert into tbl2 values (1), (2), (3); + +query I +select min(a) from tbl2; +---- +1 + +query I +select max(a) from tbl2; +---- +3 \ No newline at end of file diff --git a/test/issues/monetdb/analytics10.test b/test/issues/monetdb/analytics10.test index 65e867a53002..bb2fc4808ceb 100644 --- a/test/issues/monetdb/analytics10.test +++ b/test/issues/monetdb/analytics10.test @@ -40,6 +40,7 @@ SELECT * FROM tbl_ProductSales GROUP BY () +---- query I rowsort SELECT @@ -86,6 +87,7 @@ SELECT CAST(SUM(TotalSales) as BIGINT) AS TotalSales FROM tbl_ProductSales GROUP BY ROLLUP () +---- query TI rowsort SELECT @@ -169,6 +171,7 @@ SELECT CAST(SUM(TotalSales) as BIGINT) AS TotalSales FROM tbl_ProductSales GROUP BY CUBE() +---- query TI rowsort SELECT @@ -760,6 +763,7 @@ SELECT CAST(SUM(TotalSales) as BIGINT) AS TotalSales FROM tbl_ProductSales GROUP BY GROUPING SETS() +---- query I rowsort SELECT diff --git a/test/issues/monetdb/analytics11.test b/test/issues/monetdb/analytics11.test index 428501765f5c..77732a830f6c 100644 --- a/test/issues/monetdb/analytics11.test +++ b/test/issues/monetdb/analytics11.test @@ -37,12 +37,14 @@ SELECT GROUPING() FROM tbl_ProductSales GROUP BY Product_Category +---- statement error SELECT 1 FROM tbl_ProductSales GROUP BY GROUPING(Product_Name) +---- statement error SELECT @@ -50,39 +52,46 @@ SELECT FROM tbl_ProductSales WHERE GROUPING(Product_Category) > 1 GROUP BY GROUPING SETS((Product_Category)) +---- statement error SELECT AVG(GROUPING(Product_Category)) FROM tbl_ProductSales GROUP BY GROUPING SETS((Product_Category)) +---- statement error SELECT GROUPING(1) FROM tbl_ProductSales GROUP BY Product_Category +---- statement error SELECT col1 IN (SELECT ColID + col2 FROM tbl_ProductSales) FROM another_T GROUP BY ROLLUP(col1) +---- statement error SELECT (SELECT GROUPING(t1.col1) FROM tbl_ProductSales) FROM another_T t1 +---- statement error SELECT GROUPING(Product_Name) FROM tbl_ProductSales +---- statement error SELECT GROUPING(Product_Name) FROM tbl_ProductSales GROUP BY () +---- query I rowsort SELECT @@ -433,6 +442,7 @@ FROM tbl_ProductSales INNER JOIN tbl_X ON tbl_ProductSales.ColID = tbl_X.ColID GROUP BY CUBE(tbl_ProductSales.Product_Category) +---- query I rowsort SELECT diff --git a/test/issues/monetdb/analytics13.test_slow b/test/issues/monetdb/analytics13.test_slow index bba9e1612365..722967106beb 100644 --- a/test/issues/monetdb/analytics13.test_slow +++ b/test/issues/monetdb/analytics13.test_slow @@ -21,6 +21,7 @@ statement error SELECT (SELECT GROUPING(colID) FROM tbl_ProductSales) FROM another_T t1 +---- query I rowsort SELECT diff --git a/test/issues/monetdb/groupings.test b/test/issues/monetdb/groupings.test index 998767754db1..0e9d99ff87cb 100644 --- a/test/issues/monetdb/groupings.test +++ b/test/issues/monetdb/groupings.test @@ -9,32 +9,32 @@ statement ok START TRANSACTION statement ok -CREATE TABLE categories (id INTEGER, "description" TEXT) +CREATE TABLE categories (id INTEGER, "description" TEXT); statement ok -CREATE TABLE sections (id INTEGER, "description" TEXT) +CREATE TABLE sections (id INTEGER, "description" TEXT); statement ok -CREATE TABLE products (id INTEGER, categoryid int, sectionid INTEGER, "description" TEXT, price DECIMAL(6,2)) +CREATE TABLE products (id INTEGER, categoryid int, sectionid INTEGER, "description" TEXT, price DECIMAL(6,2)); statement ok -CREATE TABLE sales (productid INTEGER, sale_day DATE, units INTEGER) +CREATE TABLE sales (productid INTEGER, sale_day DATE, units INTEGER); statement ok -INSERT INTO categories VALUES (1, 'fresh food'), (2, 'dry food'), (3, 'drinks') +INSERT INTO categories VALUES (1, 'fresh food'), (2, 'dry food'), (3, 'drinks'); statement ok -INSERT INTO sections VALUES (1, 'front'), (2, 'side'), (3, 'back') +INSERT INTO sections VALUES (1, 'front'), (2, 'side'), (3, 'back'); statement ok -INSERT INTO products VALUES (1, 1, 1, 'apples', 1.5), (2, 1, 2, 'melons', 4.0), (3, 2, 2, 'peanuts', 2.0), (4, 3, 1, 'water', 1.0), (5, 3, 3, 'wine', 5.0), (6, 2, 3, 'walnuts', 1.5) +INSERT INTO products VALUES (1, 1, 1, 'apples', 1.5), (2, 1, 2, 'melons', 4.0), (3, 2, 2, 'peanuts', 2.0), (4, 3, 1, 'water', 1.0), (5, 3, 3, 'wine', 5.0), (6, 2, 3, 'walnuts', 1.5); statement ok -INSERT INTO sales VALUES (1, date '2020-03-01', 10), (2, date '2020-03-01', 3), (4, date '2020-03-01', 4), (1, date '2020-03-02', 6), (4, date '2020-03-02', 5), (5, date '2020-03-02', 2), (1, date '2020-03-03', 7), (3, date '2020-03-03', 4), (2, date '2020-03-03', 3), (5, date '2020-03-03', 1), (6, date '2020-03-03', 1) +INSERT INTO sales VALUES (1, date '2020-03-01', 10), (2, date '2020-03-01', 3), (4, date '2020-03-01', 4), (1, date '2020-03-02', 6), (4, date '2020-03-02', 5), (5, date '2020-03-02', 2), (1, date '2020-03-03', 7), (3, date '2020-03-03', 4), (2, date '2020-03-03', 3), (5, date '2020-03-03', 1), (6, date '2020-03-03', 1); query TTR rowsort SELECT COALESCE(products."description", 'all_products') AS "description", - COALESCE(sale_day, 'all_days') AS sale_day, + COALESCE(sale_day::VARCHAR, 'all_days') AS sale_day, CAST(totals.total AS DECIMAL (12,4)) FROM ( SELECT productid, sale_day, SUM(units * price) AS total @@ -159,6 +159,7 @@ fresh food statement error SELECT * FROM categories GROUP BY () +---- statement ok ROLLBACK diff --git a/test/issues/rigger/big_sum_cast_bug.test b/test/issues/rigger/big_sum_cast_bug.test index 0de2f86d31df..d574f9c9e24b 100644 --- a/test/issues/rigger/big_sum_cast_bug.test +++ b/test/issues/rigger/big_sum_cast_bug.test @@ -13,4 +13,4 @@ SELECT SUM(-9223372036854775808)::DOUBLE AS agg0 FROM (VALUES (0), (1)) t1; query I SELECT SUM(-9223372036854775808) AS agg0 FROM (VALUES (0), (1)) t1; ---- --18446744073709551616 \ No newline at end of file +-18446744073709551616 diff --git a/test/issues/rigger/collate_union.test b/test/issues/rigger/collate_union.test index 08e99f6c65e8..1e611f6ec5a4 100644 --- a/test/issues/rigger/collate_union.test +++ b/test/issues/rigger/collate_union.test @@ -16,4 +16,4 @@ SELECT t0.c0, t0.c2 FROM t0 WHERE t0.c1 UNION SELECT t0.c0, t0.c2 FROM t0 WHERE ---- 0 NULL 0 0.5652217975848206 -0 false \ No newline at end of file +0 false diff --git a/test/issues/rigger/complex_division.test b/test/issues/rigger/complex_division.test index c27beb6b1a18..750c42e068eb 100644 --- a/test/issues/rigger/complex_division.test +++ b/test/issues/rigger/complex_division.test @@ -40,7 +40,7 @@ SELECT c0, c1 FROM t0; query III -SELECT c0, c1, ((t0.c0)!~(((t0.c0)/(t0.c1)))) FROM t0; +SELECT c0, c1, ((t0.c0)::varchar!~(((t0.c0)/(t0.c1)))::varchar) FROM t0; ---- 0.5 0 NULL 0.5 1 false diff --git a/test/issues/rigger/date_get_value.test b/test/issues/rigger/date_get_value.test index 3400edd77fce..5337798a3a5c 100644 --- a/test/issues/rigger/date_get_value.test +++ b/test/issues/rigger/date_get_value.test @@ -10,3 +10,4 @@ INSERT INTO t0 VALUES (false, 1); statement error SELECT t0.c0, t0.c1 FROM t0 WHERE REVERSE((CASE 0.020672069925445347 WHEN (((DATE '1970-01-18')+(t0.c1)) NOT BETWEEN t0.c0 AND DATE '1970-01-10') THEN t0.c1 ELSE t0.c1 END )) GROUP BY t0.c0, t0.c1 UNION SELECT t0.c0, t0.c1 FROM t0 WHERE (NOT REVERSE((CASE 0.020672069925445347 WHEN (((DATE '1970-01-18')+(t0.c1)) NOT BETWEEN t0.c0 AND DATE '1970-01-10') THEN t0.c1 ELSE t0.c1 END ))) GROUP BY t0.c0, t0.c1 UNION SELECT t0.c0, t0.c1 FROM t0 WHERE ((REVERSE((CASE 0.020672069925445347 WHEN (((DATE '1970-01-18')+(t0.c1)) NOT BETWEEN t0.c0 AND DATE '1970-01-10') THEN t0.c1 ELSE t0.c1 END ))) IS NULL) GROUP BY t0.c0, t0.c1; +---- diff --git a/test/issues/rigger/decimal_int_between.test b/test/issues/rigger/decimal_int_between.test new file mode 100644 index 000000000000..e210d27ae5b7 --- /dev/null +++ b/test/issues/rigger/decimal_int_between.test @@ -0,0 +1,20 @@ +# name: test/issues/rigger/decimal_int_between.test +# description: Issue #9825 - Missing Results when using Floating-point in BETWEEN +# group: [rigger] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE t0(c1 INT); + +statement ok +INSERT INTO t0(c1) VALUES (-1); + +statement ok +INSERT INTO t0(c1) VALUES (5); + +query I +SELECT * FROM t0 WHERE (c1 BETWEEN 3.1 AND c1); +---- +5 diff --git a/test/issues/rigger/delete_empty_result.test b/test/issues/rigger/delete_empty_result.test index 01298d311735..58e6904caaf6 100644 --- a/test/issues/rigger/delete_empty_result.test +++ b/test/issues/rigger/delete_empty_result.test @@ -15,4 +15,4 @@ statement ok CREATE TABLE t0(c0 INTEGER); statement ok -DELETE FROM t0 WHERE false; \ No newline at end of file +DELETE FROM t0 WHERE false; diff --git a/test/issues/rigger/double_bigint_cast_overflow.test b/test/issues/rigger/double_bigint_cast_overflow.test index ad2e7d273cfd..c464a8f3ea9d 100644 --- a/test/issues/rigger/double_bigint_cast_overflow.test +++ b/test/issues/rigger/double_bigint_cast_overflow.test @@ -12,12 +12,16 @@ select 9.2233720368547750E+18::int8; statement error select 9.2233720368547758E+18::real::int8; +---- statement error select 9.2233720368547758E+18::int8; +---- statement error select 2147483648::real::int4; +---- statement error select 2147483648::double::int4; +---- diff --git a/test/issues/rigger/expression_equality_bug.test b/test/issues/rigger/expression_equality_bug.test index 5ead4e87dbac..08a8393890e9 100644 --- a/test/issues/rigger/expression_equality_bug.test +++ b/test/issues/rigger/expression_equality_bug.test @@ -8,5 +8,6 @@ PRAGMA enable_verification statement ok CREATE TABLE t0(c0 BOOLEAN DEFAULT(1168904737), c1 BOOLEAN DEFAULT(DATE '1969-12-28'), c2 DATE, PRIMARY KEY(c1, c2, c0)); -statement ok -SELECT t0.c0 FROM t0 WHERE (((t0.rowid)SIMILAR TO(TIMESTAMP '1970-01-11 11:17:02')) BETWEEN TIMESTAMP '1970-01-11 23:34:33' AND DATE '1970-01-20') UNION ALL SELECT t0.c0 FROM t0 WHERE (NOT (((t0.rowid)SIMILAR TO(TIMESTAMP '1970-01-11 11:17:02')) BETWEEN TIMESTAMP '1970-01-11 23:34:33' AND DATE '1970-01-20')) UNION ALL SELECT t0.c0 FROM t0 WHERE (((((t0.rowid)SIMILAR TO(TIMESTAMP '1970-01-11 11:17:02')) BETWEEN TIMESTAMP '1970-01-11 23:34:33' AND DATE '1970-01-20')) IS NULL); \ No newline at end of file +statement error +SELECT t0.c0 FROM t0 WHERE (((t0.rowid)SIMILAR TO(TIMESTAMP '1970-01-11 11:17:02')) BETWEEN TIMESTAMP '1970-01-11 23:34:33' AND DATE '1970-01-20') UNION ALL SELECT t0.c0 FROM t0 WHERE (NOT (((t0.rowid)SIMILAR TO(TIMESTAMP '1970-01-11 11:17:02')) BETWEEN TIMESTAMP '1970-01-11 23:34:33' AND DATE '1970-01-20')) UNION ALL SELECT t0.c0 FROM t0 WHERE (((((t0.rowid)SIMILAR TO(TIMESTAMP '1970-01-11 11:17:02')) BETWEEN TIMESTAMP '1970-01-11 23:34:33' AND DATE '1970-01-20')) IS NULL); +---- diff --git a/test/issues/rigger/hugeint_div_by_zero.test b/test/issues/rigger/hugeint_div_by_zero.test index 81fbd15c8e0b..6cbc014bc4bb 100644 --- a/test/issues/rigger/hugeint_div_by_zero.test +++ b/test/issues/rigger/hugeint_div_by_zero.test @@ -84,4 +84,4 @@ statement ok INSERT INTO t1 VALUES(2139975183,0); statement ok -SELECT t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 FROM t1, t0 WHERE (((CASE ((t1.c0)*(0.537)) WHEN 0.09857124523209415 THEN (0.915585828038032 IN (t0.c2)) ELSE t1.c0 END )) IS NOT NULL) GROUP BY t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 UNION SELECT t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 FROM t1, t0 WHERE (NOT (((CASE ((t1.c0)*(0.537)) WHEN 0.09857124523209415 THEN (0.915585828038032 IN (t0.c2)) ELSE t1.c0 END )) IS NOT NULL)) GROUP BY t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 UNION SELECT t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 FROM t1, t0 WHERE (((((CASE ((t1.c0)*(0.537)) WHEN 0.09857124523209415 THEN (0.915585828038032 IN (t0.c2)) ELSE t1.c0 END )) IS NOT NULL)) IS NULL) GROUP BY t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 ORDER BY 1, 2, 3, 4, 5; +SELECT t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 FROM t1, t0 WHERE (((CASE ((t1.c0)*(0.537)) WHEN 0.09857124523209415 THEN (0.915585828038032::VARCHAR IN (t0.c2)) ELSE t1.c0 END )) IS NOT NULL) GROUP BY t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 UNION SELECT t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 FROM t1, t0 WHERE (NOT (((CASE ((t1.c0)*(0.537)) WHEN 0.09857124523209415 THEN (0.915585828038032::VARCHAR IN (t0.c2)) ELSE t1.c0 END )) IS NOT NULL)) GROUP BY t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 UNION SELECT t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 FROM t1, t0 WHERE (((((CASE ((t1.c0)*(0.537)) WHEN 0.09857124523209415 THEN (0.915585828038032::VARCHAR IN (t0.c2)) ELSE t1.c0 END )) IS NOT NULL)) IS NULL) GROUP BY t1.c0, t1.c1, t0.c2, t0.c0, t0.c1 ORDER BY 1, 2, 3, 4, 5; diff --git a/test/issues/rigger/instr_crash.test b/test/issues/rigger/instr_crash.test index 69d035439f5b..0a3b419837e0 100644 --- a/test/issues/rigger/instr_crash.test +++ b/test/issues/rigger/instr_crash.test @@ -25,3 +25,4 @@ COMMIT; statement error SELECT t96.c0, t0.rowid, t0.c1, t96.c2 FROM t0, t96 WHERE (TIMESTAMP '1969-12-28 13:59:01' LIKE INSTR(t0.c1, t96.c0) ESCAPE RTRIM(DATE '1969-12-23')) UNION ALL SELECT t96.c0, t0.rowid, t0.c1, t96.c2 FROM t0, t96 WHERE (NOT (TIMESTAMP '1969-12-28 13:59:01' LIKE INSTR(t0.c1, t96.c0) ESCAPE RTRIM(DATE '1969-12-23'))) UNION ALL SELECT t96.c0, t0.rowid, t0.c1, t96.c2 FROM t0, t96 WHERE (((TIMESTAMP '1969-12-28 13:59:01' LIKE INSTR(t0.c1, t96.c0) ESCAPE RTRIM(DATE '1969-12-23'))) IS NULL); +---- diff --git a/test/issues/rigger/overflow_filter_pushdown.test b/test/issues/rigger/overflow_filter_pushdown.test new file mode 100644 index 000000000000..2c2cef9a6417 --- /dev/null +++ b/test/issues/rigger/overflow_filter_pushdown.test @@ -0,0 +1,24 @@ +# name: test/issues/rigger/overflow_filter_pushdown.test +# description: Issue #9806 - Unexpected Results when using IS NOT NULL +# group: [rigger] + +statement ok +CREATE TABLE t0(c0 INT); + +statement ok +INSERT INTO t0 VALUES (1); + +query I +SELECT * FROM t0; +---- +1 + +query I +SELECT c0>=(2147483647 + 1 IS NOT NULL) FROM t0; +---- +true + +query I +SELECT * FROM t0 WHERE c0>=(2147483647 + 1 IS NOT NULL); +---- +1 diff --git a/test/issues/rigger/rowid_conjunction.test b/test/issues/rigger/rowid_conjunction.test index 901d9bc617b5..83161e8ab46e 100644 --- a/test/issues/rigger/rowid_conjunction.test +++ b/test/issues/rigger/rowid_conjunction.test @@ -14,7 +14,7 @@ CREATE TABLE t0(c0 TINYINT); statement ok INSERT INTO t0 VALUES (1), (2), (3), (NULL); -query I +statement error SELECT * FROM t0 WHERE (((0.7839485854397868 BETWEEN false AND PRINTF(((0.8341154324178778)NOT SIMILAR TO(t0.c0)), NULL, ((0.9015841357551267) ::VARCHAR), DATE '1969-12-25')))AND(t0.rowid)) UNION SELECT * FROM t0 WHERE (NOT (((0.7839485854397868 BETWEEN false AND PRINTF(((0.8341154324178778)NOT SIMILAR TO(t0.c0)), NULL, ((0.9015841357551267) ::VARCHAR), DATE '1969-12-25')))AND(t0.rowid))) @@ -22,10 +22,6 @@ UNION SELECT * FROM t0 WHERE (((((0.7839485854397868 BETWEEN false AND PRINTF(((0.8341154324178778)NOT SIMILAR TO(t0.c0)), NULL, ((0.9015841357551267) ::VARCHAR), DATE '1969-12-25')))AND(t0.rowid))) IS NULL) ORDER BY 1 ---- -NULL -1 -2 -3 query I SELECT DISTINCT * FROM t0 ORDER BY 1 diff --git a/test/issues/rigger/rowid_in_clause.test b/test/issues/rigger/rowid_in_clause.test index b8e111d22654..83b504ef0075 100644 --- a/test/issues/rigger/rowid_in_clause.test +++ b/test/issues/rigger/rowid_in_clause.test @@ -60,4 +60,4 @@ SELECT * FROM t0, t1 WHERE (NOT (t0.rowid IN (0.1::DOUBLE))) UNION ALL SELECT * FROM t0, t1 WHERE (((t0.rowid IN (0.1::DOUBLE))) IS NULL); ---- -1 -1 \ No newline at end of file +1 -1 diff --git a/test/issues/rigger/string_comparison_bug.test b/test/issues/rigger/string_comparison_bug.test index bd17beec5748..04735879ef8a 100644 --- a/test/issues/rigger/string_comparison_bug.test +++ b/test/issues/rigger/string_comparison_bug.test @@ -220,3 +220,4 @@ PRAGMA disable_optimizer statement error SELECT * FROM t0 WHERE (('NN')<((t0.rowid NOT IN (t0.c1)))); +---- diff --git a/test/issues/rigger/test_507.test b/test/issues/rigger/test_507.test index fe03456aef0b..d37cd0102e37 100644 --- a/test/issues/rigger/test_507.test +++ b/test/issues/rigger/test_507.test @@ -8,4 +8,5 @@ PRAGMA enable_verification # Creating an empty table results in a crash statement error CREATE TABLE t0(); +---- diff --git a/test/issues/rigger/test_510.test b/test/issues/rigger/test_510.test index d7e1b5653fb8..2ec98c49e5d9 100644 --- a/test/issues/rigger/test_510.test +++ b/test/issues/rigger/test_510.test @@ -18,17 +18,17 @@ SELECT '-10' SIMILAR TO '0'; 0 query T -SELECT t0.c0 SIMILAR TO 0 FROM t0; +SELECT cast(t0.c0 as varchar) SIMILAR TO cast(0 as varchar) FROM t0; ---- 0 query T -SELECT t0.c0 NOT SIMILAR TO 0 FROM t0; +SELECT t0.c0::VARCHAR NOT SIMILAR TO 0::VARCHAR FROM t0; ---- 1 query I -SELECT * FROM t0 WHERE t0.c0 NOT SIMILAR TO 0; +SELECT * FROM t0 WHERE t0.c0::VARCHAR NOT SIMILAR TO 0::VARCHAR; ---- -10 diff --git a/test/issues/rigger/test_514.test b/test/issues/rigger/test_514.test index 9fe9f27b37e4..d0907efbdd5d 100644 --- a/test/issues/rigger/test_514.test +++ b/test/issues/rigger/test_514.test @@ -22,6 +22,7 @@ SELECT * FROM t0 WHERE t0.c0 = 1; statement error INSERT INTO t0(c0) VALUES (1); +---- query I SELECT * FROM t0 WHERE t0.c0 = 1; @@ -37,6 +38,7 @@ INSERT INTO t0(c0) VALUES (3); statement error INSERT INTO t0(c0) VALUES (2); +---- query I SELECT * FROM t0 WHERE t0.c0 = 2; diff --git a/test/issues/rigger/test_515.test b/test/issues/rigger/test_515.test index b5202897fdfd..b5f677f27fae 100644 --- a/test/issues/rigger/test_515.test +++ b/test/issues/rigger/test_515.test @@ -23,9 +23,12 @@ INSERT INTO t0 VALUES (0); statement error SELECT * FROM t1 JOIN t0 ON t1.c1 WHERE NOT (t1.c0<<-1); +---- statement error SELECT * FROM t1 JOIN t0 ON t1.c1 WHERE (t1.c0<<-1); +---- statement error SELECT NOT (t1.c0<<-1) FROM t1; +---- diff --git a/test/issues/rigger/test_518.test b/test/issues/rigger/test_518.test index 4b069cb56aab..d8067442fc42 100644 --- a/test/issues/rigger/test_518.test +++ b/test/issues/rigger/test_518.test @@ -24,5 +24,6 @@ SELECT LN(t1.c0) FROM t0, t1 WHERE LN(t1.c0) < t0.c0; statement error SELECT t1.c0, LN(t1.c0) FROM t1 ORDER BY t1.c0; +---- diff --git a/test/issues/rigger/test_522.test b/test/issues/rigger/test_522.test index 96fe8002d01d..617c9429dc53 100644 --- a/test/issues/rigger/test_522.test +++ b/test/issues/rigger/test_522.test @@ -8,4 +8,5 @@ PRAGMA enable_verification # Casting a large number to REAL and multiplying it with zero results in -nan statement error SELECT 1e100::real*0; +---- diff --git a/test/issues/rigger/test_523.test b/test/issues/rigger/test_523.test index 8a1cce10d44c..06e93051c1f0 100644 --- a/test/issues/rigger/test_523.test +++ b/test/issues/rigger/test_523.test @@ -8,4 +8,5 @@ PRAGMA enable_verification # The trigonometric functions can result in -nan statement error SELECT SIN(1e1000); +---- diff --git a/test/issues/rigger/test_531.test b/test/issues/rigger/test_531.test index fb0ee3a9b8a8..9427360ad509 100644 --- a/test/issues/rigger/test_531.test +++ b/test/issues/rigger/test_531.test @@ -11,7 +11,9 @@ CREATE TABLE t0(c0 DATE); statement error INSERT INTO t0 VALUES (-10000000); +---- statement error SELECT (-10000000)::DATE; +---- diff --git a/test/issues/rigger/test_533.test b/test/issues/rigger/test_533.test index 06706e1b9165..76d2158df0db 100644 --- a/test/issues/rigger/test_533.test +++ b/test/issues/rigger/test_533.test @@ -14,4 +14,5 @@ INSERT INTO t0(c0) VALUES (10000000000); statement error SELECT t0.c0 ::INT FROM t0; +---- diff --git a/test/issues/rigger/test_535.test b/test/issues/rigger/test_535.test index bfa76591313f..d55f0dbb953d 100644 --- a/test/issues/rigger/test_535.test +++ b/test/issues/rigger/test_535.test @@ -19,7 +19,7 @@ statement ok CREATE INDEX i0 ON t0(c0); query R -SELECT t0.c0 FROM t0 GROUP BY t0.c0, REVERSE(t0.c0) ORDER BY 1; +SELECT t0.c0 FROM t0 GROUP BY t0.c0, REVERSE(t0.c0::VARCHAR) ORDER BY 1; ---- -515965088.000000 1.000000 diff --git a/test/issues/rigger/test_538.test b/test/issues/rigger/test_538.test index c4b2610ac55b..510aea2a8c44 100644 --- a/test/issues/rigger/test_538.test +++ b/test/issues/rigger/test_538.test @@ -17,6 +17,8 @@ INSERT INTO t0(c0) VALUES (0); statement error SELECT t0.c0 AND (t0.c0<<64) FROM t0; +---- statement error SELECT * FROM t0 WHERE t0.c0 AND (t0.c0<<64); +---- diff --git a/test/issues/rigger/test_547.test b/test/issues/rigger/test_547.test index 57e431de0a1b..1bbe1479a743 100644 --- a/test/issues/rigger/test_547.test +++ b/test/issues/rigger/test_547.test @@ -13,7 +13,7 @@ statement ok INSERT INTO t0 VALUES (0); query I -SELECT * FROM t0 WHERE t0.c0 SIMILAR TO '.'; +SELECT * FROM t0 WHERE cast(t0.c0 as varchar) SIMILAR TO '.'; ---- 0 diff --git a/test/issues/rigger/test_549.test b/test/issues/rigger/test_549.test index f73ea892297b..c181f4d32f7a 100644 --- a/test/issues/rigger/test_549.test +++ b/test/issues/rigger/test_549.test @@ -14,11 +14,9 @@ INSERT INTO t0 VALUES (NULL), (0), (1); statement error SELECT * FROM t0 WHERE CASE WHEN c0 THEN 0 ELSE CASE '0.1' WHEN c0 THEN '' END END; +---- -query T +statement error SELECT CASE WHEN c0 THEN 0 ELSE (CASE '0' WHEN c0 THEN '0.6' END) END FROM t0; ---- -NULL -0.6 -0 - +Cannot mix values of type diff --git a/test/issues/rigger/test_562.test b/test/issues/rigger/test_562.test index 6233ae474a48..b5f454117058 100644 --- a/test/issues/rigger/test_562.test +++ b/test/issues/rigger/test_562.test @@ -11,6 +11,7 @@ CREATE TABLE t0(c0 INT); statement error SELECT * FROM t0 GROUP BY -4.40304405E8 ORDER BY (CASE 1 WHEN 0 THEN 0 ELSE -440304405 END); +---- query I SELECT 1 FROM t0 GROUP BY -4.40304405E8 ORDER BY (CASE 1 WHEN 0 THEN 0 ELSE -440304405 END); diff --git a/test/issues/rigger/test_580.test b/test/issues/rigger/test_580.test index e0ec89d43398..2f5ee6cdd257 100644 --- a/test/issues/rigger/test_580.test +++ b/test/issues/rigger/test_580.test @@ -7,7 +7,7 @@ PRAGMA enable_verification # SUBSTRING with an invalid start position causes a segmentation fault #580 query T -SELECT SUBSTRING(0, 3, 0) +SELECT SUBSTRING(0::VARCHAR, 3, 0) ---- (empty) diff --git a/test/issues/rigger/test_583.test b/test/issues/rigger/test_583.test index d51d61cdaf58..c7283bafb3d1 100644 --- a/test/issues/rigger/test_583.test +++ b/test/issues/rigger/test_583.test @@ -20,7 +20,6 @@ UPDATE t0 SET c0=true; # -- expected: {true}, actual: {} query T -SELECT * FROM t0 WHERE t0.c0 = true; +SELECT * FROM t0 WHERE t0.c0 = true::varchar; ---- true - diff --git a/test/issues/rigger/test_584.test b/test/issues/rigger/test_584.test index e51e7ff6adf0..f96e5a0afb24 100644 --- a/test/issues/rigger/test_584.test +++ b/test/issues/rigger/test_584.test @@ -13,7 +13,7 @@ statement ok INSERT INTO t0(c0) VALUES (-2); query I -SELECT t0.c0 FROM t0 WHERE -1 BETWEEN t0.c0::VARCHAR AND 1; +SELECT t0.c0 FROM t0 WHERE -1 BETWEEN t0.c0::VARCHAR::INTEGER AND 1; ---- -2 diff --git a/test/issues/rigger/test_589.test b/test/issues/rigger/test_589.test index db4919cd43d0..78ff1689a93d 100644 --- a/test/issues/rigger/test_589.test +++ b/test/issues/rigger/test_589.test @@ -11,4 +11,5 @@ CREATE TABLE t0(c0 INT); statement error CREATE INDEX i0 ON t0(rowid, c0); +---- diff --git a/test/issues/rigger/test_590.test b/test/issues/rigger/test_590.test index 47c3d0140cea..f8b4f79a415e 100644 --- a/test/issues/rigger/test_590.test +++ b/test/issues/rigger/test_590.test @@ -13,7 +13,6 @@ statement ok INSERT INTO t0(c0) VALUES (DATE '2000-01-02'); query T -SELECT * FROM t0 WHERE DATE '2000-01-01' < t0.c0; +SELECT * FROM t0 WHERE DATE '2000-01-01' < cast(t0.c0 as date); ---- 2000-01-02 - diff --git a/test/issues/rigger/test_592.test b/test/issues/rigger/test_592.test index 5c0260f828d4..56e36e95d8c6 100644 --- a/test/issues/rigger/test_592.test +++ b/test/issues/rigger/test_592.test @@ -13,6 +13,5 @@ statement ok INSERT INTO t0 VALUES (0); query T -SELECT * FROM t0 WHERE c0 LIKE '' AND c0 < true; +SELECT * FROM t0 WHERE c0 LIKE '' AND c0 < true::VARCHAR; ---- - diff --git a/test/issues/rigger/test_596.test b/test/issues/rigger/test_596.test index e6bfb09cd8f3..ef7e3e5d1e6f 100644 --- a/test/issues/rigger/test_596.test +++ b/test/issues/rigger/test_596.test @@ -14,4 +14,5 @@ INSERT INTO t0(c0) VALUES(1E200), (0); statement error SELECT STDDEV_POP(c0) FROM t0; +---- diff --git a/test/issues/rigger/test_603.test b/test/issues/rigger/test_603.test index a7092d991282..4ee527a1244e 100644 --- a/test/issues/rigger/test_603.test +++ b/test/issues/rigger/test_603.test @@ -13,6 +13,5 @@ statement ok INSERT INTO t0(c0) VALUES (NULL), ('2000-01-01'); query TT -SELECT * FROM t0 WHERE 'a' BETWEEN c0 AND c1 COLLATE NOACCENT.NOCASE; +SELECT * FROM t0 WHERE 'a' BETWEEN c0::VARCHAR AND c1 COLLATE NOACCENT.NOCASE; ---- - diff --git a/test/issues/rigger/test_618.test b/test/issues/rigger/test_618.test index c4e8c00d68a1..b856f5f242b8 100644 --- a/test/issues/rigger/test_618.test +++ b/test/issues/rigger/test_618.test @@ -14,6 +14,7 @@ INSERT INTO t0 VALUES (DATE '2000-01-01'); statement error ALTER TABLE t0 ALTER COLUMN c0 SET DATA TYPE INT; +---- statement ok INSERT INTO t0 VALUES (DEFAULT); diff --git a/test/issues/rigger/test_625.test b/test/issues/rigger/test_625.test index 8f4bc402a219..90f341263590 100644 --- a/test/issues/rigger/test_625.test +++ b/test/issues/rigger/test_625.test @@ -12,6 +12,7 @@ CREATE TABLE t0(c0 INT, c INT UNIQUE); # we don't support this case yet statement error ALTER TABLE t0 DROP c0; +---- # check that unique constraint still works statement ok @@ -19,4 +20,5 @@ INSERT INTO t0 (c) VALUES (1); statement error INSERT INTO t0 (c) VALUES (1); +---- diff --git a/test/issues/rigger/test_628.test b/test/issues/rigger/test_628.test index 251e0a08155b..64f892e7d58f 100644 --- a/test/issues/rigger/test_628.test +++ b/test/issues/rigger/test_628.test @@ -11,4 +11,5 @@ CREATE TABLE t0(c0 INT, c1 INT UNIQUE); statement error ALTER TABLE t0 DROP c1; +---- diff --git a/test/issues/rigger/test_633.test b/test/issues/rigger/test_633.test index 65c6ae418492..217fd4becd9b 100644 --- a/test/issues/rigger/test_633.test +++ b/test/issues/rigger/test_633.test @@ -13,12 +13,12 @@ statement ok INSERT INTO t0(c0) VALUES (NULL); query T -SELECT LEFT(t0.c0, -1) FROM t0; +SELECT LEFT(t0.c0::VARCHAR, -1) FROM t0; ---- NULL query T -SELECT RIGHT(t0.c0, -1) FROM t0; +SELECT RIGHT(t0.c0::VARCHAR, -1) FROM t0; ---- NULL diff --git a/test/issues/rigger/test_709.test b/test/issues/rigger/test_709.test index ebc2b36ddba3..411ebcb53ffd 100644 --- a/test/issues/rigger/test_709.test +++ b/test/issues/rigger/test_709.test @@ -19,6 +19,7 @@ insert into t1 values (42, true); statement error SELECT t0.rowid, t1.c1, t1.c0 FROM t1, t0 WHERE (((t1.rowid NOT IN (((t1.c1) ::BOOLEAN), ((t1.c0) ::INT1))))AND((false BETWEEN '[' AND t1.c0))) UNION SELECT t0.rowid, t1.c1, t1.c0 FROM t1, t0 WHERE (NOT (((t1.rowid NOT IN (((t1.c1) ::BOOLEAN), ((t1.c0) ::INT1))))AND((false BETWEEN '[' AND t1.c0)))) UNION SELECT t0.rowid, t1.c1, t1.c0 FROM t1, t0 WHERE (((((t1.rowid NOT IN (((t1.c1) ::BOOLEAN), ((t1.c0) ::TINYINT))))AND((false BETWEEN '[' AND t1.c0)))) IS NULL); +---- query ITR diff --git a/test/issues/rigger/test_value_binop.test b/test/issues/rigger/test_value_binop.test index d1509b75c1a8..ddeee52b98aa 100644 --- a/test/issues/rigger/test_value_binop.test +++ b/test/issues/rigger/test_value_binop.test @@ -11,5 +11,7 @@ CREATE TABLE t0(c0 DATE, c1 SMALLINT); statement ok CREATE TABLE t1(c0 NUMERIC, c1 DATE DEFAULT(true), PRIMARY KEY(c1)); -statement ok -SELECT COUNT((NOT IFNULL((CASE ((t0.rowid)+(0.250079098209133)) WHEN '0.3133638032049081' THEN t0.rowid WHEN t0.rowid THEN (((- t0.rowid)) IS NULL) ELSE (('1654422017')||((t0.rowid IN (false, '6㹬', TIMESTAMP '1970-01-25 20:11:23')))) END ), DATE '1970-01-12'))) FROM t0; \ No newline at end of file +statement error +SELECT COUNT((NOT IFNULL((CASE ((t0.rowid)+(0.250079098209133)) WHEN '0.3133638032049081' THEN t0.rowid WHEN t0.rowid THEN (((- t0.rowid)) IS NULL) ELSE (('1654422017')||((t0.rowid IN (false, '6㹬', TIMESTAMP '1970-01-25 20:11:23')))) END ), DATE '1970-01-12'))) FROM t0; +---- +Cannot mix values of type diff --git a/test/issues/rigger/zonemap_column_out_of_range.test b/test/issues/rigger/zonemap_column_out_of_range.test index d4cd766a9ba4..9da54d8f8e6b 100644 --- a/test/issues/rigger/zonemap_column_out_of_range.test +++ b/test/issues/rigger/zonemap_column_out_of_range.test @@ -15,7 +15,7 @@ statement ok INSERT INTO t0 VALUES(0.0,NULL); query III -SELECT t0.rowid, t0.c0, t0.c1 FROM t0 WHERE (t0.c1 IN (true, 0.478943091545613)) GROUP BY t0.rowid, t0.c0, t0.c1 UNION SELECT t0.rowid, t0.c0, t0.c1 FROM t0 WHERE (NOT (t0.c1 IN (true, 0.478943091545613))) GROUP BY t0.rowid, t0.c0, t0.c1 UNION SELECT t0.rowid, t0.c0, t0.c1 FROM t0 WHERE (((t0.c1 IN (true, 0.478943091545613))) IS NULL) GROUP BY t0.rowid, t0.c0, t0.c1 ORDER BY 1, 2, 3; +SELECT t0.rowid, t0.c0, t0.c1 FROM t0 WHERE (t0.c1 IN (true::DOUBLE, 0.478943091545613)) GROUP BY t0.rowid, t0.c0, t0.c1 UNION SELECT t0.rowid, t0.c0, t0.c1 FROM t0 WHERE (NOT (t0.c1 IN (true::DOUBLE, 0.478943091545613))) GROUP BY t0.rowid, t0.c0, t0.c1 UNION SELECT t0.rowid, t0.c0, t0.c1 FROM t0 WHERE (((t0.c1 IN (true::DOUBLE, 0.478943091545613))) IS NULL) GROUP BY t0.rowid, t0.c0, t0.c1 ORDER BY 1, 2, 3; ---- 0 0 1 1 0 NULL diff --git a/test/optimizer/column_lifetime_analyzer/no_unnecessary_projections.test b/test/optimizer/column_lifetime_analyzer/no_unnecessary_projections.test new file mode 100644 index 000000000000..722f787da2e8 --- /dev/null +++ b/test/optimizer/column_lifetime_analyzer/no_unnecessary_projections.test @@ -0,0 +1,24 @@ +# name: test/optimizer/column_lifetime_analyzer/no_unnecessary_projections.test +# description: Test column lifetime +# group: [column_lifetime_analyzer] + +statement ok +CREATE TABLE lhs AS SELECT range % 5 i, range j FROM range(100); + +statement ok +CREATE TABLE rhs AS SELECT range % 5 i, range j FROM range(10); + +query II +explain analyze SELECT rhs.j FROM rhs SEMI JOIN lhs USING (i); +---- +analyzed_plan :.*RIGHT_SEMI.* + +query II +explain analyze SELECT rhs.j FROM rhs SEMI JOIN lhs USING (i); +---- +analyzed_plan :.*HASH JOIN.*PROJECTION.* + +query II +explain analyze SELECT rhs.j FROM rhs ANTI JOIN lhs USING (i); +---- +analyzed_plan :.*HASH JOIN.*PROJECTION.* diff --git a/test/optimizer/csv_pushdown.test b/test/optimizer/csv_pushdown.test index b9ce82c3d3ca..90fd6f8ab3a1 100644 --- a/test/optimizer/csv_pushdown.test +++ b/test/optimizer/csv_pushdown.test @@ -2,10 +2,9 @@ # description: Test CSV pushdown # group: [optimizer] -foreach parallel true false # read a single column from a file query I -SELECT l_returnflag FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'DECIMAL(15,2)','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'VARCHAR','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, parallel = ${parallel}); +SELECT l_returnflag FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'DECIMAL(15,2)','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'VARCHAR','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}); ---- N N @@ -20,19 +19,19 @@ A # verify the projection pushdown is correctly displayed query II -explain SELECT l_returnflag FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'DECIMAL(15,2)','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'VARCHAR','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, parallel = ${parallel}); +explain SELECT l_returnflag FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'DECIMAL(15,2)','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'VARCHAR','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}); ---- physical_plan :.*READ_CSV.*l_returnflag.* # read a column as the incorrect type (l_shipinstruct is not a date) statement error -SELECT l_shipinstruct FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'DECIMAL(15,2)','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, parallel = ${parallel}); +SELECT l_shipinstruct FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'DECIMAL(15,2)','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}); ---- -date field value out of range +Column at position: 13 Set type: DATE Sniffed type: VARCHAR # conversion is skipped if we don't read the value - so even with the incorrect type specified this still works query I -SELECT l_returnflag FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'DECIMAL(15,2)','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, parallel = ${parallel}); +SELECT l_returnflag FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'DECIMAL(15,2)','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}); ---- N N @@ -47,17 +46,17 @@ A # ignore errors query I -SELECT l_shipinstruct FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'DECIMAL(15,2)','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, ignore_errors=true, parallel = ${parallel}); +SELECT l_shipinstruct FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'DECIMAL(15,2)','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, ignore_errors=true); ---- # ignore errors partially statement error -SELECT l_orderkey, l_partkey, l_extendedprice FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'SMALLINT','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, parallel = ${parallel}); +SELECT l_orderkey, l_partkey, l_extendedprice FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'SMALLINT','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}); ---- l_extendedprice query III -SELECT l_orderkey, l_partkey, l_extendedprice FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'SMALLINT','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, ignore_errors=true, parallel = ${parallel}); +SELECT l_orderkey, l_partkey, l_extendedprice FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'SMALLINT','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, ignore_errors=true); ---- 1 15519 24387 1 6370 10211 @@ -65,12 +64,12 @@ SELECT l_orderkey, l_partkey, l_extendedprice FROM read_csv('test/sql/copy/csv/d 1 2403 31330 statement error -SELECT l_orderkey, l_partkey, l_extendedprice FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'USMALLINT','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, parallel = ${parallel}); +SELECT l_orderkey, l_partkey, l_extendedprice FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'USMALLINT','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}); ---- l_extendedprice query III -SELECT l_orderkey, l_partkey, l_extendedprice FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'USMALLINT','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, ignore_errors=true, parallel = ${parallel}); +SELECT l_orderkey, l_partkey, l_extendedprice FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', columns={'l_orderkey': 'INTEGER','l_partkey': 'INTEGER','l_suppkey': 'INTEGER','l_linenumber': 'INTEGER','l_quantity': 'INTEGER','l_extendedprice': 'USMALLINT','l_discount': 'DECIMAL(15,2)','l_tax': 'DECIMAL(15,2)','l_returnflag': 'VARCHAR','l_linestatus': 'VARCHAR','l_shipdate': 'DATE','l_commitdate': 'DATE','l_receiptdate': 'DATE','l_shipinstruct': 'DATE','l_shipmode': 'VARCHAR','l_comment': 'VARCHAR'}, ignore_errors=true); ---- 1 15519 24387 1 6731 58958 @@ -80,6 +79,4 @@ SELECT l_orderkey, l_partkey, l_extendedprice FROM read_csv('test/sql/copy/csv/d 1 1564 46898 2 10617 58049 3 430 59869 -3 12845 47462 - -endloop +3 12845 47462 \ No newline at end of file diff --git a/test/optimizer/deliminator.test b/test/optimizer/deliminator.test index aa6187e00316..cf450051949b 100644 --- a/test/optimizer/deliminator.test +++ b/test/optimizer/deliminator.test @@ -13,28 +13,29 @@ CALL dbgen(sf=0.0001); statement ok PRAGMA explain_output = OPTIMIZED_ONLY -# Q 02 +# Q 02: join with JoinType::SINGLE (created when pushing down dependent joins) is converted to LEFT query II explain SELECT s_acctbal, s_name, n_name, p_partkey, p_mfgr, s_address, s_phone, s_comment FROM part, supplier, partsupp, nation, region WHERE p_partkey = ps_partkey AND s_suppkey = ps_suppkey AND p_size = 15 AND p_type LIKE '%BRASS' AND s_nationkey = n_nationkey AND n_regionkey = r_regionkey AND r_name = 'EUROPE' AND ps_supplycost = ( SELECT min(ps_supplycost) FROM partsupp, supplier, nation, region WHERE p_partkey = ps_partkey AND s_suppkey = ps_suppkey AND s_nationkey = n_nationkey AND n_regionkey = r_regionkey AND r_name = 'EUROPE') ORDER BY s_acctbal DESC, n_name, s_name, p_partkey LIMIT 100; ---- -logical_opt :.*DELIM_JOIN.* +logical_opt :.*SINGLE.* -# Q 17 +# Q 17: join with JoinType::SINGLE (created when pushing down dependent joins) is converted to LEFT query II explain SELECT sum(l_extendedprice) / 7.0 AS avg_yearly FROM lineitem, part WHERE p_partkey = l_partkey AND p_brand = 'Brand#23' AND p_container = 'MED BOX' AND l_quantity < ( SELECT 0.2 * avg(l_quantity) FROM lineitem WHERE l_partkey = p_partkey); ---- -logical_opt :.*DELIM_JOIN.* +logical_opt :.*SINGLE.* -# Q 20 +# Q 17: if we remove the filters """ p_brand = 'Brand#23' AND p_container = 'MED BOX' """ we can remove the whole DELIM join query II -explain SELECT s_name, s_address FROM supplier, nation WHERE s_suppkey IN ( SELECT ps_suppkey FROM partsupp WHERE ps_partkey IN ( SELECT p_partkey FROM part WHERE p_name LIKE 'forest%') AND ps_availqty > ( SELECT 0.5 * sum(l_quantity) FROM lineitem WHERE l_partkey = ps_partkey AND l_suppkey = ps_suppkey AND l_shipdate >= CAST('1994-01-01' AS date) AND l_shipdate < CAST('1995-01-01' AS date))) AND s_nationkey = n_nationkey AND n_name = 'CANADA' ORDER BY s_name; +explain SELECT sum(l_extendedprice) / 7.0 AS avg_yearly FROM lineitem, part WHERE p_partkey = l_partkey AND l_quantity < (SELECT 0.2 * avg(l_quantity) FROM lineitem WHERE l_partkey = p_partkey); ---- logical_opt :.*DELIM_JOIN.* +# Q 20: join with JoinType::SINGLE (created when pushing down dependent joins) is converted to LEFT query II -explain SELECT s_name, count(*) AS numwait FROM supplier, lineitem l1, orders, nation WHERE s_suppkey = l1.l_suppkey AND o_orderkey = l1.l_orderkey AND o_orderstatus = 'F' AND l1.l_receiptdate > l1.l_commitdate AND EXISTS ( SELECT * FROM lineitem l2 WHERE l2.l_orderkey = l1.l_orderkey AND l2.l_suppkey <> l1.l_suppkey) AND NOT EXISTS ( SELECT * FROM lineitem l3 WHERE l3.l_orderkey = l1.l_orderkey AND l3.l_suppkey <> l1.l_suppkey AND l3.l_receiptdate > l3.l_commitdate) AND s_nationkey = n_nationkey AND n_name = 'SAUDI ARABIA' GROUP BY s_name ORDER BY numwait DESC, s_name LIMIT 100; +explain SELECT s_name, s_address FROM supplier, nation WHERE s_suppkey IN ( SELECT ps_suppkey FROM partsupp WHERE ps_partkey IN ( SELECT p_partkey FROM part WHERE p_name LIKE 'forest%') AND ps_availqty > ( SELECT 0.5 * sum(l_quantity) FROM lineitem WHERE l_partkey = ps_partkey AND l_suppkey = ps_suppkey AND l_shipdate >= CAST('1994-01-01' AS date) AND l_shipdate < CAST('1995-01-01' AS date))) AND s_nationkey = n_nationkey AND n_name = 'CANADA' ORDER BY s_name; ---- -logical_opt :.*DELIM_JOIN.* +logical_opt :.*SINGLE.* statement ok CREATE TABLE integers(i INTEGER, j integer) @@ -178,4 +179,23 @@ SELECT i, (SELECT COUNT(sum) FROM (SELECT SUM(i) sum FROM integers i2 WHERE i2.i NULL 0 1 1 2 1 -3 0 \ No newline at end of file +3 0 + +# FTS +require fts + +require noalternativeverify + +statement ok +CREATE TABLE documents(id VARCHAR, body VARCHAR) + +statement ok +INSERT INTO documents VALUES ('doc1', ' QUÁCKING+QUÁCKING+QUÁCKING'), ('doc2', ' BÁRKING+BÁRKING+BÁRKING+BÁRKING'), ('doc3', ' MÉOWING+MÉOWING+MÉOWING+MÉOWING+MÉOWING+999') + +statement ok +PRAGMA create_fts_index('documents', 'id', 'body', overwrite=1) + +query II +EXPLAIN SELECT score, id, body FROM (SELECT *, fts_main_documents.match_bm25(id, 'quacked barked') AS score FROM documents) sq WHERE score IS NOT NULL ORDER BY score DESC +---- +logical_opt :.*DELIM_JOIN.* diff --git a/test/optimizer/deliminator_optimizer.test b/test/optimizer/deliminator_optimizer.test deleted file mode 100644 index d8665d130e9f..000000000000 --- a/test/optimizer/deliminator_optimizer.test +++ /dev/null @@ -1,235 +0,0 @@ -# name: test/optimizer/deliminator_optimizer.test -# description: Test the Deliminator optimizer -# group: [optimizer] - -statement ok -CREATE TABLE integers(i INTEGER) - -# specific edge case with two DelimGets under the DelimJoin -statement ok -SELECT i, (SELECT MIN(i+2*i1.i) FROM integers) FROM integers i1 ORDER BY i - -statement ok -INSERT INTO integers VALUES (1), (2), (3) - -statement ok -PRAGMA explain_output = OPTIMIZED_ONLY - -# correlated any/all -query II -EXPLAIN SELECT i=ANY(SELECT i FROM integers WHERE i=i1.i) FROM integers i1 ORDER BY i ----- -logical_opt :.*DELIM_JOIN.* - -query II -EXPLAIN SELECT i=ALL(SELECT i FROM integers WHERE i=i1.i) FROM integers i1 ORDER BY i ----- -logical_opt :.*DELIM_JOIN.* - -# correlated where -statement ok -CREATE TABLE test (id INTEGER, b INTEGER) - -query II -EXPLAIN SELECT * FROM test WHERE b=(SELECT MIN(b) FROM test AS a WHERE a.id=test.id) ----- -logical_opt :.*DELIM_JOIN.* - -# TPC-H -require tpch - -statement ok -CALL dbgen(sf=0.0001) - -# q02 -query II -EXPLAIN -SELECT - s_acctbal, - s_name, - n_name, - p_partkey, - p_mfgr, - s_address, - s_phone, - s_comment -FROM - part, - supplier, - partsupp, - nation, - region -WHERE - p_partkey = ps_partkey - AND s_suppkey = ps_suppkey - AND p_size = 15 - AND p_type LIKE '%BRASS' - AND s_nationkey = n_nationkey - AND n_regionkey = r_regionkey - AND r_name = 'EUROPE' - AND ps_supplycost = ( - SELECT - min(ps_supplycost) - FROM - partsupp, - supplier, - nation, - region - WHERE - p_partkey = ps_partkey - AND s_suppkey = ps_suppkey - AND s_nationkey = n_nationkey - AND n_regionkey = r_regionkey - AND r_name = 'EUROPE') -ORDER BY - s_acctbal DESC, - n_name, - s_name, - p_partkey -LIMIT 100 ----- -logical_opt :.*DELIM_JOIN.* - -# q04 -query II -EXPLAIN -SELECT - o_orderpriority, - count(*) AS order_count -FROM - orders -WHERE - o_orderdate >= CAST('1993-07-01' AS date) - AND o_orderdate < CAST('1993-10-01' AS date) - AND EXISTS ( - SELECT - * - FROM - lineitem - WHERE - l_orderkey = o_orderkey - AND l_commitdate < l_receiptdate) -GROUP BY - o_orderpriority -ORDER BY - o_orderpriority ----- -logical_opt :.*DELIM_JOIN.* - -# q17 -query II -EXPLAIN -SELECT - sum(l_extendedprice) / 7.0 AS avg_yearly -FROM - lineitem, - part -WHERE - p_partkey = l_partkey - AND p_brand = 'Brand#23' - AND p_container = 'MED BOX' - AND l_quantity < ( - SELECT - 0.2 * avg(l_quantity) - FROM - lineitem - WHERE - l_partkey = p_partkey) ----- -logical_opt :.*DELIM_JOIN.* - -# q20 -query II -EXPLAIN -SELECT - s_name, - s_address -FROM - supplier, - nation -WHERE - s_suppkey IN ( - SELECT - ps_suppkey - FROM - partsupp - WHERE - ps_partkey IN ( - SELECT - p_partkey - FROM - part - WHERE - p_name LIKE 'forest%') - AND ps_availqty > ( - SELECT - 0.5 * sum(l_quantity) - FROM - lineitem - WHERE - l_partkey = ps_partkey - AND l_suppkey = ps_suppkey - AND l_shipdate >= CAST('1994-01-01' AS date) - AND l_shipdate < CAST('1995-01-01' AS date))) - AND s_nationkey = n_nationkey - AND n_name = 'CANADA' - ORDER BY - s_name ----- -logical_opt :.*DELIM_JOIN.* - -# q21 -query II -EXPLAIN -SELECT - cntrycode, - count(*) AS numcust, - sum(c_acctbal) AS totacctbal -FROM ( - SELECT - substring(c_phone FROM 1 FOR 2) AS cntrycode, - c_acctbal - FROM - customer - WHERE - substring(c_phone FROM 1 FOR 2) IN ('13', '31', '23', '29', '30', '18', '17') - AND c_acctbal > ( - SELECT - avg(c_acctbal) - FROM - customer - WHERE - c_acctbal > 0.00 - AND substring(c_phone FROM 1 FOR 2) IN ('13', '31', '23', '29', '30', '18', '17')) - AND NOT EXISTS ( - SELECT - * - FROM - orders - WHERE - o_custkey = c_custkey)) AS custsale -GROUP BY - cntrycode -ORDER BY - cntrycode ----- -logical_opt :.*DELIM_JOIN.* - -# FTS -require fts - -require noalternativeverify - -statement ok -CREATE TABLE documents(id VARCHAR, body VARCHAR) - -statement ok -INSERT INTO documents VALUES ('doc1', ' QUÁCKING+QUÁCKING+QUÁCKING'), ('doc2', ' BÁRKING+BÁRKING+BÁRKING+BÁRKING'), ('doc3', ' MÉOWING+MÉOWING+MÉOWING+MÉOWING+MÉOWING+999') - -statement ok -PRAGMA create_fts_index('documents', 'id', 'body', overwrite=1) - -query II -EXPLAIN SELECT score, id, body FROM (SELECT *, fts_main_documents.match_bm25(id, 'quacked barked') AS score FROM documents) sq WHERE score IS NOT NULL ORDER BY score DESC ----- -logical_opt :.*DELIM_JOIN.* diff --git a/test/optimizer/grouping_expression_simplification.test b/test/optimizer/grouping_expression_simplification.test index da262545cd80..4d250019241a 100644 --- a/test/optimizer/grouping_expression_simplification.test +++ b/test/optimizer/grouping_expression_simplification.test @@ -14,4 +14,4 @@ EXPLAIN SELECT COUNT(*) FROM test GROUP BY EXTRACT(year from t) query I nosort year EXPLAIN SELECT COUNT(*) FROM test GROUP BY YEAR(t) ----- \ No newline at end of file +---- diff --git a/test/optimizer/join_parquet_with_base.test_slow b/test/optimizer/join_parquet_with_base.test_slow index 067c6dd6c64d..4d359cc98beb 100644 --- a/test/optimizer/join_parquet_with_base.test_slow +++ b/test/optimizer/join_parquet_with_base.test_slow @@ -70,4 +70,4 @@ PRAGMA tpch(${i}) ---- :extension/tpch/dbgen/answers/sf0.1/q${i}.csv -endloop \ No newline at end of file +endloop diff --git a/test/optimizer/join_reorder_optimizer.test b/test/optimizer/join_reorder_optimizer.test index ed9722f9d9b1..40fbbff0ccc4 100644 --- a/test/optimizer/join_reorder_optimizer.test +++ b/test/optimizer/join_reorder_optimizer.test @@ -64,4 +64,4 @@ FROM WHERE t1.c1 = t2.c1 AND t2.c2 = t3.c2 AND - t1.c1 + t2.c2 + t3.c3= 3 * t4.c4 \ No newline at end of file + t1.c1 + t2.c2 + t3.c3= 3 * t4.c4 diff --git a/test/optimizer/joins/no_duplicate_elimination_join.test b/test/optimizer/joins/no_duplicate_elimination_join.test index 7d5caf96f2e8..0dcd8a1189f8 100644 --- a/test/optimizer/joins/no_duplicate_elimination_join.test +++ b/test/optimizer/joins/no_duplicate_elimination_join.test @@ -25,4 +25,4 @@ SELECT * FROM test0, test1, test2,test3, test4 WHERE test1.range + test4.range = test2.range AND test1.range + test4.range = test3.range AND test1.range = test4.range AND test1.range = test0.range; statement ok -SELECT * FROM test0, test1, test2, test3, test4 WHERE test1.range + test4.range = test2.range AND test1.range + test4.range = test3.range AND test1.range = test4.range AND test1.range = test0.range AND test1.range + test3.range = test0.range; \ No newline at end of file +SELECT * FROM test0, test1, test2, test3, test4 WHERE test1.range + test4.range = test2.range AND test1.range + test4.range = test3.range AND test1.range = test4.range AND test1.range = test0.range AND test1.range + test3.range = test0.range; diff --git a/test/optimizer/move_constants.test b/test/optimizer/move_constants.test index cc46bc755709..742c14ada53b 100644 --- a/test/optimizer/move_constants.test +++ b/test/optimizer/move_constants.test @@ -124,4 +124,4 @@ EXPLAIN SELECT -X<-5 FROM test query I nosort negation_flip EXPLAIN SELECT X>5 FROM test ----- \ No newline at end of file +---- diff --git a/test/optimizer/perfect_ht.test b/test/optimizer/perfect_ht.test index a608b44f6f8e..daf408e82759 100644 --- a/test/optimizer/perfect_ht.test +++ b/test/optimizer/perfect_ht.test @@ -50,6 +50,8 @@ physical_plan :.*PERFECT_HASH_GROUP_BY.* # the threshold has to be in range statement error PRAGMA perfect_ht_threshold=-1; +---- statement error PRAGMA perfect_ht_threshold=100; +---- diff --git a/test/optimizer/pullup_filters.test b/test/optimizer/pullup_filters.test index a1a0a3bc47b0..af914518b42c 100644 --- a/test/optimizer/pullup_filters.test +++ b/test/optimizer/pullup_filters.test @@ -30,13 +30,13 @@ physical_plan :.*=5.*=5.* query II EXPLAIN SELECT * FROM (SELECT * FROM vals1, vals2 WHERE i=5 AND k=3) tbl1, (SELECT * FROM vals1, vals2) tbl2 WHERE tbl1.i=tbl2.i AND tbl1.k=tbl2.k ---- -physical_plan :.*=5.*=3.*=5.*=3.* +physical_plan :(.*=5.*=3.*=5.*=3.*|.*=3.*=5.*=3.*=5.*) ## INNER JOIN: pull up two filters in cross product from RHS query II EXPLAIN SELECT * FROM (SELECT * FROM vals1, vals2) tbl1, (SELECT * FROM vals1, vals2 WHERE i=5 AND k=3) tbl2 WHERE tbl1.i=tbl2.i AND tbl1.k=tbl2.k ---- -physical_plan :.*=5.*=3.*=5.*=3.* +physical_plan :(.*=5.*=3.*=5.*=3.*|.*=3.*=5.*=3.*=5.*) #### LEFT JOIN: pull up a single filter from LHS #### query II @@ -54,7 +54,7 @@ physical_plan :.*=5.*=5.* query II EXPLAIN SELECT * FROM (SELECT * FROM vals1, vals2 WHERE i=5 AND k=10) tbl1 LEFT OUTER JOIN (SELECT * FROM vals1, vals2) tbl2 ON tbl1.i=tbl2.i AND tbl1.k=tbl2.k ---- -physical_plan :.*=5.*=10.*=5.*=10.* +physical_plan :((.*=5.*=10.*=5.*=10.*)|(.*=10.*=5.*=10.*=5.*)) ## INNER JOIN: pull up filter from LHS #### query II @@ -72,11 +72,11 @@ physical_plan :.*=5.*=5.*=5.*=5.* query II EXPLAIN SELECT * FROM (SELECT * FROM vals1, vals2 WHERE i=3 AND k=5 INTERSECT SELECT * FROM vals1, vals2) tbl1; ---- -physical_plan :.*=3.*=5.*=3.*=5.* +physical_plan :((.*=3.*=5.*=3.*=5.*)|(.*=5.*=3.*=5.*=3.*)) ## INTERSECT: pull up filters from RHS query II EXPLAIN SELECT * FROM (SELECT * FROM vals1, vals2 INTERSECT SELECT * FROM vals1, vals2 WHERE i=3 AND k=5) tbl1; ---- -physical_plan :.*=3.*=5.*=3.*=5.* +physical_plan :((.*=3.*=5.*=3.*=5.*)|(.*=5.*=3.*=5.*=3.*)) diff --git a/test/optimizer/pushdown/filter_cannot_pushdown.test b/test/optimizer/pushdown/filter_cannot_pushdown.test index 10078c628ffe..37bc8a50cc74 100644 --- a/test/optimizer/pushdown/filter_cannot_pushdown.test +++ b/test/optimizer/pushdown/filter_cannot_pushdown.test @@ -62,4 +62,4 @@ GROUP BY result; ---- False -endloop \ No newline at end of file +endloop diff --git a/test/optimizer/pushdown/table_filter_pushdown.test b/test/optimizer/pushdown/table_filter_pushdown.test index 5e799a18a58f..dd8d516ea674 100644 --- a/test/optimizer/pushdown/table_filter_pushdown.test +++ b/test/optimizer/pushdown/table_filter_pushdown.test @@ -172,3 +172,24 @@ query II EXPLAIN SELECT i FROM test_bool where j = TRUE ---- logical_opt :.*FILTER.* + +# test now() pushdown + +statement ok +CREATE TABLE test_timestamps (ts TIMESTAMP); + +statement ok +INSERT INTO test_timestamps VALUES (NOW()::TIMESTAMP), (NOW()::TIMESTAMP - INTERVAL 10 YEARS); + +statement ok +PRAGMA explain_output = OPTIMIZED_ONLY; + +query II +EXPLAIN SELECT * FROM test_timestamps where ts >= NOW()::TIMESTAMP - INTERVAL 1 YEAR; +---- +logical_opt :.*FILTER.* + +query I +SELECT COUNT(*) FROM test_timestamps where ts >= NOW()::TIMESTAMP - INTERVAL 1 YEAR; +---- +1 diff --git a/test/optimizer/pushdown_semi_anti_join.test b/test/optimizer/pushdown_semi_anti_join.test new file mode 100644 index 000000000000..113fc033fd18 --- /dev/null +++ b/test/optimizer/pushdown_semi_anti_join.test @@ -0,0 +1,161 @@ +# name: test/optimizer/pushdown_semi_anti_join.test +# description: Pushdown set operations +# group: [optimizer] + +statement ok +PRAGMA explain_output = 'OPTIMIZED_ONLY' + +statement ok +create table t0 as (select 42 a); + +statement ok +create table t1 as (select 42 b); + +query II +explain select a from t0 semi join (select * from t1 where 1 = 0) on a = b; +---- +logical_opt :.*SEMI.* + +# SEMI JOIN is empty if either side is empty +query II +explain select * from t0 SEMI JOIN (select * from t1 where 1=0) tmp on a = b; +---- +logical_opt :.*SEMI.* + +query II +explain select * from (select * from t0 where 1=0) tmp0 SEMI JOIN (select * from t1) tmp1 on (a = b); +---- +logical_opt :.*SEMI.* + +# ANTI JOIN is empty if LHS is empty +query II +explain select * from (select 42 where 1=0) tmp0(a) ANTI JOIN (select 42) tmp1(b) on (a=b); +---- +logical_opt :.*EXCEPT.* + +# if RHS is empty we can optimize away the ANTI JOIN +query II +explain select * from t0 ANTI JOIN (select * from t1 where 1=0) on (a=b); +---- +logical_opt :.*ANTI.* + +# now pushdown subquery with set ops +query II +explain select * from ((select 42) tbl(a) SEMI JOIN t1 on (a=b)) where a=42; +---- +logical_opt :.*SEMI.* + +query II +explain select * from ((select 42) tbl(a) SEMI JOIN t1 on (a=b)) where a=43; +---- +logical_opt :.*SEMI.* + +query II +explain select * from ((select 43) tbl(i) SEMI JOIN (select 42) tbl2(u) on (i=u)) tbl(i) where i=42; +---- +logical_opt :.*SEMI.* + +query II +explain select * from ((select 42) tbl(i) ANTI JOIN (select 42) tbl2(u) on (i=u)) tbl(i) where i=42; +---- +logical_opt :.*ANTI.* + +query II +explain select * from ((select 42) tbl(i) ANTI JOIN (select 43) tbl2(u) on (i=u)) tbl(i) where i=42; +---- +logical_opt :.*ANTI.* + +query II +explain select * from ((select 43) tbl(i) ANTI JOIN (select 42) tbl2(u) on (i=u)) tbl(i) where i=42; +---- +logical_opt :.*ANTI.* + +query I +select * from (select 42) tbl(a) SEMI JOIN (select 43) tbl2(b) on (a=b) where a = 42; +---- + +query I +select * from (select 42) tbl(a) SEMI JOIN (select 42 where 1=0) tbl2(b) on (a=b); +---- + +query I +select * from (select 42 where 1=0) tbl(a) SEMI JOIN (select 42) tbl2(b) on (a=b); +---- + +query I +select * from (select 42 where 1=0) tbl(a) ANTI JOIN (select 42) tbl2(b) on (a=b); +---- + +query I +select * from (select 42) tbl(a) ANTI JOIN (select 42 where 1=0) tbl2(b) on (a=b); +---- +42 + +query I +select * from (select * from (select 42) tbl(i) SEMI JOIN (select 42) tbl2(u) on (i=u)) tbl(i) where i=42; +---- +42 + +query I +select * from (select * from (select 42) tbl(i) SEMI JOIN (select 43) tbl2(u) on (i=u)) tbl(i) where i=42; +---- + +query I +select * from (select * from (select 43) tbl(i) SEMI JOIN (select 42) tbl2(u) on (i=u)) tbl(i) where i=42; +---- + +query I +select * from (select * from (select 42) tbl(i) ANTI JOIN (select 42) tbl2(u) on (i=u)) tbl(i) where i=42; +---- + +query I +select * from (select * from (select 42) tbl(i) ANTI JOIN (select 43) tbl2(u) on (i=u)) tbl(i) where i=42; +---- +42 + +query I +select * from (select * from (select 43) tbl(i) ANTI JOIN (select 42) tbl2(u) on (i=u)) tbl(i) where i=42; +---- + + +statement ok +create table t2 as select range a, range+8 b from range(11); + +statement ok +create table t3 as select range a, range+8 b from range(11); + +statement ok +create table t4 as select range a, range+8 b from range(11); + +statement ok +create table t5 as select range a, range+8 b from range(11); + +# no semis or antis in this +query II +explain select a from (select * from t2 semi join (select * from t3 where 1 = 0) tt0 on (t2.a = tt0.b)) tmp1 ANTI JOIN (select * from t3 semi join (select * from t4) tt1 on (t3.a = tt1.b)) tmp2 on (tmp1.a=tmp2.a); +---- +logical_opt :.*(SEMI|ANTI).* + + +# with complex join condition, answer is still correct +query II no_sort no_filter +select * from t2 semi join t3 on (t2.a + 70 + t3.b = t2.b**t3.a); +---- +1 9 + +# filter is not pushed down to right side, otherwise answer is incorrect +query II no_sort no_filter +select * from t2 semi join t3 on (t2.a + 70 + t3.b = t2.b**t3.a) where a < 10; +---- +1 9 + +statement ok +create table left_table as (select * from VALUES (1, 9), (1, 10) t(a, b)); + +statement ok +create table right_table as (select * from VALUES (1, 4) t(a, b)); + +query II +select * from left_table anti join right_table on (left_table.b-5 = right_table.b) where b > 5; +---- +1 10 diff --git a/test/optimizer/pushdown_set_op.test b/test/optimizer/pushdown_set_op.test index 0ea6103170e2..27339db1fc92 100644 --- a/test/optimizer/pushdown_set_op.test +++ b/test/optimizer/pushdown_set_op.test @@ -5,6 +5,7 @@ statement ok PRAGMA explain_output = 'OPTIMIZED_ONLY' + query II explain select 42 intersect select 42; ---- diff --git a/test/optimizer/remove_unused_filter_column.test b/test/optimizer/remove_unused_filter_column.test index cf544889c5f1..debc5f082a69 100644 --- a/test/optimizer/remove_unused_filter_column.test +++ b/test/optimizer/remove_unused_filter_column.test @@ -23,4 +23,4 @@ copy test TO '__TEST_DIR__/test.parquet' (FORMAT 'parquet') query II explain select i from '__TEST_DIR__/test.parquet' where j=0 ---- -physical_plan :│ +j +│ \ No newline at end of file +physical_plan :│ +j +│ diff --git a/test/optimizer/statistics/statistics_between.test b/test/optimizer/statistics/statistics_between.test index 8e9915f3b2eb..f3f30e9d3318 100644 --- a/test/optimizer/statistics/statistics_between.test +++ b/test/optimizer/statistics/statistics_between.test @@ -62,12 +62,6 @@ EXPLAIN SELECT * FROM (SELECT * FROM integers LIMIT 10) integers(i) WHERE i BETW ---- logical_opt :.*EMPTY_RESULT.* -# wide between: both are always true, entire filter can be pruned -query II -EXPLAIN SELECT * FROM (SELECT * FROM integers LIMIT 10) integers(i) WHERE i BETWEEN 0 AND 10; ----- -logical_opt :.*FILTER.* - # lower clause is always true: between should be converted into i <= 2 query II EXPLAIN SELECT * FROM (SELECT * FROM integers LIMIT 10) integers(i) WHERE i BETWEEN 0 AND 2; @@ -178,3 +172,14 @@ SELECT * FROM (SELECT * FROM integers LIMIT 10) integers(i) WHERE i BETWEEN 0 AN 1 2 3 + +statement ok +PRAGMA explain_output = PHYSICAL_ONLY; + +# wide between: both are always true, entire filter can be pruned. (happens during physical planning). +# see https://github.com/duckdb/duckdb-fuzzer/issues/1357 +# https://github.com/duckdb/duckdb-fuzzer/issues/1358 +query II +EXPLAIN SELECT * FROM (SELECT * FROM integers LIMIT 10) integers(i) WHERE i BETWEEN 0 AND 10; +---- +physical_plan :.*FILTER* diff --git a/test/optimizer/statistics/statistics_case.test b/test/optimizer/statistics/statistics_case.test index a40ee34b6d4a..c3fe5c59a230 100644 --- a/test/optimizer/statistics/statistics_case.test +++ b/test/optimizer/statistics/statistics_case.test @@ -27,6 +27,7 @@ logical_opt :.*EMPTY_RESULT.* # this gives an overflow on the RHS statement error SELECT 123::TINYINT + (CASE WHEN i=2 THEN (i+1)::TINYINT ELSE (i+2)::TINYINT END) FROM integers; +---- # this does not query I diff --git a/test/optimizer/statistics/statistics_filter.test_slow b/test/optimizer/statistics/statistics_filter.test_slow index 7cf2add6f9d1..15013bb30422 100644 --- a/test/optimizer/statistics/statistics_filter.test_slow +++ b/test/optimizer/statistics/statistics_filter.test_slow @@ -2,7 +2,7 @@ # description: Statistics propagation test with filters # group: [statistics] -foreach type utinyint usmallint uinteger ubigint tinyint smallint integer bigint hugeint float double +foreach type utinyint usmallint uinteger ubigint tinyint smallint integer bigint hugeint uhugeint float double statement ok CREATE TABLE integers AS SELECT i::${type} i FROM (VALUES (1), (2), (3)) tbl(i); diff --git a/test/optimizer/statistics/statistics_null_comparison.test b/test/optimizer/statistics/statistics_null_comparison.test index 01e11d18823b..9dcadde5a56e 100644 --- a/test/optimizer/statistics/statistics_null_comparison.test +++ b/test/optimizer/statistics/statistics_null_comparison.test @@ -69,4 +69,4 @@ query II SELECT * FROM integers WHERE i>j ORDER BY i; ---- 10 1 -20 2 \ No newline at end of file +20 2 diff --git a/test/optimizer/transitive_filters.test b/test/optimizer/transitive_filters.test index 852e357a498e..b53166463345 100644 --- a/test/optimizer/transitive_filters.test +++ b/test/optimizer/transitive_filters.test @@ -138,6 +138,9 @@ EXPLAIN SELECT * FROM (VALUES(5,5)) tbl(col0, col1) WHERE col1 < col0 AND col0<= logical_opt :.*\(col1 < 5\).* +# FIXME - disabled because of bugs in the filter combiner +mode skip + ### Complex transitive filters ################################################# #columns i and j correspond to columns: col0 and col1 in the optimized logical plan #columns k and l correspond to columns: col2 and col3 in the optimized logical plan @@ -145,31 +148,34 @@ logical_opt :.*\(col1 < 5\).* #check for the transivity j < 5001 and k > 4999 query II -EXPLAIN SELECT * FROM (VALUES(5000,5000)) tbl1(i,j), (VALUES(NULL, NULL, 5000, 5000)) tbl2(A, B, k,l) WHERE i>4999 AND j<=l AND k>=i AND l<5001 +EXPLAIN SELECT * FROM (VALUES(5000,5000)) tbl1(i,j), (VALUES(NULL, NULL, 5000, 5000)) tbl2(A, B, k,l) WHERE i>4999 AND j<=l AND k>=i AND l<5001; ---- -logical_opt :(((.*\(col1 < 5001\).*)(.*\(col2 > 4999\).*))|((.*\(col2 > 4999\).*)(.*\(col1\) < 5001.*))) +logical_opt :(((.*\(col3 < 5001\).*)(.*\(col2 > 4999\).*))|((.*\(col2 > 4999\).*)(.*\(col3\) < 5001.*))) + +#logical_opt :(((.*\(col1 < 5001\).*)(.*\(col2 > 4999\).*))|((.*\(col2 > 4999\).*)(.*\(col1\) < 5001.*))) #check for the transivity j > 4999 and k > 4999 +# SHOULD STIL PASS query II -EXPLAIN SELECT * FROM (VALUES(5000,5000)) tbl1(i,j), (VALUES(NULL, NULL, 5000, 5000)) tbl2(A, B, k,l) WHERE i>4999 AND j>=i AND k>=j +EXPLAIN SELECT * FROM (VALUES(5000,5000)) tbl1(i,j), (VALUES(NULL, NULL, 5000, 5000)) tbl2(A, B, k,l) WHERE i>4999 AND j>=i AND k>=j; ---- logical_opt :(((.*\(col1 > 4999\).*)(.*\(col2 > 4999\).*))|((.*\(col2 > 4999\).*)(.*\(col1 > 4999\).*))) #check for the transivity j > 4999 and k > 4999 query II -EXPLAIN SELECT * FROM (VALUES(5000,5000)) tbl1(i,j), (VALUES(NULL, NULL, 5000, 5000)) tbl2(A, B, k,l) WHERE i>4999 AND k>=j AND j>=i +EXPLAIN SELECT * FROM (VALUES(5000,5000)) tbl1(i,j), (VALUES(NULL, NULL, 5000, 5000)) tbl2(A, B, k,l) WHERE i>4999 AND k>=j AND j>=i; ---- logical_opt :(((.*\(col1 > 4999\).*)(.*\(col2 > 4999\).*))|((.*\(col2 > 4999\).*)(.*\(col1 > 4999\).*))) #check for the transivity j > 4999 and k > 4999 and l > 4999 query II -EXPLAIN SELECT * FROM (VALUES(5000,5000)) tbl1(i,j), (VALUES(NULL, NULL, 5000, 5000)) tbl2(A, B, k,l) WHERE i>4999 AND k>=j AND j>=i AND l>=k +EXPLAIN SELECT * FROM (VALUES(5000,5000)) tbl1(i,j), (VALUES(NULL, NULL, 5000, 5000)) tbl2(A, B, k,l) WHERE i>4999 AND k>=j AND j>=i AND l>=k; ---- logical_opt :((.*\(col2 > 4999\).*)(.*\(col3 > 4999\).*)|(.*\(col3 > 4999\).*)(.*\(col2 > 4999\).*)) #check for the transivity j < 4999 and k < 4999 and l < 4999 query II -EXPLAIN SELECT * FROM (VALUES(5000,5000)) tbl1(i,j), (VALUES(NULL, NULL, 5000, 5000)) tbl2(A, B, k,l) WHERE i<4999 AND k<=j AND j<=i AND l<=k +EXPLAIN SELECT * FROM (VALUES(5000,5000)) tbl1(i,j), (VALUES(NULL, NULL, 5000, 5000)) tbl2(A, B, k,l) WHERE i<4999 AND k<=j AND j<=i AND l<=k; ---- logical_opt :((.*\(col2 < 4999\).*)(.*\(col3 < 4999\).*)|(.*\(col3 < 4999\).*)(.*\(col2 < 4999\).*)) diff --git a/test/optimizer/unnest_rewriter.test b/test/optimizer/unnest_rewriter.test index f5821a41cabd..c8cf268cc723 100644 --- a/test/optimizer/unnest_rewriter.test +++ b/test/optimizer/unnest_rewriter.test @@ -35,7 +35,7 @@ SELECT UNNEST(j) FROM (VALUES ([[1, 2, 3]]), ([[4, 5]])) t(i), (SELECT UNNEST(i) query I with stage1 as ( - SELECT r, md5(r) as h, gen_random_uuid() as id + SELECT r, md5(r::varchar) as h, gen_random_uuid() as id FROM (SELECT UNNEST(GENERATE_SERIES(1,10,1)) r )) , stage2 as ( SELECT a.*, list({r:b.r, h:b.h, id: gen_random_uuid()}) as sub @@ -99,7 +99,7 @@ logical_opt :.*DELIM_JOIN.* query II EXPLAIN with stage1 as ( - SELECT r, md5(r) as h, gen_random_uuid() as id + SELECT r, md5(r::VARCHAR) as h, gen_random_uuid() as id FROM (SELECT UNNEST(GENERATE_SERIES(1,10,1)) r )) , stage2 as ( SELECT a.*, list({r:b.r, h:b.h, id: gen_random_uuid()}) as sub @@ -212,4 +212,4 @@ query III WITH tbl AS (SELECT [{'a': 1, 'b': 2}] as c) SELECT a, b, c FROM tbl, (SELECT UNNEST(c, recursive := TRUE)); ---- -1 2 [{'a': 1, 'b': 2}] \ No newline at end of file +1 2 [{'a': 1, 'b': 2}] diff --git a/test/optimizer/using_optimizer.test b/test/optimizer/using_optimizer.test index 0e592c89fdbc..06fbe5c72430 100644 --- a/test/optimizer/using_optimizer.test +++ b/test/optimizer/using_optimizer.test @@ -111,13 +111,13 @@ explain select c.i from a left outer join b on (a.i=b.i) right join c on (a.i=c. # full outer join # need to use a case expression here query I -select i from a full outer join b using (i); +select i from a full outer join b using (i) order by all; ---- 42 43 query I -select coalesce(a.i, b.i) from a full outer join b on (a.i=b.i); +select coalesce(a.i, b.i) from a full outer join b on (a.i=b.i) order by all; ---- 42 43 diff --git a/test/optimizer/zonemaps.test b/test/optimizer/zonemaps.test index 25a308413646..90c38c949f9f 100644 --- a/test/optimizer/zonemaps.test +++ b/test/optimizer/zonemaps.test @@ -9,7 +9,7 @@ statement ok PRAGMA explain_output = PHYSICAL_ONLY; statement ok -create temporary table t as select range a, length(range) b, mod(range,10000) c, 5 d, 10000 e from range(100000); +create temporary table t as select range a, length(range::varchar) b, mod(range,10000) c, 5 d, 10000 e from range(100000); # 1) In-clause based on in-clause range/boundary zonemap check query II @@ -287,4 +287,4 @@ INSERT INTO t0 VALUES (false), (NULL); query T SELECT t0.c0 FROM t0 WHERE t0.c0 IN (false, NULL); ---- -0 \ No newline at end of file +0 diff --git a/test/ossfuzz/test_ossfuzz.cpp b/test/ossfuzz/test_ossfuzz.cpp index 412782dd808f..506bcc7406fa 100644 --- a/test/ossfuzz/test_ossfuzz.cpp +++ b/test/ossfuzz/test_ossfuzz.cpp @@ -29,7 +29,7 @@ static void test_runner() { if (result->HasError()) { if (TestIsInternalError(internal_error_messages, result->GetError())) { result->Print(); - REQUIRE(!result->GetErrorObject()); + REQUIRE(!result->GetErrorObject().HasError()); } } diff --git a/test/parallel_csv/test_parallel_csv.cpp b/test/parallel_csv/test_parallel_csv.cpp index 10c7e216235e..3a681a0ce76c 100644 --- a/test/parallel_csv/test_parallel_csv.cpp +++ b/test/parallel_csv/test_parallel_csv.cpp @@ -2,7 +2,7 @@ #include "duckdb/common/types/date.hpp" #include "duckdb/common/types/time.hpp" #include "duckdb/common/types/timestamp.hpp" -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" #include "duckdb/main/appender.hpp" #include "test_helpers.hpp" #include "duckdb/main/client_data.hpp" @@ -27,47 +27,47 @@ const string csv_extensions[5] = {csv, tsv, csv_gz, csv_zst, tbl_zst}; const char *run = std::getenv("DUCKDB_RUN_PARALLEL_CSV_TESTS"); -bool RunParallel(const string &path, idx_t thread_count, idx_t buffer_size, bool set_temp_dir, - ColumnDataCollection *ground_truth = nullptr, const string &add_parameters = "") { +bool RunVariableBuffer(const string &path, idx_t buffer_size, bool set_temp_dir, + ColumnDataCollection *ground_truth = nullptr, const string &add_parameters = "") { DuckDB db(nullptr); Connection multi_conn(db); - - multi_conn.Query("PRAGMA verify_parallelism"); if (set_temp_dir) { multi_conn.Query("PRAGMA temp_directory='offload.tmp'"); } multi_conn.Query("SET preserve_insertion_order=false;"); - multi_conn.Query("PRAGMA threads=" + to_string(thread_count)); - duckdb::unique_ptr multi_threaded_result = + duckdb::unique_ptr variable_buffer_size_result = multi_conn.Query("SELECT * FROM read_csv_auto('" + path + "'" + add_parameters + ", buffer_size = " + to_string(buffer_size) + ") ORDER BY ALL"); - bool multi_threaded_passed; + bool variable_buffer_size_passed; ColumnDataCollection *result = nullptr; - if (multi_threaded_result->HasError()) { - multi_threaded_passed = false; + if (variable_buffer_size_result->HasError()) { + variable_buffer_size_passed = false; } else { - multi_threaded_passed = true; - result = &multi_threaded_result->Collection(); + variable_buffer_size_passed = true; + result = &variable_buffer_size_result->Collection(); } - if (!ground_truth && !multi_threaded_passed) { + if (!ground_truth && !variable_buffer_size_passed) { // Two wrongs can make a right return true; } if (!ground_truth) { //! oh oh, this should not pass - std::cout << path << " Failed on single threaded but succeeded on parallel reading" << '\n'; + std::cout << path << " Failed on max buffer but succeeded on variable buffer reading" << '\n'; return false; } - if (!multi_threaded_passed) { - std::cout << path << " Multithreaded failed" << '\n'; - std::cout << multi_threaded_result->GetError() << '\n'; + if (!variable_buffer_size_passed) { + std::cout << path << " Variable Buffer failed" << '\n'; + std::cout << path << " Buffer Size: " << to_string(buffer_size) << '\n'; + std::cout << variable_buffer_size_result->GetError() << '\n'; return false; } // Results do not match string error_message; if (!ColumnDataCollection::ResultEquals(*ground_truth, *result, error_message, false)) { - std::cout << path << " Thread count: " << to_string(thread_count) << " Buffer Size: " << to_string(buffer_size) - << '\n'; + std::cout << "truth: " << ground_truth->Count() << std::endl; + std::cout << "resul: " << result->Count() << std::endl; + + std::cout << path << " Buffer Size: " << to_string(buffer_size) << '\n'; std::cout << error_message << '\n'; return false; } @@ -81,8 +81,8 @@ bool RunFull(std::string &path, std::set *skip = nullptr, const str if (!run) { return true; } - // Here we run the csv file first with the single thread reader. - // Then the parallel csv reader with a combination of multiple threads and buffer sizes. + // Here we run the csv file first with the full buffer. + // Then a combination of multiple buffers. if (skip) { if (skip->find(path) != skip->end()) { // Gotta skip this @@ -92,26 +92,26 @@ bool RunFull(std::string &path, std::set *skip = nullptr, const str // Set max line length to 0 when starting a ST CSV Read conn.context->client_data->debug_set_max_line_length = true; conn.context->client_data->debug_max_line_length = 0; - duckdb::unique_ptr single_threaded_res; + duckdb::unique_ptr full_buffer_res; ColumnDataCollection *ground_truth = nullptr; - single_threaded_res = - conn.Query("SELECT * FROM read_csv_auto('" + path + "'" + add_parameters + ", parallel = 0) ORDER BY ALL"); - if (!single_threaded_res->HasError()) { - ground_truth = &single_threaded_res->Collection(); + full_buffer_res = conn.Query("SELECT * FROM read_csv_auto('" + path + "'" + add_parameters + ") ORDER BY ALL"); + if (!full_buffer_res->HasError()) { + ground_truth = &full_buffer_res->Collection(); + } + if (!ground_truth) { + return true; } // For parallel CSV Reading the buffer must be at least the size of the biggest line in the File. - idx_t min_buffer_size = conn.context->client_data->debug_max_line_length + 2; + idx_t min_buffer_size = conn.context->client_data->debug_max_line_length + 3; // So our tests don't take infinite time, we will go till a max buffer size of 5 positions higher than the minimum. idx_t max_buffer_size = min_buffer_size + 5; // Let's go from 1 to 8 threads. bool all_tests_passed = true; - for (auto thread_count = 1; thread_count <= 8; thread_count++) { - for (auto buffer_size = min_buffer_size; buffer_size < max_buffer_size; buffer_size++) { - all_tests_passed = all_tests_passed && - RunParallel(path, thread_count, buffer_size, set_temp_dir, ground_truth, add_parameters); - } - } + for (auto buffer_size = min_buffer_size; buffer_size < max_buffer_size; buffer_size++) { + all_tests_passed = + all_tests_passed && RunVariableBuffer(path, buffer_size, set_temp_dir, ground_truth, add_parameters); + } return all_tests_passed; } @@ -130,6 +130,11 @@ void RunTestOnFolder(const string &path, std::set *skip = nullptr, REQUIRE(all_tests_passed); } +TEST_CASE("Test File Full", "[parallel-csv][.]") { + string path = "test/sql/copy/csv/data/auto/test_single_column_rn.csv"; + RunFull(path); +} + TEST_CASE("Test Parallel CSV All Files - test/sql/copy/csv/data", "[parallel-csv][.]") { std::set skip; // This file requires additional parameters, we test it on the following test. @@ -148,6 +153,8 @@ TEST_CASE("Test Parallel CSV All Files - test/sql/copy/csv/data/auto", "[paralle std::set skip; // This file requires additional parameters, we test it on the following test. skip.insert("test/sql/copy/csv/data/auto/titlebasicsdebug.tsv"); + // This file mixes newline separators + skip.insert("test/sql/copy/csv/data/auto/multi_column_string_mix.csv"); RunTestOnFolder("test/sql/copy/csv/data/auto/", &skip); } @@ -197,6 +204,10 @@ TEST_CASE("Test Parallel CSV All Files - test/sql/copy/csv/data/test", "[paralle std::set skip; // This file requires additional parameters, we test it on the following test. skip.insert("test/sql/copy/csv/data/test/5438.csv"); + // This file requires additional parameters, we test it on the following test. + skip.insert("test/sql/copy/csv/data/test/windows_newline_empty.csv"); + // This file mixes newline separators + skip.insert("test/sql/copy/csv/data/test/mixed_line_endings.csv"); RunTestOnFolder("test/sql/copy/csv/data/test/", &skip); } @@ -207,6 +218,13 @@ TEST_CASE("Test Parallel CSV All Files - test/sql/copy/csv/data/test/5438.csv", REQUIRE(RunFull(file, nullptr, add_parameters)); } +//! Test case with specific parameters that allow us to run the titlebasicsdebug.tsv we were skipping +TEST_CASE("Test Parallel CSV All Files - test/sql/copy/csv/data/test/windows_newline_empty.csv", "[parallel-csv][.]") { + string add_parameters = "HEADER 0"; + string file = "test/sql/copy/csv/data/test/windows_newline_empty.csv"; + REQUIRE(RunFull(file, nullptr, add_parameters)); +} + TEST_CASE("Test Parallel CSV All Files - test/sql/copy/csv/data/zstd", "[parallel-csv][.]") { RunTestOnFolder("test/sql/copy/csv/data/zstd/"); } diff --git a/test/parquet/dbp_small_decimal.test b/test/parquet/dbp_small_decimal.test index 3431958f7313..16491c8e7db4 100644 --- a/test/parquet/dbp_small_decimal.test +++ b/test/parquet/dbp_small_decimal.test @@ -8,4 +8,4 @@ query III select * from 'data/parquet-testing/dbp_small_decimal.parquet' ; ---- 1 10.0 diez -2 20.0 vente \ No newline at end of file +2 20.0 vente diff --git a/test/parquet/encrypted_parquet.test b/test/parquet/encrypted_parquet.test index 81c939902a51..c5f494807963 100644 --- a/test/parquet/encrypted_parquet.test +++ b/test/parquet/encrypted_parquet.test @@ -2,6 +2,10 @@ # description: Test Parquet reader on data/parquet-testing/encryption # group: [parquet] +# TODO: re-enable these tests once we encrypt the full Parquet Encryption spec +# for now, parquet crypto tests are in test/sql/copy/parquet/parquet_encryption.test_slow +mode skip + require parquet statement ok @@ -15,4 +19,4 @@ Invalid Input Error: Encrypted Parquet files are not supported for file 'data/pa statement error SELECT * FROM parquet_scan('data/parquet-testing/encryption/encrypted_column.parquet') limit 50; ---- -Invalid Error: Failed to read Parquet file "data/parquet-testing/encryption/encrypted_column.parquet": Encrypted Parquet files are not supported \ No newline at end of file +Invalid Error: Failed to read Parquet file "data/parquet-testing/encryption/encrypted_column.parquet": Encrypted Parquet files are not supported diff --git a/test/parquet/test_parquet_reader_compression.test b/test/parquet/test_parquet_reader_compression.test index 4ab1e2cdf15b..7592a90e5c75 100644 --- a/test/parquet/test_parquet_reader_compression.test +++ b/test/parquet/test_parquet_reader_compression.test @@ -214,15 +214,19 @@ SELECT * FROM parquet_scan('data/parquet-testing/compression/generated/data_page # Unsupported formats statement error SELECT * FROM parquet_scan('data/parquet-testing/compression/generated/data_page=1_BROTLI.parquet') limit 50 +---- statement error SELECT * FROM parquet_scan('data/parquet-testing/compression/generated/data_page=2_BROTLI.parquet') limit 50 +---- statement error SELECT * FROM parquet_scan('data/parquet-testing/compression/generated/data_page=1_LZ4.parquet') limit 50 +---- statement error SELECT * FROM parquet_scan('data/parquet-testing/compression/generated/data_page=2_LZ4.parquet') limit 50 +---- query IIII SELECT * FROM parquet_scan('data/parquet-testing/compression/generated/data_page=1_ZSTD.parquet', hive_partitioning=0) limit 50 diff --git a/test/parquet/test_parquet_schema.test b/test/parquet/test_parquet_schema.test new file mode 100644 index 000000000000..a7712718a3d7 --- /dev/null +++ b/test/parquet/test_parquet_schema.test @@ -0,0 +1,261 @@ +# name: test/parquet/test_parquet_schema.test +# description: Parquet reader schema parameter tests +# group: [parquet] + +require parquet + +statement ok +PRAGMA enable_verification + +statement ok +COPY (SELECT 42::INTEGER i) TO '__TEST_DIR__/integers.parquet' (FIELD_IDS {i: 0}) + +statement error +SELECT * +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map{}) +---- +Binder Error: Parquet schema cannot be empty + +# can't combine with union_by_name +statement error +SELECT * +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 0: {name: 'renamed_i', type: 'BIGINT', default_value: NULL}, + 1: {name: 'new_column', type: 'UTINYINT', default_value: 43} + }, union_by_name=true) +---- +Binder Error: Parquet schema cannot be combined with union_by_name=true or hive_partitioning=true + +# can't combine with hive_partitioning +statement error +SELECT * +FROM read_parquet('__TEST_DIR__/*.parquet', schema=map { + 0: {name: 'renamed_i', type: 'BIGINT', default_value: NULL}, + 1: {name: 'new_column', type: 'UTINYINT', default_value: 43} + }, hive_partitioning=true) +---- +Binder Error: Parquet schema cannot be combined with union_by_name=true or hive_partitioning=true + +statement ok +COPY ( + SELECT 1 i1, 3 i3, 4 i4, 5 i5 UNION ALL + SELECT 2 i1, 3 i3, 4 i4, 5 i5 +) TO '__TEST_DIR__/partitioned' (FIELD_IDS {i1: 5, i3: 3, i4: 2, i5: 1}, PARTITION_BY i1, FORMAT parquet) + +# auto-detection of hive partitioning is enabled by default, +# but automatically disabled when a schema is supplied, so this should succeed +query IIII +SELECT * +FROM read_parquet('__TEST_DIR__/partitioned/*/*.parquet', schema=map { + 1: {name: 'i1', type: 'BIGINT', default_value: NULL}, + 3: {name: 'i3', type: 'BIGINT', default_value: NULL}, + 4: {name: 'i4', type: 'BIGINT', default_value: 2}, + 5: {name: 'i5', type: 'BIGINT', default_value: NULL} + }) +---- +5 3 2 1 +5 3 2 2 + +# cannot duplicate field_ids +statement error +SELECT * +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 0: {name: 'renamed_i', type: 'BIGINT', default_value: NULL}, + 0: {name: 'new_column', type: 'UTINYINT', default_value: 43} + }) +---- +Invalid Input Error: Map keys have to be unique + +# cannot duplicate column names +statement error +SELECT * +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 0: {name: 'cool_column', type: 'BIGINT', default_value: NULL}, + 1: {name: 'cool_column', type: 'UTINYINT', default_value: 43} + }) pq +---- +Binder Error: table "pq" has duplicate column name "cool_column" + +# the supplied default value must be castable to the given type for that column +statement error +SELECT * +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 0: {name: 'cool_column', type: 'BIGINT', default_value: NULL}, + 1: {name: 'cool_column', type: 'UTINYINT', default_value: 'bla'} + }) pq +---- +Binder Error: Unable to cast Parquet schema default_value "bla" to UTINYINT + +query IIIIII +DESCRIBE SELECT * +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 0: {name: 'renamed_i', type: 'BIGINT', default_value: NULL}, + 1: {name: 'new_column', type: 'UTINYINT', default_value: 43} + }) +---- +renamed_i BIGINT YES NULL NULL NULL +new_column UTINYINT YES NULL NULL NULL + +query IIIIII +DESCRIBE SELECT * +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 0: {name: 'renamed_i', type: 'BIGINT', default_value: NULL}, + 1: {name: 'new_column', type: 'UTINYINT', default_value: 43} + }, filename=true) +---- +renamed_i BIGINT YES NULL NULL NULL +new_column UTINYINT YES NULL NULL NULL +filename VARCHAR YES NULL NULL NULL + +# we'll test if filename works on a persistent file otherwise __TEST_DIR__ will be different every time +query II +SELECT * +FROM read_parquet('data/parquet-testing/enum.parquet', schema=map { + 1: {name: 'cool_column', type: 'VARCHAR', default_value: NULL} + }, filename=true) +LIMIT 1 +---- +1 data/parquet-testing/enum.parquet + +query II +SELECT * +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 0: {name: 'renamed_i', type: 'BIGINT', default_value: NULL}, + 1: {name: 'new_column', type: 'UTINYINT', default_value: 43} + }) +---- +42 43 + +# we just get a cast error when we can't cast to the supplied type +statement error +SELECT * +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 0: {name: 'renamed_i', type: 'DATE', default_value: NULL} + }) +---- +Conversion Error + +# if we don't supply a field id, we can't refer to it using the schema parameter +statement ok +COPY (SELECT 42::INTEGER i) TO '__TEST_DIR__/integers.parquet' + +query II +SELECT * +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 0: {name: 'renamed_i', type: 'BIGINT', default_value: NULL}, + 1: {name: 'new_column', type: 'UTINYINT', default_value: 43} + }) +---- +NULL 43 + +# let's spice it up with more columns +statement ok +COPY ( + SELECT 1 i1, 3 i3, 4 i4, 5 i5 +) TO '__TEST_DIR__/integers.parquet' (FIELD_IDS {i1: 5, i3: 3, i4: 2, i5: 1}) + +# this is purposely a bit confusing but we're: +# 1. deleting field id 2 +# 2. creating field id 4 +# 3. reversing the order of the columns +# 4. renaming them (except i3) +# 5. upcasting them +query IIII +SELECT * +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 1: {name: 'i1', type: 'BIGINT', default_value: NULL}, + 3: {name: 'i3', type: 'BIGINT', default_value: NULL}, + 4: {name: 'i4', type: 'BIGINT', default_value: 2}, + 5: {name: 'i5', type: 'BIGINT', default_value: NULL} + }) +---- +5 3 2 1 + +# projection still ok +query I +SELECT i1 +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 1: {name: 'i1', type: 'BIGINT', default_value: NULL}, + 3: {name: 'i3', type: 'BIGINT', default_value: NULL}, + 4: {name: 'i4', type: 'BIGINT', default_value: 2}, + 5: {name: 'i5', type: 'BIGINT', default_value: NULL} + }) +---- +5 + +# projection still, even with different generated columns +query III +SELECT file_row_number, filename[-16:], i4 +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 1: {name: 'i1', type: 'BIGINT', default_value: NULL}, + 3: {name: 'i3', type: 'BIGINT', default_value: NULL}, + 4: {name: 'i4', type: 'BIGINT', default_value: 2}, + 5: {name: 'i5', type: 'BIGINT', default_value: NULL} + }, file_row_number=1, filename=1) +---- +0 integers.parquet 2 + +# count(*) still ok +query I +SELECT count(*) +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 1: {name: 'i1', type: 'BIGINT', default_value: NULL}, + 3: {name: 'i3', type: 'BIGINT', default_value: NULL}, + 4: {name: 'i4', type: 'BIGINT', default_value: 2}, + 5: {name: 'i5', type: 'BIGINT', default_value: NULL} + }) +---- +1 + +# combine with constant column +query II +SELECT i1, filename[-16:] +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 1: {name: 'i1', type: 'BIGINT', default_value: NULL}, + 3: {name: 'i3', type: 'BIGINT', default_value: NULL}, + 4: {name: 'i4', type: 'BIGINT', default_value: 2}, + 5: {name: 'i5', type: 'BIGINT', default_value: NULL} + }, filename=true) +---- +5 integers.parquet + +statement ok +COPY ( + SELECT range % 4 g, range i FROM range(1000) +) TO '__TEST_DIR__/integers.parquet' (FIELD_IDS {g: 33, i: 42}) + +# let's also do a query with a filter and a downcast +query II +SELECT my_cool_group, sum(my_cool_value) +FROM read_parquet('__TEST_DIR__/integers.parquet', schema=map { + 33: {name: 'my_cool_group', type: 'UINTEGER', default_value: NULL}, + 42: {name: 'my_cool_value', type: 'UINTEGER', default_value: NULL} + }) +WHERE my_cool_group = 2 +GROUP BY my_cool_group +---- +2 125000 + +# also test multi-file reading with different field ids +statement ok +COPY ( + SELECT 1 i1, 3 i3, 4 i4, 5 i5 +) TO '__TEST_DIR__/multifile1.parquet' (FIELD_IDS {i1: 5, i3: 3, i4: 2, i5: 1}) + +statement ok +COPY ( + SELECT 1 j1, 3 j3, 4 j4, 5 j5 +) TO '__TEST_DIR__/multifile2.parquet' (FIELD_IDS {j1: 1, j3: 2, j4: 3, j5: 4}) + +query IIIII +SELECT i1, i3, i4, i5, filename[-18:] +FROM read_parquet('__TEST_DIR__/multifile*.parquet', schema=map { + 1: {name: 'i1', type: 'BIGINT', default_value: NULL}, + 3: {name: 'i3', type: 'BIGINT', default_value: NULL}, + 4: {name: 'i4', type: 'BIGINT', default_value: 2}, + 5: {name: 'i5', type: 'BIGINT', default_value: NULL} + }, filename=true) +ORDER BY filename +---- +5 3 2 1 multifile1.parquet +1 4 5 NULL multifile2.parquet diff --git a/test/parquet/timetz_parquet.test b/test/parquet/timetz_parquet.test index 24d41d72a3b2..586d794cc091 100644 --- a/test/parquet/timetz_parquet.test +++ b/test/parquet/timetz_parquet.test @@ -10,3 +10,8 @@ select * from 'data/parquet-testing/timetz.parquet' ; 14:30:00+00 11:35:00+00 01:59:00+00 + +query I +select COL_TIME from 'data/parquet-testing/date-with-timezone-int64.parquet' ; +---- +12:00:00+00 diff --git a/test/sakila/test_sakila.test_slow b/test/sakila/test_sakila.test_slow index 531b4eba856d..0b1d577ebf89 100644 --- a/test/sakila/test_sakila.test_slow +++ b/test/sakila/test_sakila.test_slow @@ -5,9 +5,6 @@ statement ok PRAGMA enable_verification -statement ok -PRAGMA force_index_join - statement ok CREATE TABLE actor ( actor_id numeric NOT NULL, @@ -216,7 +213,7 @@ SELECT a.phone AS phone, city.city AS city, country.country AS country, - CASE WHEN cu.active = 1 THEN + CASE WHEN cu.active = 'Y' THEN 'active' ELSE '' @@ -395,7 +392,7 @@ Jon Stephens 1411 Lillydale Drive Mike Hillyer 23 Workhaven Lane query TTR -SELECT first_name, last_name, SUM(amount) as total FROM staff INNER JOIN payment ON staff.staff_id = payment.staff_id AND payment_date LIKE '2005-08%' GROUP BY first_name, last_name ORDER BY total +SELECT first_name, last_name, SUM(amount) as total FROM staff INNER JOIN payment ON staff.staff_id = payment.staff_id AND payment_date::VARCHAR LIKE '2005-08%' GROUP BY first_name, last_name ORDER BY total ---- Mike Hillyer 11853.650000 Jon Stephens 12218.480000 diff --git a/test/secrets/CMakeLists.txt b/test/secrets/CMakeLists.txt new file mode 100644 index 000000000000..dc45128cd875 --- /dev/null +++ b/test/secrets/CMakeLists.txt @@ -0,0 +1,5 @@ +add_library_unity(test_secrets OBJECT test_custom_secret_storage.cpp) + +set(ALL_OBJECT_FILES + ${ALL_OBJECT_FILES} $ + PARENT_SCOPE) diff --git a/test/secrets/test_custom_secret_storage.cpp b/test/secrets/test_custom_secret_storage.cpp new file mode 100644 index 000000000000..708cf47c03d2 --- /dev/null +++ b/test/secrets/test_custom_secret_storage.cpp @@ -0,0 +1,346 @@ +#include "catch.hpp" +#include "test_helpers.hpp" +#include "duckdb.hpp" +#include "duckdb/main/database.hpp" +#include "duckdb/main/secret/secret_manager.hpp" +#include "duckdb/main/secret/secret_storage.hpp" +#include "duckdb/main/secret/secret.hpp" +#include "duckdb/main/extension_util.hpp" + +using namespace duckdb; +using namespace std; + +struct TestSecretLog { + duckdb::mutex lock; + duckdb::vector remove_secret_requests; + duckdb::vector write_secret_requests; +}; + +// Demo secret type +struct DemoSecretType { + static duckdb::unique_ptr CreateDemoSecret(ClientContext &context, CreateSecretInput &input) { + auto scope = input.scope; + if (scope.empty()) { + scope = {""}; + } + auto return_value = make_uniq(scope, input.type, input.provider, input.name); + return std::move(return_value); + } + + static void RegisterDemoSecret(DatabaseInstance &instance, const string &type_name) { + SecretType secret_type; + secret_type.name = type_name; + secret_type.deserializer = KeyValueSecret::Deserialize; + secret_type.default_provider = "config"; + ExtensionUtil::RegisterSecretType(instance, secret_type); + + CreateSecretFunction secret_fun = {type_name, "config", CreateDemoSecret}; + ExtensionUtil::RegisterFunction(instance, secret_fun); + } +}; + +// Demo pluggable secret storage +class TestSecretStorage : public CatalogSetSecretStorage { +public: + TestSecretStorage(const string &name_p, DatabaseInstance &db, TestSecretLog &logger_p, int64_t tie_break_offset_p) + : CatalogSetSecretStorage(db, name_p), tie_break_offset(tie_break_offset_p), logger(logger_p) { + secrets = make_uniq(Catalog::GetSystemCatalog(db)); + persistent = true; + include_in_lookups = true; + } + bool IncludeInLookups() override { + return include_in_lookups; + } + + int64_t GetTieBreakOffset() override { + return tie_break_offset; + } + + int64_t tie_break_offset; + bool include_in_lookups; + +protected: + void WriteSecret(const BaseSecret &secret, OnCreateConflict on_conflict) override { + duckdb::lock_guard lock(logger.lock); + logger.write_secret_requests.push_back(secret.GetName()); + }; + virtual void RemoveSecret(const string &secret, OnEntryNotFound on_entry_not_found) override { + duckdb::lock_guard lock(logger.lock); + logger.remove_secret_requests.push_back(secret); + }; + + TestSecretLog &logger; +}; + +TEST_CASE("Test secret lookups by secret type", "[secret][.]") { + DuckDB db(nullptr); + Connection con(db); + + if (!db.ExtensionIsLoaded("httpfs")) { + return; + } + + REQUIRE_NO_FAIL(con.Query("set allow_persistent_secrets=false;")); + + // Register a demo secret type + DemoSecretType::RegisterDemoSecret(*db.instance, "secret_type_1"); + DemoSecretType::RegisterDemoSecret(*db.instance, "secret_type_2"); + + // Create some secrets + REQUIRE_NO_FAIL(con.Query("CREATE SECRET s1 (TYPE secret_type_1, SCOPE '')")); + REQUIRE_NO_FAIL(con.Query("CREATE SECRET s2 (TYPE secret_type_2, SCOPE '')")); + + // Note that the secrets collide completely, except for their types + auto res1 = con.Query("SELECT which_secret('blablabla', 'secret_type_1')"); + auto res2 = con.Query("SELECT which_secret('blablabla', 'secret_type_2')"); + + // Correct secret is selected + REQUIRE(res1->GetValue(0, 0).ToString() == "s1"); + REQUIRE(res2->GetValue(0, 0).ToString() == "s2"); +} + +TEST_CASE("Test adding a custom secret storage", "[secret][.]") { + DuckDB db(nullptr); + Connection con(db); + + if (!db.ExtensionIsLoaded("httpfs")) { + return; + } + + TestSecretLog log; + + // Register custom secret storage + auto &secret_manager = duckdb::SecretManager::Get(*db.instance); + + auto storage_ptr = duckdb::make_uniq("test_storage", *db.instance, log, 30); + auto &storage_ref = *storage_ptr; + secret_manager.LoadSecretStorage(std::move(storage_ptr)); + + REQUIRE_NO_FAIL(con.Query("set allow_persistent_secrets=true;")); + + // Set custom secret path to prevent interference with other tests + auto secret_dir = TestCreatePath("custom_secret_storage_cpp_1"); + REQUIRE_NO_FAIL(con.Query("set secret_directory='" + secret_dir + "'")); + + REQUIRE_NO_FAIL(con.Query("CREATE SECRET s1 IN TEST_STORAGE (TYPE S3, SCOPE 's3://foo')")); + REQUIRE_NO_FAIL(con.Query("CREATE PERSISTENT SECRET s2 IN test_storage (TYPE S3, SCOPE 's3://')")); + REQUIRE_NO_FAIL(con.Query("CREATE TEMPORARY SECRET s2 (TYPE S3, SCOPE 's3://')")); + + // We add this secret of the wrong type, but with better matching scope: these should be ignored on lookup + DemoSecretType::RegisterDemoSecret(*db.instance, "test"); + REQUIRE_NO_FAIL(con.Query("CREATE SECRET s1_test_type IN TEST_STORAGE (TYPE test, SCOPE 's3://foo/bar.csv')")); + + // Inspect current duckdb_secrets output + auto result = con.Query("SELECT name, storage from duckdb_secrets() ORDER BY type, name, storage"); + REQUIRE(result->RowCount() == 4); + REQUIRE(result->GetValue(0, 0).ToString() == "s1"); + REQUIRE(result->GetValue(1, 0).ToString() == "test_storage"); + REQUIRE(result->GetValue(0, 1).ToString() == "s2"); + REQUIRE(result->GetValue(1, 1).ToString() == "memory"); + REQUIRE(result->GetValue(0, 2).ToString() == "s2"); + REQUIRE(result->GetValue(1, 2).ToString() == "test_storage"); + REQUIRE(result->GetValue(0, 3).ToString() == "s1_test_type"); + REQUIRE(result->GetValue(1, 3).ToString() == "test_storage"); + + auto transaction = CatalogTransaction::GetSystemTransaction(*db.instance); + + // Ambiguous call -> throws + REQUIRE_THROWS(secret_manager.GetSecretByName(transaction, "s2")); + + // With specific storage -> works + auto secret_ptr = secret_manager.GetSecretByName(transaction, "s2", "test_storage"); + REQUIRE(secret_ptr); + REQUIRE(secret_ptr->storage_mode == "test_storage"); + REQUIRE(secret_ptr->secret->GetName() == "s2"); + + // Now try resolve secret by path -> this will return s1 because its scope matches best + auto which_secret_result = con.Query("SELECT which_secret('s3://foo/bar.csv', 's3');"); + REQUIRE(which_secret_result->GetValue(0, 0).ToString() == "s1"); + + // Exclude the storage from lookups + storage_ref.include_in_lookups = false; + + // Now the lookup will choose the other storage + which_secret_result = con.Query("SELECT which_secret('s3://foo/bar.csv', 's3');"); + REQUIRE(which_secret_result->GetValue(0, 0).ToString() == "s2"); + + // Lets drop stuff now + REQUIRE_NO_FAIL(con.Query("DROP TEMPORARY SECRET s2")); + REQUIRE_NO_FAIL(con.Query("DROP SECRET s2 FROM test_storage")); + REQUIRE_NO_FAIL(con.Query("DROP SECRET s1")); + + // Inspect the log from our logger + REQUIRE(log.remove_secret_requests.size() == 2); + REQUIRE(log.write_secret_requests.size() == 3); + REQUIRE(log.write_secret_requests[0] == "s1"); + REQUIRE(log.write_secret_requests[1] == "s2"); + REQUIRE(log.write_secret_requests[2] == "s1_test_type"); + REQUIRE(log.remove_secret_requests[0] == "s2"); + REQUIRE(log.remove_secret_requests[1] == "s1"); +} + +TEST_CASE("Test tie-break behaviour for custom secret storage", "[secret][.]") { + DuckDB db(nullptr); + Connection con(db); + + if (!db.ExtensionIsLoaded("httpfs")) { + return; + } + + TestSecretLog log1; + TestSecretLog log2; + + REQUIRE_NO_FAIL(con.Query("set allow_persistent_secrets=true;")); + + // Set custom secret path to prevent interference with other tests + auto secret_dir = TestCreatePath("custom_secret_storage_cpp_2"); + REQUIRE_NO_FAIL(con.Query("set secret_directory='" + secret_dir + "'")); + + // Register custom secret storage + auto &secret_manager = duckdb::SecretManager::Get(*db.instance); + + // Correct tie-break offset: 30 places it after temporary and persistent + auto storage_ptr = duckdb::make_uniq("test_storage_after", *db.instance, log1, 30); + secret_manager.LoadSecretStorage(std::move(storage_ptr)); + + // Correct tie-break offset: 0 places it before temporary and persistent + auto storage_ptr2 = duckdb::make_uniq("test_storage_before", *db.instance, log2, 0); + secret_manager.LoadSecretStorage(std::move(storage_ptr2)); + + // Now create 3 secrets with identical scope: the default s3 scope + REQUIRE_NO_FAIL(con.Query("CREATE TEMPORARY SECRET s1 (TYPE S3)")); + REQUIRE_NO_FAIL(con.Query("CREATE SECRET s2 IN test_storage_after (TYPE S3)")); + REQUIRE_NO_FAIL(con.Query("CREATE SECRET s3 IN test_storage_before (TYPE S3)")); + + // Inspect current duckdb_secrets output + auto result = con.Query("SELECT name, storage from duckdb_secrets() ORDER BY name, storage"); + REQUIRE(result->RowCount() == 3); + REQUIRE(result->GetValue(0, 0).ToString() == "s1"); + REQUIRE(result->GetValue(1, 0).ToString() == "memory"); + REQUIRE(result->GetValue(0, 1).ToString() == "s2"); + REQUIRE(result->GetValue(1, 1).ToString() == "test_storage_after"); + REQUIRE(result->GetValue(0, 2).ToString() == "s3"); + REQUIRE(result->GetValue(1, 2).ToString() == "test_storage_before"); + + result = con.Query("SELECT which_secret('s3://', 's3');"); + REQUIRE(result->GetValue(0, 0).ToString() == "s3"); + + REQUIRE_NO_FAIL(con.Query("DROP SECRET s3")); + + result = con.Query("SELECT which_secret('s3://', 's3');"); + REQUIRE(result->GetValue(0, 0).ToString() == "s1"); + + REQUIRE_NO_FAIL(con.Query("DROP SECRET s1")); + + result = con.Query("SELECT which_secret('s3://', 's3');"); + REQUIRE(result->GetValue(0, 0).ToString() == "s2"); + + REQUIRE_NO_FAIL(con.Query("DROP SECRET s2")); + + // Inspect the log from our logger + REQUIRE(log1.remove_secret_requests.size() == 1); + REQUIRE(log1.write_secret_requests.size() == 1); + REQUIRE(log1.write_secret_requests[0] == "s2"); + REQUIRE(log1.remove_secret_requests[0] == "s2"); + + REQUIRE(log2.remove_secret_requests.size() == 1); + REQUIRE(log2.write_secret_requests.size() == 1); + REQUIRE(log2.write_secret_requests[0] == "s3"); + REQUIRE(log2.remove_secret_requests[0] == "s3"); +} + +TEST_CASE("Secret storage tie-break penalty collision: manager loaded after", "[secret][.]") { + DuckDB db(nullptr); + Connection con(db); + + if (!db.ExtensionIsLoaded("httpfs")) { + return; + } + + REQUIRE_NO_FAIL(con.Query("set allow_persistent_secrets=false;")); + + // Register custom secret storage + auto &secret_manager = duckdb::SecretManager::Get(*db.instance); + + // This collides with the temporary secret storage: it will throw, but only on first use of the secret manager + TestSecretLog log; + auto storage_ptr = duckdb::make_uniq("failing_storage", *db.instance, log, 10); + + // This passes but is actually wrong already + secret_manager.LoadSecretStorage(std::move(storage_ptr)); + + // This will trigger InitializeSecrets and cause tie-break penalty collision + REQUIRE_FAIL(con.Query("FROM duckdb_secrets();")); +} + +TEST_CASE("Secret storage tie-break penalty collision: manager loaded before", "[secret][.]") { + DuckDB db(nullptr); + Connection con(db); + + if (!db.ExtensionIsLoaded("httpfs")) { + return; + } + + REQUIRE_NO_FAIL(con.Query("set allow_persistent_secrets=false;")); + + // Register custom secret storage + auto &secret_manager = duckdb::SecretManager::Get(*db.instance); + + // This collides with the temporary secret storage: it will throw, but only on first use of the secret manager + TestSecretLog log; + auto storage_ptr = duckdb::make_uniq("failing_storage", *db.instance, log, 10); + + // Ensure secret manager is fully initialized + REQUIRE_NO_FAIL(con.Query("FROM duckdb_secrets();")); + + // This fails + REQUIRE_THROWS(secret_manager.LoadSecretStorage(std::move(storage_ptr))); +} + +TEST_CASE("Secret storage name collision: manager loaded before", "[secret][.]") { + DuckDB db(nullptr); + Connection con(db); + + if (!db.ExtensionIsLoaded("httpfs")) { + return; + } + + REQUIRE_NO_FAIL(con.Query("set allow_persistent_secrets=false;")); + + // Register custom secret storage + auto &secret_manager = duckdb::SecretManager::Get(*db.instance); + + // This collides with the memory manager by name + TestSecretLog log; + auto storage_ptr = duckdb::make_uniq("memory", *db.instance, log, 50); + + // Ensure secret manager is fully initialized + REQUIRE_NO_FAIL(con.Query("FROM duckdb_secrets();")); + + // This fails + REQUIRE_THROWS(secret_manager.LoadSecretStorage(std::move(storage_ptr))); +} + +TEST_CASE("Secret storage name collision: manager loaded after", "[secret][.]") { + DuckDB db(nullptr); + Connection con(db); + + if (!db.ExtensionIsLoaded("httpfs")) { + return; + } + + REQUIRE_NO_FAIL(con.Query("set allow_persistent_secrets=false;")); + + // Register custom secret storage + auto &secret_manager = duckdb::SecretManager::Get(*db.instance); + + // This collides with the memory manager by name + TestSecretLog log; + auto storage_ptr = duckdb::make_uniq("memory", *db.instance, log, 50); + + // This passes but is actually wrong alsready + secret_manager.LoadSecretStorage(std::move(storage_ptr)); + + // This now fails with a name collision warning + REQUIRE_FAIL(con.Query("FROM duckdb_secrets();")); +} diff --git a/test/sql/aggregate/aggregates/aggregate_limit.test_slow b/test/sql/aggregate/aggregates/aggregate_limit.test_slow new file mode 100644 index 000000000000..436d9c9d4fad --- /dev/null +++ b/test/sql/aggregate/aggregates/aggregate_limit.test_slow @@ -0,0 +1,16 @@ +# name: test/sql/aggregate/aggregates/aggregate_limit.test_slow +# description: Test running a limit over a big aggregate +# group: [aggregates] + +statement ok +SET threads=8 + +statement ok +CREATE TABLE big_tbl AS SELECT i, concat('thisisalongstring', i) as str FROM range(10000000) t(i); + +loop i 0 10 + +statement ok +SELECT i, str, COUNT(*) FROM big_tbl GROUP BY ALL LIMIT 10 + +endloop diff --git a/test/sql/aggregate/aggregates/test_aggregate_types.test b/test/sql/aggregate/aggregates/test_aggregate_types.test index f2b51d4117f8..70eee7195f86 100644 --- a/test/sql/aggregate/aggregates/test_aggregate_types.test +++ b/test/sql/aggregate/aggregates/test_aggregate_types.test @@ -53,7 +53,7 @@ world r # complex agg with distinct and order by and conversion from int to string query IIITTT -SELECT g, COUNT(*), COUNT(s), MIN(s), MAX(s), STRING_AGG(DISTINCT g ORDER BY g DESC) FROM strings GROUP BY g ORDER BY g; +SELECT g, COUNT(*), COUNT(s), MIN(s), MAX(s), STRING_AGG(DISTINCT g::VARCHAR ORDER BY g DESC) FROM strings GROUP BY g ORDER BY g; ---- 0 2 @@ -105,9 +105,11 @@ world r # unsupported aggregates statement error SELECT SUM(s) FROM strings GROUP BY g ORDER BY g +---- statement error SELECT AVG(s) FROM strings GROUP BY g ORDER BY g +---- # booleans statement ok @@ -162,9 +164,11 @@ NULL statement error SELECT SUM(b) FROM booleans GROUP BY g ORDER BY g +---- statement error SELECT AVG(b) FROM booleans GROUP BY g ORDER BY g +---- statement ok CREATE TABLE integers(i INTEGER, g INTEGER) diff --git a/test/sql/aggregate/aggregates/test_aggregate_types_scalar.test b/test/sql/aggregate/aggregates/test_aggregate_types_scalar.test index d49cc218026c..0a812e448eab 100644 --- a/test/sql/aggregate/aggregates/test_aggregate_types_scalar.test +++ b/test/sql/aggregate/aggregates/test_aggregate_types_scalar.test @@ -14,6 +14,7 @@ SELECT COUNT(), COUNT(1), COUNT(*), COUNT(NULL), COUNT('hello'), COUNT(DATE '199 statement error SELECT COUNT(1, 2) +---- query RRR SELECT SUM(1), SUM(NULL), SUM(33.3) @@ -24,18 +25,23 @@ NULL statement error SELECT SUM(True) +---- statement error SELECT SUM('hello') +---- statement error SELECT SUM(DATE '1992-02-02') +---- statement error SELECT SUM() +---- statement error SELECT SUM(1, 2) +---- query IIRTTTT SELECT MIN(1), MIN(NULL), MIN(33.3), MIN('hello'), MIN(True), MIN(DATE '1992-02-02'), MIN(TIMESTAMP '2008-01-01 00:00:01') @@ -44,9 +50,11 @@ SELECT MIN(1), MIN(NULL), MIN(33.3), MIN('hello'), MIN(True), MIN(DATE '1992-02- statement error SELECT MIN() +---- statement error SELECT MIN(1, 2) +---- query IIRTTTT SELECT MAX(1), MAX(NULL), MAX(33.3), MAX('hello'), MAX(True), MAX(DATE '1992-02-02'), MAX(TIMESTAMP '2008-01-01 00:00:01') @@ -55,9 +63,11 @@ SELECT MAX(1), MAX(NULL), MAX(33.3), MAX('hello'), MAX(True), MAX(DATE '1992-02- statement error SELECT MAX() +---- statement error SELECT MAX(1, 2) +---- query IIRTTTT SELECT FIRST(1), FIRST(NULL), FIRST(33.3), FIRST('hello'), FIRST(True), FIRST(DATE '1992-02-02'), FIRST(TIMESTAMP '2008-01-01 00:00:01') @@ -66,9 +76,11 @@ SELECT FIRST(1), FIRST(NULL), FIRST(33.3), FIRST('hello'), FIRST(True), FIRST(DA statement error SELECT FIRST() +---- statement error SELECT FIRST(1, 2) +---- query IIRTTTT SELECT LAST(1), LAST(NULL), LAST(33.3), LAST('hello'), LAST(True), LAST(DATE '1992-02-02'), LAST(TIMESTAMP '2008-01-01 00:00:01') @@ -77,9 +89,11 @@ SELECT LAST(1), LAST(NULL), LAST(33.3), LAST('hello'), LAST(True), LAST(DATE '19 statement error SELECT LAST() +---- statement error SELECT LAST(1, 2) +---- query RRR SELECT AVG(1), AVG(NULL), AVG(33.3) @@ -88,18 +102,23 @@ SELECT AVG(1), AVG(NULL), AVG(33.3) statement error SELECT AVG(True) +---- statement error SELECT AVG('hello') +---- statement error SELECT AVG(DATE '1992-02-02') +---- statement error SELECT AVG() +---- statement error SELECT AVG(1, 2) +---- query T SELECT STRING_AGG('hello') @@ -113,9 +132,11 @@ hello NULL NULL NULL (empty) statement error SELECT STRING_AGG() +---- statement error SELECT STRING_AGG(1, 2, 3) +---- statement ok CREATE TABLE test_val(val INT) @@ -124,12 +145,12 @@ statement ok INSERT INTO test_val VALUES(1), (2), (3), (3), (2) query T -SELECT STRING_AGG(DISTINCT val ORDER BY val DESC) from test_val; +SELECT STRING_AGG(DISTINCT val::VARCHAR ORDER BY val DESC) from test_val; ---- 3,2,1 query IT -SELECT COUNT(NULL), STRING_AGG(DISTINCT val ORDER BY val ASC) from test_val; +SELECT COUNT(NULL), STRING_AGG(DISTINCT val::VARCHAR ORDER BY val ASC) from test_val; ---- 0 1,2,3 diff --git a/test/sql/aggregate/aggregates/test_approx_quantile.test b/test/sql/aggregate/aggregates/test_approx_quantile.test index cb7907a48e07..daffb0c20f51 100644 --- a/test/sql/aggregate/aggregates/test_approx_quantile.test +++ b/test/sql/aggregate/aggregates/test_approx_quantile.test @@ -144,24 +144,31 @@ FROM ( # Errors statement error SELECT approx_quantile(r, -0.1) FROM quantile +---- statement error SELECT approx_quantile(r, 1.1) FROM quantile +---- statement error SELECT approx_quantile(r, NULL) FROM quantile +---- statement error SELECT approx_quantile(r, r) FROM quantile +---- statement error SELECT approx_quantile(r::string, 0.5) FROM quantile +---- statement error SELECT approx_quantile(r) FROM quantile +---- statement error SELECT approx_quantile(r, 0.1, 0.2) FROM quantile +---- statement ok pragma threads=4 @@ -234,21 +241,28 @@ GROUP BY a statement error SELECT reservoir_quantile(r, r) from quantile +---- statement error SELECT reservoir_quantile(r, NULL) from quantile +---- statement error SELECT reservoir_quantile(r, r, r) from quantile +---- statement error SELECT reservoir_quantile(r, 0.9, NULL) from quantile +---- statement error SELECT reservoir_quantile(r, 0.9, r) from quantile +---- statement error SELECT reservoir_quantile(r, random()::float) from quantile +---- statement error SELECT reservoir_quantile(r, 0.9, random()::float) from quantile +---- diff --git a/test/sql/aggregate/aggregates/test_approximate_distinct_count.test b/test/sql/aggregate/aggregates/test_approximate_distinct_count.test index bddc3c775163..c9cc5fa0f3d4 100644 --- a/test/sql/aggregate/aggregates/test_approximate_distinct_count.test +++ b/test/sql/aggregate/aggregates/test_approximate_distinct_count.test @@ -10,6 +10,7 @@ PRAGMA verify_external statement error select approx_count_distinct(*) +---- query I select approx_count_distinct(1) diff --git a/test/sql/aggregate/aggregates/test_arg_min_max.test b/test/sql/aggregate/aggregates/test_arg_min_max.test index 5e553d2728d2..d232b6335384 100644 --- a/test/sql/aggregate/aggregates/test_arg_min_max.test +++ b/test/sql/aggregate/aggregates/test_arg_min_max.test @@ -11,6 +11,7 @@ PRAGMA verify_external #Corner cases statement error select argmin() +---- query I select argmin(NULL,NULL) @@ -24,6 +25,7 @@ select argmin(1,1) statement error select argmin(*) +---- query I select argmin(i,i) from range (100) tbl(i); @@ -37,6 +39,7 @@ NULL statement error select argmax() +---- query I select argmax(NULL,NULL) @@ -50,6 +53,7 @@ select argmax(1,1) statement error select argmax(*) +---- query I select argmax(i,i) from range (100) tbl(i); @@ -90,7 +94,7 @@ select argmin(b,a), argmax(b,a) from blobs ; \xAA\xFF\xAA \xAA\xFF\xAA\xAA\xFF\xAA query II -select argmin(a,b), argmax(a,b) from blobs ; +select argmin(a,b), argmax(a,b) from blobs; ---- 5 20 diff --git a/test/sql/aggregate/aggregates/test_arg_min_max_null.test b/test/sql/aggregate/aggregates/test_arg_min_max_null.test new file mode 100644 index 000000000000..fa27d9ee8663 --- /dev/null +++ b/test/sql/aggregate/aggregates/test_arg_min_max_null.test @@ -0,0 +1,152 @@ +# name: test/sql/aggregate/aggregates/test_arg_min_max_null.test +# description: Test arg_min_null and arg_max_null operator +# group: [aggregates] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +#Corner cases +statement error +select arg_min_null() +---- + +query I +select arg_min_null(NULL,NULL) +---- +NULL + +query I +select arg_min_null(1,1) +---- +1 + +statement error +select arg_min_null(*) +---- + +query I +select arg_min_null(i,i) from range (100) tbl(i); +---- +0 + +query I +select arg_min_null(i,i) from range (100) tbl(i) where 1 = 0; +---- +NULL + +statement error +select arg_max_null() +---- + +query I +select arg_max_null(NULL,NULL) +---- +NULL + +query I +select arg_max_null(1,1) +---- +1 + +statement error +select arg_max_null(*) +---- + +query I +select arg_max_null(i,i) from range (100) tbl(i); +---- +99 + +query I +select arg_max_null(i,i) from range (100) tbl(i) where 1 = 0; +---- +NULL + +statement ok +create table args (a integer, b integer) + +statement ok +insert into args values (1,1), (2,2), (8,8), (10,10) + +query II +select arg_min_null(a,b), arg_max_null(a,b) from args; +---- +1.000000 10.000000 + +query II +select arg_min_null(a,b), arg_max_null(a,b) from args group by a%2 ORDER BY arg_min_null(a,b); +---- +1 1 +2 10 + +statement ok +insert into args values (NULL, 0), (NULL, 12) + +query II +select arg_min_null(a,b), arg_max_null(a,b) from args; +---- +NULL NULL + +query II +select arg_min_null(a,b), arg_max_null(a,b) from args group by a%2 ORDER BY arg_min_null(a,b); +---- +1 1 +2 10 +NULL NULL + +statement ok +CREATE TABLE blobs (b BYTEA, a BIGINT); + +statement ok +INSERT INTO blobs VALUES('\xaa\xff\xaa',5), ('\xAA\xFF\xAA\xAA\xFF\xAA',30), ('\xAA\xFF\xAA\xAA\xFF\xAA\xAA\xFF\xAA',20) + +query II +select arg_min_null(b,a), arg_max_null(b,a) from blobs ; +---- +\xAA\xFF\xAA \xAA\xFF\xAA\xAA\xFF\xAA + +query II +select arg_min_null(a,b), arg_max_null(a,b) from blobs; +---- +5 20 + +# Window Function +query I rowsort +select arg_min_null(a,b) over ( partition by a%2) from args; +---- +1 +2 +2 +2 +NULL +NULL + +query I rowsort +select arg_max_null(a,b) over ( partition by a%2) from args; +---- +1 +10 +10 +10 +NULL +NULL + +statement ok +create table names (name string, salary integer) + +statement ok +insert into names values ('Pedro',10), ('Hannes',20), ('Mark',15), ('Hubert-Blaine-Wolfeschlegelsteinhausenbergerdorff',30) + +query II +select arg_min_null(name,salary),arg_max_null(name,salary) from names; +---- +Pedro Hubert-Blaine-Wolfeschlegelsteinhausenbergerdorff + +query II +select arg_min_null(salary,name),arg_max_null(salary,name) from names; +---- +20 10 + diff --git a/test/sql/aggregate/aggregates/test_arg_min_max_null_nested.test b/test/sql/aggregate/aggregates/test_arg_min_max_null_nested.test new file mode 100644 index 000000000000..e0aa31cdb8bd --- /dev/null +++ b/test/sql/aggregate/aggregates/test_arg_min_max_null_nested.test @@ -0,0 +1,355 @@ +# name: test/sql/aggregate/aggregates/test_arg_min_max_null_nested.test +# description: Test arg_min_null/arg_max_null with nested types +# group: [aggregates] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +statement ok +SELECT SETSEED(0.8675309); + +statement ok +CREATE TABLE tbl( + "DATE" DATE, + "TIMESTAMP" TIMESTAMP, + "INTEGER" INTEGER, + "BIGINT" BIGINT, + "DOUBLE" DOUBLE, + "VARCHAR" VARCHAR); + +# fill up the table with some random gunk in the middle +statement ok +INSERT INTO tbl + SELECT + DATE '1992-01-02' + INTERVAL ((RANDOM() * 300)::INT) DAYS d, + TIMESTAMP '1992-01-02 23:20:11' + INTERVAL ((RANDOM() * 300)::INT) DAYS + INTERVAL ((RANDOM() * 60 * 60)::INT) SECONDS ts, + 50 + (RANDOM() * 6000)::INT i, + 10 + (RANDOM() * 899999999)::BIGINT bi, + 1 + RANDOM() * 99 dbl, + concat(chr(98 + (RANDOM() * 24)::INT), chr(98 + (RANDOM() * 24)::INT), chr(98 + (RANDOM() * 24)::INT), chr(98 + (RANDOM() * 24)::INT), repeat(chr(98 + (RANDOM() * 24)::INT), 29)) str + FROM + range(10000); + +# insert the min and the max values +statement ok +INSERT INTO tbl VALUES ( + DATE '1992-01-01', + TIMESTAMP '1992-01-01 23:20:11', + 42, + 0, + 0.5, + 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' +) + +statement ok +INSERT INTO tbl VALUES ( + DATE '1993-01-01', + TIMESTAMP '1993-01-01 23:20:11', + 8400, + 999999999, + 100.5, + 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' +) + +# +# STRUCTs +# + +# By VARCHAR +query I +SELECT arg_min_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'d': 1992-01-01, 'ts': 1992-01-01 23:20:11, 'i': 42, 'b': 0, 'f': 0.5} + +query I +SELECT arg_max_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'d': 1993-01-01, 'ts': 1993-01-01 23:20:11, 'i': 8400, 'b': 999999999, 'f': 100.5} + +# By Scalar +query I +SELECT arg_min_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'d': 1992-01-01, 'ts': 1992-01-01 23:20:11, 'i': 42, 'b': 0, 's': aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} + +query I +SELECT arg_max_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'d': 1993-01-01, 'ts': 1993-01-01 23:20:11, 'i': 8400, 'b': 999999999, 's': zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz} + +# +# Lists +# + +# By VARCHAR +query I +SELECT arg_min_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "VARCHAR") +FROM tbl; +---- +[1992-01-01 00:00:00, 1992-01-02 00:00:00, NULL, 1992-01-01 23:20:11] + +query I +SELECT arg_max_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "VARCHAR") +FROM tbl; +---- +[1993-01-01 00:00:00, 1993-01-02 00:00:00, NULL, 1993-01-01 23:20:11] + + +# By Scalar +query I +SELECT arg_min_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "DOUBLE") +FROM tbl; +---- +[1992-01-01 00:00:00, 1992-01-02 00:00:00, NULL, 1992-01-01 23:20:11] + +query I +SELECT arg_max_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "DOUBLE") +FROM tbl; +---- +[1993-01-01 00:00:00, 1993-01-02 00:00:00, NULL, 1993-01-01 23:20:11] + +# +# Nested +# + +# By VARCHAR +query I +SELECT arg_min_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'l': [1992-01-01 00:00:00, 1992-01-02 00:00:00, NULL, 1992-01-01 23:20:11], 'i': 42, 'b': 0, 'f': 0.5} + +query I +SELECT arg_max_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'l': [1993-01-01 00:00:00, 1993-01-02 00:00:00, NULL, 1993-01-01 23:20:11], 'i': 8400, 'b': 999999999, 'f': 100.5} + + +# By Scalar +query I +SELECT arg_min_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'l': [1992-01-01 00:00:00, 1992-01-02 00:00:00, NULL, 1992-01-01 23:20:11], 'i': 42, 'b': 0, 's': aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} + +query I +SELECT arg_max_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'l': [1993-01-01 00:00:00, 1993-01-02 00:00:00, NULL, 1993-01-01 23:20:11], 'i': 8400, 'b': 999999999, 's': zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz} + +# Now insert NULLs for min +statement ok +INSERT INTO tbl VALUES ( + DATE '1991-01-01', + TIMESTAMP '1991-01-01 23:20:11', + 41, + -1, + 0.25, + NULL +) + +# +# STRUCTs +# + +# By VARCHAR +query I +SELECT arg_min_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'d': 1992-01-01, 'ts': 1992-01-01 23:20:11, 'i': 42, 'b': 0, 'f': 0.5} + +query I +SELECT arg_max_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'d': 1993-01-01, 'ts': 1993-01-01 23:20:11, 'i': 8400, 'b': 999999999, 'f': 100.5} + +# By Scalar +query I +SELECT arg_min_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'d': 1991-01-01, 'ts': 1991-01-01 23:20:11, 'i': 41, 'b': -1, 's': NULL} + +query I +SELECT arg_max_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'d': 1993-01-01, 'ts': 1993-01-01 23:20:11, 'i': 8400, 'b': 999999999, 's': zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz} + +# +# Lists +# + +# By VARCHAR +query I +SELECT arg_min_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "VARCHAR") +FROM tbl; +---- +[1992-01-01 00:00:00, 1992-01-02 00:00:00, NULL, 1992-01-01 23:20:11] + +query I +SELECT arg_max_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "VARCHAR") +FROM tbl; +---- +[1993-01-01 00:00:00, 1993-01-02 00:00:00, NULL, 1993-01-01 23:20:11] + + +# By Scalar +query I +SELECT arg_min_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "DOUBLE") +FROM tbl; +---- +[1991-01-01 00:00:00, 1991-01-02 00:00:00, NULL, 1991-01-01 23:20:11] + +query I +SELECT arg_max_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "DOUBLE") +FROM tbl; +---- +[1993-01-01 00:00:00, 1993-01-02 00:00:00, NULL, 1993-01-01 23:20:11] + +# +# Nested +# + +# By VARCHAR +query I +SELECT arg_min_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'l': [1992-01-01 00:00:00, 1992-01-02 00:00:00, NULL, 1992-01-01 23:20:11], 'i': 42, 'b': 0, 'f': 0.5} + +query I +SELECT arg_max_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'l': [1993-01-01 00:00:00, 1993-01-02 00:00:00, NULL, 1993-01-01 23:20:11], 'i': 8400, 'b': 999999999, 'f': 100.5} + + +# By Scalar +query I +SELECT arg_min_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'l': [1991-01-01 00:00:00, 1991-01-02 00:00:00, NULL, 1991-01-01 23:20:11], 'i': 41, 'b': -1, 's': NULL} + +query I +SELECT arg_max_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'l': [1993-01-01 00:00:00, 1993-01-02 00:00:00, NULL, 1993-01-01 23:20:11], 'i': 8400, 'b': 999999999, 's': zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz} + + +# And insert NULLs for max +statement ok +INSERT INTO tbl VALUES ( + DATE '1994-01-01', + TIMESTAMP '1994-01-01 23:20:11', + 9400, + 9999999999, + 101.5, + NULL +) + +# +# STRUCTs +# + +# By VARCHAR +query I +SELECT arg_min_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'d': 1992-01-01, 'ts': 1992-01-01 23:20:11, 'i': 42, 'b': 0, 'f': 0.5} + +query I +SELECT arg_max_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'d': 1993-01-01, 'ts': 1993-01-01 23:20:11, 'i': 8400, 'b': 999999999, 'f': 100.5} + +# By Scalar +query I +SELECT arg_min_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'d': 1991-01-01, 'ts': 1991-01-01 23:20:11, 'i': 41, 'b': -1, 's': NULL} + +query I +SELECT arg_max_null({d: "DATE", ts: "TIMESTAMP", i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'d': 1994-01-01, 'ts': 1994-01-01 23:20:11, 'i': 9400, 'b': 9999999999, 's': NULL} + +# +# Lists +# + +# By VARCHAR +query I +SELECT arg_min_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "VARCHAR") +FROM tbl; +---- +[1992-01-01 00:00:00, 1992-01-02 00:00:00, NULL, 1992-01-01 23:20:11] + +query I +SELECT arg_max_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "VARCHAR") +FROM tbl; +---- +[1993-01-01 00:00:00, 1993-01-02 00:00:00, NULL, 1993-01-01 23:20:11] + + +# By Scalar +query I +SELECT arg_min_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "DOUBLE") +FROM tbl; +---- +[1991-01-01 00:00:00, 1991-01-02 00:00:00, NULL, 1991-01-01 23:20:11] + +query I +SELECT arg_max_null(["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], "DOUBLE") +FROM tbl; +---- +[1994-01-01 00:00:00, 1994-01-02 00:00:00, NULL, 1994-01-01 23:20:11] + +# +# Nested +# + +# By VARCHAR +query I +SELECT arg_min_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'l': [1992-01-01 00:00:00, 1992-01-02 00:00:00, NULL, 1992-01-01 23:20:11], 'i': 42, 'b': 0, 'f': 0.5} + +query I +SELECT arg_max_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", f: "DOUBLE"}, "VARCHAR") +FROM tbl; +---- +{'l': [1993-01-01 00:00:00, 1993-01-02 00:00:00, NULL, 1993-01-01 23:20:11], 'i': 8400, 'b': 999999999, 'f': 100.5} + + +# By Scalar +query I +SELECT arg_min_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'l': [1991-01-01 00:00:00, 1991-01-02 00:00:00, NULL, 1991-01-01 23:20:11], 'i': 41, 'b': -1, 's': NULL} + +query I +SELECT arg_max_null({l: ["DATE", "DATE" + INTERVAL 1 DAY, NULL, "TIMESTAMP"], i: "INTEGER", b: "BIGINT", s: "VARCHAR"}, "DOUBLE") +FROM tbl; +---- +{'l': [1994-01-01 00:00:00, 1994-01-02 00:00:00, NULL, 1994-01-01 23:20:11], 'i': 9400, 'b': 9999999999, 's': NULL} + diff --git a/test/sql/aggregate/aggregates/test_arg_min_max_null_strings.test b/test/sql/aggregate/aggregates/test_arg_min_max_null_strings.test new file mode 100644 index 000000000000..345844bb30a7 --- /dev/null +++ b/test/sql/aggregate/aggregates/test_arg_min_max_null_strings.test @@ -0,0 +1,126 @@ +# name: test/sql/aggregate/aggregates/test_arg_min_max_null_strings.test +# description: Test arg_min_null/arg_max_null with strings +# group: [aggregates] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +statement ok +CREATE TABLE tbl( + "DATE" DATE, + "TIMESTAMP" TIMESTAMP, + "INTEGER" INTEGER, + "BIGINT" BIGINT, + "DOUBLE" DOUBLE, + "VARCHAR" VARCHAR + ); + +# fill up the table with some random gunk in the middle +statement ok +INSERT INTO tbl + SELECT + DATE '1992-01-02' + INTERVAL ((RANDOM() * 300)::INT) DAYS d, + TIMESTAMP '1992-01-02 23:20:11' + INTERVAL ((RANDOM() * 300)::INT) DAYS + INTERVAL ((RANDOM() * 60 * 60)::INT) SECONDS ts, + 50 + (RANDOM() * 6000)::INT i, + 10 + (RANDOM() * 899999999)::BIGINT bi, + 1 + RANDOM() * 99 dbl, + concat(chr(98 + (RANDOM() * 24)::INT), chr(98 + (RANDOM() * 24)::INT), chr(98 + (RANDOM() * 24)::INT), chr(98 + (RANDOM() * 24)::INT), repeat(chr(98 + (RANDOM() * 24)::INT), 29)) str + FROM + range(10000); + +# insert non-NULL min and max values +statement ok +INSERT INTO tbl VALUES ( + DATE '1992-01-01', + TIMESTAMP '1992-01-01 23:20:11', + 42, + 0, + 0.5, + 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' +) + +statement ok +INSERT INTO tbl VALUES ( + DATE '1993-01-01', + TIMESTAMP '1993-01-01 23:20:11', + 8400, + 999999999, + 100.5, + 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' +) + +foreach type DATE TIMESTAMP INTEGER BIGINT VARCHAR + +query I +SELECT arg_min_null("VARCHAR", "${type}") FROM tbl +---- +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + +query I +SELECT arg_min_null("${type}", "VARCHAR") FROM tbl EXCEPT SELECT MIN("${type}") FROM tbl +---- + +query I +SELECT arg_max_null("VARCHAR", "${type}") FROM tbl +---- +zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz + +query I +SELECT arg_max_null("${type}", "VARCHAR") FROM tbl EXCEPT SELECT MAX("${type}") FROM tbl +---- + +endloop + +# Now insert NULLs for min +statement ok +INSERT INTO tbl VALUES ( + DATE '1991-01-01', + TIMESTAMP '1991-01-01 23:20:11', + 41, + -1, + 0.25, + NULL +) + +foreach type DATE TIMESTAMP INTEGER BIGINT + +query I +SELECT arg_min_null("VARCHAR", "${type}") FROM tbl +---- +NULL + +query I +SELECT arg_max_null("VARCHAR", "${type}") FROM tbl +---- +zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz + +endloop + +# And insert NULLs for max +statement ok +INSERT INTO tbl VALUES ( + DATE '1994-01-01', + TIMESTAMP '1994-01-01 23:20:11', + 9400, + 9999999999, + 101.5, + NULL +) + +foreach type DATE TIMESTAMP INTEGER BIGINT + +query I +SELECT arg_min_null("VARCHAR", "${type}") FROM tbl +---- +NULL + +query I +SELECT arg_max_null("VARCHAR", "${type}") FROM tbl +---- +NULL + +endloop + diff --git a/test/sql/aggregate/aggregates/test_avg.test b/test/sql/aggregate/aggregates/test_avg.test index 22f3421124b8..0b886c92fe50 100644 --- a/test/sql/aggregate/aggregates/test_avg.test +++ b/test/sql/aggregate/aggregates/test_avg.test @@ -59,12 +59,15 @@ NULL # invalid use of average statement error SELECT AVG() +---- statement error SELECT AVG(1, 2, 3) +---- statement error SELECT AVG(AVG(1)) +---- # empty average statement ok diff --git a/test/sql/aggregate/aggregates/test_bit_and.test b/test/sql/aggregate/aggregates/test_bit_and.test index 490a9067dbf9..cdc651f2b4ff 100644 --- a/test/sql/aggregate/aggregates/test_bit_and.test +++ b/test/sql/aggregate/aggregates/test_bit_and.test @@ -49,12 +49,15 @@ NULL # test incorrect usage statement error SELECT BIT_AND() +---- statement error SELECT BIT_AND(1, 2, 3) +---- statement error SELECT BIT_AND(BIT_AND(1)) +---- #test on bit types statement ok @@ -76,4 +79,4 @@ SELECT BIT_AND(b) FROM bits WHERE get_bit(b, 2) = 1; query I SELECT BIT_AND('010110'::BIT) ---- -010110 \ No newline at end of file +010110 diff --git a/test/sql/aggregate/aggregates/test_bit_or.test b/test/sql/aggregate/aggregates/test_bit_or.test index edbaf4c7ddd5..698d7871c61d 100644 --- a/test/sql/aggregate/aggregates/test_bit_or.test +++ b/test/sql/aggregate/aggregates/test_bit_or.test @@ -49,12 +49,15 @@ NULL # test incorrect usage statement error SELECT BIT_OR() +---- statement error SELECT BIT_OR(1, 2, 3) +---- statement error SELECT BIT_OR(BIT_AND(1)) +---- #test on bit types statement ok @@ -76,4 +79,4 @@ SELECT BIT_OR(b) FROM bits WHERE get_bit(b, 3) = 0; query I SELECT BIT_OR('111010'::BIT) ---- -111010 \ No newline at end of file +111010 diff --git a/test/sql/aggregate/aggregates/test_bit_xor.test b/test/sql/aggregate/aggregates/test_bit_xor.test index 8c52c8c50f2e..a3ca8058b202 100644 --- a/test/sql/aggregate/aggregates/test_bit_xor.test +++ b/test/sql/aggregate/aggregates/test_bit_xor.test @@ -49,12 +49,15 @@ NULL # test incorrect usage statement error SELECT BIT_XOR() +---- statement error SELECT BIT_XOR(1, 2, 3) +---- statement error SELECT BIT_XOR(BIT_XOR(1)) +---- #test on bit types statement ok diff --git a/test/sql/aggregate/aggregates/test_bitstring_agg.test b/test/sql/aggregate/aggregates/test_bitstring_agg.test index 01181b164219..7e9333e91d68 100644 --- a/test/sql/aggregate/aggregates/test_bitstring_agg.test +++ b/test/sql/aggregate/aggregates/test_bitstring_agg.test @@ -87,6 +87,18 @@ SELECT bit_length(BITSTRING_AGG(i)) FROM hugeints ---- 56068 +# test uhugeints +statement ok +CREATE TABLE uhugeints(i UHUGEINT); + +statement ok +INSERT INTO uhugeints VALUES(12243372036854775807), (12243372036854778191), (12243372036854730332), (12243372036854773737), (12243372036854737711), (12243372036854722124), (12243372036854778191) + +query I +SELECT bit_length(BITSTRING_AGG(i)) FROM uhugeints +---- +56068 + # bit_count of BITSTRING_AGG should give same results as DISTINCT COUNT query I nosort distinct_small @@ -201,9 +213,11 @@ SELECT BITSTRING_AGG(column0, -10, 40) FROM '__TEST_DIR__/bitstring_agg.csv'; # test incorrect usage statement error SELECT BITSTRING_AGG() +---- statement error SELECT BITSTRING_AGG(1, 3, 4, 8, 0) +---- # group by statement ok @@ -232,4 +246,4 @@ Binder Error: Could not retrieve required statistics. Alternatively, try by prov query I SELECT BITSTRING_AGG(i, -5, 32) FROM ints ---- -10000000001000011001101000001000100100 \ No newline at end of file +10000000001000011001101000001000100100 diff --git a/test/sql/aggregate/aggregates/test_bool.test b/test/sql/aggregate/aggregates/test_bool.test index 6d1bd615d72f..dd7cd5751b15 100644 --- a/test/sql/aggregate/aggregates/test_bool.test +++ b/test/sql/aggregate/aggregates/test_bool.test @@ -8,9 +8,11 @@ SET default_null_order='nulls_first'; # Corner Cases statement error select bool_or(0) +---- statement error select bool_and(0) +---- query I select bool_or(NULL) @@ -24,15 +26,19 @@ NULL statement error select bool_or() +---- statement error select bool_and() +---- statement error select bool_or(*) +---- statement error select bool_and(*) +---- query I SELECT bool_or(True) FROM range(100); diff --git a/test/sql/aggregate/aggregates/test_corr.test b/test/sql/aggregate/aggregates/test_corr.test index 08324def1865..8b391312e384 100644 --- a/test/sql/aggregate/aggregates/test_corr.test +++ b/test/sql/aggregate/aggregates/test_corr.test @@ -8,6 +8,7 @@ PRAGMA enable_verification #Corner cases statement error select corr() +---- query I select corr(NULL,NULL) @@ -21,6 +22,7 @@ NULL statement error select corr(*) +---- statement ok create table aggr(k int, v decimal(10,2), v2 decimal(10, 2)); @@ -52,6 +54,8 @@ NULL statement error SELECT corr(a,b) FROM (values (1e301, 0), (-1e301, 0)) tbl(a,b); +---- statement error SELECT corr(b,a) FROM (values (1e301, 0), (-1e301, 0)) tbl(a,b); +---- diff --git a/test/sql/aggregate/aggregates/test_count.test b/test/sql/aggregate/aggregates/test_count.test index 1804253bc258..d114ac155353 100644 --- a/test/sql/aggregate/aggregates/test_count.test +++ b/test/sql/aggregate/aggregates/test_count.test @@ -47,3 +47,4 @@ SELECT COUNT(1 ORDER BY 1) # cannot do DISTINCT * statement error SELECT COUNT(DISTINCT *) FROM integers +---- diff --git a/test/sql/aggregate/aggregates/test_covar.test b/test/sql/aggregate/aggregates/test_covar.test index f20100f10f64..535a37873179 100644 --- a/test/sql/aggregate/aggregates/test_covar.test +++ b/test/sql/aggregate/aggregates/test_covar.test @@ -5,22 +5,28 @@ # test incorrect usage of COVAR_POP function statement error SELECT COVAR_POP() +---- statement error SELECT COVAR_POP(1, 2, 3) +---- statement error SELECT COVAR_POP(COVAR_POP(1)) +---- # test incorrect usage of COVAR_SAMP function statement error SELECT COVAR_SAMP() +---- statement error SELECT COVAR_SAMP(1, 2, 3) +---- statement error SELECT COVAR_SAMP(COVAR_SAMP(1)) +---- # test population covariance on scalar values query RRRR diff --git a/test/sql/aggregate/aggregates/test_entropy.test b/test/sql/aggregate/aggregates/test_entropy.test index 490916fd1a9f..dad1384ac34b 100644 --- a/test/sql/aggregate/aggregates/test_entropy.test +++ b/test/sql/aggregate/aggregates/test_entropy.test @@ -11,6 +11,7 @@ PRAGMA verify_external #Corner cases statement error select entropy() +---- query I select entropy(NULL) @@ -24,6 +25,7 @@ select entropy(1) statement error select entropy(*) +---- statement ok create table aggr(k int); diff --git a/test/sql/aggregate/aggregates/test_histogram.test b/test/sql/aggregate/aggregates/test_histogram.test index 24a51ccb2f51..75af60b5645c 100644 --- a/test/sql/aggregate/aggregates/test_histogram.test +++ b/test/sql/aggregate/aggregates/test_histogram.test @@ -124,9 +124,11 @@ select g,histogram(g) over (partition by g%2) #Corner cases statement error select histogram() +---- statement error select histogram(*) +---- # enums statement ok diff --git a/test/sql/aggregate/aggregates/test_histogram_3529.test b/test/sql/aggregate/aggregates/test_histogram_3529.test index 25aa0f82bd16..c925d70c4c43 100644 --- a/test/sql/aggregate/aggregates/test_histogram_3529.test +++ b/test/sql/aggregate/aggregates/test_histogram_3529.test @@ -26,4 +26,4 @@ SELECT c0, histogram(c1) FROM tmp GROUP BY c0 ORDER BY ALL ---- 0 {0=2, 1=2} 1 {0=1, 1=2} -2 {0=2, 1=1} \ No newline at end of file +2 {0=2, 1=1} diff --git a/test/sql/aggregate/aggregates/test_incorrect_aggregate.test b/test/sql/aggregate/aggregates/test_incorrect_aggregate.test index 026da2cc7a8d..c20b97c61fd6 100644 --- a/test/sql/aggregate/aggregates/test_incorrect_aggregate.test +++ b/test/sql/aggregate/aggregates/test_incorrect_aggregate.test @@ -4,52 +4,69 @@ statement error SELECT COUNT(1, 2, 3) +---- statement error SELECT COUNT(COUNT(1)) +---- statement error SELECT STDDEV_SAMP() +---- statement error SELECT STDDEV_SAMP(1, 2, 3) +---- statement error SELECT STDDEV_SAMP(STDDEV_SAMP(1)) +---- statement error SELECT SUM() +---- statement error SELECT SUM(1, 2, 3) +---- statement error SELECT SUM(SUM(1)) +---- statement error SELECT FIRST() +---- statement error SELECT FIRST(1, 2, 3) +---- statement error SELECT FIRST(FIRST(1)) +---- statement error SELECT MAX() +---- statement error SELECT MAX(1, 2, 3) +---- statement error SELECT MAX(MAX(1)) +---- statement error SELECT MIN() +---- statement error SELECT MIN(1, 2, 3) +---- statement error SELECT MIN(MIN(1)) +---- diff --git a/test/sql/aggregate/aggregates/test_kurtosis.test b/test/sql/aggregate/aggregates/test_kurtosis.test index 3a88a49ebf60..0873db38e71c 100644 --- a/test/sql/aggregate/aggregates/test_kurtosis.test +++ b/test/sql/aggregate/aggregates/test_kurtosis.test @@ -8,6 +8,7 @@ PRAGMA enable_verification #Corner cases statement error select kurtosis() +---- query I select kurtosis(NULL) @@ -21,6 +22,7 @@ NULL statement error select kurtosis(*) +---- query I select kurtosis(i) from (values (0), (0), (0), (0), (0), (0)) tbl(i) @@ -30,6 +32,7 @@ NULL # out of range statement error select kurtosis(i) from (values (2e304), (2e305), (2e306), (2e307)) tbl(i) +---- # Constant Value (This should be an error) query I @@ -65,6 +68,16 @@ select kurtosis(k), kurtosis(v), kurtosis(v2) from aggr; ---- 11.000000 -1.961428 -1.445120 +query III +select kurtosis_pop(k), kurtosis_pop(v), kurtosis_pop(v2) from aggr; +---- +6.100000 -1.676857 -1.358688 + +query I +with onetwo as (select range::float as v from range(1,3)) select kurtosis_pop(v) from onetwo; +---- +-2.0 + query I select kurtosis(v2) from aggr group by v ORDER BY ALL; ---- diff --git a/test/sql/aggregate/aggregates/test_list_aggregate_function.test_slow b/test/sql/aggregate/aggregates/test_list_aggregate_function.test_slow index 431197540a4f..d888759b41a1 100644 --- a/test/sql/aggregate/aggregates/test_list_aggregate_function.test_slow +++ b/test/sql/aggregate/aggregates/test_list_aggregate_function.test_slow @@ -165,7 +165,7 @@ SELECT tconst, list(principals) as principals FROM parquet_scan('data/parquet-te # test all data types -foreach type bool tinyint smallint int bigint hugeint utinyint usmallint uint ubigint date time timestamp timestamp_s timestamp_ms timestamp_ns time_tz timestamp_tz float double dec_4_1 dec_9_4 dec_18_6 dec38_10 uuid interval varchar blob small_enum medium_enum large_enum int_array double_array date_array timestamp_array timestamptz_array varchar_array nested_int_array struct struct_of_arrays array_of_structs map +foreach type bool tinyint smallint int bigint hugeint uhugeint utinyint usmallint uint ubigint date time timestamp timestamp_s timestamp_ms timestamp_ns time_tz timestamp_tz float double dec_4_1 dec_9_4 dec_18_6 dec38_10 uuid interval varchar blob small_enum medium_enum large_enum int_array double_array date_array timestamp_array timestamptz_array varchar_array nested_int_array struct struct_of_arrays array_of_structs map statement ok CREATE TABLE t1 AS SELECT ${type} AS c1 FROM test_all_types(); diff --git a/test/sql/aggregate/aggregates/test_mad.test b/test/sql/aggregate/aggregates/test_mad.test index e6fbd89f2ab9..c16ae2381d87 100644 --- a/test/sql/aggregate/aggregates/test_mad.test +++ b/test/sql/aggregate/aggregates/test_mad.test @@ -56,7 +56,7 @@ create table numerics as union all values (NULL, 0.1), (NULL, 0.5), (NULL, 0.9) order by 2; -foreach type smallint integer bigint hugeint float double decimal(8,1) decimal(12,1) decimal(18,1) decimal(24,1) +foreach type smallint integer bigint hugeint uhugeint float double decimal(8,1) decimal(12,1) decimal(18,1) decimal(24,1) query I SELECT mad(r::${type}) FROM numerics diff --git a/test/sql/aggregate/aggregates/test_mode.test b/test/sql/aggregate/aggregates/test_mode.test index 18123c6d8119..1cf71f725d51 100644 --- a/test/sql/aggregate/aggregates/test_mode.test +++ b/test/sql/aggregate/aggregates/test_mode.test @@ -14,6 +14,7 @@ PRAGMA verify_external #Corner cases statement error select mode() +---- query I select mode(NULL) @@ -27,6 +28,7 @@ select mode(1) statement error select mode(*) +---- statement ok create table aggr(k int, v decimal(10,2)); diff --git a/test/sql/aggregate/aggregates/test_ordered_aggregates.test b/test/sql/aggregate/aggregates/test_ordered_aggregates.test index be854b7080fe..f7174365e61b 100644 --- a/test/sql/aggregate/aggregates/test_ordered_aggregates.test +++ b/test/sql/aggregate/aggregates/test_ordered_aggregates.test @@ -113,57 +113,71 @@ statement error SELECT "dest", mode() WITHIN GROUP (ORDER BY "arr_delay", "arr_time") AS "median_delay" FROM "flights" GROUP BY "dest" +---- # Unknown ordered aggregate "duck". statement error SELECT "dest", duck(0.5) WITHIN GROUP (ORDER BY "arr_delay") AS "duck_delay" FROM "flights" GROUP BY "dest" +---- # Wrong number of arguments for PERCENTILE_DISC statement error select percentile_disc() within group(order by i) from generate_series(0,100) tbl(i); +---- statement error select percentile_disc(0.25, 0.5) within group(order by i) from generate_series(0,100) tbl(i); +---- # Wrong number of arguments for PERCENTILE_CONT statement error select percentile_cont() within group(order by i) from generate_series(0,100) tbl(i); +---- statement error select percentile_cont(0.25, 0.5) within group(order by i) from generate_series(0,100) tbl(i); +---- # NaN is not allowed statement error SELECT percentile_disc(CAST('NaN' AS REAL)) WITHIN GROUP (ORDER BY 1); +---- # Empty list is also not allowed statement error SELECT percentile_disc([]) WITHIN GROUP (ORDER BY LAST); +---- # Wrong number of arguments for MODE statement error select mode(0.25) within group(order by i) from generate_series(0,100) tbl(i); +---- # No function matches the given name and argument types 'quantile_disc(BIGINT, VARCHAR)' statement error select percentile_disc('duck') within group(order by i) from generate_series(0,100) tbl(i); +---- # No function matches the given name and argument types 'quantile_cont(BIGINT, VARCHAR)' statement error select percentile_cont('duck') within group(order by i) from generate_series(0,100) tbl(i); +---- # aggregate function calls cannot be nested statement error SELECT percentile_disc(sum(1)) WITHIN GROUP (ORDER BY 1 DESC); +---- # NULL fractions with DESC should not be inverted statement error SELECT percentile_disc(strftime(DATE '1-11-25',NULL)) WITHIN GROUP (ORDER BY 1 DESC); +---- statement error SELECT percentile_cont(CASE 1 WHEN 2 THEN 3 END) WITHIN GROUP (ORDER BY 1 DESC); +---- # Negative fractions are not allowed @@ -172,9 +186,11 @@ foreach sense ASC DESC statement error SELECT percentile_disc(-.5) WITHIN GROUP (order by col ${sense}) FROM VALUES (11000), (3100), (2900), (2800), (2600), (2500) AS tab(col); +---- statement error SELECT percentile_disc([-.25, .5, .75]) WITHIN GROUP (order by col ${sense}) FROM VALUES (11000), (3100), (2900), (2800), (2600), (2500) AS tab(col); +---- endloop diff --git a/test/sql/aggregate/aggregates/test_perfect_ht.test b/test/sql/aggregate/aggregates/test_perfect_ht.test index df5b648e9562..14078d954c23 100644 --- a/test/sql/aggregate/aggregates/test_perfect_ht.test +++ b/test/sql/aggregate/aggregates/test_perfect_ht.test @@ -35,7 +35,7 @@ NULL 1 1 1 # use aggregates with destructors query III -SELECT year, LIST(val), STRING_AGG(val, ',') FROM timeseries GROUP BY year ORDER BY year; +SELECT year, LIST(val), STRING_AGG(val::VARCHAR, ',') FROM timeseries GROUP BY year ORDER BY year; ---- NULL [1] 1 1996 [10, 20, NULL] 10,20 diff --git a/test/sql/aggregate/aggregates/test_product.test b/test/sql/aggregate/aggregates/test_product.test index 55326e808567..a2104cae8e26 100644 --- a/test/sql/aggregate/aggregates/test_product.test +++ b/test/sql/aggregate/aggregates/test_product.test @@ -5,6 +5,7 @@ #Corner cases statement error select product() +---- query I select product(NULL) @@ -18,6 +19,7 @@ select product(1) statement error select product(*) +---- statement ok CREATE TABLE integers(i INTEGER); diff --git a/test/sql/aggregate/aggregates/test_quantile_cont.test b/test/sql/aggregate/aggregates/test_quantile_cont.test index 4995eca25788..c7f3b0137cf0 100644 --- a/test/sql/aggregate/aggregates/test_quantile_cont.test +++ b/test/sql/aggregate/aggregates/test_quantile_cont.test @@ -17,6 +17,7 @@ create table quantile as select range r, random() from range(0,1000000,100) unio statement error SELECT quantile_cont(r, NULL) FROM quantile +---- query R SELECT quantile_cont(r, 0.5) FROM quantile @@ -110,6 +111,7 @@ SELECT quantile_cont('00:00:00'::TIME + interval (r/100) second, 0.5) FROM quant statement error SELECT quantile_cont(interval (r/100) second, 0.5) FROM quantile +---- # WITH TIME ZONE query I @@ -137,24 +139,31 @@ NULL statement error SELECT quantile_cont(r, -1.1) FROM quantile +---- statement error SELECT quantile_cont(r, 1.1) FROM quantile +---- statement error SELECT quantile_cont(r, "string") FROM quantile +---- statement error SELECT quantile_cont(r, NULL) FROM quantile +---- statement error SELECT quantile_cont(r::string, 0.5) FROM quantile +---- statement error SELECT quantile_cont(r) FROM quantile +---- statement error SELECT quantile_cont(r, 0.1, 50) FROM quantile +---- statement ok @@ -301,3 +310,4 @@ SELECT quantile_cont(t, 0.5) FROM bigints; statement error SELECT quantile_cont(r, random()) FROM quantile +---- diff --git a/test/sql/aggregate/aggregates/test_quantile_cont_list.test b/test/sql/aggregate/aggregates/test_quantile_cont_list.test index 65d4087fb78d..380a7cc544b3 100644 --- a/test/sql/aggregate/aggregates/test_quantile_cont_list.test +++ b/test/sql/aggregate/aggregates/test_quantile_cont_list.test @@ -40,6 +40,7 @@ FROM quantiles statement error SELECT quantile_cont(interval (r/100) second, [0.25, 0.5, 0.75]) FROM quantiles +---- # single GROUP query R @@ -140,18 +141,24 @@ SELECT quantile_cont(r, []) FROM quantiles statement error SELECT quantile_cont(r, [-0.25, 0.5, 0.75]) FROM quantiles +---- statement error SELECT quantile_cont(r, (0.25, 0.5, 1.1)) FROM quantiles +---- statement error SELECT quantile_cont(r, [0.25, 0.5, NULL]) FROM quantiles +---- statement error SELECT quantile_cont(r, ["0.25", "0.5", "0.75"]) FROM quantiles +---- statement error SELECT quantile_cont(r::string, [0.25, 0.5, 0.75]) FROM quantiles +---- statement error SELECT quantile_cont(r, [0.25, 0.5, 0.75], 50) FROM quantiles +---- diff --git a/test/sql/aggregate/aggregates/test_quantile_disc.test b/test/sql/aggregate/aggregates/test_quantile_disc.test index 82e280aa2d2a..766a89b9a31f 100644 --- a/test/sql/aggregate/aggregates/test_quantile_disc.test +++ b/test/sql/aggregate/aggregates/test_quantile_disc.test @@ -148,7 +148,7 @@ SELECT quantile_disc('2021-01-01'::TIMESTAMP + interval (r) hour, 0.5) FROM quan query I SELECT quantile_disc('1990-01-01'::DATE + interval (r) day, 0.5) FROM quantile ---- -2003-09-09 +2003-09-09 00:00:00 query I SELECT quantile_disc('00:00:00'::TIME + interval (r) second, 0.5) FROM quantile @@ -181,24 +181,31 @@ NULL # Invalid usage statement error SELECT quantile_disc(r, -1.1) FROM quantile +---- statement error SELECT quantile_disc(r, 1.1) FROM quantile +---- statement error SELECT quantile_disc(r, "string") FROM quantile +---- statement error SELECT quantile_disc(r, NULL) FROM quantile +---- statement error SELECT quantile_disc(r) FROM quantile +---- statement error SELECT quantile_disc(r, 0.1, 50) FROM quantile +---- statement error SELECT quantile_cont(r, q) FROM quantile +---- statement ok pragma threads=4 diff --git a/test/sql/aggregate/aggregates/test_quantile_disc_list.test b/test/sql/aggregate/aggregates/test_quantile_disc_list.test index 1be23c36d0b8..fd03d04d7563 100644 --- a/test/sql/aggregate/aggregates/test_quantile_disc_list.test +++ b/test/sql/aggregate/aggregates/test_quantile_disc_list.test @@ -89,7 +89,7 @@ SELECT quantile_disc('2021-01-01'::TIMESTAMP + interval (r) hour, [0.1, 0.5, 0.9 query I SELECT quantile_disc('1990-01-01'::DATE + interval (r) day, [0.1, 0.5, 0.9]) FROM quantiles ---- -[1992-09-26, 2003-09-09, 2014-08-22] +[1992-09-26 00:00:00, 2003-09-09 00:00:00, 2014-08-22 00:00:00] query I SELECT quantile_disc('00:00:00'::TIME + interval (r) second, [0.1, 0.5, 0.9]) FROM quantiles @@ -160,19 +160,28 @@ FROM VALUES (0), (1), (2), (10) AS tab(col); ---- [0, 1, 1, 1, 1, 1, 2, 2, 10, 10, 10] +query I +SELECT quantile_disc(42::UTINYINT, 0.5); +---- +42 # Invalid use statement error SELECT quantile_disc(r, [-0.1, 0.5, 0.9]) FROM quantiles +---- statement error SELECT quantile_disc(r, (0.1, 0.5, 1.1)) FROM quantiles +---- statement error SELECT quantile_disc(r, [0.1, 0.5, NULL]) FROM quantiles +---- statement error SELECT quantile_disc(r, ["0.1", "0.5", "0.9"]) FROM quantiles +---- statement error SELECT quantile_disc(r, [0.1, 0.5, 0.9], 50) FROM quantiles +---- diff --git a/test/sql/aggregate/aggregates/test_regression.test b/test/sql/aggregate/aggregates/test_regression.test index fb2685f6885f..196526459df6 100644 --- a/test/sql/aggregate/aggregates/test_regression.test +++ b/test/sql/aggregate/aggregates/test_regression.test @@ -18,12 +18,15 @@ select regr_avgx(1,1) #Corner cases statement error select regr_avgx() +---- statement error select regr_avgx(*) +---- statement error select regr_avgy() +---- query I select regr_avgy(NULL,NULL) @@ -37,9 +40,11 @@ select regr_avgy(1,1) statement error select regr_avgy(*) +---- statement error select regr_count() +---- query I select regr_count(NULL,NULL) @@ -53,9 +58,11 @@ select regr_count(1,1) statement error select regr_count(*) +---- statement error select regr_slope() +---- query I select regr_slope(NULL,NULL) @@ -69,9 +76,11 @@ NULL statement error select regr_slope(*) +---- statement error select regr_r2() +---- query I select regr_r2(NULL,NULL) @@ -86,9 +95,11 @@ NULL #Corner cases statement error select regr_r2(0, 1e230*i) from range(5) tbl(i); +---- statement error select regr_r2(1e230*i, i) from range(5) tbl(i); +---- query I select regr_r2(1e230*i, 0) from range(5) tbl(i); @@ -102,12 +113,15 @@ select regr_r2(0, i) from range(5) tbl(i); statement error select regr_r2(*) +---- statement error select regr_sxx() +---- statement error select regr_sxx(0, 2e230*i) from range(5) tbl(i) +---- query I select regr_sxx(2e230*i, 0) from range(5) tbl(i) @@ -126,6 +140,7 @@ select regr_sxx(1,1) statement error select regr_syy() +---- query I select regr_syy(NULL,NULL) @@ -139,9 +154,11 @@ select regr_syy(1,1) statement error select regr_sxy(*) +---- statement error select regr_sxy() +---- query I select regr_sxy(NULL,NULL) @@ -155,9 +172,11 @@ select regr_sxy(1,1) statement error select regr_syy(*) +---- statement error select regr_intercept() +---- query I select regr_intercept(NULL,NULL) @@ -172,6 +191,7 @@ NULL statement error select regr_intercept(*) +---- statement ok create table aggr(k int, v decimal(10,2), v2 decimal(10, 2)); diff --git a/test/sql/aggregate/aggregates/test_sem.test b/test/sql/aggregate/aggregates/test_sem.test index a826e95b7a2a..ee5b5fff0701 100644 --- a/test/sql/aggregate/aggregates/test_sem.test +++ b/test/sql/aggregate/aggregates/test_sem.test @@ -8,6 +8,7 @@ PRAGMA enable_verification #Corner cases statement error select sem() +---- query I select sem(NULL) @@ -21,6 +22,7 @@ select sem(1) statement error select sem(*) +---- statement ok create table aggr(k int, v decimal(10,2), v2 decimal(10, 2)); @@ -40,13 +42,14 @@ select sem(v),sem(v2) from aggr 3.577709 5.663398 # Window Function -query I rowsort -select sem(v) over (partition by k) - from aggr; +query II +select k, sem(v) over (partition by k) +from aggr +order by all ---- -0.000000 -3.697550 -3.697550 -3.697550 -3.697550 +1 0.0 +2 3.6975498644372604 +2 3.6975498644372604 +2 3.6975498644372604 +2 3.6975498644372604 diff --git a/test/sql/aggregate/aggregates/test_skewness.test b/test/sql/aggregate/aggregates/test_skewness.test index 685e093426f0..ad3cf4c8a352 100644 --- a/test/sql/aggregate/aggregates/test_skewness.test +++ b/test/sql/aggregate/aggregates/test_skewness.test @@ -8,6 +8,7 @@ PRAGMA enable_verification #Corner cases statement error select skewness() +---- query I select skewness(NULL) @@ -21,6 +22,7 @@ NULL statement error select skewness(*) +---- # Constant Value query I @@ -37,6 +39,7 @@ NULL # out of range statement error select skewness(i) from (values (-2e307), (0), (2e307)) tbl(i) +---- statement ok create table aggr(k int, v decimal(10,2), v2 decimal(10, 2)); diff --git a/test/sql/aggregate/aggregates/test_state_export.test b/test/sql/aggregate/aggregates/test_state_export.test index 6396310706f7..c9a03f028b8d 100644 --- a/test/sql/aggregate/aggregates/test_state_export.test +++ b/test/sql/aggregate/aggregates/test_state_export.test @@ -141,40 +141,52 @@ SELECT FINALIZE(corr(d, d+1) EXPORT_STATE), FINALIZE(covar_pop(d, d+1) EXPORT_ST statement error SELECT list(d) EXPORT_STATE from dummy; +---- statement error SELECT string_agg(d, ',') EXPORT_STATE from dummy; +---- statement error SELECT string_agg(d) EXPORT_STATE from dummy; +---- statement error SELECT FINALIZE(COMBINE(SUM(d) EXPORT_STATE, AVG(d) EXPORT_STATE)) FROM dummy; +---- statement error SELECT combine(NULL, NULL); +---- statement error SELECT combine(42, 42); +---- statement error SELECT finalize(NULL); +---- statement error SELECT finalize(42); +---- statement error SELECT finalize(sum(d)) from dummy; +---- statement error SELECT finalize(sum(d)) from dummy group by g; +---- # can't finalize twice statement error SELECT finalize(finalize(sum(d) EXPORT_STATE)) from dummy; +---- statement error select sum(42) EXPORT_STATE over (); +---- # tests with ze persistence @@ -215,15 +227,19 @@ SELECT FINALIZE(COMBINE(SUM(42) EXPORT_STATE, (SUM(42) EXPORT_STATE)::BLOB)); statement error SELECT (SUM(42) EXPORT_STATE)::INTEGER; +---- statement error SELECT COMBINE(SUM(42) EXPORT_STATE, 42); +---- statement error SELECT COMBINE(SUM(42) EXPORT_STATE, 'ASDF'::BLOB); +---- statement error SELECT COMBINE((SUM(42) EXPORT_STATE)::BLOB, SUM(42) EXPORT_STATE); +---- # simulate round tripping require parquet diff --git a/test/sql/aggregate/aggregates/test_stddev.test b/test/sql/aggregate/aggregates/test_stddev.test index da6e186a853f..78503bcb775c 100644 --- a/test/sql/aggregate/aggregates/test_stddev.test +++ b/test/sql/aggregate/aggregates/test_stddev.test @@ -138,9 +138,12 @@ select stddev(0) from range(10) statement error select stddev(a) from (values (1e301), (-1e301)) tbl(a) +---- statement error select var_samp(a) from (values (1e301), (-1e301)) tbl(a) +---- statement error select var_pop(a) from (values (1e301), (-1e301)) tbl(a) +---- diff --git a/test/sql/aggregate/aggregates/test_string_agg.test b/test/sql/aggregate/aggregates/test_string_agg.test index aaa6e98d3a4c..54b5b3f28f90 100644 --- a/test/sql/aggregate/aggregates/test_string_agg.test +++ b/test/sql/aggregate/aggregates/test_string_agg.test @@ -15,12 +15,15 @@ PRAGMA verify_external statement error SELECT STRING_AGG() +---- statement error -SELECT STRING_AGG(1, 2, 3) +SELECT STRING_AGG('a', 'b', 'c') +---- statement error SELECT STRING_AGG(STRING_AGG('a',',')) +---- # test string aggregation on scalar values query T @@ -47,6 +50,7 @@ INSERT INTO strings VALUES (1,'a','/'), (1,'b','-'), (2,'i','/'), (2,NULL,'-'), # string agg separator must be a constant statement error SELECT STRING_AGG(x,','), STRING_AGG(x,y) FROM strings +---- query II SELECT g, STRING_AGG(x,'|') FROM strings GROUP BY g ORDER BY g @@ -62,11 +66,11 @@ SELECT STRING_AGG(x,',') FROM strings WHERE g > 100 ---- NULL -# numerics are auto cast to strings -query T +# numerics are not auto cast to strings +statement error SELECT STRING_AGG(1, 2) ---- -1 +No function matches # group concat is an alias for string_agg query T @@ -128,9 +132,11 @@ SELECT g, STRING_AGG(x ORDER BY x DESC), STRING_AGG(x, '|' ORDER BY x DESC) FROM # Variable separator statement error SELECT g, STRING_AGG(x, y ORDER BY x ASC) FROM strings GROUP BY g ORDER BY 1 +---- statement error SELECT g, STRING_AGG(x, y ORDER BY x DESC) FROM strings GROUP BY g ORDER BY 1 +---- # A more complex ORDER BY expression # Ordering [NULL a b i j p x y z] diff --git a/test/sql/aggregate/aggregates/test_string_agg_many_groups.test_slow b/test/sql/aggregate/aggregates/test_string_agg_many_groups.test_slow index ce834f74e5c5..dbc459fc82ad 100644 --- a/test/sql/aggregate/aggregates/test_string_agg_many_groups.test_slow +++ b/test/sql/aggregate/aggregates/test_string_agg_many_groups.test_slow @@ -24,6 +24,7 @@ SELECT 1, STRING_AGG(x, ',') FROM strings GROUP BY 1 ORDER BY 1 statement error SELECT STRING_AGG(k, ','), SUM(CAST(k AS BIGINT)) FROM (SELECT CAST(g AS VARCHAR) FROM strings UNION ALL SELECT CAST(x AS VARCHAR) FROM strings) tbl1(k) +---- query IT SELECT 1, STRING_AGG(x, ',' ORDER BY g DESC) FROM strings GROUP BY 1 ORDER BY 1 diff --git a/test/sql/aggregate/aggregates/test_sum.test b/test/sql/aggregate/aggregates/test_sum.test index 580d3505ff4a..425cc8112cba 100644 --- a/test/sql/aggregate/aggregates/test_sum.test +++ b/test/sql/aggregate/aggregates/test_sum.test @@ -73,6 +73,7 @@ SELECT SUM(b) FROM bigints # this is too big for a bigint statement error SELECT SUM(b)::BIGINT FROM bigints +---- # # Order by @@ -92,4 +93,5 @@ SELECT sum(n ORDER BY ABS(n))::BIGINT FROM doubles; # Error as an ordered aggregate statement error SELECT (sum(n) WITHIN GROUP(ORDER BY ABS(n)))::BIGINT FROM doubles; +---- diff --git a/test/sql/aggregate/distinct/test_distinct_on.test b/test/sql/aggregate/distinct/test_distinct_on.test index 205d858c37ba..ce79076197a6 100644 --- a/test/sql/aggregate/distinct/test_distinct_on.test +++ b/test/sql/aggregate/distinct/test_distinct_on.test @@ -129,4 +129,5 @@ SELECT DISTINCT ON (integers.i) integers.i, integers.j FROM integers ORDER BY i, # out of bounds statement error SELECT DISTINCT ON (2) i FROM integers - +---- +Binder Error: ORDER term out of range - should be between 1 and 1 diff --git a/test/sql/aggregate/group/group_by_all.test b/test/sql/aggregate/group/group_by_all.test index b1bda163c7c9..3f744eb0846c 100644 --- a/test/sql/aggregate/group/group_by_all.test +++ b/test/sql/aggregate/group/group_by_all.test @@ -106,6 +106,7 @@ NULL NULL 1 # we CANNOT mix aggregates and groups statement error SELECT (g+i)%2 + SUM(i), SUM(i), SUM(g) FROM integers GROUP BY ALL ORDER BY 1 +---- # multiple groups diff --git a/test/sql/aggregate/group/group_by_limits.test b/test/sql/aggregate/group/group_by_limits.test index 4aa45d6a4b88..2322443dbf97 100644 --- a/test/sql/aggregate/group/group_by_limits.test +++ b/test/sql/aggregate/group/group_by_limits.test @@ -74,12 +74,12 @@ statement ok CREATE TABLE t(t_k0 HUGEINT); statement ok -INSERT INTO t VALUES (-170141183460469231731687303715884105727), (170141183460469231731687303715884105727); +INSERT INTO t VALUES (-170141183460469231731687303715884105728), (170141183460469231731687303715884105727); query II SELECT t_k0, COUNT(*) FROM t GROUP BY t_k0 ORDER BY 1; ---- --170141183460469231731687303715884105727 1 +-170141183460469231731687303715884105728 1 170141183460469231731687303715884105727 1 statement ok @@ -148,3 +148,19 @@ SELECT t_k0, COUNT(*) FROM t GROUP BY t_k0 ORDER BY 1; statement ok DROP TABLE t; + +# UHUGEINT limits +statement ok +CREATE TABLE t(t_k0 UHUGEINT); + +statement ok +INSERT INTO t VALUES (0), ('340282366920938463463374607431768211455'::UHUGEINT); + +query II +SELECT t_k0, COUNT(*) FROM t GROUP BY t_k0 ORDER BY 1; +---- +0 1 +340282366920938463463374607431768211455 1 + +statement ok +DROP TABLE t; diff --git a/test/sql/aggregate/group/test_group_by.test b/test/sql/aggregate/group/test_group_by.test index 90406538a875..864bd210e51d 100644 --- a/test/sql/aggregate/group/test_group_by.test +++ b/test/sql/aggregate/group/test_group_by.test @@ -20,6 +20,7 @@ INSERT INTO test VALUES (11, 22), (13, 22), (12, 21) # aggregates cannot be nested statement error SELECT SUM(SUM(41)), COUNT(*); +---- # simple aggregates without group by query RIR @@ -90,6 +91,7 @@ SELECT b, SUM(a), COUNT(*), SUM(a+2) FROM test WHERE a <= 12 GROUP BY b ORDER BY # nested aggregate in group by statement error SELECT b % 2 AS f, COUNT(SUM(a)) FROM test GROUP BY f; +---- statement ok INSERT INTO test VALUES (12, 21), (12, 21), (12, 21) @@ -118,6 +120,7 @@ SELECT i, i + 10 FROM integers GROUP BY i ORDER BY i # using non-group column and non-aggregate should throw an error statement error SELECT i, SUM(j), j FROM integers GROUP BY i ORDER BY i +---- # but it works if we wrap it in FIRST() or LAST() query IRI @@ -183,6 +186,7 @@ NULL NULL NULL # CONTROVERSIAL: this query DOES work in SQLite statement error SELECT 1 AS k, SUM(i) FROM integers GROUP BY k+1 ORDER BY 2; +---- # group by column refs should be recognized, even if one uses an explicit table specifier and the other does not query IR diff --git a/test/sql/aggregate/group/test_group_by_alias.test b/test/sql/aggregate/group/test_group_by_alias.test index 901a42edfd37..870b1ee43ee0 100644 --- a/test/sql/aggregate/group/test_group_by_alias.test +++ b/test/sql/aggregate/group/test_group_by_alias.test @@ -37,6 +37,7 @@ SELECT i % 2 AS k, SUM(i) FROM integers WHERE i IS NOT NULL GROUP BY 1 HAVING i% # constant out of range statement error SELECT i % 2 AS k, SUM(i) FROM integers WHERE i IS NOT NULL GROUP BY 42 HAVING i%2>0; +---- # entry in GROUP BY should refer to base column # ...BUT the alias in ORDER BY should refer to the alias from the select list @@ -71,6 +72,7 @@ NULL NULL NULL # cannot use GROUP BY column in an aggregation... statement error SELECT i % 2 AS k, SUM(k) FROM integers GROUP BY k +---- # ...unless it is one of the base columns query IR @@ -87,6 +89,7 @@ NULL NULL # aggregate statement error SELECT (10-i) AS k, SUM(i) FROM integers GROUP BY k ORDER BY i; +---- # we can manually get this behavior by pushing FIRST query IR diff --git a/test/sql/aggregate/group/tpch_group_by_all.test_slow b/test/sql/aggregate/group/tpch_group_by_all.test_slow index 56a02e96d5cb..7c53f04ad554 100644 --- a/test/sql/aggregate/group/tpch_group_by_all.test_slow +++ b/test/sql/aggregate/group/tpch_group_by_all.test_slow @@ -115,4 +115,4 @@ ORDER BY custdist DESC, c_count DESC; ---- -:extension/tpch/dbgen/answers/sf0.01/q13.csv \ No newline at end of file +:extension/tpch/dbgen/answers/sf0.01/q13.csv diff --git a/test/sql/aggregate/grouping_sets/cube.test b/test/sql/aggregate/grouping_sets/cube.test index c4ee5bdeafcd..125c68a9dc40 100644 --- a/test/sql/aggregate/grouping_sets/cube.test +++ b/test/sql/aggregate/grouping_sets/cube.test @@ -170,16 +170,21 @@ Math Masters 1 statement error select course, count(*) from students group by cube () order by 1, 2; +---- statement error select course, count(*) from students group by cube (cube (course)) order by 1, 2; +---- statement error select course, count(*) from students group by cube (grouping_sets (course)) order by 1, 2; +---- # cube exceeds maximum grouping set statement error select course, type, count(*) from students group by cube (course, type, course, type, course, type, course, type, course, type, course, type, (course, type), (course, type), course, type) order by 1, 2, 3; +---- statement error select course, type, count(*) from students group by cube (course, type, course, type, course), cube(type, course, type, course), cube(type, course, type, (course, type), (course, type), course, type) order by 1, 2, 3; +---- diff --git a/test/sql/aggregate/grouping_sets/grouping.test b/test/sql/aggregate/grouping_sets/grouping.test index c540d7baeea3..dc59cd902b8a 100644 --- a/test/sql/aggregate/grouping_sets/grouping.test +++ b/test/sql/aggregate/grouping_sets/grouping.test @@ -185,25 +185,33 @@ NULL NULL 7 # test incorrect grouping usage statement error SELECT GROUPING(); +---- statement error SELECT GROUPING() FROM students; +---- statement error SELECT GROUPING(NULL) FROM students; +---- statement error SELECT GROUPING(course) FROM students; +---- statement error SELECT GROUPING(course) FROM students GROUP BY (); +---- statement error SELECT GROUPING(type) FROM students GROUP BY course; +---- statement error SELECT GROUPING(course) FROM students WHERE GROUPING(course)=0 GROUP BY course; +---- # we have a limit on how many children the grouping clause can contain statement error SELECT GROUPING(course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course, course), course, type, COUNT(*) FROM students GROUP BY CUBE(course, type) ORDER BY 1, 2, 3, 4; +---- diff --git a/test/sql/aggregate/grouping_sets/grouping_sets.test b/test/sql/aggregate/grouping_sets/grouping_sets.test index 424784260feb..ee3fab8f6ab4 100644 --- a/test/sql/aggregate/grouping_sets/grouping_sets.test +++ b/test/sql/aggregate/grouping_sets/grouping_sets.test @@ -274,3 +274,4 @@ select count(*), course, type # course is not a group or aggregate column statement error select course from students group by (); +---- diff --git a/test/sql/aggregate/grouping_sets/rollup.test b/test/sql/aggregate/grouping_sets/rollup.test index 5808dc80913f..2e970e1720bc 100644 --- a/test/sql/aggregate/grouping_sets/rollup.test +++ b/test/sql/aggregate/grouping_sets/rollup.test @@ -130,9 +130,12 @@ Math Masters 1 statement error select course, count(*) from students group by rollup () order by 1, 2; +---- statement error select course, count(*) from students group by rollup (rollup (course)) order by 1, 2; +---- statement error select course, count(*) from students group by rollup (grouping_sets (course)) order by 1, 2; +---- diff --git a/test/sql/aggregate/having/test_scalar_having.test b/test/sql/aggregate/having/test_scalar_having.test index d3c4dd543c0c..2550b7b0c1a8 100644 --- a/test/sql/aggregate/having/test_scalar_having.test +++ b/test/sql/aggregate/having/test_scalar_having.test @@ -44,11 +44,13 @@ INSERT INTO test VALUES (11, 22), (13, 22), (12, 21) # HAVING clause can only contain aggregates statement error SELECT a FROM test WHERE a=13 HAVING a > 11 +---- # HAVING clause also turns the rest of the query into an aggregate # thus column references in SELECT clause also produce errors statement error SELECT a FROM test WHERE a=13 HAVING SUM(a) > 11 +---- # once we produce a sum this works though query R diff --git a/test/sql/aggregate/qualify/test_qualify.test b/test/sql/aggregate/qualify/test_qualify.test index cd399a15c861..3c2b2b233084 100644 --- a/test/sql/aggregate/qualify/test_qualify.test +++ b/test/sql/aggregate/qualify/test_qualify.test @@ -197,15 +197,19 @@ SELECT * FROM exam WINDOW w AS (ORDER BY mark) QUALIFY row_number() OVER w = 1 # must appear WINDOW clause before QUALIFY clause statement error SELECT * FROM exam QUALIFY row_number() OVER w = 1 WINDOW w AS (ORDER BY mark) +---- # QUALIFY clause requires at least one window function to be specified in at least one of the SELECT column list or the filter predicate of the QUALIFY clause statement error SELECT b, avg(a) AS avga FROM test GROUP BY b QUALIFY avga > 10 +---- # invalid window function statement error SELECT b FROM test QUALIFY avga() > 10 +---- # column not found in from clause and can't find in alias map statement error SELECT b, SUM(a) FROM test GROUP BY b QUALIFY row_number() OVER (PARTITION BY b) > sum; +---- diff --git a/test/sql/aggregate/qualify/test_qualify_macro.test b/test/sql/aggregate/qualify/test_qualify_macro.test index 3e3f5ddb6bed..476d680e9e2a 100644 --- a/test/sql/aggregate/qualify/test_qualify_macro.test +++ b/test/sql/aggregate/qualify/test_qualify_macro.test @@ -45,9 +45,10 @@ DROP MACRO plus1 statement error SELECT plus1(2) +---- # after recreating the macro we can use it again statement ok CREATE MACRO plus1(x) AS (x + (SELECT COUNT(*) FROM (SELECT b, SUM(test.a) FROM test GROUP BY b QUALIFY row_number() OVER (PARTITION BY b) = 1))) -endloop \ No newline at end of file +endloop diff --git a/test/sql/aggregate/qualify/test_qualify_view.test b/test/sql/aggregate/qualify/test_qualify_view.test index 4fb15185e5ba..e054aa9c3047 100644 --- a/test/sql/aggregate/qualify/test_qualify_view.test +++ b/test/sql/aggregate/qualify/test_qualify_view.test @@ -68,5 +68,6 @@ DROP TABLE test.t statement error SELECT * FROM test.v +---- endloop diff --git a/test/sql/alter/add_col/test_add_col_default_seq.test b/test/sql/alter/add_col/test_add_col_default_seq.test index 618e80c95182..9e103af969bf 100644 --- a/test/sql/alter/add_col/test_add_col_default_seq.test +++ b/test/sql/alter/add_col/test_add_col_default_seq.test @@ -40,4 +40,4 @@ SELECT * FROM test 2 2 2 -2 \ No newline at end of file +2 diff --git a/test/sql/alter/add_col/test_add_col_incorrect.test b/test/sql/alter/add_col/test_add_col_incorrect.test index 5d6bc423b889..fd08685d525c 100644 --- a/test/sql/alter/add_col/test_add_col_incorrect.test +++ b/test/sql/alter/add_col/test_add_col_incorrect.test @@ -10,6 +10,7 @@ INSERT INTO test VALUES (1, 1), (2, 2) statement error ALTER TABLE test ADD COLUMN i INTEGER +---- statement ok CREATE VIEW x(x) AS (SELECT 1) @@ -17,7 +18,9 @@ CREATE VIEW x(x) AS (SELECT 1) # Cannot add columns to views statement error ALTER VIEW x ADD COLUMN i INTEGER +---- # Multiple alter per statement not supported yet statement error ALTER TABLE i ADD COLUMN j INT, ADD COLUMN k INT +---- diff --git a/test/sql/alter/add_col/test_add_col_transactions.test b/test/sql/alter/add_col/test_add_col_transactions.test index dc24aa28931d..828a620aae4b 100644 --- a/test/sql/alter/add_col/test_add_col_transactions.test +++ b/test/sql/alter/add_col/test_add_col_transactions.test @@ -19,6 +19,7 @@ ALTER TABLE test ADD COLUMN k INTEGER # con2 cannot add a new column now! statement error con2 ALTER TABLE test ADD COLUMN l INTEGER +---- statement ok con1 COMMIT @@ -47,6 +48,7 @@ ALTER TABLE test ADD COLUMN k INTEGER # con2 cannot append now! statement error con2 INSERT INTO test (i, j) VALUES (3, 3) +---- # but we can delete rows! statement ok con2 @@ -66,6 +68,7 @@ SELECT * FROM test # cannot update an altered table statement error con2 UPDATE test SET j=100 +---- query III con1 SELECT * FROM test @@ -107,4 +110,5 @@ ALTER TABLE test ADD COLUMN k INTEGER # cannot commit con2! conflict on append statement error con2 COMMIT +---- diff --git a/test/sql/alter/add_col/test_add_col_user_type.test b/test/sql/alter/add_col/test_add_col_user_type.test index 869531e78693..e3010003aeba 100644 --- a/test/sql/alter/add_col/test_add_col_user_type.test +++ b/test/sql/alter/add_col/test_add_col_user_type.test @@ -22,6 +22,7 @@ CREATE TABLE main_t1 (i INT); # statement error ALTER TABLE main_t1 ADD COLUMN j test_int; +---- # # main. in test_schema. diff --git a/test/sql/alter/alter_col/test_drop_not_null.test b/test/sql/alter/alter_col/test_drop_not_null.test index 61ea8364c14b..d378a1e52ebd 100644 --- a/test/sql/alter/alter_col/test_drop_not_null.test +++ b/test/sql/alter/alter_col/test_drop_not_null.test @@ -15,6 +15,7 @@ INSERT INTO test VALUES (1, 1), (2, 2) statement error INSERT INTO test VALUES (3, NULL) +---- query II SELECT * FROM test @@ -61,6 +62,7 @@ INSERT INTO test VALUES (1), (2) statement error INSERT INTO test VALUES (NULL) +---- query II SELECT * FROM test diff --git a/test/sql/alter/alter_col/test_not_null_in_tran.test b/test/sql/alter/alter_col/test_not_null_in_tran.test index de101a41e9ba..57d71928f48d 100644 --- a/test/sql/alter/alter_col/test_not_null_in_tran.test +++ b/test/sql/alter/alter_col/test_not_null_in_tran.test @@ -21,6 +21,7 @@ INSERT INTO t VALUES(9999, NULL) statement error ALTER TABLE t ALTER COLUMN j SET NOT NULL +---- statement ok ROLLBACK @@ -31,6 +32,7 @@ INSERT INTO t VALUES(9999, NULL) # Has null, cannot alter after tran statement error ALTER TABLE t ALTER COLUMN j SET NOT NULL +---- query I SELECT i FROM t WHERE j IS NULL @@ -63,6 +65,7 @@ COMMIT # Cannot insert after tran statement error INSERT INTO t VALUES(9999, NULL) +---- # No null data query II @@ -169,6 +172,7 @@ ROLLBACK # CANNOT insert null after rollback statement error INSERT INTO t VALUES(8888, NULL) +---- # NO null values query I @@ -198,6 +202,7 @@ COMMIT statement error INSERT INTO t VALUES(NULL) +---- # Drop in the same tran statement ok @@ -254,6 +259,7 @@ COMMIT statement error INSERT INTO t VALUES(3, NULL) +---- # NO null values query I diff --git a/test/sql/alter/alter_col/test_not_null_multi_tran.test b/test/sql/alter/alter_col/test_not_null_multi_tran.test index 9956183f01e3..c7f9161a4364 100644 --- a/test/sql/alter/alter_col/test_not_null_multi_tran.test +++ b/test/sql/alter/alter_col/test_not_null_multi_tran.test @@ -20,6 +20,7 @@ BEGIN TRANSACTION statement error con2 INSERT INTO t VALUES(7777, NULL) +---- statement ok con1 INSERT INTO t VALUES(7, 7) @@ -59,9 +60,11 @@ COMMIT statement error con2 COMMIT +---- statement error con1 INSERT INTO t VALUES(7777, NULL) +---- query I con1 SELECT COUNT(*) FROM t @@ -86,6 +89,7 @@ BEGIN TRANSACTION statement error con2 INSERT INTO t VALUES(1, 1) +---- statement ok con1 COMMIT @@ -128,6 +132,7 @@ COMMIT statement error con2 INSERT INTO t VALUES(1, NULL) +---- statement ok con2 ROLLBACK @@ -164,9 +169,11 @@ COMMIT #Failed to commit statement error con2 COMMIT +---- statement error con2 INSERT INTO t VALUES(2, NULL) +---- query I con1 SELECT count(*) from t @@ -197,6 +204,7 @@ ALTER TABLE t ALTER COLUMN j SET NOT NULL # Failed to commit statement error con2 COMMIT +---- statement ok con1 COMMIT @@ -204,6 +212,7 @@ COMMIT # Failed to insert null statement error con2 INSERT INTO t VALUES(2, NULL) +---- query I con1 SELECT count(*) from t @@ -232,6 +241,7 @@ COMMIT statement error con1 ALTER TABLE t ALTER COLUMN j SET NOT NULL +---- statement ok con1 ROLLBACK diff --git a/test/sql/alter/alter_col/test_set_not_null.test b/test/sql/alter/alter_col/test_set_not_null.test index 5a44343ae91a..ea409dfdd53a 100644 --- a/test/sql/alter/alter_col/test_set_not_null.test +++ b/test/sql/alter/alter_col/test_set_not_null.test @@ -16,14 +16,17 @@ INSERT INTO t VALUES (1, 1), (2, 2) statement ok ALTER TABLE t ALTER COLUMN j SET NOT NULL -statement error +statement error INSERT INTO t VALUES (3, NULL) +---- + # SET again statement ok ALTER TABLE t ALTER COLUMN j SET NOT NULL statement error INSERT INTO t VALUES (3, NULL) +---- query II SELECT * FROM t @@ -40,6 +43,7 @@ ALTER TABLE t ALTER COLUMN j SET NOT NULL statement error INSERT INTO t VALUES (6, NULL) +---- query I SELECT COUNT(*) FROM t WHERE j IS NULL @@ -61,6 +65,7 @@ INSERT INTO t SELECT 4,4 FROM RANGE(65536) statement error ALTER TABLE t ALTER COLUMN j SET NOT NULL +---- statement ok INSERT INTO t VALUES (5, null) @@ -88,6 +93,7 @@ ALTER TABLE t ALTER COLUMN j SET NOT NULL # Failed to insert before drop constraint statement error INSERT INTO t VALUES (2, null) +---- # Drop not null statement ok @@ -123,6 +129,7 @@ INSERT INTO t SELECT 1 FROM RANGE(65536) # Set not null statement error ALTER TABLE t ALTER COLUMN i SET NOT NULL +---- # Set not null statement ok @@ -131,6 +138,7 @@ ALTER TABLE t ALTER COLUMN j SET NOT NULL # Failed to insert before drop constraint statement error INSERT INTO t VALUES (null) +---- # Drop not null statement ok diff --git a/test/sql/alter/alter_type/test_alter_type.test b/test/sql/alter/alter_type/test_alter_type.test index b827285f9afc..e9df4a97bc88 100644 --- a/test/sql/alter/alter_type/test_alter_type.test +++ b/test/sql/alter/alter_type/test_alter_type.test @@ -39,3 +39,4 @@ SELECT stats(i) FROM test LIMIT 1 # fail when column does not exist statement error ALTER TABLE test ALTER nonexistingcolumn SET DATA TYPE INTEGER +---- diff --git a/test/sql/alter/alter_type/test_alter_type_check.test b/test/sql/alter/alter_type/test_alter_type_check.test index 9c3c2e4fddfc..8386656f0254 100644 --- a/test/sql/alter/alter_type/test_alter_type_check.test +++ b/test/sql/alter/alter_type/test_alter_type_check.test @@ -11,6 +11,7 @@ INSERT INTO test VALUES (1, 1), (2, 2) # we disallow ALTER TYPE on a column with a CHECK constraint statement error ALTER TABLE test ALTER i SET DATA TYPE VARCHAR +---- # we can change the other columns' type though statement ok diff --git a/test/sql/alter/alter_type/test_alter_type_dependencies.test b/test/sql/alter/alter_type/test_alter_type_dependencies.test index c7c4cf97ca39..2a14d165bb81 100644 --- a/test/sql/alter/alter_type/test_alter_type_dependencies.test +++ b/test/sql/alter/alter_type/test_alter_type_dependencies.test @@ -50,4 +50,5 @@ ALTER TABLE test ALTER i TYPE VARCHAR USING i::VARCHAR # this now results in an error when rebinding statement error -EXECUTE v2 \ No newline at end of file +EXECUTE v2 +---- diff --git a/test/sql/alter/alter_type/test_alter_type_incorrect.test b/test/sql/alter/alter_type/test_alter_type_incorrect.test index 42c042c7472a..e0c39e02b4cf 100644 --- a/test/sql/alter/alter_type/test_alter_type_incorrect.test +++ b/test/sql/alter/alter_type/test_alter_type_incorrect.test @@ -11,18 +11,23 @@ INSERT INTO test VALUES (1, 1), (2, 2) # cannot alter columns that don't exist statement error ALTER TABLE test ALTER blabla SET TYPE VARCHAR +---- # expression error statement error ALTER TABLE test ALTER i SET TYPE VARCHAR USING blabla +---- # cannot use aggregates/window functions statement error ALTER TABLE test ALTER i SET TYPE VARCHAR USING SUM(i) +---- statement error ALTER TABLE test ALTER i SET TYPE VARCHAR USING row_id() OVER () +---- statement error ALTER TABLE test ALTER i SET TYPE VARCHAR USING othertable.j +---- diff --git a/test/sql/alter/alter_type/test_alter_type_index.test b/test/sql/alter/alter_type/test_alter_type_index.test index 5a769abcc804..0c623cbffeb3 100644 --- a/test/sql/alter/alter_type/test_alter_type_index.test +++ b/test/sql/alter/alter_type/test_alter_type_index.test @@ -13,6 +13,7 @@ CREATE INDEX i_index ON test(i) statement error ALTER TABLE test ALTER i SET DATA TYPE VARCHAR +---- statement ok DROP INDEX i_index diff --git a/test/sql/alter/alter_type/test_alter_type_not_null.test b/test/sql/alter/alter_type/test_alter_type_not_null.test index 6deb24e0ce64..ebbbc0fd1d50 100644 --- a/test/sql/alter/alter_type/test_alter_type_not_null.test +++ b/test/sql/alter/alter_type/test_alter_type_not_null.test @@ -10,6 +10,7 @@ INSERT INTO test VALUES (1, 1), (2, 2) statement error INSERT INTO test VALUES (NULL, 4) +---- statement ok ALTER TABLE test ALTER i SET DATA TYPE VARCHAR @@ -19,6 +20,7 @@ INSERT INTO test VALUES ('hello', 3) statement error INSERT INTO test VALUES (NULL, 4) +---- query TI SELECT * FROM test diff --git a/test/sql/alter/alter_type/test_alter_type_transactions.test b/test/sql/alter/alter_type/test_alter_type_transactions.test index fc999061c1ee..e08a4de3a1f6 100644 --- a/test/sql/alter/alter_type/test_alter_type_transactions.test +++ b/test/sql/alter/alter_type/test_alter_type_transactions.test @@ -19,6 +19,7 @@ ALTER TABLE test ALTER j TYPE VARCHAR # con2 cannot alter another column now! statement error con2 ALTER TABLE test ALTER i TYPE VARCHAR +---- statement ok con1 COMMIT @@ -47,6 +48,7 @@ ALTER TABLE test ALTER i TYPE VARCHAR # con2 cannot append now! statement error con2 INSERT INTO test (i, j) VALUES (3, 3) +---- # but we can delete rows! statement ok con2 @@ -66,9 +68,11 @@ SELECT * FROM test # we cannot update rows on tables that have been altered statement error con2 UPDATE test SET i=1000 +---- statement error con2 UPDATE test SET j=100 +---- query TI con1 SELECT * FROM test @@ -107,6 +111,7 @@ ALTER TABLE test ALTER i TYPE VARCHAR # cannot commit con2! conflict on append statement error con2 COMMIT +---- statement ok con1 DROP TABLE test @@ -128,4 +133,5 @@ ALTER TABLE test ALTER j TYPE VARCHAR # now con tries to add an index to that column: this should fail statement error con1 CREATE INDEX i_index ON test(j +---- diff --git a/test/sql/alter/alter_type/test_alter_type_unique.test b/test/sql/alter/alter_type/test_alter_type_unique.test index ef334e3e2803..451df997f627 100644 --- a/test/sql/alter/alter_type/test_alter_type_unique.test +++ b/test/sql/alter/alter_type/test_alter_type_unique.test @@ -11,6 +11,7 @@ INSERT INTO test VALUES (1, 1), (2, 2) # we disallow ALTER TYPE on a column with a CHECK constraint statement error ALTER TABLE test ALTER i SET DATA TYPE VARCHAR +---- # but we can change the other column statement ok diff --git a/test/sql/alter/alter_type/test_alter_type_with_generated_column.test b/test/sql/alter/alter_type/test_alter_type_with_generated_column.test index 4864266f047e..e26fce6694bd 100644 --- a/test/sql/alter/alter_type/test_alter_type_with_generated_column.test +++ b/test/sql/alter/alter_type/test_alter_type_with_generated_column.test @@ -14,6 +14,7 @@ INSERT INTO test VALUES (1), (2) # Alter generated column statement error ALTER TABLE test ALTER i TYPE VARCHAR +---- # Alter normal column statement ok diff --git a/test/sql/alter/default/drop_default.test b/test/sql/alter/default/drop_default.test index 7e566cf479b1..8bfab11646a0 100644 --- a/test/sql/alter/default/drop_default.test +++ b/test/sql/alter/default/drop_default.test @@ -28,3 +28,4 @@ ALTER TABLE data ALTER COLUMN x DROP DEFAULT; statement error ALTER TABLE data ALTER COLUMN j DROP DEFAULT; +---- diff --git a/test/sql/alter/default/test_set_default.test b/test/sql/alter/default/test_set_default.test index dc7ad9787c71..9af72559f541 100644 --- a/test/sql/alter/default/test_set_default.test +++ b/test/sql/alter/default/test_set_default.test @@ -85,7 +85,9 @@ SELECT * FROM constrainty # fail when column does not exist statement error ALTER TABLE test ALTER blabla SET DEFAULT 3 +---- statement error ALTER TABLE test ALTER blabla DROP DEFAULT +---- diff --git a/test/sql/alter/drop_col/test_drop_col_check.test b/test/sql/alter/drop_col/test_drop_col_check.test index 037ad5be5422..a16b9b6251f3 100644 --- a/test/sql/alter/drop_col/test_drop_col_check.test +++ b/test/sql/alter/drop_col/test_drop_col_check.test @@ -45,4 +45,5 @@ SELECT * FROM test2 statement error ALTER TABLE test2 DROP COLUMN j +---- diff --git a/test/sql/alter/drop_col/test_drop_col_check_next.test b/test/sql/alter/drop_col/test_drop_col_check_next.test index 0ed6dc6f5355..ff9f9e64dc9f 100644 --- a/test/sql/alter/drop_col/test_drop_col_check_next.test +++ b/test/sql/alter/drop_col/test_drop_col_check_next.test @@ -21,6 +21,7 @@ ALTER TABLE test DROP COLUMN i statement error INSERT INTO test VALUES (20) +---- statement ok INSERT INTO test VALUES (3) diff --git a/test/sql/alter/drop_col/test_drop_col_failure.test b/test/sql/alter/drop_col/test_drop_col_failure.test index 7b25cda8a191..7cc248b461e0 100644 --- a/test/sql/alter/drop_col/test_drop_col_failure.test +++ b/test/sql/alter/drop_col/test_drop_col_failure.test @@ -11,6 +11,7 @@ INSERT INTO test VALUES (1, 1), (2, 2) # cannot drop column which does not exist statement error ALTER TABLE test DROP COLUMN blabla +---- # unless IF EXISTS is specified statement ok @@ -22,4 +23,5 @@ ALTER TABLE test DROP COLUMN i statement error ALTER TABLE test DROP COLUMN j +---- diff --git a/test/sql/alter/drop_col/test_drop_col_index.test b/test/sql/alter/drop_col/test_drop_col_index.test index 34d10c367069..39d689769b9f 100644 --- a/test/sql/alter/drop_col/test_drop_col_index.test +++ b/test/sql/alter/drop_col/test_drop_col_index.test @@ -14,8 +14,10 @@ CREATE INDEX i_index ON test(j) # cannot drop indexed column statement error ALTER TABLE test DROP COLUMN j +---- # we also cannot drop the column i (for now) because an index depends on a subsequent column statement error ALTER TABLE test DROP COLUMN i +---- diff --git a/test/sql/alter/drop_col/test_drop_col_not_null_next.test b/test/sql/alter/drop_col/test_drop_col_not_null_next.test index 780b57236a82..fdd3f5260b7d 100644 --- a/test/sql/alter/drop_col/test_drop_col_not_null_next.test +++ b/test/sql/alter/drop_col/test_drop_col_not_null_next.test @@ -23,6 +23,7 @@ ALTER TABLE test DROP COLUMN j statement error INSERT INTO test VALUES (3, NULL) +---- statement ok INSERT INTO test VALUES (3, 13) diff --git a/test/sql/alter/drop_col/test_drop_col_pk.test b/test/sql/alter/drop_col/test_drop_col_pk.test index 95619de279a0..c8e0eb99333a 100644 --- a/test/sql/alter/drop_col/test_drop_col_pk.test +++ b/test/sql/alter/drop_col/test_drop_col_pk.test @@ -11,6 +11,7 @@ INSERT INTO test VALUES (1, 1), (2, 2) # cannot drop primary key column statement error ALTER TABLE test DROP COLUMN i +---- # but we can drop column "j" statement ok diff --git a/test/sql/alter/drop_col/test_drop_col_transactions.test b/test/sql/alter/drop_col/test_drop_col_transactions.test index e40b36b1c895..4380c237a6c3 100644 --- a/test/sql/alter/drop_col/test_drop_col_transactions.test +++ b/test/sql/alter/drop_col/test_drop_col_transactions.test @@ -19,6 +19,7 @@ ALTER TABLE test DROP COLUMN j # con2 cannot add a new column now! statement error con2 ALTER TABLE test ADD COLUMN k INTEGER +---- statement ok con1 COMMIT @@ -47,6 +48,7 @@ ALTER TABLE test DROP COLUMN i # con2 cannot append now! statement error con2 INSERT INTO test (i, j) VALUES (3, 3) +---- # but we can delete rows! statement ok con2 @@ -66,6 +68,7 @@ SELECT * FROM test # we can't update on tables that have been altered statement error con2 UPDATE test SET j=100 +---- query I con1 SELECT * FROM test @@ -107,6 +110,7 @@ ALTER TABLE test DROP COLUMN i # cannot commit con2! conflict on append statement error con2 COMMIT +---- statement ok con1 DROP TABLE test @@ -128,4 +132,5 @@ ALTER TABLE test DROP COLUMN j # now con tries to add an index to that column: this should fail statement error con1 CREATE INDEX i_index ON test(j +---- diff --git a/test/sql/alter/drop_col/test_drop_col_with_generated_cols.test b/test/sql/alter/drop_col/test_drop_col_with_generated_cols.test index 173c15ec8660..9181130850a3 100644 --- a/test/sql/alter/drop_col/test_drop_col_with_generated_cols.test +++ b/test/sql/alter/drop_col/test_drop_col_with_generated_cols.test @@ -15,4 +15,4 @@ statement ok alter table t drop column k; statement ok -alter table t drop column j; \ No newline at end of file +alter table t drop column j; diff --git a/test/sql/alter/rename_col/test_rename_col_check.test b/test/sql/alter/rename_col/test_rename_col_check.test index 3f80ee447d77..e4bfea04ae6a 100644 --- a/test/sql/alter/rename_col/test_rename_col_check.test +++ b/test/sql/alter/rename_col/test_rename_col_check.test @@ -11,6 +11,7 @@ INSERT INTO test (i, j) VALUES (1, 2), (2, 3) statement error INSERT INTO test (i, j) VALUES (100, 2) +---- statement ok ALTER TABLE test RENAME COLUMN i TO k @@ -21,4 +22,5 @@ INSERT INTO test (k, j) VALUES (1, 2), (2, 3) statement error INSERT INTO test (k, j) VALUES (100, 2) +---- diff --git a/test/sql/alter/rename_col/test_rename_col_dependencies.test b/test/sql/alter/rename_col/test_rename_col_dependencies.test index 41d1e22859db..50ca06a75584 100644 --- a/test/sql/alter/rename_col/test_rename_col_dependencies.test +++ b/test/sql/alter/rename_col/test_rename_col_dependencies.test @@ -24,6 +24,7 @@ ALTER TABLE test RENAME COLUMN i TO k # v1 does not work anymore: "i" does not exist statement error EXECUTE v1 +---- # v2 still works statement ok diff --git a/test/sql/alter/rename_col/test_rename_col_failure.test b/test/sql/alter/rename_col/test_rename_col_failure.test index 00f6d903a936..1e20d9a1d070 100644 --- a/test/sql/alter/rename_col/test_rename_col_failure.test +++ b/test/sql/alter/rename_col/test_rename_col_failure.test @@ -8,10 +8,12 @@ CREATE TABLE test(i INTEGER, j INTEGER) # cannot rename a column that does not exist statement error ALTER TABLE test RENAME COLUMN blablabla TO k +---- # cannot rename a column to an already existing column statement error ALTER TABLE test RENAME COLUMN i TO j +---- # after failure original columns should still be there statement ok diff --git a/test/sql/alter/rename_col/test_rename_col_not_null.test b/test/sql/alter/rename_col/test_rename_col_not_null.test index 5edffdc26d6f..3a27433e39e4 100644 --- a/test/sql/alter/rename_col/test_rename_col_not_null.test +++ b/test/sql/alter/rename_col/test_rename_col_not_null.test @@ -10,6 +10,7 @@ INSERT INTO test (i, j) VALUES (1, 2), (2, 3) statement error INSERT INTO test (i, j) VALUES (NULL, 2) +---- statement ok ALTER TABLE test RENAME COLUMN i TO k @@ -20,4 +21,5 @@ INSERT INTO test (k, j) VALUES (1, 2), (2, 3) statement error INSERT INTO test (k, j) VALUES (NULL, 2) +---- diff --git a/test/sql/alter/rename_col/test_rename_col_rollback.test b/test/sql/alter/rename_col/test_rename_col_rollback.test index db57d0a1391c..4a29bbfe741e 100644 --- a/test/sql/alter/rename_col/test_rename_col_rollback.test +++ b/test/sql/alter/rename_col/test_rename_col_rollback.test @@ -16,6 +16,7 @@ ALTER TABLE test RENAME COLUMN i TO k # now we should see the new name statement error SELECT i FROM test +---- statement ok SELECT k FROM test @@ -30,4 +31,5 @@ SELECT i FROM test statement error SELECT k FROM test +---- diff --git a/test/sql/alter/rename_col/test_rename_col_transactions.test b/test/sql/alter/rename_col/test_rename_col_transactions.test index 67d4877dc943..9aad6a8f0bde 100644 --- a/test/sql/alter/rename_col/test_rename_col_transactions.test +++ b/test/sql/alter/rename_col/test_rename_col_transactions.test @@ -4,7 +4,10 @@ # CREATE TABLE statement ok con1 -CREATE TABLE test(i INTEGER, j INTEGER) +CREATE TABLE test( + i INTEGER, + j INTEGER +) # start two transactions statement ok con1 @@ -20,6 +23,7 @@ ALTER TABLE test RENAME COLUMN i TO k # first transaction should see the new name statement error con1 SELECT i FROM test +---- statement ok con1 SELECT k FROM test @@ -30,6 +34,7 @@ SELECT i FROM test statement error con2 SELECT k FROM test +---- # now commit statement ok con1 @@ -41,6 +46,7 @@ SELECT i FROM test statement error con2 SELECT k FROM test +---- # now rollback the second transasction # it should now see the new name @@ -49,6 +55,7 @@ COMMIT statement error con1 SELECT i FROM test +---- statement ok SELECT k FROM test diff --git a/test/sql/alter/rename_col/test_rename_col_unique.test b/test/sql/alter/rename_col/test_rename_col_unique.test index 6be4604c0e23..e499ef34a2c1 100644 --- a/test/sql/alter/rename_col/test_rename_col_unique.test +++ b/test/sql/alter/rename_col/test_rename_col_unique.test @@ -10,6 +10,7 @@ INSERT INTO test (i, j) VALUES (1, 1), (2, 2) statement error INSERT INTO test (i, j) VALUES (1, 1) +---- statement ok ALTER TABLE test RENAME COLUMN i TO k @@ -20,4 +21,5 @@ INSERT INTO test (k, j) VALUES (3, 3), (4, 4) statement error INSERT INTO test (k, j) VALUES (1, 1) +---- diff --git a/test/sql/alter/rename_table/test_rename_table.test b/test/sql/alter/rename_table/test_rename_table.test index 9d54aff56e1b..288ba48320ad 100644 --- a/test/sql/alter/rename_table/test_rename_table.test +++ b/test/sql/alter/rename_table/test_rename_table.test @@ -22,6 +22,7 @@ SELECT * FROM tbl2 statement error SELECT * FROM tbl +---- statement ok ROLLBACK @@ -34,6 +35,7 @@ SELECT * FROM tbl; statement error SELECT * FROM tbl2 +---- statement ok BEGIN TRANSACTION; @@ -52,6 +54,7 @@ SELECT * FROM tbl2 statement error SELECT * FROM tbl +---- query I SELECT * FROM tbl2 @@ -84,6 +87,7 @@ SELECT * FROM tbl2 statement error SELECT * FROM tbl5 +---- statement ok BEGIN TRANSACTION @@ -103,6 +107,7 @@ COMMIT # everything was committed statement error SELECT * FROM tbl2 +---- query I SELECT * FROM tbl5 diff --git a/test/sql/alter/rename_table/test_rename_table_case.test b/test/sql/alter/rename_table/test_rename_table_case.test new file mode 100644 index 000000000000..de7943eb2075 --- /dev/null +++ b/test/sql/alter/rename_table/test_rename_table_case.test @@ -0,0 +1,22 @@ +# name: test/sql/alter/rename_table/test_rename_table_case.test +# description: Test RENAME TABLE only changing the case +# group: [rename_table] + +statement ok +create table MY_TABLE (i integer); + +statement ok +insert into MY_TABLE values(42); + +statement ok +alter table MY_TABLE rename to my_table; + +query I +select * from my_table; +---- +42 + +query I +select * from MY_TABLE; +---- +42 diff --git a/test/sql/alter/rename_table/test_rename_table_chain_commit.test b/test/sql/alter/rename_table/test_rename_table_chain_commit.test index 9da889140dd2..9f66b7db2ab3 100644 --- a/test/sql/alter/rename_table/test_rename_table_chain_commit.test +++ b/test/sql/alter/rename_table/test_rename_table_chain_commit.test @@ -53,18 +53,22 @@ SELECT * FROM entry statement error con2 SELECT * FROM entry2 +---- statement error con2 SELECT * FROM entry3 +---- statement error con2 SELECT * FROM entry4 +---- statement ok con1 COMMIT statement error con2 SELECT * FROM entry +---- query I con2 SELECT * FROM entry4 diff --git a/test/sql/alter/rename_table/test_rename_table_chain_rollback.test b/test/sql/alter/rename_table/test_rename_table_chain_rollback.test index d7b1e689b951..a135a35933d4 100644 --- a/test/sql/alter/rename_table/test_rename_table_chain_rollback.test +++ b/test/sql/alter/rename_table/test_rename_table_chain_rollback.test @@ -47,12 +47,15 @@ SELECT * FROM entry statement error con2 SELECT * FROM entry2 +---- statement error con2 SELECT * FROM entry3 +---- statement error con2 SELECT * FROM entry4 +---- statement ok con1 ROLLBACK @@ -64,5 +67,6 @@ SELECT * FROM entry statement error con2 SELECT * FROM entry4 +---- diff --git a/test/sql/alter/rename_table/test_rename_table_collision.test b/test/sql/alter/rename_table/test_rename_table_collision.test index c62089e048c6..45a31076e6bf 100644 --- a/test/sql/alter/rename_table/test_rename_table_collision.test +++ b/test/sql/alter/rename_table/test_rename_table_collision.test @@ -56,6 +56,7 @@ SELECT i FROM t2 ORDER BY i; statement error con1 SELECT * FROM t1 +---- # Now we're going to do a rollback instead of a commit @@ -68,9 +69,11 @@ ALTER TABLE t2 RENAME TO t3; statement error con1 SELECT i FROM t3 ORDER BY i +---- statement error con2 SELECT i FROM t2 ORDER BY i +---- query I con2 SELECT i FROM t3 ORDER BY i @@ -132,6 +135,7 @@ ALTER TABLE t2 RENAME TO t3 statement error con2 CREATE TABLE t3 (i INTEGER) +---- statement ok con1 ROLLBACK @@ -152,6 +156,7 @@ ALTER TABLE t2 RENAME TO t3 statement error con1 ALTER TABLE t2 RENAME TO t4 +---- statement ok con1 ROLLBACK @@ -183,9 +188,11 @@ DROP TABLE e1 statement error con1 ALTER TABLE e1 RENAME TO e2 +---- statement error con2 ALTER TABLE e2 RENAME TO e1 +---- statement ok con1 ROLLBACK diff --git a/test/sql/alter/rename_table/test_rename_table_constraints.test b/test/sql/alter/rename_table/test_rename_table_constraints.test index 7c29d56aeace..9407c3042b46 100644 --- a/test/sql/alter/rename_table/test_rename_table_constraints.test +++ b/test/sql/alter/rename_table/test_rename_table_constraints.test @@ -12,6 +12,7 @@ INSERT INTO tbl VALUES (999, 4), (1000, 5) statement error INSERT INTO tbl VALUES (999, 4), (1000, 5) +---- # check value constrain (j < 10) statement ok @@ -19,6 +20,7 @@ INSERT INTO tbl VALUES (9999, 0), (10000, 1) statement error INSERT INTO tbl VALUES (777, 10), (888, 10) +---- query II SELECT * FROM tbl @@ -34,14 +36,17 @@ ALTER TABLE tbl RENAME TO new_tbl # insert two conflicting pairs at the same time statement error INSERT INTO new_tbl VALUES (999, 0), (1000, 1) +---- # insert two conflicting pairs at the same time statement error INSERT INTO new_tbl VALUES (9999, 0), (10000, 1) +---- # insert values out of range constrain statement error INSERT INTO new_tbl VALUES (1, 10), (2, 999) +---- statement ok INSERT INTO new_tbl VALUES (66, 6), (55, 5) diff --git a/test/sql/alter/rename_table/test_rename_table_incorrect.test b/test/sql/alter/rename_table/test_rename_table_incorrect.test index b3bd6ac68d98..81da8b9d67a5 100644 --- a/test/sql/alter/rename_table/test_rename_table_incorrect.test +++ b/test/sql/alter/rename_table/test_rename_table_incorrect.test @@ -11,8 +11,10 @@ CREATE TABLE tbl2(i INTEGER) # Renaming a non existing table statement error ALTER TABLE non_table RENAME TO tbl +---- # rename to an already existing table statement error ALTER TABLE tbl2 RENAME TO tbl +---- diff --git a/test/sql/alter/rename_table/test_rename_table_many_transactions.test b/test/sql/alter/rename_table/test_rename_table_many_transactions.test index 505e95233464..05d15b3ced81 100644 --- a/test/sql/alter/rename_table/test_rename_table_many_transactions.test +++ b/test/sql/alter/rename_table/test_rename_table_many_transactions.test @@ -45,16 +45,20 @@ SELECT * FROM tbl1 statement error con2 SELECT * FROM tbl2 +---- statement error con2 SELECT * FROM tbl3 +---- statement error con2 SELECT * FROM tbl4 +---- # con3 sees ONLY tbl2 statement error con3 SELECT * FROM tbl1 +---- query I con3 SELECT * FROM tbl2 @@ -64,16 +68,20 @@ SELECT * FROM tbl2 statement error con3 SELECT * FROM tbl3 +---- statement error con3 SELECT * FROM tbl4 +---- # con4 sees ONLY tbl3 statement error con4 SELECT * FROM tbl1 +---- statement error con4 SELECT * FROM tbl2 +---- query I con4 SELECT * FROM tbl3 @@ -83,16 +91,20 @@ SELECT * FROM tbl3 statement error con4 SELECT * FROM tbl4 +---- # con1 sees ONLY tbl4 statement error con1 SELECT * FROM tbl1 +---- statement error con1 SELECT * FROM tbl2 +---- statement error con1 SELECT * FROM tbl3 +---- query I con1 SELECT * FROM tbl4 diff --git a/test/sql/alter/rename_table/test_rename_table_transactions.test b/test/sql/alter/rename_table/test_rename_table_transactions.test index 9254dc0572da..85ac928a57e6 100644 --- a/test/sql/alter/rename_table/test_rename_table_transactions.test +++ b/test/sql/alter/rename_table/test_rename_table_transactions.test @@ -25,6 +25,7 @@ SELECT * FROM tbl2 statement error con1 SELECT * FROM tbl +---- query I con2 SELECT * FROM tbl @@ -34,6 +35,7 @@ SELECT * FROM tbl statement error con2 SELECT * FROM tbl2 +---- statement ok con1 COMMIT @@ -43,9 +45,11 @@ COMMIT statement error con1 SELECT * FROM tbl +---- statement error con2 SELECT * FROM tbl +---- query I con1 SELECT * FROM tbl2 @@ -66,6 +70,7 @@ CREATE TABLE tbl(i INTEGER); # tbl2 is still occupied though statement error con1 CREATE TABLE tbl2(i INTEGER); +---- # we can drop and re-create the table statement ok con1 @@ -77,3 +82,4 @@ CREATE TABLE tbl2(i INTEGER); # a rename fails now statement error con1 ALTER TABLE tbl RENAME TO tbl2 +---- diff --git a/test/sql/alter/rename_table/test_rename_table_view.test b/test/sql/alter/rename_table/test_rename_table_view.test index 88bd2e21eefc..bac01128e089 100644 --- a/test/sql/alter/rename_table/test_rename_table_view.test +++ b/test/sql/alter/rename_table/test_rename_table_view.test @@ -13,6 +13,7 @@ CREATE VIEW v1 AS SELECT * FROM tbl statement error ALTER TABLE v1 RENAME TO v2 +---- query I SELECT * FROM v1 diff --git a/test/sql/alter/rename_table/test_rename_table_with_dependency_check.test b/test/sql/alter/rename_table/test_rename_table_with_dependency_check.test index 406e2a06cfc4..8f505ab28dc9 100644 --- a/test/sql/alter/rename_table/test_rename_table_with_dependency_check.test +++ b/test/sql/alter/rename_table/test_rename_table_with_dependency_check.test @@ -11,6 +11,7 @@ CREATE UNIQUE INDEX i1 ON t0 (c0); # Cannot alter entry "t0" because there are entries that depend on it statement error ALTER TABLE t0 RENAME TO t3; +---- # t3 is not exist statement ok @@ -19,10 +20,12 @@ CREATE TABLE t3 (c0 INT); # Cannot alter entry "t0" because there are entries that depend on it statement error ALTER TABLE t0 RENAME TO t4; +---- statement ok DROP TABLE t0; # t4 is not exist statement error -ANALYZE t4; \ No newline at end of file +ANALYZE t4; +---- diff --git a/test/sql/alter/rename_view/test_rename_view.test b/test/sql/alter/rename_view/test_rename_view.test index e666d6a94a17..53c155ec6540 100644 --- a/test/sql/alter/rename_view/test_rename_view.test +++ b/test/sql/alter/rename_view/test_rename_view.test @@ -21,6 +21,7 @@ SELECT * FROM vw2 statement error SELECT * FROM vw +---- statement ok ROLLBACK @@ -33,6 +34,7 @@ SELECT * FROM vw; statement error SELECT * FROM vw2 +---- statement ok BEGIN TRANSACTION; @@ -51,6 +53,7 @@ SELECT * FROM vw2 statement error SELECT * FROM vw +---- statement ok CREATE VIEW vw AS SELECT i+1 AS i FROM tbl @@ -64,7 +67,9 @@ SELECT * FROM vw # cannot rename a system view statement error ALTER VIEW sqlite_master RENAME TO my_sqlite_master +---- # cannot rename a view that does not exist statement error ALTER VIEW nonexistingview RENAME TO my_new_view +---- diff --git a/test/sql/alter/rename_view/test_rename_view_incorrect.test b/test/sql/alter/rename_view/test_rename_view_incorrect.test index 44565ac40459..89e4c4a558ef 100644 --- a/test/sql/alter/rename_view/test_rename_view_incorrect.test +++ b/test/sql/alter/rename_view/test_rename_view_incorrect.test @@ -14,8 +14,10 @@ CREATE VIEW vw2 AS SELECT 1729 AS i # Renaming a non existing view statement error ALTER VIEW non_view RENAME TO vw +---- # rename to an already existing view statement error ALTER VIEW vw2 RENAME TO vw +---- diff --git a/test/sql/alter/rename_view/test_rename_view_many_transactions.test b/test/sql/alter/rename_view/test_rename_view_many_transactions.test index 89bef182a90b..6f2700fa1bfe 100644 --- a/test/sql/alter/rename_view/test_rename_view_many_transactions.test +++ b/test/sql/alter/rename_view/test_rename_view_many_transactions.test @@ -48,16 +48,20 @@ SELECT * FROM vw1 statement error con2 SELECT * FROM vw2 +---- statement error con2 SELECT * FROM vw3 +---- statement error con2 SELECT * FROM vw4 +---- # con3 sees ONLY vw2 statement error con3 SELECT * FROM vw1 +---- query I con3 SELECT * FROM vw2 @@ -67,16 +71,20 @@ SELECT * FROM vw2 statement error con3 SELECT * FROM vw3 +---- statement error con3 SELECT * FROM vw4 +---- # con4 sees ONLY vw3 statement error con4 SELECT * FROM vw1 +---- statement error con4 SELECT * FROM vw2 +---- query I con4 SELECT * FROM vw3 @@ -86,16 +94,20 @@ SELECT * FROM vw3 statement error con4 SELECT * FROM vw4 +---- # con1 sees ONLY vw4 statement error con1 SELECT * FROM vw1 +---- statement error con1 SELECT * FROM vw2 +---- statement error con1 SELECT * FROM vw3 +---- query I con1 SELECT * FROM vw4 diff --git a/test/sql/alter/rename_view/test_rename_view_table.test b/test/sql/alter/rename_view/test_rename_view_table.test index e2f448c62123..19ab6faa984b 100644 --- a/test/sql/alter/rename_view/test_rename_view_table.test +++ b/test/sql/alter/rename_view/test_rename_view_table.test @@ -13,6 +13,7 @@ CREATE VIEW v1 AS SELECT * FROM tbl statement error ALTER VIEW tbl RENAME TO tbl2 +---- query I SELECT * FROM v1 diff --git a/test/sql/alter/rename_view/test_rename_view_transactions.test b/test/sql/alter/rename_view/test_rename_view_transactions.test index a92e0cbe7820..065b74f885c1 100644 --- a/test/sql/alter/rename_view/test_rename_view_transactions.test +++ b/test/sql/alter/rename_view/test_rename_view_transactions.test @@ -28,6 +28,7 @@ SELECT * FROM vw2 statement error con1 SELECT * FROM vw +---- query I con2 SELECT * FROM vw @@ -37,6 +38,7 @@ SELECT * FROM vw statement error con2 SELECT * FROM vw2 +---- statement ok con1 COMMIT @@ -46,9 +48,11 @@ COMMIT statement error con1 SELECT * FROM vw +---- statement error con2 SELECT * FROM vw +---- query I con1 SELECT * FROM vw2 diff --git a/test/sql/alter/test_alter_if_exists.test b/test/sql/alter/test_alter_if_exists.test index 5a8f8f753b44..001909ab1d3f 100644 --- a/test/sql/alter/test_alter_if_exists.test +++ b/test/sql/alter/test_alter_if_exists.test @@ -13,6 +13,7 @@ ALTER TABLE IF EXISTS t0 ADD COLUMN c0 INT; # Make sure the column was not actually created statement error INSERT INTO t0 VALUES (42); +---- # Add column if not exists to non-existing table statement ok @@ -20,6 +21,7 @@ ALTER TABLE IF EXISTS t0 ADD COLUMN IF NOT EXISTS c0 int; statement error INSERT INTO t0 VALUES (42); +---- statement ok CREATE TABLE t0 (c0 INT); @@ -35,6 +37,7 @@ INSERT INTO t0 VALUES (42); # Alter existing table with existing column statement error ALTER TABLE t0 ADD COLUMN c0 int; +---- # Alter existing table with new column statement ok @@ -61,18 +64,22 @@ ALTER TABLE IF EXISTS t0 DROP COLUMN if EXISTS c3; statement error ALTER TABLE t1 DROP COLUMN IF EXISTS c3; +---- statement error ALTER TABLE t1 DROP COLUMN c3; +---- statement error ALTER TABLE t0 DROP COLUMN c3; +---- statement ok ALTER TABLE t0 DROP COLUMN IF EXISTS c3 statement error ALTER TABLE IF EXISTS t0 DROP COLUMN c3 +---- # Change type of column if exists statement ok @@ -81,6 +88,7 @@ ALTER TABLE IF EXISTS t1 ALTER COLUMN c0 TYPE varchar; # Not supported for ALTER COLUMN statement error ALTER TABLE IF EXISTS t1 ALTER COLUMN IF EXISTS c0 TYPE varchar; +---- # 'rowid' pseudo-column statement ok @@ -135,4 +143,4 @@ SELECT rowid FROM unit; 0 1 2 -3 \ No newline at end of file +3 diff --git a/test/sql/attach/attach_checkpoint_deadlock.test_slow b/test/sql/attach/attach_checkpoint_deadlock.test_slow new file mode 100644 index 000000000000..b6b9784ac9f9 --- /dev/null +++ b/test/sql/attach/attach_checkpoint_deadlock.test_slow @@ -0,0 +1,40 @@ +# name: test/sql/attach/attach_checkpoint_deadlock.test_slow +# description: Deadlock when checkpointing multiple databases +# group: [attach] + +require noforcestorage + +require skip_reload + +concurrentforeach dbname foo bar i1 i2 i3 i4 i5 i6 i7 i8 i9 + +statement ok +attach '__TEST_DIR__/checkpoint_${dbname}.duckdb' as ${dbname} + +statement ok +create table ${dbname}.${dbname}(foo bigint) + +statement ok +insert into ${dbname}.${dbname} select sum(i) from range(1000000) t(i) + +statement maybe +checkpoint ${dbname} +---- +there are other transactions + +statement ok +select + coalesce(t.table_catalog, current_database()) as "database", + t.table_schema as "schema", + t.table_name as "name", + t.table_type as "type", + array_agg(c.column_name order by c.ordinal_position) as "column_names", + array_agg(c.data_type order by c.ordinal_position) as "column_types", + array_agg(c.is_nullable = 'YES' order by c.ordinal_position) as "column_nullable" +from information_schema.tables t +join information_schema.columns c on t.table_schema = c.table_schema and t.table_name = c.table_name +where t.table_schema = 'main' +group by 1, 2, 3, 4 +order by 1, 2, 3, 4 + +endloop diff --git a/test/sql/attach/attach_concurrent_checkpoint.test_slow b/test/sql/attach/attach_concurrent_checkpoint.test_slow new file mode 100644 index 000000000000..761f30f05e43 --- /dev/null +++ b/test/sql/attach/attach_concurrent_checkpoint.test_slow @@ -0,0 +1,30 @@ +# name: test/sql/attach/attach_concurrent_checkpoint.test_slow +# description: Concurrently checkpoint the same database +# group: [attach] + +require noforcestorage + +require skip_reload + +statement ok +ATTACH '__TEST_DIR__/concurrent_checkpoint.db' AS db + +statement ok +CREATE TABLE db.integers(i INTEGER); + +concurrentloop i 0 10 + +statement ok +INSERT INTO db.integers FROM range(1000000); + +statement maybe +CHECKPOINT db +---- +there are other transactions + +endloop + +query II +SELECT COUNT(*), SUM(i) FROM db.integers +---- +10000000 4999995000000 diff --git a/test/sql/attach/attach_cross_catalog.test b/test/sql/attach/attach_cross_catalog.test index abf56d9e255d..e7d119f087e2 100644 --- a/test/sql/attach/attach_cross_catalog.test +++ b/test/sql/attach/attach_cross_catalog.test @@ -48,4 +48,4 @@ USE db1 query I SELECT 'happy'::mood ---- -happy \ No newline at end of file +happy diff --git a/test/sql/attach/attach_dependencies.test b/test/sql/attach/attach_dependencies.test new file mode 100644 index 000000000000..c3d593bc91bd --- /dev/null +++ b/test/sql/attach/attach_dependencies.test @@ -0,0 +1,54 @@ +# name: test/sql/attach/attach_dependencies.test +# description: Test that we can ATTACH databases with dependencies in the schema +# group: [attach] + +# foreign key + +load __TEST_DIR__/fk.db + +statement ok +CREATE TABLE pk_tbl (id INTEGER PRIMARY KEY, name VARCHAR UNIQUE); + +statement ok +CREATE TABLE fk_tbl (id INTEGER REFERENCES pk_tbl(id)); + +# alter columns + +load __TEST_DIR__/alter_column.db + +statement ok +CREATE TABLE tbl_alter_column (id INT, other INT, nn_col INT NOT NULL, rm INT, rename_c INT, my_def INT, drop_def INT DEFAULT 10, new_null_col INT); + +statement ok +ALTER TABLE tbl_alter_column ADD COLUMN k INTEGER; + +statement ok +ALTER TABLE tbl_alter_column ALTER other SET DATA TYPE VARCHAR USING concat(other, '_', 'yay'); + +statement ok +ALTER TABLE tbl_alter_column ALTER COLUMN nn_col DROP NOT NULL; + +statement ok +ALTER TABLE tbl_alter_column DROP rm; + +statement ok +ALTER TABLE tbl_alter_column RENAME rename_c TO my_new_col; + +statement ok +ALTER TABLE tbl_alter_column ALTER COLUMN my_def SET DEFAULT 10; + +statement ok +ALTER TABLE tbl_alter_column ALTER COLUMN drop_def DROP DEFAULT; + +statement ok +ALTER TABLE tbl_alter_column ALTER COLUMN new_null_col SET NOT NULL; + +# now attach all databases + +load __TEST_DIR__/other.db + +statement ok +ATTACH '__TEST_DIR__/fk.db'; + +statement ok +ATTACH '__TEST_DIR__/alter_column.db'; diff --git a/test/sql/attach/attach_duckdb_type.test b/test/sql/attach/attach_duckdb_type.test new file mode 100644 index 000000000000..f7aaf0af9694 --- /dev/null +++ b/test/sql/attach/attach_duckdb_type.test @@ -0,0 +1,31 @@ +# name: test/sql/attach/attach_duckdb_type.test +# description: Test attaching a file with type DUCKDB +# group: [attach] + +require noforcestorage + +statement ok +PRAGMA enable_verification + +statement ok +ATTACH '__TEST_DIR__/first.db' (TYPE DUCKDB); + +query I +SELECT database_name FROM duckdb_databases() ORDER BY 1; +---- +first +memory +system +temp + +# DUCKDB type does not allow unrecognized options + +statement error +ATTACH '__TEST_DIR__/error.db' (TYPE DUCKDB, HELLO, OPTION 2); +---- +Unrecognized option for attach + +statement error +ATTACH '__TEST_DIR__/error.db' (HELLO, OPTION 2); +---- +Unrecognized option for attach diff --git a/test/sql/attach/attach_enums.test b/test/sql/attach/attach_enums.test index 3c1e0363ac21..aaeb43ef4b8c 100644 --- a/test/sql/attach/attach_enums.test +++ b/test/sql/attach/attach_enums.test @@ -13,6 +13,30 @@ ATTACH '__TEST_DIR__/attach_enums.db' AS db1 statement ok CREATE TYPE db1.mood AS ENUM ('sad', 'ok', 'happy'); +query I +SELECT enum_range(NULL::db1.mood) AS my_enum_range; +---- +[sad, ok, happy] + +query I +SELECT enum_range(NULL::db1.main.mood) AS my_enum_range; +---- +[sad, ok, happy] + +statement error +SELECT enum_range(NULL::xx.db1.main.mood) AS my_enum_range; +---- +Too many qualifications for type name + +statement ok +DROP TYPE db1.mood + +statement ok +DROP TYPE IF EXISTS db1.main.mood + +statement ok +CREATE TYPE db1.mood AS ENUM ('sad', 'ok', 'happy'); + statement ok CREATE TABLE db1.person ( name text, @@ -61,4 +85,4 @@ Moe happy query TT select * from db2.person ---- -Moe kkcry \ No newline at end of file +Moe kkcry diff --git a/test/sql/attach/attach_filepath_roundtrip.test b/test/sql/attach/attach_filepath_roundtrip.test new file mode 100644 index 000000000000..b980130e5530 --- /dev/null +++ b/test/sql/attach/attach_filepath_roundtrip.test @@ -0,0 +1,120 @@ +# name: test/sql/attach/attach_filepath_roundtrip.test +# description: Test file path roundtripping and concurrency +# group: [attach] + +require noforcestorage + +require notwindows + +statement ok +PRAGMA enable_verification + +# use a concurrent loop to attach many databases + +concurrentloop i 1 100 + +statement maybe +ATTACH '__TEST_DIR__/concurrent.db'; +---- + +endloop + +query I +SELECT database_name FROM duckdb_databases() ORDER BY 1; +---- +concurrent +memory +system +temp + +statement ok +DETACH concurrent; + +# roundtrip + +statement ok +ATTACH '__TEST_DIR__/db1.db'; + +statement ok +DETACH db1; + +statement ok +ATTACH '__TEST_DIR__/db1.db'; + +# multiple connections + +statement ok con2 +ATTACH '__TEST_DIR__/con2_rollback_detach.db'; + +statement ok con1 +START TRANSACTION; + +statement ok con2 +START TRANSACTION; + +# attach files in con1 + +statement ok con1 +ATTACH '__TEST_DIR__/con1.db'; + +statement ok con1 +ATTACH '__TEST_DIR__/con1_commit.db'; + +# detach file in con2 + +statement ok con2 +DETACH con2_rollback_detach; + +# we can't attach, because we did not commit the detach yet + +statement error con1 +ATTACH '__TEST_DIR__/con2_rollback_detach.db'; +---- +already attached + +# can't attach con1.db file in con2 + +statement error con2 +ATTACH '__TEST_DIR__/con1.db'; +---- +write-write + +statement ok con1 +DETACH con1; + +# we still can't attach (need to commit the DETACH) + +statement error con2 +ATTACH '__TEST_DIR__/con1.db'; +---- +transaction is aborted + +# commit con1 and roll back con2 + +statement ok con1 +COMMIT; + +statement ok con2 +ROLLBACK + +# now we can ATTACH, as we committed the DETACH + +statement ok con2 +ATTACH '__TEST_DIR__/con1.db'; + +statement error con1 +ATTACH '__TEST_DIR__/con1.db'; +---- +already attached + +statement error con2 +ATTACH '__TEST_DIR__/con1_commit.db'; +---- +already attached + +# we still can't ATTACH, as we rolled back the DETACH + +statement error con1 +ATTACH '__TEST_DIR__/con2_rollback_detach.db'; +---- + diff --git a/test/sql/attach/attach_force_checkpoint_deadlock.test_slow b/test/sql/attach/attach_force_checkpoint_deadlock.test_slow new file mode 100644 index 000000000000..fa3285d9d0e4 --- /dev/null +++ b/test/sql/attach/attach_force_checkpoint_deadlock.test_slow @@ -0,0 +1,40 @@ +# name: test/sql/attach/attach_force_checkpoint_deadlock.test_slow +# description: Deadlock when force checkpointing multiple databases +# group: [attach] + +require noforcestorage + +require skip_reload + +concurrentforeach dbname foo bar i1 i2 i3 i4 i5 i6 i7 i8 i9 + +statement ok +attach '__TEST_DIR__/force_checkpoint_${dbname}.duckdb' as ${dbname} + +statement ok +create table ${dbname}.${dbname}(foo bigint) + +statement ok +insert into ${dbname}.${dbname} select sum(i) from range(1000000) t(i) + +statement maybe +force checkpoint ${dbname} +---- +another thread is running FORCE CHECKPOINT + +statement ok +select + coalesce(t.table_catalog, current_database()) as "database", + t.table_schema as "schema", + t.table_name as "name", + t.table_type as "type", + array_agg(c.column_name order by c.ordinal_position) as "column_names", + array_agg(c.data_type order by c.ordinal_position) as "column_types", + array_agg(c.is_nullable = 'YES' order by c.ordinal_position) as "column_nullable" +from information_schema.tables t +join information_schema.columns c on t.table_schema = c.table_schema and t.table_name = c.table_name +where t.table_schema = 'main' +group by 1, 2, 3, 4 +order by 1, 2, 3, 4 + +endloop diff --git a/test/sql/attach/attach_fsspec.test b/test/sql/attach/attach_fsspec.test index 89eb9da75a06..f9d6ead27b92 100644 --- a/test/sql/attach/attach_fsspec.test +++ b/test/sql/attach/attach_fsspec.test @@ -4,10 +4,9 @@ statement error ATTACH 'dummy_extension:/hello.world'; ---- -Extension not found +---- +not found statement error ATTACH 'file://dummy.csv' ---- -File not found \ No newline at end of file +---- diff --git a/test/sql/attach/attach_if_not_exists.test b/test/sql/attach/attach_if_not_exists.test new file mode 100644 index 000000000000..3ca4170f892f --- /dev/null +++ b/test/sql/attach/attach_if_not_exists.test @@ -0,0 +1,65 @@ +# name: test/sql/attach/attach_if_not_exists.test +# description: Test ATTACH IF NOT EXISTS +# group: [attach] + +require skip_reload + +statement ok +PRAGMA enable_verification + +statement ok +ATTACH '__TEST_DIR__/attach_if_not_exists.db' AS db1 + +# ATTACH IF NOT EXISTS +statement ok +ATTACH IF NOT EXISTS '__TEST_DIR__/attach_if_not_exists.db' AS db1 + +# skip is based on database name, not database path +statement ok +ATTACH IF NOT EXISTS ':memory:' AS db1 + +statement ok +CREATE TABLE db1.integers(i INTEGER); + +# attaching the same database with a different alias throws an exception +statement error +ATTACH IF NOT EXISTS '__TEST_DIR__/attach_if_not_exists.db' AS db2 +---- +already attached + +# as does attaching to the same alias +statement error +ATTACH ':memory:' AS db1 +---- +already exists + +# detach and re-attach in read-only mode +statement ok +DETACH db1 + +statement ok +ATTACH '__TEST_DIR__/attach_if_not_exists.db' AS db1 (READ_WRITE); + +statement error +ATTACH IF NOT EXISTS '__TEST_DIR__/attach_if_not_exists.db' AS db1 (READ_ONLY); +---- +already attached in READ_WRITE mode, cannot re-attach in READ_ONLY mode + +# automatic always works +statement ok +ATTACH IF NOT EXISTS '__TEST_DIR__/attach_if_not_exists.db' AS db1 + +statement ok +DETACH db1 + +statement ok +ATTACH '__TEST_DIR__/attach_if_not_exists.db' AS db1 (READ_ONLY) + +statement error +ATTACH IF NOT EXISTS '__TEST_DIR__/attach_if_not_exists.db' AS db1 (READ_WRITE); +---- +already attached in READ_ONLY mode, cannot re-attach in READ_WRITE mode + +# automatic always works +statement ok +ATTACH IF NOT EXISTS '__TEST_DIR__/attach_if_not_exists.db' AS db1 diff --git a/test/sql/attach/attach_macros.test b/test/sql/attach/attach_macros.test new file mode 100644 index 000000000000..4207cfcabd10 --- /dev/null +++ b/test/sql/attach/attach_macros.test @@ -0,0 +1,35 @@ +# name: test/sql/attach/attach_macros.test +# description: Tests for macro functions in attached databases +# group: [attach] + +require noforcestorage + +statement ok +PRAGMA enable_verification + +statement ok +ATTACH ':memory:' AS db1; + +statement ok +CREATE TABLE db1.tbl AS SELECT 42 AS x, 3 AS y; + +statement ok +CREATE MACRO db1.two_x_plus_y(x, y) AS 2 * x + y; + +query I +SELECT db1.two_x_plus_y(x, y) FROM db1.tbl; +---- +87 + +query I +SELECT db1.main.two_x_plus_y(x, y) FROM db1.tbl; +---- +87 + +statement ok +USE db1 + +query I +SELECT two_x_plus_y(x, y) FROM db1.tbl; +---- +87 diff --git a/test/sql/attach/attach_nested_types.test b/test/sql/attach/attach_nested_types.test index 24922842e57c..9b63c6e8c052 100644 --- a/test/sql/attach/attach_nested_types.test +++ b/test/sql/attach/attach_nested_types.test @@ -69,4 +69,4 @@ SELECT database.table FROM "table" query I SELECT database.schema.table FROM "table" ---- -{'col': {'field': 42}} \ No newline at end of file +{'col': {'field': 42}} diff --git a/test/sql/attach/attach_persistent.test b/test/sql/attach/attach_persistent.test index 918eb832b97f..7c298478c5d5 100644 --- a/test/sql/attach/attach_persistent.test +++ b/test/sql/attach/attach_persistent.test @@ -12,6 +12,7 @@ ATTACH '__TEST_DIR__/persistent_attach.db' statement error ATTACH '__TEST_DIR__/persistent_attach.db' +---- statement ok CREATE TABLE persistent_attach.integers(i INTEGER) diff --git a/test/sql/attach/attach_same_db.test b/test/sql/attach/attach_same_db.test index 67a94268e8a2..ccb25fb80c4c 100644 --- a/test/sql/attach/attach_same_db.test +++ b/test/sql/attach/attach_same_db.test @@ -4,6 +4,8 @@ require skip_reload +require notwindows + statement ok PRAGMA enable_verification @@ -12,3 +14,17 @@ ATTACH '__TEST_DIR__/attach_same_db.db' AS db1 statement error ATTACH '__TEST_DIR__/attach_same_db.db' AS db2 +---- + +# we can detach and attach in the same transaction +statement ok +BEGIN + +statement ok +DETACH db1 + +statement ok +ATTACH '__TEST_DIR__/attach_same_db.db' AS db1 + +statement ok +COMMIT diff --git a/test/sql/attach/detach_keyword.test b/test/sql/attach/detach_keyword.test new file mode 100644 index 000000000000..41d1ddda1cbd --- /dev/null +++ b/test/sql/attach/detach_keyword.test @@ -0,0 +1,14 @@ +# name: test/sql/attach/detach_keyword.test +# description: Test DETACH with keywords +# group: [attach] + +require skip_reload + +statement ok +PRAGMA enable_verification + +statement ok +ATTACH DATABASE ':memory:' AS varchar; + +statement ok +DETACH varchar diff --git a/test/sql/attach/system_catalog.test b/test/sql/attach/system_catalog.test index 3474d187991d..ea0bda0fecfb 100644 --- a/test/sql/attach/system_catalog.test +++ b/test/sql/attach/system_catalog.test @@ -10,9 +10,11 @@ PRAGMA enable_verification # cannot detach system/temp catalogs statement error DETACH DATABASE system +---- statement error DETACH DATABASE temp +---- # cannot create entries in the system catalog statement error diff --git a/test/sql/binder/alias_error_10057.test b/test/sql/binder/alias_error_10057.test new file mode 100644 index 000000000000..839967abb52b --- /dev/null +++ b/test/sql/binder/alias_error_10057.test @@ -0,0 +1,14 @@ +# name: test/sql/binder/alias_error_10057.test +# description: Test old_implicit_cast setting +# group: [binder] + +statement ok +PRAGMA enable_verification + +statement error +with test_data as ( + select 'foo' as a +) +select test_data.foobar as new_column from test_data where new_column is not null; +---- +foobar \ No newline at end of file diff --git a/test/sql/binder/integer_literal_binding.test b/test/sql/binder/integer_literal_binding.test new file mode 100644 index 000000000000..1302519bcc01 --- /dev/null +++ b/test/sql/binder/integer_literal_binding.test @@ -0,0 +1,44 @@ +# name: test/sql/binder/integer_literal_binding.test +# description: Test integer literal binding +# group: [binder] + +statement ok +PRAGMA enable_verification + +# integer literal binding for arithmetic +foreach type UTINYINT USMALLINT UINTEGER UBIGINT TINYINT SMALLINT INTEGER BIGINT + +query I +SELECT typeof(100::${type} + 1) == '${type}'; +---- +true + + +query I +SELECT typeof(100 + 1::${type}) == '${type}'; +---- +true + +endloop + +# integer literals out of range for type +query I +SELECT typeof(1::TINYINT + 100); +---- +TINYINT + +query I +SELECT typeof(1::TINYINT + 10000); +---- +INTEGER + +# integer literals with decimals +query I +SELECT typeof(1.05 + 1) +---- +DECIMAL(13,2) + +query I +SELECT typeof(1 + 1); +---- +INTEGER diff --git a/test/sql/binder/old_implicit_cast.test b/test/sql/binder/old_implicit_cast.test new file mode 100644 index 000000000000..355cbe632701 --- /dev/null +++ b/test/sql/binder/old_implicit_cast.test @@ -0,0 +1,39 @@ +# name: test/sql/binder/old_implicit_cast.test +# description: Test old_implicit_cast setting +# group: [binder] + +statement ok +CREATE TABLE integers AS SELECT 42 AS i, '5' AS v; + +statement error +SELECT i >= v FROM integers +---- +an explicit cast is required + +statement error +SELECT i[1] FROM integers +---- +No function matches + +statement error +SELECT [i, v] FROM integers +---- +an explicit cast is required + +statement ok +SET old_implicit_casting=true + +query I +SELECT i[1] FROM integers +---- +4 + +query I +SELECT i >= v FROM integers +---- +true + +query I +SELECT [i, v] FROM integers +---- +[42, 5] diff --git a/test/sql/binder/order_by_view.test b/test/sql/binder/order_by_view.test new file mode 100644 index 000000000000..bea21976777d --- /dev/null +++ b/test/sql/binder/order_by_view.test @@ -0,0 +1,15 @@ +# name: test/sql/binder/order_by_view.test +# description: Test ORDER BY a view with DISTINCT ON +# group: [binder] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE src("Name" VARCHAR, CreatedAt TIMESTAMP, userID VARCHAR, "Version" VARCHAR, Clients BIGINT, HasDocumentation BOOLEAN, HasCustomAddress BOOLEAN, HasHostname BOOLEAN, RunningContainers BIGINT, HasActions BOOLEAN); + +statement ok +CREATE VIEW model AS SELECT DISTINCT on(userID, date_trunc('day', CreatedAt)) date_trunc('day', CreatedAt) AS CreatedAt, "Version", Clients, HasCustomAddress, HasHostname, RunningContainers, HasDocumentation, HasActions FROM src WHERE name = 'events' ORDER BY userID, CreatedAt DESC; + +statement ok +SELECT HasCustomAddress,count(*) AS total_records FROM model WHERE 1 = 1 AND CreatedAt >= '2023-12-01' AND CreatedAt < '2023-12-13' GROUP BY HasCustomAddress ORDER BY true, total_records DESC NULLS LAST LIMIT 250 OFFSET 0; diff --git a/test/sql/binder/string_literal_binding.test b/test/sql/binder/string_literal_binding.test new file mode 100644 index 000000000000..26e576e5b51c --- /dev/null +++ b/test/sql/binder/string_literal_binding.test @@ -0,0 +1,112 @@ +# name: test/sql/binder/string_literal_binding.test +# description: Test string literal binding +# group: [binder] + +statement ok +PRAGMA enable_verification + +# string literals bind differently from strings +# they can be auto-cast to everything +# this is an integer comparison +query I +select '01'=1; +---- +true + +query I +SELECT cos('0') +---- +1 + +# date comparison +query I +select date '1992-01-01'>'1991-01-01'; +---- +true + +# Issue #9948 - this is a date comparison, and (2023-12-11 < 2023-12-11) = false +query I +select date '2023-12-11' < '2023-12-11 15:54:45.119'; +---- +false + +# Issue #8529 - Inconsistent Date Partition Handling Between DuckDB and PostgreSQL +statement ok +CREATE TABLE test ( + "date" DATE, + value VARCHAR +); + +statement ok +INSERT INTO test VALUES ('2023-08-01', 1), ('2023-08-02', 2), ('2023-08-03', 3), ('2023-08-04', 4), ('2023-08-05', 5), ('2023-08-06', 6), ('2023-08-07', 7); + +query II +SELECT * FROM test WHERE date >= '2023-08-05 00:00:00' AND date < '2023-08-06 00:00:00'; +---- +2023-08-05 5 + +# literals prefer to be strings +query I +SELECT '[hello]'[1]; +---- +[ + +query I +SELECT list('hello world') +---- +[hello world] + +# literals in IN clause work correctly +query I +select 1 IN ('1', '2'); +---- +true + +# as does COALESCE with string literals +query I +SELECT COALESCE(1, '1'); +---- +1 + +# we can do equality comparison with string columns +query I +select i=1 from (values ('01')) t(i); +---- +true + +# or with an IN clause +query I +select i IN (1) from (values ('01')) t(i); +---- +true + +# consistency between IN and equality +query I +WITH cte AS (SELECT '01' AS s) +SELECT 1=s AS in_res FROM cte; +---- +true + +query I +WITH cte AS (SELECT '01' AS s) +SELECT 1 IN (s) AS in_res FROM cte; +---- +true + +# but not > +statement error +select i>1 from (values ('01')) t(i); +---- +an explicit cast is required + +# we cannot do the same comparison with string columns +statement error +select date '1992-01-01'>i from (values ('1991-01-01')) t(i); +---- +Cannot compare values of type + +# we cannot subscript dates or other types +statement error +select d[1] from (values (date '1992-01-01')) t(d); +---- +No function matches the given name and argument types diff --git a/test/sql/binder/test_case_insensitive_binding.test b/test/sql/binder/test_case_insensitive_binding.test index 110f0c16436c..657f5927972d 100644 --- a/test/sql/binder/test_case_insensitive_binding.test +++ b/test/sql/binder/test_case_insensitive_binding.test @@ -74,6 +74,7 @@ DROP TABLE test # this counts as a duplicate column error statement error CREATE TABLE test("HeLlO" INTEGER, "HELLO" INTEGER) +---- # conflicts can come from different sources! statement ok @@ -84,18 +85,23 @@ CREATE TABLE test2("HELLO" INTEGER) statement error SELECT HeLlO FROM test1, test2 +---- statement error SELECT hello FROM test1, test2 +---- statement error SELECT "HeLlO" FROM test1, test2 +---- statement error SELECT "HELLO" FROM test1, test2 +---- statement error SELECT "HELLo" FROM test1, test2 +---- # in this case we can eliminate the conflict by specifically selecting the source statement ok diff --git a/test/sql/binder/test_function_chainging_alias.test b/test/sql/binder/test_function_chainging_alias.test index d7decbe568da..b93a8b409e93 100644 --- a/test/sql/binder/test_function_chainging_alias.test +++ b/test/sql/binder/test_function_chainging_alias.test @@ -32,6 +32,7 @@ SELECT v.trim('><') as trim_inequality, only_alphabet.lower() as lower trim_inequality.replace('%', '') as only_alphabet, FROM varchars +---- query III @@ -63,7 +64,7 @@ INSERT INTO varchars VALUES ('Test Function Chainging Alias'); # list query III -SELECT v.split(' ') strings, +SELECT v.split(' ')::VARCHAR strings, strings.lower() lower, lower.upper() upper FROM varchars @@ -82,8 +83,8 @@ FROM varchars # prepared statements statement ok PREPARE v1 AS -SELECT ?.split(' ').lower() lstrings, - ?.split(' ').upper() ustrings, +SELECT (?.split(' ')::VARCHAR).lower() lstrings, + (?.split(' ')::VARCHAR).upper() ustrings, list_concat(lstrings::VARCHAR[], ustrings::VARCHAR[]) as mix_case_srings query III diff --git a/test/sql/binder/test_having_alias.test b/test/sql/binder/test_having_alias.test index cba977aa331a..bfb0f2e06aa5 100644 --- a/test/sql/binder/test_having_alias.test +++ b/test/sql/binder/test_having_alias.test @@ -21,6 +21,7 @@ SELECT i, COUNT(*) AS k FROM integers GROUP BY i HAVING k=1 ORDER BY i; # alias cannot be qualified statement error SELECT i, COUNT(*) AS k FROM integers GROUP BY i HAVING integers.k=1 ORDER BY i; +---- # column name wins over the alias query II @@ -49,9 +50,11 @@ SELECT COUNT(i) AS j FROM integers HAVING j=5; # (SQLite says: 'Error: a GROUP BY clause is required before HAVING') statement error SELECT COUNT(i) AS i FROM integers HAVING i=5; +---- statement error SELECT COUNT(i) AS i FROM integers HAVING i=5 ORDER BY i; +---- # use the same alias multiple times query I @@ -68,7 +71,9 @@ SELECT COUNT(*) FROM (SELECT i, SUM(RANDOM()) AS k FROM integers GROUP BY i HAVI # if this is qualified we get an error statement error SELECT COUNT(i) AS i FROM integers HAVING integers.i=5 ORDER BY i; +---- # recursive alias without aggregate statement error SELECT i + i AS i FROM integers HAVING i=5 ORDER BY i; +---- diff --git a/test/sql/binder/test_implicit_struct_pack.test b/test/sql/binder/test_implicit_struct_pack.test index 17aaf780e3e3..da230d5bb179 100644 --- a/test/sql/binder/test_implicit_struct_pack.test +++ b/test/sql/binder/test_implicit_struct_pack.test @@ -31,9 +31,11 @@ select t from (SELECT * FROM test) AS t # shouldn't work statement error select main.test from main.test t +---- statement error select main.t from main.test t +---- # example query in feature request query T diff --git a/test/sql/binder/test_in_with_collate.test b/test/sql/binder/test_in_with_collate.test new file mode 100644 index 000000000000..e5f0d714e350 --- /dev/null +++ b/test/sql/binder/test_in_with_collate.test @@ -0,0 +1,75 @@ +# name: test/sql/binder/test_in_with_collate.test +# description: Test that we can use string collation in IN and NOT IN operator +# group: [binder] + +# create table with collation +statement ok +create table tbl (str varchar); + +# insert data with nocase +statement ok +insert into tbl values ('ABCDE'), ('aBcDe'); + +# insert data with noaccent +statement ok +insert into tbl values ('àbcdë'); + +# insert data with noaccent and nocase +statement ok +insert into tbl values ('ÀbCdÈ'); + +# query IN without collation +query I +select * from tbl where str in ('AbCdE'); +---- + +# query IN with nocase collation +query I +select * from tbl where str collate nocase in ('abcde'); +---- +ABCDE +aBcDe + +# query IN with noaccent collation +query I +select * from tbl where str collate noaccent in ('abcde'); +---- +àbcdë + +# query IN with nocase.noaccent collation +query I +select * from tbl where str collate nocase.noaccent in ('abcde'); +---- +ABCDE +aBcDe +àbcdë +ÀbCdÈ + +# query NOT IN without collation +query I +select * from tbl where str not in ('abcde'); +---- +ABCDE +aBcDe +àbcdë +ÀbCdÈ + +# query NOT IN with nocase collation +query I +select * from tbl where str collate nocase not in ('abcde'); +---- +àbcdë +ÀbCdÈ + +# query NOT IN with noaccent collation +query I +select * from tbl where str collate noaccent not in ('abcde'); +---- +ABCDE +aBcDe +ÀbCdÈ + +# query NOT IN with nocase.noaccent collation +query I +select * from tbl where str collate nocase.noaccent not in ('abcde'); +---- diff --git a/test/sql/binder/test_null_type_propagation.test b/test/sql/binder/test_null_type_propagation.test index 39dec9c0624f..bc73b37d3a9b 100644 --- a/test/sql/binder/test_null_type_propagation.test +++ b/test/sql/binder/test_null_type_propagation.test @@ -69,6 +69,7 @@ True # this wouldn't work if we would upcast to integer statement error SELECT bool_and(i) FROM (SELECT * FROM (SELECT NULL::INTEGER) tbl(i) UNION ALL SELECT CAST(1 as BOOLEAN)) tbl(i) +---- # cross product query II diff --git a/test/sql/binder/test_select_clause_alias.test b/test/sql/binder/test_select_clause_alias.test index 6d88bce7ddc5..929a879b0354 100644 --- a/test/sql/binder/test_select_clause_alias.test +++ b/test/sql/binder/test_select_clause_alias.test @@ -38,6 +38,7 @@ SELECT i + 1 AS i, i + 1 AS b FROM integers ORDER BY b # we cannot refer to aliases that are defined LATER ON in the select clause statement error SELECT a + 1 AS b, i + 1 AS a FROM integers +---- # expressions with side effects are not supported yet statement error diff --git a/test/sql/binder/test_string_alias.test b/test/sql/binder/test_string_alias.test index 1830864dd73e..89efacaa06ae 100644 --- a/test/sql/binder/test_string_alias.test +++ b/test/sql/binder/test_string_alias.test @@ -15,6 +15,7 @@ SELECT i AS 'hello world' FROM integers # without an AS clause this does not work statement error SELECT i 'hello world' FROM integers +---- # double quotes work everywhere statement ok @@ -30,3 +31,4 @@ SELECT "hello world".i FROM integers AS 'hello world' # but not without the AS clause statement error SELECT "hello world".i FROM integers 'hello world' +---- diff --git a/test/sql/cast/boolean_autocast.test b/test/sql/cast/boolean_autocast.test index e5c48af72219..e26c1c1f1523 100644 --- a/test/sql/cast/boolean_autocast.test +++ b/test/sql/cast/boolean_autocast.test @@ -130,6 +130,8 @@ false # failed to auto cast statement error SELECT false='unknownbool'; +---- statement error SELECT 'unknownbool'=false; +---- diff --git a/test/sql/cast/double_float_cast.test b/test/sql/cast/double_float_cast.test index bf4ea579638b..bc2c0245f01b 100644 --- a/test/sql/cast/double_float_cast.test +++ b/test/sql/cast/double_float_cast.test @@ -7,6 +7,7 @@ PRAGMA enable_verification statement error select 1e308::float; +---- query I select '1e308'::float; diff --git a/test/sql/cast/string_to_integer_decimal_cast.test b/test/sql/cast/string_to_integer_decimal_cast.test new file mode 100644 index 000000000000..5f269003a451 --- /dev/null +++ b/test/sql/cast/string_to_integer_decimal_cast.test @@ -0,0 +1,185 @@ +# name: test/sql/cast/string_to_integer_decimal_cast.test +# description: String to Integer casts with Decimals +# group: [cast] + +statement ok +PRAGMA enable_verification + +# Positive numbers (includes unsigned) +foreach type + +query I +select '0.000005'::${type}; +---- +0 + +query I +select '1.100004'::${type}; +---- +1 + +query I +select '0.5'::${type}; +---- +1 + +query I +select '1.50004'::${type}; +---- +2 + + +endloop + +# Negative numbers (excludes unsigned) +foreach type + +query I +select '-0.000005'::${type}; +---- +0 + +query I +select '-1.100004'::${type}; +---- +-1 + +query I +select '-0.5'::${type}; +---- +-1 + +query I +select '-1.50004'::${type}; +---- +-2 + +endloop + +# Check limits (signed) + +query II +select '127.1'::TINYINT, '-128.1'::TINYINT; +---- +127 -128 + +query II +select '32767.1'::SMALLINT, '-32768.1'::SMALLINT; +---- +32767 -32768 + +query II +select '2147483647.1'::INTEGER, '-2147483648.1'::INTEGER; +---- +2147483647 -2147483648 + +query II +select '9223372036854775807.1'::BIGINT, '-9223372036854775808.1'::BIGINT; +---- +9223372036854775807 -9223372036854775808 + +query II +select '170141183460469231731687303715884105727.1'::HUGEINT, '-170141183460469231731687303715884105728.1'::HUGEINT; +---- +170141183460469231731687303715884105727 -170141183460469231731687303715884105728 + +# Check limits (unsigned) + +query I +select '255.1'::UTINYINT; +---- +255 + +query I +select '65535.1'::USMALLINT; +---- +65535 + +query I +select '4294967295.1'::UINTEGER; +---- +4294967295 + +query I +select '18446744073709551615.1'::UBIGINT; +---- +18446744073709551615 + +query I +select '340282366920938463463374607431768211455.1'::UHUGEINT; +---- +340282366920938463463374607431768211455 + +# going over limit should error (signed) + +statement error +select '127.5'::TINYINT; +---- +Conversion Error + +statement error +select '32767.5'::SMALLINT; +---- +Conversion Error + +statement error +select '2147483647.5'::INTEGER; +---- +Conversion Error + +statement error +select '9223372036854775807.5'::BIGINT; +---- +Conversion Error + +statement error +select '170141183460469231731687303715884105727.5'::HUGEINT; +---- +Conversion Error + +statement error +select '-128.5'::TINYINT; +---- +Conversion Error + +statement error +select '-32768.5'::SMALLINT; +---- +Conversion Error + +statement error +select '-2147483648.5'::INTEGER; +---- +Conversion Error + +statement error +select '-9223372036854775808.5'::BIGINT; +---- +Conversion Error + +statement error +select '-170141183460469231731687303715884105728.5'::HUGEINT; +---- +Conversion Error + +# going over limit should error (unsigned) + +statement error +select '255.5'::UTINYINT; +---- +Conversion Error + +statement error +select '65535.5'::USMALLINT; +---- +Conversion Error + +statement error +select '4294967295.5'::UINTEGER; +---- +Conversion Error + +statement error +select '18446744073709551615.5'::UBIGINT; +---- +Conversion Error diff --git a/test/sql/cast/string_to_integer_exponent_cast.test b/test/sql/cast/string_to_integer_exponent_cast.test new file mode 100644 index 000000000000..2619f0d10901 --- /dev/null +++ b/test/sql/cast/string_to_integer_exponent_cast.test @@ -0,0 +1,289 @@ +# name: test/sql/cast/string_to_integer_exponent_cast.test +# description: String to Integer casts with Decimals and Exponents +# group: [cast] + +statement ok +PRAGMA enable_verification + +# Positive numbers (includes unsigned) +foreach type + +# Positive Number - Positive Exponent + +query I +select '1e2'::${type}; +---- +100 + +query I +select '1.23e2'::${type}; +---- +123 + +query I +select '1.234e2'::${type}; +---- +123 + +query I +select '1.235e2'::${type}; +---- +124 + +# Positive Number - Negative Exponent + +query I +select '1e-2'::${type}; +---- +0 + +query I +select '123.456e-2'::${type}; +---- +1 + +query I +select '1584.92e-2'::${type}; +---- +16 + +query I +select '1214.235e-2'::${type}; +---- +12 + +# Out of range + +statement error +select '10e40'::${type}; +---- +Conversion Error + +endloop + +# Negative numbers (excludes unsigned) +foreach type + +# Negative Number - Positive Exponent + +query I +select '-1e2'::${type}; +---- +-100 + +query I +select '-1.23456e2'::${type}; +---- +-123 + +query I +select '-0.158492e2'::${type}; +---- +-16 + +query I +select '-1.235e2'::${type}; +---- +-124 + +# Negative Number - Negative Exponent + +query I +select '-100e-2'::${type}; +---- +-1 + +query I +select '-50.23456e-2'::${type}; +---- +-1 + +query I +select '-1584.92e-2'::${type}; +---- +-16 + +query I +select '-1.235e-2'::${type}; +---- +0 + +statement error +select '-10e40'::${type}; +---- +Conversion Error + +endloop + +# Check limits (signed) + +query II +select '12.7e1'::TINYINT, '-12.8e1'::TINYINT; +---- +127 -128 + +query II +select '3276.7e1'::SMALLINT, '-3276.8e1'::SMALLINT; +---- +32767 -32768 + +query II +select '214748364.7e1'::INTEGER, '-214748364.8e1'::INTEGER; +---- +2147483647 -2147483648 + +query II +select '922337203685477580.7e1'::BIGINT, '-922337203685477580.8e1'::BIGINT; +---- +9223372036854775807 -9223372036854775808 + +query II +select '17014118346046923173168730371588410572.7e1'::HUGEINT, '-17014118346046923173168730371588410572.8e1'::HUGEINT; +---- +170141183460469231731687303715884105727 -170141183460469231731687303715884105728 + +# Check limits (unsigned) + +query I +select '25.5e1'::UTINYINT; +---- +255 + +query I +select '6553.5e1'::USMALLINT; +---- +65535 + +query I +select '429496729.5e1'::UINTEGER; +---- +4294967295 + +query I +select '1844674407370955161.5e1'::UBIGINT; +---- +18446744073709551615 + +query I +select '34028236692093846346337460743176821145.5e1'::UHUGEINT; +---- +340282366920938463463374607431768211455 + +# going over limit should error (signed) + +statement error +select '12.8e1'::TINYINT; +---- +Conversion Error + +statement error +select '3276.8e1'::SMALLINT; +---- +Conversion Error + +statement error +select '214748364.8e1'::INTEGER; +---- +Conversion Error + +statement error +select '922337203685477580.8e1'::BIGINT; +---- +Conversion Error + +statement error +select '17014118346046923173168730371588410572.8e1'::HUGEINT; +---- +Conversion Error + +statement error +select '-12.9e1'::TINYINT; +---- +Conversion Error + +statement error +select '-3276.9e1'::SMALLINT; +---- +Conversion Error + +statement error +select '-214748364.9e1'::INTEGER; +---- +Conversion Error + +statement error +select '-922337203685477580.9e1'::BIGINT; +---- +Conversion Error + +statement error +select '-17014118346046923173168730371588410572.9e1'::HUGEINT; +---- +Conversion Error + +# going over limit should error (unsigned) + +statement error +select '25.6e1'::UTINYINT; +---- +Conversion Error + +statement error +select '6553.6e1'::USMALLINT; +---- +Conversion Error + +statement error +select '429496729.6e1'::UINTEGER; +---- +Conversion Error + +statement error +select '1844674407370955161.6e1'::UBIGINT; +---- +Conversion Error + +# exponent limit + +statement error +select '1e100000'::int; +---- +Conversion Error + +statement error +select '1e-100000'::int; +---- +Conversion Error + +# some more "extreme" cases + +query I +select '0.00000000000000000000000000000009223372036854775807e50'::BIGINT; +---- +9223372036854775807 + +query I +select '-0.00000000000000000000000000000009223372036854775807e50'::BIGINT; +---- +-9223372036854775807 + +query I +select '0.00000000000170141183460469231731687303715884105727e50'::HUGEINT; +---- +170141183460469231731687303715884105727 + +query I +select '-0.00000000000170141183460469231731687303715884105727e50'::HUGEINT; +---- +-170141183460469231731687303715884105727 + +query I +select '15123456789e-32768'::int; +---- +0 + +query I +select '0e32767'::int; +---- +0 + diff --git a/test/sql/cast/string_to_list_cast.test b/test/sql/cast/string_to_list_cast.test index c93382cd4ffb..24d1b9c0b175 100644 --- a/test/sql/cast/string_to_list_cast.test +++ b/test/sql/cast/string_to_list_cast.test @@ -367,33 +367,43 @@ SELECT TRY_CAST(col1 AS INT[]) FROM try_cast_tbl; statement error SELECT CAST('{[3]}' AS INT[]); +---- statement error SELECT CAST('Hello World' AS INT[]); +---- statement error SELECT CAST('[3]]' AS INT[]); +---- statement error SELECT CAST('[3],[[]' AS INT[][]); +---- statement error SELECT CAST('[3], [[1]]' AS INT[][]); +---- statement error SELECT CAST('[[3 1]]' AS INT[][]); +---- statement error SELECT CAST('[[3,, 1]]' AS INT[][]); +---- statement error SELECT CAST('[[3], [[5], [4]]' AS INT[][]); +---- statement error SELECT CAST('][3]' AS INT[]); +---- statement error SELECT CAST('[[[[[]][3][[]][][[[][]]]]]' AS INT[][][][]); +---- # Test WHERE clause @@ -500,6 +510,7 @@ select '[{"bar":"\""}]'::VARCHAR[]; # escaped '\', does not count as an escape for " statement error select '[{"bar":"\\""}]'::VARCHAR[]; +---- # uneven amount of escapes does escape the " query I diff --git a/test/sql/cast/string_to_map_cast.test b/test/sql/cast/string_to_map_cast.test index fa77e80494b0..d0d9c350f0fd 100644 --- a/test/sql/cast/string_to_map_cast.test +++ b/test/sql/cast/string_to_map_cast.test @@ -182,27 +182,35 @@ NULL # --------------------------------------------------- statement error SELECT CAST('{3==3}' AS MAP(INT, INT)); +---- statement error SELECT CAST('{[5]=5}' AS MAP(INT, INT)); +---- statement error SELECT CAST('{3=three}}' AS MAP(INT, VARCHAR)); +---- statement error SELECT CAST('{Ducky=, DB=ok}' AS MAP(VARCHAR, INT)); +---- statement error SELECT CAST('{5=5,, 3=3}' AS MAP(INT, INT)); +---- statement error SELECT CAST('{3=3, 4=4' AS MAP(INT, INT)); +---- statement error SELECT CAST('{3=3, 4=4} bla' AS MAP(INT, INT)); +---- statement error SELECT CAST('{ ' AS MAP(INT, INT)); +---- # Test WHERE clause # --------------------------------------------------- @@ -263,7 +271,7 @@ SELECT CAST('{True=[true, FALSE, true], False=[false, false, false]}' AS MAP(BOO ---- {true=[true, false, true], false=[false, false, false]} -foreach type TINYINT SMALLINT INTEGER BIGINT HUGEINT UTINYINT USMALLINT UINTEGER UBIGINT +foreach type TINYINT SMALLINT INTEGER BIGINT HUGEINT UTINYINT USMALLINT UINTEGER UBIGINT UHUGEINT query I SELECT CAST('{0={a:1, b: 8.3}, 5.7={a:2, b: 3}}' AS MAP(${type}, STRUCT(a ${type}, b ${type}))); @@ -296,6 +304,7 @@ SELECT '{ok=happy, sad=ok}'::MAP(MOOD, MOOD) statement error SELECT '{sadDucky: nothappy}'::MAP(VARCHAR, MOOD) +---- # Larger input test # --------------------------------------------------- diff --git a/test/sql/cast/string_to_nested_types_cast.test_slow b/test/sql/cast/string_to_nested_types_cast.test_slow index ef0a68abbd50..3cf832821e0f 100644 --- a/test/sql/cast/string_to_nested_types_cast.test_slow +++ b/test/sql/cast/string_to_nested_types_cast.test_slow @@ -15,7 +15,7 @@ SELECT CAST('[[True,False], [true], [FALSE], [false, true]]' AS BOOL[][]); ---- [[true, false], [true], [false], [false, true]] -foreach type INT TINYINT SMALLINT INTEGER BIGINT HUGEINT UTINYINT USMALLINT UINTEGER UBIGINT +foreach type INT TINYINT SMALLINT INTEGER BIGINT HUGEINT UTINYINT USMALLINT UINTEGER UBIGINT UHUGEINT query I SELECT CAST('[1,2,3]' AS ${type}[]); @@ -43,6 +43,7 @@ SELECT '[ok,happy]'::MOOD[] statement error SELECT '[nothappy]'::MOOD[] +---- query I SELECT CAST(LIST(date)::VARCHAR AS DATE[]) FROM test_all_types(); @@ -52,7 +53,7 @@ SELECT CAST(LIST(date)::VARCHAR AS DATE[]) FROM test_all_types(); query I SELECT CAST(LIST(time)::VARCHAR AS TIME[]) FROM test_all_types(); ---- -[00:00:00, 23:59:59.999999, NULL] +[00:00:00, 24:00:00, NULL] query I SELECT CAST(LIST(timestamp)::VARCHAR AS TIME[]) FROM test_all_types(); @@ -111,7 +112,7 @@ SELECT CAST('{a: True, b: False, c:[true]}' AS STRUCT(a BOOL, b BOOL, c BOOL[], ---- {'a': true, 'b': false, 'c': [true], 'd': NULL} -foreach type INT TINYINT SMALLINT INTEGER BIGINT HUGEINT UTINYINT USMALLINT UINTEGER UBIGINT +foreach type INT TINYINT SMALLINT INTEGER BIGINT HUGEINT UTINYINT USMALLINT UINTEGER UBIGINT UHUGEINT query I SELECT CAST('{a:1, b:{a:2, b: 3}}' AS STRUCT(a ${type}, b STRUCT(a ${type}, b ${type}))); @@ -136,6 +137,7 @@ SELECT '{a: ok, b: happy}'::STRUCT(a MOOD, b MOOD) statement error SELECT '{a: nothappy}'::STRUCT(a MOOD) +---- query I SELECT CAST(struct_pack(A=>date)::VARCHAR AS STRUCT(A DATE)) FROM test_all_types(); @@ -148,7 +150,7 @@ query I SELECT CAST(struct_pack(A=>time)::VARCHAR AS STRUCT(A TIME)) FROM test_all_types(); ---- {'A': 00:00:00} -{'A': 23:59:59.999999} +{'A': 24:00:00} {'A': NULL} query I diff --git a/test/sql/cast/string_to_struct_cast.test b/test/sql/cast/string_to_struct_cast.test index b283038730c9..de0f207ce3a1 100644 --- a/test/sql/cast/string_to_struct_cast.test +++ b/test/sql/cast/string_to_struct_cast.test @@ -204,6 +204,7 @@ SELECT ' { } '::STRUCT(a INT, b DATE); statement error SELECT '{ key_A: 2, key_B: {key_C: hello world } X }'::STRUCT(key_A INT, key_B STRUCT(key_C VARCHAR)); +---- @@ -317,39 +318,51 @@ NULL # --------------------------------------------------- statement error SELECT CAST('[{a:3}]' AS STRUCT(a INT)); +---- statement error SELECT CAST('Hello World' AS STRUCT(a VARCHAR)); +---- statement error SELECT CAST('{a: 3}}' AS STRUCT(a INT)); +---- statement error SELECT CAST('{a: 3, b:{c: 8}}}' AS STRUCT(a INT, b STRUCT(c INT))); +---- statement error SELECT CAST('{{a: 3}' AS STRUCT(a INT)); +---- statement error SELECT CAST('{a:3}, {b:1}' AS STRUCT(a INT, b INT)); +---- statement error SELECT CAST('{a:{a:3}, b:{{b:1}}}' AS STRUCT(a STRUCT(a INT), b STRUCT(b INT))); +---- statement error SELECT CAST('{a: 3 1}' AS STRUCT(a INT)); +---- statement error SELECT CAST('{a:3,, b:1}' AS STRUCT(a INT, b INT)); +---- statement error SELECT CAST('}{a:5}' AS STRUCT(a INT)); +---- statement error SELECT CAST('{a:{b:{d: 800}, {c: "Duck"}}}' AS STRUCT(a STRUCT(b STRUCT(d INT), c STRUCT(c VARCHAR)))); +---- statement error SELECT CAST('{[{]}}' AS STRUCT(a VARCHAR[])); +---- @@ -443,4 +456,4 @@ SELECT col1::VARCHAR::STRUCT(A VARCHAR, B INT[], C STRUCT(A VARCHAR, B FLOAT, C {'A': Ducky, 'B': [3, 50, 8, 43], 'C': {'A': TEST, 'B': 0.9, 'C': [0.0, 9.0, 30.2]}} {'A': TESTY, 'B': [4], 'C': {'A': 🦆, 'B': 6.12, 'C': [0.099, 1.6]}} {'A': Hello World, 'B': [0, 0, 2, 500, 0, 8], 'C': {'A': DuckieDuck !, 'B': 3000.0, 'C': [0.0]}} -{'A': , 'B': [], 'C': {'A': , 'B': 0.0, 'C': []}} \ No newline at end of file +{'A': , 'B': [], 'C': {'A': , 'B': 0.0, 'C': []}} diff --git a/test/sql/cast/test_bit_cast.test b/test/sql/cast/test_bit_cast.test index bed1e69f524a..421ce022e688 100644 --- a/test/sql/cast/test_bit_cast.test +++ b/test/sql/cast/test_bit_cast.test @@ -80,6 +80,11 @@ SELECT b::HUGEINT FROM bits; ---- 15 +query I +SELECT b::UHUGEINT FROM bits; +---- +15 + query I SELECT b::FLOAT FROM bits; ---- @@ -127,6 +132,11 @@ SELECT 15::HUGEINT::BIT; ---- 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111 +query I +SELECT 15::UHUGEINT::BIT; +---- +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111 + query I SELECT 2.1e-44::FLOAT::BIT; ---- @@ -263,9 +273,9 @@ SELECT (170141183460469231731687303715884105727)::HUGEINT::BIT; 01111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 query I -SELECT (-170141183460469231731687303715884105727)::HUGEINT::BIT; +SELECT (-170141183460469231731687303715884105728)::HUGEINT::BIT; ---- -10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 # Bit -> signed integer limits # --------------------------------------------------- @@ -314,11 +324,10 @@ SELECT '011111111111111111111111111111111111111111111111111111111111111111111111 ---- 170141183460469231731687303715884105727 -# hugeint's negative limit "is not representable by the internal structure" -statement error +query I SELECT '10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'::BIT::HUGEINT; ---- -Conversion Error: Minimum limit for HUGEINT is -170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 # unsigned integer limits -> Bit @@ -343,6 +352,11 @@ SELECT (18446744073709551615)::UBIGINT::BIT; ---- 1111111111111111111111111111111111111111111111111111111111111111 +query I +SELECT '340282366920938463463374607431768211455'::UHUGEINT::BIT; +---- +11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 + # Bit -> unsigned integer limits # --------------------------------------------------- query I diff --git a/test/sql/cast/test_boolean_cast.test b/test/sql/cast/test_boolean_cast.test index 6fb092f41230..c66f6f2c7a4e 100644 --- a/test/sql/cast/test_boolean_cast.test +++ b/test/sql/cast/test_boolean_cast.test @@ -47,6 +47,7 @@ SELECT CAST('FALSE' AS BOOLEAN) statement error SELECT CAST('12345' AS BOOLEAN) +---- query T SELECT CAST(CAST('12345' AS INTEGER) AS BOOLEAN) @@ -168,3 +169,13 @@ SELECT CAST(CAST('0' AS HUGEINT) AS BOOLEAN) ---- 0 +query T +SELECT CAST(CAST('1' AS UHUGEINT) AS BOOLEAN) +---- +1 + +query T +SELECT CAST(CAST('0' AS UHUGEINT) AS BOOLEAN) +---- +0 + diff --git a/test/sql/cast/test_exponent_in_cast.test b/test/sql/cast/test_exponent_in_cast.test index 58e7a21afa29..ff0013122ab7 100644 --- a/test/sql/cast/test_exponent_in_cast.test +++ b/test/sql/cast/test_exponent_in_cast.test @@ -7,21 +7,27 @@ PRAGMA enable_verification statement error SELECT CAST('e1' AS INTEGER); +---- statement error SELECT CAST(' e1' AS INTEGER); +---- statement error SELECT CAST(' E1' AS INTEGER); +---- statement error SELECT CAST('e1' AS DOUBLE); +---- statement error SELECT CAST(' e1' AS DOUBLE); +---- statement error SELECT CAST(' E1' AS DOUBLE); +---- query I SELECT CAST('1e1' AS INTEGER); @@ -41,4 +47,4 @@ SELECT CAST('1e1' AS DOUBLE); query I SELECT CAST(' 1e1' AS DOUBLE); ---- -10.0 \ No newline at end of file +10.0 diff --git a/test/sql/cast/test_string_binary_cast.test b/test/sql/cast/test_string_binary_cast.test index 0bdf007b4078..ec78e7836d6d 100644 --- a/test/sql/cast/test_string_binary_cast.test +++ b/test/sql/cast/test_string_binary_cast.test @@ -6,20 +6,25 @@ foreach prefix 0b 0B # Empty binary should fail statement error SELECT '${prefix}'::INT +---- # Binary with invalid characters should fail statement error SELECT '${prefix}2'::INT +---- statement error SELECT '${prefix}10105'::INT +---- # Negative binary should fail statement error SELECT '${prefix}-1'::INT +---- statement error SELECT '-${prefix}1'::INT +---- # Basic asserts query I @@ -61,15 +66,19 @@ SELECT '${prefix}11110000_11110000'::INT # But dont allow them at the start or end statement error SELECT '${prefix}_1'::INT +---- statement error SELECT '${prefix}1_'::INT +---- statement error SELECT '${prefix}1_0_'::INT +---- statement error SELECT '${prefix}_1_0'::INT +---- # Property check! @@ -101,6 +110,7 @@ SELECT '${prefix}0000000000000000000000000000000011111111'::UINT8 statement error SELECT '${prefix}00000000000000000000000000000000111111111'::TINYINT +---- query I SELECT '${prefix}1111111111111111111111111111111'::INT @@ -109,6 +119,7 @@ SELECT '${prefix}1111111111111111111111111111111'::INT statement error SELECT '${prefix}11111111111111111111111111111111'::INT +---- query I SELECT '${prefix}01111111111111111111111111111111'::UINT32 @@ -132,6 +143,7 @@ SELECT '${prefix}111111111111111111111111111111111111111111111111111111111111111 statement error SELECT '${prefix}1111111111111111111111111111111111111111111111111111111111111111'::BIGINT +---- query I SELECT '${prefix}1111111111111111111111111111111111111111111111111111111111111111'::UINT64 @@ -139,4 +151,4 @@ SELECT '${prefix}111111111111111111111111111111111111111111111111111111111111111 18446744073709551615 -endloop \ No newline at end of file +endloop diff --git a/test/sql/cast/test_string_cast.test b/test/sql/cast/test_string_cast.test index daaf5cd05673..730f865fabfe 100644 --- a/test/sql/cast/test_string_cast.test +++ b/test/sql/cast/test_string_cast.test @@ -67,19 +67,23 @@ SELECT '0xF'::INTEGER, '0x0'::INTEGER, '0xFEE'::INTEGER, '0xfee'::INTEGER, '0x00 statement error SELECT '0x'::INT +---- statement error SELECT '0X'::INT +---- # Hex with invalid characters fails statement error SELECT '0xHELLO'::INT +---- # Overflow with very large numbers statement error SELECT '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'::INT +---- # Allowed upper bounds for casting from hex strings to signed integers query IIII @@ -111,27 +115,35 @@ SELECT '0x000000000000000000000000000000000000000000000000000000000000000000'::I statement error SELECT '0x80'::TINYINT +---- statement error SELECT '0x8000'::SMALLINT +---- statement error SELECT '0x80000000'::INT +---- statement error SELECT '0x8000000000000000'::BIGINT +---- statement error SELECT '0x100'::UINT8 +---- statement error SELECT '0x10000'::UINT16 +---- statement error SELECT '0x100000000'::UINT32 +---- statement error SELECT '0x10000000000000000'::UINT64 +---- # Bounds exceeded for casting from hex strings to integers, TRY_CAST should be safe @@ -218,4 +230,4 @@ SELECT '0'::${inttype}; ---- 0 -endloop \ No newline at end of file +endloop diff --git a/test/sql/cast/test_try_cast.test b/test/sql/cast/test_try_cast.test index b911fcb5f8f5..059910ae97c4 100644 --- a/test/sql/cast/test_try_cast.test +++ b/test/sql/cast/test_try_cast.test @@ -14,6 +14,7 @@ NULL # CAST throws an error statement error SELECT CAST('hello' as INTEGER) +---- query IIII SELECT TRY_CAST(3 as BIGINT), CAST(3 AS BIGINT), TRY_CAST(2 as BIGINT), CAST(3 AS INTEGER) diff --git a/test/sql/catalog/case_insensitive_alter.test b/test/sql/catalog/case_insensitive_alter.test index 860fbfabef34..83182370903d 100644 --- a/test/sql/catalog/case_insensitive_alter.test +++ b/test/sql/catalog/case_insensitive_alter.test @@ -13,6 +13,7 @@ ALTER TABLE MyTable DROP COLUMN BIGCOLUMN; statement error SELECT BIGCOLUMN FROM MyTable +---- statement ok ALTER TABLE MyTable ADD COLUMN "BIGCOLUMN" VARCHAR; diff --git a/test/sql/catalog/case_insensitive_binder.test b/test/sql/catalog/case_insensitive_binder.test index e3037b5bc78a..5bdad1b1990a 100644 --- a/test/sql/catalog/case_insensitive_binder.test +++ b/test/sql/catalog/case_insensitive_binder.test @@ -28,6 +28,7 @@ CREATE TABLE "ABC"(i integer); statement error CREATE TABLE "AbC"(i integer); +---- statement ok SELECT * FROM "ABC"; @@ -40,6 +41,7 @@ ALTER TABLE abc ADD COLUMN j INTEGER; statement error ALTER TABLE "ABC" ADD COLUMN "J" INTEGER; +---- statement ok DROP TABLE abc diff --git a/test/sql/catalog/case_insensitive_operations.test b/test/sql/catalog/case_insensitive_operations.test index beb3b1152da0..2007d108ef4e 100644 --- a/test/sql/catalog/case_insensitive_operations.test +++ b/test/sql/catalog/case_insensitive_operations.test @@ -60,6 +60,7 @@ WITH "CTE"("ZZZ") AS ( SELECT integers.i AS "ZZZ" FROM integers GROUP BY "zzz" ), "cte" AS (SELECT 42) +---- query I UPDATE integers SET i=integers.i+1 diff --git a/test/sql/catalog/case_insensitive_using.test b/test/sql/catalog/case_insensitive_using.test index e3e9e793faa2..f0b70861f775 100644 --- a/test/sql/catalog/case_insensitive_using.test +++ b/test/sql/catalog/case_insensitive_using.test @@ -201,3 +201,4 @@ SELECT * FROM (SELECT 1 "hello", 2 "HeLlO") t1 JOIN (SELECT 1 "hello", 2 "HeLlO" # ambiguous using column reference statement error SELECT hello FROM (a JOIN b USING (hello)), (d JOIN e USING (hello)) +---- diff --git a/test/sql/catalog/comment_on.test b/test/sql/catalog/comment_on.test new file mode 100644 index 000000000000..255099ca57be --- /dev/null +++ b/test/sql/catalog/comment_on.test @@ -0,0 +1,329 @@ +# name: test/sql/catalog/comment_on.test +# description: Test COMMENT ON to add comments to various catalog entries +# group: [catalog] + +load __TEST_DIR__/comment_on.db + +### Generic tests + +# TODO: we need further testing of comments not being modified as catalog entries are altered + +# String literal or NULL only +statement error +COMMENT ON TABLE test IS 1337 +---- +Parser Error: syntax error + +# Catalog entry not found is error +statement error +COMMENT ON TABLE hahahoehoe IS 'blablabloebloe' +---- +Catalog Error: Table with name hahahoehoe does not exist! + +### Comment on Tables +statement ok +CREATE TABLE test_table as SELECT 1 as test_table_column + +query I +select comment from duckdb_tables() where table_name='test_table'; +---- +NULL + +statement ok +COMMENT ON TABLE test_table IS 'very gezellige table' + +query I +select comment from duckdb_tables() where table_name='test_table'; +---- +very gezellige table + +restart + +query I +select comment from duckdb_tables() where table_name='test_table'; +---- +very gezellige table + +# Reverting to null goes like dis +statement ok +COMMENT ON TABLE test_table IS NULL + +query I +select comment from duckdb_tables() where table_name='test_table'; +---- +NULL + +# Check table is still functioning +query I +SELECT * FROM test_table +---- +1 + +### Comment on view +statement ok +CREATE VIEW test_view as SELECT 1 as test_view_column + +query I +select comment from duckdb_views() where view_name='test_view'; +---- +NULL + +statement ok +COMMENT ON VIEW test_view IS 'very gezellige view' + +query I +select comment from duckdb_views() where view_name='test_view'; +---- +very gezellige view + +restart + +query I +select comment from duckdb_views() where view_name='test_view'; +---- +very gezellige view + +# Check view is still functioning +query I +SELECT * FROM test_view +---- +1 + +statement ok +DROP VIEW test_view + +### Comment on indices +statement ok +CREATE INDEX test_index ON test_table using art(test_table_column) + +query I +select comment from duckdb_indexes() where index_name='test_index'; +---- +NULL + +statement ok +COMMENT ON INDEX test_index IS 'very gezellige index' + +query I +select comment from duckdb_indexes() where index_name='test_index'; +---- +very gezellige index + +restart + +query I +select comment from duckdb_indexes() where index_name='test_index'; +---- +very gezellige index + +# Check index is still functioning +query I +SELECT * FROM test_table WHERE test_table_column=1 +---- +1 + +statement ok +DROP INDEX test_index; + +### Comment on sequences +statement ok +CREATE SEQUENCE test_sequence; + +query I +select comment from duckdb_sequences() where sequence_name='test_sequence'; +---- +NULL + +statement ok +COMMENT ON SEQUENCE test_sequence IS 'very gezellige sequence' + +query I +select comment from duckdb_sequences() where sequence_name='test_sequence'; +---- +very gezellige sequence + +restart + +query I +select comment from duckdb_sequences() where sequence_name='test_sequence'; +---- +very gezellige sequence + +# Check sequence is still functioning +query I +SELECT nextval('test_sequence') +---- +1 + +statement ok +DROP SEQUENCE test_sequence + +### Comment on types +statement ok +CREATE TYPE test_type AS int32; + +query I +select comment from duckdb_types() where type_name='test_type'; +---- +NULL + +statement ok +COMMENT ON TYPE test_type IS 'very gezellige type' + +query I +select comment from duckdb_types() where type_name='test_type'; +---- +very gezellige type + +restart + +query I +select comment from duckdb_types() where type_name='test_type'; +---- +very gezellige type + +# Check type is still functioning +query I +SELECT 1::test_type as val; +---- +1 + +statement ok +DROP TYPE test_type + +### Comment on column + +query I +select comment from duckdb_columns() where column_name='test_table_column'; +---- +NULL + +statement ok +COMMENT ON COLUMN test_table.test_table_column IS 'very gezellige column' + +query I +select comment from duckdb_columns() where column_name='test_table_column'; +---- +very gezellige column + +restart + +query I +select comment from duckdb_columns() where column_name='test_table_column'; +---- +very gezellige column + +# Comment persists rename +statement ok +ALTER TABLE test_table RENAME COLUMN test_table_column TO test_table_column_renamed + +query I +select comment from duckdb_columns() where column_name='test_table_column_renamed'; +---- +very gezellige column + +### Comment on Macro +statement ok +CREATE MACRO test_macro(a, b) AS a + b + +query I +select comment from duckdb_functions() where function_name='test_macro'; +---- +NULL + +statement ok +COMMENT ON MACRO test_macro IS 'very gezellige macro' + +query I +select comment from duckdb_functions() where function_name='test_macro'; +---- +very gezellige macro + +restart + +query I +select comment from duckdb_functions() where function_name='test_macro'; +---- +very gezellige macro + +# Check macro is still functioning +query I +SELECT test_macro(1,2); +---- +3 + +statement ok +DROP MACRO test_macro + +### Comment on function (alias for scalar macro) +statement ok +CREATE FUNCTION test_function(a, b) AS a + b + +query I +select comment from duckdb_functions() where function_name='test_function'; +---- +NULL + +statement ok +COMMENT ON FUNCTION test_function IS 'very gezellige function' + +query I +select comment from duckdb_functions() where function_name='test_function'; +---- +very gezellige function + +restart + +query I +select comment from duckdb_functions() where function_name='test_function'; +---- +very gezellige function + +### Comment on TABLE MACRO +statement ok +CREATE MACRO test_table_macro(a,b) as TABLE select a,b; + +query I +select comment from duckdb_functions() where function_name='test_table_macro'; +---- +NULL + +statement ok +COMMENT ON MACRO TABLE test_table_macro IS 'very gezellige table macro' + +query I +select comment from duckdb_functions() where function_name='test_table_macro'; +---- +very gezellige table macro + +restart + +query I +select comment from duckdb_functions() where function_name='test_table_macro'; +---- +very gezellige table macro + +# Check table macro is still functioning +query II +from test_table_macro(1,2); +---- +1 2 + +statement ok +DROP MACRO TABLE test_table_macro + +### Comment on DATABASE +statement error +COMMENT ON DATABASE blabla IS 'bloebloe' +---- +Not implemented Error: Adding comments to databases is not implemented + +### Comment on schemas +statement error +COMMENT ON SCHEMA blabla IS 'bloebloe' +---- +Not implemented Error: Adding comments to schemas is not implemented + +statement ok +DROP TABLE test_table + diff --git a/test/sql/catalog/comment_on_dependencies.test b/test/sql/catalog/comment_on_dependencies.test new file mode 100644 index 000000000000..25ee671f94c0 --- /dev/null +++ b/test/sql/catalog/comment_on_dependencies.test @@ -0,0 +1,16 @@ +# name: test/sql/catalog/comment_on_dependencies.test +# description: Test COMMENT ON a catalog entry with dependencies +# group: [catalog] + +### Create some test data +statement ok +CREATE TABLE t1 AS SELECT 1 as c1 + +statement ok +CREATE INDEX test_index ON t1 using art(c1) + +# TODO: this doesn't work: we should fix it +statement error +COMMENT ON TABLE t1 IS 'very niceee' +---- +Dependency Error: Cannot alter entry "t1" because there are entries that depend on it. \ No newline at end of file diff --git a/test/sql/catalog/comment_on_extended.test b/test/sql/catalog/comment_on_extended.test new file mode 100644 index 000000000000..501f010dc76b --- /dev/null +++ b/test/sql/catalog/comment_on_extended.test @@ -0,0 +1,158 @@ +# name: test/sql/catalog/comment_on_extended.test +# description: Test COMMENT ON to add comment on database +# group: [catalog] + +require skip_reload + +### Create some test data +statement ok +ATTACH '__TEST_DIR__/comment_on_extended_1.db' AS db1 + +statement ok +ATTACH '__TEST_DIR__/comment_on_extended_2.db' AS db2 + +statement ok +CREATE SCHEMA db1.s1; + +statement ok +CREATE SCHEMA db2.s2; + +statement ok +CREATE TABLE db1.s1.t1 AS SELECT 1 as c1 + +statement ok +CREATE TABLE db2.s2.t2 AS SELECT 2 as c2 + +# some extra tables to index on (since we can not comment on tables with dependencies) +statement ok +CREATE TABLE db1.s1.t3 AS SELECT 3 as c3 + +statement ok +CREATE TABLE db2.s2.t4 AS SELECT 4 as c4 + +statement ok +CREATE INDEX test_index ON db1.s1.t3 using art(c3) + +statement ok +CREATE INDEX test_index ON db2.s2.t4 using art(c4) + +### Confirm we have no comments yet +query I +SELECT count(*) from duckdb_tables() where comment IS NOT NULL; +---- +0 + +query I +SELECT count(*) from duckdb_columns() where comment IS NOT NULL; +---- +0 + +### Tables with fully qualified names +statement ok +COMMENT ON TABLE db1.s1.t1 IS 'very gezellige table 1' + +query I +select comment from duckdb_tables() where table_name='t1'; +---- +very gezellige table 1 + +# just table +statement ok +USE db2.s2 + +statement ok +COMMENT ON TABLE t2 IS 'very gezellige table 2' + +query I +select comment from duckdb_tables() where table_name='t2'; +---- +very gezellige table 2 + +# db.table +statement ok +COMMENT ON TABLE db2.t2 IS 'another very gezellige table 2' + +query I +select comment from duckdb_tables() where table_name='t2'; +---- +another very gezellige table 2 + +# schema.table +statement ok +COMMENT ON TABLE s2.t2 IS 'yet another very gezellige table 2' + +query I +select comment from duckdb_tables() where table_name='t2'; +---- +yet another very gezellige table 2 + + +### Index with fully qualified name +statement ok +COMMENT ON INDEX db1.s1.test_index IS 'very gezellige index 1' + +query I +select comment from duckdb_indexes() where index_name='test_index' and database_name='db1'; +---- +very gezellige index 1 + +# db.index +statement ok +COMMENT ON INDEX db2.test_index IS 'very gezellige index 2' + +query III +select database_name, schema_name, comment from duckdb_indexes() where index_name='test_index' order by comment; +---- +db1 s1 very gezellige index 1 +db2 s2 very gezellige index 2 + +### Fully qualified column +statement error +COMMENT ON COLUMN col1 IS 'no bueno' +---- +Parser Error: Invalid column reference: 'col1' + +statement error +COMMENT ON COLUMN galaxy.db.schema.table.col1 IS 'no bueno' +---- +Parser Error: Invalid column reference: 'galaxy.db."schema"."table".col1', too many dots + +statement error +COMMENT ON COLUMN table_blablabla.col1 IS 'bla' +---- +Catalog Error: Table with name table_blablabla does not exist! + +statement ok +COMMENT ON COLUMN db1.s1.t1.c1 IS 'very gezellige column 1' + +query IIII +select database_name, schema_name, table_name, comment from duckdb_columns() where column_name='c1' order by comment; +---- +db1 s1 t1 very gezellige column 1 + +# Using db.tbl.col +statement ok +COMMENT ON COLUMN db2.t2.c2 IS 'very gezellige column 2' + +query IIII +select database_name, schema_name, table_name, comment from duckdb_columns() where column_name='c2' order by comment; +---- +db2 s2 t2 very gezellige column 2 + +# Using schema.tbl.col +statement ok +COMMENT ON COLUMN s2.t2.c2 IS 'another very gezellige column 2' + +query IIII +select database_name, schema_name, table_name, comment from duckdb_columns() where column_name='c2' order by comment; +---- +db2 s2 t2 another very gezellige column 2 + +# Using tbl.col +statement ok +COMMENT ON COLUMN t2.c2 IS 'yet another very gezellige column 2' + +query IIII +select database_name, schema_name, table_name, comment from duckdb_columns() where column_name='c2' order by comment; +---- +db2 s2 t2 yet another very gezellige column 2 diff --git a/test/sql/catalog/comment_on_pg_description.test b/test/sql/catalog/comment_on_pg_description.test new file mode 100644 index 000000000000..325872be7530 --- /dev/null +++ b/test/sql/catalog/comment_on_pg_description.test @@ -0,0 +1,129 @@ +# name: test/sql/catalog/comment_on_pg_description.test +# description: Test the pg_description function for comment on +# group: [catalog] + +statement ok +CREATE TABLE test AS SELECT 1 as a; + +statement ok +COMMENT ON TABLE test IS 'comment-1' + +statement ok +COMMENT ON COLUMN test.a IS 'comment-2' + +statement ok +CREATE VIEW test_view AS FROM test; + +# TODO comment on view column +mode skip + +statement ok +COMMENT ON COLUMN test_view.a IS 'comment-2.5' + +mode unskip + +statement ok +CREATE INDEX test_index ON test(a) + +statement ok +COMMENT ON VIEW test_view IS 'comment-3' + +statement ok +COMMENT ON INDEX test_index IS 'comment-4' + +statement ok +CREATE SEQUENCE seq + +statement ok +COMMENT ON SEQUENCE seq IS 'comment-5' + +statement ok +CREATE TYPE test_type AS int32; + +statement ok +COMMENT ON TYPE test_type IS 'comment-6' + +statement ok +CREATE MACRO test_table_macro(a,b) as TABLE select a,b; + +statement ok +CREATE FUNCTION test_function(a, b) AS a + b + +statement ok +COMMENT ON MACRO TABLE test_table_macro IS 'comment-7' + +statement ok +COMMENT ON MACRO test_function IS 'comment-8' + +# Confirm that pg_description matches +query II +SELECT ddb.comment, pg.description +FROM duckdb_tables AS ddb +LEFT JOIN pg_description AS pg + ON pg.classoid=ddb.database_oid AND pg.objoid=ddb.table_oid +WHERE pg.objsubid=0 AND ddb.table_name='test' +---- +comment-1 comment-1 + +query II +SELECT ddb.comment, pg.description +FROM duckdb_columns AS ddb +LEFT JOIN pg_description AS pg + ON pg.classoid=ddb.database_oid AND pg.objoid=ddb.table_oid +WHERE pg.objsubid=1 AND ddb.table_name='test' +---- +comment-2 comment-2 + +query II +SELECT ddb.comment, pg.description +FROM duckdb_views AS ddb +LEFT JOIN pg_description AS pg + ON pg.classoid=ddb.database_oid AND pg.objoid=ddb.view_oid +WHERE pg.objsubid=0 AND ddb.view_name='test_view' +---- +comment-3 comment-3 + +query II +SELECT ddb.comment, pg.description +FROM duckdb_indexes AS ddb +LEFT JOIN pg_description AS pg + ON pg.classoid=ddb.database_oid AND pg.objoid=ddb.index_oid +WHERE ddb.index_name='test_index' +---- +comment-4 comment-4 + +query II +SELECT ddb.comment, pg.description +FROM duckdb_sequences() AS ddb +LEFT JOIN pg_description AS pg + ON pg.classoid=ddb.database_oid AND pg.objoid=ddb.sequence_oid +WHERE ddb.sequence_name='seq' +---- +comment-5 comment-5 + +query II +SELECT ddb.comment, pg.description +FROM duckdb_types() AS ddb +LEFT JOIN pg_description AS pg + ON pg.classoid=ddb.database_oid AND pg.objoid=ddb.type_oid +WHERE ddb.type_name='test_type' +---- +comment-6 comment-6 + +query II +SELECT ddb.comment, pg.description +FROM duckdb_functions() AS ddb +LEFT JOIN pg_description AS pg + ON pg.classoid=ddb.database_oid AND pg.objoid=ddb.function_oid +WHERE ddb.function_name='test_table_macro' +---- +comment-7 comment-7 + +query II +SELECT ddb.comment, pg.description +FROM duckdb_functions() AS ddb +LEFT JOIN pg_description AS pg + ON pg.classoid=ddb.database_oid AND pg.objoid=ddb.function_oid +WHERE ddb.function_name='test_function' +---- +comment-8 comment-8 \ No newline at end of file diff --git a/test/sql/catalog/comment_on_wal.test b/test/sql/catalog/comment_on_wal.test new file mode 100644 index 000000000000..8fecba99b437 --- /dev/null +++ b/test/sql/catalog/comment_on_wal.test @@ -0,0 +1,335 @@ +# name: test/sql/catalog/comment_on_wal.test +# description: Test COMMENT ON to add comments to various catalog entries +# group: [catalog] + +load __TEST_DIR__/comment_on_wal.db + +statement ok +SET checkpoint_threshold = '10.0 GB'; + +statement ok +PRAGMA disable_checkpoint_on_shutdown + +### Generic tests + +# TODO: we need further testing of comments not being modified as catalog entries are altered + +# String literal or NULL only +statement error +COMMENT ON TABLE test IS 1337 +---- +Parser Error: syntax error + +# Catalog entry not found is error +statement error +COMMENT ON TABLE hahahoehoe IS 'blablabloebloe' +---- +Catalog Error: Table with name hahahoehoe does not exist! + +### Comment on Tables +statement ok +CREATE TABLE test_table as SELECT 1 as test_table_column + +query I +select comment from duckdb_tables() where table_name='test_table'; +---- +NULL + +statement ok +COMMENT ON TABLE test_table IS 'very gezellige table' + +query I +select comment from duckdb_tables() where table_name='test_table'; +---- +very gezellige table + +restart + +query I +select comment from duckdb_tables() where table_name='test_table'; +---- +very gezellige table + +# Reverting to null goes like dis +statement ok +COMMENT ON TABLE test_table IS NULL + +query I +select comment from duckdb_tables() where table_name='test_table'; +---- +NULL + +# Check table is still functioning +query I +SELECT * FROM test_table +---- +1 + +### Comment on view +statement ok +CREATE VIEW test_view as SELECT 1 as test_view_column + +query I +select comment from duckdb_views() where view_name='test_view'; +---- +NULL + +statement ok +COMMENT ON VIEW test_view IS 'very gezellige view' + +query I +select comment from duckdb_views() where view_name='test_view'; +---- +very gezellige view + +restart + +query I +select comment from duckdb_views() where view_name='test_view'; +---- +very gezellige view + +# Check view is still functioning +query I +SELECT * FROM test_view +---- +1 + +statement ok +DROP VIEW test_view + +### Comment on indices +statement ok +CREATE INDEX test_index ON test_table using art(test_table_column) + +query I +select comment from duckdb_indexes() where index_name='test_index'; +---- +NULL + +statement ok +COMMENT ON INDEX test_index IS 'very gezellige index' + +query I +select comment from duckdb_indexes() where index_name='test_index'; +---- +very gezellige index + +restart + +query I +select comment from duckdb_indexes() where index_name='test_index'; +---- +very gezellige index + +# Check index is still functioning +query I +SELECT * FROM test_table WHERE test_table_column=1 +---- +1 + +statement ok +DROP INDEX test_index; + +### Comment on sequences +statement ok +CREATE SEQUENCE test_sequence; + +query I +select comment from duckdb_sequences() where sequence_name='test_sequence'; +---- +NULL + +statement ok +COMMENT ON SEQUENCE test_sequence IS 'very gezellige sequence' + +query I +select comment from duckdb_sequences() where sequence_name='test_sequence'; +---- +very gezellige sequence + +restart + +query I +select comment from duckdb_sequences() where sequence_name='test_sequence'; +---- +very gezellige sequence + +# Check sequence is still functioning +query I +SELECT nextval('test_sequence') +---- +1 + +statement ok +DROP SEQUENCE test_sequence + +### Comment on types +statement ok +CREATE TYPE test_type AS int32; + +query I +select comment from duckdb_types() where type_name='test_type'; +---- +NULL + +statement ok +COMMENT ON TYPE test_type IS 'very gezellige type' + +query I +select comment from duckdb_types() where type_name='test_type'; +---- +very gezellige type + +restart + +query I +select comment from duckdb_types() where type_name='test_type'; +---- +very gezellige type + +# Check type is still functioning +query I +SELECT 1::test_type as val; +---- +1 + +statement ok +DROP TYPE test_type + +### Comment on column + +query I +select comment from duckdb_columns() where column_name='test_table_column'; +---- +NULL + +statement ok +COMMENT ON COLUMN test_table.test_table_column IS 'very gezellige column' + +query I +select comment from duckdb_columns() where column_name='test_table_column'; +---- +very gezellige column + +restart + +query I +select comment from duckdb_columns() where column_name='test_table_column'; +---- +very gezellige column + +# Comment persists rename +statement ok +ALTER TABLE test_table RENAME COLUMN test_table_column TO test_table_column_renamed + +query I +select comment from duckdb_columns() where column_name='test_table_column_renamed'; +---- +very gezellige column + +### Comment on Macro +statement ok +CREATE MACRO test_macro(a, b) AS a + b + +query I +select comment from duckdb_functions() where function_name='test_macro'; +---- +NULL + +statement ok +COMMENT ON MACRO test_macro IS 'very gezellige macro' + +query I +select comment from duckdb_functions() where function_name='test_macro'; +---- +very gezellige macro + +restart + +query I +select comment from duckdb_functions() where function_name='test_macro'; +---- +very gezellige macro + +# Check macro is still functioning +query I +SELECT test_macro(1,2); +---- +3 + +statement ok +DROP MACRO test_macro + +### Comment on function (alias for scalar macro) +statement ok +CREATE FUNCTION test_function(a, b) AS a + b + +query I +select comment from duckdb_functions() where function_name='test_function'; +---- +NULL + +statement ok +COMMENT ON FUNCTION test_function IS 'very gezellige function' + +query I +select comment from duckdb_functions() where function_name='test_function'; +---- +very gezellige function + +restart + +query I +select comment from duckdb_functions() where function_name='test_function'; +---- +very gezellige function + +### Comment on TABLE MACRO +statement ok +CREATE MACRO test_table_macro(a,b) as TABLE select a,b; + +query I +select comment from duckdb_functions() where function_name='test_table_macro'; +---- +NULL + +statement ok +COMMENT ON MACRO TABLE test_table_macro IS 'very gezellige table macro' + +query I +select comment from duckdb_functions() where function_name='test_table_macro'; +---- +very gezellige table macro + +restart + +query I +select comment from duckdb_functions() where function_name='test_table_macro'; +---- +very gezellige table macro + +# Check table macro is still functioning +query II +from test_table_macro(1,2); +---- +1 2 + +statement ok +DROP MACRO TABLE test_table_macro + +### Comment on DATABASE +statement error +COMMENT ON DATABASE blabla IS 'bloebloe' +---- +Not implemented Error: Adding comments to databases is not implemented + +### Comment on schemas +statement error +COMMENT ON SCHEMA blabla IS 'bloebloe' +---- +Not implemented Error: Adding comments to schemas is not implemented + +statement ok +DROP TABLE test_table + diff --git a/test/sql/catalog/dependencies/test_alter_dependency_ownership.test b/test/sql/catalog/dependencies/test_alter_dependency_ownership.test index 0e44c07c32fc..857e2fbadfd3 100644 --- a/test/sql/catalog/dependencies/test_alter_dependency_ownership.test +++ b/test/sql/catalog/dependencies/test_alter_dependency_ownership.test @@ -22,6 +22,7 @@ DROP TABLE tablename; statement error SELECT nextval('sequence1'); +---- ##TEST: If the table is dropped, then the sequence is also droppped, using schemas statement ok @@ -40,6 +41,7 @@ DROP TABLE main.tablename; statement error SELECT nextval('main.sequence1'); +---- ##TEST: If the owned sequence is dropped with CASCADE, then the table is also dropped statement ok @@ -58,6 +60,7 @@ DROP SEQUENCE sequence1 CASCADE; statement error SELECT * FROM tablename; +---- ##TEST: The owned sequence cannot be dropped without CASCADE statement ok @@ -73,6 +76,7 @@ ALTER SEQUENCE sequence1 OWNED BY tablename; statement error DROP SEQUENCE sequence1; +---- statement ok DROP TABLE tablename; @@ -94,12 +98,16 @@ CREATE TABLE tablename2 ( # owned by specified more than once statement error ALTER SEQUENCE sequence1 OWNED BY tablename OWNED BY tablename2; +---- +Parser Error: Owned by value should be passed as most once statement ok ALTER SEQUENCE sequence1 OWNED BY tablename; statement error ALTER SEQUENCE sequence1 OWNED BY tablename2; +---- +Dependency Error: sequence1 is already owned by tablename statement ok DROP TABLE tablename; @@ -154,12 +162,15 @@ DROP TABLE tablename; statement error SELECT nextval('sequence1'); +---- statement error SELECT nextval('sequence2'); +---- statement error SELECT nextval('sequence3'); +---- ##TEST: When owning a sequence, insertions work normally statement ok @@ -222,9 +233,11 @@ CREATE TABLE tablename ( statement error ALTER SEQUENCE sequence1 OWNED BY tablename; +---- statement error DROP SEQUENCE sequence1; +---- statement error CREATE OR REPLACE SEQUENCE sequence1; @@ -261,6 +274,7 @@ ALTER SEQUENCE sequence1 OWNED BY tablename; statement error DROP SEQUENCE sequence1; +---- statement ok DROP TABLE tablename; @@ -283,6 +297,7 @@ ALTER TABLE tablename DROP colname2; statement error DROP SEQUENCE sequence1; +---- statement ok DROP TABLE tablename; @@ -304,6 +319,7 @@ ALTER TABLE tablename ALTER colname TYPE float; statement error DROP SEQUENCE sequence1; +---- statement ok DROP TABLE tablename; @@ -328,18 +344,21 @@ ALTER TABLE tablename DROP colname4; statement error DROP SEQUENCE sequence1; +---- statement ok ALTER TABLE tablename DROP colname3; statement error DROP SEQUENCE sequence1; +---- statement ok ALTER TABLE tablename DROP colname2; statement error DROP SEQUENCE sequence1; +---- statement ok DROP TABLE tablename; @@ -364,6 +383,7 @@ DROP TABLE tablename; statement error select nextval('sequence1'); +---- statement ok ROLLBACK; @@ -375,6 +395,7 @@ select nextval('sequence1'); statement error DROP SEQUENCE sequence1; +---- statement ok DROP TABLE tablename; @@ -391,12 +412,14 @@ ALTER SEQUENCE sequence1 OWNED BY v1_sequence1; statement error DROP SEQUENCE sequence1; +---- statement ok DROP VIEW v1_sequence1; statement error SELECT nextval('sequence1'); +---- ##TEST: Sequence can own a sequence statement ok @@ -410,12 +433,14 @@ ALTER SEQUENCE sequence1 OWNED BY sequence2; statement error DROP SEQUENCE sequence1; +---- statement ok DROP SEQUENCE sequence2; statement error SELECT nextval('sequence1'); +---- ##TEST: Sequence cant own its owner statement ok @@ -429,6 +454,8 @@ ALTER SEQUENCE sequence1 OWNED BY sequence2; statement error ALTER SEQUENCE sequence2 OWNED BY sequence1; +---- +Dependency Error: sequence1 can not become the owner, it is already owned by sequence2 statement ok DROP SEQUENCE sequence2; @@ -451,9 +478,13 @@ ALTER SEQUENCE sequence2 OWNED BY sequence1; statement error ALTER SEQUENCE sequence3 OWNED BY sequence2; +---- +Dependency Error: sequence2 can not become the owner, it is already owned by sequence1 statement error ALTER SEQUENCE sequence1 OWNED BY sequence3; +---- +Dependency Error: sequence1 already owns sequence2. Cannot have circular dependencies statement ok ALTER SEQUENCE sequence3 OWNED BY sequence4; @@ -466,12 +497,16 @@ DROP SEQUENCE sequence4; statement error SELECT nextval('sequence1'); +---- statement error SELECT nextval('sequence2'); +---- statement error SELECT nextval('sequence3'); +---- statement error SELECT nextval('sequence4'); +---- diff --git a/test/sql/catalog/dependencies/test_alter_owned_by.test b/test/sql/catalog/dependencies/test_alter_owned_by.test new file mode 100644 index 000000000000..47c726d8e7be --- /dev/null +++ b/test/sql/catalog/dependencies/test_alter_owned_by.test @@ -0,0 +1,51 @@ +# name: test/sql/catalog/dependencies/test_alter_owned_by.test +# group: [dependencies] + +require skip_reload + +##TEST: If the table is dropped, then the sequence is also droppped +statement ok +CREATE SEQUENCE sequence1; + +statement ok +CREATE SEQUENCE sequence2; + +statement ok +CREATE TABLE tbl1 ( + colname integer +); + +statement ok +CREATE TABLE tbl2 ( + colname integer +); + +statement ok +ALTER SEQUENCE sequence1 OWNED BY tbl1; + +# sequence1 can not be the owner of an entry, sequence1 is already owned +statement error +ALTER SEQUENCE sequence2 OWNED BY sequence1; +---- +sequence1 can not become the owner, it is already owned by tbl1 + +# sequence1 is already owned by another entry +statement error +ALTER SEQUENCE sequence1 OWNED BY tbl2; +---- +Dependency Error: sequence1 is already owned by tbl1 + +statement ok +create sequence sequence3; + +statement error +alter sequence sequence3 owned by sequence1 +---- +sequence1 can not become the owner, it is already owned by tbl1 + +statement ok +DROP TABLE tbl1; + +statement error +SELECT nextval('sequence1'); +---- diff --git a/test/sql/catalog/dependencies/test_alter_owning_table.test b/test/sql/catalog/dependencies/test_alter_owning_table.test new file mode 100644 index 000000000000..2d2f99878a97 --- /dev/null +++ b/test/sql/catalog/dependencies/test_alter_owning_table.test @@ -0,0 +1,44 @@ +# name: test/sql/catalog/dependencies/test_alter_owning_table.test +# description: Test ALTER of table that owns a sequence +# group: [dependencies] + +# FIXME: we don't preserve OWNED BY on restarts +require skip_reload + +statement ok +create sequence seq; + +statement ok +create sequence other_seq; + +statement ok +create table tbl ( + a integer default nextval('other_seq') +); + +statement ok +alter sequence seq owned by tbl; + +statement ok +alter table tbl rename to tbl2; + +statement error +drop sequence seq; +---- +Cannot drop entry "seq" because there are entries that depend on it + +statement error +drop sequence other_seq; +---- +Cannot drop entry "other_seq" because there are entries that depend on it + +statement ok +drop table tbl2; + +statement error +drop sequence seq; +---- +Sequence with name seq does not exist! + +statement ok +drop sequence other_seq; diff --git a/test/sql/catalog/dependencies/test_concurrent_alter.test b/test/sql/catalog/dependencies/test_concurrent_alter.test index 1ee3f76cb3a0..11d0e6c46842 100644 --- a/test/sql/catalog/dependencies/test_concurrent_alter.test +++ b/test/sql/catalog/dependencies/test_concurrent_alter.test @@ -3,216 +3,21 @@ require skip_reload -mode skip - +# Create the table statement ok CREATE TABLE t2 AS (SELECT 42); +# Create a sequence statement ok create sequence seq; +# Let the table own the sequence statement ok alter sequence seq owned by t2; -statement ok -pragma threads=1; - -query I -select current_setting('threads'); ----- -1 - concurrentloop i 1 100 -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog +loop j 1 10 statement maybe alter table t2 rename to t3; @@ -224,124 +29,8 @@ alter table t3 rename to t2; ---- Catalog -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog - -statement maybe -alter table t2 rename to t3; ----- -Catalog - -statement maybe -alter table t3 rename to t2; ----- -Catalog +# j +endloop +# i endloop diff --git a/test/sql/catalog/dependencies/test_concurrent_drop.test b/test/sql/catalog/dependencies/test_concurrent_drop.test new file mode 100644 index 000000000000..d8c2cc9585e1 --- /dev/null +++ b/test/sql/catalog/dependencies/test_concurrent_drop.test @@ -0,0 +1,38 @@ +# name: test/sql/catalog/dependencies/test_concurrent_drop.test +# description: Test concurrent alter and rename of tables +# group: [dependencies] + +require skip_reload + +# Create a sequence object +statement ok +create sequence seq; + +concurrentloop i 0 100 + +# Create dependencies on the sequence +statement ok +create table tbl${i} ( + a integer default nextval('seq') +); + +# Cant drop the sequence because we just added a dependency +statement error +drop sequence seq; +---- +Cannot drop entry "seq" because there are entries that depend on it + +# Use the sequence +statement ok +insert into tbl${i} VALUES(DEFAULT); + +# Drop the table - removing the dependency +statement ok +drop table tbl${i}; + +# i +endloop + +# We can now drop the sequence, all its dependents are gone +statement ok +drop sequence seq; diff --git a/test/sql/catalog/dependencies/test_concurrent_index_creation.test b/test/sql/catalog/dependencies/test_concurrent_index_creation.test new file mode 100644 index 000000000000..7c008bb96fea --- /dev/null +++ b/test/sql/catalog/dependencies/test_concurrent_index_creation.test @@ -0,0 +1,24 @@ +# name: test/sql/catalog/dependencies/test_concurrent_index_creation.test +# description: Test concurrent alter and rename of tables +# group: [dependencies] + +require skip_reload + +concurrentloop i 0 10 + +# Create the table +statement maybe +create table if not exists tbl (i integer); +---- + +# Create an index on the table +statement maybe +create index index${i} on tbl (i); +---- + +# Drop the table (implicitly dropping the index) +statement maybe +drop table tbl; +---- + +endloop diff --git a/test/sql/catalog/dependencies/test_concurrent_rename.test b/test/sql/catalog/dependencies/test_concurrent_rename.test new file mode 100644 index 000000000000..1654daf1b826 --- /dev/null +++ b/test/sql/catalog/dependencies/test_concurrent_rename.test @@ -0,0 +1,38 @@ +# name: test/sql/catalog/dependencies/test_concurrent_rename.test +# description: Tests concurrent rename of tables +# group: [dependencies] + +require skip_reload + +statement ok +CREATE TABLE t2 AS (SELECT 42); + +concurrentloop i 1 100 + +loop j 1 10 + +# Rename to t3 +statement maybe +alter table t2 rename to t3; +---- + +# Rename back to t2 +statement maybe +alter table t3 rename to t2; +---- + +# Select from t3 - might succeed +statement maybe +select * from t3; +---- + +# Select from t2 - might succeed +statement maybe +select * from t2; +---- + +# j +endloop + +# i +endloop diff --git a/test/sql/catalog/dependencies/test_concurrent_schema_creation.test b/test/sql/catalog/dependencies/test_concurrent_schema_creation.test new file mode 100644 index 000000000000..bae4dad3bb51 --- /dev/null +++ b/test/sql/catalog/dependencies/test_concurrent_schema_creation.test @@ -0,0 +1,36 @@ +# name: test/sql/catalog/dependencies/test_concurrent_schema_creation.test +# description: Test concurrent schema creation + table creation +# group: [dependencies] + +require skip_reload + +concurrentloop i 0 100 + +# Create a schema for every thread +statement ok +create schema schema${i}; + +# Create a table inside this schema +statement ok +create table schema${i}.tbl${i} (a integer); + +# Drop the schema for the thread - should fail +statement error +drop schema schema${i}; +---- +because there are entries that depend on it + +# Insert into the table +statement ok +insert into schema${i}.tbl${i} VALUES(1); + +# Drop the table +statement ok +drop table schema${i}.tbl${i}; + +# Drop the schema again - now it succeeds +statement ok +drop schema schema${i}; + +# i +endloop diff --git a/test/sql/catalog/dependencies/test_default_value_dependency.test b/test/sql/catalog/dependencies/test_default_value_dependency.test index b3b3d2f646bb..4469b2996db3 100644 --- a/test/sql/catalog/dependencies/test_default_value_dependency.test +++ b/test/sql/catalog/dependencies/test_default_value_dependency.test @@ -23,6 +23,7 @@ SELECT SUM(i) FROM integers # we can't drop the sequence: the table depends on it statement error con1 DROP SEQUENCE seq +---- # cascade drop works statement ok con1 @@ -31,6 +32,7 @@ DROP SEQUENCE seq CASCADE # but it also drops the table statement error con1 SELECT * FROM integers +---- # dependency on multiple sequences in default value statement ok con1 @@ -59,6 +61,7 @@ DROP SEQUENCE seq2 # seq2 does not exist after this drop, so another insert fails statement error con1 INSERT INTO integers (j) VALUES (1) +---- # table is now [1, 1]: query it query R con1 @@ -69,6 +72,7 @@ SELECT SUM(i) FROM integers # we can't drop seq however: the dependency is fixed statement error con1 DROP SEQUENCE seq +---- # need to do a cascading drop statement ok con1 @@ -77,4 +81,5 @@ DROP SEQUENCE seq CASCADE # now the table is gone statement error con1 SELECT * FROM integers +---- diff --git a/test/sql/catalog/dependencies/test_prepare_dependencies_transactions.test b/test/sql/catalog/dependencies/test_prepare_dependencies_transactions.test index 55651983db3a..8ce56fda4e04 100644 --- a/test/sql/catalog/dependencies/test_prepare_dependencies_transactions.test +++ b/test/sql/catalog/dependencies/test_prepare_dependencies_transactions.test @@ -32,6 +32,7 @@ EXECUTE v # if we try to drop integers we get a conflict though statement error con2 DROP TABLE integers CASCADE +---- # now we rollback statement ok con2 @@ -40,6 +41,7 @@ ROLLBACK # now we can't use the prepared statement anymore statement error con2 EXECUTE v +---- # case two: prepared statement is created inside transaction statement ok con1 @@ -73,3 +75,4 @@ COMMIT # after committing we can no longer use the prepared statement statement error con2 EXECUTE v +---- diff --git a/test/sql/catalog/dependencies/test_prepared_dependency.test b/test/sql/catalog/dependencies/test_prepared_dependency.test index a596c99098a0..f08170717a9e 100644 --- a/test/sql/catalog/dependencies/test_prepared_dependency.test +++ b/test/sql/catalog/dependencies/test_prepared_dependency.test @@ -22,6 +22,7 @@ DROP TABLE integers CASCADE # after the drop the prepared statement is invalidated statement error con2 EXECUTE v +---- # dependency on a sequence for prepare statement ok con1 @@ -40,4 +41,5 @@ DROP SEQUENCE seq CASCADE # after the drop the prepared statement is invalidated statement error con2 EXECUTE v +---- diff --git a/test/sql/catalog/dependencies/test_schema_dependency.test b/test/sql/catalog/dependencies/test_schema_dependency.test index 602c1ffc3d1b..a3069584e500 100644 --- a/test/sql/catalog/dependencies/test_schema_dependency.test +++ b/test/sql/catalog/dependencies/test_schema_dependency.test @@ -16,6 +16,7 @@ SELECT * FROM s1.integers # can't drop: dependency statement error con1 DROP SCHEMA s1 +---- query I con1 SELECT * FROM s1.integers @@ -28,6 +29,7 @@ DROP SCHEMA s1 CASCADE # this also drops the table statement error con1 SELECT * FROM s1.integers +---- # schemas and dependencies # create a schema and a table inside the schema @@ -50,6 +52,7 @@ DROP TABLE s1.integers # we can't drop the schema from con2 because the table still exists for con2! statement error con2 DROP SCHEMA s1 +---- # now rollback the table drop statement ok con1 @@ -93,4 +96,5 @@ ROLLBACK statement error con2 CREATE TABLE s1.dummy(i INTEGER) +---- diff --git a/test/sql/catalog/dependencies/test_write_after_rename.test b/test/sql/catalog/dependencies/test_write_after_rename.test new file mode 100644 index 000000000000..58a0fdc112a8 --- /dev/null +++ b/test/sql/catalog/dependencies/test_write_after_rename.test @@ -0,0 +1,43 @@ +# name: test/sql/catalog/dependencies/test_write_after_rename.test +# group: [dependencies] + +load __TEST_DIR__/create_after_rename.db + +# Create 'tbl' +statement ok +create table tbl (i integer); + +statement ok +insert into tbl VALUES (5); + +statement ok +begin transaction; + +# Rename 'tbl' -> 'tbl2' +statement ok +alter table tbl rename to tbl2; + +# Create a new table with the old name: 'tbl' +statement ok +create table tbl (b varchar); + +statement ok +insert into tbl VALUES ('test') + +statement ok +commit; + +statement ok +checkpoint; + +restart + +query I +select * from tbl2; +---- +5 + +query I +select * from tbl; +---- +test diff --git a/test/sql/catalog/function/test_complex_macro.test b/test/sql/catalog/function/test_complex_macro.test index 47ddffa321be..2764cc73175b 100644 --- a/test/sql/catalog/function/test_complex_macro.test +++ b/test/sql/catalog/function/test_complex_macro.test @@ -60,10 +60,12 @@ SELECT IFELSE(1, IFELSE(1,a,'b'), 'c') FROM integers statement error SELECT IFELSE(1,IFELSE(1,b,1),a) FROM integers +---- # conflicting bindings statement error CREATE MACRO f1(x) AS (SELECT MIN(a) + x FROM integers) +---- # macro in GROUP BY statement ok @@ -121,6 +123,7 @@ SELECT (SELECT add(i1.a, a) FROM integers) FROM integers i1 # parameter expression statement error CREATE MACRO prep(x) AS ?+1 +---- # prepared statements statement ok diff --git a/test/sql/catalog/function/test_cte_macro.test b/test/sql/catalog/function/test_cte_macro.test index e2734ee5249d..7de2d0757e0d 100644 --- a/test/sql/catalog/function/test_cte_macro.test +++ b/test/sql/catalog/function/test_cte_macro.test @@ -57,6 +57,7 @@ SELECT plus42(3) + a FROM integers # we should not be able to query the CTE from outside the function call statement error SELECT plus42(42) + answer FROM cte; +---- statement ok CREATE MACRO plus1(a) AS (WITH tbl AS (SELECT 1 AS one) SELECT one + a FROM tbl) diff --git a/test/sql/catalog/function/test_macro_default_arg.test_slow b/test/sql/catalog/function/test_macro_default_arg.test_slow index 495fd9ec6966..fb3588166557 100644 --- a/test/sql/catalog/function/test_macro_default_arg.test_slow +++ b/test/sql/catalog/function/test_macro_default_arg.test_slow @@ -39,6 +39,7 @@ statement error select f( x := j ) from tbl; +---- # cast statement ok diff --git a/test/sql/catalog/function/test_macro_relpersistence_conflict.test b/test/sql/catalog/function/test_macro_relpersistence_conflict.test index 3e0aa7f09cd3..aa527f1bc368 100644 --- a/test/sql/catalog/function/test_macro_relpersistence_conflict.test +++ b/test/sql/catalog/function/test_macro_relpersistence_conflict.test @@ -72,3 +72,4 @@ restart # macro should be gone statement error select test(4, 2) +---- diff --git a/test/sql/catalog/function/test_simple_macro.test b/test/sql/catalog/function/test_simple_macro.test index 7e0b79c9b7e7..3db251c34cbd 100644 --- a/test/sql/catalog/function/test_simple_macro.test +++ b/test/sql/catalog/function/test_simple_macro.test @@ -21,9 +21,11 @@ SELECT one() statement error SELECT one(1) +---- statement error SELECT one(NULL) +---- statement ok DROP MACRO one; @@ -95,6 +97,7 @@ DROP FUNCTION two; # b cannot be found statement error CREATE MACRO add_macro(a) AS a + b +---- statement ok CREATE MACRO add_macro(a, b) AS a + b @@ -155,25 +158,31 @@ false # incorrect number of arguments statement error SELECT IFELSE(); +---- statement error SELECT IFELSE(1); +---- statement error SELECT IFELSE(1, 2); +---- statement error SELECT IFELSE(1, 2, 3, 4); +---- # no duplicate macro function names statement error CREATE MACRO IFELSE(a,b) AS a+b +---- statement error CREATE MACRO ifelse(a,b) AS a+b +---- query T -SELECT IFELSE(1, 'random', RANDOM()) +SELECT IFELSE('1', 'random', RANDOM()::VARCHAR) ---- random @@ -192,6 +201,7 @@ SELECT macros.add_macro(40,2) # conflicting parameter names in macro definition statement error CREATE MACRO conflict(i, i) AS i + 1 +---- # aggregation macro's statement ok @@ -215,16 +225,19 @@ SELECT weird_avg(a) FROM integers statement error CREATE MACRO star() AS * +---- # macro's with default arguments statement error CREATE MACRO conflict(a, a := 1) AS a + a +---- statement ok CREATE MACRO add_default5(a, b := 5) AS a + b statement error SELECT add_default5(3, 6) +---- query T SELECT add_default5(3) @@ -238,23 +251,29 @@ SELECT add_default5(3, b := 6) statement error SELECT add_default5(b := 6, 3) +---- statement error CREATE MACRO wrong_order(a, b := 3, c) +---- statement error CREATE MACRO wrong_order(a := 3, b) +---- # only constant default values are allowed statement error CREATE MACRO select_plus_floats(a, f := b) AS (SELECT a + f FROM floats) +---- # +(FLOAT, VARCHAR) does not work - constant types are checked at create time statement error CREATE MACRO wrong_type(s='not a float') AS (SELECT b + s FROM floats) +---- statement error CREATE MACRO two_default_params(a := 4, a := 2) AS a + a +---- statement ok CREATE MACRO two_default_params(a := 4, b := 2) AS a + b @@ -276,24 +295,52 @@ SELECT two_default_params(b := 3) statement error SELECT two_default_params(a := 5, a := 3) +---- statement error SELECT two_default_params(b := 5, b := 3) +---- statement error CREATE MACRO macros.add_macro(a, b) AS a + b +---- statement error CREATE MACRO my_macro(a.b) AS 42; +---- statement error CREATE MACRO my_macro(a.b.c) AS 42; +---- statement ok CREATE MACRO my_macro(a) AS 42; statement error SELECT my_macro(x := 42); +---- statement error -SELECT my_macro(a := 42, a := 42); \ No newline at end of file +SELECT my_macro(a := 42, a := 42); +---- + +# internal issue 1044 +statement ok +create macro zz1(x) as (select 10+x); + +statement ok +create macro zz2(x) as 20+x; + +query II +select zz1(1),zz2(2); +---- +11 22 + +# should not return any results (because we shouldn't display "macro_parameters" +query III +select function_name, parameters, macro_definition +from duckdb_functions() +where function_name like 'zz%' +and macro_definition like '%macro_parameters%'; +---- + diff --git a/test/sql/catalog/function/test_subquery_macro.test b/test/sql/catalog/function/test_subquery_macro.test index 3ba9092028f8..a68087f122a6 100644 --- a/test/sql/catalog/function/test_subquery_macro.test +++ b/test/sql/catalog/function/test_subquery_macro.test @@ -37,6 +37,7 @@ SELECT subquery(a) FROM integers # macro parameters and column names should not conflict statement error CREATE MACRO a1(a) AS (SELECT a + a FROM integers) +---- statement ok CREATE MACRO a1(b) AS (SELECT a + a FROM integers) @@ -54,6 +55,7 @@ SELECT a1(3) + a FROM integers # never allow columns with the same name as parameters statement error CREATE MACRO a2(a) AS (SELECT i.a + a FROM integers i) +---- statement ok CREATE MACRO a2(b) AS (SELECT i.a + b FROM integers i) diff --git a/test/sql/catalog/function/test_table_macro.test b/test/sql/catalog/function/test_table_macro.test index 9206843a92d0..0b6bd5363ae2 100644 --- a/test/sql/catalog/function/test_table_macro.test +++ b/test/sql/catalog/function/test_table_macro.test @@ -120,8 +120,8 @@ query IIIIIIIII SELECT schema_name, function_name, function_type, description, return_type, parameters, parameter_types, varargs, macro_definition FROM duckdb_functions() WHERE function_type = 'table_macro' AND ( function_name = 'sgreek' or function_name = 'xt') order by function_name; ---- -main sgreek table_macro NULL NULL [a, b, c] [NULL, NULL, NULL] NULL NULL -main xt table_macro NULL NULL [id, imax] [NULL, NULL] NULL NULL +main sgreek table_macro NULL NULL [a, b, c] [NULL, NULL, NULL] NULL SELECT a, b FROM greek_tbl WHERE (id >= c) +main xt table_macro NULL NULL [id, imax] [NULL, NULL] NULL SELECT id, "name" FROM test_tbl WHERE (id <= imax) diff --git a/test/sql/catalog/function/test_table_macro_args.test b/test/sql/catalog/function/test_table_macro_args.test index 1a69fa357038..54fb48e5f092 100644 --- a/test/sql/catalog/function/test_table_macro_args.test +++ b/test/sql/catalog/function/test_table_macro_args.test @@ -69,6 +69,7 @@ as TABLE SELECT * FROM cards_tbl WHERE val>=_val_min AND val<=_val_max AND name # default args before positional args statement error SELECT * FROM card_select_args(_name:='king',1, 13); +---- # correct arg order @@ -142,12 +143,14 @@ CREATE MACRO card_no_tbl() as TABLE SELECT * FROM suit_tbl; statement error SELECT * FROM card_no_tbl(); +---- # wrong arg order statement error CREATE MACRO card_select_args(_val_min, _name:='%', _suit:='%', _val_max) as TABLE SELECT * FROM cards_tbl WHERE val>=_val_min AND val<=_val_max AND name like _name AND suit like _suit; +---- # positional parameter repeated diff --git a/test/sql/catalog/sequence/sequence_overflow.test b/test/sql/catalog/sequence/sequence_overflow.test index 6255c26a6e5a..d57032b6c222 100644 --- a/test/sql/catalog/sequence/sequence_overflow.test +++ b/test/sql/catalog/sequence/sequence_overflow.test @@ -63,12 +63,14 @@ create sequence seq3 INCREMENT BY 1 MINVALUE 9223372036854775800 MAXVALUE 922337 statement error SELECT nextval('seq3') from generate_series(0,20); +---- statement ok create sequence seq4 INCREMENT BY -1 MINVALUE -9223372036854775808 MAXVALUE -9223372036854775800; statement error SELECT nextval('seq4') from generate_series(0,20); +---- statement ok create sequence seq5 INCREMENT BY 9223372036854775807 MINVALUE 9223372036854775800 MAXVALUE 9223372036854775807 CYCLE; @@ -103,9 +105,11 @@ create sequence seq6 INCREMENT BY 9223372036854775807 MINVALUE 92233720368547758 statement error SELECT nextval('seq6') from generate_series(0,20); +---- statement ok create sequence seq7 INCREMENT BY -9223372036854775808 MINVALUE -9223372036854775808 MAXVALUE -9223372036854775800; statement error SELECT nextval('seq7') from generate_series(0,20); +---- diff --git a/test/sql/catalog/sequence/test_sequence.test b/test/sql/catalog/sequence/test_sequence.test index 3171bbb665ac..fc352bd4101a 100644 --- a/test/sql/catalog/sequence/test_sequence.test +++ b/test/sql/catalog/sequence/test_sequence.test @@ -15,6 +15,7 @@ CREATE SEQUENCE seq; # cannot create duplicate sequence statement error CREATE SEQUENCE seq; +---- # ignore errors if sequence already exists statement ok @@ -93,6 +94,7 @@ NULL # can't create a sequence that already exists statement error CREATE SEQUENCE seq; +---- # drop the sequence statement ok @@ -101,6 +103,7 @@ DROP SEQUENCE seq; # can't drop non-existing sequence statement error DROP SEQUENCE seq; +---- # but doesn't fail with IF EXISTS statement ok @@ -162,6 +165,7 @@ SELECT nextval('seq') # max value exceeded statement error SELECT nextval('seq') +---- statement ok DROP SEQUENCE seq; @@ -262,6 +266,7 @@ SELECT currval('seq') statement error SELECT nextval('seq') +---- query I SELECT currval('seq') @@ -292,6 +297,7 @@ SELECT nextval('seq') statement error SELECT nextval('seq') +---- statement ok DROP SEQUENCE seq; @@ -364,10 +370,12 @@ DROP SEQUENCE seq; # min_value defaults to 1, setting start to -1 gives start < min_value statement error CREATE SEQUENCE seq INCREMENT 1 START -1 CYCLE; +---- # max_value defaults to -1, setting start to 1 gives start > max_value statement error CREATE SEQUENCE seq INCREMENT -1 START 1 CYCLE; +---- # sequences in schemas statement ok @@ -406,26 +414,32 @@ SELECT currval('"a"."seq"'), currval('"b".seq'); # unterminated quotes statement error SELECT nextval('"a"."seq'); +---- # too many separators statement error SELECT nextval('a.b.c.d'); +---- # start exceeds max value statement error CREATE SEQUENCE seq MAXVALUE 5 START WITH 6; +---- # start preceeds min value statement error CREATE SEQUENCE seq MINVALUE 5 START WITH 4; +---- # min value bigger than max statement error CREATE SEQUENCE seq MINVALUE 7 MAXVALUE 5; +---- # increment must not be 0 statement error CREATE SEQUENCE seq INCREMENT 0; +---- statement ok CREATE SEQUENCE seq; @@ -484,6 +498,7 @@ INSERT INTO strings VALUES ('nonexistant_seq') statement error SELECT s, nextval(s) FROM strings +---- # currval causes error for new sequence statement ok @@ -491,30 +506,38 @@ CREATE SEQUENCE fresh; statement error select currval('fresh'); +---- # convert inputs into varchar if that's not the case statement error select nextval(1 + 1); +---- statement error select currval(true); +---- # max value specified more than once statement error CREATE SEQUENCE wrongseq NO MAXVALUE MAXVALUE 2; +---- # min value specified more than once statement error CREATE SEQUENCE wrongseq MINVALUE 10 MINVALUE 2; +---- # start value specified more than once statement error CREATE SEQUENCE wrongseq START 13 START WITH 3; +---- # cycle value specified more than once statement error CREATE SEQUENCE wrongseq CYCLE MAXVALUE 2 MINVALUE 1 NO CYCLE; +---- # increment value specified more than once statement error CREATE SEQUENCE wrongseq INCREMENT 2 INCREMENT BY -1; +---- diff --git a/test/sql/catalog/sequence/test_sequence_dependency.test b/test/sql/catalog/sequence/test_sequence_dependency.test index be978222ec22..e0ffc46d80d4 100644 --- a/test/sql/catalog/sequence/test_sequence_dependency.test +++ b/test/sql/catalog/sequence/test_sequence_dependency.test @@ -14,6 +14,7 @@ create table integers(i integer default nextval('seq')); # can't drop the sequence statement error drop sequence seq; +---- statement ok begin transaction; diff --git a/test/sql/catalog/table/create_table_as_abort.test b/test/sql/catalog/table/create_table_as_abort.test index bfecfb10b87e..e88ec7f3d0ee 100644 --- a/test/sql/catalog/table/create_table_as_abort.test +++ b/test/sql/catalog/table/create_table_as_abort.test @@ -10,3 +10,4 @@ CREATE TABLE IF NOT EXISTS integers AS SELECT i1.i FROM range(10000000000000000) statement error CREATE TABLE integers AS SELECT i1.i FROM range(10000000000000000) i1(i); +---- diff --git a/test/sql/catalog/table/create_table_parameters.test b/test/sql/catalog/table/create_table_parameters.test new file mode 100644 index 000000000000..01f15a9ad03f --- /dev/null +++ b/test/sql/catalog/table/create_table_parameters.test @@ -0,0 +1,12 @@ +# name: test/sql/catalog/table/create_table_parameters.test +# description: Issue #10008 - DuckDB SIGSEGV when creating table with DEFAULT ? +# group: [table] + +statement error +CREATE TABLE t0 ( c1 INT DEFAULT ? ); +---- +DEFAULT values cannot contain parameters + +statement error +CREATE TABLE t0 ( c1 INT CHECK (?) ); +---- diff --git a/test/sql/catalog/table/test_create_table_parallelism.test b/test/sql/catalog/table/test_create_table_parallelism.test index 1e5eaa8e14c4..6bc66c7eacb4 100644 --- a/test/sql/catalog/table/test_create_table_parallelism.test +++ b/test/sql/catalog/table/test_create_table_parallelism.test @@ -12,7 +12,7 @@ statement ok PRAGMA verify_parallelism statement ok -CREATE TABLE test AS (SELECT string_agg(range, '🦆 ') AS s, mod(range, 10000) xx FROM range(50000) GROUP BY xx) +CREATE TABLE test AS (SELECT string_agg(range::VARCHAR, '🦆 ') AS s, mod(range, 10000) xx FROM range(50000) GROUP BY xx) statement ok CREATE TABLE test2 AS (SELECT unnest(string_split(s, ' ')) FROM test) diff --git a/test/sql/catalog/table/test_default.test b/test/sql/catalog/table/test_default.test index cc96657ce9d3..fff71d792825 100644 --- a/test/sql/catalog/table/test_default.test +++ b/test/sql/catalog/table/test_default.test @@ -35,6 +35,7 @@ CREATE TABLE test (a INTEGER NOT NULL, b INTEGER); statement error INSERT INTO test (b) VALUES (3); +---- statement ok DROP TABLE test @@ -106,6 +107,7 @@ SELECT * FROM test ORDER BY 1 # cannot drop sequence now statement error DROP SEQUENCE seq +---- statement ok DROP TABLE test @@ -135,18 +137,22 @@ SELECT * FROM test ORDER BY 1 # cannot use subquery in DEFAULT expression statement error CREATE TABLE test (a INTEGER DEFAULT (SELECT 42), b INTEGER); +---- # aggregate functions are not allowed in DEFAULT expressions statement error CREATE TABLE test (a INTEGER DEFAULT SUM(42), b INTEGER); +---- # window functions are not allowed in DEFAULT expressions statement error CREATE TABLE test (a INTEGER DEFAULT row_number() OVER (), b INTEGER); +---- # default value must be scalar expression statement error CREATE TABLE test (a INTEGER DEFAULT b+1, b INTEGER); +---- # test default with random statement ok diff --git a/test/sql/catalog/test_catalog_errors.test b/test/sql/catalog/test_catalog_errors.test index b4bad57e0553..765ccac34203 100644 --- a/test/sql/catalog/test_catalog_errors.test +++ b/test/sql/catalog/test_catalog_errors.test @@ -11,22 +11,27 @@ CREATE VIEW vintegers AS SELECT 42; # cannot CREATE OR REPLACE a table with a view statement error CREATE OR REPLACE VIEW integers AS SELECT 42; +---- # cannot use DROP VIEW to drop a table statement error DROP VIEW integers +---- # cannot drop a table that does not exist statement error DROP TABLE blabla +---- # cannot alter a table that does not exist statement error ALTER TABLE blabla RENAME COLUMN i TO k +---- # cannot drop view with DROP TABLE statement error DROP TABLE IF EXISTS vintegers +---- statement ok CREATE INDEX i_index ON integers(i); @@ -34,6 +39,7 @@ CREATE INDEX i_index ON integers(i); # cannot create an index that already exists statement error CREATE INDEX i_index ON integers(i); +---- # with IF NOT EXISTS it does not fail! statement ok @@ -46,6 +52,7 @@ DROP INDEX i_index # cannot drop the index again: it no longer exists statement error DROP INDEX i_index +---- # IF NOT EXISTS does not report the failure statement ok @@ -61,3 +68,4 @@ DROP TABLE integers; statement error DROP INDEX i_index +---- diff --git a/test/sql/catalog/test_incorrect_table_creation.test b/test/sql/catalog/test_incorrect_table_creation.test index c8ebb65dab93..a399c5be592b 100644 --- a/test/sql/catalog/test_incorrect_table_creation.test +++ b/test/sql/catalog/test_incorrect_table_creation.test @@ -5,15 +5,19 @@ # primary key constraint that references unknown column statement error CREATE TABLE integers(i INTEGER, PRIMARY KEY(j)) +---- # primary key that references the same key twice statement error CREATE TABLE integers(i INTEGER, PRIMARY KEY(i, i)) +---- # multiple primary keys statement error CREATE TABLE integers(i INTEGER, PRIMARY KEY(i), PRIMARY KEY(i) +---- statement error CREATE TABLE integers(i INTEGER PRIMARY KEY, PRIMARY KEY(i) +---- diff --git a/test/sql/catalog/test_schema.test b/test/sql/catalog/test_schema.test index 3ed1eb44efe2..6db40ab83c38 100644 --- a/test/sql/catalog/test_schema.test +++ b/test/sql/catalog/test_schema.test @@ -75,4 +75,5 @@ ROLLBACK; statement error con2 SELECT * FROM test.hello +---- diff --git a/test/sql/catalog/test_schema_conflict.test b/test/sql/catalog/test_schema_conflict.test index 4f67673fd44f..3f858f996287 100644 --- a/test/sql/catalog/test_schema_conflict.test +++ b/test/sql/catalog/test_schema_conflict.test @@ -15,6 +15,7 @@ CREATE SCHEMA test; # this should cause a conflict statement error con2 CREATE SCHEMA test; +---- statement ok con1 COMMIT @@ -35,6 +36,7 @@ DROP SCHEMA test; # this should cause a conflict statement error con2 DROP SCHEMA test; +---- # rollback the drop statement ok con1 diff --git a/test/sql/catalog/test_set_schema.test b/test/sql/catalog/test_set_schema.test index 66f632ddadfd..3cf4e446ad0b 100644 --- a/test/sql/catalog/test_set_schema.test +++ b/test/sql/catalog/test_set_schema.test @@ -41,14 +41,17 @@ SELECT * FROM out_of_path.oop_table; statement error SELECT * FROM out_of_path.test_table; +---- statement error SELECT * FROM main.test_table; +---- # Testing INSERT, UPDATE and DELETE statement error INSERT INTO main.test_table (i) VALUES (1); +---- statement ok INSERT INTO test_table (i) VALUES (1); @@ -64,18 +67,22 @@ INSERT INTO main.main_table (j) VALUES (5), (6); statement error INSERT INTO oop_table (k) VALUES (7); +---- statement ok INSERT INTO out_of_path.oop_table (k) VALUES (8), (9); statement error DELETE FROM main.test_table WHERE i=3; +---- statement error DELETE FROM test.main_table WHERE i=5; +---- statement error DELETE FROM oop_table WHERE k=8; +---- statement ok DELETE FROM test.test_table WHERE i=1; @@ -109,6 +116,7 @@ SELECT k FROM out_of_path.oop_table; statement error UPDATE main.test_table SET i=10 WHERE i=1; +---- statement ok UPDATE test_table SET i=30 WHERE i=3; @@ -140,9 +148,11 @@ CREATE TEMP TABLE test_temp_table(i INTEGER); statement error SELECT * FROM memory.main.test_temp_table; +---- statement error SELECT * FROM test.test_temp_table; +---- statement ok SELECT * FROM test_temp_table; @@ -174,6 +184,7 @@ CREATE VIEW out_of_path.oop_view AS SELECT * FROM out_of_path.oop_table; statement error SELECT * FROM main.test_view; +---- statement ok SELECT * FROM test.test_view; @@ -189,6 +200,7 @@ SELECT * FROM main_view; statement error SELECT * FROM oop_view; +---- statement ok SELECT * FROM out_of_path.oop_view; @@ -199,6 +211,7 @@ SET SESSION schema = 'main'; # Test view's schema being bound on definition. statement error CREATE VIEW bad_test_view AS SELECT * FROM test_table; +---- # TODO(omo): # Currenly this fails because we bind the table name @@ -212,6 +225,7 @@ SET SESSION schema = 'test'; statement error DROP VIEW main.test_view +---- statement ok DROP VIEW test_view @@ -221,6 +235,7 @@ DROP VIEW main_view statement error DROP VIEW oop_view +---- statement ok DROP VIEW out_of_path.oop_view @@ -241,9 +256,11 @@ CREATE MACRO out_of_path.oop_macro(a, b) AS a * b; statement error SELECT main.test_macro(1, 2); +---- statement error SELECT oop_macro(1, 2); +---- statement ok SELECT main_macro(1, 2); @@ -262,6 +279,7 @@ SELECT out_of_path.oop_macro(1, 2); statement error DROP MACRO main.test_macro; +---- statement ok DROP MACRO test_macro; @@ -274,6 +292,7 @@ DROP MACRO main_macro; statement error DROP MACRO oop_macro; +---- statement ok DROP MACRO out_of_path.oop_macro; @@ -294,6 +313,7 @@ CREATE SEQUENCE out_of_path.oop_sequence; statement error SELECT main.nextval('main.test_sequence'); +---- statement ok SELECT main.nextval('test.test_sequence'); @@ -309,12 +329,14 @@ SELECT main.nextval('main_sequence'); statement error SELECT main.nextval('oop_sequence'); +---- statement ok SELECT main.nextval('out_of_path.oop_sequence'); statement error DROP SEQUENCE main.test_sequence; +---- statement ok DROP SEQUENCE test_sequence; @@ -327,6 +349,7 @@ DROP SEQUENCE main_sequence; statement error DROP SEQUENCE oop_sequence; +---- statement ok DROP SEQUENCE out_of_path.oop_sequence; @@ -335,6 +358,7 @@ DROP SEQUENCE out_of_path.oop_sequence; statement error ALTER TABLE main.test_table ADD COLUMN k INTEGER; +---- statement ok ALTER TABLE main.main_table ADD COLUMN k INTEGER; @@ -350,6 +374,7 @@ ALTER TABLE test.test_table ADD COLUMN n INTEGER; statement error ALTER TABLE oop_table ADD COLUMN o INTEGER; +---- statement ok ALTER TABLE out_of_path.oop_table ADD COLUMN p INTEGER; @@ -358,9 +383,11 @@ ALTER TABLE out_of_path.oop_table ADD COLUMN p INTEGER; statement error DROP TABLE main.test_table; +---- statement error DROP TABLE test.main_table; +---- statement ok DROP TABLE test_table; @@ -370,6 +397,7 @@ DROP TABLE main_table; statement error DROP TABLE oop_table; +---- statement ok DROP TABLE out_of_path.oop_table; diff --git a/test/sql/catalog/test_set_search_path.test b/test/sql/catalog/test_set_search_path.test index d82a8782d3e7..66a9ce7d3f8b 100644 --- a/test/sql/catalog/test_set_search_path.test +++ b/test/sql/catalog/test_set_search_path.test @@ -55,6 +55,7 @@ SET SEARCH_PATH = '"test","test2"'; statement error SET SEARCH_PATH = 'does_not_exist'; +---- # Setting the default value through 'schema' @@ -68,6 +69,7 @@ expected a single entry statement error SET SCHEMA = 'does_not_exist'; +---- # Reading out to see how aliasing works. @@ -76,6 +78,7 @@ SET SEARCH_PATH = 'test,test2'; statement error SET SEARCH_PATH = '"invalid quoted string list'; +---- query I SELECT MAIN.CURRENT_SETTING('search_path'); @@ -87,6 +90,11 @@ SELECT MAIN.CURRENT_SCHEMAS(false); ---- [test, test2] +query I +SELECT pg_catalog.CURRENT_SCHEMAS(false); +---- +[test, test2] + statement ok SET SCHEMA = 'test'; @@ -100,6 +108,11 @@ SELECT MAIN.CURRENT_SCHEMA(); ---- test +query I +SELECT pg_catalog.CURRENT_SCHEMA(); +---- +test + query I SELECT current_schema(); ---- @@ -158,9 +171,11 @@ CREATE TABLE test2.table_with_same_name(in_test2 INTEGER); statement error SELECT in_main FROM table_with_same_name; +---- statement error SELECT in_test2 FROM table_with_same_name; +---- statement ok SELECT in_test FROM table_with_same_name; @@ -172,7 +187,6 @@ statement ok SET SEARCH_PATH = 'test,test2,test3,test4,test5'; statement ok ---- SELECT i FROM test5_table; statement ok @@ -211,9 +225,11 @@ SELECT i FROM test_table; statement error con2 SELECT i FROM test_table; +---- statement error con1 SELECT i FROM test2_table; +---- statement ok con2 SELECT i FROM test2_table; diff --git a/test/sql/catalog/test_standard_schema.test b/test/sql/catalog/test_standard_schema.test index e250443d29dd..87c6f02d976a 100644 --- a/test/sql/catalog/test_standard_schema.test +++ b/test/sql/catalog/test_standard_schema.test @@ -5,6 +5,7 @@ # cannot drop MAIN schema statement error DROP SCHEMA main CASCADE; +---- # create and drop an empty schema statement ok @@ -20,6 +21,7 @@ CREATE SCHEMA test; # duplicate schema statement error CREATE SCHEMA test; +---- # if not exists ignores error statement ok @@ -32,6 +34,7 @@ CREATE TABLE test.hello(i INTEGER); # create table inside schema that does not exist should fail statement error CREATE TABLE test2.hello(i INTEGER); +---- # use the table in queries # insert into table @@ -41,6 +44,7 @@ INSERT INTO test.hello VALUES (2), (3), (4) # select from table without schema specified should fail statement error SELECT * FROM hello +---- # with schema specified should succeed query I @@ -53,6 +57,7 @@ SELECT * FROM test.hello # drop schema with dependencies should fail statement error DROP SCHEMA test; +---- # unless we use cascade to drop statement ok @@ -65,4 +70,5 @@ DROP SCHEMA IF EXISTS test; # but drop schema without it should fail statement error DROP SCHEMA test; +---- diff --git a/test/sql/catalog/test_temporary.test b/test/sql/catalog/test_temporary.test index 0995ed0957b1..6b65efa39881 100644 --- a/test/sql/catalog/test_temporary.test +++ b/test/sql/catalog/test_temporary.test @@ -54,6 +54,7 @@ DROP SCHEMA temp CASCADE statement error DROP TABLE memory.main.integersx +---- statement ok DROP TABLE integersx @@ -67,10 +68,12 @@ DROP TABLE temp.integersx # unsupported statement error CREATE TEMPORARY TABLE integers2(i INTEGER) ON COMMIT DELETE ROWS +---- # temp table already exists statement error CREATE TEMPORARY TABLE integers(i INTEGER) +---- statement ok INSERT INTO integers VALUES (42) @@ -149,8 +152,10 @@ ROLLBACK statement error SELECT i from integers3 +---- # table is not visible to other cons statement error con2 INSERT INTO integers VALUES (42) +---- diff --git a/test/sql/catalog/view/recursive_view.test b/test/sql/catalog/view/recursive_view.test index a2f23da8a587..ce9290ac9ead 100644 --- a/test/sql/catalog/view/recursive_view.test +++ b/test/sql/catalog/view/recursive_view.test @@ -20,6 +20,7 @@ CREATE OR REPLACE VIEW foo AS (SELECT * FROM foo); statement error SELECT * FROM foo; +---- # more complex recursive view definition statement ok @@ -33,3 +34,4 @@ CREATE OR REPLACE VIEW foo AS (SELECT (SELECT * FROM foo2)); statement error SELECT * FROM foo; +---- diff --git a/test/sql/catalog/view/test_view.test b/test/sql/catalog/view/test_view.test index 0a34542e58ec..898bde9cb5f7 100644 --- a/test/sql/catalog/view/test_view.test +++ b/test/sql/catalog/view/test_view.test @@ -38,6 +38,7 @@ DROP VIEW v1 statement error SELECT j FROM v1 WHERE j > 41 +---- statement ok CREATE VIEW v1 AS SELECT 'whatever' @@ -57,15 +58,18 @@ SELECT * FROM v1 statement error INSERT INTO v1 VALUES (1) +---- statement ok DROP VIEW v1 statement error DROP VIEW v1 +---- statement ok DROP VIEW IF EXISTS v1 statement error CREATE VIEW v1 AS SELECT * FROM dontexist +---- diff --git a/test/sql/catalog/view/test_view_alias.test b/test/sql/catalog/view/test_view_alias.test index 0a218c0401be..d540ba91e2c7 100644 --- a/test/sql/catalog/view/test_view_alias.test +++ b/test/sql/catalog/view/test_view_alias.test @@ -15,6 +15,7 @@ INSERT INTO t1 VALUES (41), (42), (43) # this should fail because there are more aliases for the view than columns in the query statement error CREATE VIEW v1 (j, "j2") AS SELECT * FROM t1 +---- statement ok CREATE VIEW v1 (j, "j2") AS SELECT i,i+1 FROM t1 diff --git a/test/sql/catalog/view/test_view_delete_update.test b/test/sql/catalog/view/test_view_delete_update.test index 0f7828586a02..bb3920c598ac 100644 --- a/test/sql/catalog/view/test_view_delete_update.test +++ b/test/sql/catalog/view/test_view_delete_update.test @@ -19,8 +19,10 @@ CREATE VIEW v1 AS SELECT i AS j FROM t1 WHERE i < 43 # try to delete from the view statement error DELETE FROM v1; +---- # try to update the view statement error UPDATE v1 SET j=1; +---- diff --git a/test/sql/catalog/view/test_view_schema_change.test b/test/sql/catalog/view/test_view_schema_change.test index 07567620c7be..f669b36ef7f5 100644 --- a/test/sql/catalog/view/test_view_schema_change.test +++ b/test/sql/catalog/view/test_view_schema_change.test @@ -33,6 +33,7 @@ CREATE TABLE t1(i DATE) # querying the view fails because the column types don't match the expected types statement error SELECT * FROM v1 +---- # now drop the table and create one that has extra columns statement ok @@ -44,6 +45,7 @@ CREATE TABLE t1(i INTEGER, j INTEGER) # again querying the view fails: there are extra columns present statement error SELECT * FROM v1 +---- # now drop the table and create one that has differently named columns statement ok @@ -52,10 +54,11 @@ DROP TABLE t1 statement ok CREATE TABLE t1(k INTEGER) -# this is fine: types still match, and the original names will be applied as alias! -query I -SELECT i FROM v1 +# names returned by the view have changed +statement error +SELECT * FROM v1 ---- +Binder Error: Contents of view were altered: names don't match! statement ok DROP TABLE t1 @@ -69,7 +72,6 @@ SELECT * FROM v1 ---- # Changing the types of the table that the view references also makes the view unusable - statement ok ALTER TABLE t1 ALTER i TYPE VARCHAR; @@ -77,3 +79,20 @@ statement error select * from v1; ---- Binder Error: Contents of view were altered: types don't match! + +# reverting the types fixes the issue +statement ok +ALTER TABLE t1 ALTER i TYPE INTEGER + +query I +SELECT * FROM v1 +---- + +# changing the column names makes the view unusable again +statement ok +ALTER TABLE t1 RENAME i TO j + +statement error +SELECT * FROM v1 +---- +Binder Error: Contents of view were altered: names don't match! diff --git a/test/sql/catalog/view/test_view_sql.test b/test/sql/catalog/view/test_view_sql.test index 6419dc3ee766..32560dead301 100644 --- a/test/sql/catalog/view/test_view_sql.test +++ b/test/sql/catalog/view/test_view_sql.test @@ -15,7 +15,7 @@ CREATE VIEW my_schema.X (a) AS SELECT 'x' as x, 'y' as y; query I select trim(sql, chr(10)) from duckdb_views() where internal = false; ---- -CREATE VIEW my_schema.X (a, y) AS SELECT 'x' AS x, 'y' AS y; +CREATE VIEW my_schema.X (a) AS SELECT 'x' AS x, 'y' AS y; statement ok alter view my_schema.X rename to Y; @@ -24,7 +24,7 @@ alter view my_schema.X rename to Y; query I select trim(sql, chr(10)) from duckdb_views() where internal = false; ---- -CREATE VIEW my_schema.Y (a, y) AS SELECT 'x' AS x, 'y' AS y; +CREATE VIEW my_schema.Y (a) AS SELECT 'x' AS x, 'y' AS y; statement ok drop schema my_schema cascade; @@ -46,7 +46,7 @@ create view vw as select * from tbl; query I select trim(sql, chr(10)) from duckdb_views() where internal = false; ---- -CREATE VIEW vw (a, b) AS SELECT * FROM tbl; +CREATE VIEW vw AS SELECT * FROM tbl; statement ok alter table tbl rename column b to x; @@ -55,7 +55,7 @@ alter table tbl rename column b to x; query I select trim(sql, chr(10)) from duckdb_views() where internal = false; ---- -CREATE VIEW vw (a, b) AS SELECT * FROM tbl; +CREATE VIEW vw AS SELECT * FROM tbl; statement ok create or replace view vw (c1, c2) as select * from tbl; @@ -75,7 +75,7 @@ drop view vw; query I select trim(sql, chr(10)) from duckdb_views() where internal = false; ---- -CREATE VIEW "view name" ("column name 1", "column name 2") AS SELECT * FROM "table name"; +CREATE VIEW "view name" AS SELECT * FROM "table name"; statement ok drop view "view name" diff --git a/test/sql/collate/collate_non_varchar.test b/test/sql/collate/collate_non_varchar.test index e183c9219beb..39f8912fc2d3 100644 --- a/test/sql/collate/collate_non_varchar.test +++ b/test/sql/collate/collate_non_varchar.test @@ -11,4 +11,4 @@ PRAGMA default_collation=NOCASE; query I select typeof(x) from (select 1::INT as x group by x); ---- -INTEGER \ No newline at end of file +INTEGER diff --git a/test/sql/collate/test_collate_case_insensitive.test b/test/sql/collate/test_collate_case_insensitive.test index 8e799f59b256..99cfe876c87c 100644 --- a/test/sql/collate/test_collate_case_insensitive.test +++ b/test/sql/collate/test_collate_case_insensitive.test @@ -80,4 +80,4 @@ Hallo # result = con.Query("SELECT * FROM collate_test WHERE s LIKE 'h%'"); # REQUIRE(CHECK_COLUMN(result, 0, {"Hallo", "hallo"})); # result = con.Query("SELECT * FROM collate_test WHERE s LIKE 'HA%'"); -# REQUIRE(CHECK_COLUMN(result, 0, {"Hallo", "hallo"})); \ No newline at end of file +# REQUIRE(CHECK_COLUMN(result, 0, {"Hallo", "hallo"})); diff --git a/test/sql/collate/test_collate_expression.test b/test/sql/collate/test_collate_expression.test index 1c13c18c7811..7b49e80669ad 100644 --- a/test/sql/collate/test_collate_expression.test +++ b/test/sql/collate/test_collate_expression.test @@ -38,6 +38,7 @@ hEllO statement error SELECT * FROM collate_test WHERE s COLLATE NOCASE='hello' COLLATE NOACCENT +---- query T SELECT * FROM collate_test ORDER BY s COLLATE NOCASE diff --git a/test/sql/collate/test_collate_list.test b/test/sql/collate/test_collate_list.test index 21ada93aa9b2..2496caed5b02 100644 --- a/test/sql/collate/test_collate_list.test +++ b/test/sql/collate/test_collate_list.test @@ -7,4 +7,5 @@ PRAGMA collations statement error PRAGMA collations=3 +---- diff --git a/test/sql/collate/test_icu_collate.test b/test/sql/collate/test_icu_collate.test index ab0010ff05b2..1f2233bc5a66 100644 --- a/test/sql/collate/test_icu_collate.test +++ b/test/sql/collate/test_icu_collate.test @@ -50,6 +50,7 @@ Göbel # but not with NOACCENT statement error SELECT * FROM strings WHERE 'goethe' > s COLLATE NOACCENT.de ORDER BY 1 +---- # japanese collation statement ok @@ -82,3 +83,40 @@ statement error SELECT icu_sort_key('goose', 'DUCK_DUCK_ENUM'); ---- Invalid Input Error + +# issue duckdb/duckdb#9692 +query I +select chr(2*16*256+1*256+2*16+11) collate da =chr(12*16+5) collate da; +---- +True + + +query I +select icu_sort_key(chr(2*16*256+1*256+2*16+11),'da')=icu_sort_key(chr(12*16+5),'da'); +---- +True + +query I +select chr(2*16*256+1*256+2*16+11) collate da > chr(12*16+5) collate da; +---- +FALSE + +query I +select chr(2*16*256+1*256+2*16+11) collate da > chr(12*16+5) collate da; +---- +FALSE + +query I +select count(*) from (select chr(2*16*256+1*256+2*16+11) union select chr(12*16+5)) as t(s) group by s collate da; +---- +2 + +query I +select nfc_normalize(chr(2*16*256+1*256+2*16+11))=nfc_normalize(chr(12*16+5)); +---- +TRUE + +query I +select count(*) from (select chr(2*16*256+1*256+2*16+11) union select chr(12*16+5)) as t(s) group by s collate nfc; +---- +2 diff --git a/test/sql/collate/test_unsupported_collations.test b/test/sql/collate/test_unsupported_collations.test index 47630002d620..6a15c788c083 100644 --- a/test/sql/collate/test_unsupported_collations.test +++ b/test/sql/collate/test_unsupported_collations.test @@ -5,21 +5,27 @@ # unrecognized collation statement error CREATE TABLE collate_test(s VARCHAR COLLATE blabla) +---- # non-varchar columns cannot have collations statement error CREATE TABLE collate_test(s INTEGER COLLATE blabla) +---- # cannot combine these collations statement error CREATE TABLE collate_test(s VARCHAR COLLATE NOACCENT.NOACCENT) +---- statement error CREATE TABLE collate_test(s VARCHAR COLLATE 1) +---- statement error CREATE TABLE collate_test(s VARCHAR COLLATE 'hello') +---- statement error PRAGMA default_collation='blabla' +---- diff --git a/test/sql/constraints/check/check_struct.test b/test/sql/constraints/check/check_struct.test index 27c46b826c0e..2691290ad69a 100644 --- a/test/sql/constraints/check/check_struct.test +++ b/test/sql/constraints/check/check_struct.test @@ -10,6 +10,7 @@ CREATE TABLE tbl(t ROW(t INTEGER) CHECK(t.t=42)); statement error INSERT INTO tbl VALUES ({'t': 43}) +---- statement ok INSERT INTO tbl VALUES ({'t': 42}) @@ -23,6 +24,7 @@ CREATE TABLE tbl(t ROW(t INTEGER) CHECK(tbl.t.t=42)); statement error INSERT INTO tbl VALUES ({'t': 43}) +---- statement ok INSERT INTO tbl VALUES ({'t': 42}) diff --git a/test/sql/constraints/check/test_check.test b/test/sql/constraints/check/test_check.test index f1a4ec9527f7..7c2763459060 100644 --- a/test/sql/constraints/check/test_check.test +++ b/test/sql/constraints/check/test_check.test @@ -10,6 +10,7 @@ INSERT INTO integers VALUES (3) statement error INSERT INTO integers VALUES (7) +---- statement ok INSERT INTO integers VALUES (NULL) @@ -31,9 +32,11 @@ INSERT INTO integers VALUES (3, 3) statement error INSERT INTO integers VALUES (5, 5) +---- statement error INSERT INTO integers VALUES (3, 3), (5, 5) +---- query II SELECT * FROM integers @@ -45,21 +48,27 @@ CREATE TABLE indirect_subq( i INTEGER, CHECK (i > (2 * (SELECT(1)))) ); +---- statement error CREATE TABLE integers2(i INTEGER CHECK(i > (SELECT 42)), j INTEGER) +---- statement error CREATE TABLE integers2(i INTEGER CHECK(i > SUM(j)), j INTEGER) +---- statement error CREATE TABLE integers3(i INTEGER CHECK(k < 10), j INTEGER) +---- statement error CREATE TABLE integers3(i INTEGER CHECK(integers3.k < 10), j INTEGER) +---- statement error CREATE TABLE integers3(i INTEGER CHECK(integers2.i < 10), j INTEGER) +---- statement ok CREATE TABLE integers4(i INTEGER CHECK(integers4.i < 10), j INTEGER) diff --git a/test/sql/constraints/foreignkey/fk_4309.test b/test/sql/constraints/foreignkey/fk_4309.test index 8bca1cf88264..0f7a2dd10e83 100644 --- a/test/sql/constraints/foreignkey/fk_4309.test +++ b/test/sql/constraints/foreignkey/fk_4309.test @@ -29,6 +29,7 @@ CREATE TABLE tf_2 ( # key "1" does not exist yet statement error INSERT INTO tf_2 VALUES (1, 1, 1); +---- # insert key (1, 1, 1) statement ok @@ -37,12 +38,15 @@ INSERT INTO tf_1 VALUES (1, 1, 1); # all these fail (all three need to match) statement error INSERT INTO tf_2 VALUES (2, 1, 1); +---- statement error INSERT INTO tf_2 VALUES (1, 2, 1); +---- statement error INSERT INTO tf_2 VALUES (1, 1, 2); +---- # this succeeds statement ok @@ -59,6 +63,7 @@ INSERT INTO tf_2 VALUES (2, NULL, NULL); # we should not be able to delete this key now statement error DELETE FROM tf_1 WHERE a = 2; +---- # delete everything with a|b = 2 statement ok @@ -78,6 +83,7 @@ INSERT INTO tf_2 VALUES (1, 3, 1); # this should (still) not work statement error DELETE FROM tf_1 WHERE a = 2; +---- # delete everything with a|b = 2 statement ok @@ -95,3 +101,4 @@ INSERT INTO tf_2 VALUES (1, 1, 4); statement error DELETE FROM tf_1 WHERE a = 2; +---- diff --git a/test/sql/constraints/foreignkey/fk_implicit_primary_key.test b/test/sql/constraints/foreignkey/fk_implicit_primary_key.test index c6a3009dfa0f..e95c9c7d7d94 100644 --- a/test/sql/constraints/foreignkey/fk_implicit_primary_key.test +++ b/test/sql/constraints/foreignkey/fk_implicit_primary_key.test @@ -49,4 +49,4 @@ create table a (i int, j int, primary key(i,j)); statement error create table b (i int references a); ---- -number of referencing \ No newline at end of file +number of referencing diff --git a/test/sql/constraints/foreignkey/foreign_key_matching_columns.test b/test/sql/constraints/foreignkey/foreign_key_matching_columns.test index 03277ec1d760..4cd5a253663f 100644 --- a/test/sql/constraints/foreignkey/foreign_key_matching_columns.test +++ b/test/sql/constraints/foreignkey/foreign_key_matching_columns.test @@ -12,6 +12,7 @@ CREATE TABLE routes ( agency_id TEXT, FOREIGN KEY (agency_id) REFERENCES agency ); +---- statement ok CREATE TABLE agency ( @@ -26,6 +27,7 @@ CREATE TABLE routes ( agency_id TEXT, FOREIGN KEY (route_id, agency_id) REFERENCES agency ); +---- statement ok CREATE TABLE routes ( @@ -37,6 +39,7 @@ CREATE TABLE routes ( # verify foreign key functionality statement error INSERT INTO routes VALUES (1, 1); +---- statement ok INSERT INTO agency VALUES (1, 1); @@ -47,6 +50,7 @@ INSERT INTO routes VALUES (1, 1); # now without a primary key statement error DROP TABLE agency; +---- statement ok DROP TABLE routes; @@ -66,6 +70,7 @@ CREATE TABLE routes ( agency_id TEXT, FOREIGN KEY (agency_id) REFERENCES agency ); +---- # self-referential primary key statement ok @@ -80,6 +85,7 @@ INSERT INTO routes VALUES (1, NULL); statement error INSERT INTO routes VALUES (2, 2); +---- statement ok INSERT INTO routes VALUES (2, 1); diff --git a/test/sql/constraints/foreignkey/test_action.test b/test/sql/constraints/foreignkey/test_action.test index d12d1362db70..688f36836a24 100644 --- a/test/sql/constraints/foreignkey/test_action.test +++ b/test/sql/constraints/foreignkey/test_action.test @@ -26,18 +26,24 @@ CREATE TABLE t6(id INTEGER PRIMARY KEY, t1_id INTEGER, FOREIGN KEY (t1_id) REFER statement error CREATE TABLE t7(id INTEGER PRIMARY KEY, t1_id INTEGER, FOREIGN KEY (t1_id) REFERENCES t1(id) ON UPDATE CASCADE); +---- statement error CREATE TABLE t8(id INTEGER PRIMARY KEY, t1_id INTEGER, FOREIGN KEY (t1_id) REFERENCES t1(id) ON DELETE CASCADE); +---- statement error CREATE TABLE t9(id INTEGER PRIMARY KEY, t1_id INTEGER, FOREIGN KEY (t1_id) REFERENCES t1(id) ON UPDATE SET DEFAULT); +---- statement error CREATE TABLE t10(id INTEGER PRIMARY KEY, t1_id INTEGER, FOREIGN KEY (t1_id) REFERENCES t1(id) ON DELETE SET DEFAULT); +---- statement error CREATE TABLE t11(id INTEGER PRIMARY KEY, t1_id INTEGER, FOREIGN KEY (t1_id) REFERENCES t1(id) ON UPDATE SET NULL); +---- statement error CREATE TABLE t12(id INTEGER PRIMARY KEY, t1_id INTEGER, FOREIGN KEY (t1_id) REFERENCES t1(id) ON DELETE SET NULL); +---- diff --git a/test/sql/constraints/foreignkey/test_fk_chain.test b/test/sql/constraints/foreignkey/test_fk_chain.test index 44f764cb0576..61137d40ffdc 100644 --- a/test/sql/constraints/foreignkey/test_fk_chain.test +++ b/test/sql/constraints/foreignkey/test_fk_chain.test @@ -29,12 +29,15 @@ INSERT INTO t4 VALUES (1) # insert statement error INSERT INTO t2 VALUES (5) +---- statement error INSERT INTO t3 VALUES (4) +---- statement error INSERT INTO t4 VALUES (3) +---- statement ok INSERT INTO t2 VALUES (4) @@ -48,12 +51,15 @@ INSERT INTO t4 VALUES (2) # delete statement error DELETE FROM t1 WHERE i1=4 +---- statement error DELETE FROM t2 WHERE i2=3 +---- statement error DELETE FROM t3 WHERE i3=2 +---- statement ok DELETE FROM t2 WHERE i2=4 @@ -67,12 +73,15 @@ DELETE FROM t4 WHERE i4=2 # drop table statement error DROP TABLE t1; +---- statement error DROP TABLE t2; +---- statement error DROP TABLE t3; +---- statement ok DROP TABLE t4; diff --git a/test/sql/constraints/foreignkey/test_fk_concurrency_conflicts.test b/test/sql/constraints/foreignkey/test_fk_concurrency_conflicts.test index 272a6fa0b302..d503ed10cab5 100644 --- a/test/sql/constraints/foreignkey/test_fk_concurrency_conflicts.test +++ b/test/sql/constraints/foreignkey/test_fk_concurrency_conflicts.test @@ -19,12 +19,14 @@ INSERT INTO fk_integers VALUES (1) statement error con2 DROP TABLE fk_integers +---- statement ok con1 DROP TABLE fk_integers statement error con2 CREATE TABLE fk_integers(j INTEGER, FOREIGN KEY (j) REFERENCES pk_integers(i)) +---- statement ok con1 ROLLBACK @@ -37,6 +39,7 @@ INSERT INTO fk_integers VALUES (1), (2) statement error con1 INSERT INTO fk_integers VALUES (4), (5) +---- statement ok con2 CREATE TABLE fk_integers_another(j INTEGER, FOREIGN KEY (j) REFERENCES pk_integers(i)) diff --git a/test/sql/constraints/foreignkey/test_fk_cross_schema.test b/test/sql/constraints/foreignkey/test_fk_cross_schema.test index aaf1b641f4c0..597b1eac8c96 100644 --- a/test/sql/constraints/foreignkey/test_fk_cross_schema.test +++ b/test/sql/constraints/foreignkey/test_fk_cross_schema.test @@ -16,3 +16,4 @@ INSERT INTO s1.pk_integers VALUES (1), (2), (3) statement error CREATE TABLE s2.fk_integers(j INTEGER, FOREIGN KEY (j) REFERENCES s1.pk_intexgers(i)) +---- diff --git a/test/sql/constraints/foreignkey/test_fk_export.test b/test/sql/constraints/foreignkey/test_fk_export.test index d1f00bcb8d24..208f03b67628 100644 --- a/test/sql/constraints/foreignkey/test_fk_export.test +++ b/test/sql/constraints/foreignkey/test_fk_export.test @@ -30,12 +30,14 @@ IMPORT DATABASE '__TEST_DIR__/fk_constraint' # check foreign key constraint statement error INSERT INTO fk_integers VALUES (4) +---- statement ok INSERT INTO fk_integers VALUES (3) statement error DELETE FROM pk_integers WHERE i=3 +---- statement ok DELETE FROM fk_integers WHERE j=3 @@ -45,15 +47,19 @@ DELETE FROM pk_integers WHERE i=3 statement error UPDATE pk_integers SET i=5 WHERE i=2 +---- statement error UPDATE fk_integers SET i=4 WHERE j=2 +---- statement error UPDATE fk_integers SET i=4 WHERE j=2 +---- statement error DROP TABLE pk_integers; +---- statement ok DROP TABLE fk_integers; diff --git a/test/sql/constraints/foreignkey/test_fk_multiple.test b/test/sql/constraints/foreignkey/test_fk_multiple.test index c468e77e27c6..e2e843688b06 100644 --- a/test/sql/constraints/foreignkey/test_fk_multiple.test +++ b/test/sql/constraints/foreignkey/test_fk_multiple.test @@ -17,9 +17,11 @@ CREATE TABLE fkt2(k2 INTEGER, l2 INTEGER, FOREIGN KEY(k2) REFERENCES pkt1(j1), F # ensure the constraints are being correctly copied statement error INSERT INTO pkt1 VALUES (3, 11); +---- statement error INSERT INTO pkt2 VALUES (101, 1000); +---- # test multiple foreign key constraints statement ok @@ -30,33 +32,40 @@ INSERT INTO pkt2 VALUES (101, 1001), (102, 1002); statement error INSERT INTO fkt1 VALUES (3, 101); +---- statement error INSERT INTO fkt1 VALUES (2, 103); +---- statement ok INSERT INTO fkt1 VALUES (1, 102), (2, 101); statement error INSERT INTO fkt2 VALUES (13, 1002); +---- statement error INSERT INTO fkt1 VALUES (12, 1003); +---- statement ok INSERT INTO fkt2 VALUES (12, 1001), (11, 1002); statement error DELETE FROM pkt1 WHERE i1=1 +---- statement error DELETE FROM pkt2 WHERE i2=102 +---- statement ok DELETE FROM fkt1 WHERE k1=1 statement error DELETE FROM pkt1 WHERE i1=1 +---- statement ok DELETE FROM fkt2 WHERE k2=11 @@ -87,9 +96,11 @@ SELECT * FROM fkt2; statement error UPDATE pkt1 SET i1=3, j1=13 WHERE i1=2; +---- statement error UPDATE pkt2 SET i2=103, j2=1003 WHERE i2=101; +---- statement ok UPDATE pkt2 SET i2=103, j2=1003 WHERE i2=102; @@ -119,18 +130,22 @@ SELECT * FROM pkt2; statement error DROP TABLE pkt1 +---- statement error DROP TABLE pkt2 +---- statement ok DROP TABLE fkt2 statement error DROP TABLE pkt1 +---- statement error DROP TABLE pkt2 +---- statement ok DROP TABLE fkt1 diff --git a/test/sql/constraints/foreignkey/test_fk_rollback.test b/test/sql/constraints/foreignkey/test_fk_rollback.test index 9a9fc1257a0a..8500780abe51 100644 --- a/test/sql/constraints/foreignkey/test_fk_rollback.test +++ b/test/sql/constraints/foreignkey/test_fk_rollback.test @@ -17,6 +17,7 @@ CREATE TABLE fk_integers(j INTEGER, FOREIGN KEY (j) REFERENCES pk_integers(i)) # can't delete the primary table because of dependency statement error DROP TABLE pk_integers +---- statement ok ROLLBACK @@ -48,9 +49,12 @@ ROLLBACK statement error DELETE FROM pk_integers WHERE i=2; +---- statement error INSERT INTO fk_integers VALUES (3); +---- statement error DROP TABLE pk_integers +---- diff --git a/test/sql/constraints/foreignkey/test_fk_self_referencing.test b/test/sql/constraints/foreignkey/test_fk_self_referencing.test index f303ef1a2de7..6e1cc9902243 100644 --- a/test/sql/constraints/foreignkey/test_fk_self_referencing.test +++ b/test/sql/constraints/foreignkey/test_fk_self_referencing.test @@ -4,6 +4,7 @@ statement error CREATE TABLE employee(id INTEGER PRIMARY KEY, managerid INTEGER, name VARCHAR, FOREIGN KEY(managerid) REFERENCES employee(emp_id)); +---- statement ok CREATE TABLE employee(id INTEGER PRIMARY KEY, managerid INTEGER, name VARCHAR, FOREIGN KEY(managerid) REFERENCES employee(id)); @@ -13,15 +14,18 @@ INSERT INTO employee VALUES (1, NULL, 'Smith'), (2, NULL, 'Jhon'), (3, NULL, 'Ro statement error INSERT INTO employee VALUES (4, 4, 'Mark'); +---- statement ok INSERT INTO employee VALUES (4, 2, 'Mark'); statement error UPDATE employee SET id=5 WHERE id=2; +---- statement error DELETE FROM employee WHERE id=2; +---- statement ok DELETE FROM employee WHERE id=4; @@ -32,6 +36,7 @@ UPDATE employee SET name='Juliet' WHERE id=3; # update the indexed column statement error UPDATE employee SET id=2 WHERE id=3; +---- statement ok UPDATE employee SET id=4 WHERE id=3; @@ -45,10 +50,12 @@ SELECT * FROM employee; statement error UPDATE employee SET managerid=5 WHERE id=4; +---- # this is failed because the update is transformed into a delete and an insert statement error UPDATE employee SET managerid=2 WHERE id=4; +---- statement ok UPDATE employee SET id=5, managerid=2 WHERE id=4; @@ -60,21 +67,25 @@ SELECT * FROM employee WHERE managerid=2; statement error ALTER TABLE employee RENAME COLUMN managerid TO managerid_new; +---- statement ok ALTER TABLE employee RENAME COLUMN name TO name_new; statement error ALTER TABLE employee ALTER COLUMN id SET DATA TYPE TEXT; +---- statement ok ALTER TABLE employee ALTER COLUMN name_new SET DATA TYPE TEXT; statement error ALTER TABLE employee DROP COLUMN id; +---- statement error ALTER TABLE employee DROP COLUMN managerid; +---- statement ok ALTER TABLE employee DROP COLUMN name_new; diff --git a/test/sql/constraints/foreignkey/test_fk_temporary.test b/test/sql/constraints/foreignkey/test_fk_temporary.test index 4eeaefa319d4..87937e840a8c 100644 --- a/test/sql/constraints/foreignkey/test_fk_temporary.test +++ b/test/sql/constraints/foreignkey/test_fk_temporary.test @@ -16,9 +16,11 @@ CREATE TEMPORARY TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, # Any row that is inserted into the table with the foreign key must exist in the table with the primary key (constraint) statement error INSERT INTO song VALUES (11, 1, 'A', 'A_song'), (12, 2, 'E', 'B_song'), (13, 3, 'C', 'C_song'); +---- statement error INSERT INTO song VALUES (11, 1, 'A', 'A_song'), (12, 5, 'D', 'B_song'), (13, 3, 'C', 'C_song'); +---- statement ok INSERT INTO song VALUES (11, 1, 'A', 'A_song'), (12, 2, 'B', 'B_song'), (13, 3, 'C', 'C_song'); @@ -26,6 +28,7 @@ INSERT INTO song VALUES (11, 1, 'A', 'A_song'), (12, 2, 'B', 'B_song'), (13, 3, # Any row that is deleted from the table with the primary key must not exist in the table with the foreign key (constraint) statement error DELETE FROM album WHERE albumname='C'; +---- statement ok DELETE FROM album WHERE albumname='D'; @@ -40,6 +43,7 @@ SELECT * FROM album; # Any row that is updated from the table has foreign key must exist in the table with the primary key (constraint) statement error UPDATE song SET songartist=5, songalbum='A' WHERE songname='B_song'; +---- statement ok UPDATE song SET songartist=1, songalbum='A' WHERE songname='B_song'; @@ -61,9 +65,11 @@ SELECT * FROM song; # Any row that is updated from the table with primary key must not exist in the table has foreign key (constraint) statement error UPDATE album SET albumname='B' WHERE albumcover='C_cover'; +---- statement error UPDATE song SET songalbum='E' WHERE albumcover='C_song'; +---- statement ok UPDATE album SET artistid=5, albumname='D' WHERE albumcover='B_cover'; @@ -100,9 +106,11 @@ SELECT * FROM song; # Cannot rename the columns that are involved in the foreign key constraint statement error ALTER TABLE album RENAME COLUMN albumname TO albumname_new; +---- statement error ALTER TABLE song RENAME COLUMN songalbum TO songalbum_new; +---- statement ok ALTER TABLE song RENAME COLUMN songname TO songname_new; @@ -110,9 +118,11 @@ ALTER TABLE song RENAME COLUMN songname TO songname_new; # Cannot change type of the columns that are involved in the foreign key constraint statement error ALTER TABLE song ALTER COLUMN songartist SET DATA TYPE TEXT; +---- statement error ALTER TABLE album ALTER COLUMN artistid SET DATA TYPE TEXT; +---- statement ok ALTER TABLE song ALTER COLUMN songname_new SET DATA TYPE VARCHAR; @@ -120,6 +130,7 @@ ALTER TABLE song ALTER COLUMN songname_new SET DATA TYPE VARCHAR; # Cannot drop the columns that are involved in the foreign key constraint because of dependency statement error ALTER TABLE album DROP COLUMN artistid; +---- statement ok ALTER TABLE song DROP COLUMN songname_new; @@ -127,6 +138,7 @@ ALTER TABLE song DROP COLUMN songname_new; # Can't drop the table with primary key corresponding with foreign key until exists the table has foreign key statement error DROP TABLE album; +---- statement ok DROP TABLE song; @@ -164,12 +176,14 @@ INSERT INTO fkt VALUES (1, 101), (2, 102) statement error INSERT INTO fkt VALUES (4, 104) +---- statement ok INSERT INTO fkt VALUES (3, 103) statement error DELETE FROM pkt WHERE k=13 +---- statement ok DELETE FROM fkt WHERE l=103 @@ -179,12 +193,15 @@ DELETE FROM pkt WHERE k=13 statement error UPDATE pkt SET i=5 WHERE k=12 +---- statement error UPDATE fkt SET i=4 WHERE l=102 +---- statement error UPDATE fkt SET i=4 WHERE l=102 +---- statement ok DROP INDEX k_index @@ -194,6 +211,7 @@ DROP INDEX l_index statement error DROP TABLE pkt; +---- statement ok DROP TABLE fkt; @@ -219,18 +237,21 @@ INSERT INTO s1.fkt VALUES (2), (3) statement error INSERT INTO s1.fkt VALUES (6) +---- statement ok INSERT INTO s1.fkt VALUES (1) statement error DELETE FROM s1.pkt WHERE i=2 +---- statement ok DELETE FROM s1.pkt WHERE i=5 statement error DROP TABLE s1.pkt; +---- statement ok DROP TABLE s1.fkt; diff --git a/test/sql/constraints/foreignkey/test_fk_transaction.test b/test/sql/constraints/foreignkey/test_fk_transaction.test index d81bf3d6084d..54bc1d44dac1 100644 --- a/test/sql/constraints/foreignkey/test_fk_transaction.test +++ b/test/sql/constraints/foreignkey/test_fk_transaction.test @@ -32,6 +32,7 @@ INSERT INTO pkt VALUES (2) statement error INSERT INTO fkt VALUES (3) +---- statement ok ROLLBACK @@ -44,6 +45,7 @@ INSERT INTO fkt VALUES (1) statement error DELETE FROM pkt WHERE i=1 +---- statement ok ROLLBACK @@ -81,6 +83,7 @@ COMMIT statement error DELETE FROM pkt WHERE i=2 +---- statement ok DELETE FROM fkt WHERE j=2 @@ -106,6 +109,7 @@ ROLLBACK statement error DROP TABLE pkt; +---- statement ok DROP TABLE fkt; diff --git a/test/sql/constraints/foreignkey/test_foreignkey.test b/test/sql/constraints/foreignkey/test_foreignkey.test index 18b56da0b937..9c4a2ccce7ce 100644 --- a/test/sql/constraints/foreignkey/test_foreignkey.test +++ b/test/sql/constraints/foreignkey/test_foreignkey.test @@ -11,18 +11,23 @@ INSERT INTO album VALUES (1, 'A', 'A_cover'), (2, 'B', 'B_cover'), (3, 'C', 'C_c # The count of columns are primary keys must be equal with the count of columns are foreign keys statement error CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, songalbum) REFERENCES album(artistid)); +---- statement error CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songalbum) REFERENCES album(artistid, albumname)); +---- statement error CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, songalbum) REFERENCES albumlist(artistid, albumname)); +---- statement error CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, songalbum) REFERENCES album(artistid, album_name)); +---- statement error CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, song_album) REFERENCES album(artistid, albumname)); +---- statement ok CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, songalbum) REFERENCES album(artistid, albumname)); @@ -30,9 +35,11 @@ CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname T # Any row that is inserted into the table with the foreign key must exist in the table with the primary key (constraint) statement error INSERT INTO song VALUES (11, 1, 'A', 'A_song'), (12, 2, 'E', 'B_song'), (13, 3, 'C', 'C_song'); +---- statement error INSERT INTO song VALUES (11, 1, 'A', 'A_song'), (12, 5, 'D', 'B_song'), (13, 3, 'C', 'C_song'); +---- statement ok INSERT INTO song VALUES (11, 1, 'A', 'A_song'), (12, 2, 'B', 'B_song'), (13, 3, 'C', 'C_song'); @@ -40,6 +47,7 @@ INSERT INTO song VALUES (11, 1, 'A', 'A_song'), (12, 2, 'B', 'B_song'), (13, 3, # Any row that is deleted from the table with the primary key must not exist in the table with the foreign key (constraint) statement error DELETE FROM album WHERE albumname='C'; +---- statement ok DELETE FROM album WHERE albumname='D'; @@ -54,6 +62,7 @@ SELECT * FROM album; # Any row that is updated from the table has foreign key must exist in the table with the primary key (constraint) statement error UPDATE song SET songartist=5, songalbum='A' WHERE songname='B_song'; +---- statement ok UPDATE song SET songartist=1, songalbum='A' WHERE songname='B_song'; @@ -75,9 +84,11 @@ SELECT * FROM song; # Any row that is updated from the table with primary key must not exist in the table has foreign key (constraint) statement error UPDATE album SET albumname='B' WHERE albumcover='C_cover'; +---- statement error UPDATE song SET songalbum='E' WHERE albumcover='C_song'; +---- statement ok UPDATE album SET artistid=5, albumname='D' WHERE albumcover='B_cover'; @@ -114,9 +125,11 @@ SELECT * FROM song; # Cannot rename the columns that are involved in the foreign key constraint statement error ALTER TABLE album RENAME COLUMN albumname TO albumname_new; +---- statement error ALTER TABLE song RENAME COLUMN songalbum TO songalbum_new; +---- statement ok ALTER TABLE song RENAME COLUMN songname TO songname_new; @@ -124,9 +137,11 @@ ALTER TABLE song RENAME COLUMN songname TO songname_new; # Cannot change type of the columns that are involved in the foreign key constraint statement error ALTER TABLE song ALTER COLUMN songartist SET DATA TYPE TEXT; +---- statement error ALTER TABLE album ALTER COLUMN artistid SET DATA TYPE TEXT; +---- statement ok ALTER TABLE song ALTER COLUMN songname_new SET DATA TYPE VARCHAR; @@ -134,6 +149,7 @@ ALTER TABLE song ALTER COLUMN songname_new SET DATA TYPE VARCHAR; # Cannot drop the columns that are involved in the foreign key constraint because of dependency statement error ALTER TABLE album DROP COLUMN artistid; +---- statement ok ALTER TABLE song DROP COLUMN songname_new; @@ -141,6 +157,7 @@ ALTER TABLE song DROP COLUMN songname_new; # Can't drop the table with primary key corresponding with foreign key until exists the table has foreign key statement error DROP TABLE album; +---- statement ok DROP TABLE song; @@ -178,12 +195,14 @@ INSERT INTO fkt VALUES (1, 101), (2, 102) statement error INSERT INTO fkt VALUES (4, 104) +---- statement ok INSERT INTO fkt VALUES (3, 103) statement error DELETE FROM pkt WHERE k=13 +---- statement ok DELETE FROM fkt WHERE l=103 @@ -193,12 +212,15 @@ DELETE FROM pkt WHERE k=13 statement error UPDATE pkt SET i=5 WHERE k=12 +---- statement error UPDATE fkt SET i=4 WHERE l=102 +---- statement error UPDATE fkt SET i=4 WHERE l=102 +---- statement ok DROP INDEX k_index @@ -208,6 +230,7 @@ DROP INDEX l_index statement error DROP TABLE pkt; +---- statement ok DROP TABLE fkt; @@ -233,18 +256,21 @@ INSERT INTO s1.fkt VALUES (2), (3) statement error INSERT INTO s1.fkt VALUES (6) +---- statement ok INSERT INTO s1.fkt VALUES (1) statement error DELETE FROM s1.pkt WHERE i=2 +---- statement ok DELETE FROM s1.pkt WHERE i=5 statement error DROP TABLE s1.pkt; +---- statement ok DROP TABLE s1.fkt; diff --git a/test/sql/constraints/primarykey/test_pk_append_many_duplicates.test_slow b/test/sql/constraints/primarykey/test_pk_append_many_duplicates.test_slow index 1ea4292658a6..2347928e2c36 100644 --- a/test/sql/constraints/primarykey/test_pk_append_many_duplicates.test_slow +++ b/test/sql/constraints/primarykey/test_pk_append_many_duplicates.test_slow @@ -45,6 +45,7 @@ loop it 0 10 statement error INSERT INTO integers VALUES ($val) +---- endloop diff --git a/test/sql/constraints/primarykey/test_pk_bool.test b/test/sql/constraints/primarykey/test_pk_bool.test index 85efc28ba2c5..c445be28f734 100644 --- a/test/sql/constraints/primarykey/test_pk_bool.test +++ b/test/sql/constraints/primarykey/test_pk_bool.test @@ -11,6 +11,7 @@ INSERT INTO integers VALUES (1, false), (1, true), (2, false) # duplicate value! statement error INSERT INTO integers VALUES (1, false) +---- statement ok INSERT INTO integers VALUES (2, true) diff --git a/test/sql/constraints/primarykey/test_pk_col_subset.test b/test/sql/constraints/primarykey/test_pk_col_subset.test index e1a935539204..e867444dd291 100644 --- a/test/sql/constraints/primarykey/test_pk_col_subset.test +++ b/test/sql/constraints/primarykey/test_pk_col_subset.test @@ -8,6 +8,7 @@ CREATE TABLE numbers(a integer, b integer, c integer, d integer, e integer, PRIM # insert two conflicting pairs at the same time statement error INSERT INTO numbers VALUES (1,1,1,1,1), (1,1,1,1,1) +---- # insert unique values statement ok @@ -16,6 +17,7 @@ INSERT INTO numbers VALUES (1,1,1,1,1),(1,2,1,1,1),(2,1,2,1,1),(2,2,2,2,2) # insert a duplicate value as part of a chain of values statement error INSERT INTO numbers VALUES (1,1,1,1,1),(1,5,1,1,4); +---- # now insert just the second value statement ok @@ -28,6 +30,7 @@ UPDATE numbers SET c=1 WHERE c=2 # this should fail since is will cause a duplicate statement error UPDATE numbers SET b=1 WHERE b=2 +---- # this should work since it won't cause a duplicate statement ok diff --git a/test/sql/constraints/primarykey/test_pk_concurrency_conflicts.test b/test/sql/constraints/primarykey/test_pk_concurrency_conflicts.test index b5e47b624a7c..bfab04a46b97 100644 --- a/test/sql/constraints/primarykey/test_pk_concurrency_conflicts.test +++ b/test/sql/constraints/primarykey/test_pk_concurrency_conflicts.test @@ -18,13 +18,16 @@ UPDATE integers SET i=4 WHERE i=2 # con2 can't update the second value statement error con2 UPDATE integers SET i=4 WHERE i=2 +---- statement error con2 UPDATE integers SET i=5 WHERE i=2 +---- # nor can it delete it statement error con2 DELETE FROM integers WHERE i=2 +---- # we tried to set i=5 in con2 but it failed, we can set it in con1 now though statement ok con1 diff --git a/test/sql/constraints/primarykey/test_pk_many_columns.test b/test/sql/constraints/primarykey/test_pk_many_columns.test index 9a1db85978a1..dd1b75a919a8 100644 --- a/test/sql/constraints/primarykey/test_pk_many_columns.test +++ b/test/sql/constraints/primarykey/test_pk_many_columns.test @@ -8,6 +8,7 @@ CREATE TABLE numbers(a integer, b integer, c integer, d integer, e integer, PRIM # insert two conflicting pairs at the same time statement error INSERT INTO numbers VALUES (1,1,1,1,1), (1,1,1,1,1) +---- # insert unique values statement ok @@ -16,6 +17,7 @@ INSERT INTO numbers VALUES (1,1,1,1,1),(1,2,1,1,1),(1,1,2,1,1),(2,2,2,2,2) # insert a duplicate value as part of a chain of values statement error INSERT INTO numbers VALUES (1,1,1,1,1),(1,1,1,1,4); +---- # now insert just the second value statement ok @@ -24,4 +26,5 @@ INSERT INTO numbers VALUES (1,1,1,1,4); # this should fail since will cause a duplicate statement error UPDATE numbers SET c=1 WHERE c=2 +---- diff --git a/test/sql/constraints/primarykey/test_pk_multi_column.test b/test/sql/constraints/primarykey/test_pk_multi_column.test index 8551e66c3f38..2d5a2e909048 100644 --- a/test/sql/constraints/primarykey/test_pk_multi_column.test +++ b/test/sql/constraints/primarykey/test_pk_multi_column.test @@ -16,6 +16,7 @@ SELECT * FROM integers statement error INSERT INTO integers VALUES (6, 'bla'), (3, 'hello'); +---- statement ok INSERT INTO integers VALUES (6, 'bla'); diff --git a/test/sql/constraints/primarykey/test_pk_multi_string.test b/test/sql/constraints/primarykey/test_pk_multi_string.test index 9ed2692e2f75..f392be2885ab 100644 --- a/test/sql/constraints/primarykey/test_pk_multi_string.test +++ b/test/sql/constraints/primarykey/test_pk_multi_string.test @@ -8,6 +8,7 @@ CREATE TABLE tst(a varchar, b varchar,PRIMARY KEY(a,b)) # insert two conflicting pairs at the same time statement error INSERT INTO tst VALUES ('hell', 'hello'), ('hell','hello') +---- # insert unique values statement ok @@ -16,6 +17,7 @@ INSERT INTO tst VALUES ('hell', 'hello'), ('hello','hell'), ('hel','hell'), ('he # insert a duplicate value as part of a chain of values statement error INSERT INTO tst VALUES ('hell', 'hello'),('hel', 'hello'); +---- # now insert just the second value statement ok @@ -24,6 +26,7 @@ INSERT INTO tst VALUES ('hel', 'hello'); # this should fail since it will cause a duplicate statement error UPDATE tst SET b='hello' WHERE b='hel' +---- # this should work since it won't cause a duplicate statement ok diff --git a/test/sql/constraints/primarykey/test_pk_prefix.test_slow b/test/sql/constraints/primarykey/test_pk_prefix.test_slow index e71540c39188..408edb96d95e 100644 --- a/test/sql/constraints/primarykey/test_pk_prefix.test_slow +++ b/test/sql/constraints/primarykey/test_pk_prefix.test_slow @@ -19,6 +19,7 @@ loop i 1 300 statement error INSERT INTO test VALUES (${i}, 'hello'); +---- endloop @@ -37,11 +38,13 @@ endloop # This update should fail and stress test the deletes on hello_ prefixes statement error UPDATE test SET a=a+1000; +---- # Should fail for same reason as above, just checking element per element to see if no one is escaping loop i 1 300 statement error INSERT INTO test VALUES (1000+${i}, 'hello'); +---- endloop diff --git a/test/sql/constraints/primarykey/test_pk_string.test b/test/sql/constraints/primarykey/test_pk_string.test index 86775398c9f6..54ea7630e4bf 100644 --- a/test/sql/constraints/primarykey/test_pk_string.test +++ b/test/sql/constraints/primarykey/test_pk_string.test @@ -8,6 +8,7 @@ CREATE TABLE numbers(i varchar PRIMARY KEY, j INTEGER) # insert two conflicting pairs at the same time statement error INSERT INTO numbers VALUES ('1', 4), ('1', 5) +---- # insert unique values statement ok @@ -22,6 +23,7 @@ SELECT * FROM numbers # insert a duplicate value as part of a chain of values statement error INSERT INTO numbers VALUES ('6', 6), ('1', 4); +---- # now insert just the first value statement ok @@ -37,8 +39,10 @@ SELECT * FROM numbers # insert NULL value in PRIMARY KEY is not allowed statement error INSERT INTO numbers VALUES (NULL, 4); +---- # update NULL is also not allowed statement error UPDATE numbers SET i=NULL; +---- diff --git a/test/sql/constraints/primarykey/test_pk_update_delete.test b/test/sql/constraints/primarykey/test_pk_update_delete.test index f03f75de411f..79845370a895 100644 --- a/test/sql/constraints/primarykey/test_pk_update_delete.test +++ b/test/sql/constraints/primarykey/test_pk_update_delete.test @@ -13,9 +13,11 @@ UPDATE test SET b=2 WHERE b=3; statement error UPDATE test SET a=a+1 WHERE b=1; +---- statement error UPDATE test SET a=4; +---- query II SELECT * FROM test; @@ -45,6 +47,7 @@ SELECT * FROM test ORDER BY a; statement error INSERT INTO test VALUES (11, 1); +---- query II SELECT * FROM test ORDER BY a; @@ -65,7 +68,9 @@ SELECT * FROM test ORDER BY a; statement error UPDATE test SET a=NULL WHERE b=1; +---- statement error UPDATE test SET a=NULL; +---- diff --git a/test/sql/constraints/primarykey/test_pk_updel_multi_column.test b/test/sql/constraints/primarykey/test_pk_updel_multi_column.test index 9d451b817509..4b5c7a8dab8c 100644 --- a/test/sql/constraints/primarykey/test_pk_updel_multi_column.test +++ b/test/sql/constraints/primarykey/test_pk_updel_multi_column.test @@ -20,6 +20,7 @@ SELECT * FROM test ORDER BY a; statement error UPDATE test SET a=a+1; +---- query IT SELECT * FROM test ORDER BY a; @@ -30,9 +31,11 @@ SELECT * FROM test ORDER BY a; statement error UPDATE test SET a=13 WHERE a=12; +---- statement error UPDATE test SET a=4; +---- query IT SELECT * FROM test ORDER BY a; @@ -49,6 +52,7 @@ INSERT INTO test VALUES (12, 'pandas'); statement error INSERT INTO test VALUES (12, 'pandas'); +---- statement ok DELETE FROM test WHERE a=12 @@ -68,4 +72,5 @@ SELECT * FROM test ORDER BY a; statement error UPDATE test SET b=NULL WHERE a=13; +---- diff --git a/test/sql/constraints/primarykey/test_primary_key.test b/test/sql/constraints/primarykey/test_primary_key.test index 6c11b8e6b29b..1659df26afae 100644 --- a/test/sql/constraints/primarykey/test_primary_key.test +++ b/test/sql/constraints/primarykey/test_primary_key.test @@ -8,6 +8,7 @@ CREATE TABLE integers(i INTEGER PRIMARY KEY, j INTEGER) # insert two conflicting pairs at the same time statement error INSERT INTO integers VALUES (3, 4), (3, 5) +---- # insert unique values statement ok @@ -22,6 +23,7 @@ SELECT * FROM integers # insert a duplicate value as part of a chain of values statement error INSERT INTO integers VALUES (6, 6), (3, 4); +---- # now insert just the first value statement ok @@ -37,10 +39,12 @@ SELECT * FROM integers # insert NULL value in PRIMARY KEY is not allowed statement error INSERT INTO integers VALUES (NULL, 4); +---- # update NULL is also not allowed statement error UPDATE integers SET i=NULL; +---- # insert the same value from multiple connections # NOTE: this tests current behavior @@ -66,4 +70,5 @@ COMMIT # but the second transaction results in a conflict statement error con2 COMMIT +---- diff --git a/test/sql/constraints/test_constraint_with_updates.test b/test/sql/constraints/test_constraint_with_updates.test index d8f7c12a4066..f49f27a9f8df 100644 --- a/test/sql/constraints/test_constraint_with_updates.test +++ b/test/sql/constraints/test_constraint_with_updates.test @@ -22,9 +22,11 @@ UPDATE integers SET i=i, j=3 # update to a passing value should work statement error UPDATE integers SET i=i, i=10 +---- statement error UPDATE integers SET i=i, j=10 +---- # now update the value without explicitly mentioning the other column statement ok @@ -32,6 +34,7 @@ UPDATE integers SET j=2 statement error UPDATE integers SET j=10 +---- # verify that the final result is correct query III @@ -57,9 +60,11 @@ UPDATE integers SET j=3 # now update the value so it doesn't pass statement error UPDATE integers SET i=NULL +---- statement error UPDATE integers SET j=NULL +---- # verify that the final result is correct query II diff --git a/test/sql/constraints/test_not_null.test b/test/sql/constraints/test_not_null.test index c071238d46f7..cf3239cd7152 100644 --- a/test/sql/constraints/test_not_null.test +++ b/test/sql/constraints/test_not_null.test @@ -10,12 +10,14 @@ INSERT INTO integers VALUES (3) statement error INSERT INTO integers VALUES (NULL) +---- statement ok UPDATE integers SET i=4 statement error UPDATE integers SET i=NULL +---- statement ok CREATE TABLE integers_with_null(i INTEGER) @@ -25,6 +27,7 @@ INSERT INTO integers_with_null VALUES (3), (4), (5), (NULL); statement error INSERT INTO integers (i) SELECT * FROM integers_with_null +---- statement ok INSERT INTO integers (i) SELECT * FROM integers_with_null WHERE i IS NOT NULL diff --git a/test/sql/constraints/unique/test_unique.test b/test/sql/constraints/unique/test_unique.test index 93f89129b79f..1e32b79b2f57 100644 --- a/test/sql/constraints/unique/test_unique.test +++ b/test/sql/constraints/unique/test_unique.test @@ -21,6 +21,7 @@ SELECT * FROM integers # insert a duplicate value as part of a chain of values, this should fail statement error INSERT INTO integers VALUES (6, 6), (3, 4); +---- statement ok INSERT INTO integers VALUES (NULL, 6), (NULL, 7) @@ -28,6 +29,7 @@ INSERT INTO integers VALUES (NULL, 6), (NULL, 7) # but if we try to replace them like this it's going to fail statement error UPDATE integers SET i=77 WHERE i IS NULL +---- query II SELECT * FROM integers ORDER BY i, j @@ -81,6 +83,7 @@ INSERT INTO integers VALUES (NULL, 6), (NULL, 7) statement error INSERT INTO integers VALUES (NULL, 6), (3, 7) +---- statement ok DROP TABLE integers diff --git a/test/sql/constraints/unique/test_unique_error.test b/test/sql/constraints/unique/test_unique_error.test index b477c7d38ecd..f88432f83203 100644 --- a/test/sql/constraints/unique/test_unique_error.test +++ b/test/sql/constraints/unique/test_unique_error.test @@ -12,6 +12,7 @@ INSERT INTO integers VALUES (3, '4'), (2, '4') statement error CREATE UNIQUE INDEX uidx ON integers (j) +---- statement ok DROP TABLE integers diff --git a/test/sql/constraints/unique/test_unique_multi_column.test b/test/sql/constraints/unique/test_unique_multi_column.test index 17d79f663c51..9ee2c3e0cdc7 100644 --- a/test/sql/constraints/unique/test_unique_multi_column.test +++ b/test/sql/constraints/unique/test_unique_multi_column.test @@ -25,12 +25,14 @@ SELECT * FROM integers # insert a duplicate value as part of a chain of values, this should fail statement error INSERT INTO integers VALUES (6, 6), (3, 4); +---- statement ok INSERT INTO integers VALUES (NULL, 6), (NULL, 6), (NULL, 7) statement error UPDATE integers SET i=77 WHERE i IS NULL +---- query II SELECT * FROM integers ORDER BY i, j @@ -85,6 +87,7 @@ INSERT INTO integers VALUES (NULL, 6), (NULL, 7) statement error INSERT INTO integers VALUES (3, 4) +---- statement ok DROP TABLE integers diff --git a/test/sql/constraints/unique/test_unique_multi_constraint.test b/test/sql/constraints/unique/test_unique_multi_constraint.test index 17985fe4e861..bc59b46364b4 100644 --- a/test/sql/constraints/unique/test_unique_multi_constraint.test +++ b/test/sql/constraints/unique/test_unique_multi_constraint.test @@ -12,6 +12,7 @@ INSERT INTO integers VALUES (1, 1), (2, 2) # only the second UNIQUE constraint is violated statement error INSERT INTO integers VALUES (3, 3), (4, 1) +---- # no constraints are violated statement ok @@ -20,6 +21,7 @@ INSERT INTO integers VALUES (3, 3), (4, 4) # insert many values with a unique constraint violation at the end statement error INSERT INTO integers VALUES (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99), (5, 5), (NULL, NULL), (NULL, NULL), (NULL, NULL), (NULL, NULL) +---- query II SELECT * FROM integers WHERE i > 0 ORDER BY 1 @@ -48,10 +50,12 @@ SELECT * FROM integers WHERE i > 0 ORDER BY 1 # conflict on PRIMARY KEY statement error UPDATE integers SET i=4, j=100 WHERE i=1 +---- # conflict on UNIQUE INDEX statement error UPDATE integers SET i=100, j=4 WHERE j=1 +---- # we can insert the old tuple normally statement ok diff --git a/test/sql/constraints/unique/test_unique_string.test b/test/sql/constraints/unique/test_unique_string.test index e4ac19203cb0..590d01a78dd4 100644 --- a/test/sql/constraints/unique/test_unique_string.test +++ b/test/sql/constraints/unique/test_unique_string.test @@ -21,12 +21,14 @@ SELECT * FROM integers statement error INSERT INTO integers VALUES (6, '6'), (3, '4'); +---- statement ok INSERT INTO integers VALUES (6,NULL), (7,NULL) statement error UPDATE integers SET j='77' WHERE j IS NULL +---- query IT SELECT * FROM integers ORDER BY i, j @@ -72,9 +74,11 @@ INSERT INTO integers VALUES (6,NULL), (7,NULL) statement error INSERT INTO integers VALUES (3, '4') +---- statement error INSERT INTO integers VALUES (3, '4') +---- statement ok DROP TABLE integers diff --git a/test/sql/constraints/unique/test_unique_temp.test b/test/sql/constraints/unique/test_unique_temp.test index f3113e15455a..bbfbff28863d 100644 --- a/test/sql/constraints/unique/test_unique_temp.test +++ b/test/sql/constraints/unique/test_unique_temp.test @@ -26,6 +26,7 @@ SELECT * FROM integers # insert a duplicate value as part of a chain of values, this should fail statement error INSERT INTO integers VALUES (6, 6), (3, 4); +---- statement ok INSERT INTO integers VALUES (NULL, 6), (NULL, 7) @@ -33,6 +34,7 @@ INSERT INTO integers VALUES (NULL, 6), (NULL, 7) # but if we try to replace them like this it's going to fail statement error UPDATE integers SET i=77 WHERE i IS NULL +---- query II SELECT * FROM integers ORDER BY i, j @@ -86,6 +88,7 @@ INSERT INTO integers VALUES (NULL, 6), (NULL, 7) statement error INSERT INTO integers VALUES (NULL, 6), (3, 7) +---- statement ok DROP TABLE integers diff --git a/test/sql/copy/csv/7702.test b/test/sql/copy/csv/7702.test index 96f59731700f..81be3147b557 100644 --- a/test/sql/copy/csv/7702.test +++ b/test/sql/copy/csv/7702.test @@ -6,21 +6,11 @@ statement ok PRAGMA enable_verification query I -SELECT count(*) FROM read_csv_auto( ['test/sql/copy/csv/data/error/mismatch/half1.csv', 'test/sql/copy/csv/data/error/mismatch/half2.csv'], ignore_errors=true, sample_size=1, parallel=true); +SELECT count(*) FROM read_csv_auto( ['test/sql/copy/csv/data/error/mismatch/half1.csv', 'test/sql/copy/csv/data/error/mismatch/half2.csv'], ignore_errors=true, sample_size=1); ---- 9102 query I -SELECT count(*) FROM read_csv_auto( ['test/sql/copy/csv/data/error/mismatch/half2.csv', 'test/sql/copy/csv/data/error/mismatch/half1.csv'], ignore_errors=true, sample_size=1, parallel=true); ----- -9102 - -query I -SELECT count(*) FROM read_csv_auto(['test/sql/copy/csv/data/error/mismatch/half1.csv', 'test/sql/copy/csv/data/error/mismatch/half2.csv'], ignore_errors=true, sample_size=1, parallel=false); ----- -9102 - -query I -SELECT count(*) FROM read_csv_auto( ['test/sql/copy/csv/data/error/mismatch/half2.csv', 'test/sql/copy/csv/data/error/mismatch/half1.csv'], ignore_errors=true, sample_size=1, parallel=false); +SELECT count(*) FROM read_csv_auto( ['test/sql/copy/csv/data/error/mismatch/half2.csv', 'test/sql/copy/csv/data/error/mismatch/half1.csv'], ignore_errors=true, sample_size=1); ---- 9102 \ No newline at end of file diff --git a/test/sql/copy/csv/auto/test_auto_5250.test b/test/sql/copy/csv/auto/test_auto_5250.test index 1a4aa07f2a99..54c5a79c7ff8 100644 --- a/test/sql/copy/csv/auto/test_auto_5250.test +++ b/test/sql/copy/csv/auto/test_auto_5250.test @@ -11,4 +11,4 @@ PRAGMA verify_parallelism query I select count(*) from read_csv_auto('data/csv/page_namespacepage_title_sample.csv', SAMPLE_SIZE = -1) ---- -3993 \ No newline at end of file +3993 diff --git a/test/sql/copy/csv/auto/test_auto_8231.test b/test/sql/copy/csv/auto/test_auto_8231.test index a94c0b2dd15e..199fb8a9303d 100644 --- a/test/sql/copy/csv/auto/test_auto_8231.test +++ b/test/sql/copy/csv/auto/test_auto_8231.test @@ -8,7 +8,6 @@ PRAGMA enable_verification statement ok create view locations_header_trailing_comma as SELECT * from read_csv_auto('data/csv/locations_row_trailing_comma.csv', null_padding=True) - query IIIII SELECT * from locations_header_trailing_comma ---- @@ -21,21 +20,4 @@ id BIGINT YES NULL NULL NULL name VARCHAR YES NULL NULL NULL lat BIGINT YES NULL NULL NULL lon BIGINT YES NULL NULL NULL -column4 BIGINT YES NULL NULL NULL - -statement ok -create view locations_row_trailing_comma as SELECT * from read_csv_auto('data/csv/locations_row_trailing_comma.csv', null_padding=True) - -query IIIII -select * from locations_row_trailing_comma ----- -1 name 0 0 NULL - -query IIIIII -describe locations_row_trailing_comma; ----- -id BIGINT YES NULL NULL NULL -name VARCHAR YES NULL NULL NULL -lat BIGINT YES NULL NULL NULL -lon BIGINT YES NULL NULL NULL -column4 BIGINT YES NULL NULL NULL \ No newline at end of file +column4 VARCHAR YES NULL NULL NULL \ No newline at end of file diff --git a/test/sql/copy/csv/auto/test_auto_8573.test b/test/sql/copy/csv/auto/test_auto_8573.test index a52859e1b711..cd901f672096 100644 --- a/test/sql/copy/csv/auto/test_auto_8573.test +++ b/test/sql/copy/csv/auto/test_auto_8573.test @@ -13,4 +13,4 @@ DECIMAL(25,3) DECIMAL(25,3) query II SELECT typeof(bignumber), typeof(bignumber::DECIMAL(25,3)) FROM read_csv_auto('data/csv/big_number.csv', HEADER=TRUE, COLUMNS={'bignumber': 'DECIMAL(25,3)'}, QUOTE='"', DELIM=','); ---- -DECIMAL(25,3) DECIMAL(25,3) \ No newline at end of file +DECIMAL(25,3) DECIMAL(25,3) diff --git a/test/sql/copy/csv/auto/test_auto_8649.test b/test/sql/copy/csv/auto/test_auto_8649.test index 2d84b8e02a9b..0496950b167f 100644 --- a/test/sql/copy/csv/auto/test_auto_8649.test +++ b/test/sql/copy/csv/auto/test_auto_8649.test @@ -10,4 +10,4 @@ query I SELECT * FROM read_csv_auto("data/csv/dim0.csv", header = 1) ; ---- T -0 \ No newline at end of file +0 diff --git a/test/sql/copy/csv/auto/test_auto_column_type_opt.test b/test/sql/copy/csv/auto/test_auto_column_type_opt.test index 70e01847d58d..838335803c67 100644 --- a/test/sql/copy/csv/auto/test_auto_column_type_opt.test +++ b/test/sql/copy/csv/auto/test_auto_column_type_opt.test @@ -5,26 +5,32 @@ # Test read_csv wout auto_detect throws statement error select * from read_csv('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMN_TYPES=STRUCT_PACK(a := 'INTEGER')) +---- # Test non-struct throws statement error select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMN_TYPES=1) +---- # Test empty throws statement error select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMN_TYPES=STRUCT_PACK()) +---- # Test funky type throws statement error select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMN_TYPES=STRUCT_PACK(a := 'BLA')) +---- # Test funky name throws statement error select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMN_TYPES=STRUCT_PACK(bla := 'INTEGER')) +---- # Test wrong type throws statement error select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMN_TYPES=STRUCT_PACK(column3 := 'INTEGER')) +---- # Test 1st column defined query I @@ -62,4 +68,4 @@ SELECT * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv 100000 430 181 p6 1000000 1904 658 p7 10000000 12845 370 p8 -100000000 15519 785 p9 \ No newline at end of file +100000000 15519 785 p9 diff --git a/test/sql/copy/csv/auto/test_auto_cranlogs.test b/test/sql/copy/csv/auto/test_auto_cranlogs.test index b08fecb881d7..9f101ac3b619 100644 --- a/test/sql/copy/csv/auto/test_auto_cranlogs.test +++ b/test/sql/copy/csv/auto/test_auto_cranlogs.test @@ -30,4 +30,4 @@ query IIIIIIIIII (SELECT * FROM cranlogs EXCEPT SELECT * FROM cranlogs2) UNION ALL (SELECT * FROM cranlogs2 EXCEPT SELECT * FROM cranlogs) ----- \ No newline at end of file +---- diff --git a/test/sql/copy/csv/auto/test_csv_auto.test b/test/sql/copy/csv/auto/test_csv_auto.test index 61285ff01af5..2b07c8572167 100644 --- a/test/sql/copy/csv/auto/test_csv_auto.test +++ b/test/sql/copy/csv/auto/test_csv_auto.test @@ -8,6 +8,16 @@ require vector_size 512 statement ok PRAGMA verify_parallelism +statement error +select * from read_csv_auto('data/csv/dates.csv', auto_detect=false, delim=',', quote='"', columns={'a': 'VARCHAR'}) +---- +Expected Number of Columns: 1 Found: 2 + +query II +select * from read_csv_auto('data/csv/dates.csv') +---- +919 304 6161 2008-08-10 + query II select * from read_csv_auto('data/csv/from_df.csv', quote='''') ---- diff --git a/test/sql/copy/csv/auto/test_double_quoted_header.test b/test/sql/copy/csv/auto/test_double_quoted_header.test new file mode 100644 index 000000000000..fbf04965c15e --- /dev/null +++ b/test/sql/copy/csv/auto/test_double_quoted_header.test @@ -0,0 +1,17 @@ +# name: test/sql/copy/csv/auto/test_double_quoted_header.test +# group: [auto] + +statement ok +PRAGMA enable_verification + +query IIIIII +describe from 'data/csv/double_quoted_header.csv'; +---- +foo "bar BIGINT YES NULL NULL NULL +name VARCHAR YES NULL NULL NULL + +query II +from 'data/csv/double_quoted_header.csv'; +---- +1 rob +2 sally \ No newline at end of file diff --git a/test/sql/copy/csv/auto/test_fallback_all_varchar.test b/test/sql/copy/csv/auto/test_fallback_all_varchar.test index cd78c57efe40..291fb663305a 100644 --- a/test/sql/copy/csv/auto/test_fallback_all_varchar.test +++ b/test/sql/copy/csv/auto/test_fallback_all_varchar.test @@ -22,6 +22,7 @@ loop i 1 100 # CSV file with irregularity in first column and small sample size statement error CREATE TABLE test AS SELECT * FROM read_csv_auto ('test/sql/copy/csv/data/auto/test_fallback.csv', SAMPLE_SIZE=1); +---- endloop # CSV file with irregularity in first column, small sample size and fallback activated diff --git a/test/sql/copy/csv/auto/test_sniffer_blob.test b/test/sql/copy/csv/auto/test_sniffer_blob.test new file mode 100644 index 000000000000..40b054a1bd44 --- /dev/null +++ b/test/sql/copy/csv/auto/test_sniffer_blob.test @@ -0,0 +1,32 @@ +# name: test/sql/copy/csv/auto/test_sniffer_blob.test +# description: Test reading a blob with the sniffer +# group: [auto] + +# This is the only way to try to trick the sniffer into checking blobs and it is not valid +statement error +select count(*) from read_csv('test/sql/copy/csv/data/test/blob.csv',auto_type_candidates=['blob']) +---- +Auto Type Candidate of type BLOB is not accepted as a valid input + +# All this is cool and should work. + +query I +select count(*) from read_csv('test/sql/copy/csv/data/test/blob.csv',types=['blob']) +---- +1 + +query I +select count(*) from read_csv('test/sql/copy/csv/data/test/blob.csv',columns={'col1': 'BLOB'}) +---- +1 + +statement ok +create table t ( a blob) + +statement ok +COPY t FROM 'test/sql/copy/csv/data/test/blob.csv'; + +query I +select count(*) from read_csv('test/sql/copy/csv/data/test/blob.csv',columns={'col1': 'BLOB'}) +---- +1 diff --git a/test/sql/copy/csv/auto/test_sniffer_empty_start_value.test b/test/sql/copy/csv/auto/test_sniffer_empty_start_value.test new file mode 100644 index 000000000000..3825a51908cb --- /dev/null +++ b/test/sql/copy/csv/auto/test_sniffer_empty_start_value.test @@ -0,0 +1,14 @@ +# name: test/sql/copy/csv/auto/test_sniffer_empty_start_value.test +# description: Test reading a value with empty spaces at the beginning +# group: [auto] + +statement ok +PRAGMA enable_verification + +query III +from read_csv('data/csv/empty_space_start_value.csv') +---- +1968 86 Greetings +1970 17 Bloody Mama +1970 73 Hi, Mom! +1971 40 Born to Win \ No newline at end of file diff --git a/test/sql/copy/csv/auto/test_timings_csv.test b/test/sql/copy/csv/auto/test_timings_csv.test index e9b12750ee72..cd6de25a6209 100644 --- a/test/sql/copy/csv/auto/test_timings_csv.test +++ b/test/sql/copy/csv/auto/test_timings_csv.test @@ -9,14 +9,6 @@ statement ok CREATE OR REPLACE TABLE timings(tool string, sf float, day string, batch_type string, q string, parameters string, time float); query I -COPY timings FROM 'data/csv/timings.csv' (HEADER, DELIMITER '|', PARALLEL 1) +COPY timings FROM 'data/csv/timings.csv' (HEADER, DELIMITER '|') ---- 1095 - -statement ok -CREATE OR REPLACE TABLE timings(tool string, sf float, day string, batch_type string, q string, parameters string, time float); - -query I -COPY timings FROM 'data/csv/timings.csv' (HEADER, DELIMITER '|', PARALLEL 0) ----- -1095 \ No newline at end of file diff --git a/test/sql/copy/csv/auto/test_type_candidates.test b/test/sql/copy/csv/auto/test_type_candidates.test index a003dda21e43..4904f0033f23 100644 --- a/test/sql/copy/csv/auto/test_type_candidates.test +++ b/test/sql/copy/csv/auto/test_type_candidates.test @@ -109,4 +109,4 @@ Type with name bla does not exist! statement error SELECT * FROM read_csv_auto ('__TEST_DIR__/csv_file.csv', auto_type_candidates=[]); ---- -auto_type_candidates requires at least one type \ No newline at end of file +auto_type_candidates requires at least one type diff --git a/test/sql/copy/csv/bug_10283.test b/test/sql/copy/csv/bug_10283.test new file mode 100644 index 000000000000..d55e1de31d8a --- /dev/null +++ b/test/sql/copy/csv/bug_10283.test @@ -0,0 +1,2373 @@ +# name: test/sql/copy/csv/bug_10283.test +# description: Test for issue #10283 +# group: [csv] + +statement ok +PRAGMA enable_verification + +query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII +from read_csv("data/csv/bug_10283.csv", +Skip=1,header =0,all_varchar=1,sample_size=-1, +columns={ +'I': 'VARCHAR','UNIT': 'VARCHAR','XX': 'VARCHAR','VERSION': 'VARCHAR','SETTLEMENTDATE': 'VARCHAR','RUNNO': 'VARCHAR', +'DUID': 'VARCHAR','INTERVENTION': 'VARCHAR','DISPATCHMODE': 'VARCHAR','AGCSTATUS': 'VARCHAR','INITIALMW': 'VARCHAR', +'TOTALCLEARED': 'VARCHAR','RAMPDOWNRATE': 'VARCHAR','RAMPUPRATE': 'VARCHAR','LOWER5MIN': 'VARCHAR', +'LOWER60SEC': 'VARCHAR','LOWER6SEC': 'VARCHAR','RAISE5MIN': 'VARCHAR','RAISE60SEC': 'VARCHAR', +'RAISE6SEC': 'VARCHAR','MARGINAL5MINVALUE': 'VARCHAR','MARGINAL60SECVALUE': 'VARCHAR', +'MARGINAL6SECVALUE': 'VARCHAR','MARGINALVALUE': 'VARCHAR','VIOLATION5MINDEGREE': 'VARCHAR', +'VIOLATION60SECDEGREE': 'VARCHAR','VIOLATION6SECDEGREE': 'VARCHAR','VIOLATIONDEGREE': 'VARCHAR', +'LOWERREG': 'VARCHAR','RAISEREG': 'VARCHAR','AVAILABILITY': 'VARCHAR','RAISE6SECFLAGS': 'VARCHAR', +'RAISE60SECFLAGS': 'VARCHAR','RAISE5MINFLAGS': 'VARCHAR','RAISEREGFLAGS': 'VARCHAR', +'LOWER6SECFLAGS': 'VARCHAR','LOWER60SECFLAGS': 'VARCHAR','LOWER5MINFLAGS': 'VARCHAR', +'LOWERREGFLAGS': 'VARCHAR','RAISEREGAVAILABILITY': 'VARCHAR','RAISEREGENABLEMENTMAX': 'VARCHAR', +'RAISEREGENABLEMENTMIN': 'VARCHAR','LOWERREGAVAILABILITY': 'VARCHAR','LOWERREGENABLEMENTMAX': 'VARCHAR', +'LOWERREGENABLEMENTMIN': 'VARCHAR','RAISE6SECACTUALAVAILABILITY': 'VARCHAR', +'RAISE60SECACTUALAVAILABILITY': 'VARCHAR','RAISE5MINACTUALAVAILABILITY': 'VARCHAR', +'RAISEREGACTUALAVAILABILITY': 'VARCHAR','LOWER6SECACTUALAVAILABILITY': 'VARCHAR', +'LOWER60SECACTUALAVAILABILITY': 'VARCHAR','LOWER5MINACTUALAVAILABILITY': 'VARCHAR', +'LOWERREGACTUALAVAILABILITY': 'VARCHAR' + }, +filename =1,null_padding = true,ignore_errors=1,auto_detect=false) +---- +I DISPATCH CASESOLUTION 1 SETTLEMENTDATE RUNNO INTERVENTION CASESUBTYPE SOLUTIONSTATUS SPDVERSION NONPHYSICALLOSSES TOTALOBJECTIVE TOTALAREAGENVIOLATION TOTALINTERCONNECTORVIOLATION TOTALGENERICVIOLATION TOTALRAMPRATEVIOLATION TOTALUNITMWCAPACITYVIOLATION TOTAL5MINVIOLATION TOTALREGVIOLATION TOTAL6SECVIOLATION TOTAL60SECVIOLATION TOTALASPROFILEVIOLATION TOTALFASTSTARTVIOLATION TOTALENERGYOFFERVIOLATION LASTCHANGED NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:05:00 1 0 NULL 0 NULL 0 -18891916.3260 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:10:00 1 0 NULL 0 NULL 0 -18991572.1050 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:15:00 1 0 NULL 0 NULL 0 -18873654.0430 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:20:00 1 0 NULL 0 NULL 0 -18814533.9560 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:25:00 1 0 NULL 0 NULL 0 -18955411.5810 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:30:00 1 0 NULL 1 NULL 0 -16453600.9790 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 04:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:35:00 1 0 NULL 0 NULL 0 -18918229.6050 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:40:00 1 0 NULL 0 NULL 0 -18903552.1320 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:45:00 1 0 NULL 0 NULL 0 -18956195.7840 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:50:00 1 0 NULL 0 NULL 0 -19068752.4310 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:55:00 1 0 NULL 1 NULL 0 -16547387.8360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 04:50:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:00:00 1 0 NULL 1 NULL 0 -14134931.5130 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 04:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:05:00 1 0 NULL 0 NULL 0 -19099921.3580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:00:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:10:00 1 0 NULL 0 NULL 0 -18967112.4580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:15:00 1 0 NULL 0 NULL 0 -19075483.1820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:20:00 1 0 NULL 0 NULL 0 -19184913.3440 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:25:00 1 0 NULL 1 NULL 0 -14343450.8660 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 05:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:30:00 1 0 NULL 0 NULL 0 -19331879.1490 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:35:00 1 0 NULL 0 NULL 0 -19582540.7460 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:40:00 1 0 NULL 0 NULL 0 -19995441.8250 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:45:00 1 0 NULL 0 NULL 0 -20392189.2680 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:50:00 1 0 NULL 0 NULL 0 -20620333.3450 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:55:00 1 0 NULL 0 NULL 0 -21362524.3070 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:00:00 1 0 NULL 0 NULL 0 -21489793.8170 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:05:00 1 0 NULL 1 NULL 0 2094013133.35 0 0 0 0 86.091 NULL NULL NULL NULL 0 0 0 2023/11/17 06:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:10:00 1 0 NULL 1 NULL 0 1338468636.7650 0 0 0 0 55.418 NULL NULL NULL NULL 0 0 0 2023/11/17 06:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:15:00 1 0 NULL 1 NULL 0 548289035.8710 0 0 0 0 23.281 NULL NULL NULL NULL 0 0 0 2023/11/17 06:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:20:00 1 0 NULL 1 NULL 0 2773061028.0780 0 0 0 0 113.806 NULL NULL NULL NULL 0 0 0 2023/11/17 06:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:25:00 1 0 NULL 1 NULL 0 1505021017.9440 0 0 0 0 62.326 NULL NULL NULL NULL 0 0 0 2023/11/17 06:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:30:00 1 0 NULL 1 NULL 0 490360523.2630 0 0 0 0 21.085 NULL NULL NULL NULL 0 0 0 2023/11/17 06:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:35:00 1 0 NULL 1 NULL 0 2187250227.8070 0 0 0 0 90.128 NULL NULL NULL NULL 0 0 0 2023/11/17 06:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:40:00 1 0 NULL 1 NULL 0 2664659481.8670 0 0 8.851 0 91.522 NULL NULL NULL NULL 0 0 0 2023/11/17 06:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:45:00 1 0 NULL 1 NULL 0 1062603019.6170 0 0 0 0 44.402 NULL NULL NULL NULL 0 0 0 2023/11/17 06:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:50:00 1 0 NULL 1 NULL 0 586841408.2250 0 0 0 0 25.053 NULL NULL NULL NULL 0 0 0 2023/11/17 06:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:55:00 1 0 NULL 0 NULL 0 -28726654.8030 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 06:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:00:00 1 0 NULL 1 NULL 0 1485033818.2130 0 0 0 0 61.621 NULL NULL NULL NULL 0 0 0 2023/11/17 06:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:05:00 1 0 NULL 1 NULL 0 1216625476.3170 0 0 0 0 50.703 NULL NULL NULL NULL 0 0 0 2023/11/17 07:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:10:00 1 0 NULL 1 NULL 0 1305259053.6630 0 0 0 0 54.355 NULL NULL NULL NULL 0 0 0 2023/11/17 07:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:15:00 1 0 NULL 1 NULL 0 591119444.4970 0 0 0 0 25.29 NULL NULL NULL NULL 0 0 0 2023/11/17 07:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:20:00 1 0 NULL 1 NULL 0 742149171.6520 0 0 0 0.416 30.151 NULL NULL NULL NULL 0 0 0 2023/11/17 07:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:25:00 1 0 NULL 1 NULL 0 766417739.3210 0 0 0 0.416 31.141 NULL NULL NULL NULL 0 0 0 2023/11/17 07:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:30:00 1 0 NULL 1 NULL 0 352861875.1030 0 0 0 0.416 14.315 NULL NULL NULL NULL 0 0 0 2023/11/17 07:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:35:00 1 0 NULL 1 NULL 0 8817834722.1480 0 0 0 0.416 358.351 NULL NULL NULL NULL 0 0 0 2023/11/17 07:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:40:00 1 0 NULL 1 NULL 0 2359869476.2250 0 0 0 0.416 95.668 NULL NULL NULL NULL 0 0 0 2023/11/17 07:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:45:00 1 0 NULL 1 NULL 0 1365028867.05 0 0 0 0.416 55.296 NULL NULL NULL NULL 0 0 0 2023/11/17 07:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:50:00 1 0 NULL 1 NULL 0 15272157.7030 0 0 0 0.416 0.51 NULL NULL NULL NULL 0 0 0 2023/11/17 07:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:55:00 1 0 NULL 1 NULL 0 5022568.40 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 07:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:00:00 1 0 NULL 1 NULL 0 2071536.4830 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 07:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:05:00 1 0 NULL 1 NULL 0 5881035925.2910 0 0 0 0.416 239.213 NULL NULL NULL NULL 0 0 0 2023/11/17 08:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:10:00 1 0 NULL 1 NULL 0 4892605710.2240 0 0 0 0.416 198.989 NULL NULL NULL NULL 0 0 0 2023/11/17 08:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:15:00 1 0 NULL 1 NULL 0 3819130532.2320 0 0 0 0.416 155.302 NULL NULL NULL NULL 0 0 0 2023/11/17 08:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:20:00 1 0 NULL 1 NULL 0 2677901325.5920 0 0 0 0.416 108.846 NULL NULL NULL NULL 0 0 0 2023/11/17 08:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:25:00 1 0 NULL 1 NULL 0 1509812889.8560 0 0 0 0.416 61.311 NULL NULL NULL NULL 0 0 0 2023/11/17 08:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:30:00 1 0 NULL 1 NULL 0 168787982.9490 0 0 0 0.416 6.736 NULL NULL NULL NULL 0 0 0 2023/11/17 08:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:35:00 1 0 NULL 1 NULL 0 7564605.6680 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 08:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:40:00 1 0 NULL 1 NULL 0 3536720.6290 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:45:00 1 0 NULL 1 NULL 0 3379078.5810 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:50:00 1 0 NULL 1 NULL 0 123950548.9330 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:55:00 1 0 NULL 1 NULL 0 122839634.4540 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:00:00 1 0 NULL 1 NULL 0 122216116.48 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:05:00 1 0 NULL 1 NULL 0 3424718.80 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:10:00 1 0 NULL 1 NULL 0 3271843.5390 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:15:00 1 0 NULL 1 NULL 0 3257726.6290 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:10:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:20:00 1 0 NULL 1 NULL 0 3586935.9820 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:25:00 1 0 NULL 1 NULL 0 5994413.4070 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:20:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:30:00 1 0 NULL 1 NULL 0 3610284.7060 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:25:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:35:00 1 0 NULL 1 NULL 0 4456441.6050 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:30:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:40:00 1 0 NULL 1 NULL 0 18731332.1660 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 09:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:45:00 1 0 NULL 1 NULL 0 6422848.2190 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:50:00 1 0 NULL 1 NULL 0 6444921.5360 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:55:00 1 0 NULL 1 NULL 0 6859042.8620 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:00:00 1 0 NULL 1 NULL 0 5911282.9530 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/17 09:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:05:00 1 0 NULL 1 NULL 0 5201965.0710 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:10:00 1 0 NULL 1 NULL 0 4376118.4030 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:15:00 1 0 NULL 1 NULL 0 4013503.9750 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:20:00 1 0 NULL 1 NULL 0 6348990.8130 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:25:00 1 0 NULL 1 NULL 0 13747527.9270 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 10:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:30:00 1 0 NULL 1 NULL 0 6571442.6830 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:35:00 1 0 NULL 1 NULL 0 14211057.60 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 10:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:40:00 1 0 NULL 1 NULL 0 7504324.2550 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:45:00 1 0 NULL 1 NULL 0 8528550.0170 0 0 0 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 10:40:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:50:00 1 0 NULL 1 NULL 0 4225305.82 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:55:00 1 0 NULL 1 NULL 0 21485872.2540 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/17 10:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:00:00 1 0 NULL 1 NULL 0 4226007.7930 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:05:00 1 0 NULL 1 NULL 0 4172215.6160 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:10:00 1 0 NULL 1 NULL 0 6683973.9840 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 11:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:15:00 1 0 NULL 1 NULL 0 3830504.4820 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:20:00 1 0 NULL 1 NULL 0 11791856.5180 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 11:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:25:00 1 0 NULL 1 NULL 0 6975406.9030 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 11:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:30:00 1 0 NULL 1 NULL 0 4534686.4890 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:35:00 1 0 NULL 1 NULL 0 4487944.2080 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:30:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:40:00 1 0 NULL 1 NULL 0 4280498.3490 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:45:00 1 0 NULL 1 NULL 0 4225721.8810 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:40:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:50:00 1 0 NULL 1 NULL 0 4102987.3650 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:55:00 1 0 NULL 1 NULL 0 22144271.3020 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 11:50:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:00:00 1 0 NULL 1 NULL 0 9140815.3220 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:05:00 1 0 NULL 1 NULL 0 9116493.9280 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:10:00 1 0 NULL 1 NULL 0 10003655.0370 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:05:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:15:00 1 0 NULL 1 NULL 0 18079517.01 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:20:00 1 0 NULL 1 NULL 0 27406117.0570 0 0 0 0.416 0.91 NULL NULL NULL NULL 0 0 0 2023/11/17 12:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:25:00 1 0 NULL 1 NULL 0 4320521.9670 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:20:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:30:00 1 0 NULL 1 NULL 0 2476488974.4520 0 0 0 0.416 100.343 NULL NULL NULL NULL 0 0 0 2023/11/17 12:25:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:35:00 1 0 NULL 1 NULL 0 1244271669.4330 0 0 0 0.416 50.318 NULL NULL NULL NULL 0 0 0 2023/11/17 12:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:40:00 1 0 NULL 1 NULL 0 27240398.8090 0 0 0 0.416 0.912 NULL NULL NULL NULL 0 0 0 2023/11/17 12:35:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:45:00 1 0 NULL 1 NULL 0 165936351.37 0 0 6.3 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 12:40:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:50:00 1 0 NULL 1 NULL 0 165859462.5740 0 0 5.5 0.416 0.92 NULL NULL NULL NULL 0 0 0 2023/11/17 12:45:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:55:00 1 0 NULL 1 NULL 0 8521883.3220 0 0 0 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 12:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:00:00 1 0 NULL 1 NULL 0 7561068.9480 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 12:55:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:05:00 1 0 NULL 1 NULL 0 4643264.7460 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/17 13:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:10:00 1 0 NULL 1 NULL 0 7234913.6530 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:15:00 1 0 NULL 1 NULL 0 7173770.6820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:10:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:20:00 1 0 NULL 1 NULL 0 7113525.2630 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:15:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:25:00 1 0 NULL 1 NULL 0 4677430.2130 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:20:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:30:00 1 0 NULL 1 NULL 0 7137757.2140 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:25:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:35:00 1 0 NULL 1 NULL 0 3968739.0110 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:40:00 1 0 NULL 1 NULL 0 6180673.3160 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:45:00 1 0 NULL 1 NULL 0 11551903.7220 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 13:40:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:50:00 1 0 NULL 1 NULL 0 3872835.5480 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:55:00 1 0 NULL 1 NULL 0 17473325.51 0 0 0 0.416 0.56 NULL NULL NULL NULL 0 0 0 2023/11/17 13:50:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:00:00 1 0 NULL 1 NULL 0 3750810.7370 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/17 13:55:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:05:00 1 0 NULL 1 NULL 0 13604150.2940 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 14:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:10:00 1 0 NULL 1 NULL 0 527721659.4740 0 0 0 0.416 21.32 NULL NULL NULL NULL 0 0 0 2023/11/17 14:05:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:15:00 1 0 NULL 1 NULL 0 6294109.5750 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 14:10:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:20:00 1 0 NULL 1 NULL 0 21318486.3070 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/17 14:15:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:25:00 1 0 NULL 1 NULL 0 6046850.4370 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 14:20:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:30:00 1 0 NULL 1 NULL 0 3612256.4120 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:25:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:35:00 1 0 NULL 1 NULL 0 5906741.4970 0 0 0 0.416 0.21 NULL NULL NULL NULL 0 0 0 2023/11/17 14:30:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:40:00 1 0 NULL 1 NULL 0 72617.3270 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:45:00 1 0 NULL 1 NULL 0 272811.3590 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:40:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:50:00 1 0 NULL 1 NULL 0 548861020.6880 0 0 7.337 0.416 7.337 NULL NULL NULL NULL 0 0 0 2023/11/17 14:45:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:55:00 1 0 NULL 1 NULL 0 14953704.1040 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 14:50:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:00:00 1 0 NULL 1 NULL 0 76782.3890 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:05:00 1 0 NULL 1 NULL 0 1829348191.2050 0 0 72.095 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 15:00:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:10:00 1 0 NULL 1 NULL 0 1410714484.4390 0 0 55.817 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:05:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:15:00 1 0 NULL 1 NULL 0 1070070453.6940 0 0 42.332 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:20:00 1 0 NULL 1 NULL 0 741446570.9290 0 0 29.271 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 15:15:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:25:00 1 0 NULL 1 NULL 0 604683647.8940 0 0 14.659 2.808 2.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:20:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:30:00 1 0 NULL 1 NULL 0 182919191.4570 0 0 0 2.808 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:25:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:35:00 1 0 NULL 1 NULL 0 351791624.4190 0 0 0 5.002 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:40:00 1 0 NULL 0 NULL 0 -32479057.79 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:35:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:45:00 1 0 NULL 1 NULL 0 -21112431.6520 0 0 0 0 0.46 NULL NULL NULL NULL 0 0 0 2023/11/17 15:40:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:50:00 1 0 NULL 1 NULL 0 -29981122.65 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:45:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:55:00 1 0 NULL 1 NULL 0 -30107374.6380 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:50:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:00:00 1 0 NULL 0 NULL 0 -32339890.8670 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:05:00 1 0 NULL 1 NULL 0 80864316.1390 0 0 0 0 4.65 NULL NULL NULL NULL 0 0 0 2023/11/17 16:00:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:10:00 1 0 NULL 0 NULL 0 -34074408.4470 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:05:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:15:00 1 0 NULL 0 NULL 0 -35444084.7180 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:20:00 1 0 NULL 1 NULL 0 -30480486.3150 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 16:15:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:25:00 1 0 NULL 1 NULL 0 -33015540.6270 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:20:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:30:00 1 0 NULL 1 NULL 0 -24879655.5480 0 0 0 0 0.46 NULL NULL NULL NULL 0 0 0 2023/11/17 16:25:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:35:00 1 0 NULL 0 NULL 0 -41333053.0260 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:40:00 1 0 NULL 0 NULL 0 -41329313.6780 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:45:00 1 0 NULL 0 NULL 0 -41833547.9990 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:40:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:50:00 1 0 NULL 0 NULL 0 -42551070.1150 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:45:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:55:00 1 0 NULL 1 NULL 0 -40165172.80 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:50:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:00:00 1 0 NULL 1 NULL 0 -43463696.7360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:05:00 1 0 NULL 1 NULL 0 402372864.7860 0 0 0 0 18.24 NULL NULL NULL NULL 0 0 0 2023/11/17 17:00:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:10:00 1 0 NULL 1 NULL 0 179581774.6110 0 0 0 0 9.16 NULL NULL NULL NULL 0 0 0 2023/11/17 17:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:15:00 1 0 NULL 0 NULL 0 -44774717.5690 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:20:00 1 0 NULL 0 NULL 0 -44827330.6740 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:25:00 1 0 NULL 0 NULL 0 -44178924.7790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:30:00 1 0 NULL 0 NULL 0 -43916506.8830 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:35:00 1 0 NULL 0 NULL 0 -41189433.84 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:40:00 1 0 NULL 0 NULL 0 -40402133.1480 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:45:00 1 0 NULL 1 NULL 0 -34454714.9820 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 17:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:50:00 1 0 NULL 1 NULL 0 -33579028.50 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 17:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:55:00 1 0 NULL 1 NULL 0 -36094950.5570 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 17:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:00:00 1 0 NULL 1 NULL 0 -36433457.0950 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 17:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:05:00 1 0 NULL 1 NULL 0 -34430611.6970 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:10:00 1 0 NULL 0 NULL 0 -36891093.4820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:15:00 1 0 NULL 0 NULL 0 -37374801.1820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:20:00 1 0 NULL 1 NULL 0 -34255085.9680 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:25:00 1 0 NULL 1 NULL 0 -33215504.3040 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:30:00 1 0 NULL 0 NULL 0 -35196263.3820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:35:00 1 0 NULL 1 NULL 0 -32334724.6370 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:40:00 1 0 NULL 0 NULL 0 -34191415.0880 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:45:00 1 0 NULL 1 NULL 0 -31336602.66 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:50:00 1 0 NULL 0 NULL 0 -34153952.3790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:55:00 1 0 NULL 0 NULL 0 -34067481.2860 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:00:00 1 0 NULL 0 NULL 0 -34161469.6580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:05:00 1 0 NULL 0 NULL 0 -25740682.46 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 19:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:10:00 1 0 NULL 1 NULL 0 888159560.5950 0 0 0 0 37.27 NULL NULL NULL NULL 0 0 0 2023/11/17 19:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:15:00 1 0 NULL 1 NULL 0 883712099.9530 0 0 0 0 37.23 NULL NULL NULL NULL 0 0 0 2023/11/17 19:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:20:00 1 0 NULL 1 NULL 0 881329177.0250 0 0 0 0 37.22 NULL NULL NULL NULL 0 0 0 2023/11/17 19:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:25:00 1 0 NULL 1 NULL 0 899723467.1060 0 0 0 0 37.98 NULL NULL NULL NULL 0 0 0 2023/11/17 19:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:30:00 1 0 NULL 1 NULL 0 872181619.7320 0 0 0 0 36.87 NULL NULL NULL NULL 0 0 0 2023/11/17 19:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:35:00 1 0 NULL 1 NULL 0 6225595163.4330 0 0 0 0 254.68 NULL NULL NULL NULL 0 0 0 2023/11/17 19:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:40:00 1 0 NULL 1 NULL 0 4900041508.0970 0 0 0 0 200.82 NULL NULL NULL NULL 0 0 0 2023/11/17 19:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:45:00 1 0 NULL 1 NULL 0 2374895739.2760 0 0 0 0 98 NULL NULL NULL NULL 0 0 0 2023/11/17 19:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:50:00 1 0 NULL 1 NULL 0 1051496257.6480 0 0 0 0 44.1 NULL NULL NULL NULL 0 0 0 2023/11/17 19:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:55:00 1 0 NULL 0 NULL 0 -32267107.2450 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 19:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:00:00 1 0 NULL 1 NULL 0 -30322764.1280 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 19:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:05:00 1 0 NULL 1 NULL 0 4027187861.5690 0 0 0 0 165.964 NULL NULL NULL NULL 0 0 0 2023/11/17 20:00:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:10:00 1 0 NULL 1 NULL 0 3623567899.1380 0 0 0 0 149.595 NULL NULL NULL NULL 0 0 0 2023/11/17 20:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:15:00 1 0 NULL 1 NULL 0 2841880378.5970 0 0 0 0 117.613 NULL NULL NULL NULL 0 0 0 2023/11/17 20:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:20:00 1 0 NULL 1 NULL 0 2244933416.7980 0 0 0 0 93.477 NULL NULL NULL NULL 0 0 0 2023/11/17 20:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:25:00 1 0 NULL 1 NULL 0 2863030435.6560 0 0 0 0 118.77 NULL NULL NULL NULL 0 0 0 2023/11/17 20:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:30:00 1 0 NULL 1 NULL 0 1904503784.6410 0 0 0 0 79.764 NULL NULL NULL NULL 0 0 0 2023/11/17 20:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:35:00 1 0 NULL 1 NULL 0 2438952364.8470 0 0 0 0 101.415 NULL NULL NULL NULL 0 0 0 2023/11/17 20:30:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:40:00 1 0 NULL 1 NULL 0 2404374386.37 0 0 0 0 100.112 NULL NULL NULL NULL 0 0 0 2023/11/17 20:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:45:00 1 0 NULL 1 NULL 0 483838402.8310 0 0 0 0 21.94 NULL NULL NULL NULL 0 0 0 2023/11/17 20:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:50:00 1 0 NULL 1 NULL 0 229032920.0450 0 0 0 0 11.564 NULL NULL NULL NULL 0 0 0 2023/11/17 20:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:55:00 1 0 NULL 0 NULL 0 -55281754.6920 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 20:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:00:00 1 0 NULL 0 NULL 0 -55407449.3540 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 20:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:05:00 1 0 NULL 1 NULL 0 638042862.1320 0 0 0 0 27.755 NULL NULL NULL NULL 0 0 0 2023/11/17 21:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:10:00 1 0 NULL 1 NULL 0 634495334.57 0 0 0 0 27.846 NULL NULL NULL NULL 0 0 0 2023/11/17 21:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:15:00 1 0 NULL 1 NULL 0 1074013155.4160 0 0 0 0 45.937 NULL NULL NULL NULL 0 0 0 2023/11/17 21:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:20:00 1 0 NULL 1 NULL 0 -52304385.61 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:25:00 1 0 NULL 0 NULL 0 -54778930.8770 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:30:00 1 0 NULL 1 NULL 0 -49933804.9660 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 21:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:35:00 1 0 NULL 1 NULL 0 -12582643.9120 0 0 0 0 1.487 NULL NULL NULL NULL 0 0 0 2023/11/17 21:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:40:00 1 0 NULL 0 NULL 0 -52297928.4560 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:45:00 1 0 NULL 1 NULL 0 3636295874.3410 0 0 0 0 150.225 NULL NULL NULL NULL 0 0 0 2023/11/17 21:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:50:00 1 0 NULL 1 NULL 0 -51935117.2980 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:55:00 1 0 NULL 0 NULL 0 -54402795.21 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:00:00 1 0 NULL 1 NULL 0 -51909940.0510 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:05:00 1 0 NULL 1 NULL 0 -46272644.3910 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:10:00 1 0 NULL 1 NULL 0 -48524238.9060 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:15:00 1 0 NULL 1 NULL 0 365490378.6370 0 0 0 0 16.983 NULL NULL NULL NULL 0 0 0 2023/11/17 22:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:20:00 1 0 NULL 1 NULL 0 319918669.0540 0 0 0 0 15.099 NULL NULL NULL NULL 0 0 0 2023/11/17 22:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:25:00 1 0 NULL 1 NULL 0 279776932.5480 0 0 0 0 13.463 NULL NULL NULL NULL 0 0 0 2023/11/17 22:20:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:30:00 1 0 NULL 0 NULL 0 -50757875.4790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:35:00 1 0 NULL 0 NULL 0 -49364760.0730 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:40:00 1 0 NULL 1 NULL 0 -47241907.5760 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:45:00 1 0 NULL 1 NULL 0 -47915767.6690 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:50:00 1 0 NULL 0 NULL 0 -50172567.1080 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:55:00 1 0 NULL 0 NULL 0 -50056650.4350 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:00:00 1 0 NULL 1 NULL 0 -47573958.7360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:05:00 1 0 NULL 1 NULL 0 -45568109.9610 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 23:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:10:00 1 0 NULL 1 NULL 0 -45494464.1590 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 23:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:15:00 1 0 NULL 0 NULL 0 -47995783.19 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:20:00 1 0 NULL 1 NULL 0 -16025744.1730 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:25:00 1 0 NULL 1 NULL 0 -15966430.1110 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:30:00 1 0 NULL 1 NULL 0 -15990262.8730 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:35:00 1 0 NULL 1 NULL 0 -15922778.3050 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:40:00 1 0 NULL 1 NULL 0 -7172455.1420 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:45:00 1 0 NULL 1 NULL 0 -3762172.28 0 0 0 0.416 0.26 NULL NULL NULL NULL 0 0 0 2023/11/17 23:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:50:00 1 0 NULL 1 NULL 0 -14168482.45 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:55:00 1 0 NULL 1 NULL 0 -15275361.3130 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:00:00 1 0 NULL 1 NULL 0 -5203508.2810 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 23:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:05:00 1 0 NULL 1 NULL 0 2006985581.7150 0 0 79.765 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 00:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:10:00 1 0 NULL 1 NULL 0 1713933363.3980 0 0 68.28 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:15:00 1 0 NULL 1 NULL 0 1324747813.8940 0 0 52.898 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:20:00 1 0 NULL 1 NULL 0 933413090.4160 0 0 37.427 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:25:00 1 0 NULL 1 NULL 0 550689839.8880 0 0 22.2 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 00:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:30:00 1 0 NULL 1 NULL 0 218937418.1080 0 0 8.395 0.416 0.81 NULL NULL NULL NULL 0 0 0 2023/11/18 00:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:35:00 1 0 NULL 1 NULL 0 7579525926.7580 0 0 0 0.416 308.996 NULL NULL NULL NULL 0 0 0 2023/11/18 00:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:40:00 1 0 NULL 1 NULL 0 7336915650.9690 0 0 0 0.416 299.12 NULL NULL NULL NULL 0 0 0 2023/11/18 00:35:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:45:00 1 0 NULL 1 NULL 0 6045182791.2170 0 0 0 0.416 246.546 NULL NULL NULL NULL 0 0 0 2023/11/18 00:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:50:00 1 0 NULL 1 NULL 0 4782443540.40 0 0 0 0.416 195.149 NULL NULL NULL NULL 0 0 0 2023/11/18 00:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:55:00 1 0 NULL 1 NULL 0 3533422992.0770 0 0 0 0.416 144.306 NULL NULL NULL NULL 0 0 0 2023/11/18 00:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:00:00 1 0 NULL 1 NULL 0 2826754356.2650 0 0 0 0.416 115.54 NULL NULL NULL NULL 0 0 0 2023/11/18 00:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:05:00 1 0 NULL 1 NULL 0 1453322777.0730 0 0 0 0.416 59.628 NULL NULL NULL NULL 0 0 0 2023/11/18 01:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:10:00 1 0 NULL 1 NULL 0 499129476.38 0 0 0 0.416 20.781 NULL NULL NULL NULL 0 0 0 2023/11/18 01:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:15:00 1 0 NULL 1 NULL 0 485407380.7220 0 0 0 0.416 20.229 NULL NULL NULL NULL 0 0 0 2023/11/18 01:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:20:00 1 0 NULL 1 NULL 0 17265665.6770 0 0 0 0.416 1.17 NULL NULL NULL NULL 0 0 0 2023/11/18 01:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:25:00 1 0 NULL 1 NULL 0 -11434172.2560 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 01:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:30:00 1 0 NULL 1 NULL 0 -3823519.21 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 01:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:35:00 1 0 NULL 1 NULL 0 1498287664.4310 0 0 0 0.416 61.408 NULL NULL NULL NULL 0 0 0 2023/11/18 01:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:40:00 1 0 NULL 1 NULL 0 608001450.7020 0 0 0 0.416 25.168 NULL NULL NULL NULL 0 0 0 2023/11/18 01:35:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:45:00 1 0 NULL 1 NULL 0 -7888393.7570 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 01:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:50:00 1 0 NULL 1 NULL 0 -10396306.4160 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 01:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:55:00 1 0 NULL 1 NULL 0 8316084.7680 0 0 0 0.416 0.76 NULL NULL NULL NULL 0 0 0 2023/11/18 01:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:00:00 1 0 NULL 1 NULL 0 -2731101.26 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 01:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:05:00 1 0 NULL 1 NULL 0 -8814993.7150 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/18 02:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:10:00 1 0 NULL 1 NULL 0 -7598613.6930 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:15:00 1 0 NULL 1 NULL 0 -7628193.4030 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:20:00 1 0 NULL 1 NULL 0 -7639055.3820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:25:00 1 0 NULL 1 NULL 0 -2417482.6810 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:30:00 1 0 NULL 1 NULL 0 -9895427.42 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/18 02:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:35:00 1 0 NULL 1 NULL 0 -2318028.8590 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:40:00 1 0 NULL 1 NULL 0 -9895921.9650 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 02:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:45:00 1 0 NULL 1 NULL 0 -8500955.7880 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/18 02:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:50:00 1 0 NULL 1 NULL 0 -9903525.7990 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 02:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:55:00 1 0 NULL 1 NULL 0 -3502096.8430 0 0 0 0.416 0.26 NULL NULL NULL NULL 0 0 0 2023/11/18 02:50:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:00:00 1 0 NULL 1 NULL 0 -2234303.9630 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:05:00 1 0 NULL 1 NULL 0 -9867178.7940 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:10:00 1 0 NULL 1 NULL 0 -9517507.4350 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/18 03:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:15:00 1 0 NULL 1 NULL 0 -7178170.5820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 03:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:20:00 1 0 NULL 1 NULL 0 -9624785.8940 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:25:00 1 0 NULL 1 NULL 0 -878688.5970 0 0 0 0.416 0.36 NULL NULL NULL NULL 0 0 0 2023/11/18 03:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:30:00 1 0 NULL 1 NULL 0 14145537.0950 0 0 0 0.416 0.97 NULL NULL NULL NULL 0 0 0 2023/11/18 03:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:35:00 1 0 NULL 1 NULL 0 -7149770.39 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 03:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:40:00 1 0 NULL 1 NULL 0 -9596739.4250 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:45:00 1 0 NULL 1 NULL 0 88789129.03 0 0 0 0.416 3.995 NULL NULL NULL NULL 0 0 0 2023/11/18 03:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:50:00 1 0 NULL 1 NULL 0 4426114.4320 0 0 0 0.416 0.56 NULL NULL NULL NULL 0 0 0 2023/11/18 03:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:55:00 1 0 NULL 1 NULL 0 5669292.5630 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/18 03:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 04:00:00 1 0 NULL 1 NULL 0 8250793.4510 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/18 03:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv + +query I +select UNIT from read_csv("data/csv/bug_10283.csv", +Skip=1,header =0,all_varchar=1,sample_size=-1, +columns={ +'I': 'VARCHAR','UNIT': 'VARCHAR','XX': 'VARCHAR','VERSION': 'VARCHAR','SETTLEMENTDATE': 'VARCHAR','RUNNO': 'VARCHAR', +'DUID': 'VARCHAR','INTERVENTION': 'VARCHAR','DISPATCHMODE': 'VARCHAR','AGCSTATUS': 'VARCHAR','INITIALMW': 'VARCHAR', +'TOTALCLEARED': 'VARCHAR','RAMPDOWNRATE': 'VARCHAR','RAMPUPRATE': 'VARCHAR','LOWER5MIN': 'VARCHAR', +'LOWER60SEC': 'VARCHAR','LOWER6SEC': 'VARCHAR','RAISE5MIN': 'VARCHAR','RAISE60SEC': 'VARCHAR', +'RAISE6SEC': 'VARCHAR','MARGINAL5MINVALUE': 'VARCHAR','MARGINAL60SECVALUE': 'VARCHAR', +'MARGINAL6SECVALUE': 'VARCHAR','MARGINALVALUE': 'VARCHAR','VIOLATION5MINDEGREE': 'VARCHAR', +'VIOLATION60SECDEGREE': 'VARCHAR','VIOLATION6SECDEGREE': 'VARCHAR','VIOLATIONDEGREE': 'VARCHAR', +'LOWERREG': 'VARCHAR','RAISEREG': 'VARCHAR','AVAILABILITY': 'VARCHAR','RAISE6SECFLAGS': 'VARCHAR', +'RAISE60SECFLAGS': 'VARCHAR','RAISE5MINFLAGS': 'VARCHAR','RAISEREGFLAGS': 'VARCHAR', +'LOWER6SECFLAGS': 'VARCHAR','LOWER60SECFLAGS': 'VARCHAR','LOWER5MINFLAGS': 'VARCHAR', +'LOWERREGFLAGS': 'VARCHAR','RAISEREGAVAILABILITY': 'VARCHAR','RAISEREGENABLEMENTMAX': 'VARCHAR', +'RAISEREGENABLEMENTMIN': 'VARCHAR','LOWERREGAVAILABILITY': 'VARCHAR','LOWERREGENABLEMENTMAX': 'VARCHAR', +'LOWERREGENABLEMENTMIN': 'VARCHAR','RAISE6SECACTUALAVAILABILITY': 'VARCHAR', +'RAISE60SECACTUALAVAILABILITY': 'VARCHAR','RAISE5MINACTUALAVAILABILITY': 'VARCHAR', +'RAISEREGACTUALAVAILABILITY': 'VARCHAR','LOWER6SECACTUALAVAILABILITY': 'VARCHAR', +'LOWER60SECACTUALAVAILABILITY': 'VARCHAR','LOWER5MINACTUALAVAILABILITY': 'VARCHAR', +'LOWERREGACTUALAVAILABILITY': 'VARCHAR' + }, +filename =1,null_padding = true,ignore_errors=1,auto_detect=false) +---- +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH +DISPATCH + +query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII +from read_csv("data/csv/bug_10283.csv", +Skip=1, +header =0, +sample_size=-1, +all_varchar=1, +columns={ +'C1': 'VARCHAR', +'C2': 'VARCHAR', +'C3': 'VARCHAR', +'C4': 'VARCHAR', +'C5': 'VARCHAR', +'C6': 'VARCHAR', +'C7': 'VARCHAR', +'C8': 'VARCHAR', +'C9': 'VARCHAR', +'C10': 'VARCHAR', +'C11': 'VARCHAR', +'C12': 'VARCHAR', +'C13': 'VARCHAR', +'C14': 'VARCHAR', +'C15': 'VARCHAR', +'C16': 'VARCHAR', +'C17': 'VARCHAR', +'C18': 'VARCHAR', +'C19': 'VARCHAR', +'C20': 'VARCHAR', +'C21': 'VARCHAR', +'C22': 'VARCHAR', +'C23': 'VARCHAR', +'C24': 'VARCHAR', +'C25': 'VARCHAR', +'C26': 'VARCHAR', +'C27': 'VARCHAR', +'C28': 'VARCHAR', +'C29': 'VARCHAR', +'C30': 'VARCHAR', +'C31': 'VARCHAR', +'C32': 'VARCHAR', +'C33': 'VARCHAR', +'C34': 'VARCHAR', +'C35': 'VARCHAR', +'C36': 'VARCHAR', +'C37': 'VARCHAR', +'C38': 'VARCHAR', +'C39': 'VARCHAR', +'C40': 'VARCHAR', +'C41': 'VARCHAR', +'C42': 'VARCHAR', +'C43': 'VARCHAR', +'C44': 'VARCHAR', +'C45': 'VARCHAR', +'C46': 'VARCHAR', +'C47': 'VARCHAR', +'C48': 'VARCHAR', +'C49': 'VARCHAR', +'C50': 'VARCHAR', +'C51': 'VARCHAR', +'C52': 'VARCHAR', +'C53': 'VARCHAR', +'C54': 'VARCHAR', +'C55': 'VARCHAR', +'C56': 'VARCHAR', +'C57': 'VARCHAR', +'C58': 'VARCHAR', +'C59': 'VARCHAR', +'C60': 'VARCHAR', +'C61': 'VARCHAR', +'C62': 'VARCHAR', +'C63': 'VARCHAR', +'C64': 'VARCHAR', +'C65': 'VARCHAR', +'C66': 'VARCHAR', +'C67': 'VARCHAR', +'C68': 'VARCHAR', +'C69': 'VARCHAR', +'C70': 'VARCHAR', +'C71': 'VARCHAR', +'C72': 'VARCHAR', +'C73': 'VARCHAR', +'C74': 'VARCHAR', +'C75': 'VARCHAR', +'C76': 'VARCHAR', +'C77': 'VARCHAR', +'C78': 'VARCHAR', +'C79': 'VARCHAR', +'C80': 'VARCHAR', +'C81': 'VARCHAR', +'C82': 'VARCHAR', +'C83': 'VARCHAR', +'C84': 'VARCHAR', +'C85': 'VARCHAR', +'C86': 'VARCHAR', +'C87': 'VARCHAR', +'C88': 'VARCHAR', +'C89': 'VARCHAR', +'C90': 'VARCHAR', +'C91': 'VARCHAR', +'C92': 'VARCHAR', +'C93': 'VARCHAR', +'C94': 'VARCHAR', +'C95': 'VARCHAR', +'C96': 'VARCHAR', +'C97': 'VARCHAR', +'C98': 'VARCHAR', +'C99': 'VARCHAR', +'C100': 'VARCHAR', +'C101': 'VARCHAR', +'C102': 'VARCHAR', +'C103': 'VARCHAR', +'C104': 'VARCHAR', +'C105': 'VARCHAR', +'C106': 'VARCHAR', +'C107': 'VARCHAR', +'C108': 'VARCHAR', +'C109': 'VARCHAR', +'C110': 'VARCHAR', +'C111': 'VARCHAR', +'C112': 'VARCHAR', +'C113': 'VARCHAR', +'C114': 'VARCHAR', +'C115': 'VARCHAR', +'C116': 'VARCHAR', +'C117': 'VARCHAR', +'C118': 'VARCHAR', +'C119': 'VARCHAR', +'C120': 'VARCHAR', +'C121': 'VARCHAR', +'C122': 'VARCHAR', +'C123': 'VARCHAR', +'C124': 'VARCHAR', +'C125': 'VARCHAR', +'C126': 'VARCHAR', +'C127': 'VARCHAR', +'C128': 'VARCHAR', +'C129': 'VARCHAR', +'C130': 'VARCHAR' + }, +ignore_errors=true, +auto_detect=false) +---- + +query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII +from read_csv("data/csv/bug_10283.csv", +Skip=1, +header =0, +sample_size=-1, +all_varchar=1, +columns={ +'C1': 'VARCHAR', +'C2': 'VARCHAR', +'C3': 'VARCHAR', +'C4': 'VARCHAR', +'C5': 'VARCHAR', +'C6': 'VARCHAR', +'C7': 'VARCHAR', +'C8': 'VARCHAR', +'C9': 'VARCHAR', +'C10': 'VARCHAR', +'C11': 'VARCHAR', +'C12': 'VARCHAR', +'C13': 'VARCHAR', +'C14': 'VARCHAR', +'C15': 'VARCHAR', +'C16': 'VARCHAR', +'C17': 'VARCHAR', +'C18': 'VARCHAR', +'C19': 'VARCHAR', +'C20': 'VARCHAR', +'C21': 'VARCHAR', +'C22': 'VARCHAR', +'C23': 'VARCHAR', +'C24': 'VARCHAR', +'C25': 'VARCHAR', +'C26': 'VARCHAR', +'C27': 'VARCHAR', +'C28': 'VARCHAR', +'C29': 'VARCHAR', +'C30': 'VARCHAR', +'C31': 'VARCHAR', +'C32': 'VARCHAR', +'C33': 'VARCHAR', +'C34': 'VARCHAR', +'C35': 'VARCHAR', +'C36': 'VARCHAR', +'C37': 'VARCHAR', +'C38': 'VARCHAR', +'C39': 'VARCHAR', +'C40': 'VARCHAR', +'C41': 'VARCHAR', +'C42': 'VARCHAR', +'C43': 'VARCHAR', +'C44': 'VARCHAR', +'C45': 'VARCHAR', +'C46': 'VARCHAR', +'C47': 'VARCHAR', +'C48': 'VARCHAR', +'C49': 'VARCHAR', +'C50': 'VARCHAR', +'C51': 'VARCHAR', +'C52': 'VARCHAR', +'C53': 'VARCHAR', +'C54': 'VARCHAR', +'C55': 'VARCHAR', +'C56': 'VARCHAR', +'C57': 'VARCHAR', +'C58': 'VARCHAR', +'C59': 'VARCHAR', +'C60': 'VARCHAR', +'C61': 'VARCHAR', +'C62': 'VARCHAR', +'C63': 'VARCHAR', +'C64': 'VARCHAR', +'C65': 'VARCHAR', +'C66': 'VARCHAR', +'C67': 'VARCHAR', +'C68': 'VARCHAR', +'C69': 'VARCHAR', +'C70': 'VARCHAR', +'C71': 'VARCHAR', +'C72': 'VARCHAR', +'C73': 'VARCHAR', +'C74': 'VARCHAR', +'C75': 'VARCHAR', +'C76': 'VARCHAR', +'C77': 'VARCHAR', +'C78': 'VARCHAR', +'C79': 'VARCHAR', +'C80': 'VARCHAR', +'C81': 'VARCHAR', +'C82': 'VARCHAR', +'C83': 'VARCHAR', +'C84': 'VARCHAR', +'C85': 'VARCHAR', +'C86': 'VARCHAR', +'C87': 'VARCHAR', +'C88': 'VARCHAR', +'C89': 'VARCHAR', +'C90': 'VARCHAR', +'C91': 'VARCHAR', +'C92': 'VARCHAR', +'C93': 'VARCHAR', +'C94': 'VARCHAR', +'C95': 'VARCHAR', +'C96': 'VARCHAR', +'C97': 'VARCHAR', +'C98': 'VARCHAR', +'C99': 'VARCHAR', +'C100': 'VARCHAR', +'C101': 'VARCHAR', +'C102': 'VARCHAR', +'C103': 'VARCHAR', +'C104': 'VARCHAR', +'C105': 'VARCHAR', +'C106': 'VARCHAR', +'C107': 'VARCHAR', +'C108': 'VARCHAR', +'C109': 'VARCHAR', +'C110': 'VARCHAR', +'C111': 'VARCHAR', +'C112': 'VARCHAR', +'C113': 'VARCHAR', +'C114': 'VARCHAR', +'C115': 'VARCHAR', +'C116': 'VARCHAR', +'C117': 'VARCHAR', +'C118': 'VARCHAR', +'C119': 'VARCHAR', +'C120': 'VARCHAR', +'C121': 'VARCHAR', +'C122': 'VARCHAR', +'C123': 'VARCHAR', +'C124': 'VARCHAR', +'C125': 'VARCHAR', +'C126': 'VARCHAR', +'C127': 'VARCHAR', +'C128': 'VARCHAR', +'C129': 'VARCHAR', +'C130': 'VARCHAR' + }, +null_padding=true, +auto_detect=false) +---- +I DISPATCH CASESOLUTION 1 SETTLEMENTDATE RUNNO INTERVENTION CASESUBTYPE SOLUTIONSTATUS SPDVERSION NONPHYSICALLOSSES TOTALOBJECTIVE TOTALAREAGENVIOLATION TOTALINTERCONNECTORVIOLATION TOTALGENERICVIOLATION TOTALRAMPRATEVIOLATION TOTALUNITMWCAPACITYVIOLATION TOTAL5MINVIOLATION TOTALREGVIOLATION TOTAL6SECVIOLATION TOTAL60SECVIOLATION TOTALASPROFILEVIOLATION TOTALFASTSTARTVIOLATION TOTALENERGYOFFERVIOLATION LASTCHANGED NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:05:00 1 0 NULL 0 NULL 0 -18891916.3260 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:10:00 1 0 NULL 0 NULL 0 -18991572.1050 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:15:00 1 0 NULL 0 NULL 0 -18873654.0430 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:20:00 1 0 NULL 0 NULL 0 -18814533.9560 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:25:00 1 0 NULL 0 NULL 0 -18955411.5810 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:30:00 1 0 NULL 1 NULL 0 -16453600.9790 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 04:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:35:00 1 0 NULL 0 NULL 0 -18918229.6050 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:40:00 1 0 NULL 0 NULL 0 -18903552.1320 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:45:00 1 0 NULL 0 NULL 0 -18956195.7840 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:50:00 1 0 NULL 0 NULL 0 -19068752.4310 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:55:00 1 0 NULL 1 NULL 0 -16547387.8360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 04:50:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:00:00 1 0 NULL 1 NULL 0 -14134931.5130 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 04:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:05:00 1 0 NULL 0 NULL 0 -19099921.3580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:00:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:10:00 1 0 NULL 0 NULL 0 -18967112.4580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:15:00 1 0 NULL 0 NULL 0 -19075483.1820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:20:00 1 0 NULL 0 NULL 0 -19184913.3440 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:25:00 1 0 NULL 1 NULL 0 -14343450.8660 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 05:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:30:00 1 0 NULL 0 NULL 0 -19331879.1490 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:35:00 1 0 NULL 0 NULL 0 -19582540.7460 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:40:00 1 0 NULL 0 NULL 0 -19995441.8250 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:45:00 1 0 NULL 0 NULL 0 -20392189.2680 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:50:00 1 0 NULL 0 NULL 0 -20620333.3450 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:55:00 1 0 NULL 0 NULL 0 -21362524.3070 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:00:00 1 0 NULL 0 NULL 0 -21489793.8170 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:05:00 1 0 NULL 1 NULL 0 2094013133.35 0 0 0 0 86.091 NULL NULL NULL NULL 0 0 0 2023/11/17 06:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:10:00 1 0 NULL 1 NULL 0 1338468636.7650 0 0 0 0 55.418 NULL NULL NULL NULL 0 0 0 2023/11/17 06:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:15:00 1 0 NULL 1 NULL 0 548289035.8710 0 0 0 0 23.281 NULL NULL NULL NULL 0 0 0 2023/11/17 06:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:20:00 1 0 NULL 1 NULL 0 2773061028.0780 0 0 0 0 113.806 NULL NULL NULL NULL 0 0 0 2023/11/17 06:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:25:00 1 0 NULL 1 NULL 0 1505021017.9440 0 0 0 0 62.326 NULL NULL NULL NULL 0 0 0 2023/11/17 06:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:30:00 1 0 NULL 1 NULL 0 490360523.2630 0 0 0 0 21.085 NULL NULL NULL NULL 0 0 0 2023/11/17 06:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:35:00 1 0 NULL 1 NULL 0 2187250227.8070 0 0 0 0 90.128 NULL NULL NULL NULL 0 0 0 2023/11/17 06:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:40:00 1 0 NULL 1 NULL 0 2664659481.8670 0 0 8.851 0 91.522 NULL NULL NULL NULL 0 0 0 2023/11/17 06:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:45:00 1 0 NULL 1 NULL 0 1062603019.6170 0 0 0 0 44.402 NULL NULL NULL NULL 0 0 0 2023/11/17 06:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:50:00 1 0 NULL 1 NULL 0 586841408.2250 0 0 0 0 25.053 NULL NULL NULL NULL 0 0 0 2023/11/17 06:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:55:00 1 0 NULL 0 NULL 0 -28726654.8030 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 06:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:00:00 1 0 NULL 1 NULL 0 1485033818.2130 0 0 0 0 61.621 NULL NULL NULL NULL 0 0 0 2023/11/17 06:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:05:00 1 0 NULL 1 NULL 0 1216625476.3170 0 0 0 0 50.703 NULL NULL NULL NULL 0 0 0 2023/11/17 07:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:10:00 1 0 NULL 1 NULL 0 1305259053.6630 0 0 0 0 54.355 NULL NULL NULL NULL 0 0 0 2023/11/17 07:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:15:00 1 0 NULL 1 NULL 0 591119444.4970 0 0 0 0 25.29 NULL NULL NULL NULL 0 0 0 2023/11/17 07:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:20:00 1 0 NULL 1 NULL 0 742149171.6520 0 0 0 0.416 30.151 NULL NULL NULL NULL 0 0 0 2023/11/17 07:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:25:00 1 0 NULL 1 NULL 0 766417739.3210 0 0 0 0.416 31.141 NULL NULL NULL NULL 0 0 0 2023/11/17 07:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:30:00 1 0 NULL 1 NULL 0 352861875.1030 0 0 0 0.416 14.315 NULL NULL NULL NULL 0 0 0 2023/11/17 07:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:35:00 1 0 NULL 1 NULL 0 8817834722.1480 0 0 0 0.416 358.351 NULL NULL NULL NULL 0 0 0 2023/11/17 07:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:40:00 1 0 NULL 1 NULL 0 2359869476.2250 0 0 0 0.416 95.668 NULL NULL NULL NULL 0 0 0 2023/11/17 07:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:45:00 1 0 NULL 1 NULL 0 1365028867.05 0 0 0 0.416 55.296 NULL NULL NULL NULL 0 0 0 2023/11/17 07:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:50:00 1 0 NULL 1 NULL 0 15272157.7030 0 0 0 0.416 0.51 NULL NULL NULL NULL 0 0 0 2023/11/17 07:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:55:00 1 0 NULL 1 NULL 0 5022568.40 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 07:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:00:00 1 0 NULL 1 NULL 0 2071536.4830 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 07:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:05:00 1 0 NULL 1 NULL 0 5881035925.2910 0 0 0 0.416 239.213 NULL NULL NULL NULL 0 0 0 2023/11/17 08:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:10:00 1 0 NULL 1 NULL 0 4892605710.2240 0 0 0 0.416 198.989 NULL NULL NULL NULL 0 0 0 2023/11/17 08:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:15:00 1 0 NULL 1 NULL 0 3819130532.2320 0 0 0 0.416 155.302 NULL NULL NULL NULL 0 0 0 2023/11/17 08:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:20:00 1 0 NULL 1 NULL 0 2677901325.5920 0 0 0 0.416 108.846 NULL NULL NULL NULL 0 0 0 2023/11/17 08:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:25:00 1 0 NULL 1 NULL 0 1509812889.8560 0 0 0 0.416 61.311 NULL NULL NULL NULL 0 0 0 2023/11/17 08:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:30:00 1 0 NULL 1 NULL 0 168787982.9490 0 0 0 0.416 6.736 NULL NULL NULL NULL 0 0 0 2023/11/17 08:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:35:00 1 0 NULL 1 NULL 0 7564605.6680 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 08:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:40:00 1 0 NULL 1 NULL 0 3536720.6290 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:45:00 1 0 NULL 1 NULL 0 3379078.5810 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:50:00 1 0 NULL 1 NULL 0 123950548.9330 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:55:00 1 0 NULL 1 NULL 0 122839634.4540 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:00:00 1 0 NULL 1 NULL 0 122216116.48 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:05:00 1 0 NULL 1 NULL 0 3424718.80 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:10:00 1 0 NULL 1 NULL 0 3271843.5390 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:15:00 1 0 NULL 1 NULL 0 3257726.6290 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:10:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:20:00 1 0 NULL 1 NULL 0 3586935.9820 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:25:00 1 0 NULL 1 NULL 0 5994413.4070 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:20:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:30:00 1 0 NULL 1 NULL 0 3610284.7060 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:25:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:35:00 1 0 NULL 1 NULL 0 4456441.6050 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:30:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:40:00 1 0 NULL 1 NULL 0 18731332.1660 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 09:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:45:00 1 0 NULL 1 NULL 0 6422848.2190 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:50:00 1 0 NULL 1 NULL 0 6444921.5360 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:55:00 1 0 NULL 1 NULL 0 6859042.8620 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:00:00 1 0 NULL 1 NULL 0 5911282.9530 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/17 09:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:05:00 1 0 NULL 1 NULL 0 5201965.0710 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:10:00 1 0 NULL 1 NULL 0 4376118.4030 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:15:00 1 0 NULL 1 NULL 0 4013503.9750 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:20:00 1 0 NULL 1 NULL 0 6348990.8130 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:25:00 1 0 NULL 1 NULL 0 13747527.9270 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 10:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:30:00 1 0 NULL 1 NULL 0 6571442.6830 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:35:00 1 0 NULL 1 NULL 0 14211057.60 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 10:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:40:00 1 0 NULL 1 NULL 0 7504324.2550 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:45:00 1 0 NULL 1 NULL 0 8528550.0170 0 0 0 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 10:40:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:50:00 1 0 NULL 1 NULL 0 4225305.82 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:55:00 1 0 NULL 1 NULL 0 21485872.2540 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/17 10:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:00:00 1 0 NULL 1 NULL 0 4226007.7930 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:05:00 1 0 NULL 1 NULL 0 4172215.6160 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:10:00 1 0 NULL 1 NULL 0 6683973.9840 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 11:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:15:00 1 0 NULL 1 NULL 0 3830504.4820 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:20:00 1 0 NULL 1 NULL 0 11791856.5180 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 11:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:25:00 1 0 NULL 1 NULL 0 6975406.9030 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 11:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:30:00 1 0 NULL 1 NULL 0 4534686.4890 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:35:00 1 0 NULL 1 NULL 0 4487944.2080 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:30:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:40:00 1 0 NULL 1 NULL 0 4280498.3490 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:45:00 1 0 NULL 1 NULL 0 4225721.8810 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:40:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:50:00 1 0 NULL 1 NULL 0 4102987.3650 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:55:00 1 0 NULL 1 NULL 0 22144271.3020 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 11:50:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:00:00 1 0 NULL 1 NULL 0 9140815.3220 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:05:00 1 0 NULL 1 NULL 0 9116493.9280 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:10:00 1 0 NULL 1 NULL 0 10003655.0370 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:05:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:15:00 1 0 NULL 1 NULL 0 18079517.01 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:20:00 1 0 NULL 1 NULL 0 27406117.0570 0 0 0 0.416 0.91 NULL NULL NULL NULL 0 0 0 2023/11/17 12:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:25:00 1 0 NULL 1 NULL 0 4320521.9670 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:20:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:30:00 1 0 NULL 1 NULL 0 2476488974.4520 0 0 0 0.416 100.343 NULL NULL NULL NULL 0 0 0 2023/11/17 12:25:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:35:00 1 0 NULL 1 NULL 0 1244271669.4330 0 0 0 0.416 50.318 NULL NULL NULL NULL 0 0 0 2023/11/17 12:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:40:00 1 0 NULL 1 NULL 0 27240398.8090 0 0 0 0.416 0.912 NULL NULL NULL NULL 0 0 0 2023/11/17 12:35:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:45:00 1 0 NULL 1 NULL 0 165936351.37 0 0 6.3 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 12:40:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:50:00 1 0 NULL 1 NULL 0 165859462.5740 0 0 5.5 0.416 0.92 NULL NULL NULL NULL 0 0 0 2023/11/17 12:45:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:55:00 1 0 NULL 1 NULL 0 8521883.3220 0 0 0 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 12:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:00:00 1 0 NULL 1 NULL 0 7561068.9480 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 12:55:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:05:00 1 0 NULL 1 NULL 0 4643264.7460 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/17 13:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:10:00 1 0 NULL 1 NULL 0 7234913.6530 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:15:00 1 0 NULL 1 NULL 0 7173770.6820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:10:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:20:00 1 0 NULL 1 NULL 0 7113525.2630 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:15:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:25:00 1 0 NULL 1 NULL 0 4677430.2130 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:20:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:30:00 1 0 NULL 1 NULL 0 7137757.2140 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:25:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:35:00 1 0 NULL 1 NULL 0 3968739.0110 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:40:00 1 0 NULL 1 NULL 0 6180673.3160 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:45:00 1 0 NULL 1 NULL 0 11551903.7220 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 13:40:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:50:00 1 0 NULL 1 NULL 0 3872835.5480 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:55:00 1 0 NULL 1 NULL 0 17473325.51 0 0 0 0.416 0.56 NULL NULL NULL NULL 0 0 0 2023/11/17 13:50:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:00:00 1 0 NULL 1 NULL 0 3750810.7370 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/17 13:55:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:05:00 1 0 NULL 1 NULL 0 13604150.2940 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 14:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:10:00 1 0 NULL 1 NULL 0 527721659.4740 0 0 0 0.416 21.32 NULL NULL NULL NULL 0 0 0 2023/11/17 14:05:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:15:00 1 0 NULL 1 NULL 0 6294109.5750 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 14:10:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:20:00 1 0 NULL 1 NULL 0 21318486.3070 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/17 14:15:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:25:00 1 0 NULL 1 NULL 0 6046850.4370 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 14:20:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:30:00 1 0 NULL 1 NULL 0 3612256.4120 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:25:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:35:00 1 0 NULL 1 NULL 0 5906741.4970 0 0 0 0.416 0.21 NULL NULL NULL NULL 0 0 0 2023/11/17 14:30:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:40:00 1 0 NULL 1 NULL 0 72617.3270 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:45:00 1 0 NULL 1 NULL 0 272811.3590 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:40:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:50:00 1 0 NULL 1 NULL 0 548861020.6880 0 0 7.337 0.416 7.337 NULL NULL NULL NULL 0 0 0 2023/11/17 14:45:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:55:00 1 0 NULL 1 NULL 0 14953704.1040 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 14:50:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:00:00 1 0 NULL 1 NULL 0 76782.3890 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:05:00 1 0 NULL 1 NULL 0 1829348191.2050 0 0 72.095 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 15:00:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:10:00 1 0 NULL 1 NULL 0 1410714484.4390 0 0 55.817 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:05:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:15:00 1 0 NULL 1 NULL 0 1070070453.6940 0 0 42.332 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:20:00 1 0 NULL 1 NULL 0 741446570.9290 0 0 29.271 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 15:15:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:25:00 1 0 NULL 1 NULL 0 604683647.8940 0 0 14.659 2.808 2.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:20:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:30:00 1 0 NULL 1 NULL 0 182919191.4570 0 0 0 2.808 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:25:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:35:00 1 0 NULL 1 NULL 0 351791624.4190 0 0 0 5.002 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:40:00 1 0 NULL 0 NULL 0 -32479057.79 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:35:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:45:00 1 0 NULL 1 NULL 0 -21112431.6520 0 0 0 0 0.46 NULL NULL NULL NULL 0 0 0 2023/11/17 15:40:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:50:00 1 0 NULL 1 NULL 0 -29981122.65 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:45:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:55:00 1 0 NULL 1 NULL 0 -30107374.6380 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:50:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:00:00 1 0 NULL 0 NULL 0 -32339890.8670 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:05:00 1 0 NULL 1 NULL 0 80864316.1390 0 0 0 0 4.65 NULL NULL NULL NULL 0 0 0 2023/11/17 16:00:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:10:00 1 0 NULL 0 NULL 0 -34074408.4470 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:05:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:15:00 1 0 NULL 0 NULL 0 -35444084.7180 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:20:00 1 0 NULL 1 NULL 0 -30480486.3150 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 16:15:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:25:00 1 0 NULL 1 NULL 0 -33015540.6270 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:20:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:30:00 1 0 NULL 1 NULL 0 -24879655.5480 0 0 0 0 0.46 NULL NULL NULL NULL 0 0 0 2023/11/17 16:25:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:35:00 1 0 NULL 0 NULL 0 -41333053.0260 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:40:00 1 0 NULL 0 NULL 0 -41329313.6780 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:45:00 1 0 NULL 0 NULL 0 -41833547.9990 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:40:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:50:00 1 0 NULL 0 NULL 0 -42551070.1150 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:45:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:55:00 1 0 NULL 1 NULL 0 -40165172.80 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:50:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:00:00 1 0 NULL 1 NULL 0 -43463696.7360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:05:00 1 0 NULL 1 NULL 0 402372864.7860 0 0 0 0 18.24 NULL NULL NULL NULL 0 0 0 2023/11/17 17:00:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:10:00 1 0 NULL 1 NULL 0 179581774.6110 0 0 0 0 9.16 NULL NULL NULL NULL 0 0 0 2023/11/17 17:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:15:00 1 0 NULL 0 NULL 0 -44774717.5690 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:20:00 1 0 NULL 0 NULL 0 -44827330.6740 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:25:00 1 0 NULL 0 NULL 0 -44178924.7790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:30:00 1 0 NULL 0 NULL 0 -43916506.8830 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:35:00 1 0 NULL 0 NULL 0 -41189433.84 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:40:00 1 0 NULL 0 NULL 0 -40402133.1480 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:45:00 1 0 NULL 1 NULL 0 -34454714.9820 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 17:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:50:00 1 0 NULL 1 NULL 0 -33579028.50 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 17:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:55:00 1 0 NULL 1 NULL 0 -36094950.5570 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 17:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:00:00 1 0 NULL 1 NULL 0 -36433457.0950 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 17:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:05:00 1 0 NULL 1 NULL 0 -34430611.6970 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:10:00 1 0 NULL 0 NULL 0 -36891093.4820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:15:00 1 0 NULL 0 NULL 0 -37374801.1820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:20:00 1 0 NULL 1 NULL 0 -34255085.9680 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:25:00 1 0 NULL 1 NULL 0 -33215504.3040 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:30:00 1 0 NULL 0 NULL 0 -35196263.3820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:35:00 1 0 NULL 1 NULL 0 -32334724.6370 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:40:00 1 0 NULL 0 NULL 0 -34191415.0880 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:45:00 1 0 NULL 1 NULL 0 -31336602.66 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:50:00 1 0 NULL 0 NULL 0 -34153952.3790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:55:00 1 0 NULL 0 NULL 0 -34067481.2860 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:00:00 1 0 NULL 0 NULL 0 -34161469.6580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:05:00 1 0 NULL 0 NULL 0 -25740682.46 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 19:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:10:00 1 0 NULL 1 NULL 0 888159560.5950 0 0 0 0 37.27 NULL NULL NULL NULL 0 0 0 2023/11/17 19:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:15:00 1 0 NULL 1 NULL 0 883712099.9530 0 0 0 0 37.23 NULL NULL NULL NULL 0 0 0 2023/11/17 19:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:20:00 1 0 NULL 1 NULL 0 881329177.0250 0 0 0 0 37.22 NULL NULL NULL NULL 0 0 0 2023/11/17 19:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:25:00 1 0 NULL 1 NULL 0 899723467.1060 0 0 0 0 37.98 NULL NULL NULL NULL 0 0 0 2023/11/17 19:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:30:00 1 0 NULL 1 NULL 0 872181619.7320 0 0 0 0 36.87 NULL NULL NULL NULL 0 0 0 2023/11/17 19:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:35:00 1 0 NULL 1 NULL 0 6225595163.4330 0 0 0 0 254.68 NULL NULL NULL NULL 0 0 0 2023/11/17 19:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:40:00 1 0 NULL 1 NULL 0 4900041508.0970 0 0 0 0 200.82 NULL NULL NULL NULL 0 0 0 2023/11/17 19:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:45:00 1 0 NULL 1 NULL 0 2374895739.2760 0 0 0 0 98 NULL NULL NULL NULL 0 0 0 2023/11/17 19:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:50:00 1 0 NULL 1 NULL 0 1051496257.6480 0 0 0 0 44.1 NULL NULL NULL NULL 0 0 0 2023/11/17 19:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:55:00 1 0 NULL 0 NULL 0 -32267107.2450 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 19:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:00:00 1 0 NULL 1 NULL 0 -30322764.1280 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 19:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:05:00 1 0 NULL 1 NULL 0 4027187861.5690 0 0 0 0 165.964 NULL NULL NULL NULL 0 0 0 2023/11/17 20:00:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:10:00 1 0 NULL 1 NULL 0 3623567899.1380 0 0 0 0 149.595 NULL NULL NULL NULL 0 0 0 2023/11/17 20:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:15:00 1 0 NULL 1 NULL 0 2841880378.5970 0 0 0 0 117.613 NULL NULL NULL NULL 0 0 0 2023/11/17 20:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:20:00 1 0 NULL 1 NULL 0 2244933416.7980 0 0 0 0 93.477 NULL NULL NULL NULL 0 0 0 2023/11/17 20:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:25:00 1 0 NULL 1 NULL 0 2863030435.6560 0 0 0 0 118.77 NULL NULL NULL NULL 0 0 0 2023/11/17 20:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:30:00 1 0 NULL 1 NULL 0 1904503784.6410 0 0 0 0 79.764 NULL NULL NULL NULL 0 0 0 2023/11/17 20:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:35:00 1 0 NULL 1 NULL 0 2438952364.8470 0 0 0 0 101.415 NULL NULL NULL NULL 0 0 0 2023/11/17 20:30:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:40:00 1 0 NULL 1 NULL 0 2404374386.37 0 0 0 0 100.112 NULL NULL NULL NULL 0 0 0 2023/11/17 20:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:45:00 1 0 NULL 1 NULL 0 483838402.8310 0 0 0 0 21.94 NULL NULL NULL NULL 0 0 0 2023/11/17 20:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:50:00 1 0 NULL 1 NULL 0 229032920.0450 0 0 0 0 11.564 NULL NULL NULL NULL 0 0 0 2023/11/17 20:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:55:00 1 0 NULL 0 NULL 0 -55281754.6920 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 20:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:00:00 1 0 NULL 0 NULL 0 -55407449.3540 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 20:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:05:00 1 0 NULL 1 NULL 0 638042862.1320 0 0 0 0 27.755 NULL NULL NULL NULL 0 0 0 2023/11/17 21:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:10:00 1 0 NULL 1 NULL 0 634495334.57 0 0 0 0 27.846 NULL NULL NULL NULL 0 0 0 2023/11/17 21:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:15:00 1 0 NULL 1 NULL 0 1074013155.4160 0 0 0 0 45.937 NULL NULL NULL NULL 0 0 0 2023/11/17 21:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:20:00 1 0 NULL 1 NULL 0 -52304385.61 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:25:00 1 0 NULL 0 NULL 0 -54778930.8770 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:30:00 1 0 NULL 1 NULL 0 -49933804.9660 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 21:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:35:00 1 0 NULL 1 NULL 0 -12582643.9120 0 0 0 0 1.487 NULL NULL NULL NULL 0 0 0 2023/11/17 21:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:40:00 1 0 NULL 0 NULL 0 -52297928.4560 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:45:00 1 0 NULL 1 NULL 0 3636295874.3410 0 0 0 0 150.225 NULL NULL NULL NULL 0 0 0 2023/11/17 21:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:50:00 1 0 NULL 1 NULL 0 -51935117.2980 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:55:00 1 0 NULL 0 NULL 0 -54402795.21 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:00:00 1 0 NULL 1 NULL 0 -51909940.0510 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:05:00 1 0 NULL 1 NULL 0 -46272644.3910 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:10:00 1 0 NULL 1 NULL 0 -48524238.9060 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:15:00 1 0 NULL 1 NULL 0 365490378.6370 0 0 0 0 16.983 NULL NULL NULL NULL 0 0 0 2023/11/17 22:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:20:00 1 0 NULL 1 NULL 0 319918669.0540 0 0 0 0 15.099 NULL NULL NULL NULL 0 0 0 2023/11/17 22:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:25:00 1 0 NULL 1 NULL 0 279776932.5480 0 0 0 0 13.463 NULL NULL NULL NULL 0 0 0 2023/11/17 22:20:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:30:00 1 0 NULL 0 NULL 0 -50757875.4790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:35:00 1 0 NULL 0 NULL 0 -49364760.0730 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:40:00 1 0 NULL 1 NULL 0 -47241907.5760 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:45:00 1 0 NULL 1 NULL 0 -47915767.6690 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:50:00 1 0 NULL 0 NULL 0 -50172567.1080 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:55:00 1 0 NULL 0 NULL 0 -50056650.4350 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:00:00 1 0 NULL 1 NULL 0 -47573958.7360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:05:00 1 0 NULL 1 NULL 0 -45568109.9610 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 23:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:10:00 1 0 NULL 1 NULL 0 -45494464.1590 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 23:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:15:00 1 0 NULL 0 NULL 0 -47995783.19 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:20:00 1 0 NULL 1 NULL 0 -16025744.1730 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:25:00 1 0 NULL 1 NULL 0 -15966430.1110 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:30:00 1 0 NULL 1 NULL 0 -15990262.8730 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:35:00 1 0 NULL 1 NULL 0 -15922778.3050 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:40:00 1 0 NULL 1 NULL 0 -7172455.1420 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:45:00 1 0 NULL 1 NULL 0 -3762172.28 0 0 0 0.416 0.26 NULL NULL NULL NULL 0 0 0 2023/11/17 23:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:50:00 1 0 NULL 1 NULL 0 -14168482.45 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:55:00 1 0 NULL 1 NULL 0 -15275361.3130 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:00:00 1 0 NULL 1 NULL 0 -5203508.2810 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 23:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:05:00 1 0 NULL 1 NULL 0 2006985581.7150 0 0 79.765 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 00:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:10:00 1 0 NULL 1 NULL 0 1713933363.3980 0 0 68.28 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:15:00 1 0 NULL 1 NULL 0 1324747813.8940 0 0 52.898 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:20:00 1 0 NULL 1 NULL 0 933413090.4160 0 0 37.427 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:25:00 1 0 NULL 1 NULL 0 550689839.8880 0 0 22.2 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 00:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:30:00 1 0 NULL 1 NULL 0 218937418.1080 0 0 8.395 0.416 0.81 NULL NULL NULL NULL 0 0 0 2023/11/18 00:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:35:00 1 0 NULL 1 NULL 0 7579525926.7580 0 0 0 0.416 308.996 NULL NULL NULL NULL 0 0 0 2023/11/18 00:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:40:00 1 0 NULL 1 NULL 0 7336915650.9690 0 0 0 0.416 299.12 NULL NULL NULL NULL 0 0 0 2023/11/18 00:35:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:45:00 1 0 NULL 1 NULL 0 6045182791.2170 0 0 0 0.416 246.546 NULL NULL NULL NULL 0 0 0 2023/11/18 00:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:50:00 1 0 NULL 1 NULL 0 4782443540.40 0 0 0 0.416 195.149 NULL NULL NULL NULL 0 0 0 2023/11/18 00:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:55:00 1 0 NULL 1 NULL 0 3533422992.0770 0 0 0 0.416 144.306 NULL NULL NULL NULL 0 0 0 2023/11/18 00:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:00:00 1 0 NULL 1 NULL 0 2826754356.2650 0 0 0 0.416 115.54 NULL NULL NULL NULL 0 0 0 2023/11/18 00:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:05:00 1 0 NULL 1 NULL 0 1453322777.0730 0 0 0 0.416 59.628 NULL NULL NULL NULL 0 0 0 2023/11/18 01:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:10:00 1 0 NULL 1 NULL 0 499129476.38 0 0 0 0.416 20.781 NULL NULL NULL NULL 0 0 0 2023/11/18 01:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:15:00 1 0 NULL 1 NULL 0 485407380.7220 0 0 0 0.416 20.229 NULL NULL NULL NULL 0 0 0 2023/11/18 01:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:20:00 1 0 NULL 1 NULL 0 17265665.6770 0 0 0 0.416 1.17 NULL NULL NULL NULL 0 0 0 2023/11/18 01:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:25:00 1 0 NULL 1 NULL 0 -11434172.2560 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 01:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:30:00 1 0 NULL 1 NULL 0 -3823519.21 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 01:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:35:00 1 0 NULL 1 NULL 0 1498287664.4310 0 0 0 0.416 61.408 NULL NULL NULL NULL 0 0 0 2023/11/18 01:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:40:00 1 0 NULL 1 NULL 0 608001450.7020 0 0 0 0.416 25.168 NULL NULL NULL NULL 0 0 0 2023/11/18 01:35:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:45:00 1 0 NULL 1 NULL 0 -7888393.7570 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 01:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:50:00 1 0 NULL 1 NULL 0 -10396306.4160 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 01:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:55:00 1 0 NULL 1 NULL 0 8316084.7680 0 0 0 0.416 0.76 NULL NULL NULL NULL 0 0 0 2023/11/18 01:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:00:00 1 0 NULL 1 NULL 0 -2731101.26 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 01:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:05:00 1 0 NULL 1 NULL 0 -8814993.7150 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/18 02:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:10:00 1 0 NULL 1 NULL 0 -7598613.6930 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:15:00 1 0 NULL 1 NULL 0 -7628193.4030 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:20:00 1 0 NULL 1 NULL 0 -7639055.3820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:25:00 1 0 NULL 1 NULL 0 -2417482.6810 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:30:00 1 0 NULL 1 NULL 0 -9895427.42 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/18 02:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:35:00 1 0 NULL 1 NULL 0 -2318028.8590 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:40:00 1 0 NULL 1 NULL 0 -9895921.9650 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 02:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:45:00 1 0 NULL 1 NULL 0 -8500955.7880 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/18 02:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:50:00 1 0 NULL 1 NULL 0 -9903525.7990 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 02:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:55:00 1 0 NULL 1 NULL 0 -3502096.8430 0 0 0 0.416 0.26 NULL NULL NULL NULL 0 0 0 2023/11/18 02:50:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:00:00 1 0 NULL 1 NULL 0 -2234303.9630 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:05:00 1 0 NULL 1 NULL 0 -9867178.7940 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:10:00 1 0 NULL 1 NULL 0 -9517507.4350 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/18 03:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:15:00 1 0 NULL 1 NULL 0 -7178170.5820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 03:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:20:00 1 0 NULL 1 NULL 0 -9624785.8940 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:25:00 1 0 NULL 1 NULL 0 -878688.5970 0 0 0 0.416 0.36 NULL NULL NULL NULL 0 0 0 2023/11/18 03:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:30:00 1 0 NULL 1 NULL 0 14145537.0950 0 0 0 0.416 0.97 NULL NULL NULL NULL 0 0 0 2023/11/18 03:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:35:00 1 0 NULL 1 NULL 0 -7149770.39 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 03:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:40:00 1 0 NULL 1 NULL 0 -9596739.4250 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:45:00 1 0 NULL 1 NULL 0 88789129.03 0 0 0 0.416 3.995 NULL NULL NULL NULL 0 0 0 2023/11/18 03:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:50:00 1 0 NULL 1 NULL 0 4426114.4320 0 0 0 0.416 0.56 NULL NULL NULL NULL 0 0 0 2023/11/18 03:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:55:00 1 0 NULL 1 NULL 0 5669292.5630 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/18 03:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 04:00:00 1 0 NULL 1 NULL 0 8250793.4510 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/18 03:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +I DREGION NULL 2 SETTLEMENTDATE RUNNO REGIONID INTERVENTION RRP EEP ROP APCFLAG MARKETSUSPENDEDFLAG TOTALDEMAND DEMANDFORECAST DISPATCHABLEGENERATION DISPATCHABLELOAD NETINTERCHANGE EXCESSGENERATION LOWER5MINDISPATCH LOWER5MINIMPORT LOWER5MINLOCALDISPATCH LOWER5MINLOCALPRICE LOWER5MINLOCALREQ LOWER5MINPRICE LOWER5MINREQ LOWER5MINSUPPLYPRICE LOWER60SECDISPATCH LOWER60SECIMPORT LOWER60SECLOCALDISPATCH LOWER60SECLOCALPRICE LOWER60SECLOCALREQ LOWER60SECPRICE LOWER60SECREQ LOWER60SECSUPPLYPRICE LOWER6SECDISPATCH LOWER6SECIMPORT LOWER6SECLOCALDISPATCH LOWER6SECLOCALPRICE LOWER6SECLOCALREQ LOWER6SECPRICE LOWER6SECREQ LOWER6SECSUPPLYPRICE RAISE5MINDISPATCH RAISE5MINIMPORT RAISE5MINLOCALDISPATCH RAISE5MINLOCALPRICE RAISE5MINLOCALREQ RAISE5MINPRICE RAISE5MINREQ RAISE5MINSUPPLYPRICE RAISE60SECDISPATCH RAISE60SECIMPORT RAISE60SECLOCALDISPATCH RAISE60SECLOCALPRICE RAISE60SECLOCALREQ RAISE60SECPRICE RAISE60SECREQ RAISE60SECSUPPLYPRICE RAISE6SECDISPATCH RAISE6SECIMPORT RAISE6SECLOCALDISPATCH RAISE6SECLOCALPRICE RAISE6SECLOCALREQ RAISE6SECPRICE RAISE6SECREQ RAISE6SECSUPPLYPRICE AGGREGATEDISPATCHERROR AVAILABLEGENERATION AVAILABLELOAD INITIALSUPPLY CLEAREDSUPPLY LOWERREGIMPORT LOWERREGLOCALDISPATCH LOWERREGLOCALREQ LOWERREGREQ RAISEREGIMPORT RAISEREGLOCALDISPATCH RAISEREGLOCALREQ RAISEREGREQ RAISE5MINLOCALVIOLATION RAISEREGLOCALVIOLATION RAISE60SECLOCALVIOLATION RAISE6SECLOCALVIOLATION LOWER5MINLOCALVIOLATION LOWERREGLOCALVIOLATION LOWER60SECLOCALVIOLATION LOWER6SECLOCALVIOLATION RAISE5MINVIOLATION RAISEREGVIOLATION RAISE60SECVIOLATION RAISE6SECVIOLATION LOWER5MINVIOLATION LOWERREGVIOLATION LOWER60SECVIOLATION LOWER6SECVIOLATION RAISE6SECRRP RAISE6SECROP RAISE6SECAPCFLAG RAISE60SECRRP RAISE60SECROP RAISE60SECAPCFLAG RAISE5MINRRP RAISE5MINROP RAISE5MINAPCFLAG RAISEREGRRP RAISEREGROP RAISEREGAPCFLAG LOWER6SECRRP LOWER6SECROP LOWER6SECAPCFLAG LOWER60SECRRP LOWER60SECROP LOWER60SECAPCFLAG LOWER5MINRRP LOWER5MINROP LOWER5MINAPCFLAG LOWERREGRRP LOWERREGROP LOWERREGAPCFLAG NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DREGION NULL 2 2023/11/17 04:05:00 1 NSW1 0 88.56012 0 88.56012 0 0 6392.2 23 5694.97 0 -697.23 0 NULL NULL 98.43 NULL NULL NULL NULL NULL NULL NULL 103 NULL NULL NULL NULL NULL NULL NULL 91 NULL NULL NULL NULL NULL NULL NULL 105 NULL NULL NULL NULL NULL NULL NULL 164 NULL NULL NULL NULL NULL NULL NULL 171.23 NULL NULL NULL NULL NULL 2.14388 8571.20053 207 6391.82764 6408.98 NULL 72 NULL NULL NULL 32 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 47.48 47.48 0 8.25 8.25 0 0.38 0.38 0 25.18 25.18 0 0.39 0.39 0 0.39 0.39 0 0.15 0.15 0 5.9 5.9 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DREGION NULL 2 2023/11/17 04:05:00 1 QLD1 0 83.25 0 83.25 0 0 6012.9 1 6405.92 0 393.02 0 NULL NULL 47 NULL NULL NULL NULL NULL NULL NULL 47 NULL NULL NULL NULL NULL NULL NULL 16 NULL NULL NULL NULL NULL NULL NULL 69 NULL NULL NULL NULL NULL NULL NULL 165 NULL NULL NULL NULL NULL NULL NULL 158.59 NULL NULL NULL NULL NULL 12.04781 9607.10393 98 6020.25977 6017.04 NULL 10 NULL NULL NULL 121 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 47.48 47.48 0 8.25 8.25 0 0.38 0.38 0 25.18 25.18 0 0.39 0.39 0 0.39 0.39 0 0.15 0.15 0 5.9 5.9 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL + +query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII +from read_csv("data/csv/bug_10283.csv", +Skip=1, +header =0, +sample_size=-1, +all_varchar=1, +columns={ +'C1': 'VARCHAR', +'C2': 'VARCHAR', +'C3': 'VARCHAR', +'C4': 'VARCHAR', +'C5': 'VARCHAR', +'C6': 'VARCHAR', +'C7': 'VARCHAR', +'C8': 'VARCHAR', +'C9': 'VARCHAR', +'C10': 'VARCHAR', +'C11': 'VARCHAR', +'C12': 'VARCHAR', +'C13': 'VARCHAR', +'C14': 'VARCHAR', +'C15': 'VARCHAR', +'C16': 'VARCHAR', +'C17': 'VARCHAR', +'C18': 'VARCHAR', +'C19': 'VARCHAR', +'C20': 'VARCHAR', +'C21': 'VARCHAR', +'C22': 'VARCHAR', +'C23': 'VARCHAR', +'C24': 'VARCHAR', +'C25': 'VARCHAR', +'C26': 'VARCHAR', +'C27': 'VARCHAR', +'C28': 'VARCHAR', +'C29': 'VARCHAR', +'C30': 'VARCHAR', +'C31': 'VARCHAR', +'C32': 'VARCHAR', +'C33': 'VARCHAR', +'C34': 'VARCHAR', +'C35': 'VARCHAR', +'C36': 'VARCHAR', +'C37': 'VARCHAR', +'C38': 'VARCHAR', +'C39': 'VARCHAR', +'C40': 'VARCHAR', +'C41': 'VARCHAR', +'C42': 'VARCHAR', +'C43': 'VARCHAR', +'C44': 'VARCHAR', +'C45': 'VARCHAR', +'C46': 'VARCHAR', +'C47': 'VARCHAR', +'C48': 'VARCHAR', +'C49': 'VARCHAR', +'C50': 'VARCHAR', +'C51': 'VARCHAR', +'C52': 'VARCHAR', +'C53': 'VARCHAR', +'C54': 'VARCHAR', +'C55': 'VARCHAR', +'C56': 'VARCHAR', +'C57': 'VARCHAR', +'C58': 'VARCHAR', +'C59': 'VARCHAR', +'C60': 'VARCHAR', +'C61': 'VARCHAR', +'C62': 'VARCHAR', +'C63': 'VARCHAR', +'C64': 'VARCHAR', +'C65': 'VARCHAR', +'C66': 'VARCHAR', +'C67': 'VARCHAR', +'C68': 'VARCHAR', +'C69': 'VARCHAR', +'C70': 'VARCHAR', +'C71': 'VARCHAR', +'C72': 'VARCHAR', +'C73': 'VARCHAR', +'C74': 'VARCHAR', +'C75': 'VARCHAR', +'C76': 'VARCHAR', +'C77': 'VARCHAR', +'C78': 'VARCHAR', +'C79': 'VARCHAR', +'C80': 'VARCHAR', +'C81': 'VARCHAR', +'C82': 'VARCHAR', +'C83': 'VARCHAR', +'C84': 'VARCHAR', +'C85': 'VARCHAR', +'C86': 'VARCHAR', +'C87': 'VARCHAR', +'C88': 'VARCHAR', +'C89': 'VARCHAR', +'C90': 'VARCHAR', +'C91': 'VARCHAR', +'C92': 'VARCHAR', +'C93': 'VARCHAR', +'C94': 'VARCHAR', +'C95': 'VARCHAR', +'C96': 'VARCHAR', +'C97': 'VARCHAR', +'C98': 'VARCHAR', +'C99': 'VARCHAR', +'C100': 'VARCHAR', +'C101': 'VARCHAR', +'C102': 'VARCHAR', +'C103': 'VARCHAR', +'C104': 'VARCHAR', +'C105': 'VARCHAR', +'C106': 'VARCHAR', +'C107': 'VARCHAR', +'C108': 'VARCHAR', +'C109': 'VARCHAR', +'C110': 'VARCHAR', +'C111': 'VARCHAR', +'C112': 'VARCHAR', +'C113': 'VARCHAR', +'C114': 'VARCHAR', +'C115': 'VARCHAR', +'C116': 'VARCHAR', +'C117': 'VARCHAR', +'C118': 'VARCHAR', +'C119': 'VARCHAR', +'C120': 'VARCHAR', +'C121': 'VARCHAR', +'C122': 'VARCHAR', +'C123': 'VARCHAR', +'C124': 'VARCHAR', +'C125': 'VARCHAR', +'C126': 'VARCHAR', +'C127': 'VARCHAR', +'C128': 'VARCHAR', +'C129': 'VARCHAR', +'C130': 'VARCHAR' + }, +null_padding=true, +ignore_errors=true, +auto_detect=false) +---- +I DISPATCH CASESOLUTION 1 SETTLEMENTDATE RUNNO INTERVENTION CASESUBTYPE SOLUTIONSTATUS SPDVERSION NONPHYSICALLOSSES TOTALOBJECTIVE TOTALAREAGENVIOLATION TOTALINTERCONNECTORVIOLATION TOTALGENERICVIOLATION TOTALRAMPRATEVIOLATION TOTALUNITMWCAPACITYVIOLATION TOTAL5MINVIOLATION TOTALREGVIOLATION TOTAL6SECVIOLATION TOTAL60SECVIOLATION TOTALASPROFILEVIOLATION TOTALFASTSTARTVIOLATION TOTALENERGYOFFERVIOLATION LASTCHANGED NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:05:00 1 0 NULL 0 NULL 0 -18891916.3260 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:10:00 1 0 NULL 0 NULL 0 -18991572.1050 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:15:00 1 0 NULL 0 NULL 0 -18873654.0430 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:20:00 1 0 NULL 0 NULL 0 -18814533.9560 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:25:00 1 0 NULL 0 NULL 0 -18955411.5810 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:30:00 1 0 NULL 1 NULL 0 -16453600.9790 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 04:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:35:00 1 0 NULL 0 NULL 0 -18918229.6050 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:40:00 1 0 NULL 0 NULL 0 -18903552.1320 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:45:00 1 0 NULL 0 NULL 0 -18956195.7840 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:50:00 1 0 NULL 0 NULL 0 -19068752.4310 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 04:55:00 1 0 NULL 1 NULL 0 -16547387.8360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 04:50:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:00:00 1 0 NULL 1 NULL 0 -14134931.5130 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 04:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:05:00 1 0 NULL 0 NULL 0 -19099921.3580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:00:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:10:00 1 0 NULL 0 NULL 0 -18967112.4580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:15:00 1 0 NULL 0 NULL 0 -19075483.1820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:20:00 1 0 NULL 0 NULL 0 -19184913.3440 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:25:00 1 0 NULL 1 NULL 0 -14343450.8660 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 05:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:30:00 1 0 NULL 0 NULL 0 -19331879.1490 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:35:00 1 0 NULL 0 NULL 0 -19582540.7460 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:40:00 1 0 NULL 0 NULL 0 -19995441.8250 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:45:00 1 0 NULL 0 NULL 0 -20392189.2680 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:50:00 1 0 NULL 0 NULL 0 -20620333.3450 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 05:55:00 1 0 NULL 0 NULL 0 -21362524.3070 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:00:00 1 0 NULL 0 NULL 0 -21489793.8170 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:05:00 1 0 NULL 1 NULL 0 2094013133.35 0 0 0 0 86.091 NULL NULL NULL NULL 0 0 0 2023/11/17 06:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:10:00 1 0 NULL 1 NULL 0 1338468636.7650 0 0 0 0 55.418 NULL NULL NULL NULL 0 0 0 2023/11/17 06:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:15:00 1 0 NULL 1 NULL 0 548289035.8710 0 0 0 0 23.281 NULL NULL NULL NULL 0 0 0 2023/11/17 06:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:20:00 1 0 NULL 1 NULL 0 2773061028.0780 0 0 0 0 113.806 NULL NULL NULL NULL 0 0 0 2023/11/17 06:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:25:00 1 0 NULL 1 NULL 0 1505021017.9440 0 0 0 0 62.326 NULL NULL NULL NULL 0 0 0 2023/11/17 06:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:30:00 1 0 NULL 1 NULL 0 490360523.2630 0 0 0 0 21.085 NULL NULL NULL NULL 0 0 0 2023/11/17 06:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:35:00 1 0 NULL 1 NULL 0 2187250227.8070 0 0 0 0 90.128 NULL NULL NULL NULL 0 0 0 2023/11/17 06:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:40:00 1 0 NULL 1 NULL 0 2664659481.8670 0 0 8.851 0 91.522 NULL NULL NULL NULL 0 0 0 2023/11/17 06:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:45:00 1 0 NULL 1 NULL 0 1062603019.6170 0 0 0 0 44.402 NULL NULL NULL NULL 0 0 0 2023/11/17 06:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:50:00 1 0 NULL 1 NULL 0 586841408.2250 0 0 0 0 25.053 NULL NULL NULL NULL 0 0 0 2023/11/17 06:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 06:55:00 1 0 NULL 0 NULL 0 -28726654.8030 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 06:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:00:00 1 0 NULL 1 NULL 0 1485033818.2130 0 0 0 0 61.621 NULL NULL NULL NULL 0 0 0 2023/11/17 06:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:05:00 1 0 NULL 1 NULL 0 1216625476.3170 0 0 0 0 50.703 NULL NULL NULL NULL 0 0 0 2023/11/17 07:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:10:00 1 0 NULL 1 NULL 0 1305259053.6630 0 0 0 0 54.355 NULL NULL NULL NULL 0 0 0 2023/11/17 07:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:15:00 1 0 NULL 1 NULL 0 591119444.4970 0 0 0 0 25.29 NULL NULL NULL NULL 0 0 0 2023/11/17 07:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:20:00 1 0 NULL 1 NULL 0 742149171.6520 0 0 0 0.416 30.151 NULL NULL NULL NULL 0 0 0 2023/11/17 07:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:25:00 1 0 NULL 1 NULL 0 766417739.3210 0 0 0 0.416 31.141 NULL NULL NULL NULL 0 0 0 2023/11/17 07:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:30:00 1 0 NULL 1 NULL 0 352861875.1030 0 0 0 0.416 14.315 NULL NULL NULL NULL 0 0 0 2023/11/17 07:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:35:00 1 0 NULL 1 NULL 0 8817834722.1480 0 0 0 0.416 358.351 NULL NULL NULL NULL 0 0 0 2023/11/17 07:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:40:00 1 0 NULL 1 NULL 0 2359869476.2250 0 0 0 0.416 95.668 NULL NULL NULL NULL 0 0 0 2023/11/17 07:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:45:00 1 0 NULL 1 NULL 0 1365028867.05 0 0 0 0.416 55.296 NULL NULL NULL NULL 0 0 0 2023/11/17 07:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:50:00 1 0 NULL 1 NULL 0 15272157.7030 0 0 0 0.416 0.51 NULL NULL NULL NULL 0 0 0 2023/11/17 07:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 07:55:00 1 0 NULL 1 NULL 0 5022568.40 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 07:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:00:00 1 0 NULL 1 NULL 0 2071536.4830 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 07:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:05:00 1 0 NULL 1 NULL 0 5881035925.2910 0 0 0 0.416 239.213 NULL NULL NULL NULL 0 0 0 2023/11/17 08:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:10:00 1 0 NULL 1 NULL 0 4892605710.2240 0 0 0 0.416 198.989 NULL NULL NULL NULL 0 0 0 2023/11/17 08:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:15:00 1 0 NULL 1 NULL 0 3819130532.2320 0 0 0 0.416 155.302 NULL NULL NULL NULL 0 0 0 2023/11/17 08:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:20:00 1 0 NULL 1 NULL 0 2677901325.5920 0 0 0 0.416 108.846 NULL NULL NULL NULL 0 0 0 2023/11/17 08:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:25:00 1 0 NULL 1 NULL 0 1509812889.8560 0 0 0 0.416 61.311 NULL NULL NULL NULL 0 0 0 2023/11/17 08:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:30:00 1 0 NULL 1 NULL 0 168787982.9490 0 0 0 0.416 6.736 NULL NULL NULL NULL 0 0 0 2023/11/17 08:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:35:00 1 0 NULL 1 NULL 0 7564605.6680 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 08:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:40:00 1 0 NULL 1 NULL 0 3536720.6290 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:45:00 1 0 NULL 1 NULL 0 3379078.5810 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:50:00 1 0 NULL 1 NULL 0 123950548.9330 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 08:55:00 1 0 NULL 1 NULL 0 122839634.4540 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:00:00 1 0 NULL 1 NULL 0 122216116.48 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:05:00 1 0 NULL 1 NULL 0 3424718.80 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:10:00 1 0 NULL 1 NULL 0 3271843.5390 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:15:00 1 0 NULL 1 NULL 0 3257726.6290 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:10:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:20:00 1 0 NULL 1 NULL 0 3586935.9820 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:25:00 1 0 NULL 1 NULL 0 5994413.4070 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:20:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:30:00 1 0 NULL 1 NULL 0 3610284.7060 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:25:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:35:00 1 0 NULL 1 NULL 0 4456441.6050 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:30:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:40:00 1 0 NULL 1 NULL 0 18731332.1660 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 09:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:45:00 1 0 NULL 1 NULL 0 6422848.2190 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:50:00 1 0 NULL 1 NULL 0 6444921.5360 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 09:55:00 1 0 NULL 1 NULL 0 6859042.8620 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:00:00 1 0 NULL 1 NULL 0 5911282.9530 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/17 09:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:05:00 1 0 NULL 1 NULL 0 5201965.0710 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:10:00 1 0 NULL 1 NULL 0 4376118.4030 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:15:00 1 0 NULL 1 NULL 0 4013503.9750 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:20:00 1 0 NULL 1 NULL 0 6348990.8130 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:25:00 1 0 NULL 1 NULL 0 13747527.9270 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 10:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:30:00 1 0 NULL 1 NULL 0 6571442.6830 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:35:00 1 0 NULL 1 NULL 0 14211057.60 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 10:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:40:00 1 0 NULL 1 NULL 0 7504324.2550 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:45:00 1 0 NULL 1 NULL 0 8528550.0170 0 0 0 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 10:40:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:50:00 1 0 NULL 1 NULL 0 4225305.82 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 10:55:00 1 0 NULL 1 NULL 0 21485872.2540 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/17 10:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:00:00 1 0 NULL 1 NULL 0 4226007.7930 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:05:00 1 0 NULL 1 NULL 0 4172215.6160 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:10:00 1 0 NULL 1 NULL 0 6683973.9840 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 11:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:15:00 1 0 NULL 1 NULL 0 3830504.4820 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:20:00 1 0 NULL 1 NULL 0 11791856.5180 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 11:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:25:00 1 0 NULL 1 NULL 0 6975406.9030 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 11:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:30:00 1 0 NULL 1 NULL 0 4534686.4890 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:35:00 1 0 NULL 1 NULL 0 4487944.2080 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:30:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:40:00 1 0 NULL 1 NULL 0 4280498.3490 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:45:00 1 0 NULL 1 NULL 0 4225721.8810 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:40:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:50:00 1 0 NULL 1 NULL 0 4102987.3650 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 11:55:00 1 0 NULL 1 NULL 0 22144271.3020 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 11:50:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:00:00 1 0 NULL 1 NULL 0 9140815.3220 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:05:00 1 0 NULL 1 NULL 0 9116493.9280 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:10:00 1 0 NULL 1 NULL 0 10003655.0370 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:05:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:15:00 1 0 NULL 1 NULL 0 18079517.01 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:20:00 1 0 NULL 1 NULL 0 27406117.0570 0 0 0 0.416 0.91 NULL NULL NULL NULL 0 0 0 2023/11/17 12:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:25:00 1 0 NULL 1 NULL 0 4320521.9670 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:20:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:30:00 1 0 NULL 1 NULL 0 2476488974.4520 0 0 0 0.416 100.343 NULL NULL NULL NULL 0 0 0 2023/11/17 12:25:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:35:00 1 0 NULL 1 NULL 0 1244271669.4330 0 0 0 0.416 50.318 NULL NULL NULL NULL 0 0 0 2023/11/17 12:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:40:00 1 0 NULL 1 NULL 0 27240398.8090 0 0 0 0.416 0.912 NULL NULL NULL NULL 0 0 0 2023/11/17 12:35:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:45:00 1 0 NULL 1 NULL 0 165936351.37 0 0 6.3 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 12:40:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:50:00 1 0 NULL 1 NULL 0 165859462.5740 0 0 5.5 0.416 0.92 NULL NULL NULL NULL 0 0 0 2023/11/17 12:45:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 12:55:00 1 0 NULL 1 NULL 0 8521883.3220 0 0 0 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 12:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:00:00 1 0 NULL 1 NULL 0 7561068.9480 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 12:55:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:05:00 1 0 NULL 1 NULL 0 4643264.7460 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/17 13:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:10:00 1 0 NULL 1 NULL 0 7234913.6530 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:15:00 1 0 NULL 1 NULL 0 7173770.6820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:10:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:20:00 1 0 NULL 1 NULL 0 7113525.2630 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:15:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:25:00 1 0 NULL 1 NULL 0 4677430.2130 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:20:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:30:00 1 0 NULL 1 NULL 0 7137757.2140 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:25:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:35:00 1 0 NULL 1 NULL 0 3968739.0110 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:40:00 1 0 NULL 1 NULL 0 6180673.3160 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:45:00 1 0 NULL 1 NULL 0 11551903.7220 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 13:40:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:50:00 1 0 NULL 1 NULL 0 3872835.5480 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 13:55:00 1 0 NULL 1 NULL 0 17473325.51 0 0 0 0.416 0.56 NULL NULL NULL NULL 0 0 0 2023/11/17 13:50:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:00:00 1 0 NULL 1 NULL 0 3750810.7370 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/17 13:55:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:05:00 1 0 NULL 1 NULL 0 13604150.2940 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 14:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:10:00 1 0 NULL 1 NULL 0 527721659.4740 0 0 0 0.416 21.32 NULL NULL NULL NULL 0 0 0 2023/11/17 14:05:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:15:00 1 0 NULL 1 NULL 0 6294109.5750 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 14:10:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:20:00 1 0 NULL 1 NULL 0 21318486.3070 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/17 14:15:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:25:00 1 0 NULL 1 NULL 0 6046850.4370 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 14:20:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:30:00 1 0 NULL 1 NULL 0 3612256.4120 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:25:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:35:00 1 0 NULL 1 NULL 0 5906741.4970 0 0 0 0.416 0.21 NULL NULL NULL NULL 0 0 0 2023/11/17 14:30:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:40:00 1 0 NULL 1 NULL 0 72617.3270 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:45:00 1 0 NULL 1 NULL 0 272811.3590 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:40:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:50:00 1 0 NULL 1 NULL 0 548861020.6880 0 0 7.337 0.416 7.337 NULL NULL NULL NULL 0 0 0 2023/11/17 14:45:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 14:55:00 1 0 NULL 1 NULL 0 14953704.1040 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 14:50:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:00:00 1 0 NULL 1 NULL 0 76782.3890 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:05:00 1 0 NULL 1 NULL 0 1829348191.2050 0 0 72.095 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 15:00:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:10:00 1 0 NULL 1 NULL 0 1410714484.4390 0 0 55.817 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:05:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:15:00 1 0 NULL 1 NULL 0 1070070453.6940 0 0 42.332 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:20:00 1 0 NULL 1 NULL 0 741446570.9290 0 0 29.271 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 15:15:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:25:00 1 0 NULL 1 NULL 0 604683647.8940 0 0 14.659 2.808 2.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:20:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:30:00 1 0 NULL 1 NULL 0 182919191.4570 0 0 0 2.808 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:25:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:35:00 1 0 NULL 1 NULL 0 351791624.4190 0 0 0 5.002 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:40:00 1 0 NULL 0 NULL 0 -32479057.79 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:35:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:45:00 1 0 NULL 1 NULL 0 -21112431.6520 0 0 0 0 0.46 NULL NULL NULL NULL 0 0 0 2023/11/17 15:40:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:50:00 1 0 NULL 1 NULL 0 -29981122.65 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:45:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 15:55:00 1 0 NULL 1 NULL 0 -30107374.6380 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:50:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:00:00 1 0 NULL 0 NULL 0 -32339890.8670 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:05:00 1 0 NULL 1 NULL 0 80864316.1390 0 0 0 0 4.65 NULL NULL NULL NULL 0 0 0 2023/11/17 16:00:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:10:00 1 0 NULL 0 NULL 0 -34074408.4470 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:05:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:15:00 1 0 NULL 0 NULL 0 -35444084.7180 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:20:00 1 0 NULL 1 NULL 0 -30480486.3150 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 16:15:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:25:00 1 0 NULL 1 NULL 0 -33015540.6270 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:20:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:30:00 1 0 NULL 1 NULL 0 -24879655.5480 0 0 0 0 0.46 NULL NULL NULL NULL 0 0 0 2023/11/17 16:25:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:35:00 1 0 NULL 0 NULL 0 -41333053.0260 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:40:00 1 0 NULL 0 NULL 0 -41329313.6780 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:45:00 1 0 NULL 0 NULL 0 -41833547.9990 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:40:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:50:00 1 0 NULL 0 NULL 0 -42551070.1150 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:45:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 16:55:00 1 0 NULL 1 NULL 0 -40165172.80 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:50:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:00:00 1 0 NULL 1 NULL 0 -43463696.7360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:05:00 1 0 NULL 1 NULL 0 402372864.7860 0 0 0 0 18.24 NULL NULL NULL NULL 0 0 0 2023/11/17 17:00:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:10:00 1 0 NULL 1 NULL 0 179581774.6110 0 0 0 0 9.16 NULL NULL NULL NULL 0 0 0 2023/11/17 17:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:15:00 1 0 NULL 0 NULL 0 -44774717.5690 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:20:00 1 0 NULL 0 NULL 0 -44827330.6740 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:25:00 1 0 NULL 0 NULL 0 -44178924.7790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:30:00 1 0 NULL 0 NULL 0 -43916506.8830 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:35:00 1 0 NULL 0 NULL 0 -41189433.84 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:40:00 1 0 NULL 0 NULL 0 -40402133.1480 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:45:00 1 0 NULL 1 NULL 0 -34454714.9820 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 17:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:50:00 1 0 NULL 1 NULL 0 -33579028.50 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 17:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 17:55:00 1 0 NULL 1 NULL 0 -36094950.5570 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 17:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:00:00 1 0 NULL 1 NULL 0 -36433457.0950 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 17:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:05:00 1 0 NULL 1 NULL 0 -34430611.6970 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:10:00 1 0 NULL 0 NULL 0 -36891093.4820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:15:00 1 0 NULL 0 NULL 0 -37374801.1820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:20:00 1 0 NULL 1 NULL 0 -34255085.9680 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:25:00 1 0 NULL 1 NULL 0 -33215504.3040 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:30:00 1 0 NULL 0 NULL 0 -35196263.3820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:35:00 1 0 NULL 1 NULL 0 -32334724.6370 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:40:00 1 0 NULL 0 NULL 0 -34191415.0880 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:45:00 1 0 NULL 1 NULL 0 -31336602.66 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:50:00 1 0 NULL 0 NULL 0 -34153952.3790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 18:55:00 1 0 NULL 0 NULL 0 -34067481.2860 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:00:00 1 0 NULL 0 NULL 0 -34161469.6580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:05:00 1 0 NULL 0 NULL 0 -25740682.46 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 19:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:10:00 1 0 NULL 1 NULL 0 888159560.5950 0 0 0 0 37.27 NULL NULL NULL NULL 0 0 0 2023/11/17 19:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:15:00 1 0 NULL 1 NULL 0 883712099.9530 0 0 0 0 37.23 NULL NULL NULL NULL 0 0 0 2023/11/17 19:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:20:00 1 0 NULL 1 NULL 0 881329177.0250 0 0 0 0 37.22 NULL NULL NULL NULL 0 0 0 2023/11/17 19:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:25:00 1 0 NULL 1 NULL 0 899723467.1060 0 0 0 0 37.98 NULL NULL NULL NULL 0 0 0 2023/11/17 19:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:30:00 1 0 NULL 1 NULL 0 872181619.7320 0 0 0 0 36.87 NULL NULL NULL NULL 0 0 0 2023/11/17 19:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:35:00 1 0 NULL 1 NULL 0 6225595163.4330 0 0 0 0 254.68 NULL NULL NULL NULL 0 0 0 2023/11/17 19:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:40:00 1 0 NULL 1 NULL 0 4900041508.0970 0 0 0 0 200.82 NULL NULL NULL NULL 0 0 0 2023/11/17 19:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:45:00 1 0 NULL 1 NULL 0 2374895739.2760 0 0 0 0 98 NULL NULL NULL NULL 0 0 0 2023/11/17 19:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:50:00 1 0 NULL 1 NULL 0 1051496257.6480 0 0 0 0 44.1 NULL NULL NULL NULL 0 0 0 2023/11/17 19:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 19:55:00 1 0 NULL 0 NULL 0 -32267107.2450 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 19:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:00:00 1 0 NULL 1 NULL 0 -30322764.1280 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 19:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:05:00 1 0 NULL 1 NULL 0 4027187861.5690 0 0 0 0 165.964 NULL NULL NULL NULL 0 0 0 2023/11/17 20:00:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:10:00 1 0 NULL 1 NULL 0 3623567899.1380 0 0 0 0 149.595 NULL NULL NULL NULL 0 0 0 2023/11/17 20:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:15:00 1 0 NULL 1 NULL 0 2841880378.5970 0 0 0 0 117.613 NULL NULL NULL NULL 0 0 0 2023/11/17 20:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:20:00 1 0 NULL 1 NULL 0 2244933416.7980 0 0 0 0 93.477 NULL NULL NULL NULL 0 0 0 2023/11/17 20:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:25:00 1 0 NULL 1 NULL 0 2863030435.6560 0 0 0 0 118.77 NULL NULL NULL NULL 0 0 0 2023/11/17 20:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:30:00 1 0 NULL 1 NULL 0 1904503784.6410 0 0 0 0 79.764 NULL NULL NULL NULL 0 0 0 2023/11/17 20:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:35:00 1 0 NULL 1 NULL 0 2438952364.8470 0 0 0 0 101.415 NULL NULL NULL NULL 0 0 0 2023/11/17 20:30:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:40:00 1 0 NULL 1 NULL 0 2404374386.37 0 0 0 0 100.112 NULL NULL NULL NULL 0 0 0 2023/11/17 20:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:45:00 1 0 NULL 1 NULL 0 483838402.8310 0 0 0 0 21.94 NULL NULL NULL NULL 0 0 0 2023/11/17 20:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:50:00 1 0 NULL 1 NULL 0 229032920.0450 0 0 0 0 11.564 NULL NULL NULL NULL 0 0 0 2023/11/17 20:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 20:55:00 1 0 NULL 0 NULL 0 -55281754.6920 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 20:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:00:00 1 0 NULL 0 NULL 0 -55407449.3540 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 20:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:05:00 1 0 NULL 1 NULL 0 638042862.1320 0 0 0 0 27.755 NULL NULL NULL NULL 0 0 0 2023/11/17 21:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:10:00 1 0 NULL 1 NULL 0 634495334.57 0 0 0 0 27.846 NULL NULL NULL NULL 0 0 0 2023/11/17 21:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:15:00 1 0 NULL 1 NULL 0 1074013155.4160 0 0 0 0 45.937 NULL NULL NULL NULL 0 0 0 2023/11/17 21:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:20:00 1 0 NULL 1 NULL 0 -52304385.61 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:25:00 1 0 NULL 0 NULL 0 -54778930.8770 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:30:00 1 0 NULL 1 NULL 0 -49933804.9660 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 21:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:35:00 1 0 NULL 1 NULL 0 -12582643.9120 0 0 0 0 1.487 NULL NULL NULL NULL 0 0 0 2023/11/17 21:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:40:00 1 0 NULL 0 NULL 0 -52297928.4560 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:45:00 1 0 NULL 1 NULL 0 3636295874.3410 0 0 0 0 150.225 NULL NULL NULL NULL 0 0 0 2023/11/17 21:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:50:00 1 0 NULL 1 NULL 0 -51935117.2980 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 21:55:00 1 0 NULL 0 NULL 0 -54402795.21 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:00:00 1 0 NULL 1 NULL 0 -51909940.0510 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:05:00 1 0 NULL 1 NULL 0 -46272644.3910 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:10:00 1 0 NULL 1 NULL 0 -48524238.9060 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:15:00 1 0 NULL 1 NULL 0 365490378.6370 0 0 0 0 16.983 NULL NULL NULL NULL 0 0 0 2023/11/17 22:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:20:00 1 0 NULL 1 NULL 0 319918669.0540 0 0 0 0 15.099 NULL NULL NULL NULL 0 0 0 2023/11/17 22:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:25:00 1 0 NULL 1 NULL 0 279776932.5480 0 0 0 0 13.463 NULL NULL NULL NULL 0 0 0 2023/11/17 22:20:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:30:00 1 0 NULL 0 NULL 0 -50757875.4790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:35:00 1 0 NULL 0 NULL 0 -49364760.0730 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:40:00 1 0 NULL 1 NULL 0 -47241907.5760 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:45:00 1 0 NULL 1 NULL 0 -47915767.6690 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:50:00 1 0 NULL 0 NULL 0 -50172567.1080 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 22:55:00 1 0 NULL 0 NULL 0 -50056650.4350 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:00:00 1 0 NULL 1 NULL 0 -47573958.7360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:05:00 1 0 NULL 1 NULL 0 -45568109.9610 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 23:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:10:00 1 0 NULL 1 NULL 0 -45494464.1590 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 23:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:15:00 1 0 NULL 0 NULL 0 -47995783.19 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:20:00 1 0 NULL 1 NULL 0 -16025744.1730 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:25:00 1 0 NULL 1 NULL 0 -15966430.1110 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:30:00 1 0 NULL 1 NULL 0 -15990262.8730 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:35:00 1 0 NULL 1 NULL 0 -15922778.3050 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:40:00 1 0 NULL 1 NULL 0 -7172455.1420 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:45:00 1 0 NULL 1 NULL 0 -3762172.28 0 0 0 0.416 0.26 NULL NULL NULL NULL 0 0 0 2023/11/17 23:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:50:00 1 0 NULL 1 NULL 0 -14168482.45 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/17 23:55:00 1 0 NULL 1 NULL 0 -15275361.3130 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:00:00 1 0 NULL 1 NULL 0 -5203508.2810 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 23:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:05:00 1 0 NULL 1 NULL 0 2006985581.7150 0 0 79.765 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 00:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:10:00 1 0 NULL 1 NULL 0 1713933363.3980 0 0 68.28 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:15:00 1 0 NULL 1 NULL 0 1324747813.8940 0 0 52.898 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:20:00 1 0 NULL 1 NULL 0 933413090.4160 0 0 37.427 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:25:00 1 0 NULL 1 NULL 0 550689839.8880 0 0 22.2 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 00:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:30:00 1 0 NULL 1 NULL 0 218937418.1080 0 0 8.395 0.416 0.81 NULL NULL NULL NULL 0 0 0 2023/11/18 00:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:35:00 1 0 NULL 1 NULL 0 7579525926.7580 0 0 0 0.416 308.996 NULL NULL NULL NULL 0 0 0 2023/11/18 00:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:40:00 1 0 NULL 1 NULL 0 7336915650.9690 0 0 0 0.416 299.12 NULL NULL NULL NULL 0 0 0 2023/11/18 00:35:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:45:00 1 0 NULL 1 NULL 0 6045182791.2170 0 0 0 0.416 246.546 NULL NULL NULL NULL 0 0 0 2023/11/18 00:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:50:00 1 0 NULL 1 NULL 0 4782443540.40 0 0 0 0.416 195.149 NULL NULL NULL NULL 0 0 0 2023/11/18 00:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 00:55:00 1 0 NULL 1 NULL 0 3533422992.0770 0 0 0 0.416 144.306 NULL NULL NULL NULL 0 0 0 2023/11/18 00:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:00:00 1 0 NULL 1 NULL 0 2826754356.2650 0 0 0 0.416 115.54 NULL NULL NULL NULL 0 0 0 2023/11/18 00:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:05:00 1 0 NULL 1 NULL 0 1453322777.0730 0 0 0 0.416 59.628 NULL NULL NULL NULL 0 0 0 2023/11/18 01:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:10:00 1 0 NULL 1 NULL 0 499129476.38 0 0 0 0.416 20.781 NULL NULL NULL NULL 0 0 0 2023/11/18 01:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:15:00 1 0 NULL 1 NULL 0 485407380.7220 0 0 0 0.416 20.229 NULL NULL NULL NULL 0 0 0 2023/11/18 01:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:20:00 1 0 NULL 1 NULL 0 17265665.6770 0 0 0 0.416 1.17 NULL NULL NULL NULL 0 0 0 2023/11/18 01:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:25:00 1 0 NULL 1 NULL 0 -11434172.2560 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 01:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:30:00 1 0 NULL 1 NULL 0 -3823519.21 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 01:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:35:00 1 0 NULL 1 NULL 0 1498287664.4310 0 0 0 0.416 61.408 NULL NULL NULL NULL 0 0 0 2023/11/18 01:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:40:00 1 0 NULL 1 NULL 0 608001450.7020 0 0 0 0.416 25.168 NULL NULL NULL NULL 0 0 0 2023/11/18 01:35:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:45:00 1 0 NULL 1 NULL 0 -7888393.7570 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 01:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:50:00 1 0 NULL 1 NULL 0 -10396306.4160 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 01:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 01:55:00 1 0 NULL 1 NULL 0 8316084.7680 0 0 0 0.416 0.76 NULL NULL NULL NULL 0 0 0 2023/11/18 01:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:00:00 1 0 NULL 1 NULL 0 -2731101.26 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 01:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:05:00 1 0 NULL 1 NULL 0 -8814993.7150 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/18 02:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:10:00 1 0 NULL 1 NULL 0 -7598613.6930 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:15:00 1 0 NULL 1 NULL 0 -7628193.4030 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:20:00 1 0 NULL 1 NULL 0 -7639055.3820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:25:00 1 0 NULL 1 NULL 0 -2417482.6810 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:30:00 1 0 NULL 1 NULL 0 -9895427.42 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/18 02:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:35:00 1 0 NULL 1 NULL 0 -2318028.8590 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:40:00 1 0 NULL 1 NULL 0 -9895921.9650 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 02:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:45:00 1 0 NULL 1 NULL 0 -8500955.7880 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/18 02:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:50:00 1 0 NULL 1 NULL 0 -9903525.7990 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 02:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 02:55:00 1 0 NULL 1 NULL 0 -3502096.8430 0 0 0 0.416 0.26 NULL NULL NULL NULL 0 0 0 2023/11/18 02:50:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:00:00 1 0 NULL 1 NULL 0 -2234303.9630 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:05:00 1 0 NULL 1 NULL 0 -9867178.7940 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:10:00 1 0 NULL 1 NULL 0 -9517507.4350 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/18 03:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:15:00 1 0 NULL 1 NULL 0 -7178170.5820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 03:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:20:00 1 0 NULL 1 NULL 0 -9624785.8940 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:25:00 1 0 NULL 1 NULL 0 -878688.5970 0 0 0 0.416 0.36 NULL NULL NULL NULL 0 0 0 2023/11/18 03:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:30:00 1 0 NULL 1 NULL 0 14145537.0950 0 0 0 0.416 0.97 NULL NULL NULL NULL 0 0 0 2023/11/18 03:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:35:00 1 0 NULL 1 NULL 0 -7149770.39 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 03:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:40:00 1 0 NULL 1 NULL 0 -9596739.4250 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:45:00 1 0 NULL 1 NULL 0 88789129.03 0 0 0 0.416 3.995 NULL NULL NULL NULL 0 0 0 2023/11/18 03:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:50:00 1 0 NULL 1 NULL 0 4426114.4320 0 0 0 0.416 0.56 NULL NULL NULL NULL 0 0 0 2023/11/18 03:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 03:55:00 1 0 NULL 1 NULL 0 5669292.5630 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/18 03:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DISPATCH CASESOLUTION 1 2023/11/18 04:00:00 1 0 NULL 1 NULL 0 8250793.4510 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/18 03:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +I DREGION NULL 2 SETTLEMENTDATE RUNNO REGIONID INTERVENTION RRP EEP ROP APCFLAG MARKETSUSPENDEDFLAG TOTALDEMAND DEMANDFORECAST DISPATCHABLEGENERATION DISPATCHABLELOAD NETINTERCHANGE EXCESSGENERATION LOWER5MINDISPATCH LOWER5MINIMPORT LOWER5MINLOCALDISPATCH LOWER5MINLOCALPRICE LOWER5MINLOCALREQ LOWER5MINPRICE LOWER5MINREQ LOWER5MINSUPPLYPRICE LOWER60SECDISPATCH LOWER60SECIMPORT LOWER60SECLOCALDISPATCH LOWER60SECLOCALPRICE LOWER60SECLOCALREQ LOWER60SECPRICE LOWER60SECREQ LOWER60SECSUPPLYPRICE LOWER6SECDISPATCH LOWER6SECIMPORT LOWER6SECLOCALDISPATCH LOWER6SECLOCALPRICE LOWER6SECLOCALREQ LOWER6SECPRICE LOWER6SECREQ LOWER6SECSUPPLYPRICE RAISE5MINDISPATCH RAISE5MINIMPORT RAISE5MINLOCALDISPATCH RAISE5MINLOCALPRICE RAISE5MINLOCALREQ RAISE5MINPRICE RAISE5MINREQ RAISE5MINSUPPLYPRICE RAISE60SECDISPATCH RAISE60SECIMPORT RAISE60SECLOCALDISPATCH RAISE60SECLOCALPRICE RAISE60SECLOCALREQ RAISE60SECPRICE RAISE60SECREQ RAISE60SECSUPPLYPRICE RAISE6SECDISPATCH RAISE6SECIMPORT RAISE6SECLOCALDISPATCH RAISE6SECLOCALPRICE RAISE6SECLOCALREQ RAISE6SECPRICE RAISE6SECREQ RAISE6SECSUPPLYPRICE AGGREGATEDISPATCHERROR AVAILABLEGENERATION AVAILABLELOAD INITIALSUPPLY CLEAREDSUPPLY LOWERREGIMPORT LOWERREGLOCALDISPATCH LOWERREGLOCALREQ LOWERREGREQ RAISEREGIMPORT RAISEREGLOCALDISPATCH RAISEREGLOCALREQ RAISEREGREQ RAISE5MINLOCALVIOLATION RAISEREGLOCALVIOLATION RAISE60SECLOCALVIOLATION RAISE6SECLOCALVIOLATION LOWER5MINLOCALVIOLATION LOWERREGLOCALVIOLATION LOWER60SECLOCALVIOLATION LOWER6SECLOCALVIOLATION RAISE5MINVIOLATION RAISEREGVIOLATION RAISE60SECVIOLATION RAISE6SECVIOLATION LOWER5MINVIOLATION LOWERREGVIOLATION LOWER60SECVIOLATION LOWER6SECVIOLATION RAISE6SECRRP RAISE6SECROP RAISE6SECAPCFLAG RAISE60SECRRP RAISE60SECROP RAISE60SECAPCFLAG RAISE5MINRRP RAISE5MINROP RAISE5MINAPCFLAG RAISEREGRRP RAISEREGROP RAISEREGAPCFLAG LOWER6SECRRP LOWER6SECROP LOWER6SECAPCFLAG LOWER60SECRRP LOWER60SECROP LOWER60SECAPCFLAG LOWER5MINRRP LOWER5MINROP LOWER5MINAPCFLAG LOWERREGRRP LOWERREGROP LOWERREGAPCFLAG NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DREGION NULL 2 2023/11/17 04:05:00 1 NSW1 0 88.56012 0 88.56012 0 0 6392.2 23 5694.97 0 -697.23 0 NULL NULL 98.43 NULL NULL NULL NULL NULL NULL NULL 103 NULL NULL NULL NULL NULL NULL NULL 91 NULL NULL NULL NULL NULL NULL NULL 105 NULL NULL NULL NULL NULL NULL NULL 164 NULL NULL NULL NULL NULL NULL NULL 171.23 NULL NULL NULL NULL NULL 2.14388 8571.20053 207 6391.82764 6408.98 NULL 72 NULL NULL NULL 32 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 47.48 47.48 0 8.25 8.25 0 0.38 0.38 0 25.18 25.18 0 0.39 0.39 0 0.39 0.39 0 0.15 0.15 0 5.9 5.9 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +D DREGION NULL 2 2023/11/17 04:05:00 1 QLD1 0 83.25 0 83.25 0 0 6012.9 1 6405.92 0 393.02 0 NULL NULL 47 NULL NULL NULL NULL NULL NULL NULL 47 NULL NULL NULL NULL NULL NULL NULL 16 NULL NULL NULL NULL NULL NULL NULL 69 NULL NULL NULL NULL NULL NULL NULL 165 NULL NULL NULL NULL NULL NULL NULL 158.59 NULL NULL NULL NULL NULL 12.04781 9607.10393 98 6020.25977 6017.04 NULL 10 NULL NULL NULL 121 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 47.48 47.48 0 8.25 8.25 0 0.38 0.38 0 25.18 25.18 0 0.39 0.39 0 0.39 0.39 0 0.15 0.15 0 5.9 5.9 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL + +query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII +from read_csv("data/csv/bug_10283.csv", +Skip=1, +header =0, +sample_size=-1, +all_varchar=1, +columns={ +'C1': 'VARCHAR', +'C2': 'VARCHAR', +'C3': 'VARCHAR', +'C4': 'VARCHAR', +'C5': 'VARCHAR', +'C6': 'VARCHAR', +'C7': 'VARCHAR', +'C8': 'VARCHAR', +'C9': 'VARCHAR', +'C10': 'VARCHAR', +'C11': 'VARCHAR', +'C12': 'VARCHAR', +'C13': 'VARCHAR', +'C14': 'VARCHAR', +'C15': 'VARCHAR', +'C16': 'VARCHAR', +'C17': 'VARCHAR', +'C18': 'VARCHAR', +'C19': 'VARCHAR', +'C20': 'VARCHAR', +'C21': 'VARCHAR', +'C22': 'VARCHAR', +'C23': 'VARCHAR', +'C24': 'VARCHAR', +'C25': 'VARCHAR', +'C26': 'VARCHAR', +'C27': 'VARCHAR', +'C28': 'VARCHAR', +'C29': 'VARCHAR', +'C30': 'VARCHAR', +'C31': 'VARCHAR', +'C32': 'VARCHAR', +'C33': 'VARCHAR', +'C34': 'VARCHAR', +'C35': 'VARCHAR', +'C36': 'VARCHAR', +'C37': 'VARCHAR', +'C38': 'VARCHAR', +'C39': 'VARCHAR', +'C40': 'VARCHAR', +'C41': 'VARCHAR', +'C42': 'VARCHAR', +'C43': 'VARCHAR', +'C44': 'VARCHAR', +'C45': 'VARCHAR', +'C46': 'VARCHAR', +'C47': 'VARCHAR', +'C48': 'VARCHAR', +'C49': 'VARCHAR', +'C50': 'VARCHAR', +'C51': 'VARCHAR', +'C52': 'VARCHAR', +'C53': 'VARCHAR', +'C54': 'VARCHAR', +'C55': 'VARCHAR', +'C56': 'VARCHAR', +'C57': 'VARCHAR', +'C58': 'VARCHAR', +'C59': 'VARCHAR', +'C60': 'VARCHAR', +'C61': 'VARCHAR', +'C62': 'VARCHAR', +'C63': 'VARCHAR', +'C64': 'VARCHAR', +'C65': 'VARCHAR', +'C66': 'VARCHAR', +'C67': 'VARCHAR', +'C68': 'VARCHAR', +'C69': 'VARCHAR', +'C70': 'VARCHAR', +'C71': 'VARCHAR', +'C72': 'VARCHAR', +'C73': 'VARCHAR', +'C74': 'VARCHAR', +'C75': 'VARCHAR', +'C76': 'VARCHAR', +'C77': 'VARCHAR', +'C78': 'VARCHAR', +'C79': 'VARCHAR', +'C80': 'VARCHAR', +'C81': 'VARCHAR', +'C82': 'VARCHAR', +'C83': 'VARCHAR', +'C84': 'VARCHAR', +'C85': 'VARCHAR', +'C86': 'VARCHAR', +'C87': 'VARCHAR', +'C88': 'VARCHAR', +'C89': 'VARCHAR', +'C90': 'VARCHAR', +'C91': 'VARCHAR', +'C92': 'VARCHAR', +'C93': 'VARCHAR', +'C94': 'VARCHAR', +'C95': 'VARCHAR', +'C96': 'VARCHAR', +'C97': 'VARCHAR', +'C98': 'VARCHAR', +'C99': 'VARCHAR', +'C100': 'VARCHAR', +'C101': 'VARCHAR', +'C102': 'VARCHAR', +'C103': 'VARCHAR', +'C104': 'VARCHAR', +'C105': 'VARCHAR', +'C106': 'VARCHAR', +'C107': 'VARCHAR', +'C108': 'VARCHAR', +'C109': 'VARCHAR', +'C110': 'VARCHAR', +'C111': 'VARCHAR', +'C112': 'VARCHAR', +'C113': 'VARCHAR', +'C114': 'VARCHAR', +'C115': 'VARCHAR', +'C116': 'VARCHAR', +'C117': 'VARCHAR', +'C118': 'VARCHAR', +'C119': 'VARCHAR', +'C120': 'VARCHAR', +'C121': 'VARCHAR', +'C122': 'VARCHAR', +'C123': 'VARCHAR', +'C124': 'VARCHAR', +'C125': 'VARCHAR', +'C126': 'VARCHAR', +'C127': 'VARCHAR', +'C128': 'VARCHAR', +'C129': 'VARCHAR', +'C130': 'VARCHAR' + }, +null_padding=true, +filename=true, +auto_detect=false) +---- +I DISPATCH CASESOLUTION 1 SETTLEMENTDATE RUNNO INTERVENTION CASESUBTYPE SOLUTIONSTATUS SPDVERSION NONPHYSICALLOSSES TOTALOBJECTIVE TOTALAREAGENVIOLATION TOTALINTERCONNECTORVIOLATION TOTALGENERICVIOLATION TOTALRAMPRATEVIOLATION TOTALUNITMWCAPACITYVIOLATION TOTAL5MINVIOLATION TOTALREGVIOLATION TOTAL6SECVIOLATION TOTAL60SECVIOLATION TOTALASPROFILEVIOLATION TOTALFASTSTARTVIOLATION TOTALENERGYOFFERVIOLATION LASTCHANGED NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:05:00 1 0 NULL 0 NULL 0 -18891916.3260 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:10:00 1 0 NULL 0 NULL 0 -18991572.1050 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:15:00 1 0 NULL 0 NULL 0 -18873654.0430 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:20:00 1 0 NULL 0 NULL 0 -18814533.9560 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:25:00 1 0 NULL 0 NULL 0 -18955411.5810 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:30:00 1 0 NULL 1 NULL 0 -16453600.9790 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 04:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:35:00 1 0 NULL 0 NULL 0 -18918229.6050 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:40:00 1 0 NULL 0 NULL 0 -18903552.1320 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:45:00 1 0 NULL 0 NULL 0 -18956195.7840 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:50:00 1 0 NULL 0 NULL 0 -19068752.4310 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 04:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 04:55:00 1 0 NULL 1 NULL 0 -16547387.8360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 04:50:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:00:00 1 0 NULL 1 NULL 0 -14134931.5130 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 04:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:05:00 1 0 NULL 0 NULL 0 -19099921.3580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:00:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:10:00 1 0 NULL 0 NULL 0 -18967112.4580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:15:00 1 0 NULL 0 NULL 0 -19075483.1820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:20:00 1 0 NULL 0 NULL 0 -19184913.3440 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:25:00 1 0 NULL 1 NULL 0 -14343450.8660 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 05:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:30:00 1 0 NULL 0 NULL 0 -19331879.1490 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:35:00 1 0 NULL 0 NULL 0 -19582540.7460 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:40:00 1 0 NULL 0 NULL 0 -19995441.8250 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:45:00 1 0 NULL 0 NULL 0 -20392189.2680 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:50:00 1 0 NULL 0 NULL 0 -20620333.3450 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 05:55:00 1 0 NULL 0 NULL 0 -21362524.3070 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:00:00 1 0 NULL 0 NULL 0 -21489793.8170 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 05:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:05:00 1 0 NULL 1 NULL 0 2094013133.35 0 0 0 0 86.091 NULL NULL NULL NULL 0 0 0 2023/11/17 06:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:10:00 1 0 NULL 1 NULL 0 1338468636.7650 0 0 0 0 55.418 NULL NULL NULL NULL 0 0 0 2023/11/17 06:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:15:00 1 0 NULL 1 NULL 0 548289035.8710 0 0 0 0 23.281 NULL NULL NULL NULL 0 0 0 2023/11/17 06:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:20:00 1 0 NULL 1 NULL 0 2773061028.0780 0 0 0 0 113.806 NULL NULL NULL NULL 0 0 0 2023/11/17 06:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:25:00 1 0 NULL 1 NULL 0 1505021017.9440 0 0 0 0 62.326 NULL NULL NULL NULL 0 0 0 2023/11/17 06:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:30:00 1 0 NULL 1 NULL 0 490360523.2630 0 0 0 0 21.085 NULL NULL NULL NULL 0 0 0 2023/11/17 06:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:35:00 1 0 NULL 1 NULL 0 2187250227.8070 0 0 0 0 90.128 NULL NULL NULL NULL 0 0 0 2023/11/17 06:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:40:00 1 0 NULL 1 NULL 0 2664659481.8670 0 0 8.851 0 91.522 NULL NULL NULL NULL 0 0 0 2023/11/17 06:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:45:00 1 0 NULL 1 NULL 0 1062603019.6170 0 0 0 0 44.402 NULL NULL NULL NULL 0 0 0 2023/11/17 06:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:50:00 1 0 NULL 1 NULL 0 586841408.2250 0 0 0 0 25.053 NULL NULL NULL NULL 0 0 0 2023/11/17 06:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 06:55:00 1 0 NULL 0 NULL 0 -28726654.8030 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 06:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:00:00 1 0 NULL 1 NULL 0 1485033818.2130 0 0 0 0 61.621 NULL NULL NULL NULL 0 0 0 2023/11/17 06:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:05:00 1 0 NULL 1 NULL 0 1216625476.3170 0 0 0 0 50.703 NULL NULL NULL NULL 0 0 0 2023/11/17 07:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:10:00 1 0 NULL 1 NULL 0 1305259053.6630 0 0 0 0 54.355 NULL NULL NULL NULL 0 0 0 2023/11/17 07:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:15:00 1 0 NULL 1 NULL 0 591119444.4970 0 0 0 0 25.29 NULL NULL NULL NULL 0 0 0 2023/11/17 07:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:20:00 1 0 NULL 1 NULL 0 742149171.6520 0 0 0 0.416 30.151 NULL NULL NULL NULL 0 0 0 2023/11/17 07:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:25:00 1 0 NULL 1 NULL 0 766417739.3210 0 0 0 0.416 31.141 NULL NULL NULL NULL 0 0 0 2023/11/17 07:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:30:00 1 0 NULL 1 NULL 0 352861875.1030 0 0 0 0.416 14.315 NULL NULL NULL NULL 0 0 0 2023/11/17 07:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:35:00 1 0 NULL 1 NULL 0 8817834722.1480 0 0 0 0.416 358.351 NULL NULL NULL NULL 0 0 0 2023/11/17 07:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:40:00 1 0 NULL 1 NULL 0 2359869476.2250 0 0 0 0.416 95.668 NULL NULL NULL NULL 0 0 0 2023/11/17 07:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:45:00 1 0 NULL 1 NULL 0 1365028867.05 0 0 0 0.416 55.296 NULL NULL NULL NULL 0 0 0 2023/11/17 07:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:50:00 1 0 NULL 1 NULL 0 15272157.7030 0 0 0 0.416 0.51 NULL NULL NULL NULL 0 0 0 2023/11/17 07:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 07:55:00 1 0 NULL 1 NULL 0 5022568.40 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 07:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:00:00 1 0 NULL 1 NULL 0 2071536.4830 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 07:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:05:00 1 0 NULL 1 NULL 0 5881035925.2910 0 0 0 0.416 239.213 NULL NULL NULL NULL 0 0 0 2023/11/17 08:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:10:00 1 0 NULL 1 NULL 0 4892605710.2240 0 0 0 0.416 198.989 NULL NULL NULL NULL 0 0 0 2023/11/17 08:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:15:00 1 0 NULL 1 NULL 0 3819130532.2320 0 0 0 0.416 155.302 NULL NULL NULL NULL 0 0 0 2023/11/17 08:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:20:00 1 0 NULL 1 NULL 0 2677901325.5920 0 0 0 0.416 108.846 NULL NULL NULL NULL 0 0 0 2023/11/17 08:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:25:00 1 0 NULL 1 NULL 0 1509812889.8560 0 0 0 0.416 61.311 NULL NULL NULL NULL 0 0 0 2023/11/17 08:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:30:00 1 0 NULL 1 NULL 0 168787982.9490 0 0 0 0.416 6.736 NULL NULL NULL NULL 0 0 0 2023/11/17 08:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:35:00 1 0 NULL 1 NULL 0 7564605.6680 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 08:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:40:00 1 0 NULL 1 NULL 0 3536720.6290 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:45:00 1 0 NULL 1 NULL 0 3379078.5810 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:50:00 1 0 NULL 1 NULL 0 123950548.9330 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 08:55:00 1 0 NULL 1 NULL 0 122839634.4540 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:00:00 1 0 NULL 1 NULL 0 122216116.48 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 08:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:05:00 1 0 NULL 1 NULL 0 3424718.80 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:10:00 1 0 NULL 1 NULL 0 3271843.5390 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:15:00 1 0 NULL 1 NULL 0 3257726.6290 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:10:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:20:00 1 0 NULL 1 NULL 0 3586935.9820 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:25:00 1 0 NULL 1 NULL 0 5994413.4070 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:20:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:30:00 1 0 NULL 1 NULL 0 3610284.7060 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:25:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:35:00 1 0 NULL 1 NULL 0 4456441.6050 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 09:30:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:40:00 1 0 NULL 1 NULL 0 18731332.1660 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 09:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:45:00 1 0 NULL 1 NULL 0 6422848.2190 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:50:00 1 0 NULL 1 NULL 0 6444921.5360 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 09:55:00 1 0 NULL 1 NULL 0 6859042.8620 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 09:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:00:00 1 0 NULL 1 NULL 0 5911282.9530 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/17 09:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:05:00 1 0 NULL 1 NULL 0 5201965.0710 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:10:00 1 0 NULL 1 NULL 0 4376118.4030 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:15:00 1 0 NULL 1 NULL 0 4013503.9750 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:20:00 1 0 NULL 1 NULL 0 6348990.8130 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:25:00 1 0 NULL 1 NULL 0 13747527.9270 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 10:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:30:00 1 0 NULL 1 NULL 0 6571442.6830 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:35:00 1 0 NULL 1 NULL 0 14211057.60 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 10:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:40:00 1 0 NULL 1 NULL 0 7504324.2550 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 10:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:45:00 1 0 NULL 1 NULL 0 8528550.0170 0 0 0 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 10:40:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:50:00 1 0 NULL 1 NULL 0 4225305.82 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 10:55:00 1 0 NULL 1 NULL 0 21485872.2540 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/17 10:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:00:00 1 0 NULL 1 NULL 0 4226007.7930 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 10:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:05:00 1 0 NULL 1 NULL 0 4172215.6160 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:10:00 1 0 NULL 1 NULL 0 6683973.9840 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 11:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:15:00 1 0 NULL 1 NULL 0 3830504.4820 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:20:00 1 0 NULL 1 NULL 0 11791856.5180 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 11:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:25:00 1 0 NULL 1 NULL 0 6975406.9030 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 11:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:30:00 1 0 NULL 1 NULL 0 4534686.4890 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:35:00 1 0 NULL 1 NULL 0 4487944.2080 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:30:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:40:00 1 0 NULL 1 NULL 0 4280498.3490 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:45:00 1 0 NULL 1 NULL 0 4225721.8810 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:40:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:50:00 1 0 NULL 1 NULL 0 4102987.3650 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 11:55:00 1 0 NULL 1 NULL 0 22144271.3020 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 11:50:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:00:00 1 0 NULL 1 NULL 0 9140815.3220 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 11:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:05:00 1 0 NULL 1 NULL 0 9116493.9280 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:10:00 1 0 NULL 1 NULL 0 10003655.0370 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:05:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:15:00 1 0 NULL 1 NULL 0 18079517.01 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:20:00 1 0 NULL 1 NULL 0 27406117.0570 0 0 0 0.416 0.91 NULL NULL NULL NULL 0 0 0 2023/11/17 12:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:25:00 1 0 NULL 1 NULL 0 4320521.9670 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 12:20:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:30:00 1 0 NULL 1 NULL 0 2476488974.4520 0 0 0 0.416 100.343 NULL NULL NULL NULL 0 0 0 2023/11/17 12:25:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:35:00 1 0 NULL 1 NULL 0 1244271669.4330 0 0 0 0.416 50.318 NULL NULL NULL NULL 0 0 0 2023/11/17 12:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:40:00 1 0 NULL 1 NULL 0 27240398.8090 0 0 0 0.416 0.912 NULL NULL NULL NULL 0 0 0 2023/11/17 12:35:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:45:00 1 0 NULL 1 NULL 0 165936351.37 0 0 6.3 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 12:40:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:50:00 1 0 NULL 1 NULL 0 165859462.5740 0 0 5.5 0.416 0.92 NULL NULL NULL NULL 0 0 0 2023/11/17 12:45:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 12:55:00 1 0 NULL 1 NULL 0 8521883.3220 0 0 0 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 12:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:00:00 1 0 NULL 1 NULL 0 7561068.9480 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 12:55:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:05:00 1 0 NULL 1 NULL 0 4643264.7460 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/17 13:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:10:00 1 0 NULL 1 NULL 0 7234913.6530 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:15:00 1 0 NULL 1 NULL 0 7173770.6820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:10:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:20:00 1 0 NULL 1 NULL 0 7113525.2630 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:15:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:25:00 1 0 NULL 1 NULL 0 4677430.2130 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:20:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:30:00 1 0 NULL 1 NULL 0 7137757.2140 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:25:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:35:00 1 0 NULL 1 NULL 0 3968739.0110 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:40:00 1 0 NULL 1 NULL 0 6180673.3160 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 13:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:45:00 1 0 NULL 1 NULL 0 11551903.7220 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/17 13:40:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:50:00 1 0 NULL 1 NULL 0 3872835.5480 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 13:45:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 13:55:00 1 0 NULL 1 NULL 0 17473325.51 0 0 0 0.416 0.56 NULL NULL NULL NULL 0 0 0 2023/11/17 13:50:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:00:00 1 0 NULL 1 NULL 0 3750810.7370 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/17 13:55:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:05:00 1 0 NULL 1 NULL 0 13604150.2940 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 14:00:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:10:00 1 0 NULL 1 NULL 0 527721659.4740 0 0 0 0.416 21.32 NULL NULL NULL NULL 0 0 0 2023/11/17 14:05:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:15:00 1 0 NULL 1 NULL 0 6294109.5750 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 14:10:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:20:00 1 0 NULL 1 NULL 0 21318486.3070 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/17 14:15:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:25:00 1 0 NULL 1 NULL 0 6046850.4370 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 14:20:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:30:00 1 0 NULL 1 NULL 0 3612256.4120 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:25:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:35:00 1 0 NULL 1 NULL 0 5906741.4970 0 0 0 0.416 0.21 NULL NULL NULL NULL 0 0 0 2023/11/17 14:30:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:40:00 1 0 NULL 1 NULL 0 72617.3270 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:45:00 1 0 NULL 1 NULL 0 272811.3590 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:40:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:50:00 1 0 NULL 1 NULL 0 548861020.6880 0 0 7.337 0.416 7.337 NULL NULL NULL NULL 0 0 0 2023/11/17 14:45:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 14:55:00 1 0 NULL 1 NULL 0 14953704.1040 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/17 14:50:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:00:00 1 0 NULL 1 NULL 0 76782.3890 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 14:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:05:00 1 0 NULL 1 NULL 0 1829348191.2050 0 0 72.095 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 15:00:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:10:00 1 0 NULL 1 NULL 0 1410714484.4390 0 0 55.817 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:05:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:15:00 1 0 NULL 1 NULL 0 1070070453.6940 0 0 42.332 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:20:00 1 0 NULL 1 NULL 0 741446570.9290 0 0 29.271 0.416 0.16 NULL NULL NULL NULL 0 0 0 2023/11/17 15:15:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:25:00 1 0 NULL 1 NULL 0 604683647.8940 0 0 14.659 2.808 2.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:20:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:30:00 1 0 NULL 1 NULL 0 182919191.4570 0 0 0 2.808 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:25:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:35:00 1 0 NULL 1 NULL 0 351791624.4190 0 0 0 5.002 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:40:00 1 0 NULL 0 NULL 0 -32479057.79 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:35:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:45:00 1 0 NULL 1 NULL 0 -21112431.6520 0 0 0 0 0.46 NULL NULL NULL NULL 0 0 0 2023/11/17 15:40:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:50:00 1 0 NULL 1 NULL 0 -29981122.65 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:45:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 15:55:00 1 0 NULL 1 NULL 0 -30107374.6380 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 15:50:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:00:00 1 0 NULL 0 NULL 0 -32339890.8670 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 15:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:05:00 1 0 NULL 1 NULL 0 80864316.1390 0 0 0 0 4.65 NULL NULL NULL NULL 0 0 0 2023/11/17 16:00:07 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:10:00 1 0 NULL 0 NULL 0 -34074408.4470 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:05:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:15:00 1 0 NULL 0 NULL 0 -35444084.7180 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:10:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:20:00 1 0 NULL 1 NULL 0 -30480486.3150 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 16:15:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:25:00 1 0 NULL 1 NULL 0 -33015540.6270 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:20:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:30:00 1 0 NULL 1 NULL 0 -24879655.5480 0 0 0 0 0.46 NULL NULL NULL NULL 0 0 0 2023/11/17 16:25:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:35:00 1 0 NULL 0 NULL 0 -41333053.0260 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:30:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:40:00 1 0 NULL 0 NULL 0 -41329313.6780 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:35:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:45:00 1 0 NULL 0 NULL 0 -41833547.9990 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:40:10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:50:00 1 0 NULL 0 NULL 0 -42551070.1150 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 16:45:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 16:55:00 1 0 NULL 1 NULL 0 -40165172.80 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:50:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:00:00 1 0 NULL 1 NULL 0 -43463696.7360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 16:55:09 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:05:00 1 0 NULL 1 NULL 0 402372864.7860 0 0 0 0 18.24 NULL NULL NULL NULL 0 0 0 2023/11/17 17:00:08 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:10:00 1 0 NULL 1 NULL 0 179581774.6110 0 0 0 0 9.16 NULL NULL NULL NULL 0 0 0 2023/11/17 17:05:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:15:00 1 0 NULL 0 NULL 0 -44774717.5690 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:20:00 1 0 NULL 0 NULL 0 -44827330.6740 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:15:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:25:00 1 0 NULL 0 NULL 0 -44178924.7790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:30:00 1 0 NULL 0 NULL 0 -43916506.8830 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:35:00 1 0 NULL 0 NULL 0 -41189433.84 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:40:00 1 0 NULL 0 NULL 0 -40402133.1480 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 17:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:45:00 1 0 NULL 1 NULL 0 -34454714.9820 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 17:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:50:00 1 0 NULL 1 NULL 0 -33579028.50 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 17:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 17:55:00 1 0 NULL 1 NULL 0 -36094950.5570 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 17:50:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:00:00 1 0 NULL 1 NULL 0 -36433457.0950 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 17:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:05:00 1 0 NULL 1 NULL 0 -34430611.6970 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:10:00 1 0 NULL 0 NULL 0 -36891093.4820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:05:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:15:00 1 0 NULL 0 NULL 0 -37374801.1820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:20:00 1 0 NULL 1 NULL 0 -34255085.9680 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:25:00 1 0 NULL 1 NULL 0 -33215504.3040 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:30:00 1 0 NULL 0 NULL 0 -35196263.3820 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:35:00 1 0 NULL 1 NULL 0 -32334724.6370 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:40:00 1 0 NULL 0 NULL 0 -34191415.0880 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:45:00 1 0 NULL 1 NULL 0 -31336602.66 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 18:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:50:00 1 0 NULL 0 NULL 0 -34153952.3790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 18:55:00 1 0 NULL 0 NULL 0 -34067481.2860 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:00:00 1 0 NULL 0 NULL 0 -34161469.6580 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 18:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:05:00 1 0 NULL 0 NULL 0 -25740682.46 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 19:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:10:00 1 0 NULL 1 NULL 0 888159560.5950 0 0 0 0 37.27 NULL NULL NULL NULL 0 0 0 2023/11/17 19:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:15:00 1 0 NULL 1 NULL 0 883712099.9530 0 0 0 0 37.23 NULL NULL NULL NULL 0 0 0 2023/11/17 19:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:20:00 1 0 NULL 1 NULL 0 881329177.0250 0 0 0 0 37.22 NULL NULL NULL NULL 0 0 0 2023/11/17 19:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:25:00 1 0 NULL 1 NULL 0 899723467.1060 0 0 0 0 37.98 NULL NULL NULL NULL 0 0 0 2023/11/17 19:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:30:00 1 0 NULL 1 NULL 0 872181619.7320 0 0 0 0 36.87 NULL NULL NULL NULL 0 0 0 2023/11/17 19:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:35:00 1 0 NULL 1 NULL 0 6225595163.4330 0 0 0 0 254.68 NULL NULL NULL NULL 0 0 0 2023/11/17 19:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:40:00 1 0 NULL 1 NULL 0 4900041508.0970 0 0 0 0 200.82 NULL NULL NULL NULL 0 0 0 2023/11/17 19:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:45:00 1 0 NULL 1 NULL 0 2374895739.2760 0 0 0 0 98 NULL NULL NULL NULL 0 0 0 2023/11/17 19:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:50:00 1 0 NULL 1 NULL 0 1051496257.6480 0 0 0 0 44.1 NULL NULL NULL NULL 0 0 0 2023/11/17 19:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 19:55:00 1 0 NULL 0 NULL 0 -32267107.2450 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 19:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:00:00 1 0 NULL 1 NULL 0 -30322764.1280 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 19:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:05:00 1 0 NULL 1 NULL 0 4027187861.5690 0 0 0 0 165.964 NULL NULL NULL NULL 0 0 0 2023/11/17 20:00:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:10:00 1 0 NULL 1 NULL 0 3623567899.1380 0 0 0 0 149.595 NULL NULL NULL NULL 0 0 0 2023/11/17 20:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:15:00 1 0 NULL 1 NULL 0 2841880378.5970 0 0 0 0 117.613 NULL NULL NULL NULL 0 0 0 2023/11/17 20:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:20:00 1 0 NULL 1 NULL 0 2244933416.7980 0 0 0 0 93.477 NULL NULL NULL NULL 0 0 0 2023/11/17 20:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:25:00 1 0 NULL 1 NULL 0 2863030435.6560 0 0 0 0 118.77 NULL NULL NULL NULL 0 0 0 2023/11/17 20:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:30:00 1 0 NULL 1 NULL 0 1904503784.6410 0 0 0 0 79.764 NULL NULL NULL NULL 0 0 0 2023/11/17 20:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:35:00 1 0 NULL 1 NULL 0 2438952364.8470 0 0 0 0 101.415 NULL NULL NULL NULL 0 0 0 2023/11/17 20:30:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:40:00 1 0 NULL 1 NULL 0 2404374386.37 0 0 0 0 100.112 NULL NULL NULL NULL 0 0 0 2023/11/17 20:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:45:00 1 0 NULL 1 NULL 0 483838402.8310 0 0 0 0 21.94 NULL NULL NULL NULL 0 0 0 2023/11/17 20:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:50:00 1 0 NULL 1 NULL 0 229032920.0450 0 0 0 0 11.564 NULL NULL NULL NULL 0 0 0 2023/11/17 20:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 20:55:00 1 0 NULL 0 NULL 0 -55281754.6920 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 20:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:00:00 1 0 NULL 0 NULL 0 -55407449.3540 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 20:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:05:00 1 0 NULL 1 NULL 0 638042862.1320 0 0 0 0 27.755 NULL NULL NULL NULL 0 0 0 2023/11/17 21:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:10:00 1 0 NULL 1 NULL 0 634495334.57 0 0 0 0 27.846 NULL NULL NULL NULL 0 0 0 2023/11/17 21:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:15:00 1 0 NULL 1 NULL 0 1074013155.4160 0 0 0 0 45.937 NULL NULL NULL NULL 0 0 0 2023/11/17 21:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:20:00 1 0 NULL 1 NULL 0 -52304385.61 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:25:00 1 0 NULL 0 NULL 0 -54778930.8770 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:30:00 1 0 NULL 1 NULL 0 -49933804.9660 0 0 0 0 0.2 NULL NULL NULL NULL 0 0 0 2023/11/17 21:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:35:00 1 0 NULL 1 NULL 0 -12582643.9120 0 0 0 0 1.487 NULL NULL NULL NULL 0 0 0 2023/11/17 21:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:40:00 1 0 NULL 0 NULL 0 -52297928.4560 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:45:00 1 0 NULL 1 NULL 0 3636295874.3410 0 0 0 0 150.225 NULL NULL NULL NULL 0 0 0 2023/11/17 21:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:50:00 1 0 NULL 1 NULL 0 -51935117.2980 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 21:55:00 1 0 NULL 0 NULL 0 -54402795.21 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 21:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:00:00 1 0 NULL 1 NULL 0 -51909940.0510 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 21:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:05:00 1 0 NULL 1 NULL 0 -46272644.3910 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:10:00 1 0 NULL 1 NULL 0 -48524238.9060 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:15:00 1 0 NULL 1 NULL 0 365490378.6370 0 0 0 0 16.983 NULL NULL NULL NULL 0 0 0 2023/11/17 22:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:20:00 1 0 NULL 1 NULL 0 319918669.0540 0 0 0 0 15.099 NULL NULL NULL NULL 0 0 0 2023/11/17 22:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:25:00 1 0 NULL 1 NULL 0 279776932.5480 0 0 0 0 13.463 NULL NULL NULL NULL 0 0 0 2023/11/17 22:20:05 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:30:00 1 0 NULL 0 NULL 0 -50757875.4790 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:35:00 1 0 NULL 0 NULL 0 -49364760.0730 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:40:00 1 0 NULL 1 NULL 0 -47241907.5760 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:45:00 1 0 NULL 1 NULL 0 -47915767.6690 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:50:00 1 0 NULL 0 NULL 0 -50172567.1080 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 22:55:00 1 0 NULL 0 NULL 0 -50056650.4350 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 22:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:00:00 1 0 NULL 1 NULL 0 -47573958.7360 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 22:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:05:00 1 0 NULL 1 NULL 0 -45568109.9610 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 23:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:10:00 1 0 NULL 1 NULL 0 -45494464.1590 0 0 0 0 0.1 NULL NULL NULL NULL 0 0 0 2023/11/17 23:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:15:00 1 0 NULL 0 NULL 0 -47995783.19 0 0 0 0 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:20:00 1 0 NULL 1 NULL 0 -16025744.1730 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:25:00 1 0 NULL 1 NULL 0 -15966430.1110 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:30:00 1 0 NULL 1 NULL 0 -15990262.8730 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:35:00 1 0 NULL 1 NULL 0 -15922778.3050 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:40:00 1 0 NULL 1 NULL 0 -7172455.1420 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:35:04 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:45:00 1 0 NULL 1 NULL 0 -3762172.28 0 0 0 0.416 0.26 NULL NULL NULL NULL 0 0 0 2023/11/17 23:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:50:00 1 0 NULL 1 NULL 0 -14168482.45 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/17 23:55:00 1 0 NULL 1 NULL 0 -15275361.3130 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/17 23:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:00:00 1 0 NULL 1 NULL 0 -5203508.2810 0 0 0 0.416 0.41 NULL NULL NULL NULL 0 0 0 2023/11/17 23:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:05:00 1 0 NULL 1 NULL 0 2006985581.7150 0 0 79.765 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 00:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:10:00 1 0 NULL 1 NULL 0 1713933363.3980 0 0 68.28 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:15:00 1 0 NULL 1 NULL 0 1324747813.8940 0 0 52.898 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:20:00 1 0 NULL 1 NULL 0 933413090.4160 0 0 37.427 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 00:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:25:00 1 0 NULL 1 NULL 0 550689839.8880 0 0 22.2 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 00:20:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:30:00 1 0 NULL 1 NULL 0 218937418.1080 0 0 8.395 0.416 0.81 NULL NULL NULL NULL 0 0 0 2023/11/18 00:25:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:35:00 1 0 NULL 1 NULL 0 7579525926.7580 0 0 0 0.416 308.996 NULL NULL NULL NULL 0 0 0 2023/11/18 00:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:40:00 1 0 NULL 1 NULL 0 7336915650.9690 0 0 0 0.416 299.12 NULL NULL NULL NULL 0 0 0 2023/11/18 00:35:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:45:00 1 0 NULL 1 NULL 0 6045182791.2170 0 0 0 0.416 246.546 NULL NULL NULL NULL 0 0 0 2023/11/18 00:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:50:00 1 0 NULL 1 NULL 0 4782443540.40 0 0 0 0.416 195.149 NULL NULL NULL NULL 0 0 0 2023/11/18 00:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 00:55:00 1 0 NULL 1 NULL 0 3533422992.0770 0 0 0 0.416 144.306 NULL NULL NULL NULL 0 0 0 2023/11/18 00:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:00:00 1 0 NULL 1 NULL 0 2826754356.2650 0 0 0 0.416 115.54 NULL NULL NULL NULL 0 0 0 2023/11/18 00:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:05:00 1 0 NULL 1 NULL 0 1453322777.0730 0 0 0 0.416 59.628 NULL NULL NULL NULL 0 0 0 2023/11/18 01:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:10:00 1 0 NULL 1 NULL 0 499129476.38 0 0 0 0.416 20.781 NULL NULL NULL NULL 0 0 0 2023/11/18 01:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:15:00 1 0 NULL 1 NULL 0 485407380.7220 0 0 0 0.416 20.229 NULL NULL NULL NULL 0 0 0 2023/11/18 01:10:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:20:00 1 0 NULL 1 NULL 0 17265665.6770 0 0 0 0.416 1.17 NULL NULL NULL NULL 0 0 0 2023/11/18 01:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:25:00 1 0 NULL 1 NULL 0 -11434172.2560 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 01:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:30:00 1 0 NULL 1 NULL 0 -3823519.21 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 01:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:35:00 1 0 NULL 1 NULL 0 1498287664.4310 0 0 0 0.416 61.408 NULL NULL NULL NULL 0 0 0 2023/11/18 01:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:40:00 1 0 NULL 1 NULL 0 608001450.7020 0 0 0 0.416 25.168 NULL NULL NULL NULL 0 0 0 2023/11/18 01:35:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:45:00 1 0 NULL 1 NULL 0 -7888393.7570 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 01:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:50:00 1 0 NULL 1 NULL 0 -10396306.4160 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 01:45:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 01:55:00 1 0 NULL 1 NULL 0 8316084.7680 0 0 0 0.416 0.76 NULL NULL NULL NULL 0 0 0 2023/11/18 01:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:00:00 1 0 NULL 1 NULL 0 -2731101.26 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 01:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:05:00 1 0 NULL 1 NULL 0 -8814993.7150 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/18 02:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:10:00 1 0 NULL 1 NULL 0 -7598613.6930 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:15:00 1 0 NULL 1 NULL 0 -7628193.4030 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:20:00 1 0 NULL 1 NULL 0 -7639055.3820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 02:15:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:25:00 1 0 NULL 1 NULL 0 -2417482.6810 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:30:00 1 0 NULL 1 NULL 0 -9895427.42 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/18 02:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:35:00 1 0 NULL 1 NULL 0 -2318028.8590 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:40:00 1 0 NULL 1 NULL 0 -9895921.9650 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 02:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:45:00 1 0 NULL 1 NULL 0 -8500955.7880 0 0 0 0.416 0.06 NULL NULL NULL NULL 0 0 0 2023/11/18 02:40:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:50:00 1 0 NULL 1 NULL 0 -9903525.7990 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 02:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 02:55:00 1 0 NULL 1 NULL 0 -3502096.8430 0 0 0 0.416 0.26 NULL NULL NULL NULL 0 0 0 2023/11/18 02:50:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:00:00 1 0 NULL 1 NULL 0 -2234303.9630 0 0 0 0.416 0.31 NULL NULL NULL NULL 0 0 0 2023/11/18 02:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:05:00 1 0 NULL 1 NULL 0 -9867178.7940 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:00:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:10:00 1 0 NULL 1 NULL 0 -9517507.4350 0 0 0 0.416 0.01 NULL NULL NULL NULL 0 0 0 2023/11/18 03:05:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:15:00 1 0 NULL 1 NULL 0 -7178170.5820 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 03:10:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:20:00 1 0 NULL 1 NULL 0 -9624785.8940 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:15:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:25:00 1 0 NULL 1 NULL 0 -878688.5970 0 0 0 0.416 0.36 NULL NULL NULL NULL 0 0 0 2023/11/18 03:20:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:30:00 1 0 NULL 1 NULL 0 14145537.0950 0 0 0 0.416 0.97 NULL NULL NULL NULL 0 0 0 2023/11/18 03:25:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:35:00 1 0 NULL 1 NULL 0 -7149770.39 0 0 0 0.416 0.1 NULL NULL NULL NULL 0 0 0 2023/11/18 03:30:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:40:00 1 0 NULL 1 NULL 0 -9596739.4250 0 0 0 0.416 0 NULL NULL NULL NULL 0 0 0 2023/11/18 03:35:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:45:00 1 0 NULL 1 NULL 0 88789129.03 0 0 0 0.416 3.995 NULL NULL NULL NULL 0 0 0 2023/11/18 03:40:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:50:00 1 0 NULL 1 NULL 0 4426114.4320 0 0 0 0.416 0.56 NULL NULL NULL NULL 0 0 0 2023/11/18 03:45:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 03:55:00 1 0 NULL 1 NULL 0 5669292.5630 0 0 0 0.416 0.61 NULL NULL NULL NULL 0 0 0 2023/11/18 03:50:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DISPATCH CASESOLUTION 1 2023/11/18 04:00:00 1 0 NULL 1 NULL 0 8250793.4510 0 0 0 0.416 0.71 NULL NULL NULL NULL 0 0 0 2023/11/18 03:55:03 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +I DREGION NULL 2 SETTLEMENTDATE RUNNO REGIONID INTERVENTION RRP EEP ROP APCFLAG MARKETSUSPENDEDFLAG TOTALDEMAND DEMANDFORECAST DISPATCHABLEGENERATION DISPATCHABLELOAD NETINTERCHANGE EXCESSGENERATION LOWER5MINDISPATCH LOWER5MINIMPORT LOWER5MINLOCALDISPATCH LOWER5MINLOCALPRICE LOWER5MINLOCALREQ LOWER5MINPRICE LOWER5MINREQ LOWER5MINSUPPLYPRICE LOWER60SECDISPATCH LOWER60SECIMPORT LOWER60SECLOCALDISPATCH LOWER60SECLOCALPRICE LOWER60SECLOCALREQ LOWER60SECPRICE LOWER60SECREQ LOWER60SECSUPPLYPRICE LOWER6SECDISPATCH LOWER6SECIMPORT LOWER6SECLOCALDISPATCH LOWER6SECLOCALPRICE LOWER6SECLOCALREQ LOWER6SECPRICE LOWER6SECREQ LOWER6SECSUPPLYPRICE RAISE5MINDISPATCH RAISE5MINIMPORT RAISE5MINLOCALDISPATCH RAISE5MINLOCALPRICE RAISE5MINLOCALREQ RAISE5MINPRICE RAISE5MINREQ RAISE5MINSUPPLYPRICE RAISE60SECDISPATCH RAISE60SECIMPORT RAISE60SECLOCALDISPATCH RAISE60SECLOCALPRICE RAISE60SECLOCALREQ RAISE60SECPRICE RAISE60SECREQ RAISE60SECSUPPLYPRICE RAISE6SECDISPATCH RAISE6SECIMPORT RAISE6SECLOCALDISPATCH RAISE6SECLOCALPRICE RAISE6SECLOCALREQ RAISE6SECPRICE RAISE6SECREQ RAISE6SECSUPPLYPRICE AGGREGATEDISPATCHERROR AVAILABLEGENERATION AVAILABLELOAD INITIALSUPPLY CLEAREDSUPPLY LOWERREGIMPORT LOWERREGLOCALDISPATCH LOWERREGLOCALREQ LOWERREGREQ RAISEREGIMPORT RAISEREGLOCALDISPATCH RAISEREGLOCALREQ RAISEREGREQ RAISE5MINLOCALVIOLATION RAISEREGLOCALVIOLATION RAISE60SECLOCALVIOLATION RAISE6SECLOCALVIOLATION LOWER5MINLOCALVIOLATION LOWERREGLOCALVIOLATION LOWER60SECLOCALVIOLATION LOWER6SECLOCALVIOLATION RAISE5MINVIOLATION RAISEREGVIOLATION RAISE60SECVIOLATION RAISE6SECVIOLATION LOWER5MINVIOLATION LOWERREGVIOLATION LOWER60SECVIOLATION LOWER6SECVIOLATION RAISE6SECRRP RAISE6SECROP RAISE6SECAPCFLAG RAISE60SECRRP RAISE60SECROP RAISE60SECAPCFLAG RAISE5MINRRP RAISE5MINROP RAISE5MINAPCFLAG RAISEREGRRP RAISEREGROP RAISEREGAPCFLAG LOWER6SECRRP LOWER6SECROP LOWER6SECAPCFLAG LOWER60SECRRP LOWER60SECROP LOWER60SECAPCFLAG LOWER5MINRRP LOWER5MINROP LOWER5MINAPCFLAG LOWERREGRRP LOWERREGROP LOWERREGAPCFLAG NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DREGION NULL 2 2023/11/17 04:05:00 1 NSW1 0 88.56012 0 88.56012 0 0 6392.2 23 5694.97 0 -697.23 0 NULL NULL 98.43 NULL NULL NULL NULL NULL NULL NULL 103 NULL NULL NULL NULL NULL NULL NULL 91 NULL NULL NULL NULL NULL NULL NULL 105 NULL NULL NULL NULL NULL NULL NULL 164 NULL NULL NULL NULL NULL NULL NULL 171.23 NULL NULL NULL NULL NULL 2.14388 8571.20053 207 6391.82764 6408.98 NULL 72 NULL NULL NULL 32 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 47.48 47.48 0 8.25 8.25 0 0.38 0.38 0 25.18 25.18 0 0.39 0.39 0 0.39 0.39 0 0.15 0.15 0 5.9 5.9 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DREGION NULL 2 2023/11/17 04:05:00 1 QLD1 0 83.25 0 83.25 0 0 6012.9 1 6405.92 0 393.02 0 NULL NULL 47 NULL NULL NULL NULL NULL NULL NULL 47 NULL NULL NULL NULL NULL NULL NULL 16 NULL NULL NULL NULL NULL NULL NULL 69 NULL NULL NULL NULL NULL NULL NULL 165 NULL NULL NULL NULL NULL NULL NULL 158.59 NULL NULL NULL NULL NULL 12.04781 9607.10393 98 6020.25977 6017.04 NULL 10 NULL NULL NULL 121 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 47.48 47.48 0 8.25 8.25 0 0.38 0.38 0 25.18 25.18 0 0.39 0.39 0 0.39 0.39 0 0.15 0.15 0 5.9 5.9 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv + +query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII +from read_csv("data/csv/bug_10283.csv", +Skip=1, +header =0, +sample_size=-1, +all_varchar=1, +columns={ +'C1': 'VARCHAR', +'C2': 'VARCHAR', +'C3': 'VARCHAR', +'C4': 'VARCHAR', +'C5': 'VARCHAR', +'C6': 'VARCHAR', +'C7': 'VARCHAR', +'C8': 'VARCHAR', +'C9': 'VARCHAR', +'C10': 'VARCHAR', +'C11': 'VARCHAR', +'C12': 'VARCHAR', +'C13': 'VARCHAR', +'C14': 'VARCHAR', +'C15': 'VARCHAR', +'C16': 'VARCHAR', +'C17': 'VARCHAR', +'C18': 'VARCHAR', +'C19': 'VARCHAR', +'C20': 'VARCHAR', +'C21': 'VARCHAR', +'C22': 'VARCHAR', +'C23': 'VARCHAR', +'C24': 'VARCHAR', +'C25': 'VARCHAR', +'C26': 'VARCHAR', +'C27': 'VARCHAR', +'C28': 'VARCHAR', +'C29': 'VARCHAR', +'C30': 'VARCHAR', +'C31': 'VARCHAR', +'C32': 'VARCHAR', +'C33': 'VARCHAR', +'C34': 'VARCHAR', +'C35': 'VARCHAR', +'C36': 'VARCHAR', +'C37': 'VARCHAR', +'C38': 'VARCHAR', +'C39': 'VARCHAR', +'C40': 'VARCHAR', +'C41': 'VARCHAR', +'C42': 'VARCHAR', +'C43': 'VARCHAR', +'C44': 'VARCHAR', +'C45': 'VARCHAR', +'C46': 'VARCHAR', +'C47': 'VARCHAR', +'C48': 'VARCHAR', +'C49': 'VARCHAR', +'C50': 'VARCHAR', +'C51': 'VARCHAR', +'C52': 'VARCHAR', +'C53': 'VARCHAR', +'C54': 'VARCHAR', +'C55': 'VARCHAR', +'C56': 'VARCHAR', +'C57': 'VARCHAR', +'C58': 'VARCHAR', +'C59': 'VARCHAR', +'C60': 'VARCHAR', +'C61': 'VARCHAR', +'C62': 'VARCHAR', +'C63': 'VARCHAR', +'C64': 'VARCHAR', +'C65': 'VARCHAR', +'C66': 'VARCHAR', +'C67': 'VARCHAR', +'C68': 'VARCHAR', +'C69': 'VARCHAR', +'C70': 'VARCHAR', +'C71': 'VARCHAR', +'C72': 'VARCHAR', +'C73': 'VARCHAR', +'C74': 'VARCHAR', +'C75': 'VARCHAR', +'C76': 'VARCHAR', +'C77': 'VARCHAR', +'C78': 'VARCHAR', +'C79': 'VARCHAR', +'C80': 'VARCHAR', +'C81': 'VARCHAR', +'C82': 'VARCHAR', +'C83': 'VARCHAR', +'C84': 'VARCHAR', +'C85': 'VARCHAR', +'C86': 'VARCHAR', +'C87': 'VARCHAR', +'C88': 'VARCHAR', +'C89': 'VARCHAR', +'C90': 'VARCHAR', +'C91': 'VARCHAR', +'C92': 'VARCHAR', +'C93': 'VARCHAR', +'C94': 'VARCHAR', +'C95': 'VARCHAR', +'C96': 'VARCHAR', +'C97': 'VARCHAR', +'C98': 'VARCHAR', +'C99': 'VARCHAR', +'C100': 'VARCHAR', +'C101': 'VARCHAR', +'C102': 'VARCHAR', +'C103': 'VARCHAR', +'C104': 'VARCHAR', +'C105': 'VARCHAR', +'C106': 'VARCHAR', +'C107': 'VARCHAR', +'C108': 'VARCHAR', +'C109': 'VARCHAR', +'C110': 'VARCHAR', +'C111': 'VARCHAR', +'C112': 'VARCHAR', +'C113': 'VARCHAR', +'C114': 'VARCHAR', +'C115': 'VARCHAR', +'C116': 'VARCHAR', +'C117': 'VARCHAR', +'C118': 'VARCHAR', +'C119': 'VARCHAR', +'C120': 'VARCHAR', +'C121': 'VARCHAR', +'C122': 'VARCHAR', +'C123': 'VARCHAR', +'C124': 'VARCHAR', +'C125': 'VARCHAR', +'C126': 'VARCHAR', +'C127': 'VARCHAR', +'C128': 'VARCHAR', +'C129': 'VARCHAR', +'C130': 'VARCHAR' + }, +null_padding=true, +filename=true, +auto_detect=false) +where C1 = 'D' and C2 = 'DREGION' and C4 = '2' +---- +D DREGION NULL 2 2023/11/17 04:05:00 1 NSW1 0 88.56012 0 88.56012 0 0 6392.2 23 5694.97 0 -697.23 0 NULL NULL 98.43 NULL NULL NULL NULL NULL NULL NULL 103 NULL NULL NULL NULL NULL NULL NULL 91 NULL NULL NULL NULL NULL NULL NULL 105 NULL NULL NULL NULL NULL NULL NULL 164 NULL NULL NULL NULL NULL NULL NULL 171.23 NULL NULL NULL NULL NULL 2.14388 8571.20053 207 6391.82764 6408.98 NULL 72 NULL NULL NULL 32 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 47.48 47.48 0 8.25 8.25 0 0.38 0.38 0 25.18 25.18 0 0.39 0.39 0 0.39 0.39 0 0.15 0.15 0 5.9 5.9 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DREGION NULL 2 2023/11/17 04:05:00 1 QLD1 0 83.25 0 83.25 0 0 6012.9 1 6405.92 0 393.02 0 NULL NULL 47 NULL NULL NULL NULL NULL NULL NULL 47 NULL NULL NULL NULL NULL NULL NULL 16 NULL NULL NULL NULL NULL NULL NULL 69 NULL NULL NULL NULL NULL NULL NULL 165 NULL NULL NULL NULL NULL NULL NULL 158.59 NULL NULL NULL NULL NULL 12.04781 9607.10393 98 6020.25977 6017.04 NULL 10 NULL NULL NULL 121 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 47.48 47.48 0 8.25 8.25 0 0.38 0.38 0 25.18 25.18 0 0.39 0.39 0 0.39 0.39 0 0.15 0.15 0 5.9 5.9 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv + +query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII +from read_csv("data/csv/bug_10283.csv", +Skip=1, +header =0, +sample_size=-1, +all_varchar=1, +columns={ +'C1': 'VARCHAR', +'C2': 'VARCHAR', +'C3': 'VARCHAR', +'C4': 'VARCHAR', +'C5': 'VARCHAR', +'C6': 'VARCHAR', +'C7': 'VARCHAR', +'C8': 'VARCHAR', +'C9': 'VARCHAR', +'C10': 'VARCHAR', +'C11': 'VARCHAR', +'C12': 'VARCHAR', +'C13': 'VARCHAR', +'C14': 'VARCHAR', +'C15': 'VARCHAR', +'C16': 'VARCHAR', +'C17': 'VARCHAR', +'C18': 'VARCHAR', +'C19': 'VARCHAR', +'C20': 'VARCHAR', +'C21': 'VARCHAR', +'C22': 'VARCHAR', +'C23': 'VARCHAR', +'C24': 'VARCHAR', +'C25': 'VARCHAR', +'C26': 'VARCHAR', +'C27': 'VARCHAR', +'C28': 'VARCHAR', +'C29': 'VARCHAR', +'C30': 'VARCHAR', +'C31': 'VARCHAR', +'C32': 'VARCHAR', +'C33': 'VARCHAR', +'C34': 'VARCHAR', +'C35': 'VARCHAR', +'C36': 'VARCHAR', +'C37': 'VARCHAR', +'C38': 'VARCHAR', +'C39': 'VARCHAR', +'C40': 'VARCHAR', +'C41': 'VARCHAR', +'C42': 'VARCHAR', +'C43': 'VARCHAR', +'C44': 'VARCHAR', +'C45': 'VARCHAR', +'C46': 'VARCHAR', +'C47': 'VARCHAR', +'C48': 'VARCHAR', +'C49': 'VARCHAR', +'C50': 'VARCHAR', +'C51': 'VARCHAR', +'C52': 'VARCHAR', +'C53': 'VARCHAR', +'C54': 'VARCHAR', +'C55': 'VARCHAR', +'C56': 'VARCHAR', +'C57': 'VARCHAR', +'C58': 'VARCHAR', +'C59': 'VARCHAR', +'C60': 'VARCHAR', +'C61': 'VARCHAR', +'C62': 'VARCHAR', +'C63': 'VARCHAR', +'C64': 'VARCHAR', +'C65': 'VARCHAR', +'C66': 'VARCHAR', +'C67': 'VARCHAR', +'C68': 'VARCHAR', +'C69': 'VARCHAR', +'C70': 'VARCHAR', +'C71': 'VARCHAR', +'C72': 'VARCHAR', +'C73': 'VARCHAR', +'C74': 'VARCHAR', +'C75': 'VARCHAR', +'C76': 'VARCHAR', +'C77': 'VARCHAR', +'C78': 'VARCHAR', +'C79': 'VARCHAR', +'C80': 'VARCHAR', +'C81': 'VARCHAR', +'C82': 'VARCHAR', +'C83': 'VARCHAR', +'C84': 'VARCHAR', +'C85': 'VARCHAR', +'C86': 'VARCHAR', +'C87': 'VARCHAR', +'C88': 'VARCHAR', +'C89': 'VARCHAR', +'C90': 'VARCHAR', +'C91': 'VARCHAR', +'C92': 'VARCHAR', +'C93': 'VARCHAR', +'C94': 'VARCHAR', +'C95': 'VARCHAR', +'C96': 'VARCHAR', +'C97': 'VARCHAR', +'C98': 'VARCHAR', +'C99': 'VARCHAR', +'C100': 'VARCHAR', +'C101': 'VARCHAR', +'C102': 'VARCHAR', +'C103': 'VARCHAR', +'C104': 'VARCHAR', +'C105': 'VARCHAR', +'C106': 'VARCHAR', +'C107': 'VARCHAR', +'C108': 'VARCHAR', +'C109': 'VARCHAR', +'C110': 'VARCHAR', +'C111': 'VARCHAR', +'C112': 'VARCHAR', +'C113': 'VARCHAR', +'C114': 'VARCHAR', +'C115': 'VARCHAR', +'C116': 'VARCHAR', +'C117': 'VARCHAR', +'C118': 'VARCHAR', +'C119': 'VARCHAR', +'C120': 'VARCHAR', +'C121': 'VARCHAR', +'C122': 'VARCHAR', +'C123': 'VARCHAR', +'C124': 'VARCHAR', +'C125': 'VARCHAR', +'C126': 'VARCHAR', +'C127': 'VARCHAR', +'C128': 'VARCHAR', +'C129': 'VARCHAR', +'C130': 'VARCHAR' + }, +null_padding=true, +filename=true, +ignore_errors = true, +auto_detect=false) +where C1 = 'D' and C2 = 'DREGION' and C4 = '2' +---- +D DREGION NULL 2 2023/11/17 04:05:00 1 NSW1 0 88.56012 0 88.56012 0 0 6392.2 23 5694.97 0 -697.23 0 NULL NULL 98.43 NULL NULL NULL NULL NULL NULL NULL 103 NULL NULL NULL NULL NULL NULL NULL 91 NULL NULL NULL NULL NULL NULL NULL 105 NULL NULL NULL NULL NULL NULL NULL 164 NULL NULL NULL NULL NULL NULL NULL 171.23 NULL NULL NULL NULL NULL 2.14388 8571.20053 207 6391.82764 6408.98 NULL 72 NULL NULL NULL 32 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 47.48 47.48 0 8.25 8.25 0 0.38 0.38 0 25.18 25.18 0 0.39 0.39 0 0.39 0.39 0 0.15 0.15 0 5.9 5.9 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv +D DREGION NULL 2 2023/11/17 04:05:00 1 QLD1 0 83.25 0 83.25 0 0 6012.9 1 6405.92 0 393.02 0 NULL NULL 47 NULL NULL NULL NULL NULL NULL NULL 47 NULL NULL NULL NULL NULL NULL NULL 16 NULL NULL NULL NULL NULL NULL NULL 69 NULL NULL NULL NULL NULL NULL NULL 165 NULL NULL NULL NULL NULL NULL NULL 158.59 NULL NULL NULL NULL NULL 12.04781 9607.10393 98 6020.25977 6017.04 NULL 10 NULL NULL NULL 121 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 47.48 47.48 0 8.25 8.25 0 0.38 0.38 0 25.18 25.18 0 0.39 0.39 0 0.39 0.39 0 0.15 0.15 0 5.9 5.9 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL data/csv/bug_10283.csv diff --git a/test/sql/copy/csv/code_cov/buffer_manager_finalize.test b/test/sql/copy/csv/code_cov/buffer_manager_finalize.test index 50e25aed292a..6bcb5f512b26 100644 --- a/test/sql/copy/csv/code_cov/buffer_manager_finalize.test +++ b/test/sql/copy/csv/code_cov/buffer_manager_finalize.test @@ -17,6 +17,6 @@ select count(*) from '__TEST_DIR__/t1.csv' 3000 query I -select count(*) from read_csv('data/csv/empty.csv', columns=STRUCT_PACK(d := 'BIGINT'), header=0) +select count(*) from read_csv('data/csv/empty.csv', columns=STRUCT_PACK(d := 'BIGINT'), header=0, auto_detect = false) ---- -0 \ No newline at end of file +0 diff --git a/test/sql/copy/csv/code_cov/csv_dialect_detection.test b/test/sql/copy/csv/code_cov/csv_dialect_detection.test index 690692c137fc..d289e54f4dd7 100644 --- a/test/sql/copy/csv/code_cov/csv_dialect_detection.test +++ b/test/sql/copy/csv/code_cov/csv_dialect_detection.test @@ -5,13 +5,6 @@ statement ok PRAGMA enable_verification -# Test with wrong new line delimiter - -statement error -SELECT count(*) from read_csv_auto('test/sql/copy/csv/data/auto/multi_column_string_r_n.csv', new_line = '\n') ----- -CSV options could not be auto-detected. - query I SELECT * from read_csv_auto('data/csv/escape.csv', escape=']') ---- @@ -25,4 +18,4 @@ SELECT * from read_csv_auto('data/csv/escape.csv') statement error SELECT * from read_csv_auto('data/csv/no_opt.csv', delim = ';') ---- -CSV options could not be auto-detected. \ No newline at end of file +CSV options could not be auto-detected. Consider setting parser options manually. diff --git a/test/sql/copy/csv/code_cov/csv_disk_reload.test b/test/sql/copy/csv/code_cov/csv_disk_reload.test index c2b5bdcf4c13..ccc94de98c5e 100644 --- a/test/sql/copy/csv/code_cov/csv_disk_reload.test +++ b/test/sql/copy/csv/code_cov/csv_disk_reload.test @@ -21,4 +21,4 @@ PRAGMA threads=2 query I select count(*) from read_csv_auto('__TEST_DIR__/t1.csv',buffer_size = 262144, sample_size=-1) ---- -300000 \ No newline at end of file +300000 diff --git a/test/sql/copy/csv/code_cov/csv_exact_buffer_size.test b/test/sql/copy/csv/code_cov/csv_exact_buffer_size.test index 0d37190a2953..f50f02818e27 100644 --- a/test/sql/copy/csv/code_cov/csv_exact_buffer_size.test +++ b/test/sql/copy/csv/code_cov/csv_exact_buffer_size.test @@ -8,4 +8,4 @@ PRAGMA enable_verification query I select count(*) from read_csv_auto('data/csv/small_file.csv', buffer_size = 7) ---- -2 \ No newline at end of file +2 diff --git a/test/sql/copy/csv/code_cov/csv_sniffer_blob.test b/test/sql/copy/csv/code_cov/csv_sniffer_blob.test deleted file mode 100644 index 5685d71b1454..000000000000 --- a/test/sql/copy/csv/code_cov/csv_sniffer_blob.test +++ /dev/null @@ -1,11 +0,0 @@ -# name: test/sql/copy/csv/code_cov/csv_sniffer_blob.test -# description: Test Blob error in sniffer -# group: [code_cov] - -statement ok -PRAGMA enable_verification - -statement error -SELECT typeof(#1),typeof(#3) from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMN_TYPES=STRUCT_PACK(column0 := 'BLOB')) LIMIT 1 ----- -CSV auto-detect for blobs not supported: there may be invalid UTF-8 in the file \ No newline at end of file diff --git a/test/sql/copy/csv/code_cov/csv_sniffer_header.test b/test/sql/copy/csv/code_cov/csv_sniffer_header.test index b1e5f0da1cb6..96e81acbd555 100644 --- a/test/sql/copy/csv/code_cov/csv_sniffer_header.test +++ b/test/sql/copy/csv/code_cov/csv_sniffer_header.test @@ -20,4 +20,4 @@ bla BIGINT YES NULL NULL NULL bla_1 BIGINT YES NULL NULL NULL b_la BIGINT YES NULL NULL NULL _ BIGINT YES NULL NULL NULL -_3b BIGINT YES NULL NULL NULL \ No newline at end of file +_3b BIGINT YES NULL NULL NULL diff --git a/test/sql/copy/csv/code_cov/csv_state_machine_invalid_utf.test b/test/sql/copy/csv/code_cov/csv_state_machine_invalid_utf.test index b6e985fec5c5..bd8f903b8d32 100644 --- a/test/sql/copy/csv/code_cov/csv_state_machine_invalid_utf.test +++ b/test/sql/copy/csv/code_cov/csv_state_machine_invalid_utf.test @@ -8,4 +8,4 @@ PRAGMA enable_verification statement error select * from read_csv_auto('test/sql/copy/csv/data/test/invalid_utf.csv') ---- -Invalid unicode (byte sequence mismatch) detected in CSV file. \ No newline at end of file +Invalid unicode (byte sequence mismatch) detected diff --git a/test/sql/copy/csv/code_cov/csv_type_detection.test b/test/sql/copy/csv/code_cov/csv_type_detection.test index c5084e77bfb7..16ad1600e294 100644 --- a/test/sql/copy/csv/code_cov/csv_type_detection.test +++ b/test/sql/copy/csv/code_cov/csv_type_detection.test @@ -8,12 +8,11 @@ PRAGMA enable_verification statement error select * from read_csv_auto('data/csv/invalid_utf8.csv') ---- -Invalid unicode (byte sequence mismatch) detected in CSV file. +Invalid unicode (byte sequence mismatch) detected -statement error +query I select * from read_csv_auto('data/csv/empty.csv') ---- -Invalid Input Error: Error in file "data/csv/empty.csv": CSV options could not be auto-detected. Consider setting parser options manually. query II select * from read_csv_auto('data/csv/small_file.csv', sample_size=1) @@ -25,4 +24,4 @@ query I select * from read_csv_auto('data/csv/date_format_percentage.csv') ---- test -336%584%3205 \ No newline at end of file +336%584%3205 diff --git a/test/sql/copy/csv/code_cov/csv_type_refinement.test b/test/sql/copy/csv/code_cov/csv_type_refinement.test index 1a6e869fac3a..978f2704ed89 100644 --- a/test/sql/copy/csv/code_cov/csv_type_refinement.test +++ b/test/sql/copy/csv/code_cov/csv_type_refinement.test @@ -6,11 +6,11 @@ statement ok PRAGMA enable_verification query I -select count(*) from read_csv_auto('data/csv/borked_date.csv') +select count(*) from read_csv_auto('data/csv/borked_date.csv', header = 0) ---- 2070 query I select count(*) from read_csv_auto('data/csv/big_not_bool.csv') ---- -2450 \ No newline at end of file +2450 diff --git a/test/sql/copy/csv/column_names.test b/test/sql/copy/csv/column_names.test index e8eb5b64f1f8..4137b0624c19 100644 --- a/test/sql/copy/csv/column_names.test +++ b/test/sql/copy/csv/column_names.test @@ -6,7 +6,7 @@ statement ok PRAGMA enable_verification statement ok -CREATE TABLE t1 AS SELECT * FROM read_csv_auto('test/sql/copy/csv/data/test/issue2518.csv', header=False, columns={'rsID':'INT', 'CHR': 'VARCHAR', 'POS': 'INT','REFB': 'VARCHAR','ALTB':'VARCHAR'}) +CREATE TABLE t1 AS SELECT * FROM read_csv_auto('test/sql/copy/csv/data/test/issue2518.csv', header=False, columns={'rsID':'INT', 'CHR': 'VARCHAR', 'POS': 'INT','REFB': 'VARCHAR','ALTB':'VARCHAR'}, auto_detect = false) query IIIII SELECT rsID, chr, pos, refb, altb FROM t1 @@ -41,7 +41,7 @@ SELECT rsID, chr, pos, refb, altb FROM t2 statement ok -CREATE TABLE t3 AS SELECT * FROM read_csv_auto('test/sql/copy/csv/data/test/issue2518.csv', columns={'rsID':'INT', 'CHR': 'VARCHAR', 'POS': 'INT','REFB': 'VARCHAR','ALTB':'VARCHAR'}) +CREATE TABLE t3 AS SELECT * FROM read_csv_auto('test/sql/copy/csv/data/test/issue2518.csv', columns={'rsID':'INT', 'CHR': 'VARCHAR', 'POS': 'INT','REFB': 'VARCHAR','ALTB':'VARCHAR'}, auto_detect = false) query IIIII SELECT rsID, chr, pos, refb, altb FROM t3 diff --git a/test/sql/copy/csv/copy_disable_parallelism.test b/test/sql/copy/csv/copy_disable_parallelism.test index 28d34106c328..313c58811827 100644 --- a/test/sql/copy/csv/copy_disable_parallelism.test +++ b/test/sql/copy/csv/copy_disable_parallelism.test @@ -6,11 +6,6 @@ statement ok CREATE TABLE test (a INTEGER, b INTEGER, c VARCHAR(10)); query I -COPY test FROM 'test/sql/copy/csv/data/test/test.csv' (PARALLEL); ----- -5000 - -query I -COPY test FROM 'test/sql/copy/csv/data/test/test.csv' (PARALLEL FALSE); +COPY test FROM 'test/sql/copy/csv/data/test/test.csv'; ---- 5000 diff --git a/test/sql/copy/csv/csv_decimal_separator.test b/test/sql/copy/csv/csv_decimal_separator.test index fbaca38a76be..14fcfc94e646 100644 --- a/test/sql/copy/csv/csv_decimal_separator.test +++ b/test/sql/copy/csv/csv_decimal_separator.test @@ -11,12 +11,7 @@ PRAGMA enable_verification statement error CREATE TABLE decimal_separators AS SELECT * FROM read_csv_auto('data/csv/decimal_separators/decimal_separators.csv', header=1, column_types={'commas': 'double', 'periods': 'double'}, delim=';', decimal_separator=',') ---- -Invalid Input Error: Could not cast string to double: "1.1" in column "periods", at line 2. - -statement error -CREATE TABLE decimal_separators AS SELECT * FROM read_csv_auto('data/csv/decimal_separators/decimal_separators.csv', header=1, column_types={'commas': 'double', 'periods': 'double'}, delim=';', decimal_separator=',', parallel = false) ----- -Invalid Input Error: Could not cast string to double: "1.1" in column "periods", at line 2. +Line: 2 statement ok CREATE TABLE decimal_separators AS SELECT * FROM read_csv_auto('data/csv/decimal_separators/decimal_separators.csv', header=1, column_types={'commas': 'double'}, delim=';', decimal_separator=',') @@ -39,29 +34,13 @@ DOUBLE VARCHAR statement error CREATE TABLE decimal_separators2 AS SELECT * FROM read_csv_auto('data/csv/decimal_separators/decimal_separators.csv', header=1, column_types={'commas': 'decimal', 'periods': 'decimal'}, delim=';', decimal_separator='.') ---- -Could not convert string "1,1" to DECIMAL(18,3) in column "commas" - -# reading the commas column as double fails when decimal separator is set to '.' -statement error -CREATE TABLE decimal_separators2 AS SELECT * FROM read_csv_auto('data/csv/decimal_separators/decimal_separators.csv', header=1, column_types={'commas': 'double', 'periods': 'decimal'}, delim=';', decimal_separator='.') ----- -Invalid Input Error: Could not convert string '1,1' to DOUBLE in column "commas", at line 2. - -statement error -CREATE TABLE decimal_separators2 AS SELECT * FROM read_csv_auto('data/csv/decimal_separators/decimal_separators.csv', header=1, column_types={'commas': 'double', 'periods': 'decimal'}, delim=';', decimal_separator='.', parallel = false) ----- -Invalid Input Error: Could not convert string '1,1' to DOUBLE in column "commas", at line 2. +Line: 2 # reading the commas column as float fails when decimal separator is set to '.' statement error CREATE TABLE decimal_separators2 AS SELECT * FROM read_csv_auto('data/csv/decimal_separators/decimal_separators.csv', header=1, column_types={'commas': 'float', 'periods': 'decimal'}, delim=';', decimal_separator='.') ---- -Invalid Input Error: Could not convert string '1,1' to FLOAT in column "commas", at line 2. - -statement error -CREATE TABLE decimal_separators2 AS SELECT * FROM read_csv_auto('data/csv/decimal_separators/decimal_separators.csv', header=1, column_types={'commas': 'float', 'periods': 'decimal'}, delim=';', decimal_separator='.', parallel = false) ----- -Invalid Input Error: Could not convert string '1,1' to FLOAT in column "commas", at line 2. +Line: 2 statement ok CREATE TABLE decimal_separators2 AS SELECT * FROM read_csv_auto('data/csv/decimal_separators/decimal_separators.csv', header=1, column_types={'commas': 'decimal'}, delim=';', decimal_separator=',') @@ -120,9 +99,4 @@ Binder Error: Unsupported parameter for DECIMAL_SEPARATOR: should be '.' or ',' statement error SELECT * FROM read_csv_auto('data/csv/decimal_separators/mixed_format_fail.csv', header=true, column_types={'foo': 'double'}, decimal_separator=',', skip=0) ---- -Invalid Input Error: Could not cast string to double: "5.25" in column "foo", at line 4. - -statement error -SELECT * FROM read_csv_auto('data/csv/decimal_separators/mixed_format_fail.csv', header=true, column_types={'foo': 'double'}, decimal_separator=',', skip=0, parallel = false) ----- -Invalid Input Error: Could not cast string to double: "5.25" in column "foo", at line 4. \ No newline at end of file +Line: 4 diff --git a/test/sql/copy/csv/csv_error_message.test b/test/sql/copy/csv/csv_error_message.test index e9ce89af2656..96b33d861361 100644 --- a/test/sql/copy/csv/csv_error_message.test +++ b/test/sql/copy/csv/csv_error_message.test @@ -11,22 +11,18 @@ COPY (SELECT i::VARCHAR i FROM range(103) tbl(i) UNION ALL SELECT 'hello') TO '_ statement error SELECT * FROM read_csv('__TEST_DIR__/int_parse_error.csv', columns={'i': 'INT'}, header=True) ---- -line 105 +Column at position: 0 Set type: INTEGER Sniffed type: VARCHAR statement error -SELECT * FROM read_csv('__TEST_DIR__/int_parse_error.csv', columns={'i': 'INT'}, header=True, parallel = false) +SELECT * FROM read_csv('__TEST_DIR__/int_parse_error.csv', columns={'i': 'INT'}, header=True, auto_detect=false) ---- -line 105 +Line: 105 statement ok COPY (SELECT i::VARCHAR i FROM range(103) tbl(i) UNION ALL SELECT 'hello') TO '__TEST_DIR__/int_parse_error.csv' (HEADER 0, DELIMITER '|') statement error -SELECT * FROM read_csv('__TEST_DIR__/int_parse_error.csv', columns={'i': 'INT'}, header=False) +SELECT * FROM read_csv('__TEST_DIR__/int_parse_error.csv', columns={'i': 'INT'}, header=False, auto_detect=false) ---- -line 104 +Line: 104 -statement error -SELECT * FROM read_csv('__TEST_DIR__/int_parse_error.csv', columns={'i': 'INT'}, header=False, parallel = false) ----- -line 104 diff --git a/test/sql/copy/csv/csv_external_access.test b/test/sql/copy/csv/csv_external_access.test index 743f41f7fbec..698afc6140e6 100644 --- a/test/sql/copy/csv/csv_external_access.test +++ b/test/sql/copy/csv/csv_external_access.test @@ -13,16 +13,21 @@ SET enable_external_access=false; statement error SELECT * FROM read_csv('test/sql/copy/csv/data/test/date.csv', columns = {'d': 'DATE'}); +---- statement error SELECT * FROM read_csv_auto('test/sql/copy/csv/data/test/date.csv'); +---- statement error COPY date_test FROM 'test/sql/copy/csv/data/test/date.csv'; +---- statement error COPY date_test TO '__TEST_DIR__/date.csv' +---- # we also can't just enable external access again statement error SET enable_external_access=true; +---- diff --git a/test/sql/copy/csv/csv_glob_fallback.test b/test/sql/copy/csv/csv_glob_fallback.test index fb2ff06f86df..144ace96c1da 100644 --- a/test/sql/copy/csv/csv_glob_fallback.test +++ b/test/sql/copy/csv/csv_glob_fallback.test @@ -14,3 +14,4 @@ SELECT * FROM 'data/csv/[avalon]_daily-avg.csv' statement error SELECT * FROM 'data/csv/[avxalon]_daily-avg.csv' +---- diff --git a/test/sql/copy/csv/csv_line_too_long.test b/test/sql/copy/csv/csv_line_too_long.test index cf20eb686496..5c3219bead51 100644 --- a/test/sql/copy/csv/csv_line_too_long.test +++ b/test/sql/copy/csv/csv_line_too_long.test @@ -8,27 +8,17 @@ PRAGMA enable_verification statement ok CREATE TABLE T1 (name VARCHAR); -loop thr 1 8 - -statement ok -pragma threads=${thr} foreach path data/csv/line_too_long.csv.gz data/csv/line_too_long_with_newline.csv.gz data/csv/multiple_line_too_long.csv.gz -foreach parallel true false - foreach header true false statement error -COPY T1(name) from '${path}' (DELIMITER ',', HEADER ${header} , COMPRESSION gzip, ALLOW_QUOTED_NULLS false, PARALLEL ${parallel}); +COPY T1(name) from '${path}' (DELIMITER ',', HEADER ${header} , COMPRESSION gzip, ALLOW_QUOTED_NULLS false); ---- Maximum line size of 2097152 bytes exceeded endloop endloop - -endloop - -endloop diff --git a/test/sql/copy/csv/csv_memory_management.test_slow b/test/sql/copy/csv/csv_memory_management.test_slow new file mode 100644 index 000000000000..74d8d70df31e --- /dev/null +++ b/test/sql/copy/csv/csv_memory_management.test_slow @@ -0,0 +1,38 @@ +# name: test/sql/copy/csv/csv_memory_management.test_slow +# description: Test the CSV Buffer Manager over strict memory limit conditions +# group: [csv] + +statement ok +PRAGMA enable_verification + +statement ok +SET memory_limit='512MB'; + +statement ok +SET threads=16; + +#100KK rows, 2 BIGINT columns = 1.6GB uncompressed +statement ok +COPY (SELECT i, i // 5 AS j FROM range(100000000) t(i)) TO '__TEST_DIR__/integers.csv' + +query I +select count(*) from '__TEST_DIR__/integers.csv' +---- +100000000 + +statement ok +COPY (SELECT i, i // 5 AS j FROM range(100000000) t(i)) TO '__TEST_DIR__/integers.csv.gz' + +statement ok +SET temp_directory=''; + +statement ok +SET memory_limit='80MB'; + +statement ok +SET threads=1; + +query I +select count(*) from '__TEST_DIR__/integers.csv.gz' +---- +100000000 diff --git a/test/sql/copy/csv/csv_names.test b/test/sql/copy/csv/csv_names.test index 1d910c2e5058..92070f30eb6e 100644 --- a/test/sql/copy/csv/csv_names.test +++ b/test/sql/copy/csv/csv_names.test @@ -55,9 +55,10 @@ read_csv_auto column_names/names can only be supplied once statement error select l_orderkey, l_partkey, column02, column03 from read_csv_auto('test/sql/copy/csv/data/real/lineitem_sample.csv', names=42) LIMIT 1; +---- # duplicate names statement error select l_orderkey, l_partkey, column02, column03 from read_csv_auto('test/sql/copy/csv/data/real/lineitem_sample.csv', names=['l_orderkey', 'l_orderkey']) LIMIT 1; ---- -duplicate column name \ No newline at end of file +duplicate column name diff --git a/test/sql/copy/csv/csv_null_padding.test b/test/sql/copy/csv/csv_null_padding.test index eec16f50c620..ee19b08cb170 100644 --- a/test/sql/copy/csv/csv_null_padding.test +++ b/test/sql/copy/csv/csv_null_padding.test @@ -11,7 +11,6 @@ PRAGMA enable_verification query IIII FROM read_csv_auto('data/csv/nullpadding_header.csv', null_padding=True) ---- -# this file has a bunch of gunk at the top NULL NULL NULL one two three four 1 a alice NULL 2 b bob NULL @@ -32,13 +31,6 @@ one,two,three,four 1,a,alice 2,b,bob -query I -FROM read_csv_auto('data/csv/nullpadding_header.csv', null_padding=False, skip=1) ----- -one,two,three,four -1,a,alice -2,b,bob - query III FROM read_csv_auto('data/csv/nullpadding_header.csv', null_padding=False, skip=2) ---- diff --git a/test/sql/copy/csv/data/real/lineitem_sample.csv b/test/sql/copy/csv/data/real/lineitem_sample.csv index 2e96b8b4d4e3..9088fcaf88a0 100644 --- a/test/sql/copy/csv/data/real/lineitem_sample.csv +++ b/test/sql/copy/csv/data/real/lineitem_sample.csv @@ -7,4 +7,4 @@ 2|10617|138|1|38|58049.180000|0.000000|0.050000|N|O|1997-01-28|1997-01-14|1997-02-02|TAKE BACK RETURN|RAIL|ven requests. deposits breach a 3|430|181|1|45|59869.350000|0.060000|0.000000|R|F|1994-02-02|1994-01-04|1994-02-23|NONE|AIR|ongside of the furiously brave acco 3|1904|658|2|49|88489.100000|0.100000|0.000000|R|F|1993-11-09|1993-12-20|1993-11-24|TAKE BACK RETURN|RAIL| unusual accounts. eve -3|12845|370|3|27|47461.680000|0.060000|0.070000|A|F|1994-01-16|1993-11-22|1994-01-23|DELIVER IN PERSON|SHIP|nal foxes wake. +3|12845|370|3|27|47461.680000|0.060000|0.070000|A|F|1994-01-16|1993-11-22|1994-01-23|DELIVER IN PERSON|SHIP|nal foxes wake. diff --git a/test/sql/copy/csv/empty_first_line.test b/test/sql/copy/csv/empty_first_line.test index 1fd90e7bbc6e..614e01616e40 100644 --- a/test/sql/copy/csv/empty_first_line.test +++ b/test/sql/copy/csv/empty_first_line.test @@ -13,21 +13,7 @@ b 2 c 3 query I -SELECT * FROM read_csv_auto('data/csv/empty_first_line.csv', delim='|'); ----- -a 1 -b 2 -c 3 - -query I -SELECT * FROM read_csv_auto("data/csv/empty_first_line.csv", delim="|"); ----- -a 1 -b 2 -c 3 - -query I -SELECT * FROM read_csv_auto("data/csv/empty_first_line"."csv", delim="|"); +SELECT * FROM read_csv_auto('data/csv/empty_first_line.csv', delim='|', auto_detect=false, columns={'column00': 'VARCHAR'}, skip = 1); ---- a 1 b 2 diff --git a/test/sql/copy/csv/glob/copy_csv_glob.test b/test/sql/copy/csv/glob/copy_csv_glob.test index 461d749c229b..5a2a70374204 100644 --- a/test/sql/copy/csv/glob/copy_csv_glob.test +++ b/test/sql/copy/csv/glob/copy_csv_glob.test @@ -25,4 +25,5 @@ SELECT * FROM dates ORDER BY 1 # nothing matches the glob statement error COPY dates FROM read_csv('test/sql/copy/csv/data/glob/*/a*a.csv', auto_detect=1) +---- diff --git a/test/sql/copy/csv/glob/copy_csv_glob_s3.test b/test/sql/copy/csv/glob/copy_csv_glob_s3.test index a59385cb2e3d..4304f98620fb 100644 --- a/test/sql/copy/csv/glob/copy_csv_glob_s3.test +++ b/test/sql/copy/csv/glob/copy_csv_glob_s3.test @@ -65,5 +65,6 @@ SELECT * FROM dates ORDER BY 1 # nothing matches the glob statement error COPY dates FROM read_csv('s3://test-bucket/copy_csv_glob_s3/copy/*/a*a.csv', auto_detect=1) +---- -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/csv/glob/read_csv_glob.test b/test/sql/copy/csv/glob/read_csv_glob.test index 4530bf234e7b..34bdf2e78a99 100644 --- a/test/sql/copy/csv/glob/read_csv_glob.test +++ b/test/sql/copy/csv/glob/read_csv_glob.test @@ -7,7 +7,7 @@ PRAGMA enable_verification # simple globbing query I -SELECT * FROM read_csv('test/sql/copy/csv/data/glob/a?/*.csv', auto_detect=1) ORDER BY 1 +SELECT * FROM read_csv('test/sql/copy/csv/data/glob/a?/*.csv') ORDER BY 1 ---- 2019-06-05 2019-06-15 @@ -20,7 +20,7 @@ SELECT * FROM read_csv('test/sql/copy/csv/data/glob/a?/*.csv', auto_detect=1) OR 2019-08-25 query I -SELECT * FROM read_csv('test/sql/copy/csv/data/glob/a?/a*.csv', auto_detect=1) ORDER BY 1 +SELECT * FROM read_csv('test/sql/copy/csv/data/glob/a?/a*.csv') ORDER BY 1 ---- 2019-06-05 2019-06-15 @@ -31,7 +31,7 @@ SELECT * FROM read_csv('test/sql/copy/csv/data/glob/a?/a*.csv', auto_detect=1) O # list parameter query I -SELECT * FROM read_csv(['test/sql/copy/csv/data/glob/a1/a1.csv', 'test/sql/copy/csv/data/glob/a2/a2.csv'], auto_detect=1) ORDER BY 1 +SELECT * FROM read_csv(['test/sql/copy/csv/data/glob/a1/a1.csv', 'test/sql/copy/csv/data/glob/a2/a2.csv']) ORDER BY 1 ---- 2019-06-05 2019-06-15 @@ -52,7 +52,7 @@ SELECT * FROM read_csv_auto(['test/sql/copy/csv/data/glob/a1/a1.csv', 'test/sql/ # multiple globs query I -SELECT * FROM read_csv(['test/sql/copy/csv/data/glob/a?/a*.csv', 'test/sql/copy/csv/data/glob/a?/a*.csv'], auto_detect=1) ORDER BY 1 +SELECT * FROM read_csv(['test/sql/copy/csv/data/glob/a?/a*.csv', 'test/sql/copy/csv/data/glob/a?/a*.csv']) ORDER BY 1 ---- 2019-06-05 2019-06-05 @@ -69,7 +69,7 @@ SELECT * FROM read_csv(['test/sql/copy/csv/data/glob/a?/a*.csv', 'test/sql/copy/ # more asterisks for directories query I -SELECT * FROM read_csv('test/sql/*/*/data/*/a?/a*.csv', auto_detect=1) ORDER BY 1 +SELECT * FROM read_csv('test/sql/*/*/data/*/a?/a*.csv') ORDER BY 1 ---- 2019-06-05 2019-06-15 @@ -79,7 +79,7 @@ SELECT * FROM read_csv('test/sql/*/*/data/*/a?/a*.csv', auto_detect=1) ORDER BY 2019-07-25 query II -SELECT a, b LIKE '%a1.csv%' FROM read_csv('test/sql/*/*/data/*/a?/a*.csv', auto_detect=1, filename=1) t1(a,b) ORDER BY 1 +SELECT a, b LIKE '%a1.csv%' FROM read_csv('test/sql/*/*/data/*/a?/a*.csv', filename=1) t1(a,b) ORDER BY 1 ---- 2019-06-05 1 2019-06-15 1 @@ -90,7 +90,8 @@ SELECT a, b LIKE '%a1.csv%' FROM read_csv('test/sql/*/*/data/*/a?/a*.csv', auto_ # read-csv auto fails here because of a type mismatch: most files contain dates, but one file contains integers statement error -SELECT * FROM read_csv('test/sql/copy/csv/data/glob/*/*.csv', auto_detect=1) ORDER BY 1 +SELECT * FROM read_csv('test/sql/copy/csv/data/glob/*/*.csv') ORDER BY 1 +---- # forcing string parsing works query I @@ -156,13 +157,16 @@ SELECT COUNT(*) FROM glob('test//sql////copy//csv/////data///glob///*//////*.csv # nothing matches the glob statement error -SELECT * FROM read_csv('test/sql/copy/csv/data/glob/*/a*a.csv', auto_detect=1) ORDER BY 1 +SELECT * FROM read_csv('test/sql/copy/csv/data/glob/*/a*a.csv') ORDER BY 1 +---- statement error -SELECT * FROM read_csv(['test/sql/copy/csv/data/glob/*/a*a.csv'], auto_detect=1) ORDER BY 1 +SELECT * FROM read_csv(['test/sql/copy/csv/data/glob/*/a*a.csv']) ORDER BY 1 +---- statement error SELECT * FROM read_csv_auto(['test/sql/copy/csv/data/glob/*/a*a.csv']) ORDER BY 1 +---- query I SELECT COUNT(*) FROM glob('test/sql/copy/csv/data/glob/*/a*a.csv') @@ -227,6 +231,11 @@ SELECT COUNT(*) FROM glob('test/sql/copy/csv/data/glob/*/*.csv'); statement error SELECT * FROM read_csv_auto([]) ORDER BY 1 ---- +No function matches + +statement error +SELECT * FROM read_csv_auto([]::VARCHAR[]) ORDER BY 1 +---- at least one file # null list diff --git a/test/sql/copy/csv/glob/read_csv_glob_crawl.test b/test/sql/copy/csv/glob/read_csv_glob_crawl.test index f5bcd8fb9ba4..7b23de7aa82c 100644 --- a/test/sql/copy/csv/glob/read_csv_glob_crawl.test +++ b/test/sql/copy/csv/glob/read_csv_glob_crawl.test @@ -97,7 +97,7 @@ SELECT count(*) FROM glob('test/sql/copy/csv/data/glob/crawl/d/**/mid/*/'); statement error SELECT count(*) FROM 'test/sql/copy/csv/data/glob/crawl/d/**/mid/**/*.csv'; ---- -IO Error: Cannot use multiple '**' in one path +Cannot use multiple '**' in one path query I SELECT count(*) FROM 'test/sql/copy/csv/data/glob/crawl/d/**/???/*/*.csv'; @@ -112,7 +112,7 @@ SELECT count(*) FROM 'test/sql/copy/csv/data/glob/crawl/d/*/???/**/*.csv'; statement error SELECT count(*) FROM 'test/sql/copy/csv/data/glob/crawl/d/*/mid/**/*.csv'; ---- -IO Error: No files found that match the pattern +No files found that match the pattern query I SELECT count(*) FROM 'test/sql/copy/csv/data/glob/crawl/d/*/*/*/mid/**/*.csv'; @@ -132,7 +132,7 @@ SELECT count(*) FROM 'test/sql/copy/csv/data/glob/crawl/d/*/???/*.csv'; statement error SELECT count(*) FROM 'test/sql/copy/csv/data/glob/crawl/d/**/*/**/*.csv'; ---- -IO Error: Cannot use multiple '**' in one path +Cannot use multiple '**' in one path query I SELECT count(*) FROM 'test/sql/copy/csv/data/glob/crawl/d/**/d2?/*/*.csv'; @@ -162,7 +162,7 @@ SELECT count(*) FROM 'test/sql/copy/csv/data/glob/crawl/d/*/**/d?0/*.csv'; statement error SELECT count(*) FROM 'test/sql/copy/csv/data/glob/crawl/d/**/**/**/**/*.csv'; ---- -IO Error: Cannot use multiple '**' in one path +Cannot use multiple '**' in one path # Test with hidden files. By default python does not return hidden files, but duckdb does. query II @@ -316,4 +316,4 @@ FROM read_csv_auto('test/sql/copy/csv/data/glob/crawl/.symbolic_link/**'); statement error SELECT sum(column0) FROM read_csv('test/sql/copy/csv/data/glob/crawl/d/**/', auto_detect=1); ---- -IO Error: Could not read from file +Could not read from file diff --git a/test/sql/copy/csv/glob/read_csv_glob_s3.test b/test/sql/copy/csv/glob/read_csv_glob_s3.test index 5479d034240d..611b06b795fb 100644 --- a/test/sql/copy/csv/glob/read_csv_glob_s3.test +++ b/test/sql/copy/csv/glob/read_csv_glob_s3.test @@ -73,6 +73,7 @@ SELECT a, b LIKE '%a1.csv%' FROM read_csv('s3://test-bucket/read_csv_glob_s3/gl* # read-csv auto fails here because of a type mismatch: most files contain dates, but one file contains integers statement error SELECT * FROM read_csv('s3://test-bucket/read_csv_glob_s3/glob/*/*.csv', auto_detect=1) ORDER BY 1 +---- # forcing string parsing works query I @@ -116,6 +117,7 @@ SELECT COUNT(*) FROM glob('s3://test-bucket/read_csv_glob_s3/glob/[aei]*/*.csv') # nothing matches the glob statement error SELECT * FROM read_csv('s3://test-bucket/read_csv_glob_s3/glob/[aei]*/a*a.csv', auto_detect=1) ORDER BY 1 +---- query I SELECT COUNT(*) FROM glob('s3://test-bucket/read_csv_glob_s3/glob/[aei]*/a*a.csv') @@ -152,5 +154,6 @@ SELECT * FROM read_csv('s3://test-bucket/read_csv_glob_s3/glob/f*/f\*.csv', auto statement error SELECT * FROM read_csv('s3://test-bucket/read_csv_glob_s3/glob/e2/e[a].csv', auto_detect=1) ORDER BY 1 +---- -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/csv/inconsistent_cells_error.test b/test/sql/copy/csv/inconsistent_cells_error.test index be43cf74f720..c798d501f4d1 100644 --- a/test/sql/copy/csv/inconsistent_cells_error.test +++ b/test/sql/copy/csv/inconsistent_cells_error.test @@ -13,4 +13,4 @@ query IIIII from 'data/csv/inconsistent_cells.csv' ---- 1 2 3 4 5 -1 2 3 4 5 \ No newline at end of file +1 2 3 4 5 diff --git a/test/sql/copy/csv/integer_exponent.test b/test/sql/copy/csv/integer_exponent.test new file mode 100644 index 000000000000..711ac18560f8 --- /dev/null +++ b/test/sql/copy/csv/integer_exponent.test @@ -0,0 +1,13 @@ +# name: test/sql/copy/csv/integer_exponent.test +# description: Test exponents without decimal points +# group: [csv] + +statement ok +PRAGMA enable_verification + +query III +from 'data/csv/integer_exponent.csv' +---- +1 2 3.0 +4 5 6.0 +7 8 1e-07 diff --git a/test/sql/copy/csv/maximum_line_size.test_slow b/test/sql/copy/csv/maximum_line_size.test_slow index 7cef94a1cb12..63b9108ee921 100644 --- a/test/sql/copy/csv/maximum_line_size.test_slow +++ b/test/sql/copy/csv/maximum_line_size.test_slow @@ -8,31 +8,28 @@ PRAGMA enable_verification statement ok CREATE TABLE test (a INTEGER, b VARCHAR, c INTEGER); -foreach parallel_option true false - # Linesize exceeds maximum_line_size statement error -insert into test select * from read_csv('test/sql/copy/csv/data/test/test_long_line.csv', columns={'a': 'INTEGER', 'b': 'VARCHAR', 'c': 'INTEGER'}, maximum_line_size=0, parallel=${parallel_option}}); +insert into test select * from read_csv('test/sql/copy/csv/data/test/test_long_line.csv', columns={'a': 'INTEGER', 'b': 'VARCHAR', 'c': 'INTEGER'}, maximum_line_size=0); +---- # Single line too long # "a".repeat(2 * 1024 * 1024 + 10); statement error -select * from read_csv_auto('data/csv/issue_8320_1.csv.gz', parallel=${parallel_option}); +select * from read_csv_auto('data/csv/issue_8320_1.csv.gz'); ---- Maximum line size of 2097152 bytes exceeded # Single line too long, but with actual newline at the end # "a".repeat(2 * 1024 * 1024 + 10) + "\n"; statement error -select * from read_csv_auto('data/csv/issue_8320_2.csv.gz', parallel=${parallel_option}); +select * from read_csv_auto('data/csv/issue_8320_2.csv.gz'); ---- Maximum line size of 2097152 bytes exceeded # Multiple lines too long # String value = "a".repeat(2 * 1024 * 1024 + 10) + "\n"; String data = value + value + value + value; statement error -select * from read_csv_auto('data/csv/issue_8320_3.csv.gz', parallel=${parallel_option}); +select * from read_csv_auto('data/csv/issue_8320_3.csv.gz'); ---- -Maximum line size of 2097152 bytes exceeded - -endloop \ No newline at end of file +Maximum line size of 2097152 bytes exceeded \ No newline at end of file diff --git a/test/sql/copy/csv/null_padding_big.test b/test/sql/copy/csv/null_padding_big.test index 6a632c2ec223..513ec898b6a8 100644 --- a/test/sql/copy/csv/null_padding_big.test +++ b/test/sql/copy/csv/null_padding_big.test @@ -18,15 +18,15 @@ SELECT COUNT(*) FROM read_csv_auto('data/csv/nullpadding_big_mixed.csv', null_pa 2501 # one line that requires null padding -statement error -SELECT COUNT(*) FROM read_csv_auto('data/csv/nullpadding_big_mixed.csv', null_padding=False, ignore_errors=True, parallel = false) +query I +SELECT COUNT(*) FROM read_csv_auto('data/csv/nullpadding_big_mixed.csv', null_padding=False, ignore_errors=True) ---- -CSV options could not be auto-detected. Consider setting parser options manually. +2500 statement error -SELECT COUNT(*) FROM read_csv_auto('data/csv/nullpadding_big_mixed.csv', parallel=True) +SELECT COUNT(*) FROM read_csv_auto('data/csv/nullpadding_big_mixed.csv') ---- -Error in file "data/csv/nullpadding_big_mixed.csv" +Error when sniffing file "data/csv/nullpadding_big_mixed.csv". statement ok CREATE TABLE test2 (a VARCHAR, b INTEGER, c INTEGER, d INTEGER); @@ -38,18 +38,18 @@ SELECT COUNT(*) FROM read_csv_auto('data/csv/nullpadding_commas.csv', null_paddi 2500 query I -SELECT COUNT(*) FROM read_csv('data/csv/nullpadding_commas.csv', sep=',', header=True, columns={'a': INT, 'b': INT, 'c': INT, 'd': INT}, ignore_errors=True, null_padding=False) +SELECT COUNT(*) FROM read_csv('data/csv/nullpadding_commas.csv', sep=',', header=True, columns={'a': INT, 'b': INT, 'c': INT, 'd': INT}, ignore_errors=True, null_padding=False, auto_detect=false) ---- 2492 require notwindows statement error -SELECT COUNT(*) FROM read_csv_auto('data/csv/nullpadding_big_mixed.csv', parallel=True, buffer_size=55) +SELECT COUNT(*) FROM read_csv_auto('data/csv/nullpadding_big_mixed.csv', buffer_size=55) ---- CSV options could not be auto-detected. Consider setting parser options manually. statement error -SELECT COUNT(*) FROM read_csv_auto('data/csv/nullpadding_big_mixed.csv', parallel=True, buffer_size=55, null_padding=False) +SELECT COUNT(*) FROM read_csv_auto('data/csv/nullpadding_big_mixed.csv', buffer_size=55, null_padding=False) ---- -CSV options could not be auto-detected. Consider setting parser options manually. \ No newline at end of file +CSV options could not be auto-detected. Consider setting parser options manually. diff --git a/test/sql/copy/csv/null_value_wrong_type.test b/test/sql/copy/csv/null_value_wrong_type.test new file mode 100644 index 000000000000..1c5eb9c6c7d9 --- /dev/null +++ b/test/sql/copy/csv/null_value_wrong_type.test @@ -0,0 +1,15 @@ +# name: test/sql/copy/csv/null_value_wrong_type.test +# description: Issue of not properly detecting a type in combination of null values +# group: [csv] + +statement ok +PRAGMA enable_verification + +query IIIIII +describe from 'data/csv/null_mismatch.csv' +---- +id BIGINT YES NULL NULL NULL +name VARCHAR YES NULL NULL NULL +url VARCHAR YES NULL NULL NULL +type VARCHAR YES NULL NULL NULL +PartOfPlaceId BIGINT YES NULL NULL NULL \ No newline at end of file diff --git a/test/sql/copy/csv/overwrite/test_copy_overwrite.test b/test/sql/copy/csv/overwrite/test_copy_overwrite.test index fd5ab04eed07..2ed5fd6e5a9a 100644 --- a/test/sql/copy/csv/overwrite/test_copy_overwrite.test +++ b/test/sql/copy/csv/overwrite/test_copy_overwrite.test @@ -46,6 +46,7 @@ SELECT * FROM test ORDER BY 1; # test query returning error does not export to file statement error COPY (SELECT i FROM range(1) tbl(i) UNION ALL SELECT concat('hello', i)::INT i FROM range(1) tbl(i)) to '__TEST_DIR__/overwrite.csv'; +---- statement ok DELETE FROM test; @@ -65,8 +66,9 @@ SELECT * FROM test ORDER BY 1; # Test USE_TMP_FILE flag statement error COPY (SELECT i FROM range(1) tbl(i) UNION ALL SELECT concat('hello', i)::INT i FROM range(1) tbl(i)) to '__TEST_DIR__/overwrite.csv' (USE_TMP_FILE FALSE); +---- query I SELECT * FROM '__TEST_DIR__/overwrite.csv'; ---- -0 \ No newline at end of file +0 diff --git a/test/sql/copy/csv/parallel/csv_parallel_buffer_size.test b/test/sql/copy/csv/parallel/csv_parallel_buffer_size.test index af7bec63db39..d1c9d8ce5ee8 100644 --- a/test/sql/copy/csv/parallel/csv_parallel_buffer_size.test +++ b/test/sql/copy/csv/parallel/csv_parallel_buffer_size.test @@ -6,33 +6,24 @@ statement ok PRAGMA verify_parallelism -loop thr 1 8 - -statement ok -pragma threads=${thr} - -statement error -SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/multi_column_integer.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER'), auto_detect='true', delim = '|', buffer_size=5, parallel=True) ----- -Line does not fit in one buffer query III -SELECT sum(a), sum(b), sum(c) FROM read_csv('test/sql/copy/csv/data/test/multi_column_integer.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER'), auto_detect='true', delim = '|', buffer_size=30, parallel=True) +SELECT sum(a), sum(b), sum(c) FROM read_csv('test/sql/copy/csv/data/test/multi_column_integer.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER'), auto_detect='true', delim = '|', buffer_size=30) ---- 111111111 51866 3195 query I -SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/multi_column_integer.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER'), auto_detect='true', delim = '|', buffer_size=30, parallel=True) +SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/multi_column_integer.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER'), auto_detect='true', delim = '|', buffer_size=30) ---- 111111111 query I -SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/multi_column_integer_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER'), auto_detect='true', delim = '|', buffer_size=30, parallel=True) +SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/multi_column_integer_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER'), auto_detect='true', delim = '|', buffer_size=30) ---- 111111111 query IIII -select * from read_csv('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', buffer_size=25, parallel=True) +select * from read_csv('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', buffer_size=25) ---- 1 6370 371 p1 10 214 465 p2 @@ -45,7 +36,7 @@ select * from read_csv('test/sql/copy/csv/data/test/multi_column_string.csv', C 100000000 15519 785 p9 query IIII -select * from read_csv('test/sql/copy/csv/data/test/multi_column_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', buffer_size=25, parallel=True) +select * from read_csv('test/sql/copy/csv/data/test/multi_column_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', buffer_size=25) ---- 1 6370 371 p1 10 214 465 p2 @@ -58,35 +49,33 @@ select * from read_csv('test/sql/copy/csv/data/test/multi_column_string_rn.csv', 100000000 15519 785 p9 query I -SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', parallel=True) +SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|') ---- 111 query I -SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', buffer_size=60, parallel=True) +SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', buffer_size=80) ---- 111 query I -SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string_rn_exc.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', parallel=True) +SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string_rn_exc.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|') ---- 111 query I -SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string_rn_exc.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', buffer_size=60, parallel=True) +SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string_rn_exc.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', buffer_size=60) ---- 111 query I -SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', parallel=True) +SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|') ---- 111 query I -SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', buffer_size=60, parallel=True) +SELECT sum(a) FROM read_csv('test/sql/copy/csv/data/test/new_line_string.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='true', delim = '|', buffer_size=60) ---- 111 - -endloop \ No newline at end of file diff --git a/test/sql/copy/csv/parallel/csv_parallel_clickbench.test_slow b/test/sql/copy/csv/parallel/csv_parallel_clickbench.test_slow index 7be19d033602..529a24ae5c5b 100644 --- a/test/sql/copy/csv/parallel/csv_parallel_clickbench.test_slow +++ b/test/sql/copy/csv/parallel/csv_parallel_clickbench.test_slow @@ -2,6 +2,8 @@ # description: Test parallel read CSV function on Clickbench # group: [parallel] +mode skip + require parquet require httpfs @@ -9,9 +11,6 @@ require httpfs statement ok pragma threads=4 -#FIXME -mode skip - statement ok CREATE TABLE hits_og ( @@ -125,7 +124,7 @@ CREATE TABLE hits_og statement ok -INSERT INTO hits_og SELECT * FROM read_parquet('./hits.parquet'); +INSERT INTO hits_og SELECT * FROM read_parquet('https://github.com/duckdb/duckdb-data/releases/download/v1.0/hits.parquet'); statement ok COPY hits_og TO '__TEST_DIR__/hits.csv'; @@ -134,7 +133,7 @@ statement ok create table hits as select * from hits_og limit 0; statement ok -copy hits from '__TEST_DIR__/hits.csv' (HEADER 1); +copy hits from '__TEST_DIR__/hits.csv' (nullstr 'null'); #Q 01 query I diff --git a/test/sql/copy/csv/parallel/csv_parallel_httpfs.test b/test/sql/copy/csv/parallel/csv_parallel_httpfs.test index cf54da3a5008..9f1f49010e34 100644 --- a/test/sql/copy/csv/parallel/csv_parallel_httpfs.test +++ b/test/sql/copy/csv/parallel/csv_parallel_httpfs.test @@ -30,4 +30,4 @@ from read_csv_auto('https://github.com/duckdb/duckdb/raw/main/data/csv/customer. 7 AAAAAAAAHAAAAAAA 68377 3219 44814 2451438 2451408 Ms. Fonda Wiles N 24 4 1985 GAMBIA NULL Fonda.Wiles@S9KnyEtz9hv.org 2452360 8 AAAAAAAAIAAAAAAA 1215897 2471 16598 2449406 2449376 Sir Ollie Shipman N 26 12 1938 KOREA, REPUBLIC OF NULL Ollie.Shipman@be.org 2452334 9 AAAAAAAAJAAAAAAA 1168667 1404 49388 2452275 2452245 Sir Karl Gilbert N 26 10 1966 MONTSERRAT NULL Karl.Gilbert@Crg5KyP2IxX9C4d6.edu 2452454 -10 AAAAAAAAKAAAAAAA 1207553 5143 19580 2451353 2451323 Ms. Albert Brunson N 15 10 1973 JORDAN NULL Albert.Brunson@62.com 2452641 \ No newline at end of file +10 AAAAAAAAKAAAAAAA 1207553 5143 19580 2451353 2451323 Ms. Albert Brunson N 15 10 1973 JORDAN NULL Albert.Brunson@62.com 2452641 diff --git a/test/sql/copy/csv/parallel/csv_parallel_new_line.test_slow b/test/sql/copy/csv/parallel/csv_parallel_new_line.test_slow index abd37b968465..bb68069170bd 100644 --- a/test/sql/copy/csv/parallel/csv_parallel_new_line.test_slow +++ b/test/sql/copy/csv/parallel/csv_parallel_new_line.test_slow @@ -8,16 +8,12 @@ require vector_size 512 statement ok PRAGMA verify_parallelism -loop thr 1 8 - loop i 25 100 -statement ok -pragma threads=${thr} # Test read_csv auto with \n query IIII -select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', buffer_size=${i}, parallel=True) +select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', buffer_size=${i}) ---- 1 6370 371 p1 10 214 465 p2 @@ -31,7 +27,7 @@ select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv # Test read_csv auto with \r query IIII -select * from read_csv_auto('test/sql/copy/csv/data/auto/multi_column_string_r.csv', buffer_size=${i}, parallel=True) +select * from read_csv_auto('test/sql/copy/csv/data/auto/multi_column_string_r.csv', buffer_size=${i}) ---- 1 6370 371 p1 10 214 465 p2 @@ -45,7 +41,7 @@ select * from read_csv_auto('test/sql/copy/csv/data/auto/multi_column_string_r.c # Test read_csv auto with mix \r and \n query IIII -select * from read_csv_auto('test/sql/copy/csv/data/auto/multi_column_string_mix_r_n.csv', buffer_size=${i}, parallel=True) +select * from read_csv_auto('test/sql/copy/csv/data/auto/multi_column_string_mix_r_n.csv', buffer_size=${i}) ---- 1 6370 371 p1 10 214 465 p2 @@ -60,7 +56,7 @@ select * from read_csv_auto('test/sql/copy/csv/data/auto/multi_column_string_mix # Test read_csv auto with \r\n query IIII -select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string_rn.csv', buffer_size=${i}, header=False, parallel=True) +select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string_rn.csv', buffer_size=${i}, header=False) ---- 1 6370 371 p1 10 214 465 p2 @@ -74,11 +70,9 @@ select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string_rn. endloop -endloop - # Test read_csv auto with mix \r, \n and \r\n (This must always run single threaded) query IIII -select * from read_csv_auto('test/sql/copy/csv/data/auto/multi_column_string_mix.csv', parallel=True) +select * from read_csv_auto('test/sql/copy/csv/data/auto/multi_column_string_mix.csv') ---- 1 6370 371 p1 10 214 465 p2 @@ -94,18 +88,9 @@ select * from read_csv_auto('test/sql/copy/csv/data/auto/multi_column_string_mix # \r\n on windows, hence some of these pass when they should fail on windows. require notwindows -loop thr 2 8 - -statement ok -pragma threads=${thr} - -statement error -select * from read_csv('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='false', delim = '|', new_line = '\r\n', parallel=True) - - # Test read_csv with user defined variable query IIII -select * from read_csv('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='false', delim = '|', new_line = '\n', parallel=True) +select * from read_csv('test/sql/copy/csv/data/test/multi_column_string.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), auto_detect='false', delim = '|', new_line = '\n') ---- 1 6370 371 p1 10 214 465 p2 @@ -117,11 +102,8 @@ select * from read_csv('test/sql/copy/csv/data/test/multi_column_string.csv', C 10000000 12845 370 p8 100000000 15519 785 p9 -statement error -select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', new_line = '\r\n', parallel=True) - query IIII -select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', new_line = '\n', parallel=True) +select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', new_line = '\n') ---- 1 6370 371 p1 10 214 465 p2 @@ -134,6 +116,5 @@ select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv 100000000 15519 785 p9 statement error -select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', new_line = 'not_valid', parallel=True) - -endloop \ No newline at end of file +select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string.csv', new_line = 'not_valid') +---- diff --git a/test/sql/copy/csv/parallel/csv_parallel_null_option.test b/test/sql/copy/csv/parallel/csv_parallel_null_option.test index 32666e4e1496..c6b3c50fb0b9 100644 --- a/test/sql/copy/csv/parallel/csv_parallel_null_option.test +++ b/test/sql/copy/csv/parallel/csv_parallel_null_option.test @@ -40,10 +40,13 @@ SELECT a FROM exprtest WHERE a BETWEEN 43 AND 44 statement ok SELECT CASE a WHEN 42 THEN 100 WHEN 43 THEN 200 ELSE 300 END FROM exprtest +statement ok +PRAGMA profiling_output='__TEST_DIR__/test_2.json' + # At least one of the lines should contain the word "Optimizer" to verify that we're getting optimizer timings query T SELECT COUNT(*) > 0 -FROM read_csv('__TEST_DIR__/test.json', columns={'c': 'VARCHAR'}, delim=NULL, header=0, quote=NULL, escape=NULL) +FROM read_csv('__TEST_DIR__/test.json', columns={'c': 'VARCHAR'}, delim=NULL, header=0, quote=NULL, escape=NULL, auto_detect = false) WHERE contains(c, 'Optimizer'); ---- true diff --git a/test/sql/copy/csv/parallel/parallel_csv_union_by_name.test b/test/sql/copy/csv/parallel/parallel_csv_union_by_name.test index 5732625d7b20..22318c142fad 100644 --- a/test/sql/copy/csv/parallel/parallel_csv_union_by_name.test +++ b/test/sql/copy/csv/parallel/parallel_csv_union_by_name.test @@ -8,11 +8,6 @@ SET default_null_order='nulls_first'; statement ok PRAGMA verify_parallelism -loop thr 1 8 - -statement ok -pragma threads=${thr} - query IIII SELECT id, value, a, part @@ -104,4 +99,3 @@ NULL NULL NULL -endloop \ No newline at end of file diff --git a/test/sql/copy/csv/parallel/test_5438.test b/test/sql/copy/csv/parallel/test_5438.test index a7a43983e656..2f2e17adc641 100644 --- a/test/sql/copy/csv/parallel/test_5438.test +++ b/test/sql/copy/csv/parallel/test_5438.test @@ -9,7 +9,7 @@ statement ok PRAGMA verify_parallelism query I -SELECT j->>'duck' FROM read_csv_auto('test/sql/copy/csv/data/test/5438.csv', delim='', columns={'j': 'JSON'}) +SELECT j->>'duck' FROM read_csv_auto('test/sql/copy/csv/data/test/5438.csv', delim='', columns={'j': 'JSON'}, auto_detect = false) ---- 1 -2 \ No newline at end of file +2 diff --git a/test/sql/copy/csv/parallel/test_5566.test b/test/sql/copy/csv/parallel/test_5566.test index 6127551a0a94..916316569934 100644 --- a/test/sql/copy/csv/parallel/test_5566.test +++ b/test/sql/copy/csv/parallel/test_5566.test @@ -6,11 +6,6 @@ statement ok PRAGMA verify_parallelism -loop thr 1 8 - -statement ok -pragma threads=${thr} - query I select * from read_csv_auto('test/sql/copy/csv/data/auto/test_single_column.csv') ---- @@ -43,4 +38,3 @@ select foo, count(1) cnt from read_csv_auto('test/sql/copy/csv/data/auto/test_mu 2 100 3 98 -endloop \ No newline at end of file diff --git a/test/sql/copy/csv/parallel/test_7578.test b/test/sql/copy/csv/parallel/test_7578.test index 10233ad3e269..478ab897e189 100644 --- a/test/sql/copy/csv/parallel/test_7578.test +++ b/test/sql/copy/csv/parallel/test_7578.test @@ -6,11 +6,6 @@ statement ok PRAGMA verify_parallelism -loop thr 1 8 - -statement ok -pragma threads=${thr} - query IIIIIIIIII select * from read_csv('data/csv/bug_7578.csv', delim='\t', header=true, quote = '`', columns={ @@ -25,12 +20,11 @@ from read_csv('data/csv/bug_7578.csv', delim='\t', header=true, quote = '`', co 'tags.team_id':'INT', 'tags':'varchar' }, -parallel=true) order by all + auto_detect = false) order by all ---- 01GXBE9CMV5R0Q4TEXZ4XFXPQR 58 -1 3.91 41 2022-11-22 2023-04-06 01GXBE9CMV5R0Q4TEXZ4XFXPQR 58 {"_journalize_rule": "four score and seven years ago our fathers brought forth upon this continent a new nation conceived in liberty and dedicated to the proposition that all men are created equal. now we are engaged in a great civil war", "transaction_match_id": "1234567", "transaction id": "1234456", "job id": "", "transacting party": "customer", "user id": "1278729", "state": "NY", "event type": "Sale", "product name": "acme", "event description": "", "related transaction id": "11234813", "transaction created at": "2022-11-11T01:12:31", "created on": "2022-11-11T01:12:31", "last modified on": "2022-11-14T09:03:57", "base amount": "48.0000", "tax": "4.120000", "stripe payment id": "ch_1234567889", "stripe payment amount": "54.1100", "stripe payment date": "2022-11-14T09:03:55", "payment fail date": "", "write-off id": "", "write-off date": "", "write-off amount": "", "amount due": "0.0000"} 01GXBE9CMV5R0Q4TEXZ4XFXPQR 58 1 3.91 39 2022-11-22 2023-04-06 01GXBE9CMV5R0Q4TEXZ4XFXPQR 58 {"_journalize_rule": "four score and seven years ago our fathers brought forth upon this continent a new nation conceived in liberty and dedicated to the proposition that all men are created equal. now we are engaged in a great civil war", "transaction_match_id": "1234567", "transaction id": "1234456", "job id": "", "transacting party": "customer", "user id": "1278729", "state": "NY", "event type": "Sale", "product name": "acme", "event description": "", "related transaction id": "11234813", "transaction created at": "2022-11-11T01:12:31", "created on": "2022-11-11T01:12:31", "last modified on": "2022-11-14T09:03:57", "base amount": "48.0000", "tax": "4.120000", "stripe payment id": "ch_1234567889", "stripe payment amount": "54.1100", "stripe payment date": "2022-11-14T09:03:55", "payment fail date": "", "write-off id": "", "write-off date": "", "write-off amount": "", "amount due": "0.0000"} -endloop # FIXME: this fails randomly mode skip @@ -51,5 +45,5 @@ from read_csv('data/csv/bug_7578.csv', delim='\t', header=true, columns={ 'tags.transaction_id':'VARCHAR', 'tags.team_id':'INT', 'tags':'varchar' -}, -parallel=true) +}) +---- diff --git a/test/sql/copy/csv/parallel/test_7789.test b/test/sql/copy/csv/parallel/test_7789.test index 1c168ce0e4c7..4d389d1c81df 100644 --- a/test/sql/copy/csv/parallel/test_7789.test +++ b/test/sql/copy/csv/parallel/test_7789.test @@ -11,4 +11,4 @@ query I select count(*) from read_csv_auto('data/csv/CrashStatistics.csv', SAMPLE_SIZE = -1) ---- -4980 \ No newline at end of file +4980 diff --git a/test/sql/copy/csv/parallel/test_multiple_files.test b/test/sql/copy/csv/parallel/test_multiple_files.test index bf32dd263b40..ce873e22c5af 100644 --- a/test/sql/copy/csv/parallel/test_multiple_files.test +++ b/test/sql/copy/csv/parallel/test_multiple_files.test @@ -6,10 +6,6 @@ statement ok PRAGMA verify_parallelism -loop thr 1 8 - -statement ok -pragma threads=${thr} query IIII rowsort select * from read_csv_auto('test/sql/copy/csv/data/auto/glob/[0-9].csv'); @@ -248,4 +244,3 @@ select * from read_csv('test/sql/copy/csv/data/auto/glob/[0-9].csv', sample_size 8 8 1.8 eight 9 9 1.9 nine -endloop \ No newline at end of file diff --git a/test/sql/copy/csv/parallel/test_parallel_csv.test b/test/sql/copy/csv/parallel/test_parallel_csv.test index e6558b450686..b54098c5543d 100644 --- a/test/sql/copy/csv/parallel/test_parallel_csv.test +++ b/test/sql/copy/csv/parallel/test_parallel_csv.test @@ -2,34 +2,17 @@ # description: Test parallel read CSV function on ghub bugs # group: [parallel] -# force parallelism of the queries -statement ok -PRAGMA verify_parallelism - statement ok PRAGMA enable_verification - query III -select * from read_csv_auto('data/csv/dirty_line.csv', parallel = true, skip = 1) +select * from read_csv_auto('data/csv/dirty_line.csv', skip = 1) ---- 1.5 a 3 2.5 b 4 query II -explain select * from read_csv_auto('data/csv/dirty_line.csv', parallel = true, skip = 1) ----- -physical_plan :.*MULTI.* - - -query III -select * from read_csv_auto('data/csv/dirty_line.csv', parallel = false , skip = 1) ----- -1.5 a 3 -2.5 b 4 - -query II -select * from read_csv_auto('data/csv/null_string.csv', parallel = true, nullstr="null") +select * from read_csv_auto('data/csv/null_string.csv', nullstr="null") ---- 1 NULL NULL 2 @@ -37,28 +20,14 @@ NULL 2 # We need to add header = false here. Because with vector_size=2 the sniffer will think we have a header, since the # row 1 null has types INTEGER;VARCHAR at that point query II -select * from read_csv_auto('data/csv/null_string.csv', parallel = true, header = false) +select * from read_csv_auto('data/csv/null_string.csv', header = false) ---- a b 1 null null 2 - -query II -explain select * from read_csv_auto('data/csv/null_string.csv', parallel = true, nullstr="null") ----- -physical_plan :.*MULTI.* - - -query II -select * from read_csv_auto('data/csv/null_string.csv', parallel = false, nullstr="null") ----- -1 NULL -NULL 2 - - query IIIIIIIIII -select * from read_csv_auto('data/csv/aws_locations.csv', parallel = true) +select * from read_csv_auto('data/csv/aws_locations.csv') ---- IAD Washington District of Columbia United States US 20 38.94449997 -77.45580292 North America United States, Mexico, & Canada ORD Chicago Illinois United States US 20 41.978611 -87.904722 North America United States, Mexico, & Canada @@ -163,117 +132,6 @@ TPA Tampa Florida United States US 1 27.979722 -82.534722 North America United S PNQ Pune Maharashtra India IN 1 18.582222 73.919722 Asia India MCT Muscat Muscat Oman OM 1 23.6015386 58.2899376 Middle East South Africa, Kenya, & Middle East -query II -explain select * from read_csv_auto('data/csv/aws_locations.csv', parallel = true) ----- -physical_plan :.*MULTI.* - - -query IIIIIIIIII -select * from read_csv_auto('data/csv/aws_locations.csv', parallel = false) ----- -IAD Washington District of Columbia United States US 20 38.94449997 -77.45580292 North America United States, Mexico, & Canada -ORD Chicago Illinois United States US 20 41.978611 -87.904722 North America United States, Mexico, & Canada -JFK New York New York United States US 8 40.639801 -73.7789 North America United States, Mexico, & Canada -ATL Atlanta Georgia United States US 17 33.6367 -84.428101 North America United States, Mexico, & Canada -LAX Los Angeles California United States US 15 33.942501 -118.407997 North America United States, Mexico, & Canada -MIA Miami Florida United States US 11 25.79319953918457 -80.29060363769531 North America United States, Mexico, & Canada -DFW Dallas-Fort Worth Texas United States US 18 32.896801 -97.038002 North America United States, Mexico, & Canada -IAH Houston Texas United States US 6 29.984399795532227 -95.34140014648438 North America United States, Mexico, & Canada -SFO San Francisco California United States US 8 37.61899948120117 -122.375 North America United States, Mexico, & Canada -BOS Boston Massachusetts United States US 5 42.36429977 -71.00520325 North America United States, Mexico, & Canada -DEN Denver Colorado United States US 6 39.861698150635 -104.672996521 North America United States, Mexico, & Canada -PDX Portland Oregon United States US 2 45.58869934 -122.5979996 North America United States, Mexico, & Canada -SEA Seattle Washington United States US 6 47.448889 -122.309444 North America United States, Mexico, & Canada -MSP Minneapolis Minnesota United States US 4 44.882 -93.221802 North America United States, Mexico, & Canada -PHX Phoenix Arizona United States US 3 33.43429946899414 -112.01200103759766 North America United States, Mexico, & Canada -PHL Philadelphia Pennsylvania United States US 2 39.87189865112305 -75.24109649658203 North America United States, Mexico, & Canada -SLC Salt Lake City Utah United States US 1 40.78839874267578 -111.97799682617188 North America United States, Mexico, & Canada -BNA Nashville Tennessee United States US 2 36.1245002746582 -86.6781997680664 North America United States, Mexico, & Canada -DTW Detroit Michigan United States US 2 42.212398529052734 -83.35340118408203 North America United States, Mexico, & Canada -TPA Tampa Florida United States US 2 27.975500106811523 -82.533203125 North America United States, Mexico, & Canada -EWR Newark New Jersey United States US 10 40.692501068115234 -74.168701171875 North America United States, Mexico, & Canada -CMH Columbus Ohio United States US 2 39.998001 -82.891899 North America United States, Mexico, & Canada -MCI Kansas City Missouri United States US 2 39.2976 -94.713898 North America United States, Mexico, & Canada -QRO Queretaro NULL North America MX 1 20.6173 -100.185997 undefined null -FRA Frankfurt am Main NULL Germany DE 17 50.033333 8.570556 Europe Europe & Israel -DUS Düsseldorf NULL Germany DE 3 51.289501 6.76678 Europe Europe & Israel -HAM Hamburg NULL Germany DE 6 53.630401611328 9.9882297515869 Europe Europe & Israel -MUC Munich NULL Germany DE 4 48.353802 11.7861 Europe Europe & Israel -TXL Berlin NULL Germany DE 5 52.559722 13.287778 Europe Europe & Israel -CDG Paris NULL France FR 11 49.012798 2.55 Europe Europe & Israel -MRS Marseille NULL France FR 6 43.439271922 5.22142410278 Europe Europe & Israel -MXP Milan NULL Italy IT 9 45.6306 8.72811 Europe Europe & Israel -FCO Rome NULL Italy IT 6 41.8002778 12.2388889 Europe Europe & Israel -PMO Palermo NULL Italy IT 1 38.175999 13.091 Europe Europe & Israel -AMS Amsterdam NULL Netherlands NL 5 52.308601 4.76389 Europe Europe & Israel -MAN Manchester NULL UK GB 5 53.35369873046875 -2.2749500274658203 Europe Europe & Israel -LHR London NULL UK GB 25 51.4775 -0.461389 Europe Europe & Israel -DUB Dublin NULL Ireland IE 2 53.421299 -6.27007 Europe Europe & Israel -VIE Vienna NULL Austria AT 3 48.110298156738 16.569700241089 Europe Europe & Israel -ARN Stockholm NULL Sweden SE 4 59.651901245117 17.918600082397 Europe Europe & Israel -CPH Copenhagen NULL Denmark DK 3 55.617900848389 12.656000137329 Europe Europe & Israel -HEL Helsinki NULL Finland FI 4 60.317199707031 24.963300704956 Europe Europe & Israel -ATH Athens NULL Greece GR 1 37.9364013672 23.9444999695 Europe Europe & Israel -BRU Brussels NULL Belgium BE 1 50.901401519800004 4.48443984985 Europe Europe & Israel -BUD Budapest NULL Hungary HU 1 47.42976 19.261093 Europe Europe & Israel -LIS Lisbon NULL Portugal PT 1 38.7813 -9.13592 Europe Europe & Israel -OSL Oslo NULL Norway NO 2 60.193901062012 11.100399971008 Europe Europe & Israel -OTP Bucharest NULL Romania RO 1 44.5711111 26.085 Europe Europe & Israel -PRG Prague NULL Czech Republic CZ 1 50.1008 14.26 Europe Europe & Israel -SOF Sofia NULL Bulgaria BG 1 42.696693420410156 23.411436080932617 Europe Europe & Israel -WAW Warsaw NULL Poland PL 3 52.165833 20.967222 Europe Europe & Israel -ZAG Zagreb NULL Croatia HR 1 45.7429008484 16.0687999725 Europe Europe & Israel -ZRH Zurich NULL Switzerland CH 2 47.464699 8.54917 Europe Europe & Israel -BCN Barcelona NULL Spain ES 2 41.2971 2.07846 Europe Europe & Israel -MAD Madrid NULL Spain ES 10 40.471926 -3.56264 Europe Europe & Israel -DEL New Delhi NULL India IN 14 28.5665 77.103104 Asia India -MAA Chennai NULL India IN 8 12.990005493164062 80.16929626464844 Asia India -BOM Mumbai NULL India IN 8 19.0886993408 72.8678970337 Asia India -PNQ Pune NULL India IN 4 18.58209991455078 73.9197006225586 Asia India -BLR Bangalore NULL India IN 5 13.1979 77.706299 Asia India -HYD Hyderabad NULL India IN 5 17.231318 78.429855 Asia India -SIN Singapore NULL Singapore SG 7 1.35019 103.994003 Asia Hong Kong, Indonesia, Philippines, Singapore, South Korea, Taiwan, & Thailand -KIX Osaka NULL Japan JP 5 34.42729949951172 135.24400329589844 Asia Japan -NRT Tokyo NULL Japan JP 22 35.764702 140.386002 Asia Japan -TPE Taoyuan NULL Taiwan TW 3 25.0777 121.233002 Asia Hong Kong, Indonesia, Philippines, Singapore, South Korea, Taiwan, & Thailand -ICN Seoul NULL Korea KR 8 37.46910095214844 126.45099639892578 Asia Hong Kong, Indonesia, Philippines, Singapore, South Korea, Taiwan, & Thailand -BKK Bangkok NULL Thailand TH 2 13.689999 100.750114 Asia Hong Kong, Indonesia, Philippines, Singapore, South Korea, Taiwan, & Thailand -CCU Kolkata NULL India IN 2 22.654699325561523 88.44670104980469 Asia India -CGK Jakarta NULL Indonesia ID 5 -6.1255698204 106.65599823 Asia Hong Kong, Indonesia, Philippines, Singapore, South Korea, Taiwan, & Thailand -KUL Kuala Lumpur NULL Malaysia MY 2 2.745579957962 101.70999908447 Asia Hong Kong, Indonesia, Philippines, Singapore, South Korea, Taiwan, & Thailand -MNL Manila NULL Philippines PH 1 14.5086 121.019997 Asia Hong Kong, Indonesia, Philippines, Singapore, South Korea, Taiwan, & Thailand -HAN Hanoi NULL Vietnam VN 1 21.221200942993164 105.80699920654297 Asia Hong Kong, Indonesia, Philippines, Singapore, South Korea, Taiwan, & Thailand -SGN Ho Chi Minh City NULL Vietnam VN 1 10.8187999725 106.652000427 Asia Hong Kong, Indonesia, Philippines, Singapore, South Korea, Taiwan, & Thailand -SYD Sydney NULL Australia AU 4 -33.94609832763672 151.177001953125 Australia & New Zealand Australia & New Zealand -AKL Auckland NULL New Zealand NZ 2 -37.008098602299995 174.792007446 Australia & New Zealand Australia & New Zealand -MEL Melbourne NULL Australia AU 3 -37.673302 144.843002 Australia & New Zealand Australia & New Zealand -PER Perth NULL Australia AU 1 -31.94029998779297 115.96700286865234 Australia & New Zealand Australia & New Zealand -GRU Sao Paulo NULL Brazil BR 8 -23.435556 -46.473056 South America South America -GIG Rio De Janeiro NULL Brazil BR 5 -22.8099994659 -43.2505569458 South America South America -FOR Fortaleza NULL Brazil BR 4 -3.776279926300049 -38.53260040283203 South America South America -BOG Bogota NULL Colombia CO 3 4.70159 -74.1469 South America South America -EZE Buenos Aires NULL Argentina AR 2 -34.8222 -58.5358 South America South America -SCL Santiago NULL Chile CL 3 -33.393001556396484 -70.78579711914062 South America South America -LIM Lima NULL Peru PE 2 -12.0219 -77.114305 South America South America -TLV Tel Aviv NULL Israel IL 2 32.01139831542969 34.88669967651367 Middle East Europe & Israel -BAH Manama NULL Bahrain BH 2 26.27079963684082 50.63359832763672 Middle East South Africa, Kenya, & Middle East -DXB Dubai NULL UAE AE 1 25.2527999878 55.3643989563 Middle East South Africa, Kenya, & Middle East -FJR Fujairah NULL UAE AE 3 25.112222 56.324167 Middle East South Africa, Kenya, & Middle East -MCT Muscat NULL Oman OM 1 23.593299865722656 58.284400939941406 Middle East South Africa, Kenya, & Middle East -CPT Cape Town NULL South Africa ZA 1 -33.9648017883 18.6016998291 Africa South Africa, Kenya, & Middle East -JNB Johannesburg NULL South Africa ZA 1 -26.1392 28.246 Africa South Africa, Kenya, & Middle East -NBO Nairobi NULL Kenya KE 1 -1.31923997402 36.9277992249 Africa South Africa, Kenya, & Middle East -PVG Shanghai NULL China CN 1 31.143400192260742 121.80500030517578 China China -SZX Shenzhen NULL China CN 1 22.639299392700195 113.81099700927734 China China -ZHY Zhongwei NULL China CN 1 37.572778 105.154444 China China -PEK Beijing NULL China CN 1 40.080101013183594 116.58499908447266 China China -HKG Hong Kong NULL China HK 4 22.308901 113.915001 China China -CMH Columbus Ohio United States US 1 39.998056 -82.891944 North America United States, Mexico, & Canada -HIO Hillsboro Oregon United States US 1 45.540394 -122.949825 North America United States, Mexico, & Canada -TPA Tampa Florida United States US 1 27.979722 -82.534722 North America United States, Mexico, & Canada -PNQ Pune Maharashtra India IN 1 18.582222 73.919722 Asia India -MCT Muscat Muscat Oman OM 1 23.6015386 58.2899376 Middle East South Africa, Kenya, & Middle East require httpfs @@ -288,4 +146,4 @@ query II from read_csv_auto("https://duckdb-public-gzip-test.s3.us-east-2.amazonaws.com/test.csv.gz"); ---- 'foo' 'bar' -foo bar \ No newline at end of file +foo bar diff --git a/test/sql/copy/csv/parallel/test_parallel_error_messages.test b/test/sql/copy/csv/parallel/test_parallel_error_messages.test index ce7a0280837b..c3b4d3dd6071 100644 --- a/test/sql/copy/csv/parallel/test_parallel_error_messages.test +++ b/test/sql/copy/csv/parallel/test_parallel_error_messages.test @@ -11,21 +11,30 @@ PRAGMA verify_parallelism statement ok SET threads=4 +foreach batched true false + +statement ok +SET preserve_insertion_order=${batched} + +statement error +SELECT * FROM read_csv('data/csv/missing_column.csv', sep=',', buffer_size=100, columns={'h1': int, 'h2': varchar}, header=True, auto_detect = false) +---- +Line: 7 statement error -SELECT * FROM read_csv('data/csv/missing_column.csv', parallel=true, sep=',', buffer_size=100, columns={'h1': int, 'h2': varchar}, header=True) +SELECT * FROM read_csv('data/csv/wrongtype.csv', sep=',', buffer_size=100, columns={'h1': int, 'h2': varchar}, header=True) ---- -line 7 +Column at position: 0 Set type: INTEGER Sniffed type: VARCHAR statement error -SELECT * FROM read_csv('data/csv/wrongtype.csv', parallel=true, sep=',', buffer_size=100, columns={'h1': int, 'h2': varchar}, header=True) +SELECT * FROM read_csv('data/csv/wrongtype.csv', sep=',', buffer_size=100, columns={'h1': int, 'h2': varchar}, header=True, auto_detect = false) ---- -line 8 +Line: 8 statement error -SELECT * FROM read_csv('data/csv/wrongtype.csv', parallel=false, sep=',', columns={'h1': int, 'h2': varchar}, header=True) +SELECT * FROM read_csv('data/csv/wrongtype.csv', sep=',', columns={'h1': int, 'h2': varchar}, header=True) ---- -line 8 +Column at position: 0 Set type: INTEGER Sniffed type: VARCHAR # FIXME sporadically a few of these succeed mode skip @@ -130,3 +139,9 @@ statement error SELECT * FROM read_csv('data/csv/error/timestamp.csv', parallel=true, sep=',', buffer_size=100, columns={'h1': timestamp, 'h2': varchar}, header=True) ---- line 3002 + +endloop + +mode unskip + +endloop diff --git a/test/sql/copy/csv/parallel/test_parallel_option.test b/test/sql/copy/csv/parallel/test_parallel_option.test deleted file mode 100644 index 96f7b8f23bde..000000000000 --- a/test/sql/copy/csv/parallel/test_parallel_option.test +++ /dev/null @@ -1,83 +0,0 @@ -# name: test/sql/copy/csv/parallel/test_parallel_option.test -# description: Test parallel option works as intended -# group: [parallel] - -# force parallelism of the queries -statement ok -PRAGMA verify_parallelism - -statement ok -SET threads=4; - -# By default runs multi-threaded -query II -explain select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string_rn.csv') ----- -physical_plan :.*MULTI.* - -query II -explain select * from read_csv('test/sql/copy/csv/data/test/multi_column_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), delim = '|') ----- -physical_plan :.*MULTI-THREADED.* - -# But we can also run single-threaded -query II -explain select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string_rn.csv', parallel = 0) ----- -physical_plan :.*SINGLE.* - -query II -explain select * from read_csv('test/sql/copy/csv/data/test/multi_column_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), delim = '|', parallel = 0) ----- -physical_plan :.*SINGLE-THREADED.* - -# But we can also run multi-threaded explicitly -query II -explain select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string_rn.csv', parallel = 1) ----- -physical_plan :.*MULTI.* - -query II -explain select * from read_csv('test/sql/copy/csv/data/test/multi_column_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), delim = '|', parallel = 1) ----- -physical_plan :.*MULTI-THREADED.* - -# Must be a bool -statement error -select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string_rn.csv', parallel = '') ----- -Could not convert string '' to BOOL - - -statement ok -SET threads=1; - -query II -explain select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string_rn.csv') ----- -physical_plan :.*SINGLE.* - -query II -explain select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string_rn.csv', parallel = 0) ----- -physical_plan :.*SINGLE.* - -query II -explain select * from read_csv_auto('test/sql/copy/csv/data/test/multi_column_string_rn.csv', parallel = 1) ----- -physical_plan :.*MULTI.* - -query II -explain select * from read_csv('test/sql/copy/csv/data/test/multi_column_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), delim = '|') ----- -physical_plan :.*SINGLE.* - -query II -explain select * from read_csv('test/sql/copy/csv/data/test/multi_column_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), delim = '|', parallel=0) ----- -physical_plan :.*SINGLE.* - -query II -explain select * from read_csv('test/sql/copy/csv/data/test/multi_column_string_rn.csv', COLUMNS=STRUCT_PACK(a := 'INTEGER', b := 'INTEGER', c := 'INTEGER', d := 'VARCHAR'), delim = '|', parallel = 1) ----- -physical_plan :.*MULTI-THREADED.* \ No newline at end of file diff --git a/test/sql/copy/csv/rejects/csv_rejects_auto.test b/test/sql/copy/csv/rejects/csv_rejects_auto.test index e7e281db6a3a..10bcea6e6953 100644 --- a/test/sql/copy/csv/rejects/csv_rejects_auto.test +++ b/test/sql/copy/csv/rejects/csv_rejects_auto.test @@ -50,15 +50,13 @@ SELECT * FROM read_csv_auto( ---- REJECTS_LIMIT: cannot be negative -foreach PARALLEL true false query III SELECT typeof(first(column0)), typeof(first(column1)), COUNT(*) FROM read_csv_auto( 'test/sql/copy/csv/data/error/mismatch/big_bad*.csv', sample_size=3000, rejects_table='csv_rejects_table', - ignore_errors=true, - parallel=${PARALLEL}); + ignore_errors=true); ---- VARCHAR VARCHAR 11048 @@ -71,8 +69,7 @@ SELECT typeof(first(column0)), typeof(first(column1)), COUNT(*), SUM(column0), M 'test/sql/copy/csv/data/error/mismatch/big_bad*.csv', sample_size=1, rejects_table='csv_rejects_table', - ignore_errors=true, - parallel=${PARALLEL}); + ignore_errors=true); ---- BIGINT VARCHAR 11044 11044 2 @@ -96,8 +93,7 @@ SELECT SUM(COL1) FROM read_csv_auto( ignore_errors=true, sample_size=1, rejects_table='csv_rejects_table', - rejects_recovery_columns=['COL2'], - parallel=${PARALLEL}); + rejects_recovery_columns=['COL2']); ---- 5230 @@ -112,8 +108,7 @@ SELECT SUM(COL1) FROM read_csv_auto( ignore_errors=true, sample_size=1, rejects_table='csv_rejects_table', - rejects_recovery_columns=['COL2'], - parallel=${PARALLEL}); + rejects_recovery_columns=['COL2']); ---- 5418 @@ -128,8 +123,7 @@ SELECT SUM(COL1) FROM read_csv_auto( ignore_errors=true, sample_size=1, rejects_table='csv_rejects_table', - rejects_recovery_columns=['COL2'], - parallel=${PARALLEL}); + rejects_recovery_columns=['COL2']); ---- 4151 @@ -144,8 +138,7 @@ SELECT SUM(COL1) FROM read_csv_auto( ignore_errors=true, sample_size=1, rejects_table='csv_rejects_table', - rejects_recovery_columns=['COL2'], - parallel=${PARALLEL}); + rejects_recovery_columns=['COL2']); ---- 14799 @@ -170,8 +163,7 @@ SELECT SUM(num) FROM read_csv_auto( header=true, ignore_errors=true, sample_size=1, - rejects_table='csv_rejects_table', - parallel=${PARALLEL}); + rejects_table='csv_rejects_table') ---- 2464 @@ -189,7 +181,7 @@ CREATE TABLE tbl1 (col1 BIGINT, col2 VARCHAR); statement ok COPY tbl1 FROM 'test/sql/copy/csv/data/error/mismatch/half1.csv' -WITH (HEADER, IGNORE_ERRORS TRUE, PARALLEL ${PARALLEL}, SAMPLE_SIZE 1000, REJECTS_TABLE 'csv_rejects_table'); +WITH (HEADER, IGNORE_ERRORS TRUE, SAMPLE_SIZE 1000, REJECTS_TABLE 'csv_rejects_table'); query I SELECT SUM(col1) FROM tbl1; @@ -214,8 +206,7 @@ SELECT SUM(num) FROM read_csv_auto( header=true, ignore_errors=true, sample_size=1, - rejects_table='csv_rejects_table', - parallel=${PARALLEL}); + rejects_table='csv_rejects_table'); ---- 2542 @@ -232,7 +223,7 @@ CREATE TABLE tbl1 (col1 BIGINT, col2 VARCHAR); statement ok COPY tbl1 FROM 'test/sql/copy/csv/data/error/mismatch/half2.csv' -WITH (HEADER, IGNORE_ERRORS TRUE, PARALLEL ${PARALLEL}, SAMPLE_SIZE 1000, REJECTS_TABLE 'csv_rejects_table'); +WITH (HEADER, IGNORE_ERRORS TRUE, SAMPLE_SIZE 1000, REJECTS_TABLE 'csv_rejects_table'); query I SELECT SUM(col1) FROM tbl1; @@ -256,7 +247,7 @@ CREATE TABLE tbl1 (col1 BIGINT, col2 VARCHAR); statement ok COPY tbl1 FROM 'test/sql/copy/csv/data/error/mismatch/half2.csv' -WITH (HEADER, IGNORE_ERRORS TRUE, PARALLEL ${PARALLEL}, SAMPLE_SIZE 1000, REJECTS_TABLE 'csv_rejects_table', REJECTS_LIMIT 1337); +WITH (HEADER, IGNORE_ERRORS TRUE, SAMPLE_SIZE 1000, REJECTS_TABLE 'csv_rejects_table', REJECTS_LIMIT 1337); query I SELECT SUM(col1) FROM tbl1; @@ -274,5 +265,3 @@ DROP TABLE csv_rejects_table; statement ok DROP TABLE tbl1; - -endloop PARALLEL \ No newline at end of file diff --git a/test/sql/copy/csv/rejects/csv_rejects_read.test b/test/sql/copy/csv/rejects/csv_rejects_read.test index 65e2d3c16f8f..42fec65206fd 100644 --- a/test/sql/copy/csv/rejects/csv_rejects_read.test +++ b/test/sql/copy/csv/rejects/csv_rejects_read.test @@ -9,7 +9,7 @@ require vector_size 2048 # Test invalid arguments statement error SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/bad.csv', + 'test/sql/copy/csv/data/error/mismatch/bad.csv', columns = {'col0': 'INTEGER', 'col1': 'INTEGER', 'col2': 'VARCHAR'}, ignore_errors=false, rejects_table='csv_rejects_table' @@ -19,7 +19,7 @@ only supported when IGNORE_ERRORS is set to true statement error SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/bad.csv', + 'test/sql/copy/csv/data/error/mismatch/bad.csv', columns = {'col0': 'INTEGER', 'col1': 'INTEGER', 'col2': 'VARCHAR'}, ignore_errors=true, rejects_table='') @@ -28,7 +28,7 @@ REJECTS_TABLE option cannot be empty statement error SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/bad.csv', + 'test/sql/copy/csv/data/error/mismatch/bad.csv', columns = {'col0': 'INTEGER', 'col1': 'INTEGER', 'col2': 'VARCHAR'}, ignore_errors=true, rejects_table='csv_rejects_table', @@ -38,7 +38,7 @@ UNION_BY_NAME is set to true statement error SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/bad.csv', + 'test/sql/copy/csv/data/error/mismatch/bad.csv', columns = {'col0': 'INTEGER', 'col1': 'INTEGER', 'col2': 'VARCHAR'}, ignore_errors=true, rejects_limit=10) @@ -47,7 +47,7 @@ REJECTS_LIMIT option is only supported when REJECTS_TABLE is set to a table name statement error SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/bad.csv', + 'test/sql/copy/csv/data/error/mismatch/bad.csv', columns = {'col0': 'INTEGER', 'col1': 'INTEGER', 'col2': 'VARCHAR'}, ignore_errors=true, rejects_table='csv_rejects_table', @@ -55,21 +55,19 @@ SELECT * FROM read_csv( ---- REJECTS_LIMIT: cannot be negative -foreach PARALLEL true false - # Basic test query III rowsort SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/bad.csv', + 'test/sql/copy/csv/data/error/mismatch/bad.csv', columns = {'col0': 'INTEGER', 'col1': 'INTEGER', 'col2': 'VARCHAR'}, rejects_table='csv_rejects_table', - ignore_errors=true, parallel=${PARALLEL}); + ignore_errors=true, auto_detect=false); ---- 1 2 AAA 6 7 CCC query IIIIII rowsort -SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') +SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') FROM csv_rejects_table; ---- 2 1 "col1" BBB Could not convert string 'BBB' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/bad.csv @@ -80,15 +78,15 @@ DROP TABLE csv_rejects_table; # Test with multiple columns on the same row query III rowsort SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/bad2.csv', - columns = {'col0': 'INTEGER', 'col1': 'INTEGER', 'col2': 'INTEGER'}, + 'test/sql/copy/csv/data/error/mismatch/bad2.csv', + columns = {'col0': 'INTEGER', 'col1': 'INTEGER', 'col2': 'INTEGER'}, rejects_table='csv_rejects_table', - ignore_errors=true, parallel=${PARALLEL}); + ignore_errors=true, auto_detect=false); ---- 4 5 9 query IIIIII rowsort -SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') +SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') FROM csv_rejects_table; ---- 1 2 "col2" DDD Could not convert string 'DDD' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/bad2.csv @@ -101,10 +99,10 @@ DROP TABLE csv_rejects_table; # Test with multiple files query III rowsort SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/bad*.csv', - columns = {'col0': 'INTEGER', 'col1': 'INTEGER', 'col2': 'VARCHAR'}, + 'test/sql/copy/csv/data/error/mismatch/bad*.csv', + columns = {'col0': 'INTEGER', 'col1': 'INTEGER', 'col2': 'VARCHAR'}, rejects_table='csv_rejects_table', - ignore_errors=true, parallel=${PARALLEL}); + ignore_errors=true, auto_detect=false); ---- 1 2 AAA 1 2 DDD @@ -113,7 +111,7 @@ SELECT * FROM read_csv( query IIIIII rowsort -SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') +SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') FROM csv_rejects_table; ---- 2 1 "col1" BBB Could not convert string 'BBB' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/bad.csv @@ -126,11 +124,11 @@ DROP TABLE csv_rejects_table; query III rowsort SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/bad*.csv', + 'test/sql/copy/csv/data/error/mismatch/bad*.csv', columns = {'col0': 'INTEGER', 'col1': 'INTEGER', 'col2': 'VARCHAR'}, rejects_table='csv_rejects_table', rejects_limit=2, - ignore_errors=true, parallel=${PARALLEL}); + ignore_errors=true, auto_detect=false); ---- 1 2 AAA 1 2 DDD @@ -149,15 +147,15 @@ DROP TABLE csv_rejects_table; # Try with bigger files query I SELECT SUM(num) FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/big_bad.csv', + 'test/sql/copy/csv/data/error/mismatch/big_bad.csv', columns = {'num': 'INTEGER', 'str': 'VARCHAR'}, rejects_table='csv_rejects_table', - ignore_errors=true, parallel=${PARALLEL}); + ignore_errors=true, auto_detect=false); ---- 4270 query IIIIII rowsort -SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') +SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') FROM csv_rejects_table; ---- 2176 0 "num" B Could not convert string 'B' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/big_bad.csv @@ -168,15 +166,15 @@ DROP TABLE csv_rejects_table; query I SELECT SUM(num) FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/big_bad2.csv', + 'test/sql/copy/csv/data/error/mismatch/big_bad2.csv', columns = {'num': 'INTEGER', 'str': 'VARCHAR'}, rejects_table='csv_rejects_table', - ignore_errors=true, parallel=${PARALLEL}) + ignore_errors=true, auto_detect=false) ---- 6774 query IIIIII rowsort -SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') +SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') FROM csv_rejects_table; ---- 3680 0 "num" B Could not convert string 'B' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/big_bad2.csv @@ -188,15 +186,15 @@ DROP TABLE csv_rejects_table; # Test with multiple big files query I SELECT SUM(num) FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/big_*.csv', + 'test/sql/copy/csv/data/error/mismatch/big_*.csv', columns = {'num': 'INTEGER', 'str': 'VARCHAR'}, rejects_table='csv_rejects_table', - ignore_errors=true, parallel=${PARALLEL}); + ignore_errors=true, auto_detect=false); ---- 11044 query IIIIII rowsort -SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') +SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') FROM csv_rejects_table; ---- 2176 0 "num" B Could not convert string 'B' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/big_bad.csv @@ -209,35 +207,35 @@ DROP TABLE csv_rejects_table; # Test with multiple rejects table in the same query query IIII rowsort -SELECT * +SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/small1.csv', + 'test/sql/copy/csv/data/error/mismatch/small1.csv', header = true, columns = {'num': 'INTEGER', 'str': 'VARCHAR'}, rejects_table='csv_rejects_table_left', ignore_errors=true, - parallel=${PARALLEL}) as L + auto_detect=false) as L JOIN read_csv( 'test/sql/copy/csv/data/error/mismatch/small2.csv', header = true, columns = {'num': 'INTEGER', 'str': 'VARCHAR'}, rejects_table='csv_rejects_table_right', ignore_errors=true, - parallel=${PARALLEL}) as R + auto_detect=false) as R ON L.num = R.num; ---- 1 A 1 A 3 C 3 C query IIIIII rowsort -SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') +SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') FROM csv_rejects_table_left; ---- 3 0 "num" X Could not convert string 'X' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/small1.csv 6 0 "num" X Could not convert string 'X' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/small1.csv query IIIIII rowsort -SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') +SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') FROM csv_rejects_table_right; ---- 3 0 "num" X Could not convert string 'X' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/small2.csv @@ -252,14 +250,14 @@ DROP TABLE csv_rejects_table_right; # Test with multiple rejects table in the same query, with different limits # (only one reject should be logged in right table) query IIII rowsort -SELECT * +SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/small1.csv', + 'test/sql/copy/csv/data/error/mismatch/small1.csv', header = true, columns = {'num': 'INTEGER', 'str': 'VARCHAR'}, rejects_table='csv_rejects_table_left', ignore_errors=true, - parallel=${PARALLEL}) as L + auto_detect=false) as L JOIN read_csv( 'test/sql/copy/csv/data/error/mismatch/small2.csv', header = true, @@ -267,7 +265,7 @@ JOIN read_csv( rejects_table='csv_rejects_table_right', rejects_limit=1, ignore_errors=true, - parallel=${PARALLEL}) as R + auto_detect=false) as R ON L.num = R.num; ---- 1 A 1 A @@ -275,14 +273,14 @@ ON L.num = R.num; query IIIIII rowsort -SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') +SELECT "line", "column", "column_name", "parsed_value", "error", regexp_replace("file", '\\', '/', 'g') FROM csv_rejects_table_left; ---- 3 0 "num" X Could not convert string 'X' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/small1.csv 6 0 "num" X Could not convert string 'X' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/small1.csv query I -SELECT COUNT(*) +SELECT COUNT(*) FROM csv_rejects_table_right; ---- 1 @@ -293,4 +291,3 @@ DROP TABLE csv_rejects_table_left; statement ok DROP TABLE csv_rejects_table_right; -endloop \ No newline at end of file diff --git a/test/sql/copy/csv/rejects/csv_rejects_recovery.test b/test/sql/copy/csv/rejects/csv_rejects_recovery.test index d11e6d328e99..697e7c94a091 100644 --- a/test/sql/copy/csv/rejects/csv_rejects_recovery.test +++ b/test/sql/copy/csv/rejects/csv_rejects_recovery.test @@ -28,27 +28,39 @@ SELECT SUM(COL1) + SUM(COL3) FROM read_csv( ignore_errors=true ); ---- -REJECTS_RECOVERY_COLUMNS: column "NON_EXISTING_COLUMN" not found +CSV options could not be auto-detected. Consider setting parser options manually. -foreach PARALLEL true false +# Should not work without rejects_recovery_columns as list +statement error +SELECT SUM(COL1) + SUM(COL3) FROM read_csv( + 'test/sql/copy/csv/data/error/mismatch/part*.csv', + header=true, + columns = {COL3 :'INTEGER', COL1: 'INTEGER', COL2: 'VARCHAR'}, + rejects_table='csv_rejects_table', + rejects_recovery_columns=['NON_EXISTING_COLUMN'], + ignore_errors=true, + auto_detect=false +); +---- +REJECTS_RECOVERY_COLUMNS: column "NON_EXISTING_COLUMN" not found # Basic test query IIII rowsort SELECT * FROM read_csv( - 'test/sql/copy/csv/data/error/mismatch/example.tsv', + 'test/sql/copy/csv/data/error/mismatch/example.tsv', sep='\t', - columns = {'name': 'VARCHAR', 'age': 'INTEGER', 'id': 'INTEGER', 'count': 'INTEGER'}, + columns = {'name': 'VARCHAR', 'age': 'INTEGER', 'id': 'INTEGER', 'count': 'INTEGER'}, rejects_table='csv_rejects_table', rejects_recovery_columns=['name', 'age'], ignore_errors=true, - parallel=${PARALLEL} + auto_detect = false ); ---- alice 10 1 20 charlie 7 3 30 query IIIIIII rowsort -SELECT "line", "column", "column_name", "parsed_value", "recovery_columns", "error", regexp_replace("file", '\\', '/', 'g') +SELECT "line", "column", "column_name", "parsed_value", "recovery_columns", "error", regexp_replace("file", '\\', '/', 'g') FROM csv_rejects_table; ---- 2 3 "count" NOT_A_NUMBER {'name': bobby, 'age': 12} Could not convert string 'NOT_A_NUMBER' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/example.tsv @@ -65,7 +77,7 @@ SELECT SUM(COL1) FROM read_csv( rejects_table='csv_rejects_table', rejects_recovery_columns=['COL2'], ignore_errors=true, - parallel=${PARALLEL} + auto_detect = false ); ---- 14799 @@ -82,6 +94,4 @@ FROM csv_rejects_table; 5137 0 "COL1" C {'COL2': BAD1C} Could not convert string 'C' to 'INTEGER' test/sql/copy/csv/data/error/mismatch/part1.csv statement ok -DROP TABLE csv_rejects_table; - -endloop \ No newline at end of file +DROP TABLE csv_rejects_table; \ No newline at end of file diff --git a/test/sql/copy/csv/test_8890.test b/test/sql/copy/csv/test_8890.test index 4f08fed30870..73cdcdecf72b 100644 --- a/test/sql/copy/csv/test_8890.test +++ b/test/sql/copy/csv/test_8890.test @@ -5,11 +5,6 @@ statement ok PRAGMA enable_verification -loop thr 1 8 - -statement ok -pragma threads=${thr} - query IIII select field1, @@ -21,7 +16,8 @@ from read_csv('data/csv/hebere.csv.gz', header=0, columns={field1: varchar, field2: varchar, datum: varchar}, compression='gzip', - ignore_errors=0) + ignore_errors=0, + auto_detect = false) group by field1, field2 order by all limit 10; @@ -36,5 +32,3 @@ limit 10; 1190535873 1367352239003155038208 2020-12-31 2020-12-31 1190535873 1367352239003188592640 2020-12-31 2020-12-31 1190535873 1367352239003242856448 2020-12-31 2020-12-31 - -endloop \ No newline at end of file diff --git a/test/sql/copy/csv/test_allow_quoted_nulls_option.test b/test/sql/copy/csv/test_allow_quoted_nulls_option.test index eab0d3a4bbf6..810e3b7aa257 100644 --- a/test/sql/copy/csv/test_allow_quoted_nulls_option.test +++ b/test/sql/copy/csv/test_allow_quoted_nulls_option.test @@ -6,28 +6,23 @@ statement ok PRAGMA enable_verification # allow_quoted_nulls set as true by default - -foreach parallel true false - query II -SELECT * FROM read_csv_auto('test/sql/copy/csv/data/null_comparison.csv', parallel = ${parallel}); +SELECT * FROM read_csv_auto('test/sql/copy/csv/data/null_comparison.csv'); ---- 42 NULL NULL NULL 88 a query II -SELECT * FROM read_csv_auto('test/sql/copy/csv/data/null_comparison.csv', allow_quoted_nulls=False, parallel = ${parallel}); +SELECT * FROM read_csv_auto('test/sql/copy/csv/data/null_comparison.csv', allow_quoted_nulls=False); ---- 42 (empty) NULL NULL 88 a query II -SELECT * FROM read_csv_auto('test/sql/copy/csv/data/null_comparison.csv', allow_quoted_nulls=True, parallel = ${parallel}); +SELECT * FROM read_csv_auto('test/sql/copy/csv/data/null_comparison.csv', allow_quoted_nulls=True); ---- 42 NULL NULL NULL -88 a - -endloop \ No newline at end of file +88 a \ No newline at end of file diff --git a/test/sql/copy/csv/test_big_header.test b/test/sql/copy/csv/test_big_header.test index 9b4438f19c2b..6aae677279f0 100644 --- a/test/sql/copy/csv/test_big_header.test +++ b/test/sql/copy/csv/test_big_header.test @@ -9,7 +9,7 @@ statement ok CREATE TABLE test (foo INTEGER, bar VARCHAR(10), baz VARCHAR(10), bam VARCHAR(10)); query I -COPY test FROM 'test/sql/copy/csv/data/test/big_header.csv' (DELIMITER ' ', HEADER false, SKIP 3); +COPY test FROM 'test/sql/copy/csv/data/test/big_header.csv' (DELIMITER ' ', HEADER false, SKIP 2); ---- 3 @@ -19,7 +19,7 @@ SELECT COUNT(bam) FROM test WHERE bam = '!'; 3 query I -INSERT INTO test SELECT * FROM read_csv('test/sql/copy/csv/data/test/big_header.csv', HEADER=FALSE, SKIP=3, DELIM=' ', columns=STRUCT_PACK(foo := 'INTEGER', bar := 'VARCHAR', baz := 'VARCHAR', bam := 'VARCHAR')); +INSERT INTO test SELECT * FROM read_csv('test/sql/copy/csv/data/test/big_header.csv', HEADER=FALSE, SKIP=2, DELIM=' ', columns=STRUCT_PACK(foo := 'INTEGER', bar := 'VARCHAR', baz := 'VARCHAR', bam := 'VARCHAR')); ---- 3 @@ -29,7 +29,7 @@ SELECT COUNT(bam) FROM test WHERE bam = '!'; 6 query I -INSERT INTO test SELECT * FROM read_csv_auto('test/sql/copy/csv/data/test/big_header.csv', HEADER=FALSE, SKIP=3, DELIM=' '); +INSERT INTO test SELECT * FROM read_csv_auto('test/sql/copy/csv/data/test/big_header.csv', HEADER=FALSE, SKIP=2, DELIM=' '); ---- 3 diff --git a/test/sql/copy/csv/test_blob.test b/test/sql/copy/csv/test_blob.test index dd7c9f74099c..dadc74bcbd0f 100644 --- a/test/sql/copy/csv/test_blob.test +++ b/test/sql/copy/csv/test_blob.test @@ -8,8 +8,9 @@ statement ok CREATE TABLE blobs (b BYTEA); +# We must set auto_detect to 0 since blobs are not supported in auto-detection query I -COPY blobs FROM 'test/sql/copy/csv/data/test/blob.csv' (HEADER 0); +COPY blobs FROM 'test/sql/copy/csv/data/test/blob.csv' (HEADER 0, AUTO_DETECT 0); ---- 1 @@ -29,7 +30,7 @@ statement ok DELETE FROM blobs query I -COPY blobs FROM '__TEST_DIR__/blob.csv' (HEADER 1); +COPY blobs FROM '__TEST_DIR__/blob.csv' (HEADER 1, AUTO_DETECT 0); ---- 1 @@ -48,7 +49,7 @@ statement ok DELETE FROM blobs query I -COPY blobs FROM '__TEST_DIR__/blob.csv' (DELIMITER 'A', QUOTE 'B', ESCAPE 'C', HEADER 1); +COPY blobs FROM '__TEST_DIR__/blob.csv' (DELIMITER 'A', QUOTE 'B', ESCAPE 'C', HEADER 1, AUTO_DETECT 0); ---- 1 diff --git a/test/sql/copy/csv/test_bug_10273.test b/test/sql/copy/csv/test_bug_10273.test new file mode 100644 index 000000000000..b8cef2d3d34f --- /dev/null +++ b/test/sql/copy/csv/test_bug_10273.test @@ -0,0 +1,13 @@ +# name: test/sql/copy/csv/test_bug_10273.test +# description: Test bug from issue 10273 +# group: [csv] + +statement ok +PRAGMA enable_verification + +query II +FROM 'data/csv/bug_10273.csv' +---- +这是alice的苹果,所以你不能吃。 This is Alice's apple, so you can't eat it. +这是alice的苹果,所以你不能吃。 This is "Alice's apple", so you can't eat it. +这是alice的苹果,所以你不能吃。 This is "Alice's apple" so you can't eat it. \ No newline at end of file diff --git a/test/sql/copy/csv/test_bug_9952.test b/test/sql/copy/csv/test_bug_9952.test new file mode 100644 index 000000000000..93741f1ee905 --- /dev/null +++ b/test/sql/copy/csv/test_bug_9952.test @@ -0,0 +1,14 @@ +# name: test/sql/copy/csv/test_bug_9952.test +# description: Test bug from issue 9952 +# group: [csv] + +statement ok +PRAGMA enable_verification + +statement error +FROM 'data/csv/num.tsv.gz' +---- +Value with unterminated quote found. + +statement ok +FROM read_csv('data/csv/num.tsv.gz', sample_size=-1) diff --git a/test/sql/copy/csv/test_compression_flag.test b/test/sql/copy/csv/test_compression_flag.test index 4d27e99c55de..60cec11846d3 100644 --- a/test/sql/copy/csv/test_compression_flag.test +++ b/test/sql/copy/csv/test_compression_flag.test @@ -50,6 +50,7 @@ DROP TABLE lineitem statement error COPY lineitem FROM 'test/sql/copy/csv/data/test/test_comp.csv.gz' COMPRESSION 'none'; +---- statement ok diff --git a/test/sql/copy/csv/test_copy.test b/test/sql/copy/csv/test_copy.test index 3de7b740cc2d..fc1063eba222 100644 --- a/test/sql/copy/csv/test_copy.test +++ b/test/sql/copy/csv/test_copy.test @@ -52,6 +52,7 @@ CREATE TABLE test_too_few_rows (a INTEGER, b INTEGER, c VARCHAR, d INTEGER); statement error COPY test_too_few_rows FROM '__TEST_DIR__/test2.csv' (NULL_PADDING 0, HEADER 1); +---- # create CSV file from query query I @@ -100,52 +101,65 @@ SELECT * FROM test4 ORDER BY 1 LIMIT 3; # unsupported type for HEADER statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (SEP ',', HEADER 0.2); +---- # empty delimiter statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (SEP); +---- # number as delimiter statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (SEP 1); +---- # multiple format options statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (FORMAT 'csv', FORMAT 'json'); +---- # number as escape string statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (ESCAPE 1); +---- # no escape string statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (ESCAPE); +---- # number as quote string statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (QUOTE 1); +---- # no quote string statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (QUOTE); +---- # no format string statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (FORMAT); +---- # encoding must not be empty and must have the correct parameter type and value statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (ENCODING); +---- statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (ENCODING 42); +---- statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (ENCODING 'utf-42'); +---- # don't allow for non-existant copy options statement error COPY test4 (a,c) FROM '__TEST_DIR__/test4.csv' (MAGIC '42'); +---- # use a different delimiter # create new table @@ -163,6 +177,7 @@ COPY test FROM 'test/sql/copy/csv/data/test/test_pipe.csv' (SEPARATOR '|'); # throw exception if a line contains too many values statement error COPY test FROM 'test/sql/copy/csv/data/test/too_many_values.csv'; +---- # test default null string query I @@ -173,15 +188,17 @@ COPY test FROM 'test/sql/copy/csv/data/test/test_null_csv.csv' DELIMITER '|'; # test invalid UTF-8 statement error COPY test FROM 'test/sql/copy/csv/data/test/invalid_utf.csv' DELIMITER '|'; +---- # empty file statement ok CREATE TABLE empty_table (a INTEGER, b INTEGER, c VARCHAR(10)); -query I +statement error COPY empty_table FROM 'test/sql/copy/csv/data/test/empty.csv' (HEADER 0); ---- -0 +CSV options could not be auto-detected. Consider setting parser options manually. + # unterminated quotes statement ok @@ -190,7 +207,7 @@ CREATE TABLE unterminated (a VARCHAR); statement error COPY unterminated FROM 'test/sql/copy/csv/data/test/unterminated.csv' (HEADER 0, AUTO_DETECT FALSE); ---- -unterminated quotes. +Value with unterminated quote found. # 1024 rows (vector size) # load CSV file into a table diff --git a/test/sql/copy/csv/test_copy_null.test b/test/sql/copy/csv/test_copy_null.test index 02dbb5f303eb..952272c5164d 100644 --- a/test/sql/copy/csv/test_copy_null.test +++ b/test/sql/copy/csv/test_copy_null.test @@ -72,20 +72,25 @@ SELECT * FROM test_null_option ORDER BY 1 LIMIT 3; # invalid parameter type statement error COPY test_null_option FROM 'test/sql/copy/csv/data/test/test_null_option.csv' (NULL null); +---- # delimiter must not appear in the NULL specification statement error COPY test_null_option FROM 'test/sql/copy/csv/data/test/test_null_option.csv' (NULL 'null,', DELIMITER ','); +---- statement error COPY test_null_option FROM 'test/sql/copy/csv/data/test/test_null_option.csv' (DELIMITER 'null', NULL 'null'); +---- statement error COPY test_null_option FROM 'test/sql/copy/csv/data/test/test_null_option.csv' (DELIMITER 'null', NULL 'nu'); +---- # no parameter type statement error COPY test_null_option FROM 'test/sql/copy/csv/data/test/test_null_option.csv' (NULL); +---- # empty integer column with non-default NULL string statement ok @@ -93,6 +98,7 @@ CREATE TABLE test_null_option_2 (col_a INTEGER, col_b INTEGER, col_c VARCHAR(10) statement error COPY test_null_option_2 FROM 'test/sql/copy/csv/data/test/test_null_option.csv' (NULL 'null'); +---- # test COPY ... TO ... # implicitly using default NULL value diff --git a/test/sql/copy/csv/test_csv_duplicate_columns.test b/test/sql/copy/csv/test_csv_duplicate_columns.test index d7df991db3d5..f0893d9c2060 100644 --- a/test/sql/copy/csv/test_csv_duplicate_columns.test +++ b/test/sql/copy/csv/test_csv_duplicate_columns.test @@ -8,25 +8,25 @@ COPY (SELECT 1 as a, 2 as a, 3 as a) TO '__TEST_DIR__/dupe_cols.csv' (FORMAT CSV # The duplicate column(s) get `:{index}` appended to it query III -SELECT a, "a:1", "a:2" FROM '__TEST_DIR__/dupe_cols.csv'; +SELECT a, "a_1", "a_2" FROM '__TEST_DIR__/dupe_cols.csv'; ---- 1 2 3 # Original names are not preserved if a dupe appears first statement ok -COPY (SELECT 1 as a, 2 as a, 3 as "a:1") TO '__TEST_DIR__/dupe_cols.csv' (FORMAT CSV, HEADER); +COPY (SELECT 1 as a, 2 as a, 3 as "a_1") TO '__TEST_DIR__/dupe_cols.csv' (FORMAT CSV, HEADER); -# original 'a:1' is renamed to 'a:2' +# original 'a_1' is renamed to 'a_2' query III -SELECT a, "a:1", "a:1:1" FROM '__TEST_DIR__/dupe_cols.csv'; +SELECT a, "a_1", "a_1_1" FROM '__TEST_DIR__/dupe_cols.csv'; ---- 1 2 3 statement ok -COPY (SELECT 1 as a, 3 as "a:1", 2 as a) TO '__TEST_DIR__/dupe_cols.csv' (FORMAT CSV, HEADER); +COPY (SELECT 1 as a, 3 as "a_1", 2 as a) TO '__TEST_DIR__/dupe_cols.csv' (FORMAT CSV, HEADER); # Here the name is preserved, because it appears before the dupe query III -SELECT a, "a:1", "a:2" FROM '__TEST_DIR__/dupe_cols.csv'; +SELECT a, "a_1", "a_2" FROM '__TEST_DIR__/dupe_cols.csv'; ---- 1 3 2 diff --git a/test/sql/copy/csv/test_csv_httpfs.test b/test/sql/copy/csv/test_csv_httpfs.test index 307771a1add7..507dd80da980 100644 --- a/test/sql/copy/csv/test_csv_httpfs.test +++ b/test/sql/copy/csv/test_csv_httpfs.test @@ -348,4 +348,4 @@ select * from read_csv_auto('https://csvbase.com/meripaterson/stock-exchanges'); 248 North America United States of America Miami International Securities Exchange MIHI 2020-09-24 249 North America United States of America Members' Exchange NULL 2020-09-24 250 Africa Zimbabwe Victoria Falls Stock Exchange NULL 2020-11-01 -251 Asia China Beijing Stock Exchange NULL 2021-12-27 \ No newline at end of file +251 Asia China Beijing Stock Exchange NULL 2021-12-27 diff --git a/test/sql/copy/csv/test_csv_httpfs_prepared.test b/test/sql/copy/csv/test_csv_httpfs_prepared.test index ba7d7feb9969..cb426c33950a 100644 --- a/test/sql/copy/csv/test_csv_httpfs_prepared.test +++ b/test/sql/copy/csv/test_csv_httpfs_prepared.test @@ -8,9 +8,9 @@ statement ok PRAGMA enable_verification statement ok -PREPARE boaz_bug AS from read_csv_auto('https://github.com/duckdb/duckdb/raw/main/data/csv/customer.csv') +PREPARE boaz_bug AS from read_csv_auto('https://github.com/duckdb/duckdb/raw/main/data/csv/customer.csv') order by 1 -query IIIIIIIIIIIIIIIIII +query ITIIIIITTTTIIITTTI EXECUTE boaz_bug ---- 1 AAAAAAAABAAAAAAA 980124 7135 32946 2452238 2452208 Mr. Javier Lewis Y 9 12 1936 CHILE NULL Javier.Lewis@VFAxlnZEvOx.org 2452508 @@ -29,6 +29,7 @@ DEALLOCATE boaz_bug statement error EXECUTE boaz_bug +---- # Recreate prepared statement with different file @@ -38,7 +39,7 @@ mode skip statement ok PREPARE boaz_bug AS SELECT * from read_csv_auto('https://www.data.gouv.fr/fr/datasets/r/6d186965-f41b-41f3-9b23-88241cc6890c') order by all limit 5; -query IIIIII +query ITTRRR EXECUTE boaz_bug ---- 2020 Allemagne Germany 26.1 53196.069 200601.2 diff --git a/test/sql/copy/csv/test_csv_projection_pushdown.test b/test/sql/copy/csv/test_csv_projection_pushdown.test index e35a4584b506..420d3f3b3581 100644 --- a/test/sql/copy/csv/test_csv_projection_pushdown.test +++ b/test/sql/copy/csv/test_csv_projection_pushdown.test @@ -2,8 +2,44 @@ # description: Test CSV projection pushdown # group: [csv] -#statement ok -#PRAGMA enable_verification +statement ok +PRAGMA enable_verification + +query II +select l_returnflag, l_linenumber from read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', header=False, columns={ + 'l_orderkey': 'INT', + 'l_partkey': 'INT', + 'l_suppkey': 'INT', + 'l_linenumber': 'INT', + 'l_quantity': 'INTEGER', + 'l_extendedprice': 'DECIMAL(15,2)', + 'l_discount': 'DECIMAL(15,2)', + 'l_tax': 'DECIMAL(15,2)', + 'l_returnflag': 'VARCHAR(1)', + 'l_linestatus': 'VARCHAR(1)', + 'l_shipdate': 'DATE', + 'l_commitdate': 'DATE', + 'l_receiptdate': 'DATE', + 'l_shipinstruct': 'VARCHAR(25)', + 'l_shipmode': 'VARCHAR(10)', + 'l_comment': 'VARCHAR(44)' +}) +---- +N 1 +N 2 +N 3 +N 4 +N 5 +N 6 +N 1 +R 1 +R 2 +A 3 + +query I +SELECT COUNT(*) FROM 'test/sql/copy/csv/data/real/lineitem_sample.csv' +---- +10 statement ok CREATE VIEW lineitem_csv AS SELECT * FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|', header=False, columns={ diff --git a/test/sql/copy/csv/test_csv_remote.test b/test/sql/copy/csv/test_csv_remote.test index 0966eeb69951..12a2876c688a 100644 --- a/test/sql/copy/csv/test_csv_remote.test +++ b/test/sql/copy/csv/test_csv_remote.test @@ -6,18 +6,27 @@ require httpfs # regular csv file query ITTTIITITTIIII nosort webpagecsv -SELECT * FROM read_csv_auto('test/sql/copy/csv/data/real/web_page.csv'); +SELECT * FROM read_csv_auto('test/sql/copy/csv/data/real/web_page.csv') ORDER BY 1; ---- # file with gzip query IIIIIIIIIIIIIII nosort lineitemcsv -SELECT * FROM read_csv_auto('test/sql/copy/csv/data/lineitem1k.tbl.gz'); +SELECT * FROM read_csv_auto('test/sql/copy/csv/data/lineitem1k.tbl.gz') ORDER BY ALL; ---- query ITTTIITITTIIII nosort webpagecsv -SELECT * FROM read_csv_auto('https://raw.githubusercontent.com/duckdb/duckdb/main/test/sql/copy/csv/data/real/web_page.csv'); +SELECT * FROM read_csv_auto('https://raw.githubusercontent.com/duckdb/duckdb/main/test/sql/copy/csv/data/real/web_page.csv') ORDER BY 1; ---- query IIIIIIIIIIIIIII nosort lineitemcsv -select * from read_csv_auto('https://raw.githubusercontent.com/duckdb/duckdb/main/test/sql/copy/csv/data/lineitem1k.tbl.gz'); +select * from read_csv_auto('https://raw.githubusercontent.com/duckdb/duckdb/main/test/sql/copy/csv/data/lineitem1k.tbl.gz') ORDER BY ALL; ---- + +statement ok +PRAGMA enable_verification + +# Test load from url with query string +query IIIIIIIIIII +FROM sniff_csv('https://github.com/duckdb/duckdb/raw/main/data/csv/customer.csv?v=1') +---- +, " " \n 0 0 {'column00': 'BIGINT', 'column01': 'VARCHAR', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'BIGINT', 'column06': 'BIGINT', 'column07': 'VARCHAR', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'VARCHAR', 'column11': 'BIGINT', 'column12': 'BIGINT', 'column13': 'BIGINT', 'column14': 'VARCHAR', 'column15': 'VARCHAR', 'column16': 'VARCHAR', 'column17': 'BIGINT'} NULL NULL NULL FROM read_csv('https://github.com/duckdb/duckdb/raw/main/data/csv/customer.csv?v=1', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column00': 'BIGINT', 'column01': 'VARCHAR', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'BIGINT', 'column06': 'BIGINT', 'column07': 'VARCHAR', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'VARCHAR', 'column11': 'BIGINT', 'column12': 'BIGINT', 'column13': 'BIGINT', 'column14': 'VARCHAR', 'column15': 'VARCHAR', 'column16': 'VARCHAR', 'column17': 'BIGINT'}); diff --git a/test/sql/copy/csv/test_csv_remote.test_slow b/test/sql/copy/csv/test_csv_remote.test_slow index 198b15b86258..025b7e40b980 100644 --- a/test/sql/copy/csv/test_csv_remote.test_slow +++ b/test/sql/copy/csv/test_csv_remote.test_slow @@ -9,4 +9,4 @@ query IIIIII select count(*), min(strain), max(strain), min(strlen(sequence)), max(strlen(sequence)), avg(strlen(sequence)) from read_csv_auto('https://raw.githubusercontent.com/duckdb/duckdb/main/data/csv/sequences.csv.gz', delim=',', header=True); ---- -100000 ARG/Cordoba-1006-155/2020 tiger/NY/040420/2020 17340 30643 29821.264410 \ No newline at end of file +100000 ARG/Cordoba-1006-155/2020 tiger/NY/040420/2020 17340 30643 29821.264410 diff --git a/test/sql/copy/csv/test_dateformat.test b/test/sql/copy/csv/test_dateformat.test index 5ff656eb8bf7..03511dc80cae 100644 --- a/test/sql/copy/csv/test_dateformat.test +++ b/test/sql/copy/csv/test_dateformat.test @@ -9,7 +9,7 @@ CREATE TABLE dates (d DATE); statement error COPY dates FROM 'test/sql/copy/csv/data/test/dateformat.csv' (AUTO_DETECT 0, HEADER 0) ---- -line 1 +Line: 1 statement ok COPY dates FROM 'test/sql/copy/csv/data/test/dateformat.csv' (HEADER 0, DATEFORMAT '%d/%m/%Y') @@ -91,6 +91,8 @@ SELECT * FROM new_timestamps ORDER BY 1 # incorrect date/timestamp format results in an error statement error COPY dates FROM 'test/sql/copy/csv/data/test/dateformat.csv' (HEADER 0, DATEFORMAT '%') +---- statement error -COPY timestamps FROM 'test/sql/copy/csv/data/test/timestampformat.csv' (HEADER 0, DELIMITER '|', TIMESTAMPFORMAT '%') \ No newline at end of file +COPY timestamps FROM 'test/sql/copy/csv/data/test/timestampformat.csv' (HEADER 0, DELIMITER '|', TIMESTAMPFORMAT '%') +---- diff --git a/test/sql/copy/csv/test_empty_quote.test b/test/sql/copy/csv/test_empty_quote.test index 76f86fa1370c..c5732964f018 100644 --- a/test/sql/copy/csv/test_empty_quote.test +++ b/test/sql/copy/csv/test_empty_quote.test @@ -7,7 +7,7 @@ CREATE TABLE no_quote(a VARCHAR, b VARCHAR); # empty quote query I -COPY no_quote FROM 'test/sql/copy/csv/data/no_quote.csv' (HEADER 1, QUOTE '', ESCAPE '', AUTO_DETECT 1); +COPY no_quote FROM 'test/sql/copy/csv/data/no_quote.csv' (HEADER 1, QUOTE '', ESCAPE '', DELIM '|', AUTO_DETECT 0); ---- 3 diff --git a/test/sql/copy/csv/test_export_force_quotes.test b/test/sql/copy/csv/test_export_force_quotes.test index f3eb2c23e569..365a497cde68 100644 --- a/test/sql/copy/csv/test_export_force_quotes.test +++ b/test/sql/copy/csv/test_export_force_quotes.test @@ -23,4 +23,4 @@ import database '__TEST_DIR__/test_export'; query I select * from integers; ---- -42 \ No newline at end of file +42 diff --git a/test/sql/copy/csv/test_force_not_null.test b/test/sql/copy/csv/test_force_not_null.test index d948aa8fb64c..9de2bdd023b2 100644 --- a/test/sql/copy/csv/test_force_not_null.test +++ b/test/sql/copy/csv/test_force_not_null.test @@ -7,7 +7,7 @@ CREATE TABLE test (col_a INTEGER, col_b VARCHAR(10), col_c VARCHAR(10)); # test if null value is correctly converted into string query I -COPY test FROM 'test/sql/copy/csv/data/test/force_not_null.csv' (FORCE_NOT_NULL (col_b), NULL 'test'); +COPY test FROM 'test/sql/copy/csv/data/test/force_not_null.csv' (FORCE_NOT_NULL (col_b), NULL 'test', HEADER 0,allow_quoted_nulls false ); ---- 3 @@ -23,7 +23,7 @@ DELETE FROM test; # test if null value is correctly converted into string if explicit columns are used query I -COPY test (col_a, col_b, col_c) FROM 'test/sql/copy/csv/data/test/force_not_null.csv' (FORCE_NOT_NULL (col_b), NULL 'test'); +COPY test (col_a, col_b, col_c) FROM 'test/sql/copy/csv/data/test/force_not_null.csv' (FORCE_NOT_NULL (col_b), NULL 'test', HEADER 0, allow_quoted_nulls false); ---- 3 @@ -36,22 +36,27 @@ SELECT * FROM test ORDER BY 1; # FORCE_NOT_NULL is only supported in COPY ... FROM ... statement error -COPY test TO 'test/sql/copy/csv/data/test/force_not_null.csv' (FORCE_NOT_NULL (col_b), NULL 'test'); +COPY test TO 'test/sql/copy/csv/data/test/force_not_null.csv' (FORCE_NOT_NULL (col_b), NULL 'test', HEADER 0); +---- # FORCE_NOT_NULL must not be empty and must have the correct parameter type statement error COPY test FROM 'test/sql/copy/csv/data/test/force_not_null.csv' (FORCE_NOT_NULL, NULL 'test'); +---- statement error COPY test FROM 'test/sql/copy/csv/data/test/force_not_null.csv' (FORCE_NOT_NULL 42, NULL 'test'); +---- # test using a column in FORCE_NOT_NULL that is not set as output, but that is a column of the table statement error COPY test (col_b, col_a) FROM 'test/sql/copy/csv/data/test/force_not_null_reordered.csv' (FORCE_NOT_NULL (col_c, col_b)); +---- # test using a column in FORCE_NOT_NULL that is not a column of the table statement error COPY test FROM 'test/sql/copy/csv/data/test/force_not_null_reordered.csv' (FORCE_NOT_NULL (col_c, col_d)); +---- # FORCE_NOT_NULL fails on integer columns with NULL values, but only if there are null values query I @@ -61,4 +66,5 @@ COPY test FROM 'test/sql/copy/csv/data/test/force_not_null.csv' (FORCE_NOT_NULL statement error COPY test FROM 'test/sql/copy/csv/data/test/force_not_null_inull.csv' (FORCE_NOT_NULL (col_a), HEADER 0); - +---- +Error when converting column "col_a". diff --git a/test/sql/copy/csv/test_force_quote.test b/test/sql/copy/csv/test_force_quote.test index 929f3eb4895b..391e3cc9761f 100644 --- a/test/sql/copy/csv/test_force_quote.test +++ b/test/sql/copy/csv/test_force_quote.test @@ -64,19 +64,24 @@ SELECT * FROM test2 # test using a column in FORCE_QUOTE that is not set as output, but that is a column of the table statement error COPY test (col_b, col_a) TO '__TEST_DIR__/test_reorder.csv' (FORCE_QUOTE (col_c, col_b)); +---- # test using a column in FORCE_QUOTE that is not a column of the table statement error COPY test TO '__TEST_DIR__/test_reorder.csv' (FORCE_QUOTE (col_c, col_d)); +---- # FORCE_QUOTE is only supported in COPY ... TO ... statement error COPY test FROM '__TEST_DIR__/test_reorder.csv' (FORCE_QUOTE (col_c, col_d), HEADER 1); +---- # FORCE_QUOTE must not be empty and must have the correct parameter type statement error COPY test TO '__TEST_DIR__/test_reorder.csv' (FORCE_QUOTE); +---- statement error COPY test TO '__TEST_DIR__/test_reorder.csv' (FORCE_QUOTE 42); +---- diff --git a/test/sql/copy/csv/test_ignore_errors.test b/test/sql/copy/csv/test_ignore_errors.test index e77ea5811690..4066f039304e 100644 --- a/test/sql/copy/csv/test_ignore_errors.test +++ b/test/sql/copy/csv/test_ignore_errors.test @@ -2,6 +2,8 @@ # description: IGNORE_ERRORS test # group: [csv] +require vector_size 512 + statement ok CREATE TABLE integers(i INTEGER, j INTEGER); @@ -10,6 +12,7 @@ COPY integers FROM 'test/sql/copy/csv/data/test/error_too_little.csv' (HEADER, I statement error COPY integers FROM 'test/sql/copy/csv/data/test/error_too_little.csv' (HEADER, NULL_PADDING FALSE) +---- # not enough columns provided query II @@ -29,6 +32,7 @@ INSERT INTO integers SELECT * FROM read_csv('test/sql/copy/csv/data/test/error_t statement error INSERT INTO integers SELECT * FROM read_csv('test/sql/copy/csv/data/test/error_too_little.csv', columns={'i': 'INTEGER'}, header=1, null_padding=0) +---- # not enough columns provided query II @@ -48,6 +52,7 @@ COPY integers FROM 'test/sql/copy/csv/data/test/error_too_little_single.csv' (HE statement error COPY integers FROM 'test/sql/copy/csv/data/test/error_too_little_single.csv' (HEADER, NULL_PADDING 0) +---- # not enough columns provided, single value query II @@ -59,10 +64,12 @@ statement ok DELETE FROM integers; statement ok -COPY integers FROM 'test/sql/copy/csv/data/test/error_too_many.csv' (HEADER, IGNORE_ERRORS) +COPY integers FROM 'test/sql/copy/csv/data/test/error_too_many.csv' (HEADER, IGNORE_ERRORS, SAMPLE_SIZE -1) statement error COPY integers FROM 'test/sql/copy/csv/data/test/error_too_many.csv' (HEADER) +---- +CSV options could not be auto-detected. Consider setting parser options manually. # too many columns provided query II @@ -82,6 +89,7 @@ COPY integers FROM 'test/sql/copy/csv/data/test/error_invalid_type.csv' (HEADER, statement error COPY integers FROM 'test/sql/copy/csv/data/test/error_invalid_type.csv' (HEADER) +---- # too many columns provided query II @@ -97,9 +105,6 @@ statement ok CREATE TABLE nullable_type (col_a INTEGER, col_b VARCHAR(10), col_c VARCHAR(10), col_d VARCHAR(10)); statement ok -COPY nullable_type FROM 'test/sql/copy/csv/data/test/test_incompatible_type_with_nullable.csv' (IGNORE_ERRORS) - -statement error COPY nullable_type FROM 'test/sql/copy/csv/data/test/test_incompatible_type_with_nullable.csv' query IIII diff --git a/test/sql/copy/csv/test_ignore_errors_end_of_chunk.test b/test/sql/copy/csv/test_ignore_errors_end_of_chunk.test index d3f2b3e3688f..a686f723fd42 100644 --- a/test/sql/copy/csv/test_ignore_errors_end_of_chunk.test +++ b/test/sql/copy/csv/test_ignore_errors_end_of_chunk.test @@ -2,6 +2,40 @@ # description: IGNORE_ERRORS test # group: [csv] +# IGNORE_ERRORS and NULL_PADDING happens on the first vector during dialect detection, so it is likely that +# small vector sizes miss certain properties, resulting in different errors +require vector_size 2048 + +# Try without sniffing + +statement ok +CREATE TABLE integers(i INTEGER, j INTEGER); + +statement ok +COPY integers FROM 'test/sql/copy/csv/data/test/error_too_little_end_of_filled_chunk.csv' (HEADER, IGNORE_ERRORS, NULL_PADDING 0, AUTO_DETECT 0) + +statement error +COPY integers FROM 'test/sql/copy/csv/data/test/error_too_little_end_of_filled_chunk.csv' (HEADER, NULL_PADDING 0, AUTO_DETECT 0) +---- +Expected Number of Columns: 2 Found: 1 + +# not enough columns provided +query II +SELECT * FROM integers limit 1 +---- +1 1 + +query I +select count(*) from integers; +---- +1024 + +statement ok +DROP TABLE integers; + + +# Try with sniffing + statement ok CREATE TABLE integers(i INTEGER, j INTEGER); @@ -10,1032 +44,16 @@ COPY integers FROM 'test/sql/copy/csv/data/test/error_too_little_end_of_filled_c statement error COPY integers FROM 'test/sql/copy/csv/data/test/error_too_little_end_of_filled_chunk.csv' (HEADER, NULL_PADDING 0) +---- +CSV options could not be auto-detected. Consider setting parser options manually. # not enough columns provided query II -SELECT * FROM integers AS too_little_columns +SELECT * FROM integers limit 1 ---- 1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 + +query I +select count(*) from integers; +---- +1024 diff --git a/test/sql/copy/csv/test_issue3562_assertion.test b/test/sql/copy/csv/test_issue3562_assertion.test index 05e19d2648e0..1c13d02ca750 100644 --- a/test/sql/copy/csv/test_issue3562_assertion.test +++ b/test/sql/copy/csv/test_issue3562_assertion.test @@ -17,4 +17,4 @@ select objectid, name from test ORDER BY objectid limit 10 7.000 Branch 7 St & Brighton Beach Rd at SE corner 8.000 Branch 7 St & Brighton Beach Rd at SE corner 9.000 Ocean Pkwy & Brighton Beach Rd at NE corner -10.000 Ocean Pkwy & Brighton Beach Rd at NE corner \ No newline at end of file +10.000 Ocean Pkwy & Brighton Beach Rd at NE corner diff --git a/test/sql/copy/csv/test_many_columns.test b/test/sql/copy/csv/test_many_columns.test index cef88bd9e3bd..69c3eae1d273 100644 --- a/test/sql/copy/csv/test_many_columns.test +++ b/test/sql/copy/csv/test_many_columns.test @@ -9,4 +9,4 @@ statement ok CREATE TABLE t AS SELECT * FROM read_csv_auto('test/sql/copy/csv/data/manycolumns.csv'); statement ok -PRAGMA SHOW('t'); +SHOW t diff --git a/test/sql/copy/csv/test_max_line_size.test_slow b/test/sql/copy/csv/test_max_line_size.test_slow index 9f58d8b0806f..592ef4ad6172 100644 --- a/test/sql/copy/csv/test_max_line_size.test_slow +++ b/test/sql/copy/csv/test_max_line_size.test_slow @@ -23,7 +23,7 @@ CREATE TABLE test (a INTEGER, b VARCHAR, c INTEGER); statement error COPY test FROM '__TEST_DIR__/test.csv'; ---- -line 2 +Line: 2 # we can override the max line size statement ok @@ -31,4 +31,4 @@ COPY test FROM '__TEST_DIR__/test.csv' (max_line_size 10485770); # also in the read_csv call statement ok -INSERT INTO test SELECT * FROM read_csv_auto('__TEST_DIR__/test.csv', max_line_size=204857600); \ No newline at end of file +INSERT INTO test SELECT * FROM read_csv_auto('__TEST_DIR__/test.csv', max_line_size=204857600); diff --git a/test/sql/copy/csv/test_null_padding_projection.test b/test/sql/copy/csv/test_null_padding_projection.test new file mode 100644 index 000000000000..7df1f5d99dde --- /dev/null +++ b/test/sql/copy/csv/test_null_padding_projection.test @@ -0,0 +1,162 @@ +# name: test/sql/copy/csv/test_null_padding_projection.test +# description: Test CSV with nullpading interoping with other options and projection pushdown +# group: [csv] + +statement ok +PRAGMA enable_verification + +# Test simple null_padding, this will fail because we have a row with more columns that defined +statement error +from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER'}, auto_detect = false) +---- +Expected Number of Columns: 4 Found: 5 + +# Create a view +statement ok +CREATE VIEW np AS from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER'}, auto_detect = false, ignore_errors = true); + +# With ignore errors this should work, with last row being ignored +query IIII +from np +---- +10 100 1000 NULL +10 100 1000 10000 +10 NULL NULL NULL +10 100 NULL NULL + +# Try a couple projections +query I +select a from np +---- +10 +10 +10 +10 + +query II +select b,d from np +---- +100 NULL +100 10000 +NULL NULL +100 NULL + +# Now let's try with options that give a const value +query IIIII +from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER'}, auto_detect = false, ignore_errors = true, filename = true); +---- +10 100 1000 NULL data/csv/nullpadding.csv +10 100 1000 10000 data/csv/nullpadding.csv +10 NULL NULL NULL data/csv/nullpadding.csv +10 100 NULL NULL data/csv/nullpadding.csv + +query II +select a, filename from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER'}, auto_detect = false, ignore_errors = true, filename = true); +---- +10 data/csv/nullpadding.csv +10 data/csv/nullpadding.csv +10 data/csv/nullpadding.csv +10 data/csv/nullpadding.csv + +query I +select filename from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER'}, auto_detect = false, ignore_errors = true, filename = true); +---- +data/csv/nullpadding.csv +data/csv/nullpadding.csv +data/csv/nullpadding.csv +data/csv/nullpadding.csv + +query I +select a from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER'}, auto_detect = false, ignore_errors = true, filename = true); +---- +10 +10 +10 +10 + +# Let's try some filters + +query IIII +select * from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER'}, auto_detect = false, ignore_errors = true) +where b = 100; +---- +10 100 1000 NULL +10 100 1000 10000 +10 100 NULL NULL + + +query IIIII +select * from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER'}, auto_detect = false, ignore_errors = true, filename = true) +where a = 10 and d = 10000; +---- +10 100 1000 10000 data/csv/nullpadding.csv + +# Try All Columns +query IIIIII +select * from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER', 'e': 'INTEGER'}, auto_detect = false, filename = true) +where a = 10 and d = 10000; +---- +10 100 1000 10000 NULL data/csv/nullpadding.csv +10 100 1000 10000 100000 data/csv/nullpadding.csv + +query IIIII +select * from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER', 'e': 'INTEGER'}, auto_detect = false) +---- +10 100 1000 NULL NULL +10 100 1000 10000 NULL +10 NULL NULL NULL NULL +10 100 NULL NULL NULL +10 100 1000 10000 100000 + +# Try more columns +query IIIIII +select * from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER', 'e': 'INTEGER', 'f': 'INTEGER'}, auto_detect = false) +---- +10 100 1000 NULL NULL NULL +10 100 1000 10000 NULL NULL +10 NULL NULL NULL NULL NULL +10 100 NULL NULL NULL NULL +10 100 1000 10000 100000 NULL + +# Moreee +query IIIIIII +select * from read_csv('data/csv/nullpadding.csv',null_padding=true, columns={ +'a': 'INTEGER','b': 'INTEGER','c': 'INTEGER','d': 'INTEGER', 'e': 'INTEGER', 'f': 'INTEGER', 'g': 'INTEGER'}, auto_detect = false) +---- +10 100 1000 NULL NULL NULL NULL +10 100 1000 10000 NULL NULL NULL +10 NULL NULL NULL NULL NULL NULL +10 100 NULL NULL NULL NULL NULL +10 100 1000 10000 100000 NULL NULL + + +# Test Null Padding + Projection + Multiple files running Single Threaded +statement ok +set threads =1 + +statement ok +create view T as +SELECT SETTLEMENTDATE, DUID, I, filename, UNIT, CAST(LOWER6SEC AS DOUBLE) AS LOWER6SEC, CAST(LOWER6SECFLAGS AS DOUBLE) AS LOWER6SECFLAGS, CAST(LOWER60SECFLAGS AS DOUBLE) AS LOWER60SECFLAGS, CAST(RAISE5MINACTUALAVAILABILITY AS DOUBLE) AS RAISE5MINACTUALAVAILABILITY, CAST(INTERVENTION AS DOUBLE) AS INTERVENTION, CAST(LOWER5MINFLAGS AS DOUBLE) AS LOWER5MINFLAGS, CAST(RAISEREGAVAILABILITY AS DOUBLE) AS RAISEREGAVAILABILITY, CAST(LOWERREGACTUALAVAILABILITY AS DOUBLE) AS LOWERREGACTUALAVAILABILITY, CAST(VIOLATION60SECDEGREE AS DOUBLE) AS VIOLATION60SECDEGREE, CAST(LOWER60SEC AS DOUBLE) AS LOWER60SEC, CAST(MARGINAL5MINVALUE AS DOUBLE) AS MARGINAL5MINVALUE, CAST(RAISE60SEC AS DOUBLE) AS RAISE60SEC, CAST(RAMPUPRATE AS DOUBLE) AS RAMPUPRATE, CAST(TOTALCLEARED AS DOUBLE) AS TOTALCLEARED, CAST(VIOLATION5MINDEGREE AS DOUBLE) AS VIOLATION5MINDEGREE, CAST(LOWER6SECACTUALAVAILABILITY AS DOUBLE) AS LOWER6SECACTUALAVAILABILITY, CAST(AGCSTATUS AS DOUBLE) AS AGCSTATUS, CAST(RAISE60SECFLAGS AS DOUBLE) AS RAISE60SECFLAGS, CAST("VERSION" AS DOUBLE) AS "VERSION", CAST(RAISE5MINFLAGS AS DOUBLE) AS RAISE5MINFLAGS, CAST(LOWER60SECACTUALAVAILABILITY AS DOUBLE) AS LOWER60SECACTUALAVAILABILITY, CAST(RAMPDOWNRATE AS DOUBLE) AS RAMPDOWNRATE, CAST(RAISE6SECFLAGS AS DOUBLE) AS RAISE6SECFLAGS, CAST(RAISE60SECACTUALAVAILABILITY AS DOUBLE) AS RAISE60SECACTUALAVAILABILITY, CAST(VIOLATIONDEGREE AS DOUBLE) AS VIOLATIONDEGREE, CAST(RAISE5MIN AS DOUBLE) AS RAISE5MIN, CAST(MARGINALVALUE AS DOUBLE) AS MARGINALVALUE, CAST(LOWERREGFLAGS AS DOUBLE) AS LOWERREGFLAGS, CAST(RAISEREG AS DOUBLE) AS RAISEREG, CAST(LOWERREGENABLEMENTMIN AS DOUBLE) AS LOWERREGENABLEMENTMIN, CAST(LOWERREGENABLEMENTMAX AS DOUBLE) AS LOWERREGENABLEMENTMAX, CAST(DISPATCHMODE AS DOUBLE) AS DISPATCHMODE, CAST(VIOLATION6SECDEGREE AS DOUBLE) AS VIOLATION6SECDEGREE, CAST(LOWERREG AS DOUBLE) AS LOWERREG, CAST(LOWERREGAVAILABILITY AS DOUBLE) AS LOWERREGAVAILABILITY, CAST(RAISEREGACTUALAVAILABILITY AS DOUBLE) AS RAISEREGACTUALAVAILABILITY, CAST(RAISEREGFLAGS AS DOUBLE) AS RAISEREGFLAGS, CAST(MARGINAL60SECVALUE AS DOUBLE) AS MARGINAL60SECVALUE, CAST(LOWER5MINACTUALAVAILABILITY AS DOUBLE) AS LOWER5MINACTUALAVAILABILITY, CAST(RAISEREGENABLEMENTMAX AS DOUBLE) AS RAISEREGENABLEMENTMAX, CAST(INITIALMW AS DOUBLE) AS INITIALMW, CAST(AVAILABILITY AS DOUBLE) AS AVAILABILITY, CAST(RUNNO AS DOUBLE) AS RUNNO, CAST(RAISE6SECACTUALAVAILABILITY AS DOUBLE) AS RAISE6SECACTUALAVAILABILITY, CAST(MARGINAL6SECVALUE AS DOUBLE) AS MARGINAL6SECVALUE, CAST(RAISE6SEC AS DOUBLE) AS RAISE6SEC, CAST(XX AS DOUBLE) AS XX, CAST(RAISEREGENABLEMENTMIN AS DOUBLE) AS RAISEREGENABLEMENTMIN, CAST(LOWER5MIN AS DOUBLE) AS LOWER5MIN FROM (SELECT * +FROM read_csv(main.list_value('data/csv/public_daily_sample.csv','data/csv/public_daily_sample.csv','data/csv/public_daily_sample.csv') +, ("Skip" = 1), ("header" = 0), (all_varchar = 1), ("columns" = main.struct_pack(I := 'VARCHAR', UNIT := 'VARCHAR', XX := 'VARCHAR', "VERSION" := 'VARCHAR', SETTLEMENTDATE := 'VARCHAR', RUNNO := 'VARCHAR', DUID := 'VARCHAR', INTERVENTION := 'VARCHAR', DISPATCHMODE := 'VARCHAR', AGCSTATUS := 'VARCHAR', INITIALMW := 'VARCHAR', TOTALCLEARED := 'VARCHAR', RAMPDOWNRATE := 'VARCHAR', RAMPUPRATE := 'VARCHAR', LOWER5MIN := 'VARCHAR', LOWER60SEC := 'VARCHAR', LOWER6SEC := 'VARCHAR', RAISE5MIN := 'VARCHAR', RAISE60SEC := 'VARCHAR', RAISE6SEC := 'VARCHAR', MARGINAL5MINVALUE := 'VARCHAR', MARGINAL60SECVALUE := 'VARCHAR', MARGINAL6SECVALUE := 'VARCHAR', MARGINALVALUE := 'VARCHAR', VIOLATION5MINDEGREE := 'VARCHAR', VIOLATION60SECDEGREE := 'VARCHAR', VIOLATION6SECDEGREE := 'VARCHAR', VIOLATIONDEGREE := 'VARCHAR', LOWERREG := 'VARCHAR', RAISEREG := 'VARCHAR', AVAILABILITY := 'VARCHAR', RAISE6SECFLAGS := 'VARCHAR', RAISE60SECFLAGS := 'VARCHAR', RAISE5MINFLAGS := 'VARCHAR', RAISEREGFLAGS := 'VARCHAR', LOWER6SECFLAGS := 'VARCHAR', LOWER60SECFLAGS := 'VARCHAR', LOWER5MINFLAGS := 'VARCHAR', LOWERREGFLAGS := 'VARCHAR', RAISEREGAVAILABILITY := 'VARCHAR', RAISEREGENABLEMENTMAX := 'VARCHAR', RAISEREGENABLEMENTMIN := 'VARCHAR', LOWERREGAVAILABILITY := 'VARCHAR', LOWERREGENABLEMENTMAX := 'VARCHAR', LOWERREGENABLEMENTMIN := 'VARCHAR', RAISE6SECACTUALAVAILABILITY := 'VARCHAR', RAISE60SECACTUALAVAILABILITY := 'VARCHAR', RAISE5MINACTUALAVAILABILITY := 'VARCHAR', RAISEREGACTUALAVAILABILITY := 'VARCHAR', LOWER6SECACTUALAVAILABILITY := 'VARCHAR', LOWER60SECACTUALAVAILABILITY := 'VARCHAR', LOWER5MINACTUALAVAILABILITY := 'VARCHAR', LOWERREGACTUALAVAILABILITY := 'VARCHAR')), (filename = 1), (null_padding = CAST('t' AS BOOLEAN)), (ignore_errors = 1), (auto_detect = CAST('f' AS BOOLEAN))) WHERE ((I = 'D') AND (UNIT = 'DUNIT'))); + +statement ok +create view T_2 as +SELECT * EXCLUDE (SETTLEMENTDATE, XX, filename, I), CAST(SETTLEMENTDATE AS TIMESTAMP) AS SETTLEMENTDATE, split(filename, '/')[8] AS file, isoyear(CAST(SETTLEMENTDATE AS TIMESTAMP)) AS "YEAR" FROM T + + +query I +select count(*) from T_2 +---- +8349 \ No newline at end of file diff --git a/test/sql/copy/csv/test_null_padding_union.test b/test/sql/copy/csv/test_null_padding_union.test new file mode 100644 index 000000000000..fa6b91ba7a8b --- /dev/null +++ b/test/sql/copy/csv/test_null_padding_union.test @@ -0,0 +1,46 @@ +# name: test/sql/copy/csv/test_null_padding_union.test +# description: Test CSV with null padding and union by name +# group: [csv] + +statement ok +SET default_null_order='nulls_first'; + +statement ok +create view v as +SELECT a, b, c, d +FROM read_csv('data/csv/union-by-name/null_padding/*.csv', UNION_BY_NAME=TRUE, sample_size = 1, null_padding = 1) +ORDER BY a,b,c,d + +query IIII +select * from v limit 10; +---- +NULL NULL NULL 1 +1 NULL NULL NULL +1 2 NULL NULL +1 2 3 NULL +1 2 3 NULL +1 2 3 NULL +1 2 3 NULL +1 2 3 NULL +1 2 3 NULL +1 2 3 NULL + +query I +select count(*) from v where a is null +---- +1 + +query I +select count(*) from v where b is null +---- +3 + +query I +select count(*) from v where c is null +---- +2906 + +query I +select count(*) from v where d is null +---- +2904 \ No newline at end of file diff --git a/test/sql/copy/csv/test_parallel_nullpadding.test b/test/sql/copy/csv/test_parallel_nullpadding.test new file mode 100644 index 000000000000..bf52b80026fe --- /dev/null +++ b/test/sql/copy/csv/test_parallel_nullpadding.test @@ -0,0 +1,35 @@ +# name: test/sql/copy/csv/test_parallel_nullpadding.test +# description: Test NullPadding in parallel +# group: [csv] + +# These will work, because we will only fail if the quoted new value happens between buffers or thread boundaries +query I +select count(*) from read_csv('data/csv/evil_nullpadding.csv', delim = ';', quote = '"', null_padding = True, header = 0) +---- +3 + +query I +select count(*) from read_csv('data/csv/evil_nullpadding_2.csv', delim = ';', quote = '"', null_padding = True, header = 0) +---- +3 + +# If we force the buffer to break in the middle of the quotes, we can't read this. +statement error +select * from read_csv('data/csv/evil_nullpadding.csv', delim = ';', quote = '"', null_padding = True, header = 0, buffer_size = 30) +---- +The parallel scanner does not support null_padding in conjunction with quoted new lines. Please disable the parallel csv reader with parallel=false + +statement error +select count(*) from read_csv('data/csv/evil_nullpadding.csv', delim = ';', quote = '"', null_padding = True, header = 0, buffer_size = 27) +---- +The parallel scanner does not support null_padding in conjunction with quoted new lines. Please disable the parallel csv reader with parallel=false + +statement error +select count(*) from read_csv('data/csv/evil_nullpadding.csv', delim = ';', quote = '"', null_padding = True, header = 0, buffer_size = 30) +---- +The parallel scanner does not support null_padding in conjunction with quoted new lines. Please disable the parallel csv reader with parallel=false + +statement error +select * from read_csv('data/csv/evil_nullpadding_2.csv', delim = ';', quote = '"', null_padding = True, header = 0, buffer_size = 26) +---- +The parallel scanner does not support null_padding in conjunction with quoted new lines. Please disable the parallel csv reader with parallel=false diff --git a/test/sql/copy/csv/test_prefix_suffix.test b/test/sql/copy/csv/test_prefix_suffix.test index b83ca745e9aa..2a8d244369e3 100644 --- a/test/sql/copy/csv/test_prefix_suffix.test +++ b/test/sql/copy/csv/test_prefix_suffix.test @@ -15,4 +15,4 @@ HEADER cannot be combined with PREFIX/SUFFIX statement error copy (select 42) to '__TEST_DIR__/file.csv' (escape 'null', null 'null'); ---- -The escape option cannot exceed a size of 1 byte. \ No newline at end of file +The escape option cannot exceed a size of 1 byte. diff --git a/test/sql/copy/csv/test_read_csv.test b/test/sql/copy/csv/test_read_csv.test index 914bdd853138..fe2b11f37721 100644 --- a/test/sql/copy/csv/test_read_csv.test +++ b/test/sql/copy/csv/test_read_csv.test @@ -5,17 +5,18 @@ statement ok PRAGMA enable_verification +query I +FROM read_csv_auto('test/sql/copy/csv/data/test/dateformat.csv') +---- +2019-06-05 + # dateformat statement ok CREATE TABLE dates (d DATE); # base date format does not work here -statement error -INSERT INTO dates SELECT * FROM read_csv('test/sql/copy/csv/data/test/dateformat.csv', columns=STRUCT_PACK(d := 'DATE'), header=0) - -# have to specify it ourselves statement ok -INSERT INTO dates SELECT * FROM read_csv('test/sql/copy/csv/data/test/dateformat.csv', columns=STRUCT_PACK(d := 'DATE'), header=0, dateformat='%d/%m/%Y') +INSERT INTO dates SELECT * FROM read_csv('test/sql/copy/csv/data/test/dateformat.csv', columns=STRUCT_PACK(d := 'DATE'), header=0) query I SELECT * FROM dates @@ -35,7 +36,7 @@ SELECT * FROM dates ORDER BY 1 # we can also do this for timestamps # as long as we make the date format fail statement ok -CREATE TABLE timestamps AS SELECT * FROM read_csv_auto('test/sql/copy/csv/data/test/dateformat.csv', dateformat='%Y-%m-%d', timestampformat='%m/%d/%Y') +CREATE TABLE timestamps AS SELECT * FROM read_csv_auto('test/sql/copy/csv/data/test/dateformat.csv', timestampformat='%m/%d/%Y', columns=STRUCT_PACK(d := 'TIMESTAMP')) query I SELECT * FROM timestamps @@ -66,4 +67,5 @@ SELECT l_partkey, RTRIM(l_comment) FROM lineitem WHERE l_orderkey=1 ORDER BY l_l # wrong argument type statement error SELECT * FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', sep='|', columns=STRUCT_PACK(l_orderkey := 5)) +---- diff --git a/test/sql/copy/csv/test_replacement_scan_alias.test b/test/sql/copy/csv/test_replacement_scan_alias.test index 0fe1ee874fb4..a8e63e45c440 100644 --- a/test/sql/copy/csv/test_replacement_scan_alias.test +++ b/test/sql/copy/csv/test_replacement_scan_alias.test @@ -25,4 +25,4 @@ select blob.ids from 'data/parquet-testing/blob.parquet' require json statement ok -select example_n.id from 'data/json/example_n.ndjson' \ No newline at end of file +select example_n.id from 'data/json/example_n.ndjson' diff --git a/test/sql/copy/csv/test_skip_bom.test b/test/sql/copy/csv/test_skip_bom.test index 6e8011812411..73e65194060c 100644 --- a/test/sql/copy/csv/test_skip_bom.test +++ b/test/sql/copy/csv/test_skip_bom.test @@ -29,4 +29,4 @@ Person Region Anna Andreadi West Chuck Magee East Kelly Williams Central -Cassandra Brandow South \ No newline at end of file +Cassandra Brandow South diff --git a/test/sql/copy/csv/test_skip_header.test b/test/sql/copy/csv/test_skip_header.test index 8c106295c574..c89961bb6102 100644 --- a/test/sql/copy/csv/test_skip_header.test +++ b/test/sql/copy/csv/test_skip_header.test @@ -17,4 +17,4 @@ FROM read_csv_auto('data/csv/skip_header.csv', columns={'a': 'INT32', 'b': 'INT3 ---- 1 2 3 4 5 6 -7 8 9 \ No newline at end of file +7 8 9 diff --git a/test/sql/copy/csv/test_sniff_csv.test b/test/sql/copy/csv/test_sniff_csv.test new file mode 100644 index 000000000000..34a00fcc9e48 --- /dev/null +++ b/test/sql/copy/csv/test_sniff_csv.test @@ -0,0 +1,112 @@ +# name: test/sql/copy/csv/test_sniff_csv.test +# description: Test sniff_csv function +# group: [csv] + +statement ok +PRAGMA enable_verification + +# requires notwindows because tests will return \r\n to be used in the parameters +require notwindows + +query I +SELECT Prompt FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv'); +---- +FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'}, dateformat='%Y-%m-%d'); + +query IIIIIIIIIIIIIIII +FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'}, dateformat='%Y-%m-%d') limit 1; +---- +1 15519 785 1 17 24386.67 0.04 0.02 N O 1996-03-13 1996-02-12 1996-03-22 DELIVER IN PERSON TRUCK egular courts above the + +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv'); +---- +| " " \n 0 0 {'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'} %Y-%m-%d NULL NULL FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'}, dateformat='%Y-%m-%d'); + +# Test Invalid Path +statement error +FROM sniff_csv('test/sql/copy/csv/data/real/non_ecziste.csv'); +---- +Cannot open file "test/sql/copy/csv/data/real/non_ecziste.csv": No such file or directory + +# Test different sample sizes + +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/error/mismatch/big_bad.csv', sample_size=1); +---- +, " " \n 0 0 {'column0': 'BIGINT', 'column1': 'VARCHAR'} NULL NULL sample_size=1 FROM read_csv('test/sql/copy/csv/data/error/mismatch/big_bad.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column0': 'BIGINT', 'column1': 'VARCHAR'}, sample_size=1); + +statement error +FROM read_csv('test/sql/copy/csv/data/error/mismatch/big_bad.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=0, columns={'column0': 'BIGINT', 'column1': 'VARCHAR'}, sample_size=1); +---- +Conversion Error: CSV Error on Line: 2176 + +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/error/mismatch/big_bad.csv', sample_size=10000); +---- +, " " \n 0 0 {'column0': 'VARCHAR', 'column1': 'VARCHAR'} NULL NULL sample_size=10000 FROM read_csv('test/sql/copy/csv/data/error/mismatch/big_bad.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column0': 'VARCHAR', 'column1': 'VARCHAR'}, sample_size=10000); + +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/error/mismatch/big_bad.csv', sample_size=-1); +---- +, " " \n 0 false {'column0': 'VARCHAR', 'column1': 'VARCHAR'} NULL NULL sample_size=-1 FROM read_csv('test/sql/copy/csv/data/error/mismatch/big_bad.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column0': 'VARCHAR', 'column1': 'VARCHAR'}, sample_size=-1); + +# Test with defined time and timestamp +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/test/dateformat.csv') +---- +, " " \n 0 0 {'column0': 'DATE'} %d/%m/%Y NULL NULL FROM read_csv('test/sql/copy/csv/data/test/dateformat.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column0': 'DATE'}, dateformat='%d/%m/%Y'); + +query I +FROM read_csv('test/sql/copy/csv/data/test/dateformat.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column0': 'DATE'}, dateformat='%d/%m/%Y'); +---- +2019-06-05 + + +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/auto/time_date_timestamp_yyyy.mm.dd.csv') +---- +, " " \n 0 1 {'a': 'BIGINT', 'b': 'VARCHAR', 't': 'TIME', 'd': 'DATE', 'ts': 'TIMESTAMP'} %Y.%m.%d %Y.%m.%d %H:%M:%S NULL FROM read_csv('test/sql/copy/csv/data/auto/time_date_timestamp_yyyy.mm.dd.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=true, columns={'a': 'BIGINT', 'b': 'VARCHAR', 't': 'TIME', 'd': 'DATE', 'ts': 'TIMESTAMP'}, dateformat='%Y.%m.%d', timestampformat='%Y.%m.%d %H:%M:%S'); + +query IIIII +FROM read_csv('test/sql/copy/csv/data/auto/time_date_timestamp_yyyy.mm.dd.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=true, columns={'a': 'BIGINT', 'b': 'VARCHAR', 't': 'TIME', 'd': 'DATE', 'ts': 'TIMESTAMP'}, dateformat='%Y.%m.%d', timestampformat='%Y.%m.%d %H:%M:%S'); +---- +123 TEST2 12:12:12 2000-01-01 2000-01-01 12:12:00 +345 TEST2 14:15:30 2002-02-02 2002-02-02 14:15:00 +346 TEST2 15:16:17 2004-12-13 2004-12-13 15:16:00 + +# Test with dirty rows +query IIIIIIIIIII +FROM sniff_csv('data/csv/inconsistent_cells.csv') +---- +, " " \n 3 0 {'column0': 'BIGINT', 'column1': 'BIGINT', 'column2': 'BIGINT', 'column3': 'BIGINT', 'column4': 'BIGINT'} NULL NULL NULL FROM read_csv('data/csv/inconsistent_cells.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=3, header=false, columns={'column0': 'BIGINT', 'column1': 'BIGINT', 'column2': 'BIGINT', 'column3': 'BIGINT', 'column4': 'BIGINT'}); + +query IIIII +FROM read_csv('data/csv/inconsistent_cells.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=3, header=false, columns={'column0': 'BIGINT', 'column1': 'BIGINT', 'column2': 'BIGINT', 'column3': 'BIGINT', 'column4': 'BIGINT'}); +---- +1 2 3 4 5 +1 2 3 4 5 + +# Test Header and quote ' +query IIIIIIIIIII +FROM sniff_csv('data/csv/timings.csv') +---- +| " " \n 0 1 {'tool': 'VARCHAR', 'sf': 'BIGINT', 'day': 'DATE', 'batch_type': 'VARCHAR', 'q': 'VARCHAR', 'parameters': 'VARCHAR', 'time': 'DOUBLE'} %Y-%m-%d NULL NULL FROM read_csv('data/csv/timings.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=true, columns={'tool': 'VARCHAR', 'sf': 'BIGINT', 'day': 'DATE', 'batch_type': 'VARCHAR', 'q': 'VARCHAR', 'parameters': 'VARCHAR', 'time': 'DOUBLE'}, dateformat='%Y-%m-%d'); + +query IIIIIII +FROM read_csv('data/csv/timings.csv', auto_detect=false, delim='|', quote='"', escape='\', new_line='\n', skip=0, header=true, columns={'tool': 'VARCHAR', 'sf': 'BIGINT', 'day': 'DATE', 'batch_type': 'VARCHAR', 'q': 'VARCHAR', 'parameters': 'VARCHAR', 'time': 'DOUBLE'}, dateformat='%Y-%m-%d') order by all limit 1; +---- +Umbra 100 2012-11-29 power 1 {"datetime": "2010-02-26T03:51:21.000+00:00"} 0.05473947525024414 + +# Test backslash option +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/auto/backslash_escape.csv') +---- +| " \ \n 0 false {'column0': 'BIGINT', 'column1': 'VARCHAR', 'column2': 'VARCHAR'} NULL NULL NULL FROM read_csv('test/sql/copy/csv/data/auto/backslash_escape.csv', auto_detect=false, delim='|', quote='"', escape='\', new_line='\n', skip=0, header=false, columns={'column0': 'BIGINT', 'column1': 'VARCHAR', 'column2': 'VARCHAR'}); + +query III +FROM read_csv('test/sql/copy/csv/data/auto/backslash_escape.csv', auto_detect=false, delim='|', quote='"', escape='\', new_line='\n', skip=0, header=false, columns={'column0': 'BIGINT', 'column1': 'VARCHAR', 'column2': 'VARCHAR'}); +---- +123 TEST7 text1 +345 TEST7 text"2" +567 TEST7 text3 diff --git a/test/sql/copy/csv/test_sniff_csv_options.test b/test/sql/copy/csv/test_sniff_csv_options.test new file mode 100644 index 000000000000..1d7eea80d56b --- /dev/null +++ b/test/sql/copy/csv/test_sniff_csv_options.test @@ -0,0 +1,130 @@ +# name: test/sql/copy/csv/test_sniff_csv_options.test +# description: Test sniff_csv function with user set options +# group: [csv] + +# requires notwindows because tests will return \r\n to be used in the parameters +require notwindows + +# Test user giving wrong option +statement error +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim = ','); +---- +CSV options could not be auto-detected. Consider setting parser options manually. + +# Test user giving options that are also sniffed + +# delimiter +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', delim='|'); +---- +| " " \n 0 false {'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'} %Y-%m-%d NULL delim='|' FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'}, dateformat='%Y-%m-%d', delim='|'); + +# quote +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', quote='"'); +---- +| " " \n 0 0 {'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'} %Y-%m-%d NULL quote='"' FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'}, dateformat='%Y-%m-%d', quote='"'); + +# escape +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', escape='"'); +---- +| " " \n 0 0 {'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'} %Y-%m-%d NULL escape='"' FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', quote='"', new_line='\n', skip=0, header=false, columns={'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'}, dateformat='%Y-%m-%d', escape='"'); + +# column names +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', escape='"'); +---- +| " " \n 0 0 {'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'} %Y-%m-%d NULL escape='"' FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', quote='"', new_line='\n', skip=0, header=false, columns={'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'}, dateformat='%Y-%m-%d', escape='"'); + +# column names and types +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', names=['c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'c10', 'c11', 'c12', 'c13', 'c14', 'c15', 'c16']); +---- +| " " \n 0 false {'c1': 'BIGINT', 'c2': 'BIGINT', 'c3': 'BIGINT', 'c4': 'BIGINT', 'c5': 'BIGINT', 'c6': 'DOUBLE', 'c7': 'DOUBLE', 'c8': 'DOUBLE', 'c9': 'VARCHAR', 'c10': 'VARCHAR', 'c11': 'DATE', 'c12': 'DATE', 'c13': 'DATE', 'c14': 'VARCHAR', 'c15': 'VARCHAR', 'c16': 'VARCHAR'} %Y-%m-%d NULL names=['c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'c10', 'c11', 'c12', 'c13', 'c14', 'c15', 'c16'] FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'c1': 'BIGINT', 'c2': 'BIGINT', 'c3': 'BIGINT', 'c4': 'BIGINT', 'c5': 'BIGINT', 'c6': 'DOUBLE', 'c7': 'DOUBLE', 'c8': 'DOUBLE', 'c9': 'VARCHAR', 'c10': 'VARCHAR', 'c11': 'DATE', 'c12': 'DATE', 'c13': 'DATE', 'c14': 'VARCHAR', 'c15': 'VARCHAR', 'c16': 'VARCHAR'}, dateformat='%Y-%m-%d', names=['c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'c10', 'c11', 'c12', 'c13', 'c14', 'c15', 'c16']); + + +query IIIIIIIIIIIIIIII +FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'c1': 'BIGINT', 'c2': 'BIGINT', 'c3': 'BIGINT', 'c4': 'BIGINT', 'c5': 'BIGINT', 'c6': 'DOUBLE', 'c7': 'DOUBLE', 'c8': 'DOUBLE', 'c9': 'VARCHAR', 'c10': 'VARCHAR', 'c11': 'DATE', 'c12': 'DATE', 'c13': 'DATE', 'c14': 'VARCHAR', 'c15': 'VARCHAR', 'c16': 'VARCHAR'}, dateformat='%Y-%m-%d', names=['c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'c10', 'c11', 'c12', 'c13', 'c14', 'c15', 'c16']) limit 1 +---- +1 15519 785 1 17 24386.67 0.04 0.02 N O 1996-03-13 1996-02-12 1996-03-22 DELIVER IN PERSON TRUCK egular courts above the + +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', columns={'c1': 'BIGINT', 'c2': 'BIGINT', 'c3': 'BIGINT', 'c4': 'BIGINT', 'c5': 'BIGINT', 'c6': 'DOUBLE', 'c7': 'DOUBLE', 'c8': 'DOUBLE', 'c9': 'VARCHAR', 'c10': 'VARCHAR', 'c11': 'DATE', 'c12': 'DATE', 'c13': 'DATE', 'c14': 'VARCHAR', 'c15': 'VARCHAR', 'c16': 'VARCHAR'}); +---- +| " " \n 0 0 {'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'} %Y-%m-%d NULL columns={'c1': 'BIGINT', 'c2': 'BIGINT', 'c3': 'BIGINT', 'c4': 'BIGINT', 'c5': 'BIGINT', 'c6': 'DOUBLE', 'c7': 'DOUBLE', 'c8': 'DOUBLE', 'c9': 'VARCHAR', 'c10': 'VARCHAR', 'c11': 'DATE', 'c12': 'DATE', 'c13': 'DATE', 'c14': 'VARCHAR', 'c15': 'VARCHAR', 'c16': 'VARCHAR'} FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'}, dateformat='%Y-%m-%d', columns={'c1': 'BIGINT', 'c2': 'BIGINT', 'c3': 'BIGINT', 'c4': 'BIGINT', 'c5': 'BIGINT', 'c6': 'DOUBLE', 'c7': 'DOUBLE', 'c8': 'DOUBLE', 'c9': 'VARCHAR', 'c10': 'VARCHAR', 'c11': 'DATE', 'c12': 'DATE', 'c13': 'DATE', 'c14': 'VARCHAR', 'c15': 'VARCHAR', 'c16': 'VARCHAR'}); + +# skip rows +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', skip=1); +---- +| " " \n 1 false {'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'} %Y-%m-%d NULL skip=1 FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', header=false, columns={'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'}, dateformat='%Y-%m-%d', skip=1); + +# header exists +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', header=true); +---- +| " " \n 0 true {'1': 'BIGINT', '15519': 'BIGINT', '785': 'BIGINT', '1_1': 'BIGINT', '17': 'BIGINT', '24386.670000': 'DOUBLE', '0.040000': 'DOUBLE', '0.020000': 'DOUBLE', 'N': 'VARCHAR', 'O': 'VARCHAR', '1996-03-13': 'DATE', '1996-02-12': 'DATE', '1996-03-22': 'DATE', 'DELIVER IN PERSON': 'VARCHAR', 'TRUCK': 'VARCHAR', 'egular courts above the': 'VARCHAR'} %Y-%m-%d NULL header=true FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', escape='"', new_line='\n', skip=0, columns={'1': 'BIGINT', '15519': 'BIGINT', '785': 'BIGINT', '1_1': 'BIGINT', '17': 'BIGINT', '24386.670000': 'DOUBLE', '0.040000': 'DOUBLE', '0.020000': 'DOUBLE', 'N': 'VARCHAR', 'O': 'VARCHAR', '1996-03-13': 'DATE', '1996-02-12': 'DATE', '1996-03-22': 'DATE', 'DELIVER IN PERSON': 'VARCHAR', 'TRUCK': 'VARCHAR', 'egular courts above the': 'VARCHAR'}, dateformat='%Y-%m-%d', header=true); + +# timestampformat +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/auto/time_date_timestamp_yyyy.mm.dd.csv', dateformat='%Y.%m.%d') +---- +, " " \n 0 true {'a': 'BIGINT', 'b': 'VARCHAR', 't': 'TIME', 'd': 'DATE', 'ts': 'TIMESTAMP'} %Y.%m.%d %Y.%m.%d %H:%M:%S dateformat='%Y.%m.%d' FROM read_csv('test/sql/copy/csv/data/auto/time_date_timestamp_yyyy.mm.dd.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=true, columns={'a': 'BIGINT', 'b': 'VARCHAR', 't': 'TIME', 'd': 'DATE', 'ts': 'TIMESTAMP'}, timestampformat='%Y.%m.%d %H:%M:%S', dateformat='%Y.%m.%d'); + +# dateformat +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/auto/time_date_timestamp_yyyy.mm.dd.csv', timestampformat='%Y.%m.%d %H:%M:%S') +---- +, " " \n 0 1 {'a': 'BIGINT', 'b': 'VARCHAR', 't': 'TIME', 'd': 'DATE', 'ts': 'TIMESTAMP'} %Y.%m.%d %Y.%m.%d %H:%M:%S timestampformat='%Y.%m.%d %H:%M:%S' FROM read_csv('test/sql/copy/csv/data/auto/time_date_timestamp_yyyy.mm.dd.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=true, columns={'a': 'BIGINT', 'b': 'VARCHAR', 't': 'TIME', 'd': 'DATE', 'ts': 'TIMESTAMP'}, dateformat='%Y.%m.%d', timestampformat='%Y.%m.%d %H:%M:%S'); + +# Test a combination +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/auto/time_date_timestamp_yyyy.mm.dd.csv', dateformat='%Y.%m.%d', timestampformat='%Y.%m.%d %H:%M:%S') +---- +, " " \n 0 true {'a': 'BIGINT', 'b': 'VARCHAR', 't': 'TIME', 'd': 'DATE', 'ts': 'TIMESTAMP'} %Y.%m.%d %Y.%m.%d %H:%M:%S timestampformat='%Y.%m.%d %H:%M:%S', dateformat='%Y.%m.%d' FROM read_csv('test/sql/copy/csv/data/auto/time_date_timestamp_yyyy.mm.dd.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=true, columns={'a': 'BIGINT', 'b': 'VARCHAR', 't': 'TIME', 'd': 'DATE', 'ts': 'TIMESTAMP'}, timestampformat='%Y.%m.%d %H:%M:%S', dateformat='%Y.%m.%d'); + +query IIIII +FROM read_csv('test/sql/copy/csv/data/auto/time_date_timestamp_yyyy.mm.dd.csv', auto_detect=false, delim=',', quote='"', escape='"', new_line='\n', skip=0, header=true, columns={'a': 'BIGINT', 'b': 'VARCHAR', 't': 'TIME', 'd': 'DATE', 'ts': 'TIMESTAMP'}, timestampformat='%Y.%m.%d %H:%M:%S', dateformat='%Y.%m.%d') order by all limit 1; +---- +123 TEST2 12:12:12 2000-01-01 2000-01-01 12:12:00 + +# test auto_detect=false (that's illegal sir) +statement error +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', columns={'c1': 'BIGINT', 'c2': 'BIGINT', 'c3': 'BIGINT', 'c4': 'BIGINT', 'c5': 'BIGINT', 'c6': 'DOUBLE', 'c7': 'DOUBLE', 'c8': 'DOUBLE', 'c9': 'VARCHAR', 'c10': 'VARCHAR', 'c11': 'DATE', 'c12': 'DATE', 'c13': 'DATE', 'c14': 'VARCHAR', 'c15': 'VARCHAR', 'c16': 'VARCHAR'}, auto_detect = false); +---- +sniff_csv function does not accept auto_detect variable set to false + +query IIIIIIIIIII +FROM sniff_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', columns={'c1': 'BIGINT', 'c2': 'BIGINT', 'c3': 'BIGINT', 'c4': 'BIGINT', 'c5': 'BIGINT', 'c6': 'DOUBLE', 'c7': 'DOUBLE', 'c8': 'DOUBLE', 'c9': 'VARCHAR', 'c10': 'VARCHAR', 'c11': 'DATE', 'c12': 'DATE', 'c13': 'DATE', 'c14': 'VARCHAR', 'c15': 'VARCHAR', 'c16': 'VARCHAR'}, auto_detect = true); +---- +| " " \n 0 0 {'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'} %Y-%m-%d NULL columns={'c1': 'BIGINT', 'c2': 'BIGINT', 'c3': 'BIGINT', 'c4': 'BIGINT', 'c5': 'BIGINT', 'c6': 'DOUBLE', 'c7': 'DOUBLE', 'c8': 'DOUBLE', 'c9': 'VARCHAR', 'c10': 'VARCHAR', 'c11': 'DATE', 'c12': 'DATE', 'c13': 'DATE', 'c14': 'VARCHAR', 'c15': 'VARCHAR', 'c16': 'VARCHAR'} FROM read_csv('test/sql/copy/csv/data/real/lineitem_sample.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column00': 'BIGINT', 'column01': 'BIGINT', 'column02': 'BIGINT', 'column03': 'BIGINT', 'column04': 'BIGINT', 'column05': 'DOUBLE', 'column06': 'DOUBLE', 'column07': 'DOUBLE', 'column08': 'VARCHAR', 'column09': 'VARCHAR', 'column10': 'DATE', 'column11': 'DATE', 'column12': 'DATE', 'column13': 'VARCHAR', 'column14': 'VARCHAR', 'column15': 'VARCHAR'}, dateformat='%Y-%m-%d', columns={'c1': 'BIGINT', 'c2': 'BIGINT', 'c3': 'BIGINT', 'c4': 'BIGINT', 'c5': 'BIGINT', 'c6': 'DOUBLE', 'c7': 'DOUBLE', 'c8': 'DOUBLE', 'c9': 'VARCHAR', 'c10': 'VARCHAR', 'c11': 'DATE', 'c12': 'DATE', 'c13': 'DATE', 'c14': 'VARCHAR', 'c15': 'VARCHAR', 'c16': 'VARCHAR'}); + +# auto_type_candidates +query IIIIIIIIIII +FROM sniff_csv('data/csv/autotypecandidates.csv', auto_type_candidates=['SMALLINT','BIGINT', 'DOUBLE', 'FLOAT','VARCHAR']); +---- +| " " \n 0 0 {'column0': 'SMALLINT', 'column1': 'FLOAT', 'column2': 'VARCHAR'} NULL NULL NULL FROM read_csv('data/csv/autotypecandidates.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column0': 'SMALLINT', 'column1': 'FLOAT', 'column2': 'VARCHAR'}); + +query III +FROM read_csv('data/csv/autotypecandidates.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column0': 'SMALLINT', 'column1': 'FLOAT', 'column2': 'VARCHAR'}); +---- +1 1.1 bla + +# don't accept globs +statement error +FROM sniff_csv('data/csv/hive-partitioning/simple/*/*/test.csv'); +---- +sniff_csv does not operate on globs yet + +# don't accept madeup options +statement error +FROM sniff_csv('data/csv/autotypecandidates.csv', oop = True); +---- +Invalid named parameter "oop" for function sniff_csv + +# Ignore multi-partitioning options (maybe even error on them?) +query IIIIIIIIIII +FROM sniff_csv('data/csv/autotypecandidates.csv', HIVE_PARTITIONING=1); +---- +| " " \n 0 false {'column0': 'BIGINT', 'column1': 'DOUBLE', 'column2': 'VARCHAR'} NULL NULL NULL FROM read_csv('data/csv/autotypecandidates.csv', auto_detect=false, delim='|', quote='"', escape='"', new_line='\n', skip=0, header=false, columns={'column0': 'BIGINT', 'column1': 'DOUBLE', 'column2': 'VARCHAR'}); diff --git a/test/sql/copy/csv/test_soccer_kaggle.test b/test/sql/copy/csv/test_soccer_kaggle.test index 181d03487b59..fc2e588089f1 100644 --- a/test/sql/copy/csv/test_soccer_kaggle.test +++ b/test/sql/copy/csv/test_soccer_kaggle.test @@ -8,4 +8,4 @@ PRAGMA enable_verification query I select count(*) from 'data/csv/soccer_kaggle.csv' ---- -14 \ No newline at end of file +14 diff --git a/test/sql/copy/csv/test_union_by_name.test b/test/sql/copy/csv/test_union_by_name.test index 2387633f27f9..a59ccc21129c 100644 --- a/test/sql/copy/csv/test_union_by_name.test +++ b/test/sql/copy/csv/test_union_by_name.test @@ -42,6 +42,8 @@ COPY ubn3 TO '__TEST_DIR__/ubn3.csv' WITH (HEADER 1, DELIMITER ','); statement error SELECT * FROM read_csv_auto(['__TEST_DIR__/ubn1.csv', '__TEST_DIR__/ubn2.csv', '__TEST_DIR__/ubn3.csv']); +---- +Mismatch between the schema of different files query III SELECT a, b, c @@ -67,11 +69,11 @@ BIGINT BIGINT BIGINT statement error SELECT * FROM read_csv_auto(['data/csv/union-by-name/ubn1.csv', 'data/csv/union-by-name/ubn2.csv', 'data/csv/union-by-name/ubn3.csv', 'data/csv/union-by-name/ubn4.csv']) ---- -Error in file +Conversion Error query IIIII -SELECT a, b, c, ts, k -FROM read_csv_auto('data/csv/union-by-name/ubn*.csv',UNION_BY_NAME=TRUE) +SELECT a, b, c, ts, k +FROM read_csv_auto('data/csv/union-by-name/ubn*.csv',UNION_BY_NAME=TRUE) ORDER BY a, c, ts ---- NULL NULL 3 2003-06-30 12:03:10 6 @@ -135,6 +137,11 @@ NULL NULL NULL +query TTT +SELECT typeof(a), typeof(b), typeof(ts) FROM read_csv_auto('data/csv/union-by-name/ubn2.csv') LIMIT 1; +---- +VARCHAR BIGINT TIMESTAMP + # Test glob pattern [12] and union_by_name with filename options query IIIII SELECT a, b, c, ts, replace(filename, '\', '/') @@ -168,7 +175,7 @@ TIMESTAMP # Test glob pattern [!1-2] and union_by_name with filename options query IIII SELECT k, c, ts, replace(filename, '\', '/') -FROM read_csv_auto('data/csv/union-by-name/ubn[!1-2].csv',FILENAME=TRUE ,UNION_BY_NAME=TRUE) +FROM read_csv_auto('data/csv/union-by-name/ubn[!1-2].csv',FILENAME=TRUE ,UNION_BY_NAME=TRUE) ORDER BY c ---- 6 3 2003-06-30 12:03:10 data/csv/union-by-name/ubn3.csv @@ -178,9 +185,11 @@ NULL 100 Monday data/csv/union-by-name/ubn4.csv NULL 200 Sunday data/csv/union-by-name/ubn4.csv NULL 300 Friday data/csv/union-by-name/ubn4.csv -# Test hive_partition with union_by_name +# Test hive_partition with union_by_name statement error SELECT * FROM read_csv_auto('data/csv/union-by-name/part=[ab]/*',HIVE_PARTITIONING=TRUE, null_padding=0) +---- +Mismatch between the number of columns (2) in the CSV file and what is expected in the scanner (3). query IIII SELECT id, value, a, part @@ -193,3 +202,4 @@ ORDER BY id # Test hive_partition with union_by_name statement error SELECT * FROM read_csv_auto('data/csv/union-by-name/*[!a]/*',HIVE_PARTITIONING=TRUE ,UNION_BY_NAME=TRUE) +---- diff --git a/test/sql/copy/csv/unicode_filename.test b/test/sql/copy/csv/unicode_filename.test index a2df68173d9e..48a3bc463dcf 100644 --- a/test/sql/copy/csv/unicode_filename.test +++ b/test/sql/copy/csv/unicode_filename.test @@ -35,4 +35,4 @@ SELECT * FROM 'data/csv/中*/*.csv' ORDER BY 1 1 1 2 2 3 3 -4 4 \ No newline at end of file +4 4 diff --git a/test/sql/copy/csv/union_by_name_lineitem.test_slow b/test/sql/copy/csv/union_by_name_lineitem.test_slow index 9ca0e92f6a97..da376ef9f529 100644 --- a/test/sql/copy/csv/union_by_name_lineitem.test_slow +++ b/test/sql/copy/csv/union_by_name_lineitem.test_slow @@ -16,4 +16,4 @@ COPY (SELECT l_partkey, l_suppkey, l_orderkey FROM lineitem) TO '__TEST_DIR__/un query III SELECT SUM(l_partkey), SUM(l_suppkey), SUM(l_orderkey) FROM read_csv_auto('__TEST_DIR__/union_by_name_lineitem*.csv', unioN_by_name=TRUE) ---- -12016239468 601239036 360448084286 \ No newline at end of file +12016239468 601239036 360448084286 diff --git a/test/sql/copy/csv/zstd_crash.test b/test/sql/copy/csv/zstd_crash.test index 83b682a7ea51..d0e5afae8eb4 100644 --- a/test/sql/copy/csv/zstd_crash.test +++ b/test/sql/copy/csv/zstd_crash.test @@ -7,6 +7,7 @@ require no_extension_autoloading # zstd requires the parquet extension statement error CREATE TABLE test_zst AS SELECT * FROM read_csv('test/sql/copy/csv/broken/test.csv.zst', AUTO_DETECT=TRUE); +---- statement ok CREATE TABLE test_zst(a INTEGER, b INTEGER, c INTEGER, d VARCHAR, e VARCHAR); @@ -14,18 +15,23 @@ CREATE TABLE test_zst(a INTEGER, b INTEGER, c INTEGER, d VARCHAR, e VARCHAR); # what if we try to load this with random other compressions statement error COPY test_zst FROM 'test/sql/copy/csv/broken/test.csv.zst' (COMPRESSION ZSTD); +---- statement error COPY test_zst FROM 'test/sql/copy/csv/broken/test.csv.zst' (COMPRESSION GZIP); +---- statement error COPY test_zst FROM 'test/sql/copy/csv/broken/test.csv.zst' (COMPRESSION NONE); +---- statement error COPY test_zst FROM 'test/sql/copy/csv/broken/test.csv.zst' (COMPRESSION INFER); +---- statement error COPY test_zst FROM 'test/sql/copy/csv/broken/test.csv.zst' (COMPRESSION UNKNOWN); +---- # zstd works once we load the parquet extension require parquet @@ -39,6 +45,7 @@ COPY test_zst FROM 'test/sql/copy/csv/broken/test.csv.zst' (COMPRESSION ZSTD, AU # what if we try to load a gzip file with zstd statement error COPY test_zst FROM 'test/sql/copy/csv/data/lineitem1k.tbl.gz' (COMPRESSION ZSTD); +---- # we can read/write a ZSTD file also without the extension if we specify the compression type statement ok diff --git a/test/sql/copy/file_size_bytes.test b/test/sql/copy/file_size_bytes.test new file mode 100644 index 000000000000..41b8b3319782 --- /dev/null +++ b/test/sql/copy/file_size_bytes.test @@ -0,0 +1,159 @@ +# name: test/sql/copy/file_size_bytes.test +# description: test FILE_SIZE_BYTES parameter for COPY +# group: [copy] + +statement ok +CREATE TABLE bigdata AS SELECT i AS col_a, i AS col_b FROM range(0,10000) tbl(i); + +statement ok +set threads=1 + +# parameter in bytes +statement ok +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_csv1' (FORMAT CSV, FILE_SIZE_BYTES 1000); + +query I +SELECT COUNT(*) FROM read_csv_auto('__TEST_DIR__/file_size_bytes_csv1/*.csv', header = 1) +---- +10000 + +# should lead to 3 files +query I +SELECT count(*) FROM glob('__TEST_DIR__/file_size_bytes_csv1/*.csv') +---- +3 + +# parameter in human-readable format +statement ok +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_csv2' (FORMAT CSV, FILE_SIZE_BYTES '1kb'); + +query I +SELECT COUNT(*) FROM read_csv_auto('__TEST_DIR__/file_size_bytes_csv2/*.csv', header = 1) +---- +10000 + +# same, should also lead to 3 files +query I +SELECT count(*) FROM glob('__TEST_DIR__/file_size_bytes_csv2/*.csv') +---- +3 + +# We just do a simple test for JSON/Parquet, because FILE_SIZE_BYTES is handled outside of the format implementations +require json + +statement ok +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_json' (FORMAT JSON, FILE_SIZE_BYTES '1kb'); + +query I +SELECT COUNT(*) FROM read_json_auto('__TEST_DIR__/file_size_bytes_json/*.json') +---- +10000 + +# JSON is a bit more wasteful, 5 files +query I +SELECT count(*) FROM glob('__TEST_DIR__/file_size_bytes_json/*.json') +---- +5 + +require parquet + +# we can trigger early flushes with Parquet by setting a low row group size +statement ok +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_parquet' (FORMAT PARQUET, ROW_GROUP_SIZE 2000, FILE_SIZE_BYTES '1kb'); + +query I +SELECT COUNT(*) FROM read_parquet('__TEST_DIR__/file_size_bytes_parquet/*.parquet') +---- +10000 + +# we get one file per chunk, for a total of 5 +query I +SELECT count(*) FROM glob('__TEST_DIR__/file_size_bytes_parquet/*.parquet') +---- +5 + +# 10x the input, now 100k +statement ok +INSERT INTO bigdata SELECT bigdata.* FROM bigdata, range(9) + +# now we crank up the threads +statement ok +PRAGMA verify_parallelism; + +statement ok +pragma threads=4; + +# with parallelism we do best-effort to get to the specified file size, but we are more likely to overshoot +# this file would be ~950MB if written to a single file, what if we set a 500kb limit +statement ok +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_csv3' (FORMAT CSV, FILE_SIZE_BYTES '500kb'); + +query I +SELECT COUNT(*) FROM read_csv_auto('__TEST_DIR__/file_size_bytes_csv3/*.csv', header = 1) +---- +100000 + +# there should always be 2 files, even with parallelism nondeterminism +query I +SELECT count(*) FROM glob('__TEST_DIR__/file_size_bytes_csv3/*.csv') +---- +2 + +# what about a 200kb limit, which is <1/4th of the total file size +statement ok +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_csv4' (FORMAT CSV, FILE_SIZE_BYTES '200kb'); + +query I +SELECT COUNT(*) FROM read_csv_auto('__TEST_DIR__/file_size_bytes_csv4/*.csv', header = 1) +---- +100000 + +# there should be around 4 files, not exact due to parallelism +query I +SELECT count(*) BETWEEN 3 AND 5 FROM glob('__TEST_DIR__/file_size_bytes_csv4/*.csv') +---- +1 + +# should work nicely with per thread output +# no thread should see more than 700kb (being lenient in case of thread imbalance here), +# so this should yield one file per thread +statement ok +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_csv5' (FORMAT CSV, FILE_SIZE_BYTES '700kb', PER_THREAD_OUTPUT TRUE); + +query I +SELECT COUNT(*) FROM read_csv_auto('__TEST_DIR__/file_size_bytes_csv5/*.csv', header = 1) +---- +100000 + +# 4 threads, 4 files +query I +SELECT count(*) FROM glob('__TEST_DIR__/file_size_bytes_csv5/*.csv') +---- +4 + +# each thread sees ~240kb if it's balanced, what about a 190kb limit +# even in the case of extreme thread imbalance, this always yield around 8 files +statement ok +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_csv6' (FORMAT CSV, FILE_SIZE_BYTES '190kb', PER_THREAD_OUTPUT TRUE); + +query I +SELECT COUNT(*) FROM read_csv_auto('__TEST_DIR__/file_size_bytes_csv6/*.csv', header = 1) +---- +100000 + +# ~2 files per thread, around 8 in total +query I +SELECT count(*) BETWEEN 6 AND 10 FROM glob('__TEST_DIR__/file_size_bytes_csv6/*.csv') +---- +1 + +# doesn't work in combination with certain params +statement error +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_csv7' (FORMAT CSV, FILE_SIZE_BYTES '190kb', USE_TMP_FILE TRUE); +---- +Not implemented Error + +statement error +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_csv7' (FORMAT CSV, FILE_SIZE_BYTES '190kb', PARTITION_BY col_a); +---- +Not implemented Error diff --git a/test/sql/copy/file_size_bytes_large.test_slow b/test/sql/copy/file_size_bytes_large.test_slow new file mode 100644 index 000000000000..b8b406385b2c --- /dev/null +++ b/test/sql/copy/file_size_bytes_large.test_slow @@ -0,0 +1,42 @@ +# name: test/sql/copy/file_size_bytes_large.test_slow +# description: test FILE_SIZE_BYTES parameter for COPY (slow test) +# group: [copy] + +statement ok +CREATE TABLE bigdata AS SELECT i AS col_a, i AS col_b FROM range(0, 10000000) tbl(i); + +statement ok +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_csv42' (FORMAT CSV, FILE_SIZE_BYTES '200kb'); + +query I +SELECT COUNT(*) FROM read_csv('__TEST_DIR__/file_size_bytes_csv42/*.csv', header = 1) +---- +10000000 + +query II +SELECT AVG(col_a), AVG(col_b) FROM read_csv('__TEST_DIR__/file_size_bytes_csv42/*.csv', header = 1) +---- +4999999.5 4999999.5 + +query I +SELECT COUNT(*) BETWEEN 550 AND 800 FROM glob('__TEST_DIR__/file_size_bytes_csv42/*.csv') +---- +1 + +statement ok +COPY (FROM bigdata) TO '__TEST_DIR__/file_size_bytes_csv43' (FORMAT CSV, FILE_SIZE_BYTES '200kb', PER_THREAD_OUTPUT TRUE); + +query I +SELECT COUNT(*) FROM read_csv_auto('__TEST_DIR__/file_size_bytes_csv43/*.csv', header = 1) +---- +10000000 + +query II +SELECT AVG(col_a), AVG(col_b) FROM read_csv('__TEST_DIR__/file_size_bytes_csv43/*.csv', header = 1) +---- +4999999.5 4999999.5 + +query I +SELECT COUNT(*) BETWEEN 550 AND 800 FROM glob('__TEST_DIR__/file_size_bytes_csv43/*.csv') +---- +1 \ No newline at end of file diff --git a/test/sql/copy/format_uuid.test b/test/sql/copy/format_uuid.test index fd185aabe93d..0ee22ce30107 100644 --- a/test/sql/copy/format_uuid.test +++ b/test/sql/copy/format_uuid.test @@ -105,7 +105,7 @@ SELECT * FROM '__TEST_DIR__/part/a=9/*.parquet'; statement error COPY test5 TO '__TEST_DIR__/part' (FORMAT PARQUET, PARTITION_BY (a)); ---- -IO Error: Directory +Directory @@ -113,7 +113,7 @@ IO Error: Directory statement error COPY test4 TO '__TEST_DIR__/to_be_overwritten' (FORMAT PARQUET, PARTITION_BY (a), FILENAME_PATTERN); ---- -IO Error: FILENAME_PATTERN +FILENAME_PATTERN statement ok COPY test4 TO '__TEST_DIR__/to_be_overwritten' (FORMAT PARQUET, PARTITION_BY (a), FILENAME_PATTERN a_file_name); diff --git a/test/sql/copy/hive_types.test b/test/sql/copy/hive_types.test index e1ab8876a185..69eb055c8427 100644 --- a/test/sql/copy/hive_types.test +++ b/test/sql/copy/hive_types.test @@ -89,11 +89,11 @@ BIGINT VARCHAR DATE # Complex filter filtering first file, filter should be pruned completely if hive_partitioning=1 query II -explain from parquet_scan('__TEST_DIR__/partition/**/*.parquet', HIVE_PARTITIONING=0, HIVE_TYPES_AUTOCAST=0) where aired < '2006-1-1'::DATE; +explain from parquet_scan('__TEST_DIR__/partition/**/*.parquet', HIVE_PARTITIONING=0, HIVE_TYPES_AUTOCAST=0) where aired < '2006-1-1'; ---- physical_plan :.*(PARQUET_SCAN.*Filters:|FILTER).* query II -explain from parquet_scan('__TEST_DIR__/partition/**/*.parquet', HIVE_PARTITIONING=1, HIVE_TYPES_AUTOCAST=0) where aired < '2006-1-1'::DATE; +explain from parquet_scan('__TEST_DIR__/partition/**/*.parquet', HIVE_PARTITIONING=1, HIVE_TYPES_AUTOCAST=0) where aired < '2006-1-1'; ---- physical_plan :.*(PARQUET_SCAN.*File Filters: \(aired \<).* diff --git a/test/sql/copy/parquet/batched_write/batched_parquet_write.test b/test/sql/copy/parquet/batched_write/batched_parquet_write.test index 0b9e45009ef4..1e49c7ae31c0 100644 --- a/test/sql/copy/parquet/batched_write/batched_parquet_write.test +++ b/test/sql/copy/parquet/batched_write/batched_parquet_write.test @@ -19,7 +19,7 @@ SELECT SUM(i), SUM(j), COUNT(*), COUNT(i), COUNT(j) FROM integers_copied 499999500000 99999500000 1000000 1000000 1000000 query II -SELECT * FROM integers_copied LIMIT 5 +SELECT * FROM integers_copied ORDER BY i LIMIT 5 ---- 0 0 1 0 @@ -28,7 +28,7 @@ SELECT * FROM integers_copied LIMIT 5 4 0 query II -SELECT * FROM integers_copied LIMIT 5 OFFSET 99997 +SELECT * FROM integers_copied ORDER BY i LIMIT 5 OFFSET 99997 ---- 99997 19999 99998 19999 @@ -59,7 +59,7 @@ SELECT SUM(i), SUM(j), COUNT(*), COUNT(i), COUNT(j) FROM ${table} 142500450000 28499950000 350001 350001 350001 query II -SELECT * FROM ${table} LIMIT 5 +SELECT * FROM ${table} ORDER BY i LIMIT 5 ---- 0 0 2 0 @@ -68,7 +68,7 @@ SELECT * FROM ${table} LIMIT 5 8 1 query II -SELECT * FROM ${table} LIMIT 5 OFFSET 99997 +SELECT * FROM ${table} ORDER BY i LIMIT 5 OFFSET 99997 ---- 199994 39998 199996 39999 @@ -77,7 +77,7 @@ SELECT * FROM ${table} LIMIT 5 OFFSET 99997 200002 40000 query II -SELECT * FROM ${table} LIMIT 5 OFFSET 300000 +SELECT * FROM ${table} ORDER BY i LIMIT 5 OFFSET 300000 ---- 650000 130000 650001 130000 diff --git a/test/sql/copy/parquet/batched_write/parquet_verify_row_group_size.test_slow b/test/sql/copy/parquet/batched_write/parquet_verify_row_group_size.test_slow index 2ee2ccf767cf..b118068b84b7 100644 --- a/test/sql/copy/parquet/batched_write/parquet_verify_row_group_size.test_slow +++ b/test/sql/copy/parquet/batched_write/parquet_verify_row_group_size.test_slow @@ -30,4 +30,4 @@ endloop statement ok SET threads=1 -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/parquet/bigdecimal.test b/test/sql/copy/parquet/bigdecimal.test new file mode 100644 index 000000000000..d2aff96208f5 --- /dev/null +++ b/test/sql/copy/parquet/bigdecimal.test @@ -0,0 +1,18 @@ +# name: test/sql/copy/parquet/bigdecimal.test +# description: Read a file created by Google BigQuery with a BIGDECIMAL column (i.e. DECIMAL(77,38)) +# group: [parquet] + +require parquet + +statement ok +PRAGMA enable_verification + +query I +FROM 'data/parquet-testing/bigdecimal.parquet' +---- +0.5 +-0.5 +1.2345678912345679e+26 +-1.2345678912345679e+26 +5.7896044618658096e+38 +-5.7896044618658096e+38 diff --git a/test/sql/copy/parquet/broken_parquet.test b/test/sql/copy/parquet/broken_parquet.test index 33f977ddd19b..0cacbd3627bd 100644 --- a/test/sql/copy/parquet/broken_parquet.test +++ b/test/sql/copy/parquet/broken_parquet.test @@ -9,21 +9,28 @@ PRAGMA enable_verification statement error select count(*) from parquet_scan('test/sql/copy/parquet/broken/missingmagicatfront.parquet') +---- statement error select count(*) from parquet_scan('test/sql/copy/parquet/broken/missingmagicatend.parquet') +---- statement error select count(*) from parquet_scan('test/sql/copy/parquet/broken/firstmarker.parquet') +---- statement error select count(*) from parquet_scan('test/sql/copy/parquet/broken/twomarkers.parquet') +---- statement error select count(*) from parquet_scan('test/sql/copy/parquet/broken/footerlengthzero.parquet') +---- statement error select count(*) from parquet_scan('test/sql/copy/parquet/broken/hugefooter.parquet') +---- statement error select count(*) from parquet_scan('test/sql/copy/parquet/broken/garbledfooter.parquet') +---- diff --git a/test/sql/copy/parquet/decimal_filter.test b/test/sql/copy/parquet/decimal_filter.test index 4087e2d8a723..4dceb545f6e2 100644 --- a/test/sql/copy/parquet/decimal_filter.test +++ b/test/sql/copy/parquet/decimal_filter.test @@ -25,4 +25,4 @@ select * from 'data/parquet-testing/decimals.parquet' WHERE l${i}=-0.1 ---- -0.1 -0.1 -0.1 -0.1 -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/parquet/file_metadata.test b/test/sql/copy/parquet/file_metadata.test new file mode 100644 index 000000000000..1b42acd5a329 --- /dev/null +++ b/test/sql/copy/parquet/file_metadata.test @@ -0,0 +1,9 @@ +# name: test/sql/copy/parquet/file_metadata.test +# group: [parquet] + +require parquet + +query IIIIIII +SELECT * FROM parquet_file_metadata('data/parquet-testing/arrow/alltypes_dictionary.parquet') +---- +data/parquet-testing/arrow/alltypes_dictionary.parquet impala version 1.3.0-INTERNAL (build 8a48ddb1eff84592b3fc06bc6f51ec120e1fffc9) 2 1 1 NULL NULL diff --git a/test/sql/copy/parquet/incorrect_converted_type.test b/test/sql/copy/parquet/incorrect_converted_type.test index 7ab14fe672a7..8089977ff7f6 100644 --- a/test/sql/copy/parquet/incorrect_converted_type.test +++ b/test/sql/copy/parquet/incorrect_converted_type.test @@ -6,34 +6,45 @@ require parquet statement error SELECT * FROM 'data/parquet-testing/broken/broken_bigint.parquet'; +---- statement error SELECT * FROM 'data/parquet-testing/broken/broken_date.parquet'; +---- statement error SELECT * FROM 'data/parquet-testing/broken/broken_int.parquet'; +---- statement error SELECT * FROM 'data/parquet-testing/broken/broken_smallint.parquet'; +---- statement error SELECT * FROM 'data/parquet-testing/broken/broken_timestamp.parquet'; +---- statement error SELECT * FROM 'data/parquet-testing/broken/broken_timestamp_ms.parquet'; +---- statement error SELECT * FROM 'data/parquet-testing/broken/broken_tinyint.parquet'; +---- statement error SELECT * FROM 'data/parquet-testing/broken/broken_ubigint.parquet'; +---- statement error SELECT * FROM 'data/parquet-testing/broken/broken_uinteger.parquet'; +---- statement error SELECT * FROM 'data/parquet-testing/broken/broken_usmallint.parquet'; +---- statement error SELECT * FROM 'data/parquet-testing/broken/broken_utinyint.parquet'; +---- diff --git a/test/sql/copy/parquet/kv_metadata.test b/test/sql/copy/parquet/kv_metadata.test new file mode 100644 index 000000000000..e0cd31fccbdd --- /dev/null +++ b/test/sql/copy/parquet/kv_metadata.test @@ -0,0 +1,54 @@ +# name: test/sql/copy/parquet/kv_metadata.test +# group: [parquet] + +require parquet + +# Test basic roundtrip +statement ok +COPY (SELECT 1, 'foo') TO '__TEST_DIR__/kv_metadata_test.parquet' (FORMAT PARQUET, KV_METADATA {foo: 'bar', baz: 42, quz: '\xC3\xB6\xC3\xA4\xC3\xA5'::BLOB}); + +query II +SELECT key::VARCHAR, value::VARCHAR FROM parquet_kv_metadata('__TEST_DIR__/kv_metadata_test.parquet'); +---- +foo bar +baz 42 +quz \xC3\xB6\xC3\xA4\xC3\xA5 + +query II +SELECT * FROM '__TEST_DIR__/kv_metadata_test.parquet' +---- +1 foo + +# Test decoding blobs +query II +SELECT key::VARCHAR, decode(value) FROM parquet_kv_metadata('__TEST_DIR__/kv_metadata_test.parquet') WHERE key = 'quz'; +---- +quz öäå + +# Test invalid metadata +statement error +COPY (SELECT 1, 'foo') TO '__TEST_DIR__/kv_metadata_test_fail.parquet' (FORMAT PARQUET, KV_METADATA 'foobar'); +---- +Expected kv_metadata argument to be a STRUCT + +# Test no kv +statement ok +COPY (SELECT 3, 'baz') TO '__TEST_DIR__/kv_metadata_test3.parquet' (FORMAT PARQUET); + +query II +SELECT key::VARCHAR, value::VARCHAR FROM parquet_kv_metadata('__TEST_DIR__/kv_metadata_test3.parquet'); +---- + +# Test globbing +statement ok +COPY (SELECT 2, 'bar') TO '__TEST_DIR__/kv_metadata_test2.parquet' (FORMAT PARQUET, KV_METADATA {a: 'b', c: 'd'}); + +query III +SELECT replace(replace(file_name, '\', '/'),replace('__TEST_DIR__/', '\', '/'), '') AS file_name, key::VARCHAR, value::VARCHAR FROM parquet_kv_metadata('__TEST_DIR__/kv_metadata_tes*') ORDER BY 1, 2; +---- +kv_metadata_test.parquet baz 42 +kv_metadata_test.parquet foo bar +kv_metadata_test.parquet quz \xC3\xB6\xC3\xA4\xC3\xA5 +kv_metadata_test2.parquet a b +kv_metadata_test2.parquet c d + diff --git a/test/sql/copy/parquet/parquet2.test b/test/sql/copy/parquet/parquet2.test index 92c60cdf1c43..fe6aa3ab114d 100644 --- a/test/sql/copy/parquet/parquet2.test +++ b/test/sql/copy/parquet/parquet2.test @@ -282,4 +282,4 @@ select * from 'data/parquet-testing/7-set.snappy.arrow2.parquet'; 3 4 5 -6 \ No newline at end of file +6 diff --git a/test/sql/copy/parquet/parquet_10148.test b/test/sql/copy/parquet/parquet_10148.test new file mode 100644 index 000000000000..0b75454f9be6 --- /dev/null +++ b/test/sql/copy/parquet/parquet_10148.test @@ -0,0 +1,19 @@ +# name: test/sql/copy/parquet/parquet_10148.test +# description: Issue #10148: Wide decimal values in stats +# group: [parquet] + +require parquet + +query I +SELECT CDCONO FROM 'data/parquet-testing/bug10148-wide-decimal-stats.parquet' +---- +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/test/sql/copy/parquet/parquet_10279.test b/test/sql/copy/parquet/parquet_10279.test new file mode 100644 index 000000000000..8a5f53f87856 --- /dev/null +++ b/test/sql/copy/parquet/parquet_10279.test @@ -0,0 +1,11 @@ +# name: test/sql/copy/parquet/parquet_10279.test +# description: Issue #10279: Data loss with parquet INT64 and DELTA encoding +# group: [parquet] + +require parquet + +query IIIIIIII +SELECT * FROM 'data/parquet-testing/issue10279_delta_encoding.parquet' +---- +MIN_VALUE false -128 -32768 -2147483648 -9223372036854775808 1e-45 5e-324 +MAX_VALUE true 127 32767 2147483647 9223372036854775807 3.4028235e+38 1.7976931348623157e+308 diff --git a/test/sql/copy/parquet/parquet_1589.test b/test/sql/copy/parquet/parquet_1589.test index f6d6b487b1eb..28994292e3a5 100644 --- a/test/sql/copy/parquet/parquet_1589.test +++ b/test/sql/copy/parquet/parquet_1589.test @@ -13,4 +13,4 @@ SELECT backlink_count FROM parquet_scan('data/parquet-testing/bug1589.parquet') NULL statement ok -SELECT * FROM parquet_scan('data/parquet-testing/bug1589.parquet') \ No newline at end of file +SELECT * FROM parquet_scan('data/parquet-testing/bug1589.parquet') diff --git a/test/sql/copy/parquet/parquet_4442.test b/test/sql/copy/parquet/parquet_4442.test index 09d612f2a1d1..30893f52ef69 100644 --- a/test/sql/copy/parquet/parquet_4442.test +++ b/test/sql/copy/parquet/parquet_4442.test @@ -7,4 +7,4 @@ require parquet query IIIIIIIIIIIIIIIII SELECT * FROM 'data/parquet-testing/bug4442.parquet' ---- -12 5184 1 22 2011-10-06 22:21:49.58+00 outbound 323020033 {} 2100 33 0 7 10 0 1317427200000 1317939709580 11 \ No newline at end of file +12 5184 1 22 2011-10-06 22:21:49.58+00 outbound 323020033 {} 2100 33 0 7 10 0 1317427200000 1317939709580 11 diff --git a/test/sql/copy/parquet/parquet_4903.test b/test/sql/copy/parquet/parquet_4903.test index 778576be11ed..3ed54c3fb854 100644 --- a/test/sql/copy/parquet/parquet_4903.test +++ b/test/sql/copy/parquet/parquet_4903.test @@ -7,3 +7,4 @@ require parquet # file is corrupt statement error SELECT type_param_constraints FROM 'data/parquet-testing/bug4903.parquet' limit 10 +---- diff --git a/test/sql/copy/parquet/parquet_5209.test b/test/sql/copy/parquet/parquet_5209.test index b33bff8b2980..6de3534beadd 100644 --- a/test/sql/copy/parquet/parquet_5209.test +++ b/test/sql/copy/parquet/parquet_5209.test @@ -4,19 +4,19 @@ require parquet -require vector_size 512 +require vector_size 2048 statement ok -create table test_5209 as from range(10000) +CREATE TABLE test_5209 AS FROM range(10000) statement ok COPY test_5209 TO '__TEST_DIR__/test_5209.parquet' (ROW_GROUP_SIZE 1000); query II -SELECT total_compressed_size,total_uncompressed_size FROM parquet_metadata('__TEST_DIR__/test_5209.parquet') +SELECT total_compressed_size, total_uncompressed_size FROM parquet_metadata('__TEST_DIR__/test_5209.parquet') ---- 8980 16413 8239 16413 8237 16413 8237 16413 -7277 14492 \ No newline at end of file +7277 14492 diff --git a/test/sql/copy/parquet/parquet_blob_string.test b/test/sql/copy/parquet/parquet_blob_string.test index 9e1992ea3bf9..d70c90ef5ae2 100644 --- a/test/sql/copy/parquet/parquet_blob_string.test +++ b/test/sql/copy/parquet/parquet_blob_string.test @@ -40,6 +40,7 @@ NULL statement error SET binary_as_sting=true +---- statement ok SET binary_as_string=true @@ -86,4 +87,4 @@ SELECT * FROM parquet_scan('data/parquet-testing/binary_string.parquet') ---- foo bar -baz \ No newline at end of file +baz diff --git a/test/sql/copy/parquet/parquet_encryption.test_slow b/test/sql/copy/parquet/parquet_encryption.test_slow new file mode 100644 index 000000000000..b3d23dc8f973 --- /dev/null +++ b/test/sql/copy/parquet/parquet_encryption.test_slow @@ -0,0 +1,174 @@ +# name: test/sql/copy/parquet/parquet_encryption.test_slow +# description: Test Parquet encryption +# group: [parquet] + +require parquet + +statement ok +PRAGMA enable_verification + +# AES key must have one of the three specified lengths +statement error +PRAGMA add_parquet_key('my_cool_key', '42') +---- +Invalid Input Error: Invalid AES key. Must have a length of 128, 192, or 256 bits (16, 24, or 32 bytes) + +# we dont support this yet +statement error +COPY (SELECT 42 i) to '__TEST_DIR__/encrypted.parquet' (ENCRYPTION_CONFIG {column_keys: {key_name: ['col0', 'col1']}}) +---- +Not implemented Error: Parquet encryption_config column_keys not yet implemented + +# just some code coverage for transform_constant.cpp +statement error +COPY (SELECT 42 i) to '__TEST_DIR__/encrypted.parquet' (ENCRYPTION_CONFIG {column_keys: {key_name: map {}}}) +---- +Unsupported expression in option list + +statement error +COPY (SELECT 42 i) to '__TEST_DIR__/encrypted.parquet' (ENCRYPTION_CONFIG {footer_key: 'nonexistant'}) +---- +Binder Error: No key with name "nonexistant" exists. Add it with PRAGMA add_parquet_key('',''); + +# add keys of 3 different lengths +statement ok +PRAGMA add_parquet_key('key128', '0123456789112345') + +statement ok +PRAGMA add_parquet_key('key192', '012345678911234501234567') + +statement ok +PRAGMA add_parquet_key('key256', '01234567891123450123456789112345') + +# test all valid AES key lengths +foreach key_len 128 192 256 + +statement ok +COPY (SELECT 42 i) to '__TEST_DIR__/encrypted${key_len}.parquet' (ENCRYPTION_CONFIG {footer_key: 'key${key_len}'}) + +query I +SELECT * FROM read_parquet('__TEST_DIR__/encrypted${key_len}.parquet', encryption_config={footer_key: 'key${key_len}'}) +---- +42 + +statement ok +CREATE OR REPLACE TABLE test (i INTEGER) + +statement ok +COPY test FROM '__TEST_DIR__/encrypted${key_len}.parquet' (ENCRYPTION_CONFIG {footer_key: 'key${key_len}'}) + +query I +SELECT * FROM test +---- +42 + +endloop + +# what happens if we don't try to decrypt even if the file is encrypted? +statement error +SELECT * FROM read_parquet('__TEST_DIR__/encrypted128.parquet') +---- +Invalid Input Error + +# what if we try to decrypt with the wrong key? +statement error +SELECT * FROM read_parquet('__TEST_DIR__/encrypted128.parquet', encryption_config={footer_key: 'key192'}) +---- +Invalid Input Error: Computed AES tag differs from read AES tag, are you using the right key? + +# what if we don't encrypt, but try to decrypt? +statement ok +COPY (SELECT 42 i) to '__TEST_DIR__/unencrypted.parquet' + +statement error +SELECT * FROM read_parquet('__TEST_DIR__/unencrypted.parquet', encryption_config={footer_key: 'key256'}) +---- +Invalid Input Error + +# roundtrip all of TPCH +statement ok +PRAGMA disable_verification + +require tpch + +statement ok +CALL dbgen(sf=1) + +statement ok +EXPORT DATABASE '__TEST_DIR__/tpch_encrypted' (FORMAT 'parquet', ENCRYPTION_CONFIG {footer_key: 'key128'}) + +load :memory: + +# re-add key upon loading the DB again +statement ok +PRAGMA add_parquet_key('key128', '0123456789112345') + +statement ok +IMPORT DATABASE '__TEST_DIR__/tpch_encrypted' + +loop i 1 9 + +query I +PRAGMA tpch(${i}) +---- +:extension/tpch/dbgen/answers/sf1/q0${i}.csv + +endloop + +loop i 10 23 + +query I +PRAGMA tpch(${i}) +---- +:extension/tpch/dbgen/answers/sf1/q${i}.csv + +endloop + +# now again without importing the DB, just with views, so we can test projection/filter pushdown +load :memory: + +# re-add key upon loading the DB again +statement ok +PRAGMA add_parquet_key('key128', '0123456789112345') + +statement ok +CREATE VIEW lineitem AS SELECT * FROM read_parquet('__TEST_DIR__/tpch_encrypted/lineitem.parquet', encryption_config={footer_key: 'key128'}); + +statement ok +CREATE VIEW orders AS SELECT * FROM read_parquet('__TEST_DIR__/tpch_encrypted/orders.parquet', encryption_config={footer_key: 'key128'}); + +statement ok +CREATE VIEW partsupp AS SELECT * FROM read_parquet('__TEST_DIR__/tpch_encrypted/partsupp.parquet', encryption_config={footer_key: 'key128'}); + +statement ok +CREATE VIEW part AS SELECT * FROM read_parquet('__TEST_DIR__/tpch_encrypted/part.parquet', encryption_config={footer_key: 'key128'}); + +statement ok +CREATE VIEW customer AS SELECT * FROM read_parquet('__TEST_DIR__/tpch_encrypted/customer.parquet', encryption_config={footer_key: 'key128'}); + +statement ok +CREATE VIEW supplier AS SELECT * FROM read_parquet('__TEST_DIR__/tpch_encrypted/supplier.parquet', encryption_config={footer_key: 'key128'}); + +statement ok +CREATE VIEW nation AS SELECT * FROM read_parquet('__TEST_DIR__/tpch_encrypted/nation.parquet', encryption_config={footer_key: 'key128'}); + +statement ok +CREATE VIEW region AS SELECT * FROM read_parquet('__TEST_DIR__/tpch_encrypted/region.parquet', encryption_config={footer_key: 'key128'}); + +loop i 1 9 + +query I +PRAGMA tpch(${i}) +---- +:extension/tpch/dbgen/answers/sf1/q0${i}.csv + +endloop + +loop i 10 23 + +query I +PRAGMA tpch(${i}) +---- +:extension/tpch/dbgen/answers/sf1/q${i}.csv + +endloop diff --git a/test/sql/copy/parquet/parquet_external_access.test b/test/sql/copy/parquet/parquet_external_access.test index 82731a917cd1..48ba632b02ce 100644 --- a/test/sql/copy/parquet/parquet_external_access.test +++ b/test/sql/copy/parquet/parquet_external_access.test @@ -14,29 +14,37 @@ SET enable_external_access=false; # we cannot read parquet files statement error SELECT * FROM 'data/parquet-testing/arrow/lineitem-arrow.parquet' +---- # or their metadata statement error SELECT * FROM parquet_metadata('data/parquet-testing/arrow/lineitem-arrow.parquet') +---- statement error SELECT * FROM parquet_schema('data/parquet-testing/arrow/lineitem-arrow.parquet') +---- # also not in a list statement error SELECT * FROM parquet_scan(['data/parquet-testing/arrow/lineitem-arrow.parquet', 'data/parquet-testing/arrow/lineitem-arrow.parquet']) +---- # neither can we glob statement error SELECT * FROM glob('data/parquet-testing/arrow/lineitem-arrow.parquet') +---- # or copy to/from... statement error COPY lineitem FROM 'data/parquet-testing/arrow/lineitem-arrow.parquet' +---- statement error COPY lineitem TO '__TEST_DIR__/lineitem.parquet' +---- # we also can't just enable external access again statement error SET enable_external_access=true; +---- diff --git a/test/sql/copy/parquet/parquet_filename.test b/test/sql/copy/parquet/parquet_filename.test index 6ae1521aa716..aa659c6976f3 100644 --- a/test/sql/copy/parquet/parquet_filename.test +++ b/test/sql/copy/parquet/parquet_filename.test @@ -45,6 +45,7 @@ COPY test_csv TO '__TEST_DIR__/filename_as_column.csv' WITH HEADER; # This currently fails with a binder error statement error SELECT id, filename FROM read_csv_auto('__TEST_DIR__/filename_as_column.csv', HEADER=1, FILENAME=1); +---- # Parquet filename name conflict statement ok @@ -56,6 +57,7 @@ COPY test TO '__TEST_DIR__/filename_as_column.parquet'; # we currently don't support filename as a column name when using the filename option statement error SELECT * FROM parquet_scan('__TEST_DIR__/filename_as_column.parquet', FILENAME=1); +---- # Now also test copy statement ok diff --git a/test/sql/copy/parquet/parquet_filename_filter.test b/test/sql/copy/parquet/parquet_filename_filter.test index 25df7de87946..408a6835f40b 100644 --- a/test/sql/copy/parquet/parquet_filename_filter.test +++ b/test/sql/copy/parquet/parquet_filename_filter.test @@ -91,4 +91,4 @@ select id, value from parquet_scan('data/parquet-testing/hive-partitioning/*/*/* query II select id, value from parquet_scan('data/parquet-testing/hive-partitioning/*/*/*/test.parquet', FILENAME=1) where filename like '%simple%' and value = 'value2'; ---- -2 value2 \ No newline at end of file +2 value2 diff --git a/test/sql/copy/parquet/parquet_glob.test b/test/sql/copy/parquet/parquet_glob.test index d27c9f16b54c..2137aba8358a 100644 --- a/test/sql/copy/parquet/parquet_glob.test +++ b/test/sql/copy/parquet/parquet_glob.test @@ -68,10 +68,12 @@ FROM parquet_scan('data/parquet-testing/glob3/*/dir/*.parquet'); statement error select count(*) from parquet_scan('') +---- # schema mismatch in parquet glob statement error select * from parquet_scan('data/parquet-testing/*.parquet') +---- # parquet glob with COPY FROM statement ok @@ -92,3 +94,4 @@ CREATE TABLE vals2 (i INTEGER, j INTEGER) statement error COPY vals2 FROM '*/sql/*/parquet/*/glob/t?.parquet' (FORMAT PARQUET); +---- diff --git a/test/sql/copy/parquet/parquet_glob_s3.test b/test/sql/copy/parquet/parquet_glob_s3.test index 373f004c6514..2b288df8a0ce 100644 --- a/test/sql/copy/parquet/parquet_glob_s3.test +++ b/test/sql/copy/parquet/parquet_glob_s3.test @@ -50,6 +50,7 @@ CREATE TABLE vals2 (i INTEGER, j INTEGER) statement error COPY vals2 FROM 's3://test-bucket/parquet_glob_s3/nonexistentfolderblablabla/t*.parquet' (FORMAT PARQUET); +---- # Test variety of urls with both url styles foreach urlstyle path vhost @@ -91,6 +92,7 @@ select count(*) from parquet_scan('s3://test-bucket/parquet_glob_s3/with*/*.parq # schema mismatch in parquet glob statement error select count(*) from parquet_scan('s3://test-bucket/parquet_glob_s3/notglob/*.parquet') +---- # parallel testing statement ok @@ -120,12 +122,12 @@ select count(*) from parquet_scan('s3://test-bucket/parquet_glob_s3/g*/t1.parque statement error select count(*) from parquet_scan('s3://test-bucket/parquet_glob_s3/glob/t?.parquet') ---- -IO Error: Invalid query parameters found. +Invalid query parameters found. statement error select count(*) from parquet_scan('s3://test-bucket/parquet_glob_s3/?lob/t?.parquet') ---- -IO Error: Invalid query parameters found. +Invalid query parameters found. # Finally, enabling url compatibility mode will disable globs allowing a user to query files with special chars statement ok diff --git a/test/sql/copy/parquet/parquet_hive.test b/test/sql/copy/parquet/parquet_hive.test index f58a863d9b80..052e5b1a2880 100644 --- a/test/sql/copy/parquet/parquet_hive.test +++ b/test/sql/copy/parquet/parquet_hive.test @@ -185,12 +185,12 @@ COPY (SELECT * FROM t1) TO '__TEST_DIR__/hive_filters_2' (FORMAT PARQUET, PARTIT # There should be Table Filters (id < 50) and regular filters query II -EXPLAIN select a from parquet_scan('__TEST_DIR__/hive_filters/*/*.parquet', HIVE_PARTITIONING=1, HIVE_TYPES_AUTOCAST=0) where c=500 and a < 4; +EXPLAIN select a from parquet_scan('__TEST_DIR__/hive_filters/*/*.parquet', HIVE_PARTITIONING=1, HIVE_TYPES_AUTOCAST=0) where c::INT=500 and a::INT < 4; ---- physical_plan :.*PARQUET_SCAN.*Filters:.*a<4 AND a IS NOT.*NULL.*File Filters: \(CAST\(c AS.*INTEGER\) = 500\).* # unsatisfiable file filters also show up query II -EXPLAIN select a from parquet_scan('__TEST_DIR__/hive_filters_2/*/*/*.parquet', HIVE_PARTITIONING=1, HIVE_TYPES_AUTOCAST=0) where c > 500 and c < 500; +EXPLAIN select a from parquet_scan('__TEST_DIR__/hive_filters_2/*/*/*.parquet', HIVE_PARTITIONING=1, HIVE_TYPES_AUTOCAST=0) where c::INT > 500 and c::INT < 500; ---- physical_plan :.*PARQUET_SCAN.*File Filters:.*\(CAST\(c AS.*INTEGER\).*BETWEEN 500.* diff --git a/test/sql/copy/parquet/parquet_hive_empty.test b/test/sql/copy/parquet/parquet_hive_empty.test new file mode 100644 index 000000000000..ab11846371b7 --- /dev/null +++ b/test/sql/copy/parquet/parquet_hive_empty.test @@ -0,0 +1,14 @@ +# name: test/sql/copy/parquet/parquet_hive_empty.test +# description: Test empty partitioning values +# group: [parquet] + +require parquet + +query II +select * +from parquet_scan('data/parquet-testing/hive-partitioning/empty_string/*/*.parquet', hive_partitioning=1) +ORDER BY ALL +---- +a a +b (empty) + diff --git a/test/sql/copy/parquet/parquet_http_prefetch.test b/test/sql/copy/parquet/parquet_http_prefetch.test index a59c84b662db..09303e8cbcb8 100644 --- a/test/sql/copy/parquet/parquet_http_prefetch.test +++ b/test/sql/copy/parquet/parquet_http_prefetch.test @@ -38,4 +38,4 @@ CREATE TABLE test as SELECT * from 's3://test-bucket/skip_delay.parquet' where a query I SELECT COUNT(*) FROM test; ---- -0 \ No newline at end of file +0 diff --git a/test/sql/copy/parquet/parquet_list.test b/test/sql/copy/parquet/parquet_list.test index 8b4d173b417a..eea5fd9e5613 100644 --- a/test/sql/copy/parquet/parquet_list.test +++ b/test/sql/copy/parquet/parquet_list.test @@ -28,10 +28,11 @@ select count(*) from parquet_scan(['data/parquet-testing/glob/t1.parquet', 'data # file does not exist statement error select count(*) from parquet_scan(['data/parquet-testing/glob/t1.parquet', 'data/parquet-testing/glob/t2.parquet', 'this/file/doesnot/exist/hopefully.parquet']); +---- # empty list statement error -select count(*) from parquet_scan([]); +select count(*) from parquet_scan([]::varchar[]); ---- at least one file @@ -51,4 +52,4 @@ NULL statement error select count(*) from parquet_scan(NULL::VARCHAR); ---- -NULL \ No newline at end of file +NULL diff --git a/test/sql/copy/parquet/parquet_metadata_cache.test b/test/sql/copy/parquet/parquet_metadata_cache.test index 26cd65f149fe..25113465abb9 100644 --- a/test/sql/copy/parquet/parquet_metadata_cache.test +++ b/test/sql/copy/parquet/parquet_metadata_cache.test @@ -63,4 +63,4 @@ select * from parquet_scan('data/parquet-testing/glob2/t1.parquet') query I select count(*) from parquet_scan('data/parquet-testing/glob/*.parquet') ---- -2 \ No newline at end of file +2 diff --git a/test/sql/copy/parquet/parquet_schema_evolution.test b/test/sql/copy/parquet/parquet_schema_evolution.test index c99200646d97..c2d97002d66b 100644 --- a/test/sql/copy/parquet/parquet_schema_evolution.test +++ b/test/sql/copy/parquet/parquet_schema_evolution.test @@ -34,9 +34,11 @@ SELECT a FROM parquet_scan(['__TEST_DIR__/evolution_2.parquet', '__TEST_DIR__/ev # reading either b or c results in an error, since the name is not present in both files statement error SELECT b FROM '__TEST_DIR__/evolution_*.parquet' ORDER BY 1 +---- statement error SELECT c FROM '__TEST_DIR__/evolution_*.parquet' ORDER BY 1 +---- # we can also do this with COPY statement ok @@ -71,6 +73,7 @@ SELECT a FROM '__TEST_DIR__/evolution_*.parquet' ORDER BY 1 # reading either b results in an error, however, since we can't cast from 'hello' to integer statement error SELECT b FROM parquet_scan(['__TEST_DIR__/evolution_1.parquet', '__TEST_DIR__/evolution_2.parquet']) ORDER BY 1 +---- # if we flip the order of the reads we can read b query I @@ -95,6 +98,7 @@ SELECT a FROM '__TEST_DIR__/evolution_*.parquet' ORDER BY 1 # reading either b results in an error, however, since we can't cast from 'hello' to integer statement error SELECT b FROM parquet_scan(['__TEST_DIR__/evolution_1.parquet', '__TEST_DIR__/evolution_2.parquet']) ORDER BY 1 +---- # if we flip the order of the reads we can read b query I diff --git a/test/sql/copy/parquet/parquet_union_by_name.test b/test/sql/copy/parquet/parquet_union_by_name.test index ca7df157834f..f5d35a5111c3 100644 --- a/test/sql/copy/parquet/parquet_union_by_name.test +++ b/test/sql/copy/parquet/parquet_union_by_name.test @@ -43,6 +43,7 @@ COPY ubn3 TO '__TEST_DIR__/ubn3.parquet' WITH (FORMAT PARQUET); # If use SELECT * some filesystem may surprisingly success statement error SELECT a,b,c FROM parquet_scan('__TEST_DIR__/ubn*.parquet') +---- query III SELECT a,b,c @@ -63,6 +64,7 @@ statement error SELECT a FROM parquet_scan(['__TEST_DIR__/ubn2.parquet', '__TEST_DIR__/ubn1.parquet', '__TEST_DIR__/ubn3.parquet']) ORDER BY a; +---- # with union by name, parquet readers will use max logical type query I @@ -83,6 +85,7 @@ statement error SELECT b FROM parquet_scan('__TEST_DIR__/ubn*.parquet') ORDER BY b; +---- query I SELECT b @@ -126,13 +129,7 @@ LIMIT 1; ---- INTEGER[] BIGINT[] INTEGER[] - -# interger can not cast to list -statement error -SELECT * -FROM parquet_scan('__TEST_DIR__/*.parquet', union_by_name=true); - statement ok PRAGMA threads=1 -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/parquet/parquet_union_by_name.test_slow b/test/sql/copy/parquet/parquet_union_by_name.test_slow index df56cd303208..46aeabc34100 100644 --- a/test/sql/copy/parquet/parquet_union_by_name.test_slow +++ b/test/sql/copy/parquet/parquet_union_by_name.test_slow @@ -23,4 +23,4 @@ TO '__TEST_DIR__/union_by_name_lineitem2.parquet' (FORMAT PARQUET); query III SELECT SUM(l_partkey), SUM(l_suppkey), SUM(l_orderkey) FROM parquet_scan('__TEST_DIR__/union_by_name_lineitem*.parquet', union_by_name=TRUE) ---- -12016239468 601239036 360448084286 \ No newline at end of file +12016239468 601239036 360448084286 diff --git a/test/sql/copy/parquet/parquet_write_codecs.test b/test/sql/copy/parquet/parquet_write_codecs.test index bd8c169db110..04b81cb7cc2a 100644 --- a/test/sql/copy/parquet/parquet_write_codecs.test +++ b/test/sql/copy/parquet/parquet_write_codecs.test @@ -43,11 +43,14 @@ SELECT * FROM parquet_scan('__TEST_DIR__/zstd.parquet'); # unsupported codec statement error COPY (SELECT 42, 'hello') TO '__TEST_DIR__/gzip.parquet' (FORMAT 'parquet', CODEC 'BLABLABLA'); +---- # empty codec statement error COPY (SELECT 42, 'hello') TO '__TEST_DIR__/gzip.parquet' (FORMAT 'parquet', CODEC); +---- # integer codec statement error COPY (SELECT 42, 'hello') TO '__TEST_DIR__/gzip.parquet' (FORMAT 'parquet', CODEC 3); +---- diff --git a/test/sql/copy/parquet/test_parquet_duplicate_columns.test b/test/sql/copy/parquet/test_parquet_duplicate_columns.test index edd60f7c306c..d6878dccb4da 100644 --- a/test/sql/copy/parquet/test_parquet_duplicate_columns.test +++ b/test/sql/copy/parquet/test_parquet_duplicate_columns.test @@ -6,27 +6,27 @@ require parquet statement ok COPY (SELECT 1 as a, 2 as a, 3 as a) TO '__TEST_DIR__/dupe_cols.parquet'; -# The duplicate column(s) get `:{index}` appended to it +# The duplicate column(s) get `_{index}` appended to it query III -SELECT a, "a:1", "a:2" FROM '__TEST_DIR__/dupe_cols.parquet'; +SELECT a, "a_1", "a_2" FROM '__TEST_DIR__/dupe_cols.parquet'; ---- 1 2 3 # Original names are not preserved if a dupe appears first statement ok -COPY (SELECT 1 as a, 2 as a, 3 as "a:1") TO '__TEST_DIR__/dupe_cols.parquet'; +COPY (SELECT 1 as a, 2 as a, 3 as "a_1") TO '__TEST_DIR__/dupe_cols.parquet'; -# original 'a:1' is renamed to 'a:2' +# original 'a_1' is renamed to 'a_2' query III -SELECT a, "a:1", "a:1:1" FROM '__TEST_DIR__/dupe_cols.parquet'; +SELECT a, "a_1", "a_1_1" FROM '__TEST_DIR__/dupe_cols.parquet'; ---- 1 2 3 statement ok -COPY (SELECT 1 as a, 3 as "a:1", 2 as a) TO '__TEST_DIR__/dupe_cols.parquet'; +COPY (SELECT 1 as a, 3 as "a_1", 2 as a) TO '__TEST_DIR__/dupe_cols.parquet'; # Here the name is preserved, because it appears before the dupe query III -SELECT a, "a:1", "a:2" FROM '__TEST_DIR__/dupe_cols.parquet'; +SELECT a, "a_1", "a_2" FROM '__TEST_DIR__/dupe_cols.parquet'; ---- 1 3 2 diff --git a/test/sql/copy/parquet/test_parquet_filter_pushdown.test b/test/sql/copy/parquet/test_parquet_filter_pushdown.test index e47bcf0b809b..52e698cfeae5 100644 --- a/test/sql/copy/parquet/test_parquet_filter_pushdown.test +++ b/test/sql/copy/parquet/test_parquet_filter_pushdown.test @@ -194,4 +194,4 @@ SELECT COUNT(*) FROM parquet_scan('data/parquet-testing/date.parquet') where d < query I SELECT COUNT(*) FROM parquet_scan('data/parquet-testing/date.parquet') where d is null ---- -9 \ No newline at end of file +9 diff --git a/test/sql/copy/parquet/test_parquet_force_download.test b/test/sql/copy/parquet/test_parquet_force_download.test index 8ba39db035bc..90b01c75d3e9 100644 --- a/test/sql/copy/parquet/test_parquet_force_download.test +++ b/test/sql/copy/parquet/test_parquet_force_download.test @@ -130,4 +130,4 @@ SELECT count(*) FROM (SELECT * FROM PARQUET_SCAN('s3://test-bucket/row-user-data query II explain analyze SELECT id, first_name, last_name, email FROM PARQUET_SCAN('s3://test-bucket/row-user-data.parquet') union all select id, first_name, last_name, email from PARQUET_SCAN('s3://test-bucket/row-user-data_1.parquet') ---- -analyzed_plan :.*GET: 8.* \ No newline at end of file +analyzed_plan :.*GET: 8.* diff --git a/test/sql/copy/parquet/test_parquet_remote.test b/test/sql/copy/parquet/test_parquet_remote.test index 1cf357fbae32..d1c82e00f1e1 100644 --- a/test/sql/copy/parquet/test_parquet_remote.test +++ b/test/sql/copy/parquet/test_parquet_remote.test @@ -9,18 +9,22 @@ require parquet # non existent host statement error SELECT * FROM PARQUET_SCAN('https://this-host-does-not-exist-for-sure/test.parquet'); +---- # non existent file statement error SELECT * FROM PARQUET_SCAN('https://duckdb.org/test.parquet'); +---- # missing path statement error SELECT * FROM PARQUET_SCAN('https://duckdb.org'); +---- # empty path statement error SELECT * FROM PARQUET_SCAN('https://duckdb.org/'); +---- # straightforward query IIII @@ -76,4 +80,4 @@ SELECT id, first_name, last_name, email FROM PARQUET_SCAN('https://github.com/du query IIII SELECT id, first_name, last_name, email FROM PARQUET_SCAN('https://github.com/duckdb/duckdb-data/releases/download/v1.0/us%2Ber%2Bda%2Bta.parquet') LIMIT 1; ---- -1 Amanda Jordan ajordan0@com.com \ No newline at end of file +1 Amanda Jordan ajordan0@com.com diff --git a/test/sql/copy/parquet/test_parquet_remote_foreign_files.test b/test/sql/copy/parquet/test_parquet_remote_foreign_files.test index f9e0df22bcd2..0a210b4d18b1 100644 --- a/test/sql/copy/parquet/test_parquet_remote_foreign_files.test +++ b/test/sql/copy/parquet/test_parquet_remote_foreign_files.test @@ -85,4 +85,4 @@ query IIII select * from parquet_scan('https://raw.githubusercontent.com/duckdb/duckdb/main/data/parquet-testing/arrow/nation.dict-malformed.parquet') limit 2; ---- 0 ALGERIA 0 haggle. carefully final deposits detect slyly agai -1 ARGENTINA 1 al foxes promise slyly according to the regular accounts. bold requests alon \ No newline at end of file +1 ARGENTINA 1 al foxes promise slyly according to the regular accounts. bold requests alon diff --git a/test/sql/copy/parquet/test_parquet_scan.test b/test/sql/copy/parquet/test_parquet_scan.test index 608d33fb803a..af06f274dde9 100644 --- a/test/sql/copy/parquet/test_parquet_scan.test +++ b/test/sql/copy/parquet/test_parquet_scan.test @@ -10,6 +10,7 @@ PRAGMA enable_verification # Exception on missing file statement error SELECT * FROM parquet_scan('does_not_exist') +---- # alltypes_plain.parquet query ITIIIIRRTTT @@ -245,3 +246,4 @@ SELECT FIRST(comments) OVER w, LAST(comments) OVER w FROM userdata1 WINDOW w AS statement error SELECT * FROM parquet_scan('data/parquet-testing/broken-arrow.parquet') +---- diff --git a/test/sql/copy/parquet/test_parquet_stats.test b/test/sql/copy/parquet/test_parquet_stats.test index 10bc78bde66f..6ef8be592ee3 100644 --- a/test/sql/copy/parquet/test_parquet_stats.test +++ b/test/sql/copy/parquet/test_parquet_stats.test @@ -109,4 +109,4 @@ pragma disable_object_cache # no stats again query I nosort nostats explain select time from parquet_scan('data/parquet-testing/timestamp*.parquet') where time > '2020-10-06' ----- \ No newline at end of file +---- diff --git a/test/sql/copy/parquet/writer/parquet_test_all_types.test b/test/sql/copy/parquet/writer/parquet_test_all_types.test index 73d2a4ff6c1c..10c0410a56df 100644 --- a/test/sql/copy/parquet/writer/parquet_test_all_types.test +++ b/test/sql/copy/parquet/writer/parquet_test_all_types.test @@ -16,14 +16,15 @@ SELECT * EXCLUDE (bit, "union") REPLACE ( FROM test_all_types(); statement ok -COPY all_types TO '__TEST_DIR__/all_types.parquet' (FORMAT PARQUET); +COPY all_types TO "__TEST_DIR__/all_types.parquet" (FORMAT PARQUET); # we have to make some replacements to get result equivalence -# hugeint is stored as double -> we have to cast +# hugeint/uhugeint is stored as double -> we have to cast # TIME WITH TIME ZONE loses the offset query I nosort alltypes SELECT * REPLACE ( hugeint::DOUBLE AS hugeint, + uhugeint::DOUBLE AS uhugeint, time_tz::TIME::TIMETZ AS time_tz ) FROM all_types @@ -33,6 +34,6 @@ query I nosort alltypes SELECT * FROM '__TEST_DIR__/all_types.parquet' ---- -false -128 -32768 -2147483648 -9223372036854775808 -1.7014118346046923e+38 0 0 0 0 5877642-06-25 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 1677-09-21 00:12:43.145225 00:00:00+00 290309-12-22 (BC) 00:00:00+00 -3.4028235e+38 -1.7976931348623157e+308 -999.9 -99999.9999 -999999999999.999999 -9999999999999999999999999999.9999999999 00000000-0000-0000-0000-000000000001 00:00:00 🦆🦆🦆🦆🦆🦆 thisisalongblob\x00withnullbytes DUCK_DUCK_ENUM enum_0 enum_0 [] [] [] [] [] [] [] {'a': NULL, 'b': NULL} {'a': NULL, 'b': NULL} [] {} -true 127 32767 2147483647 9223372036854775807 1.7014118346046923e+38 255 65535 4294967295 18446744073709551615 5881580-07-10 23:59:59.999999 294247-01-10 04:00:54.775806 294247-01-10 04:00:54 294247-01-10 04:00:54.775 2262-04-11 23:47:16.854775 23:59:59.999999+00 294247-01-10 04:00:54.775806+00 3.4028235e+38 1.7976931348623157e+308 999.9 99999.9999 999999999999.999999 9999999999999999999999999999.9999999999 ffffffff-ffff-ffff-ffff-ffffffffffff 1 month 1 day 12:13:34.123 goo\0se \x00\x00\x00a GOOSE enum_299 enum_69999 [42, 999, NULL, NULL, -42] [42.0, nan, inf, -inf, NULL, -42.0] [1970-01-01, infinity, -infinity, NULL, 2022-05-12] [1970-01-01 00:00:00, infinity, -infinity, NULL, 2022-05-12 16:23:45] [1970-01-01 00:00:00+00, infinity, -infinity, NULL, 2022-05-12 23:23:45+00] [🦆🦆🦆🦆🦆🦆, goose, NULL, ] [[], [42, 999, NULL, NULL, -42], NULL, [], [42, 999, NULL, NULL, -42]] {'a': 42, 'b': 🦆🦆🦆🦆🦆🦆} {'a': [42, 999, NULL, NULL, -42], 'b': [🦆🦆🦆🦆🦆🦆, goose, NULL, ]} [{'a': NULL, 'b': NULL}, {'a': 42, 'b': 🦆🦆🦆🦆🦆🦆}, NULL] {key1=🦆🦆🦆🦆🦆🦆, key2=goose} +false -128 -32768 -2147483648 -9223372036854775808 -1.7014118346046923e+38 0 0 0 0 5877642-06-25 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 1677-09-21 00:12:43.145225 00:00:00+00 290309-12-22 (BC) 00:00:00+00 -3.4028235e+38 -1.7976931348623157e+308 -999.9 -99999.9999 -999999999999.999999 -9999999999999999999999999999.9999999999 00000000-0000-0000-0000-000000000000 00:00:00 🦆🦆🦆🦆🦆🦆 thisisalongblob\x00withnullbytes DUCK_DUCK_ENUM enum_0 enum_0 [] [] [] [] [] [] [] {'a': NULL, 'b': NULL} {'a': NULL, 'b': NULL} [] {} +true 127 32767 2147483647 9223372036854775807 1.7014118346046923e+38 255 65535 4294967295 18446744073709551615 5881580-07-10 24:00:00 294247-01-10 04:00:54.775806 294247-01-10 04:00:54 294247-01-10 04:00:54.775 2262-04-11 23:47:16.854775 23:59:59.999999+00 294247-01-10 04:00:54.775806+00 3.4028235e+38 1.7976931348623157e+308 999.9 99999.9999 999999999999.999999 9999999999999999999999999999.9999999999 ffffffff-ffff-ffff-ffff-ffffffffffff 1 month 1 day 12:13:34.123 goo\0se \x00\x00\x00a GOOSE enum_299 enum_69999 [42, 999, NULL, NULL, -42] [42.0, nan, inf, -inf, NULL, -42.0] [1970-01-01, infinity, -infinity, NULL, 2022-05-12] [1970-01-01 00:00:00, infinity, -infinity, NULL, 2022-05-12 16:23:45] [1970-01-01 00:00:00+00, infinity, -infinity, NULL, 2022-05-12 23:23:45+00] [🦆🦆🦆🦆🦆🦆, goose, NULL, ] [[], [42, 999, NULL, NULL, -42], NULL, [], [42, 999, NULL, NULL, -42]] {'a': 42, 'b': 🦆🦆🦆🦆🦆🦆} {'a': [42, 999, NULL, NULL, -42], 'b': [🦆🦆🦆🦆🦆🦆, goose, NULL, ]} [{'a': NULL, 'b': NULL}, {'a': 42, 'b': 🦆🦆🦆🦆🦆🦆}, NULL] {key1=🦆🦆🦆🦆🦆🦆, key2=goose} NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL diff --git a/test/sql/copy/parquet/writer/parquet_write_interval.test b/test/sql/copy/parquet/writer/parquet_write_interval.test index c78ed03c64bd..38605f949dce 100644 --- a/test/sql/copy/parquet/writer/parquet_write_interval.test +++ b/test/sql/copy/parquet/writer/parquet_write_interval.test @@ -35,3 +35,4 @@ NULL statement error COPY (SELECT -interval '1 day') TO '__TEST_DIR__/intervals.parquet' +---- diff --git a/test/sql/copy/parquet/writer/parquet_write_issue_5779.test b/test/sql/copy/parquet/writer/parquet_write_issue_5779.test index cd3c669907f8..ecff4097dfa7 100644 --- a/test/sql/copy/parquet/writer/parquet_write_issue_5779.test +++ b/test/sql/copy/parquet/writer/parquet_write_issue_5779.test @@ -71,4 +71,4 @@ SELECT * FROM '__TEST_DIR__/empty_list_nested.parquet' [] [] [] -[] \ No newline at end of file +[] diff --git a/test/sql/copy/parquet/writer/parquet_write_signed.test b/test/sql/copy/parquet/writer/parquet_write_signed.test index a2f8a1734049..28d9203f2346 100644 --- a/test/sql/copy/parquet/writer/parquet_write_signed.test +++ b/test/sql/copy/parquet/writer/parquet_write_signed.test @@ -72,4 +72,4 @@ SELECT typeof(d)='${type}' FROM '__TEST_DIR__/signed.parquet' LIMIT 1 ---- true -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/parquet/writer/parquet_write_string_distinct.test b/test/sql/copy/parquet/writer/parquet_write_string_distinct.test new file mode 100644 index 000000000000..96cbbeb4d521 --- /dev/null +++ b/test/sql/copy/parquet/writer/parquet_write_string_distinct.test @@ -0,0 +1,16 @@ +# name: test/sql/copy/parquet/writer/parquet_write_string_distinct.test +# description: Write distinct stats for strings +# group: [writer] + +require parquet + +statement ok +PRAGMA enable_verification + +statement ok +COPY (SELECT 'hello' FROM range(10)) TO '__TEST_DIR__/string_dict.parquet'; + +query I +SELECT stats_distinct_count FROM parquet_metadata('__TEST_DIR__/string_dict.parquet'); +---- +1 diff --git a/test/sql/copy/parquet/writer/parquet_write_strings.test b/test/sql/copy/parquet/writer/parquet_write_strings.test index 9ccd57a69edd..bdc576606cf2 100644 --- a/test/sql/copy/parquet/writer/parquet_write_strings.test +++ b/test/sql/copy/parquet/writer/parquet_write_strings.test @@ -260,4 +260,4 @@ NULL NULL 27 28 -29 \ No newline at end of file +29 diff --git a/test/sql/copy/parquet/writer/parquet_write_timestamp.test b/test/sql/copy/parquet/writer/parquet_write_timestamp.test index eeb3c73a16e8..f2fe0637f72f 100644 --- a/test/sql/copy/parquet/writer/parquet_write_timestamp.test +++ b/test/sql/copy/parquet/writer/parquet_write_timestamp.test @@ -40,4 +40,4 @@ SELECT typeof(d) FROM '__TEST_DIR__/timestamps.parquet' LIMIT 1 ---- TIMESTAMP -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/parquet/writer/parquet_write_uhugeint.test b/test/sql/copy/parquet/writer/parquet_write_uhugeint.test new file mode 100644 index 000000000000..3bb3fe7d88b4 --- /dev/null +++ b/test/sql/copy/parquet/writer/parquet_write_uhugeint.test @@ -0,0 +1,31 @@ +# name: test/sql/copy/parquet/writer/parquet_write_uhugeint.test +# description: Parquet uhugeint round trip +# group: [writer] + +require parquet + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE hugeints(h UHUGEINT) + +statement ok +INSERT INTO hugeints VALUES (0), (1), (NULL), (1180591620717411303424) + +statement ok +COPY hugeints TO '__TEST_DIR__/hugeints.parquet' (FORMAT 'parquet'); + +query I +SELECT * FROM '__TEST_DIR__/hugeints.parquet' +---- +0 +1 +NULL +1180591620717411303424 + +query I +SELECT typeof(h) FROM '__TEST_DIR__/hugeints.parquet' LIMIT 1 +---- +DOUBLE + diff --git a/test/sql/copy/parquet/writer/parquet_write_unsigned.test b/test/sql/copy/parquet/writer/parquet_write_unsigned.test index f8f4137bd6e8..b4e3565c2236 100644 --- a/test/sql/copy/parquet/writer/parquet_write_unsigned.test +++ b/test/sql/copy/parquet/writer/parquet_write_unsigned.test @@ -72,4 +72,4 @@ SELECT typeof(d)='${type}' FROM '__TEST_DIR__/unsigned.parquet' LIMIT 1 ---- true -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/parquet/writer/row_group_size_bytes.test b/test/sql/copy/parquet/writer/row_group_size_bytes.test index ab5d6aa19476..d8edbb0905a8 100644 --- a/test/sql/copy/parquet/writer/row_group_size_bytes.test +++ b/test/sql/copy/parquet/writer/row_group_size_bytes.test @@ -6,8 +6,12 @@ require parquet require vector_size 1024 +statement ok +SET preserve_insertion_order=false + statement error copy (select 42) to '__TEST_DIR__/tbl.parquet' (ROW_GROUP_SIZE_BYTES) +---- # we can use human-readable memory limits statement ok diff --git a/test/sql/copy/parquet/writer/test_copy_overwrite_parquet.test b/test/sql/copy/parquet/writer/test_copy_overwrite_parquet.test index dff13f965882..317cb85744f3 100644 --- a/test/sql/copy/parquet/writer/test_copy_overwrite_parquet.test +++ b/test/sql/copy/parquet/writer/test_copy_overwrite_parquet.test @@ -48,6 +48,7 @@ SELECT * FROM test ORDER BY 1; # test query returning error does not export to file statement error COPY (SELECT i FROM range(1) tbl(i) UNION ALL SELECT concat('hello', i)::INT i FROM range(1) tbl(i)) to '__TEST_DIR__/overwrite.parquet' (FORMAT PARQUET); +---- statement ok DELETE FROM test; @@ -67,6 +68,8 @@ SELECT * FROM test ORDER BY 1; # Test USE_TMP_FILE flag with parquet statement error COPY (SELECT i FROM range(1) tbl(i) UNION ALL SELECT concat('hello', i)::INT i FROM range(1) tbl(i)) to '__TEST_DIR__/overwrite.parquet' (FORMAT PARQUET, USE_TMP_FILE FALSE); +---- statement error -SELECT * FROM '__TEST_DIR__/overwrite.parquet'; \ No newline at end of file +SELECT * FROM '__TEST_DIR__/overwrite.parquet'; +---- diff --git a/test/sql/copy/parquet/writer/write_map.test b/test/sql/copy/parquet/writer/write_map.test index 02853d0a085c..6bd626de8e85 100644 --- a/test/sql/copy/parquet/writer/write_map.test +++ b/test/sql/copy/parquet/writer/write_map.test @@ -29,10 +29,12 @@ statement error INSERT INTO int_maps VALUES (MAP([NULL], [NULL])) ; +---- # parquet does not support keys with null values statement error COPY string_map TO '__TEST_DIR__/int_maps.parquet' (FORMAT PARQUET) +---- # string -> string map statement ok @@ -63,6 +65,7 @@ statement error INSERT INTO string_map VALUES (MAP([NULL], [NULL])) ; +---- # list -> list map statement ok @@ -92,3 +95,4 @@ statement error INSERT INTO list_map VALUES (MAP([NULL], [NULL])) ; +---- diff --git a/test/sql/copy/parquet/writer/write_stats_big_string.test b/test/sql/copy/parquet/writer/write_stats_big_string.test index 9916c24e56aa..5810688f7e47 100644 --- a/test/sql/copy/parquet/writer/write_stats_big_string.test +++ b/test/sql/copy/parquet/writer/write_stats_big_string.test @@ -32,4 +32,4 @@ COPY varchar TO '__TEST_DIR__/bigvarchar.parquet' query IIII SELECT stats_min_value, stats_max_value, stats_min, stats_max FROM parquet_metadata('__TEST_DIR__/bigvarchar.parquet') ---- -NULL NULL NULL NULL \ No newline at end of file +NULL NULL NULL NULL diff --git a/test/sql/copy/parquet/writer/write_stats_min_max.test_slow b/test/sql/copy/parquet/writer/write_stats_min_max.test_slow index 2259612b3d60..67844fe8ca14 100644 --- a/test/sql/copy/parquet/writer/write_stats_min_max.test_slow +++ b/test/sql/copy/parquet/writer/write_stats_min_max.test_slow @@ -184,7 +184,7 @@ endloop # no stats for these types statement ok -CREATE TABLE hugeint_limits AS SELECT (-170141183460469231731687303715884105727)::HUGEINT min, 170141183460469231731687303715884105727::HUGEINT max +CREATE TABLE hugeint_limits AS SELECT (-170141183460469231731687303715884105728)::HUGEINT min, 170141183460469231731687303715884105727::HUGEINT max foreach type hugeint diff --git a/test/sql/copy/parquet/writer/writer_round_trip.test_slow b/test/sql/copy/parquet/writer/writer_round_trip.test_slow index 40afd4e86097..1d526aefb2ae 100644 --- a/test/sql/copy/parquet/writer/writer_round_trip.test_slow +++ b/test/sql/copy/parquet/writer/writer_round_trip.test_slow @@ -32,4 +32,4 @@ DROP TABLE parquet_read statement ok DROP TABLE parquet_write -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/partitioned/hive_filter_pushdown.test b/test/sql/copy/partitioned/hive_filter_pushdown.test index 0ae31ff48f92..e03265ff2b6e 100644 --- a/test/sql/copy/partitioned/hive_filter_pushdown.test +++ b/test/sql/copy/partitioned/hive_filter_pushdown.test @@ -23,18 +23,18 @@ explain SELECT * FROM parquet_scan('__TEST_DIR__/hive_pushdown_bug/*/*.parquet') physical_plan :.*PARQUET_SCAN.*File Filters:.* query II -explain SELECT * FROM parquet_scan('__TEST_DIR__/hive_pushdown_bug/*/*.parquet', HIVE_PARTITIONING=1) where a > c; +explain SELECT * FROM parquet_scan('__TEST_DIR__/hive_pushdown_bug/*/*.parquet', HIVE_PARTITIONING=1) where a::VARCHAR > c::VARCHAR; ---- physical_plan :.*AND.* # no file filters here query II nosort q2 -explain SELECT * FROM parquet_scan('__TEST_DIR__/hive_pushdown_bug/*/*.parquet', HIVE_PARTITIONING=1) where a > c; +explain SELECT * FROM parquet_scan('__TEST_DIR__/hive_pushdown_bug/*/*.parquet', HIVE_PARTITIONING=1) where a::VARCHAR > c::VARCHAR; ---- physical_plan :.*PARQUET_SCAN.*File Filters:.* query II nosort q2 -explain SELECT * FROM parquet_scan('__TEST_DIR__/hive_pushdown_bug/*/*.parquet') where a > c; +explain SELECT * FROM parquet_scan('__TEST_DIR__/hive_pushdown_bug/*/*.parquet') where a::VARCHAR > c::VARCHAR; ---- physical_plan :.*PARQUET_SCAN.*File Filters:.* @@ -45,7 +45,7 @@ explain SELECT * FROM parquet_scan('__TEST_DIR__/hive_pushdown_bug/*/*.parquet', physical_plan :.*PARQUET_SCAN.*File Filters: \(c = 500\).* query II -explain SELECT * FROM parquet_scan('__TEST_DIR__/hive_pushdown_bug/*/*.parquet', HIVE_PARTITIONING=1, HIVE_TYPES_AUTOCAST=1) where c=500 and b=20; +explain SELECT * FROM parquet_scan('__TEST_DIR__/hive_pushdown_bug/*/*.parquet', HIVE_PARTITIONING=1, HIVE_TYPES_AUTOCAST=1) where c=500 and b='20'; ---- physical_plan :.*PARQUET_SCAN.*File Filters: \(c = 500\).* diff --git a/test/sql/copy/partitioned/hive_partitioned_write.test b/test/sql/copy/partitioned/hive_partitioned_write.test index 31257e7eddf9..cd1714968f9a 100644 --- a/test/sql/copy/partitioned/hive_partitioned_write.test +++ b/test/sql/copy/partitioned/hive_partitioned_write.test @@ -90,7 +90,7 @@ SELECT part_col, value_col, value2_col FROM parquet_scan('__TEST_DIR__/partition statement error COPY test TO '__TEST_DIR__/partitioned4' (FORMAT PARQUET, PARTITION_BY part_col); ---- -IO Error: Directory +Directory # Trailing slash ist auch gut! statement ok @@ -192,4 +192,4 @@ ORDER BY min_val 6 7 8 -9 \ No newline at end of file +9 diff --git a/test/sql/copy/partitioned/hive_partitioned_write.test_slow b/test/sql/copy/partitioned/hive_partitioned_write.test_slow index 827be7314829..7881dba28116 100644 --- a/test/sql/copy/partitioned/hive_partitioned_write.test_slow +++ b/test/sql/copy/partitioned/hive_partitioned_write.test_slow @@ -48,4 +48,4 @@ PRAGMA tpch(${i}) endloop statement ok -pragma threads=1; \ No newline at end of file +pragma threads=1; diff --git a/test/sql/copy/per_thread_output.test b/test/sql/copy/per_thread_output.test index f29a3e27906e..d6af57c94d2c 100644 --- a/test/sql/copy/per_thread_output.test +++ b/test/sql/copy/per_thread_output.test @@ -59,6 +59,7 @@ SELECT COUNT(*) FROM PARQUET_SCAN('__TEST_DIR__/per_thread_output2/*.parquet') # cant write to existing folders statement error COPY (FROM bigdata) TO '__TEST_DIR__/per_thread_output2/' (FORMAT PARQUET, PER_THREAD_OUTPUT TRUE); +---- # we have not added anything query I @@ -70,3 +71,4 @@ SELECT COUNT(*) FROM PARQUET_SCAN('__TEST_DIR__/per_thread_output2/*.parquet') # this should not work statement error COPY (FROM bigdata) TO '__TEST_DIR__/per_thread_output3' (FORMAT PARQUET, PER_THREAD_OUTPUT TRUE, USE_TMP_FILE TRUE); +---- diff --git a/test/sql/copy/s3/download_config.test b/test/sql/copy/s3/download_config.test index 7bc3bfb43051..2e7e94ab972d 100644 --- a/test/sql/copy/s3/download_config.test +++ b/test/sql/copy/s3/download_config.test @@ -48,6 +48,9 @@ SET http_retry_backoff=1; statement ok SET http_timeout=50000; +statement ok +SET http_keep_alive=false; + # Test the vhost style urls (this is the default) statement ok SET s3_url_style='${url_style}'; @@ -104,21 +107,22 @@ SET s3_url_style='handwritten'; statement error COPY test TO 's3://test-bucket-public/root-dir/test2.parquet'; +---- # 404 statement error SELECT i FROM "http://test-bucket-public.${DUCKDB_S3_ENDPOINT}/root-dir/non-existent-file-ljaslkjdas.parquet" LIMIT 3 ---- -IO Error: Unable to connect to URL "http://test-bucket-public. +Unable to connect to URL "http://test-bucket-public. # Connection error statement error SELECT i FROM "http://test-bucket-public.duckdb-minio-non-existent-host.com:9000/root-dir/non-existent-file-ljaslkjdas.parquet" LIMIT 3 ---- -IO Error: Connection error for HTTP HEAD to 'http://test-bucket-public. +Connection error for HTTP HEAD to 'http://test-bucket-public. # S3 errors should throw on statement error SELECT * FROM parquet_scan('s3://this-aint-no-bucket/no-path/no-file'); ---- -IO Error: Unable to connect to URL "http:// +Unable to connect to URL "http:// diff --git a/test/sql/copy/s3/fully_qualified_s3_url.test b/test/sql/copy/s3/fully_qualified_s3_url.test index 88d3eb156eb0..cc5bb50f9ca5 100644 --- a/test/sql/copy/s3/fully_qualified_s3_url.test +++ b/test/sql/copy/s3/fully_qualified_s3_url.test @@ -36,7 +36,7 @@ SET s3_url_style='path'; statement error COPY test TO 's3://test-bucket/s3_query_params/test.csv'; ---- -IO Error: Unable to connect to URL +Unable to connect to URL #test with .csv file statement ok @@ -152,6 +152,7 @@ SELECT i FROM "s3://test-bucket/s3_query_params/test.parquet?s3_use_ssl=false" L statement error SELECT i FROM "s3://test-bucket/s3_query_params/test.parquet?s3_use_ssl=bla" LIMIT 3 +---- #test url_style statement ok @@ -173,6 +174,31 @@ SET s3_access_key_id='${AWS_ACCESS_KEY_ID}'; SET s3_region='${AWS_DEFAULT_REGION # test faulty input statement error SELECT i FROM "s3://test-bucket/s3_query_params/test.parquet?s3_region=${AWS_DEFAULT_REGION}&s3_access_key_id=incorrect_key_id" LIMIT 3 +---- statement error -SELECT i FROM "s3://test-bucket/s3_query_params/test.parquet?s3_region=${AWS_DEFAULT_REGION}&bla=bla" LIMIT 3 \ No newline at end of file +SELECT i FROM "s3://test-bucket/s3_query_params/test.parquet?s3_region=${AWS_DEFAULT_REGION}&bla=bla" LIMIT 3 +---- + +# test endpoint valid path +statement ok +SET s3_endpoint='${DUCKDB_S3_ENDPOINT}/test-bucket'; SET s3_url_style='path'; + +statement ok +SELECT i FROM "s3://s3_query_params/test.parquet" LIMIT 3 + +# test endpoint invalid url style +statement ok +SET s3_url_style='vhost'; + +statement error +SELECT i FROM "s3://s3_query_params/test.parquet" LIMIT 3 +---- + +# test endpoint invalid path +statement ok +SET s3_endpoint='${DUCKDB_S3_ENDPOINT}/s3_query_params'; SET s3_url_style='path'; + +statement error +SELECT i FROM "s3://test-bucket/test.parquet" LIMIT 3 +---- diff --git a/test/sql/copy/s3/glob_s3_paging.test_slow b/test/sql/copy/s3/glob_s3_paging.test_slow index 680405c336bd..3c4ef0d8b76e 100644 --- a/test/sql/copy/s3/glob_s3_paging.test_slow +++ b/test/sql/copy/s3/glob_s3_paging.test_slow @@ -69,4 +69,4 @@ select sum(column0) from 's3://test-bucket/parquet_glob_s3_paging/paging/t*-${ur endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/s3/hive_partitioned_write_s3.test b/test/sql/copy/s3/hive_partitioned_write_s3.test index 257ed76177d2..b4d586e45ed0 100644 --- a/test/sql/copy/s3/hive_partitioned_write_s3.test +++ b/test/sql/copy/s3/hive_partitioned_write_s3.test @@ -21,6 +21,20 @@ require-env DUCKDB_S3_USE_SSL # override the default behaviour of skipping HTTP errors and connection failures: this test fails on connection issues set ignore_error_messages +statement ok +CREATE SECRET ( + TYPE S3, + PROVIDER config, + KEY_ID '${AWS_ACCESS_KEY_ID}', + SECRET '${AWS_SECRET_ACCESS_KEY}', + REGION '${AWS_DEFAULT_REGION}', + ENDPOINT '${DUCKDB_S3_ENDPOINT}', + USE_SSL '${DUCKDB_S3_USE_SSL}' +) + +statement ok +set s3_endpoint='ensure.secret.is.used.instead.of.duckdb.setting.com' + # Simple table that is easy to partition statement ok CREATE TABLE test as SELECT i%2 as part_col, (i+1)%5 as value_col, i as value2_col from range(0,10) tbl(i); @@ -107,13 +121,13 @@ SELECT part_col, value_col, value2_col FROM parquet_scan('s3://test-bucket/parti statement error COPY test TO 's3://test-bucket/partitioned4' (FORMAT PARQUET, PARTITION_BY part_col); ---- -IO Error: Directory +Directory # a file already exist and, OVERWRITE_OR_IGNORE is set to false, throw error statement error COPY test TO 's3://test-bucket/partitioned4' (FORMAT PARQUET, PARTITION_BY part_col, OVERWRITE_OR_IGNORE FALSE); ---- -IO Error: Directory +Directory # Trailing slash ist auch gut! statement ok diff --git a/test/sql/copy/s3/hive_partitioned_write_s3.test_slow b/test/sql/copy/s3/hive_partitioned_write_s3.test_slow index d3fcea7fe91c..fbca99c5bcd7 100644 --- a/test/sql/copy/s3/hive_partitioned_write_s3.test_slow +++ b/test/sql/copy/s3/hive_partitioned_write_s3.test_slow @@ -69,4 +69,4 @@ PRAGMA tpch(${i}) ---- :extension/tpch/dbgen/answers/sf1/q${i}.csv -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/s3/parquet_s3_tpcds.test_slow b/test/sql/copy/s3/parquet_s3_tpcds.test_slow index b49b5c3dd3d8..757a4b5064c1 100644 --- a/test/sql/copy/s3/parquet_s3_tpcds.test_slow +++ b/test/sql/copy/s3/parquet_s3_tpcds.test_slow @@ -93,4 +93,4 @@ PRAGMA tpcds(${i}) ---- :extension/tpcds/dsdgen/answers/sf0.01/${i}.csv -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/s3/parquet_s3_tpch.test_slow b/test/sql/copy/s3/parquet_s3_tpch.test_slow index 677df70ffbc9..425e24535e5c 100644 --- a/test/sql/copy/s3/parquet_s3_tpch.test_slow +++ b/test/sql/copy/s3/parquet_s3_tpch.test_slow @@ -89,4 +89,4 @@ PRAGMA tpch(${i}) ---- :extension/tpch/dbgen/answers/sf0.01/q${i}.csv -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/s3/s3_presigned_read.test b/test/sql/copy/s3/s3_presigned_read.test index 2bf244df496b..d6032d0ef373 100644 --- a/test/sql/copy/s3/s3_presigned_read.test +++ b/test/sql/copy/s3/s3_presigned_read.test @@ -37,4 +37,4 @@ SELECT phone FROM read_csv_auto('${S3_SMALL_CSV_PRESIGNED_URL}', header=1); query I SELECT i FROM '${S3_SMALL_PARQUET_PRESIGNED_URL}'; ---- -1 \ No newline at end of file +1 diff --git a/test/sql/copy/s3/s3_presigned_read.test_slow b/test/sql/copy/s3/s3_presigned_read.test_slow index dce660677d2a..9bd3da94976e 100644 --- a/test/sql/copy/s3/s3_presigned_read.test_slow +++ b/test/sql/copy/s3/s3_presigned_read.test_slow @@ -45,4 +45,4 @@ WHERE AND 0.07 AND l_quantity < 24; ---- -123141078.2283 \ No newline at end of file +123141078.2283 diff --git a/test/sql/copy/s3/upload_file_parallel.test_slow b/test/sql/copy/s3/upload_file_parallel.test_slow index 494e12d4473c..dc5086a8eddb 100644 --- a/test/sql/copy/s3/upload_file_parallel.test_slow +++ b/test/sql/copy/s3/upload_file_parallel.test_slow @@ -119,4 +119,4 @@ WHERE ---- 1193053.2253 -endloop \ No newline at end of file +endloop diff --git a/test/sql/copy/s3/upload_large_file.test_slow b/test/sql/copy/s3/upload_large_file.test_slow index 652708baaa7e..12a07c390e39 100644 --- a/test/sql/copy/s3/upload_large_file.test_slow +++ b/test/sql/copy/s3/upload_large_file.test_slow @@ -27,7 +27,7 @@ set ignore_error_messages # confirm we use a reasonable amount of memory statement ok -SET memory_limit='2.2GB'; +SET memory_limit='2.5GB'; statement ok set http_timeout=120000; @@ -76,4 +76,4 @@ WHERE AND 0.07 AND l_quantity < 24; ---- -123141078.2283 \ No newline at end of file +123141078.2283 diff --git a/test/sql/copy/s3/upload_large_json_file.test_slow b/test/sql/copy/s3/upload_large_json_file.test_slow new file mode 100644 index 000000000000..b7d77417001e --- /dev/null +++ b/test/sql/copy/s3/upload_large_json_file.test_slow @@ -0,0 +1,87 @@ +# name: test/sql/copy/s3/upload_large_json_file.test_slow +# description: Copy large json files from and to S3. +# group: [s3] + +require tpch + +require json + +require parquet + +require httpfs + +require-env S3_TEST_SERVER_AVAILABLE 1 + +# Require that these environment variables are also set + +require-env AWS_DEFAULT_REGION + +require-env AWS_ACCESS_KEY_ID + +require-env AWS_SECRET_ACCESS_KEY + +require-env DUCKDB_S3_ENDPOINT + +require-env DUCKDB_S3_USE_SSL + +# override the default behaviour of skipping HTTP errors and connection failures: this test fails on connection issues +set ignore_error_messages + +statement ok +set http_timeout=120000; + +# More retries (longest wait will be 25600ms) +statement ok +set http_retries=6; + +statement ok +CALL DBGEN(sf=0.1) + +query I +SELECT + sum(l_extendedprice * l_discount) AS revenue +FROM + lineitem +WHERE + l_shipdate >= CAST('1994-01-01' AS date) + AND l_shipdate < CAST('1995-01-01' AS date) + AND l_discount BETWEEN 0.05 + AND 0.07 + AND l_quantity < 24; +---- +11803420.2534 + +statement ok +COPY lineitem TO 's3://test-bucket/multipart/export_large.json' (FORMAT 'json'); + +query I +SELECT + sum(l_extendedprice * l_discount) AS revenue +FROM + "s3://test-bucket/multipart/export_large.json" +WHERE + l_shipdate >= CAST('1994-01-01' AS date) + AND l_shipdate < CAST('1995-01-01' AS date) + AND l_discount BETWEEN 0.05 + AND 0.07 + AND l_quantity < 24; +---- +11803420.2534 + +# This query triggers an edge case where we apply an S3-specific optimization using multiple cached filehandles +query I +SELECT + sum(l_extendedprice * l_discount)/3 AS revenue +FROM + read_json_auto([ + 's3://test-bucket/multipart/export_large.json', + 's3://test-bucket/multipart/export_large.json', + 's3://test-bucket/multipart/export_large.json',]) +WHERE + l_shipdate >= CAST('1994-01-01' AS date) + AND l_shipdate < CAST('1995-01-01' AS date) + AND l_discount BETWEEN 0.05 + AND 0.07 + AND l_quantity < 24; +---- +11803420.2534 \ No newline at end of file diff --git a/test/sql/copy/s3/upload_small_file.test b/test/sql/copy/s3/upload_small_file.test index 99bc90c50e0e..6e71b21061d6 100644 --- a/test/sql/copy/s3/upload_small_file.test +++ b/test/sql/copy/s3/upload_small_file.test @@ -74,4 +74,4 @@ SELECT * FROM "s3://test-bucket/multipart/web_page.csv" LIMIT 10; 7 AAAAAAAAHAAAAAAA 1997-09-03 NULL 2450815 2452574 N NULL http://www.foo.com feedback 3034 18 7 4 8 AAAAAAAAIAAAAAAA 1997-09-03 2000-09-02 2450815 2452646 Y 1898 http://www.foo.com protected 3128 12 2 4 9 AAAAAAAAIAAAAAAA 2000-09-03 NULL 2450807 2452579 Y 84146 http://www.foo.com welcome 3128 13 5 3 -10 AAAAAAAAKAAAAAAA 1997-09-03 1999-09-03 NULL 2452623 N NULL http://www.foo.com NULL NULL NULL NULL NULL \ No newline at end of file +10 AAAAAAAAKAAAAAAA 1997-09-03 1999-09-03 NULL 2452623 N NULL http://www.foo.com NULL NULL NULL NULL NULL diff --git a/test/sql/copy/s3/url_encode.test b/test/sql/copy/s3/url_encode.test index f17f846eccf5..9ce98c585043 100644 --- a/test/sql/copy/s3/url_encode.test +++ b/test/sql/copy/s3/url_encode.test @@ -29,30 +29,32 @@ CREATE TABLE test_2 as (SELECT 2 FROM range(0,5)); CREATE TABLE test_3 as (SELECT 3 FROM range(0,5)); CREATE TABLE test_4 as (SELECT 4 FROM range(0,5)); +foreach prefix s3:// r2:// gcs:// gs:// s3a:// s3n:// + statement ok -COPY test_1 TO 's3://test-bucket-public/url_encode/just because you can doesnt mean you should.parquet' (FORMAT 'parquet'); +COPY test_1 TO '${prefix}test-bucket-public/url_encode/just because you can doesnt mean you should.parquet' (FORMAT 'parquet'); statement ok -COPY test_2 TO 's3://test-bucket-public/url_encode/just+dont+use+plus+or+spaces+please.parquet' (FORMAT 'parquet'); +COPY test_2 TO '${prefix}test-bucket-public/url_encode/just+dont+use+plus+or+spaces+please.parquet' (FORMAT 'parquet'); statement ok -COPY test_3 TO 's3://test-bucket-public/url_encode/should:avoid:using:colon:in:paths.parquet' (FORMAT 'parquet'); +COPY test_3 TO '${prefix}test-bucket-public/url_encode/should:avoid:using:colon:in:paths.parquet' (FORMAT 'parquet'); # For S3 urls spaces are fine query I -SELECT * FROM "s3://test-bucket-public/url_encode/just because you can doesnt mean you should.parquet" LIMIT 1; +SELECT * FROM "${prefix}test-bucket-public/url_encode/just because you can doesnt mean you should.parquet" LIMIT 1; ---- 1 # In S3 urls, + means a plus symbol query I -SELECT * FROM "s3://test-bucket-public/url_encode/just+dont+use+plus+or+spaces+please.parquet" LIMIT 1; +SELECT * FROM "${prefix}test-bucket-public/url_encode/just+dont+use+plus+or+spaces+please.parquet" LIMIT 1; ---- 2 # Colons in S3 urls are encoded by duckdb internaly like boto3 (issue #5502) query I -SELECT * FROM "s3://test-bucket-public/url_encode/should:avoid:using:colon:in:paths.parquet" LIMIT 1; +SELECT * FROM "${prefix}test-bucket-public/url_encode/should:avoid:using:colon:in:paths.parquet" LIMIT 1; ---- 3 @@ -83,7 +85,7 @@ SELECT * FROM "http://test-bucket-public.${DUCKDB_S3_ENDPOINT}/url_encode/just+d # Due to our support for query parameters, this will fail statement error -COPY test_4 TO 's3://test-bucket-public/url_encode/question?marks?are?even?worse.parquet' (FORMAT 'parquet'); +COPY test_4 TO '${prefix}test-bucket-public/url_encode/question?marks?are?even?worse.parquet' (FORMAT 'parquet'); ---- Invalid query parameters found. @@ -93,10 +95,10 @@ statement ok SET s3_url_compatibility_mode=true; statement ok -COPY test_4 TO 's3://test-bucket-public/url_encode/question?marks?and*stars[and]brackets.parquet' (FORMAT 'parquet'); +COPY test_4 TO '${prefix}test-bucket-public/url_encode/question?marks?and*stars[and]brackets.parquet' (FORMAT 'parquet'); query I -SELECT * FROM "s3://test-bucket-public/url_encode/question?marks?and*stars[and]brackets.parquet" LIMIT 1; +SELECT * FROM "${prefix}test-bucket-public/url_encode/question?marks?and*stars[and]brackets.parquet" LIMIT 1; ---- 4 @@ -107,4 +109,37 @@ SELECT * FROM "http://test-bucket-public.${DUCKDB_S3_ENDPOINT}/url_encode/questi 4 statement ok -SET s3_url_compatibility_mode=false; \ No newline at end of file +SET s3_url_compatibility_mode=false; + +# Check that the generated urls are correct +statement ok +set s3_endpoint='s3.some.random.endpoint.com'; + +statement error +SELECT * FROM '${prefix}test-bucket/whatever.parquet'; +---- +Connection error for HTTP HEAD to 'http://test-bucket.s3.some.random.endpoint.com/whatever.parquet' + +statement ok +set s3_endpoint='${DUCKDB_S3_ENDPOINT}' + +endloop + +# Check that the generated urls are correct for an empty endpoint +statement ok +set s3_endpoint=''; + +statement error +SELECT * FROM 's3://test-bucket/whatever.parquet'; +---- +HTTP GET error on 'http://test-bucket.s3.amazonaws.com/whatever.parquet' + +statement error +SELECT * FROM 'r2://test-bucket/whatever.parquet'; +---- +HTTP GET error on 'http://test-bucket.s3.amazonaws.com/whatever.parquet' + +statement error +SELECT * FROM 'gcs://test-bucket/whatever.parquet'; +---- +HTTP GET error on 'http://test-bucket.storage.googleapis.com/whatever.parquet' diff --git a/test/sql/copy/tmp_file.test b/test/sql/copy/tmp_file.test new file mode 100644 index 000000000000..1f244137f003 --- /dev/null +++ b/test/sql/copy/tmp_file.test @@ -0,0 +1,25 @@ +# name: test/sql/copy/tmp_file.test +# group: [copy] + +statement ok +copy (select 42 as x) to '__TEST_DIR__/foo'; + +statement ok +copy (select 42 as x) to '__TEST_DIR__/foo'; + +statement ok +COPY (SELECT 36) TO '__TEST_DIR__/.a.b'; + +statement ok +COPY (SELECT 37 as x) TO '__TEST_DIR__/.a.b'; + +query I +FROM read_csv('__TEST_DIR__/.a.b'); +---- +37 + +statement ok +COPY (SELECT 50) TO '__TEST_DIR__/.a.b.c.d.e..'; + +statement ok +COPY (SELECT 51) TO '__TEST_DIR__/.a.b.c.d.e..'; diff --git a/test/sql/copy_database/copy_database_different_types.test b/test/sql/copy_database/copy_database_different_types.test new file mode 100644 index 000000000000..d39ac221e175 --- /dev/null +++ b/test/sql/copy_database/copy_database_different_types.test @@ -0,0 +1,100 @@ +# name: test/sql/copy_database/copy_database_different_types.test +# description: Test attach mixed with the COPY statement +# group: [copy_database] + +require noforcestorage + +statement ok +ATTACH DATABASE ':memory:' AS db1; + +statement ok +USE db1 + +statement ok +CREATE TABLE test(a INTEGER, b INTEGER, c VARCHAR(10)); + +statement ok +INSERT INTO test VALUES (42, 88, 'hello'); + +# FIXME - (unique) indexes aren't copied currently +mode skip + +statement ok +CREATE UNIQUE INDEX i_unique ON test(a); + +mode unskip + +statement ok +CREATE VIEW v1 AS FROM test; + +statement ok +CREATE TYPE mood AS ENUM('ok', 'sad', 'happy'); + +statement ok +CREATE TABLE enums(i mood) + +statement ok +INSERT INTO enums VALUES ('ok'), ('sad'), (NULL) + +statement ok +CREATE SEQUENCE seq; + +query I +SELECT nextval('seq') +---- +1 + +statement ok +CREATE FUNCTION my_add(a, b) AS a + b + +statement ok +COPY FROM DATABASE db1 TO memory + +statement ok +USE memory + +query III +SELECT * FROM test; +---- +42 88 hello + +query I +SELECT * FROM enums; +---- +ok +sad +NULL + +query III +SELECT * FROM v1; +---- +42 88 hello + +# FIXME - unique indexes aren't copied currently +mode skip + +statement error +INSERT INTO test VALUES (42, 88, 'hello'); +---- +xx + +mode unskip + +statement ok +INSERT INTO test VALUES (43, 88, 'hello'); + +query III +SELECT * FROM v1; +---- +42 88 hello +43 88 hello + +query I +SELECT nextval('seq') +---- +2 + +query I +SELECT my_add(1, 2) +---- +3 diff --git a/test/sql/copy_database/copy_database_errors.test b/test/sql/copy_database/copy_database_errors.test new file mode 100644 index 000000000000..50a8be93236c --- /dev/null +++ b/test/sql/copy_database/copy_database_errors.test @@ -0,0 +1,50 @@ +# name: test/sql/copy_database/copy_database_errors.test +# description: Test COPY DATABASE errors +# group: [copy_database] + +require noforcestorage + +statement ok +ATTACH DATABASE ':memory:' AS db1; + +statement ok +ATTACH DATABASE ':memory:' AS db2; + +# copying an empty database should work +statement ok +COPY FROM DATABASE db1 TO db2 + +statement ok +CREATE TABLE db1.test(a INTEGER, b INTEGER, c VARCHAR); + +statement ok +INSERT INTO db1.test VALUES (42, 84, 'hello') + +# we cannot copy from the same database to the same database +statement error +COPY FROM DATABASE db1 TO db1 +---- +FROM and TO databases are the same + +# read-only test +statement ok +ATTACH DATABASE '__TEST_DIR__/read_only.db' AS read_only + +statement ok +CREATE TABLE read_only.t(i INT); + +statement ok +DETACH read_only + +statement ok +ATTACH DATABASE '__TEST_DIR__/read_only.db' AS read_only (READ_ONLY) + +# we cannot copy TO a read-only database +statement error +COPY FROM DATABASE db1 TO read_only +---- +attached in read-only mode + +# we can copy FROM a read-only database +statement ok +COPY FROM DATABASE read_only TO db1 diff --git a/test/sql/copy_database/copy_database_fk.test b/test/sql/copy_database/copy_database_fk.test new file mode 100644 index 000000000000..a5e22bfea8a4 --- /dev/null +++ b/test/sql/copy_database/copy_database_fk.test @@ -0,0 +1,70 @@ +# name: test/sql/copy_database/copy_database_fk.test +# description: Test COPY DATABASE with foreign key constraint +# group: [copy_database] + +require noforcestorage + +# FIXME - this is not working right now - we need to correctly take dependencies into account for COPY FROM DATABASE +mode skip + +statement ok +CREATE TABLE pk_integers(i INTEGER PRIMARY KEY) + +statement ok +CREATE TABLE fk_integers(j INTEGER, FOREIGN KEY (j) REFERENCES pk_integers(i)) + +statement ok +INSERT INTO pk_integers VALUES (1), (2), (3) + +statement ok +INSERT INTO fk_integers VALUES (1), (2) + +# now export the db +statement ok +ATTACH ':memory:' AS db1 + +statement ok +COPY FROM DATABASE memory TO db1 + +statement ok +USE db1 + +# check foreign key constraint +statement error +INSERT INTO fk_integers VALUES (4) +---- + +statement ok +INSERT INTO fk_integers VALUES (3) + +statement error +DELETE FROM pk_integers WHERE i=3 +---- + +statement ok +DELETE FROM fk_integers WHERE j=3 + +statement ok +DELETE FROM pk_integers WHERE i=3 + +statement error +UPDATE pk_integers SET i=5 WHERE i=2 +---- + +statement error +UPDATE fk_integers SET i=4 WHERE j=2 +---- + +statement error +UPDATE fk_integers SET i=4 WHERE j=2 +---- + +statement error +DROP TABLE pk_integers; +---- + +statement ok +DROP TABLE fk_integers; + +statement ok +DROP TABLE pk_integers; diff --git a/test/sql/copy_database/copy_database_simple.test b/test/sql/copy_database/copy_database_simple.test new file mode 100644 index 000000000000..a14532b6f58b --- /dev/null +++ b/test/sql/copy_database/copy_database_simple.test @@ -0,0 +1,33 @@ +# name: test/sql/copy_database/copy_database_simple.test +# description: Test attach mixed with the COPY statement +# group: [copy_database] + +require noforcestorage + +statement ok +ATTACH DATABASE ':memory:' AS db1; + +statement ok +CREATE TABLE db1.test(a INTEGER, b INTEGER, c VARCHAR(10)); + +statement ok +INSERT INTO db1.test VALUES (42, 88, 'hello'); + +statement ok +COPY FROM DATABASE db1 TO memory + +query III +SELECT * FROM memory.test; +---- +42 88 hello + +# unrecognized database +statement error +COPY FROM DATABASE dbxx TO memory +---- +dbxx + +statement error +COPY FROM DATABASE db1 TO dbxx +---- +dbxx diff --git a/test/sql/copy_database/copy_database_tpch.test_slow b/test/sql/copy_database/copy_database_tpch.test_slow new file mode 100644 index 000000000000..faa48c42dc97 --- /dev/null +++ b/test/sql/copy_database/copy_database_tpch.test_slow @@ -0,0 +1,37 @@ +# name: test/sql/copy_database/copy_database_tpch.test_slow +# description: Test COPY statement with TPC-H database +# group: [copy_database] + +require noforcestorage + +require tpch + +statement ok +CALL dbgen(sf=1); + +statement ok +ATTACH DATABASE ':memory:' AS db1; + +statement ok +COPY FROM DATABASE memory TO db1 + +statement ok +USE db1 + +loop i 1 9 + +query I +PRAGMA tpch(${i}) +---- +:extension/tpch/dbgen/answers/sf1/q0${i}.csv + +endloop + +loop i 10 23 + +query I +PRAGMA tpch(${i}) +---- +:extension/tpch/dbgen/answers/sf1/q${i}.csv + +endloop diff --git a/test/sql/create/create_as.test b/test/sql/create/create_as.test index 54d8488e4ad3..c122eefada60 100644 --- a/test/sql/create/create_as.test +++ b/test/sql/create/create_as.test @@ -31,6 +31,7 @@ SELECT * FROM tbl3; statement error CREATE TABLE tbl1 AS SELECT 3; +---- statement ok CREATE OR REPLACE TABLE tbl1 AS SELECT 4; @@ -58,6 +59,8 @@ SELECT * FROM tbl1; statement error CREATE TABLE tbl4 IF NOT EXISTS AS SELECT 4; +---- statement error CREATE OR REPLACE TABLE tbl4 IF NOT EXISTS AS SELECT 4; +---- diff --git a/test/sql/create/create_database.test b/test/sql/create/create_database.test index b87996948c6a..6425f4755142 100644 --- a/test/sql/create/create_database.test +++ b/test/sql/create/create_database.test @@ -17,4 +17,4 @@ syntax error at or near "DATABASE" statement error DROP DATABASE mydb ---- -syntax error at or near "DATABASE" \ No newline at end of file +syntax error at or near "DATABASE" diff --git a/test/sql/create/create_objects_readonly.test b/test/sql/create/create_objects_readonly.test index f0e8906950fe..c38a001f56be 100644 --- a/test/sql/create/create_objects_readonly.test +++ b/test/sql/create/create_objects_readonly.test @@ -44,4 +44,4 @@ read-only statement error CREATE SEQUENCE serial START 101; ---- -read-only \ No newline at end of file +read-only diff --git a/test/sql/create/create_or_replace.test b/test/sql/create/create_or_replace.test index 7486011517d2..529e12add4c2 100644 --- a/test/sql/create/create_or_replace.test +++ b/test/sql/create/create_or_replace.test @@ -19,3 +19,4 @@ INSERT INTO integers VALUES (1, 2); statement error CREATE OR REPLACE TABLE IF NOT EXISTS integers(i INTEGER) +---- diff --git a/test/sql/create/create_table_as_error.test b/test/sql/create/create_table_as_error.test index 186d5e90aa4f..f3da7a42b298 100644 --- a/test/sql/create/create_table_as_error.test +++ b/test/sql/create/create_table_as_error.test @@ -7,3 +7,4 @@ PRAGMA enable_verification statement error CREATE TABLE tbl AS EXECUTE tbl; +---- diff --git a/test/sql/create/create_table_compression.test b/test/sql/create/create_table_compression.test index a0bd8fbb933a..5e532a36c744 100644 --- a/test/sql/create/create_table_compression.test +++ b/test/sql/create/create_table_compression.test @@ -1,9 +1,12 @@ # name: test/sql/create/create_table_compression.test -# description: Test CREATE TABLE using Compression Option +# description: Test CREATE TABLE using compression options # group: [create] -require skip_reload +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 +require skip_reload statement ok PRAGMA enable_verification @@ -16,20 +19,23 @@ DROP TABLE T statement error CREATE TABLE T (a INTEGER USING COMPRESSION 'bla') +---- statement error CREATE TABLE T (a INTEGER USING COMPRESSION ) +---- statement error CREATE TABLE T (a INTEGER NOT NULL USING COMPRESSION ) +---- statement error CREATE TABLE T (a INTEGER USING COMPRESSION bla) +---- statement ok CREATE TABLE T (a INTEGER NOT NULL USING COMPRESSION RLE) - statement ok DROP TABLE T @@ -45,7 +51,6 @@ CREATE TABLE T (a INTEGER USING COMPRESSION RLE, b VARCHAR ) statement ok DROP TABLE T -# load the DB from disk load __TEST_DIR__/test_compression_hint.db statement ok @@ -89,7 +94,6 @@ Uncompressed statement ok ALTER TABLE T RENAME COLUMN a TO a_1 - statement ok ALTER TABLE T RENAME COLUMN b TO b_1 @@ -184,4 +188,4 @@ query I SELECT compression FROM pragma_storage_info('T_1') WHERE segment_type ILIKE 'INTEGER' LIMIT 3 ---- RLE -Constant \ No newline at end of file +Constant diff --git a/test/sql/create/create_using_index.test b/test/sql/create/create_using_index.test new file mode 100644 index 000000000000..9b361558e366 --- /dev/null +++ b/test/sql/create/create_using_index.test @@ -0,0 +1,8 @@ +# name: test/sql/create/create_using_index.test +# description: Issue #9739 - DuckDB SIGSEGV when creating TABLE CONSTRAINT with non-existing INDEX +# group: [create] + +statement error +CREATE TABLE t0 (i INT, CONSTRAINT any_constraint UNIQUE USING INDEX any_non_existed_index); +---- +not supported diff --git a/test/sql/cte/cte_colname_issue_10074.test b/test/sql/cte/cte_colname_issue_10074.test new file mode 100644 index 000000000000..79e462432557 --- /dev/null +++ b/test/sql/cte/cte_colname_issue_10074.test @@ -0,0 +1,16 @@ +# name: test/sql/cte/cte_colname_issue_10074.test +# description: Issue #10074 - CTE returns wrong column name +# group: [cte] + +statement ok +pragma enable_verification + +statement ok +create table t as with q(id,s) as (values(1,42)), +a(s)as materialized(select 42) +select id from q join a on q.s=a.s + +query I +select id from t +---- +1 diff --git a/test/sql/cte/cte_describe.test b/test/sql/cte/cte_describe.test new file mode 100644 index 000000000000..7984689cb358 --- /dev/null +++ b/test/sql/cte/cte_describe.test @@ -0,0 +1,34 @@ +# name: test/sql/cte/cte_describe.test +# description: Test CTE describe +# group: [cte] + +statement ok +PRAGMA enable_verification + +query I nosort describe +DESCRIBE select 42 AS a + +query I nosort describe +with cte as (select 42 AS a) FROM (DESCRIBE TABLE cte) + +query I nosort describe +with cte as (select 42 AS a) FROM (DESCRIBE TABLE cte) + +query I nosort summarize +SUMMARIZE select 42 AS a + +query I nosort summarize +with cte as (select 42 AS a) FROM (SUMMARIZE TABLE cte) + +query I nosort summarize +with cte as (select 42 AS a) FROM (SUMMARIZE TABLE cte) + +statement error +with cte as (select 42 AS a) (DESCRIBE TABLE cte) +---- +not allowed + +statement error +(DESCRIBE TABLE cte) ORDER BY 1 +---- +not allowed diff --git a/test/sql/cte/incorrect_recursive_cte.test b/test/sql/cte/incorrect_recursive_cte.test index d485bb8da71f..40550e09f324 100644 --- a/test/sql/cte/incorrect_recursive_cte.test +++ b/test/sql/cte/incorrect_recursive_cte.test @@ -11,6 +11,8 @@ WITH RECURSIVE cte AS (SELECT 42) SELECT * FROM cte; # we only support recursive ctes with union or union all statement error with recursive t as (select 1 as x intersect select x+1 from t where x < 3) select * from t order by x +---- statement error -with recursive t as (select 1 as x except select x+1 from t where x < 3) select * from t order by x \ No newline at end of file +with recursive t as (select 1 as x except select x+1 from t where x < 3) select * from t order by x +---- diff --git a/test/sql/cte/insert_cte_bug_3417.test b/test/sql/cte/insert_cte_bug_3417.test index e71cb9711c4e..a62cab32307e 100644 --- a/test/sql/cte/insert_cte_bug_3417.test +++ b/test/sql/cte/insert_cte_bug_3417.test @@ -13,3 +13,4 @@ CREATE TABLE table2 (table1_id INTEGER); statement error INSERT INTO table2 WITH cte AS (INSERT INTO table1 SELECT 1, 2 RETURNING id) SELECT id FROM cte; +---- diff --git a/test/sql/cte/materialized/dml_materialized_cte.test b/test/sql/cte/materialized/dml_materialized_cte.test index eb858ddc93a0..7fadbb5f0fef 100644 --- a/test/sql/cte/materialized/dml_materialized_cte.test +++ b/test/sql/cte/materialized/dml_materialized_cte.test @@ -16,11 +16,14 @@ insert into a values (42); statement error WITH t(x) AS MATERIALIZED (VALUES (42)) INSERT INTO a (SELECT * FROM t); +---- statement error WITH t(x) AS MATERIALIZED (VALUES (42)) DELETE FROM a WHERE a.i IN (SELECT * FROM t); +---- statement error WITH t(x) AS MATERIALIZED (VALUES (42)) UPDATE a SET i = 0 WHERE a.i IN (SELECT * FROM t); +---- diff --git a/test/sql/cte/materialized/incorrect_recursive_cte_materialized.test b/test/sql/cte/materialized/incorrect_recursive_cte_materialized.test index fae2f54fdb6b..1ac5a2e61b2f 100644 --- a/test/sql/cte/materialized/incorrect_recursive_cte_materialized.test +++ b/test/sql/cte/materialized/incorrect_recursive_cte_materialized.test @@ -11,6 +11,8 @@ WITH RECURSIVE cte AS MATERIALIZED (SELECT 42) SELECT * FROM cte; # we only support recursive ctes with union or union all statement error with recursive t as MATERIALIZED (select 1 as x intersect select x+1 from t where x < 3) select * from t order by x +---- statement error with recursive t as MATERIALIZED (select 1 as x except select x+1 from t where x < 3) select * from t order by x +---- diff --git a/test/sql/cte/materialized/recursive_cte_error_materialized.test b/test/sql/cte/materialized/recursive_cte_error_materialized.test index 736a3759784f..065e6929de7c 100644 --- a/test/sql/cte/materialized/recursive_cte_error_materialized.test +++ b/test/sql/cte/materialized/recursive_cte_error_materialized.test @@ -28,3 +28,4 @@ WITH RECURSIVE tag_hierarchy(id, source, path, target) AS materialized ( SELECT source, path, target FROM tag_hierarchy ; +---- diff --git a/test/sql/cte/materialized/recursive_hang_2745_materialized.test b/test/sql/cte/materialized/recursive_hang_2745_materialized.test index 4d53c2f12362..72f76f78ece1 100644 --- a/test/sql/cte/materialized/recursive_hang_2745_materialized.test +++ b/test/sql/cte/materialized/recursive_hang_2745_materialized.test @@ -17,21 +17,21 @@ parents as MATERIALIZED ( union all select id, value+2, parent from parents_tab2 ) -select * from parents; +select * from parents ORDER BY id, value, parent; ---- 1 1 2 -2 2 4 -3 1 4 -4 2 -1 -5 1 2 -6 2 7 -7 1 -1 1 3 2 +2 2 4 2 4 4 +3 1 4 3 3 4 +4 2 -1 4 4 -1 +5 1 2 5 3 2 +6 2 7 6 4 7 +7 1 -1 7 3 -1 query III @@ -43,21 +43,21 @@ as MATERIALIZED (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), ) select * from parents_tab union all -select id, value+2, parent from parents_tab2; +select id, value+2, parent from parents_tab2 ORDER BY id, value, parent; ---- 1 1 2 -2 2 4 -3 1 4 -4 2 -1 -5 1 2 -6 2 7 -7 1 -1 1 3 2 +2 2 4 2 4 4 +3 1 4 3 3 4 +4 2 -1 4 4 -1 +5 1 2 5 3 2 +6 2 7 6 4 7 +7 1 -1 7 3 -1 query III @@ -72,21 +72,21 @@ parents as MATERIALIZED ( union all select id, value+2, parent from parents_tab2 ) -select * from parents; +select * from parents ORDER BY id, value, parent; ---- 1 1 2 -2 2 4 -3 1 4 -4 2 -1 -5 1 2 -6 2 7 -7 1 -1 1 3 2 +2 2 4 2 4 4 +3 1 4 3 3 4 +4 2 -1 4 4 -1 +5 1 2 5 3 2 +6 2 7 6 4 7 +7 1 -1 7 3 -1 statement ok @@ -102,19 +102,19 @@ union all select id, value+2, parent from parents_tab2; query III -select * from vparents; +select * from vparents ORDER BY id, value, parent; ---- 1 1 2 -2 2 4 -3 1 4 -4 2 -1 -5 1 2 -6 2 7 -7 1 -1 1 3 2 +2 2 4 2 4 4 +3 1 4 3 3 4 +4 2 -1 4 4 -1 +5 1 2 5 3 2 +6 2 7 6 4 7 +7 1 -1 7 3 -1 diff --git a/test/sql/cte/materialized/test_correlated_recursive_cte_materialized.test b/test/sql/cte/materialized/test_correlated_recursive_cte_materialized.test new file mode 100644 index 000000000000..747ac76c1f9c --- /dev/null +++ b/test/sql/cte/materialized/test_correlated_recursive_cte_materialized.test @@ -0,0 +1,265 @@ +# name: test/sql/cte/materialized/test_correlated_recursive_cte_materialized.test +# description: Test Materialized Correlated Recursive Common Table Expressions (CTE) +# group: [materialized] + +statement ok +PRAGMA enable_verification + +# Correlation in the initialization query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS MATERIALIZED ( + SELECT _.x + UNION ALL + SELECT y + 1 + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 2 +2 3 +3 3 +4 4 + +# Correlation in the recursive query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS MATERIALIZED ( + SELECT 1 + UNION ALL + SELECT y + _.x + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 1 +2 3 +3 1 +3 4 +4 1 +4 5 + +# Correlation in the initialization and recursive query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS MATERIALIZED ( + SELECT _.x + UNION ALL + SELECT y + _.x + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 2 +2 4 +3 3 +4 4 + +# Correlation with multiple recursive anchors +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS MATERIALIZED ( + SELECT _.x + UNION ALL + SELECT t1.y + t2.y + _.x + FROM t AS t1, t AS t2 + WHERE t1.y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 3 +2 2 +2 6 +3 3 +4 4 + +# Test correlation in SELECT clause +query III +SELECT x, y, (WITH RECURSIVE t(z) AS MATERIALIZED ( + SELECT x + y + UNION ALL + SELECT z + 1 + FROM t + WHERE z < 3 +) SELECT sum(z) FROM t) AS z +FROM generate_series(1,2) AS _(x), generate_series(1,2) AS __(y); +---- +1 1 5 +1 2 3 +2 1 3 +2 2 4 + + +# Complex nested recursive query +query III +SELECT x, y, (WITH RECURSIVE t(z) AS MATERIALIZED ( + SELECT x + y + UNION ALL + SELECT z + 1 + FROM (WITH RECURSIVE g(a) AS MATERIALIZED ( + SELECT t.z + FROM t + UNION ALL + SELECT g.a + (x + y) / 2 + FROM g + WHERE g.a < 3) + SELECT * FROM g) AS t(z) + WHERE z < 5 +) SELECT sum(z) FROM t) AS z +FROM generate_series(1,2) AS _(x), generate_series(1,2) AS __(y); +---- +1 1 23 +1 2 12 +2 1 12 +2 2 9 + +# UNION semantics + +# Correlation in the initialization query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS MATERIALIZED ( + SELECT _.x + UNION + SELECT y + 1 + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 2 +2 3 +3 3 +4 4 + +# Correlation in the recursive query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS MATERIALIZED ( + SELECT 1 + UNION + SELECT y + _.x + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 1 +2 3 +3 1 +3 4 +4 1 +4 5 + +# Correlation in the initialization and recursive query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS MATERIALIZED ( + SELECT _.x + UNION + SELECT y + _.x + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 2 +2 4 +3 3 +4 4 + +# Correlation with multiple recursive anchors +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS MATERIALIZED ( + SELECT _.x + UNION + SELECT t1.y + t2.y + _.x + FROM t AS t1, t AS t2 + WHERE t1.y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 3 +2 2 +2 6 +3 3 +4 4 + +# Test correlation in SELECT clause +query III +SELECT x, y, (WITH RECURSIVE t(z) AS MATERIALIZED ( + SELECT x + y + UNION + SELECT z + 1 + FROM t + WHERE z < 3 +) SELECT sum(z) FROM t) AS z +FROM generate_series(1,2) AS _(x), generate_series(1,2) AS __(y); +---- +1 1 5 +1 2 3 +2 1 3 +2 2 4 + +# Complex nested recursive query +query III +SELECT x, y, (WITH RECURSIVE t(z) AS MATERIALIZED ( + SELECT x + y + UNION + SELECT z + 1 + FROM (WITH RECURSIVE g(a) AS MATERIALIZED ( + SELECT t.z + FROM t + UNION + SELECT g.a + (x + y) / 2 + FROM g + WHERE g.a < 3) + SELECT * FROM g) AS t(z) + WHERE z < 5 +) SELECT sum(z) FROM t) AS z +FROM generate_series(1,2) AS _(x), generate_series(1,2) AS __(y); +---- +1 1 14 +1 2 12 +2 1 12 +2 2 9 diff --git a/test/sql/cte/materialized/test_cte_in_cte_materialized.test b/test/sql/cte/materialized/test_cte_in_cte_materialized.test index 8864c270761d..a6587af9b638 100644 --- a/test/sql/cte/materialized/test_cte_in_cte_materialized.test +++ b/test/sql/cte/materialized/test_cte_in_cte_materialized.test @@ -34,6 +34,7 @@ with cte1 as MATERIALIZED (with b as MATERIALIZED (Select i as j from a) select # duplicate CTE alias statement error with cte1 as MATERIALIZED (select 42), cte1 as MATERIALIZED (select 42) select * FROM cte1; +---- # refer to CTE in subquery tableref query I @@ -52,7 +53,9 @@ require noalternativeverify # refer to same-named CTE in a subquery expression statement error with cte as MATERIALIZED (Select i as j from a) select * from cte where j = (with cte as MATERIALIZED (select max(j) as j from cte) select j from cte); +---- # self-refer to non-existent cte statement error with cte as MATERIALIZED (select * from cte) select * from cte +---- diff --git a/test/sql/cte/materialized/test_cte_materialized.test b/test/sql/cte/materialized/test_cte_materialized.test index 8c6d0a6bbdbe..9506ce22f836 100644 --- a/test/sql/cte/materialized/test_cte_materialized.test +++ b/test/sql/cte/materialized/test_cte_materialized.test @@ -45,6 +45,7 @@ with cte1 as MATERIALIZED (select i as j from a), cte2 as MATERIALIZED (select r # duplicate CTE alias statement error with cte1 as MATERIALIZED (select 42), cte1 as MATERIALIZED (select 42) select * FROM cte1; +---- # reference to CTE before its actually defined query I diff --git a/test/sql/cte/materialized/test_issue_10260.test b/test/sql/cte/materialized/test_issue_10260.test new file mode 100644 index 000000000000..f6a1608c8557 --- /dev/null +++ b/test/sql/cte/materialized/test_issue_10260.test @@ -0,0 +1,28 @@ +# name: test/sql/cte/materialized/test_issue_10260.test +# description: Issue #10260: MATERIALIZED causes Binder Error: table has duplicate column name +# group: [materialized] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE T0(C1 INT); + +statement ok +CREATE TABLE T1(C1 INT); + +statement ok +INSERT INTO T0(C1) VALUES (1); + +statement ok +INSERT INTO T1(C1) VALUES (1); + +query I +WITH CTE AS MATERIALIZED ( +SELECT A1, * FROM T0 + LEFT JOIN ( + SELECT C1 AS A1 FROM T1 + ) ON T0.C1 = A1 +) SELECT A1 FROM CTE; +---- +1 diff --git a/test/sql/cte/materialized/test_recursive_cte_union_all_materialized.test b/test/sql/cte/materialized/test_recursive_cte_union_all_materialized.test index 846dd39855d3..7ef87572db09 100644 --- a/test/sql/cte/materialized/test_recursive_cte_union_all_materialized.test +++ b/test/sql/cte/materialized/test_recursive_cte_union_all_materialized.test @@ -96,16 +96,20 @@ SELECT * FROM t; # order by is not allowed in the recursive term of ctes statement error with recursive t as MATERIALIZED (select 1 as x union all select x+1 from t where x < 3 order by x) select * from t +---- # limit is not allowed in the recursive term of ctes statement error with recursive t as MATERIALIZED (select 1 as x union all select x+1 from t where x < 3 LIMIT 1) select * from t +---- # offset is not allowed in the recursive term of ctes statement error with recursive t as MATERIALIZED (select 1 as x union all select x+1 from t where x < 3 OFFSET 1) select * from t +---- # offset is not allowed in the recursive term of ctes statement error with recursive t as MATERIALIZED (select 1 as x union all select x+1 from t where x < 3 LIMIT 1 OFFSET 1) select * from t +---- diff --git a/test/sql/cte/materialized/test_recursive_cte_union_materialized.test b/test/sql/cte/materialized/test_recursive_cte_union_materialized.test index 6af32e21d18f..bcd2a58c1365 100644 --- a/test/sql/cte/materialized/test_recursive_cte_union_materialized.test +++ b/test/sql/cte/materialized/test_recursive_cte_union_materialized.test @@ -111,18 +111,22 @@ NULL # order by is not allowed in the recursive term of ctes statement error with recursive t as MATERIALIZED (select 1 as x union select sum(x+1) from t where x < 3 order by x) select * from t +---- # limit is not allowed in the recursive term of ctes statement error with recursive t as MATERIALIZED (select 1 as x union select sum(x+1) from t where x < 3 LIMIT 1) select * from t +---- # offset is not allowed in the recursive term of ctes statement error with recursive t as MATERIALIZED (select 1 as x union select sum(x+1) from t where x < 3 OFFSET 1) select * from t +---- # offset is not allowed in the recursive term of ctes statement error with recursive t as MATERIALIZED (select 1 as x union select sum(x+1) from t where x < 3 LIMIT 1 OFFSET 1) select * from t +---- # create a view from a recursive cte statement ok diff --git a/test/sql/cte/recursive_cte_error.test b/test/sql/cte/recursive_cte_error.test index 4b7f53cd7add..561128375704 100644 --- a/test/sql/cte/recursive_cte_error.test +++ b/test/sql/cte/recursive_cte_error.test @@ -28,3 +28,4 @@ WITH RECURSIVE tag_hierarchy(id, source, path, target) AS ( SELECT source, path, target FROM tag_hierarchy ; +---- diff --git a/test/sql/cte/recursive_hang_2745.test b/test/sql/cte/recursive_hang_2745.test index cfca573abdae..dd6dc8895596 100644 --- a/test/sql/cte/recursive_hang_2745.test +++ b/test/sql/cte/recursive_hang_2745.test @@ -5,7 +5,7 @@ statement ok PRAGMA enable_verification -query III +query III rowsort with RECURSIVE parents_tab (id , value , parent ) as (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), (6, 2, 7), (7, 1, -1) ), @@ -20,21 +20,21 @@ parents as ( select * from parents; ---- 1 1 2 -2 2 4 -3 1 4 -4 2 -1 -5 1 2 -6 2 7 -7 1 -1 1 3 2 +2 2 4 2 4 4 +3 1 4 3 3 4 +4 2 -1 4 4 -1 +5 1 2 5 3 2 +6 2 7 6 4 7 +7 1 -1 7 3 -1 -query III +query III rowsort with RECURSIVE parents_tab (id , value , parent ) as (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), (6, 2, 7), (7, 1, -1) ), @@ -46,21 +46,21 @@ union all select id, value+2, parent from parents_tab2; ---- 1 1 2 -2 2 4 -3 1 4 -4 2 -1 -5 1 2 -6 2 7 -7 1 -1 1 3 2 +2 2 4 2 4 4 +3 1 4 3 3 4 +4 2 -1 4 4 -1 +5 1 2 5 3 2 +6 2 7 6 4 7 +7 1 -1 7 3 -1 -query III +query III rowsort with parents_tab (id , value , parent ) as (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), (6, 2, 7), (7, 1, -1) ), @@ -75,18 +75,18 @@ parents as ( select * from parents; ---- 1 1 2 -2 2 4 -3 1 4 -4 2 -1 -5 1 2 -6 2 7 -7 1 -1 1 3 2 +2 2 4 2 4 4 +3 1 4 3 3 4 +4 2 -1 4 4 -1 +5 1 2 5 3 2 +6 2 7 6 4 7 +7 1 -1 7 3 -1 statement ok @@ -101,20 +101,20 @@ select * from parents_tab union all select id, value+2, parent from parents_tab2; -query III +query III rowsort select * from vparents; ---- 1 1 2 -2 2 4 -3 1 4 -4 2 -1 -5 1 2 -6 2 7 -7 1 -1 1 3 2 +2 2 4 2 4 4 +3 1 4 3 3 4 +4 2 -1 4 4 -1 +5 1 2 5 3 2 +6 2 7 6 4 7 +7 1 -1 7 3 -1 diff --git a/test/sql/cte/test_bug_922.test b/test/sql/cte/test_bug_922.test index 31d764ef2cf1..7c923674c76a 100644 --- a/test/sql/cte/test_bug_922.test +++ b/test/sql/cte/test_bug_922.test @@ -8,4 +8,4 @@ PRAGMA enable_verification query I WITH my_list(value) AS (VALUES (1), (2), (3)) SELECT * FROM my_list LIMIT 0 OFFSET 1 ----- \ No newline at end of file +---- diff --git a/test/sql/cte/test_correlated_recursive_cte.test b/test/sql/cte/test_correlated_recursive_cte.test new file mode 100644 index 000000000000..7d00d2541d1e --- /dev/null +++ b/test/sql/cte/test_correlated_recursive_cte.test @@ -0,0 +1,335 @@ +# name: test/sql/cte/test_correlated_recursive_cte.test +# description: Test Correlated Recursive Common Table Expressions (CTE) +# group: [cte] + +statement ok +PRAGMA enable_verification + +# Correlation in the initialization query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS ( + SELECT _.x + UNION ALL + SELECT y + 1 + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 2 +2 3 +3 3 +4 4 + +# Correlation in the recursive query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS ( + SELECT 1 + UNION ALL + SELECT y + _.x + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 1 +2 3 +3 1 +3 4 +4 1 +4 5 + +# Correlation in the initialization and recursive query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS ( + SELECT _.x + UNION ALL + SELECT y + _.x + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 2 +2 4 +3 3 +4 4 + +# Correlation with multiple recursive anchors +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS ( + SELECT _.x + UNION ALL + SELECT t1.y + t2.y + _.x + FROM t AS t1, t AS t2 + WHERE t1.y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 3 +2 2 +2 6 +3 3 +4 4 + +# Test correlation in SELECT clause +query III +SELECT x, y, (WITH RECURSIVE t(z) AS ( + SELECT x + y + UNION ALL + SELECT z + 1 + FROM t + WHERE z < 3 +) SELECT sum(z) FROM t) AS z +FROM generate_series(1,2) AS _(x), generate_series(1,2) AS __(y); +---- +1 1 5 +1 2 3 +2 1 3 +2 2 4 + + +# Complex nested recursive query +query III +SELECT x, y, (WITH RECURSIVE t(z) AS ( + SELECT x + y + UNION ALL + SELECT z + 1 + FROM (WITH RECURSIVE g(a) AS ( + SELECT t.z + FROM t + UNION ALL + SELECT g.a + (x + y) / 2 + FROM g + WHERE g.a < 3) + SELECT * FROM g) AS t(z) + WHERE z < 5 +) SELECT sum(z) FROM t) AS z +FROM generate_series(1,2) AS _(x), generate_series(1,2) AS __(y); +---- +1 1 23 +1 2 12 +2 1 12 +2 2 9 + +statement ok +CREATE TABLE a AS SELECT * FROM range(100) t1(i); + +query I +SELECT t2.* +FROM (VALUES (1000000)) t(_corr), LATERAL ( +WITH RECURSIVE t AS +( + SELECT 1 AS x +UNION + SELECT SUM(x) AS x + FROM t, a + WHERE x < _corr +) +SELECT * FROM t) t2 +ORDER BY 1 NULLS LAST; +---- +1 +100 +10000 +1000000 +NULL + +query I +SELECT t2.* +FROM (VALUES (10)) t(_corr), LATERAL ( +WITH RECURSIVE t AS +( + SELECT 1 AS x +UNION + SELECT (SELECT t.x+t2.x FROM t t2 LIMIT 1) AS x + FROM t + WHERE x < _corr +) +SELECT * FROM t) t2 +ORDER BY 1 NULLS LAST; +---- +1 +2 +4 +8 +16 + +query III +SELECT t2.* +FROM (VALUES (1)) t(_corr), LATERAL ( +WITH RECURSIVE collatz(x, t, steps) AS +( + SELECT x, x, 0 + FROM (WITH RECURSIVE n(t) AS (SELECT _corr UNION ALL SELECT t+_corr FROM n WHERE t < 10) SELECT * FROM n) AS _(x) + UNION ALL + (SELECT x, CASE WHEN t%2 = _corr THEN t * 3 + p ELSE t / 2 END, steps + p + FROM collatz, (WITH RECURSIVE n(t) AS (SELECT _corr UNION ALL SELECT t+_corr FROM n WHERE t < _corr) SELECT * FROM n) AS _(p) + WHERE t <> _corr) +) +SELECT * FROM collatz WHERE t = _corr +ORDER BY x +) t2; +---- +1 1 0 +2 1 1 +3 1 7 +4 1 2 +5 1 5 +6 1 8 +7 1 16 +8 1 3 +9 1 19 +10 1 6 + +# UNION semantics + +# Correlation in the initialization query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS ( + SELECT _.x + UNION + SELECT y + 1 + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 2 +2 3 +3 3 +4 4 + +# Correlation in the recursive query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS ( + SELECT 1 + UNION + SELECT y + _.x + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 1 +2 3 +3 1 +3 4 +4 1 +4 5 + +# Correlation in the initialization and recursive query +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS ( + SELECT _.x + UNION + SELECT y + _.x + FROM t + WHERE y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 2 +1 3 +2 2 +2 4 +3 3 +4 4 + +# Correlation with multiple recursive anchors +query II +SELECT x, y +FROM generate_series(1,4) AS _(x), LATERAL +(WITH RECURSIVE t(y) AS ( + SELECT _.x + UNION + SELECT t1.y + t2.y + _.x + FROM t AS t1, t AS t2 + WHERE t1.y < 3 +) +SELECT * FROM t) AS t +ORDER BY x, y; +---- +1 1 +1 3 +2 2 +2 6 +3 3 +4 4 + +# Test correlation in SELECT clause +query III +SELECT x, y, (WITH RECURSIVE t(z) AS ( + SELECT x + y + UNION + SELECT z + 1 + FROM t + WHERE z < 3 +) SELECT sum(z) FROM t) AS z +FROM generate_series(1,2) AS _(x), generate_series(1,2) AS __(y); +---- +1 1 5 +1 2 3 +2 1 3 +2 2 4 + +# Complex nested recursive query +query III +SELECT x, y, (WITH RECURSIVE t(z) AS ( + SELECT x + y + UNION + SELECT z + 1 + FROM (WITH RECURSIVE g(a) AS ( + SELECT t.z + FROM t + UNION + SELECT g.a + (x + y) / 2 + FROM g + WHERE g.a < 3) + SELECT * FROM g) AS t(z) + WHERE z < 5 +) SELECT sum(z) FROM t) AS z +FROM generate_series(1,2) AS _(x), generate_series(1,2) AS __(y); +---- +1 1 14 +1 2 12 +2 1 12 +2 2 9 diff --git a/test/sql/cte/test_cte.test b/test/sql/cte/test_cte.test index 25ef2ac03e92..f68d6d9c6e8d 100644 --- a/test/sql/cte/test_cte.test +++ b/test/sql/cte/test_cte.test @@ -45,6 +45,7 @@ with cte1 as (select i as j from a), cte2 as (select ref.j as k from cte1 as ref # duplicate CTE alias statement error with cte1 as (select 42), cte1 as (select 42) select * FROM cte1; +---- # reference to CTE before its actually defined query I diff --git a/test/sql/cte/test_cte_in_cte.test b/test/sql/cte/test_cte_in_cte.test index 97092a44306c..dfc5e7948c1b 100644 --- a/test/sql/cte/test_cte_in_cte.test +++ b/test/sql/cte/test_cte_in_cte.test @@ -34,6 +34,7 @@ with cte1 as (with b as (Select i as j from a) select j from b), cte2 as (with c # duplicate CTE alias statement error with cte1 as (select 42), cte1 as (select 42) select * FROM cte1; +---- # refer to CTE in subquery tableref query I @@ -58,3 +59,4 @@ with cte as (Select i as j from a) select * from cte where j = (with cte as (sel # self-refer to non-existent cte statement error with cte as (select * from cte) select * from cte +---- diff --git a/test/sql/cte/test_recursive_cte_union.test b/test/sql/cte/test_recursive_cte_union.test index 0c0d43e164ca..224f5d09065d 100644 --- a/test/sql/cte/test_recursive_cte_union.test +++ b/test/sql/cte/test_recursive_cte_union.test @@ -142,18 +142,22 @@ NULL # order by is not allowed in the recursive term of ctes statement error with recursive t as (select 1 as x union select sum(x+1) from t where x < 3 order by x) select * from t +---- # limit is not allowed in the recursive term of ctes statement error with recursive t as (select 1 as x union select sum(x+1) from t where x < 3 LIMIT 1) select * from t +---- # offset is not allowed in the recursive term of ctes statement error with recursive t as (select 1 as x union select sum(x+1) from t where x < 3 OFFSET 1) select * from t +---- # offset is not allowed in the recursive term of ctes statement error with recursive t as (select 1 as x union select sum(x+1) from t where x < 3 LIMIT 1 OFFSET 1) select * from t +---- # create a view from a recursive cte statement ok diff --git a/test/sql/cte/test_recursive_cte_union_all.test b/test/sql/cte/test_recursive_cte_union_all.test index f0fe53c3fb1a..cac6bc4181f3 100644 --- a/test/sql/cte/test_recursive_cte_union_all.test +++ b/test/sql/cte/test_recursive_cte_union_all.test @@ -114,16 +114,20 @@ SELECT * FROM t; # order by is not allowed in the recursive term of ctes statement error with recursive t as (select 1 as x union all select x+1 from t where x < 3 order by x) select * from t +---- # limit is not allowed in the recursive term of ctes statement error with recursive t as (select 1 as x union all select x+1 from t where x < 3 LIMIT 1) select * from t +---- # offset is not allowed in the recursive term of ctes statement error with recursive t as (select 1 as x union all select x+1 from t where x < 3 OFFSET 1) select * from t +---- # offset is not allowed in the recursive term of ctes statement error with recursive t as (select 1 as x union all select x+1 from t where x < 3 LIMIT 1 OFFSET 1) select * from t +---- diff --git a/test/sql/delete/test_segment_deletes.test b/test/sql/delete/test_segment_deletes.test index 5518549236dc..8b8fad969725 100644 --- a/test/sql/delete/test_segment_deletes.test +++ b/test/sql/delete/test_segment_deletes.test @@ -178,4 +178,4 @@ COMMIT query I con1 SELECT COUNT(*) FROM a; ---- -20400 \ No newline at end of file +20400 diff --git a/test/sql/delete/test_using_delete.test b/test/sql/delete/test_using_delete.test index 6ef2f6849847..ea8f98ef9481 100644 --- a/test/sql/delete/test_using_delete.test +++ b/test/sql/delete/test_using_delete.test @@ -81,7 +81,9 @@ SELECT * FROM a; # table does not exist statement error DELETE FROM a USING b WHERE a.i=b.i; +---- # column does not exist statement error DELETE FROM a USING a b WHERE a.i=b.j; +---- diff --git a/test/sql/detailed_profiler/test_detailed_profiler.test b/test/sql/detailed_profiler/test_detailed_profiler.test index 48c6bf46c8f1..0025a5f23e03 100644 --- a/test/sql/detailed_profiler/test_detailed_profiler.test +++ b/test/sql/detailed_profiler/test_detailed_profiler.test @@ -35,10 +35,13 @@ SELECT a FROM exprtest WHERE a BETWEEN 43 AND 44 statement ok SELECT CASE a WHEN 42 THEN 100 WHEN 43 THEN 200 ELSE 300 END FROM exprtest +statement ok +PRAGMA profiling_output='__TEST_DIR__/test_2.json' + # At least one of the lines should contain the word "Optimizer" to verify that we're getting optimizer timings query T SELECT COUNT(*) > 0 -FROM read_csv('__TEST_DIR__/test.json', columns={'c': 'VARCHAR'}, delim=NULL, header=0, quote=NULL, escape=NULL) +FROM read_csv('__TEST_DIR__/test.json', columns={'c': 'VARCHAR'}, delim=NULL, header=0, quote=NULL, escape=NULL, auto_detect = false) WHERE contains(c, 'Optimizer'); ---- true diff --git a/test/sql/error/escape_percent_sign.test b/test/sql/error/escape_percent_sign.test index a63b2e7f160d..15e808d1e37d 100644 --- a/test/sql/error/escape_percent_sign.test +++ b/test/sql/error/escape_percent_sign.test @@ -8,3 +8,4 @@ SELECT case when i%2 <> 0 then [1] else NULL end FROM range(10000) tbl(i); statement error select count(*) from list_int where l is distinct from NULL; +---- diff --git a/test/sql/error/incorrect_sql.test b/test/sql/error/incorrect_sql.test index 6d3be500cedc..2e02404da4a9 100644 --- a/test/sql/error/incorrect_sql.test +++ b/test/sql/error/incorrect_sql.test @@ -5,75 +5,94 @@ # typo statement error SELEC 42; +---- statement error SELEC 42, 'thisisareallylongstringloremipsumblablathisisareallylongstringloremipsumblablalthisisareallylongstringloremipsumblablalthisisareallylongstringloremipsumblablal'; +---- statement error SELEC 42, '🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆'; +---- # unrecognized column statement error SELECT '🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆', x, '🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆'; +---- # unrecognized scalar function statement error SELECT FUNFUNFUN(); +---- statement error CREATE VIEW v1 AS SELECT FUNFUNFUN(); +---- # unrecognized aggregate parameters statement error SELECT SUM(42, 84, 11, 'hello') +---- # no matching function statement error SELECT cos(0, 1, 2, 3); +---- # unrecognized table function statement error SELECT * FROM RANG(); +---- # unknown named parameters statement error SELECT * FROM RANGE(1, hello=3); +---- statement error SELECT * FROM READ_CSV('x', hello=3); +---- # multiple where clauses statement error SELECT 42 WHERE 1=1 WHERE 1=0; +---- # multiple statements without semi colon statement error SELECT 42 SELECT 42; +---- # multiple statements, but error is only in second statement statement error SELECT 42; SELEC 42; +---- # non-existent table statement error SELECT * FROM integers2; +---- # non-existent schema statement error SELECT * FROM bla.integers2; +---- # non-existent table in view statement error CREATE VIEW v1 AS SELECT * FROM integers2; +---- # non-existent table in long single-line query statement error with cte1 as (select 42 as j), cte2 as (select ref.j as k from cte1 as ref), cte3 as (select ref2.j+1 as i from cte1 as ref2) SELECT * FROM integers9; +---- statement error with cte1 as (select 42 as j), cte2 as (select ref.j as k from cte1 as ref), cte3 as (select ref2.j+1 as i from cte1 as ref2) SELECT * FROM integers9 where x=3 order by x+1+1+1+1+1+1+1+1+1+1+1; +---- # non-existent table in multi-line query (Q1) statement error @@ -98,15 +117,18 @@ GROUP BY ORDER BY l_returnflag, l_linestatus; +---- # now with unicode # short unicode error statement error select 🦆🍞 from 🦆🍞; +---- # long unicode error statement error with 🍞🍞 as (select 'bread' as 🍞), 🦆🦆 as (select ref.🍞 as "🍞" from 🍞🍞 as ref) SELECT * FROM integers9 where x LIKE '🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆🦆' order by x+1+1+1+1+1+1+1+1+1+1+1; +---- statement ok CREATE TABLE integers(integ INTEGER); @@ -120,24 +142,30 @@ CREATE TABLE chickens(feather INTEGER, beak INTEGER); # non-existent table, with several tables available statement error SELECT * FROM integres; +---- # non-existent column statement error SELECT feathe FROM chickens; +---- # non-existent column, with multiple tables statement error SELECT feathe FROM chickens, integers, strings; +---- statement error SELECT st FROM chickens, integers, strings; +---- statement error SELECT chicken.feather FROM chickens +---- # table-qualified non-existent column statement error SELECT chicken.st FROM chickens, integers, strings; +---- # now with unicode statement ok @@ -145,6 +173,8 @@ CREATE TABLE 🦆🍞(🦆🦆🦆 INTEGER, 🍞🍞🍞 INTEGER); statement error SELECT 🦆.🦆🦆🦆 FROM 🦆🍞 +---- statement error SELECT 🦆🦆 FROM 🦆🍞, chickens +---- diff --git a/test/sql/error/mix_aggregate_and_non_aggregate.test b/test/sql/error/mix_aggregate_and_non_aggregate.test index e9f061ee57a5..5792b394accf 100644 --- a/test/sql/error/mix_aggregate_and_non_aggregate.test +++ b/test/sql/error/mix_aggregate_and_non_aggregate.test @@ -10,7 +10,9 @@ SELECT FIRST(name), FIRST(abv) FROM tbl GROUP BY style ORDER BY abv DESC; +---- statement error SELECT FIRST(name)||abv FROM tbl +---- diff --git a/test/sql/error/subquery_single_column.test b/test/sql/error/subquery_single_column.test index 9ac8f3f1accf..a8c38f32a824 100644 --- a/test/sql/error/subquery_single_column.test +++ b/test/sql/error/subquery_single_column.test @@ -5,3 +5,4 @@ # subqueries can only return a single column statement error SELECT (SELECT 42, 84) +---- diff --git a/test/sql/error/unknown_window_function.test b/test/sql/error/unknown_window_function.test index 5dec85fec874..b9b5bf769575 100644 --- a/test/sql/error/unknown_window_function.test +++ b/test/sql/error/unknown_window_function.test @@ -4,3 +4,4 @@ statement error SELECT substr('hello', 3, 2) OVER (); +---- diff --git a/test/sql/excel/test_excel_numformat.test b/test/sql/excel/test_excel_numformat.test index 35176af64bf5..c35a6fc10638 100644 --- a/test/sql/excel/test_excel_numformat.test +++ b/test/sql/excel/test_excel_numformat.test @@ -543,12 +543,14 @@ SELECT excel_text(0.0, '_ $* #,##0.00_ ;_ $* -#,##0.00_ ;_ $* - ??_ ;_ @_ ') $ - query T -SELECT text(1.0, 3.5) +SELECT text(1.0, '3.5') ---- 3.5 statement error SELECT text('hello', 1.0) +---- statement error -SELECT text('hello', '@') \ No newline at end of file +SELECT text('hello', '@') +---- diff --git a/test/sql/explain/explain_all_statements.test b/test/sql/explain/explain_all_statements.test index c0982c4c68af..518f9f13b486 100644 --- a/test/sql/explain/explain_all_statements.test +++ b/test/sql/explain/explain_all_statements.test @@ -11,9 +11,11 @@ explain CREATE TABLE integers(i INTEGER); # oops we didn't actually create it statement error explain SELECT * FROM integers; +---- statement error explain INSERT INTO integers VALUES (1); +---- statement ok CREATE TABLE integers(i INTEGER); @@ -93,6 +95,7 @@ explain CREATE MACRO f(x) AS x+1 statement error SELECT f(1) +---- statement ok CREATE MACRO f(x) AS x+1 diff --git a/test/sql/explain/test_explain_analyze.test b/test/sql/explain/test_explain_analyze.test index 7532998b2a4e..ab6b36200cdc 100644 --- a/test/sql/explain/test_explain_analyze.test +++ b/test/sql/explain/test_explain_analyze.test @@ -46,11 +46,17 @@ SELECT 42 statement ok PRAGMA disable_profiling +statement ok +PRAGMA profiling_output='__TEST_DIR__/test_2.json' + statement error SELECT * FROM read_csv('__TEST_DIR__/test.json', columns={'json': 'VARCHAR'}, sep='🦆'); ---- The delimiter option cannot exceed a size of 1 byte. +statement ok +PRAGMA profiling_output='__TEST_DIR__/test.json' + statement ok PRAGMA enable_profiling='json' @@ -62,6 +68,9 @@ analyzed_plan :.*integers.*"timings":.* statement ok PRAGMA disable_profiling +statement ok +PRAGMA profiling_output='__TEST_DIR__/test_2.json' + statement error SELECT * FROM read_csv('__TEST_DIR__/test.json', columns={'json': 'VARCHAR'}, sep='🦆'); ---- diff --git a/test/sql/export/empty_export.test b/test/sql/export/empty_export.test index 85ea94425b8d..0e281e1a83c0 100644 --- a/test/sql/export/empty_export.test +++ b/test/sql/export/empty_export.test @@ -3,4 +3,4 @@ # group: [export] statement ok -EXPORT DATABASE '__TEST_DIR__/empty_export' (FORMAT CSV) \ No newline at end of file +EXPORT DATABASE '__TEST_DIR__/empty_export' (FORMAT CSV) diff --git a/test/sql/export/export_database.test b/test/sql/export/export_database.test index 93dc4b74193c..3d584c63f99e 100644 --- a/test/sql/export/export_database.test +++ b/test/sql/export/export_database.test @@ -48,6 +48,7 @@ CREATE TABLE "SAME_NAME"(i INTEGER, j INTEGER); statement error CREATE TABLE "same_name"(i INTEGER, j INTEGER); +---- statement ok INSERT INTO "SAME_NAME" VALUES (1, 1), (2, 2) @@ -276,6 +277,8 @@ SELECT * FROM s2.table01 ORDER BY i; # verify that constraints are still there statement error INSERT INTO integers VALUES (5, 6) +---- statement error INSERT INTO strings VALUES(NULL, NULL) +---- diff --git a/test/sql/export/export_external_access.test b/test/sql/export/export_external_access.test index 585c11fa3797..468a6c2ea32c 100644 --- a/test/sql/export/export_external_access.test +++ b/test/sql/export/export_external_access.test @@ -19,6 +19,8 @@ SET enable_external_access=false statement error IMPORT DATABASE '__TEST_DIR__/export_permissions_test' +---- statement error EXPORT DATABASE '__TEST_DIR__/export_permissions_test2' (FORMAT CSV) +---- diff --git a/test/sql/export/export_generated_columns.test b/test/sql/export/export_generated_columns.test index 917f086c65e4..5509d49eb915 100644 --- a/test/sql/export/export_generated_columns.test +++ b/test/sql/export/export_generated_columns.test @@ -17,10 +17,12 @@ INSERT INTO tbl VALUES(5); # Generated columns can not be inserted into directly statement error INSERT INTO tbl VALUES(2,3) +---- # 'x' can not be removed, as 'gen_x' depends on it statement error ALTER TABLE tbl DROP COLUMN x; +---- statement ok EXPORT DATABASE '__TEST_DIR__/export_generated_columns' (FORMAT CSV); @@ -40,7 +42,9 @@ SELECT * FROM tbl # Generated columns can not be inserted into directly statement error INSERT INTO tbl VALUES(2,3) +---- # 'x' can not be removed, as 'gen_x' depends on it statement error ALTER TABLE tbl DROP COLUMN x; +---- diff --git a/test/sql/export/export_types.test b/test/sql/export/export_types.test new file mode 100644 index 000000000000..1913be340995 --- /dev/null +++ b/test/sql/export/export_types.test @@ -0,0 +1,61 @@ +# name: test/sql/export/export_types.test +# description: Test export of macro's +# group: [export] + +# Because of ordering issues in EXPORT DATABASE we can't IMPORT this database +mode skip + +statement ok +BEGIN TRANSACTION + +# Populate the database + +# Create a type alias +statement ok +CREATE TYPE mood AS ENUM ('happy', 'sad', 'curious'); + +# Create an alias on 'mood', creating a dependency on 'mood' +statement ok +CREATE TYPE doom as mood; + +# Create tables that use mood and doom +statement ok +create table tbl1 (a mood, b doom); + +statement ok +create table tbl2 (my_struct STRUCT(a mood, b doom)); + +# Create an alias on STRUCT containing mood and doom +statement ok +CREATE TYPE doom_mood as STRUCT(a mood, b doom); + +# Create an alias on LIST of mood +statement ok +CREATE TYPE mood_list as mood[]; + +# Create an alias on a UNION containing mood and doom +statement ok +CREATE TYPE my_union as UNION(a doom, b mood); + +# Create an alias on a MAP with mood as key and doom as value +statement ok +CREATE TYPE mood_map as MAP(doom, mood); + +# Create an alias on a regular type, VARCHAR in this case +statement ok +CREATE TYPE my_special_type as VARCHAR; + +# Create a table containing the doom_mood type +statement ok +CREATE TABLE tbl3 (my_struct doom_mood); + +statement ok +EXPORT DATABASE '__TEST_DIR__/export_types' (FORMAT CSV); + +statement ok +ROLLBACK + +statement ok +IMPORT DATABASE '__TEST_DIR__/export_types' + +# Verify that the database was imported properly diff --git a/test/sql/export/parquet_export.test b/test/sql/export/parquet_export.test index 41fa5737ad04..0db0fc6b42dd 100644 --- a/test/sql/export/parquet_export.test +++ b/test/sql/export/parquet_export.test @@ -37,6 +37,7 @@ SELECT SUM(i), SUM(j) FROM integers # verify that the not null constraint is still there statement error INSERT INTO integers VALUES (NULL, NULL) +---- statement ok DROP TABLE integers @@ -70,6 +71,7 @@ SELECT SUM(i), SUM(j) FROM integers # verify that the not null constraint is still there statement error INSERT INTO integers VALUES (NULL, NULL) +---- statement ok DROP TABLE integers @@ -103,3 +105,4 @@ SELECT SUM(i), SUM(j) FROM integers # verify that the not null constraint is still there statement error INSERT INTO integers VALUES (NULL, NULL) +---- diff --git a/test/sql/filter/test_alias_filter.test b/test/sql/filter/test_alias_filter.test index c03c4c10ff10..81e1e8fb5c39 100644 --- a/test/sql/filter/test_alias_filter.test +++ b/test/sql/filter/test_alias_filter.test @@ -24,6 +24,7 @@ SELECT i % 2 AS k FROM integers WHERE k<>0; # alias cannot be qualified statement error SELECT i % 2 AS k FROM integers WHERE integers.k<>0; +---- # columns take priority query I @@ -52,3 +53,4 @@ SELECT i % 2 AS k FROM integers WHERE k=k; # alias to an aggregate doesn't work. statement error SELECT i % 2 AS o, COUNT(i) AS c FROM integers WHERE c = 0 GROUP BY o; +---- diff --git a/test/sql/filter/test_filter_clause.test_slow b/test/sql/filter/test_filter_clause.test_slow index 1ad55f22021b..a9e808d191b2 100644 --- a/test/sql/filter/test_filter_clause.test_slow +++ b/test/sql/filter/test_filter_clause.test_slow @@ -434,7 +434,7 @@ endloop #Query with many different filter clauses (e.g. 5 aggregates, 5 different filters) statement ok -create temporary table t_2 as select range a, length(range) b, mod(range,100) c, 5 d, 10000 e from range(1000); +create temporary table t_2 as select range a, length(range::varchar) b, mod(range,100) c, 5 d, 10000 e from range(1000); query IIIII select count (a) filter (where a>10 and a < 15), count (b) filter (where b between 1 and 3), diff --git a/test/sql/filter/test_illegal_filters.test b/test/sql/filter/test_illegal_filters.test index 406f115cf89a..2e835f5d9ced 100644 --- a/test/sql/filter/test_illegal_filters.test +++ b/test/sql/filter/test_illegal_filters.test @@ -14,4 +14,5 @@ INSERT INTO integers VALUES (2, 12) # aggregates in WHERE are not allowed statement error SELECT * FROM integers WHERE SUM(a)>10 +---- diff --git a/test/sql/filter/test_struct_pushdown.test b/test/sql/filter/test_struct_pushdown.test new file mode 100644 index 000000000000..2070c57639e2 --- /dev/null +++ b/test/sql/filter/test_struct_pushdown.test @@ -0,0 +1,243 @@ +# name: test/sql/filter/test_struct_pushdown.test +# group: [filter] + +load __TEST_DIR__/test_struct_pushdown.test + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE test_structs(i STRUCT(a integer, b bool)); + +statement ok +INSERT INTO test_structs VALUES ({'a': 1, 'b': true}), ({'a': 2, 'b': false}), (NULL), ({'a': 3, 'b': true}), ({'a': NULL, 'b': NULL}); + +query II +EXPLAIN SELECT * FROM test_structs WHERE i.a < 2; +---- +physical_plan :.*Filters: i\.a<2 AND i\.a IS.*NOT NULL.* + +query I +SELECT * FROM test_structs WHERE i.a < 2; +---- +{'a': 1, 'b': true} + + +query II +EXPLAIN SELECT * FROM test_structs WHERE i.a > 2; +---- +physical_plan :.*Filters: i\.a>2 AND i\.a IS.*NOT NULL.* + +query I +SELECT * FROM test_structs WHERE i.a > 2; +---- +{'a': 3, 'b': true} + +# Ensure it works with case insensitive struct field names +query II +EXPLAIN SELECT * FROM test_structs WHERE i.A < 2; +---- +physical_plan :.*Filters: i\.A<2 AND i\.A IS.*NOT NULL.* + +query I +SELECT * FROM test_structs WHERE i.A < 2; +---- +{'a': 1, 'b': true} + +# This should not produce a filter pushdown +query II +EXPLAIN SELECT * FROM test_structs WHERE i.a IS NULL; +---- +physical_plan :.*Filters:.* + +query I +SELECT * FROM test_structs WHERE i.a IS NULL; +---- +NULL +{'a': NULL, 'b': NULL} + +query II +EXPLAIN SELECT * FROM test_structs WHERE i.a = 2 OR i.a IS NULL; +---- +physical_plan :.*Filters:.* + +query I +SELECT * FROM test_structs WHERE i.a = 2 OR i.a IS NULL; +---- +NULL +{'a': NULL, 'b': NULL} +{'a': 2, 'b': false} + +# String comparisons +statement ok +CREATE TABLE string_structs(s STRUCT(a varchar, b varchar)); + +statement ok +INSERT INTO string_structs VALUES ({'a': 'foo', 'b': 'bar'}), ({'a': 'baz', 'b': 'qux'}), (NULL), ({'a': 'foo', 'b': NULL}); + +query II +EXPLAIN SELECT * FROM string_structs WHERE s.a = 'foo'; +---- +physical_plan :.*Filters: s\.a=foo AND s\.a IS.*NOT NULL.* + +query I +SELECT * FROM string_structs WHERE s.a = 'foo'; +---- +{'a': foo, 'b': bar} +{'a': foo, 'b': NULL} + + +# Large collection of structs +statement ok +CREATE TABLE large_structs(i STRUCT(a integer, b bool)); + +statement ok +INSERT INTO large_structs SELECT {'a': n, 'b': n % 2 = 0} FROM generate_series(200000) as t(n); + +restart + +query II +EXPLAIN SELECT * FROM large_structs WHERE i.a > 150000; +---- +physical_plan :.*Filters: i\.a>150000 AND i\.a.*IS NOT NULL.* + +query II +EXPLAIN SELECT MIN(i.a), MAX(i.a), COUNT(*) FROM large_structs WHERE i.a > 150000; +---- +physical_plan :.*Filters: i\.a>150000 AND i\.a.*IS NOT NULL.* + +query III +SELECT MIN(i.a), MAX(i.a), COUNT(*) FROM large_structs WHERE i.a > 150000; +---- +150001 200000 50000 + + + +# Nested structs +statement ok +CREATE TABLE nested_structs(s STRUCT(a STRUCT(b integer, c bool), d STRUCT(e integer, f varchar))); + +statement ok +INSERT INTO nested_structs VALUES + ({'a': {'b': 1, 'c': false}, 'd': {'e': 2, 'f': 'foo'}}), + (NULL), + ({'a': {'b': 3, 'c': true}, 'd': {'e': 4, 'f': 'bar'}}), + ({'a': {'b': NULL, 'c': true}, 'd': {'e': 5, 'f': 'qux'}}), + ({'a': NULL, 'd': NULL}); + +query II +EXPLAIN SELECT * FROM nested_structs WHERE s.a.b < 2; +---- +physical_plan :.*Filters: s\.a\.b<2 AND s\.a\.b.*IS NOT NULL.* + +query I +SELECT * FROM nested_structs WHERE s.a.b < 2; +---- +{'a': {'b': 1, 'c': false}, 'd': {'e': 2, 'f': foo}} + +query II +EXPLAIN SELECT * FROM nested_structs WHERE s.a.c = true AND s.d.e = 5; +---- +physical_plan :.*Filters: s\.a\.c=true AND s\.a.*\.c IS NOT NULL.*AND s\.d\.e=5.*AND s\.d\.e.*IS NOT NULL.* + +query I +SELECT * FROM nested_structs WHERE s.a.c = true AND s.d.e = 5; +---- +{'a': {'b': NULL, 'c': true}, 'd': {'e': 5, 'f': qux}} + +query II +EXPLAIN SELECT * FROM nested_structs WHERE s.d.f = 'bar'; +---- +physical_plan :.*Filters: s\.d\.f=bar AND s\.d.*\.f IS NOT NULL.* + +query I +SELECT * FROM nested_structs WHERE s.d.f = 'bar'; +---- +{'a': {'b': 3, 'c': true}, 'd': {'e': 4, 'f': bar}} + + +# Parquet test +require parquet + +statement ok +COPY (FROM test_structs) TO '__TEST_DIR__/test_structs.parquet' (FORMAT PARQUET); + +query II +EXPLAIN SELECT * FROM read_parquet('__TEST_DIR__/test_structs.parquet') WHERE i.a < 2; +---- +physical_plan :.*Filters: i\.a<2 AND i\.a IS.*NOT NULL.* + +query I +SELECT * FROM read_parquet('__TEST_DIR__/test_structs.parquet') WHERE i.a < 2; +---- +{'a': 1, 'b': true} + +query II +EXPLAIN SELECT * FROM read_parquet('__TEST_DIR__/test_structs.parquet') WHERE i.b = true or i.a IS NULL; +---- +physical_plan :.*Filters:.* + +query I +SELECT * FROM read_parquet('__TEST_DIR__/test_structs.parquet') WHERE i.b = true or i.a IS NULL ORDER BY ALL; +---- +{'a': 1, 'b': true} +{'a': 3, 'b': true} +{'a': NULL, 'b': NULL} +NULL + +# String structs +statement ok +COPY (FROM string_structs) TO '__TEST_DIR__/string_structs.parquet' (FORMAT PARQUET); + +query II +EXPLAIN SELECT * FROM read_parquet('__TEST_DIR__/string_structs.parquet') WHERE s.a = 'foo'; +---- +physical_plan :.*Filters: s\.a=foo AND s\.a IS.*NOT NULL.* + +query I +SELECT * FROM read_parquet('__TEST_DIR__/string_structs.parquet') WHERE s.a = 'foo'; +---- +{'a': foo, 'b': bar} +{'a': foo, 'b': NULL} + +# Nested structs +statement ok +COPY (FROM nested_structs) TO '__TEST_DIR__/nested_structs.parquet' (FORMAT PARQUET); + +query II +EXPLAIN SELECT * FROM read_parquet('__TEST_DIR__/nested_structs.parquet') WHERE s.a.b < 2; +---- +physical_plan :.*Filters: s\.a\.b<2 AND s\.a\.b.*IS NOT NULL.* + +query I +SELECT * FROM read_parquet('__TEST_DIR__/nested_structs.parquet') WHERE s.a.b < 2; +---- +{'a': {'b': 1, 'c': false}, 'd': {'e': 2, 'f': foo}} + +query II +EXPLAIN SELECT * FROM read_parquet('__TEST_DIR__/nested_structs.parquet') WHERE s.a.c = true AND s.d.e = 5; +---- +physical_plan :.*Filters: s\.a\.c=true AND s\.a.*\.c IS NOT NULL.*AND s\.d\.e=5.*AND s\.d\.e.*IS NOT NULL.* + +query I +SELECT * FROM read_parquet('__TEST_DIR__/nested_structs.parquet') WHERE s.a.c = true AND s.d.e = 5; +---- +{'a': {'b': NULL, 'c': true}, 'd': {'e': 5, 'f': qux}} + +# Test with large (multi-row-group) parquet files + +statement ok +COPY (SELECT {'i': n} as s FROM generate_series(100000) as t(n)) TO '__TEST_DIR__/large.parquet' (FORMAT 'parquet', ROW_GROUP_SIZE 3000); + +query II +EXPLAIN SELECT * FROM read_parquet('__TEST_DIR__/large.parquet') WHERE s.i >= 500 AND s.i < 5000; +---- +physical_plan :.*Filters: s\.i>=500 AND s\.i.*<5000 AND s.i IS NOT NULL.* + +query II +SELECT min(s.i), max(s.i) FROM read_parquet('__TEST_DIR__/large.parquet') WHERE s.i >= 500 AND s.i < 5000; +---- +500 4999 + + + diff --git a/test/sql/fts/test_indexing.test_slow b/test/sql/fts/test_indexing.test_slow index 08d06dec6a63..bc99f0e02983 100644 --- a/test/sql/fts/test_indexing.test_slow +++ b/test/sql/fts/test_indexing.test_slow @@ -13,6 +13,7 @@ PRAGMA enable_verification statement error PRAGMA drop_fts_index('test') +---- statement ok CREATE SCHEMA fts_main_test @@ -29,6 +30,7 @@ INSERT INTO documents VALUES ('doc1', ' QUÁCKING+QUÁCKING+QUÁCKING'), ('doc2' # non-existant parameters should yield an error statement error PRAGMA create_fts_index('documents', 'id', 'body', nonexistant_param='dummy') +---- # test different stemmer statement ok @@ -37,6 +39,7 @@ PRAGMA create_fts_index('documents', 'id', 'body', stemmer='turkish') # cannot overwrite without supplying the 'overwrite' param statement error PRAGMA create_fts_index('documents', 'id', 'body') +---- statement ok PRAGMA create_fts_index('documents', 'id', 'body', overwrite=true) @@ -47,6 +50,7 @@ PRAGMA drop_fts_index('documents') statement error PRAGMA create_fts_index('documents', 'id', 'body', stopwords='nonexistant_stopwords_table') +---- statement ok PRAGMA create_fts_index('documents', 'id', 'body', stopwords='english') diff --git a/test/sql/fts/test_indexing_and_schema.test b/test/sql/fts/test_indexing_and_schema.test index e066e7de2da2..8ecb38d69e4c 100644 --- a/test/sql/fts/test_indexing_and_schema.test +++ b/test/sql/fts/test_indexing_and_schema.test @@ -17,6 +17,7 @@ INSERT INTO test.documents VALUES ('doc1', ' QUÁCKING+QUÁCKING+QUÁCKING'), (' statement error PRAGMA create_fts_index('documents', 'id', 'body') +---- statement ok SET SCHEMA='test' @@ -29,9 +30,10 @@ SET SCHEMA='main' statement error PRAGMA drop_fts_index('documents') +---- statement ok SET SCHEMA='test' statement ok -PRAGMA drop_fts_index('documents') \ No newline at end of file +PRAGMA drop_fts_index('documents') diff --git a/test/sql/fts/test_issue_10254.test b/test/sql/fts/test_issue_10254.test new file mode 100644 index 000000000000..0d5cd0cef1b1 --- /dev/null +++ b/test/sql/fts/test_issue_10254.test @@ -0,0 +1,25 @@ +# name: test/sql/fts/test_issue_10254.test +# description: Test issue #10254: FTS not working with stemmer +# group: [fts] + +require fts + +require noalternativeverify + +statement ok +CREATE TABLE data (context VARCHAR, question VARCHAR, id BIGINT) + +statement ok +INSERT INTO data VALUES + ('Многоклеточный организм — внесистематическая категория живых организмов, тело которых состоит из многих клеток, большая часть которых (кроме стволовых, например, клеток камбия у растений) дифференцированы, то есть различаются по строению и выполняемым функциям. Следует отличать многоклеточность и колониальность. У колониальных организмов отсутствуют настоящие дифференцированные клетки, а следовательно, и разделение тела на ткани. Граница между многоклеточностью и колониальностью нечёткая. Например, вольвокс часто относят к колониальным организмам, хотя в его колониях есть чёткое деление клеток на генеративные и соматические. Кроме дифференциации клеток, для многоклеточных характерен и более высокий уровень интеграции, чем для колониальных форм. Многоклеточные животные, возможно, появились на Земле 2,1 миллиарда лет назад, вскоре после кислородной революции .', 'У каких организмов отсутствуют настоящие дифференцированные клетки?', 0), + ('Многоклеточный организм — внесистематическая категория живых организмов, тело которых состоит из многих клеток, большая часть которых (кроме стволовых, например, клеток камбия у растений) дифференцированы, то есть различаются по строению и выполняемым функциям. Следует отличать многоклеточность и колониальность. У колониальных организмов отсутствуют настоящие дифференцированные клетки, а следовательно, и разделение тела на ткани. Граница между многоклеточностью и колониальностью нечёткая. Например, вольвокс часто относят к колониальным организмам, хотя в его колониях есть чёткое деление клеток на генеративные и соматические. Кроме дифференциации клеток, для многоклеточных характерен и более высокий уровень интеграции, чем для колониальных форм. Многоклеточные животные, возможно, появились на Земле 2,1 миллиарда лет назад, вскоре после кислородной революции .', 'Какие животные появились на Земле 2,1 миллиарда лет назад?', 1), + ('Многоклеточный организм — внесистематическая категория живых организмов, тело которых состоит из многих клеток, большая часть которых (кроме стволовых, например, клеток камбия у растений) дифференцированы, то есть различаются по строению и выполняемым функциям. Следует отличать многоклеточность и колониальность. У колониальных организмов отсутствуют настоящие дифференцированные клетки, а следовательно, и разделение тела на ткани. Граница между многоклеточностью и колониальностью нечёткая. Например, вольвокс часто относят к колониальным организмам, хотя в его колониях есть чёткое деление клеток на генеративные и соматические. Кроме дифференциации клеток, для многоклеточных характерен и более высокий уровень интеграции, чем для колониальных форм. Многоклеточные животные, возможно, появились на Земле 2,1 миллиарда лет назад, вскоре после кислородной революции .', 'Когда предположительно появились многоклеточные животные?', 2) + +statement ok +PRAGMA create_fts_index('data', 'id', 'context', 'question', stemmer='russian', overwrite=1); + +query I +SELECT id FROM (SELECT *, fts_main_data.match_bm25(id, 'Какие') AS score FROM data) sq WHERE score IS NOT NULL ORDER BY score DESC; +---- +1 +0 diff --git a/test/sql/fts/test_issue_10281.test b/test/sql/fts/test_issue_10281.test new file mode 100644 index 000000000000..e2577c357108 --- /dev/null +++ b/test/sql/fts/test_issue_10281.test @@ -0,0 +1,19 @@ +# name: test/sql/fts/test_issue_10281.test +# description: Test issue #10281: Error when trying to create FTS index for column with struct data +# group: [fts] + +require fts + +require noalternativeverify + +statement ok +CREATE OR REPLACE TABLE data AS SELECT {'duck': 42} conversations, 42::bigint _id; + +statement ok +PRAGMA create_fts_index('data', '_id', 'conversations'); + +# we should be able to retrieve the struct col +query I +SELECT _id FROM (SELECT *, fts_main_data.match_bm25(_id, 'duck') AS score FROM data) sq WHERE score IS NOT NULL ORDER BY score DESC; +---- +42 diff --git a/test/sql/function/array/array_cosine_similarity.test b/test/sql/function/array/array_cosine_similarity.test new file mode 100644 index 000000000000..b8f78ed3f340 --- /dev/null +++ b/test/sql/function/array/array_cosine_similarity.test @@ -0,0 +1,46 @@ +# name: test/sql/function/array/array_cosine_similarity.test +# group: [array] + +statement ok +PRAGMA enable_verification + +foreach type FLOAT DOUBLE + +query I +SELECT array_cosine_similarity([1, 2, 3]::${type}[3], [1, 2, 3]::${type}[3]); +---- +1.0 + +statement ok +CREATE OR REPLACE TABLE arrays (l ${type}[3]); + +statement ok +INSERT INTO arrays VALUES ([1, 2, 3]), ([4, 5, 6]), ([7, 8, 9]), ([-1, -2, -3]), (NULL); + +query I +SELECT array_cosine_similarity(l, [1, 2, 3]::${type}[3]) FROM arrays; +---- +0.99999994 +0.9746318 +0.95941186 +-0.99999994 +NULL + +statement error +SELECT array_cosine_similarity([1, NULL, 3]::${type}[3], [1, 2, 3]::${type}[3]); +---- +left argument can not contain NULL values + +statement error +SELECT array_cosine_similarity([1, 2, 3]::${type}[3], [1, NULL, 3]::${type}[3]); +---- +right argument can not contain NULL values + +statement error +SELECT array_cosine_similarity([1, 2, 3]::${type}[3], [1, 2, 3, 4]::${type}[4]); +---- +array_cosine_similarity: Array arguments must be of the same size + + + +endloop diff --git a/test/sql/function/array/array_cross_product.test b/test/sql/function/array/array_cross_product.test new file mode 100644 index 000000000000..de4ded3cff23 --- /dev/null +++ b/test/sql/function/array/array_cross_product.test @@ -0,0 +1,55 @@ +# name: test/sql/function/array/array_cross_product.test +# group: [array] + +# This tests the vector cross product + +statement ok +PRAGMA enable_verification + +foreach TYPE DOUBLE FLOAT + +query I rowsort +SELECT array_cross_product(l, r) FROM (VALUES + ([-1, -2, 3]::${TYPE}[3], [4, 0, -8]::${TYPE}[3]), + ([1,2,3]::${TYPE}[3], [1,5,7]::${TYPE}[3]), + ([1,2,3]::${TYPE}[3], NULL::${TYPE}[3]), + (NULL::${TYPE}[3], [1,5,7]::${TYPE}[3]), + (NULL::${TYPE}[3], NULL::${TYPE}[3]) +) as t(l,r); +---- +NULL +NULL +NULL +[-1.0, -4.0, 3.0] +[16.0, 4.0, 8.0] + + +# Constant case +query I +SELECT array_cross_product([1,2,3]::${TYPE}[3], [1,5,7]::${TYPE}[3]); +---- +[-1.0, -4.0, 3.0] + +# Constant Null case +query I +SELECT array_cross_product([1,2,3]::${TYPE}[3], NULL::${TYPE}[3]); +---- +NULL + +statement error +SELECT array_cross_product([1,NULL,3]::${TYPE}[3], [1,5,7]::${TYPE}[3]); +---- +array_cross_product: left argument can not contain NULL values + +statement error +SELECT array_cross_product([1,5,7]::${TYPE}[3], [1,NULL,3]::${TYPE}[3]); +---- +array_cross_product: right argument can not contain NULL values + +# Now we can also try implict casts +query I +SELECT array_cross_product(array_value(1,2,3), array_value(1.0,5.0,7.0)::${TYPE}[3]); +---- +[-1.0, -4.0, 3.0] + +endloop diff --git a/test/sql/function/array/array_distance.test b/test/sql/function/array/array_distance.test new file mode 100644 index 000000000000..c505e2f3edb1 --- /dev/null +++ b/test/sql/function/array/array_distance.test @@ -0,0 +1,46 @@ +# name: test/sql/function/array/array_distance.test +# group: [array] + +statement ok +PRAGMA enable_verification + +foreach type FLOAT + +query I +SELECT array_distance([1, 2, 3]::${type}[3], [1, 2, 3]::${type}[3]); +---- +0.0 + +statement ok +CREATE OR REPLACE TABLE arrays (l ${type}[3]); + +statement ok +INSERT INTO arrays VALUES ([1, 2, 3]), ([1, 2, 4]), ([7, 8, 9]), ([-1, -2, -3]), (NULL); + +query I +SELECT array_distance(l, [1, 2, 3]::${type}[3]) FROM arrays; +---- +0.0 +1.0 +10.392304 +7.483315 +NULL + + +statement error +SELECT array_distance([1, NULL, 3]::${type}[3], [1, 2, 3]::${type}[3]); +---- +left argument can not contain NULL values + +statement error +SELECT array_distance([1, 2, 3]::${type}[3], [1, NULL, 3]::${type}[3]); +---- +right argument can not contain NULL values + +statement error +SELECT array_distance([1, 2, 3]::${type}[3], [1, 2, 3, 4]::${type}[4]); +---- +array_distance: Array arguments must be of the same size + + +endloop diff --git a/test/sql/function/array/array_inner_product.test b/test/sql/function/array/array_inner_product.test new file mode 100644 index 000000000000..6427ebadc049 --- /dev/null +++ b/test/sql/function/array/array_inner_product.test @@ -0,0 +1,63 @@ +# name: test/sql/function/array/array_inner_product.test +# group: [array] + +statement ok +PRAGMA enable_verification + +# Error message coverage test +statement error +SELECT array_inner_product('foo', 'bar'); +---- +Could not choose a best candidate function + +statement error +SELECT array_inner_product([1,2,3]::INT[3], ['a','b','c']::VARCHAR[3]); +---- +Binder Error: No function matches the given name and argument types + +statement error +SELECT array_distance(['a','b']::VARCHAR[2],['foo','bar']::VARCHAR[2]); +---- +Binder Error: No function matches the given name and argument types + +# Tests for supported types +foreach type FLOAT DOUBLE + +query I +SELECT array_inner_product([1, 1, 1]::${type}[3], [1, 1, 1]::${type}[3]); +---- +3.0 + +statement ok +CREATE OR REPLACE TABLE arrays (l ${type}[3]); + +statement ok +INSERT INTO arrays VALUES ([1, 2, 3]), ([1, 2, 4]), ([7, 8, 9]), ([-1, -2, -3]), (NULL); + +query I +SELECT array_inner_product(l, [1, 2, 3]::${type}[3]) FROM arrays; +---- +14.0 +17.0 +50.0 +-14.0 +NULL + + +statement error +SELECT array_inner_product([1, NULL, 3]::${type}[3], [1, 2, 3]::${type}[3]); +---- +left argument can not contain NULL values + +statement error +SELECT array_inner_product([1, 2, 3]::${type}[3], [1, NULL, 3]::${type}[3]); +---- +right argument can not contain NULL values + +statement error +SELECT array_inner_product([1, 2, 3]::${type}[3], [1, 2, 3, 4]::${type}[4]); +---- +array_inner_product: Array arguments must be of the same size + + +endloop diff --git a/test/sql/function/array/array_length.test b/test/sql/function/array/array_length.test new file mode 100644 index 000000000000..4c82583007f0 --- /dev/null +++ b/test/sql/function/array/array_length.test @@ -0,0 +1,34 @@ +# name: test/sql/function/array/array_length.test +# group: [array] + +statement ok +PRAGMA enable_verification + +# Array length +query I +SELECT length(array_value(1, 2, 3)); +---- +3 + +# Array length with dimension argument +query I +SELECT array_length(array_value(array_value(1, 2, 2), array_value(3, 4, 3)), 1); +---- +2 + +query I +SELECT array_length(array_value(array_value(1, 2, 2), array_value(3, 4, 3)), 2); +---- +3 + +statement error +SELECT array_length(array_value(array_value(1, 2, 2), array_value(3, 4, 3)), 3); +---- +Out of Range Error: array_length dimension '3' out of range (min: '1', max: '2') + + +statement error +SELECT array_length(array_value(array_value(1, 2, 2), array_value(3, 4, 3)), 0); +---- +Out of Range Error: array_length dimension '0' out of range (min: '1', max: '2') + diff --git a/test/sql/function/array/array_list_functions.test b/test/sql/function/array/array_list_functions.test new file mode 100644 index 000000000000..731f4e4c23e9 --- /dev/null +++ b/test/sql/function/array/array_list_functions.test @@ -0,0 +1,92 @@ +# name: test/sql/function/array/array_list_functions.test +# group: [array] + +statement ok +PRAGMA enable_verification + +# Just test that arrays are propely cast to lists when calling some list functions with special binding logic +# Aggregate example +query I +SELECT list_distinct(array_value(1,1,2,3,3)) = list_distinct([1,1,2,3,3]); +---- +true + +# Sort example: +query I +SELECT list_sort(array_value(3,2,1)) = list_sort([3,2,1]); +---- +true + +# Slice example: +query I +SELECT list_slice(array_value(1,2,3,4,5), 1, 3) = list_slice([1,2,3,4,5], 1, 3); +---- +true + +# Transform example +query I +SELECT list_transform(array_value(3,2,1), x -> x + 1) = list_transform([3,2,1], x -> x + 1); +---- +true + +# Filter example +query I +SELECT list_filter(array_value(3,2,1), x -> x > 1) = list_filter([3,2,1], x -> x > 1); +---- +true + +# Concat example(s) +query I +SELECT list_concat(array_value(1,2,3), array_value(4,5,6)); +---- +[1, 2, 3, 4, 5, 6] + +query II +SELECT list_concat(array_value(1,2,3), NULL), list_concat(NULL, array_value(4,5,6)); +---- +[1, 2, 3] [4, 5, 6] + +query I +SELECT list_resize(array_value(1,2), 3); +---- +[1, 2, NULL] + +query I +SELECT list_resize(array_value(1,2), 1); +---- +[1] + +query I +SELECT list_resize(array_value(1,2), 0); +---- +[] + +query I +SELECT list_position(array_value(1,2,3), 2); +---- +2 + +query I +SELECT list_position(array_value(1,2,3), 4); +---- +0 + +query I +SELECT list_contains(array_value(1,2,3), 2); +---- +true + +query I +SELECT list_contains(array_value(1,2,3), 4); +---- +false + +query I +SELECT list_extract(array_value(4,5,6), 2); +---- +5 + +query I +SELECT list_extract(array_value(4,5,6), 4); +---- +NULL diff --git a/test/sql/function/blob/base64.test b/test/sql/function/blob/base64.test index 465573a2605a..501fe3899c1a 100644 --- a/test/sql/function/blob/base64.test +++ b/test/sql/function/blob/base64.test @@ -86,7 +86,9 @@ select from_base64('AAAA'); # must be multiple of 4 statement error SELECT from_base64('ab'); +---- # unknown bytes statement error -SELECT from_base64('üab'); \ No newline at end of file +SELECT from_base64('üab'); +---- diff --git a/test/sql/function/blob/create_sort_key.test b/test/sql/function/blob/create_sort_key.test new file mode 100644 index 000000000000..bf0d008ede20 --- /dev/null +++ b/test/sql/function/blob/create_sort_key.test @@ -0,0 +1,351 @@ +# name: test/sql/function/blob/create_sort_key.test +# description: Test create_sort_key function +# group: [blob] + +statement ok +PRAGMA enable_verification + +# test integer types with all modifiers +statement ok +CREATE TABLE integers(i INTEGER); + +statement ok +INSERT INTO integers VALUES (1), (2), (3), (NULL) + +query I +SELECT * FROM integers ORDER BY create_sort_key(i, 'ASC NULLS LAST') +---- +1 +2 +3 +NULL + +query I +SELECT * FROM integers ORDER BY create_sort_key(i, 'ASC NULLS FIRST') +---- +NULL +1 +2 +3 + +query I +SELECT * FROM integers ORDER BY create_sort_key(i, 'DESC NULLS LAST') +---- +3 +2 +1 +NULL + +query I +SELECT * FROM integers ORDER BY create_sort_key(i, 'DESC NULLS FIRST') +---- +NULL +3 +2 +1 + +# test varchar types +statement ok +CREATE TABLE varchars(v VARCHAR); + +statement ok +INSERT INTO varchars VALUES ('hello'), ('hello' || chr(0) || chr(0)), ('world'), (''), (NULL) + +query I +SELECT * FROM varchars ORDER BY create_sort_key(v, 'ASC NULLS LAST') +---- +(empty) +hello +hello\0\0 +world +NULL + +query I +SELECT * FROM varchars ORDER BY create_sort_key(v, 'ASC NULLS FIRST') +---- +NULL +(empty) +hello +hello\0\0 +world + +query I +SELECT * FROM varchars ORDER BY create_sort_key(v, 'DESC NULLS LAST') +---- +world +hello\0\0 +hello +(empty) +NULL + +query I +SELECT * FROM varchars ORDER BY create_sort_key(v, 'DESC NULLS FIRST') +---- +NULL +world +hello\0\0 +hello +(empty) + +# test list types +statement ok +CREATE TABLE int_list(l INT[]); + +statement ok +INSERT INTO int_list VALUES ([1, 2, 3]), ([]), ([1]), ([2]), ([NULL]), (NULL); + +query I +SELECT l FROM int_list ORDER BY create_sort_key(l, 'ASC NULLS LAST') +---- +[] +[1] +[1, 2, 3] +[2] +[NULL] +NULL + +query I +SELECT l FROM int_list ORDER BY create_sort_key(l, 'DESC NULLS LAST') +---- +[NULL] +[2] +[1, 2, 3] +[1] +[] +NULL + +query I +SELECT l FROM int_list ORDER BY create_sort_key(l, 'ASC NULLS FIRST') +---- +NULL +[] +[1] +[1, 2, 3] +[2] +[NULL] + +query I +SELECT l FROM int_list ORDER BY create_sort_key(l, 'DESC NULLS FIRST') +---- +NULL +[NULL] +[2] +[1, 2, 3] +[1] +[] + + +# test struct types +statement ok +CREATE TABLE structs(s ROW(i INT, v VARCHAR)); + +statement ok +INSERT INTO structs VALUES ({'i': 42, v: 'hello'}), ({'i': 42, v: 'hello' || chr(0)}), ({'i': 43, v: ''}), (NULL), ({'i': 42, v: NULL}), ({'i': NULL, v: ''}) + +query I +SELECT * FROM structs ORDER BY create_sort_key(s, 'ASC NULLS LAST') +---- +{'i': 42, 'v': hello} +{'i': 42, 'v': hello\0} +{'i': 42, 'v': NULL} +{'i': 43, 'v': } +{'i': NULL, 'v': } +NULL + +query II +SELECT s.i, s.v FROM structs ORDER BY create_sort_key(s.i, 'ASC NULLS LAST', s.v, 'ASC NULLS LAST') +---- +42 hello +42 hello\0 +42 NULL +43 (empty) +NULL (empty) +NULL NULL + +query I +SELECT * FROM structs ORDER BY create_sort_key(s, 'DESC NULLS FIRST') +---- +NULL +{'i': NULL, 'v': } +{'i': 43, 'v': } +{'i': 42, 'v': NULL} +{'i': 42, 'v': hello\0} +{'i': 42, 'v': hello} + +query II +SELECT s.i, s.v FROM structs ORDER BY create_sort_key(s.i, 'DESC NULLS FIRST', s.v, 'DESC NULLS FIRST') +---- +NULL NULL +NULL (empty) +43 (empty) +42 NULL +42 hello\0 +42 hello + +# test struct types +statement ok +CREATE TABLE list_of_structs(s ROW(i INT, v VARCHAR)[]); + +statement ok +INSERT INTO list_of_structs VALUES +([{'i': 42, v: 'hello'}]), +([]), +([{'i': 42, v: 'hello'}, {'i': 84, v: ''}]), +([{'i': 43, v: ''}]), +(NULL), +([NULL]), +([{'i': 42, v: NULL}]), +([{'i': NULL, v: ''}]), +([{'i': 42, v: 'hello'}, {'i': 84, v: chr(0)}]), +([{'i': 42, v: 'hello'}, NULL, {'i': 84, v: ''}]) + +query I +SELECT * FROM list_of_structs ORDER BY create_sort_key(s, 'ASC NULLS LAST') +---- +[] +[{'i': 42, 'v': hello}] +[{'i': 42, 'v': hello}, {'i': 84, 'v': }] +[{'i': 42, 'v': hello}, {'i': 84, 'v': \0}] +[{'i': 42, 'v': hello}, NULL, {'i': 84, 'v': }] +[{'i': 42, 'v': NULL}] +[{'i': 43, 'v': }] +[{'i': NULL, 'v': }] +[NULL] +NULL + +query I +SELECT * FROM list_of_structs ORDER BY create_sort_key(s, 'DESC NULLS FIRST') +---- +NULL +[NULL] +[{'i': NULL, 'v': }] +[{'i': 43, 'v': }] +[{'i': 42, 'v': NULL}] +[{'i': 42, 'v': hello}, NULL, {'i': 84, 'v': }] +[{'i': 42, 'v': hello}, {'i': 84, 'v': \0}] +[{'i': 42, 'v': hello}, {'i': 84, 'v': }] +[{'i': 42, 'v': hello}] +[] + + +# test nested lists +statement ok +CREATE TABLE nested_lists(s INT[][]); + +statement ok +INSERT INTO nested_lists VALUES +([]), +([[], []]), +(NULL), +([NULL]), +([[NULL]]), +([[42, 84]]), +([[42], [84]]), +([[42], NULL, [84]]), +([[42], [NULL], [84]]), +([[1, 2, 3, 4, 5, 6, 7, 8, 9]]) + +query I +SELECT * FROM nested_lists ORDER BY create_sort_key(s, 'ASC NULLS LAST') +---- +[] +[[], []] +[[1, 2, 3, 4, 5, 6, 7, 8, 9]] +[[42], [84]] +[[42], [NULL], [84]] +[[42], NULL, [84]] +[[42, 84]] +[[NULL]] +[NULL] +NULL + +query I +SELECT * FROM nested_lists ORDER BY create_sort_key(s, 'DESC NULLS FIRST') +---- +NULL +[NULL] +[[NULL]] +[[42, 84]] +[[42], NULL, [84]] +[[42], [NULL], [84]] +[[42], [84]] +[[1, 2, 3, 4, 5, 6, 7, 8, 9]] +[[], []] +[] + + +# test blobs +statement ok +CREATE TABLE blobs(b BLOB, c BLOB); + +statement ok +INSERT INTO blobs VALUES (NULL, NULL), ('hello\x00\x00\x00\x00\x00', NULL), ('hello', 'world'), ('hello\x01\x01\x01', 'world'), ('', ''), ('hello\x00\x00\x00\x00\x00', 'world'), ('hello\x00', NULL) + +query I +SELECT b FROM blobs ORDER BY create_sort_key(b, 'ASC NULLS LAST') +---- +(empty) +hello +hello\x00 +hello\x00\x00\x00\x00\x00 +hello\x00\x00\x00\x00\x00 +hello\x01\x01\x01 +NULL + +query I +SELECT b FROM blobs ORDER BY create_sort_key(b, 'DESC NULLS FIRST') +---- +NULL +hello\x01\x01\x01 +hello\x00\x00\x00\x00\x00 +hello\x00\x00\x00\x00\x00 +hello\x00 +hello +(empty) + +query II +SELECT * FROM blobs ORDER BY create_sort_key(b, 'ASC NULLS LAST', c, 'ASC NULLS LAST') +---- +(empty) (empty) +hello world +hello\x00 NULL +hello\x00\x00\x00\x00\x00 world +hello\x00\x00\x00\x00\x00 NULL +hello\x01\x01\x01 world +NULL NULL + +query II +SELECT * FROM blobs ORDER BY create_sort_key(b, 'DESC NULLS FIRST', c, 'DESC NULLS FIRST') +---- +NULL NULL +hello\x01\x01\x01 world +hello\x00\x00\x00\x00\x00 NULL +hello\x00\x00\x00\x00\x00 world +hello\x00 NULL +hello world +(empty) (empty) + +# test array type +statement ok +CREATE TABLE arrays(l INT[3]); + +statement ok +INSERT INTO arrays VALUES ([1, 2, 3]), (NULL), ([NULL, NULL, NULL]), ([1, NULL, 3]), ([2, 3, 4]); + +query I +SELECT l FROM arrays ORDER BY create_sort_key(l, 'ASC NULLS LAST') +---- +[1, 2, 3] +[1, NULL, 3] +[2, 3, 4] +[NULL, NULL, NULL] +NULL + +query I +SELECT l FROM arrays ORDER BY create_sort_key(l, 'DESC NULLS FIRST') +---- +NULL +[NULL, NULL, NULL] +[2, 3, 4] +[1, NULL, 3] +[1, 2, 3] diff --git a/test/sql/function/blob/encode.test b/test/sql/function/blob/encode.test index d12ded0f0931..9b55c2241c37 100644 --- a/test/sql/function/blob/encode.test +++ b/test/sql/function/blob/encode.test @@ -30,6 +30,7 @@ SELECT decode('\x00'::BLOB) # test invalid decodes statement error SELECT decode('\xFF'::BLOB) +---- query I SELECT decode(encode(a)) || a from (values ('hello'), ('world')) tbl(a); diff --git a/test/sql/function/date/date_add.test b/test/sql/function/date/date_add.test index e358180024ef..8dd6403db4ef 100644 --- a/test/sql/function/date/date_add.test +++ b/test/sql/function/date/date_add.test @@ -15,7 +15,7 @@ INSERT INTO dates VALUES (DATE '1992-01-01') query I SELECT DATE_ADD(DATE '2008-12-25', INTERVAL 5 DAY) AS five_days_later; ---- -2008-12-30 +2008-12-30 00:00:00 query I SELECT DATE_ADD(TIMESTAMP '2008-12-25 00:00:00', INTERVAL 5 DAY) AS five_days_later; diff --git a/test/sql/function/date/date_trunc_4202.test b/test/sql/function/date/date_trunc_4202.test index d8758afabcca..3438afbf76fc 100644 --- a/test/sql/function/date/date_trunc_4202.test +++ b/test/sql/function/date/date_trunc_4202.test @@ -25,4 +25,4 @@ select * from t1 WHERE (date_trunc('DAY', T1.date) < ('2020-02-17T23:59:59.999Z' ---- 2016-12-16 00:00:00 2020-02-17 23:59:59.998 -2020-02-17 23:59:59.999 \ No newline at end of file +2020-02-17 23:59:59.999 diff --git a/test/sql/function/date/date_trunc_stats.test b/test/sql/function/date/date_trunc_stats.test index d8ef22987631..930227a0cd91 100644 --- a/test/sql/function/date/date_trunc_stats.test +++ b/test/sql/function/date/date_trunc_stats.test @@ -14,3 +14,4 @@ SELECT date_trunc('DAY', A0) FROM T1 # Statistics typing for DATE => TIMESTAMP statement error SELECT datetrunc('milliseconds', DATE '-2005205-7-28'); +---- diff --git a/test/sql/function/date/test_date_part.test b/test/sql/function/date/test_date_part.test index 558086ac9305..b676a815a65b 100644 --- a/test/sql/function/date/test_date_part.test +++ b/test/sql/function/date/test_date_part.test @@ -145,12 +145,15 @@ NULL statement error SELECT date_part('timezone', d) FROM dates; +---- statement error SELECT date_part('timezone_hour', d) FROM dates; +---- statement error SELECT date_part('timezone_minute', d) FROM dates; +---- # timestamps query I @@ -261,6 +264,16 @@ NULL NULL NULL +# +# Two-argument timezone +# + +# Normalise to +00:00, add interval, then set offset +query I +select timezone(interval '4 minute', '12:15:37.123456-08'::TIMETZ); +---- +20:19:37.123456+00:04 + # last_day query TTT SELECT LAST_DAY(DATE '1900-02-12'), LAST_DAY(DATE '1992-02-12'), LAST_DAY(DATE '2000-02-12'); diff --git a/test/sql/function/date/test_date_trunc.test b/test/sql/function/date/test_date_trunc.test index 284b263ce855..eeddd55d59a7 100644 --- a/test/sql/function/date/test_date_trunc.test +++ b/test/sql/function/date/test_date_trunc.test @@ -273,6 +273,7 @@ FROM generate_series('2000-01-01'::TIMESTAMP, '2023-01-01'::TIMESTAMP, INTERVAL # Unknown specifier should fail statement error SELECT date_trunc('duck', TIMESTAMP '2019-01-06 04:03:02') FROM timestamps LIMIT 1; +---- # Statistics should propagate diff --git a/test/sql/function/date/test_extract_month.test b/test/sql/function/date/test_extract_month.test index fe2ed8784a46..3f79ced88984 100644 --- a/test/sql/function/date/test_extract_month.test +++ b/test/sql/function/date/test_extract_month.test @@ -8,739 +8,739 @@ PRAGMA enable_verification query II select date '1992-01-01' + interval (i) days, month(date '1992-01-01' + interval (i) days) from range(0, 366) tbl(i); ---- -1992-01-01 1 -1992-01-02 1 -1992-01-03 1 -1992-01-04 1 -1992-01-05 1 -1992-01-06 1 -1992-01-07 1 -1992-01-08 1 -1992-01-09 1 -1992-01-10 1 -1992-01-11 1 -1992-01-12 1 -1992-01-13 1 -1992-01-14 1 -1992-01-15 1 -1992-01-16 1 -1992-01-17 1 -1992-01-18 1 -1992-01-19 1 -1992-01-20 1 -1992-01-21 1 -1992-01-22 1 -1992-01-23 1 -1992-01-24 1 -1992-01-25 1 -1992-01-26 1 -1992-01-27 1 -1992-01-28 1 -1992-01-29 1 -1992-01-30 1 -1992-01-31 1 -1992-02-01 2 -1992-02-02 2 -1992-02-03 2 -1992-02-04 2 -1992-02-05 2 -1992-02-06 2 -1992-02-07 2 -1992-02-08 2 -1992-02-09 2 -1992-02-10 2 -1992-02-11 2 -1992-02-12 2 -1992-02-13 2 -1992-02-14 2 -1992-02-15 2 -1992-02-16 2 -1992-02-17 2 -1992-02-18 2 -1992-02-19 2 -1992-02-20 2 -1992-02-21 2 -1992-02-22 2 -1992-02-23 2 -1992-02-24 2 -1992-02-25 2 -1992-02-26 2 -1992-02-27 2 -1992-02-28 2 -1992-02-29 2 -1992-03-01 3 -1992-03-02 3 -1992-03-03 3 -1992-03-04 3 -1992-03-05 3 -1992-03-06 3 -1992-03-07 3 -1992-03-08 3 -1992-03-09 3 -1992-03-10 3 -1992-03-11 3 -1992-03-12 3 -1992-03-13 3 -1992-03-14 3 -1992-03-15 3 -1992-03-16 3 -1992-03-17 3 -1992-03-18 3 -1992-03-19 3 -1992-03-20 3 -1992-03-21 3 -1992-03-22 3 -1992-03-23 3 -1992-03-24 3 -1992-03-25 3 -1992-03-26 3 -1992-03-27 3 -1992-03-28 3 -1992-03-29 3 -1992-03-30 3 -1992-03-31 3 -1992-04-01 4 -1992-04-02 4 -1992-04-03 4 -1992-04-04 4 -1992-04-05 4 -1992-04-06 4 -1992-04-07 4 -1992-04-08 4 -1992-04-09 4 -1992-04-10 4 -1992-04-11 4 -1992-04-12 4 -1992-04-13 4 -1992-04-14 4 -1992-04-15 4 -1992-04-16 4 -1992-04-17 4 -1992-04-18 4 -1992-04-19 4 -1992-04-20 4 -1992-04-21 4 -1992-04-22 4 -1992-04-23 4 -1992-04-24 4 -1992-04-25 4 -1992-04-26 4 -1992-04-27 4 -1992-04-28 4 -1992-04-29 4 -1992-04-30 4 -1992-05-01 5 -1992-05-02 5 -1992-05-03 5 -1992-05-04 5 -1992-05-05 5 -1992-05-06 5 -1992-05-07 5 -1992-05-08 5 -1992-05-09 5 -1992-05-10 5 -1992-05-11 5 -1992-05-12 5 -1992-05-13 5 -1992-05-14 5 -1992-05-15 5 -1992-05-16 5 -1992-05-17 5 -1992-05-18 5 -1992-05-19 5 -1992-05-20 5 -1992-05-21 5 -1992-05-22 5 -1992-05-23 5 -1992-05-24 5 -1992-05-25 5 -1992-05-26 5 -1992-05-27 5 -1992-05-28 5 -1992-05-29 5 -1992-05-30 5 -1992-05-31 5 -1992-06-01 6 -1992-06-02 6 -1992-06-03 6 -1992-06-04 6 -1992-06-05 6 -1992-06-06 6 -1992-06-07 6 -1992-06-08 6 -1992-06-09 6 -1992-06-10 6 -1992-06-11 6 -1992-06-12 6 -1992-06-13 6 -1992-06-14 6 -1992-06-15 6 -1992-06-16 6 -1992-06-17 6 -1992-06-18 6 -1992-06-19 6 -1992-06-20 6 -1992-06-21 6 -1992-06-22 6 -1992-06-23 6 -1992-06-24 6 -1992-06-25 6 -1992-06-26 6 -1992-06-27 6 -1992-06-28 6 -1992-06-29 6 -1992-06-30 6 -1992-07-01 7 -1992-07-02 7 -1992-07-03 7 -1992-07-04 7 -1992-07-05 7 -1992-07-06 7 -1992-07-07 7 -1992-07-08 7 -1992-07-09 7 -1992-07-10 7 -1992-07-11 7 -1992-07-12 7 -1992-07-13 7 -1992-07-14 7 -1992-07-15 7 -1992-07-16 7 -1992-07-17 7 -1992-07-18 7 -1992-07-19 7 -1992-07-20 7 -1992-07-21 7 -1992-07-22 7 -1992-07-23 7 -1992-07-24 7 -1992-07-25 7 -1992-07-26 7 -1992-07-27 7 -1992-07-28 7 -1992-07-29 7 -1992-07-30 7 -1992-07-31 7 -1992-08-01 8 -1992-08-02 8 -1992-08-03 8 -1992-08-04 8 -1992-08-05 8 -1992-08-06 8 -1992-08-07 8 -1992-08-08 8 -1992-08-09 8 -1992-08-10 8 -1992-08-11 8 -1992-08-12 8 -1992-08-13 8 -1992-08-14 8 -1992-08-15 8 -1992-08-16 8 -1992-08-17 8 -1992-08-18 8 -1992-08-19 8 -1992-08-20 8 -1992-08-21 8 -1992-08-22 8 -1992-08-23 8 -1992-08-24 8 -1992-08-25 8 -1992-08-26 8 -1992-08-27 8 -1992-08-28 8 -1992-08-29 8 -1992-08-30 8 -1992-08-31 8 -1992-09-01 9 -1992-09-02 9 -1992-09-03 9 -1992-09-04 9 -1992-09-05 9 -1992-09-06 9 -1992-09-07 9 -1992-09-08 9 -1992-09-09 9 -1992-09-10 9 -1992-09-11 9 -1992-09-12 9 -1992-09-13 9 -1992-09-14 9 -1992-09-15 9 -1992-09-16 9 -1992-09-17 9 -1992-09-18 9 -1992-09-19 9 -1992-09-20 9 -1992-09-21 9 -1992-09-22 9 -1992-09-23 9 -1992-09-24 9 -1992-09-25 9 -1992-09-26 9 -1992-09-27 9 -1992-09-28 9 -1992-09-29 9 -1992-09-30 9 -1992-10-01 10 -1992-10-02 10 -1992-10-03 10 -1992-10-04 10 -1992-10-05 10 -1992-10-06 10 -1992-10-07 10 -1992-10-08 10 -1992-10-09 10 -1992-10-10 10 -1992-10-11 10 -1992-10-12 10 -1992-10-13 10 -1992-10-14 10 -1992-10-15 10 -1992-10-16 10 -1992-10-17 10 -1992-10-18 10 -1992-10-19 10 -1992-10-20 10 -1992-10-21 10 -1992-10-22 10 -1992-10-23 10 -1992-10-24 10 -1992-10-25 10 -1992-10-26 10 -1992-10-27 10 -1992-10-28 10 -1992-10-29 10 -1992-10-30 10 -1992-10-31 10 -1992-11-01 11 -1992-11-02 11 -1992-11-03 11 -1992-11-04 11 -1992-11-05 11 -1992-11-06 11 -1992-11-07 11 -1992-11-08 11 -1992-11-09 11 -1992-11-10 11 -1992-11-11 11 -1992-11-12 11 -1992-11-13 11 -1992-11-14 11 -1992-11-15 11 -1992-11-16 11 -1992-11-17 11 -1992-11-18 11 -1992-11-19 11 -1992-11-20 11 -1992-11-21 11 -1992-11-22 11 -1992-11-23 11 -1992-11-24 11 -1992-11-25 11 -1992-11-26 11 -1992-11-27 11 -1992-11-28 11 -1992-11-29 11 -1992-11-30 11 -1992-12-01 12 -1992-12-02 12 -1992-12-03 12 -1992-12-04 12 -1992-12-05 12 -1992-12-06 12 -1992-12-07 12 -1992-12-08 12 -1992-12-09 12 -1992-12-10 12 -1992-12-11 12 -1992-12-12 12 -1992-12-13 12 -1992-12-14 12 -1992-12-15 12 -1992-12-16 12 -1992-12-17 12 -1992-12-18 12 -1992-12-19 12 -1992-12-20 12 -1992-12-21 12 -1992-12-22 12 -1992-12-23 12 -1992-12-24 12 -1992-12-25 12 -1992-12-26 12 -1992-12-27 12 -1992-12-28 12 -1992-12-29 12 -1992-12-30 12 -1992-12-31 12 +1992-01-01 00:00:00 1 +1992-01-02 00:00:00 1 +1992-01-03 00:00:00 1 +1992-01-04 00:00:00 1 +1992-01-05 00:00:00 1 +1992-01-06 00:00:00 1 +1992-01-07 00:00:00 1 +1992-01-08 00:00:00 1 +1992-01-09 00:00:00 1 +1992-01-10 00:00:00 1 +1992-01-11 00:00:00 1 +1992-01-12 00:00:00 1 +1992-01-13 00:00:00 1 +1992-01-14 00:00:00 1 +1992-01-15 00:00:00 1 +1992-01-16 00:00:00 1 +1992-01-17 00:00:00 1 +1992-01-18 00:00:00 1 +1992-01-19 00:00:00 1 +1992-01-20 00:00:00 1 +1992-01-21 00:00:00 1 +1992-01-22 00:00:00 1 +1992-01-23 00:00:00 1 +1992-01-24 00:00:00 1 +1992-01-25 00:00:00 1 +1992-01-26 00:00:00 1 +1992-01-27 00:00:00 1 +1992-01-28 00:00:00 1 +1992-01-29 00:00:00 1 +1992-01-30 00:00:00 1 +1992-01-31 00:00:00 1 +1992-02-01 00:00:00 2 +1992-02-02 00:00:00 2 +1992-02-03 00:00:00 2 +1992-02-04 00:00:00 2 +1992-02-05 00:00:00 2 +1992-02-06 00:00:00 2 +1992-02-07 00:00:00 2 +1992-02-08 00:00:00 2 +1992-02-09 00:00:00 2 +1992-02-10 00:00:00 2 +1992-02-11 00:00:00 2 +1992-02-12 00:00:00 2 +1992-02-13 00:00:00 2 +1992-02-14 00:00:00 2 +1992-02-15 00:00:00 2 +1992-02-16 00:00:00 2 +1992-02-17 00:00:00 2 +1992-02-18 00:00:00 2 +1992-02-19 00:00:00 2 +1992-02-20 00:00:00 2 +1992-02-21 00:00:00 2 +1992-02-22 00:00:00 2 +1992-02-23 00:00:00 2 +1992-02-24 00:00:00 2 +1992-02-25 00:00:00 2 +1992-02-26 00:00:00 2 +1992-02-27 00:00:00 2 +1992-02-28 00:00:00 2 +1992-02-29 00:00:00 2 +1992-03-01 00:00:00 3 +1992-03-02 00:00:00 3 +1992-03-03 00:00:00 3 +1992-03-04 00:00:00 3 +1992-03-05 00:00:00 3 +1992-03-06 00:00:00 3 +1992-03-07 00:00:00 3 +1992-03-08 00:00:00 3 +1992-03-09 00:00:00 3 +1992-03-10 00:00:00 3 +1992-03-11 00:00:00 3 +1992-03-12 00:00:00 3 +1992-03-13 00:00:00 3 +1992-03-14 00:00:00 3 +1992-03-15 00:00:00 3 +1992-03-16 00:00:00 3 +1992-03-17 00:00:00 3 +1992-03-18 00:00:00 3 +1992-03-19 00:00:00 3 +1992-03-20 00:00:00 3 +1992-03-21 00:00:00 3 +1992-03-22 00:00:00 3 +1992-03-23 00:00:00 3 +1992-03-24 00:00:00 3 +1992-03-25 00:00:00 3 +1992-03-26 00:00:00 3 +1992-03-27 00:00:00 3 +1992-03-28 00:00:00 3 +1992-03-29 00:00:00 3 +1992-03-30 00:00:00 3 +1992-03-31 00:00:00 3 +1992-04-01 00:00:00 4 +1992-04-02 00:00:00 4 +1992-04-03 00:00:00 4 +1992-04-04 00:00:00 4 +1992-04-05 00:00:00 4 +1992-04-06 00:00:00 4 +1992-04-07 00:00:00 4 +1992-04-08 00:00:00 4 +1992-04-09 00:00:00 4 +1992-04-10 00:00:00 4 +1992-04-11 00:00:00 4 +1992-04-12 00:00:00 4 +1992-04-13 00:00:00 4 +1992-04-14 00:00:00 4 +1992-04-15 00:00:00 4 +1992-04-16 00:00:00 4 +1992-04-17 00:00:00 4 +1992-04-18 00:00:00 4 +1992-04-19 00:00:00 4 +1992-04-20 00:00:00 4 +1992-04-21 00:00:00 4 +1992-04-22 00:00:00 4 +1992-04-23 00:00:00 4 +1992-04-24 00:00:00 4 +1992-04-25 00:00:00 4 +1992-04-26 00:00:00 4 +1992-04-27 00:00:00 4 +1992-04-28 00:00:00 4 +1992-04-29 00:00:00 4 +1992-04-30 00:00:00 4 +1992-05-01 00:00:00 5 +1992-05-02 00:00:00 5 +1992-05-03 00:00:00 5 +1992-05-04 00:00:00 5 +1992-05-05 00:00:00 5 +1992-05-06 00:00:00 5 +1992-05-07 00:00:00 5 +1992-05-08 00:00:00 5 +1992-05-09 00:00:00 5 +1992-05-10 00:00:00 5 +1992-05-11 00:00:00 5 +1992-05-12 00:00:00 5 +1992-05-13 00:00:00 5 +1992-05-14 00:00:00 5 +1992-05-15 00:00:00 5 +1992-05-16 00:00:00 5 +1992-05-17 00:00:00 5 +1992-05-18 00:00:00 5 +1992-05-19 00:00:00 5 +1992-05-20 00:00:00 5 +1992-05-21 00:00:00 5 +1992-05-22 00:00:00 5 +1992-05-23 00:00:00 5 +1992-05-24 00:00:00 5 +1992-05-25 00:00:00 5 +1992-05-26 00:00:00 5 +1992-05-27 00:00:00 5 +1992-05-28 00:00:00 5 +1992-05-29 00:00:00 5 +1992-05-30 00:00:00 5 +1992-05-31 00:00:00 5 +1992-06-01 00:00:00 6 +1992-06-02 00:00:00 6 +1992-06-03 00:00:00 6 +1992-06-04 00:00:00 6 +1992-06-05 00:00:00 6 +1992-06-06 00:00:00 6 +1992-06-07 00:00:00 6 +1992-06-08 00:00:00 6 +1992-06-09 00:00:00 6 +1992-06-10 00:00:00 6 +1992-06-11 00:00:00 6 +1992-06-12 00:00:00 6 +1992-06-13 00:00:00 6 +1992-06-14 00:00:00 6 +1992-06-15 00:00:00 6 +1992-06-16 00:00:00 6 +1992-06-17 00:00:00 6 +1992-06-18 00:00:00 6 +1992-06-19 00:00:00 6 +1992-06-20 00:00:00 6 +1992-06-21 00:00:00 6 +1992-06-22 00:00:00 6 +1992-06-23 00:00:00 6 +1992-06-24 00:00:00 6 +1992-06-25 00:00:00 6 +1992-06-26 00:00:00 6 +1992-06-27 00:00:00 6 +1992-06-28 00:00:00 6 +1992-06-29 00:00:00 6 +1992-06-30 00:00:00 6 +1992-07-01 00:00:00 7 +1992-07-02 00:00:00 7 +1992-07-03 00:00:00 7 +1992-07-04 00:00:00 7 +1992-07-05 00:00:00 7 +1992-07-06 00:00:00 7 +1992-07-07 00:00:00 7 +1992-07-08 00:00:00 7 +1992-07-09 00:00:00 7 +1992-07-10 00:00:00 7 +1992-07-11 00:00:00 7 +1992-07-12 00:00:00 7 +1992-07-13 00:00:00 7 +1992-07-14 00:00:00 7 +1992-07-15 00:00:00 7 +1992-07-16 00:00:00 7 +1992-07-17 00:00:00 7 +1992-07-18 00:00:00 7 +1992-07-19 00:00:00 7 +1992-07-20 00:00:00 7 +1992-07-21 00:00:00 7 +1992-07-22 00:00:00 7 +1992-07-23 00:00:00 7 +1992-07-24 00:00:00 7 +1992-07-25 00:00:00 7 +1992-07-26 00:00:00 7 +1992-07-27 00:00:00 7 +1992-07-28 00:00:00 7 +1992-07-29 00:00:00 7 +1992-07-30 00:00:00 7 +1992-07-31 00:00:00 7 +1992-08-01 00:00:00 8 +1992-08-02 00:00:00 8 +1992-08-03 00:00:00 8 +1992-08-04 00:00:00 8 +1992-08-05 00:00:00 8 +1992-08-06 00:00:00 8 +1992-08-07 00:00:00 8 +1992-08-08 00:00:00 8 +1992-08-09 00:00:00 8 +1992-08-10 00:00:00 8 +1992-08-11 00:00:00 8 +1992-08-12 00:00:00 8 +1992-08-13 00:00:00 8 +1992-08-14 00:00:00 8 +1992-08-15 00:00:00 8 +1992-08-16 00:00:00 8 +1992-08-17 00:00:00 8 +1992-08-18 00:00:00 8 +1992-08-19 00:00:00 8 +1992-08-20 00:00:00 8 +1992-08-21 00:00:00 8 +1992-08-22 00:00:00 8 +1992-08-23 00:00:00 8 +1992-08-24 00:00:00 8 +1992-08-25 00:00:00 8 +1992-08-26 00:00:00 8 +1992-08-27 00:00:00 8 +1992-08-28 00:00:00 8 +1992-08-29 00:00:00 8 +1992-08-30 00:00:00 8 +1992-08-31 00:00:00 8 +1992-09-01 00:00:00 9 +1992-09-02 00:00:00 9 +1992-09-03 00:00:00 9 +1992-09-04 00:00:00 9 +1992-09-05 00:00:00 9 +1992-09-06 00:00:00 9 +1992-09-07 00:00:00 9 +1992-09-08 00:00:00 9 +1992-09-09 00:00:00 9 +1992-09-10 00:00:00 9 +1992-09-11 00:00:00 9 +1992-09-12 00:00:00 9 +1992-09-13 00:00:00 9 +1992-09-14 00:00:00 9 +1992-09-15 00:00:00 9 +1992-09-16 00:00:00 9 +1992-09-17 00:00:00 9 +1992-09-18 00:00:00 9 +1992-09-19 00:00:00 9 +1992-09-20 00:00:00 9 +1992-09-21 00:00:00 9 +1992-09-22 00:00:00 9 +1992-09-23 00:00:00 9 +1992-09-24 00:00:00 9 +1992-09-25 00:00:00 9 +1992-09-26 00:00:00 9 +1992-09-27 00:00:00 9 +1992-09-28 00:00:00 9 +1992-09-29 00:00:00 9 +1992-09-30 00:00:00 9 +1992-10-01 00:00:00 10 +1992-10-02 00:00:00 10 +1992-10-03 00:00:00 10 +1992-10-04 00:00:00 10 +1992-10-05 00:00:00 10 +1992-10-06 00:00:00 10 +1992-10-07 00:00:00 10 +1992-10-08 00:00:00 10 +1992-10-09 00:00:00 10 +1992-10-10 00:00:00 10 +1992-10-11 00:00:00 10 +1992-10-12 00:00:00 10 +1992-10-13 00:00:00 10 +1992-10-14 00:00:00 10 +1992-10-15 00:00:00 10 +1992-10-16 00:00:00 10 +1992-10-17 00:00:00 10 +1992-10-18 00:00:00 10 +1992-10-19 00:00:00 10 +1992-10-20 00:00:00 10 +1992-10-21 00:00:00 10 +1992-10-22 00:00:00 10 +1992-10-23 00:00:00 10 +1992-10-24 00:00:00 10 +1992-10-25 00:00:00 10 +1992-10-26 00:00:00 10 +1992-10-27 00:00:00 10 +1992-10-28 00:00:00 10 +1992-10-29 00:00:00 10 +1992-10-30 00:00:00 10 +1992-10-31 00:00:00 10 +1992-11-01 00:00:00 11 +1992-11-02 00:00:00 11 +1992-11-03 00:00:00 11 +1992-11-04 00:00:00 11 +1992-11-05 00:00:00 11 +1992-11-06 00:00:00 11 +1992-11-07 00:00:00 11 +1992-11-08 00:00:00 11 +1992-11-09 00:00:00 11 +1992-11-10 00:00:00 11 +1992-11-11 00:00:00 11 +1992-11-12 00:00:00 11 +1992-11-13 00:00:00 11 +1992-11-14 00:00:00 11 +1992-11-15 00:00:00 11 +1992-11-16 00:00:00 11 +1992-11-17 00:00:00 11 +1992-11-18 00:00:00 11 +1992-11-19 00:00:00 11 +1992-11-20 00:00:00 11 +1992-11-21 00:00:00 11 +1992-11-22 00:00:00 11 +1992-11-23 00:00:00 11 +1992-11-24 00:00:00 11 +1992-11-25 00:00:00 11 +1992-11-26 00:00:00 11 +1992-11-27 00:00:00 11 +1992-11-28 00:00:00 11 +1992-11-29 00:00:00 11 +1992-11-30 00:00:00 11 +1992-12-01 00:00:00 12 +1992-12-02 00:00:00 12 +1992-12-03 00:00:00 12 +1992-12-04 00:00:00 12 +1992-12-05 00:00:00 12 +1992-12-06 00:00:00 12 +1992-12-07 00:00:00 12 +1992-12-08 00:00:00 12 +1992-12-09 00:00:00 12 +1992-12-10 00:00:00 12 +1992-12-11 00:00:00 12 +1992-12-12 00:00:00 12 +1992-12-13 00:00:00 12 +1992-12-14 00:00:00 12 +1992-12-15 00:00:00 12 +1992-12-16 00:00:00 12 +1992-12-17 00:00:00 12 +1992-12-18 00:00:00 12 +1992-12-19 00:00:00 12 +1992-12-20 00:00:00 12 +1992-12-21 00:00:00 12 +1992-12-22 00:00:00 12 +1992-12-23 00:00:00 12 +1992-12-24 00:00:00 12 +1992-12-25 00:00:00 12 +1992-12-26 00:00:00 12 +1992-12-27 00:00:00 12 +1992-12-28 00:00:00 12 +1992-12-29 00:00:00 12 +1992-12-30 00:00:00 12 +1992-12-31 00:00:00 12 query II select date '1993-01-01' + interval (i) days, month(date '1993-01-01' + interval (i) days) from range(0, 366) tbl(i); ---- -1993-01-01 1 -1993-01-02 1 -1993-01-03 1 -1993-01-04 1 -1993-01-05 1 -1993-01-06 1 -1993-01-07 1 -1993-01-08 1 -1993-01-09 1 -1993-01-10 1 -1993-01-11 1 -1993-01-12 1 -1993-01-13 1 -1993-01-14 1 -1993-01-15 1 -1993-01-16 1 -1993-01-17 1 -1993-01-18 1 -1993-01-19 1 -1993-01-20 1 -1993-01-21 1 -1993-01-22 1 -1993-01-23 1 -1993-01-24 1 -1993-01-25 1 -1993-01-26 1 -1993-01-27 1 -1993-01-28 1 -1993-01-29 1 -1993-01-30 1 -1993-01-31 1 -1993-02-01 2 -1993-02-02 2 -1993-02-03 2 -1993-02-04 2 -1993-02-05 2 -1993-02-06 2 -1993-02-07 2 -1993-02-08 2 -1993-02-09 2 -1993-02-10 2 -1993-02-11 2 -1993-02-12 2 -1993-02-13 2 -1993-02-14 2 -1993-02-15 2 -1993-02-16 2 -1993-02-17 2 -1993-02-18 2 -1993-02-19 2 -1993-02-20 2 -1993-02-21 2 -1993-02-22 2 -1993-02-23 2 -1993-02-24 2 -1993-02-25 2 -1993-02-26 2 -1993-02-27 2 -1993-02-28 2 -1993-03-01 3 -1993-03-02 3 -1993-03-03 3 -1993-03-04 3 -1993-03-05 3 -1993-03-06 3 -1993-03-07 3 -1993-03-08 3 -1993-03-09 3 -1993-03-10 3 -1993-03-11 3 -1993-03-12 3 -1993-03-13 3 -1993-03-14 3 -1993-03-15 3 -1993-03-16 3 -1993-03-17 3 -1993-03-18 3 -1993-03-19 3 -1993-03-20 3 -1993-03-21 3 -1993-03-22 3 -1993-03-23 3 -1993-03-24 3 -1993-03-25 3 -1993-03-26 3 -1993-03-27 3 -1993-03-28 3 -1993-03-29 3 -1993-03-30 3 -1993-03-31 3 -1993-04-01 4 -1993-04-02 4 -1993-04-03 4 -1993-04-04 4 -1993-04-05 4 -1993-04-06 4 -1993-04-07 4 -1993-04-08 4 -1993-04-09 4 -1993-04-10 4 -1993-04-11 4 -1993-04-12 4 -1993-04-13 4 -1993-04-14 4 -1993-04-15 4 -1993-04-16 4 -1993-04-17 4 -1993-04-18 4 -1993-04-19 4 -1993-04-20 4 -1993-04-21 4 -1993-04-22 4 -1993-04-23 4 -1993-04-24 4 -1993-04-25 4 -1993-04-26 4 -1993-04-27 4 -1993-04-28 4 -1993-04-29 4 -1993-04-30 4 -1993-05-01 5 -1993-05-02 5 -1993-05-03 5 -1993-05-04 5 -1993-05-05 5 -1993-05-06 5 -1993-05-07 5 -1993-05-08 5 -1993-05-09 5 -1993-05-10 5 -1993-05-11 5 -1993-05-12 5 -1993-05-13 5 -1993-05-14 5 -1993-05-15 5 -1993-05-16 5 -1993-05-17 5 -1993-05-18 5 -1993-05-19 5 -1993-05-20 5 -1993-05-21 5 -1993-05-22 5 -1993-05-23 5 -1993-05-24 5 -1993-05-25 5 -1993-05-26 5 -1993-05-27 5 -1993-05-28 5 -1993-05-29 5 -1993-05-30 5 -1993-05-31 5 -1993-06-01 6 -1993-06-02 6 -1993-06-03 6 -1993-06-04 6 -1993-06-05 6 -1993-06-06 6 -1993-06-07 6 -1993-06-08 6 -1993-06-09 6 -1993-06-10 6 -1993-06-11 6 -1993-06-12 6 -1993-06-13 6 -1993-06-14 6 -1993-06-15 6 -1993-06-16 6 -1993-06-17 6 -1993-06-18 6 -1993-06-19 6 -1993-06-20 6 -1993-06-21 6 -1993-06-22 6 -1993-06-23 6 -1993-06-24 6 -1993-06-25 6 -1993-06-26 6 -1993-06-27 6 -1993-06-28 6 -1993-06-29 6 -1993-06-30 6 -1993-07-01 7 -1993-07-02 7 -1993-07-03 7 -1993-07-04 7 -1993-07-05 7 -1993-07-06 7 -1993-07-07 7 -1993-07-08 7 -1993-07-09 7 -1993-07-10 7 -1993-07-11 7 -1993-07-12 7 -1993-07-13 7 -1993-07-14 7 -1993-07-15 7 -1993-07-16 7 -1993-07-17 7 -1993-07-18 7 -1993-07-19 7 -1993-07-20 7 -1993-07-21 7 -1993-07-22 7 -1993-07-23 7 -1993-07-24 7 -1993-07-25 7 -1993-07-26 7 -1993-07-27 7 -1993-07-28 7 -1993-07-29 7 -1993-07-30 7 -1993-07-31 7 -1993-08-01 8 -1993-08-02 8 -1993-08-03 8 -1993-08-04 8 -1993-08-05 8 -1993-08-06 8 -1993-08-07 8 -1993-08-08 8 -1993-08-09 8 -1993-08-10 8 -1993-08-11 8 -1993-08-12 8 -1993-08-13 8 -1993-08-14 8 -1993-08-15 8 -1993-08-16 8 -1993-08-17 8 -1993-08-18 8 -1993-08-19 8 -1993-08-20 8 -1993-08-21 8 -1993-08-22 8 -1993-08-23 8 -1993-08-24 8 -1993-08-25 8 -1993-08-26 8 -1993-08-27 8 -1993-08-28 8 -1993-08-29 8 -1993-08-30 8 -1993-08-31 8 -1993-09-01 9 -1993-09-02 9 -1993-09-03 9 -1993-09-04 9 -1993-09-05 9 -1993-09-06 9 -1993-09-07 9 -1993-09-08 9 -1993-09-09 9 -1993-09-10 9 -1993-09-11 9 -1993-09-12 9 -1993-09-13 9 -1993-09-14 9 -1993-09-15 9 -1993-09-16 9 -1993-09-17 9 -1993-09-18 9 -1993-09-19 9 -1993-09-20 9 -1993-09-21 9 -1993-09-22 9 -1993-09-23 9 -1993-09-24 9 -1993-09-25 9 -1993-09-26 9 -1993-09-27 9 -1993-09-28 9 -1993-09-29 9 -1993-09-30 9 -1993-10-01 10 -1993-10-02 10 -1993-10-03 10 -1993-10-04 10 -1993-10-05 10 -1993-10-06 10 -1993-10-07 10 -1993-10-08 10 -1993-10-09 10 -1993-10-10 10 -1993-10-11 10 -1993-10-12 10 -1993-10-13 10 -1993-10-14 10 -1993-10-15 10 -1993-10-16 10 -1993-10-17 10 -1993-10-18 10 -1993-10-19 10 -1993-10-20 10 -1993-10-21 10 -1993-10-22 10 -1993-10-23 10 -1993-10-24 10 -1993-10-25 10 -1993-10-26 10 -1993-10-27 10 -1993-10-28 10 -1993-10-29 10 -1993-10-30 10 -1993-10-31 10 -1993-11-01 11 -1993-11-02 11 -1993-11-03 11 -1993-11-04 11 -1993-11-05 11 -1993-11-06 11 -1993-11-07 11 -1993-11-08 11 -1993-11-09 11 -1993-11-10 11 -1993-11-11 11 -1993-11-12 11 -1993-11-13 11 -1993-11-14 11 -1993-11-15 11 -1993-11-16 11 -1993-11-17 11 -1993-11-18 11 -1993-11-19 11 -1993-11-20 11 -1993-11-21 11 -1993-11-22 11 -1993-11-23 11 -1993-11-24 11 -1993-11-25 11 -1993-11-26 11 -1993-11-27 11 -1993-11-28 11 -1993-11-29 11 -1993-11-30 11 -1993-12-01 12 -1993-12-02 12 -1993-12-03 12 -1993-12-04 12 -1993-12-05 12 -1993-12-06 12 -1993-12-07 12 -1993-12-08 12 -1993-12-09 12 -1993-12-10 12 -1993-12-11 12 -1993-12-12 12 -1993-12-13 12 -1993-12-14 12 -1993-12-15 12 -1993-12-16 12 -1993-12-17 12 -1993-12-18 12 -1993-12-19 12 -1993-12-20 12 -1993-12-21 12 -1993-12-22 12 -1993-12-23 12 -1993-12-24 12 -1993-12-25 12 -1993-12-26 12 -1993-12-27 12 -1993-12-28 12 -1993-12-29 12 -1993-12-30 12 -1993-12-31 12 -1994-01-01 1 +1993-01-01 00:00:00 1 +1993-01-02 00:00:00 1 +1993-01-03 00:00:00 1 +1993-01-04 00:00:00 1 +1993-01-05 00:00:00 1 +1993-01-06 00:00:00 1 +1993-01-07 00:00:00 1 +1993-01-08 00:00:00 1 +1993-01-09 00:00:00 1 +1993-01-10 00:00:00 1 +1993-01-11 00:00:00 1 +1993-01-12 00:00:00 1 +1993-01-13 00:00:00 1 +1993-01-14 00:00:00 1 +1993-01-15 00:00:00 1 +1993-01-16 00:00:00 1 +1993-01-17 00:00:00 1 +1993-01-18 00:00:00 1 +1993-01-19 00:00:00 1 +1993-01-20 00:00:00 1 +1993-01-21 00:00:00 1 +1993-01-22 00:00:00 1 +1993-01-23 00:00:00 1 +1993-01-24 00:00:00 1 +1993-01-25 00:00:00 1 +1993-01-26 00:00:00 1 +1993-01-27 00:00:00 1 +1993-01-28 00:00:00 1 +1993-01-29 00:00:00 1 +1993-01-30 00:00:00 1 +1993-01-31 00:00:00 1 +1993-02-01 00:00:00 2 +1993-02-02 00:00:00 2 +1993-02-03 00:00:00 2 +1993-02-04 00:00:00 2 +1993-02-05 00:00:00 2 +1993-02-06 00:00:00 2 +1993-02-07 00:00:00 2 +1993-02-08 00:00:00 2 +1993-02-09 00:00:00 2 +1993-02-10 00:00:00 2 +1993-02-11 00:00:00 2 +1993-02-12 00:00:00 2 +1993-02-13 00:00:00 2 +1993-02-14 00:00:00 2 +1993-02-15 00:00:00 2 +1993-02-16 00:00:00 2 +1993-02-17 00:00:00 2 +1993-02-18 00:00:00 2 +1993-02-19 00:00:00 2 +1993-02-20 00:00:00 2 +1993-02-21 00:00:00 2 +1993-02-22 00:00:00 2 +1993-02-23 00:00:00 2 +1993-02-24 00:00:00 2 +1993-02-25 00:00:00 2 +1993-02-26 00:00:00 2 +1993-02-27 00:00:00 2 +1993-02-28 00:00:00 2 +1993-03-01 00:00:00 3 +1993-03-02 00:00:00 3 +1993-03-03 00:00:00 3 +1993-03-04 00:00:00 3 +1993-03-05 00:00:00 3 +1993-03-06 00:00:00 3 +1993-03-07 00:00:00 3 +1993-03-08 00:00:00 3 +1993-03-09 00:00:00 3 +1993-03-10 00:00:00 3 +1993-03-11 00:00:00 3 +1993-03-12 00:00:00 3 +1993-03-13 00:00:00 3 +1993-03-14 00:00:00 3 +1993-03-15 00:00:00 3 +1993-03-16 00:00:00 3 +1993-03-17 00:00:00 3 +1993-03-18 00:00:00 3 +1993-03-19 00:00:00 3 +1993-03-20 00:00:00 3 +1993-03-21 00:00:00 3 +1993-03-22 00:00:00 3 +1993-03-23 00:00:00 3 +1993-03-24 00:00:00 3 +1993-03-25 00:00:00 3 +1993-03-26 00:00:00 3 +1993-03-27 00:00:00 3 +1993-03-28 00:00:00 3 +1993-03-29 00:00:00 3 +1993-03-30 00:00:00 3 +1993-03-31 00:00:00 3 +1993-04-01 00:00:00 4 +1993-04-02 00:00:00 4 +1993-04-03 00:00:00 4 +1993-04-04 00:00:00 4 +1993-04-05 00:00:00 4 +1993-04-06 00:00:00 4 +1993-04-07 00:00:00 4 +1993-04-08 00:00:00 4 +1993-04-09 00:00:00 4 +1993-04-10 00:00:00 4 +1993-04-11 00:00:00 4 +1993-04-12 00:00:00 4 +1993-04-13 00:00:00 4 +1993-04-14 00:00:00 4 +1993-04-15 00:00:00 4 +1993-04-16 00:00:00 4 +1993-04-17 00:00:00 4 +1993-04-18 00:00:00 4 +1993-04-19 00:00:00 4 +1993-04-20 00:00:00 4 +1993-04-21 00:00:00 4 +1993-04-22 00:00:00 4 +1993-04-23 00:00:00 4 +1993-04-24 00:00:00 4 +1993-04-25 00:00:00 4 +1993-04-26 00:00:00 4 +1993-04-27 00:00:00 4 +1993-04-28 00:00:00 4 +1993-04-29 00:00:00 4 +1993-04-30 00:00:00 4 +1993-05-01 00:00:00 5 +1993-05-02 00:00:00 5 +1993-05-03 00:00:00 5 +1993-05-04 00:00:00 5 +1993-05-05 00:00:00 5 +1993-05-06 00:00:00 5 +1993-05-07 00:00:00 5 +1993-05-08 00:00:00 5 +1993-05-09 00:00:00 5 +1993-05-10 00:00:00 5 +1993-05-11 00:00:00 5 +1993-05-12 00:00:00 5 +1993-05-13 00:00:00 5 +1993-05-14 00:00:00 5 +1993-05-15 00:00:00 5 +1993-05-16 00:00:00 5 +1993-05-17 00:00:00 5 +1993-05-18 00:00:00 5 +1993-05-19 00:00:00 5 +1993-05-20 00:00:00 5 +1993-05-21 00:00:00 5 +1993-05-22 00:00:00 5 +1993-05-23 00:00:00 5 +1993-05-24 00:00:00 5 +1993-05-25 00:00:00 5 +1993-05-26 00:00:00 5 +1993-05-27 00:00:00 5 +1993-05-28 00:00:00 5 +1993-05-29 00:00:00 5 +1993-05-30 00:00:00 5 +1993-05-31 00:00:00 5 +1993-06-01 00:00:00 6 +1993-06-02 00:00:00 6 +1993-06-03 00:00:00 6 +1993-06-04 00:00:00 6 +1993-06-05 00:00:00 6 +1993-06-06 00:00:00 6 +1993-06-07 00:00:00 6 +1993-06-08 00:00:00 6 +1993-06-09 00:00:00 6 +1993-06-10 00:00:00 6 +1993-06-11 00:00:00 6 +1993-06-12 00:00:00 6 +1993-06-13 00:00:00 6 +1993-06-14 00:00:00 6 +1993-06-15 00:00:00 6 +1993-06-16 00:00:00 6 +1993-06-17 00:00:00 6 +1993-06-18 00:00:00 6 +1993-06-19 00:00:00 6 +1993-06-20 00:00:00 6 +1993-06-21 00:00:00 6 +1993-06-22 00:00:00 6 +1993-06-23 00:00:00 6 +1993-06-24 00:00:00 6 +1993-06-25 00:00:00 6 +1993-06-26 00:00:00 6 +1993-06-27 00:00:00 6 +1993-06-28 00:00:00 6 +1993-06-29 00:00:00 6 +1993-06-30 00:00:00 6 +1993-07-01 00:00:00 7 +1993-07-02 00:00:00 7 +1993-07-03 00:00:00 7 +1993-07-04 00:00:00 7 +1993-07-05 00:00:00 7 +1993-07-06 00:00:00 7 +1993-07-07 00:00:00 7 +1993-07-08 00:00:00 7 +1993-07-09 00:00:00 7 +1993-07-10 00:00:00 7 +1993-07-11 00:00:00 7 +1993-07-12 00:00:00 7 +1993-07-13 00:00:00 7 +1993-07-14 00:00:00 7 +1993-07-15 00:00:00 7 +1993-07-16 00:00:00 7 +1993-07-17 00:00:00 7 +1993-07-18 00:00:00 7 +1993-07-19 00:00:00 7 +1993-07-20 00:00:00 7 +1993-07-21 00:00:00 7 +1993-07-22 00:00:00 7 +1993-07-23 00:00:00 7 +1993-07-24 00:00:00 7 +1993-07-25 00:00:00 7 +1993-07-26 00:00:00 7 +1993-07-27 00:00:00 7 +1993-07-28 00:00:00 7 +1993-07-29 00:00:00 7 +1993-07-30 00:00:00 7 +1993-07-31 00:00:00 7 +1993-08-01 00:00:00 8 +1993-08-02 00:00:00 8 +1993-08-03 00:00:00 8 +1993-08-04 00:00:00 8 +1993-08-05 00:00:00 8 +1993-08-06 00:00:00 8 +1993-08-07 00:00:00 8 +1993-08-08 00:00:00 8 +1993-08-09 00:00:00 8 +1993-08-10 00:00:00 8 +1993-08-11 00:00:00 8 +1993-08-12 00:00:00 8 +1993-08-13 00:00:00 8 +1993-08-14 00:00:00 8 +1993-08-15 00:00:00 8 +1993-08-16 00:00:00 8 +1993-08-17 00:00:00 8 +1993-08-18 00:00:00 8 +1993-08-19 00:00:00 8 +1993-08-20 00:00:00 8 +1993-08-21 00:00:00 8 +1993-08-22 00:00:00 8 +1993-08-23 00:00:00 8 +1993-08-24 00:00:00 8 +1993-08-25 00:00:00 8 +1993-08-26 00:00:00 8 +1993-08-27 00:00:00 8 +1993-08-28 00:00:00 8 +1993-08-29 00:00:00 8 +1993-08-30 00:00:00 8 +1993-08-31 00:00:00 8 +1993-09-01 00:00:00 9 +1993-09-02 00:00:00 9 +1993-09-03 00:00:00 9 +1993-09-04 00:00:00 9 +1993-09-05 00:00:00 9 +1993-09-06 00:00:00 9 +1993-09-07 00:00:00 9 +1993-09-08 00:00:00 9 +1993-09-09 00:00:00 9 +1993-09-10 00:00:00 9 +1993-09-11 00:00:00 9 +1993-09-12 00:00:00 9 +1993-09-13 00:00:00 9 +1993-09-14 00:00:00 9 +1993-09-15 00:00:00 9 +1993-09-16 00:00:00 9 +1993-09-17 00:00:00 9 +1993-09-18 00:00:00 9 +1993-09-19 00:00:00 9 +1993-09-20 00:00:00 9 +1993-09-21 00:00:00 9 +1993-09-22 00:00:00 9 +1993-09-23 00:00:00 9 +1993-09-24 00:00:00 9 +1993-09-25 00:00:00 9 +1993-09-26 00:00:00 9 +1993-09-27 00:00:00 9 +1993-09-28 00:00:00 9 +1993-09-29 00:00:00 9 +1993-09-30 00:00:00 9 +1993-10-01 00:00:00 10 +1993-10-02 00:00:00 10 +1993-10-03 00:00:00 10 +1993-10-04 00:00:00 10 +1993-10-05 00:00:00 10 +1993-10-06 00:00:00 10 +1993-10-07 00:00:00 10 +1993-10-08 00:00:00 10 +1993-10-09 00:00:00 10 +1993-10-10 00:00:00 10 +1993-10-11 00:00:00 10 +1993-10-12 00:00:00 10 +1993-10-13 00:00:00 10 +1993-10-14 00:00:00 10 +1993-10-15 00:00:00 10 +1993-10-16 00:00:00 10 +1993-10-17 00:00:00 10 +1993-10-18 00:00:00 10 +1993-10-19 00:00:00 10 +1993-10-20 00:00:00 10 +1993-10-21 00:00:00 10 +1993-10-22 00:00:00 10 +1993-10-23 00:00:00 10 +1993-10-24 00:00:00 10 +1993-10-25 00:00:00 10 +1993-10-26 00:00:00 10 +1993-10-27 00:00:00 10 +1993-10-28 00:00:00 10 +1993-10-29 00:00:00 10 +1993-10-30 00:00:00 10 +1993-10-31 00:00:00 10 +1993-11-01 00:00:00 11 +1993-11-02 00:00:00 11 +1993-11-03 00:00:00 11 +1993-11-04 00:00:00 11 +1993-11-05 00:00:00 11 +1993-11-06 00:00:00 11 +1993-11-07 00:00:00 11 +1993-11-08 00:00:00 11 +1993-11-09 00:00:00 11 +1993-11-10 00:00:00 11 +1993-11-11 00:00:00 11 +1993-11-12 00:00:00 11 +1993-11-13 00:00:00 11 +1993-11-14 00:00:00 11 +1993-11-15 00:00:00 11 +1993-11-16 00:00:00 11 +1993-11-17 00:00:00 11 +1993-11-18 00:00:00 11 +1993-11-19 00:00:00 11 +1993-11-20 00:00:00 11 +1993-11-21 00:00:00 11 +1993-11-22 00:00:00 11 +1993-11-23 00:00:00 11 +1993-11-24 00:00:00 11 +1993-11-25 00:00:00 11 +1993-11-26 00:00:00 11 +1993-11-27 00:00:00 11 +1993-11-28 00:00:00 11 +1993-11-29 00:00:00 11 +1993-11-30 00:00:00 11 +1993-12-01 00:00:00 12 +1993-12-02 00:00:00 12 +1993-12-03 00:00:00 12 +1993-12-04 00:00:00 12 +1993-12-05 00:00:00 12 +1993-12-06 00:00:00 12 +1993-12-07 00:00:00 12 +1993-12-08 00:00:00 12 +1993-12-09 00:00:00 12 +1993-12-10 00:00:00 12 +1993-12-11 00:00:00 12 +1993-12-12 00:00:00 12 +1993-12-13 00:00:00 12 +1993-12-14 00:00:00 12 +1993-12-15 00:00:00 12 +1993-12-16 00:00:00 12 +1993-12-17 00:00:00 12 +1993-12-18 00:00:00 12 +1993-12-19 00:00:00 12 +1993-12-20 00:00:00 12 +1993-12-21 00:00:00 12 +1993-12-22 00:00:00 12 +1993-12-23 00:00:00 12 +1993-12-24 00:00:00 12 +1993-12-25 00:00:00 12 +1993-12-26 00:00:00 12 +1993-12-27 00:00:00 12 +1993-12-28 00:00:00 12 +1993-12-29 00:00:00 12 +1993-12-30 00:00:00 12 +1993-12-31 00:00:00 12 +1994-01-01 00:00:00 1 diff --git a/test/sql/function/date/test_strftime.test b/test/sql/function/date/test_strftime.test index 3d2add544a93..2c0a42331161 100644 --- a/test/sql/function/date/test_strftime.test +++ b/test/sql/function/date/test_strftime.test @@ -104,7 +104,7 @@ SELECT strftime(DATE '1992-01-01', 'hello world'); hello world query I -SELECT strftime('2019-01-23'::DATE, 42); +SELECT strftime('2019-01-23'::DATE, '42'); ---- 42 @@ -114,29 +114,34 @@ SELECT strftime('2019-01-23'::DATE, 42); foreach datatype DATE TIMESTAMP -foreach special infinity -infinity - # PG to_char returns NULL here +# but we can do better. query I -SELECT strftime('${special}'::${datatype}, '%Y-%m-%d'); +SELECT strftime('infinity'::${datatype}, '%Y-%m-%d'); ---- -NULL +infinity -endloop +query I +SELECT strftime('-infinity'::${datatype}, '%Y-%m-%d'); +---- +-infinity endloop # non-constant format not supported statement error SELECT strftime(d, d::VARCHAR) FROM dates ORDER BY d; +---- # unterminated escape statement error SELECT strftime(DATE '1992-01-01', '%'); +---- # unrecognized code statement error SELECT strftime(DATE '1992-01-01', '%R'); +---- # millisecond specifier %g query IIII @@ -149,11 +154,14 @@ select strftime(strptime('023', '%g'), '%g'), strftime(strptime('0', '%g'), '%g' statement error SELECT strptime('-1', '%g'); +---- statement error SELECT strptime('1000', '%g'); +---- # this won't work without explicit casts statement error SELECT strftime('%Y', '1992-01-01'); +---- diff --git a/test/sql/function/date/test_strftime_exhaustive.test b/test/sql/function/date/test_strftime_exhaustive.test index 6b13e0a8da51..4a365834852b 100644 --- a/test/sql/function/date/test_strftime_exhaustive.test +++ b/test/sql/function/date/test_strftime_exhaustive.test @@ -42,6 +42,16 @@ NULL 0 1 +# %u - ISO Weekday as a decimal number (1-7) +query I +SELECT strftime(d, '%u') FROM dates ORDER BY d; +---- +NULL +3 +6 +7 +1 + # %d - Day of the month as a zero-padded decimal. query I SELECT strftime(d, '%d') FROM dates ORDER BY d; @@ -147,6 +157,16 @@ NULL 2020 2020 +# %G - ISO Year as a decimal number. +query I +SELECT strftime(d, '%G') FROM dates ORDER BY d; +---- +NULL +1992 +1993 +2020 +2020 + # %H - Hour (24-hour clock) as a zero-padded decimal number. query I SELECT strftime(d, '%H') FROM dates ORDER BY d; @@ -307,6 +327,16 @@ NULL 31 32 +# %V - ISO Week number of the year (First week contains Jan 4). +query I +SELECT strftime(d, '%V') FROM dates ORDER BY d; +---- +NULL +01 +11 +32 +33 + # %c - Locale’s appropriate date and time representation. query I SELECT strftime(d, '%c') FROM dates ORDER BY d; @@ -383,4 +413,5 @@ SELECT strftime(DATE '-4869706-10-11','%-yi'); statement error SELECT strftime(date '-99999-01-01', random()::varchar) +---- diff --git a/test/sql/function/date/test_time_bucket_date.test b/test/sql/function/date/test_time_bucket_date.test index 11abdec6cde9..5d64c4756189 100644 --- a/test/sql/function/date/test_time_bucket_date.test +++ b/test/sql/function/date/test_time_bucket_date.test @@ -230,7 +230,7 @@ select w, d, shift, time_bucket(w, d, shift) from dates; 10 days 1906-02-08 -2 days 1906-02-03 2 months 1946-09-14 00:00:00 1946-09-01 2 months 2000-01-01 1 month 7 days 1999-12-08 -2 months 2000-01-03 -1 months 7 days 1999-12-08 +2 months 2000-01-03 -1 month 7 days 1999-12-08 2 years 2004-05-20 6 months 2002-07-01 2 years 2032-12-06 -6 months 2031-07-01 10 days infinity 00:00:00 infinity @@ -370,54 +370,71 @@ select w, d, origin, time_bucket(w, d, origin) from dates; statement error select time_bucket('-3 hours'::interval, '2019-04-05'::date); +---- statement error select time_bucket('-3 hours'::interval, '2019-04-05'::date, '1 hour 30 minutes'::interval); +---- statement error select time_bucket('-3 hours'::interval, '2019-04-05'::date, '2019-04-05'::date); +---- statement error select time_bucket('-1 month'::interval, '2019-04-05'::date); +---- statement error select time_bucket('-1 month'::interval, '2019-04-05'::date, '1 week'::interval); +---- statement error select time_bucket('-1 month'::interval, '2019-04-05'::date, '2019-04-05'::date); +---- statement error select time_bucket('1 day - 172800 seconds'::interval, '2018-05-05'::date); +---- statement error select time_bucket('1 day - 172800 seconds'::interval, '2018-05-05'::date, '1 hour 30 minutes'::interval); +---- statement error select time_bucket('1 day - 172800 seconds'::interval, '2018-05-05'::date, '2018-05-05'::date); +---- statement error select time_bucket('1 month 1 day'::interval, '2018-05-05'::date); +---- statement error select time_bucket('1 month 1 day'::interval, '2018-05-05'::date, '1 week'::interval); +---- statement error select time_bucket('1 month 1 day'::interval, '2019-05-05'::date, '2019-05-05'::date); +---- statement error select time_bucket('3 days'::interval, '2019-05-05'::date, '2000000000 months'::interval); +---- statement error select time_bucket('3 days'::interval, '2019-05-05'::date, '-2000000000 months'::interval); +---- statement error select time_bucket('3 months'::interval, '2019-05-05'::date, '2000000000 months'::interval); +---- statement error select time_bucket('3 months'::interval, '2019-05-05'::date, '-2000000000 months'::interval); +---- statement error select time_bucket('1 month'::interval, '5877642-06-25 (BC)'::date); +---- query I select time_bucket('1 month'::interval, '5877642-07-01 (BC)'::date); @@ -426,9 +443,11 @@ select time_bucket('1 month'::interval, '5877642-07-01 (BC)'::date); statement error select time_bucket('1 week'::interval, '5877642-07-01 (BC)'::date); +---- statement error select time_bucket('1 month'::interval, '5881580-07-10'::date, '-1 day'::interval); +---- query I select time_bucket('1 month'::interval, '5881580-07-10'::date); @@ -437,12 +456,15 @@ select time_bucket('1 month'::interval, '5881580-07-10'::date); statement error select time_bucket('1 week'::interval, '290309-12-21 (BC)'::date); +---- statement error select time_bucket('1 week'::interval, '290309-12-22 (BC)'::date); +---- statement error select time_bucket('1 day'::interval, '290309-12-21 (BC)'::date); +---- query I select time_bucket('1 day'::interval, '290309-12-22 (BC)'::date); @@ -451,6 +473,7 @@ select time_bucket('1 day'::interval, '290309-12-22 (BC)'::date); statement error select time_bucket('1 week'::interval, '294247-01-11'::date); +---- query I select time_bucket('1 week'::interval, '294247-01-10'::date); @@ -459,6 +482,7 @@ select time_bucket('1 week'::interval, '294247-01-10'::date); statement error select time_bucket('1 day'::interval, '294247-01-11'::date); +---- query I select time_bucket('1 day'::interval, '294247-01-10'::date); diff --git a/test/sql/function/enum/test_enum_code.test b/test/sql/function/enum/test_enum_code.test index bef744df4a76..3a3632753de4 100644 --- a/test/sql/function/enum/test_enum_code.test +++ b/test/sql/function/enum/test_enum_code.test @@ -24,6 +24,7 @@ SELECT enum_code(x) FROM test statement error SELECT enum_code('bla') +---- statement ok PREPARE p1 as SELECT enum_code(x) FROM test diff --git a/test/sql/function/enum/test_enum_first.test b/test/sql/function/enum/test_enum_first.test index 0b31aa6bb071..d2f64e90b968 100644 --- a/test/sql/function/enum/test_enum_first.test +++ b/test/sql/function/enum/test_enum_first.test @@ -14,4 +14,5 @@ SELECT enum_first(null::rainbow) red statement error -SELECT enum_first('bla') \ No newline at end of file +SELECT enum_first('bla') +---- diff --git a/test/sql/function/enum/test_enum_last.test b/test/sql/function/enum/test_enum_last.test index 466ee3460369..5c01107573f8 100644 --- a/test/sql/function/enum/test_enum_last.test +++ b/test/sql/function/enum/test_enum_last.test @@ -14,4 +14,5 @@ SELECT enum_last(null::rainbow) purple statement error -SELECT enum_last('bla') \ No newline at end of file +SELECT enum_last('bla') +---- diff --git a/test/sql/function/enum/test_enum_range.test b/test/sql/function/enum/test_enum_range.test index efe18acad732..f34c9fc41b23 100644 --- a/test/sql/function/enum/test_enum_range.test +++ b/test/sql/function/enum/test_enum_range.test @@ -39,15 +39,20 @@ SELECT enum_range_boundary('orange'::rainbow, NULL) statement error SELECT enum_range_boundary('orange'::rainbow, 'brl'::currency) +---- statement error SELECT enum_range_boundary(NULL, NULL) +---- statement error SELECT enum_last('bla') +---- statement error SELECT enum_range_boundary('orange'::rainbow, 1) +---- statement error -SELECT enum_range_boundary(1, 'orange'::rainbow) \ No newline at end of file +SELECT enum_range_boundary(1, 'orange'::rainbow) +---- diff --git a/test/sql/function/generic/constant_or_null.test b/test/sql/function/generic/constant_or_null.test index 2b3768743867..80cc665edc53 100644 --- a/test/sql/function/generic/constant_or_null.test +++ b/test/sql/function/generic/constant_or_null.test @@ -30,6 +30,8 @@ NULL statement error SELECT constant_or_null(1); +---- statement error SELECT constant_or_null(); +---- diff --git a/test/sql/function/generic/error.test b/test/sql/function/generic/error.test index 81b7af581d2c..aaef3f79d0de 100644 --- a/test/sql/function/generic/error.test +++ b/test/sql/function/generic/error.test @@ -8,7 +8,7 @@ PRAGMA enable_verification statement error SELECT error('test') ---- -Invalid Error: test +test statement error SELECT @@ -20,7 +20,7 @@ FROM ( SELECT 'foo' AS value UNION ALL SELECT 'baz' AS value); ---- -Invalid Error: Found unexpected value: baz +Found unexpected value: baz query I SELECT * @@ -34,4 +34,14 @@ SELECT * FROM (SELECT 3 AS x) WHERE IF(x % 2 = 0, true, ERROR(FORMAT('x must be even but is {}', x))); ---- -Invalid Error: x must be even but is 3 \ No newline at end of file +x must be even but is 3 + +statement error +SELECT 42=error('hello world') +---- +hello world + +statement error +SELECT error('hello world') IS NULL +---- +hello world diff --git a/test/sql/function/generic/hash_func.test b/test/sql/function/generic/hash_func.test index bfaccebd1b89..966ecc283127 100644 --- a/test/sql/function/generic/hash_func.test +++ b/test/sql/function/generic/hash_func.test @@ -11,6 +11,7 @@ foreach datatype ANY HASH POINTER statement error SELECT HASH(NULL::${datatype}); +---- endloop @@ -178,9 +179,11 @@ NULL 13787848793156543929 # Zero arguments are not allowed statement error SELECT HASH(); +---- statement error SELECT r, HASH() FROM enums; +---- # Multiple arguments of any kind are accepted query II diff --git a/test/sql/function/generic/test_between_sideeffects.test b/test/sql/function/generic/test_between_sideeffects.test index cad11fe653bf..a9f7bcf71cf6 100644 --- a/test/sql/function/generic/test_between_sideeffects.test +++ b/test/sql/function/generic/test_between_sideeffects.test @@ -23,6 +23,7 @@ false statement error EXECUTE v1(1, 2) +---- statement ok PREPARE v2 AS SELECT 1 WHERE ? BETWEEN now() - INTERVAL '1 minute' AND now() + INTERVAL '1 minute'; diff --git a/test/sql/function/generic/test_case.test_slow b/test/sql/function/generic/test_case.test_slow index 82732e89a7bb..9d6967bb0d45 100644 --- a/test/sql/function/generic/test_case.test_slow +++ b/test/sql/function/generic/test_case.test_slow @@ -83,6 +83,7 @@ NULL # fail case on types that can't be cast to boolean statement error SELECT CASE WHEN 'hello' THEN b ELSE a END FROM test +---- # but only when cast cannot be performed query I diff --git a/test/sql/function/generic/test_least_greatest.test b/test/sql/function/generic/test_least_greatest.test index 97f841e1b314..13acb5623493 100644 --- a/test/sql/function/generic/test_least_greatest.test +++ b/test/sql/function/generic/test_least_greatest.test @@ -101,10 +101,10 @@ SELECT GREATEST(TIMESTAMP '1992-01-01 13:45:21.890123', TIMESTAMP '1994-02-02 05 infinity # test mix of types -query T +statement error SELECT LEAST(DATE '1992-01-01', 'hello', 123) ---- -123 +No function matches # tables statement ok diff --git a/test/sql/function/generic/test_null_if.test b/test/sql/function/generic/test_null_if.test index 1d1c161bab17..639d151608e3 100644 --- a/test/sql/function/generic/test_null_if.test +++ b/test/sql/function/generic/test_null_if.test @@ -42,7 +42,7 @@ statement ok INSERT INTO test3 VALUES (11, 22), (13, 22), (12, 21) query T -SELECT NULLIF(CAST(a AS VARCHAR), 11) FROM test3; +SELECT NULLIF(CAST(a AS VARCHAR), '11') FROM test3; ---- NULL 13 diff --git a/test/sql/function/generic/test_set.test b/test/sql/function/generic/test_set.test index 9133845ff6ac..05ce9c6691c5 100644 --- a/test/sql/function/generic/test_set.test +++ b/test/sql/function/generic/test_set.test @@ -8,9 +8,11 @@ PRAGMA enable_verification # unrecognized configuration parameter statement error SELECT CURRENT_SETTING('a'); +---- statement error SELECT CURRENT_SETTING('memori_limit'); +---- statement ok SELECT CURRENT_SETTING('default_null_order'); @@ -18,6 +20,10 @@ SELECT CURRENT_SETTING('default_null_order'); statement ok SET default_null_order = 'nulls_last'; +# set from a function +statement ok +SET default_null_order = concat('nulls', '_', 'last'); + query I SELECT CURRENT_SETTING('default_null_order'); ---- @@ -38,9 +44,22 @@ NULL statement error SELECT CURRENT_SETTING(i::VARCHAR) FROM range(1) tbl(i) +---- statement error SELECT CURRENT_SETTING(NULL) +---- statement error SELECT CURRENT_SETTING('') +---- + +statement error +SET default_null_order = colref || '_last'; +---- +cannot contain column names + +statement error +SET default_null_order = (SELECT 'nulls_last') +---- +cannot contain subqueries diff --git a/test/sql/function/generic/test_table_param.test b/test/sql/function/generic/test_table_param.test index ffd430461832..4ed675a476aa 100644 --- a/test/sql/function/generic/test_table_param.test +++ b/test/sql/function/generic/test_table_param.test @@ -33,4 +33,4 @@ query III SELECT * FROM summary((SELECT * FROM a)) ---- [1.0, 10.0] 1.0 10.0 -[42.0, 420.0] 42.0 420.0 \ No newline at end of file +[42.0, 420.0] 42.0 420.0 diff --git a/test/sql/function/interval/test_date_part.test b/test/sql/function/interval/test_date_part.test index db2f7c8abedd..a04eebc8465d 100644 --- a/test/sql/function/interval/test_date_part.test +++ b/test/sql/function/interval/test_date_part.test @@ -73,36 +73,47 @@ SELECT date_part(s, i) FROM intervals; # interval gives errors for date-only parts statement error SELECT dayofweek(i) FROM intervals +---- statement error SELECT isodow(i) FROM intervals +---- statement error SELECT dayofyear(i) FROM intervals +---- statement error SELECT week(i) FROM intervals +---- statement error SELECT era(i) FROM intervals; +---- statement error SELECT julian(i) FROM intervals; +---- statement error SELECT extract(era from i) FROM intervals; +---- statement error SELECT extract(julian from i) FROM intervals; +---- statement error SELECT date_part('era', i) FROM intervals; +---- statement error SELECT date_part('julian', i) FROM intervals; +---- statement error SELECT date_part('offset', i) FROM intervals; +---- # Correctness: Compare date_part values with function values foreach partcode millennium century decade year quarter month day hour minute second millisecond microsecond epoch @@ -202,5 +213,6 @@ statement error SELECT i, DATE_PART(['${datepart}'], i) AS parts FROM intervals ORDER BY 1; +---- endloop diff --git a/test/sql/function/interval/test_extract.test b/test/sql/function/interval/test_extract.test index de002e63b1fe..2ac7bdc87f97 100644 --- a/test/sql/function/interval/test_extract.test +++ b/test/sql/function/interval/test_extract.test @@ -77,18 +77,23 @@ NULL statement error SELECT EXTRACT(dayofweek FROM i) FROM intervals +---- statement error SELECT EXTRACT(isodow FROM i) FROM intervals +---- statement error SELECT EXTRACT(dayofyear FROM i) FROM intervals +---- statement error SELECT EXTRACT(week FROM i) FROM intervals +---- statement error SELECT EXTRACT(yearweek FROM i) FROM intervals +---- query I SELECT EXTRACT(epoch FROM i) FROM intervals @@ -192,6 +197,8 @@ SELECT EXTRACT(epoch FROM interval '6 months ago') statement error SELECT EXTRACT(doy FROM interval '6 months ago') +---- statement error SELECT EXTRACT(dow FROM interval '6 months ago') +---- diff --git a/test/sql/function/interval/test_interval_trunc.test b/test/sql/function/interval/test_interval_trunc.test index 27cc3c371e0b..1de02ad82001 100644 --- a/test/sql/function/interval/test_interval_trunc.test +++ b/test/sql/function/interval/test_interval_trunc.test @@ -59,15 +59,15 @@ SELECT i FROM intervals; 5 months 7 days 12:34:56.789012 -3 months -3 days 12:34:56.789012 1 month 11 days 12:34:56.789012 --1 months -2 days 12:34:56.789012 +-1 month -2 days 12:34:56.789012 1 month 16 days 12:34:56.789012 --1 months -9 days 12:34:56.789012 +-1 month -9 days 12:34:56.789012 1 month 24 days 12:34:56.789012 --1 months -17 days 12:34:56.789012 +-1 month -17 days 12:34:56.789012 1 month 29 days 12:34:56.789012 --1 months -26 days 12:34:56.789012 +-1 month -26 days 12:34:56.789012 1 month 7 days 12:34:56.789012 --1 months -29 days 12:34:56.789012 +-1 month -29 days 12:34:56.789012 NULL query I @@ -220,15 +220,15 @@ SELECT DATE_TRUNC('${datepart}', i) FROM intervals 5 months 7 days -3 months 1 month 7 days --1 months +-1 month 1 month 14 days --1 months -7 days +-1 month -7 days 1 month 21 days --1 months -14 days +-1 month -14 days 1 month 28 days --1 months -21 days +-1 month -21 days 1 month 7 days --1 months -28 days +-1 month -28 days NULL endloop @@ -255,15 +255,15 @@ SELECT DATE_TRUNC('${datepart}', i) FROM intervals 5 months 7 days -3 months -3 days 1 month 11 days --1 months -2 days +-1 month -2 days 1 month 16 days --1 months -9 days +-1 month -9 days 1 month 24 days --1 months -17 days +-1 month -17 days 1 month 29 days --1 months -26 days +-1 month -26 days 1 month 7 days --1 months -29 days +-1 month -29 days NULL endloop @@ -288,15 +288,15 @@ SELECT DATE_TRUNC('hour', i) FROM intervals 5 months 7 days 12:00:00 -3 months -3 days 12:00:00 1 month 11 days 12:00:00 --1 months -2 days 12:00:00 +-1 month -2 days 12:00:00 1 month 16 days 12:00:00 --1 months -9 days 12:00:00 +-1 month -9 days 12:00:00 1 month 24 days 12:00:00 --1 months -17 days 12:00:00 +-1 month -17 days 12:00:00 1 month 29 days 12:00:00 --1 months -26 days 12:00:00 +-1 month -26 days 12:00:00 1 month 7 days 12:00:00 --1 months -29 days 12:00:00 +-1 month -29 days 12:00:00 NULL query I @@ -319,15 +319,15 @@ SELECT DATE_TRUNC('minute', i) FROM intervals 5 months 7 days 12:34:00 -3 months -3 days 12:34:00 1 month 11 days 12:34:00 --1 months -2 days 12:34:00 +-1 month -2 days 12:34:00 1 month 16 days 12:34:00 --1 months -9 days 12:34:00 +-1 month -9 days 12:34:00 1 month 24 days 12:34:00 --1 months -17 days 12:34:00 +-1 month -17 days 12:34:00 1 month 29 days 12:34:00 --1 months -26 days 12:34:00 +-1 month -26 days 12:34:00 1 month 7 days 12:34:00 --1 months -29 days 12:34:00 +-1 month -29 days 12:34:00 NULL foreach datepart second epoch @@ -352,15 +352,15 @@ SELECT DATE_TRUNC('${datepart}', i) FROM intervals 5 months 7 days 12:34:56 -3 months -3 days 12:34:56 1 month 11 days 12:34:56 --1 months -2 days 12:34:56 +-1 month -2 days 12:34:56 1 month 16 days 12:34:56 --1 months -9 days 12:34:56 +-1 month -9 days 12:34:56 1 month 24 days 12:34:56 --1 months -17 days 12:34:56 +-1 month -17 days 12:34:56 1 month 29 days 12:34:56 --1 months -26 days 12:34:56 +-1 month -26 days 12:34:56 1 month 7 days 12:34:56 --1 months -29 days 12:34:56 +-1 month -29 days 12:34:56 NULL endloop @@ -385,15 +385,15 @@ SELECT DATE_TRUNC('millisecond', i) FROM intervals 5 months 7 days 12:34:56.789 -3 months -3 days 12:34:56.789 1 month 11 days 12:34:56.789 --1 months -2 days 12:34:56.789 +-1 month -2 days 12:34:56.789 1 month 16 days 12:34:56.789 --1 months -9 days 12:34:56.789 +-1 month -9 days 12:34:56.789 1 month 24 days 12:34:56.789 --1 months -17 days 12:34:56.789 +-1 month -17 days 12:34:56.789 1 month 29 days 12:34:56.789 --1 months -26 days 12:34:56.789 +-1 month -26 days 12:34:56.789 1 month 7 days 12:34:56.789 --1 months -29 days 12:34:56.789 +-1 month -29 days 12:34:56.789 NULL query I @@ -416,15 +416,15 @@ SELECT DATE_TRUNC('microsecond', i) FROM intervals 5 months 7 days 12:34:56.789012 -3 months -3 days 12:34:56.789012 1 month 11 days 12:34:56.789012 --1 months -2 days 12:34:56.789012 +-1 month -2 days 12:34:56.789012 1 month 16 days 12:34:56.789012 --1 months -9 days 12:34:56.789012 +-1 month -9 days 12:34:56.789012 1 month 24 days 12:34:56.789012 --1 months -17 days 12:34:56.789012 +-1 month -17 days 12:34:56.789012 1 month 29 days 12:34:56.789012 --1 months -26 days 12:34:56.789012 +-1 month -26 days 12:34:56.789012 1 month 7 days 12:34:56.789012 --1 months -29 days 12:34:56.789012 +-1 month -29 days 12:34:56.789012 NULL # Variable part name @@ -448,15 +448,15 @@ SELECT DATE_TRUNC(s, i) FROM intervals 5 months 7 days -3 months -3 days 1 month 11 days 12:00:00 --1 months -2 days 12:00:00 +-1 month -2 days 12:00:00 1 month 16 days 12:34:00 --1 months -9 days 12:34:00 +-1 month -9 days 12:34:00 1 month 24 days 12:34:56 --1 months -17 days 12:34:56 +-1 month -17 days 12:34:56 1 month 29 days 12:34:56.789 --1 months -26 days 12:34:56.789 +-1 month -26 days 12:34:56.789 1 month 7 days 12:34:56.789012 --1 months -29 days 12:34:56.789012 +-1 month -29 days 12:34:56.789012 NULL # NULL part name diff --git a/test/sql/function/list/aggregates/any_value.test b/test/sql/function/list/aggregates/any_value.test index 3f1431b7201b..26df9e7d281b 100644 --- a/test/sql/function/list/aggregates/any_value.test +++ b/test/sql/function/list/aggregates/any_value.test @@ -10,6 +10,7 @@ SELECT list_aggr([NULL, 1, 2], 'any_value') # incorrect usage statement error SELECT list_any_value() +---- # different types diff --git a/test/sql/function/list/aggregates/approx_count_distinct.test b/test/sql/function/list/aggregates/approx_count_distinct.test index 59dae1d31bd8..d1258b0c7556 100644 --- a/test/sql/function/list/aggregates/approx_count_distinct.test +++ b/test/sql/function/list/aggregates/approx_count_distinct.test @@ -95,4 +95,4 @@ query I SELECT list_approx_count_distinct(a) from list_ints_2; ---- 993 -986 \ No newline at end of file +986 diff --git a/test/sql/function/list/aggregates/avg.test b/test/sql/function/list/aggregates/avg.test index 28bb765d8ac9..e3400b72c5fd 100644 --- a/test/sql/function/list/aggregates/avg.test +++ b/test/sql/function/list/aggregates/avg.test @@ -39,6 +39,7 @@ NULL # incorrect use statement error SELECT list_avg() +---- # NULL average statement ok diff --git a/test/sql/function/list/aggregates/bigints_sum_avg.test b/test/sql/function/list/aggregates/bigints_sum_avg.test index 03957c021435..e655c8b5c7a5 100644 --- a/test/sql/function/list/aggregates/bigints_sum_avg.test +++ b/test/sql/function/list/aggregates/bigints_sum_avg.test @@ -114,4 +114,4 @@ SELECT list_sum(i) FROM decimals; query I SELECT list_avg(i) FROM decimals; ---- -76923076923076923 \ No newline at end of file +76923076923076923 diff --git a/test/sql/function/list/aggregates/bit_and.test b/test/sql/function/list/aggregates/bit_and.test index c3f2293afa69..71e8cc63e6a1 100644 --- a/test/sql/function/list/aggregates/bit_and.test +++ b/test/sql/function/list/aggregates/bit_and.test @@ -46,4 +46,5 @@ NULL 1 NULL # incorrect usage statement error -SELECT list_bit_and() \ No newline at end of file +SELECT list_bit_and() +---- diff --git a/test/sql/function/list/aggregates/bit_or.test b/test/sql/function/list/aggregates/bit_or.test index df3dece2d046..7ea41113d85b 100644 --- a/test/sql/function/list/aggregates/bit_or.test +++ b/test/sql/function/list/aggregates/bit_or.test @@ -46,4 +46,5 @@ NULL 1 NULL # incorrect usage statement error -SELECT list_bit_or() \ No newline at end of file +SELECT list_bit_or() +---- diff --git a/test/sql/function/list/aggregates/bit_xor.test b/test/sql/function/list/aggregates/bit_xor.test index 3c7bd6327ed8..8e0b776cc2a3 100644 --- a/test/sql/function/list/aggregates/bit_xor.test +++ b/test/sql/function/list/aggregates/bit_xor.test @@ -46,4 +46,5 @@ NULL 0 NULL # incorrect usage statement error -SELECT list_bit_xor() \ No newline at end of file +SELECT list_bit_xor() +---- diff --git a/test/sql/function/list/aggregates/bool_and_or.test b/test/sql/function/list/aggregates/bool_and_or.test index db5a3e17a01f..b3ec20cad923 100644 --- a/test/sql/function/list/aggregates/bool_and_or.test +++ b/test/sql/function/list/aggregates/bool_and_or.test @@ -5,9 +5,11 @@ # incorrect usage statement error select list_bool_or() +---- statement error select list_bool_and() +---- # list of booleans statement ok @@ -45,4 +47,4 @@ SELECT list_bool_and(l) FROM bools; NULL NULL NULL -0 \ No newline at end of file +0 diff --git a/test/sql/function/list/aggregates/count.test b/test/sql/function/list/aggregates/count.test index 4f4c650e9f36..4caa004b26e2 100644 --- a/test/sql/function/list/aggregates/count.test +++ b/test/sql/function/list/aggregates/count.test @@ -32,4 +32,5 @@ NULL # incorrect usage statement error -select list_count() \ No newline at end of file +select list_count() +---- diff --git a/test/sql/function/list/aggregates/entropy.test b/test/sql/function/list/aggregates/entropy.test index f28bedf41ad4..4036912773c9 100644 --- a/test/sql/function/list/aggregates/entropy.test +++ b/test/sql/function/list/aggregates/entropy.test @@ -5,6 +5,7 @@ # incorrect usage statement error select list_entropy() +---- query I select list_entropy([1]) @@ -64,4 +65,4 @@ insert into names values (['pedro', 'pedro', 'pedro', 'hannes', 'hannes', 'mark' query I select list_entropy(name) from names; ---- -1.459148 \ No newline at end of file +1.459148 diff --git a/test/sql/function/list/aggregates/first.test b/test/sql/function/list/aggregates/first.test index f94d30f4a7fd..82ac26d5eb7d 100644 --- a/test/sql/function/list/aggregates/first.test +++ b/test/sql/function/list/aggregates/first.test @@ -10,6 +10,7 @@ SELECT list_aggr([1, 2], 'arbitrary') # incorrect usage statement error SELECT list_first() +---- # different types @@ -111,4 +112,4 @@ NULL statement ok DROP TABLE five -endloop \ No newline at end of file +endloop diff --git a/test/sql/function/list/aggregates/histogram.test b/test/sql/function/list/aggregates/histogram.test index e11b1106ae2e..a45f177e87d1 100644 --- a/test/sql/function/list/aggregates/histogram.test +++ b/test/sql/function/list/aggregates/histogram.test @@ -46,6 +46,7 @@ select list_histogram(name) from names; # incorrect usage statement error select list_histogram() +---- # temporal types @@ -101,4 +102,4 @@ SELECT list_histogram(['15:00:07'::TIMETZ]) query I SELECT list_histogram([INTERVAL 1 YEAR]) ---- -{1 year=1} \ No newline at end of file +{1 year=1} diff --git a/test/sql/function/list/aggregates/incorrect.test b/test/sql/function/list/aggregates/incorrect.test index bf793c638bd6..0f852bddcd4b 100644 --- a/test/sql/function/list/aggregates/incorrect.test +++ b/test/sql/function/list/aggregates/incorrect.test @@ -6,31 +6,39 @@ statement error SELECT list_aggr([1], 2) +---- statement error SELECT list_aggr([1], True) +---- statement error SELECT list_aggr([1], NULL) +---- foreach func_name approx_count_distinct avg favg bit_and bit_or bit_xor bool_and bool_or count entropy first arbitrary histogram kurtosis last mad max median min mode array_agg list product sem skewness string_agg group_concat sum fsum sumKahan kahan_sum var_samp var_pop stddev stddev_pop variance stddev_samp statement error SELECT list_aggr('${func_name}') +---- statement error SELECT list_aggr(*, '${func_name}') +---- statement error SELECT list_aggr('hello', '${func_name}') +---- statement error SELECT list_aggr(1, 2, '${func_name}') +---- -foreach type boolean varchar tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval blob +foreach type boolean varchar tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint uhugeint float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval blob statement error SELECT list_aggr(NULL::${type}, '${func_name}') +---- endloop @@ -40,72 +48,96 @@ endloop statement error SELECT list_aggr([1, 2, NULL], 'count_star'); +---- statement error SELECT list_aggr([1, 2, NULL], 'corr'); +---- statement error SELECT list_aggr([1, 2, NULL], 'covar_pop'); +---- statement error SELECT list_aggr([1, 2, NULL], 'covar_samp'); +---- statement error SELECT list_aggr([1, 2, NULL], 'regr_intercept'); +---- statement error SELECT list_aggr([1, 2, NULL], 'regr_sxy'); +---- statement error SELECT list_aggr([1, 2, NULL], 'regr_sxx'); +---- statement error SELECT list_aggr([1, 2, NULL], 'regr_syy'); +---- statement error SELECT list_aggr([1, 2, NULL], 'regr_r2'); +---- statement error SELECT list_aggr([1, 2, NULL], 'regr_slope'); +---- statement error SELECT list_aggr([1, 2, NULL], 'regr_count'); +---- statement error SELECT list_aggr([1, 2, NULL], 'regr_avgy'); +---- statement error SELECT list_aggr([1, 2, NULL], 'regr_avgx'); +---- statement error SELECT list_aggr([1, 2, NULL], 'reservoir_quantile'); +---- statement error SELECT list_aggr([1, 2, NULL], 'approx_quantile'); +---- statement error SELECT list_aggr([1, 2, NULL], 'quantile'); +---- statement error SELECT list_aggr([1, 2, NULL], 'quantile_cont'); +---- statement error SELECT list_aggr([1, 2, NULL], 'quantile_disc'); +---- statement error SELECT list_aggr([1, 2, NULL], 'arg_max'); +---- statement error SELECT list_aggr([1, 2, NULL], 'max_by'); +---- statement error SELECT list_aggr([1, 2, NULL], 'argmax'); +---- statement error SELECT list_aggr([1, 2, NULL], 'arg_min'); +---- statement error SELECT list_aggr([1, 2, NULL], 'min_by'); +---- statement error -SELECT list_aggr([1, 2, NULL], 'argmin'); \ No newline at end of file +SELECT list_aggr([1, 2, NULL], 'argmin'); +---- diff --git a/test/sql/function/list/aggregates/kurtosis.test b/test/sql/function/list/aggregates/kurtosis.test index d350e44d3edd..b145ab3af714 100644 --- a/test/sql/function/list/aggregates/kurtosis.test +++ b/test/sql/function/list/aggregates/kurtosis.test @@ -15,6 +15,7 @@ NULL # out of range statement error select list_kurtosis([2e304, 2e305, 2e306, 2e307]) +---- statement ok create table aggr(k int[]); @@ -35,6 +36,17 @@ NULL NULL NULL +query I +select list_kurtosis_pop(k) from aggr; +---- +6.100000 +-1.676857 +-1.358688 +NULL +NULL +NULL + # incorrect usage statement error -select list_kurtosis() \ No newline at end of file +select list_kurtosis() +---- diff --git a/test/sql/function/list/aggregates/last.test b/test/sql/function/list/aggregates/last.test index bc7f14916fd7..859e3251f03d 100644 --- a/test/sql/function/list/aggregates/last.test +++ b/test/sql/function/list/aggregates/last.test @@ -5,6 +5,7 @@ # incorrect usage statement error SELECT list_last() +---- # different types @@ -106,4 +107,4 @@ NULL statement ok DROP TABLE five -endloop \ No newline at end of file +endloop diff --git a/test/sql/function/list/aggregates/mad.test b/test/sql/function/list/aggregates/mad.test index 5aeaf93dc21f..1ced1c6f3685 100644 --- a/test/sql/function/list/aggregates/mad.test +++ b/test/sql/function/list/aggregates/mad.test @@ -103,9 +103,11 @@ endloop statement error SELECT list_mad([INTERVAL 1 YEAR]) +---- statement error SELECT list_mad([NULL::INTERVAL]) +---- # extreme values diff --git a/test/sql/function/list/aggregates/max.test b/test/sql/function/list/aggregates/max.test index 46a1abd4efdf..7d3b8f794049 100644 --- a/test/sql/function/list/aggregates/max.test +++ b/test/sql/function/list/aggregates/max.test @@ -5,6 +5,7 @@ # incorrect usage statement error SELECT list_max() +---- # test different types @@ -106,4 +107,4 @@ NULL statement ok DROP TABLE five -endloop \ No newline at end of file +endloop diff --git a/test/sql/function/list/aggregates/median.test b/test/sql/function/list/aggregates/median.test index b17f3be2afff..79872fe6c3a6 100644 --- a/test/sql/function/list/aggregates/median.test +++ b/test/sql/function/list/aggregates/median.test @@ -41,4 +41,4 @@ SELECT list_median(i) FROM range 1 NULL NULL -NULL \ No newline at end of file +NULL diff --git a/test/sql/function/list/aggregates/min.test b/test/sql/function/list/aggregates/min.test index 938934f1ee7c..fe68787e0288 100644 --- a/test/sql/function/list/aggregates/min.test +++ b/test/sql/function/list/aggregates/min.test @@ -5,6 +5,7 @@ # incorrect usage statement error SELECT list_min() +---- # test different types @@ -106,4 +107,4 @@ NULL statement ok DROP TABLE five -endloop \ No newline at end of file +endloop diff --git a/test/sql/function/list/aggregates/mode.test b/test/sql/function/list/aggregates/mode.test index 97328298f344..080925aea9a1 100644 --- a/test/sql/function/list/aggregates/mode.test +++ b/test/sql/function/list/aggregates/mode.test @@ -7,6 +7,7 @@ require strinline # incorrect usage statement error select list_mode() +---- # integers statement ok @@ -113,4 +114,4 @@ select list_mode(v) from aggr; 20 NULL NULL -NULL \ No newline at end of file +NULL diff --git a/test/sql/function/list/aggregates/nested.test b/test/sql/function/list/aggregates/nested.test index 34d64b684e42..1fe4750e5800 100644 --- a/test/sql/function/list/aggregates/nested.test +++ b/test/sql/function/list/aggregates/nested.test @@ -46,4 +46,4 @@ SELECT array_aggr([1, 2], 'min') query I SELECT list_aggregate([1, 2], 'min') ---- -1 \ No newline at end of file +1 diff --git a/test/sql/function/list/aggregates/null_or_empty.test b/test/sql/function/list/aggregates/null_or_empty.test index 3907e8935e2b..31843db3b49b 100644 --- a/test/sql/function/list/aggregates/null_or_empty.test +++ b/test/sql/function/list/aggregates/null_or_empty.test @@ -69,4 +69,4 @@ query I SELECT list_aggr([], '${func_name}') WHERE 1 = 0 ---- -endloop \ No newline at end of file +endloop diff --git a/test/sql/function/list/aggregates/product.test b/test/sql/function/list/aggregates/product.test index 788e0ac09a96..d0e75f6e82b5 100644 --- a/test/sql/function/list/aggregates/product.test +++ b/test/sql/function/list/aggregates/product.test @@ -5,6 +5,7 @@ # incorrect usage statement error select list_product() +---- statement ok CREATE TABLE integers(i INTEGER[]); @@ -38,4 +39,4 @@ CREATE TABLE prods AS SELECT LIST(2) AS i FROM range(100 // 2) t1(i) query I SELECT list_product(i) FROM prods; ---- -1125899906842624 \ No newline at end of file +1125899906842624 diff --git a/test/sql/function/list/aggregates/sem.test b/test/sql/function/list/aggregates/sem.test index c2843d4f198b..75809d117ef6 100644 --- a/test/sql/function/list/aggregates/sem.test +++ b/test/sql/function/list/aggregates/sem.test @@ -5,6 +5,7 @@ # incorrect usage statement error select list_sem() +---- query I select list_sem([1]) @@ -35,4 +36,4 @@ select list_sem(l) from sems; 0.178885 NULL NULL -NULL \ No newline at end of file +NULL diff --git a/test/sql/function/list/aggregates/skewness.test b/test/sql/function/list/aggregates/skewness.test index ca8165d77003..70d75e65ce26 100644 --- a/test/sql/function/list/aggregates/skewness.test +++ b/test/sql/function/list/aggregates/skewness.test @@ -5,6 +5,7 @@ # incorrect usage statement error select list_skewness() +---- query I select list_skewness([1]) @@ -23,6 +24,7 @@ NULL # out of range statement error select list_skewness([-2e307, 0, 2e307]) +---- statement ok create table aggr(k int[], v decimal(10,2)[], v2 decimal(10, 2)[]); @@ -51,4 +53,4 @@ select list_skewness(v2) from aggr2 -0.423273 NULL NULL --0.330141 \ No newline at end of file +-0.330141 diff --git a/test/sql/function/list/aggregates/string_agg.test b/test/sql/function/list/aggregates/string_agg.test index 7398f1781bef..d2ab1aa39697 100644 --- a/test/sql/function/list/aggregates/string_agg.test +++ b/test/sql/function/list/aggregates/string_agg.test @@ -5,6 +5,7 @@ # incorrect usage statement error SELECT list_string_agg() +---- # scalar values query T @@ -43,7 +44,7 @@ INSERT INTO strings VALUES ([1, 1, 2, 2, 2, 3, 4, 4, 4], ['a', 'b', 'i', NULL, ' ['/', '-', '/', '-', '+', '/', '/', '-', '+']); query TTT -SELECT list_string_agg(x), list_string_agg(y), list_string_agg(g) FROM strings +SELECT list_string_agg(x), list_string_agg(y), list_string_agg(g::varchar[]) FROM strings ---- a,b,i,j,p,x,y,z /,-,/,-,+,/,/,-,+ 1,1,2,2,2,3,4,4,4 @@ -51,12 +52,17 @@ query T SELECT list_string_agg(x) FROM strings WHERE g > [100] ---- -# numerics are auto cast to strings -query T +# numerics are auto cast to strings for string agg +query I SELECT list_string_agg([1, 2]) ---- 1,2 +query T +SELECT list_string_agg([1, 2]::varchar[]) +---- +1,2 + # group concat is an alias for list_string_agg query T SELECT list_aggr(['a'], 'group_concat') @@ -74,4 +80,4 @@ SELECT list_count(g), list_count(g) FROM long; query I SELECT list_string_agg(g) FROM long ---- -a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a \ No newline at end of file +a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a diff --git a/test/sql/function/list/aggregates/sum.test b/test/sql/function/list/aggregates/sum.test index 23618c2e725f..3aa036bf91e8 100644 --- a/test/sql/function/list/aggregates/sum.test +++ b/test/sql/function/list/aggregates/sum.test @@ -70,4 +70,4 @@ INSERT INTO bigints SELECT LIST(i) FROM range(4611686018427387904, 4611686018427 query I SELECT list_sum(i) FROM bigints ---- -4611686018427388403500 \ No newline at end of file +4611686018427388403500 diff --git a/test/sql/function/list/aggregates/types.test b/test/sql/function/list/aggregates/types.test index 358c64cf43d0..fe504b312456 100644 --- a/test/sql/function/list/aggregates/types.test +++ b/test/sql/function/list/aggregates/types.test @@ -10,7 +10,8 @@ require strinline # BOOLEAN # result False -foreach func_name bool_and bool_or first arbitrary last max median min mode string_agg group_concat +#foreach func_name bool_and bool_or first arbitrary last max median min mode string_agg group_concat +foreach func_name median query I SELECT list_aggr([False], '${func_name}') @@ -40,6 +41,7 @@ foreach func_name avg favg bit_and bit_or bit_xor kurtosis mad product sem skewn statement error SELECT list_aggr([False], '${func_name}') +---- endloop @@ -76,14 +78,15 @@ foreach func_name avg favg bit_and bit_or bit_xor bool_and bool_or kurtosis mad statement error SELECT list_aggr(['hello'], '${func_name}') +---- endloop # INTEGER types -foreach func_name avg favg bit_and bit_or bit_xor first arbitrary last max median min mode product string_agg group_concat sum fsum sumKahan kahan_sum +foreach func_name avg favg bit_and bit_or bit_xor first arbitrary last max median min mode product sum fsum sumKahan kahan_sum -foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint +foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint uhugeint query I SELECT list_aggr([1::${type}], '${func_name}') @@ -102,7 +105,7 @@ endloop # any other result foreach func_name approx_count_distinct count entropy histogram kurtosis mad array_agg list sem skewness var_samp var_pop stddev stddev_pop variance stddev_samp -foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint +foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint uhugeint statement ok SELECT list_aggr([1::${type}], '${func_name}') @@ -117,10 +120,11 @@ endloop # statement error for INTEGER types foreach func_name bool_and bool_or -foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint +foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint uhugeint statement error SELECT list_aggr([1::${type}], '${func_name}') +---- endloop @@ -147,7 +151,7 @@ endloop endloop # any other result -foreach func_name approx_count_distinct count entropy histogram kurtosis mad array_agg list sem skewness string_agg group_concat var_samp var_pop stddev stddev_pop variance stddev_samp +foreach func_name approx_count_distinct count entropy histogram kurtosis mad array_agg list sem skewness var_samp var_pop stddev stddev_pop variance stddev_samp foreach type float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) @@ -168,6 +172,7 @@ foreach type float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) statement error SELECT list_aggr([1::${type}], '${func_name}') +---- endloop @@ -178,7 +183,7 @@ endloop # mad (works with everything except interval) # specific result -foreach func_name first arbitrary last max min mode string_agg group_concat +foreach func_name first arbitrary last max min mode # date query I @@ -236,7 +241,7 @@ SELECT list_aggr([INTERVAL 1 YEAR], '${func_name}') endloop -foreach func_name first arbitrary last max min mode string_agg group_concat +foreach func_name first arbitrary last max min mode foreach type date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval @@ -277,11 +282,13 @@ foreach type date time timestamp timestamp_s timestamp_ms timestamp_ns timetz ti statement error SELECT list_aggr(['2021-08-20'::${type}], '${func_name}') +---- endloop statement error SELECT list_aggr([INTERVAL 1 YEAR], '${func_name}') +---- endloop @@ -308,7 +315,7 @@ NULL endloop # any other result -foreach func_name count array_agg list +foreach func_name count array_agg list entropy histogram median mode string_agg group_concat statement ok SELECT list_aggr(['{a: 1}'::BLOB], '${func_name}') @@ -319,10 +326,11 @@ SELECT list_aggr([NULL::BLOB], '${func_name}') endloop # statement error for BLOB -foreach func_name avg favg bit_and bit_or bit_xor bool_and bool_or entropy histogram kurtosis mad median mode product sem skewness string_agg group_concat sum fsum sumKahan kahan_sum var_samp var_pop stddev stddev_pop variance stddev_samp +foreach func_name avg favg bit_and bit_or bit_xor bool_and bool_or kurtosis mad product sem skewness sum fsum sumKahan kahan_sum var_samp var_pop stddev stddev_pop variance stddev_samp statement error SELECT list_aggr(['{a: 1}'::BLOB], '${func_name}') +---- endloop @@ -361,13 +369,14 @@ foreach func_name avg favg bit_and bit_or bit_xor bool_and bool_or kurtosis mad statement error SELECT list_aggr(e, '${func_name}') FROM enums +---- endloop # NESTED types # list, struct, result is [1] or {'a': 1} -foreach func_name first arbitrary last max median min mode string_agg group_concat +foreach func_name first arbitrary last max median min mode query I SELECT list_aggr([[1]], '${func_name}') @@ -382,7 +391,7 @@ SELECT list_aggr([{'a': 1}], '${func_name}') endloop # list, struct, any other result -foreach func_name approx_count_distinct count entropy array_agg list +foreach func_name approx_count_distinct count entropy array_agg list string_agg group_concat statement ok SELECT list_aggr([[1]], '${func_name}') @@ -399,8 +408,10 @@ foreach func_name avg favg bit_and bit_or bit_xor bool_and bool_or histogram kur statement error SELECT list_aggr([[1]], '${func_name}') +---- statement error SELECT list_aggr([{'a': 1}], '${func_name}') +---- -endloop \ No newline at end of file +endloop diff --git a/test/sql/function/list/aggregates/uhugeint.test b/test/sql/function/list/aggregates/uhugeint.test new file mode 100644 index 000000000000..4b04ca36ac1c --- /dev/null +++ b/test/sql/function/list/aggregates/uhugeint.test @@ -0,0 +1,30 @@ +# name: test/sql/function/list/aggregates/uhugeint.test +# description: Test uhugeint aggregates +# group: [aggregates] + +statement ok +CREATE TABLE uhugeints(h UHUGEINT[]) + +statement ok +INSERT INTO uhugeints VALUES ([NULL, 1, 2]), (NULL), ([]), ([NULL]), ([1, 2, 3]) + +query III +SELECT list_first(h), list_last(h), list_sum(h) FROM uhugeints +---- +NULL 2 3 +NULL NULL NULL +NULL NULL NULL +NULL NULL NULL +1 3 6 + +statement ok +DELETE FROM uhugeints + +statement ok +INSERT INTO uhugeints VALUES ([42.0, 1267650600228229401496703205376, 0, '1']); + +query IIIII +SELECT list_min(h), list_max(h), list_sum(h), list_first(h), list_last(h) FROM uhugeints; +---- +0 1267650600228229401496703205376 1267650160380990427257727966431 42 1 + diff --git a/test/sql/function/list/aggregates/var_stddev.test b/test/sql/function/list/aggregates/var_stddev.test index 8e787e21c8d4..6505d47eb307 100644 --- a/test/sql/function/list/aggregates/var_stddev.test +++ b/test/sql/function/list/aggregates/var_stddev.test @@ -125,16 +125,20 @@ select list_aggr([0, 0], 'stddev') statement error select list_aggr([1e301, -1e301], 'stddev') +---- statement error select list_var_samp([1e301, -1e301]) +---- statement error select list_var_pop([1e301, -1e301]) +---- # incorrect usage statement error SELECT list_stddev_samp() +---- # stddev_pop unexpectedly does not fetch any rows, test for list_stddev_pop statement ok @@ -144,4 +148,5 @@ statement ok INSERT INTO t0 VALUES([1E200, 0]); statement error -SELECT list_stddev_pop(c0) FROM t0; \ No newline at end of file +SELECT list_stddev_pop(c0) FROM t0; +---- diff --git a/test/sql/function/list/array_length.test b/test/sql/function/list/array_length.test index 39ede3777a6d..2697b88ab64d 100644 --- a/test/sql/function/list/array_length.test +++ b/test/sql/function/list/array_length.test @@ -27,9 +27,11 @@ SELECT array_length(ARRAY[1, 2, 3], 1) statement error SELECT array_length(ARRAY[1, 2, 3], 2) +---- statement error SELECT array_length(ARRAY[1, 2, 3], 0) +---- query I SELECT len([1]) FROM range(3) diff --git a/test/sql/function/list/flatten.test b/test/sql/function/list/flatten.test index 255f586f6e63..e0c894b802ae 100644 --- a/test/sql/function/list/flatten.test +++ b/test/sql/function/list/flatten.test @@ -18,6 +18,7 @@ SELECT flatten([[1, 2], [3, 4]]) statement error SELECT flatten(1) +---- # empty nested list query T diff --git a/test/sql/function/list/generate_series_timestamp.test b/test/sql/function/list/generate_series_timestamp.test index f17a6dab0c8c..567187d2ef74 100644 --- a/test/sql/function/list/generate_series_timestamp.test +++ b/test/sql/function/list/generate_series_timestamp.test @@ -65,19 +65,24 @@ NULL # mixed sign interval not supported statement error SELECT generate_series(timestamp '2020-01-01', timestamp '2020-06-01', interval '3' month - interval '3' day); +---- # Infinities will overflow or cause infinite loops so we ban them statement error SELECT generate_series('294247-01-10'::TIMESTAMP, 'infinity'::TIMESTAMP, INTERVAL '1 DAY'); +---- statement error SELECT range('294247-01-10'::TIMESTAMP, 'infinity'::TIMESTAMP, INTERVAL '1 DAY'); +---- statement error SELECT generate_series('-infinity'::TIMESTAMP, '290309-12-22 (BC) 00:00:00'::TIMESTAMP, INTERVAL '1 DAY'); +---- statement error SELECT range('-infinity'::TIMESTAMP, '290309-12-22 (BC) 00:00:00'::TIMESTAMP, INTERVAL '1 DAY'); +---- statement ok PRAGMA disable_verification diff --git a/test/sql/function/list/generate_subscripts.test b/test/sql/function/list/generate_subscripts.test index 6bb201cc8e03..e1cd713874cc 100644 --- a/test/sql/function/list/generate_subscripts.test +++ b/test/sql/function/list/generate_subscripts.test @@ -22,3 +22,4 @@ SELECT generate_subscripts(NULL, 1) statement error SELECT generate_subscripts([[1,2],[3,4],[5,6]], 2) +---- diff --git a/test/sql/function/list/icu_generate_series_timestamptz.test b/test/sql/function/list/icu_generate_series_timestamptz.test index 7221d14a36ab..a130e6c9eff8 100644 --- a/test/sql/function/list/icu_generate_series_timestamptz.test +++ b/test/sql/function/list/icu_generate_series_timestamptz.test @@ -105,16 +105,21 @@ SELECT range(start, stop, step) FROM (VALUES # mixed sign interval not supported statement error SELECT generate_series(timestamptz '2020-01-01', timestamptz '2020-06-01', interval '3' month - interval '3' day); +---- # Infinities will overflow or cause infinite loops so we ban them statement error SELECT generate_series('294247-01-10'::TIMESTAMPTZ, 'infinity'::TIMESTAMPTZ, INTERVAL '1 DAY'); +---- statement error SELECT range('294247-01-10'::TIMESTAMPTZ, 'infinity'::TIMESTAMPTZ, INTERVAL '1 DAY'); +---- statement error SELECT generate_series('-infinity'::TIMESTAMPTZ, '290309-12-22 (BC) 00:00:00'::TIMESTAMPTZ, INTERVAL '1 DAY'); +---- statement error SELECT range('-infinity'::TIMESTAMPTZ, '290309-12-22 (BC) 00:00:00'::TIMESTAMPTZ, INTERVAL '1 DAY'); +---- diff --git a/test/sql/function/list/lambdas/expression_iterator_cases.test b/test/sql/function/list/lambdas/expression_iterator_cases.test index 231aabf006ed..c22320594ca4 100644 --- a/test/sql/function/list/lambdas/expression_iterator_cases.test +++ b/test/sql/function/list/lambdas/expression_iterator_cases.test @@ -7,13 +7,17 @@ statement ok PRAGMA enable_verification -# don't allow BOUND_AGGREGATE inside lambda expressions (binder error) +# this BOUND_AGGREGATE is a constant, so we can allow it inside lambda functions -statement error +query I SELECT list_transform([10], x -> sum(1) + x) +---- +[11] -statement error +query I SELECT list_filter([10], x -> sum(1) > 0) +---- +[10] # BOUND_BETWEEN @@ -103,15 +107,21 @@ SELECT list_filter([2], x -> x + x = 4) statement error SELECT list_transform([2], x -> (SELECT 1 - x) * x) +---- +Invalid Input Error: Subqueries are not supported in lambda expressions! statement error SELECT list_filter([2], x -> (SELECT 1 - x) * x > 2) +---- +Invalid Input Error: Subqueries are not supported in lambda expressions! statement ok CREATE MACRO list_contains_macro(x, y) AS (SELECT list_contains(x, y)) statement error SELECT list_filter([[1, 2, 1], [1, 2, 3], [1, 1, 1]], x -> list_contains_macro(x, 3)) +---- +Invalid Input Error: Subqueries are not supported in lambda expressions! # BOUND_UNNEST diff --git a/test/sql/function/list/lambdas/filter.test b/test/sql/function/list/lambdas/filter.test index da3da080e45e..027883b62679 100644 --- a/test/sql/function/list/lambdas/filter.test +++ b/test/sql/function/list/lambdas/filter.test @@ -99,7 +99,7 @@ SELECT list_transform([[1, 3], [2, 3, 1], [2, 4, 2]], x -> list_filter(x, y -> y [[1], [2, 1], [2, 2]] query I -SELECT list_concat(list_filter([42, -42, 8, -5, 2], elem -> elem > 0), list_filter(['enjoy', 'life', 'to', 'the', 'fullest'], str -> str ILIKE '%e%')) +SELECT list_concat(list_filter([42, -42, 8, -5, 2], elem -> elem > 0)::varchar[], list_filter(['enjoy', 'life', 'to', 'the', 'fullest'], str -> str ILIKE '%e%')) ---- [42, 8, 2, enjoy, life, the, fullest] @@ -163,7 +163,7 @@ SELECT n FROM corr_test WHERE list_count(list_filter(l, elem -> length(elem) >= query I SELECT ct.n FROM corr_test ct -WHERE list_count(ct.l) < (SELECT list_count(list_filter(list_concat(list(c.n), ct.l), a -> length(a) >= 1)) FROM corr_test c GROUP BY c.g) +WHERE list_count(ct.l) < (SELECT list_count(list_filter(list_concat(list(c.n)::varchar[], ct.l), a -> length(a) >= 1)) FROM corr_test c GROUP BY c.g) ORDER BY ct.n ---- 0 diff --git a/test/sql/function/list/lambdas/incorrect.test b/test/sql/function/list/lambdas/incorrect.test index ed2a0861cf21..6de29f823a23 100644 --- a/test/sql/function/list/lambdas/incorrect.test +++ b/test/sql/function/list/lambdas/incorrect.test @@ -3,112 +3,152 @@ # group: [lambdas] statement ok -PRAGMA enable_verification +PRAGMA enable_verification; statement ok -CREATE TABLE incorrect_test (i integer); +CREATE TABLE incorrect_test (i INTEGER); -foreach func_name list_transform list_filter +foreach func_name list_transform list_filter list_reduce statement error -SELECT ${func_name}() +SELECT ${func_name}(); +---- statement error -SELECT ${func_name}([]) +SELECT ${func_name}([]); +---- statement error -SELECT ${func_name}([1], x -> x, 3) +SELECT ${func_name}(1, 2, 3); +---- statement error -SELECT ${func_name}(1, 2, 3) +SELECT ${func_name}(NULL, NULL); +---- +Binder Error: Invalid lambda expression! statement error -SELECT ${func_name}(NULL, NULL) +SELECT ${func_name}(NULL, x); +---- +Binder Error: Referenced column "x" not found in FROM clause! statement error -SELECT ${func_name}(NULL, x) +SELECT ${func_name}([1, 2], (SELECT 1) -> x + 1); +---- +Invalid lambda parameters statement error -SELECT ${func_name}([1, 2], (SELECT 1) -> x + 1) +SELECT ${func_name}(NULL, i) FROM incorrect_test; +---- +No function matches statement error -SELECT ${func_name}(NULL, i) FROM incorrect_test +SELECT ${func_name}(NULL, x -> y); +---- +Binder Error: Referenced column "y" not found in FROM clause! statement error -SELECT ${func_name}(NULL, x -> y) +SELECT ${func_name}([1]); +---- +No function matches statement error -SELECT ${func_name}([1]) +SELECT ${func_name}([1], NULL); +---- +Binder Error: Invalid lambda expression! statement error -SELECT ${func_name}([1], NULL) +SELECT ${func_name}([[1]], x -> x + 1); +---- statement error -SELECT ${func_name}(1, x -> x + 1) +SELECT ${func_name}(1, 1); +---- statement error -SELECT ${func_name}([[1]], x -> x + 1) +SELECT ${func_name}([1], x -> x, 3); +---- +Binder Error: failed to bind function, either: Invalid number of function arguments! + or: Referenced column "x" not found in FROM clause! statement error -SELECT ${func_name}(1, 1) +SELECT ${func_name}([True], x -> x, x -> x); +---- +Binder Error: failed to bind function, either: Invalid number of function arguments! + or: Referenced column "x" not found in FROM clause! statement error -SELECT ${func_name}([True], x -> x, x -> x) +SELECT ${func_name}(1, x -> x + 1); +---- +Invalid LIST argument during lambda function binding! endloop -# lambda parameter has the same name as a column -statement ok -CREATE TABLE l_test (l integer[]) +# list_transform specific tests statement error -SELECT l, list_transform(l, l -> l + 1) FROM l_test +SELECT [split('01:08:22', ':'), x -> CAST (x AS INTEGER)]; +---- +Binder Error: failed to bind function, either: This scalar function does not support lambdas! + or: Referenced column "x" not found in FROM clause! statement error select list_apply(i, x -> x * 3 + 2 / zz) from (values (list_value(1, 2, 3))) tbl(i); +---- +Binder Error: Referenced column "zz" not found in FROM clause! +Candidate bindings: "tbl.i" # lambda cannot be the root of a plan -statement error -select x -> x + 1 from (values (list_value(1, 2, 3))) tbl(i); statement error -select i -> i + 1 from (values (list_value(1, 2, 3))) tbl(i); +select x -> x + 1 from (values (list_value(1, 2, 3))) tbl(i); +---- +Binder Error: Referenced column "x" not found in FROM clause! +Candidate bindings: "tbl.i" statement error select list_apply(i, y + 1 -> x + 1) from (values (list_value(1, 2, 3))) tbl(i); +---- +Invalid lambda parameters statement error -select list_apply(i, a.x -> x + 1) from (values (list_value(1, 2, 3))) tbl(i); +SELECT list_apply(i, a.x -> x + 1) FROM (VALUES (list_value(1, 2, 3))) tbl(i); +---- +Invalid lambda parameters statement error select list_apply(i, x -> x + 1 AND y + 1) from (values (list_value(1, 2, 3))) tbl(i); +---- +Binder Error: Referenced column "y" not found in FROM clause! +Candidate bindings: "tbl.i" statement ok -CREATE TABLE l_filter_test (l integer[]) +CREATE TABLE l_filter_test (l integer[]); statement error -SELECT l, list_filter(l, l -> l > 1) FROM l_filter_test - -statement error -SELECT list_transform([1, 2], (x, y) -> x + y) - -statement error -SELECT list_transform([1, 2], (x, y, z) -> x + y + z) - -statement error -SELECT list_filter([1, 2], (x, y) -> x >= y) +SELECT list_transform([1, 2], (x, y, z) -> x + y + z); +---- +Binder Error: This lambda function only supports up to two lambda parameters! statement error -SELECT list_filter([1, 2], (x, y, z) -> x >= y AND y >= z) +SELECT list_filter([1, 2], (x, y, z) -> x >= y AND y >= z); +---- +Binder Error: This lambda function only supports up to two lambda parameters! # using lambdas in functions that do not support them + statement error -SELECT cos(x -> x + 1) +SELECT cos(x -> x + 1); +---- +Binder Error: failed to bind function, either: This scalar function does not support lambdas! + or: Referenced column "x" not found in FROM clause! statement error -SELECT cos([1], x -> x + 1) +SELECT cos([1], x -> x + 1); +---- +Binder Error: failed to bind function, either: This scalar function does not support lambdas! + or: Referenced column "x" not found in FROM clause! -# don't allow lambdas in check constraints # FIXME: support lambdas in CHECK constraints statement error @@ -118,14 +158,14 @@ create table lambda_check (i BIGINT[], Not implemented Error: Lambda functions are currently not supported in CHECK constraints. statement error -create table lambda_check (i BIGINT[], +CREATE TABLE lambda_check (i BIGINT[], CHECK (list_transform(i, x -> x % 2) == [])); ---- Not implemented Error: Lambda functions are currently not supported in CHECK constraints. statement error -create table lambda_check (i BIGINT[], - CHECK ([x + 1 for x in i if i > 0] == [])); +CREATE TABLE lambda_check (i BIGINT[], + CHECK ([x + 1 FOR x IN i IF x > 0] == [])); ---- Not implemented Error: Lambda functions are currently not supported in CHECK constraints. @@ -137,7 +177,6 @@ create table lambda_check ( ---- Not implemented Error: Lambda functions are currently not supported in CHECK constraints. -# don't allow lambdas in check constraints # FIXME: allow lambdas in generated columns statement error @@ -146,4 +185,14 @@ CREATE TABLE unit2( total_price INTEGER GENERATED ALWAYS AS (list_transform(price, x -> x + 1)) VIRTUAL ); ---- -Not implemented Error: Lambda functions are currently not supported in generated columns. \ No newline at end of file +Not implemented Error: Lambda functions are currently not supported in generated columns. + +# issue 9732 + +statement ok +CREATE TABLE tbl AS SELECT {'a': 10} AS s; + +statement error +SELECT list_transform(UNNEST(s), x -> UNNEST(x)) FROM tbl; +---- +failed to bind function diff --git a/test/sql/function/list/lambdas/lambda_scope.test b/test/sql/function/list/lambdas/lambda_scope.test new file mode 100644 index 000000000000..d9a1888845cb --- /dev/null +++ b/test/sql/function/list/lambdas/lambda_scope.test @@ -0,0 +1,166 @@ +# name: test/sql/function/list/lambdas/lambda_scope.test +# description: Test the scoping of lambda variables +# group: [lambdas] + +# lambda parameters have precedence over columns + +statement ok +CREATE TABLE t1 AS SELECT [1, 2, 3] AS x; + +query I +SELECT list_apply(['hello'], x -> x) FROM t1; +---- +[hello] + +statement ok +CREATE TABLE t2 AS SELECT [[1], [2], [3]] AS x; + +query I +SELECT list_transform([[1], [2], [3]], x -> x[1]) FROM t2; +---- +[1, 2, 3] + +statement ok +CREATE TABLE l_test (l integer[]); + +statement ok +INSERT INTO l_test VALUES ([1, 2, 3]); + +query II +SELECT l, list_transform(l, l -> l + 1) FROM l_test; +---- +[1, 2, 3] [2, 3, 4] + +statement ok +CREATE TABLE l_filter_test (l integer[]); + +statement ok +INSERT INTO l_filter_test VALUES ([1, 2]); + +query II +SELECT l, list_filter(l, l -> l > 1) FROM l_filter_test; +---- +[1, 2] [2] + +# don't allow qualified lambda parameters (LHS parameters) + +statement error +SELECT list_apply(i, a.x -> a.x + 1) FROM (VALUES (list_value(1, 2, 3))) tbl(i); +---- +Invalid lambda parameters + +statement ok +CREATE TABLE qualified_tbl (x INTEGER[]); + +statement ok +INSERT INTO qualified_tbl VALUES ([1, 2]); + +query I +SELECT list_transform(qualified_tbl.x, x -> (qualified_tbl.x)[1] + 1 + x) FROM qualified_tbl; +---- +[3, 4] + +statement error +SELECT list_transform(qualified_tbl.x, qualified_tbl.x -> qualified_tbl.x + 1) FROM qualified_tbl; +---- +Invalid lambda parameters + +# previously ambiguous lambda parameters +# issue #9970 + +query I +SELECT list_transform([1, 2], x -> list_transform([3, 4], x -> x)); +---- +[[3, 4], [3, 4]] + +query I +SELECT list_has_all([variable_has_all FOR variable_has_all IN ['a']], ['b']) AS list_comp_result; +---- +false + +query I +SELECT list_has_all(list_transform(['a'], variable_has_all -> variable_has_all), ['b']) AS list_transform_result; +---- +false + +query I +SELECT list_has_any(['b'], list_transform(['a'], variable_has_any -> variable_has_any)) AS list_transform_result; +---- +false + +query I +SELECT list_intersect(list_intersect([1], [1]), [1]) +---- +[1] + +query I +SELECT list_intersect([1], list_intersect([1], [1])) +---- +[1] + +query I +SELECT list_has_any(LIST_VALUE(list_has_any([1], [1])), [1]) +---- +true + +query I +SELECT list_has_any([1], LIST_VALUE(list_has_any([1], [1]))) +---- +true + +query I +SELECT list_has_all(LIST_VALUE(list_has_all([1], [1])), [1]) +---- +true + +query I +SELECT list_has_all([1], LIST_VALUE(list_has_all([1], [1]))) +---- +true + +query I +SELECT list_has_any(LIST_VALUE(list_has_all(list_intersect([1], [1]), [1])), [1]); +---- +true + +query I +SELECT list_has_all(LIST_VALUE(list_has_any(list_intersect([1], [1]), [1])), [1]); +---- +true + +query I +SELECT list_intersect(LIST_VALUE(list_has_all(LIST_VALUE(list_has_any([1], [1])), [1])), [1]) +---- +[true] + +query I +SELECT list_intersect(list_intersect([1, 2, 3, 4], [4, 5, 6, 7]), list_intersect([4, 5, 6, 7], [1, 2, 3, 4])); +---- +[4] + +# more tests for qualifying column names + +statement ok +CREATE TABLE tbl_qualified AS SELECT 42 AS x; + +query II +SELECT x, list_transform([1], x -> x) FROM tbl_qualified; +---- +42 [1] + +statement error +SELECT list_transform([1,2,3], sqrt(xxx.z) -> xxx.z + 1) AS l ; +---- +Invalid lambda parameters + +query I +SELECT list_transform([1, 2, 3], "x.y" -> "x.y" + x.y) AS l FROM (VALUES (42), (84)) x(y); +---- +[43, 44, 45] +[85, 86, 87] + +statement error +SELECT list_reduce([1, 2, 3, 4], x *++++++++* y -> x - y) AS l; +---- +Invalid lambda parameters + diff --git a/test/sql/function/list/lambdas/lambdas_and_group_by.test b/test/sql/function/list/lambdas/lambdas_and_group_by.test new file mode 100644 index 000000000000..04b35d7f0f34 --- /dev/null +++ b/test/sql/function/list/lambdas/lambdas_and_group_by.test @@ -0,0 +1,35 @@ +# name: test/sql/function/list/lambdas/lambdas_and_group_by.test +# description: Test lambdas with aggregations +# group: [lambdas] + +statement ok +CREATE TABLE tbl (tag_product VARCHAR); + +statement ok +INSERT INTO tbl VALUES ('milk chickpeas apples'), ('chocolate pepper'); + +query II +SELECT tag_product, list_aggr(list_transform( + string_split(tag_product, ' '), word -> lower(word)), + 'string_agg', ',') AS tag_material, +FROM tbl GROUP BY tag_product +ORDER BY ALL; +---- +chocolate pepper chocolate,pepper +milk chickpeas apples milk,chickpeas,apples + +query II +SELECT 1, list_transform([5, 4, 3], x -> x + 1) AS lst GROUP BY 1; +---- +1 [6, 5, 4] + +statement ok +CREATE TABLE uniform_purchase_forecast AS +SELECT 'gold' AS color, 10 AS forecast +UNION ALL SELECT 'blue', 15 +UNION ALL SELECT 'red', 300; + +query I +FROM uniform_purchase_forecast SELECT list(forecast).list_transform(x -> x + 10); +---- +[20, 25, 310] diff --git a/test/sql/function/list/lambdas/lambdas_and_macros.test b/test/sql/function/list/lambdas/lambdas_and_macros.test index 04dfc274e69e..64e175c16477 100644 --- a/test/sql/function/list/lambdas/lambdas_and_macros.test +++ b/test/sql/function/list/lambdas/lambdas_and_macros.test @@ -9,9 +9,10 @@ PRAGMA enable_verification statement ok create table test as select range i from range(3); -# Error: Binder Error: Conflicting column names for column i! statement error create macro my_macro(i) as (select i in (select i from test)); +---- +Binder Error: Conflicting column names for column i! statement ok CREATE MACRO list_contains_macro(x, y) AS (list_contains(x, y)) @@ -29,13 +30,36 @@ SELECT list_filter([[1, 2], NULL, [3], [4, NULL]], f -> list_count(macro_with_la ---- [[1, 2]] -statement error -CREATE MACRO some_macro(x, y, z) AS (SELECT list_transform(x, x -> x + y + z)) - # this is a bit more tricky, because the operator mismatch is only detected when using the macro statement ok CREATE MACRO some_macro(x, y, z) AS (SELECT list_transform(x, a -> x + y + z)) statement error SELECT some_macro([1, 2], 3, 4); +---- + +statement ok +CREATE MACRO reduce_macro(list, num) AS (list_reduce(list, (x, y) -> x + y + num)) + +query I +SELECT reduce_macro([1, 2, 3, 4], 5); +---- +25 + +statement ok +CREATE MACRO other_reduce_macro(list, num, bla) AS (SELECT list_reduce(list, (x, y) -> list + x + y + num + bla)) + +statement error +SELECT other_reduce_macro([1, 2, 3, 4], 5, 6); +---- + +# lambda scoping + +statement ok +CREATE MACRO scoping_macro(x, y, z) AS (SELECT list_transform(x, x -> x + y + z)); + +query I +SELECT scoping_macro([11, 22], 3, 4); +---- +[18, 29] diff --git a/test/sql/function/list/lambdas/reduce.test b/test/sql/function/list/lambdas/reduce.test new file mode 100644 index 000000000000..d4cd08b87a38 --- /dev/null +++ b/test/sql/function/list/lambdas/reduce.test @@ -0,0 +1,416 @@ +# name: test/sql/function/list/lambdas/reduce.test +# description: Test list_reduce function +# group: [lambdas] + +statement ok +pragma enable_verification + +query I +SELECT list_reduce([1, 2, 3], (x, y) -> x + y); +---- +6 + +query I +SELECT list_reduce([1, 2, 3], (x, y) -> x * y); +---- +6 + +query I +SELECT list_reduce([100, 10, 1], (x, y, i) -> x - y - i); +---- +86 + +query I +SELECT list_reduce([1, 2, 3], (x, y) -> y - x); +---- +2 + +query I +SELECT list_reduce([1, 2, 3], (x, y) -> x - y); +---- +-4 + +query I +SELECT list_reduce([1, 2, 3], (x, y, i) -> x + y + i); +---- +9 + +query I +SELECT list_reduce([NULL], (x, y, i) -> x + y + i); +---- +NULL + +query I +SELECT list_reduce(NULL, (x, y, i) -> x + y + i); +---- +NULL + +query I +SELECT list_reduce(['Once', 'upon', 'a', 'time'], (x, y) -> x || ' ' || y); +---- +Once upon a time + +#errors on simple reduce + +statement error +SELECT list_reduce([], (x, y, i) -> x + y + i); +---- +Cannot perform list_reduce on an empty input list + +statement error +SELECT list_reduce([1, 2, 3], (x, y) -> (x * y)::VARCHAR || 'please work'); +---- +Could not convert + +statement error +SELECT list_reduce([1, 2], (x) -> x); +---- +list_reduce expects a function with 2 or 3 arguments + +statement error +SELECT list_reduce([1, 2], NULL); +---- +Invalid lambda expression! + +statement error +SELECt list_reduce([1, 2], (len('abc') AS x, y) - > x + y) +---- +Parser Error: syntax error at or near "AS" + +# simple reduce on a table + +statement ok +CREATE table t1(a int[]); + +statement ok +INSERT INTO t1 VALUES ([1, 2, 3]); + +statement ok +INSERT INTO t1 VALUES ([666]); + +statement ok +INSERT INTO t1 VALUES (NULL); + +statement ok +INSERT INTO t1 VALUES ([44, 55]); + +statement ok +INSERT INTO t1 VALUES ([-1, NULL, -2]); + +query I +SELECT list_reduce(a, (x, y) -> x + y) FROM t1; +---- +6 +666 +NULL +99 +NULL + +query I +SELECT list_reduce(a, (x, y, i) -> x + y + i) FROM t1; +---- +9 +666 +NULL +100 +NULL + +statement ok +INSERT INTO t1 VALUES ([]); + +statement error +SELECT list_reduce(a, (x, y) -> x + y) FROM t1; +---- +Cannot perform list_reduce on an empty input list + +statement ok +DROP TABLE t1; + +# reduce on a table with a list of strings + +statement ok +CREATE TABLE t1 (a varchar[]); + +statement ok +INSERT INTO t1 VALUES (['Once', 'upon', 'a', 'time']), (NULL), (['there', 'was', 'a', 'table']), (['with', 'a', 'list', 'of', 'strings']), (['and', 'it', 'was', NULL]); + +query I +SELECT list_reduce(a, (x, y) -> x || ' ' || y) FROM t1; +---- +Once upon a time +NULL +there was a table +with a list of strings +NULL + +statement ok +INSERT INTO t1 VALUES ([]); + +statement error +SELECT list_reduce(a, (x, y) -> x || ' ' || y) FROM t1; +---- +Cannot perform list_reduce on an empty input list + +# reduce on a string only using the RHS + +statement ok +CREATE TABLE right_only (v varchar[], i int); + +statement ok +INSERT INTO right_only VALUES (['blue', 'babbling', 'brook'], 1), (['dogs', 'doing', 'dishes'], 2), (['she', 'sells', 'seashells'], 3); + +query I +SELECT list_reduce(v, (x, y) -> y[i]) FROM right_only; +---- +b +i +a + +# nested functions with ints + +query I +SELECT list_reduce([1, 2, 3], (x, y) -> list_reduce([4, 5, 6], (a, b) -> x + y + a + b)); +---- +63 + +statement error +SELECT list_reduce([1, 2, 3], (x, y) -> list_reduce([], (a, b) -> x + y + a + b)); +---- +Cannot perform list_reduce on an empty input list + +query I +SELECT list_reduce([1, 2, 3], (x, y, x_i) -> list_reduce([4, 5, 6], (a, b, a_i) -> x + y + a + b + x_i + a_i)); +---- +80 + +statement error +SELECT list_reduce([1, 2, 3], (x, y, x_i) -> list_reduce([], (a, b, a_i) -> x + y + a + b + x_i + a_i)); +---- +Cannot perform list_reduce on an empty input list + +query I +SELECT list_reduce([[10, 20], [30, 40], [50, 60]], (x, y) -> list_pack(list_reduce(x, (l, m) -> l + m) + list_reduce(y, (n, o) -> n + o))); +---- +[210] + +query I +SELECT list_reduce([[1,2,3], [4,5,6], [7,8,9]], (x, y) -> list_pack(list_reduce(x, (l, m) -> l + m) + list_reduce(y, (n, o) -> n + o))); +---- +[45] + +query I +SELECT list_reduce([[10, 20], [30, 40], NULL, [NULL, 60], NULL], (x, y) -> list_pack(list_reduce(x, (l, m) -> l + m) + list_reduce(y, (n, o) -> n + o))); +---- +[NULL] + +# nested functions with strings + +query I +SELECT list_reduce(['a', 'b', 'c', 'd'], (x, y) -> list_reduce(['1', '2', '3', '4'], (a, b) -> x || y || a || b)); +---- +ababab1234cababab1234cababab1234c1234dababab1234cababab1234cababab1234c1234dababab1234cababab1234cababab1234c1234d1234 + +query I +SELECT list_reduce([['a', 'b'], ['c', 'd'], ['e', 'f']], (x, y) -> list_pack(list_reduce(x, (a, b) -> a || b) || list_reduce(y, (c, d) -> c || d))); +---- +[abcdef] + +# nested functions in a table with ints + +statement ok +CREATE TABLE nested (n integer[], l integer[]) + +statement ok +INSERT INTO nested VALUES ([1, 2, 3], [4, 5, 6]), (NULL, NULL), (NULL, [110, 111, 112]), ([77, 88, 99], [55, 66, NULL]); + +query I +SELECT list_reduce(n, (x, y) -> list_reduce(l, (a, b) -> x + y + a + b)) FROM nested; +---- +63 +NULL +NULL +NULL + +query I +SELECT list_reduce(n, (x, y, x_i) -> list_reduce(l, (a, b, a_i) -> x + y + a + b + x_i + a_i)) FROM nested; +---- +80 +NULL +NULL +NULL + +query I +SELECT list_reduce(n, (x, y, x_i) -> list_reduce(l, (a, b, a_i) -> x + y + x_i < a + b + a_i)) FROM nested; +---- +1 +NULL +NULL +NULL + +statement ok +INSERT INTO nested VALUES ([4, 5, 6], []); + +statement error +SELECT list_reduce(n, (x, y) -> list_reduce(l, (a, b) -> x + y + a + b)) FROM nested; +---- +Cannot perform list_reduce on an empty input list + +statement ok +DROP TABLE nested; + +statement ok +CREATE TABLE nested (n integer[][]) + +statement ok +INSERT INTO nested VALUES ([[10, 20], [30, 40], [50, 60]]), ([[1,2,3], [4,5,6], [7,8,9]]), (NULL), ([[NULL, 60], [70, NULL], [NULL, NULL]]); + +query I +SELECT list_reduce(n, (x, y) -> list_pack(list_reduce(x, (l, m) -> l + m) + list_reduce(y, (j, k) -> j + k))) from nested; +---- +[210] +[45] +NULL +[NULL] + +statement ok +INSERT INTO nested VALUES ([[4, 5, 6], []]); + +statement error +SELECT list_reduce(n, (x, y) -> list_pack(list_reduce(x, (l, m) -> l + m) + list_reduce(y, (j, k) -> j + k))) from nested; +---- +Cannot perform list_reduce on an empty input list + +statement ok +DROP TABLE nested; + +# nested functions in a table with strings + +statement ok +CREATE TABLE nested (n varchar[], l varchar[]) + +statement ok +INSERT INTO nested VALUES (['a', 'b', 'c', 'd'], ['1', '2', '3', '4']), (NULL, NULL), (NULL, ['110', '111', '112']), (['77', '88', '99'], ['55', '66', NULL]); + +query I +SELECT list_reduce(n, (x, y) -> list_reduce(l, (a, b) -> x || y || a || b)) FROM nested; +---- +ababab1234cababab1234cababab1234c1234dababab1234cababab1234cababab1234c1234dababab1234cababab1234cababab1234c1234d1234 +NULL +NULL +NULL + +statement ok +DROP TABLE nested; + +# three level nested functions with ints + +query I +SELECT list_reduce([1, 2, 3], (x, y) -> list_reduce([4, 5, 6], (a, b) -> list_reduce([7, 8, 9], (c, d) -> x + y + a + b + c + d))); +---- +966 + +query I +SELECT list_reduce([1, 2, 3], (x, y, x_i) -> list_reduce([4, 5, 6], (a, b, a_i) -> list_reduce([7, 8, 9], (c, d, c_i) -> x + y + a + b + c + d + x_i + a_i + c_i))); +---- +1133 + +query I +SELECT list_reduce([[[10, 20], [100, 200]], [[30, 40], [300, 400]], [[50, 60], [500, 600]]], (x, y) -> list_pack(list_reduce(x, (l, m) -> list_pack(list_reduce(l, (a, b) -> a + b) + list_reduce(m, (c, d) -> c + d))) + list_reduce(y, (n, o) -> list_pack(list_reduce(n, (a, b) -> a + b) + list_reduce(o, (c, d) -> c + d))))); +---- +[[330, 770, 1210]] + +# three level nested in a table with ints + +statement ok +CREATE TABLE nested (n integer[], l integer[], m integer[]) + +statement ok +INSERT INTO nested VALUES ([1, 2, 3], [4, 5, 6], [7, 8, 9]), (NULL, NULL, NULL), (NULL, [110, 111, 112], [113, 114, 115]), ([77, 88, 99], [55, 66, NULL], [44, 33, 22]); + +query I +SELECT list_reduce(n, (x, y) -> list_reduce(l, (a, b) -> list_reduce(m, (c, d) -> x + y + a + b + c + d))) FROM nested; +---- +966 +NULL +NULL +NULL + +statement ok +DROP TABLE nested; + +statement ok +CREATE TABLE nested (n integer[][][]) + +statement ok +INSERT INTO nested VALUES ([[[10, 20], [100, 200]], [[30, 40], [300, 400]], [[50, 60], [500, 600]]]), ([[[1,2,3], [4,5,6], [7,8,9]]]), (NULL), ([[[NULL, 60], [70, NULL], [NULL, NULL]]]); + +query I +SELECT list_reduce(n, (x, y) -> list_pack(list_reduce(x, (l, m) -> list_pack(list_reduce(l, (a, b) -> a + b) + list_reduce(m, (c, d) -> c + d))) + list_reduce(y, (e, f) -> list_pack(list_reduce(e, (a, b) -> a + b) + list_reduce(f, (c, d) -> c + d))))) from nested; +---- +[[330, 770, 1210]] +[[1, 2, 3], [4, 5, 6], [7, 8, 9]] +NULL +[[NULL, 60], [70, NULL], [NULL, NULL]] + +# very large lists + +statement ok +CREATE TABLE large_lists AS SELECT range % 4 g, list(range) l FROM range(10000) GROUP BY range % 4; + +query I +SELECT list_reduce(l, (x, y) -> least(x, y)) FROM large_lists ORDER BY g; +---- +0 +1 +2 +3 + +query I +SELECT list_reduce(l, (x, y) -> x + y) FROM large_lists ORDER BY g; +---- +12495000 +12497500 +12500000 +12502500 + +# very large table + +statement ok +CREATE TABLE large_table AS SELECT list_reduce(range(5000), (x, y) -> x + y) as l FROM range(1000); + +query I +SELECT count(*) from large_table where l = 12497500; +---- +1000 + +# list_reduce in where clause + +statement ok +CREATE table where_clause (a int[]); + +statement ok +INSERT INTO where_clause VALUES ([10, 2, 1]), ([1, 2, 3]), ([15, 4, 3]), ([3, 4, 5]), ([11, 2, 3, 4, 5]), ([5, 4, 3, 2, 1]), ([100, 2, 3, 4, 5, 6, 7, 8, 9, 10]); + +query I +SELECT a FROM where_clause WHERE list_reduce(a, (x, y) -> x - y) > 0; +---- +[10, 2, 1] +[15, 4, 3] +[100, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +# tests on structs + +statement ok +CREATE TABLE t_struct (s STRUCT(v VARCHAR, i INTEGER)[]); + +statement ok +INSERT INTO t_struct VALUES ([row('a', 1), row('b', 2)]), ([row('c', 3), row('d', 4)]), ([row('e', 5), row('f', 6)]), ([row('g', 7), row('h', 8)]), ([row('i', 9), row('j', 10)]); + +query I +SELECT list_reduce(s, (a, b) -> row(a.v || b.v, a.i + b.i)) FROM t_struct; +---- +{'v': ab, 'i': 3} +{'v': cd, 'i': 7} +{'v': ef, 'i': 11} +{'v': gh, 'i': 15} +{'v': ij, 'i': 19} diff --git a/test/sql/function/list/lambdas/rhs_parameters.test b/test/sql/function/list/lambdas/rhs_parameters.test index 7451235f7731..0fe4e12f6d0e 100644 --- a/test/sql/function/list/lambdas/rhs_parameters.test +++ b/test/sql/function/list/lambdas/rhs_parameters.test @@ -2,6 +2,9 @@ # description: Test nested lambda parameters in the rhs of lambda expressions # group: [lambdas] +statement ok +PRAGMA enable_verification + # issue #5795 query I SELECT list_apply([1,2], x -> list_apply([3,4], y -> {'x': x, 'y': y})) AS bug; @@ -84,4 +87,4 @@ select l, [[{'x+y': x + y, 'x': x, 'y': y, 'l': l} for y in [42, 43]] for x in l ---- [0, 1] [[{'x+y': 42, 'x': 0, 'y': 42, 'l': [0, 1]}, {'x+y': 43, 'x': 0, 'y': 43, 'l': [0, 1]}], [{'x+y': 43, 'x': 1, 'y': 42, 'l': [0, 1]}, {'x+y': 44, 'x': 1, 'y': 43, 'l': [0, 1]}]] [1, 2] [[{'x+y': 43, 'x': 1, 'y': 42, 'l': [1, 2]}, {'x+y': 44, 'x': 1, 'y': 43, 'l': [1, 2]}], [{'x+y': 44, 'x': 2, 'y': 42, 'l': [1, 2]}, {'x+y': 45, 'x': 2, 'y': 43, 'l': [1, 2]}]] -[2, 3] [[{'x+y': 44, 'x': 2, 'y': 42, 'l': [2, 3]}, {'x+y': 45, 'x': 2, 'y': 43, 'l': [2, 3]}], [{'x+y': 45, 'x': 3, 'y': 42, 'l': [2, 3]}, {'x+y': 46, 'x': 3, 'y': 43, 'l': [2, 3]}]] \ No newline at end of file +[2, 3] [[{'x+y': 44, 'x': 2, 'y': 42, 'l': [2, 3]}, {'x+y': 45, 'x': 2, 'y': 43, 'l': [2, 3]}], [{'x+y': 45, 'x': 3, 'y': 42, 'l': [2, 3]}, {'x+y': 46, 'x': 3, 'y': 43, 'l': [2, 3]}]] diff --git a/test/sql/function/list/lambdas/storage.test b/test/sql/function/list/lambdas/storage.test index 38b0a5e3f62c..e1d18b95002d 100644 --- a/test/sql/function/list/lambdas/storage.test +++ b/test/sql/function/list/lambdas/storage.test @@ -17,7 +17,10 @@ statement ok CREATE MACRO my_filter(list) AS list_filter(list, x -> x > 42) statement ok -CREATE MACRO my_nested_lambdas(nested_list) AS list_filter(nested_list, elem -> list_sum(list_transform(elem, x -> x + 1)) > 42) +CREATE MACRO my_reduce(list) AS list_reduce(list, (x, y) -> x + y) + +statement ok +CREATE MACRO my_nested_lambdas(nested_list) AS list_filter(nested_list, elem -> list_reduce(list_transform(elem, x -> x + 1), (x, y) -> x + y) > 42) query I SELECT my_transform([1, 2, 3]) @@ -29,6 +32,11 @@ SELECT my_filter([41, 42, NULL, 43, 44]) ---- [43, 44] +query I +SELECT my_reduce([1, 2, 3]) +---- +6 + query I SELECT my_nested_lambdas([[40, NULL], [20, 21], [10, 10, 20]]) ---- @@ -47,7 +55,12 @@ SELECT my_filter([41, 42, NULL, 43, 44]) ---- [43, 44] +query I +SELECT my_reduce([1, 2, 3]) +---- +6 + query I SELECT my_nested_lambdas([[40, NULL], [20, 21], [10, 10, 20]]) ---- -[[20, 21], [10, 10, 20]] \ No newline at end of file +[[20, 21], [10, 10, 20]] diff --git a/test/sql/function/list/lambdas/table_functions.test b/test/sql/function/list/lambdas/table_functions.test index 273622412400..f8141a4e0f84 100644 --- a/test/sql/function/list/lambdas/table_functions.test +++ b/test/sql/function/list/lambdas/table_functions.test @@ -42,6 +42,12 @@ s -> lower(s)), 'string_agg', '') || '.parquet'); ---- 10 +query I +SELECT COUNT(*) FROM read_parquet('__TEST_DIR__/my_file_' || +list_aggr(list_reduce([['c', 'b', NULL, 'a']], (x, y) -> coalesce(x,y)), 'string_agg', '') || '.parquet'); +---- +10 + # lambda parameters in rhs query I COPY tmp TO '__TEST_DIR__/my_file_ac.parquet' (FORMAT PARQUET); diff --git a/test/sql/function/list/lambdas/transform.test b/test/sql/function/list/lambdas/transform.test index 5c4f1a741f3e..191b6fecce3d 100644 --- a/test/sql/function/list/lambdas/transform.test +++ b/test/sql/function/list/lambdas/transform.test @@ -123,9 +123,14 @@ SELECT list_transform([[1], [2], [3]], x -> list_concat(list_transform(x, y -> y ---- [[2, 0], [3, 1], [4, 2]] -query I +statement error SELECT list_transform([[1], [4], NULL, [1], [8]], x -> list_concat(list_transform(x, y -> CASE WHEN y > 1 THEN 'yay' ELSE 'nay' END), x)) ---- +an explicit cast is required + +query I +SELECT list_transform([[1], [4], NULL, [1], [8]], x -> list_concat(list_transform(x, y -> CASE WHEN y > 1 THEN 'yay' ELSE 'nay' END), x::VARCHAR[])) +---- [[nay, 1], [yay, 4], NULL, [nay, 1], [yay, 8]] # test aliases diff --git a/test/sql/function/list/lambdas/transform_with_index.test b/test/sql/function/list/lambdas/transform_with_index.test new file mode 100644 index 000000000000..39192a5f83c4 --- /dev/null +++ b/test/sql/function/list/lambdas/transform_with_index.test @@ -0,0 +1,134 @@ +# name: test/sql/function/list/lambdas/transform_with_index.test +# description: Test the list_transform function with an index parameter +# group: [lambdas] + +statement ok +PRAGMA enable_verification + +query I +SELECT list_transform([1, 2, 3], x -> list_transform([4, 5, 6], (y, y_i) -> x + y + y_i)); +---- +[[6, 8, 10], [7, 9, 11], [8, 10, 12]] + +query I +SELECT list_transform(['abc'], (x, i) -> x[i + 1]); +---- +[b] + +query I +SELECT list_filter([1, 2, 1], (x, y) -> x >= y); +---- +[1, 2] + +query I +SELECT list_transform([1, 2, 3], x -> list_transform([4, 5, 6], y -> list_transform([7, 8, 9], (z, i) -> x + y + z + i))); +---- +[[[13, 15, 17], [14, 16, 18], [15, 17, 19]], [[14, 16, 18], [15, 17, 19], [16, 18, 20]], [[15, 17, 19], [16, 18, 20], [17, 19, 21]]] + + +query I +SELECT list_transform([10, 20, 30], (x, i) -> x + i); +---- +[11, 22, 33] + +query I +SELECT list_transform([1, 2, 3, 4, 5, 6], (x, i) -> x * i); +---- +[1, 4, 9, 16, 25, 36] + +query I +SELECT list_transform([6, 5, 4, 3, 2, 1], (x, i) -> x * i); +---- +[6, 10, 12, 12, 10, 6] + +query I +SELECT list_transform([1, NULL, 3, 4, 5, 6], (x, i) -> x + i); +---- +[2, NULL, 6, 8, 10, 12] + +query I +SELECT list_transform(NULL, (x, i) -> x + i); +---- +NULL + +query I +SELECT list_transform(['1', '2', '3', '4'], (x, i) -> (x || ' + ' || CAST(i AS string))); +---- +[1 + 1, 2 + 2, 3 + 3, 4 + 4] + +query I +SELECT list_transform([1,2,3,4,5], (x, i) -> (x * 10 / i)); +---- +[10.0, 10.0, 10.0, 10.0, 10.0] + + +# tests with column references + +statement ok +CREATE TABLE tbl(a int[]); + +statement ok +INSERT INTO tbl VALUES ([5, 4, 3]), ([1, 2, 3]), (NULL), ([NULL, 101, 12]); + +query I +SELECT list_transform(a, (x, i) -> x + i) FROM tbl; +---- +[6, 6, 6] +[2, 4, 6] +NULL +[NULL, 103, 15] + +query I +SELECT list_transform(a, (x, i) -> x + i + list_any_value(a)) FROM tbl; +---- +[11, 11, 11] +[3, 5, 7] +NULL +[NULL, 204, 116] + +statement ok +DROP TABLE tbl; + +statement ok +CREATE TABLE tbl(a int[], b int, c int); + +statement ok +INSERT INTO tbl VALUES ([5,4,3], 5, 10), ([1,2,3], 7, 14), (NULL, 9, 18), ([10,NULL,12], 11, 22); + +query I +SELECT list_transform(a, (x, i) -> (c / b ) * (x + i)) FROM tbl; +---- +[12.0, 12.0, 12.0] +[4.0, 8.0, 12.0] +NULL +[22.0, NULL, 30.0] + +# test very large lists + +query I transform list +SELECT range(1, 20000, 2); +---- + +query I transform list +SELECT list_transform(range(10000), (x, i) -> x + i); +---- + +query I +SELECT list_transform([1, 2, 3], (x, x_i) -> list_transform([4, 5, 6], y -> x + y + x_i)); +---- +[[6, 7, 8], [8, 9, 10], [10, 11, 12]] + +query I +SELECT list_transform([1, 2, 3], (x, x_i) -> list_transform([4, 5, 6], (y, y_i) -> x + y + x_i + y_i)); +---- +[[7, 9, 11], [9, 11, 13], [11, 13, 15]] + +query I +SELECT list_transform([1, 2, 3], (x, i) -> list_transform([4, 5, 6], y -> list_transform([7, 8, 9], z -> x + y + z + i))); +---- +[[[13, 14, 15], [14, 15, 16], [15, 16, 17]], [[15, 16, 17], [16, 17, 18], [17, 18, 19]], [[17, 18, 19], [18, 19, 20], [19, 20, 21]]] + +query I +SELECT list_transform([1, 2, 3], x -> list_transform([4, 5, 6], (y, i) -> list_transform([7, 8, 9], z -> x + y + z + i))); +---- +[[[13, 14, 15], [15, 16, 17], [17, 18, 19]], [[14, 15, 16], [16, 17, 18], [18, 19, 20]], [[15, 16, 17], [17, 18, 19], [19, 20, 21]]] diff --git a/test/sql/function/list/lambdas/filter_vector_types.test b/test/sql/function/list/lambdas/vector_types.test similarity index 61% rename from test/sql/function/list/lambdas/filter_vector_types.test rename to test/sql/function/list/lambdas/vector_types.test index a967b8c9f7ce..01614dede150 100644 --- a/test/sql/function/list/lambdas/filter_vector_types.test +++ b/test/sql/function/list/lambdas/vector_types.test @@ -1,5 +1,5 @@ -# name: test/sql/function/list/lambdas/filter_vector_types.test -# description: Test list_filter function with 'test_vector_types' +# name: test/sql/function/list/lambdas/vector_types.test +# description: Test list_filter and list_reduce function with 'test_vector_types' # group: [lambdas] require vector_size 2048 @@ -36,3 +36,16 @@ select [x for x in c if x IS NULL] FROM test_vector_types(NULL::INT[]) t(c); [] [] [] + + +query I +select list_reduce(c, (x, y) -> x + y) FROM test_vector_types(NULL::INT[]) t(c) WHERE len(c) > 0; +---- +-1 +NULL +-1 +-1 +-1 +NULL +8 +7 diff --git a/test/sql/function/list/list_concat.test b/test/sql/function/list/list_concat.test index ab7f8a546d46..b733b511b115 100644 --- a/test/sql/function/list/list_concat.test +++ b/test/sql/function/list/list_concat.test @@ -43,6 +43,7 @@ SELECT list_concat([1, 2], []) statement error SELECT list_concat([1, 2], 3) +---- # operators query T @@ -56,12 +57,12 @@ SELECT [1, 2] + [3, 4] [1, 2, 3, 4] # type casting -foreach type_a varchar +foreach type_a -foreach type_b varchar +foreach type_b query T -SELECT list_concat([1, 2]::${type_a}[], [3, 4]::${type_b}[]) +SELECT list_concat([1, 2]::${type_a}[], [3, 4]::${type_b}[])::INTEGER[] ---- [1, 2, 3, 4] @@ -127,6 +128,7 @@ SELECT i, list_concat(j, k) FROM lists statement error SELECT i, list_concat(j, cast(k AS VARCHAR)) FROM lists +---- # list_append(l, e) is an alias for list_concat(l, list_value(e)) query T diff --git a/test/sql/function/list/list_contains.test b/test/sql/function/list/list_contains.test index 2028d4df5afe..7d7072a9d895 100644 --- a/test/sql/function/list/list_contains.test +++ b/test/sql/function/list/list_contains.test @@ -64,7 +64,7 @@ SELECT i, list_contains(i,'aaaaaaaaaaaaaaaaaaaaaaaa') from STR_TEST; [aaaaaaaaaaaaaaaaaaaaaaaa] 1 query TT -SELECT i, list_contains(i,0) from STR_TEST; +SELECT i, list_contains(i, '0') from STR_TEST; ---- [a, b, c] 0 [d, a, e] 0 @@ -118,14 +118,15 @@ SELECT list_contains([1.0,2.0,3.0],4) 0 -query T +statement error SELECT list_contains([1.0,2.0,3.0], 'a') ---- -0 +an explicit cast is required # Not a list as input statement error SELECT list_contains('a', 'a') +---- query T SELECT list_contains(NULL,NULL) @@ -222,22 +223,26 @@ SELECT list_contains([NULL,7], 7) statement error SELECT list_contains([[1,2,3],[1],[1,2,3]) +---- statement error SELECT list_contains([[1,2,3],[1],[1,2,3]]) +---- statement error SELECT list_contains(1) +---- statement error SELECT list_contains(1,1) +---- statement ok PRAGMA debug_force_external=true loop i 0 2 -foreach type varchar +foreach type # list tests statement ok @@ -421,4 +426,4 @@ SELECT id, name FROM cte WHERE ARRAY_CONTAINS(name, '2Pac'); query II SELECT id, name FROM test WHERE id IN (2,3) AND name::text ILIKE '%2Pac%'; ---- -3 [Oasis, 2Pac] \ No newline at end of file +3 [Oasis, 2Pac] diff --git a/test/sql/function/list/list_cosine_similarity.test b/test/sql/function/list/list_cosine_similarity.test index 4cba51f53bdb..9bcfe40a0961 100644 --- a/test/sql/function/list/list_cosine_similarity.test +++ b/test/sql/function/list/list_cosine_similarity.test @@ -39,4 +39,4 @@ SELECT list_cosine_similarity([1, 2, 3]::${type}[], [1, 2, 3, 4]::${type}[]); list dimensions must be equal, got left length 3 and right length 4 -endloop \ No newline at end of file +endloop diff --git a/test/sql/function/list/list_distance.test b/test/sql/function/list/list_distance.test index 535eccd508ed..bc9f2a83f387 100644 --- a/test/sql/function/list/list_distance.test +++ b/test/sql/function/list/list_distance.test @@ -40,4 +40,4 @@ SELECT list_distance([1, 2, 3]::${type}[], [1, 2, 3, 4]::${type}[]); list dimensions must be equal, got left length 3 and right length 4 -endloop \ No newline at end of file +endloop diff --git a/test/sql/function/list/list_distinct.test b/test/sql/function/list/list_distinct.test index 36f6ab340525..3ab483962288 100644 --- a/test/sql/function/list/list_distinct.test +++ b/test/sql/function/list/list_distinct.test @@ -7,7 +7,6 @@ # different on Windows and other systems # test null or empty - query I SELECT list_distinct(NULL) ---- @@ -31,19 +30,27 @@ SELECT list_distinct([]) WHERE 1 = 0 statement error SELECT list_distinct() +---- +No function matches statement error SELECT list_distinct(*) +---- +No function matches statement error SELECT list_distinct([1, 2], 2) +---- +No function matches # test incorrect parameter type -foreach type boolean varchar tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval blob +foreach type boolean varchar tinyint smallint integer bigint hugeint uhugeint utinyint usmallint uinteger ubigint float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval blob statement error SELECT list_distinct(NULL::${type}) +---- +No function matches endloop @@ -125,7 +132,7 @@ SELECT list_distinct([NULL::VARCHAR]) [] # INTEGER types -foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint +foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint uhugeint query I SELECT list_distinct([1::${type}, NULL, 1::${type}]) @@ -257,4 +264,36 @@ two1 query I SELECT list_sort(list_distinct(['a', 'b、c', 'a'])) ---- -[a, b、c] \ No newline at end of file +[a, b、c] + +statement ok +CREATE TABLE all_types AS SELECT * FROM test_all_types(); + +# unsupported histogram types +foreach colname bool tinyint smallint int bigint utinyint usmallint uint ubigint date time timestamp timestamp_s timestamp_ms timestamp_ns time_tz timestamp_tz float double dec_4_1 dec_9_4 uuid interval varchar small_enum medium_enum large_enum + +statement ok +select list_distinct(["${colname}"]) FROM all_types; + +endloop + +# we support histogram for the min/max values of these types +foreach colname hugeint dec_18_6 dec38_10 + +statement ok +select list_distinct(["${colname}"]) FROM all_types; + +endloop + +statement ok +select list_distinct(["blob"]) FROM all_types; + +# we don't support histogram for nested types +foreach colname int_array double_array date_array timestamp_array timestamptz_array varchar_array nested_int_array struct struct_of_arrays array_of_structs map + +statement error +select list_distinct(["${colname}"]) FROM all_types; +---- +Not implemented Error + +endloop diff --git a/test/sql/function/list/list_grade_up.test b/test/sql/function/list/list_grade_up.test new file mode 100644 index 000000000000..a140d646db47 --- /dev/null +++ b/test/sql/function/list/list_grade_up.test @@ -0,0 +1,303 @@ +# name: test/sql/function/list/list_grade_up.test +# description: Test list_grade_up function +# group: [list] + +statement ok +PRAGMA enable_verification; + +statement ok +PRAGMA default_order='ASC'; + +statement ok +PRAGMA default_null_order='NULLS FIRST'; + +query I +SELECT list_grade_up(NULL::INT[]); +---- +NULL + +query I +SELECT list_grade_up([NULL]) +---- +[1] + +query I +SELECT list_grade_up([]) +---- +[] + +query I +SELECT list_grade_up([]) WHERE 1 = 0 +---- + + +statement error +SELECT list_grade_up() +---- + +statement error +SELECT list_grade_up(*) +---- + +statement error +SELECT list_grade_up([1, 2], 2) +---- + +statement error +SELECT list_grade_up([1, 2], 'DESC', 2) +---- + +statement error +SELECT list_grade_up([1, 2], 2, 2) +---- + + +query I +SELECT list_grade_up([1, 2]) +---- +[1, 2] + +query I +SELECT list_grade_up([1, 3, NULL, 5, NULL, -5]) +---- +[3, 5, 6, 1, 2, 4] + +statement ok +CREATE TABLE integers AS SELECT LIST(i) AS i FROM range(1, 10, 1) t1(i) + +statement ok +INSERT INTO integers VALUES ([NULL]), ([]), (NULL::int[]) + +query I +SELECT list_grade_up(i) FROM integers +---- +[1, 2, 3, 4, 5, 6, 7, 8, 9] +[1] +[] +NULL + +# test custom ordering + +query I +SELECT list_grade_up([1, 3, NULL, 2], 'ASC') +---- +[3, 1, 4, 2] + +query I +SELECT list_grade_up([1, 3, NULL, 2], 'DESC') +---- +[3, 2, 4, 1] + +query I +SELECT list_grade_up([1, 3, NULL, 2], 'DESC', 'NULLS LAST') +---- +[2, 4, 1, 3] + +query I +SELECT list_grade_up([1, 3, NULL, 2], 'deSc', 'nuLls LAST') +---- +[2, 4, 1, 3] + +query I +SELECT list_grade_up([1, 3, NULL, 2], 'DESC', 'NULLS FIRST') +---- +[3, 2, 4, 1] + +query I +SELECT list_grade_up([1, 3, NULL, 2], 'ASC', 'NULLS FIRST') +---- +[3, 1, 4, 2] + +query I +SELECT list_grade_up([1, 3, NULL, 2], 'ASC', 'NULLS LAST') +---- +[1, 4, 2, 3] + + +# test all types + +# BOOLEAN +query I +SELECT list_grade_up([True, False, NULL, True, True, NULL]) +---- +[3, 6, 2, 1, 4, 5] + +query I +SELECT list_grade_up([NULL::BOOLEAN]) +---- +[1] + +# VARCHAR +query I +SELECT list_grade_up(['aa', 'a', 'cd', NULL, '42']) +---- +[4, 5, 2, 1, 3] + +query I +SELECT list_grade_up([NULL::VARCHAR]) +---- +[1] + +# INTEGER types +foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint + +query I +SELECT list_grade_up([1::${type}, NULL, 2::${type}]) +---- +[2, 1, 3] + +query I +SELECT list_grade_up([NULL::${type}]) +---- +[1] + +endloop + +# FLOAT, DOUBLE and DECIMAL types + +foreach type float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) + +statement ok +SELECT list_grade_up([1::${type}]) + +query I +SELECT list_grade_up([NULL::${type}]) +---- +[1] + +endloop + +# TEMPORAL types + +# date +query I +SELECT list_grade_up(['2021-08-20'::DATE]) +---- +[1] + +# time +query I +SELECT list_grade_up(['14:59:37'::TIME]) +---- +[1] + +# timestamp +query I +SELECT list_grade_up(['2021-08-20'::TIMESTAMP]) +---- +[1] + +# timestamp s +query I +SELECT list_grade_up(['2021-08-20'::TIMESTAMP_S]) +---- +[1] + +# timestamp ms +query I +SELECT list_grade_up(['2021-08-20 00:00:00.123'::TIMESTAMP_MS]) +---- +[1] + +# timestamp ns +query I +SELECT list_grade_up(['2021-08-20 00:00:00.123456'::TIMESTAMP_NS]) +---- +[1] + +# time with time zone +query I +SELECT list_grade_up(['14:59:37'::TIMETZ]) +---- +[1] + +# timestamp with time zone +query I +SELECT list_grade_up(['2021-08-20'::TIMESTAMPTZ]) +---- +[1] + +# interval +query I +SELECT list_grade_up([INTERVAL 1 YEAR]) +---- +[1] + + +foreach type date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval + +query I +SELECT list_grade_up([NULL::${type}]) +---- +[1] + +endloop + +# BLOB + +query I +SELECT list_grade_up(['{a: 1}'::BLOB, '{a: 3}'::BLOB]) +---- +[1, 2] + +query I +SELECT list_grade_up([NULL::BLOB]) +---- +[1] + + +# ENUMS + +statement ok +CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy') + +statement ok +CREATE TABLE enums (e mood[]) + +statement ok +INSERT INTO enums VALUES (['happy', 'sad']) + +query I +SELECT list_grade_up(e) FROM enums +---- +[2, 1] + +# NESTED types + +query I +SELECT list_grade_up([[1], [1, 2], NULL, [NULL], [], [1, 2, 3]]) +---- +[3, 5, 1, 2, 6, 4] + +query I +SELECT list_grade_up([{'a': 1}, {'a': 5}, {'a': 3}]) +---- +[1, 3, 2] + +statement ok +SELECT list_grade_up(range(3000)); + +# bug fixes test for #4591 + +query II +select k, list_grade_up(k,'DESC') from (values ([1,2,3,4])) as t(k); +---- +[1, 2, 3, 4] [4, 3, 2, 1] + +query IIII +select k, v, map(k,v), map(k,v)[(list_grade_up(k,'DESC'))[1]] from (values ([1,2,3,4],[2,3,4,5])) as t(k,v); +---- +[1, 2, 3, 4] [2, 3, 4, 5] {1=2, 2=3, 3=4, 4=5} [5] + +# bug fixes test for #5694 + +require parquet + +statement ok +CREATE TABLE stage AS SELECT * FROM 'data/parquet-testing/list_sort_segfault.parquet'; + +statement ok +CREATE TABLE health (a VARCHAR[]); + +statement ok +INSERT INTO health SELECT list_grade_up(string_to_array(s, ',')) AS a FROM stage; diff --git a/test/sql/function/list/list_has_any_and_has_all.test b/test/sql/function/list/list_has_any_and_has_all.test index d2484355e0fc..a4ec32b16bb1 100644 --- a/test/sql/function/list/list_has_any_and_has_all.test +++ b/test/sql/function/list/list_has_any_and_has_all.test @@ -151,21 +151,27 @@ NULL statement error select list_has_any(l1) from list_of_strings; +---- statement error select list_has_any(l1, l2, l1) from list_of_strings; +---- statement error select list_has_all(l1) from list_of_strings; +---- statement error select list_has_all(l1, l2, l1) from list_of_strings; +---- statement error select list_has_all([1, 2], 1); +---- statement error select list_has_any([[1,2], [2,4]], ['abc', 'def']); +---- # Test Function in Function @@ -225,6 +231,7 @@ select l1 && l2 from tbl; statement error select 'hello' && l1 from tbl; +---- query I select NULL && [NULL]; @@ -251,9 +258,11 @@ select l1 <@ l2 from tbl; statement error select 'hello' @> l1 from tbl; +---- statement error select 'hello' <@ l1 from tbl; +---- query I select l1 @> NULL from tbl; diff --git a/test/sql/function/list/list_inner_product.test b/test/sql/function/list/list_inner_product.test index 373e2553513c..0430f04b9854 100644 --- a/test/sql/function/list/list_inner_product.test +++ b/test/sql/function/list/list_inner_product.test @@ -40,4 +40,4 @@ SELECT list_inner_product([1, 2, 3]::${type}[], [1, 2, 3, 4]::${type}[]); list dimensions must be equal, got left length 3 and right length 4 -endloop \ No newline at end of file +endloop diff --git a/test/sql/function/list/list_intersect.test b/test/sql/function/list/list_intersect.test index b63a6212da8c..94f3e39605a2 100644 --- a/test/sql/function/list/list_intersect.test +++ b/test/sql/function/list/list_intersect.test @@ -5,7 +5,7 @@ foreach f list_intersect array_intersect query I -select ${f}([1,2,3], [2,3,4]); +select list_sort(${f}([1,2,3], [2,3,4])); ---- [2, 3] @@ -28,7 +28,7 @@ statement ok INSERT INTO list_data VALUES ([1,2,NULL], [2,3,NULL]); query I -select ${f}(l1, l2) from list_data; +select list_sort(${f}(l1, l2)) from list_data; ---- NULL NULL @@ -48,11 +48,10 @@ insert into list_of_list values (NULL, NULL); statement ok insert into list_of_list values ([[1 , 2, 3], NULL, [3, 2, 1]], [[ 2, 3, 4], NULL, [1, 2, 3]]); -query I +statement error select ${f}(l1, l2) from list_of_list; ---- -NULL -[[1, 2, 3]] +Not implemented statement ok drop table list_of_list; @@ -70,7 +69,7 @@ statement ok insert into list_of_strings values (['here is a very long long string that is def more than 12 bytes', 'and a shorty'], ['here is a very long long string that is def more than 12 bytes', 'here is a very long long string that is def more than 12 bytes', 'c', 'd']); query I -select ${f}(l1, l2) from list_of_strings; +select list_sort(${f}(l1, l2)) from list_of_strings; ---- NULL [b, c] @@ -85,12 +84,15 @@ endloop statement error select list_intersect(l1) from list_of_strings; +---- statement error select list_intersect(l1, l2, l1) from list_of_strings; +---- statement error select list_intersect([[1,2], [2,4]], ['abc', 'def']); +---- # Test Large Lists @@ -106,11 +108,6 @@ insert into large_lists values (range(3000), range(3000)); statement ok select list_intersect(l1, l2) from large_lists; -query I -select list_intersect(list_intersect([1,2,3,4], [4,5,6,7]), list_intersect([4,5,6,7],[1,2,3,4])); ----- -[4] - query I select list_intersect(list_filter([1,2,3,4], x -> x > 2), list_filter([4,5,6,7], x -> x > 2)); ---- @@ -127,9 +124,17 @@ execute q1(['abc', 'def'], ['def', 'ghi']); statement ok CREATE TABLE all_types AS SELECT * FROM test_all_types(); -foreach colname bool tinyint smallint int bigint hugeint utinyint usmallint uint ubigint date time timestamp timestamp_s timestamp_ms timestamp_ns time_tz timestamp_tz float double dec_4_1 dec_9_4 dec_18_6 dec38_10 uuid interval varchar blob small_enum medium_enum large_enum int_array double_array date_array timestamp_array timestamptz_array varchar_array nested_int_array struct struct_of_arrays array_of_structs map +foreach colname bool tinyint smallint int bigint utinyint usmallint uint ubigint date time timestamp timestamp_s timestamp_ms timestamp_ns time_tz timestamp_tz float double dec_4_1 dec_9_4 uuid interval varchar small_enum medium_enum large_enum statement ok select list_intersect(["${colname}"], ["${colname}"]) FROM all_types; endloop + +# issue 9942 + +query I +SELECT list_sort(list_intersect([1, 4, 3, 5, 5, 2, 2], [5, 5, 5, 1, 1, 2, 4])); +---- +[1, 2, 4, 5] + diff --git a/test/sql/function/list/list_position.test b/test/sql/function/list/list_position.test index 68f685d5ca58..73ab11f379ee 100644 --- a/test/sql/function/list/list_position.test +++ b/test/sql/function/list/list_position.test @@ -64,7 +64,7 @@ SELECT i, list_position(i,'aaaaaaaaaaaaaaaaaaaaaaaa') from STR_TEST; [aaaaaaaaaaaaaaaaaaaaaaaa] 1 query TT -SELECT i, list_position(i,0) from STR_TEST; +SELECT i, list_position(i, '0') from STR_TEST; ---- [a, b, c] 0 [d, a, e] 0 @@ -118,14 +118,21 @@ SELECT list_position([1.0,2.0,3.0],4) 0 -query T +statement error SELECT list_position([1.0,2.0,3.0], 'a') ---- +an explicit cast is required + +query I +SELECT list_position([1.0,2.0,3.0]::varchar[], 'a') +---- 0 # Not a list as input statement error SELECT list_position('a', 'a') +---- +No function matches query T SELECT list_position(NULL,NULL) @@ -222,15 +229,19 @@ SELECT list_position([NULL,7], 7) statement error SELECT list_position([[1,2,3],[1],[1,2,3]) +---- statement error SELECT list_position([[1,2,3],[1],[1,2,3]]) +---- statement error SELECT list_position(1) +---- statement error SELECT list_position(1,1) +---- statement ok PRAGMA debug_force_external=true @@ -247,7 +258,7 @@ statement ok INSERT INTO test0 VALUES ([2]), ([1]), ([1, 2]), ([]), ([2, 2]), ([NULL]), ([2, 3]) query T -SELECT list_position(i,1) from test0 +SELECT list_position(i,1::${type}) from test0 ---- 0 1 diff --git a/test/sql/function/list/list_resize_error.test b/test/sql/function/list/list_resize_error.test index 2587cf91baf3..d64ed0525419 100644 --- a/test/sql/function/list/list_resize_error.test +++ b/test/sql/function/list/list_resize_error.test @@ -15,12 +15,15 @@ foreach q q1 q2 statement error execute ${q}([1, 2, 3], -1); +---- statement error execute ${q}([1, 2, 3], 'a'); +---- statement error execute ${q}('cici n est pas een list', 2); +---- statement error execute ${q}([1, 2, 3], 'huh'); @@ -29,9 +32,11 @@ Conversion Error: Could not convert string 'huh' to UINT64 statement error execute ${q}(); +---- statement error execute ${q}([1, 2, 3]); +---- endloop @@ -50,6 +55,7 @@ Conversion Error: Could not convert string 'abc' to INT32 statement error execute ${q}([1, 2, 3], 2, 3, 4); +---- statement error execute ${q}([1, 2, 3], 1, [1, 2, 3]); diff --git a/test/sql/function/list/list_resize_types.test_slow b/test/sql/function/list/list_resize_types.test_slow index cec76bfaedf1..55bef2483ab8 100644 --- a/test/sql/function/list/list_resize_types.test_slow +++ b/test/sql/function/list/list_resize_types.test_slow @@ -40,7 +40,7 @@ select list_resize(c, 1) from test_vector_types(NULL::INT[], false) t(c); statement ok CREATE TABLE all_types AS SELECT * FROM test_all_types(); -foreach colname bool tinyint smallint int bigint hugeint utinyint usmallint uint ubigint date time timestamp timestamp_s timestamp_ms timestamp_ns time_tz timestamp_tz float double dec_4_1 dec_9_4 dec_18_6 dec38_10 uuid interval varchar blob small_enum medium_enum large_enum int_array double_array date_array timestamp_array timestamptz_array varchar_array nested_int_array struct struct_of_arrays array_of_structs map +foreach colname bool tinyint smallint int bigint hugeint utinyint usmallint uint ubigint uhugeint date time timestamp timestamp_s timestamp_ms timestamp_ns time_tz timestamp_tz float double dec_4_1 dec_9_4 dec_18_6 dec38_10 uuid interval varchar blob small_enum medium_enum large_enum int_array double_array date_array timestamp_array timestamptz_array varchar_array nested_int_array struct struct_of_arrays array_of_structs map statement ok select list_resize(["${colname}"], 2) FROM all_types; diff --git a/test/sql/function/list/list_reverse.test b/test/sql/function/list/list_reverse.test index 88067f7e14e3..48381a6c525f 100644 --- a/test/sql/function/list/list_reverse.test +++ b/test/sql/function/list/list_reverse.test @@ -115,12 +115,15 @@ select list_sort((list), 'desc') == list from (select ${f}(test_vector) as list statement error SELECT ${f}() +---- statement error SELECT ${f}(42) +---- statement error SELECT ${f} ([1, 3, 2, 42, 117,, NULL]) +---- statement ok CREATE TABLE palindromes (s VARCHAR); @@ -144,7 +147,7 @@ tattarrattat statement ok DROP TABLE palindromes; -query I +query I rowsort WITH example AS ( SELECT [1, 2, 3] AS arr UNION ALL SELECT [4, 5] AS arr UNION ALL @@ -167,12 +170,15 @@ foreach f list_reverse array_reverse statement error SELECT ${f}() +---- statement error SELECT ${f}(*) +---- statement error SELECT ${f}([1, 2], 2) +---- endloop @@ -184,6 +190,7 @@ foreach type boolean varchar tinyint smallint integer bigint hugeint utinyint us statement error SELECT ${f}(NULL::${type}) +---- endloop diff --git a/test/sql/function/list/list_select.test b/test/sql/function/list/list_select.test new file mode 100644 index 000000000000..78986e51df08 --- /dev/null +++ b/test/sql/function/list/list_select.test @@ -0,0 +1,306 @@ +# name: test/sql/function/list/list_select.test +# description: Test list_select function +# group: [list] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE integers (i int[]) + +statement ok +INSERT INTO integers VALUES ([1,2,3]), ([4,5,6]), (NULL), ([]), ([NULL]), ([4]) + +statement ok +CREATE TABLE selections (j int[]) + +statement ok +INSERT INTO selections VALUES ([2,1]), ([3,1,3]), ([]), (NULL) + +# standard test + +query I +SELECT list_select([], []) +---- +[] + +query I +SELECT list_select(NULL, []) +---- +NULL + +query I +SELECT list_select([], NULL) +---- +NULL + +query I +SELECT list_select([1,2,3], [1,2,3]) +---- +[1, 2, 3] + +query I +SELECT list_select([1,2,3], [3,2,3,3]) +---- +[3, 2, 3, 3] + +query I +SELECT list_select([1,2,3], [1,2]) +---- +[1, 2] + +# selections out of bounds + +query I +SELECT list_select([1,2,3], [3,2,1,4]) +---- +[3, 2, 1, NULL] + +query I +SELECT list_select([1,2,3], [3,2,3,-1]) +---- +[3, 2, 3, NULL] + +# queries with multiple rows + +query I +SELECT list_select(i, [1,2]) FROM integers +---- +[1, 2] +[4, 5] +NULL +[NULL, NULL] +[NULL, NULL] +[4, NULL] + +query I +SELECT list_select(i, j) FROM integers, selections ORDER BY i, j; +---- +[] +[NULL, NULL] +[NULL, NULL, NULL] +NULL +[] +[2, 1] +[3, 1, 3] +NULL +[] +[NULL, 4] +[NULL, 4, NULL] +NULL +[] +[5, 4] +[6, 4, 6] +NULL +[] +[NULL, NULL] +[NULL, NULL, NULL] +NULL +NULL +NULL +NULL +NULL + +statement error +SELECT list_select([1,2,3], [NULL]) +---- +NULLs are not allowed as list elements in the second input parameter. + +query I +SELECT list_select(i, [2,3,4]) FROM integers +---- +[2, 3, NULL] +[5, 6, NULL] +NULL +[NULL, NULL, NULL] +[NULL, NULL, NULL] +[NULL, NULL, NULL] + +# test all types + +# BOOLEAN +query I +SELECT list_select([True, False, NULL, True, True, NULL], [1,3,2]) +---- +[true, NULL, false] + +query I +SELECT list_select([NULL::BOOLEAN], [1]) +---- +[NULL] + +# VARCHAR +query I +SELECT list_select(['aa', 'a', 'cd', NULL, '42'], [4,5,2,1,3]) +---- +[NULL, 42, a, aa, cd] + +query I +SELECT list_select([NULL::VARCHAR], [1]) +---- +[NULL] + +# INTEGER types +foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint + +query I +SELECT list_select([1::${type}, NULL, 2::${type}], [2,1,3]) +---- +[NULL, 1, 2] + +query I +SELECT list_select([NULL::${type}], [1]) +---- +[NULL] + +endloop + +# FLOAT, DOUBLE and DECIMAL types + +foreach type float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) + +statement ok +SELECT list_select([1::${type}], [2,1]) + +query I +SELECT list_select([NULL::${type}], [1]) +---- +[NULL] + +endloop + +# TEMPORAL types + +# date +query I +SELECT list_select(['2021-08-20'::DATE], [1]) +---- +[2021-08-20] + +# time +query I +SELECT list_select(['14:59:37'::TIME], [1]) +---- +[14:59:37] + +# timestamp +query I +SELECT list_select(['2021-08-20'::TIMESTAMP], [1]) +---- +[2021-08-20 00:00:00] + +# timestamp s +query I +SELECT list_select(['2021-08-20'::TIMESTAMP_S], [1]) +---- +[2021-08-20 00:00:00] + +# timestamp ms +query I +SELECT list_select(['2021-08-20 00:00:00.123'::TIMESTAMP_MS], [1]) +---- +[2021-08-20 00:00:00.123] + +# timestamp ns +query I +SELECT list_select(['2021-08-20 00:00:00.123456'::TIMESTAMP_NS], [1]) +---- +[2021-08-20 00:00:00.123456] + +# time with time zone +query I +SELECT list_select(['14:59:37'::TIMETZ], [1]) +---- +[14:59:37+00] + +# timestamp with time zone +query I +SELECT list_select(['2021-08-20'::TIMESTAMPTZ], [1]) +---- +[2021-08-20 00:00:00+00] + +# interval +query I +SELECT list_select([INTERVAL 1 YEAR], [1]) +---- +[1 year] + +foreach type date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval + +query I +SELECT list_select([NULL::${type}], [1]) +---- +[NULL] + +endloop + +# BLOB + +query I +SELECT list_select(['{a: 1}'::BLOB, '{a: 3}'::BLOB], [1,2]) +---- +[{a: 1}, {a: 3}] + +query I +SELECT list_select([NULL::BLOB], [1]) +---- +[NULL] + +# ENUMS + +statement ok +CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy') + +statement ok +CREATE TABLE enums (e mood[]) + +statement ok +INSERT INTO enums VALUES (['happy', 'sad']) + +query I +SELECT list_select(e, [2,1]) FROM enums +---- +[sad, happy] + +# NESTED types + +query I +SELECT list_select([[1], [1, 2], NULL, [NULL], [], [1, 2, 3]], [3,5,1,2,6,4]) +---- +[NULL, [], [1], [1, 2], [1, 2, 3], [NULL]] + +query I +SELECT list_select([{'a': 1}, {'a': 5}, {'a': 3}], [1,3,2]) +---- +[{'a': 1}, {'a': 3}, {'a': 5}] + +# very large lists + +statement ok +CREATE TABLE lists AS SELECT range % 4 g, list(range) l FROM range(10000) GROUP BY range % 4; + +query T +with cte0 as ( + select g, list_select(l, range(5)) l from lists +), cte1 as ( + select g, unnest(l) i from cte0 +) +select count(*) +from cte1 +---- +20 + +statement ok +SELECT list_select(range(3000), range(3000)) + +query I +SELECT i FROM integers WHERE [4] = list_select(i, [1]) +---- +[4, 5, 6] +[4] + + +query I +SELECT (list_select([1,2,3], [2,3]))[1] +---- +2 diff --git a/test/sql/function/list/list_sort.test b/test/sql/function/list/list_sort.test index 98ce7894ea84..ecc3faf10b7b 100644 --- a/test/sql/function/list/list_sort.test +++ b/test/sql/function/list/list_sort.test @@ -42,32 +42,39 @@ foreach func_name list_sort list_reverse_sort statement error SELECT ${func_name}() +---- statement error SELECT ${func_name}(*) +---- statement error SELECT ${func_name}([1, 2], 2) +---- statement error SELECT ${func_name}([1, 2], 'DESC', 2) +---- statement error SELECT ${func_name}([1, 2], 2, 2) +---- endloop statement error SELECT list_sort([1, 2], 'NULLS FIRST') +---- # test incorrect parameter type foreach func_name list_sort list_reverse_sort -foreach type boolean varchar tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval blob +foreach type boolean varchar tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint uhugeint float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval blob statement error SELECT ${func_name}(NULL::${type}) +---- endloop @@ -129,18 +136,23 @@ NULL statement error SELECT list_sort(l, l, l) +---- statement error SELECT list_sort(l, 'ASC', l) +---- statement error SELECT list_reverse_sort(l, l) +---- statement error SELECT list_reverse_sort(l, 'DESC') +---- statement error SELECT list_reverse_sort(l, 'DESC', 'NULLS FIRST') +---- # test aliases @@ -231,7 +243,7 @@ SELECT list_sort([NULL::VARCHAR]) [NULL] # INTEGER types -foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint +foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint uhugeint query I SELECT list_sort([1::${type}, NULL, 2::${type}]) diff --git a/test/sql/function/list/list_unique.test b/test/sql/function/list/list_unique.test index 95e5298e9319..7652779cd688 100644 --- a/test/sql/function/list/list_unique.test +++ b/test/sql/function/list/list_unique.test @@ -27,19 +27,23 @@ SELECT list_unique([]) WHERE 1 = 0 statement error SELECT list_unique() +---- statement error SELECT list_unique(*) +---- statement error SELECT list_unique([1, 2], 2) +---- # test incorrect parameter type -foreach type boolean varchar tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval blob +foreach type boolean varchar tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint uhugeint float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval blob statement error SELECT list_unique(NULL::${type}) +---- endloop @@ -110,7 +114,7 @@ SELECT list_unique([NULL::VARCHAR]) 0 # INTEGER types -foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint +foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint uhugeint query I SELECT list_unique([1::${type}, NULL, 1::${type}]) @@ -222,4 +226,4 @@ SELECT list_unique(e) FROM enums query I SELECT list_unique(['a', 'b、c', 'a']) ---- -2 \ No newline at end of file +2 diff --git a/test/sql/function/list/list_where.test b/test/sql/function/list/list_where.test new file mode 100644 index 000000000000..d70e7eca7a68 --- /dev/null +++ b/test/sql/function/list/list_where.test @@ -0,0 +1,223 @@ +# name: test/sql/function/list/list_where.test +# description: Test list_where function +# group: [list] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE integers (i int[]) + +statement ok +INSERT INTO integers VALUES ([1,2,3]), ([4,5,6]) + +statement ok +CREATE TABLE selections (j boolean[]) + +statement ok +INSERT INTO selections VALUES ([true, false, true]), ([false, true, false]) + +# normal test cases + +query I +SELECT list_where([0, 1, 2], [true, false, false]) +---- +[0] + +query I +SELECT list_where(i, [true, false, true]) FROM integers +---- +[1, 3] +[4, 6] + +query I +SELECT list_where(i, j) FROM integers, selections order by all +---- +[1, 3] +[2] +[4, 6] +[5] + +statement error +SELECT list_where([1,2,3], [True, NULL, FALSE]); +---- +NULLs are not allowed as list elements in the second input parameter. + +query I +SELECT list_where([1,2,3], [True, True, False, False]); +---- +[1, 2] + +query I +SELECT list_where([1,2,3], [True, False]); +---- +[1] + +# very large lists + +statement ok +CREATE TABLE lists AS SELECT range % 4 g, list(range) l FROM range(10000) GROUP BY range % 4; + +statement ok +CREATE TABLE bools AS SELECT range % 4 a, list((range % 2):: bool) s FROM range(10000) GROUP BY range % 4; + +statement ok +select g, list_where(l, s) l from lists, bools + +# test all types + +# BOOLEAN +query I +SELECT list_where([true, false, NULL, true, true, NULL], [true, false, true, true, true, true]) +---- +[true, NULL, true, true, NULL] + +query I +SELECT list_where([NULL::BOOLEAN], [true]) +---- +[NULL] + +# VARCHAR +query I +SELECT list_where(['aa', 'a', 'cd', NULL, '42'], [true, true, false, false, false]) +---- +[aa, a] + +query I +SELECT list_where([NULL::VARCHAR], [true]) +---- +[NULL] + +# INTEGER types +foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint + +query I +SELECT list_where([1::${type}, NULL, 2::${type}], [true, true, true]) +---- +[1, NULL, 2] + +query I +SELECT list_where([NULL::${type}], [true]) +---- +[NULL] + +endloop + +# FLOAT, DOUBLE and DECIMAL types + +foreach type float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) + +statement ok +SELECT list_where([1::${type}], [true]) + +query I +SELECT list_where([NULL::${type}], [true]) +---- +[NULL] + +endloop + +# TEMPORAL types + +# date +query I +SELECT list_where(['2021-08-20'::DATE], [true]) +---- +[2021-08-20] + +# time +query I +SELECT list_where(['14:59:37'::TIME], [true]) +---- +[14:59:37] + +# timestamp +query I +SELECT list_where(['2021-08-20'::TIMESTAMP], [true]) +---- +[2021-08-20 00:00:00] + +# timestamp s +query I +SELECT list_where(['2021-08-20'::TIMESTAMP_S], [true]) +---- +[2021-08-20 00:00:00] + +# timestamp ms +query I +SELECT list_where(['2021-08-20 00:00:00.123'::TIMESTAMP_MS], [true]) +---- +[2021-08-20 00:00:00.123] + +# timestamp ns +query I +SELECT list_where(['2021-08-20 00:00:00.123456'::TIMESTAMP_NS], [true]) +---- +[2021-08-20 00:00:00.123456] + +# time with time zone +query I +SELECT list_where(['14:59:37'::TIMETZ], [true]) +---- +[14:59:37+00] + +# timestamp with time zone +query I +SELECT list_where(['2021-08-20'::TIMESTAMPTZ], [true]) +---- +[2021-08-20 00:00:00+00] + +# interval +query I +SELECT list_where([INTERVAL 1 YEAR], [true]) +---- +[1 year] + +foreach type date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval + +query I +SELECT list_where([NULL::${type}], [true]) +---- +[NULL] + +endloop + +# BLOB + +query I +SELECT list_where(['{a: 1}'::BLOB, '{a: 3}'::BLOB], [true, false]) +---- +[{a: 1}] + +query I +SELECT list_where([NULL::BLOB], [true]) +---- +[NULL] + +# ENUMS + +statement ok +CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy') + +statement ok +CREATE TABLE enums (e mood[]) + +statement ok +INSERT INTO enums VALUES (['happy', 'sad']) + +query I +SELECT list_where(e, [false, true]) FROM enums +---- +[sad] + +# NESTED types + +query I +SELECT list_where([[1], [1, 2], NULL, [NULL], [], [1, 2, 3]], [true, false, false, true, true, false]) +---- +[[1], [NULL], []] + +query I +SELECT list_where([{'a': 1}, {'a': 5}, {'a': 3}], [true, true, true]) +---- +[{'a': 1}, {'a': 5}, {'a': 3}] diff --git a/test/sql/function/list/list_zip.test b/test/sql/function/list/list_zip.test new file mode 100644 index 000000000000..b6565d081716 --- /dev/null +++ b/test/sql/function/list/list_zip.test @@ -0,0 +1,293 @@ +# name: test/sql/function/list/list_zip.test +# description: Test list_zip function +# group: [list] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE integers (i int[]) + +statement ok +INSERT INTO integers VALUES ([1,2,3]), ([4,5,6]) + +statement ok +CREATE TABLE bools (b bool) + +statement ok +INSERT INTO bools VALUES (false), (true) + +statement ok +CREATE TABLE integers2 (j int[]) + +statement ok +INSERT INTO integers2 VALUES ([]), (NULL) + +# normal use of list_zip +query I +SELECT list_zip([1,2,3]) +---- +[(1), (2), (3)] + +query I +SELECT list_zip([1,2,3], [2,3,4], [3,4,5], []); +---- +[(1, 2, 3, NULL), (2, 3, 4, NULL), (3, 4, 5, NULL)] + +query I +SELECT list_zip([1,2,3], [1,2,3]) +---- +[(1, 1), (2, 2), (3, 3)] + +query I +SELECT list_zip([1,2,3], [1,2]) +---- +[(1, 1), (2, 2), (3, NULL)] + +query I +SELECT list_zip([1,2], [1,2,3]) +---- +[(1, 1), (2, 2), (NULL, 3)] + +query I +SELECT list_zip([1,2,3], NULL) +---- +[(1, NULL), (2, NULL), (3, NULL)] + +query I +SELECT list_zip([1,2,3], []) +---- +[(1, NULL), (2, NULL), (3, NULL)] + +query I +SELECT list_zip([1,2,3], NULL, true) +---- +[] + +query I +SELECT list_zip([1,2,3], [], true) +---- +[] + +query I +SELECT list_zip([1,2,3], [2,3,4], [3,4,5], [], true); +---- +[] + +query I +SELECT list_zip(a.i, b.i) as zipped_list FROM integers AS a, integers as b order by all; +---- +[(1, 1), (2, 2), (3, 3)] +[(1, 4), (2, 5), (3, 6)] +[(4, 1), (5, 2), (6, 3)] +[(4, 4), (5, 5), (6, 6)] + +query I +SELECT list_zip(a.i, b.i, b.i) FROM integers AS a, integers AS b order by all +---- +[(1, 1, 1), (2, 2, 2), (3, 3, 3)] +[(1, 4, 4), (2, 5, 5), (3, 6, 6)] +[(4, 1, 1), (5, 2, 2), (6, 3, 3)] +[(4, 4, 4), (5, 5, 5), (6, 6, 6)] + +query I +SELECT list_zip([1,2,3], true) +---- +[(1), (2), (3)] + +query I +SELECT list_zip([1,2,3], [1,2,3], true) +---- +[(1, 1), (2, 2), (3, 3)] + +query I +SELECT list_zip([1,2,3], [1,2], true) +---- +[(1, 1), (2, 2)] + +query I +SELECT list_zip([1,2], [1,2,3], true) +---- +[(1, 1), (2, 2)] + +query I +SELECT list_zip(i, j, b) FROM integers, integers2, bools order by all desc +---- +[(4, NULL), (5, NULL), (6, NULL)] +[(4, NULL), (5, NULL), (6, NULL)] +[(1, NULL), (2, NULL), (3, NULL)] +[(1, NULL), (2, NULL), (3, NULL)] +[] +[] +[] +[] + +# very large lists + +statement ok +CREATE TABLE lists AS SELECT range % 4 g, list(range) l FROM range(10000) GROUP BY range % 4; + +statement ok +select g, list_zip(l, b) l from lists, bools + +statement ok +SELECT list_zip([1,2,3], [true, false, NULL], [{'list_1': 1}, {'list_1': 2}, {'list_1': 3}], ['a', 'b', 'c'], ['2021-08-20'::DATE, '2021-08-21'::DATE, '2021-08-22'::DATE], [1.0, 2.0, 3.0], [NULL, NULL, NULL]) + +# test all types + +# BOOLEAN +query I +SELECT list_zip([true, false, NULL]) +---- +[(true), (false), (NULL)] + +query I +SELECT list_zip([NULL::BOOLEAN, true]) +---- +[(NULL), (true)] + +# VARCHAR +query I +SELECT list_zip(['aa', 'a']) +---- +[(aa), (a)] + +query I +SELECT list_zip([NULL::VARCHAR]) +---- +[(NULL)] + +# INTEGER types +foreach type tinyint smallint integer bigint hugeint utinyint usmallint uinteger ubigint + +query I +SELECT list_zip([1::${type}, NULL, 2::${type}]) +---- +[(1), (NULL), (2)] + +query I +SELECT list_zip([NULL::${type}]) +---- +[(NULL)] + +endloop + +# FLOAT, DOUBLE and DECIMAL types + +foreach type float double decimal(4,1) decimal(9,4) decimal(18,6) decimal(38,10) + +statement ok +SELECT list_zip([1::${type}]) + +query I +SELECT list_zip([NULL::${type}]) +---- +[(NULL)] + +endloop + +# TEMPORAL types + +# date +query I +SELECT list_zip(['2021-08-20'::DATE]) +---- +[(2021-08-20)] + +# time +query I +SELECT list_zip(['14:59:37'::TIME]) +---- +[(14:59:37)] + +# timestamp +query I +SELECT list_zip(['2021-08-20'::TIMESTAMP]) +---- +[(2021-08-20 00:00:00)] + +# timestamp s +query I +SELECT list_zip(['2021-08-20'::TIMESTAMP_S]) +---- +[(2021-08-20 00:00:00)] + +# timestamp ms +query I +SELECT list_zip(['2021-08-20 00:00:00.123'::TIMESTAMP_MS]) +---- +[(2021-08-20 00:00:00.123)] + +# timestamp ns +query I +SELECT list_zip(['2021-08-20 00:00:00.123456'::TIMESTAMP_NS]) +---- +[(2021-08-20 00:00:00.123456)] + +# time with time zone +query I +SELECT list_zip(['14:59:37'::TIMETZ]) +---- +[(14:59:37+00)] + +# timestamp with time zone +query I +SELECT list_zip(['2021-08-20'::TIMESTAMPTZ]) +---- +[(2021-08-20 00:00:00+00)] + +# interval +query I +SELECT list_zip([INTERVAL 1 YEAR]) +---- +[(1 year)] + +foreach type date time timestamp timestamp_s timestamp_ms timestamp_ns timetz timestamptz interval + +query I +SELECT list_zip([NULL::${type}]) +---- +[(NULL)] + +endloop + +# BLOB + +query I +SELECT list_zip(['{a: 1}'::BLOB, '{a: 3}'::BLOB]) +---- +[({a: 1}), ({a: 3})] + +query I +SELECT list_zip([NULL::BLOB]) +---- +[(NULL)] + +# ENUMS + +statement ok +CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy') + +statement ok +CREATE TABLE enums (e mood[]) + +statement ok +INSERT INTO enums VALUES (['happy', 'sad']) + +query I +SELECT list_zip(e) FROM enums +---- +[(happy), (sad)] + +# NESTED types + +query I +SELECT list_zip([[1], [1, 2], NULL]) +---- +[([1]), ([1, 2]), (NULL)] + +query I +SELECT list_zip([{'a': 1}, {'a': 5}, {'a': 3}]) +---- +[({'a': 1}), ({'a': 5}), ({'a': 3})] + diff --git a/test/sql/function/nested/array_extract_unnamed_struct.test b/test/sql/function/nested/array_extract_unnamed_struct.test new file mode 100644 index 000000000000..31c8d6e80d46 --- /dev/null +++ b/test/sql/function/nested/array_extract_unnamed_struct.test @@ -0,0 +1,51 @@ +# name: test/sql/function/nested/array_extract_unnamed_struct.test +# description: Test array extract on unnamed structs +# group: [nested] + +statement ok +PRAGMA enable_verification + +statement error +SELECT (ROW(42, 84))['element'] +---- +cannot be used on an unnamed struct + +query I +SELECT (ROW(42, 84))[1] +---- +42 + +query I +SELECT (ROW(42, 84))[2] +---- +84 + +query II +SELECT UNNEST(ROW(42, 84)) +---- +42 84 + +statement error +SELECT (ROW(42, 84))[0] +---- +out of range + +statement error +SELECT (ROW(42, 84))[9999] +---- +out of range + +statement error +SELECT (ROW(42, 84))[-1] +---- +out of range + +statement error +SELECT (ROW(42, 84))[9223372036854775807] +---- +out of range + +statement error +SELECT (ROW(42, 84))[(-9223372036854775808)::BIGINT] +---- +out of range diff --git a/test/sql/function/nested/test_struct_insert.test b/test/sql/function/nested/test_struct_insert.test index c83a662862ec..b732c91b972c 100644 --- a/test/sql/function/nested/test_struct_insert.test +++ b/test/sql/function/nested/test_struct_insert.test @@ -29,12 +29,16 @@ select struct_insert({'a': 1, 'b': 'abc', 'c': true}, d := {'a': 'new stuff'}) # test incorrect usage statement error select struct_insert() +---- statement error select struct_insert({a: 1, b: 2}) +---- statement error select struct_insert(123, a := 1) +---- statement error select struct_insert({a: 1, b: 2}, a := 2) +---- diff --git a/test/sql/function/numeric/test_even.test b/test/sql/function/numeric/test_even.test index bcaab1b28757..c82af0fc20d6 100644 --- a/test/sql/function/numeric/test_even.test +++ b/test/sql/function/numeric/test_even.test @@ -56,6 +56,7 @@ NULL statement error SELECT even('abcd') +---- # check bound query I diff --git a/test/sql/function/numeric/test_factorial.test b/test/sql/function/numeric/test_factorial.test index 1a4416837b10..0308880ae347 100644 --- a/test/sql/function/numeric/test_factorial.test +++ b/test/sql/function/numeric/test_factorial.test @@ -49,3 +49,4 @@ SELECT factorial(30); # overflow statement error SELECT factorial(40); +---- diff --git a/test/sql/function/numeric/test_gamma.test b/test/sql/function/numeric/test_gamma.test index f4632678d365..c2315827e429 100644 --- a/test/sql/function/numeric/test_gamma.test +++ b/test/sql/function/numeric/test_gamma.test @@ -12,6 +12,7 @@ NULL statement error SELECT gamma(0) +---- query I SELECT gamma(-1) @@ -51,6 +52,7 @@ SELECT gamma(2::hugeint) statement error SELECT gamma('asdf') +---- query I SELECT lgamma(NULL) @@ -59,6 +61,7 @@ NULL statement error SELECT lgamma(0) +---- query I SELECT lgamma(-1) @@ -102,4 +105,5 @@ SELECT lgamma(2::hugeint) 0 statement error -SELECT lgamma('asdf') \ No newline at end of file +SELECT lgamma('asdf') +---- diff --git a/test/sql/function/numeric/test_gcd_lcm.test b/test/sql/function/numeric/test_gcd_lcm.test index bc22070400dd..9a7a68745a5e 100644 --- a/test/sql/function/numeric/test_gcd_lcm.test +++ b/test/sql/function/numeric/test_gcd_lcm.test @@ -30,6 +30,7 @@ NULL statement error SELECT gcd(42, 'abcd') +---- query I select lcm(120,25); @@ -59,6 +60,8 @@ NULL statement error SELECT lcm(42, 'abcd') +---- statement error select lcm(4200000000000000000,5700000000000000000) +---- diff --git a/test/sql/function/numeric/test_invalid_math.test b/test/sql/function/numeric/test_invalid_math.test index a9aca5df3b3a..817fc026d371 100644 --- a/test/sql/function/numeric/test_invalid_math.test +++ b/test/sql/function/numeric/test_invalid_math.test @@ -8,25 +8,32 @@ PRAGMA enable_verification # cannot take log of negative number or zero statement error SELECTl log(0); +---- statement error SELECTl log(-1); +---- statement error SELECTl ln(0); +---- statement error SELECTl ln(-1); +---- statement error SELECTl log10(0); +---- statement error SELECTl log10(-1); +---- # cannot take square root of a negative number statement error SELECTl sqrt(-1); +---- query I SELECT SQRT(0) diff --git a/test/sql/function/numeric/test_nextafter.test b/test/sql/function/numeric/test_nextafter.test index 80b823456300..7870371b84d5 100644 --- a/test/sql/function/numeric/test_nextafter.test +++ b/test/sql/function/numeric/test_nextafter.test @@ -7,9 +7,11 @@ PRAGMA enable_verification statement error select nextafter() +---- statement error select nextafter('bla','bla') +---- query I select nextafter(NULL,1) @@ -87,4 +89,4 @@ select nextafter(a, b) from test_twoc 9.999999 20.000002 29.999998 -40.000004 \ No newline at end of file +40.000004 diff --git a/test/sql/function/numeric/test_pg_math.test b/test/sql/function/numeric/test_pg_math.test index e49b6a1cd02c..877961b285e8 100644 --- a/test/sql/function/numeric/test_pg_math.test +++ b/test/sql/function/numeric/test_pg_math.test @@ -104,18 +104,23 @@ select log(2, 64) statement error select log(0, 64) +---- statement error select log(2, 0) +---- statement error select log(-1, 64) +---- statement error select log(2, -1) +---- statement error select log(1, 64) +---- query I select log(2, 1) @@ -155,9 +160,12 @@ NaN statement error select log('-Inf'::DOUBLE, 64) +---- statement error select log(64, '-Inf'::DOUBLE) +---- statement error select log(2, -1) +---- diff --git a/test/sql/function/numeric/test_random.test b/test/sql/function/numeric/test_random.test index f6e9820c51a1..889aa10e6c0f 100644 --- a/test/sql/function/numeric/test_random.test +++ b/test/sql/function/numeric/test_random.test @@ -5,8 +5,40 @@ # we need to be a bit more clever here for testing random # it's very unlikely that three random variables are exactly equivalent -require skip_reload +# test random in lambdas and ranges +statement ok +CREATE TABLE t1 AS SELECT [random() for a IN range(1)] FROM range(2); +statement ok +CREATE TABLE t2 AS SELECT random() FROM range(2); + +statement ok +CREATE TABLE t3 AS SELECT [random()] FROM range(2); + +statement ok +CREATE TABLE t4 AS SELECT [random() + range * 0 for a IN range(1)] FROM range(2); + +query I +SELECT count(*) FROM t1 WHERE (SELECT min(#1) FROM t1 ) == (SELECT max(#1) FROM t1); +---- +0 + +query I +SELECT count(*) FROM t2 WHERE (SELECT min(#1) FROM t2 ) == (SELECT max(#1) FROM t2); +---- +0 + +query I +SELECT count(*) FROM t3 WHERE (SELECT min(#1) FROM t3 ) == (SELECT max(#1) FROM t3); +---- +0 + +query I +SELECT count(*) FROM t4 WHERE (SELECT min(#1) FROM t4 ) == (SELECT max(#1) FROM t4); +---- +0 + +require skip_reload statement ok BEGIN TRANSACTION @@ -57,9 +89,11 @@ SELECT COUNT(*) FROM (SELECT a FROM t1 JOIN t2 ON (a=b) JOIN t3 ON (b=c)) s1 # incorrect usage of setseed statement error select setseed(1.1) +---- statement error select setseed(-1.1) +---- # we can use setseed with a table as well statement ok diff --git a/test/sql/function/numeric/test_round_even.test b/test/sql/function/numeric/test_round_even.test index 93ec299c04d3..4ad9ea8ff0fa 100644 --- a/test/sql/function/numeric/test_round_even.test +++ b/test/sql/function/numeric/test_round_even.test @@ -5,9 +5,6 @@ statement ok PRAGMA enable_verification -statement ok -PRAGMA disable_optimizer - query I SELECT roundBankers(45, -1) ---- diff --git a/test/sql/function/numeric/test_trigo.test b/test/sql/function/numeric/test_trigo.test index 823a1c2f8d1f..9f7b9df63932 100644 --- a/test/sql/function/numeric/test_trigo.test +++ b/test/sql/function/numeric/test_trigo.test @@ -340,6 +340,7 @@ SELECT cast(ACOS(n::double)*1000 as bigint) FROM numbers WHERE n between -1 and statement error SELECT cast(ASIN(n)*1000 as bigint) FROM numbers ORDER BY n +---- query I SELECT cast(COT(n::tinyint)*1000 as bigint) FROM numbers WHERE n > 0.1 OR N < -0.1 ORDER BY n diff --git a/test/sql/function/numeric/test_trunc.test b/test/sql/function/numeric/test_trunc.test index feb8f074c726..2b171f266552 100644 --- a/test/sql/function/numeric/test_trunc.test +++ b/test/sql/function/numeric/test_trunc.test @@ -69,7 +69,7 @@ select trunc(b::${signed}) from truncme endloop # Unsigned integers should be a NOP -foreach unsigned UTINYINT USMALLINT UINTEGER UBIGINT +foreach unsigned UTINYINT USMALLINT UINTEGER UBIGINT UHUGEINT query R select trunc(15::${unsigned}) diff --git a/test/sql/function/numeric/test_type_resolution.test b/test/sql/function/numeric/test_type_resolution.test index e1efa695397f..31b8dc2491a2 100644 --- a/test/sql/function/numeric/test_type_resolution.test +++ b/test/sql/function/numeric/test_type_resolution.test @@ -37,6 +37,7 @@ SELECT 1::TINYINT + 1::DOUBLE statement error SELECT 1::TINYINT + 1::VARCHAR +---- query I SELECT 1::SMALLINT + 1::TINYINT @@ -70,6 +71,7 @@ SELECT 1::SMALLINT + 1::DOUBLE statement error SELECT 1::SMALLINT + 1::VARCHAR +---- query I SELECT 1::INTEGER + 1::TINYINT @@ -103,6 +105,7 @@ SELECT 1::INTEGER + 1::DOUBLE statement error SELECT 1::INTEGER + 1::VARCHAR +---- query I SELECT 1::BIGINT + 1::TINYINT @@ -136,6 +139,7 @@ SELECT 1::BIGINT + 1::DOUBLE statement error SELECT 1::BIGINT + 1::VARCHAR +---- query R SELECT 1::REAL + 1::TINYINT @@ -169,6 +173,7 @@ SELECT 1::REAL + 1::DOUBLE statement error SELECT 1::REAL + 1::VARCHAR +---- query R SELECT 1::DOUBLE + 1::TINYINT @@ -202,4 +207,5 @@ SELECT 1::DOUBLE + 1::DOUBLE statement error SELECT 1::DOUBLE + 1::VARCHAR +---- diff --git a/test/sql/function/numeric/test_unary.test b/test/sql/function/numeric/test_unary.test index 0498d87fe13a..3388ef1abb02 100644 --- a/test/sql/function/numeric/test_unary.test +++ b/test/sql/function/numeric/test_unary.test @@ -52,22 +52,28 @@ INSERT INTO minima VALUES (-128, -32768, -2147483648, -9223372036854775808); statement error SELECT -t from minima; +---- statement error SELECT -s from minima; +---- statement error SELECT -i from minima; +---- statement error SELECT -b from minima; +---- # cannot apply these to a string statement error SELECT +'hello' +---- statement error SELECT -'hello' +---- # cannot apply these to a date either statement ok @@ -78,6 +84,8 @@ INSERT INTO dates VALUES ('1992-02-02') statement error SELECT +d FROM dates +---- statement error SELECT -d FROM dates +---- diff --git a/test/sql/function/operator/test_bitwise_ops.test b/test/sql/function/operator/test_bitwise_ops.test index 9f121ebf1652..85291e2e9b24 100644 --- a/test/sql/function/operator/test_bitwise_ops.test +++ b/test/sql/function/operator/test_bitwise_ops.test @@ -38,23 +38,30 @@ SELECT xor(1, 1), xor(1, 0), xor(0, 0), xor(NULL, 1), xor(1, NULL) # out of range shifts throw an error statement error SELECT 1::TINYINT << -1::TINYINT, 1::TINYINT >> -1::TINYINT, 1::TINYINT << 12::TINYINT, 1::TINYINT >> 12::TINYINT +---- statement error SELECT 1::SMALLINT << -1::SMALLINT, 1::SMALLINT >> -1::SMALLINT, 1::SMALLINT << 20::SMALLINT, 1::SMALLINT >> 20::SMALLINT +---- statement error SELECT 1::INT << -1::INT, 1::INT >> -1::INT, 1::INT << 40::INT, 1::INT >> 40::INT +---- statement error SELECT 1::BIGINT << -1::BIGINT, 1::BIGINT >> -1::BIGINT, 1::BIGINT << 1000::BIGINT, 1::BIGINT >> 1000::BIGINT +---- # test invalid bitwise ops statement error SELECT 'hello' << 3 +---- statement error SELECT 3 << 'hello' +---- statement error SELECT 2.0 << 1 +---- diff --git a/test/sql/function/operator/test_comparison.test b/test/sql/function/operator/test_comparison.test index f6da08da0d12..b9445d5b1914 100644 --- a/test/sql/function/operator/test_comparison.test +++ b/test/sql/function/operator/test_comparison.test @@ -21,12 +21,15 @@ SELECT 1 <> 1, 1 != 1, 1 <> 0, 1 != 0, 1 <> NULL # string <> number comparisons should result in the string being cast to a number statement error select ('abc' between 20 and True); +---- statement error select 'abc' > 10 +---- statement error select 20.0 = 'abc' +---- # 1000 > 20 query T diff --git a/test/sql/function/operator/test_date_arithmetic.test b/test/sql/function/operator/test_date_arithmetic.test index 780213b2d7b7..ec5f158fd6a4 100644 --- a/test/sql/function/operator/test_date_arithmetic.test +++ b/test/sql/function/operator/test_date_arithmetic.test @@ -103,6 +103,90 @@ NULL 20:08:10.998 NULL 2022-01-01 20:08:10.33 2022-01-01 20:08:10.33 2022-01-01 20:08:10.998 2022-01-01 20:08:10.998 +statement ok +CREATE TABLE timetzs(ttz TIMETZ) + +statement ok +INSERT INTO timetzs VALUES + ('00:01:20+00'), + ('20:08:10.998-07'), + ('20:08:10.33+12'), + ('20:08:10.001-1559'), + (NULL); + +query III +SELECT d, ttz, d + ttz +FROM dates, timetzs +ORDER BY 1, 2 +---- +NULL NULL NULL +NULL 00:01:20+00 NULL +NULL 20:08:10.001-15:59 NULL +NULL 20:08:10.33+12 NULL +NULL 20:08:10.998-07 NULL +0044-03-15 (BC) NULL NULL +0044-03-15 (BC) 00:01:20+00 0044-03-15 (BC) 00:01:20+00 +0044-03-15 (BC) 20:08:10.001-15:59 0044-03-16 (BC) 12:07:10.001+00 +0044-03-15 (BC) 20:08:10.33+12 0044-03-15 (BC) 08:08:10.33+00 +0044-03-15 (BC) 20:08:10.998-07 0044-03-16 (BC) 03:08:10.998+00 +1992-01-01 NULL NULL +1992-01-01 00:01:20+00 1992-01-01 00:01:20+00 +1992-01-01 20:08:10.001-15:59 1992-01-02 12:07:10.001+00 +1992-01-01 20:08:10.33+12 1992-01-01 08:08:10.33+00 +1992-01-01 20:08:10.998-07 1992-01-02 03:08:10.998+00 +1992-03-03 NULL NULL +1992-03-03 00:01:20+00 1992-03-03 00:01:20+00 +1992-03-03 20:08:10.001-15:59 1992-03-04 12:07:10.001+00 +1992-03-03 20:08:10.33+12 1992-03-03 08:08:10.33+00 +1992-03-03 20:08:10.998-07 1992-03-04 03:08:10.998+00 +1992-05-05 NULL NULL +1992-05-05 00:01:20+00 1992-05-05 00:01:20+00 +1992-05-05 20:08:10.001-15:59 1992-05-06 12:07:10.001+00 +1992-05-05 20:08:10.33+12 1992-05-05 08:08:10.33+00 +1992-05-05 20:08:10.998-07 1992-05-06 03:08:10.998+00 +2022-01-01 NULL NULL +2022-01-01 00:01:20+00 2022-01-01 00:01:20+00 +2022-01-01 20:08:10.001-15:59 2022-01-02 12:07:10.001+00 +2022-01-01 20:08:10.33+12 2022-01-01 08:08:10.33+00 +2022-01-01 20:08:10.998-07 2022-01-02 03:08:10.998+00 + +query III +SELECT d, ttz, ttz + d +FROM dates, timetzs +ORDER BY 1, 2 +---- +NULL NULL NULL +NULL 00:01:20+00 NULL +NULL 20:08:10.001-15:59 NULL +NULL 20:08:10.33+12 NULL +NULL 20:08:10.998-07 NULL +0044-03-15 (BC) NULL NULL +0044-03-15 (BC) 00:01:20+00 0044-03-15 (BC) 00:01:20+00 +0044-03-15 (BC) 20:08:10.001-15:59 0044-03-16 (BC) 12:07:10.001+00 +0044-03-15 (BC) 20:08:10.33+12 0044-03-15 (BC) 08:08:10.33+00 +0044-03-15 (BC) 20:08:10.998-07 0044-03-16 (BC) 03:08:10.998+00 +1992-01-01 NULL NULL +1992-01-01 00:01:20+00 1992-01-01 00:01:20+00 +1992-01-01 20:08:10.001-15:59 1992-01-02 12:07:10.001+00 +1992-01-01 20:08:10.33+12 1992-01-01 08:08:10.33+00 +1992-01-01 20:08:10.998-07 1992-01-02 03:08:10.998+00 +1992-03-03 NULL NULL +1992-03-03 00:01:20+00 1992-03-03 00:01:20+00 +1992-03-03 20:08:10.001-15:59 1992-03-04 12:07:10.001+00 +1992-03-03 20:08:10.33+12 1992-03-03 08:08:10.33+00 +1992-03-03 20:08:10.998-07 1992-03-04 03:08:10.998+00 +1992-05-05 NULL NULL +1992-05-05 00:01:20+00 1992-05-05 00:01:20+00 +1992-05-05 20:08:10.001-15:59 1992-05-06 12:07:10.001+00 +1992-05-05 20:08:10.33+12 1992-05-05 08:08:10.33+00 +1992-05-05 20:08:10.998-07 1992-05-06 03:08:10.998+00 +2022-01-01 NULL NULL +2022-01-01 00:01:20+00 2022-01-01 00:01:20+00 +2022-01-01 20:08:10.001-15:59 2022-01-02 12:07:10.001+00 +2022-01-01 20:08:10.33+12 2022-01-01 08:08:10.33+00 +2022-01-01 20:08:10.998-07 2022-01-02 03:08:10.998+00 + # Overflow statement error SELECT '294247-01-10'::DATE + '04:00:54.775808'::TIME; +---- diff --git a/test/sql/function/operator/test_division_overflow.test b/test/sql/function/operator/test_division_overflow.test index 07ec1fed1024..4b89b4ef2fea 100644 --- a/test/sql/function/operator/test_division_overflow.test +++ b/test/sql/function/operator/test_division_overflow.test @@ -7,6 +7,7 @@ PRAGMA enable_verification statement error SELECT (-128)::TINYINT // (-1)::TINYINT +---- query I SELECT (-127)::TINYINT // (-1)::TINYINT @@ -15,6 +16,7 @@ SELECT (-127)::TINYINT // (-1)::TINYINT statement error SELECT (-32768)::SMALLINT // (-1)::SMALLINT +---- query I SELECT (-32767)::SMALLINT // (-1)::SMALLINT @@ -23,6 +25,7 @@ SELECT (-32767)::SMALLINT // (-1)::SMALLINT statement error SELECT (-2147483648)::INTEGER // (-1)::INTEGER +---- query I SELECT (-2147483647)::INTEGER // (-1)::INTEGER @@ -31,6 +34,7 @@ SELECT (-2147483647)::INTEGER // (-1)::INTEGER statement error SELECT (-9223372036854775808)::BIGINT // (-1)::BIGINT +---- query I SELECT (-9223372036854775807)::BIGINT // (-1)::BIGINT diff --git a/test/sql/function/string/format_bytes.test b/test/sql/function/string/format_bytes.test index 4b86b111a307..1acfee45cbe4 100644 --- a/test/sql/function/string/format_bytes.test +++ b/test/sql/function/string/format_bytes.test @@ -11,74 +11,74 @@ SELECT format_bytes(0); 0 bytes query I -SELECT format_bytes(999); +SELECT format_bytes(1); ---- -999 bytes +1 byte query I -SELECT format_bytes(1000); +SELECT format_bytes(1023); ---- -1KB +1023 bytes query I -SELECT pg_size_pretty(1000); +SELECT format_bytes(1024); ---- -1KB +1.0 KiB query I -SELECT formatReadableDecimalSize(1000); +SELECT pg_size_pretty(1024); ---- -1KB +1.0 KiB query I -SELECT format_bytes(1000*1000-1); +SELECT format_bytes(1024*1024-1); ---- -999KB +1023.9 KiB query I -SELECT format_bytes(1000*1000); +SELECT format_bytes(1024*1024); ---- -1.0MB +1.0 MiB query I -SELECT format_bytes(1000*1000 + 555555); +SELECT format_bytes(1024*1024 + 555555); ---- -1.5MB +1.5 MiB query I -SELECT format_bytes(1000*1000*1000-1); +SELECT format_bytes(1024*1024*1024-1); ---- -999.9MB +1023.9 MiB query I -SELECT format_bytes(1000*1000*1000); +SELECT format_bytes(1e9::BIGINT); ---- -1.0GB +953.6 MiB query I -SELECT format_bytes(1000::BIGINT*1000*1000*1000-1); +SELECT format_bytes(pow(1024,3)::BIGINT); ---- -999.9GB +1.0 GiB query I -SELECT format_bytes(1000::BIGINT*1000*1000*1000); +SELECT format_bytes(pow(1024.0,4)::BIGINT); ---- -1.0TB +1.0 TiB query I -SELECT format_bytes(1000::BIGINT*1000*1000*1000*1000-1); +SELECT format_bytes((pow(1024.0,4) - 1)::BIGINT); ---- -999.9TB +1023.9 GiB query I -SELECT format_bytes(1000::BIGINT*1000*1000*1000*1000); +SELECT format_bytes(1e15::BIGINT); ---- -1.0PB +909.4 TiB query I SELECT format_bytes(9223372036854775807); ---- -9223.3PB +8191.9 PiB query I SELECT format_bytes(NULL); @@ -98,4 +98,34 @@ SELECT format_bytes(-1); query I SELECT format_bytes(-9223372036854775808); ---- --9223.3PB +-8192.0 PiB + +query I +SELECT formatReadableDecimalSize(500); +---- +500 bytes + +query I +SELECT formatReadableSize(500); +---- +500 bytes + +query I +SELECT formatReadableDecimalSize(500*1000); +---- +500.0 kB + +query I +SELECT formatReadableSize(500*1000); +---- +488.2 KiB + +query I +SELECT formatReadableDecimalSize(500*1000*1000); +---- +500.0 MB + +query I +SELECT formatReadableSize(500*1000*1000); +---- +476.8 MiB diff --git a/test/sql/function/string/hex.test b/test/sql/function/string/hex.test index 6507905d703f..e2f9cf33c787 100644 --- a/test/sql/function/string/hex.test +++ b/test/sql/function/string/hex.test @@ -29,20 +29,21 @@ duckdb # Test Invalid input statement error SELECT from_hex('duckdb'); +---- -query IIIIIIIIII +query IIIIIIIIIII SELECT to_hex(columns('^(.*int|varchar)$')) FROM test_all_types(); ---- -FFFFFFFFFFFFFF80 FFFFFFFFFFFF8000 FFFFFFFF80000000 8000000000000000 80000000000000000000000000000001 0 0 0 0 F09FA686F09FA686F09FA686F09FA686F09FA686F09FA686 -7F 7FFF 7FFFFFFF 7FFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF FFFF FFFFFFFF FFFFFFFFFFFFFFFF 676F6F007365 -NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +FFFFFFFFFFFFFF80 FFFFFFFFFFFF8000 FFFFFFFF80000000 8000000000000000 80000000000000000000000000000000 0 0 0 0 0 F09FA686F09FA686F09FA686F09FA686F09FA686F09FA686 +7F 7FFF 7FFFFFFF 7FFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF FFFF FFFFFFFF FFFFFFFFFFFFFFFF 676F6F007365 +NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL -query IIIIIIIIII +query IIIIIIIIIII SELECT from_hex(to_hex(columns('^(.*int|varchar)$'))) FROM test_all_types(); ---- -\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80 \xFF\xFF\xFF\xFF\xFF\xFF\x80\x00 \xFF\xFF\xFF\xFF\x80\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01 \x00 \x00 \x00 \x00 \xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86 -\x7F \x7F\xFF \x7F\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xFF \xFF\xFF \xFF\xFF\xFF\xFF \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF goo\x00se -NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80 \xFF\xFF\xFF\xFF\xFF\xFF\x80\x00 \xFF\xFF\xFF\xFF\x80\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00 \x00 \x00 \x00 \x00 \xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86 +\x7F \x7F\xFF \x7F\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xFF \xFF\xFF \xFF\xFF\xFF\xFF \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF goo\x00se +NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL query I SELECT to_binary('duckdb'); @@ -54,16 +55,16 @@ SELECT from_binary('011001000111010101100011011010110110010001100010'); ---- duckdb -query IIIIIIIIII +query IIIIIIIIIII SELECT to_binary(columns('^(.*int|varchar)$')) FROM test_all_types(); ---- -1111111111111111111111111111111111111111111111111111111110000000 1111111111111111111111111111111111111111111111111000000000000000 1111111111111111111111111111111110000000000000000000000000000000 1000000000000000000000000000000000000000000000000000000000000000 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 0 0 0 0 111100001001111110100110100001101111000010011111101001101000011011110000100111111010011010000110111100001001111110100110100001101111000010011111101001101000011011110000100111111010011010000110 -1111111 111111111111111 1111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111 1111111111111111 11111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 011001110110111101101111000000000111001101100101 -NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +1111111111111111111111111111111111111111111111111111111110000000 1111111111111111111111111111111111111111111111111000000000000000 1111111111111111111111111111111110000000000000000000000000000000 1000000000000000000000000000000000000000000000000000000000000000 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 0 0 0 111100001001111110100110100001101111000010011111101001101000011011110000100111111010011010000110111100001001111110100110100001101111000010011111101001101000011011110000100111111010011010000110 +1111111 111111111111111 1111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111 1111111111111111 11111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 011001110110111101101111000000000111001101100101 +NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL -query IIIIIIIIII +query IIIIIIIIIII SELECT from_binary(to_binary(columns('^(.*int|varchar)$'))) FROM test_all_types(); ---- -\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80 \xFF\xFF\xFF\xFF\xFF\xFF\x80\x00 \xFF\xFF\xFF\xFF\x80\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01 \x00 \x00 \x00 \x00 \xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86 -\x7F \x7F\xFF \x7F\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xFF \xFF\xFF \xFF\xFF\xFF\xFF \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF goo\x00se -NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL \ No newline at end of file +\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80 \xFF\xFF\xFF\xFF\xFF\xFF\x80\x00 \xFF\xFF\xFF\xFF\x80\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00 \x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00 \x00 \x00 \x00 \x00 \xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86\xF0\x9F\xA6\x86 +\x7F \x7F\xFF \x7F\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF \xFF \xFF\xFF \xFF\xFF\xFF\xFF \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF goo\x00se +NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL diff --git a/test/sql/function/string/parse_path.test b/test/sql/function/string/parse_path.test new file mode 100644 index 000000000000..a8f48b65056f --- /dev/null +++ b/test/sql/function/string/parse_path.test @@ -0,0 +1,485 @@ +# name: test/sql/function/string/parse_path.test +# description: parse path functions test +# group: [string] + +statement ok +PRAGMA enable_verification + +require notwindows + +# all separators option +query T +SELECT * FROM (VALUES (parse_path('path/to/file.csv', 'system')), (parse_path('path/to/file.csv\file2.csv', 'both_slash')), (parse_path('path/to/file.csv', 'forward_slash')), (parse_path('path\to\file.csv/file2.csv', 'backslash'))) tbl(i); +---- +[path, to, file.csv] +[path, to, file.csv, file2.csv] +[path, to, file.csv] +[path, to, file.csv/file2.csv] + +# default separator +query T +SELECT parse_path('path/to/file.csv\file2.csv'); +---- +[path, to, file.csv, file2.csv] + +# no separators in path +query T +SELECT parse_path('file.csv', 'both_slash'); +---- +[file.csv] + +# start with separator +query T +SELECT parse_path('/path/to/file.csv', 'forward_slash'); +---- +[/, path, to, file.csv] + +query T +select parse_path('\path\to\file', 'forward_slash'); +---- +[\path\to\file] + +# consecutive separators +query T +SELECT parse_path('//path/to//file.csv', 'forward_slash'); +---- +[/, path, to, file.csv] + +# special characters +query T +SELECT parse_path('p@th\t0\wh@t3ve%\42/12 ch,ars.sth', 'both_slash'); +---- +[p@th, t0, wh@t3ve%, 42, 12 ch,ars.sth] + +# custom separator +query T +SELECT parse_path('path/to/file.csv','@'); +---- +[path, to, file.csv] + +query T +SELECT parse_path('path/to/file.csv', NULL); +---- +[path, to, file.csv] + +query T +SELECT parse_path(NULL, NULL); +---- +NULL + +query T +SELECT parse_path(NULL, ''); +---- +NULL + +query T +SELECT parse_path(''); +---- +[] + +query T +SELECT parse_path('', ''); +---- +[] + +query T +select parse_path('/'); +---- +[/] + +query T +select parse_path('///'); +---- +[/] + +# only separators in path +query T +SELECT parse_path('/\\/', 'both_slash'); +---- +[/] + +# test incorrect usage +statement error +SELECT parse_path(); +---- +Binder Error: No function matches the given name and argument types 'parse_path()'. You might need to add explicit type casts. + +statement error +SELECT parse_path('/path/to', true, 'system'); +---- +Binder Error: No function matches the given name and argument types 'parse_path(STRING_LITERAL, BOOLEAN, STRING_LITERAL)'. + + +# test parse_dirname +# all separators option +query T +SELECT * FROM (VALUES (parse_dirname('path/to/file.csv', 'system')), (parse_dirname('path/to/file.csv\file2.csv', 'both_slash')), (parse_dirname('path/to/file.csv', 'forward_slash')), (parse_dirname('path\to\file.csv/file2.csv', 'backslash'))) tbl(i); +---- +path +path +path +path + +# default separator +query T +SELECT parse_dirname('path/to/file.csv\file2.csv'); +---- +path + +# no separator in path +query T +SELECT parse_dirname('file.csv', 'backslash'); +---- +(empty) + +# only separators in path +query T +SELECT parse_dirname('\', 'backslash'); +---- +\ + +# path with only one separator, different from the separator option +query T +SELECT parse_dirname('/', 'backslash'); +---- +(empty) + +# start with separator +query T +SELECT parse_dirname('/path/to/file.csv', 'forward_slash'); +---- +/ + +# no forward slashes in the path +query T +SELECT parse_dirname('\path\to\file', 'forward_slash'); +---- +(empty) + +# have consecutive separators +query T +SELECT parse_dirname('///path/to//file.csv', 'forward_slash'); +---- +/ + +# special characters +query T +SELECT parse_dirname('wh@t3ve%\42/12 ch,ars.sth', 'both_slash'); +---- +wh@t3ve% + +# custom separator +query T +SELECT parse_dirname('path/to/file.csv','@'); +---- +path + +query T +SELECT parse_dirname('path/to/file.csv', NULL); +---- +path + +query T +SELECT parse_dirname(NULL, NULL); +---- +NULL + +query T +SELECT parse_dirname(NULL, ''); +---- +NULL + +query T +SELECT parse_dirname(''); +---- +(empty) + +query T +SELECT parse_dirname('', ''); +---- +(empty) + +# test incorrect usage +statement error +SELECT parse_dirname(); +---- +Binder Error: No function matches the given name and argument types 'parse_dirname()'. + +statement error +SELECT parse_dirname('/path/to', true, 'system'); +---- +Binder Error: No function matches the given name and argument types 'parse_dirname(STRING_LITERAL, BOOLEAN, STRING_LITERAL)'. + +# test parse_dirpath +# all separators option +query T +SELECT * FROM (VALUES (parse_dirpath('path/to/file.csv', 'system')), (parse_dirpath('path/to/file.csv\file2.csv', 'both_slash')), (parse_dirpath('path/to/file.csv', 'forward_slash')), (parse_dirpath('path\to\file.csv/file2.csv', 'backslash'))) tbl(i); +---- +path/to +path/to/file.csv +path/to +path\to + +# default separator +query T +SELECT parse_dirpath('path/to/file.csv\file2.csv'); +---- +path/to/file.csv + +# no separator in path +query T +SELECT parse_dirpath('file.csv', 'backslash'); +---- +(empty) + +# only separators in path +query T +SELECT parse_dirpath('\', 'backslash'); +---- +\ + +# path with only one separator, different from the separator option +query T +SELECT parse_dirpath('/', 'backslash'); +---- +(empty) + +# start with separator +query T +SELECT parse_dirpath('/path/to/file.csv', 'forward_slash'); +---- +/path/to + +# no forward slashes in the path +query T +SELECT parse_dirpath('\path\to\file', 'forward_slash'); +---- +(empty) + +# have consecutive separators +query T +SELECT parse_dirpath('///path/to//file.csv', 'forward_slash'); +---- +///path/to/ + +# special characters +query T +SELECT parse_dirpath('wh@t3ve%\42/12 ch,ars.sth', 'both_slash'); +---- +wh@t3ve%\42 + +# custom separator +query T +SELECT parse_dirpath('path/to/file.csv','@'); +---- +path/to + +query T +SELECT parse_dirpath('path/to/file.csv', NULL); +---- +path/to + +query T +SELECT parse_dirpath(NULL, NULL); +---- +NULL + +query T +SELECT parse_dirpath(NULL, ''); +---- +NULL + +query T +SELECT parse_dirpath(''); +---- +(empty) + +query T +SELECT parse_dirpath('', ''); +---- +(empty) + +# test incorrect usage +statement error +SELECT parse_dirpath(); +---- +Binder Error: No function matches the given name and argument types 'parse_dirpath()'. + +statement error +SELECT parse_dirpath('/path/to', true, 'system'); +---- +Binder Error: No function matches the given name and argument types 'parse_dirpath(STRING_LITERAL, BOOLEAN, STRING_LITERAL)'. + + +# test parse_filename +# all separators option, default trim_extension +query T +SELECT * FROM (VALUES (parse_filename('path/to/file.csv', 'system')), (parse_filename('path/to/file.csv\file2.csv', 'both_slash')), (parse_filename('path/to/file.csv', 'forward_slash')), (parse_filename('path\to\file.csv/file2.csv', 'backslash'))) tbl(i); +---- +file.csv +file2.csv +file.csv +file.csv/file2.csv + +# default separator +query T +SELECT parse_filename('path/to/file.csv\file2.csv'); +---- +file2.csv + +query T +SELECT parse_filename('/path/to/file.csv\file2.csv', true); +---- +file2 + +query T +SELECT parse_filename('/path/to/file.csv\file2.csv', false); +---- +file2.csv + +# trim extension +query T +SELECT * FROM (VALUES (parse_filename('path/to/file.csv', true, 'system')), (parse_filename('path/to/file.csv\file2.csv', true, 'both_slash')), (parse_filename('path/to/file.csv', true, 'forward_slash')), (parse_filename('path\to\file.csv/file2.csv', true, 'backslash'))) tbl(i); +---- +file +file2 +file +file.csv/file2 + +query T +SELECT parse_filename('path/to/file.csv\file2', true, 'forward_slash'); +---- +file + +# use varchar type for boolean values as 2nd argument +query T +SELECT parse_filename('path/to/file.csv', 'true', 'system'); +---- +file + +query T +SELECT parse_filename('path/to/file.csv', 'false', 'system'); +---- +file.csv + +# no separators in path +query T +SELECT parse_filename('file.csv', 'backslash'); +---- +file.csv + +query T +SELECT parse_filename('file.csv', true, 'backslash'); +---- +file + +# only separators in path +query T +select parse_filename('/'); +---- +(empty) + +query T +select parse_filename('//'); +---- +(empty) + +query T +select parse_filename('/', 'backslash'); +---- +/ + +query T +SELECT parse_filename('/', true, 'forward_slash'); +---- +(empty) + +# separator at the end +query T +SELECT parse_filename('path/to/', 'forward_slash'); +---- +(empty) + +query T +SELECT parse_filename('path/to///', true, 'forward_slash'); +---- +(empty) + +# special characters +query T +SELECT parse_filename('wh@t3ve%\42/12 ch,ars.sth', 'both_slash'); +---- +12 ch,ars.sth + +query T +SELECT parse_filename('wh@t3ve%\42/12 ch,ars.sth', true, 'both_slash'); +---- +12 ch,ars + +# custom separator +query T +SELECT parse_filename('path/to/file.csv','@'); +---- +file.csv + +# no extension +query T +SELECT parse_filename('path/to/file', true, 'both_slash'); +---- +file + +query T +SELECT parse_filename(NULL, true, 'system'); +---- +NULL + +query T +SELECT parse_filename('path/to/file.csv', NULL); +---- +file.csv + +query T +SELECT parse_filename('path/to/file.csv', NULL, NULL); +---- +file.csv + +query T +SELECT parse_filename(NULL, NULL, NULL); +---- +NULL + +query T +SELECT parse_filename(NULL, ''); +---- +NULL + +query T +SELECT parse_filename('', ''); +---- +(empty) + +query T +SELECT parse_filename(''); +---- +(empty) + +# test incorrect usage +statement error +SELECT parse_filename(true); +---- +Binder Error: No function matches the given name and argument types 'parse_filename(BOOLEAN)'. + +statement error +SELECT parse_filename('path/to/file.csv', 'system', true); +---- +Binder Error: No function matches the given name and argument types 'parse_filename(STRING_LITERAL, STRING_LITERAL, BOOLEAN)'. + +statement error +SELECT parse_filename('path/to/file.csv', 'system', 'true'); +---- +Conversion Error: Could not convert string 'system' to BOOL + +statement error +SELECT parse_filename(); +---- +Binder Error: No function matches the given name and argument types 'parse_filename()'. diff --git a/test/sql/function/string/parse_path_windows.test b/test/sql/function/string/parse_path_windows.test new file mode 100644 index 000000000000..1c8ba2c4252a --- /dev/null +++ b/test/sql/function/string/parse_path_windows.test @@ -0,0 +1,173 @@ +# name: test/sql/function/string/parse_path_windows.test +# description: test parse path functions in windows +# group: [string] + +statement ok +PRAGMA enable_verification + +require windows + +# all separators option +query T +SELECT * FROM (VALUES (parse_path('path\to\file.csv/file2.csv', 'system')), (parse_path('path/to/file.csv\file2.csv', 'both_slash')), (parse_path('path/to/file.csv', 'forward_slash')), (parse_path('path\to\file.csv/file2.csv', 'backslash'))) tbl(i); +---- +[path, to, file.csv/file2.csv] +[path, to, file.csv, file2.csv] +[path, to, file.csv] +[path, to, file.csv/file2.csv] + +# default separator +query T +SELECT parse_path('home/user/documents/file.csv\file2.csv'); +---- +[home, user, documents, file.csv, file2.csv] + +# no separators in path +query T +SELECT parse_path('file.csv', 'both_slash'); +---- +[file.csv] + +# start with & have consecutive separators +query T +SELECT parse_path('//path/to///file.csv', 'forward_slash'); +---- +[/, path, to, file.csv] + +query T +SELECT parse_path(NULL, NULL); +---- +NULL + +query T +SELECT parse_path(''); +---- +[] + +# test incorrect usage +statement error +SELECT parse_path(); +---- +Binder Error: No function matches the given name and argument types 'parse_path()'. You might need to add explicit type casts. + + +# test parse_dirname +# all separators option +query T +SELECT * FROM (VALUES (parse_dirname('path\to\file.csv/file2.csv', 'system')), (parse_dirname('path/to/file.csv\file2.csv', 'both_slash')), (parse_dirname('path/to/file.csv', 'forward_slash')), (parse_dirname('path\to\file.csv/file2.csv', 'backslash'))) tbl(i); +---- +path +path +path +path + +# default separator +query T +SELECT parse_dirname('path/to/file.csv\file2.csv'); +---- +path + +# start with & have consecutive separators +query T +SELECT parse_dirname('///path/to//file.csv', 'forward_slash'); +---- +/ + +query T +select parse_dirname('file.csv'); +---- +(empty) + +query T +SELECT parse_dirname(''); +---- +(empty) + +# test incorrect usage +statement error +SELECT parse_dirname(); +---- +Binder Error: No function matches the given name and argument types 'parse_dirname()'. + + +# test parse_dirpath +# all separators option +query T +SELECT * FROM (VALUES (parse_dirpath('path\to\file.csv/file2.csv', 'system')), (parse_dirpath('path/to/file.csv\file2.csv', 'both_slash')), (parse_dirpath('path/to/file.csv', 'forward_slash')), (parse_dirpath('path\to\file.csv/file2.csv', 'backslash'))) tbl(i); +---- +path\to +path/to/file.csv +path/to +path\to + +# default separator +query T +SELECT parse_dirpath('path/to/file.csv\file2.csv'); +---- +path/to/file.csv + +# start with & have consecutive separators +query T +SELECT parse_dirpath('///path/to//file.csv', 'forward_slash'); +---- +///path/to/ + +query T +select parse_dirpath('file.csv'); +---- +(empty) + +query T +SELECT parse_dirpath(''); +---- +(empty) + +# test incorrect usage +statement error +SELECT parse_dirpath(); +---- +Binder Error: No function matches the given name and argument types 'parse_dirpath()'. + + +# test parse_filename +# all separators option +query T +SELECT * FROM (VALUES (parse_filename('path\to\file.csv/file2.csv', 'system')), (parse_filename('path/to/file.csv\file2.csv', 'both_slash')), (parse_filename('path/to/file.csv', 'forward_slash')), (parse_filename('path\to\file.csv/file2.csv', 'backslash'))) tbl(i); +---- +file.csv/file2.csv +file2.csv +file.csv +file.csv/file2.csv + +# end with separator +query T +SELECT parse_filename('file2.csv/', 'forward_slash'); +---- +(empty) + +# default args +query T +SELECT parse_filename('path/to/file.csv\file2.csv'); +---- +file2.csv + +query T +SELECT parse_filename('path/to/file.csv\file2', true, 'backslash'); +---- +file2 + +query T +SELECT parse_filename('/path/to/file.csv\file2.csv', true, 'forward_slash'); +---- +file.csv\file2 + +query T +SELECT parse_filename(''); +---- +(empty) + +# test incorrect usage +statement error +SELECT parse_filename(); +---- +Binder Error: No function matches the given name and argument types 'parse_filename()'. diff --git a/test/sql/function/string/regex_capture.test b/test/sql/function/string/regex_capture.test index 9f6c7078a503..fc73dda2bded 100644 --- a/test/sql/function/string/regex_capture.test +++ b/test/sql/function/string/regex_capture.test @@ -107,7 +107,7 @@ statement error WITH patterns AS ( SELECT 'rundate_(\d+-\d+-\d+)_pass_(\d+)' AS pattern FROM range(3) ) -SELECT regexp_extract(filename, patterns, ['rundate', 'pass']) AS groups +SELECT regexp_extract(filename, pattern, ['rundate', 'pass']) AS groups FROM filenames, patterns ---- constant pattern diff --git a/test/sql/function/string/regex_escape.test b/test/sql/function/string/regex_escape.test new file mode 100644 index 000000000000..7600bd0e1c66 --- /dev/null +++ b/test/sql/function/string/regex_escape.test @@ -0,0 +1,99 @@ +# name: test/sql/function/string/regex_escape.test +# description: regex escape test +# group: [string] + +statement ok +PRAGMA enable_verification + +# test the example +query T +SELECT regexp_escape('https://duckdb.org'); +---- +https\:\/\/duckdb\.org + +# no special chars +query T +SELECT regexp_escape('abc123ABC'); +---- +abc123ABC + +# metacharacters +query T +SELECT regexp_escape('a.b[c]*'); +---- +a\.b\[c\]\* + +# whitespaces +query T +SELECT regexp_escape('a b c'); +---- +a\ b\ c + +# new line character +query T +SELECT regexp_escape('\n'); +---- +\\n + +query T +SELECT regexp_escape('line1\nline2'); +---- +line1\\nline2 + +# unicode character +query T +SELECT regexp_escape('@'); +---- +\@ + +# backslashes +query T +SELECT regexp_escape('path\to\wonderland'); +---- +path\\to\\wonderland + +# more special characters +query T +SELECT regexp_escape('$()*+.?[\]^{|}-'); +---- +\$\(\)\*\+\.\?\[\\\]\^\{\|\}\- + +# mode output_hash + +# test a table of 1000 strings with special characters +statement ok +CREATE TABLE tbl (c VARCHAR(255)); + +statement ok +INSERT INTO tbl SELECT 'a)*.?[\]b^{2.+_c' FROM generate_series(1, 500); + +statement ok +INSERT INTO tbl(c) SELECT '1?ch@racter$' FROM generate_series(1, 500); + +query I +SELECT regexp_escape(c) FROM tbl; +---- +1000 values hashing to d9c29c89fadac59fb2be2397a94af1ee + +query I +WITH cte AS ( + SELECT c + FROM tbl + LIMIT 500 +) +SELECT sum(cast(regexp_escape(c) = 'a\)\*\.\?\[\\\]b\^\{2\.\+_c' as int)) +FROM cte +---- +500 + +query I +WITH cte AS ( + SELECT c + FROM tbl + OFFSET 500 LIMIT 500 +) +SELECT sum(cast(regexp_escape(c) = '1\?ch\@racter\$' as int)) +FROM cte +---- +500 + diff --git a/test/sql/function/string/regex_extract.test b/test/sql/function/string/regex_extract.test index cf20c3423be3..04ba0776b95c 100644 --- a/test/sql/function/string/regex_extract.test +++ b/test/sql/function/string/regex_extract.test @@ -43,9 +43,11 @@ baz statement error SELECT regexp_extract('foobarbaz', '(b..)(b..)', -1) +---- statement error SELECT regexp_extract('foobarbaz', '(b..)(b..)', 42) +---- statement ok CREATE TABLE test (s VARCHAR, p VARCHAR, i INT) @@ -60,6 +62,7 @@ INSERT INTO test VALUES statement error SELECT regexp_extract(s, p, i) FROM test +---- query T SELECT regexp_extract(s, p, 0) FROM test @@ -102,3 +105,4 @@ NULL statement error SELECT regexp_extract('foobarbaz', 'b..', '1') +---- diff --git a/test/sql/function/string/regex_replace.test b/test/sql/function/string/regex_replace.test index b44f4aea511f..1d8047c8bb53 100644 --- a/test/sql/function/string/regex_replace.test +++ b/test/sql/function/string/regex_replace.test @@ -83,8 +83,10 @@ world # we cannot use non-constant options (currently) statement error SELECT regexp_replace(v, 'h.*', 'world', v) FROM test ORDER BY v +---- # throw on invalid options statement error SELECT regexp_replace('asdf', '.*SD.*', 'a', 'q') +---- diff --git a/test/sql/function/string/regex_search.test b/test/sql/function/string/regex_search.test index 4637432f7f51..7aebb0227bab 100644 --- a/test/sql/function/string/regex_search.test +++ b/test/sql/function/string/regex_search.test @@ -5,40 +5,49 @@ statement ok PRAGMA enable_verification +statement ok +CREATE TABLE t0 as FROM VALUES('asdf') t(c0); + +# null +query I +SELECT regexp_matches(c0, NULL) from t0 +---- +NULL + # constant strings query T -SELECT regexp_matches('asdf', '.*sd.*') +SELECT regexp_matches(c0, '.*sd.*') from t0; ---- 1 query T -SELECT regexp_matches('asdf', '.*yu.*') +SELECT regexp_matches(c0, '.*yu.*') from t0; ---- 0 query T -SELECT regexp_matches('asdf', '') +SELECT regexp_matches(c0, '') from t0; ---- 1 # partial matches okay query T -SELECT regexp_matches('asdf', 'sd') +SELECT regexp_matches(c0, 'sd') from t0; ---- 1 query T -SELECT regexp_full_match('asdf', 'sd') +SELECT regexp_full_match(c0, 'sd') from t0; ---- 0 query T -SELECT regexp_full_match('asdf', '.sd.') +SELECT regexp_full_match(c0, '.sd.') from t0; ---- 1 query T -SELECT regexp_matches('asdf', '^sdf$') +SELECT regexp_matches(c0, '^sdf$') from t0; ---- 0 @@ -55,7 +64,7 @@ SELECT regexp_matches('', '.*') # NULLs query T -SELECT regexp_matches('asdf', CAST(NULL AS STRING)) +SELECT regexp_matches(c0, CAST(NULL AS STRING)) from t0; ---- NULL @@ -77,6 +86,7 @@ SELECT regexp_matches('foobarbequebaz', '(bar)(beque)') # postgres says throw error on invalid regex statement error SELECT regexp_matches('', '\X') +---- statement ok CREATE TABLE regex(s STRING, p STRING) @@ -103,12 +113,12 @@ NULL # test regex_matches with options # case sensitivity query T -SELECT regexp_matches('asdf', '.*SD.*', 'i') +SELECT regexp_matches(c0, '.*SD.*', 'i') from t0; ---- 1 query T -SELECT regexp_matches('asdf', '.*SD.*', 'c') +SELECT regexp_matches(c0, '.*SD.*', 'c') from t0; ---- 0 @@ -138,13 +148,13 @@ world', '.*', 'n') # whitespace is ignored query T -SELECT regexp_matches('asdf', '.*SD.*', ' i ') +SELECT regexp_matches(c0, '.*SD.*', ' i ') from t0; ---- 1 # NULL in options is an error statement error -SELECT regexp_matches('asdf', '.*SD.*', NULL) +SELECT regexp_matches(c0, '.*SD.*', NULL) from t0; ---- must not be NULL @@ -169,14 +179,17 @@ SELECT regexp_matches(v, 'h.*', 'c') FROM test ORDER BY v statement error SELECT regexp_matches(v, 'h.*', v) FROM test ORDER BY v +---- # throw on invalid options statement error -SELECT regexp_matches('asdf', '.*SD.*', 'q') +SELECT regexp_matches(c0, '.*SD.*', 'q') from t0; +---- # can only use "g" with regexp replace statement error -SELECT regexp_matches('asdf', '.*SD.*', 'g') +SELECT regexp_matches(c0, '.*SD.*', 'g') from t0; +---- # error in non-constant regex statement ok @@ -184,3 +197,4 @@ INSERT INTO regex VALUES ('asdf', '(') statement error SELECT regexp_matches(s, p) FROM regex +---- diff --git a/test/sql/function/string/regexp_unicode_literal.test b/test/sql/function/string/regexp_unicode_literal.test new file mode 100644 index 000000000000..66dc439d0f1b --- /dev/null +++ b/test/sql/function/string/regexp_unicode_literal.test @@ -0,0 +1,55 @@ +# name: test/sql/function/string/regexp_unicode_literal.test +# description: Issue #10058: Regex match turns non-breakable space into regular space +# group: [string] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE data(wsc INT, zipcode VARCHAR) + +statement ok +INSERT INTO data VALUES (32, '00' || chr(32) || '001'), (160, '00' || chr(160) || '001'), (0, '00🦆001'); + +query II +from data +where regexp_matches(zipcode, '^00\x{0020}001$') +---- +32 00 001 + +query II +from data +where regexp_matches(zipcode, '^00\x{00A0}001$') +---- +160 00 001 + +query II +from data +where regexp_matches(zipcode, '\x{00A0}001$') +---- +160 00 001 + +query II +from data +where regexp_matches(zipcode, '^00\x{1F986}001$') +---- +0 00🦆001 + +query II +from data +where regexp_matches(zipcode, '\x{1F986}') +---- +0 00🦆001 + +query II +select * +from data +where regexp_matches(zipcode, '^00\x{00A0}001$') +and regexp_matches(zipcode, '^00\x{0020}001$') +---- + + +statement error +select regexp_matches(zipcode, '^00\x{FFFFFFFF}001$') from data +---- +invalid escape sequence diff --git a/test/sql/function/string/sha256.test b/test/sql/function/string/sha256.test index b146e1ae60b1..9ccdf4ee9879 100644 --- a/test/sql/function/string/sha256.test +++ b/test/sql/function/string/sha256.test @@ -43,3 +43,4 @@ d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35 6b86b273ff34fce statement error SELECT sha256() +---- diff --git a/test/sql/function/string/test_array_extract.test b/test/sql/function/string/test_array_extract.test index f91e9451408b..d83ceb56d1d3 100644 --- a/test/sql/function/string/test_array_extract.test +++ b/test/sql/function/string/test_array_extract.test @@ -159,6 +159,6 @@ SELECT array_extract('1', 9223372036854775807); Out of Range Error: Substring offset outside of supported range (> 4294967295) statement error -SELECT array_extract(0, -9223372036854775808); +SELECT array_extract('0', -9223372036854775808); ---- -Out of Range Error: Substring offset outside of supported range (< -4294967296) \ No newline at end of file +Out of Range Error: Substring offset outside of supported range (< -4294967296) diff --git a/test/sql/function/string/test_ascii.test b/test/sql/function/string/test_ascii.test index bddd5f266dfb..beccf3552972 100644 --- a/test/sql/function/string/test_ascii.test +++ b/test/sql/function/string/test_ascii.test @@ -38,7 +38,7 @@ SELECT ASCII('Ä') 196 query I -SELECT ASCII(5) +SELECT ASCII('5') ---- 53 @@ -49,6 +49,7 @@ NULL statement error SELECT ASCII() +---- query T SELECT CHR(97) @@ -72,9 +73,12 @@ NULL statement error SELECT CHR(-10) +---- statement error SELECT CHR(1073741824) +---- statement error -SELECT CHR() \ No newline at end of file +SELECT CHR() +---- diff --git a/test/sql/function/string/test_bar.test b/test/sql/function/string/test_bar.test index aae2f8379252..29cd055669e2 100644 --- a/test/sql/function/string/test_bar.test +++ b/test/sql/function/string/test_bar.test @@ -8,12 +8,12 @@ pragma enable_verification query I select bar(x * x, 0, 100) from range(0, 11) t(x) ---- -(empty) -▊ -███▏ -███████▏ -████████████▊ -████████████████████ + +▊ +███▏ +███████▏ +████████████▊ +████████████████████ ████████████████████████████▊ ███████████████████████████████████████▏ ███████████████████████████████████████████████████▏ @@ -23,7 +23,7 @@ select bar(x * x, 0, 100) from range(0, 11) t(x) query I select bar(9, 10, 20) ---- -(empty) + query I select bar(120, -10, 100, 10) @@ -38,17 +38,17 @@ select bar(40, 20, 0) query I select bar(100, 200, 0) ---- -(empty) + query I select bar(-10, 20, 0) ---- -(empty) + query I select bar('nan'::double, 0, 10) ---- -(empty) + query I select bar('infinity'::double, 0, 10) @@ -58,7 +58,7 @@ select bar('infinity'::double, 0, 10) query I select bar('-infinity'::double, 0, 10) ---- -(empty) + query I select bar(null, 0, 10) @@ -68,15 +68,16 @@ NULL query I select bar(1, 'nan'::double, 10) ---- -(empty) + statement error select bar(1, '-infinity'::double, 10) +---- query I select bar(1, 'infinity'::double, 10) ---- -(empty) + query I select bar(1, null, 10) @@ -86,7 +87,7 @@ NULL query I select bar(1, 0, 'nan'::double) ---- -(empty) + query I select bar(1, 0, '-infinity'::double) @@ -96,37 +97,43 @@ select bar(1, 0, '-infinity'::double) query I select bar(1, 0, 'infinity'::double) ---- -(empty) + statement error select bar(1, 0, 10, 'nan'::double) +---- statement error select bar(1, 0, 10, 'infinity'::double) +---- statement error select bar(1, 0, 10, '-infinity'::double) +---- query I select bar(1, 0, 10, 1000) ---- -████████████████████████████████████████████████████████████████████████████████████████████████████ +████████████████████████████████████████████████████████████████████████████████████████████████████ + statement error select bar(1, 0, 10, 1001) +---- query I select bar(1, 0, 10, 1) ---- -(empty) + query I select bar(10, 10, 10, 10) ---- -(empty) + statement error select bar(1, 0, 10, 0.99) +---- query I select bar(1, 0, 1, 1.125) diff --git a/test/sql/function/string/test_bit_length.test b/test/sql/function/string/test_bit_length.test index c76dfcb23f1c..bfa15bbe685b 100644 --- a/test/sql/function/string/test_bit_length.test +++ b/test/sql/function/string/test_bit_length.test @@ -46,7 +46,9 @@ select BIT_LENGTH(a) FROM strings WHERE b IS NOT NULL # test incorrect usage statement error select BIT_LENGTH() +---- statement error select BIT_LENGTH(1, 2) +---- diff --git a/test/sql/function/string/test_concat.test b/test/sql/function/string/test_concat.test index 696465ad167a..9fdaefe4cc78 100644 --- a/test/sql/function/string/test_concat.test +++ b/test/sql/function/string/test_concat.test @@ -54,6 +54,7 @@ NULL # concat requires at least one argument statement error SELECT CONCAT() +---- # concat with one argument works query T diff --git a/test/sql/function/string/test_concat_ws.test b/test/sql/function/string/test_concat_ws.test index 60c5270bab3d..6a9f125f0bcc 100644 --- a/test/sql/function/string/test_concat_ws.test +++ b/test/sql/function/string/test_concat_ws.test @@ -68,9 +68,11 @@ MotörHead,SUFFIX # concat WS needs at least two parameters statement error select CONCAT_WS() +---- statement error select CONCAT_WS(',') +---- # one entry: just returns the entry query T diff --git a/test/sql/function/string/test_damerau_levenshtein.test b/test/sql/function/string/test_damerau_levenshtein.test index 8ade057fc6d5..a69cdedb2a0a 100644 --- a/test/sql/function/string/test_damerau_levenshtein.test +++ b/test/sql/function/string/test_damerau_levenshtein.test @@ -150,12 +150,15 @@ NULL statement error SELECT damerau_levenshtein('one', 'two', 'three') +---- statement error SELECT damerau_levenshtein('one') +---- statement error SELECT damerau_levenshtein() +---- statement ok diff --git a/test/sql/function/string/test_format.test b/test/sql/function/string/test_format.test index 8bfa4a589ae4..44b36b0d6ec1 100644 --- a/test/sql/function/string/test_format.test +++ b/test/sql/function/string/test_format.test @@ -54,6 +54,12 @@ SELECT format('{}', 120381902481294715712::HUGEINT) ---- 120381902481294715712 +# uhugeint +query T +SELECT format('{}', 120381902481294715712::UHUGEINT) +---- +120381902481294715712 + # decimal query T SELECT format('{:.3f}', '1.234'::DECIMAL) @@ -88,9 +94,11 @@ select format('{:b}', 123456789) # too few parameters statement error SELECT format('{}') +---- statement error SELECT format('{} {}', 'hello') +---- # excess parameters are ignored query T @@ -101,7 +109,9 @@ hello # incorrect types statement error SELECT format('{:s}', 42) +---- statement error SELECT format('{:d}', 'hello') +---- diff --git a/test/sql/function/string/test_format_extensions.test b/test/sql/function/string/test_format_extensions.test index 526bb729e751..3369641ff81c 100644 --- a/test/sql/function/string/test_format_extensions.test +++ b/test/sql/function/string/test_format_extensions.test @@ -77,6 +77,7 @@ Thousand separators are not supported for floating point numbers statement error select format('{:t}', 123456789) +---- query I select format('{0:d} {0:L}', 123456789) diff --git a/test/sql/function/string/test_ilike_escape.test b/test/sql/function/string/test_ilike_escape.test index b299b5188b08..716fa264a7b1 100644 --- a/test/sql/function/string/test_ilike_escape.test +++ b/test/sql/function/string/test_ilike_escape.test @@ -72,7 +72,9 @@ NULL # multi-byte escape not supported statement error select 'a%c' ilike 'a$%C' escape '///'; +---- # escape must be a constant statement error SELECT str ILIKE pat ESCAPE str FROM tbl +---- diff --git a/test/sql/function/string/test_jaccard.test b/test/sql/function/string/test_jaccard.test index bf7c3677563f..2a86c7b1084f 100644 --- a/test/sql/function/string/test_jaccard.test +++ b/test/sql/function/string/test_jaccard.test @@ -83,12 +83,15 @@ SELECT round(jaccard('ababababababba', 'aaaabbbccddeeffgabcccc'), 3) statement error SELECT jaccard('hello', '') +---- statement error SELECT jaccard('', 'hello') +---- statement error SELECT jaccard('', '') +---- statement ok @@ -139,6 +142,8 @@ NULL statement error select round(jaccard('', t), 1) from strings +---- statement error select round(jaccard(s, ''), 1) from strings +---- diff --git a/test/sql/function/string/test_like.test b/test/sql/function/string/test_like.test index 8e19d5f83b23..0291d6556f43 100644 --- a/test/sql/function/string/test_like.test +++ b/test/sql/function/string/test_like.test @@ -289,4 +289,5 @@ aaa # Reject invalid collations statement error SELECT 'hello' LIKE 'hê?llo' COLLATE idontexist; +---- diff --git a/test/sql/function/string/test_like_escape.test b/test/sql/function/string/test_like_escape.test index 11f4c8084d4e..5739eb89aa1a 100644 --- a/test/sql/function/string/test_like_escape.test +++ b/test/sql/function/string/test_like_escape.test @@ -17,9 +17,11 @@ SELECT '%++' NOT LIKE '*%++' ESCAPE '*'; # unterminated escapes statement error SELECT '%' LIKE '%' ESCAPE '%'; +---- statement error SELECT '%' LIKE '*' ESCAPE '*'; +---- # Default tests query T @@ -60,9 +62,11 @@ SELECT '*%' NOT LIKE '*%' ESCAPE '*'; # It should fail when more than one escape character is specified statement error SELECT '%_' LIKE '%_' ESCAPE '\\'; +---- statement error SELECT '%_' LIKE '%_' ESCAPE '**'; +---- # Test LIKE statement with ESCAPE in the middle of the pattern statement ok diff --git a/test/sql/function/string/test_mismatches.test b/test/sql/function/string/test_mismatches.test index 689aa40193aa..1d6b030e669a 100644 --- a/test/sql/function/string/test_mismatches.test +++ b/test/sql/function/string/test_mismatches.test @@ -82,6 +82,7 @@ NULL statement error SELECT mismatches('', '') +---- query I SELECT mismatches(NULL, s) FROM strings ORDER BY s @@ -108,21 +109,27 @@ NULL # incorrect usages statement error SELECT mismatches('hoi', 'hallo') +---- statement error SELECT mismatches('hallo', 'hoi') +---- statement error SELECT mismatches('', 'hallo') +---- statement error SELECT mismatches('hi', '') +---- statement error SELECT mismatches('', s) FROM strings ORDER BY s +---- statement error SELECT mismatches(s, '') FROM strings ORDER BY s +---- statement ok @@ -139,9 +146,11 @@ INSERT INTO strings VALUES ('hello'), ('halo'), (NULL) statement error SELECT mismatches(s, 'hallo') FROM strings +---- statement error SELECT mismatches('hallo', s) FROM strings +---- @@ -176,6 +185,8 @@ INSERT INTO strings VALUES ('hello', 'world'), ('hallo', 'ola'), ('hello', ''), statement error SELECT s, t, hamming(s, t) hd FROM strings WHERE length(s) = length(t) +---- statement error SELECT hamming(s, t) FROM strings +---- diff --git a/test/sql/function/string/test_pad.test b/test/sql/function/string/test_pad.test index 6228272a118f..10ae286bd86a 100644 --- a/test/sql/function/string/test_pad.test +++ b/test/sql/function/string/test_pad.test @@ -72,31 +72,41 @@ RÄcMotörHead MotörHeadRÄc MOTÖRHEAD motörhead # test incorrect usage statement error select LPAD() +---- statement error select LPAD(1) +---- statement error select LPAD(1, 2) +---- statement error select LPAD('Hello', 10, '') +---- statement error select LPAD('a', 100000000000000000, 0) +---- statement error select RPAD() +---- statement error select RPAD(1) +---- statement error select RPAD(1, 2) +---- statement error select RPAD('Hello', 10, '') +---- statement error select RPAD('a', 100000000000000000, 0) +---- diff --git a/test/sql/function/string/test_printf.test b/test/sql/function/string/test_printf.test index 274713c5ddce..68e1934a771e 100644 --- a/test/sql/function/string/test_printf.test +++ b/test/sql/function/string/test_printf.test @@ -72,6 +72,12 @@ SELECT printf('%s', 120381902481294715712::HUGEINT) ---- 120381902481294715712 +# uhugeint +query T +SELECT printf('%s', 120381902481294715712::UHUGEINT) +---- +120381902481294715712 + # decimal query T SELECT printf('%.3f', '1.234'::DECIMAL) @@ -112,9 +118,11 @@ floats: 3.14 +3e+00 3.141600E+00 # too few parameters statement error SELECT printf('%s') +---- statement error SELECT printf('%s %s', 'hello') +---- # excess parameters are ignored query T @@ -125,9 +133,11 @@ hello # incorrect types statement error SELECT printf('%s', 42) +---- statement error SELECT printf('%d', 'hello') +---- # Test printf with vectors statement ok @@ -145,9 +155,10 @@ INSERT INTO strings VALUES (3, NULL, 30, 'abcde') # printf without format specifiers: too few parameters statement error SELECT printf(fmt) FROM strings ORDER BY idx +---- query T -SELECT printf(CASE WHEN pint < 15 THEN NULL ELSE pint END) FROM strings ORDER BY idx +SELECT printf(CASE WHEN pint < 15 THEN NULL ELSE pint::VARCHAR END) FROM strings ORDER BY idx ---- NULL 20 diff --git a/test/sql/function/string/test_repeat.test b/test/sql/function/string/test_repeat.test index 163504fdb4e7..bc8c4685b8c9 100644 --- a/test/sql/function/string/test_repeat.test +++ b/test/sql/function/string/test_repeat.test @@ -49,13 +49,17 @@ MotörHeadMotörHeadMotörHeadMotörHead # test incorrect usage of reverse statement error select REPEAT() +---- statement error select REPEAT(1) +---- statement error select REPEAT('hello', 'world') +---- statement error select REPEAT('hello', 'world', 3) +---- diff --git a/test/sql/function/string/test_replace.test b/test/sql/function/string/test_replace.test index 1c1f76a0b49a..39740a5e1937 100644 --- a/test/sql/function/string/test_replace.test +++ b/test/sql/function/string/test_replace.test @@ -69,10 +69,13 @@ Motöread # test incorrect usage of replace statement error select REPLACE(1) +---- statement error select REPLACE(1, 2) +---- statement error select REPLACE(1, 2, 3, 4) +---- diff --git a/test/sql/function/string/test_reverse.test b/test/sql/function/string/test_reverse.test index da7f30828390..e00558570ca9 100644 --- a/test/sql/function/string/test_reverse.test +++ b/test/sql/function/string/test_reverse.test @@ -43,10 +43,13 @@ daeHrötoM # test incorrect usage of reverse statement error select REVERSE() +---- statement error select REVERSE(1, 2) +---- statement error select REVERSE('hello', 'world') +---- diff --git a/test/sql/function/string/test_right.test b/test/sql/function/string/test_right.test index d2f5f452d726..fdd86cd314aa 100644 --- a/test/sql/function/string/test_right.test +++ b/test/sql/function/string/test_right.test @@ -114,4 +114,5 @@ statement ok SELECT "right"('a', -9223372036854775808); statement error -SELECT right_grapheme('a', 9223372036854775808); \ No newline at end of file +SELECT right_grapheme('a', 9223372036854775808); +---- diff --git a/test/sql/function/string/test_similar_to.test b/test/sql/function/string/test_similar_to.test index 9e953aa2d966..9397ea3e57d8 100644 --- a/test/sql/function/string/test_similar_to.test +++ b/test/sql/function/string/test_similar_to.test @@ -133,4 +133,5 @@ aaa # invalid SIMILAR TO expression statement error SELECT s FROM strings WHERE s SIMILAR TO 'ab.*%' {escape ''} +---- diff --git a/test/sql/function/string/test_split_part.test b/test/sql/function/string/test_split_part.test index 290db766a6c2..2e3b8a595d73 100644 --- a/test/sql/function/string/test_split_part.test +++ b/test/sql/function/string/test_split_part.test @@ -88,9 +88,12 @@ select split_part(NULL,',',1) # test incorrect usage statement error select split_part() +---- statement error select split_part('a') +---- statement error -select split_part('a','a') \ No newline at end of file +select split_part('a','a') +---- diff --git a/test/sql/function/string/test_string_slice.test b/test/sql/function/string/test_string_slice.test index 28b410becf50..5641f6038154 100644 --- a/test/sql/function/string/test_string_slice.test +++ b/test/sql/function/string/test_string_slice.test @@ -20,18 +20,23 @@ INSERT INTO nulltable VALUES (NULL) statement error SELECT NULL::VARCHAR[off:length+off] FROM strings +---- statement error SELECT NULL::VARCHAR[NULL:length+NULL] FROM strings +---- statement error SELECT NULL::VARCHAR[off:NULL+off] FROM strings +---- statement error SELECT NULL::VARCHAR[off:NULL+off] FROM strings +---- statement error SELECT NULL::VARCHAR[NULL:NULL+NULL] FROM strings +---- # test zero length query II diff --git a/test/sql/function/string/test_string_split.test b/test/sql/function/string/test_string_split.test index 56da14e61499..41c009b284bb 100644 --- a/test/sql/function/string/test_string_split.test +++ b/test/sql/function/string/test_string_split.test @@ -345,10 +345,13 @@ select UNNEST(string_split_regex('1,2,3,4,*,6', '(\*|,)')) # test incorrect usage statement error select string_split() +---- statement error select string_split('a') +---- # incorrect regex statement error SELECT string_split_regex(a, '[') FROM test ORDER BY a; +---- diff --git a/test/sql/function/string/test_subscript.test b/test/sql/function/string/test_subscript.test index edf8a2b0a777..48153138fa76 100644 --- a/test/sql/function/string/test_subscript.test +++ b/test/sql/function/string/test_subscript.test @@ -64,6 +64,7 @@ e # test substrings with constant nulls in different places statement error SELECT NULL::VARCHAR[off] FROM strings +---- query T SELECT 'hello'[NULL] FROM strings @@ -75,12 +76,15 @@ NULL statement error SELECT NULL::VARCHAR[NULL] FROM strings +---- statement error SELECT NULL::VARCHAR[off] FROM strings +---- statement error SELECT NULL::VARCHAR[NULL] FROM strings +---- # negative offset query T diff --git a/test/sql/function/string/test_to_base.test b/test/sql/function/string/test_to_base.test index 3c7aa7af07cb..4103cfeb4e2d 100644 --- a/test/sql/function/string/test_to_base.test +++ b/test/sql/function/string/test_to_base.test @@ -13,6 +13,7 @@ number must be greater than or equal to 0 statement error SELECT to_base(-10, 2, 64) number must be greater than or equal to 0 +---- statement error SELECT to_base(10, 1) @@ -244,4 +245,4 @@ RF 8G2 DNZ M41 -ZS0 \ No newline at end of file +ZS0 diff --git a/test/sql/function/string/test_translate.test b/test/sql/function/string/test_translate.test index 294cc94a711a..f885426d2f24 100644 --- a/test/sql/function/string/test_translate.test +++ b/test/sql/function/string/test_translate.test @@ -126,10 +126,13 @@ Hi # test incorrect usage of translate statement error select TRANSLATE(1) +---- statement error select TRANSLATE(1, 2) +---- statement error select TRANSLATE(1, 2, 3, 4) +---- diff --git a/test/sql/function/string/test_trim.test b/test/sql/function/string/test_trim.test index 81be85e56d97..d44c1e76e8f1 100644 --- a/test/sql/function/string/test_trim.test +++ b/test/sql/function/string/test_trim.test @@ -112,19 +112,25 @@ NULL NULL NULL # test incorrect usage of ltrim/rtrim/trim statement error select LTRIM() +---- statement error select LTRIM('hello', 'world', 'aaa') +---- statement error select RTRIM() +---- statement error select RTRIM('hello', 'world', 'aaa') +---- statement error select TRIM() +---- statement error select TRIM('hello', 'world', 'aaa') +---- diff --git a/test/sql/function/string/test_unicode.test b/test/sql/function/string/test_unicode.test index 4d211a4f93db..0b7ed04d7ca8 100644 --- a/test/sql/function/string/test_unicode.test +++ b/test/sql/function/string/test_unicode.test @@ -46,7 +46,9 @@ select UNICODE(a) FROM strings WHERE b IS NOT NULL # test incorrect usage statement error select UNICODE() +---- statement error select UNICODE(1, 2) +---- diff --git a/test/sql/function/time/test_date_part.test b/test/sql/function/time/test_date_part.test index 266f34f60268..c456340ff558 100644 --- a/test/sql/function/time/test_date_part.test +++ b/test/sql/function/time/test_date_part.test @@ -74,69 +74,91 @@ endloop # time gives errors for date-only parts statement error SELECT era(i) FROM times +---- statement error SELECT year(i) FROM times +---- statement error SELECT month(i) FROM times +---- statement error SELECT day(i) FROM times +---- statement error SELECT decade(i) FROM times +---- statement error SELECT century(i) FROM times +---- statement error SELECT millennium(i) FROM times +---- statement error SELECT quarter(i) FROM times +---- statement error SELECT dayofweek(i) FROM times +---- statement error SELECT isodow(i) FROM times +---- statement error SELECT dayofyear(i) FROM times +---- statement error SELECT week(i) FROM times +---- statement error SELECT yearweek(i) FROM times +---- statement error select extract(dow from time '10:00:00'); +---- statement error select extract(doy from time '10:00:00'); +---- statement error select extract(yearweek from time '10:00:00'); +---- statement error select extract(century from time '10:00:00'); +---- statement error SELECT era(i) FROM times +---- statement error select extract(era from time '10:00:00'); +---- statement error select date_part('era', time '10:00:00'); +---- statement error select extract(julian from time '10:00:00'); +---- statement error select date_part('julian', time '10:00:00'); +---- # Correctness: Compare date_part against function value foreach partcode hour minute second millisecond microsecond epoch @@ -221,5 +243,6 @@ statement error SELECT d, DATE_PART(['${datepart}'], d) AS parts FROM times ORDER BY 1; +---- endloop diff --git a/test/sql/function/time/test_extract.test b/test/sql/function/time/test_extract.test index 4877f897744b..d62cf6c39856 100644 --- a/test/sql/function/time/test_extract.test +++ b/test/sql/function/time/test_extract.test @@ -69,36 +69,48 @@ NULL # time gives errors for date-only parts statement error SELECT EXTRACT(year FROM i) FROM times +---- statement error SELECT EXTRACT(month FROM i) FROM times +---- statement error SELECT EXTRACT(day FROM i) FROM times +---- statement error SELECT EXTRACT(decade FROM i) FROM times +---- statement error SELECT EXTRACT(century FROM i) FROM times +---- statement error SELECT EXTRACT(millennium FROM i) FROM times +---- statement error SELECT EXTRACT(quarter FROM i) FROM times +---- statement error SELECT EXTRACT(dayofweek FROM i) FROM times +---- statement error SELECT EXTRACT(isodow FROM i) FROM times +---- statement error SELECT EXTRACT(dayofyear FROM i) FROM times +---- statement error SELECT EXTRACT(week FROM i) FROM times +---- statement error SELECT EXTRACT(yearweek FROM i) FROM times +---- diff --git a/test/sql/function/timestamp/age.test b/test/sql/function/timestamp/age.test index 961f79e20299..33d4d3041c78 100644 --- a/test/sql/function/timestamp/age.test +++ b/test/sql/function/timestamp/age.test @@ -77,8 +77,8 @@ SELECT AGE(TIMESTAMP '2001-04-10', t2) FROM timestamp; 43 years 9 months 27 days -13 years -7 days -12 years -8 months -21 days --18 years -2 months -1 days --18 years -2 months -1 days +-18 years -2 months -1 day +-18 years -2 months -1 day NULL NULL diff --git a/test/sql/function/timestamp/current_time.test b/test/sql/function/timestamp/current_time.test index de4e0da65b6b..a5fb906bb76a 100644 --- a/test/sql/function/timestamp/current_time.test +++ b/test/sql/function/timestamp/current_time.test @@ -42,3 +42,9 @@ SELECT typeof(${func}()); TIMESTAMP WITH TIME ZONE endloop + +statement ok +SELECT CURRENT_TIME AS TIME + +statement ok +SELECT CURRENT_TIME + interval (1) second AS TIME diff --git a/test/sql/function/timestamp/date_diff.test_slow b/test/sql/function/timestamp/date_diff.test_slow index 597561502649..90bc3b64d2cf 100644 --- a/test/sql/function/timestamp/date_diff.test_slow +++ b/test/sql/function/timestamp/date_diff.test_slow @@ -72,7 +72,7 @@ SELECT DATEDIFF('${datepart}', startdate, enddate) + DATEDIFF('${datepart}', end endloop # Table -foreach datepart year month day +foreach datepart year month day hour minute second millisecond microsecond query I SELECT DATEDIFF('${datepart}', startdate, startdate + INTERVAL 1 ${datepart}) @@ -86,22 +86,9 @@ FROM (SELECT '2021-07-30'::DATE + INTERVAL (d) DAY AS startdate FROM range(0, 5) endloop -foreach datepart hour minute second millisecond microsecond - -query I -SELECT DATEDIFF('${datepart}', startdate, startdate + INTERVAL 1 ${datepart}) -FROM (SELECT '2021-07-30'::DATE + INTERVAL (d) DAY AS startdate FROM range(0, 5) tbl(d)) days ----- -0 -0 -0 -0 -0 - -endloop - statement error SELECT datediff('microseconds',DATE '4151706-4-6',DATE '-5559461-6-26'); +---- query I @@ -170,6 +157,7 @@ foreach datepart year quarter month day dayofyear decade century millennium week statement error SELECT DATEDIFF('${datepart}', startdate, enddate) FROM time1 +---- endloop @@ -339,6 +327,7 @@ endloop # Issue #5239: Overflow statement error SELECT datediff('microseconds',TIMESTAMP '276858-10-21 9:36:33',TIMESTAMP '-222154-6-30 5:19:49');---- +---- # # VARCHAR @@ -385,3 +374,4 @@ INSERT into parts VALUES('duck'); statement error SELECT datepart, DATEDIFF(datepart, '2005-12-31 23:59:59.9999999'::TIMESTAMP, '2006-01-01 00:00:00.0000000'::TIMESTAMP) FROM parts; +---- diff --git a/test/sql/function/timestamp/date_sub.test_slow b/test/sql/function/timestamp/date_sub.test_slow index 202b2d757be8..9bab51a6956a 100644 --- a/test/sql/function/timestamp/date_sub.test_slow +++ b/test/sql/function/timestamp/date_sub.test_slow @@ -109,7 +109,7 @@ SELECT DATESUB('${datepart}', startdate, enddate) + DATESUB('${datepart}', endda endloop # Table -foreach datepart year month day +foreach datepart year month day hour minute second millisecond microsecond query I SELECT DATESUB('${datepart}', startdate, startdate + INTERVAL 1 ${datepart}) @@ -123,20 +123,6 @@ FROM (SELECT '2021-07-30'::DATE + INTERVAL (d) DAY AS startdate FROM range(0, 5) endloop -foreach datepart hour minute second millisecond microsecond - -query I -SELECT DATESUB('${datepart}', startdate, startdate + INTERVAL 1 ${datepart}) -FROM (SELECT '2021-07-30'::DATE + INTERVAL (d) DAY AS startdate FROM range(0, 5) tbl(d)) days ----- -0 -0 -0 -0 -0 - -endloop - # # TIMESTAMP # @@ -368,12 +354,15 @@ endloop # Overflow statement error SELECT datesub('week',TIMESTAMP '-214169-1-18 21:29:6',TIMESTAMP '93495-11-19 13:3:22'); +---- statement error SELECT datesub('dayofyear',TIMESTAMP '-109502-12-4 20:26:13',TIMESTAMP '252823-4-6 9:56:28'); +---- statement error SELECT datesub('epoch',TIMESTAMP '153520-4-1 20:33:43',TIMESTAMP '-269898-3-29 12:9:14'); +---- # # TIME @@ -462,6 +451,7 @@ foreach datepart year month day decade century millennium quarter week statement error select DATESUB('${datepart}', '12:00:00.000050'::TIME, '12:00:00'::TIME) +---- endloop @@ -621,3 +611,4 @@ INSERT into parts VALUES('duck'); statement error SELECT datepart, DATESUB(datepart, '2004-01-31 12:00:00'::TIMESTAMP, '2004-02-29 13:05:47.123456'::TIMESTAMP) FROM parts; +---- diff --git a/test/sql/function/timestamp/test_date_part.test b/test/sql/function/timestamp/test_date_part.test index 461b67c868d5..4198cf26338b 100644 --- a/test/sql/function/timestamp/test_date_part.test +++ b/test/sql/function/timestamp/test_date_part.test @@ -194,6 +194,22 @@ WHERE p <> f endloop +# Cast injection for DOUBLE types +foreach tstype TIMESTAMP TIMESTAMP_S TIMESTAMP_MS TIMESTAMP_NS + +query I +SELECT EXTRACT(EPOCH FROM ${tstype} '1992-09-20 11:30:00.0'); +---- +716988600.0 + +query I +SELECT EXTRACT(JULIAN FROM ${tstype} '1992-09-20 00:00:00.0'); +---- +2448886.0 + +endloop + + # # Structs # @@ -821,22 +837,27 @@ statement error SELECT ts, DATE_PART(['duck', 'month', 'day'], ts) AS parts FROM timestamps ORDER BY 1; +---- # Duplicate parts statement error SELECT ts, DATE_PART(['year', 'month', 'day', 'year'], ts) AS parts FROM timestamps ORDER BY 1; +---- # Empty parts statement error SELECT DATE_PART([], ts) FROM timestamps; +---- # Null parts statement error SELECT DATE_PART(['year', NULL, 'month'], ts) FROM timestamps; +---- # Non-constant parts statement error WITH parts(p) AS (VALUES (['year', 'month', 'day']), (['hour', 'minute', 'microsecond'])) SELECT DATE_PART(p, ts) FROM parts, timestamps; +---- diff --git a/test/sql/function/timestamp/test_icu_age.test b/test/sql/function/timestamp/test_icu_age.test index 622b5346d60c..7c3dc8c4e422 100644 --- a/test/sql/function/timestamp/test_icu_age.test +++ b/test/sql/function/timestamp/test_icu_age.test @@ -79,8 +79,8 @@ SELECT AGE(TIMESTAMPTZ '2001-04-10', t2) FROM timestamps; 43 years 9 months 28 days -13 years -7 days -12 years -8 months -22 days --18 years -2 months -1 days --18 years -2 months -1 days +-18 years -2 months -1 day +-18 years -2 months -1 day NULL NULL diff --git a/test/sql/function/timestamp/test_icu_dateadd.test b/test/sql/function/timestamp/test_icu_dateadd.test index 4c452f6925d9..3e312376043d 100644 --- a/test/sql/function/timestamp/test_icu_dateadd.test +++ b/test/sql/function/timestamp/test_icu_dateadd.test @@ -57,13 +57,13 @@ query II SELECT iv, '2021-12-01 13:54:48.123456Z'::TIMESTAMPTZ + iv FROM intervals; ---- 1 year 2022-12-01 05:54:48.123456-08 --1 years 2020-12-01 05:54:48.123456-08 +-1 year 2020-12-01 05:54:48.123456-08 1 month 2022-01-01 05:54:48.123456-08 --1 months 2021-11-01 05:54:48.123456-07 +-1 month 2021-11-01 05:54:48.123456-07 1 year 1 month 2023-01-01 05:54:48.123456-08 --1 years -3 months 2020-09-01 05:54:48.123456-07 +-1 year -3 months 2020-09-01 05:54:48.123456-07 1 day 2021-12-02 05:54:48.123456-08 --1 days 2021-11-30 05:54:48.123456-08 +-1 day 2021-11-30 05:54:48.123456-08 32 days 2022-01-02 05:54:48.123456-08 -40 days 2021-10-22 05:54:48.123456-07 01:00:00 2021-12-01 06:54:48.123456-08 @@ -95,6 +95,7 @@ select '1999-12-31 16:00:00-08'::timestamptz + interval 2400 hours statement error select 'epoch'::timestamptz + '9223372036854775000 microseconds'::interval +---- query I select 'epoch'::timestamptz + '9223372036854774999 microseconds'::interval @@ -103,6 +104,7 @@ select 'epoch'::timestamptz + '9223372036854774999 microseconds'::interval statement error select 'epoch'::timestamptz + '-9223372022400001001 microseconds'::interval +---- query I select 'epoch'::timestamptz + '-9223372022400001000 microseconds'::interval @@ -114,13 +116,13 @@ query II SELECT iv, iv + '2021-12-01 13:54:48.123456Z'::TIMESTAMPTZ FROM intervals; ---- 1 year 2022-12-01 05:54:48.123456-08 --1 years 2020-12-01 05:54:48.123456-08 +-1 year 2020-12-01 05:54:48.123456-08 1 month 2022-01-01 05:54:48.123456-08 --1 months 2021-11-01 05:54:48.123456-07 +-1 month 2021-11-01 05:54:48.123456-07 1 year 1 month 2023-01-01 05:54:48.123456-08 --1 years -3 months 2020-09-01 05:54:48.123456-07 +-1 year -3 months 2020-09-01 05:54:48.123456-07 1 day 2021-12-02 05:54:48.123456-08 --1 days 2021-11-30 05:54:48.123456-08 +-1 day 2021-11-30 05:54:48.123456-08 32 days 2022-01-02 05:54:48.123456-08 -40 days 2021-10-22 05:54:48.123456-07 01:00:00 2021-12-01 06:54:48.123456-08 @@ -152,6 +154,7 @@ select interval 2400 hours + '1999-12-31 16:00:00-08'::timestamptz statement error select '9223372036854775000 microseconds'::interval + 'epoch'::timestamptz +---- query I select '9223372036854774999 microseconds'::interval + 'epoch'::timestamptz @@ -160,6 +163,7 @@ select '9223372036854774999 microseconds'::interval + 'epoch'::timestamptz statement error select '-9223372022400001001 microseconds'::interval + 'epoch'::timestamptz +---- query I select '-9223372022400001000 microseconds'::interval + 'epoch'::timestamptz @@ -192,13 +196,13 @@ query II SELECT iv, '2021-12-01 13:54:48.123456Z'::TIMESTAMPTZ - iv FROM intervals; ---- 1 year 2020-12-01 05:54:48.123456-08 --1 years 2022-12-01 05:54:48.123456-08 +-1 year 2022-12-01 05:54:48.123456-08 1 month 2021-11-01 05:54:48.123456-07 --1 months 2022-01-01 05:54:48.123456-08 +-1 month 2022-01-01 05:54:48.123456-08 1 year 1 month 2020-11-01 05:54:48.123456-08 --1 years -3 months 2023-03-01 05:54:48.123456-08 +-1 year -3 months 2023-03-01 05:54:48.123456-08 1 day 2021-11-30 05:54:48.123456-08 --1 days 2021-12-02 05:54:48.123456-08 +-1 day 2021-12-02 05:54:48.123456-08 32 days 2021-10-30 05:54:48.123456-07 -40 days 2022-01-10 05:54:48.123456-08 01:00:00 2021-12-01 04:54:48.123456-08 @@ -230,6 +234,7 @@ select '2000-04-09 17:00:00-07'::timestamptz - interval 2400 hours statement error select 'epoch'::timestamptz - '9223372022400001001 microseconds'::interval +---- query I select 'epoch'::timestamptz - '9223372022400001000 microseconds'::interval @@ -252,13 +257,13 @@ query II SELECT iv, '1962-07-31 12:20:48.123456Z'::TIMESTAMPTZ + iv FROM intervals; ---- 1 year 1963-07-31 05:20:48.123456-07 --1 years 1961-07-31 05:20:48.123456-07 +-1 year 1961-07-31 05:20:48.123456-07 1 month 1962-08-31 05:20:48.123456-07 --1 months 1962-06-30 05:20:48.123456-07 +-1 month 1962-06-30 05:20:48.123456-07 1 year 1 month 1963-08-31 05:20:48.123456-07 --1 years -3 months 1961-04-30 05:20:48.123456-07 +-1 year -3 months 1961-04-30 05:20:48.123456-07 1 day 1962-08-01 05:20:48.123456-07 --1 days 1962-07-30 05:20:48.123456-07 +-1 day 1962-07-30 05:20:48.123456-07 32 days 1962-09-01 05:20:48.123456-07 -40 days 1962-06-21 05:20:48.123456-07 01:00:00 1962-07-31 06:20:48.123456-07 @@ -316,36 +321,47 @@ WHERE label = 'tsmin' # Backwards from the minimum statement error SELECT ts + (INTERVAL (-1) year) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-1) month) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-15) month) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-1) day) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-40) day) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-1) hour) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-14) hour) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-1) minute) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-72) minute) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-1) second) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-118) second) FROM limits WHERE label = 'tsmin'; +---- # Succeeds because we are below the precision of UDate query I @@ -355,17 +371,21 @@ SELECT ts + (INTERVAL (-1) millisecond) FROM limits WHERE label = 'tsmin'; statement error SELECT ts + (INTERVAL (-150) millisecond) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-1) microsecond) FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + (INTERVAL (-485) microsecond) FROM limits WHERE label = 'tsmin'; statement error SELECT ts + INTERVAL (-150) millisecond FROM limits WHERE label = 'tsmin'; +---- statement error SELECT ts + INTERVAL (-485) microsecond FROM limits WHERE label = 'tsmin'; +---- # Backward from the maximum # UDate loses ms accuracy when close to the upper limit, @@ -376,10 +396,10 @@ SELECT iv, ts + iv FROM limits, intervals WHERE label = 'tsmax' AND iv < (INTERVAL (-1) millisecond); ---- --1 years 294246-01-09 20:00:54.776806-08 --1 months 294246-12-09 20:00:54.776806-08 --1 years -3 months 294245-10-09 20:00:54.776806-07 --1 days 294247-01-08 20:00:54.776806-08 +-1 year 294246-01-09 20:00:54.776806-08 +-1 month 294246-12-09 20:00:54.776806-08 +-1 year -3 months 294245-10-09 20:00:54.776806-07 +-1 day 294247-01-08 20:00:54.776806-08 -40 days 294246-11-30 20:00:54.776806-08 -01:00:00 294247-01-09 19:00:54.776806-08 -14:00:00 294247-01-09 06:00:54.776806-08 @@ -391,58 +411,76 @@ WHERE label = 'tsmax' statement error SELECT ts + (INTERVAL (-485) microsecond) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL (-1) microsecond) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL (-1) millisecond) FROM limits WHERE label = 'tsmax'; +---- # Forward from the maximum statement error SELECT ts + (INTERVAL 1 year) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 1 month) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 13 month) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 1 day) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 32 day) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 1 hour) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 11 hour) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 1 minute) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 6 minute) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 1 second) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 23 second) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 1 millisecond) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 910 millisecond) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 1 microsecond) FROM limits WHERE label = 'tsmax'; +---- statement error SELECT ts + (INTERVAL 612 microsecond) FROM limits WHERE label = 'tsmax'; +---- # DST arithmetic statement ok diff --git a/test/sql/function/timestamp/test_icu_datediff.test b/test/sql/function/timestamp/test_icu_datediff.test index b67d742285e5..7842bee53f42 100644 --- a/test/sql/function/timestamp/test_icu_datediff.test +++ b/test/sql/function/timestamp/test_icu_datediff.test @@ -117,3 +117,23 @@ query I SELECT date_diff('week', '2015-10-06 04:22:11'::timestamptz, '2016-11-25 23:19:37'::timestamptz); ---- 59 + +# DST diffs should not be negative +statement ok +set timezone='CET'; + +statement ok +CREATE TABLE issue9673(starttime TIMESTAMPTZ, recordtime TIMESTAMPTZ); + +statement ok +INSERT INTO issue9673 VALUES ('2022-10-30 02:17:00+02', '2022-10-30 02:00:21+01'); + +statement ok +INSERT INTO issue9673 VALUES ('2021-10-31 02:39:00+02', '2021-10-31 02:38:20+01'); + +query III +SELECT starttime, recordtime, date_diff('minute', starttime, recordtime) +FROM issue9673; +---- +2022-10-30 02:17:00+02 2022-10-30 02:00:21+01 43 +2021-10-31 02:39:00+02 2021-10-31 02:38:20+01 59 diff --git a/test/sql/function/timestamp/test_icu_datepart.test b/test/sql/function/timestamp/test_icu_datepart.test index ca09a0f3e48b..15b3d676c659 100644 --- a/test/sql/function/timestamp/test_icu_datepart.test +++ b/test/sql/function/timestamp/test_icu_datepart.test @@ -700,25 +700,30 @@ statement error SELECT DATE_PART(['duck', 'minute', 'microsecond', 'timezone'], ts), ts FROM timestamps ORDER BY 2 +---- # Duplicate parts statement error SELECT DATE_PART(['era', 'year', 'month', 'era'], ts), ts FROM timestamps ORDER BY 2 +---- # Empty parts statement error SELECT DATE_PART([], ts) FROM timestamps; +---- # Null parts statement error SELECT DATE_PART(['year', NULL, 'month'], ts) FROM timestamps; +---- # Non-constant parts statement error WITH parts(p) AS (VALUES (['year', 'month', 'day']), (['hour', 'minute', 'microsecond'])) SELECT DATE_PART(p, ts) FROM parts, timestamps; +---- # last_day statement ok diff --git a/test/sql/function/timestamp/test_icu_datetrunc.test b/test/sql/function/timestamp/test_icu_datetrunc.test index 1fb437548f99..9b67ef3a0c96 100644 --- a/test/sql/function/timestamp/test_icu_datetrunc.test +++ b/test/sql/function/timestamp/test_icu_datetrunc.test @@ -227,3 +227,14 @@ FROM generate_series('2000-01-01 00:00:00-08'::TIMESTAMP, '2023-01-01 00:00:00-0 # Unknown specifier should fail statement error SELECT date_trunc('duck', TIMESTAMPTZ '2019-01-06 04:03:02-08') FROM timestamps LIMIT 1; +---- + +# Minute truncation within a DST fall back ambiguity +statement ok +set timezone='CET'; + +query I +select date_trunc('minute', '2022-10-30 02:17:00+02'::TIMESTAMPTZ); +---- +2022-10-30 02:17:00+02 + diff --git a/test/sql/function/timestamp/test_icu_makedate.test b/test/sql/function/timestamp/test_icu_makedate.test index 463407266f0d..3d712cbc6274 100644 --- a/test/sql/function/timestamp/test_icu_makedate.test +++ b/test/sql/function/timestamp/test_icu_makedate.test @@ -420,7 +420,7 @@ SELECT make_timestamptz( CAST(a."bigint" AS BIGINT), CAST(a."bigint" AS BIGINT), CAST(a."bigint" AS BIGINT), CAST(a."bigint" AS BIGINT), CAST(txid_current() AS BIGINT), - CAST(CAST(COALESCE(a."bigint", a."bigint") AS BIGINT) AS BIGINT)) + CAST(CAST(COALESCE(a."bigint", a."bigint") AS BIGINT) AS VARCHAR)) FROM all_types a; ---- Overflow in subtraction diff --git a/test/sql/function/timestamp/test_icu_strftime.test b/test/sql/function/timestamp/test_icu_strftime.test index 5c71a89b8277..a5c99ca8454b 100644 --- a/test/sql/function/timestamp/test_icu_strftime.test +++ b/test/sql/function/timestamp/test_icu_strftime.test @@ -16,14 +16,17 @@ PRAGMA enable_verification statement ok CREATE TABLE timestamps AS SELECT ts::TIMESTAMPTZ AS ts FROM (VALUES + ('-infinity'), ('0044-03-13 (BC) 10:33:41.987654+01'), ('1962-07-31 12:20:48.123456+00'), + ('epoch'), ('2021-01-01 00:00:00+00'), ('2021-02-02 00:00:00+00'), ('2021-11-26 10:15:13.123456+00'), ('2021-11-15 02:30:00-08'), ('2021-11-15 02:30:00-07'), ('2021-12-25 00:00:00+02'), + ('infinity'), (NULL), ) tbl(ts); @@ -31,41 +34,50 @@ CREATE TABLE timestamps AS SELECT ts::TIMESTAMPTZ AS ts FROM (VALUES query I SELECT ts::VARCHAR FROM timestamps; ---- +-infinity 0044-03-13 (BC) 01:40:43.987654-07:52 1962-07-31 05:20:48.123456-07 +1969-12-31 16:00:00-08 2020-12-31 16:00:00-08 2021-02-01 16:00:00-08 2021-11-26 02:15:13.123456-08 2021-11-15 02:30:00-08 2021-11-15 01:30:00-08 2021-12-24 14:00:00-08 +infinity NULL query II SELECT ts, strftime(ts, '%Y-%m-%d %H:%M:%S.%f %Z') FROM timestamps; ---- +-infinity -infinity 0044-03-13 (BC) 01:40:43.987654-07:52 -43-03-13 01:40:43.987654 America/Los_Angeles 1962-07-31 05:20:48.123456-07 1962-07-31 05:20:48.123456 America/Los_Angeles +1969-12-31 16:00:00-08 1969-12-31 16:00:00.000000 America/Los_Angeles 2020-12-31 16:00:00-08 2020-12-31 16:00:00.000000 America/Los_Angeles 2021-02-01 16:00:00-08 2021-02-01 16:00:00.000000 America/Los_Angeles 2021-11-26 02:15:13.123456-08 2021-11-26 02:15:13.123456 America/Los_Angeles 2021-11-15 02:30:00-08 2021-11-15 02:30:00.000000 America/Los_Angeles 2021-11-15 01:30:00-08 2021-11-15 01:30:00.000000 America/Los_Angeles 2021-12-24 14:00:00-08 2021-12-24 14:00:00.000000 America/Los_Angeles +infinity infinity NULL NULL # TZ at the start query II SELECT ts, strftime(ts, '%Z %Y-%m-%d %H:%M:%S.%f') FROM timestamps; ---- +-infinity -infinity 0044-03-13 (BC) 01:40:43.987654-07:52 America/Los_Angeles -43-03-13 01:40:43.987654 1962-07-31 05:20:48.123456-07 America/Los_Angeles 1962-07-31 05:20:48.123456 +1969-12-31 16:00:00-08 America/Los_Angeles 1969-12-31 16:00:00.000000 2020-12-31 16:00:00-08 America/Los_Angeles 2020-12-31 16:00:00.000000 2021-02-01 16:00:00-08 America/Los_Angeles 2021-02-01 16:00:00.000000 2021-11-26 02:15:13.123456-08 America/Los_Angeles 2021-11-26 02:15:13.123456 2021-11-15 02:30:00-08 America/Los_Angeles 2021-11-15 02:30:00.000000 2021-11-15 01:30:00-08 America/Los_Angeles 2021-11-15 01:30:00.000000 2021-12-24 14:00:00-08 America/Los_Angeles 2021-12-24 14:00:00.000000 +infinity infinity NULL NULL # @@ -126,6 +138,9 @@ INSERT INTO formats VALUES ('%Y'), ('%y'), ('%y'), + ('%V'), + ('%G'), + ('%u'), (NULL), ; @@ -183,6 +198,9 @@ XX2022-04-07 11:12:15XX2022-04-07XX11:12:15XX 2022 22 22 +14 +2022 +4 NULL # @@ -195,27 +213,33 @@ SET TimeZone='Asia/Kathmandu'; query II SELECT ts, strftime(ts, '%Y-%m-%d %H:%M:%S.%f %Z') FROM timestamps; ---- +-infinity -infinity 0044-03-13 (BC) 15:14:57.987654+05:41 -43-03-13 15:14:57.987654 Asia/Kathmandu 1962-07-31 17:50:48.123456+05:30 1962-07-31 17:50:48.123456 Asia/Kathmandu +1970-01-01 05:30:00+05:30 1970-01-01 05:30:00.000000 Asia/Kathmandu 2021-01-01 05:45:00+05:45 2021-01-01 05:45:00.000000 Asia/Kathmandu 2021-02-02 05:45:00+05:45 2021-02-02 05:45:00.000000 Asia/Kathmandu 2021-11-26 16:00:13.123456+05:45 2021-11-26 16:00:13.123456 Asia/Kathmandu 2021-11-15 16:15:00+05:45 2021-11-15 16:15:00.000000 Asia/Kathmandu 2021-11-15 15:15:00+05:45 2021-11-15 15:15:00.000000 Asia/Kathmandu 2021-12-25 03:45:00+05:45 2021-12-25 03:45:00.000000 Asia/Kathmandu +infinity infinity NULL NULL query II SELECT ts, strftime(ts, '%Y-%m-%d %H:%M:%S.%f %z') FROM timestamps; ---- +-infinity -infinity 0044-03-13 (BC) 15:14:57.987654+05:41 -43-03-13 15:14:57.987654 +05:41 1962-07-31 17:50:48.123456+05:30 1962-07-31 17:50:48.123456 +05:30 +1970-01-01 05:30:00+05:30 1970-01-01 05:30:00.000000 +05:30 2021-01-01 05:45:00+05:45 2021-01-01 05:45:00.000000 +05:45 2021-02-02 05:45:00+05:45 2021-02-02 05:45:00.000000 +05:45 2021-11-26 16:00:13.123456+05:45 2021-11-26 16:00:13.123456 +05:45 2021-11-15 16:15:00+05:45 2021-11-15 16:15:00.000000 +05:45 2021-11-15 15:15:00+05:45 2021-11-15 15:15:00.000000 +05:45 2021-12-25 03:45:00+05:45 2021-12-25 03:45:00.000000 +05:45 +infinity infinity NULL NULL statement ok @@ -224,48 +248,41 @@ SET TimeZone='Canada/Newfoundland'; query II SELECT ts, strftime(ts, '%Y-%m-%d %H:%M:%S.%f %Z') FROM timestamps; ---- +-infinity -infinity 0044-03-13 (BC) 06:02:49.987654-03:30 -43-03-13 06:02:49.987654 Canada/Newfoundland 1962-07-31 09:50:48.123456-02:30 1962-07-31 09:50:48.123456 Canada/Newfoundland +1969-12-31 20:30:00-03:30 1969-12-31 20:30:00.000000 Canada/Newfoundland 2020-12-31 20:30:00-03:30 2020-12-31 20:30:00.000000 Canada/Newfoundland 2021-02-01 20:30:00-03:30 2021-02-01 20:30:00.000000 Canada/Newfoundland 2021-11-26 06:45:13.123456-03:30 2021-11-26 06:45:13.123456 Canada/Newfoundland 2021-11-15 07:00:00-03:30 2021-11-15 07:00:00.000000 Canada/Newfoundland 2021-11-15 06:00:00-03:30 2021-11-15 06:00:00.000000 Canada/Newfoundland 2021-12-24 18:30:00-03:30 2021-12-24 18:30:00.000000 Canada/Newfoundland +infinity infinity NULL NULL query II SELECT ts, strftime(ts, '%Y-%m-%d %H:%M:%S.%f %z') FROM timestamps; ---- +-infinity -infinity 0044-03-13 (BC) 06:02:49.987654-03:30 -43-03-13 06:02:49.987654 -03:30 1962-07-31 09:50:48.123456-02:30 1962-07-31 09:50:48.123456 -02:30 +1969-12-31 20:30:00-03:30 1969-12-31 20:30:00.000000 -03:30 2020-12-31 20:30:00-03:30 2020-12-31 20:30:00.000000 -03:30 2021-02-01 20:30:00-03:30 2021-02-01 20:30:00.000000 -03:30 2021-11-26 06:45:13.123456-03:30 2021-11-26 06:45:13.123456 -03:30 2021-11-15 07:00:00-03:30 2021-11-15 07:00:00.000000 -03:30 2021-11-15 06:00:00-03:30 2021-11-15 06:00:00.000000 -03:30 2021-12-24 18:30:00-03:30 2021-12-24 18:30:00.000000 -03:30 +infinity infinity NULL NULL -# -# Infinities -# - -foreach special infinity -infinity - -# PG to_char returns NULL here -query I -SELECT strftime('${special}'::TIMESTAMPTZ, '%Y-%m-%d'); ----- -NULL - -endloop - # # Errors/Coverage # statement error SELECT ts, strftime(ts, '%C') FROM timestamps; +---- # # Tests for fix of nr3 in list of https://github.com/duckdb/duckdb/issues/5984 diff --git a/test/sql/function/timestamp/test_icu_strptime.test b/test/sql/function/timestamp/test_icu_strptime.test index 0df1fefdc866..c6de0be18943 100644 --- a/test/sql/function/timestamp/test_icu_strptime.test +++ b/test/sql/function/timestamp/test_icu_strptime.test @@ -43,6 +43,27 @@ select strptime('2022-03-05 17:59:17.123456789 CST', '%Y-%m-%d %H:%M:%S.%n %Z'); ---- 2022-03-05 15:59:17.123457-08 +# Parse specials + +foreach func strptime try_strptime + +query I +select ${func}('infinity', '%Y-%m-%d %H:%M:%S.%g %Z'); +---- +infinity + +query I +select ${func}('-infinity', '%Y-%m-%d %H:%M:%S.%g %Z'); +---- +-infinity + +query I +select ${func}('epoch', '%Y-%m-%d %H:%M:%S.%g %Z'); +---- +1969-12-31 16:00:00-08 + +endloop + # # Parsing pre-Gregorian timestamps # @@ -429,20 +450,24 @@ INSERT INTO multiples VALUES statement error SELECT strptime(s, f) FROM multiples; +---- # Invalid format statement error select strptime('2022-03-05 17:59:17.877 CST', '%C'); +---- # Parse error statement error select strptime('2022-03-05 17:59:17.877 CST', '%Y-%m-%d %H:%M:%S.%g'); +---- # # Cast VARCHAR => TIMESTAMPTZ # statement error select 'fnord'::timestamptz; +---- query I select TRY_CAST('fnord' AS timestamptz); diff --git a/test/sql/function/timestamp/test_icu_time_bucket_timestamptz.test b/test/sql/function/timestamp/test_icu_time_bucket_timestamptz.test index 8cdfb01e9e24..1f216f2bb484 100644 --- a/test/sql/function/timestamp/test_icu_time_bucket_timestamptz.test +++ b/test/sql/function/timestamp/test_icu_time_bucket_timestamptz.test @@ -509,11 +509,11 @@ select w, t, shift, time_bucket(w, t, shift) from timestamps_tz; 10 days 2014-07-14 21:02:21.003003-07 -2 days 04:00:00 2014-07-05 21:00:00-07 2 months 2016-03-20 19:02:22.003003-07 00:00:00 2016-02-29 16:00:00-08 2 months 2018-01-31 09:02:23.003003-08 1 month 7 days 2017-12-07 16:00:00-08 -2 months 2019-09-30 04:02:24.003003-07 -1 months 7 days 2019-08-07 17:00:00-07 +2 months 2019-09-30 04:02:24.003003-07 -1 month 7 days 2019-08-07 17:00:00-07 2 years 2020-03-19 08:02:25.003003-07 6 months 2018-06-30 17:00:00-07 2 years 2022-07-20 06:02:26.003003-07 -6 months 2021-06-30 17:00:00-07 10 days 2024-08-11 12:02:26.003003-07 1 year 2024-08-09 17:00:00-07 -10 days 2032-12-18 01:02:26.003003-08 -1 years 2032-12-14 16:00:00-08 +10 days 2032-12-18 01:02:26.003003-08 -1 year 2032-12-14 16:00:00-08 10 days infinity 00:00:00 infinity query II @@ -1094,54 +1094,71 @@ select w, t, timezone, time_bucket(w, t, timezone) from timestamps_tz; statement error select time_bucket('-3 hours'::interval, '2019-04-05 00:00:00+03'::timestamptz); +---- statement error select time_bucket('-3 hours'::interval, '2019-04-05 00:00:00+03'::timestamptz, '1 hour 30 minutes'::interval); +---- statement error select time_bucket('-3 hours'::interval, '2019-04-05 00:00:00+03'::timestamptz, '2019-04-05 00:00:00+03'::timestamptz); +---- statement error select time_bucket('-1 month'::interval, '2019-04-05 00:00:00-11'::timestamptz); +---- statement error select time_bucket('-1 month'::interval, '2019-04-05 00:00:00-11'::timestamptz, '1 hour 30 minutes'::interval); +---- statement error select time_bucket('-1 month'::interval, '2019-04-05 00:00:00-11'::timestamptz, '2018-04-05 00:00:00+11'::timestamptz); +---- statement error select time_bucket('1 day - 172800 seconds'::interval, '2018-05-05 00:00:00+07'::timestamptz); +---- statement error select time_bucket('1 day - 172800 seconds'::interval, '2018-05-05 00:00:00+07'::timestamptz, '1 hour 30 minutes'::interval); +---- statement error select time_bucket('1 day - 172800 seconds'::interval, '2018-05-05 00:00:00+07'::timestamptz, '2018-05-05 00:00:00+07'::timestamptz); +---- statement error select time_bucket('1 month 1 day'::interval, '2018-05-05 00:00:00+02'::timestamptz); +---- statement error select time_bucket('1 month 1 day'::interval, '2018-05-05 00:00:00+02'::timestamptz, '1 hour 30 minutes'::interval); +---- statement error select time_bucket('1 month 1 day'::interval, '2018-05-05 00:00:00+02'::timestamptz, '2018-05-05 00:00:00+02'::timestamptz); +---- statement error select time_bucket('3 days'::interval, '2019-05-05 00:00:00+09'::timestamptz, '2000000000 months'::interval); +---- statement error select time_bucket('3 days'::interval, '2019-05-05 00:00:00+09'::timestamptz, '-2000000000 months'::interval); +---- statement error select time_bucket('3 months'::interval, '2019-05-05 00:00:00+00'::timestamptz, '2000000000 months'::interval); +---- statement error select time_bucket('3 months'::interval, '2019-05-05 00:00:00+00'::timestamptz, '-2000000000 months'::interval); +---- statement error select time_bucket('1 microseconds'::interval, '290279-12-24 (BC) 19:59:05.224191+00'::timestamptz); +---- query I select time_bucket('1 microseconds'::interval, '290279-12-24 (BC) 19:59:05.224192+00'::timestamptz); @@ -1150,6 +1167,7 @@ select time_bucket('1 microseconds'::interval, '290279-12-24 (BC) 19:59:05.22419 statement error select time_bucket('1 microseconds'::interval, '294247-01-10 04:00:54.775+00'::timestamptz); +---- query I select time_bucket('1 microseconds'::interval, '294247-01-10 04:00:54.774999+00'::timestamptz); diff --git a/test/sql/function/timestamp/test_now_prepared.test b/test/sql/function/timestamp/test_now_prepared.test new file mode 100644 index 000000000000..182ef21f0009 --- /dev/null +++ b/test/sql/function/timestamp/test_now_prepared.test @@ -0,0 +1,43 @@ +# name: test/sql/function/timestamp/test_now_prepared.test +# description: NOW function with prepared statements +# group: [timestamp] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE timestamps(ts TIMESTAMP); + +# the NOW function should not be cached in prepared statements +statement ok +PREPARE v1 AS INSERT INTO timestamps VALUES(NOW()); + +statement ok +EXECUTE v1; + +sleep 1 second + +statement ok +EXECUTE v1 + +query I +SELECT COUNT(DISTINCT ts) FROM timestamps +---- +2 + +# with DEFAULT values +statement ok +CREATE TABLE timestamps_default(ts TIMESTAMP DEFAULT NOW()); + +statement ok +INSERT INTO timestamps_default DEFAULT VALUES + +sleep 1 second + +statement ok +INSERT INTO timestamps_default DEFAULT VALUES + +query I +SELECT COUNT(DISTINCT ts) FROM timestamps_default +---- +2 diff --git a/test/sql/function/timestamp/test_strftime_timestamp.test b/test/sql/function/timestamp/test_strftime_timestamp.test index 51295428d271..13c2a364068f 100644 --- a/test/sql/function/timestamp/test_strftime_timestamp.test +++ b/test/sql/function/timestamp/test_strftime_timestamp.test @@ -47,6 +47,16 @@ NULL 0 1 +# %u - ISO Weekday as a decimal number. +query I +SELECT strftime(d, '%u') FROM timestamps ORDER BY d; +---- +NULL +3 +6 +7 +1 + # %d - Day of the month as a zero-padded decimal. query I SELECT strftime(d, '%d') FROM timestamps ORDER BY d; @@ -152,6 +162,16 @@ NULL 2020 2020 +# %G - ISO Year with century as a decimal number. +query I +SELECT strftime(d, '%G') FROM timestamps ORDER BY d; +---- +NULL +1992 +1993 +2020 +2020 + # %H - Hour (24-hour clock) as a zero-padded decimal number. query I SELECT strftime(d, '%H') FROM timestamps ORDER BY d; @@ -337,6 +357,16 @@ NULL 31 32 +# %V - ISO Week number of the year (Week 1 contains Jan 4). +query I +SELECT strftime(d, '%V') FROM timestamps ORDER BY d; +---- +NULL +01 +11 +32 +33 + # %c - Locale’s appropriate date and time representation. query I SELECT strftime(d, '%c') FROM timestamps ORDER BY d; diff --git a/test/sql/function/timestamp/test_strptime.test b/test/sql/function/timestamp/test_strptime.test index 676df4a1c929..257b740a87ad 100644 --- a/test/sql/function/timestamp/test_strptime.test +++ b/test/sql/function/timestamp/test_strptime.test @@ -72,11 +72,11 @@ SELECT strptime('jun', '%b') ---- 1900-06-01 00:00:00 -# First Sunday of Monday weeks is Jan 7 +# First Monday of Monday weeks is Jan 1 query I SELECT strptime('1', '%W') ---- -1900-01-07 00:00:00 +1900-01-01 00:00:00 # First Sunday of Sunday weeks is Jan 7 query I @@ -89,10 +89,21 @@ SELECT strptime('30', '%U'), strftime('1900-07-29'::DATE, '%U') ---- 1900-07-29 00:00:00 30 +# Default ISO year is 1900, which starts on a Monday +query I +SELECT strptime('1', '%V') +---- +1900-01-01 00:00:00 + query II -SELECT strptime('30', '%W'), strftime('1900-07-29'::DATE, '%W') +SELECT strptime('30', '%W'), strftime('1900-07-23'::DATE, '%W') ---- -1900-07-29 00:00:00 30 +1900-07-23 00:00:00 30 + +query II +SELECT strptime('30', '%V'), strftime('1900-07-23'::DATE, '%V') +---- +1900-07-23 00:00:00 30 # Ignored query I @@ -100,12 +111,21 @@ SELECT strptime('6', '%w') ---- 1900-01-01 00:00:00 +query I +SELECT strptime('6', '%u') +---- +1900-01-01 00:00:00 + # Thursday after 1st Sunday query II SELECT strptime('1-4', '%U-%w'), strftime('1900-01-11'::DATE, '%U-%w') ---- 1900-01-11 00:00:00 01-4 +query II +SELECT strptime('2-4', '%V-%u'), strftime('1900-01-11'::DATE, '%V-%u') +---- +1900-01-11 00:00:00 02-4 # Thursday after 1st Monday query II @@ -113,6 +133,11 @@ SELECT strptime('1-4', '%W-%w'), strftime('1900-01-04'::DATE, '%W-%w') ---- 1900-01-04 00:00:00 01-4 +query II +SELECT strptime('1-4', '%V-%u'), strftime('1900-01-04'::DATE, '%V-%u') +---- +1900-01-04 00:00:00 01-4 + # day of year query II SELECT strptime('30', '%j'), strftime('1900-01-30'::DATE, '%-j') @@ -137,12 +162,30 @@ SELECT strptime('2021-19-4', '%Y-%W-%w'), strftime('2021-05-13'::DATE, '%Y-%U-%w ---- 2021-05-13 00:00:00 2021-19-4 +# Year-ISO Week-Weekday +query II +SELECT strptime('2021-19-4', '%G-%V-%u'), strftime('2021-05-13'::DATE, '%G-%V-%u') +---- +2021-05-13 00:00:00 2021-19-4 + # Year, Sunday Week 0, Friday query II SELECT strptime('2021-0-5', '%Y-%U-%w'), strftime('2021-01-01'::DATE, '%Y-%U-%w') ---- 2021-01-01 00:00:00 2021-00-5 +# Year-ISO Week-Weekday +query II +SELECT strptime('2021-19-4', '%G-%V-%u'), strftime('2021-05-13'::DATE, '%G-%V-%u') +---- +2021-05-13 00:00:00 2021-19-4 + +# Year-ISO, Week 1, Friday +query II +SELECT strptime('2021-1-5', '%G-%V-%u'), strftime('2021-01-08'::DATE, '%G-%V-%u') +---- +2021-01-08 00:00:00 2021-01-5 + # Year, Monday Week 0, Friday query II SELECT strptime('2021-0-5', '%Y-%W-%w'), strftime('2021-01-01'::DATE, '%Y-%W-%w') @@ -161,6 +204,12 @@ SELECT strptime('2021-05-12 19-4', '%Y-%m-%d %W-%w') ---- 2021-05-12 00:00:00 +# Year-ISO Week-Weekday Mismatch should defer to the day +query I +SELECT strptime('2021-05-12 19-4', '%Y-%m-%d %V-%u') +---- +2021-05-12 00:00:00 + # Round trip Sunday weeks query III SELECT * FROM ( @@ -179,12 +228,23 @@ SELECT * FROM ( WHERE rt <> dt ---- +# Round trip ISO weeks +query III +SELECT * FROM ( + SELECT dt, strftime(dt, '%G-%V-%u') AS ft, strptime(strftime(dt, '%G-%V-%u'), '%G-%V-%u') AS rt + FROM (SELECT '2021-01-01'::DATE + (INTERVAL (d) DAY) AS dt FROM range(365) tbl(d)) days +) diffs +WHERE rt <> dt +---- + # empty specifier and string statement error SELECT strptime('', '') +---- statement error SELECT strptime(NULL, '') +---- query I SELECT strptime('', NULL) @@ -261,6 +321,24 @@ select strptime('2020-12-30 23:25:58.745232-04', '%Y-%m-%d %H:%M:%S.%f%z'); ---- 2020-12-31 03:25:58.745232+00 +# infinities should always parse + +query I +select strptime('infinity', '%m/%d/%Y'); +---- +infinity + +query I +select strptime('-infinity', '%m/%d/%Y'); +---- +-infinity + +query I +select strptime('epoch', '%m/%d/%Y'); +---- +1970-01-01 00:00:00 + + # Don't swallow non-spaces query I SELECT strptime('Mon Oct 17 2022 22:00:00 GMT+0000 (GMT)', '%a %b %d %Y %X GMT%z (%Z)') as fixed; @@ -288,167 +366,298 @@ Error: Literal does not match, expected / statement error SELECT strptime('Mon Oct 17 2022 22:00:00 GMT+0000 (GMT)', '%a %b %d %Y %X GMT%z (%Z') as broken; +---- # incorrect usage statement error select strptime('2020-12-31 21:25:58.745232+0', '%Y-%m-%d %H:%M:%S.%f%z'); +---- statement error select strptime('2020-12-31 21:25:58.745232+0X', '%Y-%m-%d %H:%M:%S.%f%z'); +---- statement error select strptime('2020-12-31 21:25:58.745232+X0', '%Y-%m-%d %H:%M:%S.%f%z'); +---- statement error select strptime('2020-12-31 21:25:58.745232+000', '%Y-%m-%d %H:%M:%S.%f%z'); +---- statement error select strptime('2020-12-31 21:25:58.745232X00', '%Y-%m-%d %H:%M:%S.%f%z'); +---- # different errors # month out of range statement error SELECT strptime('2018-20-10', '%Y-%m-%d') +---- # day out of range statement error SELECT strptime('2018-10-100', '%Y-%m-%d') +---- # year without century out of range statement error SELECT strptime('969-10-10', '%y-%m-%d') +---- # literal part does not match statement error SELECT strptime('2000/10/10', '%Y-%m-%d') +---- # incorrect date statement error SELECT strptime('2001-02-30', '%Y-%m-%d') +---- # incorrect date statement error SELECT strptime('2000-10-hello', '%Y-%m-%d') +---- # incorrect hour statement error SELECT strptime('2000-10-01 24:00:00', '%Y-%m-%d %H:%M:%S') +---- # incorrect hour with 12 hour clock statement error SELECT strptime('2000-10-01 00:00:00 AM', '%Y-%m-%d %I:%M:%S %p') +---- statement error SELECT strptime('2000-10-01 13:00:00 AM', '%Y-%m-%d %I:%M:%S %p') +---- # incorrect minute statement error SELECT strptime('2000-10-01 23:60:00', '%Y-%m-%d %H:%M:%S') +---- # incorrect seconds statement error SELECT strptime('2000-10-01 23:59:60', '%Y-%m-%d %H:%M:%S') +---- # incorrect microseconds statement error SELECT strptime('2000-10-01 23:59:59.10000000', '%Y-%m-%d %H:%M:%S.%f') +---- # huge number statement error SELECT strptime('2000-10-01 23:59:59.1000000000000000000000000000', '%Y-%m-%d %H:%M:%S.%f') +---- # empty string statement error SELECT strptime('', '%Y-%m-%d %H:%M:%S.%f') +---- # empty string with am/pm statement error SELECT strptime('', '%p') +---- statement error SELECT strptime('a', '%p') +---- # incorrect am/pm statement error SELECT strptime('mp', '%p') +---- statement error SELECT strptime('pp', '%p') +---- statement error SELECT strptime('zm', '%p') +---- # incorrect abbreviated weekday name statement error SELECT strptime('moa', '%a') +---- # incorrect weekday name statement error SELECT strptime('moaday', '%A') +---- statement error SELECT strptime('mondayy', '%A') +---- # incorrect abbreviated month name statement error SELECT strptime('juk', '%b') +---- # incorrect weekday name statement error SELECT strptime('juke', '%B') +---- statement error SELECT strptime('junee', '%B') +---- # day of year out of range statement error SELECT strptime('500', '%j') +---- statement error SELECT strptime('500', '%-j') +---- statement error SELECT strptime('0', '%j') +---- statement error SELECT strptime('0', '%-j') +---- # week numbers out of range statement error SELECT strptime('60', '%U') +---- statement error SELECT strptime('60', '%W') +---- + +statement error +SELECT strptime('60', '%V') +---- +ISO week offset out of range, expected a value between 1 and 53 # weekday out of range statement error SELECT strptime('9', '%w') +---- + +statement error +SELECT strptime('9', '%u') +---- +ISO weekday offset out of range, expected a value between 1 and 7 # Multiple offset types statement error SELECT strptime('20 19', '%U %W') +---- + +statement error +SELECT strptime('20 19', '%U %V') +---- +Incompatible ISO week offset specified + +statement error +SELECT strptime('20 2021', '%U %G') +---- statement error SELECT strptime('20 19', '%U %j') +---- + +statement error +SELECT strptime('20 19', '%W %U') +---- +Multiple week offsets specified + +statement error +SELECT strptime('20 19', '%W %V') +---- +Incompatible ISO week offset specified + +statement error +SELECT strptime('20 2021', '%W %G') +---- +Incompatible ISO year offset specified statement error SELECT strptime('20 19', '%W %j') +---- + +statement error +SELECT strptime('20 19', '%V %U') +---- +Multiple week offsets specified + +statement error +SELECT strptime('20 19', '%V %W') +---- +Multiple week offsets specified + +statement error +SELECT strptime('20 19', '%V %j') +---- +Multiple year offsets specified + +statement error +SELECT strptime('2021 19', '%G %U') +---- +Multiple week offsets specified + +statement error +SELECT strptime('2021 19', '%G %W') +---- +Multiple week offsets specified + +statement error +SELECT strptime('2021 19', '%G %j') +---- +Multiple year offsets specified + +# Years override ISO offsets +query I +SELECT strptime('2021 1950', '%G %Y') +---- +1950-01-01 00:00:00 + +query I +SELECT strptime('2021 1950', '%Y %G') +---- +2021-01-01 00:00:00 + +query I +SELECT strptime('20 1950', '%V %Y') +---- +1950-01-01 00:00:00 + +query I +SELECT strptime('2021 19', '%Y %V') +---- +2021-01-01 00:00:00 # AM/PM out of range statement error SELECT strptime('Mon 30, December 30, 20:3:5 PM', '%a %d, %B %y, %H:%M:%S %p') +---- # unrecognized specifier statement error SELECT strptime('21/10/2018', '%-q/%m/%Y') +---- # microseconds out of range statement error SELECT strptime('9999999', '%f') +---- # millisecond out of range statement error SELECT strptime('9999', '%g') +---- statement error SELECT strptime('2000/10/10', random()::varchar) +---- diff --git a/test/sql/function/timestamp/test_time_bucket_timestamp.test b/test/sql/function/timestamp/test_time_bucket_timestamp.test index dc6167421072..6c75e0300bb8 100644 --- a/test/sql/function/timestamp/test_time_bucket_timestamp.test +++ b/test/sql/function/timestamp/test_time_bucket_timestamp.test @@ -490,11 +490,11 @@ select w, t, shift, time_bucket(w, t, shift) from timestamps; 10 days 2014-11-20 02:02:21.003003 -2 days 04:00:00 2014-11-13 04:00:00 2 months 2016-02-21 02:02:22.003003 00:00:00 2016-01-01 00:00:00 2 months 2018-08-22 02:02:23.003003 1 month 7 days 2018-08-08 00:00:00 -2 months 2019-01-23 02:02:24.003003 -1 months 7 days 2018-12-08 00:00:00 +2 months 2019-01-23 02:02:24.003003 -1 month 7 days 2018-12-08 00:00:00 2 years 2020-02-24 02:02:25.003003 6 months 2018-07-01 00:00:00 2 years 2022-07-25 02:02:26.003003 -6 months 2021-07-01 00:00:00 10 days 2024-02-25 02:02:26.003003 1 year 2024-02-21 00:00:00 -10 days 2032-09-25 02:02:26.003003 -1 years 2032-09-16 00:00:00 +10 days 2032-09-25 02:02:26.003003 -1 year 2032-09-16 00:00:00 10 days infinity 00:00:00 infinity query II @@ -744,54 +744,71 @@ select w, t, origin, time_bucket(w, t, origin) from timestamps; statement error select time_bucket('-3 hours'::interval, '2019-04-05 00:00:00'::timestamp); +---- statement error select time_bucket('-3 hours'::interval, '2019-04-05 00:00:00'::timestamp, '1 hour 30 minutes':: interval); +---- statement error select time_bucket('-3 hours'::interval, '2019-04-05 00:00:00'::timestamp, '2019-04-05 00:00:00'::timestamp); +---- statement error select time_bucket('-1 month'::interval, '2019-04-05 00:00:00'::timestamp); +---- statement error select time_bucket('-1 month'::interval, '2019-04-05 00:00:00'::timestamp, '1 hour 30 minutes':: interval); +---- statement error select time_bucket('-1 month'::interval, '2019-04-05 00:00:00'::timestamp, '2018-04-05 00:00:00'::timestamp); +---- statement error select time_bucket('1 day - 172800 seconds'::interval, '2018-05-05 00:00:00'::timestamp); +---- statement error select time_bucket('1 day - 172800 seconds'::interval, '2018-05-05 00:00:00'::timestamp, '1 hour 30 minutes':: interval); +---- statement error select time_bucket('1 day - 172800 seconds'::interval, '2018-05-05 00:00:00'::timestamp, '2018-05-05 00:00:00'::timestamp); +---- statement error select time_bucket('1 month 1 day'::interval, '2018-05-05 00:00:00'::timestamp); +---- statement error select time_bucket('1 month 1 day'::interval, '2018-05-05 00:00:00'::timestamp, '1 hour 30 minutes':: interval); +---- statement error select time_bucket('1 month 1 day'::interval, '2018-05-05 00:00:00'::timestamp, '2018-05-05 00:00:00'::timestamp); +---- statement error select time_bucket('3 days'::interval, '2019-05-05 00:00:00'::timestamp, '2000000000 months'::interval); +---- statement error select time_bucket('3 days'::interval, '2019-05-05 00:00:00'::timestamp, '-2000000000 months'::interval); +---- statement error select time_bucket('3 months'::interval, '2019-05-05 00:00:00'::timestamp, '2000000000 months'::interval); +---- statement error select time_bucket('3 months'::interval, '2019-05-05 00:00:00'::timestamp, '-2000000000 months'::interval); +---- statement error select time_bucket('1 microseconds'::interval, '290309-12-21 (BC) 23:59:59.999999'::timestamp); +---- query I select time_bucket('1 microseconds'::interval, '290309-12-22 (BC) 00:00:00'::timestamp); @@ -800,6 +817,7 @@ select time_bucket('1 microseconds'::interval, '290309-12-22 (BC) 00:00:00'::tim statement error select time_bucket('1 microseconds'::interval, '294247-01-10 04:00:54.775807'::timestamp); +---- query I select time_bucket('1 microseconds'::interval, '294247-01-10 04:00:54.775806'::timestamp); diff --git a/test/sql/function/timestamp/test_try_strptime.test b/test/sql/function/timestamp/test_try_strptime.test index 36fc26990f97..ce1f377ded1b 100644 --- a/test/sql/function/timestamp/test_try_strptime.test +++ b/test/sql/function/timestamp/test_try_strptime.test @@ -72,11 +72,11 @@ SELECT try_strptime('jun', '%b') ---- 1900-06-01 00:00:00 -# First Sunday of Monday weeks is Jan 7 +# First Monday of Monday weeks is Jan 7 query I SELECT try_strptime('1', '%W') ---- -1900-01-07 00:00:00 +1900-01-01 00:00:00 # First Sunday of Sunday weeks is Jan 7 query I @@ -84,15 +84,26 @@ SELECT try_strptime('1', '%U') ---- 1900-01-07 00:00:00 +# Default ISO year is 1900, which starts on a Monday +query I +SELECT try_strptime('1', '%V') +---- +1900-01-01 00:00:00 + query II SELECT try_strptime('30', '%U'), strftime('1900-07-29'::DATE, '%U') ---- 1900-07-29 00:00:00 30 query II -SELECT try_strptime('30', '%W'), strftime('1900-07-29'::DATE, '%W') +SELECT try_strptime('30', '%W'), strftime('1900-07-23'::DATE, '%W') ---- -1900-07-29 00:00:00 30 +1900-07-23 00:00:00 30 + +query II +SELECT try_strptime('30', '%V'), strftime('1900-07-23'::DATE, '%V') +---- +1900-07-23 00:00:00 30 # Ignored query I @@ -100,12 +111,21 @@ SELECT try_strptime('6', '%w') ---- 1900-01-01 00:00:00 +query I +SELECT try_strptime('6', '%u') +---- +1900-01-01 00:00:00 + # Thursday after 1st Sunday query II SELECT try_strptime('1-4', '%U-%w'), strftime('1900-01-11'::DATE, '%U-%w') ---- 1900-01-11 00:00:00 01-4 +query II +SELECT try_strptime('2-4', '%V-%u'), strftime('1900-01-11'::DATE, '%V-%u') +---- +1900-01-11 00:00:00 02-4 # Thursday after 1st Monday query II @@ -113,6 +133,11 @@ SELECT try_strptime('1-4', '%W-%w'), strftime('1900-01-04'::DATE, '%W-%w') ---- 1900-01-04 00:00:00 01-4 +query II +SELECT try_strptime('1-4', '%V-%u'), strftime('1900-01-04'::DATE, '%V-%u') +---- +1900-01-04 00:00:00 01-4 + # day of year query II SELECT try_strptime('30', '%j'), strftime('1900-01-30'::DATE, '%-j') @@ -137,6 +162,12 @@ SELECT try_strptime('2021-19-4', '%Y-%W-%w'), strftime('2021-05-13'::DATE, '%Y-% ---- 2021-05-13 00:00:00 2021-19-4 +# Year-ISO Week-Weekday +query II +SELECT try_strptime('2021-19-4', '%G-%V-%u'), strftime('2021-05-13'::DATE, '%G-%V-%u') +---- +2021-05-13 00:00:00 2021-19-4 + # Year, Sunday Week 0, Friday query II SELECT try_strptime('2021-0-5', '%Y-%U-%w'), strftime('2021-01-01'::DATE, '%Y-%U-%w') @@ -149,6 +180,12 @@ SELECT try_strptime('2021-0-5', '%Y-%W-%w'), strftime('2021-01-01'::DATE, '%Y-%W ---- 2021-01-01 00:00:00 2021-00-5 +# Year-ISO, Week 1, Friday +query II +SELECT try_strptime('2021-1-5', '%G-%V-%u'), strftime('2021-01-08'::DATE, '%G-%V-%u') +---- +2021-01-08 00:00:00 2021-01-5 + # Year-Sunday Week-Weekday Mismatch should defer to the day query I SELECT try_strptime('2021-05-12 19-4', '%Y-%m-%d %U-%w') @@ -161,6 +198,12 @@ SELECT try_strptime('2021-05-12 19-4', '%Y-%m-%d %W-%w') ---- 2021-05-12 00:00:00 +# Year-ISO Week-Weekday Mismatch should defer to the day +query I +SELECT try_strptime('2021-05-12 19-4', '%Y-%m-%d %V-%u') +---- +2021-05-12 00:00:00 + # Round trip Sunday weeks query III SELECT * FROM ( @@ -179,12 +222,23 @@ SELECT * FROM ( WHERE rt <> dt ---- +# Round trip ISO weeks +query III +SELECT * FROM ( + SELECT dt, strftime(dt, '%G-%V-%u') AS ft, try_strptime(strftime(dt, '%G-%V-%u'), '%G-%V-%u') AS rt + FROM (SELECT '2021-01-01'::DATE + (INTERVAL (d) DAY) AS dt FROM range(365) tbl(d)) days +) diffs +WHERE rt <> dt +---- + # empty specifier and string statement error SELECT try_strptime('', '') +---- statement error SELECT try_strptime(NULL, '') +---- query I SELECT try_strptime('', NULL) @@ -485,28 +539,114 @@ SELECT try_strptime('60', '%W') ---- NULL +query I +SELECT try_strptime('60', '%V') +---- +NULL + # weekday out of range query I SELECT try_strptime('9', '%w') ---- NULL +query I +SELECT try_strptime('9', '%u') +---- +NULL + # Multiple offset types query I SELECT try_strptime('20 19', '%U %W') ---- NULL +query I +SELECT try_strptime('20 19', '%U %V') +---- +NULL + +query I +SELECT try_strptime('20 2021', '%U %G') +---- +NULL + query I SELECT try_strptime('20 19', '%U %j') ---- NULL +query I +SELECT try_strptime('20 19', '%W %U') +---- +NULL + +query I +SELECT try_strptime('20 19', '%W %V') +---- +NULL + +query I +SELECT try_strptime('20 2021', '%W %G') +---- +NULL + query I SELECT try_strptime('20 19', '%W %j') ---- NULL +query I +SELECT try_strptime('20 19', '%V %U') +---- +NULL + +query I +SELECT try_strptime('20 19', '%V %W') +---- +NULL + +query I +SELECT try_strptime('20 19', '%V %j') +---- +NULL + +query I +SELECT try_strptime('2021 19', '%G %U') +---- +NULL + +query I +SELECT try_strptime('2021 19', '%G %W') +---- +NULL + +query I +SELECT try_strptime('2021 19', '%G %j') +---- +NULL + +# Years override ISO offsets +query I +SELECT try_strptime('2021 1950', '%G %Y') +---- +1950-01-01 00:00:00 + +query I +SELECT try_strptime('2021 1950', '%Y %G') +---- +2021-01-01 00:00:00 + +query I +SELECT try_strptime('20 1950', '%V %Y') +---- +1950-01-01 00:00:00 + +query I +SELECT try_strptime('2021 19', '%Y %V') +---- +2021-01-01 00:00:00 + # AM/PM out of range query I SELECT try_strptime('Mon 30, December 30, 20:3:5 PM', '%a %d, %B %y, %H:%M:%S %p') diff --git a/test/sql/function/timetz/test_date_part.test b/test/sql/function/timetz/test_date_part.test new file mode 100644 index 000000000000..1ae4cad3ecc5 --- /dev/null +++ b/test/sql/function/timetz/test_date_part.test @@ -0,0 +1,366 @@ +# name: test/sql/function/timetz/test_date_part.test +# description: DATE_PART test +# group: [timetz] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE timetzs(d TIMETZ, s VARCHAR); + +statement ok +INSERT INTO timetzs VALUES + (NULL, NULL), + ('00:00:00+1559', 'timezone'), + ('00:00:00+1558', 'timezone_hour'), + ('02:30:00', 'hour'), + ('02:30:00+04', 'timezone_hour'), + ('02:30:00+04:30', 'timezone_minute'), + ('02:30:00+04:30:45', 'timezone_minute'), + ('16:15:03.123456', 'microseconds'), + ('02:30:00+1200', 'minute'), + ('02:30:00-1200', 'second'), + ('24:00:00-1558', 'timezone_hour'), + ('24:00:00-1559', 'timezone'), + ; + +# test date_part with different combinations of constant/non-constant columns +query I +SELECT date_part(NULL::VARCHAR, NULL::TIMETZ) FROM timetzs; +---- +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL + +query I +SELECT date_part(s, NULL::TIMETZ) FROM timetzs; +---- +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL + +# timetzs +query I +SELECT date_part(NULL, d) FROM timetzs; +---- +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL + +query I +SELECT date_part(s, '14:28:50.447+07:15'::TIMETZ) FROM timetzs; +---- +NULL +26100 +7 +14 +7 +15 +15 +50447000 +28 +50 +7 +26100 + +query I +SELECT date_part('hour', d) FROM timetzs; +---- +NULL +0 +0 +2 +2 +2 +2 +16 +2 +2 +24 +24 + +query I +SELECT date_part(s, d) FROM timetzs; +---- +NULL +57540 +15 +2 +4 +30 +30 +3123456 +30 +0 +-15 +-57540 + +foreach datepart timezone timezone_hour timezone_minute + +query I +select date_part('${datepart}', '10:00:00'::TIMETZ); +---- +0 + +endloop + +# time gives errors for date-only parts +statement error +SELECT era(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT year(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT month(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT day(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT decade(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT century(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT millennium(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT quarter(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT dayofweek(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT isodow(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT dayofyear(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT week(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +SELECT yearweek(d) FROM timetzs +---- +No function matches the given name and argument types + +statement error +select extract(dow from time '10:00:00'); +---- +No function matches the given name and argument types + +statement error +select extract(doy from time '10:00:00'); +---- +No function matches the given name and argument types + +statement error +select extract(yearweek from time '10:00:00'); +---- +No function matches the given name and argument types + +statement error +select extract(century from time '10:00:00'); +---- +No function matches the given name and argument types + +statement error +select extract(era from time '10:00:00'); +---- +Not implemented Error: "time" units "era" not recognized + +statement error +select date_part('era', time '10:00:00'); +---- +Not implemented Error: "time" units "era" not recognized + +statement error +select extract(julian from time '10:00:00'); +---- +julian can only take DATE or TIMESTAMP arguments + +statement error +select date_part('julian', time '10:00:00'); +---- +julian can only take DATE or TIMESTAMP arguments + +# Correctness: Compare date_part against function value +foreach partcode hour minute second millisecond microsecond epoch + +query III +SELECT * FROM ( + SELECT d, DATE_PART('${partcode}', d) AS p, ${partcode}(d) AS f + FROM timetzs +) tbl +WHERE p <> f; +---- + +endloop + +# +# Structs +# + +# Correctness: Compare against scalar extract +foreach partcode hour minute second millisecond microsecond epoch timezone timezone_hour timezone_minute + +query III +SELECT d, DATE_PART('${partcode}', d) AS p, DATE_PART(['${partcode}'], d) AS st +FROM timetzs +WHERE p <> st['${partcode}']; +---- + +endloop + +# Time parts +query II +SELECT d, DATE_PART(['hour', 'minute', 'microsecond'], d) AS parts +FROM timetzs +ORDER BY 1; +---- +00:00:00+15:59 {'hour': 0, 'minute': 0, 'microsecond': 0} +00:00:00+15:58 {'hour': 0, 'minute': 0, 'microsecond': 0} +02:30:00+12 {'hour': 2, 'minute': 30, 'microsecond': 0} +02:30:00+04:30:45 {'hour': 2, 'minute': 30, 'microsecond': 0} +02:30:00+04:30 {'hour': 2, 'minute': 30, 'microsecond': 0} +02:30:00+04 {'hour': 2, 'minute': 30, 'microsecond': 0} +02:30:00+00 {'hour': 2, 'minute': 30, 'microsecond': 0} +02:30:00-12 {'hour': 2, 'minute': 30, 'microsecond': 0} +16:15:03.123456+00 {'hour': 16, 'minute': 15, 'microsecond': 3123456} +24:00:00-15:58 {'hour': 24, 'minute': 0, 'microsecond': 0} +24:00:00-15:59 {'hour': 24, 'minute': 0, 'microsecond': 0} +NULL NULL + +# Miscellaneous parts +query II +SELECT d, DATE_PART(['epoch', 'second', 'timezone', 'timezone_hour', 'timezone_minute'], d) AS parts +FROM timetzs +ORDER BY 1; +---- +00:00:00+15:59 {'epoch': 0.0, 'second': 0, 'timezone': 57540, 'timezone_hour': 15, 'timezone_minute': 59} +00:00:00+15:58 {'epoch': 0.0, 'second': 0, 'timezone': 57480, 'timezone_hour': 15, 'timezone_minute': 58} +02:30:00+12 {'epoch': 9000.0, 'second': 0, 'timezone': 43200, 'timezone_hour': 12, 'timezone_minute': 0} +02:30:00+04:30:45 {'epoch': 9000.0, 'second': 0, 'timezone': 16245, 'timezone_hour': 4, 'timezone_minute': 30} +02:30:00+04:30 {'epoch': 9000.0, 'second': 0, 'timezone': 16200, 'timezone_hour': 4, 'timezone_minute': 30} +02:30:00+04 {'epoch': 9000.0, 'second': 0, 'timezone': 14400, 'timezone_hour': 4, 'timezone_minute': 0} +02:30:00+00 {'epoch': 9000.0, 'second': 0, 'timezone': 0, 'timezone_hour': 0, 'timezone_minute': 0} +02:30:00-12 {'epoch': 9000.0, 'second': 0, 'timezone': -43200, 'timezone_hour': -12, 'timezone_minute': 0} +16:15:03.123456+00 {'epoch': 58503.123456, 'second': 3, 'timezone': 0, 'timezone_hour': 0, 'timezone_minute': 0} +24:00:00-15:58 {'epoch': 86400.0, 'second': 0, 'timezone': -57480, 'timezone_hour': -15, 'timezone_minute': -58} +24:00:00-15:59 {'epoch': 86400.0, 'second': 0, 'timezone': -57540, 'timezone_hour': -15, 'timezone_minute': -59} +NULL NULL + +# Function-only parts +query II +SELECT d, epoch_ns(d) FROM timetzs ORDER BY ALL; +---- +00:00:00+15:59 0 +00:00:00+15:58 0 +02:30:00+12 9000000000000 +02:30:00+04:30:45 9000000000000 +02:30:00+04:30 9000000000000 +02:30:00+04 9000000000000 +02:30:00+00 9000000000000 +02:30:00-12 9000000000000 +16:15:03.123456+00 58503123456000 +24:00:00-15:58 86400000000000 +24:00:00-15:59 86400000000000 +NULL NULL + +query II +SELECT d, epoch_us(d) FROM timetzs ORDER BY ALL; +---- +00:00:00+15:59 0 +00:00:00+15:58 0 +02:30:00+12 9000000000 +02:30:00+04:30:45 9000000000 +02:30:00+04:30 9000000000 +02:30:00+04 9000000000 +02:30:00+00 9000000000 +02:30:00-12 9000000000 +16:15:03.123456+00 58503123456 +24:00:00-15:58 86400000000 +24:00:00-15:59 86400000000 +NULL NULL + +query II +SELECT d, epoch_ms(d) FROM timetzs ORDER BY ALL; +---- +00:00:00+15:59 0 +00:00:00+15:58 0 +02:30:00+12 9000000 +02:30:00+04:30:45 9000000 +02:30:00+04:30 9000000 +02:30:00+04 9000000 +02:30:00+00 9000000 +02:30:00-12 9000000 +16:15:03.123456+00 58503123 +24:00:00-15:58 86400000 +24:00:00-15:59 86400000 +NULL NULL + +# Invalid parts + +foreach datepart year month day decade century millennium quarter dow isodow doy week isoyear yearweek era julian + +statement error +SELECT d, DATE_PART(['${datepart}'], d) AS parts +FROM timetzs +ORDER BY 1; +---- +not recognized + +endloop diff --git a/test/sql/function/timetz/test_extract.test b/test/sql/function/timetz/test_extract.test new file mode 100644 index 000000000000..119fbcb43a51 --- /dev/null +++ b/test/sql/function/timetz/test_extract.test @@ -0,0 +1,119 @@ +# name: test/sql/function/timetz/test_extract.test +# description: have you seen the fnords? +# group: [timetz] + +statement ok +CREATE TABLE timetzs (i TIMETZ); + +statement ok +INSERT INTO timetzs VALUES + (NULL), + ('00:00:00+1559'), + ('00:00:00+1558'), + ('02:30:00'), + ('02:30:00+04'), + ('02:30:00+04:30'), + ('02:30:00+04:30:45'), + ('16:15:03.123456'), + ('02:30:00+1200'), + ('02:30:00-1200'), + ('24:00:00-1558'), + ('24:00:00-1559'), +; + +# extract various parts of the time +query I +SELECT EXTRACT(second FROM i) FROM timetzs +---- +NULL +0 +0 +0 +0 +0 +0 +3 +0 +0 +0 +0 + +query I +SELECT EXTRACT(minute FROM i) FROM timetzs +---- +NULL +0 +0 +30 +30 +30 +30 +15 +30 +30 +0 +0 + +query I +SELECT EXTRACT(hour FROM i) FROM timetzs +---- +NULL +0 +0 +2 +2 +2 +2 +16 +2 +2 +24 +24 + +query I +SELECT EXTRACT(milliseconds FROM i) FROM timetzs +---- +NULL +0 +0 +0 +0 +0 +0 +3123 +0 +0 +0 +0 + +query I +SELECT EXTRACT(microseconds FROM i) FROM timetzs +---- +NULL +0 +0 +0 +0 +0 +0 +3123456 +0 +0 +0 +0 + +query I +SELECT EXTRACT(epoch FROM i) FROM timetzs +---- +NULL +0.0 +0.0 +9000.0 +9000.0 +9000.0 +9000.0 +58503.123456 +9000.0 +9000.0 +86400.0 +86400.0 diff --git a/test/sql/generated_columns/stored/basic.test b/test/sql/generated_columns/stored/basic.test index 354a0acf6f5b..42560e8c8cab 100644 --- a/test/sql/generated_columns/stored/basic.test +++ b/test/sql/generated_columns/stored/basic.test @@ -10,3 +10,4 @@ CREATE TABLE tbl ( price INTEGER, gcol AS (price) STORED, ); +---- diff --git a/test/sql/generated_columns/virtual/alter_table.test b/test/sql/generated_columns/virtual/alter_table.test index 41a33a8b5b4b..cc1eaf946988 100644 --- a/test/sql/generated_columns/virtual/alter_table.test +++ b/test/sql/generated_columns/virtual/alter_table.test @@ -11,6 +11,7 @@ CREATE TABLE unit (price INTEGER, amount_sold INTEGER); # Cant create a column with a duplicate name statement error CREATE TABLE unit (price INTEGER, amount_sold INTEGER); +---- statement ok INSERT INTO unit VALUES (5,4) @@ -18,25 +19,31 @@ INSERT INTO unit VALUES (5,4) # Function doesnt exist statement error ALTER TABLE unit ADD COLUMN profit_total BOOLEAN GENERATED ALWAYS AS(non_existant_function() * price) VIRTUAL; +---- # Adding a generated column after table creation is not supported yet statement error ALTER TABLE unit ADD COLUMN profit_total BOOLEAN GENERATED ALWAYS AS(price) VIRTUAL; +---- # Expression contains a subquery statement error ALTER TABLE unit ADD COLUMN total_profit BOOLEAN GENERATED ALWAYS AS((SELECT 1)) VIRTUAL; +---- statement error ALTER TABLE unit ADD COLUMN total_profit INTEGER GENERATED ALWAYS AS (price * amount_sold) VIRTUAL; +---- # Cant add to a generated column statement error INSERT INTO unit (total_profit) VALUES (1) +---- # Only 2 real columns exist in the table statement error INSERT INTO unit VALUES (1,1,1) +---- statement ok INSERT INTO unit VALUES (0,1) diff --git a/test/sql/generated_columns/virtual/ambiguity.test b/test/sql/generated_columns/virtual/ambiguity.test index 0518172f463c..09d281bb941a 100644 --- a/test/sql/generated_columns/virtual/ambiguity.test +++ b/test/sql/generated_columns/virtual/ambiguity.test @@ -20,6 +20,7 @@ CREATE TABLE unit2 ( total_profit AS (price / amount_sold), profit_total AS (unit2.price * unit2.amount_sold) ); +---- statement ok CREATE TABLE unit2 ( @@ -35,6 +36,7 @@ INSERT INTO unit VALUES (5,4) # Ambiguous, both have 'total_profit' statement error SELECT total_profit FROM unit, unit2 +---- statement ok INSERT INTO unit2 VALUES (100, 4) @@ -55,4 +57,4 @@ SELECT profit_total FROM unit2 # Aliasing the table name shouldn't break the generated expression statement ok -SELECT profit_total FROM unit2 as unit \ No newline at end of file +SELECT profit_total FROM unit2 as unit diff --git a/test/sql/generated_columns/virtual/cascading_delete.test b/test/sql/generated_columns/virtual/cascading_delete.test index 5f9e2f67a9c4..d568ea960162 100644 --- a/test/sql/generated_columns/virtual/cascading_delete.test +++ b/test/sql/generated_columns/virtual/cascading_delete.test @@ -27,6 +27,7 @@ SELECT * FROM unit; # Is a dependency of 1 or more columns - CASCADE required statement error ALTER TABLE unit DROP COLUMN price; +---- statement ok ALTER TABLE unit DROP COLUMN price CASCADE; @@ -57,6 +58,7 @@ SELECT * FROM unit; # Cant delete last column statement error ALTER TABLE unit DROP COLUMN amount_sold CASCADE; +---- query I SELECT * FROM unit; diff --git a/test/sql/generated_columns/virtual/casting.test b/test/sql/generated_columns/virtual/casting.test index 0564c0a933e5..437d03c0520c 100644 --- a/test/sql/generated_columns/virtual/casting.test +++ b/test/sql/generated_columns/virtual/casting.test @@ -17,6 +17,7 @@ CREATE TABLE tbl ( # '(Error: Conversion Error: Unimplemented type for cast (INTEGER -> DATE))' statement error INSERT INTO tbl VALUES (5); +---- # Test with multiple different generated columns statement ok @@ -38,6 +39,7 @@ SELECT * FROM a; # Not supported yet statement error ALTER TABLE a ALTER COLUMN gen_x TYPE BOOLEAN; +---- ## TEXT -> BOOLEAN: KO #statement error diff --git a/test/sql/generated_columns/virtual/check.test b/test/sql/generated_columns/virtual/check.test index 63a259b02f86..3df462c3310b 100644 --- a/test/sql/generated_columns/virtual/check.test +++ b/test/sql/generated_columns/virtual/check.test @@ -20,6 +20,7 @@ CREATE TABLE tbl ( price INTEGER, amount_sold AS (price) CHECK (amount_sold > 5) ); +---- # Also when used in this way statement error @@ -28,6 +29,7 @@ CREATE TABLE tbl ( amount_sold AS (price), CHECK (amount_sold > price) ); +---- statement ok CREATE TABLE chk ( @@ -42,3 +44,4 @@ INSERT INTO chk VALUES (6); statement error INSERT INTO chk VALUES (3); +---- diff --git a/test/sql/generated_columns/virtual/circular_dependency_stresstest.test b/test/sql/generated_columns/virtual/circular_dependency_stresstest.test index 96074b0ace71..ac5b210ec8c5 100644 --- a/test/sql/generated_columns/virtual/circular_dependency_stresstest.test +++ b/test/sql/generated_columns/virtual/circular_dependency_stresstest.test @@ -19,6 +19,7 @@ CREATE TABLE tbl ( gcol10 AS (gcol3), x INTEGER ); +---- statement ok CREATE TABLE tbl ( @@ -50,3 +51,4 @@ CREATE TABLE circular ( b AS (a), x INTEGER, ); +---- diff --git a/test/sql/generated_columns/virtual/collate.test b/test/sql/generated_columns/virtual/collate.test index c9c9a3015b8d..5839ecefc74a 100644 --- a/test/sql/generated_columns/virtual/collate.test +++ b/test/sql/generated_columns/virtual/collate.test @@ -11,6 +11,7 @@ CREATE TABLE tbl ( price VARCHAR, also_price VARCHAR AS (price) COLLATE NOCASE ); +---- statement ok CREATE TABLE coll ( diff --git a/test/sql/generated_columns/virtual/create_table.test b/test/sql/generated_columns/virtual/create_table.test index 532e753e573d..f49cd8ff9266 100644 --- a/test/sql/generated_columns/virtual/create_table.test +++ b/test/sql/generated_columns/virtual/create_table.test @@ -8,6 +8,7 @@ PRAGMA enable_verification # Creating tables with only generated columns is not supported statement error CREATE TEMP TABLE t0(c0 AS (1)); +---- # Function doesn't exist statement error @@ -42,6 +43,7 @@ SELECT * FROM tbl # Cant convert 'string' to boolean statement error INSERT INTO tbl VALUES ('string', 5, 12); +---- # Expression contains a subquery statement error @@ -51,6 +53,7 @@ CREATE TABLE unit ( price INTEGER, amount_sold INTEGER, ); +---- # Duplicate column definition statement error @@ -60,6 +63,7 @@ CREATE TABLE unit ( price INTEGER, amount_sold INTEGER, ); +---- statement ok CREATE TABLE unit ( @@ -83,3 +87,4 @@ ALTER TABLE unit DROP COLUMN total_profit; # We can now no longer select it statement error SELECT total_profit FROM unit; +---- diff --git a/test/sql/generated_columns/virtual/default.test b/test/sql/generated_columns/virtual/default.test index 7c02ae856cb5..02472cdd8879 100644 --- a/test/sql/generated_columns/virtual/default.test +++ b/test/sql/generated_columns/virtual/default.test @@ -17,10 +17,12 @@ INSERT INTO unit VALUES (4,5) # (ALTER) Generated columns can not be created with a DEFAULT constraint statement error ALTER TABLE unit ADD COLUMN total_profit INTEGER DEFAULT 1 GENERATED ALWAYS AS (price * amount_sold) VIRTUAL; +---- # Generated column failed to create statement error SELECT total_profit FROM unit; +---- # (CREATE) Generated columns can not be created with a DEFAULT constraint statement error @@ -29,10 +31,12 @@ CREATE TABLE unit2 ( amount_sold INTEGER, total_profit INTEGER GENERATED ALWAYS AS (price * amount_sold) VIRTUAL DEFAULT 1 ); +---- # Table doesnt exist statement error select * from unit2 +---- statement ok CREATE TABLE tbl ( diff --git a/test/sql/generated_columns/virtual/drop.test b/test/sql/generated_columns/virtual/drop.test index 3f50cd173753..e8dfa72ecc6c 100644 --- a/test/sql/generated_columns/virtual/drop.test +++ b/test/sql/generated_columns/virtual/drop.test @@ -22,3 +22,4 @@ ALTER TABLE unit DROP COLUMN total_profit; # We can now no longer select it statement error SELECT total_profit FROM unit; +---- diff --git a/test/sql/generated_columns/virtual/drop_dependency.test b/test/sql/generated_columns/virtual/drop_dependency.test index 88fcb1f7c28c..2c22040742c0 100644 --- a/test/sql/generated_columns/virtual/drop_dependency.test +++ b/test/sql/generated_columns/virtual/drop_dependency.test @@ -13,6 +13,7 @@ INSERT INTO unit VALUES (5,4) statement error ALTER TABLE unit ADD COLUMN total_profit INTEGER GENERATED ALWAYS AS (price * amount_sold) VIRTUAL; +---- statement ok ALTER TABLE unit DROP COLUMN price; @@ -28,3 +29,4 @@ CREATE TABLE tbl ( # total_profit depends on this statement error ALTER TABLE tbl DROP COLUMN price; +---- diff --git a/test/sql/generated_columns/virtual/foreign_key.test b/test/sql/generated_columns/virtual/foreign_key.test index 8dcb7ab987b6..1377d3a5f7c4 100644 --- a/test/sql/generated_columns/virtual/foreign_key.test +++ b/test/sql/generated_columns/virtual/foreign_key.test @@ -80,3 +80,4 @@ INSERT INTO a VALUES (5); # Violates primary key constraint statement error INSERT INTO a VALUES (5); +---- diff --git a/test/sql/generated_columns/virtual/foreign_key_extensive.test b/test/sql/generated_columns/virtual/foreign_key_extensive.test index b3b15dc73deb..be1ce67f3332 100644 --- a/test/sql/generated_columns/virtual/foreign_key_extensive.test +++ b/test/sql/generated_columns/virtual/foreign_key_extensive.test @@ -21,18 +21,23 @@ INSERT INTO album VALUES (1, 'A', 'A_cover'), (2, 'B', 'B_cover'), (3, 'C', 'C_c # The count of columns are primary keys must be equal with the count of columns are foreign keys statement error CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, songalbum) REFERENCES album(artistid)); +---- statement error CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songalbum) REFERENCES album(artistid, albumname)); +---- statement error CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, songalbum) REFERENCES albumlist(artistid, albumname)); +---- statement error CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, songalbum) REFERENCES album(artistid, album_name)); +---- statement error CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, song_album) REFERENCES album(artistid, albumname)); +---- statement ok CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, songalbum) REFERENCES album(artistid, albumname)); @@ -40,9 +45,11 @@ CREATE TABLE song(songid INTEGER, songartist INTEGER, songalbum TEXT, songname T # Any row that is inserted into the table with the foreign key must exist in the table with the primary key (constraint) statement error INSERT INTO song VALUES (11, 1, 'A', 'A_song'), (12, 2, 'E', 'B_song'), (13, 3, 'C', 'C_song'); +---- statement error INSERT INTO song VALUES (11, 1, 'A', 'A_song'), (12, 5, 'D', 'B_song'), (13, 3, 'C', 'C_song'); +---- statement ok INSERT INTO song VALUES (11, 1, 'A', 'A_song'), (12, 2, 'B', 'B_song'), (13, 3, 'C', 'C_song'); diff --git a/test/sql/generated_columns/virtual/from_generated_column.test b/test/sql/generated_columns/virtual/from_generated_column.test index 999fbf87a432..612f1c67c3fe 100644 --- a/test/sql/generated_columns/virtual/from_generated_column.test +++ b/test/sql/generated_columns/virtual/from_generated_column.test @@ -14,15 +14,19 @@ INSERT INTO unit VALUES (5,4) # ALTER TABLE - ADD COLUMN generated column not supported yet statement error ALTER TABLE unit ADD COLUMN total_profit INTEGER GENERATED ALWAYS AS (price * amount_sold) VIRTUAL; +---- statement error SELECT total_profit FROM unit +---- statement error ALTER TABLE unit ADD COLUMN also_total_profit INTEGER GENERATED ALWAYS AS (total_profit) VIRTUAL; +---- statement error SELECT also_total_profit FROM unit +---- # Create a table with a generated column, and another generated column created from this other one statement ok diff --git a/test/sql/generated_columns/virtual/implicit_type.test b/test/sql/generated_columns/virtual/implicit_type.test index 91c8b51fec50..68be4bbd31b7 100644 --- a/test/sql/generated_columns/virtual/implicit_type.test +++ b/test/sql/generated_columns/virtual/implicit_type.test @@ -25,6 +25,7 @@ CREATE TABLE tbl ( foo, bar GENERATED ALWAYS AS (foo+1) ); +---- statement ok INSERT INTO test(foo) VALUES (1); diff --git a/test/sql/generated_columns/virtual/insert.test b/test/sql/generated_columns/virtual/insert.test index 99316defd0f8..786020a818af 100644 --- a/test/sql/generated_columns/virtual/insert.test +++ b/test/sql/generated_columns/virtual/insert.test @@ -15,6 +15,7 @@ CREATE TABLE test ( #Inserting into a generated column by name statement error INSERT INTO test (bar) VALUES (5) +---- #Using column names statement ok @@ -33,6 +34,7 @@ SELECT * FROM test #Using VALUES with not enough values - cant rely on DEFAULT here statement error INSERT INTO test VALUES (22) +---- #Using VALUES correctly statement ok @@ -41,6 +43,7 @@ INSERT INTO test VALUES (22, 10); #Using VALUES incorrectly, too many values statement error INSERT INTO test VALUES (22, 10, 10) +---- statement ok CREATE TABLE tbl ( @@ -73,3 +76,4 @@ CREATE TABLE tbl2 ( statement error INSERT INTO tbl2 VALUES ('test'); +---- diff --git a/test/sql/generated_columns/virtual/not_referencing_columns.test b/test/sql/generated_columns/virtual/not_referencing_columns.test index 02b6565b101e..ebf5405bc4b5 100644 --- a/test/sql/generated_columns/virtual/not_referencing_columns.test +++ b/test/sql/generated_columns/virtual/not_referencing_columns.test @@ -12,6 +12,7 @@ CREATE TABLE tbl ( amount_sold INTEGER, gcol AS (list(5,4,3)) ); +---- statement ok CREATE TABLE tbl ( diff --git a/test/sql/generated_columns/virtual/null.test b/test/sql/generated_columns/virtual/null.test index f6b221286f3d..d28da2cf2ad4 100644 --- a/test/sql/generated_columns/virtual/null.test +++ b/test/sql/generated_columns/virtual/null.test @@ -11,6 +11,7 @@ CREATE TABLE unit ( price INTEGER, amount_sold AS (price) NOT NULL, ); +---- # Show that proper NOT NULL constraints still work when mixed in when generated columns statement ok @@ -26,3 +27,4 @@ INSERT INTO tbl VALUES (5); # Violates not null constraint statement error INSERT INTO tbl VALUES (null); +---- diff --git a/test/sql/generated_columns/virtual/primary_key.test b/test/sql/generated_columns/virtual/primary_key.test index 34c66d61707f..8acc89488f83 100644 --- a/test/sql/generated_columns/virtual/primary_key.test +++ b/test/sql/generated_columns/virtual/primary_key.test @@ -11,6 +11,7 @@ CREATE TABLE unit ( price INTEGER, amount_sold AS (price) PRIMARY KEY, ); +---- # Also not as a column list statement error @@ -19,6 +20,7 @@ CREATE TABLE unit ( amount_sold AS (price), PRIMARY KEY (amount_sold), ); +---- # Show that proper PRIMARY KEY constraints still work when mixed in when generated columns statement ok @@ -34,3 +36,4 @@ INSERT INTO tbl VALUES (5); # Violates primary key constraint statement error INSERT INTO tbl VALUES (5); +---- diff --git a/test/sql/generated_columns/virtual/referencing_gencols.test b/test/sql/generated_columns/virtual/referencing_gencols.test index 01dba63b9147..091e16e0c870 100644 --- a/test/sql/generated_columns/virtual/referencing_gencols.test +++ b/test/sql/generated_columns/virtual/referencing_gencols.test @@ -33,6 +33,7 @@ CREATE TABLE tbl2 ( circular INTEGER AS (dependency), dependency INTEGER AS (circular) ); +---- # Type is resolved, regardless of order statement ok diff --git a/test/sql/generated_columns/virtual/rename_dependency.test b/test/sql/generated_columns/virtual/rename_dependency.test index 0ff8f3a208d2..560fa701d2f1 100644 --- a/test/sql/generated_columns/virtual/rename_dependency.test +++ b/test/sql/generated_columns/virtual/rename_dependency.test @@ -28,6 +28,7 @@ ALTER TABLE unit RENAME COLUMN price TO value # No CASCADE provided statement error ALTER TABLE unit DROP COLUMN value; +---- query IIIII SELECT * FROM unit diff --git a/test/sql/generated_columns/virtual/rowid.test b/test/sql/generated_columns/virtual/rowid.test index 191c4fb77b4a..cfc28f14276d 100644 --- a/test/sql/generated_columns/virtual/rowid.test +++ b/test/sql/generated_columns/virtual/rowid.test @@ -17,6 +17,7 @@ INSERT INTO unit VALUES (4,5) # Rowid as a system column is not supported statement error ALTER TABLE unit ADD COLUMN total_profit BIGINT GENERATED ALWAYS AS (price * rowid) VIRTUAL; +---- statement ok ALTER TABLE unit ADD COLUMN rowid INTEGER; @@ -27,6 +28,7 @@ CREATE TABLE tbl ( price INTEGER, rowid BIGINT GENERATED ALWAYS AS (rowid) VIRTUAL ); +---- # Reference a standard column named 'rowid' statement ok diff --git a/test/sql/generated_columns/virtual/select.test b/test/sql/generated_columns/virtual/select.test index b803e177ed58..54e34dde04fa 100644 --- a/test/sql/generated_columns/virtual/select.test +++ b/test/sql/generated_columns/virtual/select.test @@ -13,6 +13,7 @@ INSERT INTO unit VALUES (5,4) statement error ALTER TABLE unit ADD COLUMN total_profit INTEGER GENERATED ALWAYS AS (price * amount_sold) VIRTUAL; +---- # CREATE diff --git a/test/sql/generated_columns/virtual/typechange.test b/test/sql/generated_columns/virtual/typechange.test index ee24eee69006..a30375b7f737 100644 --- a/test/sql/generated_columns/virtual/typechange.test +++ b/test/sql/generated_columns/virtual/typechange.test @@ -23,6 +23,7 @@ SELECT total_profit FROM unit; # Typechange is not supported yet statement error ALTER TABLE unit ALTER COLUMN total_profit TYPE BOOLEAN; +---- statement ok INSERT INTO unit VALUES (5,0); @@ -41,3 +42,4 @@ CREATE TABLE tbl ( statement error INSERT INTO tbl VALUES (5); +---- diff --git a/test/sql/generated_columns/virtual/typechange_dependency.test b/test/sql/generated_columns/virtual/typechange_dependency.test index 1093d69bf498..63af3ac2701c 100644 --- a/test/sql/generated_columns/virtual/typechange_dependency.test +++ b/test/sql/generated_columns/virtual/typechange_dependency.test @@ -23,6 +23,7 @@ SELECT total_profit FROM unit # Dependency of 'total_price' - the change is prohibited statement error ALTER TABLE unit ALTER COLUMN price TYPE BOOLEAN; +---- # Generated column isn't deleted statement ok diff --git a/test/sql/generated_columns/virtual/unique.test b/test/sql/generated_columns/virtual/unique.test index 5253ed0587ab..fb45c0cb832f 100644 --- a/test/sql/generated_columns/virtual/unique.test +++ b/test/sql/generated_columns/virtual/unique.test @@ -13,6 +13,7 @@ CREATE TABLE unit ( price INTEGER, amount_sold AS (price) UNIQUE, ); +---- # Also not as a column list statement error @@ -21,6 +22,7 @@ CREATE TABLE unit ( amount_sold AS (price), UNIQUE (amount_sold), ); +---- # Show that proper UNIQUE constraints still work when mixed in when generated columns statement ok @@ -36,3 +38,4 @@ INSERT INTO tbl VALUES (5); # Violates unique constraint statement error INSERT INTO tbl VALUES (5); +---- diff --git a/test/sql/generated_columns/virtual/update.test b/test/sql/generated_columns/virtual/update.test index d4e7e57b54b8..b2e7d9f046b5 100644 --- a/test/sql/generated_columns/virtual/update.test +++ b/test/sql/generated_columns/virtual/update.test @@ -27,6 +27,7 @@ SELECT * FROM test; # Cant UPDATE a generated column statement error UPDATE test SET bar = 5 +---- # Correctly formatted UPDATE statements work statement ok diff --git a/test/sql/index/art/constraints/test_art_eager_constraint_checking.test b/test/sql/index/art/constraints/test_art_eager_constraint_checking.test index 23a5bed2acd9..2616927a65ad 100644 --- a/test/sql/index/art/constraints/test_art_eager_constraint_checking.test +++ b/test/sql/index/art/constraints/test_art_eager_constraint_checking.test @@ -22,7 +22,7 @@ INSERT INTO u VALUES (1, NULL); statement error UPDATE u SET ju = 1 WHERE iu = 1; ---- -Constraint Error: Duplicate key "iu: 1" violates primary key constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (docs - sql - indexes). +Constraint Error: Duplicate key "iu: 1" violates primary key constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (https://duckdb.org/docs/sql/indexes). # issue #5807 @@ -38,7 +38,7 @@ SELECT 1, 41; statement error UPDATE tunion SET u = 42 WHERE id = 1; ---- -Constraint Error: Duplicate key "id: 1" violates primary key constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (docs - sql - indexes). +Constraint Error: Duplicate key "id: 1" violates primary key constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (https://duckdb.org/docs/sql/indexes). # issue #5771 @@ -57,7 +57,7 @@ UPDATE workers SET phone = '345' WHERE id = 1; statement error UPDATE workers SET worker = 'leo' WHERE id = 1; ---- -Constraint Error: Duplicate key "id: 1" violates primary key constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (docs - sql - indexes). +Constraint Error: Duplicate key "id: 1" violates primary key constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (https://duckdb.org/docs/sql/indexes). # issue #4886 @@ -80,7 +80,7 @@ UPDATE test SET i = 4 WHERE i = 1; statement error INSERT INTO test VALUES (1); ---- -Constraint Error: Duplicate key "i: 1" violates primary key constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (docs - sql - indexes). +Constraint Error: Duplicate key "i: 1" violates primary key constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (https://duckdb.org/docs/sql/indexes). statement ok ROLLBACK @@ -104,6 +104,6 @@ UPDATE tbl SET sometext = 'ghi', someothertext = 'mno' WHERE id = 2; ---- -Constraint Error: Duplicate key "id: 2" violates primary key constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (docs - sql - indexes). +Constraint Error: Duplicate key "id: 2" violates primary key constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (https://duckdb.org/docs/sql/indexes). diff --git a/test/sql/index/art/constraints/test_art_large_abort.test b/test/sql/index/art/constraints/test_art_large_abort.test index 06c8c27307c1..526debfb6b06 100644 --- a/test/sql/index/art/constraints/test_art_large_abort.test +++ b/test/sql/index/art/constraints/test_art_large_abort.test @@ -19,6 +19,7 @@ INSERT INTO a SELECT i id, NULL c FROM range(-2, -250000, -1) tbl(i) statement error INSERT INTO a VALUES (1, 5) +---- statement ok ROLLBACK @@ -42,6 +43,7 @@ INSERT INTO a SELECT i id, -i c FROM range(-2, -250000, -1) tbl(i) statement error INSERT INTO a VALUES (1, 5) +---- statement ok ROLLBACK diff --git a/test/sql/index/art/create_drop/test_art_create_many_duplicates_deletes.test b/test/sql/index/art/create_drop/test_art_create_many_duplicates_deletes.test index d77c6804dd3a..dae4618117d2 100644 --- a/test/sql/index/art/create_drop/test_art_create_many_duplicates_deletes.test +++ b/test/sql/index/art/create_drop/test_art_create_many_duplicates_deletes.test @@ -58,4 +58,4 @@ SELECT count(i) FROM integers WHERE i < 4 query I SELECT count(i) FROM integers WHERE i < 5 ---- -6000 \ No newline at end of file +6000 diff --git a/test/sql/index/art/create_drop/test_art_create_unique.test b/test/sql/index/art/create_drop/test_art_create_unique.test index 907e12b66ed0..84f35b3c6083 100644 --- a/test/sql/index/art/create_drop/test_art_create_unique.test +++ b/test/sql/index/art/create_drop/test_art_create_unique.test @@ -16,6 +16,7 @@ INSERT INTO t0(c0) VALUES (1); statement error INSERT INTO t0(c0) VALUES (1); +---- query I SELECT * FROM t0 WHERE t0.c0 = 1; @@ -36,3 +37,4 @@ INSERT INTO merge_violation VALUES (2047); statement error CREATE UNIQUE INDEX idx ON merge_violation(id); +---- diff --git a/test/sql/index/art/create_drop/test_art_invalid_create_index.test b/test/sql/index/art/create_drop/test_art_invalid_create_index.test index 06e6fb6953b3..efb7e031551a 100644 --- a/test/sql/index/art/create_drop/test_art_invalid_create_index.test +++ b/test/sql/index/art/create_drop/test_art_invalid_create_index.test @@ -10,18 +10,23 @@ CREATE TABLE integers(i integer, j integer, k BOOLEAN) statement error CREATE INDEX ON integers(i) +---- statement error CREATE INDEX i_index ON integers(i COLLATE "NOCASE") +---- statement error CREATE INDEX i_index ON integers(i COLLATE "de_DE") +---- statement error CREATE INDEX i_index ON integers using blabla(i) +---- statement error CREATE INDEX i_index ON integers(f) +---- # index on list columns statement ok @@ -29,10 +34,13 @@ create table lists(id int, l int[]); statement error create index i_index on lists(l); +---- statement error create index i_index on lists(id, l); +---- # index on constant columns statement error create index i_index on integers(('hello')); +---- diff --git a/test/sql/index/art/create_drop/test_art_many_versions.test b/test/sql/index/art/create_drop/test_art_many_versions.test index a0e294c9a487..60c36663361c 100644 --- a/test/sql/index/art/create_drop/test_art_many_versions.test +++ b/test/sql/index/art/create_drop/test_art_many_versions.test @@ -42,6 +42,7 @@ UPDATE integers SET i=i+1 # create an index, this fails because we have outstanding updates statement error con1 CREATE INDEX i_index ON integers using art(i) +---- # con2 query R con2 diff --git a/test/sql/index/art/insert_update_delete/test_art_linear_insert.test_slow b/test/sql/index/art/insert_update_delete/test_art_linear_insert.test_slow index 629e7edbfe43..dd6d7b498bea 100644 --- a/test/sql/index/art/insert_update_delete/test_art_linear_insert.test_slow +++ b/test/sql/index/art/insert_update_delete/test_art_linear_insert.test_slow @@ -5,9 +5,6 @@ statement ok PRAGMA enable_verification -statement ok -PRAGMA force_index_join - statement ok CREATE TABLE integers(i INTEGER); diff --git a/test/sql/index/art/insert_update_delete/test_art_random_deletion.test_slow b/test/sql/index/art/insert_update_delete/test_art_random_deletion.test_slow index 30a87f23f27e..7081e18dae46 100644 --- a/test/sql/index/art/insert_update_delete/test_art_random_deletion.test_slow +++ b/test/sql/index/art/insert_update_delete/test_art_random_deletion.test_slow @@ -2,9 +2,6 @@ # description: Test ART index with a random deletion # group: [insert_update_delete] -statement ok -PRAGMA force_index_join - statement ok CREATE TABLE integers(i INTEGER); diff --git a/test/sql/index/art/insert_update_delete/test_art_simple_update.test b/test/sql/index/art/insert_update_delete/test_art_simple_update.test index 811d895591a3..a7b7db05373b 100644 --- a/test/sql/index/art/insert_update_delete/test_art_simple_update.test +++ b/test/sql/index/art/insert_update_delete/test_art_simple_update.test @@ -42,4 +42,4 @@ SELECT * FROM integers WHERE i > 0 1 statement ok con1 -ROLLBACK \ No newline at end of file +ROLLBACK diff --git a/test/sql/index/art/insert_update_delete/test_art_update.test b/test/sql/index/art/insert_update_delete/test_art_update.test index dca395665991..4b1c52c36389 100644 --- a/test/sql/index/art/insert_update_delete/test_art_update.test +++ b/test/sql/index/art/insert_update_delete/test_art_update.test @@ -26,4 +26,4 @@ DELETE FROM integers WHERE rowid=1 query II SELECT * FROM integers WHERE j>5 ---- -1 10 \ No newline at end of file +1 10 diff --git a/test/sql/index/art/insert_update_delete/test_art_update_scans.test_slow b/test/sql/index/art/insert_update_delete/test_art_update_scans.test_slow index c17916a78b60..acf849b43e88 100644 --- a/test/sql/index/art/insert_update_delete/test_art_update_scans.test_slow +++ b/test/sql/index/art/insert_update_delete/test_art_update_scans.test_slow @@ -84,4 +84,4 @@ insert into test_int select * from range(1000000); query I select count(*) from test_int; ---- -1000000 \ No newline at end of file +1000000 diff --git a/test/sql/index/art/issues/test_art_fuzzer.test b/test/sql/index/art/issues/test_art_fuzzer.test index 80b550db7c3e..6fe0d47a33f6 100644 --- a/test/sql/index/art/issues/test_art_fuzzer.test +++ b/test/sql/index/art/issues/test_art_fuzzer.test @@ -19,18 +19,14 @@ statement ok INSERT INTO t1(c1) VALUES (2),(3); # issue 5984, number 22 -# FIXME: eventually, we might want to rethink the way that we null-terminate keys, see #5865 - statement ok CREATE TABLE t2 (c1 VARCHAR); statement ok CREATE INDEX i2 ON t2 (c1); -statement error +statement ok INSERT INTO t2 VALUES (decode('g\x00'::BLOB)::VARCHAR),('g'); ----- -ART indexes cannot contain BLOBs with zero bytes. statement ok INSERT INTO t2 VALUES ('\0'); @@ -64,7 +60,6 @@ statement ok UPDATE t4 SET c1 = NULL; # issue 5984, number 19 - statement ok CREATE TABLE t_leak (c1 INT); @@ -77,22 +72,11 @@ CREATE UNIQUE INDEX i_leak ON t_leak (c1); Constraint Error: Data contains duplicates on indexed column(s) # issue 5984, number 22 -# FIXME: eventually, we might want to rethink the way that we null-terminate keys, see #5865 -# FIXME: this fails only with verification enabled and force reload, we should fix this when we -# FIXME: address the null-terminated keys - -require skip_reload - statement ok CREATE TABLE t21 (c1 INT); statement ok CREATE INDEX i21 ON t21 (c1, "decode"('\x00'::BLOB)); -statement error +statement ok INSERT INTO t21 VALUES (1); ----- -ART indexes cannot contain BLOBs with zero bytes. - -statement error -CREATE INDEX i21 ON t21 (c1); \ No newline at end of file diff --git a/test/sql/index/art/issues/test_art_fuzzer_persisted.test b/test/sql/index/art/issues/test_art_fuzzer_persisted.test index e3710c01fa81..2d9cd6505019 100644 --- a/test/sql/index/art/issues/test_art_fuzzer_persisted.test +++ b/test/sql/index/art/issues/test_art_fuzzer_persisted.test @@ -23,4 +23,4 @@ statement ok CHECKPOINT; statement ok -INSERT INTO t1(c2) (SELECT DISTINCT 'b'); \ No newline at end of file +INSERT INTO t1(c2) (SELECT DISTINCT 'b'); diff --git a/test/sql/index/art/issues/test_art_issue_6799.test b/test/sql/index/art/issues/test_art_issue_6799.test index 64783f789ec6..252477bee92a 100644 --- a/test/sql/index/art/issues/test_art_issue_6799.test +++ b/test/sql/index/art/issues/test_art_issue_6799.test @@ -22,9 +22,6 @@ INSERT INTO keys_to_lookup SELECT concat('key_', i::VARCHAR) FROM range(100) t(i) -statement ok -PRAGMA force_index_join - statement ok SELECT COUNT(*) FROM ( diff --git a/test/sql/index/art/issues/test_art_issue_7349.test b/test/sql/index/art/issues/test_art_issue_7349.test index 61428a233355..06a09f10b769 100644 --- a/test/sql/index/art/issues/test_art_issue_7349.test +++ b/test/sql/index/art/issues/test_art_issue_7349.test @@ -38,7 +38,7 @@ INSERT INTO tab0 VALUES('2006-12-25'); statement error INSERT INTO td VALUES (date '2008-02-29'); ---- -Constraint Error: Duplicate key "tz: 2008-02-29" violates unique constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (docs - sql - indexes). +Constraint Error: Duplicate key "tz: 2008-02-29" violates unique constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (https://duckdb.org/docs/sql/indexes). statement ok COMMIT TRANSACTION; @@ -54,7 +54,7 @@ INSERT INTO tab0 VALUES('2006-12-25'); statement error INSERT INTO td VALUES (date '2008-02-29'); ---- -Constraint Error: Duplicate key "tz: 2008-02-29" violates unique constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (docs - sql - indexes). +Constraint Error: Duplicate key "tz: 2008-02-29" violates unique constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (https://duckdb.org/docs/sql/indexes). statement ok COMMIT TRANSACTION; @@ -80,4 +80,4 @@ query I SELECT tz FROM td ORDER BY tz; ---- 2006-12-25 -2008-02-29 \ No newline at end of file +2008-02-29 diff --git a/test/sql/index/art/issues/test_art_issue_7530.test b/test/sql/index/art/issues/test_art_issue_7530.test index 92e1a2ed2917..d15712224514 100644 --- a/test/sql/index/art/issues/test_art_issue_7530.test +++ b/test/sql/index/art/issues/test_art_issue_7530.test @@ -15,4 +15,4 @@ statement ok CREATE INDEX i1 ON t14(c0 ); statement ok -DELETE FROM t14 WHERE t14.rowid; \ No newline at end of file +DELETE FROM t14 WHERE t14.rowid; diff --git a/test/sql/index/art/join/test_art_index_join.test b/test/sql/index/art/join/test_art_index_join.test deleted file mode 100644 index c21f4f8dab08..000000000000 --- a/test/sql/index/art/join/test_art_index_join.test +++ /dev/null @@ -1,49 +0,0 @@ -# name: test/sql/index/art/join/test_art_index_join.test -# description: Test ART index join -# group: [join] - -statement ok -PRAGMA enable_verification - -statement ok -CREATE TABLE Person (id bigint PRIMARY KEY); - -statement ok -CREATE TABLE Person_knows_Person (Person1id bigint, Person2id bigint); - -statement ok -INSERT INTO Person VALUES (1), (2), (3), (4), (5); - -statement ok -INSERT INTO Person_knows_Person VALUES (1, 2), (1, 3), (1, 4), (2, 3), (3, 4), (4, 5); - -statement ok -PRAGMA force_index_join; - -query I -SELECT p1.id -FROM Person_knows_Person pkp -JOIN Person p1 - ON p1.id = pkp.Person1id ----- -1 -1 -1 -2 -3 -4 - -query II -SELECT p1.id,p2.id -FROM Person_knows_Person pkp -JOIN Person p1 - ON p1.id = pkp.Person1id -JOIN Person p2 - ON p2.id = pkp.Person2id; ----- -1 2 -1 3 -1 4 -2 3 -3 4 -4 5 diff --git a/test/sql/index/art/join/test_art_index_join.test_slow b/test/sql/index/art/join/test_art_index_join.test_slow deleted file mode 100644 index 545a452f2d5d..000000000000 --- a/test/sql/index/art/join/test_art_index_join.test_slow +++ /dev/null @@ -1,85 +0,0 @@ -# name: test/sql/index/art/join/test_art_index_join.test_slow -# description: Test ART index joins -# group: [join] - -statement ok -PRAGMA enable_verification - -statement ok -PRAGMA explain_output = PHYSICAL_ONLY; - -statement ok -PRAGMA force_index_join - -statement ok -CREATE TABLE t1(i INTEGER); - -statement ok -CREATE TABLE t2(i INTEGER); - -statement ok -CREATE TABLE t3(i INTEGER PRIMARY KEY); - -statement ok -CREATE INDEX i_index ON t1 using art(i); - -statement ok -INSERT INTO t1 SELECT i+1 FROM range(0,100) tbl(i); - -statement ok -INSERT INTO t2 SELECT i+1 FROM range(50,100) tbl(i); - -statement ok -INSERT INTO t3 SELECT i+1 FROM range(0,100) tbl(i); - -# have do disable this otherwise we get a perfect hash join -statement ok -set disabled_optimizers to 'statistics_propagation' - -# standalone limit -query II -EXPLAIN select count(t1.i) from t1 inner join t2 on (t1.i = t2.i) ----- -physical_plan :.*INDEX_JOIN.* - -query I -select count(t1.i) from t1 inner join t2 on (t1.i = t2.i) ----- -50 - -# standalone limit -query II -EXPLAIN select count(t3.i) from t3 inner join t2 on (t3.i = t2.i) ----- -physical_plan :.*INDEX_JOIN.* - -query I -select count(t3.i) from t3 inner join t2 on (t3.i = t2.i) ----- -50 - -statement ok -CREATE TABLE words( - index INTEGER, - doc INTEGER, - word VARCHAR); - -statement ok -CREATE INDEX w_index ON words using art(word); - -statement ok -COPY words FROM 'data/csv/index_join.csv.gz' (DELIMITER ',' , AUTO_DETECT FALSE) - -query II -SELECT w2.doc as doc2, COUNT(*) AS c FROM words AS w1 JOIN words AS w2 ON (w1.word=w2.word) GROUP BY doc2 ORDER BY c DESC LIMIT 10 ----- -144 24561086 -70 1896700 -366 1438250 -303 753789 -59 713489 -153 702810 -210 550678 -17 549485 -203 546133 -80 491060 diff --git a/test/sql/index/art/join/test_art_index_join_pushdown.test b/test/sql/index/art/join/test_art_index_join_pushdown.test deleted file mode 100644 index 9d413d8a0abb..000000000000 --- a/test/sql/index/art/join/test_art_index_join_pushdown.test +++ /dev/null @@ -1,113 +0,0 @@ -# name: test/sql/index/art/join/test_art_index_join_pushdown.test -# description: Test index join pushdown -# group: [join] - -statement ok -PRAGMA enable_verification - -statement ok -CREATE TABLE Person (name VARCHAR, phone HUGEINT, id bigint PRIMARY KEY, address VARCHAR, famous_percentage SMALLINT); - -statement ok -CREATE TABLE Person_knows_Person (Person1id bigint, Person2id bigint, relation VARCHAR); - -statement ok -INSERT INTO Person VALUES - ('John', 123456789, 1, 'Canada', 100), - ('Bill', 3754519434, 2, 'US', 80), - ('Moss', 1189998819901197253, 3, 'UK', 50), - ('Roy', 15, 4, 'UK', 40), - ('Douglas Reynholm', 1, 5, 'UK', 20); - -statement ok -INSERT INTO Person_knows_Person VALUES - (3, 4, 'Coworker'), - (3, 5, 'Employee'), - (4, 5, 'Employee'), - (2, 5, 'Business Contact'), - (1, 2, 'Secret Admirer'); - -statement ok -PRAGMA force_index_join; - -query IIIIIIII nosort join_result -SELECT pkp.*, p1.* -FROM Person_knows_Person pkp -JOIN Person p1 - ON p1.id = pkp.Person1id -ORDER BY ALL ----- - -# invert join condition -query IIIIIIII nosort join_result -SELECT pkp.*, p1.* -FROM Person_knows_Person pkp -JOIN Person p1 - ON pkp.Person1id = p1.id -ORDER BY ALL ----- - -# swap sides -query IIIIIIII nosort join_result -SELECT pkp.*, p1.* -FROM Person p1 -JOIN Person_knows_Person pkp - ON p1.id = pkp.Person1id -ORDER BY ALL ----- - -query IIIIIIII nosort join_result -SELECT pkp.*, p1.* -FROM Person p1 -JOIN Person_knows_Person pkp - ON pkp.Person1id = p1.id -ORDER BY ALL ----- - -# now add filter pushdown -query IIIIIIII nosort pushdown -SELECT pkp.*, p1.* -FROM Person_knows_Person pkp -JOIN Person p1 - ON p1.id = pkp.Person1id -WHERE p1.phone >= 3754519434 -ORDER BY ALL ----- - -query IIIIIIII nosort pushdown -SELECT pkp.*, p1.* -FROM Person p1 -JOIN Person_knows_Person pkp - ON p1.id = pkp.Person1id -WHERE p1.phone >= 3754519434 -ORDER BY ALL ----- - -# strip the columns of p1 -query II -SELECT p1.id, p1.name -FROM Person p1 -JOIN Person_knows_Person pkp - ON p1.id = pkp.Person1id -WHERE p1.phone >= 3754519434 -ORDER BY ALL ----- -2 Bill -3 Moss -3 Moss - -# multiple joins -query IIIII -SELECT p1.name, p2.name, pkp.relation, p1.famous_percentage, p2.famous_percentage -FROM Person_knows_Person pkp -JOIN Person p1 - ON p1.id = pkp.Person1id -JOIN Person p2 - ON p2.id = pkp.Person2id -ORDER BY ALL ----- -Bill Douglas Reynholm Business Contact 80 20 -John Bill Secret Admirer 100 80 -Moss Douglas Reynholm Employee 50 20 -Moss Roy Coworker 50 40 -Roy Douglas Reynholm Employee 40 20 diff --git a/test/sql/index/art/join/test_art_index_join_with_nulls.test b/test/sql/index/art/join/test_art_index_join_with_nulls.test deleted file mode 100644 index 5dba3f6c6a45..000000000000 --- a/test/sql/index/art/join/test_art_index_join_with_nulls.test +++ /dev/null @@ -1,63 +0,0 @@ -# name: test/sql/index/art/join/test_art_index_join_with_nulls.test -# description: Test that we reset keys correctly during index joins -# group: [join] - -# this tests contains the reproducible example of issue 7267 in a reduced size - -statement ok -PRAGMA enable_verification - -statement ok -CREATE TABLE addresses (address int, state string); - -statement ok -INSERT INTO addresses SELECT range, 'GA' FROM range(3000); - -statement ok -CREATE TABLE demos (demo int primary key); - -statement ok -INSERT INTO demos SELECT range FROM range(100000); - -statement ok -CREATE TABLE customers (customer int, cdemo int, caddress int); - -statement ok -INSERT INTO customers SELECT range, range, range FROM range(4953); - -# set 200 cdemo values to NULL - -loop i 0 200 - -statement ok -UPDATE customers SET cdemo = NULL WHERE customer = (${i} * 24.5)::INTEGER; - -endloop - -# verify our NULLs - -query I -SELECT COUNT(customer) FROM customers WHERE cdemo IS NULL; ----- -200 - -query I -SELECT COUNT(c.customer) -FROM customers c -INNER JOIN addresses ca ON c.caddress = ca.address -INNER JOIN demos d ON c.cdemo = d.demo -WHERE ca.state ='GA'; ----- -2877 - -statement ok -PRAGMA threads=1; - -query I -SELECT COUNT(c.customer) -FROM customers c -INNER JOIN addresses ca ON c.caddress = ca.address -INNER JOIN demos d ON c.cdemo = d.demo -WHERE ca.state ='GA'; ----- -2877 \ No newline at end of file diff --git a/test/sql/index/art/join/test_art_multi_dimensional_index_join.test b/test/sql/index/art/join/test_art_multi_dimensional_index_join.test deleted file mode 100644 index 579752cb6031..000000000000 --- a/test/sql/index/art/join/test_art_multi_dimensional_index_join.test +++ /dev/null @@ -1,53 +0,0 @@ -# name: test/sql/index/art/join/test_art_multi_dimensional_index_join.test -# description: Test multi dimensional index joins on an ART -# group: [join] - -statement ok -PRAGMA enable_verification - -statement ok -CREATE TABLE Person (id bigint, k int, PRIMARY KEY (id, k)); - -statement ok -CREATE TABLE Person_knows_Person (Person1id bigint, Person2id bigint); - -statement ok -INSERT INTO Person VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5); - -statement ok -INSERT INTO Person_knows_Person VALUES (1, 2), (1, 3), (1, 4), (2, 3), (3, 4), (4, 5); - -statement ok -PRAGMA force_index_join; - -query II -SELECT p1.id,p2.id -FROM Person_knows_Person pkp -JOIN Person p1 - ON p1.id = pkp.Person1id -JOIN Person p2 - ON p2.id = pkp.Person2id -ORDER BY 1, 2; ----- -1 2 -1 3 -1 4 -2 3 -3 4 -4 5 - -query II -SELECT p1.id,p2.id -FROM Person p1 -JOIN Person_knows_Person pkp - ON p1.id = pkp.Person1id -JOIN Person p2 - ON p2.id = pkp.Person2id -ORDER BY 1, 2; ----- -1 2 -1 3 -1 4 -2 3 -3 4 -4 5 \ No newline at end of file diff --git a/test/sql/index/art/memory/test_art_linear.test_slow b/test/sql/index/art/memory/test_art_linear.test_slow index 853c194eb390..fd6fbec3b489 100644 --- a/test/sql/index/art/memory/test_art_linear.test_slow +++ b/test/sql/index/art/memory/test_art_linear.test_slow @@ -11,10 +11,10 @@ require skip_reload statement ok CREATE FUNCTION mem_to_bytes(x) AS CASE - WHEN CONTAINS(x, 'KB') THEN REPLACE(x, 'KB', '')::INT * 1000 - WHEN CONTAINS(x, 'MB') THEN REPLACE(x, 'MB', '')::INT * 1000 * 1000 - WHEN CONTAINS(x, 'GB') THEN REPLACE(x, 'GB', '')::INT * 1000 * 1000 * 1000 - WHEN CONTAINS(x, 'TB') THEN REPLACE(x, 'TB', '')::INT * 1000 * 1000 * 1000 * 1000 + WHEN CONTAINS(x, 'KiB') THEN REPLACE(x, 'KiB', '')::INT * 1024.0 + WHEN CONTAINS(x, 'MiB') THEN REPLACE(x, 'MiB', '')::INT * 1024.0 * 1024 + WHEN CONTAINS(x, 'GiB') THEN REPLACE(x, 'GiB', '')::INT * 1024.0 * 1024 * 1024 + WHEN CONTAINS(x, 'TiB') THEN REPLACE(x, 'TiB', '')::INT * 1024.0 * 1024 * 1024 * 1024 WHEN x = '0 bytes' THEN 0 ELSE x::INT END; @@ -37,8 +37,7 @@ CREATE TABLE base AS SELECT mem_to_bytes(memory_usage) AS usage FROM pragma_database_size(); query I -SELECT base.usage > empty.usage -FROM base, empty; +SELECT base.usage > empty.usage FROM base, empty; ---- true @@ -63,9 +62,11 @@ CREATE TABLE t (i integer PRIMARY KEY); statement ok INSERT INTO t SELECT * FROM range(1000000); +# overhead due to more metadata blocks for smaller block sizes should not exceed 5x the base usage + query I SELECT mem_to_bytes(current.memory_usage) > base.usage AND - mem_to_bytes(current.memory_usage) < 3 * base.usage + mem_to_bytes(current.memory_usage) < 5 * base.usage FROM base, pragma_database_size() current; ---- 1 @@ -99,7 +100,7 @@ INSERT INTO t SELECT * FROM range(1000000); query I SELECT mem_to_bytes(current.memory_usage) > base.usage AND - mem_to_bytes(current.memory_usage) < 3 * base.usage + mem_to_bytes(current.memory_usage) < 5 * base.usage FROM base, pragma_database_size() current; ---- 1 @@ -124,7 +125,7 @@ INSERT INTO t SELECT * FROM range(1000000); query I SELECT mem_to_bytes(current.memory_usage) > base.usage AND - mem_to_bytes(current.memory_usage) < 3 * base.usage + mem_to_bytes(current.memory_usage) < 5 * base.usage FROM base, pragma_database_size() current; ---- 1 @@ -137,7 +138,7 @@ statement ok DELETE FROM t WHERE i > 500000; query I -SELECT mem_to_bytes(current.memory_usage) * 3 > pk_mem.usage +SELECT mem_to_bytes(current.memory_usage) * 5 > pk_mem.usage AND mem_to_bytes(current.memory_usage) < pk_mem.usage FROM pragma_database_size() current, pk_mem; ---- diff --git a/test/sql/index/art/memory/test_art_non_linear.test_slow b/test/sql/index/art/memory/test_art_non_linear.test_slow index 305e6e7281c7..68dee515fd5f 100644 --- a/test/sql/index/art/memory/test_art_non_linear.test_slow +++ b/test/sql/index/art/memory/test_art_non_linear.test_slow @@ -11,10 +11,10 @@ require skip_reload statement ok CREATE FUNCTION mem_to_bytes(x) AS CASE - WHEN CONTAINS(x, 'KB') THEN REPLACE(x, 'KB', '')::INT * 1000 - WHEN CONTAINS(x, 'MB') THEN REPLACE(x, 'MB', '')::INT * 1000 * 1000 - WHEN CONTAINS(x, 'GB') THEN REPLACE(x, 'GB', '')::INT * 1000 * 1000 * 1000 - WHEN CONTAINS(x, 'TB') THEN REPLACE(x, 'TB', '')::INT * 1000 * 1000 * 1000 * 1000 + WHEN CONTAINS(x, 'KiB') THEN REPLACE(x, 'KiB', '')::INT * 1024.0 + WHEN CONTAINS(x, 'MiB') THEN REPLACE(x, 'MiB', '')::INT * 1024.0 * 1024 + WHEN CONTAINS(x, 'GiB') THEN REPLACE(x, 'GiB', '')::INT * 1024.0 * 1024 * 1024 + WHEN CONTAINS(x, 'TiB') THEN REPLACE(x, 'TiB', '')::INT * 1024.0 * 1024 * 1024 * 1024 WHEN x = '0 bytes' THEN 0 ELSE x::INT END; @@ -114,4 +114,4 @@ SELECT mem_to_bytes(memory_usage) < 4000000 FROM pragma_database_size(); true statement ok -DROP TABLE art; \ No newline at end of file +DROP TABLE art; diff --git a/test/sql/index/art/memory/test_art_varchar.test_slow b/test/sql/index/art/memory/test_art_varchar.test_slow index 7ce69b3b45bc..5fdb955edfe0 100644 --- a/test/sql/index/art/memory/test_art_varchar.test_slow +++ b/test/sql/index/art/memory/test_art_varchar.test_slow @@ -13,10 +13,10 @@ PRAGMA enable_verification statement ok CREATE FUNCTION mem_to_bytes(x) AS CASE - WHEN CONTAINS(x, 'KB') THEN REPLACE(x, 'KB', '')::BIGINT * 1000 - WHEN CONTAINS(x, 'MB') THEN REPLACE(x, 'MB', '')::BIGINT * 1000 * 1000 - WHEN CONTAINS(x, 'GB') THEN REPLACE(x, 'GB', '')::BIGINT * 1000 * 1000 * 1000 - WHEN CONTAINS(x, 'TB') THEN REPLACE(x, 'TB', '')::BIGINT * 1000 * 1000 * 1000 * 1000 + WHEN CONTAINS(x, 'KiB') THEN REPLACE(x, 'KiB', '')::INT * 1024.0 + WHEN CONTAINS(x, 'MiB') THEN REPLACE(x, 'MiB', '')::INT * 1024.0 * 1024 + WHEN CONTAINS(x, 'GiB') THEN REPLACE(x, 'GiB', '')::INT * 1024.0 * 1024 * 1024 + WHEN CONTAINS(x, 'TiB') THEN REPLACE(x, 'TiB', '')::INT * 1024.0 * 1024 * 1024 * 1024 WHEN x = '0 bytes' THEN 0::BIGINT ELSE x::BIGINT END; @@ -73,4 +73,4 @@ SELECT mem_to_bytes(current.memory_usage) > base.usage AND mem_to_bytes(current.memory_usage) < 4 * base.usage FROM base, pragma_database_size() current; ---- -1 \ No newline at end of file +1 diff --git a/test/sql/index/art/multi_column/test_art_multi_column.test_slow b/test/sql/index/art/multi_column/test_art_multi_column.test_slow index 6a4f9983148b..a23a9cfb0f13 100644 --- a/test/sql/index/art/multi_column/test_art_multi_column.test_slow +++ b/test/sql/index/art/multi_column/test_art_multi_column.test_slow @@ -7,9 +7,6 @@ PRAGMA enable_verification require skip_reload -statement ok -PRAGMA force_index_join - # create a table statement ok con1 CREATE TABLE integers(i INTEGER, j INTEGER); diff --git a/test/sql/index/art/nodes/test_art_leaf_coverage.test b/test/sql/index/art/nodes/test_art_leaf_coverage.test index 95a4b81e8202..2f22ac752d9c 100644 --- a/test/sql/index/art/nodes/test_art_leaf_coverage.test +++ b/test/sql/index/art/nodes/test_art_leaf_coverage.test @@ -88,4 +88,4 @@ statement ok INSERT INTO tbl_dup_ser SELECT 12345 FROM range(11); statement ok -CREATE INDEX idx_dup_ser ON tbl_dup_ser(id); \ No newline at end of file +CREATE INDEX idx_dup_ser ON tbl_dup_ser(id); diff --git a/test/sql/index/art/nodes/test_art_prefixes.test b/test/sql/index/art/nodes/test_art_prefixes.test index 642cdf2bb57d..74fdd5e25e2e 100644 --- a/test/sql/index/art/nodes/test_art_prefixes.test +++ b/test/sql/index/art/nodes/test_art_prefixes.test @@ -121,4 +121,4 @@ DELETE FROM mixed_distinct_prefixes WHERE rowid IN (SELECT rowid FROM mixed_distinct_prefixes LIMIT 1000); statement ok -DROP INDEX idx_mixed_distinct_prefixes; \ No newline at end of file +DROP INDEX idx_mixed_distinct_prefixes; diff --git a/test/sql/index/art/nodes/test_art_prefixes_restart.test b/test/sql/index/art/nodes/test_art_prefixes_restart.test index 251f3244f4ed..b0457e0cffb1 100644 --- a/test/sql/index/art/nodes/test_art_prefixes_restart.test +++ b/test/sql/index/art/nodes/test_art_prefixes_restart.test @@ -62,4 +62,4 @@ restart statement ok INSERT INTO tbl_varchar VALUES - ('0123456779-0123456789-0123456789-0123456789'); \ No newline at end of file + ('0123456779-0123456789-0123456789-0123456789'); diff --git a/test/sql/index/art/scan/art_null_bytes.test b/test/sql/index/art/scan/art_null_bytes.test new file mode 100644 index 000000000000..cdc2dd106b76 --- /dev/null +++ b/test/sql/index/art/scan/art_null_bytes.test @@ -0,0 +1,86 @@ +# name: test/sql/index/art/scan/art_null_bytes.test +# description: Test ART with null bytes +# group: [scan] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE varchars(v VARCHAR PRIMARY KEY); + +statement ok +INSERT INTO varchars VALUES ('hello'), ('hello' || chr(0)), ('hello' || chr(0) || chr(0)), ('hello' || chr(0) || chr(0) || chr(0)); + +statement error +INSERT INTO varchars VALUES ('hello' || chr(0) || chr(0) || chr(0)); +---- +Duplicate key + +query I +SELECT * FROM varchars WHERE v = 'hello' +---- +hello + +query I +SELECT * FROM varchars WHERE v = 'hello' || chr(0) +---- +hello\0 + +query I +SELECT * FROM varchars WHERE v = 'hello' || chr(0) || chr(0) +---- +hello\0\0 + +query I +SELECT * FROM varchars WHERE v = 'hello' || chr(0) || chr(0) || chr(0) +---- +hello\0\0\0 + +statement ok +CREATE TABLE blobs(b BLOB PRIMARY KEY); + +statement ok +INSERT INTO blobs VALUES (''), ('\x00'), ('\x01'), ('\x00\x01'), ('\x01\x00'), ('\x01\x01'), ('\x00\x00'); + +statement error +INSERT INTO blobs VALUES ('\x00\x01'); +---- +Duplicate key + +query I +SELECT * FROM blobs WHERE b = '' +---- +(empty) + +query I +SELECT * FROM blobs WHERE b = '\x00' +---- +\x00 + +query I +SELECT * FROM blobs WHERE b = '\x00\x01' +---- +\x00\x01 + +query I +SELECT * FROM blobs WHERE b >= '\x00' ORDER BY b::VARCHAR +---- +\x00 +\x00\x00 +\x00\x01 +\x01 +\x01\x00 +\x01\x01 + +query I +SELECT * FROM blobs WHERE b >= '\x01' ORDER BY b::VARCHAR +---- +\x01 +\x01\x00 +\x01\x01 + +query I +SELECT * FROM blobs WHERE b >= '\x01\x00' ORDER BY b::VARCHAR +---- +\x01\x00 +\x01\x01 diff --git a/test/sql/index/art/scan/test_art_negative_range_scan.test b/test/sql/index/art/scan/test_art_negative_range_scan.test index 60eeaf3d0514..0b78db83ebd5 100644 --- a/test/sql/index/art/scan/test_art_negative_range_scan.test +++ b/test/sql/index/art/scan/test_art_negative_range_scan.test @@ -33,4 +33,4 @@ statement ok DROP INDEX i_index statement ok -DROP TABLE integers \ No newline at end of file +DROP TABLE integers diff --git a/test/sql/index/art/scan/test_art_range_scan.test b/test/sql/index/art/scan/test_art_range_scan.test index 8b86d62ab45c..140851ac712a 100644 --- a/test/sql/index/art/scan/test_art_range_scan.test +++ b/test/sql/index/art/scan/test_art_range_scan.test @@ -86,4 +86,4 @@ SELECT x FROM test WHERE x > 135; 257 statement ok -DROP TABLE test; \ No newline at end of file +DROP TABLE test; diff --git a/test/sql/index/art/scan/test_art_scan_coverage.test b/test/sql/index/art/scan/test_art_scan_coverage.test index 23ada689e785..38cf70ede899 100644 --- a/test/sql/index/art/scan/test_art_scan_coverage.test +++ b/test/sql/index/art/scan/test_art_scan_coverage.test @@ -86,4 +86,4 @@ DELETE FROM tab1 WHERE ((col0 > 32) AND col0 < 87) query I rowsort label-empty SELECT pk FROM tab1 WHERE ((col0 > 32) AND col0 < 87) ----- \ No newline at end of file +---- diff --git a/test/sql/index/art/storage/test_art_auto_checkpoint.test b/test/sql/index/art/storage/test_art_auto_checkpoint.test new file mode 100644 index 000000000000..9f1791cd3db3 --- /dev/null +++ b/test/sql/index/art/storage/test_art_auto_checkpoint.test @@ -0,0 +1,70 @@ +# name: test/sql/index/art/storage/test_art_auto_checkpoint.test +# description: Test auto checkpointing of the ART after CREATE and INSERT +# group: [storage] + +# test auto checkpointing after CREATE INDEX + +load __TEST_DIR__/idx_checkpoint_create.db + +statement ok +PRAGMA enable_verification; + +statement ok +PRAGMA disable_checkpoint_on_shutdown; + +statement ok +PRAGMA wal_autocheckpoint='400KB'; + +# inserts approximately 786.0 KiB (256KB block size) or 338.0 KiB (16KB block size) of in-memory data, +# i.e., the WAL has to exceed that (barely) + +statement ok +CREATE TABLE tbl AS SELECT range AS i FROM range(40000); + +query I +SELECT used_blocks FROM pragma_database_size(); +---- +0 + +statement ok +CREATE INDEX idx ON tbl(i); + +# ensure that we automatically checkpointed + +query I +SELECT used_blocks > 0 FROM pragma_database_size(); +---- +1 + +# test auto checkpointing after INSERT + +load __TEST_DIR__/idx_checkpoint_insert.db + +statement ok +PRAGMA enable_verification; + +statement ok +PRAGMA disable_checkpoint_on_shutdown; + +statement ok +PRAGMA wal_autocheckpoint='400KB'; + +# inserts just a few bytes (catalog entries), i.e., the WAL has to exceed that + +statement ok +CREATE TABLE tbl (i INTEGER PRIMARY KEY); + +query I +SELECT used_blocks FROM pragma_database_size(); +---- +0 + +statement ok +INSERT INTO tbl SELECT range FROM range(40000); + +# ensure that we automatically checkpointed + +query I +SELECT used_blocks > 0 FROM pragma_database_size(); +---- +1 diff --git a/test/sql/index/art/storage/test_art_checkpoint.test b/test/sql/index/art/storage/test_art_checkpoint.test index 0e0ded49bb83..5b4ccf3f559a 100644 --- a/test/sql/index/art/storage/test_art_checkpoint.test +++ b/test/sql/index/art/storage/test_art_checkpoint.test @@ -20,6 +20,7 @@ restart # insert values and create index statement error INSERT INTO integers VALUES (1); +---- # now we want to ensure that we use partial blocks for serializing small ARTs @@ -46,4 +47,4 @@ CHECKPOINT; query I SELECT total_blocks < 5 FROM pragma_database_size(); ---- -1 \ No newline at end of file +1 diff --git a/test/sql/index/art/storage/test_art_duckdb_versions.test b/test/sql/index/art/storage/test_art_duckdb_versions.test new file mode 100644 index 000000000000..e21c39ae33dd --- /dev/null +++ b/test/sql/index/art/storage/test_art_duckdb_versions.test @@ -0,0 +1,229 @@ +# name: test/sql/index/art/storage/test_art_duckdb_versions.test +# description: Test compatibility of ART indexes for different duckdb versions +# group: [storage] + +# data/storage/index_0-9-1.db was written with a 64-bit version of duckdb +require 64bit + +# cannot read a database with a different block size +require block_size 262144 + +# SQL to create index_0-9-1.db + +# CREATE TABLE pk_tbl (id INTEGER PRIMARY KEY, name VARCHAR UNIQUE); +# CREATE TABLE idx_tbl (i INTEGER, j INTEGER, k INTEGER); +# CREATE TABLE fk_tbl (id INTEGER REFERENCES pk_tbl(id)); +# INSERT INTO pk_tbl VALUES (1, 'alice'), (2, 'eve'), (3, 'hedy'); +# INSERT INTO idx_tbl VALUES (10, 20, 30); +# INSERT INTO idx_tbl VALUES (11, 22, 31); +# INSERT INTO idx_tbl VALUES (110, 220, 310); +# INSERT INTO fk_tbl VALUES (2), (3); +# CREATE INDEX idx_1 ON idx_tbl(i, k); +# CREATE INDEX idx_2 ON idx_tbl (i); + +load data/storage/index_0-9-1.db readonly + +# ensure that we read the catalog correctly + +query II +SELECT table_name, index_count FROM duckdb_tables() ORDER BY table_name; +---- +fk_tbl 1 +idx_tbl 2 +pk_tbl 2 + +query II +SELECT index_name, table_name FROM duckdb_indexes() ORDER BY index_name; +---- +idx_1 idx_tbl +idx_2 idx_tbl + +query II +SELECT table_name, constraint_type FROM duckdb_constraints() ORDER BY ALL; +---- +fk_tbl FOREIGN KEY +pk_tbl NOT NULL +pk_tbl PRIMARY KEY +pk_tbl UNIQUE + +# ensure that we correctly load the data + +query II +SELECT id, name FROM pk_tbl ORDER BY id; +---- +1 alice +2 eve +3 hedy + +# some index lookups + +query I +SELECT id FROM pk_tbl WHERE id = 2; +---- +2 + +query I +SELECT i FROM idx_tbl WHERE i = 11 +---- +11 + +# load the data into a new database to make it mutable + +statement ok +EXPORT DATABASE '__TEST_DIR__/export_index_db' (FORMAT CSV) + +load __TEST_DIR__/test_art_import.db + +statement ok +IMPORT DATABASE '__TEST_DIR__/export_index_db' + +# first, perform the same checks + +query II +SELECT table_name, index_count FROM duckdb_tables() ORDER BY table_name; +---- +fk_tbl 1 +idx_tbl 2 +pk_tbl 2 + +query II +SELECT index_name, table_name FROM duckdb_indexes() ORDER BY index_name; +---- +idx_1 idx_tbl +idx_2 idx_tbl + +query II +SELECT table_name, constraint_type FROM duckdb_constraints() ORDER BY ALL; +---- +fk_tbl FOREIGN KEY +pk_tbl NOT NULL +pk_tbl PRIMARY KEY +pk_tbl UNIQUE + +query II +SELECT id, name FROM pk_tbl ORDER BY id; +---- +1 alice +2 eve +3 hedy + +query I +SELECT id FROM pk_tbl WHERE id = 2; +---- +2 + +query I +SELECT i FROM idx_tbl WHERE i = 11 +---- +11 + +# now try to break it + +query I +SELECT used_blocks < 10 FROM pragma_database_size(); +---- +1 + +statement ok +INSERT INTO idx_tbl SELECT range, range, range FROM range(30000); + +statement ok +checkpoint; + +query I +SELECT used_blocks > 10 FROM pragma_database_size(); +---- +1 + +statement ok +CREATE INDEX ART_index ON idx_tbl(i); + +statement error +CREATE INDEX idx_1 ON idx_tbl(i); +---- +already exists + +# now try to use it again + +query III +SELECT i, j, k FROM idx_tbl WHERE i = 110 ORDER BY ALL; +---- +110 110 110 +110 220 310 + +statement ok +CHECKPOINT + +restart + +query II +SELECT table_name, index_count FROM duckdb_tables() ORDER BY table_name; +---- +fk_tbl 1 +idx_tbl 3 +pk_tbl 2 + +query II +SELECT index_name, table_name FROM duckdb_indexes() ORDER BY index_name; +---- +ART_index idx_tbl +idx_1 idx_tbl +idx_2 idx_tbl + +query II +SELECT table_name, constraint_type FROM duckdb_constraints() ORDER BY ALL; +---- +fk_tbl FOREIGN KEY +pk_tbl NOT NULL +pk_tbl PRIMARY KEY +pk_tbl UNIQUE + +query II +SELECT id, name FROM pk_tbl ORDER BY id; +---- +1 alice +2 eve +3 hedy + +query I +SELECT id FROM pk_tbl WHERE id = 2; +---- +2 + +query I +SELECT i FROM idx_tbl WHERE i = 11 +---- +11 +11 + +query III +SELECT i, j, k FROM idx_tbl WHERE i = 110 ORDER BY ALL; +---- +110 110 110 +110 220 310 + +statement ok +DROP INDEX idx_1; + +statement ok +DROP INDEX idx_2; + +statement ok +DROP INDEX ART_index; + +statement ok +DROP TABLE fk_tbl; + +statement ok +DROP TABLE idx_tbl; + +statement ok +DROP TABLE pk_tbl; + +statement ok +CHECKPOINT + +query I +SELECT used_blocks < 2 FROM pragma_database_size(); +---- +1 diff --git a/test/sql/index/art/storage/test_art_import.test b/test/sql/index/art/storage/test_art_import.test index bc5eb3e8267f..67f1a87cd8fd 100644 --- a/test/sql/index/art/storage/test_art_import.test +++ b/test/sql/index/art/storage/test_art_import.test @@ -27,4 +27,4 @@ statement ok ROLLBACK statement ok -IMPORT DATABASE '__TEST_DIR__/index' \ No newline at end of file +IMPORT DATABASE '__TEST_DIR__/index' diff --git a/test/sql/index/art/storage/test_art_names.test b/test/sql/index/art/storage/test_art_names.test new file mode 100644 index 000000000000..6ef33de92d6b --- /dev/null +++ b/test/sql/index/art/storage/test_art_names.test @@ -0,0 +1,217 @@ +# name: test/sql/index/art/storage/test_art_names.test +# description: Test names ART indexes +# group: [storage] + +load __TEST_DIR__/test_art_names.db + +statement ok +PRAGMA enable_verification; + +# test PKs and UNIQUE + +statement ok +CREATE TABLE tbl (i INTEGER PRIMARY KEY, j INTEGER UNIQUE); + +# names match the internal constraint names + +statement error +CREATE INDEX PRIMARY_tbl_0 ON tbl(i); +---- +already exists + +statement error +CREATE INDEX UNIQUE_tbl_1 ON tbl(j); +---- +already exists + +statement ok +INSERT INTO tbl SELECT range, range FROM range (3000); + +statement error +INSERT INTO tbl VALUES (4000, 20); +---- +constraint violation + +statement error +INSERT INTO tbl VALUES (20, 4000); +---- +constraint violation + +restart + +# test that we deserialized the index names correctly + +statement error +INSERT INTO tbl VALUES (4000, 20); +---- +constraint violation + +statement error +INSERT INTO tbl VALUES (20, 4000); +---- +constraint violation + +statement error +CREATE INDEX PRIMARY_tbl_0 ON tbl(i); +---- +already exists + +statement error +CREATE INDEX UNIQUE_tbl_1 ON tbl(j); +---- +already exists + +statement error +INSERT INTO tbl VALUES (20, 4000); +---- +constraint violation + +statement error +INSERT INTO tbl VALUES (4000, 20); +---- +constraint violation + +restart + +statement ok +DROP TABLE tbl; + +restart + +# test PKs, FKs, and UNIQUE + +statement ok +CREATE TABLE tbl (i INTEGER PRIMARY KEY, j INTEGER UNIQUE); + +statement ok +CREATE TABLE fk_tbl (i INTEGER, j INTEGER, + FOREIGN KEY (i) REFERENCES tbl(i), + FOREIGN KEY (j) REFERENCES tbl(j)); + +statement ok +INSERT INTO tbl SELECT range, range FROM range (3000); + +statement ok +INSERT INTO fk_tbl SELECT range, range FROM range (3000); + +# check all constraints + +statement error +INSERT INTO tbl VALUES (4000, 20); +---- +constraint violation + +statement error +INSERT INTO tbl VALUES (20, 4000); +---- +constraint violation + +statement error +INSERT INTO fk_tbl VALUES (4000, 20); +---- +foreign key constraint + +statement error +INSERT INTO fk_tbl VALUES (20, 4000); +---- +foreign key constraint + +statement error +CREATE INDEX PRIMARY_tbl_0 ON tbl(i); +---- +already exists + +statement error +CREATE INDEX UNIQUE_tbl_1 ON tbl(j); +---- +already exists + +# fails on the FK table + +statement error +CREATE INDEX FOREIGN_fk_tbl_0 ON fk_tbl(i); +---- +already exists + +statement error +CREATE INDEX FOREIGN_fk_tbl_1 ON fk_tbl(j); +---- +already exists + +# check all constraints + +statement error +INSERT INTO tbl VALUES (4000, 20); +---- +constraint violation + +statement error +INSERT INTO tbl VALUES (20, 4000); +---- +constraint violation + +statement error +INSERT INTO fk_tbl VALUES (4000, 20); +---- +foreign key constraint + +statement error +INSERT INTO fk_tbl VALUES (20, 4000); +---- +foreign key constraint + +statement error +CREATE INDEX PRIMARY_tbl_0 ON tbl(i); +---- +already exists + +statement error +CREATE INDEX UNIQUE_tbl_1 ON tbl(j); +---- +already exists + +restart + +statement error +CREATE INDEX PRIMARY_tbl_0 ON tbl(i); +---- +already exists + +statement error +CREATE INDEX UNIQUE_tbl_1 ON tbl(j); +---- +already exists + +# fails on the FK table + +statement error +CREATE INDEX FOREIGN_fk_tbl_0 ON fk_tbl(i); +---- +already exists + +statement error +CREATE INDEX FOREIGN_fk_tbl_1 ON fk_tbl(j); +---- +already exists + +# check all constraints + +statement error +INSERT INTO tbl VALUES (4000, 20); +---- +constraint violation + +statement error +INSERT INTO tbl VALUES (20, 4000); +---- +constraint violation + +statement error +INSERT INTO fk_tbl VALUES (4000, 20); +---- +foreign key constraint + +statement error +INSERT INTO fk_tbl VALUES (20, 4000); +---- +foreign key constraint diff --git a/test/sql/index/art/storage/test_art_readonly.test b/test/sql/index/art/storage/test_art_readonly.test index 079ddb2d23da..98005f8cf3e4 100644 --- a/test/sql/index/art/storage/test_art_readonly.test +++ b/test/sql/index/art/storage/test_art_readonly.test @@ -28,4 +28,4 @@ read-only mode query I SELECT index_name FROM duckdb_indexes(); ---- -idx_drop \ No newline at end of file +idx_drop diff --git a/test/sql/index/art/storage/test_art_reclaim_storage.test_slow b/test/sql/index/art/storage/test_art_reclaim_storage.test_slow index fb62ed29233a..c5cc7d3e3194 100644 --- a/test/sql/index/art/storage/test_art_reclaim_storage.test_slow +++ b/test/sql/index/art/storage/test_art_reclaim_storage.test_slow @@ -10,9 +10,13 @@ CREATE TABLE integers AS SELECT i FROM range(1000000) tbl(i); statement ok CHECKPOINT; +# save the block count and the used block count before index creation + statement ok CREATE TABLE blocks_tbl AS SELECT total_blocks, used_blocks FROM pragma_database_size(); +# index creation + statement ok CREATE INDEX idx ON integers(i); @@ -24,11 +28,34 @@ SELECT i FROM integers WHERE i = 500000; statement ok CHECKPOINT; -# save the total block count and the used block count +# save the total block count and the used block count after creating an index statement ok CREATE TABLE blocks_idx AS SELECT total_blocks, used_blocks FROM pragma_database_size(); -# loop and always DROP INDEX, then recreate (reusing the same blocks) +# dropping the index + +statement ok +DROP INDEX idx; + +statement ok +CHECKPOINT; + +# save the total block count after dropping the index +statement ok +CREATE TABLE blocks_drop_idx AS SELECT total_blocks, used_blocks FROM pragma_database_size(); + +statement ok +CREATE INDEX idx ON integers(i); + +statement ok +CHECKPOINT; + +query I +SELECT i FROM integers WHERE i = 500000; +---- +500000 + +# now loop and always DROP INDEX, then recreate (reusing the same blocks) loop i 0 4 @@ -41,8 +68,8 @@ CHECKPOINT; # we added another table, but dropping the index should get us back # to more or less the block count that we had before creating the index query I -SELECT current.total_blocks < blocks_tbl.total_blocks + 4 -FROM pragma_database_size() AS current, blocks_tbl; +SELECT current.total_blocks < blocks_drop_idx.total_blocks + 4 +FROM pragma_database_size() AS current, blocks_drop_idx; ---- 1 @@ -54,7 +81,7 @@ CHECKPOINT; # we reclaim blocks, so we stay within some +4 blocks of our previous block count query I -SELECT current.total_blocks < blocks_idx.total_blocks + 4 +SELECT current.total_blocks < blocks_idx.total_blocks + 5 FROM pragma_database_size() current, blocks_idx; ---- 1 @@ -115,4 +142,4 @@ query I SELECT current.used_blocks < blocks_idx.total_blocks FROM pragma_database_size() current, blocks_idx; ---- -1 \ No newline at end of file +1 diff --git a/test/sql/index/art/storage/test_art_reclaim_storage_pk_fk.test_slow b/test/sql/index/art/storage/test_art_reclaim_storage_pk_fk.test_slow index efc49448ecfb..24477298430c 100644 --- a/test/sql/index/art/storage/test_art_reclaim_storage_pk_fk.test_slow +++ b/test/sql/index/art/storage/test_art_reclaim_storage_pk_fk.test_slow @@ -97,4 +97,4 @@ CHECKPOINT query I SELECT used_blocks < 2 FROM pragma_database_size(); ---- -1 \ No newline at end of file +1 diff --git a/test/sql/index/art/storage/test_art_storage_multi_checkpoint.test b/test/sql/index/art/storage/test_art_storage_multi_checkpoint.test index 70b37ec261a8..044d8cb37635 100644 --- a/test/sql/index/art/storage/test_art_storage_multi_checkpoint.test +++ b/test/sql/index/art/storage/test_art_storage_multi_checkpoint.test @@ -21,4 +21,4 @@ restart query I SELECT i FROM pk_integers WHERE i = 1; ---- -1 \ No newline at end of file +1 diff --git a/test/sql/index/art/types/test_art_bigint.test_slow b/test/sql/index/art/types/test_art_bigint.test_slow index 98fd9235d2c8..af63914a3aea 100644 --- a/test/sql/index/art/types/test_art_bigint.test_slow +++ b/test/sql/index/art/types/test_art_bigint.test_slow @@ -7,9 +7,6 @@ PRAGMA enable_verification require skip_reload -statement ok -PRAGMA force_index_join - # BEGIN TYPE BIGINT statement ok CREATE TABLE integers(i BIGINT) diff --git a/test/sql/index/art/types/test_art_coverage_types.test b/test/sql/index/art/types/test_art_coverage_types.test index f40579b0d775..66eb4249fbec 100644 --- a/test/sql/index/art/types/test_art_coverage_types.test +++ b/test/sql/index/art/types/test_art_coverage_types.test @@ -94,4 +94,4 @@ CREATE INDEX idx_uint8_point ON uint8_point(id); query I SELECT id FROM uint8_point WHERE id = 100; ---- -100 \ No newline at end of file +100 diff --git a/test/sql/index/art/types/test_art_expression_key.test b/test/sql/index/art/types/test_art_expression_key.test index 3413d86a5891..89e51f3ddd5a 100644 --- a/test/sql/index/art/types/test_art_expression_key.test +++ b/test/sql/index/art/types/test_art_expression_key.test @@ -51,4 +51,4 @@ SELECT COUNT(*) FROM integers query I SELECT COUNT(*) FROM integers WHERE j+l>0 ---- -0 \ No newline at end of file +0 diff --git a/test/sql/index/art/types/test_art_integer.test_slow b/test/sql/index/art/types/test_art_integer.test_slow index a06a885a9d55..2bb86f53e1dc 100644 --- a/test/sql/index/art/types/test_art_integer.test_slow +++ b/test/sql/index/art/types/test_art_integer.test_slow @@ -7,9 +7,6 @@ PRAGMA enable_verification require skip_reload -statement ok -PRAGMA force_index_join - # BEGIN TYPE INTEGER statement ok CREATE TABLE integers(i INTEGER) diff --git a/test/sql/index/art/types/test_art_real_pk.test b/test/sql/index/art/types/test_art_real_pk.test index 3995b19ce4b6..920f79d1b061 100644 --- a/test/sql/index/art/types/test_art_real_pk.test +++ b/test/sql/index/art/types/test_art_real_pk.test @@ -11,6 +11,7 @@ CREATE TABLE numbers(i REAL PRIMARY KEY, j INTEGER) # insert two conflicting pairs at the same time statement error INSERT INTO numbers VALUES (3.45, 4), (3.45, 5) +---- # insert unique values statement ok @@ -25,6 +26,7 @@ SELECT * FROM numbers # insert a duplicate value as part of a chain of values statement error INSERT INTO numbers VALUES (6, 6), (3.45, 4); +---- # now insert just the first value statement ok @@ -40,8 +42,10 @@ SELECT * FROM numbers # insert NULL value in PRIMARY KEY is not allowed statement error INSERT INTO numbers VALUES (NULL, 4); +---- # update NULL is also not allowed statement error UPDATE numbers SET i=NULL; +---- diff --git a/test/sql/index/art/types/test_art_smallint.test_slow b/test/sql/index/art/types/test_art_smallint.test_slow index 4c1ff5676cce..0a25c170e798 100644 --- a/test/sql/index/art/types/test_art_smallint.test_slow +++ b/test/sql/index/art/types/test_art_smallint.test_slow @@ -7,9 +7,6 @@ PRAGMA enable_verification require skip_reload -statement ok -PRAGMA force_index_join - # BEGIN TYPE SMALLINT statement ok CREATE TABLE integers(i SMALLINT) diff --git a/test/sql/index/art/types/test_art_tinyint.test_slow b/test/sql/index/art/types/test_art_tinyint.test_slow index ffd200adbabf..ce8c836afddd 100644 --- a/test/sql/index/art/types/test_art_tinyint.test_slow +++ b/test/sql/index/art/types/test_art_tinyint.test_slow @@ -7,9 +7,6 @@ PRAGMA enable_verification require skip_reload -statement ok -PRAGMA force_index_join - # BEGIN TYPE tinyint statement ok CREATE TABLE integers(i tinyint) diff --git a/test/sql/index/art/types/test_art_union.test b/test/sql/index/art/types/test_art_union.test index c10a339a8907..1f5760f68e97 100644 --- a/test/sql/index/art/types/test_art_union.test +++ b/test/sql/index/art/types/test_art_union.test @@ -108,7 +108,7 @@ restart statement error INSERT INTO tbl VALUES ('helloo', 'nop', 7, true); ---- -Constraint Error: Duplicate key "union_extract(u_2, 'string'): helloo" violates unique constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (docs - sql - indexes). +Constraint Error: Duplicate key "union_extract(u_2, 'string'): helloo" violates unique constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (https://duckdb.org/docs/sql/indexes). restart @@ -190,4 +190,4 @@ restart statement error INSERT INTO tbl VALUES ('sunshine', 'love', 85, true); ---- -Constraint Error: Duplicate key "union_extract(u_2, 'string'): sunshine, union_extract(u_1, 'string'): love" violates unique constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (docs - sql - indexes). \ No newline at end of file +Constraint Error: Duplicate key "union_extract(u_2, 'string'): sunshine, union_extract(u_1, 'string'): love" violates unique constraint. If this is an unexpected constraint violation please double check with the known index limitations section in our documentation (https://duckdb.org/docs/sql/indexes). diff --git a/test/sql/index/art/vacuum/test_art_vacuum.test b/test/sql/index/art/vacuum/test_art_vacuum.test index 481bf101edee..34f09d1a6c23 100644 --- a/test/sql/index/art/vacuum/test_art_vacuum.test +++ b/test/sql/index/art/vacuum/test_art_vacuum.test @@ -41,4 +41,4 @@ statement ok DELETE FROM reuse_buffer_tbl WHERE i < 100000; statement ok -INSERT INTO reuse_buffer_tbl SELECT range FROM range(200000); \ No newline at end of file +INSERT INTO reuse_buffer_tbl SELECT range FROM range(200000); diff --git a/test/sql/index/art/vacuum/test_art_vacuum_integers.test_slow b/test/sql/index/art/vacuum/test_art_vacuum_integers.test_slow index 3690a947c03b..a5b70068071a 100644 --- a/test/sql/index/art/vacuum/test_art_vacuum_integers.test_slow +++ b/test/sql/index/art/vacuum/test_art_vacuum_integers.test_slow @@ -7,10 +7,10 @@ PRAGMA enable_verification statement ok CREATE FUNCTION mem_to_bytes(x) AS CASE - WHEN CONTAINS(x, 'KB') THEN REPLACE(x, 'KB', '')::INT * 1000 - WHEN CONTAINS(x, 'MB') THEN REPLACE(x, 'MB', '')::INT * 1000 * 1000 - WHEN CONTAINS(x, 'GB') THEN REPLACE(x, 'GB', '')::INT * 1000 * 1000 * 1000 - WHEN CONTAINS(x, 'TB') THEN REPLACE(x, 'TB', '')::INT * 1000 * 1000 * 1000 * 1000 + WHEN CONTAINS(x, 'KiB') THEN REPLACE(x, 'KiB', '')::INT * 1024.0 + WHEN CONTAINS(x, 'MiB') THEN REPLACE(x, 'MiB', '')::INT * 1024.0 * 1024 + WHEN CONTAINS(x, 'GiB') THEN REPLACE(x, 'GiB', '')::INT * 1024.0 * 1024 * 1024 + WHEN CONTAINS(x, 'TiB') THEN REPLACE(x, 'TiB', '')::INT * 1024.0 * 1024 * 1024 * 1024 WHEN x = '0 bytes' THEN 0 ELSE x::INT END; diff --git a/test/sql/index/art/vacuum/test_art_vacuum_rollback.test b/test/sql/index/art/vacuum/test_art_vacuum_rollback.test index 21cf9339d78b..b5162dd31cac 100644 --- a/test/sql/index/art/vacuum/test_art_vacuum_rollback.test +++ b/test/sql/index/art/vacuum/test_art_vacuum_rollback.test @@ -65,4 +65,4 @@ SELECT COUNT(i) - (CASE WHEN ${i}==7 THEN 1 ELSE 0 END) FROM t${i} ---- 10077 -endloop \ No newline at end of file +endloop diff --git a/test/sql/index/art/vacuum/test_art_vacuum_strings.test_slow b/test/sql/index/art/vacuum/test_art_vacuum_strings.test_slow index f6897b279b7c..0c1d5a5f9348 100644 --- a/test/sql/index/art/vacuum/test_art_vacuum_strings.test_slow +++ b/test/sql/index/art/vacuum/test_art_vacuum_strings.test_slow @@ -7,10 +7,10 @@ PRAGMA enable_verification statement ok CREATE FUNCTION mem_to_bytes(x) AS CASE - WHEN CONTAINS(x, 'KB') THEN REPLACE(x, 'KB', '')::INT * 1000 - WHEN CONTAINS(x, 'MB') THEN REPLACE(x, 'MB', '')::INT * 1000 * 1000 - WHEN CONTAINS(x, 'GB') THEN REPLACE(x, 'GB', '')::INT * 1000 * 1000 * 1000 - WHEN CONTAINS(x, 'TB') THEN REPLACE(x, 'TB', '')::INT * 1000 * 1000 * 1000 * 1000 + WHEN CONTAINS(x, 'KiB') THEN REPLACE(x, 'KiB', '')::INT * 1024.0 + WHEN CONTAINS(x, 'MiB') THEN REPLACE(x, 'MiB', '')::INT * 1024.0 * 1024 + WHEN CONTAINS(x, 'GiB') THEN REPLACE(x, 'GiB', '')::INT * 1024.0 * 1024 * 1024 + WHEN CONTAINS(x, 'TiB') THEN REPLACE(x, 'TiB', '')::INT * 1024.0 * 1024 * 1024 * 1024 WHEN x = '0 bytes' THEN 0 ELSE x::INT END; diff --git a/test/sql/index/create_index_options.test b/test/sql/index/create_index_options.test index f52da6dbf003..df1611fc101c 100644 --- a/test/sql/index/create_index_options.test +++ b/test/sql/index/create_index_options.test @@ -5,4 +5,5 @@ statement ok CREATE TABlE t1 (foo INT) statement error -CREATE INDEX i3 ON t1 USING random_index_method (foo) WITH (my_option = 2, is_cool); \ No newline at end of file +CREATE INDEX i3 ON t1 USING random_index_method (foo) WITH (my_option = 2, is_cool); +---- diff --git a/test/sql/inet/test_inet_functions.test b/test/sql/inet/test_inet_functions.test index d29a4d88cb3c..10e0931900c7 100644 --- a/test/sql/inet/test_inet_functions.test +++ b/test/sql/inet/test_inet_functions.test @@ -13,12 +13,18 @@ SELECT host(INET '127.0.0.1/17') ---- 127.0.0.1 -# we support auto-cast from varchar to inet +# we support auto-cast from string literals to inet query I SELECT host('127.0.0.1/17') ---- 127.0.0.1 +# we don't support auto-casting of VARCHAR to INET +statement error +SELECT host(a) from (values ('127.0.0.1/17')) t(a); +---- +No function matches + # subtract query I SELECT INET '127.0.0.255' - 32; @@ -38,3 +44,4 @@ SELECT INET '127.0.0.31' - -32; # underflow statement error SELECT INET '0.0.0.0' - 32; +---- diff --git a/test/sql/inet/test_inet_nested.test b/test/sql/inet/test_inet_nested.test index 9a90b8f4b86a..ee8d4dc90afe 100644 --- a/test/sql/inet/test_inet_nested.test +++ b/test/sql/inet/test_inet_nested.test @@ -30,3 +30,4 @@ SELECT [INET '127.0.0.1/17', NULL, '255.255.255.255/31'] # unsupported cast from int to inet statement error SELECT [INET '127.0.0.1/17', 3, INET '255.255.255.255/31']::VARCHAR[] +---- diff --git a/test/sql/inet/test_inet_type.test b/test/sql/inet/test_inet_type.test index f746d8404082..f4f559e1e625 100644 --- a/test/sql/inet/test_inet_type.test +++ b/test/sql/inet/test_inet_type.test @@ -39,24 +39,32 @@ INET statement error select '127'::inet; +---- statement error select '127..1'::inet; +---- statement error SELECT '256.0.0.1'::INET::VARCHAR +---- statement error SELECT '-1.0.0.1'::INET::VARCHAR +---- statement error SELECT '127..0.1'::INET::VARCHAR +---- statement error SELECT '127.0.0.1/33'::INET::VARCHAR +---- statement error SELECT '127.0.0.1/333'::INET::VARCHAR +---- statement error SELECT '127.0.0.1/33333333333333333333'::INET::VARCHAR +---- diff --git a/test/sql/insert/interleaved_insert_rollback.test_slow b/test/sql/insert/interleaved_insert_rollback.test_slow index 6164e30727a2..a43e88345594 100644 --- a/test/sql/insert/interleaved_insert_rollback.test_slow +++ b/test/sql/insert/interleaved_insert_rollback.test_slow @@ -46,4 +46,4 @@ ROLLBACK query I SELECT COUNT(*) FROM integers ---- -0 \ No newline at end of file +0 diff --git a/test/sql/insert/null_values.test b/test/sql/insert/null_values.test index d7a5629b2f81..e808dcecc17b 100644 --- a/test/sql/insert/null_values.test +++ b/test/sql/insert/null_values.test @@ -37,4 +37,4 @@ SELECT COUNT(i), SUM(i), MIN(i), MAX(i), COUNT(*) FROM integers query I SELECT SUM(CASE WHEN i IS NULL THEN 1 ELSE 0 END) FROM integers ---- -500 \ No newline at end of file +500 diff --git a/test/sql/insert/parallel_insert_constraints.test_slow b/test/sql/insert/parallel_insert_constraints.test_slow index f127bda08cd7..2bb3beceffbf 100644 --- a/test/sql/insert/parallel_insert_constraints.test_slow +++ b/test/sql/insert/parallel_insert_constraints.test_slow @@ -14,6 +14,7 @@ CREATE OR REPLACE TABLE integers_not_null(i INTEGER NOT NULL); statement error INSERT INTO integers_not_null SELECT * FROM integers; +---- # generated columns statement ok @@ -24,6 +25,7 @@ CREATE OR REPLACE TABLE varchars_generated(s VARCHAR, i AS (s::INT)); statement error INSERT INTO varchars_generated (s) SELECT * FROM varchars; +---- # primary key statement ok @@ -34,6 +36,7 @@ CREATE OR REPLACE TABLE integers_pk(i INTEGER PRIMARY KEY); statement error INSERT INTO integers_pk SELECT * FROM integers; +---- # foreign key statement ok @@ -50,6 +53,7 @@ CREATE OR REPLACE TABLE integers_fk(i INTEGER PRIMARY KEY REFERENCES integers_pk statement error INSERT INTO integers_fk SELECT * FROM integers +---- statement ok DROP TABLE integers_fk; @@ -60,4 +64,4 @@ DROP TABLE integers_pk; statement ok PRAGMA preserve_insertion_order=false -endloop \ No newline at end of file +endloop diff --git a/test/sql/insert/test_big_insert.test b/test/sql/insert/test_big_insert.test index da20488eb317..1cf08a85da3e 100644 --- a/test/sql/insert/test_big_insert.test +++ b/test/sql/insert/test_big_insert.test @@ -41,6 +41,7 @@ INSERT INTO integers VALUES (DEFAULT, 4); # operations on default not supported statement error INSERT INTO integers VALUES (DEFAULT+1, 4); +---- statement ok INSERT INTO integers (i) SELECT j FROM integers; diff --git a/test/sql/insert/test_insert_invalid.test b/test/sql/insert/test_insert_invalid.test index 5f210e769224..541e940aba1a 100644 --- a/test/sql/insert/test_insert_invalid.test +++ b/test/sql/insert/test_insert_invalid.test @@ -7,9 +7,11 @@ CREATE TABLE strings(i STRING) statement error INSERT INTO strings VALUES ('(') +---- statement error SELECT * FROM strings WHERE i = '(' +---- # Test insert with too few or too many cols statement ok @@ -21,17 +23,22 @@ INSERT INTO a VALUES (1, 2) # scalar inserts statement error INSERT INTO a VALUES (1) +---- statement error INSERT INTO a VALUES (1,2,3) +---- statement error INSERT INTO a VALUES (1,2),(3) +---- statement error INSERT INTO a VALUES (1,2),(3,4,5) +---- # also with queries statement error INSERT INTO a SELECT 42 +---- diff --git a/test/sql/insert/test_insert_type.test b/test/sql/insert/test_insert_type.test index 9ac3be9979dc..0980aaad0563 100644 --- a/test/sql/insert/test_insert_type.test +++ b/test/sql/insert/test_insert_type.test @@ -25,7 +25,7 @@ SELECT * FROM strings NULL statement ok -UPDATE strings SET a=13 WHERE a=3 +UPDATE strings SET a=13 WHERE a='3' query T SELECT * FROM strings ORDER BY cast(a AS INTEGER) diff --git a/test/sql/join/asof/test_asof_join_doubles.test b/test/sql/join/asof/test_asof_join_doubles.test index e574ac4d3313..e6c98a7aed3c 100644 --- a/test/sql/join/asof/test_asof_join_doubles.test +++ b/test/sql/join/asof/test_asof_join_doubles.test @@ -258,7 +258,7 @@ query III nosort left_equality SELECT p.key, p.ts, e.value FROM probes p ASOF LEFT JOIN events e ON p.key = e.key AND p.ts >= e.begin -ORDER BY 1, 2 ASC NULLS FIRST +ORDER BY 1, 2, 3 ASC NULLS FIRST ---- # LEFT USING with equality diff --git a/test/sql/join/external/external_join_many_duplicates.test_slow b/test/sql/join/external/external_join_many_duplicates.test_slow index 34d3daa9afbd..f1aac8c3c96b 100644 --- a/test/sql/join/external/external_join_many_duplicates.test_slow +++ b/test/sql/join/external/external_join_many_duplicates.test_slow @@ -48,4 +48,4 @@ from range(100000000, 200000000) query T select count(*) from t1 join t2 using (i) ---- -1000 \ No newline at end of file +1000 diff --git a/test/sql/join/external/many_external_joins.test_slow b/test/sql/join/external/many_external_joins.test_slow new file mode 100644 index 000000000000..ff9530dd3c3d --- /dev/null +++ b/test/sql/join/external/many_external_joins.test_slow @@ -0,0 +1,36 @@ +# name: test/sql/join/external/many_external_joins.test_slow +# description: Test many external joins (TemporaryMemoryManager) +# group: [external] + +load __TEST_DIR__/many_external_joins.db + +statement ok +CREATE TABLE tbl AS +SELECT range i, + range j +FROM range(10000000); + +statement ok +SET threads=4; + +# each HT should be around 400mb +statement ok +SET memory_limit='500mb'; + +# disable the join order optimizer to be sure we probe all HTs in a single pipeline +statement ok +SET disabled_optimizers TO 'join_order'; + +# we shouldn't run out of memory +query IIIII +SELECT max(i), + max(t1.j), + max(t2.j), + max(t3.j), + max(t4.j), +FROM tbl AS t1 +JOIN tbl AS t2 USING (i) +JOIN tbl AS t3 USING (i) +JOIN tbl AS t4 USING (i); +---- +9999999 9999999 9999999 9999999 9999999 diff --git a/test/sql/join/external/simple_external_join.test_coverage b/test/sql/join/external/simple_external_join.test_coverage index 79a5c9afb5e2..e887635920ac 100644 --- a/test/sql/join/external/simple_external_join.test_coverage +++ b/test/sql/join/external/simple_external_join.test_coverage @@ -13,10 +13,10 @@ create table t2 (j varchar) # Create tables with large string values so that strings aren't inlined # The tables have some overlapping values to keep the join result small statement ok -insert into t1 select concat(range::VARCHAR, repeat('0', 50)) i from range(100000) +insert into t1 select concat(range::VARCHAR, repeat('0', 50)) i from range(1000000) statement ok -insert into t2 select concat(range::VARCHAR, repeat('0', 50)) j from range(90000, 500000) +insert into t2 select concat(range::VARCHAR, repeat('0', 50)) j from range(900000, 5000000) # we want tight memory settings for the external joins statement ok @@ -27,28 +27,41 @@ statement ok pragma threads=1 statement ok -pragma memory_limit='25mb' +pragma memory_limit='75mb' query I select count(*) from t1, t2 where i = j ---- -10000 +100000 -# now with more threads and a slightly higher limit +# now with more threads statement ok pragma threads=4 +query I +select count(*) from t1, t2 where i = j +---- +100000 + +# now trigger repartitioning statement ok -pragma memory_limit='50mb' +pragma debug_force_external=true + +# we need more memory for repartitioning +statement ok +pragma memory_limit='250mb' query I select count(*) from t1, t2 where i = j ---- -10000 +100000 + +statement ok +pragma debug_force_external=false # higher memory limit for this because the strings are so large statement ok -pragma memory_limit='100mb' +pragma memory_limit='150mb' # add some strings that are longer than Storage::BLOCK_SIZE statement ok @@ -60,4 +73,4 @@ insert into t2 select concat(range::VARCHAR, repeat('0', 300000)) i from range(9 query T select count(*) from t1, t2 where i = j ---- -10010 \ No newline at end of file +100010 \ No newline at end of file diff --git a/test/sql/join/full_outer/test_full_outer_join_issue_4252.test b/test/sql/join/full_outer/test_full_outer_join_issue_4252.test index 7348521f7238..0ba003c149a5 100644 --- a/test/sql/join/full_outer/test_full_outer_join_issue_4252.test +++ b/test/sql/join/full_outer/test_full_outer_join_issue_4252.test @@ -170,4 +170,4 @@ FULL OUTER JOIN ( GROUP BY GROUPING SETS((month)) ) AS anon_2 ON anon_1.month = anon_2.month ---- -2022-01-01 1100.0 \ No newline at end of file +2022-01-01 1100.0 diff --git a/test/sql/join/iejoin/test_iejoin_null_keys.test b/test/sql/join/iejoin/test_iejoin_null_keys.test new file mode 100644 index 000000000000..9bf666d2628d --- /dev/null +++ b/test/sql/join/iejoin/test_iejoin_null_keys.test @@ -0,0 +1,59 @@ +# name: test/sql/join/iejoin/test_iejoin_null_keys.test +# description: Issue #10122: wrong result in IEJoin +# group: [iejoin] + +statement ok +pragma enable_verification + +statement ok +create table tt (x int, y int, z int); + +statement ok +insert into tt select nullif(r % 3, 0), nullif (r % 5, 0), r from range(10) tbl(r); + +query IIIIII +select * +from tt t1 left join tt t2 +on t1.x < t2.x and t1.y < t2.y +order by t1.x nulls first, t1.y nulls first, t1.z, t2.x, t2.y, t2.z; +---- +NULL NULL 0 NULL NULL NULL +NULL 1 6 NULL NULL NULL +NULL 3 3 NULL NULL NULL +NULL 4 9 NULL NULL NULL +1 1 1 2 2 2 +1 1 1 2 3 8 +1 2 7 2 3 8 +1 4 4 NULL NULL NULL +2 NULL 5 NULL NULL NULL +2 2 2 NULL NULL NULL +2 3 8 NULL NULL NULL + +statement ok +pragma disable_optimizer; + +statement ok +create table tt2 (x int); + +statement ok +insert into tt2 select * from range(10); + +query II +select t1.x, t1.y +from ( + select (case when x < 100 then null else 99 end) x, (case when x < 100 then 99 else 99 end) y + from tt2 +) t1 left join tt2 t2 +on t1.x < t2.x and t1.y < t2.x +order by t1.x nulls first, t1.y nulls first; +---- +NULL 99 +NULL 99 +NULL 99 +NULL 99 +NULL 99 +NULL 99 +NULL 99 +NULL 99 +NULL 99 +NULL 99 diff --git a/test/sql/join/inner/equality_join_limits.test b/test/sql/join/inner/equality_join_limits.test index ab41aa2e64ad..8005c19b3bc3 100644 --- a/test/sql/join/inner/equality_join_limits.test +++ b/test/sql/join/inner/equality_join_limits.test @@ -110,18 +110,18 @@ statement ok CREATE TABLE t(t_k0 HUGEINT); statement ok -INSERT INTO t VALUES (-170141183460469231731687303715884105727), (170141183460469231731687303715884105727); +INSERT INTO t VALUES (-170141183460469231731687303715884105728), (170141183460469231731687303715884105727); statement ok CREATE TABLE u(u_k0 HUGEINT); statement ok -INSERT INTO u VALUES (-170141183460469231731687303715884105727), (170141183460469231731687303715884105727); +INSERT INTO u VALUES (-170141183460469231731687303715884105728), (170141183460469231731687303715884105727); query II SELECT t_k0, u_k0 FROM t, u WHERE t_k0 = u_k0; ---- --170141183460469231731687303715884105727 -170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 -170141183460469231731687303715884105728 170141183460469231731687303715884105727 170141183460469231731687303715884105727 statement ok diff --git a/test/sql/join/inner/test_eq_ineq_join.test b/test/sql/join/inner/test_eq_ineq_join.test index b63817d8decb..ec2d0f1ee58c 100644 --- a/test/sql/join/inner/test_eq_ineq_join.test +++ b/test/sql/join/inner/test_eq_ineq_join.test @@ -65,7 +65,7 @@ statement ok INSERT INTO test2 VALUES (11, 1, 'd'), (12, 1, 'e'), (13, 4, 'f') query IIT -SELECT * FROM test WHERE EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.b<>test2.c); +SELECT * FROM test WHERE EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.b<>test2.c) order by 2; ---- 12 2 b 13 3 c @@ -76,7 +76,7 @@ SELECT * FROM test WHERE EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND tes 12 2 b query IIT -SELECT * FROM test WHERE NOT EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.btest2.c) AND test.a > 11; +SELECT * FROM test WHERE EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.b<>test2.c) AND test.a > 11 order by b; ---- 12 2 b 13 3 c @@ -112,14 +112,14 @@ statement ok INSERT INTO test2 VALUES (11, 1, 'd'), (12, 1, 'e'), (13, 4, 'f') query IIT -SELECT * FROM test WHERE NOT EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.b14) AND NOT EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.b>test2.c AND test2.a<10); +SELECT * FROM test WHERE NOT EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.b14) AND NOT EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.b>test2.c AND test2.a<10) order by 1; ---- 11 1 a 12 2 b 13 3 c query IIT -SELECT * FROM test WHERE NOT EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.btest2.c AND test2.a=12); +SELECT * FROM test WHERE NOT EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.btest2.c AND test2.a=12) order by 1; ---- 11 1 a 13 3 c diff --git a/test/sql/join/inner/test_join.test b/test/sql/join/inner/test_join.test index 70ddd50b48d6..e5db84835369 100644 --- a/test/sql/join/inner/test_join.test +++ b/test/sql/join/inner/test_join.test @@ -31,6 +31,7 @@ SELECT a, test.b, c FROM test, test2 WHERE test.b = test2.b ORDER BY c; # ambiguous reference to column statement error SELECT b FROM test, test2 WHERE test.b > test2.b; +---- # simple cross product + multiple join conditions query III diff --git a/test/sql/join/inner/test_join_is_distinct.test b/test/sql/join/inner/test_join_is_distinct.test index bef15758721d..85be303ead7d 100644 --- a/test/sql/join/inner/test_join_is_distinct.test +++ b/test/sql/join/inner/test_join_is_distinct.test @@ -244,7 +244,7 @@ INSERT INTO tbl_s_null VALUES ({x: 1}, {x: 0}), ({x: 1}, {x: 1}), ({x: 1}, NULL) query II SELECT x.col1, y.col1 FROM tbl_s_null x JOIN tbl_s_null y ON x.col0 = y.col0 AND (x.col1 IS DISTINCT FROM y.col1) -ORDER BY x.col1, y.col1; +ORDER BY x.col1, y.col1 NULLS LAST; ---- {'x': 0} {'x': 1} {'x': 0} {'x': NULL} @@ -262,23 +262,23 @@ NULL {'x': NULL} query II SELECT x.col1, y.col1 FROM tbl_s_null x JOIN tbl_s_null y ON x.col0 = y.col0 AND x.col1 != y.col1 -ORDER BY x.col1; +ORDER BY x.col1.x, y.col1.x NULLS LAST; ---- -{'x': 0} {'x': NULL} {'x': 0} {'x': 1} -{'x': 1} {'x': NULL} +{'x': 0} {'x': NULL} {'x': 1} {'x': 0} -{'x': NULL} {'x': 1} +{'x': 1} {'x': NULL} {'x': NULL} {'x': 0} +{'x': NULL} {'x': 1} query II SELECT x.col1, y.col1 FROM tbl_s_null x JOIN tbl_s_null y ON x.col0 = y.col0 AND x.col1 > y.col1 -ORDER BY x.col1; +ORDER BY x.col1.x, y.col1.x NULLS LAST; ---- {'x': 1} {'x': 0} -{'x': NULL} {'x': 1} {'x': NULL} {'x': 0} +{'x': NULL} {'x': 1} query II SELECT x.col1, y.col1 FROM tbl_s_null x JOIN tbl_s_null y @@ -328,14 +328,14 @@ NULL [NULL] query II SELECT x.col1, y.col1 FROM tbl_l_null x JOIN tbl_l_null y ON x.col0 = y.col0 AND x.col1 != y.col1 -ORDER BY x.col1; +ORDER BY x.col1, y.col1 NULLS LAST; ---- -[0] [NULL] [0] [1] -[1] [NULL] +[0] [NULL] [1] [0] -[NULL] [1] +[1] [NULL] [NULL] [0] +[NULL] [1] query II SELECT x.col1, y.col1 FROM tbl_l_null x JOIN tbl_l_null y diff --git a/test/sql/join/inner/test_using_chain.test b/test/sql/join/inner/test_using_chain.test index 2c6b0dc87ea7..150dd8ed27fe 100644 --- a/test/sql/join/inner/test_using_chain.test +++ b/test/sql/join/inner/test_using_chain.test @@ -33,10 +33,12 @@ SELECT * FROM t1 JOIN t2 USING (b) JOIN t3 USING (c) ORDER BY 1, 2, 3, 4; # column does not exist on left side of join statement error SELECT * FROM t1 JOIN t2 USING (c) +---- # column does not exist on right side of join statement error SELECT * FROM t1 JOIN t2 USING (a) +---- statement ok DROP TABLE t1 diff --git a/test/sql/join/inner/test_using_join.test b/test/sql/join/inner/test_using_join.test index d52b44887b7b..77e1a83b0c61 100644 --- a/test/sql/join/inner/test_using_join.test +++ b/test/sql/join/inner/test_using_join.test @@ -58,15 +58,19 @@ SELECT a+1 FROM t1 JOIN t2 USING(a) ORDER BY a statement error SELECT t2.a, t2.b, t2.c FROM t1 JOIN t2 USING(a+b) +---- statement error SELECT t2.a, t2.b, t2.c FROM t1 JOIN t2 USING("") +---- statement error SELECT t2.a, t2.b, t2.c FROM t1 JOIN t2 USING(d) +---- statement error SELECT t2.a, t2.b, t2.c FROM t1 JOIN t2 USING(t1.a) +---- query IIII SELECT * FROM t1 JOIN t2 USING(a,b) @@ -78,10 +82,12 @@ SELECT * FROM t1 JOIN t2 USING(a,b) # different results SQLite allows this, PostgreSQL does not statement error SELECT * FROM t1 JOIN t2 USING(a) JOIN t2 t2b USING (b); +---- # this is the same, but now with a duplicate potential binding on the RHS statement error select * from (values (1)) tbl(i) join ((values (1)) tbl2(i) join (values (1)) tbl3(i) on tbl2.i=tbl3.i) using (i) +---- # a chain with the same column name is allowed though! query IIIIIII diff --git a/test/sql/join/left_outer/left_join_issue_6341.test b/test/sql/join/left_outer/left_join_issue_6341.test index 3ad233d08b28..45b334254fb9 100644 --- a/test/sql/join/left_outer/left_join_issue_6341.test +++ b/test/sql/join/left_outer/left_join_issue_6341.test @@ -18,19 +18,19 @@ INSERT INTO foo VALUES ('2023-01-01 00:00:00'); statement ok INSERT INTO foo VALUES ('2023-01-01 00:00:01'); -query II +query II rowsort SELECT foo.ts foo, bar.ts bar FROM foo LEFT JOIN bar ON foo.ts = bar.ts; ---- 2023-01-01 00:00:00 NULL 2023-01-01 00:00:01 NULL -query II +query II rowsort SELECT foo.ts foo, bar.ts bar FROM foo LEFT JOIN bar ON foo.ts < bar.ts; ---- 2023-01-01 00:00:00 NULL 2023-01-01 00:00:01 NULL -query II +query II rowsort SELECT foo.ts foo, bar.ts bar FROM foo LEFT JOIN bar ON foo.ts > bar.ts; ---- 2023-01-01 00:00:00 NULL diff --git a/test/sql/join/left_outer/test_left_join_on_true.test b/test/sql/join/left_outer/test_left_join_on_true.test index f8554ddc8458..22392226b330 100644 --- a/test/sql/join/left_outer/test_left_join_on_true.test +++ b/test/sql/join/left_outer/test_left_join_on_true.test @@ -51,7 +51,7 @@ ORDER BY 1, 2 2 NULL 4 NULL -query II +query II rowsort WITH t AS ( SELECT 1 AS r, ARRAY[1, 2, 3] AS a UNION SELECT 2 AS r, ARRAY[4] AS a diff --git a/test/sql/join/natural/natural_join.test b/test/sql/join/natural/natural_join.test index ab1158adfb71..39cddb151a66 100644 --- a/test/sql/join/natural/natural_join.test +++ b/test/sql/join/natural/natural_join.test @@ -60,6 +60,7 @@ SELECT * FROM t1 NATURAL JOIN t2 NATURAL JOIN t3 # no matching columns statement error select * from (values (1)) tbl(a) natural join (values (1), (2)) tbl2(b) order by 1, 2 +---- # long join chain query I @@ -216,6 +217,7 @@ NULL 29 # error: duplicate table alias on both sides statement error select (select * from (select 42) tbl(a) natural join (select 42) tbl(a)) +---- statement ok DROP TABLE t1 @@ -237,10 +239,12 @@ SELECT COUNT(t1.rowid) FROM t1, v0 RIGHT JOIN t0 ON v0.c0=t0.c0; statement error SELECT COUNT(t1.rowid) FROM t1, v0 RIGHT JOIN t0 ON t1.c1=t0.c1 AND v0.c0=t0.c0; +---- # column name appears more than once on left side of the natural join statement error select * from (values (1)) t1(i) join (values (1)) t2(i) on (t1.i=t2.i) natural join (values (1)) t3(i); +---- statement ok PRAGMA disable_verification @@ -248,3 +252,4 @@ PRAGMA disable_verification # column name appears more than once on right side of the natural join statement error select * from (values (1)) t1(i) natural join ((values (1)) t2(i) join (values (1)) t3(i) on (t2.i=t3.i)) +---- diff --git a/test/sql/join/right_outer/right_join_complex_null.test b/test/sql/join/right_outer/right_join_complex_null.test index 4fcef1e7fbbc..0f518b00a80e 100644 --- a/test/sql/join/right_outer/right_join_complex_null.test +++ b/test/sql/join/right_outer/right_join_complex_null.test @@ -24,14 +24,15 @@ statement ok INSERT INTO t0(c0) VALUES (DATE '1970-01-01'), (TIMESTAMP '1969-12-13 17:49:43'); query I -SELECT MAX('a') FROM t0 JOIN t1 ON ((t0.c0)<=(((NULL)-(t1.rowid)))); +SELECT MAX('a') FROM t0 JOIN t1 ON ((t0.c0)<=(((NULL)-(t1.rowid))::DATE)); ---- NULL query I -SELECT MAX('a') FROM t0 RIGHT JOIN t1 ON ((t0.c0)<=(((NULL)-(t1.rowid)))); +SELECT MAX('a') FROM t0 RIGHT JOIN t1 ON ((t0.c0)<=(((NULL)-(t1.rowid))::DATE)); ---- a statement error SELECT MAX(agg0) FROM (SELECT MAX('a') AS agg0 FROM t0 RIGHT JOIN t1 ON ((t0.c0)<=(((NULL)-(t1.rowid)))) WHERE t1.c0 UNION ALL SELECT MAX('a') AS agg0 FROM t0 RIGHT JOIN t1 ON ((t0.c0)<=(((NULL)-(t1.rowid)))) WHERE (NOT t1.c0) UNION ALL SELECT MAX('a') AS agg0 FROM t0 RIGHT JOIN t1 ON ((t0.c0)<=(((NULL)-(t1.rowid)))) WHERE ((t1.c0) IS NULL)) as asdf; +---- diff --git a/test/sql/join/semianti/10406-anti-on-ints-strings.test b/test/sql/join/semianti/10406-anti-on-ints-strings.test new file mode 100644 index 000000000000..e318b81afcde --- /dev/null +++ b/test/sql/join/semianti/10406-anti-on-ints-strings.test @@ -0,0 +1,53 @@ +# name: test/sql/join/semianti/10406-anti-on-ints-strings.test +# description: github reported bug +# group: [semianti] + +statement ok +create table test_str(k varchar); + +statement ok +create table test_str_del(pk varchar); + +statement ok +create table test_int(k bigint); + +statement ok +create table test_int_del(pk bigint); + +statement ok +insert into test_str values('abc'), ('def'); + +statement ok +insert into test_int values(1), (2); + +query I rowsort +select l.* from test_str l anti join test_str_del r on l.k = r.pk; +---- +abc +def + +query I rowsort +select l.* from test_int l anti join test_int_del r on l.k = r.pk; +---- +1 +2 + +statement ok +insert into test_int VALUES (NULL); + +query I rowsort +select l.* from test_int l anti join test_int_del r on l.k is not distinct from r.pk; +---- +1 +2 +NULL + +statement ok +insert into test_int_del VALUES (NULL); + +# NULL is now not distinct from null +query I rowsort +select l.* from test_int l anti join test_int_del r on l.k is not distinct from r.pk; +---- +1 +2 diff --git a/test/sql/join/semianti/antijoin.test b/test/sql/join/semianti/antijoin.test index 02f59367d22e..a85354a2965f 100644 --- a/test/sql/join/semianti/antijoin.test +++ b/test/sql/join/semianti/antijoin.test @@ -107,6 +107,7 @@ SELECT * FROM left_table ANTI JOIN right_table ON (left_table.a <> right_table.a ---- 42 1 1 + # range joins query III SELECT * FROM left_table ANTI JOIN right_table ON (left_table.a > right_table.a); @@ -153,3 +154,4 @@ SELECT a as outer_a, (SELECT b FROM right_table where right_table.a != outer_a) ---- 43 20 2000 20 + diff --git a/test/sql/join/semianti/plan_blockwise_NL_join_with_mutliple_conditions.test b/test/sql/join/semianti/plan_blockwise_NL_join_with_mutliple_conditions.test new file mode 100644 index 000000000000..8475ebb34e14 --- /dev/null +++ b/test/sql/join/semianti/plan_blockwise_NL_join_with_mutliple_conditions.test @@ -0,0 +1,87 @@ +# name: test/sql/join/semianti/plan_blockwise_NL_join_with_mutliple_conditions.test +# description: Test anti ijoin results +# group: [semianti] + +statement ok +PRAGMA enable_verification + +statement ok +create table t1 as select * from values (1, 2), (2, 4), (3, 8), (6, 25), (1, 25) t(a, b); + +statement ok +create table t2 as select * from values (4), (5) t(b); + +query II +select * from t1 semi join t2 on t1.a < t2.b and t1.b > t2.b order by all; +---- +1 25 +3 8 + +query II +select * from t1 anti join t2 on t1.a < t2.b and t1.b < t2.b order by all; +---- +1 25 +3 8 +6 25 + +query II +Explain select * from t1 anti join t2 on t1.a < t2.b and t1.b < t2.b order by all; +---- +physical_plan :.*BLOCKWISE_NL_JOIN.* + +query II +select * from t1 anti join t2 on t1.a < t2.b and t1.b < t2.b order by all; +---- +1 25 +3 8 +6 25 + +query II +select * from t1 semi join t2 on t1.a < t2.b or t1.b < t2.b order by all; +---- +1 2 +1 25 +2 4 +3 8 + +query II +select * from t1 semi join t2 on (t1.a < t2.b and t1.b < t2.b) or (t1.a < t2.b and t1.b = 4) order by all; +---- +1 2 +2 4 + + +query II +select * from t1 semi join t2 on (t1.a < t2.b or t1.b < t2.b) and (t1.a = 1 or t1.b = 4) order by all; +---- +1 2 +1 25 +2 4 + + +statement ok +CREATE TABLE flattened ("start" varchar, "end" varchar); + +statement ok +insert into flattened values ('2023-03-15T00:00:00Z', '2023-03-20T00:00:00Z'); + +statement ok +create table input_table as select * from VALUES +('1', '2023-03-14T00:00:00Z', 2), +('2', '2023-03-15T00:00:00Z', 4), +('3', '2023-03-16T00:00:00Z', 7), +('4', '2023-03-17T00:00:00Z', 3), +('5', '2023-03-18T00:00:00Z', 2), +('6', '2023-03-19T23:59:59Z', 4), +('7', '2023-03-20T00:00:00Z', 7), +('8', '2023-03-21T00:00:00Z', 3) t(user_id, timestamp, value); + + +query III +SELECT * FROM input_table +ANTI JOIN flattened +ON input_table."timestamp" >= flattened.start AND input_table."timestamp" < flattened.end; +---- +1 2023-03-14T00:00:00Z 2 +7 2023-03-20T00:00:00Z 7 +8 2023-03-21T00:00:00Z 3 diff --git a/test/sql/join/semianti/right_anti.test b/test/sql/join/semianti/right_anti.test new file mode 100644 index 000000000000..6b25c51aaeb4 --- /dev/null +++ b/test/sql/join/semianti/right_anti.test @@ -0,0 +1,131 @@ +# name: test/sql/join/semianti/right_anti.test +# description: Test positional joins +# group: [semianti] + +statement ok +CREATE TABLE left_table (a INTEGER, b INTEGER, c INTEGER); + +statement ok +INSERT INTO left_table VALUES (42, 1, 1), (43, 1, 1), (42, 1, 1), (41, 1, 1), (41, 2, 2), (41, 7, 7); + +statement ok +CREATE TABLE right_table (a INTEGER, b INTEGER); + +# insert 2x values into right table. This means it will be forced to be the probe side +statement ok +INSERT INTO right_table select 41, range as b from range(100); + + +query II +EXPLAIN ANALYZE SELECT * FROM left_table ANTI JOIN right_table ON left_table.a = right_table.a; +---- +analyzed_plan :.*RIGHT_ANTI.* + +# still flips with filter +query II +explain analyze SELECT * FROM left_table ANTI JOIN right_table ON left_table.a = right_table.a WHERE a > 5; +---- +analyzed_plan :.*RIGHT_ANTI.* + +# still flips with equality condition on tuples +query II +explain analyze SELECT * FROM left_table ANTI JOIN right_table ON ([left_table.a, left_table.b] = [right_table.a, right_table.b]); +---- +analyzed_plan :.*RIGHT_ANTI.* + +# right table can be a subquery, but using equality we still flip +query II +explain analyze SELECT * FROM left_table ANTI JOIN (SELECT a as foo from right_table where b > 5) buzz ON left_table.a = buzz.foo +---- +analyzed_plan :.*RIGHT_ANTI.* + + +statement ok +INSERT INTO left_table VALUES (43, 1, 5), (43, 1, 5), (43, 1, 5), (43, 1, 5); + +query I +CREATE TABLE other (a INTEGER, b INTEGER); + +statement ok +INSERT INTO other VALUES (42, 1), (43, 1); + +# Still flip on intermediate table that is joined +query II +EXPLAIN ANALYZE SELECT * FROM left_table +ANTI JOIN (select right_table.a FROM right_table JOIN other ON (other.a = right_table.a)) joined_right_table +ON left_table.a = joined_right_table.a; +---- +analyzed_plan :.*RIGHT_ANTI.* + +statement ok +DELETE FROM left_table where c=5; + +# USING COLUMNS also works, +query II +EXPLAIN ANALYZE SELECT * FROM left_table ANTI JOIN right_table USING (a); +---- +analyzed_plan :.*RIGHT_ANTI.* + +# natural anti join works +query II +explain analyze SELECT * FROM left_table NATURAL ANTI JOIN right_table; +---- +analyzed_plan :.*RIGHT_ANTI.* + +query II +EXPLAIN ANALYZE SELECT * FROM left_table +NATURAL ANTI JOIN (select right_table.a FROM right_table JOIN other ON (other.a = right_table.a)) joined_right_table; +---- +analyzed_plan :.*RIGHT_ANTI.* + +# right_table.a and left_table.a have the value 42 +# only left_table.a has the value 43 +# test flip on inequalities as well +query II +EXPLAIN ANALYZE SELECT * FROM left_table ANTI JOIN right_table ON (left_table.a <> right_table.a) ORDER BY a, c; +---- +analyzed_plan :.*RIGHT_ANTI.* + + +# range joins do *not* flip +query II +EXPLAIN ANALYZE SELECT * FROM left_table ANTI JOIN right_table ON (left_table.a > right_table.a); +---- +analyzed_plan :.*RIGHT_ANTI.* + + +# complex condition resulting in an any join DOES *NOT* flip +query II +explain analyze SELECT * FROM left_table ANTI JOIN right_table ON (left_table.a + right_table.a = 85 OR left_table.a + right_table.b = 84) order by left_table.a, left_table.c; +---- +analyzed_plan :.*RIGHT_ANTI.* + + +statement ok +INSERT INTO right_table VALUES (1, 42), (1, 42); + +# Insert more values so that the scan side in the cross product is the right hand side +statement ok +INSERT INTO left_table VALUES (42, 1, 5), (42, 1, 5), (42, 1, 5), (2000, 20000, 200000); + +# complex condition resulting in an any join does *NOT* flip +query II +explain analyze SELECT * FROM left_table ANTI JOIN right_table ON (left_table.a + right_table.a = 85 OR left_table.a + right_table.b = 84) order by left_table.a, left_table.c; +---- +analyzed_plan :.*RIGHT_ANTI.* + +# correlated subqueries can flip +query II +explain analyze SELECT a as outer_a, (SELECT right_table.b FROM right_table where right_table.a != outer_a) right_table_b FROM left_table ANTI JOIN right_table ON (left_table.a = right_table.a) Order by outer_a, right_table_b; +---- +analyzed_plan :.*RIGHT_ANTI.* + +statement ok +INSERT INTO right_table VALUES (1, 20); + +# correlated subqueries +query II +explain analyze SELECT a as outer_a, (SELECT b FROM right_table where right_table.a != outer_a) right_table_b FROM left_table ANTI JOIN right_table ON (left_table.a = right_table.a) Order by outer_a, right_table_b; +---- +analyzed_plan :.*RIGHT_ANTI.* + diff --git a/test/sql/join/semianti/right_semi.test b/test/sql/join/semianti/right_semi.test new file mode 100644 index 000000000000..78d1af4ceaf8 --- /dev/null +++ b/test/sql/join/semianti/right_semi.test @@ -0,0 +1,131 @@ +# name: test/sql/join/semianti/right_semi.test +# description: Test positional joins +# group: [semianti] + +statement ok +CREATE TABLE left_table (a INTEGER, b INTEGER, c INTEGER); + +statement ok +INSERT INTO left_table VALUES (41, 1, 1), (42, 1, 1), (42, 1, 1), (43, 1, 1), (45, 2, 2), (46, 7, 7); + +statement ok +CREATE TABLE right_table (a INTEGER, b INTEGER); + +# insert 2x values into right table. This means it will be forced to be the probe side +statement ok +INSERT INTO right_table select 41, range as b from range(100); + + +query II +EXPLAIN ANALYZE SELECT * FROM left_table SEMI JOIN right_table ON left_table.a = right_table.a; +---- +analyzed_plan :.*RIGHT_SEMI.* + +# still flips with filter +query II +explain analyze SELECT * FROM left_table SEMI JOIN right_table ON left_table.a = right_table.a WHERE a > 5; +---- +analyzed_plan :.*RIGHT_SEMI.* + +# still flips with equality condition on tuples +query II +explain analyze SELECT * FROM left_table SEMI JOIN right_table ON ([left_table.a, left_table.b] = [right_table.a, right_table.b]); +---- +analyzed_plan :.*RIGHT_SEMI.* + +# right table can be a subquery, but using equality we still flip +query II +explain analyze SELECT * FROM left_table SEMI JOIN (SELECT a as foo from right_table where b > 1) buzz ON left_table.a = buzz.foo +---- +analyzed_plan :.*RIGHT_SEMI.* + + +statement ok +INSERT INTO left_table VALUES (43, 1, 5), (43, 1, 5), (43, 1, 5), (43, 1, 5); + +query I +CREATE TABLE other (a INTEGER, b INTEGER); + +statement ok +INSERT INTO other VALUES (42, 1), (43, 1); + +# Still flip on intermediate table that is joined +query II +EXPLAIN ANALYZE SELECT * FROM left_table +SEMI JOIN (select right_table.a FROM right_table JOIN other ON (other.a = right_table.a)) joined_right_table +ON left_table.a = joined_right_table.a; +---- +analyzed_plan :.*RIGHT_SEMI.* + +statement ok +DELETE FROM left_table where c=5; + +# USING COLUMNS also works, +query II +EXPLAIN ANALYZE SELECT * FROM left_table SEMI JOIN right_table USING (a); +---- +analyzed_plan :.*RIGHT_SEMI.* + +# natural anti join works +query II +explain analyze SELECT * FROM left_table NATURAL SEMI JOIN right_table; +---- +analyzed_plan :.*RIGHT_SEMI.* + +query II +EXPLAIN ANALYZE SELECT * FROM left_table +NATURAL SEMI JOIN (select right_table.a FROM right_table JOIN other ON (other.a = right_table.a)) joined_right_table; +---- +analyzed_plan :.*RIGHT_SEMI.* + +# right_table.a and left_table.a have the value 42 +# only left_table.a has the value 43 +# test flip on inequalities as well +query II +EXPLAIN ANALYZE SELECT * FROM left_table SEMI JOIN right_table ON (left_table.a <> right_table.a) ORDER BY a, c; +---- +analyzed_plan :.*RIGHT_SEMI.* + + +# range joins do *not* flip +query II +EXPLAIN ANALYZE SELECT * FROM left_table SEMI JOIN right_table ON (left_table.a > right_table.a); +---- +analyzed_plan :.*RIGHT_SEMI.* + + +# complex condition resulting in an any join DOES *NOT* flip +query II +explain analyze SELECT * FROM left_table SEMI JOIN right_table ON (left_table.a + right_table.a = 85 OR left_table.a + right_table.b = 84) order by left_table.a, left_table.c; +---- +analyzed_plan :.*RIGHT_SEMI.* + + +statement ok +INSERT INTO right_table VALUES (1, 42), (1, 42); + +# Insert more values so that the scan side in the cross product is the right hand side +statement ok +INSERT INTO left_table VALUES (42, 1, 5), (42, 1, 5), (42, 1, 5), (2000, 20000, 200000); + +# complex condition resulting in an any join does *NOT* flip +query II +explain analyze SELECT * FROM left_table SEMI JOIN right_table ON (left_table.a + right_table.a = 85 OR left_table.a + right_table.b = 84) order by left_table.a, left_table.c; +---- +analyzed_plan :.*RIGHT_SEMI.* + +# correlated subqueries can flip +query II +explain analyze SELECT a as outer_a, (SELECT right_table.b FROM right_table where right_table.a != outer_a) right_table_b FROM left_table SEMI JOIN right_table ON (left_table.a = right_table.a) Order by outer_a, right_table_b; +---- +analyzed_plan :.*RIGHT_SEMI.* + +statement ok +INSERT INTO right_table VALUES (1, 20); + +# correlated subqueries +query II +explain analyze SELECT a as outer_a, (SELECT b FROM right_table where right_table.a != outer_a) right_table_b FROM left_table SEMI JOIN right_table ON (left_table.a = right_table.a) Order by outer_a, right_table_b; +---- +analyzed_plan :.*RIGHT_SEMI.* + diff --git a/test/sql/join/test_nested_keys.test b/test/sql/join/test_nested_keys.test index 5ad3d59acdb0..0ec77e2ecebd 100644 --- a/test/sql/join/test_nested_keys.test +++ b/test/sql/join/test_nested_keys.test @@ -55,7 +55,7 @@ NULL NULL NULL 5 [9, 10, 11] [9, 10, 11] query III -SELECT i, pk, fk FROM intlistdim FULL OUTER JOIN intlists ON intlistdim.pk=intlists.fk ORDER BY i +SELECT i, pk, fk FROM intlistdim FULL OUTER JOIN intlists ON intlistdim.pk=intlists.fk ORDER BY ALL ---- NULL NULL NULL NULL NULL [13] @@ -112,7 +112,7 @@ NULL NULL NULL 5 [i, j, k] [i, j, k] query III -SELECT i, pk, fk FROM strlistdim FULL OUTER JOIN strlists ON strlistdim.pk=strlists.fk ORDER BY i +SELECT i, pk, fk FROM strlistdim FULL OUTER JOIN strlists ON strlistdim.pk=strlists.fk ORDER BY ALL ---- NULL NULL NULL NULL NULL [Somateria mollissima] @@ -169,7 +169,7 @@ NULL NULL NULL 5 {'x': 9, 'y': i} {'x': 9, 'y': i} query III -SELECT i, pk, fk FROM structdim FULL OUTER JOIN structs ON structdim.pk=structs.fk ORDER BY i +SELECT i, pk, fk FROM structdim FULL OUTER JOIN structs ON structdim.pk=structs.fk ORDER BY ALL ---- NULL NULL NULL NULL NULL {'x': 13, 'y': Somateria mollissima} @@ -241,7 +241,7 @@ SELECT i, pk, fk FROM struct_lint_lstr_dim FULL OUTER JOIN struct_lint_lstr ON struct_lint_lstr_dim.pk=struct_lint_lstr.fk -ORDER BY i +ORDER BY ALL ---- NULL NULL NULL NULL NULL {'x': [13], 'y': [Somateria mollissima]} @@ -314,7 +314,7 @@ SELECT i, pk, fk FROM r2l3r4l5i4i2l3v_dim FULL OUTER JOIN r2l3r4l5i4i2l3v ON r2l3r4l5i4i2l3v_dim.pk = r2l3r4l5i4i2l3v.fk -ORDER BY i +ORDER BY ALL ---- NULL NULL NULL NULL NULL {'x': [{'l4': [62], 'i4': 47}], 'y': [Somateria mollissima]} diff --git a/test/sql/join/test_nested_payloads.test b/test/sql/join/test_nested_payloads.test index 111806bcc164..0be3eeb02132 100644 --- a/test/sql/join/test_nested_payloads.test +++ b/test/sql/join/test_nested_payloads.test @@ -49,7 +49,7 @@ NULL [13] 5 [9, 10, 11] query III -SELECT fk, pk, p FROM integers, intlists WHERE fk = pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers, intlists WHERE fk = pk ORDER BY ALL ---- 1 1 [1] 2 2 [NULL] @@ -57,7 +57,7 @@ SELECT fk, pk, p FROM integers, intlists WHERE fk = pk ORDER BY fk, pk 5 5 [9, 10, 11] query III -SELECT fk, pk, p FROM integers LEFT OUTER JOIN intlists ON integers.fk=intlists.pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers LEFT OUTER JOIN intlists ON integers.fk=intlists.pk ORDER BY ALL ---- NULL NULL NULL 1 1 [1] @@ -69,13 +69,13 @@ query III SELECT fk, pk, p FROM integers LEFT OUTER JOIN intlists ON integers.fk=intlists.pk WHERE pk < 5 AND fk > 1 -ORDER BY fk, pk +ORDER BY ALL ---- 2 2 [NULL] 3 3 [] query III -SELECT fk, pk, p FROM intlists RIGHT OUTER JOIN integers ON integers.fk=intlists.pk ORDER BY fk, pk +SELECT fk, pk, p FROM intlists RIGHT OUTER JOIN integers ON integers.fk=intlists.pk ORDER BY ALL ---- NULL NULL NULL 1 1 [1] @@ -84,7 +84,7 @@ NULL NULL NULL 5 5 [9, 10, 11] query III -SELECT fk, pk, p FROM integers FULL OUTER JOIN intlists ON integers.fk=intlists.pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers FULL OUTER JOIN intlists ON integers.fk=intlists.pk ORDER BY ALL ---- NULL NULL NULL NULL NULL [13] @@ -151,7 +151,7 @@ NULL NULL NULL 5 5 [i, j, k] query III -SELECT fk, pk, p FROM integers FULL OUTER JOIN strlists ON integers.fk=strlists.pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers FULL OUTER JOIN strlists ON integers.fk=strlists.pk ORDER BY ALL ---- NULL NULL NULL NULL NULL [Somateria mollissima] @@ -193,7 +193,7 @@ NULL {'x': 13, 'y': Somateria mollissima} 5 {'x': 9, 'y': i} query III -SELECT fk, pk, p FROM integers, structs WHERE fk = pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers, structs WHERE fk = pk ORDER BY ALL ---- 1 1 {'x': 1, 'y': a} 2 2 {'x': NULL, 'y': NULL} @@ -201,7 +201,7 @@ SELECT fk, pk, p FROM integers, structs WHERE fk = pk ORDER BY fk, pk 5 5 {'x': 9, 'y': i} query III -SELECT fk, pk, p FROM integers LEFT OUTER JOIN structs ON integers.fk=structs.pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers LEFT OUTER JOIN structs ON integers.fk=structs.pk ORDER BY ALL ---- NULL NULL NULL 1 1 {'x': 1, 'y': a} @@ -213,13 +213,13 @@ query III SELECT fk, pk, p FROM integers LEFT OUTER JOIN structs ON integers.fk=structs.pk WHERE pk < 5 AND fk > 1 -ORDER BY fk, pk +ORDER BY ALL ---- 2 2 {'x': NULL, 'y': NULL} 3 3 {'x': 0, 'y': } query III -SELECT fk, pk, p FROM structs RIGHT OUTER JOIN integers ON integers.fk=structs.pk ORDER BY fk, pk +SELECT fk, pk, p FROM structs RIGHT OUTER JOIN integers ON integers.fk=structs.pk ORDER BY ALL ---- NULL NULL NULL 1 1 {'x': 1, 'y': a} @@ -229,7 +229,7 @@ NULL NULL NULL query III -SELECT fk, pk, p FROM integers FULL OUTER JOIN structs ON integers.fk=structs.pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers FULL OUTER JOIN structs ON integers.fk=structs.pk ORDER BY ALL ---- NULL NULL NULL NULL NULL {'x': 13, 'y': Somateria mollissima} @@ -261,7 +261,7 @@ NULL {'x': [13], 'y': [Somateria mollissima]} 5 {'x': [9, 10, 11], 'y': [i, j, k]} query III -SELECT fk, pk, p FROM integers, struct_lint_lstr WHERE fk = pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers, struct_lint_lstr WHERE fk = pk ORDER BY ALL ---- 1 1 {'x': [1], 'y': [a]} 2 2 {'x': [NULL], 'y': [NULL]} @@ -271,7 +271,7 @@ SELECT fk, pk, p FROM integers, struct_lint_lstr WHERE fk = pk ORDER BY fk, pk query III SELECT fk, pk, p FROM integers LEFT OUTER JOIN struct_lint_lstr ON integers.fk=struct_lint_lstr.pk -ORDER BY fk, pk +ORDER BY ALL ---- NULL NULL NULL 1 1 {'x': [1], 'y': [a]} @@ -283,7 +283,7 @@ query III SELECT fk, pk, p FROM integers LEFT OUTER JOIN struct_lint_lstr ON integers.fk=struct_lint_lstr.pk WHERE pk < 5 AND fk > 1 -ORDER BY fk, pk +ORDER BY ALL ---- 2 2 {'x': [NULL], 'y': [NULL]} 3 3 {'x': [], 'y': []} @@ -291,7 +291,7 @@ ORDER BY fk, pk query III SELECT fk, pk, p FROM struct_lint_lstr RIGHT OUTER JOIN integers ON integers.fk=struct_lint_lstr.pk -ORDER BY fk, pk +ORDER BY ALL ---- NULL NULL NULL 1 1 {'x': [1], 'y': [a]} @@ -302,7 +302,7 @@ NULL NULL NULL query III SELECT fk, pk, p FROM integers FULL OUTER JOIN struct_lint_lstr ON integers.fk=struct_lint_lstr.pk -ORDER BY fk, pk +ORDER BY ALL ---- NULL NULL NULL NULL NULL {'x': [13], 'y': [Somateria mollissima]} @@ -334,7 +334,7 @@ NULL {'x': [{'l4': [62], 'i4': 47}], 'y': [Somateria mollissima]} 5 {'x': [{'l4': [56], 'i4': 44}, {'l4': [57, 58], 'i4': 45}, {'l4': [59, 60, 61], 'i4': 46}], 'y': [i, j, k]} query III -SELECT fk, pk, p FROM integers, r2l3r4l5i4i2l3v WHERE fk = pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers, r2l3r4l5i4i2l3v WHERE fk = pk ORDER BY ALL ---- 1 1 {'x': [{'l4': [51], 'i4': 41}], 'y': [a]} 2 2 {'x': [NULL], 'y': [NULL]} @@ -344,7 +344,7 @@ SELECT fk, pk, p FROM integers, r2l3r4l5i4i2l3v WHERE fk = pk ORDER BY fk, pk query III SELECT fk, pk, p FROM integers LEFT OUTER JOIN r2l3r4l5i4i2l3v ON integers.fk=r2l3r4l5i4i2l3v.pk -ORDER BY fk, pk +ORDER BY ALL ---- NULL NULL NULL 1 1 {'x': [{'l4': [51], 'i4': 41}], 'y': [a]} @@ -356,7 +356,7 @@ query III SELECT fk, pk, p FROM integers LEFT OUTER JOIN r2l3r4l5i4i2l3v ON integers.fk=r2l3r4l5i4i2l3v.pk WHERE pk < 5 AND fk > 1 -ORDER BY fk, pk +ORDER BY ALL ---- 2 2 {'x': [NULL], 'y': [NULL]} 3 3 {'x': [], 'y': []} @@ -364,7 +364,7 @@ ORDER BY fk, pk query III SELECT fk, pk, p FROM r2l3r4l5i4i2l3v RIGHT OUTER JOIN integers ON integers.fk=r2l3r4l5i4i2l3v.pk -ORDER BY fk, pk +ORDER BY ALL ---- NULL NULL NULL 1 1 {'x': [{'l4': [51], 'i4': 41}], 'y': [a]} @@ -375,7 +375,7 @@ NULL NULL NULL query III SELECT fk, pk, p FROM integers FULL OUTER JOIN r2l3r4l5i4i2l3v ON integers.fk=r2l3r4l5i4i2l3v.pk -ORDER BY fk, pk +ORDER BY ALL ---- NULL NULL NULL NULL NULL {'x': [{'l4': [62], 'i4': 47}], 'y': [Somateria mollissima]} @@ -413,12 +413,12 @@ SELECT pk, p FROM longlists ORDER BY pk; 12 values hashing to 6ed3f1a5b7eb595d57083d74ce4a51df query III -SELECT fk, pk, p FROM integers, longlists WHERE fk = pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers, longlists WHERE fk = pk ORDER BY ALL ---- 12 values hashing to 74f807166632863aa7b71486777820b5 query III -SELECT fk, pk, p FROM integers LEFT OUTER JOIN longlists ON integers.fk=longlists.pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers LEFT OUTER JOIN longlists ON integers.fk=longlists.pk ORDER BY ALL ---- 15 values hashing to e7e8557f5d71ca6b20614e6cd6c35bbf @@ -426,18 +426,18 @@ query III SELECT fk, pk, p FROM integers LEFT OUTER JOIN longlists ON integers.fk=longlists.pk WHERE pk < 5 AND fk > 1 -ORDER BY fk, pk +ORDER BY ALL ---- 2 2 [NULL] 3 3 [] query III -SELECT fk, pk, p FROM longlists RIGHT OUTER JOIN integers ON integers.fk=longlists.pk ORDER BY fk, pk +SELECT fk, pk, p FROM longlists RIGHT OUTER JOIN integers ON integers.fk=longlists.pk ORDER BY ALL ---- 15 values hashing to e7e8557f5d71ca6b20614e6cd6c35bbf query III -SELECT fk, pk, p FROM integers FULL OUTER JOIN longlists ON integers.fk=longlists.pk ORDER BY fk, pk +SELECT fk, pk, p FROM integers FULL OUTER JOIN longlists ON integers.fk=longlists.pk ORDER BY ALL ---- 21 values hashing to 397312e04f9a44a70a2672865240afb0 diff --git a/test/sql/json/scalar/json_nested_casts.test b/test/sql/json/scalar/json_nested_casts.test index c69b3a2e2355..0c241b72c23c 100644 --- a/test/sql/json/scalar/json_nested_casts.test +++ b/test/sql/json/scalar/json_nested_casts.test @@ -30,7 +30,7 @@ select cast(json('[1,2]') as json[]); statement error select cast(['boom'] as json[]); ---- -Malformed JSON +Conversion Error query I select cast(['[1, 2]', '[3, 4]'] as json[]); @@ -56,7 +56,7 @@ SELECT {'a': 42, 'b': '[1, 2]'}::ROW(a JSON, b INT[]) statement error SELECT {'a': 'boom', 'b': '[1, 2]'}::ROW(a JSON, b INT[]) ---- -Malformed JSON +Conversion Error # varchar to struct of json query I @@ -245,6 +245,7 @@ select bool, int, bigint, hugeint, + uhugeint, utinyint, usmallint, uint, @@ -289,6 +290,7 @@ select bool::JSON as bool, int::JSON as int, bigint::JSON as bigint, hugeint::JSON as hugeint, + uhugeint::JSON as uhugeint, utinyint::JSON as utinyint, usmallint::JSON as usmallint, uint::JSON as uint, @@ -331,6 +333,7 @@ select bool::BOOLEAN as bool, int::INTEGER as int, bigint::BIGINT as bigint, hugeint::HUGEINT as hugeint, + uhugeint::UHUGEINT as uhugeint, utinyint::UTINYINT as utinyint, usmallint::USMALLINT as usmallint, uint::UINTEGER as uint, @@ -394,3 +397,25 @@ select v::JSON::ROW(i INTEGER, j VARCHAR) from test_vector_types(NULL::ROW(i INT endloop + +# we only cast our strings to JSON if they start with an alphabetic character, so this won't work +statement error +select ''::JSON +---- +Conversion Error + +statement error +select ' '::JSON +---- +Conversion Error + +# JSON cannot contain the NULL byte +statement error +select chr(0)::JSON +---- +Conversion Error + +statement error +select ('duck' || chr(0))::JSON +---- +Conversion Error diff --git a/test/sql/json/scalar/test_json_contains.test b/test/sql/json/scalar/test_json_contains.test index f51cea3f2c15..bd139073ae0e 100644 --- a/test/sql/json/scalar/test_json_contains.test +++ b/test/sql/json/scalar/test_json_contains.test @@ -16,6 +16,7 @@ True statement error SELECT JSON_CONTAINS('{"a": 1, "b": 2, "c": {"d": 3}}', '"c": {"d": 3}') AS Result; +---- # some home-made tests diff --git a/test/sql/json/scalar/test_json_create.test b/test/sql/json/scalar/test_json_create.test index 275e53f28335..de69739ded43 100644 --- a/test/sql/json/scalar/test_json_create.test +++ b/test/sql/json/scalar/test_json_create.test @@ -86,7 +86,7 @@ select json_object('nested', map(['duck', 'goose'], [42, 7])) {"nested":{"duck":42,"goose":7}} query T -select json_object('nested', map([0, 'goose'], [42, 7])) +select json_object('nested', map(['0', 'goose'], [42, 7])) ---- {"nested":{"0":42,"goose":7}} @@ -167,6 +167,7 @@ select json_quote(map(list(c), list(d))) from test # Histogram not implemented for INT[] statement error select json_quote(map(list(d), list(e))) from test +---- query T select json_quote(map(list(c), list(e))) from test @@ -191,6 +192,7 @@ NULL statement error select row_to_json([42]) +---- query T select array_to_json([42]) @@ -209,6 +211,7 @@ NULL statement error select array_to_json({a: 42}) +---- # Some SQLite tests query T @@ -224,6 +227,7 @@ SELECT json_object('a',1,'b',2.5,'c',null,'d','String Test'); # must have even number of args statement error SELECT json_object('a',1,'b'); +---- query T SELECT json_array(1,2.5,null,'hello'); diff --git a/test/sql/json/scalar/test_json_dot_syntax.test b/test/sql/json/scalar/test_json_dot_syntax.test new file mode 100644 index 000000000000..d6c4aa10e3f6 --- /dev/null +++ b/test/sql/json/scalar/test_json_dot_syntax.test @@ -0,0 +1,209 @@ +# name: test/sql/json/scalar/test_json_dot_syntax.test +# description: Test JSON extract with dot syntax +# group: [scalar] + +require json + +statement ok +pragma enable_verification + +# should work within other functions (no conflict with list Lambda functions) +query T +SELECT json_structure(json('{"duck":"goose"}').duck); +---- +"VARCHAR" + +# should go to our NULL +query T +select json('{"foo": null}').foo +---- +NULL + +query T +select json('{"foo": null}').foo.bar +---- +NULL + +query T +select json('null') +---- +NULL + +query T +select json('[null]')."0" +---- +NULL + +# this doesn't work, we can't extract array elements using dots +query T +select json('{"my_field": {"my_nested_field": ["goose", "duck"]}}').my_field.my_nested_field."1" +---- +NULL + +# but we can using array extract syntax +query T +select json('{"my_field": {"my_nested_field": ["goose", "duck"]}}').my_field.my_nested_field[1] +---- +"duck" + +# again, this won't work +query T +select ('{"my_field": {"my_nested_field": ["goose", "duck"]}}'::JSON).my_field.my_nested_field."1" +---- +NULL + +# but this will +query T +select ('{"my_field": {"my_nested_field": ["goose", "duck"]}}'::JSON).my_field.my_nested_field[1] +---- +"duck" + +# can also access from back +query T +select ('{"my_field": {"my_nested_field": ["goose", "duck"]}}'::JSON).my_field.my_nested_field[-1] +---- +"duck" + +# array slicing doesn't work (yet) for json extract +# this looks a bit weird, but this actually does a string slice +query T +select ('{"my_field": {"my_nested_field": ["goose", "duck"]}}'::JSON).my_field.my_nested_field[0:1] +---- +[ + +query T +select json('{"my_field": {"my_nested_field": ["goose", "duck"]}}').my_field.my_nested_field[1] +---- +"duck" + +query T +select json('{"my_field": {"my_nested_field": ["goose", "duckduckduckduck"]}}').my_field.my_nested_field[1] +---- +"duckduckduckduck" + +query T +select ('{"my_field": {"my_nested_field": ["goose", "duckduckduckduck"]}}'::JSON).my_field.my_nested_field[1] +---- +"duckduckduckduck" + +query T +select json('{"my_field": {"my_nested_field": ["goose", "duckduckduckduck"]}}').my_field.my_nested_field[1] +---- +"duckduckduckduck" + +# doesn't work +query T +select json('[1, 2, 42]')."2" +---- +NULL + +# works! +query T +select json('[1, 2, 42]')[2] +---- +42 + +query T +select json('[1, 2, 42]')[2]::text +---- +42 + +# chained +query T +select ('{"my_field": {"my_nested_field": ["goose", "duck"]}}'::JSON).my_field.my_nested_field[1] +---- +"duck" + +# some sqlite tests +query T +SELECT json('{"a":2,"c":[4,5,{"f":7}]}').c +---- +[4,5,{"f":7}] + +query T +SELECT json('{"a":2,"c":[4,5,{"f":7}]}').c[2] +---- +{"f":7} + +query T +SELECT json('{"a":2,"c":[4,5,{"f":7}]}').c[2].f +---- +7 + +query T +SELECT json('{"a":2,"c":[4,5,{"f":7}]}').x +---- +NULL + +statement ok +CREATE TABLE obj(x varchar); + +statement ok +INSERT INTO obj VALUES('{"a":1,"b":2}'); + +query T +SELECT json(x).b FROM obj; +---- +2 + +query T +SELECT json(x)."b" FROM obj; +---- +2 + +statement ok +CREATE TABLE t12(x varchar); + +statement ok +INSERT INTO t12(x) VALUES( +'{"settings": + {"layer2": + {"hapax.legomenon": + {"forceDisplay":true, + "transliterate":true, + "add.footnote":true, + "summary.report":true}, + "dis.legomenon": + {"forceDisplay":true, + "transliterate":false, + "add.footnote":false, + "summary.report":true}, + "tris.legomenon": + {"forceDisplay":true, + "transliterate":false, + "add.footnote":false, + "summary.report":false} + } + } + }'); + +query T +SELECT json(x).settings.layer2."tris.legomenon"."summary.report" FROM t12; +---- +false + +query T +SELECT (x::JSON).settings.layer2."tris.legomenon"."summary.report" FROM t12; +---- +false + +# this will be upcast to JSON, cannot parse 'bar' +statement error +SELECT json('{"foo": "bar"}').foo = 'bar'; +---- +Conversion Error + +query T +SELECT json('{"foo": "bar"}').foo = '"bar"'; +---- +true + +query T +SELECT json('{"foo": 1}').foo = 1; +---- +true + +query T +SELECT json('{"foo": "bar"}') = {foo: 'bar'} +---- +true diff --git a/test/sql/json/scalar/test_json_extract.test b/test/sql/json/scalar/test_json_extract.test index 1e409868fcad..6e13039fb2e6 100644 --- a/test/sql/json/scalar/test_json_extract.test +++ b/test/sql/json/scalar/test_json_extract.test @@ -85,7 +85,7 @@ select '{"my_field": {"my_nested_field": ["goose", "duckduckduckduck"]}}'::JSON- duckduckduckduck query T -select json_extract('[1, 2, 42]', 2) +select json_extract('[1, 2, 42]', '2') ---- 42 @@ -229,21 +229,27 @@ SELECT j::JSON->'$.b[#-000001]' a, a = (j::JSON->'$.b[-000001]') FROM t1; statement error SELECT json_extract(j, '$.b[#-]') FROM t1; +---- statement error SELECT json_extract(j, '$.b[-]') FROM t1; +---- statement error SELECT json_extract(j, '$.b[#9]') FROM t1; +---- statement error SELECT json_extract(j, '$.b[#+2]') FROM t1; +---- statement error SELECT json_extract(j, '$.b[#-1') FROM t1; +---- statement error SELECT json_extract(j, '$.b[#-1x]') FROM t1; +---- statement ok CREATE TABLE obj(x varchar); diff --git a/test/sql/json/scalar/test_json_path.test b/test/sql/json/scalar/test_json_path.test index 850a72265f6e..33672513478c 100644 --- a/test/sql/json/scalar/test_json_path.test +++ b/test/sql/json/scalar/test_json_path.test @@ -114,27 +114,35 @@ Invalid Input Error # path error statement error select json_extract('{"a": {"b": "c"}}', '$[]'); +---- statement error select json_extract('{"a": {"b": "c"}}', '$[#'); +---- statement error select json_extract(j, '$.my_field[my_nested_field[#-3]') from test +---- statement error select json_extract(j, '$.my_field.my_nested_field[!]') from test +---- statement error select json_extract('{"a": {"b": "c"}}', '$.a..'); +---- statement error select json_extract('{"a": {"b": "c"}}', '$[['); +---- statement error select json_extract('{"a": {"b": "c"}}', '$[.'); +---- statement error select json_extract('{"a": {"b": "c"}}', '$]'); +---- # with JSON path we support wildcards in arrays and objects, this results in a LIST query T diff --git a/test/sql/json/scalar/test_json_structure.test b/test/sql/json/scalar/test_json_structure.test index 48c8a5a2ba7d..9997f8e88d7c 100644 --- a/test/sql/json/scalar/test_json_structure.test +++ b/test/sql/json/scalar/test_json_structure.test @@ -155,6 +155,7 @@ select json_structure('[[1], {"a": 1}]') # duplicate key statement error select json_structure('{"a": 42, "a": 7}') +---- # from a table statement ok diff --git a/test/sql/json/scalar/test_json_transform.test b/test/sql/json/scalar/test_json_transform.test index 5af447be65c3..c304cd2f5c10 100644 --- a/test/sql/json/scalar/test_json_transform.test +++ b/test/sql/json/scalar/test_json_transform.test @@ -20,6 +20,7 @@ select from_json_strict('42', '"UBIGINT"') statement error select from_json_strict('42', '"DATE"') +---- # singletons statement error @@ -95,6 +96,7 @@ select json_transform('{"a": 42}', '{"a":"NULL"}') statement error select json_transform('{"a": 42}', '{"a":"ARRAY"}') +---- # arrays statement error @@ -151,6 +153,7 @@ NULL # conflicting names statement error select json_transform('{"a": 4, "a": 2}', '{"a": "UBIGINT", "a": "UBIGINT"}') +---- # can actually get parts of the JSON back as string query T @@ -200,9 +203,11 @@ NULL statement error select json_transform_strict('[]', '"${type}"') +---- statement error select json_transform_strict('{}', '"${type}"') +---- query T select json_transform('null', '"${type}"') @@ -223,6 +228,7 @@ NULL statement error select json_transform_strict('-42', '"UINTEGER"') +---- # varchar query T @@ -353,15 +359,19 @@ NULL statement error select json_transform_strict('42', '"DECIMAL(2,1)"') +---- statement error select json_transform('42', '"DECIMAL(39)"') +---- statement error select json_transform('42', '"DECIMAL(2,4)"') +---- statement error select json_transform('42', '"DECIMAL(5,1,1)"') +---- # uuid query T @@ -406,6 +416,7 @@ NULL statement error select json_transform_strict('42', '"UUID"') +---- # date / time query T @@ -465,6 +476,7 @@ NULL statement error select json_transform_strict('false', '"DATE"') +---- # timestamp query T @@ -499,3 +511,4 @@ NULL statement error select json_transform_strict('42', '"TIMESTAMP"') +---- diff --git a/test/sql/json/table/read_json.test b/test/sql/json/table/read_json.test index c600dbf6b351..7a3bce5f22da 100644 --- a/test/sql/json/table/read_json.test +++ b/test/sql/json/table/read_json.test @@ -8,13 +8,13 @@ statement ok pragma enable_verification statement error -SELECT * FROM read_json('data/json/example_n.ndjson') +SELECT * FROM read_json('data/json/example_n.ndjson', auto_detect=false) ---- Binder Error -# read_json assumes array of obj +# can't read ndjson with array statement error -SELECT * FROM read_json('data/json/example_n.ndjson', columns={id: 'INTEGER', name: 'VARCHAR'}) +SELECT * FROM read_json('data/json/example_n.ndjson', columns={id: 'INTEGER', name: 'VARCHAR'}, format='array') ---- Invalid Input Error: Expected top-level JSON array @@ -237,9 +237,9 @@ select * from read_json('data/json/top_level_array.json', auto_detect=true) cancelled cancelled -# if we try to read it with 'unstructured', we get an error +# if we try to read it as 'unstructured' records statement error -select * from read_json('data/json/top_level_array.json', columns={conclusion: 'VARCHAR'}, format='unstructured') +select * from read_json('data/json/top_level_array.json', columns={conclusion: 'VARCHAR'}, format='unstructured', records=true) ---- Invalid Input Error: JSON transform error in file "data/json/top_level_array.json", in record/value 1: Expected OBJECT, but got ARRAY @@ -294,18 +294,18 @@ select * from '__TEST_DIR__/my_file.json' # fails because it's not records statement error -select * from read_json('__TEST_DIR__/my_file.json', format='array', columns={range: 'INTEGER'}) +select * from read_json('__TEST_DIR__/my_file.json', format='array', columns={range: 'INTEGER'}, records=true) ---- Invalid Input Error: JSON transform error # fails because it's not records statement error -select * from read_json_auto('__TEST_DIR__/my_file.json', format='array', records='true') +select * from read_json_auto('__TEST_DIR__/my_file.json', format='array', records=true) ---- Binder Error: json_read expected records query T -select * from read_json('__TEST_DIR__/my_file.json', format='auto', records='false', auto_detect=true) +select * from read_json('__TEST_DIR__/my_file.json', format='auto', records=false, auto_detect=true) ---- 0 1 @@ -392,7 +392,7 @@ statement ok pragma disable_verification # test that we can read a JSON list that spans more than one buffer size -# the JSON is 55 bytes, and the minimum buffer size is 2097152 +# the JSON is 55 bytes, and the minimum buffer size is 32MB # let's do 50k to be safe statement ok copy (select list(to_json({this_is_a_very_long_field_name_yes_very_much_so:42})) from range(50000)) to '__TEST_DIR__/my_file.json' (format csv, quote '', header 0) diff --git a/test/sql/json/table/read_json_auto.test_slow b/test/sql/json/table/read_json_auto.test_slow index ec359e4e1077..09c0a8063f0c 100644 --- a/test/sql/json/table/read_json_auto.test_slow +++ b/test/sql/json/table/read_json_auto.test_slow @@ -153,9 +153,40 @@ select * from read_json_auto('data/json/different_schemas.ndjson', sample_size=- 4 NULL 5 Raising Arizona +# if we require fields to appear in all objects by setting field_appearance_threshold=1, we default to JSON +query I +select * from read_json_auto('data/json/different_schemas.ndjson', field_appearance_threshold=1) +---- +{"id":1,"name":"O Brother, Where Art Thou?"} +{"id":2} +{"id":3,"name":"The Firm"} +{"id":4} +{"id":5,"name":"Raising Arizona"} + +# if we set it to 0.5 it should work already since "name" appears in 3/5 objects, which is greater than 0.5 +query II +select * from read_json_auto('data/json/different_schemas.ndjson', field_appearance_threshold=0.5) +---- +1 O Brother, Where Art Thou? +2 NULL +3 The Firm +4 NULL +5 Raising Arizona + +# can't set it to less than 0 or more than 1 +statement error +select * from read_json_auto('data/json/different_schemas.ndjson', field_appearance_threshold=-1) +---- +Binder Error: read_json_auto "field_appearance_threshold" parameter must be between 0 and 1 + +statement error +select * from read_json_auto('data/json/different_schemas.ndjson', field_appearance_threshold=2) +---- +Binder Error: read_json_auto "field_appearance_threshold" parameter must be between 0 and 1 + # inconsistent schema's - if we only sample 1 row, we get an error, because we only see a NULL value for the 2nd column statement error -select * from read_json_auto('data/json/inconsistent_schemas.ndjson', sample_size=1) +select * from read_json_auto('data/json/inconsistent_schemas.ndjson', sample_size=1, convert_strings_to_integers=true) ---- Invalid Input Error: JSON transform error in file "data/json/inconsistent_schemas.ndjson", in line 3 @@ -169,16 +200,65 @@ select * from read_json_auto('data/json/inconsistent_schemas.ndjson', sample_siz 4 Broadcast News 5 Raising Arizona -# we can also find bigint in strings (happens a lot in JSON for some reason ... +# we can also find bigint in strings (happens a lot in JSON for some reason ...) statement ok copy (select * from (values ('{"id": "26941143801"}'), ('{"id": "26941143807"}'))) to '__TEST_DIR__/my_file.json' (format csv, quote '', header 0) +# but only if we set the parameter to true query T -select typeof(id) from '__TEST_DIR__/my_file.json' +select typeof(id) from read_json('__TEST_DIR__/my_file.json', convert_strings_to_integers=true) ---- BIGINT BIGINT +# empty array and the example file works +query II +select * from read_json_auto(['data/json/empty_array.json', 'data/json/example_n.ndjson']); +---- +1 O Brother, Where Art Thou? +2 Home for the Holidays +3 The Firm +4 Broadcast News +5 Raising Arizona + +# if we only sample the first file, we default to a single JSON column +query I +select * from read_json_auto(['data/json/empty_array.json', 'data/json/example_n.ndjson'], maximum_sample_files=1); +---- +{"id":1,"name":"O Brother, Where Art Thou?"} +{"id":2,"name":"Home for the Holidays"} +{"id":3,"name":"The Firm"} +{"id":4,"name":"Broadcast News"} +{"id":5,"name":"Raising Arizona"} + +# -1 is unlimited +query II +select * from read_json_auto(['data/json/empty_array.json', 'data/json/example_n.ndjson'], maximum_sample_files=-1); +---- +1 O Brother, Where Art Thou? +2 Home for the Holidays +3 The Firm +4 Broadcast News +5 Raising Arizona + +# can't be -2 or lower +statement error +select * from read_json_auto(['data/json/empty_array.json', 'data/json/example_n.ndjson'], maximum_sample_files=-2); +---- +Binder Error + +# can't be 0 +statement error +select * from read_json_auto(['data/json/empty_array.json', 'data/json/example_n.ndjson'], maximum_sample_files=0); +---- +Binder Error + +# cannot be NULL either +statement error +select * from read_json_auto(['data/json/empty_array.json', 'data/json/example_n.ndjson'], maximum_sample_files=NULL); +---- +Binder Error + statement ok pragma disable_verification @@ -186,13 +266,13 @@ require httpfs # this is one big object - yyjson uses it as a benchmark query II -select typeof("type"), typeof(features) from read_json_auto('https://github.com/duckdb/duckdb-data/releases/download/v1.0/canada.json', maximum_object_size=4194304, maximum_depth=3); +select typeof("type"), typeof(features) from read_json_auto('https://github.com/duckdb/duckdb-data/releases/download/v1.0/canada.json', maximum_depth=3); ---- VARCHAR STRUCT("type" JSON, properties JSON, geometry JSON)[] # let's crank up maximum_depth and see if we can fully unnest this big object query II -select typeof("type"), typeof(features) from read_json_auto('https://github.com/duckdb/duckdb-data/releases/download/v1.0/canada.json', maximum_object_size=4194304, maximum_depth=8); +select typeof("type"), typeof(features) from read_json_auto('https://github.com/duckdb/duckdb-data/releases/download/v1.0/canada.json', maximum_depth=8); ---- VARCHAR STRUCT("type" VARCHAR, properties STRUCT("name" VARCHAR), geometry STRUCT("type" VARCHAR, coordinates DOUBLE[][][]))[] @@ -201,6 +281,6 @@ VARCHAR STRUCT("type" VARCHAR, properties STRUCT("name" VARCHAR), geometry STRUC # the "coordinates" array in "features.geometry" is huge, let's just check the length - not all the values query IIIII select type, features[1].type, features[1].properties.name, features[1].geometry.type, length(features[1].geometry.coordinates) -from read_json_auto('https://github.com/duckdb/duckdb-data/releases/download/v1.0/canada.json', maximum_object_size=4194304, maximum_depth=8); +from read_json_auto('https://github.com/duckdb/duckdb-data/releases/download/v1.0/canada.json', maximum_depth=8); ---- FeatureCollection Feature Canada Polygon 480 diff --git a/test/sql/json/table/read_json_objects.test b/test/sql/json/table/read_json_objects.test index 2d749c9d3490..896cedaf53f4 100644 --- a/test/sql/json/table/read_json_objects.test +++ b/test/sql/json/table/read_json_objects.test @@ -7,6 +7,7 @@ require no_extension_autoloading # this was the previous implementation, doesn't work without JSON extension (no JSON type in catalog) statement error SELECT * FROM read_csv('data/json/example_n.ndjson', columns={'json': 'JSON'}, delim=NULL, header=0, quote=NULL, escape=NULL) +---- require json @@ -19,7 +20,7 @@ Invalid Input Error: Expected top-level JSON array # now it should work! query I -SELECT * FROM read_csv('data/json/example_n.ndjson', columns={'json': 'JSON'}, delim=NULL, header=0, quote=NULL, escape=NULL) +SELECT * FROM read_csv('data/json/example_n.ndjson', columns={'json': 'JSON'}, delim=NULL, header=0, quote=NULL, escape=NULL, auto_detect = false) ---- {"id":1,"name":"O Brother, Where Art Thou?"} {"id":2,"name":"Home for the Holidays"} @@ -172,11 +173,11 @@ select * from read_ndjson_objects('https://github.com/duckdb/duckdb-data/release # empty file query I select * from read_json_objects('data/json/empty.ndjson') ---- +---- query I select * from read_ndjson_objects('data/json/empty.ndjson') ---- +---- # invalid json stuff statement error diff --git a/test/sql/json/test_json_copy.test_slow b/test/sql/json/test_json_copy.test_slow index e7fca3838be1..6b23ace2fa50 100644 --- a/test/sql/json/test_json_copy.test_slow +++ b/test/sql/json/test_json_copy.test_slow @@ -27,21 +27,21 @@ statement ok create type small_enum as enum ('DUCK_DUCK_ENUM', 'GOOSE'); query I nosort q0 -select * exclude (varchar, blob, bit, medium_enum, large_enum, hugeint) +select * exclude (varchar, blob, bit, medium_enum, large_enum, hugeint, uhugeint) replace (dec_18_6::DOUBLE as dec_18_6, dec38_10::DOUBLE as dec38_10) from test_all_types() ---- statement ok copy ( -select * exclude (varchar, blob, bit, medium_enum, large_enum, hugeint) +select * exclude (varchar, blob, bit, medium_enum, large_enum, hugeint, uhugeint) replace (dec_18_6::DOUBLE as dec_18_6, dec38_10::DOUBLE as dec38_10) from test_all_types() ) to '__TEST_DIR__/all_types.ndjson' statement ok create table roundtrip as -select * exclude (varchar, blob, bit, medium_enum, large_enum, hugeint) +select * exclude (varchar, blob, bit, medium_enum, large_enum, hugeint, uhugeint) replace (dec_18_6::DOUBLE as dec_18_6, dec38_10::DOUBLE as dec38_10) from test_all_types() limit 0 @@ -58,7 +58,7 @@ delete from roundtrip statement ok copy ( -select * exclude (varchar, blob, bit, medium_enum, large_enum, hugeint) +select * exclude (varchar, blob, bit, medium_enum, large_enum, hugeint, uhugeint) replace (dec_18_6::DOUBLE as dec_18_6, dec38_10::DOUBLE as dec38_10) from test_all_types() ) to '__TEST_DIR__/all_types.json' (array true) @@ -161,6 +161,7 @@ create table conclusions (conclusion varchar) # this doesn't work because we assume NDJSON records statement error copy conclusions from 'data/json/top_level_array.json' +---- # but works if we tell it to auto-detect statement ok diff --git a/test/sql/json/test_json_empty_object.test b/test/sql/json/test_json_empty_object.test index 41a394e5ad16..775851f214b3 100644 --- a/test/sql/json/test_json_empty_object.test +++ b/test/sql/json/test_json_empty_object.test @@ -31,6 +31,7 @@ JSON # can't force it to have an empty struct statement error select * from read_json('__TEST_DIR__/my.json', columns={a: 'STRUCT()') +---- # test issue 6443 statement ok diff --git a/test/sql/json/test_json_export.test b/test/sql/json/test_json_export.test index 0c66f461447a..1f5d28917125 100644 --- a/test/sql/json/test_json_export.test +++ b/test/sql/json/test_json_export.test @@ -47,4 +47,4 @@ bla query I select * from '__TEST_DIR__/text.json'; ---- -bla \ No newline at end of file +bla diff --git a/test/sql/json/test_json_serialize_plan.test b/test/sql/json/test_json_serialize_plan.test new file mode 100644 index 000000000000..2f29f64c1928 --- /dev/null +++ b/test/sql/json/test_json_serialize_plan.test @@ -0,0 +1,40 @@ +# name: test/sql/json/test_json_serialize_plan.test +# group: [json] + +require noforcestorage + +require json + +statement ok +CREATE TABLE tbl1 (i int); + +# Example with simple query +query I +SELECT json_serialize_plan('SELECT 1 + 2 FROM tbl1'); +---- +{"error":false,"plans":[{"type":"LOGICAL_PROJECTION","children":[{"type":"LOGICAL_GET","children":[],"table_index":0,"returned_types":[{"id":"INTEGER","type_info":null}],"names":["i"],"column_ids":[18446744073709551615],"projection_ids":[],"table_filters":{"filters":[]},"name":"seq_scan","arguments":[],"original_arguments":[],"has_serialize":true,"function_data":{"catalog":"memory","schema":"main","table":"tbl1","is_index_scan":false,"is_create_index":false,"result_ids":[]},"projected_input":[]}],"table_index":1,"expressions":[{"expression_class":"BOUND_FUNCTION","type":"BOUND_FUNCTION","alias":"","return_type":{"id":"INTEGER","type_info":null},"children":[{"expression_class":"BOUND_CONSTANT","type":"VALUE_CONSTANT","alias":"","value":{"type":{"id":"INTEGER","type_info":null},"is_null":false,"value":1}},{"expression_class":"BOUND_CONSTANT","type":"VALUE_CONSTANT","alias":"","value":{"type":{"id":"INTEGER","type_info":null},"is_null":false,"value":2}}],"name":"+","arguments":[{"id":"INTEGER","type_info":null},{"id":"INTEGER","type_info":null}],"original_arguments":[],"has_serialize":false,"is_operator":true}]}]} + +# Example with skip_null and skip_empty +query I +SELECT json_serialize_plan('SELECT *, 1 + 2 FROM tbl1', skip_null := true, skip_empty := true); +---- +{"error":false,"plans":[{"type":"LOGICAL_PROJECTION","children":[{"type":"LOGICAL_GET","table_index":0,"returned_types":[{"id":"INTEGER"}],"names":["i"],"column_ids":[0],"name":"seq_scan","has_serialize":true,"function_data":{"catalog":"memory","schema":"main","table":"tbl1","is_index_scan":false,"is_create_index":false}}],"table_index":1,"expressions":[{"expression_class":"BOUND_REF","type":"BOUND_REF","alias":"i","return_type":{"id":"INTEGER"},"index":0},{"expression_class":"BOUND_FUNCTION","type":"BOUND_FUNCTION","return_type":{"id":"INTEGER"},"children":[{"expression_class":"BOUND_CONSTANT","type":"VALUE_CONSTANT","value":{"type":{"id":"INTEGER"},"is_null":false,"value":1}},{"expression_class":"BOUND_CONSTANT","type":"VALUE_CONSTANT","value":{"type":{"id":"INTEGER"},"is_null":false,"value":2}}],"name":"+","arguments":[{"id":"INTEGER"},{"id":"INTEGER"}],"has_serialize":false,"is_operator":true}]}]} + +# Example with skip_null and skip_empty and optimize +query I +SELECT json_serialize_plan('SELECT *, 1 + 2 FROM tbl1', skip_null := true, skip_empty := true, optimize := true); +---- +{"error":false,"plans":[{"type":"LOGICAL_PROJECTION","children":[{"type":"LOGICAL_GET","table_index":0,"returned_types":[{"id":"INTEGER"}],"names":["i"],"column_ids":[0],"projection_ids":[0],"name":"seq_scan","has_serialize":true,"function_data":{"catalog":"memory","schema":"main","table":"tbl1","is_index_scan":false,"is_create_index":false}}],"table_index":1,"expressions":[{"expression_class":"BOUND_REF","type":"BOUND_REF","alias":"i","return_type":{"id":"INTEGER"},"index":0},{"expression_class":"BOUND_CONSTANT","type":"VALUE_CONSTANT","value":{"type":{"id":"INTEGER"},"is_null":false,"value":3}}]}]} + +# Example with syntax error +query I +SELECT json_serialize_plan('SELECT AND LAUNCH ROCKETS WHERE 1 = 1'); +---- +:.*syntax error at or near.* + +# Example with binding error +# The binding error message "did you mean table xyz" is not deterministic, so use a LIKE here. +query I +SELECT json_serialize_plan('SELECT * FROM nonexistent_table') LIKE '%Table with name nonexistent_table does not exist%'; +---- +true diff --git a/test/sql/json/test_serialize_sql.test b/test/sql/json/test_json_serialize_sql.test similarity index 55% rename from test/sql/json/test_serialize_sql.test rename to test/sql/json/test_json_serialize_sql.test index a6ae61fe5191..d870c0c34c80 100644 --- a/test/sql/json/test_serialize_sql.test +++ b/test/sql/json/test_json_serialize_sql.test @@ -1,31 +1,25 @@ -# name: test/sql/json/test_serialize_sql.test +# name: test/sql/json/test_json_serialize_sql.test # group: [json] require json # Example with simple query -query I +statement ok SELECT json_serialize_sql('SELECT 1 + 2 FROM tbl1'); ----- -{"error":false,"statements":[{"node":{"type":"SELECT_NODE","modifiers":[],"cte_map":{"map":[]},"select_list":[{"class":"FUNCTION","type":"FUNCTION","alias":"","function_name":"+","schema":"","children":[{"class":"CONSTANT","type":"VALUE_CONSTANT","alias":"","value":{"type":{"id":"INTEGER","type_info":null},"is_null":false,"value":1}},{"class":"CONSTANT","type":"VALUE_CONSTANT","alias":"","value":{"type":{"id":"INTEGER","type_info":null},"is_null":false,"value":2}}],"filter":null,"order_bys":{"type":"ORDER_MODIFIER","orders":[]},"distinct":false,"is_operator":true,"export_state":false,"catalog":""}],"from_table":{"type":"BASE_TABLE","alias":"","sample":null,"schema_name":"","table_name":"tbl1","column_name_alias":[],"catalog_name":""},"where_clause":null,"group_expressions":[],"group_sets":[],"aggregate_handling":"STANDARD_HANDLING","having":null,"sample":null,"qualify":null}}]} # Example with skip_null and skip_empty -query I +statement ok SELECT json_serialize_sql('SELECT *, 1 + 2 FROM tbl1', skip_null := true, skip_empty := true); ----- -{"error":false,"statements":[{"node":{"type":"SELECT_NODE","select_list":[{"class":"STAR","type":"STAR","columns":false},{"class":"FUNCTION","type":"FUNCTION","function_name":"+","children":[{"class":"CONSTANT","type":"VALUE_CONSTANT","value":{"type":{"id":"INTEGER"},"is_null":false,"value":1}},{"class":"CONSTANT","type":"VALUE_CONSTANT","value":{"type":{"id":"INTEGER"},"is_null":false,"value":2}}],"order_bys":{"type":"ORDER_MODIFIER"},"distinct":false,"is_operator":true,"export_state":false}],"from_table":{"type":"BASE_TABLE","table_name":"tbl1"},"aggregate_handling":"STANDARD_HANDLING"}}]} # Example with subquery -query I +statement ok SELECT json_serialize_sql('SELECT * FROM (SELECT 1 + 2)', skip_null := true, skip_empty := true); ----- -{"error":false,"statements":[{"node":{"type":"SELECT_NODE","select_list":[{"class":"STAR","type":"STAR","columns":false}],"from_table":{"type":"SUBQUERY","subquery":{"node":{"type":"SELECT_NODE","select_list":[{"class":"FUNCTION","type":"FUNCTION","function_name":"+","children":[{"class":"CONSTANT","type":"VALUE_CONSTANT","value":{"type":{"id":"INTEGER"},"is_null":false,"value":1}},{"class":"CONSTANT","type":"VALUE_CONSTANT","value":{"type":{"id":"INTEGER"},"is_null":false,"value":2}}],"order_bys":{"type":"ORDER_MODIFIER"},"distinct":false,"is_operator":true,"export_state":false}],"from_table":{"type":"EMPTY"},"aggregate_handling":"STANDARD_HANDLING"}}},"aggregate_handling":"STANDARD_HANDLING"}}]} # Example with syntax error query I SELECT json_serialize_sql('SELECT AND LAUNCH ROCKETS WHERE 1 = 1'); ---- -{"error":true,"error_type":"parser","error_message":"syntax error at or near \"AND\"\nLINE 1: SELECT AND LAUNCH ROCKETS WHERE 1 = 1\n ^"} +:.*syntax error at or near.* # Test Deserialize query I @@ -88,7 +82,7 @@ PRAGMA json_execute_serialized_sql( statement error SELECT * FROM json_execute_serialized_sql(json_serialize_sql('SELECT * FROM tbl2', skip_null := true, skip_empty := true)); ---- -Parser Error: Expected but did not find property 'cte_map' in json object: '{"type":"SELECT_NODE","select_list":[{"class":"STAR","type":"STAR","columns":false}],"from_table":{"type":"BASE_TABLE","table_name":"tbl2"},"aggregate_handling":"STANDARD_HANDLING"}' +Parser Error: Expected but did not find property 'cte_map' in json object # Test execute json serialized sql with multiple nested type tags diff --git a/test/sql/keywords/escaped_quotes_expressions.test b/test/sql/keywords/escaped_quotes_expressions.test index 516fce179f8f..186f8e03abb8 100644 --- a/test/sql/keywords/escaped_quotes_expressions.test +++ b/test/sql/keywords/escaped_quotes_expressions.test @@ -71,4 +71,4 @@ SELECT (("SCH""EMA"."TA""BLE"."COL""UMN")."SO""ME")."I""N" FROM "SCH""EMA"."TA"" query I SELECT "SCH""EMA"."TA""BLE"."COL""UMN"['SO"ME']['I"N'] FROM "SCH""EMA"."TA""BLE"; ---- -3 \ No newline at end of file +3 diff --git a/test/sql/keywords/keywords_in_expressions.test b/test/sql/keywords/keywords_in_expressions.test index 494104dad067..aff637e767f4 100644 --- a/test/sql/keywords/keywords_in_expressions.test +++ b/test/sql/keywords/keywords_in_expressions.test @@ -13,9 +13,11 @@ CREATE SCHEMA "SCHEMA"; statement error CREATE TYPE "ENUM" AS ENUM('ALL'); +---- statement error CREATE TABLE "SCHEMA"."TABLE"("COLUMN" "ENUM"); +---- statement ok CREATE TYPE E AS ENUM('ALL'); @@ -77,4 +79,4 @@ SELECT (("SCHEMA"."TABLE"."COLUMN")."SOME")."IN" FROM "SCHEMA"."TABLE"; query I SELECT "SCHEMA"."TABLE"."COLUMN"['SOME']['IN'] FROM "SCHEMA"."TABLE"; ---- -3 \ No newline at end of file +3 diff --git a/test/sql/optimizer/expression/test_date_subtract_filter.test b/test/sql/optimizer/expression/test_date_subtract_filter.test new file mode 100644 index 000000000000..1a28e412af84 --- /dev/null +++ b/test/sql/optimizer/expression/test_date_subtract_filter.test @@ -0,0 +1,20 @@ +# name: test/sql/optimizer/expression/test_date_subtract_filter.test +# description: Issue #9863 - query involving a subtraction between dates and a comparison +# group: [expression] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE dates(lo_commitdate DATE); + +statement ok +INSERT INTO dates VALUES (DATE '1992-02-10'); + +query I +SELECT CAST('2020-02-20' AS date) - CAST(min("ta_1"."lo_commitdate") AS date) AS "ca_1" +FROM dates AS "ta_1" +HAVING CAST('2020-02-20' AS date) - CAST(min("ta_1"."lo_commitdate") AS date) > 4 +ORDER BY "ca_1" ASC; +---- +10237 diff --git a/test/sql/optimizer/expression/test_move_constants.test b/test/sql/optimizer/expression/test_move_constants.test index 172a088a986f..586f2f548e76 100644 --- a/test/sql/optimizer/expression/test_move_constants.test +++ b/test/sql/optimizer/expression/test_move_constants.test @@ -8,7 +8,7 @@ PRAGMA enable_verification # move constants with signed value extremes # tinyint -foreach type,min,max tinyint,-128,127 smallint,-32768,32767 integer,-2147483648,2147483647 bigint,-9223372036854775808,9223372036854775807 hugeint,-170141183460469231731687303715884105727,170141183460469231731687303715884105727 +foreach type,min,max tinyint,-128,127 smallint,-32768,32767 integer,-2147483648,2147483647 bigint,-9223372036854775808,9223372036854775807 hugeint,-170141183460469231731687303715884105728,170141183460469231731687303715884105727 statement ok CREATE OR REPLACE TABLE vals(v ${type}); @@ -64,6 +64,10 @@ query I SELECT * FROM vals WHERE v*(-1)::${type}=(${min})::${type}; ---- +query I +SELECT * FROM vals WHERE v*(-2)::${type}=(${min})::${type}; +---- + endloop # move constants with unsigned values diff --git a/test/sql/optimizer/expression/test_negation_limits.test b/test/sql/optimizer/expression/test_negation_limits.test index 9a77ed82810d..a75e25c299cb 100644 --- a/test/sql/optimizer/expression/test_negation_limits.test +++ b/test/sql/optimizer/expression/test_negation_limits.test @@ -17,6 +17,7 @@ INSERT INTO vals VALUES (0, ${min}), (1, ${max}), (2, 0), (3, -2), (4, 2); # cannot negate the min value statement error SELECT -v FROM vals; +---- # we can negate the maximum value statement ok diff --git a/test/sql/optimizer/test_in_rewrite_rule.test b/test/sql/optimizer/test_in_rewrite_rule.test index 676f58a5bf27..18a79b9265e8 100644 --- a/test/sql/optimizer/test_in_rewrite_rule.test +++ b/test/sql/optimizer/test_in_rewrite_rule.test @@ -19,7 +19,7 @@ select * from t where i in ('1','2','y'); 2 query T -SELECT x::VARCHAR IN ('1', y) FROM (VALUES (1, 2), (2, 3)) tbl(x, y); +SELECT x::VARCHAR IN ('1', y::VARCHAR) FROM (VALUES (1, 2), (2, 3)) tbl(x, y); ---- 1 0 @@ -28,4 +28,4 @@ query T SELECT x::BIGINT IN (1::BIGINT, y) FROM (VALUES (1::INTEGER, 2::BIGINT), (2::INTEGER, 3::BIGINT)) tbl(x, y); ---- 1 -0 \ No newline at end of file +0 diff --git a/test/sql/order/hugeint_order_by_extremes.test b/test/sql/order/hugeint_order_by_extremes.test index 8d207cd5a5c5..2fa727f90158 100644 --- a/test/sql/order/hugeint_order_by_extremes.test +++ b/test/sql/order/hugeint_order_by_extremes.test @@ -9,12 +9,12 @@ statement ok CREATE TABLE test (a hugeint); statement ok -INSERT INTO test values (-170141183460469231731687303715884105727::hugeint), (-1111::hugeint), (-1::hugeint), (0::hugeint), (1::hugeint), (1111::hugeint); +INSERT INTO test values ((-170141183460469231731687303715884105728)::hugeint), (-1111::hugeint), (-1::hugeint), (0::hugeint), (1::hugeint), (1111::hugeint); query I SELECT * FROM test order by a; ---- --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 -1111 -1 0 @@ -29,4 +29,4 @@ SELECT * FROM test order by a DESC; 0 -1 -1111 --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 diff --git a/test/sql/order/limit_full_outer_join.test b/test/sql/order/limit_full_outer_join.test index cf3bc4abcd4c..91056d431e43 100644 --- a/test/sql/order/limit_full_outer_join.test +++ b/test/sql/order/limit_full_outer_join.test @@ -18,7 +18,7 @@ statement ok INSERT INTO integers2 VALUES (1, 10), (2, 20) query IIII -SELECT i, j, k, l FROM integers FULL OUTER JOIN integers2 ON integers.i=integers2.k LIMIT 2 +SELECT i, j, k, l FROM integers FULL OUTER JOIN integers2 ON integers.i=integers2.k ORDER BY ALL LIMIT 2 ---- 1 1 1 10 3 3 NULL NULL diff --git a/test/sql/order/negative_offset.test b/test/sql/order/negative_offset.test index 606626ef114a..aebc8bb35848 100644 --- a/test/sql/order/negative_offset.test +++ b/test/sql/order/negative_offset.test @@ -7,18 +7,23 @@ PRAGMA enable_verification statement error SELECT * FROM generate_series(0,10,1) LIMIT 3 OFFSET -1; +---- statement error SELECT * FROM generate_series(0,10,1) LIMIT -3; +---- statement error SELECT * FROM generate_series(0,10,1) LIMIT -1% +---- statement ok CREATE TABLE integers AS SELECT -1 k statement error SELECT * FROM generate_series(0,10,1) LIMIT (SELECT k FROM integers); +---- statement error SELECT * FROM generate_series(0,10,1) LIMIT 1 OFFSET (SELECT k FROM integers); +---- diff --git a/test/sql/order/test_limit.test b/test/sql/order/test_limit.test index 9e63abbc99b0..c916c9e1a2a0 100644 --- a/test/sql/order/test_limit.test +++ b/test/sql/order/test_limit.test @@ -34,18 +34,22 @@ SELECT a FROM test LIMIT 2-1 # LIMIT with non-scalar should fail statement error SELECT a FROM test LIMIT a +---- # LIMIT with non-scalar operation should also fail statement error SELECT a FROM test LIMIT a+1 +---- # aggregate in limit statement error SELECT a FROM test LIMIT SUM(42) +---- # window function in limit statement error SELECT a FROM test LIMIT row_number() OVER () +---- # LIMIT Bug #321 Crazy Result statement ok @@ -65,6 +69,7 @@ Hello World # can only limit by integers statement error select 1 limit date '1992-01-01'; +---- # Test limits with no constants @@ -180,10 +185,12 @@ SELECT * FROM integers as int LIMIT (SELECT NULL) #Subqueries that return negative values statement error SELECT * FROM integers as int LIMIT (SELECT -1); +---- #Subqueries that return strings that can't be converted to integers statement error SELECT * FROM integers as int LIMIT (SELECT 'ab'); +---- # Test use subquery in limit and offset statement ok @@ -262,10 +269,12 @@ SELECT * FROM t ORDER BY x LIMIT (SELECT 3) OFFSET 3; # negeive number in the limit statement error SELECT * FROM t ORDER BY x LIMIT (SELECT -1); +---- # negeive number in the offset statement error SELECT * FROM t ORDER BY x OFFSET (SELECT -1); +---- statement ok create table t0(c0 int); @@ -277,4 +286,4 @@ insert into t0 values (1), (2), (3), (4), (5), (6), (7); query I SELECT * FROM t0 ORDER BY ALL OFFSET (SELECT DISTINCT 6.5 FROM (SELECT 1) t1(c0) UNION ALL SELECT 3); ---- -7 \ No newline at end of file +7 diff --git a/test/sql/order/test_limit_parameter.test b/test/sql/order/test_limit_parameter.test index a599e28f9297..b43f0b7936fb 100644 --- a/test/sql/order/test_limit_parameter.test +++ b/test/sql/order/test_limit_parameter.test @@ -9,6 +9,7 @@ PRAGMA enable_verification statement error SELECT 'Test' LIMIT ? +---- statement ok PREPARE v1 AS SELECT 'Test' LIMIT ? @@ -143,6 +144,7 @@ EXECUTE v7(9223372036854775807, NULL) statement error EXECUTE v7(NULL, 922337203685477580700) +---- query I EXECUTE v7(NULL, 4611686018427387904) diff --git a/test/sql/order/test_limit_percent.test b/test/sql/order/test_limit_percent.test index f7272ee7ed55..f55e6513d690 100644 --- a/test/sql/order/test_limit_percent.test +++ b/test/sql/order/test_limit_percent.test @@ -68,20 +68,25 @@ SELECT a FROM test LIMIT (30-10) % # LIMIT with non-scalar should fail statement error SELECT a FROM test LIMIT a % +---- # LIMIT with non-scalar operation should also fail statement error SELECT a FROM test LIMIT (a+1) % +---- statement error SELECT a FROM test LIMIT (a+b*c) % +---- statement error SELECT a FROM test LIMIT (a+b*c) % +---- # aggregate in limit percent statement error SELECT a FROM test LIMIT SUM(42) % +---- # non-foldable expression in limit percent statement ok @@ -149,17 +154,21 @@ SELECT b FROM test LIMIT 0% #Subqueries that return negative values statement error SELECT * FROM range(100) LIMIT -10 %; +---- #Subqueries that return strings that can't be converted to integers statement error SELECT * FROM test LIMIT (SELECT 'ab') % +---- # can only limit % by integers statement error select 1 limit date '2021-11-25' %; +---- statement error select * from test limit "Hello World" %; +---- #LIMIT % with strings statement ok diff --git a/test/sql/order/test_nulls_first.test b/test/sql/order/test_nulls_first.test index 7f1a0ae91ce7..5c549b725133 100644 --- a/test/sql/order/test_nulls_first.test +++ b/test/sql/order/test_nulls_first.test @@ -118,13 +118,17 @@ PRAGMA default_null_order='NULLS FIRST' statement error PRAGMA default_null_order()) +---- statement error PRAGMA default_null_order='UNKNOWN' +---- statement error PRAGMA default_null_order=UNKNOWN) +---- statement error PRAGMA default_null_order=3) +---- diff --git a/test/sql/order/test_order_by.test b/test/sql/order/test_order_by.test index 6bc016c2dc56..f7dd22f8408c 100644 --- a/test/sql/order/test_order_by.test +++ b/test/sql/order/test_order_by.test @@ -159,6 +159,7 @@ SELECT a-10 AS k FROM test UNION SELECT a-10 AS l FROM test ORDER BY l; # computations with aliases are not allowed though statement error SELECT a-10 AS k FROM test UNION SELECT a-10 AS l FROM test ORDER BY 1-k; +---- # but ordering on computation elements should work query I @@ -175,4 +176,3 @@ SELECT a-10 AS k FROM test UNION SELECT a-11 AS l FROM test ORDER BY a-11; 1 2 3 - diff --git a/test/sql/order/test_order_by_exceptions.test b/test/sql/order/test_order_by_exceptions.test index e6101cb9d084..c9bb4344d149 100644 --- a/test/sql/order/test_order_by_exceptions.test +++ b/test/sql/order/test_order_by_exceptions.test @@ -14,6 +14,7 @@ INSERT INTO test VALUES (11, 22), (12, 21), (13, 22); # ORDER BY index out of range statement error SELECT a FROM test ORDER BY 2 +---- # ORDER BY constant works, but does nothing # CONTROVERSIAL: works in SQLite but not in Postgres @@ -24,11 +25,13 @@ SELECT a FROM test ORDER BY 'hello', a 12 13 -# ambiguous reference in union alias -statement error +query II SELECT a AS k, b FROM test UNION SELECT a, b AS k FROM test ORDER BY k +---- +11 22 +12 21 +13 22 -# but works if not ambiguous query II SELECT a AS k, b FROM test UNION SELECT a AS k, b FROM test ORDER BY k ---- @@ -39,6 +42,7 @@ SELECT a AS k, b FROM test UNION SELECT a AS k, b FROM test ORDER BY k # ambiguous reference in union parameter statement error SELECT a % 2, b FROM test UNION SELECT b, a % 2 AS k ORDER BY a % 2 +---- # but works if not ambiguous query II @@ -50,11 +54,14 @@ SELECT a % 2, b FROM test UNION SELECT a % 2 AS k, b FROM test ORDER BY a % 2 # out of range order also happens for unions statement error SELECT a % 2, b FROM test UNION SELECT a % 2 AS k, b FROM test ORDER BY 3 +---- statement error SELECT a % 2, b FROM test UNION SELECT a % 2 AS k, b FROM test ORDER BY -1 +---- # and union itself fails if amount of entries is wrong statement error SELECT a % 2, b FROM test UNION SELECT a % 2 AS k FROM test ORDER BY -1 +---- diff --git a/test/sql/order/test_order_pragma.test b/test/sql/order/test_order_pragma.test index baacf65906d8..063d9e10ea96 100644 --- a/test/sql/order/test_order_pragma.test +++ b/test/sql/order/test_order_pragma.test @@ -35,13 +35,17 @@ PRAGMA default_order='ASC' statement error PRAGMA default_order()) +---- statement error PRAGMA default_order='UNKNOWN' +---- statement error PRAGMA default_order=UNKNOWN) +---- statement error PRAGMA default_order=3) +---- diff --git a/test/sql/order/test_order_range_mapping.test b/test/sql/order/test_order_range_mapping.test index 96241f3dd1b2..56d1a76f1a2a 100644 --- a/test/sql/order/test_order_range_mapping.test +++ b/test/sql/order/test_order_range_mapping.test @@ -28,7 +28,7 @@ drop table test endloop # cast to usmallint -foreach type smallint usmallint integer uinteger bigint ubigint hugeint +foreach type smallint usmallint integer uinteger bigint ubigint hugeint uhugeint statement ok create table test (i ${type}) @@ -50,7 +50,7 @@ drop table test endloop # cast to uint -foreach type integer uinteger bigint ubigint hugeint +foreach type integer uinteger bigint ubigint hugeint uhugeint statement ok create table test (i ${type}) @@ -72,7 +72,7 @@ drop table test endloop # cast to ubigint -foreach type bigint ubigint hugeint +foreach type bigint ubigint hugeint uhugeint statement ok create table test (i ${type}) diff --git a/test/sql/order/test_order_unnest.test b/test/sql/order/test_order_unnest.test new file mode 100644 index 000000000000..40c993a4b93a --- /dev/null +++ b/test/sql/order/test_order_unnest.test @@ -0,0 +1,53 @@ +# name: test/sql/order/test_order_unnest.test +# description: Test ORDER BY keyword with unnesting structs +# group: [order] + +# issue #9433 + +statement ok +CREATE TABLE tbl_structs AS SELECT + {'a': 2.0, 'b': 'hello', 'c': [1, 2]} AS s1, + 1::BIGINT AS i, + {'k': 1::TINYINT, 'j': 0::BOOL} AS s2; + +statement ok +INSERT INTO tbl_structs VALUES ( + {'a': 1.0, 'b': 'yay', 'c': [10, 20]}, + 42, + {'k': 2, 'j': 1}); + +query IIII +SELECT UNNEST(s1), s1.a AS id FROM tbl_structs ORDER BY id; +---- +1.0 yay [10, 20] 1.0 +2.0 hello [1, 2] 2.0 + +query II +SELECT s1, s1.a FROM tbl_structs ORDER BY 1; +---- +{'a': 1.0, 'b': yay, 'c': [10, 20]} 1.0 +{'a': 2.0, 'b': hello, 'c': [1, 2]} 2.0 + +query IIII +SELECT UNNEST(s1), s1.a AS id FROM tbl_structs ORDER BY 1; +---- +1.0 yay [10, 20] 1.0 +2.0 hello [1, 2] 2.0 + +query IIIIII +SELECT UNNEST(s1), UNNEST(s2), i FROM tbl_structs ORDER BY i; +---- +2.0 hello [1, 2] 1 False 1 +1.0 yay [10, 20] 2 True 42 + +query IIIIII +SELECT UNNEST(s1), UNNEST(s2), i FROM tbl_structs ORDER BY 2 DESC; +---- +1.0 yay [10, 20] 2 True 42 +2.0 hello [1, 2] 1 False 1 + +query IIIIII +SELECT i, UNNEST(s1), UNNEST(s2) FROM tbl_structs ORDER BY 5 DESC; +---- +42 1.0 yay [10, 20] 2 True +1 2.0 hello [1, 2] 1 False diff --git a/test/sql/overflow/expression_tree_depth.test b/test/sql/overflow/expression_tree_depth.test index 7f06b9e117c3..71c2d7497a17 100644 --- a/test/sql/overflow/expression_tree_depth.test +++ b/test/sql/overflow/expression_tree_depth.test @@ -14,3 +14,4 @@ SET max_expression_depth=250 # expression tree depth limit exceeded statement error SELECT x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x + x FROM integers +---- diff --git a/test/sql/parallelism/interquery/concurrent_batch_append_pk.test_slow b/test/sql/parallelism/interquery/concurrent_batch_append_pk.test_slow index c14e5407d5a9..2b4fdfe06827 100644 --- a/test/sql/parallelism/interquery/concurrent_batch_append_pk.test_slow +++ b/test/sql/parallelism/interquery/concurrent_batch_append_pk.test_slow @@ -23,5 +23,6 @@ concurrentloop threadid 0 10 statement error INSERT INTO test VALUES ({${threadid} * 17171) +---- endloop diff --git a/test/sql/parallelism/interquery/test_concurrent_index.cpp b/test/sql/parallelism/interquery/test_concurrent_index.cpp index f9343e7efb7e..2f8b808d2b02 100644 --- a/test/sql/parallelism/interquery/test_concurrent_index.cpp +++ b/test/sql/parallelism/interquery/test_concurrent_index.cpp @@ -10,103 +10,86 @@ using namespace duckdb; using namespace std; -atomic is_finished; +//! Synchronize threads +atomic concurrent_index_finished; #define CONCURRENT_INDEX_THREAD_COUNT 10 #define CONCURRENT_INDEX_INSERT_COUNT 2000 -static void read_from_integers(DuckDB *db, bool *correct, idx_t threadnr) { +static void CreateIntegerTable(Connection *con, int64_t count) { + REQUIRE_NO_FAIL(con->Query("CREATE TABLE integers AS SELECT range AS i FROM range ($1)", count)); +} + +static void CheckConstraintViolation(const string &result_str) { + auto constraint_violation = result_str.find("constraint violation") != string::npos || + result_str.find("constraint violated") != string::npos || + result_str.find("Conflict on tuple deletion") != string::npos; + if (!constraint_violation) { + FAIL(result_str); + } +} + +static void ReadFromIntegers(DuckDB *db, idx_t thread_idx) { + Connection con(*db); - correct[threadnr] = true; - while (!is_finished) { - auto result = con.Query("SELECT i FROM integers WHERE i = " + to_string(threadnr * 10000)); - if (!CHECK_COLUMN(result, 0, {Value::INTEGER(threadnr * 10000)})) { - correct[threadnr] = false; - } + while (!concurrent_index_finished) { + + auto expected_value = to_string(thread_idx * 10000); + auto result = con.Query("SELECT i FROM integers WHERE i = " + expected_value); + REQUIRE_NO_FAIL(*result); + REQUIRE(CHECK_COLUMN(result, 0, {Value::INTEGER(thread_idx * 10000)})); } } -TEST_CASE("Concurrent reads during index creation", "[interquery][.]") { - duckdb::unique_ptr result; +TEST_CASE("Concurrent reads during index creation", "[index][.]") { + DuckDB db(nullptr); Connection con(db); + REQUIRE_NO_FAIL(con.Query("SET immediate_transaction_mode=true")); - // enable detailed profiling - con.Query("PRAGMA enable_profiling"); - auto detailed_profiling_output = TestCreatePath("detailed_profiling_output"); - con.Query("PRAGMA profiling_output='" + detailed_profiling_output + "'"); - con.Query("PRAGMA profiling_mode = detailed"); - - // create a single table to append to - REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers(i INTEGER)")); - // append a bunch of entries - Appender appender(con, "integers"); - for (idx_t i = 0; i < 1000000; i++) { - appender.BeginRow(); - appender.Append(i); - appender.EndRow(); - } - appender.Close(); + CreateIntegerTable(&con, 1000000); + concurrent_index_finished = false; - is_finished = false; - // now launch a bunch of reading threads - bool correct[CONCURRENT_INDEX_THREAD_COUNT]; + // launch many reading threads thread threads[CONCURRENT_INDEX_THREAD_COUNT]; for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { - threads[i] = thread(read_from_integers, &db, correct, i); + threads[i] = thread(ReadFromIntegers, &db, i); } // create the index REQUIRE_NO_FAIL(con.Query("CREATE INDEX i_index ON integers(i)")); - is_finished = true; + concurrent_index_finished = true; for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { threads[i].join(); - REQUIRE(correct[i]); } - // now test that we can probe the index correctly - result = con.Query("SELECT COUNT(*) FROM integers WHERE i=500000"); + // test that we can probe the index correctly + auto result = con.Query("SELECT COUNT(*) FROM integers WHERE i=500000"); + REQUIRE_NO_FAIL(*result); REQUIRE(CHECK_COLUMN(result, 0, {1})); } -static void append_to_integers(DuckDB *db, idx_t threadnr) { +static void AppendToIntegers(DuckDB *db) { + Connection con(*db); for (idx_t i = 0; i < CONCURRENT_INDEX_INSERT_COUNT; i++) { - auto result = con.Query("INSERT INTO integers VALUES (1)"); - if (result->HasError()) { - FAIL(); - } + REQUIRE_NO_FAIL(con.Query("INSERT INTO integers VALUES (1)")); } } TEST_CASE("Concurrent writes during index creation", "[index][.]") { - duckdb::unique_ptr result; DuckDB db(nullptr); Connection con(db); + REQUIRE_NO_FAIL(con.Query("SET immediate_transaction_mode=true")); - // enable detailed profiling - con.Query("PRAGMA enable_profiling"); - auto detailed_profiling_output = TestCreatePath("detailed_profiling_output"); - con.Query("PRAGMA profiling_output='" + detailed_profiling_output + "'"); - con.Query("PRAGMA profiling_mode = detailed"); - - // create a single table to append to - REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers(i INTEGER)")); - // append a bunch of entries - Appender appender(con, "integers"); - for (idx_t i = 0; i < 1000000; i++) { - appender.BeginRow(); - appender.Append(i); - appender.EndRow(); - } - appender.Close(); + CreateIntegerTable(&con, 1000000); - // now launch a bunch of concurrently writing threads (!) + // launch many concurrently writing threads thread threads[CONCURRENT_INDEX_THREAD_COUNT]; for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { - threads[i] = thread(append_to_integers, &db, i); + threads[i] = thread(AppendToIntegers, &db); } // create the index @@ -116,292 +99,267 @@ TEST_CASE("Concurrent writes during index creation", "[index][.]") { threads[i].join(); } - // first scan the actual base table to verify the count, we avoid using a filter here to prevent the optimizer from - // using an index scan - result = con.Query("SELECT i, COUNT(*) FROM integers GROUP BY i ORDER BY i LIMIT 1 OFFSET 1"); + // first scan the base table to verify the count, we avoid using a filter here to prevent the + // optimizer from using an index scan + auto result = con.Query("SELECT i, COUNT(*) FROM integers GROUP BY i ORDER BY i LIMIT 1 OFFSET 1"); + REQUIRE_NO_FAIL(*result); REQUIRE(CHECK_COLUMN(result, 0, {1})); REQUIRE(CHECK_COLUMN(result, 1, {1 + CONCURRENT_INDEX_THREAD_COUNT * CONCURRENT_INDEX_INSERT_COUNT})); - // now test that we can probe the index correctly too - result = con.Query("SELECT COUNT(*) FROM integers WHERE i=1"); + // test that we can probe the index correctly + result = con.Query("SELECT COUNT(*) FROM integers WHERE i = 1"); + REQUIRE_NO_FAIL(*result); REQUIRE(CHECK_COLUMN(result, 0, {1 + CONCURRENT_INDEX_THREAD_COUNT * CONCURRENT_INDEX_INSERT_COUNT})); } -static void append_to_primary_key(DuckDB *db) { +static void AppendToPK(DuckDB *db) { + Connection con(*db); - for (int32_t i = 0; i < 1000; i++) { - con.Query("INSERT INTO integers VALUES ($1)", i); + for (idx_t i = 0; i < 1000; i++) { + auto result = con.Query("INSERT INTO integers VALUES ($1)", i); + if (result->HasError()) { + CheckConstraintViolation(result->ToString()); + } } } -TEST_CASE("Concurrent inserts into PRIMARY KEY column", "[interquery][.]") { - duckdb::unique_ptr result; +TEST_CASE("Concurrent inserts to PRIMARY KEY", "[index][.]") { + DuckDB db(nullptr); Connection con(db); + REQUIRE_NO_FAIL(con.Query("SET immediate_transaction_mode=true")); - // enable detailed profiling - con.Query("PRAGMA enable_profiling"); - auto detailed_profiling_output = TestCreatePath("detailed_profiling_output"); - con.Query("PRAGMA profiling_output='" + detailed_profiling_output + "'"); - con.Query("PRAGMA profiling_mode = detailed"); - - // create a single table to append to - REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers(i INTEGER PRIMARY KEY)")); + // create a table to append to + REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers (i INTEGER PRIMARY KEY)")); - // now launch a bunch of concurrently writing threads (!) - // each thread will write the numbers 1...1000 + // launch many concurrently writing threads + // each thread writes the numbers 1...1000, possibly causing a constraint violation thread threads[CONCURRENT_INDEX_THREAD_COUNT]; for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { - threads[i] = thread(append_to_primary_key, &db); + threads[i] = thread(AppendToPK, &db); } - for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { threads[i].join(); } - // now test that the counts are correct - result = con.Query("SELECT COUNT(*), COUNT(DISTINCT i) FROM integers"); + // test the result + auto result = con.Query("SELECT COUNT(*), COUNT(DISTINCT i) FROM integers"); + REQUIRE_NO_FAIL(*result); REQUIRE(CHECK_COLUMN(result, 0, {1000})); REQUIRE(CHECK_COLUMN(result, 1, {1000})); } -static void update_to_primary_key(DuckDB *db) { +static void UpdatePK(DuckDB *db) { + Connection con(*db); - for (int32_t i = 0; i < 1000; i++) { - con.Query("UPDATE integers SET i=1000+(i % 100) WHERE i=$1", i); + for (idx_t i = 0; i < 1000; i++) { + auto result = con.Query("UPDATE integers SET i = 1000 + (i % 100) WHERE i = $1", i); + if (result->HasError()) { + CheckConstraintViolation(result->ToString()); + } } } -TEST_CASE("Concurrent updates to PRIMARY KEY column", "[interquery][.]") { - duckdb::unique_ptr result; +TEST_CASE("Concurrent updates to PRIMARY KEY", "[index][.]") { + DuckDB db(nullptr); Connection con(db); + REQUIRE_NO_FAIL(con.Query("SET immediate_transaction_mode=true")); - // enable detailed profiling - con.Query("PRAGMA enable_profiling"); - auto detailed_profiling_output = TestCreatePath("detailed_profiling_output"); - con.Query("PRAGMA profiling_output='" + detailed_profiling_output + "'"); - con.Query("PRAGMA profiling_mode = detailed"); - - // create a single table and insert the values [1...1000] - REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers(i INTEGER PRIMARY KEY)")); - for (int32_t i = 0; i < 1000; i++) { - REQUIRE_NO_FAIL(con.Query("INSERT INTO integers VALUES ($1)", i)); - } + // create a table and insert values [1...1000] + REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers (i INTEGER PRIMARY KEY)")); + REQUIRE_NO_FAIL(con.Query("INSERT INTO integers SELECT range FROM range(1000)")); - // now launch a bunch of concurrently updating threads - // each thread will update individual numbers and set their number one higher + // launch many concurrently updating threads + // each thread updates numbers by incrementing them thread threads[CONCURRENT_INDEX_THREAD_COUNT]; for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { - threads[i] = thread(update_to_primary_key, &db); + threads[i] = thread(UpdatePK, &db); } - for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { threads[i].join(); } - // now test that the counts are correct - result = con.Query("SELECT COUNT(*), COUNT(DISTINCT i) FROM integers"); + // test the result + auto result = con.Query("SELECT COUNT(*), COUNT(DISTINCT i) FROM integers"); + REQUIRE_NO_FAIL(*result); REQUIRE(CHECK_COLUMN(result, 0, {1000})); REQUIRE(CHECK_COLUMN(result, 1, {1000})); } -static void mix_insert_to_primary_key(DuckDB *db, atomic *count, idx_t thread_nr) { - duckdb::unique_ptr result; +static void MixAppendToPK(DuckDB *db, atomic *count) { + Connection con(*db); - for (int32_t i = 0; i < 100; i++) { - result = con.Query("INSERT INTO integers VALUES ($1)", i); + for (idx_t i = 0; i < 100; i++) { + + auto result = con.Query("INSERT INTO integers VALUES ($1)", i); if (!result->HasError()) { (*count)++; + continue; } + + CheckConstraintViolation(result->ToString()); } } -static void mix_update_to_primary_key(DuckDB *db, atomic *count, idx_t thread_nr) { - duckdb::unique_ptr result; - Connection con(*db); +static void MixUpdatePK(DuckDB *db, idx_t thread_idx) { + std::uniform_int_distribution<> distribution(1, 100); std::mt19937 gen; - gen.seed(thread_nr); + gen.seed(thread_idx); - for (int32_t i = 0; i < 100; i++) { - int32_t old_value = distribution(gen); - int32_t new_value = 100 + distribution(gen); + Connection con(*db); + for (idx_t i = 0; i < 100; i++) { + + idx_t old_value = distribution(gen); + idx_t new_value = 100 + distribution(gen); - con.Query("UPDATE integers SET i =" + to_string(new_value) + " WHERE i = " + to_string(old_value)); + auto result = + con.Query("UPDATE integers SET i =" + to_string(new_value) + " WHERE i = " + to_string(old_value)); + if (result->HasError()) { + CheckConstraintViolation(result->ToString()); + } } } -TEST_CASE("Mix of UPDATES and INSERTS on table with PRIMARY KEY constraints", "[interquery][.]") { - duckdb::unique_ptr result; +TEST_CASE("Mix updates and inserts on PRIMARY KEY", "[index][.]") { + DuckDB db(nullptr); Connection con(db); - - // enable detailed profiling - con.Query("PRAGMA enable_profiling"); - auto detailed_profiling_output = TestCreatePath("detailed_profiling_output"); - con.Query("PRAGMA profiling_output='" + detailed_profiling_output + "'"); - con.Query("PRAGMA profiling_mode = detailed"); + REQUIRE_NO_FAIL(con.Query("SET immediate_transaction_mode=true")); atomic atomic_count; atomic_count = 0; - // create a single table + // create a table REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers(i INTEGER PRIMARY KEY)")); - // now launch a bunch of concurrently updating threads - // each thread will update individual numbers and set their number one higher + // launch a mix of updating and appending threads thread threads[CONCURRENT_INDEX_THREAD_COUNT]; for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { - threads[i] = thread(i % 2 == 0 ? mix_insert_to_primary_key : mix_update_to_primary_key, &db, &atomic_count, i); + if (i % 2) { + threads[i] = thread(MixUpdatePK, &db, i); + continue; + } + threads[i] = thread(MixAppendToPK, &db, &atomic_count); } for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { threads[i].join(); } - // now test that the counts are correct - result = con.Query("SELECT COUNT(*), COUNT(DISTINCT i) FROM integers"); + // test the result + auto result = con.Query("SELECT COUNT(*), COUNT(DISTINCT i) FROM integers"); + REQUIRE_NO_FAIL(*result); REQUIRE(CHECK_COLUMN(result, 0, {Value::BIGINT(atomic_count)})); REQUIRE(CHECK_COLUMN(result, 1, {Value::BIGINT(atomic_count)})); } -string append_to_primary_key(Connection &con, idx_t thread_nr) { - duckdb::unique_ptr result; - if (con.Query("BEGIN TRANSACTION")->HasError()) { - return "Failed BEGIN TRANSACTION"; - } - // obtain the initial count - result = con.Query("SELECT COUNT(*) FROM integers WHERE i >= 0"); - if (result->HasError()) { - return "Failed initial query: " + result->GetError(); - } +static void TransactionalAppendToPK(DuckDB *db, idx_t thread_idx) { + + Connection con(*db); + REQUIRE_NO_FAIL(con.Query("BEGIN TRANSACTION")); + + // get the initial count + auto result = con.Query("SELECT COUNT(*) FROM integers WHERE i >= 0"); + REQUIRE_NO_FAIL(*result); + auto chunk = result->Fetch(); auto initial_count = chunk->GetValue(0, 0).GetValue(); - for (int32_t i = 0; i < 50; i++) { - result = con.Query("INSERT INTO integers VALUES ($1)", (int32_t)(thread_nr * 1000 + i)); - if (result->HasError()) { - return "Failed INSERT: " + result->GetError(); - } + + for (idx_t i = 0; i < 50; i++) { + + auto loop_result = con.Query("INSERT INTO integers VALUES ($1)", (int32_t)(thread_idx * 1000 + i)); + REQUIRE_NO_FAIL(*result); + // check the count - result = con.Query("SELECT COUNT(*), COUNT(DISTINCT i) FROM integers WHERE i >= 0"); - if (!CHECK_COLUMN(result, 0, {Value::INTEGER(initial_count + i + 1)})) { - return "Incorrect result for CHECK_COLUMN [" + result->GetError() + "], expected " + - Value::INTEGER(initial_count + i + 1).ToString() + " rows"; - } - } - if (con.Query("COMMIT")->HasError()) { - return "Failed COMMIT"; + loop_result = con.Query("SELECT COUNT(*), COUNT(DISTINCT i) FROM integers WHERE i >= 0"); + REQUIRE(CHECK_COLUMN(loop_result, 0, {Value::INTEGER(initial_count + i + 1)})); } - return ""; + + REQUIRE_NO_FAIL(con.Query("COMMIT")); } -static void append_to_primary_key_with_transaction(DuckDB *db, idx_t thread_nr, bool success[]) { - Connection con(*db); +TEST_CASE("Parallel transactional appends to indexed table", "[index][.]") { - success[thread_nr] = true; - string result = append_to_primary_key(con, thread_nr); - if (!result.empty()) { - fprintf(stderr, "Parallel append failed: %s\n", result.c_str()); - success[thread_nr] = false; - } -} + // FIXME: this test causes a data race in the statistics code + // FIXME: reproducible by running this test with THREADSAN=1 make reldebug -TEST_CASE("Parallel appends to table with index with transactions", "[interquery][.]") { -// FIXME: this test causes a data race in the statistics code -// FIXME: reproducible by running this test with THREADSAN=1 make reldebug #ifndef DUCKDB_THREAD_SANITIZER - duckdb::unique_ptr result; DuckDB db(nullptr); Connection con(db); + REQUIRE_NO_FAIL(con.Query("SET immediate_transaction_mode=true")); - // enable detailed profiling - con.Query("PRAGMA enable_profiling"); - auto detailed_profiling_output = TestCreatePath("detailed_profiling_output"); - con.Query("PRAGMA profiling_output='" + detailed_profiling_output + "'"); - con.Query("PRAGMA profiling_mode = detailed"); - - // create a single table + // create a table REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers(i INTEGER PRIMARY KEY)")); - // now launch a bunch of concurrently inserting threads + // launch many concurrently inserting threads thread threads[CONCURRENT_INDEX_THREAD_COUNT]; - bool success[CONCURRENT_INDEX_THREAD_COUNT]; for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { - threads[i] = thread(append_to_primary_key_with_transaction, &db, i, success); + threads[i] = thread(TransactionalAppendToPK, &db, i); } for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { threads[i].join(); - REQUIRE(success[i]); } - // now test that the counts are correct - result = con.Query("SELECT COUNT(*), COUNT(DISTINCT i) FROM integers"); - REQUIRE(CHECK_COLUMN(result, 0, {Value::BIGINT(CONCURRENT_INDEX_THREAD_COUNT * 50)})); - REQUIRE(CHECK_COLUMN(result, 1, {Value::BIGINT(CONCURRENT_INDEX_THREAD_COUNT * 50)})); + // test that the counts are correct + auto result = con.Query("SELECT COUNT(*), COUNT(DISTINCT i) FROM integers"); + REQUIRE_NO_FAIL(*result); + REQUIRE(CHECK_COLUMN(result, 0, {Value::BIGINT(idx_t(CONCURRENT_INDEX_THREAD_COUNT * 50))})); + REQUIRE(CHECK_COLUMN(result, 1, {Value::BIGINT(idx_t(CONCURRENT_INDEX_THREAD_COUNT * 50))})); #endif } -static void join_integers(Connection *con, bool *index_join_success, idx_t threadnr) { - *index_join_success = true; +static void JoinIntegers(Connection *con) { + for (idx_t i = 0; i < 10; i++) { - auto result = con->Query("SELECT count(*) FROM integers inner join integers_2 on (integers.i = integers_2.i)"); - if (!CHECK_COLUMN(result, 0, {Value::BIGINT(500000)})) { - *index_join_success = false; - } + auto result = con->Query("SELECT count(*) FROM integers INNER JOIN integers_2 ON (integers.i = integers_2.i)"); + REQUIRE_NO_FAIL(*result); + REQUIRE(CHECK_COLUMN(result, 0, {Value::BIGINT(500000)})); } -} -TEST_CASE("Concurrent appends during index join", "[interquery][.]") { + REQUIRE_NO_FAIL(con->Query("COMMIT")); +} - // FIXME: enable again once we find/fixed the cause of the spurious failure - return; +TEST_CASE("Concurrent appends during joins", "[index][.]") { duckdb::unique_ptr result; DuckDB db(nullptr); Connection con(db); + REQUIRE_NO_FAIL(con.Query("SET immediate_transaction_mode=true")); - // enable detailed profiling - con.Query("PRAGMA enable_profiling"); - auto detailed_profiling_output = TestCreatePath("detailed_profiling_output"); - con.Query("PRAGMA profiling_output='" + detailed_profiling_output + "'"); - con.Query("PRAGMA profiling_mode = detailed"); - - //! create join tables to append to - REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers(i INTEGER)")); - REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers_2(i INTEGER)")); - //! append a bunch of entries - Appender appender(con, "integers"); - for (idx_t i = 0; i < 1000000; i++) { - appender.BeginRow(); - appender.Append(i); - appender.EndRow(); - } - appender.Close(); + // create join tables to append to + REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers AS SELECT range AS i FROM range(1000000)")); + REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers_2 AS SELECT range AS i FROM range(500000)")); - Appender appender_2(con, "integers_2"); - for (idx_t i = 0; i < 500000; i++) { - appender_2.BeginRow(); - appender_2.Append(i); - appender_2.EndRow(); - } - appender_2.Close(); - //! create the index + // create the index REQUIRE_NO_FAIL(con.Query("CREATE INDEX i_index ON integers(i)")); - bool index_join_success = true; - Connection index_join_con(db); - index_join_con.Query("BEGIN TRANSACTION"); + // we need to guarantee that this thread starts before the other threads + Connection join_con_1(db); + REQUIRE_NO_FAIL(join_con_1.Query("BEGIN TRANSACTION")); + + Connection join_con_2(db); + REQUIRE_NO_FAIL(con.Query("SET immediate_transaction_mode=true")); + REQUIRE_NO_FAIL(join_con_2.Query("BEGIN TRANSACTION")); thread threads[CONCURRENT_INDEX_THREAD_COUNT]; - threads[0] = thread(join_integers, &index_join_con, &index_join_success, 0); - //! now launch a bunch of concurrently writing threads (!) - for (idx_t i = 1; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { - threads[i] = thread(append_to_integers, &db, i); + + // join the data in join_con_1, which is an uncommitted transaction started + // before appending any data + threads[0] = thread(JoinIntegers, &join_con_1); + + // launch many concurrently writing threads + for (idx_t i = 2; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { + threads[i] = thread(AppendToIntegers, &db); } + + // join the data in join_con_2, which is an uncommitted transaction started + // before appending any data + threads[1] = thread(JoinIntegers, &join_con_2); + for (idx_t i = 0; i < CONCURRENT_INDEX_THREAD_COUNT; i++) { threads[i].join(); } - REQUIRE(index_join_success); } diff --git a/test/sql/parallelism/intraquery/error_in_pipeline.test b/test/sql/parallelism/intraquery/error_in_pipeline.test index 62d8bbcf9cc2..fd27f1f243cf 100644 --- a/test/sql/parallelism/intraquery/error_in_pipeline.test +++ b/test/sql/parallelism/intraquery/error_in_pipeline.test @@ -17,3 +17,4 @@ insert into varchars values ('hello') # we get a conversion error in the pipeline here statement error select (select min(i::int)+tbl.k from varchars) from (values (1), (2), (3)) tbl(k); +---- diff --git a/test/sql/parallelism/intraquery/test_simple_parallelism.test b/test/sql/parallelism/intraquery/test_simple_parallelism.test index 1bf2862df086..a2683051d40e 100644 --- a/test/sql/parallelism/intraquery/test_simple_parallelism.test +++ b/test/sql/parallelism/intraquery/test_simple_parallelism.test @@ -42,6 +42,7 @@ CREATE VIEW v1(i) AS SELECT SUM(i) FROM integers UNION ALL SELECT AVG(i) FROM in # errors in separate pipelines statement error SELECT SUM(i) FROM integers UNION ALL SELECT AVG(i) FROM integers UNION ALL SELECT MIN(i::DATE) FROM integers UNION ALL SELECT MAX(i::DATE) FROM integers; +---- # errors are properly cleared query R sort diff --git a/test/sql/parser/columns_issue9867.test b/test/sql/parser/columns_issue9867.test new file mode 100644 index 000000000000..ee48839fc3b7 --- /dev/null +++ b/test/sql/parser/columns_issue9867.test @@ -0,0 +1,31 @@ +# name: test/sql/parser/columns_issue9867.test +# description: Issue #9867 - COLUMNS(table_name.*) is broken when there are joins +# group: [parser] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE df1 AS + SELECT + UNNEST(['K0', 'K1', 'K2', 'K3', 'K4', 'K5']) AS key, + UNNEST([11, 12, 13, 14, 15, 16]) AS A, + UNNEST([21, 22, 23, 24, 25, 26]) AS B + +statement ok +CREATE TABLE df2 AS + SELECT + UNNEST(['K0', 'K2', 'K5']) AS key, + UNNEST([2, 3, 5]) AS C + +query II +select sin(columns(df1.* exclude (key))) from df1 join df2 using(key) +---- +-0.9999902065507035 0.836655638536056 +0.4201670368266409 -0.8462204041751706 +-0.2879033166650653 0.7625584504796027 + +statement error +select sin(columns(dfxx.* exclude (key))) from df1 join df2 using(key) +---- +Referenced table "dfxx" not found diff --git a/test/sql/parser/digit_separators.test b/test/sql/parser/digit_separators.test new file mode 100644 index 000000000000..d01bf6c3ff9a --- /dev/null +++ b/test/sql/parser/digit_separators.test @@ -0,0 +1,311 @@ +# name: test/sql/parser/digit_separators.test +# group: [parser] + +statement ok +PRAGMA enable_verification + +# Simple parse test +query I +SELECT 1_2 +---- +12 + +# With decimal notation +query I +SELECT 1_2.1_2E1_0 +---- +12.12e10 + +# With string converison +query I +SELECT '1_2.1_2E1_0'::DOUBLE +---- +12.12e10 + +# We cant have multiple underscores, in that case it gets interpreted as the column name +query I +SELECT 1__2 +---- +1 + +query I +SELECT 1_000_000 +---- +1000000 + +query I +SELECT '1000_000_000'::INT +---- +1_000_000_000 + +statement error +SELECT '1000__000__000'::INT +---- +Could not convert string '1000__000__000' to INT32 + +# Cant start with an underscore +statement error +SELECT '_1_2'::INT +---- +Could not convert string '_1_2' to INT32 + + +# Cant end with an underscore +statement error +SELECT '1_2_'::INT +---- +Could not convert string '1_2_' to INT32 + +# Decimals +query I +SELECT 1_2.1_2 +---- +12.12 + +query I +SELECT 12.1_2 +---- +12.12 + +query I +SELECT 1_2.12 +---- +12.12 + +# Cant start with an underscore +statement error +SELECT '_12.12'::DECIMAL(4,2) +---- +Conversion Error: Could not convert string "_12.12" to DECIMAL(4,2) + +statement error +SELECT '12._12'::DECIMAL(4,2) +---- +Conversion Error: Could not convert string "12._12" to DECIMAL(4,2) + +# Cant end with an underscore +statement error +SELECT '12_.12'::DECIMAL(4,2) +---- +Conversion Error: Could not convert string "12_.12" to DECIMAL(4,2) + +statement error +SELECT '12.12_'::DECIMAL(4,2) +---- +Conversion Error: Could not convert string "12.12_" to DECIMAL(4,2) + +# Floats +statement error +SELECT '1__2.1__2'::FLOAT +---- +Conversion Error: Could not convert string '1__2.1__2' to FLOAT + + +query I +SELECT '12.1_2'::FLOAT +---- +12.12 + +query I +SELECT '1_2.12'::FLOAT +---- +12.12 + +query I +SELECT '12.1_2e2'::FLOAT +---- +12.12e2 + +# Cant start with an underscore +statement error +SELECT '_12.12'::FLOAT == 12.12 +---- +Conversion Error: Could not convert string '_12.12' to FLOAT + +statement error +SELECT '12._12'::FLOAT == 12.12 +---- +Conversion Error: Could not convert string '12._12' to FLOAT + +statement error +SELECT '12._12e2'::FLOAT == 12.12e2 +---- +Conversion Error: Could not convert string '12._12e2' to FLOAT + +# Cant end with an underscore +statement error +SELECT '12_.12'::FLOAT == 12.12 +---- +Conversion Error: Could not convert string '12_.12' to FLOAT + +statement error +SELECT '12.12_'::FLOAT == 12.12 +---- +Conversion Error: Could not convert string '12.12_' to FLOAT + +statement error +SELECT '12.12_e2'::FLOAT == 12.12e2 +---- +Conversion Error: Could not convert string '12.12_e2' to FLOAT + +# Large reals > 19 digits +query I +SELECT 1_000_000_000_000_000_000_000::DOUBLE +---- +1e+21 + +query I +SELECT .000_000_000_000_000_000_000_123::DOUBLE +---- +123e-23 + +query I +SELECT 1_000_000_000_000_000_000_000.5::DOUBLE +---- +1000000000000000000000.5 + +query I +SELECT '1_000_000_000.000_000_000_5'::DOUBLE +---- +1000000000.0000000005 + +# Cant start with an underscore +statement error +SELECT '_1_000_000_000_000_000_000_000'::DOUBLE == 1e+21 +---- +Conversion Error: Could not convert string '_1_000_000_000_000_000_000_000' to DOUBLE + +statement error +SELECT '._000_000_000_000_000_000_000_123'::DOUBLE == 123e-23 +---- +Conversion Error: Could not convert string '._000_000_000_000_000_000_000_123' to DOUBLE + +# Cant end with an underscore +statement error +SELECT '1_000_000_000_000_000_000_000_'::DOUBLE == 1e+21 +---- +Conversion Error: Could not convert string '1_000_000_000_000_000_000_000_' to DOUBLE + +statement error +SELECT '.000_000_000_000_000_000_000_123_'::DOUBLE == 123e-23 +---- +Conversion Error: Could not convert string '.000_000_000_000_000_000_000_123_' to DOUBLE + +# Exponents +statement error +select '20e10_'::FLOAT +---- +Conversion Error: Could not convert string '20e10_' to FLOAT + +statement error +select '20e_10'::FLOAT +---- +Conversion Error: Could not convert string '20e_10' to FLOAT + +statement error +select '20e10_'::BIGINT +---- +Conversion Error: Could not convert string '20e10_' to INT64 + +statement error +select '20e_10'::BIGINT +---- +Conversion Error: Could not convert string '20e_10' to INT64 + +query I +SELECT 12e1_0::BIGINT == 12e10::BIGINT +---- +true + +statement error +SELECT '12e10_'::BIGINT == 12e10::BIGINT +---- +Conversion Error: Could not convert string '12e10_' to INT64 + +statement error +SELECT '_12e10::BIGINT' == 12e10::BIGINT +---- +Conversion Error: Could not convert string '_12e10::BIGINT' to INT64 + + +# Binary notation (trailing, leading and duplicate underscores) + +query I +SELECT '0b01_01'::INT +---- +5 + +query I +SELECT '0b0_1_0_1'::INT +---- +5 + +statement error +SELECT '0b0_1_0_1_'::INT +---- +Conversion Error: Could not convert string '0b0_1_0_1_' to INT32 + +statement error +SELECT '0b_0_1_0_1'::INT +---- +Conversion Error: Could not convert string '0b_0_1_0_1' to INT32 + +statement error +SELECT '0b0__1_0_1'::INT +---- +Conversion Error: Could not convert string '0b0__1_0_1' to INT32 + +# Hex notation (trailing, leading and duplicate underscores) + +query I +SELECT '0xFF_FF'::INT; +---- +65535 + +query I +SELECT '0xF_F_F_F'::INT; +---- +65535 + +statement error +SELECT '0x0_F_F_F_'::INT +---- +Conversion Error: Could not convert string '0x0_F_F_F_' to INT32 + +statement error +SELECT '0x_F_F_F'::INT +---- +Conversion Error: Could not convert string '0x_F_F_F' to INT32 + +statement error +SELECT '0x0__F_F_F'::INT +---- +Conversion Error: Could not convert string '0x0__F_F_F' to INT32 + + +# Test decimals keep their width +query IIII +SELECT typeof(10.00), typeof(10.0_0), typeof(1_0.00), typeof(1_0.0_0); +---- +DECIMAL(4,2) DECIMAL(4,2) DECIMAL(4,2) DECIMAL(4,2) + + +query I +select 1_2e1_0::FLOAT +---- +1.2e+11 + +query I +select '1_2e1_0'::FLOAT +---- +1.2e+11 + +query I +select 1_2e1_0::BIGINT +---- +120000000000 + +query I +select '1_2e1_0'::BIGINT +---- +120000000000 \ No newline at end of file diff --git a/test/sql/parser/expression_depth_limit.test b/test/sql/parser/expression_depth_limit.test index 27c9527b96af..3c7a84339af0 100644 --- a/test/sql/parser/expression_depth_limit.test +++ b/test/sql/parser/expression_depth_limit.test @@ -10,6 +10,7 @@ SET max_expression_depth TO 3; statement error SELECT (1+(1+(1+(1+(1+(1+(1+1))))))); +---- statement ok SET max_expression_depth TO 1000; diff --git a/test/sql/parser/function_chaining.test b/test/sql/parser/function_chaining.test index b44a3c539d92..1bbcca3e5f38 100644 --- a/test/sql/parser/function_chaining.test +++ b/test/sql/parser/function_chaining.test @@ -103,9 +103,9 @@ Hello # prepared statements statement ok -PREPARE v1 AS SELECT ?.split(' ').lower() +PREPARE v1 AS SELECT ?.split(' ')[1].lower() query I EXECUTE v1('Hello World') ---- -[hello, world] +hello diff --git a/test/sql/parser/invisible_spaces.test b/test/sql/parser/invisible_spaces.test index 87aa2e11cdd7..c8f6f3d2c041 100644 --- a/test/sql/parser/invisible_spaces.test +++ b/test/sql/parser/invisible_spaces.test @@ -56,6 +56,7 @@ endloop # the query can still fail even after replacing unicode spaces statement error SELEC  +---- # only a unicode space statement ok @@ -63,3 +64,4 @@ statement ok statement error S +---- diff --git a/test/sql/parser/test_columns.test b/test/sql/parser/test_columns.test index c3fa64e4b3f1..2e967ed035a2 100644 --- a/test/sql/parser/test_columns.test +++ b/test/sql/parser/test_columns.test @@ -62,22 +62,27 @@ SELECT id, MIN(COLUMNS('[0-9]')) FROM grouped_table GROUP BY all ORDER BY ALL # regex without matches statement error SELECT id, MIN(COLUMNS('xxx')) FROM grouped_table GROUP BY all +---- # empty regex statement error SELECT MIN(COLUMNS('xxx')) FROM grouped_table +---- # invalid regex statement error SELECT MIN(COLUMNS('[asdadd')) FROM grouped_table +---- # multiple different COLUMNS statements in the same expression are not supported statement error SELECT COLUMNS(*) + COLUMNS(* EXCLUDE(j)) FROM integers +---- # COLUMNS in subquery without FROM clause statement error SELECT (SELECT COLUMNS(*)) FROM integers +---- # COLUMNS in order by clause query III diff --git a/test/sql/parser/test_columns_order.test b/test/sql/parser/test_columns_order.test index 397b87424e70..08552c6468c5 100644 --- a/test/sql/parser/test_columns_order.test +++ b/test/sql/parser/test_columns_order.test @@ -40,7 +40,7 @@ SELECT * FROM tbl ORDER BY COLUMNS('col2') DESC, COLUMNS('col3') ASC 2 100 20 query III -SELECT * FROM tbl ORDER BY COLUMNS(x -> x[-1] IN (2, 3)) +SELECT * FROM tbl ORDER BY COLUMNS(x -> x[-1] IN ('2', '3')) ---- 2 100 20 3 200 0 diff --git a/test/sql/parser/test_long_error.test b/test/sql/parser/test_long_error.test index 01691b8c017c..34cda11a9cc9 100644 --- a/test/sql/parser/test_long_error.test +++ b/test/sql/parser/test_long_error.test @@ -4,6 +4,8 @@ statement error xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +---- statement error SELECT xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +---- diff --git a/test/sql/parser/test_value_functions.test b/test/sql/parser/test_value_functions.test index 6d3f44c2d22a..4ad0492d078d 100644 --- a/test/sql/parser/test_value_functions.test +++ b/test/sql/parser/test_value_functions.test @@ -22,6 +22,12 @@ SELECT UsEr ---- duckdb +# Issue #10363 - we also prefer table-as-struct over value functions +query I +SELECT user FROM (VALUES (42)) user(x) +---- +{'x': 42} + # run all SQL value functions # need to run without verification since CURRENT_TIME etc break verification statement ok diff --git a/test/sql/pg_catalog/pg_attribute.test b/test/sql/pg_catalog/pg_attribute.test index 1f6f7b7a3336..2fa107cdbcb4 100644 --- a/test/sql/pg_catalog/pg_attribute.test +++ b/test/sql/pg_catalog/pg_attribute.test @@ -14,4 +14,4 @@ CREATE TABLE integers(i integer) query III select relname, attname, attnum from pg_attribute join pg_class on (pg_attribute.attrelid=pg_class.oid) where relname='integers' and attnum>=0; ---- -integers i 1 \ No newline at end of file +integers i 1 diff --git a/test/sql/pg_catalog/pg_proc.test_slow b/test/sql/pg_catalog/pg_proc.test_slow index bfcea60adff2..78575fa39d69 100644 --- a/test/sql/pg_catalog/pg_proc.test_slow +++ b/test/sql/pg_catalog/pg_proc.test_slow @@ -22,12 +22,22 @@ select distinct proname from pg_proc where proname='sqrt'; ---- sqrt -query IIII -select proisagg, prorettype, proargtypes, proargnames FROM pg_proc WHERE proname='corr'; +query IIIIII +select proisagg, prorettype, proargtypes, proargnames, pronargs, provolatile FROM pg_proc WHERE proname='corr'; ---- -true DOUBLE [DOUBLE, DOUBLE] [y, x] +true DOUBLE [DOUBLE, DOUBLE] [y, x] 2 i query IIII select provariadic, prorettype, proargtypes, proargnames FROM pg_proc WHERE proname='printf'; ---- ANY VARCHAR [VARCHAR] [format] + +query II +SELECT prokind, provolatile FROM pg_proc WHERE proname = 'random' +---- +f v + +query I +SELECT length(prosqlbody) > 0 FROM pg_proc WHERE proname = 'add_default1' +---- +true \ No newline at end of file diff --git a/test/sql/pg_catalog/sqlalchemy.test b/test/sql/pg_catalog/sqlalchemy.test index c1775bd65ff5..8d910cc6589d 100644 --- a/test/sql/pg_catalog/sqlalchemy.test +++ b/test/sql/pg_catalog/sqlalchemy.test @@ -158,7 +158,7 @@ JOIN pg_namespace n ON n.oid = c.relnamespace WHERE n.nspname = 'myschema' AND c.relname = 'v1' AND c.relkind IN ('v', 'm') ---- -CREATE VIEW myschema.v1 ("42") AS SELECT 42; +CREATE VIEW myschema.v1 AS SELECT 42; # get_columns query IIII diff --git a/test/sql/pg_catalog/system_functions.test b/test/sql/pg_catalog/system_functions.test index b92f90d7f7d1..a79122dd37be 100644 --- a/test/sql/pg_catalog/system_functions.test +++ b/test/sql/pg_catalog/system_functions.test @@ -20,6 +20,11 @@ SELECT CURRENT_DATABASE() ---- memory +query I +SELECT pg_catalog.CURRENT_DATABASE() +---- +memory + query I SELECT USER ---- @@ -38,6 +43,11 @@ SELECT current_query(); ---- SELECT current_query(); +query I +SELECT pg_catalog.current_query(); +---- +SELECT pg_catalog.current_query(); + query IIII SELECT 1, 2, 3, current_query(); ---- diff --git a/test/sql/pivot/pivot_6390.test b/test/sql/pivot/pivot_6390.test index 20e59047c07e..893769776ac6 100644 --- a/test/sql/pivot/pivot_6390.test +++ b/test/sql/pivot/pivot_6390.test @@ -206,4 +206,4 @@ FROM ( SELECT 'C3',2010,80 ) pivot CPB on nf using sum(jg) group by cpdh) ----- \ No newline at end of file +---- diff --git a/test/sql/pivot/pivot_in_boolean.test b/test/sql/pivot/pivot_in_boolean.test new file mode 100644 index 000000000000..14ceacc46c5e --- /dev/null +++ b/test/sql/pivot/pivot_in_boolean.test @@ -0,0 +1,50 @@ +# name: test/sql/pivot/pivot_in_boolean.test +# description: Issue #8596 - Pivot with IN clause doesn't work for a boolean column +# group: [pivot] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE Cities(Country VARCHAR, Name VARCHAR, Year INT, Population INT); + +statement ok +INSERT INTO Cities VALUES ('NL', 'Amsterdam', 2000, 1005); + +statement ok +INSERT INTO Cities VALUES ('NL', 'Amsterdam', 2010, 1065); + +statement ok +INSERT INTO Cities VALUES ('NL', 'Amsterdam', 2020, 1158); + +statement ok +INSERT INTO Cities VALUES ('US', 'Seattle', 2000, 564); + +statement ok +INSERT INTO Cities VALUES ('US', 'Seattle', 2010, 608); + +statement ok +INSERT INTO Cities VALUES ('US', 'Seattle', 2020, 738); + +statement ok +INSERT INTO Cities VALUES ('US', 'New York City', 2000, 8015); + +statement ok +INSERT INTO Cities VALUES ('US', 'New York City', 2010, 8175); + +statement ok +INSERT INTO Cities VALUES ('US', 'New York City', 2020, 8772); + +query III rowsort +pivot cities on (Country='NL') using avg(Population) group by name; +---- +Amsterdam NULL 1076.0 +New York City 8320.666666666666 NULL +Seattle 636.6666666666666 NULL + +query III rowsort +pivot cities on (Country='NL') in (false, true) using avg(Population) group by name; +---- +Amsterdam NULL 1076.0 +New York City 8320.666666666666 NULL +Seattle 636.6666666666666 NULL diff --git a/test/sql/pivot/pivot_in_subquery.test b/test/sql/pivot/pivot_in_subquery.test index 1d54a9c76ef1..9dc3519e654c 100644 --- a/test/sql/pivot/pivot_in_subquery.test +++ b/test/sql/pivot/pivot_in_subquery.test @@ -59,4 +59,5 @@ US Seattle 608 564 738 statement error PIVOT Cities ON Year IN (SELECT xx FROM Cities) USING SUM(Population); +---- diff --git a/test/sql/pivot/test_pivot.test b/test/sql/pivot/test_pivot.test index 63603153bc58..3af9a9f5e606 100644 --- a/test/sql/pivot/test_pivot.test +++ b/test/sql/pivot/test_pivot.test @@ -226,6 +226,7 @@ FROM monthly_sales PIVOT(COS(amount) FOR MONTH IN ('JAN', 'FEB', 'MAR', 'APR')) AS p (EMP_ID_renamed, JAN, FEB, MAR, APR) ORDER BY EMP_ID_renamed; +---- # subqueries not allowed statement error @@ -264,6 +265,7 @@ SELECT * PIVOT(SUM(amount) FOR MONTH IN ()) AS p ORDER BY EMPID; +---- # star diff --git a/test/sql/pivot/test_unpivot.test b/test/sql/pivot/test_unpivot.test index f635ff3b3b3f..ec953e5e9165 100644 --- a/test/sql/pivot/test_unpivot.test +++ b/test/sql/pivot/test_unpivot.test @@ -135,29 +135,12 @@ SELECT empid, dept, april, month, sales FROM monthly_sales ---- referenced in UNPIVOT but no matching entry was found in the table -# what if there are no columns left? -query II +# mix of types in pivot +statement error SELECT * FROM monthly_sales UNPIVOT(sales FOR month IN (empid, dept, jan, feb, mar, april)) ---- -empid 1 -dept electronics -Jan 100 -Feb 200 -Mar 300 -April 100 -empid 2 -dept clothes -Jan 100 -Feb 300 -Mar 150 -April 200 -empid 3 -dept cars -Jan 200 -Feb 400 -Mar 100 -April 50 +an explicit cast is required # unpivot over subquery query IIIII @@ -182,12 +165,15 @@ statement error SELECT * FROM monthly_sales UNPIVOT(sales FOR month IN ()) ORDER BY empid; +---- statement error SELECT * FROM monthly_sales UNPIVOT(sales FOR month IN ('')) ORDER BY empid; +---- statement error SELECT * FROM monthly_sales UNPIVOT(SUM(sales) FOR month IN (empid, dept, jan, feb, mar, april)) +---- diff --git a/test/sql/pivot/unpivot_types.test b/test/sql/pivot/unpivot_types.test new file mode 100644 index 000000000000..7d9b70cddc51 --- /dev/null +++ b/test/sql/pivot/unpivot_types.test @@ -0,0 +1,18 @@ +# name: test/sql/pivot/unpivot_types.test +# description: Test return types of UNPIVOT statement +# group: [pivot] + +statement ok +PRAGMA enable_verification + +query II +SELECT column_name, column_type FROM (DESCRIBE unpivot ( select 42) on columns(*)) +---- +name VARCHAR +value INTEGER + +query II +SELECT column_name, column_type FROM (DESCRIBE unpivot ( select {n : 1 }) on columns(*)) +---- +name VARCHAR +value STRUCT(n INTEGER) diff --git a/test/sql/pragma/test_enable_profile.test b/test/sql/pragma/test_enable_profile.test index 2ee2aff21f42..0d57a5f456dd 100644 --- a/test/sql/pragma/test_enable_profile.test +++ b/test/sql/pragma/test_enable_profile.test @@ -5,12 +5,15 @@ # enable profiling cannot be called statement error PRAGMA enable_profiling() +---- statement error PRAGMA enable_profiling='unsupported' +---- statement error PRAGMA profiling_output +---- # select the location of where to save the profiling output (instead of printing to stdout) statement ok diff --git a/test/sql/pragma/test_force_compression.test b/test/sql/pragma/test_force_compression.test index 48a9e946f682..15959482562f 100644 --- a/test/sql/pragma/test_force_compression.test +++ b/test/sql/pragma/test_force_compression.test @@ -11,3 +11,4 @@ endloop statement error PRAGMA force_compression='unknown' +---- diff --git a/test/sql/pragma/test_memory_limit.test b/test/sql/pragma/test_memory_limit.test index 322feb9aad81..baa37da5898a 100644 --- a/test/sql/pragma/test_memory_limit.test +++ b/test/sql/pragma/test_memory_limit.test @@ -96,28 +96,37 @@ PRAGMA memory_limit='0.01 terabytes' # no unit or unknown units fail statement error PRAGMA memory_limit=100 +---- statement error PRAGMA memory_limit='0.01BG' +---- statement error PRAGMA memory_limit='0.01BLA' +---- statement error PRAGMA memory_limit='0.01PP' +---- statement error PRAGMA memory_limit='0.01TEST' +---- # we can't invoke it like this either statement error PRAGMA memory_limit +---- statement error PRAGMA memory_limit() +---- statement error PRAGMA memory_limit(1, 2) +---- statement error PRAGMA memory_limit='blabla' +---- diff --git a/test/sql/pragma/test_pragma_database_list.test b/test/sql/pragma/test_pragma_database_list.test index 16f5bd09e0b3..c9e4283d6f0f 100644 --- a/test/sql/pragma/test_pragma_database_list.test +++ b/test/sql/pragma/test_pragma_database_list.test @@ -18,3 +18,4 @@ memory NULL statement error PRAGMA database_list() +---- diff --git a/test/sql/pragma/test_pragma_enable_index_join.test b/test/sql/pragma/test_pragma_enable_index_join.test deleted file mode 100644 index 3f3fda96a3ab..000000000000 --- a/test/sql/pragma/test_pragma_enable_index_join.test +++ /dev/null @@ -1,9 +0,0 @@ -# name: test/sql/pragma/test_pragma_enable_index_join.test -# description: Test the enable_index_join pragma for code coverage -# group: [pragma] - -statement ok -PRAGMA enable_verification - -statement ok -PRAGMA enable_index_join \ No newline at end of file diff --git a/test/sql/pragma/test_pragma_output.test_slow b/test/sql/pragma/test_pragma_output.test_slow deleted file mode 100644 index f53a3c0f79d7..000000000000 --- a/test/sql/pragma/test_pragma_output.test_slow +++ /dev/null @@ -1,93 +0,0 @@ -# name: test/sql/pragma/test_pragma_output.test_slow -# description: Test last_profiling_output, detailed_profiling_output and all_profiling_output pragma -# group: [pragma] - -#mode skip - -# unclear what goes wrong here otherwise -statement ok -PRAGMA threads=1 - -statement ok -PRAGMA enable_profiling - -statement ok -PRAGMA enable_profiling='json' - -statement ok -PRAGMA enable_profiling='query_tree' - -statement ok -PRAGMA enable_profiling='query_tree_optimizer' - -statement error -PRAGMA enable_profiling='unknown' - -statement ok -PRAGMA profiling_output='__TEST_DIR__/test.json' - -statement ok -PRAGMA profiling_mode = 'standard' - -statement ok -PRAGMA profiling_mode = detailed - -statement error -PRAGMA profiling_mode = 'unknown' - -statement ok -CREATE TABLE tbl AS SELECT (i % 2)::TINYINT i FROM range(1) tbl(i); - -statement ok -SELECT * FROM pragma_last_profiling_output() - -statement ok -SELECT * FROM pragma_detailed_profiling_output() - -statement ok -PRAGMA all_profiling_output - -statement error -PRAGMA profiler_history_size = -1 - -statement ok -PRAGMA profiler_history_size = 5 - -statement ok -SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min(i + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl - -statement ok -PRAGMA all_profiling_output - -statement ok -SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min(i + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl - -statement ok -SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min(i + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl - -statement ok -PRAGMA all_profiling_output - -statement ok -PRAGMA all_profiling_output - -statement ok -SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min(i + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl - -statement ok -SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min(i + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl - -statement ok -SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min(i + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl - -statement ok -SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min(i + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl - -statement ok -SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min(i + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl - -statement ok -SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min((SELECT min(i + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl) + i) FROM tbl - -statement ok -PRAGMA all_profiling_output diff --git a/test/sql/pragma/test_pragma_parsing.test b/test/sql/pragma/test_pragma_parsing.test index a53ff9bbb210..6553ecf20c95 100644 --- a/test/sql/pragma/test_pragma_parsing.test +++ b/test/sql/pragma/test_pragma_parsing.test @@ -5,18 +5,22 @@ # Almost pragma but not quite statement error PRAG +---- # Pragma without a keyword statement error PRAGMA +---- # Unknown pragma error statement error PRAGMA random_unknown_pragma +---- # Call pragma in wrong way statement error PRAGMA table_info = 3 +---- statement ok CREATE TABLE integers(i INTEGER) diff --git a/test/sql/pragma/test_show_tables.test b/test/sql/pragma/test_show_tables.test index 17a2bf825cbe..f8b01c5c1f4d 100644 --- a/test/sql/pragma/test_show_tables.test +++ b/test/sql/pragma/test_show_tables.test @@ -39,6 +39,7 @@ i INTEGER YES UNI NULL NULL # We test that the index can't be described statement error DESCRIBE my_index; +---- # We test that right table is described (from main schema) # column_name | column_type | null | key | default | extra @@ -58,7 +59,7 @@ j VARCHAR YES UNI NULL NULL # equivalent to DESCRIBE t2 # column_name | column_type | null | key | default | extra query TTTITI -PRAGMA SHOW('t2') +PRAGMA "SHOW"('t2') ---- id INTEGER NO PRI NULL NULL j VARCHAR YES UNI NULL NULL @@ -108,7 +109,7 @@ i INTEGER YES NULL NULL NULL # equivalent to PRAGMA SHOW('integers') # column_name | column_type | null | key | default | extra query TTTITI -PRAGMA SHOW('integers') +PRAGMA "SHOW"('integers') ---- i INTEGER YES NULL NULL NULL j INTEGER YES NULL NULL NULL diff --git a/test/sql/pragma/test_storage_info.test b/test/sql/pragma/test_storage_info.test index f1797d239f72..cedb1f2b0554 100644 --- a/test/sql/pragma/test_storage_info.test +++ b/test/sql/pragma/test_storage_info.test @@ -23,10 +23,12 @@ CREATE VIEW v1 AS SELECT 42 statement error PRAGMA storage_info('v1') +---- # non-existent table statement error PRAGMA storage_info('bla') +---- # different types statement ok diff --git a/test/sql/pragma/test_table_info.test b/test/sql/pragma/test_table_info.test index 1218f1dd6661..c25eafc7793a 100644 --- a/test/sql/pragma/test_table_info.test +++ b/test/sql/pragma/test_table_info.test @@ -69,6 +69,7 @@ PRAGMA table_info('test.v1') statement error PRAGMA table_info('nonexistant_table'); +---- # handle constraints + default values statement ok @@ -95,3 +96,16 @@ PRAGMA table_info(tconstraint2) # incorrect number of parameters statement error PRAGMA table_info(1,2,3); +---- + +statement ok +create table t1 ( + c1 int, + c2 int generated always as (c1 + 1) +); + +query IIIIII +SELECT * FROM pragma_table_info(t1); +---- +0 c1 INTEGER false NULL false +1 c2 INTEGER false CAST((c1 + 1) AS INTEGER) false diff --git a/test/sql/pragma/test_various_pragmas.test b/test/sql/pragma/test_various_pragmas.test index e3be53e70aac..b08a49dafc13 100644 --- a/test/sql/pragma/test_various_pragmas.test +++ b/test/sql/pragma/test_various_pragmas.test @@ -19,6 +19,7 @@ PRAGMA explain_output='all' statement error PRAGMA explain_output='unknown' +---- statement ok PRAGMA enable_progress_bar @@ -37,5 +38,6 @@ PRAGMA debug_checkpoint_abort='none' statement error PRAGMA debug_checkpoint_abort='unknown' +---- diff --git a/test/sql/prepared/invalid_prepare.test b/test/sql/prepared/invalid_prepare.test index 88004b61f4d3..63becc7e5826 100644 --- a/test/sql/prepared/invalid_prepare.test +++ b/test/sql/prepared/invalid_prepare.test @@ -5,10 +5,12 @@ # cannot execute a statement with prepared statement parameters statement error select ?; +---- # cannot create a view with prepared statement parameters statement error create view v1 as select ?; +---- # start with a higher index than 1 statement ok @@ -16,6 +18,7 @@ prepare v1 as select $2::int; statement error execute v1(0); +---- # cannot cast from varchar to int statement ok @@ -23,6 +26,7 @@ prepare v2 as select $1::int; statement error execute v2('hello'); +---- statement ok prepare v3 as select $1::int where 1=0; diff --git a/test/sql/prepared/prepare_default_varchar.test b/test/sql/prepared/prepare_default_varchar.test index 5b609b53269c..c4df33466765 100644 --- a/test/sql/prepared/prepare_default_varchar.test +++ b/test/sql/prepared/prepare_default_varchar.test @@ -51,6 +51,7 @@ true statement error EXECUTE v2([[1, 2, 3]], [1, 2, 3]) +---- # unbound parameter in scalar subquery statement ok @@ -139,6 +140,7 @@ time: 27 statement error EXECUTE v7('hello world', [1, 2, 3]) +---- # unbound parameter with lists statement ok diff --git a/test/sql/prepared/prepare_list_functions.test b/test/sql/prepared/prepare_list_functions.test index cbedec09fb6d..369597944851 100644 --- a/test/sql/prepared/prepare_list_functions.test +++ b/test/sql/prepared/prepare_list_functions.test @@ -52,4 +52,4 @@ PREPARE v4 AS SELECT list_extract(?, 2) query I EXECUTE v4([1, 2, 3]); ---- -2 \ No newline at end of file +2 diff --git a/test/sql/prepared/prepare_mixed_types.test b/test/sql/prepared/prepare_mixed_types.test index 9a40c4c4ffe5..7ea86a60fa0e 100644 --- a/test/sql/prepared/prepare_mixed_types.test +++ b/test/sql/prepared/prepare_mixed_types.test @@ -34,6 +34,7 @@ EXECUTE v3(42) statement error EXECUTE v3(-1) +---- # mixed varchar types statement ok @@ -55,12 +56,12 @@ EXECUTE v5(42) # multiple scattered up-casts plus no up-cast possible in the end statement ok -PREPARE v6 AS SELECT $1::INT, $1::BIGINT, $1::TINYINT, $1::UBIGINT, $1::SMALLINT +PREPARE v6 AS SELECT $1::INT, $1::BIGINT, $1::TINYINT, $1::UBIGINT, $1::SMALLINT, $1::UHUGEINT -query IIIII +query IIIIII EXECUTE v6(42) ---- -42 42 42 42 42 +42 42 42 42 42 42 # concat statement ok diff --git a/test/sql/prepared/prepare_summarize.test b/test/sql/prepared/prepare_summarize.test new file mode 100644 index 000000000000..c19b2bb2bdda --- /dev/null +++ b/test/sql/prepared/prepare_summarize.test @@ -0,0 +1,41 @@ +# name: test/sql/prepared/prepare_summarize.test +# description: PREPARE of SUMMARIZE/DESCRIBE +# group: [prepared] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE accounts AS SELECT 1 id, 'Mark' AS name + +# prepare summarize +query I nosort summarize +SUMMARIZE SELECT * FROM accounts WHERE id = 1; + +statement ok +PREPARE query AS SUMMARIZE SELECT * FROM accounts WHERE id = $1; + +query I nosort summarize +EXECUTE query(1); + +statement ok +PREPARE query AS (SUMMARIZE SELECT * FROM accounts WHERE id = $1); + +query I nosort summarize +EXECUTE query(1); + +# prepare describe +query I nosort describe +DESCRIBE SELECT * FROM accounts WHERE id = 1; + +statement ok +PREPARE query AS DESCRIBE SELECT * FROM accounts WHERE id = $1; + +query I nosort describe +EXECUTE query(1); + +statement ok +PREPARE query AS (DESCRIBE SELECT * FROM accounts WHERE id = $1); + +query I nosort describe +EXECUTE query(1); diff --git a/test/sql/prepared/prepare_window_functions.test b/test/sql/prepared/prepare_window_functions.test index ad34e0e13cb3..3256579d83c7 100644 --- a/test/sql/prepared/prepare_window_functions.test +++ b/test/sql/prepared/prepare_window_functions.test @@ -19,4 +19,4 @@ EXECUTE v1(2::HUGEINT) query I EXECUTE v1(0.5) ---- -0.5 \ No newline at end of file +0.5 diff --git a/test/sql/prepared/prepared_named_param.test b/test/sql/prepared/prepared_named_param.test index e6ca0e7ccf29..84d3a48a1300 100644 --- a/test/sql/prepared/prepared_named_param.test +++ b/test/sql/prepared/prepared_named_param.test @@ -24,7 +24,7 @@ Parameter argument/count mismatch, identifiers of the excess parameters: 3 statement error prepare q02 as select $1, $param, $2; ---- +---- Not implemented Error: Mixing named and positional parameters is not supported yet statement error diff --git a/test/sql/prepared/test_basic_prepare.test b/test/sql/prepared/test_basic_prepare.test index b1d649842912..316ca76e4cd5 100644 --- a/test/sql/prepared/test_basic_prepare.test +++ b/test/sql/prepared/test_basic_prepare.test @@ -14,14 +14,17 @@ EXECUTE s1(43, 'asdf') # not enough params statement error EXECUTE s1(43) +---- # too many statement error EXECUTE s1(43, 'asdf', 42) +---- # wrong non-castable types statement error EXECUTE s1('asdf', 'asdf') +---- statement ok DEALLOCATE s1 @@ -33,16 +36,20 @@ DEALLOCATE s2 # now its gone statement error EXECUTE s1(42, 'dpfkg') +---- # prepare a statement that cannot be prepared statement error PREPARE EXPLAIN SELECT 42 +---- statement error PREPARE CREATE TABLE a(i INTEGER) +---- statement error SELECT * FROM a; +---- # type will be resolved to "double" statement ok diff --git a/test/sql/prepared/test_issue_4010.test b/test/sql/prepared/test_issue_4010.test index 05c0395d4e2f..21d88dc0d9b8 100644 --- a/test/sql/prepared/test_issue_4010.test +++ b/test/sql/prepared/test_issue_4010.test @@ -9,4 +9,4 @@ statement ok CREATE table T1(A0 TIMESTAMP, A1 INTEGER, A2 VARCHAR, A3 VARCHAR, A4 INTEGER, A5 DOUBLE) statement ok -PREPARE v1 AS SELECT (SUM(CASE WHEN ((T1.A2 = ($1)::text) AND (T1.A3 = ($1)::text)) THEN T1.A4 ELSE (0)::int END) / ((SUM(CASE WHEN ((T1.A2 = ($1)::text) AND (T1.A3 = ($1)::text)) THEN T1.A4 ELSE (0)::int END) + SUM(CASE WHEN ((T1.A2 = ($2)::text) AND (T1.A3 = ($1)::text)) THEN T1.A4 ELSE (0)::int END)))::float8) AS A00036933 FROM T1 \ No newline at end of file +PREPARE v1 AS SELECT (SUM(CASE WHEN ((T1.A2 = ($1)::text) AND (T1.A3 = ($1)::text)) THEN T1.A4 ELSE (0)::int END) / ((SUM(CASE WHEN ((T1.A2 = ($1)::text) AND (T1.A3 = ($1)::text)) THEN T1.A4 ELSE (0)::int END) + SUM(CASE WHEN ((T1.A2 = ($2)::text) AND (T1.A3 = ($1)::text)) THEN T1.A4 ELSE (0)::int END)))::float8) AS A00036933 FROM T1 diff --git a/test/sql/prepared/test_prepare_ambiguous_type.test b/test/sql/prepared/test_prepare_ambiguous_type.test index 7a9fec11f650..e95473aa2a0d 100644 --- a/test/sql/prepared/test_prepare_ambiguous_type.test +++ b/test/sql/prepared/test_prepare_ambiguous_type.test @@ -79,6 +79,7 @@ PREPARE v5 AS SELECT printf('%s', ?) statement error EXECUTE v5(4) +---- query I EXECUTE v5('hello') @@ -95,6 +96,7 @@ EXECUTE v6(4) statement error EXECUTE v6('hello') +---- # lists and structs statement ok @@ -176,7 +178,7 @@ PREPARE v11 AS SELECT ROW(?, ?) query I EXECUTE v11(11, 'hello') ---- -{'': 11, '': hello} +(11, hello) statement ok PREPARE v12 AS SELECT ? IS NULL @@ -283,6 +285,7 @@ false statement error EXECUTE v18([1]) +---- statement ok PREPARE v19 AS SELECT ARRAY_CONTAINS(?, 1) @@ -294,3 +297,4 @@ true statement error EXECUTE v19(0) +---- diff --git a/test/sql/prepared/test_prepare_drop.test b/test/sql/prepared/test_prepare_drop.test index 18dd96a5657f..7757e11bf949 100644 --- a/test/sql/prepared/test_prepare_drop.test +++ b/test/sql/prepared/test_prepare_drop.test @@ -14,6 +14,7 @@ EXECUTE p1 # only the conn which did the prepare can execute statement error con1 EXECUTE p1 +---- # we can drop the table though statement ok con1 @@ -22,6 +23,7 @@ DROP TABLE a # after dropping the table, the statement fails statement error con2 EXECUTE p1 +---- # but when we take the statement away statement ok con2 diff --git a/test/sql/prepared/test_prepare_error.test b/test/sql/prepared/test_prepare_error.test index 305ae8c84819..c03bc12b4928 100644 --- a/test/sql/prepared/test_prepare_error.test +++ b/test/sql/prepared/test_prepare_error.test @@ -7,6 +7,7 @@ PREPARE v1 AS SELECT ?::VARCHAR::INT statement error EXECUTE v1('hello') +---- query I EXECUTE v1('3') diff --git a/test/sql/prepared/test_prepare_insert.test_slow b/test/sql/prepared/test_prepare_insert.test_slow index 49ec6d750a1a..f412c1cdd29e 100644 --- a/test/sql/prepared/test_prepare_insert.test_slow +++ b/test/sql/prepared/test_prepare_insert.test_slow @@ -20,6 +20,7 @@ SELECT * FROM b statement error EXECUTE s1 (42, 41, 10000) +---- statement ok CREATE TABLE c (i INTEGER) diff --git a/test/sql/prepared/test_prepare_issue_5132.test b/test/sql/prepared/test_prepare_issue_5132.test index 424a0a3510cd..e200ddad3aef 100644 --- a/test/sql/prepared/test_prepare_issue_5132.test +++ b/test/sql/prepared/test_prepare_issue_5132.test @@ -11,4 +11,4 @@ prepare q1 as SELECT cast(? AS VARCHAR) FROM test query T execute q1('oops') ---- -oops \ No newline at end of file +oops diff --git a/test/sql/prepared/test_prepare_issue_8500.test b/test/sql/prepared/test_prepare_issue_8500.test new file mode 100644 index 000000000000..1f77e0649a77 --- /dev/null +++ b/test/sql/prepared/test_prepare_issue_8500.test @@ -0,0 +1,11 @@ +# name: test/sql/prepared/test_prepare_issue_8500.test +# description: Issue #8500 - Prepared statement results in INTERVAL type +# group: [prepared] + +statement ok +PREPARE S1 AS SELECT (? / 1) + 1; + +query I +EXECUTE S1(42) +---- +43 diff --git a/test/sql/prepared/test_prepare_select.test b/test/sql/prepared/test_prepare_select.test index 6cf42f49fc1b..a8f1bd196033 100644 --- a/test/sql/prepared/test_prepare_select.test +++ b/test/sql/prepared/test_prepare_select.test @@ -26,10 +26,12 @@ DEALLOCATE s3 # can't run a query with a param without PREPARE statement error SELECT * FROM a WHERE i=$1 +---- # also can't run a query with a param when casting statement error SELECT * FROM a WHERE i=CAST($1 AS VARCHAR) +---- # issue that swallows an UNKNOWN type, if not explicitly setting the rebind-flag diff --git a/test/sql/progress_bar/test_parquet.test_slow b/test/sql/progress_bar/test_parquet.test_slow index 1c4d83063132..cf5705b96630 100644 --- a/test/sql/progress_bar/test_parquet.test_slow +++ b/test/sql/progress_bar/test_parquet.test_slow @@ -119,4 +119,4 @@ GROUP BY l_linestatus ORDER BY l_returnflag, - l_linestatus; \ No newline at end of file + l_linestatus; diff --git a/test/sql/projection/coalesce_error.test b/test/sql/projection/coalesce_error.test index 07429fbf7803..b39b006657e3 100644 --- a/test/sql/projection/coalesce_error.test +++ b/test/sql/projection/coalesce_error.test @@ -13,6 +13,7 @@ SELECT COALESCE(1, 'hello'::INT) statement error SELECT COALESCE(NULL, 'hello'::INT) +---- # non-constant statement ok @@ -29,4 +30,5 @@ SELECT COALESCE(a, b::INT) FROM vals statement error SELECT COALESCE(NULL, b::INT) FROM vals +---- diff --git a/test/sql/projection/select_star_exclude.test b/test/sql/projection/select_star_exclude.test index 78acf1ec002e..2687bbbbbd1e 100644 --- a/test/sql/projection/select_star_exclude.test +++ b/test/sql/projection/select_star_exclude.test @@ -40,6 +40,7 @@ SELECT * EXCLUDE ("J") FROM integers # no columns remaining... statement error SELECT * EXCLUDE (i, j, k) FROM integers +---- # same but with integers.* query II @@ -64,6 +65,7 @@ SELECT integers.* EXCLUDE (i, j), * EXCLUDE (i, j), * EXCLUDE (i, k) FROM intege statement error SELECT integers.* EXCLUDE (i, j, k) FROM integers +---- # exclude but with multiple tables query II @@ -89,10 +91,13 @@ SELECT * EXCLUDE (i) FROM integers i1 JOIN integers i2 USING (i) # duplicate entry in exclude list statement error SELECT * EXCLUDE (i, i) FROM integers +---- # column name that does not exist statement error SELECT * EXCLUDE (blabla) FROM integers +---- statement error SELECT integers.* EXCLUDE (blabla) FROM integers +---- diff --git a/test/sql/projection/select_star_replace.test b/test/sql/projection/select_star_replace.test index 595e9d1bdd03..edfa366bd57e 100644 --- a/test/sql/projection/select_star_replace.test +++ b/test/sql/projection/select_star_replace.test @@ -34,14 +34,18 @@ SELECT integers.* REPLACE (i+100 AS i) FROM integers # duplicate entry in replace list statement error SELECT * REPLACE (i+100 AS i, i+200 AS i) FROM integers +---- # replace name that does not exist statement error SELECT * REPLACE (i+100 AS blabla) FROM integers +---- statement error SELECT integers.* REPLACE (i+100 AS blabla) FROM integers +---- # column cannot occur in both exclude and replace list statement error SELECT * EXCLUDE (i) REPLACE (i+100 AS i) FROM integers +---- diff --git a/test/sql/projection/select_struct_star.test b/test/sql/projection/select_struct_star.test index a170274f47aa..eb66f8ac973f 100644 --- a/test/sql/projection/select_struct_star.test +++ b/test/sql/projection/select_struct_star.test @@ -43,4 +43,5 @@ CREATE TABLE b(i row(t int)); # Binder Error: Ambiguous reference to column name "i" (use: "b.i" or "a.i") statement error -SELECT i.* FROM a, b; \ No newline at end of file +SELECT i.* FROM a, b; +---- diff --git a/test/sql/projection/test_coalesce.test_slow b/test/sql/projection/test_coalesce.test_slow index 2a0303deb0b6..183256473528 100644 --- a/test/sql/projection/test_coalesce.test_slow +++ b/test/sql/projection/test_coalesce.test_slow @@ -22,6 +22,7 @@ INSERT INTO exprtest VALUES (42, 10), (43, 100), (NULL, 1), (45, 0) # COALESCE statement error SELECT COALESCE() +---- query I SELECT COALESCE(NULL) @@ -250,10 +251,10 @@ CREATE TABLE nestedtypes AS SELECT * FROM ( VALUES (NULL, NULL, NULL, NULL, NULL, NULL), - ([NULL, [NULL, NULL]], NULL, NULL, NULL, NULL, NULL), + ([NULL, [NULL, NULL]]::STRUCT(x INTEGER[])[][], NULL, NULL, NULL, NULL, NULL), (NULL, [[{'x': [3, 4]}], [{'x': [17]}, {'x': [22, NULL]}]], NULL, NULL, NULL, NULL), - (NULL, NULL, [[], [], []], NULL, NULL, NULL), - (NULL, NULL, NULL, [[{'x': NULL}], NULL, [NULL, NULL], []], NULL, NULL), + (NULL, NULL, [[], [], []]::STRUCT(x INTEGER[])[][], NULL, NULL, NULL), + (NULL, NULL, NULL, [[{'x': NULL}], NULL, [NULL, NULL], []]::STRUCT(x INTEGER[])[][], NULL, NULL), (NULL, NULL, NULL, NULL, [[{'x': [10, 12, 13, 14, 15]}], [{'x': [NULL]}, NULL]], NULL), (NULL, NULL, NULL, NULL, NULL, NULL) ) tbl(s1, s2, s3, s4, s5); diff --git a/test/sql/projection/test_row_id.test b/test/sql/projection/test_row_id.test index 801af615101a..eb63c78a9963 100644 --- a/test/sql/projection/test_row_id.test +++ b/test/sql/projection/test_row_id.test @@ -34,10 +34,12 @@ SELECT * FROM a # we can't update rowids statement error UPDATE a SET rowid=5 +---- # we also can't insert with explicit row ids statement error INSERT INTO a (rowid, i) VALUES (5, 6) +---- # we can use rowid as column name statement ok diff --git a/test/sql/projection/test_scalar_projection.test b/test/sql/projection/test_scalar_projection.test index d92c461248f5..ed78a924115c 100644 --- a/test/sql/projection/test_scalar_projection.test +++ b/test/sql/projection/test_scalar_projection.test @@ -48,9 +48,11 @@ SELECT 1 AS a, a * 2 # query without selection list statement error SELECT +---- statement error SELECT FROM (SELECT 42) v1 +---- # Scalar query from SQLLogicTests query I diff --git a/test/sql/projection/test_table_star.test b/test/sql/projection/test_table_star.test index 1f954d9a7281..0e2b92df4900 100644 --- a/test/sql/projection/test_table_star.test +++ b/test/sql/projection/test_table_star.test @@ -34,12 +34,15 @@ SELECT t.* FROM test t statement error SELECT test.* FROM test t +---- statement error SELECT xyz.* FROM test +---- statement error SELECT xyz.* +---- # issue 415 statement ok diff --git a/test/sql/projection/test_value_list.test b/test/sql/projection/test_value_list.test index 017cb62c48fb..4a3800b1948a 100644 --- a/test/sql/projection/test_value_list.test +++ b/test/sql/projection/test_value_list.test @@ -59,12 +59,10 @@ SELECT * FROM (VALUES ((SELECT MIN(a) FROM test), 2, 3), ((SELECT MAX(b) FROM te 4 2 3 # value list with different types -query TI +statement error SELECT * FROM (VALUES ('hello', 2), (1 + 3, '5'), (DATE '1992-09-20', 3)) v1; ---- -hello 2 -4 5 -1992-09-20 3 +an explicit cast is required # value list with NULLs query TI @@ -86,13 +84,22 @@ SELECT * FROM (VALUES (NULL, NULL), (3, 4)) v1; NULL NULL 3 4 -# type is the max type of all input columns query I -SELECT * FROM (VALUES (3), ('hello')) v1; +SELECT * FROM (VALUES (3), ('42')) v1; ---- 3 +42 + +statement error +SELECT * FROM (VALUES (3), ('hello')) v1; +---- hello +query I +SELECT typeof(x) FROM (VALUES (DATE '1992-01-01'), ('1992-01-01')) v1(x) LIMIT 1; +---- +DATE + query I SELECT * FROM (VALUES (NULL), ('hello')) v1; ---- @@ -102,10 +109,12 @@ hello # unbalanced value list is not allowed statement error SELECT * FROM (VALUES (1, 2, 3), (1,2)) v1; +---- # default in value list is not allowed statement error SELECT * FROM (VALUES (DEFAULT, 2, 3), (1,2)) v1; +---- # VALUES list for INSERT statement ok @@ -124,14 +133,18 @@ hello # too many columns provided statement error INSERT INTO varchars VALUES (1, 2), ('hello', 3), (DEFAULT, DEFAULT); +---- statement error INSERT INTO varchars (v) VALUES (1, 2), ('hello', 3), (DEFAULT, DEFAULT); +---- statement error INSERT INTO varchars (v) VALUES (1, 2), ('hello'), (DEFAULT, DEFAULT); +---- # operation on default not allowed statement error INSERT INTO varchars (v) VALUES (DEFAULT IS NULL); +---- diff --git a/test/sql/returning/no_crash_when_no_returning_columns.test b/test/sql/returning/no_crash_when_no_returning_columns.test new file mode 100644 index 000000000000..8c5b1113d9dc --- /dev/null +++ b/test/sql/returning/no_crash_when_no_returning_columns.test @@ -0,0 +1,52 @@ +# name: test/sql/returning/no_crash_when_no_returning_columns.test +# description: Test returning with top level INSERT statement +# group: [returning] + +statement ok +CREATE TABLE v0 ( c1 INT ); + +statement error +INSERT INTO v0 VALUES (1), (2), (3), (4) RETURNING * EXCLUDE c1; +---- +Binder Error + +# make sure nothing was inserted +query I +SELECT * FROM v0; +---- + + +statement ok +INSERT INTO v0 VALUES (1), (2), (3), (4), (0); + + +statement error +DELETE from v0 WHERE c1 = 0 RETURNING * EXCLUDE c1; +---- +Binder Error + +query I +select * from v0 where c1 = 0; +---- +0 + + +statement error +UPDATE v0 SET c1 = 0 WHERE true RETURNING * EXCLUDE c1; +---- +Binder Error + +query I +Select * from v0 order by all; +---- +0 +1 +2 +3 +4 + +# reported issue https://github.com/duckdb/duckdb/issues/10139 +statement error +INSERT INTO v0 BY POSITION ( SELECT TRUE ) OFFSET 1 ROWS RETURNING v0 . * EXCLUDE c1 ; +---- +Binder Error diff --git a/test/sql/returning/returning_delete.test b/test/sql/returning/returning_delete.test index 8b990f2e22af..a8eb67b94d52 100644 --- a/test/sql/returning/returning_delete.test +++ b/test/sql/returning/returning_delete.test @@ -65,6 +65,7 @@ WHERE a>=10 AND a <=13 RETURNING c as aliasc, a as aliasa, b as aliasb; # returning expression with aggregate function at top level is not allowed statement error DELETE FROM table1 WHERE a >= 13 AND a <= 15 RETURNING SUM(a); +---- # update and return combination of values query I @@ -105,8 +106,10 @@ INSERT INTO table2 VALUES (1, 1, 1), (2, 2, 2), (3, 3, 3), (100, 100, 100), (200 statement ok INSERT INTO table3 VALUES (1, 4, 4), (2, 6, 7), (8, 8, 8); +# cannot sort a returning statement so this can fail. +# if it happens again just comment out the test # update using other table (automatic join should happen here) -query III +query III rowsort DELETE FROM table3 WHERE a3 IN ( SELECT a2 from table2 @@ -152,6 +155,7 @@ RETURNING *; # subquery not allowed in returning statement statement error DELETE FROM table1 WHERE a = 14 RETURNING a IN (SELECT a FROM table1); +---- # using case statement @@ -215,7 +219,7 @@ RETURNING {'a': a, 'b': b}; query I DELETE FROM table2 WHERE b=4 -RETURNING [a, b]; +RETURNING [a, b::VARCHAR]; ---- [mysql, 4] diff --git a/test/sql/returning/returning_insert.test b/test/sql/returning/returning_insert.test index 91ba75f4f691..a64136684c76 100644 --- a/test/sql/returning/returning_insert.test +++ b/test/sql/returning/returning_insert.test @@ -93,6 +93,7 @@ INSERT INTO table1 (a, b, c) SELECT * from table1 WHERE a = 100000 and b = 10000 # returning subquery should result in error (test 2). statement error INSERT INTO table1 (a, b, c) VALUES (10, 1000, 1000) RETURNING a IN (SELECT a from table1 where b = -2); +---- # using case statement query I @@ -139,26 +140,32 @@ INSERT INTO table1(a) (SELECT 42) RETURNING a, b; # insert VALUES (scalar) throws error statement error INSERT INTO table1(a) VALUES (SELECT 42) RETURNING a, b, (select 10); +---- # unknown columns statement error INSERT INTO table1 VALUES (1,2,3) RETURNING d, e, f +---- # Top level statement cannot contain a window function in returning statement statement error INSERT INTO table1 SELECT * from table1 RETURNING row_number() OVER (ORDER BY a) as row_number, a, b FROM table1; +---- statement error INSERT INTO table1 VALUES (1, 2, 3) RETURNING [1, 2] IN (SELECT [a, b] from table1); +---- # scalar subquery (should fail since scalar is a subquery) statement error INSERT INTO table1(a, b) VALUES (42, 43) RETURNING (SELECT a), (SELECT b), NULL; +---- # Window function in subquery statement error INSERT INTO table1 VALUES (-10, -20, -30) RETURNING '-10.-20' IN (SELECT group_concat(a) OVER (ORDER BY b) as GC FROM table1); +---- # new table with multiple types diff --git a/test/sql/returning/returning_large.test b/test/sql/returning/returning_large.test index 8b4f114cf6c8..d5d9469e96dd 100644 --- a/test/sql/returning/returning_large.test +++ b/test/sql/returning/returning_large.test @@ -17,4 +17,4 @@ SELECT count(*) FROM table1; query I INSERT INTO table1(a, b, c) SELECT a, b, c FROM table1 RETURNING a; ---- -4000 values hashing to b28a0440a7c3898c88617db0673db740 \ No newline at end of file +4000 values hashing to b28a0440a7c3898c88617db0673db740 diff --git a/test/sql/returning/returning_update.test b/test/sql/returning/returning_update.test index e6602e60c97c..38d933934705 100644 --- a/test/sql/returning/returning_update.test +++ b/test/sql/returning/returning_update.test @@ -68,6 +68,7 @@ WHERE a=7 AND b=-2 AND c=-3 RETURNING c as aliasc, a as aliasa, b as aliasb; # returning expression with aggregate function at top level is not allowed statement error UPDATE table1 SET c=1, b=5, a=7 WHERE a > 5 RETURNING SUM(a); +---- # returning * while only updating a subset of columns # this test is why we use delete insert logics @@ -194,6 +195,7 @@ RETURNING *; # subquery not allowed in returning statement statement error UPDATE table1 SET a = 0, b = 0, c = 0 WHERE a = 10 RETURNING a IN (SELECT a FROM table1); +---- # updating using empty subquery returns nothing query III @@ -264,7 +266,7 @@ query I UPDATE table2 SET b=98 WHERE b=99 -RETURNING [a, b]; +RETURNING [a, b::VARCHAR]; ---- [Mr.Duck, 98] diff --git a/test/sql/sample/reservoir_testing_percentage.test_slow b/test/sql/sample/reservoir_testing_percentage.test_slow new file mode 100644 index 000000000000..80d81537dd84 --- /dev/null +++ b/test/sql/sample/reservoir_testing_percentage.test_slow @@ -0,0 +1,79 @@ +# name: test/sql/sample/reservoir_testing_percentage.test_slow +# description: Test SAMPLE keyword +# group: [sample] + +loop i 1 8 + +statement ok +pragma threads=${i}; + +statement ok +CREATE or replace TABLE t1 as select range a, [1, a, 2] b, a::VARCHAR || 'ducktastic' c, get_current_time() c from range(1000); + +query I +SELECT count(*) from t1 using sample 0 percent (reservoir); +---- +0 + +query I +SELECT count(*) from t1 using sample 10 percent (reservoir); +---- +100 + +query I +SELECT count(*) from t1 using sample 20 percent (reservoir); +---- +200 + +query I +SELECT count(*) from t1 using sample 80 percent (reservoir); +---- +800 + +query I +SELECT count(*) from t1 using sample 100 percent (reservoir); +---- +1000 + +statement ok +CREATE or replace TABLE t1 as select range a, [1, a, 2] b, a::VARCHAR || 'ducktastic' c, get_current_time() c from range(10000); + +query I +select count(*) from t1 using sample 80 percent (reservoir); +---- +8000 + +statement ok +CREATE or replace TABLE t1 as select range a, [1, a, 2] b, a::VARCHAR || 'ducktastic' c, get_current_time() c from range(1000000); + +query I +select count(*) from t1 using sample 20 percent (reservoir); +---- +200000 + +query I +select count(*) from t1 using sample 30 percent (reservoir); +---- +300000 + +query I +select count(*) from t1 using sample 40 percent (reservoir); +---- +400000 + +query I +select count(*) from t1 using sample 50 percent (reservoir); +---- +500000 + +query I +select count(*) from t1 using sample 60 percent (reservoir); +---- +600000 + +query I +select count(*) from t1 using sample 70 percent (reservoir); +---- +700000 + +endloop diff --git a/test/sql/sample/reservoir_testing_rows_value.test_slow b/test/sql/sample/reservoir_testing_rows_value.test_slow new file mode 100644 index 000000000000..3956c126d76b --- /dev/null +++ b/test/sql/sample/reservoir_testing_rows_value.test_slow @@ -0,0 +1,94 @@ +# name: test/sql/sample/reservoir_testing_rows_value.test_slow +# description: Test SAMPLE keyword +# group: [sample] + +loop i 1 8 + +statement ok +pragma threads=${i}; + +statement ok +CREATE or replace TABLE t1 as select range a, [1, a, 2] b, a::VARCHAR || 'ducktastic' c, get_current_time() c from range(1000); + +query I +SELECT count(*) from t1 using sample 0; +---- +0 + +query I +SELECT count(*) from t1 using sample 100; +---- +100 + +query I +SELECT count(*) from t1 using sample 200; +---- +200 + +query I +SELECT count(*) from t1 using sample 800; +---- +800 + +query I +SELECT count(*) from t1 using sample 1000; +---- +1000 + +statement ok +CREATE or replace TABLE t1 as select range a, [1, a, 2] b, a::VARCHAR || 'ducktastic' c, get_current_time() c from range(10000); + +query I +select count(*) from t1 using sample 1000; +---- +1000 + +query I +select count(*) from t1 using sample 3000; +---- +3000 + +query I +select count(*) from t1 using sample 6000; +---- +6000 + +query I +select count(*) from t1 using sample 8000; +---- +8000 + +statement ok +CREATE or replace TABLE t1 as select range a, [1, a, 2] b, a::VARCHAR || 'ducktastic' c, get_current_time() c from range(1000000); + +query I +select count(*) from t1 using sample 200000; +---- +200000 + +query I +select count(*) from t1 using sample 300000; +---- +300000 + +query I +select count(*) from t1 using sample 400000; +---- +400000 + +query I +select count(*) from t1 using sample 500000; +---- +500000 + +query I +select count(*) from t1 using sample 600000; +---- +600000 + +query I +select count(*) from t1 using sample 700000; +---- +700000 + +endloop diff --git a/test/sql/sample/same_seed_same_sample.test b/test/sql/sample/same_seed_same_sample.test new file mode 100644 index 000000000000..24103cb55e91 --- /dev/null +++ b/test/sql/sample/same_seed_same_sample.test @@ -0,0 +1,45 @@ +# name: test/sql/sample/same_seed_same_sample.test +# description: Test SAMPLE keyword +# group: [sample] + +# testing a table with less cardinality than the standard vector size + +statement ok +CREATE or replace TABLE t1 as select range a, [1, a, 2] b, a::VARCHAR || 'ducktastic' c, get_current_time() c from range(1000); + +loop i 1 8 + +statement ok +pragma threads=${i}; + +query III nosort result_1 +SELECT * from t1 using sample reservoir(100) repeatable (1) order by a; +---- + + +query III nosort result_1 +SELECT * from t1 using sample reservoir(100) repeatable (1) order by a; +---- + +endloop + +# testing a table with greater cardinality than the standard vector size + +statement ok +CREATE or replace TABLE t1 as select range a, [1, a, 2] b, a::VARCHAR || 'ducktastic' c, get_current_time() c from range(100000); + +loop i 1 8 + +statement ok +pragma threads=${i}; + +query III nosort result_2 +SELECT * from t1 using sample reservoir(6000) repeatable (1) order by a; +---- + + +query III nosort result_2 +SELECT * from t1 using sample reservoir(6000) repeatable (1) order by a; +---- + +endloop \ No newline at end of file diff --git a/test/sql/sample/test_sample.test b/test/sql/sample/test_sample.test_slow similarity index 83% rename from test/sql/sample/test_sample.test rename to test/sql/sample/test_sample.test_slow index d7d8ed9f63e6..e56ebc09eacb 100644 --- a/test/sql/sample/test_sample.test +++ b/test/sql/sample/test_sample.test_slow @@ -1,4 +1,4 @@ -# name: test/sql/sample/test_sample.test +# name: test/sql/sample/test_sample.test_slow # description: Test SAMPLE keyword # group: [sample] @@ -57,6 +57,37 @@ SELECT * FROM test USING SAMPLE 10 ORDER BY a, b 12 21 13 22 +# sample on a larger data set +query I +SELECT COUNT(*) FROM range(10000) USING SAMPLE 5 +---- +5 + +# sample on a large data set over RESERVOIR_THRESHOLD = 100000 +query I +SELECT COUNT(*) FROM range(2000000) USING SAMPLE 1000100 +---- +1000100 + + +query I +SELECT COUNT(*) FROM range(2000000) USING SAMPLE 2 +---- +2 + + +# test sample with multiple columns +# we insert the same data in the entire column +statement ok +CREATE TABLE test2 AS SELECT i a, i::VARCHAR b, CONCAT(i, ' - ', i) c FROM repeat(1, 1000) tbl(i) + +query III +SELECT a, b, c FROM test2 USING SAMPLE 3; +---- +1 1 1 - 1 +1 1 1 - 1 +1 1 1 - 1 + # sample in scalar subqueries query I SELECT (SELECT COUNT(*) FROM test USING SAMPLE 1); @@ -73,13 +104,16 @@ SELECT (SELECT COUNT(*) + tbl.i FROM test USING SAMPLE 1) FROM range(3) tbl(i) O # negative sample size not allowed statement error SELECT COUNT(*) FROM test USING SAMPLE -1 +---- # must be a number statement error SELECT COUNT(*) FROM test USING SAMPLE 'hello' +---- statement error SELECT COUNT(*) FROM test USING SAMPLE DATE '1992-01-01' +---- # we can also use postgres/sqlserver-style tablesample syntax statement ok @@ -170,13 +204,16 @@ select count(*) from range(1000) using sample reservoir(0.1%); # cannot use bernoulli or system sampling with X number of rows statement error select * from integers using sample bernoulli(5 rows); +---- statement error select * from integers using sample system(5 rows); +---- # sample_size is out of range statement error select * from integers using sample 10000%; +---- query I select i from integers using sample (1 rows) repeatable (0); diff --git a/test/sql/secrets/create_secret.test_slow b/test/sql/secrets/create_secret.test_slow new file mode 100644 index 000000000000..5967e29ecd13 --- /dev/null +++ b/test/sql/secrets/create_secret.test_slow @@ -0,0 +1,73 @@ +# name: test/sql/secrets/create_secret.test_slow +# description: Test secret creation using the default s3 secret provider +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +require httpfs + +# Ensure any currently stored secrets don't interfere with the test +statement ok +set allow_persistent_secrets=false; + +# Create an S3 secret using the default provider (for s3, this will be the "config" provider, requiring the user to set all) +statement ok +CREATE SECRET default_provider_secret ( + TYPE S3, + KEY_ID 'my_key', + SECRET 'my_secret', + REGION 'my_region', + ENDPOINT 'invalid-on-purpose' +) + +# The secret will be created for the default scope for this type +query III +SELECT name, type, scope FROM duckdb_secrets() WHERE name='default_provider_secret'; +---- +default_provider_secret s3 [s3://, s3n://, s3a://] + +# Note the endpoint is now using the one in the default_provider_secret +statement error +FROM 's3://test-bucket/test.csv' +---- +HTTP HEAD to 'https://test-bucket.invalid-on-purpose/test.csv' + +# Now create an S3 secret using the default (config) provider by explicitly passing it +statement ok +CREATE SECRET secret_scope_1 ( + TYPE S3, + PROVIDER config, + SCOPE 's3://b1', + ENDPOINT 'invalid-on-purpose-2' +) + +query III +SELECT name, type, scope FROM duckdb_secrets() WHERE name='secret_scope_1'; +---- +secret_scope_1 s3 [s3://b1] + +# Longest match of credential scope takes the win so, this is will grab the secret_scope_1 secret +statement error +FROM 's3://b1/test.csv' +---- +Connection error for HTTP HEAD to 'https://b1.invalid-on-purpose-2/test.csv' + +# Now confirm we can also set multiple scopes +statement ok +CREATE SECRET secret_scope_2 ( + TYPE S3, + PROVIDER config, + SCOPE ('s3://b2', 's3://b3'), + ENDPOINT 'invalid-on-purpose-3' +) + +query III +SELECT name, type, scope FROM duckdb_secrets() WHERE name='secret_scope_2'; +---- +secret_scope_2 s3 [s3://b2, s3://b3] + +statement error +FROM 's3://b2/test.csv' +---- +Connection error for HTTP HEAD to 'https://b2.invalid-on-purpose-3/test.csv' \ No newline at end of file diff --git a/test/sql/secrets/create_secret_binding.test b/test/sql/secrets/create_secret_binding.test new file mode 100644 index 000000000000..3fde1a4b517e --- /dev/null +++ b/test/sql/secrets/create_secret_binding.test @@ -0,0 +1,92 @@ +# name: test/sql/secrets/create_secret_binding.test +# description: Test secret binding & types +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +require httpfs + +# Ensure any currently stored secrets don't interfere with the test +statement ok +set allow_persistent_secrets=false; + +# Binder autocasts options, also both with single quotes and without is allowed +statement ok +CREATE SECRET s1 ( + TYPE R2, + PROVIDER config, + SCOPE ('s3://my_r2_scope', 's3://my_r2_scope2'), + ACCOUNT_ID some_bogus_account, + KEY_ID '123', + USE_SSL 1, + URL_COMPATIBILITY_MODE false +) + +query I nosort s1 +FROM duckdb_secrets(); +---- + +statement ok +DROP SECRET s1 + +# Create the secret again but in a different way to demonstrate casting and case insensitivity of param names +statement ok +CREATE SECRET s1 ( + TYPE R2, + PROVIDER config, + SCOPE ('s3://my_r2_scope', 's3://my_r2_scope2'), + account_id 'some_bogus_account', + key_id 123, + USE_SSL 'true', + URL_COMPATIBILITY_MODE '0' +) + +query I nosort s1 +FROM duckdb_secrets(); +---- + +### Now let's try some incorrect inputs + +# Incorrect type +statement error +CREATE SECRET incorrect_type ( + TYPE R2, + PROVIDER config, + USE_SSL 'fliepflap' +) +---- +Binder Error: Failed to cast option 'use_ssl' to type 'BOOLEAN': 'Could not convert string 'fliepflap' to BOOL' + +# Incorrect param altogether +statement error +CREATE SECRET incorrect_type ( + TYPE R2, + PROVIDER config, + FLIEPFLAP true +) +---- +Binder Error: Unknown parameter 'fliepflap' for secret type 'r2' with provider 'config' + +# Incorrect param for this type, but correct for other +statement error +CREATE SECRET incorrect_type ( + TYPE S3, + PROVIDER config, + ACCOUNT_ID 'my_acount' +) +---- +Binder Error: Unknown parameter 'account_id' for secret type 's3' with provider 'config' + +# Params can only occur once +statement error +CREATE SECRET duplicate_param ( + TYPE R2, + PROVIDER config, + account_id 'some_bogus_account', + key_id 123, + KEY_ID 12098, + account_id blablabla +) +---- +Binder Error: Duplicate query param found while parsing create secret: 'key_id' diff --git a/test/sql/secrets/create_secret_defaults.test b/test/sql/secrets/create_secret_defaults.test new file mode 100644 index 000000000000..ae3e0544f2b9 --- /dev/null +++ b/test/sql/secrets/create_secret_defaults.test @@ -0,0 +1,60 @@ +# name: test/sql/secrets/create_secret_defaults.test +# description: Test default values during secret creation +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +require httpfs + +# Ensure any currently stored secrets don't interfere with the test +statement ok +set allow_persistent_secrets=false; + +statement ok +DROP SECRET IF EXISTS s1; + +# Without name we use the __default_ name. The default config for for the S3 type is config +statement ok +CREATE SECRET ( + TYPE S3, + KEY_ID 'my_key', + SECRET 'my_secret' +) + +query IIII +SELECT name, provider, type, scope FROM duckdb_secrets(); +---- +__default_s3 config s3 [s3://, s3n://, s3a://] + +# Without name we use the __default_ name. The default config for for the R2 type is config +statement ok +CREATE SECRET ( + TYPE R2, + KEY_ID 'my_key', + SECRET 'my_secret', + ACCOUNT_ID 'my_account_id' +) + +query IIII +SELECT name, provider, type, scope FROM duckdb_secrets() ORDER BY name; +---- +__default_r2 config r2 [r2://] +__default_s3 config s3 [s3://, s3n://, s3a://] + + +# Without name we use the __default_ name. The default config for for the R2 type is config +statement ok +CREATE SECRET ( + TYPE GCS, + KEY_ID 'my_key', + SECRET 'my_secret' +) + +# duckdb_secrets with all defaults looks like this now +query IIIIII +SELECT name, persistent, storage, provider, type, scope FROM duckdb_secrets() ORDER BY name; +---- +__default_gcs 0 memory config gcs [gcs://, gs://] +__default_r2 0 memory config r2 [r2://] +__default_s3 0 memory config s3 [s3://, s3n://, s3a://] \ No newline at end of file diff --git a/test/sql/secrets/create_secret_gcs.test_slow b/test/sql/secrets/create_secret_gcs.test_slow new file mode 100644 index 000000000000..0fe3bec9f907 --- /dev/null +++ b/test/sql/secrets/create_secret_gcs.test_slow @@ -0,0 +1,31 @@ +# name: test/sql/secrets/create_secret_gcs.test_slow +# description: Test secret creation using the default gcs secret provider +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +require httpfs + +# Ensure any currently stored secrets don't interfere with the test +statement ok +set allow_persistent_secrets=false; + +# GCS Secrets automatically default to the correct endpoint for Google Cloud Storage +statement ok +CREATE SECRET ( + TYPE GCS, + KEY_ID 'my_key', + SECRET 'my_secret' +) + +# The secret will be created for the default scope +query IIII +SELECT name, type, provider, scope FROM duckdb_secrets(); +---- +__default_gcs gcs config [gcs://, gs://] + +statement error +FROM 'gcs://test-bucket/test.csv' +---- +https://storage.googleapis.com/test-bucket/test.csv diff --git a/test/sql/secrets/create_secret_minio.test b/test/sql/secrets/create_secret_minio.test new file mode 100644 index 000000000000..4f18339f6613 --- /dev/null +++ b/test/sql/secrets/create_secret_minio.test @@ -0,0 +1,78 @@ +# name: test/sql/secrets/create_secret_minio.test +# description: Test s3 secrets actually work using minio +# group: [secrets] + +require parquet + +require httpfs + +require-env S3_TEST_SERVER_AVAILABLE 1 + +# Require that these environment variables are also set + +require-env AWS_DEFAULT_REGION + +require-env AWS_ACCESS_KEY_ID + +require-env AWS_SECRET_ACCESS_KEY + +require-env DUCKDB_S3_ENDPOINT + +require-env DUCKDB_S3_USE_SSL + +set ignore_error_messages + +load __TEST_DIR__/persistent_secrets.db + +statement ok +PRAGMA enable_verification; + +statement ok +set secret_directory='__TEST_DIR__/create_secret_minio' + +# first need to unset the duckdb settings: currently the env variables are loaded automatically making all queries auth +statement ok +set s3_access_key_id=''; + +statement ok +set s3_secret_access_key=''; + +statement error +copy select 1 as a to 's3://test- /test-file.parquet' +---- + +# Now we create a scoped secret with correct credentials +statement ok +CREATE PERSISTENT SECRET ( + TYPE S3, + PROVIDER config, + SCOPE 's3://test-bucket/only-this-file-gets-auth.parquet', + KEY_ID '${AWS_ACCESS_KEY_ID}', + SECRET '${AWS_SECRET_ACCESS_KEY}', + REGION '${AWS_DEFAULT_REGION}', + ENDPOINT '${DUCKDB_S3_ENDPOINT}', + USE_SSL '${DUCKDB_S3_USE_SSL}' +) + +# scope doesn't match! query still fails +statement error +copy (select 1 as a) to 's3://test-bucket/test-file.parquet' +---- + +# scope matches, the secret is chosen and the query will succeed +statement ok +copy (select 1 as a) to 's3://test-bucket/only-this-file-gets-auth.parquet' + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_minio' + +# persistent secrets survive restart +statement ok +copy (select 1 as a) to 's3://test-bucket/only-this-file-gets-auth.parquet' + +# Its still scoped +statement error +copy (select 1 as a) to 's3://test-bucket/no-auth-here.parquet' +---- \ No newline at end of file diff --git a/test/sql/secrets/create_secret_name_conflicts.test b/test/sql/secrets/create_secret_name_conflicts.test new file mode 100644 index 000000000000..8c480807b96a --- /dev/null +++ b/test/sql/secrets/create_secret_name_conflicts.test @@ -0,0 +1,89 @@ +# name: test/sql/secrets/create_secret_name_conflicts.test +# description: Test name conflict behaviour for secrets +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +load __TEST_DIR__/persistent_secrets.db + +require httpfs + +statement ok +set secret_directory='__TEST_DIR__/create_secret_name_conflicts' + +statement ok +CREATE TEMPORARY SECRET s1 ( TYPE S3 ) + +statement error +CREATE TEMPORARY SECRET s1 ( TYPE S3 ) +---- +Invalid Input Error: Temporary secret with name 's1' already exists! + +statement ok +CREATE PERSISTENT SECRET s1 ( TYPE S3 ) + +statement error +CREATE PERSISTENT SECRET s1 ( TYPE S3 ) +---- +Persistent secret with name 's1' already exists in secret storage 'local_file'! + +statement error +DROP SECRET s1; +---- +Invalid Input Error: Ambiguity found for secret name 's1', secret occurs in multiple storages + +statement error +DROP SECRET s1 FROM bogus; +---- +Invalid Input Error: Unknown storage type found for drop secret: 'bogus' + +statement ok +DROP TEMPORARY SECRET s1; + +# Re-dropping the temp s1 is now erroneous +statement error +DROP TEMPORARY SECRET s1; +---- +Invalid Input Error: Failed to remove non-existent secret with name 's1' + +query II +SELECT name, storage FROM duckdb_secrets() +---- +s1 local_file + +# Now we will do it again but while the permanent secret is still lazily loaded +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_name_conflicts' + +statement ok +CREATE TEMPORARY SECRET s1 ( TYPE S3 ) + +# Now the drop should be ambiguous again: but the persistent secret will be lazily loaded now +statement error +DROP SECRET s1; +---- +Invalid Input Error: Ambiguity found for secret name 's1', secret occurs in multiple storages + +# Fully specified drop statement this time +statement ok +DROP PERSISTENT SECRET s1 FROM LOCAL_FILE; + +# Now a semi-weird case: this will create if not exists only within its own storage: therefore this does actually create +# the secret +statement ok +CREATE PERSISTENT SECRET IF NOT EXISTS s1 ( TYPE S3 ) + +query II +SELECT name, storage FROM duckdb_secrets() ORDER BY storage +---- +s1 local_file +s1 memory + +statement ok +DROP PERSISTENT SECRET s1; + +statement ok +DROP SECRET s1; \ No newline at end of file diff --git a/test/sql/secrets/create_secret_non_writable_persistent_dir.test b/test/sql/secrets/create_secret_non_writable_persistent_dir.test new file mode 100644 index 000000000000..0a73cdbdada5 --- /dev/null +++ b/test/sql/secrets/create_secret_non_writable_persistent_dir.test @@ -0,0 +1,45 @@ +# name: test/sql/secrets/create_secret_non_writable_persistent_dir.test +# description: Test persistent secrets when the secret dir is non-writable +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +load __TEST_DIR__/create_secret_non_writable_persistent_dir.db + +require httpfs + +# First we create any file +statement ok +COPY (SELECT 1 as a) to '__TEST_DIR__/file_to_prevent_the_secret_dir_from_being_created.csv' + +# Then we set the secret dir to this. +statement ok +set secret_directory='__TEST_DIR__/file_to_prevent_the_secret_dir_from_being_created.csv' + +# Now on creation of a tmp secret, the secret manager is initialized, but the persistent secret directory creation is impossible +statement ok +CREATE SECRET my_tmp_secret ( + TYPE S3, + SCOPE 's3://bucket1' +) + +# This now fails with the message that we could not create the persistent secret directory +statement error +CREATE PERSISTENT SECRET my_tmp_secret ( + TYPE S3, + SCOPE 's3://bucket2' +) +---- + +restart + +# Try with a correct, deeply nested path: AOK? +statement ok +set secret_directory='__TEST_DIR__/create_secret_non_writable_persistent_dir/a/deeply/nested/folder/will/be/created' + +statement maybe +CREATE PERSISTENT SECRET my_tmp_secret ( + TYPE S3, + SCOPE 's3://bucket2' +) \ No newline at end of file diff --git a/test/sql/secrets/create_secret_overwriting.test b/test/sql/secrets/create_secret_overwriting.test new file mode 100644 index 000000000000..8a810d695a9a --- /dev/null +++ b/test/sql/secrets/create_secret_overwriting.test @@ -0,0 +1,73 @@ +# name: test/sql/secrets/create_secret_overwriting.test +# description: Test secret overwriting and deleting +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +require httpfs + +# Ensure any currently stored secrets don't interfere with the test +statement ok +set allow_persistent_secrets=false; + +# Create some s3 secret +statement ok +CREATE SECRET my_secret ( + TYPE S3, + SCOPE 's3://bucket1' +) + +query II +SELECT name, scope FROM duckdb_secrets(); +---- +my_secret [s3://bucket1] + +statement error +CREATE SECRET my_secret ( + TYPE S3, + KEY_ID 'my_key', + SECRET 'my_secret', + SCOPE 's3://bucket1' +) +---- +Invalid Input Error: Temporary secret with name 'my_secret' already exists! + +# We should be able to replace the secret though +statement ok +CREATE OR REPLACE SECRET my_secret ( + TYPE S3, + SCOPE 's3://bucket2' +) + +query II +SELECT name, scope FROM duckdb_secrets(); +---- +my_secret [s3://bucket2] + +# We can also ignore if we want to +statement ok +CREATE SECRET IF NOT EXISTS my_secret ( + TYPE S3, + SCOPE 's3://bucket5' +) + +query II +SELECT name, scope FROM duckdb_secrets(); +---- +my_secret [s3://bucket2] + +# Now try dropping a secret that does not exist +statement error +DROP SECRET my_secret_does_not_exist; +---- +Failed to remove non-existent secret with name 'my_secret_does_not_exist' + +# Drop one that does exist +statement ok +DROP SECRET my_secret; + +# Secret be gone! +query II +SELECT name, scope FROM duckdb_secrets(); +---- diff --git a/test/sql/secrets/create_secret_persistence.test b/test/sql/secrets/create_secret_persistence.test new file mode 100644 index 000000000000..633894b2b19c --- /dev/null +++ b/test/sql/secrets/create_secret_persistence.test @@ -0,0 +1,195 @@ +# name: test/sql/secrets/create_secret_persistence.test +# description: Test secret persistence +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +load __TEST_DIR__/persistent_secrets.db + +require httpfs + +statement ok +set secret_directory='__TEST_DIR__/create_secret_persistence' + +# Create some s3 secret, the normally the default is TEMPORARY +statement ok +CREATE SECRET my_tmp_secret ( + TYPE S3, + SCOPE 's3://bucket1' +) + +# Explicitly stating +statement ok +CREATE TEMPORARY SECRET my_tmp_secret_2 ( + TYPE S3, + SCOPE 's3://bucket2' +) + +statement ok +CREATE OR REPLACE PERSISTENT SECRET my_tmp_secret_3 ( + TYPE S3, + SCOPE 's3://bucket3' +) + +query III +SELECT name, storage, scope FROM duckdb_secrets() where storage='memory' order by name; +---- +my_tmp_secret memory [s3://bucket1] +my_tmp_secret_2 memory [s3://bucket2] + +query II +SELECT name, scope FROM duckdb_secrets() where storage != 'memory'; +---- +my_tmp_secret_3 [s3://bucket3] + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_persistence' + +# Persistent secrets are restored automatically +query II +SELECT name, scope FROM duckdb_secrets(); +---- +my_tmp_secret_3 [s3://bucket3] + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_persistence' + +# Trying to create same name TMP secret fails +statement error +CREATE PERSISTENT SECRET my_tmp_secret_3 ( + TYPE S3, + SCOPE 's3://bucket3_not_used' +) +---- +Invalid Input Error: Persistent secret with name 'my_tmp_secret_3' already exists in secret storage 'local_file'! + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_persistence' + +# Trying to create same name PERSISTENT secret fails +statement error +CREATE PERSISTENT SECRET my_tmp_secret_3 ( + TYPE S3, + SCOPE 's3://bucket3_not_used' +) +---- +Invalid Input Error: Persistent secret with name 'my_tmp_secret_3' already exists in secret storage 'local_file'! + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_persistence' + +# Note: this will be a temporary secret: there are now 2 secrets with the same name +statement ok +CREATE SECRET IF NOT EXISTS my_tmp_secret_3 ( + TYPE S3, + SCOPE 's3://bucket3_not_used' +) + +# Secret is unmodified +query III +SELECT name, storage, scope FROM duckdb_secrets() where name='my_tmp_secret_3' order by storage; +---- +my_tmp_secret_3 local_file [s3://bucket3] +my_tmp_secret_3 memory [s3://bucket3_not_used] + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_persistence' + +# Ignoring already existing persistent secret is fine +statement ok +CREATE PERSISTENT SECRET IF NOT EXISTS my_tmp_secret_3 ( + TYPE S3, + SCOPE 's3://bucket3_not_used' +) + +# Running second time, code path slightly different as the secret is lazy loaded in previous step +statement ok +CREATE PERSISTENT SECRET IF NOT EXISTS my_tmp_secret_3 ( + TYPE S3, + SCOPE 's3://bucket3_not_used' +) + +# Secret is unmodified +query II +SELECT name, scope FROM duckdb_secrets(); +---- +my_tmp_secret_3 [s3://bucket3] + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_persistence' + +# Secret is still unmodified after restart +query II +SELECT name, scope FROM duckdb_secrets() ; +---- +my_tmp_secret_3 [s3://bucket3] + +# Now we do actually update the persistent secret +statement ok +CREATE OR REPLACE PERSISTENT SECRET my_tmp_secret_3 ( + TYPE S3, + SCOPE 's3://bucket3_updated' +) + +# Its updated! +query II +SELECT name, scope FROM duckdb_secrets(); +---- +my_tmp_secret_3 [s3://bucket3_updated] + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_persistence' + +# Survives restart! +query II +SELECT name, scope FROM duckdb_secrets(); +---- +my_tmp_secret_3 [s3://bucket3_updated] + +# Now we add another secret, to reliably test deletion of the other one +statement ok +CREATE PERSISTENT SECRET IF NOT EXISTS my_tmp_secret_4 ( + TYPE S3, + SCOPE 's3://another_secret' +) + +query II +SELECT name, scope FROM duckdb_secrets() order by name; +---- +my_tmp_secret_3 [s3://bucket3_updated] +my_tmp_secret_4 [s3://another_secret] + +statement ok +DROP SECRET my_tmp_secret_3; + +# my_tmp_secret_3 is deleted +query II +SELECT name, scope FROM duckdb_secrets(); +---- +my_tmp_secret_4 [s3://another_secret] + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_persistence' + +# Secret is actually deleted +query III +SELECT name, storage, scope FROM duckdb_secrets() order by name; +---- +my_tmp_secret_4 local_file [s3://another_secret] diff --git a/test/sql/secrets/create_secret_persistence_error_handling.test b/test/sql/secrets/create_secret_persistence_error_handling.test new file mode 100644 index 000000000000..3e39a4c815bb --- /dev/null +++ b/test/sql/secrets/create_secret_persistence_error_handling.test @@ -0,0 +1,26 @@ +# name: test/sql/secrets/create_secret_persistence_error_handling.test +# description: Test secret persistence with buggy secrets +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +load __TEST_DIR__/create_secret_persistence_error_handling.db + +require httpfs + +statement ok +set secret_directory='__TEST_DIR__/create_secret_persistence_error_handling' + +# Hacky way to make duckdb create the create_secret_persistence_error_handling dir +statement ok +COPY (select 1 as a ) to '__TEST_DIR__/create_secret_persistence_error_handling/' (FORMAT csv, PARTITION_BY a) + +# Now write a corrupt secret file +statement ok +COPY (select 1 as a ) to '__TEST_DIR__/create_secret_persistence_error_handling/s1.duckdb_secret' (FORMAT csv) + +statement error +FROM duckdb_secrets(); +---- +Serialization Error: Failed to deserialize the persistent secret file: \ No newline at end of file diff --git a/test/sql/secrets/create_secret_r2.test b/test/sql/secrets/create_secret_r2.test new file mode 100644 index 000000000000..ec7bc626744b --- /dev/null +++ b/test/sql/secrets/create_secret_r2.test @@ -0,0 +1,65 @@ +# name: test/sql/secrets/create_secret_r2.test +# description: Test secret creation using the default r2 secret provider +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +require httpfs + +statement ok +set secret_directory='__TEST_DIR__' + +# R2 is secrets will instead of requiring manually constructing the endpoint of .r2.cloudflarestorage.com, +# use the account_id to configure it. Also the region is not required at all. Also the scope defaults to r2:// +statement ok +CREATE SECRET ( + TYPE R2, + ACCOUNT_ID 'some_bogus_account', + KEY_ID 'my_key', + SECRET 'my_secret' +) + +# The secret will be created for the default scope +query IIII +SELECT name, type, provider, scope FROM duckdb_secrets(); +---- +__default_r2 r2 config [r2://] + +# +statement error +FROM 's3://test-bucket/test.csv' +error for HTTP HEAD to 'https://some_bogus_account.r2.cloudflarestorage.com/test-bucket/test.csv' +---- + +# Account ID is only for R2, trying to set this for S3 will fail +statement error +CREATE SECRET ( + TYPE S3, + ACCOUNT_ID 'some_bogus_account', + KEY_ID 'my_key', + SECRET 'my_secret' +) +---- +Binder Error: Unknown parameter 'account_id' for secret type 's3' with default provider 'config' + +# Account ID is only for R2, trying to set this for GCS will fail +statement error +CREATE SECRET ( + TYPE GCS, + PROVIDER config, + ACCOUNT_ID 'some_bogus_account', + KEY_ID 'my_key', + SECRET 'my_secret' +) +---- +Binder Error: Unknown parameter 'account_id' for secret type 'gcs' with provider 'config' + +# Ensure secret lookup works correctly; +statement ok +CREATE SECRET test( + TYPE R2, + ACCOUNT_ID 'some_bogus_account', + KEY_ID 'my_key', + SECRET 'my_secret' +) diff --git a/test/sql/secrets/create_secret_r2_serialization.test b/test/sql/secrets/create_secret_r2_serialization.test new file mode 100644 index 000000000000..1c1eeb53f4dc --- /dev/null +++ b/test/sql/secrets/create_secret_r2_serialization.test @@ -0,0 +1,70 @@ +# name: test/sql/secrets/create_secret_r2_serialization.test +# description: Demo of secret serialization +# group: [secrets] + +# NOTE: this is a testing feature that will be removed / replaced with actual persistent secrets. + +require httpfs + +require parquet + +load __TEST_DIR__/test_serialize_secrets.db + +statement ok +PRAGMA enable_verification; + +statement ok +set secret_directory='__TEST_DIR__/create_secret_r2_serialization' + +statement ok +CREATE OR REPLACE PERSISTENT SECRET s1 ( + TYPE S3, + PROVIDER config, + SCOPE 's3://my_scope', + KEY_ID 'mekey', + SECRET 'mesecret', + REGION 'meregion', + SESSION_TOKEN 'mesesh', + ENDPOINT 'meendpoint', + URL_STYLE 'mahstyle', + USE_SSL true, + URL_COMPATIBILITY_MODE true +) + +query IIII +select name, type, provider, scope FROM duckdb_secrets(); +---- +s1 s3 config [s3://my_scope] + +query I nosort secret_to_string +select * from duckdb_secrets(); +---- + +restart + +# Now setting the secret dir somehwere nonexistent will yield no persistent secrets +statement ok +set secret_directory='__TEST_DIR__/does_not_exist' + +query I +select count(*) FROM duckdb_secrets(); +---- +0 + +restart + +# However setting it to the dir that does, we can suddenly see our persisted secrets +statement ok +set secret_directory='__TEST_DIR__/create_secret_r2_serialization' + +# After restart secret is still there +query IIII +select name, type, provider, scope FROM duckdb_secrets(); +---- +s1 s3 config [s3://my_scope] + +# Even more: it matches the exact string note that we don't disable redaction here to ensure we cover +# redaction set serialization with this test +query I nosort secret_to_string +select * from duckdb_secrets(); +---- \ No newline at end of file diff --git a/test/sql/secrets/create_secret_s3_duckdb_settings.test_slow b/test/sql/secrets/create_secret_s3_duckdb_settings.test_slow new file mode 100644 index 000000000000..e8b8aaa032e6 --- /dev/null +++ b/test/sql/secrets/create_secret_s3_duckdb_settings.test_slow @@ -0,0 +1,128 @@ +# name: test/sql/secrets/create_secret_s3_duckdb_settings.test_slow +# description: Test the duckdb_settings credential provider for the s3/r2/gcs type credentials +# group: [secrets] + +require httpfs + +require parquet + +statement ok +PRAGMA enable_verification; + +### NOTE: this is for testing purposes, this feature will be removed and replaced by a proper credential provider +# that uses the AWS SDK. + +statement ok +set secret_directory='__TEST_DIR__' + +# Set some credentials for main_secret +statement ok +set s3_endpoint='global-invalid-domain' + +# This secret is now created based on the current duckdb settings +statement ok +CREATE SECRET main_secret ( + TYPE S3, + PROVIDER duckdb_settings +) + +# Set credentials for scoped_secret_1 +statement ok +set s3_endpoint='bucket1-invalid-domain' + +statement ok +CREATE SECRET scoped_secret_1 ( + TYPE S3, + PROVIDER duckdb_settings, + SCOPE 's3://bucket1' +) + +# Set credentials for other bucket +statement ok +set s3_endpoint='bucket2-invalid-domain' + +statement ok +CREATE SECRET scoped_secret_2 ( + TYPE S3, + PROVIDER duckdb_settings, + SCOPE 's3://bucket2' +) + +# Set credentials for some specific file in bucket2 +statement ok +set s3_endpoint='bucket2-path-invalid-domain' + +statement ok +CREATE SECRET scoped_secret_3 ( + TYPE S3, + PROVIDER duckdb_settings, + SCOPE 's3://bucket2/this/path/takes/other/creds/' +) + +# Finally, set the global credentials to something else: these should not be used as long one of the secret scopes matches +statement ok +set s3_endpoint='settings-invalid-domain' + +### Testing our scope is properly matched to the urls + +statement error +from "s3://bucket1/test.parquet" +---- +bucket1-invalid-domain + +statement error +from "s3://bucket2/test.parquet" +---- +bucket2-invalid-domain + +statement error +from "s3://bucket2/this/path/takes/other/creds/test.parquet" +---- +bucket2-path-invalid-domain + +statement error +from "s3://bucket3/test.parquet" +---- +global-invalid-domain + +query III +select name, type, scope from duckdb_secrets() order by name; +---- +main_secret s3 [s3://, s3n://, s3a://] +scoped_secret_1 s3 [s3://bucket1] +scoped_secret_2 s3 [s3://bucket2] +scoped_secret_3 s3 [s3://bucket2/this/path/takes/other/creds/] + +# Check the endpoints are actually set +# secrets of type x +query I +select + list_filter(split(secret_string,';'), x -> starts_with(x, 'endpoint'))[1] +from duckdb_secrets() order by name; +---- +endpoint=global-invalid-domain +endpoint=bucket1-invalid-domain +endpoint=bucket2-invalid-domain +endpoint=bucket2-path-invalid-domain + +# Note: the settings from the provider can still be overridden +statement ok +set s3_endpoint='duckdb.settings.endpoint.to.be.overridden.bogusdomain.com' + +statement ok +set s3_region='eu-west-1' + +statement ok +CREATE SECRET overridden_region_secret ( + TYPE S3, + PROVIDER duckdb_settings, + SCOPE 's3://bucket4/', + REGION 'overridden-region' +) + +query I +select + list_filter(split(secret_string,';'), x -> starts_with(x, 'region'))[1] +from duckdb_secrets() where name='overridden_region_secret'; +---- +region=overridden-region \ No newline at end of file diff --git a/test/sql/secrets/create_secret_s3_serialization.test b/test/sql/secrets/create_secret_s3_serialization.test new file mode 100644 index 000000000000..991eec8173eb --- /dev/null +++ b/test/sql/secrets/create_secret_s3_serialization.test @@ -0,0 +1,99 @@ +# name: test/sql/secrets/create_secret_s3_serialization.test +# description: Test serialization of the S3/GCS/r2 secrets +# group: [secrets] + +require httpfs + +require parquet + +load __TEST_DIR__/test_serialize_secrets.db + +statement ok +PRAGMA enable_verification; + +statement ok +set secret_directory='__TEST_DIR__/create_secret_s3_serialization' + +statement ok +CREATE OR REPLACE PERSISTENT SECRET s1 ( + TYPE S3, + PROVIDER config, + SCOPE 's3://my_s3_scope', + KEY_ID 'mekey', + SECRET 'mesecret', + REGION 'meregion', + SESSION_TOKEN 'mesesh', + ENDPOINT 'meendpoint', + URL_STYLE 'mahstyle', + USE_SSL true, + URL_COMPATIBILITY_MODE true +) + +statement ok +CREATE OR REPLACE PERSISTENT SECRET s2 ( + TYPE R2, + PROVIDER config, + SCOPE 's3://my_r2_scope', + ACCOUNT_ID 'some_bogus_account', + KEY_ID 'mekey', + SECRET 'mesecret', + SESSION_TOKEN 'mesesh', + URL_STYLE 'mahstyle', + USE_SSL 1, + URL_COMPATIBILITY_MODE 1 +) + +statement ok +CREATE OR REPLACE PERSISTENT SECRET s3 ( + TYPE GCS, + PROVIDER config, + SCOPE 's3://my_gcs_scope', + KEY_ID 'mekey', + SECRET 'mesecret', + SESSION_TOKEN 'mesesh', + URL_STYLE 'mahstyle', + USE_SSL true, + URL_COMPATIBILITY_MODE true +) + +query IIII +select name, type, provider, scope FROM duckdb_secrets() order by name; +---- +s1 s3 config [s3://my_s3_scope] +s2 r2 config [s3://my_r2_scope] +s3 gcs config [s3://my_gcs_scope] + +# Note: this query prints the tokens as an unredacted string +query I nosort secret_to_string +select secret_string from duckdb_secrets(redact=false) order by type; +---- + +restart + +# Now setting the secret dir somehwere nonexistent will yield no persistent secrets +statement ok +set secret_directory='__TEST_DIR__/does_not_exist' + +query I +select count(*) FROM duckdb_secrets(redact=false); +---- +0 + +restart + +# However setting it to the dir that does, we can suddenly see our persisted secrets +statement ok +set secret_directory='__TEST_DIR__/create_secret_s3_serialization' + +# After restart secrets are still there +query IIII +select name, type, provider, scope FROM duckdb_secrets() order by name; +---- +s1 s3 config [s3://my_s3_scope] +s2 r2 config [s3://my_r2_scope] +s3 gcs config [s3://my_gcs_scope] + +# Note: this query prints the tokens as an unredacted string +query I nosort secret_to_string +select secret_string from duckdb_secrets(redact=false) order by type; +---- \ No newline at end of file diff --git a/test/sql/secrets/create_secret_scope_matching.test b/test/sql/secrets/create_secret_scope_matching.test new file mode 100644 index 000000000000..a026ad7cfd50 --- /dev/null +++ b/test/sql/secrets/create_secret_scope_matching.test @@ -0,0 +1,51 @@ +# name: test/sql/secrets/create_secret_scope_matching.test +# description: Test scope matching behaviour is correct +# group: [secrets] + +load __TEST_DIR__/create_secret_scope_matching.db + +statement ok +PRAGMA enable_verification; + +require httpfs + +statement ok +set secret_directory='__TEST_DIR__/create_secret_scope_matching' + +statement ok +CREATE TEMPORARY SECRET t1 ( TYPE S3 ) + +statement ok +CREATE TEMPORARY SECRET t2 ( TYPE S3 ) + +statement ok +CREATE SECRET p1 IN LOCAL_FILE ( TYPE S3 ) + +# This ties within the same storage: the two temporary secrets s1 and s2 both score identically. We solve this by +# tie-breaking on secret name alphabetical ordering +query I +SELECT which_secret('s3://', 's3') +---- +t1 + +statement ok +DROP SECRET t1 + +# Temporary secrets take preference over temporary ones +query I +SELECT which_secret('s3://', 's3') +---- +t2 + +statement ok +DROP SECRET t2 + +query I +SELECT which_secret('s3://', 's3') +---- +p1 + +statement maybe +DROP SECRET p1 +---- +Invalid Input Error: Failed to remove non-existent secret diff --git a/test/sql/secrets/create_secret_settings.test b/test/sql/secrets/create_secret_settings.test new file mode 100644 index 000000000000..d27c5c88d31f --- /dev/null +++ b/test/sql/secrets/create_secret_settings.test @@ -0,0 +1,64 @@ +# name: test/sql/secrets/create_secret_settings.test +# description: Test setting secret settings +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +load __TEST_DIR__/secrets_settings.db + +require httpfs + +statement ok +set secret_directory='__TEST_DIR__/create_secret_settings1' + +statement ok +set allow_persistent_secrets=true; + +# Create some s3 secret, the normally the default is TEMPORARY +statement ok +CREATE PERSISTENT SECRET my_perm_secret ( + TYPE S3, + SCOPE 's3://bucket1' +) + +query II +SELECT name, scope from duckdb_secrets(); +---- +my_perm_secret [s3://bucket1] + +statement error +set secret_directory='__TEST_DIR__/create_secret_settings2' +---- +Invalid Input Error: Changing Secret Manager settings after the secret manager is used is not allowed! + +statement error +set allow_persistent_secrets=false; +---- +Invalid Input Error: Changing Secret Manager settings after the secret manager is used is not allowed! + +restart + +# When disabling secrets, we won't read the one that we wrote earlier +statement ok +set allow_persistent_secrets=false + +query I +select count(*) from duckdb_secrets(); +---- +0 + +restart + +# Switch settings back and it works again +statement ok +set allow_persistent_secrets=true + +# setting the path right it will work +statement ok +set secret_directory='__TEST_DIR__/create_secret_settings1' + +query II +SELECT name, scope from duckdb_secrets(); +---- +my_perm_secret [s3://bucket1] \ No newline at end of file diff --git a/test/sql/secrets/create_secret_storage_backends.test b/test/sql/secrets/create_secret_storage_backends.test new file mode 100644 index 000000000000..112b61e97308 --- /dev/null +++ b/test/sql/secrets/create_secret_storage_backends.test @@ -0,0 +1,107 @@ +# name: test/sql/secrets/create_secret_storage_backends.test +# description: Test different storage backends +# group: [secrets] + +load __TEST_DIR__/create_secret_storage_backends.db + +statement ok +PRAGMA enable_verification; + +require httpfs + +# Ensure any currently stored secrets don't interfere with the test +statement ok +set allow_persistent_secrets=false; + +statement error +CREATE TEMPORARY SECRET s1 IN LOCAL_FILE ( TYPE S3 ) +---- +Invalid Input Error: Persistent secrets are disabled. Restart DuckDB and enable persistent secrets through 'SET allow_persistent_secrets=true' + +statement error +CREATE PERSISTENT SECRET s1 IN NON_EXISTENT_SECRET_STORAGE ( TYPE S3 ) +---- +Invalid Input Error: Persistent secrets are disabled. Restart DuckDB and enable persistent secrets through 'SET allow_persistent_secrets=true' + +# We have disabled the permanent secrets, so this should fail +statement error +CREATE PERSISTENT SECRET perm_s1 ( TYPE S3 ) +---- +Invalid Input Error: Persistent secrets are disabled. Restart DuckDB and enable persistent secrets through 'SET allow_persistent_secrets=true' + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_storages' + +# Default for persistent secret is currently LOCAL_FILE (only native persistent storage method currently) +statement ok +CREATE PERSISTENT SECRET perm_s1 ( TYPE S3 ) + +# Specifying IN ... implies persistent, hence this is okay +statement ok +CREATE SECRET perm_s2 IN LOCAL_FILE ( TYPE S3 ) + +# Explicitly stating temporary is cool +statement ok +CREATE TEMPORARY SECRET temp_s1 ( TYPE s3 ); + +# Not specifying it will use the system default (which is temp) +statement ok +CREATE SECRET temp_s2 ( TYPE s3 ); + +query IIIIII +SELECT * EXCLUDE (secret_string) FROM duckdb_secrets() ORDER BY name +---- +perm_s1 s3 config true local_file [s3://, s3n://, s3a://] +perm_s2 s3 config true local_file [s3://, s3n://, s3a://] +temp_s1 s3 config false memory [s3://, s3n://, s3a://] +temp_s2 s3 config false memory [s3://, s3n://, s3a://] + +restart + +# Since extensions can add secret storage backends, we allow switching the default backend +statement ok +set default_secret_storage='currently-non-existent' + +statement ok +set secret_directory='__TEST_DIR__/create_secret_storages' + +statement error +CREATE PERSISTENT SECRET s1 ( TYPE S3 ) +---- +Secret storage 'currently-non-existent' not found! + +# We can still work around this broken default by specifying the storage explicitly +statement ok +CREATE PERSISTENT SECRET s1 IN LOCAL_FILE ( TYPE S3 ) + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_storages' + +# Let's restore and now things work again +statement ok +reset default_secret_storage + +statement ok +CREATE PERSISTENT SECRET s2 ( TYPE S3 ) + +query IIIIII +SELECT * EXCLUDE (secret_string) FROM duckdb_secrets() ORDER BY name +---- +perm_s1 s3 config true local_file [s3://, s3n://, s3a://] +perm_s2 s3 config true local_file [s3://, s3n://, s3a://] +s1 s3 config true local_file [s3://, s3n://, s3a://] +s2 s3 config true local_file [s3://, s3n://, s3a://] + +statement maybe +DROP SECRET perm_s1; +---- +Invalid Input Error: Failed to remove non-existent secret + +statement maybe +DROP SECRET perm_s2; +---- +Invalid Input Error: Failed to remove non-existent secret diff --git a/test/sql/secrets/create_secret_transactional.test b/test/sql/secrets/create_secret_transactional.test new file mode 100644 index 000000000000..79a4157b4530 --- /dev/null +++ b/test/sql/secrets/create_secret_transactional.test @@ -0,0 +1,146 @@ +# name: test/sql/secrets/create_secret_transactional.test +# description: Test secret transactional safety +# group: [secrets] + +statement ok +PRAGMA enable_verification; + +require httpfs + +load __TEST_DIR__/create_secret_transactional.db + +statement ok +set secret_directory='__TEST_DIR__/create_secret_transactional' + +statement ok +PRAGMA threads=1 + +foreach secret_type TEMPORARY PERSISTENT + +statement ok con1 +BEGIN TRANSACTION + +statement ok con1 +CREATE ${secret_type} SECRET s1 (TYPE S3) + +statement ok con2 +BEGIN TRANSACTION + +statement ok con2 +CREATE ${secret_type} SECRET s2 (TYPE S3) + +query I con1 +SELECT name FROM duckdb_secrets(); +---- +s1 + +query I con2 +SELECT name FROM duckdb_secrets(); +---- +s2 + +statement ok con1 +COMMIT + +# Transaction 2 still only sees own secret: it has not commited yet +query I con2 +SELECT name FROM duckdb_secrets(); +---- +s2 + +# New transaction will see only committed secret +query I con3 +SELECT name FROM duckdb_secrets(); +---- +s1 + +statement ok con2 +COMMIT + +# Now both are visible +query I con3 +SELECT name FROM duckdb_secrets() ORDER BY name; +---- +s1 +s2 + +statement ok con1 +BEGIN TRANSACTION + +statement ok con1 +DROP SECRET s1; + +# Drop not yet commited: con3 will not see it yet +query I con3 +SELECT name FROM duckdb_secrets() ORDER BY name; +---- +s1 +s2 + +# Commit the drop +statement ok con1 +COMMIT + +# Drop now visible to con3 +query I con3 +SELECT name FROM duckdb_secrets(); +---- +s2 + +# Clean up for loop end +statement ok +DROP SECRET s2 + +endloop + +# Now lets test transactional safety of lazily loaded persistent secrets + +statement ok +CREATE PERSISTENT SECRET perm_s1 (TYPE S3) + +restart + +statement ok +set secret_directory='__TEST_DIR__/create_secret_transactional' + +# After restart, we create 2 connections that each add their own tmp secret; the perm secret is now lazily loaded! +statement ok con1 +BEGIN TRANSACTION + +statement ok con1 +CREATE SECRET tmp_s1 (TYPE S3) + +statement ok con2 +BEGIN TRANSACTION + +statement ok con2 +CREATE SECRET tmp_s2 (TYPE S3) + +# Now con1 drops the lazily loaded perm secret +statement ok con1 +DROP SECRET perm_s1; + +query I con1 +SELECT name FROM duckdb_secrets(); +---- +tmp_s1 + +# con2 still has both secrets +query I con2 +SELECT name FROM duckdb_secrets() ORDER BY name; +---- +perm_s1 +tmp_s2 + +statement ok con1 +COMMIT + +statement ok con2 +COMMIT + +# Now the deletion is visible to con2 +query I con2 +SELECT name FROM duckdb_secrets() ORDER BY name; +---- +tmp_s1 +tmp_s2 \ No newline at end of file diff --git a/test/sql/select/test_multi_column_reference.test b/test/sql/select/test_multi_column_reference.test index 19cf501f7696..3feb30af18b0 100644 --- a/test/sql/select/test_multi_column_reference.test +++ b/test/sql/select/test_multi_column_reference.test @@ -47,9 +47,11 @@ SELECT test.tbl.col FROM test.tbl; # schema name with alias does not work statement error SELECT test.t.col FROM test.tbl t; +---- statement error SELECT test.tbl.col FROM test.tbl t; +---- # check how ties are resolved # we create a table called "t" in a schema called "t" with a column called "t" that has a field called "t" @@ -155,13 +157,17 @@ CREATE TABLE s2.t1 AS SELECT 84 t statement error SELECT s1.t1.t FROM s1.t1, s2.t1 +---- # test various failures statement error SELECT testX.tbl.col FROM test.tbl; +---- statement error SELECT test.tblX.col FROM test.tbl; +---- statement error SELECT test.tbl.colX FROM test.tbl; +---- diff --git a/test/sql/select/test_positional_reference.test b/test/sql/select/test_positional_reference.test index 10f2cb99228b..838925565885 100644 --- a/test/sql/select/test_positional_reference.test +++ b/test/sql/select/test_positional_reference.test @@ -25,19 +25,24 @@ SELECT #1 FROM (SELECT * FROM range(1)) tbl # positional references only consider the inner-most table statement error select (select #1) from range(1); +---- # out of range statement error SELECT #2 FROM range(1) +---- # no from clause statement error SELECT #1 +---- # zero always fails statement error SELECT #0 FROM range(1) +---- # as do negative numbers statement error SELECT #-1 FROM range(1) +---- diff --git a/test/sql/select/test_schema_reference.test b/test/sql/select/test_schema_reference.test index b974b9df4bff..b05c9f886155 100644 --- a/test/sql/select/test_schema_reference.test +++ b/test/sql/select/test_schema_reference.test @@ -18,7 +18,9 @@ SELECT s1.tbl.i FROM s1.tbl; # schema mismatch statement error SELECT s2.tbl.i FROM s1.tbl; +---- # no schema present statement error -SELECT a.tbl.i FROM range(10) tbl(i) \ No newline at end of file +SELECT a.tbl.i FROM range(10) tbl(i) +---- diff --git a/test/sql/select/test_select_empty_table.test b/test/sql/select/test_select_empty_table.test index 4325e6519143..f9b635fe76bf 100644 --- a/test/sql/select/test_select_empty_table.test +++ b/test/sql/select/test_select_empty_table.test @@ -7,4 +7,4 @@ CREATE TABLE integers(i INTEGER) query I SELECT * FROM integers ----- \ No newline at end of file +---- diff --git a/test/sql/select/test_select_into.test b/test/sql/select/test_select_into.test index 30363f33d33b..41b671de457f 100644 --- a/test/sql/select/test_select_into.test +++ b/test/sql/select/test_select_into.test @@ -10,4 +10,5 @@ INSERT INTO t VALUES ('foo'), ('bar'), ('baz'); # unsupported statement error -SELECT * INTO t2 FROM t WHERE t LIKE 'b%'; \ No newline at end of file +SELECT * INTO t2 FROM t WHERE t LIKE 'b%'; +---- diff --git a/test/sql/select/test_select_locking.test b/test/sql/select/test_select_locking.test index 456b91f6c088..ba2b980f9fe8 100644 --- a/test/sql/select/test_select_locking.test +++ b/test/sql/select/test_select_locking.test @@ -8,15 +8,19 @@ CREATE TABLE t (t TEXT); # unsupported statement error SELECT * FROM t FOR UPDATE; +---- # unsupported statement error SELECT * FROM t FOR NO KEY UPDATE; +---- # unsupported statement error SELECT * FROM t FOR SHARE; +---- # unsupported statement error -SELECT * FROM t KEY SHARE; \ No newline at end of file +SELECT * FROM t KEY SHARE; +---- diff --git a/test/sql/setops/ambiguous_order_by.test b/test/sql/setops/ambiguous_order_by.test new file mode 100644 index 000000000000..9d573a897d37 --- /dev/null +++ b/test/sql/setops/ambiguous_order_by.test @@ -0,0 +1,15 @@ +# name: test/sql/setops/ambiguous_order_by.test +# description: Ambiguous ORDER BY in set ops +# group: [setops] + +query II +select * from (values(42, 84)) s1(c1, c2) union all select * from (values(84, 42)) s2(c2, c3) order by c1; +---- +42 84 +84 42 + +query II +select * from (values(42, 84)) s1(c1, c2) union all select * from (values(84, 42)) s2(c2, c3) order by c3; +---- +84 42 +42 84 diff --git a/test/sql/setops/test_full_outer_join_union.test b/test/sql/setops/test_full_outer_join_union.test index 7bbeba8eab1f..68a009053266 100644 --- a/test/sql/setops/test_full_outer_join_union.test +++ b/test/sql/setops/test_full_outer_join_union.test @@ -89,4 +89,4 @@ SELECT COUNT(*) FROM v3 RIGHT JOIN v4 USING (i); query I SELECT COUNT(*) FROM v3 FULL OUTER JOIN v4 USING (i); ---- -8 \ No newline at end of file +8 diff --git a/test/sql/setops/test_pg_union.test b/test/sql/setops/test_pg_union.test new file mode 100644 index 000000000000..09a4698df935 --- /dev/null +++ b/test/sql/setops/test_pg_union.test @@ -0,0 +1,480 @@ +# name: test/sql/setops/test_pg_union.test +# description: Postgres' 'union' tests, taken from src/test/regress/sql/union.sql +# group: [setops] + +statement ok +SET default_null_order='nulls_first'; + +statement ok +PRAGMA enable_verification + + +#-- +#-- UNION (also INTERSECT, EXCEPT) +#-- + +#-- Simple UNION constructs +query I +SELECT 1 AS two UNION SELECT 2 ORDER BY 1; +---- +1 +2 + +query I +SELECT 1 AS one UNION SELECT 1 ORDER BY 1; +---- +1 + +query I +SELECT 1 AS two UNION ALL SELECT 2; +---- +1 +2 + +query I +SELECT 1 AS two UNION ALL SELECT 1; +---- +1 +1 + +query I +SELECT 1 AS three UNION SELECT 2 UNION SELECT 3 ORDER BY 1; +---- +1 +2 +3 + +query I +SELECT 1 AS two UNION SELECT 2 UNION SELECT 2 ORDER BY 1; +---- +1 +2 + +query I +SELECT 1 AS three UNION SELECT 2 UNION ALL SELECT 2 ORDER BY 1; +---- +1 +2 +2 + +query I +SELECT 1.1 AS two UNION SELECT 2.2 ORDER BY 1; +---- +1.1 +2.2 + +#-- Mixed types + +query I +SELECT 1.1 AS two UNION SELECT 2 ORDER BY 1; +---- +1.1 +2.0 + +query I +SELECT 1 AS two UNION SELECT 2.2 ORDER BY 1; +---- +1.0 +2.2 + +query I +SELECT 1 AS one UNION SELECT 1.0::float8 ORDER BY 1; +---- +1.0 + +query I +SELECT 1.1 AS two UNION ALL SELECT 2 ORDER BY 1; +---- +1.1 +2.0 + +query I +SELECT 1.0::float8 AS two UNION ALL SELECT 1 ORDER BY 1; +---- +1.0 +1.0 + +query I +SELECT 1.1 AS three UNION SELECT 2 UNION SELECT 3 ORDER BY 1; +---- +1.1 +2.0 +3.0 + +query I +SELECT 1.1::float8 AS two UNION SELECT 2 UNION SELECT 2.0::float8 ORDER BY 1; +---- +1.1 +2.0 + +query I +SELECT 1.1 AS three UNION SELECT 2 UNION ALL SELECT 2 ORDER BY 1; +---- +1.1 +2.0 +2.0 + +query I +SELECT 1.1 AS two UNION (SELECT 2 UNION ALL SELECT 2) ORDER BY 1; +---- +1.1 +2.0 + +#-- +#-- Try testing from tables... +#-- + +statement ok +CREATE TABLE FLOAT8_TBL(f1 float8); + +statement ok +INSERT INTO FLOAT8_TBL(f1) VALUES + ('0.0'), + ('-34.84'), + ('-1004.30'), + ('-1.2345678901234e+200'), + ('-1.2345678901234e-200'); + +statement ok +CREATE TABLE INT4_TBL(f1 int4); + +statement ok +INSERT INTO INT4_TBL(f1) VALUES + (' 0 '), + ('123456 '), + (' -123456'), + ('2147483647'), -- largest and smallest values + ('-2147483647'); + +statement ok +CREATE TABLE INT8_TBL(q1 int8, q2 int8); + +statement ok +INSERT INTO INT8_TBL VALUES + (' 123 ',' 456'), + ('123 ','4567890123456789'), + ('4567890123456789','123'), + (+4567890123456789,'4567890123456789'), + ('+4567890123456789','-4567890123456789'); + +statement ok +CREATE TABLE CHAR_TBL(f1 char(4)); + +statement ok +INSERT INTO CHAR_TBL (f1) VALUES + ('a'), + ('ab'), + ('abcd'), + ('abcd '); + +statement ok +CREATE TABLE VARCHAR_TBL(f1 varchar(4)); + +statement ok +INSERT INTO VARCHAR_TBL (f1) VALUES + ('a'), + ('ab'), + ('abcd'), + ('abcd '); + +query I +SELECT f1 AS five FROM FLOAT8_TBL +UNION +SELECT f1 FROM FLOAT8_TBL +ORDER BY 1; +---- +-1.2345678901234e+200 +-1004.3 +-34.84 +-1.2345678901234e-200 +0.0 + +query I +SELECT f1 AS ten FROM FLOAT8_TBL +UNION ALL +SELECT f1 FROM FLOAT8_TBL; +---- +0.0 +-34.84 +-1004.3 +-1.2345678901234e+200 +-1.2345678901234e-200 +0.0 +-34.84 +-1004.3 +-1.2345678901234e+200 +-1.2345678901234e-200 + +query I +SELECT f1 AS nine FROM FLOAT8_TBL +UNION +SELECT f1 FROM INT4_TBL +ORDER BY 1; +---- +-1.2345678901234e+200 +-2147483647.0 +-123456.0 +-1004.3 +-34.84 +-1.2345678901234e-200 +0.0 +123456.0 +2147483647.0 + +query I +SELECT f1 AS ten FROM FLOAT8_TBL +UNION ALL +SELECT f1 FROM INT4_TBL; +---- +0.0 +-34.84 +-1004.3 +-1.2345678901234e+200 +-1.2345678901234e-200 +0.0 +123456.0 +-123456.0 +2147483647.0 +-2147483647.0 + +query I +SELECT f1 AS five FROM FLOAT8_TBL + WHERE f1 BETWEEN -1e6 AND 1e6 +UNION +SELECT f1 FROM INT4_TBL + WHERE f1 BETWEEN 0 AND 1000000 +ORDER BY 1; +---- +-1004.3 +-34.84 +-1.2345678901234e-200 +0.0 +123456.0 + +# disabled due to the lack of CHAR() in DuckDB +mode skip + +query I +SELECT CAST(f1 AS char(4)) AS three FROM VARCHAR_TBL +UNION +SELECT f1 FROM CHAR_TBL +ORDER BY 1; +---- + +query I +SELECT f1 AS three FROM VARCHAR_TBL +UNION +SELECT CAST(f1 AS varchar) FROM CHAR_TBL +ORDER BY 1; +---- + +query I +SELECT f1 AS eight FROM VARCHAR_TBL +UNION ALL +SELECT f1 FROM CHAR_TBL; +---- + +query I +SELECT f1 AS five FROM TEXT_TBL +UNION +SELECT f1 FROM VARCHAR_TBL +UNION +SELECT TRIM(TRAILING FROM f1) FROM CHAR_TBL +ORDER BY 1; +---- + +mode unskip + +#-- +#-- INTERSECT and EXCEPT +#-- + +query I +SELECT q2 FROM int8_tbl INTERSECT SELECT q1 FROM int8_tbl ORDER BY 1; +---- +123 +4567890123456789 + +query I +SELECT q2 FROM int8_tbl INTERSECT ALL SELECT q1 FROM int8_tbl ORDER BY 1; +---- +123 +4567890123456789 +4567890123456789 + +query I +SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; +---- +-4567890123456789 +456 + +query I +SELECT q2 FROM int8_tbl EXCEPT ALL SELECT q1 FROM int8_tbl ORDER BY 1; +---- +-4567890123456789 +456 + +query I +SELECT q2 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q1 FROM int8_tbl ORDER BY 1; +---- +-4567890123456789 +456 +4567890123456789 + +query I +SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY 1; +---- + +query I +SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q2 FROM int8_tbl ORDER BY 1; +---- +123 +4567890123456789 + +query I +SELECT q1 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q2 FROM int8_tbl ORDER BY 1; +---- +123 +4567890123456789 +4567890123456789 + +statement error +SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q1 FROM int8_tbl FOR NO KEY UPDATE; +---- + +#-- nested cases +query III +(SELECT 1,2,3 UNION SELECT 4,5,6) INTERSECT SELECT 4,5,6; +---- +4 5 6 + +query III +(SELECT 1,2,3 UNION SELECT 4,5,6 ORDER BY 1,2) INTERSECT SELECT 4,5,6; +---- +4 5 6 + +query III +(SELECT 1,2,3 UNION SELECT 4,5,6) EXCEPT SELECT 4,5,6; +---- +1 2 3 + +query III +(SELECT 1,2,3 UNION SELECT 4,5,6 ORDER BY 1,2) EXCEPT SELECT 4,5,6; +---- +1 2 3 + +#-- +#-- Mixed types +#-- + +query I +SELECT f1 FROM float8_tbl INTERSECT SELECT f1 FROM int4_tbl ORDER BY 1; +---- +0 + +query I +SELECT f1 FROM float8_tbl EXCEPT SELECT f1 FROM int4_tbl ORDER BY 1; +---- +-1.2345678901234e+200 +-1004.3 +-34.84 +-1.2345678901234e-200 + +#-- +#-- Operator precedence and (((((extra))))) parentheses +#-- + +query I +SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl ORDER BY 1; +---- +-4567890123456789 +123 +123 +456 +4567890123456789 +4567890123456789 +4567890123456789 + +query I +SELECT q1 FROM int8_tbl INTERSECT (((SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))) ORDER BY 1; +---- +123 +4567890123456789 + +query I +(((SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl ORDER BY 1))) UNION ALL SELECT q2 FROM int8_tbl; +---- +123 +4567890123456789 +456 +4567890123456789 +123 +4567890123456789 +-4567890123456789 + +query I +SELECT q1 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; +---- +-4567890123456789 +456 + +query I +SELECT q1 FROM int8_tbl UNION ALL (((SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1))); +---- +123 +123 +4567890123456789 +4567890123456789 +4567890123456789 +-4567890123456789 +456 + +query I +(((SELECT q1 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))) EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; +---- +-4567890123456789 +456 + +#-- +#-- Subqueries with ORDER BY & LIMIT clauses +#-- + +#-- In this syntax, ORDER BY/LIMIT apply to the result of the EXCEPT + +# Bug in DuckDB +mode skip + +query II +SELECT q1,q2 FROM int8_tbl EXCEPT SELECT q2,q1 FROM int8_tbl +ORDER BY q2,q1; +---- +4567890123456789 -4567890123456789 +123 456 + +# this should fail but currently does not +statement error +SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1; +---- + +mode unskip + + +query I +SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1))) ORDER BY 1; +---- +123 +4567890123456789 + + +#-- +#-- New syntaxes (7.1) permit new tests +#-- + +query II +(((((select * from int8_tbl))))); +---- +123 456 +123 4567890123456789 +4567890123456789 123 +4567890123456789 4567890123456789 +4567890123456789 -4567890123456789 diff --git a/test/sql/setops/test_setops.test b/test/sql/setops/test_setops.test index 944cadc0edf2..e517543780aa 100644 --- a/test/sql/setops/test_setops.test +++ b/test/sql/setops/test_setops.test @@ -70,8 +70,8 @@ SELECT b FROM test WHERE a < 13 UNION ALL SELECT b FROM test WHERE a > 11 1 2 -# mixing types, should upcast -query T +# mixing types, should error +query I SELECT 1 UNION ALL SELECT 'asdf' ---- 1 @@ -115,3 +115,13 @@ SELECT 1, 'a' UNION ALL SELECT 1, 'a' UNION SELECT 2, 'b' UNION SELECT 1, 'a' OR 2 b 1 a + +# EXCEPT ALL / INTERSECT ALL +query II +select x, count(*) as c +from ((select * from (values(1),(2),(2),(3),(3),(3),(4),(4),(4),(4)) s(x) except all select * from (values(1),(3),(3)) t(x)) intersect all select * from (values(2),(2),(2),(4),(3),(3)) u(x)) s +group by x order by x +---- +2 2 +3 1 +4 1 diff --git a/test/sql/setops/test_union_all_by_name.test b/test/sql/setops/test_union_all_by_name.test index 8484c657f25b..cdba78269c45 100644 --- a/test/sql/setops/test_union_all_by_name.test +++ b/test/sql/setops/test_union_all_by_name.test @@ -67,10 +67,20 @@ NULL 5 # Ambiguous name statement error SELECT x AS a FROM t1 UNION ALL BY NAME SELECT x AS b FROM t1 ORDER BY t1.x; +---- # Error: Binder Error: Ambiguous name in ORDER BY! -statement error -(SELECT x FROM t1 UNION ALL SELECT y FROM t1) UNION ALL BY NAME (SELECT z FROM t2 UNION ALL SELECT y FROM t2) ORDER BY y; +query II +(SELECT x FROM t1 UNION ALL SELECT y FROM t1) UNION ALL BY NAME (SELECT z FROM t2 UNION ALL SELECT y FROM t2) ORDER BY y, z; +---- +NULL 2 +NULL 2 +NULL 4 +NULL 4 +1 NULL +1 NULL +3 NULL +3 NULL query II (SELECT x FROM t1 UNION ALL SELECT y FROM t1) UNION ALL BY NAME (SELECT z FROM t2 UNION ALL SELECT y FROM t2) ORDER BY t1.y; @@ -124,6 +134,7 @@ NULL 4 4 # Error: Binder Error: ORDER term out of range - should be between 1 and 3 statement error SELECT x, y FROM t1 UNION ALL BY NAME SELECT y, z FROM t2 ORDER BY 4; +---- query II (SELECT x FROM t1 ORDER BY y) UNION ALL BY NAME (SELECT y FROM t2 ORDER BY z) ORDER BY x DESC; @@ -158,6 +169,7 @@ NULL NULL 4 4 # number of result columns statement error SELECT 1, 2 FROM t1 UNION (SELECT x, y FROM t1 UNION ALL BY NAME SELECT y, z FROM t2); +---- query III SELECT x, y FROM t1 UNION ALL BY NAME SELECT y, z FROM t2 INTERSECT SELECT 2, 2 FROM t1; @@ -169,6 +181,7 @@ NULL 2 2 #Error: Binder Error: Set operations can only apply to expressions with the same number of result columns statement error SELECT x, y FROM t1 UNION ALL BY NAME SELECT y, z FROM t2 EXCEPT SELECT 2, 2 FROM t1; +---- # have to sort here too because EXCEPT does not preserve order query III sort @@ -184,6 +197,7 @@ NULL 4 4 # Error: Binder Error: UNION ALL BY NAME operation doesn't support same name in SELECT list statement error SELECT x, x FROM t1 UNION ALL BY NAME SELECT y FROM t2; +---- query III SELECT x, x as a FROM t1 UNION ALL BY NAME SELECT y FROM t2; @@ -206,10 +220,10 @@ NULL 1 ########## type cast -query I +statement error SELECT DISTINCT ON(x) x FROM (SELECT 1 as x UNION ALL BY NAME SELECT '1' as x); ---- -1 +an explicit cast is required # have to sort here too because distinct on is hash-based, does not preserve order query I sort diff --git a/test/sql/setops/test_union_binding.test b/test/sql/setops/test_union_binding.test index 2f40fc10d942..a12498b3cd98 100644 --- a/test/sql/setops/test_union_binding.test +++ b/test/sql/setops/test_union_binding.test @@ -52,6 +52,7 @@ NULL # hence this does not work: "b" is from the second query statement error SELECT b FROM (SELECT * FROM test UNION SELECT * FROM test2) res ORDER BY 1; +---- # it works if we reverse the tables query I @@ -93,12 +94,22 @@ NULL 4 # if names are ambiguous, throw an error -statement error -SELECT 1, a FROM test UNION SELECT b AS a, 1 FROM test2 ORDER BY a; +query II +SELECT 1, a FROM test UNION SELECT b AS a, 1 FROM test2 ORDER BY a, 1; +---- +1 NULL +NULL 1 +1 1 +2 1 +3 1 +4 1 +1 2 +1 3 # if expressions are ambiguous as well, throw an error statement error SELECT 1, a+1 FROM test UNION SELECT a+1, 1 FROM test ORDER BY a+1; +---- # also if we have multiple setops query I @@ -133,9 +144,16 @@ NULL NULL 2 8 1 9 -# ambiguous naming reference should fail -statement error +query II SELECT a, 10 - a AS b FROM test UNION SELECT b, b + 1 FROM test2 ORDER BY b; +---- +NULL NULL +2 3 +3 4 +4 5 +3 7 +2 8 +1 9 # and by constant references query I @@ -150,6 +168,7 @@ NULL # out of range constant reference statement error SELECT a FROM test UNION SELECT b FROM test2 ORDER BY 2; +---- # what if our subqueries have an order by clause? query I diff --git a/test/sql/setops/test_union_by_name.test b/test/sql/setops/test_union_by_name.test index 43ef9a03b4a4..7d7cb34ecd3f 100644 --- a/test/sql/setops/test_union_by_name.test +++ b/test/sql/setops/test_union_by_name.test @@ -54,11 +54,15 @@ NULL 5 #Error: Binder Error: Ambiguous reference to column statement error SELECT x AS a FROM t1 UNION BY NAME SELECT x AS b FROM t1 ORDER BY t1.x; +---- -# Error: Binder Error: Ambiguous name in ORDER BY! -statement error -(SELECT x FROM t1 UNION ALL SELECT y FROM t1) UNION BY NAME (SELECT z FROM t2 UNION ALL SELECT y FROM t2) ORDER BY y; - +query II +(SELECT x FROM t1 UNION ALL SELECT y FROM t1) UNION BY NAME (SELECT z FROM t2 UNION ALL SELECT y FROM t2) ORDER BY y, z; +---- +NULL 2 +NULL 4 +1 NULL +3 NULL ########## test limit @@ -92,6 +96,7 @@ NULL 4 4 # Error: Binder Error: ORDER term out of range - should be between 1 and 3 statement error SELECT x, y FROM t1 UNION BY NAME SELECT y, z FROM t2 ORDER BY 4; +---- ########## multi set operations diff --git a/test/sql/setops/test_union_error.test b/test/sql/setops/test_union_error.test index d8c5ef6db298..ff8b3c12aa20 100644 --- a/test/sql/setops/test_union_error.test +++ b/test/sql/setops/test_union_error.test @@ -7,3 +7,4 @@ PRAGMA enable_verification statement error SELECT x::INT FROM (SELECT x::VARCHAR x FROM range(10) tbl(x) UNION ALL SELECT 'hello' x) tbl(x); +---- diff --git a/test/sql/setops/test_union_type_cast.test b/test/sql/setops/test_union_type_cast.test index bebbe10e1563..c3b28c519356 100644 --- a/test/sql/setops/test_union_type_cast.test +++ b/test/sql/setops/test_union_type_cast.test @@ -37,7 +37,7 @@ SELECT 1 UNION ALL (SELECT 1.0 UNION ALL SELECT 1.0 UNION ALL SELECT 1.0) UNION 1 1 -query T +query I SELECT 1 UNION (SELECT '1' UNION SELECT '1' UNION SELECT '1') UNION SELECT 1; ---- 1 diff --git a/test/sql/settings/errors_as_json.test b/test/sql/settings/errors_as_json.test new file mode 100644 index 000000000000..a2c2fdd8f2e3 --- /dev/null +++ b/test/sql/settings/errors_as_json.test @@ -0,0 +1,24 @@ +# name: test/sql/settings/errors_as_json.test +# description: Test errors_as_json setting +# group: [settings] + +statement ok +PRAGMA enable_verification + +statement ok +SET errors_as_json=true + +statement error +SELECT * FROM nonexistent_table +---- +MISSING_ENTRY + +statement error +SELECT cbl FROM (VALUES (42)) t(col) +---- +COLUMN_NOT_FOUND + +statement error +select corr('hello', 'world') +---- +NO_MATCHING_FUNCTION diff --git a/test/sql/settings/setting_collation.test b/test/sql/settings/setting_collation.test index 74ff66105250..4e681fee7431 100644 --- a/test/sql/settings/setting_collation.test +++ b/test/sql/settings/setting_collation.test @@ -40,6 +40,7 @@ wozld statement error PRAGMA default_collation='unknown' +---- statement ok SET GLOBAL default_collation='NOCASE' diff --git a/test/sql/settings/setting_disabled_optimizer.test b/test/sql/settings/setting_disabled_optimizer.test index 6f2b7fd2b5fb..5e0c4da49c25 100644 --- a/test/sql/settings/setting_disabled_optimizer.test +++ b/test/sql/settings/setting_disabled_optimizer.test @@ -16,6 +16,8 @@ SELECT current_setting('disabled_optimizers'); statement error SET disabled_optimizers TO 'expression_rewriteX' +---- statement error SET disabled_optimizers TO 'unknown_optimizer' +---- diff --git a/test/sql/settings/setting_exhaustive.test b/test/sql/settings/setting_exhaustive.test index 364a7690f2ae..3f399bb5b0b2 100644 --- a/test/sql/settings/setting_exhaustive.test +++ b/test/sql/settings/setting_exhaustive.test @@ -5,6 +5,7 @@ # debug_window_mode statement error SET debug_window_mode='unknown'; +---- # default_order foreach default_order ASC DESC @@ -19,10 +20,12 @@ endloop statement error SET default_order='unknown'; +---- # enable_external_access statement error SET enable_external_access=true +---- # enable_profiling statement ok @@ -40,6 +43,7 @@ endloop statement error SET enable_profiling='unknown'; +---- # enable_progress_bar statement ok @@ -50,6 +54,7 @@ SET enable_progress_bar=true; statement error SET GLOBAL enable_progress_bar=true; +---- # explain_output foreach explain_output all optimized_only physical_only @@ -64,3 +69,4 @@ endloop statement error SET explain_output='unknown'; +---- diff --git a/test/sql/settings/setting_null_order.test b/test/sql/settings/setting_null_order.test index 64d6852f9276..3e2b4e33186c 100644 --- a/test/sql/settings/setting_null_order.test +++ b/test/sql/settings/setting_null_order.test @@ -30,6 +30,7 @@ NULL statement error ${statement_type} ${null_order_type}='unknown_null_order' +---- endloop diff --git a/test/sql/settings/setting_order.test b/test/sql/settings/setting_order.test index 1c726d458902..03a328304450 100644 --- a/test/sql/settings/setting_order.test +++ b/test/sql/settings/setting_order.test @@ -26,9 +26,11 @@ SELECT * FROM range(3) ORDER BY 1 statement error ${statement_type} default_order='unknown_order' +---- endloop # this can only be set globally (for now) statement error SET SESSION default_order='asc' +---- diff --git a/test/sql/settings/setting_profiling_mode.test b/test/sql/settings/setting_profiling_mode.test index 657fbc8b3d33..799b91fd8da2 100644 --- a/test/sql/settings/setting_profiling_mode.test +++ b/test/sql/settings/setting_profiling_mode.test @@ -10,3 +10,4 @@ SET profiling_mode='detailed'; statement error SET profiling_mode='unknown'; +---- diff --git a/test/sql/settings/setting_threads.test b/test/sql/settings/setting_threads.test index 57b95e9a0bc8..702511f61580 100644 --- a/test/sql/settings/setting_threads.test +++ b/test/sql/settings/setting_threads.test @@ -9,8 +9,10 @@ SET ${thread_type} TO '3' statement error SET ${thread_type} TO '-1' +---- statement error SET ${thread_type} TO 'blabla' +---- endloop diff --git a/test/sql/show_select/describe_subquery.test b/test/sql/show_select/describe_subquery.test new file mode 100644 index 000000000000..ab003923c867 --- /dev/null +++ b/test/sql/show_select/describe_subquery.test @@ -0,0 +1,30 @@ +# name: test/sql/show_select/describe_subquery.test +# description: Test describe in subquery +# group: [show_select] + +statement ok +PRAGMA enable_verification + +query I +SELECT column_name FROM (DESCRIBE SELECT 42 AS a) +---- +a + +query I +SELECT t.column_name FROM (DESCRIBE SELECT 42 AS a) t +---- +a + +statement ok +(DESCRIBE SELECT 42 AS a) + +statement ok +CREATE TABLE t AS SELECT 42 AS a + +query I +SELECT t.column_name FROM (DESCRIBE t) t +---- +a + +statement ok +FROM (SHOW databases) t diff --git a/test/sql/show_select/summarize_subquery.test b/test/sql/show_select/summarize_subquery.test new file mode 100644 index 000000000000..4ee2f52dfb36 --- /dev/null +++ b/test/sql/show_select/summarize_subquery.test @@ -0,0 +1,18 @@ +# name: test/sql/show_select/summarize_subquery.test +# group: [show_select] + +statement ok +pragma enable_verification; + +query II +SELECT column_name, min FROM (SUMMARIZE SELECT 42 AS a); +---- +a 42 + +statement ok +CREATE TABLE tbl AS SELECT 42 AS a + +query II +SELECT column_name, min FROM (SUMMARIZE tbl); +---- +a 42 diff --git a/test/sql/show_select/test_describe_all.test b/test/sql/show_select/test_describe_all.test index 5f621570248b..321c54113dfc 100644 --- a/test/sql/show_select/test_describe_all.test +++ b/test/sql/show_select/test_describe_all.test @@ -13,7 +13,7 @@ CREATE TABLE integers(i INTEGER, j INTEGER, a INTEGER); statement ok DESCRIBE; -query IIIIII +query TTTTTT DESCRIBE ---- memory main integers [i, j, a] [INTEGER, INTEGER, INTEGER] false @@ -25,7 +25,7 @@ DROP TABLE integers statement ok create table t(plant text, dt date, mwh bigint); -query IIIIII +query TTTTTT DESCRIBE; ---- memory main t [plant, dt, mwh] [VARCHAR, DATE, BIGINT] false diff --git a/test/sql/show_select/test_summarize.test b/test/sql/show_select/test_summarize.test index 931fcc856b02..6ea6f4aa541c 100644 --- a/test/sql/show_select/test_summarize.test +++ b/test/sql/show_select/test_summarize.test @@ -6,10 +6,13 @@ statement ok PRAGMA enable_verification statement ok -CREATE TABLE types(i INTEGER, j VARCHAR, k HUGEINT, d DOUBLE, e BLOB) +CREATE TABLE types(i INTEGER, j VARCHAR, k HUGEINT, d DOUBLE, e BLOB); statement ok -INSERT INTO types VALUES (1, 'hello', 12, 0.5, BLOB 'a\x00b\x00c'), (2, 'world', -12, -0.5, BLOB ''), (3, NULL, NULL, NULL, NULL); +INSERT INTO types VALUES + (1, 'hello', 12, 0.5, BLOB 'a\x00b\x00c'), + (2, 'world', -12, -0.5, BLOB ''), + (3, NULL, NULL, NULL, NULL); query IIII SELECT UNNEST(['i', 'j', 'k', 'd', 'e']) column_names, @@ -27,20 +30,31 @@ e BLOB (empty) a\x00b\x00c query IIIIIIIIIIII SUMMARIZE types; ---- -i INTEGER 1 3 3 2.0 1.0 1 2 3 3 0.0% -j VARCHAR hello world 2 NULL NULL NULL NULL NULL 3 33.33% -k HUGEINT -12 12 2 0.0 16.97056274847714 -12 0 12 3 33.33% -d DOUBLE -0.5 0.5 2 0.0 0.7071067811865476 -0.5 0.0 0.5 3 33.33% -e BLOB (empty) a\x00b\x00c 2 NULL NULL NULL NULL NULL 3 33.33% +i INTEGER 1 3 3 2.0 1.0 1 2 3 3 0.0 +j VARCHAR hello world 2 NULL NULL NULL NULL NULL 3 33.33 +k HUGEINT -12 12 2 0.0 16.97056274847714 -12 0 12 3 33.33 +d DOUBLE -0.5 0.5 2 0.0 0.7071067811865476 -0.5 0.0 0.5 3 33.33 +e BLOB (empty) a\x00b\x00c 2 NULL NULL NULL NULL NULL 3 33.33 query IIIIIIIIIIII SUMMARIZE SELECT * FROM types; ---- -i INTEGER 1 3 3 2.0 1.0 1 2 3 3 0.0% -j VARCHAR hello world 2 NULL NULL NULL NULL NULL 3 33.33% -k HUGEINT -12 12 2 0.0 16.97056274847714 -12 0 12 3 33.33% -d DOUBLE -0.5 0.5 2 0.0 0.7071067811865476 -0.5 0.0 0.5 3 33.33% -e BLOB (empty) a\x00b\x00c 2 NULL NULL NULL NULL NULL 3 33.33% +i INTEGER 1 3 3 2.0 1.0 1 2 3 3 0.0 +j VARCHAR hello world 2 NULL NULL NULL NULL NULL 3 33.33 +k HUGEINT -12 12 2 0.0 16.97056274847714 -12 0 12 3 33.33 +d DOUBLE -0.5 0.5 2 0.0 0.7071067811865476 -0.5 0.0 0.5 3 33.33 +e BLOB (empty) a\x00b\x00c 2 NULL NULL NULL NULL NULL 3 33.33 statement ok SUMMARIZE VALUES (1.0),(6754950520); + +# Various overflows +statement ok +SUMMARIZE SELECT 9223372036854775296; + +statement ok +summarize select bigint from test_all_types(); + +statement ok +summarize select 9223372036854775295; + diff --git a/test/sql/show_select/test_summarize_quoted.test b/test/sql/show_select/test_summarize_quoted.test index 2fd44554d158..fab420dcd12d 100644 --- a/test/sql/show_select/test_summarize_quoted.test +++ b/test/sql/show_select/test_summarize_quoted.test @@ -11,7 +11,7 @@ create table "a.b.c" (x int); query IIIIIIIIIIII summarize "a.b.c"; ---- -x INTEGER NULL NULL 0 NULL NULL NULL NULL NULL 0 % +x INTEGER NULL NULL 0 NULL NULL NULL NULL NULL 0 NULL statement ok create schema defg; @@ -26,7 +26,7 @@ create table defg."a.b.c" (x int); query IIIIIIIIIIII summarize defg."a.b.c"; ---- -x INTEGER NULL NULL 0 NULL NULL NULL NULL NULL 0 % +x INTEGER NULL NULL 0 NULL NULL NULL NULL NULL 0 NULL statement ok drop table defg."a.b.c"; @@ -38,7 +38,7 @@ create table defg.abc (x int); query IIIIIIIIIIII summarize defg.abc; ---- -x INTEGER NULL NULL 0 NULL NULL NULL NULL NULL 0 % +x INTEGER NULL NULL 0 NULL NULL NULL NULL NULL 0 NULL statement ok drop table defg.abc; @@ -56,7 +56,7 @@ create table "d.e.f.g"."a.b.c" (x int); query IIIIIIIIIIII summarize "d.e.f.g"."a.b.c"; ---- -x INTEGER NULL NULL 0 NULL NULL NULL NULL NULL 0 % +x INTEGER NULL NULL 0 NULL NULL NULL NULL NULL 0 NULL statement ok drop table "d.e.f.g"."a.b.c" @@ -68,4 +68,4 @@ create table "d.e.f.g".abc (x int); query IIIIIIIIIIII summarize "d.e.f.g".abc; ---- -x INTEGER NULL NULL 0 NULL NULL NULL NULL NULL 0 % +x INTEGER NULL NULL 0 NULL NULL NULL NULL NULL 0 NULL diff --git a/test/sql/storage/alter/alter_column_constraint.test b/test/sql/storage/alter/alter_column_constraint.test index 4e9bde22a84f..7174ffbd05f4 100644 --- a/test/sql/storage/alter/alter_column_constraint.test +++ b/test/sql/storage/alter/alter_column_constraint.test @@ -17,11 +17,13 @@ ALTER TABLE a ADD COLUMN c REAL; statement error INSERT INTO a(id) VALUES (1); +---- restart statement error INSERT INTO a(id) VALUES (1); +---- # add default statement ok @@ -29,11 +31,13 @@ ALTER TABLE a ALTER COLUMN c SET DEFAULT 10; statement error INSERT INTO a(id) VALUES (1); +---- restart statement error INSERT INTO a(id) VALUES (1); +---- # rename column statement ok @@ -41,11 +45,13 @@ ALTER TABLE a RENAME c TO d; statement error INSERT INTO a(id) VALUES (1); +---- restart statement error INSERT INTO a(id) VALUES (1); +---- # rename table statement ok @@ -53,11 +59,13 @@ ALTER TABLE a RENAME TO b; statement error INSERT INTO b(id) VALUES (1); +---- restart statement error INSERT INTO b(id) VALUES (1); +---- # drop column statement ok @@ -65,11 +73,13 @@ ALTER TABLE b DROP d; statement error INSERT INTO b(id) VALUES (1); +---- restart statement error INSERT INTO b(id) VALUES (1); +---- statement ok -INSERT INTO b(id) VALUES (2); \ No newline at end of file +INSERT INTO b(id) VALUES (2); diff --git a/test/sql/storage/append_strings_to_persistent.test b/test/sql/storage/append_strings_to_persistent.test index 7b59e32c7bb7..692e8d5d8faf 100644 --- a/test/sql/storage/append_strings_to_persistent.test +++ b/test/sql/storage/append_strings_to_persistent.test @@ -32,4 +32,4 @@ INSERT INTO vals SELECT i, i::VARCHAR FROM generate_series(10001,100000) t(i) query IIII SELECT MIN(i), MAX(i), MIN(v), MAX(v) FROM vals ---- -1 100000 10 hello \ No newline at end of file +1 100000 10 hello diff --git a/test/sql/storage/bc/test_view_v092.test b/test/sql/storage/bc/test_view_v092.test new file mode 100644 index 000000000000..1e920330dfaa --- /dev/null +++ b/test/sql/storage/bc/test_view_v092.test @@ -0,0 +1,31 @@ +# name: test/sql/storage/bc/test_view_v092.test +# description: Test reading database with views +# group: [bc] + +load data/storage/views_092.db readonly + +statement ok +PRAGMA enable_verification + +# query the views directly +query I +SELECT * FROM v1 +---- + +query I +SELECT * FROM v2 +---- + +query I +SELECT * FROM v3 +---- + +# run metadata functions +statement ok +SHOW TABLES + +statement ok +FROM duckdb_views() + +statement ok +FROM duckdb_columns() diff --git a/test/sql/storage/buffer_manager.test_slow b/test/sql/storage/buffer_manager.test_slow index 42dd2558006b..ceec625ac949 100644 --- a/test/sql/storage/buffer_manager.test_slow +++ b/test/sql/storage/buffer_manager.test_slow @@ -32,6 +32,7 @@ SELECT i, MIN(i), MAX(i) FROM range(9000) tbl(i) GROUP BY i # 1M integers is too much -> does not fit into 1MB statement error SELECT i, MIN(i), MAX(i) FROM range(1000000) tbl(i) GROUP BY i +---- # we can group by 9K integers a bunch of times -> memory should be released between queries loop i 0 10 @@ -52,6 +53,7 @@ CREATE TABLE t1 AS SELECT * FROM range(10000) tbl(i) # we can't create a table with 1M integers: not enough memory! statement error CREATE TABLE t2 AS SELECT * FROM range(1000000) tbl(i) +---- # if we drop the table, we can re-use any memory that the table took up (i.e. the memory gets released again) loop i 0 10 diff --git a/test/sql/storage/buffer_manager_temp_dir.test b/test/sql/storage/buffer_manager_temp_dir.test index 87ec129dddfb..01438ab38bad 100644 --- a/test/sql/storage/buffer_manager_temp_dir.test +++ b/test/sql/storage/buffer_manager_temp_dir.test @@ -15,6 +15,7 @@ PRAGMA memory_limit='2MB' # hence this creation should fail as the table does not fit within our memory limit statement error CREATE TABLE t2 AS SELECT * FROM range(1000000); +---- # after we set the temp directory, we can create this table statement ok @@ -26,3 +27,4 @@ CREATE TABLE t2 AS SELECT * FROM range(1000000); # after the temp directory is created, we can't change the temp directory again statement error PRAGMA temp_directory='' +---- diff --git a/test/sql/storage/catalog/generated_columns/virtual/constraints.test b/test/sql/storage/catalog/generated_columns/virtual/constraints.test index 69e943fe29e7..84cf79b9c967 100644 --- a/test/sql/storage/catalog/generated_columns/virtual/constraints.test +++ b/test/sql/storage/catalog/generated_columns/virtual/constraints.test @@ -23,6 +23,7 @@ restart statement error INSERT INTO tbl VALUES (5, 'test'); +---- restart @@ -56,6 +57,7 @@ restart statement error INSERT INTO tbl VALUES (5, 'test'); +---- restart @@ -94,6 +96,7 @@ restart statement error INSERT INTO tbl VALUES (6,'test'); +---- restart @@ -124,6 +127,7 @@ restart statement error INSERT INTO tbl VALUES (6,'test'); +---- restart @@ -183,6 +187,7 @@ SELECT * FROM tbl; # gcol1 is a dependency of gcol2 statement error ALTER TABLE tbl DROP COLUMN gcol1; +---- # gcol2 is not a dependency of anything statement ok diff --git a/test/sql/storage/catalog/test_check_constraint.test b/test/sql/storage/catalog/test_check_constraint.test index 93a366f3288e..b4ac4e9ed055 100644 --- a/test/sql/storage/catalog/test_check_constraint.test +++ b/test/sql/storage/catalog/test_check_constraint.test @@ -19,10 +19,12 @@ INSERT INTO test VALUES (3, 7); # check constraint on a violated (a < 10) statement error INSERT INTO test VALUES (12, 13); +---- # check constraint on b violated (b < 10) => (a < b) statement error INSERT INTO test VALUES (5, 3); +---- # check constraint on b not violated !(b < 10) => (a + b < 100) statement ok @@ -31,3 +33,4 @@ INSERT INTO test VALUES (9, 90); # check constraint on b violated !(b < 10) => (a + b < 100) statement error INSERT INTO test VALUES (9, 99); +---- diff --git a/test/sql/storage/catalog/test_drop_table.test b/test/sql/storage/catalog/test_drop_table.test index e36fa7a20c23..c538ef4ac60b 100644 --- a/test/sql/storage/catalog/test_drop_table.test +++ b/test/sql/storage/catalog/test_drop_table.test @@ -50,4 +50,4 @@ statement ok CREATE SCHEMA test; statement ok -CREATE TABLE test.test (a INTEGER, b INTEGER); \ No newline at end of file +CREATE TABLE test.test (a INTEGER, b INTEGER); diff --git a/test/sql/storage/catalog/test_macro_storage.test b/test/sql/storage/catalog/test_macro_storage.test index 062b34a07619..2e532d3bbc5e 100644 --- a/test/sql/storage/catalog/test_macro_storage.test +++ b/test/sql/storage/catalog/test_macro_storage.test @@ -34,6 +34,7 @@ restart statement error SELECT plus1(2) +---- # after recreating the macro we can use it again statement ok diff --git a/test/sql/storage/catalog/test_not_null_constraint.test b/test/sql/storage/catalog/test_not_null_constraint.test index b708927f5191..156bbcbb9f73 100644 --- a/test/sql/storage/catalog/test_not_null_constraint.test +++ b/test/sql/storage/catalog/test_not_null_constraint.test @@ -20,6 +20,7 @@ restart # constraint failure statement error INSERT INTO test VALUES (NULL) +---- # constraint ok statement ok diff --git a/test/sql/storage/catalog/test_store_add_column_persistent.test b/test/sql/storage/catalog/test_store_add_column_persistent.test index cc234728a908..48839ca0ee3a 100644 --- a/test/sql/storage/catalog/test_store_add_column_persistent.test +++ b/test/sql/storage/catalog/test_store_add_column_persistent.test @@ -34,4 +34,4 @@ SELECT k FROM test ORDER BY k ---- 2 2 -2 \ No newline at end of file +2 diff --git a/test/sql/storage/catalog/test_store_rename_column.test b/test/sql/storage/catalog/test_store_rename_column.test index ec99ac95101d..2625d50a23cf 100644 --- a/test/sql/storage/catalog/test_store_rename_column.test +++ b/test/sql/storage/catalog/test_store_rename_column.test @@ -76,3 +76,4 @@ SELECT k FROM test ORDER BY k statement error SELECT a FROM test +---- diff --git a/test/sql/storage/catalog/test_store_sequences.test b/test/sql/storage/catalog/test_store_sequences.test index 4b7b1d374d2f..2832f1ded681 100644 --- a/test/sql/storage/catalog/test_store_sequences.test +++ b/test/sql/storage/catalog/test_store_sequences.test @@ -60,6 +60,7 @@ restart # verify that sequence is gone statement error SELECT nextval('seq') +---- # other sequence is still there statement ok diff --git a/test/sql/storage/catalog/test_store_temporary.test b/test/sql/storage/catalog/test_store_temporary.test index 7237a2a1d8ef..ee2d23f3ab95 100644 --- a/test/sql/storage/catalog/test_store_temporary.test +++ b/test/sql/storage/catalog/test_store_temporary.test @@ -27,6 +27,7 @@ DELETE FROM temp.a # check schema statement error DELETE FROM asdf.a +---- # temporary sequences statement ok @@ -77,6 +78,7 @@ SELECT * FROM persistent # temporary table is gone statement error SELECT * FROM a +---- statement ok CREATE TEMPORARY TABLE a (i INTEGER) diff --git a/test/sql/storage/catalog/test_table_macro_storage.test b/test/sql/storage/catalog/test_table_macro_storage.test index 77846e77f719..0b22d49921bd 100644 --- a/test/sql/storage/catalog/test_table_macro_storage.test +++ b/test/sql/storage/catalog/test_table_macro_storage.test @@ -52,6 +52,7 @@ DROP MACRO TABLE xt; statement error SELECT * from my_seq(0,10,2); +---- # create another macro to check the WAL statement ok @@ -70,9 +71,11 @@ restart statement error SELECT * FROM xt(100, 'joe'); +---- statement error SELECT * FROM my_seq(0,3,2); +---- query I SELECT * from my_range(2); diff --git a/test/sql/storage/catalog/test_view_explicit_aliases.test b/test/sql/storage/catalog/test_view_explicit_aliases.test index 994cd11ebedb..f6ee0db8899a 100644 --- a/test/sql/storage/catalog/test_view_explicit_aliases.test +++ b/test/sql/storage/catalog/test_view_explicit_aliases.test @@ -44,6 +44,7 @@ PRAGMA table_info('test.v') statement error SELECT * FROM test.v +---- # we can query again after recreating the table statement ok diff --git a/test/sql/storage/catalog/test_view_storage.test b/test/sql/storage/catalog/test_view_storage.test index 832aaf212573..d69e519193e9 100644 --- a/test/sql/storage/catalog/test_view_storage.test +++ b/test/sql/storage/catalog/test_view_storage.test @@ -36,6 +36,7 @@ PRAGMA table_info('test.v') # but querying the view fails statement error SELECT * FROM test.v +---- loop i 0 2 @@ -53,6 +54,7 @@ PRAGMA table_info('test.v') statement error SELECT * FROM test.v +---- # after recreating the table, we can query the view again statement ok diff --git a/test/sql/storage/checkpoint_abort.test_slow b/test/sql/storage/checkpoint_abort.test_slow index 040bfbfcc5b6..43eeb59cab97 100644 --- a/test/sql/storage/checkpoint_abort.test_slow +++ b/test/sql/storage/checkpoint_abort.test_slow @@ -45,6 +45,7 @@ SELECT MIN(i), MAX(i), COUNT(*) FROM integers statement error CHECKPOINT; +---- restart @@ -73,6 +74,7 @@ UPDATE integers SET i=i; statement error CHECKPOINT; +---- restart diff --git a/test/sql/storage/checkpoint_abort_after_free_list.test_slow b/test/sql/storage/checkpoint_abort_after_free_list.test_slow index c6f6b4d66e81..b33834770b3d 100644 --- a/test/sql/storage/checkpoint_abort_after_free_list.test_slow +++ b/test/sql/storage/checkpoint_abort_after_free_list.test_slow @@ -4,7 +4,6 @@ require skip_reload - load __TEST_DIR__/checkpoint_abort.db statement ok @@ -20,19 +19,20 @@ statement ok PRAGMA wal_autocheckpoint='1TB'; statement ok -PRAGMA debug_checkpoint_abort='after_free_list_write' +PRAGMA debug_checkpoint_abort='after_free_list_write'; statement ok INSERT INTO integers SELECT * FROM range(100000, 200000) tbl(i); statement error CHECKPOINT; +---- restart # verify that the change was correctly loaded from disk query III -SELECT MIN(i), MAX(i), COUNT(*) FROM integers +SELECT MIN(i), MAX(i), COUNT(*) FROM integers; ---- 0 199999 200000 @@ -48,25 +48,26 @@ statement ok PRAGMA wal_autocheckpoint='1TB'; statement ok -PRAGMA debug_checkpoint_abort='after_free_list_write' +PRAGMA debug_checkpoint_abort='after_free_list_write'; statement ok UPDATE integers SET i=i; statement error CHECKPOINT; +---- restart # verify that the change was correctly loaded from disk query III -SELECT MIN(i), MAX(i), COUNT(*) FROM integers +SELECT MIN(i), MAX(i), COUNT(*) FROM integers; ---- 0 199999 200000 -query I -select total_blocks < 25 from pragma_database_size(); ----- -true +# ensure that the expected total storage size is the same as in the first iteration of the loop + +query I nosort expected_blocks +SELECT total_blocks FROM pragma_database_size(); endloop diff --git a/test/sql/storage/checkpoint_abort_before_header.test_slow b/test/sql/storage/checkpoint_abort_before_header.test_slow index f2502d359cae..dff2ea101ee3 100644 --- a/test/sql/storage/checkpoint_abort_before_header.test_slow +++ b/test/sql/storage/checkpoint_abort_before_header.test_slow @@ -4,7 +4,6 @@ require skip_reload - load __TEST_DIR__/checkpoint_abort.db statement ok @@ -20,26 +19,28 @@ statement ok PRAGMA wal_autocheckpoint='1TB'; statement ok -PRAGMA debug_checkpoint_abort='before_header' +PRAGMA debug_checkpoint_abort='before_header'; statement ok INSERT INTO integers SELECT * FROM range(100000, 200000) tbl(i); statement error CHECKPOINT; +---- +Checkpoint aborted before header write restart # verify that the change was correctly loaded from disk query III -SELECT MIN(i), MAX(i), COUNT(*) FROM integers +SELECT MIN(i), MAX(i), COUNT(*) FROM integers; ---- 0 199999 200000 -# now verify that empty blocks left by a checkpoint aborts are re-used +# now verify that empty blocks left by a checkpoint abort are re-used # so that checkpoint aborts don't permanently leave holes in the file -loop i 0 100 +loop i 0 50 statement ok PRAGMA disable_checkpoint_on_shutdown; @@ -48,25 +49,27 @@ statement ok PRAGMA wal_autocheckpoint='1TB'; statement ok -PRAGMA debug_checkpoint_abort='before_header' +PRAGMA debug_checkpoint_abort='before_header'; statement ok UPDATE integers SET i=i; statement error CHECKPOINT; +---- +Checkpoint aborted before header write restart # verify that the change was correctly loaded from disk query III -SELECT MIN(i), MAX(i), COUNT(*) FROM integers +SELECT MIN(i), MAX(i), COUNT(*) FROM integers; ---- 0 199999 200000 -query I -select total_blocks < 25 from pragma_database_size(); ----- -true +# ensure that the expected total storage size is the same as in the first iteration of the loop + +query I nosort expected_blocks +SELECT total_blocks FROM pragma_database_size(); endloop diff --git a/test/sql/storage/checkpoint_abort_before_truncate.test_slow b/test/sql/storage/checkpoint_abort_before_truncate.test_slow index 452bdea4a279..c7c44f0886ff 100644 --- a/test/sql/storage/checkpoint_abort_before_truncate.test_slow +++ b/test/sql/storage/checkpoint_abort_before_truncate.test_slow @@ -4,7 +4,6 @@ require skip_reload - load __TEST_DIR__/checkpoint_abort.db statement ok @@ -20,19 +19,20 @@ statement ok PRAGMA wal_autocheckpoint='1TB'; statement ok -PRAGMA debug_checkpoint_abort='before_truncate' +PRAGMA debug_checkpoint_abort='before_truncate'; statement ok INSERT INTO integers SELECT * FROM range(100000, 200000) tbl(i); statement error CHECKPOINT; +---- restart # verify that the change was correctly loaded from disk query III -SELECT MIN(i), MAX(i), COUNT(*) FROM integers +SELECT MIN(i), MAX(i), COUNT(*) FROM integers; ---- 0 199999 200000 @@ -48,25 +48,26 @@ statement ok PRAGMA wal_autocheckpoint='1TB'; statement ok -PRAGMA debug_checkpoint_abort='before_truncate' +PRAGMA debug_checkpoint_abort='before_truncate'; statement ok UPDATE integers SET i=i; statement error CHECKPOINT; +---- restart # verify that the change was correctly loaded from disk query III -SELECT MIN(i), MAX(i), COUNT(*) FROM integers +SELECT MIN(i), MAX(i), COUNT(*) FROM integers; ---- 0 199999 200000 -query I -select total_blocks < 25 from pragma_database_size(); ----- -true +# ensure that the expected total storage size is the same as in the first iteration of the loop + +query I nosort expected_blocks +SELECT total_blocks FROM pragma_database_size(); endloop diff --git a/test/sql/storage/checkpoint_with_pending_updates.test_slow b/test/sql/storage/checkpoint_with_pending_updates.test_slow index 037e3b6851c9..edd2072bc37d 100644 --- a/test/sql/storage/checkpoint_with_pending_updates.test_slow +++ b/test/sql/storage/checkpoint_with_pending_updates.test_slow @@ -20,6 +20,7 @@ UPDATE test SET i=i+1; # cannot checkpoint: this transaction has transaction-local changes statement error CHECKPOINT +---- statement ok ROLLBACK @@ -37,6 +38,7 @@ UPDATE test SET i=i+1; # We ALSO cannot force checkpoint when we have transaction local changes ourselves (can only abort OTHER transactions) statement error FORCE CHECKPOINT +---- statement ok ROLLBACK diff --git a/test/sql/storage/commit_abort.test b/test/sql/storage/commit_abort.test index d429b05c9331..24291596a30d 100644 --- a/test/sql/storage/commit_abort.test +++ b/test/sql/storage/commit_abort.test @@ -42,6 +42,7 @@ COMMIT statement error con2 COMMIT +---- statement ok con1 INSERT INTO test VALUES (15, NULL, NULL) diff --git a/test/sql/storage/commit_abort_large.test_slow b/test/sql/storage/commit_abort_large.test_slow index df1bc86dcef4..848d4c748f24 100644 --- a/test/sql/storage/commit_abort_large.test_slow +++ b/test/sql/storage/commit_abort_large.test_slow @@ -49,6 +49,7 @@ COMMIT statement error con2 COMMIT +---- query III SELECT * FROM test ORDER BY a, b, c diff --git a/test/sql/storage/commit_abort_medium.test b/test/sql/storage/commit_abort_medium.test index 569bf6f089f8..2fbe9897e289 100644 --- a/test/sql/storage/commit_abort_medium.test +++ b/test/sql/storage/commit_abort_medium.test @@ -46,6 +46,7 @@ COMMIT statement error con2 COMMIT +---- query III SELECT * FROM test ORDER BY a, b, c diff --git a/test/sql/storage/compact_block_size/compact_block_size.test b/test/sql/storage/compact_block_size/compact_block_size.test new file mode 100644 index 000000000000..67045916dd2c --- /dev/null +++ b/test/sql/storage/compact_block_size/compact_block_size.test @@ -0,0 +1,22 @@ +# name: test/sql/storage/compact_block_size/compact_block_size.test +# description: Various tests with a compact block size of 16384 bytes +# group: [compact_block_size] + +require exact_vector_size 2048 + +require block_size 16384 + +# vector size is 2048, block size is 256KB +statement error +ATTACH 'data/storage/index_0-9-1.db' (TYPE DUCKDB, READONLY); +---- +Cannot read database file + +# vector size is 2048, block size is 16KB +statement ok +ATTACH 'data/storage/block_size_16kb.db' (TYPE DUCKDB, READONLY); + +query I +SELECT * FROM block_size_16kb.tbl; +---- +42 \ No newline at end of file diff --git a/test/sql/storage/compact_block_size/compact_vector_size.test b/test/sql/storage/compact_block_size/compact_vector_size.test new file mode 100644 index 000000000000..f5fff248bfb2 --- /dev/null +++ b/test/sql/storage/compact_block_size/compact_vector_size.test @@ -0,0 +1,22 @@ +# name: test/sql/storage/compact_block_size/compact_vector_size.test +# description: Various tests with a compact vector size of 512 +# group: [compact_block_size] + +require exact_vector_size 512 + +require block_size 262144 + +# vector size is 2048, block size is 256KB +statement error +ATTACH 'data/storage/index_0-9-1.db' (TYPE DUCKDB, READONLY); +---- +Cannot read database file + +# vector size is 512, block size is 256KB +statement ok +ATTACH 'data/storage/vector_size_512.db' (TYPE DUCKDB, READONLY); + +query I +SELECT * FROM vector_size_512.tbl; +---- +42 \ No newline at end of file diff --git a/test/sql/storage/compact_block_size/create_table_compression.test b/test/sql/storage/compact_block_size/create_table_compression.test new file mode 100644 index 000000000000..f7c2ab5b5c0f --- /dev/null +++ b/test/sql/storage/compact_block_size/create_table_compression.test @@ -0,0 +1,195 @@ +# name: test/sql/storage/compact_block_size/create_table_compression.test +# description: Test CREATE TABLE using compression options +# group: [compact_block_size] + +require block_size 16384 + +require skip_reload + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE T (a INTEGER USING COMPRESSION RLE) + +statement ok +DROP TABLE T + +statement error +CREATE TABLE T (a INTEGER USING COMPRESSION 'bla') +---- + +statement error +CREATE TABLE T (a INTEGER USING COMPRESSION ) +---- + +statement error +CREATE TABLE T (a INTEGER NOT NULL USING COMPRESSION ) +---- + +statement error +CREATE TABLE T (a INTEGER USING COMPRESSION bla) +---- + +statement ok +CREATE TABLE T (a INTEGER NOT NULL USING COMPRESSION RLE) + +statement ok +DROP TABLE T + +statement ok +CREATE TABLE T (a INTEGER USING COMPRESSION RLE, b VARCHAR USING COMPRESSION RLE ) + +statement ok +DROP TABLE T + +statement ok +CREATE TABLE T (a INTEGER USING COMPRESSION RLE, b VARCHAR ) + +statement ok +DROP TABLE T + +load __TEST_DIR__/test_compression_hint.db + +statement ok +CREATE TABLE T (a INTEGER USING COMPRESSION RLE, b INTEGER USING COMPRESSION BITPACKING, C INTEGER USING COMPRESSION UNCOMPRESSED) + +statement ok +INSERT INTO T VALUES (1,1,1), (1,1,1), (1,1,1), (2,2,2), (2,2,2), (3,3,3) + +query III +SELECT * FROM T +---- +1 1 1 +1 1 1 +1 1 1 +2 2 2 +2 2 2 +3 3 3 + +restart + +query III +SELECT * FROM T +---- +1 1 1 +1 1 1 +1 1 1 +2 2 2 +2 2 2 +3 3 3 + +statement ok +CHECKPOINT + +# we default to RLE instead of bitpacking + +query I +SELECT compression FROM pragma_storage_info('T') WHERE segment_type ILIKE 'INTEGER' LIMIT 3 +---- +RLE +RLE +Uncompressed + +statement ok +ALTER TABLE T RENAME COLUMN a TO a_1 + +statement ok +ALTER TABLE T RENAME COLUMN b TO b_1 + +statement ok +ALTER TABLE T RENAME COLUMN c TO c_1 + +restart + +query III +SELECT * FROM T +---- +1 1 1 +1 1 1 +1 1 1 +2 2 2 +2 2 2 +3 3 3 + +# we default to RLE instead of bitpacking + +query I +SELECT compression FROM pragma_storage_info('T') WHERE segment_type ILIKE 'INTEGER' LIMIT 3 +---- +RLE +RLE +Uncompressed + +statement ok +ALTER TABLE T RENAME TO T_1 + +restart + +query III +SELECT * FROM T_1 +---- +1 1 1 +1 1 1 +1 1 1 +2 2 2 +2 2 2 +3 3 3 + +# we default to RLE instead of bitpacking + +query I +SELECT compression FROM pragma_storage_info('T_1') WHERE segment_type ILIKE 'INTEGER' LIMIT 3 +---- +RLE +RLE +Uncompressed + +# Test Drop Column +statement ok +ALTER TABLE T_1 DROP COLUMN c_1 + +statement ok +ALTER TABLE T_1 DROP COLUMN b_1 + +restart + +query I +SELECT * FROM T_1 +---- +1 +1 +1 +2 +2 +3 + +query I +SELECT compression FROM pragma_storage_info('T_1') WHERE segment_type ILIKE 'INTEGER' LIMIT 2 +---- +RLE + +# Test Add Column +statement ok +ALTER TABLE T_1 ADD COLUMN b INTEGER DEFAULT 2 + +restart + +query II +SELECT * FROM T_1 +---- +1 2 +1 2 +1 2 +2 2 +2 2 +3 2 + +statement ok +CHECKPOINT + +query I +SELECT compression FROM pragma_storage_info('T_1') WHERE segment_type ILIKE 'INTEGER' LIMIT 3 +---- +RLE +Constant diff --git a/test/sql/storage/compact_block_size/default_block_size.test b/test/sql/storage/compact_block_size/default_block_size.test new file mode 100644 index 000000000000..dd7c453cb598 --- /dev/null +++ b/test/sql/storage/compact_block_size/default_block_size.test @@ -0,0 +1,23 @@ +# name: test/sql/storage/compact_block_size/default_block_size.test +# description: Various tests with a compact block size of 16384 bytes +# group: [compact_block_size] + +require block_size 262144 + +require vector_size 2048 + +statement error +ATTACH 'data/storage/block_size_16kb.db' (TYPE DUCKDB, READONLY) +---- +Cannot read database file + +statement error +ATTACH 'data/storage/vector_size_512.db' (TYPE DUCKDB, READONLY) +---- +Cannot read database file + +require 64bit +# Otherwise Linux 32bit CI fails with No more data remaining in MetadataReader + +statement ok +ATTACH 'data/storage/index_0-9-1.db' (TYPE DUCKDB, READONLY); diff --git a/test/sql/storage/compact_block_size/insertion_order_odd_batches.test b/test/sql/storage/compact_block_size/insertion_order_odd_batches.test new file mode 100644 index 000000000000..d73fe84b4a7e --- /dev/null +++ b/test/sql/storage/compact_block_size/insertion_order_odd_batches.test @@ -0,0 +1,82 @@ +# name: test/sql/storage/compact_block_size/insertion_order_odd_batches.test +# description: Tests for insertion order preservation with compact blocks +# group: [compact_block_size] + +require block_size 16384 + +require vector_size 512 + +require parquet + +load __TEST_DIR__/compact_odd_batches.db + +query I +CREATE TABLE integers AS SELECT * FROM range(100000) tbl(i); +---- +100000 + +# check the block count and median number of rows per row group + +query I +SELECT COUNT(DISTINCT block_id) < 60 FROM pragma_storage_info('integers'); +---- +true + +query I +SELECT MEDIAN(count) FROM pragma_storage_info('integers'); +---- +2047 + +statement ok +COPY integers TO '__TEST_DIR__/integers.parquet' (ROW_GROUP_SIZE 777) + +# verify that reading while preserving insertion order creates the same size table + +statement ok +CREATE TABLE integers_parquet AS FROM '__TEST_DIR__/integers.parquet'; + +query I +SELECT * FROM integers_parquet LIMIT 5 +---- +0 +1 +2 +3 +4 + +query I +SELECT * FROM integers_parquet LIMIT 5 OFFSET 73654 +---- +73654 +73655 +73656 +73657 +73658 + +query I +SELECT COUNT(DISTINCT block_id) < 60 FROM pragma_storage_info('integers_parquet'); +---- +true + +query I +SELECT MEDIAN(count) FROM pragma_storage_info('integers_parquet'); +---- +2047 + +# verify that reading without preserving insertion order creates the same size table + +statement ok +SET preserve_insertion_order=false + +statement ok +CREATE TABLE integers_parquet_no_order AS FROM '__TEST_DIR__/integers.parquet' + +query I +SELECT COUNT(DISTINCT block_id) < 60 FROM pragma_storage_info('integers_parquet_no_order'); +---- +true + +query I +SELECT MEDIAN(count) FROM pragma_storage_info('integers_parquet_no_order'); +---- +2047 \ No newline at end of file diff --git a/test/sql/storage/compression/alp/alp_inf_null_nan.test b/test/sql/storage/compression/alp/alp_inf_null_nan.test new file mode 100644 index 000000000000..beee96ffe8a2 --- /dev/null +++ b/test/sql/storage/compression/alp/alp_inf_null_nan.test @@ -0,0 +1,335 @@ +# name: test/sql/storage/compression/alp/alp_inf_null_nan.test +# group: [alp] + +# load the DB from disk +load __TEST_DIR__/test_alp_nulls.db + +foreach compression uncompressed alp + +# Set the compression algorithm + +statement ok +pragma force_compression='${compression}' + +# Create tables + +statement ok +create table tbl1_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +statement ok +create table tbl2_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +statement ok +create table tbl3_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +# Populate tables + +# Mixed NULLs +statement ok +insert into tbl1_${compression}(d,f) VALUES +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'); + +# Only NULLS +statement ok +insert into tbl2_${compression}(d,f) VALUES +(NULL, NULL), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', '-Infinity'), +('Infinity', '-Infinity'), +('Infinity', '-Infinity'), +('Infinity', '-Infinity'), +('Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +(0, 0), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL); + +# Starting with NULLS +statement ok +insert into tbl3_${compression}(d,f) VALUES +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', '-Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', '-Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', '-Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', '-Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', '-Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(NULL, NULL), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('NaN', 'NaN'), +('NaN', 'NaN'), +('NaN', 'NaN'); + +# Force a checkpoint + +statement ok +checkpoint + +endloop + +# Assert that the scanned results are the same + +#tbl1 + +query II nosort r1 +select d, f from tbl1_uncompressed; +---- + +query II nosort r1 +select d, f from tbl1_alp; +---- + +#tbl2 + +query II nosort r2 +select d, f from tbl2_uncompressed; +---- + +query II nosort r2 +select d, f from tbl2_alp; +---- + +# tbl3 + +query II nosort r3 +select d, f from tbl3_uncompressed; +---- + +query II nosort r3 +select d, f from tbl3_alp; +---- diff --git a/test/sql/storage/compression/alp/alp_many_segments.test b/test/sql/storage/compression/alp/alp_many_segments.test new file mode 100644 index 000000000000..d06dd8aa1f0d --- /dev/null +++ b/test/sql/storage/compression/alp/alp_many_segments.test @@ -0,0 +1,44 @@ +# name: test/sql/storage/compression/alp/alp_many_segments.test +# description: Test storage of alp, but simple +# group: [alp] + +# load the DB from disk +load __TEST_DIR__/test_alp.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random doubles of limited precision compressed as Uncompressed +# This data should achieve x6 compression ratio +statement ok +create table random_double as select round(random(), 6)::DOUBLE as data from range(500000) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALP instead +statement ok +PRAGMA force_compression='alp' + +statement ok +create table random_alp_double as select * from random_double; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_double') WHERE segment_type == 'double' AND compression != 'ALP'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_double; +---- + +query I sort r1 +select * from random_alp_double; +---- diff --git a/test/sql/storage/compression/alp/alp_many_segments_float.test b/test/sql/storage/compression/alp/alp_many_segments_float.test new file mode 100644 index 000000000000..0680eab27030 --- /dev/null +++ b/test/sql/storage/compression/alp/alp_many_segments_float.test @@ -0,0 +1,44 @@ +# name: test/sql/storage/compression/alp/alp_many_segments_float.test +# description: Test storage of alp, but simple +# group: [alp] + +# load the DB from disk +load __TEST_DIR__/test_alp.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random floats of limited precision compressed as Uncompressed +# This data should achieve x6 compression ratio +statement ok +create table random_float as select round(random(), 3)::FLOAT as data from range(500000) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_float') WHERE segment_type == 'float' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALP instead +statement ok +PRAGMA force_compression='alp' + +statement ok +create table random_alp_float as select * from random_float; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_float') WHERE segment_type == 'float' AND compression != 'ALP'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_float; +---- + +query I sort r1 +select * from random_alp_float; +---- diff --git a/test/sql/storage/compression/alp/alp_middle_flush.test b/test/sql/storage/compression/alp/alp_middle_flush.test new file mode 100644 index 000000000000..520eb0138b28 --- /dev/null +++ b/test/sql/storage/compression/alp/alp_middle_flush.test @@ -0,0 +1,44 @@ +# name: test/sql/storage/compression/alp/alp_middle_flush.test +# description: Test storage of alp, but simple +# group: [alp] + +# load the DB from disk +load __TEST_DIR__/test_alp.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random doubles of limited precision compressed as Uncompressed +# This data should achieve x6 compression ratio +statement ok +create table random_double as select round(random(), 6)::DOUBLE as data from range(110000) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALP instead +statement ok +PRAGMA force_compression='alp' + +statement ok +create table random_alp_double as select * from random_double; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_double') WHERE segment_type == 'double' AND compression != 'ALP'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_double; +---- + +query I sort r1 +select * from random_alp_double; +---- diff --git a/test/sql/storage/compression/patas/patas_min_max.test b/test/sql/storage/compression/alp/alp_min_max.test similarity index 70% rename from test/sql/storage/compression/patas/patas_min_max.test rename to test/sql/storage/compression/alp/alp_min_max.test index 2ce521c6905c..d25d697c6156 100644 --- a/test/sql/storage/compression/patas/patas_min_max.test +++ b/test/sql/storage/compression/alp/alp_min_max.test @@ -1,14 +1,14 @@ -# name: test/sql/storage/compression/patas/patas_min_max.test -# group: [patas] +# name: test/sql/storage/compression/alp/alp_min_max.test +# group: [alp] # load the DB from disk -load __TEST_DIR__/patas_min_max.db +load __TEST_DIR__/alp_min_max.db statement ok PRAGMA enable_verification statement ok -pragma force_compression='patas'; +pragma force_compression='alp'; foreach type DOUBLE FLOAT @@ -25,7 +25,7 @@ statement ok checkpoint query IIIIIIIIIIIIIII -SELECT * FROM pragma_storage_info('all_types') WHERE segment_type == '${type}' AND compression != 'Patas'; +SELECT * FROM pragma_storage_info('all_types') WHERE segment_type == '${type}' AND compression != 'ALP'; ---- # i diff --git a/test/sql/storage/compression/alp/alp_negative_numbers.test b/test/sql/storage/compression/alp/alp_negative_numbers.test new file mode 100644 index 000000000000..5fd691d80656 --- /dev/null +++ b/test/sql/storage/compression/alp/alp_negative_numbers.test @@ -0,0 +1,45 @@ +# name: test/sql/storage/compression/alp/alp_negative_numbers.test +# description: Test storage of alp, but simple +# group: [alp] + +# load the DB from disk +load __TEST_DIR__/test_alp.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random doubles of limited precision compressed as Uncompressed +# This data should achieve x6 compression ratio +statement ok +create table random_double as select round(cos(1 / (random() + 0.001)), 5)::DOUBLE * -1 as data from range(1023) tbl(i); +insert into random_double values (-0.0::DOUBLE); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALP instead +statement ok +PRAGMA force_compression='alp' + +statement ok +create table random_alp_double as select * from random_double; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_double') WHERE segment_type == 'double' AND compression != 'ALP'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_double; +---- + +query I sort r1 +select * from random_alp_double; +---- diff --git a/test/sql/storage/compression/alp/alp_nulls.test b/test/sql/storage/compression/alp/alp_nulls.test new file mode 100644 index 000000000000..02d6815de177 --- /dev/null +++ b/test/sql/storage/compression/alp/alp_nulls.test @@ -0,0 +1,342 @@ +# name: test/sql/storage/compression/alp/alp_nulls.test +# group: [alp] + +# load the DB from disk +load __TEST_DIR__/test_alp_nulls.db + +foreach compression uncompressed alp + +# Set the compression algorithm + +statement ok +pragma force_compression='${compression}' + +# Create tables + +statement ok +create table tbl1_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +statement ok +create table tbl2_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +statement ok +create table tbl3_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +# Populate tables + +# Mixed NULLs +statement ok +insert into tbl1_${compression}(d,f) VALUES +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, NULL); + +# Only NULLS +statement ok +insert into tbl2_${compression}(d,f) VALUES +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL); + +# Starting with NULLS +statement ok +insert into tbl3_${compression}(d,f) VALUES +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142); + +# Force a checkpoint + +statement ok +checkpoint + +endloop + +# Assert that the scanned results are the same + +#tbl1 + +query II nosort r1 +select d, f from tbl1_uncompressed; +---- + +query II nosort r1 +select d, f from tbl1_alp; +---- + +#tbl2 + +query II nosort r2 +select d, f from tbl2_uncompressed; +---- + +query II nosort r2 +select d, f from tbl2_alp; +---- + +# tbl3 + +query II nosort r3 +select d, f from tbl3_uncompressed; +---- + +query II nosort r3 +select d, f from tbl3_alp; +---- diff --git a/test/sql/storage/compression/alp/alp_nulls_simple.test b/test/sql/storage/compression/alp/alp_nulls_simple.test new file mode 100644 index 000000000000..d0b4abc4259b --- /dev/null +++ b/test/sql/storage/compression/alp/alp_nulls_simple.test @@ -0,0 +1,129 @@ +# name: test/sql/storage/compression/alp/alp_nulls_simple.test +# group: [alp] + +# load the DB from disk +load __TEST_DIR__/test_alp_nulls.db + +foreach compression uncompressed alp + +# Set the compression algorithm + +statement ok +pragma force_compression='${compression}' + +# Create tables + +statement ok +create table tbl1_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +# Populate tables + +# Mixed NULLs +statement ok +insert into tbl1_${compression}(d,f) VALUES +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, NULL); + +# Force a checkpoint + +statement ok +checkpoint + +endloop + +# Assert that the scanned results are the same + +#tbl1 + +query II nosort r1 +select d, f from tbl1_uncompressed; +---- + +query II nosort r1 +select d, f from tbl1_alp; +---- + diff --git a/test/sql/storage/compression/patas/patas_read.test_slow b/test/sql/storage/compression/alp/alp_read.test_slow similarity index 85% rename from test/sql/storage/compression/patas/patas_read.test_slow rename to test/sql/storage/compression/alp/alp_read.test_slow index e50fd9be79d8..1cf1ed979704 100644 --- a/test/sql/storage/compression/patas/patas_read.test_slow +++ b/test/sql/storage/compression/alp/alp_read.test_slow @@ -1,11 +1,11 @@ -# name: test/sql/storage/compression/patas/patas_read.test_slow -# group: [patas] +# name: test/sql/storage/compression/alp/alp_read.test_slow +# group: [alp] require parquet require httpfs -load __TEST_DIR__/test_patas.db +load __TEST_DIR__/test_alp.db statement ok DROP TABLE IF EXISTS temperatures; @@ -14,7 +14,7 @@ statement ok pragma threads=1; statement ok -PRAGMA force_compression='patas'; +PRAGMA force_compression='alp'; statement ok CREATE TABLE temperatures ( diff --git a/test/sql/storage/compression/alp/alp_simple.test b/test/sql/storage/compression/alp/alp_simple.test new file mode 100644 index 000000000000..080dd3c33533 --- /dev/null +++ b/test/sql/storage/compression/alp/alp_simple.test @@ -0,0 +1,44 @@ +# name: test/sql/storage/compression/alp/alp_simple.test +# description: Test storage of alp, but simple +# group: [alp] + +# load the DB from disk +load __TEST_DIR__/test_alp.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random doubles of limited precision compressed as Uncompressed +# This data should achieve x6 compression ratio +statement ok +create table random_double as select round(random(), 6)::DOUBLE as data from range(1024) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALP instead +statement ok +PRAGMA force_compression='alp' + +statement ok +create table random_alp_double as select * from random_double; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_double') WHERE segment_type == 'double' AND compression != 'ALP'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_double; +---- + +query I sort r1 +select * from random_alp_double; +---- diff --git a/test/sql/storage/compression/alp/alp_simple_float.test b/test/sql/storage/compression/alp/alp_simple_float.test new file mode 100644 index 000000000000..176ed2c4a5e5 --- /dev/null +++ b/test/sql/storage/compression/alp/alp_simple_float.test @@ -0,0 +1,44 @@ +# name: test/sql/storage/compression/alp/alp_simple_float.test +# description: Test storage of alp, but simple +# group: [alp] + +# load the DB from disk +load __TEST_DIR__/test_alp.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random floats of limited precision compressed as Uncompressed +# This data should achieve x6 compression ratio +statement ok +create table random_float as select round(random(), 6)::FLOAT as data from range(1024) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_float') WHERE segment_type == 'float' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALP instead +statement ok +PRAGMA force_compression='alp' + +statement ok +create table random_alp_float as select * from random_float; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_float') WHERE segment_type == 'float' AND compression != 'ALP'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_float; +---- + +query I sort r1 +select * from random_alp_float; +---- diff --git a/test/sql/storage/compression/alp/alp_skip.test_slow b/test/sql/storage/compression/alp/alp_skip.test_slow new file mode 100644 index 000000000000..16f9f2f1d92c --- /dev/null +++ b/test/sql/storage/compression/alp/alp_skip.test_slow @@ -0,0 +1,55 @@ +# name: test/sql/storage/compression/alp/alp_skip.test_slow +# group: [alp] + +# load the DB from disk +load __TEST_DIR__/test_alp.db + +statement ok +pragma enable_verification; + +statement ok +pragma disable_optimizer; + +statement ok +pragma force_compression='uncompressed' + +# Create the data for the columns +statement ok +create table temp_table as select round(random(), 6)::DOUBLE * 100 as col, j from range(10240) tbl(j); + +statement ok +checkpoint + +foreach compression ALP Uncompressed + +# Ensure the correct compression is used +statement ok +pragma force_compression='${compression}' + +# Setup +statement ok +create table tbl_${compression} as select * from temp_table; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('tbl_${compression}') WHERE segment_type == 'double' AND compression != '${compression}'; +---- + +# compression +endloop + +loop i 1 1024 + +query II +select x as x_${i}, y as y_${i} from ( + select + (select col from tbl_alp where (j > (${i} * 1024)) except select col from tbl_uncompressed where (j > (${i} * 1024))) as x, + (select col from tbl_uncompressed where (j > (${i} * 1024)) except select col from tbl_alp where (j > (${i} * 1024))) as y +); +---- +NULL NULL + +# i +endloop diff --git a/test/sql/storage/compression/chimp/chimp_stress_test.test_slow b/test/sql/storage/compression/alp/alp_stress_test.test_slow similarity index 64% rename from test/sql/storage/compression/chimp/chimp_stress_test.test_slow rename to test/sql/storage/compression/alp/alp_stress_test.test_slow index 02e6cdb9d5e0..adaea15af26a 100644 --- a/test/sql/storage/compression/chimp/chimp_stress_test.test_slow +++ b/test/sql/storage/compression/alp/alp_stress_test.test_slow @@ -1,16 +1,24 @@ -# name: test/sql/storage/compression/chimp/chimp_stress_test.test_slow -# group: [chimp] +# name: test/sql/storage/compression/alp/alp_stress_test.test_slow +# group: [alp] -# load the DB from disk -load __TEST_DIR__/chimp_min_max.db +# FIXME: for small block sizes (16KB), this test returns a Constant segment in Line 69 +require block_size 262144 + +load __TEST_DIR__/alp_min_max.db foreach type DOUBLE FLOAT +statement ok +pragma force_compression='uncompressed' + # Create the initial data to start with (without this Constant compression will be used at first) statement ok -create table temp_table as select random()::${type} * 100 from range(5); +create table temp_table as select round(random(), 6)::${type} * 100 from range(5); -foreach compression Chimp Uncompressed +statement ok +checkpoint + +foreach compression ALP Uncompressed # Ensure the correct compression is used statement ok @@ -25,6 +33,9 @@ create table ${compression}_tbl( statement ok insert into ${compression}_tbl select * from temp_table; +statement ok +checkpoint + # compression endloop @@ -39,7 +50,7 @@ loop i 0 10240 statement ok create table temp_table as select random()::${type} * 100 + ${i}; -foreach compression Chimp Uncompressed +foreach compression ALP Uncompressed # Ensure the correct compression is used statement ok @@ -66,19 +77,20 @@ drop table temp_table; # ---------------- VERIFY CORRECTNESS ---------------- -query I -select data as chimp_data from chimp_tbl except select data from uncompressed_tbl; ----- - -query I -select data as uncompressed_data from uncompressed_tbl except select data from chimp_tbl; +query II +select x as x_${i}, y as y_${i} from ( + select + (select data from alp_tbl except select data from uncompressed_tbl) as x, + (select data from uncompressed_tbl except select data from alp_tbl) as y +); ---- +NULL NULL # i endloop # Teardown -foreach compression chimp uncompressed +foreach compression alp uncompressed statement ok drop table ${compression}_tbl; diff --git a/test/sql/storage/compression/patas/patas_tpcds.test_slow b/test/sql/storage/compression/alp/alp_tpcds.test_slow similarity index 97% rename from test/sql/storage/compression/patas/patas_tpcds.test_slow rename to test/sql/storage/compression/alp/alp_tpcds.test_slow index 192bb62bbdad..c8c1f230d387 100644 --- a/test/sql/storage/compression/patas/patas_tpcds.test_slow +++ b/test/sql/storage/compression/alp/alp_tpcds.test_slow @@ -1,16 +1,16 @@ -# name: test/sql/storage/compression/patas/patas_tpcds.test_slow -# group: [patas] +# name: test/sql/storage/compression/alp/alp_tpcds.test_slow +# group: [alp] require tpcds # load the DB from disk -load __TEST_DIR__/test_patas.db +load __TEST_DIR__/test_alp.db #statement ok #pragma threads=1 statement ok -PRAGMA force_compression='patas'; +PRAGMA force_compression='alp'; statement ok call dsdgen(sf=1, suffix='_original'); @@ -629,7 +629,7 @@ foreach tbl web_site web_sales web_returns web_page warehouse time_dim store_sal # Cant turn off the creation of constant segments, so we have to just accept that some of the segments are Constant query I -SELECT compression FROM pragma_storage_info('${tbl}') WHERE segment_type == '${type}' AND compression != 'Patas' AND compression != 'Constant'; +SELECT compression FROM pragma_storage_info('${tbl}') WHERE segment_type == '${type}' AND compression != 'ALP' AND compression != 'Constant'; ---- endloop @@ -656,18 +656,7 @@ PRAGMA tpcds(${i}) endloop -loop i 50 67 - -#Skip tpcds 67 because it doesn't work without decimals - -query I -PRAGMA tpcds(${i}) ----- -:extension/tpcds/dsdgen/answers/sf1/${i}.csv - -endloop - -loop i 68 99 +loop i 50 99 query I PRAGMA tpcds(${i}) diff --git a/test/sql/storage/compression/chimp/chimp_tpch.test_slow b/test/sql/storage/compression/alp/alp_tpch.test_slow similarity index 97% rename from test/sql/storage/compression/chimp/chimp_tpch.test_slow rename to test/sql/storage/compression/alp/alp_tpch.test_slow index 1b3a57420f6c..9ab490695e3c 100644 --- a/test/sql/storage/compression/chimp/chimp_tpch.test_slow +++ b/test/sql/storage/compression/alp/alp_tpch.test_slow @@ -1,17 +1,17 @@ -# name: test/sql/storage/compression/chimp/chimp_tpch.test_slow -# group: [chimp] +# name: test/sql/storage/compression/alp/alp_tpch.test_slow +# group: [alp] require tpch # load the DB from disk -load __TEST_DIR__/test_chimp.db +load __TEST_DIR__/test_alp.db # This needs to be single-threaded to be consistent (because of floating point issues) statement ok pragma threads=1 statement ok -PRAGMA force_compression='chimp'; +PRAGMA force_compression='alp'; statement ok call dbgen(sf=1, suffix='_original'); diff --git a/test/sql/storage/compression/alp/alp_zeros.test b/test/sql/storage/compression/alp/alp_zeros.test new file mode 100644 index 000000000000..e3a91959f6df --- /dev/null +++ b/test/sql/storage/compression/alp/alp_zeros.test @@ -0,0 +1,44 @@ +# name: test/sql/storage/compression/alp/alp_zeros.test +# description: Test storage of alp, but simple +# group: [alp] + +# load the DB from disk +load __TEST_DIR__/test_alp.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random doubles of limited precision compressed as Uncompressed +# This data should achieve x6 compression ratio +statement ok +create table random_double as select 0::DOUBLE as data from range(1024) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALP instead +statement ok +PRAGMA force_compression='alp' + +statement ok +create table random_alp_double as select * from random_double; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_double') WHERE segment_type == 'double' AND compression != 'ALP'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_double; +---- + +query I sort r1 +select * from random_alp_double; +---- diff --git a/test/sql/storage/compression/alprd/alprd_inf_null_nan.test b/test/sql/storage/compression/alprd/alprd_inf_null_nan.test new file mode 100644 index 000000000000..2663e3d17f03 --- /dev/null +++ b/test/sql/storage/compression/alprd/alprd_inf_null_nan.test @@ -0,0 +1,335 @@ +# name: test/sql/storage/compression/alprd/alprd_inf_null_nan.test +# group: [alprd] + +# load the DB from disk +load __TEST_DIR__/test_alprd_inf.db + +foreach compression uncompressed alprd + +# Set the compression algorithm + +statement ok +pragma force_compression='${compression}' + +# Create tables + +statement ok +create table tbl1_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +statement ok +create table tbl2_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +statement ok +create table tbl3_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +# Populate tables + +# Mixed NULLs +statement ok +insert into tbl1_${compression}(d,f) VALUES +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'); + +# Only NULLS +statement ok +insert into tbl2_${compression}(d,f) VALUES +(NULL, NULL), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', 'Infinity'), +('Infinity', '-Infinity'), +('Infinity', '-Infinity'), +('Infinity', '-Infinity'), +('Infinity', '-Infinity'), +('Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +('-Infinity', '-Infinity'), +(0, 0), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL); + +# Starting with NULLS +statement ok +insert into tbl3_${compression}(d,f) VALUES +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', '-Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', '-Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', '-Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', '-Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', '-Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('-Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('Infinity', 'Infinity'), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(NULL, NULL), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +('NaN', 'NaN'), +('NaN', 'NaN'), +('NaN', 'NaN'); + +# Force a checkpoint + +statement ok +checkpoint + +endloop + +# Assert that the scanned results are the same + +#tbl1 + +query II nosort r1 +select d, f from tbl1_uncompressed; +---- + +query II nosort r1 +select d, f from tbl1_alprd; +---- + +#tbl2 + +query II nosort r2 +select d, f from tbl2_uncompressed; +---- + +query II nosort r2 +select d, f from tbl2_alprd; +---- + +# tbl3 + +query II nosort r3 +select d, f from tbl3_uncompressed; +---- + +query II nosort r3 +select d, f from tbl3_alprd; +---- diff --git a/test/sql/storage/compression/alprd/alprd_many_segments.test b/test/sql/storage/compression/alprd/alprd_many_segments.test new file mode 100644 index 000000000000..be81b75c10a2 --- /dev/null +++ b/test/sql/storage/compression/alprd/alprd_many_segments.test @@ -0,0 +1,44 @@ +# name: test/sql/storage/compression/alprd/alprd_many_segments.test +# description: Test storage of alprd, but simple +# group: [alprd] + +# load the DB from disk +load __TEST_DIR__/test_alprd.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random doubles of limited precision compressed as Uncompressed +# This data should achieve x6 compression ratio +statement ok +create table random_double as select random()::DOUBLE as data from range(500000) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALP instead +statement ok +PRAGMA force_compression='alprd' + +statement ok +create table random_alp_double as select * from random_double; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_double') WHERE segment_type == 'double' AND compression != 'ALPRD'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_double; +---- + +query I sort r1 +select * from random_alp_double; +---- diff --git a/test/sql/storage/compression/alprd/alprd_many_segments_float.test b/test/sql/storage/compression/alprd/alprd_many_segments_float.test new file mode 100644 index 000000000000..a9f6c5e8e3ff --- /dev/null +++ b/test/sql/storage/compression/alprd/alprd_many_segments_float.test @@ -0,0 +1,44 @@ +# name: test/sql/storage/compression/alprd/alprd_many_segments_float.test +# description: Test storage of alprd, but simple +# group: [alprd] + +# load the DB from disk +load __TEST_DIR__/test_alprd.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random floats of limited precision compressed as Uncompressed +# This data should achieve x6 compression ratio +statement ok +create table random_float as select random()::FLOAT as data from range(500000) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_float') WHERE segment_type == 'float' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALPRD instead +statement ok +PRAGMA force_compression='alprd' + +statement ok +create table random_alp_float as select * from random_float; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_float') WHERE segment_type == 'float' AND compression != 'ALPRD'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_float; +---- + +query I sort r1 +select * from random_alp_float; +---- diff --git a/test/sql/storage/compression/alprd/alprd_middle_flush.test b/test/sql/storage/compression/alprd/alprd_middle_flush.test new file mode 100644 index 000000000000..2f6ea93b25f3 --- /dev/null +++ b/test/sql/storage/compression/alprd/alprd_middle_flush.test @@ -0,0 +1,44 @@ +# name: test/sql/storage/compression/alprd/alprd_middle_flush.test +# description: Test storage of alprd, but simple +# group: [alprd] + +# load the DB from disk +load __TEST_DIR__/test_alprd.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random doubles of limited precision compressed as Uncompressed +# This data should achieve x6 compression ratio +statement ok +create table random_double as select random()::DOUBLE as data from range(110000) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALPRD instead +statement ok +PRAGMA force_compression='alprd' + +statement ok +create table random_alp_double as select * from random_double; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_double') WHERE segment_type == 'double' AND compression != 'ALPRD'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_double; +---- + +query I sort r1 +select * from random_alp_double; +---- diff --git a/test/sql/storage/compression/chimp/chimp_min_max.test b/test/sql/storage/compression/alprd/alprd_min_max.test similarity index 53% rename from test/sql/storage/compression/chimp/chimp_min_max.test rename to test/sql/storage/compression/alprd/alprd_min_max.test index 423b675f70c3..6e031b320452 100644 --- a/test/sql/storage/compression/chimp/chimp_min_max.test +++ b/test/sql/storage/compression/alprd/alprd_min_max.test @@ -1,14 +1,14 @@ -# name: test/sql/storage/compression/chimp/chimp_min_max.test -# group: [chimp] +# name: test/sql/storage/compression/alprd/alprd_min_max.test +# group: [alprd] # load the DB from disk -load __TEST_DIR__/chimp_min_max.db +load __TEST_DIR__/alprd_min_max.db statement ok PRAGMA enable_verification statement ok -pragma force_compression='chimp'; +pragma force_compression='alprd'; foreach type DOUBLE FLOAT @@ -17,15 +17,22 @@ CREATE TABLE all_types AS SELECT ${type} FROM test_all_types(); loop i 0 15 -statement ok -checkpoint statement ok INSERT INTO all_types SELECT ${type} FROM all_types; +statement ok +checkpoint + +query IIIIIIIIIIIIIII +SELECT * FROM pragma_storage_info('all_types') WHERE segment_type == '${type}' AND compression != 'ALPRD'; +---- + +# i endloop statement ok DROP TABLE all_types; +#type endloop diff --git a/test/sql/storage/compression/alprd/alprd_negative_numbers.test b/test/sql/storage/compression/alprd/alprd_negative_numbers.test new file mode 100644 index 000000000000..00eff8dc01d1 --- /dev/null +++ b/test/sql/storage/compression/alprd/alprd_negative_numbers.test @@ -0,0 +1,44 @@ +# name: test/sql/storage/compression/alprd/alprd_negative_numbers.test +# description: Test storage of alprd, but simple +# group: [alprd] + +# load the DB from disk +load __TEST_DIR__/test_alprd.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random doubles of limited precision compressed as Uncompressed +# This data should achieve x6 compression ratio +statement ok +create table random_double as select round(cos(1 / (random() + 0.001)), 15)::DOUBLE * -1 as data from range(1024) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALP instead +statement ok +PRAGMA force_compression='alprd' + +statement ok +create table random_alp_double as select * from random_double; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_double') WHERE segment_type == 'double' AND compression != 'ALPRD'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_double; +---- + +query I sort r1 +select * from random_alp_double; +---- diff --git a/test/sql/storage/compression/alprd/alprd_nulls.test b/test/sql/storage/compression/alprd/alprd_nulls.test new file mode 100644 index 000000000000..a91d009ac5a1 --- /dev/null +++ b/test/sql/storage/compression/alprd/alprd_nulls.test @@ -0,0 +1,343 @@ +# name: test/sql/storage/compression/alprd/alprd_nulls.test +# group: [alprd] + +# load the DB from disk +load __TEST_DIR__/test_alprd_nulls.db + +foreach compression uncompressed alprd + +# Set the compression algorithm + +statement ok +pragma force_compression='${compression}' + +# Create tables + +statement ok +create table tbl1_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +statement ok +create table tbl2_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +statement ok +create table tbl3_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +# Populate tables + +# Mixed NULLs +statement ok +insert into tbl1_${compression}(d,f) VALUES +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, NULL); + +# Only NULLS +statement ok +insert into tbl2_${compression}(d,f) VALUES +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL); + +# Starting with NULLS +statement ok +insert into tbl3_${compression}(d,f) VALUES +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(NULL, NULL), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142), +(7034.34968234, 93472948.98034), +(1.213123, 1.232142); + +# Force a checkpoint + +statement ok +checkpoint + +endloop + +# Assert that the scanned results are the same + +#tbl1 + +query II nosort r1 +select d, f from tbl1_uncompressed; +---- + +query II nosort r1 +select d, f from tbl1_alprd; +---- + +#tbl2 + +query II nosort r2 +select d, f from tbl2_uncompressed; +---- + +query II nosort r2 +select d, f from tbl2_alprd; +---- + +# tbl3 + +query II nosort r3 +select d, f from tbl3_uncompressed; +---- + +query II nosort r3 +select d, f from tbl3_alprd; +---- diff --git a/test/sql/storage/compression/alprd/alprd_nulls_simple.test b/test/sql/storage/compression/alprd/alprd_nulls_simple.test new file mode 100644 index 000000000000..987daa5a6020 --- /dev/null +++ b/test/sql/storage/compression/alprd/alprd_nulls_simple.test @@ -0,0 +1,129 @@ +# name: test/sql/storage/compression/alprd/alprd_nulls_simple.test +# group: [alprd] + +# load the DB from disk +load __TEST_DIR__/test_alprd_nulls.db + +foreach compression uncompressed alprd + +# Set the compression algorithm + +statement ok +pragma force_compression='${compression}' + +# Create tables + +statement ok +create table tbl1_${compression}( + a INTEGER DEFAULT 5, + b VARCHAR DEFAULT 'test', + c BOOL DEFAULT false, + d DOUBLE, + e TEXT default 'null', + f FLOAT +); + +# Populate tables + +# Mixed NULLs +statement ok +insert into tbl1_${compression}(d,f) VALUES +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, 1.2314234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(324213.23123, NULL), +(NULL, NULL), +(21312.23412, 12.123234), +(NULL, NULL); + +# Force a checkpoint + +statement ok +checkpoint + +endloop + +# Assert that the scanned results are the same + +#tbl1 + +query II nosort r1 +select d, f from tbl1_uncompressed; +---- + +query II nosort r1 +select d, f from tbl1_alprd; +---- + diff --git a/test/sql/storage/compression/chimp/chimp_read.test_slow b/test/sql/storage/compression/alprd/alprd_read.test_slow similarity index 81% rename from test/sql/storage/compression/chimp/chimp_read.test_slow rename to test/sql/storage/compression/alprd/alprd_read.test_slow index 1bb2f26a8581..13405d47a0bb 100644 --- a/test/sql/storage/compression/chimp/chimp_read.test_slow +++ b/test/sql/storage/compression/alprd/alprd_read.test_slow @@ -1,17 +1,20 @@ -# name: test/sql/storage/compression/chimp/chimp_read.test_slow -# group: [chimp] +# name: test/sql/storage/compression/alprd/alprd_read.test_slow +# group: [alprd] require parquet require httpfs -load __TEST_DIR__/test_chimp.db +load __TEST_DIR__/test_alprd.db statement ok DROP TABLE IF EXISTS temperatures; statement ok -PRAGMA force_compression='chimp'; +pragma threads=1; + +statement ok +PRAGMA force_compression='alprd'; statement ok CREATE TABLE temperatures ( diff --git a/test/sql/storage/compression/alprd/alprd_simple.test b/test/sql/storage/compression/alprd/alprd_simple.test new file mode 100644 index 000000000000..44ad2e62e9e7 --- /dev/null +++ b/test/sql/storage/compression/alprd/alprd_simple.test @@ -0,0 +1,43 @@ +# name: test/sql/storage/compression/alprd/alprd_simple.test +# description: Test storage of alprd, but simple +# group: [alprd] + +# load the DB from disk +load __TEST_DIR__/test_alprd.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random doubles of limited precision compressed as Uncompressed +statement ok +create table random_double as select random()::DOUBLE as data from range(1024) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALPRD instead +statement ok +PRAGMA force_compression='alprd' + +statement ok +create table random_alprd_double as select * from random_double; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alprd_double') WHERE segment_type == 'double' AND compression != 'ALPRD'; +---- + +# Assert that the data was not corrupted by compressing to ALPRD +query I sort r1 +select * from random_double; +---- + +query I sort r1 +select * from random_alprd_double; +---- diff --git a/test/sql/storage/compression/alprd/alprd_simple_float.test b/test/sql/storage/compression/alprd/alprd_simple_float.test new file mode 100644 index 000000000000..0acc2cdc3653 --- /dev/null +++ b/test/sql/storage/compression/alprd/alprd_simple_float.test @@ -0,0 +1,43 @@ +# name: test/sql/storage/compression/alprd/alprd_simple_float.test +# description: Test storage of alprd, but simple +# group: [alprd] + +# load the DB from disk +load __TEST_DIR__/test_alp.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random floats of limited precision compressed as Uncompressed +statement ok +create table random_float as select random()::FLOAT as data from range(1024) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_float') WHERE segment_type == 'float' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALP instead +statement ok +PRAGMA force_compression='alprd' + +statement ok +create table random_alp_float as select * from random_float; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_float') WHERE segment_type == 'float' AND compression != 'ALPRD'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_float; +---- + +query I sort r1 +select * from random_alp_float; +---- diff --git a/test/sql/storage/compression/patas/patas_skip.test_slow b/test/sql/storage/compression/alprd/alprd_skip.test_slow similarity index 77% rename from test/sql/storage/compression/patas/patas_skip.test_slow rename to test/sql/storage/compression/alprd/alprd_skip.test_slow index d3aa2202e036..e41181db16ef 100644 --- a/test/sql/storage/compression/patas/patas_skip.test_slow +++ b/test/sql/storage/compression/alprd/alprd_skip.test_slow @@ -1,8 +1,8 @@ -# name: test/sql/storage/compression/patas/patas_skip.test_slow -# group: [patas] +# name: test/sql/storage/compression/alprd/alprd_skip.test_slow +# group: [alprd] # load the DB from disk -load __TEST_DIR__/test_patas.db +load __TEST_DIR__/test_alprd.db statement ok pragma enable_verification; @@ -20,7 +20,7 @@ create table temp_table as select random()::DOUBLE * 100 as col, j from range(10 statement ok checkpoint -foreach compression Patas Uncompressed +foreach compression ALPRD Uncompressed # Ensure the correct compression is used statement ok @@ -45,8 +45,8 @@ loop i 1 1024 query II select x as x_${i}, y as y_${i} from ( select - (select col from tbl_patas where (j > (${i} * 1024)) except select col from tbl_uncompressed where (j > (${i} * 1024))) as x, - (select col from tbl_uncompressed where (j > (${i} * 1024)) except select col from tbl_patas where (j > (${i} * 1024))) as y + (select col from tbl_alprd where (j > (${i} * 1024)) except select col from tbl_uncompressed where (j > (${i} * 1024))) as x, + (select col from tbl_uncompressed where (j > (${i} * 1024)) except select col from tbl_alprd where (j > (${i} * 1024))) as y ); ---- NULL NULL diff --git a/test/sql/storage/compression/patas/patas_stress_test.test_slow b/test/sql/storage/compression/alprd/alprd_stress_test.test_slow similarity index 77% rename from test/sql/storage/compression/patas/patas_stress_test.test_slow rename to test/sql/storage/compression/alprd/alprd_stress_test.test_slow index 961c2be6fd11..bead967e040d 100644 --- a/test/sql/storage/compression/patas/patas_stress_test.test_slow +++ b/test/sql/storage/compression/alprd/alprd_stress_test.test_slow @@ -1,8 +1,10 @@ -# name: test/sql/storage/compression/patas/patas_stress_test.test_slow -# group: [patas] +# name: test/sql/storage/compression/alprd/alprd_stress_test.test_slow +# group: [alprd] -# load the DB from disk -load __TEST_DIR__/patas_min_max.db +# FIXME: for small block sizes (16KB), this test returns a Constant segment in Line 69 +require block_size 262144 + +load __TEST_DIR__/alprd_min_max.db foreach type DOUBLE FLOAT @@ -16,7 +18,7 @@ create table temp_table as select random()::${type} * 100 from range(5); statement ok checkpoint -foreach compression Patas Uncompressed +foreach compression ALPRD Uncompressed # Ensure the correct compression is used statement ok @@ -48,7 +50,7 @@ loop i 0 10240 statement ok create table temp_table as select random()::${type} * 100 + ${i}; -foreach compression Patas Uncompressed +foreach compression ALPRD Uncompressed # Ensure the correct compression is used statement ok @@ -78,8 +80,8 @@ drop table temp_table; query II select x as x_${i}, y as y_${i} from ( select - (select data from patas_tbl except select data from uncompressed_tbl) as x, - (select data from uncompressed_tbl except select data from patas_tbl) as y + (select data from alprd_tbl except select data from uncompressed_tbl) as x, + (select data from uncompressed_tbl except select data from alprd_tbl) as y ); ---- NULL NULL @@ -88,7 +90,7 @@ NULL NULL endloop # Teardown -foreach compression patas uncompressed +foreach compression alprd uncompressed statement ok drop table ${compression}_tbl; diff --git a/test/sql/storage/compression/chimp/chimp_tpcds.test_slow b/test/sql/storage/compression/alprd/alprd_tpcds.test_slow similarity index 97% rename from test/sql/storage/compression/chimp/chimp_tpcds.test_slow rename to test/sql/storage/compression/alprd/alprd_tpcds.test_slow index ceccf495d874..58a31e21bc39 100644 --- a/test/sql/storage/compression/chimp/chimp_tpcds.test_slow +++ b/test/sql/storage/compression/alprd/alprd_tpcds.test_slow @@ -1,16 +1,16 @@ -# name: test/sql/storage/compression/chimp/chimp_tpcds.test_slow -# group: [chimp] +# name: test/sql/storage/compression/alprd/alprd_tpcds.test_slow +# group: [alprd] require tpcds # load the DB from disk -load __TEST_DIR__/test_chimp.db +load __TEST_DIR__/test_alprd.db #statement ok #pragma threads=1 statement ok -PRAGMA force_compression='chimp'; +PRAGMA force_compression='alprd'; statement ok call dsdgen(sf=1, suffix='_original'); @@ -629,7 +629,7 @@ foreach tbl web_site web_sales web_returns web_page warehouse time_dim store_sal # Cant turn off the creation of constant segments, so we have to just accept that some of the segments are Constant query I -SELECT compression FROM pragma_storage_info('${tbl}') WHERE segment_type == '${type}' AND compression != 'Chimp' AND compression != 'Constant'; +SELECT compression FROM pragma_storage_info('${tbl}') WHERE segment_type == '${type}' AND compression != 'ALPRD' AND compression != 'Constant'; ---- endloop @@ -656,18 +656,7 @@ PRAGMA tpcds(${i}) endloop -loop i 50 67 - -#Skip tpcds 67 because it doesn't work without decimals - -query I -PRAGMA tpcds(${i}) ----- -:extension/tpcds/dsdgen/answers/sf1/${i}.csv - -endloop - -loop i 68 99 +loop i 50 99 query I PRAGMA tpcds(${i}) diff --git a/test/sql/storage/compression/patas/patas_tpch.test_slow b/test/sql/storage/compression/alprd/alprd_tpch.test_slow similarity index 97% rename from test/sql/storage/compression/patas/patas_tpch.test_slow rename to test/sql/storage/compression/alprd/alprd_tpch.test_slow index e252019665b3..c65191207c15 100644 --- a/test/sql/storage/compression/patas/patas_tpch.test_slow +++ b/test/sql/storage/compression/alprd/alprd_tpch.test_slow @@ -1,17 +1,17 @@ -# name: test/sql/storage/compression/patas/patas_tpch.test_slow -# group: [patas] +# name: test/sql/storage/compression/alprd/alprd_tpch.test_slow +# group: [alprd] require tpch # load the DB from disk -load __TEST_DIR__/test_patas.db +load __TEST_DIR__/test_alprd.db # This needs to be single-threaded to be consistent (because of floating point issues) statement ok pragma threads=1 statement ok -PRAGMA force_compression='patas'; +PRAGMA force_compression='alprd'; statement ok call dbgen(sf=1, suffix='_original'); diff --git a/test/sql/storage/compression/alprd/alprd_zeros.test b/test/sql/storage/compression/alprd/alprd_zeros.test new file mode 100644 index 000000000000..0493276cf4b0 --- /dev/null +++ b/test/sql/storage/compression/alprd/alprd_zeros.test @@ -0,0 +1,43 @@ +# name: test/sql/storage/compression/alprd/alprd_zeros.test +# description: Test storage of alprd, but simple +# group: [alprd] + +# load the DB from disk +load __TEST_DIR__/test_alprd.db + +statement ok +PRAGMA force_compression='uncompressed' + +# Create a table with random doubles of limited precision compressed as Uncompressed +statement ok +create table random_double as select 0::DOUBLE as data from range(1024) tbl(i); + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; +---- + +# Now create a duplicate of this table, compressed with ALP instead +statement ok +PRAGMA force_compression='alprd' + +statement ok +create table random_alp_double as select * from random_double; + +statement ok +checkpoint + +query I +SELECT compression FROM pragma_storage_info('random_alp_double') WHERE segment_type == 'double' AND compression != 'ALPRD'; +---- + +# Assert that the data was not corrupted by compressing to ALP +query I sort r1 +select * from random_double; +---- + +query I sort r1 +select * from random_alp_double; +---- diff --git a/test/sql/storage/compression/bitpacking/bitpacking_bitwidths.test_slow b/test/sql/storage/compression/bitpacking/bitpacking_bitwidths.test_slow index 71a7db6eb994..0faf43aada39 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_bitwidths.test_slow +++ b/test/sql/storage/compression/bitpacking/bitpacking_bitwidths.test_slow @@ -116,4 +116,4 @@ drop table test_nullpack endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/bitpacking/bitpacking_compression_ratio.test_slow b/test/sql/storage/compression/bitpacking/bitpacking_compression_ratio.test_slow index 2acb9164fa50..344092ca5feb 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_compression_ratio.test_slow +++ b/test/sql/storage/compression/bitpacking/bitpacking_compression_ratio.test_slow @@ -2,7 +2,10 @@ # description: Assert bitpacking compression ratio is within reasonable margins for each mode # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_bitpacking.db #### CONSTANT MODE Compression ratio calculation: @@ -247,4 +250,4 @@ drop table test_bitpacked statement ok drop table test_uncompressed -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/bitpacking/bitpacking_compression_ratio_hugeint.test_slow b/test/sql/storage/compression/bitpacking/bitpacking_compression_ratio_hugeint.test_slow index a4dfc35a6371..136e4e929e4a 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_compression_ratio_hugeint.test_slow +++ b/test/sql/storage/compression/bitpacking/bitpacking_compression_ratio_hugeint.test_slow @@ -2,7 +2,10 @@ # description: Assert bitpacking compression ratio is within reasonable margins for each mode # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_bitpacking.db #### CONSTANT MODE: diff --git a/test/sql/storage/compression/bitpacking/bitpacking_constant_delta.test b/test/sql/storage/compression/bitpacking/bitpacking_constant_delta.test index a55b7363ee2a..bf36673692c1 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_constant_delta.test +++ b/test/sql/storage/compression/bitpacking/bitpacking_constant_delta.test @@ -2,7 +2,10 @@ # description: Test that will use the BitpackingMode::CONSTANT_DELTA compression mode # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_bitpacking.db statement ok @@ -63,4 +66,4 @@ SELECT avg(c) FROM test; statement ok DROP TABLE test -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/bitpacking/bitpacking_delta.test_slow b/test/sql/storage/compression/bitpacking/bitpacking_delta.test_slow index c55d8bb7f81e..024356032b35 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_delta.test_slow +++ b/test/sql/storage/compression/bitpacking/bitpacking_delta.test_slow @@ -2,7 +2,10 @@ # description: Test some large incompressible data # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/bitpacking_uncompressible.db statement ok diff --git a/test/sql/storage/compression/bitpacking/bitpacking_fatal_forced.test_slow b/test/sql/storage/compression/bitpacking/bitpacking_fatal_forced.test_slow index 86c62425282e..7636475d4e68 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_fatal_forced.test_slow +++ b/test/sql/storage/compression/bitpacking/bitpacking_fatal_forced.test_slow @@ -19,7 +19,7 @@ CREATE TABLE test (x INT128, a INT64, b INT32, c INT16, d TINYINT); # Data too big to be compressed with bitpacking statement ok INSERT INTO test VALUES - (-170141183460469231731687303715884105727, -9223372036854775808, -2147483648, -32768, -128), + (-170141183460469231731687303715884105728, -9223372036854775808, -2147483648, -32768, -128), (170141183460469231731687303715884105727, 9223372036854775807, 2147483647, 32767, 127); query I @@ -39,4 +39,4 @@ Uncompressed statement ok DROP TABLE test; -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/bitpacking/bitpacking_filter_pushdown.test b/test/sql/storage/compression/bitpacking/bitpacking_filter_pushdown.test index 47119dd2b479..e841357289e0 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_filter_pushdown.test +++ b/test/sql/storage/compression/bitpacking/bitpacking_filter_pushdown.test @@ -2,7 +2,10 @@ # description: Filter pushdown with Bitpacking columns # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_bitpacking.db statement ok @@ -33,7 +36,6 @@ query I SELECT compression FROM pragma_storage_info('test') where segment_type = 'INTEGER' and compression != 'BitPacking' ---- - # filter on the bitpacking column query IIII SELECT SUM(col), MIN(col), MAX(col), COUNT(*) FROM test WHERE col=1337 @@ -53,6 +55,6 @@ SELECT MIN(id), MAX(id), SUM(col), MIN(col), MAX(col), COUNT(*) FROM test WHERE 0 9000 403370 0 39000 30 statement ok -drop table test +DROP TABLE test -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/bitpacking/bitpacking_hugeint.test b/test/sql/storage/compression/bitpacking/bitpacking_hugeint.test index e5c02bdcb882..e59bf0904aaf 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_hugeint.test +++ b/test/sql/storage/compression/bitpacking/bitpacking_hugeint.test @@ -2,7 +2,10 @@ # description: Test hugeint bitpacking at multiple bitwidths # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_bitpacking.db statement ok diff --git a/test/sql/storage/compression/bitpacking/bitpacking_index_fetch.test_slow b/test/sql/storage/compression/bitpacking/bitpacking_index_fetch.test_slow index 04f2ef8a1850..ac31fd9392b7 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_index_fetch.test_slow +++ b/test/sql/storage/compression/bitpacking/bitpacking_index_fetch.test_slow @@ -2,7 +2,10 @@ # description: Fetch from Bitpacking column with index # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_bitpacking.db statement ok diff --git a/test/sql/storage/compression/bitpacking/bitpacking_lists.test_slow b/test/sql/storage/compression/bitpacking/bitpacking_lists.test_slow index 0a556616d906..c1f3c3d3312f 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_lists.test_slow +++ b/test/sql/storage/compression/bitpacking/bitpacking_lists.test_slow @@ -2,7 +2,10 @@ # description: Test storage with Bitpacking inside lists # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_rle.db statement ok @@ -66,4 +69,4 @@ drop table test_large_list statement ok drop table test -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/bitpacking/bitpacking_nulls.test b/test/sql/storage/compression/bitpacking/bitpacking_nulls.test index 7951a911ca1a..01c0f3220afe 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_nulls.test +++ b/test/sql/storage/compression/bitpacking/bitpacking_nulls.test @@ -2,7 +2,10 @@ # description: Test bitpacking with nulls # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_bitpacking.db statement ok @@ -44,4 +47,4 @@ select sum(a), min(a), max(a) from test; statement ok DROP TABLE test; -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/bitpacking/bitpacking_simple.test b/test/sql/storage/compression/bitpacking/bitpacking_simple.test index ce337568c5f4..5c52679542d2 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_simple.test +++ b/test/sql/storage/compression/bitpacking/bitpacking_simple.test @@ -2,9 +2,15 @@ # description: Test storage bitpacking, but simple # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_bitpacking.db +statement ok +pragma verify_fetch_row + statement ok PRAGMA force_compression='bitpacking' @@ -17,9 +23,12 @@ PRAGMA force_bitpacking_mode='${bitpacking_mode}' statement ok CREATE TABLE test (id VARCHAR, a BIGINT); -# Insert multiple ranges so that each method can be used on at least on the the ranges +# insert multiple ranges so that each method can be used on at least one the the ranges + statement ok INSERT INTO test SELECT i::VARCHAR, -i FROM range(0,10000) tbl(i); + +statement ok INSERT INTO test SELECT i::VARCHAR, 13371337 FROM range(0,10000) tbl(i); statement ok @@ -56,4 +65,4 @@ BitPacking statement ok DROP TABLE test; -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/bitpacking/bitpacking_simple_hugeint.test b/test/sql/storage/compression/bitpacking/bitpacking_simple_hugeint.test index 905f66ea9b24..0fa66972d681 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_simple_hugeint.test +++ b/test/sql/storage/compression/bitpacking/bitpacking_simple_hugeint.test @@ -2,9 +2,15 @@ # description: Test storage bitpacking, but simple and for hugeints # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_bitpacking.db +statement ok +pragma verify_fetch_row + statement ok PRAGMA force_compression='bitpacking' @@ -17,10 +23,12 @@ PRAGMA force_bitpacking_mode='${bitpacking_mode}' statement ok CREATE TABLE test (id VARCHAR, a HUGEINT); -# Insert multiple ranges so that each method can be used on at least on the the ranges -# bit-width > 96 +# insert multiple ranges so that each method can be used on at least on the the ranges bit-width > 96 + statement ok INSERT INTO test SELECT i::VARCHAR, -i::HUGEINT + -1234567891011121314151617180000::HUGEINT FROM range(0, 10000) tbl(i); + +statement ok INSERT INTO test SELECT i::VARCHAR, 13371337 FROM range(0,10000) tbl(i); statement ok @@ -52,4 +60,4 @@ BitPacking statement ok DROP TABLE test; -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/bitpacking/bitpacking_size_calculation.test b/test/sql/storage/compression/bitpacking/bitpacking_size_calculation.test index 6c18d839f46e..30b86ca88a1f 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_size_calculation.test +++ b/test/sql/storage/compression/bitpacking/bitpacking_size_calculation.test @@ -17,4 +17,4 @@ CREATE OR REPLACE TABLE toy_table AS FROM 'https://github.com/duckdb/duckdb-data/releases/download/v1.0/bp_bug.parquet' ; statement ok -CHECKPOINT; \ No newline at end of file +CHECKPOINT; diff --git a/test/sql/storage/compression/bitpacking/bitpacking_storage_info.test b/test/sql/storage/compression/bitpacking/bitpacking_storage_info.test index 18fee0b50160..2f44f076d0c1 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_storage_info.test +++ b/test/sql/storage/compression/bitpacking/bitpacking_storage_info.test @@ -2,7 +2,10 @@ # description: Test storage with Bitpacking # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_bitpacking.db statement ok diff --git a/test/sql/storage/compression/bitpacking/bitpacking_table_copy.test b/test/sql/storage/compression/bitpacking/bitpacking_table_copy.test index 8e2a4b837da0..2980085987a9 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_table_copy.test +++ b/test/sql/storage/compression/bitpacking/bitpacking_table_copy.test @@ -46,4 +46,4 @@ drop table test statement ok drop table test_2 -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/bitpacking/bitpacking_types.test_slow b/test/sql/storage/compression/bitpacking/bitpacking_types.test_slow index 970ae07619d0..d313a197d770 100644 --- a/test/sql/storage/compression/bitpacking/bitpacking_types.test_slow +++ b/test/sql/storage/compression/bitpacking/bitpacking_types.test_slow @@ -2,7 +2,10 @@ # description: Test bitpacking with different types, especially around the numerical limits # group: [bitpacking] -# load the DB from disk +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + load __TEST_DIR__/test_bitpacking.db statement ok @@ -13,7 +16,7 @@ foreach bitpacking_mode delta_for for constant_delta constant statement ok PRAGMA force_bitpacking_mode='${bitpacking_mode}' -foreach type hugeint decimal(4,1) decimal(8,1) decimal(12,1) decimal(18,1) +foreach type decimal(4,1) decimal(8,1) decimal(12,1) decimal(18,1) statement ok CREATE TABLE a AS SELECT MOD(i,3)::${type} i FROM range(10000) tbl(i) diff --git a/test/sql/storage/compression/bitpacking/bitpacking_uhugeint.test b/test/sql/storage/compression/bitpacking/bitpacking_uhugeint.test new file mode 100644 index 000000000000..c6a7d89425ca --- /dev/null +++ b/test/sql/storage/compression/bitpacking/bitpacking_uhugeint.test @@ -0,0 +1,255 @@ +# name: test/sql/storage/compression/bitpacking/bitpacking_uhugeint.test +# description: Test uhugeint bitpacking at multiple bitwidths +# group: [bitpacking] + +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + +load __TEST_DIR__/test_bitpacking.db + +statement ok +PRAGMA force_compression='bitpacking' + +statement ok +PRAGMA force_bitpacking_mode='constant' + +# bit-width < 32 +# ---------------------------------------- +statement ok +CREATE TABLE test (id VARCHAR, a UHUGEINT); + +statement ok +INSERT INTO test SELECT i::VARCHAR, i::UHUGEINT FROM range(0, 16) tbl(i); +INSERT INTO test SELECT i::VARCHAR, 13371337 FROM range(0, 16) tbl(i); + +statement ok +checkpoint + +query I +select a from test limit 5; +---- +0 +1 +2 +3 +4 + +# make sure compression is being used +query I +SELECT compression FROM pragma_storage_info('test') WHERE segment_type ILIKE 'UHUGEINT'; +---- +BitPacking + +statement ok +DROP TABLE test; + +# bit-width == 32 +# ---------------------------------------- +statement ok +CREATE TABLE test (id VARCHAR, a UHUGEINT); + +statement ok +INSERT INTO test SELECT i::VARCHAR, i::UHUGEINT + 3000000000::UHUGEINT FROM range(0, 16) tbl(i); +INSERT INTO test SELECT i::VARCHAR, 13371337 FROM range(0, 16) tbl(i); + +statement ok +checkpoint + +query I +select a from test limit 5; +---- +3000000000 +3000000001 +3000000002 +3000000003 +3000000004 + +# make sure compression is being used +query I +SELECT compression FROM pragma_storage_info('test') WHERE segment_type ILIKE 'UHUGEINT'; +---- +BitPacking + +statement ok +DROP TABLE test; + +# 32 < bit-width < 64 +# ---------------------------------------- +statement ok +CREATE TABLE test (id VARCHAR, a UHUGEINT); + +statement ok +INSERT INTO test SELECT i::VARCHAR, i::UHUGEINT + 200000000000::UHUGEINT FROM range(0, 16) tbl(i); +INSERT INTO test SELECT i::VARCHAR, 13371337 FROM range(0, 16) tbl(i); + +statement ok +checkpoint + +query I +select a from test limit 5; +---- +200000000000 +200000000001 +200000000002 +200000000003 +200000000004 + +# make sure compression is being used +query I +SELECT compression FROM pragma_storage_info('test') WHERE segment_type ILIKE 'UHUGEINT'; +---- +BitPacking + +statement ok +DROP TABLE test; + +# bit-width == 64 +# ---------------------------------------- +statement ok +CREATE TABLE test (id VARCHAR, a UHUGEINT); + +statement ok +INSERT INTO test SELECT i::VARCHAR, i::UHUGEINT + 10000000000000000000::UHUGEINT FROM range(0, 16) tbl(i); +INSERT INTO test SELECT i::VARCHAR, 13371337 FROM range(0, 16) tbl(i); + +statement ok +checkpoint + +query I +select a from test limit 5; +---- +10000000000000000000 +10000000000000000001 +10000000000000000002 +10000000000000000003 +10000000000000000004 + +# make sure compression is being used +query I +SELECT compression FROM pragma_storage_info('test') WHERE segment_type ILIKE 'UHUGEINT'; +---- +BitPacking + +statement ok +DROP TABLE test; + +# 64 < bit-width < 96 +# ---------------------------------------- +statement ok +CREATE TABLE test (id VARCHAR, a UHUGEINT); + +statement ok +INSERT INTO test SELECT i::VARCHAR, i::UHUGEINT + 500000000000000000000::UHUGEINT FROM range(0, 16) tbl(i); +INSERT INTO test SELECT i::VARCHAR, 13371337 FROM range(0, 16) tbl(i); + +statement ok +checkpoint + +query I +select a from test limit 5; +---- +500000000000000000000 +500000000000000000001 +500000000000000000002 +500000000000000000003 +500000000000000000004 + +# make sure compression is being used +query I +SELECT compression FROM pragma_storage_info('test') WHERE segment_type ILIKE 'UHUGEINT'; +---- +BitPacking + +statement ok +DROP TABLE test; + +# bit-width == 96 +# ---------------------------------------- +statement ok +CREATE TABLE test (id VARCHAR, a UHUGEINT); + +statement ok +INSERT INTO test SELECT i::VARCHAR, i::UHUGEINT + 50000000000000000000000000000::UHUGEINT FROM range(0, 16) tbl(i); +INSERT INTO test SELECT i::VARCHAR, 13371337 FROM range(0, 16) tbl(i); + +statement ok +checkpoint + +query I +select a from test limit 5; +---- +50000000000000000000000000000 +50000000000000000000000000001 +50000000000000000000000000002 +50000000000000000000000000003 +50000000000000000000000000004 + +# make sure compression is being used +query I +SELECT compression FROM pragma_storage_info('test') WHERE segment_type ILIKE 'UHUGEINT'; +---- +BitPacking + +statement ok +DROP TABLE test; + +# 96 < bit-width < 128 +# ---------------------------------------- +statement ok +CREATE TABLE test (id VARCHAR, a UHUGEINT); + +statement ok +INSERT INTO test SELECT i::VARCHAR, i::UHUGEINT + 300000000000000000000000000000000::UHUGEINT FROM range(0, 16) tbl(i); +INSERT INTO test SELECT i::VARCHAR, 13371337 FROM range(0, 16) tbl(i); + +statement ok +checkpoint + +query I +select a from test limit 5; +---- +300000000000000000000000000000000 +300000000000000000000000000000001 +300000000000000000000000000000002 +300000000000000000000000000000003 +300000000000000000000000000000004 + +# make sure compression is being used +query I +SELECT compression FROM pragma_storage_info('test') WHERE segment_type ILIKE 'UHUGEINT'; +---- +BitPacking + +statement ok +DROP TABLE test; + +# bit-width == 128 +# ---------------------------------------- +statement ok +CREATE TABLE test (id VARCHAR, a UHUGEINT); + +statement ok +INSERT INTO test SELECT i::VARCHAR, i::UHUGEINT + 20000000000000000000000000000000000000::UHUGEINT FROM range(0, 16) tbl(i); +INSERT INTO test SELECT i::VARCHAR, 13371337 FROM range(0, 16) tbl(i); + +statement ok +checkpoint + +query I +select a from test limit 5; +---- +20000000000000000000000000000000000000 +20000000000000000000000000000000000001 +20000000000000000000000000000000000002 +20000000000000000000000000000000000003 +20000000000000000000000000000000000004 + +# make sure compression is being used +query I +SELECT compression FROM pragma_storage_info('test') WHERE segment_type ILIKE 'UHUGEINT'; +---- +BitPacking + +statement ok +DROP TABLE test; diff --git a/test/sql/storage/compression/bitpacking/force_bitpacking.test b/test/sql/storage/compression/bitpacking/force_bitpacking.test new file mode 100644 index 000000000000..b4db021ba766 --- /dev/null +++ b/test/sql/storage/compression/bitpacking/force_bitpacking.test @@ -0,0 +1,31 @@ +# name: test/sql/storage/compression/bitpacking/force_bitpacking.test +# description: Test forcing bitpacking as the compression scheme +# group: [bitpacking] + +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + +require vector_size 2048 + +load __TEST_DIR__/force_bitpacking.db + +statement ok +PRAGMA force_compression = 'bitpacking' + +statement ok +CREATE TABLE test_bp (a INTEGER); + +statement ok +INSERT INTO test_bp SELECT 1 FROM range(0, 1000) tbl(i); + +statement ok +INSERT INTO test_bp SELECT 2 FROM range(0, 1000) tbl(i); + +statement ok +CHECKPOINT + +query I +SELECT compression FROM pragma_storage_info('test_bp') WHERE segment_type ILIKE 'INTEGER' LIMIT 1 +---- +BitPacking diff --git a/test/sql/storage/compression/bitpacking/struct_bitpacking.test b/test/sql/storage/compression/bitpacking/struct_bitpacking.test index 62a2fd4b0b78..1782cf1cc445 100644 --- a/test/sql/storage/compression/bitpacking/struct_bitpacking.test +++ b/test/sql/storage/compression/bitpacking/struct_bitpacking.test @@ -37,4 +37,4 @@ SELECT SUM(s['a']), MIN(s['a']), MAX(s['a']), COUNT(*) FROM test statement ok DROP TABLE test; -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/chimp/chimp.db b/test/sql/storage/compression/chimp/chimp.db new file mode 100644 index 000000000000..b96ebd0bbe06 Binary files /dev/null and b/test/sql/storage/compression/chimp/chimp.db differ diff --git a/test/sql/storage/compression/chimp/chimp_compression_ratio.test_slow b/test/sql/storage/compression/chimp/chimp_compression_ratio.test_slow deleted file mode 100644 index 12ceb096e621..000000000000 --- a/test/sql/storage/compression/chimp/chimp_compression_ratio.test_slow +++ /dev/null @@ -1,73 +0,0 @@ -# name: test/sql/storage/compression/chimp/chimp_compression_ratio.test_slow -# description: Assert chimp compression ratio is within reasonable margins -# group: [chimp] - -# ---------------- SETTINGS ---------------- - -require parquet - -require httpfs - -# Use a persistent DB for this test -load __TEST_DIR__/test_chimp.db - -# ---------------- SET UP ---------------- - -# Load and store the dataset with 'chimp' and 'uncompressed', -# Done for both 'double' and 'float' -# stored in 'test_chimp_float|double' and 'test_uncompressed_float|double' respectively - -foreach compression uncompressed chimp - -statement ok -PRAGMA force_compression='${compression}'; - -foreach type double float - -statement ok -CREATE TABLE test_${compression}_${type}( - temperature ${type} -); - -statement ok -INSERT INTO test_${compression}_${type} SELECT temp FROM 'https://github.com/duckdb/duckdb-data/releases/download/v1.0/city_temperature.parquet' t(temp), range(12); - -#type -endloop - -statement ok -checkpoint - -#compression -endloop - -# ---------------- TESTS ---------------- - -# Assert that no segments are compressed with anything other than Chimp -query I -SELECT compression FROM pragma_storage_info('test_chimp_float') WHERE segment_type != 'VALIDITY' AND compression != 'Chimp'; ----- - -query I -SELECT compression FROM pragma_storage_info('test_chimp_double') WHERE segment_type != 'VALIDITY' AND compression != 'Chimp'; ----- - -# Assert that the compression ratio for this dataset with doubles is higher than 2.5 -query I -select (uncompressed::DOUBLE / chimped::DOUBLE) > 2.5 FROM ( - select - (select count(distinct block_id) from pragma_storage_info('test_chimp_double') where segment_type not in('VARCHAR', 'VALIDITY')) as chimped, - (select count(distinct block_id) from pragma_storage_info('test_uncompressed_double') where segment_type not in('VARCHAR', 'VALIDITY')) as uncompressed -) ----- -True - -# Assert that the compression ratio for this dataset with floats is higher than 1.3 -query I -select (uncompressed::DOUBLE / chimped::DOUBLE) > 1.3 FROM ( - select - (select count(distinct block_id) from pragma_storage_info('test_chimp_float') where segment_type not in('VARCHAR', 'VALIDITY')) as chimped, - (select count(distinct block_id) from pragma_storage_info('test_uncompressed_float') where segment_type not in('VARCHAR', 'VALIDITY')) as uncompressed -) ----- -True diff --git a/test/sql/storage/compression/chimp/chimp_nulls.test b/test/sql/storage/compression/chimp/chimp_nulls.test deleted file mode 100644 index 886510f752e5..000000000000 --- a/test/sql/storage/compression/chimp/chimp_nulls.test +++ /dev/null @@ -1,118 +0,0 @@ -# name: test/sql/storage/compression/chimp/chimp_nulls.test -# group: [chimp] - -foreach compression uncompressed chimp - -# Create tables - -statement ok -create table tbl1_${compression}( - a INTEGER DEFAULT 5, - b VARCHAR DEFAULT 'test', - c BOOL DEFAULT false, - d DOUBLE, - e TEXT default 'null', - f FLOAT -); - -statement ok -create table tbl2_${compression}( - a INTEGER DEFAULT 5, - b VARCHAR DEFAULT 'test', - c BOOL DEFAULT false, - d DOUBLE, - e TEXT default 'null', - f FLOAT -); - -statement ok -create table tbl3_${compression}( - a INTEGER DEFAULT 5, - b VARCHAR DEFAULT 'test', - c BOOL DEFAULT false, - d DOUBLE, - e TEXT default 'null', - f FLOAT -); - -# Populate tables - -# Mixed NULLs -statement ok -insert into tbl1_${compression}(d,f) VALUES -(NULL, 1.2314234), -(324213.23123, NULL), -(NULL, NULL), -(21312.2341234, 12.1232345234), -(NULL, NULL); - -# Only NULLS -statement ok -insert into tbl2_${compression}(d,f) VALUES -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL); - -# Starting with NULLS -statement ok -insert into tbl3_${compression}(d,f) VALUES -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(7034.34968234, 93472948.980347532), -(1.213123, 1.232142134); - -# Set the compression algorithm - -statement ok -pragma force_compression='${compression}' - -# Force a checkpoint - -statement ok -checkpoint - -endloop - -# Assert that the scanned results are the same - -#tbl1 - -query II nosort r1 -select d, f from tbl1_uncompressed; ----- - -query II nosort r1 -select d, f from tbl1_chimp; ----- - -#tbl2 - -query II nosort r2 -select d, f from tbl2_uncompressed; ----- - -query II nosort r2 -select d, f from tbl2_chimp; ----- - -# tbl3 - -query II nosort r3 -select d, f from tbl3_uncompressed; ----- - -query II nosort r3 -select d, f from tbl3_chimp; ----- diff --git a/test/sql/storage/compression/chimp/chimp_read.test b/test/sql/storage/compression/chimp/chimp_read.test new file mode 100644 index 000000000000..174df33ba517 --- /dev/null +++ b/test/sql/storage/compression/chimp/chimp_read.test @@ -0,0 +1,36 @@ +# name: test/sql/storage/compression/chimp/chimp_read.test +# group: [chimp] + +load test/sql/storage/compression/chimp/chimp.db readonly + +query I +select count(temperature) from temperatures_double; +---- +245000 + +query I +select count(temperature) from temperatures_float; +---- +245000 + +query I nosort res +select temperature from temperatures_double; +---- + +query I nosort res +select temperature from temperatures_float; +---- + +query I +SELECT compression FROM pragma_storage_info('temperatures_double') WHERE segment_type == 'double' AND compression != 'Chimp'; +---- + +query I +SELECT compression FROM pragma_storage_info('temperatures_float') WHERE segment_type == 'float' AND compression != 'Chimp'; +---- + +# Verify that the compression method is deprecated +statement error +pragma force_compression='chimp' +---- +deprecated diff --git a/test/sql/storage/compression/chimp/chimp_read_float.test_slow b/test/sql/storage/compression/chimp/chimp_read_float.test_slow deleted file mode 100644 index 8b3feb70f40a..000000000000 --- a/test/sql/storage/compression/chimp/chimp_read_float.test_slow +++ /dev/null @@ -1,48 +0,0 @@ -# name: test/sql/storage/compression/chimp/chimp_read_float.test_slow -# group: [chimp] - -require parquet - -require httpfs - -load __TEST_DIR__/test_chimp.db - -statement ok -DROP TABLE IF EXISTS temperatures; - -statement ok -PRAGMA force_compression='chimp'; - -statement ok -CREATE TABLE temperatures ( - temperature FLOAT -); - -statement ok -INSERT INTO temperatures SELECT temp FROM 'https://github.com/duckdb/duckdb-data/releases/download/v1.0/city_temperature.parquet' t(temp), range(1); - -statement ok -CHECKPOINT; - -statement ok -create table reference_temperatures ( - temperature FLOAT -); - -statement ok -PRAGMA force_compression='uncompressed'; - -statement ok -INSERT INTO reference_temperatures SELECT temp FROM 'https://github.com/duckdb/duckdb-data/releases/download/v1.0/city_temperature.parquet' t(temp), range(1); - -statement ok -checkpoint; - -query I nosort r1 -select temperature from reference_temperatures; ----- - -query I nosort r1 -select temperature from temperatures ----- - diff --git a/test/sql/storage/compression/chimp/chimp_simple.test b/test/sql/storage/compression/chimp/chimp_simple.test deleted file mode 100644 index 10a10e8850a1..000000000000 --- a/test/sql/storage/compression/chimp/chimp_simple.test +++ /dev/null @@ -1,43 +0,0 @@ -# name: test/sql/storage/compression/chimp/chimp_simple.test -# description: Test storage bitpacking, but simple -# group: [chimp] - -# load the DB from disk -load __TEST_DIR__/test_chimp.db - -statement ok -PRAGMA force_compression='uncompressed' - -# Create a table with random doubles compressed as Uncompressed -statement ok -create table random_double as select i::DOUBLE as data from range(1024) tbl(i); - -statement ok -checkpoint - -query I -SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; ----- - -# Now create a duplicate of this table, compressed with Chimp instead -statement ok -PRAGMA force_compression='chimp' - -statement ok -create table random_chimp_double as select * from random_double; - -statement ok -checkpoint - -query I -SELECT compression FROM pragma_storage_info('random_chimp_double') WHERE segment_type == 'double' AND compression != 'Chimp'; ----- - -# Assert that the data was not corrupted by compressing to Chimp -query I sort r1 -select * from random_double; ----- - -query I sort r1 -select * from random_chimp_double; ----- diff --git a/test/sql/storage/compression/compression_force_selection.test b/test/sql/storage/compression/compression_force_selection.test deleted file mode 100644 index 3e1676cd6fd0..000000000000 --- a/test/sql/storage/compression/compression_force_selection.test +++ /dev/null @@ -1,62 +0,0 @@ -# name: test/sql/storage/compression/compression_force_selection.test -# description: Test the forcing of a compression scheme -# group: [compression] - -require vector_size 1024 - -# load the DB from disk -load __TEST_DIR__/test_compression_simple.db - -statement ok -PRAGMA force_compression = 'bitpacking' - -statement ok -CREATE TABLE test_bp (a INTEGER); - -statement ok -INSERT INTO test_bp SELECT 1 FROM range(0, 1000) tbl(i); -INSERT INTO test_bp SELECT 2 FROM range(0, 1000) tbl(i); - -statement ok -CHECKPOINT - -query I -SELECT compression FROM pragma_storage_info('test_bp') WHERE segment_type ILIKE 'INTEGER' LIMIT 1 ----- -BitPacking - -# Bitpacking -statement ok -PRAGMA force_compression = 'rle' - -statement ok -CREATE TABLE test_rle (a INTEGER); - -statement ok -INSERT INTO test_rle SELECT i FROM range(0, 2000) tbl(i); - -statement ok -CHECKPOINT - -query I -SELECT compression FROM pragma_storage_info('test_rle') WHERE segment_type ILIKE 'INTEGER' LIMIT 1 ----- -RLE - -# Dictionary -statement ok -PRAGMA force_compression = 'dictionary' - -statement ok -CREATE TABLE test_dict (a VARCHAR); - -statement ok -INSERT INTO test_dict SELECT i::VARCHAR FROM range(0, 2000) tbl(i); - -statement ok -CHECKPOINT - -query I -SELECT compression FROM pragma_storage_info('test_dict') WHERE segment_type ILIKE 'VARCHAR' LIMIT 1 ----- -Dictionary diff --git a/test/sql/storage/compression/compression_selection.test b/test/sql/storage/compression/compression_selection.test index faefc4aa2b64..754719dcd8a9 100644 --- a/test/sql/storage/compression/compression_selection.test +++ b/test/sql/storage/compression/compression_selection.test @@ -2,9 +2,8 @@ # description: Test that the right scheme is chosen for the right data. # group: [compression] -require vector_size 1024 +require vector_size 2048 -# load the DB from disk load __TEST_DIR__/test_compression_simple.db statement ok @@ -12,6 +11,8 @@ CREATE TABLE test_rle (a INTEGER); statement ok INSERT INTO test_rle SELECT 2147480000 FROM range(0, 10000) tbl(i); + +statement ok INSERT INTO test_rle SELECT 2147480001 FROM range(0, 10000) tbl(i); statement ok @@ -22,21 +23,6 @@ SELECT compression FROM pragma_storage_info('test_rle') WHERE segment_type ILIKE ---- RLE -# Bitpacking -statement ok -CREATE TABLE test_bp (a INTEGER); - -statement ok -INSERT INTO test_bp SELECT i FROM range(0, 2000) tbl(i); - -statement ok -CHECKPOINT - -query I -SELECT compression FROM pragma_storage_info('test_bp') WHERE segment_type ILIKE 'INTEGER' LIMIT 1 ----- -BitPacking - # Constant statement ok CREATE TABLE test_constant (a INTEGER); @@ -66,3 +52,22 @@ query I SELECT compression FROM pragma_storage_info('test_dict') WHERE segment_type ILIKE 'VARCHAR' LIMIT 1 ---- Dictionary + +# for small block sizes, this test will default to another compression function, as the bitpacking groups +# no longer fit the blocks +require block_size 262144 + +# Bitpacking +statement ok +CREATE TABLE test_bp (a INTEGER); + +statement ok +INSERT INTO test_bp SELECT i FROM range(0, 2000) tbl(i); + +statement ok +CHECKPOINT + +query I +SELECT compression FROM pragma_storage_info('test_bp') WHERE segment_type ILIKE 'INTEGER' LIMIT 1 +---- +BitPacking diff --git a/test/sql/storage/compression/dictionary/dictionary_compression_ratio.test_slow b/test/sql/storage/compression/dictionary/dictionary_compression_ratio.test_slow index c62f30652369..2b4912682460 100644 --- a/test/sql/storage/compression/dictionary/dictionary_compression_ratio.test_slow +++ b/test/sql/storage/compression/dictionary/dictionary_compression_ratio.test_slow @@ -2,12 +2,11 @@ # description: Assert dictionary compression ratio is within reasonable margins # group: [dictionary] -# load the DB from disk load __TEST_DIR__/test_dictionary.db # First test: detailed compression ratio statement ok -PRAGMA force_compression='dictionary' +PRAGMA force_compression='dictionary'; # Assuming 10 chars at 1 byte, with a 4byte offset and a 2byte length per string uncompressed: # Ratio absolute max at 3 bits per value (ignoring dict size) = (16/(3/8)) = 42.6666666667 @@ -15,34 +14,23 @@ statement ok CREATE TABLE test_dictionary AS SELECT concat('BEEPBOOP-', (i%3)::VARCHAR) AS i FROM range(0, 1250000) tbl(i); statement ok -checkpoint +CHECKPOINT; statement ok -PRAGMA force_compression='uncompressed' +PRAGMA force_compression='uncompressed'; statement ok CREATE TABLE test_uncompressed AS SELECT concat('BEEPBOOP-', (i%3)::VARCHAR) AS i FROM range(0, 1250000) tbl(i); statement ok -checkpoint +CHECKPOINT; +# keep a wide margin for the compression ratio to account for changes (like the block size) that +# influence the compression ratio -#mode output_result - -statement ok -select (uncompressed::FLOAT / dictionary::FLOAT) as compression_ratio FROM ( - select - (select count(distinct block_id) from pragma_storage_info('test_dictionary') where segment_type in('VARCHAR')) as dictionary, - (select count(distinct block_id) from pragma_storage_info('test_uncompressed') where segment_type in('VARCHAR')) as uncompressed -) - -# This query keeps a pretty wide margin in compression ratio un purpose to account for possible changes that -# influence compression ratio. -query II -select (uncompressed::FLOAT / dictionary::FLOAT) > 35, (uncompressed::FLOAT / dictionary::FLOAT) < 43 FROM ( - select - (select count(distinct block_id) from pragma_storage_info('test_dictionary') where segment_type in('VARCHAR')) as dictionary, - (select count(distinct block_id) from pragma_storage_info('test_uncompressed') where segment_type in('VARCHAR')) as uncompressed -) +query I +SELECT uncompressed::FLOAT / dictionary::FLOAT > 30 AND uncompressed::FLOAT / dictionary::FLOAT < 55 FROM + (SELECT count(DISTINCT block_id) AS dictionary FROM pragma_storage_info('test_dictionary') WHERE segment_type IN ('VARCHAR')) AS dictionary, + (SELECT count(DISTINCT block_id) AS uncompressed FROM pragma_storage_info('test_uncompressed') WHERE segment_type IN ('VARCHAR')) AS uncompressed; ---- -True True +True \ No newline at end of file diff --git a/test/sql/storage/compression/dictionary/force_dictionary.test b/test/sql/storage/compression/dictionary/force_dictionary.test new file mode 100644 index 000000000000..e415dab25c56 --- /dev/null +++ b/test/sql/storage/compression/dictionary/force_dictionary.test @@ -0,0 +1,24 @@ +# name: test/sql/storage/compression/dictionary/force_dictionary.test +# description: Test forcing dictionary encoding as the compression scheme +# group: [dictionary] + +require vector_size 2048 + +load __TEST_DIR__/force_dictionary.db + +statement ok +PRAGMA force_compression = 'dictionary' + +statement ok +CREATE TABLE test_dict (a VARCHAR); + +statement ok +INSERT INTO test_dict SELECT i::VARCHAR FROM range(0, 2000) tbl(i); + +statement ok +CHECKPOINT + +query I +SELECT compression FROM pragma_storage_info('test_dict') WHERE segment_type ILIKE 'VARCHAR' LIMIT 1 +---- +Dictionary diff --git a/test/sql/storage/compression/fsst/issue_5675_followup.test b/test/sql/storage/compression/fsst/issue_5675_followup.test index 8072c1449a1b..021398c37aa1 100644 --- a/test/sql/storage/compression/fsst/issue_5675_followup.test +++ b/test/sql/storage/compression/fsst/issue_5675_followup.test @@ -26,4 +26,4 @@ statement ok pragma force_compression='fsst'; statement ok -CREATE TABLE TEST2 as SELECT * FROM TEST; \ No newline at end of file +CREATE TABLE TEST2 as SELECT * FROM TEST; diff --git a/test/sql/storage/compression/fsst/issue_5759.test b/test/sql/storage/compression/fsst/issue_5759.test index e30e06fb8e05..7e051473010d 100644 --- a/test/sql/storage/compression/fsst/issue_5759.test +++ b/test/sql/storage/compression/fsst/issue_5759.test @@ -9,4 +9,4 @@ pragma force_compression='fsst' # With many short and a few small strings, the sample calculation would overflow statement ok -CREATE TABLE trigger5759 AS SELECT CASE WHEN RANDOM() > 0.95 THEN repeat('ab', 1500) ELSE 'c' END FROM range(0,1000); \ No newline at end of file +CREATE TABLE trigger5759 AS SELECT CASE WHEN RANDOM() > 0.95 THEN repeat('ab', 1500) ELSE 'c' END FROM range(0,1000); diff --git a/test/sql/storage/compression/patas/patas.db b/test/sql/storage/compression/patas/patas.db new file mode 100644 index 000000000000..b28f4882aa5c Binary files /dev/null and b/test/sql/storage/compression/patas/patas.db differ diff --git a/test/sql/storage/compression/patas/patas_compression_ratio.test_slow b/test/sql/storage/compression/patas/patas_compression_ratio.test_slow deleted file mode 100644 index a0fab688e127..000000000000 --- a/test/sql/storage/compression/patas/patas_compression_ratio.test_slow +++ /dev/null @@ -1,73 +0,0 @@ -# name: test/sql/storage/compression/patas/patas_compression_ratio.test_slow -# description: Assert patas compression ratio is within reasonable margins -# group: [patas] - -# ---------------- SETTINGS ---------------- - -require parquet - -require httpfs - -# Use a persistent DB for this test -load __TEST_DIR__/test_patas.db - -# ---------------- SET UP ---------------- - -# Load and store the dataset with 'patas' and 'uncompressed', -# Done for both 'double' and 'float' -# stored in 'test_patas_float|double' and 'test_uncompressed_float|double' respectively - -foreach compression uncompressed patas - -statement ok -PRAGMA force_compression='${compression}'; - -foreach type double float - -statement ok -CREATE TABLE test_${compression}_${type}( - temperature ${type} -); - -statement ok -INSERT INTO test_${compression}_${type} SELECT temp FROM 'https://github.com/duckdb/duckdb-data/releases/download/v1.0/city_temperature.parquet' t(temp), range(12); - -#type -endloop - -statement ok -checkpoint - -#compression -endloop - -# ---------------- TESTS ---------------- - -# Assert that no segments are compressed with anything other than Patas -query I -SELECT compression FROM pragma_storage_info('test_patas_float') WHERE segment_type != 'VALIDITY' AND compression != 'Patas'; ----- - -query I -SELECT compression FROM pragma_storage_info('test_patas_double') WHERE segment_type != 'VALIDITY' AND compression != 'Patas'; ----- - -# Assert that the compression ratio for this dataset with doubles is higher than 2.5 -query I -select (uncompressed::DOUBLE / patased::DOUBLE) > 2.5 FROM ( - select - (select count(distinct block_id) from pragma_storage_info('test_patas_double') where segment_type not in('VARCHAR', 'VALIDITY')) as patased, - (select count(distinct block_id) from pragma_storage_info('test_uncompressed_double') where segment_type not in('VARCHAR', 'VALIDITY')) as uncompressed -) ----- -True - -# Assert that the compression ratio for this dataset with floats is higher than 1.3 -query I -select (uncompressed::DOUBLE / patased::DOUBLE) > 1.3 FROM ( - select - (select count(distinct block_id) from pragma_storage_info('test_patas_float') where segment_type not in('VARCHAR', 'VALIDITY')) as patased, - (select count(distinct block_id) from pragma_storage_info('test_uncompressed_float') where segment_type not in('VARCHAR', 'VALIDITY')) as uncompressed -) ----- -True diff --git a/test/sql/storage/compression/patas/patas_nulls.test b/test/sql/storage/compression/patas/patas_nulls.test deleted file mode 100644 index db7b8f163019..000000000000 --- a/test/sql/storage/compression/patas/patas_nulls.test +++ /dev/null @@ -1,118 +0,0 @@ -# name: test/sql/storage/compression/patas/patas_nulls.test -# group: [patas] - -foreach compression uncompressed patas - -# Create tables - -statement ok -create table tbl1_${compression}( - a INTEGER DEFAULT 5, - b VARCHAR DEFAULT 'test', - c BOOL DEFAULT false, - d DOUBLE, - e TEXT default 'null', - f FLOAT -); - -statement ok -create table tbl2_${compression}( - a INTEGER DEFAULT 5, - b VARCHAR DEFAULT 'test', - c BOOL DEFAULT false, - d DOUBLE, - e TEXT default 'null', - f FLOAT -); - -statement ok -create table tbl3_${compression}( - a INTEGER DEFAULT 5, - b VARCHAR DEFAULT 'test', - c BOOL DEFAULT false, - d DOUBLE, - e TEXT default 'null', - f FLOAT -); - -# Populate tables - -# Mixed NULLs -statement ok -insert into tbl1_${compression}(d,f) VALUES -(NULL, 1.2314234), -(324213.23123, NULL), -(NULL, NULL), -(21312.2341234, 12.1232345234), -(NULL, NULL); - -# Only NULLS -statement ok -insert into tbl2_${compression}(d,f) VALUES -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL); - -# Starting with NULLS -statement ok -insert into tbl3_${compression}(d,f) VALUES -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(NULL, NULL), -(7034.34968234, 93472948.980347532), -(1.213123, 1.232142134); - -# Set the compression algorithm - -statement ok -pragma force_compression='${compression}' - -# Force a checkpoint - -statement ok -checkpoint - -endloop - -# Assert that the scanned results are the same - -#tbl1 - -query II nosort r1 -select d, f from tbl1_uncompressed; ----- - -query II nosort r1 -select d, f from tbl1_patas; ----- - -#tbl2 - -query II nosort r2 -select d, f from tbl2_uncompressed; ----- - -query II nosort r2 -select d, f from tbl2_patas; ----- - -# tbl3 - -query II nosort r3 -select d, f from tbl3_uncompressed; ----- - -query II nosort r3 -select d, f from tbl3_patas; ----- diff --git a/test/sql/storage/compression/patas/patas_read.test b/test/sql/storage/compression/patas/patas_read.test new file mode 100644 index 000000000000..c6feb2a37ec9 --- /dev/null +++ b/test/sql/storage/compression/patas/patas_read.test @@ -0,0 +1,36 @@ +# name: test/sql/storage/compression/patas/patas_read.test +# group: [patas] + +load test/sql/storage/compression/patas/patas.db readonly + +query I +select count(temperature) from temperatures_double; +---- +245000 + +query I +select count(temperature) from temperatures_float; +---- +245000 + +query I nosort res +select temperature from temperatures_double; +---- + +query I nosort res +select temperature from temperatures_float; +---- + +query I +SELECT compression FROM pragma_storage_info('temperatures_double') WHERE segment_type == 'double' AND compression != 'Patas'; +---- + +query I +SELECT compression FROM pragma_storage_info('temperatures_float') WHERE segment_type == 'float' AND compression != 'Patas'; +---- + +# Verify that the compression method is deprecated +statement error +pragma force_compression='patas' +---- +deprecated diff --git a/test/sql/storage/compression/patas/patas_simple.test b/test/sql/storage/compression/patas/patas_simple.test deleted file mode 100644 index 726e9193df2e..000000000000 --- a/test/sql/storage/compression/patas/patas_simple.test +++ /dev/null @@ -1,43 +0,0 @@ -# name: test/sql/storage/compression/patas/patas_simple.test -# description: Test storage of patas, but simple -# group: [patas] - -# load the DB from disk -load __TEST_DIR__/test_patas.db - -statement ok -PRAGMA force_compression='uncompressed' - -# Create a table with random doubles compressed as Uncompressed -statement ok -create table random_double as select random()::DOUBLE as data from range(129) tbl(i); - -statement ok -checkpoint - -query I -SELECT compression FROM pragma_storage_info('random_double') WHERE segment_type == 'double' AND compression != 'Uncompressed'; ----- - -# Now create a duplicate of this table, compressed with Chimp instead -statement ok -PRAGMA force_compression='patas' - -statement ok -create table random_chimp_double as select * from random_double; - -statement ok -checkpoint - -query I -SELECT compression FROM pragma_storage_info('random_chimp_double') WHERE segment_type == 'double' AND compression != 'Patas'; ----- - -# Assert that the data was not corrupted by compressing to Chimp -query I sort r1 -select * from random_double; ----- - -query I sort r1 -select * from random_chimp_double; ----- diff --git a/test/sql/storage/compression/rle/force_rle.test b/test/sql/storage/compression/rle/force_rle.test new file mode 100644 index 000000000000..d70b81bfd9e0 --- /dev/null +++ b/test/sql/storage/compression/rle/force_rle.test @@ -0,0 +1,24 @@ +# name: test/sql/storage/compression/rle/force_rle.test +# description: Test forcing RLE as the compression scheme +# group: [rle] + +require vector_size 2048 + +load __TEST_DIR__/force_rle.db + +statement ok +PRAGMA force_compression = 'rle' + +statement ok +CREATE TABLE test_rle (a INTEGER); + +statement ok +INSERT INTO test_rle SELECT i FROM range(0, 2000) tbl(i); + +statement ok +CHECKPOINT + +query I +SELECT compression FROM pragma_storage_info('test_rle') WHERE segment_type ILIKE 'INTEGER' +---- +RLE \ No newline at end of file diff --git a/test/sql/storage/compression/rle/rle_nulls_edge_case.test b/test/sql/storage/compression/rle/rle_nulls_edge_case.test index ef03ffed9f61..bd1bf1f6cf0d 100644 --- a/test/sql/storage/compression/rle/rle_nulls_edge_case.test +++ b/test/sql/storage/compression/rle/rle_nulls_edge_case.test @@ -5,6 +5,9 @@ # load the DB from disk load __TEST_DIR__/test_rle_nulls_edge_case.db +statement ok +pragma enable_verification + statement ok PRAGMA force_compression = 'rle' diff --git a/test/sql/storage/compression/rle/struct_rle.test b/test/sql/storage/compression/rle/struct_rle.test index bb117094a4e6..645ed48c79ee 100644 --- a/test/sql/storage/compression/rle/struct_rle.test +++ b/test/sql/storage/compression/rle/struct_rle.test @@ -5,6 +5,9 @@ # load the DB from disk load __TEST_DIR__/test_rle.db +statement ok +pragma verify_fetch_row + statement ok PRAGMA force_compression = 'rle' diff --git a/test/sql/storage/compression/string/big_strings.test b/test/sql/storage/compression/string/big_strings.test index 403dbda4c826..8de5589ffaa9 100644 --- a/test/sql/storage/compression/string/big_strings.test +++ b/test/sql/storage/compression/string/big_strings.test @@ -5,6 +5,9 @@ # load the DB from disk load __TEST_DIR__/test_string_compression.db +statement ok +pragma verify_fetch_row + foreach enable_fsst_vector true false statement ok @@ -78,4 +81,4 @@ DROP TABLE normal_string; endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/blob.test b/test/sql/storage/compression/string/blob.test index 5c241f9016c2..d2bd74c66388 100644 --- a/test/sql/storage/compression/string/blob.test +++ b/test/sql/storage/compression/string/blob.test @@ -4,6 +4,9 @@ load __TEST_DIR__/test_string_compression.db +statement ok +pragma verify_fetch_row + foreach enable_fsst_vector true false statement ok @@ -70,16 +73,20 @@ SELECT * FROM blobs # Insert invalid hex strings (invalid hex chars: G, H, I) statement error INSERT INTO blobs VALUES('\xGA\xFF\xAA') +---- # Insert invalid hex strings (odd # of chars) statement error INSERT INTO blobs VALUES('\xA') +---- statement error INSERT INTO blobs VALUES('\xAA\xA') +---- statement error INSERT INTO blobs VALUES('blablabla\x') +---- statement ok checkpoint @@ -120,4 +127,4 @@ DROP TABLE blob_empty; endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/empty.test b/test/sql/storage/compression/string/empty.test index 450b4f8589ed..9c4b51644a65 100644 --- a/test/sql/storage/compression/string/empty.test +++ b/test/sql/storage/compression/string/empty.test @@ -73,4 +73,4 @@ DROP TABLE test_empty_large endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/filter_pushdown.test b/test/sql/storage/compression/string/filter_pushdown.test index ae91e95ad29b..8dcb5b7bb872 100644 --- a/test/sql/storage/compression/string/filter_pushdown.test +++ b/test/sql/storage/compression/string/filter_pushdown.test @@ -5,6 +5,9 @@ # load the DB from disk load __TEST_DIR__/test_string_compression.db +statement ok +pragma verify_fetch_row + foreach compression fsst dictionary foreach enable_fsst_vector true false @@ -46,4 +49,4 @@ DROP TABLE test; endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/index_fetch.test b/test/sql/storage/compression/string/index_fetch.test index 0845591abe1e..07e2c0e1b7dd 100644 --- a/test/sql/storage/compression/string/index_fetch.test +++ b/test/sql/storage/compression/string/index_fetch.test @@ -5,6 +5,9 @@ # load the DB from disk load __TEST_DIR__/test_string_compression.db +statement ok +pragma verify_fetch_row + foreach compression fsst dictionary foreach enable_fsst_vector true false @@ -39,4 +42,4 @@ DROP TABLE test; endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/large.test_slow b/test/sql/storage/compression/string/large.test_slow index 986607b0d13a..e6ec76e0a06a 100644 --- a/test/sql/storage/compression/string/large.test_slow +++ b/test/sql/storage/compression/string/large.test_slow @@ -54,4 +54,4 @@ DROP TABLE test; endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/lists.test_slow b/test/sql/storage/compression/string/lists.test_slow index beba84486537..458e9c63235a 100644 --- a/test/sql/storage/compression/string/lists.test_slow +++ b/test/sql/storage/compression/string/lists.test_slow @@ -2,7 +2,9 @@ # description: Test storage with string compression inside lists # group: [string] -# load the DB from disk +# FIXME: for smaller block sizes, this test hits an assertion in ColumnSegment::Scan concerning FSST vectors +require block_size 262144 + load __TEST_DIR__/test_string_compression.db foreach compression fsst dictionary @@ -78,4 +80,4 @@ DROP TABLE test endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/lists_vector_type_assertion.test_slow b/test/sql/storage/compression/string/lists_vector_type_assertion.test_slow new file mode 100644 index 000000000000..1a176734cd20 --- /dev/null +++ b/test/sql/storage/compression/string/lists_vector_type_assertion.test_slow @@ -0,0 +1,32 @@ +# name: test/sql/storage/compression/string/lists_vector_type_assertion.test_slow +# description: For smaller block sizes, this test ensures that the vector type of result vectors does not change for partial scans +# group: [string] + +# FIXME: for smaller block sizes, this test hits an assertion in ColumnSegment::Scan concerning FSST vectors +require block_size 262144 + +load __TEST_DIR__/test_string_compression.db + +statement ok +SET enable_fsst_vectors='true' + +statement ok +pragma threads=1 + +statement ok +PRAGMA force_compression='fsst' + +statement ok +CREATE TABLE test (l VARCHAR[]); + +statement ok +INSERT INTO test SELECT + CASE WHEN (i//1000)%2=0 + THEN [1::VARCHAR, 1::VARCHAR, 1::VARCHAR] + ELSE [2::VARCHAR, 2::VARCHAR] END +FROM range(200000) tbl(i) + +query II +SELECT COUNT(*), SUM(i::INT) FROM (SELECT UNNEST(l) FROM test) tbl(i) +---- +500000 700000 \ No newline at end of file diff --git a/test/sql/storage/compression/string/medium.test b/test/sql/storage/compression/string/medium.test index ca405a02f3a5..66ef3eadc36f 100644 --- a/test/sql/storage/compression/string/medium.test +++ b/test/sql/storage/compression/string/medium.test @@ -47,4 +47,4 @@ DROP TABLE test; endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/null.test b/test/sql/storage/compression/string/null.test index 92378e4fc7d8..b492397aa840 100644 --- a/test/sql/storage/compression/string/null.test +++ b/test/sql/storage/compression/string/null.test @@ -5,6 +5,9 @@ # load the DB from disk load __TEST_DIR__/test_rle.db +statement ok +pragma enable_verification + foreach compression fsst dictionary foreach enable_fsst_vector true false @@ -90,4 +93,4 @@ DROP TABLE nulls endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/null_large.test_slow b/test/sql/storage/compression/string/null_large.test_slow index f224dbad202a..f3929c225217 100644 --- a/test/sql/storage/compression/string/null_large.test_slow +++ b/test/sql/storage/compression/string/null_large.test_slow @@ -61,4 +61,4 @@ DROP TABLE varchars endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/simple.test b/test/sql/storage/compression/string/simple.test index 99856a28ac82..c1f63451cddc 100644 --- a/test/sql/storage/compression/string/simple.test +++ b/test/sql/storage/compression/string/simple.test @@ -53,4 +53,4 @@ DROP TABLE test; endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/struct.test b/test/sql/storage/compression/string/struct.test index 0d46dfb94259..f54d1ab8ea9c 100644 --- a/test/sql/storage/compression/string/struct.test +++ b/test/sql/storage/compression/string/struct.test @@ -49,4 +49,4 @@ DROP TABLE test; endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/compression/string/table_copy.test b/test/sql/storage/compression/string/table_copy.test index ff83bf5c0d9e..6b12a85f9115 100644 --- a/test/sql/storage/compression/string/table_copy.test +++ b/test/sql/storage/compression/string/table_copy.test @@ -60,4 +60,4 @@ DROP TABLE test_2; endloop -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/constraints/foreignkey/foreign_key_persistent.test b/test/sql/storage/constraints/foreignkey/foreign_key_persistent.test index 57d49c6e91ff..e03ba7c01670 100644 --- a/test/sql/storage/constraints/foreignkey/foreign_key_persistent.test +++ b/test/sql/storage/constraints/foreignkey/foreign_key_persistent.test @@ -20,6 +20,7 @@ restart statement error INSERT INTO fk_integers VALUES (4); +---- statement ok INSERT INTO fk_integers VALUES (3); @@ -28,6 +29,7 @@ restart statement error DELETE FROM pk_integers WHERE i=3; +---- statement ok DELETE FROM fk_integers WHERE j=3; @@ -39,17 +41,21 @@ restart statement error UPDATE pk_integers SET i=5 WHERE i=2; +---- statement error UPDATE fk_integers SET i=4 WHERE j=2; +---- statement error UPDATE fk_integers SET i=4 WHERE j=2; +---- restart statement error DROP TABLE pk_integers; +---- statement ok DROP TABLE fk_integers; diff --git a/test/sql/storage/delete/drop_many_deletes.test_slow b/test/sql/storage/delete/drop_many_deletes.test_slow index 9e572b61609d..6fecae084d34 100644 --- a/test/sql/storage/delete/drop_many_deletes.test_slow +++ b/test/sql/storage/delete/drop_many_deletes.test_slow @@ -2,14 +2,13 @@ # description: Test dropping a table that has many deletes # group: [delete] -# load the DB from disk load __TEST_DIR__/drop_many_deletes.db statement ok -CREATE TABLE integers AS SELECT * FROM range(0,10000000) t(i); +CREATE TABLE integers AS SELECT * FROM range(0, 10000000) t(i); query I -DELETE FROM integers WHERE i%2=0 +DELETE FROM integers WHERE i % 2 = 0 ---- 5000000 @@ -20,11 +19,11 @@ SELECT COUNT(*) FROM integers ---- 5000000 -# check how many blocks are used by the metadata manager +# the metadata size is less than or euqal to 262144 bytes query I -SELECT COUNT(*) FROM pragma_metadata_info() +SELECT COUNT(*) * get_block_size('drop_many_deletes') <= 262144 FROM pragma_metadata_info() ---- -7 +1 statement ok DROP TABLE integers @@ -32,7 +31,8 @@ DROP TABLE integers restart # verify that the blocks are returned to the system and the metadata blocks are freed +# by verifying that the metadata size is still less than or euqal to 262144 bytes query I -SELECT COUNT(*) FROM pragma_metadata_info() +SELECT COUNT(*) * get_block_size('drop_many_deletes') <= 262144 FROM pragma_metadata_info() ---- 1 diff --git a/test/sql/storage/force_checkpoint_abort.test b/test/sql/storage/force_checkpoint_abort.test new file mode 100644 index 000000000000..287f6fcd1665 --- /dev/null +++ b/test/sql/storage/force_checkpoint_abort.test @@ -0,0 +1,38 @@ +# name: test/sql/storage/force_checkpoint_abort.test +# description: Test behavior of FORCE CHECKPOINT +# group: [storage] + +require skip_reload + +load __TEST_DIR__/force_checkpoint_abort.db + +statement ok +CREATE TABLE integers(i INT) + +statement ok +INSERT INTO integers VALUES (1), (2), (3), (NULL); + +statement ok con2 +BEGIN + +statement ok con2 +UPDATE integers SET i=i+1; + +statement ok con1 +FORCE CHECKPOINT + +statement error con2 +SELECT * FROM integers +---- +Current transaction is aborted + +statement ok con2 +ROLLBACK + +query I con2 +SELECT * FROM integers +---- +1 +2 +3 +NULL diff --git a/test/sql/storage/issue3789_node_segment_tree.test b/test/sql/storage/issue3789_node_segment_tree.test index 89176064d234..5fb157cc059a 100644 --- a/test/sql/storage/issue3789_node_segment_tree.test +++ b/test/sql/storage/issue3789_node_segment_tree.test @@ -18,4 +18,4 @@ statement ok UPDATE table1 SET column2 = 3 FROM table1 s WHERE s.column1 = 1 statement ok -COMMIT \ No newline at end of file +COMMIT diff --git a/test/sql/storage/issue7582_list_storage.test b/test/sql/storage/issue7582_list_storage.test index 6caff28a95c1..cefca52a46a8 100644 --- a/test/sql/storage/issue7582_list_storage.test +++ b/test/sql/storage/issue7582_list_storage.test @@ -24,4 +24,4 @@ INSERT INTO tbl (n) SELECT CASE WHEN i<100 THEN ['a', 'b'] ELSE [] END l FROM ra restart statement ok -FROM tbl \ No newline at end of file +FROM tbl diff --git a/test/sql/storage/many_checkpoints.test b/test/sql/storage/many_checkpoints.test index e119a0df7b46..32ca3a9fb66c 100644 --- a/test/sql/storage/many_checkpoints.test +++ b/test/sql/storage/many_checkpoints.test @@ -46,6 +46,7 @@ SELECT COUNT(*) FROM test statement error INSERT INTO test VALUES (11, 22, 'hello'); +---- statement ok CHECKPOINT diff --git a/test/sql/storage/multiple_clients_checkpoing_dependents.test_slow b/test/sql/storage/multiple_clients_checkpoing_dependents.test_slow index 0dca1be3b599..e87006afd7e6 100644 --- a/test/sql/storage/multiple_clients_checkpoing_dependents.test_slow +++ b/test/sql/storage/multiple_clients_checkpoing_dependents.test_slow @@ -49,8 +49,7 @@ SELECT MIN(i), MAX(i), COUNT(*) FROM test; ---- 1 1000000 1000000 -# force checkpoint has cleared our current transaction, so we can't rollback -statement error con2 +statement ok con2 ROLLBACK statement ok con2 diff --git a/test/sql/storage/multiple_clients_checkpoint_pending_updates.test b/test/sql/storage/multiple_clients_checkpoint_pending_updates.test index 6442463b5c64..2220e0e048df 100644 --- a/test/sql/storage/multiple_clients_checkpoint_pending_updates.test +++ b/test/sql/storage/multiple_clients_checkpoint_pending_updates.test @@ -26,6 +26,14 @@ statement ok con2 FORCE CHECKPOINT # force checkpoint rolled back the transaction of con1 +statement error con1 +SELECT MIN(i), MAX(i), COUNT(*) FROM test; +---- +transaction is aborted + +statement ok con1 +ROLLBACK + query III con1 SELECT MIN(i), MAX(i), COUNT(*) FROM test; ---- @@ -93,21 +101,53 @@ SELECT MIN(i), MAX(i), COUNT(*) FROM test; ---- 0 999999 1000000 +statement error con2 +SELECT MIN(i), MAX(i), COUNT(*) FROM test; +---- +transaction is aborted + +statement ok con2 +ROLLBACK + query III con2 SELECT MIN(i), MAX(i), COUNT(*) FROM test; ---- 0 999999 1000000 +statement error con3 +SELECT MIN(i), MAX(i), COUNT(*) FROM test; +---- +transaction is aborted + +statement ok con3 +ROLLBACK + query III con3 SELECT MIN(i), MAX(i), COUNT(*) FROM test; ---- 0 999999 1000000 +statement error con4 +SELECT MIN(i), MAX(i), COUNT(*) FROM test; +---- +transaction is aborted + +statement ok con4 +ROLLBACK + query III con4 SELECT MIN(i), MAX(i), COUNT(*) FROM test; ---- 0 999999 1000000 +statement error con5 +SELECT MIN(i), MAX(i), COUNT(*) FROM test; +---- +transaction is aborted + +statement ok con5 +ROLLBACK + query III con5 SELECT MIN(i), MAX(i), COUNT(*) FROM test; ---- diff --git a/test/sql/storage/null_byte_storage.test b/test/sql/storage/null_byte_storage.test index 0ac0643c07df..bf6f0ded5935 100644 --- a/test/sql/storage/null_byte_storage.test +++ b/test/sql/storage/null_byte_storage.test @@ -27,10 +27,8 @@ SELECT * FROM null_byte WHERE v=concat('goo', chr(0), 42) goo\042 # null byte in index -statement error +statement ok CREATE INDEX i_index ON null_byte(v) ----- -ART indexes cannot contain BLOBs with zero bytes. query I SELECT * FROM null_byte WHERE v=concat('goo', chr(0), 42) diff --git a/test/sql/storage/optimistic_write/optimistic_write.test_slow b/test/sql/storage/optimistic_write/optimistic_write.test_slow index 9436cdbfd84d..191cb26d0411 100644 --- a/test/sql/storage/optimistic_write/optimistic_write.test_slow +++ b/test/sql/storage/optimistic_write/optimistic_write.test_slow @@ -2,7 +2,6 @@ # description: Test large appends within individual transactions # group: [optimistic_write] -# load the DB from disk load __TEST_DIR__/optimistic_write.db statement ok @@ -26,11 +25,12 @@ SELECT SUM(a) FROM test ---- 999999000000 -# temp table require skip_reload +# for smaller block sizes (16KB) the total blocks alternate between a few values in the loop, +# therefore, we need to compare to a range of total block counts statement ok -CREATE TEMPORARY TABLE blocks AS SELECT total_blocks FROM pragma_database_size(); +CREATE TABLE total_blocks_tbl AS SELECT total_blocks FROM pragma_database_size(); # verify in a loop that the size of the system does not increase in case of rollbacks loop i 0 10 @@ -47,22 +47,23 @@ INSERT INTO test SELECT * FROM range(1000000); statement ok ROLLBACK; -statement ok -CREATE TEMPORARY TABLE new_blocks AS SELECT total_blocks FROM pragma_database_size(); +# ensure that the total blocks don't exceed the total blocks after the first iteration +# by more than 1.2 query I -SELECT new_blocks.total_blocks - blocks.total_blocks < 20 FROM blocks, new_blocks +SELECT CASE WHEN ${i} = 0 THEN True + WHEN current.total_blocks <= total_blocks_tbl.total_blocks * 1.2 THEN True + ELSE False END +FROM pragma_database_size() AS current, total_blocks_tbl; ---- -true +1 -statement ok -DROP TABLE blocks; +# adjust total_blocks_tbl once to the count after the first iteration statement ok -CREATE TEMPORARY TABLE blocks AS SELECT * FROM new_blocks; - -statement ok -DROP TABLE new_blocks +UPDATE total_blocks_tbl SET total_blocks = ( + SELECT CASE WHEN ${i} = 0 THEN (SELECT current.total_blocks FROM pragma_database_size() AS current) + ELSE (total_blocks) END); statement ok CHECKPOINT; @@ -75,10 +76,11 @@ INSERT INTO test VALUES (42); statement ok CHECKPOINT; -statement ok -CREATE TEMPORARY TABLE new_blocks AS SELECT total_blocks FROM pragma_database_size(); +# ensure that the total blocks don't exceed the total blocks after the first iteration +# by more than 1.2 query I -SELECT new_blocks.total_blocks - blocks.total_blocks < 20 FROM blocks, new_blocks +SELECT current.total_blocks <= total_blocks_tbl.total_blocks * 1.4 +FROM pragma_database_size() AS current, total_blocks_tbl; ---- -true +1 diff --git a/test/sql/storage/optimistic_write/optimistic_write_abort.test_slow b/test/sql/storage/optimistic_write/optimistic_write_abort.test_slow index b5fd13487448..4fa66e359c6c 100644 --- a/test/sql/storage/optimistic_write/optimistic_write_abort.test_slow +++ b/test/sql/storage/optimistic_write/optimistic_write_abort.test_slow @@ -37,9 +37,11 @@ loop i 0 10 statement error INSERT INTO test SELECT * FROM range(1000000) UNION ALL SELECT concat('hello', i)::INTEGER FROM range(10) +---- statement error INSERT INTO test SELECT * FROM range(1000000) UNION ALL SELECT concat('hello', i)::INTEGER FROM range(10) +---- statement ok CREATE TEMPORARY TABLE new_blocks AS SELECT total_blocks FROM pragma_database_size(); diff --git a/test/sql/storage/optimistic_write/optimistic_write_alter_type.test_slow b/test/sql/storage/optimistic_write/optimistic_write_alter_type.test_slow index 94c3cdd0c832..5879ed0b5350 100644 --- a/test/sql/storage/optimistic_write/optimistic_write_alter_type.test_slow +++ b/test/sql/storage/optimistic_write/optimistic_write_alter_type.test_slow @@ -2,7 +2,10 @@ # description: Test optimistic write with alter type in transaction-local storage # group: [optimistic_write] -# load the DB from disk +# FIXME: for smaller block sizes (16KB) the database size does not stabilize in the loop, instead, +# FIXME: it grows very slowly (only investigated up to 40 iterations) +require block_size 262144 + load __TEST_DIR__/optimistic_write_alter_type.db statement ok @@ -49,12 +52,14 @@ SELECT SUM(a) FROM test ---- 500000500000 -# temp table require skip_reload # ensure the alter type does not lead to leaking blocks + +# for smaller block sizes (16KB) the total blocks alternate between a few values in the loop, +# therefore, we need to compare to a range of total block counts statement ok -CREATE TEMPORARY TABLE blocks AS SELECT total_blocks FROM pragma_database_size(); +CREATE TABLE total_blocks_tbl AS SELECT total_blocks FROM pragma_database_size(); loop i 0 10 @@ -81,22 +86,26 @@ SELECT SUM(a) FROM test ---- 500000500000 -statement ok -CREATE TEMPORARY TABLE new_blocks AS SELECT total_blocks FROM pragma_database_size(); +# ensure that the total blocks don't exceed the total blocks after the first iteration +# by more than 1.2 query I -SELECT new_blocks.total_blocks - blocks.total_blocks < 20 FROM blocks, new_blocks +SELECT CASE WHEN ${i} = 0 THEN True + WHEN current.total_blocks <= total_blocks_tbl.total_blocks * 1.2 THEN True + ELSE False END +FROM pragma_database_size() AS current, total_blocks_tbl; ---- -true +1 -statement ok -DROP TABLE blocks; +# adjust total_blocks_tbl once to the count after the first iteration statement ok -CREATE TEMPORARY TABLE blocks AS SELECT * FROM new_blocks; +UPDATE total_blocks_tbl SET total_blocks = ( + SELECT CASE WHEN ${i} = 0 THEN (SELECT current.total_blocks FROM pragma_database_size() AS current) + ELSE (total_blocks) END); statement ok -DROP TABLE new_blocks +CHECKPOINT; statement ok CHECKPOINT; diff --git a/test/sql/storage/optimistic_write/optimistic_write_cyclic_scan.test_slow b/test/sql/storage/optimistic_write/optimistic_write_cyclic_scan.test_slow index 9f965af9be8d..f82ae955d220 100644 --- a/test/sql/storage/optimistic_write/optimistic_write_cyclic_scan.test_slow +++ b/test/sql/storage/optimistic_write/optimistic_write_cyclic_scan.test_slow @@ -2,7 +2,9 @@ # description: Test optimistic write with a cyclic scan # group: [optimistic_write] -# load the DB from disk +# FIXME: runtime error: member access within address 0x000359ad3c40 which does not point to an object of type 'BlockManager' +require block_size 262144 + load __TEST_DIR__/optimistic_write_cyclic_scan.db statement ok diff --git a/test/sql/storage/optimistic_write/optimistic_write_drop_column.test_slow b/test/sql/storage/optimistic_write/optimistic_write_drop_column.test_slow index f58d23e872f4..4bd27fd43e56 100644 --- a/test/sql/storage/optimistic_write/optimistic_write_drop_column.test_slow +++ b/test/sql/storage/optimistic_write/optimistic_write_drop_column.test_slow @@ -2,7 +2,10 @@ # description: Test optimistic write with drop column in transaction-local storage # group: [optimistic_write] -# load the DB from disk +# FIXME: for smaller block sizes (16KB) the database size does not stabilize in the loop, instead, +# FIXME: it grows very slowly (only investigated up to 40 iterations) +require block_size 262144 + load __TEST_DIR__/optimistic_write_drop.db statement ok @@ -49,12 +52,14 @@ SELECT SUM(a), SUM(b) FROM test ---- 499999500000 500000500000 -# temp table require skip_reload # ensure the drop column does not lead to leaking blocks + +# for smaller block sizes (16KB) the total blocks alternate between a few values in the loop, +# therefore, we need to compare to a range of total block counts statement ok -CREATE TEMPORARY TABLE blocks AS SELECT total_blocks FROM pragma_database_size(); +CREATE TABLE total_blocks_tbl AS SELECT total_blocks FROM pragma_database_size(); loop i 0 10 @@ -81,22 +86,26 @@ SELECT SUM(a), SUM(b) FROM test ---- 499999500000 500000500000 -statement ok -CREATE TEMPORARY TABLE new_blocks AS SELECT total_blocks FROM pragma_database_size(); +# ensure that the total blocks don't exceed the total blocks after the first iteration +# by more than 1.2 query I -SELECT new_blocks.total_blocks - blocks.total_blocks < 20 FROM blocks, new_blocks +SELECT CASE WHEN ${i} = 0 THEN True + WHEN current.total_blocks <= total_blocks_tbl.total_blocks * 1.2 THEN True + ELSE False END +FROM pragma_database_size() AS current, total_blocks_tbl; ---- -true +1 -statement ok -DROP TABLE blocks; +# adjust total_blocks_tbl once to the count after the first iteration statement ok -CREATE TEMPORARY TABLE blocks AS SELECT * FROM new_blocks; +UPDATE total_blocks_tbl SET total_blocks = ( + SELECT CASE WHEN ${i} = 0 THEN (SELECT current.total_blocks FROM pragma_database_size() AS current) + ELSE (total_blocks) END); statement ok -DROP TABLE new_blocks +CHECKPOINT; statement ok CHECKPOINT; diff --git a/test/sql/storage/optimistic_write/optimistic_write_primary_key.test_slow b/test/sql/storage/optimistic_write/optimistic_write_primary_key.test_slow index b78f18484b07..5c38968d0d01 100644 --- a/test/sql/storage/optimistic_write/optimistic_write_primary_key.test_slow +++ b/test/sql/storage/optimistic_write/optimistic_write_primary_key.test_slow @@ -34,6 +34,7 @@ SELECT SUM(a) FROM test statement error INSERT INTO test VALUES (42) +---- restart @@ -49,3 +50,4 @@ SELECT SUM(a) FROM test statement error INSERT INTO test VALUES (42) +---- diff --git a/test/sql/storage/overflow_strings/load_overflow_strings_slowly.test b/test/sql/storage/overflow_strings/load_overflow_strings_slowly.test index 2924638acf91..9eec86b94d73 100644 --- a/test/sql/storage/overflow_strings/load_overflow_strings_slowly.test +++ b/test/sql/storage/overflow_strings/load_overflow_strings_slowly.test @@ -2,7 +2,7 @@ # description: Test loading overflow strings in small batches # group: [overflow_strings] -load __TEST_DIR__/load_overflow_strings.db +load __TEST_DIR__/overflow_strings.db loop x 0 10 @@ -13,7 +13,7 @@ CREATE TABLE strings(s VARCHAR); loop it 0 10 statement ok -INSERT INTO strings SELECT repeat('X', case when i%17=0 then 5000 else i%7 end) AS s FROM generate_series(0,2500) tbl(i); +INSERT INTO strings SELECT repeat('X', CASE WHEN i % 17 = 0 THEN 5000 ELSE i % 7 END) AS s FROM generate_series(0, 2500) tbl(i); statement ok CHECKPOINT; @@ -21,14 +21,14 @@ CHECKPOINT; endloop query I -SELECT COUNT(*) FROM pragma_storage_info('strings') WHERE contains(segment_info, 'Overflow String'); +SELECT EXISTS (SELECT * FROM pragma_storage_info('strings') WHERE contains(segment_info, 'Overflow String')); ---- 1 -query I -select total_blocks < 100 from pragma_database_size(); ----- -true +# ensure that the expected total storage size is the same as in the first iteration of the loop + +query I nosort expected_blocks +SELECT total_blocks FROM pragma_database_size(); statement ok DROP TABLE strings; diff --git a/test/sql/storage/parallel/batch_insert_filtered_row_groups.test_slow b/test/sql/storage/parallel/batch_insert_filtered_row_groups.test_slow index 8f283107a255..27d24fa7c5d1 100644 --- a/test/sql/storage/parallel/batch_insert_filtered_row_groups.test_slow +++ b/test/sql/storage/parallel/batch_insert_filtered_row_groups.test_slow @@ -9,15 +9,10 @@ require parquet load __TEST_DIR__/insert_mix_batches.db statement ok -COPY (FROM range(10000000)) to '__TEST_DIR__/many_small_batches.parquet' (row_group_size 5000) +COPY (FROM range(10000000)) TO '__TEST_DIR__/many_small_batches.parquet' (row_group_size 5000) statement ok -create table test as from '__TEST_DIR__/many_small_batches.parquet' t(i) where (i//6144) % 3 = 0; - -query I -SELECT MEDIAN(count) FROM pragma_storage_info('test') ----- -122880 +CREATE TABLE test AS FROM '__TEST_DIR__/many_small_batches.parquet' t(i) WHERE (i // 6144) % 3 = 0; query I SELECT * FROM test LIMIT 5 OFFSET 500000 @@ -27,3 +22,17 @@ SELECT * FROM test LIMIT 5 OFFSET 500000 1495330 1495331 1495332 + +# ensure that we still write 122880 as our row group size count, even for different block sizes +query I +SELECT MAX(count) FROM pragma_storage_info('test') +---- +122880 + +# the median is different for different block sizes because the upper bound of the segment size is the block size +require block_size 262144 + +query I +SELECT MEDIAN(count) FROM pragma_storage_info('test') +---- +122880 diff --git a/test/sql/storage/parallel/insert_many_compressible_batches.test_slow b/test/sql/storage/parallel/insert_many_compressible_batches.test_slow index 09b500e41d12..b930d0486b7c 100644 --- a/test/sql/storage/parallel/insert_many_compressible_batches.test_slow +++ b/test/sql/storage/parallel/insert_many_compressible_batches.test_slow @@ -4,19 +4,19 @@ require vector_size 512 -load __TEST_DIR__/insert_many_compressible_batches.db - require parquet +load __TEST_DIR__/insert_many_compressible_batches.db + # 50M values, extremely compressible query I -CREATE TABLE integers AS SELECT CASE WHEN i%50000=0 THEN 1 ELSE 0 END AS i FROM range(50000000) tbl(i); +CREATE TABLE integers AS SELECT CASE WHEN i % 50000 = 0 THEN 1 ELSE 0 END AS i FROM range(50000000) tbl(i); ---- 50000000 # check the block count and median number of rows per row group query I -SELECT COUNT(DISTINCT block_id)<=3 FROM pragma_storage_info('integers'); +SELECT COUNT(DISTINCT block_id) < 4 FROM pragma_storage_info('integers'); ---- true @@ -28,7 +28,9 @@ SELECT MEDIAN(count) FROM pragma_storage_info('integers'); statement ok COPY integers TO '__TEST_DIR__/integers.parquet' -# verify that reading while preserving insertion order creates the same size table +# verify that reading while preserving insertion order creates the same size table, +# with very small block variations for compact block sizes + statement ok CREATE TABLE integers_parquet AS FROM '__TEST_DIR__/integers.parquet'; @@ -48,7 +50,7 @@ SELECT i, COUNT(*) FROM integers_parquet GROUP BY ALL ORDER BY ALL 1 1000 query I -SELECT COUNT(DISTINCT block_id)<=3 FROM pragma_storage_info('integers_parquet'); +SELECT COUNT(DISTINCT block_id) < 5 FROM pragma_storage_info('integers_parquet'); ---- true @@ -62,7 +64,7 @@ BEGIN TRANSACTION loop i 0 50 query I -INSERT INTO integers_batched_load SELECT CASE WHEN i%50000=0 THEN 1 ELSE 0 END AS i FROM range(1000000) tbl(i); +INSERT INTO integers_batched_load SELECT CASE WHEN i % 50000 = 0 THEN 1 ELSE 0 END AS i FROM range(1000000) tbl(i); ---- 1000000 @@ -72,7 +74,7 @@ statement ok COMMIT query I -SELECT COUNT(DISTINCT block_id)<=3 FROM pragma_storage_info('integers_batched_load'); +SELECT COUNT(DISTINCT block_id) < 4 FROM pragma_storage_info('integers_batched_load'); ---- true @@ -82,6 +84,7 @@ SELECT COUNT(*), COUNT(i), SUM(i) FROM integers_batched_load 50000000 50000000 1000 # now with NULL values + statement ok CREATE TABLE integers_batched_load_nulls(i INTEGER) @@ -91,7 +94,7 @@ BEGIN TRANSACTION loop i 0 50 query I -INSERT INTO integers_batched_load_nulls SELECT CASE WHEN i%50000=0 THEN 1 ELSE NULL END AS i FROM range(1000000) tbl(i); +INSERT INTO integers_batched_load_nulls SELECT CASE WHEN i % 50000 = 0 THEN 1 ELSE NULL END AS i FROM range(1000000) tbl(i); ---- 1000000 @@ -100,9 +103,12 @@ endloop statement ok COMMIT -# NULLs are not RLE compressed yet - even with block colocation this takes a high number of blocks +# NULLs are not RLE compressed - even with block colocation this takes a high number of blocks +# this number can differ depending on the block size, but for this test it is only relevant that it is +# significantly higher than without compression + query I -SELECT COUNT(DISTINCT block_id)<=35 FROM pragma_storage_info('integers_batched_load_nulls'); +SELECT COUNT(DISTINCT block_id) > 30 FROM pragma_storage_info('integers_batched_load_nulls'); ---- true diff --git a/test/sql/storage/parallel/insert_order_preserving_odd_sized_batches.test_slow b/test/sql/storage/parallel/insert_order_preserving_odd_sized_batches.test_slow index bc1a2e8a864e..e6b88e52312a 100644 --- a/test/sql/storage/parallel/insert_order_preserving_odd_sized_batches.test_slow +++ b/test/sql/storage/parallel/insert_order_preserving_odd_sized_batches.test_slow @@ -2,12 +2,16 @@ # description: Test parallel order-preserving insert # group: [parallel] -require vector_size 512 +# for smaller block sizes, we see different numbers of distinct blocks +# because the segment size is bound by the block size +require block_size 262144 -load __TEST_DIR__/insert_odd_sized_batches.db +require vector_size 512 require parquet +load __TEST_DIR__/insert_odd_sized_batches.db + query I CREATE TABLE integers AS SELECT * FROM range(10000000) tbl(i); ---- @@ -15,7 +19,7 @@ CREATE TABLE integers AS SELECT * FROM range(10000000) tbl(i); # check the block count and median number of rows per row group query I -SELECT COUNT(DISTINCT block_id)<=3 FROM pragma_storage_info('integers'); +SELECT COUNT(DISTINCT block_id) < 4 FROM pragma_storage_info('integers'); ---- true @@ -50,7 +54,7 @@ SELECT * FROM integers_parquet LIMIT 5 OFFSET 773654 773658 query I -SELECT COUNT(DISTINCT block_id)<=3 FROM pragma_storage_info('integers_parquet'); +SELECT COUNT(DISTINCT block_id) < 4 FROM pragma_storage_info('integers_parquet'); ---- true @@ -67,7 +71,7 @@ statement ok CREATE TABLE integers_parquet_no_order AS FROM '__TEST_DIR__/integers.parquet' query I -SELECT COUNT(DISTINCT block_id)<=3 FROM pragma_storage_info('integers_parquet_no_order'); +SELECT COUNT(DISTINCT block_id) < 4 FROM pragma_storage_info('integers_parquet_no_order'); ---- true diff --git a/test/sql/storage/parallel/memory_limit_batch_load_list.test_slow b/test/sql/storage/parallel/memory_limit_batch_load_list.test_slow new file mode 100644 index 000000000000..56de967772d9 --- /dev/null +++ b/test/sql/storage/parallel/memory_limit_batch_load_list.test_slow @@ -0,0 +1,92 @@ +# name: test/sql/storage/parallel/memory_limit_batch_load_list.test_slow +# description: Test batch streaming to disk with different row group sizes +# group: [parallel] + +# FIXME: with a block size of 16KB and when run in relassert, this test fails with: mutex lock failed: Invalid argument +require block_size 262144 + +require parquet + +load __TEST_DIR__/memory_limit_batch_load_list.db + +# in this test we load data of around 100M rows - uncompressed this will be 1.4GB~2GB (without/with NULLs) +# we do these operations with a low memory limit to verify the data is streamed to and from disk correctly +statement ok +SET memory_limit='300MB' + +foreach row_group_size 5000 150000 1000000 + +statement ok +COPY ( + SELECT [i] AS l FROM range(10000000) tbl(i) +) TO '__TEST_DIR__/giant_row_groups.parquet' ( + ROW_GROUP_SIZE ${row_group_size} +) + +statement ok +CREATE TABLE list AS FROM '__TEST_DIR__/giant_row_groups.parquet' + +query IIIII +SELECT + SUM(i), + MIN(i), + MAX(i), + COUNT(i), + COUNT(*) +FROM ( + SELECT UNNEST(l) AS i FROM list +) +---- +49999995000000 0 9999999 10000000 10000000 + +query I +SELECT * FROM list LIMIT 5 OFFSET 99998 +---- +[99998] +[99999] +[100000] +[100001] +[100002] + +statement ok +DROP TABLE list + +# now with NULL values +statement ok +COPY ( + SELECT CASE WHEN i%2=0 THEN NULL ELSE [i] END AS l FROM range(10000000) tbl(i) +) TO '__TEST_DIR__/giant_row_groups_nulls.parquet' ( + ROW_GROUP_SIZE ${row_group_size} +) + +statement ok +CREATE TABLE list AS FROM '__TEST_DIR__/giant_row_groups_nulls.parquet' + +query IIIII +SELECT + SUM(i), + MIN(i), + MAX(i), + COUNT(i), + COUNT(*) +FROM ( + SELECT UNNEST(l) AS i FROM list +) +---- +25000000000000 1 9999999 5000000 5000000 + +query I +SELECT + * +FROM list LIMIT 5 OFFSET 99998 +---- +NULL +[99999] +NULL +[100001] +NULL + +statement ok +DROP TABLE list + +endloop diff --git a/test/sql/storage/parallel/reclaim_space_parallel_insert.test_slow b/test/sql/storage/parallel/reclaim_space_parallel_insert.test_slow index 66c4670b65f8..d57c34310287 100644 --- a/test/sql/storage/parallel/reclaim_space_parallel_insert.test_slow +++ b/test/sql/storage/parallel/reclaim_space_parallel_insert.test_slow @@ -2,6 +2,9 @@ # description: Test space reclamation of optimistic writing with failures # group: [parallel] +# FIXME: reliably fails for smaller block sizes +require block_size 262144 + load __TEST_DIR__/reclaim_space_parallel_insert.db statement ok diff --git a/test/sql/storage/parallel/reclaim_space_parallel_insert_unique_idx.test_slow b/test/sql/storage/parallel/reclaim_space_parallel_insert_unique_idx.test_slow new file mode 100644 index 000000000000..55749bf2f1b6 --- /dev/null +++ b/test/sql/storage/parallel/reclaim_space_parallel_insert_unique_idx.test_slow @@ -0,0 +1,42 @@ +# name: test/sql/storage/parallel/reclaim_space_parallel_insert_unique_idx.test_slow +# description: Test space reclamation in a reduced scenario +# group: [parallel] + +# FIXME: reliably fails for smaller block sizes +require block_size 262144 + +load __TEST_DIR__/reclaim_space_parallel_insert.db + +statement ok +SET preserve_insertion_order=false; + +statement ok +CREATE TABLE integers AS SELECT * FROM range(10000000) t(i); + +statement ok +CREATE TABLE integers2 (i INTEGER); + +statement ok +INSERT INTO integers2 VALUES (9999999); + +statement ok +CREATE UNIQUE INDEX idx ON integers2(i); + +loop i 0 100 + +# conflict with transaction local data +statement ok +BEGIN TRANSACTION + +statement ok +INSERT INTO integers2 VALUES (9999998); + +statement error +INSERT INTO integers2 SELECT * FROM integers WHERE i <= 9999998; +---- +PRIMARY KEY or UNIQUE constraint violated + +statement ok +ROLLBACK + +endloop \ No newline at end of file diff --git a/test/sql/storage/reclaim_space/reclaim_space_drop_column_overflow_strings.test_slow b/test/sql/storage/reclaim_space/reclaim_space_drop_column_overflow_strings.test_slow index 4ff953dc6bfc..cf6461213ffe 100644 --- a/test/sql/storage/reclaim_space/reclaim_space_drop_column_overflow_strings.test_slow +++ b/test/sql/storage/reclaim_space/reclaim_space_drop_column_overflow_strings.test_slow @@ -40,8 +40,10 @@ SELECT AVG(STRLEN(s)), MIN(STRLEN(S)), MAX(STRLEN(S)), SUM(STRLEN(S)), MIN(S[1]) statement ok CHECKPOINT; +# ensure that the expected total storage size is the same as in the first iteration of the loop + query I nosort expected_blocks -select total_blocks from pragma_database_size(); +SELECT total_blocks FROM pragma_database_size(); restart diff --git a/test/sql/storage/reclaim_space/reclaim_space_drop_overflow_strings.test_slow b/test/sql/storage/reclaim_space/reclaim_space_drop_overflow_strings.test_slow index cac51d433902..44b27c4dba54 100644 --- a/test/sql/storage/reclaim_space/reclaim_space_drop_overflow_strings.test_slow +++ b/test/sql/storage/reclaim_space/reclaim_space_drop_overflow_strings.test_slow @@ -21,6 +21,11 @@ SELECT AVG(STRLEN(s)), MIN(STRLEN(S)), MAX(STRLEN(S)), SUM(STRLEN(S)), MIN(S[1]) ---- 296.955 0 5000 44543527 (empty) X +# for smaller block sizes (16KB) the total blocks alternate between a few values in the loop, +# therefore, we need to compare to a range of total block counts +statement ok +CREATE TABLE total_blocks_tbl AS SELECT total_blocks FROM pragma_database_size(); + loop i 0 10 statement ok @@ -37,8 +42,26 @@ SELECT AVG(STRLEN(s)), MIN(STRLEN(S)), MAX(STRLEN(S)), SUM(STRLEN(S)), MIN(S[1]) statement ok CHECKPOINT; -query I nosort expected_blocks -select total_blocks from pragma_database_size(); +# ensure that the total blocks don't exceed the total blocks after the first iteration +# by more than 1.2 + +query I +SELECT CASE WHEN ${i} = 0 THEN True + WHEN current.total_blocks <= total_blocks_tbl.total_blocks * 1.2 THEN True + ELSE False END +FROM pragma_database_size() AS current, total_blocks_tbl; +---- +1 + +# adjust total_blocks_tbl once to the count after the first iteration + +statement ok +UPDATE total_blocks_tbl SET total_blocks = ( + SELECT CASE WHEN ${i} = 0 THEN (SELECT current.total_blocks FROM pragma_database_size() AS current) + ELSE (total_blocks) END); + +statement ok +CHECKPOINT; restart diff --git a/test/sql/storage/reclaim_space/test_reclaim_space_alter_type.test_slow b/test/sql/storage/reclaim_space/test_reclaim_space_alter_type.test_slow index c0e894a8129c..b4cebfac6cf3 100644 --- a/test/sql/storage/reclaim_space/test_reclaim_space_alter_type.test_slow +++ b/test/sql/storage/reclaim_space/test_reclaim_space_alter_type.test_slow @@ -21,6 +21,11 @@ SELECT MIN(i), MAX(i), COUNT(*) FROM integers ---- 0 999999 1000000 +# for smaller block sizes (16KB) the total blocks alternate between a few values in the loop, +# therefore, we need to compare to a range of total block counts +statement ok +CREATE TABLE total_blocks_tbl AS SELECT total_blocks FROM pragma_database_size(); + loop i 0 10 statement ok @@ -48,8 +53,23 @@ SELECT MIN(i), MAX(i), COUNT(*) FROM integers statement ok CHECKPOINT; -query I nosort expected_blocks -select total_blocks from pragma_database_size(); +# ensure that the total blocks don't exceed the total blocks after the first iteration +# by more than 1.2 + +query I +SELECT CASE WHEN ${i} = 0 THEN True + WHEN current.total_blocks <= total_blocks_tbl.total_blocks * 1.2 THEN True + ELSE False END +FROM pragma_database_size() AS current, total_blocks_tbl; +---- +1 + +# adjust total_blocks_tbl once to the count after the first iteration + +statement ok +UPDATE total_blocks_tbl SET total_blocks = ( + SELECT CASE WHEN ${i} = 0 THEN (SELECT current.total_blocks FROM pragma_database_size() AS current) + ELSE (total_blocks) END); query III SELECT MIN(i), MAX(i), COUNT(*) FROM integers diff --git a/test/sql/storage/reclaim_space/test_reclaim_space_drop_column.test_slow b/test/sql/storage/reclaim_space/test_reclaim_space_drop_column.test_slow index 0e1410b0588b..1657c420c23e 100644 --- a/test/sql/storage/reclaim_space/test_reclaim_space_drop_column.test_slow +++ b/test/sql/storage/reclaim_space/test_reclaim_space_drop_column.test_slow @@ -21,6 +21,11 @@ SELECT MIN(j), MAX(j), COUNT(*) FROM integers ---- 0 999999 1000000 +# for smaller block sizes (16KB) the total blocks alternate between a few values in the loop, +# therefore, we need to compare to a range of total block counts +statement ok +CREATE TABLE total_blocks_tbl AS SELECT total_blocks FROM pragma_database_size(); + loop i 0 10 statement ok @@ -40,8 +45,23 @@ SELECT MIN(j), MAX(j), COUNT(*) FROM integers statement ok CHECKPOINT; -query I nosort expected_blocks -select total_blocks from pragma_database_size(); +# ensure that the total blocks don't exceed the total blocks after the first iteration +# by more than 1.2 + +query I +SELECT CASE WHEN ${i} = 0 THEN True + WHEN current.total_blocks <= total_blocks_tbl.total_blocks * 1.2 THEN True + ELSE False END +FROM pragma_database_size() AS current, total_blocks_tbl; +---- +1 + +# adjust total_blocks_tbl once to the count after the first iteration + +statement ok +UPDATE total_blocks_tbl SET total_blocks = ( + SELECT CASE WHEN ${i} = 0 THEN (SELECT current.total_blocks FROM pragma_database_size() AS current) + ELSE (total_blocks) END); query III SELECT MIN(i), MAX(i), COUNT(*) FROM integers diff --git a/test/sql/storage/reclaim_space/test_reclaim_space_update.test_slow b/test/sql/storage/reclaim_space/test_reclaim_space_update.test_slow index 2ff4af8901fe..4156115c3a70 100644 --- a/test/sql/storage/reclaim_space/test_reclaim_space_update.test_slow +++ b/test/sql/storage/reclaim_space/test_reclaim_space_update.test_slow @@ -48,10 +48,10 @@ SELECT MIN(i), MAX(i), COUNT(*) FROM integers statement ok CHECKPOINT; -query I -select total_blocks<10 from pragma_database_size(); ----- -true +# ensure that the expected total storage size is the same as in the first iteration of the loop + +query I nosort expected_blocks +SELECT total_blocks FROM pragma_database_size(); query III SELECT MIN(i), MAX(i), COUNT(*) FROM integers diff --git a/test/sql/storage/shutdown_unique_index.test b/test/sql/storage/shutdown_unique_index.test index 78356f97ec22..d0d730b52f6f 100644 --- a/test/sql/storage/shutdown_unique_index.test +++ b/test/sql/storage/shutdown_unique_index.test @@ -27,12 +27,14 @@ SELECT * FROM test ORDER BY a statement error INSERT INTO test VALUES (11, 24) +---- statement ok INSERT INTO test VALUES (12, 24) statement error INSERT INTO test VALUES (12, 24) +---- query II SELECT * FROM test ORDER BY a @@ -50,9 +52,11 @@ restart statement error INSERT INTO test VALUES (11, 24) +---- statement error INSERT INTO test VALUES (12, 24) +---- query II SELECT * FROM test ORDER BY a diff --git a/test/sql/storage/storage_types.test b/test/sql/storage/storage_types.test index bbe0383c2a69..1750acb4edf2 100644 --- a/test/sql/storage/storage_types.test +++ b/test/sql/storage/storage_types.test @@ -86,4 +86,4 @@ false true 1000 1000 query IIII SELECT MIN(i), MAX(i), COUNT(*), COUNT(i) FROM a_bool WHERE not i ---- -false false 500 500 \ No newline at end of file +false false 500 500 diff --git a/test/sql/storage/test_big_strings.test_slow b/test/sql/storage/test_big_strings.test_slow index ab4804880529..401f86545ca0 100644 --- a/test/sql/storage/test_big_strings.test_slow +++ b/test/sql/storage/test_big_strings.test_slow @@ -62,4 +62,4 @@ f 1 6 query III SELECT a[1], strlen(a), id FROM big_string WHERE a=concat(range(0,500000)::VARCHAR) ---- -[ 3888890 5 \ No newline at end of file +[ 3888890 5 diff --git a/test/sql/storage/test_buffer_manager.cpp b/test/sql/storage/test_buffer_manager.cpp index d4cbb110381e..4809638c8d03 100644 --- a/test/sql/storage/test_buffer_manager.cpp +++ b/test/sql/storage/test_buffer_manager.cpp @@ -205,7 +205,7 @@ TEST_CASE("Test buffer reallocation", "[storage][.]") { idx_t requested_size = Storage::BLOCK_SIZE; shared_ptr block; - auto handle = buffer_manager.Allocate(requested_size, false, &block); + auto handle = buffer_manager.Allocate(MemoryTag::EXTENSION, requested_size, false, &block); CHECK(buffer_manager.GetUsedMemory() == BufferManager::GetAllocSize(requested_size)); for (; requested_size < limit; requested_size *= 2) { // increase size @@ -249,7 +249,7 @@ TEST_CASE("Test buffer manager variable size allocations", "[storage][.]") { idx_t requested_size = 424242; shared_ptr block; - auto pin = buffer_manager.Allocate(requested_size, false, &block); + auto pin = buffer_manager.Allocate(MemoryTag::EXTENSION, requested_size, false, &block); CHECK(buffer_manager.GetUsedMemory() >= requested_size + Storage::BLOCK_HEADER_SIZE); pin.Destroy(); @@ -280,7 +280,7 @@ TEST_CASE("Test buffer manager buffer re-use", "[storage][.]") { blocks.reserve(block_count); for (idx_t i = 0; i < block_count; i++) { blocks.emplace_back(); - buffer_manager.Allocate(Storage::BLOCK_SIZE, false, &blocks.back()); + buffer_manager.Allocate(MemoryTag::EXTENSION, Storage::BLOCK_SIZE, false, &blocks.back()); // used memory should increment by exactly one block at a time, up to 10 CHECK(buffer_manager.GetUsedMemory() == MinValue(pin_count, i + 1) * Storage::BLOCK_ALLOC_SIZE); } @@ -301,7 +301,7 @@ TEST_CASE("Test buffer manager buffer re-use", "[storage][.]") { REQUIRE_NO_FAIL(con.Query(StringUtil::Format("PRAGMA memory_limit='%lldB'", alloc_size * pin_count))); for (idx_t i = 0; i < block_count; i++) { blocks.emplace_back(); - buffer_manager.Allocate(block_size, false, &blocks.back()); + buffer_manager.Allocate(MemoryTag::EXTENSION, block_size, false, &blocks.back()); CHECK(buffer_manager.GetUsedMemory() == MinValue(pin_count, i + 1) * alloc_size); } for (idx_t i = 0; i < block_count; i++) { @@ -314,7 +314,7 @@ TEST_CASE("Test buffer manager buffer re-use", "[storage][.]") { // again, the same but incrementing block_size by 1 for every block (has same alloc_size) for (idx_t i = 0; i < block_count; i++) { blocks.emplace_back(); - buffer_manager.Allocate(block_size, false, &blocks.back()); + buffer_manager.Allocate(MemoryTag::EXTENSION, block_size, false, &blocks.back()); CHECK(buffer_manager.GetUsedMemory() == MinValue(pin_count, i + 1) * alloc_size); // increment block_size block_size++; @@ -331,7 +331,7 @@ TEST_CASE("Test buffer manager buffer re-use", "[storage][.]") { block_size = 424242; for (idx_t i = 0; i < block_count; i++) { blocks.emplace_back(); - buffer_manager.Allocate(block_size, false, &blocks.back()); + buffer_manager.Allocate(MemoryTag::EXTENSION, block_size, false, &blocks.back()); CHECK(buffer_manager.GetUsedMemory() == MinValue(pin_count, i + 1) * alloc_size); // increment block_size block_size--; diff --git a/test/sql/storage/test_index_checkpoint.test b/test/sql/storage/test_index_checkpoint.test index 3754d855cd01..b1b66ae472f3 100644 --- a/test/sql/storage/test_index_checkpoint.test +++ b/test/sql/storage/test_index_checkpoint.test @@ -2,21 +2,19 @@ # description: Verify that database footprint remains within expected bounds when writing index data. # group: [storage] -# FIXME: once we refactor the (de)serialization, these numbers should go down - require skip_reload -load __TEST_DIR__/test_index_checkpoint.db +load __TEST_DIR__/index_checkpoint.db -# Ensure we do not checkpoint early (which would throw off the total_blocks stat) +# ensure we do not checkpoint early statement ok PRAGMA wal_autocheckpoint='1TB'; statement ok -CREATE TABLE t2 (i integer, uid varchar); +CREATE TABLE t2 (i INTEGER, uid VARCHAR); statement ok -INSERT INTO t2 SELECT i.range AS i, gen_random_uuid() AS uid FROM range(10000) AS i; +INSERT INTO t2 SELECT i.range AS i, gen_random_uuid() AS uid FROM range(50000) AS i; statement ok CREATE UNIQUE INDEX iu ON t2(uid); @@ -24,16 +22,13 @@ CREATE UNIQUE INDEX iu ON t2(uid); statement ok CHECKPOINT; -statement ok -SELECT * FROM pragma_database_size(); - -# A prior version of index checkpoint caused index data to be written twice. -# If a node type exists, then we write at least one block for it. -# Due to the UUIDs causing many different prefixes, we have 4 blocks for prefixes. -# We can fit all 10k leaves on one LEAF block. Then, we have one NODE4 block and -# one NODE16 block. This makes a total of 7 blocks for the index. With extra blocks from -# storing the data, we should stay below 12 blocks. +# A prior version of index checkpointing caused index data to be written twice. +# If a node type exists, then we write at least one block for it. The ART in this example has the +# following node types: PREFIX, NODE4, NODE16. The expected total storage size including the table data +# is around 5.8MiB (6291456 bytes) for 16KB blocks, and around 6.2 MiB for 256KB blocks, +# and we allow a variation of 20% in storage size + query I -SELECT total_blocks < 12 FROM pragma_database_size(); +SELECT total_blocks < 6291456 / get_block_size('index_checkpoint') * 1.2 FROM pragma_database_size(); ---- -true +1 diff --git a/test/sql/storage/test_large_parquet_storage.test_slow b/test/sql/storage/test_large_parquet_storage.test_slow index 92864b2857cf..50990eed771f 100644 --- a/test/sql/storage/test_large_parquet_storage.test_slow +++ b/test/sql/storage/test_large_parquet_storage.test_slow @@ -7,7 +7,7 @@ require parquet require 64bit statement ok -COPY (SELECT ((i::UBIGINT*129371982737)%2478526729)::BIGINT a, ((i::UBIGINT*12937198273679)%2478527)::BIGINT::VARCHAR b FROM range(150000000) t(i)) TO '__TEST_DIR__/big.parquet' (FORMAT PARQUET, COMPRESSION UNCOMPRESSED); +COPY (SELECT ((i::DOUBLE*129371982737)%2478526729)::BIGINT a, ((i::DOUBLE*12937198273679)%2478527)::BIGINT::VARCHAR b FROM range(150000000) t(i)) TO '__TEST_DIR__/big.parquet' (FORMAT PARQUET, COMPRESSION UNCOMPRESSED); query I SELECT COUNT(*) FROM '__TEST_DIR__/big.parquet' diff --git a/test/sql/storage/test_store_nulls_strings.test b/test/sql/storage/test_store_nulls_strings.test index 6d313c4c913c..0814846f3064 100644 --- a/test/sql/storage/test_store_nulls_strings.test +++ b/test/sql/storage/test_store_nulls_strings.test @@ -38,6 +38,7 @@ NULL hello statement error CREATE TABLE test (a INTEGER, b STRING); +---- statement ok CREATE TABLE IF NOT EXISTS test (a INTEGER, b STRING); diff --git a/test/sql/storage/test_unique_index_checkpoint.test b/test/sql/storage/test_unique_index_checkpoint.test index 3638d129da12..4fcf66019dff 100644 --- a/test/sql/storage/test_unique_index_checkpoint.test +++ b/test/sql/storage/test_unique_index_checkpoint.test @@ -38,4 +38,4 @@ restart statement error INSERT INTO unique_index_test VALUES (1,101),(2,201); ---- -Constraint Error: Duplicate key "ordernumber: 1" violates unique constraint \ No newline at end of file +Constraint Error: Duplicate key "ordernumber: 1" violates unique constraint diff --git a/test/sql/storage/types/struct/nested_struct_storage.test b/test/sql/storage/types/struct/nested_struct_storage.test index 24212d5e1bcc..07fa32543ab0 100644 --- a/test/sql/storage/types/struct/nested_struct_storage.test +++ b/test/sql/storage/types/struct/nested_struct_storage.test @@ -177,4 +177,4 @@ select column_path, stats from pragma_storage_info('a') where stats LIKE '%[Min statement ok DROP TABLE a -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/types/struct/struct_reclaim_space_drop.test_slow b/test/sql/storage/types/struct/struct_reclaim_space_drop.test_slow index 44cfd6c71c78..cda23ce1d423 100644 --- a/test/sql/storage/types/struct/struct_reclaim_space_drop.test_slow +++ b/test/sql/storage/types/struct/struct_reclaim_space_drop.test_slow @@ -4,7 +4,6 @@ require skip_reload - load __TEST_DIR__/test_reclaim_space.db statement ok @@ -20,15 +19,14 @@ statement ok CHECKPOINT; query III -SELECT MIN(c['i']), MAX(c['i']), COUNT(*) FROM structs +SELECT MIN(c['i']), MAX(c['i']), COUNT(*) FROM structs; ---- 0 9999999 10000000 +# for smaller block sizes (16KB) the total blocks alternate between a few values in the loop, +# therefore, we need to compare to a range of total block counts statement ok -CREATE TABLE block_count(count int) - -statement ok -insert into block_count select total_blocks from pragma_database_size(); +CREATE TABLE total_blocks_tbl AS SELECT total_blocks FROM pragma_database_size(); loop i 0 10 @@ -39,25 +37,34 @@ statement ok CREATE TABLE structs AS SELECT {'i': i, 'j': i::VARCHAR} c FROM range(10000000) tbl(i); query III -SELECT MIN(c['i']), MAX(c['i']), COUNT(*) FROM structs +SELECT MIN(c['i']), MAX(c['i']), COUNT(*) FROM structs; ---- 0 9999999 10000000 statement ok CHECKPOINT; +# ensure that the total blocks don't exceed the total blocks after the first iteration +# by more than 1.2 + +query I +SELECT CASE WHEN ${i} = 0 THEN True + WHEN current.total_blocks <= total_blocks_tbl.total_blocks * 1.2 THEN True + ELSE False END +FROM pragma_database_size() AS current, total_blocks_tbl; +---- +1 + +# adjust total_blocks_tbl once to the count after the first iteration + statement ok -insert into block_count select total_blocks from pragma_database_size(); +UPDATE total_blocks_tbl SET total_blocks = ( + SELECT CASE WHEN ${i} = 0 THEN (SELECT current.total_blocks FROM pragma_database_size() AS current) + ELSE (total_blocks) END); query III -SELECT MIN(c['i']), MAX(c['i']), COUNT(*) FROM structs +SELECT MIN(c['i']), MAX(c['i']), COUNT(*) FROM structs; ---- 0 9999999 10000000 -endloop - -# ensure there is a small diff between min and max block counts -query I -select (max(count)-min(count))<20 from block_count ----- -true +endloop \ No newline at end of file diff --git a/test/sql/storage/types/test_bit_storage.test b/test/sql/storage/types/test_bit_storage.test index 2b833949f0bf..4d14dafaf57b 100644 --- a/test/sql/storage/types/test_bit_storage.test +++ b/test/sql/storage/types/test_bit_storage.test @@ -27,4 +27,4 @@ NULL 000000000000000000 00100110010100100101001010010101010011110101000000000111100100110 -endloop \ No newline at end of file +endloop diff --git a/test/sql/storage/types/test_uhugeint_storage.test b/test/sql/storage/types/test_uhugeint_storage.test new file mode 100644 index 000000000000..37098c11ca15 --- /dev/null +++ b/test/sql/storage/types/test_uhugeint_storage.test @@ -0,0 +1,38 @@ +# name: test/sql/storage/types/test_uhugeint_storage.test +# description: Test UHUGEINT with persistent storage +# group: [types] + +# load the DB from disk +load __TEST_DIR__/uhugeint_storage_test.db + +# create a table with uhugeints +statement ok +CREATE TABLE uhugeints (h UHUGEINT); + +statement ok +INSERT INTO uhugeints VALUES (0), (42), (NULL), ('340282366920938463463374607431768211455'::UHUGEINT); + +# reload the database from disk a few times, and check that the data is still there +loop i 0 2 + +restart + +query I +SELECT * FROM uhugeints +---- +0 +42 +NULL +340282366920938463463374607431768211455 + +query I +SELECT * FROM uhugeints WHERE h = 42 +---- +42 + +query I +SELECT h FROM uhugeints WHERE h < 10 ORDER BY 1; +---- +0 + +endloop diff --git a/test/sql/storage/types/test_unsigned_storage.test b/test/sql/storage/types/test_unsigned_storage.test index 84b2bf167eb8..b40585925f28 100644 --- a/test/sql/storage/types/test_unsigned_storage.test +++ b/test/sql/storage/types/test_unsigned_storage.test @@ -88,4 +88,4 @@ SELECT * FROM unsigned 10 9 8 7 42 42 42 42 NULL NULL NULL NULL -255 65535 4294967295 18446744073709551615 \ No newline at end of file +255 65535 4294967295 18446744073709551615 diff --git a/test/sql/storage/vacuum/test_truncate_after_delete.test_slow b/test/sql/storage/vacuum/test_truncate_after_delete.test_slow index a4c765334588..a49e627f2b09 100644 --- a/test/sql/storage/vacuum/test_truncate_after_delete.test_slow +++ b/test/sql/storage/vacuum/test_truncate_after_delete.test_slow @@ -5,32 +5,32 @@ load __TEST_DIR__/truncate_after_delete.db statement ok -CREATE TABLE uuids(i VARCHAR); +CREATE TABLE uuids (i VARCHAR); + +# for smaller block sizes (16KB) the total blocks alternate between a few values in the loop, +# therefore, we need to compare to a range of total block counts +statement ok +CREATE TABLE total_blocks_tbl AS SELECT total_blocks FROM pragma_database_size(); loop i 0 10 statement ok -DROP TABLE IF EXISTS integers +DROP TABLE IF EXISTS integers; statement ok INSERT INTO uuids SELECT uuid()::varchar FROM range(1000000); statement ok -CHECKPOINT - -query I -SELECT total_blocks > 50 FROM pragma_database_size(); ----- -true +CHECKPOINT; # note that just deleting does not free the space yet # that is because deleting + checkpointing causes the metadata to be written at the END of the file # as we cannot override the deleted data yet statement ok -DELETE FROM uuids +DELETE FROM uuids; statement ok -CHECKPOINT +CHECKPOINT; # doing ANOTHER action and checkpointing again causes the data to be truncated # since the metadata can then overwrite the previously written data @@ -41,45 +41,58 @@ statement ok INSERT INTO integers VALUES (1), (2), (3); statement ok -CHECKPOINT +CHECKPOINT; + +# ensure that the total blocks don't exceed the total blocks after the first iteration +# by more than 1.2 query I -SELECT total_blocks < 10 FROM pragma_database_size(); +SELECT CASE WHEN ${i} = 0 THEN True + WHEN current.total_blocks <= total_blocks_tbl.total_blocks * 1.2 THEN True + ELSE False END +FROM pragma_database_size() AS current, total_blocks_tbl; ---- -true +1 + +# adjust total_blocks_tbl once to the count after the first iteration + +statement ok +UPDATE total_blocks_tbl SET total_blocks = ( + SELECT CASE WHEN ${i} = 0 THEN (SELECT current.total_blocks FROM pragma_database_size() AS current) + ELSE (total_blocks) END); endloop restart query I -FROM integers +FROM integers; ---- 1 2 3 query I -FROM uuids +FROM uuids; ---- # resume operation after truncation restart statement ok -DELETE FROM integers +DELETE FROM integers; statement ok INSERT INTO integers FROM range(1000000); query I -SELECT SUM(i) FROM integers +SELECT SUM(i) FROM integers; ---- 499999500000 restart query I -SELECT SUM(i) FROM integers +SELECT SUM(i) FROM integers; ---- 499999500000 diff --git a/test/sql/storage/vacuum/vacuum_deletes_cleanup.test_slow b/test/sql/storage/vacuum/vacuum_deletes_cleanup.test_slow index 59341af0ac2f..d970c0e31abd 100644 --- a/test/sql/storage/vacuum/vacuum_deletes_cleanup.test_slow +++ b/test/sql/storage/vacuum/vacuum_deletes_cleanup.test_slow @@ -8,85 +8,105 @@ statement ok CREATE TABLE integers(i INTEGER); # verify that deleting an entire table in a loop doesn't increase database size (i.e. deletes are vacuumed correctly) + loop i 0 10 statement ok INSERT INTO integers SELECT * FROM range(1000000); query I -SELECT SUM(i) FROM integers +SELECT SUM(i) FROM integers; ---- 499999500000 statement ok -DELETE FROM integers +DELETE FROM integers; query I -SELECT SUM(i) FROM integers +SELECT SUM(i) FROM integers; ---- NULL -query I -SELECT total_blocks * block_size < 15 * 262144 FROM pragma_database_size() ----- -true +# ensure that the expected total storage size is the same as in the first iteration of the loop + +query I nosort expected_blocks_delete_table +SELECT total_blocks FROM pragma_database_size(); endloop # do the same but delete in segments + +# for smaller block sizes (16KB) the total blocks alternate between a few values in the loop, +# therefore, we need to compare to a range of total block counts +statement ok +CREATE TABLE total_blocks_tbl AS SELECT total_blocks FROM pragma_database_size(); + loop i 0 10 statement ok INSERT INTO integers SELECT * FROM range(1000000); query I -SELECT SUM(i) FROM integers +SELECT SUM(i) FROM integers; ---- 499999500000 statement ok -DELETE FROM integers WHERE i < 200000 +DELETE FROM integers WHERE i < 200000; query I -SELECT SUM(i) FROM integers +SELECT SUM(i) FROM integers; ---- 479999600000 statement ok -DELETE FROM integers WHERE i < 400000 +DELETE FROM integers WHERE i < 400000; query I -SELECT SUM(i) FROM integers +SELECT SUM(i) FROM integers; ---- 419999700000 statement ok -DELETE FROM integers WHERE i < 600000 +DELETE FROM integers WHERE i < 600000; query I -SELECT SUM(i) FROM integers +SELECT SUM(i) FROM integers; ---- 319999800000 statement ok -DELETE FROM integers WHERE i < 800000 +DELETE FROM integers WHERE i < 800000; query I -SELECT SUM(i) FROM integers +SELECT SUM(i) FROM integers; ---- 179999900000 statement ok -DELETE FROM integers +DELETE FROM integers; query I -SELECT SUM(i) FROM integers +SELECT SUM(i) FROM integers; ---- NULL +# ensure that the total blocks don't exceed the total blocks after the first iteration +# by more than 1.2 + query I -SELECT total_blocks * block_size < 15 * 262144 FROM pragma_database_size() +SELECT CASE WHEN ${i} = 0 THEN True + WHEN current.total_blocks <= total_blocks_tbl.total_blocks * 1.2 THEN True + ELSE False END +FROM pragma_database_size() AS current, total_blocks_tbl; ---- -true +1 + +# adjust total_blocks_tbl once to the count after the first iteration + +statement ok +UPDATE total_blocks_tbl SET total_blocks = ( + SELECT CASE WHEN ${i} = 0 THEN (SELECT current.total_blocks FROM pragma_database_size() AS current) + ELSE (total_blocks) END); endloop diff --git a/test/sql/storage/vacuum/vacuum_partial_deletes.test_slow b/test/sql/storage/vacuum/vacuum_partial_deletes.test_slow new file mode 100644 index 000000000000..2aac9f813cf7 --- /dev/null +++ b/test/sql/storage/vacuum/vacuum_partial_deletes.test_slow @@ -0,0 +1,42 @@ +# name: test/sql/storage/vacuum/vacuum_partial_deletes.test_slow +# description: Verify that deletes get vacuumed correctly through merging of adjacent row groups +# group: [vacuum] + +load __TEST_DIR__/vacuum_partial_deletes.db + +statement ok +CREATE TABLE integers(i INTEGER); + +statement ok +INSERT INTO integers SELECT * FROM range(1000000); + +query I +SELECT SUM(i) FROM integers WHERE i%2<>0 +---- +250000000000 + +statement ok +CHECKPOINT + +# 1M rows, 128K each is around ~9 row groups +query I +SELECT COUNT(DISTINCT row_group_id) > 6 AND COUNT(DISTINCT row_group_id) <= 10 FROM pragma_storage_info('integers') +---- +true + +statement ok +DELETE FROM integers WHERE i%2=0 + +statement ok +CHECKPOINT + +query I +SELECT SUM(i) FROM integers +---- +250000000000 + +# after deleting we have 500K rows left, which should be 4~5 row groups +query I +SELECT COUNT(DISTINCT row_group_id) > 3 AND COUNT(DISTINCT row_group_id) <= 6 FROM pragma_storage_info('integers') +---- +true diff --git a/test/sql/storage/vacuum/vacuum_partial_deletes_cleanup.test_slow b/test/sql/storage/vacuum/vacuum_partial_deletes_cleanup.test_slow new file mode 100644 index 000000000000..3d8eab50bfd6 --- /dev/null +++ b/test/sql/storage/vacuum/vacuum_partial_deletes_cleanup.test_slow @@ -0,0 +1,64 @@ +# name: test/sql/storage/vacuum/vacuum_partial_deletes_cleanup.test_slow +# description: Verify that deleting rows and re-appending does not increase storage size +# group: [vacuum] + +load __TEST_DIR__/vacuum_deletes_partial_cleanup.db + +statement ok +CREATE TABLE integers(i INTEGER); + +# verify that deleting an entire table in a loop doesn't increase database size (i.e. deletes are vacuumed correctly) + +# for smaller block sizes (16KB) the total blocks alternate between a few values in the loop, +# therefore, we need to compare to a range of total block counts +statement ok +CREATE TABLE total_blocks_tbl AS SELECT total_blocks FROM pragma_database_size(); + +loop i 0 10 + +statement ok +INSERT INTO integers SELECT * FROM range(1000000); + +query I +SELECT SUM(i) FROM integers; +---- +499999500000 + +query I +DELETE FROM integers WHERE i%2=0 +---- +500000 + +statement ok +CHECKPOINT + +query I +DELETE FROM integers WHERE i%2<>0 +---- +500000 + + +query I +SELECT SUM(i) FROM integers +---- +NULL + +# ensure that the total blocks don't exceed the total blocks after the first iteration +# by more than 1.2 + +query I +SELECT CASE WHEN ${i} = 0 THEN True + WHEN current.total_blocks <= total_blocks_tbl.total_blocks * 1.2 THEN True + ELSE False END +FROM pragma_database_size() AS current, total_blocks_tbl; +---- +1 + +# adjust total_blocks_tbl once to the count after the first iteration + +statement ok +UPDATE total_blocks_tbl SET total_blocks = ( + SELECT CASE WHEN ${i} = 0 THEN (SELECT current.total_blocks FROM pragma_database_size() AS current) + ELSE (total_blocks) END); + +endloop diff --git a/test/sql/storage/vacuum/vacuum_partial_deletes_complex.test_slow b/test/sql/storage/vacuum/vacuum_partial_deletes_complex.test_slow new file mode 100644 index 000000000000..1ebb0698a0c5 --- /dev/null +++ b/test/sql/storage/vacuum/vacuum_partial_deletes_complex.test_slow @@ -0,0 +1,44 @@ +# name: test/sql/storage/vacuum/vacuum_partial_deletes_complex.test_slow +# description: Verify that deletes get vacuumed correctly through merging of adjacent row groups +# group: [vacuum] + +load __TEST_DIR__/vacuum_partial_deletes_complex.db + +statement ok +CREATE TABLE integers(i INTEGER); + +statement ok +INSERT INTO integers SELECT * FROM range(1000000); + +query I +SELECT SUM(i) FROM integers WHERE i%3<>0 +---- +333332666667 + +statement ok +CHECKPOINT + +# 1M rows, 128K each is around ~9 row groups +query I +SELECT COUNT(DISTINCT row_group_id) > 6 AND COUNT(DISTINCT row_group_id) <= 10 FROM pragma_storage_info('integers') +---- +true + +statement ok +DELETE FROM integers WHERE i%3=0 + +statement ok +CHECKPOINT + +query I +SELECT SUM(i) FROM integers +---- +333332666667 + +# after deleting we have 666K rows left, which should be 6~7 row groups +# note that this is more difficult, since after deleting each row group has ~80K rows +# this means that we need to merge 3 row groups into 2 row groups +query I +SELECT COUNT(DISTINCT row_group_id) > 4 AND COUNT(DISTINCT row_group_id) <= 7 FROM pragma_storage_info('integers') +---- +true diff --git a/test/sql/storage/vacuum/vacuum_partial_deletes_mixed.test_slow b/test/sql/storage/vacuum/vacuum_partial_deletes_mixed.test_slow new file mode 100644 index 000000000000..bdf03541501e --- /dev/null +++ b/test/sql/storage/vacuum/vacuum_partial_deletes_mixed.test_slow @@ -0,0 +1,100 @@ +# name: test/sql/storage/vacuum/vacuum_partial_deletes_mixed.test_slow +# description: Verify that deletes get vacuumed correctly through merging of adjacent row groups +# group: [vacuum] + +load __TEST_DIR__/vacuum_partial_deletes_mixed.db + +statement ok +CREATE TABLE integers(i INTEGER); + +statement ok +INSERT INTO integers SELECT * FROM range(1000000); + +# 1M rows, 128K each is around ~9 row groups +query I +SELECT COUNT(DISTINCT row_group_id) > 6 AND COUNT(DISTINCT row_group_id) <= 10 FROM pragma_storage_info('integers') +---- +true + +# mix of deletions +# we use weird/odd numbers here as well for testing purposes +# 0..157K - delete every other entry +query I +DELETE FROM integers WHERE i%2 AND i<157353; +---- +78676 + +query IIII +SELECT COUNT(*), SUM(i), MIN(i), MAX(i) FROM integers +---- +921324 493809587024 0 999999 + +# 157K..433K - delete ALL entries +query I +DELETE FROM integers WHERE i>=157353 AND i<433427; +---- +276074 + +query IIII +SELECT COUNT(*), SUM(i), MIN(i), MAX(i) FROM integers +---- +645250 412260226201 0 999999 + +# 433K..512K - delete every odd 5K entries +query I +DELETE FROM integers WHERE (i//4973)%2=0 AND i>=433427 AND i<512933; +---- +39784 + +query IIII +SELECT COUNT(*), SUM(i), MIN(i), MAX(i) FROM integers +---- +605466 393365969137 0 999999 + +# 512K..732K - delete every 7 entries +query I +DELETE FROM integers WHERE i%7=0 AND i>=512933 AND i<721377 +---- +29777 + +query IIII +SELECT COUNT(*), SUM(i), MIN(i), MAX(i) FROM integers +---- +575689 374988944702 0 999999 + +# 732K..910K - delete every 3 entries but based on the hash to make it more random +query I +DELETE FROM integers WHERE hash(i)::DOUBLE%3=0 AND i>=721377 AND i<909999 +---- +62853 + +query IIII +SELECT COUNT(*), SUM(i), MIN(i), MAX(i) FROM integers +---- +512836 323738360425 0 999999 + +# 732K..910K - delete every 2 entries but based on the hash to make it more random +query I +DELETE FROM integers WHERE hash(i)::DOUBLE%2=0 AND i>=909999 +---- +89983 + +query IIII +SELECT COUNT(*), SUM(i), MIN(i), MAX(i) FROM integers +---- +422853 237804579942 0 987388 + +statement ok +CHECKPOINT + +query IIII +SELECT COUNT(*), SUM(i), MIN(i), MAX(i) FROM integers +---- +422853 237804579942 0 987388 + +# after deleting we have 422K rows left, which should be 4 row groups +# note that achieving exactly 4 row groups is difficult because of the mixed nature of the deletes +query I +SELECT COUNT(DISTINCT row_group_id) >= 4 AND COUNT(DISTINCT row_group_id) <= 7 FROM pragma_storage_info('integers') +---- +true diff --git a/test/sql/storage/wal/test_wal_bc.test b/test/sql/storage/wal/test_wal_bc.test new file mode 100644 index 000000000000..1a0830ea3fca --- /dev/null +++ b/test/sql/storage/wal/test_wal_bc.test @@ -0,0 +1,16 @@ +# name: test/sql/storage/wal/test_wal_bc.test +# description: Test WAL backwards compatibility +# group: [wal] + +# the file was created with a block size of 256KB +require block_size 262144 + +# the file was created with a vector size of 2048 +require vector_size 2048 + +load data/storage/wal_test_092.db readonly + +query II +SELECT COUNT(*), SUM(i) FROM integers +---- +1000 499500 diff --git a/test/sql/storage/wal/wal_check_constraint.test b/test/sql/storage/wal/wal_check_constraint.test index d0b34a3d83ab..a10da7f06817 100644 --- a/test/sql/storage/wal/wal_check_constraint.test +++ b/test/sql/storage/wal/wal_check_constraint.test @@ -25,10 +25,12 @@ INSERT INTO test VALUES (3, 7); # check constraint on a violated (a < 10) statement error INSERT INTO test VALUES (12, 13); +---- # check constraint on b violated (b < 10) => (a < b) statement error INSERT INTO test VALUES (5, 3); +---- # check constraint on b not violated !(b < 10) => (a + b < 100) statement ok @@ -37,3 +39,4 @@ INSERT INTO test VALUES (9, 90); # check constraint on b violated !(b < 10) => (a + b < 100) statement error INSERT INTO test VALUES (9, 99); +---- diff --git a/test/sql/storage/wal/wal_create_index.test b/test/sql/storage/wal/wal_create_index.test index d16b3562aad4..05dcf837f8ee 100644 --- a/test/sql/storage/wal/wal_create_index.test +++ b/test/sql/storage/wal/wal_create_index.test @@ -167,4 +167,4 @@ INSERT INTO integers VALUES (1, 1); Constraint Error: Duplicate key "(j + i): 2, j: 1, i: 1" violates unique constraint statement ok -DROP INDEX i_index; \ No newline at end of file +DROP INDEX i_index; diff --git a/test/sql/storage/wal/wal_drop_table.test b/test/sql/storage/wal/wal_drop_table.test index 4b573fee6cb9..3568a5d1b390 100644 --- a/test/sql/storage/wal/wal_drop_table.test +++ b/test/sql/storage/wal/wal_drop_table.test @@ -58,4 +58,4 @@ statement ok CREATE SCHEMA test; statement ok -CREATE TABLE test.test (a INTEGER, b INTEGER); \ No newline at end of file +CREATE TABLE test.test (a INTEGER, b INTEGER); diff --git a/test/sql/storage/wal/wal_storage_types.test b/test/sql/storage/wal/wal_storage_types.test index d9ede7bb0088..0dbab8556784 100644 --- a/test/sql/storage/wal/wal_storage_types.test +++ b/test/sql/storage/wal/wal_storage_types.test @@ -147,4 +147,5 @@ statement error CREATE TABLE aliens ( name text, current_mood mood -); \ No newline at end of file +); +---- diff --git a/test/sql/storage/wal/wal_store_add_column_persistent.test b/test/sql/storage/wal/wal_store_add_column_persistent.test index 5931c0a3e903..11066056aa5a 100644 --- a/test/sql/storage/wal/wal_store_add_column_persistent.test +++ b/test/sql/storage/wal/wal_store_add_column_persistent.test @@ -43,4 +43,4 @@ SELECT k FROM test ORDER BY k ---- 2 2 -2 \ No newline at end of file +2 diff --git a/test/sql/storage/wal/wal_store_nulls_strings.test b/test/sql/storage/wal/wal_store_nulls_strings.test index 469d0352d84f..4a6e01128276 100644 --- a/test/sql/storage/wal/wal_store_nulls_strings.test +++ b/test/sql/storage/wal/wal_store_nulls_strings.test @@ -35,6 +35,7 @@ NULL hello statement error CREATE TABLE test (a INTEGER, b STRING); +---- statement ok CREATE TABLE IF NOT EXISTS test (a INTEGER, b STRING); diff --git a/test/sql/storage/wal/wal_store_rename_column.test b/test/sql/storage/wal/wal_store_rename_column.test index dcd5842376ae..ad20b119bf8b 100644 --- a/test/sql/storage/wal/wal_store_rename_column.test +++ b/test/sql/storage/wal/wal_store_rename_column.test @@ -88,3 +88,4 @@ SELECT k FROM test ORDER BY k statement error SELECT a FROM test +---- diff --git a/test/sql/storage/wal/wal_store_sequences.test b/test/sql/storage/wal/wal_store_sequences.test index ca03eb012307..2ab900473f2e 100644 --- a/test/sql/storage/wal/wal_store_sequences.test +++ b/test/sql/storage/wal/wal_store_sequences.test @@ -55,6 +55,7 @@ SELECT nextval('seq_cycle') statement error SELECT nextval('seq2') +---- # again restart @@ -78,6 +79,7 @@ restart # verify that sequence is gone statement error SELECT nextval('seq') +---- # other sequence is still there statement ok diff --git a/test/sql/storage/wal/wal_store_temporary.test b/test/sql/storage/wal/wal_store_temporary.test index 741c4b96da89..33bb9b12d431 100644 --- a/test/sql/storage/wal/wal_store_temporary.test +++ b/test/sql/storage/wal/wal_store_temporary.test @@ -33,6 +33,7 @@ DELETE FROM temp.a # check schema statement error DELETE FROM asdf.a +---- # temporary sequences statement ok @@ -83,6 +84,7 @@ SELECT * FROM persistent # temporary table is gone statement error SELECT * FROM a +---- statement ok CREATE TEMPORARY TABLE a (i INTEGER) diff --git a/test/sql/storage/wal/wal_uhugeint_storage.test b/test/sql/storage/wal/wal_uhugeint_storage.test new file mode 100644 index 000000000000..843c5db1d25f --- /dev/null +++ b/test/sql/storage/wal/wal_uhugeint_storage.test @@ -0,0 +1,46 @@ +# name: test/sql/storage/wal/wal_uhugeint_storage.test +# description: Test UHUGEINT with persistent storage with WAL +# group: [wal] + +# load the DB from disk +load __TEST_DIR__/uhugeint_storage_test.db + +statement ok +PRAGMA disable_checkpoint_on_shutdown + +statement ok +PRAGMA wal_autocheckpoint='1TB'; + +# create a table with uhugeints +statement ok +CREATE TABLE uhugeints (h UHUGEINT); + +statement ok +INSERT INTO uhugeints VALUES (1043178439874412422424), (42), (NULL), (47289478944894789472897441242); + +# reload the database from disk a few times, and check that the data is still there +loop i 0 2 + +restart + +statement ok +PRAGMA disable_checkpoint_on_shutdown + +query I +SELECT * FROM uhugeints +---- +1043178439874412422424 +42 +NULL +47289478944894789472897441242 + +query I +SELECT * FROM uhugeints WHERE h = 42 +---- +42 + +query I +SELECT h FROM uhugeints WHERE h < 10 ORDER BY 1; +---- + +endloop diff --git a/test/sql/storage/wal/wal_view_explicit_aliases.test b/test/sql/storage/wal/wal_view_explicit_aliases.test index e483bacb1777..8056aa378a94 100644 --- a/test/sql/storage/wal/wal_view_explicit_aliases.test +++ b/test/sql/storage/wal/wal_view_explicit_aliases.test @@ -56,6 +56,7 @@ PRAGMA table_info('test.v') statement error SELECT * FROM test.v +---- # we can query again after recreating the table statement ok diff --git a/test/sql/storage/wal/wal_view_storage.test b/test/sql/storage/wal/wal_view_storage.test index bc90bd41d31d..953332f6e4bb 100644 --- a/test/sql/storage/wal/wal_view_storage.test +++ b/test/sql/storage/wal/wal_view_storage.test @@ -45,6 +45,7 @@ PRAGMA table_info('test.v') # but querying the view fails statement error SELECT * FROM test.v +---- statement ok CREATE VIEW test.v2 AS SELECT 42 @@ -67,6 +68,7 @@ PRAGMA table_info('test.v') statement error SELECT * FROM test.v +---- # after recreating the table, we can query the view again statement ok @@ -90,5 +92,6 @@ DROP TABLE test.t statement error SELECT * FROM test.v2 +---- endloop diff --git a/test/sql/storage/wal_torn_write.cpp b/test/sql/storage/wal_torn_write.cpp index f84b1efd896f..6026c9560dcd 100644 --- a/test/sql/storage/wal_torn_write.cpp +++ b/test/sql/storage/wal_torn_write.cpp @@ -60,3 +60,57 @@ TEST_CASE("Test torn WAL writes", "[storage][.]") { } DeleteDatabase(storage_database); } + +static void FlipWALByte(FileSystem &fs, const string &path, idx_t byte_pos) { + auto handle = fs.OpenFile(path, FileFlags::FILE_FLAGS_WRITE | FileFlags::FILE_FLAGS_READ); + idx_t wal_size = handle->GetFileSize(); + auto wal_contents = duckdb::unique_ptr(new data_t[wal_size]); + handle->Read(wal_contents.get(), wal_size, 0); + wal_contents[byte_pos]++; + handle->Write(wal_contents.get(), wal_size, 0); +} + +TEST_CASE("Test WAL checksums", "[storage][.]") { + auto config = GetTestConfig(); + duckdb::unique_ptr result; + auto storage_database = TestCreatePath("wal_checksum"); + auto storage_wal = storage_database + ".wal"; + + LocalFileSystem lfs; + config->options.checkpoint_wal_size = idx_t(-1); + config->options.checkpoint_on_shutdown = false; + idx_t wal_size_one_table; + idx_t wal_size_two_table; + // obtain the size of the WAL when writing one table, and then when writing two tables + DeleteDatabase(storage_database); + { + DuckDB db(storage_database, config.get()); + Connection con(db); + REQUIRE_NO_FAIL(con.Query("CREATE TABLE A (a INTEGER);")); + wal_size_one_table = GetWALFileSize(lfs, storage_wal); + REQUIRE_NO_FAIL(con.Query("CREATE TABLE B (a INTEGER);")); + wal_size_two_table = GetWALFileSize(lfs, storage_wal); + } + DeleteDatabase(storage_database); + + // now for all sizes in between these two sizes we have a torn write + // try all of the possible sizes and truncate the WAL + for (idx_t i = wal_size_one_table + 1; i < wal_size_two_table; i++) { + DeleteDatabase(storage_database); + { + DuckDB db(storage_database, config.get()); + Connection con(db); + REQUIRE_NO_FAIL(con.Query("CREATE TABLE A (a INTEGER);")); + REQUIRE_NO_FAIL(con.Query("CREATE TABLE B (a INTEGER);")); + } + FlipWALByte(lfs, storage_wal, i); + { + // reload and make sure table A is there, and table B is not there + DuckDB db(storage_database, config.get()); + Connection con(db); + REQUIRE_NO_FAIL(con.Query("FROM A")); + REQUIRE_FAIL(con.Query("FROM B")); + } + } + DeleteDatabase(storage_database); +} diff --git a/test/sql/storage_version/generate_storage_version.sql b/test/sql/storage_version/generate_storage_version.sql index 174f66a11fd8..46e321448c0a 100644 --- a/test/sql/storage_version/generate_storage_version.sql +++ b/test/sql/storage_version/generate_storage_version.sql @@ -82,7 +82,7 @@ FROM integral_values; CREATE VIEW test3.v2 AS SELECT - (i + 2) * 3 + ((i + 2) * 3)::INT FROM integral_values; -- bigger tables diff --git a/test/sql/storage_version/storage_version.db b/test/sql/storage_version/storage_version.db index c5ce147d0be3..1d6077c5b886 100644 Binary files a/test/sql/storage_version/storage_version.db and b/test/sql/storage_version/storage_version.db differ diff --git a/test/sql/storage_version/storage_version.test_slow b/test/sql/storage_version/storage_version.test_slow index c6a652fa30b5..8512e078a419 100644 --- a/test/sql/storage_version/storage_version.test_slow +++ b/test/sql/storage_version/storage_version.test_slow @@ -7,6 +7,9 @@ # 2) Run the script in scripts/generate_storage_version.py # 3) Commit the newly generated database file in test/sql/storage_version/storage_version.db +# we cannot read/open a file with a different block size +require block_size 262144 + statement ok PRAGMA enable_verification diff --git a/test/sql/subquery/any_all/test_uncorrelated_any_subquery.test b/test/sql/subquery/any_all/test_uncorrelated_any_subquery.test index 9317520e838a..5a667213458c 100644 --- a/test/sql/subquery/any_all/test_uncorrelated_any_subquery.test +++ b/test/sql/subquery/any_all/test_uncorrelated_any_subquery.test @@ -61,7 +61,7 @@ NULL NULL 3 NULL query I -SELECT i FROM integers WHERE i = ANY(SELECT i FROM integers) +SELECT i FROM integers WHERE i = ANY(SELECT i FROM integers) order by i ---- 1 2 diff --git a/test/sql/subquery/complex/correlated_list_aggregate.test_slow b/test/sql/subquery/complex/correlated_list_aggregate.test_slow index 96a8ae251430..754b1c77e4f9 100644 --- a/test/sql/subquery/complex/correlated_list_aggregate.test_slow +++ b/test/sql/subquery/complex/correlated_list_aggregate.test_slow @@ -87,9 +87,11 @@ SELECT MIN(l[1]), (SELECT SUM(i1.l[1])) FROM lists i1; # this will fail, because "l[1]" is not an aggregate but the SUM(i1.l[1]) turns this query into an aggregate statement error SELECT l, (SELECT SUM(i1.l[1])) FROM lists i1; +---- statement error SELECT l[1]+1, (SELECT SUM(i1.l[1])) FROM lists i1; +---- query IR SELECT MIN(l[1]), (SELECT SUM(i1.l[1])) FROM lists i1; @@ -115,6 +117,7 @@ SELECT SUM(l[1]), (SELECT SUM(l[1]) FROM lists WHERE l[1]>SUM(i1.l[1])) FROM lis # subquery with aggregation inside aggregation should fail statement error SELECT SUM((SELECT SUM(l[1]))) FROM lists +---- # aggregate with correlation in filter query II diff --git a/test/sql/subquery/complex/nested_correlated_list.test_slow b/test/sql/subquery/complex/nested_correlated_list.test_slow index 24eb3b9a7487..59f3a23bd402 100644 --- a/test/sql/subquery/complex/nested_correlated_list.test_slow +++ b/test/sql/subquery/complex/nested_correlated_list.test_slow @@ -116,6 +116,7 @@ NULL NULL # not supported yet: left outer join on JoinSide::BOTH statement error SELECT l, (SELECT SUM(s1.l[1]) FROM lists s1 LEFT OUTER JOIN lists s2 ON (SELECT i1.l[1]+s1.l[1])=(SELECT i1.l[1]+s2.l[1])) AS j FROM lists i1 ORDER BY l; +---- # REQUIRE(CHECK_COLUMN(result, 0, {Value(), 1, 2, 3})); # REQUIRE(CHECK_COLUMN(result, 1, {6, 6, 6, 6})); diff --git a/test/sql/subquery/lateral/lateral_fuzzer_5984_23.test b/test/sql/subquery/lateral/lateral_fuzzer_5984_23.test index c210aca7a116..36521d2470f1 100644 --- a/test/sql/subquery/lateral/lateral_fuzzer_5984_23.test +++ b/test/sql/subquery/lateral/lateral_fuzzer_5984_23.test @@ -3,11 +3,11 @@ # group: [lateral] query I -SELECT 1 FROM (SELECT 1) t1(c1), (SELECT TRUE IN (TRUE, t1.c1 LIKE 'a' ESCAPE NULL)); +SELECT 1 FROM (SELECT 1) t1(c1), (SELECT TRUE IN (TRUE, t1.c1::VARCHAR LIKE 'a' ESCAPE NULL)); ---- 1 query I -SELECT (SELECT t1.c1 LIKE 'a' ESCAPE NULL) FROM (SELECT 1) t1(c1) +SELECT (SELECT t1.c1::VARCHAR LIKE 'a' ESCAPE NULL) FROM (SELECT 1) t1(c1) ---- -NULL \ No newline at end of file +NULL diff --git a/test/sql/subquery/lateral/lateral_join_aggregate.test b/test/sql/subquery/lateral/lateral_join_aggregate.test index 55db7a348aed..be101fc6c4ce 100644 --- a/test/sql/subquery/lateral/lateral_join_aggregate.test +++ b/test/sql/subquery/lateral/lateral_join_aggregate.test @@ -15,17 +15,16 @@ statement ok INSERT INTO integers VALUES (1), (2), (3), (NULL); # we cannot bind aggregates over lateral joins -# FIXME: the error message here could use improving # Postgres error message is "aggregate functions are not allowed in FROM clause of their own query level" statement error SELECT * FROM integers, (SELECT SUM(i)) t(sum); ---- -not found in FROM clause +Binder Error: LATERAL join cannot contain aggregates statement error SELECT * FROM integers, LATERAL (SELECT SUM(i)) t(sum); ---- -not found in FROM clause +Binder Error: LATERAL join cannot contain aggregates # we can use lateral columns inside aggregate expressions, however query II diff --git a/test/sql/subquery/lateral/lateral_join_nested.test b/test/sql/subquery/lateral/lateral_join_nested.test index 15de81993230..6a4c6706abc9 100644 --- a/test/sql/subquery/lateral/lateral_join_nested.test +++ b/test/sql/subquery/lateral/lateral_join_nested.test @@ -213,11 +213,12 @@ WHERE i IN (SELECT l FROM (SELECT 42) t4(l) query I SELECT (SELECT res.* FROM (SELECT 1) AS t2(z), - (SELECT (SELECT i - FROM (SELECT MAX(k) FROM generate_series(1,10) t(k)) AS t(i) - GROUP BY i - HAVING (COUNT(*)) = - ((SELECT x)))) res) + (SELECT (SELECT i + FROM (SELECT MAX(k) FROM generate_series(1,10) t(k)) AS t(i) + GROUP BY i + HAVING (COUNT(*)) = x) + ) as res + ) FROM generate_series(1, 5) t(x); ---- 10 diff --git a/test/sql/subquery/lateral/pg_lateral.test b/test/sql/subquery/lateral/pg_lateral.test index a63c1581c948..a570e76a0a65 100644 --- a/test/sql/subquery/lateral/pg_lateral.test +++ b/test/sql/subquery/lateral/pg_lateral.test @@ -480,7 +480,7 @@ select * from (values(1)) x(lb), query II rowsort select x.* from int8_tbl x left join (select q1,coalesce(q2,0) q2 from int8_tbl) y on x.q2 = y.q1, - lateral (select x.q1,y.q1,y.q2) v(xq1,yq1,yq2); + lateral (select x.q1,y.q1,y.q2) v(xq1,yq1,yq2) order by 1, 2; ---- 123 456 123 4567890123456789 @@ -497,7 +497,7 @@ select x.* from statement error select 1 from tenk1 a, lateral (select max(a.unique1) from int4_tbl b) ss; ---- -not found +Binder Error: LATERAL join cannot contain aggregates statement ok create table xx1 as select f1 as x1, -f1 as x2 from int4_tbl; diff --git a/test/sql/subquery/scalar/array_subquery.test b/test/sql/subquery/scalar/array_subquery.test index 9ed66dc08ebe..ca40fe37f0fd 100644 --- a/test/sql/subquery/scalar/array_subquery.test +++ b/test/sql/subquery/scalar/array_subquery.test @@ -91,3 +91,8 @@ NULL [] 1 [1, 1] 2 [2, 2] 3 [3, 3] + +# should only allow one column in array subquery +statement error +select array(select 1,2) +---- diff --git a/test/sql/subquery/scalar/correlated_pivot.test b/test/sql/subquery/scalar/correlated_pivot.test index 011ce3645b2a..99956f8a7670 100644 --- a/test/sql/subquery/scalar/correlated_pivot.test +++ b/test/sql/subquery/scalar/correlated_pivot.test @@ -65,7 +65,7 @@ FROM Product PIVOT is not supported in correlated subqueries yet statement ok -RESET pivot_filter_threshold +SET pivot_filter_threshold TO DEFAULT statement ok RESET SESSION pivot_filter_threshold diff --git a/test/sql/subquery/scalar/expression_get.test_slow b/test/sql/subquery/scalar/expression_get.test_slow index 3017ace04136..349d9400fa95 100644 --- a/test/sql/subquery/scalar/expression_get.test_slow +++ b/test/sql/subquery/scalar/expression_get.test_slow @@ -13,7 +13,7 @@ statement ok CREATE TABLE test AS SELECT CAST((i % 10) AS INTEGER) AS i, CAST(((i * 2) % 10) AS INTEGER) AS j FROM generate_series(0, 9, 1) tbl(i); query III -SELECT i, j, (SELECT max(x) FROM (VALUES (i), (j)) AS X(x)) as maxn FROM test; +SELECT i, j, (SELECT max(x) FROM (VALUES (i), (j)) AS X(x)) as maxn FROM test ORDER BY ALL; ---- 0 0 0 1 2 2 @@ -28,7 +28,7 @@ SELECT i, j, (SELECT max(x) FROM (VALUES (i), (j)) AS X(x)) as maxn FROM test; # mix of correlated and non-correlated values query III -SELECT i, j, (SELECT max(x) FROM (VALUES (i), (j), (3), (NULL), (5)) AS X(x)) as maxn FROM test; +SELECT i, j, (SELECT max(x) FROM (VALUES (i), (j), (3), (NULL), (5)) AS X(x)) as maxn FROM test ORDER BY ALL; ---- 0 0 5 1 2 5 diff --git a/test/sql/subquery/scalar/test_complex_correlated_subquery.test b/test/sql/subquery/scalar/test_complex_correlated_subquery.test index 4ae5eeb78127..b492e289c40e 100644 --- a/test/sql/subquery/scalar/test_complex_correlated_subquery.test +++ b/test/sql/subquery/scalar/test_complex_correlated_subquery.test @@ -83,6 +83,7 @@ NULL NULL # left outer join on arbitrary correlated subquery: not supported statement error SELECT * FROM integers s1 LEFT OUTER JOIN integers s2 ON (SELECT CASE WHEN s1.i+s2.i>10 THEN TRUE ELSE FALSE END) ORDER BY s1.i; +---- # left outer join on subquery only involving RHS works query TT @@ -96,16 +97,19 @@ NULL NULL # left outer join on subquery only involving LHS is not supported statement error SELECT * FROM integers s1 LEFT OUTER JOIN integers s2 ON s1.i=s2.i AND (SELECT CASE WHEN s1.i>2 THEN TRUE ELSE FALSE END) ORDER BY s1.i; +---- # left outer join in correlated expression statement error SELECT i, (SELECT SUM(s1.i) FROM integers s1 LEFT OUTER JOIN integers s2 ON s1.i=s2.i OR s1.i=i1.i-1) AS j FROM integers i1 ORDER BY i; +---- # REQUIRE(CHECK_COLUMN(result, 0, {Value(), 1, 2, 3})); # REQUIRE(CHECK_COLUMN(result, 1, {Value(), 6, 9, 12})); # full outer join: both sqlite and postgres actually cannot run this one statement error SELECT i, (SELECT SUM(s1.i) FROM integers s1 FULL OUTER JOIN integers s2 ON s1.i=s2.i OR s1.i=i1.i-1) AS j FROM integers i1 ORDER BY i; +---- # REQUIRE(CHECK_COLUMN(result, 0, {Value(), 1, 2, 3})); # REQUIRE(CHECK_COLUMN(result, 1, {6, 6, 9, 12})); @@ -113,6 +117,7 @@ SELECT i, (SELECT SUM(s1.i) FROM integers s1 FULL OUTER JOIN integers s2 ON s1.i # correlated expression inside window function not supported statement error SELECT i, (SELECT row_number() OVER (ORDER BY i)) FROM integers i1 ORDER BY i; +---- # union with correlated expression query II diff --git a/test/sql/subquery/scalar/test_correlated_aggregate_subquery.test_slow b/test/sql/subquery/scalar/test_correlated_aggregate_subquery.test_slow index d39a076b4c32..260d2024fad0 100644 --- a/test/sql/subquery/scalar/test_correlated_aggregate_subquery.test_slow +++ b/test/sql/subquery/scalar/test_correlated_aggregate_subquery.test_slow @@ -81,9 +81,11 @@ SELECT MIN(i), (SELECT SUM(i1.i)) FROM integers i1; # this will fail, because "i" is not an aggregate but the SUM(i1.i) turns this query into an aggregate statement error SELECT i, (SELECT SUM(i1.i)) FROM integers i1; +---- statement error SELECT i+1, (SELECT SUM(i1.i)) FROM integers i1; +---- query IR SELECT MIN(i), (SELECT SUM(i1.i)) FROM integers i1; @@ -109,6 +111,7 @@ SELECT SUM(i), (SELECT SUM(i) FROM integers WHERE i>SUM(i1.i)) FROM integers i1; # subquery with aggregation inside aggregation should fail statement error SELECT SUM((SELECT SUM(i))) FROM integers +---- # aggregate with correlation in filter query II @@ -264,6 +267,7 @@ NULL NULL # aggregate subqueries cannot be nested statement error SELECT i, SUM((SELECT SUM(i)*SUM(i1.i) FROM integers)) AS k FROM integers i1 GROUP BY i ORDER BY i; +---- # aggregation but ONLY inside subquery results in implicit aggregation query R diff --git a/test/sql/subquery/scalar/test_correlated_side_effects.test b/test/sql/subquery/scalar/test_correlated_side_effects.test index b22351cb1608..0422652c6635 100644 --- a/test/sql/subquery/scalar/test_correlated_side_effects.test +++ b/test/sql/subquery/scalar/test_correlated_side_effects.test @@ -15,4 +15,4 @@ SELECT COUNT(DISTINCT ) as total_seats FROM (SELECT 1 FROM generate_series(1, 100, 1)) AS t(r) ---- -100 \ No newline at end of file +100 diff --git a/test/sql/subquery/scalar/test_correlated_subquery_where.test b/test/sql/subquery/scalar/test_correlated_subquery_where.test index 0f3bd90a3911..178cb1d9b9ee 100644 --- a/test/sql/subquery/scalar/test_correlated_subquery_where.test +++ b/test/sql/subquery/scalar/test_correlated_subquery_where.test @@ -6,28 +6,18 @@ statement ok PRAGMA enable_verification statement ok -CREATE TABLE test (id INTEGER, b INTEGER); - -statement ok -INSERT INTO test VALUES (1, 22) - -statement ok -INSERT INTO test VALUES (1, 21) - -statement ok -INSERT INTO test VALUES (2, 22) +CREATE TABLE test AS FROM VALUES (1, 22), (1, 21), (2, 22) v(id, b); # correlated subquery with one correlated expression -query II +query II rowsort SELECT * FROM test WHERE b=(SELECT MIN(b) FROM test AS a WHERE a.id=test.id) ---- 1 21 2 22 # correlated subquery with two correlated expressions -query II +query II rowsort SELECT * FROM test WHERE b=(SELECT MIN(b) FROM test AS a WHERE a.id=test.id AND a.id < test.b) ---- 1 21 2 22 - diff --git a/test/sql/subquery/scalar/test_grouped_correlated_subquery.test b/test/sql/subquery/scalar/test_grouped_correlated_subquery.test index 5444736476bb..d5fae3b15c41 100644 --- a/test/sql/subquery/scalar/test_grouped_correlated_subquery.test +++ b/test/sql/subquery/scalar/test_grouped_correlated_subquery.test @@ -62,14 +62,17 @@ SELECT (col1 + 1) AS k, k IN (SELECT ColID + k FROM tbl_ProductSales) FROM anoth # but as it is not a column reference directly we fail to bind it here statement error SELECT (col1 + 1) IN (SELECT ColID + (col1 + 1) FROM tbl_ProductSales) FROM another_T GROUP BY (col1 + 1); +---- # this should fail, col1 + 42 is not a grouping column statement error SELECT col1+1, col1+42 FROM another_T GROUP BY col1+1; +---- # this should also fail, col1 + 42 is not a grouping column statement error SELECT (col1 + 1) IN (SELECT ColID + (col1 + 42) FROM tbl_ProductSales) FROM another_T GROUP BY (col1 + 1); +---- # having without GROUP BY in subquery query T @@ -121,13 +124,16 @@ SELECT (SELECT MIN(ColID) FROM tbl_ProductSales INNER JOIN another_T t2 ON t1.co # LEFT JOIN between correlated columns not supported for now statement error SELECT CASE WHEN NOT col1 NOT IN (SELECT (SELECT MAX(col7)) UNION (SELECT MIN(ColID) FROM tbl_ProductSales LEFT JOIN another_T t2 ON t2.col5 = t1.col1)) THEN 1 ELSE 2 END FROM another_T t1 GROUP BY col1 ORDER BY 1; +---- # REQUIRE(CHECK_COLUMN(result, 0, {1, 2, 2, 2})); # correlated columns in window functions not supported yet statement error SELECT EXISTS (SELECT RANK() OVER (PARTITION BY SUM(DISTINCT col5))) FROM another_T t1; +---- # REQUIRE(CHECK_COLUMN(result, 0, {true})); statement error SELECT (SELECT SUM(col2) OVER (PARTITION BY SUM(col2) ORDER BY MAX(col1 + ColID) ROWS UNBOUNDED PRECEDING) FROM tbl_ProductSales) FROM another_T t1 GROUP BY col1 +---- diff --git a/test/sql/subquery/scalar/test_issue_6136.test b/test/sql/subquery/scalar/test_issue_6136.test index 32452cfff1e6..ccedcb8366eb 100644 --- a/test/sql/subquery/scalar/test_issue_6136.test +++ b/test/sql/subquery/scalar/test_issue_6136.test @@ -39,10 +39,10 @@ select from b ORDER BY 1, 2, 3; ---- -1 1 1 {'': a, '': A, '': 1} {'': a, '': A, '': 3} -2 1 2 {'': c, '': C, '': 1} {'': a, '': A, '': 3} -3 1 3 {'': NULL, '': NULL, '': 0} {'': a, '': A, '': 3} -4 1 NULL {'': NULL, '': NULL, '': 0} {'': a, '': A, '': 3} -5 2 1 {'': NULL, '': NULL, '': 0} {'': d, '': D, '': 1} -6 2 NULL {'': NULL, '': NULL, '': 0} {'': d, '': D, '': 1} -7 99 99 {'': NULL, '': NULL, '': 0} {'': NULL, '': NULL, '': 0} +1 1 1 (a, A, 1) (a, A, 3) +2 1 2 (c, C, 1) (a, A, 3) +3 1 3 (NULL, NULL, 0) (a, A, 3) +4 1 NULL (NULL, NULL, 0) (a, A, 3) +5 2 1 (NULL, NULL, 0) (d, D, 1) +6 2 NULL (NULL, NULL, 0) (d, D, 1) +7 99 99 (NULL, NULL, 0) (NULL, NULL, 0) diff --git a/test/sql/subquery/scalar/test_join_in_subquery.test b/test/sql/subquery/scalar/test_join_in_subquery.test index 4414299e3c2b..db4189e909f1 100644 --- a/test/sql/subquery/scalar/test_join_in_subquery.test +++ b/test/sql/subquery/scalar/test_join_in_subquery.test @@ -6,27 +6,12 @@ statement ok PRAGMA enable_verification statement ok -CREATE TABLE test (id INTEGER, test_value INTEGER); +CREATE TABLE test AS FROM VALUES (1, 22), (1, 21), (2, 22) v(id, test_value); statement ok -INSERT INTO test VALUES (1, 22) +CREATE TABLE test2 AS FROM VALUES (1, 44), (2, 42) v(id, test2_value); -statement ok -INSERT INTO test VALUES (1, 21) - -statement ok -INSERT INTO test VALUES (2, 22) - -statement ok -CREATE TABLE test2 (id INTEGER, test2_value INTEGER); - -statement ok -INSERT INTO test2 VALUES (1, 44) - -statement ok -INSERT INTO test2 VALUES (2, 42) - -query IIII +query IIII rowsort SELECT * FROM test, test2 WHERE test.id=test2.id AND test_value*test2_value=(SELECT MIN(test_value*test2_value) FROM test AS a, test2 WHERE a.id=test.id AND a.id=test2.id) ---- 1 21 1 44 diff --git a/test/sql/subquery/scalar/test_many_correlated_columns.test b/test/sql/subquery/scalar/test_many_correlated_columns.test index 7727941e8c60..834601c8f9fd 100644 --- a/test/sql/subquery/scalar/test_many_correlated_columns.test +++ b/test/sql/subquery/scalar/test_many_correlated_columns.test @@ -38,7 +38,7 @@ NULL # exists with multiple correlated columns query IIT -SELECT * FROM test WHERE EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.b<>test2.c); +SELECT * FROM test WHERE EXISTS(SELECT * FROM test2 WHERE test.a=test2.a AND test.b<>test2.c) order by b; ---- 12 2 b 13 3 c diff --git a/test/sql/subquery/scalar/test_nested_correlated_subquery.test_slow b/test/sql/subquery/scalar/test_nested_correlated_subquery.test_slow index 4b88950f1d81..6496c99c2e93 100644 --- a/test/sql/subquery/scalar/test_nested_correlated_subquery.test_slow +++ b/test/sql/subquery/scalar/test_nested_correlated_subquery.test_slow @@ -116,6 +116,7 @@ NULL NULL # not supported yet: left outer join on JoinSide::BOTH statement error SELECT i, (SELECT SUM(s1.i) FROM integers s1 LEFT OUTER JOIN integers s2 ON (SELECT i1.i+s1.i)=(SELECT i1.i+s2.i)) AS j FROM integers i1 ORDER BY i; +---- # REQUIRE(CHECK_COLUMN(result, 0, {Value(), 1, 2, 3})); # REQUIRE(CHECK_COLUMN(result, 1, {6, 6, 6, 6})); @@ -323,7 +324,7 @@ NULL 0.000000 query R -SELECT (SELECT (SELECT COVAR_POP(i2.i, i3.i) FROM integers i3) FROM integers i2 LIMIT 1) FROM integers i1 ORDER BY 1 +SELECT (SELECT (SELECT COVAR_POP(i2.i, i3.i) FROM integers i3) FROM integers i2 ORDER BY i NULLS LAST LIMIT 1) FROM integers i1 ORDER BY 1 ---- 0.000000 0.000000 diff --git a/test/sql/subquery/scalar/test_scalar_subquery.test b/test/sql/subquery/scalar/test_scalar_subquery.test index ab83e751b954..62e8027db412 100644 --- a/test/sql/subquery/scalar/test_scalar_subquery.test +++ b/test/sql/subquery/scalar/test_scalar_subquery.test @@ -57,6 +57,7 @@ SELECT * FROM (SELECT 42, 41 AS x) v1(a); # too many aliases: fails statement error SELECT * FROM (SELECT 42, 41 AS x) v1(a, b, c); +---- statement ok CREATE TABLE test (a INTEGER, b INTEGER); diff --git a/test/sql/subquery/scalar/test_scalar_subquery_cte.test b/test/sql/subquery/scalar/test_scalar_subquery_cte.test index 4d20ceae923d..8e937b9967e7 100644 --- a/test/sql/subquery/scalar/test_scalar_subquery_cte.test +++ b/test/sql/subquery/scalar/test_scalar_subquery_cte.test @@ -57,6 +57,7 @@ SELECT * FROM (WITH cte AS (SELECT 42, 41 AS x) SELECT * FROM cte) v1(a); # too many aliases: fails statement error SELECT * FROM (WITH cte AS (SELECT 42, 41 AS x) SELECT * FROM cte) v1(a, b, c); +---- statement ok CREATE TABLE test (a INTEGER, b INTEGER); diff --git a/test/sql/subquery/scalar/test_uncorrelated_scalar_subquery.test b/test/sql/subquery/scalar/test_uncorrelated_scalar_subquery.test index 8181edd4d396..a91517774ea9 100644 --- a/test/sql/subquery/scalar/test_uncorrelated_scalar_subquery.test +++ b/test/sql/subquery/scalar/test_uncorrelated_scalar_subquery.test @@ -85,9 +85,11 @@ SELECT * FROM integers WHERE i=(SELECT i FROM integers WHERE i IS NOT NULL ORDER # returning multiple columns should fail though statement error SELECT * FROM integers WHERE i=(SELECT 1, 2) +---- statement error SELECT * FROM integers WHERE i=(SELECT i, i + 2 FROM integers) +---- # but not for EXISTS queries! query I @@ -115,6 +117,7 @@ SELECT (SELECT * FROM integers WHERE i=1) # but not if the star expands to more than one column! statement error SELECT (SELECT * FROM integers i1, integers i2) +---- # uncorrelated subquery in SELECT query I diff --git a/test/sql/subquery/scalar/test_varchar_correlated_subquery.test b/test/sql/subquery/scalar/test_varchar_correlated_subquery.test index a84d886b81bc..00712a9dabeb 100644 --- a/test/sql/subquery/scalar/test_varchar_correlated_subquery.test +++ b/test/sql/subquery/scalar/test_varchar_correlated_subquery.test @@ -23,9 +23,14 @@ SELECT NULL IN (SELECT * FROM strings WHERE v=s1.v) FROM strings s1 ORDER BY v NULL NULL -query T +statement error SELECT 3 IN (SELECT * FROM strings WHERE v=s1.v) FROM strings s1 ORDER BY v ---- +explicit cast is required + +query T +SELECT '3' IN (SELECT * FROM strings WHERE v=s1.v) FROM strings s1 ORDER BY v +---- 0 0 0 diff --git a/test/sql/subquery/test_offset.test b/test/sql/subquery/test_offset.test index 5d3e521838c7..cce82bb531c2 100644 --- a/test/sql/subquery/test_offset.test +++ b/test/sql/subquery/test_offset.test @@ -5,4 +5,4 @@ query I SELECT (SELECT c0 OFFSET 1) FROM (VALUES(1)) c0; ---- -NULL \ No newline at end of file +NULL diff --git a/test/sql/table_function/duckdb_constraints.test b/test/sql/table_function/duckdb_constraints.test index 94f3920f526a..e09d8f8a5df4 100644 --- a/test/sql/table_function/duckdb_constraints.test +++ b/test/sql/table_function/duckdb_constraints.test @@ -34,3 +34,28 @@ integers 2 NOT NULL i test 3 UNIQUE i test 4 CHECK i test 4 CHECK k + +query II +SELECT constraint_name, unique_constraint_name FROM information_schema.referential_constraints ORDER BY constraint_name +---- +j_integers_i_fkey integers_i_pkey +k_integers_i_fkey integers_i_pkey + +query IIII +SELECT column_name, constraint_name, table_name, position_in_unique_constraint FROM information_schema.key_column_usage ORDER BY constraint_name +---- +k fk_integers_2_k_fkey fk_integers_2 1 +j fk_integers_j_fkey fk_integers 1 +i integers_i_pkey integers NULL +i test_i_key test NULL + +query III +SELECT constraint_name, table_name, constraint_type FROM information_schema.table_constraints ORDER BY constraint_name; +---- +fk_integers_2_k_fkey fk_integers_2 FOREIGN KEY +fk_integers_j_fkey fk_integers FOREIGN KEY +integers_i_check integers CHECK +integers_i_not_null integers CHECK +integers_i_pkey integers PRIMARY KEY +test_check test CHECK +test_i_key test UNIQUE \ No newline at end of file diff --git a/test/sql/table_function/duckdb_functions.test b/test/sql/table_function/duckdb_functions.test index 85921ccfc17a..2ccd7e4f2654 100644 --- a/test/sql/table_function/duckdb_functions.test +++ b/test/sql/table_function/duckdb_functions.test @@ -30,3 +30,12 @@ select function_name from duckdb_functions() where not internal order by 1; ---- add_default1 add_default2 + +# table functions too +statement ok +create macro my_range(x) as table from range(x); + +query I +select macro_definition from duckdb_functions() where function_name = 'my_range'; +---- +SELECT * FROM range(x) diff --git a/test/sql/table_function/duckdb_optimizers.test b/test/sql/table_function/duckdb_optimizers.test new file mode 100644 index 000000000000..08f2c97f45aa --- /dev/null +++ b/test/sql/table_function/duckdb_optimizers.test @@ -0,0 +1,11 @@ +# name: test/sql/table_function/duckdb_optimizers.test +# description: Test duckdb_optimizers function +# group: [table_function] + +statement ok +SELECT * FROM duckdb_optimizers(); + +query I +SELECT name FROM duckdb_optimizers() WHERE name='join_order'; +---- +join_order diff --git a/test/sql/table_function/duckdb_views.test b/test/sql/table_function/duckdb_views.test index 52322bb6b44d..ef91cf4e94d2 100644 --- a/test/sql/table_function/duckdb_views.test +++ b/test/sql/table_function/duckdb_views.test @@ -33,4 +33,4 @@ SELECT database_name, schema_name, view_name, temporary FROM duckdb_views ORDER ---- memory main v1 False memory myschema v2 False -temp main v2 True \ No newline at end of file +temp main v2 True diff --git a/test/sql/table_function/files/four.blob b/test/sql/table_function/files/four.blob new file mode 100644 index 000000000000..b969881e786c Binary files /dev/null and b/test/sql/table_function/files/four.blob differ diff --git a/test/sql/table_function/files/one.txt b/test/sql/table_function/files/one.txt new file mode 100644 index 000000000000..c57eff55ebc0 --- /dev/null +++ b/test/sql/table_function/files/one.txt @@ -0,0 +1 @@ +Hello World! \ No newline at end of file diff --git a/test/sql/table_function/files/three.txt b/test/sql/table_function/files/three.txt new file mode 100644 index 000000000000..f70d7bba4ae1 --- /dev/null +++ b/test/sql/table_function/files/three.txt @@ -0,0 +1 @@ +42 \ No newline at end of file diff --git a/test/sql/table_function/files/two.txt b/test/sql/table_function/files/two.txt new file mode 100644 index 000000000000..1d652a89bb80 --- /dev/null +++ b/test/sql/table_function/files/two.txt @@ -0,0 +1 @@ +Föö Bär \ No newline at end of file diff --git a/test/sql/table_function/icu_range_timestamptz.test b/test/sql/table_function/icu_range_timestamptz.test index 70afcd278f4f..fb3bf363f468 100644 --- a/test/sql/table_function/icu_range_timestamptz.test +++ b/test/sql/table_function/icu_range_timestamptz.test @@ -117,28 +117,36 @@ SELECT COUNT(*) FROM generate_series(TIMESTAMPTZ '1992-01-01 00:00:00-08', TIMES # zero interval not supported statement error SELECT d FROM range(TIMESTAMPTZ '1992-01-01 00:00:00-08', TIMESTAMPTZ '1992-12-31 12:00:00-08', INTERVAL '0 MONTH') tbl(d) +---- # start is smaller than end but we have a negative interval statement error SELECT d FROM range(TIMESTAMPTZ '1992-01-01 00:00:00-08', TIMESTAMPTZ '1992-12-31 12:00:00-08', INTERVAL '1 MONTH ago') tbl(d) +---- # start is bigger than end but we have a positive interval statement error SELECT d FROM range(TIMESTAMPTZ '1993-01-01 00:00:00-08', TIMESTAMPTZ '1992-01-01 00:00:00-08', INTERVAL '1 MONTH') tbl(d) +---- # composite interval with negative types not supported statement error SELECT d FROM range(TIMESTAMPTZ '1992-01-01 00:00:00-08', TIMESTAMPTZ '1992-12-31 12:00:00-08', INTERVAL '1 MONTH' - INTERVAL '1 HOUR') tbl(d) +---- # Infinities will overflow or cause infinite loops (PG behaviour!) so we ban them statement error SELECT COUNT(*) FROM generate_series('294247-01-09'::TIMESTAMPTZ, 'infinity'::TIMESTAMPTZ, INTERVAL '1 DAY'); +---- statement error SELECT COUNT(*) FROM range('294247-01-09'::TIMESTAMPTZ, 'infinity'::TIMESTAMPTZ, INTERVAL '1 DAY'); +---- statement error SELECT COUNT(*) FROM generate_series('-infinity'::TIMESTAMPTZ, '290303-12-11 (BC) 00:00:00'::TIMESTAMPTZ, INTERVAL '1 DAY'); +---- statement error SELECT COUNT(*) FROM range('-infinity'::TIMESTAMPTZ, '290303-12-11 (BC) 00:00:00'::TIMESTAMPTZ, INTERVAL '1 DAY'); +---- diff --git a/test/sql/table_function/information_schema.test b/test/sql/table_function/information_schema.test index a2301a6484a7..910b896f20d6 100644 --- a/test/sql/table_function/information_schema.test +++ b/test/sql/table_function/information_schema.test @@ -90,3 +90,17 @@ query I SELECT COUNT(*) FROM information_schema.columns WHERE table_schema='scheme' ---- 0 + +query IIII +SELECT character_set_name, character_repertoire, form_of_use, default_collate_name FROM information_schema.character_sets +---- +UTF8 UCS UTF8 ucs_basic + +statement ok +SELECT * FROM information_schema.referential_constraints + +statement ok +SELECT * FROM information_schema.key_column_usage + +statement ok +SELECT * FROM information_schema.table_constraints \ No newline at end of file diff --git a/test/sql/table_function/range_timestamp.test b/test/sql/table_function/range_timestamp.test index d71366d84824..5bdcfb19bf04 100644 --- a/test/sql/table_function/range_timestamp.test +++ b/test/sql/table_function/range_timestamp.test @@ -16,6 +16,11 @@ SELECT d::DATE FROM range(DATE '1992-01-01', DATE '1992-10-01', INTERVAL (1) MON 1992-08-01 1992-09-01 +# range is exclusive +query I +SELECT * FROM range(date '1992-01-01', date '1992-01-01', interval '1' month); +---- + # generate_series is inclusive query I SELECT d::DATE FROM generate_series(DATE '1992-01-01', DATE '1992-10-01', INTERVAL (1) MONTH) tbl(d) @@ -48,6 +53,16 @@ SELECT d FROM range(TIMESTAMP '1992-01-01 00:00:00', TIMESTAMP '1992-01-01 12:00 1992-01-01 10:00:00 1992-01-01 11:00:00 +# range is exclusive +query I +SELECT * FROM range(timestamp '1992-01-01 00:00:00', timestamp '1992-01-01 00:00:00', interval '1' month); +---- + +query I +SELECT * FROM range(timestamp '1992-01-01 00:00:00', timestamp '1992-01-01 00:00:01', interval '1' month); +---- +1992-01-01 00:00:00 + # negative interval query I SELECT d FROM range(TIMESTAMP '1992-01-01 00:00:00', TIMESTAMP '1991-06-01 00:00:00', INTERVAL '1 MONTH ago') tbl(d) @@ -103,28 +118,36 @@ SELECT COUNT(*) FROM generate_series(TIMESTAMP '1992-01-01 00:00:00', TIMESTAMP # zero interval not supported statement error SELECT d FROM range(TIMESTAMP '1992-01-01 00:00:00', TIMESTAMP '1992-12-31 12:00:00', INTERVAL '0 MONTH') tbl(d) +---- # start is smaller than end but we have a negative interval statement error SELECT d FROM range(TIMESTAMP '1992-01-01 00:00:00', TIMESTAMP '1992-12-31 12:00:00', INTERVAL '1 MONTH ago') tbl(d) +---- # start is bigger than end but we have a positive interval statement error SELECT d FROM range(TIMESTAMP '1993-01-01 00:00:00', TIMESTAMP '1992-01-01 00:00:00', INTERVAL '1 MONTH') tbl(d) +---- # composite interval with negative types not supported statement error SELECT d FROM range(TIMESTAMP '1992-01-01 00:00:00', TIMESTAMP '1992-12-31 12:00:00', INTERVAL '1 MONTH' - INTERVAL '1 HOUR') tbl(d) +---- # Infinities will overflow or cause infinite loops (PG behaviour!) so we ban them statement error SELECT COUNT(*) FROM generate_series('294247-01-10'::TIMESTAMP, 'infinity'::TIMESTAMP, INTERVAL '1 DAY'); +---- statement error SELECT COUNT(*) FROM range('294247-01-10'::TIMESTAMP, 'infinity'::TIMESTAMP, INTERVAL '1 DAY'); +---- statement error SELECT COUNT(*) FROM generate_series('-infinity'::TIMESTAMP, '290309-12-22 (BC) 00:00:00'::TIMESTAMP, INTERVAL '1 DAY'); +---- statement error SELECT COUNT(*) FROM range('-infinity'::TIMESTAMP, '290309-12-22 (BC) 00:00:00'::TIMESTAMP, INTERVAL '1 DAY'); +---- diff --git a/test/sql/table_function/read_text_and_blob.test b/test/sql/table_function/read_text_and_blob.test new file mode 100644 index 000000000000..c761f823cfe2 --- /dev/null +++ b/test/sql/table_function/read_text_and_blob.test @@ -0,0 +1,53 @@ +# name: test/sql/table_function/read_text_and_blob.test +# description: Test read_files function +# group: [table_function] + +query I +SELECT COUNT(*) FROM read_text('test/sql/table_function/files/*.txt'); +---- +3 + +query I +SELECT COUNT(*) FROM read_blob('test/sql/table_function/files/*'); +---- +4 + +query IIII +SELECT * FROM read_text('test/sql/table_function/files/nonexistentfile.txt') ORDER BY ALL; +---- + +query I +SELECT parse_path(filename) FROM read_text('test/sql/table_function/files/nonexistentfile.txt') ORDER BY ALL; +---- + +query I +SELECT parse_path(filename) FROM read_text(['test/sql/table_function/files/one.txt', 'test/sql/table_function/files/two.txt']) ORDER BY ALL; +---- +[test, sql, table_function, files, one.txt] +[test, sql, table_function, files, two.txt] + +query III +SELECT parse_path(filename), size, content FROM read_blob('test/sql/table_function/files/four.blob'); +---- +[test, sql, table_function, files, four.blob] 178 PK\x03\x04\x0A\x00\x00\x00\x00\x00\xACi=X\x14t\xCE\xC7\x0A\x00\x00\x00\x0A\x00\x00\x00\x09\x00\x1C\x00four.blobUT\x09\x00\x03c\x96\xB7ee\x96\xB7eux\x0B\x00\x01\x04\xF5\x01\x00\x00\x04\x14\x00\x00\x00F\xC3\xB6\xC3\xB6 B\xC3\xA4rPK\x01\x02\x1E\x03\x0A\x00\x00\x00\x00\x00\xACi=X\x14t\xCE\xC7\x0A\x00\x00\x00\x0A\x00\x00\x00\x09\x00\x18\x00\x00\x00\x00\x00\x01\x00\x00\x00\xA4\x81\x00\x00\x00\x00four.blobUT\x05\x00\x03c\x96\xB7eux\x0B\x00\x01\x04\xF5\x01\x00\x00\x04\x14\x00\x00\x00PK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x00O\x00\x00\x00M\x00\x00\x00\x00\x00 + +statement error +SELECT parse_path(filename), size, content FROM read_text('test/sql/table_function/files/four.blob'); +---- +Invalid Input Error: read_text: could not read content of file 'test/sql/table_function/files/four.blob' as valid UTF-8 encoded text. You may want to use read_blob instead. + +query III +SELECT size, parse_path(filename), content FROM read_text('test/sql/table_function/files/*.txt') ORDER BY filename, size; +---- +12 [test, sql, table_function, files, one.txt] Hello World! +2 [test, sql, table_function, files, three.txt] 42 +10 [test, sql, table_function, files, two.txt] Föö Bär + +# Test that the last_modified timestamp is reasonably correct +query I +SELECT last_modified > '2024-01-01' AND last_modified < '2500-01-01' FROM read_blob('test/sql/table_function/files/*'); +---- +true +true +true +true \ No newline at end of file diff --git a/test/sql/table_function/sqlite_master.test b/test/sql/table_function/sqlite_master.test index 3c7321c11adc..0bd7d72c0990 100644 --- a/test/sql/table_function/sqlite_master.test +++ b/test/sql/table_function/sqlite_master.test @@ -60,4 +60,4 @@ CREATE VIEW v1 AS SELECT 42 query IIII SELECT "type", "name", "tbl_name", rootpage FROM sqlite_master WHERE name='v1'; ---- -view v1 v1 0 \ No newline at end of file +view v1 v1 0 diff --git a/test/sql/table_function/sqlite_master_connections.test b/test/sql/table_function/sqlite_master_connections.test index e465b2877914..ca0cbf7e643c 100644 --- a/test/sql/table_function/sqlite_master_connections.test +++ b/test/sql/table_function/sqlite_master_connections.test @@ -25,3 +25,4 @@ SELECT * FROM sqlite_master; statement error DROP VIEW sqlite_master +---- diff --git a/test/sql/table_function/test_range_function.test b/test/sql/table_function/test_range_function.test index 28628eafbf14..5f35b810f97b 100644 --- a/test/sql/table_function/test_range_function.test +++ b/test/sql/table_function/test_range_function.test @@ -72,12 +72,15 @@ SELECT * FROM range(0, -5, -1) statement error SELECT * FROM range(0, 10, 0) +---- statement error SELECT * FROM range(0, 10, -1) +---- statement error SELECT * FROM range(10, 0, 1) +---- # overloads # only one parameter defaults to start=0, interval=1 @@ -127,12 +130,15 @@ SELECT * FROM range(10) t1(j) WHERE j=3 statement error SELECT * FROM range('hello') +---- statement error SELECT * FROM range(10, 'hello') +---- statement error SELECT * FROM range(10, 10, 'hello') +---- # range with big numbers query I diff --git a/test/sql/table_function/test_table_function.test b/test/sql/table_function/test_table_function.test index d3863f1be575..d23f8ad01d00 100644 --- a/test/sql/table_function/test_table_function.test +++ b/test/sql/table_function/test_table_function.test @@ -25,6 +25,7 @@ j # project column that is not in function return statement error SELECT blablabla FROM pragma_table_info('integers'); +---- # join with table function statement ok diff --git a/test/sql/timezone/test_icu_calendar.test b/test/sql/timezone/test_icu_calendar.test index 4e3da6d1d203..678860af012a 100644 --- a/test/sql/timezone/test_icu_calendar.test +++ b/test/sql/timezone/test_icu_calendar.test @@ -42,6 +42,7 @@ Calendar gregorian The current calendar VARCHAR statement error SET Calendar = 'fnord'; +---- # # Japanese calendar testing @@ -100,7 +101,7 @@ statement ok SET CALENDAR='islamic-umalqura'; statement ok -SELECT strftime(TIMESTAMPTZ '-260722-3-4 0:3:52',TIMESTAMP '-285441-5-3 8:3:4'); +SELECT strftime(TIMESTAMPTZ '-260722-3-4 0:3:52',TIMESTAMP '-285441-5-3 8:3:4'::VARCHAR); # Issue #5235 statement ok @@ -115,8 +116,8 @@ SELECT TIMESTAMPTZ '-276069-9-30 0:0:00 America/Whitehorse'; statement ok PRAGMA CALENDAR='japanese'; -query I -SELECT strftime(TIMESTAMPTZ '-23831-1-15 2:5:17 America/La_Paz',TIMETZ '0:8:29 America/Cayman'); +# The TIMETZ cast is not valid (checked against PG) +statement error +SELECT strftime(TIMESTAMPTZ '-23831-1-15 2:5:17 America/La_Paz',TIMETZ '0:8:29 America/Cayman'::VARCHAR); ---- -00:08:29+00 - +time field value out of range diff --git a/test/sql/timezone/test_icu_timezone.test b/test/sql/timezone/test_icu_timezone.test index 6e32a026acff..605c418600af 100644 --- a/test/sql/timezone/test_icu_timezone.test +++ b/test/sql/timezone/test_icu_timezone.test @@ -9,6 +9,7 @@ SET Calendar = 'gregorian'; statement error SET TimeZone = 'Europe/Duck'; +---- statement ok SET TimeZone = 'America/Los_Angeles'; @@ -91,60 +92,71 @@ SELECT '2001-02-16 20:38:40-05'::TIMESTAMPTZ AT TIME ZONE NULL; ---- NULL +# Normalise to TZ, add interval, then set offset +query I +select '12:15:37.123456-08'::TIMETZ AT TIME ZONE 'America/New_York'; +---- +15:15:37.123456-05 + +query I +select timezone('America/New_York', '12:15:37.123456-08'::TIMETZ); +---- +15:15:37.123456-05 + # Table statement ok -CREATE TABLE attimezone (ts TIMESTAMP, tstz TIMESTAMPTZ, tz VARCHAR); +CREATE TABLE attimezone (ts TIMESTAMP, tstz TIMESTAMPTZ, ttz TIMETZ, tz VARCHAR); statement ok INSERT INTO attimezone (VALUES - ('2001-02-16 20:38:40', '2001-02-16 19:38:40-08', 'America/Denver'), - ('2001-02-16 18:38:40', '2001-02-16 20:38:40-05', 'America/Denver'), - ('infinity', 'infinity', 'America/Denver'), - ('-infinity', '-infinity', 'America/Denver'), - (NULL, NULL, 'America/Denver'), - ('2001-02-16 20:38:40', '2001-02-16 19:38:40-08', 'Europe/Duck'), - ('2001-02-16 18:38:40', '2001-02-16 20:38:40-05', 'Europe/Duck'), - ('infinity', 'infinity', 'Europe/Duck'), - ('-infinity', '-infinity', 'Europe/Duck'), - (NULL, NULL, 'Europe/Duck'), - ('2001-02-16 20:38:40', '2001-02-16 19:38:40-08', NULL), - ('2001-02-16 18:38:40', '2001-02-16 20:38:40-05', NULL), - ('infinity', 'infinity', NULL), - ('-infinity', '-infinity', NULL), + ('2001-02-16 20:38:40', '2001-02-16 19:38:40-08', '19:38:40-08', 'America/Denver'), + ('2001-02-16 18:38:40', '2001-02-16 20:38:40-05', '20:38:40-05', 'America/Denver'), + ('infinity', 'infinity', '19:38:40-08', 'America/Denver'), + ('-infinity', '-infinity', '20:38:40-05', 'America/Denver'), + (NULL, NULL, NULL, 'America/Denver'), + ('2001-02-16 20:38:40', '2001-02-16 19:38:40-08', '19:38:40+08', 'Europe/Duck'), + ('2001-02-16 18:38:40', '2001-02-16 20:38:40-05', '20:38:40+15:59', 'Europe/Duck'), + ('infinity', 'infinity', '12:15:37.123456-08', 'Europe/Duck'), + ('-infinity', '-infinity', '20:38:40-15:59', 'Europe/Duck'), + (NULL, NULL, NULL, 'Europe/Duck'), + ('2001-02-16 20:38:40', '2001-02-16 19:38:40-08', '19:38:40-08', NULL), + ('2001-02-16 18:38:40', '2001-02-16 20:38:40-05', '20:38:40-05', NULL), + ('infinity', 'infinity', '12:15:37.123456-08', NULL), + ('-infinity', '-infinity', '20:38:40-15:59', NULL), ); # By Row -query II -SELECT ts AT TIME ZONE tz, tstz AT TIME ZONE tz +query III +SELECT ts AT TIME ZONE tz, tstz AT TIME ZONE tz, ttz AT TIME ZONE tz FROM attimezone ---- -2001-02-16 19:38:40-08 2001-02-16 20:38:40 -2001-02-16 17:38:40-08 2001-02-16 18:38:40 -infinity infinity --infinity -infinity -NULL NULL -2001-02-16 12:38:40-08 2001-02-17 03:38:40 -2001-02-16 10:38:40-08 2001-02-17 01:38:40 -infinity infinity --infinity -infinity -NULL NULL -NULL NULL -NULL NULL -NULL NULL -NULL NULL +2001-02-16 19:38:40-08 2001-02-16 20:38:40 20:38:40-07 +2001-02-16 17:38:40-08 2001-02-16 18:38:40 18:38:40-07 +infinity infinity 20:38:40-07 +-infinity -infinity 18:38:40-07 +NULL NULL NULL +2001-02-16 12:38:40-08 2001-02-17 03:38:40 11:38:40+00 +2001-02-16 10:38:40-08 2001-02-17 01:38:40 04:39:40+00 +infinity infinity 20:15:37.123456+00 +-infinity -infinity 12:37:40+00 +NULL NULL NULL +NULL NULL NULL +NULL NULL NULL +NULL NULL NULL +NULL NULL NULL # Filtered -query II -SELECT ts AT TIME ZONE tz, tstz AT TIME ZONE tz +query III +SELECT ts AT TIME ZONE tz, tstz AT TIME ZONE tz, ttz AT TIME ZONE tz FROM attimezone WHERE ts > '2001-02-16 18:38:40'::TIMESTAMP ---- -2001-02-16 19:38:40-08 2001-02-16 20:38:40 -infinity infinity -2001-02-16 12:38:40-08 2001-02-17 03:38:40 -infinity infinity -NULL NULL -NULL NULL +2001-02-16 19:38:40-08 2001-02-16 20:38:40 20:38:40-07 +infinity infinity 20:38:40-07 +2001-02-16 12:38:40-08 2001-02-17 03:38:40 11:38:40+00 +infinity infinity 20:15:37.123456+00 +NULL NULL NULL +NULL NULL NULL # # Verify local time functions are implemented. @@ -878,3 +890,25 @@ query II SELECT '2022-10-30 03:00:00-07'::TIMESTAMPTZ, '2023-10-30 02:00:00-07'::TIMESTAMPTZ; ---- 2022-10-30 07:00:00-03 2023-10-30 07:00:00-02 + +# 2023d +# Ittoqqortoormiit, Greenland changes time zones on 2024-03-31 +# from -01/+00 to -02/-01 at the same moment as the spring-forward transition. +statement ok +SET TimeZone = 'America/Scoresbysund'; + +query II +SELECT '2024-03-31 00:59:00-01'::TIMESTAMPTZ, '2024-03-31 01:00:00-01'::TIMESTAMPTZ; +---- +2024-03-31 00:59:00-01 2024-03-31 01:00:00-01 + + +# 2024a +# Kazakhstan unifies on UTC+5 beginning 2024-03-01. +statement ok +SET TimeZone = 'Asia/Almaty'; + +query II +select '2024-02-29 00:00:00+06'::TIMESTAMPTZ, '2024-03-01 01:00:00+06'::TIMESTAMPTZ; +---- +2024-02-29 00:00:00+06 2024-03-01 00:00:00+05 diff --git a/test/sql/topn/test_top_n_nulls_large.test_slow b/test/sql/topn/test_top_n_nulls_large.test_slow index 6f087932c318..23dc7f3e4f14 100644 --- a/test/sql/topn/test_top_n_nulls_large.test_slow +++ b/test/sql/topn/test_top_n_nulls_large.test_slow @@ -144,4 +144,4 @@ DROP TABLE integers statement ok CREATE TABLE integers AS SELECT NULL i, i j FROM range(1000000) tbl(i) UNION ALL SELECT range i, range j FROM range(1000000) -endloop \ No newline at end of file +endloop diff --git a/test/sql/topn/test_top_n_nulls_medium.test_slow b/test/sql/topn/test_top_n_nulls_medium.test_slow index fc27d4c6701e..cd950133ed39 100644 --- a/test/sql/topn/test_top_n_nulls_medium.test_slow +++ b/test/sql/topn/test_top_n_nulls_medium.test_slow @@ -141,4 +141,4 @@ DROP TABLE integers statement ok CREATE TABLE integers AS SELECT NULL i, i j FROM range(100000) tbl(i) UNION ALL SELECT range i, range j FROM range(100000) -endloop \ No newline at end of file +endloop diff --git a/test/sql/topn/test_top_n_nulls_small.test b/test/sql/topn/test_top_n_nulls_small.test index 630abf32d624..f116adaabe7e 100644 --- a/test/sql/topn/test_top_n_nulls_small.test +++ b/test/sql/topn/test_top_n_nulls_small.test @@ -141,4 +141,4 @@ DROP TABLE integers statement ok CREATE TABLE integers AS SELECT NULL i, i j FROM range(1000) tbl(i) UNION ALL SELECT range i, range j FROM range(1000) -endloop \ No newline at end of file +endloop diff --git a/test/sql/topn/test_top_n_structs.test b/test/sql/topn/test_top_n_structs.test index 54dede164ffa..476828d43d6c 100644 --- a/test/sql/topn/test_top_n_structs.test +++ b/test/sql/topn/test_top_n_structs.test @@ -52,4 +52,4 @@ DROP TABLE tbl statement ok CREATE TABLE tbl AS SELECT NULL l FROM range(3) UNION ALL SELECT {'i': i} l FROM range(1000) tbl(i) -endloop \ No newline at end of file +endloop diff --git a/test/sql/tpcds/tpcds_options.test_slow b/test/sql/tpcds/tpcds_options.test_slow index fc0ad3f53290..acb22608020a 100644 --- a/test/sql/tpcds/tpcds_options.test_slow +++ b/test/sql/tpcds/tpcds_options.test_slow @@ -10,6 +10,7 @@ CALL dsdgen(sf=0) # tables already exist statement error CALL dsdgen(sf=0) +---- # overwrite should work statement ok @@ -39,3 +40,12 @@ CALL dsdgen(sf=0.01, catalog='db1'); statement ok SELECT COUNT(*) FROM db1.call_center + +statement ok +CREATE SCHEMA db1.test_schema + +statement ok +CALL dsdgen(sf=0.01, catalog='db1', schema='test_schema'); + +statement ok +SELECT COUNT(*) FROM db1.test_schema.call_center diff --git a/test/sql/tpcds/tpcds_sf0.test b/test/sql/tpcds/tpcds_sf0.test index 06b08350cd67..99264975a793 100644 --- a/test/sql/tpcds/tpcds_sf0.test +++ b/test/sql/tpcds/tpcds_sf0.test @@ -17,15 +17,19 @@ endloop # out of range statement error PRAGMA tpcds(-1) +---- statement error PRAGMA tpcds(3290819023812038903) +---- statement error PRAGMA tpcds(32908301298) +---- statement error PRAGMA tpcds(1.1) +---- # queries statement ok diff --git a/test/sql/tpch/gzip_csv_auto_detect.test_slow b/test/sql/tpch/gzip_csv_auto_detect.test_slow index 4998ecc1b13e..f3afcdfaf6ed 100644 --- a/test/sql/tpch/gzip_csv_auto_detect.test_slow +++ b/test/sql/tpch/gzip_csv_auto_detect.test_slow @@ -15,7 +15,7 @@ load __TEST_DIR__/store_tpch_auto_detect.db # now read the gzip compressed file with sample_size=-1 statement ok -SET memory_limit='500MB'; +SET memory_limit='750MB'; statement ok CREATE OR REPLACE TABLE lineitem AS (SELECT * FROM read_csv_auto(['__TEST_DIR__/lineitem.csv.gz'], sample_size=-1)); diff --git a/test/sql/tpch/test_tpch_options.test_slow b/test/sql/tpch/test_tpch_options.test_slow index 1ec588d01061..a84a46a203fa 100644 --- a/test/sql/tpch/test_tpch_options.test_slow +++ b/test/sql/tpch/test_tpch_options.test_slow @@ -151,3 +151,23 @@ select count (*) from (SELECT * FROM db1.${tpch_tbl} EXCEPT SELECT * FROM ${tpch 0 endloop + +statement ok +CREATE SCHEMA db1.test_schema + +statement ok +CALL dbgen(sf=1, catalog='db1', schema='test_schema'); + +foreach tpch_tbl orders customer lineitem nation part partsupp region supplier + +query I +select count(*) from (SELECT * FROM ${tpch_tbl} EXCEPT SELECT * FROM db1.test_schema.${tpch_tbl}); +---- +0 + +query I +select count (*) from (SELECT * FROM db1.test_schema.${tpch_tbl} EXCEPT SELECT * FROM ${tpch_tbl}); +---- +0 + +endloop diff --git a/test/sql/tpch/tpch_sf0.test b/test/sql/tpch/tpch_sf0.test index fb4d30eb0ad4..ba4ba1711251 100644 --- a/test/sql/tpch/tpch_sf0.test +++ b/test/sql/tpch/tpch_sf0.test @@ -17,12 +17,16 @@ endloop # out of range statement error PRAGMA tpch(-1) +---- statement error PRAGMA tpch(3290819023812038903) +---- statement error PRAGMA tpch(32908301298) +---- statement error PRAGMA tpch(1.1) +---- diff --git a/test/sql/transactions/test_basic_transactions.test b/test/sql/transactions/test_basic_transactions.test index ae9b17e9eed3..6ca7d6d5051e 100644 --- a/test/sql/transactions/test_basic_transactions.test +++ b/test/sql/transactions/test_basic_transactions.test @@ -21,6 +21,7 @@ SELECT * FROM integers # connection two should not be able to statement error con2 SELECT * FROM integers +---- # if we rollback, nobody should be able to query the table statement ok con1 @@ -28,9 +29,11 @@ ROLLBACK statement error con1 SELECT * FROM integers +---- statement error con2 SELECT * FROM integers +---- # now if we commit the table statement ok con1 @@ -46,6 +49,7 @@ COMMIT # transaction committed statement error con2 SELECT * FROM integers +---- # but if we rollback and start a new transaction it should see it statement ok con2 @@ -70,4 +74,5 @@ CREATE TABLE integers2(i INTEGER) # create a table on connection two with the same name statement error con1 CREATE TABLE integers2(i INTEGER) +---- diff --git a/test/sql/transactions/test_from_update_conflict.test b/test/sql/transactions/test_from_update_conflict.test index 4510ce6192df..7c40825b6c4e 100644 --- a/test/sql/transactions/test_from_update_conflict.test +++ b/test/sql/transactions/test_from_update_conflict.test @@ -42,3 +42,4 @@ BEGIN TRANSACTION statement error con2 UPDATE src SET b = 20000 FROM test WHERE src.b = test.a; +---- diff --git a/test/sql/transactions/test_index_abort.test b/test/sql/transactions/test_index_abort.test index 73230f7b6bee..bea26e56fc6f 100644 --- a/test/sql/transactions/test_index_abort.test +++ b/test/sql/transactions/test_index_abort.test @@ -37,6 +37,7 @@ COMMIT statement error con2 COMMIT +---- # verify that the data is (1, 1), (...), (4, 4) query II con1 @@ -50,4 +51,5 @@ SELECT * FROM integers ORDER BY i # table test should not exist statement error con1 SELECT * FROM test +---- diff --git a/test/sql/transactions/test_index_huge_aborted_append.test b/test/sql/transactions/test_index_huge_aborted_append.test index c9762e8d9907..ef33e418d14f 100644 --- a/test/sql/transactions/test_index_huge_aborted_append.test +++ b/test/sql/transactions/test_index_huge_aborted_append.test @@ -22,6 +22,7 @@ INSERT INTO integers SELECT i FROM range(2, 131068, 1) t1(i) # inserting the value "1" here fails statement error INSERT INTO integers VALUES (1) +---- # now we need to rollback statement ok diff --git a/test/sql/transactions/test_index_large_aborted_append.test b/test/sql/transactions/test_index_large_aborted_append.test index 7a1faa5ddba8..e75fb8866768 100644 --- a/test/sql/transactions/test_index_large_aborted_append.test +++ b/test/sql/transactions/test_index_large_aborted_append.test @@ -35,6 +35,7 @@ COMMIT; # con2 fails to commit because of the conflict statement error con2 COMMIT; +---- query I con1 SELECT COUNT(*)=${i} FROM integers diff --git a/test/sql/transactions/test_index_local_update.test b/test/sql/transactions/test_index_local_update.test index 5a11e260d796..8e35a931a901 100644 --- a/test/sql/transactions/test_index_local_update.test +++ b/test/sql/transactions/test_index_local_update.test @@ -14,6 +14,7 @@ BEGIN TRANSACTION statement error INSERT INTO integers VALUES (3) +---- statement ok ROLLBACK @@ -35,6 +36,7 @@ SELECT * FROM integers ORDER BY i statement error UPDATE integers SET i=3 WHERE i=4 +---- statement ok ROLLBACK diff --git a/test/sql/transactions/test_index_pending_update.test b/test/sql/transactions/test_index_pending_update.test index 431cae4b7bdf..ceb8fdb13577 100644 --- a/test/sql/transactions/test_index_pending_update.test +++ b/test/sql/transactions/test_index_pending_update.test @@ -19,6 +19,7 @@ UPDATE integers SET i=4 WHERE i=1 # failed to create an index: pending updates statement error con1 CREATE INDEX i_index ON integers using art(i) +---- # now we commit statement ok con2 diff --git a/test/sql/transactions/test_index_transaction_local.test b/test/sql/transactions/test_index_transaction_local.test index b59fa6f50f3f..5e942f25b692 100644 --- a/test/sql/transactions/test_index_transaction_local.test +++ b/test/sql/transactions/test_index_transaction_local.test @@ -12,6 +12,7 @@ INSERT INTO integers VALUES (1), (2), (3) # inserting a duplicate value fails statement error con1 INSERT INTO integers VALUES (1) +---- # inserting a non-duplicate value works statement ok con1 @@ -20,6 +21,7 @@ INSERT INTO integers VALUES (4) # updating a primary key to an existing value fails statement error con1 UPDATE integers SET i=1 WHERE i=4 +---- # but updating to a non-existing value works statement ok con1 @@ -98,6 +100,7 @@ COMMIT # but then con2 fails to commit statement error con2 COMMIT +---- # Issue #2241: Delete and reinsert fails on unique/indexed column statement ok diff --git a/test/sql/transactions/test_interleaved_versions.test b/test/sql/transactions/test_interleaved_versions.test index 5ef213e3a73c..d9c5570a6c6a 100644 --- a/test/sql/transactions/test_interleaved_versions.test +++ b/test/sql/transactions/test_interleaved_versions.test @@ -141,4 +141,4 @@ NULL query I con3 SELECT SUM(i) FROM integers ---- -NULL \ No newline at end of file +NULL diff --git a/test/sql/transactions/test_transaction_abort.test b/test/sql/transactions/test_transaction_abort.test index d9afdfee98aa..5639f9a8c382 100644 --- a/test/sql/transactions/test_transaction_abort.test +++ b/test/sql/transactions/test_transaction_abort.test @@ -19,6 +19,7 @@ BEGIN TRANSACTION # parser errors do not invalidate the current transaction statement error SELEC 42 +---- query I SELECT 42 @@ -28,6 +29,7 @@ SELECT 42 # neither do binder errors statement error SELECT * FROM nonexistanttable +---- query I SELECT 42 @@ -37,9 +39,11 @@ SELECT 42 # however primary key conflicts do invalidate it statement error UPDATE integers SET i=2 +---- statement error SELECT 42 +---- # now we need to rollback statement ok diff --git a/test/sql/transactions/test_transaction_functionality.test b/test/sql/transactions/test_transaction_functionality.test index d06ee2d16a72..1decff8caca5 100644 --- a/test/sql/transactions/test_transaction_functionality.test +++ b/test/sql/transactions/test_transaction_functionality.test @@ -8,9 +8,11 @@ PRAGMA enable_verification # cannot commit or rollback in auto commit mode statement error COMMIT +---- statement error ROLLBACK +---- # we can start a transaction statement ok @@ -19,6 +21,7 @@ START TRANSACTION # but we cannot start a transaction within a transaction! statement error START TRANSACTION +---- # now we can rollback statement ok diff --git a/test/sql/transactions/test_transaction_local_unique.test b/test/sql/transactions/test_transaction_local_unique.test index a07157b0ad6f..96e9dcd6a3c7 100644 --- a/test/sql/transactions/test_transaction_local_unique.test +++ b/test/sql/transactions/test_transaction_local_unique.test @@ -17,6 +17,7 @@ BEGIN TRANSACTION statement error INSERT INTO integers VALUES (1, 2) +---- statement ok ROLLBACK diff --git a/test/sql/transactions/test_transaction_local_unique_ops.test b/test/sql/transactions/test_transaction_local_unique_ops.test index fa1829472e18..ac9e73035b8e 100644 --- a/test/sql/transactions/test_transaction_local_unique_ops.test +++ b/test/sql/transactions/test_transaction_local_unique_ops.test @@ -24,6 +24,7 @@ SELECT * FROM integers ORDER BY 1 # appending the same value again fails statement error INSERT INTO integers VALUES (1, 2) +---- statement ok ROLLBACK @@ -46,6 +47,7 @@ SELECT * FROM integers ORDER BY 1 # updating also fails if there is a conflict statement error UPDATE integers SET i=1 WHERE i=2 +---- statement ok ROLLBACK diff --git a/test/sql/transactions/test_transactional_sequences.test b/test/sql/transactions/test_transactional_sequences.test index 6881f452ecc5..2777abf3f036 100644 --- a/test/sql/transactions/test_transactional_sequences.test +++ b/test/sql/transactions/test_transactional_sequences.test @@ -25,6 +25,7 @@ SELECT nextval('seq'); # node two can't see it statement error con2 SELECT nextval('seq'); +---- # we commit the sequence statement ok con1 @@ -33,6 +34,7 @@ COMMIT # node two still can't see it statement error con2 SELECT nextval('seq'); +---- # now commit node two statement ok con2 @@ -54,6 +56,7 @@ DROP SEQUENCE seq; # node one can't use it anymore statement error con1 SELECT nextval('seq'); +---- # node two can still use it query I con2 @@ -78,7 +81,9 @@ DROP SEQUENCE seq; # we can't use it anymore statement error con1 SELECT nextval('seq'); +---- statement error con2 SELECT nextval('seq'); +---- diff --git a/test/sql/transactions/transaction_errors.test b/test/sql/transactions/transaction_errors.test index e7857361ced6..74db90be2a42 100644 --- a/test/sql/transactions/transaction_errors.test +++ b/test/sql/transactions/transaction_errors.test @@ -5,10 +5,12 @@ # nothing to rollback statement error ROLLBACK; +---- # nothing to commit statement error COMMIT; +---- statement ok BEGIN; @@ -16,6 +18,7 @@ BEGIN; # cannot start a transaction in a transaction statement error BEGIN; +---- statement ok ROLLBACK; diff --git a/test/sql/transactions/types/test_hugeint_transactions.test b/test/sql/transactions/types/test_hugeint_transactions.test index 9a55bc7e875d..fa38abc51dfb 100644 --- a/test/sql/transactions/types/test_hugeint_transactions.test +++ b/test/sql/transactions/types/test_hugeint_transactions.test @@ -87,4 +87,4 @@ SELECT COUNT(DISTINCT h) FROM hugeints query I con2 SELECT COUNT(DISTINCT h) FROM hugeints ---- -2 \ No newline at end of file +2 diff --git a/test/sql/transactions/types/test_uhugeint_transactions.test b/test/sql/transactions/types/test_uhugeint_transactions.test new file mode 100644 index 000000000000..f79bcfaebc09 --- /dev/null +++ b/test/sql/transactions/types/test_uhugeint_transactions.test @@ -0,0 +1,90 @@ +# name: test/sql/transactions/types/test_uhugeint_transactions.test +# description: Test transaction ops with uhugeints +# group: [types] + +statement ok +PRAGMA enable_verification + +# create table +statement ok con1 +CREATE TABLE uhugeints (h UHUGEINT); + +statement ok con1 +INSERT INTO uhugeints VALUES (100::UHUGEINT), (1023819078293589341789412412), (42); + +# update +statement ok con1 +BEGIN TRANSACTION; + +statement ok con1 +UPDATE uhugeints SET h=100 WHERE h=42; + +# now we only have two distinct values in con +query T con1 +SELECT * FROM uhugeints ORDER BY 1 +---- +100 +100 +1023819078293589341789412412 + +query I con1 +SELECT COUNT(DISTINCT h) FROM uhugeints +---- +2 + +# in con2 we still have 3 +query T con2 +SELECT * FROM uhugeints ORDER BY 1 +---- +42 +100 +1023819078293589341789412412 + +query I con2 +SELECT COUNT(DISTINCT h) FROM uhugeints +---- +3 + +# rollback +statement ok con1 +ROLLBACK + +# after the rollback we are back to 3 +query I con1 +SELECT COUNT(DISTINCT h) FROM uhugeints +---- +3 + +# now commit it +statement ok con1 +UPDATE uhugeints SET h=100 WHERE h=42; + +query TI con1 +SELECT h, COUNT(*) FROM uhugeints GROUP BY h ORDER BY 2 DESC +---- +100 2 +1023819078293589341789412412 1 + +query I con1 +SELECT COUNT(DISTINCT h) FROM uhugeints +---- +2 + +query I con2 +SELECT COUNT(DISTINCT h) FROM uhugeints +---- +2 + +# increment 100 by 1 +statement ok +UPDATE uhugeints SET h=h+1 WHERE h=100; + +query I con1 +SELECT COUNT(DISTINCT h) FROM uhugeints +---- +2 + +query I con2 +SELECT COUNT(DISTINCT h) FROM uhugeints +---- +2 \ No newline at end of file diff --git a/test/sql/types/alias/nested_alias.test b/test/sql/types/alias/nested_alias.test new file mode 100644 index 000000000000..2bc414b48b4f --- /dev/null +++ b/test/sql/types/alias/nested_alias.test @@ -0,0 +1,14 @@ +# name: test/sql/types/alias/nested_alias.test +# description: Verify that nested aliases work correctly +# group: [alias] + +statement ok +CREATE TYPE my_int AS INT + +statement ok +CREATE TYPE my_int_list AS my_int[] + +query I +SELECT [42]::my_int_list +---- +[42] diff --git a/test/sql/types/alias/recursive_alias.test b/test/sql/types/alias/recursive_alias.test new file mode 100644 index 000000000000..e0a0a59578af --- /dev/null +++ b/test/sql/types/alias/recursive_alias.test @@ -0,0 +1,19 @@ +# name: test/sql/types/alias/recursive_alias.test +# description: Issue #10141 - DuckDB SIGSEGV when setting up ill-formed custom type +# group: [alias] + +# recursive type definitions are not allowed +statement error +CREATE TYPE t4 AS UNION ( v0 SETOF t4 ); +---- +Type with name t4 does not exist + +statement error +CREATE TYPE t4 AS t4[] +---- +Type with name t4 does not exist + +statement error +CREATE TYPE t4 AS STRUCT(a t4) +---- +Type with name t4 does not exist diff --git a/test/sql/types/alias/test_alias.test b/test/sql/types/alias/test_alias.test index fb45a178368f..7722a40f309d 100644 --- a/test/sql/types/alias/test_alias.test +++ b/test/sql/types/alias/test_alias.test @@ -11,6 +11,7 @@ CREATE TYPE alias AS VARCHAR; #Enums with the same name shouldn't work statement error CREATE TYPE alias AS INTEGER; +---- # Delete ALIASs statement ok @@ -19,6 +20,7 @@ DROP TYPE alias; #This won't work because alias was already deleted statement error DROP TYPE alias; +---- # We can create alias again statement ok @@ -42,3 +44,4 @@ DROP TYPE IF EXISTS alias; # create a type with a non-existant type as source statement error CREATE TYPE alias as BLOBL; +---- diff --git a/test/sql/types/alias/test_alias_map.test b/test/sql/types/alias/test_alias_map.test index d73765297bc7..c70f988d62e8 100644 --- a/test/sql/types/alias/test_alias_map.test +++ b/test/sql/types/alias/test_alias_map.test @@ -21,4 +21,4 @@ query I SELECT * FROM a; ---- {1=2} -{1=4, 2=5, 3=6} \ No newline at end of file +{1=4, 2=5, 3=6} diff --git a/test/sql/types/alias/test_alias_struct.test b/test/sql/types/alias/test_alias_struct.test index d0a782aa21dd..a79c6da357dc 100644 --- a/test/sql/types/alias/test_alias_struct.test +++ b/test/sql/types/alias/test_alias_struct.test @@ -62,16 +62,21 @@ NULL # incorrect number of struct entries statement error INSERT INTO a VALUES (ROW(1, 2, 3)) +---- statement error INSERT INTO a VALUES (ROW(1)) +---- # incorrect types statement error INSERT INTO a VALUES (ROW('hello', 1)) +---- statement error INSERT INTO a VALUES (ROW('hello', [1, 2])) +---- statement error INSERT INTO a VALUES (ROW(1, ROW(1, 7))) +---- diff --git a/test/sql/types/alias/test_alias_table.test b/test/sql/types/alias/test_alias_table.test index 96f773364ee4..6a33a3451459 100644 --- a/test/sql/types/alias/test_alias_table.test +++ b/test/sql/types/alias/test_alias_table.test @@ -14,6 +14,7 @@ CREATE TABLE person ( name text, current_car car ); +---- statement ok CREATE TABLE person ( @@ -89,6 +90,7 @@ CREATE TABLE aliens ( name text, current_alias alias ); +---- statement ok CREATE TYPE alias AS VARCHAR; diff --git a/test/sql/types/bit/test_bit.test b/test/sql/types/bit/test_bit.test index a64bb9be9796..311c0251b5ac 100644 --- a/test/sql/types/bit/test_bit.test +++ b/test/sql/types/bit/test_bit.test @@ -124,6 +124,7 @@ INSERT INTO bits VALUES (NULL) statement error INSERT INTO bits VALUES ('') +---- query I SELECT * FROM bits diff --git a/test/sql/types/bit/test_bit_bitwise_operations.test b/test/sql/types/bit/test_bit_bitwise_operations.test index 540bc233b550..b97a5c0c3a1a 100644 --- a/test/sql/types/bit/test_bit_bitwise_operations.test +++ b/test/sql/types/bit/test_bit_bitwise_operations.test @@ -157,4 +157,4 @@ SELECT b >> 5 FROM bits ---- 000001011110 000001100011 -000001010010 \ No newline at end of file +000001010010 diff --git a/test/sql/types/bit/test_bit_functions.test b/test/sql/types/bit/test_bit_functions.test index 396ec42c7177..12a3ba9c02ab 100644 --- a/test/sql/types/bit/test_bit_functions.test +++ b/test/sql/types/bit/test_bit_functions.test @@ -174,4 +174,4 @@ SELECT bit_position('010'::BIT, '11110011011011101011'::BIT) query I SELECT bit_position('010'::BIT, '1101110101011101'::BIT) ---- -7 \ No newline at end of file +7 diff --git a/test/sql/types/blob/test_blob.test b/test/sql/types/blob/test_blob.test index 3992a2814c93..be9fb88fd5ed 100644 --- a/test/sql/types/blob/test_blob.test +++ b/test/sql/types/blob/test_blob.test @@ -50,20 +50,25 @@ SELECT * FROM blobs # Insert invalid hex strings (invalid hex chars: G, H, I) statement error INSERT INTO blobs VALUES('\xGA\xFF\xAA') +---- # Insert invalid hex strings (odd # of chars) statement error INSERT INTO blobs VALUES('\xA') +---- statement error INSERT INTO blobs VALUES('\xAA\xA') +---- statement error INSERT INTO blobs VALUES('blablabla\x') +---- # BLOB with “non-printable” octets statement error SELECT 'abc �'::BYTEA; +---- # BLOB null and empty values query T @@ -96,6 +101,7 @@ NULL # convert non-ascii string to blob using cat statement error select 'ü'::blob; +---- # Test PR 6633 query I diff --git a/test/sql/types/blob/test_blob_cast.test b/test/sql/types/blob/test_blob_cast.test index 74e753f6b621..0b8652f2bc90 100644 --- a/test/sql/types/blob/test_blob_cast.test +++ b/test/sql/types/blob/test_blob_cast.test @@ -49,23 +49,30 @@ SELECT '\x20\x00\xFF'::VARCHAR::BLOB::VARCHAR::BLOB statement error SELECT 1::BYTEA +---- statement error SELECT 1.0::BYTEA +---- # numeric -> bytea, not valid/implemented casts statement error SELECT 1::tinyint::BYTEA +---- statement error SELECT 1::smallint::BYTEA +---- statement error SELECT 1::integer::BYTEA +---- statement error SELECT 1::bigint::BYTEA +---- statement error SELECT 1::decimal::BYTEA +---- diff --git a/test/sql/types/blob/test_blob_function.test b/test/sql/types/blob/test_blob_function.test index 2bf8c8ef403c..126b80cf0861 100644 --- a/test/sql/types/blob/test_blob_function.test +++ b/test/sql/types/blob/test_blob_function.test @@ -55,8 +55,10 @@ SELECT b || '\x5A\x5A'::BYTEA FROM blobs \xFFZZ # BLOB || VARCHAR is not allowed, should fail -statement error +query I SELECT b || '5A5A'::VARCHAR FROM blobs +---- +\xFF5A5A # Octet Length tests statement ok diff --git a/test/sql/types/blob/test_blob_invalid_utf8.test b/test/sql/types/blob/test_blob_invalid_utf8.test index 739728cf655d..623876eeb475 100644 --- a/test/sql/types/blob/test_blob_invalid_utf8.test +++ b/test/sql/types/blob/test_blob_invalid_utf8.test @@ -9,4 +9,4 @@ statement ok INSERT INTO b VALUES (NULL); statement ok -UPDATE b SET b=blob'\x80abcdefghjijklmnopqrstuvwxyz'; \ No newline at end of file +UPDATE b SET b=blob'\x80abcdefghjijklmnopqrstuvwxyz'; diff --git a/test/sql/types/blob/test_blob_try_cast.test b/test/sql/types/blob/test_blob_try_cast.test index 80beb8b0f999..ac4a1d8c3a8e 100644 --- a/test/sql/types/blob/test_blob_try_cast.test +++ b/test/sql/types/blob/test_blob_try_cast.test @@ -42,21 +42,27 @@ SELECT TRY_CAST('\x12' AS BLOB) statement error SELECT '\\'::BLOB +---- statement error SELECT '\\x3'::BLOB +---- statement error SELECT '\\b12'::BLOB +---- statement error SELECT '\\xx2'::BLOB +---- statement error SELECT '\\x2x'::BLOB +---- statement error SELECT 'ü'::BLOB +---- query I SELECT CAST('\x12' AS BLOB) diff --git a/test/sql/types/date/date_limits.test b/test/sql/types/date/date_limits.test index a556d7d0b234..79eb825630ab 100644 --- a/test/sql/types/date/date_limits.test +++ b/test/sql/types/date/date_limits.test @@ -23,12 +23,15 @@ select '5877642-06-25 (BC)'::date statement error select '5877642-06-24 (BC)'::date +---- statement error select '5877680-06-23 (BC)'::date +---- statement error select '99999999-06-23 (BC)'::date +---- # min date for timestamp micros is -290307 query I @@ -38,9 +41,11 @@ select '290308-01-01 (BC)'::date::timestamp statement error select '290309-01-01 (BC)'::date::timestamp +---- statement error select '5877642-06-23 (BC)'::date::timestamp +---- # date arithmetic query I @@ -50,53 +55,66 @@ select '5877642-06-25 (BC)'::date + 1 statement error select '5877642-06-24 (BC)'::date - 1 +---- statement error select '5877642-06-24 (BC)'::date - 365 +---- statement error select '5877642-06-24 (BC)'::date - 2147483647 +---- # interval arithmetic query I -select '5877642-06-25 (BC)'::date + interval (1) day +select '290309-12-22 (BC)'::date + interval (1) day ---- -5877642-06-26 (BC) +290309-12-23 (BC) 00:00:00 statement error -select '5877642-06-25 (BC)'::date - interval (1) day +select '290309-12-22 (BC)'::date - interval (1) day +---- statement error -select '5877642-06-25 (BC)'::date - interval (365) day +select '290309-12-22 (BC)'::date - interval (365) day +---- statement error -select '5877642-06-25 (BC)'::date - interval (2147483647) day +select '290309-12-22 (BC)'::date - interval (2147483647) day +---- statement error -select '5877642-06-25 (BC)'::date - interval (9999999999999) second +select '290309-12-22 (BC)'::date - interval (9999999999999) second +---- statement error -select '5877642-06-25 (BC)'::date - interval (9223372036854775807) microsecond +select '290309-12-22 (BC)'::date - interval (9223372036854775807) microsecond +---- statement error -select '5877642-06-25 (BC)'::date - interval '1147483647 days 9223372036854775807 microseconds' +select '290309-12-22 (BC)'::date - interval '1147483647 days 9223372036854775807 microseconds' +---- statement error -select '5877642-06-25 (BC)'::date - interval '2147483647 days 9223372036854775807 microseconds' +select '290309-12-22 (BC)'::date - interval '2147483647 days 9223372036854775807 microseconds' +---- statement error -select '5877642-06-25 (BC)'::date - interval '2007483647 days 9223372036854775807 microseconds' +select '290309-12-22 (BC)'::date - interval '2007483647 days 9223372036854775807 microseconds' +---- query I -select '5877642-06-25 (BC)'::date + interval (1) month +select '290309-12-22 (BC)'::date + interval (1) month ---- -5877642-07-25 (BC) +290308-01-22 (BC) 00:00:00 statement error select '5877642-06-23 (BC)'::date - interval (1) month +---- statement error select '5877642-06-23 (BC)'::date - interval (2147483647) month +---- # max date: 5881580-07-10 query I @@ -106,21 +124,25 @@ select '5881580-07-10'::date statement error select '5881580-07-11'::date +---- statement error select '5881580-08-11'::date +---- statement error select '99999999-01-01'::date +---- # max date for timestamp micros is 294246 query I -select '294246-12-31'::date::timestamp +select '294247-01-10'::date::timestamp ---- -294246-12-31 00:00:00 +294247-01-10 00:00:00 statement error -select '294247-12-31'::date::timestamp +select '294247-01-11'::date::timestamp +---- # arithmetic query I @@ -130,53 +152,66 @@ select '5881580-07-10'::date - 1 statement error select '5881580-07-10'::date + 1 +---- statement error select '5881580-07-10'::date + 365 +---- statement error select '5881580-07-10'::date + 2147483647 +---- statement error SELECT '5877642-06-25 (BC)'::DATE - 1; +---- # interval arithmetic query I -select '5881580-07-10'::date - interval (1) day +select '294247-01-10'::date - interval (1) day ---- -5881580-07-09 +294247-01-09 00:00:00 statement error -select '5881580-07-10'::date + interval (1) day +select '294247-01-10'::date + interval (1) day +---- statement error -select '5881580-07-10'::date + interval (365) day +select '294247-01-10'::date + interval (365) day +---- statement error -select '5881580-07-10'::date + interval (2147483647) day +select '294247-01-10'::date + interval (2147483647) day +---- statement error -select '5881580-07-10'::date + interval (9999999999999) second +select '294247-01-10'::date + interval (9999999999999) second +---- statement error -select '5881580-07-10'::date + interval (9223372036854775807) microsecond +select '294247-01-10'::date + interval (9223372036854775807) microsecond +---- statement error -select '5881580-07-10'::date + interval '1147483647 days 9223372036854775807 microseconds' +select '294247-01-10'::date + interval '1147483647 days 9223372036854775807 microseconds' +---- statement error -select '5881580-07-10'::date + interval '2147483647 days 9223372036854775807 microseconds' +select '294247-01-10'::date + interval '2147483647 days 9223372036854775807 microseconds' +---- statement error -select '5881580-07-10'::date + interval '2007483647 days 9223372036854775807 microseconds' +select '294247-01-10'::date + interval '2007483647 days 9223372036854775807 microseconds' +---- statement error -select '5881580-07-10'::date + interval (1) month +select '294247-01-10'::date + interval (1) month +---- query I -select '5881580-07-10'::date - interval (1) month +select '294247-01-10'::date - interval (1) month ---- -5881580-06-10 +294246-12-10 00:00:00 query I select '5881580-07-10'::date - '5877642-06-25 (BC)'::date diff --git a/test/sql/types/date/date_parsing.test b/test/sql/types/date/date_parsing.test index d8f8fdae681f..5650ca165796 100644 --- a/test/sql/types/date/date_parsing.test +++ b/test/sql/types/date/date_parsing.test @@ -101,72 +101,84 @@ SELECT '1993-01-31'::DATE::VARCHAR statement error SELECT '1993-01-32'::DATE::VARCHAR +---- statement ok SELECT '1993-02-28'::DATE::VARCHAR statement error SELECT '1993-02-29'::DATE::VARCHAR +---- statement ok SELECT '1993-03-31'::DATE::VARCHAR statement error SELECT '1993-03-32'::DATE::VARCHAR +---- statement ok SELECT '1993-04-30'::DATE::VARCHAR statement error SELECT '1993-04-31'::DATE::VARCHAR +---- statement ok SELECT '1993-05-31'::DATE::VARCHAR statement error SELECT '1993-05-32'::DATE::VARCHAR +---- statement ok SELECT '1993-06-30'::DATE::VARCHAR statement error SELECT '1993-06-31'::DATE::VARCHAR +---- statement ok SELECT '1993-07-31'::DATE::VARCHAR statement error SELECT '1993-07-32'::DATE::VARCHAR +---- statement ok SELECT '1993-08-31'::DATE::VARCHAR statement error SELECT '1993-08-32'::DATE::VARCHAR +---- statement ok SELECT '1993-09-30'::DATE::VARCHAR statement error SELECT '1993-09-31'::DATE::VARCHAR +---- statement ok SELECT '1993-10-31'::DATE::VARCHAR statement error SELECT '1993-10-32'::DATE::VARCHAR +---- statement ok SELECT '1993-11-30'::DATE::VARCHAR statement error SELECT '1993-11-31'::DATE::VARCHAR +---- statement ok SELECT '1993-12-31'::DATE::VARCHAR statement error SELECT '1993-12-32'::DATE::VARCHAR +---- # leap year statement ok @@ -174,77 +186,90 @@ SELECT '1992-01-31'::DATE::VARCHAR statement error SELECT '1992-01-32'::DATE::VARCHAR +---- statement ok SELECT '1992-02-29'::DATE::VARCHAR statement error SELECT '1992-02-30'::DATE::VARCHAR +---- statement ok SELECT '1992-03-31'::DATE::VARCHAR statement error SELECT '1992-03-32'::DATE::VARCHAR +---- statement ok SELECT '1992-04-30'::DATE::VARCHAR statement error SELECT '1992-04-31'::DATE::VARCHAR +---- statement ok SELECT '1992-05-31'::DATE::VARCHAR statement error SELECT '1992-05-32'::DATE::VARCHAR +---- statement ok SELECT '1992-06-30'::DATE::VARCHAR statement error SELECT '1992-06-31'::DATE::VARCHAR +---- statement ok SELECT '1992-07-31'::DATE::VARCHAR statement error SELECT '1992-07-32'::DATE::VARCHAR +---- statement ok SELECT '1992-08-31'::DATE::VARCHAR statement error SELECT '1992-08-32'::DATE::VARCHAR +---- statement ok SELECT '1992-09-30'::DATE::VARCHAR statement error SELECT '1992-09-31'::DATE::VARCHAR +---- statement ok SELECT '1992-10-31'::DATE::VARCHAR statement error SELECT '1992-10-32'::DATE::VARCHAR +---- statement ok SELECT '1992-11-30'::DATE::VARCHAR statement error SELECT '1992-11-31'::DATE::VARCHAR +---- statement ok SELECT '1992-12-31'::DATE::VARCHAR statement error SELECT '1992-12-32'::DATE::VARCHAR +---- # 1900 is not a leap year statement error SELECT '1900-02-29'::DATE::VARCHAR +---- # 2000 is a leap year query I @@ -266,78 +291,102 @@ SELECT '-1-01-01'::DATE::VARCHAR # various invalid formats statement error SELECT '100000'::DATE::VARCHAR +---- statement error SELECT '1992-10/10'::DATE::VARCHAR +---- statement error SELECT '1992a10a10'::DATE::VARCHAR +---- statement error SELECT '1992/10-10'::DATE::VARCHAR +---- statement error SELECT 'hello'::DATE::VARCHAR +---- statement error SELECT 'aa-10-10'::DATE::VARCHAR +---- statement error SELECT '1992-aa-10'::DATE::VARCHAR +---- statement error SELECT '1992-10-aa'::DATE::VARCHAR +---- statement error SELECT ''::DATE::VARCHAR +---- statement error SELECT '-'::DATE::VARCHAR +---- statement error SELECT '-/10/10'::DATE::VARCHAR +---- # min year is slightly smaller than max year, because we start at 1970 # -291000 is out of range, but 291000 is not statement error SELECT '-291000-01-01'::DATE:VARCHAR; +---- statement ok SELECT '291000-01-01'::DATE::VARCHAR; statement error SELECT '291000-01-01 (BC)'::DATE:VARCHAR; +---- statement error SELECT '-a'::DATE::VARCHAR +---- statement error SELECT '1992-'::DATE::VARCHAR +---- statement error SELECT '1992-10'::DATE::VARCHAR +---- statement error SELECT '1992-10-'::DATE::VARCHAR +---- # dates out of range statement error SELECT '10000000000-01-01'::DATE::VARCHAR +---- statement error SELECT '-10000000000-01-01'::DATE::VARCHAR +---- statement error SELECT '1992-30-30'::DATE::VARCHAR +---- statement error SELECT '1992-00-50'::DATE::VARCHAR +---- statement error SELECT '1992-01-00'::DATE::VARCHAR +---- statement error SELECT '1992-10-50'::DATE::VARCHAR +---- statement error SELECT '1992-10-100'::DATE::VARCHAR +---- diff --git a/test/sql/types/date/test_bc_dates.test b/test/sql/types/date/test_bc_dates.test index 85331fc56a80..0ea4493789f3 100644 --- a/test/sql/types/date/test_bc_dates.test +++ b/test/sql/types/date/test_bc_dates.test @@ -46,10 +46,12 @@ SELECT DATE '0000-01-01' # year 0 does not exist in the gregorian calendar statement error SELECT DATE '0000-01-01 (BC)' +---- # negative BC years do not exist either statement error SELECT DATE '-0030-01-01 (BC)' +---- query T SELECT DATE '1992-01-01 (BC)' @@ -68,43 +70,43 @@ CREATE TABLE bc_dates AS SELECT date '0020-01-01' - interval (i) years AS d from query II SELECT d, d::VARCHAR FROM bc_dates ORDER BY 1 ---- -0020-01-01 (BC) 0020-01-01 (BC) -0019-01-01 (BC) 0019-01-01 (BC) -0018-01-01 (BC) 0018-01-01 (BC) -0017-01-01 (BC) 0017-01-01 (BC) -0016-01-01 (BC) 0016-01-01 (BC) -0015-01-01 (BC) 0015-01-01 (BC) -0014-01-01 (BC) 0014-01-01 (BC) -0013-01-01 (BC) 0013-01-01 (BC) -0012-01-01 (BC) 0012-01-01 (BC) -0011-01-01 (BC) 0011-01-01 (BC) -0010-01-01 (BC) 0010-01-01 (BC) -0009-01-01 (BC) 0009-01-01 (BC) -0008-01-01 (BC) 0008-01-01 (BC) -0007-01-01 (BC) 0007-01-01 (BC) -0006-01-01 (BC) 0006-01-01 (BC) -0005-01-01 (BC) 0005-01-01 (BC) -0004-01-01 (BC) 0004-01-01 (BC) -0003-01-01 (BC) 0003-01-01 (BC) -0002-01-01 (BC) 0002-01-01 (BC) -0001-01-01 (BC) 0001-01-01 (BC) -0001-01-01 0001-01-01 -0002-01-01 0002-01-01 -0003-01-01 0003-01-01 -0004-01-01 0004-01-01 -0005-01-01 0005-01-01 -0006-01-01 0006-01-01 -0007-01-01 0007-01-01 -0008-01-01 0008-01-01 -0009-01-01 0009-01-01 -0010-01-01 0010-01-01 -0011-01-01 0011-01-01 -0012-01-01 0012-01-01 -0013-01-01 0013-01-01 -0014-01-01 0014-01-01 -0015-01-01 0015-01-01 -0016-01-01 0016-01-01 -0017-01-01 0017-01-01 -0018-01-01 0018-01-01 -0019-01-01 0019-01-01 -0020-01-01 0020-01-01 +0020-01-01 (BC) 00:00:00 0020-01-01 (BC) 00:00:00 +0019-01-01 (BC) 00:00:00 0019-01-01 (BC) 00:00:00 +0018-01-01 (BC) 00:00:00 0018-01-01 (BC) 00:00:00 +0017-01-01 (BC) 00:00:00 0017-01-01 (BC) 00:00:00 +0016-01-01 (BC) 00:00:00 0016-01-01 (BC) 00:00:00 +0015-01-01 (BC) 00:00:00 0015-01-01 (BC) 00:00:00 +0014-01-01 (BC) 00:00:00 0014-01-01 (BC) 00:00:00 +0013-01-01 (BC) 00:00:00 0013-01-01 (BC) 00:00:00 +0012-01-01 (BC) 00:00:00 0012-01-01 (BC) 00:00:00 +0011-01-01 (BC) 00:00:00 0011-01-01 (BC) 00:00:00 +0010-01-01 (BC) 00:00:00 0010-01-01 (BC) 00:00:00 +0009-01-01 (BC) 00:00:00 0009-01-01 (BC) 00:00:00 +0008-01-01 (BC) 00:00:00 0008-01-01 (BC) 00:00:00 +0007-01-01 (BC) 00:00:00 0007-01-01 (BC) 00:00:00 +0006-01-01 (BC) 00:00:00 0006-01-01 (BC) 00:00:00 +0005-01-01 (BC) 00:00:00 0005-01-01 (BC) 00:00:00 +0004-01-01 (BC) 00:00:00 0004-01-01 (BC) 00:00:00 +0003-01-01 (BC) 00:00:00 0003-01-01 (BC) 00:00:00 +0002-01-01 (BC) 00:00:00 0002-01-01 (BC) 00:00:00 +0001-01-01 (BC) 00:00:00 0001-01-01 (BC) 00:00:00 +0001-01-01 00:00:00 0001-01-01 00:00:00 +0002-01-01 00:00:00 0002-01-01 00:00:00 +0003-01-01 00:00:00 0003-01-01 00:00:00 +0004-01-01 00:00:00 0004-01-01 00:00:00 +0005-01-01 00:00:00 0005-01-01 00:00:00 +0006-01-01 00:00:00 0006-01-01 00:00:00 +0007-01-01 00:00:00 0007-01-01 00:00:00 +0008-01-01 00:00:00 0008-01-01 00:00:00 +0009-01-01 00:00:00 0009-01-01 00:00:00 +0010-01-01 00:00:00 0010-01-01 00:00:00 +0011-01-01 00:00:00 0011-01-01 00:00:00 +0012-01-01 00:00:00 0012-01-01 00:00:00 +0013-01-01 00:00:00 0013-01-01 00:00:00 +0014-01-01 00:00:00 0014-01-01 00:00:00 +0015-01-01 00:00:00 0015-01-01 00:00:00 +0016-01-01 00:00:00 0016-01-01 00:00:00 +0017-01-01 00:00:00 0017-01-01 00:00:00 +0018-01-01 00:00:00 0018-01-01 00:00:00 +0019-01-01 00:00:00 0019-01-01 00:00:00 +0020-01-01 00:00:00 0020-01-01 00:00:00 diff --git a/test/sql/types/date/test_date.test b/test/sql/types/date/test_date.test index 7bca86ba4009..a06ef85606dd 100644 --- a/test/sql/types/date/test_date.test +++ b/test/sql/types/date/test_date.test @@ -50,16 +50,20 @@ NULL # HOWEVER, we can't divide or multiply or modulo statement error SELECT i * 3 FROM dates +---- statement error SELECT i / 3 FROM dates +---- statement error SELECT i % 3 FROM dates +---- # we also can't add two dates together statement error SELECT i + i FROM dates +---- # but we can subtract them! resulting in an integer query I @@ -70,21 +74,28 @@ NULL statement error SELECT ''::DATE +---- statement error SELECT ' '::DATE +---- statement error SELECT '1992'::DATE +---- statement error SELECT '1992-'::DATE +---- statement error SELECT '1992-01'::DATE +---- statement error SELECT '1992-01-'::DATE +---- statement error SELECT '30000307-01-01 (BC)'::DATE +---- diff --git a/test/sql/types/date/test_date_2411.test b/test/sql/types/date/test_date_2411.test index 29cbab7edd17..6e25b04f6193 100644 --- a/test/sql/types/date/test_date_2411.test +++ b/test/sql/types/date/test_date_2411.test @@ -20,4 +20,4 @@ INSERT INTO timestamp VALUES ('1993-08-14 00:00:01') query I select count(*) from dates inner join timestamp on (timestamp.i::DATE = dates.i) ---- -1 \ No newline at end of file +1 diff --git a/test/sql/types/date/test_incorrect_dates.test b/test/sql/types/date/test_incorrect_dates.test index 267e4a3ae46f..ace215d85ade 100644 --- a/test/sql/types/date/test_incorrect_dates.test +++ b/test/sql/types/date/test_incorrect_dates.test @@ -7,22 +7,27 @@ CREATE TABLE dates(i DATE) statement error INSERT INTO dates VALUES ('blabla') +---- # month out of range statement error INSERT INTO dates VALUES ('1993-20-14') +---- # day out of range statement error INSERT INTO dates VALUES ('1993-08-99') +---- # day out of range because not a leapyear statement error INSERT INTO dates VALUES ('1993-02-29') +---- # day out of range because not a leapyear statement error INSERT INTO dates VALUES ('1900-02-29') +---- # day in range because of leapyear statement ok @@ -36,10 +41,12 @@ INSERT INTO dates VALUES ('2000-02-29') # dd-mm-YYYY statement error INSERT INTO dates VALUES ('02-02-1992') +---- # different separators are not supported statement error INSERT INTO dates VALUES ('1900a01a01') +---- # this should work though statement ok @@ -48,7 +55,9 @@ INSERT INTO dates VALUES ('1900-1-1') # out of range dates statement error INSERT INTO dates VALUES ('-100000000-01-01') +---- statement error INSERT INTO dates VALUES ('1000000000-01-01') +---- diff --git a/test/sql/types/decimal/cast_from_decimal.test b/test/sql/types/decimal/cast_from_decimal.test index 22dc988cb7d0..ce3c465a68da 100644 --- a/test/sql/types/decimal/cast_from_decimal.test +++ b/test/sql/types/decimal/cast_from_decimal.test @@ -13,15 +13,19 @@ SELECT 127::DECIMAL(3,0)::TINYINT, -127::DECIMAL(3,0)::TINYINT, -7::DECIMAL(9,1) statement error SELECT 128::DECIMAL(3,0)::TINYINT +---- statement error SELECT -128::DECIMAL(9,0)::TINYINT +---- statement error SELECT 128::DECIMAL(18,0)::TINYINT +---- statement error SELECT 14751947891758972421513::DECIMAL(38,0)::TINYINT +---- # smallint query IIIII @@ -31,12 +35,15 @@ SELECT 127::DECIMAL(3,0)::SMALLINT, -32767::DECIMAL(5,0)::SMALLINT, -7::DECIMAL( statement error SELECT -32768::DECIMAL(9,0)::SMALLINT +---- statement error SELECT 32768::DECIMAL(18,0)::SMALLINT +---- statement error SELECT 14751947891758972421513::DECIMAL(38,0)::SMALLINT +---- # integer query IIIII @@ -46,9 +53,11 @@ SELECT 127::DECIMAL(3,0)::INTEGER, -2147483647::DECIMAL(10,0)::INTEGER, -7::DECI statement error SELECT 2147483648::DECIMAL(18,0)::INTEGER +---- statement error SELECT 14751947891758972421513::DECIMAL(38,0)::INTEGER +---- # bigint query IIIII @@ -58,6 +67,7 @@ SELECT 127::DECIMAL(3,0)::BIGINT, -9223372036854775807::DECIMAL(19,0)::BIGINT, - statement error SELECT 14751947891758972421513::DECIMAL(38,0)::BIGINT +---- # hugeint query IIIII diff --git a/test/sql/types/decimal/cast_to_decimal.test b/test/sql/types/decimal/cast_to_decimal.test index 5ef5c13ac6b3..acee46fbeee3 100644 --- a/test/sql/types/decimal/cast_to_decimal.test +++ b/test/sql/types/decimal/cast_to_decimal.test @@ -19,18 +19,23 @@ SELECT 100::TINYINT::DECIMAL(38,35), 100::TINYINT::DECIMAL(9,6) # overflow statement error SELECT 100::TINYINT::DECIMAL(3,1) +---- statement error SELECT 1::TINYINT::DECIMAL(3,3) +---- statement error SELECT 100::TINYINT::DECIMAL(18,17) +---- statement error SELECT 100::TINYINT::DECIMAL(9,7) +---- statement error SELECT 100::TINYINT::DECIMAL(38,37) +---- # smallint query IIII @@ -46,18 +51,23 @@ SELECT 100::SMALLINT::DECIMAL(38,35), 100::SMALLINT::DECIMAL(9,6) # overflow statement error SELECT 100::SMALLINT::DECIMAL(3,1) +---- statement error SELECT 1::SMALLINT::DECIMAL(3,3) +---- statement error SELECT 100::SMALLINT::DECIMAL(18,17) +---- statement error SELECT 100::SMALLINT::DECIMAL(9,7) +---- statement error SELECT 100::SMALLINT::DECIMAL(38,37) +---- # integer query IIII @@ -73,24 +83,31 @@ SELECT 100::INTEGER::DECIMAL(38,35), 100::INTEGER::DECIMAL(9,6), 2147483647::INT # overflow statement error SELECT 100::INTEGER::DECIMAL(3,1) +---- statement error SELECT 10000000::INTEGER::DECIMAL(3,1) +---- statement error SELECT -10000000::INTEGER::DECIMAL(3,1) +---- statement error SELECT 1::INTEGER::DECIMAL(3,3) +---- statement error SELECT 100::INTEGER::DECIMAL(18,17) +---- statement error SELECT 100::INTEGER::DECIMAL(9,7) +---- statement error SELECT 100::INTEGER::DECIMAL(38,37) +---- # bigint query IIII @@ -111,24 +128,31 @@ SELECT 922337203685477580::BIGINT::DECIMAL(18,0), (-922337203685477580)::BIGINT: # overflow statement error SELECT 100::BIGINT::DECIMAL(3,1) +---- statement error SELECT 10000000::BIGINT::DECIMAL(3,1) +---- statement error SELECT -10000000::BIGINT::DECIMAL(3,1) +---- statement error SELECT 1::BIGINT::DECIMAL(3,3) +---- statement error SELECT 100::BIGINT::DECIMAL(18,17) +---- statement error SELECT 100::BIGINT::DECIMAL(9,7) +---- statement error SELECT 100::BIGINT::DECIMAL(38,37) +---- # hugeint query IIII @@ -144,39 +168,51 @@ SELECT 100::HUGEINT::DECIMAL(38,35), 100::HUGEINT::DECIMAL(9,6), 170141183460469 # overflow statement error SELECT 100::HUGEINT::DECIMAL(3,1) +---- statement error SELECT 10000000::HUGEINT::DECIMAL(3,1) +---- statement error SELECT -10000000::HUGEINT::DECIMAL(3,1) +---- statement error SELECT 1::HUGEINT::DECIMAL(3,3) +---- statement error SELECT 100::HUGEINT::DECIMAL(18,17) +---- statement error SELECT 100::HUGEINT::DECIMAL(9,7) +---- statement error SELECT 100::HUGEINT::DECIMAL(38,37) +---- statement error SELECT 17014118346046923173168730371588410572::HUGEINT::DECIMAL(38,1) +---- statement error SELECT 17014118346046923173168730371588410572::HUGEINT::DECIMAL(37,0) +---- statement error SELECT 17014118346046923173168730371588410572::HUGEINT::DECIMAL(18,0) +---- statement error SELECT 17014118346046923173168730371588410572::HUGEINT::DECIMAL(9,0) +---- statement error SELECT 17014118346046923173168730371588410572::HUGEINT::DECIMAL(4,0) +---- # float query IIII @@ -197,39 +233,51 @@ SELECT 1.25::FLOAT::DECIMAL(3,2) # overflow statement error SELECT 100::FLOAT::DECIMAL(3,1) +---- statement error SELECT 10000000::FLOAT::DECIMAL(3,1) +---- statement error SELECT -10000000::FLOAT::DECIMAL(3,1) +---- statement error SELECT 1::FLOAT::DECIMAL(3,3) +---- statement error SELECT 100::FLOAT::DECIMAL(18,17) +---- statement error SELECT 100::FLOAT::DECIMAL(9,7) +---- statement error SELECT 100::FLOAT::DECIMAL(38,37) +---- statement error SELECT 17014118346046923173168730371588410572::FLOAT::DECIMAL(38,1) +---- statement error SELECT 17014118346046923173168730371588410572::FLOAT::DECIMAL(37,0) +---- statement error SELECT 17014118346046923173168730371588410572::FLOAT::DECIMAL(18,0) +---- statement error SELECT 17014118346046923173168730371588410572::FLOAT::DECIMAL(9,0) +---- statement error SELECT 17014118346046923173168730371588410572::FLOAT::DECIMAL(4,0) +---- # double query IIII @@ -250,37 +298,49 @@ SELECT 1.25::DOUBLE::DECIMAL(3,2) # overflow statement error SELECT 100::DOUBLE::DECIMAL(3,1) +---- statement error SELECT 10000000::DOUBLE::DECIMAL(3,1) +---- statement error SELECT -10000000::DOUBLE::DECIMAL(3,1) +---- statement error SELECT 1::DOUBLE::DECIMAL(3,3) +---- statement error SELECT 100::DOUBLE::DECIMAL(18,17) +---- statement error SELECT 100::DOUBLE::DECIMAL(9,7) +---- statement error SELECT 100::DOUBLE::DECIMAL(38,37) +---- statement error SELECT 17014118346046923173168730371588410572::DOUBLE::DECIMAL(38,1) +---- statement error SELECT 17014118346046923173168730371588410572::DOUBLE::DECIMAL(37,0) +---- statement error SELECT 17014118346046923173168730371588410572::DOUBLE::DECIMAL(18,0) +---- statement error SELECT 17014118346046923173168730371588410572::DOUBLE::DECIMAL(9,0) +---- statement error SELECT 17014118346046923173168730371588410572::DOUBLE::DECIMAL(4,0) +---- diff --git a/test/sql/types/decimal/decimal_arithmetic.test b/test/sql/types/decimal/decimal_arithmetic.test index a3a9cf1f70d0..26a8dc7a9aae 100644 --- a/test/sql/types/decimal/decimal_arithmetic.test +++ b/test/sql/types/decimal/decimal_arithmetic.test @@ -60,6 +60,7 @@ SELECT ('0.5'::DECIMAL(1,1) + 10000)::VARCHAR, # out of range statement error SELECT ('0.54321543215432154321543215432154321'::DECIMAL(35,35) + 10000)::VARCHAR +---- # different types query IIIII @@ -177,6 +178,7 @@ SELECT '0.001'::DECIMAL * 100::TINYINT, # multiplication could not be performed exactly: throw error statement error SELECT '0.000000000000000000000000000001'::DECIMAL(38,30) * '0.000000000000000000000000000001'::DECIMAL(38,30) +---- # test addition, subtraction and multiplication with various scales and precisions query IIII diff --git a/test/sql/types/decimal/decimal_decimal_overflow_cast.test b/test/sql/types/decimal/decimal_decimal_overflow_cast.test index 17abfb4148b0..f44da1157329 100644 --- a/test/sql/types/decimal/decimal_decimal_overflow_cast.test +++ b/test/sql/types/decimal/decimal_decimal_overflow_cast.test @@ -30,28 +30,36 @@ SELECT 1.0::DECIMAL(38,37)::DECIMAL(2,1), 1.0::DECIMAL(38,37)::DECIMAL(9,1), 1.0 # overflow on casting UP on scale statement error SELECT 10.00::DECIMAL(4,2)::DECIMAL(4,3); +---- statement error SELECT 10.00::DECIMAL(4,2)::DECIMAL(9,8); +---- statement error SELECT 10.00::DECIMAL(4,2)::DECIMAL(18,17); +---- statement error SELECT 10.00::DECIMAL(4,2)::DECIMAL(38,37); +---- # overflow on casting DOWN on scale statement error SELECT 10.00::DECIMAL(4,2)::DECIMAL(2,1); +---- statement error SELECT 10.00::DECIMAL(9,7)::DECIMAL(7,6); +---- statement error SELECT 10.00::DECIMAL(18,16)::DECIMAL(16,15); +---- statement error SELECT 10.00::DECIMAL(38,36)::DECIMAL(36,35); +---- # casting up in a manner that will always fit query II @@ -83,12 +91,16 @@ SELECT 1.0::DECIMAL(38,1)::DECIMAL(2,1), 1.0::DECIMAL(38,1)::DECIMAL(8,1), 1.0:: # overflow on same scale statement error SELECT 1.0::DECIMAL(3,1)::DECIMAL(1,1) +---- statement error SELECT 1.0::DECIMAL(9,1)::DECIMAL(1,1) +---- statement error SELECT 1.0::DECIMAL(18,1)::DECIMAL(1,1) +---- statement error SELECT 1.0::DECIMAL(38,1)::DECIMAL(1,1) +---- diff --git a/test/sql/types/decimal/decimal_exponent.test b/test/sql/types/decimal/decimal_exponent.test index 890d683fca13..44a254026d19 100644 --- a/test/sql/types/decimal/decimal_exponent.test +++ b/test/sql/types/decimal/decimal_exponent.test @@ -31,7 +31,7 @@ SELECT '1e-100'::DECIMAL # large negative exponent query I -SELECT '1e-99999999'::DECIMAL +SELECT '1e-9999'::DECIMAL ---- 0 @@ -58,41 +58,53 @@ SELECT '1e37'::DECIMAL(38,0) statement error SELECT '1e4'::DECIMAL(4,0) +---- statement error SELECT '1e9'::DECIMAL(9,0) +---- statement error SELECT '1e18'::DECIMAL(18,0) +---- statement error SELECT '1e38'::DECIMAL(38,0) +---- # overflow statement error SELECT '1e100'::DECIMAL +---- # multiple exponents statement error SELECT '1e100e100'::DECIMAL +---- # fractional exponent statement error SELECT '1e100.2'::DECIMAL +---- # very large exponents statement error SELECT '1e9999999999'::DECIMAL +---- statement error SELECT '1e-9999999999'::DECIMAL +---- statement error SELECT '1e-99999999999999999999999999999999'::DECIMAL +---- # not an exponent statement error SELECT '.1f3'::DECIMAL +---- statement error SELECT '1f3'::DECIMAL +---- diff --git a/test/sql/types/decimal/decimal_overflow.test b/test/sql/types/decimal/decimal_overflow.test index 685409d66272..1aafe15b1dd9 100644 --- a/test/sql/types/decimal/decimal_overflow.test +++ b/test/sql/types/decimal/decimal_overflow.test @@ -8,44 +8,57 @@ PRAGMA enable_verification # decimals can also overflow at the bigint boundary, because we don't perform automatic upcasting to hugeint statement error select (99000000000000000.0::DECIMAL(18,1)+99000000000000000.0::DECIMAL(18,1)); +---- statement error select (99000000000000000.0::DECIMAL(18,1)+99000000000000000.0::DECIMAL(18,1))::VARCHAR::DECIMAL(18,1); +---- statement error select (50000000000000000.0::DECIMAL(18,1)+50000000000000000.0::DECIMAL(18,1)); +---- statement error select (-99000000000000000.0::DECIMAL(18,1)-99000000000000000.0::DECIMAL(18,1)); +---- statement error select (-50000000000000000.0::DECIMAL(18,1)-50000000000000000.0::DECIMAL(18,1)); +---- # decimals can overflow at the hugeint boundary, because we run out of bits statement error select (9900000000000000000000000000000000000.0::DECIMAL(38,1)+9900000000000000000000000000000000000.0::DECIMAL(38,1)); +---- statement error select (5000000000000000000000000000000000000.0::DECIMAL(38,1)+5000000000000000000000000000000000000.0::DECIMAL(38,1)); +---- statement error select '10000000000000000000000000000000000000.0'::DECIMAL(38,1); +---- statement error select (-5000000000000000000000000000000000000.0::DECIMAL(38,1)-5000000000000000000000000000000000000.0::DECIMAL(38,1)); +---- # decimals can overflow in multiplications # bigint statement error select 90000000000000000.0::DECIMAL(18,1) * 10::DECIMAL(2,0); +---- statement error select 90000000000000000.0::DECIMAL(18,1) * 1000::DECIMAL(4,0); +---- # hugeint statement error select 5000000000000000000000000000000000000.0::DECIMAL(38,1) * 2::DECIMAL(1,0); +---- # but also like this... the type of this multiplication becomes DECIMAL(38,2), which does not fit 9900000000000000000000000000000000000 statement error -select 9900000000000000000000000000000000000.0::DECIMAL(38,1) * 1.0; \ No newline at end of file +select 9900000000000000000000000000000000000.0::DECIMAL(38,1) * 1.0; +---- diff --git a/test/sql/types/decimal/decimal_overflow_table.test b/test/sql/types/decimal/decimal_overflow_table.test index 1c55eee06e50..05e827c975a2 100644 --- a/test/sql/types/decimal/decimal_overflow_table.test +++ b/test/sql/types/decimal/decimal_overflow_table.test @@ -19,6 +19,7 @@ SELECT d+1 FROM decimals statement error SELECT d+1000000000000000.0 FROM decimals +---- # subtraction query I @@ -28,6 +29,7 @@ SELECT -1-d FROM decimals statement error SELECT -1000000000000000.0-d FROM decimals +---- # multiplication query I @@ -37,3 +39,4 @@ SELECT 1*d FROM decimals statement error SELECT 2*d FROM decimals +---- diff --git a/test/sql/types/decimal/decimal_try_cast.test b/test/sql/types/decimal/decimal_try_cast.test index 1d5f62bde4f9..4e7e61c32237 100644 --- a/test/sql/types/decimal/decimal_try_cast.test +++ b/test/sql/types/decimal/decimal_try_cast.test @@ -8,27 +8,35 @@ PRAGMA enable_verification # smallint statement error SELECT CAST(1000 AS DECIMAL(3,0)) +---- statement error SELECT CAST(100 AS DECIMAL(2,0)) +---- statement error SELECT CAST('100' AS DECIMAL(2,0)) +---- statement error SELECT CAST('100'::DOUBLE AS DECIMAL(2,0)) +---- statement error SELECT CAST(100::DECIMAL(3,0) AS DECIMAL(2,0)) +---- statement error SELECT CAST(10000::DECIMAL(5,0) AS DECIMAL(2,0)) +---- statement error SELECT CAST(1000000000::DECIMAL(10,0) AS DECIMAL(2,0)) +---- statement error SELECT CAST(1000000000::DECIMAL(20,0) AS DECIMAL(2,0)) +---- query I SELECT TRY_CAST(1000 AS DECIMAL(3,0)) @@ -73,21 +81,27 @@ NULL # integer statement error SELECT CAST(1000000 AS DECIMAL(5,0)) +---- statement error SELECT CAST('100000' AS DECIMAL(5,0)) +---- statement error SELECT CAST('100000'::DOUBLE AS DECIMAL(5,0)) +---- statement error SELECT CAST(100000::DECIMAL(6,0) AS DECIMAL(5,0)) +---- statement error SELECT CAST(1000000000::DECIMAL(10,0) AS DECIMAL(2,0)) +---- statement error SELECT CAST(1000000000::DECIMAL(20,0) AS DECIMAL(5,0)) +---- query I SELECT TRY_CAST(1000000 AS DECIMAL(5,0)) @@ -122,18 +136,23 @@ NULL # bigint statement error SELECT CAST(10000000000 AS DECIMAL(10,0)) +---- statement error SELECT CAST('10000000000' AS DECIMAL(10,0)) +---- statement error SELECT CAST('10000000000'::DOUBLE AS DECIMAL(10,0)) +---- statement error SELECT CAST(10000000000::DECIMAL(11,0) AS DECIMAL(10,0)) +---- statement error SELECT CAST(10000000000::DECIMAL(20,0) AS DECIMAL(10,0)) +---- query I SELECT TRY_CAST(10000000000 AS DECIMAL(10,0)) @@ -163,15 +182,19 @@ NULL # hugeint statement error SELECT CAST(100000000000000000000 AS DECIMAL(20,0)) +---- statement error SELECT CAST('100000000000000000000' AS DECIMAL(20,0)) +---- statement error SELECT CAST('100000000000000000000'::DOUBLE AS DECIMAL(20,0)) +---- statement error SELECT CAST(100000000000000000000::DECIMAL(20,0) AS DECIMAL(20,0)) +---- query I SELECT TRY_CAST(100000000000000000000 AS DECIMAL(20,0)) diff --git a/test/sql/types/decimal/test_decimal.test b/test/sql/types/decimal/test_decimal.test index a015d229203b..1a5ef352f0fb 100644 --- a/test/sql/types/decimal/test_decimal.test +++ b/test/sql/types/decimal/test_decimal.test @@ -38,6 +38,7 @@ SELECT '0.123456789'::DECIMAL::VARCHAR, '-0.123456789'::DECIMAL::VARCHAR; # overflow in conversion statement error SELECT '9223372036854788.758'::DECIMAL; +---- # trailing decimals with scale=0 query I @@ -60,9 +61,11 @@ SELECT '0.1'::DECIMAL(3, 3)::VARCHAR, '-0.1'::DECIMAL(3, 3)::VARCHAR; # any value >= 1 becomes out of range, though statement error SELECT '1'::DECIMAL(3, 3)::VARCHAR; +---- statement error SELECT '-1'::DECIMAL(3, 3)::VARCHAR; +---- # repeat the same cast many times query I @@ -115,21 +118,27 @@ select '0.00003'::DECIMAL(38,10)::VARCHAR # scale must be bigger than or equal to width statement error SELECT '0.1'::DECIMAL(3, 4); +---- # cannot have string variable as scale statement error SELECT '0.1'::DECIMAL('hello'); +---- # ...or negative numbers statement error SELECT '0.1'::DECIMAL(-17); +---- # width/scale out of range statement error SELECT '0.1'::DECIMAL(1000); +---- statement error SELECT '0.1'::DECIMAL(1, 2, 3); +---- statement error SELECT '1'::INTEGER(1000); +---- diff --git a/test/sql/types/decimal/test_decimal_2411.test b/test/sql/types/decimal/test_decimal_2411.test index b007939be3da..7b080340710f 100644 --- a/test/sql/types/decimal/test_decimal_2411.test +++ b/test/sql/types/decimal/test_decimal_2411.test @@ -20,4 +20,4 @@ INSERT INTO decimals2 VALUES (4642275147320176030871715840) query I select count(*) from decimals inner join decimals2 on (decimals.i = decimals2.i) ---- -1 \ No newline at end of file +1 diff --git a/test/sql/types/decimal/test_decimal_ops.test b/test/sql/types/decimal/test_decimal_ops.test index 62734423fccc..2940e5664bee 100644 --- a/test/sql/types/decimal/test_decimal_ops.test +++ b/test/sql/types/decimal/test_decimal_ops.test @@ -84,10 +84,10 @@ SELECT ABS('-0.1'::DECIMAL(4,3)), ABS('-0.1'::DECIMAL(9,3)), ABS('-0.1'::DECIMAL 0.1 0.1 0.1 0.1 # test CEIL function -query III -SELECT CEIL('0.1'::DECIMAL), CEIL('-0.1'::DECIMAL), CEIL(NULL::DECIMAL) +query IIII +SELECT CEIL('0.0'::DECIMAL), CEIL('0.1'::DECIMAL), CEIL('-0.1'::DECIMAL), CEIL(NULL::DECIMAL) ---- -1 0 NULL +0 1 0 NULL query II SELECT CEIL('100.3'::DECIMAL), CEIL('-127012.3'::DECIMAL) @@ -323,6 +323,7 @@ SELECT ROUND(12::DECIMAL(3,0)) # non-constant precision is not supported statement error SELECT ROUND(12::DECIMAL(3,0), i) FROM range(1) tbl(i) +---- # null precision becomes null (postgres behavior) query T @@ -368,4 +369,4 @@ SELECT printf('%.2f', '0.12345'::DECIMAL(30,10)) query I SELECT (SELECT '1.0'::DECIMAL(2,1)); ---- -1.0 \ No newline at end of file +1.0 diff --git a/test/sql/types/enum/test_3479.test b/test/sql/types/enum/test_3479.test index 828569c9a0e5..93bcfd86c3bf 100644 --- a/test/sql/types/enum/test_3479.test +++ b/test/sql/types/enum/test_3479.test @@ -26,3 +26,4 @@ insert into m_2 values ('1') statement error insert into m SELECT * FROM m_2 +---- diff --git a/test/sql/types/enum/test_3641.test b/test/sql/types/enum/test_3641.test index 2df93fe0f3b4..020eed2f86ab 100644 --- a/test/sql/types/enum/test_3641.test +++ b/test/sql/types/enum/test_3641.test @@ -21,7 +21,7 @@ statement ok insert into m values ('sad', 'very sad') query II -select * from m where m = '' +select * from m where m = ''::VARCHAR ---- query I @@ -29,6 +29,14 @@ SELECT m='' FROM m ---- false +statement ok +PREPARE v1 AS SELECT m=? FROM m; + +query I +EXECUTE v1('') +---- +false + # implicit cast query II SELECT * FROM m WHERE m=m_2 @@ -37,3 +45,4 @@ SELECT * FROM m WHERE m=m_2 # explicit cast statement error SELECT * FROM m WHERE m::mood_2=m_2 +---- diff --git a/test/sql/types/enum/test_5983.test b/test/sql/types/enum/test_5983.test index 76e36effed6a..061c56abe599 100644 --- a/test/sql/types/enum/test_5983.test +++ b/test/sql/types/enum/test_5983.test @@ -23,4 +23,4 @@ statement ok CREATE TYPE l_comment_enum as ENUM(select l_comment from lineitem); statement ok -CREATE TABLE lineitem2 (comment l_comment_enum); \ No newline at end of file +CREATE TABLE lineitem2 (comment l_comment_enum); diff --git a/test/sql/types/enum/test_6356.test b/test/sql/types/enum/test_6356.test index 4daa943ea7fe..dceb845cccc4 100644 --- a/test/sql/types/enum/test_6356.test +++ b/test/sql/types/enum/test_6356.test @@ -69,4 +69,4 @@ moo query II select * from a where b in ('sad','woof', NULL) ---- -moo sad \ No newline at end of file +moo sad diff --git a/test/sql/types/enum/test_alter_enum.test b/test/sql/types/enum/test_alter_enum.test index 868daf64d26c..d1219446005e 100644 --- a/test/sql/types/enum/test_alter_enum.test +++ b/test/sql/types/enum/test_alter_enum.test @@ -19,6 +19,7 @@ CREATE TYPE name_enum AS ENUM ('Pedro', 'Mark'); #This should error out since we can't do this cast statement error ALTER TABLE person ALTER name TYPE name_enum +---- statement ok DROP TYPE name_enum @@ -50,6 +51,7 @@ mode skip # This should not be possible statement error DROP TYPE name_enum +---- # We should be able to cast this back to string statement ok @@ -72,4 +74,5 @@ VARCHAR # Try to cast to bogus enum statement error -ALTER TABLE person ALTER name TYPE bogus_name \ No newline at end of file +ALTER TABLE person ALTER name TYPE bogus_name +---- diff --git a/test/sql/types/enum/test_enum.test b/test/sql/types/enum/test_enum.test index 3bf39b6d0ade..48a97a3541a6 100644 --- a/test/sql/types/enum/test_enum.test +++ b/test/sql/types/enum/test_enum.test @@ -17,10 +17,12 @@ happy # Casts should fail if not in the enum statement error select 'awesome-bro'::mood; +---- # Non-String keys should fail statement error select 0::mood; +---- # Postgres accept empty ENUMs statement ok @@ -29,6 +31,7 @@ CREATE TYPE bla AS ENUM (); #Enums with the same name shouldn't work statement error CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); +---- statement ok DROP TYPE bla; @@ -36,14 +39,17 @@ DROP TYPE bla; # We should only accept strings statement error CREATE TYPE bla AS ENUM (1,2,3); +---- # Shouldn't accept NULL statement error CREATE TYPE bla AS ENUM ('sad',NULL); +---- # We don't accept repeated elements? statement error CREATE TYPE bla AS ENUM ('sad','sad'); +---- # This should be case sensitive statement ok @@ -69,6 +75,7 @@ DROP TYPE mood_2; #This won't work because mood was already deleted statement error DROP TYPE mood; +---- # We can create mood again statement ok @@ -92,6 +99,7 @@ DROP TYPE IF EXISTS mood; # We shouldn't be able to add NULL values to ENUMs statement error CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy', NULL); +---- mode skip @@ -122,9 +130,11 @@ select ['happy','ok','ok']::mood[] statement error select ['bla']::mood[] +---- statement error select [1]::mood[] +---- query I select []::mood[] @@ -153,9 +163,11 @@ select {'a': 'happy'::mood, 'b': 1, 'c': 'ok'::mood}; statement error select {'a': 'happy'::mood, 'b': 'bla'::mood}; +---- statement error select {'a': 'bla'::mood}; +---- query I select MAP([1,2,3,4],['happy','ok','ok','sad']::mood[]) @@ -164,3 +176,4 @@ select MAP([1,2,3,4],['happy','ok','ok','sad']::mood[]) statement error select MAP([1,2,3,4],['bla','ok','ok','sad']::mood[]) +---- diff --git a/test/sql/types/enum/test_enum_cast.test b/test/sql/types/enum/test_enum_cast.test index 7ff71b8852f2..d0bea9d0503c 100644 --- a/test/sql/types/enum/test_enum_cast.test +++ b/test/sql/types/enum/test_enum_cast.test @@ -77,6 +77,7 @@ INSERT INTO albums_error VALUES ('Tenacious D', '2001'), ('The Pick of Destiny', # Conversion Error: Could not convert string 'bla' to INT32 statement error select name, year_release::INT from albums_error +---- query II select name, year_release::INT from albums_error where year_release = '2001' @@ -120,4 +121,4 @@ select year_release::DATE from dates_table query I select year_release::TIMESTAMP from dates_table ---- -2001-01-01 00:00:00 \ No newline at end of file +2001-01-01 00:00:00 diff --git a/test/sql/types/enum/test_enum_comparisons.test b/test/sql/types/enum/test_enum_comparisons.test index d931d512ba09..c9180d4ed1d8 100644 --- a/test/sql/types/enum/test_enum_comparisons.test +++ b/test/sql/types/enum/test_enum_comparisons.test @@ -172,6 +172,7 @@ Tim Chorizo ok NULL # Explicit casts from one enum to another statement error SELECT person_mood::pet_mood FROM person_pet_den +---- # Use enums as normal strings (testing e.g. substr, LIKE, REGEXP_MATCHES). @@ -244,4 +245,4 @@ insert into test values (NULL, 'very super rich') query TT SELECT * FROM test where (a = b) is NULL ---- -NULL very super rich \ No newline at end of file +NULL very super rich diff --git a/test/sql/types/enum/test_enum_constraints.test b/test/sql/types/enum/test_enum_constraints.test index 061838079593..5f11bb2359b4 100644 --- a/test/sql/types/enum/test_enum_constraints.test +++ b/test/sql/types/enum/test_enum_constraints.test @@ -20,6 +20,7 @@ CREATE TABLE person ( # We can't drop mood because person depends on it statement error drop type mood +---- # But if we drop person statement ok @@ -95,6 +96,7 @@ ALTER TABLE person ADD COLUMN current_mood mood statement error DROP TYPE mood +---- #Dropping the table and type in the same transaction statement ok @@ -125,6 +127,7 @@ ALTER TABLE person DROP COLUMN current_mood statement error DROP TYPE mood +---- statement ok ALTER TABLE person ALTER past_mood SET DATA TYPE VARCHAR @@ -140,6 +143,7 @@ ALTER TABLE person ADD COLUMN current_mood mood statement error DROP TYPE mood +---- # Clean-up statement ok @@ -171,6 +175,7 @@ ROLLBACK; #Fails, mood should still be dependent on by the table statement error DROP TYPE mood; +---- #CLEANUP @@ -203,6 +208,7 @@ ROLLBACK; #Fails, mood should still be dependent on by the table statement error DROP TYPE mood; +---- #CLEANUP statement ok @@ -250,6 +256,7 @@ ALTER TABLE person RENAME COLUMN current_mood TO past_mood # Check if constraint still there statement error DROP TYPE mood +---- statement ok DROP TABLE person @@ -273,12 +280,14 @@ CREATE TABLE person ( # Check if constraint still there statement error DROP TYPE mood +---- statement ok ALTER TABLE person DROP COLUMN current_mood statement error DROP TYPE mood +---- statement ok DROP TABLE person diff --git a/test/sql/types/enum/test_enum_from_query.test b/test/sql/types/enum/test_enum_from_query.test index 31cdd182bd50..5be718504b2a 100644 --- a/test/sql/types/enum/test_enum_from_query.test +++ b/test/sql/types/enum/test_enum_from_query.test @@ -18,6 +18,7 @@ CREATE TABLE test (x VARCHAR, y VARCHAR); statement error CREATE TYPE a AS ENUM (SELECT * FROM test); +---- statement ok DROP TABLE test; @@ -37,6 +38,7 @@ INSERT INTO test SELECT CAST(range AS VARCHAR) FROM range(0, 100); statement error INSERT INTO test VALUES ('100'); +---- statement ok DROP TABLE number_str; @@ -108,6 +110,7 @@ DROP TYPE number_enum; # Throw exception for NULL statement error CREATE TYPE number_enum AS ENUM (SELECT NULL::VARCHAR); +---- # Test inserted order statement ok diff --git a/test/sql/types/enum/test_enum_schema.test b/test/sql/types/enum/test_enum_schema.test new file mode 100644 index 000000000000..017be0adafcc --- /dev/null +++ b/test/sql/types/enum/test_enum_schema.test @@ -0,0 +1,25 @@ +# name: test/sql/types/enum/test_enum_schema.test +# description: ENUM within schema +# group: [enum] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE SCHEMA s1; + +statement ok +CREATE TYPE s1.mood AS ENUM ('sad', 'ok', 'happy'); + +query I +select 'happy'::s1.mood; +---- +happy + +statement ok +DROP TYPE s1.mood + +statement error +select 'happy'::s1.mood; +---- +does not exist diff --git a/test/sql/types/enum/test_enum_structs.test b/test/sql/types/enum/test_enum_structs.test index 499717d21924..fe4605427984 100644 --- a/test/sql/types/enum/test_enum_structs.test +++ b/test/sql/types/enum/test_enum_structs.test @@ -9,7 +9,11 @@ PRAGMA enable_verification load __TEST_DIR__/enum_types.db statement ok -CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); +CREATE TYPE mood AS ENUM ( + 'sad', + 'ok', + 'happy' +); statement ok CREATE TABLE person ( @@ -21,7 +25,10 @@ CREATE TABLE person ( ); statement ok -INSERT INTO person VALUES (1, ROW('Mark', 'happy')); +INSERT INTO person VALUES ( + 1, + ROW('Mark', 'happy') +); query II FROM person diff --git a/test/sql/types/enum/test_enum_table.test b/test/sql/types/enum/test_enum_table.test index 716a5dad9e5e..80b15993e0fe 100644 --- a/test/sql/types/enum/test_enum_table.test +++ b/test/sql/types/enum/test_enum_table.test @@ -14,6 +14,7 @@ CREATE TABLE person ( name text, current_car car ); +---- statement ok CREATE TABLE person ( @@ -26,6 +27,7 @@ INSERT INTO person VALUES ('Moe', 'happy'); statement error INSERT INTO person VALUES ('Moe', 'diego'); +---- query TT select * from person @@ -97,6 +99,7 @@ CREATE TABLE aliens ( name text, current_mood mood ); +---- statement ok CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); @@ -221,6 +224,7 @@ ok statement error SELECT CAST ('bla' as mood) +---- query I SELECT TRY_CAST ('bla' as mood) diff --git a/test/sql/types/enum/test_enum_temp_tbl.test b/test/sql/types/enum/test_enum_temp_tbl.test index 74ae7ec93e78..760ad549288c 100644 --- a/test/sql/types/enum/test_enum_temp_tbl.test +++ b/test/sql/types/enum/test_enum_temp_tbl.test @@ -42,4 +42,4 @@ select count(*) from tbl_temp; statement error insert into tbl_temp values ('bla', 'invalid') ---- -Could not convert string 'invalid' \ No newline at end of file +Could not convert string 'invalid' diff --git a/test/sql/types/enum/test_enum_to_numbers.test b/test/sql/types/enum/test_enum_to_numbers.test index 2d69ae1338ff..fe003a91d21f 100644 --- a/test/sql/types/enum/test_enum_to_numbers.test +++ b/test/sql/types/enum/test_enum_to_numbers.test @@ -162,22 +162,22 @@ select a from t1, t2 where t1.a = t2.b; 4 query I -select count(*) from t1, t2 where t1.a < t2.b; +select count(*) from t1, t2 where t1.a::VARCHAR < t2.b; ---- 20 query I -select count(*) from t1, t2 where t1.a <= t2.b; +select count(*) from t1, t2 where t1.a::VARCHAR <= t2.b; ---- 28 query I -select count(*) from t1, t2 where t1.a > t2.b; +select count(*) from t1, t2 where t1.a::VARCHAR > t2.b; ---- 36 query I -select count(*) from t1, t2 where t1.a >= t2.b; +select count(*) from t1, t2 where t1.a::VARCHAR >= t2.b; ---- 44 @@ -202,23 +202,35 @@ create table t1 as select date, time, timestamp, timestamp_s, timestamp_ms, time statement ok create table t2 as select * from VALUES ('294247-01-10 04:00:54.775806'::new_type), ('83 years 3 months 999 days 00:16:39.999999'::new_type), ('1677-09-21 00:12:43.145225'::new_type), ('other enum type'::new_type), ('another 1'::new_type), ('~~~'::new_type) t(b); -statement ok +statement error select count(*) from t1, t2 where t1.date = t2.b; +---- +Conversion Error -statement ok +statement error select count(*) from t1, t2 where t1.time = t2.b; +---- +Conversion Error -statement ok +statement error select count(*) from t1, t2 where t1.timestamp = t2.b; +---- +Conversion Error -statement ok +statement error select count(*) from t1, t2 where t1.timestamp_s = t2.b; +---- +Conversion Error -statement ok +statement error select count(*) from t1, t2 where t1.timestamp_ms = t2.b; +---- +Conversion Error -statement ok +statement error select count(*) from t1, t2 where t1.timestamp_ns = t2.b; +---- +Conversion Error # in types.hpp logical type of timestamp_tz, time_tz, interval, and blob are all higher # than varchar, causing a direct cast from varchar to the type to happen. diff --git a/test/sql/types/enum/test_enums_and_built_in_types.test b/test/sql/types/enum/test_enums_and_built_in_types.test index ea70cd40a7a9..61e441d9f86d 100644 --- a/test/sql/types/enum/test_enums_and_built_in_types.test +++ b/test/sql/types/enum/test_enums_and_built_in_types.test @@ -9,24 +9,29 @@ PRAGMA enable_verification statement error CREATE TYPE "integer" AS ENUM ('1', '2', '3'); +---- restart # use a type that is almost a built-in type statement error SELECT 4::INTEGEE +---- restart # cannot drop built-in types statement error DROP TYPE "INTEGER" +---- statement error DROP TYPE "INTEGEE" +---- restart # cannot create built-in type statement error CREATE TYPE integer AS ENUM ('1', '2', '3'); +---- diff --git a/test/sql/types/float/nan_cast.test b/test/sql/types/float/nan_cast.test index b7bab32753d1..444e6038b9a1 100644 --- a/test/sql/types/float/nan_cast.test +++ b/test/sql/types/float/nan_cast.test @@ -18,6 +18,7 @@ SELECT '${val}'::${source_type} # cannot cast nan, inf or -inf to these types statement error SELECT '${val}'::${source_type}::${target_type} +---- endloop diff --git a/test/sql/types/float/nan_functions.test b/test/sql/types/float/nan_functions.test index 7009520a1b86..acc02f2ee788 100644 --- a/test/sql/types/float/nan_functions.test +++ b/test/sql/types/float/nan_functions.test @@ -95,9 +95,11 @@ foreach unary_func sin sin cos tan asin acos cot statement error select ${unary_func}('inf'::${type}) +---- statement error select ${unary_func}('-inf'::${type}) +---- query I select ${unary_func}('nan'::${type}) diff --git a/test/sql/types/hugeint/hugeint_multiply.test b/test/sql/types/hugeint/hugeint_multiply.test index 5edbe659d1f7..342dee39733a 100644 --- a/test/sql/types/hugeint/hugeint_multiply.test +++ b/test/sql/types/hugeint/hugeint_multiply.test @@ -28,6 +28,7 @@ SELECT 251658240::HUGEINT * 4642275147320176030871715840::HUGEINT statement error SELECT 251658240::HUGEINT * 19938419936773738093557105904205168640::HUGEINT +---- # [low, high] query I @@ -42,9 +43,11 @@ SELECT 1080863910568919040::HUGEINT * 1080863910568919040::HUGEINT statement error SELECT 1080863910568919040::HUGEINT * 4642275147320176030871715840::HUGEINT +---- statement error SELECT 1080863910568919040::HUGEINT * 19938419936773738093557105904205168640::HUGEINT +---- # [high, low] query I @@ -54,25 +57,32 @@ SELECT 4642275147320176030871715840::HUGEINT * 251658240::HUGEINT statement error SELECT 4642275147320176030871715840::HUGEINT * 1080863910568919040::HUGEINT +---- statement error SELECT 4642275147320176030871715840::HUGEINT * 4642275147320176030871715840::HUGEINT +---- statement error SELECT 4642275147320176030871715840::HUGEINT * 19938419936773738093557105904205168640::HUGEINT +---- # [high, high] statement error SELECT 19938419936773738093557105904205168640::HUGEINT * 251658240::HUGEINT +---- statement error SELECT 19938419936773738093557105904205168640::HUGEINT * 1080863910568919040::HUGEINT +---- statement error SELECT 19938419936773738093557105904205168640::HUGEINT * 4642275147320176030871715840::HUGEINT +---- statement error SELECT 19938419936773738093557105904205168640::HUGEINT * 19938419936773738093557105904205168640::HUGEINT +---- # more overflow tests on the boundaries query I @@ -82,9 +92,11 @@ SELECT 85070591730234615865843651857942052863::HUGEINT * 2::HUGEINT statement error SELECT 85070591730234615865843651857942052864::HUGEINT * 2::HUGEINT +---- statement error SELECT 85070591730234615865843651857942052865::HUGEINT * 2::HUGEINT +---- query I SELECT 19807040628566084398385987583::HUGEINT * 8589934592::HUGEINT @@ -93,6 +105,7 @@ SELECT 19807040628566084398385987583::HUGEINT * 8589934592::HUGEINT statement error SELECT 19807040628566084398385987584::HUGEINT*8589934592::HUGEINT; +---- query I SELECT 36893488147419103231::HUGEINT * 4611686018427387904::HUGEINT @@ -101,6 +114,7 @@ SELECT 36893488147419103231::HUGEINT * 4611686018427387904::HUGEINT statement error SELECT 36893488147419103232::HUGEINT * 4611686018427387904::HUGEINT +---- # now reverse sides query I @@ -110,9 +124,11 @@ SELECT 2::HUGEINT * 85070591730234615865843651857942052863::HUGEINT statement error SELECT 2::HUGEINT * 85070591730234615865843651857942052864::HUGEINT +---- statement error SELECT 2::HUGEINT * 85070591730234615865843651857942052865::HUGEINT +---- query I SELECT 8589934592::HUGEINT * 19807040628566084398385987583::HUGEINT @@ -121,6 +137,7 @@ SELECT 8589934592::HUGEINT * 19807040628566084398385987583::HUGEINT statement error SELECT 8589934592::HUGEINT * 19807040628566084398385987584::HUGEINT +---- query I SELECT 4611686018427387904::HUGEINT * 36893488147419103231::HUGEINT @@ -129,6 +146,7 @@ SELECT 4611686018427387904::HUGEINT * 36893488147419103231::HUGEINT statement error SELECT 4611686018427387904::HUGEINT * 36893488147419103232::HUGEINT +---- query I SELECT 10376293541461622783::HUGEINT * 10376293541461622783::HUGEINT @@ -142,3 +160,4 @@ SELECT 10376293541461622783::HUGEINT * 10376293541461622783::HUGEINT statement error SELECT 17293822569102704639::HUGEINT * 10376293541461622783::HUGEINT +---- diff --git a/test/sql/types/hugeint/hugeint_try_cast.test b/test/sql/types/hugeint/hugeint_try_cast.test index 02f59f8ecf9d..d771df6d8b89 100644 --- a/test/sql/types/hugeint/hugeint_try_cast.test +++ b/test/sql/types/hugeint/hugeint_try_cast.test @@ -7,15 +7,19 @@ PRAGMA enable_verification statement error SELECT CAST('170141183460469231731687303715884105728' AS HUGEINT) +---- statement error -SELECT CAST('270141183460469231731687303715884105728'::DOUBLE AS HUGEINT) +SELECT CAST('170141183460469231731687303715884105728'::DOUBLE AS HUGEINT) +---- statement error -SELECT CAST('-170141183460469231731687303715884105728' AS HUGEINT) +SELECT CAST('-170141183460469231731687303715884105729' AS HUGEINT) +---- statement error -SELECT CAST('-270141183460469231731687303715884105728'::DOUBLE AS HUGEINT) +SELECT CAST('-170141183460469231731687303715884105729'::DOUBLE AS HUGEINT) +---- query I SELECT TRY_CAST('170141183460469231731687303715884105728' AS HUGEINT) @@ -23,16 +27,16 @@ SELECT TRY_CAST('170141183460469231731687303715884105728' AS HUGEINT) NULL query I -SELECT TRY_CAST('270141183460469231731687303715884105728'::DOUBLE AS HUGEINT) +SELECT TRY_CAST('170141183460469231731687303715884105728'::DOUBLE AS HUGEINT) ---- NULL query I -SELECT TRY_CAST('-170141183460469231731687303715884105728' AS HUGEINT) +SELECT TRY_CAST('-170141183460469231731687303715884105729' AS HUGEINT) ---- NULL query I -SELECT TRY_CAST('-270141183460469231731687303715884105728'::DOUBLE AS HUGEINT) +SELECT TRY_CAST('-170141183460469231731687303715884105729'::DOUBLE AS HUGEINT) ---- NULL diff --git a/test/sql/types/hugeint/test_hugeint_arithmetic.test b/test/sql/types/hugeint/test_hugeint_arithmetic.test index 1029e66916d7..6675d1d4483e 100644 --- a/test/sql/types/hugeint/test_hugeint_arithmetic.test +++ b/test/sql/types/hugeint/test_hugeint_arithmetic.test @@ -56,9 +56,13 @@ SELECT '5'::HUGEINT + '-10000000000000000002'::HUGEINT; # overflow in addition statement error SELECT '170141183460469231731687303715884105727'::HUGEINT + '170141183460469231731687303715884105727'::HUGEINT; +---- +Out of Range Error: Overflow in addition of INT128 (170141183460469231731687303715884105727 + 170141183460469231731687303715884105727)! statement error SELECT '170141183460469231731687303715884105727'::HUGEINT + '10'::HUGEINT; +---- +Out of Range Error: Overflow in addition of INT128 (170141183460469231731687303715884105727 + 10)! # almost overflowing but not quite query I @@ -67,16 +71,20 @@ SELECT '170141183460469231731687303715884105727'::HUGEINT - 10::HUGEINT + 10::HU 170141183460469231731687303715884105727 query I -SELECT '-170141183460469231731687303715884105727'::HUGEINT + 10::HUGEINT - 10::HUGEINT +SELECT '-170141183460469231731687303715884105728'::HUGEINT + 10::HUGEINT - 10::HUGEINT ---- --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 # overflowing statement error SELECT '170141183460469231731687303715884105727'::HUGEINT - 10::HUGEINT + 11::HUGEINT +---- +Out of Range Error: Overflow in addition of INT128 (170141183460469231731687303715884105717 + 11)! statement error -SELECT '-170141183460469231731687303715884105727'::HUGEINT + 10::HUGEINT - 11::HUGEINT +SELECT '-170141183460469231731687303715884105728'::HUGEINT + 10::HUGEINT - 11::HUGEINT +---- +Out of Range Error: Overflow in subtraction of INT128 (-170141183460469231731687303715884105718 - 11)! # subtraction query II @@ -98,10 +106,14 @@ SELECT '-10000000000000000002'::HUGEINT - '-10000000000000000002'::HUGEINT; # underflow in subtraction statement error -SELECT '-170141183460469231731687303715884105727'::HUGEINT - '170141183460469231731687303715884105727'::HUGEINT; +SELECT '-170141183460469231731687303715884105728'::HUGEINT - '170141183460469231731687303715884105727'::HUGEINT; +---- +Out of Range Error: Overflow in subtraction of INT128 (-170141183460469231731687303715884105728 - 170141183460469231731687303715884105727)! statement error -SELECT '170141183460469231731687303715884105727'::HUGEINT - '-170141183460469231731687303715884105727'::HUGEINT; +SELECT '170141183460469231731687303715884105727'::HUGEINT - '-170141183460469231731687303715884105728'::HUGEINT; +---- +Out of Range Error: Overflow in subtraction of INT128 (170141183460469231731687303715884105727 - -170141183460469231731687303715884105728)! # multiplication query I @@ -129,9 +141,13 @@ SELECT '170141183460469231731687303715884105727'::HUGEINT * 1::HUGEINT # overflow in multiplication statement error SELECT '170141183460469231731687303715884105727'::HUGEINT * 2::HUGEINT +---- +Out of Range Error: Overflow in multiplication of INT128 (170141183460469231731687303715884105727 * 2)! statement error SELECT '1701411834604692317'::HUGEINT * '131687303715884105727'::HUGEINT +---- +Out of Range Error: Overflow in multiplication of INT128 (1701411834604692317 * 131687303715884105727)! # division query II @@ -194,9 +210,9 @@ SELECT ABS('100'::HUGEINT), ABS('-100'::HUGEINT);; # addition query I -SELECT '-170141183460469231731687303715884105726'::HUGEINT + -1; +SELECT '-170141183460469231731687303715884105727'::HUGEINT + -1; ---- --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 query I SELECT '170141183460469231731687303715884105726'::HUGEINT + 1; @@ -204,10 +220,15 @@ SELECT '170141183460469231731687303715884105726'::HUGEINT + 1; 170141183460469231731687303715884105727 statement error -SELECT -170141183460469231731687303715884105727 + -1; +SELECT -170141183460469231731687303715884105728 + -1; +---- +Out of Range Error: Overflow in addition of INT128 (-170141183460469231731687303715884105728 + -1)! + statement error SELECT 170141183460469231731687303715884105727 + 1; +---- +Out of Range Error: Overflow in addition of INT128 (170141183460469231731687303715884105727 + 1)! # the other way around (i.e. move away from the overflow direction) query I @@ -216,15 +237,15 @@ SELECT '170141183460469231731687303715884105727'::HUGEINT + -1; 170141183460469231731687303715884105726 query I -SELECT '-170141183460469231731687303715884105727'::HUGEINT + 1; +SELECT '-170141183460469231731687303715884105728'::HUGEINT + 1; ---- --170141183460469231731687303715884105726 +-170141183460469231731687303715884105727 # now the reverse: right side is big query I -SELECT -1 + '-170141183460469231731687303715884105726'::HUGEINT; +SELECT -1 + '-170141183460469231731687303715884105727'::HUGEINT; ---- --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 query I SELECT 1 + '170141183460469231731687303715884105726'::HUGEINT; @@ -232,10 +253,14 @@ SELECT 1 + '170141183460469231731687303715884105726'::HUGEINT; 170141183460469231731687303715884105727 statement error -SELECT -1 + -170141183460469231731687303715884105727; +SELECT -1 + -170141183460469231731687303715884105728; +---- +Out of Range Error: Overflow in addition of INT128 (-1 + -170141183460469231731687303715884105728)! statement error SELECT 1 + 170141183460469231731687303715884105727; +---- +Out of Range Error: Overflow in addition of INT128 (1 + 170141183460469231731687303715884105727)! # the other way around (i.e. move away from the overflow direction) query I @@ -244,18 +269,20 @@ SELECT -1 + '170141183460469231731687303715884105727'::HUGEINT; 170141183460469231731687303715884105726 query I -SELECT 1 + '-170141183460469231731687303715884105727'::HUGEINT; +SELECT 1 + '-170141183460469231731687303715884105728'::HUGEINT; ---- --170141183460469231731687303715884105726 +-170141183460469231731687303715884105727 # subtraction query I -SELECT '-170141183460469231731687303715884105726'::HUGEINT - 1; +SELECT '-170141183460469231731687303715884105727'::HUGEINT - 1; ---- --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 statement error -SELECT -170141183460469231731687303715884105727 - 1; +SELECT -170141183460469231731687303715884105728 - 1; +---- +Out of Range Error: Overflow in subtraction of INT128 (-170141183460469231731687303715884105728 - 1)! query I SELECT 170141183460469231731687303715884105724 - (-1); @@ -274,6 +301,8 @@ SELECT 170141183460469231731687303715884105726 - (-1); statement error SELECT 170141183460469231731687303715884105727 - (-1); +---- +Out of Range Error: Overflow in subtraction of INT128 (170141183460469231731687303715884105727 - -1)! # the other way around (i.e. move away from the overflow direction) query I @@ -282,18 +311,20 @@ SELECT 170141183460469231731687303715884105727 - 1; 170141183460469231731687303715884105726 query I -SELECT -170141183460469231731687303715884105727 - (-1); +SELECT -170141183460469231731687303715884105728 - (-1); ---- --170141183460469231731687303715884105726 +-170141183460469231731687303715884105727 # now the reverse: right side is big query I -SELECT -1 - 170141183460469231731687303715884105726; +SELECT -1 - 170141183460469231731687303715884105727; ---- --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 statement error -SELECT -1 - 170141183460469231731687303715884105727; +SELECT -2 - 170141183460469231731687303715884105727; +---- +Out of Range Error: Overflow in subtraction of INT128 (-2 - 170141183460469231731687303715884105727)! query I SELECT 1 - (-170141183460469231731687303715884105724); @@ -311,13 +342,15 @@ SELECT 1 - (-170141183460469231731687303715884105726); 170141183460469231731687303715884105727 statement error -SELECT 1 - (-170141183460469231731687303715884105727); +SELECT 1 - (-170141183460469231731687303715884105728); +---- +Out of Range Error: Overflow in subtraction of INT128 (1 - -170141183460469231731687303715884105728)! # the other way around (i.e. move away from the overflow direction) query I -SELECT -1 - (-170141183460469231731687303715884105727); +SELECT -1 - (-170141183460469231731687303715884105728); ---- -170141183460469231731687303715884105726 +170141183460469231731687303715884105727 query I SELECT 1 - 170141183460469231731687303715884105727; @@ -336,28 +369,66 @@ SELECT 170141183460469231731687303715884105727 * -1; -170141183460469231731687303715884105727 query I -SELECT -170141183460469231731687303715884105727 * 1; +SELECT -170141183460469231731687303715884105728 * 1; ---- --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 query I SELECT -170141183460469231731687303715884105727 * -1; ---- 170141183460469231731687303715884105727 +statement error +SELECT -170141183460469231731687303715884105728 * -1; +---- +Out of Range Error: Overflow in multiplication of INT128 (-170141183460469231731687303715884105728 * -1)! + +query I +SELECT -170141183460469231731687303715884105728 * 0; +---- +0 + statement error SELECT 85070591730234615865843651857942052864 * 2 +---- +Out of Range Error: Overflow in multiplication of INT128 (85070591730234615865843651857942052864 * 2)! statement error SELECT -85070591730234615865843651857942052864 * 2 +---- +Out of Range Error: Overflow in multiplication of INT128 (-85070591730234615865843651857942052864 * 2)! statement error SELECT 85070591730234615865843651857942052864 * -2 +---- +Out of Range Error: Overflow in multiplication of INT128 (85070591730234615865843651857942052864 * -2)! statement error SELECT -85070591730234615865843651857942052864 * -2 +---- +Out of Range Error: Overflow in multiplication of INT128 (-85070591730234615865843651857942052864 * -2)! # division +query I +SELECT -170141183460469231731687303715884105728 // 2; +---- +-85070591730234615865843651857942052864 + +query I +SELECT -170141183460469231731687303715884105728 // -2; +---- +85070591730234615865843651857942052864 + +query I +SELECT -170141183460469231731687303715884105728 // -170141183460469231731687303715884105728; +---- +1 + +query I +SELECT 170141183460469231731687303715884105727 // 170141183460469231731687303715884105727; +---- +1 + query I SELECT 170141183460469231731687303715884105727 // 1; ---- @@ -369,15 +440,85 @@ SELECT 170141183460469231731687303715884105727 // -1; -170141183460469231731687303715884105727 query I -SELECT -170141183460469231731687303715884105727 // 1; +SELECT -170141183460469231731687303715884105728 // 1; ---- --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 query I SELECT -170141183460469231731687303715884105727 // -1; ---- 170141183460469231731687303715884105727 +statement error +SELECT -170141183460469231731687303715884105728 // -1; +---- +Out of Range Error + +statement error +SELECT -170141183460469231731687303715884105728 % -1; +---- +Out of Range Error + +query I +SELECT -170141183460469231731687303715884105728 % -2; +---- +0 + +query I +SELECT -170141183460469231731687303715884105728 % 2; +---- +0 + +query I +SELECT -170141183460469231731687303715884105728 % 3; +---- +-2 + +query I +SELECT -170141183460469231731687303715884105727 % -170141183460469231731687303715884105726; +---- +-1 + +query I +SELECT -170141183460469231731687303715884105728 % -170141183460469231731687303715884105727; +---- +-1 + +query I +SELECT -170141183460469231731687303715884105728 % -170141183460469231731687303715884105728; +---- +0 + +query I +SELECT -170141183460469231731687303715884105728 % 170141183460469231731687303715884105727; +---- +-1 + +query I +SELECT -170141183460469231731687303715884105728 % 170141183460469231731687303715884105728; +---- +0 + +query I +SELECT 170141183460469231731687303715884105727 % -170141183460469231731687303715884105726; +---- +1 + +query I +SELECT 170141183460469231731687303715884105727 % -170141183460469231731687303715884105727; +---- +0 + +query I +SELECT 170141183460469231731687303715884105727 % -170141183460469231731687303715884105728; +---- +170141183460469231731687303715884105727 + +query I +SELECT 170141183460469231731687303715884105727 % 170141183460469231731687303715884105726; +---- +1 + # comparisons query II SELECT '5'::HUGEINT <> '5'::HUGEINT, '5'::HUGEINT <> '18446744073709551621'::HUGEINT diff --git a/test/sql/types/hugeint/test_hugeint_auto_cast.test b/test/sql/types/hugeint/test_hugeint_auto_cast.test index a66aa48ac388..f7ff90f31112 100644 --- a/test/sql/types/hugeint/test_hugeint_auto_cast.test +++ b/test/sql/types/hugeint/test_hugeint_auto_cast.test @@ -29,4 +29,4 @@ SELECT COS(100::HUGEINT) query I SELECT CONCAT('hello number ', 100::HUGEINT) ---- -hello number 100 \ No newline at end of file +hello number 100 diff --git a/test/sql/types/hugeint/test_hugeint_bitwise.test b/test/sql/types/hugeint/test_hugeint_bitwise.test index 052d3b396c28..7dfed4adbade 100644 --- a/test/sql/types/hugeint/test_hugeint_bitwise.test +++ b/test/sql/types/hugeint/test_hugeint_bitwise.test @@ -18,6 +18,7 @@ SELECT 27::HUGEINT << 0 statement error SELECT -27::HUGEINT << 1 +---- # large shifts query II @@ -40,15 +41,19 @@ select 1::HUGEINT << 64; # out of bounds shifts statement error select 1::HUGEINT << 200 +---- statement error SELECT '1329227995784915872903807060280344576'::HUGEINT << 50; +---- statement error SELECT 27::HUGEINT << -1 +---- statement error SELECT 100::HUGEINT << '1329227995784915872903807060280344576'::HUGEINT +---- # right-shift query I @@ -174,6 +179,8 @@ select 1 >> 170141183460469231731687303715884105727::hugeint; statement error select 1::hugeint << 1000; +---- statement error select 1 << 170141183460469231731687303715884105727::hugeint; +---- diff --git a/test/sql/types/hugeint/test_hugeint_conversion.test b/test/sql/types/hugeint/test_hugeint_conversion.test index ce3526d45d53..f78f5825fa2a 100644 --- a/test/sql/types/hugeint/test_hugeint_conversion.test +++ b/test/sql/types/hugeint/test_hugeint_conversion.test @@ -41,23 +41,27 @@ SELECT '-1267650600228229401496703205376'::HUGEINT, '-17014118346046923173168730 # string -> hugeint conversion throws error on overflow statement error SELECT '1701411834604692317316873037158841057200'::HUGEINT; +---- statement error SELECT '-1701411834604692317316873037158841057200'::HUGEINT; +---- # test the exact boundaries # these work query II -SELECT '170141183460469231731687303715884105727'::HUGEINT, '-170141183460469231731687303715884105727'::HUGEINT; +SELECT '170141183460469231731687303715884105727'::HUGEINT, '-170141183460469231731687303715884105728'::HUGEINT; ---- -170141183460469231731687303715884105727 -170141183460469231731687303715884105727 +170141183460469231731687303715884105727 -170141183460469231731687303715884105728 # these don't statement error SELECT '170141183460469231731687303715884105728'::HUGEINT; +---- statement error -SELECT '-170141183460469231731687303715884105728'::HUGEINT; +SELECT '-170141183460469231731687303715884105729'::HUGEINT; +---- # cast various types to hugeint query IIIIII @@ -87,13 +91,16 @@ SELECT (-42)::HUGEINT::TINYINT, (-42)::HUGEINT::SMALLINT, (-42)::HUGEINT::INTEGE # test the exact boundaries for each type statement error SELECT 1000::HUGEINT::TINYINT; +---- # TINYINT statement error SELECT 128::HUGEINT::TINYINT; +---- statement error SELECT -128::HUGEINT::TINYINT; +---- statement ok SELECT 127::HUGEINT::TINYINT, -127::HUGEINT::TINYINT; @@ -101,12 +108,15 @@ SELECT 127::HUGEINT::TINYINT, -127::HUGEINT::TINYINT; # SMALLINT statement error SELECT 100000::HUGEINT::SMALLINT; +---- statement error SELECT 32768::HUGEINT::SMALLINT; +---- statement error SELECT -32768::HUGEINT::SMALLINT; +---- statement ok SELECT 32767::HUGEINT::SMALLINT, -32767::HUGEINT::SMALLINT; @@ -114,12 +124,15 @@ SELECT 32767::HUGEINT::SMALLINT, -32767::HUGEINT::SMALLINT; # INTEGER statement error SELECT 100000000000::HUGEINT::INTEGER; +---- statement error SELECT 2147483648::HUGEINT::INTEGER; +---- statement error SELECT -2147483648::HUGEINT::INTEGER; +---- statement ok SELECT 2147483647::HUGEINT::INTEGER, -2147483647::HUGEINT::INTEGER; @@ -127,12 +140,15 @@ SELECT 2147483647::HUGEINT::INTEGER, -2147483647::HUGEINT::INTEGER; # BIGINT statement error SELECT 10000000000000000000::HUGEINT::BIGINT; +---- statement error SELECT '9223372036854775808'::HUGEINT::BIGINT; +---- statement error SELECT '-9223372036854775809'::HUGEINT::BIGINT; +---- statement ok SELECT 9223372036854775807::HUGEINT::BIGINT, (-9223372036854775808)::HUGEINT::BIGINT; @@ -140,9 +156,11 @@ SELECT 9223372036854775807::HUGEINT::BIGINT, (-9223372036854775808)::HUGEINT::BI # overflow in double -> hugeint conversion statement error SELECT 1e100::FLOAT::HUGEINT; +---- statement error SELECT 1e100::DOUBLE::HUGEINT; +---- # typeof large constant is hugeint, as long as it fits query TTTTT diff --git a/test/sql/types/hugeint/test_hugeint_exponent.test b/test/sql/types/hugeint/test_hugeint_exponent.test index bbc6c1a1a5b2..974e279bc91a 100644 --- a/test/sql/types/hugeint/test_hugeint_exponent.test +++ b/test/sql/types/hugeint/test_hugeint_exponent.test @@ -17,9 +17,12 @@ select '170141183460469231731687303715884105727e0'::hugeint statement error select '170141183460469231731687303715884105735e0'::hugeint +---- statement error select '1.7e39'::hugeint +---- statement error select '2e38'::hugeint +---- diff --git a/test/sql/types/interval/interval_constants.test b/test/sql/types/interval/interval_constants.test index 3af248ce4523..602f91730a06 100644 --- a/test/sql/types/interval/interval_constants.test +++ b/test/sql/types/interval/interval_constants.test @@ -82,60 +82,98 @@ SELECT interval 2 seconds, interval 2 second; # 2 years 10 months statement error SELECT interval '2 10' years to months +---- # 2 days 10 hours statement error SELECT interval '2 10' days to hours +---- # 12 days 15:06:00 statement error SELECT interval '12 15:06' days to minutes +---- # 12 days 15:06:04.123 statement error SELECT interval '12 15:06:04.123' days to seconds +---- # 12:30:00 statement error SELECT interval '12:30' hours to minutes +---- # 15:06:04.123 statement error SELECT interval '15:06:04.123' hours to seconds +---- # 00:12:30 statement error SELECT interval '12:30' minutes to seconds +---- # test out of range interval constants statement error SELECT interval '99999999999999' years; +---- statement error SELECT interval '214748364' years; +---- statement error SELECT interval '9223372036854775807' hours; +---- statement error SELECT interval '9223372036854775807' minutes; +---- statement error SELECT interval '9223372036854775807' seconds; +---- statement error SELECT interval '9223372036854775807' milliseconds; +---- -# milli/microseconds -query I -SELECT interval 3 milliseconds; +# milliseconds +query II +SELECT interval 3 millisecond, interval 3 milliseconds; ---- -00:00:00.003 +00:00:00.003 00:00:00.003 -query I -SELECT interval 3 microseconds; +# microseconds +query II +SELECT interval 3 microsecond, interval 3 microseconds; +---- +00:00:00.000003 00:00:00.000003 + +# weeks +query II +SELECT interval 3 week, interval 3 weeks; +---- +21 days 21 days + +# decades +query II +SELECT interval 3 decade, interval 3 decades; +---- +30 years 30 years + +# centuries +query II +SELECT interval 3 century, interval 3 centuries; +---- +300 years 300 years + +# millennia +query II +SELECT interval 3 millennium, interval 3 millennia; ---- -00:00:00.000003 +3000 years 3000 years query I select timestamp '1992-01-01 12:00:00' + interval 3 microseconds + interval 3 milliseconds @@ -146,3 +184,296 @@ query I select timestamp '1992-01-01 12:00:00' + (interval 3 microseconds + interval 3 milliseconds) ---- 1992-01-01 12:00:00.003003 + +# Fractional seconds +query I +select interval '10.123' second; +---- +00:00:10.123 + +query I +select '47.210'::interval; +---- +00:00:47.21 + +# Negative values +query I +select '-47.210'::interval; +---- +-00:00:47.21 + +# Trailing spaces +query I +select '47.210 '::interval; +---- +00:00:47.21 + +# Nanoseconds are OK +query I +select '31.123456789'::interval; +---- +00:00:31.123456 + +# Non-alpha specifiers are still not OK +statement error +select '47.210 5'::interval; +---- +Could not convert string '47.210 5' to INTERVAL + +# +# Fractional to_interval parsing - above seconds truncates +# + +query I +SELECT INTERVAL '1.5' MICROSECOND; +---- +00:00:00.000001 + +query I +SELECT INTERVAL '1.5' MILLISECOND; +---- +00:00:00.0015 + +query I +SELECT INTERVAL '1.5' SECOND; +---- +00:00:01.5 + +query I +SELECT INTERVAL '1.5' MINUTE; +---- +00:01:00 + +query I +SELECT INTERVAL '1.5' HOUR; +---- +01:00:00 + +query I +SELECT INTERVAL '1.5' DAY; +---- +1 day + +query I +SELECT INTERVAL '1.5' WEEK; +---- +7 days + +query I +SELECT INTERVAL '1.5' MONTH; +---- +1 month + +query I +SELECT INTERVAL '1.5' YEAR; +---- +1 year + +query I +SELECT INTERVAL '1.5' DECADE; +---- +10 years + +query I +SELECT INTERVAL '1.5' CENTURY; +---- +100 years + +query I +SELECT INTERVAL '1.5' MILLENNIA; +---- +1000 years + +query I +SELECT INTERVAL '-1.5' MICROSECOND; +---- +-00:00:00.000001 + +query I +SELECT INTERVAL '-1.5' MILLISECOND; +---- +-00:00:00.0015 + +query I +SELECT INTERVAL '-1.5' SECOND; +---- +-00:00:01.5 + +query I +SELECT INTERVAL '-1.5' MINUTE; +---- +-00:01:00 + +query I +SELECT INTERVAL '-1.5' HOUR; +---- +-01:00:00 + +query I +SELECT INTERVAL '-1.5' DAY; +---- +-1 day + +query I +SELECT INTERVAL '-1.5' WEEK; +---- +-7 days + +query I +SELECT INTERVAL '-1.5' MONTH; +---- +-1 month + +query I +SELECT INTERVAL '-1.5' YEAR; +---- +-1 year + +query I +SELECT INTERVAL '-1.5' DECADE; +---- +-10 years + +query I +SELECT INTERVAL '-1.5' CENTURY; +---- +-100 years + +query I +SELECT INTERVAL '-1.5' MILLENNIA; +---- +-1000 years + +# +# Fractional VARCHAR casts - fractions spill one position +# + +query I +SELECT '1.5 MICROSECOND'::INTERVAL; +---- +00:00:00.000002 + +query I +SELECT '1.5 MILLISECOND'::INTERVAL; +---- +00:00:00.0015 + +query I +SELECT '1.5 SECOND'::INTERVAL; +---- +00:00:01.5 + +query I +SELECT '1.5 MINUTE'::INTERVAL; +---- +00:01:30 + +query I +SELECT '1.5 HOUR'::INTERVAL; +---- +01:30:00 + +query I +SELECT '1.5 DAY'::INTERVAL; +---- +1 day 12:00:00 + +query I +SELECT '1.5 WEEK'::INTERVAL; +---- +10 days 12:00:00 + +query I +SELECT '1.5 MONTH'::INTERVAL; +---- +1 month 15 days + +query I +SELECT '1.5 QUARTER'::INTERVAL; +---- +4 months 15 days + +query I +SELECT '1.5 YEAR'::INTERVAL +---- +1 year 6 months + +query I +SELECT '1.5 DECADE'::INTERVAL +---- +15 years + +query I +SELECT '1.5 CENTURY'::INTERVAL +---- +150 years + +query I +SELECT '1.5 MILLENIUM'::INTERVAL +---- +1500 years + +query I +SELECT '-1.5 MICROSECOND'::INTERVAL; +---- +-00:00:00.000002 + +query I +SELECT '-1.5 MILLISECOND'::INTERVAL; +---- +-00:00:00.0015 + +query I +SELECT '-1.5 SECOND'::INTERVAL; +---- +-00:00:01.5 + +query I +SELECT '-1.5 MINUTE'::INTERVAL; +---- +-00:01:30 + +query I +SELECT '-1.5 HOUR'::INTERVAL; +---- +-01:30:00 + +query I +SELECT '-1.5 DAY'::INTERVAL; +---- +-1 day -12:00:00 + +query I +SELECT '-1.5 WEEK'::INTERVAL; +---- +-10 days -12:00:00 + +query I +SELECT '-1.5 MONTH'::INTERVAL; +---- +-1 month -15 days + +query I +SELECT '-1.5 QUARTER'::INTERVAL; +---- +-4 months -15 days + +query I +SELECT '-1.5 YEAR'::INTERVAL +---- +-1 year -6 months + +query I +SELECT '-1.5 DECADE'::INTERVAL +---- +-15 years + +query I +SELECT '-1.5 CENTURY'::INTERVAL +---- +-150 years + +query I +SELECT '-1.5 MILLENIUM'::INTERVAL +---- +-1500 years diff --git a/test/sql/types/interval/interval_try_cast.test b/test/sql/types/interval/interval_try_cast.test index 3e1f09a8c31f..cc93bf4d8bf9 100644 --- a/test/sql/types/interval/interval_try_cast.test +++ b/test/sql/types/interval/interval_try_cast.test @@ -7,21 +7,27 @@ PRAGMA enable_verification statement error SELECT cast(' ' as interval) +---- statement error SELECT cast('AAAA' as interval) +---- statement error SELECT cast('00:00:' as interval) +---- statement error SELECT cast('3 doopiedoos' as interval) +---- statement error SELECT cast('3 years 2 doy' as interval) +---- statement error SELECT cast('3 yearweek' as interval) +---- query I SELECT cast(NULL as interval) diff --git a/test/sql/types/interval/test_interval.test b/test/sql/types/interval/test_interval.test index 36fa00ba55c1..18cb49a893ed 100644 --- a/test/sql/types/interval/test_interval.test +++ b/test/sql/types/interval/test_interval.test @@ -98,13 +98,44 @@ select interval '-05:12:34.567890' as test_interval; ---- -05:12:34.56789 +# Issue #9631 - Parse hms > 24:00:00 +query I +SELECT ('35:10:00'::interval); +---- +35:10:00 + +# Three digits +query II +select '876:54:32.101234'::INTERVAL, '-876:54:32.101234'::INTERVAL; +---- +876:54:32.101234 -876:54:32.101234 + +# Nine digits should succeed +query II +select '999999999:54:32.101234'::INTERVAL, '-999999999:54:32.101234'::INTERVAL; +---- +999999999:54:32.101234 -999999999:54:32.101234 + +# Ten digits (hour is signed 32 bits internally) +statement error +select '9999999999:54:32.101234'::INTERVAL; +---- +Conversion Error: Could not convert string '9999999999:54:32.101234' to INTERVAL + +statement error +select '-9999999999:54:32.101234'::INTERVAL; +---- +Conversion Error: Could not convert string '-9999999999:54:32.101234' to INTERVAL + # FIXME: we can also use the ISO 8601 interval format statement error SELECT INTERVAL 'P2MT1H1M'; +---- # FIXME: or this format statement error SELECT INTERVAL 'P00-02-00T01:00:01'; +---- query T SELECT INTERVAL '90' DAY; @@ -151,6 +182,7 @@ SELECT INTERVAL '2 month' - INTERVAL '1 month 3 days'; # but not multiply statement error SELECT INTERVAL '2 month' * INTERVAL '1 month 3 days'; +---- # we can, however, multiply/divide intervals by integers query T @@ -172,6 +204,7 @@ SELECT INTERVAL '1 year 2 days 2 seconds' / 2; # division cannot! statement error SELECT 2 / INTERVAL '1 year 2 days 2 seconds'; +---- # division by zero query T @@ -183,31 +216,39 @@ NULL # empty interval statement error SELECT INTERVAL ''; +---- statement error SELECT INTERVAL ' '; +---- # no number statement error SELECT INTERVAL 'years'; +---- statement error SELECT INTERVAL '-years'; +---- # gibberish statement error SELECT INTERVAL 'aergjaerghiuaehrgiuhaerg'; +---- # overflow in year statement error SELECT INTERVAL '100000000000000000year'; +---- # overflow in months statement error SELECT INTERVAL '100000000000000000months'; +---- statement error SELECT INTERVAL '4294967296months'; +---- query T SELECT INTERVAL '1294967296months'; @@ -216,6 +257,7 @@ SELECT INTERVAL '1294967296months'; statement error SELECT INTERVAL '1294967296months 1294967296months'; +---- query T SELECT INTERVAL '1294967296months -1294967296months'; @@ -224,20 +266,25 @@ SELECT INTERVAL '1294967296months -1294967296months'; statement error SELECT INTERVAL '-1294967296months -1294967296months'; +---- # overflow in days statement error SELECT INTERVAL '100000000000000000days'; +---- statement error SELECT INTERVAL '1294967296days 1294967296days'; +---- # overflow in micro seconds statement error SELECT INTERVAL '100000000000000000000msecs'; +---- statement error SELECT INTERVAL '100000000000000000hours'; +---- query T SELECT INTERVAL '2562047788 hours'; @@ -246,6 +293,7 @@ SELECT INTERVAL '2562047788 hours'; statement error SELECT INTERVAL '2562047788 hours 2562047788 hours'; +---- query T SELECT INTERVAL '-9223372036854775msecs'; @@ -294,31 +342,41 @@ SELECT INTERVAL '2147483647 months 2147483647 days 9223372036854775msecs'; statement error SELECT INTERVAL '9223372036854775810msecs'; +---- statement error SELECT INTERVAL '-9223372036854775810msecs'; +---- # need a number here statement error SELECT INTERVAL 'aa' DAY; +---- statement error SELECT INTERVAL '100 months' DAY; +---- statement error SELECT '100'::INTERVAL; +---- statement error SELECT '100 unknowns'::INTERVAL; +---- statement error SELECT '100 months a'::INTERVAL; +---- statement error SELECT '100 months axo'::INTERVAL; +---- statement error SELECT '100 months agb'::INTERVAL; +---- statement error SELECT '100 months agob'::INTERVAL; +---- diff --git a/test/sql/types/interval/test_interval_addition.test b/test/sql/types/interval/test_interval_addition.test index 7595a8326dc5..3a076db37a85 100644 --- a/test/sql/types/interval/test_interval_addition.test +++ b/test/sql/types/interval/test_interval_addition.test @@ -9,185 +9,180 @@ PRAGMA enable_verification query T SELECT DATE '1992-03-01' + INTERVAL '1' YEAR ---- -1993-03-01 +1993-03-01 00:00:00 # check a bunch of different months to test proper month looping behavior query T SELECT DATE '1992-03-01' + INTERVAL '0' MONTH ---- -1992-03-01 +1992-03-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '0' MONTH ---- -1992-03-01 +1992-03-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '1' MONTH ---- -1992-04-01 +1992-04-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '1' MONTH ---- -1992-02-01 +1992-02-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '2' MONTH ---- -1992-05-01 +1992-05-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '2' MONTH ---- -1992-01-01 +1992-01-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '3' MONTH ---- -1992-06-01 +1992-06-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '3' MONTH ---- -1991-12-01 +1991-12-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '4' MONTH ---- -1992-07-01 +1992-07-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '4' MONTH ---- -1991-11-01 +1991-11-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '5' MONTH ---- -1992-08-01 +1992-08-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '5' MONTH ---- -1991-10-01 +1991-10-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '6' MONTH ---- -1992-09-01 +1992-09-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '6' MONTH ---- -1991-09-01 +1991-09-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '7' MONTH ---- -1992-10-01 +1992-10-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '7' MONTH ---- -1991-08-01 +1991-08-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '8' MONTH ---- -1992-11-01 +1992-11-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '8' MONTH ---- -1991-07-01 +1991-07-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '9' MONTH ---- -1992-12-01 +1992-12-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '9' MONTH ---- -1991-06-01 +1991-06-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '10' MONTH ---- -1993-01-01 +1993-01-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '10' MONTH ---- -1991-05-01 +1991-05-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '11' MONTH ---- -1993-02-01 +1993-02-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '11' MONTH ---- -1991-04-01 +1991-04-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '12' MONTH ---- -1993-03-01 +1993-03-01 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '12' MONTH ---- -1991-03-01 +1991-03-01 00:00:00 query T SELECT DATE '1992-03-01' + INTERVAL '10' DAY ---- -1992-03-11 +1992-03-11 00:00:00 query T SELECT DATE '1992-03-01' - INTERVAL '10' DAY ---- -1992-02-20 +1992-02-20 00:00:00 query T SELECT DATE '1993-03-01' - INTERVAL '10' DAY ---- -1993-02-19 +1993-02-19 00:00:00 -# small times have no impact on date -query T -SELECT DATE '1993-03-01' - INTERVAL '1' SECOND ----- -1993-03-01 - -# small seconds have no impact on DATE +# small seconds DO have an impact on DATE query T SELECT DATE '1993-03-01' + INTERVAL '1' SECOND ---- -1993-03-01 +1993-03-01 00:00:01 query T SELECT DATE '1993-03-01' - INTERVAL '1' SECOND ---- -1993-03-01 +1993-02-28 23:59:59 # but a large amount of seconds does have an impact query T SELECT DATE '1993-03-01' + INTERVAL '1000000' SECOND ---- -1993-03-12 +1993-03-12 13:46:40 query T SELECT DATE '1993-03-01' - INTERVAL '1000000' SECOND ---- -1993-02-18 +1993-02-17 10:13:20 # we cannot subtract dates from intervals statement error SELECT INTERVAL '1000000' SECOND - DATE '1993-03-01' +---- # we can add/subtract them to/from times query T @@ -227,6 +222,64 @@ SELECT TIME '00:00:00' + INTERVAL '-1' HOUR ---- 23:00:00 +# +# TIMETZ and INTERVAL arithmetic +# + +# TIMETZ + INTERVAL +query I +select '12:15:37.123456-08'::TIMETZ + INTERVAL '2 HOUR'; +---- +14:15:37.123456-08 + +query I +select '12:15:37.123456-08'::TIMETZ + INTERVAL '22 HOUR'; +---- +10:15:37.123456-08 + +query I +select '12:15:37.123456-08'::TIMETZ + INTERVAL '2 DAY'; +---- +12:15:37.123456-08 + +# INTERVAL + TIMETZ +query I +select INTERVAL '2 HOUR' + '12:15:37.123456-08'::TIMETZ; +---- +14:15:37.123456-08 + +query I +select INTERVAL '22 HOUR' + '12:15:37.123456-08'::TIMETZ; +---- +10:15:37.123456-08 + +query I +select INTERVAL '2 DAY' + '12:15:37.123456-08'::TIMETZ; +---- +12:15:37.123456-08 + +# TIMETZ - INTERVAL +query I +select '12:15:37.123456-08'::TIMETZ - INTERVAL '2 HOUR'; +---- +10:15:37.123456-08 + +query I +select '12:15:37.123456-08'::TIMETZ - INTERVAL '22 HOUR'; +---- +14:15:37.123456-08 + +query I +select '12:15:37.123456-08'::TIMETZ - INTERVAL '2 DAY'; +---- +12:15:37.123456-08 + +# INTERVAL - TIMETZ +statement error +select INTERVAL '2 HOUR' - '12:15:37.123456-08'::TIMETZ; +---- +No function matches the given name and argument types + # we can add/subtract them to/from timestamps query T SELECT TIMESTAMP '1992-01-01 10:00:00' + INTERVAL '1' DAY diff --git a/test/sql/types/interval/test_interval_comparison.test b/test/sql/types/interval/test_interval_comparison.test index c7dcbb22a466..ace8d875d374 100644 --- a/test/sql/types/interval/test_interval_comparison.test +++ b/test/sql/types/interval/test_interval_comparison.test @@ -5,7 +5,7 @@ statement ok PRAGMA enable_verification -# 30 days = 1 month for ordering purposes, but NOT for equality purposes +# 30 days = 1 month for ordering purposes query T SELECT INTERVAL '30' DAY > INTERVAL '1' MONTH ---- @@ -14,7 +14,7 @@ SELECT INTERVAL '30' DAY > INTERVAL '1' MONTH query T SELECT INTERVAL '30' DAY = INTERVAL '1' MONTH ---- -0 +1 query T SELECT INTERVAL '30' DAY >= INTERVAL '1' MONTH diff --git a/test/sql/types/list/list_extract_types.test_slow b/test/sql/types/list/list_extract_types.test_slow index 17c775536249..a6edba31c94d 100644 --- a/test/sql/types/list/list_extract_types.test_slow +++ b/test/sql/types/list/list_extract_types.test_slow @@ -8,7 +8,7 @@ PRAGMA enable_verification statement ok CREATE TABLE all_types AS SELECT * FROM test_all_types(); -foreach colname bool tinyint smallint int bigint hugeint utinyint usmallint uint ubigint date time timestamp timestamp_s timestamp_ms timestamp_ns time_tz timestamp_tz float double dec_4_1 dec_9_4 dec_18_6 dec38_10 uuid interval varchar blob small_enum medium_enum large_enum int_array double_array date_array timestamp_array timestamptz_array varchar_array nested_int_array struct struct_of_arrays array_of_structs map +foreach colname bool tinyint smallint int bigint hugeint utinyint usmallint uint ubigint uhugeint date time timestamp timestamp_s timestamp_ms timestamp_ns time_tz timestamp_tz float double dec_4_1 dec_9_4 dec_18_6 dec38_10 uuid interval varchar blob small_enum medium_enum large_enum int_array double_array date_array timestamp_array timestamptz_array varchar_array nested_int_array struct struct_of_arrays array_of_structs map statement ok CREATE TABLE a AS SELECT LIST_EXTRACT(["${colname}"], 1) col FROM all_types; diff --git a/test/sql/types/list/list_index_abort.test_slow b/test/sql/types/list/list_index_abort.test_slow index 16a0f26e8a22..d7fef08124d3 100644 --- a/test/sql/types/list/list_index_abort.test_slow +++ b/test/sql/types/list/list_index_abort.test_slow @@ -19,6 +19,7 @@ INSERT INTO a SELECT i id, NULL c FROM range(2, 250000, 1) tbl(i) statement error INSERT INTO a VALUES (1, [4, 5]) +---- statement ok ROLLBACK @@ -42,6 +43,7 @@ INSERT INTO a SELECT i id, [-i, i, 33] c FROM range(-2, -250000, -1) tbl(i) statement error INSERT INTO a VALUES (1, [4, 5]) +---- statement ok ROLLBACK @@ -65,6 +67,7 @@ INSERT INTO a SELECT i id, [1, 2, 3, 4, 5, i, -33] c FROM range(250000, 500000, statement error INSERT INTO a VALUES (1, [4, 5]) +---- statement ok ROLLBACK diff --git a/test/sql/types/list/list_index_abort_nested.test_slow b/test/sql/types/list/list_index_abort_nested.test_slow index bbdd83c16a89..fab946de9033 100644 --- a/test/sql/types/list/list_index_abort_nested.test_slow +++ b/test/sql/types/list/list_index_abort_nested.test_slow @@ -19,6 +19,7 @@ INSERT INTO a SELECT i id, NULL c FROM range(2, 250000, 1) tbl(i) statement error INSERT INTO a VALUES (1, [[4, 5]]) +---- statement ok ROLLBACK @@ -42,6 +43,7 @@ INSERT INTO a SELECT i id, [[-i], [i, 33]] c FROM range(-2, -250000, -1) tbl(i) statement error INSERT INTO a VALUES (1, [[4, 5]]) +---- statement ok ROLLBACK @@ -65,6 +67,7 @@ INSERT INTO a SELECT i id, [[1, 2], [3, 4], [5, i, -33]] c FROM range(250000, 50 statement error INSERT INTO a VALUES (1, [[4, 5]]) +---- statement ok ROLLBACK diff --git a/test/sql/types/list/list_index_abort_small.test b/test/sql/types/list/list_index_abort_small.test index 75ee98c5576b..b22c7db5a51d 100644 --- a/test/sql/types/list/list_index_abort_small.test +++ b/test/sql/types/list/list_index_abort_small.test @@ -19,6 +19,7 @@ INSERT INTO a SELECT i id, NULL c FROM range(2, 2500, 1) tbl(i) statement error INSERT INTO a VALUES (1, [4, 5]) +---- statement ok ROLLBACK @@ -42,6 +43,7 @@ INSERT INTO a SELECT i id, [-i, i, 33] c FROM range(-2, -2500, -1) tbl(i) statement error INSERT INTO a VALUES (1, [4, 5]) +---- statement ok ROLLBACK @@ -65,6 +67,7 @@ INSERT INTO a SELECT i id, [1, 2, 3, 4, 5, i, -33] c FROM range(2500, 5000, 1) t statement error INSERT INTO a VALUES (1, [4, 5]) +---- statement ok ROLLBACK diff --git a/test/sql/types/list/list_index_abort_small_nested.test b/test/sql/types/list/list_index_abort_small_nested.test index b90f09e4fcd3..62fb69a37bf4 100644 --- a/test/sql/types/list/list_index_abort_small_nested.test +++ b/test/sql/types/list/list_index_abort_small_nested.test @@ -19,6 +19,7 @@ INSERT INTO a SELECT i id, NULL c FROM range(2, 2500, 1) tbl(i) statement error INSERT INTO a VALUES (1, [[4, 5]]) +---- statement ok ROLLBACK @@ -42,6 +43,7 @@ INSERT INTO a SELECT i id, [[-i], [i, 33]] c FROM range(-2, -2500, -1) tbl(i) statement error INSERT INTO a VALUES (1, [[4, 5]]) +---- statement ok ROLLBACK @@ -65,6 +67,7 @@ INSERT INTO a SELECT i id, [[1, 2], [3, 4], [5, i, -33]] c FROM range(2500, 5000 statement error INSERT INTO a VALUES (1, [[4, 5]]) +---- statement ok ROLLBACK diff --git a/test/sql/types/list/list_indexing.test b/test/sql/types/list/list_indexing.test index 5d5a4e310cf2..4b06531f6d1a 100644 --- a/test/sql/types/list/list_indexing.test +++ b/test/sql/types/list/list_indexing.test @@ -54,4 +54,4 @@ SELECT l[1:0] FROM test; [] [] NULL -[] \ No newline at end of file +[] diff --git a/test/sql/types/list/list_storage.test b/test/sql/types/list/list_storage.test index 1cffde51d666..167bda0ea563 100644 --- a/test/sql/types/list/list_storage.test +++ b/test/sql/types/list/list_storage.test @@ -43,4 +43,4 @@ SELECT * FROM c [hello, world] NULL [fejwfoaejwfoijwafew, b, c] -[NULL, XXXXXXXXXXXXXXXXXXXXXXXX] \ No newline at end of file +[NULL, XXXXXXXXXXXXXXXXXXXXXXXX] diff --git a/test/sql/types/list/list_to_varchar_cast.test b/test/sql/types/list/list_to_varchar_cast.test new file mode 100644 index 000000000000..82eb9ad53941 --- /dev/null +++ b/test/sql/types/list/list_to_varchar_cast.test @@ -0,0 +1,9 @@ +# name: test/sql/types/list/list_to_varchar_cast.test +# description: Tests issue 9808 +# group: [list] + +query I +SELECT concat_ws('.', list_reverse(string_split('1.2..3', '.'))); +---- +[3, , 2, 1] + diff --git a/test/sql/types/list/unnest_expand.test b/test/sql/types/list/unnest_expand.test new file mode 100644 index 000000000000..a9b33b2523bb --- /dev/null +++ b/test/sql/types/list/unnest_expand.test @@ -0,0 +1,43 @@ +# name: test/sql/types/list/unnest_expand.test +# description: Test expanding structs in UNNEST +# group: [list] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE tbl1 (str VARCHAR, str_list VARCHAR[]); + +statement ok +INSERT INTO tbl1 VALUES ('a', ['vibrant', 'plant', 'day']); + +statement ok +CREATE TABLE tbl2 (data struct (str VARCHAR, str_list VARCHAR[])); + +statement ok +INSERT INTO tbl2 VALUES (('a', ['sunny', 'vibrant', 'day'])); + +query II +SELECT UNNEST(data) FROM tbl2; +---- +a [sunny, vibrant, day] + +query I +SELECT UNNEST(str_list) FROM tbl1; +---- +vibrant +plant +day + +query II +SELECT UNNEST(data) FROM tbl2 INTERSECT SELECT * FROM tbl1; +---- + +statement ok +CREATE TABLE test (id VARCHAR, b STRUCT("n" VARCHAR, "v" STRUCT("n" VARCHAR, "v" BIGINT)[])[]); + +statement ok +SELECT DISTINCT * FROM (SELECT id, UNNEST(b, recursive := true) FROM test); + +statement ok +SELECT DISTINCT id, UNNEST(b, recursive := true) FROM test; diff --git a/test/sql/types/list/unnest_null_empty.test b/test/sql/types/list/unnest_null_empty.test index 89baf223750d..2c11ed552006 100644 --- a/test/sql/types/list/unnest_null_empty.test +++ b/test/sql/types/list/unnest_null_empty.test @@ -70,7 +70,7 @@ ORDER BY r, n; 1 [1, 2, 3] 3 2 [4] 4 -query II +query II rowsort WITH t AS ( SELECT 1 AS r, ARRAY[1, 2, 3] AS a UNION SELECT 2 AS r, ARRAY[4] AS a @@ -84,7 +84,7 @@ ORDER BY r, a.value 1 3 2 4 -query II +query II rowsort WITH t AS ( SELECT 1 AS r, ARRAY[1, 2, 3] AS a UNION SELECT 2 AS r, ARRAY[4] AS a @@ -104,7 +104,7 @@ CREATE TABLE t AS SELECT 5 AS r, ARRAY[1, 2, 3] AS a; statement ok INSERT INTO t VALUES (6, [4]), (7, NULL); -query II +query II rowsort SELECT r, a.value FROM t, UNNEST(a) AS a(value) ORDER BY r, a.value @@ -114,7 +114,7 @@ ORDER BY r, a.value 5 3 6 4 -query II +query II rowsort WITH t AS ( SELECT 5 AS r, ARRAY[1, 2, 3] AS a UNION SELECT 6 AS r, ARRAY[4] AS a diff --git a/test/sql/types/list/unnest_table_function.test b/test/sql/types/list/unnest_table_function.test index e46ed0ed4ffe..322783df97ff 100644 --- a/test/sql/types/list/unnest_table_function.test +++ b/test/sql/types/list/unnest_table_function.test @@ -110,14 +110,17 @@ EXECUTE v1([1,2,3,4,5]); # FIXME: NULL without cast (should this work?) statement error SELECT i FROM UNNEST(NULL) AS tbl(i); +---- # not a list statement error SELECT i FROM UNNEST(1) AS tbl(i); +---- # multiple parameters statement error SELECT i FROM UNNEST([1, 2], [3, 4]) AS tbl(i); +---- # issue 7927 @@ -152,4 +155,4 @@ SELECT k, a, b, ---- a [4, 5, 5] [5, 7] [5] b [2, 3] [1, 2, 3, 4] [2, 3] -c [2, 3] [4] [] \ No newline at end of file +c [2, 3] [4] [] diff --git a/test/sql/types/map/map_cast.test b/test/sql/types/map/map_cast.test index 9e2aed09019f..673d422f5722 100644 --- a/test/sql/types/map/map_cast.test +++ b/test/sql/types/map/map_cast.test @@ -2,6 +2,9 @@ # description: Test map cast # group: [map] +statement ok +PRAGMA enable_verification + query I SELECT MAP(['a', 'b', 'c'], [1, 2, NULL])::MAP(VARCHAR, VARCHAR) ---- @@ -23,12 +26,12 @@ SELECT MAP([[1, 2, 3], [0], [123]], [1.0, 2.1, 4.9])::MAP(VARCHAR[], TINYINT) ---- {[1, 2, 3]=1, [0]=2, [123]=5} -query I -SELECT MAP([1, 2, 'hi'], [1.0, 2.1, 4.9])::MAP(VARCHAR, TINYINT) +statement error +SELECT MAP([1, 2, 'hi'::VARCHAR], [1.0, 2.1, 4.9])::MAP(VARCHAR, TINYINT) ---- -{1=1, 2=2, hi=5} +explicit cast query I SELECT MAP([1, 2, 3], ['A', 'B', 'C'])::MAP(TINYINT, VARCHAR) ---- -{1=A, 2=B, 3=C} \ No newline at end of file +{1=A, 2=B, 3=C} diff --git a/test/sql/types/map/map_const_and_col_combination.test b/test/sql/types/map/map_const_and_col_combination.test index 2f967706a87a..aa2675608f2a 100644 --- a/test/sql/types/map/map_const_and_col_combination.test +++ b/test/sql/types/map/map_const_and_col_combination.test @@ -109,4 +109,4 @@ select map(['category', 'min', 'max'], [category, MIN(score), MAX(score)]) FROM query I select MAP([range], ['a']) FROM range(10000) WHERE range = 9999; ---- -{9999=a} \ No newline at end of file +{9999=a} diff --git a/test/sql/types/map/map_empty.test b/test/sql/types/map/map_empty.test new file mode 100644 index 000000000000..7a415b88695d --- /dev/null +++ b/test/sql/types/map/map_empty.test @@ -0,0 +1,8 @@ +# name: test/sql/types/map/map_empty.test +# description: Test empty map +# group: [map] + +statement error +SELECT DISTINCT MAP { * : ? IN ( SELECT TRUE ) } ; +---- +Invalid Error: Expected 1 parameters, but none were supplied diff --git a/test/sql/types/nested/array/array_aggregate.test b/test/sql/types/nested/array/array_aggregate.test new file mode 100644 index 000000000000..f23880f76d6a --- /dev/null +++ b/test/sql/types/nested/array/array_aggregate.test @@ -0,0 +1,37 @@ +# name: test/sql/types/nested/array/array_aggregate.test +# description: Test array type with aggregate functions +# group: [array] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE tbl1 (a INT[3]); + +statement ok +INSERT INTO tbl1 VALUES ([1, 2, 3]), ([4, NULL, 6]), ([7, 8, 9]), (NULL), ([10, 11, 12]) + +query II +SELECT FIRST(a ORDER BY ALL), LAST(a ORDER BY ALL) FROM tbl1; +---- +[1, 2, 3] NULL + +query II rowsort +SELECT COUNT(*), max(a) FROM tbl1 GROUP BY list_sum(a::INT[]) % 2 == 0; +---- +1 NULL +1 [10, 11, 12] +3 [7, 8, 9] + + +query II rowsort +SELECT COUNT(*), max(a) FROM tbl1 GROUP BY list_sum(a::INT[]) % 2 == 0 HAVING list_sum(a::INT[]) % 2 == 0 NOT NULL; +---- +1 [10, 11, 12] +3 [7, 8, 9] + + +query II +SELECT MAX(a), MIN(a) FROM tbl1; +---- +[10, 11, 12] [1, 2, 3] diff --git a/test/sql/types/nested/array/array_cast.test b/test/sql/types/nested/array/array_cast.test new file mode 100644 index 000000000000..7eae912430f6 --- /dev/null +++ b/test/sql/types/nested/array/array_cast.test @@ -0,0 +1,163 @@ +# name: test/sql/types/nested/array/array_cast.test +# group: [array] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +# Should be able to cast to varchar +query I +SELECT array_value(1, 2, 3)::VARCHAR +---- +[1, 2, 3] + +# Should be able to cast to list +query I +SELECT array_value(1, 2, 3)::INT[] +---- +[1, 2, 3] + +# Should be able to implicitly cast to list +query I +SELECT list_extract(array_value(1, 2, 3), 2) +---- +2 + +# Should not be able to implicitly cast to list with unnest +statement error +SELECT * FROM UNNEST(array_value(1, 2, 3)) +---- + +# Should be able to cast to list with unnest +query I +SELECT unnest(array_value(1, 2, 3)::INT[]) +---- +1 +2 +3 + +# Should be able to cast if the elements are castable +query I +SELECT array_value('1.0', '2.0', '3.0')::DOUBLE[3] +---- +[1.0, 2.0, 3.0] + +# Should not be able to cast arrays of different lengths +statement error +SELECT array_value(1, 2, 3)::INT[2] +---- +Conversion Error: Cannot cast array of size 3 to array of size 2 + +# Should not be able to cast arrays of different lengths +statement error +SELECT array_value(1, 2, 3)::INT[4] +---- +Conversion Error: Cannot cast array of size 3 to array of size 4 + +# Should be able to cast from list to array +query I +SELECT [1,2,3]::INT[3] +---- +[1, 2, 3] + +# Should be able to cast from list to array if child types are castable +query I +SELECT ['1.0', '2.0', '3.0']::DOUBLE[3] +---- +[1.0, 2.0, 3.0] + +# Should not be able to cast from list to array if child types are not castable +statement error +SELECT [1, 2, 3]::BLOB[3] +---- + +# Should be able to cast from NULL +query I +SELECT NULL::INT[3] +---- +NULL + +# Should be able to cast from list if all elements have the same length +query I +SELECT [[1, 2, 3], [4, 5, 6]]::INT[3][2] +---- +[[1, 2, 3], [4, 5, 6]] + +# Should be able to null-cast from list +query I +SELECT (NULL::INT[])::INT[3] +---- +NULL + +query I +SELECT c::INT[3] FROM (VALUES ([1,2,3]), ([4,NULL,6]), (NULL), ([7,8,9])) as t(c); +---- +[1, 2, 3] +[4, NULL, 6] +NULL +[7, 8, 9] + +# Should not be able to cast from list if all elements do not have the same length +statement error +SELECT [1,2,3]::INT[2] +---- +Conversion Error: Cannot cast list with length 3 to array with length 2 + + +statement error +SELECT [[1, 2, 3], [4, 5, 6, 7]]::INT[3][2] +---- +Conversion Error: Cannot cast list with length 4 to array with length 3 + + +# Should be able to implict cast arrays if the elements are castable +statement ok +CREATE OR REPLACE TABLE t1 AS SELECT [1, 2, 3]::INT[3]; + +statement ok +CREATE OR REPLACE TABLE t2 AS SELECT ['4', '5', '6']::VARCHAR[3]; + +statement ok +INSERT INTO t2 SELECT * FROM t1; + + +# Should be able to cast with nulls +query I +SELECT ([1, NULL, 3]::INT[3])::VARCHAR[3] +---- +[1, NULL, 3] + +query I +SELECT (NULL::INT[3])::VARCHAR +---- +NULL + +# Should not be able to cast if the elements are not castable +statement error +SELECT (['2', 'abc', '3']::VARCHAR[3])::INT[] +---- + +# Should not be able to cast to unrelated type +statement error +SELECT ([1,2,3]::INT[3])::INT; +---- + +# Should not be able to cast to list if child types fail +query I +SELECT TRY_CAST([42, 999, NULL, NULL, -42]::INT[5] AS TIMESTAMP WITH TIME ZONE[]); +---- +[NULL, NULL, NULL, NULL, NULL] + +# Should be able to cast null arrays of different types +query I +select (NULL::INT[3])::VARCHAR[3]; +---- +NULL + +# Should be able to cast from varchar +query I +SELECT '[1, 2, 3]'::INTEGER[3] +---- +[1, 2, 3] diff --git a/test/sql/types/nested/array/array_compression.test_slow b/test/sql/types/nested/array/array_compression.test_slow new file mode 100644 index 000000000000..93d2703eb250 --- /dev/null +++ b/test/sql/types/nested/array/array_compression.test_slow @@ -0,0 +1,37 @@ +# name: test/sql/types/nested/array/array_compression.test_slow +# description: Test array compression and storage +# group: [array] + +# load the DB from disk +load __TEST_DIR__/array_compression.db + +statement ok +PRAGMA enable_verification + +foreach compression + +statement ok +PRAGMA force_compression='${compression}' + +statement ok +CREATE TABLE tbl1 AS SELECT array_value(1,NULL,3) + +loop i 0 12 + +statement ok +INSERT INTO tbl1 SELECT * FROM tbl1; + +endloop + +query I nosort r1 +SELECT * FROM tbl1; + +restart + +query I nosort r1 +SELECT * FROM tbl1; + +statement ok +DROP TABLE tbl1; + +endloop \ No newline at end of file diff --git a/test/sql/types/nested/array/array_coverage.test b/test/sql/types/nested/array/array_coverage.test new file mode 100644 index 000000000000..c7a5abc26ba0 --- /dev/null +++ b/test/sql/types/nested/array/array_coverage.test @@ -0,0 +1,45 @@ +# name: test/sql/types/nested/array/array_coverage.test +# group: [array] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +query I +SELECT DISTINCT array_value(array_value(1, 2, 3), array_value(4,5,6)); +---- +[[1, 2, 3], [4, 5, 6]] + +query I +SELECT DISTINCT array_value([1,2,3], [4,5,6]); +---- +[[1, 2, 3], [4, 5, 6]] + +query I +SELECT DISTINCT [array_value(1,2,3), array_value(4,5,6)]; +---- +[[1, 2, 3], [4, 5, 6]] + + +query I +SELECT * FROM (VALUES (array_value(NULL, 'abc')), (array_value(NULL, 'defg')), (NULL)) ORDER BY 1 DESC; +---- +[NULL, defg] +[NULL, abc] +NULL + +query I +SELECT * FROM (VALUES (array_value(NULL, 'ghf', NULL)), (array_value(NULL, NULL, 'defg')), (NULL)) ORDER BY 1 DESC; +---- +[NULL, NULL, defg] +[NULL, ghf, NULL] +NULL + +query I +SELECT * FROM (VALUES (array_value(NULL, NULL, 'ghf')), (array_value(NULL, 'defg', NULL)), (NULL)) ORDER BY 1 DESC; +---- +[NULL, NULL, ghf] +[NULL, defg, NULL] +NULL diff --git a/test/sql/types/nested/array/array_invalid.test b/test/sql/types/nested/array/array_invalid.test new file mode 100644 index 000000000000..802acfbefa9e --- /dev/null +++ b/test/sql/types/nested/array/array_invalid.test @@ -0,0 +1,67 @@ +# name: test/sql/types/nested/array/array_invalid.test +# group: [array] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +# Should not be able to create an array with 0 elements +statement error +CREATE TABLE t1(a INT, b INT[0]); +---- + +# Should not be able to create an array above limit +# this is more than the postgres parser allows +statement error +CREATE TABLE t1(a INT, b INT[4294967299]); +---- +Parser Error: syntax error at or near "4294967299" + +# Should not be able to create an array above limit +# this is more than what we allow +statement error +CREATE TABLE t1(a INT, b INT[2147483647]); +---- +Parser Error: Arrays must have a size of at most 100000 + +# Should not be able to create an array with 0 elements +statement error +SELECT array_value(); +---- + +# Should not be able to create an array with a negative number of elements +statement error +CREATE TABLE t1(a INT, b INT[-1]); +---- + +# Should not be able to create an array with a non-integer number of elements +statement error +CREATE TABLE t1(a INT, b INT[1.5]); +---- + +# Should not be able to create an array with a non-integer number of elements +statement error +CREATE TABLE t1(a INT, b INT['foobar']); +---- + +# Should not be able to cast array to 0 elements +statement error +SELECT ([1,2,3]::INTEGER[3])::INTEGER[0]; +---- + +# Should not be able to cast array to a negative number of elements +statement error +SELECT ([1,2,3]::INTEGER[3])::INTEGER[-1]; +---- + +# Should not be able to cast array to a non-integer number of elements +statement error +SELECT ([1,2,3]::INTEGER[3])::INTEGER[1.5]; +---- + +# Should not be able to cast array to a non-integer number of elements +statement error +SELECT ([1,2,3]::INTEGER[3])::INTEGER['foobar']; +---- diff --git a/test/sql/types/nested/array/array_joins.test b/test/sql/types/nested/array/array_joins.test new file mode 100644 index 000000000000..f23a638aeb84 --- /dev/null +++ b/test/sql/types/nested/array/array_joins.test @@ -0,0 +1,114 @@ +# name: test/sql/types/nested/array/array_joins.test +# group: [array] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +statement ok +CREATE TABLE t1(i INTEGER, a INTEGER[3]) + +statement ok +INSERT INTO t1 VALUES + (1, array_value(1,2,3)), + (2, array_value(NULL,5,6)), + (3, array_value(7,NULL,9)), + (4, array_value(10,11,NULL)); + + +query II +SELECT DISTINCT * FROM t1 ORDER BY ALL; +---- +1 [1, 2, 3] +2 [NULL, 5, 6] +3 [7, NULL, 9] +4 [10, 11, NULL] + +# Nested case with ARRAY in ARRAY +statement ok +CREATE OR REPLACE TABLE t1(i INTEGER, a INTEGER[][3]) + +statement ok +INSERT INTO t1 +SELECT + i, + array_value(list_value(i, i + 1, i + 2), list_value(i + 3, i + 4, i + 5), list_value(i + 6,i + 7,i + 8)) +FROM range(0,9*9,9) as r(i); + +query II +SELECT DISTINCT * FROM t1 ORDER BY ALL; +---- +0 [[0, 1, 2], [3, 4, 5], [6, 7, 8]] +9 [[9, 10, 11], [12, 13, 14], [15, 16, 17]] +18 [[18, 19, 20], [21, 22, 23], [24, 25, 26]] +27 [[27, 28, 29], [30, 31, 32], [33, 34, 35]] +36 [[36, 37, 38], [39, 40, 41], [42, 43, 44]] +45 [[45, 46, 47], [48, 49, 50], [51, 52, 53]] +54 [[54, 55, 56], [57, 58, 59], [60, 61, 62]] +63 [[63, 64, 65], [66, 67, 68], [69, 70, 71]] +72 [[72, 73, 74], [75, 76, 77], [78, 79, 80]] + + + +foreach COLLECTION array_value list_value + +statement ok +CREATE OR REPLACE TABLE t1 AS SELECT * FROM ( + VALUES + (1, ${COLLECTION}(1,2)), + (2, ${COLLECTION}(NULL,5)), + (3, NULL), +) as t(i, a); + +statement ok +CREATE OR REPLACE TABLE t2 AS SELECT * FROM ( + VALUES + (1, ${COLLECTION}(4,5)), + (2, ${COLLECTION}(8,9)), + (3, ${COLLECTION}(6,7)), + (4, ${COLLECTION}(1,2)) +) as t(i, a); + +query III +SELECT * FROM t1 JOIN t2 USING (i) ORDER BY ALL; +---- +1 [1, 2] [4, 5] +2 [NULL, 5] [8, 9] +3 NULL [6, 7] + +query IIII +SELECT * FROM t1 JOIN t2 ON t1.a = t2.a ORDER BY ALL; +---- +1 [1, 2] 4 [1, 2] + + +query III +SELECT * FROM t1 FULL OUTER JOIN t2 USING (i) ORDER BY ALL; +---- +1 [1, 2] [4, 5] +2 [NULL, 5] [8, 9] +3 NULL [6, 7] +4 NULL [1, 2] + + +endloop + + +# Anti-join + +foreach COLLECTION INT[3] INT[] + +statement ok +CREATE OR REPLACE TABLE t1 AS SELECT * FROM (VALUES (1, [1,2,3]::${COLLECTION}), (2, [4,5,6]::${COLLECTION}), (3, [1,2,3]::${COLLECTION})); + +query IIII +SELECT * FROM t1 as a JOIN t1 as b ON (a.col1 != b.col1) ORDER BY ALL; +---- +1 [1, 2, 3] 2 [4, 5, 6] +2 [4, 5, 6] 1 [1, 2, 3] +2 [4, 5, 6] 3 [1, 2, 3] +3 [1, 2, 3] 2 [4, 5, 6] + +endloop diff --git a/test/sql/types/nested/array/array_large.test b/test/sql/types/nested/array/array_large.test new file mode 100644 index 000000000000..6bfdf759a4e2 --- /dev/null +++ b/test/sql/types/nested/array/array_large.test @@ -0,0 +1,54 @@ +# name: test/sql/types/nested/array/array_large.test +# group: [array] + +# Test large arrays (> VECTOR_SIZE elements) + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +statement ok +CREATE TABLE t1 (a INT[4096]); + +statement ok +INSERT INTO t1 VALUES (range(0, 4096)); + +# Round-trip test +query I +SELECT list_sum(a::INT[]) == list_sum(range(0, 4096)) FROM t1; +---- +true + +# Large child lists +statement ok +CREATE TABLE t2 AS SELECT array_value(a) AS i FROM range(0, 4096) r(a); + +query I +SELECT sum(i[1]) FROM t2; +---- +8386560 + +statement ok +CREATE TABLE t3 AS SELECT array_value(a, a+1) AS i FROM range(0, 4096) r(a); + +query I +SELECT sum(i[1]) == 8386560 AND sum(i[2]) == 8390656 FROM t3; +---- +true + +# Test with some nulls interpersed +statement ok +CREATE OR REPLACE TABLE t4 AS SELECT * FROM range(0, 4096) as r(a); + +statement ok +UPDATE t4 SET a = NULL WHERE a % 2 = 0; + +statement ok +CREATE TABLE t5 AS SELECT array_value(a) AS i FROM t4; + +query I +SELECT sum(i[1]) FROM t5; +---- +4194304 diff --git a/test/sql/types/nested/array/array_limit_offset.test b/test/sql/types/nested/array/array_limit_offset.test new file mode 100644 index 000000000000..8dc702616bc9 --- /dev/null +++ b/test/sql/types/nested/array/array_limit_offset.test @@ -0,0 +1,34 @@ +# name: test/sql/types/nested/array/array_limit_offset.test +# description: Test array type limit and offset +# group: [array] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +statement ok +CREATE TABLE tbl1 (a INT[3]); + +statement ok +INSERT INTO tbl1 VALUES ([1, 2, 3]), ([4, NULL, 6]), ([7, 8, 9]), (NULL), ([10, 11, 12]); + + +query I +SELECT * FROM tbl1 LIMIT 1; +---- +[1, 2, 3] + +query I +SELECT * FROM tbl1 OFFSET 1; +---- +[4, NULL, 6] +[7, 8, 9] +NULL +[10, 11, 12] + +query I +SELECT * FROM tbl1 OFFSET 1 LIMIT 1; +---- +[4, NULL, 6] diff --git a/test/sql/types/nested/array/array_list_agg.test b/test/sql/types/nested/array/array_list_agg.test new file mode 100644 index 000000000000..9fdd6ad0ef85 --- /dev/null +++ b/test/sql/types/nested/array/array_list_agg.test @@ -0,0 +1,36 @@ +# name: test/sql/types/nested/array/array_list_agg.test +# group: [array] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE arrays (a INTEGER[3]); + +statement ok +INSERT INTO arrays VALUES ([1, 2, 3]), ([1, 2, 4]), ([7, 8, 9]), ([-1, -2, -3]), (NULL), ([4, NULL, 2]) + +query I +SELECT list(a) FROM arrays; +---- +[[1, 2, 3], [1, 2, 4], [7, 8, 9], [-1, -2, -3], NULL, [4, NULL, 2]] + +query I +SELECT list(a ORDER BY a[3] ASC) FROM arrays; +---- +[[-1, -2, -3], [4, NULL, 2], [1, 2, 3], [1, 2, 4], [7, 8, 9], NULL] + +query I +SELECT list(a ORDER BY a[3] DESC) FROM arrays; +---- +[[7, 8, 9], [1, 2, 4], [1, 2, 3], [4, NULL, 2], [-1, -2, -3], NULL] + +# TODO: this does not work with verification, bug is reproducible on main (with list_value), issue has been filed. + +statement ok +pragma disable_verification + +query I +SELECT list(array_value({'foo': [10]})); +---- +[[{'foo': [10]}]] diff --git a/test/sql/types/nested/array/array_misc.test b/test/sql/types/nested/array/array_misc.test new file mode 100644 index 000000000000..954e0fa666ea --- /dev/null +++ b/test/sql/types/nested/array/array_misc.test @@ -0,0 +1,144 @@ +# name: test/sql/types/nested/array/array_misc.test +# group: [array] + +require json + +require parquet + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +statement ok +CREATE TABLE arrays (a INTEGER[3]) + +statement ok +INSERT INTO arrays VALUES ([1, 2, 3]), ([1, 2, 4]), ([7, 8, 9]), ([-1, -2, -3]), (NULL), ([4, NULL, 2]) + +query I +SELECT a[3] FROM arrays +---- +3 +4 +9 +-3 +NULL +2 + +query I +SELECT DISTINCT a FROM arrays ORDER BY ALL +---- +[-1, -2, -3] +[1, 2, 3] +[1, 2, 4] +[4, NULL, 2] +[7, 8, 9] +NULL + +query I +SELECT DISTINCT a FROM arrays WHERE a[1] > 0 ORDER BY ALL +---- +[1, 2, 3] +[1, 2, 4] +[4, NULL, 2] +[7, 8, 9] + +query I +SELECT * FROM ( + SELECT a FROM ARRAYS + UNION + SELECT a FROM ARRAYS +) +ORDER BY ALL +---- +[-1, -2, -3] +[1, 2, 3] +[1, 2, 4] +[4, NULL, 2] +[7, 8, 9] +NULL + +query I +SELECT * FROM ( + SELECT a FROM ARRAYS WHERE a[1] > 0 + UNION + SELECT a FROM ARRAYS WHERE a[1] > 0 +) +ORDER BY ALL +---- +[1, 2, 3] +[1, 2, 4] +[4, NULL, 2] +[7, 8, 9] + +query I +SELECT first(DISTINCT a ORDER BY a) FROM arrays +---- +[-1, -2, -3] + +query I +SELECT a::VARCHAR FROM arrays ORDER BY ALL +---- +[-1, -2, -3] +[1, 2, 3] +[1, 2, 4] +[4, NULL, 2] +[7, 8, 9] +NULL + +query I +SELECT TRY_CAST(a::INTEGER[] AS INTEGER[3]) FROM ARRAYS ORDER BY ALL +---- +[-1, -2, -3] +[1, 2, 3] +[1, 2, 4] +[4, NULL, 2] +[7, 8, 9] +NULL + +query I +SELECT a[2:-1] FROM arrays +---- +[2, 3] +[2, 4] +[8, 9] +[-2, -3] +NULL +[NULL, 2] + +query I +SELECT a[3:99] FROM arrays +---- +[3] +[4] +[9] +[-3] +NULL +[2] + +query IIIIII +DESCRIBE SELECT * FROM arrays +---- +a INTEGER[3] YES NULL NULL NULL + +query I +SELECT a.filter(x -> x > 0) FROM arrays +---- +[1, 2, 3] +[1, 2, 4] +[7, 8, 9] +[] +NULL +[4, 2] + +query I +SELECT a.apply(x -> x + 1)::INTEGER[3] FROM arrays +---- +[2, 3, 4] +[2, 3, 5] +[8, 9, 10] +[0, -1, -2] +NULL +[5, NULL, 3] diff --git a/test/sql/types/nested/array/array_roundtrip_csv.test b/test/sql/types/nested/array/array_roundtrip_csv.test new file mode 100644 index 000000000000..4f90c335f704 --- /dev/null +++ b/test/sql/types/nested/array/array_roundtrip_csv.test @@ -0,0 +1,24 @@ +# name: test/sql/types/nested/array/array_roundtrip_csv.test +# group: [array] + +statement ok +PRAGMA verify_external + +statement ok +PRAGMA enable_verification + +statement ok +CREATE OR REPLACE TABLE arrays2 (a INTEGER[3]) + +statement ok +COPY (SELECT [range, range + 1, range + 2] a FROM range(3)) TO '__TEST_DIR__/arrays_csv_test.csv' WITH (HEADER false) + +statement ok +COPY arrays2 FROM '__TEST_DIR__/arrays_csv_test.csv' + +query I +SELECT * FROM arrays2 +---- +[0, 1, 2] +[1, 2, 3] +[2, 3, 4] diff --git a/test/sql/types/nested/array/array_roundtrip_json.test b/test/sql/types/nested/array/array_roundtrip_json.test new file mode 100644 index 000000000000..20cc0c0d81f6 --- /dev/null +++ b/test/sql/types/nested/array/array_roundtrip_json.test @@ -0,0 +1,42 @@ +# name: test/sql/types/nested/array/array_roundtrip_json.test +# group: [array] + +require json + +statement ok +PRAGMA verify_external + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE arrays (a INTEGER[3]) + +statement ok +INSERT INTO arrays VALUES ([1, 2, 3]), ([1, 2, 4]), ([7, 8, 9]), ([-1, -2, -3]), (NULL), ([4, NULL, 2]) + +query I +SELECT a::JSON FROM arrays +---- +[1,2,3] +[1,2,4] +[7,8,9] +[-1,-2,-3] +NULL +[4,null,2] + +statement ok +CREATE OR REPLACE TABLE arrays2 (a INTEGER[3]) + +statement ok +COPY (SELECT [range, range + 1, range + 2] a FROM range(3)) TO '__TEST_DIR__/arrays_parquet_test.json' + +statement ok +COPY arrays2 FROM '__TEST_DIR__/arrays_parquet_test.json' + +query I +SELECT * FROM arrays2 +---- +[0, 1, 2] +[1, 2, 3] +[2, 3, 4] diff --git a/test/sql/types/nested/array/array_roundtrip_parquet.test b/test/sql/types/nested/array/array_roundtrip_parquet.test new file mode 100644 index 000000000000..ea15bea97542 --- /dev/null +++ b/test/sql/types/nested/array/array_roundtrip_parquet.test @@ -0,0 +1,26 @@ +# name: test/sql/types/nested/array/array_roundtrip_parquet.test +# group: [array] + +require parquet + +statement ok +PRAGMA verify_external + +statement ok +PRAGMA enable_verification + +statement ok +CREATE OR REPLACE TABLE arrays2 (a INTEGER[3]) + +statement ok +COPY (SELECT [range, range + 1, range + 2] a FROM range(3)) TO '__TEST_DIR__/arrays_parquet_test.parquet' + +statement ok +COPY arrays2 FROM '__TEST_DIR__/arrays_parquet_test.parquet' + +query I +SELECT * FROM arrays2 +---- +[0, 1, 2] +[1, 2, 3] +[2, 3, 4] diff --git a/test/sql/types/nested/array/array_simple.test b/test/sql/types/nested/array/array_simple.test new file mode 100644 index 000000000000..1a000db8a7c0 --- /dev/null +++ b/test/sql/types/nested/array/array_simple.test @@ -0,0 +1,74 @@ +# name: test/sql/types/nested/array/array_simple.test +# group: [array] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +query I +SELECT array_value(1, 2, 3); +---- +[1, 2, 3] + +query I +SELECT array_value(i -1, i, i + 1) +FROM range(1,4) as r(i); +---- +[0, 1, 2] +[1, 2, 3] +[2, 3, 4] + +# Storage +statement ok +CREATE TABLE t1 (c INT[2]) + +statement ok +INSERT INTO t1 VALUES (array_value(1, 2)) + +query I +SELECT * FROM t1 +---- +[1, 2] + +statement ok +INSERT INTO t1 VALUES (array_value(3, 4)) + +query I +SELECT * FROM t1 ORDER BY c DESC +---- +[3, 4] +[1, 2] + +# Sorting +statement ok +CREATE OR REPLACE TABLE t1 AS SELECT * FROM (VALUES (array_value(6, NULL)), (array_value(1, 2)), (array_value(NULL,NULL)), (array_value(NULL, 3))); + +query I +SELECT * FROM t1 ORDER BY 1 DESC; +---- +[NULL, NULL] +[NULL, 3] +[6, NULL] +[1, 2] + +query I +SELECT * FROM t1 ORDER BY 1 ASC; +---- +[1, 2] +[6, NULL] +[NULL, 3] +[NULL, NULL] + + +# Aggregates +statement ok +CREATE OR REPLACE TABLE t1 AS SELECT * FROM VALUES + (array_value(1,2), 1), + (array_value(3,4), 2) as t(a, i); + +query II +SELECT MAX(i), arg_max(a, i) FROM t1; +---- +2 [3, 4] diff --git a/test/sql/types/nested/array/array_sort.test b/test/sql/types/nested/array/array_sort.test new file mode 100644 index 000000000000..5c79241bcbb2 --- /dev/null +++ b/test/sql/types/nested/array/array_sort.test @@ -0,0 +1,334 @@ +# name: test/sql/types/nested/array/array_sort.test +# group: [array] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +query I +SELECT array_value(i -1, i, i + 1) FROM range(4,1,-1) as r(i) ORDER BY 1 DESC; +---- +[3, 4, 5] +[2, 3, 4] +[1, 2, 3] + +query I +SELECT array_value(i -1, i, i + 1) FROM range(4,1,-1) as r(i) ORDER BY 1 ASC; +---- +[1, 2, 3] +[2, 3, 4] +[3, 4, 5] + +# Try with larger arrays (more than 1 byte of validity data) +query I +SELECT * FROM (VALUES (array_value(0,1,2,3,4,NULL,6,7,8,9)), (array_value(10,11,NULL,13,14,15,16,17,NULL,19))) ORDER BY 1 ASC; +---- +[0, 1, 2, 3, 4, NULL, 6, 7, 8, 9] +[10, 11, NULL, 13, 14, 15, 16, 17, NULL, 19] + + +query I +SELECT * FROM (VALUES (array_value(0,1,2,3,4,NULL,6,7,8,9)), (array_value(10,11,NULL,13,14,15,16,17,NULL,19))) ORDER BY 1 DESC +---- +[10, 11, NULL, 13, 14, 15, 16, 17, NULL, 19] +[0, 1, 2, 3, 4, NULL, 6, 7, 8, 9] + + +# Nested larger array sorting +query I +SELECT * FROM (VALUES + (array_value(array_value(0,1,2,3,4,NULL,6,7,8,9), array_value(10,11,NULL,13,14,15,16,17,NULL,19))), + (array_value(NULL, NULL)), + (array_value(NULL, array_value(20,21,22,23,24,NULL,26,27,28,29))), + (NULL), + (array_value(array_value(20,21,22,23,24,NULL,26,27,28,29), array_value(30,31,NULL,33,34,35,36,37,NULL,39))) +) ORDER BY 1 ASC; +---- +[[0, 1, 2, 3, 4, NULL, 6, 7, 8, 9], [10, 11, NULL, 13, 14, 15, 16, 17, NULL, 19]] +[[20, 21, 22, 23, 24, NULL, 26, 27, 28, 29], [30, 31, NULL, 33, 34, 35, 36, 37, NULL, 39]] +[NULL, [20, 21, 22, 23, 24, NULL, 26, 27, 28, 29]] +[NULL, NULL] +NULL + + +# Nested sorting +# Test combinations of array/list nesting (up to 3 levels) + +foreach COLLECTION_OUTER array_value list_value + +foreach COLLECTION_MIDDLE array_value list_value + +foreach COLLECTION_INNER array_value list_value + +query I +WITH + a(i) AS (SELECT * FROM range(0,2)), + b(i) AS (SELECT ${COLLECTION_INNER}(a1.i, a2.i) FROM a as a1, a as a2), + c(i) AS (SELECT ${COLLECTION_MIDDLE}(b1.i, b2.i) FROM b as b1, b as b2) +SELECT ${COLLECTION_OUTER}(c1.i, c2.i) FROM c as c1, c as c2 +ORDER BY 1 ASC; +---- +[[[0, 0], [0, 0]], [[0, 0], [0, 0]]] +[[[0, 0], [0, 0]], [[0, 0], [0, 1]]] +[[[0, 0], [0, 0]], [[0, 0], [1, 0]]] +[[[0, 0], [0, 0]], [[0, 0], [1, 1]]] +[[[0, 0], [0, 0]], [[0, 1], [0, 0]]] +[[[0, 0], [0, 0]], [[0, 1], [0, 1]]] +[[[0, 0], [0, 0]], [[0, 1], [1, 0]]] +[[[0, 0], [0, 0]], [[0, 1], [1, 1]]] +[[[0, 0], [0, 0]], [[1, 0], [0, 0]]] +[[[0, 0], [0, 0]], [[1, 0], [0, 1]]] +[[[0, 0], [0, 0]], [[1, 0], [1, 0]]] +[[[0, 0], [0, 0]], [[1, 0], [1, 1]]] +[[[0, 0], [0, 0]], [[1, 1], [0, 0]]] +[[[0, 0], [0, 0]], [[1, 1], [0, 1]]] +[[[0, 0], [0, 0]], [[1, 1], [1, 0]]] +[[[0, 0], [0, 0]], [[1, 1], [1, 1]]] +[[[0, 0], [0, 1]], [[0, 0], [0, 0]]] +[[[0, 0], [0, 1]], [[0, 0], [0, 1]]] +[[[0, 0], [0, 1]], [[0, 0], [1, 0]]] +[[[0, 0], [0, 1]], [[0, 0], [1, 1]]] +[[[0, 0], [0, 1]], [[0, 1], [0, 0]]] +[[[0, 0], [0, 1]], [[0, 1], [0, 1]]] +[[[0, 0], [0, 1]], [[0, 1], [1, 0]]] +[[[0, 0], [0, 1]], [[0, 1], [1, 1]]] +[[[0, 0], [0, 1]], [[1, 0], [0, 0]]] +[[[0, 0], [0, 1]], [[1, 0], [0, 1]]] +[[[0, 0], [0, 1]], [[1, 0], [1, 0]]] +[[[0, 0], [0, 1]], [[1, 0], [1, 1]]] +[[[0, 0], [0, 1]], [[1, 1], [0, 0]]] +[[[0, 0], [0, 1]], [[1, 1], [0, 1]]] +[[[0, 0], [0, 1]], [[1, 1], [1, 0]]] +[[[0, 0], [0, 1]], [[1, 1], [1, 1]]] +[[[0, 0], [1, 0]], [[0, 0], [0, 0]]] +[[[0, 0], [1, 0]], [[0, 0], [0, 1]]] +[[[0, 0], [1, 0]], [[0, 0], [1, 0]]] +[[[0, 0], [1, 0]], [[0, 0], [1, 1]]] +[[[0, 0], [1, 0]], [[0, 1], [0, 0]]] +[[[0, 0], [1, 0]], [[0, 1], [0, 1]]] +[[[0, 0], [1, 0]], [[0, 1], [1, 0]]] +[[[0, 0], [1, 0]], [[0, 1], [1, 1]]] +[[[0, 0], [1, 0]], [[1, 0], [0, 0]]] +[[[0, 0], [1, 0]], [[1, 0], [0, 1]]] +[[[0, 0], [1, 0]], [[1, 0], [1, 0]]] +[[[0, 0], [1, 0]], [[1, 0], [1, 1]]] +[[[0, 0], [1, 0]], [[1, 1], [0, 0]]] +[[[0, 0], [1, 0]], [[1, 1], [0, 1]]] +[[[0, 0], [1, 0]], [[1, 1], [1, 0]]] +[[[0, 0], [1, 0]], [[1, 1], [1, 1]]] +[[[0, 0], [1, 1]], [[0, 0], [0, 0]]] +[[[0, 0], [1, 1]], [[0, 0], [0, 1]]] +[[[0, 0], [1, 1]], [[0, 0], [1, 0]]] +[[[0, 0], [1, 1]], [[0, 0], [1, 1]]] +[[[0, 0], [1, 1]], [[0, 1], [0, 0]]] +[[[0, 0], [1, 1]], [[0, 1], [0, 1]]] +[[[0, 0], [1, 1]], [[0, 1], [1, 0]]] +[[[0, 0], [1, 1]], [[0, 1], [1, 1]]] +[[[0, 0], [1, 1]], [[1, 0], [0, 0]]] +[[[0, 0], [1, 1]], [[1, 0], [0, 1]]] +[[[0, 0], [1, 1]], [[1, 0], [1, 0]]] +[[[0, 0], [1, 1]], [[1, 0], [1, 1]]] +[[[0, 0], [1, 1]], [[1, 1], [0, 0]]] +[[[0, 0], [1, 1]], [[1, 1], [0, 1]]] +[[[0, 0], [1, 1]], [[1, 1], [1, 0]]] +[[[0, 0], [1, 1]], [[1, 1], [1, 1]]] +[[[0, 1], [0, 0]], [[0, 0], [0, 0]]] +[[[0, 1], [0, 0]], [[0, 0], [0, 1]]] +[[[0, 1], [0, 0]], [[0, 0], [1, 0]]] +[[[0, 1], [0, 0]], [[0, 0], [1, 1]]] +[[[0, 1], [0, 0]], [[0, 1], [0, 0]]] +[[[0, 1], [0, 0]], [[0, 1], [0, 1]]] +[[[0, 1], [0, 0]], [[0, 1], [1, 0]]] +[[[0, 1], [0, 0]], [[0, 1], [1, 1]]] +[[[0, 1], [0, 0]], [[1, 0], [0, 0]]] +[[[0, 1], [0, 0]], [[1, 0], [0, 1]]] +[[[0, 1], [0, 0]], [[1, 0], [1, 0]]] +[[[0, 1], [0, 0]], [[1, 0], [1, 1]]] +[[[0, 1], [0, 0]], [[1, 1], [0, 0]]] +[[[0, 1], [0, 0]], [[1, 1], [0, 1]]] +[[[0, 1], [0, 0]], [[1, 1], [1, 0]]] +[[[0, 1], [0, 0]], [[1, 1], [1, 1]]] +[[[0, 1], [0, 1]], [[0, 0], [0, 0]]] +[[[0, 1], [0, 1]], [[0, 0], [0, 1]]] +[[[0, 1], [0, 1]], [[0, 0], [1, 0]]] +[[[0, 1], [0, 1]], [[0, 0], [1, 1]]] +[[[0, 1], [0, 1]], [[0, 1], [0, 0]]] +[[[0, 1], [0, 1]], [[0, 1], [0, 1]]] +[[[0, 1], [0, 1]], [[0, 1], [1, 0]]] +[[[0, 1], [0, 1]], [[0, 1], [1, 1]]] +[[[0, 1], [0, 1]], [[1, 0], [0, 0]]] +[[[0, 1], [0, 1]], [[1, 0], [0, 1]]] +[[[0, 1], [0, 1]], [[1, 0], [1, 0]]] +[[[0, 1], [0, 1]], [[1, 0], [1, 1]]] +[[[0, 1], [0, 1]], [[1, 1], [0, 0]]] +[[[0, 1], [0, 1]], [[1, 1], [0, 1]]] +[[[0, 1], [0, 1]], [[1, 1], [1, 0]]] +[[[0, 1], [0, 1]], [[1, 1], [1, 1]]] +[[[0, 1], [1, 0]], [[0, 0], [0, 0]]] +[[[0, 1], [1, 0]], [[0, 0], [0, 1]]] +[[[0, 1], [1, 0]], [[0, 0], [1, 0]]] +[[[0, 1], [1, 0]], [[0, 0], [1, 1]]] +[[[0, 1], [1, 0]], [[0, 1], [0, 0]]] +[[[0, 1], [1, 0]], [[0, 1], [0, 1]]] +[[[0, 1], [1, 0]], [[0, 1], [1, 0]]] +[[[0, 1], [1, 0]], [[0, 1], [1, 1]]] +[[[0, 1], [1, 0]], [[1, 0], [0, 0]]] +[[[0, 1], [1, 0]], [[1, 0], [0, 1]]] +[[[0, 1], [1, 0]], [[1, 0], [1, 0]]] +[[[0, 1], [1, 0]], [[1, 0], [1, 1]]] +[[[0, 1], [1, 0]], [[1, 1], [0, 0]]] +[[[0, 1], [1, 0]], [[1, 1], [0, 1]]] +[[[0, 1], [1, 0]], [[1, 1], [1, 0]]] +[[[0, 1], [1, 0]], [[1, 1], [1, 1]]] +[[[0, 1], [1, 1]], [[0, 0], [0, 0]]] +[[[0, 1], [1, 1]], [[0, 0], [0, 1]]] +[[[0, 1], [1, 1]], [[0, 0], [1, 0]]] +[[[0, 1], [1, 1]], [[0, 0], [1, 1]]] +[[[0, 1], [1, 1]], [[0, 1], [0, 0]]] +[[[0, 1], [1, 1]], [[0, 1], [0, 1]]] +[[[0, 1], [1, 1]], [[0, 1], [1, 0]]] +[[[0, 1], [1, 1]], [[0, 1], [1, 1]]] +[[[0, 1], [1, 1]], [[1, 0], [0, 0]]] +[[[0, 1], [1, 1]], [[1, 0], [0, 1]]] +[[[0, 1], [1, 1]], [[1, 0], [1, 0]]] +[[[0, 1], [1, 1]], [[1, 0], [1, 1]]] +[[[0, 1], [1, 1]], [[1, 1], [0, 0]]] +[[[0, 1], [1, 1]], [[1, 1], [0, 1]]] +[[[0, 1], [1, 1]], [[1, 1], [1, 0]]] +[[[0, 1], [1, 1]], [[1, 1], [1, 1]]] +[[[1, 0], [0, 0]], [[0, 0], [0, 0]]] +[[[1, 0], [0, 0]], [[0, 0], [0, 1]]] +[[[1, 0], [0, 0]], [[0, 0], [1, 0]]] +[[[1, 0], [0, 0]], [[0, 0], [1, 1]]] +[[[1, 0], [0, 0]], [[0, 1], [0, 0]]] +[[[1, 0], [0, 0]], [[0, 1], [0, 1]]] +[[[1, 0], [0, 0]], [[0, 1], [1, 0]]] +[[[1, 0], [0, 0]], [[0, 1], [1, 1]]] +[[[1, 0], [0, 0]], [[1, 0], [0, 0]]] +[[[1, 0], [0, 0]], [[1, 0], [0, 1]]] +[[[1, 0], [0, 0]], [[1, 0], [1, 0]]] +[[[1, 0], [0, 0]], [[1, 0], [1, 1]]] +[[[1, 0], [0, 0]], [[1, 1], [0, 0]]] +[[[1, 0], [0, 0]], [[1, 1], [0, 1]]] +[[[1, 0], [0, 0]], [[1, 1], [1, 0]]] +[[[1, 0], [0, 0]], [[1, 1], [1, 1]]] +[[[1, 0], [0, 1]], [[0, 0], [0, 0]]] +[[[1, 0], [0, 1]], [[0, 0], [0, 1]]] +[[[1, 0], [0, 1]], [[0, 0], [1, 0]]] +[[[1, 0], [0, 1]], [[0, 0], [1, 1]]] +[[[1, 0], [0, 1]], [[0, 1], [0, 0]]] +[[[1, 0], [0, 1]], [[0, 1], [0, 1]]] +[[[1, 0], [0, 1]], [[0, 1], [1, 0]]] +[[[1, 0], [0, 1]], [[0, 1], [1, 1]]] +[[[1, 0], [0, 1]], [[1, 0], [0, 0]]] +[[[1, 0], [0, 1]], [[1, 0], [0, 1]]] +[[[1, 0], [0, 1]], [[1, 0], [1, 0]]] +[[[1, 0], [0, 1]], [[1, 0], [1, 1]]] +[[[1, 0], [0, 1]], [[1, 1], [0, 0]]] +[[[1, 0], [0, 1]], [[1, 1], [0, 1]]] +[[[1, 0], [0, 1]], [[1, 1], [1, 0]]] +[[[1, 0], [0, 1]], [[1, 1], [1, 1]]] +[[[1, 0], [1, 0]], [[0, 0], [0, 0]]] +[[[1, 0], [1, 0]], [[0, 0], [0, 1]]] +[[[1, 0], [1, 0]], [[0, 0], [1, 0]]] +[[[1, 0], [1, 0]], [[0, 0], [1, 1]]] +[[[1, 0], [1, 0]], [[0, 1], [0, 0]]] +[[[1, 0], [1, 0]], [[0, 1], [0, 1]]] +[[[1, 0], [1, 0]], [[0, 1], [1, 0]]] +[[[1, 0], [1, 0]], [[0, 1], [1, 1]]] +[[[1, 0], [1, 0]], [[1, 0], [0, 0]]] +[[[1, 0], [1, 0]], [[1, 0], [0, 1]]] +[[[1, 0], [1, 0]], [[1, 0], [1, 0]]] +[[[1, 0], [1, 0]], [[1, 0], [1, 1]]] +[[[1, 0], [1, 0]], [[1, 1], [0, 0]]] +[[[1, 0], [1, 0]], [[1, 1], [0, 1]]] +[[[1, 0], [1, 0]], [[1, 1], [1, 0]]] +[[[1, 0], [1, 0]], [[1, 1], [1, 1]]] +[[[1, 0], [1, 1]], [[0, 0], [0, 0]]] +[[[1, 0], [1, 1]], [[0, 0], [0, 1]]] +[[[1, 0], [1, 1]], [[0, 0], [1, 0]]] +[[[1, 0], [1, 1]], [[0, 0], [1, 1]]] +[[[1, 0], [1, 1]], [[0, 1], [0, 0]]] +[[[1, 0], [1, 1]], [[0, 1], [0, 1]]] +[[[1, 0], [1, 1]], [[0, 1], [1, 0]]] +[[[1, 0], [1, 1]], [[0, 1], [1, 1]]] +[[[1, 0], [1, 1]], [[1, 0], [0, 0]]] +[[[1, 0], [1, 1]], [[1, 0], [0, 1]]] +[[[1, 0], [1, 1]], [[1, 0], [1, 0]]] +[[[1, 0], [1, 1]], [[1, 0], [1, 1]]] +[[[1, 0], [1, 1]], [[1, 1], [0, 0]]] +[[[1, 0], [1, 1]], [[1, 1], [0, 1]]] +[[[1, 0], [1, 1]], [[1, 1], [1, 0]]] +[[[1, 0], [1, 1]], [[1, 1], [1, 1]]] +[[[1, 1], [0, 0]], [[0, 0], [0, 0]]] +[[[1, 1], [0, 0]], [[0, 0], [0, 1]]] +[[[1, 1], [0, 0]], [[0, 0], [1, 0]]] +[[[1, 1], [0, 0]], [[0, 0], [1, 1]]] +[[[1, 1], [0, 0]], [[0, 1], [0, 0]]] +[[[1, 1], [0, 0]], [[0, 1], [0, 1]]] +[[[1, 1], [0, 0]], [[0, 1], [1, 0]]] +[[[1, 1], [0, 0]], [[0, 1], [1, 1]]] +[[[1, 1], [0, 0]], [[1, 0], [0, 0]]] +[[[1, 1], [0, 0]], [[1, 0], [0, 1]]] +[[[1, 1], [0, 0]], [[1, 0], [1, 0]]] +[[[1, 1], [0, 0]], [[1, 0], [1, 1]]] +[[[1, 1], [0, 0]], [[1, 1], [0, 0]]] +[[[1, 1], [0, 0]], [[1, 1], [0, 1]]] +[[[1, 1], [0, 0]], [[1, 1], [1, 0]]] +[[[1, 1], [0, 0]], [[1, 1], [1, 1]]] +[[[1, 1], [0, 1]], [[0, 0], [0, 0]]] +[[[1, 1], [0, 1]], [[0, 0], [0, 1]]] +[[[1, 1], [0, 1]], [[0, 0], [1, 0]]] +[[[1, 1], [0, 1]], [[0, 0], [1, 1]]] +[[[1, 1], [0, 1]], [[0, 1], [0, 0]]] +[[[1, 1], [0, 1]], [[0, 1], [0, 1]]] +[[[1, 1], [0, 1]], [[0, 1], [1, 0]]] +[[[1, 1], [0, 1]], [[0, 1], [1, 1]]] +[[[1, 1], [0, 1]], [[1, 0], [0, 0]]] +[[[1, 1], [0, 1]], [[1, 0], [0, 1]]] +[[[1, 1], [0, 1]], [[1, 0], [1, 0]]] +[[[1, 1], [0, 1]], [[1, 0], [1, 1]]] +[[[1, 1], [0, 1]], [[1, 1], [0, 0]]] +[[[1, 1], [0, 1]], [[1, 1], [0, 1]]] +[[[1, 1], [0, 1]], [[1, 1], [1, 0]]] +[[[1, 1], [0, 1]], [[1, 1], [1, 1]]] +[[[1, 1], [1, 0]], [[0, 0], [0, 0]]] +[[[1, 1], [1, 0]], [[0, 0], [0, 1]]] +[[[1, 1], [1, 0]], [[0, 0], [1, 0]]] +[[[1, 1], [1, 0]], [[0, 0], [1, 1]]] +[[[1, 1], [1, 0]], [[0, 1], [0, 0]]] +[[[1, 1], [1, 0]], [[0, 1], [0, 1]]] +[[[1, 1], [1, 0]], [[0, 1], [1, 0]]] +[[[1, 1], [1, 0]], [[0, 1], [1, 1]]] +[[[1, 1], [1, 0]], [[1, 0], [0, 0]]] +[[[1, 1], [1, 0]], [[1, 0], [0, 1]]] +[[[1, 1], [1, 0]], [[1, 0], [1, 0]]] +[[[1, 1], [1, 0]], [[1, 0], [1, 1]]] +[[[1, 1], [1, 0]], [[1, 1], [0, 0]]] +[[[1, 1], [1, 0]], [[1, 1], [0, 1]]] +[[[1, 1], [1, 0]], [[1, 1], [1, 0]]] +[[[1, 1], [1, 0]], [[1, 1], [1, 1]]] +[[[1, 1], [1, 1]], [[0, 0], [0, 0]]] +[[[1, 1], [1, 1]], [[0, 0], [0, 1]]] +[[[1, 1], [1, 1]], [[0, 0], [1, 0]]] +[[[1, 1], [1, 1]], [[0, 0], [1, 1]]] +[[[1, 1], [1, 1]], [[0, 1], [0, 0]]] +[[[1, 1], [1, 1]], [[0, 1], [0, 1]]] +[[[1, 1], [1, 1]], [[0, 1], [1, 0]]] +[[[1, 1], [1, 1]], [[0, 1], [1, 1]]] +[[[1, 1], [1, 1]], [[1, 0], [0, 0]]] +[[[1, 1], [1, 1]], [[1, 0], [0, 1]]] +[[[1, 1], [1, 1]], [[1, 0], [1, 0]]] +[[[1, 1], [1, 1]], [[1, 0], [1, 1]]] +[[[1, 1], [1, 1]], [[1, 1], [0, 0]]] +[[[1, 1], [1, 1]], [[1, 1], [0, 1]]] +[[[1, 1], [1, 1]], [[1, 1], [1, 0]]] +[[[1, 1], [1, 1]], [[1, 1], [1, 1]]] + +endloop + +endloop + +endloop diff --git a/test/sql/types/nested/array/array_statistics.test b/test/sql/types/nested/array/array_statistics.test new file mode 100644 index 000000000000..b739d2a62894 --- /dev/null +++ b/test/sql/types/nested/array/array_statistics.test @@ -0,0 +1,14 @@ +# name: test/sql/types/nested/array/array_statistics.test +# group: [array] + +# TODO: this does not work with verification, bug is reproducible on main (with list_value), issue has been filed. + +query I +SELECT STATS(array_value(1,2)); +---- +[[Min: 1, Max: 2][Has Null: false, Has No Null: true]][Has Null: false, Has No Null: true][Approx Unique: 1] + + +# Trigger unknown statistics propagation +statement ok +PREPARE v1 AS SELECT array_cross_product($1::float[3], $2::float[3]) diff --git a/test/sql/types/nested/array/array_storage.test b/test/sql/types/nested/array/array_storage.test new file mode 100644 index 000000000000..e9a6e76d1985 --- /dev/null +++ b/test/sql/types/nested/array/array_storage.test @@ -0,0 +1,122 @@ +# name: test/sql/types/nested/array/array_storage.test +# group: [array] + +load __TEST_DIR__/temp_array_storage.db + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE t1(i INT, a INT[3]); + +statement ok +checkpoint; + +statement ok +INSERT INTO t1 VALUES(1, [1, 2, 3]::INT[3]); + +statement ok +checkpoint; + +query IIIIIIIIIIIIIII rowsort +SELECT * FROM pragma_storage_info('t1'); +---- +0 a 1 [1, 0] 0 VALIDITY 0 1 Constant [Has Null: false, Has No Null: true] false true -1 0 (empty) +0 a 1 [1, 1, 0] 0 VALIDITY 0 3 Constant [Has Null: false, Has No Null: true] false true -1 0 (empty) +0 a 1 [1, 1] 0 INTEGER 0 3 Uncompressed [Min: 1, Max: 3][Has Null: false, Has No Null: true] false true 1 0 (empty) +0 i 0 [0, 0] 0 VALIDITY 0 1 Constant [Has Null: false, Has No Null: true] false true -1 0 (empty) +0 i 0 [0] 0 INTEGER 0 1 Constant [Min: 1, Max: 1][Has Null: false, Has No Null: true] false true -1 0 (empty) + + +statement ok +INSERT INTO t1 SELECT * FROM (VALUES(2, [4, NULL, 6]::INT[3])); + +statement ok +INSERT INTO t1 VALUES(3, NULL); + +statement ok +INSERT INTO t1 VALUES(4, [7, 8, 9]::INT[3]); + +statement ok +checkpoint; + +restart + +query II rowsort +SELECT * FROM t1 ORDER BY i; +---- +1 [1, 2, 3] +2 [4, NULL, 6] +3 NULL +4 [7, 8, 9] + + +query IIII rowsort +SELECT * FROM t1 as a JOIN t1 as b ON (a.a != b.a) ORDER BY a.i, b.i; +---- +1 [1, 2, 3] 2 [4, NULL, 6] +1 [1, 2, 3] 4 [7, 8, 9] +2 [4, NULL, 6] 1 [1, 2, 3] +2 [4, NULL, 6] 4 [7, 8, 9] +4 [7, 8, 9] 1 [1, 2, 3] +4 [7, 8, 9] 2 [4, NULL, 6] + + +query II +SELECT * FROM t1 WHERE a = array_value(1,2,3); +---- +1 [1, 2, 3] + +query II +SELECT * FROM t1 WHERE a[1] = 4; +---- +2 [4, NULL, 6] + + +query II +SELECT * FROM t1 LIMIT 1 OFFSET 1; +---- +2 [4, NULL, 6] + + +# Now try with > than vector size elements + +statement ok +CREATE TABLE t2(i INT, a INT[3]); + +# First 1500 elements +statement ok +INSERT INTO t2 SELECT i, array_value(i, i + 1, i + 2) FROM range(0,1501) AS t(i); + +# Next 1500 elements +statement ok +INSERT INTO t2 SELECT + i, array_value(i, i + 1, i + 2) +FROM range(1501,3001) AS t(i); + +statement ok +checkpoint; + +restart + +query II rowsort +SELECT * FROM t2 WHERE i = 5; +---- +5 [5, 6, 7] + +query II rowsort +SELECT * FROM t2 WHERE i = 3000; +---- +3000 [3000, 3001, 3002] + +query II rowsort +SELECT * FROM t2 WHERE i = 1200; +---- +1200 [1200, 1201, 1202] + +statement ok +CREATE TABLE t4 (i INT[3]); + +statement ok +INSERT INTO t4 SELECT array_value(a::VARCHAR,b::VARCHAR,c::VARCHAR) FROM range(1,100) AS r1(a), range(1,100) AS r2(b), range(1,50) AS r3(c); + diff --git a/test/sql/types/nested/array/array_storage_2.test b/test/sql/types/nested/array/array_storage_2.test new file mode 100644 index 000000000000..993480557655 --- /dev/null +++ b/test/sql/types/nested/array/array_storage_2.test @@ -0,0 +1,25 @@ +# name: test/sql/types/nested/array/array_storage_2.test +# group: [array] + +load __TEST_DIR__/temp_array_storage_2.db + +statement ok +PRAGMA enable_verification + +statement ok +pragma preserve_insertion_order=true + +statement ok +CREATE TABLE t4 (i INT[3]); + +statement ok +INSERT INTO t4 SELECT array_value(a::VARCHAR,b::VARCHAR,c::VARCHAR) +FROM range(1,100) AS r1(a), range(1,100) AS r2(b), range(1,50) AS r3(c); + +statement ok +INSERT INTO t4 SELECT array_value(5, 5, 5); + +query I +SELECT * FROM t4 OFFSET 480249 +---- +[5, 5, 5] diff --git a/test/sql/types/nested/array/array_storage_3.test b/test/sql/types/nested/array/array_storage_3.test new file mode 100644 index 000000000000..2cf737e3937a --- /dev/null +++ b/test/sql/types/nested/array/array_storage_3.test @@ -0,0 +1,35 @@ +# name: test/sql/types/nested/array/array_storage_3.test +# group: [array] + +# Test arrays that span row groups + +load __TEST_DIR__/temp_array_storage_3.db + +statement ok +PRAGMA enable_verification + +statement ok +pragma preserve_insertion_order=true + +statement ok +CREATE TABLE tbl1 AS SELECT array_value(a, a) FROM range(0,122881) AS r1(a) + +query I +SELECT * FROM tbl1 LIMIT 1 OFFSET 0; +---- +[0, 0] + +query I +SELECT * FROM tbl1 LIMIT 1 OFFSET 122880 // 2 +---- +[61440, 61440] + +query I +SELECT * FROM tbl1 LIMIT 1 OFFSET 122879 +---- +[122879, 122879] + +query I +SELECT * FROM tbl1 LIMIT 1 OFFSET 122880 +---- +[122880, 122880] diff --git a/test/sql/types/nested/array/array_string_heap_gather.test_slow b/test/sql/types/nested/array/array_string_heap_gather.test_slow new file mode 100644 index 000000000000..cc5445661dbb --- /dev/null +++ b/test/sql/types/nested/array/array_string_heap_gather.test_slow @@ -0,0 +1,35 @@ +# name: test/sql/types/nested/array/array_string_heap_gather.test_slow +# group: [array] + +statement ok +PRAGMA verify_external + +statement ok +PRAGMA enable_verification + +# Test for list +statement ok +CREATE TABLE test_list AS +SELECT range % 4 g, + 10000 - range o, + [range, range + 1, range + 2]::VARCHAR[] a, + range i +FROM range(10000); + +query IIII rowsort expected_result +SELECT g o, a, sum(i) OVER (PARTITION BY g ORDER BY o) FROM test_list; +---- + +# We expect arrays to produce the same result as lists +statement ok +CREATE TABLE test_array AS +SELECT range % 4 g, + 10000 - range o, + [range, range + 1, range + 2]::VARCHAR[3] a, + range i +FROM range(10000); + + +query IIII rowsort expected_result +SELECT g o, a, sum(i) OVER (PARTITION BY g ORDER BY o) FROM test_array; +---- diff --git a/test/sql/types/nested/array/array_summarize.test b/test/sql/types/nested/array/array_summarize.test new file mode 100644 index 000000000000..6085b89a9c15 --- /dev/null +++ b/test/sql/types/nested/array/array_summarize.test @@ -0,0 +1,39 @@ +# name: test/sql/types/nested/array/array_summarize.test +# group: [array] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE arrays (a INTEGER[3]) + +statement ok +INSERT INTO arrays VALUES ([1, 2, 3]), ([1, 2, 4]), ([7, 8, 9]), ([-1, -2, -3]), (NULL), ([4, NULL, 2]) + +query IIIIIIIIIIII +SUMMARIZE arrays +---- +a INTEGER[3] [-1, -2, -3] [7, 8, 9] 5 NULL NULL NULL NULL NULL 6 16.67 + +query I +SELECT a FROM arrays ORDER BY a LIMIT 1 +---- +[-1, -2, -3] + +query I +SELECT min(a) FROM arrays +---- +[-1, -2, -3] + +query I +SELECT max(a) FROM arrays +---- +[7, 8, 9] + +statement ok +INSERT INTO arrays VALUES ([-7, -8, -9]), ([-8, -9, -10]) + +query I +SELECT max(a) FROM arrays +---- +[7, 8, 9] diff --git a/test/sql/types/nested/array/array_try_cast.test b/test/sql/types/nested/array/array_try_cast.test new file mode 100644 index 000000000000..d419cddb2737 --- /dev/null +++ b/test/sql/types/nested/array/array_try_cast.test @@ -0,0 +1,85 @@ +# name: test/sql/types/nested/array/array_try_cast.test +# group: [array] + +statement ok +PRAGMA enable_verification + +query I +SELECT TRY_CAST(array_value(1,2) as INTEGER[3]); +---- +NULL + +statement error +SELECT CAST(array_value(1,2) as INTEGER[3]); +---- +Conversion Error: Cannot cast array of size 2 to array of size 3 + +# Nested array try cast +query I +SELECT TRY_CAST(x as INT[2][2]) FROM (VALUES ([[1,2],[3,4]]), ([[5,6],[7,8]])) AS t(x) +---- +[[1, 2], [3, 4]] +[[5, 6], [7, 8]] + +query I +SELECT TRY_CAST(x as INT[2][2]) FROM (VALUES ([[1,2],[3,4]]), ([[5,6],[7,8,9]])) AS t(x) +---- +[[1, 2], [3, 4]] +[[5, 6], NULL] + +statement error +SELECT CAST(x as INT[2][2]) FROM (VALUES ([[1,2],[3,4]]), ([[5,6],[7,8,9]])) AS t(x) +---- +Cannot cast list with length 3 to array with length 2 + +query I +SELECT TRY_CAST(x as INT[2][2]) FROM (VALUES ([[1,2],[3,4]]), ([[5,6],[7,8],[9,10]])) AS t(x) +---- +[[1, 2], [3, 4]] +NULL + +statement error +SELECT CAST(x as INT[2][2]) FROM (VALUES ([[1,2],[3,4]]), ([[5,6],[7,8],[9,10]])) AS t(x) +---- +Conversion Error: Cannot cast list with length 3 to array with length 2 + +# VARCHAR -> ARRAY +query I +SELECT TRY_CAST('[1,2]' as INTEGER[3]); +---- +NULL + +statement error +SELECT CAST('[1,2]' as INTEGER[3]); +---- +Conversion Error: Type VARCHAR with value '[1,2]' can't be cast to the destination type ARRAY[3], the size of the array must match the destination type + +query I +SELECT CAST('[NULL, [1], [NULL]]' as INTEGER[1][3]); +---- +[NULL, [1], [NULL]] + +query I +SELECT TRY_CAST('[NULL, [1], [abc]]' as INTEGER[1][3]) +---- +[NULL, [1], [NULL]] + +query I +SELECT TRY_CAST('[NULL, [1,NULL,3], [1,2,3]]' as INTEGER[3][3]); +---- +[NULL, [1, NULL, 3], [1, 2, 3]] + +query I +SELECT CAST('[NULL, [1,NULL,3], [1,2,3]]' as INTEGER[3][3]); +---- +[NULL, [1, NULL, 3], [1, 2, 3]] + +statement error +SELECT CAST('[NULL, [1,NULL,3], [1,2]]' as INTEGER[3][3]); +---- +Conversion Error: Type VARCHAR with value '[1,2]' can't be cast to the destination type ARRAY[3], the size of the array must match the destination type + +query I +SELECT TRY_CAST('[NULL, [1,NULL,3], [1,2]]' as INTEGER[3][3]); +---- +[NULL, [1, NULL, 3], NULL] diff --git a/test/sql/types/nested/array/array_try_cast_vector_types.test b/test/sql/types/nested/array/array_try_cast_vector_types.test new file mode 100644 index 000000000000..63e0b39b856c --- /dev/null +++ b/test/sql/types/nested/array/array_try_cast_vector_types.test @@ -0,0 +1,28 @@ +# name: test/sql/types/nested/array/array_try_cast_vector_types.test +# group: [array] + +require vector_size 2048 + +statement ok +PRAGMA enable_verification + +# Array try cast +query I rowsort +SELECT TRY_CAST(test_vector AS INT[2]) AS a FROM test_vector_types(NULL::INTEGER[]) +---- +NULL +NULL +NULL +NULL +NULL +NULL +[-2147483648, 2147483647] +[-2147483648, 2147483647] +[-2147483648, 2147483647] +[-2147483648, 2147483647] +[3, 5] + +statement error +SELECT CAST(test_vector AS INT[2]) AS a FROM test_vector_types(NULL::INTEGER[]) +---- +Cannot cast list with length 0 to array with length 2 diff --git a/test/sql/types/nested/array/array_tupleformat.test b/test/sql/types/nested/array/array_tupleformat.test new file mode 100644 index 000000000000..74317f1edfb7 --- /dev/null +++ b/test/sql/types/nested/array/array_tupleformat.test @@ -0,0 +1,91 @@ +# name: test/sql/types/nested/array/array_tupleformat.test +# group: [array] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA verify_external + +statement ok +CREATE TABLE t1 (i VARCHAR[3]) + +statement ok +INSERT INTO t1 VALUES (array_value('1',NULL,'3')), (NULL), (array_value(NULL,'5','6')); + +query I rowsort +SELECT DISTINCT * FROM t1; +---- +NULL +[1, NULL, 3] +[NULL, 5, 6] + +statement ok +CREATE TABLE t2(i VARCHAR[2][2]) + +statement ok +INSERT INTO t2 VALUES (array_value(array_value('1', NULL), array_value(NULL, '2'))), (NULL), (array_value(array_value('3', NULL), array_value(NULL, '4'))); + +query I rowsort +SELECT DISTINCT * FROM t2; +---- +NULL +[[1, NULL], [NULL, 2]] +[[3, NULL], [NULL, 4]] + +# +statement ok +CREATE TABLE t3(i VARCHAR[2][]) + +statement ok +INSERT INTO t3 VALUES (array_value(list_value('1', NULL), list_value(NULL, '2'))), (NULL), (array_value(list_value('3', NULL), list_value(NULL, '4'))); + +query I rowsort +SELECT DISTINCT * FROM t3; +---- +NULL +[[1, NULL], [NULL, 2]] +[[3, NULL], [NULL, 4]] + + +statement ok +CREATE TABLE t4(i VARCHAR[][2]) + +statement ok +INSERT INTO t4 VALUES (list_value(array_value('1', NULL), array_value(NULL, '2'))), (NULL), (list_value(array_value('3', NULL), array_value(NULL, '4'))); + +query I rowsort +SELECT DISTINCT * FROM t4; +---- +NULL +[[1, NULL], [NULL, 2]] +[[3, NULL], [NULL, 4]] + +statement ok +CREATE TABLE t5(i VARCHAR[][2][]) + +statement ok +INSERT INTO t5 VALUES (list_value(list_value(array_value('1', NULL), array_value(NULL, '2')))), (NULL), (list_value(list_value(array_value('3', NULL), array_value(NULL, '4')))); + +query I rowsort +SELECT DISTINCT * FROM t5; +---- +NULL +[[[1, NULL], [NULL, 2]]] +[[[3, NULL], [NULL, 4]]] + +statement ok +CREATE TABLE t6(i VARCHAR[2][][2]) + +statement ok +INSERT INTO t6 VALUES + (array_value([array_value('1', NULL)], [array_value(NULL, '2')])), + (NULL), + (array_value([array_value('3', NULL)], [array_value(NULL, '4')])); + +query I rowsort +SELECT DISTINCT * FROM t6; +---- +NULL +[[[1, NULL]], [[NULL, 2]]] +[[[3, NULL]], [[NULL, 4]]] diff --git a/test/sql/types/nested/list/array.test b/test/sql/types/nested/list/array.test index ada0b05acbdd..5abe3de94599 100644 --- a/test/sql/types/nested/list/array.test +++ b/test/sql/types/nested/list/array.test @@ -38,16 +38,16 @@ SELECT ARRAY[i] FROM range(3) tbl(i) WHERE (ARRAY[i])[1] == 1 [1] # conversion failure (mixed types) -query I -SELECT ARRAY[i, 'hello'] FROM range(3) tbl(i) WHERE (ARRAY[i])[1] == 1 +statement error +SELECT ARRAY[i, 'hello'] FROM generate_series(0,2) tbl(i) WHERE (ARRAY[i])[1] == 1 ---- -[1, hello] +Could not convert string # conversion failure (nested mixed types) -query I +statement error SELECT ARRAY[ARRAY[1], ARRAY['hello']] ---- -[[1], [hello]] +explicit cast is required # array casts query I @@ -69,6 +69,7 @@ SELECT ARRAY[[1, 2], [3, 4]]::BIGINT[][] # this doesn't work: int[][] to bigint[] statement error SELECT ARRAY[[1, 2], [3, 4]]::BIGINT[] +---- # however, this does work # casting to varchar[] or varchar @@ -78,16 +79,11 @@ SELECT ARRAY[[1, 2], [3, 4]]::VARCHAR[] ---- [[1, 2], [3, 4]] -mode skip - -# FIXME: double unnest -query I +# double unnest +statement error SELECT UNNEST(UNNEST(ARRAY[[1, 2], [3, 4]]::VARCHAR[][])) ---- -[1, 2] -[3, 4] - -mode unskip +not supported query I SELECT UNNEST(ARRAY[[1, 2], [3, 4]]::VARCHAR[]) diff --git a/test/sql/types/nested/list/list.test_slow b/test/sql/types/nested/list/list.test_slow index 907cd7f41e64..df39b548b965 100644 --- a/test/sql/types/nested/list/list.test_slow +++ b/test/sql/types/nested/list/list.test_slow @@ -11,4 +11,4 @@ CREATE TABLE test AS (SELECT range i, 0 as j FROM range(70000)); query I SELECT list(i)[70000] FROM test GROUP BY j; ---- -69999 \ No newline at end of file +69999 diff --git a/test/sql/types/nested/list/list_aggr_parameter.test b/test/sql/types/nested/list/list_aggr_parameter.test index 342de1709a54..e351e625e9af 100644 --- a/test/sql/types/nested/list/list_aggr_parameter.test +++ b/test/sql/types/nested/list/list_aggr_parameter.test @@ -16,25 +16,30 @@ SELECT list_aggr(list(i), 'quantile', [0.25, 0.5, 0.75]) FROM range(1, 11) tbl(i [3, 5, 8] query I -SELECT list_aggr(list(i), 'string_agg', '|') FROM range(1, 4) tbl(i); +SELECT list_aggr(list(i)::varchar[], 'string_agg', '|') FROM range(1, 4) tbl(i); ---- 1|2|3 # non-constant argument (not supported right now) statement error SELECT list_aggr([0, 1, 2, 3], 'arg_min', i) FROM range(1, 4) tbl(i); +---- # not enough arguments statement error SELECT list_aggr(list(i), 'quantile') FROM range(10) tbl(i); +---- # too many arguments statement error SELECT list_aggr(list(i), 'min', 1) FROM range(10) tbl(i); +---- statement error SELECT list_aggr(list(i), 'quantile', 0.5, 0.3, 0.5) FROM range(10) tbl(i); +---- # non-constant argument statement error SELECT list_aggr(list(i), 'quantile', i) FROM range(10) tbl(i); +---- diff --git a/test/sql/types/nested/list/list_aggregates.test b/test/sql/types/nested/list/list_aggregates.test index 76f3b0196aa9..89811cc43eeb 100644 --- a/test/sql/types/nested/list/list_aggregates.test +++ b/test/sql/types/nested/list/list_aggregates.test @@ -74,7 +74,7 @@ select i%3 a, unnest(first([i])) from range(10) tbl(i) group by a order by a; 2 2 query I -select string_agg(list_value(i), ',') from range(10) tbl(i); +select string_agg(list_value(i)::varchar, ',') from range(10) tbl(i); ---- [0],[1],[2],[3],[4],[5],[6],[7],[8],[9] diff --git a/test/sql/types/nested/list/test_list_extract.test b/test/sql/types/nested/list/test_list_extract.test index dc8536a7cf45..5c7af4310e83 100644 --- a/test/sql/types/nested/list/test_list_extract.test +++ b/test/sql/types/nested/list/test_list_extract.test @@ -10,10 +10,10 @@ SELECT LIST_EXTRACT(NULL, 1) ---- NULL -query I +statement error SELECT LIST_EXTRACT(42, 1) ---- -4 +No function matches query I SELECT LIST_EXTRACT(LIST_VALUE(), 1) @@ -133,6 +133,11 @@ SELECT LIST_EXTRACT(LIST_VALUE(42::HUGEINT), 1) ---- 42 +query I +SELECT LIST_EXTRACT(LIST_VALUE(42::UHUGEINT), 1) +---- +42 + query I SELECT LIST_EXTRACT(LIST_VALUE(42::FLOAT), 1) ---- diff --git a/test/sql/types/nested/list/test_list_slice.test b/test/sql/types/nested/list/test_list_slice.test index 17527fa73f9e..a4b9d9b01c2e 100644 --- a/test/sql/types/nested/list/test_list_slice.test +++ b/test/sql/types/nested/list/test_list_slice.test @@ -299,3 +299,4 @@ NULL statement error SELECT (1)[1:2]; +---- diff --git a/test/sql/types/nested/list/test_list_slice_step.test b/test/sql/types/nested/list/test_list_slice_step.test index 6c811688eec7..29bd8ce1239e 100644 --- a/test/sql/types/nested/list/test_list_slice_step.test +++ b/test/sql/types/nested/list/test_list_slice_step.test @@ -169,9 +169,11 @@ select a[:-:step] from tbl; # ERROR's statement error SELECT '12345'[1:3:2]; +---- statement error SELECT ([1,2,3,4,5])[1:3:0]; +---- statement ok CREATE TABLE err(a INT[], start int, stop int, step int); @@ -184,6 +186,7 @@ INSERT INTO err VALUES ([1,4,5,6,7,8], 1, 3, 0); statement error SELECT a[start:stop:step] from err; +---- # NULL's query I diff --git a/test/sql/types/nested/list/test_nested_list.test b/test/sql/types/nested/list/test_nested_list.test index ec435478a09a..e77ec89e8f32 100644 --- a/test/sql/types/nested/list/test_nested_list.test +++ b/test/sql/types/nested/list/test_nested_list.test @@ -235,44 +235,58 @@ SELECT SUM(ue) FROM (SELECT UNNEST(le) ue FROM (SELECT g, LIST(e) le from list_d # this is technically equivalent but is not supported statement error SELECT SUM(UNNEST(le)) FROM ( SELECT g, LIST(e) le from list_data GROUP BY g ORDER BY g) xx +---- # you're holding it wrong statement error SELECT LIST(LIST(42)) +---- statement error SELECT UNNEST(UNNEST(LIST(42)) +---- statement error SELECT LIST() +---- statement error SELECT LIST() FROM list_data +---- statement error SELECT LIST(e, g) FROM list_data +---- statement error SELECT g, UNNEST(l+1) u FROM (SELECT g, LIST(e) l FROM list_data GROUP BY g) u1 +---- statement error SELECT g, UNNEST(g) u FROM (SELECT g, LIST(e) l FROM list_data GROUP BY g) u1 +---- statement error SELECT g, UNNEST() u FROM (SELECT g, LIST(e) l FROM list_data GROUP BY g) u1 +---- statement error SELECT UNNEST(42) +---- statement error SELECT UNNEST() +---- statement error SELECT UNNEST(42) from list_data +---- statement error SELECT UNNEST() from list_data +---- statement error SELECT g FROM (SELECT g, LIST(e) l FROM list_data GROUP BY g) u1 where UNNEST(l) > 42 +---- diff --git a/test/sql/types/nested/list/test_scalar_list.test b/test/sql/types/nested/list/test_scalar_list.test index 78596f012014..21210b060927 100644 --- a/test/sql/types/nested/list/test_scalar_list.test +++ b/test/sql/types/nested/list/test_scalar_list.test @@ -98,27 +98,27 @@ SELECT UNNEST(a) ua FROM (VALUES (LIST_VALUE()), (LIST_VALUE(1, 2, 3, 4)), (LIST NULL 42 -# list types get cast to highest type in values list -query I +# the same auto-casting rules apply to list elements +statement error SELECT * FROM (VALUES (LIST_VALUE(1, 2)), (LIST_VALUE()), (LIST_VALUE('a'))) lv(a) ---- -[1, 2] -[] -[a] +an explicit cast is required # can't cast lists to stuff statement error SELECT CAST(LIST_VALUE(42) AS INTEGER) +---- # can't add a number to a list statement error SELECT LIST_VALUE(42) + 4 +---- -# list value automatically upcasts to the highest type (varchar in this case) +# string literals join the other types in the list query I -SELECT LIST_VALUE(42, 'a') +SELECT LIST_VALUE(42, '84') ---- -[42, a] +[42, 84] # can have unnest anywhere query I @@ -143,7 +143,7 @@ SELECT CASE WHEN g = 2 THEN LIST_VALUE(g, e, 42) ELSE LIST_VALUE(84, NULL) END F [NULL] query I -SELECT CASE WHEN g = 2 THEN LIST_VALUE(g, e, 42) ELSE LIST_VALUE('eeek') END FROM list_data WHERE g > 1 +SELECT CASE WHEN g = 2 THEN LIST_VALUE(g, e, 42)::VARCHAR[] ELSE LIST_VALUE('eeek') END FROM list_data WHERE g > 1 ---- [2, 3, 42] [2, 4, 42] diff --git a/test/sql/types/nested/map/map_from_entries/column_null_entry.test b/test/sql/types/nested/map/map_from_entries/column_null_entry.test index 3ddbcd3a1885..a61f3f8abca9 100644 --- a/test/sql/types/nested/map/map_from_entries/column_null_entry.test +++ b/test/sql/types/nested/map/map_from_entries/column_null_entry.test @@ -43,4 +43,4 @@ INSERT INTO t1 VALUES (ARRAY[NULL, NULL]) statement error SELECT MAP_FROM_ENTRIES(list) FROM t1; ---- -Invalid Input Error: Map keys can not be NULL \ No newline at end of file +Invalid Input Error: Map keys can not be NULL diff --git a/test/sql/types/nested/map/map_from_entries/data_types.test b/test/sql/types/nested/map/map_from_entries/data_types.test index 936812b7b9b8..116b38a942f3 100644 --- a/test/sql/types/nested/map/map_from_entries/data_types.test +++ b/test/sql/types/nested/map/map_from_entries/data_types.test @@ -25,6 +25,7 @@ select col['a'] from string_key; # Invalid statement error create table string_key_dup as select MAP_FROM_ENTRIES(ARRAY[('a', 'x'), ('a', 'y')]) col; +---- # -- TINYINT -- # Valid @@ -44,6 +45,7 @@ select col[123] from tinyint_key; # Invalid statement error create table tinyint_key_dup as select MAP_FROM_ENTRIES(ARRAY[(123, 'x'), (123, 'y')]) col; +---- # -- SMALLINT -- # Valid @@ -63,6 +65,7 @@ select col[123] from smallint_key; # Invalid statement error create table smallint_key_dup as select MAP_FROM_ENTRIES(ARRAY[(123, 'x'), (123, 'y')]) col; +---- # -- INTEGER -- # Valid @@ -82,6 +85,7 @@ select col[123] from integer_key; # Invalid statement error create table integer_key_dup as select MAP_FROM_ENTRIES(ARRAY[(123, 'x'), (123, 'y')]) col; +---- # -- BIGINT -- # Valid @@ -101,6 +105,7 @@ select col[123] from bigint_key; # Invalid statement error create table bigint_key_dup as select MAP_FROM_ENTRIES(ARRAY[(123, 'x'), (123, 'y')]) col; +---- # -- HUGEINT -- # Valid @@ -120,6 +125,7 @@ select col[123] from hugeint_key; # Invalid statement error create table hugeint_key as select MAP_FROM_ENTRIES(ARRAY[(123, 'x'), (123, 'y')]) col; +---- # -- BOOLEAN -- # Valid @@ -139,6 +145,7 @@ select col[True] from boolean_key; # Invalid statement error create table boolean_key_dup as select MAP_FROM_ENTRIES(ARRAY[(True, 'x'), (True, 'y')]) col; +---- # -- BLOB -- # Valid @@ -158,6 +165,7 @@ select col['\xF0\x9F\xA6\x86'::BLOB] from blob_key; # Invalid statement error create table blob_key_dup as select MAP_FROM_ENTRIES(ARRAY[('\xF0\x9F\xA6\x86'::BLOB, 'x'), ('\xF0\x9F\xA6\x86'::BLOB, 'y')]) col; +---- # -- DATE -- # Valid @@ -177,6 +185,7 @@ select col['1992-09-20'::DATE] from date_key; # Invalid statement error create table date_key_dup as select MAP_FROM_ENTRIES(ARRAY[('1992-09-20'::DATE, 'x'), ('1992-09-20'::DATE, 'y')]) col; +---- # -- DOUBLE -- # Valid @@ -196,6 +205,7 @@ select col['12.3'::DOUBLE] from double_key; # Invalid statement error create table double_key_dup as select MAP_FROM_ENTRIES(ARRAY[('12.3'::DOUBLE, 'x'), ('12.3'::DOUBLE, 'y')]) col; +---- # -- REAL -- # Valid @@ -215,6 +225,7 @@ select col['12.3'::REAL] from real_key; # Invalid statement error create table real_key_dup as select MAP_FROM_ENTRIES(ARRAY[('12.3'::REAL, 'x'), ('12.3'::REAL, 'y')]) col; +---- # -- DECIMAL -- # Valid @@ -234,6 +245,7 @@ select col['12.3'::DECIMAL] from decimal_key; # Invalid statement error create table decimal_key_dup as select MAP_FROM_ENTRIES(ARRAY[('12.3'::DECIMAL, 'x'), ('12.3'::DECIMAL, 'y')]) col; +---- # -- INTERVAL -- # Valid @@ -253,6 +265,7 @@ select col[('2022-01-02 01:00:00'::TIMESTAMP - '2022-01-01'::TIMESTAMP)] from in # Invalid statement error create table interval_key_dup as select MAP_FROM_ENTRIES(ARRAY[(('2022-01-02 01:00:00'::TIMESTAMP - '2022-01-01'::TIMESTAMP), 'x'), (('2022-01-02 01:00:00'::TIMESTAMP - '2022-01-01'::TIMESTAMP), 'y')]) col; +---- # -- TIME -- # Valid @@ -272,6 +285,7 @@ select col['12:30:00'::TIME] from time_key; # Invalid statement error create table time_key_dup as select MAP_FROM_ENTRIES(ARRAY[('12:30:00'::TIME, 'x'), ('12:30:00'::TIME, 'y')]) col; +---- # -- TIMESTAMP -- # Valid @@ -291,6 +305,7 @@ select col['1992-09-20 11:30:00'::TIMESTAMP] from timestamp_key; # Invalid statement error create table timestamp_key_dup as select MAP_FROM_ENTRIES(ARRAY[('1992-09-20 11:30:00'::TIMESTAMP, 'x'), ('1992-09-20 11:30:00'::TIMESTAMP, 'y')]) col; +---- # -- UUID -- # Valid @@ -310,3 +325,4 @@ select col['eeccb8c5-9943-b2bb-bb5e-222f4e14b687'::UUID] from uuid_key; # Invalid statement error create table uuid_key_dup as select MAP_FROM_ENTRIES(ARRAY[('eeccb8c5-9943-b2bb-bb5e-222f4e14b687'::UUID, 'x'), ('eeccb8c5-9943-b2bb-bb5e-222f4e14b687'::UUID, 'y')]) col; +---- diff --git a/test/sql/types/nested/map/map_from_entries/empty.test b/test/sql/types/nested/map/map_from_entries/empty.test index cb0adf6074ec..e96f3ddb56b1 100644 --- a/test/sql/types/nested/map/map_from_entries/empty.test +++ b/test/sql/types/nested/map/map_from_entries/empty.test @@ -8,3 +8,4 @@ PRAGMA enable_verification # Empty arguments not allowed statement error SELECT map_from_entries(); +---- diff --git a/test/sql/types/nested/map/map_from_entries/invalid.test b/test/sql/types/nested/map/map_from_entries/invalid.test index 83c535c728c5..cd255b387dbd 100644 --- a/test/sql/types/nested/map/map_from_entries/invalid.test +++ b/test/sql/types/nested/map/map_from_entries/invalid.test @@ -8,26 +8,32 @@ PRAGMA enable_verification # More than one argument statement error SELECT map_from_entries(ARRAY[(1,2), (3,4)], ARRAY[(5,6), (7,8)]); +---- # Argument isn't an array statement error SELECT map_from_entries(5); +---- # ARRAY doesn't contain structs statement error SELECT map_from_entries(ARRAY[5,4,3]); +---- # Struct type contains more than 2 fields (key - value) statement error select MAP_FROM_ENTRIES(ARRAY[(1, 'x', 'extra'), (2, 'y', 'extra')]); +---- # Structs inside the ARRAY have different amounts of fields statement error SELECT MAP_FROM_ENTRIES(ARRAY[(1, 'x'), (2, 'y', 'extra')]); +---- #Keys cant be NULL statement error SELECT MAP_FROM_ENTRIES(ARRAY[(NULL, 2), ([3,4], 4)]); +---- ##Keys have to be unique #statement error diff --git a/test/sql/types/nested/map/map_from_entries/nested.test b/test/sql/types/nested/map/map_from_entries/nested.test index af427634bc3c..41624a6ec920 100644 --- a/test/sql/types/nested/map/map_from_entries/nested.test +++ b/test/sql/types/nested/map/map_from_entries/nested.test @@ -15,6 +15,7 @@ SELECT MAP_FROM_ENTRIES(ARRAY[([1,2], 2), ([3,4], 4)]); # LIST - duplicate statement error SELECT MAP_FROM_ENTRIES(ARRAY[([1,2], 2), ([1,2], 4)]); +---- # STRUCT - correct query I @@ -25,6 +26,7 @@ SELECT MAP_FROM_ENTRIES(ARRAY[({'a':5, 'b':7}, 2), ({'a':3, 'b':8}, 4)]); # STRUCT - duplicate statement error SELECT MAP_FROM_ENTRIES(ARRAY[({'a':5, 'b':7}, 2), ({'a':5, 'b':7}, 4)]); +---- # MAP - correct query I @@ -35,6 +37,7 @@ SELECT MAP_FROM_ENTRIES(ARRAY[(MAP([5,3,4], ['a', 'b', 'c']), 2), (MAP([4,3,5], # MAP - duplicate statement error SELECT MAP_FROM_ENTRIES(ARRAY[(MAP([5,3,4], ['a', 'b', 'c']), 2), (MAP([5,3,4], ['a', 'b', 'c']), 4)]); +---- # LIST(STRUCT) - correct query I @@ -45,3 +48,4 @@ SELECT MAP_FROM_ENTRIES(ARRAY[([{'a':5, 'b':7}, {'a':5, 'b':7}], 2), ([{'a':5, ' # LIST(STRUCT) - duplicate statement error SELECT MAP_FROM_ENTRIES(ARRAY[([{'a':5, 'b':7}, {'a':5, 'b':8}], 2), ([{'a':5, 'b':7}, {'a':5, 'b':8}], 4)]); +---- diff --git a/test/sql/types/nested/map/test_map.test b/test/sql/types/nested/map/test_map.test index 4adb200666d6..135ddc7f6601 100644 --- a/test/sql/types/nested/map/test_map.test +++ b/test/sql/types/nested/map/test_map.test @@ -8,6 +8,7 @@ PRAGMA enable_verification # All keys are NULL statement error select m[NULL] from (select MAP(LIST_VALUE(NULL, NULL, NULL,NULL,NULL ),LIST_VALUE(10,9,10,11,13)) as m) as T +---- query I SELECT MAP(LIST_VALUE({'i':1,'j':2},{'i':3,'j':4}),LIST_VALUE({'i':1,'j':2},{'i':3,'j':4})) as a @@ -17,6 +18,7 @@ SELECT MAP(LIST_VALUE({'i':1,'j':2},{'i':3,'j':4}),LIST_VALUE({'i':1,'j':2},{'i' # Some keys are NULL statement error select MAP(LIST_VALUE(1,NULL,3), LIST_VALUE(6,5,4)) +---- query I select MAP(LIST_VALUE(1,2,3), LIST_VALUE(6,NULL,4)) @@ -32,6 +34,7 @@ select MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7)) # Keys have to be unique statement error select MAP(LIST_VALUE(1,2,3,4,1),LIST_VALUE(10,9,8,7,6)) +---- # Empty maps query I @@ -46,6 +49,7 @@ select MAP() statement error select MAP(NULL) +---- # Test making MAPs from columns statement ok @@ -81,10 +85,12 @@ INSERT INTO tbl VALUES (ARRAY[7,5,7], ARRAY['a', 'b', 'c']) # Keys are not unique for one of the rows statement error SELECT MAP(a, b) FROM tbl; +---- # Lists with different size are FORBIDDEN statement error select MAP(LIST_VALUE(10),LIST_VALUE()) +---- query I select MAP(LIST_VALUE([1],[2],[3],[4]),LIST_VALUE(10,9,8,7)) @@ -95,18 +101,24 @@ select MAP(LIST_VALUE([1],[2],[3],[4]),LIST_VALUE(10,9,8,7)) # Map where the 2 entries are not lists statement error select MAP(10,12) +---- # Map function called with more than 2 lists statement error select MAP(LIST_VALUE(10),LIST_VALUE(10),LIST_VALUE(10)) +---- + # Map where 1 of the 2 entries is not a list statement error select MAP(LIST_VALUE(10),10) +---- #Map with unbalanced list cardinalities statement error select MAP(LIST_VALUE(10,20),LIST_VALUE(10)) +---- #Can't struct extract from a map statement error select struct_extract(m,'key') from (select MAP(LIST_VALUE(NULL, NULL, NULL,NULL,NULL ),LIST_VALUE(10,9,10,11,13)) as m) as T +---- diff --git a/test/sql/types/nested/map/test_map_cardinality.test b/test/sql/types/nested/map/test_map_cardinality.test index 2b9768d70520..2197c443b5de 100644 --- a/test/sql/types/nested/map/test_map_cardinality.test +++ b/test/sql/types/nested/map/test_map_cardinality.test @@ -67,4 +67,4 @@ select grp, m, case when grp>1 then cardinality(m) else 0 end from (select grp, 0 {0=0, 4=4} 0 1 {1=1, 5=5} 0 2 {2=2, 6=6} 2 -3 {3=3} 1 \ No newline at end of file +3 {3=3} 1 diff --git a/test/sql/types/nested/map/test_map_entries.test b/test/sql/types/nested/map/test_map_entries.test index dc6afe8e4bcc..c3202243a422 100644 --- a/test/sql/types/nested/map/test_map_entries.test +++ b/test/sql/types/nested/map/test_map_entries.test @@ -81,4 +81,4 @@ SELECT map_entries(map_from_entries( ] )); ---- -[{'key': a, 'value': 5}, {'key': b, 'value': 6}, {'key': x, 'value': 21}, {'key': abc, 'value': 0}] \ No newline at end of file +[{'key': a, 'value': 5}, {'key': b, 'value': 6}, {'key': x, 'value': 21}, {'key': abc, 'value': 0}] diff --git a/test/sql/types/nested/map/test_map_nested_keys.test b/test/sql/types/nested/map/test_map_nested_keys.test index 29a5b3f9436e..757ddca6e075 100644 --- a/test/sql/types/nested/map/test_map_nested_keys.test +++ b/test/sql/types/nested/map/test_map_nested_keys.test @@ -47,6 +47,7 @@ SELECT MAP( NULL,NULL,NULL,NULL,NULL,NULL ] ); +---- # Nested keys (list) not succesfull (nulls) statement error @@ -58,6 +59,7 @@ SELECT MAP( NULL,NULL,NULL,NULL,NULL,NULL ] ); +---- # Nested keys (struct) succesfull query I @@ -82,6 +84,7 @@ SELECT MAP( 'n', 'o', 'p', 'e' ] ); +---- # Nested keys (struct) not succesfull (null) statement error @@ -93,6 +96,7 @@ SELECT MAP( 'e', 'r', 'r', 'o', 'r' ] ); +---- # Nested keys (map) succesfull query I @@ -117,6 +121,7 @@ SELECT MAP( 0,1,2,3,4,5 ] ); +---- # Nested keys (map) not succesfull (null) statement error @@ -128,3 +133,4 @@ SELECT MAP( 0,1,2,3,4 ] ); +---- diff --git a/test/sql/types/nested/map/test_map_subscript.test b/test/sql/types/nested/map/test_map_subscript.test index 64ea350d0dfe..f75482857dad 100644 --- a/test/sql/types/nested/map/test_map_subscript.test +++ b/test/sql/types/nested/map/test_map_subscript.test @@ -17,6 +17,7 @@ select m[0] from (select MAP(LIST_VALUE(1, 2, 3, 4,5),LIST_VALUE(10, 9, 8, 7,11) # Keys of a MAP can not be NULL statement error select m[NULL] from (select MAP(LIST_VALUE(1, 2, 3, 4,5, NULL),LIST_VALUE(10, 9, 8, 7,11,42)) as m) as T +---- # Null not present on map query I @@ -27,6 +28,7 @@ select m[NULL] from (select MAP(LIST_VALUE(1, 2, 3, 4,5),LIST_VALUE(10, 9, 8, 7, # Keys of a MAP have to be unique statement error select m[2] from (select MAP(LIST_VALUE(1, 2, 3, 4,2),LIST_VALUE(10, 9, 8, 7,11)) as m) as T +---- # Empty maps query I @@ -49,6 +51,7 @@ select m[2::TINYINT] from (select MAP(LIST_VALUE(1, 2, 3, 4,5),LIST_VALUE(10, 9, # Keys of a MAP have to be unique statement error select m['Jon Lajoie'] from (select MAP(LIST_VALUE('Jon Lajoie', 'Backstreet Boys', 'Tenacious D','Jon Lajoie' ),LIST_VALUE(10,9,10,11)) as m) as T +---- query I select m['Spice Girls'] from (select MAP(LIST_VALUE('Jon Lajoie', 'Backstreet Boys', 'Tenacious D' ),LIST_VALUE(10,9,10)) as m) as T @@ -99,10 +102,12 @@ select m[10] from (select MAP(lst,lst) as m from (SELECT LIST(i) as lst FROM ran #Duplicate keys in a map statement error select m[1] from (select MAP(LIST_VALUE(1, 1, 1, 4),LIST_VALUE(10, 9, 8, 7)) as m) as T +---- #String search with a bunch of NULL values in the map statement error select m[NULL] from (select MAP(LIST_VALUE('Jon Lajoie', NULL, 'Tenacious D',NULL,NULL ),LIST_VALUE(10,9,10,11,13)) as m) as T +---- query I select m['Jon Lajoie'] from (select MAP(LIST_VALUE('Jon Lajoie', 'Tenacious D'),LIST_VALUE(10,1)) as m) as T @@ -117,9 +122,11 @@ select m[10] from (select MAP(LIST_VALUE(10,9,1,11,13),LIST_VALUE(NULL, NULL, NU statement error select m[NULL] from (select MAP(LIST_VALUE(NULL, NULL, NULL,NULL,NULL ),LIST_VALUE(10,9,10,11,13)) as m) as T +---- statement error select m[NULL] from (select MAP(LIST_VALUE(NULL, NULL, NULL,NULL, NULL),LIST_VALUE(NULL, NULL, NULL,NULL,NULL )) as m) as T +---- #Searching using a non-constant value (e.g. select m[a] from ...) statement ok diff --git a/test/sql/types/nested/map/test_map_subscript_composite.test b/test/sql/types/nested/map/test_map_subscript_composite.test index d171b453be41..6faa93342c20 100644 --- a/test/sql/types/nested/map/test_map_subscript_composite.test +++ b/test/sql/types/nested/map/test_map_subscript_composite.test @@ -17,6 +17,7 @@ select m[[2,3]] from (select MAP(LIST_VALUE([0], [1], [2,0], [3], [5]),LIST_VALU # Keys of a MAP can not be NULL statement error select m[NULL] from (select MAP(LIST_VALUE([2], [NULL], [3,0], [NULL,NULL],[5,4], NULL),LIST_VALUE(10, 9, 8, 7,11,42)) as m) as T +---- # Null not present on map query I diff --git a/test/sql/types/nested/map/test_map_subscript_where.test b/test/sql/types/nested/map/test_map_subscript_where.test index 39fe688c2636..00b934bb878e 100644 --- a/test/sql/types/nested/map/test_map_subscript_where.test +++ b/test/sql/types/nested/map/test_map_subscript_where.test @@ -51,4 +51,4 @@ SELECT MAP([key], [val])[key] FROM tbl WHERE key <> '2'; ---- [duck] -[duckDB] \ No newline at end of file +[duckDB] diff --git a/test/sql/types/nested/map/test_map_values.test b/test/sql/types/nested/map/test_map_values.test index 59d68399be46..edb10bb14aed 100644 --- a/test/sql/types/nested/map/test_map_values.test +++ b/test/sql/types/nested/map/test_map_values.test @@ -142,4 +142,4 @@ query I select map_values(col) from filtered where idx % 2 != 0; ---- [0, NULL, 5, NULL] -[NULL, NULL, 4, 5, 6, 7] \ No newline at end of file +[NULL, NULL, 4, 5, 6, 7] diff --git a/test/sql/types/nested/struct/struct_aggregates.test b/test/sql/types/nested/struct/struct_aggregates.test index d1bf8b02661d..602f17a3da7f 100644 --- a/test/sql/types/nested/struct/struct_aggregates.test +++ b/test/sql/types/nested/struct/struct_aggregates.test @@ -17,7 +17,7 @@ select min(struct_pack(i := -i, j := -i - 2)), max(struct_pack(i := i + 2, j := {'i': -9, 'j': -11} {'i': 11, 'j': 13} {'i': 0, 'j': 2} query I -select string_agg(struct_pack(i := i, j := i + 2), ',') from range(10) tbl(i); +select string_agg(struct_pack(i := i, j := i + 2)::VARCHAR, ',') from range(10) tbl(i); ---- {'i': 0, 'j': 2},{'i': 1, 'j': 3},{'i': 2, 'j': 4},{'i': 3, 'j': 5},{'i': 4, 'j': 6},{'i': 5, 'j': 7},{'i': 6, 'j': 8},{'i': 7, 'j': 9},{'i': 8, 'j': 10},{'i': 9, 'j': 11} diff --git a/test/sql/types/nested/struct/struct_dict.test b/test/sql/types/nested/struct/struct_dict.test index ffbad3bdee2b..103d46533061 100644 --- a/test/sql/types/nested/struct/struct_dict.test +++ b/test/sql/types/nested/struct/struct_dict.test @@ -36,11 +36,14 @@ SELECT {i: r, j: 2} FROM range(3) tbl(r); # duplicate key statement error SELECT {'i': 3, 'i': 4} +---- # empty struct is not allowed statement error SELECT {}; +---- # need string keys statement error SELECT {1:3}; +---- diff --git a/test/sql/types/nested/struct/struct_is_null.test b/test/sql/types/nested/struct/struct_is_null.test new file mode 100644 index 000000000000..300836a50b65 --- /dev/null +++ b/test/sql/types/nested/struct/struct_is_null.test @@ -0,0 +1,17 @@ +# name: test/sql/types/nested/struct/struct_is_null.test +# description: Test structs with IS NULL +# group: [struct] + +statement ok +PRAGMA enable_verification + +statement ok +create table tbl (data struct(str varchar)[]); + +statement ok +insert into tbl (data) values ([struct_pack(str := 'value')]), (null), (null), (null); + +query I +select data[1].str as str from tbl where str is not null; +---- +value diff --git a/test/sql/types/nested/struct/test_struct.test b/test/sql/types/nested/struct/test_struct.test index 8cd1e9f1050e..656b73365148 100644 --- a/test/sql/types/nested/struct/test_struct.test +++ b/test/sql/types/nested/struct/test_struct.test @@ -142,39 +142,51 @@ asdf statement error SELECT STRUCT_PACK() FROM struct_data +---- statement error SELECT STRUCT_PACK(e+1) FROM struct_data +---- statement error SELECT STRUCT_PACK(a := e, a := g) FROM struct_data +---- statement error SELECT STRUCT_PACK(e, e) FROM struct_data +---- statement error SELECT STRUCT_EXTRACT(e, 'e') FROM struct_data +---- statement error SELECT STRUCT_EXTRACT(e) FROM struct_data +---- statement error SELECT STRUCT_EXTRACT('e') FROM struct_data +---- statement error SELECT STRUCT_EXTRACT() FROM struct_data +---- statement error SELECT STRUCT_EXTRACT(STRUCT_PACK(xx := e, yy := g), 'zz') FROM struct_data +---- statement error SELECT STRUCT_EXTRACT(STRUCT_PACK(xx := e, yy := g)) FROM struct_data +---- statement error SELECT STRUCT_EXTRACT(STRUCT_PACK(xx := e, yy := g), g) FROM struct_data +---- statement error SELECT STRUCT_EXTRACT(STRUCT_PACK(xx := e, yy := g), '42') FROM struct_data +---- statement ok CREATE TABLE test AS SELECT e, STRUCT_PACK(e) FROM struct_data diff --git a/test/sql/types/numeric/arithmetic_vector_types.test b/test/sql/types/numeric/arithmetic_vector_types.test index 87fe64b900ac..cc3f47a53b15 100644 --- a/test/sql/types/numeric/arithmetic_vector_types.test +++ b/test/sql/types/numeric/arithmetic_vector_types.test @@ -8,4 +8,4 @@ PRAGMA enable_verification statement error SELECT a + b FROM test_vector_types(NULL::INT, NULL::INT) t(a, b) ---- -Overflow \ No newline at end of file +Overflow diff --git a/test/sql/types/numeric/bigint_try_cast.test b/test/sql/types/numeric/bigint_try_cast.test index fc1e920c5ab6..d3ddbef92c6b 100644 --- a/test/sql/types/numeric/bigint_try_cast.test +++ b/test/sql/types/numeric/bigint_try_cast.test @@ -12,24 +12,31 @@ CREATE TABLE bigints AS SELECT i::BIGINT i FROM (VALUES (-9223372036854775808), # -> unsigned statement error SELECT i::UTINYINT FROM bigints +---- statement error SELECT i::USMALLINT FROM bigints +---- statement error SELECT i::UINTEGER FROM bigints +---- statement error SELECT i::UBIGINT FROM bigints +---- statement error SELECT i::UTINYINT FROM bigints WHERE i>=0 ORDER BY i +---- statement error SELECT i::USMALLINT FROM bigints WHERE i>=0 ORDER BY i +---- statement error SELECT i::UINTEGER FROM bigints WHERE i>=0 ORDER BY i +---- query I SELECT i::UBIGINT FROM bigints WHERE i>=0 ORDER BY i @@ -68,6 +75,7 @@ NULL # -> signed statement error SELECT i::TINYINT FROM bigints ORDER BY i +---- query I SELECT TRY_CAST(i AS TINYINT) FROM bigints ORDER BY i @@ -78,6 +86,7 @@ NULL statement error SELECT i::SMALLINT FROM bigints ORDER BY i +---- query I SELECT TRY_CAST(i AS SMALLINT) FROM bigints ORDER BY i @@ -88,6 +97,7 @@ NULL statement error SELECT i::INTEGER FROM bigints ORDER BY i +---- query I SELECT TRY_CAST(i AS INTEGER) FROM bigints ORDER BY i @@ -140,6 +150,7 @@ CREATE TABLE strings AS SELECT * FROM (VALUES (' '), ('blablabla'), ('-1000000 statement error SELECT s::BIGINT FROM strings +---- query I SELECT TRY_CAST(s AS BIGINT) FROM strings @@ -155,12 +166,15 @@ NULL # -> decimal casts statement error SELECT i::DECIMAL(3,0)::BIGINT FROM bigints ORDER BY i +---- statement error SELECT i::DECIMAL(9,0)::BIGINT FROM bigints ORDER BY i +---- statement error SELECT i::DECIMAL(18,0)::BIGINT FROM bigints ORDER BY i +---- query I SELECT i::DECIMAL(38,0)::BIGINT FROM bigints ORDER BY i @@ -171,6 +185,7 @@ SELECT i::DECIMAL(38,0)::BIGINT FROM bigints ORDER BY i statement error SELECT i::DECIMAL(38,20)::BIGINT FROM bigints ORDER BY i +---- query I SELECT TRY_CAST(i AS DECIMAL(3,0))::BIGINT FROM bigints ORDER BY i diff --git a/test/sql/types/numeric/combinations/decimal_combinations.test b/test/sql/types/numeric/combinations/decimal_combinations.test index a7f8a0632008..a375d93e864b 100644 --- a/test/sql/types/numeric/combinations/decimal_combinations.test +++ b/test/sql/types/numeric/combinations/decimal_combinations.test @@ -47,8 +47,10 @@ DECIMAL # HUGEINT sets width to 38+scale, so it will never fit into DECIMAL statement error select (typeof([(SELECT min from hugeint_limits), 1.00005])::VARCHAR)[:7] +---- statement error select (typeof([(SELECT max from hugeint_limits), 1.00005])::VARCHAR)[:7] +---- endloop diff --git a/test/sql/types/numeric/hugeint_try_cast.test b/test/sql/types/numeric/hugeint_try_cast.test index fa592abfe19e..85ec7e4a988e 100644 --- a/test/sql/types/numeric/hugeint_try_cast.test +++ b/test/sql/types/numeric/hugeint_try_cast.test @@ -7,32 +7,40 @@ PRAGMA enable_verification # integer casts statement ok -CREATE TABLE hugeints AS SELECT i::HUGEINT i FROM (VALUES (-170141183460469231731687303715884105727), (0), (170141183460469231731687303715884105727)) tbl(i) +CREATE TABLE hugeints AS SELECT i::HUGEINT i FROM (VALUES (-170141183460469231731687303715884105728), (0), (170141183460469231731687303715884105727)) tbl(i) # -> unsigned statement error SELECT i::UTINYINT FROM hugeints +---- statement error SELECT i::USMALLINT FROM hugeints +---- statement error SELECT i::UINTEGER FROM hugeints +---- statement error SELECT i::UBIGINT FROM hugeints +---- statement error SELECT i::UTINYINT FROM hugeints WHERE i>=0 ORDER BY i +---- statement error SELECT i::USMALLINT FROM hugeints WHERE i>=0 ORDER BY i +---- statement error SELECT i::UINTEGER FROM hugeints WHERE i>=0 ORDER BY i +---- statement error SELECT i::UBIGINT FROM hugeints WHERE i>=0 ORDER BY i +---- query I SELECT TRY_CAST(i AS UTINYINT) FROM hugeints ORDER BY i @@ -65,6 +73,7 @@ NULL # -> signed statement error SELECT i::TINYINT FROM hugeints ORDER BY i +---- query I SELECT TRY_CAST(i AS TINYINT) FROM hugeints ORDER BY i @@ -75,6 +84,7 @@ NULL statement error SELECT i::SMALLINT FROM hugeints ORDER BY i +---- query I SELECT TRY_CAST(i AS SMALLINT) FROM hugeints ORDER BY i @@ -85,6 +95,7 @@ NULL statement error SELECT i::INTEGER FROM hugeints ORDER BY i +---- query I SELECT TRY_CAST(i AS INTEGER) FROM hugeints ORDER BY i @@ -95,6 +106,7 @@ NULL statement error SELECT i::BIGINT FROM hugeints ORDER BY i +---- query I SELECT TRY_CAST(i AS BIGINT) FROM hugeints ORDER BY i @@ -107,14 +119,14 @@ NULL query I SELECT i::FLOAT FROM hugeints ORDER BY i ---- --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 0 170141183460469231731687303715884105727 query I SELECT i::DOUBLE FROM hugeints ORDER BY i ---- --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 0 170141183460469231731687303715884105727 @@ -130,16 +142,17 @@ True query I SELECT i::VARCHAR FROM hugeints ORDER BY i ---- --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 0 170141183460469231731687303715884105727 # from string casts statement ok -CREATE TABLE strings AS SELECT * FROM (VALUES (' '), ('blablabla'), ('-1000000000000000000000000000000000000000'), ('-170141183460469231731687303715884105727'), ('0'), ('170141183460469231731687303715884105727'), ('1000000000000000000000000000000000000000')) tbl(s) +CREATE TABLE strings AS SELECT * FROM (VALUES (' '), ('blablabla'), ('-1000000000000000000000000000000000000000'), ('-170141183460469231731687303715884105728'), ('0'), ('170141183460469231731687303715884105727'), ('1000000000000000000000000000000000000000')) tbl(s) statement error SELECT s::HUGEINT FROM strings +---- query I SELECT TRY_CAST(s AS HUGEINT) FROM strings @@ -147,7 +160,7 @@ SELECT TRY_CAST(s AS HUGEINT) FROM strings NULL NULL NULL --170141183460469231731687303715884105727 +-170141183460469231731687303715884105728 0 170141183460469231731687303715884105727 NULL @@ -155,15 +168,19 @@ NULL # -> decimal casts statement error SELECT i::DECIMAL(3,0)::HUGEINT FROM hugeints ORDER BY i +---- statement error SELECT i::DECIMAL(9,0)::HUGEINT FROM hugeints ORDER BY i +---- statement error SELECT i::DECIMAL(18,0)::HUGEINT FROM hugeints ORDER BY i +---- statement error SELECT i::DECIMAL(38,0)::HUGEINT FROM hugeints ORDER BY i +---- query I SELECT TRY_CAST(i AS DECIMAL(3,0))::HUGEINT FROM hugeints ORDER BY i diff --git a/test/sql/types/numeric/integer_try_cast.test b/test/sql/types/numeric/integer_try_cast.test index d7f2c22b38a2..6199452c44f3 100644 --- a/test/sql/types/numeric/integer_try_cast.test +++ b/test/sql/types/numeric/integer_try_cast.test @@ -12,21 +12,27 @@ CREATE TABLE integers AS SELECT i::INTEGER i FROM (VALUES (-2147483648), (0), (2 # -> unsigned statement error SELECT i::UTINYINT FROM integers +---- statement error SELECT i::USMALLINT FROM integers +---- statement error SELECT i::UINTEGER FROM integers +---- statement error SELECT i::UBIGINT FROM integers +---- statement error SELECT i::UTINYINT FROM integers WHERE i>=0 ORDER BY i +---- statement error SELECT i::USMALLINT FROM integers WHERE i>=0 ORDER BY i +---- query I SELECT i::UINTEGER FROM integers WHERE i>=0 ORDER BY i @@ -71,6 +77,7 @@ NULL # -> signed statement error SELECT i::TINYINT FROM integers ORDER BY i +---- query I SELECT TRY_CAST(i AS TINYINT) FROM integers ORDER BY i @@ -81,6 +88,7 @@ NULL statement error SELECT i::SMALLINT FROM integers ORDER BY i +---- query I SELECT TRY_CAST(i AS SMALLINT) FROM integers ORDER BY i @@ -140,6 +148,7 @@ CREATE TABLE strings AS SELECT * FROM (VALUES (' '), ('blablabla'), ('-1000000 statement error SELECT s::INTEGER FROM strings +---- query I SELECT TRY_CAST(s AS INTEGER) FROM strings @@ -155,9 +164,11 @@ NULL # -> decimal casts statement error SELECT i::DECIMAL(3,0)::INTEGER FROM integers ORDER BY i +---- statement error SELECT i::DECIMAL(9,0)::INTEGER FROM integers ORDER BY i +---- query I SELECT i::DECIMAL(18,0)::INTEGER FROM integers ORDER BY i @@ -175,15 +186,19 @@ SELECT i::DECIMAL(38,0)::INTEGER FROM integers ORDER BY i statement error SELECT i::DECIMAL(3,0)::INTEGER FROM integers ORDER BY i +---- statement error SELECT i::DECIMAL(9,0)::INTEGER FROM integers ORDER BY i +---- statement error SELECT i::DECIMAL(18,9)::INTEGER FROM integers ORDER BY i +---- statement error SELECT i::DECIMAL(38,29)::INTEGER FROM integers ORDER BY i +---- query I SELECT TRY_CAST(i AS DECIMAL(3,0))::INTEGER FROM integers ORDER BY i diff --git a/test/sql/types/numeric/smallint_try_cast.test b/test/sql/types/numeric/smallint_try_cast.test index 2b16584198df..4b9a7a8fbc1e 100644 --- a/test/sql/types/numeric/smallint_try_cast.test +++ b/test/sql/types/numeric/smallint_try_cast.test @@ -12,18 +12,23 @@ CREATE TABLE smallints AS SELECT i::SMALLINT i FROM (VALUES (-32768), (0), (3276 # -> unsigned statement error SELECT i::UTINYINT FROM smallints +---- statement error SELECT i::USMALLINT FROM smallints +---- statement error SELECT i::UINTEGER FROM smallints +---- statement error SELECT i::UBIGINT FROM smallints +---- statement error SELECT i::UTINYINT FROM smallints WHERE i>=0 ORDER BY i +---- query I SELECT i::USMALLINT FROM smallints WHERE i>=0 ORDER BY i @@ -74,6 +79,7 @@ NULL # -> signed statement error SELECT i::TINYINT FROM smallints ORDER BY i +---- query I SELECT TRY_CAST(i AS TINYINT)::SMALLINT FROM smallints ORDER BY i @@ -140,6 +146,7 @@ CREATE TABLE strings AS SELECT * FROM (VALUES (' '), ('blablabla'), ('-100000' statement error SELECT s::SMALLINT FROM strings +---- query I SELECT TRY_CAST(s AS SMALLINT) FROM strings @@ -155,6 +162,7 @@ NULL # -> decimal casts statement error SELECT i::DECIMAL(3,0)::SMALLINT FROM smallints ORDER BY i +---- query I SELECT i::DECIMAL(9,0)::SMALLINT FROM smallints ORDER BY i @@ -179,15 +187,19 @@ SELECT i::DECIMAL(38,0)::SMALLINT FROM smallints ORDER BY i statement error SELECT i::DECIMAL(3,0)::SMALLINT FROM smallints ORDER BY i +---- statement error SELECT i::DECIMAL(9,5)::SMALLINT FROM smallints ORDER BY i +---- statement error SELECT i::DECIMAL(18,14)::SMALLINT FROM smallints ORDER BY i +---- statement error SELECT i::DECIMAL(38,34)::SMALLINT FROM smallints ORDER BY i +---- query I SELECT TRY_CAST(i AS DECIMAL(3,0))::SMALLINT FROM smallints ORDER BY i diff --git a/test/sql/types/numeric/tinyint_try_cast.test b/test/sql/types/numeric/tinyint_try_cast.test index df38d6f20527..f94eebcf0aa3 100644 --- a/test/sql/types/numeric/tinyint_try_cast.test +++ b/test/sql/types/numeric/tinyint_try_cast.test @@ -12,15 +12,19 @@ CREATE TABLE tinyints AS SELECT i::TINYINT i FROM (VALUES (-128), (0), (127)) tb # tinyint -> unsigned statement error SELECT i::UTINYINT FROM tinyints +---- statement error SELECT i::USMALLINT FROM tinyints +---- statement error SELECT i::UINTEGER FROM tinyints +---- statement error SELECT i::UBIGINT FROM tinyints +---- query I SELECT i::UTINYINT::TINYINT FROM tinyints WHERE i>=0 ORDER BY i @@ -140,6 +144,7 @@ CREATE TABLE strings AS SELECT * FROM (VALUES (' '), ('blablabla'), ('-1000'), statement error SELECT s::TINYINT FROM strings +---- query I SELECT TRY_CAST(s AS TINYINT) FROM strings @@ -183,15 +188,19 @@ SELECT i::DECIMAL(38,0)::TINYINT FROM tinyints ORDER BY i statement error SELECT i::DECIMAL(3,1)::TINYINT FROM tinyints ORDER BY i +---- statement error SELECT i::DECIMAL(9,7)::TINYINT FROM tinyints ORDER BY i +---- statement error SELECT i::DECIMAL(18,16)::TINYINT FROM tinyints ORDER BY i +---- statement error SELECT i::DECIMAL(38,36)::TINYINT FROM tinyints ORDER BY i +---- query I SELECT TRY_CAST(i AS DECIMAL(3,1))::TINYINT FROM tinyints ORDER BY i diff --git a/test/sql/types/numeric/ubigint_arithmetic_casting.test b/test/sql/types/numeric/ubigint_arithmetic_casting.test new file mode 100644 index 000000000000..4d9f761a60f4 --- /dev/null +++ b/test/sql/types/numeric/ubigint_arithmetic_casting.test @@ -0,0 +1,22 @@ +# name: test/sql/types/numeric/ubigint_arithmetic_casting.test +# description: UBIGINT arithmetic +# group: [numeric] + +statement ok +PRAGMA enable_verification + +# ubigint casts +query I +SELECT typeof(1::UBIGINT + 1::TINYINT) +---- +HUGEINT + +query I +SELECT typeof(1::UBIGINT + 1) +---- +UBIGINT + +query I +SELECT typeof(1::UBIGINT + 10000) +---- +UBIGINT diff --git a/test/sql/types/numeric/ubigint_try_cast.test b/test/sql/types/numeric/ubigint_try_cast.test index fdae786b1835..743f2e3afad9 100644 --- a/test/sql/types/numeric/ubigint_try_cast.test +++ b/test/sql/types/numeric/ubigint_try_cast.test @@ -12,6 +12,7 @@ CREATE TABLE ubigints AS SELECT i::UBIGINT i FROM (VALUES (0), (1844674407370955 # unsigned statement error SELECT i::UTINYINT FROM ubigints ORDER BY i +---- query I SELECT TRY_CAST(i AS UTINYINT) FROM ubigints ORDER BY i @@ -21,6 +22,7 @@ NULL statement error SELECT i::USMALLINT FROM ubigints ORDER BY i +---- query I SELECT TRY_CAST(i AS USMALLINT) FROM ubigints ORDER BY i @@ -30,6 +32,7 @@ NULL statement error SELECT i::UINTEGER FROM ubigints ORDER BY i +---- query I SELECT TRY_CAST(i AS UINTEGER) FROM ubigints ORDER BY i @@ -40,6 +43,7 @@ NULL # signed statement error SELECT i::TINYINT FROM ubigints ORDER BY i +---- query I SELECT TRY_CAST(i AS TINYINT) FROM ubigints ORDER BY i @@ -49,6 +53,7 @@ NULL statement error SELECT i::SMALLINT FROM ubigints ORDER BY i +---- query I SELECT TRY_CAST(i AS SMALLINT) FROM ubigints ORDER BY i @@ -58,6 +63,7 @@ NULL statement error SELECT i::INTEGER FROM ubigints ORDER BY i +---- query I SELECT TRY_CAST(i AS INTEGER) FROM ubigints ORDER BY i @@ -67,6 +73,7 @@ NULL statement error SELECT i::BIGINT FROM ubigints ORDER BY i +---- query I SELECT TRY_CAST(i AS BIGINT) FROM ubigints ORDER BY i @@ -113,6 +120,7 @@ CREATE TABLE strings AS SELECT * FROM (VALUES (' '), ('blablabla'), ('-1000'), statement error SELECT s::UBIGINT FROM strings +---- query I SELECT TRY_CAST(s AS UBIGINT) FROM strings @@ -129,12 +137,15 @@ NULL # -> decimal casts statement error SELECT i::DECIMAL(3,0)::UBIGINT FROM ubigints ORDER BY i +---- statement error SELECT i::DECIMAL(9,0)::UBIGINT FROM ubigints ORDER BY i +---- statement error SELECT i::DECIMAL(18,0)::UBIGINT FROM ubigints ORDER BY i +---- query I SELECT i::DECIMAL(38,0)::UBIGINT FROM ubigints ORDER BY i @@ -144,6 +155,7 @@ SELECT i::DECIMAL(38,0)::UBIGINT FROM ubigints ORDER BY i statement error SELECT i::DECIMAL(38,20)::UBIGINT FROM ubigints ORDER BY i +---- query I SELECT TRY_CAST(i AS DECIMAL(3,0))::UBIGINT FROM ubigints ORDER BY i diff --git a/test/sql/types/numeric/uhugeint_try_cast.test b/test/sql/types/numeric/uhugeint_try_cast.test new file mode 100644 index 000000000000..1e0d965a8087 --- /dev/null +++ b/test/sql/types/numeric/uhugeint_try_cast.test @@ -0,0 +1,208 @@ +# name: test/sql/types/numeric/uhugeint_try_cast.test +# description: Unsigned Hugeint try cast +# group: [numeric] + +statement ok +PRAGMA enable_verification + +# integer casts +statement ok +CREATE TABLE uhugeints AS SELECT i::UHUGEINT i FROM (VALUES (0::UHUGEINT), (1::UHUGEINT), ('340282366920938463463374607431768211455'::UHUGEINT)) tbl(i) + +# -> signed +statement error +SELECT i::TINYINT FROM uhugeints +---- +Conversion Error + +statement error +SELECT i::SMALLINT FROM uhugeints +---- +Conversion Error + +statement error +SELECT i::INTEGER FROM uhugeints +---- +Conversion Error + +statement error +SELECT i::BIGINT FROM uhugeints +---- +Conversion Error + +query I +SELECT TRY_CAST(i AS TINYINT) FROM uhugeints ORDER BY i +---- +0 +1 +NULL + +query I +SELECT TRY_CAST(i AS SMALLINT) FROM uhugeints ORDER BY i +---- +0 +1 +NULL + +query I +SELECT TRY_CAST(i AS INTEGER) FROM uhugeints ORDER BY i +---- +0 +1 +NULL + +query I +SELECT TRY_CAST(i AS BIGINT) FROM uhugeints ORDER BY i +---- +0 +1 +NULL + +# -> unsigned +statement error +SELECT i::UTINYINT FROM uhugeints ORDER BY i +---- +Conversion Error + +query I +SELECT TRY_CAST(i AS UTINYINT) FROM uhugeints ORDER BY i +---- +0 +1 +NULL + +statement error +SELECT i::USMALLINT FROM uhugeints ORDER BY i +---- +Conversion Error + +query I +SELECT TRY_CAST(i AS USMALLINT) FROM uhugeints ORDER BY i +---- +0 +1 +NULL + +statement error +SELECT i::UINTEGER FROM uhugeints ORDER BY i +---- +Conversion Error + +query I +SELECT TRY_CAST(i AS UINTEGER) FROM uhugeints ORDER BY i +---- +0 +1 +NULL + +statement error +SELECT i::UBIGINT FROM uhugeints ORDER BY i +---- +Conversion Error + +query I +SELECT TRY_CAST(i AS UBIGINT) FROM uhugeints ORDER BY i +---- +0 +1 +NULL + +# -> float +query I +SELECT i::FLOAT FROM uhugeints ORDER BY i +---- +0 +1 +340282366920938463463374607431768211455 + +query I +SELECT i::DOUBLE FROM uhugeints ORDER BY i +---- +0 +1 +340282366920938463463374607431768211455 + +# -> bool +query I +SELECT i::BOOL FROM uhugeints ORDER BY i +---- +False +True +True + +# -> varchar +query I +SELECT i::VARCHAR FROM uhugeints ORDER BY i +---- +0 +1 +340282366920938463463374607431768211455 + +# from string casts +statement ok +CREATE TABLE strings AS SELECT * FROM (VALUES (' '), ('blablabla'), ('-1000000000000000000000000000000000000000'), ('0'), ('1'), ('340282366920938463463374607431768211455'), ('1000000000000000000000000000000000000000')) tbl(s) + +statement error +SELECT s::UHUGEINT FROM strings +---- +Conversion Error + +query I +SELECT TRY_CAST(s AS UHUGEINT) FROM strings +---- +NULL +NULL +NULL +0 +1 +340282366920938463463374607431768211455 +NULL + +# -> decimal casts +statement error +SELECT i::DECIMAL(3,0)::UHUGEINT FROM uhugeints ORDER BY i +---- +Conversion Error + +statement error +SELECT i::DECIMAL(9,0)::UHUGEINT FROM uhugeints ORDER BY i +---- +Conversion Error + +statement error +SELECT i::DECIMAL(18,0)::UHUGEINT FROM uhugeints ORDER BY i +---- +Conversion Error + +statement error +SELECT i::DECIMAL(38,0)::UHUGEINT FROM uhugeints ORDER BY i +---- +Conversion Error + +query I +SELECT TRY_CAST(i AS DECIMAL(3,0))::UHUGEINT FROM uhugeints ORDER BY i +---- +0 +1 +NULL + +query I +SELECT TRY_CAST(i AS DECIMAL(9,0))::UHUGEINT FROM uhugeints ORDER BY i +---- +0 +1 +NULL + +query I +SELECT TRY_CAST(i AS DECIMAL(18,0))::UHUGEINT FROM uhugeints ORDER BY i +---- +0 +1 +NULL + +query I +SELECT TRY_CAST(i AS DECIMAL(38,0))::UHUGEINT FROM uhugeints ORDER BY i +---- +0 +1 +NULL diff --git a/test/sql/types/numeric/uinteger_try_cast.test b/test/sql/types/numeric/uinteger_try_cast.test index cf5ab9fceb26..1dfb943f602f 100644 --- a/test/sql/types/numeric/uinteger_try_cast.test +++ b/test/sql/types/numeric/uinteger_try_cast.test @@ -11,6 +11,7 @@ CREATE TABLE uintegers AS SELECT i::UINTEGER i FROM (VALUES (0), (4294967295)) t statement error SELECT i::UTINYINT FROM uintegers ORDER BY i +---- # unsigned query I @@ -21,6 +22,7 @@ NULL statement error SELECT i::USMALLINT FROM uintegers ORDER BY i +---- query I SELECT TRY_CAST(i AS USMALLINT) FROM uintegers ORDER BY i @@ -37,6 +39,7 @@ SELECT i::UBIGINT FROM uintegers ORDER BY i # signed statement error SELECT i::TINYINT FROM uintegers ORDER BY i +---- query I SELECT TRY_CAST(i AS TINYINT) FROM uintegers ORDER BY i @@ -46,6 +49,7 @@ NULL statement error SELECT i::SMALLINT FROM uintegers ORDER BY i +---- query I SELECT TRY_CAST(i AS SMALLINT) FROM uintegers ORDER BY i @@ -55,6 +59,7 @@ NULL statement error SELECT i::INTEGER FROM uintegers ORDER BY i +---- query I SELECT TRY_CAST(i AS INTEGER) FROM uintegers ORDER BY i @@ -107,6 +112,7 @@ CREATE TABLE strings AS SELECT * FROM (VALUES (' '), ('blablabla'), ('-1000'), statement error SELECT s::UINTEGER FROM strings +---- query I SELECT TRY_CAST(s AS UINTEGER) FROM strings @@ -123,9 +129,11 @@ NULL # -> decimal casts statement error SELECT i::DECIMAL(3,0)::UINTEGER FROM uintegers ORDER BY i +---- statement error SELECT i::DECIMAL(9,0)::UINTEGER FROM uintegers ORDER BY i +---- query I SELECT i::DECIMAL(18,0)::UINTEGER FROM uintegers ORDER BY i @@ -141,9 +149,11 @@ SELECT i::DECIMAL(38,0)::UINTEGER FROM uintegers ORDER BY i statement error SELECT i::DECIMAL(18,9)::UINTEGER FROM uintegers ORDER BY i +---- statement error SELECT i::DECIMAL(38,29)::UINTEGER FROM uintegers ORDER BY i +---- query I SELECT TRY_CAST(i AS DECIMAL(3,0))::UINTEGER FROM uintegers ORDER BY i diff --git a/test/sql/types/numeric/usmallint_try_cast.test b/test/sql/types/numeric/usmallint_try_cast.test index 86dd51614a87..bf38c3a074ba 100644 --- a/test/sql/types/numeric/usmallint_try_cast.test +++ b/test/sql/types/numeric/usmallint_try_cast.test @@ -12,6 +12,7 @@ CREATE TABLE usmallints AS SELECT i::USMALLINT i FROM (VALUES (0), (65535)) tbl( # unsigned statement error SELECT i::UTINYINT FROM usmallints ORDER BY i +---- query I SELECT TRY_CAST(i AS UTINYINT) FROM usmallints ORDER BY i @@ -34,6 +35,7 @@ SELECT i::UBIGINT FROM usmallints ORDER BY i # signed statement error SELECT i::TINYINT FROM usmallints ORDER BY i +---- query I SELECT TRY_CAST(i AS TINYINT) FROM usmallints ORDER BY i @@ -43,6 +45,7 @@ NULL statement error SELECT i::SMALLINT FROM usmallints ORDER BY i +---- query I SELECT TRY_CAST(i AS SMALLINT) FROM usmallints ORDER BY i @@ -101,6 +104,7 @@ CREATE TABLE strings AS SELECT * FROM (VALUES (' '), ('blablabla'), ('-1000'), statement error SELECT s::USMALLINT FROM strings +---- query I SELECT TRY_CAST(s AS USMALLINT) FROM strings @@ -117,6 +121,7 @@ NULL # -> decimal casts statement error SELECT i::DECIMAL(3,0)::USMALLINT FROM usmallints ORDER BY i +---- query I SELECT i::DECIMAL(9,0)::USMALLINT FROM usmallints ORDER BY i @@ -138,12 +143,15 @@ SELECT i::DECIMAL(38,0)::USMALLINT FROM usmallints ORDER BY i statement error SELECT i::DECIMAL(9,5)::USMALLINT FROM usmallints ORDER BY i +---- statement error SELECT i::DECIMAL(18,14)::USMALLINT FROM usmallints ORDER BY i +---- statement error SELECT i::DECIMAL(38,34)::USMALLINT FROM usmallints ORDER BY i +---- query I SELECT TRY_CAST(i AS DECIMAL(3,0))::USMALLINT FROM usmallints ORDER BY i diff --git a/test/sql/types/numeric/utinyint_try_cast.test b/test/sql/types/numeric/utinyint_try_cast.test index afe1b859d946..182ec2dc3503 100644 --- a/test/sql/types/numeric/utinyint_try_cast.test +++ b/test/sql/types/numeric/utinyint_try_cast.test @@ -30,6 +30,7 @@ SELECT i::UBIGINT FROM utinyints ORDER BY i # -> signed statement error SELECT i::TINYINT FROM utinyints ORDER BY i +---- query I SELECT TRY_CAST(i AS TINYINT) FROM utinyints ORDER BY i @@ -94,6 +95,7 @@ CREATE TABLE strings AS SELECT * FROM (VALUES (' '), ('blablabla'), ('-1000'), statement error SELECT s::UTINYINT FROM strings +---- query I SELECT TRY_CAST(s AS UTINYINT) FROM strings @@ -134,15 +136,19 @@ SELECT i::DECIMAL(38,0)::UTINYINT FROM utinyints ORDER BY i statement error SELECT i::DECIMAL(3,1)::UTINYINT FROM utinyints ORDER BY i +---- statement error SELECT i::DECIMAL(9,7)::UTINYINT FROM utinyints ORDER BY i +---- statement error SELECT i::DECIMAL(18,16)::UTINYINT FROM utinyints ORDER BY i +---- statement error SELECT i::DECIMAL(38,36)::UTINYINT FROM utinyints ORDER BY i +---- query I SELECT TRY_CAST(i AS DECIMAL(3,1))::UTINYINT FROM utinyints ORDER BY i diff --git a/test/sql/types/string/test_scan_big_varchar.test_slow b/test/sql/types/string/test_scan_big_varchar.test_slow index 8048a61694b6..fe50b2915c4d 100644 --- a/test/sql/types/string/test_scan_big_varchar.test_slow +++ b/test/sql/types/string/test_scan_big_varchar.test_slow @@ -4,6 +4,7 @@ statement error PRAGMA memory_limit=100000000 +---- statement ok CREATE TABLE test (a VARCHAR); diff --git a/test/sql/types/struct/nested_structs.test b/test/sql/types/struct/nested_structs.test index 7c879622488a..abe6511a3d5c 100644 --- a/test/sql/types/struct/nested_structs.test +++ b/test/sql/types/struct/nested_structs.test @@ -79,9 +79,12 @@ SELECT (c).a FROM b # nested struct mismatch on insertion statement error INSERT INTO a VALUES (1) +---- statement error INSERT INTO a VALUES (ROW(1, 2)) +---- statement error INSERT INTO a VALUES (ROW(ROW(1, 2, 3), 1)) +---- diff --git a/test/sql/types/struct/struct_case.test b/test/sql/types/struct/struct_case.test index 46666823d069..08b39e81b190 100644 --- a/test/sql/types/struct/struct_case.test +++ b/test/sql/types/struct/struct_case.test @@ -94,11 +94,16 @@ SELECT i, CASE WHEN i%2=0 THEN {'i': [1,2,3]} ELSE {'i': NULL} END FROM range(6) # different types on child lists query II -SELECT i, CASE WHEN i%2=0 THEN {'i': [1,2,3]} ELSE {'i': ['hello']} END FROM range(6) tbl(i) +SELECT i, CASE WHEN i%2=0 THEN {'i': [1::INT,2::INT,3::INT]} ELSE {'i': [0::UBIGINT]} END FROM range(6) tbl(i) ---- 0 {'i': [1, 2, 3]} -1 {'i': [hello]} +1 {'i': [0]} 2 {'i': [1, 2, 3]} -3 {'i': [hello]} +3 {'i': [0]} 4 {'i': [1, 2, 3]} -5 {'i': [hello]} +5 {'i': [0]} + +statement error +SELECT i, CASE WHEN i%2=0 THEN {'i': [1,2,3]} ELSE {'i': ['hello']} END FROM range(6) tbl(i) +---- +an explicit cast is required diff --git a/test/sql/types/struct/struct_case_insensitivity.test b/test/sql/types/struct/struct_case_insensitivity.test index 63f7f848710e..6ac19d0aef67 100644 --- a/test/sql/types/struct/struct_case_insensitivity.test +++ b/test/sql/types/struct/struct_case_insensitivity.test @@ -30,12 +30,16 @@ SELECT "COL"."HELLO" FROM tbl statement error SELECT ({'hello': 3, 'hello': 4}) col; +---- statement error SELECT ({'HELLO': 3, 'HELLO': 4}) col; +---- statement error SELECT ({'HELLO': 3, 'hello': 4}) col; +---- statement error SELECT col['HELL'] FROM tbl +---- diff --git a/test/sql/types/struct/struct_different_names.test b/test/sql/types/struct/struct_different_names.test index 4f73b3233de2..b6eaf5052af7 100644 --- a/test/sql/types/struct/struct_different_names.test +++ b/test/sql/types/struct/struct_different_names.test @@ -17,7 +17,7 @@ CREATE TABLE foo (bar struct(pip int)); statement error INSERT INTO foo VALUES ({'ignoreme': 3}); ---- -Mismatch Type Error: Type STRUCT(ignoreme INTEGER) does not match with STRUCT(pip INTEGER). Cannot cast STRUCTs with different names +element "ignoreme" in source struct was not found in target struct statement error create table wrong as from (VALUES (ROW(3))); @@ -35,15 +35,15 @@ SELECT * FROM foo; statement ok CREATE OR REPLACE TABLE T AS SELECT [{'a': 'A', 'b':'B'}] as x, [{'b':'BB','a':'AA'}] as y; -statement error +query III SELECT x, y, ARRAY_CONCAT(x, y) FROM T; ---- -Mismatch Type Error: Type STRUCT(b VARCHAR, a VARCHAR) does not match with STRUCT(a VARCHAR, b VARCHAR). Cannot cast STRUCTs with different names +[{'a': A, 'b': B}] [{'b': BB, 'a': AA}] [{'a': A, 'b': B}, {'a': AA, 'b': BB}] statement error INSERT INTO t1 VALUES ({c: 34}); ---- -Mismatch Type Error: Type STRUCT(c INTEGER) does not match with STRUCT(v VARCHAR). Cannot cast STRUCTs with different names +element "c" in source struct was not found in target struct statement ok CREATE OR REPLACE TABLE T (s STRUCT(a INT, b INT)); @@ -51,7 +51,7 @@ CREATE OR REPLACE TABLE T (s STRUCT(a INT, b INT)); statement error INSERT INTO T VALUES ({l: 1, m: 2}), ({x: 3, y: 4}); ---- -Mismatch Type Error: Type STRUCT(l INTEGER, m INTEGER) does not match with STRUCT(a INTEGER, b INTEGER). Cannot cast STRUCTs with different names +element "l" in source struct was not found in target struct # Can insert unnamed struct into named struct @@ -70,7 +70,7 @@ Invalid Input Error: A table cannot be created from an unnamed struct statement error SELECT [{'foo': True}, {'bar': False}, {'foobar': NULL}]; ---- -Mismatch Type Error: Type STRUCT(bar BOOLEAN) does not match with STRUCT(foo BOOLEAN). Cannot cast STRUCTs with different names +element "bar" in source struct was not found in target struct statement ok PREPARE v1 as SELECT ROW(?); @@ -79,4 +79,4 @@ statement ok EXECUTE v1(42); statement ok -CREATE VIEW v1 AS SELECT ROW(42); \ No newline at end of file +CREATE VIEW v1 AS SELECT ROW(42); diff --git a/test/sql/types/struct/struct_named_cast.test b/test/sql/types/struct/struct_named_cast.test new file mode 100644 index 000000000000..f64d0c514137 --- /dev/null +++ b/test/sql/types/struct/struct_named_cast.test @@ -0,0 +1,35 @@ +# name: test/sql/types/struct/struct_named_cast.test +# description: Test struct named casts +# group: [struct] + +statement ok +PRAGMA enable_verification + +query I +SELECT {'a': 42, 'b': 84}::STRUCT(b INT, a INT) +---- +{'b': 84, 'a': 42} + +# nested +query I +SELECT {'a': ['1', '2', '3'], 'b': 84}::STRUCT(b INT, a INT[]) +---- +{'b': 84, 'a': [1, 2, 3]} + +# case insensitivity +query I +SELECT {'a': ['1', '2', '3'], 'b': 84}::STRUCT(b INT, A INT[]) +---- +{'b': 84, 'A': [1, 2, 3]} + +# name mismatch +statement error +SELECT {'a': ['1', '2', '3'], 'b': 84}::STRUCT(b INT, c INT[]) +---- +element "a" in source struct was not found in target struct + +# unnamed struct cast +query I +SELECT ROW(42, 84)::STRUCT(a INT, b INT) +---- +{'a': 42, 'b': 84} diff --git a/test/sql/types/struct/struct_null_members.test b/test/sql/types/struct/struct_null_members.test index 78c84ac8d46c..3d287385d887 100644 --- a/test/sql/types/struct/struct_null_members.test +++ b/test/sql/types/struct/struct_null_members.test @@ -85,7 +85,7 @@ SELECT * FROM (VALUES ({'x': 'duck', 'y': NULL}), ({'x': NULL, 'y': 'goose'}), ({'x': NULL, 'y': NULL}), - ({'x': NULL, 'y': 0}), + ({'x': NULL, 'y': '0'}), (NULL) ) tbl(i); diff --git a/test/sql/types/struct/struct_operations.test b/test/sql/types/struct/struct_operations.test index df57ed589696..9e631970a435 100644 --- a/test/sql/types/struct/struct_operations.test +++ b/test/sql/types/struct/struct_operations.test @@ -47,4 +47,4 @@ mode skip query I SELECT (SELECT b FROM a) ---- -{'i': 1, 'j': 2} \ No newline at end of file +{'i': 1, 'j': 2} diff --git a/test/sql/types/struct/struct_tables.test b/test/sql/types/struct/struct_tables.test index 25eb28ef7c36..eb84b57b1870 100644 --- a/test/sql/types/struct/struct_tables.test +++ b/test/sql/types/struct/struct_tables.test @@ -58,16 +58,21 @@ NULL # incorrect number of struct entries statement error INSERT INTO a VALUES (ROW(1, 2, 3)) +---- statement error INSERT INTO a VALUES (ROW(1)) +---- # incorrect types statement error INSERT INTO a VALUES (ROW('hello', 1)) +---- statement error INSERT INTO a VALUES (ROW('hello', [1, 2])) +---- statement error INSERT INTO a VALUES (ROW(1, ROW(1, 7))) +---- diff --git a/test/sql/types/struct/unnamed_struct_casts.test b/test/sql/types/struct/unnamed_struct_casts.test new file mode 100644 index 000000000000..9ab777d37ffb --- /dev/null +++ b/test/sql/types/struct/unnamed_struct_casts.test @@ -0,0 +1,16 @@ +# name: test/sql/types/struct/unnamed_struct_casts.test +# description: Test unnamed struct casts +# group: [struct] + +statement ok +PRAGMA enable_verification + +statement error +select row(42, 'hello') union all select '{'': 42,'': hello}'; +---- +Conversion Error + +statement error +select row(42, 'hello') union all select '(84, world)'; +---- +unsupported diff --git a/test/sql/types/struct/unnest_struct.test b/test/sql/types/struct/unnest_struct.test index 7a1ef52ce317..808598e2d6da 100644 --- a/test/sql/types/struct/unnest_struct.test +++ b/test/sql/types/struct/unnest_struct.test @@ -98,7 +98,7 @@ SELECT UNNEST({'a': 44, 'b': 88}), UNNEST([[1, 2, 3], [4, 5]], recursive := true # duplicate names query III -SELECT a, "a:1", b FROM (SELECT UNNEST({'a': 42, 'b': {'a': 88, 'b': 99}}, recursive := true)) +SELECT a, "a_1", b FROM (SELECT UNNEST({'a': 42, 'b': {'a': 88, 'b': 99}}, recursive := true)) ---- 42 88 99 @@ -111,4 +111,4 @@ can only be applied as the root element statement error SELECT UNNEST(UNNEST([{'a': 42, 'b': 88}, {'a': NULL, 'b': 99}])) ---- -Nested UNNEST calls are not supported \ No newline at end of file +Nested UNNEST calls are not supported diff --git a/test/sql/types/struct/unnest_struct_subquery.test b/test/sql/types/struct/unnest_struct_subquery.test index 6048050716ba..56feb0da2d6e 100644 --- a/test/sql/types/struct/unnest_struct_subquery.test +++ b/test/sql/types/struct/unnest_struct_subquery.test @@ -8,7 +8,7 @@ PRAGMA enable_verification statement error SELECT (SELECT UNNEST(a).a) FROM (VALUES ({'a': 42, 'b': 88})) t(a); ---- -can only be applied as the root element +Binder Error: UNNEST() for correlated expressions is not supported yet query II SELECT UNNEST(a) FROM (VALUES ({'a': 42, 'b': 88})) t(a); diff --git a/test/sql/types/struct/update_empty_row.test b/test/sql/types/struct/update_empty_row.test new file mode 100644 index 000000000000..af4c8b22cfe0 --- /dev/null +++ b/test/sql/types/struct/update_empty_row.test @@ -0,0 +1,8 @@ +# name: test/sql/types/struct/update_empty_row.test +# description: Test storing structs in in-memory tables +# group: [struct] + +statement error +UPDATE t0 SET ( c0 ) = ROW ( ); +---- +target only expects 1 values, 0 were provided diff --git a/test/sql/types/test_all_types.test_slow b/test/sql/types/test_all_types.test_slow index 841c1b71978f..18fb121eefb0 100644 --- a/test/sql/types/test_all_types.test_slow +++ b/test/sql/types/test_all_types.test_slow @@ -5,18 +5,18 @@ statement ok PRAGMA enable_verification -query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII +query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII SELECT * FROM test_all_types(); ---- -False -128 -32768 -2147483648 -9223372036854775808 -170141183460469231731687303715884105727 0 0 0 0 5877642-06-25 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 1677-09-21 00:12:43.145225 00:00:00-1559 290309-12-22 (BC) 00:00:00+00 -340282346638528859811704183484516925440.000000 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -999.9 -99999.9999 -999999999999.999999 -9999999999999999999999999999.9999999999 00000000-0000-0000-0000-000000000001 00:00:00 🦆🦆🦆🦆🦆🦆 thisisalongblob\x00withnullbytes 0010001001011100010101011010111 DUCK_DUCK_ENUM enum_0 enum_0 [] [] [] [] [] [] [] {'a': NULL, 'b': NULL} {'a': NULL, 'b': NULL} [] {} Frank -True 127 32767 2147483647 9223372036854775807 170141183460469231731687303715884105727 255 65535 4294967295 18446744073709551615 5881580-07-10 23:59:59.999999 294247-01-10 04:00:54.775806 294247-01-10 04:00:54 294247-01-10 04:00:54.775 2262-04-11 23:47:16.854775 23:59:59.999999+1559 294247-01-10 04:00:54.775806+00 340282346638528859811704183484516925440.000000 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 999.9 99999.9999 999999999999.999999 9999999999999999999999999999.9999999999 ffffffff-ffff-ffff-ffff-ffffffffffff 83 years 3 months 999 days 00:16:39.999999 goo\0se \x00\x00\x00a 10101 GOOSE enum_299 enum_69999 [42, 999, NULL, NULL, -42] [42.0, nan, inf, -inf, NULL, -42.0] [1970-01-01, infinity, -infinity, NULL, 2022-05-12] [1970-01-01 00:00:00, infinity, -infinity, NULL, 2022-05-12 16:23:45] [1970-01-01 00:00:00+00, infinity, -infinity, NULL, 2022-05-12 23:23:45+00] [🦆🦆🦆🦆🦆🦆, goose, NULL, ] [[], [42, 999, NULL, NULL, -42], NULL, [], [42, 999, NULL, NULL, -42]] {'a': 42, 'b': 🦆🦆🦆🦆🦆🦆} {'a': [42, 999, NULL, NULL, -42], 'b': [🦆🦆🦆🦆🦆🦆, goose, NULL, ]} [{'a': NULL, 'b': NULL}, {'a': 42, 'b': 🦆🦆🦆🦆🦆🦆}, NULL] {key1=🦆🦆🦆🦆🦆🦆, key2=goose} 5 -NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +False -128 -32768 -2147483648 -9223372036854775808 -170141183460469231731687303715884105728 0 0 0 0 0 5877642-06-25 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 290309-12-22 (BC) 00:00:00 1677-09-21 00:12:43.145225 00:00:00+15:59:59 290309-12-22 (BC) 00:00:00+00 -340282346638528859811704183484516925440.000000 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -999.9 -99999.9999 -999999999999.999999 -9999999999999999999999999999.9999999999 00000000-0000-0000-0000-000000000000 00:00:00 🦆🦆🦆🦆🦆🦆 thisisalongblob\x00withnullbytes 0010001001011100010101011010111 DUCK_DUCK_ENUM enum_0 enum_0 [] [] [] [] [] [] [] {'a': NULL, 'b': NULL} {'a': NULL, 'b': NULL} [] {} Frank +True 127 32767 2147483647 9223372036854775807 170141183460469231731687303715884105727 340282366920938463463374607431768211455 255 65535 4294967295 18446744073709551615 5881580-07-10 24:00:00 294247-01-10 04:00:54.775806 294247-01-10 04:00:54 294247-01-10 04:00:54.775 2262-04-11 23:47:16.854775 24:00:00-15:59:59 294247-01-10 04:00:54.775806+00 340282346638528859811704183484516925440.000000 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 999.9 99999.9999 999999999999.999999 9999999999999999999999999999.9999999999 ffffffff-ffff-ffff-ffff-ffffffffffff 83 years 3 months 999 days 00:16:39.999999 goo\0se \x00\x00\x00a 10101 GOOSE enum_299 enum_69999 [42, 999, NULL, NULL, -42] [42.0, nan, inf, -inf, NULL, -42.0] [1970-01-01, infinity, -infinity, NULL, 2022-05-12] [1970-01-01 00:00:00, infinity, -infinity, NULL, 2022-05-12 16:23:45] [1970-01-01 00:00:00+00, infinity, -infinity, NULL, 2022-05-12 23:23:45+00] [🦆🦆🦆🦆🦆🦆, goose, NULL, ] [[], [42, 999, NULL, NULL, -42], NULL, [], [42, 999, NULL, NULL, -42]] {'a': 42, 'b': 🦆🦆🦆🦆🦆🦆} {'a': [42, 999, NULL, NULL, -42], 'b': [🦆🦆🦆🦆🦆🦆, goose, NULL, ]} [{'a': NULL, 'b': NULL}, {'a': 42, 'b': 🦆🦆🦆🦆🦆🦆}, NULL] {key1=🦆🦆🦆🦆🦆🦆, key2=goose} 5 +NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL statement ok CREATE TABLE all_types AS SELECT * FROM test_all_types(); -query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII nosort r1 +query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII nosort r1 SELECT * FROM test_all_types(); -query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII nosort r1 +query IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII nosort r1 SELECT * FROM all_types; diff --git a/test/sql/types/test_null_type.test b/test/sql/types/test_null_type.test index e882cb48a26a..50e272208be6 100644 --- a/test/sql/types/test_null_type.test +++ b/test/sql/types/test_null_type.test @@ -18,10 +18,12 @@ foreach type float double varchar # explicit cast statement error select 42::${type}::"null" +---- # implicit cast statement error insert into null_table values (42::${type}) +---- endloop @@ -48,6 +50,7 @@ NULL statement error insert into null_list values ([42::${type}]) +---- endloop @@ -74,6 +77,7 @@ NULL statement error insert into null_struct values ({n: 42::${type}}) +---- endloop @@ -84,10 +88,12 @@ create table null_map (i map("null", "null")) # Map keys cant be NULL statement error insert into null_map values (null), (map([null], [null])) +---- foreach type float double varchar statement error insert into null_map values (map([42::${type}], [7::${type}])) +---- endloop diff --git a/test/sql/types/time/test_time.test b/test/sql/types/time/test_time.test index dd1aa856e086..a3bcdc735ffe 100644 --- a/test/sql/types/time/test_time.test +++ b/test/sql/types/time/test_time.test @@ -31,30 +31,40 @@ NULL statement error SELECT ''::TIME +---- statement error SELECT ' '::TIME +---- statement error SELECT ' '::TIME +---- statement error SELECT '1'::TIME +---- statement error SELECT '11'::TIME +---- statement error SELECT '11:'::TIME +---- statement error SELECT '11:1'::TIME +---- statement error SELECT '11:11'::TIME +---- statement error SELECT '11:11:'::TIME +---- statement error SELECT '11:11:f'::TIME +---- diff --git a/test/sql/types/time/test_time_2411.test b/test/sql/types/time/test_time_2411.test index 7c078256ed87..34191e2ca342 100644 --- a/test/sql/types/time/test_time_2411.test +++ b/test/sql/types/time/test_time_2411.test @@ -20,4 +20,4 @@ INSERT INTO timestamp VALUES ('1993-08-14 00:00:01') query I select count(*) from times inner join timestamp on (timestamp.i::TIME = times.i) ---- -1 \ No newline at end of file +1 diff --git a/test/sql/types/time/test_time_tz.test b/test/sql/types/time/test_time_tz.test index 65e5312d3f55..b11d90126b75 100644 --- a/test/sql/types/time/test_time_tz.test +++ b/test/sql/types/time/test_time_tz.test @@ -34,12 +34,12 @@ SELECT '2023-08-20 16:15:03.123456'::TIMETZ; query I SELECT '02:30:00+1200'::TIMETZ; ---- -02:30:00+1200 +02:30:00+12 query I SELECT '02:30:00-1200'::TIMETZ; ---- -02:30:00-1200 +02:30:00-12 # TIMESTAMP => TIMETZ query I @@ -64,24 +64,235 @@ SELECT '2021-08-20'::TIME; ---- 00:00:00 +statement ok +CREATE TABLE timetzs (ttz TIMETZ); + +statement ok +INSERT INTO timetzs VALUES + (NULL), + ('00:00:00+1559'), + ('00:00:00+1558'), + ('02:30:00'), + ('02:30:00+04'), + ('02:30:00+04:30'), + ('02:30:00+04:30:45'), + ('16:15:03.123456'), + ('02:30:00+1200'), + ('02:30:00-1200'), + ('24:00:00-1558'), + ('24:00:00-1559'), +; + +# Comparison order is unintuitive: Positive offsets are before negative ones. +# This is similar to how a clock time east of Greenwich is earlier +# than the same clock time further west. +query I +SELECT * FROM timetzs ORDER BY ALL +---- +00:00:00+15:59 +00:00:00+15:58 +02:30:00+12 +02:30:00+04:30:45 +02:30:00+04:30 +02:30:00+04 +02:30:00+00 +02:30:00-12 +16:15:03.123456+00 +24:00:00-15:58 +24:00:00-15:59 +NULL + +# Comparisons +query IIIIIIII +SELECT + lhs.ttz, + rhs.ttz, + lhs.ttz < rhs.ttz, + lhs.ttz <= rhs.ttz, + lhs.ttz = rhs.ttz, + lhs.ttz >= rhs.ttz, + lhs.ttz > rhs.ttz, + lhs.ttz <> rhs.ttz, +FROM timetzs lhs, timetzs rhs +ORDER BY ALL +---- +00:00:00+15:59 00:00:00+15:59 false true true true false false +00:00:00+15:59 00:00:00+15:58 true true false false false true +00:00:00+15:59 02:30:00+12 true true false false false true +00:00:00+15:59 02:30:00+04:30:45 true true false false false true +00:00:00+15:59 02:30:00+04:30 true true false false false true +00:00:00+15:59 02:30:00+04 true true false false false true +00:00:00+15:59 02:30:00+00 true true false false false true +00:00:00+15:59 02:30:00-12 true true false false false true +00:00:00+15:59 16:15:03.123456+00 true true false false false true +00:00:00+15:59 24:00:00-15:58 true true false false false true +00:00:00+15:59 24:00:00-15:59 true true false false false true +00:00:00+15:59 NULL NULL NULL NULL NULL NULL NULL +00:00:00+15:58 00:00:00+15:59 false false false true true true +00:00:00+15:58 00:00:00+15:58 false true true true false false +00:00:00+15:58 02:30:00+12 true true false false false true +00:00:00+15:58 02:30:00+04:30:45 true true false false false true +00:00:00+15:58 02:30:00+04:30 true true false false false true +00:00:00+15:58 02:30:00+04 true true false false false true +00:00:00+15:58 02:30:00+00 true true false false false true +00:00:00+15:58 02:30:00-12 true true false false false true +00:00:00+15:58 16:15:03.123456+00 true true false false false true +00:00:00+15:58 24:00:00-15:58 true true false false false true +00:00:00+15:58 24:00:00-15:59 true true false false false true +00:00:00+15:58 NULL NULL NULL NULL NULL NULL NULL +02:30:00+12 00:00:00+15:59 false false false true true true +02:30:00+12 00:00:00+15:58 false false false true true true +02:30:00+12 02:30:00+12 false true true true false false +02:30:00+12 02:30:00+04:30:45 true true false false false true +02:30:00+12 02:30:00+04:30 true true false false false true +02:30:00+12 02:30:00+04 true true false false false true +02:30:00+12 02:30:00+00 true true false false false true +02:30:00+12 02:30:00-12 true true false false false true +02:30:00+12 16:15:03.123456+00 true true false false false true +02:30:00+12 24:00:00-15:58 true true false false false true +02:30:00+12 24:00:00-15:59 true true false false false true +02:30:00+12 NULL NULL NULL NULL NULL NULL NULL +02:30:00+04:30:45 00:00:00+15:59 false false false true true true +02:30:00+04:30:45 00:00:00+15:58 false false false true true true +02:30:00+04:30:45 02:30:00+12 false false false true true true +02:30:00+04:30:45 02:30:00+04:30:45 false true true true false false +02:30:00+04:30:45 02:30:00+04:30 true true false false false true +02:30:00+04:30:45 02:30:00+04 true true false false false true +02:30:00+04:30:45 02:30:00+00 true true false false false true +02:30:00+04:30:45 02:30:00-12 true true false false false true +02:30:00+04:30:45 16:15:03.123456+00 true true false false false true +02:30:00+04:30:45 24:00:00-15:58 true true false false false true +02:30:00+04:30:45 24:00:00-15:59 true true false false false true +02:30:00+04:30:45 NULL NULL NULL NULL NULL NULL NULL +02:30:00+04:30 00:00:00+15:59 false false false true true true +02:30:00+04:30 00:00:00+15:58 false false false true true true +02:30:00+04:30 02:30:00+12 false false false true true true +02:30:00+04:30 02:30:00+04:30:45 false false false true true true +02:30:00+04:30 02:30:00+04:30 false true true true false false +02:30:00+04:30 02:30:00+04 true true false false false true +02:30:00+04:30 02:30:00+00 true true false false false true +02:30:00+04:30 02:30:00-12 true true false false false true +02:30:00+04:30 16:15:03.123456+00 true true false false false true +02:30:00+04:30 24:00:00-15:58 true true false false false true +02:30:00+04:30 24:00:00-15:59 true true false false false true +02:30:00+04:30 NULL NULL NULL NULL NULL NULL NULL +02:30:00+04 00:00:00+15:59 false false false true true true +02:30:00+04 00:00:00+15:58 false false false true true true +02:30:00+04 02:30:00+12 false false false true true true +02:30:00+04 02:30:00+04:30:45 false false false true true true +02:30:00+04 02:30:00+04:30 false false false true true true +02:30:00+04 02:30:00+04 false true true true false false +02:30:00+04 02:30:00+00 true true false false false true +02:30:00+04 02:30:00-12 true true false false false true +02:30:00+04 16:15:03.123456+00 true true false false false true +02:30:00+04 24:00:00-15:58 true true false false false true +02:30:00+04 24:00:00-15:59 true true false false false true +02:30:00+04 NULL NULL NULL NULL NULL NULL NULL +02:30:00+00 00:00:00+15:59 false false false true true true +02:30:00+00 00:00:00+15:58 false false false true true true +02:30:00+00 02:30:00+12 false false false true true true +02:30:00+00 02:30:00+04:30:45 false false false true true true +02:30:00+00 02:30:00+04:30 false false false true true true +02:30:00+00 02:30:00+04 false false false true true true +02:30:00+00 02:30:00+00 false true true true false false +02:30:00+00 02:30:00-12 true true false false false true +02:30:00+00 16:15:03.123456+00 true true false false false true +02:30:00+00 24:00:00-15:58 true true false false false true +02:30:00+00 24:00:00-15:59 true true false false false true +02:30:00+00 NULL NULL NULL NULL NULL NULL NULL +02:30:00-12 00:00:00+15:59 false false false true true true +02:30:00-12 00:00:00+15:58 false false false true true true +02:30:00-12 02:30:00+12 false false false true true true +02:30:00-12 02:30:00+04:30:45 false false false true true true +02:30:00-12 02:30:00+04:30 false false false true true true +02:30:00-12 02:30:00+04 false false false true true true +02:30:00-12 02:30:00+00 false false false true true true +02:30:00-12 02:30:00-12 false true true true false false +02:30:00-12 16:15:03.123456+00 true true false false false true +02:30:00-12 24:00:00-15:58 true true false false false true +02:30:00-12 24:00:00-15:59 true true false false false true +02:30:00-12 NULL NULL NULL NULL NULL NULL NULL +16:15:03.123456+00 00:00:00+15:59 false false false true true true +16:15:03.123456+00 00:00:00+15:58 false false false true true true +16:15:03.123456+00 02:30:00+12 false false false true true true +16:15:03.123456+00 02:30:00+04:30:45 false false false true true true +16:15:03.123456+00 02:30:00+04:30 false false false true true true +16:15:03.123456+00 02:30:00+04 false false false true true true +16:15:03.123456+00 02:30:00+00 false false false true true true +16:15:03.123456+00 02:30:00-12 false false false true true true +16:15:03.123456+00 16:15:03.123456+00 false true true true false false +16:15:03.123456+00 24:00:00-15:58 true true false false false true +16:15:03.123456+00 24:00:00-15:59 true true false false false true +16:15:03.123456+00 NULL NULL NULL NULL NULL NULL NULL +24:00:00-15:58 00:00:00+15:59 false false false true true true +24:00:00-15:58 00:00:00+15:58 false false false true true true +24:00:00-15:58 02:30:00+12 false false false true true true +24:00:00-15:58 02:30:00+04:30:45 false false false true true true +24:00:00-15:58 02:30:00+04:30 false false false true true true +24:00:00-15:58 02:30:00+04 false false false true true true +24:00:00-15:58 02:30:00+00 false false false true true true +24:00:00-15:58 02:30:00-12 false false false true true true +24:00:00-15:58 16:15:03.123456+00 false false false true true true +24:00:00-15:58 24:00:00-15:58 false true true true false false +24:00:00-15:58 24:00:00-15:59 true true false false false true +24:00:00-15:58 NULL NULL NULL NULL NULL NULL NULL +24:00:00-15:59 00:00:00+15:59 false false false true true true +24:00:00-15:59 00:00:00+15:58 false false false true true true +24:00:00-15:59 02:30:00+12 false false false true true true +24:00:00-15:59 02:30:00+04:30:45 false false false true true true +24:00:00-15:59 02:30:00+04:30 false false false true true true +24:00:00-15:59 02:30:00+04 false false false true true true +24:00:00-15:59 02:30:00+00 false false false true true true +24:00:00-15:59 02:30:00-12 false false false true true true +24:00:00-15:59 16:15:03.123456+00 false false false true true true +24:00:00-15:59 24:00:00-15:58 false false false true true true +24:00:00-15:59 24:00:00-15:59 false true true true false false +24:00:00-15:59 NULL NULL NULL NULL NULL NULL NULL +NULL 00:00:00+15:59 NULL NULL NULL NULL NULL NULL +NULL 00:00:00+15:58 NULL NULL NULL NULL NULL NULL +NULL 02:30:00+12 NULL NULL NULL NULL NULL NULL +NULL 02:30:00+04:30:45 NULL NULL NULL NULL NULL NULL +NULL 02:30:00+04:30 NULL NULL NULL NULL NULL NULL +NULL 02:30:00+04 NULL NULL NULL NULL NULL NULL +NULL 02:30:00+00 NULL NULL NULL NULL NULL NULL +NULL 02:30:00-12 NULL NULL NULL NULL NULL NULL +NULL 16:15:03.123456+00 NULL NULL NULL NULL NULL NULL +NULL 24:00:00-15:58 NULL NULL NULL NULL NULL NULL +NULL 24:00:00-15:59 NULL NULL NULL NULL NULL NULL +NULL NULL NULL NULL NULL NULL NULL NULL + # Coverage statement error SELECT '02:30:00>04'::TIMETZ; +---- +time field value out of range statement error SELECT '02:30:00+4'::TIMETZ; +---- +time field value out of range statement error SELECT '02:30:00+4xx'::TIMETZ; +---- +time field value out of range statement error SELECT '02:30:00+2000'::TIMETZ; +---- +time field value out of range statement error SELECT '02:30:00+20:xx'::TIMETZ; +---- +time field value out of range statement error SELECT '02:30:00+20:45:xx'::TIMETZ; +---- +time field value out of range statement error SELECT 'infinity'::TIMETZ; +---- +time field value out of range diff --git a/test/sql/types/time/time_parsing.test b/test/sql/types/time/time_parsing.test index 104a4a55c1ab..a8edb1db7bc5 100644 --- a/test/sql/types/time/time_parsing.test +++ b/test/sql/types/time/time_parsing.test @@ -42,19 +42,25 @@ SELECT '14:42:04.500'::TIME::VARCHAR # out of range statement error SELECT '50:42:04.500'::TIME::VARCHAR +---- statement error SELECT '100:42:04.500'::TIME::VARCHAR +---- statement error SELECT '14:70:04.500'::TIME::VARCHAR +---- statement error SELECT '14:100:04.500'::TIME::VARCHAR +---- statement error SELECT '14:42:70.500'::TIME::VARCHAR +---- # invalid separator statement error -SELECT '14-42-04'::TIME::VARCHAR \ No newline at end of file +SELECT '14-42-04'::TIME::VARCHAR +---- diff --git a/test/sql/types/time/time_try_cast.test b/test/sql/types/time/time_try_cast.test index 739eb96427e3..7b7f1f707ba4 100644 --- a/test/sql/types/time/time_try_cast.test +++ b/test/sql/types/time/time_try_cast.test @@ -60,6 +60,11 @@ select try_cast(' 11:11:11 ' as time) query I select try_cast('24:00:00' as time) ---- +24:00:00 + +query I +select try_cast('24:00:01' as time) +---- NULL query I @@ -81,3 +86,8 @@ query I select try_cast('23:59:59.999999' as time) ---- 23:59:59.999999 + +query I +select try_cast('24:00:00' as time) +---- +24:00:00 diff --git a/test/sql/types/timestamp/alternative_timestamp_casts.test b/test/sql/types/timestamp/alternative_timestamp_casts.test index 1dbab0d6c0fa..130d4748e177 100644 --- a/test/sql/types/timestamp/alternative_timestamp_casts.test +++ b/test/sql/types/timestamp/alternative_timestamp_casts.test @@ -19,3 +19,18 @@ query I SELECT DATE '1992-01-01'::TIMESTAMP_NS ---- 1992-01-01 00:00:00 + +query I +select '2023-12-08 08:51:39.123456'::TIMESTAMP_MS::TIME; +---- +08:51:39.123 + +query I +select '2023-12-08 08:51:39.123456'::TIMESTAMP_S::TIME; +---- +08:51:39 + +query I +select '2023-12-08 08:51:39.123456'::TIMESTAMP_NS::TIME; +---- +08:51:39.123456 diff --git a/test/sql/types/timestamp/test_incorrect_timestamp.test b/test/sql/types/timestamp/test_incorrect_timestamp.test index cc64d410c139..4d398b0ebbb0 100644 --- a/test/sql/types/timestamp/test_incorrect_timestamp.test +++ b/test/sql/types/timestamp/test_incorrect_timestamp.test @@ -10,18 +10,23 @@ CREATE TABLE timestamp(t TIMESTAMP) statement error INSERT INTO timestamp VALUES ('blabla') +---- statement error INSERT INTO timestamp VALUES ('1993-20-14 00:00:00') +---- statement error INSERT INTO timestamp VALUES ('1993-08-99 00:00:00') +---- statement error INSERT INTO timestamp VALUES ('1993-02-29 00:00:00') +---- statement error INSERT INTO timestamp VALUES ('1900-02-29 00:00:00') +---- statement ok INSERT INTO timestamp VALUES ('1992-02-29 00:00:00') @@ -31,22 +36,29 @@ INSERT INTO timestamp VALUES ('2000-02-29 00:00:00') statement error INSERT INTO timestamp VALUES ('02-02-1992 00:00:00') +---- statement error INSERT INTO timestamp VALUES ('1900-1-1 59:59:23') +---- statement error INSERT INTO timestamp VALUES ('1900a01a01 00:00:00') +---- statement error INSERT INTO timestamp VALUES ('1900-1-1 00;00;00') +---- statement error INSERT INTO timestamp VALUES ('1900-1-1 00a00a00') +---- statement error INSERT INTO timestamp VALUES ('1900-1-1 00/00/00') +---- statement error INSERT INTO timestamp VALUES ('1900-1-1 00-00-00') +---- diff --git a/test/sql/types/timestamp/test_infinite_time.test b/test/sql/types/timestamp/test_infinite_time.test index f3cff00d0182..4cfa1561e34c 100644 --- a/test/sql/types/timestamp/test_infinite_time.test +++ b/test/sql/types/timestamp/test_infinite_time.test @@ -32,6 +32,7 @@ foreach special infinity -infinity epoch statement error SELECT '${special} 00:00:00'::${datatype}; +---- endloop @@ -294,30 +295,38 @@ infinity infinity infinity statement error select ts::TIME, tstz::TIME, dt::TIME FROM specials +---- statement error select 'infinity'::TIME; +---- # infinite subtract statement error select subtract( cast('infinity' as timestamp), timestamp '1970-01-01') +---- statement error select subtract( timestamp '1970-01-01', cast('-infinity' as timestamp)) +---- statement error SELECT 'e'::TIMESTAMP +---- statement error SELECT 'e'::DATE +---- statement error SELECT 'i'::TIMESTAMP +---- statement error SELECT 'i'::DATE +---- diff --git a/test/sql/types/timestamp/test_timestamp.test b/test/sql/types/timestamp/test_timestamp.test index 386926f1040a..4699bab623f7 100644 --- a/test/sql/types/timestamp/test_timestamp.test +++ b/test/sql/types/timestamp/test_timestamp.test @@ -35,12 +35,15 @@ SELECT timestamp ' 2017-07-23 13:10:11 '; # other trailing, preceding, or middle gunk is not accepted statement error SELECT timestamp ' 2017-07-23 13:10:11 AA'; +---- statement error SELECT timestamp 'AA2017-07-23 13:10:11'; +---- statement error SELECT timestamp '2017-07-23A13:10:11'; +---- query T SELECT t FROM timestamp ORDER BY t; @@ -66,21 +69,27 @@ SELECT MAX(t) FROM timestamp; statement error SELECT SUM(t) FROM timestamp +---- statement error SELECT AVG(t) FROM timestamp +---- statement error SELECT t+t FROM timestamp +---- statement error SELECT t*t FROM timestamp +---- statement error SELECT t/t FROM timestamp +---- statement error SELECT t%t FROM timestamp +---- query T SELECT t-t FROM timestamp diff --git a/test/sql/types/timestamp/test_timestamp_2411.test b/test/sql/types/timestamp/test_timestamp_2411.test index 292a610214d7..064c71cb33b0 100644 --- a/test/sql/types/timestamp/test_timestamp_2411.test +++ b/test/sql/types/timestamp/test_timestamp_2411.test @@ -20,4 +20,4 @@ INSERT INTO timestamp2 VALUES ('1993-08-14 00:00:01') query I select count(*) from timestamp2 inner join timestamp1 on (timestamp1.i = timestamp2.i) ---- -1 \ No newline at end of file +1 diff --git a/test/sql/types/timestamp/test_timestamp_auto_casting.test b/test/sql/types/timestamp/test_timestamp_auto_casting.test new file mode 100644 index 000000000000..b21c97b7bf1d --- /dev/null +++ b/test/sql/types/timestamp/test_timestamp_auto_casting.test @@ -0,0 +1,43 @@ +# name: test/sql/types/timestamp/test_timestamp_auto_casting.test +# description: Test auto-casting of timestamps +# group: [timestamp] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE timestamps(ts_SEC TIMESTAMP_S, ts_MS TIMESTAMP_MS, ts TIMESTAMP, ts_NS TIMESTAMP_NS) + +# FIXME - we don't actually support nanosecond precision in string parsing +statement ok +INSERT INTO timestamps VALUES ('2000-01-01 01:12:23', '2000-01-01 01:12:23.123', '2000-01-01 01:12:23.123456', '2000-01-01 01:12:23.123457'); + +# All of these timestamps are different +query IIIIIIIIIIII +SELECT + ts_SEC=ts_MS, + ts_SEC=ts, + ts_SEC=ts_NS, + ts_MS=ts, + ts_MS=ts_NS, + ts=ts_NS, + ts_MS=ts_SEC, + ts=ts_SEC, + ts_SEC=ts_NS, + ts=ts_MS, + ts_NS=ts_MS, + ts_NS=ts, +FROM timestamps +---- +false false false false false false false false false false false false + +# we always prefer the timestamp with the highest precision when auto-casting +query I +SELECT typeof([TIMESTAMP '2000-01-01 01:12:23.123456', TIMESTAMP_NS '2000-01-01 01:12:23.123456']) +---- +TIMESTAMP_NS[] + +query I +SELECT typeof([TIMESTAMP_NS '2000-01-01 01:12:23.123456', TIMESTAMP '2000-01-01 01:12:23.123456']) +---- +TIMESTAMP_NS[] diff --git a/test/sql/types/timestamp/test_timestamp_types.test b/test/sql/types/timestamp/test_timestamp_types.test index 9cc79da0419e..87064765e95f 100644 --- a/test/sql/types/timestamp/test_timestamp_types.test +++ b/test/sql/types/timestamp/test_timestamp_types.test @@ -45,25 +45,29 @@ INSERT INTO timestamp VALUES ('2008-01-01 00:00:11','2008-01-01 00:00:01.794','2 # Overflow from US to NS statement error select '90000-01-19 03:14:07.999999'::TIMESTAMP_US::TIMESTAMP_NS +---- -#DATE/TIME conversions are not directly supported yet -statement error -select sec::DATE from timestamp; - -statement error -select milli::DATE from timestamp; - -statement error -select nano::DATE from timestamp; - -statement error +# TIME conversions are now supported +query I select sec::TIME from timestamp; +---- +00:00:01 +00:00:51 +00:00:11 -statement error +query I select milli::TIME from timestamp; +---- +00:00:01.594 +00:00:01.894 +00:00:01.794 -statement error +query I select nano::TIME from timestamp; +---- +00:00:01.889268 +00:00:01.999268 +00:00:01.899268 # Direct timestamp promotions foreach src sec milli micro nano @@ -79,6 +83,18 @@ endloop endloop +# Cast to DATE +foreach src sec milli micro nano + +query I +SELECT ${src}::DATE from timestamp +---- +2008-01-01 +2008-01-01 +2008-01-01 + +endloop + #Sorting on the timestamps query T select sec from timestamp order by sec; diff --git a/test/sql/types/timestamp/test_timestamp_tz.test b/test/sql/types/timestamp/test_timestamp_tz.test index 846a016b6568..230ebfee6b9a 100644 --- a/test/sql/types/timestamp/test_timestamp_tz.test +++ b/test/sql/types/timestamp/test_timestamp_tz.test @@ -22,6 +22,7 @@ select '2021-11-15 02:30:00'::TIMESTAMP::TIMESTAMPTZ; foreach datatype DATE TIME statement error -SELECT '2021-04-29 10:50:09-05'::TIMESTAMPTZ::{datatype} +SELECT '2021-04-29 10:50:09-05'::TIMESTAMPTZ::${datatype} +---- endloop diff --git a/test/sql/types/timestamp/timestamp_limits.test b/test/sql/types/timestamp/timestamp_limits.test index 2fcfc016462b..9978df6638ef 100644 --- a/test/sql/types/timestamp/timestamp_limits.test +++ b/test/sql/types/timestamp/timestamp_limits.test @@ -19,6 +19,7 @@ select '290309-12-22 (BC) 00:00:00'::timestamp statement error select '290309-12-21 (BC) 12:59:59.999999'::timestamp +---- query I select '290309-12-22 (BC) 00:00:00'::timestamp + interval (1) day @@ -27,18 +28,23 @@ select '290309-12-22 (BC) 00:00:00'::timestamp + interval (1) day statement error select '290309-12-22 (BC) 00:00:00'::timestamp - interval (1) microsecond +---- statement error select '290309-12-22 (BC) 00:00:00'::timestamp - interval (1) second +---- statement error select '290309-12-22 (BC) 00:00:00'::timestamp - interval (1) day +---- statement error select '290309-12-22 (BC) 00:00:00'::timestamp - interval (1) month +---- statement error select '290309-12-22 (BC) 00:00:00'::timestamp - interval (1) year +---- # max date for timestamp micros is 294247-01-10 04:00:54.775806 query I @@ -48,24 +54,31 @@ select timestamp '294247-01-10 04:00:54.775806' statement error select timestamp '294247-01-10 04:00:54.775807' +---- statement error select timestamp '294247-01-10 04:00:54.775806' + interval (1) microsecond +---- statement error select timestamp '294247-01-10 04:00:54.775806' + interval (1) second +---- statement error select timestamp '294247-01-10 04:00:54.775806' + interval (1) hour +---- statement error select timestamp '294247-01-10 04:00:54.775806' + interval (1) day +---- statement error select timestamp '294247-01-10 04:00:54.775806' + interval (1) month +---- statement error select timestamp '294247-01-10 04:00:54.775806' + interval (1) year +---- # Offset overflow statement error diff --git a/test/sql/types/timestamp/timestamp_precision.test b/test/sql/types/timestamp/timestamp_precision.test index b373b699ac45..022dcfdb5ef2 100644 --- a/test/sql/types/timestamp/timestamp_precision.test +++ b/test/sql/types/timestamp/timestamp_precision.test @@ -60,10 +60,13 @@ endloop # unsupported: precision too high statement error CREATE TABLE ts_precision(sec TIMESTAMP(10)); +---- statement error CREATE TABLE ts_precision(sec TIMESTAMP(99999)); +---- # timestamp only supporst a single modifier statement error CREATE TABLE ts_precision(sec TIMESTAMP(1, 1)); +---- diff --git a/test/sql/types/uhugeint/test_uhugeint_aggregates.test b/test/sql/types/uhugeint/test_uhugeint_aggregates.test new file mode 100644 index 000000000000..5921128a62a9 --- /dev/null +++ b/test/sql/types/uhugeint/test_uhugeint_aggregates.test @@ -0,0 +1,44 @@ +# name: test/sql/types/uhugeint/test_uhugeint_aggregates.test +# description: Test uhugeint aggregates +# group: [uhugeint] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE hugeints(g INTEGER, h UHUGEINT); + +statement ok +INSERT INTO hugeints VALUES (1, 42), (2, 1267650600228229401496703205376), (2, 0), (1, '8'); + +# min, max, first, sum +# ungrouped aggregate +query IIIII +SELECT MIN(h), MAX(h), SUM(h), FIRST(h), LAST(h) FROM hugeints; +---- +0 1267650600228229401496703205376 1267650600228229401496703205426 42 8 + +# grouped aggregate +query IIIIII +SELECT g, MIN(h), MAX(h), SUM(h), FIRST(h), LAST(h) FROM hugeints GROUP BY g ORDER BY 1; +---- +1 8 42 50 42 8 +2 0 1267650600228229401496703205376 1267650600228229401496703205426 1267650600228229401496703205376 0 + +# first aggr gets confused otherwise +statement ok +PRAGMA threads=1 + +# ungrouped aggregate +query II +SELECT FIRST(h), LAST(h) FROM hugeints; +---- +42 8 + +# grouped aggregate +query III +SELECT g, FIRST(h), LAST(h) FROM hugeints GROUP BY g ORDER BY 1; +---- +1 42 8 +2 1267650600228229401496703205376 0 + diff --git a/test/sql/types/uhugeint/test_uhugeint_arithmetic.test b/test/sql/types/uhugeint/test_uhugeint_arithmetic.test new file mode 100644 index 000000000000..37e73f1b186f --- /dev/null +++ b/test/sql/types/uhugeint/test_uhugeint_arithmetic.test @@ -0,0 +1,192 @@ +# name: test/sql/types/uhugeint/test_uhugeint_arithmetic.test +# description: Test arithmetic with unsigned huge integers +# group: [uhugeint] + +statement ok +PRAGMA enable_verification + +# negation +query II +SELECT ~(-50::UHUGEINT), -(-(50::UHUGEINT)); +---- +49 50 + +# negate 0 +query I +SELECT -(0::UHUGEINT) +---- +0 + +# addition +# simple addition: small values +query I +SELECT 42::UHUGEINT + 42::UHUGEINT; +---- +84 + +# large values +query I +SELECT '100000000000000000000'::UHUGEINT + '100000000000000000000'::UHUGEINT; +---- +200000000000000000000 + +# overflow in addition +statement error +SELECT '340282366920938463463374607431768211455'::UHUGEINT + '340282366920938463463374607431768211455'::UHUGEINT; +---- +Out of Range Error + +statement error +SELECT '340282366920938463463374607431768211455'::UHUGEINT + '10'::UHUGEINT; +---- +Out of Range Error + +# almost overflowing but not quite +query I +SELECT '340282366920938463463374607431768211455'::UHUGEINT - 10::UHUGEINT + 10::UHUGEINT +---- +340282366920938463463374607431768211455 + +# overflowing +statement error +SELECT '340282366920938463463374607431768211455'::UHUGEINT - 10::UHUGEINT + 11::UHUGEINT +---- +Out of Range Error + +# subtraction +query II +SELECT 100::UHUGEINT - 42::UHUGEINT, 3::UHUGEINT - 2::UHUGEINT; +---- +58 1 + +# underflow in subtraction +statement error +SELECT '0'::UHUGEINT - '1'::UHUGEINT; +---- +Out of Range Error + +# multiplication +query I +SELECT 100::UHUGEINT * 50::UHUGEINT; +---- +5000 + +# multiplying large numbers +query II +SELECT '1701411834604692317'::UHUGEINT * '2'::UHUGEINT, '100000000000000000000'::UHUGEINT * '1000000000000000000'::UHUGEINT +---- +3402823669209384634 100000000000000000000000000000000000000 + +query I +SELECT '340282366920938463463374607431768211455'::UHUGEINT * 1::UHUGEINT +---- +340282366920938463463374607431768211455 + +# overflow in multiplication +statement error +SELECT '340282366920938463463374607431768211455'::UHUGEINT * 2::UHUGEINT +---- +Out of Range Error + +statement error +SELECT '34028236692093846346'::UHUGEINT * '33746074317682114556'::UHUGEINT +---- +Out of Range Error + +# division +query II +SELECT 100::UHUGEINT // 20::UHUGEINT, 90::UHUGEINT // 20::UHUGEINT +---- +5 4 + +# division by zero +query I +SELECT 100::UHUGEINT // 0::UHUGEINT +---- +NULL + +# large values +query II +SELECT '100000000000000000000000000000000000000'::UHUGEINT // '10000000000000'::UHUGEINT, '100000000000000000000000000000000000000'::UHUGEINT // '2'::UHUGEINT +---- +10000000000000000000000000 50000000000000000000000000000000000000 + +# modulo +query II +SELECT 100::UHUGEINT % 20::UHUGEINT, 90::UHUGEINT % 20::UHUGEINT +---- +0 10 + +# modulo by zero +query I +SELECT 100::UHUGEINT % 0::UHUGEINT +---- +NULL + +# large values +query II +SELECT '100000000000000000000000000000000000000'::UHUGEINT % '6587689457689375689735'::UHUGEINT, '100000000000000000000000000000000000000'::UHUGEINT % '3'::UHUGEINT +---- +5396771390320972230850 1 + +# abs +query I +SELECT ABS('100'::UHUGEINT); +---- +100 + +query I +SELECT '340282366920938463463374607431768211454'::UHUGEINT + 1; +---- +340282366920938463463374607431768211455 + +# the other way around (i.e. move away from the overflow direction) +query I +SELECT '340282366920938463463374607431768211455'::UHUGEINT - 1; +---- +340282366920938463463374607431768211454 + +# now the reverse: right side is big +query I +SELECT 1 + '340282366920938463463374607431768211454'::UHUGEINT; +---- +340282366920938463463374607431768211455 + +statement error +SELECT 1::UHUGEINT + '340282366920938463463374607431768211455'::UHUGEINT; +---- +Out of Range Error + +# subtraction +query I +SELECT 1 - 1::UHUGEINT; +---- +0 + +statement error +SELECT 0::UHUGEINT - 1::UHUGEINT; +---- +Out of Range Error + +# the other way around (i.e. move away from the overflow direction) +query I +SELECT '340282366920938463463374607431768211455'::UHUGEINT - 1; +---- +340282366920938463463374607431768211454 + +# division +query I +SELECT '340282366920938463463374607431768211455'::UHUGEINT // 1; +---- +340282366920938463463374607431768211455 + +query I +SELECT '340282366920938463463374607431768211455'::UHUGEINT // '340282366920938463463374607431768211455'::UHUGEINT; +---- +1 + +# comparisons +query II +SELECT '5'::UHUGEINT <> '5'::UHUGEINT, '5'::UHUGEINT <> '18446744073709551621'::UHUGEINT +---- +false true diff --git a/test/sql/types/uhugeint/test_uhugeint_auto_cast.test b/test/sql/types/uhugeint/test_uhugeint_auto_cast.test new file mode 100644 index 000000000000..4ae17bce474d --- /dev/null +++ b/test/sql/types/uhugeint/test_uhugeint_auto_cast.test @@ -0,0 +1,32 @@ +# name: test/sql/types/uhugeint/test_uhugeint_auto_cast.test +# description: Test uhugeint auto cast +# group: [uhugeint] + +statement ok +PRAGMA enable_verification + +# test auto cast of all integer types to uhugeint +query IIII +SELECT 10000000000000000000::UHUGEINT + 100::TINYINT, 10000000000000000000::UHUGEINT + 100::SMALLINT, 10000000000000000000::UHUGEINT + 100::INTEGER, 10000000000000000000::UHUGEINT + 100::BIGINT; +---- +10000000000000000100 +10000000000000000100 +10000000000000000100 +10000000000000000100 + +# test auto cast of UHUGEINT -> DOUBLE +query I +SELECT 100::UHUGEINT + 0.5 +---- +100.5 + +query I +SELECT COS(100::UHUGEINT) +---- +0.862318872287684 + +# test auto cast of UHUGEINT -> VARCHAR +query I +SELECT CONCAT('hello number ', 100::UHUGEINT) +---- +hello number 100 \ No newline at end of file diff --git a/test/sql/types/uhugeint/test_uhugeint_conversion.test b/test/sql/types/uhugeint/test_uhugeint_conversion.test new file mode 100644 index 000000000000..664293ac01c5 --- /dev/null +++ b/test/sql/types/uhugeint/test_uhugeint_conversion.test @@ -0,0 +1,171 @@ +# name: test/sql/types/uhugeint/test_uhugeint_conversion.test +# description: Test uhugeint conversion +# group: [uhugeint] + +# small numbers in uhugeint +query III +SELECT '7'::UHUGEINT, '130'::UHUGEINT, '924829852'::UHUGEINT +---- +7 130 924829852 + +# zero +query II +SELECT '0'::UHUGEINT, '-0'::UHUGEINT +---- +0 0 + +query I +SELECT '10000000000000000000000000000'::UHUGEINT; +---- +10000000000000000000000000000 + +# huge numbers in hugeint +query II +SELECT '1267650600228229401496703205376'::UHUGEINT, '340282366920938463463374607431768211455'::UHUGEINT; +---- +1267650600228229401496703205376 340282366920938463463374607431768211455 + +# negative numbers in hugeint +statement error +SELECT '-1267650600228229401496703205376'::UHUGEINT, '-17014118346046923173168730371588410572'::UHUGEINT; +---- +Conversion Error + +# string -> hugeint conversion throws error on overflow +statement error +SELECT '340282366920938463463374607431768211456'::UHUGEINT; +---- +Conversion Error + +statement error +SELECT '-1'::UHUGEINT; +---- +Conversion Error + +# test the exact boundaries +# these work +query II +SELECT '340282366920938463463374607431768211455'::UHUGEINT, '0'::UHUGEINT; +---- +340282366920938463463374607431768211455 0 + +# these don't +statement error +SELECT '340282366920938463463374607431768211456'::UHUGEINT; +---- +Conversion Error + +statement error +SELECT '-1'::UHUGEINT; +---- +Conversion Error + +# cast various types to uhugeint +query IIIIII +SELECT 42::TINYINT::UHUGEINT, 42::SMALLINT::UHUGEINT, 42::INTEGER::UHUGEINT, 42::BIGINT::UHUGEINT, 42::FLOAT::UHUGEINT, 42::DOUBLE::UHUGEINT; +---- +42 42 42 42 42 42 + +# negative values +statement error +SELECT (-42)::TINYINT::UHUGEINT, (-42)::SMALLINT::UHUGEINT, (-42)::INTEGER::UHUGEINT, (-42)::BIGINT::UHUGEINT, (-42)::FLOAT::UHUGEINT, (-42)::DOUBLE::UHUGEINT; +---- +Conversion Error + +# cast uhugeint to various types +query IIIIRR +SELECT 42::UHUGEINT::TINYINT, 42::UHUGEINT::SMALLINT, 42::UHUGEINT::INTEGER, 42::UHUGEINT::BIGINT, 42::UHUGEINT::FLOAT, 42::UHUGEINT::DOUBLE; +---- +42 42 42 42 42 42 + +# overflow in hugeint -> integer conversion +# test the exact boundaries for each type +statement error +SELECT 1000::UHUGEINT::TINYINT; +---- +Conversion Error + +# TINYINT +statement error +SELECT 128::UHUGEINT::TINYINT; +---- +Conversion Error + +statement ok +SELECT 127::UHUGEINT::TINYINT; + +# SMALLINT +statement error +SELECT 100000::UHUGEINT::SMALLINT; +---- +Conversion Error + +statement error +SELECT 32768::UHUGEINT::SMALLINT; +---- +Conversion Error + +query I +SELECT 32767::UHUGEINT::SMALLINT; +---- +32767 + +# INTEGER +statement error +SELECT 100000000000::UHUGEINT::INTEGER; +---- +Conversion Error + +statement error +SELECT 2147483648::UHUGEINT::INTEGER; +---- +Conversion Error + +statement ok +SELECT 2147483647::UHUGEINT::INTEGER; + +# BIGINT +statement error +SELECT 10000000000000000000::UHUGEINT::BIGINT; +---- +Conversion Error + +statement error +SELECT '9223372036854775808'::UHUGEINT::BIGINT; +---- +Conversion Error + +query I +SELECT 9223372036854775807::UHUGEINT::BIGINT; +---- +9223372036854775807 + +# overflow in double -> hugeint conversion +statement error +SELECT 1e100::FLOAT::UHUGEINT; +---- +Conversion Error + +statement error +SELECT 1e100::DOUBLE::UHUGEINT; +---- +Conversion Error + +# typeof large constant is hugeint, as long as it fits +query TTTTT +SELECT typeof(10), typeof(10000000000), typeof(170141183460469231731687303715884105727), typeof(170141183460469231731687303715884105728), typeof(170141183460469231731687303715884105728000) +---- +INTEGER BIGINT HUGEINT DOUBLE DOUBLE + +# exponents are always double +query III +select 1e30, 1e100, 1e-1 +---- +1000000000000000000000000000000 +10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0.1 + +query III +select typeof(1e30), typeof(1e100), typeof(1e-1) +---- +DOUBLE DOUBLE DOUBLE diff --git a/test/sql/types/uhugeint/test_uhugeint_exponent.test b/test/sql/types/uhugeint/test_uhugeint_exponent.test new file mode 100644 index 000000000000..80df8c058808 --- /dev/null +++ b/test/sql/types/uhugeint/test_uhugeint_exponent.test @@ -0,0 +1,48 @@ +# name: test/sql/types/uhugeint/test_uhugeint_exponent.test +# description: Test uhugeint conversion +# group: [uhugeint] + +statement ok +PRAGMA enable_verification + +query I +select '170141183460469231731687303715884105700e0'::UHUGEINT +---- +170141183460469231731687303715884105700 + +query I +select '340282366920938463463374607431768211455e0'::UHUGEINT +---- +340282366920938463463374607431768211455 + +query I +select 5.4321e4::UHUGEINT +---- +54321 + +query I +select (0.00000000000000000000002e+44)::UHUGEINT; +---- +2000000000000000000000 + +# overflow +statement error +select '340282366920938463463374607431768211456e0'::UHUGEINT +---- +Conversion Error + +statement error +select '3.4e39'::UHUGEINT +---- +Conversion Error + +query I +select '3.4e38'::UHUGEINT +---- +340000000000000000000000000000000000000 + +statement error +select '3.5e38'::UHUGEINT +---- +Conversion Error + diff --git a/test/sql/types/uhugeint/test_uhugeint_functions.test b/test/sql/types/uhugeint/test_uhugeint_functions.test new file mode 100644 index 000000000000..45f228306377 --- /dev/null +++ b/test/sql/types/uhugeint/test_uhugeint_functions.test @@ -0,0 +1,45 @@ +# name: test/sql/types/uhugeint/test_uhugeint_functions.test +# description: Test various functions on unsigned huge integers +# group: [uhugeint] + +statement ok +PRAGMA enable_verification + +# abs +query III +select abs(1::UHUGEINT), abs('1329227995784915872903807060280344576'::UHUGEINT), abs(0::UHUGEINT) +---- +1 1329227995784915872903807060280344576 0 + +# sign +query II +select sign(1::UHUGEINT), sign(0::UHUGEINT) +---- +1 0 + +# round/floor/ceil +query III +select round(1::UHUGEINT, 0), round('1329227995784915872903807060280344576'::UHUGEINT, 0), round(0::UHUGEINT, 0) +---- +1 1329227995784915872903807060280344576 0 + +query III +select floor(1::UHUGEINT), floor('1329227995784915872903807060280344576'::UHUGEINT), floor(0::UHUGEINT) +---- +1 1329227995784915872903807060280344576 0 + +query III +select ceil(1::UHUGEINT), ceil('1329227995784915872903807060280344576'::UHUGEINT), ceil(0::UHUGEINT) +---- +1 1329227995784915872903807060280344576 0 + +# least/greatest +query I +select LEAST(1::UHUGEINT, '1329227995784915872903807060280344576'::UHUGEINT, 0::UHUGEINT) +---- +0 + +query I +select GREATEST(1::UHUGEINT, '1329227995784915872903807060280344576'::UHUGEINT, 0::UHUGEINT) +---- +1329227995784915872903807060280344576 diff --git a/test/sql/types/uhugeint/test_uhugeint_null_value.test b/test/sql/types/uhugeint/test_uhugeint_null_value.test new file mode 100644 index 000000000000..9530a6e6b3e9 --- /dev/null +++ b/test/sql/types/uhugeint/test_uhugeint_null_value.test @@ -0,0 +1,51 @@ +# name: test/sql/types/uhugeint/test_uhugeint_null_value.test +# description: Test uhugeint null value handling +# group: [uhugeint] + +statement ok +SET default_null_order='nulls_first'; + +statement ok +PRAGMA enable_verification + +query I +SELECT NULL::UHUGEINT +---- +NULL + +statement ok +CREATE TABLE hugeints(id INTEGER, h UHUGEINT) + +statement ok +INSERT INTO hugeints VALUES (1, NULL), (1, 1), (1, 2) + +query III +SELECT id, FIRST(h), LAST(h) FROM hugeints WHERE h IS NULL GROUP BY id +---- +1 NULL NULL + +query II +SELECT h, SUM(id) FROM hugeints GROUP BY h ORDER BY 1 +---- +NULL 1 +1 1 +2 1 + +query III +SELECT id, h1.h, h2.h FROM hugeints h1 JOIN hugeints h2 USING (id) WHERE h1.h IS NULL AND h2.h IS NULL +---- +1 NULL NULL + +query I +SELECT (SELECT h1.h) FROM hugeints h1 ORDER BY 1 +---- +NULL +1 +2 + +query I +SELECT h1.h NOT IN (SELECT h1.h+h2.h FROM hugeints h2) FROM hugeints h1 ORDER BY 1 +---- +NULL +NULL +NULL diff --git a/test/sql/types/uhugeint/test_uhugeint_ops.test b/test/sql/types/uhugeint/test_uhugeint_ops.test new file mode 100644 index 000000000000..48a6d743af80 --- /dev/null +++ b/test/sql/types/uhugeint/test_uhugeint_ops.test @@ -0,0 +1,75 @@ +# name: test/sql/types/uhugeint/test_uhugeint_ops.test +# description: Test various huge integer ops +# group: [uhugeint] + +statement ok +PRAGMA enable_verification + +# test storage of the UHUGEINT type +statement ok +CREATE TABLE uhugeints(h UHUGEINT); + +statement ok +INSERT INTO uhugeints VALUES (42::UHUGEINT), ('1267650600228229401496703205376'::UHUGEINT); + +# out of range conversion +# statement error +# SELECT h::UINTEGER FROM uhugeints + +# filter before cast works +query I +SELECT h::UINTEGER FROM uhugeints WHERE h < 100::UINTEGER +---- +42 + +# test different comparison ops +query I +SELECT COUNT(*) FROM uhugeints WHERE h = 42::UHUGEINT +---- +1 + +query I +SELECT COUNT(*) FROM uhugeints WHERE h <> '1267650600228229401496703205376'::UHUGEINT +---- +1 + +query I +SELECT COUNT(*) FROM uhugeints WHERE h < '1267650600228229401496703205376'::UHUGEINT +---- +1 + +query I +SELECT COUNT(*) FROM uhugeints WHERE h <= '1267650600228229401496703205376'::UHUGEINT +---- +2 + +query I +SELECT COUNT(*) FROM uhugeints WHERE h > '1267650600228229401496703205375'::UHUGEINT +---- +1 + +query I +SELECT COUNT(*) FROM uhugeints WHERE h >= 42::UHUGEINT +---- +2 + +# joins +statement ok +CREATE TABLE uhugeints2(h UHUGEINT); +INSERT INTO uhugeints2 VALUES (42::UHUGEINT); + +query I +SELECT * FROM uhugeints JOIN uhugeints2 USING (h); +---- +42 + +query II +SELECT * FROM uhugeints t1 JOIN uhugeints2 t2 ON t1.h <> t2.h +---- +1267650600228229401496703205376 42 + +query II +SELECT * FROM uhugeints t1 JOIN uhugeints2 t2 ON t1.h >= t2.h ORDER BY 1 LIMIT 2 +---- +42 42 +1267650600228229401496703205376 42 diff --git a/test/sql/types/uhugeint/uhugeint_multiply.test b/test/sql/types/uhugeint/uhugeint_multiply.test new file mode 100644 index 000000000000..ac9a48fc67c8 --- /dev/null +++ b/test/sql/types/uhugeint/uhugeint_multiply.test @@ -0,0 +1,172 @@ +# name: test/sql/types/uhugeint/uhugeint_multiply.test +# description: Test correct computation of uhugeint multiplication +# group: [uhugeint] + +# overflows of various parts of the multiplication +# hugeint multiplication is done in 4 segments (low bits & high bits of the lower and upper uint64 part) +# we test all combinations here +# 251658240 = [low, low] +# 1080863910568919040 = [low, high] +# 4642275147320176030871715840 [high, low] +# 19938419936773738093557105904205168640 [high, high] + +# [low, low] mult +query I +SELECT 251658240::UHUGEINT * 251658240::UHUGEINT +---- +63331869759897600 + +query I +SELECT 251658240::UHUGEINT * 1080863910568919040::UHUGEINT +---- +272008309413291564308889600 + +query I +SELECT 251658240::UHUGEINT * 4642275147320176030871715840::UHUGEINT +---- +1168266793170336216419361674074521600 + +statement error +SELECT 251658240::UHUGEINT * 19938419936773738093557105904205168640::UHUGEINT +---- +Out of Range Error + +# [low, high] +query I +SELECT 1080863910568919040::UHUGEINT * 251658240::UHUGEINT +---- +272008309413291564308889600 + +query I +SELECT 1080863910568919040::UHUGEINT * 1080863910568919040::UHUGEINT +---- +1168266793170336216419361674074521600 + +statement error +SELECT 1080863910568919040::UHUGEINT * 4642275147320176030871715840::UHUGEINT +---- +Out of Range Error + +statement error +SELECT 1080863910568919040::UHUGEINT * 19938419936773738093557105904205168640::UHUGEINT +---- +Out of Range Error + +# [high, low] +query I +SELECT 4642275147320176030871715840::UHUGEINT * 251658240::UHUGEINT +---- +1168266793170336216419361674074521600 + +statement error +SELECT 4642275147320176030871715840::UHUGEINT * 1080863910568919040::UHUGEINT +---- +Out of Range Error + +statement error +SELECT 4642275147320176030871715840::UHUGEINT * 4642275147320176030871715840::UHUGEINT +---- +Out of Range Error + +statement error +SELECT 4642275147320176030871715840::UHUGEINT * 19938419936773738093557105904205168640::UHUGEINT +---- +Out of Range Error + +# [high, high] +statement error +SELECT 19938419936773738093557105904205168640::UHUGEINT * 251658240::UHUGEINT +---- +Out of Range Error + +statement error +SELECT 19938419936773738093557105904205168640::UHUGEINT * 1080863910568919040::UHUGEINT +---- +Out of Range Error + +statement error +SELECT 19938419936773738093557105904205168640::UHUGEINT * 4642275147320176030871715840::UHUGEINT +---- +Out of Range Error + +statement error +SELECT 19938419936773738093557105904205168640::UHUGEINT * 19938419936773738093557105904205168640::UHUGEINT +---- +Out of Range Error + +# more overflow tests on the boundaries +query I +SELECT 170141183460469231731687303715884105727::UHUGEINT * 2::UHUGEINT +---- +340282366920938463463374607431768211454 + +statement error +SELECT 170141183460469231731687303715884105728::UHUGEINT * 2::UHUGEINT +---- +Out of Range Error + +query I +SELECT 19807040628566084398385987583::UHUGEINT * 8589934592::UHUGEINT +---- +170141183460469231731687303707294171136 + +statement error +SELECT 19807040628566084398385987584::UHUGEINT*85899345928::UHUGEINT; +---- +Out of Range Error + +query I +SELECT 36893488147419103231::UHUGEINT * 4611686018427387904::UHUGEINT +---- +170141183460469231727075617697456717824 + +statement error +SELECT 368934881474191032324::UHUGEINT * 4611686018427387904::UHUGEINT +---- +Out of Range Error + +# now reverse sides +query I +SELECT 2::UHUGEINT * 170141183460469231731687303715884105727::UHUGEINT +---- +340282366920938463463374607431768211454 + +statement error +SELECT 2::UHUGEINT * 170141183460469231731687303715884105728::UHUGEINT +---- +Out of Range Error + +query I +SELECT 8589934592::UHUGEINT * 19807040628566084398385987583::UHUGEINT +---- +170141183460469231731687303707294171136 + +statement error +SELECT 85899345923::UHUGEINT * 19807040628566084398385987584::UHUGEINT +---- +Out of Range Error + +query I +SELECT 4611686018427387904::UHUGEINT * 36893488147419103231::UHUGEINT +---- +170141183460469231727075617697456717824 + +statement error +SELECT 4611686018427387904::UHUGEINT * 368934881474191032323::UHUGEINT +---- +Out of Range Error + +query I +SELECT 10376293541461622783::UHUGEINT * 10376293541461622783::UHUGEINT +---- +107667467658578185684455784799784665089 + +query I +SELECT 10376293541461622783::UHUGEINT * 10376293541461622783::UHUGEINT +---- +107667467658578185684455784799784665089 + +statement error +SELECT 172938225691027046399::UHUGEINT * 10376293541461622783::UHUGEINT +---- +Out of Range Error diff --git a/test/sql/types/uhugeint/uhugeint_try_cast.test b/test/sql/types/uhugeint/uhugeint_try_cast.test new file mode 100644 index 000000000000..e1ed0722c706 --- /dev/null +++ b/test/sql/types/uhugeint/uhugeint_try_cast.test @@ -0,0 +1,36 @@ +# name: test/sql/types/uhugeint/uhugeint_try_cast.test +# description: Test try_cast for uhugeint +# group: [uhugeint] + +statement ok +PRAGMA enable_verification + +statement error +SELECT CAST('340282366920938463463374607431768211456' AS UHUGEINT) +---- +Conversion Error + +statement error +SELECT CAST('340282366920938463463374607431768211456'::DOUBLE AS UHUGEINT) +---- +Conversion Error + +statement error +SELECT CAST('-1' AS UHUGEINT) +---- +Conversion Error + +query I +SELECT TRY_CAST('340282366920938463463374607431768211456' AS UHUGEINT) +---- +NULL + +query I +SELECT TRY_CAST('340282366920938463463374607431768211456'::DOUBLE AS UHUGEINT) +---- +NULL + +query I +SELECT TRY_CAST('-1' AS UHUGEINT) +---- +NULL diff --git a/test/sql/types/union/union_aggregate.test b/test/sql/types/union/union_aggregate.test index 7fcaa729cb7d..bdca49d658ef 100644 --- a/test/sql/types/union/union_aggregate.test +++ b/test/sql/types/union/union_aggregate.test @@ -42,4 +42,4 @@ SELECT LAST(u) FROM tbl1 GROUP BY union_tag(u) HAVING union_tag(u) = 'num'; query II SELECT max(u), min(u) FROM tbl1; ---- -foo 1 \ No newline at end of file +foo 1 diff --git a/test/sql/types/union/union_ambiguous.test b/test/sql/types/union/union_ambiguous.test index 06686bc7e7ba..70428f966b7b 100644 --- a/test/sql/types/union/union_ambiguous.test +++ b/test/sql/types/union/union_ambiguous.test @@ -5,9 +5,11 @@ # disallow members with same name (case insensitive) statement error CREATE TABLE tbl(a UNION(b INT, b INT)); +---- statement error CREATE TABLE tbl(a UNION(b INT, B INT)); +---- # allow members with same type @@ -17,6 +19,7 @@ CREATE TABLE tbl(a UNION(b INT, c INT)); # disallow inserting ambiguous values statement error INSERT INTO tbl VALUES (1), (2), (3); +---- # allow inserting explicitly tagged values using the union_value function # to create singleton unions and utilizing the union(A) -> union(A,B) cast @@ -27,6 +30,7 @@ INSERT INTO tbl VALUES (union_value(b := 1)), (union_value(c := 2)), (union_valu # when using explicit tags, all the tags must be present statement error INSERT INTO tbl VALUES (union_value(b := 3)), (union_value(a := 4)), (union_value(b := 5)); +---- query I SELECT a.b FROM tbl @@ -55,9 +59,11 @@ CREATE TABLE tbl2(a UNION(b STRUCT(foo VARCHAR), c STRUCT(foo VARCHAR))); statement error INSERT INTO tbl2 VALUES ({'foo': 'bar'}), ({'foo': 'baz'}); +---- statement error INSERT INTO tbl2 VALUES (union_value(b := {'foo': 'bar'})), (union_value(c := {'foo': 'baz'})), (union_value(d := {'foo': 'qux'})); +---- statement ok INSERT INTO tbl2 VALUES (union_value(b := {'foo': 'bar'})), (union_value(c := {'foo': 'baz'})); diff --git a/test/sql/types/union/union_cast.test b/test/sql/types/union/union_cast.test index b3697b48b839..f4203fac232d 100644 --- a/test/sql/types/union/union_cast.test +++ b/test/sql/types/union/union_cast.test @@ -25,6 +25,7 @@ three # cannot cast union to value in the general case statement error SELECT u::int FROM tbl1; +---- # but we can cast to VARCHAR query I @@ -151,6 +152,7 @@ INSERT INTO tbl4 VALUES (1), ('010203'::BLOB), (3), ('070809'::BLOB); # fails since b is missing statement error SELECT u::UNION(i SMALLINT, v VARCHAR) FROM tbl4; +---- # succeeds since b is present query I @@ -164,6 +166,7 @@ SELECT u::UNION(i SMALLINT, b VARCHAR) FROM tbl4 ORDER BY ALL;; # fails since b is not compatible statement error SELECT u::UNION(i SMALLINT, b INT) FROM tbl4; +---- statement ok DELETE FROM tbl4 WHERE union_tag(u) == 'b'; diff --git a/test/sql/types/union/union_extract.test b/test/sql/types/union/union_extract.test index 5d9b0e6e3237..76a3a9e4af1f 100644 --- a/test/sql/types/union/union_extract.test +++ b/test/sql/types/union/union_extract.test @@ -4,6 +4,7 @@ statement error SELECT union_extract(1, 'b'); +---- query I SELECT union_extract(1::UNION(a INT, b FLOAT), 'a'); diff --git a/test/sql/types/union/union_join.test b/test/sql/types/union/union_join.test index 90935ef0f18e..c30f26a535dd 100644 --- a/test/sql/types/union/union_join.test +++ b/test/sql/types/union/union_join.test @@ -129,4 +129,4 @@ SELECT id from tbl1 where a = 'foo'::UNION(num INT, str VARCHAR) query I SELECT union_tag('foo'::UNION(num INT, str VARCHAR)) ---- -str \ No newline at end of file +str diff --git a/test/sql/types/union/union_limit_offset.test b/test/sql/types/union/union_limit_offset.test index 71529d413c60..ad9d0c881d1e 100644 --- a/test/sql/types/union/union_limit_offset.test +++ b/test/sql/types/union/union_limit_offset.test @@ -36,4 +36,4 @@ baz query I SELECT * FROM tbl1 WHERE u.str IS NOT NULL LIMIT 1 OFFSET 1 ---- -foo \ No newline at end of file +foo diff --git a/test/sql/types/union/union_limits.test b/test/sql/types/union/union_limits.test index 5082177ec1d3..47b95238ad06 100644 --- a/test/sql/types/union/union_limits.test +++ b/test/sql/types/union/union_limits.test @@ -90,8 +90,10 @@ CREATE TABLE tbl1 (u UNION( a241 INT, a242 INT, a243 INT, a244 INT, a245 INT, a246 INT, a247 INT, a248 INT, a249 INT, a250 INT, a251 INT, a252 INT, a253 INT, a254 INT, a255 INT, a256 INT, a257 )) +---- # Need at least one column statement error -CREATE TABLE tbl1 (u UNION()) \ No newline at end of file +CREATE TABLE tbl1 (u UNION()) +---- diff --git a/test/sql/types/union/union_list.test b/test/sql/types/union/union_list.test index 4fe7590512d1..8fa13cd98677 100644 --- a/test/sql/types/union/union_list.test +++ b/test/sql/types/union/union_list.test @@ -7,7 +7,7 @@ statement ok CREATE TABLE tbl1 (union_list UNION(str VARCHAR, num INT)[]); statement ok -INSERT INTO tbl1 VALUES ([1, 'one']), (['two', 2]), ([3, 'three', '3']), ([4]), (list_value('five')), ([6]) +INSERT INTO tbl1 VALUES ([1::UNION(str VARCHAR, num INT), 'one']), (['two'::UNION(str VARCHAR, num INT), 2]), ([3::UNION(str VARCHAR, num INT), 'three', '3']), ([4]), (list_value('five')), ([6]) query I SELECT * FROM tbl1 diff --git a/test/sql/types/union/union_sort.test b/test/sql/types/union/union_sort.test index 0d69d4bd0eb6..627422664a79 100644 --- a/test/sql/types/union/union_sort.test +++ b/test/sql/types/union/union_sort.test @@ -64,4 +64,4 @@ NULL NULL NULL 1 lft NULL 3 u lft 4 u lft -2 u rght \ No newline at end of file +2 u rght diff --git a/test/sql/types/union/union_struct.test b/test/sql/types/union/union_struct.test index 9de688554702..4af01799012e 100644 --- a/test/sql/types/union/union_struct.test +++ b/test/sql/types/union/union_struct.test @@ -85,7 +85,7 @@ SELECT * FROM tbl2 {'str': key4, 'alt': key2} query II -SELECT * FROM tbl1 JOIN tbl2 ON tbl1.union_struct.str = tbl2.struct_union.alt.k +SELECT * FROM tbl1 JOIN tbl2 ON tbl1.union_struct.str = tbl2.struct_union.alt.k order by all ---- +key2 {'str': key2, 'alt': key2} key2 {'str': key4, 'alt': key2} -key2 {'str': key2, 'alt': key2} \ No newline at end of file diff --git a/test/sql/types/union/union_tag.test b/test/sql/types/union/union_tag.test index f6a1f6da4d81..9a240f041059 100644 --- a/test/sql/types/union/union_tag.test +++ b/test/sql/types/union/union_tag.test @@ -5,6 +5,7 @@ # Union type must be fully resolved statement error SELECT union_tag(1); +---- query I SELECT union_tag(1::UNION(a INT, b VARCHAR)); @@ -74,6 +75,7 @@ PREPARE p2 as SELECT union_tag(?); statement error EXECUTE p2(1); +---- query I EXECUTE p2('woo'::UNION(a INT, b VARCHAR)); diff --git a/test/sql/types/union/union_value.test b/test/sql/types/union/union_value.test index 934b21409899..91fb99ffeb0f 100644 --- a/test/sql/types/union/union_value.test +++ b/test/sql/types/union/union_value.test @@ -11,13 +11,16 @@ INSERT INTO tbl VALUES (union_value(num := 1)); # union_value must take exactly one argument statement error INSERT INTO tbl VALUES (union_value()); +---- statement error INSERT INTO tbl VALUES (union_value(num := 1, other := 2)) +---- # unions can only be cast to eachother if their member sets overlap statement error INSERT INTO tbl VALUES (union_value(key := 1)) +---- statement ok INSERT INTO tbl VALUES (union_value(num := 1)), (1), (union_value(str := 'hello')), (2), ('world'); diff --git a/test/sql/types/unsigned/test_unsigned_arithmetic.test b/test/sql/types/unsigned/test_unsigned_arithmetic.test index 22da5da7f946..835848acad69 100644 --- a/test/sql/types/unsigned/test_unsigned_arithmetic.test +++ b/test/sql/types/unsigned/test_unsigned_arithmetic.test @@ -22,6 +22,7 @@ select * from unsigned; # Addition statement error SELECT (200)::UTINYINT + (200)::UTINYINT; +---- query I @@ -36,10 +37,12 @@ SELECT (20)::UBIGINT + (200)::UBIGINT; statement error SELECT (18446744073709551615)::UBIGINT + (18446744073709551615)::UBIGINT; +---- # Multiplication statement error SELECT (200)::UTINYINT * (200)::UTINYINT; +---- query I SELECT (200)::UTINYINT * (200)::USMALLINT; @@ -53,13 +56,16 @@ SELECT (200)::UBIGINT * (200)::UBIGINT; statement error SELECT (18446744073709551615)::UBIGINT * (3)::UBIGINT; +---- # Subtraction statement error SELECT (200)::UTINYINT - (201)::UTINYINT; +---- statement error SELECT (200)::UTINYINT - (201)::USMALLINT; +---- query I SELECT (200)::UTINYINT - (20)::USMALLINT; diff --git a/test/sql/types/unsigned/test_unsigned_auto_cast.test b/test/sql/types/unsigned/test_unsigned_auto_cast.test index cf153a3617a0..8267a9a8d323 100644 --- a/test/sql/types/unsigned/test_unsigned_auto_cast.test +++ b/test/sql/types/unsigned/test_unsigned_auto_cast.test @@ -110,6 +110,7 @@ SELECT '255'::UTINYINT; statement error SELECT '256'::UTINYINT; +---- query I SELECT '255'::USMALLINT; @@ -118,6 +119,7 @@ SELECT '255'::USMALLINT; statement error SELECT '65536'::USMALLINT; +---- query I SELECT '65535'::UINTEGER; @@ -126,6 +128,7 @@ SELECT '65535'::UINTEGER; statement error SELECT '4294967296'::UINTEGER; +---- query I SELECT '4294967295'::UBIGINT; @@ -134,6 +137,7 @@ SELECT '4294967295'::UBIGINT; statement error SELECT '18446744073709551616'::UBIGINT; +---- query I SELECT '18446744073709551615'::UBIGINT; @@ -149,6 +153,7 @@ SELECT (100::UTINYINT)::DECIMAL(3,0); statement error SELECT (100::UTINYINT)::DECIMAL(2,0); +---- query I SELECT 100::UTINYINT * 100::DECIMAL(3,0); @@ -162,6 +167,7 @@ SELECT (100::USMALLINT)::DECIMAL(3,0); statement error SELECT (100::USMALLINT)::DECIMAL(2,0); +---- query I SELECT 100::USMALLINT * 100::DECIMAL(3,0); @@ -176,6 +182,7 @@ SELECT (100::UINTEGER)::DECIMAL(3,0); statement error SELECT (100::UINTEGER)::DECIMAL(2,0); +---- query I SELECT 100::UINTEGER * 100::DECIMAL(3,0); @@ -189,8 +196,9 @@ SELECT (100::UBIGINT)::DECIMAL(3,0); statement error SELECT (100::UBIGINT)::DECIMAL(2,0); +---- query I SELECT 100::UBIGINT * 100::DECIMAL(3,0); ---- -10000 \ No newline at end of file +10000 diff --git a/test/sql/types/unsigned/test_unsigned_conversion.test b/test/sql/types/unsigned/test_unsigned_conversion.test index 9c403753d208..071b52778339 100644 --- a/test/sql/types/unsigned/test_unsigned_conversion.test +++ b/test/sql/types/unsigned/test_unsigned_conversion.test @@ -29,28 +29,36 @@ SELECT '7'::UBIGINT, '130'::UBIGINT, '18446744073709551615'::UBIGINT # Numbers that do not fit the unsigned type statement error SELECT '265'::UTINYINT +---- statement error SELECT '65536'::USMALLINT +---- statement error SELECT '4294967296'::UINTEGER +---- statement error SELECT '18446744073709551616'::UBIGINT +---- # Negative Numbers statement error SELECT '-1'::UTINYINT +---- statement error SELECT '-1'::USMALLINT +---- statement error SELECT '-1'::UINTEGER +---- statement error SELECT '-1'::UBIGINT +---- # zero query II @@ -83,12 +91,15 @@ SELECT 42::TINYINT::UBIGINT, 42::SMALLINT::UBIGINT, 42::INTEGER::UBIGINT, 42::BI # cast various types to unsigned (Larger than they can fit) statement error SELECT (9223372036854775807)::BIGINT::UTINYINT +---- statement error SELECT (9223372036854775807)::BIGINT::USMALLINT +---- statement error SELECT (9223372036854775807)::BIGINT::UINTEGER +---- # These should fit though query I @@ -101,18 +112,27 @@ SELECT (9223372036854775808)::HUGEINT::UBIGINT ---- 9223372036854775808 +query I +SELECT (9223372036854775808)::UHUGEINT::UBIGINT +---- +9223372036854775808 + # Negative Values statement error SELECT (-42)::TINYINT::UTINYINT +---- statement error SELECT (-42)::TINYINT::USMALLINT +---- statement error SELECT (-42)::TINYINT::UINTEGER +---- statement error SELECT (-42)::TINYINT::UBIGINT +---- query I SELECT -42::TINYINT::UTINYINT @@ -136,15 +156,19 @@ SELECT -42::TINYINT::UBIGINT statement error SELECT (-42)::SMALLINT::UTINYINT +---- statement error SELECT (-42)::SMALLINT::USMALLINT +---- statement error SELECT (-42)::SMALLINT::UINTEGER +---- statement error SELECT (-42)::SMALLINT::UBIGINT +---- query I SELECT -42::SMALLINT::UTINYINT @@ -168,15 +192,19 @@ SELECT -42::SMALLINT::UBIGINT statement error SELECT (-42)::INTEGER::UTINYINT +---- statement error SELECT (-42)::INTEGER::USMALLINT +---- statement error SELECT (-42)::INTEGER::UINTEGER +---- statement error SELECT (-42)::INTEGER::UBIGINT +---- query I SELECT -42::INTEGER::UTINYINT @@ -200,15 +228,19 @@ SELECT -42::INTEGER::UBIGINT statement error SELECT (-42)::BIGINT::UTINYINT +---- statement error SELECT (-42)::BIGINT::USMALLINT +---- statement error SELECT (-42)::BIGINT::UINTEGER +---- statement error SELECT (-42)::BIGINT::UBIGINT +---- query I SELECT -42::BIGINT::UTINYINT @@ -232,15 +264,19 @@ SELECT -42::BIGINT::UBIGINT statement error SELECT (-42)::FLOAT::UTINYINT +---- statement error SELECT (-42)::FLOAT::USMALLINT +---- statement error SELECT (-42)::FLOAT::UINTEGER +---- statement error SELECT (-42)::FLOAT::UBIGINT +---- query I SELECT -42::FLOAT::UTINYINT @@ -264,15 +300,19 @@ SELECT -42::FLOAT::UBIGINT statement error SELECT (-42)::DOUBLE::UTINYINT +---- statement error SELECT (-42)::DOUBLE::USMALLINT +---- statement error SELECT (-42)::DOUBLE::UINTEGER +---- statement error SELECT (-42)::DOUBLE::UBIGINT +---- query I SELECT -42::DOUBLE::UTINYINT @@ -297,6 +337,7 @@ SELECT -42::DOUBLE::UBIGINT # Convert unsigned to signed statement error SELECT (200)::UTINYINT::TINYINT +---- query I SELECT (10)::UTINYINT::TINYINT @@ -320,9 +361,11 @@ SELECT (10)::UTINYINT::BIGINT statement error SELECT (200)::USMALLINT::TINYINT +---- statement error SELECT (33000)::USMALLINT::SMALLINT +---- query I SELECT (10)::USMALLINT::TINYINT @@ -346,12 +389,15 @@ SELECT (10)::USMALLINT::BIGINT statement error SELECT (200)::UINTEGER::TINYINT +---- statement error SELECT (33000)::UINTEGER::SMALLINT +---- statement error SELECT (3147483647)::UINTEGER::INTEGER +---- query I SELECT (10)::UINTEGER::TINYINT @@ -375,16 +421,20 @@ SELECT (10)::UINTEGER::BIGINT statement error SELECT (200)::UBIGINT::TINYINT +---- statement error SELECT (33000)::UBIGINT::SMALLINT +---- statement error SELECT (3147483647)::UBIGINT::INTEGER +---- statement error SELECT (10223372036854775807)::UBIGINT::INTEGER +---- query I SELECT (10)::UBIGINT::TINYINT @@ -409,9 +459,11 @@ SELECT (10)::UBIGINT::BIGINT statement error SELECT (9223372036854775807)::BIGINT::USMALLINT +---- statement error SELECT (9223372036854775807)::BIGINT::UINTEGER +---- # These should fit though query I @@ -424,6 +476,10 @@ SELECT (9223372036854775808)::HUGEINT::UBIGINT ---- 9223372036854775808 +query I +SELECT (9223372036854775808)::UHUGEINT::UBIGINT +---- +9223372036854775808 # Cast Decimal to Unsigned Values @@ -434,6 +490,7 @@ SELECT (200.32)::DECIMAL::UTINYINT statement error SELECT (260.32)::DECIMAL::UTINYINT +---- query I SELECT (200.32)::DECIMAL::USMALLINT @@ -447,6 +504,7 @@ SELECT (65535.32)::DECIMAL::USMALLINT statement error SELECT (65536.32)::DECIMAL::USMALLINT +---- query I @@ -461,6 +519,7 @@ SELECT (4294967295.32)::DECIMAL::UINTEGER statement error SELECT (4294967296.32)::DECIMAL::UINTEGER +---- query I SELECT (200.32)::DECIMAL::UBIGINT @@ -475,6 +534,7 @@ SELECT (200.32)::REAL::UTINYINT statement error SELECT (260.32)::REAL::UTINYINT +---- query I SELECT (200.32)::REAL::USMALLINT @@ -488,6 +548,7 @@ SELECT (65534.32)::REAL::USMALLINT statement error SELECT (65536.32)::REAL::USMALLINT +---- query I diff --git a/test/sql/types/unsigned/test_unsigned_verify.test b/test/sql/types/unsigned/test_unsigned_verify.test index a39154cc3c8d..7bb1adab7421 100644 --- a/test/sql/types/unsigned/test_unsigned_verify.test +++ b/test/sql/types/unsigned/test_unsigned_verify.test @@ -18,4 +18,4 @@ select []::uint32[] query I select []::uint64[] ---- -[] \ No newline at end of file +[] diff --git a/test/sql/types/uuid/test_uuid.test_slow b/test/sql/types/uuid/test_uuid.test_slow index 31513acee290..ad438d857b02 100644 --- a/test/sql/types/uuid/test_uuid.test_slow +++ b/test/sql/types/uuid/test_uuid.test_slow @@ -68,10 +68,12 @@ a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 # braces need to match statement error SELECT uuid '{a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'; +---- # char length should be 32 statement error SELECT uuid '47183823-2574-4bfd-b411-99ed177d3e4'; +---- query I SELECT u FROM uuid ORDER BY u; @@ -241,35 +243,46 @@ SELECT COUNT(*) FROM uuid_generated u1, uuid_generated u2 WHERE u1.uuid::UUID = statement error SELECT SUM(u) FROM uuid +---- statement error SELECT AVG(u) FROM uuid +---- statement error SELECT u+u FROM uuid +---- statement error SELECT u*u FROM uuid +---- statement error SELECT u/u FROM uuid +---- statement error SELECT u%u FROM uuid +---- statement error SELECT u-u FROM uuid +---- statement error SELECT 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid::hugeint; +---- statement error SELECT ''::uuid +---- statement error SELECT 'aaaa'::uuid +---- statement error SELECT 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380Z11'::uuid +---- diff --git a/test/sql/update/test_update_many_updaters.test b/test/sql/update/test_update_many_updaters.test index e6dd54f938b1..1a24cd823a8c 100644 --- a/test/sql/update/test_update_many_updaters.test +++ b/test/sql/update/test_update_many_updaters.test @@ -73,12 +73,15 @@ SELECT * FROM test ORDER BY a # now verify that we get conflicts when we update values that have been updated AFTER we started statement error con1 UPDATE test SET a=99 WHERE a=1 +---- statement error con2 UPDATE test SET a=99 WHERE a=2 +---- statement error con3 UPDATE test SET a=99 WHERE a=3 +---- # revert to previous state statement ok updater diff --git a/test/sql/update/test_update_many_updaters_nulls.test b/test/sql/update/test_update_many_updaters_nulls.test index b9233752e26b..982021e891f0 100644 --- a/test/sql/update/test_update_many_updaters_nulls.test +++ b/test/sql/update/test_update_many_updaters_nulls.test @@ -120,13 +120,17 @@ SELECT * FROM test ORDER BY a # now verify that we get conflicts when we update values that have been updated AFTER we started statement error con1 UPDATE test SET a=99 WHERE a=1 +---- statement error con2 UPDATE test SET a=99 WHERE a=2 +---- statement error con3 UPDATE test SET a=99 WHERE a=3 +---- statement error con4 UPDATE test SET a=99 WHERE a IS NULL +---- diff --git a/test/sql/update/test_update_same_value.test b/test/sql/update/test_update_same_value.test index 704a803cd3f8..a051206e259e 100644 --- a/test/sql/update/test_update_same_value.test +++ b/test/sql/update/test_update_same_value.test @@ -114,6 +114,7 @@ SELECT * FROM test ORDER BY a # test concurrent update in con2, it should fail now statement error con2 UPDATE test SET a=a+1 +---- query I con2 SELECT * FROM test ORDER BY a @@ -136,6 +137,7 @@ SELECT * FROM test ORDER BY a # test concurrent update in con2, it should fail now statement error con2 UPDATE test SET a=a+1 +---- query I con2 SELECT * FROM test ORDER BY a @@ -158,6 +160,7 @@ SELECT * FROM test ORDER BY a # test concurrent update in con2, it should fail now statement error con2 UPDATE test SET a=a+1 +---- query I con2 SELECT * FROM test ORDER BY a diff --git a/test/sql/update/update_default.test b/test/sql/update/update_default.test index 0de133b2fc27..535d4fddd52c 100644 --- a/test/sql/update/update_default.test +++ b/test/sql/update/update_default.test @@ -9,4 +9,4 @@ statement ok INSERT INTO t1(c0) VALUES (1),(2),(3); statement ok -UPDATE t1 SET c0 = DEFAULT; \ No newline at end of file +UPDATE t1 SET c0 = DEFAULT; diff --git a/test/sql/upsert/insert_or_replace_ambiguity.test b/test/sql/upsert/insert_or_replace_ambiguity.test new file mode 100644 index 000000000000..0e25f4ec3c41 --- /dev/null +++ b/test/sql/upsert/insert_or_replace_ambiguity.test @@ -0,0 +1,84 @@ +# name: test/sql/upsert/insert_or_replace_ambiguity.test +# group: [upsert] + +# Single primary key on multiple columns +statement ok +create table single_pk( + a int, + b int, + c int, + primary key(a,b,c) +); + +statement ok +insert or replace into single_pk values (1,2,3); + +statement ok +insert or replace into single_pk values (1,2,3); + +query III +select * from single_pk; +---- +1 2 3 + +# Single UNIQUE INDEX +statement ok +create table using_index( + a int, + b int, + c int +); + +statement ok +create UNIQUE index idx2 on using_index(a, b); + +statement ok +insert or replace into using_index values (1,2,3); + +statement ok +insert or replace into using_index values (1,2,3); + +query III +select * from using_index; +---- +1 2 3 + +# Multiple UNIQUE INDEXes +statement ok +create unique index idx3 on using_index(b, c); + +statement error +insert or replace into using_index values (1,2,3); +---- +Binder Error: Conflict target has to be provided for a DO UPDATE operation when the table has multiple UNIQUE/PRIMARY KEY constraints + +# Single UNIQUE CONSTRAINT +statement ok +create table single_unique( + a int unique, + b int +); + +statement ok +insert or replace into single_unique values(1, 2); + +statement ok +insert or replace into single_unique values(1, 2); + +query II +select * from single_unique; +---- +1 2 + +# Multiple UNIQUE CONSTRAINTs +statement ok +create table multiple_unique( + a int unique, + b int unique, + c int +); + +statement error +insert or replace into multiple_unique values(1, 2, 3); +---- +Binder Error: Conflict target has to be provided for a DO UPDATE operation when the table has multiple UNIQUE/PRIMARY KEY constraints diff --git a/test/sql/upsert/postgres/composite_key.test b/test/sql/upsert/postgres/composite_key.test index dd9c7b2f60ff..774e046da778 100644 --- a/test/sql/upsert/postgres/composite_key.test +++ b/test/sql/upsert/postgres/composite_key.test @@ -18,9 +18,11 @@ create table insertconflicttest( statement error insert into insertconflicttest values(0, 'Crowberry', 0) on conflict (key) do nothing; +---- statement error insert into insertconflicttest values(0, 'Crowberry', 0) on conflict (fruit) do nothing; +---- # succeeds @@ -49,9 +51,11 @@ insert into insertconflicttest values (8, 'Lime', 0) on conflict (fruit, key) do statement error insert into insertconflicttest values (9, 'Banana', 0) on conflict (key) do update set other = 1 +---- statement error insert into insertconflicttest values (10, 'Blueberry', 0) on conflict (key, key, key) do update set other = 1 +---- ## -- This fails on postgres for some reason? -- ## statement ok diff --git a/test/sql/upsert/postgres/planner_preprocessing.test b/test/sql/upsert/postgres/planner_preprocessing.test index 350dfde78dae..70892f412ca1 100644 --- a/test/sql/upsert/postgres/planner_preprocessing.test +++ b/test/sql/upsert/postgres/planner_preprocessing.test @@ -131,6 +131,7 @@ insert into excluded values(1, '1'); # error, ambiguous statement error insert into excluded values(1, '2') on conflict (key) do update set data = excluded.data RETURNING *; +---- # ok, aliased statement ok diff --git a/test/sql/upsert/postgres/single_key.test b/test/sql/upsert/postgres/single_key.test index e63b8325387b..0545a9743739 100644 --- a/test/sql/upsert/postgres/single_key.test +++ b/test/sql/upsert/postgres/single_key.test @@ -66,25 +66,31 @@ Not implemented Error: 'excluded' qualified columns are not supported in the RET statement error insert into insertconflicttest values (1, 'Apple') on conflict (keyy) do update set fruit = excluded.fruit; +---- # Have useful HINT for EXCLUDED.* RTE within UPDATE: statement error insert into insertconflicttest values (1, 'Apple') on conflict (key) do update set fruit = excluded.fruitt; +---- # inference fails: statement error insert into insertconflicttest values (3, 'Kiwi') on conflict (key, fruit) do update set fruit = excluded.fruit; +---- statement error insert into insertconflicttest values (4, 'Mango') on conflict (fruit, key) do update set fruit = excluded.fruit; +---- statement error insert into insertconflicttest values (5, 'Lemon') on conflict (fruit) do update set fruit = excluded.fruit; +---- statement error insert into insertconflicttest values (6, 'Passionfruit') on conflict (fruit) do update set fruit = excluded.fruit; +---- # Check the target relation can be aliased @@ -96,6 +102,7 @@ statement ok insert into insertconflicttest AS ict values (6, 'Passionfruit') on conflict (key) do update set fruit = ict.fruit; # ok, alias +# error, references aliased away name statement error insert into insertconflicttest AS ict values (6, 'Passionfruit') on conflict (key) do update set fruit = insertconflicttest.fruit; -# error, references aliased away name +---- diff --git a/test/sql/upsert/test_big_insert.test b/test/sql/upsert/test_big_insert.test index 3c08126b95e5..2de05a7d27b1 100644 --- a/test/sql/upsert/test_big_insert.test +++ b/test/sql/upsert/test_big_insert.test @@ -44,7 +44,7 @@ SELECT COUNT(*) FILTER (WHERE j = 10) FROM integers statement error INSERT INTO integers(i,j) select i%5,i from range(5000) tbl(i) on conflict do update set j = excluded.j, k = excluded.i; ---- -Invalid Input Error: ON CONFLICT DO UPDATE can not update the same row twice in the same command, Ensure that no rows proposed for insertion within the same command have duplicate constrained values +Invalid Input Error: ON CONFLICT DO UPDATE can not update the same row twice in the same command. Ensure that no rows proposed for insertion within the same command have duplicate constrained values statement ok INSERT INTO integers(i,j) select i%5,i from range(4995, 5000) tbl(i) on conflict do update set j = excluded.j, k = excluded.i; diff --git a/test/sql/upsert/upsert_basic.test b/test/sql/upsert/upsert_basic.test index 76bac498c27c..dd117be75c03 100644 --- a/test/sql/upsert/upsert_basic.test +++ b/test/sql/upsert/upsert_basic.test @@ -22,6 +22,7 @@ insert into tbl VALUES # The column referenced in the SET expression is indexed on, can't be updated statement error insert into tbl VALUES (3,5,1) ON CONFLICT (i) DO UPDATE SET i = i; +---- query III select * from tbl; @@ -79,7 +80,7 @@ insert into tbl VALUES ON CONFLICT (i) DO UPDATE SET k = excluded.k; ---- -Invalid Input Error: ON CONFLICT DO UPDATE can not update the same row twice in the same command, Ensure that no rows proposed for insertion within the same command have duplicate constrained values +Invalid Input Error: ON CONFLICT DO UPDATE can not update the same row twice in the same command. Ensure that no rows proposed for insertion within the same command have duplicate constrained values # Since the query errored, no operation is performed query III diff --git a/test/sql/upsert/upsert_conflict_target_index.test b/test/sql/upsert/upsert_conflict_target_index.test index b988e6ac76d5..bb1e2e7514ad 100644 --- a/test/sql/upsert/upsert_conflict_target_index.test +++ b/test/sql/upsert/upsert_conflict_target_index.test @@ -18,6 +18,7 @@ create unique index other_index on index_tbl(i); statement error insert into index_tbl values (5, 5); +---- query II select * from index_tbl; diff --git a/test/sql/upsert/upsert_distinct_bug.test b/test/sql/upsert/upsert_distinct_bug.test index 5c11f9d3c3c9..d6cbdda8cd48 100644 --- a/test/sql/upsert/upsert_distinct_bug.test +++ b/test/sql/upsert/upsert_distinct_bug.test @@ -25,6 +25,7 @@ SELECT DISTINCT(id) as id, name FROM test_table_raw; +---- # Insert aggregated data statement error @@ -33,6 +34,7 @@ SELECT DISTINCT(id) as id, name FROM test_table_raw; +---- # Insert aggregated data second time with "INSERT OR IGNORE" => Segmentation fault # This contains conflicts between the to-be-inserted rows, still won't succeed @@ -43,6 +45,7 @@ SELECT DISTINCT(id) as id, name FROM test_table_raw; +---- statement ok SELECT * FROM test_table_raw; diff --git a/test/sql/upsert/upsert_order_coverage.test b/test/sql/upsert/upsert_order_coverage.test index 9a3f88a7113a..87d39353f010 100644 --- a/test/sql/upsert/upsert_order_coverage.test +++ b/test/sql/upsert/upsert_order_coverage.test @@ -39,6 +39,7 @@ select * from tbl; # 'i' is violated in row1 and row2, 'k' is only violated in row1 statement error insert into tbl(i,k) values (3,2), (5,5) on conflict (k) do update set j = 10; +---- query III select * from tbl; @@ -51,6 +52,7 @@ select * from tbl; # Do we not throw on it, so this does cause an error, because the conflict of 'k' is not on the same insert tuple as the conflict of 'k' statement error insert into tbl(i,k) values (3,10), (6,2) on conflict(i) do update set j = 10; +---- query III select * from tbl; diff --git a/test/sql/upsert/upsert_shorthand.test b/test/sql/upsert/upsert_shorthand.test index 31181fe20c1b..6829e0631185 100644 --- a/test/sql/upsert/upsert_shorthand.test +++ b/test/sql/upsert/upsert_shorthand.test @@ -39,3 +39,4 @@ create or replace table tbl (a integer unique, b integer unique); # When there is more than 1 index on the table, OR REPLACE is not supported, just like DO UPDATE statement error insert or replace into tbl values (1,2); +---- diff --git a/test/sql/upsert/upsert_transaction.test b/test/sql/upsert/upsert_transaction.test index a5e8ae3da477..ed499250d002 100644 --- a/test/sql/upsert/upsert_transaction.test +++ b/test/sql/upsert/upsert_transaction.test @@ -67,7 +67,7 @@ insert into tbl VALUES ON CONFLICT (a) DO UPDATE SET b = excluded.b; ---- -ON CONFLICT DO UPDATE can not update the same row twice in the same command, Ensure that no rows proposed for insertion within the same command have duplicate constrained values +ON CONFLICT DO UPDATE can not update the same row twice in the same command. Ensure that no rows proposed for insertion within the same command have duplicate constrained values statement ok COMMIT; diff --git a/test/sql/vacuum/test_analyze.test b/test/sql/vacuum/test_analyze.test index 5d3029ec3670..2259995e5a06 100644 --- a/test/sql/vacuum/test_analyze.test +++ b/test/sql/vacuum/test_analyze.test @@ -15,9 +15,11 @@ vacuum statement error vacuum test +---- statement error analyze test +---- statement ok create table test (i int, j int) @@ -30,6 +32,7 @@ create view testview as select * from test statement error analyze testview +---- statement ok insert into test select range % 5000, range % 5000 from range(10000) diff --git a/test/sql/vacuum/vacuum_nested_types.test b/test/sql/vacuum/vacuum_nested_types.test new file mode 100644 index 000000000000..ff1e17068585 --- /dev/null +++ b/test/sql/vacuum/vacuum_nested_types.test @@ -0,0 +1,12 @@ +# name: test/sql/vacuum/vacuum_nested_types.test +# description: Test ANALYZE statement for nested types, which do not use the HyperLogLog +# group: [vacuum] + +statement ok +CREATE TABLE test (x INT[], y AS (x || 100)); + +statement ok +ANALYZE test(y, x); + +statement ok +INSERT INTO test SELECT [range % 5000] FROM range(10000); \ No newline at end of file diff --git a/test/sql/visualizer/test_visualizer.test b/test/sql/visualizer/test_visualizer.test deleted file mode 100644 index 5fe559d7241d..000000000000 --- a/test/sql/visualizer/test_visualizer.test +++ /dev/null @@ -1,71 +0,0 @@ -# name: test/sql/visualizer/test_visualizer.test -# description: Profiler Visualizer -# group: [visualizer] - -require visualizer - -statement ok -Pragma visualize_last_profiling_output('__TEST_DIR__/test.html') - -statement ok -PRAGMA enable_profiling='json' - -statement ok -Pragma visualize_last_profiling_output('__TEST_DIR__/test.html') - -statement ok -PRAGMA profiling_output='__TEST_DIR__/first.json' - -statement ok -PRAGMA profiling_mode = detailed - -statement ok -Pragma visualize_last_profiling_output('__TEST_DIR__/test.html') - -statement ok -CREATE TABLE integers(i INTEGER) - -statement ok -CREATE TABLE t1 AS SELECT i as v1, i as v2 from range (0,10) t(i) - -statement ok -Pragma visualize_last_profiling_output('__TEST_DIR__/test.html') - -statement ok -CREATE TABLE t2 AS SELECT i as v1, i as v2 from range (0,5) t(i) - -statement ok -SELECT t1.v1 FROM t1 JOIN t2 USING (v1) - -statement ok -Pragma visualize_last_profiling_output('__TEST_DIR__/test.html') - -statement ok -Pragma visualize_last_profiling_output('__TEST_DIR__/test.html') - -statement ok -SELECT t1.v1 FROM t1 JOIN t2 USING (v1) - -statement ok -Pragma visualize_json_profiling_output('__TEST_DIR__/test.html','__TEST_DIR__/first.json') - -statement ok -PRAGMA profiling_output='__TEST_DIR__/second.json' - -statement ok -SELECT t1.v1 FROM t1 JOIN t2 USING (v1) - -statement ok -Pragma visualize_diff_profiling_output('__TEST_DIR__/test.html','__TEST_DIR__/first.json','__TEST_DIR__/second.json') - -statement ok -Pragma visualize_last_profiling_output('__TEST_DIR__/test.html') - -statement error -Pragma visualize_json_profiling_output('__TEST_DIR__/test.html','__TEST_DIR__/DOESNOTEXIST.json') - -statement error -Pragma visualize_diff_profiling_output('__TEST_DIR__/test.html','__TEST_DIR__/first.json', '__TEST_DIR__/DOESNOTEXIST.json') - -statement error -Pragma visualize_diff_profiling_output('__TEST_DIR__/test.html','__TEST_DIR__/DOESNOTEXIST.json', '__TEST_DIR__/DOESNOTEXIST.json') \ No newline at end of file diff --git a/test/sql/visualizer/visualizer_tpch_sf001.test_slow b/test/sql/visualizer/visualizer_tpch_sf001.test_slow deleted file mode 100644 index 64fb9cf380a7..000000000000 --- a/test/sql/visualizer/visualizer_tpch_sf001.test_slow +++ /dev/null @@ -1,51 +0,0 @@ -# name: test/sql/visualizer/visualizer_tpch_sf001.test_slow -# description: Test Visualizer for TPC-H SF0.1 -# group: [visualizer] - -require visualizer - -require tpch - - -statement ok -PRAGMA enable_profiling - -statement ok -Pragma visualize_last_profiling_output('__TEST_DIR__/test.html') - -statement ok -PRAGMA profiling_output='__TEST_DIR__/test.json' - -statement ok -PRAGMA profiling_mode = detailed - - - -statement ok -CALL dbgen(sf=0.1); - -loop i 1 10 - -query I -PRAGMA tpch(${i}) ----- -:extension/tpch/dbgen/answers/sf0.1/q0${i}.csv - -statement ok -Pragma visualize_last_profiling_output('__TEST_DIR__/test.html') - -endloop - - -loop i 10 22 - -query I -PRAGMA tpch(${i}) ----- -:extension/tpch/dbgen/answers/sf0.1/q${i}.csv - -statement ok -Pragma visualize_last_profiling_output('__TEST_DIR__/test.html') - -endloop - diff --git a/test/sql/window/test_empty_frames.test b/test/sql/window/test_empty_frames.test new file mode 100644 index 000000000000..250f007245cc --- /dev/null +++ b/test/sql/window/test_empty_frames.test @@ -0,0 +1,176 @@ +# name: test/sql/window/test_empty_frames.test +# description: Empty aggregate frames +# group: [window] + +statement ok +PRAGMA enable_verification + +statement ok +CREATE TABLE t1 (id INTEGER, ch CHAR(1)) ; + +statement ok +INSERT INTO t1 VALUES (1, 'A'); + +statement ok +INSERT INTO t1 VALUES (2, 'B'); + +statement ok +INSERT INTO t1 VALUES (NULL, 'B'); + +# +# Original bug report +# + +foreach agg count(*) count_star() + +query II +SELECT id, ${agg} OVER (PARTITION BY ch ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) +FROM t1 +ORDER BY 1; +---- +1 0 +2 1 +NULL 0 + +endloop + +# +# All zeroes +# +foreach agg approx_count_distinct count entropy + +query II +SELECT id, ${agg}(id) OVER (PARTITION BY ch ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) +FROM t1 +ORDER BY 1; +---- +1 0 +2 0 +NULL 0 + +endloop + +# +# All NULLs +# +foreach agg any_value arbitrary avg bit_and bit_or bit_xor favg first fsum group_concat histogram kahan_sum kurtosis last listagg mad max mean median min mode product sem skewness stddev stddev_pop stddev_samp sum sum_no_overflow sumkahan var_pop var_samp variance + +query II +SELECT id, ${agg}(id) OVER (PARTITION BY ch ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) +FROM t1 +ORDER BY 1; +---- +1 NULL +2 NULL +NULL NULL + +endloop + +# +# Custom results +# + +# Numeric parameter argument +foreach agg approx_quantile quantile quantile_cont quantile_disc reservoir_quantile + +query II +SELECT id, ${agg}(id, 0.5) OVER (PARTITION BY ch ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) +FROM t1 +ORDER BY 1; +---- +1 NULL +2 NULL +NULL NULL + +endloop + +# Mixed arguments +foreach agg arg_max arg_min argmax argmin max_by min_by + +query II +SELECT id, ${agg}(id, ch) OVER (PARTITION BY ch ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) +FROM t1 +ORDER BY 1; +---- +1 NULL +2 NULL +NULL NULL + +endloop + +foreach agg array_agg list + +query II +SELECT id, ${agg}(id) OVER (PARTITION BY ch ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) +FROM t1 +ORDER BY 1; +---- +1 NULL +2 [NULL] +NULL NULL + +endloop + +# Boolean argument +foreach agg bool_and bool_or + +query II +SELECT id, ${agg}(id > 0) OVER (PARTITION BY ch ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) +FROM t1 +ORDER BY 1; +---- +1 NULL +2 NULL +NULL NULL + +endloop + +# Two numeric arguments =>NULL +foreach agg corr covar_pop covar_samp regr_avgx regr_avgy regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy + +query II +SELECT id, ${agg}(id, id) OVER (PARTITION BY ch ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) +FROM t1 +ORDER BY 1; +---- +1 NULL +2 NULL +NULL NULL + +endloop + +# Two numeric arguments => 0 +foreach agg regr_count + +query II +SELECT id, ${agg}(id, id) OVER (PARTITION BY ch ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) +FROM t1 +ORDER BY 1; +---- +1 0 +2 0 +NULL 0 + +endloop + +query II +SELECT id, string_agg(id, ' ') OVER (PARTITION BY ch ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) +FROM t1 +ORDER BY 1; +---- +1 NULL +2 NULL +NULL NULL + +# For some reason this loses the explicit statistics during verification +statement ok +PRAGMA disable_verification + +query II +SELECT id, bitstring_agg(id, 1, 3) OVER (PARTITION BY ch ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING) +FROM t1 +ORDER BY 1; +---- +1 NULL +2 NULL +NULL NULL diff --git a/test/sql/window/test_ignore_nulls.test b/test/sql/window/test_ignore_nulls.test index 0b7dfe60fba5..8683ca7f2df3 100644 --- a/test/sql/window/test_ignore_nulls.test +++ b/test/sql/window/test_ignore_nulls.test @@ -310,13 +310,16 @@ ORDER BY id # Regular function statement error SELECT ABS(x IGNORE NULLS) FROM range(10) tbl(x) +---- # Aggregate function statement error SELECT SUM(x IGNORE NULLS) FROM range(10) tbl(x) +---- # Windowed aggregate statement error SELECT SUM(x IGNORE NULLS) OVER (PARTITION BY (x / 3) ORDER BY x % 3) FROM range(10) tbl(x) +---- diff --git a/test/sql/window/test_invalid_window.test b/test/sql/window/test_invalid_window.test index 7c39ffb1eccb..7da2052d915d 100644 --- a/test/sql/window/test_invalid_window.test +++ b/test/sql/window/test_invalid_window.test @@ -14,13 +14,35 @@ INSERT INTO empsalary VALUES ('develop', 10, 5200, '2007-08-01'), ('sales', 1, 5 # GROUP BY window function is not allowed statement error SELECT depname, min(salary) OVER (PARTITION BY depname ORDER BY salary, empno) m1 FROM empsalary GROUP BY m1 ORDER BY depname, empno +---- statement error select row_number() over (range between unbounded following and unbounded preceding); +---- statement error select row_number() over (range between unbounded preceding and unbounded preceding); +---- # ORDER BY is not implemented for window functions statement error select LIST(salary ORDER BY enroll_date) OVER (PARTITION BY depname) FROM empsalary +---- + +# GROUPS frame spec is not implemented yet for window functions +statement error +SELECT sum(i) OVER (ORDER BY i GROUPS 1 PRECEDING) FROM generate_series(1,10) AS _(i); +---- +not implemented + +# Invalid window names +foreach invalid PARTITION RANGE ROWS GROUPS + +statement error +SELECT array_agg(i) OVER (${invalid} ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM generate_series(1,5) AS _(i) +WINDOW ${invalid} AS (ORDER BY i); +---- +syntax error at or near + +endloop diff --git a/test/sql/window/test_list_window.test b/test/sql/window/test_list_window.test index a335aeafff89..d39b8cb81846 100644 --- a/test/sql/window/test_list_window.test +++ b/test/sql/window/test_list_window.test @@ -48,3 +48,80 @@ SELECT FIRST(LIST_EXTRACT(l, 3)) FROM list_window GROUP BY g ORDER BY g; NULL NULL NULL + +statement ok +create table list_combine_test as + select range%3 j, + range::varchar AS s, + case when range%3=0 then '-' else '|' end sep + from range(1, 65) + +query III +select j, s, list(s) over (partition by j order by s) +from list_combine_test +order by j, s; +---- +0 12 [12] +0 15 [12, 15] +0 18 [12, 15, 18] +0 21 [12, 15, 18, 21] +0 24 [12, 15, 18, 21, 24] +0 27 [12, 15, 18, 21, 24, 27] +0 3 [12, 15, 18, 21, 24, 27, 3] +0 30 [12, 15, 18, 21, 24, 27, 3, 30] +0 33 [12, 15, 18, 21, 24, 27, 3, 30, 33] +0 36 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36] +0 39 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36, 39] +0 42 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36, 39, 42] +0 45 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36, 39, 42, 45] +0 48 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36, 39, 42, 45, 48] +0 51 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36, 39, 42, 45, 48, 51] +0 54 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36, 39, 42, 45, 48, 51, 54] +0 57 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57] +0 6 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 6] +0 60 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 6, 60] +0 63 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 6, 60, 63] +0 9 [12, 15, 18, 21, 24, 27, 3, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 6, 60, 63, 9] +1 1 [1] +1 10 [1, 10] +1 13 [1, 10, 13] +1 16 [1, 10, 13, 16] +1 19 [1, 10, 13, 16, 19] +1 22 [1, 10, 13, 16, 19, 22] +1 25 [1, 10, 13, 16, 19, 22, 25] +1 28 [1, 10, 13, 16, 19, 22, 25, 28] +1 31 [1, 10, 13, 16, 19, 22, 25, 28, 31] +1 34 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34] +1 37 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37] +1 4 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 4] +1 40 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 4, 40] +1 43 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 4, 40, 43] +1 46 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 4, 40, 43, 46] +1 49 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 4, 40, 43, 46, 49] +1 52 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 4, 40, 43, 46, 49, 52] +1 55 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 4, 40, 43, 46, 49, 52, 55] +1 58 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 4, 40, 43, 46, 49, 52, 55, 58] +1 61 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 4, 40, 43, 46, 49, 52, 55, 58, 61] +1 64 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 4, 40, 43, 46, 49, 52, 55, 58, 61, 64] +1 7 [1, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 4, 40, 43, 46, 49, 52, 55, 58, 61, 64, 7] +2 11 [11] +2 14 [11, 14] +2 17 [11, 14, 17] +2 2 [11, 14, 17, 2] +2 20 [11, 14, 17, 2, 20] +2 23 [11, 14, 17, 2, 20, 23] +2 26 [11, 14, 17, 2, 20, 23, 26] +2 29 [11, 14, 17, 2, 20, 23, 26, 29] +2 32 [11, 14, 17, 2, 20, 23, 26, 29, 32] +2 35 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35] +2 38 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35, 38] +2 41 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35, 38, 41] +2 44 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35, 38, 41, 44] +2 47 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47] +2 5 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47, 5] +2 50 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47, 5, 50] +2 53 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47, 5, 50, 53] +2 56 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47, 5, 50, 53, 56] +2 59 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47, 5, 50, 53, 56, 59] +2 62 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47, 5, 50, 53, 56, 59, 62] +2 8 [11, 14, 17, 2, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47, 5, 50, 53, 56, 59, 62, 8] diff --git a/test/sql/window/test_naive_aggregation.test b/test/sql/window/test_naive_aggregation.test new file mode 100644 index 000000000000..580b0c16d6da --- /dev/null +++ b/test/sql/window/test_naive_aggregation.test @@ -0,0 +1,238 @@ +# name: test/sql/window/test_naive_aggregation.test +# description: Test naive aggregation implementation +# group: [window] + +statement ok +SET default_null_order='nulls_first'; + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA debug_window_mode=separate + +statement ok +CREATE TABLE empsalary (depname varchar, empno bigint, salary int, enroll_date date) + +statement ok +INSERT INTO empsalary VALUES ('develop', 10, 5200, '2007-08-01'), ('sales', 1, 5000, '2006-10-01'), ('personnel', 5, 3500, '2007-12-10'), ('sales', 4, 4800, '2007-08-08'), ('personnel', 2, 3900, '2006-12-23'), ('develop', 7, 4200, '2008-01-01'), ('develop', 9, 4500, '2008-01-01'), ('sales', 3, 4800, '2007-08-01'), ('develop', 8, 6000, '2006-10-01'), ('develop', 11, 5200, '2007-08-15') + +# basic example from postgres' window.sql +query TIIR +SELECT depname, empno, salary, sum(salary) OVER (PARTITION BY depname ORDER BY empno) FROM empsalary ORDER BY depname, empno +---- +develop 7 4200 4200.000000 +develop 8 6000 10200.000000 +develop 9 4500 14700.000000 +develop 10 5200 19900.000000 +develop 11 5200 25100.000000 +personnel 2 3900 3900.000000 +personnel 5 3500 7400.000000 +sales 1 5000 5000.000000 +sales 3 4800 9800.000000 +sales 4 4800 14600.000000 + +# sum +query R +SELECT sum(salary) OVER (PARTITION BY depname ORDER BY salary) ss FROM empsalary ORDER BY depname, ss +---- +4200.000000 +8700.000000 +19100.000000 +19100.000000 +25100.000000 +3500.000000 +7400.000000 +9600.000000 +9600.000000 +14600.000000 + +# min/max/avg +query TIIR +SELECT depname, min(salary) OVER (PARTITION BY depname ORDER BY salary, empno) m1, max(salary) OVER (PARTITION BY depname ORDER BY salary, empno) m2, AVG(salary) OVER (PARTITION BY depname ORDER BY salary, empno) m3 FROM empsalary ORDER BY depname, empno +---- +develop 4200 4200 4200.000000 +develop 4200 6000 5020.000000 +develop 4200 4500 4350.000000 +develop 4200 5200 4633.333333 +develop 4200 5200 4775.000000 +personnel 3500 3900 3700.000000 +personnel 3500 3500 3500.000000 +sales 4800 5000 4866.666667 +sales 4800 4800 4800.000000 +sales 4800 4800 4800.000000 + +# stddev_pop +query TR +SELECT depname, STDDEV_POP(salary) OVER (PARTITION BY depname ORDER BY salary, empno) s FROM empsalary ORDER BY depname, empno +---- +develop 0.000000 +develop 627.375486 +develop 150.000000 +develop 418.993503 +develop 438.035387 +personnel 200.000000 +personnel 0.000000 +sales 94.280904 +sales 0.000000 +sales 0.000000 + +# covar_pop +query TR +SELECT depname, COVAR_POP(salary, empno) OVER (PARTITION BY depname ORDER BY salary, empno) c FROM empsalary ORDER BY depname, empno +---- +develop 0.000000 +develop 240.000000 +develop 150.000000 +develop 477.777778 +develop 606.250000 +personnel -300.000000 +personnel 0.000000 +sales -111.111111 +sales 0.000000 +sales 0.000000 + +statement ok +CREATE TABLE filtering AS + SELECT + x + ,round(x * 0.333,0) % 3 AS y + ,round(x * 0.333,0) % 3 AS z + FROM generate_series(0,10) tbl(x); + +# The x_filtered_window and z_filtered_window columns should return a different output than plain_window +query IIIIII +SELECT + x + ,y + ,z + ,avg(x) OVER (PARTITION BY y) AS plain_window + ,avg(x) FILTER (WHERE x = 1) OVER (PARTITION BY y) AS x_filtered_window + ,avg(x) FILTER (WHERE z = 0) OVER (PARTITION BY y) AS z_filtered_window +FROM filtering +ORDER BY y, x; +---- +0 0.000000 0.000000 5.600000 1.000000 5.600000 +1 0.000000 0.000000 5.600000 1.000000 5.600000 +8 0.000000 0.000000 5.600000 1.000000 5.600000 +9 0.000000 0.000000 5.600000 1.000000 5.600000 +10 0.000000 0.000000 5.600000 1.000000 5.600000 +2 1.000000 1.000000 3.000000 NULL NULL +3 1.000000 1.000000 3.000000 NULL NULL +4 1.000000 1.000000 3.000000 NULL NULL +5 2.000000 2.000000 6.000000 NULL NULL +6 2.000000 2.000000 6.000000 NULL NULL +7 2.000000 2.000000 6.000000 NULL NULL + +# COUNT(*) coverage +query IIIIII +SELECT + x + ,y + ,z + ,count(*) OVER (PARTITION BY y) AS plain_window + ,count(*) FILTER (WHERE x = 1) OVER (PARTITION BY y) AS x_filtered_window + ,count(*) FILTER (WHERE z = 0) OVER (PARTITION BY y) AS z_filtered_window +FROM filtering +ORDER BY y, x; +---- +0 0.000000 0.000000 5 1 5 +1 0.000000 0.000000 5 1 5 +8 0.000000 0.000000 5 1 5 +9 0.000000 0.000000 5 1 5 +10 0.000000 0.000000 5 1 5 +2 1.000000 1.000000 3 0 0 +3 1.000000 1.000000 3 0 0 +4 1.000000 1.000000 3 0 0 +5 2.000000 2.000000 3 0 0 +6 2.000000 2.000000 3 0 0 +7 2.000000 2.000000 3 0 0 + +# Holistic coverage +query IIIIII +SELECT + x + ,y + ,z + ,median(x) OVER (PARTITION BY y) AS plain_window + ,median(x) FILTER (WHERE x = 1) OVER (PARTITION BY y) AS x_filtered_window + ,median(x) FILTER (WHERE z = 0) OVER (PARTITION BY y) AS z_filtered_window +FROM filtering +ORDER BY y, x; +---- +0 0.000000 0.000000 8.000000 1.000000 8.000000 +1 0.000000 0.000000 8.000000 1.000000 8.000000 +8 0.000000 0.000000 8.000000 1.000000 8.000000 +9 0.000000 0.000000 8.000000 1.000000 8.000000 +10 0.000000 0.000000 8.000000 1.000000 8.000000 +2 1.000000 1.000000 3.000000 NULL NULL +3 1.000000 1.000000 3.000000 NULL NULL +4 1.000000 1.000000 3.000000 NULL NULL +5 2.000000 2.000000 6.000000 NULL NULL +6 2.000000 2.000000 6.000000 NULL NULL +7 2.000000 2.000000 6.000000 NULL NULL + +# Filters do not affect framing. +query II +SELECT x, count(x) FILTER (WHERE x % 2 = 0) OVER (ORDER BY x ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING) +FROM generate_series(0,10) tbl(x); +---- +0 2 +1 2 +2 3 +3 2 +4 3 +5 2 +6 3 +7 2 +8 3 +9 2 +10 2 + +# Test distinct hash table +statement ok +CREATE TABLE figure1 AS + SELECT * + FROM VALUES + (1, 'a'), + (2, 'b'), + (3, 'b'), + (4, 'c'), + (5, 'c'), + (6, 'b'), + (7, 'c'), + (8, 'a') + v(i, s); + +query III +SELECT i + , s + , COUNT(DISTINCT s) OVER( ORDER BY i ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING) AS c +FROM figure1 +ORDER BY i +---- +1 a 2 +2 b 3 +3 b 3 +4 c 2 +5 c 2 +6 b 3 +7 c 3 +8 a 3 + +# Test distinct and exclude +query III +SELECT i + , s + , COUNT(DISTINCT s) OVER( ORDER BY i ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE TIES) AS c +FROM figure1 +ORDER BY i +---- +1 a 2 +2 b 3 +3 b 3 +4 c 2 +5 c 2 +6 b 3 +7 c 3 +8 a 3 diff --git a/test/sql/window/test_nthvalue.test b/test/sql/window/test_nthvalue.test index d2930477d037..013a8c5ac34d 100644 --- a/test/sql/window/test_nthvalue.test +++ b/test/sql/window/test_nthvalue.test @@ -192,6 +192,7 @@ SELECT depname, empno, ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) fv FROM empsalary +---- statement error SELECT depname, empno, @@ -200,3 +201,4 @@ SELECT depname, empno, ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) fv FROM empsalary +---- diff --git a/test/sql/window/test_ntile.test b/test/sql/window/test_ntile.test index 7294dd103fb3..5674524f27bb 100644 --- a/test/sql/window/test_ntile.test +++ b/test/sql/window/test_ntile.test @@ -128,6 +128,7 @@ SELECT NTILE() OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE FROM ScoreBoard s ORDER BY TeamName, Score; +---- statement error SELECT @@ -137,6 +138,7 @@ SELECT NTILE(1,2) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE FROM ScoreBoard s ORDER BY TeamName, Score; +---- statement error SELECT @@ -146,6 +148,7 @@ SELECT NTILE(1,2,3) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE FROM ScoreBoard s ORDER BY TeamName, Score; +---- statement error SELECT @@ -155,6 +158,7 @@ SELECT NTILE(1,2,3,4) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE FROM ScoreBoard s ORDER BY TeamName, Score; +---- statement error SELECT @@ -164,6 +168,7 @@ SELECT NTILE(-1) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE FROM ScoreBoard s ORDER BY TeamName, Score; +---- statement error SELECT @@ -173,3 +178,4 @@ SELECT NTILE(0) OVER (PARTITION BY TeamName ORDER BY Score ASC) AS NTILE FROM ScoreBoard s ORDER BY TeamName, Score; +---- diff --git a/test/sql/window/test_quantile_window.test_coverage b/test/sql/window/test_quantile_window.test_coverage new file mode 100644 index 000000000000..054a0d052a25 --- /dev/null +++ b/test/sql/window/test_quantile_window.test_coverage @@ -0,0 +1,80 @@ +# name: test/sql/window/test_quantile_window.test_coverage +# description: Moving QUANTILE coverage, fixed or variable 100 element frame for MEDIAN, IQR, and MAD +# group: [window] + +# Common table +statement ok +create table rank100 as + select b % 100 as a, b from range(10000000) tbl(b) + +# window_median_fixed_100 +query I +select sum(m) +from ( + select median(a) over ( + order by b asc + rows between 100 preceding and current row) as m + from rank100 + ) q; +---- +494997500 + +# window_median_variable_100 +query I +select sum(m) +from ( + select median(a) over ( + order by b asc + rows between mod(b * 47, 521) preceding and 100 - mod(b * 47, 521) following) as m + from rank100 + ) q; +---- +494989867 + +# window_iqr_fixed_100 +query II +select min(iqr), max(iqr) +from ( + select quantile_cont(a, [0.25, 0.5, 0.75]) over ( + order by b asc + rows between 100 preceding and current row) as iqr + from rank100 + ) q; +---- +[0.0, 0.0, 0.0] [25.0, 50.0, 75.0] + +# window_iqr_variable_100 +query II +select min(iqr), max(iqr) +from ( + select quantile_cont(a, [0.25, 0.5, 0.75]) over ( + order by b asc + rows between mod(b * 47, 521) preceding and 100 - mod(b * 47, 521) following) as iqr + from rank100 + ) q; +---- +[0.0, 0.0, 0.0] [76.5, 84.0, 91.5] + +# window_mad_fixed_100 +query I +select sum(m) +from ( + select mad(a) over ( + order by b asc + rows between 100 preceding and current row) as m + from rank100 + ) q; +---- +249998762.5 + +# +query I +select sum(m) +from ( + select mad(a) over ( + order by b asc + rows between mod(b * 47, 521) preceding and 100 - mod(b * 47, 521) following) as m + from rank100 + ) q; +---- +249994596.000000 diff --git a/test/sql/window/test_scalar_window.test b/test/sql/window/test_scalar_window.test index ff72b0ab44b6..d955f0a76ff2 100644 --- a/test/sql/window/test_scalar_window.test +++ b/test/sql/window/test_scalar_window.test @@ -19,24 +19,21 @@ SELECT avg(42) OVER () # window on non-aggregate function statement error SELECT concat() OVER () +---- statement error SELECT nonexistingfunction() OVER () +---- # nested window functions are not allowed statement error SELECT avg(row_number() over ()) over () +---- statement error SELECT avg(42) over (partition by row_number() over ()) +---- statement error SELECT avg(42) over (order by row_number() over ()) - -# distinct aggregates not supported for window functions -statement error -SELECT COUNT(DISTINCT 42) OVER () - -statement error -WITH t AS (SELECT col0 AS a, col1 AS b FROM (VALUES(1,2),(1,1),(1,2),(2,1),(2,1),(2,2),(2,3),(2,4)) v) SELECT *, COUNT(b) OVER(PARTITION BY a), COUNT(DISTINCT b) OVER(PARTITION BY a) FROM t; - +---- diff --git a/test/sql/window/test_window_binding.test b/test/sql/window/test_window_binding.test index e2e405b767e8..4f4d8084537c 100644 --- a/test/sql/window/test_window_binding.test +++ b/test/sql/window/test_window_binding.test @@ -11,18 +11,23 @@ CREATE TABLE integers(i INTEGER) # we use columns here that are not part of the table statement error SELECT MIN(a) OVER (PARTITION BY i ORDER BY i) FROM integers +---- statement error SELECT MIN(i) OVER (PARTITION BY a ORDER BY i) FROM integers +---- statement error SELECT MIN(i) OVER (PARTITION BY i ORDER BY a) FROM integers +---- statement error SELECT MIN(i) OVER (PARTITION BY i, a ORDER BY i) FROM integers +---- statement error SELECT MIN(i) OVER (PARTITION BY i ORDER BY i, a) FROM integers +---- # now we only use the "proper" columns query I diff --git a/test/sql/window/test_window_binding_ctes.test b/test/sql/window/test_window_binding_ctes.test index 65bc32a59b66..9637f17da9fe 100644 --- a/test/sql/window/test_window_binding_ctes.test +++ b/test/sql/window/test_window_binding_ctes.test @@ -57,10 +57,12 @@ SELECT * FROM (SELECT i, lag(i) OVER named_window FROM ( VALUES (1), (2), (3)) A # we cannot use named window specifications of the main query inside CTEs statement error WITH subquery AS (SELECT i, lag(i) OVER named_window FROM ( VALUES (1), (2), (3)) AS t (i)) SELECT * FROM subquery window named_window AS ( ORDER BY i); +---- # duplicate window clause name statement error select i, lag(i) over named_window from (values (1), (2), (3)) as t (i) window named_window as (order by i), named_window as (order by j); +---- # window specs are locally scoped. statement ok diff --git a/test/sql/window/test_window_clause.test b/test/sql/window/test_window_clause.test index ad5c3283a9a2..f1b5ac71767b 100644 --- a/test/sql/window/test_window_clause.test +++ b/test/sql/window/test_window_clause.test @@ -68,3 +68,17 @@ window w AS (order by i rows between 1 preceding and 1 following) order by i; ---- frame clause + +# Case insensitivity +statement error +SELECT sum(1) over cumulativeSum +FROM integers +WINDOW cumulativeSum AS (), + cumulativesum AS (order by i rows between 1 preceding and 1 following); +---- +already defined + +statement ok +SELECT sum(i) over cumulativeSum +FROM integers +WINDOW cumulativeSum AS (); diff --git a/test/sql/window/test_window_cse.test b/test/sql/window/test_window_cse.test new file mode 100644 index 000000000000..6a1731f6807b --- /dev/null +++ b/test/sql/window/test_window_cse.test @@ -0,0 +1,78 @@ +# name: test/sql/window/test_window_cse.test +# description: Test window Common Subexpression Elimination +# group: [window] + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA explain_output = PHYSICAL_ONLY; + +statement ok +SELECT SETSEED(0.867309); + +statement ok +CREATE TABLE eventlog AS + SELECT ts, + CHR((RANDOM() * 3 + 65)::INTEGER) AS activity_name, + (RANDOM() * 100)::INTEGER AS case_id + FROM generate_series('2023-01-01'::TIMESTAMP, '2023-02-01'::TIMESTAMP, INTERVAL 1 HOUR) tbl(ts); + +statement ok +CREATE VIEW cse AS +WITH t AS (SELECT + string_agg(activity_name, ',' order by ts asc, activity_name) as trace, + 1 as cnt +from + eventlog +group by case_id +) +SELECT + trace, + sum(cnt) as cnt_trace, + sum(cnt_trace) over () as cnt_total, + sum(cnt) / sum(cnt_trace) over () as rel, + sum(cnt_trace) over ( + order by cnt_trace desc + ROWS between UNBOUNDED PRECEDING and CURRENT ROW) + / sum(cnt_trace) over () + as rel +from t +group by trace +order by cnt_trace desc + +# CSE should produce only one window operator +query II +EXPLAIN FROM cse; +---- +physical_plan :.*WINDOW.* + +query II +EXPLAIN FROM cse; +---- +physical_plan :.*WINDOW.*WINDOW.* + +# CSE should produce only two computations of sum(cnt_trace) +query II +EXPLAIN FROM cse; +---- +physical_plan :.*sum\(cnt_trace\).*sum\(cnt_trace\).* + +query II +EXPLAIN FROM cse; +---- +physical_plan :.*sum\(cnt_trace\).*sum\(cnt_trace\).*sum\(cnt_trace\).* + + +statement ok +CREATE VIEW noncse AS +SELECT + quantile(x, 0.3) over() as q3, + quantile(x, 0.7) over() as q7 +FROM generate_series(1, 10) as tbl(x); + +# Non-CSE should not eliminate the 2nd quantile computation +query II +EXPLAIN FROM noncse; +---- +physical_plan :.*quantile\(x\).*quantile\(x\).* diff --git a/test/sql/window/test_window_distinct.test b/test/sql/window/test_window_distinct.test new file mode 100644 index 000000000000..91a30e75e498 --- /dev/null +++ b/test/sql/window/test_window_distinct.test @@ -0,0 +1,309 @@ +# name: test/sql/window/test_window_distinct.test +# description: Windowed distinct aggregates functionality +# group: [window] + +statement ok +PRAGMA enable_verification + +query I +SELECT COUNT(DISTINCT 42) OVER () +---- +1 + +query IIII +WITH t AS ( + SELECT col0 AS a, col1 AS b + FROM (VALUES + (1,2), + (1,1), + (1,2), + (2,1), + (2,1), + (2,2), + (2,3), + (2,4) + ) v) +SELECT *, COUNT(b) OVER(PARTITION BY a), COUNT(DISTINCT b) OVER(PARTITION BY a) +FROM t +ORDER BY 1, 2 +---- +1 1 3 2 +1 2 3 2 +1 2 3 2 +2 1 5 4 +2 1 5 4 +2 2 5 4 +2 3 5 4 +2 4 5 4 + +statement ok +CREATE TABLE figure1 AS + SELECT * + FROM VALUES + (1, 'a'), + (2, 'b'), + (3, 'b'), + (4, 'c'), + (5, 'c'), + (6, 'b'), + (7, 'c'), + (8, 'a') + v(i, s); + +query III +SELECT i + , s + , COUNT(DISTINCT s) OVER( ORDER BY i ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING) AS c +FROM figure1 +ORDER BY i +---- +1 a 2 +2 b 3 +3 b 3 +4 c 2 +5 c 2 +6 b 3 +7 c 3 +8 a 3 + +query III +WITH uncascaded AS ( + SELECT i, i % 29 AS v + FROM range(1000) tbl(i) +) +SELECT i + , v + , COUNT(DISTINCT v) OVER (ORDER BY i ROWS BETWEEN 25 PRECEDING AND 25 FOLLOWING) AS w +FROM uncascaded +ORDER BY i +---- +3000 values hashing to cb9c296986f7b9eaeee380bbc049ab39 + +query III +WITH cascaded AS ( + SELECT i, i % 29 AS v + FROM range(10000) tbl(i) +) +SELECT i + , v + , COUNT(DISTINCT v) OVER (ORDER BY i ROWS BETWEEN 25 PRECEDING AND 25 FOLLOWING) AS w +FROM cascaded +ORDER BY i +---- +30000 values hashing to 673869e81fecab82f0bcec032236115a + +# Exclude falls back to naïve +query IIII +SELECT i + , s + , i // 2 AS o + , COUNT(DISTINCT s) OVER( + ORDER BY i // 2 + ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING + EXCLUDE TIES + ) AS c +FROM figure1 +ORDER BY i +---- +1 a 0 2 +2 b 1 3 +3 b 1 3 +4 c 2 2 +5 c 2 2 +6 b 3 3 +7 c 3 2 +8 a 4 3 + +# DISTINCT aggregate with NULL values in the dataset +statement ok +INSERT INTO figure1 VALUES + (9, NULL), + (NULL, 'b'), + (NULL, NULL), +; + +query III +SELECT i + , s + , COUNT(DISTINCT s) OVER( ORDER BY i ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING) AS c +FROM figure1 +ORDER BY i +---- +1 a 2 +2 b 3 +3 b 3 +4 c 2 +5 c 2 +6 b 3 +7 c 3 +8 a 3 +9 NULL 3 +NULL b 2 +NULL NULL 1 + +# DISTINCT over nested types, e.g. LIST/STRUCT +statement ok +CREATE TABLE nested AS + SELECT + i, + s, + {"m": i % 2, "s": s} AS n, + [(i % 2)::VARCHAR, s] AS l, + i * i AS r + FROM figure1 + +query III +SELECT i + , n + , COUNT(DISTINCT n) OVER( ORDER BY i ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING) AS c +FROM nested +ORDER BY i +---- +1 {'m': 1, 's': a} 3 +2 {'m': 0, 's': b} 4 +3 {'m': 1, 's': b} 5 +4 {'m': 0, 's': c} 4 +5 {'m': 1, 's': c} 4 +6 {'m': 0, 's': b} 4 +7 {'m': 1, 's': c} 4 +8 {'m': 0, 's': a} 5 +9 {'m': 1, 's': NULL} 5 +NULL {'m': NULL, 's': b} 4 +NULL {'m': NULL, 's': NULL} 3 + +query III +SELECT i + , l + , COUNT(DISTINCT l) OVER( ORDER BY i ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING) AS c +FROM nested +ORDER BY i +---- +1 [1, a] 3 +2 [0, b] 4 +3 [1, b] 5 +4 [0, c] 4 +5 [1, c] 4 +6 [0, b] 4 +7 [1, c] 4 +8 [0, a] 5 +9 [1, NULL] 5 +NULL [NULL, b] 4 +NULL [NULL, NULL] 3 + +# DISTINCT with RANGE instead of ROWS +query III +SELECT r + , s + , COUNT(DISTINCT s) OVER( ORDER BY r RANGE BETWEEN 10 PRECEDING AND 10 FOLLOWING) AS c +FROM nested +ORDER BY i +---- +1 a 2 +4 b 2 +9 b 3 +16 c 2 +25 c 1 +36 b 1 +49 c 1 +64 a 1 +81 NULL 0 +NULL b 1 +NULL NULL 1 + +# DISTINCT with an aggregate with a destructor (e.g. LIST or STRING_AGG) +query III +SELECT i + , s + , STRING_AGG(DISTINCT s, ', ') OVER( ORDER BY i ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING) AS c +FROM nested +ORDER BY i +---- +1 a a, b +2 b a, b, c +3 b a, b, c +4 c b, c +5 c b, c +6 b c, b, a +7 c c, b, a +8 a b, c, a +9 NULL c, a, b +NULL b a, b +NULL NULL b + +# DISTINCT MEDIAN, or distinct for aggregates that have a special window function? +query III +SELECT i + , s + , MEDIAN(DISTINCT s) OVER( ORDER BY i ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING) AS c +FROM nested +ORDER BY i +---- +1 a a +2 b b +3 b b +4 c b +5 c b +6 b b +7 c b +8 a b +9 NULL b +NULL b a +NULL NULL b + +# DISTINCT FILTER +query III +SELECT i + , s + , COUNT(DISTINCT s) FILTER (WHERE i % 3 = 0) OVER( ORDER BY i ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING) AS c +FROM nested +ORDER BY i +---- +1 a 1 +2 b 1 +3 b 1 +4 c 1 +5 c 1 +6 b 1 +7 c 1 +8 a 1 +9 NULL 0 +NULL b 0 +NULL NULL 0 + +query III +SELECT i + , s + , COUNT(DISTINCT s) FILTER (WHERE i % 3 = 1) OVER( ORDER BY i ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING) AS c +FROM nested +ORDER BY i +---- +1 a 1 +2 b 2 +3 b 2 +4 c 1 +5 c 1 +6 b 1 +7 c 1 +8 a 1 +9 NULL 1 +NULL b 0 +NULL NULL 0 + +query III +SELECT i + , s + , COUNT(DISTINCT s) FILTER (WHERE i % 3 = 2) OVER( ORDER BY i ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING) AS c +FROM nested +ORDER BY i +---- +1 a 1 +2 b 1 +3 b 2 +4 c 2 +5 c 1 +6 b 2 +7 c 2 +8 a 1 +9 NULL 1 +NULL b 1 +NULL NULL 0 diff --git a/test/sql/window/test_window_distinct.test_slow b/test/sql/window/test_window_distinct.test_slow new file mode 100644 index 000000000000..12ced0116b97 --- /dev/null +++ b/test/sql/window/test_window_distinct.test_slow @@ -0,0 +1,47 @@ +# name: test/sql/window/test_window_distinct.test_slow +# description: Windowed distinct aggregates at scale +# group: [window] + +require tpch + +statement ok +CALL dbgen(sf=1); + +statement ok +PRAGMA enable_verification + +statement ok +PRAGMA temp_directory='__TEST_DIR__/window_distinct' + +# DISTINCT aggregate over a larger data set (e.g. lineitem or so) +query I +SELECT + l_orderkey, + l_linenumber, + l_returnflag, + COUNT(DISTINCT l_returnflag) OVER(PARTITION BY l_orderkey ORDER BY l_linenumber) +FROM lineitem +ORDER BY ALL +---- +24004860 values hashing to d39903ddf93011916ff3354d8bded7ff + +statement ok +PRAGMA disable_verification + +# Trigger external sorting of a partition +statement ok +PRAGMA threads=4 + +statement ok +PRAGMA memory_limit='20MB' + +query I +WITH t AS ( + SELECT range AS i, CHR((65 + i % 26)::INTEGER) AS c + FROM range(1e6::BIGINT) +) +SELECT i, c, COUNT(DISTINCT c) OVER (ORDER BY i DESC) AS n +FROM t +ORDER BY ALL +---- +3000000 values hashing to f56f9b4e62101f52951e1f01a9b5c862 diff --git a/test/sql/window/test_window_exclude.test b/test/sql/window/test_window_exclude.test new file mode 100644 index 000000000000..478805852e7b --- /dev/null +++ b/test/sql/window/test_window_exclude.test @@ -0,0 +1,869 @@ +# name: test/sql/window/test_window_exclude.test +# description: Windows with EXCLUDE clause +# group: [window] + +statement ok +CREATE TABLE tenk1d ( + unique1 int4, + four int4, + col int4 +); + +statement ok +INSERT INTO tenk1d (unique1, four, col) VALUES + (0, 0, NULL), + (1, 1, 1), + (2, 2, NULL), + (3, 3, 3), + (4, 0, NULL), + (5, 1, 1), + (6, 2, NULL), + (7, 3, 3), + (8, 0, NULL), + (9, 1, 1); + +statement ok +CREATE TABLE empsalary ( +depname varchar, +empno bigint, +salary int, +enroll_date date +); + +statement ok +INSERT INTO empsalary VALUES +('develop', 10, 5200, '2007-08-01'), +('sales', 1, 5000, '2006-10-01'), +('personnel', 5, 3500, '2007-12-10'), +('sales', 4, 4800, '2007-08-08'), +('personnel', 2, 3900, '2006-12-23'), +('develop', 7, 4200, '2008-01-01'), +('develop', 9, 4500, '2008-01-01'), +('sales', 3, 4800, '2007-08-01'), +('develop', 8, 6000, '2006-10-01'), +('develop', 11, 5200, '2007-08-15'); + +# RANGE + CURRENT ROW +query III +SELECT sum(unique1) over (w range between unbounded preceding and current row exclude current row), + unique1, four +FROM tenk1d WINDOW w AS (order by four) ORDER BY four, unique1; +---- +12 0 0 +8 4 0 +4 8 0 +26 1 1 +22 5 1 +18 9 1 +33 2 2 +29 6 2 +42 3 3 +38 7 3 + +# RANGE + GROUP +query III +SELECT sum(unique1) over (w range between unbounded preceding and current row exclude group), + unique1, four +FROM tenk1d WINDOW w AS (order by four) ORDER BY four, unique1; +---- +NULL 0 0 +NULL 4 0 +NULL 8 0 +12 1 1 +12 5 1 +12 9 1 +27 2 2 +27 6 2 +35 3 3 +35 7 3 + +# RANGE + TIES +query III +SELECT sum(unique1) over (w range between unbounded preceding and current row exclude ties), + unique1, four +FROM tenk1d WINDOW w AS (order by four) ORDER BY four, unique1; +---- +0 0 0 +4 4 0 +8 8 0 +13 1 1 +17 5 1 +21 9 1 +29 2 2 +33 6 2 +38 3 3 +42 7 3 + +# with PARTITION BY +query III +SELECT sum(unique1) over (partition by four order by unique1 range between 5::int8 preceding and 6::int2 following + exclude current row),unique1, four +FROM tenk1d ORDER BY four, unique1; +---- +4 0 0 +8 4 0 +4 8 0 +5 1 1 +10 5 1 +5 9 1 +6 2 2 +2 6 2 +7 3 3 +3 7 3 + +# with FILTER +query III +SELECT sum(unique1) filter (where four > 1)over (order by unique1 rows between unbounded preceding and current row + exclude current row),unique1, four +FROM tenk1d ORDER BY unique1, four; +---- +NULL 0 0 +NULL 1 1 +NULL 2 2 +2 3 3 +5 4 0 +5 5 1 +5 6 2 +11 7 3 +18 8 0 +18 9 1 + +# with FILTER and PARTITION BY +query III +SELECT sum(unique1) filter (where four > 0) over (partition by four order by unique1 rows between unbounded preceding + and current row exclude current row),unique1, four +FROM tenk1d ORDER BY unique1, four; +---- +NULL 0 0 +NULL 1 1 +NULL 2 2 +NULL 3 3 +NULL 4 0 +1 5 1 +2 6 2 +3 7 3 +NULL 8 0 +6 9 1 + +# first_value +query II +SELECT first_value(four) over (order by four rows between unbounded preceding + and current row exclude group), four +FROM tenk1d ORDER BY four; +---- +NULL 0 +NULL 0 +NULL 0 +0 1 +0 1 +0 1 +0 2 +0 2 +0 3 +0 3 + + +# last_value +query II +SELECT last_value(four) over (order by four rows between current row + and unbounded following exclude current row), four +FROM tenk1d ORDER BY four; +---- +3 0 +3 0 +3 0 +3 1 +3 1 +3 1 +3 2 +3 2 +3 3 +NULL 3 + + +# nth_value +query II +SELECT nth_value(four, 5) over (order by four rows between unbounded preceding + and unbounded following exclude ties), four +FROM tenk1d ORDER BY four; +---- +2 0 +2 0 +2 0 +2 1 +2 1 +2 1 +1 2 +1 2 +1 3 +1 3 + + + +# IGNORE NULLS +query III +SELECT nth_value(col, 3 ignore nulls) over (order by four rows between unbounded preceding + and unbounded following exclude current row),four, col +FROM tenk1d ORDER BY four, col; +---- +1 0 NULL +1 0 NULL +1 0 NULL +3 1 1 +3 1 1 +3 1 1 +1 2 NULL +1 2 NULL +1 3 3 +1 3 3 + + +# IGNORE NULLS with input > STANDARD_VECTOR_SIZE +query I +SELECT DISTINCT first_value(col IGNORE NULLS) OVER (ORDER BY i ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) +FROM ( SELECT * + FROM generate_series(1,3000) AS _(i), (SELECT NULL::integer) + UNION ALL + SELECT 3001, 1 + ) AS _(i, col) +ORDER BY ALL NULLS FIRST; +---- +NULL +1 + + +# without ORDER BY: EXCLUDE CURRENT ROW / constant aggregate otherwise +query II +SELECT sum(unique1) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW), unique1 +FROM tenk1d ORDER BY unique1; +---- +45 0 +44 1 +43 2 +42 3 +41 4 +40 5 +39 6 +38 7 +37 8 +36 9 + + +# without ORDER BY: EXCLUDE GROUP / constant aggregate otherwise +query II +SELECT sum(unique1) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP), unique1 +FROM tenk1d ORDER BY unique1; +---- +NULL 0 +NULL 1 +NULL 2 +NULL 3 +NULL 4 +NULL 5 +NULL 6 +NULL 7 +NULL 8 +NULL 9 + + +# without ORDER BY: EXCLUDE TIES / constant aggregate otherwise +query II +SELECT sum(unique1) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES), unique1 +FROM tenk1d ORDER BY unique1; +---- +0 0 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 + +# input larger than standard vector size (with EXCLUDE GROUP and vector-crossing peer boundary) +query II +SELECT DISTINCT j,sum(j) OVER (ORDER BY j ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM generate_series(1,300), generate_series(1,10) AS __(j) ORDER BY j; +---- +1 16200 +2 15900 +3 15600 +4 15300 +5 15000 +6 14700 +7 14400 +8 14100 +9 13800 +10 13500 + + +# with WHERE clause +query II +SELECT i, last_value(i) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM generate_series(1,10) AS _(i) +WHERE i <> 10 +ORDER BY i; +---- +1 9 +2 9 +3 9 +4 9 +5 9 +6 9 +7 9 +8 9 +9 8 + + +# regression test +query II +SELECT DISTINCT j,sum(j) OVER (ORDER BY j ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM generate_series(1,300), generate_series(1,10) AS __(j) ORDER BY j; +---- +1 16201 +2 15902 +3 15603 +4 15304 +5 15005 +6 14706 +7 14407 +8 14108 +9 13809 +10 13510 + +# regression test +query II +SELECT DISTINCT j,sum(j) FILTER (where i <> 3) OVER (ORDER BY j ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) AS sum FROM generate_series(1,300) _(i), generate_series(1,10) AS __(j) ORDER BY j, sum; +---- +1 16146 +1 16147 +2 15847 +2 15849 +3 15548 +3 15551 +4 15249 +4 15253 +5 14950 +5 14955 +6 14651 +6 14657 +7 14352 +7 14359 +8 14053 +8 14061 +9 13754 +9 13763 +10 13455 +10 13465 + +# regression test +query II +SELECT j, sum(j) OVER (ORDER BY j ROWS BETWEEN UNBOUNDED PRECEDING AND 30 FOLLOWING EXCLUDE CURRENT ROW) FROM generate_series(1,40) AS _(j) ORDER BY j; +---- +1 495 +2 526 +3 558 +4 591 +5 625 +6 660 +7 696 +8 733 +9 771 +10 810 +11 809 +12 808 +13 807 +14 806 +15 805 +16 804 +17 803 +18 802 +19 801 +20 800 +21 799 +22 798 +23 797 +24 796 +25 795 +26 794 +27 793 +28 792 +29 791 +30 790 +31 789 +32 788 +33 787 +34 786 +35 785 +36 784 +37 783 +38 782 +39 781 +40 780 + +# Query otherwise handled by STREAMING WINDOW +query TT +EXPLAIN +SELECT unique1, COUNT(*) OVER(ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE CURRENT ROW) FROM tenk1d; +---- +physical_plan :.*STREAMING_WINDOW.* + + + +# PARTITION BY without ORDER BY +query III +SELECT unique1, four, sum(unique1) OVER (PARTITION BY four ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM tenk1d ORDER BY four, unique1; +---- +0 0 12 +4 0 8 +8 0 4 +1 1 14 +5 1 10 +9 1 6 +2 2 6 +6 2 2 +3 3 7 +7 3 3 + +# PARTITION BY without ORDER BY +query III +SELECT unique1, four, sum(unique1) OVER (PARTITION BY four ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM tenk1d ORDER BY four, unique1; +---- +0 0 NULL +4 0 NULL +8 0 NULL +1 1 NULL +5 1 NULL +9 1 NULL +2 2 NULL +6 2 NULL +3 3 NULL +7 3 NULL + + +# PARTITION BY without ORDER BY +query III +SELECT unique1, four, sum(unique1) OVER (PARTITION BY four ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM tenk1d ORDER BY four, unique1; +---- +0 0 0 +4 0 4 +8 0 8 +1 1 1 +5 1 5 +9 1 9 +2 2 2 +6 2 6 +3 3 3 +7 3 7 + + +# +# Custom aggregates (not implemented yet) +# + +## COUNT(*) and CURRENT ROW +query II +SELECT i, COUNT(*) OVER (ORDER BY i ROWS BETWEEN 3 PRECEDING AND 3 FOLLOWING EXCLUDE CURRENT ROW) +FROM generate_series(1,10) AS _(i) +ORDER BY i; +---- +1 3 +2 4 +3 5 +4 6 +5 6 +6 6 +7 6 +8 5 +9 4 +10 3 + +## COUNT(*) and GROUP +query II +SELECT i, COUNT(*) OVER (ORDER BY i ROWS BETWEEN 3 PRECEDING AND 3 FOLLOWING EXCLUDE GROUP) +FROM ( + SELECT * FROM generate_series(1,5) + UNION ALL + SELECT * FROM generate_series(1,5) +) AS _(i) +ORDER BY i; +---- +1 2 +1 3 +2 4 +2 5 +3 5 +3 5 +4 5 +4 4 +5 3 +5 2 + + +## COUNT(*) and TIES +query II +SELECT i, COUNT(*) OVER (ORDER BY i ROWS BETWEEN 3 PRECEDING AND 3 FOLLOWING EXCLUDE TIES) +FROM ( + SELECT * FROM generate_series(1,5) + UNION ALL + SELECT * FROM generate_series(1,5)) + AS _(i) +ORDER BY i; +---- +1 3 +1 4 +2 5 +2 6 +3 6 +3 6 +4 6 +4 5 +5 4 +5 3 + +## ARRAY_AGG and CURRENT ROW +query II +SELECT i, array_agg(i) OVER w +FROM ( + SELECT * FROM generate_series(1,5) + UNION ALL + SELECT * FROM generate_series(1,5) +) AS _(i) +WINDOW w AS (ORDER BY i ROWS UNBOUNDED PRECEDING EXCLUDE CURRENT ROW) +ORDER BY i; +---- +1 NULL +1 [1] +2 [1, 1] +2 [1, 1, 2] +3 [1, 1, 2, 2] +3 [1, 1, 2, 2, 3] +4 [1, 1, 2, 2, 3, 3] +4 [1, 1, 2, 2, 3, 3, 4] +5 [1, 1, 2, 2, 3, 3, 4, 4] +5 [1, 1, 2, 2, 3, 3, 4, 4, 5] + +## ARRAY_AGG and GROUP +query II +SELECT i, array_agg(i) OVER w +FROM ( + SELECT * FROM generate_series(1,5) + UNION ALL + SELECT * FROM generate_series(1,5) +) AS _(i) +WINDOW w AS (ORDER BY i ROWS UNBOUNDED PRECEDING EXCLUDE GROUP) +ORDER BY i; +---- +1 NULL +1 NULL +2 [1, 1] +2 [1, 1] +3 [1, 1, 2, 2] +3 [1, 1, 2, 2] +4 [1, 1, 2, 2, 3, 3] +4 [1, 1, 2, 2, 3, 3] +5 [1, 1, 2, 2, 3, 3, 4, 4] +5 [1, 1, 2, 2, 3, 3, 4, 4] + +## ARRAY_AGG and TIES +query II +SELECT i, array_agg(i) OVER w +FROM ( + SELECT * FROM generate_series(1,5) + UNION ALL + SELECT * FROM generate_series(1,5) +) AS _(i) +WINDOW w AS (ORDER BY i ROWS UNBOUNDED PRECEDING EXCLUDE TIES) +ORDER BY i; +---- +1 [1] +1 [1] +2 [1, 1, 2] +2 [1, 1, 2] +3 [1, 1, 2, 2, 3] +3 [1, 1, 2, 2, 3] +4 [1, 1, 2, 2, 3, 3, 4] +4 [1, 1, 2, 2, 3, 3, 4] +5 [1, 1, 2, 2, 3, 3, 4, 4, 5] +5 [1, 1, 2, 2, 3, 3, 4, 4, 5] + +# MODE and CURRENT ROW +query II +SELECT i, mode(i) OVER w +FROM ( + SELECT * FROM generate_series(1,5) + UNION ALL + SELECT * FROM generate_series(1,5) +) AS _(i) +WINDOW w AS (ORDER BY i ROWS BETWEEN 1 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) +ORDER BY i; +---- +1 1 +1 2 +2 1 +2 3 +3 2 +3 4 +4 3 +4 5 +5 4 +5 5 + +# MODE and GROUP +query II +SELECT i, mode(i) OVER w +FROM ( + SELECT * FROM generate_series(1,5) + UNION ALL + SELECT * FROM generate_series(1,5) +) AS _(i) +WINDOW w AS (ORDER BY i ROWS BETWEEN 1 PRECEDING AND 2 FOLLOWING EXCLUDE GROUP) +ORDER BY i; +---- +1 2 +1 2 +2 1 +2 3 +3 2 +3 4 +4 3 +4 5 +5 4 +5 NULL + +# MODE and TIES +query II +SELECT i, mode(i) OVER w +FROM ( + SELECT * FROM generate_series(1,5) + UNION ALL + SELECT * FROM generate_series(1,5) +) AS _(i) +WINDOW w AS (ORDER BY i ROWS BETWEEN 1 PRECEDING AND 2 FOLLOWING EXCLUDE TIES) +ORDER BY i; +---- +1 1 +1 2 +2 1 +2 3 +3 2 +3 4 +4 3 +4 5 +5 4 +5 5 + +# MEDIAN and CURRENT ROW +query II +SELECT i, median(i) OVER (ORDER BY i ROWS BETWEEN 1 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) +FROM generate_series(1,10) AS _(i) ORDER BY i; +---- +1 2.5 +2 3.0 +3 4.0 +4 5.0 +5 6.0 +6 7.0 +7 8.0 +8 9.0 +9 9.0 +10 9.0 + +# MEDIAN and GROUP +query II +SELECT i, median(i) OVER (ORDER BY i ROWS BETWEEN 1 PRECEDING AND 2 FOLLOWING EXCLUDE GROUP) +FROM generate_series(1,5) AS _(i), + generate_series(1,2) +ORDER BY i; +---- +1 2.0 +1 2.0 +2 2.0 +2 3.0 +3 3.0 +3 4.0 +4 4.0 +4 5.0 +5 4.0 +5 NULL + +# MEDIAN and TIES +query II +SELECT i, median(i) OVER (ORDER BY i ROWS BETWEEN 1 PRECEDING AND 2 FOLLOWING EXCLUDE TIES) +FROM generate_series(1,5) AS _(i), + generate_series(1,2) +ORDER BY i; +---- +1 1.5 +1 2.0 +2 2.0 +2 3.0 +3 3.0 +3 4.0 +4 4.0 +4 5.0 +5 4.5 +5 5.0 + +# Test Merge Sort Trees with exclusions +query III +WITH t1(x, y) AS (VALUES + ( 1, 3 ), + ( 2, 2 ), + ( 3, 1 ) +) +SELECT x, y, QUANTILE_DISC(y, 0) OVER ( + ORDER BY x + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + EXCLUDE CURRENT ROW) +FROM t1; +---- +1 3 NULL +2 2 3 +3 1 2 + +query III +WITH t1(x, y) AS (VALUES + ( 1, 3 ), + ( 2, 2 ), + ( 3, 1 ) +) +SELECT x, y, QUANTILE_DISC(y, 0) OVER ( + ORDER BY x + ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING + EXCLUDE CURRENT ROW) +FROM t1; +---- +1 3 1 +2 2 1 +3 1 2 + + +# PG test +query III +select sum(salary) over (order by enroll_date range between '1 year'::interval preceding and '1 year'::interval following + exclude current row), salary, enroll_date from empsalary ORDER BY enroll_date, salary; +---- +29900 5000 2006-10-01 +28900 6000 2006-10-01 +34500 3900 2006-12-23 +42300 4800 2007-08-01 +41900 5200 2007-08-01 +42300 4800 2007-08-08 +41900 5200 2007-08-15 +32600 3500 2007-12-10 +28000 4200 2008-01-01 +27700 4500 2008-01-01 + +# PG test +query III +select sum(salary) over (order by enroll_date range between '1 year'::interval preceding and '1 year'::interval following + exclude group), salary, enroll_date from empsalary ORDER BY enroll_date, salary; +---- +23900 5000 2006-10-01 +23900 6000 2006-10-01 +34500 3900 2006-12-23 +37100 4800 2007-08-01 +37100 5200 2007-08-01 +42300 4800 2007-08-08 +41900 5200 2007-08-15 +32600 3500 2007-12-10 +23500 4200 2008-01-01 +23500 4500 2008-01-01 + +# PG test +query III +select sum(salary) over (order by enroll_date range between '1 year'::interval preceding and '1 year'::interval following + exclude ties), salary, enroll_date from empsalary ORDER BY enroll_date, salary; +---- +28900 5000 2006-10-01 +29900 6000 2006-10-01 +38400 3900 2006-12-23 +41900 4800 2007-08-01 +42300 5200 2007-08-01 +47100 4800 2007-08-08 +47100 5200 2007-08-15 +36100 3500 2007-12-10 +27700 4200 2008-01-01 +28000 4500 2008-01-01 + +# PG test +query IIII +select first_value(salary) over(order by salary range between 1000 preceding and 1000 following) AS first_value, + lead(salary) over(order by salary range between 1000 preceding and 1000 following) AS lead, + nth_value(salary, 1) over(order by salary range between 1000 preceding and 1000 following), + salary from empsalary ORDER BY first_value, lead; +---- +3500 3900 3500 3500 +3500 4200 3500 3900 +3500 4500 3500 4200 +3500 4800 3500 4500 +3900 4800 3900 4800 +3900 5000 3900 4800 +4200 5200 4200 5000 +4200 5200 4200 5200 +4200 6000 4200 5200 +5000 NULL 5000 6000 + +# PG test +query III +select last_value(salary) over(order by salary range between 1000 preceding and 1000 following) AS last_value, + lag(salary) over(order by salary range between 1000 preceding and 1000 following) AS lag, + salary from empsalary ORDER BY last_value, lag; +---- +4500 NULL 3500 +4800 3500 3900 +5200 3900 4200 +5200 4200 4500 +5200 4500 4800 +5200 4800 4800 +6000 4800 5000 +6000 5000 5200 +6000 5200 5200 +6000 5200 6000 + +# PG test +query IIII +select first_value(salary) over(order by salary range between 1000 following and 3000 following + exclude current row) AS first_value, + lead(salary) over(order by salary range between 1000 following and 3000 following exclude ties) AS lead, + nth_value(salary, 1) over(order by salary range between 1000 following and 3000 following + exclude ties), + salary from empsalary ORDER BY first_value, lead; +---- +4500 3900 4500 3500 +5000 4200 5000 3900 +5200 4500 5200 4200 +6000 4800 6000 4500 +6000 4800 6000 4800 +6000 5000 6000 4800 +6000 5200 6000 5000 +NULL 5200 NULL 5200 +NULL 6000 NULL 5200 +NULL NULL NULL 6000 + +# PG test +query III +select last_value(salary) over(order by salary range between 1000 following and 3000 following + exclude group) AS last_value, + lag(salary) over(order by salary range between 1000 following and 3000 following exclude group) AS lag, + salary from empsalary ORDER BY last_value, lag; +---- +6000 3500 3900 +6000 3900 4200 +6000 4200 4500 +6000 4500 4800 +6000 4800 4800 +6000 4800 5000 +6000 NULL 3500 +NULL 5000 5200 +NULL 5200 5200 +NULL 5200 6000 + + +statement error +SELECT sum(i) OVER (EXCLUDE CURRENT ROW) FROM generate_series(1,10) AS _(i); +---- + +statement error +SELECT sum(i) OVER (ROWS UNBOUNDED PRECEDING EXCLUDE GROUPS) FROM generate_series(1,10) AS _(i); +---- diff --git a/test/sql/window/test_window_filter.test b/test/sql/window/test_window_filter.test index cfc93a910327..416d35c40cb7 100644 --- a/test/sql/window/test_window_filter.test +++ b/test/sql/window/test_window_filter.test @@ -120,6 +120,7 @@ SELECT , ${nullary}() FILTER (WHERE z = 0) OVER (PARTITION BY y) AS z_filtered_window FROM testing ORDER BY y, x; +---- endloop @@ -135,6 +136,7 @@ SELECT , ${unary}(x) FILTER (WHERE z = 0) OVER (PARTITION BY y) AS z_filtered_window FROM testing ORDER BY y, x; +---- endloop @@ -150,5 +152,6 @@ SELECT , ${binary}(x, 1) FILTER (WHERE z = 0) OVER (PARTITION BY y) AS z_filtered_window FROM testing ORDER BY y, x; +---- endloop diff --git a/test/sql/window/test_window_fusion.test b/test/sql/window/test_window_fusion.test new file mode 100644 index 000000000000..5d0cf859d72f --- /dev/null +++ b/test/sql/window/test_window_fusion.test @@ -0,0 +1,724 @@ +# name: test/sql/window/test_window_fusion.test +# description: Prefix sort fusion +# group: [window] + +statement ok +PRAGMA enable_verification + +# Subset of lineitem with only two partitions +statement ok +create table lineitem ( + l_extendedprice decimal(15,2), + l_partkey integer, + l_orderkey integer +); + +statement ok +insert into lineitem (values + (29733.00, 1, 2883), + (1802.00, 1, 5121), + (4505.00, 1, 6179), + (29733.00, 1, 6273), + (30634.00, 1, 8645), + (41446.00, 1, 12005), + (36040.00, 1, 16135), + (29733.00, 1, 16198), + (26129.00, 1, 20199), + (24327.00, 1, 22117), + (19822.00, 1, 24866), + (24327.00, 1, 26756), + (9010.00, 1, 27558), + (45050.00, 1, 29859), + (2703.00, 1, 34692), + (11713.00, 1, 36611), + (18020.00, 1, 38051), + (21624.00, 1, 42465), + (36040.00, 1, 42758), + (39644.00, 1, 47620), + (28832.00, 1, 50498), + (12614.00, 1, 51970), + (2703.00, 1, 53189), + (22525.00, 1, 53825), + (21624.00, 1, 54592), + (36941.00, 1, 59202), + (18942.00, 2, 548), + (17138.00, 2, 807), + (24354.00, 2, 2117), + (9020.00, 2, 2528), + (28864.00, 2, 4102), + (42394.00, 2, 4452), + (11726.00, 2, 7458), + (39688.00, 2, 27969), + (37884.00, 2, 28900), + (9922.00, 2, 30278), + (12628.00, 2, 30597), + (7216.00, 2, 33058), + (41492.00, 2, 37026), + (40590.00, 2, 37123), + (36982.00, 2, 39809), + (36080.00, 2, 41415), + (18942.00, 2, 42147), + (24354.00, 2, 42533), + (41492.00, 2, 43650), + (45100.00, 2, 44103), + (17138.00, 2, 46913), + (31570.00, 2, 50499), + (37884.00, 2, 54086), + (26158.00, 2, 54436), + (4510.00, 2, 54436), + (3608.00, 2, 54630), + (41492.00, 2, 55136), +); + +# +# Unpartitioned +# + +# Single functions +query IIII +select + l_extendedprice, + l_partkey, + l_orderkey, + sum(l_extendedprice) over(), +from lineitem +order by l_partkey, l_orderkey +---- +29733.00 1 2883 1314442.00 +1802.00 1 5121 1314442.00 +4505.00 1 6179 1314442.00 +29733.00 1 6273 1314442.00 +30634.00 1 8645 1314442.00 +41446.00 1 12005 1314442.00 +36040.00 1 16135 1314442.00 +29733.00 1 16198 1314442.00 +26129.00 1 20199 1314442.00 +24327.00 1 22117 1314442.00 +19822.00 1 24866 1314442.00 +24327.00 1 26756 1314442.00 +9010.00 1 27558 1314442.00 +45050.00 1 29859 1314442.00 +2703.00 1 34692 1314442.00 +11713.00 1 36611 1314442.00 +18020.00 1 38051 1314442.00 +21624.00 1 42465 1314442.00 +36040.00 1 42758 1314442.00 +39644.00 1 47620 1314442.00 +28832.00 1 50498 1314442.00 +12614.00 1 51970 1314442.00 +2703.00 1 53189 1314442.00 +22525.00 1 53825 1314442.00 +21624.00 1 54592 1314442.00 +36941.00 1 59202 1314442.00 +18942.00 2 548 1314442.00 +17138.00 2 807 1314442.00 +24354.00 2 2117 1314442.00 +9020.00 2 2528 1314442.00 +28864.00 2 4102 1314442.00 +42394.00 2 4452 1314442.00 +11726.00 2 7458 1314442.00 +39688.00 2 27969 1314442.00 +37884.00 2 28900 1314442.00 +9922.00 2 30278 1314442.00 +12628.00 2 30597 1314442.00 +7216.00 2 33058 1314442.00 +41492.00 2 37026 1314442.00 +40590.00 2 37123 1314442.00 +36982.00 2 39809 1314442.00 +36080.00 2 41415 1314442.00 +18942.00 2 42147 1314442.00 +24354.00 2 42533 1314442.00 +41492.00 2 43650 1314442.00 +45100.00 2 44103 1314442.00 +17138.00 2 46913 1314442.00 +31570.00 2 50499 1314442.00 +37884.00 2 54086 1314442.00 +26158.00 2 54436 1314442.00 +4510.00 2 54436 1314442.00 +3608.00 2 54630 1314442.00 +41492.00 2 55136 1314442.00 + +query IIII +select + l_extendedprice, + l_partkey, + l_orderkey, + sum(l_extendedprice) over(order by l_partkey), +from lineitem +order by l_partkey, l_orderkey +---- +29733.00 1 2883 607274.00 +1802.00 1 5121 607274.00 +4505.00 1 6179 607274.00 +29733.00 1 6273 607274.00 +30634.00 1 8645 607274.00 +41446.00 1 12005 607274.00 +36040.00 1 16135 607274.00 +29733.00 1 16198 607274.00 +26129.00 1 20199 607274.00 +24327.00 1 22117 607274.00 +19822.00 1 24866 607274.00 +24327.00 1 26756 607274.00 +9010.00 1 27558 607274.00 +45050.00 1 29859 607274.00 +2703.00 1 34692 607274.00 +11713.00 1 36611 607274.00 +18020.00 1 38051 607274.00 +21624.00 1 42465 607274.00 +36040.00 1 42758 607274.00 +39644.00 1 47620 607274.00 +28832.00 1 50498 607274.00 +12614.00 1 51970 607274.00 +2703.00 1 53189 607274.00 +22525.00 1 53825 607274.00 +21624.00 1 54592 607274.00 +36941.00 1 59202 607274.00 +18942.00 2 548 1314442.00 +17138.00 2 807 1314442.00 +24354.00 2 2117 1314442.00 +9020.00 2 2528 1314442.00 +28864.00 2 4102 1314442.00 +42394.00 2 4452 1314442.00 +11726.00 2 7458 1314442.00 +39688.00 2 27969 1314442.00 +37884.00 2 28900 1314442.00 +9922.00 2 30278 1314442.00 +12628.00 2 30597 1314442.00 +7216.00 2 33058 1314442.00 +41492.00 2 37026 1314442.00 +40590.00 2 37123 1314442.00 +36982.00 2 39809 1314442.00 +36080.00 2 41415 1314442.00 +18942.00 2 42147 1314442.00 +24354.00 2 42533 1314442.00 +41492.00 2 43650 1314442.00 +45100.00 2 44103 1314442.00 +17138.00 2 46913 1314442.00 +31570.00 2 50499 1314442.00 +37884.00 2 54086 1314442.00 +26158.00 2 54436 1314442.00 +4510.00 2 54436 1314442.00 +3608.00 2 54630 1314442.00 +41492.00 2 55136 1314442.00 + +query IIII +select + l_extendedprice, + l_partkey, + l_orderkey, + sum(l_extendedprice) over(order by l_partkey, l_orderkey), +from lineitem +order by l_partkey, l_orderkey +---- +29733.00 1 2883 29733.00 +1802.00 1 5121 31535.00 +4505.00 1 6179 36040.00 +29733.00 1 6273 65773.00 +30634.00 1 8645 96407.00 +41446.00 1 12005 137853.00 +36040.00 1 16135 173893.00 +29733.00 1 16198 203626.00 +26129.00 1 20199 229755.00 +24327.00 1 22117 254082.00 +19822.00 1 24866 273904.00 +24327.00 1 26756 298231.00 +9010.00 1 27558 307241.00 +45050.00 1 29859 352291.00 +2703.00 1 34692 354994.00 +11713.00 1 36611 366707.00 +18020.00 1 38051 384727.00 +21624.00 1 42465 406351.00 +36040.00 1 42758 442391.00 +39644.00 1 47620 482035.00 +28832.00 1 50498 510867.00 +12614.00 1 51970 523481.00 +2703.00 1 53189 526184.00 +22525.00 1 53825 548709.00 +21624.00 1 54592 570333.00 +36941.00 1 59202 607274.00 +18942.00 2 548 626216.00 +17138.00 2 807 643354.00 +24354.00 2 2117 667708.00 +9020.00 2 2528 676728.00 +28864.00 2 4102 705592.00 +42394.00 2 4452 747986.00 +11726.00 2 7458 759712.00 +39688.00 2 27969 799400.00 +37884.00 2 28900 837284.00 +9922.00 2 30278 847206.00 +12628.00 2 30597 859834.00 +7216.00 2 33058 867050.00 +41492.00 2 37026 908542.00 +40590.00 2 37123 949132.00 +36982.00 2 39809 986114.00 +36080.00 2 41415 1022194.00 +18942.00 2 42147 1041136.00 +24354.00 2 42533 1065490.00 +41492.00 2 43650 1106982.00 +45100.00 2 44103 1152082.00 +17138.00 2 46913 1169220.00 +31570.00 2 50499 1200790.00 +37884.00 2 54086 1238674.00 +26158.00 2 54436 1269342.00 +4510.00 2 54436 1269342.00 +3608.00 2 54630 1272950.00 +41492.00 2 55136 1314442.00 + +query IIII +select + l_extendedprice, + l_partkey, + l_orderkey, + sum(l_extendedprice) over(order by l_partkey, l_orderkey desc), +from lineitem +order by l_partkey, l_orderkey +---- +29733.00 1 2883 607274.00 +1802.00 1 5121 577541.00 +4505.00 1 6179 575739.00 +29733.00 1 6273 571234.00 +30634.00 1 8645 541501.00 +41446.00 1 12005 510867.00 +36040.00 1 16135 469421.00 +29733.00 1 16198 433381.00 +26129.00 1 20199 403648.00 +24327.00 1 22117 377519.00 +19822.00 1 24866 353192.00 +24327.00 1 26756 333370.00 +9010.00 1 27558 309043.00 +45050.00 1 29859 300033.00 +2703.00 1 34692 254983.00 +11713.00 1 36611 252280.00 +18020.00 1 38051 240567.00 +21624.00 1 42465 222547.00 +36040.00 1 42758 200923.00 +39644.00 1 47620 164883.00 +28832.00 1 50498 125239.00 +12614.00 1 51970 96407.00 +2703.00 1 53189 83793.00 +22525.00 1 53825 81090.00 +21624.00 1 54592 58565.00 +36941.00 1 59202 36941.00 +18942.00 2 548 1314442.00 +17138.00 2 807 1295500.00 +24354.00 2 2117 1278362.00 +9020.00 2 2528 1254008.00 +28864.00 2 4102 1244988.00 +42394.00 2 4452 1216124.00 +11726.00 2 7458 1173730.00 +39688.00 2 27969 1162004.00 +37884.00 2 28900 1122316.00 +9922.00 2 30278 1084432.00 +12628.00 2 30597 1074510.00 +7216.00 2 33058 1061882.00 +41492.00 2 37026 1054666.00 +40590.00 2 37123 1013174.00 +36982.00 2 39809 972584.00 +36080.00 2 41415 935602.00 +18942.00 2 42147 899522.00 +24354.00 2 42533 880580.00 +41492.00 2 43650 856226.00 +45100.00 2 44103 814734.00 +17138.00 2 46913 769634.00 +31570.00 2 50499 752496.00 +37884.00 2 54086 720926.00 +26158.00 2 54436 683042.00 +4510.00 2 54436 683042.00 +3608.00 2 54630 652374.00 +41492.00 2 55136 648766.00 + +# Combined +query IIIIIII +select + l_extendedprice, + l_partkey, + l_orderkey, + sum(l_extendedprice) over(), + sum(l_extendedprice) over(order by l_partkey), + sum(l_extendedprice) over(order by l_partkey, l_orderkey), + sum(l_extendedprice) over(order by l_partkey, l_orderkey desc), +from lineitem +order by l_partkey, l_orderkey +---- +29733.00 1 2883 1314442.00 607274.00 29733.00 607274.00 +1802.00 1 5121 1314442.00 607274.00 31535.00 577541.00 +4505.00 1 6179 1314442.00 607274.00 36040.00 575739.00 +29733.00 1 6273 1314442.00 607274.00 65773.00 571234.00 +30634.00 1 8645 1314442.00 607274.00 96407.00 541501.00 +41446.00 1 12005 1314442.00 607274.00 137853.00 510867.00 +36040.00 1 16135 1314442.00 607274.00 173893.00 469421.00 +29733.00 1 16198 1314442.00 607274.00 203626.00 433381.00 +26129.00 1 20199 1314442.00 607274.00 229755.00 403648.00 +24327.00 1 22117 1314442.00 607274.00 254082.00 377519.00 +19822.00 1 24866 1314442.00 607274.00 273904.00 353192.00 +24327.00 1 26756 1314442.00 607274.00 298231.00 333370.00 +9010.00 1 27558 1314442.00 607274.00 307241.00 309043.00 +45050.00 1 29859 1314442.00 607274.00 352291.00 300033.00 +2703.00 1 34692 1314442.00 607274.00 354994.00 254983.00 +11713.00 1 36611 1314442.00 607274.00 366707.00 252280.00 +18020.00 1 38051 1314442.00 607274.00 384727.00 240567.00 +21624.00 1 42465 1314442.00 607274.00 406351.00 222547.00 +36040.00 1 42758 1314442.00 607274.00 442391.00 200923.00 +39644.00 1 47620 1314442.00 607274.00 482035.00 164883.00 +28832.00 1 50498 1314442.00 607274.00 510867.00 125239.00 +12614.00 1 51970 1314442.00 607274.00 523481.00 96407.00 +2703.00 1 53189 1314442.00 607274.00 526184.00 83793.00 +22525.00 1 53825 1314442.00 607274.00 548709.00 81090.00 +21624.00 1 54592 1314442.00 607274.00 570333.00 58565.00 +36941.00 1 59202 1314442.00 607274.00 607274.00 36941.00 +18942.00 2 548 1314442.00 1314442.00 626216.00 1314442.00 +17138.00 2 807 1314442.00 1314442.00 643354.00 1295500.00 +24354.00 2 2117 1314442.00 1314442.00 667708.00 1278362.00 +9020.00 2 2528 1314442.00 1314442.00 676728.00 1254008.00 +28864.00 2 4102 1314442.00 1314442.00 705592.00 1244988.00 +42394.00 2 4452 1314442.00 1314442.00 747986.00 1216124.00 +11726.00 2 7458 1314442.00 1314442.00 759712.00 1173730.00 +39688.00 2 27969 1314442.00 1314442.00 799400.00 1162004.00 +37884.00 2 28900 1314442.00 1314442.00 837284.00 1122316.00 +9922.00 2 30278 1314442.00 1314442.00 847206.00 1084432.00 +12628.00 2 30597 1314442.00 1314442.00 859834.00 1074510.00 +7216.00 2 33058 1314442.00 1314442.00 867050.00 1061882.00 +41492.00 2 37026 1314442.00 1314442.00 908542.00 1054666.00 +40590.00 2 37123 1314442.00 1314442.00 949132.00 1013174.00 +36982.00 2 39809 1314442.00 1314442.00 986114.00 972584.00 +36080.00 2 41415 1314442.00 1314442.00 1022194.00 935602.00 +18942.00 2 42147 1314442.00 1314442.00 1041136.00 899522.00 +24354.00 2 42533 1314442.00 1314442.00 1065490.00 880580.00 +41492.00 2 43650 1314442.00 1314442.00 1106982.00 856226.00 +45100.00 2 44103 1314442.00 1314442.00 1152082.00 814734.00 +17138.00 2 46913 1314442.00 1314442.00 1169220.00 769634.00 +31570.00 2 50499 1314442.00 1314442.00 1200790.00 752496.00 +37884.00 2 54086 1314442.00 1314442.00 1238674.00 720926.00 +26158.00 2 54436 1314442.00 1314442.00 1269342.00 683042.00 +4510.00 2 54436 1314442.00 1314442.00 1269342.00 683042.00 +3608.00 2 54630 1314442.00 1314442.00 1272950.00 652374.00 +41492.00 2 55136 1314442.00 1314442.00 1314442.00 648766.00 + +# +# Partitioned +# + +# Single functions +query IIII +select + l_extendedprice, + l_partkey, + l_orderkey, + sum(l_extendedprice) over(partition by l_partkey), +from lineitem +order by l_partkey, l_orderkey +---- +29733.00 1 2883 607274.00 +1802.00 1 5121 607274.00 +4505.00 1 6179 607274.00 +29733.00 1 6273 607274.00 +30634.00 1 8645 607274.00 +41446.00 1 12005 607274.00 +36040.00 1 16135 607274.00 +29733.00 1 16198 607274.00 +26129.00 1 20199 607274.00 +24327.00 1 22117 607274.00 +19822.00 1 24866 607274.00 +24327.00 1 26756 607274.00 +9010.00 1 27558 607274.00 +45050.00 1 29859 607274.00 +2703.00 1 34692 607274.00 +11713.00 1 36611 607274.00 +18020.00 1 38051 607274.00 +21624.00 1 42465 607274.00 +36040.00 1 42758 607274.00 +39644.00 1 47620 607274.00 +28832.00 1 50498 607274.00 +12614.00 1 51970 607274.00 +2703.00 1 53189 607274.00 +22525.00 1 53825 607274.00 +21624.00 1 54592 607274.00 +36941.00 1 59202 607274.00 +18942.00 2 548 707168.00 +17138.00 2 807 707168.00 +24354.00 2 2117 707168.00 +9020.00 2 2528 707168.00 +28864.00 2 4102 707168.00 +42394.00 2 4452 707168.00 +11726.00 2 7458 707168.00 +39688.00 2 27969 707168.00 +37884.00 2 28900 707168.00 +9922.00 2 30278 707168.00 +12628.00 2 30597 707168.00 +7216.00 2 33058 707168.00 +41492.00 2 37026 707168.00 +40590.00 2 37123 707168.00 +36982.00 2 39809 707168.00 +36080.00 2 41415 707168.00 +18942.00 2 42147 707168.00 +24354.00 2 42533 707168.00 +41492.00 2 43650 707168.00 +45100.00 2 44103 707168.00 +17138.00 2 46913 707168.00 +31570.00 2 50499 707168.00 +37884.00 2 54086 707168.00 +26158.00 2 54436 707168.00 +4510.00 2 54436 707168.00 +3608.00 2 54630 707168.00 +41492.00 2 55136 707168.00 + +query IIII +select + l_extendedprice, + l_partkey, + l_orderkey, + sum(l_extendedprice) over(partition by l_partkey order by l_orderkey), +from lineitem +order by l_partkey, l_orderkey +---- +29733.00 1 2883 29733.00 +1802.00 1 5121 31535.00 +4505.00 1 6179 36040.00 +29733.00 1 6273 65773.00 +30634.00 1 8645 96407.00 +41446.00 1 12005 137853.00 +36040.00 1 16135 173893.00 +29733.00 1 16198 203626.00 +26129.00 1 20199 229755.00 +24327.00 1 22117 254082.00 +19822.00 1 24866 273904.00 +24327.00 1 26756 298231.00 +9010.00 1 27558 307241.00 +45050.00 1 29859 352291.00 +2703.00 1 34692 354994.00 +11713.00 1 36611 366707.00 +18020.00 1 38051 384727.00 +21624.00 1 42465 406351.00 +36040.00 1 42758 442391.00 +39644.00 1 47620 482035.00 +28832.00 1 50498 510867.00 +12614.00 1 51970 523481.00 +2703.00 1 53189 526184.00 +22525.00 1 53825 548709.00 +21624.00 1 54592 570333.00 +36941.00 1 59202 607274.00 +18942.00 2 548 18942.00 +17138.00 2 807 36080.00 +24354.00 2 2117 60434.00 +9020.00 2 2528 69454.00 +28864.00 2 4102 98318.00 +42394.00 2 4452 140712.00 +11726.00 2 7458 152438.00 +39688.00 2 27969 192126.00 +37884.00 2 28900 230010.00 +9922.00 2 30278 239932.00 +12628.00 2 30597 252560.00 +7216.00 2 33058 259776.00 +41492.00 2 37026 301268.00 +40590.00 2 37123 341858.00 +36982.00 2 39809 378840.00 +36080.00 2 41415 414920.00 +18942.00 2 42147 433862.00 +24354.00 2 42533 458216.00 +41492.00 2 43650 499708.00 +45100.00 2 44103 544808.00 +17138.00 2 46913 561946.00 +31570.00 2 50499 593516.00 +37884.00 2 54086 631400.00 +26158.00 2 54436 662068.00 +4510.00 2 54436 662068.00 +3608.00 2 54630 665676.00 +41492.00 2 55136 707168.00 + +query IIII +select + l_extendedprice, + l_partkey, + l_orderkey, + sum(l_extendedprice) over(partition by l_partkey order by l_orderkey desc), +from lineitem +order by l_partkey, l_orderkey +---- +29733.00 1 2883 607274.00 +1802.00 1 5121 577541.00 +4505.00 1 6179 575739.00 +29733.00 1 6273 571234.00 +30634.00 1 8645 541501.00 +41446.00 1 12005 510867.00 +36040.00 1 16135 469421.00 +29733.00 1 16198 433381.00 +26129.00 1 20199 403648.00 +24327.00 1 22117 377519.00 +19822.00 1 24866 353192.00 +24327.00 1 26756 333370.00 +9010.00 1 27558 309043.00 +45050.00 1 29859 300033.00 +2703.00 1 34692 254983.00 +11713.00 1 36611 252280.00 +18020.00 1 38051 240567.00 +21624.00 1 42465 222547.00 +36040.00 1 42758 200923.00 +39644.00 1 47620 164883.00 +28832.00 1 50498 125239.00 +12614.00 1 51970 96407.00 +2703.00 1 53189 83793.00 +22525.00 1 53825 81090.00 +21624.00 1 54592 58565.00 +36941.00 1 59202 36941.00 +18942.00 2 548 707168.00 +17138.00 2 807 688226.00 +24354.00 2 2117 671088.00 +9020.00 2 2528 646734.00 +28864.00 2 4102 637714.00 +42394.00 2 4452 608850.00 +11726.00 2 7458 566456.00 +39688.00 2 27969 554730.00 +37884.00 2 28900 515042.00 +9922.00 2 30278 477158.00 +12628.00 2 30597 467236.00 +7216.00 2 33058 454608.00 +41492.00 2 37026 447392.00 +40590.00 2 37123 405900.00 +36982.00 2 39809 365310.00 +36080.00 2 41415 328328.00 +18942.00 2 42147 292248.00 +24354.00 2 42533 273306.00 +41492.00 2 43650 248952.00 +45100.00 2 44103 207460.00 +17138.00 2 46913 162360.00 +31570.00 2 50499 145222.00 +37884.00 2 54086 113652.00 +26158.00 2 54436 75768.00 +4510.00 2 54436 75768.00 +3608.00 2 54630 45100.00 +41492.00 2 55136 41492.00 + +# Combined +query IIIIII +select + l_extendedprice, + l_partkey, + l_orderkey, + sum(l_extendedprice) over(partition by l_partkey), + sum(l_extendedprice) over(partition by l_partkey order by l_orderkey), + sum(l_extendedprice) over(partition by l_partkey order by l_orderkey desc), +from lineitem +order by l_partkey, l_orderkey +---- +29733.00 1 2883 607274.00 29733.00 607274.00 +1802.00 1 5121 607274.00 31535.00 577541.00 +4505.00 1 6179 607274.00 36040.00 575739.00 +29733.00 1 6273 607274.00 65773.00 571234.00 +30634.00 1 8645 607274.00 96407.00 541501.00 +41446.00 1 12005 607274.00 137853.00 510867.00 +36040.00 1 16135 607274.00 173893.00 469421.00 +29733.00 1 16198 607274.00 203626.00 433381.00 +26129.00 1 20199 607274.00 229755.00 403648.00 +24327.00 1 22117 607274.00 254082.00 377519.00 +19822.00 1 24866 607274.00 273904.00 353192.00 +24327.00 1 26756 607274.00 298231.00 333370.00 +9010.00 1 27558 607274.00 307241.00 309043.00 +45050.00 1 29859 607274.00 352291.00 300033.00 +2703.00 1 34692 607274.00 354994.00 254983.00 +11713.00 1 36611 607274.00 366707.00 252280.00 +18020.00 1 38051 607274.00 384727.00 240567.00 +21624.00 1 42465 607274.00 406351.00 222547.00 +36040.00 1 42758 607274.00 442391.00 200923.00 +39644.00 1 47620 607274.00 482035.00 164883.00 +28832.00 1 50498 607274.00 510867.00 125239.00 +12614.00 1 51970 607274.00 523481.00 96407.00 +2703.00 1 53189 607274.00 526184.00 83793.00 +22525.00 1 53825 607274.00 548709.00 81090.00 +21624.00 1 54592 607274.00 570333.00 58565.00 +36941.00 1 59202 607274.00 607274.00 36941.00 +18942.00 2 548 707168.00 18942.00 707168.00 +17138.00 2 807 707168.00 36080.00 688226.00 +24354.00 2 2117 707168.00 60434.00 671088.00 +9020.00 2 2528 707168.00 69454.00 646734.00 +28864.00 2 4102 707168.00 98318.00 637714.00 +42394.00 2 4452 707168.00 140712.00 608850.00 +11726.00 2 7458 707168.00 152438.00 566456.00 +39688.00 2 27969 707168.00 192126.00 554730.00 +37884.00 2 28900 707168.00 230010.00 515042.00 +9922.00 2 30278 707168.00 239932.00 477158.00 +12628.00 2 30597 707168.00 252560.00 467236.00 +7216.00 2 33058 707168.00 259776.00 454608.00 +41492.00 2 37026 707168.00 301268.00 447392.00 +40590.00 2 37123 707168.00 341858.00 405900.00 +36982.00 2 39809 707168.00 378840.00 365310.00 +36080.00 2 41415 707168.00 414920.00 328328.00 +18942.00 2 42147 707168.00 433862.00 292248.00 +24354.00 2 42533 707168.00 458216.00 273306.00 +41492.00 2 43650 707168.00 499708.00 248952.00 +45100.00 2 44103 707168.00 544808.00 207460.00 +17138.00 2 46913 707168.00 561946.00 162360.00 +31570.00 2 50499 707168.00 593516.00 145222.00 +37884.00 2 54086 707168.00 631400.00 113652.00 +26158.00 2 54436 707168.00 662068.00 75768.00 +4510.00 2 54436 707168.00 662068.00 75768.00 +3608.00 2 54630 707168.00 665676.00 45100.00 +41492.00 2 55136 707168.00 707168.00 41492.00 + +# +# Mixing partitioned and unpartitioned +# +query IIIIIII +select + l_extendedprice, + l_partkey, + l_orderkey, + sum(l_extendedprice) over(), + sum(l_extendedprice) over(order by l_partkey), + sum(l_extendedprice) over(order by l_partkey, l_orderkey), + sum(l_extendedprice) over(partition by l_partkey order by l_orderkey desc), +from lineitem +order by l_partkey, l_orderkey +---- +29733.00 1 2883 1314442.00 607274.00 29733.00 607274.00 +1802.00 1 5121 1314442.00 607274.00 31535.00 577541.00 +4505.00 1 6179 1314442.00 607274.00 36040.00 575739.00 +29733.00 1 6273 1314442.00 607274.00 65773.00 571234.00 +30634.00 1 8645 1314442.00 607274.00 96407.00 541501.00 +41446.00 1 12005 1314442.00 607274.00 137853.00 510867.00 +36040.00 1 16135 1314442.00 607274.00 173893.00 469421.00 +29733.00 1 16198 1314442.00 607274.00 203626.00 433381.00 +26129.00 1 20199 1314442.00 607274.00 229755.00 403648.00 +24327.00 1 22117 1314442.00 607274.00 254082.00 377519.00 +19822.00 1 24866 1314442.00 607274.00 273904.00 353192.00 +24327.00 1 26756 1314442.00 607274.00 298231.00 333370.00 +9010.00 1 27558 1314442.00 607274.00 307241.00 309043.00 +45050.00 1 29859 1314442.00 607274.00 352291.00 300033.00 +2703.00 1 34692 1314442.00 607274.00 354994.00 254983.00 +11713.00 1 36611 1314442.00 607274.00 366707.00 252280.00 +18020.00 1 38051 1314442.00 607274.00 384727.00 240567.00 +21624.00 1 42465 1314442.00 607274.00 406351.00 222547.00 +36040.00 1 42758 1314442.00 607274.00 442391.00 200923.00 +39644.00 1 47620 1314442.00 607274.00 482035.00 164883.00 +28832.00 1 50498 1314442.00 607274.00 510867.00 125239.00 +12614.00 1 51970 1314442.00 607274.00 523481.00 96407.00 +2703.00 1 53189 1314442.00 607274.00 526184.00 83793.00 +22525.00 1 53825 1314442.00 607274.00 548709.00 81090.00 +21624.00 1 54592 1314442.00 607274.00 570333.00 58565.00 +36941.00 1 59202 1314442.00 607274.00 607274.00 36941.00 +18942.00 2 548 1314442.00 1314442.00 626216.00 707168.00 +17138.00 2 807 1314442.00 1314442.00 643354.00 688226.00 +24354.00 2 2117 1314442.00 1314442.00 667708.00 671088.00 +9020.00 2 2528 1314442.00 1314442.00 676728.00 646734.00 +28864.00 2 4102 1314442.00 1314442.00 705592.00 637714.00 +42394.00 2 4452 1314442.00 1314442.00 747986.00 608850.00 +11726.00 2 7458 1314442.00 1314442.00 759712.00 566456.00 +39688.00 2 27969 1314442.00 1314442.00 799400.00 554730.00 +37884.00 2 28900 1314442.00 1314442.00 837284.00 515042.00 +9922.00 2 30278 1314442.00 1314442.00 847206.00 477158.00 +12628.00 2 30597 1314442.00 1314442.00 859834.00 467236.00 +7216.00 2 33058 1314442.00 1314442.00 867050.00 454608.00 +41492.00 2 37026 1314442.00 1314442.00 908542.00 447392.00 +40590.00 2 37123 1314442.00 1314442.00 949132.00 405900.00 +36982.00 2 39809 1314442.00 1314442.00 986114.00 365310.00 +36080.00 2 41415 1314442.00 1314442.00 1022194.00 328328.00 +18942.00 2 42147 1314442.00 1314442.00 1041136.00 292248.00 +24354.00 2 42533 1314442.00 1314442.00 1065490.00 273306.00 +41492.00 2 43650 1314442.00 1314442.00 1106982.00 248952.00 +45100.00 2 44103 1314442.00 1314442.00 1152082.00 207460.00 +17138.00 2 46913 1314442.00 1314442.00 1169220.00 162360.00 +31570.00 2 50499 1314442.00 1314442.00 1200790.00 145222.00 +37884.00 2 54086 1314442.00 1314442.00 1238674.00 113652.00 +26158.00 2 54436 1314442.00 1314442.00 1269342.00 75768.00 +4510.00 2 54436 1314442.00 1314442.00 1269342.00 75768.00 +3608.00 2 54630 1314442.00 1314442.00 1272950.00 45100.00 +41492.00 2 55136 1314442.00 1314442.00 1314442.00 41492.00 diff --git a/test/sql/window/test_window_range.test b/test/sql/window/test_window_range.test index a014c335a5a5..ea7bc463acf6 100644 --- a/test/sql/window/test_window_range.test +++ b/test/sql/window/test_window_range.test @@ -16,9 +16,11 @@ INSERT INTO t1 VALUES # Binding errors statement error SELECT CAST(a AS INTEGER), sum(b) OVER win FROM t1 WINDOW win AS ( ORDER BY a, b RANGE BETWEEN 5 PRECEDING AND 5 FOLLOWING ) +---- statement error SELECT CAST(a AS INTEGER), sum(b) OVER win FROM t1 WINDOW win AS ( ORDER BY a RANGE BETWEEN 'a' PRECEDING AND 'a' FOLLOWING ) +---- # Numeric type coverage foreach type @@ -74,14 +76,14 @@ SELECT a, sum(b) OVER win FROM c1 WINDOW win AS ( ORDER BY a RANGE BETWEEN interval 5 days PRECEDING AND interval 5 days FOLLOWING ) ---- -2021-08-02 30 -2021-08-07 112 -2021-08-10 102 -2021-08-10 102 -2021-08-12 142 -2021-08-17 150 -2021-08-19 120 -2021-08-27 90 +2021-08-02 00:00:00 30 +2021-08-07 00:00:00 112 +2021-08-10 00:00:00 102 +2021-08-10 00:00:00 102 +2021-08-12 00:00:00 142 +2021-08-17 00:00:00 150 +2021-08-19 00:00:00 120 +2021-08-27 00:00:00 90 statement ok DROP VIEW c1; @@ -106,6 +108,43 @@ WINDOW win AS ( ORDER BY a statement ok DROP VIEW c1; +# Time types will wrap unless we bind the ordering as epoch + time +statement ok +CREATE TABLE t_time(t TIME); + +statement ok +INSERT INTO t_time VALUES + ('12:30:00'), + ('22:30:00'), + ('13:30:00'), + ('01:30:00'), + ('15:30:00'), + ('20:30:00'), + ('04:30:00'), + ('06:30:00'), + ('18:30:00'), + ('21:30:00'), + ('00:30:00'), + ('00:31:00'); + +query II +SELECT t, FIRST_VALUE(t) OVER w AS fv +FROM t_time +WINDOW w AS (ORDER BY t RANGE INTERVAL 2 HOUR PRECEDING); +---- +00:30:00 00:30:00 +00:31:00 00:30:00 +01:30:00 00:30:00 +04:30:00 04:30:00 +06:30:00 04:30:00 +12:30:00 12:30:00 +13:30:00 12:30:00 +15:30:00 13:30:00 +18:30:00 18:30:00 +20:30:00 18:30:00 +21:30:00 20:30:00 +22:30:00 20:30:00 + # Invalid type coverage foreach type boolean varchar @@ -114,6 +153,7 @@ CREATE VIEW c1 AS SELECT a::${type} AS a, b FROM t1; statement error SELECT a, sum(b) OVER win FROM c1 WINDOW win AS ( ORDER BY a RANGE BETWEEN 5 PRECEDING AND 5 FOLLOWING ) +---- statement ok DROP VIEW c1; @@ -1049,8 +1089,7 @@ SELECT max(a) OVER ( ORDER BY (SELECT sum(a) FROM t1) ) + min(a) OVER() ) FROM t1 -#---- -#NULL +---- #========================================================================== diff --git a/test/sql/window/test_window_string_agg.test b/test/sql/window/test_window_string_agg.test index f7e7d3d53333..af19e7aa6118 100644 --- a/test/sql/window/test_window_string_agg.test +++ b/test/sql/window/test_window_string_agg.test @@ -33,3 +33,4 @@ select j, s, string_agg(s, '|') over (partition by j order by s) from a order by # different separator per group statement error select j, s, string_agg(s, sep) over (partition by j order by s) from a order by j, s; +---- diff --git a/test/sql/window/test_window_walmart.test_slow b/test/sql/window/test_window_walmart.test_slow index d6450d93cccf..ffb739fbc327 100644 --- a/test/sql/window/test_window_walmart.test_slow +++ b/test/sql/window/test_window_walmart.test_slow @@ -58,4 +58,4 @@ statement ok lag(Weekly_Sales, 9) OVER(PARTITION BY "Store", "Dept" ORDER BY "Date" ASC) AS Lag_9, lag(Weekly_Sales, 10) OVER(PARTITION BY "Store", "Dept" ORDER BY "Date" ASC) AS Lag_10 FROM - data; \ No newline at end of file + data; diff --git a/test/sql/window/test_window_wide_frame.test_slow b/test/sql/window/test_window_wide_frame.test_slow index 60ff21f30d17..a9907fce83e9 100644 --- a/test/sql/window/test_window_wide_frame.test_slow +++ b/test/sql/window/test_window_wide_frame.test_slow @@ -25,4 +25,4 @@ window w as (order by timestamp asc range between interval 55 seconds preceding order by 3 desc limit 1; ---- -2020-10-15 16:58:11 50.000000 3394 +2020-10-15 16:58:10.318385 50.000000 3363 diff --git a/test/sql/window/test_window_wisconsin.test b/test/sql/window/test_window_wisconsin.test index fa701b12464c..06884cb86325 100644 --- a/test/sql/window/test_window_wisconsin.test +++ b/test/sql/window/test_window_wisconsin.test @@ -244,6 +244,7 @@ SELECT lag(ten, four, 0) OVER (PARTITION BY four ORDER BY ten) lt FROM tenk1 ord statement error SELECT lag(ten, four, 0, 0) OVER (PARTITION BY four ORDER BY ten) lt FROM tenk1 order by four, ten, lt +---- query I SELECT lead(ten) OVER (PARTITION BY four ORDER BY ten) lt FROM tenk1 order by four, ten, lt diff --git a/test/sql/window/window_rolling_summation.test_slow b/test/sql/window/window_rolling_summation.test_slow index cb599c8db0ca..d857ccd7b221 100644 --- a/test/sql/window/window_rolling_summation.test_slow +++ b/test/sql/window/window_rolling_summation.test_slow @@ -32,4 +32,4 @@ ORDER BY x; 899 899 1797 1797 1 900 900 1799 1799 1 901 901 1801 1801 1 -902 902 1803 1803 1 \ No newline at end of file +902 902 1803 1803 1 diff --git a/test/sqlite/result_helper.cpp b/test/sqlite/result_helper.cpp index bdf13b72ccc7..b30d7b90ca55 100644 --- a/test/sqlite/result_helper.cpp +++ b/test/sqlite/result_helper.cpp @@ -256,8 +256,12 @@ bool TestResultHelper::CheckStatementResult(const Statement &statement, ExecuteC // internal errors are never expected // neither are "unoptimized result differs from original result" errors - bool internal_error = - result.HasError() ? TestIsInternalError(runner.always_fail_error_messages, result.GetError()) : false; + bool internal_error = false; + if (result.HasError()) { + if (TestIsInternalError(runner.always_fail_error_messages, result.GetError())) { + internal_error = true; + } + } if (!internal_error) { if (expected_result == ExpectedResult::RESULT_UNKNOWN) { error = false; @@ -304,8 +308,8 @@ vector TestResultHelper::LoadResultFromFile(string fname, vector } struct_definition += ")"; - auto csv_result = - con.Query("SELECT * FROM read_csv('" + fname + "', header=1, sep='|', columns=" + struct_definition + ")"); + auto csv_result = con.Query("SELECT * FROM read_csv('" + fname + + "', header=1, sep='|', columns=" + struct_definition + ", auto_detect=false)"); if (csv_result->HasError()) { error = StringUtil::Format("Could not read CSV File \"%s\": %s", fname, csv_result->GetError()); return vector(); diff --git a/test/sqlite/sqllogic_command.cpp b/test/sqlite/sqllogic_command.cpp index 6dbfd2860e07..b9f64b5f407a 100644 --- a/test/sqlite/sqllogic_command.cpp +++ b/test/sqlite/sqllogic_command.cpp @@ -10,6 +10,8 @@ #include "catch.hpp" #include #include +#include "duckdb/main/stream_query_result.hpp" +#include namespace duckdb { @@ -88,8 +90,19 @@ unique_ptr Command::ExecuteQuery(ExecuteContext &contex if (TestForceReload() && TestForceStorage()) { RestartDatabase(context, connection, context.sql_query); } - +#ifdef DUCKDB_ALTERNATIVE_VERIFY + auto ccontext = connection->context; + auto result = ccontext->Query(context.sql_query, true); + if (result->type == QueryResultType::STREAM_RESULT) { + auto &stream_result = result->Cast(); + return stream_result.Materialize(); + } else { + D_ASSERT(result->type == QueryResultType::MATERIALIZED_RESULT); + return unique_ptr_cast(std::move(result)); + } +#else return connection->Query(context.sql_query); +#endif } void Command::Execute(ExecuteContext &context) const { @@ -123,6 +136,14 @@ LoopCommand::LoopCommand(SQLLogicTestRunner &runner, LoopDefinition definition_p : Command(runner), definition(std::move(definition_p)) { } +ModeCommand::ModeCommand(SQLLogicTestRunner &runner, string parameter_p) + : Command(runner), parameter(std::move(parameter_p)) { +} + +SleepCommand::SleepCommand(SQLLogicTestRunner &runner, idx_t duration, SleepUnit unit) + : Command(runner), duration(duration), unit(unit) { +} + struct ParallelExecuteContext { ParallelExecuteContext(SQLLogicTestRunner &runner, const vector> &loop_commands, LoopDefinition definition) @@ -173,8 +194,10 @@ void LoopCommand::ExecuteInternal(ExecuteContext &context) const { LoopDefinition loop_def = definition; loop_def.loop_idx = definition.loop_start; if (loop_def.is_parallel) { - if (context.is_parallel || !context.running_loops.empty()) { - throw std::runtime_error("Nested parallel loop commands not allowed"); + for (auto &running_loop : context.running_loops) { + if (running_loop.is_parallel) { + throw std::runtime_error("Nested parallel loop commands not allowed"); + } } // parallel loop: launch threads std::list contexts; @@ -284,6 +307,54 @@ void ReconnectCommand::ExecuteInternal(ExecuteContext &context) const { runner.Reconnect(); } +void ModeCommand::ExecuteInternal(ExecuteContext &context) const { + if (parameter == "output_hash") { + runner.output_hash_mode = true; + } else if (parameter == "output_result") { + runner.output_result_mode = true; + } else if (parameter == "no_output") { + runner.output_hash_mode = false; + runner.output_result_mode = false; + } else if (parameter == "debug") { + runner.debug_mode = true; + } else { + throw std::runtime_error("unrecognized mode: " + parameter); + } +} + +void SleepCommand::ExecuteInternal(ExecuteContext &context) const { + switch (unit) { + case SleepUnit::NANOSECOND: + std::this_thread::sleep_for(std::chrono::duration(duration)); + break; + case SleepUnit::MICROSECOND: + std::this_thread::sleep_for(std::chrono::duration(duration)); + break; + case SleepUnit::MILLISECOND: + std::this_thread::sleep_for(std::chrono::duration(duration)); + break; + case SleepUnit::SECOND: + std::this_thread::sleep_for(std::chrono::duration(duration * 1000)); + break; + default: + throw std::runtime_error("Unrecognized sleep unit"); + } +} + +SleepUnit SleepCommand::ParseUnit(const string &unit) { + if (unit == "second" || unit == "seconds" || unit == "sec") { + return SleepUnit::SECOND; + } else if (unit == "millisecond" || unit == "milliseconds" || unit == "milli") { + return SleepUnit::MILLISECOND; + } else if (unit == "microsecond" || unit == "microseconds" || unit == "micro") { + return SleepUnit::MICROSECOND; + } else if (unit == "nanosecond" || unit == "nanoseconds" || unit == "nano") { + return SleepUnit::NANOSECOND; + } else { + throw std::runtime_error("Unrecognized sleep mode - expected second/millisecond/microescond/nanosecond"); + } +} + void Statement::ExecuteInternal(ExecuteContext &context) const { auto connection = CommandConnection(context); diff --git a/test/sqlite/sqllogic_command.hpp b/test/sqlite/sqllogic_command.hpp index 404be1f99559..0f45d8aa2755 100644 --- a/test/sqlite/sqllogic_command.hpp +++ b/test/sqlite/sqllogic_command.hpp @@ -116,4 +116,30 @@ class LoopCommand : public Command { void ExecuteInternal(ExecuteContext &context) const override; }; +class ModeCommand : public Command { +public: + ModeCommand(SQLLogicTestRunner &runner, string parameter); + +public: + string parameter; + + void ExecuteInternal(ExecuteContext &context) const override; +}; + +enum class SleepUnit : uint8_t { NANOSECOND, MICROSECOND, MILLISECOND, SECOND }; + +class SleepCommand : public Command { +public: + SleepCommand(SQLLogicTestRunner &runner, idx_t duration, SleepUnit unit); + +public: + void ExecuteInternal(ExecuteContext &context) const override; + + static SleepUnit ParseUnit(const string &unit); + +private: + idx_t duration; + SleepUnit unit; +}; + } // namespace duckdb diff --git a/test/sqlite/sqllogic_parser.cpp b/test/sqlite/sqllogic_parser.cpp index 07891b7968b8..8cccc18ff64e 100644 --- a/test/sqlite/sqllogic_parser.cpp +++ b/test/sqlite/sqllogic_parser.cpp @@ -87,9 +87,12 @@ vector SQLLogicParser::ExtractExpectedResult() { return result; } -string SQLLogicParser::ExtractExpectedError(bool expect_ok) { +string SQLLogicParser::ExtractExpectedError(bool expect_ok, bool original_sqlite_test) { // check if there is an expected error at all if (current_line >= lines.size() || lines[current_line] != "----") { + if (!expect_ok && !original_sqlite_test) { + Fail("Failed to parse statement: statement error needs to have an expected error message"); + } return string(); } if (expect_ok) { @@ -162,6 +165,7 @@ bool SQLLogicParser::IsSingleLineStatement(SQLLogicToken &token) { case SQLLogicTokenType::SQLLOGIC_LOAD: case SQLLogicTokenType::SQLLOGIC_RESTART: case SQLLogicTokenType::SQLLOGIC_RECONNECT: + case SQLLogicTokenType::SQLLOGIC_SLEEP: return true; case SQLLogicTokenType::SQLLOGIC_SKIP_IF: @@ -213,6 +217,8 @@ SQLLogicTokenType SQLLogicParser::CommandToToken(const string &token) { return SQLLogicTokenType::SQLLOGIC_RESTART; } else if (token == "reconnect") { return SQLLogicTokenType::SQLLOGIC_RECONNECT; + } else if (token == "sleep") { + return SQLLogicTokenType::SQLLOGIC_SLEEP; } Fail("Unrecognized parameter %s", token); return SQLLogicTokenType::SQLLOGIC_INVALID; diff --git a/test/sqlite/sqllogic_parser.hpp b/test/sqlite/sqllogic_parser.hpp index 37bd39785479..af32e943c509 100644 --- a/test/sqlite/sqllogic_parser.hpp +++ b/test/sqlite/sqllogic_parser.hpp @@ -33,7 +33,8 @@ enum class SQLLogicTokenType { SQLLOGIC_REQUIRE_ENV, SQLLOGIC_LOAD, SQLLOGIC_RESTART, - SQLLOGIC_RECONNECT + SQLLOGIC_RECONNECT, + SQLLOGIC_SLEEP }; class SQLLogicToken { @@ -80,7 +81,7 @@ class SQLLogicParser { vector ExtractExpectedResult(); //! Extract the expected error (in case of statement error) - string ExtractExpectedError(bool expect_ok); + string ExtractExpectedError(bool expect_ok, bool original_sqlite_test); //! Tokenize the current line SQLLogicToken Tokenize(); diff --git a/test/sqlite/sqllogic_test_runner.cpp b/test/sqlite/sqllogic_test_runner.cpp index 8b257ffa844e..76f44e32aedf 100644 --- a/test/sqlite/sqllogic_test_runner.cpp +++ b/test/sqlite/sqllogic_test_runner.cpp @@ -15,6 +15,7 @@ namespace duckdb { SQLLogicTestRunner::SQLLogicTestRunner(string dbpath) : dbpath(std::move(dbpath)), finished_processing_file(false) { config = GetTestConfig(); + config->options.allow_unredacted_secrets = true; auto env_var = std::getenv("LOCAL_EXTENSION_REPO"); if (!env_var) { @@ -52,10 +53,6 @@ void SQLLogicTestRunner::StartLoop(LoopDefinition definition) { auto loop = make_uniq(*this, std::move(definition)); auto loop_ptr = loop.get(); if (InLoop()) { - // already in a loop: add it to the currently active loop - if (definition.is_parallel) { - throw std::runtime_error("concurrent loop must be the outer-most loop!"); - } active_loops.back()->loop_commands.push_back(std::move(loop)); } else { // not in a loop yet: new top-level loop @@ -181,6 +178,7 @@ bool SQLLogicTestRunner::ForEachTokenReplace(const string ¶meter, vector ¶ms) { + if (params.size() < 1) { + parser.Fail("require requires a single parameter"); + } + // require command + string param = StringUtil::Lower(params[0]); + // os specific stuff + if (param == "notmingw") { +#ifdef __MINGW32__ + return RequireResult::MISSING; +#else + return RequireResult::PRESENT; +#endif + } + + if (param == "mingw") { +#ifndef __MINGW32__ + return RequireResult::MISSING; +#else + return RequireResult::PRESENT; +#endif + } + + if (param == "notwindows") { +#ifdef _WIN32 + return RequireResult::MISSING; +#else + return RequireResult::PRESENT; +#endif + } + + if (param == "windows") { +#ifndef _WIN32 + return RequireResult::MISSING; +#else + return RequireResult::PRESENT; +#endif + } + + if (param == "longdouble") { +#if LDBL_MANT_DIG < 54 + return RequireResult::MISSING; +#else + return RequireResult::PRESENT; +#endif + } + + if (param == "64bit") { + if (sizeof(void *) != 8) { + return RequireResult::MISSING; + } + return RequireResult::PRESENT; + } + + if (param == "noforcestorage") { + if (TestForceStorage()) { + return RequireResult::MISSING; + } + return RequireResult::PRESENT; + } + + if (param == "nothreadsan") { +#ifdef DUCKDB_THREAD_SANITIZER + return RequireResult::MISSING; +#else + return RequireResult::PRESENT; +#endif + } + + if (param == "strinline") { +#ifdef DUCKDB_DEBUG_NO_INLINE + return RequireResult::MISSING; +#else + return RequireResult::PRESENT; +#endif + } + + if (param == "vector_size") { + if (params.size() != 2) { + parser.Fail("require vector_size requires a parameter"); + } + // require a specific vector size + auto required_vector_size = std::stoi(params[1]); + if (STANDARD_VECTOR_SIZE < required_vector_size) { + // vector size is too low for this test: skip it + return RequireResult::MISSING; + } + return RequireResult::PRESENT; + } + + if (param == "exact_vector_size") { + if (params.size() != 2) { + parser.Fail("require exact_vector_size requires a parameter"); + } + // require an exact vector size + auto required_vector_size = std::stoi(params[1]); + if (STANDARD_VECTOR_SIZE != required_vector_size) { + // vector size does not match the required vector size: skip it + return RequireResult::MISSING; + } + return RequireResult::PRESENT; + } + + if (param == "block_size") { + if (params.size() != 2) { + parser.Fail("require block_size requires a parameter"); + } + // require a specific block size + auto required_block_size = std::stoi(params[1]); + if (Storage::BLOCK_ALLOC_SIZE != required_block_size) { + // block size does not match the required block size: skip it + return RequireResult::MISSING; + } + return RequireResult::PRESENT; + } + + if (param == "skip_reload") { + skip_reload = true; + return RequireResult::PRESENT; + } + + if (param == "noalternativeverify") { +#ifdef DUCKDB_ALTERNATIVE_VERIFY + return RequireResult::MISSING; +#else + return RequireResult::PRESENT; +#endif + } + + if (param == "no_extension_autoloading") { + if (config->options.autoload_known_extensions) { + // If autoloading is on, we skip this test + return RequireResult::MISSING; + } + return RequireResult::PRESENT; + } + + bool excluded_from_autoloading = true; + for (const auto &ext : AUTOLOADABLE_EXTENSIONS) { + if (ext == param) { + excluded_from_autoloading = false; + break; + } + } + + if (!config->options.autoload_known_extensions) { + auto result = ExtensionHelper::LoadExtension(*db, param); + if (result == ExtensionLoadResult::LOADED_EXTENSION) { + // add the extension to the list of loaded extensions + extensions.insert(param); + } else if (result == ExtensionLoadResult::EXTENSION_UNKNOWN) { + parser.Fail("unknown extension type: %s", params[0]); + } else if (result == ExtensionLoadResult::NOT_LOADED) { + // extension known but not build: skip this test + return RequireResult::MISSING; + } + } else if (excluded_from_autoloading) { + return RequireResult::MISSING; + } + return RequireResult::PRESENT; +} + void SQLLogicTestRunner::ExecuteFile(string script) { SQLLogicParser parser; idx_t skip_level = 0; @@ -300,8 +460,8 @@ void SQLLogicTestRunner::ExecuteFile(string script) { if (statement_text.empty()) { parser.Fail("Unexpected empty statement text"); } - command->expected_error = - parser.ExtractExpectedError(command->expected_result == ExpectedResult::RESULT_SUCCESS); + command->expected_error = parser.ExtractExpectedError( + command->expected_result == ExpectedResult::RESULT_SUCCESS, original_sqlite_test); // perform any renames in the text command->base_sql_query = ReplaceKeywords(std::move(statement_text)); @@ -386,18 +546,14 @@ void SQLLogicTestRunner::ExecuteFile(string script) { if (token.parameters.size() != 1) { parser.Fail("mode requires one parameter"); } - if (token.parameters[0] == "output_hash") { - output_hash_mode = true; - } else if (token.parameters[0] == "output_result") { - output_result_mode = true; - } else if (token.parameters[0] == "debug") { - debug_mode = true; - } else if (token.parameters[0] == "skip") { + string parameter = token.parameters[0]; + if (parameter == "skip") { skip_level++; - } else if (token.parameters[0] == "unskip") { + } else if (parameter == "unskip") { skip_level--; } else { - parser.Fail("unrecognized mode: %s", token.parameters[0]); + auto command = make_uniq(*this, std::move(parameter)); + ExecuteCommand(std::move(command)); } } else if (token.type == SQLLogicTokenType::SQLLOGIC_SET) { if (token.parameters.size() < 1) { @@ -479,91 +635,14 @@ void SQLLogicTestRunner::ExecuteFile(string script) { } else if (token.type == SQLLogicTokenType::SQLLOGIC_ENDLOOP) { EndLoop(); } else if (token.type == SQLLogicTokenType::SQLLOGIC_REQUIRE) { - if (token.parameters.size() < 1) { - parser.Fail("require requires a single parameter"); - } - // require command - string param = StringUtil::Lower(token.parameters[0]); - // os specific stuff - if (param == "notmingw") { -#ifdef __MINGW32__ - return; -#endif - } else if (param == "mingw") { -#ifndef __MINGW32__ - return; -#endif - } else if (param == "notwindows") { -#ifdef _WIN32 - return; -#endif - } else if (param == "windows") { -#ifndef _WIN32 - return; -#endif - } else if (param == "longdouble") { -#if LDBL_MANT_DIG < 54 - return; -#endif - } else if (param == "64bit") { - if (sizeof(void *) != 8) { - return; - } - } else if (param == "noforcestorage") { - if (TestForceStorage()) { - return; - } - } else if (param == "nothreadsan") { -#ifdef DUCKDB_THREAD_SANITIZER - return; -#endif - } else if (param == "strinline") { -#ifdef DUCKDB_DEBUG_NO_INLINE - return; -#endif - } else if (param == "vector_size") { - if (token.parameters.size() != 2) { - parser.Fail("require vector_size requires a parameter"); - } - // require a specific vector size - auto required_vector_size = std::stoi(token.parameters[1]); - if (STANDARD_VECTOR_SIZE < required_vector_size) { - // vector size is too low for this test: skip it - return; + auto require_result = CheckRequire(parser, token.parameters); + if (require_result == RequireResult::MISSING) { + auto ¶m = token.parameters[0]; + if (IsRequired(param)) { + // This extension / setting was explicitly required + parser.Fail(StringUtil::Format("require %s: FAILED", param)); } - } else if (param == "skip_reload") { - skip_reload = true; - } else if (param == "noalternativeverify") { -#ifdef DUCKDB_ALTERNATIVE_VERIFY return; -#endif - } else if (param == "no_extension_autoloading") { - if (config->options.autoload_known_extensions) { - return; - } - } else { - bool excluded_from_autoloading = true; - for (const auto &ext : AUTOLOADABLE_EXTENSIONS) { - if (ext == param) { - excluded_from_autoloading = false; - break; - } - } - - if (!config->options.autoload_known_extensions) { - auto result = ExtensionHelper::LoadExtension(*db, param); - if (result == ExtensionLoadResult::LOADED_EXTENSION) { - // add the extension to the list of loaded extensions - extensions.insert(param); - } else if (result == ExtensionLoadResult::EXTENSION_UNKNOWN) { - parser.Fail("unknown extension type: %s", token.parameters[0]); - } else if (result == ExtensionLoadResult::NOT_LOADED) { - // extension known but not build: skip this test - return; - } - } else if (excluded_from_autoloading) { - return; - } } } else if (token.type == SQLLogicTokenType::SQLLOGIC_REQUIRE_ENV) { if (InLoop()) { @@ -630,6 +709,15 @@ void SQLLogicTestRunner::ExecuteFile(string script) { } else if (token.type == SQLLogicTokenType::SQLLOGIC_RECONNECT) { auto command = make_uniq(*this); ExecuteCommand(std::move(command)); + } else if (token.type == SQLLogicTokenType::SQLLOGIC_SLEEP) { + if (token.parameters.size() != 2) { + parser.Fail("sleep requires two parameter (e.g. sleep 1 second)"); + } + // require a specific block size + auto sleep_duration = std::stoull(token.parameters[0]); + auto sleep_unit = SleepCommand::ParseUnit(token.parameters[1]); + auto command = make_uniq(*this, sleep_duration, sleep_unit); + ExecuteCommand(std::move(command)); } } if (InLoop()) { diff --git a/test/sqlite/sqllogic_test_runner.hpp b/test/sqlite/sqllogic_test_runner.hpp index cde5a4bbd8b6..dfeb1cc25786 100644 --- a/test/sqlite/sqllogic_test_runner.hpp +++ b/test/sqlite/sqllogic_test_runner.hpp @@ -16,6 +16,9 @@ namespace duckdb { class Command; class LoopCommand; +class SQLLogicParser; + +enum class RequireResult { PRESENT, MISSING }; class SQLLogicTestRunner { public: @@ -68,6 +71,9 @@ class SQLLogicTestRunner { static string ReplaceLoopIterator(string text, string loop_iterator_name, string replacement); static string LoopReplacement(string text, const vector &loops); static bool ForEachTokenReplace(const string ¶meter, vector &result); + +private: + RequireResult CheckRequire(SQLLogicParser &parser, const vector ¶ms); }; } // namespace duckdb diff --git a/test/sqlite/test_sqllogictest.cpp b/test/sqlite/test_sqllogictest.cpp index cb2e8373d17d..f0f23f000cbe 100644 --- a/test/sqlite/test_sqllogictest.cpp +++ b/test/sqlite/test_sqllogictest.cpp @@ -59,8 +59,8 @@ static void testRunner() { std::size_t found = name.rfind("test/sql"); if (found == std::string::npos) { - throw Exception("Failed to auto detect working dir for test '" + name + - "' because a non-standard path was used!"); + throw InvalidInputException("Failed to auto detect working dir for test '" + name + + "' because a non-standard path was used!"); } auto test_working_dir = name.substr(0, found); diff --git a/test/unittest.cpp b/test/unittest.cpp index ae30c47287bb..2350e7baf8ee 100644 --- a/test/unittest.cpp +++ b/test/unittest.cpp @@ -44,6 +44,7 @@ int main(int argc, char *argv[]) { } else if (string(argv[i]) == "--test-dir") { test_directory = string(argv[++i]); } else if (string(argv[i]) == "--test-temp-dir") { + delete_test_path = false; auto test_dir = string(argv[++i]); if (fs->DirectoryExists(test_dir)) { fprintf(stderr, "--test-temp-dir cannot point to a directory that already exists (%s)\n", @@ -51,7 +52,8 @@ int main(int argc, char *argv[]) { return 1; } SetTestDirectory(test_dir); - delete_test_path = false; + } else if (string(argv[i]) == "--require") { + AddRequire(string(argv[++i])); } else if (string(argv[i]) == "--zero-initialize") { SetDebugInitialize(0); } else if (string(argv[i]) == "--one-initialize") { diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt index e2248f8ac243..7452dc78bac1 100644 --- a/third_party/CMakeLists.txt +++ b/third_party/CMakeLists.txt @@ -8,6 +8,7 @@ if(NOT AMALGAMATION_BUILD) add_subdirectory(miniz) add_subdirectory(utf8proc) add_subdirectory(hyperloglog) + add_subdirectory(skiplist) add_subdirectory(fastpforlib) add_subdirectory(mbedtls) add_subdirectory(fsst) diff --git a/third_party/catch/catch.hpp b/third_party/catch/catch.hpp index ab65d1e5e54d..7a2cdf7a35c8 100644 --- a/third_party/catch/catch.hpp +++ b/third_party/catch/catch.hpp @@ -11308,12 +11308,28 @@ namespace Catch { Catch::cout() << "name\tgroup" << std::endl; auto matchedTestCases = filterTests( getAllTestCasesSorted( config ), testSpec, config ); - for( auto const& testCaseInfo : matchedTestCases ) { + auto total_tests_run = matchedTestCases.size(); + int start_offset = 0; + int end_offset = total_tests_run; + if (config.startOffset() >= 0) { + start_offset = config.startOffset(); + } else if (config.startOffsetPercentage() >= 0) { + start_offset = int((config.startOffsetPercentage() / 100.0) * total_tests_run); + } + auto it = matchedTestCases.begin(); + for(int current_test = 0; it != matchedTestCases.end(); current_test++) { + if (current_test < start_offset || current_test >= end_offset) { + // skip this test + it++; + continue; + } + auto &testCaseInfo = *it; Catch::cout() << testCaseInfo.name << "\t"; if( !testCaseInfo.tags.empty() ) { Catch::cout() << testCaseInfo.tagsAsString(); } Catch::cout() << std::endl; + it++; } return matchedTestCases.size(); } diff --git a/third_party/fast_float/fast_float/fast_float.h b/third_party/fast_float/fast_float/fast_float.h index d072fc7561d3..b5e04828935e 100644 --- a/third_party/fast_float/fast_float/fast_float.h +++ b/third_party/fast_float/fast_float/fast_float.h @@ -242,7 +242,7 @@ fastfloat_really_inline uint64_t _umul128(uint64_t ab, uint64_t cd, fastfloat_really_inline value128 full_multiplication(uint64_t a, uint64_t b) { value128 answer; -#ifdef _M_ARM64 +#if defined(FASTFLOAT_VISUAL_STUDIO) && defined(_M_ARM64) // ARM64 has native support for 64-bit multiplications, no need to emulate answer.high = __umulh(a, b); answer.low = a * b; @@ -522,33 +522,61 @@ parsed_number_string parse_number_string(const char *p, const char *pend, const uint64_t i = 0; // an unsigned int avoids signed overflows (which are bad) - while ((p != pend) && is_integer(*p)) { - // a multiplication by 10 is cheaper than an arbitrary integer - // multiplication - i = 10 * i + - uint64_t(*p - '0'); // might overflow, we will handle the overflow later - ++p; + while ((p != pend)) { + if(is_integer(*p)) { + // a multiplication by 10 is cheaper than an arbitrary integer + // multiplication + i = 10 * i + + uint64_t(*p - '0'); // might overflow, we will handle the overflow later + ++p; + if(p != pend && *p == '_') { + // skip 1 underscore if it is not the last character and followed by a digit + ++p; + if(p == pend || !is_integer(*p)) { + return answer; + } + } + } + else { + break; + } } const char *const end_of_integer_part = p; int64_t digit_count = int64_t(end_of_integer_part - start_digits); int64_t exponent = 0; if ((p != pend) && (*p == decimal_separator)) { ++p; - // Fast approach only tested under little endian systems - if ((p + 8 <= pend) && is_made_of_eight_digits_fast(p)) { - i = i * 100000000 + parse_eight_digits_unrolled(p); // in rare cases, this will overflow, but that's ok - p += 8; + + // Fast approach only tested under little endian systems if ((p + 8 <= pend) && is_made_of_eight_digits_fast(p)) { i = i * 100000000 + parse_eight_digits_unrolled(p); // in rare cases, this will overflow, but that's ok p += 8; + if ((p + 8 <= pend) && is_made_of_eight_digits_fast(p)) { + i = i * 100000000 + parse_eight_digits_unrolled(p); // in rare cases, this will overflow, but that's ok + p += 8; + } } - } - while ((p != pend) && is_integer(*p)) { - uint8_t digit = uint8_t(*p - '0'); - ++p; - i = i * 10 + digit; // in rare cases, this will overflow, but that's ok + + int64_t skipped_underscores = 0; + while ((p != pend)) { + if(is_integer(*p)) { + uint8_t digit = uint8_t(*p - '0'); + ++p; + i = i * 10 + digit; // in rare cases, this will overflow, but that's ok + + if(p != pend && *p == '_') { + // skip 1 underscore if it is not the last character and followed by a digit + ++p; + ++skipped_underscores; + if(p == pend || !is_integer(*p)) { + return answer; + } + } + } else { + break; + } } - exponent = end_of_integer_part + 1 - p; + exponent = end_of_integer_part + 1 - p + skipped_underscores; digit_count -= exponent; } // we must have encountered at least one integer! @@ -574,12 +602,25 @@ parsed_number_string parse_number_string(const char *p, const char *pend, const // Otherwise, we will be ignoring the 'e'. p = location_of_e; } else { - while ((p != pend) && is_integer(*p)) { - uint8_t digit = uint8_t(*p - '0'); - if (exp_number < 0x10000) { - exp_number = 10 * exp_number + digit; + while ((p != pend)) { + if(is_integer(*p)) { + uint8_t digit = uint8_t(*p - '0'); + if (exp_number < 0x10000) { + exp_number = 10 * exp_number + digit; + } + ++p; + + if(p != pend && *p == '_') { + // skip 1 underscore if it is not the last character and followed by a digit + ++p; + if(p == pend || !is_integer(*p)) { + return answer; + } + } + } + else { + break; } - ++p; } if(neg_exp) { exp_number = - exp_number; } exponent += exp_number; @@ -612,20 +653,50 @@ parsed_number_string parse_number_string(const char *p, const char *pend, const i = 0; p = start_digits; const uint64_t minimal_nineteen_digit_integer{1000000000000000000}; - while((i < minimal_nineteen_digit_integer) && (p != pend) && is_integer(*p)) { - i = i * 10 + uint64_t(*p - '0'); - ++p; + while((i < minimal_nineteen_digit_integer) && (p != pend)) { + if (is_integer(*p)){ + i = i * 10 + uint64_t(*p - '0'); + ++p; + + if(p != pend && *p == '_') { + // skip 1 underscore if it is not the last character and followed by a digit + ++p; + if(p == pend || !is_integer(*p)) { + answer.valid = false; + return answer; + } + } + } + else { + break; + } } if (i >= minimal_nineteen_digit_integer) { // We have a big integers exponent = end_of_integer_part - p + exp_number; } else { // We have a value with a fractional component. p++; // skip the decimal_separator const char *first_after_period = p; - while((i < minimal_nineteen_digit_integer) && (p != pend) && is_integer(*p)) { - i = i * 10 + uint64_t(*p - '0'); - ++p; + int64_t skipped_underscores = 0; + while((i < minimal_nineteen_digit_integer) && (p != pend)) { + if(is_integer(*p)) { + i = i * 10 + uint64_t(*p - '0'); + ++p; + + if(p != pend && *p == '_') { + // skip 1 underscore if it is not the last character and followed by a digit + ++p; + ++skipped_underscores; + if(p == pend || !is_integer(*p)) { + answer.valid = false; + return answer; + } + } + } + else { + break; + } } - exponent = first_after_period - p + exp_number; + exponent = first_after_period - p + exp_number + skipped_underscores; } // We have now corrected both exponent and i, to a truncated value } diff --git a/third_party/fmt/include/fmt/format-inl.h b/third_party/fmt/include/fmt/format-inl.h index cef5359cfb8f..1755025ae8a5 100644 --- a/third_party/fmt/include/fmt/format-inl.h +++ b/third_party/fmt/include/fmt/format-inl.h @@ -1173,7 +1173,7 @@ template <> struct formatter { }; FMT_FUNC void internal::error_handler::on_error(std::string message) { - FMT_THROW(duckdb::Exception(message)); + FMT_THROW(duckdb::InvalidInputException(message)); } FMT_END_NAMESPACE diff --git a/third_party/fmt/include/fmt/format.h b/third_party/fmt/include/fmt/format.h index dbc45255c4a3..3bf2f6063ab3 100644 --- a/third_party/fmt/include/fmt/format.h +++ b/third_party/fmt/include/fmt/format.h @@ -73,6 +73,8 @@ #if FMT_HAS_CPP_ATTRIBUTE(fallthrough) && \ (__cplusplus >= 201703 || FMT_GCC_VERSION != 0) # define FMT_FALLTHROUGH [[fallthrough]] +#elif defined(DUCKDB_EXPLICIT_FALLTHROUGH) +# define FMT_FALLTHROUGH DUCKDB_EXPLICIT_FALLTHROUGH #else # define FMT_FALLTHROUGH #endif @@ -1533,7 +1535,7 @@ template class basic_writer { } FMT_NORETURN void on_error(std::string error) { - FMT_THROW(duckdb::Exception(error)); + FMT_THROW(duckdb::InvalidInputException(error)); } }; @@ -1766,7 +1768,7 @@ class arg_formatter_base { void write(const char_type* value) { if (!value) { - FMT_THROW(duckdb::Exception("string pointer is null")); + FMT_THROW(duckdb::InternalException("string pointer is null")); } else { auto length = std::char_traits::length(value); basic_string_view sv(value, length); diff --git a/third_party/fmt/include/fmt/printf.h b/third_party/fmt/include/fmt/printf.h index 014975dfacc0..6617d9d498d5 100644 --- a/third_party/fmt/include/fmt/printf.h +++ b/third_party/fmt/include/fmt/printf.h @@ -43,13 +43,13 @@ class printf_precision_handler { template ::value)> int operator()(T value) { if (!int_checker::is_signed>::fits_in_int(value)) - FMT_THROW(duckdb::Exception("number is too big")); + FMT_THROW(duckdb::InvalidInputException("number is too big")); return (std::max)(static_cast(value), 0); } template ::value)> int operator()(T) { - FMT_THROW(duckdb::Exception("precision is not integer")); + FMT_THROW(duckdb::InvalidInputException("precision is not integer")); return 0; } }; @@ -164,13 +164,13 @@ template class printf_width_handler { width = 0 - width; } unsigned int_max = max_value(); - if (width > int_max) FMT_THROW(duckdb::Exception("number is too big")); + if (width > int_max) FMT_THROW(duckdb::InvalidInputException("number is too big")); return static_cast(width); } template ::value)> unsigned operator()(T) { - FMT_THROW(duckdb::Exception("width is not integer")); + FMT_THROW(duckdb::InvalidInputException("width is not integer")); return 0; } }; @@ -550,7 +550,7 @@ OutputIt basic_printf_context::format() { } // Parse type. - if (it == end) FMT_THROW(duckdb::Exception("invalid format string")); + if (it == end) FMT_THROW(duckdb::InvalidInputException("invalid format string")); specs.type = static_cast(*it++); if (arg.is_integral()) { // Normalize type. diff --git a/third_party/imdb/imdb.cpp b/third_party/imdb/imdb.cpp index 36e57f6cff9c..93389cd39ea8 100644 --- a/third_party/imdb/imdb.cpp +++ b/third_party/imdb/imdb.cpp @@ -17,7 +17,7 @@ void dbgen(DuckDB &db) { string data_file_name = "third_party/imdb/data/"+table_name+".csv.gz"; auto file_system = FileSystem::CreateLocal(); if (!file_system->FileExists(data_file_name)) { - throw Exception("IMDB data file missing, try `make imdb` to download."); + throw InvalidInputException("IMDB data file missing, try `make imdb` to download."); } con.Query("COPY "+table_name+" FROM '"+data_file_name+"' DELIMITER ',' ESCAPE '\\';"); } diff --git a/third_party/libpg_query/grammar/grammar.cpp b/third_party/libpg_query/grammar/grammar.cpp index 5e45935254ba..17304465ea05 100644 --- a/third_party/libpg_query/grammar/grammar.cpp +++ b/third_party/libpg_query/grammar/grammar.cpp @@ -370,6 +370,12 @@ insertSelectOptions(PGSelectStmt *stmt, PGWithClause *withClause, core_yyscan_t yyscanner) { + if (stmt->type != T_PGSelectStmt) { + ereport(ERROR, + (errcode(PG_ERRCODE_SYNTAX_ERROR), + errmsg("DESCRIBE/SHOW/SUMMARIZE with CTE/ORDER BY/... not allowed - wrap the statement in a subquery instead"), + parser_errposition(exprLocation((PGNode *) stmt)))); + } Assert(IsA(stmt, PGSelectStmt)); /* @@ -446,8 +452,7 @@ SystemFuncName(const char *name) PGTypeName * SystemTypeName(const char *name) { - return makeTypeNameFromNameList(list_make2(makeString(DEFAULT_SCHEMA), - makeString(name))); + return makeTypeNameFromNameList(list_make1(makeString(name))); } /* doNegate() diff --git a/third_party/libpg_query/grammar/grammar.y b/third_party/libpg_query/grammar/grammar.y index a7c284e42689..8c8c16987bf4 100644 --- a/third_party/libpg_query/grammar/grammar.y +++ b/third_party/libpg_query/grammar/grammar.y @@ -141,7 +141,7 @@ * blame any funny behavior of UNBOUNDED on the SQL standard, though. */ %nonassoc UNBOUNDED /* ideally should have same precedence as IDENT */ -%nonassoc IDENT GENERATED NULL_P PARTITION RANGE ROWS PRECEDING FOLLOWING CUBE ROLLUP ENUM_P +%nonassoc IDENT GENERATED NULL_P PARTITION RANGE ROWS GROUPS PRECEDING FOLLOWING CUBE ROLLUP ENUM_P %left Op OPERATOR /* multi-character ops and user-defined operators */ %left '+' '-' %left '*' '/' '%' INTEGER_DIVISION diff --git a/third_party/libpg_query/grammar/keywords/reserved_keywords.list b/third_party/libpg_query/grammar/keywords/reserved_keywords.list index 7cbf3cbc3e3b..cbf202a5f2ad 100644 --- a/third_party/libpg_query/grammar/keywords/reserved_keywords.list +++ b/third_party/libpg_query/grammar/keywords/reserved_keywords.list @@ -18,6 +18,7 @@ CREATE_P DEFAULT DEFERRABLE DESC_P +DESCRIBE DISTINCT DO ELSE @@ -55,7 +56,9 @@ PRIMARY REFERENCES RETURNING SELECT +SHOW SOME +SUMMARIZE SYMMETRIC TABLE THEN diff --git a/third_party/libpg_query/grammar/keywords/unreserved_keywords.list b/third_party/libpg_query/grammar/keywords/unreserved_keywords.list index b4a69248e781..2d477ba338ae 100644 --- a/third_party/libpg_query/grammar/keywords/unreserved_keywords.list +++ b/third_party/libpg_query/grammar/keywords/unreserved_keywords.list @@ -24,6 +24,8 @@ CALLED CASCADE CASCADED CATALOG_P +CENTURY_P +CENTURIES_P CHAIN CHARACTERISTICS CHECKPOINT @@ -53,6 +55,8 @@ DATABASE DAY_P DAYS_P DEALLOCATE +DECADE_P +DECADES_P DECLARE DEFAULTS DEFERRED @@ -61,7 +65,6 @@ DELETE_P DELIMITER DELIMITERS DEPENDS -DESCRIBE DETACH DICTIONARY DISABLE_P @@ -146,6 +149,8 @@ MAXVALUE METHOD MICROSECOND_P MICROSECONDS_P +MILLENNIUM_P +MILLENNIA_P MILLISECOND_P MILLISECONDS_P MINUTE_P @@ -173,6 +178,7 @@ OPERATOR OPTION OPTIONS ORDINALITY +OTHERS OVER OVERRIDING OWNED @@ -184,6 +190,7 @@ PARTITION PASSING PASSWORD PERCENT +PERSISTENT PLANS POLICY PRAGMA_P @@ -228,8 +235,10 @@ SAMPLE SAVEPOINT SCHEMA SCHEMAS +SCOPE SCROLL SEARCH +SECRET SECOND_P SECONDS_P SECURITY @@ -241,7 +250,6 @@ SESSION SET SETS SHARE -SHOW SKIP SNAPSHOT SQL_P @@ -257,7 +265,6 @@ STORED STRICT_P STRIP_P SUBSCRIPTION -SUMMARIZE SYSID SYSTEM_P TABLES @@ -266,6 +273,7 @@ TEMP TEMPLATE TEMPORARY TEXT_P +TIES TRANSACTION TRANSFORM TRIGGER @@ -294,6 +302,8 @@ VIEW VIEWS VIRTUAL VOLATILE +WEEK_P +WEEKS_P WHITESPACE_P WITHIN WITHOUT diff --git a/third_party/libpg_query/grammar/statements.list b/third_party/libpg_query/grammar/statements.list index 2d30df4fc933..ea970d5dce6e 100644 --- a/third_party/libpg_query/grammar/statements.list +++ b/third_party/libpg_query/grammar/statements.list @@ -7,15 +7,18 @@ CallStmt CheckPointStmt CopyStmt CreateAsStmt +CreateSecretStmt CreateTypeStmt CreateFunctionStmt CreatePropertyGraphStmt CreateSchemaStmt CreateSeqStmt CreateStmt +CommentOnStmt DeallocateStmt DeleteStmt DetachStmt +DropSecretStmt DropStmt DropPropertyGraphStmt ExecuteStmt diff --git a/third_party/libpg_query/grammar/statements/attach.y b/third_party/libpg_query/grammar/statements/attach.y index 2f0874085ee9..b893ef586c4f 100644 --- a/third_party/libpg_query/grammar/statements/attach.y +++ b/third_party/libpg_query/grammar/statements/attach.y @@ -10,19 +10,36 @@ AttachStmt: n->path = $3; n->name = $4; n->options = $5; + n->onconflict = PG_ERROR_ON_CONFLICT; + $$ = (PGNode *)n; + } + | ATTACH IF_P NOT EXISTS opt_database Sconst opt_database_alias copy_options + { + PGAttachStmt *n = makeNode(PGAttachStmt); + n->path = $6; + n->name = $7; + n->options = $8; + n->onconflict = PG_IGNORE_ON_CONFLICT; $$ = (PGNode *)n; } ; DetachStmt: - DETACH opt_database IDENT + DETACH ColLabel + { + PGDetachStmt *n = makeNode(PGDetachStmt); + n->missing_ok = false; + n->db_name = $2; + $$ = (PGNode *)n; + } + | DETACH DATABASE ColLabel { PGDetachStmt *n = makeNode(PGDetachStmt); n->missing_ok = false; n->db_name = $3; $$ = (PGNode *)n; } - | DETACH DATABASE IF_P EXISTS IDENT + | DETACH DATABASE IF_P EXISTS ColLabel { PGDetachStmt *n = makeNode(PGDetachStmt); n->missing_ok = true; diff --git a/third_party/libpg_query/grammar/statements/comment_on.y b/third_party/libpg_query/grammar/statements/comment_on.y new file mode 100644 index 000000000000..bede5ebf04fe --- /dev/null +++ b/third_party/libpg_query/grammar/statements/comment_on.y @@ -0,0 +1,40 @@ +/***************************************************************************** + * + * Create a Comment + * + *****************************************************************************/ +CommentOnStmt: + COMMENT ON comment_on_type_any_name qualified_name IS comment_value + { + PGCommentOnStmt *n = makeNode(PGCommentOnStmt); + n->object_type = $3; + n->name = $4; + n->value = $6; + $$ = (PGNode *)n; + } + | COMMENT ON COLUMN a_expr IS comment_value + { + PGCommentOnStmt *n = makeNode(PGCommentOnStmt); + n->object_type = PG_OBJECT_COLUMN; + n->column_expr = $4; + n->value = $6; + $$ = (PGNode *)n; + } + ; + +comment_value: + Sconst { $$ = makeStringConst($1, @1); } + | NULL_P { $$ = makeNullAConst(@1); } + +comment_on_type_any_name: + TABLE { $$ = PG_OBJECT_TABLE; } + | SEQUENCE { $$ = PG_OBJECT_SEQUENCE; } + | FUNCTION { $$ = PG_OBJECT_FUNCTION; } + | MACRO { $$ = PG_OBJECT_FUNCTION; } + | MACRO TABLE { $$ = PG_OBJECT_TABLE_MACRO; } + | VIEW { $$ = PG_OBJECT_VIEW; } + | DATABASE { $$ = PG_OBJECT_DATABASE; } + | INDEX { $$ = PG_OBJECT_INDEX; } + | SCHEMA { $$ = PG_OBJECT_SCHEMA; } + | TYPE_P { $$ = PG_OBJECT_TYPE; } + ; diff --git a/third_party/libpg_query/grammar/statements/copy.y b/third_party/libpg_query/grammar/statements/copy.y index 855759966ce0..c418f9f45a8d 100644 --- a/third_party/libpg_query/grammar/statements/copy.y +++ b/third_party/libpg_query/grammar/statements/copy.y @@ -46,9 +46,23 @@ CopyStmt: COPY opt_binary qualified_name opt_column_list opt_oids $$ = (PGNode *)n; } + | COPY FROM DATABASE ColId TO ColId copy_database_flag + { + PGCopyDatabaseStmt *n = makeNode(PGCopyDatabaseStmt); + n->from_database = $4; + n->to_database = $6; + n->copy_database_flag = $7; + $$ = (PGNode *)n; + } ; +copy_database_flag: + /* empty */ { $$ = NULL; } + | '(' SCHEMA ')' { $$ = "schema"; } + | '(' DATA_P ')' { $$ = "data"; } + ; + copy_from: FROM { $$ = true; } | TO { $$ = false; } @@ -213,11 +227,13 @@ copy_generic_opt_arg_list_item: ; - copy_file_name: Sconst { $$ = $1; } | STDIN { $$ = NULL; } | STDOUT { $$ = NULL; } + | IDENT '.' ColId { $$ = psprintf("%s.%s", $1, $3); } + | IDENT { $$ = $1; } + ; diff --git a/third_party/libpg_query/grammar/statements/create_secret.y b/third_party/libpg_query/grammar/statements/create_secret.y new file mode 100644 index 000000000000..30cfd8cc9875 --- /dev/null +++ b/third_party/libpg_query/grammar/statements/create_secret.y @@ -0,0 +1,53 @@ +/***************************************************************************** + * + * Create a secret + * + *****************************************************************************/ +CreateSecretStmt: + CREATE_P opt_persist SECRET opt_secret_name opt_storage_specifier '(' copy_generic_opt_list ')' + { + PGCreateSecretStmt *n = makeNode(PGCreateSecretStmt); + n->persist_type = $2; + n->secret_name = $4; + n->secret_storage = $5; + n->options = $7; + n->onconflict = PG_ERROR_ON_CONFLICT; + $$ = (PGNode *)n; + } + | CREATE_P opt_persist SECRET IF_P NOT EXISTS opt_secret_name opt_storage_specifier '(' copy_generic_opt_list ')' + { + PGCreateSecretStmt *n = makeNode(PGCreateSecretStmt); + n->persist_type = $2; + n->secret_name = $7; + n->secret_storage = $8; + n->options = $10; + n->onconflict = PG_IGNORE_ON_CONFLICT; + $$ = (PGNode *)n; + } + | CREATE_P OR REPLACE opt_persist SECRET opt_secret_name opt_storage_specifier '(' copy_generic_opt_list ')' + { + PGCreateSecretStmt *n = makeNode(PGCreateSecretStmt); + n->persist_type = $4; + n->secret_name = $6; + n->secret_storage = $7; + n->options = $9; + n->onconflict = PG_REPLACE_ON_CONFLICT; + $$ = (PGNode *)n; + } + ; + +opt_secret_name: + /* empty */ { $$ = NULL; } + | ColId { $$ = $1; } + ; + +opt_persist: + /* empty */ { $$ = pstrdup("default"); } + | TEMPORARY { $$ = pstrdup("temporary"); } + | PERSISTENT { $$ = pstrdup("persistent"); } + ; + +opt_storage_specifier: + /* empty */ { $$ = pstrdup(""); } + | IN_P IDENT { $$ = $2; } + ; diff --git a/third_party/libpg_query/grammar/statements/drop.y b/third_party/libpg_query/grammar/statements/drop.y index ec1fa1410683..e0b7b3e49585 100644 --- a/third_party/libpg_query/grammar/statements/drop.y +++ b/third_party/libpg_query/grammar/statements/drop.y @@ -66,26 +66,6 @@ DropStmt: DROP drop_type_any_name IF_P EXISTS any_name_list opt_drop_behavior n->concurrent = false; $$ = (PGNode *) n; } - | DROP TYPE_P type_name_list opt_drop_behavior - { - PGDropStmt *n = makeNode(PGDropStmt); - n->removeType = PG_OBJECT_TYPE; - n->missing_ok = false; - n->objects = $3; - n->behavior = $4; - n->concurrent = false; - $$ = (PGNode *) n; - } - | DROP TYPE_P IF_P EXISTS type_name_list opt_drop_behavior - { - PGDropStmt *n = makeNode(PGDropStmt); - n->removeType = PG_OBJECT_TYPE; - n->missing_ok = true; - n->objects = $5; - n->behavior = $6; - n->concurrent = false; - $$ = (PGNode *) n; - } ; @@ -107,6 +87,7 @@ drop_type_any_name: | TEXT_P SEARCH DICTIONARY { $$ = PG_OBJECT_TSDICTIONARY; } | TEXT_P SEARCH TEMPLATE { $$ = PG_OBJECT_TSTEMPLATE; } | TEXT_P SEARCH CONFIGURATION { $$ = PG_OBJECT_TSCONFIGURATION; } + | TYPE_P { $$ = PG_OBJECT_TYPE; } ; diff --git a/third_party/libpg_query/grammar/statements/drop_secret.y b/third_party/libpg_query/grammar/statements/drop_secret.y new file mode 100644 index 000000000000..dad27b1b909e --- /dev/null +++ b/third_party/libpg_query/grammar/statements/drop_secret.y @@ -0,0 +1,30 @@ +/***************************************************************************** + * + * Drop a secret + * + *****************************************************************************/ +DropSecretStmt: + DROP opt_persist SECRET ColId opt_storage_drop_specifier + { + PGDropSecretStmt *n = makeNode(PGDropSecretStmt); + n->persist_type = $2; + n->secret_name = $4; + n->secret_storage = $5; + n->missing_ok = false; + $$ = (PGNode *)n; + } + | DROP opt_persist SECRET IF_P EXISTS ColId opt_storage_drop_specifier + { + PGDropSecretStmt *n = makeNode(PGDropSecretStmt); + n->persist_type = $2; + n->secret_name = $6; + n->secret_storage = $7; + n->missing_ok = true; + $$ = (PGNode *)n; + } + ; + +opt_storage_drop_specifier: + /* empty */ { $$ = pstrdup(""); } + | FROM IDENT { $$ = $2; } + ; diff --git a/third_party/libpg_query/grammar/statements/prepare.y b/third_party/libpg_query/grammar/statements/prepare.y index 7a6a64f8119e..c2eb925267f4 100644 --- a/third_party/libpg_query/grammar/statements/prepare.y +++ b/third_party/libpg_query/grammar/statements/prepare.y @@ -24,5 +24,6 @@ PreparableStmt: | InsertStmt | UpdateStmt | CopyStmt - | DeleteStmt /* by default all are $$=$1 */ + | DeleteStmt + | VariableShowStmt /* by default all are $$=$1 */ ; diff --git a/third_party/libpg_query/grammar/statements/select.y b/third_party/libpg_query/grammar/statements/select.y index aad8f34de885..b3ec841efe0f 100644 --- a/third_party/libpg_query/grammar/statements/select.y +++ b/third_party/libpg_query/grammar/statements/select.y @@ -51,6 +51,10 @@ SelectStmt: select_no_parens %prec UMINUS select_with_parens: '(' select_no_parens ')' { $$ = $2; } | '(' select_with_parens ')' { $$ = $2; } + | '(' VariableShowStmt ')' + { + $$ = $2; + } ; /* @@ -1629,26 +1633,38 @@ Typename: SimpleTypename opt_array_bounds $$->arrayBounds = list_make1(makeInteger(-1)); $$->setof = true; } - | RowOrStruct '(' colid_type_list ')' opt_array_bounds { - $$ = SystemTypeName("struct"); - $$->arrayBounds = $5; - $$->typmods = $3; - $$->location = @1; + | qualified_typename + { + $$ = makeTypeNameFromNameList($1); + } + | RowOrStruct '(' colid_type_list ')' opt_array_bounds + { + $$ = SystemTypeName("struct"); + $$->arrayBounds = $5; + $$->typmods = $3; + $$->location = @1; } - | MAP '(' type_list ')' opt_array_bounds { - $$ = SystemTypeName("map"); - $$->arrayBounds = $5; - $$->typmods = $3; - $$->location = @1; - } - | UNION '(' colid_type_list ')' opt_array_bounds { - $$ = SystemTypeName("union"); - $$->arrayBounds = $5; - $$->typmods = $3; - $$->location = @1; - } + | MAP '(' type_list ')' opt_array_bounds + { + $$ = SystemTypeName("map"); + $$->arrayBounds = $5; + $$->typmods = $3; + $$->location = @1; + } + | UNION '(' colid_type_list ')' opt_array_bounds + { + $$ = SystemTypeName("union"); + $$->arrayBounds = $5; + $$->typmods = $3; + $$->location = @1; + } ; +qualified_typename: + IDENT '.' IDENT { $$ = list_make2(makeString($1), makeString($3)); } + | qualified_typename '.' IDENT { $$ = lappend($1, makeString($3)); } + ; + opt_array_bounds: opt_array_bounds '[' ']' { $$ = lappend($1, makeInteger(-1)); } @@ -2014,6 +2030,18 @@ millisecond_keyword: microsecond_keyword: MICROSECOND_P | MICROSECONDS_P +week_keyword: + WEEK_P | WEEKS_P + +decade_keyword: + DECADE_P | DECADES_P + +century_keyword: + CENTURY_P | CENTURIES_P + +millennium_keyword: + MILLENNIUM_P | MILLENNIA_P + opt_interval: year_keyword { $$ = list_make1(makeIntConst(INTERVAL_MASK(YEAR), @1)); } @@ -2031,6 +2059,14 @@ opt_interval: { $$ = list_make1(makeIntConst(INTERVAL_MASK(MILLISECOND), @1)); } | microsecond_keyword { $$ = list_make1(makeIntConst(INTERVAL_MASK(MICROSECOND), @1)); } + | week_keyword + { $$ = list_make1(makeIntConst(INTERVAL_MASK(WEEK), @1)); } + | decade_keyword + { $$ = list_make1(makeIntConst(INTERVAL_MASK(DECADE), @1)); } + | century_keyword + { $$ = list_make1(makeIntConst(INTERVAL_MASK(CENTURY), @1)); } + | millennium_keyword + { $$ = list_make1(makeIntConst(INTERVAL_MASK(MILLENNIUM), @1)); } | year_keyword TO month_keyword { $$ = list_make1(makeIntConst(INTERVAL_MASK(YEAR) | @@ -3084,7 +3120,7 @@ window_specification: '(' opt_existing_window_name opt_partition_clause ; /* - * If we see PARTITION, RANGE, or ROWS as the first token after the '(' + * If we see PARTITION, RANGE, ROWS or GROUPS as the first token after the '(' * of a window_specification, we want the assumption to be that there is * no existing_window_name; but those keywords are unreserved and so could * be ColIds. We fix this by making them have the same precedence as IDENT @@ -3104,26 +3140,36 @@ opt_partition_clause: PARTITION BY expr_list { $$ = $3; } /* * For frame clauses, we return a PGWindowDef, but only some fields are used: * frameOptions, startOffset, and endOffset. - * - * This is only a subset of the full SQL:2008 frame_clause grammar. - * We don't support yet. */ opt_frame_clause: - RANGE frame_extent + RANGE frame_extent opt_window_exclusion_clause { PGWindowDef *n = $2; + n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE; + n->frameOptions |= $3; $$ = n; } - | ROWS frame_extent + | ROWS frame_extent opt_window_exclusion_clause { PGWindowDef *n = $2; + n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS; + n->frameOptions |= $3; + $$ = n; + } + | GROUPS frame_extent opt_window_exclusion_clause + { + PGWindowDef *n = $2; + + n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS; + n->frameOptions |= $3; $$ = n; } | /*EMPTY*/ { PGWindowDef *n = makeNode(PGWindowDef); + n->frameOptions = FRAMEOPTION_DEFAULTS; n->startOffset = NULL; n->endOffset = NULL; @@ -3134,13 +3180,14 @@ opt_frame_clause: frame_extent: frame_bound { PGWindowDef *n = $1; + /* reject invalid cases */ if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) ereport(ERROR, (errcode(PG_ERRCODE_WINDOWING_ERROR), errmsg("frame start cannot be UNBOUNDED FOLLOWING"), parser_errposition(@1))); - if (n->frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING) + if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) ereport(ERROR, (errcode(PG_ERRCODE_WINDOWING_ERROR), errmsg("frame starting from following row cannot end with current row"), @@ -3152,6 +3199,7 @@ frame_extent: frame_bound { PGWindowDef *n1 = $2; PGWindowDef *n2 = $4; + /* form merged options */ int frameOptions = n1->frameOptions; /* shift converts START_ options to END_ options */ @@ -3169,13 +3217,13 @@ frame_extent: frame_bound errmsg("frame end cannot be UNBOUNDED PRECEDING"), parser_errposition(@4))); if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) && - (frameOptions & FRAMEOPTION_END_VALUE_PRECEDING)) + (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING)) ereport(ERROR, (errcode(PG_ERRCODE_WINDOWING_ERROR), errmsg("frame starting from current row cannot have preceding rows"), parser_errposition(@4))); - if ((frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING) && - (frameOptions & (FRAMEOPTION_END_VALUE_PRECEDING | + if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) && + (frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING | FRAMEOPTION_END_CURRENT_ROW))) ereport(ERROR, (errcode(PG_ERRCODE_WINDOWING_ERROR), @@ -3196,6 +3244,7 @@ frame_bound: UNBOUNDED PRECEDING { PGWindowDef *n = makeNode(PGWindowDef); + n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING; n->startOffset = NULL; n->endOffset = NULL; @@ -3204,6 +3253,7 @@ frame_bound: | UNBOUNDED FOLLOWING { PGWindowDef *n = makeNode(PGWindowDef); + n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING; n->startOffset = NULL; n->endOffset = NULL; @@ -3212,6 +3262,7 @@ frame_bound: | CURRENT_P ROW { PGWindowDef *n = makeNode(PGWindowDef); + n->frameOptions = FRAMEOPTION_START_CURRENT_ROW; n->startOffset = NULL; n->endOffset = NULL; @@ -3220,7 +3271,8 @@ frame_bound: | a_expr PRECEDING { PGWindowDef *n = makeNode(PGWindowDef); - n->frameOptions = FRAMEOPTION_START_VALUE_PRECEDING; + + n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING; n->startOffset = $1; n->endOffset = NULL; $$ = n; @@ -3228,13 +3280,22 @@ frame_bound: | a_expr FOLLOWING { PGWindowDef *n = makeNode(PGWindowDef); - n->frameOptions = FRAMEOPTION_START_VALUE_FOLLOWING; + + n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING; n->startOffset = $1; n->endOffset = NULL; $$ = n; } ; +opt_window_exclusion_clause: + EXCLUDE CURRENT_P ROW { $$ = FRAMEOPTION_EXCLUDE_CURRENT_ROW; } + | EXCLUDE GROUP_P { $$ = FRAMEOPTION_EXCLUDE_GROUP; } + | EXCLUDE TIES { $$ = FRAMEOPTION_EXCLUDE_TIES; } + | EXCLUDE NO OTHERS { $$ = 0; } + | /*EMPTY*/ { $$ = 0; } + ; + /* * Supporting nonterminals for expressions. @@ -3489,6 +3550,10 @@ extract_arg: | second_keyword { $$ = (char*) "second"; } | millisecond_keyword { $$ = (char*) "millisecond"; } | microsecond_keyword { $$ = (char*) "microsecond"; } + | week_keyword { $$ = (char*) "week"; } + | decade_keyword { $$ = (char*) "decade"; } + | century_keyword { $$ = (char*) "century"; } + | millennium_keyword { $$ = (char*) "millennium"; } | Sconst { $$ = $1; } ; diff --git a/third_party/libpg_query/grammar/statements/variable_set.y b/third_party/libpg_query/grammar/statements/variable_set.y index fac3ba6b2ee8..32e057d32777 100644 --- a/third_party/libpg_query/grammar/statements/variable_set.y +++ b/third_party/libpg_query/grammar/statements/variable_set.y @@ -83,27 +83,11 @@ generic_set: n->args = $3; $$ = n; } - | var_name TO DEFAULT - { - PGVariableSetStmt *n = makeNode(PGVariableSetStmt); - n->kind = VAR_SET_DEFAULT; - n->name = $1; - $$ = n; - } - | var_name '=' DEFAULT - { - PGVariableSetStmt *n = makeNode(PGVariableSetStmt); - n->kind = VAR_SET_DEFAULT; - n->name = $1; - $$ = n; - } ; -var_value: opt_boolean_or_string - { $$ = makeStringConst($1, @1); } - | NumericOnly - { $$ = makeAConst($1, @1); } +var_value: a_expr + { $$ = $1; } ; diff --git a/third_party/libpg_query/grammar/statements/variable_show.y b/third_party/libpg_query/grammar/statements/variable_show.y index 3d04b044bebe..3bbcde71c505 100644 --- a/third_party/libpg_query/grammar/statements/variable_show.y +++ b/third_party/libpg_query/grammar/statements/variable_show.y @@ -58,7 +58,9 @@ VariableShowStmt: } ; -show_or_describe: SHOW | DESCRIBE +describe_or_desc: DESCRIBE | DESC_P + +show_or_describe: SHOW | describe_or_desc opt_tables: TABLES | /* empty */ diff --git a/third_party/libpg_query/grammar/types/comment_on.yh b/third_party/libpg_query/grammar/types/comment_on.yh new file mode 100644 index 000000000000..066b8d87615c --- /dev/null +++ b/third_party/libpg_query/grammar/types/comment_on.yh @@ -0,0 +1,2 @@ +%type comment_value +%type comment_on_type_any_name \ No newline at end of file diff --git a/third_party/libpg_query/grammar/types/copy.yh b/third_party/libpg_query/grammar/types/copy.yh index fba11b4705ab..1f4a89d83577 100644 --- a/third_party/libpg_query/grammar/types/copy.yh +++ b/third_party/libpg_query/grammar/types/copy.yh @@ -13,3 +13,4 @@ %type copy_generic_opt_arg_list_item %type copy_file_name %type copy_generic_opt_list +%type copy_database_flag \ No newline at end of file diff --git a/third_party/libpg_query/grammar/types/create_secret.yh b/third_party/libpg_query/grammar/types/create_secret.yh new file mode 100644 index 000000000000..38e12d318864 --- /dev/null +++ b/third_party/libpg_query/grammar/types/create_secret.yh @@ -0,0 +1 @@ +%type opt_secret_name opt_persist opt_storage_specifier diff --git a/third_party/libpg_query/grammar/types/drop_secret.yh b/third_party/libpg_query/grammar/types/drop_secret.yh new file mode 100644 index 000000000000..ecb2df1ebf7d --- /dev/null +++ b/third_party/libpg_query/grammar/types/drop_secret.yh @@ -0,0 +1 @@ +%type opt_storage_drop_specifier diff --git a/third_party/libpg_query/grammar/types/select.yh b/third_party/libpg_query/grammar/types/select.yh index 012e684d3047..fb0521d60ab2 100644 --- a/third_party/libpg_query/grammar/types/select.yh +++ b/third_party/libpg_query/grammar/types/select.yh @@ -25,6 +25,7 @@ target_list opt_indirection target_list_opt_comma opt_target_list_opt_comma group_clause select_limit opt_select_limit TableFuncElementList opt_type_modifiers opt_select extended_indirection opt_extended_indirection + qualified_typename %type group_by_list group_by_list_opt_comma opt_func_arguments unpivot_header %type group_by_item empty_grouping_set rollup_clause cube_clause grouping_sets_clause grouping_or_grouping_id %type OptTempTableName @@ -123,6 +124,7 @@ %type window_clause window_definition_list opt_partition_clause %type window_definition over_clause window_specification opt_frame_clause frame_extent frame_bound +%type opt_window_exclusion_clause %type opt_existing_window_name %type pivot_value pivot_column_entry single_pivot_value unpivot_value diff --git a/third_party/libpg_query/include/nodes/nodes.hpp b/third_party/libpg_query/include/nodes/nodes.hpp index 8fe2f9ac97dc..f5c2aca9a9f8 100755 --- a/third_party/libpg_query/include/nodes/nodes.hpp +++ b/third_party/libpg_query/include/nodes/nodes.hpp @@ -323,11 +323,13 @@ typedef enum PGNodeTag { T_PGClosePortalStmt, T_PGClusterStmt, T_PGCopyStmt, + T_PGCopyDatabaseStmt, T_PGCreateStmt, T_PGDefineStmt, T_PGDropStmt, T_PGTruncateStmt, T_PGCommentStmt, + T_PGCommentOnStmt, T_PGFetchStmt, T_PGIndexStmt, T_PGCreateFunctionStmt, @@ -363,6 +365,7 @@ typedef enum PGNodeTag { T_PGReindexStmt, T_PGCheckPointStmt, T_PGCreateSchemaStmt, + T_PGCreateSecretStmt, T_PGAlterDatabaseStmt, T_PGAlterDatabaseSetStmt, T_PGAlterRoleSetStmt, @@ -377,6 +380,7 @@ typedef enum PGNodeTag { T_PGDeallocateStmt, T_PGDeclareCursorStmt, T_PGCreateTableSpaceStmt, + T_PGDropSecretStmt, T_PGDropTableSpaceStmt, T_PGAlterObjectDependsStmt, T_PGAlterObjectSchemaStmt, diff --git a/third_party/libpg_query/include/nodes/parsenodes.hpp b/third_party/libpg_query/include/nodes/parsenodes.hpp index 0403a0a24f84..a86f2778fa62 100755 --- a/third_party/libpg_query/include/nodes/parsenodes.hpp +++ b/third_party/libpg_query/include/nodes/parsenodes.hpp @@ -438,27 +438,37 @@ typedef struct PGWindowDef { * which were defaulted; the correct behavioral bits must be set either way. * The START_foo and END_foo options must come in pairs of adjacent bits for * the convenience of gram.y, even though some of them are useless/invalid. - * We will need more bits (and fields) to cover the full SQL:2008 option set. - */ -#define FRAMEOPTION_NONDEFAULT 0x00001 /* any specified? */ -#define FRAMEOPTION_RANGE 0x00002 /* RANGE behavior */ -#define FRAMEOPTION_ROWS 0x00004 /* ROWS behavior */ -#define FRAMEOPTION_BETWEEN 0x00008 /* BETWEEN given? */ -#define FRAMEOPTION_START_UNBOUNDED_PRECEDING 0x00010 /* start is U. P. */ -#define FRAMEOPTION_END_UNBOUNDED_PRECEDING 0x00020 /* (disallowed) */ -#define FRAMEOPTION_START_UNBOUNDED_FOLLOWING 0x00040 /* (disallowed) */ -#define FRAMEOPTION_END_UNBOUNDED_FOLLOWING 0x00080 /* end is U. F. */ -#define FRAMEOPTION_START_CURRENT_ROW 0x00100 /* start is C. R. */ -#define FRAMEOPTION_END_CURRENT_ROW 0x00200 /* end is C. R. */ -#define FRAMEOPTION_START_VALUE_PRECEDING 0x00400 /* start is V. P. */ -#define FRAMEOPTION_END_VALUE_PRECEDING 0x00800 /* end is V. P. */ -#define FRAMEOPTION_START_VALUE_FOLLOWING 0x01000 /* start is V. F. */ -#define FRAMEOPTION_END_VALUE_FOLLOWING 0x02000 /* end is V. F. */ - -#define FRAMEOPTION_START_VALUE (FRAMEOPTION_START_VALUE_PRECEDING | FRAMEOPTION_START_VALUE_FOLLOWING) -#define FRAMEOPTION_END_VALUE (FRAMEOPTION_END_VALUE_PRECEDING | FRAMEOPTION_END_VALUE_FOLLOWING) - -#define FRAMEOPTION_DEFAULTS (FRAMEOPTION_RANGE | FRAMEOPTION_START_UNBOUNDED_PRECEDING | FRAMEOPTION_END_CURRENT_ROW) + */ +#define FRAMEOPTION_NONDEFAULT 0x00001 /* any specified? */ +#define FRAMEOPTION_RANGE 0x00002 /* RANGE behavior */ +#define FRAMEOPTION_ROWS 0x00004 /* ROWS behavior */ +#define FRAMEOPTION_GROUPS 0x00008 /* GROUPS behavior */ +#define FRAMEOPTION_BETWEEN 0x00010 /* BETWEEN given? */ +#define FRAMEOPTION_START_UNBOUNDED_PRECEDING 0x00020 /* start is U. P. */ +#define FRAMEOPTION_END_UNBOUNDED_PRECEDING 0x00040 /* (disallowed) */ +#define FRAMEOPTION_START_UNBOUNDED_FOLLOWING 0x00080 /* (disallowed) */ +#define FRAMEOPTION_END_UNBOUNDED_FOLLOWING 0x00100 /* end is U. F. */ +#define FRAMEOPTION_START_CURRENT_ROW 0x00200 /* start is C. R. */ +#define FRAMEOPTION_END_CURRENT_ROW 0x00400 /* end is C. R. */ +#define FRAMEOPTION_START_OFFSET_PRECEDING 0x00800 /* start is O. P. */ +#define FRAMEOPTION_END_OFFSET_PRECEDING 0x01000 /* end is O. P. */ +#define FRAMEOPTION_START_OFFSET_FOLLOWING 0x02000 /* start is O. F. */ +#define FRAMEOPTION_END_OFFSET_FOLLOWING 0x04000 /* end is O. F. */ +#define FRAMEOPTION_EXCLUDE_CURRENT_ROW 0x08000 /* omit C.R. */ +#define FRAMEOPTION_EXCLUDE_GROUP 0x10000 /* omit C.R. & peers */ +#define FRAMEOPTION_EXCLUDE_TIES 0x20000 /* omit C.R.'s peers */ + +#define FRAMEOPTION_START_OFFSET \ + (FRAMEOPTION_START_OFFSET_PRECEDING | FRAMEOPTION_START_OFFSET_FOLLOWING) +#define FRAMEOPTION_END_OFFSET \ + (FRAMEOPTION_END_OFFSET_PRECEDING | FRAMEOPTION_END_OFFSET_FOLLOWING) +#define FRAMEOPTION_EXCLUSION \ + (FRAMEOPTION_EXCLUDE_CURRENT_ROW | FRAMEOPTION_EXCLUDE_GROUP | \ + FRAMEOPTION_EXCLUDE_TIES) + +#define FRAMEOPTION_DEFAULTS \ + (FRAMEOPTION_RANGE | FRAMEOPTION_START_UNBOUNDED_PRECEDING | \ + FRAMEOPTION_END_CURRENT_ROW) /* * PGRangeSubselect - subquery appearing in a FROM clause @@ -2024,6 +2034,17 @@ typedef struct PGImportStmt { char *filename; /* filename */ } PGImportStmt; +/* ---------------------- + * Copy Database Statement + * ---------------------- + */ +typedef struct PGCopyDatabaseStmt { + PGNodeTag type; + const char *from_database; + const char *to_database; + const char *copy_database_flag; +} PGCopyDatabaseStmt; + /* ---------------------- * Interval Constant * ---------------------- @@ -2116,6 +2137,7 @@ typedef struct PGAttachStmt char *name; /* The name of the attached database */ PGList *options; /* PGList of PGDefElem nodes */ PGNode *query; + PGOnCreateConflict onconflict; /* what to do on attach conflict */ } PGAttachStmt; /* ---------------------- @@ -2302,4 +2324,43 @@ typedef struct PGPathInfo { PGList *path, *elements; } PGPathInfo; +/* ---------------------- + * Create Secret Statement + * ---------------------- + */ +typedef struct PGCreateSecretStmt { + PGNodeTag type; + char *persist_type; /* the requested persist mode */ + char *secret_name; /* name of the secret */ + char *secret_storage; /* the optional storage type of the secret */ + PGList *scope; /* optionally the scopes of the secret */ + PGList *options; /* Secret options */ + PGOnCreateConflict onconflict; /* what to do on create conflict */ +} PGCreateSecretStmt; + + +/* ---------------------- + * Drop Secret Statement + * ---------------------- + */ +typedef struct PGDropSecretStmt { + PGNodeTag type; + char *persist_type; /* the requested persist mode */ + char *secret_name; /* name of the secret */ + char *secret_storage; + bool missing_ok; +} PGDropSecretStmt; + +/* ---------------------- + * Comment On Statement + * ---------------------- + */ +typedef struct PGCommentOnStmt { + PGNodeTag type; + PGObjectType object_type; /* object type */ + PGRangeVar *name; /* the object to comment on */ + PGNode *value; /* the comment: a string or NULL*/ + PGNode *column_expr; +} PGCommentOnStmt; + } diff --git a/third_party/libpg_query/include/parser/gram.hpp b/third_party/libpg_query/include/parser/gram.hpp index 1d0d1533ba62..14e4d918ad30 100644 --- a/third_party/libpg_query/include/parser/gram.hpp +++ b/third_party/libpg_query/include/parser/gram.hpp @@ -121,445 +121,458 @@ extern int base_yydebug; CASE = 322, /* CASE */ CAST = 323, /* CAST */ CATALOG_P = 324, /* CATALOG_P */ - CHAIN = 325, /* CHAIN */ - CHAR_P = 326, /* CHAR_P */ - CHARACTER = 327, /* CHARACTER */ - CHARACTERISTICS = 328, /* CHARACTERISTICS */ - CHECK_P = 329, /* CHECK_P */ - CHECKPOINT = 330, /* CHECKPOINT */ - CLASS = 331, /* CLASS */ - CLOSE = 332, /* CLOSE */ - CLUSTER = 333, /* CLUSTER */ - COALESCE = 334, /* COALESCE */ - COLLATE = 335, /* COLLATE */ - COLLATION = 336, /* COLLATION */ - COLUMN = 337, /* COLUMN */ - COLUMNS = 338, /* COLUMNS */ - COMMENT = 339, /* COMMENT */ - COMMENTS = 340, /* COMMENTS */ - COMMIT = 341, /* COMMIT */ - COMMITTED = 342, /* COMMITTED */ - COMPRESSION = 343, /* COMPRESSION */ - CONCURRENTLY = 344, /* CONCURRENTLY */ - CONFIGURATION = 345, /* CONFIGURATION */ - CONFLICT = 346, /* CONFLICT */ - CONNECTION = 347, /* CONNECTION */ - CONSTRAINT = 348, /* CONSTRAINT */ - CONSTRAINTS = 349, /* CONSTRAINTS */ - CONTENT_P = 350, /* CONTENT_P */ - CONTINUE_P = 351, /* CONTINUE_P */ - CONVERSION_P = 352, /* CONVERSION_P */ - COPY = 353, /* COPY */ - COST = 354, /* COST */ - CREATE_P = 355, /* CREATE_P */ - CROSS = 356, /* CROSS */ - CSV = 357, /* CSV */ - CUBE = 358, /* CUBE */ - CURRENT_P = 359, /* CURRENT_P */ - CURSOR = 360, /* CURSOR */ - CYCLE = 361, /* CYCLE */ - DATA_P = 362, /* DATA_P */ - DATABASE = 363, /* DATABASE */ - DAY_P = 364, /* DAY_P */ - DAYS_P = 365, /* DAYS_P */ - DEALLOCATE = 366, /* DEALLOCATE */ - DEC = 367, /* DEC */ - DECIMAL_P = 368, /* DECIMAL_P */ - DECLARE = 369, /* DECLARE */ - DEFAULT = 370, /* DEFAULT */ - DEFAULTS = 371, /* DEFAULTS */ - DEFERRABLE = 372, /* DEFERRABLE */ - DEFERRED = 373, /* DEFERRED */ - DEFINER = 374, /* DEFINER */ - DELETE_P = 375, /* DELETE_P */ - DELIMITER = 376, /* DELIMITER */ - DELIMITERS = 377, /* DELIMITERS */ - DEPENDS = 378, /* DEPENDS */ - DESC_P = 379, /* DESC_P */ - DESCRIBE = 380, /* DESCRIBE */ - DESTINATION = 381, /* DESTINATION */ - DETACH = 382, /* DETACH */ - DICTIONARY = 383, /* DICTIONARY */ - DISABLE_P = 384, /* DISABLE_P */ - DISCARD = 385, /* DISCARD */ - DISTINCT = 386, /* DISTINCT */ - DO = 387, /* DO */ - DOCUMENT_P = 388, /* DOCUMENT_P */ - DOMAIN_P = 389, /* DOMAIN_P */ - DOUBLE_P = 390, /* DOUBLE_P */ - DROP = 391, /* DROP */ - EACH = 392, /* EACH */ - EDGE = 393, /* EDGE */ - ELEMENT_ID = 394, /* ELEMENT_ID */ - ELSE = 395, /* ELSE */ - ENABLE_P = 396, /* ENABLE_P */ - ENCODING = 397, /* ENCODING */ - ENCRYPTED = 398, /* ENCRYPTED */ - END_P = 399, /* END_P */ - ENUM_P = 400, /* ENUM_P */ - ESCAPE = 401, /* ESCAPE */ - EVENT = 402, /* EVENT */ - EXCEPT = 403, /* EXCEPT */ - EXCLUDE = 404, /* EXCLUDE */ - EXCLUDING = 405, /* EXCLUDING */ - EXCLUSIVE = 406, /* EXCLUSIVE */ - EXECUTE = 407, /* EXECUTE */ - EXISTS = 408, /* EXISTS */ - EXPLAIN = 409, /* EXPLAIN */ - EXPORT_P = 410, /* EXPORT_P */ - EXPORT_STATE = 411, /* EXPORT_STATE */ - EXTENSION = 412, /* EXTENSION */ - EXTERNAL = 413, /* EXTERNAL */ - EXTRACT = 414, /* EXTRACT */ - FALSE_P = 415, /* FALSE_P */ - FAMILY = 416, /* FAMILY */ - FETCH = 417, /* FETCH */ - FILTER = 418, /* FILTER */ - FIRST_P = 419, /* FIRST_P */ - FLOAT_P = 420, /* FLOAT_P */ - FOLLOWING = 421, /* FOLLOWING */ - FOR = 422, /* FOR */ - FORCE = 423, /* FORCE */ - FOREIGN = 424, /* FOREIGN */ - FORWARD = 425, /* FORWARD */ - FREEZE = 426, /* FREEZE */ - FROM = 427, /* FROM */ - FULL = 428, /* FULL */ - FUNCTION = 429, /* FUNCTION */ - FUNCTIONS = 430, /* FUNCTIONS */ - GENERATED = 431, /* GENERATED */ - GLOB = 432, /* GLOB */ - GLOBAL = 433, /* GLOBAL */ - GRANT = 434, /* GRANT */ - GRANTED = 435, /* GRANTED */ - GRAPH = 436, /* GRAPH */ - GRAPH_TABLE = 437, /* GRAPH_TABLE */ - GROUP_P = 438, /* GROUP_P */ - GROUPING = 439, /* GROUPING */ - GROUPING_ID = 440, /* GROUPING_ID */ - GROUPS = 441, /* GROUPS */ - HANDLER = 442, /* HANDLER */ - HAVING = 443, /* HAVING */ - HEADER_P = 444, /* HEADER_P */ - HOLD = 445, /* HOLD */ - HOUR_P = 446, /* HOUR_P */ - HOURS_P = 447, /* HOURS_P */ - IDENTITY_P = 448, /* IDENTITY_P */ - IF_P = 449, /* IF_P */ - IGNORE_P = 450, /* IGNORE_P */ - ILIKE = 451, /* ILIKE */ - IMMEDIATE = 452, /* IMMEDIATE */ - IMMUTABLE = 453, /* IMMUTABLE */ - IMPLICIT_P = 454, /* IMPLICIT_P */ - IMPORT_P = 455, /* IMPORT_P */ - IN_P = 456, /* IN_P */ - INCLUDE_P = 457, /* INCLUDE_P */ - INCLUDING = 458, /* INCLUDING */ - INCREMENT = 459, /* INCREMENT */ - INDEX = 460, /* INDEX */ - INDEXES = 461, /* INDEXES */ - INHERIT = 462, /* INHERIT */ - INHERITS = 463, /* INHERITS */ - INITIALLY = 464, /* INITIALLY */ - INLINE_P = 465, /* INLINE_P */ - INNER_P = 466, /* INNER_P */ - INOUT = 467, /* INOUT */ - INPUT_P = 468, /* INPUT_P */ - INSENSITIVE = 469, /* INSENSITIVE */ - INSERT = 470, /* INSERT */ - INSTALL = 471, /* INSTALL */ - INSTEAD = 472, /* INSTEAD */ - INT_P = 473, /* INT_P */ - INTEGER = 474, /* INTEGER */ - INTERSECT = 475, /* INTERSECT */ - INTERVAL = 476, /* INTERVAL */ - INTO = 477, /* INTO */ - INVOKER = 478, /* INVOKER */ - IS = 479, /* IS */ - ISNULL = 480, /* ISNULL */ - ISOLATION = 481, /* ISOLATION */ - JOIN = 482, /* JOIN */ - JSON = 483, /* JSON */ - KEEP = 484, /* KEEP */ - KEY = 485, /* KEY */ - LABEL = 486, /* LABEL */ - LANGUAGE = 487, /* LANGUAGE */ - LARGE_P = 488, /* LARGE_P */ - LAST_P = 489, /* LAST_P */ - LATERAL_P = 490, /* LATERAL_P */ - LEADING = 491, /* LEADING */ - LEAKPROOF = 492, /* LEAKPROOF */ - LEFT = 493, /* LEFT */ - LEVEL = 494, /* LEVEL */ - LIKE = 495, /* LIKE */ - LIMIT = 496, /* LIMIT */ - LISTEN = 497, /* LISTEN */ - LOAD = 498, /* LOAD */ - LOCAL = 499, /* LOCAL */ - LOCATION = 500, /* LOCATION */ - LOCK_P = 501, /* LOCK_P */ - LOCKED = 502, /* LOCKED */ - LOGGED = 503, /* LOGGED */ - MACRO = 504, /* MACRO */ - MAP = 505, /* MAP */ - MAPPING = 506, /* MAPPING */ - MATCH = 507, /* MATCH */ - MATERIALIZED = 508, /* MATERIALIZED */ - MAXVALUE = 509, /* MAXVALUE */ - METHOD = 510, /* METHOD */ - MICROSECOND_P = 511, /* MICROSECOND_P */ - MICROSECONDS_P = 512, /* MICROSECONDS_P */ - MILLISECOND_P = 513, /* MILLISECOND_P */ - MILLISECONDS_P = 514, /* MILLISECONDS_P */ - MINUTE_P = 515, /* MINUTE_P */ - MINUTES_P = 516, /* MINUTES_P */ - MINVALUE = 517, /* MINVALUE */ - MODE = 518, /* MODE */ - MONTH_P = 519, /* MONTH_P */ - MONTHS_P = 520, /* MONTHS_P */ - MOVE = 521, /* MOVE */ - NAME_P = 522, /* NAME_P */ - NAMES = 523, /* NAMES */ - NATIONAL = 524, /* NATIONAL */ - NATURAL = 525, /* NATURAL */ - NCHAR = 526, /* NCHAR */ - NEW = 527, /* NEW */ - NEXT = 528, /* NEXT */ - NO = 529, /* NO */ - NODE = 530, /* NODE */ - NONE = 531, /* NONE */ - NOT = 532, /* NOT */ - NOTHING = 533, /* NOTHING */ - NOTIFY = 534, /* NOTIFY */ - NOTNULL = 535, /* NOTNULL */ - NOWAIT = 536, /* NOWAIT */ - NULL_P = 537, /* NULL_P */ - NULLIF = 538, /* NULLIF */ - NULLS_P = 539, /* NULLS_P */ - NUMERIC = 540, /* NUMERIC */ - OBJECT_P = 541, /* OBJECT_P */ - OF = 542, /* OF */ - OFF = 543, /* OFF */ - OFFSET = 544, /* OFFSET */ - OIDS = 545, /* OIDS */ - OLD = 546, /* OLD */ - ON = 547, /* ON */ - ONLY = 548, /* ONLY */ - OPERATOR = 549, /* OPERATOR */ - OPTION = 550, /* OPTION */ - OPTIONS = 551, /* OPTIONS */ - OR = 552, /* OR */ - ORDER = 553, /* ORDER */ - ORDINALITY = 554, /* ORDINALITY */ - OUT_P = 555, /* OUT_P */ - OUTER_P = 556, /* OUTER_P */ - OVER = 557, /* OVER */ - OVERLAPS = 558, /* OVERLAPS */ - OVERLAY = 559, /* OVERLAY */ - OVERRIDING = 560, /* OVERRIDING */ - OWNED = 561, /* OWNED */ - OWNER = 562, /* OWNER */ - PARALLEL = 563, /* PARALLEL */ - PARSER = 564, /* PARSER */ - PARTIAL = 565, /* PARTIAL */ - PARTITION = 566, /* PARTITION */ - PASSING = 567, /* PASSING */ - PASSWORD = 568, /* PASSWORD */ - PATH = 569, /* PATH */ - PATHS = 570, /* PATHS */ - PERCENT = 571, /* PERCENT */ - PIVOT = 572, /* PIVOT */ - PIVOT_LONGER = 573, /* PIVOT_LONGER */ - PIVOT_WIDER = 574, /* PIVOT_WIDER */ - PLACING = 575, /* PLACING */ - PLANS = 576, /* PLANS */ - POLICY = 577, /* POLICY */ - POSITION = 578, /* POSITION */ - POSITIONAL = 579, /* POSITIONAL */ - PRAGMA_P = 580, /* PRAGMA_P */ - PRECEDING = 581, /* PRECEDING */ - PRECISION = 582, /* PRECISION */ - PREPARE = 583, /* PREPARE */ - PREPARED = 584, /* PREPARED */ - PRESERVE = 585, /* PRESERVE */ - PRIMARY = 586, /* PRIMARY */ - PRIOR = 587, /* PRIOR */ - PRIVILEGES = 588, /* PRIVILEGES */ - PROCEDURAL = 589, /* PROCEDURAL */ - PROCEDURE = 590, /* PROCEDURE */ - PROGRAM = 591, /* PROGRAM */ - PROPERTIES = 592, /* PROPERTIES */ - PROPERTY = 593, /* PROPERTY */ - PUBLICATION = 594, /* PUBLICATION */ - QUALIFY = 595, /* QUALIFY */ - QUOTE = 596, /* QUOTE */ - RANGE = 597, /* RANGE */ - READ_P = 598, /* READ_P */ - REAL = 599, /* REAL */ - REASSIGN = 600, /* REASSIGN */ - RECHECK = 601, /* RECHECK */ - RECURSIVE = 602, /* RECURSIVE */ - REF = 603, /* REF */ - REFERENCES = 604, /* REFERENCES */ - REFERENCING = 605, /* REFERENCING */ - REFRESH = 606, /* REFRESH */ - REINDEX = 607, /* REINDEX */ - RELATIONSHIP = 608, /* RELATIONSHIP */ - RELATIVE_P = 609, /* RELATIVE_P */ - RELEASE = 610, /* RELEASE */ - RENAME = 611, /* RENAME */ - REPEATABLE = 612, /* REPEATABLE */ - REPLACE = 613, /* REPLACE */ - REPLICA = 614, /* REPLICA */ - RESET = 615, /* RESET */ - RESPECT_P = 616, /* RESPECT_P */ - RESTART = 617, /* RESTART */ - RESTRICT = 618, /* RESTRICT */ - RETURNING = 619, /* RETURNING */ - RETURNS = 620, /* RETURNS */ - REVOKE = 621, /* REVOKE */ - RIGHT = 622, /* RIGHT */ - ROLE = 623, /* ROLE */ - ROLLBACK = 624, /* ROLLBACK */ - ROLLUP = 625, /* ROLLUP */ - ROW = 626, /* ROW */ - ROWS = 627, /* ROWS */ - RULE = 628, /* RULE */ - SAMPLE = 629, /* SAMPLE */ - SAVEPOINT = 630, /* SAVEPOINT */ - SCHEMA = 631, /* SCHEMA */ - SCHEMAS = 632, /* SCHEMAS */ - SCROLL = 633, /* SCROLL */ - SEARCH = 634, /* SEARCH */ - SECOND_P = 635, /* SECOND_P */ - SECONDS_P = 636, /* SECONDS_P */ - SECURITY = 637, /* SECURITY */ - SELECT = 638, /* SELECT */ - SEMI = 639, /* SEMI */ - SEQUENCE = 640, /* SEQUENCE */ - SEQUENCES = 641, /* SEQUENCES */ - SERIALIZABLE = 642, /* SERIALIZABLE */ - SERVER = 643, /* SERVER */ - SESSION = 644, /* SESSION */ - SET = 645, /* SET */ - SETOF = 646, /* SETOF */ - SETS = 647, /* SETS */ - SHARE = 648, /* SHARE */ - SHORTEST = 649, /* SHORTEST */ - SHOW = 650, /* SHOW */ - SIMILAR = 651, /* SIMILAR */ - SIMPLE = 652, /* SIMPLE */ - SKIP = 653, /* SKIP */ - SMALLINT = 654, /* SMALLINT */ - SNAPSHOT = 655, /* SNAPSHOT */ - SOME = 656, /* SOME */ - SOURCE = 657, /* SOURCE */ - SQL_P = 658, /* SQL_P */ - STABLE = 659, /* STABLE */ - STANDALONE_P = 660, /* STANDALONE_P */ - START = 661, /* START */ - STATEMENT = 662, /* STATEMENT */ - STATISTICS = 663, /* STATISTICS */ - STDIN = 664, /* STDIN */ - STDOUT = 665, /* STDOUT */ - STORAGE = 666, /* STORAGE */ - STORED = 667, /* STORED */ - STRICT_P = 668, /* STRICT_P */ - STRIP_P = 669, /* STRIP_P */ - STRUCT = 670, /* STRUCT */ - SUBSCRIPTION = 671, /* SUBSCRIPTION */ - SUBSTRING = 672, /* SUBSTRING */ - SUMMARIZE = 673, /* SUMMARIZE */ - SYMMETRIC = 674, /* SYMMETRIC */ - SYSID = 675, /* SYSID */ - SYSTEM_P = 676, /* SYSTEM_P */ - TABLE = 677, /* TABLE */ - TABLES = 678, /* TABLES */ - TABLESAMPLE = 679, /* TABLESAMPLE */ - TABLESPACE = 680, /* TABLESPACE */ - TEMP = 681, /* TEMP */ - TEMPLATE = 682, /* TEMPLATE */ - TEMPORARY = 683, /* TEMPORARY */ - TEXT_P = 684, /* TEXT_P */ - THEN = 685, /* THEN */ - TIME = 686, /* TIME */ - TIMESTAMP = 687, /* TIMESTAMP */ - TO = 688, /* TO */ - TRAIL = 689, /* TRAIL */ - TRAILING = 690, /* TRAILING */ - TRANSACTION = 691, /* TRANSACTION */ - TRANSFORM = 692, /* TRANSFORM */ - TREAT = 693, /* TREAT */ - TRIGGER = 694, /* TRIGGER */ - TRIM = 695, /* TRIM */ - TRUE_P = 696, /* TRUE_P */ - TRUNCATE = 697, /* TRUNCATE */ - TRUSTED = 698, /* TRUSTED */ - TRY_CAST = 699, /* TRY_CAST */ - TYPE_P = 700, /* TYPE_P */ - TYPES_P = 701, /* TYPES_P */ - UNBOUNDED = 702, /* UNBOUNDED */ - UNCOMMITTED = 703, /* UNCOMMITTED */ - UNENCRYPTED = 704, /* UNENCRYPTED */ - UNION = 705, /* UNION */ - UNIQUE = 706, /* UNIQUE */ - UNKNOWN = 707, /* UNKNOWN */ - UNLISTEN = 708, /* UNLISTEN */ - UNLOGGED = 709, /* UNLOGGED */ - UNPIVOT = 710, /* UNPIVOT */ - UNTIL = 711, /* UNTIL */ - UPDATE = 712, /* UPDATE */ - USE_P = 713, /* USE_P */ - USER = 714, /* USER */ - USING = 715, /* USING */ - VACUUM = 716, /* VACUUM */ - VALID = 717, /* VALID */ - VALIDATE = 718, /* VALIDATE */ - VALIDATOR = 719, /* VALIDATOR */ - VALUE_P = 720, /* VALUE_P */ - VALUES = 721, /* VALUES */ - VARCHAR = 722, /* VARCHAR */ - VARIADIC = 723, /* VARIADIC */ - VARYING = 724, /* VARYING */ - VERBOSE = 725, /* VERBOSE */ - VERSION_P = 726, /* VERSION_P */ - VERTEX = 727, /* VERTEX */ - VIEW = 728, /* VIEW */ - VIEWS = 729, /* VIEWS */ - VIRTUAL = 730, /* VIRTUAL */ - VOLATILE = 731, /* VOLATILE */ - WALK = 732, /* WALK */ - WHEN = 733, /* WHEN */ - WHERE = 734, /* WHERE */ - WHITESPACE_P = 735, /* WHITESPACE_P */ - WINDOW = 736, /* WINDOW */ - WITH = 737, /* WITH */ - WITHIN = 738, /* WITHIN */ - WITHOUT = 739, /* WITHOUT */ - WORK = 740, /* WORK */ - WRAPPER = 741, /* WRAPPER */ - WRITE_P = 742, /* WRITE_P */ - XML_P = 743, /* XML_P */ - XMLATTRIBUTES = 744, /* XMLATTRIBUTES */ - XMLCONCAT = 745, /* XMLCONCAT */ - XMLELEMENT = 746, /* XMLELEMENT */ - XMLEXISTS = 747, /* XMLEXISTS */ - XMLFOREST = 748, /* XMLFOREST */ - XMLNAMESPACES = 749, /* XMLNAMESPACES */ - XMLPARSE = 750, /* XMLPARSE */ - XMLPI = 751, /* XMLPI */ - XMLROOT = 752, /* XMLROOT */ - XMLSERIALIZE = 753, /* XMLSERIALIZE */ - XMLTABLE = 754, /* XMLTABLE */ - YEAR_P = 755, /* YEAR_P */ - YEARS_P = 756, /* YEARS_P */ - YES_P = 757, /* YES_P */ - ZONE = 758, /* ZONE */ - NOT_LA = 759, /* NOT_LA */ - NULLS_LA = 760, /* NULLS_LA */ - WITH_LA = 761, /* WITH_LA */ - POSTFIXOP = 762, /* POSTFIXOP */ - UMINUS = 763 /* UMINUS */ + CENTURIES_P = 325, /* CENTURIES_P */ + CENTURY_P = 326, /* CENTURY_P */ + CHAIN = 327, /* CHAIN */ + CHAR_P = 328, /* CHAR_P */ + CHARACTER = 329, /* CHARACTER */ + CHARACTERISTICS = 330, /* CHARACTERISTICS */ + CHECK_P = 331, /* CHECK_P */ + CHECKPOINT = 332, /* CHECKPOINT */ + CLASS = 333, /* CLASS */ + CLOSE = 334, /* CLOSE */ + CLUSTER = 335, /* CLUSTER */ + COALESCE = 336, /* COALESCE */ + COLLATE = 337, /* COLLATE */ + COLLATION = 338, /* COLLATION */ + COLUMN = 339, /* COLUMN */ + COLUMNS = 340, /* COLUMNS */ + COMMENT = 341, /* COMMENT */ + COMMENTS = 342, /* COMMENTS */ + COMMIT = 343, /* COMMIT */ + COMMITTED = 344, /* COMMITTED */ + COMPRESSION = 345, /* COMPRESSION */ + CONCURRENTLY = 346, /* CONCURRENTLY */ + CONFIGURATION = 347, /* CONFIGURATION */ + CONFLICT = 348, /* CONFLICT */ + CONNECTION = 349, /* CONNECTION */ + CONSTRAINT = 350, /* CONSTRAINT */ + CONSTRAINTS = 351, /* CONSTRAINTS */ + CONTENT_P = 352, /* CONTENT_P */ + CONTINUE_P = 353, /* CONTINUE_P */ + CONVERSION_P = 354, /* CONVERSION_P */ + COPY = 355, /* COPY */ + COST = 356, /* COST */ + CREATE_P = 357, /* CREATE_P */ + CROSS = 358, /* CROSS */ + CSV = 359, /* CSV */ + CUBE = 360, /* CUBE */ + CURRENT_P = 361, /* CURRENT_P */ + CURSOR = 362, /* CURSOR */ + CYCLE = 363, /* CYCLE */ + DATA_P = 364, /* DATA_P */ + DATABASE = 365, /* DATABASE */ + DAY_P = 366, /* DAY_P */ + DAYS_P = 367, /* DAYS_P */ + DEALLOCATE = 368, /* DEALLOCATE */ + DEC = 369, /* DEC */ + DECADE_P = 370, /* DECADE_P */ + DECADES_P = 371, /* DECADES_P */ + DECIMAL_P = 372, /* DECIMAL_P */ + DECLARE = 373, /* DECLARE */ + DEFAULT = 374, /* DEFAULT */ + DEFAULTS = 375, /* DEFAULTS */ + DEFERRABLE = 376, /* DEFERRABLE */ + DEFERRED = 377, /* DEFERRED */ + DEFINER = 378, /* DEFINER */ + DELETE_P = 379, /* DELETE_P */ + DELIMITER = 380, /* DELIMITER */ + DELIMITERS = 381, /* DELIMITERS */ + DEPENDS = 382, /* DEPENDS */ + DESC_P = 383, /* DESC_P */ + DESCRIBE = 384, /* DESCRIBE */ + DESTINATION = 385, /* DESTINATION */ + DETACH = 386, /* DETACH */ + DICTIONARY = 387, /* DICTIONARY */ + DISABLE_P = 388, /* DISABLE_P */ + DISCARD = 389, /* DISCARD */ + DISTINCT = 390, /* DISTINCT */ + DO = 391, /* DO */ + DOCUMENT_P = 392, /* DOCUMENT_P */ + DOMAIN_P = 393, /* DOMAIN_P */ + DOUBLE_P = 394, /* DOUBLE_P */ + DROP = 395, /* DROP */ + EACH = 396, /* EACH */ + EDGE = 397, /* EDGE */ + ELEMENT_ID = 398, /* ELEMENT_ID */ + ELSE = 399, /* ELSE */ + ENABLE_P = 400, /* ENABLE_P */ + ENCODING = 401, /* ENCODING */ + ENCRYPTED = 402, /* ENCRYPTED */ + END_P = 403, /* END_P */ + ENUM_P = 404, /* ENUM_P */ + ESCAPE = 405, /* ESCAPE */ + EVENT = 406, /* EVENT */ + EXCEPT = 407, /* EXCEPT */ + EXCLUDE = 408, /* EXCLUDE */ + EXCLUDING = 409, /* EXCLUDING */ + EXCLUSIVE = 410, /* EXCLUSIVE */ + EXECUTE = 411, /* EXECUTE */ + EXISTS = 412, /* EXISTS */ + EXPLAIN = 413, /* EXPLAIN */ + EXPORT_P = 414, /* EXPORT_P */ + EXPORT_STATE = 415, /* EXPORT_STATE */ + EXTENSION = 416, /* EXTENSION */ + EXTERNAL = 417, /* EXTERNAL */ + EXTRACT = 418, /* EXTRACT */ + FALSE_P = 419, /* FALSE_P */ + FAMILY = 420, /* FAMILY */ + FETCH = 421, /* FETCH */ + FILTER = 422, /* FILTER */ + FIRST_P = 423, /* FIRST_P */ + FLOAT_P = 424, /* FLOAT_P */ + FOLLOWING = 425, /* FOLLOWING */ + FOR = 426, /* FOR */ + FORCE = 427, /* FORCE */ + FOREIGN = 428, /* FOREIGN */ + FORWARD = 429, /* FORWARD */ + FREEZE = 430, /* FREEZE */ + FROM = 431, /* FROM */ + FULL = 432, /* FULL */ + FUNCTION = 433, /* FUNCTION */ + FUNCTIONS = 434, /* FUNCTIONS */ + GENERATED = 435, /* GENERATED */ + GLOB = 436, /* GLOB */ + GLOBAL = 437, /* GLOBAL */ + GRANT = 438, /* GRANT */ + GRANTED = 439, /* GRANTED */ + GRAPH = 440, /* GRAPH */ + GRAPH_TABLE = 441, /* GRAPH_TABLE */ + GROUP_P = 442, /* GROUP_P */ + GROUPING = 443, /* GROUPING */ + GROUPING_ID = 444, /* GROUPING_ID */ + GROUPS = 445, /* GROUPS */ + HANDLER = 446, /* HANDLER */ + HAVING = 447, /* HAVING */ + HEADER_P = 448, /* HEADER_P */ + HOLD = 449, /* HOLD */ + HOUR_P = 450, /* HOUR_P */ + HOURS_P = 451, /* HOURS_P */ + IDENTITY_P = 452, /* IDENTITY_P */ + IF_P = 453, /* IF_P */ + IGNORE_P = 454, /* IGNORE_P */ + ILIKE = 455, /* ILIKE */ + IMMEDIATE = 456, /* IMMEDIATE */ + IMMUTABLE = 457, /* IMMUTABLE */ + IMPLICIT_P = 458, /* IMPLICIT_P */ + IMPORT_P = 459, /* IMPORT_P */ + IN_P = 460, /* IN_P */ + INCLUDE_P = 461, /* INCLUDE_P */ + INCLUDING = 462, /* INCLUDING */ + INCREMENT = 463, /* INCREMENT */ + INDEX = 464, /* INDEX */ + INDEXES = 465, /* INDEXES */ + INHERIT = 466, /* INHERIT */ + INHERITS = 467, /* INHERITS */ + INITIALLY = 468, /* INITIALLY */ + INLINE_P = 469, /* INLINE_P */ + INNER_P = 470, /* INNER_P */ + INOUT = 471, /* INOUT */ + INPUT_P = 472, /* INPUT_P */ + INSENSITIVE = 473, /* INSENSITIVE */ + INSERT = 474, /* INSERT */ + INSTALL = 475, /* INSTALL */ + INSTEAD = 476, /* INSTEAD */ + INT_P = 477, /* INT_P */ + INTEGER = 478, /* INTEGER */ + INTERSECT = 479, /* INTERSECT */ + INTERVAL = 480, /* INTERVAL */ + INTO = 481, /* INTO */ + INVOKER = 482, /* INVOKER */ + IS = 483, /* IS */ + ISNULL = 484, /* ISNULL */ + ISOLATION = 485, /* ISOLATION */ + JOIN = 486, /* JOIN */ + JSON = 487, /* JSON */ + KEEP = 488, /* KEEP */ + KEY = 489, /* KEY */ + LABEL = 490, /* LABEL */ + LANGUAGE = 491, /* LANGUAGE */ + LARGE_P = 492, /* LARGE_P */ + LAST_P = 493, /* LAST_P */ + LATERAL_P = 494, /* LATERAL_P */ + LEADING = 495, /* LEADING */ + LEAKPROOF = 496, /* LEAKPROOF */ + LEFT = 497, /* LEFT */ + LEVEL = 498, /* LEVEL */ + LIKE = 499, /* LIKE */ + LIMIT = 500, /* LIMIT */ + LISTEN = 501, /* LISTEN */ + LOAD = 502, /* LOAD */ + LOCAL = 503, /* LOCAL */ + LOCATION = 504, /* LOCATION */ + LOCK_P = 505, /* LOCK_P */ + LOCKED = 506, /* LOCKED */ + LOGGED = 507, /* LOGGED */ + MACRO = 508, /* MACRO */ + MAP = 509, /* MAP */ + MAPPING = 510, /* MAPPING */ + MATCH = 511, /* MATCH */ + MATERIALIZED = 512, /* MATERIALIZED */ + MAXVALUE = 513, /* MAXVALUE */ + METHOD = 514, /* METHOD */ + MICROSECOND_P = 515, /* MICROSECOND_P */ + MICROSECONDS_P = 516, /* MICROSECONDS_P */ + MILLENNIA_P = 517, /* MILLENNIA_P */ + MILLENNIUM_P = 518, /* MILLENNIUM_P */ + MILLISECOND_P = 519, /* MILLISECOND_P */ + MILLISECONDS_P = 520, /* MILLISECONDS_P */ + MINUTE_P = 521, /* MINUTE_P */ + MINUTES_P = 522, /* MINUTES_P */ + MINVALUE = 523, /* MINVALUE */ + MODE = 524, /* MODE */ + MONTH_P = 525, /* MONTH_P */ + MONTHS_P = 526, /* MONTHS_P */ + MOVE = 527, /* MOVE */ + NAME_P = 528, /* NAME_P */ + NAMES = 529, /* NAMES */ + NATIONAL = 530, /* NATIONAL */ + NATURAL = 531, /* NATURAL */ + NCHAR = 532, /* NCHAR */ + NEW = 533, /* NEW */ + NEXT = 534, /* NEXT */ + NO = 535, /* NO */ + NODE = 536, /* NODE */ + NONE = 537, /* NONE */ + NOT = 538, /* NOT */ + NOTHING = 539, /* NOTHING */ + NOTIFY = 540, /* NOTIFY */ + NOTNULL = 541, /* NOTNULL */ + NOWAIT = 542, /* NOWAIT */ + NULL_P = 543, /* NULL_P */ + NULLIF = 544, /* NULLIF */ + NULLS_P = 545, /* NULLS_P */ + NUMERIC = 546, /* NUMERIC */ + OBJECT_P = 547, /* OBJECT_P */ + OF = 548, /* OF */ + OFF = 549, /* OFF */ + OFFSET = 550, /* OFFSET */ + OIDS = 551, /* OIDS */ + OLD = 552, /* OLD */ + ON = 553, /* ON */ + ONLY = 554, /* ONLY */ + OPERATOR = 555, /* OPERATOR */ + OPTION = 556, /* OPTION */ + OPTIONS = 557, /* OPTIONS */ + OR = 558, /* OR */ + ORDER = 559, /* ORDER */ + ORDINALITY = 560, /* ORDINALITY */ + OTHERS = 561, /* OTHERS */ + OUT_P = 562, /* OUT_P */ + OUTER_P = 563, /* OUTER_P */ + OVER = 564, /* OVER */ + OVERLAPS = 565, /* OVERLAPS */ + OVERLAY = 566, /* OVERLAY */ + OVERRIDING = 567, /* OVERRIDING */ + OWNED = 568, /* OWNED */ + OWNER = 569, /* OWNER */ + PARALLEL = 570, /* PARALLEL */ + PARSER = 571, /* PARSER */ + PARTIAL = 572, /* PARTIAL */ + PARTITION = 573, /* PARTITION */ + PASSING = 574, /* PASSING */ + PASSWORD = 575, /* PASSWORD */ + PATH = 576, /* PATH */ + PATHS = 577, /* PATHS */ + PERCENT = 578, /* PERCENT */ + PERSISTENT = 579, /* PERSISTENT */ + PIVOT = 580, /* PIVOT */ + PIVOT_LONGER = 581, /* PIVOT_LONGER */ + PIVOT_WIDER = 582, /* PIVOT_WIDER */ + PLACING = 583, /* PLACING */ + PLANS = 584, /* PLANS */ + POLICY = 585, /* POLICY */ + POSITION = 586, /* POSITION */ + POSITIONAL = 587, /* POSITIONAL */ + PRAGMA_P = 588, /* PRAGMA_P */ + PRECEDING = 589, /* PRECEDING */ + PRECISION = 590, /* PRECISION */ + PREPARE = 591, /* PREPARE */ + PREPARED = 592, /* PREPARED */ + PRESERVE = 593, /* PRESERVE */ + PRIMARY = 594, /* PRIMARY */ + PRIOR = 595, /* PRIOR */ + PRIVILEGES = 596, /* PRIVILEGES */ + PROCEDURAL = 597, /* PROCEDURAL */ + PROCEDURE = 598, /* PROCEDURE */ + PROGRAM = 599, /* PROGRAM */ + PROPERTIES = 600, /* PROPERTIES */ + PROPERTY = 601, /* PROPERTY */ + PUBLICATION = 602, /* PUBLICATION */ + QUALIFY = 603, /* QUALIFY */ + QUOTE = 604, /* QUOTE */ + RANGE = 605, /* RANGE */ + READ_P = 606, /* READ_P */ + REAL = 607, /* REAL */ + REASSIGN = 608, /* REASSIGN */ + RECHECK = 609, /* RECHECK */ + RECURSIVE = 610, /* RECURSIVE */ + REF = 611, /* REF */ + REFERENCES = 612, /* REFERENCES */ + REFERENCING = 613, /* REFERENCING */ + REFRESH = 614, /* REFRESH */ + REINDEX = 615, /* REINDEX */ + RELATIONSHIP = 616, /* RELATIONSHIP */ + RELATIVE_P = 617, /* RELATIVE_P */ + RELEASE = 618, /* RELEASE */ + RENAME = 619, /* RENAME */ + REPEATABLE = 620, /* REPEATABLE */ + REPLACE = 621, /* REPLACE */ + REPLICA = 622, /* REPLICA */ + RESET = 623, /* RESET */ + RESPECT_P = 624, /* RESPECT_P */ + RESTART = 625, /* RESTART */ + RESTRICT = 626, /* RESTRICT */ + RETURNING = 627, /* RETURNING */ + RETURNS = 628, /* RETURNS */ + REVOKE = 629, /* REVOKE */ + RIGHT = 630, /* RIGHT */ + ROLE = 631, /* ROLE */ + ROLLBACK = 632, /* ROLLBACK */ + ROLLUP = 633, /* ROLLUP */ + ROW = 634, /* ROW */ + ROWS = 635, /* ROWS */ + RULE = 636, /* RULE */ + SAMPLE = 637, /* SAMPLE */ + SAVEPOINT = 638, /* SAVEPOINT */ + SCHEMA = 639, /* SCHEMA */ + SCHEMAS = 640, /* SCHEMAS */ + SCOPE = 641, /* SCOPE */ + SCROLL = 642, /* SCROLL */ + SEARCH = 643, /* SEARCH */ + SECOND_P = 644, /* SECOND_P */ + SECONDS_P = 645, /* SECONDS_P */ + SECRET = 646, /* SECRET */ + SECURITY = 647, /* SECURITY */ + SELECT = 648, /* SELECT */ + SEMI = 649, /* SEMI */ + SEQUENCE = 650, /* SEQUENCE */ + SEQUENCES = 651, /* SEQUENCES */ + SERIALIZABLE = 652, /* SERIALIZABLE */ + SERVER = 653, /* SERVER */ + SESSION = 654, /* SESSION */ + SET = 655, /* SET */ + SETOF = 656, /* SETOF */ + SETS = 657, /* SETS */ + SHARE = 658, /* SHARE */ + SHORTEST = 659, /* SHORTEST */ + SHOW = 660, /* SHOW */ + SIMILAR = 661, /* SIMILAR */ + SIMPLE = 662, /* SIMPLE */ + SKIP = 663, /* SKIP */ + SMALLINT = 664, /* SMALLINT */ + SNAPSHOT = 665, /* SNAPSHOT */ + SOME = 666, /* SOME */ + SOURCE = 667, /* SOURCE */ + SQL_P = 668, /* SQL_P */ + STABLE = 669, /* STABLE */ + STANDALONE_P = 670, /* STANDALONE_P */ + START = 671, /* START */ + STATEMENT = 672, /* STATEMENT */ + STATISTICS = 673, /* STATISTICS */ + STDIN = 674, /* STDIN */ + STDOUT = 675, /* STDOUT */ + STORAGE = 676, /* STORAGE */ + STORED = 677, /* STORED */ + STRICT_P = 678, /* STRICT_P */ + STRIP_P = 679, /* STRIP_P */ + STRUCT = 680, /* STRUCT */ + SUBSCRIPTION = 681, /* SUBSCRIPTION */ + SUBSTRING = 682, /* SUBSTRING */ + SUMMARIZE = 683, /* SUMMARIZE */ + SYMMETRIC = 684, /* SYMMETRIC */ + SYSID = 685, /* SYSID */ + SYSTEM_P = 686, /* SYSTEM_P */ + TABLE = 687, /* TABLE */ + TABLES = 688, /* TABLES */ + TABLESAMPLE = 689, /* TABLESAMPLE */ + TABLESPACE = 690, /* TABLESPACE */ + TEMP = 691, /* TEMP */ + TEMPLATE = 692, /* TEMPLATE */ + TEMPORARY = 693, /* TEMPORARY */ + TEXT_P = 694, /* TEXT_P */ + THEN = 695, /* THEN */ + TIES = 696, /* TIES */ + TIME = 697, /* TIME */ + TIMESTAMP = 698, /* TIMESTAMP */ + TO = 699, /* TO */ + TRAIL = 700, /* TRAIL */ + TRAILING = 701, /* TRAILING */ + TRANSACTION = 702, /* TRANSACTION */ + TRANSFORM = 703, /* TRANSFORM */ + TREAT = 704, /* TREAT */ + TRIGGER = 705, /* TRIGGER */ + TRIM = 706, /* TRIM */ + TRUE_P = 707, /* TRUE_P */ + TRUNCATE = 708, /* TRUNCATE */ + TRUSTED = 709, /* TRUSTED */ + TRY_CAST = 710, /* TRY_CAST */ + TYPE_P = 711, /* TYPE_P */ + TYPES_P = 712, /* TYPES_P */ + UNBOUNDED = 713, /* UNBOUNDED */ + UNCOMMITTED = 714, /* UNCOMMITTED */ + UNENCRYPTED = 715, /* UNENCRYPTED */ + UNION = 716, /* UNION */ + UNIQUE = 717, /* UNIQUE */ + UNKNOWN = 718, /* UNKNOWN */ + UNLISTEN = 719, /* UNLISTEN */ + UNLOGGED = 720, /* UNLOGGED */ + UNPIVOT = 721, /* UNPIVOT */ + UNTIL = 722, /* UNTIL */ + UPDATE = 723, /* UPDATE */ + USE_P = 724, /* USE_P */ + USER = 725, /* USER */ + USING = 726, /* USING */ + VACUUM = 727, /* VACUUM */ + VALID = 728, /* VALID */ + VALIDATE = 729, /* VALIDATE */ + VALIDATOR = 730, /* VALIDATOR */ + VALUE_P = 731, /* VALUE_P */ + VALUES = 732, /* VALUES */ + VARCHAR = 733, /* VARCHAR */ + VARIADIC = 734, /* VARIADIC */ + VARYING = 735, /* VARYING */ + VERBOSE = 736, /* VERBOSE */ + VERSION_P = 737, /* VERSION_P */ + VERTEX = 738, /* VERTEX */ + VIEW = 739, /* VIEW */ + VIEWS = 740, /* VIEWS */ + VIRTUAL = 741, /* VIRTUAL */ + VOLATILE = 742, /* VOLATILE */ + WALK = 743, /* WALK */ + WEEK_P = 744, /* WEEK_P */ + WEEKS_P = 745, /* WEEKS_P */ + WHEN = 746, /* WHEN */ + WHERE = 747, /* WHERE */ + WHITESPACE_P = 748, /* WHITESPACE_P */ + WINDOW = 749, /* WINDOW */ + WITH = 750, /* WITH */ + WITHIN = 751, /* WITHIN */ + WITHOUT = 752, /* WITHOUT */ + WORK = 753, /* WORK */ + WRAPPER = 754, /* WRAPPER */ + WRITE_P = 755, /* WRITE_P */ + XML_P = 756, /* XML_P */ + XMLATTRIBUTES = 757, /* XMLATTRIBUTES */ + XMLCONCAT = 758, /* XMLCONCAT */ + XMLELEMENT = 759, /* XMLELEMENT */ + XMLEXISTS = 760, /* XMLEXISTS */ + XMLFOREST = 761, /* XMLFOREST */ + XMLNAMESPACES = 762, /* XMLNAMESPACES */ + XMLPARSE = 763, /* XMLPARSE */ + XMLPI = 764, /* XMLPI */ + XMLROOT = 765, /* XMLROOT */ + XMLSERIALIZE = 766, /* XMLSERIALIZE */ + XMLTABLE = 767, /* XMLTABLE */ + YEAR_P = 768, /* YEAR_P */ + YEARS_P = 769, /* YEARS_P */ + YES_P = 770, /* YES_P */ + ZONE = 771, /* ZONE */ + NOT_LA = 772, /* NOT_LA */ + NULLS_LA = 773, /* NULLS_LA */ + WITH_LA = 774, /* WITH_LA */ + POSTFIXOP = 775, /* POSTFIXOP */ + UMINUS = 776 /* UMINUS */ }; typedef enum yytokentype yytoken_kind_t; #endif @@ -616,7 +629,7 @@ union YYSTYPE PGViewCheckOption viewcheckoption; PGInsertColumnOrder bynameorposition; -#line 620 "third_party/libpg_query/grammar/grammar_out.hpp" +#line 633 "third_party/libpg_query/grammar/grammar_out.hpp" }; typedef union YYSTYPE YYSTYPE; diff --git a/third_party/libpg_query/include/parser/kwlist.hpp b/third_party/libpg_query/include/parser/kwlist.hpp index 836bec05e9af..69c6b6932096 100755 --- a/third_party/libpg_query/include/parser/kwlist.hpp +++ b/third_party/libpg_query/include/parser/kwlist.hpp @@ -51,6 +51,8 @@ PG_KEYWORD("cascaded", CASCADED, UNRESERVED_KEYWORD) PG_KEYWORD("case", CASE, RESERVED_KEYWORD) PG_KEYWORD("cast", CAST, RESERVED_KEYWORD) PG_KEYWORD("catalog", CATALOG_P, UNRESERVED_KEYWORD) +PG_KEYWORD("centuries", CENTURIES_P, UNRESERVED_KEYWORD) +PG_KEYWORD("century", CENTURY_P, UNRESERVED_KEYWORD) PG_KEYWORD("chain", CHAIN, UNRESERVED_KEYWORD) PG_KEYWORD("char", CHAR_P, COL_NAME_KEYWORD) PG_KEYWORD("character", CHARACTER, COL_NAME_KEYWORD) @@ -94,6 +96,8 @@ PG_KEYWORD("day", DAY_P, UNRESERVED_KEYWORD) PG_KEYWORD("days", DAYS_P, UNRESERVED_KEYWORD) PG_KEYWORD("deallocate", DEALLOCATE, UNRESERVED_KEYWORD) PG_KEYWORD("dec", DEC, COL_NAME_KEYWORD) +PG_KEYWORD("decade", DECADE_P, UNRESERVED_KEYWORD) +PG_KEYWORD("decades", DECADES_P, UNRESERVED_KEYWORD) PG_KEYWORD("decimal", DECIMAL_P, COL_NAME_KEYWORD) PG_KEYWORD("declare", DECLARE, UNRESERVED_KEYWORD) PG_KEYWORD("default", DEFAULT, RESERVED_KEYWORD) @@ -106,7 +110,7 @@ PG_KEYWORD("delimiter", DELIMITER, UNRESERVED_KEYWORD) PG_KEYWORD("delimiters", DELIMITERS, UNRESERVED_KEYWORD) PG_KEYWORD("depends", DEPENDS, UNRESERVED_KEYWORD) PG_KEYWORD("desc", DESC_P, RESERVED_KEYWORD) -PG_KEYWORD("describe", DESCRIBE, UNRESERVED_KEYWORD) +PG_KEYWORD("describe", DESCRIBE, RESERVED_KEYWORD) PG_KEYWORD("destination", DESTINATION, PGQ_UNRESERVED_KEYWORD) PG_KEYWORD("detach", DETACH, UNRESERVED_KEYWORD) PG_KEYWORD("dictionary", DICTIONARY, UNRESERVED_KEYWORD) @@ -239,6 +243,8 @@ PG_KEYWORD("maxvalue", MAXVALUE, UNRESERVED_KEYWORD) PG_KEYWORD("method", METHOD, UNRESERVED_KEYWORD) PG_KEYWORD("microsecond", MICROSECOND_P, UNRESERVED_KEYWORD) PG_KEYWORD("microseconds", MICROSECONDS_P, UNRESERVED_KEYWORD) +PG_KEYWORD("millennia", MILLENNIA_P, UNRESERVED_KEYWORD) +PG_KEYWORD("millennium", MILLENNIUM_P, UNRESERVED_KEYWORD) PG_KEYWORD("millisecond", MILLISECOND_P, UNRESERVED_KEYWORD) PG_KEYWORD("milliseconds", MILLISECONDS_P, UNRESERVED_KEYWORD) PG_KEYWORD("minute", MINUTE_P, UNRESERVED_KEYWORD) @@ -281,6 +287,7 @@ PG_KEYWORD("options", OPTIONS, UNRESERVED_KEYWORD) PG_KEYWORD("or", OR, RESERVED_KEYWORD) PG_KEYWORD("order", ORDER, RESERVED_KEYWORD) PG_KEYWORD("ordinality", ORDINALITY, UNRESERVED_KEYWORD) +PG_KEYWORD("others", OTHERS, UNRESERVED_KEYWORD) PG_KEYWORD("out", OUT_P, COL_NAME_KEYWORD) PG_KEYWORD("outer", OUTER_P, TYPE_FUNC_NAME_KEYWORD) PG_KEYWORD("over", OVER, UNRESERVED_KEYWORD) @@ -298,6 +305,7 @@ PG_KEYWORD("password", PASSWORD, UNRESERVED_KEYWORD) PG_KEYWORD("path", PATH, PGQ_UNRESERVED_KEYWORD) PG_KEYWORD("paths", PATHS, PGQ_UNRESERVED_KEYWORD) PG_KEYWORD("percent", PERCENT, UNRESERVED_KEYWORD) +PG_KEYWORD("persistent", PERSISTENT, UNRESERVED_KEYWORD) PG_KEYWORD("pivot", PIVOT, RESERVED_KEYWORD) PG_KEYWORD("pivot_longer", PIVOT_LONGER, RESERVED_KEYWORD) PG_KEYWORD("pivot_wider", PIVOT_WIDER, RESERVED_KEYWORD) @@ -359,10 +367,12 @@ PG_KEYWORD("sample", SAMPLE, UNRESERVED_KEYWORD) PG_KEYWORD("savepoint", SAVEPOINT, UNRESERVED_KEYWORD) PG_KEYWORD("schema", SCHEMA, UNRESERVED_KEYWORD) PG_KEYWORD("schemas", SCHEMAS, UNRESERVED_KEYWORD) +PG_KEYWORD("scope", SCOPE, UNRESERVED_KEYWORD) PG_KEYWORD("scroll", SCROLL, UNRESERVED_KEYWORD) PG_KEYWORD("search", SEARCH, UNRESERVED_KEYWORD) PG_KEYWORD("second", SECOND_P, UNRESERVED_KEYWORD) PG_KEYWORD("seconds", SECONDS_P, UNRESERVED_KEYWORD) +PG_KEYWORD("secret", SECRET, UNRESERVED_KEYWORD) PG_KEYWORD("security", SECURITY, UNRESERVED_KEYWORD) PG_KEYWORD("select", SELECT, RESERVED_KEYWORD) PG_KEYWORD("semi", SEMI, TYPE_FUNC_NAME_KEYWORD) @@ -376,7 +386,7 @@ PG_KEYWORD("setof", SETOF, COL_NAME_KEYWORD) PG_KEYWORD("sets", SETS, UNRESERVED_KEYWORD) PG_KEYWORD("share", SHARE, UNRESERVED_KEYWORD) PG_KEYWORD("shortest", SHORTEST, PGQ_UNRESERVED_KEYWORD) -PG_KEYWORD("show", SHOW, UNRESERVED_KEYWORD) +PG_KEYWORD("show", SHOW, RESERVED_KEYWORD) PG_KEYWORD("similar", SIMILAR, TYPE_FUNC_NAME_KEYWORD) PG_KEYWORD("simple", SIMPLE, PGQ_UNRESERVED_KEYWORD) PG_KEYWORD("skip", SKIP, UNRESERVED_KEYWORD) @@ -399,7 +409,7 @@ PG_KEYWORD("strip", STRIP_P, UNRESERVED_KEYWORD) PG_KEYWORD("struct", STRUCT, TYPE_FUNC_NAME_KEYWORD) PG_KEYWORD("subscription", SUBSCRIPTION, UNRESERVED_KEYWORD) PG_KEYWORD("substring", SUBSTRING, COL_NAME_KEYWORD) -PG_KEYWORD("summarize", SUMMARIZE, UNRESERVED_KEYWORD) +PG_KEYWORD("summarize", SUMMARIZE, RESERVED_KEYWORD) PG_KEYWORD("symmetric", SYMMETRIC, RESERVED_KEYWORD) PG_KEYWORD("sysid", SYSID, UNRESERVED_KEYWORD) PG_KEYWORD("system", SYSTEM_P, UNRESERVED_KEYWORD) @@ -412,6 +422,7 @@ PG_KEYWORD("template", TEMPLATE, UNRESERVED_KEYWORD) PG_KEYWORD("temporary", TEMPORARY, UNRESERVED_KEYWORD) PG_KEYWORD("text", TEXT_P, UNRESERVED_KEYWORD) PG_KEYWORD("then", THEN, RESERVED_KEYWORD) +PG_KEYWORD("ties", TIES, UNRESERVED_KEYWORD) PG_KEYWORD("time", TIME, COL_NAME_KEYWORD) PG_KEYWORD("timestamp", TIMESTAMP, COL_NAME_KEYWORD) PG_KEYWORD("to", TO, RESERVED_KEYWORD) @@ -459,6 +470,8 @@ PG_KEYWORD("views", VIEWS, UNRESERVED_KEYWORD) PG_KEYWORD("virtual", VIRTUAL, UNRESERVED_KEYWORD) PG_KEYWORD("volatile", VOLATILE, UNRESERVED_KEYWORD) PG_KEYWORD("walk", WALK, PGQ_UNRESERVED_KEYWORD) +PG_KEYWORD("week", WEEK_P, UNRESERVED_KEYWORD) +PG_KEYWORD("weeks", WEEKS_P, UNRESERVED_KEYWORD) PG_KEYWORD("when", WHEN, RESERVED_KEYWORD) PG_KEYWORD("where", WHERE, RESERVED_KEYWORD) PG_KEYWORD("whitespace", WHITESPACE_P, UNRESERVED_KEYWORD) diff --git a/third_party/libpg_query/scan.l b/third_party/libpg_query/scan.l index 1acef6a5d7b1..f66b971a3f80 100644 --- a/third_party/libpg_query/scan.l +++ b/third_party/libpg_query/scan.l @@ -376,10 +376,10 @@ operator {op_chars}+ * backup when the {real} rule fails to match completely. */ -integer {digit}+ -decimal (({digit}*\.{digit}+)|({digit}+\.{digit}*)) -decimalfail {digit}+\.\. -real ({integer}|{decimal})[Ee][-+]?{digit}+ +integer {digit}("_"?{digit})* +decimal ({integer}\.{integer}?)|({integer}?\.{integer}) +decimalfail {integer}+\.\. +real ({integer}|{decimal})[Ee][-+]?{integer} realfail1 ({integer}|{decimal})[Ee] realfail2 ({integer}|{decimal})[Ee][-+] @@ -1285,6 +1285,28 @@ litbufdup(core_yyscan_t yyscanner) static int process_integer_literal(const char *token, YYSTYPE *lval) { + int underscores = 0; + int len = 0; + for(char* cursor = (char*)token; *cursor != '\0'; cursor++) + { + len++; + if(*cursor == '_') + underscores++; + } + + if(underscores != 0) + { + char* new_token = (char*)palloc(len - underscores + 1); + char* cursor = new_token; + for(char* old_cursor = (char*)token; *old_cursor != '\0'; old_cursor++) + { + if(*old_cursor != '_') + *cursor++ = *old_cursor; + } + *cursor = '\0'; + token = new_token; + } + long val; char *endptr; diff --git a/third_party/libpg_query/src_backend_parser_gram.cpp b/third_party/libpg_query/src_backend_parser_gram.cpp index 84ece2261f5c..281ecd33fafe 100644 --- a/third_party/libpg_query/src_backend_parser_gram.cpp +++ b/third_party/libpg_query/src_backend_parser_gram.cpp @@ -335,976 +335,1005 @@ enum yysymbol_kind_t YYSYMBOL_CASE = 67, /* CASE */ YYSYMBOL_CAST = 68, /* CAST */ YYSYMBOL_CATALOG_P = 69, /* CATALOG_P */ - YYSYMBOL_CHAIN = 70, /* CHAIN */ - YYSYMBOL_CHAR_P = 71, /* CHAR_P */ - YYSYMBOL_CHARACTER = 72, /* CHARACTER */ - YYSYMBOL_CHARACTERISTICS = 73, /* CHARACTERISTICS */ - YYSYMBOL_CHECK_P = 74, /* CHECK_P */ - YYSYMBOL_CHECKPOINT = 75, /* CHECKPOINT */ - YYSYMBOL_CLASS = 76, /* CLASS */ - YYSYMBOL_CLOSE = 77, /* CLOSE */ - YYSYMBOL_CLUSTER = 78, /* CLUSTER */ - YYSYMBOL_COALESCE = 79, /* COALESCE */ - YYSYMBOL_COLLATE = 80, /* COLLATE */ - YYSYMBOL_COLLATION = 81, /* COLLATION */ - YYSYMBOL_COLUMN = 82, /* COLUMN */ - YYSYMBOL_COLUMNS = 83, /* COLUMNS */ - YYSYMBOL_COMMENT = 84, /* COMMENT */ - YYSYMBOL_COMMENTS = 85, /* COMMENTS */ - YYSYMBOL_COMMIT = 86, /* COMMIT */ - YYSYMBOL_COMMITTED = 87, /* COMMITTED */ - YYSYMBOL_COMPRESSION = 88, /* COMPRESSION */ - YYSYMBOL_CONCURRENTLY = 89, /* CONCURRENTLY */ - YYSYMBOL_CONFIGURATION = 90, /* CONFIGURATION */ - YYSYMBOL_CONFLICT = 91, /* CONFLICT */ - YYSYMBOL_CONNECTION = 92, /* CONNECTION */ - YYSYMBOL_CONSTRAINT = 93, /* CONSTRAINT */ - YYSYMBOL_CONSTRAINTS = 94, /* CONSTRAINTS */ - YYSYMBOL_CONTENT_P = 95, /* CONTENT_P */ - YYSYMBOL_CONTINUE_P = 96, /* CONTINUE_P */ - YYSYMBOL_CONVERSION_P = 97, /* CONVERSION_P */ - YYSYMBOL_COPY = 98, /* COPY */ - YYSYMBOL_COST = 99, /* COST */ - YYSYMBOL_CREATE_P = 100, /* CREATE_P */ - YYSYMBOL_CROSS = 101, /* CROSS */ - YYSYMBOL_CSV = 102, /* CSV */ - YYSYMBOL_CUBE = 103, /* CUBE */ - YYSYMBOL_CURRENT_P = 104, /* CURRENT_P */ - YYSYMBOL_CURSOR = 105, /* CURSOR */ - YYSYMBOL_CYCLE = 106, /* CYCLE */ - YYSYMBOL_DATA_P = 107, /* DATA_P */ - YYSYMBOL_DATABASE = 108, /* DATABASE */ - YYSYMBOL_DAY_P = 109, /* DAY_P */ - YYSYMBOL_DAYS_P = 110, /* DAYS_P */ - YYSYMBOL_DEALLOCATE = 111, /* DEALLOCATE */ - YYSYMBOL_DEC = 112, /* DEC */ - YYSYMBOL_DECIMAL_P = 113, /* DECIMAL_P */ - YYSYMBOL_DECLARE = 114, /* DECLARE */ - YYSYMBOL_DEFAULT = 115, /* DEFAULT */ - YYSYMBOL_DEFAULTS = 116, /* DEFAULTS */ - YYSYMBOL_DEFERRABLE = 117, /* DEFERRABLE */ - YYSYMBOL_DEFERRED = 118, /* DEFERRED */ - YYSYMBOL_DEFINER = 119, /* DEFINER */ - YYSYMBOL_DELETE_P = 120, /* DELETE_P */ - YYSYMBOL_DELIMITER = 121, /* DELIMITER */ - YYSYMBOL_DELIMITERS = 122, /* DELIMITERS */ - YYSYMBOL_DEPENDS = 123, /* DEPENDS */ - YYSYMBOL_DESC_P = 124, /* DESC_P */ - YYSYMBOL_DESCRIBE = 125, /* DESCRIBE */ - YYSYMBOL_DESTINATION = 126, /* DESTINATION */ - YYSYMBOL_DETACH = 127, /* DETACH */ - YYSYMBOL_DICTIONARY = 128, /* DICTIONARY */ - YYSYMBOL_DISABLE_P = 129, /* DISABLE_P */ - YYSYMBOL_DISCARD = 130, /* DISCARD */ - YYSYMBOL_DISTINCT = 131, /* DISTINCT */ - YYSYMBOL_DO = 132, /* DO */ - YYSYMBOL_DOCUMENT_P = 133, /* DOCUMENT_P */ - YYSYMBOL_DOMAIN_P = 134, /* DOMAIN_P */ - YYSYMBOL_DOUBLE_P = 135, /* DOUBLE_P */ - YYSYMBOL_DROP = 136, /* DROP */ - YYSYMBOL_EACH = 137, /* EACH */ - YYSYMBOL_EDGE = 138, /* EDGE */ - YYSYMBOL_ELEMENT_ID = 139, /* ELEMENT_ID */ - YYSYMBOL_ELSE = 140, /* ELSE */ - YYSYMBOL_ENABLE_P = 141, /* ENABLE_P */ - YYSYMBOL_ENCODING = 142, /* ENCODING */ - YYSYMBOL_ENCRYPTED = 143, /* ENCRYPTED */ - YYSYMBOL_END_P = 144, /* END_P */ - YYSYMBOL_ENUM_P = 145, /* ENUM_P */ - YYSYMBOL_ESCAPE = 146, /* ESCAPE */ - YYSYMBOL_EVENT = 147, /* EVENT */ - YYSYMBOL_EXCEPT = 148, /* EXCEPT */ - YYSYMBOL_EXCLUDE = 149, /* EXCLUDE */ - YYSYMBOL_EXCLUDING = 150, /* EXCLUDING */ - YYSYMBOL_EXCLUSIVE = 151, /* EXCLUSIVE */ - YYSYMBOL_EXECUTE = 152, /* EXECUTE */ - YYSYMBOL_EXISTS = 153, /* EXISTS */ - YYSYMBOL_EXPLAIN = 154, /* EXPLAIN */ - YYSYMBOL_EXPORT_P = 155, /* EXPORT_P */ - YYSYMBOL_EXPORT_STATE = 156, /* EXPORT_STATE */ - YYSYMBOL_EXTENSION = 157, /* EXTENSION */ - YYSYMBOL_EXTERNAL = 158, /* EXTERNAL */ - YYSYMBOL_EXTRACT = 159, /* EXTRACT */ - YYSYMBOL_FALSE_P = 160, /* FALSE_P */ - YYSYMBOL_FAMILY = 161, /* FAMILY */ - YYSYMBOL_FETCH = 162, /* FETCH */ - YYSYMBOL_FILTER = 163, /* FILTER */ - YYSYMBOL_FIRST_P = 164, /* FIRST_P */ - YYSYMBOL_FLOAT_P = 165, /* FLOAT_P */ - YYSYMBOL_FOLLOWING = 166, /* FOLLOWING */ - YYSYMBOL_FOR = 167, /* FOR */ - YYSYMBOL_FORCE = 168, /* FORCE */ - YYSYMBOL_FOREIGN = 169, /* FOREIGN */ - YYSYMBOL_FORWARD = 170, /* FORWARD */ - YYSYMBOL_FREEZE = 171, /* FREEZE */ - YYSYMBOL_FROM = 172, /* FROM */ - YYSYMBOL_FULL = 173, /* FULL */ - YYSYMBOL_FUNCTION = 174, /* FUNCTION */ - YYSYMBOL_FUNCTIONS = 175, /* FUNCTIONS */ - YYSYMBOL_GENERATED = 176, /* GENERATED */ - YYSYMBOL_GLOB = 177, /* GLOB */ - YYSYMBOL_GLOBAL = 178, /* GLOBAL */ - YYSYMBOL_GRANT = 179, /* GRANT */ - YYSYMBOL_GRANTED = 180, /* GRANTED */ - YYSYMBOL_GRAPH = 181, /* GRAPH */ - YYSYMBOL_GRAPH_TABLE = 182, /* GRAPH_TABLE */ - YYSYMBOL_GROUP_P = 183, /* GROUP_P */ - YYSYMBOL_GROUPING = 184, /* GROUPING */ - YYSYMBOL_GROUPING_ID = 185, /* GROUPING_ID */ - YYSYMBOL_GROUPS = 186, /* GROUPS */ - YYSYMBOL_HANDLER = 187, /* HANDLER */ - YYSYMBOL_HAVING = 188, /* HAVING */ - YYSYMBOL_HEADER_P = 189, /* HEADER_P */ - YYSYMBOL_HOLD = 190, /* HOLD */ - YYSYMBOL_HOUR_P = 191, /* HOUR_P */ - YYSYMBOL_HOURS_P = 192, /* HOURS_P */ - YYSYMBOL_IDENTITY_P = 193, /* IDENTITY_P */ - YYSYMBOL_IF_P = 194, /* IF_P */ - YYSYMBOL_IGNORE_P = 195, /* IGNORE_P */ - YYSYMBOL_ILIKE = 196, /* ILIKE */ - YYSYMBOL_IMMEDIATE = 197, /* IMMEDIATE */ - YYSYMBOL_IMMUTABLE = 198, /* IMMUTABLE */ - YYSYMBOL_IMPLICIT_P = 199, /* IMPLICIT_P */ - YYSYMBOL_IMPORT_P = 200, /* IMPORT_P */ - YYSYMBOL_IN_P = 201, /* IN_P */ - YYSYMBOL_INCLUDE_P = 202, /* INCLUDE_P */ - YYSYMBOL_INCLUDING = 203, /* INCLUDING */ - YYSYMBOL_INCREMENT = 204, /* INCREMENT */ - YYSYMBOL_INDEX = 205, /* INDEX */ - YYSYMBOL_INDEXES = 206, /* INDEXES */ - YYSYMBOL_INHERIT = 207, /* INHERIT */ - YYSYMBOL_INHERITS = 208, /* INHERITS */ - YYSYMBOL_INITIALLY = 209, /* INITIALLY */ - YYSYMBOL_INLINE_P = 210, /* INLINE_P */ - YYSYMBOL_INNER_P = 211, /* INNER_P */ - YYSYMBOL_INOUT = 212, /* INOUT */ - YYSYMBOL_INPUT_P = 213, /* INPUT_P */ - YYSYMBOL_INSENSITIVE = 214, /* INSENSITIVE */ - YYSYMBOL_INSERT = 215, /* INSERT */ - YYSYMBOL_INSTALL = 216, /* INSTALL */ - YYSYMBOL_INSTEAD = 217, /* INSTEAD */ - YYSYMBOL_INT_P = 218, /* INT_P */ - YYSYMBOL_INTEGER = 219, /* INTEGER */ - YYSYMBOL_INTERSECT = 220, /* INTERSECT */ - YYSYMBOL_INTERVAL = 221, /* INTERVAL */ - YYSYMBOL_INTO = 222, /* INTO */ - YYSYMBOL_INVOKER = 223, /* INVOKER */ - YYSYMBOL_IS = 224, /* IS */ - YYSYMBOL_ISNULL = 225, /* ISNULL */ - YYSYMBOL_ISOLATION = 226, /* ISOLATION */ - YYSYMBOL_JOIN = 227, /* JOIN */ - YYSYMBOL_JSON = 228, /* JSON */ - YYSYMBOL_KEEP = 229, /* KEEP */ - YYSYMBOL_KEY = 230, /* KEY */ - YYSYMBOL_LABEL = 231, /* LABEL */ - YYSYMBOL_LANGUAGE = 232, /* LANGUAGE */ - YYSYMBOL_LARGE_P = 233, /* LARGE_P */ - YYSYMBOL_LAST_P = 234, /* LAST_P */ - YYSYMBOL_LATERAL_P = 235, /* LATERAL_P */ - YYSYMBOL_LEADING = 236, /* LEADING */ - YYSYMBOL_LEAKPROOF = 237, /* LEAKPROOF */ - YYSYMBOL_LEFT = 238, /* LEFT */ - YYSYMBOL_LEVEL = 239, /* LEVEL */ - YYSYMBOL_LIKE = 240, /* LIKE */ - YYSYMBOL_LIMIT = 241, /* LIMIT */ - YYSYMBOL_LISTEN = 242, /* LISTEN */ - YYSYMBOL_LOAD = 243, /* LOAD */ - YYSYMBOL_LOCAL = 244, /* LOCAL */ - YYSYMBOL_LOCATION = 245, /* LOCATION */ - YYSYMBOL_LOCK_P = 246, /* LOCK_P */ - YYSYMBOL_LOCKED = 247, /* LOCKED */ - YYSYMBOL_LOGGED = 248, /* LOGGED */ - YYSYMBOL_MACRO = 249, /* MACRO */ - YYSYMBOL_MAP = 250, /* MAP */ - YYSYMBOL_MAPPING = 251, /* MAPPING */ - YYSYMBOL_MATCH = 252, /* MATCH */ - YYSYMBOL_MATERIALIZED = 253, /* MATERIALIZED */ - YYSYMBOL_MAXVALUE = 254, /* MAXVALUE */ - YYSYMBOL_METHOD = 255, /* METHOD */ - YYSYMBOL_MICROSECOND_P = 256, /* MICROSECOND_P */ - YYSYMBOL_MICROSECONDS_P = 257, /* MICROSECONDS_P */ - YYSYMBOL_MILLISECOND_P = 258, /* MILLISECOND_P */ - YYSYMBOL_MILLISECONDS_P = 259, /* MILLISECONDS_P */ - YYSYMBOL_MINUTE_P = 260, /* MINUTE_P */ - YYSYMBOL_MINUTES_P = 261, /* MINUTES_P */ - YYSYMBOL_MINVALUE = 262, /* MINVALUE */ - YYSYMBOL_MODE = 263, /* MODE */ - YYSYMBOL_MONTH_P = 264, /* MONTH_P */ - YYSYMBOL_MONTHS_P = 265, /* MONTHS_P */ - YYSYMBOL_MOVE = 266, /* MOVE */ - YYSYMBOL_NAME_P = 267, /* NAME_P */ - YYSYMBOL_NAMES = 268, /* NAMES */ - YYSYMBOL_NATIONAL = 269, /* NATIONAL */ - YYSYMBOL_NATURAL = 270, /* NATURAL */ - YYSYMBOL_NCHAR = 271, /* NCHAR */ - YYSYMBOL_NEW = 272, /* NEW */ - YYSYMBOL_NEXT = 273, /* NEXT */ - YYSYMBOL_NO = 274, /* NO */ - YYSYMBOL_NODE = 275, /* NODE */ - YYSYMBOL_NONE = 276, /* NONE */ - YYSYMBOL_NOT = 277, /* NOT */ - YYSYMBOL_NOTHING = 278, /* NOTHING */ - YYSYMBOL_NOTIFY = 279, /* NOTIFY */ - YYSYMBOL_NOTNULL = 280, /* NOTNULL */ - YYSYMBOL_NOWAIT = 281, /* NOWAIT */ - YYSYMBOL_NULL_P = 282, /* NULL_P */ - YYSYMBOL_NULLIF = 283, /* NULLIF */ - YYSYMBOL_NULLS_P = 284, /* NULLS_P */ - YYSYMBOL_NUMERIC = 285, /* NUMERIC */ - YYSYMBOL_OBJECT_P = 286, /* OBJECT_P */ - YYSYMBOL_OF = 287, /* OF */ - YYSYMBOL_OFF = 288, /* OFF */ - YYSYMBOL_OFFSET = 289, /* OFFSET */ - YYSYMBOL_OIDS = 290, /* OIDS */ - YYSYMBOL_OLD = 291, /* OLD */ - YYSYMBOL_ON = 292, /* ON */ - YYSYMBOL_ONLY = 293, /* ONLY */ - YYSYMBOL_OPERATOR = 294, /* OPERATOR */ - YYSYMBOL_OPTION = 295, /* OPTION */ - YYSYMBOL_OPTIONS = 296, /* OPTIONS */ - YYSYMBOL_OR = 297, /* OR */ - YYSYMBOL_ORDER = 298, /* ORDER */ - YYSYMBOL_ORDINALITY = 299, /* ORDINALITY */ - YYSYMBOL_OUT_P = 300, /* OUT_P */ - YYSYMBOL_OUTER_P = 301, /* OUTER_P */ - YYSYMBOL_OVER = 302, /* OVER */ - YYSYMBOL_OVERLAPS = 303, /* OVERLAPS */ - YYSYMBOL_OVERLAY = 304, /* OVERLAY */ - YYSYMBOL_OVERRIDING = 305, /* OVERRIDING */ - YYSYMBOL_OWNED = 306, /* OWNED */ - YYSYMBOL_OWNER = 307, /* OWNER */ - YYSYMBOL_PARALLEL = 308, /* PARALLEL */ - YYSYMBOL_PARSER = 309, /* PARSER */ - YYSYMBOL_PARTIAL = 310, /* PARTIAL */ - YYSYMBOL_PARTITION = 311, /* PARTITION */ - YYSYMBOL_PASSING = 312, /* PASSING */ - YYSYMBOL_PASSWORD = 313, /* PASSWORD */ - YYSYMBOL_PATH = 314, /* PATH */ - YYSYMBOL_PATHS = 315, /* PATHS */ - YYSYMBOL_PERCENT = 316, /* PERCENT */ - YYSYMBOL_PIVOT = 317, /* PIVOT */ - YYSYMBOL_PIVOT_LONGER = 318, /* PIVOT_LONGER */ - YYSYMBOL_PIVOT_WIDER = 319, /* PIVOT_WIDER */ - YYSYMBOL_PLACING = 320, /* PLACING */ - YYSYMBOL_PLANS = 321, /* PLANS */ - YYSYMBOL_POLICY = 322, /* POLICY */ - YYSYMBOL_POSITION = 323, /* POSITION */ - YYSYMBOL_POSITIONAL = 324, /* POSITIONAL */ - YYSYMBOL_PRAGMA_P = 325, /* PRAGMA_P */ - YYSYMBOL_PRECEDING = 326, /* PRECEDING */ - YYSYMBOL_PRECISION = 327, /* PRECISION */ - YYSYMBOL_PREPARE = 328, /* PREPARE */ - YYSYMBOL_PREPARED = 329, /* PREPARED */ - YYSYMBOL_PRESERVE = 330, /* PRESERVE */ - YYSYMBOL_PRIMARY = 331, /* PRIMARY */ - YYSYMBOL_PRIOR = 332, /* PRIOR */ - YYSYMBOL_PRIVILEGES = 333, /* PRIVILEGES */ - YYSYMBOL_PROCEDURAL = 334, /* PROCEDURAL */ - YYSYMBOL_PROCEDURE = 335, /* PROCEDURE */ - YYSYMBOL_PROGRAM = 336, /* PROGRAM */ - YYSYMBOL_PROPERTIES = 337, /* PROPERTIES */ - YYSYMBOL_PROPERTY = 338, /* PROPERTY */ - YYSYMBOL_PUBLICATION = 339, /* PUBLICATION */ - YYSYMBOL_QUALIFY = 340, /* QUALIFY */ - YYSYMBOL_QUOTE = 341, /* QUOTE */ - YYSYMBOL_RANGE = 342, /* RANGE */ - YYSYMBOL_READ_P = 343, /* READ_P */ - YYSYMBOL_REAL = 344, /* REAL */ - YYSYMBOL_REASSIGN = 345, /* REASSIGN */ - YYSYMBOL_RECHECK = 346, /* RECHECK */ - YYSYMBOL_RECURSIVE = 347, /* RECURSIVE */ - YYSYMBOL_REF = 348, /* REF */ - YYSYMBOL_REFERENCES = 349, /* REFERENCES */ - YYSYMBOL_REFERENCING = 350, /* REFERENCING */ - YYSYMBOL_REFRESH = 351, /* REFRESH */ - YYSYMBOL_REINDEX = 352, /* REINDEX */ - YYSYMBOL_RELATIONSHIP = 353, /* RELATIONSHIP */ - YYSYMBOL_RELATIVE_P = 354, /* RELATIVE_P */ - YYSYMBOL_RELEASE = 355, /* RELEASE */ - YYSYMBOL_RENAME = 356, /* RENAME */ - YYSYMBOL_REPEATABLE = 357, /* REPEATABLE */ - YYSYMBOL_REPLACE = 358, /* REPLACE */ - YYSYMBOL_REPLICA = 359, /* REPLICA */ - YYSYMBOL_RESET = 360, /* RESET */ - YYSYMBOL_RESPECT_P = 361, /* RESPECT_P */ - YYSYMBOL_RESTART = 362, /* RESTART */ - YYSYMBOL_RESTRICT = 363, /* RESTRICT */ - YYSYMBOL_RETURNING = 364, /* RETURNING */ - YYSYMBOL_RETURNS = 365, /* RETURNS */ - YYSYMBOL_REVOKE = 366, /* REVOKE */ - YYSYMBOL_RIGHT = 367, /* RIGHT */ - YYSYMBOL_ROLE = 368, /* ROLE */ - YYSYMBOL_ROLLBACK = 369, /* ROLLBACK */ - YYSYMBOL_ROLLUP = 370, /* ROLLUP */ - YYSYMBOL_ROW = 371, /* ROW */ - YYSYMBOL_ROWS = 372, /* ROWS */ - YYSYMBOL_RULE = 373, /* RULE */ - YYSYMBOL_SAMPLE = 374, /* SAMPLE */ - YYSYMBOL_SAVEPOINT = 375, /* SAVEPOINT */ - YYSYMBOL_SCHEMA = 376, /* SCHEMA */ - YYSYMBOL_SCHEMAS = 377, /* SCHEMAS */ - YYSYMBOL_SCROLL = 378, /* SCROLL */ - YYSYMBOL_SEARCH = 379, /* SEARCH */ - YYSYMBOL_SECOND_P = 380, /* SECOND_P */ - YYSYMBOL_SECONDS_P = 381, /* SECONDS_P */ - YYSYMBOL_SECURITY = 382, /* SECURITY */ - YYSYMBOL_SELECT = 383, /* SELECT */ - YYSYMBOL_SEMI = 384, /* SEMI */ - YYSYMBOL_SEQUENCE = 385, /* SEQUENCE */ - YYSYMBOL_SEQUENCES = 386, /* SEQUENCES */ - YYSYMBOL_SERIALIZABLE = 387, /* SERIALIZABLE */ - YYSYMBOL_SERVER = 388, /* SERVER */ - YYSYMBOL_SESSION = 389, /* SESSION */ - YYSYMBOL_SET = 390, /* SET */ - YYSYMBOL_SETOF = 391, /* SETOF */ - YYSYMBOL_SETS = 392, /* SETS */ - YYSYMBOL_SHARE = 393, /* SHARE */ - YYSYMBOL_SHORTEST = 394, /* SHORTEST */ - YYSYMBOL_SHOW = 395, /* SHOW */ - YYSYMBOL_SIMILAR = 396, /* SIMILAR */ - YYSYMBOL_SIMPLE = 397, /* SIMPLE */ - YYSYMBOL_SKIP = 398, /* SKIP */ - YYSYMBOL_SMALLINT = 399, /* SMALLINT */ - YYSYMBOL_SNAPSHOT = 400, /* SNAPSHOT */ - YYSYMBOL_SOME = 401, /* SOME */ - YYSYMBOL_SOURCE = 402, /* SOURCE */ - YYSYMBOL_SQL_P = 403, /* SQL_P */ - YYSYMBOL_STABLE = 404, /* STABLE */ - YYSYMBOL_STANDALONE_P = 405, /* STANDALONE_P */ - YYSYMBOL_START = 406, /* START */ - YYSYMBOL_STATEMENT = 407, /* STATEMENT */ - YYSYMBOL_STATISTICS = 408, /* STATISTICS */ - YYSYMBOL_STDIN = 409, /* STDIN */ - YYSYMBOL_STDOUT = 410, /* STDOUT */ - YYSYMBOL_STORAGE = 411, /* STORAGE */ - YYSYMBOL_STORED = 412, /* STORED */ - YYSYMBOL_STRICT_P = 413, /* STRICT_P */ - YYSYMBOL_STRIP_P = 414, /* STRIP_P */ - YYSYMBOL_STRUCT = 415, /* STRUCT */ - YYSYMBOL_SUBSCRIPTION = 416, /* SUBSCRIPTION */ - YYSYMBOL_SUBSTRING = 417, /* SUBSTRING */ - YYSYMBOL_SUMMARIZE = 418, /* SUMMARIZE */ - YYSYMBOL_SYMMETRIC = 419, /* SYMMETRIC */ - YYSYMBOL_SYSID = 420, /* SYSID */ - YYSYMBOL_SYSTEM_P = 421, /* SYSTEM_P */ - YYSYMBOL_TABLE = 422, /* TABLE */ - YYSYMBOL_TABLES = 423, /* TABLES */ - YYSYMBOL_TABLESAMPLE = 424, /* TABLESAMPLE */ - YYSYMBOL_TABLESPACE = 425, /* TABLESPACE */ - YYSYMBOL_TEMP = 426, /* TEMP */ - YYSYMBOL_TEMPLATE = 427, /* TEMPLATE */ - YYSYMBOL_TEMPORARY = 428, /* TEMPORARY */ - YYSYMBOL_TEXT_P = 429, /* TEXT_P */ - YYSYMBOL_THEN = 430, /* THEN */ - YYSYMBOL_TIME = 431, /* TIME */ - YYSYMBOL_TIMESTAMP = 432, /* TIMESTAMP */ - YYSYMBOL_TO = 433, /* TO */ - YYSYMBOL_TRAIL = 434, /* TRAIL */ - YYSYMBOL_TRAILING = 435, /* TRAILING */ - YYSYMBOL_TRANSACTION = 436, /* TRANSACTION */ - YYSYMBOL_TRANSFORM = 437, /* TRANSFORM */ - YYSYMBOL_TREAT = 438, /* TREAT */ - YYSYMBOL_TRIGGER = 439, /* TRIGGER */ - YYSYMBOL_TRIM = 440, /* TRIM */ - YYSYMBOL_TRUE_P = 441, /* TRUE_P */ - YYSYMBOL_TRUNCATE = 442, /* TRUNCATE */ - YYSYMBOL_TRUSTED = 443, /* TRUSTED */ - YYSYMBOL_TRY_CAST = 444, /* TRY_CAST */ - YYSYMBOL_TYPE_P = 445, /* TYPE_P */ - YYSYMBOL_TYPES_P = 446, /* TYPES_P */ - YYSYMBOL_UNBOUNDED = 447, /* UNBOUNDED */ - YYSYMBOL_UNCOMMITTED = 448, /* UNCOMMITTED */ - YYSYMBOL_UNENCRYPTED = 449, /* UNENCRYPTED */ - YYSYMBOL_UNION = 450, /* UNION */ - YYSYMBOL_UNIQUE = 451, /* UNIQUE */ - YYSYMBOL_UNKNOWN = 452, /* UNKNOWN */ - YYSYMBOL_UNLISTEN = 453, /* UNLISTEN */ - YYSYMBOL_UNLOGGED = 454, /* UNLOGGED */ - YYSYMBOL_UNPIVOT = 455, /* UNPIVOT */ - YYSYMBOL_UNTIL = 456, /* UNTIL */ - YYSYMBOL_UPDATE = 457, /* UPDATE */ - YYSYMBOL_USE_P = 458, /* USE_P */ - YYSYMBOL_USER = 459, /* USER */ - YYSYMBOL_USING = 460, /* USING */ - YYSYMBOL_VACUUM = 461, /* VACUUM */ - YYSYMBOL_VALID = 462, /* VALID */ - YYSYMBOL_VALIDATE = 463, /* VALIDATE */ - YYSYMBOL_VALIDATOR = 464, /* VALIDATOR */ - YYSYMBOL_VALUE_P = 465, /* VALUE_P */ - YYSYMBOL_VALUES = 466, /* VALUES */ - YYSYMBOL_VARCHAR = 467, /* VARCHAR */ - YYSYMBOL_VARIADIC = 468, /* VARIADIC */ - YYSYMBOL_VARYING = 469, /* VARYING */ - YYSYMBOL_VERBOSE = 470, /* VERBOSE */ - YYSYMBOL_VERSION_P = 471, /* VERSION_P */ - YYSYMBOL_VERTEX = 472, /* VERTEX */ - YYSYMBOL_VIEW = 473, /* VIEW */ - YYSYMBOL_VIEWS = 474, /* VIEWS */ - YYSYMBOL_VIRTUAL = 475, /* VIRTUAL */ - YYSYMBOL_VOLATILE = 476, /* VOLATILE */ - YYSYMBOL_WALK = 477, /* WALK */ - YYSYMBOL_WHEN = 478, /* WHEN */ - YYSYMBOL_WHERE = 479, /* WHERE */ - YYSYMBOL_WHITESPACE_P = 480, /* WHITESPACE_P */ - YYSYMBOL_WINDOW = 481, /* WINDOW */ - YYSYMBOL_WITH = 482, /* WITH */ - YYSYMBOL_WITHIN = 483, /* WITHIN */ - YYSYMBOL_WITHOUT = 484, /* WITHOUT */ - YYSYMBOL_WORK = 485, /* WORK */ - YYSYMBOL_WRAPPER = 486, /* WRAPPER */ - YYSYMBOL_WRITE_P = 487, /* WRITE_P */ - YYSYMBOL_XML_P = 488, /* XML_P */ - YYSYMBOL_XMLATTRIBUTES = 489, /* XMLATTRIBUTES */ - YYSYMBOL_XMLCONCAT = 490, /* XMLCONCAT */ - YYSYMBOL_XMLELEMENT = 491, /* XMLELEMENT */ - YYSYMBOL_XMLEXISTS = 492, /* XMLEXISTS */ - YYSYMBOL_XMLFOREST = 493, /* XMLFOREST */ - YYSYMBOL_XMLNAMESPACES = 494, /* XMLNAMESPACES */ - YYSYMBOL_XMLPARSE = 495, /* XMLPARSE */ - YYSYMBOL_XMLPI = 496, /* XMLPI */ - YYSYMBOL_XMLROOT = 497, /* XMLROOT */ - YYSYMBOL_XMLSERIALIZE = 498, /* XMLSERIALIZE */ - YYSYMBOL_XMLTABLE = 499, /* XMLTABLE */ - YYSYMBOL_YEAR_P = 500, /* YEAR_P */ - YYSYMBOL_YEARS_P = 501, /* YEARS_P */ - YYSYMBOL_YES_P = 502, /* YES_P */ - YYSYMBOL_ZONE = 503, /* ZONE */ - YYSYMBOL_NOT_LA = 504, /* NOT_LA */ - YYSYMBOL_NULLS_LA = 505, /* NULLS_LA */ - YYSYMBOL_WITH_LA = 506, /* WITH_LA */ - YYSYMBOL_507_ = 507, /* '<' */ - YYSYMBOL_508_ = 508, /* '>' */ - YYSYMBOL_509_ = 509, /* '=' */ - YYSYMBOL_POSTFIXOP = 510, /* POSTFIXOP */ - YYSYMBOL_511_ = 511, /* '+' */ - YYSYMBOL_512_ = 512, /* '-' */ - YYSYMBOL_513_ = 513, /* '*' */ - YYSYMBOL_514_ = 514, /* '/' */ - YYSYMBOL_515_ = 515, /* '%' */ - YYSYMBOL_516_ = 516, /* '^' */ - YYSYMBOL_UMINUS = 517, /* UMINUS */ - YYSYMBOL_518_ = 518, /* '[' */ - YYSYMBOL_519_ = 519, /* ']' */ - YYSYMBOL_520_ = 520, /* '(' */ - YYSYMBOL_521_ = 521, /* ')' */ - YYSYMBOL_522_ = 522, /* '.' */ - YYSYMBOL_523_ = 523, /* ';' */ - YYSYMBOL_524_ = 524, /* ',' */ - YYSYMBOL_525_ = 525, /* '|' */ - YYSYMBOL_526_ = 526, /* '?' */ - YYSYMBOL_527_ = 527, /* '{' */ - YYSYMBOL_528_ = 528, /* '}' */ - YYSYMBOL_529_ = 529, /* '&' */ - YYSYMBOL_530_ = 530, /* '!' */ - YYSYMBOL_531_ = 531, /* ':' */ - YYSYMBOL_532_ = 532, /* '#' */ - YYSYMBOL_533_ = 533, /* '$' */ - YYSYMBOL_YYACCEPT = 534, /* $accept */ - YYSYMBOL_stmtblock = 535, /* stmtblock */ - YYSYMBOL_stmtmulti = 536, /* stmtmulti */ - YYSYMBOL_stmt = 537, /* stmt */ - YYSYMBOL_AlterObjectSchemaStmt = 538, /* AlterObjectSchemaStmt */ - YYSYMBOL_AlterSeqStmt = 539, /* AlterSeqStmt */ - YYSYMBOL_SeqOptList = 540, /* SeqOptList */ - YYSYMBOL_opt_with = 541, /* opt_with */ - YYSYMBOL_NumericOnly = 542, /* NumericOnly */ - YYSYMBOL_SeqOptElem = 543, /* SeqOptElem */ - YYSYMBOL_opt_by = 544, /* opt_by */ - YYSYMBOL_SignedIconst = 545, /* SignedIconst */ - YYSYMBOL_AlterTableStmt = 546, /* AlterTableStmt */ - YYSYMBOL_alter_identity_column_option_list = 547, /* alter_identity_column_option_list */ - YYSYMBOL_alter_column_default = 548, /* alter_column_default */ - YYSYMBOL_alter_identity_column_option = 549, /* alter_identity_column_option */ - YYSYMBOL_alter_generic_option_list = 550, /* alter_generic_option_list */ - YYSYMBOL_alter_table_cmd = 551, /* alter_table_cmd */ - YYSYMBOL_alter_using = 552, /* alter_using */ - YYSYMBOL_alter_generic_option_elem = 553, /* alter_generic_option_elem */ - YYSYMBOL_alter_table_cmds = 554, /* alter_table_cmds */ - YYSYMBOL_alter_generic_options = 555, /* alter_generic_options */ - YYSYMBOL_opt_set_data = 556, /* opt_set_data */ - YYSYMBOL_AnalyzeStmt = 557, /* AnalyzeStmt */ - YYSYMBOL_AttachStmt = 558, /* AttachStmt */ - YYSYMBOL_DetachStmt = 559, /* DetachStmt */ - YYSYMBOL_opt_database = 560, /* opt_database */ - YYSYMBOL_opt_database_alias = 561, /* opt_database_alias */ - YYSYMBOL_CallStmt = 562, /* CallStmt */ - YYSYMBOL_CheckPointStmt = 563, /* CheckPointStmt */ - YYSYMBOL_opt_col_id = 564, /* opt_col_id */ - YYSYMBOL_qualified_name = 565, /* qualified_name */ - YYSYMBOL_ColId = 566, /* ColId */ - YYSYMBOL_ColIdOrString = 567, /* ColIdOrString */ - YYSYMBOL_Sconst = 568, /* Sconst */ - YYSYMBOL_indirection = 569, /* indirection */ - YYSYMBOL_indirection_el = 570, /* indirection_el */ - YYSYMBOL_attr_name = 571, /* attr_name */ - YYSYMBOL_ColLabel = 572, /* ColLabel */ - YYSYMBOL_CopyStmt = 573, /* CopyStmt */ - YYSYMBOL_copy_from = 574, /* copy_from */ - YYSYMBOL_copy_delimiter = 575, /* copy_delimiter */ - YYSYMBOL_copy_generic_opt_arg_list = 576, /* copy_generic_opt_arg_list */ - YYSYMBOL_opt_using = 577, /* opt_using */ - YYSYMBOL_opt_as = 578, /* opt_as */ - YYSYMBOL_opt_program = 579, /* opt_program */ - YYSYMBOL_copy_options = 580, /* copy_options */ - YYSYMBOL_copy_generic_opt_arg = 581, /* copy_generic_opt_arg */ - YYSYMBOL_copy_generic_opt_elem = 582, /* copy_generic_opt_elem */ - YYSYMBOL_opt_oids = 583, /* opt_oids */ - YYSYMBOL_copy_opt_list = 584, /* copy_opt_list */ - YYSYMBOL_opt_binary = 585, /* opt_binary */ - YYSYMBOL_copy_opt_item = 586, /* copy_opt_item */ - YYSYMBOL_copy_generic_opt_arg_list_item = 587, /* copy_generic_opt_arg_list_item */ - YYSYMBOL_copy_file_name = 588, /* copy_file_name */ - YYSYMBOL_copy_generic_opt_list = 589, /* copy_generic_opt_list */ - YYSYMBOL_CreateStmt = 590, /* CreateStmt */ - YYSYMBOL_ConstraintAttributeSpec = 591, /* ConstraintAttributeSpec */ - YYSYMBOL_def_arg = 592, /* def_arg */ - YYSYMBOL_OptParenthesizedSeqOptList = 593, /* OptParenthesizedSeqOptList */ - YYSYMBOL_generic_option_arg = 594, /* generic_option_arg */ - YYSYMBOL_key_action = 595, /* key_action */ - YYSYMBOL_ColConstraint = 596, /* ColConstraint */ - YYSYMBOL_ColConstraintElem = 597, /* ColConstraintElem */ - YYSYMBOL_GeneratedColumnType = 598, /* GeneratedColumnType */ - YYSYMBOL_opt_GeneratedColumnType = 599, /* opt_GeneratedColumnType */ - YYSYMBOL_GeneratedConstraintElem = 600, /* GeneratedConstraintElem */ - YYSYMBOL_generic_option_elem = 601, /* generic_option_elem */ - YYSYMBOL_key_update = 602, /* key_update */ - YYSYMBOL_key_actions = 603, /* key_actions */ - YYSYMBOL_OnCommitOption = 604, /* OnCommitOption */ - YYSYMBOL_reloptions = 605, /* reloptions */ - YYSYMBOL_opt_no_inherit = 606, /* opt_no_inherit */ - YYSYMBOL_TableConstraint = 607, /* TableConstraint */ - YYSYMBOL_TableLikeOption = 608, /* TableLikeOption */ - YYSYMBOL_reloption_list = 609, /* reloption_list */ - YYSYMBOL_ExistingIndex = 610, /* ExistingIndex */ - YYSYMBOL_ConstraintAttr = 611, /* ConstraintAttr */ - YYSYMBOL_OptWith = 612, /* OptWith */ - YYSYMBOL_definition = 613, /* definition */ - YYSYMBOL_TableLikeOptionList = 614, /* TableLikeOptionList */ - YYSYMBOL_generic_option_name = 615, /* generic_option_name */ - YYSYMBOL_ConstraintAttributeElem = 616, /* ConstraintAttributeElem */ - YYSYMBOL_columnDef = 617, /* columnDef */ - YYSYMBOL_def_list = 618, /* def_list */ - YYSYMBOL_index_name = 619, /* index_name */ - YYSYMBOL_TableElement = 620, /* TableElement */ - YYSYMBOL_def_elem = 621, /* def_elem */ - YYSYMBOL_opt_definition = 622, /* opt_definition */ - YYSYMBOL_OptTableElementList = 623, /* OptTableElementList */ - YYSYMBOL_columnElem = 624, /* columnElem */ - YYSYMBOL_opt_column_list = 625, /* opt_column_list */ - YYSYMBOL_ColQualList = 626, /* ColQualList */ - YYSYMBOL_key_delete = 627, /* key_delete */ - YYSYMBOL_reloption_elem = 628, /* reloption_elem */ - YYSYMBOL_columnList = 629, /* columnList */ - YYSYMBOL_columnList_opt_comma = 630, /* columnList_opt_comma */ - YYSYMBOL_func_type = 631, /* func_type */ - YYSYMBOL_ConstraintElem = 632, /* ConstraintElem */ - YYSYMBOL_TableElementList = 633, /* TableElementList */ - YYSYMBOL_key_match = 634, /* key_match */ - YYSYMBOL_TableLikeClause = 635, /* TableLikeClause */ - YYSYMBOL_OptTemp = 636, /* OptTemp */ - YYSYMBOL_generated_when = 637, /* generated_when */ - YYSYMBOL_CreateAsStmt = 638, /* CreateAsStmt */ - YYSYMBOL_opt_with_data = 639, /* opt_with_data */ - YYSYMBOL_create_as_target = 640, /* create_as_target */ - YYSYMBOL_unreserved_keyword = 641, /* unreserved_keyword */ - YYSYMBOL_col_name_keyword = 642, /* col_name_keyword */ - YYSYMBOL_func_name_keyword = 643, /* func_name_keyword */ - YYSYMBOL_type_name_keyword = 644, /* type_name_keyword */ - YYSYMBOL_other_keyword = 645, /* other_keyword */ - YYSYMBOL_type_func_name_keyword = 646, /* type_func_name_keyword */ - YYSYMBOL_reserved_keyword = 647, /* reserved_keyword */ - YYSYMBOL_pgq_unreserved_keyword = 648, /* pgq_unreserved_keyword */ - YYSYMBOL_pgq_col_name_keyword = 649, /* pgq_col_name_keyword */ - YYSYMBOL_CreateFunctionStmt = 650, /* CreateFunctionStmt */ - YYSYMBOL_macro_alias = 651, /* macro_alias */ - YYSYMBOL_param_list = 652, /* param_list */ - YYSYMBOL_CreateSchemaStmt = 653, /* CreateSchemaStmt */ - YYSYMBOL_OptSchemaEltList = 654, /* OptSchemaEltList */ - YYSYMBOL_schema_stmt = 655, /* schema_stmt */ - YYSYMBOL_CreateSeqStmt = 656, /* CreateSeqStmt */ - YYSYMBOL_OptSeqOptList = 657, /* OptSeqOptList */ - YYSYMBOL_CreateTypeStmt = 658, /* CreateTypeStmt */ - YYSYMBOL_opt_enum_val_list = 659, /* opt_enum_val_list */ - YYSYMBOL_enum_val_list = 660, /* enum_val_list */ - YYSYMBOL_DeallocateStmt = 661, /* DeallocateStmt */ - YYSYMBOL_DeleteStmt = 662, /* DeleteStmt */ - YYSYMBOL_relation_expr_opt_alias = 663, /* relation_expr_opt_alias */ - YYSYMBOL_where_or_current_clause = 664, /* where_or_current_clause */ - YYSYMBOL_using_clause = 665, /* using_clause */ - YYSYMBOL_DropStmt = 666, /* DropStmt */ - YYSYMBOL_drop_type_any_name = 667, /* drop_type_any_name */ - YYSYMBOL_drop_type_name = 668, /* drop_type_name */ - YYSYMBOL_any_name_list = 669, /* any_name_list */ - YYSYMBOL_opt_drop_behavior = 670, /* opt_drop_behavior */ - YYSYMBOL_drop_type_name_on_any_name = 671, /* drop_type_name_on_any_name */ - YYSYMBOL_type_name_list = 672, /* type_name_list */ - YYSYMBOL_ExecuteStmt = 673, /* ExecuteStmt */ - YYSYMBOL_execute_param_expr = 674, /* execute_param_expr */ - YYSYMBOL_execute_param_list = 675, /* execute_param_list */ - YYSYMBOL_execute_param_clause = 676, /* execute_param_clause */ - YYSYMBOL_ExplainStmt = 677, /* ExplainStmt */ - YYSYMBOL_opt_verbose = 678, /* opt_verbose */ - YYSYMBOL_explain_option_arg = 679, /* explain_option_arg */ - YYSYMBOL_ExplainableStmt = 680, /* ExplainableStmt */ - YYSYMBOL_NonReservedWord = 681, /* NonReservedWord */ - YYSYMBOL_NonReservedWord_or_Sconst = 682, /* NonReservedWord_or_Sconst */ - YYSYMBOL_explain_option_list = 683, /* explain_option_list */ - YYSYMBOL_analyze_keyword = 684, /* analyze_keyword */ - YYSYMBOL_opt_boolean_or_string = 685, /* opt_boolean_or_string */ - YYSYMBOL_explain_option_elem = 686, /* explain_option_elem */ - YYSYMBOL_explain_option_name = 687, /* explain_option_name */ - YYSYMBOL_ExportStmt = 688, /* ExportStmt */ - YYSYMBOL_ImportStmt = 689, /* ImportStmt */ - YYSYMBOL_IndexStmt = 690, /* IndexStmt */ - YYSYMBOL_access_method = 691, /* access_method */ - YYSYMBOL_access_method_clause = 692, /* access_method_clause */ - YYSYMBOL_opt_concurrently = 693, /* opt_concurrently */ - YYSYMBOL_opt_index_name = 694, /* opt_index_name */ - YYSYMBOL_opt_reloptions = 695, /* opt_reloptions */ - YYSYMBOL_opt_unique = 696, /* opt_unique */ - YYSYMBOL_InsertStmt = 697, /* InsertStmt */ - YYSYMBOL_insert_rest = 698, /* insert_rest */ - YYSYMBOL_insert_target = 699, /* insert_target */ - YYSYMBOL_opt_by_name_or_position = 700, /* opt_by_name_or_position */ - YYSYMBOL_opt_conf_expr = 701, /* opt_conf_expr */ - YYSYMBOL_opt_with_clause = 702, /* opt_with_clause */ - YYSYMBOL_insert_column_item = 703, /* insert_column_item */ - YYSYMBOL_set_clause = 704, /* set_clause */ - YYSYMBOL_opt_or_action = 705, /* opt_or_action */ - YYSYMBOL_opt_on_conflict = 706, /* opt_on_conflict */ - YYSYMBOL_index_elem = 707, /* index_elem */ - YYSYMBOL_returning_clause = 708, /* returning_clause */ - YYSYMBOL_override_kind = 709, /* override_kind */ - YYSYMBOL_set_target_list = 710, /* set_target_list */ - YYSYMBOL_opt_collate = 711, /* opt_collate */ - YYSYMBOL_opt_class = 712, /* opt_class */ - YYSYMBOL_insert_column_list = 713, /* insert_column_list */ - YYSYMBOL_set_clause_list = 714, /* set_clause_list */ - YYSYMBOL_set_clause_list_opt_comma = 715, /* set_clause_list_opt_comma */ - YYSYMBOL_index_params = 716, /* index_params */ - YYSYMBOL_set_target = 717, /* set_target */ - YYSYMBOL_LoadStmt = 718, /* LoadStmt */ - YYSYMBOL_file_name = 719, /* file_name */ - YYSYMBOL_repo_path = 720, /* repo_path */ - YYSYMBOL_PGQ_IDENT = 721, /* PGQ_IDENT */ - YYSYMBOL_DropPropertyGraphStmt = 722, /* DropPropertyGraphStmt */ - YYSYMBOL_VertexOrNode = 723, /* VertexOrNode */ - YYSYMBOL_EdgeOrRelationship = 724, /* EdgeOrRelationship */ - YYSYMBOL_EdgeTablesClauseOptional = 725, /* EdgeTablesClauseOptional */ - YYSYMBOL_CreatePropertyGraphStmt = 726, /* CreatePropertyGraphStmt */ - YYSYMBOL_VertexTableDefinitionList = 727, /* VertexTableDefinitionList */ - YYSYMBOL_KeySpecification = 728, /* KeySpecification */ - YYSYMBOL_KeyDefinition = 729, /* KeyDefinition */ - YYSYMBOL_KeyReference = 730, /* KeyReference */ - YYSYMBOL_LabelList = 731, /* LabelList */ - YYSYMBOL_LabelOptional = 732, /* LabelOptional */ - YYSYMBOL_Discriminator = 733, /* Discriminator */ - YYSYMBOL_VertexTableDefinition = 734, /* VertexTableDefinition */ - YYSYMBOL_EdgeTableDefinitionList = 735, /* EdgeTableDefinitionList */ - YYSYMBOL_EdgeTableDefinition = 736, /* EdgeTableDefinition */ - YYSYMBOL_AreOptional = 737, /* AreOptional */ - YYSYMBOL_IdentOptionalAs = 738, /* IdentOptionalAs */ - YYSYMBOL_QualifiednameOptionalAs = 739, /* QualifiednameOptionalAs */ - YYSYMBOL_PropertiesList = 740, /* PropertiesList */ - YYSYMBOL_ExceptOptional = 741, /* ExceptOptional */ - YYSYMBOL_PropertiesSpec = 742, /* PropertiesSpec */ - YYSYMBOL_PropertiesClause = 743, /* PropertiesClause */ - YYSYMBOL_GraphTableWhereOptional = 744, /* GraphTableWhereOptional */ - YYSYMBOL_GraphTableNameOptional = 745, /* GraphTableNameOptional */ - YYSYMBOL_GraphTableStmt = 746, /* GraphTableStmt */ - YYSYMBOL_ColumnSpec = 747, /* ColumnSpec */ - YYSYMBOL_ColumnList = 748, /* ColumnList */ - YYSYMBOL_KeepOptional = 749, /* KeepOptional */ - YYSYMBOL_PathOrPathsOptional = 750, /* PathOrPathsOptional */ - YYSYMBOL_GroupOrGroupsOptional = 751, /* GroupOrGroupsOptional */ - YYSYMBOL_PathVariableOptional = 752, /* PathVariableOptional */ - YYSYMBOL_PathModeOptional = 753, /* PathModeOptional */ - YYSYMBOL_TopKOptional = 754, /* TopKOptional */ - YYSYMBOL_PathPrefix = 755, /* PathPrefix */ - YYSYMBOL_PathPatternList = 756, /* PathPatternList */ - YYSYMBOL_PathPattern = 757, /* PathPattern */ - YYSYMBOL_PatternUnion = 758, /* PatternUnion */ - YYSYMBOL_KleeneQuantifierOptional = 759, /* KleeneQuantifierOptional */ - YYSYMBOL_KleeneOptional = 760, /* KleeneOptional */ - YYSYMBOL_CostNum = 761, /* CostNum */ - YYSYMBOL_CostDefault = 762, /* CostDefault */ - YYSYMBOL_CostOptional = 763, /* CostOptional */ - YYSYMBOL_SubPath = 764, /* SubPath */ - YYSYMBOL_EnclosedSubPath = 765, /* EnclosedSubPath */ - YYSYMBOL_PathElement = 766, /* PathElement */ - YYSYMBOL_PathSequence = 767, /* PathSequence */ - YYSYMBOL_PathConcatenation = 768, /* PathConcatenation */ - YYSYMBOL_OrLabelExpression = 769, /* OrLabelExpression */ - YYSYMBOL_AndLabelExpression = 770, /* AndLabelExpression */ - YYSYMBOL_ComposedLabelExpression = 771, /* ComposedLabelExpression */ - YYSYMBOL_LabelExpression = 772, /* LabelExpression */ - YYSYMBOL_LabelExpressionOptional = 773, /* LabelExpressionOptional */ - YYSYMBOL_IsOrColon = 774, /* IsOrColon */ - YYSYMBOL_ArrowRight = 775, /* ArrowRight */ - YYSYMBOL_ArrowLeftBracket = 776, /* ArrowLeftBracket */ - YYSYMBOL_AbbreviatedEdge = 777, /* AbbreviatedEdge */ - YYSYMBOL_VariableOptional = 778, /* VariableOptional */ - YYSYMBOL_FullElementSpec = 779, /* FullElementSpec */ - YYSYMBOL_EdgePattern = 780, /* EdgePattern */ - YYSYMBOL_VertexPattern = 781, /* VertexPattern */ - YYSYMBOL_pgq_expr = 782, /* pgq_expr */ - YYSYMBOL_PragmaStmt = 783, /* PragmaStmt */ - YYSYMBOL_PrepareStmt = 784, /* PrepareStmt */ - YYSYMBOL_prep_type_clause = 785, /* prep_type_clause */ - YYSYMBOL_PreparableStmt = 786, /* PreparableStmt */ - YYSYMBOL_RenameStmt = 787, /* RenameStmt */ - YYSYMBOL_opt_column = 788, /* opt_column */ - YYSYMBOL_SelectStmt = 789, /* SelectStmt */ - YYSYMBOL_select_with_parens = 790, /* select_with_parens */ - YYSYMBOL_select_no_parens = 791, /* select_no_parens */ - YYSYMBOL_select_clause = 792, /* select_clause */ - YYSYMBOL_opt_select = 793, /* opt_select */ - YYSYMBOL_simple_select = 794, /* simple_select */ - YYSYMBOL_value_or_values = 795, /* value_or_values */ - YYSYMBOL_pivot_keyword = 796, /* pivot_keyword */ - YYSYMBOL_unpivot_keyword = 797, /* unpivot_keyword */ - YYSYMBOL_pivot_column_entry = 798, /* pivot_column_entry */ - YYSYMBOL_pivot_column_list_internal = 799, /* pivot_column_list_internal */ - YYSYMBOL_pivot_column_list = 800, /* pivot_column_list */ - YYSYMBOL_with_clause = 801, /* with_clause */ - YYSYMBOL_cte_list = 802, /* cte_list */ - YYSYMBOL_common_table_expr = 803, /* common_table_expr */ - YYSYMBOL_opt_materialized = 804, /* opt_materialized */ - YYSYMBOL_into_clause = 805, /* into_clause */ - YYSYMBOL_OptTempTableName = 806, /* OptTempTableName */ - YYSYMBOL_opt_table = 807, /* opt_table */ - YYSYMBOL_all_or_distinct = 808, /* all_or_distinct */ - YYSYMBOL_by_name = 809, /* by_name */ - YYSYMBOL_distinct_clause = 810, /* distinct_clause */ - YYSYMBOL_opt_all_clause = 811, /* opt_all_clause */ - YYSYMBOL_opt_ignore_nulls = 812, /* opt_ignore_nulls */ - YYSYMBOL_opt_sort_clause = 813, /* opt_sort_clause */ - YYSYMBOL_sort_clause = 814, /* sort_clause */ - YYSYMBOL_sortby_list = 815, /* sortby_list */ - YYSYMBOL_sortby = 816, /* sortby */ - YYSYMBOL_opt_asc_desc = 817, /* opt_asc_desc */ - YYSYMBOL_opt_nulls_order = 818, /* opt_nulls_order */ - YYSYMBOL_select_limit = 819, /* select_limit */ - YYSYMBOL_opt_select_limit = 820, /* opt_select_limit */ - YYSYMBOL_limit_clause = 821, /* limit_clause */ - YYSYMBOL_offset_clause = 822, /* offset_clause */ - YYSYMBOL_sample_count = 823, /* sample_count */ - YYSYMBOL_sample_clause = 824, /* sample_clause */ - YYSYMBOL_opt_sample_func = 825, /* opt_sample_func */ - YYSYMBOL_tablesample_entry = 826, /* tablesample_entry */ - YYSYMBOL_tablesample_clause = 827, /* tablesample_clause */ - YYSYMBOL_opt_tablesample_clause = 828, /* opt_tablesample_clause */ - YYSYMBOL_opt_repeatable_clause = 829, /* opt_repeatable_clause */ - YYSYMBOL_select_limit_value = 830, /* select_limit_value */ - YYSYMBOL_select_offset_value = 831, /* select_offset_value */ - YYSYMBOL_select_fetch_first_value = 832, /* select_fetch_first_value */ - YYSYMBOL_I_or_F_const = 833, /* I_or_F_const */ - YYSYMBOL_row_or_rows = 834, /* row_or_rows */ - YYSYMBOL_first_or_next = 835, /* first_or_next */ - YYSYMBOL_group_clause = 836, /* group_clause */ - YYSYMBOL_group_by_list = 837, /* group_by_list */ - YYSYMBOL_group_by_list_opt_comma = 838, /* group_by_list_opt_comma */ - YYSYMBOL_group_by_item = 839, /* group_by_item */ - YYSYMBOL_empty_grouping_set = 840, /* empty_grouping_set */ - YYSYMBOL_rollup_clause = 841, /* rollup_clause */ - YYSYMBOL_cube_clause = 842, /* cube_clause */ - YYSYMBOL_grouping_sets_clause = 843, /* grouping_sets_clause */ - YYSYMBOL_grouping_or_grouping_id = 844, /* grouping_or_grouping_id */ - YYSYMBOL_having_clause = 845, /* having_clause */ - YYSYMBOL_qualify_clause = 846, /* qualify_clause */ - YYSYMBOL_for_locking_clause = 847, /* for_locking_clause */ - YYSYMBOL_opt_for_locking_clause = 848, /* opt_for_locking_clause */ - YYSYMBOL_for_locking_items = 849, /* for_locking_items */ - YYSYMBOL_for_locking_item = 850, /* for_locking_item */ - YYSYMBOL_for_locking_strength = 851, /* for_locking_strength */ - YYSYMBOL_locked_rels_list = 852, /* locked_rels_list */ - YYSYMBOL_opt_nowait_or_skip = 853, /* opt_nowait_or_skip */ - YYSYMBOL_values_clause = 854, /* values_clause */ - YYSYMBOL_values_clause_opt_comma = 855, /* values_clause_opt_comma */ - YYSYMBOL_from_clause = 856, /* from_clause */ - YYSYMBOL_from_list = 857, /* from_list */ - YYSYMBOL_from_list_opt_comma = 858, /* from_list_opt_comma */ - YYSYMBOL_table_ref = 859, /* table_ref */ - YYSYMBOL_opt_pivot_group_by = 860, /* opt_pivot_group_by */ - YYSYMBOL_opt_include_nulls = 861, /* opt_include_nulls */ - YYSYMBOL_single_pivot_value = 862, /* single_pivot_value */ - YYSYMBOL_pivot_header = 863, /* pivot_header */ - YYSYMBOL_pivot_value = 864, /* pivot_value */ - YYSYMBOL_pivot_value_list = 865, /* pivot_value_list */ - YYSYMBOL_unpivot_header = 866, /* unpivot_header */ - YYSYMBOL_unpivot_value = 867, /* unpivot_value */ - YYSYMBOL_unpivot_value_list = 868, /* unpivot_value_list */ - YYSYMBOL_joined_table = 869, /* joined_table */ - YYSYMBOL_alias_clause = 870, /* alias_clause */ - YYSYMBOL_opt_alias_clause = 871, /* opt_alias_clause */ - YYSYMBOL_func_alias_clause = 872, /* func_alias_clause */ - YYSYMBOL_join_type = 873, /* join_type */ - YYSYMBOL_join_outer = 874, /* join_outer */ - YYSYMBOL_join_qual = 875, /* join_qual */ - YYSYMBOL_relation_expr = 876, /* relation_expr */ - YYSYMBOL_func_table = 877, /* func_table */ - YYSYMBOL_rowsfrom_item = 878, /* rowsfrom_item */ - YYSYMBOL_rowsfrom_list = 879, /* rowsfrom_list */ - YYSYMBOL_opt_col_def_list = 880, /* opt_col_def_list */ - YYSYMBOL_opt_ordinality = 881, /* opt_ordinality */ - YYSYMBOL_where_clause = 882, /* where_clause */ - YYSYMBOL_TableFuncElementList = 883, /* TableFuncElementList */ - YYSYMBOL_TableFuncElement = 884, /* TableFuncElement */ - YYSYMBOL_opt_collate_clause = 885, /* opt_collate_clause */ - YYSYMBOL_colid_type_list = 886, /* colid_type_list */ - YYSYMBOL_RowOrStruct = 887, /* RowOrStruct */ - YYSYMBOL_opt_Typename = 888, /* opt_Typename */ - YYSYMBOL_Typename = 889, /* Typename */ - YYSYMBOL_opt_array_bounds = 890, /* opt_array_bounds */ - YYSYMBOL_SimpleTypename = 891, /* SimpleTypename */ - YYSYMBOL_ConstTypename = 892, /* ConstTypename */ - YYSYMBOL_GenericType = 893, /* GenericType */ - YYSYMBOL_opt_type_modifiers = 894, /* opt_type_modifiers */ - YYSYMBOL_Numeric = 895, /* Numeric */ - YYSYMBOL_opt_float = 896, /* opt_float */ - YYSYMBOL_Bit = 897, /* Bit */ - YYSYMBOL_ConstBit = 898, /* ConstBit */ - YYSYMBOL_BitWithLength = 899, /* BitWithLength */ - YYSYMBOL_BitWithoutLength = 900, /* BitWithoutLength */ - YYSYMBOL_Character = 901, /* Character */ - YYSYMBOL_ConstCharacter = 902, /* ConstCharacter */ - YYSYMBOL_CharacterWithLength = 903, /* CharacterWithLength */ - YYSYMBOL_CharacterWithoutLength = 904, /* CharacterWithoutLength */ - YYSYMBOL_character = 905, /* character */ - YYSYMBOL_opt_varying = 906, /* opt_varying */ - YYSYMBOL_ConstDatetime = 907, /* ConstDatetime */ - YYSYMBOL_ConstInterval = 908, /* ConstInterval */ - YYSYMBOL_opt_timezone = 909, /* opt_timezone */ - YYSYMBOL_year_keyword = 910, /* year_keyword */ - YYSYMBOL_month_keyword = 911, /* month_keyword */ - YYSYMBOL_day_keyword = 912, /* day_keyword */ - YYSYMBOL_hour_keyword = 913, /* hour_keyword */ - YYSYMBOL_minute_keyword = 914, /* minute_keyword */ - YYSYMBOL_second_keyword = 915, /* second_keyword */ - YYSYMBOL_millisecond_keyword = 916, /* millisecond_keyword */ - YYSYMBOL_microsecond_keyword = 917, /* microsecond_keyword */ - YYSYMBOL_opt_interval = 918, /* opt_interval */ - YYSYMBOL_a_expr = 919, /* a_expr */ - YYSYMBOL_b_expr = 920, /* b_expr */ - YYSYMBOL_c_expr = 921, /* c_expr */ - YYSYMBOL_d_expr = 922, /* d_expr */ - YYSYMBOL_indirection_expr = 923, /* indirection_expr */ - YYSYMBOL_struct_expr = 924, /* struct_expr */ - YYSYMBOL_func_application = 925, /* func_application */ - YYSYMBOL_func_expr = 926, /* func_expr */ - YYSYMBOL_func_expr_windowless = 927, /* func_expr_windowless */ - YYSYMBOL_func_expr_common_subexpr = 928, /* func_expr_common_subexpr */ - YYSYMBOL_list_comprehension = 929, /* list_comprehension */ - YYSYMBOL_within_group_clause = 930, /* within_group_clause */ - YYSYMBOL_filter_clause = 931, /* filter_clause */ - YYSYMBOL_export_clause = 932, /* export_clause */ - YYSYMBOL_window_clause = 933, /* window_clause */ - YYSYMBOL_window_definition_list = 934, /* window_definition_list */ - YYSYMBOL_window_definition = 935, /* window_definition */ - YYSYMBOL_over_clause = 936, /* over_clause */ - YYSYMBOL_window_specification = 937, /* window_specification */ - YYSYMBOL_opt_existing_window_name = 938, /* opt_existing_window_name */ - YYSYMBOL_opt_partition_clause = 939, /* opt_partition_clause */ - YYSYMBOL_opt_frame_clause = 940, /* opt_frame_clause */ - YYSYMBOL_frame_extent = 941, /* frame_extent */ - YYSYMBOL_frame_bound = 942, /* frame_bound */ - YYSYMBOL_qualified_row = 943, /* qualified_row */ - YYSYMBOL_row = 944, /* row */ - YYSYMBOL_dict_arg = 945, /* dict_arg */ - YYSYMBOL_dict_arguments = 946, /* dict_arguments */ - YYSYMBOL_dict_arguments_opt_comma = 947, /* dict_arguments_opt_comma */ - YYSYMBOL_map_arg = 948, /* map_arg */ - YYSYMBOL_map_arguments = 949, /* map_arguments */ - YYSYMBOL_map_arguments_opt_comma = 950, /* map_arguments_opt_comma */ - YYSYMBOL_opt_map_arguments_opt_comma = 951, /* opt_map_arguments_opt_comma */ - YYSYMBOL_sub_type = 952, /* sub_type */ - YYSYMBOL_all_Op = 953, /* all_Op */ - YYSYMBOL_MathOp = 954, /* MathOp */ - YYSYMBOL_qual_Op = 955, /* qual_Op */ - YYSYMBOL_qual_all_Op = 956, /* qual_all_Op */ - YYSYMBOL_subquery_Op = 957, /* subquery_Op */ - YYSYMBOL_any_operator = 958, /* any_operator */ - YYSYMBOL_c_expr_list = 959, /* c_expr_list */ - YYSYMBOL_c_expr_list_opt_comma = 960, /* c_expr_list_opt_comma */ - YYSYMBOL_expr_list = 961, /* expr_list */ - YYSYMBOL_expr_list_opt_comma = 962, /* expr_list_opt_comma */ - YYSYMBOL_opt_expr_list_opt_comma = 963, /* opt_expr_list_opt_comma */ - YYSYMBOL_func_arg_list = 964, /* func_arg_list */ - YYSYMBOL_func_arg_expr = 965, /* func_arg_expr */ - YYSYMBOL_type_list = 966, /* type_list */ - YYSYMBOL_extract_list = 967, /* extract_list */ - YYSYMBOL_extract_arg = 968, /* extract_arg */ - YYSYMBOL_overlay_list = 969, /* overlay_list */ - YYSYMBOL_overlay_placing = 970, /* overlay_placing */ - YYSYMBOL_position_list = 971, /* position_list */ - YYSYMBOL_substr_list = 972, /* substr_list */ - YYSYMBOL_substr_from = 973, /* substr_from */ - YYSYMBOL_substr_for = 974, /* substr_for */ - YYSYMBOL_trim_list = 975, /* trim_list */ - YYSYMBOL_in_expr = 976, /* in_expr */ - YYSYMBOL_case_expr = 977, /* case_expr */ - YYSYMBOL_when_clause_list = 978, /* when_clause_list */ - YYSYMBOL_when_clause = 979, /* when_clause */ - YYSYMBOL_case_default = 980, /* case_default */ - YYSYMBOL_case_arg = 981, /* case_arg */ - YYSYMBOL_columnref = 982, /* columnref */ - YYSYMBOL_opt_slice_bound = 983, /* opt_slice_bound */ - YYSYMBOL_opt_indirection = 984, /* opt_indirection */ - YYSYMBOL_opt_func_arguments = 985, /* opt_func_arguments */ - YYSYMBOL_extended_indirection_el = 986, /* extended_indirection_el */ - YYSYMBOL_opt_extended_indirection = 987, /* opt_extended_indirection */ - YYSYMBOL_opt_asymmetric = 988, /* opt_asymmetric */ - YYSYMBOL_opt_target_list_opt_comma = 989, /* opt_target_list_opt_comma */ - YYSYMBOL_target_list = 990, /* target_list */ - YYSYMBOL_target_list_opt_comma = 991, /* target_list_opt_comma */ - YYSYMBOL_target_el = 992, /* target_el */ - YYSYMBOL_except_list = 993, /* except_list */ - YYSYMBOL_opt_except_list = 994, /* opt_except_list */ - YYSYMBOL_replace_list_el = 995, /* replace_list_el */ - YYSYMBOL_replace_list = 996, /* replace_list */ - YYSYMBOL_replace_list_opt_comma = 997, /* replace_list_opt_comma */ - YYSYMBOL_opt_replace_list = 998, /* opt_replace_list */ - YYSYMBOL_qualified_name_list = 999, /* qualified_name_list */ - YYSYMBOL_name_list = 1000, /* name_list */ - YYSYMBOL_name_list_opt_comma = 1001, /* name_list_opt_comma */ - YYSYMBOL_name_list_opt_comma_opt_bracket = 1002, /* name_list_opt_comma_opt_bracket */ - YYSYMBOL_name = 1003, /* name */ - YYSYMBOL_func_name = 1004, /* func_name */ - YYSYMBOL_AexprConst = 1005, /* AexprConst */ - YYSYMBOL_Iconst = 1006, /* Iconst */ - YYSYMBOL_type_function_name = 1007, /* type_function_name */ - YYSYMBOL_function_name_token = 1008, /* function_name_token */ - YYSYMBOL_type_name_token = 1009, /* type_name_token */ - YYSYMBOL_any_name = 1010, /* any_name */ - YYSYMBOL_attrs = 1011, /* attrs */ - YYSYMBOL_opt_name_list = 1012, /* opt_name_list */ - YYSYMBOL_param_name = 1013, /* param_name */ - YYSYMBOL_ColLabelOrString = 1014, /* ColLabelOrString */ - YYSYMBOL_TransactionStmt = 1015, /* TransactionStmt */ - YYSYMBOL_opt_transaction = 1016, /* opt_transaction */ - YYSYMBOL_UpdateStmt = 1017, /* UpdateStmt */ - YYSYMBOL_UseStmt = 1018, /* UseStmt */ - YYSYMBOL_VacuumStmt = 1019, /* VacuumStmt */ - YYSYMBOL_vacuum_option_elem = 1020, /* vacuum_option_elem */ - YYSYMBOL_opt_full = 1021, /* opt_full */ - YYSYMBOL_vacuum_option_list = 1022, /* vacuum_option_list */ - YYSYMBOL_opt_freeze = 1023, /* opt_freeze */ - YYSYMBOL_VariableResetStmt = 1024, /* VariableResetStmt */ - YYSYMBOL_generic_reset = 1025, /* generic_reset */ - YYSYMBOL_reset_rest = 1026, /* reset_rest */ - YYSYMBOL_VariableSetStmt = 1027, /* VariableSetStmt */ - YYSYMBOL_set_rest = 1028, /* set_rest */ - YYSYMBOL_generic_set = 1029, /* generic_set */ - YYSYMBOL_var_value = 1030, /* var_value */ - YYSYMBOL_zone_value = 1031, /* zone_value */ - YYSYMBOL_var_list = 1032, /* var_list */ - YYSYMBOL_VariableShowStmt = 1033, /* VariableShowStmt */ - YYSYMBOL_show_or_describe = 1034, /* show_or_describe */ - YYSYMBOL_opt_tables = 1035, /* opt_tables */ - YYSYMBOL_var_name = 1036, /* var_name */ - YYSYMBOL_table_id = 1037, /* table_id */ - YYSYMBOL_ViewStmt = 1038, /* ViewStmt */ - YYSYMBOL_opt_check_option = 1039 /* opt_check_option */ + YYSYMBOL_CENTURIES_P = 70, /* CENTURIES_P */ + YYSYMBOL_CENTURY_P = 71, /* CENTURY_P */ + YYSYMBOL_CHAIN = 72, /* CHAIN */ + YYSYMBOL_CHAR_P = 73, /* CHAR_P */ + YYSYMBOL_CHARACTER = 74, /* CHARACTER */ + YYSYMBOL_CHARACTERISTICS = 75, /* CHARACTERISTICS */ + YYSYMBOL_CHECK_P = 76, /* CHECK_P */ + YYSYMBOL_CHECKPOINT = 77, /* CHECKPOINT */ + YYSYMBOL_CLASS = 78, /* CLASS */ + YYSYMBOL_CLOSE = 79, /* CLOSE */ + YYSYMBOL_CLUSTER = 80, /* CLUSTER */ + YYSYMBOL_COALESCE = 81, /* COALESCE */ + YYSYMBOL_COLLATE = 82, /* COLLATE */ + YYSYMBOL_COLLATION = 83, /* COLLATION */ + YYSYMBOL_COLUMN = 84, /* COLUMN */ + YYSYMBOL_COLUMNS = 85, /* COLUMNS */ + YYSYMBOL_COMMENT = 86, /* COMMENT */ + YYSYMBOL_COMMENTS = 87, /* COMMENTS */ + YYSYMBOL_COMMIT = 88, /* COMMIT */ + YYSYMBOL_COMMITTED = 89, /* COMMITTED */ + YYSYMBOL_COMPRESSION = 90, /* COMPRESSION */ + YYSYMBOL_CONCURRENTLY = 91, /* CONCURRENTLY */ + YYSYMBOL_CONFIGURATION = 92, /* CONFIGURATION */ + YYSYMBOL_CONFLICT = 93, /* CONFLICT */ + YYSYMBOL_CONNECTION = 94, /* CONNECTION */ + YYSYMBOL_CONSTRAINT = 95, /* CONSTRAINT */ + YYSYMBOL_CONSTRAINTS = 96, /* CONSTRAINTS */ + YYSYMBOL_CONTENT_P = 97, /* CONTENT_P */ + YYSYMBOL_CONTINUE_P = 98, /* CONTINUE_P */ + YYSYMBOL_CONVERSION_P = 99, /* CONVERSION_P */ + YYSYMBOL_COPY = 100, /* COPY */ + YYSYMBOL_COST = 101, /* COST */ + YYSYMBOL_CREATE_P = 102, /* CREATE_P */ + YYSYMBOL_CROSS = 103, /* CROSS */ + YYSYMBOL_CSV = 104, /* CSV */ + YYSYMBOL_CUBE = 105, /* CUBE */ + YYSYMBOL_CURRENT_P = 106, /* CURRENT_P */ + YYSYMBOL_CURSOR = 107, /* CURSOR */ + YYSYMBOL_CYCLE = 108, /* CYCLE */ + YYSYMBOL_DATA_P = 109, /* DATA_P */ + YYSYMBOL_DATABASE = 110, /* DATABASE */ + YYSYMBOL_DAY_P = 111, /* DAY_P */ + YYSYMBOL_DAYS_P = 112, /* DAYS_P */ + YYSYMBOL_DEALLOCATE = 113, /* DEALLOCATE */ + YYSYMBOL_DEC = 114, /* DEC */ + YYSYMBOL_DECADE_P = 115, /* DECADE_P */ + YYSYMBOL_DECADES_P = 116, /* DECADES_P */ + YYSYMBOL_DECIMAL_P = 117, /* DECIMAL_P */ + YYSYMBOL_DECLARE = 118, /* DECLARE */ + YYSYMBOL_DEFAULT = 119, /* DEFAULT */ + YYSYMBOL_DEFAULTS = 120, /* DEFAULTS */ + YYSYMBOL_DEFERRABLE = 121, /* DEFERRABLE */ + YYSYMBOL_DEFERRED = 122, /* DEFERRED */ + YYSYMBOL_DEFINER = 123, /* DEFINER */ + YYSYMBOL_DELETE_P = 124, /* DELETE_P */ + YYSYMBOL_DELIMITER = 125, /* DELIMITER */ + YYSYMBOL_DELIMITERS = 126, /* DELIMITERS */ + YYSYMBOL_DEPENDS = 127, /* DEPENDS */ + YYSYMBOL_DESC_P = 128, /* DESC_P */ + YYSYMBOL_DESCRIBE = 129, /* DESCRIBE */ + YYSYMBOL_DESTINATION = 130, /* DESTINATION */ + YYSYMBOL_DETACH = 131, /* DETACH */ + YYSYMBOL_DICTIONARY = 132, /* DICTIONARY */ + YYSYMBOL_DISABLE_P = 133, /* DISABLE_P */ + YYSYMBOL_DISCARD = 134, /* DISCARD */ + YYSYMBOL_DISTINCT = 135, /* DISTINCT */ + YYSYMBOL_DO = 136, /* DO */ + YYSYMBOL_DOCUMENT_P = 137, /* DOCUMENT_P */ + YYSYMBOL_DOMAIN_P = 138, /* DOMAIN_P */ + YYSYMBOL_DOUBLE_P = 139, /* DOUBLE_P */ + YYSYMBOL_DROP = 140, /* DROP */ + YYSYMBOL_EACH = 141, /* EACH */ + YYSYMBOL_EDGE = 142, /* EDGE */ + YYSYMBOL_ELEMENT_ID = 143, /* ELEMENT_ID */ + YYSYMBOL_ELSE = 144, /* ELSE */ + YYSYMBOL_ENABLE_P = 145, /* ENABLE_P */ + YYSYMBOL_ENCODING = 146, /* ENCODING */ + YYSYMBOL_ENCRYPTED = 147, /* ENCRYPTED */ + YYSYMBOL_END_P = 148, /* END_P */ + YYSYMBOL_ENUM_P = 149, /* ENUM_P */ + YYSYMBOL_ESCAPE = 150, /* ESCAPE */ + YYSYMBOL_EVENT = 151, /* EVENT */ + YYSYMBOL_EXCEPT = 152, /* EXCEPT */ + YYSYMBOL_EXCLUDE = 153, /* EXCLUDE */ + YYSYMBOL_EXCLUDING = 154, /* EXCLUDING */ + YYSYMBOL_EXCLUSIVE = 155, /* EXCLUSIVE */ + YYSYMBOL_EXECUTE = 156, /* EXECUTE */ + YYSYMBOL_EXISTS = 157, /* EXISTS */ + YYSYMBOL_EXPLAIN = 158, /* EXPLAIN */ + YYSYMBOL_EXPORT_P = 159, /* EXPORT_P */ + YYSYMBOL_EXPORT_STATE = 160, /* EXPORT_STATE */ + YYSYMBOL_EXTENSION = 161, /* EXTENSION */ + YYSYMBOL_EXTERNAL = 162, /* EXTERNAL */ + YYSYMBOL_EXTRACT = 163, /* EXTRACT */ + YYSYMBOL_FALSE_P = 164, /* FALSE_P */ + YYSYMBOL_FAMILY = 165, /* FAMILY */ + YYSYMBOL_FETCH = 166, /* FETCH */ + YYSYMBOL_FILTER = 167, /* FILTER */ + YYSYMBOL_FIRST_P = 168, /* FIRST_P */ + YYSYMBOL_FLOAT_P = 169, /* FLOAT_P */ + YYSYMBOL_FOLLOWING = 170, /* FOLLOWING */ + YYSYMBOL_FOR = 171, /* FOR */ + YYSYMBOL_FORCE = 172, /* FORCE */ + YYSYMBOL_FOREIGN = 173, /* FOREIGN */ + YYSYMBOL_FORWARD = 174, /* FORWARD */ + YYSYMBOL_FREEZE = 175, /* FREEZE */ + YYSYMBOL_FROM = 176, /* FROM */ + YYSYMBOL_FULL = 177, /* FULL */ + YYSYMBOL_FUNCTION = 178, /* FUNCTION */ + YYSYMBOL_FUNCTIONS = 179, /* FUNCTIONS */ + YYSYMBOL_GENERATED = 180, /* GENERATED */ + YYSYMBOL_GLOB = 181, /* GLOB */ + YYSYMBOL_GLOBAL = 182, /* GLOBAL */ + YYSYMBOL_GRANT = 183, /* GRANT */ + YYSYMBOL_GRANTED = 184, /* GRANTED */ + YYSYMBOL_GRAPH = 185, /* GRAPH */ + YYSYMBOL_GRAPH_TABLE = 186, /* GRAPH_TABLE */ + YYSYMBOL_GROUP_P = 187, /* GROUP_P */ + YYSYMBOL_GROUPING = 188, /* GROUPING */ + YYSYMBOL_GROUPING_ID = 189, /* GROUPING_ID */ + YYSYMBOL_GROUPS = 190, /* GROUPS */ + YYSYMBOL_HANDLER = 191, /* HANDLER */ + YYSYMBOL_HAVING = 192, /* HAVING */ + YYSYMBOL_HEADER_P = 193, /* HEADER_P */ + YYSYMBOL_HOLD = 194, /* HOLD */ + YYSYMBOL_HOUR_P = 195, /* HOUR_P */ + YYSYMBOL_HOURS_P = 196, /* HOURS_P */ + YYSYMBOL_IDENTITY_P = 197, /* IDENTITY_P */ + YYSYMBOL_IF_P = 198, /* IF_P */ + YYSYMBOL_IGNORE_P = 199, /* IGNORE_P */ + YYSYMBOL_ILIKE = 200, /* ILIKE */ + YYSYMBOL_IMMEDIATE = 201, /* IMMEDIATE */ + YYSYMBOL_IMMUTABLE = 202, /* IMMUTABLE */ + YYSYMBOL_IMPLICIT_P = 203, /* IMPLICIT_P */ + YYSYMBOL_IMPORT_P = 204, /* IMPORT_P */ + YYSYMBOL_IN_P = 205, /* IN_P */ + YYSYMBOL_INCLUDE_P = 206, /* INCLUDE_P */ + YYSYMBOL_INCLUDING = 207, /* INCLUDING */ + YYSYMBOL_INCREMENT = 208, /* INCREMENT */ + YYSYMBOL_INDEX = 209, /* INDEX */ + YYSYMBOL_INDEXES = 210, /* INDEXES */ + YYSYMBOL_INHERIT = 211, /* INHERIT */ + YYSYMBOL_INHERITS = 212, /* INHERITS */ + YYSYMBOL_INITIALLY = 213, /* INITIALLY */ + YYSYMBOL_INLINE_P = 214, /* INLINE_P */ + YYSYMBOL_INNER_P = 215, /* INNER_P */ + YYSYMBOL_INOUT = 216, /* INOUT */ + YYSYMBOL_INPUT_P = 217, /* INPUT_P */ + YYSYMBOL_INSENSITIVE = 218, /* INSENSITIVE */ + YYSYMBOL_INSERT = 219, /* INSERT */ + YYSYMBOL_INSTALL = 220, /* INSTALL */ + YYSYMBOL_INSTEAD = 221, /* INSTEAD */ + YYSYMBOL_INT_P = 222, /* INT_P */ + YYSYMBOL_INTEGER = 223, /* INTEGER */ + YYSYMBOL_INTERSECT = 224, /* INTERSECT */ + YYSYMBOL_INTERVAL = 225, /* INTERVAL */ + YYSYMBOL_INTO = 226, /* INTO */ + YYSYMBOL_INVOKER = 227, /* INVOKER */ + YYSYMBOL_IS = 228, /* IS */ + YYSYMBOL_ISNULL = 229, /* ISNULL */ + YYSYMBOL_ISOLATION = 230, /* ISOLATION */ + YYSYMBOL_JOIN = 231, /* JOIN */ + YYSYMBOL_JSON = 232, /* JSON */ + YYSYMBOL_KEEP = 233, /* KEEP */ + YYSYMBOL_KEY = 234, /* KEY */ + YYSYMBOL_LABEL = 235, /* LABEL */ + YYSYMBOL_LANGUAGE = 236, /* LANGUAGE */ + YYSYMBOL_LARGE_P = 237, /* LARGE_P */ + YYSYMBOL_LAST_P = 238, /* LAST_P */ + YYSYMBOL_LATERAL_P = 239, /* LATERAL_P */ + YYSYMBOL_LEADING = 240, /* LEADING */ + YYSYMBOL_LEAKPROOF = 241, /* LEAKPROOF */ + YYSYMBOL_LEFT = 242, /* LEFT */ + YYSYMBOL_LEVEL = 243, /* LEVEL */ + YYSYMBOL_LIKE = 244, /* LIKE */ + YYSYMBOL_LIMIT = 245, /* LIMIT */ + YYSYMBOL_LISTEN = 246, /* LISTEN */ + YYSYMBOL_LOAD = 247, /* LOAD */ + YYSYMBOL_LOCAL = 248, /* LOCAL */ + YYSYMBOL_LOCATION = 249, /* LOCATION */ + YYSYMBOL_LOCK_P = 250, /* LOCK_P */ + YYSYMBOL_LOCKED = 251, /* LOCKED */ + YYSYMBOL_LOGGED = 252, /* LOGGED */ + YYSYMBOL_MACRO = 253, /* MACRO */ + YYSYMBOL_MAP = 254, /* MAP */ + YYSYMBOL_MAPPING = 255, /* MAPPING */ + YYSYMBOL_MATCH = 256, /* MATCH */ + YYSYMBOL_MATERIALIZED = 257, /* MATERIALIZED */ + YYSYMBOL_MAXVALUE = 258, /* MAXVALUE */ + YYSYMBOL_METHOD = 259, /* METHOD */ + YYSYMBOL_MICROSECOND_P = 260, /* MICROSECOND_P */ + YYSYMBOL_MICROSECONDS_P = 261, /* MICROSECONDS_P */ + YYSYMBOL_MILLENNIA_P = 262, /* MILLENNIA_P */ + YYSYMBOL_MILLENNIUM_P = 263, /* MILLENNIUM_P */ + YYSYMBOL_MILLISECOND_P = 264, /* MILLISECOND_P */ + YYSYMBOL_MILLISECONDS_P = 265, /* MILLISECONDS_P */ + YYSYMBOL_MINUTE_P = 266, /* MINUTE_P */ + YYSYMBOL_MINUTES_P = 267, /* MINUTES_P */ + YYSYMBOL_MINVALUE = 268, /* MINVALUE */ + YYSYMBOL_MODE = 269, /* MODE */ + YYSYMBOL_MONTH_P = 270, /* MONTH_P */ + YYSYMBOL_MONTHS_P = 271, /* MONTHS_P */ + YYSYMBOL_MOVE = 272, /* MOVE */ + YYSYMBOL_NAME_P = 273, /* NAME_P */ + YYSYMBOL_NAMES = 274, /* NAMES */ + YYSYMBOL_NATIONAL = 275, /* NATIONAL */ + YYSYMBOL_NATURAL = 276, /* NATURAL */ + YYSYMBOL_NCHAR = 277, /* NCHAR */ + YYSYMBOL_NEW = 278, /* NEW */ + YYSYMBOL_NEXT = 279, /* NEXT */ + YYSYMBOL_NO = 280, /* NO */ + YYSYMBOL_NODE = 281, /* NODE */ + YYSYMBOL_NONE = 282, /* NONE */ + YYSYMBOL_NOT = 283, /* NOT */ + YYSYMBOL_NOTHING = 284, /* NOTHING */ + YYSYMBOL_NOTIFY = 285, /* NOTIFY */ + YYSYMBOL_NOTNULL = 286, /* NOTNULL */ + YYSYMBOL_NOWAIT = 287, /* NOWAIT */ + YYSYMBOL_NULL_P = 288, /* NULL_P */ + YYSYMBOL_NULLIF = 289, /* NULLIF */ + YYSYMBOL_NULLS_P = 290, /* NULLS_P */ + YYSYMBOL_NUMERIC = 291, /* NUMERIC */ + YYSYMBOL_OBJECT_P = 292, /* OBJECT_P */ + YYSYMBOL_OF = 293, /* OF */ + YYSYMBOL_OFF = 294, /* OFF */ + YYSYMBOL_OFFSET = 295, /* OFFSET */ + YYSYMBOL_OIDS = 296, /* OIDS */ + YYSYMBOL_OLD = 297, /* OLD */ + YYSYMBOL_ON = 298, /* ON */ + YYSYMBOL_ONLY = 299, /* ONLY */ + YYSYMBOL_OPERATOR = 300, /* OPERATOR */ + YYSYMBOL_OPTION = 301, /* OPTION */ + YYSYMBOL_OPTIONS = 302, /* OPTIONS */ + YYSYMBOL_OR = 303, /* OR */ + YYSYMBOL_ORDER = 304, /* ORDER */ + YYSYMBOL_ORDINALITY = 305, /* ORDINALITY */ + YYSYMBOL_OTHERS = 306, /* OTHERS */ + YYSYMBOL_OUT_P = 307, /* OUT_P */ + YYSYMBOL_OUTER_P = 308, /* OUTER_P */ + YYSYMBOL_OVER = 309, /* OVER */ + YYSYMBOL_OVERLAPS = 310, /* OVERLAPS */ + YYSYMBOL_OVERLAY = 311, /* OVERLAY */ + YYSYMBOL_OVERRIDING = 312, /* OVERRIDING */ + YYSYMBOL_OWNED = 313, /* OWNED */ + YYSYMBOL_OWNER = 314, /* OWNER */ + YYSYMBOL_PARALLEL = 315, /* PARALLEL */ + YYSYMBOL_PARSER = 316, /* PARSER */ + YYSYMBOL_PARTIAL = 317, /* PARTIAL */ + YYSYMBOL_PARTITION = 318, /* PARTITION */ + YYSYMBOL_PASSING = 319, /* PASSING */ + YYSYMBOL_PASSWORD = 320, /* PASSWORD */ + YYSYMBOL_PATH = 321, /* PATH */ + YYSYMBOL_PATHS = 322, /* PATHS */ + YYSYMBOL_PERCENT = 323, /* PERCENT */ + YYSYMBOL_PERSISTENT = 324, /* PERSISTENT */ + YYSYMBOL_PIVOT = 325, /* PIVOT */ + YYSYMBOL_PIVOT_LONGER = 326, /* PIVOT_LONGER */ + YYSYMBOL_PIVOT_WIDER = 327, /* PIVOT_WIDER */ + YYSYMBOL_PLACING = 328, /* PLACING */ + YYSYMBOL_PLANS = 329, /* PLANS */ + YYSYMBOL_POLICY = 330, /* POLICY */ + YYSYMBOL_POSITION = 331, /* POSITION */ + YYSYMBOL_POSITIONAL = 332, /* POSITIONAL */ + YYSYMBOL_PRAGMA_P = 333, /* PRAGMA_P */ + YYSYMBOL_PRECEDING = 334, /* PRECEDING */ + YYSYMBOL_PRECISION = 335, /* PRECISION */ + YYSYMBOL_PREPARE = 336, /* PREPARE */ + YYSYMBOL_PREPARED = 337, /* PREPARED */ + YYSYMBOL_PRESERVE = 338, /* PRESERVE */ + YYSYMBOL_PRIMARY = 339, /* PRIMARY */ + YYSYMBOL_PRIOR = 340, /* PRIOR */ + YYSYMBOL_PRIVILEGES = 341, /* PRIVILEGES */ + YYSYMBOL_PROCEDURAL = 342, /* PROCEDURAL */ + YYSYMBOL_PROCEDURE = 343, /* PROCEDURE */ + YYSYMBOL_PROGRAM = 344, /* PROGRAM */ + YYSYMBOL_PROPERTIES = 345, /* PROPERTIES */ + YYSYMBOL_PROPERTY = 346, /* PROPERTY */ + YYSYMBOL_PUBLICATION = 347, /* PUBLICATION */ + YYSYMBOL_QUALIFY = 348, /* QUALIFY */ + YYSYMBOL_QUOTE = 349, /* QUOTE */ + YYSYMBOL_RANGE = 350, /* RANGE */ + YYSYMBOL_READ_P = 351, /* READ_P */ + YYSYMBOL_REAL = 352, /* REAL */ + YYSYMBOL_REASSIGN = 353, /* REASSIGN */ + YYSYMBOL_RECHECK = 354, /* RECHECK */ + YYSYMBOL_RECURSIVE = 355, /* RECURSIVE */ + YYSYMBOL_REF = 356, /* REF */ + YYSYMBOL_REFERENCES = 357, /* REFERENCES */ + YYSYMBOL_REFERENCING = 358, /* REFERENCING */ + YYSYMBOL_REFRESH = 359, /* REFRESH */ + YYSYMBOL_REINDEX = 360, /* REINDEX */ + YYSYMBOL_RELATIONSHIP = 361, /* RELATIONSHIP */ + YYSYMBOL_RELATIVE_P = 362, /* RELATIVE_P */ + YYSYMBOL_RELEASE = 363, /* RELEASE */ + YYSYMBOL_RENAME = 364, /* RENAME */ + YYSYMBOL_REPEATABLE = 365, /* REPEATABLE */ + YYSYMBOL_REPLACE = 366, /* REPLACE */ + YYSYMBOL_REPLICA = 367, /* REPLICA */ + YYSYMBOL_RESET = 368, /* RESET */ + YYSYMBOL_RESPECT_P = 369, /* RESPECT_P */ + YYSYMBOL_RESTART = 370, /* RESTART */ + YYSYMBOL_RESTRICT = 371, /* RESTRICT */ + YYSYMBOL_RETURNING = 372, /* RETURNING */ + YYSYMBOL_RETURNS = 373, /* RETURNS */ + YYSYMBOL_REVOKE = 374, /* REVOKE */ + YYSYMBOL_RIGHT = 375, /* RIGHT */ + YYSYMBOL_ROLE = 376, /* ROLE */ + YYSYMBOL_ROLLBACK = 377, /* ROLLBACK */ + YYSYMBOL_ROLLUP = 378, /* ROLLUP */ + YYSYMBOL_ROW = 379, /* ROW */ + YYSYMBOL_ROWS = 380, /* ROWS */ + YYSYMBOL_RULE = 381, /* RULE */ + YYSYMBOL_SAMPLE = 382, /* SAMPLE */ + YYSYMBOL_SAVEPOINT = 383, /* SAVEPOINT */ + YYSYMBOL_SCHEMA = 384, /* SCHEMA */ + YYSYMBOL_SCHEMAS = 385, /* SCHEMAS */ + YYSYMBOL_SCOPE = 386, /* SCOPE */ + YYSYMBOL_SCROLL = 387, /* SCROLL */ + YYSYMBOL_SEARCH = 388, /* SEARCH */ + YYSYMBOL_SECOND_P = 389, /* SECOND_P */ + YYSYMBOL_SECONDS_P = 390, /* SECONDS_P */ + YYSYMBOL_SECRET = 391, /* SECRET */ + YYSYMBOL_SECURITY = 392, /* SECURITY */ + YYSYMBOL_SELECT = 393, /* SELECT */ + YYSYMBOL_SEMI = 394, /* SEMI */ + YYSYMBOL_SEQUENCE = 395, /* SEQUENCE */ + YYSYMBOL_SEQUENCES = 396, /* SEQUENCES */ + YYSYMBOL_SERIALIZABLE = 397, /* SERIALIZABLE */ + YYSYMBOL_SERVER = 398, /* SERVER */ + YYSYMBOL_SESSION = 399, /* SESSION */ + YYSYMBOL_SET = 400, /* SET */ + YYSYMBOL_SETOF = 401, /* SETOF */ + YYSYMBOL_SETS = 402, /* SETS */ + YYSYMBOL_SHARE = 403, /* SHARE */ + YYSYMBOL_SHORTEST = 404, /* SHORTEST */ + YYSYMBOL_SHOW = 405, /* SHOW */ + YYSYMBOL_SIMILAR = 406, /* SIMILAR */ + YYSYMBOL_SIMPLE = 407, /* SIMPLE */ + YYSYMBOL_SKIP = 408, /* SKIP */ + YYSYMBOL_SMALLINT = 409, /* SMALLINT */ + YYSYMBOL_SNAPSHOT = 410, /* SNAPSHOT */ + YYSYMBOL_SOME = 411, /* SOME */ + YYSYMBOL_SOURCE = 412, /* SOURCE */ + YYSYMBOL_SQL_P = 413, /* SQL_P */ + YYSYMBOL_STABLE = 414, /* STABLE */ + YYSYMBOL_STANDALONE_P = 415, /* STANDALONE_P */ + YYSYMBOL_START = 416, /* START */ + YYSYMBOL_STATEMENT = 417, /* STATEMENT */ + YYSYMBOL_STATISTICS = 418, /* STATISTICS */ + YYSYMBOL_STDIN = 419, /* STDIN */ + YYSYMBOL_STDOUT = 420, /* STDOUT */ + YYSYMBOL_STORAGE = 421, /* STORAGE */ + YYSYMBOL_STORED = 422, /* STORED */ + YYSYMBOL_STRICT_P = 423, /* STRICT_P */ + YYSYMBOL_STRIP_P = 424, /* STRIP_P */ + YYSYMBOL_STRUCT = 425, /* STRUCT */ + YYSYMBOL_SUBSCRIPTION = 426, /* SUBSCRIPTION */ + YYSYMBOL_SUBSTRING = 427, /* SUBSTRING */ + YYSYMBOL_SUMMARIZE = 428, /* SUMMARIZE */ + YYSYMBOL_SYMMETRIC = 429, /* SYMMETRIC */ + YYSYMBOL_SYSID = 430, /* SYSID */ + YYSYMBOL_SYSTEM_P = 431, /* SYSTEM_P */ + YYSYMBOL_TABLE = 432, /* TABLE */ + YYSYMBOL_TABLES = 433, /* TABLES */ + YYSYMBOL_TABLESAMPLE = 434, /* TABLESAMPLE */ + YYSYMBOL_TABLESPACE = 435, /* TABLESPACE */ + YYSYMBOL_TEMP = 436, /* TEMP */ + YYSYMBOL_TEMPLATE = 437, /* TEMPLATE */ + YYSYMBOL_TEMPORARY = 438, /* TEMPORARY */ + YYSYMBOL_TEXT_P = 439, /* TEXT_P */ + YYSYMBOL_THEN = 440, /* THEN */ + YYSYMBOL_TIES = 441, /* TIES */ + YYSYMBOL_TIME = 442, /* TIME */ + YYSYMBOL_TIMESTAMP = 443, /* TIMESTAMP */ + YYSYMBOL_TO = 444, /* TO */ + YYSYMBOL_TRAIL = 445, /* TRAIL */ + YYSYMBOL_TRAILING = 446, /* TRAILING */ + YYSYMBOL_TRANSACTION = 447, /* TRANSACTION */ + YYSYMBOL_TRANSFORM = 448, /* TRANSFORM */ + YYSYMBOL_TREAT = 449, /* TREAT */ + YYSYMBOL_TRIGGER = 450, /* TRIGGER */ + YYSYMBOL_TRIM = 451, /* TRIM */ + YYSYMBOL_TRUE_P = 452, /* TRUE_P */ + YYSYMBOL_TRUNCATE = 453, /* TRUNCATE */ + YYSYMBOL_TRUSTED = 454, /* TRUSTED */ + YYSYMBOL_TRY_CAST = 455, /* TRY_CAST */ + YYSYMBOL_TYPE_P = 456, /* TYPE_P */ + YYSYMBOL_TYPES_P = 457, /* TYPES_P */ + YYSYMBOL_UNBOUNDED = 458, /* UNBOUNDED */ + YYSYMBOL_UNCOMMITTED = 459, /* UNCOMMITTED */ + YYSYMBOL_UNENCRYPTED = 460, /* UNENCRYPTED */ + YYSYMBOL_UNION = 461, /* UNION */ + YYSYMBOL_UNIQUE = 462, /* UNIQUE */ + YYSYMBOL_UNKNOWN = 463, /* UNKNOWN */ + YYSYMBOL_UNLISTEN = 464, /* UNLISTEN */ + YYSYMBOL_UNLOGGED = 465, /* UNLOGGED */ + YYSYMBOL_UNPIVOT = 466, /* UNPIVOT */ + YYSYMBOL_UNTIL = 467, /* UNTIL */ + YYSYMBOL_UPDATE = 468, /* UPDATE */ + YYSYMBOL_USE_P = 469, /* USE_P */ + YYSYMBOL_USER = 470, /* USER */ + YYSYMBOL_USING = 471, /* USING */ + YYSYMBOL_VACUUM = 472, /* VACUUM */ + YYSYMBOL_VALID = 473, /* VALID */ + YYSYMBOL_VALIDATE = 474, /* VALIDATE */ + YYSYMBOL_VALIDATOR = 475, /* VALIDATOR */ + YYSYMBOL_VALUE_P = 476, /* VALUE_P */ + YYSYMBOL_VALUES = 477, /* VALUES */ + YYSYMBOL_VARCHAR = 478, /* VARCHAR */ + YYSYMBOL_VARIADIC = 479, /* VARIADIC */ + YYSYMBOL_VARYING = 480, /* VARYING */ + YYSYMBOL_VERBOSE = 481, /* VERBOSE */ + YYSYMBOL_VERSION_P = 482, /* VERSION_P */ + YYSYMBOL_VERTEX = 483, /* VERTEX */ + YYSYMBOL_VIEW = 484, /* VIEW */ + YYSYMBOL_VIEWS = 485, /* VIEWS */ + YYSYMBOL_VIRTUAL = 486, /* VIRTUAL */ + YYSYMBOL_VOLATILE = 487, /* VOLATILE */ + YYSYMBOL_WALK = 488, /* WALK */ + YYSYMBOL_WEEK_P = 489, /* WEEK_P */ + YYSYMBOL_WEEKS_P = 490, /* WEEKS_P */ + YYSYMBOL_WHEN = 491, /* WHEN */ + YYSYMBOL_WHERE = 492, /* WHERE */ + YYSYMBOL_WHITESPACE_P = 493, /* WHITESPACE_P */ + YYSYMBOL_WINDOW = 494, /* WINDOW */ + YYSYMBOL_WITH = 495, /* WITH */ + YYSYMBOL_WITHIN = 496, /* WITHIN */ + YYSYMBOL_WITHOUT = 497, /* WITHOUT */ + YYSYMBOL_WORK = 498, /* WORK */ + YYSYMBOL_WRAPPER = 499, /* WRAPPER */ + YYSYMBOL_WRITE_P = 500, /* WRITE_P */ + YYSYMBOL_XML_P = 501, /* XML_P */ + YYSYMBOL_XMLATTRIBUTES = 502, /* XMLATTRIBUTES */ + YYSYMBOL_XMLCONCAT = 503, /* XMLCONCAT */ + YYSYMBOL_XMLELEMENT = 504, /* XMLELEMENT */ + YYSYMBOL_XMLEXISTS = 505, /* XMLEXISTS */ + YYSYMBOL_XMLFOREST = 506, /* XMLFOREST */ + YYSYMBOL_XMLNAMESPACES = 507, /* XMLNAMESPACES */ + YYSYMBOL_XMLPARSE = 508, /* XMLPARSE */ + YYSYMBOL_XMLPI = 509, /* XMLPI */ + YYSYMBOL_XMLROOT = 510, /* XMLROOT */ + YYSYMBOL_XMLSERIALIZE = 511, /* XMLSERIALIZE */ + YYSYMBOL_XMLTABLE = 512, /* XMLTABLE */ + YYSYMBOL_YEAR_P = 513, /* YEAR_P */ + YYSYMBOL_YEARS_P = 514, /* YEARS_P */ + YYSYMBOL_YES_P = 515, /* YES_P */ + YYSYMBOL_ZONE = 516, /* ZONE */ + YYSYMBOL_NOT_LA = 517, /* NOT_LA */ + YYSYMBOL_NULLS_LA = 518, /* NULLS_LA */ + YYSYMBOL_WITH_LA = 519, /* WITH_LA */ + YYSYMBOL_520_ = 520, /* '<' */ + YYSYMBOL_521_ = 521, /* '>' */ + YYSYMBOL_522_ = 522, /* '=' */ + YYSYMBOL_POSTFIXOP = 523, /* POSTFIXOP */ + YYSYMBOL_524_ = 524, /* '+' */ + YYSYMBOL_525_ = 525, /* '-' */ + YYSYMBOL_526_ = 526, /* '*' */ + YYSYMBOL_527_ = 527, /* '/' */ + YYSYMBOL_528_ = 528, /* '%' */ + YYSYMBOL_529_ = 529, /* '^' */ + YYSYMBOL_UMINUS = 530, /* UMINUS */ + YYSYMBOL_531_ = 531, /* '[' */ + YYSYMBOL_532_ = 532, /* ']' */ + YYSYMBOL_533_ = 533, /* '(' */ + YYSYMBOL_534_ = 534, /* ')' */ + YYSYMBOL_535_ = 535, /* '.' */ + YYSYMBOL_536_ = 536, /* ';' */ + YYSYMBOL_537_ = 537, /* ',' */ + YYSYMBOL_538_ = 538, /* '|' */ + YYSYMBOL_539_ = 539, /* '?' */ + YYSYMBOL_540_ = 540, /* '{' */ + YYSYMBOL_541_ = 541, /* '}' */ + YYSYMBOL_542_ = 542, /* '&' */ + YYSYMBOL_543_ = 543, /* '!' */ + YYSYMBOL_544_ = 544, /* ':' */ + YYSYMBOL_545_ = 545, /* '#' */ + YYSYMBOL_546_ = 546, /* '$' */ + YYSYMBOL_YYACCEPT = 547, /* $accept */ + YYSYMBOL_stmtblock = 548, /* stmtblock */ + YYSYMBOL_stmtmulti = 549, /* stmtmulti */ + YYSYMBOL_stmt = 550, /* stmt */ + YYSYMBOL_AlterObjectSchemaStmt = 551, /* AlterObjectSchemaStmt */ + YYSYMBOL_AlterSeqStmt = 552, /* AlterSeqStmt */ + YYSYMBOL_SeqOptList = 553, /* SeqOptList */ + YYSYMBOL_opt_with = 554, /* opt_with */ + YYSYMBOL_NumericOnly = 555, /* NumericOnly */ + YYSYMBOL_SeqOptElem = 556, /* SeqOptElem */ + YYSYMBOL_opt_by = 557, /* opt_by */ + YYSYMBOL_SignedIconst = 558, /* SignedIconst */ + YYSYMBOL_AlterTableStmt = 559, /* AlterTableStmt */ + YYSYMBOL_alter_identity_column_option_list = 560, /* alter_identity_column_option_list */ + YYSYMBOL_alter_column_default = 561, /* alter_column_default */ + YYSYMBOL_alter_identity_column_option = 562, /* alter_identity_column_option */ + YYSYMBOL_alter_generic_option_list = 563, /* alter_generic_option_list */ + YYSYMBOL_alter_table_cmd = 564, /* alter_table_cmd */ + YYSYMBOL_alter_using = 565, /* alter_using */ + YYSYMBOL_alter_generic_option_elem = 566, /* alter_generic_option_elem */ + YYSYMBOL_alter_table_cmds = 567, /* alter_table_cmds */ + YYSYMBOL_alter_generic_options = 568, /* alter_generic_options */ + YYSYMBOL_opt_set_data = 569, /* opt_set_data */ + YYSYMBOL_AnalyzeStmt = 570, /* AnalyzeStmt */ + YYSYMBOL_AttachStmt = 571, /* AttachStmt */ + YYSYMBOL_DetachStmt = 572, /* DetachStmt */ + YYSYMBOL_opt_database = 573, /* opt_database */ + YYSYMBOL_opt_database_alias = 574, /* opt_database_alias */ + YYSYMBOL_CallStmt = 575, /* CallStmt */ + YYSYMBOL_CheckPointStmt = 576, /* CheckPointStmt */ + YYSYMBOL_opt_col_id = 577, /* opt_col_id */ + YYSYMBOL_CommentOnStmt = 578, /* CommentOnStmt */ + YYSYMBOL_comment_value = 579, /* comment_value */ + YYSYMBOL_comment_on_type_any_name = 580, /* comment_on_type_any_name */ + YYSYMBOL_qualified_name = 581, /* qualified_name */ + YYSYMBOL_ColId = 582, /* ColId */ + YYSYMBOL_ColIdOrString = 583, /* ColIdOrString */ + YYSYMBOL_Sconst = 584, /* Sconst */ + YYSYMBOL_indirection = 585, /* indirection */ + YYSYMBOL_indirection_el = 586, /* indirection_el */ + YYSYMBOL_attr_name = 587, /* attr_name */ + YYSYMBOL_ColLabel = 588, /* ColLabel */ + YYSYMBOL_CopyStmt = 589, /* CopyStmt */ + YYSYMBOL_copy_database_flag = 590, /* copy_database_flag */ + YYSYMBOL_copy_from = 591, /* copy_from */ + YYSYMBOL_copy_delimiter = 592, /* copy_delimiter */ + YYSYMBOL_copy_generic_opt_arg_list = 593, /* copy_generic_opt_arg_list */ + YYSYMBOL_opt_using = 594, /* opt_using */ + YYSYMBOL_opt_as = 595, /* opt_as */ + YYSYMBOL_opt_program = 596, /* opt_program */ + YYSYMBOL_copy_options = 597, /* copy_options */ + YYSYMBOL_copy_generic_opt_arg = 598, /* copy_generic_opt_arg */ + YYSYMBOL_copy_generic_opt_elem = 599, /* copy_generic_opt_elem */ + YYSYMBOL_opt_oids = 600, /* opt_oids */ + YYSYMBOL_copy_opt_list = 601, /* copy_opt_list */ + YYSYMBOL_opt_binary = 602, /* opt_binary */ + YYSYMBOL_copy_opt_item = 603, /* copy_opt_item */ + YYSYMBOL_copy_generic_opt_arg_list_item = 604, /* copy_generic_opt_arg_list_item */ + YYSYMBOL_copy_file_name = 605, /* copy_file_name */ + YYSYMBOL_copy_generic_opt_list = 606, /* copy_generic_opt_list */ + YYSYMBOL_CreateStmt = 607, /* CreateStmt */ + YYSYMBOL_ConstraintAttributeSpec = 608, /* ConstraintAttributeSpec */ + YYSYMBOL_def_arg = 609, /* def_arg */ + YYSYMBOL_OptParenthesizedSeqOptList = 610, /* OptParenthesizedSeqOptList */ + YYSYMBOL_generic_option_arg = 611, /* generic_option_arg */ + YYSYMBOL_key_action = 612, /* key_action */ + YYSYMBOL_ColConstraint = 613, /* ColConstraint */ + YYSYMBOL_ColConstraintElem = 614, /* ColConstraintElem */ + YYSYMBOL_GeneratedColumnType = 615, /* GeneratedColumnType */ + YYSYMBOL_opt_GeneratedColumnType = 616, /* opt_GeneratedColumnType */ + YYSYMBOL_GeneratedConstraintElem = 617, /* GeneratedConstraintElem */ + YYSYMBOL_generic_option_elem = 618, /* generic_option_elem */ + YYSYMBOL_key_update = 619, /* key_update */ + YYSYMBOL_key_actions = 620, /* key_actions */ + YYSYMBOL_OnCommitOption = 621, /* OnCommitOption */ + YYSYMBOL_reloptions = 622, /* reloptions */ + YYSYMBOL_opt_no_inherit = 623, /* opt_no_inherit */ + YYSYMBOL_TableConstraint = 624, /* TableConstraint */ + YYSYMBOL_TableLikeOption = 625, /* TableLikeOption */ + YYSYMBOL_reloption_list = 626, /* reloption_list */ + YYSYMBOL_ExistingIndex = 627, /* ExistingIndex */ + YYSYMBOL_ConstraintAttr = 628, /* ConstraintAttr */ + YYSYMBOL_OptWith = 629, /* OptWith */ + YYSYMBOL_definition = 630, /* definition */ + YYSYMBOL_TableLikeOptionList = 631, /* TableLikeOptionList */ + YYSYMBOL_generic_option_name = 632, /* generic_option_name */ + YYSYMBOL_ConstraintAttributeElem = 633, /* ConstraintAttributeElem */ + YYSYMBOL_columnDef = 634, /* columnDef */ + YYSYMBOL_def_list = 635, /* def_list */ + YYSYMBOL_index_name = 636, /* index_name */ + YYSYMBOL_TableElement = 637, /* TableElement */ + YYSYMBOL_def_elem = 638, /* def_elem */ + YYSYMBOL_opt_definition = 639, /* opt_definition */ + YYSYMBOL_OptTableElementList = 640, /* OptTableElementList */ + YYSYMBOL_columnElem = 641, /* columnElem */ + YYSYMBOL_opt_column_list = 642, /* opt_column_list */ + YYSYMBOL_ColQualList = 643, /* ColQualList */ + YYSYMBOL_key_delete = 644, /* key_delete */ + YYSYMBOL_reloption_elem = 645, /* reloption_elem */ + YYSYMBOL_columnList = 646, /* columnList */ + YYSYMBOL_columnList_opt_comma = 647, /* columnList_opt_comma */ + YYSYMBOL_func_type = 648, /* func_type */ + YYSYMBOL_ConstraintElem = 649, /* ConstraintElem */ + YYSYMBOL_TableElementList = 650, /* TableElementList */ + YYSYMBOL_key_match = 651, /* key_match */ + YYSYMBOL_TableLikeClause = 652, /* TableLikeClause */ + YYSYMBOL_OptTemp = 653, /* OptTemp */ + YYSYMBOL_generated_when = 654, /* generated_when */ + YYSYMBOL_CreateAsStmt = 655, /* CreateAsStmt */ + YYSYMBOL_opt_with_data = 656, /* opt_with_data */ + YYSYMBOL_create_as_target = 657, /* create_as_target */ + YYSYMBOL_unreserved_keyword = 658, /* unreserved_keyword */ + YYSYMBOL_col_name_keyword = 659, /* col_name_keyword */ + YYSYMBOL_func_name_keyword = 660, /* func_name_keyword */ + YYSYMBOL_type_name_keyword = 661, /* type_name_keyword */ + YYSYMBOL_other_keyword = 662, /* other_keyword */ + YYSYMBOL_type_func_name_keyword = 663, /* type_func_name_keyword */ + YYSYMBOL_reserved_keyword = 664, /* reserved_keyword */ + YYSYMBOL_pgq_unreserved_keyword = 665, /* pgq_unreserved_keyword */ + YYSYMBOL_pgq_col_name_keyword = 666, /* pgq_col_name_keyword */ + YYSYMBOL_CreateFunctionStmt = 667, /* CreateFunctionStmt */ + YYSYMBOL_macro_alias = 668, /* macro_alias */ + YYSYMBOL_param_list = 669, /* param_list */ + YYSYMBOL_CreateSchemaStmt = 670, /* CreateSchemaStmt */ + YYSYMBOL_OptSchemaEltList = 671, /* OptSchemaEltList */ + YYSYMBOL_schema_stmt = 672, /* schema_stmt */ + YYSYMBOL_CreateSecretStmt = 673, /* CreateSecretStmt */ + YYSYMBOL_opt_secret_name = 674, /* opt_secret_name */ + YYSYMBOL_opt_persist = 675, /* opt_persist */ + YYSYMBOL_opt_storage_specifier = 676, /* opt_storage_specifier */ + YYSYMBOL_CreateSeqStmt = 677, /* CreateSeqStmt */ + YYSYMBOL_OptSeqOptList = 678, /* OptSeqOptList */ + YYSYMBOL_CreateTypeStmt = 679, /* CreateTypeStmt */ + YYSYMBOL_opt_enum_val_list = 680, /* opt_enum_val_list */ + YYSYMBOL_enum_val_list = 681, /* enum_val_list */ + YYSYMBOL_DeallocateStmt = 682, /* DeallocateStmt */ + YYSYMBOL_DeleteStmt = 683, /* DeleteStmt */ + YYSYMBOL_relation_expr_opt_alias = 684, /* relation_expr_opt_alias */ + YYSYMBOL_where_or_current_clause = 685, /* where_or_current_clause */ + YYSYMBOL_using_clause = 686, /* using_clause */ + YYSYMBOL_DropStmt = 687, /* DropStmt */ + YYSYMBOL_drop_type_any_name = 688, /* drop_type_any_name */ + YYSYMBOL_drop_type_name = 689, /* drop_type_name */ + YYSYMBOL_any_name_list = 690, /* any_name_list */ + YYSYMBOL_opt_drop_behavior = 691, /* opt_drop_behavior */ + YYSYMBOL_drop_type_name_on_any_name = 692, /* drop_type_name_on_any_name */ + YYSYMBOL_DropSecretStmt = 693, /* DropSecretStmt */ + YYSYMBOL_opt_storage_drop_specifier = 694, /* opt_storage_drop_specifier */ + YYSYMBOL_ExecuteStmt = 695, /* ExecuteStmt */ + YYSYMBOL_execute_param_expr = 696, /* execute_param_expr */ + YYSYMBOL_execute_param_list = 697, /* execute_param_list */ + YYSYMBOL_execute_param_clause = 698, /* execute_param_clause */ + YYSYMBOL_ExplainStmt = 699, /* ExplainStmt */ + YYSYMBOL_opt_verbose = 700, /* opt_verbose */ + YYSYMBOL_explain_option_arg = 701, /* explain_option_arg */ + YYSYMBOL_ExplainableStmt = 702, /* ExplainableStmt */ + YYSYMBOL_NonReservedWord = 703, /* NonReservedWord */ + YYSYMBOL_NonReservedWord_or_Sconst = 704, /* NonReservedWord_or_Sconst */ + YYSYMBOL_explain_option_list = 705, /* explain_option_list */ + YYSYMBOL_analyze_keyword = 706, /* analyze_keyword */ + YYSYMBOL_opt_boolean_or_string = 707, /* opt_boolean_or_string */ + YYSYMBOL_explain_option_elem = 708, /* explain_option_elem */ + YYSYMBOL_explain_option_name = 709, /* explain_option_name */ + YYSYMBOL_ExportStmt = 710, /* ExportStmt */ + YYSYMBOL_ImportStmt = 711, /* ImportStmt */ + YYSYMBOL_IndexStmt = 712, /* IndexStmt */ + YYSYMBOL_access_method = 713, /* access_method */ + YYSYMBOL_access_method_clause = 714, /* access_method_clause */ + YYSYMBOL_opt_concurrently = 715, /* opt_concurrently */ + YYSYMBOL_opt_index_name = 716, /* opt_index_name */ + YYSYMBOL_opt_reloptions = 717, /* opt_reloptions */ + YYSYMBOL_opt_unique = 718, /* opt_unique */ + YYSYMBOL_InsertStmt = 719, /* InsertStmt */ + YYSYMBOL_insert_rest = 720, /* insert_rest */ + YYSYMBOL_insert_target = 721, /* insert_target */ + YYSYMBOL_opt_by_name_or_position = 722, /* opt_by_name_or_position */ + YYSYMBOL_opt_conf_expr = 723, /* opt_conf_expr */ + YYSYMBOL_opt_with_clause = 724, /* opt_with_clause */ + YYSYMBOL_insert_column_item = 725, /* insert_column_item */ + YYSYMBOL_set_clause = 726, /* set_clause */ + YYSYMBOL_opt_or_action = 727, /* opt_or_action */ + YYSYMBOL_opt_on_conflict = 728, /* opt_on_conflict */ + YYSYMBOL_index_elem = 729, /* index_elem */ + YYSYMBOL_returning_clause = 730, /* returning_clause */ + YYSYMBOL_override_kind = 731, /* override_kind */ + YYSYMBOL_set_target_list = 732, /* set_target_list */ + YYSYMBOL_opt_collate = 733, /* opt_collate */ + YYSYMBOL_opt_class = 734, /* opt_class */ + YYSYMBOL_insert_column_list = 735, /* insert_column_list */ + YYSYMBOL_set_clause_list = 736, /* set_clause_list */ + YYSYMBOL_set_clause_list_opt_comma = 737, /* set_clause_list_opt_comma */ + YYSYMBOL_index_params = 738, /* index_params */ + YYSYMBOL_set_target = 739, /* set_target */ + YYSYMBOL_LoadStmt = 740, /* LoadStmt */ + YYSYMBOL_file_name = 741, /* file_name */ + YYSYMBOL_repo_path = 742, /* repo_path */ + YYSYMBOL_PGQ_IDENT = 743, /* PGQ_IDENT */ + YYSYMBOL_DropPropertyGraphStmt = 744, /* DropPropertyGraphStmt */ + YYSYMBOL_VertexOrNode = 745, /* VertexOrNode */ + YYSYMBOL_EdgeOrRelationship = 746, /* EdgeOrRelationship */ + YYSYMBOL_EdgeTablesClauseOptional = 747, /* EdgeTablesClauseOptional */ + YYSYMBOL_CreatePropertyGraphStmt = 748, /* CreatePropertyGraphStmt */ + YYSYMBOL_VertexTableDefinitionList = 749, /* VertexTableDefinitionList */ + YYSYMBOL_KeySpecification = 750, /* KeySpecification */ + YYSYMBOL_KeyDefinition = 751, /* KeyDefinition */ + YYSYMBOL_KeyReference = 752, /* KeyReference */ + YYSYMBOL_LabelList = 753, /* LabelList */ + YYSYMBOL_LabelOptional = 754, /* LabelOptional */ + YYSYMBOL_Discriminator = 755, /* Discriminator */ + YYSYMBOL_VertexTableDefinition = 756, /* VertexTableDefinition */ + YYSYMBOL_EdgeTableDefinitionList = 757, /* EdgeTableDefinitionList */ + YYSYMBOL_EdgeTableDefinition = 758, /* EdgeTableDefinition */ + YYSYMBOL_AreOptional = 759, /* AreOptional */ + YYSYMBOL_IdentOptionalAs = 760, /* IdentOptionalAs */ + YYSYMBOL_QualifiednameOptionalAs = 761, /* QualifiednameOptionalAs */ + YYSYMBOL_PropertiesList = 762, /* PropertiesList */ + YYSYMBOL_ExceptOptional = 763, /* ExceptOptional */ + YYSYMBOL_PropertiesSpec = 764, /* PropertiesSpec */ + YYSYMBOL_PropertiesClause = 765, /* PropertiesClause */ + YYSYMBOL_GraphTableWhereOptional = 766, /* GraphTableWhereOptional */ + YYSYMBOL_GraphTableNameOptional = 767, /* GraphTableNameOptional */ + YYSYMBOL_GraphTableStmt = 768, /* GraphTableStmt */ + YYSYMBOL_ColumnSpec = 769, /* ColumnSpec */ + YYSYMBOL_ColumnList = 770, /* ColumnList */ + YYSYMBOL_KeepOptional = 771, /* KeepOptional */ + YYSYMBOL_PathOrPathsOptional = 772, /* PathOrPathsOptional */ + YYSYMBOL_GroupOrGroupsOptional = 773, /* GroupOrGroupsOptional */ + YYSYMBOL_PathVariableOptional = 774, /* PathVariableOptional */ + YYSYMBOL_PathModeOptional = 775, /* PathModeOptional */ + YYSYMBOL_TopKOptional = 776, /* TopKOptional */ + YYSYMBOL_PathPrefix = 777, /* PathPrefix */ + YYSYMBOL_PathPatternList = 778, /* PathPatternList */ + YYSYMBOL_PathPattern = 779, /* PathPattern */ + YYSYMBOL_PatternUnion = 780, /* PatternUnion */ + YYSYMBOL_KleeneQuantifierOptional = 781, /* KleeneQuantifierOptional */ + YYSYMBOL_KleeneOptional = 782, /* KleeneOptional */ + YYSYMBOL_CostNum = 783, /* CostNum */ + YYSYMBOL_CostDefault = 784, /* CostDefault */ + YYSYMBOL_CostOptional = 785, /* CostOptional */ + YYSYMBOL_SubPath = 786, /* SubPath */ + YYSYMBOL_EnclosedSubPath = 787, /* EnclosedSubPath */ + YYSYMBOL_PathElement = 788, /* PathElement */ + YYSYMBOL_PathSequence = 789, /* PathSequence */ + YYSYMBOL_PathConcatenation = 790, /* PathConcatenation */ + YYSYMBOL_OrLabelExpression = 791, /* OrLabelExpression */ + YYSYMBOL_AndLabelExpression = 792, /* AndLabelExpression */ + YYSYMBOL_ComposedLabelExpression = 793, /* ComposedLabelExpression */ + YYSYMBOL_LabelExpression = 794, /* LabelExpression */ + YYSYMBOL_LabelExpressionOptional = 795, /* LabelExpressionOptional */ + YYSYMBOL_IsOrColon = 796, /* IsOrColon */ + YYSYMBOL_ArrowRight = 797, /* ArrowRight */ + YYSYMBOL_ArrowLeftBracket = 798, /* ArrowLeftBracket */ + YYSYMBOL_AbbreviatedEdge = 799, /* AbbreviatedEdge */ + YYSYMBOL_VariableOptional = 800, /* VariableOptional */ + YYSYMBOL_FullElementSpec = 801, /* FullElementSpec */ + YYSYMBOL_EdgePattern = 802, /* EdgePattern */ + YYSYMBOL_VertexPattern = 803, /* VertexPattern */ + YYSYMBOL_pgq_expr = 804, /* pgq_expr */ + YYSYMBOL_PragmaStmt = 805, /* PragmaStmt */ + YYSYMBOL_PrepareStmt = 806, /* PrepareStmt */ + YYSYMBOL_prep_type_clause = 807, /* prep_type_clause */ + YYSYMBOL_PreparableStmt = 808, /* PreparableStmt */ + YYSYMBOL_RenameStmt = 809, /* RenameStmt */ + YYSYMBOL_opt_column = 810, /* opt_column */ + YYSYMBOL_SelectStmt = 811, /* SelectStmt */ + YYSYMBOL_select_with_parens = 812, /* select_with_parens */ + YYSYMBOL_select_no_parens = 813, /* select_no_parens */ + YYSYMBOL_select_clause = 814, /* select_clause */ + YYSYMBOL_opt_select = 815, /* opt_select */ + YYSYMBOL_simple_select = 816, /* simple_select */ + YYSYMBOL_value_or_values = 817, /* value_or_values */ + YYSYMBOL_pivot_keyword = 818, /* pivot_keyword */ + YYSYMBOL_unpivot_keyword = 819, /* unpivot_keyword */ + YYSYMBOL_pivot_column_entry = 820, /* pivot_column_entry */ + YYSYMBOL_pivot_column_list_internal = 821, /* pivot_column_list_internal */ + YYSYMBOL_pivot_column_list = 822, /* pivot_column_list */ + YYSYMBOL_with_clause = 823, /* with_clause */ + YYSYMBOL_cte_list = 824, /* cte_list */ + YYSYMBOL_common_table_expr = 825, /* common_table_expr */ + YYSYMBOL_opt_materialized = 826, /* opt_materialized */ + YYSYMBOL_into_clause = 827, /* into_clause */ + YYSYMBOL_OptTempTableName = 828, /* OptTempTableName */ + YYSYMBOL_opt_table = 829, /* opt_table */ + YYSYMBOL_all_or_distinct = 830, /* all_or_distinct */ + YYSYMBOL_by_name = 831, /* by_name */ + YYSYMBOL_distinct_clause = 832, /* distinct_clause */ + YYSYMBOL_opt_all_clause = 833, /* opt_all_clause */ + YYSYMBOL_opt_ignore_nulls = 834, /* opt_ignore_nulls */ + YYSYMBOL_opt_sort_clause = 835, /* opt_sort_clause */ + YYSYMBOL_sort_clause = 836, /* sort_clause */ + YYSYMBOL_sortby_list = 837, /* sortby_list */ + YYSYMBOL_sortby = 838, /* sortby */ + YYSYMBOL_opt_asc_desc = 839, /* opt_asc_desc */ + YYSYMBOL_opt_nulls_order = 840, /* opt_nulls_order */ + YYSYMBOL_select_limit = 841, /* select_limit */ + YYSYMBOL_opt_select_limit = 842, /* opt_select_limit */ + YYSYMBOL_limit_clause = 843, /* limit_clause */ + YYSYMBOL_offset_clause = 844, /* offset_clause */ + YYSYMBOL_sample_count = 845, /* sample_count */ + YYSYMBOL_sample_clause = 846, /* sample_clause */ + YYSYMBOL_opt_sample_func = 847, /* opt_sample_func */ + YYSYMBOL_tablesample_entry = 848, /* tablesample_entry */ + YYSYMBOL_tablesample_clause = 849, /* tablesample_clause */ + YYSYMBOL_opt_tablesample_clause = 850, /* opt_tablesample_clause */ + YYSYMBOL_opt_repeatable_clause = 851, /* opt_repeatable_clause */ + YYSYMBOL_select_limit_value = 852, /* select_limit_value */ + YYSYMBOL_select_offset_value = 853, /* select_offset_value */ + YYSYMBOL_select_fetch_first_value = 854, /* select_fetch_first_value */ + YYSYMBOL_I_or_F_const = 855, /* I_or_F_const */ + YYSYMBOL_row_or_rows = 856, /* row_or_rows */ + YYSYMBOL_first_or_next = 857, /* first_or_next */ + YYSYMBOL_group_clause = 858, /* group_clause */ + YYSYMBOL_group_by_list = 859, /* group_by_list */ + YYSYMBOL_group_by_list_opt_comma = 860, /* group_by_list_opt_comma */ + YYSYMBOL_group_by_item = 861, /* group_by_item */ + YYSYMBOL_empty_grouping_set = 862, /* empty_grouping_set */ + YYSYMBOL_rollup_clause = 863, /* rollup_clause */ + YYSYMBOL_cube_clause = 864, /* cube_clause */ + YYSYMBOL_grouping_sets_clause = 865, /* grouping_sets_clause */ + YYSYMBOL_grouping_or_grouping_id = 866, /* grouping_or_grouping_id */ + YYSYMBOL_having_clause = 867, /* having_clause */ + YYSYMBOL_qualify_clause = 868, /* qualify_clause */ + YYSYMBOL_for_locking_clause = 869, /* for_locking_clause */ + YYSYMBOL_opt_for_locking_clause = 870, /* opt_for_locking_clause */ + YYSYMBOL_for_locking_items = 871, /* for_locking_items */ + YYSYMBOL_for_locking_item = 872, /* for_locking_item */ + YYSYMBOL_for_locking_strength = 873, /* for_locking_strength */ + YYSYMBOL_locked_rels_list = 874, /* locked_rels_list */ + YYSYMBOL_opt_nowait_or_skip = 875, /* opt_nowait_or_skip */ + YYSYMBOL_values_clause = 876, /* values_clause */ + YYSYMBOL_values_clause_opt_comma = 877, /* values_clause_opt_comma */ + YYSYMBOL_from_clause = 878, /* from_clause */ + YYSYMBOL_from_list = 879, /* from_list */ + YYSYMBOL_from_list_opt_comma = 880, /* from_list_opt_comma */ + YYSYMBOL_table_ref = 881, /* table_ref */ + YYSYMBOL_opt_pivot_group_by = 882, /* opt_pivot_group_by */ + YYSYMBOL_opt_include_nulls = 883, /* opt_include_nulls */ + YYSYMBOL_single_pivot_value = 884, /* single_pivot_value */ + YYSYMBOL_pivot_header = 885, /* pivot_header */ + YYSYMBOL_pivot_value = 886, /* pivot_value */ + YYSYMBOL_pivot_value_list = 887, /* pivot_value_list */ + YYSYMBOL_unpivot_header = 888, /* unpivot_header */ + YYSYMBOL_unpivot_value = 889, /* unpivot_value */ + YYSYMBOL_unpivot_value_list = 890, /* unpivot_value_list */ + YYSYMBOL_joined_table = 891, /* joined_table */ + YYSYMBOL_alias_clause = 892, /* alias_clause */ + YYSYMBOL_opt_alias_clause = 893, /* opt_alias_clause */ + YYSYMBOL_func_alias_clause = 894, /* func_alias_clause */ + YYSYMBOL_join_type = 895, /* join_type */ + YYSYMBOL_join_outer = 896, /* join_outer */ + YYSYMBOL_join_qual = 897, /* join_qual */ + YYSYMBOL_relation_expr = 898, /* relation_expr */ + YYSYMBOL_func_table = 899, /* func_table */ + YYSYMBOL_rowsfrom_item = 900, /* rowsfrom_item */ + YYSYMBOL_rowsfrom_list = 901, /* rowsfrom_list */ + YYSYMBOL_opt_col_def_list = 902, /* opt_col_def_list */ + YYSYMBOL_opt_ordinality = 903, /* opt_ordinality */ + YYSYMBOL_where_clause = 904, /* where_clause */ + YYSYMBOL_TableFuncElementList = 905, /* TableFuncElementList */ + YYSYMBOL_TableFuncElement = 906, /* TableFuncElement */ + YYSYMBOL_opt_collate_clause = 907, /* opt_collate_clause */ + YYSYMBOL_colid_type_list = 908, /* colid_type_list */ + YYSYMBOL_RowOrStruct = 909, /* RowOrStruct */ + YYSYMBOL_opt_Typename = 910, /* opt_Typename */ + YYSYMBOL_Typename = 911, /* Typename */ + YYSYMBOL_qualified_typename = 912, /* qualified_typename */ + YYSYMBOL_opt_array_bounds = 913, /* opt_array_bounds */ + YYSYMBOL_SimpleTypename = 914, /* SimpleTypename */ + YYSYMBOL_ConstTypename = 915, /* ConstTypename */ + YYSYMBOL_GenericType = 916, /* GenericType */ + YYSYMBOL_opt_type_modifiers = 917, /* opt_type_modifiers */ + YYSYMBOL_Numeric = 918, /* Numeric */ + YYSYMBOL_opt_float = 919, /* opt_float */ + YYSYMBOL_Bit = 920, /* Bit */ + YYSYMBOL_ConstBit = 921, /* ConstBit */ + YYSYMBOL_BitWithLength = 922, /* BitWithLength */ + YYSYMBOL_BitWithoutLength = 923, /* BitWithoutLength */ + YYSYMBOL_Character = 924, /* Character */ + YYSYMBOL_ConstCharacter = 925, /* ConstCharacter */ + YYSYMBOL_CharacterWithLength = 926, /* CharacterWithLength */ + YYSYMBOL_CharacterWithoutLength = 927, /* CharacterWithoutLength */ + YYSYMBOL_character = 928, /* character */ + YYSYMBOL_opt_varying = 929, /* opt_varying */ + YYSYMBOL_ConstDatetime = 930, /* ConstDatetime */ + YYSYMBOL_ConstInterval = 931, /* ConstInterval */ + YYSYMBOL_opt_timezone = 932, /* opt_timezone */ + YYSYMBOL_year_keyword = 933, /* year_keyword */ + YYSYMBOL_month_keyword = 934, /* month_keyword */ + YYSYMBOL_day_keyword = 935, /* day_keyword */ + YYSYMBOL_hour_keyword = 936, /* hour_keyword */ + YYSYMBOL_minute_keyword = 937, /* minute_keyword */ + YYSYMBOL_second_keyword = 938, /* second_keyword */ + YYSYMBOL_millisecond_keyword = 939, /* millisecond_keyword */ + YYSYMBOL_microsecond_keyword = 940, /* microsecond_keyword */ + YYSYMBOL_week_keyword = 941, /* week_keyword */ + YYSYMBOL_decade_keyword = 942, /* decade_keyword */ + YYSYMBOL_century_keyword = 943, /* century_keyword */ + YYSYMBOL_millennium_keyword = 944, /* millennium_keyword */ + YYSYMBOL_opt_interval = 945, /* opt_interval */ + YYSYMBOL_a_expr = 946, /* a_expr */ + YYSYMBOL_b_expr = 947, /* b_expr */ + YYSYMBOL_c_expr = 948, /* c_expr */ + YYSYMBOL_d_expr = 949, /* d_expr */ + YYSYMBOL_indirection_expr = 950, /* indirection_expr */ + YYSYMBOL_struct_expr = 951, /* struct_expr */ + YYSYMBOL_func_application = 952, /* func_application */ + YYSYMBOL_func_expr = 953, /* func_expr */ + YYSYMBOL_func_expr_windowless = 954, /* func_expr_windowless */ + YYSYMBOL_func_expr_common_subexpr = 955, /* func_expr_common_subexpr */ + YYSYMBOL_list_comprehension = 956, /* list_comprehension */ + YYSYMBOL_within_group_clause = 957, /* within_group_clause */ + YYSYMBOL_filter_clause = 958, /* filter_clause */ + YYSYMBOL_export_clause = 959, /* export_clause */ + YYSYMBOL_window_clause = 960, /* window_clause */ + YYSYMBOL_window_definition_list = 961, /* window_definition_list */ + YYSYMBOL_window_definition = 962, /* window_definition */ + YYSYMBOL_over_clause = 963, /* over_clause */ + YYSYMBOL_window_specification = 964, /* window_specification */ + YYSYMBOL_opt_existing_window_name = 965, /* opt_existing_window_name */ + YYSYMBOL_opt_partition_clause = 966, /* opt_partition_clause */ + YYSYMBOL_opt_frame_clause = 967, /* opt_frame_clause */ + YYSYMBOL_frame_extent = 968, /* frame_extent */ + YYSYMBOL_frame_bound = 969, /* frame_bound */ + YYSYMBOL_opt_window_exclusion_clause = 970, /* opt_window_exclusion_clause */ + YYSYMBOL_qualified_row = 971, /* qualified_row */ + YYSYMBOL_row = 972, /* row */ + YYSYMBOL_dict_arg = 973, /* dict_arg */ + YYSYMBOL_dict_arguments = 974, /* dict_arguments */ + YYSYMBOL_dict_arguments_opt_comma = 975, /* dict_arguments_opt_comma */ + YYSYMBOL_map_arg = 976, /* map_arg */ + YYSYMBOL_map_arguments = 977, /* map_arguments */ + YYSYMBOL_map_arguments_opt_comma = 978, /* map_arguments_opt_comma */ + YYSYMBOL_opt_map_arguments_opt_comma = 979, /* opt_map_arguments_opt_comma */ + YYSYMBOL_sub_type = 980, /* sub_type */ + YYSYMBOL_all_Op = 981, /* all_Op */ + YYSYMBOL_MathOp = 982, /* MathOp */ + YYSYMBOL_qual_Op = 983, /* qual_Op */ + YYSYMBOL_qual_all_Op = 984, /* qual_all_Op */ + YYSYMBOL_subquery_Op = 985, /* subquery_Op */ + YYSYMBOL_any_operator = 986, /* any_operator */ + YYSYMBOL_c_expr_list = 987, /* c_expr_list */ + YYSYMBOL_c_expr_list_opt_comma = 988, /* c_expr_list_opt_comma */ + YYSYMBOL_expr_list = 989, /* expr_list */ + YYSYMBOL_expr_list_opt_comma = 990, /* expr_list_opt_comma */ + YYSYMBOL_opt_expr_list_opt_comma = 991, /* opt_expr_list_opt_comma */ + YYSYMBOL_func_arg_list = 992, /* func_arg_list */ + YYSYMBOL_func_arg_expr = 993, /* func_arg_expr */ + YYSYMBOL_type_list = 994, /* type_list */ + YYSYMBOL_extract_list = 995, /* extract_list */ + YYSYMBOL_extract_arg = 996, /* extract_arg */ + YYSYMBOL_overlay_list = 997, /* overlay_list */ + YYSYMBOL_overlay_placing = 998, /* overlay_placing */ + YYSYMBOL_position_list = 999, /* position_list */ + YYSYMBOL_substr_list = 1000, /* substr_list */ + YYSYMBOL_substr_from = 1001, /* substr_from */ + YYSYMBOL_substr_for = 1002, /* substr_for */ + YYSYMBOL_trim_list = 1003, /* trim_list */ + YYSYMBOL_in_expr = 1004, /* in_expr */ + YYSYMBOL_case_expr = 1005, /* case_expr */ + YYSYMBOL_when_clause_list = 1006, /* when_clause_list */ + YYSYMBOL_when_clause = 1007, /* when_clause */ + YYSYMBOL_case_default = 1008, /* case_default */ + YYSYMBOL_case_arg = 1009, /* case_arg */ + YYSYMBOL_columnref = 1010, /* columnref */ + YYSYMBOL_opt_slice_bound = 1011, /* opt_slice_bound */ + YYSYMBOL_opt_indirection = 1012, /* opt_indirection */ + YYSYMBOL_opt_func_arguments = 1013, /* opt_func_arguments */ + YYSYMBOL_extended_indirection_el = 1014, /* extended_indirection_el */ + YYSYMBOL_opt_extended_indirection = 1015, /* opt_extended_indirection */ + YYSYMBOL_opt_asymmetric = 1016, /* opt_asymmetric */ + YYSYMBOL_opt_target_list_opt_comma = 1017, /* opt_target_list_opt_comma */ + YYSYMBOL_target_list = 1018, /* target_list */ + YYSYMBOL_target_list_opt_comma = 1019, /* target_list_opt_comma */ + YYSYMBOL_target_el = 1020, /* target_el */ + YYSYMBOL_except_list = 1021, /* except_list */ + YYSYMBOL_opt_except_list = 1022, /* opt_except_list */ + YYSYMBOL_replace_list_el = 1023, /* replace_list_el */ + YYSYMBOL_replace_list = 1024, /* replace_list */ + YYSYMBOL_replace_list_opt_comma = 1025, /* replace_list_opt_comma */ + YYSYMBOL_opt_replace_list = 1026, /* opt_replace_list */ + YYSYMBOL_qualified_name_list = 1027, /* qualified_name_list */ + YYSYMBOL_name_list = 1028, /* name_list */ + YYSYMBOL_name_list_opt_comma = 1029, /* name_list_opt_comma */ + YYSYMBOL_name_list_opt_comma_opt_bracket = 1030, /* name_list_opt_comma_opt_bracket */ + YYSYMBOL_name = 1031, /* name */ + YYSYMBOL_func_name = 1032, /* func_name */ + YYSYMBOL_AexprConst = 1033, /* AexprConst */ + YYSYMBOL_Iconst = 1034, /* Iconst */ + YYSYMBOL_type_function_name = 1035, /* type_function_name */ + YYSYMBOL_function_name_token = 1036, /* function_name_token */ + YYSYMBOL_type_name_token = 1037, /* type_name_token */ + YYSYMBOL_any_name = 1038, /* any_name */ + YYSYMBOL_attrs = 1039, /* attrs */ + YYSYMBOL_opt_name_list = 1040, /* opt_name_list */ + YYSYMBOL_param_name = 1041, /* param_name */ + YYSYMBOL_ColLabelOrString = 1042, /* ColLabelOrString */ + YYSYMBOL_TransactionStmt = 1043, /* TransactionStmt */ + YYSYMBOL_opt_transaction = 1044, /* opt_transaction */ + YYSYMBOL_UpdateStmt = 1045, /* UpdateStmt */ + YYSYMBOL_UseStmt = 1046, /* UseStmt */ + YYSYMBOL_VacuumStmt = 1047, /* VacuumStmt */ + YYSYMBOL_vacuum_option_elem = 1048, /* vacuum_option_elem */ + YYSYMBOL_opt_full = 1049, /* opt_full */ + YYSYMBOL_vacuum_option_list = 1050, /* vacuum_option_list */ + YYSYMBOL_opt_freeze = 1051, /* opt_freeze */ + YYSYMBOL_VariableResetStmt = 1052, /* VariableResetStmt */ + YYSYMBOL_generic_reset = 1053, /* generic_reset */ + YYSYMBOL_reset_rest = 1054, /* reset_rest */ + YYSYMBOL_VariableSetStmt = 1055, /* VariableSetStmt */ + YYSYMBOL_set_rest = 1056, /* set_rest */ + YYSYMBOL_generic_set = 1057, /* generic_set */ + YYSYMBOL_var_value = 1058, /* var_value */ + YYSYMBOL_zone_value = 1059, /* zone_value */ + YYSYMBOL_var_list = 1060, /* var_list */ + YYSYMBOL_VariableShowStmt = 1061, /* VariableShowStmt */ + YYSYMBOL_describe_or_desc = 1062, /* describe_or_desc */ + YYSYMBOL_show_or_describe = 1063, /* show_or_describe */ + YYSYMBOL_opt_tables = 1064, /* opt_tables */ + YYSYMBOL_var_name = 1065, /* var_name */ + YYSYMBOL_table_id = 1066, /* table_id */ + YYSYMBOL_ViewStmt = 1067, /* ViewStmt */ + YYSYMBOL_opt_check_option = 1068 /* opt_check_option */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -1633,21 +1662,21 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 767 +#define YYFINAL 953 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 77188 +#define YYLAST 80275 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 534 +#define YYNTOKENS 547 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 506 +#define YYNNTS 522 /* YYNRULES -- Number of rules. */ -#define YYNRULES 2309 +#define YYNRULES 2384 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 3847 +#define YYNSTATES 3975 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 763 +#define YYMAXUTOK 776 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -1664,16 +1693,16 @@ static const yytype_int16 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 530, 2, 532, 533, 515, 529, 2, - 520, 521, 513, 511, 524, 512, 522, 514, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 531, 523, - 507, 509, 508, 526, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 543, 2, 545, 546, 528, 542, 2, + 533, 534, 526, 524, 537, 525, 535, 527, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 544, 536, + 520, 522, 521, 539, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 518, 2, 519, 516, 2, 2, 2, 2, 2, + 2, 531, 2, 532, 529, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 527, 525, 528, 2, 2, 2, 2, + 2, 2, 2, 540, 538, 541, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1737,177 +1766,184 @@ static const yytype_int16 yytranslate[] = 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 506, 510, 517 + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 523, 530 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 552, 552, 568, 580, 589, 590, 591, 592, 593, - 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, - 624, 625, 626, 627, 628, 630, 9, 18, 27, 36, - 45, 54, 63, 72, 85, 87, 93, 94, 99, 103, - 107, 118, 126, 130, 139, 148, 157, 166, 175, 184, - 192, 200, 209, 218, 227, 236, 253, 262, 271, 280, - 290, 303, 318, 327, 335, 350, 358, 368, 378, 385, - 392, 400, 407, 418, 419, 424, 428, 433, 438, 446, - 447, 452, 456, 457, 458, 7, 13, 19, 25, 9, - 13, 44, 45, 46, 47, 51, 52, 56, 60, 61, - 65, 71, 76, 77, 78, 79, 80, 6, 15, 25, - 35, 45, 55, 65, 75, 85, 95, 106, 117, 127, - 140, 141, 9, 23, 29, 36, 42, 49, 59, 63, - 71, 72, 73, 77, 86, 95, 102, 103, 108, 120, - 125, 150, 155, 160, 166, 176, 186, 192, 203, 214, - 229, 230, 236, 237, 242, 243, 249, 250, 254, 255, - 260, 262, 268, 269, 273, 274, 277, 278, 283, 7, - 16, 25, 46, 47, 50, 54, 7, 14, 22, 9, - 19, 29, 42, 43, 7, 14, 31, 51, 55, 65, - 69, 75, 76, 9, 17, 29, 30, 34, 35, 36, - 41, 42, 43, 48, 52, 56, 60, 64, 68, 72, - 76, 80, 84, 88, 92, 97, 101, 105, 112, 113, - 117, 118, 119, 2, 9, 15, 21, 28, 35, 45, - 46, 47, 2, 40, 41, 42, 50, 64, 66, 70, - 72, 76, 78, 82, 95, 98, 102, 106, 110, 114, - 115, 119, 120, 124, 133, 143, 157, 160, 164, 187, - 188, 193, 195, 199, 201, 205, 207, 212, 215, 219, - 225, 229, 231, 234, 243, 245, 249, 251, 255, 281, - 285, 287, 291, 293, 297, 297, 297, 301, 303, 305, - 309, 311, 315, 317, 319, 321, 323, 327, 329, 333, - 345, 357, 369, 381, 394, 408, 410, 415, 440, 442, - 446, 448, 453, 462, 471, 480, 490, 500, 502, 506, - 508, 512, 523, 532, 544, 553, 555, 559, 582, 584, - 588, 590, 601, 603, 614, 616, 627, 629, 638, 649, - 657, 666, 670, 672, 676, 678, 684, 686, 688, 692, - 694, 698, 704, 712, 714, 718, 729, 745, 772, 805, - 806, 808, 816, 831, 833, 835, 837, 839, 841, 843, - 845, 847, 849, 851, 853, 855, 857, 859, 862, 864, - 866, 868, 870, 872, 877, 882, 889, 894, 901, 906, - 913, 918, 926, 934, 942, 950, 968, 976, 984, 992, - 1000, 1008, 1016, 1020, 1036, 1044, 1052, 1060, 1068, 1076, - 1084, 1088, 1092, 1096, 1100, 1108, 1116, 1124, 1132, 1152, - 7, 21, 36, 56, 57, 84, 85, 86, 87, 88, - 89, 93, 94, 99, 104, 105, 106, 107, 108, 113, - 120, 121, 122, 139, 146, 153, 163, 173, 185, 193, - 202, 220, 221, 225, 226, 230, 239, 262, 276, 283, - 288, 290, 292, 294, 297, 300, 301, 302, 303, 308, - 312, 313, 318, 325, 330, 331, 332, 333, 334, 335, - 336, 337, 343, 344, 348, 353, 360, 367, 374, 386, - 387, 388, 389, 393, 398, 399, 400, 405, 410, 411, - 412, 413, 414, 415, 420, 440, 469, 470, 474, 478, - 479, 480, 484, 488, 496, 497, 502, 503, 504, 508, - 516, 517, 522, 523, 527, 532, 536, 540, 545, 553, - 554, 558, 559, 563, 564, 570, 581, 594, 608, 622, - 636, 650, 673, 677, 684, 688, 696, 701, 708, 718, - 719, 720, 721, 722, 729, 736, 737, 742, 743, 9, - 19, 29, 39, 49, 59, 69, 79, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 114, 115, 116, 117, 118, 119, - 124, 125, 130, 131, 132, 137, 138, 139, 142, 143, - 8, 20, 33, 46, 58, 70, 86, 87, 91, 95, - 7, 1, 30, 53, 54, 59, 63, 68, 72, 80, - 81, 85, 86, 91, 92, 96, 97, 102, 103, 104, - 105, 106, 107, 112, 120, 124, 129, 130, 135, 139, - 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, - 184, 188, 192, 196, 200, 204, 212, 218, 219, 220, - 225, 229, 47, 48, 52, 53, 68, 69, 76, 84, - 92, 100, 108, 116, 127, 128, 155, 160, 168, 184, - 201, 218, 235, 236, 255, 259, 263, 267, 271, 280, - 290, 299, 308, 318, 328, 339, 353, 370, 370, 374, - 374, 378, 378, 382, 388, 395, 399, 400, 404, 405, - 419, 426, 433, 443, 444, 447, 460, 461, 462, 466, - 477, 485, 490, 495, 500, 505, 513, 521, 526, 531, - 538, 539, 543, 544, 545, 549, 556, 557, 561, 562, - 566, 567, 568, 572, 573, 577, 578, 594, 595, 598, - 607, 618, 619, 620, 623, 624, 625, 629, 630, 631, - 632, 636, 637, 641, 643, 659, 661, 666, 669, 677, - 681, 685, 689, 693, 697, 704, 709, 716, 717, 721, - 726, 730, 734, 742, 749, 750, 755, 756, 760, 761, - 766, 768, 770, 775, 795, 796, 798, 803, 804, 808, - 809, 812, 813, 838, 839, 844, 848, 849, 853, 854, - 858, 859, 860, 861, 862, 866, 879, 886, 893, 900, - 901, 905, 906, 910, 911, 915, 916, 920, 921, 925, - 926, 930, 941, 942, 943, 944, 948, 949, 954, 955, - 956, 965, 971, 980, 981, 994, 995, 999, 1000, 1004, - 1005, 1011, 1017, 1025, 1034, 1042, 1051, 1060, 1064, 1069, - 1073, 1083, 1096, 1097, 1100, 1101, 1102, 1105, 1113, 1123, - 1124, 1127, 1135, 1144, 1148, 1155, 1156, 1160, 1169, 1173, - 1198, 1202, 1215, 1229, 1244, 1256, 1269, 1283, 1297, 1310, - 1325, 1344, 1350, 1355, 1361, 1368, 1369, 1377, 1381, 1385, - 1391, 1398, 1403, 1404, 1405, 1406, 1407, 1408, 1412, 1413, - 1425, 1426, 1431, 1438, 1445, 1452, 1484, 1495, 1508, 1513, - 1514, 1517, 1518, 1521, 1522, 1527, 1528, 1533, 1537, 1543, - 1564, 1572, 1585, 1588, 1592, 1592, 1595, 1596, 1598, 1603, - 1610, 1615, 1621, 1626, 1632, 1638, 1644, 1653, 1655, 1658, - 1662, 1663, 1664, 1665, 1666, 1667, 1672, 1692, 1693, 1694, - 1695, 1706, 1720, 1721, 1727, 1732, 1737, 1742, 1747, 1752, - 1757, 1762, 1768, 1774, 1780, 1787, 1809, 1818, 1822, 1830, - 1834, 1842, 1854, 1875, 1879, 1885, 1889, 1902, 1910, 1920, - 1922, 1924, 1926, 1928, 1930, 1935, 1936, 1943, 1952, 1960, - 1969, 1980, 1988, 1989, 1990, 1994, 1994, 1997, 1997, 2000, - 2000, 2003, 2003, 2006, 2006, 2009, 2009, 2012, 2012, 2015, - 2015, 2018, 2020, 2022, 2024, 2026, 2028, 2030, 2032, 2034, - 2039, 2044, 2050, 2057, 2062, 2068, 2074, 2105, 2107, 2109, - 2117, 2132, 2134, 2136, 2138, 2140, 2142, 2144, 2146, 2148, - 2150, 2152, 2154, 2156, 2158, 2160, 2162, 2165, 2167, 2169, - 2172, 2174, 2176, 2178, 2180, 2185, 2190, 2197, 2202, 2209, - 2214, 2221, 2226, 2234, 2242, 2250, 2258, 2276, 2284, 2292, - 2300, 2308, 2316, 2324, 2328, 2344, 2352, 2360, 2368, 2376, - 2384, 2392, 2396, 2400, 2404, 2408, 2416, 2424, 2432, 2440, - 2460, 2482, 2493, 2500, 2514, 2522, 2530, 2550, 2552, 2554, - 2556, 2558, 2560, 2562, 2564, 2566, 2568, 2570, 2572, 2574, - 2576, 2578, 2580, 2582, 2584, 2586, 2588, 2590, 2592, 2596, - 2600, 2604, 2618, 2619, 2623, 2637, 2638, 2639, 2646, 2650, - 2654, 2657, 2668, 2673, 2675, 2686, 2710, 2721, 2732, 2736, - 2743, 2747, 2751, 2768, 2776, 2785, 2789, 2796, 2804, 2812, - 2823, 2843, 2879, 2890, 2891, 2898, 2904, 2906, 2908, 2912, - 2921, 2926, 2933, 2948, 2955, 2959, 2963, 2967, 2971, 2981, - 2990, 3012, 3013, 3017, 3018, 3019, 3023, 3024, 3031, 3032, - 3036, 3037, 3042, 3050, 3052, 3066, 3069, 3096, 3097, 3100, - 3101, 3112, 3118, 3125, 3134, 3151, 3196, 3204, 3212, 3220, - 3228, 3249, 3250, 3253, 3254, 3258, 3268, 3269, 3273, 3274, - 3278, 3285, 3286, 3291, 3292, 3297, 3298, 3301, 3302, 3303, - 3306, 3307, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, - 3318, 3319, 3320, 3321, 3322, 3323, 3326, 3328, 3333, 3335, - 3340, 3342, 3344, 3346, 3348, 3350, 3352, 3354, 3368, 3370, - 3375, 3379, 3386, 3391, 3397, 3401, 3408, 3413, 3420, 3425, - 3433, 3437, 3443, 3447, 3456, 3467, 3468, 3472, 3476, 3483, - 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3502, - 3506, 3513, 3520, 3521, 3537, 3541, 3546, 3550, 3565, 3570, - 3574, 3577, 3580, 3581, 3582, 3585, 3592, 3602, 3616, 3617, - 3621, 3632, 3633, 3636, 3637, 3640, 3644, 3651, 3659, 3667, - 3675, 3685, 3686, 3691, 3692, 3696, 3697, 3698, 3702, 3711, - 3719, 3727, 3736, 3751, 3752, 3757, 3758, 3768, 3769, 3773, - 3774, 3778, 3779, 3782, 3798, 3806, 3816, 3817, 3820, 3821, - 3824, 3828, 3829, 3833, 3834, 3837, 3838, 3839, 3849, 3850, - 3854, 3856, 3862, 3863, 3867, 3868, 3871, 3882, 3885, 3896, - 3900, 3904, 3916, 3920, 3929, 3936, 3974, 3978, 3982, 3986, - 3990, 3994, 3998, 4004, 4021, 4022, 4023, 4024, 4028, 4029, - 4030, 4031, 4035, 4036, 4037, 4038, 4042, 4043, 4046, 4048, - 4053, 4054, 4057, 4061, 4062, 7, 18, 19, 23, 24, - 25, 26, 27, 7, 26, 50, 73, 80, 85, 86, - 87, 88, 8, 33, 62, 66, 67, 72, 73, 78, - 79, 83, 84, 89, 90, 7, 16, 25, 34, 43, - 52, 5, 12, 22, 23, 7, 19, 33, 9, 16, - 26, 33, 44, 45, 50, 51, 52, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 90, 91, 92, - 93, 98, 99, 104, 108, 116, 117, 122, 123, 124, - 130, 135, 143, 144, 10, 16, 22, 28, 38, 39, - 47, 58, 70, 78, 86, 93, 103, 105, 111, 115, - 119, 134, 141, 142, 143, 147, 148, 7, 15, 22, - 29, 36, 45, 46, 48, 49, 8, 22, 36, 48, - 56, 70, 71, 72, 73, 74, 87, 88, 93, 94, - 98, 99, 7, 18, 31, 35, 42, 53, 54, 60, - 61, 9, 19, 7, 18, 25, 34, 35, 39, 40, + 0, 560, 560, 576, 588, 597, 598, 599, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 641, 9, + 18, 27, 36, 45, 54, 63, 72, 85, 87, 93, + 94, 99, 103, 107, 118, 126, 130, 139, 148, 157, + 166, 175, 184, 192, 200, 209, 218, 227, 236, 253, + 262, 271, 280, 290, 303, 318, 327, 335, 350, 358, + 368, 378, 385, 392, 400, 407, 418, 419, 424, 428, + 433, 438, 446, 447, 452, 456, 457, 458, 7, 13, + 19, 25, 9, 13, 44, 45, 46, 47, 51, 52, + 56, 60, 61, 65, 71, 76, 77, 78, 79, 80, + 6, 15, 25, 35, 45, 55, 65, 75, 85, 95, + 106, 117, 127, 140, 141, 9, 23, 29, 36, 42, + 49, 59, 63, 71, 72, 73, 77, 86, 95, 102, + 103, 108, 120, 125, 150, 155, 160, 166, 176, 186, + 192, 203, 214, 229, 230, 236, 237, 242, 243, 249, + 250, 254, 255, 260, 262, 268, 269, 273, 274, 277, + 278, 283, 7, 16, 25, 46, 47, 50, 54, 7, + 14, 22, 9, 19, 29, 42, 43, 7, 17, 27, + 40, 41, 45, 46, 47, 51, 52, 7, 14, 31, + 51, 55, 65, 69, 75, 76, 9, 17, 29, 30, + 34, 35, 36, 41, 42, 43, 48, 52, 56, 60, + 64, 68, 72, 76, 80, 84, 88, 92, 97, 101, + 105, 112, 113, 117, 118, 119, 7, 16, 28, 29, + 2, 9, 15, 21, 28, 35, 45, 46, 47, 2, + 40, 41, 42, 50, 64, 66, 70, 72, 76, 78, + 82, 95, 98, 102, 106, 110, 114, 115, 119, 120, + 124, 133, 143, 157, 160, 164, 187, 188, 193, 195, + 199, 201, 205, 207, 212, 215, 219, 225, 229, 231, + 234, 243, 245, 249, 251, 255, 281, 285, 287, 291, + 293, 297, 297, 297, 301, 303, 305, 309, 311, 315, + 317, 319, 321, 323, 327, 329, 333, 345, 357, 369, + 381, 394, 408, 410, 415, 440, 442, 446, 448, 453, + 462, 471, 480, 490, 500, 502, 506, 508, 512, 523, + 532, 544, 553, 555, 559, 582, 584, 588, 590, 601, + 603, 614, 616, 627, 629, 638, 649, 657, 666, 670, + 672, 676, 678, 684, 686, 688, 692, 694, 698, 704, + 712, 714, 718, 729, 745, 772, 805, 806, 808, 816, + 831, 833, 835, 837, 839, 841, 843, 845, 847, 849, + 851, 853, 855, 857, 859, 862, 864, 866, 868, 870, + 872, 877, 882, 889, 894, 901, 906, 913, 918, 926, + 934, 942, 950, 968, 976, 984, 992, 1000, 1008, 1016, + 1020, 1036, 1044, 1052, 1060, 1068, 1076, 1084, 1088, 1092, + 1096, 1100, 1108, 1116, 1124, 1132, 1152, 7, 21, 36, + 56, 57, 84, 85, 86, 87, 88, 89, 93, 94, + 99, 104, 105, 106, 107, 108, 113, 120, 121, 122, + 139, 146, 153, 163, 173, 185, 193, 202, 220, 221, + 225, 226, 230, 239, 262, 276, 283, 288, 290, 292, + 294, 297, 300, 301, 302, 303, 308, 312, 313, 318, + 325, 330, 331, 332, 333, 334, 335, 336, 337, 343, + 344, 348, 353, 360, 367, 374, 386, 387, 388, 389, + 393, 398, 399, 400, 405, 410, 411, 412, 413, 414, + 415, 420, 440, 469, 470, 474, 478, 479, 480, 484, + 488, 496, 497, 502, 503, 504, 508, 516, 517, 522, + 523, 527, 532, 536, 540, 545, 553, 554, 558, 559, + 563, 564, 570, 581, 594, 608, 622, 636, 650, 673, + 677, 684, 688, 696, 701, 708, 718, 719, 720, 721, + 722, 729, 736, 737, 742, 743, 9, 19, 29, 39, + 49, 59, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 95, 96, 97, 98, 99, 100, 105, 106, 111, 112, + 113, 118, 119, 120, 8, 20, 33, 46, 58, 70, + 86, 87, 91, 95, 7, 1, 30, 49, 61, 62, + 63, 67, 68, 73, 77, 82, 86, 94, 95, 99, + 100, 105, 106, 110, 111, 116, 117, 118, 119, 120, + 121, 126, 134, 138, 143, 144, 149, 153, 158, 162, + 166, 170, 174, 178, 182, 186, 190, 194, 198, 202, + 206, 210, 214, 218, 226, 231, 232, 233, 234, 235, + 241, 245, 47, 48, 52, 53, 54, 72, 73, 80, + 88, 96, 104, 112, 120, 131, 132, 159, 164, 172, + 188, 205, 222, 239, 240, 259, 263, 267, 271, 275, + 284, 294, 303, 312, 322, 332, 343, 357, 374, 374, + 378, 378, 382, 382, 386, 392, 399, 403, 404, 408, + 409, 423, 430, 437, 447, 448, 451, 464, 465, 466, + 470, 481, 489, 494, 499, 504, 509, 517, 525, 530, + 535, 542, 543, 547, 548, 549, 553, 560, 561, 565, + 566, 570, 571, 572, 576, 577, 581, 582, 598, 599, + 602, 611, 622, 623, 624, 627, 628, 629, 633, 634, + 635, 636, 640, 641, 645, 647, 663, 665, 670, 673, + 681, 685, 689, 693, 697, 701, 708, 713, 720, 721, + 725, 730, 734, 738, 746, 753, 754, 759, 760, 764, + 765, 770, 772, 774, 779, 799, 800, 802, 807, 808, + 812, 813, 816, 817, 842, 843, 848, 852, 853, 857, + 858, 862, 863, 864, 865, 866, 870, 883, 890, 897, + 904, 905, 909, 910, 914, 915, 919, 920, 924, 925, + 929, 930, 934, 945, 946, 947, 948, 952, 953, 958, + 959, 960, 969, 975, 984, 985, 998, 999, 1003, 1004, + 1008, 1009, 1015, 1021, 1029, 1038, 1046, 1055, 1064, 1068, + 1073, 1077, 1087, 1100, 1101, 1104, 1105, 1106, 1109, 1117, + 1127, 1128, 1131, 1139, 1148, 1152, 1159, 1160, 1164, 1173, + 1177, 1202, 1206, 1219, 1233, 1248, 1260, 1273, 1287, 1301, + 1314, 1329, 1348, 1354, 1359, 1365, 1372, 1373, 1381, 1385, + 1389, 1395, 1402, 1407, 1408, 1409, 1410, 1411, 1412, 1416, + 1417, 1429, 1430, 1435, 1442, 1449, 1456, 1488, 1499, 1512, + 1517, 1518, 1521, 1522, 1525, 1526, 1531, 1532, 1537, 1541, + 1547, 1568, 1576, 1589, 1592, 1596, 1596, 1599, 1600, 1602, + 1607, 1614, 1619, 1625, 1630, 1636, 1640, 1647, 1654, 1664, + 1665, 1669, 1671, 1674, 1678, 1679, 1680, 1681, 1682, 1683, + 1688, 1708, 1709, 1710, 1711, 1722, 1736, 1737, 1743, 1748, + 1753, 1758, 1763, 1768, 1773, 1778, 1784, 1790, 1796, 1803, + 1825, 1834, 1838, 1846, 1850, 1858, 1870, 1891, 1895, 1901, + 1905, 1918, 1926, 1936, 1938, 1940, 1942, 1944, 1946, 1951, + 1952, 1959, 1968, 1976, 1985, 1996, 2004, 2005, 2006, 2010, + 2010, 2013, 2013, 2016, 2016, 2019, 2019, 2022, 2022, 2025, + 2025, 2028, 2028, 2031, 2031, 2034, 2034, 2037, 2037, 2040, + 2040, 2043, 2043, 2046, 2048, 2050, 2052, 2054, 2056, 2058, + 2060, 2062, 2064, 2066, 2068, 2070, 2075, 2080, 2086, 2093, + 2098, 2104, 2110, 2141, 2143, 2145, 2153, 2168, 2170, 2172, + 2174, 2176, 2178, 2180, 2182, 2184, 2186, 2188, 2190, 2192, + 2194, 2196, 2198, 2201, 2203, 2205, 2208, 2210, 2212, 2214, + 2216, 2221, 2226, 2233, 2238, 2245, 2250, 2257, 2262, 2270, + 2278, 2286, 2294, 2312, 2320, 2328, 2336, 2344, 2352, 2360, + 2364, 2380, 2388, 2396, 2404, 2412, 2420, 2428, 2432, 2436, + 2440, 2444, 2452, 2460, 2468, 2476, 2496, 2518, 2529, 2536, + 2550, 2558, 2566, 2586, 2588, 2590, 2592, 2594, 2596, 2598, + 2600, 2602, 2604, 2606, 2608, 2610, 2612, 2614, 2616, 2618, + 2620, 2622, 2624, 2626, 2628, 2632, 2636, 2640, 2654, 2655, + 2659, 2673, 2674, 2675, 2682, 2686, 2690, 2693, 2704, 2709, + 2711, 2722, 2746, 2757, 2768, 2772, 2779, 2783, 2787, 2804, + 2812, 2821, 2825, 2832, 2840, 2848, 2859, 2879, 2915, 2926, + 2927, 2934, 2940, 2942, 2944, 2948, 2957, 2962, 2969, 2984, + 2991, 2995, 2999, 3003, 3007, 3017, 3026, 3048, 3049, 3053, + 3054, 3055, 3059, 3060, 3067, 3068, 3072, 3073, 3078, 3086, + 3088, 3102, 3105, 3132, 3133, 3136, 3137, 3145, 3153, 3161, + 3170, 3180, 3198, 3244, 3253, 3262, 3271, 3280, 3292, 3293, + 3294, 3295, 3296, 3310, 3311, 3314, 3315, 3319, 3329, 3330, + 3334, 3335, 3339, 3346, 3347, 3352, 3353, 3358, 3359, 3362, + 3363, 3364, 3367, 3368, 3371, 3372, 3373, 3374, 3375, 3376, + 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3387, 3389, + 3394, 3396, 3401, 3403, 3405, 3407, 3409, 3411, 3413, 3415, + 3429, 3431, 3436, 3440, 3447, 3452, 3458, 3462, 3469, 3474, + 3481, 3486, 3494, 3498, 3504, 3508, 3517, 3528, 3529, 3533, + 3537, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, + 3553, 3554, 3555, 3556, 3557, 3567, 3571, 3578, 3585, 3586, + 3602, 3606, 3611, 3615, 3630, 3635, 3639, 3642, 3645, 3646, + 3647, 3650, 3657, 3667, 3681, 3682, 3686, 3697, 3698, 3701, + 3702, 3705, 3709, 3716, 3724, 3732, 3740, 3750, 3751, 3756, + 3757, 3761, 3762, 3763, 3767, 3776, 3784, 3792, 3801, 3816, + 3817, 3822, 3823, 3833, 3834, 3838, 3839, 3843, 3844, 3847, + 3863, 3871, 3881, 3882, 3885, 3886, 3889, 3893, 3894, 3898, + 3899, 3902, 3903, 3904, 3914, 3915, 3919, 3921, 3927, 3928, + 3932, 3933, 3936, 3947, 3950, 3961, 3965, 3969, 3981, 3985, + 3994, 4001, 4039, 4043, 4047, 4051, 4055, 4059, 4063, 4069, + 4086, 4087, 4088, 4089, 4093, 4094, 4095, 4096, 4100, 4101, + 4102, 4103, 4107, 4108, 4111, 4113, 4118, 4119, 4122, 4126, + 4127, 7, 18, 19, 23, 24, 25, 26, 27, 28, + 7, 26, 50, 73, 80, 85, 86, 87, 88, 8, + 33, 62, 66, 67, 72, 73, 78, 79, 83, 84, + 89, 90, 7, 16, 25, 34, 43, 52, 5, 12, + 22, 23, 7, 15, 26, 27, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 7, 19, 33, 9, + 16, 26, 33, 44, 45, 50, 51, 52, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 90, 91, + 92, 93, 98, 99, 104, 108, 116, 117, 122, 123, + 124, 130, 135, 143, 144, 10, 16, 22, 28, 38, + 39, 47, 58, 70, 78, 89, 95, 99, 103, 118, + 125, 126, 127, 131, 132, 7, 15, 22, 29, 36, + 45, 46, 48, 49, 8, 22, 36, 48, 56, 70, + 71, 72, 73, 74, 87, 88, 93, 94, 98, 99, + 7, 18, 31, 35, 42, 53, 54, 60, 61, 9, + 19, 7, 16, 28, 35, 42, 51, 52, 56, 57, 2, 7, 12, 17, 26, 33, 43, 44, 51, 3, 10, 17, 24, 31, 38, 45, 52, 61, 61, 63, - 63, 65, 66, 70, 71, 6, 8, 21, 34, 47, - 65, 87, 88, 89, 90, 11, 24, 37, 54, 55, - 56, 61, 74, 74, 74, 74, 74, 74, 74, 74, + 63, 65, 65, 67, 68, 72, 73, 6, 8, 21, + 34, 47, 65, 87, 88, 89, 90, 11, 24, 37, + 54, 55, 56, 61, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, @@ -1937,18 +1973,20 @@ static const yytype_int16 yyrline[] = 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, + 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, + 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, @@ -1956,25 +1994,25 @@ static const yytype_int16 yyrline[] = 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, + 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 81, 81, 81, 81, + 80, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, + 81, 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82 + 82, 82, 82, 82, 82 }; #endif @@ -2001,76 +2039,78 @@ static const char *const yytname[] = "ASYMMETRIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION", "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P", "BOTH", "BY", "CACHE", "CALL_P", "CALLED", "CASCADE", "CASCADED", "CASE", - "CAST", "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS", - "CHECK_P", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE", - "COLLATE", "COLLATION", "COLUMN", "COLUMNS", "COMMENT", "COMMENTS", - "COMMIT", "COMMITTED", "COMPRESSION", "CONCURRENTLY", "CONFIGURATION", - "CONFLICT", "CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", - "CONTINUE_P", "CONVERSION_P", "COPY", "COST", "CREATE_P", "CROSS", "CSV", - "CUBE", "CURRENT_P", "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P", - "DAYS_P", "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE", "DEFAULT", - "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER", - "DELIMITERS", "DEPENDS", "DESC_P", "DESCRIBE", "DESTINATION", "DETACH", - "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", - "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "EDGE", "ELEMENT_ID", "ELSE", - "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE", - "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE", - "EXISTS", "EXPLAIN", "EXPORT_P", "EXPORT_STATE", "EXTENSION", "EXTERNAL", - "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FIRST_P", "FLOAT_P", - "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORWARD", "FREEZE", "FROM", - "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", "GLOB", "GLOBAL", "GRANT", - "GRANTED", "GRAPH", "GRAPH_TABLE", "GROUP_P", "GROUPING", "GROUPING_ID", - "GROUPS", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "HOURS_P", - "IDENTITY_P", "IF_P", "IGNORE_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", - "IMPLICIT_P", "IMPORT_P", "IN_P", "INCLUDE_P", "INCLUDING", "INCREMENT", - "INDEX", "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", - "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTALL", - "INSTEAD", "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO", - "INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN", "JSON", "KEEP", "KEY", - "LABEL", "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P", "LEADING", - "LEAKPROOF", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", - "LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MACRO", "MAP", "MAPPING", - "MATCH", "MATERIALIZED", "MAXVALUE", "METHOD", "MICROSECOND_P", - "MICROSECONDS_P", "MILLISECOND_P", "MILLISECONDS_P", "MINUTE_P", - "MINUTES_P", "MINVALUE", "MODE", "MONTH_P", "MONTHS_P", "MOVE", "NAME_P", - "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NEW", "NEXT", "NO", "NODE", - "NONE", "NOT", "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P", - "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF", "OFF", "OFFSET", - "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION", "OPTIONS", "OR", - "ORDER", "ORDINALITY", "OUT_P", "OUTER_P", "OVER", "OVERLAPS", "OVERLAY", - "OVERRIDING", "OWNED", "OWNER", "PARALLEL", "PARSER", "PARTIAL", - "PARTITION", "PASSING", "PASSWORD", "PATH", "PATHS", "PERCENT", "PIVOT", - "PIVOT_LONGER", "PIVOT_WIDER", "PLACING", "PLANS", "POLICY", "POSITION", - "POSITIONAL", "PRAGMA_P", "PRECEDING", "PRECISION", "PREPARE", - "PREPARED", "PRESERVE", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", - "PROCEDURE", "PROGRAM", "PROPERTIES", "PROPERTY", "PUBLICATION", - "QUALIFY", "QUOTE", "RANGE", "READ_P", "REAL", "REASSIGN", "RECHECK", - "RECURSIVE", "REF", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", - "RELATIONSHIP", "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", - "REPLACE", "REPLICA", "RESET", "RESPECT_P", "RESTART", "RESTRICT", - "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", - "ROW", "ROWS", "RULE", "SAMPLE", "SAVEPOINT", "SCHEMA", "SCHEMAS", - "SCROLL", "SEARCH", "SECOND_P", "SECONDS_P", "SECURITY", "SELECT", - "SEMI", "SEQUENCE", "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", - "SET", "SETOF", "SETS", "SHARE", "SHORTEST", "SHOW", "SIMILAR", "SIMPLE", + "CAST", "CATALOG_P", "CENTURIES_P", "CENTURY_P", "CHAIN", "CHAR_P", + "CHARACTER", "CHARACTERISTICS", "CHECK_P", "CHECKPOINT", "CLASS", + "CLOSE", "CLUSTER", "COALESCE", "COLLATE", "COLLATION", "COLUMN", + "COLUMNS", "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION", + "CONCURRENTLY", "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT", + "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST", + "CREATE_P", "CROSS", "CSV", "CUBE", "CURRENT_P", "CURSOR", "CYCLE", + "DATA_P", "DATABASE", "DAY_P", "DAYS_P", "DEALLOCATE", "DEC", "DECADE_P", + "DECADES_P", "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", + "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", + "DESC_P", "DESCRIBE", "DESTINATION", "DETACH", "DICTIONARY", "DISABLE_P", + "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", + "DROP", "EACH", "EDGE", "ELEMENT_ID", "ELSE", "ENABLE_P", "ENCODING", + "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", + "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPORT_P", + "EXPORT_STATE", "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", + "FETCH", "FILTER", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", + "FOREIGN", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS", + "GENERATED", "GLOB", "GLOBAL", "GRANT", "GRANTED", "GRAPH", + "GRAPH_TABLE", "GROUP_P", "GROUPING", "GROUPING_ID", "GROUPS", "HANDLER", + "HAVING", "HEADER_P", "HOLD", "HOUR_P", "HOURS_P", "IDENTITY_P", "IF_P", + "IGNORE_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", + "IN_P", "INCLUDE_P", "INCLUDING", "INCREMENT", "INDEX", "INDEXES", + "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", "INOUT", + "INPUT_P", "INSENSITIVE", "INSERT", "INSTALL", "INSTEAD", "INT_P", + "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", + "ISOLATION", "JOIN", "JSON", "KEEP", "KEY", "LABEL", "LANGUAGE", + "LARGE_P", "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF", "LEFT", + "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCATION", + "LOCK_P", "LOCKED", "LOGGED", "MACRO", "MAP", "MAPPING", "MATCH", + "MATERIALIZED", "MAXVALUE", "METHOD", "MICROSECOND_P", "MICROSECONDS_P", + "MILLENNIA_P", "MILLENNIUM_P", "MILLISECOND_P", "MILLISECONDS_P", + "MINUTE_P", "MINUTES_P", "MINVALUE", "MODE", "MONTH_P", "MONTHS_P", + "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NEW", "NEXT", + "NO", "NODE", "NONE", "NOT", "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", + "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF", "OFF", + "OFFSET", "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION", "OPTIONS", + "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P", "OVER", + "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER", "PARALLEL", + "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PATH", "PATHS", + "PERCENT", "PERSISTENT", "PIVOT", "PIVOT_LONGER", "PIVOT_WIDER", + "PLACING", "PLANS", "POLICY", "POSITION", "POSITIONAL", "PRAGMA_P", + "PRECEDING", "PRECISION", "PREPARE", "PREPARED", "PRESERVE", "PRIMARY", + "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROGRAM", + "PROPERTIES", "PROPERTY", "PUBLICATION", "QUALIFY", "QUOTE", "RANGE", + "READ_P", "REAL", "REASSIGN", "RECHECK", "RECURSIVE", "REF", + "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", "RELATIONSHIP", + "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", + "RESET", "RESPECT_P", "RESTART", "RESTRICT", "RETURNING", "RETURNS", + "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROW", "ROWS", "RULE", + "SAMPLE", "SAVEPOINT", "SCHEMA", "SCHEMAS", "SCOPE", "SCROLL", "SEARCH", + "SECOND_P", "SECONDS_P", "SECRET", "SECURITY", "SELECT", "SEMI", + "SEQUENCE", "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SET", + "SETOF", "SETS", "SHARE", "SHORTEST", "SHOW", "SIMILAR", "SIMPLE", "SKIP", "SMALLINT", "SNAPSHOT", "SOME", "SOURCE", "SQL_P", "STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE", "STORED", "STRICT_P", "STRIP_P", "STRUCT", "SUBSCRIPTION", "SUBSTRING", "SUMMARIZE", "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE", "TABLES", "TABLESAMPLE", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", - "TEXT_P", "THEN", "TIME", "TIMESTAMP", "TO", "TRAIL", "TRAILING", + "TEXT_P", "THEN", "TIES", "TIME", "TIMESTAMP", "TO", "TRAIL", "TRAILING", "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TRY_CAST", "TYPE_P", "TYPES_P", "UNBOUNDED", "UNCOMMITTED", "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNPIVOT", "UNTIL", "UPDATE", "USE_P", "USER", "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES", "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VERTEX", - "VIEW", "VIEWS", "VIRTUAL", "VOLATILE", "WALK", "WHEN", "WHERE", - "WHITESPACE_P", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER", - "WRITE_P", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", - "XMLEXISTS", "XMLFOREST", "XMLNAMESPACES", "XMLPARSE", "XMLPI", - "XMLROOT", "XMLSERIALIZE", "XMLTABLE", "YEAR_P", "YEARS_P", "YES_P", - "ZONE", "NOT_LA", "NULLS_LA", "WITH_LA", "'<'", "'>'", "'='", + "VIEW", "VIEWS", "VIRTUAL", "VOLATILE", "WALK", "WEEK_P", "WEEKS_P", + "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", "WITH", "WITHIN", "WITHOUT", + "WORK", "WRAPPER", "WRITE_P", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", + "XMLELEMENT", "XMLEXISTS", "XMLFOREST", "XMLNAMESPACES", "XMLPARSE", + "XMLPI", "XMLROOT", "XMLSERIALIZE", "XMLTABLE", "YEAR_P", "YEARS_P", + "YES_P", "ZONE", "NOT_LA", "NULLS_LA", "WITH_LA", "'<'", "'>'", "'='", "POSTFIXOP", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','", "'|'", "'?'", "'{'", "'}'", "'&'", "'!'", "':'", "'#'", "'$'", "$accept", "stmtblock", "stmtmulti", @@ -2082,12 +2122,14 @@ static const char *const yytname[] = "alter_generic_option_elem", "alter_table_cmds", "alter_generic_options", "opt_set_data", "AnalyzeStmt", "AttachStmt", "DetachStmt", "opt_database", "opt_database_alias", "CallStmt", "CheckPointStmt", - "opt_col_id", "qualified_name", "ColId", "ColIdOrString", "Sconst", - "indirection", "indirection_el", "attr_name", "ColLabel", "CopyStmt", - "copy_from", "copy_delimiter", "copy_generic_opt_arg_list", "opt_using", - "opt_as", "opt_program", "copy_options", "copy_generic_opt_arg", - "copy_generic_opt_elem", "opt_oids", "copy_opt_list", "opt_binary", - "copy_opt_item", "copy_generic_opt_arg_list_item", "copy_file_name", + "opt_col_id", "CommentOnStmt", "comment_value", + "comment_on_type_any_name", "qualified_name", "ColId", "ColIdOrString", + "Sconst", "indirection", "indirection_el", "attr_name", "ColLabel", + "CopyStmt", "copy_database_flag", "copy_from", "copy_delimiter", + "copy_generic_opt_arg_list", "opt_using", "opt_as", "opt_program", + "copy_options", "copy_generic_opt_arg", "copy_generic_opt_elem", + "opt_oids", "copy_opt_list", "opt_binary", "copy_opt_item", + "copy_generic_opt_arg_list_item", "copy_file_name", "copy_generic_opt_list", "CreateStmt", "ConstraintAttributeSpec", "def_arg", "OptParenthesizedSeqOptList", "generic_option_arg", "key_action", "ColConstraint", "ColConstraintElem", @@ -2107,40 +2149,41 @@ static const char *const yytname[] = "other_keyword", "type_func_name_keyword", "reserved_keyword", "pgq_unreserved_keyword", "pgq_col_name_keyword", "CreateFunctionStmt", "macro_alias", "param_list", "CreateSchemaStmt", "OptSchemaEltList", - "schema_stmt", "CreateSeqStmt", "OptSeqOptList", "CreateTypeStmt", - "opt_enum_val_list", "enum_val_list", "DeallocateStmt", "DeleteStmt", - "relation_expr_opt_alias", "where_or_current_clause", "using_clause", - "DropStmt", "drop_type_any_name", "drop_type_name", "any_name_list", - "opt_drop_behavior", "drop_type_name_on_any_name", "type_name_list", - "ExecuteStmt", "execute_param_expr", "execute_param_list", - "execute_param_clause", "ExplainStmt", "opt_verbose", - "explain_option_arg", "ExplainableStmt", "NonReservedWord", - "NonReservedWord_or_Sconst", "explain_option_list", "analyze_keyword", - "opt_boolean_or_string", "explain_option_elem", "explain_option_name", - "ExportStmt", "ImportStmt", "IndexStmt", "access_method", - "access_method_clause", "opt_concurrently", "opt_index_name", - "opt_reloptions", "opt_unique", "InsertStmt", "insert_rest", - "insert_target", "opt_by_name_or_position", "opt_conf_expr", - "opt_with_clause", "insert_column_item", "set_clause", "opt_or_action", - "opt_on_conflict", "index_elem", "returning_clause", "override_kind", - "set_target_list", "opt_collate", "opt_class", "insert_column_list", - "set_clause_list", "set_clause_list_opt_comma", "index_params", - "set_target", "LoadStmt", "file_name", "repo_path", "PGQ_IDENT", - "DropPropertyGraphStmt", "VertexOrNode", "EdgeOrRelationship", - "EdgeTablesClauseOptional", "CreatePropertyGraphStmt", - "VertexTableDefinitionList", "KeySpecification", "KeyDefinition", - "KeyReference", "LabelList", "LabelOptional", "Discriminator", - "VertexTableDefinition", "EdgeTableDefinitionList", - "EdgeTableDefinition", "AreOptional", "IdentOptionalAs", - "QualifiednameOptionalAs", "PropertiesList", "ExceptOptional", - "PropertiesSpec", "PropertiesClause", "GraphTableWhereOptional", - "GraphTableNameOptional", "GraphTableStmt", "ColumnSpec", "ColumnList", - "KeepOptional", "PathOrPathsOptional", "GroupOrGroupsOptional", - "PathVariableOptional", "PathModeOptional", "TopKOptional", "PathPrefix", - "PathPatternList", "PathPattern", "PatternUnion", - "KleeneQuantifierOptional", "KleeneOptional", "CostNum", "CostDefault", - "CostOptional", "SubPath", "EnclosedSubPath", "PathElement", - "PathSequence", "PathConcatenation", "OrLabelExpression", + "schema_stmt", "CreateSecretStmt", "opt_secret_name", "opt_persist", + "opt_storage_specifier", "CreateSeqStmt", "OptSeqOptList", + "CreateTypeStmt", "opt_enum_val_list", "enum_val_list", "DeallocateStmt", + "DeleteStmt", "relation_expr_opt_alias", "where_or_current_clause", + "using_clause", "DropStmt", "drop_type_any_name", "drop_type_name", + "any_name_list", "opt_drop_behavior", "drop_type_name_on_any_name", + "DropSecretStmt", "opt_storage_drop_specifier", "ExecuteStmt", + "execute_param_expr", "execute_param_list", "execute_param_clause", + "ExplainStmt", "opt_verbose", "explain_option_arg", "ExplainableStmt", + "NonReservedWord", "NonReservedWord_or_Sconst", "explain_option_list", + "analyze_keyword", "opt_boolean_or_string", "explain_option_elem", + "explain_option_name", "ExportStmt", "ImportStmt", "IndexStmt", + "access_method", "access_method_clause", "opt_concurrently", + "opt_index_name", "opt_reloptions", "opt_unique", "InsertStmt", + "insert_rest", "insert_target", "opt_by_name_or_position", + "opt_conf_expr", "opt_with_clause", "insert_column_item", "set_clause", + "opt_or_action", "opt_on_conflict", "index_elem", "returning_clause", + "override_kind", "set_target_list", "opt_collate", "opt_class", + "insert_column_list", "set_clause_list", "set_clause_list_opt_comma", + "index_params", "set_target", "LoadStmt", "file_name", "repo_path", + "PGQ_IDENT", "DropPropertyGraphStmt", "VertexOrNode", + "EdgeOrRelationship", "EdgeTablesClauseOptional", + "CreatePropertyGraphStmt", "VertexTableDefinitionList", + "KeySpecification", "KeyDefinition", "KeyReference", "LabelList", + "LabelOptional", "Discriminator", "VertexTableDefinition", + "EdgeTableDefinitionList", "EdgeTableDefinition", "AreOptional", + "IdentOptionalAs", "QualifiednameOptionalAs", "PropertiesList", + "ExceptOptional", "PropertiesSpec", "PropertiesClause", + "GraphTableWhereOptional", "GraphTableNameOptional", "GraphTableStmt", + "ColumnSpec", "ColumnList", "KeepOptional", "PathOrPathsOptional", + "GroupOrGroupsOptional", "PathVariableOptional", "PathModeOptional", + "TopKOptional", "PathPrefix", "PathPatternList", "PathPattern", + "PatternUnion", "KleeneQuantifierOptional", "KleeneOptional", "CostNum", + "CostDefault", "CostOptional", "SubPath", "EnclosedSubPath", + "PathElement", "PathSequence", "PathConcatenation", "OrLabelExpression", "AndLabelExpression", "ComposedLabelExpression", "LabelExpression", "LabelExpressionOptional", "IsOrColon", "ArrowRight", "ArrowLeftBracket", "AbbreviatedEdge", "VariableOptional", "FullElementSpec", "EdgePattern", @@ -2175,32 +2218,35 @@ static const char *const yytname[] = "opt_col_def_list", "opt_ordinality", "where_clause", "TableFuncElementList", "TableFuncElement", "opt_collate_clause", "colid_type_list", "RowOrStruct", "opt_Typename", "Typename", - "opt_array_bounds", "SimpleTypename", "ConstTypename", "GenericType", - "opt_type_modifiers", "Numeric", "opt_float", "Bit", "ConstBit", - "BitWithLength", "BitWithoutLength", "Character", "ConstCharacter", - "CharacterWithLength", "CharacterWithoutLength", "character", - "opt_varying", "ConstDatetime", "ConstInterval", "opt_timezone", - "year_keyword", "month_keyword", "day_keyword", "hour_keyword", - "minute_keyword", "second_keyword", "millisecond_keyword", - "microsecond_keyword", "opt_interval", "a_expr", "b_expr", "c_expr", - "d_expr", "indirection_expr", "struct_expr", "func_application", - "func_expr", "func_expr_windowless", "func_expr_common_subexpr", - "list_comprehension", "within_group_clause", "filter_clause", - "export_clause", "window_clause", "window_definition_list", - "window_definition", "over_clause", "window_specification", - "opt_existing_window_name", "opt_partition_clause", "opt_frame_clause", - "frame_extent", "frame_bound", "qualified_row", "row", "dict_arg", - "dict_arguments", "dict_arguments_opt_comma", "map_arg", "map_arguments", - "map_arguments_opt_comma", "opt_map_arguments_opt_comma", "sub_type", - "all_Op", "MathOp", "qual_Op", "qual_all_Op", "subquery_Op", - "any_operator", "c_expr_list", "c_expr_list_opt_comma", "expr_list", - "expr_list_opt_comma", "opt_expr_list_opt_comma", "func_arg_list", - "func_arg_expr", "type_list", "extract_list", "extract_arg", - "overlay_list", "overlay_placing", "position_list", "substr_list", - "substr_from", "substr_for", "trim_list", "in_expr", "case_expr", - "when_clause_list", "when_clause", "case_default", "case_arg", - "columnref", "opt_slice_bound", "opt_indirection", "opt_func_arguments", - "extended_indirection_el", "opt_extended_indirection", "opt_asymmetric", + "qualified_typename", "opt_array_bounds", "SimpleTypename", + "ConstTypename", "GenericType", "opt_type_modifiers", "Numeric", + "opt_float", "Bit", "ConstBit", "BitWithLength", "BitWithoutLength", + "Character", "ConstCharacter", "CharacterWithLength", + "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime", + "ConstInterval", "opt_timezone", "year_keyword", "month_keyword", + "day_keyword", "hour_keyword", "minute_keyword", "second_keyword", + "millisecond_keyword", "microsecond_keyword", "week_keyword", + "decade_keyword", "century_keyword", "millennium_keyword", + "opt_interval", "a_expr", "b_expr", "c_expr", "d_expr", + "indirection_expr", "struct_expr", "func_application", "func_expr", + "func_expr_windowless", "func_expr_common_subexpr", "list_comprehension", + "within_group_clause", "filter_clause", "export_clause", "window_clause", + "window_definition_list", "window_definition", "over_clause", + "window_specification", "opt_existing_window_name", + "opt_partition_clause", "opt_frame_clause", "frame_extent", + "frame_bound", "opt_window_exclusion_clause", "qualified_row", "row", + "dict_arg", "dict_arguments", "dict_arguments_opt_comma", "map_arg", + "map_arguments", "map_arguments_opt_comma", + "opt_map_arguments_opt_comma", "sub_type", "all_Op", "MathOp", "qual_Op", + "qual_all_Op", "subquery_Op", "any_operator", "c_expr_list", + "c_expr_list_opt_comma", "expr_list", "expr_list_opt_comma", + "opt_expr_list_opt_comma", "func_arg_list", "func_arg_expr", "type_list", + "extract_list", "extract_arg", "overlay_list", "overlay_placing", + "position_list", "substr_list", "substr_from", "substr_for", "trim_list", + "in_expr", "case_expr", "when_clause_list", "when_clause", + "case_default", "case_arg", "columnref", "opt_slice_bound", + "opt_indirection", "opt_func_arguments", "extended_indirection_el", + "opt_extended_indirection", "opt_asymmetric", "opt_target_list_opt_comma", "target_list", "target_list_opt_comma", "target_el", "except_list", "opt_except_list", "replace_list_el", "replace_list", "replace_list_opt_comma", "opt_replace_list", @@ -2212,8 +2258,8 @@ static const char *const yytname[] = "VacuumStmt", "vacuum_option_elem", "opt_full", "vacuum_option_list", "opt_freeze", "VariableResetStmt", "generic_reset", "reset_rest", "VariableSetStmt", "set_rest", "generic_set", "var_value", "zone_value", - "var_list", "VariableShowStmt", "show_or_describe", "opt_tables", - "var_name", "table_id", "ViewStmt", "opt_check_option", YY_NULLPTR + "var_list", "VariableShowStmt", "describe_or_desc", "show_or_describe", + "opt_tables", "var_name", "table_id", "ViewStmt", "opt_check_option", YY_NULLPTR }; static const char * @@ -2223,12 +2269,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-3359) +#define YYPACT_NINF (-3439) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-2163) +#define YYTABLE_NINF (-2235) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -2237,391 +2283,404 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const int yypact[] = { - 5611, 427, 1080, -3359, -3359, 545, 427, 54215, 69230, 427, - 148, 2554, 56219, -3359, 861, 6241, 427, 59225, 76651, 954, - 335, 37138, 963, 59726, 59726, -3359, -3359, -3359, 69230, 59225, - 60227, 427, 363, 69731, -3359, 427, 39142, 56720, -14, -3359, - 59225, 78, -39, 60728, 59225, 44153, 1088, 625, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, 716, - -3359, -3359, -3359, -3359, 180, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, 268, -3359, 831, 288, 37138, 37138, 1472, - 693, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, 38641, - -3359, -3359, -3359, -3359, 61229, 59225, 61730, 57221, 62231, -3359, - 1217, -3359, 171, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, 204, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, 218, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, 229, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -78, 237, -3359, -3359, 253, -3359, 753, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, 4387, 59225, - 470, 688, 932, 1167, 62732, -3359, -3359, 59225, -3359, -3359, - 898, 1171, -3359, -3359, 57722, -3359, -3359, -3359, 1163, 1392, - 1146, -3359, -3359, 1023, -3359, 184, -3359, -3359, 997, 1059, - -3359, 1345, -3359, -3359, -3359, -3359, -3359, -3359, -3359, 1177, - -3359, 73238, -3359, 70232, 63233, 63734, -3359, 1042, 1757, 8115, - 76668, 36636, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, 716, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, 59726, 69230, 59726, 1061, 1082, 1378, - 1103, 1108, 37639, 1113, 39644, 1137, 1141, 1413, 1165, 1192, - 1211, 1219, -39, 36135, 1184, -78, -3359, 64235, 64235, 100, - 2054, -3359, 64235, 64736, -3359, 1246, -3359, 1217, -3359, -3359, - -3359, 1571, -3359, 477, 1265, -3359, 65237, 65237, 65237, 1271, - 1553, -3359, -3359, -3359, 1279, -3359, -3359, 1513, 24592, 24592, - 70733, 70733, 1217, 70733, 1341, -3359, -3359, 613, -3359, 4387, - -3359, -3359, 1472, 1298, -78, -3359, -3359, 56720, -3359, -3359, - 357, 1664, 24592, 59225, 1328, -3359, 1337, 1328, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -39, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, 1602, 1348, 1367, -3359, 5611, -3359, - 59225, 1719, 1596, 56720, 371, 371, 1841, 371, 1063, 1152, - 3144, 7137, -3359, 2116, -3359, 1389, 1494, 1417, 1699, -3359, - 1298, 1780, 1314, 1581, 1788, 7953, 1793, 1605, 1799, 1659, - 1912, 24592, 51710, -78, -3359, 14503, 1436, 1440, -3359, -3359, - -3359, -3359, 1213, 59225, 1695, -3359, 1944, -3359, -3359, 1517, - 65738, 66239, 66740, 67241, 1911, -3359, -3359, 1852, -3359, -3359, - -3359, 1528, -3359, -3359, -3359, 59225, 208, -3359, -3359, -3359, - -3359, -3359, -3359, 1551, -3359, 1551, 1551, -3359, -3359, -3359, - -3359, 1502, 1502, 1702, 1524, -3359, -3359, -3359, 1895, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, 1532, - 1189, -3359, 1551, -3359, 1502, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, 75683, -3359, -3359, -3359, -3359, 591, 749, -3359, - 1542, -3359, -3359, -3359, -3359, -3359, 114, 1546, -3359, 2028, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, 1556, -3359, - 4471, 1502, 1929, 1569, 130, -3359, 1946, 142, -3359, 1947, - 1811, 17689, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -39, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - 358, -3359, -3359, 48755, 76668, 1672, 1586, -3359, 1937, 24592, - 24592, 1591, 3020, 76169, -3359, 64235, 64736, 24592, 59225, -3359, - 24592, 29902, 1592, 24592, 24592, 15034, 24592, 35133, 64235, 2054, - 1593, -3359, 680, 59225, 1595, -3359, 1689, 1689, 363, 37138, - 1894, -3359, 1065, 1896, 1824, -3359, 37138, 1824, 1102, 1607, - 1901, 1824, -3359, 718, 1905, 1689, 40145, 1616, -3359, 1689, - 1838, -3359, -3359, 59726, 48755, 17689, 73724, 2096, -3359, -3359, - -3359, -3359, 1904, 69230, 1619, -3359, -3359, -3359, -3359, -3359, - -3359, 650, 2136, 203, 2139, 24592, 203, 203, 1626, 256, - 256, -3359, 1627, -3359, 258, 1628, 1629, 2145, 2146, 172, - 193, 1189, 203, 24592, -3359, 256, 1633, 2149, 1640, 2151, - 181, 255, -3359, 273, 24592, 24592, 24592, 2012, 24592, 13972, - -3359, 59225, 2153, 51710, 465, -3359, -78, 1645, 1217, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, 217, 6276, -3359, - -3359, -3359, -3359, 1683, -3359, -3359, -3359, -3359, 1865, 24592, - -3359, -3359, 1646, 1894, -3359, 274, -3359, -3359, 1894, -3359, - -3359, -3359, -3359, -3359, 321, 2069, 47753, 48254, 69230, -78, - -3359, 71234, -3359, -3359, -3359, -3359, -3359, -3359, 420, -3359, - 716, 50368, 1651, 1655, 1328, 59225, 59225, 2138, 76169, -3359, - -3359, -3359, 1337, 56720, 167, 1962, 1796, -3359, -3359, 1472, - 1472, 18751, 980, 223, 131, 19282, 25123, 2020, 1899, 228, - 617, 2022, -3359, 1903, 2130, 29902, 24592, 24592, 1063, 1152, - 24592, -3359, -3359, -3359, 1960, 59225, 54716, 961, 1076, 1681, - 1767, 1687, 67, 2111, -3359, 1685, -3359, 1777, 59225, 75683, - 319, -3359, 2154, 319, 319, 261, 2155, 1781, 342, 1950, - 55, 648, 2001, -3359, 1685, 56720, 260, 767, 1685, 59225, - 1789, 825, 1685, 69230, 1586, 10919, 1688, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, 214, - 17689, -3359, 1322, 1355, 1496, 419, 175, 1604, 1801, 17689, - 1873, 1883, 216, 1893, 1898, 1900, 1902, 1909, 1915, 1918, - 1926, 178, 1930, 1936, 1971, 1980, 1983, 1995, -3359, 1999, - 232, 2004, 225, 17689, 2019, -3359, 257, -3359, 272, 50368, - 24, -3359, -3359, 2021, 1798, 69230, 1739, 59225, 1057, 35, - 2073, 2129, 74210, 59225, 1956, 2001, 1957, 1721, 2202, 1968, - 1440, 1969, 1727, -3359, 71735, 2245, -3359, 211, -3359, -3359, - -3359, -3359, -3359, 1732, -3359, -3359, 24592, -3359, -3359, -3359, - 2244, -3359, 73724, 73724, 1551, 1551, -3359, -3359, 2215, 1826, - 1829, 2244, -3359, 2244, -3359, 69230, -3359, -3359, 73724, -3359, - 69230, 1748, 1749, 2244, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - 2244, 1835, -3359, 1836, 1839, 1840, -3359, -3359, -3359, -3359, - -3359, 69230, 51710, 1754, 69230, -3359, 59225, 59225, -3359, 59225, - 69230, -3359, 788, 50368, 2264, 76668, 53213, -3359, -3359, -3359, - -3359, 1383, 1412, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, 1217, 51710, -3359, 2801, 59726, 49376, 1759, 24592, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - 1761, 2112, -3359, -3359, -3359, 5927, 1764, 49426, 1765, 29902, - 29902, -78, 1884, -3359, -3359, 29902, 1766, 53714, 49294, 1770, - 1768, 49775, 19813, 24592, 19813, 19813, 49816, -3359, 1769, 49906, - 64235, 1778, 59225, 58223, -3359, -3359, -3359, 24592, 24592, 2054, - 58724, 1818, -3359, 37138, -3359, 2074, 37138, -3359, -3359, 5331, - -3359, 37138, 2077, 24592, 37138, -3359, 2025, 2026, 1791, 37138, - -3359, 59225, 1794, 59225, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, 1792, 801, -3359, 952, 2844, -3359, -3359, 24592, - 24592, -3359, 50368, 1837, 24592, -3359, 24592, 8153, 45161, 20344, - 8153, 2306, 2306, 42650, -3359, 1965, 49948, -3359, 1815, 2092, - 7517, 1813, 1807, -3359, 1820, 1817, -3359, -3359, 46250, 213, - -78, -78, 24592, -3359, 24592, 6118, 6118, -3359, 209, 73724, - 24592, 24592, 24592, 24592, 24592, 24592, 24592, 24592, 51209, 1889, - 188, 69230, 24592, 24592, 1819, 1126, -3359, 24592, 2066, -3359, - 1831, 24592, 1916, 925, 24592, 24592, 24592, 24592, 24592, 24592, - 24592, 24592, 24592, -3359, -3359, 33075, 243, 701, 2172, 2197, - 15, 329, 24592, 2190, 14503, -3359, 2190, -3359, -3359, -3359, - -3359, -3359, 276, -3359, -3359, -3359, 1792, -3359, 1792, -3359, - 69230, -3359, 59225, 357, 55718, 24592, -3359, -3359, 1842, 1844, - 884, 1859, 290, 72, -3359, -3359, 1913, -3359, -3359, 59225, - 43151, 2152, -3359, 333, 1845, -3359, 49253, 2108, 2152, 1472, - -3359, -3359, 30964, 1986, 2150, 2083, -3359, -3359, 2067, 2068, - -3359, 1858, 50460, 25654, 25654, -3359, 1666, 50368, 1675, -3359, - -3359, -3359, -3359, -3359, -3359, 595, -3359, 59225, 486, 40646, - -3359, 1863, 110, -3359, 2310, 2206, 2179, 2020, 617, 1887, - -3359, 1667, 1890, 72236, 59225, 2174, 2132, 2181, -6, 73724, - -3359, -3359, -3359, -3359, 59225, 69230, 67742, 72737, 52211, 59225, - 51710, -3359, -3359, -3359, -3359, 59225, 1098, 59225, 8610, -3359, - -3359, -3359, 319, -3359, -3359, -3359, -3359, -3359, 69230, 59225, - -3359, -3359, 319, 69230, 59225, 319, -3359, 1668, 59225, 59225, - 59225, 59225, 1711, 59225, 59225, -3359, -3359, -3359, 26185, 75, - 75, 2118, 15565, 251, -3359, 24592, 24592, 2081, -3359, -3359, - 959, 2128, 182, -3359, 1951, 59225, 59225, 59225, 59225, -3359, - -3359, 1996, 59225, 1743, -3359, -3359, -3359, -3359, -3359, 1906, - -3359, 1907, 2272, 2001, -3359, 2275, 55217, 765, 3345, 2276, - 1948, 2278, 16096, 2391, 2157, -3359, -3359, 2143, -3359, -3359, - 24592, 1919, 1920, 114, 1015, -3359, -3359, 1921, 1749, 1933, - 1940, 1924, 1925, 73724, 1025, -3359, 1033, 2244, 151, 1928, - 1931, 1786, 975, 992, 1680, 130, -3359, 51710, -3359, 142, - -3359, 2158, 211, -3359, 17689, 24592, -3359, -3359, -3359, -3359, - -3359, -3359, 1586, 34627, -3359, 1034, -3359, -3359, 2405, 1217, - 2405, 986, -3359, -3359, 2405, -3359, 2390, 2405, -3359, -3359, - 73724, -3359, 8110, -3359, 24592, 24592, -3359, 24592, 2281, -3359, - 2444, 2444, 73724, 29902, 29902, 29902, 29902, 29902, 29902, 239, - 1633, 29902, 29902, 29902, 29902, 29902, 29902, 29902, 29902, 29902, - 31495, 579, -3359, -3359, 1079, 2415, 24592, 24592, 2295, 2281, - 24592, -3359, 73724, 1945, -3359, 1954, 1958, 24592, -3359, 73724, - -3359, 59225, 1959, 442, 99, -3359, 1949, 1966, -3359, 1894, - -3359, 1112, 1142, 59225, 2010, 3630, 3997, -3359, -3359, 24592, - 2282, 5331, 37138, -3359, 24592, 1967, -3359, -3359, 37138, 2300, - -3359, -3359, -3359, 41147, 5331, 73724, 1092, -3359, 59225, 73724, - 1106, 48755, -3359, 17689, -3359, 73724, -3359, -3359, -3359, -3359, - -3359, -3359, 1961, 1975, 24592, 104, -3359, 9312, 195, -3359, - 1953, -3359, 1970, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, 1963, -3359, - 1976, -3359, 1978, 59225, -3359, 26716, -3359, 69230, -3359, -3359, - 24592, 24592, 59225, -3359, 2012, -3359, 1979, 9564, -3359, -3359, - -3359, 286, 402, 8913, 329, 4563, 4563, 4563, 8153, -3359, - -3359, -3359, 1985, -3359, 29902, 29902, -3359, 4034, 3677, 13972, - -3359, -3359, 2296, -3359, 1044, -3359, 1981, -3359, -3359, 3690, - -3359, 45161, 50491, 24592, 202, -3359, 24592, 1819, 24592, 2045, - 4563, 4563, 4563, 440, 440, 286, 286, 286, 402, 329, - -3359, -3359, -3359, 1987, 24592, 51710, -3359, 1988, 1990, 2340, - 1640, 24592, -3359, -3359, 37138, 1818, 24, 1818, 2244, 6118, - -3359, 1337, -3359, -3359, 1337, 50368, 59225, -3359, -3359, 2250, - 1992, -3359, 830, 215, 2505, 348, 290, 76169, 2036, 37138, - 2037, 2475, 2457, 69230, -3359, -3359, 1997, 2190, 2011, -3359, - -3359, 2014, 24592, 1369, 2014, -3359, 2152, 91, 2230, 1416, - 1416, 1666, 2231, -3359, -3359, 2070, -3359, -3359, -3359, 24592, - 16627, 1684, -3359, 1693, -3359, -3359, -3359, -3359, -3359, 2002, - -3359, 2283, -3359, 59225, -3359, -3359, 29902, 2464, 24592, 41648, - 2468, 2270, -3359, -3359, -3359, 2106, 1685, 24592, 2263, -3359, - 179, 2023, 2392, 439, 2339, 69230, -3359, 369, 458, -3359, - 1037, 2399, 211, 2400, 211, 51710, 51710, 51710, 1122, -3359, - -3359, -3359, 1217, -3359, 560, 1127, -3359, -3359, -3359, -3359, - 2122, 1060, 2001, 1685, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, 282, 1075, 1685, 2123, -3359, 2125, -3359, 2126, 1273, - 1685, -3359, -3359, 20875, 50368, -82, 251, 251, 251, 17689, - -3359, 2279, 2280, 2044, 50368, 50368, -3359, 373, -3359, 69230, - -3359, -3359, -3359, 2081, 2129, 59225, 2001, 2049, 2528, 1440, - 1727, 2051, -3359, 2214, 1267, 657, -3359, 69230, 59225, 59225, - 59225, 68243, -3359, -3359, -3359, 2053, 2052, -3359, 23, 2287, - 2289, 59225, 2097, 59225, 1687, 2540, 59225, -3359, 1138, 21406, - 2432, 59225, 2065, -3359, -3359, -3359, -3359, 2244, -3359, -3359, - -43, -43, -3359, -3359, 69230, -3359, 2072, -3359, 2078, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - -3359, 69230, -3359, -3359, 50368, -3359, -3359, 52712, -3359, -3359, - -3359, -3359, -3359, 51710, -3359, 1217, -3359, 1217, 2311, 69230, - 46751, 1217, 47252, 1217, 2075, -3359, 50368, 9641, 50368, 2295, - -3359, 283, 2444, 5477, 5477, 5477, 5212, 2416, 269, 2082, - 5477, 5477, 5477, 432, 432, 283, 283, 283, 2444, 579, - 1246, 53714, 2085, -3359, 50368, 50368, -3359, -3359, 2087, -3359, - -3359, -3359, -3359, 2088, 2091, -3359, -3359, -3359, -3359, -3359, - -3359, 69230, 1462, 1818, -14, -14, -14, -14, -3359, 59225, - 59225, 59225, 50368, 2555, 2430, -3359, 5331, 50368, 59225, -3359, - 33606, 59225, -3359, 2455, -3359, 2543, -3359, 59225, 1145, -3359, - -3359, -3359, -3359, -3359, 50071, 24592, -3359, 2484, -3359, 24592, - 24592, -3359, 45161, -3359, -3359, 2109, 13972, 50297, -3359, 2428, - 10251, 50368, -3359, 1965, -3359, 6118, 24592, 1359, 2845, 24592, - 2115, 24592, 2465, -3359, -3359, 2119, -3359, -3359, 73724, 24592, - 2117, 5188, 29902, 29902, 5337, -3359, 6226, 24592, 13972, -3359, - 45670, 2120, 2127, 2118, 21937, -3359, 2338, 2131, -3359, 2282, - 251, 2282, 2121, -3359, -3359, -3359, -3359, 2844, 1758, -3359, - -3359, 508, 1758, 1758, 1758, -3359, -3359, -3359, 508, 508, - 508, -3359, 173, 776, 76169, 76169, 348, 348, 2124, -3359, - -3359, 76169, 572, -3359, -3359, -3359, -3359, 29371, 2563, -3359, - 24592, 2286, 69230, 163, 3860, 1151, -3359, -78, 43151, 2037, - 24592, 219, -3359, -3359, 2133, -3359, 2014, -3359, -3359, -3359, - 2359, -3359, -3359, -3359, 59225, -3359, 2137, -3359, 40646, 2474, - 13972, -3359, 40646, 59225, 59225, 10813, 2506, -3359, 69230, 69230, - 69230, -3359, 69230, 2140, 2142, 906, 2141, 803, -3359, 1642, - 906, 2489, 346, 1687, 342, 3978, 90, -3359, -3359, -3359, - 2223, 59225, -3359, 69230, -3359, -3359, -3359, -3359, -3359, 52211, - -3359, -3359, 44659, 51710, -3359, 51710, 59225, 59225, 59225, 59225, - 59225, 59225, 59225, 59225, 59225, 59225, 24592, -3359, 24592, 2159, - 2160, 2161, 2118, -3359, -3359, -3359, -3359, -3359, -3359, 648, - -3359, 373, 2164, -3359, 55217, 4387, 1948, 2637, 59225, 2129, - 890, 68729, -3359, 2167, 2162, 1155, 2001, 2169, 2643, -3359, - 765, 55217, -3359, -3359, -3359, 2604, -3359, 1042, 230, -3359, - 1440, -3359, 4387, 1727, -3359, 4387, 50368, 69230, 2234, -3359, - 1749, 2177, -3359, -3359, 1749, 73724, 1749, -3359, -3359, 211, - 1166, -3359, -3359, -3359, -3359, -3359, 69230, 2175, -3359, 2175, - -3359, -3359, 2175, -3359, -3359, -3359, -3359, 29902, 2526, 2180, - 73724, -3359, -3359, 59225, -3359, -3359, -3359, 1190, 2182, 2282, - 59225, 59225, 59225, 59225, -3359, -3359, -3359, 22468, 24592, 2221, - -3359, 2184, 18220, 2507, -3359, 32557, -3359, 284, 2185, 41147, - 69230, -3359, -3359, -3359, 24592, 50368, -3359, 50368, -3359, -3359, - -3359, 6873, -3359, 2183, 2188, 69230, 24592, -3359, -3359, -3359, - 880, 24592, 24592, 4034, -3359, 5079, 24592, 73724, 1197, 4034, - 383, 24592, 3069, 4390, 24592, 24592, 7131, 11605, -3359, 27247, - 17158, -3359, 2189, 24592, 11739, 43652, -3359, 37138, 2430, 2191, - 2430, 1217, 2192, -3359, -3359, -3359, -3359, -3359, -3359, -3359, - 1540, 793, -3359, -3359, -3359, 508, 2198, -3359, 71, 2195, - -3359, -3359, 2200, 348, 2201, -3359, -3359, -3359, 2710, -3359, - 29371, 29371, 29371, 29371, 6822, -3359, 2419, 2209, 50368, 24592, - -3359, -3359, -3359, -3359, 2265, 429, 39142, 2441, -3359, 2225, - 69230, -3359, 2286, 50368, -3359, -3359, 45161, -3359, -3359, -3359, - -3359, -3359, 2674, 2165, 2216, 2217, -3359, 1609, -3359, -3359, - 69230, 2218, -3359, 2219, 906, -3359, 69230, 2260, -3359, 294, - 2536, 138, -3359, 24592, -3359, 2629, 2703, 1642, 2227, 69230, - 59225, 29902, -3359, 300, 224, -3359, 2518, 59225, 2260, 2662, - -3359, -3359, -3359, 803, -3359, 2557, 2471, -3359, 319, -3359, - 24592, 803, 2472, 324, 69230, -3359, -3359, 3628, -3359, 73724, - 211, 211, -3359, 2235, 2236, 2240, 2241, 2242, 2247, 2248, - 2249, 2255, 2256, 2257, -3359, 2259, 2267, 2268, 2269, 2273, - 2274, 2284, 2285, 1532, 2288, -3359, 2290, 2133, 2291, 2292, - 2293, 2298, 2305, 74696, 2307, 2309, 2312, 2313, 1542, 2315, - 1383, 1412, -3359, -3359, -3359, -3359, 2317, -3359, 2319, -3359, - -3359, 1569, 2258, -3359, -3359, -3359, 2323, -3359, 2351, -3359, - -3359, -3359, -3359, -3359, 2253, 2314, -3359, -3359, -3359, 251, - 1586, 125, 69230, 2266, 2097, 2744, 22999, 2755, 2277, 196, - 1334, 2523, 2322, -3359, 1217, 1948, -3359, 55217, 3744, 736, - 2289, -3359, 249, 2097, -3359, 2695, 1948, 2321, 2762, -3359, - 2513, 69230, 2324, -3359, -3359, -3359, -3359, 52712, 2175, 7273, - 29902, 73724, 1204, 1229, -3359, 2800, 2454, 2430, -3359, -3359, - -3359, -3359, -3359, 2328, 53, 2332, 13441, 2308, -3359, -3359, - -3359, -3359, -3359, -3359, 50368, 50368, 69230, 2503, -3359, -3359, - 2331, 2336, 42149, 2798, 2341, -3359, 17689, -3359, 2666, -3359, - 35634, -3359, 50368, 24592, -3359, -3359, 45711, 2669, 4034, 4034, - 5079, 1230, -3359, 4034, 24592, 24592, 4034, 4034, 24592, -3359, - 23530, 199, -3359, 1237, -3359, 12141, -3359, 75182, -3359, -3359, - 2221, 1217, 2221, -3359, -3359, -3359, -3359, -3359, -3359, 348, - 572, -3359, -3359, 2036, 34118, -3359, 2345, -3359, 248, -3359, - 2347, 11848, 11848, 2868, 2868, 73724, 29371, 29371, 29371, 29371, - 29371, 29371, 29371, 2449, 207, 69230, 29371, 29371, 1819, 1295, - -3359, 29371, 2599, -3359, 29371, 2450, 1019, 29371, 29371, 29371, - 29371, 29371, 29371, 29371, 29371, 29371, 29371, 15, 24592, 2360, - -3359, -3359, -3359, 2420, -3359, -3359, 1241, 2796, 2286, 24592, - -3359, -3359, 2367, 40646, -3359, -3359, -3359, -3359, 40646, 906, - -3359, 2541, 2260, 2371, -3359, -3359, -3359, -3359, -3359, -3359, - 12506, -3359, 64, 24592, -3359, 1309, 5212, -3359, -3359, -3359, - -3359, 2260, 1440, -3359, 59225, 2852, 2742, -3359, -3359, 50368, - -3359, -3359, 2244, 2244, -3359, -3359, 2543, -3359, -3359, -3359, - -3359, 1569, 773, 44659, 59225, 59225, -3359, -3359, 2375, -3359, - -3359, 648, 2775, 1242, 765, -3359, 4387, 4387, 50368, 76169, - 59225, 2379, 2564, 201, 2671, 59225, 2751, 55217, -3359, 2863, - 2385, 59225, 2097, 1087, 1087, -3359, 2535, -3359, 2538, -3359, - -3359, 2866, 297, -3359, 24061, 59225, -3359, -3359, 38140, -3359, - 7273, 1243, -3359, -3359, 2393, 2395, -3359, 2221, 24592, 2397, - 24592, -3359, 27778, 2869, 2388, -3359, 24592, 2458, 32026, -3359, - 24592, -3359, 59225, 64235, 75, 2401, 64235, -3359, -3359, -3359, - 24592, -3359, 4034, 4034, 4034, 24592, -3359, 24592, -3359, -3359, - -3359, 2613, 2503, -3359, 2503, 2036, -3359, 2826, 34118, 34118, - -3359, -3359, -3359, 2418, 572, 2710, -3359, 447, 50622, 1194, - 3435, 3435, 3435, 11848, 2424, 29902, 29902, -3359, 4669, 2861, - -3359, 2756, -3359, 1056, -3359, 2411, -3359, -3359, 5662, -3359, - 50714, 29371, 259, 29371, 1819, 29371, 2502, 3435, 3435, 3435, - 451, 451, 301, 301, 301, 447, 1194, -3359, -3359, 1247, - -3359, 24592, 4387, -78, 4983, 69230, 16, -3359, 50368, -3359, - -3359, -3359, 59225, -3359, 51710, -3359, 906, 315, 2417, 24592, - 12552, 2654, -3359, -3359, 2686, -3359, 2746, -3359, 2485, 815, - 2501, -3359, -3359, -3359, -3359, 1586, 1217, 1948, 2289, 2321, - -3359, -3359, 2277, 197, -3359, -3359, 76169, 2918, -3359, 76169, - 2749, 2431, 59225, 4387, 765, 1042, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, -3359, 4387, - 2878, 2658, 2880, 4387, 50368, 2234, 24592, 210, -3359, 1252, - 2875, -3359, -3359, 2949, 2503, 2438, 27778, 2439, -3359, 2442, - 69230, 50368, 2587, -3359, -3359, 2443, -3359, -3359, 251, 24592, - -3359, 45752, 2447, 2448, 2902, 2118, 2458, 2458, 2826, 29902, - -3359, 2452, 821, -3359, -3359, 2440, 29371, 4817, 6036, 29371, - 29371, 2799, -3359, -3359, 2456, -3359, -3359, 73724, 29371, 6955, - 29902, 29902, 7003, -3359, 7552, 29371, 2460, 24592, -3359, 429, - -3359, -3359, 2877, 38140, 2843, 1440, 906, 2469, 1254, -3359, - -3359, -3359, -3359, -3359, 2001, -3359, 12702, 2705, 166, 2685, - 2417, 24592, -3359, 2539, -3359, -3359, -3359, 2943, -3359, -3359, - -3359, -3359, -3359, 2565, -3359, 2944, -3359, 1259, 2904, -3359, - 59225, -3359, 55217, 2476, 2321, 2289, 2097, 2321, 2694, -3359, - 2696, -3359, 2477, 12806, 69230, 69230, 1948, 38140, 69230, 2479, - 2458, -3359, 2480, -3359, -3359, -3359, 58223, -3359, 2481, 2482, - -3359, -3359, -3359, 24592, 654, -3359, -3359, -3359, 4418, -3359, - 34118, 34118, -3359, 882, 29371, 29371, 4669, 4120, 29371, 73724, - 1285, 4669, 29371, 6181, 6744, 29371, 29371, 7728, 59225, -3359, - 2533, 59225, 1292, 54, 2686, 44659, -3359, 51710, 1636, 315, - 2797, -3359, -3359, -3359, -3359, 194, 2717, -3359, 2718, -3359, - 50368, -3359, 4387, 2491, 76169, -3359, 76169, 2864, 2493, 55217, - -3359, -3359, -3359, -3359, -3359, -3359, 38140, 2875, -3359, 333, - -3359, 1818, -3359, 333, -3359, -3359, -3359, -3359, 1217, -3359, - 1770, 28309, 28309, 2496, 1507, -3359, -3359, 2494, -3359, 2495, - 4669, 4669, 4120, 1317, -3359, 4669, 29371, 29371, 4669, 4669, - 29371, -3359, -3359, 4387, -3359, 1818, -3359, 2624, 2685, -3359, - -3359, -3359, -3359, -3359, 786, 786, 2898, -3359, 2569, -3359, - 2321, 59225, -3359, -3359, 2509, -3359, 76169, 1318, 69230, 2014, - -3359, 2014, 30433, 2651, 233, 49335, -3359, -3359, -3359, -3359, - -3359, -3359, -3359, 34118, 34118, -3359, 4669, 4669, 4669, -3359, - -3359, 43151, -3359, -3359, 3002, -3359, 289, -3359, -3359, -3359, - 2508, 2628, 76169, -3359, 1324, 1948, 333, -3359, -3359, 2997, - -3359, -3359, -3359, -3359, -3359, -3359, -3359, 1818, 906, -3359, - -3359, -3359, 59225, 2516, 2810, 1325, -3359, 76169, 1818, 2014, - 28840, -3359, 2508, -3359, 2521, 2697, 59225, -3359, -3359, -3359, - -3359, -3359, -3359, 59225, -3359, -3359, 2521, 1332, 2917, -3359, - 2810, 59225, 2521, 196, 2671, 2749, -3359 + 6684, -16, 798, -3439, -3439, 747, -16, 56175, 71580, 150, + -16, 218, 4612, 58231, -3439, -3439, 52577, 8848, -16, 61315, + 79725, 573, 349, 37604, 763, 61829, 61829, -3439, -3439, -3439, + 71580, 61315, 62343, -16, 388, 72094, -3439, -16, 40174, 58745, + 312, -3439, 61315, 67, 354, 62857, 61315, 45315, 906, 438, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, 507, -3439, -3439, -3439, -3439, 157, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, 166, -3439, + 748, 183, 37604, 37604, 2311, 484, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, 39660, -3439, -3439, -3439, -3439, + 63371, 61315, 63885, 59259, 64399, -3439, 770, 1063, -3439, 191, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, 208, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, 213, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, 221, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, 762, 222, -3439, + -3439, 224, -3439, 558, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, 2087, -3439, -3439, 1013, 1715, 61315, 947, + 1031, 803, -3439, 990, 64913, -3439, 825, 61315, -3439, -3439, + 181, 859, 985, -3439, -3439, 59773, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, 53091, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, 983, -3439, -3439, 820, -3439, 163, -3439, + -3439, 854, 831, -3439, 1140, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, 966, -3439, -3439, -3439, 982, 72608, 65427, + 65941, -3439, 870, 2631, 8815, 79742, 37089, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, 507, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, 61829, + 71580, 61829, 878, 909, 1283, 929, 950, 38118, 973, 40689, + 977, 1005, 1340, 1036, 1044, 1053, 1064, 354, 36575, 1090, + 762, -3439, 66455, 66455, -22, 4100, -3439, 66455, 66969, -3439, + 1107, -3439, 1063, -3439, -3439, -3439, 1459, -3439, -78, 1098, + -3439, 67483, 67483, 67483, 1123, 1414, -3439, -3439, -3439, 1132, + -3439, -3439, 1365, 24746, 24746, 73122, 73122, 1063, 73122, 1162, + -3439, -3439, 59, -3439, 3076, -3439, -3439, 2311, 1149, 762, + -3439, -3439, 58745, -3439, -3439, 294, 1528, 24746, 61315, 1174, + -3439, 1195, 1174, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, 354, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, 1480, + 1189, 1228, 1234, -3439, 6684, -3439, 61315, 1578, 1471, 58745, + 405, 405, 1725, 405, 1157, 1160, 2595, 4129, -3439, 1779, + -3439, 1267, 1360, 1289, 1597, -3439, 1149, 1675, 1227, 1475, + 1690, 2954, 1703, 1297, 1718, 1497, 1723, 1844, 24746, 53605, + 762, -3439, 14410, 24746, -3439, -3439, -3439, 1456, -3439, -3439, + -3439, -3439, -3439, 61315, 71580, 1356, 1371, -3439, -3439, -3439, + -3439, 141, 61315, 1623, -3439, 1872, -3439, -3439, 1443, 67997, + 68511, 69025, 69539, 73636, 1839, -3439, -3439, 1781, -3439, -3439, + -3439, 1448, -3439, -3439, -3439, 61315, 174, 74150, 1792, 1407, + 239, -3439, 1795, 243, -3439, 1797, 1660, 18218, -3439, 1598, + -3439, -3439, -3439, 354, -3439, -3439, -3439, -3439, 860, -3439, + -3439, 49499, 79742, 1526, 1441, -3439, 1810, 24746, 24746, 1482, + 9596, 79230, -3439, 66455, 66969, 24746, 61315, -3439, 24746, 30186, + 1484, 24746, 24746, 15498, 24746, 35547, 66455, 4100, 1470, -3439, + 899, 61315, 1496, -3439, 1600, 1600, 388, 37604, 1805, -3439, + 984, 1808, 1740, -3439, 37604, 1740, 1114, 1521, 1821, 1740, + -3439, 740, 1824, 1600, 41203, 1531, -3439, 1600, 1754, -3439, + -3439, 61829, 24746, 18218, 76720, 2019, -3439, -3439, -3439, -3439, + 1820, 71580, 1535, -3439, -3439, -3439, -3439, -3439, -3439, 994, + 2064, 170, 2068, 24746, 170, 170, 1547, 225, 225, -3439, + 1750, 1551, -3439, 227, 1553, 1557, 2089, 2090, 210, 185, + 1128, 170, 24746, -3439, 225, 1558, 2091, 1559, 2092, 188, + 189, -3439, 231, 24746, 24746, 24746, 1945, 24746, 13322, -3439, + 61315, 2093, 53605, 851, -3439, 762, 1566, 1063, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, 1567, -3439, 219, 7298, -3439, + -3439, -3439, -3439, 1607, -3439, -3439, -3439, -3439, 1794, 24746, + -3439, -3439, 1569, 1805, -3439, 232, -3439, -3439, 1805, -3439, + -3439, -3439, -3439, -3439, 245, 2003, 24746, 24746, 71580, 762, + -3439, 74664, -3439, -3439, -3439, -3439, -3439, -3439, 914, -3439, + 507, 51097, 1573, 1577, 1174, 61315, 61315, 2080, 79230, -3439, + -3439, -3439, -3439, 1195, 58745, 138, 1898, 1726, -3439, -3439, + 2311, 2311, 18762, 1326, 637, 976, 19306, 25290, 1956, 1835, + 246, 1075, 1960, -3439, 1842, 2071, 30186, 24746, 24746, 1157, + 1160, 24746, -3439, -3439, -3439, 1890, 61315, 56689, 367, 1173, + 1603, 1693, 1605, 653, 2045, -3439, 1604, -3439, 1698, 61315, + 78731, 247, -3439, 2095, 247, 247, 919, 2099, 1700, 290, + 1878, 88, -53, 2083, -3439, 1604, 58745, 205, 363, 1604, + 61315, 1708, 651, 1604, 2043, 71580, 1441, 46964, 1617, -3439, + -3439, -3439, 190, 18218, -3439, 1287, 1324, 1436, 374, 220, + 1487, 1530, 18218, 1591, 1685, 197, 1704, 1727, 1804, 1850, + 1856, 1860, 1871, 1880, 173, 1882, 1886, 1888, 1899, 1904, + 1909, -3439, 1912, 203, 1921, 256, 18218, 1923, -3439, 207, + -3439, 209, 51097, 34, -3439, -3439, 1947, 51149, -3439, 1934, + 1720, 1724, 71580, 1674, 61315, 1260, 1782, 159, 2015, 2074, + 77219, 61315, 1894, 2083, 1901, 1652, 2144, 1905, 1371, 1906, + 1654, 1907, -3439, 1991, -3439, 75178, 53605, -3439, 259, -3439, + -3439, -3439, -3439, 2041, 2024, 71580, 53605, 1666, -3439, -3439, + 71580, -3439, 61315, 61315, -3439, 61315, 71580, -3439, 922, 51097, + 2190, 1467, 79742, 55147, -3439, -3439, -3439, -3439, 1331, 1335, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, 1063, + 53605, -3439, 4686, 61829, 50135, 1670, 24746, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, 1673, 2033, -3439, -3439, -3439, + 7214, 1677, 50186, 1678, 30186, 30186, 762, 1592, -3439, -3439, + 30186, 1679, 55661, 50051, 1681, 1682, 50545, 19850, 24746, 19850, + 19850, 50492, -3439, 1686, 50743, 66455, 1692, 61315, 60287, -3439, + -3439, -3439, 24746, 24746, 4100, 60801, 1730, -3439, 37604, -3439, + 1984, 37604, -3439, -3439, 2565, -3439, 37604, 1995, 24746, 37604, + -3439, 1937, 1939, 1697, 37604, -3439, 61315, 1702, 61315, -3439, + -3439, -3439, -3439, -3439, 51097, -3439, 1694, 927, 1701, -3439, + -3439, -3439, -3439, -3439, 1757, -3439, 1757, 1757, -3439, -3439, + -3439, -3439, 1705, 1705, 1709, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, 1710, 1128, + -3439, 1757, -3439, 1705, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, 78731, -3439, -3439, -3439, -3439, 622, 779, -3439, 1719, + -3439, -3439, -3439, -3439, -3439, 1734, -3439, 1721, 2212, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, 6159, 944, + 1705, 1840, -3439, -3439, 24746, 24746, -3439, -3439, 1737, 51097, + 1764, -3439, -3439, 24746, 24746, -3439, -3439, -3439, -3439, 2249, + -3439, 24746, 1757, 1757, -3439, 8140, -3439, 46349, 20394, 1817, + 1831, 2249, -3439, 2249, -3439, 8140, 2265, 2265, 43773, -3439, + 1916, 50795, -3439, 1746, 1644, 8002, 1755, 1739, -3439, 1758, + 1756, -3439, -3439, 47957, 202, 762, 762, 24746, -3439, 2249, + 24746, 9418, 9418, -3439, 379, 76720, 24746, 24746, 24746, 24746, + 24746, 24746, 24746, 24746, 52063, 1858, 199, 71580, 24746, 24746, + 1770, 1028, -3439, 24746, 2017, -3439, 1775, 24746, 1865, 378, + 24746, 24746, 24746, 24746, 24746, 24746, 24746, 24746, 24746, -3439, + -3439, 33437, 449, 889, 2123, 2145, 16, 519, 24746, 2137, + 14410, -3439, 2137, -3439, -3439, -3439, -3439, -3439, 233, -3439, + -3439, 1694, 1694, -3439, 71580, -3439, 61315, 294, 57717, 24746, + -3439, -3439, 1777, 1784, 849, 1793, 278, 81, -3439, -3439, + 1845, -3439, -3439, 61315, 44287, 2096, -3439, 373, 1788, -3439, + 50010, 2046, 2096, 2311, -3439, -3439, 31274, 1918, 2088, 2030, + -3439, -3439, 2007, 2008, -3439, 1796, 51201, 25834, 25834, -3439, + 1583, 51097, 1593, -3439, -3439, -3439, -3439, -3439, -3439, 892, + -3439, 61315, 97, 41717, -3439, 1799, 101, -3439, 2387, 2147, + 2106, 1956, 1075, 1803, -3439, 1519, 1806, 75692, 61315, 2104, + 2059, 2109, 431, 76720, -3439, -3439, -3439, -3439, 61315, 71580, + 70053, 76206, 54119, 61315, 53605, -3439, -3439, -3439, -3439, 61315, + 480, 61315, 9352, -3439, -3439, -3439, -3439, 247, -3439, -3439, + -3439, -3439, -3439, 71580, 61315, -3439, -3439, 247, 71580, 61315, + 247, -3439, 1556, 61315, 61315, 61315, 61315, 1689, 61315, 61315, + 1063, -3439, -3439, -3439, 26378, 37, 37, 2042, 16042, 301, + -3439, 24746, 24746, 995, 308, 71580, 2001, -3439, -3439, 945, + 2051, 129, -3439, 1866, 61315, 61315, 61315, 61315, 71580, -3439, + -3439, 1919, 61315, 1785, -3439, -3439, -3439, -3439, -3439, 1816, + -3439, 1822, 2196, 2083, -3439, 2200, 57203, 1062, 3425, 2201, + 1867, 2203, 16586, 2319, 2208, 2365, 1837, 2094, -3439, -3439, + 2076, -3439, -3439, 71580, 2372, -3439, 239, -3439, 53605, -3439, + 243, -3439, 2081, 259, -3439, 18218, 24746, -3439, -3439, -3439, + -3439, -3439, -3439, 1441, 35028, -3439, 951, -3439, -3439, 2336, + 1063, 2336, 602, -3439, -3439, 2336, -3439, 2321, 2336, -3439, + -3439, 76720, -3439, 8095, -3439, 24746, 24746, -3439, 24746, 2204, + -3439, 2373, 2373, 76720, 30186, 30186, 30186, 30186, 30186, 30186, + 905, 1558, 30186, 30186, 30186, 30186, 30186, 30186, 30186, 30186, + 30186, 31818, 679, -3439, -3439, 956, 2341, 24746, 24746, 2214, + 2204, 24746, -3439, 76720, 1853, -3439, 1854, 1855, 24746, -3439, + 76720, -3439, 61315, 1857, 26, 22, -3439, 1859, 1864, -3439, + 1805, -3439, 1182, 1220, 61315, 180, 5166, 5986, -3439, -3439, + 24746, 2206, 2565, 37604, -3439, 24746, 1868, -3439, -3439, 37604, + 2219, -3439, -3439, -3439, 42231, 2565, 76720, 980, -3439, 61315, + 76720, 989, 24746, -3439, 18218, 2402, 76720, 2368, 71580, 71580, + 2409, 1887, 1889, 2249, 1975, -3439, 1978, 1980, 1981, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, 76720, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, 1892, 1896, 24746, + 24746, 98, -3439, 9122, 1908, 1910, 6064, -3439, 1902, -3439, + 1911, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, 1922, -3439, + 1920, -3439, 1924, 1929, 1943, 1926, 1927, 61315, -3439, 26922, + -3439, 71580, -3439, -3439, 24746, 24746, 61315, -3439, 1945, -3439, + 1928, 1932, 9431, -3439, -3439, -3439, 262, 404, 3776, 519, + 3172, 3172, 3172, 8140, -3439, -3439, -3439, 1952, -3439, 30186, + 30186, -3439, 2969, 2356, 13322, -3439, -3439, 2287, -3439, 715, + -3439, 1936, -3439, -3439, 4193, -3439, 46349, 51503, 24746, 206, + -3439, 24746, 1770, 24746, 2026, 3172, 3172, 3172, 310, 310, + 262, 262, 262, 404, 519, -3439, -3439, -3439, 1940, 24746, + 53605, -3439, 1941, 1944, 2312, 1559, 24746, -3439, -3439, 37604, + 1730, 34, 1730, 2249, 9418, -3439, 1195, -3439, -3439, 1195, + 51097, 61315, -3439, -3439, 2226, 1951, -3439, 816, 200, 2467, + 358, 278, 79230, 1993, 37604, 1994, 2447, 2429, 71580, -3439, + -3439, 1954, 2137, 1970, -3439, -3439, 1976, 24746, 2835, 1976, + -3439, 2096, 23, 2194, 1343, 1343, 1583, 2198, -3439, -3439, + 2032, -3439, -3439, -3439, 24746, 17130, 1610, -3439, 1616, -3439, + -3439, -3439, -3439, -3439, 1961, -3439, 2250, -3439, 61315, -3439, + -3439, 30186, 2442, 24746, 42745, 2450, 2232, -3439, -3439, -3439, + 2069, 1604, 24746, 2225, -3439, 169, 1979, 2360, 491, 2309, + 71580, -3439, 776, 822, -3439, 827, 2363, 259, 2364, 259, + 53605, 53605, 53605, 999, -3439, -3439, -3439, 1063, -3439, -72, + 1003, -3439, -3439, -3439, -3439, 2079, 686, 2083, 1604, -3439, + -3439, -3439, -3439, -3439, -3439, -3439, 252, 781, 1604, 2084, + -3439, 2085, -3439, 2100, 799, 1604, -3439, -3439, 1844, 20938, + 51097, 474, 301, 301, 301, 18218, -3439, 2237, 2240, 1997, + 51097, 51097, 176, -3439, -3439, -3439, -3439, 2005, -3439, 375, + -3439, 71580, -3439, -3439, -3439, 2001, 2074, 61315, 2083, 2006, + 2492, 1371, 1654, 1991, 2012, -3439, 2174, 790, 734, -3439, + 71580, 61315, 61315, 61315, 70567, -3439, -3439, -3439, 2013, 2009, + -3439, 32, 2252, 2253, 61315, 2055, 61315, 1605, 2510, 61315, + -3439, 1021, 21482, 71580, -3439, 53605, 2396, 61315, 2024, -3439, + -3439, -3439, -3439, 71580, -3439, -3439, 51097, -3439, -3439, 54633, + -3439, -3439, -3439, -3439, -3439, 53605, -3439, 1063, -3439, 1063, + 2267, 71580, 48471, 1063, 48985, 1063, 2023, -3439, 51097, 9684, + 51097, 2214, -3439, 244, 2373, 7790, 7790, 7790, 1455, 2383, + 250, 2029, 7790, 7790, 7790, 413, 413, 244, 244, 244, + 2373, 679, 1107, 55661, 2031, -3439, 51097, 51097, -3439, -3439, + 2036, -3439, -3439, -3439, -3439, 2039, 2044, -3439, -3439, -3439, + -3439, -3439, -3439, 71580, 1372, 1730, 312, 312, 312, 312, + -3439, 61315, 61315, 61315, 51097, 2505, 2384, -3439, 2565, 51097, + 61315, -3439, 33981, 61315, -3439, 2406, -3439, 2497, -3439, 61315, + 1051, -3439, -3439, -3439, 1059, 2049, 1889, 76720, 1088, 1096, + -3439, 2249, 165, 2052, 1749, 1446, 1039, 1633, -3439, -3439, + -3439, 2053, 50847, 24746, -3439, 2437, -3439, -3439, -3439, 24746, + 24746, -3439, 46349, -3439, -3439, -3439, -3439, 552, 552, 2056, + 13322, 50899, -3439, 2386, 9988, 51097, -3439, 1916, -3439, -3439, + 9418, 24746, 4027, 4168, 24746, 2060, 24746, 2420, -3439, -3439, + 2065, -3439, -3439, 76720, 24746, 2063, 5077, 30186, 30186, 5411, + -3439, 6139, 24746, 13322, -3439, 47005, 2057, 2072, 2042, 22026, + -3439, 2295, 2070, -3439, 2206, 301, 2206, 2078, -3439, -3439, + -3439, -3439, 1840, 1722, -3439, -3439, 858, 1722, 1722, 1722, + -3439, -3439, -3439, 858, 858, 858, -3439, 162, 756, 79230, + 79230, 358, 358, 2075, -3439, -3439, 79230, 810, -3439, -3439, + -3439, -3439, 29642, 2521, -3439, 24746, 2236, 71580, 168, 2122, + 1111, -3439, 762, 44287, 1994, 24746, 666, -3439, -3439, 2097, + -3439, 1976, -3439, -3439, -3439, 2323, -3439, -3439, -3439, 61315, + -3439, 2111, -3439, 41717, 2431, 13866, -3439, 41717, 61315, 61315, + 10665, 2463, -3439, 71580, 71580, 71580, -3439, 71580, 2103, 2113, + 236, 2110, 949, -3439, 2098, 236, 2443, 279, 1605, 290, + 2086, 498, -3439, -3439, -3439, 2168, 61315, -3439, 71580, -3439, + -3439, -3439, -3439, -3439, 54119, -3439, -3439, 45834, 53605, -3439, + 53605, 61315, 61315, 61315, 61315, 61315, 61315, 61315, 61315, 61315, + 61315, 1441, 24746, -3439, 24746, 2117, 2119, 2124, 2042, -3439, + -3439, -3439, 268, -3439, 2125, -3439, -3439, -3439, -53, -3439, + 375, 2121, -3439, 57203, 1715, 1867, 2585, 2126, 61315, 2074, + 837, 71066, -3439, 2127, 2129, 1135, 2083, 2131, 2586, -3439, + 1062, 57203, -3439, -3439, -3439, 2541, -3439, 870, 257, -3439, + 1371, -3439, 1715, 1654, -3439, 1715, 51097, 1991, 1139, 71580, + 2160, -3439, 259, 1156, -3439, -3439, -3439, -3439, -3439, 71580, + 2130, -3439, 2130, -3439, -3439, 2130, -3439, -3439, -3439, -3439, + 30186, 2481, 2138, 76720, -3439, -3439, 61315, -3439, -3439, -3439, + 1190, 2128, 2206, 61315, 61315, 61315, 61315, -3439, -3439, -3439, + 22570, 24746, 2178, -3439, 2139, 14954, 2469, -3439, 32906, -3439, + 235, 2143, 42231, 71580, -3439, -3439, -3439, -3439, 2249, -3439, + -3439, 71580, -3439, 2149, -3439, 2151, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, -3439, -3439, 24746, 51097, -3439, 51097, -3439, + -3439, -3439, -3439, -3439, 7470, -3439, 2148, 2150, 71580, 24746, + -3439, -3439, -3439, 427, 24746, 24746, 2969, -3439, 10115, 24746, + 76720, 1200, 2969, 458, 24746, 6203, 7156, 24746, 24746, 6394, + 10925, -3439, 27466, 17674, -3439, 2154, 24746, 11235, 44801, -3439, + 37604, 2384, 2155, 2384, 1063, 2156, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, 1504, 786, -3439, -3439, -3439, 858, 2159, + -3439, 58, 2161, -3439, -3439, 2169, 358, 2165, -3439, -3439, + -3439, 2694, -3439, 29642, 29642, 29642, 29642, 51451, -3439, 2395, + 2179, 51097, 24746, -3439, -3439, -3439, -3439, 2234, 529, 39146, + 2415, -3439, 2192, 71580, -3439, 2236, 51097, -3439, -3439, 46349, + -3439, -3439, -3439, -3439, -3439, 2655, 1119, 2184, 2185, -3439, + 1549, -3439, -3439, 71580, 2186, -3439, 2189, 236, -3439, 71580, + 2229, -3439, 313, 2514, 136, -3439, 24746, -3439, 2607, 2685, + 2098, 2199, 71580, 61315, 30186, -3439, 711, 241, -3439, 2499, + 61315, 2229, 2645, -3439, -3439, -3439, 949, -3439, 2539, 2451, + -3439, 247, -3439, 24746, 949, 2452, 274, 71580, -3439, -3439, + 4423, -3439, 76720, 259, 259, -3439, 1701, 2220, 2221, 2222, + 2223, 2228, 2230, 2231, 2233, 2235, 2238, -3439, 2239, 2244, + 2248, 2251, 2254, 2255, 2256, 2257, 1710, 2262, -3439, 2263, + 2097, 2268, 2270, 2273, 2274, 2276, 77718, 2279, 2280, 2281, + 2282, 1719, 2284, 1331, 1335, -3439, -3439, -3439, -3439, 2285, + -3439, 2286, -3439, -3439, 1407, 2216, -3439, -3439, -3439, 2297, + -3439, 2310, -3439, -3439, -3439, -3439, -3439, -3439, 2243, 2291, + -3439, -3439, -3439, 301, 2227, 2290, 71580, 1441, 148, 71580, + 2293, 2055, 2718, 23114, 53605, 2722, 2288, 634, 993, 2484, + 2269, -3439, 1063, 1867, -3439, 57203, 3945, 819, 2253, -3439, + 515, 2055, -3439, 2660, 1867, 2292, 2729, -3439, 2296, -3439, + 2487, 71580, 2298, -3439, -3439, 54633, 2130, 4652, 30186, 76720, + 1201, 1208, -3439, 2809, 2465, 2384, -3439, -3439, -3439, -3439, + -3439, 2299, -23, 2301, 12778, 2305, -3439, -3439, -3439, -3439, + -3439, -3439, 51097, 51097, 71580, 2480, -3439, -3439, 2308, 2302, + 43259, 2777, 2318, -3439, 18218, -3439, 2648, -3439, 36061, -3439, + 1889, 2325, 1889, 76720, 1889, -3439, -3439, 51097, 24746, -3439, + -3439, 47295, 2661, 2969, 2969, 10115, 1212, -3439, 2969, 24746, + 24746, 2969, 2969, 24746, -3439, 23658, 778, -3439, 1213, -3439, + 11539, -3439, 78217, -3439, -3439, 2178, 1063, 2178, -3439, -3439, + -3439, -3439, -3439, -3439, 358, 810, -3439, -3439, 1993, 34506, + -3439, 2322, -3439, 242, -3439, 2330, 47355, 47355, 2851, 2851, + 76720, 29642, 29642, 29642, 29642, 29642, 29642, 29642, 2426, 211, + 71580, 29642, 29642, 1770, 1108, -3439, 29642, 2581, -3439, 29642, + 2432, 326, 29642, 29642, 29642, 29642, 29642, 29642, 29642, 29642, + 29642, 29642, 16, 24746, 2333, -3439, -3439, -3439, 2410, -3439, + -3439, 1214, 2785, 2236, 24746, -3439, -3439, 2353, 41717, -3439, + -3439, -3439, -3439, 41717, 236, -3439, 2531, 2229, 2358, -3439, + -3439, -3439, -3439, -3439, -3439, 11964, -3439, 55, 24746, -3439, + 1070, 1455, -3439, -3439, -3439, -3439, 2229, 1371, -3439, 61315, + 2847, 2737, -3439, -3439, 51097, -3439, -3439, 2249, 2249, -3439, + -3439, 2497, -3439, -3439, 2361, -3439, -3439, 1407, 612, 45834, + 61315, 61315, -3439, -3439, 2366, -3439, -3439, -3439, -3439, -3439, + -53, 2773, 1219, 1062, -3439, 1715, 1715, 51097, 1230, 79230, + 61315, 2369, 2557, 158, 2669, 61315, 2748, 57203, -3439, 2864, + 2376, 61315, 2055, 1523, 1523, -3439, 2537, -3439, 2543, -3439, + -3439, 2876, 902, -3439, 24202, 53605, 61315, -3439, -3439, 38632, + -3439, 4652, 1232, -3439, -3439, 2385, 2388, -3439, 2178, 24746, + 2391, 24746, -3439, 28010, 2883, 2389, -3439, 24746, 2457, 32362, + -3439, 24746, -3439, 61315, 66455, 37, 2397, 66455, -3439, -3439, + -3439, -3439, -3439, 24746, -3439, 2969, 2969, 2969, 24746, -3439, + 24746, -3439, -3439, -3439, 2611, 2480, -3439, 2480, 1993, -3439, + 2831, 34506, 34506, -3439, -3439, -3439, 2414, 810, 2694, -3439, + 900, 51533, 1180, 4693, 4693, 4693, 47355, 2421, 30186, 30186, + -3439, 8047, 4723, -3439, 2760, -3439, 856, -3439, 2405, -3439, + -3439, 5939, -3439, 51555, 29642, 216, 29642, 1770, 29642, 2495, + 4693, 4693, 4693, 395, 395, 287, 287, 287, 900, 1180, + -3439, -3439, 1236, -3439, 24746, 1715, 762, 3070, 71580, 9, + -3439, 51097, -3439, -3439, -3439, 61315, -3439, 53605, -3439, 236, + -13, 2412, 24746, 46871, 2654, -3439, -3439, 2687, -3439, 2749, + -3439, 2477, 709, 2496, -3439, -3439, -3439, -3439, 1441, 1063, + 1867, 2253, 2292, -3439, -3439, -3439, 2288, 266, -3439, -3439, + 79230, 2918, -3439, 79230, 2746, 2423, 61315, 1715, 1062, 870, + -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, -3439, -3439, 1715, 2877, 2653, 2881, 1715, 51097, 1238, + 2160, 24746, 214, -3439, 1245, 2878, -3439, -3439, 2949, 2480, + 2427, 28010, 2428, -3439, 2430, 71580, 51097, 2583, -3439, -3439, + 2439, -3439, -3439, 301, 24746, -3439, 47446, 2456, 2458, 2910, + 2042, 2457, 2457, 2831, 30186, -3439, 2440, 897, -3439, -3439, + 2434, 29642, 7613, 8178, 29642, 29642, 2800, -3439, -3439, 2446, + -3439, -3439, 76720, 29642, 6746, 30186, 30186, 6944, -3439, 7047, + 29642, 2449, 24746, -3439, 529, -3439, -3439, 2896, 38632, 2857, + 1371, 236, 2472, 1250, -3439, -3439, -3439, -3439, -3439, 2083, + -3439, 46896, 2715, 177, 2699, 2412, 24746, -3439, 2542, -3439, + -3439, -3439, 2957, -3439, -3439, -3439, -3439, -3439, 2569, -3439, + 2961, -3439, 1251, 2919, -3439, 61315, -3439, 57203, 2474, 2292, + 2253, 2055, 2292, 2704, -3439, 2707, -3439, -3439, 2476, 46921, + 71580, 71580, 1867, 38632, 71580, 2479, 2457, -3439, 2485, -3439, + -3439, -3439, 60287, -3439, 2486, 2488, -3439, -3439, -3439, 24746, + 297, -3439, -3439, -3439, 5848, -3439, 34506, 34506, -3439, 865, + 29642, 29642, 8047, 47140, 29642, 76720, 1257, 8047, 29642, 8253, + 8809, 29642, 29642, 7508, 61315, -3439, 2534, 61315, 1264, 90, + 2687, 45834, -3439, 53605, 253, -13, 2807, -3439, -3439, -3439, + -3439, 123, 2713, -3439, 2723, -3439, 51097, -3439, 1715, 2490, + 79230, -3439, 79230, 2880, 2501, 57203, -3439, -3439, -3439, -3439, + -3439, -3439, 38632, 2878, -3439, 373, -3439, 1730, -3439, 373, + -3439, -3439, -3439, -3439, 1063, -3439, 1681, 28554, 28554, 28554, + 2494, 1408, -3439, -3439, 2491, -3439, 2498, 8047, 8047, 47140, + 1270, -3439, 8047, 29642, 29642, 8047, 8047, 29642, -3439, -3439, + 1715, -3439, 1730, -3439, 2630, 2699, -3439, -3439, -3439, -3439, + -3439, 226, 226, 2911, -3439, 2570, -3439, 2292, 61315, -3439, + -3439, 2504, -3439, 79230, 1285, 71580, 1976, -3439, 1976, 30730, + 2663, 193, 50092, 2890, -3439, 2890, 2890, -3439, -3439, -3439, + -3439, 34506, 34506, -3439, 8047, 8047, 8047, -3439, -3439, 44287, + -3439, -3439, 3019, -3439, 234, -3439, -3439, -3439, 2516, 2635, + 79230, -3439, 1291, 1867, 373, -3439, -3439, 3017, -3439, -3439, + -3439, -3439, -3439, 212, -3439, -3439, -3439, -3439, -3439, 1730, + 236, -3439, -3439, -3439, 61315, 2522, 2821, 1300, -3439, 79230, + 1730, 1976, 29098, 2678, -3439, 2754, -3439, -3439, 2516, -3439, + 2540, 2719, 61315, -3439, -3439, -3439, -3439, -3439, -3439, -3439, + -3439, 61315, -3439, -3439, 2540, 1319, 2940, -3439, 2821, 61315, + 2540, 634, 2669, 2746, -3439 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -2629,503 +2688,520 @@ static const int yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 157, 251, 0, 1516, 1515, 1587, 251, 0, 1464, 251, - 659, 576, 0, 1608, 1587, 0, 251, 0, 157, 0, - 0, 0, 0, 0, 0, 719, 722, 720, 0, 0, - 0, 251, 759, 0, 1607, 251, 0, 0, 751, 721, - 0, 1567, 0, 0, 0, 0, 0, 2, 4, 5, - 6, 7, 8, 9, 22, 10, 11, 12, 18, 13, - 14, 16, 17, 19, 20, 21, 24, 25, 26, 1473, - 27, 29, 30, 31, 0, 32, 23, 15, 28, 33, - 34, 35, 36, 695, 682, 764, 694, 0, 0, 156, - 863, 702, 37, 38, 39, 40, 41, 42, 43, 1606, - 44, 250, 249, 243, 0, 0, 0, 0, 0, 1586, - 0, 244, 111, 1632, 1633, 1634, 1635, 2236, 1636, 1637, - 1638, 1639, 1640, 1641, 1642, 2237, 1993, 1643, 1644, 1645, - 1646, 1647, 1994, 1648, 1649, 1650, 1939, 1940, 1995, 1941, - 1942, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1943, - 1944, 1659, 1660, 1661, 1662, 1663, 1945, 1996, 1946, 1664, - 1665, 1666, 1667, 1668, 1997, 1669, 1670, 1671, 1672, 1673, - 1674, 1675, 1676, 2238, 1998, 1677, 1678, 1679, 1680, 1681, - 1682, 1683, 1684, 1685, 1686, 1947, 1948, 1687, 1688, 1689, - 1690, 1691, 1692, 1693, 1694, 1695, 2239, 1696, 1697, 1698, - 1699, 1700, 1701, 1702, 1703, 1704, 2240, 2241, 1705, 1706, - 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1949, 1715, - 1716, 1717, 1718, 1719, 1950, 1720, 1721, 1722, 1951, 1723, - 1724, 1725, 1999, 2000, 1726, 1727, 1952, 2002, 1728, 1729, - 2242, 1953, 1954, 2243, 1730, 1731, 1732, 1733, 1734, 1735, - 1736, 1737, 2003, 1738, 1739, 1740, 1741, 1742, 1743, 1744, - 1745, 1746, 1747, 1748, 1749, 2004, 1955, 1750, 1751, 1752, - 1753, 1754, 1956, 1957, 1958, 1755, 2005, 2006, 1756, 2007, - 1757, 2244, 1758, 1759, 1760, 1761, 1762, 1763, 2008, 1764, - 2009, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1959, - 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, - 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1960, 2011, - 1961, 1791, 1792, 1793, 2245, 1962, 1794, 1795, 2012, 1796, - 1963, 1797, 1964, 1798, 1799, 1800, 1801, 1802, 1803, 1804, - 1805, 1806, 1965, 2013, 1807, 2014, 1966, 1808, 1809, 1810, - 1811, 1812, 1813, 1814, 1815, 1816, 2246, 2247, 1817, 1818, - 1819, 1967, 2015, 1820, 1821, 1968, 1822, 1823, 1824, 1825, - 1826, 1827, 1828, 1829, 2248, 2249, 1830, 1831, 1832, 1833, - 1969, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 2250, 1841, - 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, - 1852, 2016, 1853, 1854, 1855, 1970, 1856, 1857, 1858, 1859, - 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, - 1870, 1871, 1872, 1971, 1873, 1874, 2251, 1875, 2017, 2252, - 1876, 1972, 1877, 2253, 1878, 1879, 1880, 1881, 1882, 1883, - 1884, 1885, 1886, 1887, 1888, 1889, 1973, 1890, 1974, 1891, - 1892, 1893, 1894, 2019, 1895, 1896, 1897, 1898, 1899, 1975, - 1976, 2254, 1900, 1901, 1977, 1902, 1978, 1903, 1904, 1979, - 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, - 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1980, 1981, 1922, - 2020, 1923, 2255, 1924, 1925, 1926, 1927, 2256, 1928, 1929, - 1930, 1931, 1932, 1933, 1934, 1982, 1983, 1984, 1985, 1986, - 1987, 1988, 1989, 1990, 1991, 1992, 1935, 1936, 1937, 1938, - 0, 112, 113, 1410, 114, 1615, 0, 1387, 111, 1952, - 1959, 1973, 1462, 1463, 112, 114, 246, 658, 0, 0, - 0, 0, 0, 0, 0, 570, 569, 0, 1453, 575, - 0, 0, 116, 107, 1822, 115, 1386, 105, 1586, 0, - 0, 596, 597, 0, 606, 0, 589, 594, 590, 0, - 615, 0, 608, 616, 598, 588, 609, 599, 587, 0, - 617, 0, 592, 0, 0, 0, 247, 212, 576, 0, - 157, 0, 1477, 1478, 1479, 1480, 1481, 1482, 1487, 1483, - 1484, 1485, 1486, 1488, 1489, 1490, 1491, 1492, 1468, 1473, - 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, - 1503, 1504, 1505, 1506, 0, 1464, 0, 0, 1945, 1996, - 1950, 0, 0, 1963, 0, 1966, 1967, 1856, 1974, 1977, - 1978, 1979, 1980, 0, 932, 115, 109, 916, 0, 697, - 867, 877, 916, 921, 1183, 944, 1184, 0, 117, 1553, - 1552, 1548, 1547, 196, 1427, 1595, 1728, 1767, 1871, 1975, - 1900, 1611, 1596, 1590, 1594, 248, 758, 756, 0, 1358, - 1728, 1767, 1860, 1871, 1975, 1524, 1528, 0, 245, 0, - 1613, 1600, 0, 1601, 115, 703, 750, 0, 252, 1566, - 0, 1571, 0, 1836, 730, 733, 1421, 731, 253, 2257, - 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, - 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, - 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, - 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, - 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, - 2308, 2309, 254, 255, 0, 695, 0, 1, 157, 1472, - 1581, 0, 163, 0, 754, 754, 0, 754, 0, 687, - 0, 0, 695, 690, 694, 864, 1610, 1975, 1900, 1599, - 1602, 1736, 0, 0, 1736, 0, 1736, 0, 1736, 0, - 1589, 1342, 0, 1388, 118, 0, 0, 541, 574, 573, - 572, 571, 576, 0, 1736, 1437, 0, 626, 627, 0, - 0, 0, 0, 0, 1448, 108, 106, 0, 1584, 604, - 605, 0, 595, 591, 593, 0, 0, 1412, 2021, 2022, - 2023, 987, 2024, 1016, 994, 1016, 1016, 2025, 2026, 2027, - 2028, 983, 983, 1702, 996, 2029, 2030, 2031, 1736, 2032, - 2033, 984, 985, 1021, 2034, 2035, 2036, 2037, 2038, 0, - 0, 2039, 1016, 2040, 983, 2041, 2042, 2043, 988, 2044, - 954, 2045, 0, 2046, 986, 955, 2047, 1024, 1024, 2048, - 0, 1011, 2049, 1413, 1414, 1415, 614, 0, 618, 969, - 970, 971, 972, 997, 998, 973, 1003, 1004, 1008, 974, - 1056, 983, 1736, 1416, 614, 610, 1736, 614, 1380, 1736, - 0, 0, 204, 1470, 1507, 2050, 2051, 2052, 2053, 2054, - 2055, 2056, 2057, 2059, 2058, 2060, 2061, 2062, 2063, 2064, - 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, - 2075, 2076, 2077, 2078, 2081, 2079, 2080, 2082, 2083, 2084, - 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, - 2096, 2095, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, - 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, - 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, - 2125, 2126, 2127, 2128, 2129, 2130, 1508, 1509, 1510, 1522, - 0, 1523, 1513, 1476, 157, 0, 657, 1461, 1549, 0, - 0, 0, 1298, 0, 879, 916, 921, 0, 0, 934, - 0, 1313, 0, 1319, 0, 0, 0, 916, 702, 0, - 877, 933, 110, 0, 914, 915, 805, 805, 759, 0, - 740, 926, 0, 0, 929, 927, 0, 929, 0, 0, - 0, 929, 925, 886, 0, 805, 0, 914, 917, 805, - 0, 936, 1467, 0, 0, 0, 0, 0, 1593, 1591, - 1592, 1597, 0, 0, 0, 1390, 1392, 1393, 1266, 1403, - 1169, 0, 1940, 1941, 1942, 1334, 1943, 1944, 1946, 1947, - 1948, 1123, 1949, 1401, 1951, 1953, 1954, 1956, 1957, 1958, - 1959, 1960, 1961, 0, 1402, 1964, 1803, 1969, 1970, 1972, - 1975, 1976, 1400, 1981, 0, 0, 0, 1369, 1289, 0, - 1168, 0, 0, 0, 1335, 1343, 1164, 0, 0, 977, - 978, 999, 1000, 979, 1005, 1006, 980, 0, 1365, 1057, - 1152, 1353, 1171, 1202, 1173, 1182, 1160, 1233, 1153, 0, - 1163, 1155, 1361, 740, 1359, 0, 1156, 1389, 740, 1357, - 1527, 1525, 1531, 1526, 0, 0, 0, 0, 0, 110, - 1573, 1574, 1565, 1563, 1564, 1562, 1561, 1568, 0, 1570, - 1473, 1284, 1286, 0, 732, 0, 0, 0, 311, 685, - 684, 3, 1421, 0, 0, 0, 0, 752, 753, 0, - 0, 0, 0, 0, 0, 0, 0, 848, 779, 780, - 782, 845, 849, 857, 0, 0, 0, 0, 0, 691, - 0, 1609, 1605, 1603, 0, 0, 0, 141, 141, 0, - 0, 0, 0, 0, 99, 48, 92, 0, 0, 0, - 0, 226, 239, 0, 0, 0, 0, 0, 236, 0, - 0, 219, 213, 215, 50, 0, 141, 0, 46, 0, - 0, 0, 52, 0, 657, 1341, 0, 122, 2163, 2164, - 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, - 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, - 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, - 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, - 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, - 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, - 2225, 2226, 2227, 2228, 2229, 2230, 2117, 2231, 2232, 2233, - 2234, 2235, 120, 121, 124, 123, 125, 126, 119, 111, - 0, 2131, 1993, 1994, 1995, 1996, 1946, 1997, 1998, 0, - 1999, 2000, 1952, 2002, 2003, 2004, 2005, 2006, 2007, 2008, - 2009, 1959, 2011, 2012, 2013, 2014, 2015, 2016, 2157, 2017, - 1973, 2019, 1979, 0, 2020, 1175, 112, 1406, 114, 1292, - 764, 1290, 1422, 0, 0, 0, 655, 0, 0, 0, - 0, 1433, 0, 0, 1736, 203, 1736, 541, 0, 1736, - 541, 1736, 0, 1447, 1450, 0, 607, 614, 603, 601, - 600, 602, 1015, 1002, 1010, 1009, 1289, 992, 991, 990, - 0, 989, 0, 0, 1016, 1016, 1014, 993, 969, 0, - 0, 0, 1020, 0, 1018, 0, 612, 613, 0, 585, - 0, 962, 958, 0, 1029, 1030, 1031, 1032, 1039, 1040, - 1037, 1038, 1033, 1034, 1027, 1028, 1035, 1036, 1025, 1026, - 0, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 975, - 981, 0, 0, 1417, 0, 580, 0, 0, 582, 0, - 0, 209, 0, 207, 0, 157, 0, 220, 1518, 1519, - 1517, 0, 0, 1475, 223, 1512, 1521, 1511, 1520, 1474, - 240, 1469, 0, 0, 1465, 645, 0, 0, 0, 0, - 1299, 1308, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, - 0, 0, 2297, 876, 874, 0, 0, 0, 0, 0, - 0, 1335, 0, 1127, 1153, 0, 0, 0, 1284, 1318, - 0, 0, 0, 0, 0, 0, 1284, 1324, 0, 0, - 900, 912, 0, 798, 804, 875, 873, 0, 1358, 868, - 0, 946, 926, 0, 925, 0, 0, 928, 922, 0, - 923, 0, 0, 0, 0, 924, 0, 0, 0, 0, - 871, 0, 912, 0, 872, 943, 1555, 1554, 1550, 1537, - 1536, 1545, 197, 0, 1295, 0, 157, 1598, 1612, 0, - 1289, 1161, 1333, 0, 0, 1166, 1246, 1082, 0, 0, - 1083, 1061, 1062, 0, 1368, 1377, 1284, 1288, 0, 1164, - 1284, 0, 0, 1236, 1238, 0, 1157, 1158, 0, 1336, - 1391, 1165, 0, 1396, 0, 1056, 1056, 1364, 1266, 0, - 1256, 1259, 0, 0, 1263, 1264, 1265, 0, 0, 0, - 1356, 0, 1274, 1276, 0, 0, 1098, 1272, 0, 1101, - 0, 0, 0, 0, 1260, 1261, 1262, 1252, 1253, 1254, - 1255, 1257, 1258, 1270, 1251, 1079, 0, 1154, 0, 1205, - 0, 1078, 1362, 866, 0, 1394, 866, 1539, 1543, 1544, - 1542, 1538, 0, 1530, 1529, 1534, 1532, 1535, 1533, 1614, - 0, 1575, 1559, 0, 1556, 1287, 861, 734, 1382, 0, - 738, 0, 324, 303, 325, 1582, 1580, 162, 161, 0, - 0, 707, 706, 773, 765, 767, 773, 0, 705, 0, - 821, 822, 0, 0, 0, 0, 854, 852, 1390, 1403, - 809, 783, 808, 0, 0, 787, 0, 813, 1057, 847, - 689, 777, 778, 781, 688, 0, 850, 0, 860, 0, - 726, 728, 711, 725, 723, 708, 716, 848, 782, 0, - 1604, 0, 0, 0, 0, 0, 1736, 0, 0, 957, - 83, 64, 493, 140, 0, 0, 0, 0, 0, 0, - 0, 91, 88, 89, 90, 0, 0, 0, 0, 224, - 225, 238, 0, 229, 230, 227, 231, 232, 0, 0, - 217, 218, 0, 0, 0, 0, 216, 0, 0, 0, - 0, 0, 0, 0, 0, 1588, 1583, 1337, 1342, 764, - 764, 764, 0, 762, 763, 0, 0, 644, 539, 549, - 0, 0, 0, 1437, 0, 0, 0, 0, 0, 258, - 257, 0, 0, 576, 1438, 1436, 1440, 1439, 1441, 1708, - 191, 0, 0, 202, 199, 0, 538, 512, 0, 0, - 1452, 0, 0, 0, 1736, 528, 1449, 0, 1585, 256, - 0, 0, 0, 614, 0, 1013, 1012, 963, 959, 0, - 0, 0, 0, 0, 0, 619, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 614, 1418, 0, 611, 614, - 1381, 0, 614, 211, 0, 0, 1471, 1514, 221, 241, - 222, 242, 657, 652, 680, 0, 660, 665, 642, 0, - 642, 0, 662, 666, 642, 661, 0, 642, 656, 1551, - 0, 1198, 0, 1188, 0, 0, 935, 0, 0, 1189, - 1129, 1130, 0, 0, 0, 0, 0, 0, 0, 0, + 160, 268, 0, 1577, 1576, 1647, 268, 0, 1511, 0, + 268, 677, 593, 0, 1668, 1667, 0, 212, 268, 0, + 160, 0, 0, 0, 0, 0, 0, 740, 743, 741, + 0, 0, 0, 268, 780, 0, 1669, 268, 0, 0, + 772, 742, 0, 1625, 0, 0, 0, 0, 0, 2, + 4, 5, 6, 7, 8, 9, 24, 10, 11, 12, + 13, 20, 14, 15, 17, 18, 19, 21, 22, 23, + 27, 26, 28, 29, 1534, 30, 32, 33, 34, 0, + 35, 25, 16, 31, 36, 37, 38, 39, 716, 702, + 785, 715, 0, 0, 159, 884, 723, 40, 41, 42, + 43, 44, 45, 46, 1670, 1666, 47, 267, 266, 260, + 0, 0, 0, 0, 0, 1646, 0, 0, 261, 114, + 1694, 1695, 1696, 1697, 2311, 1698, 1699, 1700, 1701, 1702, + 1703, 1704, 2312, 2065, 1705, 1706, 1707, 1708, 1709, 2066, + 1710, 1711, 1712, 2011, 2012, 2067, 2013, 2014, 1713, 1714, + 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 2015, 2016, + 1723, 1724, 1725, 1726, 1727, 2017, 2068, 2018, 1728, 1729, + 1730, 1731, 1732, 2069, 1733, 1734, 1735, 1736, 1737, 1738, + 1739, 1740, 2313, 2070, 1741, 1742, 1743, 1744, 1745, 1746, + 1747, 1748, 1749, 1750, 2019, 1751, 1752, 2020, 1753, 1754, + 1755, 1756, 1757, 1758, 1759, 1760, 2314, 1761, 1762, 1763, + 1764, 1765, 1766, 1767, 1768, 1769, 2315, 2316, 1770, 1771, + 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 2021, 1780, + 1781, 1782, 1783, 1784, 2022, 1785, 1786, 1787, 2023, 1788, + 1789, 1790, 2071, 2072, 1791, 1792, 2024, 2074, 1793, 1794, + 2317, 2025, 2026, 2318, 1795, 1796, 1797, 1798, 1799, 1800, + 1801, 1802, 2075, 1803, 1804, 1805, 1806, 1807, 1808, 1809, + 1810, 1811, 1812, 1813, 1814, 2076, 2027, 1815, 1816, 1817, + 1818, 1819, 2028, 2029, 2030, 1820, 2077, 2078, 1821, 2079, + 1822, 2319, 1823, 1824, 1825, 1826, 1827, 1828, 2080, 1829, + 2081, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 2031, + 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, + 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, + 2032, 2083, 2033, 1858, 1859, 1860, 2320, 2034, 1861, 1862, + 2084, 1863, 2035, 1864, 2036, 1865, 1866, 1867, 1868, 1869, + 1870, 1871, 1872, 1873, 1874, 2037, 2085, 1875, 2086, 2038, + 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 2321, + 2322, 1885, 1886, 1887, 1888, 2039, 2087, 1889, 1890, 2040, + 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 2323, 2324, + 1899, 1900, 1901, 1902, 2041, 1903, 1904, 1905, 1906, 1907, + 1908, 1909, 2325, 1910, 1911, 1912, 1913, 1914, 1915, 1916, + 1917, 1918, 1919, 1920, 1921, 2088, 1922, 1923, 1924, 2042, + 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, + 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 2043, + 1944, 1945, 2326, 2089, 2327, 1946, 2044, 1947, 2328, 1948, + 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, + 1959, 2045, 1960, 2046, 1961, 1962, 1963, 2091, 1964, 1965, + 1966, 1967, 1968, 1969, 2047, 2048, 2329, 1970, 1971, 2049, + 1972, 2050, 1973, 1974, 2051, 1975, 1976, 1977, 1978, 1979, + 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, + 1990, 1991, 2052, 2053, 1992, 2092, 1993, 2330, 1994, 1995, + 1996, 1997, 2331, 1998, 1999, 2000, 2001, 2002, 2003, 2004, + 2005, 2006, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, + 2062, 2063, 2064, 2007, 2008, 2009, 2010, 0, 115, 116, + 1456, 117, 1677, 0, 1433, 114, 2024, 2031, 2045, 1509, + 1510, 115, 117, 0, 263, 676, 0, 0, 0, 0, + 0, 0, 214, 0, 0, 587, 586, 0, 1500, 592, + 0, 0, 0, 119, 110, 1891, 118, 1432, 108, 125, + 2235, 2236, 2237, 2238, 2122, 2239, 2240, 2241, 2242, 2123, + 2243, 2124, 2125, 2126, 2127, 2128, 2129, 2244, 2245, 2246, + 2131, 2130, 2247, 2132, 2248, 2133, 2249, 2134, 2135, 2250, + 2251, 2136, 1747, 2137, 2138, 2252, 2253, 2254, 2255, 2256, + 2257, 2258, 2259, 2260, 2139, 2140, 2261, 2262, 2141, 2263, + 2264, 2142, 2265, 2143, 2144, 2145, 2266, 2267, 2268, 2146, + 2147, 2269, 2148, 2270, 2271, 2149, 2150, 2153, 2151, 2272, + 2152, 2273, 2154, 2155, 2156, 2274, 2275, 2157, 2158, 2276, + 2159, 2160, 2161, 2162, 2163, 2277, 2164, 2278, 2165, 2166, + 2279, 2280, 2281, 2282, 2283, 2168, 2167, 2169, 2170, 2284, + 2285, 2286, 2287, 2171, 2172, 2173, 2288, 2289, 2174, 2290, + 2291, 2175, 2176, 2292, 2177, 2178, 2293, 2179, 2180, 2294, + 2181, 2182, 2295, 2296, 2297, 2183, 2298, 2184, 2185, 2299, + 2300, 2186, 2187, 2301, 2188, 2302, 2303, 2304, 2305, 2189, + 2190, 2306, 2191, 2307, 2308, 2309, 2310, 2192, 2193, 2194, + 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 1643, 127, + 126, 128, 129, 0, 611, 612, 0, 622, 0, 604, + 609, 605, 0, 631, 0, 624, 632, 613, 603, 625, + 614, 602, 213, 0, 633, 619, 607, 0, 0, 0, + 0, 264, 225, 593, 0, 160, 0, 1538, 1539, 1540, + 1541, 1542, 1543, 1548, 1544, 1545, 1546, 1547, 1549, 1550, + 1551, 1552, 1553, 1529, 1534, 1554, 1555, 1556, 1557, 1558, + 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 0, + 1511, 0, 0, 2017, 2068, 2022, 0, 0, 2035, 0, + 2038, 2039, 1925, 2046, 2049, 2050, 2051, 2052, 0, 953, + 118, 112, 937, 0, 718, 888, 898, 937, 942, 1219, + 965, 1220, 0, 120, 1611, 1610, 1606, 1605, 199, 1473, + 1655, 1793, 1832, 1942, 2047, 1970, 1673, 1656, 1650, 1654, + 265, 779, 777, 0, 1404, 1793, 1832, 1929, 1942, 2047, + 1585, 1589, 0, 262, 0, 1675, 1660, 0, 1661, 118, + 724, 771, 0, 269, 1624, 0, 1629, 0, 1905, 751, + 754, 1467, 752, 270, 2332, 2333, 2334, 2335, 2336, 2337, + 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, + 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, + 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, + 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, + 2378, 2379, 2380, 2381, 2382, 2383, 2384, 271, 272, 0, + 716, 0, 0, 1, 160, 1533, 1639, 0, 166, 0, + 775, 775, 0, 775, 0, 708, 0, 0, 716, 711, + 715, 885, 1672, 2047, 1970, 1659, 1662, 1801, 0, 0, + 1801, 0, 1801, 0, 1801, 0, 0, 1649, 1388, 0, + 1434, 121, 0, 0, 1522, 1518, 1523, 1519, 1524, 1517, + 1516, 1525, 1521, 0, 0, 0, 558, 591, 590, 589, + 588, 593, 0, 1801, 1484, 0, 640, 641, 0, 0, + 0, 0, 0, 210, 1495, 111, 109, 1801, 1644, 620, + 621, 0, 610, 606, 608, 0, 0, 0, 1801, 1462, + 630, 626, 1801, 630, 1426, 1801, 0, 0, 217, 0, + 586, 1531, 1568, 2189, 1569, 1570, 1571, 1583, 0, 1584, + 1574, 1537, 160, 0, 675, 1508, 1607, 0, 0, 0, + 1340, 0, 900, 937, 942, 0, 0, 955, 0, 1359, + 0, 1365, 0, 0, 0, 937, 723, 0, 898, 954, + 113, 0, 935, 936, 826, 826, 780, 0, 761, 947, + 0, 0, 950, 948, 0, 950, 0, 0, 0, 950, + 946, 907, 0, 826, 0, 935, 938, 826, 0, 957, + 1528, 0, 0, 0, 0, 0, 1653, 1651, 1652, 1657, + 0, 0, 0, 1436, 1438, 1439, 1308, 1449, 1205, 0, + 2012, 2013, 2014, 1380, 2015, 2016, 2018, 2019, 2020, 1159, + 1767, 2021, 1447, 2023, 2025, 2026, 2028, 2029, 2030, 2031, + 2032, 2033, 0, 1448, 2036, 1870, 2041, 2042, 2044, 2047, + 2048, 1446, 2053, 0, 0, 0, 1415, 1331, 0, 1204, + 0, 0, 0, 1381, 1389, 1200, 0, 0, 1001, 1002, + 1023, 1024, 1003, 1029, 1030, 1032, 1004, 0, 1411, 1093, + 1188, 1399, 1207, 1238, 1209, 1218, 1196, 1275, 1189, 0, + 1199, 1191, 1407, 761, 1405, 0, 1192, 1435, 761, 1403, + 1588, 1586, 1592, 1587, 0, 0, 0, 0, 0, 113, + 1631, 1632, 1623, 1621, 1622, 1620, 1619, 1626, 0, 1628, + 1534, 1326, 1328, 0, 753, 0, 0, 0, 328, 705, + 704, 706, 3, 1467, 0, 0, 0, 0, 773, 774, + 0, 0, 0, 0, 0, 0, 0, 0, 869, 800, + 801, 803, 866, 870, 878, 0, 0, 0, 0, 0, + 712, 0, 1671, 1665, 1663, 0, 0, 0, 144, 144, + 0, 0, 0, 0, 0, 102, 51, 95, 0, 0, + 0, 0, 239, 252, 0, 0, 0, 0, 0, 249, + 0, 0, 232, 226, 228, 53, 0, 144, 0, 49, + 0, 0, 0, 55, 1647, 0, 675, 1387, 0, 123, + 124, 122, 114, 0, 2203, 2065, 2066, 2067, 2068, 2018, + 2069, 2070, 0, 2071, 2072, 2024, 2074, 2075, 2076, 2077, + 2078, 2079, 2080, 2081, 2031, 2083, 2084, 2085, 2086, 2087, + 2088, 2229, 2089, 2045, 2091, 2051, 0, 2092, 1211, 115, + 1452, 117, 1334, 785, 1332, 1468, 0, 0, 1520, 0, + 0, 0, 0, 673, 0, 0, 0, 0, 0, 1480, + 0, 0, 1801, 206, 1801, 558, 0, 1801, 558, 1801, + 0, 1801, 211, 215, 1494, 1497, 0, 623, 630, 618, + 616, 615, 617, 1801, 258, 0, 0, 1463, 628, 629, + 0, 597, 0, 0, 599, 0, 0, 222, 0, 220, + 0, 593, 160, 0, 233, 1579, 1580, 1578, 0, 0, + 1536, 236, 1573, 1582, 1572, 1581, 1535, 253, 1530, 0, + 0, 1526, 663, 0, 0, 0, 0, 1341, 1070, 1069, + 1053, 1054, 1067, 1068, 1055, 1056, 1063, 1064, 1072, 1071, + 1061, 1062, 1057, 1058, 1051, 1052, 1059, 1060, 1065, 1066, + 1049, 1050, 1354, 1342, 1343, 1344, 1345, 1346, 1347, 1348, + 1349, 1350, 1351, 1352, 1353, 0, 0, 2372, 897, 895, + 0, 0, 0, 0, 0, 0, 1381, 0, 1163, 1189, + 0, 0, 0, 1326, 1364, 0, 0, 0, 0, 0, + 0, 1326, 1370, 0, 0, 921, 933, 0, 819, 825, + 896, 894, 0, 1404, 889, 0, 967, 947, 0, 946, + 0, 0, 949, 943, 0, 944, 0, 0, 0, 0, + 945, 0, 0, 0, 0, 892, 0, 933, 0, 893, + 964, 1613, 1612, 1608, 1595, 1603, 200, 0, 1458, 2093, + 2094, 2095, 1011, 2096, 1040, 1018, 1040, 1040, 2097, 2098, + 2099, 2100, 1007, 1007, 1020, 2101, 2102, 2103, 2104, 2105, + 1008, 1009, 1045, 2106, 2107, 2108, 2109, 2110, 0, 0, + 2111, 1040, 2112, 1007, 2113, 2114, 2115, 1012, 2116, 975, + 2117, 0, 2118, 1010, 976, 2119, 1048, 1048, 2120, 0, + 1035, 2121, 1459, 1460, 1461, 0, 1337, 985, 993, 994, + 995, 996, 1021, 1022, 997, 1027, 1028, 998, 1092, 0, + 1007, 160, 1658, 1674, 0, 1331, 1197, 1039, 1026, 1379, + 0, 1034, 1033, 0, 1331, 1016, 1015, 1014, 1202, 0, + 1013, 1288, 1040, 1040, 1038, 1118, 1017, 0, 0, 0, + 0, 0, 1044, 0, 1042, 1119, 1097, 1098, 0, 1414, + 1423, 1326, 1330, 0, 1200, 1326, 0, 0, 1278, 1280, + 0, 1193, 1194, 0, 1382, 1437, 1201, 0, 1442, 0, + 0, 1092, 1092, 1410, 1308, 0, 1298, 1301, 0, 0, + 1305, 1306, 1307, 0, 0, 0, 1402, 0, 1316, 1318, + 0, 0, 1134, 1314, 0, 1137, 0, 0, 0, 0, + 1302, 1303, 1304, 1294, 1295, 1296, 1297, 1299, 1300, 1312, + 1293, 1115, 0, 1190, 0, 1241, 0, 1114, 1408, 887, + 0, 1440, 887, 1597, 1601, 1602, 1600, 1596, 0, 1591, + 1590, 1593, 1594, 1676, 0, 1633, 1617, 0, 1614, 1329, + 882, 755, 1428, 0, 759, 0, 341, 320, 342, 1640, + 1638, 165, 164, 0, 0, 728, 727, 794, 786, 788, + 794, 0, 726, 0, 842, 843, 0, 0, 0, 0, + 875, 873, 1436, 1449, 830, 804, 829, 0, 0, 808, + 0, 834, 1093, 868, 710, 798, 799, 802, 709, 0, + 871, 0, 881, 0, 747, 749, 732, 746, 744, 729, + 737, 869, 803, 0, 1664, 0, 0, 0, 0, 0, + 1801, 0, 0, 978, 86, 67, 510, 143, 0, 0, + 0, 0, 0, 0, 0, 94, 91, 92, 93, 0, + 0, 0, 0, 1458, 237, 238, 251, 0, 242, 243, + 240, 244, 245, 0, 0, 230, 231, 0, 0, 0, + 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1648, 1641, 1383, 1388, 785, 785, 785, 0, 783, + 784, 0, 0, 0, 0, 0, 662, 556, 566, 0, + 0, 0, 1484, 0, 0, 0, 0, 0, 210, 275, + 274, 0, 0, 593, 1485, 1483, 1487, 1486, 1488, 1773, + 194, 0, 0, 205, 202, 0, 555, 529, 0, 0, + 1499, 0, 0, 0, 0, 0, 0, 1801, 545, 1496, + 0, 1645, 273, 0, 0, 256, 630, 1464, 0, 627, + 630, 1427, 0, 630, 224, 0, 0, 1532, 1575, 234, + 254, 235, 255, 675, 670, 700, 0, 678, 683, 660, + 0, 660, 0, 680, 684, 660, 679, 0, 660, 674, + 1609, 0, 1234, 0, 1224, 0, 0, 956, 0, 0, + 1225, 1165, 1166, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1183, 1182, 1226, 960, 0, 963, 0, 0, 1362, + 1363, 0, 1227, 0, 0, 1369, 0, 0, 0, 1232, + 0, 899, 0, 0, 0, 814, 818, 821, 0, 824, + 761, 717, 1793, 1832, 0, 772, 772, 772, 770, 760, + 0, 846, 0, 0, 922, 0, 0, 924, 926, 0, + 0, 929, 906, 905, 0, 0, 0, 0, 968, 0, + 1432, 0, 0, 201, 0, 0, 0, 993, 0, 0, + 0, 983, 979, 0, 1073, 1074, 1075, 1076, 1077, 1078, + 1079, 1080, 1081, 1082, 1083, 1084, 999, 1472, 0, 1005, + 1477, 1478, 1475, 1471, 1474, 1476, 1479, 0, 0, 0, + 0, 1378, 1374, 0, 0, 0, 0, 1283, 1285, 1287, + 0, 1037, 1036, 1292, 1298, 1301, 1305, 1306, 1307, 1302, + 1303, 1304, 1294, 1295, 1296, 1297, 1299, 1300, 0, 1320, + 0, 1274, 0, 0, 0, 0, 0, 0, 1413, 0, + 1161, 0, 1195, 1206, 0, 0, 1281, 1210, 1415, 1390, + 0, 0, 0, 1445, 1444, 1094, 1103, 1106, 1138, 1139, + 1110, 1111, 1112, 1116, 1470, 1469, 1409, 0, 1401, 0, + 0, 1095, 1120, 1125, 0, 1371, 1155, 0, 1143, 0, + 1133, 0, 1141, 1145, 1121, 1136, 0, 1117, 0, 1402, + 1317, 1319, 0, 1315, 0, 1107, 1108, 1109, 1099, 1100, + 1101, 1102, 1104, 1105, 1113, 1291, 1289, 1290, 0, 1388, + 0, 1400, 0, 0, 1243, 0, 0, 1140, 1406, 0, + 967, 785, 967, 0, 1092, 1634, 1467, 1627, 1616, 1467, + 1327, 1429, 1466, 757, 0, 0, 327, 323, 335, 0, + 366, 341, 328, 312, 0, 1636, 151, 155, 0, 1389, + 185, 187, 887, 0, 792, 793, 797, 0, 0, 797, + 776, 725, 2042, 1925, 0, 0, 0, 0, 835, 876, + 0, 867, 832, 833, 0, 831, 1436, 836, 1435, 837, + 840, 841, 809, 1424, 877, 879, 0, 872, 0, 1430, + 731, 750, 0, 0, 0, 0, 0, 714, 713, 883, + 0, 52, 0, 1801, 69, 0, 0, 0, 0, 0, + 0, 460, 0, 560, 460, 107, 1801, 630, 1801, 630, + 1698, 1768, 1943, 0, 65, 534, 98, 0, 137, 563, + 0, 519, 88, 103, 130, 0, 0, 227, 54, 241, + 246, 133, 250, 247, 1504, 248, 144, 0, 50, 0, + 131, 0, 1502, 0, 0, 56, 135, 1506, 1649, 0, + 1387, 0, 783, 783, 783, 0, 1333, 0, 0, 0, + 1335, 1336, 1133, 1513, 1514, 1515, 1512, 648, 661, 0, + 557, 0, 672, 651, 652, 662, 1482, 0, 206, 558, + 0, 558, 0, 215, 0, 1484, 0, 0, 196, 192, + 0, 0, 0, 0, 556, 548, 546, 579, 0, 553, + 547, 0, 0, 505, 0, 1692, 0, 0, 0, 0, + 642, 0, 0, 210, 216, 0, 0, 0, 258, 259, + 596, 1465, 598, 0, 600, 223, 221, 1527, 667, 0, + 666, 671, 665, 669, 664, 0, 659, 0, 693, 0, + 0, 0, 0, 0, 0, 0, 0, 1221, 1339, 0, + 1357, 1356, 1164, 1171, 1174, 1178, 1179, 1180, 1358, 0, + 0, 0, 1175, 1176, 1177, 1167, 1168, 1169, 1170, 1172, + 1173, 1181, 965, 0, 0, 959, 1367, 1366, 1360, 1361, + 0, 1229, 1230, 1231, 1368, 0, 0, 934, 812, 810, + 813, 815, 811, 0, 0, 967, 772, 772, 772, 772, + 769, 0, 0, 0, 966, 0, 863, 928, 0, 952, + 0, 925, 0, 0, 916, 0, 923, 972, 939, 0, + 0, 941, 1604, 989, 0, 984, 980, 0, 0, 0, + 990, 0, 0, 0, 0, 0, 0, 0, 1338, 778, + 1198, 0, 0, 0, 1375, 0, 1160, 1006, 1019, 0, + 1286, 1208, 0, 1309, 1273, 1047, 1046, 1048, 1048, 0, + 0, 0, 1422, 0, 1327, 1277, 1279, 1423, 1203, 1031, + 1092, 0, 0, 0, 0, 0, 0, 0, 1144, 1135, + 0, 1142, 1146, 0, 0, 0, 1129, 0, 0, 1127, + 1156, 1123, 0, 0, 1157, 1387, 0, 1391, 0, 0, + 1242, 1251, 890, 886, 846, 783, 846, 0, 1598, 1618, + 1615, 758, 160, 323, 321, 322, 323, 323, 323, 323, + 333, 339, 334, 323, 323, 323, 385, 0, 383, 328, + 391, 366, 366, 367, 344, 389, 391, 353, 363, 362, + 319, 343, 0, 0, 1637, 0, 174, 0, 0, 0, + 0, 177, 191, 188, 1636, 0, 0, 787, 789, 0, + 1310, 797, 791, 839, 838, 0, 807, 874, 805, 0, + 880, 0, 748, 0, 734, 0, 909, 0, 0, 0, + 0, 0, 509, 0, 0, 0, 460, 0, 568, 0, + 575, 0, 0, 560, 541, 87, 0, 0, 0, 61, + 106, 79, 71, 57, 85, 0, 0, 90, 0, 83, + 100, 101, 99, 104, 0, 470, 495, 0, 0, 506, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 675, 1388, 1384, 1388, 0, 0, 0, 785, 781, + 782, 1212, 0, 647, 699, 696, 697, 695, 232, 567, + 0, 0, 204, 555, 0, 1499, 0, 0, 0, 1481, + 593, 0, 197, 0, 195, 0, 206, 558, 0, 533, + 529, 554, 527, 526, 528, 0, 1693, 225, 0, 1687, + 558, 1498, 0, 0, 643, 0, 637, 215, 0, 0, + 1493, 257, 630, 0, 655, 694, 701, 681, 686, 0, + 692, 688, 687, 682, 690, 689, 685, 1222, 1233, 1355, + 0, 0, 0, 0, 958, 961, 0, 1228, 1223, 932, + 0, 0, 846, 0, 0, 0, 0, 763, 762, 768, + 0, 0, 1245, 927, 0, 0, 0, 914, 904, 910, + 0, 0, 0, 0, 970, 969, 940, 993, 0, 973, + 993, 0, 993, 0, 991, 0, 1000, 1085, 1086, 1087, + 1088, 1089, 1090, 1091, 1025, 0, 1377, 1373, 1282, 1284, + 1321, 1043, 1041, 1412, 1326, 1417, 1419, 0, 0, 0, + 1276, 1162, 1443, 1096, 0, 0, 1126, 1372, 1147, 0, + 0, 0, 1122, 1309, 0, 0, 0, 0, 0, 1131, + 0, 1395, 1388, 0, 1394, 0, 0, 0, 0, 1217, + 891, 863, 0, 863, 0, 0, 332, 338, 331, 330, + 329, 336, 340, 326, 383, 388, 384, 386, 323, 0, + 390, 380, 0, 364, 365, 345, 366, 0, 350, 349, + 351, 348, 393, 0, 0, 0, 0, 311, 396, 1189, + 0, 1635, 0, 1630, 152, 153, 154, 0, 0, 0, + 169, 146, 0, 0, 186, 174, 162, 795, 796, 0, + 790, 806, 1425, 1431, 733, 0, 1200, 0, 0, 730, + 0, 138, 460, 0, 0, 68, 0, 577, 521, 569, + 552, 536, 0, 0, 0, 461, 0, 594, 0, 0, + 542, 0, 0, 0, 0, 522, 0, 0, 481, 0, + 0, 552, 0, 559, 477, 478, 0, 60, 80, 0, + 76, 0, 105, 0, 0, 0, 0, 0, 63, 75, + 0, 58, 0, 630, 630, 66, 1458, 2093, 2094, 2095, + 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2213, 2103, 2104, + 2105, 2106, 2107, 2108, 2109, 2110, 2222, 2111, 467, 2112, + 1870, 2113, 2114, 2115, 2116, 2117, 0, 2118, 976, 2119, + 2120, 2302, 2121, 1294, 1295, 465, 466, 562, 462, 1459, + 463, 1461, 570, 464, 0, 565, 520, 134, 1505, 0, + 132, 0, 1503, 141, 139, 136, 1507, 1642, 0, 0, + 1215, 1216, 1213, 783, 0, 0, 0, 675, 654, 0, + 0, 1692, 0, 0, 0, 300, 282, 310, 0, 1801, + 0, 193, 0, 1499, 203, 555, 0, 585, 505, 580, + 0, 1692, 1690, 0, 1499, 1686, 0, 634, 0, 207, + 0, 0, 0, 601, 668, 0, 691, 1184, 0, 0, + 0, 0, 822, 0, 828, 863, 767, 766, 765, 764, + 845, 1742, 2025, 1924, 0, 849, 844, 847, 852, 854, + 853, 855, 851, 862, 0, 865, 951, 1322, 1324, 0, + 0, 0, 0, 915, 0, 917, 0, 919, 0, 971, + 987, 0, 988, 0, 986, 981, 992, 1376, 1420, 1421, + 1416, 0, 1093, 1153, 1151, 1148, 0, 1149, 1130, 0, + 0, 1128, 1124, 0, 1158, 0, 0, 1392, 0, 1237, + 0, 1240, 1254, 1250, 1249, 1245, 1212, 1245, 1599, 756, + 324, 325, 337, 387, 366, 353, 381, 382, 312, 0, + 395, 0, 368, 0, 347, 0, 418, 419, 400, 401, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, + 0, 0, 0, 0, 0, 434, 0, 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1147, 1146, 1190, 939, 0, 942, 0, 0, 1316, 1317, - 0, 1191, 0, 0, 1323, 0, 0, 0, 1196, 0, - 878, 0, 0, 0, 793, 797, 800, 0, 803, 740, - 696, 1728, 1767, 0, 751, 751, 751, 749, 739, 0, - 825, 0, 0, 901, 0, 0, 903, 905, 0, 0, - 908, 885, 884, 0, 0, 0, 0, 947, 0, 1386, - 0, 0, 198, 0, 1426, 0, 1431, 1432, 1429, 1425, - 1428, 1430, 0, 0, 0, 1332, 1328, 0, 0, 1241, - 1243, 1245, 0, 1250, 1256, 1259, 1263, 1264, 1265, 1260, - 1261, 1262, 1252, 1253, 1254, 1255, 1257, 1258, 0, 1278, - 0, 1232, 0, 0, 1367, 0, 1125, 0, 1159, 1170, - 0, 0, 1239, 1174, 1369, 1344, 0, 0, 1399, 1398, - 1058, 1067, 1070, 1102, 1103, 1074, 1075, 1076, 1080, 1424, - 1423, 1363, 0, 1355, 0, 0, 1059, 1084, 1089, 0, - 1325, 1119, 0, 1107, 0, 1097, 0, 1105, 1109, 1085, - 1100, 0, 1081, 0, 1356, 1275, 1277, 0, 1273, 0, - 1071, 1072, 1073, 1063, 1064, 1065, 1066, 1068, 1069, 1077, - 1249, 1247, 1248, 0, 1342, 0, 1354, 0, 0, 1207, - 0, 0, 1104, 1360, 0, 946, 764, 946, 0, 1056, - 1576, 1421, 1569, 1558, 1421, 1285, 1383, 1420, 736, 0, - 0, 310, 306, 318, 0, 349, 324, 311, 295, 0, - 1578, 148, 152, 0, 1343, 182, 184, 866, 0, 771, - 772, 776, 0, 0, 776, 755, 704, 1970, 1856, 0, - 0, 0, 0, 814, 855, 0, 846, 811, 812, 0, - 810, 1390, 815, 1389, 816, 819, 820, 788, 1378, 856, - 858, 0, 851, 0, 1384, 710, 729, 0, 0, 0, - 0, 0, 693, 692, 862, 0, 49, 0, 1736, 66, - 0, 0, 0, 0, 0, 0, 443, 0, 543, 443, - 104, 1736, 614, 1736, 614, 1636, 1703, 1872, 0, 62, - 517, 95, 0, 134, 546, 0, 502, 85, 100, 127, - 0, 0, 214, 51, 228, 233, 130, 237, 234, 1457, - 235, 141, 0, 47, 0, 128, 0, 1455, 0, 0, - 53, 132, 1459, 0, 1341, 0, 762, 762, 762, 0, - 1291, 0, 0, 0, 1293, 1294, 643, 0, 540, 0, - 654, 633, 634, 644, 1435, 0, 203, 541, 0, 541, - 0, 0, 1437, 0, 0, 193, 189, 0, 0, 0, - 0, 539, 531, 529, 562, 0, 536, 530, 0, 0, - 488, 0, 1630, 0, 0, 0, 0, 628, 0, 0, - 0, 0, 0, 982, 995, 586, 969, 0, 1023, 1022, - 1024, 1024, 952, 969, 0, 969, 0, 967, 0, 1007, - 976, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 579, 1419, - 581, 0, 583, 210, 208, 1466, 649, 0, 648, 653, - 647, 651, 646, 0, 641, 0, 675, 0, 0, 0, - 0, 0, 0, 0, 0, 1185, 1297, 0, 1311, 1310, - 1128, 1135, 1138, 1142, 1143, 1144, 1312, 0, 0, 0, - 1139, 1140, 1141, 1131, 1132, 1133, 1134, 1136, 1137, 1145, - 944, 0, 0, 938, 1321, 1320, 1314, 1315, 0, 1193, - 1194, 1195, 1322, 0, 0, 913, 791, 789, 792, 794, - 790, 0, 0, 946, 751, 751, 751, 751, 748, 0, - 0, 0, 945, 0, 842, 907, 0, 931, 0, 904, - 0, 0, 895, 0, 902, 951, 918, 0, 0, 920, - 1546, 1296, 757, 1162, 0, 0, 1329, 0, 1124, 0, - 1244, 1172, 0, 1267, 1231, 0, 0, 0, 1376, 0, - 1285, 1235, 1237, 1377, 1167, 1056, 0, 0, 0, 0, - 0, 0, 0, 1108, 1099, 0, 1106, 1110, 0, 0, - 0, 1093, 0, 0, 1091, 1120, 1087, 0, 0, 1121, - 1341, 0, 1345, 0, 0, 1206, 1215, 869, 865, 825, - 762, 825, 0, 1540, 1560, 1557, 737, 157, 306, 304, - 305, 306, 306, 306, 306, 316, 322, 317, 306, 306, - 306, 368, 0, 366, 311, 374, 349, 349, 350, 327, - 372, 374, 336, 346, 345, 302, 326, 0, 0, 1579, - 0, 171, 0, 0, 0, 0, 174, 188, 185, 1578, - 0, 0, 766, 768, 0, 1268, 776, 770, 818, 817, - 0, 786, 853, 784, 0, 859, 0, 727, 0, 713, - 0, 888, 0, 0, 0, 0, 0, 492, 0, 0, - 0, 443, 0, 551, 0, 558, 0, 0, 543, 524, - 84, 0, 0, 0, 58, 103, 76, 68, 54, 82, - 0, 0, 87, 0, 80, 97, 98, 96, 101, 0, - 453, 478, 0, 0, 489, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1342, 1338, 1342, 0, - 0, 0, 764, 760, 761, 1176, 678, 679, 677, 219, - 550, 0, 0, 201, 538, 0, 1452, 0, 0, 1434, - 576, 0, 194, 0, 192, 0, 203, 541, 0, 516, - 512, 537, 510, 509, 511, 0, 1631, 212, 0, 1625, - 541, 1451, 0, 0, 629, 0, 623, 0, 1446, 1001, - 965, 0, 1019, 1017, 966, 0, 964, 960, 968, 614, - 0, 637, 676, 681, 663, 668, 0, 674, 670, 669, - 664, 672, 671, 667, 1186, 1197, 1309, 0, 0, 0, - 0, 937, 940, 0, 1192, 1187, 911, 0, 0, 825, - 0, 0, 0, 0, 742, 741, 747, 0, 0, 1209, - 906, 0, 0, 0, 893, 883, 889, 0, 0, 0, - 0, 949, 948, 919, 0, 1331, 1327, 1240, 1242, 1279, - 1366, 1284, 1371, 1373, 0, 0, 0, 1234, 1126, 1397, - 1060, 0, 0, 1090, 1326, 1111, 0, 0, 0, 1086, - 1267, 0, 0, 0, 0, 0, 1095, 0, 1349, 1342, - 0, 1348, 0, 0, 0, 0, 1181, 870, 842, 0, - 842, 0, 0, 315, 321, 314, 313, 312, 319, 323, - 309, 366, 371, 367, 369, 306, 0, 373, 363, 0, - 347, 348, 328, 349, 0, 333, 332, 334, 331, 376, - 0, 0, 0, 0, 294, 379, 1153, 0, 1577, 0, - 1572, 149, 150, 151, 0, 0, 0, 166, 143, 0, - 0, 183, 171, 159, 774, 775, 0, 769, 785, 1379, - 1385, 712, 0, 1164, 0, 0, 709, 0, 135, 443, - 0, 0, 65, 0, 560, 504, 552, 535, 519, 0, - 0, 0, 444, 0, 577, 0, 0, 525, 0, 0, - 0, 0, 505, 0, 0, 464, 0, 0, 535, 0, - 542, 460, 461, 0, 57, 77, 0, 73, 0, 102, - 0, 0, 0, 0, 0, 60, 72, 0, 55, 0, - 614, 614, 63, 1412, 2021, 2022, 2023, 2024, 2025, 2026, - 2027, 2028, 2029, 2030, 2141, 2031, 2032, 2033, 2034, 2035, - 2036, 2037, 2038, 2150, 2039, 450, 2040, 1803, 2041, 2042, - 2043, 2044, 2045, 0, 2046, 955, 2047, 2048, 2227, 2049, - 1252, 1253, 448, 449, 545, 445, 1413, 446, 1415, 553, - 447, 0, 548, 503, 131, 1458, 0, 129, 0, 1456, - 138, 136, 133, 1460, 0, 0, 1179, 1180, 1177, 762, - 657, 636, 0, 0, 1630, 0, 0, 283, 265, 293, - 0, 1736, 0, 190, 0, 1452, 200, 538, 0, 568, - 488, 563, 0, 1630, 1628, 0, 1452, 1624, 0, 620, - 0, 0, 0, 961, 953, 584, 650, 0, 673, 1148, - 0, 0, 0, 0, 801, 0, 807, 842, 746, 745, - 744, 743, 824, 1678, 1953, 1855, 0, 828, 823, 826, - 831, 833, 832, 834, 830, 841, 0, 844, 930, 1280, - 1282, 0, 0, 0, 0, 894, 0, 896, 0, 898, - 0, 950, 1330, 1374, 1375, 1370, 0, 1057, 1117, 1115, - 1112, 0, 1113, 1094, 0, 0, 1092, 1088, 0, 1122, - 0, 0, 1346, 0, 1201, 0, 1204, 1218, 1214, 1213, - 1209, 1176, 1209, 1541, 735, 307, 308, 320, 370, 349, - 336, 364, 365, 295, 0, 378, 0, 351, 0, 330, - 0, 401, 402, 383, 384, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1356, 0, 0, 0, 0, 0, - 417, 0, 0, 420, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, - 147, 173, 172, 0, 1343, 180, 0, 0, 171, 0, - 175, 630, 0, 0, 724, 887, 717, 718, 0, 556, - 67, 0, 535, 0, 443, 521, 520, 523, 518, 522, - 0, 578, 0, 0, 462, 0, 469, 507, 508, 506, - 463, 535, 541, 465, 0, 0, 0, 69, 59, 56, - 61, 70, 0, 0, 71, 74, 951, 86, 79, 2150, - 2159, 0, 0, 0, 0, 0, 1340, 1339, 0, 632, - 639, 219, 0, 0, 512, 1627, 0, 0, 625, 0, - 0, 0, 0, 280, 272, 0, 0, 538, 195, 0, - 0, 0, 1630, 0, 0, 440, 0, 485, 0, 205, - 1629, 0, 0, 1616, 0, 0, 1444, 1445, 0, 638, - 1149, 0, 1150, 941, 0, 0, 799, 1209, 0, 0, - 0, 835, 829, 0, 1208, 1210, 0, 796, 1283, 890, - 0, 892, 0, 916, 764, 0, 916, 899, 1372, 1199, - 0, 1114, 1118, 1116, 1096, 1342, 1350, 1342, 1347, 1203, - 1217, 1220, 844, 1395, 844, 295, 344, 342, 0, 0, - 359, 362, 329, 366, 336, 331, 380, 391, 421, 422, - 395, 396, 397, 399, 0, 0, 0, 381, 403, 408, - 438, 0, 426, 0, 416, 0, 424, 428, 404, 419, - 400, 0, 1356, 0, 0, 0, 0, 392, 393, 394, - 385, 386, 387, 388, 389, 390, 398, 423, 300, 0, - 299, 0, 0, 158, 0, 0, 155, 142, 160, 1269, - 714, 715, 0, 443, 0, 534, 557, 474, 452, 0, - 0, 0, 459, 466, 567, 468, 0, 78, 94, 0, - 0, 547, 139, 137, 1178, 657, 0, 1452, 488, 1624, - 622, 284, 265, 262, 291, 279, 0, 0, 292, 0, - 274, 0, 0, 0, 512, 212, 1626, 501, 494, 495, - 496, 497, 498, 499, 500, 515, 514, 486, 487, 0, - 0, 0, 0, 0, 624, 1446, 0, 177, 186, 0, - 177, 1151, 802, 0, 844, 0, 0, 0, 827, 0, - 0, 843, 0, 700, 1281, 0, 882, 880, 762, 0, - 881, 0, 0, 0, 0, 764, 796, 796, 342, 0, - 375, 0, 356, 360, 377, 0, 0, 0, 0, 0, - 0, 0, 427, 418, 0, 425, 429, 0, 0, 412, - 0, 0, 410, 439, 406, 0, 0, 0, 144, 0, - 145, 181, 0, 0, 0, 541, 559, 533, 0, 526, - 472, 471, 473, 477, 0, 475, 0, 491, 0, 484, - 452, 0, 81, 0, 554, 631, 635, 0, 442, 1618, - 264, 259, 260, 0, 263, 281, 285, 0, 0, 271, - 0, 275, 538, 0, 1624, 488, 1630, 1624, 0, 1621, - 0, 621, 0, 0, 0, 179, 1452, 0, 179, 0, - 796, 837, 0, 836, 1212, 1211, 798, 891, 0, 0, - 1200, 1352, 1351, 0, 1223, 699, 698, 343, 340, 361, - 0, 0, 335, 382, 0, 0, 409, 430, 0, 0, - 0, 405, 0, 0, 0, 0, 0, 414, 297, 301, - 0, 0, 0, 0, 567, 0, 513, 0, 0, 474, - 0, 467, 564, 565, 566, 0, 480, 470, 481, 75, - 93, 555, 0, 0, 0, 290, 0, 288, 0, 538, - 1619, 441, 206, 1617, 1622, 1623, 0, 177, 176, 773, - 178, 946, 187, 773, 806, 701, 838, 795, 0, 897, - 1219, 0, 0, 0, 0, 341, 357, 352, 358, 354, - 436, 434, 431, 0, 432, 413, 0, 0, 411, 407, - 0, 296, 298, 0, 154, 946, 165, 0, 484, 532, - 527, 451, 476, 490, 0, 0, 0, 482, 0, 483, - 1624, 0, 282, 286, 0, 289, 0, 0, 179, 776, - 1442, 776, 1939, 1679, 1907, 0, 1221, 1224, 1222, 1216, - 338, 337, 339, 0, 0, 433, 437, 435, 415, 146, - 153, 0, 443, 456, 0, 455, 0, 544, 479, 1620, - 277, 0, 0, 269, 0, 1452, 773, 167, 168, 0, - 1228, 1227, 1226, 1230, 1229, 353, 355, 946, 561, 454, - 458, 457, 0, 0, 0, 0, 273, 0, 946, 776, - 0, 164, 277, 261, 0, 0, 0, 287, 270, 1443, - 169, 1225, 276, 0, 267, 268, 0, 0, 0, 266, - 0, 0, 0, 293, 272, 274, 278 + 0, 0, 0, 0, 173, 150, 176, 175, 0, 1389, + 183, 0, 0, 174, 0, 178, 644, 0, 0, 745, + 908, 738, 739, 0, 573, 70, 0, 552, 0, 460, + 538, 537, 540, 535, 539, 0, 595, 0, 0, 479, + 0, 486, 524, 525, 523, 480, 552, 558, 482, 0, + 0, 0, 72, 62, 59, 64, 73, 0, 0, 74, + 77, 972, 89, 82, 1458, 2222, 2231, 0, 0, 0, + 0, 0, 1386, 1385, 0, 650, 649, 698, 646, 657, + 232, 0, 0, 529, 1689, 0, 0, 639, 0, 0, + 0, 0, 0, 297, 289, 0, 0, 555, 198, 0, + 0, 0, 1692, 0, 0, 457, 0, 502, 0, 218, + 1691, 0, 0, 1678, 0, 0, 0, 1491, 1492, 0, + 656, 1185, 0, 1186, 962, 0, 0, 820, 1245, 0, + 0, 0, 856, 850, 0, 1244, 1246, 0, 817, 1325, + 911, 0, 913, 0, 937, 785, 0, 937, 920, 982, + 974, 1418, 1235, 0, 1150, 1154, 1152, 1132, 1388, 1396, + 1388, 1393, 1239, 1253, 1256, 865, 1441, 865, 312, 361, + 359, 0, 0, 376, 379, 346, 383, 353, 348, 397, + 408, 438, 439, 412, 413, 414, 416, 0, 0, 0, + 398, 420, 425, 455, 0, 443, 0, 433, 0, 441, + 445, 421, 436, 417, 0, 1402, 0, 0, 0, 0, + 409, 410, 411, 402, 403, 404, 405, 406, 407, 415, + 440, 317, 0, 316, 0, 0, 161, 0, 0, 158, + 145, 163, 1311, 735, 736, 0, 460, 0, 551, 574, + 491, 469, 0, 0, 0, 476, 483, 584, 485, 0, + 81, 97, 0, 0, 564, 142, 140, 1214, 675, 0, + 1499, 505, 1686, 636, 209, 301, 282, 279, 308, 296, + 0, 0, 309, 0, 291, 0, 0, 0, 529, 225, + 1688, 518, 511, 512, 513, 514, 515, 516, 517, 532, + 531, 503, 504, 0, 0, 0, 0, 0, 638, 0, + 1493, 0, 180, 189, 0, 180, 1187, 823, 0, 865, + 0, 0, 0, 848, 0, 0, 864, 0, 721, 1323, + 0, 903, 901, 783, 0, 902, 0, 0, 0, 0, + 785, 817, 817, 359, 0, 392, 0, 373, 377, 394, + 0, 0, 0, 0, 0, 0, 0, 444, 435, 0, + 442, 446, 0, 0, 429, 0, 0, 427, 456, 423, + 0, 0, 0, 147, 0, 148, 184, 0, 0, 0, + 558, 576, 550, 0, 543, 489, 488, 490, 494, 0, + 492, 0, 508, 0, 501, 469, 0, 84, 0, 571, + 645, 653, 0, 459, 1680, 281, 276, 277, 0, 280, + 298, 302, 0, 0, 288, 0, 292, 555, 0, 1686, + 505, 1692, 1686, 0, 1683, 0, 635, 208, 0, 0, + 0, 182, 1499, 0, 182, 0, 817, 858, 0, 857, + 1248, 1247, 819, 912, 0, 0, 1236, 1398, 1397, 0, + 1260, 720, 719, 360, 357, 378, 0, 0, 352, 399, + 0, 0, 426, 447, 0, 0, 0, 422, 0, 0, + 0, 0, 0, 431, 314, 318, 0, 0, 0, 0, + 584, 0, 530, 0, 0, 491, 0, 484, 581, 582, + 583, 0, 497, 487, 498, 78, 96, 572, 0, 0, + 0, 307, 0, 305, 0, 555, 1681, 458, 219, 1679, + 1684, 1685, 0, 180, 179, 794, 181, 967, 190, 794, + 827, 722, 859, 816, 0, 918, 1255, 0, 0, 0, + 0, 0, 358, 374, 369, 375, 371, 453, 451, 448, + 0, 449, 430, 0, 0, 428, 424, 0, 313, 315, + 0, 157, 967, 168, 0, 501, 549, 544, 468, 493, + 507, 0, 0, 0, 499, 0, 500, 1686, 0, 299, + 303, 0, 306, 0, 0, 182, 797, 1489, 797, 2011, + 1743, 1977, 0, 1272, 1261, 1272, 1272, 1252, 355, 354, + 356, 0, 0, 450, 454, 452, 432, 149, 156, 0, + 460, 473, 0, 472, 0, 561, 496, 1682, 294, 0, + 0, 286, 0, 1499, 794, 170, 171, 0, 1265, 1264, + 1263, 1267, 1266, 0, 1259, 1257, 1258, 370, 372, 967, + 578, 471, 475, 474, 0, 0, 0, 0, 290, 0, + 967, 797, 0, 0, 1269, 0, 1270, 167, 294, 278, + 0, 0, 0, 304, 287, 1490, 172, 1262, 1268, 1271, + 293, 0, 284, 285, 0, 0, 0, 283, 0, 0, + 0, 310, 289, 291, 295 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -3359, -3359, -3359, 2304, 93, 106, -780, -1200, -970, -1212, - -3359, 82, 126, -3359, -3359, 392, -3359, 1231, -3359, 380, - -682, 781, -3359, 1329, -3359, -3359, 3038, -3359, 129, 132, - 2429, 212, -7, 1227, 177, -514, -778, -1344, -1064, 13, - -3359, -3359, -3359, -3359, -543, 722, -1223, -3359, 645, -3359, - -3359, -3359, -3359, -18, 359, -3359, 12, -2207, -3037, -506, - -3359, -670, -3359, -169, -3359, -590, -3359, -604, -597, -656, - -2889, -1150, -3359, 1851, -212, -3359, 832, -3359, -2584, -3359, - -3359, 817, -3359, -1171, -3359, -2299, 376, -573, -2394, -2593, - -2171, -804, 450, -576, 428, -2153, -844, -3359, 842, -3359, - -560, -3359, -765, -1707, 133, -2881, -1691, 3196, -3359, -3359, - -3359, -584, -3359, -2576, 6051, -3359, 134, 1700, -2120, 140, - -1667, -3359, 18, -2111, 141, -3359, -3359, 145, 40, -540, - 498, -3359, 149, -3359, -3359, 1618, -747, -3359, 1669, 153, - 1176, -3359, -2592, -3359, -443, -3359, -476, -467, -3359, -3359, - 65, -935, 1608, -3359, -3359, -3359, 19, -3359, -380, -3359, - -3359, -2638, -3359, 44, -3359, -3359, -3359, -3359, -3359, -309, - 510, -3359, -3359, -497, -2629, -438, -3359, -3189, -3239, -3359, - -3359, -658, -3174, -2061, 155, 127, 1598, -34, -3359, -3359, - -3359, -3359, -3359, -337, -3358, -3359, -714, -3359, -717, -713, - -162, -691, -678, -3359, -550, -2925, -657, -3359, -3359, -706, - -2836, -3359, 2512, -413, -3359, -3359, -1208, -3359, 561, -1387, - -3359, 950, -3359, 951, -3359, -228, -2856, -3359, -3359, -377, - -3359, -3359, -3359, -2230, -5, -621, -618, -3359, -3010, -3359, - -3359, -2420, -3359, -3359, -3359, 562, -3359, -3359, 1614, 156, - 157, -3359, 593, 159, -1163, 20, 6898, -10, -15, -3359, - -3, -3359, -3359, -3359, 912, -3359, -3359, 39, 102, 1972, - -3359, -1038, -3359, -1599, 1053, -3359, 2135, 2166, -2229, -745, - -40, -3359, 956, -1700, -2137, -581, 1376, 1982, 1984, 694, - -2555, -3359, -450, -3359, 231, -3359, -3359, 948, 1429, -1571, - -1564, -3359, -1712, -3359, -321, -146, -3359, -3359, -3359, -3359, - -3359, -2541, -2896, -547, 1402, -3359, 1989, -3359, -3359, -3359, - -3359, 21, -1519, 3179, 1004, -79, -3359, -3359, -3359, -3359, - 410, -3359, 1164, 86, -3359, 2566, -525, -628, 2196, -8, - 361, -1772, 45, 2583, 766, -3359, -3359, 768, -2070, -1536, - 726, -38, 1774, -3359, -3359, -325, -1328, -851, -3359, -3359, - 391, -527, -3359, -3359, -3359, -508, 1707, -3359, -3359, 2348, - 2515, -3359, -673, 2692, -532, -829, 2213, -901, 2220, -900, - -906, -912, 2222, 2224, -1512, 8344, -983, 7048, -2194, -3359, - 1294, 97, -3359, -1493, 7, -3359, -3359, -3359, -3359, -2770, - -3359, -267, -3359, -261, -3359, -3359, -3359, -463, -3355, -3359, - 9753, 1148, -3359, -3359, 742, -3359, -3359, -3359, -3359, -1544, - -3359, 9090, 1040, -3359, -2014, -3359, -3359, -992, -668, -1117, - -1022, -1291, -1388, -3359, -3359, -3359, -3359, -3359, -3359, -1061, - -1781, -31, -2087, -3359, -3359, 1191, -3359, -3359, -3359, -1758, - -2128, -3359, -3359, -3359, -2074, 1682, 370, -674, -1639, -3359, - 1154, -2369, -3359, -3359, 738, -3359, -582, -1130, -2454, 2262, - 51, -3359, 3968, -2587, -3359, -3359, -551, -2716, -1123, -850, - -3359, 161, 1428, 52, -3359, 164, 1539, -3359, -3359, -3359, - 165, -3359, 1196, 168, 729, -3359, 1212, -3359, 911, 169, - -3359, -3359, 117, 3165, 27, -2445 + -3439, -3439, -3439, 2132, 102, 110, -961, -1256, -985, -1270, + -3439, 25, 111, -3439, -3439, 346, -3439, 1222, -3439, 340, + -824, 750, -3439, 1323, -3439, -3439, 1768, 717, 119, 120, + 2289, -3439, 1193, -3439, 667, -7, 401, 175, -529, -968, + -1287, -14, 27, -3439, -3439, -3439, -3439, -3439, -722, 693, + -1289, -3439, 635, -3439, -3439, -3439, -3439, -74, 322, -2344, + 4, -2262, -3173, -590, -3439, -755, -3439, -239, -3439, -673, + -3439, -660, -681, -740, -2986, -1219, -3439, 1829, -297, -3439, + 792, -3439, -2673, -3439, -3439, 777, -3439, -1230, -3439, -2321, + 320, -661, -2757, -2688, -2236, -1001, 400, -668, 376, -2195, + -935, -3439, 800, -3439, -653, -3439, -957, -2601, 121, -2973, + -1734, 3033, -3439, -3439, -3439, -734, -3439, -2650, 6012, -3439, + 126, 1743, -2181, 128, -1735, -3439, -3439, -1745, 91, -2214, + 11, -2167, 132, -3439, -3439, 134, 36, -672, 450, -3439, + 139, -3439, -3439, 1736, -906, -3439, -3439, 685, 140, 1171, + -3439, -2671, -3439, -602, -3439, -625, -620, -3439, -3439, 35, + -949, 1706, -3439, -3439, -3439, 15, -3439, -470, -3439, -3439, + -2696, -3439, 40, -3439, -3439, -3439, -3439, -3439, -397, 459, + -3439, -3439, -584, -2731, -511, -3439, -3250, -3311, -3439, -3439, + -733, -2851, -2126, 144, 122, 1712, -34, -3439, -3439, -3439, + -3439, -3439, -409, -3045, -3439, -800, -3439, -802, -801, -227, + -772, -757, -3439, -624, -3438, -731, -3439, -3439, -790, -2934, + -3439, 2370, -490, -3439, -3439, -917, -3439, 525, -2107, -3439, + 924, -3439, 928, -3439, -299, -2926, -3439, -3439, -449, -3439, + -3439, -3439, -2350, -68, -690, -685, -3439, -3099, -3439, -3439, + -2514, -3439, -3439, -3439, 536, -3439, -3439, 1542, 145, 146, + -3439, 566, 147, -1208, 80, 5137, 12, -28, -3439, -12, + -3439, -3439, -3439, 898, -3439, -3439, 21, 69, 1965, -3439, + -1080, -3439, -1597, 894, -3439, 2134, 2135, -2292, -960, -56, + -3439, 939, -1744, -2212, -674, 1385, 1948, 1950, 697, -3241, + -3439, -519, -3439, 238, -3439, -3439, 931, 1432, -1626, -1613, + -3439, -2266, -3439, -388, -205, -3439, -3439, -3439, -3439, -3439, + -2610, -2578, -662, 1409, -3439, 1967, -3439, -3439, -3439, -3439, + 24, -1568, 3218, 978, -42, -3439, -3439, -3439, -3439, 380, + -3439, 1169, 31, -3439, 2425, -669, -808, 2177, 54, -445, + -1782, 45, 2441, 754, -3439, -3439, 761, -2177, -1489, 719, + -105, 1181, -3439, -3439, -1302, -3439, -1927, -1251, -3439, -3439, + -959, 1915, -3439, -3439, -3439, 2120, 2183, -3439, -3439, 2283, + 2529, -3439, -754, 2538, -48, -1093, 2202, -1000, 2211, -983, + -991, -999, 2217, 2218, 2224, 2241, 2242, 2245, -1577, 7855, + 2493, 7079, -2275, -3439, 1308, 38, -3439, -1464, 60, -3439, + -3439, -3439, -3439, -2772, -3439, -354, -3439, -338, -3439, -3439, + -3439, -1792, -2962, -1840, -3439, 8812, 1124, -3439, -3439, 713, + -3439, -3439, -3439, -3439, -1573, -3439, 8898, 1030, -3439, -2065, + -3439, -3439, -1055, -825, -520, -1071, -1252, -2026, -3439, -3439, + -3439, -3439, -3439, -3439, -998, -1838, -154, -2137, -3439, -3439, + 1170, -3439, -3439, -3439, -1836, -2176, -3439, -3439, -3439, -2141, + 1773, 327, -856, -1684, -3439, 1142, -2427, -3439, -3439, 716, + -3439, -766, -1172, -2536, 1376, 7, -3439, 2444, -2669, -3439, + -3439, -758, -2741, -1157, -934, -3439, 149, 1584, 44, -3439, + 151, 1550, -3439, -3439, -3439, 154, -3439, 960, 155, 575, + -3439, 1237, -3439, 823, 33, -3439, -3439, -3439, 127, 3209, + 17, -2609 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 46, 47, 48, 592, 593, 1883, 1832, 1609, 1263, - 1822, 1514, 594, 2656, 2657, 2658, 2278, 1244, 3582, 2279, - 1245, 1246, 2660, 52, 53, 54, 110, 1274, 595, 596, - 532, 644, 1134, 646, 1135, 1651, 804, 1352, 1353, 597, - 2333, 3281, 2750, 3282, 2415, 2327, 1524, 2409, 1944, 1862, - 1525, 539, 1958, 2751, 2699, 1945, 598, 2645, 3014, 3575, - 2671, 3787, 2950, 2951, 3572, 3573, 2648, 2281, 3676, 3677, - 2726, 1814, 3671, 2352, 3485, 2285, 2266, 2952, 2360, 3435, - 3059, 2282, 2932, 2353, 3568, 1896, 2354, 3569, 3234, 2355, - 1859, 1887, 2649, 3678, 2286, 1860, 2644, 3015, 1802, 2356, - 3579, 2357, 550, 2936, 599, 2729, 1418, 521, 522, 523, - 894, 1355, 1397, 1356, 524, 763, 600, 823, 1893, 601, - 1411, 1875, 602, 1884, 603, 2713, 2714, 604, 605, 1180, - 2601, 2200, 606, 583, 584, 914, 1459, 585, 896, 607, - 1501, 1502, 922, 68, 770, 1516, 608, 1517, 1518, 1010, - 69, 1610, 1012, 1013, 70, 71, 610, 3317, 3072, 1424, - 1897, 2365, 551, 611, 2897, 2202, 2604, 3564, 74, 3215, - 2205, 1205, 3218, 3498, 2890, 3213, 2605, 3615, 3699, 3216, - 2206, 2207, 3499, 2208, 612, 661, 1608, 3370, 76, 1871, - 3593, 3594, 77, 3291, 3834, 3825, 3826, 3794, 3470, 3601, - 3048, 3813, 3790, 3467, 3596, 3049, 3597, 3755, 3468, 3294, - 2598, 3732, 78, 3418, 3419, 2198, 2575, 3157, 1732, 2576, - 2579, 2195, 1733, 1734, 2873, 3170, 2879, 3772, 3715, 3530, - 2866, 2586, 2587, 2588, 2589, 3716, 3718, 3531, 3717, 3163, - 3164, 2590, 2591, 2592, 2868, 2869, 2593, 2594, 2884, 613, - 614, 1077, 2059, 615, 1805, 616, 1136, 84, 85, 1050, - 86, 3228, 87, 88, 1780, 1781, 1782, 692, 704, 705, - 2190, 1581, 2028, 697, 1209, 1749, 678, 679, 2323, 778, - 1854, 1744, 1745, 2211, 2612, 1773, 1774, 1218, 1219, 2016, - 3513, 2017, 2018, 1574, 1575, 3326, 1761, 1765, 1766, 2232, - 2222, 1752, 2484, 3097, 3098, 3099, 3100, 3101, 3102, 3103, - 1137, 2789, 3337, 1769, 1770, 1221, 1222, 1223, 1778, 2242, - 90, 91, 2175, 2557, 2558, 650, 3114, 1598, 1783, 2793, - 2794, 2795, 3118, 3119, 3120, 651, 1045, 1046, 1069, 1064, - 1588, 2036, 652, 653, 1993, 1994, 2453, 1071, 2030, 2046, - 2047, 2801, 1914, 897, 2267, 1614, 1462, 899, 1138, 900, - 1437, 1139, 1441, 902, 1140, 1141, 1142, 905, 1143, 1144, - 1145, 908, 1433, 1146, 1147, 1452, 1481, 1482, 1483, 1484, - 1485, 1486, 1487, 1488, 1489, 1148, 1784, 1149, 1150, 1151, - 1152, 1153, 1154, 655, 1155, 1156, 1699, 2169, 2556, 3107, - 3334, 3335, 2846, 3149, 3361, 3525, 3713, 3766, 3767, 1157, - 1158, 1643, 1644, 1645, 2069, 2070, 2071, 2072, 2163, 1693, - 1694, 1159, 3020, 1696, 2090, 3110, 3111, 1192, 1567, 1638, - 1400, 1401, 1615, 1540, 1541, 1548, 1968, 1556, 1560, 1998, - 1999, 1568, 2131, 1160, 2065, 2066, 2507, 1623, 1161, 1276, - 1650, 2841, 2166, 1697, 2125, 1168, 1162, 1169, 1164, 1634, - 1635, 2518, 2813, 2814, 2096, 2239, 1728, 2244, 2245, 918, - 1165, 1166, 1167, 1402, 527, 911, 3700, 1493, 1197, 1403, - 2121, 617, 103, 618, 94, 619, 1187, 701, 1188, 1190, - 620, 672, 673, 621, 685, 686, 1611, 1713, 1612, 622, - 99, 1232, 674, 693, 623, 3313 + 0, 48, 49, 50, 777, 778, 1933, 1877, 3105, 1314, + 1867, 1441, 779, 2731, 2732, 2733, 2343, 1295, 3697, 2344, + 1296, 1297, 2735, 54, 55, 56, 117, 1326, 780, 781, + 549, 59, 2393, 1003, 829, 1183, 831, 1184, 1696, 991, + 1329, 1330, 782, 2773, 2405, 3390, 2823, 3391, 2467, 2399, + 1451, 2461, 1975, 1911, 1452, 558, 1989, 2824, 2778, 1976, + 783, 2720, 3107, 3690, 2746, 3905, 3043, 3044, 3687, 3688, + 2723, 2346, 3792, 3793, 2806, 1858, 3787, 2425, 3599, 2350, + 2331, 3045, 2433, 3548, 3157, 2347, 3025, 2426, 3683, 1949, + 2427, 3684, 3339, 2428, 1908, 1937, 2724, 3794, 2351, 1909, + 2719, 3108, 1846, 2429, 3694, 2430, 570, 3029, 784, 2809, + 1396, 538, 539, 540, 1623, 740, 1370, 741, 541, 948, + 785, 1022, 1943, 786, 1389, 1925, 65, 1403, 571, 1946, + 787, 1934, 788, 2793, 2794, 789, 790, 1230, 2676, 2265, + 791, 768, 769, 1040, 1421, 770, 71, 1955, 792, 1427, + 1428, 1048, 73, 956, 1443, 793, 1444, 1445, 1058, 74, + 2825, 1060, 1061, 75, 76, 795, 3428, 3172, 1405, 1950, + 2438, 572, 796, 2990, 2267, 2679, 3679, 79, 3320, 2270, + 1256, 3323, 3613, 2983, 3318, 2680, 3731, 3815, 3321, 2271, + 2272, 3614, 2273, 797, 846, 1563, 3483, 81, 1921, 3708, + 3709, 82, 3401, 3962, 3951, 3952, 3912, 3584, 3716, 3146, + 3935, 3908, 3581, 3711, 3147, 3712, 3872, 3582, 3404, 2673, + 3849, 83, 3531, 3532, 2263, 2650, 3262, 1776, 2651, 2654, + 2260, 1777, 1778, 2966, 3275, 2972, 3890, 3832, 3645, 2959, + 2661, 2662, 2663, 2664, 3833, 3835, 3646, 3834, 3268, 3269, + 2665, 2666, 2667, 2961, 2962, 2668, 2669, 2977, 798, 799, + 1125, 2113, 800, 1849, 801, 1185, 89, 90, 1098, 91, + 3333, 92, 93, 1824, 1825, 1826, 877, 889, 890, 2255, + 1536, 2059, 882, 1260, 1793, 863, 864, 2389, 964, 1900, + 1788, 1789, 2276, 2687, 1817, 1818, 1269, 1270, 2047, 3628, + 2048, 2049, 1529, 1530, 3437, 1805, 1809, 1810, 2297, 2287, + 1796, 2536, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 1186, + 2862, 3448, 1813, 1814, 1272, 1273, 1274, 1822, 2307, 95, + 96, 2240, 2632, 2633, 835, 3212, 1553, 1827, 2866, 2867, + 2868, 3216, 3217, 3218, 836, 1093, 1094, 1117, 1112, 1543, + 2067, 837, 838, 2024, 2025, 2505, 1119, 2061, 2077, 2078, + 2874, 2558, 1625, 2332, 1626, 1627, 2092, 1628, 1187, 1629, + 1655, 1188, 1660, 1631, 1189, 1190, 1191, 1634, 1192, 1193, + 1194, 1195, 1648, 1196, 1197, 1672, 2094, 2095, 2096, 2097, + 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 1198, + 1828, 1199, 1200, 1201, 1202, 1203, 1204, 840, 1205, 1206, + 1745, 2234, 2631, 3205, 3445, 3446, 2939, 3254, 3474, 3640, + 3830, 3883, 3884, 3924, 1207, 1208, 1688, 1689, 1690, 2127, + 2128, 2129, 2130, 2228, 1739, 1740, 1209, 3113, 1742, 2150, + 3208, 3209, 1242, 1522, 1683, 1373, 1374, 1639, 1495, 1496, + 1503, 1999, 1511, 1515, 2029, 2030, 1523, 2196, 1210, 2121, + 2122, 2575, 1650, 1211, 1328, 1695, 2934, 2231, 1743, 2190, + 1218, 1212, 1219, 1214, 1679, 1680, 2592, 2906, 2907, 2160, + 2304, 1772, 2309, 2310, 1044, 1215, 1216, 1217, 1375, 544, + 1640, 3816, 1417, 1247, 1376, 2186, 802, 109, 803, 99, + 804, 1237, 886, 1238, 1240, 805, 857, 858, 806, 870, + 871, 1565, 1759, 1566, 952, 104, 105, 1283, 859, 878, + 808, 3423 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -3133,9339 +3209,9697 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 520, 533, 917, 1406, 1163, 555, 803, 1007, 780, 781, - 555, 764, 58, 57, 645, 1262, 659, 659, 62, 72, - 82, 663, 555, 671, 1065, 1358, 671, 100, 656, 690, - 694, 1448, 915, 694, 1193, 766, 555, 555, 1228, 89, - 65, 1559, 648, 1513, 73, 779, 2214, 1408, 1552, 910, - 1836, 1846, 93, 1613, 901, 1904, 691, 89, 526, 1454, - 2545, 1835, 2650, 2173, 1995, 1801, 1729, 2050, 3045, 1647, - 2543, 1504, 526, 903, 783, 1807, 2607, 2617, 1519, 1735, - 645, 645, 695, 609, 2089, 3021, 784, 2689, 2690, 2691, - 2315, 1811, 690, 49, 656, 656, 3017, 694, 555, 694, - 694, 694, 1851, 1840, 525, 2559, 50, 2561, 648, 648, - 1537, 3043, 2643, 1264, 923, 1268, 1536, 1272, 654, 789, - 1908, 1533, 1535, 1047, 1009, 1703, 51, 2540, 1068, 55, - 1706, 1042, 56, 59, 60, 3063, 3060, 1641, 526, 526, - 61, 63, 2606, 2108, 2109, 64, 707, 2812, 1926, 66, - 687, 662, 797, 67, 3371, 75, 79, 80, 2700, 81, - 1089, 92, 2862, 3285, 95, 96, 1014, 1495, 97, 98, - 1498, 3305, 1434, 1435, 2911, 2338, -1408, -1021, 2916, 1456, - 1179, -1021, 3309, -2010, 654, 654, -1024, 2177, -2136, -2136, - 2581, -2150, -2150, 2234, 2715, 1456, 2334, 1217, -2010, 1446, - 660, 660, 2237, 1658, 1710, 537, 1659, 1456, -1016, -2001, - 1660, 1661, 1662, 1663, 1664, 1665, 1666, 2456, -1388, -1408, - 2707, -2001, 658, -2010, 2577, 2703, 1089, -1404, -1404, -2141, - -2141, 1220, 1667, 1206, -2018, 2123, 3451, -2018, -2161, -2161, - -1250, 3465, -1409, 1669, 2505, -2159, -2159, -640, -1250, 2123, - 1670, 699, 698, 1792, 2123, 3238, 898, 3438, -1411, 2485, - -1024, -983, -1409, -996, 1358, 2581, 2757, 2759, -683, 2762, - -1405, -1405, 2494, 3221, 2160, 1671, 1456, -1411, -1011, 658, - 1820, 658, 2161, 1823, 1824, -1407, -1407, 800, -686, 658, - 3614, 831, 1454, 2247, 1972, 3161, 2796, 1659, 1428, 1974, - 771, 2196, 1661, 1812, 3366, 3272, 2123, 3150, 3562, 3152, - 1869, 3618, 3175, 2722, 3744, 1812, 792, 3176, 795, 1901, - 799, 2192, 776, 1507, 1707, 1507, 658, 3367, 1089, 2193, - 1089, 2849, 3736, 1089, 1669, 3591, 1429, 3064, 1849, 3672, - 1659, 3249, 1803, 2925, 1660, 1661, -219, 1850, 1795, 3183, - 910, -219, 1528, 1838, 2331, 901, 2870, 2871, 3532, 3533, - 1182, 1753, 1737, 3490, 1803, 2581, 1671, 1825, -683, 3306, - 2437, 3491, 1672, 776, 903, 2678, 2209, 1669, 658, 3703, - 3362, 3185, 3364, 2904, -819, 3307, 2170, 1750, -686, 3662, - 1213, 1673, 3, 4, 676, 772, 1674, 1543, 1819, 3801, - 2768, 1358, 1207, 2779, 3810, 1754, 2551, 3799, 696, 1671, - 625, 2646, 3235, 1659, -1271, 2468, 3271, 3299, 3247, 1675, - 1676, 3476, -1271, 1434, 1435, 2479, 2480, 2481, 3311, 1007, - 2892, 1834, -2135, -2135, 2924, 1677, 1708, 2687, 3070, 1446, - 801, 1449, 2012, 1972, 802, 3329, 2321, 1973, 1974, 2688, - 1669, 1659, 2654, 2905, 2264, 1660, 1661, 2210, 3175, 1943, - 1637, 2954, 3175, 1450, 3300, 3831, 3526, 3176, 3527, 1215, - 3292, 2469, 1678, 2012, 1755, 1679, 3673, 1457, 3838, 2907, - 2967, 702, 1671, 1048, 3843, 2643, 2893, 2643, 1669, 1680, - 1007, 3236, 1681, 1457, 677, 3183, 1751, 3248, 2809, 3183, - -956, 1068, 1208, 2063, 3065, 1457, 3250, 1870, 3758, 1813, - 1797, 3737, 2498, 1047, 2265, 1826, 2438, 1430, 3534, 3796, - 1671, 1813, 3757, 1827, 1756, 1738, 2439, 3185, 1183, 3528, - 1184, 3185, 694, 3293, 2568, 2171, 3563, 694, 1521, 2955, - 694, 3492, 863, 1810, 910, 2647, 3327, 555, 1852, 901, - 3592, 626, 1785, 1786, 3253, 3449, 2769, 3504, 806, 3802, - -683, 2320, 1789, 3674, 1039, 1709, 1970, 1971, 903, 3588, - 2248, 3811, 1991, -839, 1457, 1810, 913, 555, 555, 3308, - -686, 766, 2064, 2399, 3439, 3280, 1021, 1810, 1757, 3427, - 1972, 1682, 1007, 1007, 1973, 1974, 2197, 2089, 700, 2053, - 3239, 2796, 3162, 3078, 2120, 3056, 832, 2124, 3620, 2578, - -1250, 1629, 2322, 3068, 2470, 2332, 1890, 1015, 533, 659, - 1649, 2542, 2259, 2956, 1049, 520, 3385, 694, 3739, 89, - 1798, 3719, -683, 766, -956, 1431, 645, 773, 1458, 656, - 1044, 1044, 1712, 3167, 2162, 1044, 1067, 1787, 2766, 2234, - 656, 3745, -686, 109, 1494, 1853, 1011, 2620, 2718, 671, - 671, 671, 658, 1736, 1038, 1449, 1497, 2563, 538, 2615, - 2387, 1836, 1432, 671, 671, 2709, 671, 783, 3550, 766, - 1899, 1788, 2176, 526, 2194, 2861, 3021, 1450, 2609, 784, - 694, -1408, -1021, 1839, 526, 1624, 555, 3017, -2010, 1683, - 3458, 1451, 1684, 1685, 1686, 1626, 1687, 1688, 1689, 1690, - 1691, 1692, 3229, -2010, 2790, 2679, 3691, 910, 3356, 2405, - 1626, 3466, 901, -1016, -2001, 3692, 2509, 3570, 801, 654, - 3357, 801, 802, -1388, -1408, 802, -2001, 1654, -2010, 1449, - 654, 903, 1181, 1229, 2280, 1036, 2284, 1724, 3374, -2018, - -683, 807, -2018, 1018, 3348, 2700, 815, -1409, 2466, 816, - 3373, 1450, 2320, 694, 3719, 1186, 694, 2240, 1637, 3430, - -686, 1905, 1906, -1411, 3431, 1453, 1436, -1409, 1440, 1213, - 58, 57, 2696, 2697, -1271, 1175, 62, 72, 82, -683, - 3571, -683, -1411, -1011, 1704, 100, 2178, 687, 687, 1989, - 687, 1016, 1692, 660, 3116, 1194, 694, 89, 65, -686, - 3278, -686, 73, 694, 694, 694, 694, 3205, 1181, 3587, - 93, 2552, 2569, 2570, 1830, 1753, 3791, 1185, 694, 21, - 1511, 1512, 1511, 1512, 1072, 3262, 3263, 2934, 3433, 3220, - 1687, 1688, 1689, 1690, 1691, 1692, 1029, 2848, 1831, 2850, - 3211, 3783, 2294, -219, -219, 2582, 2568, 3443, 1215, 1172, - 2583, 49, 2297, 101, 2935, 2300, 2584, 1596, 2585, 1754, - 2368, 1358, 2105, 1358, 50, 2780, 2781, 2782, 2783, 1505, - 910, 2464, 1506, 3606, 2241, 901, 3303, 3791, 3212, 3283, - 3605, 1659, 3222, 3175, 51, 2004, 808, 55, 809, 2264, - 56, 59, 60, 2019, 903, 2572, 1216, 2429, 61, 63, - 910, 910, 102, 64, 1929, 901, 901, 66, 2464, 2039, - 1597, 67, 1007, 75, 79, 80, 910, 81, 3034, 92, - 3035, 901, 95, 96, 903, 903, 97, 98, 2457, 3304, - 915, 1722, 2573, 1928, 1723, 1986, 1987, 1988, 1989, 1932, - 903, 2062, 1637, 1689, 1690, 1691, 1692, 2467, 1995, 2640, - 1671, 2092, 3185, 2515, 3202, 3203, 3204, 3205, 2089, 558, - 1579, 3635, 3636, 2408, 25, 26, 27, 1589, 3701, 774, - 2144, 2473, 1202, 801, 2106, 2574, 1074, 1648, 1756, 764, - 2431, 2432, 2433, 2434, 2435, 2436, 3711, 1075, 2440, 2441, - 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2410, 3043, - 2394, 2396, 2397, 2819, 3589, 1812, 2393, 2395, 1044, 1067, - 2391, 694, 2392, 2928, 1551, 1409, 3712, 3436, 2692, 1936, - 1044, 1044, 1415, 1417, 1420, 1422, 555, 1649, 2292, 1009, - 32, 1747, 645, 1803, 1585, 2010, 1176, 1427, 2740, 645, - 1592, 775, 1757, 89, 1804, 2744, 656, 2746, 2564, 555, - 3784, 2565, 624, 656, 2651, 3705, 1606, 3087, 540, 2672, - 648, 657, 817, 1812, 3402, 1449, 1618, 648, 3021, 37, - 1836, 3141, 2673, 2875, 1504, 2876, 3423, 1880, 767, 3017, - 1984, 1985, 1986, 1987, 1988, 1989, 3300, 1450, 2877, 2878, - 526, 3390, 2145, 1582, 2316, 2317, 2318, 526, 2344, 2256, - 3386, 1451, 39, 2626, 810, 2929, 811, 898, 3477, 766, - 2126, 2146, 1177, 42, 555, 1236, 2147, 910, 2615, 776, - 1830, 1237, 901, 1915, 541, 1083, 2293, 2188, 2680, 43, - 1582, 2527, 2528, 1841, 2569, 2570, 654, 818, 768, 3785, - 2828, 903, 21, 654, 1831, 2303, 2375, 3818, 1803, 3690, - 2310, 2189, 3693, 44, 1731, 2148, 1466, 1467, 1620, 1806, - 689, 1719, 3478, 2652, 1721, 2532, 3786, 689, 2398, 1641, - 2930, 3479, 2400, 2931, 2854, 2402, 769, 3541, 555, 555, - 1515, 2858, 2859, 2860, 1741, 1742, 694, 1748, 801, 1531, - -1388, 1844, 802, 3480, 2533, 3175, 784, 784, 2723, 784, - 3176, 2280, 2280, 2280, 2731, 3403, 3542, 785, 1551, 2164, - 3404, 1813, 658, 2165, 2571, 1213, 3566, 2572, 694, 1799, - 1214, 817, 2372, 1449, 1238, 1472, 1473, 3083, 1054, 556, - 1546, 694, 3183, 1438, 556, 819, 3255, 2358, 1181, 2359, - 1607, 1515, 1472, 1473, 3260, 1450, 556, 2132, 694, 3405, - 1444, 1445, 694, 2418, 2573, 1447, 1845, 910, 2419, 1453, - 556, 556, 901, 805, 3185, 1054, 1055, 2295, 1576, 1813, - 3481, 777, 2298, 820, 2863, 104, 2133, 1810, 3450, 3628, - 812, 903, 1583, 3482, 2864, 1927, 1600, 25, 26, 27, - 1604, 2863, 1490, 1057, 1215, 3789, 818, 2574, 1812, 1933, - 1837, 3158, 1934, 1055, -763, 1653, 545, 3553, 546, -763, - 821, 2149, 2052, 1812, 1655, 2053, 2534, 2420, 3551, 1591, - 3583, 2535, 556, 1239, 2110, -2132, -2132, 1927, 3543, 2462, - 1057, 1236, 1705, 3544, 549, 1810, 3640, 1237, 813, 1943, - 3641, 1711, 1216, 1515, 1515, 1476, 1477, 827, 2791, 1007, - 2853, 2798, 2089, 32, 2855, 2856, 2857, 1088, -2133, -2133, - 1972, 822, 1476, 1477, 1973, 1974, 824, 2073, 1975, 1976, - 1977, 910, 3082, 2938, 2074, 2075, 901, 1938, 2076, 2077, - 2078, 540, 1089, -763, 1239, 828, 2821, 2653, 1858, 2654, - 694, 829, 37, 2134, 1864, 903, 694, 2417, 2135, 1170, - 1171, 2421, 1173, 2136, 2423, 3406, 1940, 1895, 1590, 833, - 2618, 1089, 1595, 1874, 2941, 1089, 3391, 2655, 910, 1876, - 1877, 2560, 1061, 901, 111, 39, 2677, 536, 1878, 3131, - 910, -763, 1865, 2965, 586, 901, 42, 1791, 1913, 1584, - 1238, 2681, 903, 1913, 2958, 3392, 105, 541, 1241, 675, - 1818, 2530, 830, 688, 903, 106, 2013, 1007, 2922, 1061, - 910, 2014, 2752, 2054, 2268, 901, 2055, 910, 3159, 1866, - 2328, 1842, 901, 2329, 913, 2536, 1584, 913, 1242, 555, - 555, 1438, 555, 913, 903, 3483, 2537, 3545, 3484, 3040, - 689, 903, 107, 2957, 2031, 2966, 1447, 2033, 3546, -2134, - -2134, 3770, 2037, 910, 1813, 2040, 3771, 910, 901, 1606, - 2044, 1812, 901, 910, 1641, 2662, 835, 2664, 901, 1813, - 1867, 2003, 834, 2005, 2006, 2706, 2376, 903, 2474, 2055, - 2475, 903, 1551, 1551, 89, 1021, 2383, 903, 1551, 2384, - 520, 2742, 2743, 108, 2385, 2412, 836, 2384, 2413, 2832, - 2833, 1243, 921, 1044, 656, 555, 2015, 2137, 2476, 3420, - 2477, 1011, 3393, 694, 2629, 3808, 645, 3394, 2138, 645, - 1810, 1019, 3395, 1979, 645, 1032, 3441, 645, 2382, 1407, - 656, 2945, 645, 656, 555, 1810, 555, 3522, 656, 3523, - 2450, 656, 1020, 2451, 648, 2280, 656, 648, 526, 3022, - 1239, 2284, 648, 2496, 819, 648, 2497, -2137, -2137, 1863, - 648, 2088, 3797, 1022, 3798, 1881, 2094, 2499, 1023, 2056, - 2497, 3760, 1236, 1027, 526, 2424, 2060, 526, 1237, 545, - 2946, 546, 526, 2668, 21, 526, 2669, 2430, 2674, 2685, - 526, 2675, 820, 1980, 654, 89, 2057, 1030, 2947, 2734, - 2058, 1031, 2053, 2614, 913, 3780, 2803, 549, 2061, 2497, - 1240, 2665, 2899, 2667, 1241, 2900, 3055, 2458, 1249, 2329, - 654, 1864, 3830, 654, 2463, 1033, 1236, 3076, 654, 2711, - 3077, 654, 1237, 3321, 1236, 1236, 654, 1041, 1250, 1942, - 1237, 1237, 3012, 1607, 1242, 3200, 3201, 3202, 3203, 3204, - 3205, 3084, 1034, 2180, 3085, 694, 2938, 694, 3132, 1865, - 2495, 2055, 2939, 3155, 2495, 3322, 3156, 1813, 2055, 2615, - 2501, 1035, 694, 2204, 2216, 2940, 3396, 3821, 1236, 1036, - 822, 1238, 1251, 1073, 1237, 1551, 784, 3397, 3829, 3230, - 3323, 3351, 1070, 2497, 2055, 2965, 3295, 2941, 3358, 2942, - 2948, 2053, 3424, 3457, 3501, 3425, 2329, 2055, 3556, 2949, - 694, 3557, 555, 3616, 1081, 3666, 3617, 1243, 3667, 1082, - 3685, 556, 2173, 3686, 3079, 1076, 1799, 555, 1186, 25, - 26, 27, 2027, 1810, 2921, 1238, 2923, 555, 2270, 555, - 2274, 1083, 555, 1238, 1238, 1084, 3724, 1867, 555, 2055, - 555, 556, 556, 3735, -2138, -2138, 3617, 3279, 3143, 910, - 1178, 913, 555, 1007, 901, 3500, 913, 555, 1210, 2105, - 1212, 555, 555, 555, 555, 1189, 555, 555, 3775, 3795, - 1252, 2055, 3617, 903, 1174, 3816, 3827, 1238, 3817, 3686, - 2749, 2943, 1195, 3839, 1198, 32, 1497, 1196, 694, 694, - 694, 694, 1078, 1079, 1080, 694, 1981, 1982, 1983, 1199, - 1984, 1985, 1986, 1987, 1988, 1989, 2079, 2080, 2081, 2351, - 2082, 2083, 2084, 2085, 2086, 2087, -2139, -2139, 1200, 2179, - 1253, 1203, 1088, 1204, 37, 1972, -2140, -2140, 1254, 1973, - 1974, 1239, 1211, 1975, 1976, 1977, -2142, -2142, 2362, 1230, - 1255, -2143, -2143, -2144, -2144, -2145, -2145, 1231, 3420, 2944, - 1233, 540, -2146, -2146, 2945, 1234, 3066, 39, -2147, -2147, - 556, -2148, -2148, 1235, 2181, 540, 2184, 1247, 42, -2149, - -2149, 1248, 1256, -2151, -2151, 3050, 1265, 3039, -1454, -2152, - -2152, 2201, 1269, 2486, 1273, 1239, 2915, 1404, 3246, 2489, - 1405, 1266, -1454, 1239, 1239, 1241, 1551, 1551, 1551, 1551, - 1551, 1551, 1410, 2946, 1551, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1551, -2153, -2153, 1412, 541, 3258, 2238, - 1413, 2947, 689, -2154, -2154, 1267, -2155, -2155, 1258, 3759, - 1423, 541, 3075, 3761, 555, 1425, 910, 1239, -2156, -2156, - -1896, 901, -2158, -2158, 1426, 1270, 694, -2160, -2160, 1241, - 1432, 1259, 1436, 2255, 2301, 645, 2268, 1241, 1241, 1439, - 903, 645, -2162, -2162, 1855, 1856, 555, 2235, 2236, 656, - 2343, 555, 1261, 1249, 1440, 656, -814, -814, 1442, 1271, - 1474, 1475, 1443, 648, 542, -818, -818, 1242, 2302, 648, - 1476, 1477, 1455, 1250, -817, -817, 1460, 2308, 1243, 1461, - 3500, 1241, 2569, 2570, 3226, 3227, 1463, 2336, 2337, 2339, - 2340, 3455, 1491, 526, 2342, 1978, 555, 1716, 1718, 526, - 2519, 1492, 1051, 2948, 3344, 555, 3819, 3320, 1052, 1496, - 1499, 2309, 2949, 1500, 1641, 1522, 1523, 1251, 1979, 1526, - -1896, 1529, 1557, 1573, 1570, 1572, 1580, 1551, 1551, 766, - 1515, 2615, 1243, 1586, 3500, 1587, 2416, 1593, 1594, 654, - 1243, 1243, 1599, 544, 2088, 654, 1603, 1605, 1616, 1619, - 910, -987, 2752, 1617, -994, 901, 1624, 689, -839, -840, - -984, -985, 1448, 1628, -988, 1053, -986, 3741, -1896, 3650, - 1629, 1633, 1646, 1731, 903, 1652, 1698, 645, 1700, 545, - 1702, 546, -1896, 1714, 1243, 1725, 1726, -1896, 1980, 555, - 1730, 656, -1896, 545, 1739, 546, 1740, 1214, 1216, 1775, - 1777, 1779, 645, -1896, 548, 648, 2204, 549, -1896, 1790, - 1809, 1808, 547, 3500, 1815, 1252, 656, 1810, 548, 1816, - 1817, 549, 3516, 910, 1829, 1821, 1828, 1833, 901, 1848, - 648, 1861, 1843, 3267, 3268, 526, 1872, 1054, 1515, 1873, - -1896, 1857, 3585, 1882, 1885, 2478, 555, 903, 910, 1551, - -695, 1886, 555, 901, 1888, 1889, 1891, 1892, 1898, 3121, - 526, -1896, 1900, 1089, -695, 1253, 1907, 1909, 1858, -695, - 1910, 3723, 903, 1254, 774, 1055, 1917, 1918, 1921, 1922, - 1571, 654, 1923, 1924, 557, 1255, 1927, 1935, -764, 587, - 1961, 1056, 1963, -764, 1964, 1966, 1969, 1992, 904, 2001, - 2008, 664, 1057, 1602, 2000, 910, 654, 2029, 2011, -1896, - 901, 2032, -1896, 3012, 2038, 706, 706, 1256, -1896, 2041, - 2042, 2043, -695, -695, 2048, 2064, 2051, 1659, 1088, 903, - 2122, 1972, 1858, 2095, 1058, 1973, 1974, -695, 694, 1975, - 1976, 1977, -695, -695, 2098, 766, 775, 2100, 2101, 2129, - 1858, 694, 694, 694, 2102, 2103, 1874, 3019, 2140, 2143, - -1896, 2141, 1876, 1877, 555, 2167, 694, -764, 1642, 694, - 2168, 1878, 2174, 1258, 694, 2187, 2186, 793, 2191, 2212, - 3567, 1059, 775, 2199, -1896, 2215, 2226, 2745, 1060, 2224, - 2225, -695, 2229, 2227, 2228, -695, 1259, 2246, 3244, 2250, - -695, 1981, 1982, 1983, 913, 1984, 1985, 1986, 1987, 1988, - 1989, 2251, 3537, 3538, 2261, -764, -695, 1261, 2254, 2262, - 2257, 2263, 1858, 1858, 776, 1858, 776, 2326, 2330, 2341, - 3074, 1061, 556, 556, 2335, 2348, 2345, 2347, 2349, 2363, - 2364, 2366, 696, 2369, 2370, 2371, 2378, 910, 1062, 2377, - 2373, 2374, 901, 2379, 520, 2380, 2381, 2414, 3444, 2389, - 2401, 2422, 2390, 1997, -695, 1972, 1836, 2452, 656, 2670, - -1896, 903, 1996, -695, 2777, 2483, 2459, 2490, 2531, 2471, - -1896, 910, 694, 694, 694, 2460, 901, 2510, 2547, 2461, - 2465, 555, 2502, 1551, 555, 2512, 2472, 2488, 2526, -1896, - 555, -1896, -1896, 1007, 2503, 903, 2555, 2513, 2511, 2514, - 2524, 2538, 526, 2566, 2698, 2088, 766, 2548, 2553, 1063, - 2554, 2249, 2567, 2842, 2580, 2597, 2600, 2602, 2603, 2611, - 2610, 2608, 2712, -820, 2621, 2628, 2624, 2622, -1896, 2632, - 2625, -1896, -1896, -1896, 1979, 1551, 1551, 2633, 766, 2634, - 2636, 2797, -695, 2638, 2642, 2639, 3638, 2702, 654, 910, - 1731, 2867, 2661, 2663, 901, 2676, 2682, 2867, 2683, 2684, - 2716, 2717, 2719, 2693, 2694, 2695, 777, 3653, 3654, 2704, - 2705, 2708, 2710, 903, 2720, 2730, 2721, 2724, 2733, 2728, - 2056, 2725, 2732, 2738, 1515, 2737, 2739, 2060, 2767, 904, - 1551, 2747, 2754, 2756, 2755, 2891, 2764, 2748, 2760, 3518, - 2763, 2204, 2770, 3567, 1980, 2773, 89, 2057, 2774, 2775, - 801, 2058, 2776, 1199, 802, -695, 2787, 694, 2788, 2061, - 2914, 555, 2799, 2800, 2898, 555, 555, 555, 2806, 2816, - 2810, 1858, 1799, 1858, 3387, 1895, 2824, 2826, 2830, 2827, - 2845, 3710, 2851, 910, 3266, 2105, 2887, 2840, 901, 2872, - 2889, 2839, 2908, 2906, 555, 2847, 2971, 2912, 2910, 2920, - 3505, 2933, 3507, 2927, 2926, 2953, 3515, 903, 2969, 555, - 555, 555, 555, 555, 555, 555, 555, 555, 555, 3046, - 3036, 3037, 3038, 801, 3042, 3058, 3054, 802, 3053, 3057, - 3062, 2784, 2785, 2786, 3071, 3012, 3073, 2351, 3080, 2329, - 3081, 694, 3106, 3086, 694, 3108, 3117, 3123, 3112, 3124, - 3144, 3166, 3151, 3154, 1799, 3517, 3165, 3160, 3520, 3169, - 3168, 1874, 3207, 556, 556, 3044, 556, 1876, 1877, 3208, - 1895, 3210, 540, 3217, 3219, 3223, 1878, 3224, 3225, 3231, - 3232, 910, 3233, 3237, 3241, 3242, 901, 3243, 3251, 1858, - 3254, 3256, 3067, 3257, 3261, 3069, 3274, -1404, -2131, -1454, - 1551, 3664, -2132, -2133, -2134, 903, 555, 3273, 1579, -2135, - -2136, -2137, 3276, 694, 694, 694, 694, -2138, -2139, -2140, - 3634, -2142, 766, 904, 3275, 1551, 3286, 3284, 1551, -2143, - -2144, -2145, 555, 913, 3668, -2146, -2147, 3289, 541, 556, - 3296, 3290, 3310, 3312, 3314, 3315, -2148, -2149, 3125, 3324, - -2151, 3325, -2152, -2153, -2154, -2155, 826, 1981, 1982, 1983, - -2156, 1984, 1985, 1986, 1987, 1988, 1989, -2157, 2045, -2158, - 2049, -2159, 3332, 3277, -2160, -2161, 2909, -2162, 3148, -1405, - 645, -1407, 3297, 3336, 3318, 3629, 2797, 920, 3328, 3013, - 3376, 542, 3330, 1088, 656, 3338, 1972, 3339, 1946, 3342, - 1973, 1974, 3343, 3350, 1975, 1976, 1977, 3345, 648, 1088, - 3372, 3375, 3175, 1551, 1551, 1551, 1551, 3176, 2698, 3175, - 3384, 3399, 2822, 3401, 3421, 3422, 766, 3426, 3429, 3214, - 3432, 3434, 543, 2204, 3446, 3447, 3454, 3456, 526, 2088, - 3463, 3464, 3469, 1947, 3472, 3473, 3474, 3487, 3489, 3183, - 3488, 3509, 3510, 1799, 3502, 3503, -2163, 3506, 3512, 1858, - 3047, 3519, 1948, 3052, 3524, 3529, 2863, 3536, 3540, 906, - 544, 3547, 913, 555, 1551, 3555, 3250, 3574, 3578, 3580, - 694, 3185, 10, 1949, 654, 3581, 3584, 1950, 3019, 3598, - 3600, 3602, 3608, 3609, 3610, 3614, 904, 3265, 3619, 3621, - 3623, 3626, 3147, 3633, 3627, 706, 3631, 3632, 3642, 1951, - 3661, 3648, 1952, 3639, 1705, 3663, 3649, 3675, 3665, 3670, - 545, 3658, 546, 803, 3681, 3682, 3684, 3687, 3683, 3694, - 1953, 3695, 3088, 3089, 3090, 3091, 3689, 3696, 3733, 547, - 3704, 3706, 3708, 3709, 3743, 548, 556, 3539, 549, 3746, - 3748, 3751, 3754, 3756, 3781, 910, 21, 3769, 3744, 3773, - 901, 556, 3800, 1530, 3774, 658, 3745, 3809, 3153, 3792, - 3814, 556, 3812, 556, 3820, 1858, 556, 3823, -2163, 903, - 3824, 3833, 556, 3840, 556, 3264, 3835, 2288, 2968, 2972, - 2351, 2659, 559, 2183, 1017, 2701, 556, -2163, 2753, 3319, - 3041, 556, -2163, 3698, 3316, 556, 556, 556, 556, 1979, - 556, 556, 1201, 1551, 3679, 3788, 3442, 1088, 3302, 3742, - 1972, 3749, 3782, 1954, 1973, 1974, 766, 1800, 1975, 1976, - 1977, 1955, 3486, 2666, 3740, 2641, 907, 3061, 2937, 3333, - 3747, -2163, 2637, 3023, 3738, 555, 3134, 2902, 1868, 1925, - 2403, 1903, 1956, 555, 1937, 3612, 3561, 910, 2901, 904, - 3702, 3660, 901, 3807, 1959, 3590, 3841, 3845, 3462, 1464, - 1465, 3832, 3846, 910, 3822, 3815, 3753, 3844, 901, 1980, - 3360, 903, 1957, 1024, 3659, 2865, 2595, 3535, 2596, 904, - 904, 3637, 3805, 2874, 3365, 1980, 3806, 903, 2627, 3252, - 2852, 25, 26, 27, 2253, 904, 2778, 1727, 2613, 1551, - 1551, 1551, 1551, 1551, 1551, 1551, 3707, 2623, 913, 1551, - 1551, 2221, 1051, 1577, 1551, 3622, 3508, 1551, 1052, 2252, - 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, - 649, 1772, 1771, 2599, 534, 3115, 3347, 2493, 534, 1040, - 1776, 1466, 1467, 534, 1578, 1026, 555, 2772, 2771, 534, - 534, 555, 1544, 2802, 534, 534, 534, 32, 3448, 534, - 906, 3298, 534, 534, 1916, 1532, 534, 2411, 556, 534, - 534, 762, 1534, 3625, 1538, 1053, 1539, 555, 3624, 3768, - 2522, 3837, 2808, 2616, 1515, 3461, 2506, -2163, 2523, 3209, - 2020, 2818, 2182, 2500, 790, 0, 37, 555, 555, 0, - 2492, 0, 0, 909, 0, 2049, 1468, 1469, 1470, 1471, - 1472, 1473, 0, 694, 1474, 1475, 38, 0, 694, 0, - 1799, 0, 0, 1979, 555, 534, 0, 0, 0, 39, - 534, 534, 534, 534, 534, 0, 3459, 3460, 694, 0, - 42, 3497, 0, 0, 0, 0, 0, 1054, 0, 0, - 556, 0, 0, 0, 0, 656, 43, 1224, 3363, 1642, - 0, 1551, 0, 0, 0, 555, 1044, 0, 0, 1044, - 3019, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 1981, 1982, 1983, 1055, 1984, 1985, 1986, 1987, - 1988, 1989, 0, 1980, 689, -2163, 904, 0, 0, 526, - 0, 1056, 3200, 3201, 3202, 3203, 3204, 3205, 1551, 1551, - 0, 0, 1057, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1551, 0, 1551, 907, 1551, 0, - 1476, 1477, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 556, 1058, 654, 0, 0, 3214, 0, - 0, 0, 0, 0, 906, 694, 0, 0, 0, 0, - 0, 0, 3595, 0, 0, 3599, 1225, 0, 0, 0, - 0, 0, 3558, 1088, 3560, 0, 3175, 0, 0, 0, - 3013, 3176, 0, 0, -2163, -2163, -2163, 706, 0, 0, - 0, 1059, 0, 0, 0, 694, 0, 0, 1060, 0, - 556, 0, 0, 0, 0, 0, 2631, 0, 0, 0, - 0, 0, 0, 3183, 0, 0, 0, 0, 0, 0, - 3184, 0, 0, 3604, 0, 0, 0, 2361, 0, 0, - 0, 0, 3047, 3333, 0, 0, 904, 3471, 0, 3607, - 0, 1061, 0, 3611, 0, 3185, 0, 21, 0, 0, - 1478, 1479, 1551, 0, 0, 0, 0, 3495, 1062, 1551, - 0, 0, 1551, 1551, 0, 0, 0, 0, 0, 0, - 0, 1551, 0, 1551, 1551, 0, 0, 0, 1551, 0, - 0, 0, 0, 0, 0, 0, 3497, 0, 0, 0, + 537, 550, 738, 1043, 61, 1383, 576, 1213, 990, 1279, + 1041, 66, 576, 949, 543, 77, 830, 106, 844, 844, + 1313, 94, 1331, 848, 576, 856, 1514, 60, 856, 1113, + 543, 875, 879, 103, 965, 879, 69, 1892, 576, 576, + 78, 94, 1055, 1881, 98, 542, 2279, 833, 2026, 1864, + 966, 967, 1567, 807, 1385, 794, 1880, 1845, 2381, 951, + 2554, 839, 1243, 2634, 2238, 2636, 969, 2692, 2618, 2081, + 1484, 1488, 2725, 1855, 1773, 2620, 1440, 1674, 3114, 1487, + 87, 1851, 970, 841, 880, 830, 830, 1486, 1930, 3142, + 2765, 2766, 2767, 2682, 2149, 3140, 1779, 3110, 875, 543, + 543, 2818, 51, 879, 576, 879, 879, 879, 767, 1885, + 52, 53, 1446, 1430, 1897, 892, 833, 833, 876, 57, + 58, 62, 1331, 1686, 2173, 2174, 63, 3158, 64, 1957, + 839, 839, 67, 1749, 68, 2718, 3161, 1424, 1752, 70, + 72, 2615, 2681, 2955, 80, 84, 85, 86, 847, 97, + 1051, 100, 841, 841, 101, 102, 1057, 1315, 983, 1319, + 2556, 1323, 872, 2905, 1095, 2779, -703, 3004, 3394, 1116, + 3484, 3009, 3415, 2413, 1137, -1040, -1515, 2406, -2082, 2656, + -1965, 2410, 2299, -707, 2242, 975, -2222, -2222, 3419, 1656, + -2082, 2508, 1062, -1048, -1048, -1454, -1454, 2302, 3579, 2787, + 845, 845, -2073, -1450, -1450, 1666, 3564, -1434, -2090, 2652, + -2213, -2213, -1455, -2073, -1457, -1045, -2231, -2231, -2082, -1045, + -1451, -1451, -1453, -1453, 843, 2795, -2090, -1455, 1137, -1457, + -1007, 2786, -1020, -2208, -2208, 1225, -1035, 843, 843, 1756, + 843, 2782, 2573, 1455, 884, 1836, 2188, 3861, 1753, 1434, + 843, 1434, 3551, 2188, 1137, 2003, 1137, 3343, 2188, 2656, + 2005, 1331, 1895, 2188, 3326, 1498, 1409, 2869, -703, -2233, + -2233, 1896, 1031, 1705, -658, 555, 2830, 2832, 1707, 2835, + 2537, 957, -1965, 1137, 3358, -707, 3266, 1257, 2312, 1847, + 1268, 3901, 987, 2546, -232, 1300, 3730, 1232, 3280, -232, + 1883, 1090, 1271, 3281, 1418, 2403, 1410, 3677, 1418, 2257, + 1715, 2963, 2964, 843, 2261, 1301, 1865, 2258, 3943, 1868, + 1869, 1705, -840, 559, 1418, 1706, 1707, 1055, 2802, 3, + 4, 3255, -1965, 3257, 3480, 3288, 1847, 1781, 962, 3479, + 1856, 962, 1839, 2942, 1717, 2520, -1965, 2753, 2852, 2518, + 1229, -1965, 1682, 3932, 3788, 2043, -1965, 3021, 1715, 1016, + 2087, 1302, 3354, 3919, 1754, 3734, 3162, -1965, 2941, 3290, + 2943, 1096, -1965, 3378, 3853, 2656, 958, 3134, 2774, 3440, + 843, 3515, 3647, 3648, 2305, 2841, 2043, -2207, -2207, 560, + 1651, 1652, 1717, 2626, 556, 2235, 3018, 1940, 3047, 3944, + 3751, 3752, 2521, 2175, -1965, 1116, 3280, 1664, 3706, 3685, + -1292, 3281, 1264, 1899, 577, 1705, 2274, 1095, -1292, 861, + 577, 1829, 1830, 3819, 2003, -1965, 810, 3377, 2004, 2005, + 3909, 107, 577, 2209, 1017, 3340, 1258, 1448, 1705, 3590, + 1919, 2985, 1875, 3288, 1122, 3360, 577, 577, 553, 3022, + 2747, 1847, 1715, 3365, 3017, 1123, 1833, 3409, 2531, 2532, + 2533, 1303, 1848, 2748, -703, 562, 1876, 3410, 3421, 1233, + 1592, 1234, 1879, 3686, 1385, -1965, 3048, 3290, -1965, 3000, + 2225, -707, 108, 3475, -1965, 3477, 1717, 3827, 2226, -1313, + 1411, 1266, 3945, 1755, 3789, 3821, 3909, -1313, 3170, 2986, + 2387, 2275, 1952, 1226, 1782, 2306, 3902, 1287, 1841, 1717, + -860, 1304, 577, 1288, 3341, 1097, 3023, 2900, 2718, 3024, + 2718, 1305, 3933, 862, 1674, 1384, 3516, 3920, -1965, 3355, + 1705, 3517, -212, 1306, 1706, 1707, 1018, 3163, -703, 2947, + 1259, 2333, 3678, 2842, 3643, 1069, 2951, 2952, 2953, 2236, + 2522, 879, -1965, 1857, 2519, -707, 1668, 879, 3854, 2210, + 879, 3649, 3049, 3875, 3914, 1854, 1307, 1715, 576, 811, + 3518, 1898, 2313, 2404, 2084, 3438, 1019, 565, 2211, 566, + 3546, 1227, 1780, 2212, 3790, 3703, 3185, 2921, 3552, 2120, + 2550, 3862, 3540, 2869, 1131, 1032, 2395, 3903, 1028, 3556, + 885, 1717, 3267, 3168, 2653, 1831, 569, 2324, 3856, 3344, + 1419, 1412, 881, 1020, 1419, 1856, 3272, 1832, 2262, 3389, + 1289, 1854, 2213, 1309, 1656, 959, 3904, 3707, 2189, 3154, + 1419, 1842, 3166, 2149, 3176, 2617, 3562, 1005, 1768, 3416, + 3498, -1965, 1920, 2839, 1666, 3665, 2386, 3828, 1310, 1884, + 1647, -1965, 3135, 3946, 1694, 3417, 1960, 1041, 3836, 2299, + 1545, -703, 1959, 1881, 1550, 1021, 3619, 2638, 1963, 1312, + 2388, 2451, -1965, 2695, -1965, -1965, 2050, 3829, -707, 2241, + 2789, 2109, 2259, 809, 2457, 1669, 1669, 2954, 2798, 2476, + 2003, 3580, 2070, 2035, 2004, 2005, 2754, 2884, 2817, 1055, + -703, 2482, -703, -1040, 2684, 2690, -2082, 1670, 1670, 883, + 3114, -1965, -1515, 1661, -1965, -1965, -1965, -707, -2082, -707, + 3571, 1671, 1673, -1454, -1454, 1661, 1331, 2169, 1331, 3110, + -2073, 2510, 3519, 988, 3807, -1434, -2090, 989, 2515, 843, + -1455, -2073, -1457, -1045, 881, 988, -2082, 1886, 3808, 989, + 3334, 557, 1700, 1653, -2090, -1455, 2863, -1457, 1654, 3487, + 1659, 1039, 576, 576, -1035, 1750, 2243, 3486, 3214, 1438, + 1439, 1438, 1439, 2020, 2547, 1235, 1420, 978, 2547, 981, + 1423, 985, 1290, 2779, 2214, 1875, 1087, 3858, 951, 1084, + -1292, 1738, 3543, 3836, 2775, 2776, 94, 3544, 3367, 3368, + 3398, 3461, 1063, 550, 844, 1794, 2568, 1967, 807, 1876, + 537, 1059, 879, 1057, -232, -232, 3310, 3180, 2721, 2117, + 1682, 830, 1651, 1652, 543, 1092, 1092, 3778, 1857, 1682, + 1092, 1115, 2386, 3352, 2997, 543, 1735, 1736, 1737, 1738, + 951, 3384, 2643, 2152, 856, 856, 856, 1664, 1292, 969, + 2607, 3264, 1086, 3418, 2726, 839, 2041, 115, 856, 856, + 2227, 856, 14, 15, -977, 970, 839, 3325, 2729, -1313, + 2516, 2441, 2170, 842, 3702, 879, 3280, 841, 2657, 2608, + 1293, 576, 2359, 2658, 2643, 2470, 951, 887, 841, 2659, + 2471, 2660, 2362, 1551, 3236, 2365, 1854, 3641, 3060, 3642, + 960, 2357, 2329, 1856, 2998, 1856, 953, 2516, 2131, 2132, + 23, 3280, 3353, 1280, 3402, 3720, 1795, 3917, 3721, 3966, + 1236, 3307, 3308, 3309, 3310, 3971, 3128, 1231, 3129, 2853, + 2854, 2855, 2856, 1066, 3327, 2382, 2383, 2384, 1856, 2017, + 2018, 2019, 2020, 2627, 3392, 116, 1552, 3290, 3288, 879, + 3220, 2472, 879, 3222, 1294, 3224, 2722, 1244, 61, 2191, + 3316, 3874, 2329, 3704, 2330, 66, 2417, 2727, 3604, 77, + 2525, 106, 961, 3413, 954, 94, 577, 1694, 3605, 3403, + 3957, 60, 3290, 3027, 1064, 2589, 845, 103, 955, 2460, + 69, 3656, 872, 872, 78, 872, 879, 1380, 98, 3317, + 843, 2481, -977, 2609, 1231, 879, 2763, 110, 2610, 2149, + 3028, 2321, 879, 879, 879, 879, 1402, 1120, 2764, 559, + 3657, 971, 1537, 2912, 2715, 2462, 3414, 1870, 879, 3140, + 1414, 1430, 2509, 1856, 87, 1889, 3817, 949, 2358, 2026, + 2489, 3736, 1222, 1733, 1734, 1735, 1736, 1737, 1738, 1669, + 2450, 1856, 962, 986, 2452, 1534, 51, 2454, 2368, 27, + 28, 29, 1544, 2375, 52, 53, 1092, 1115, 843, 879, + 2752, 1670, 1506, 57, 58, 62, 1638, 3549, 1092, 1092, + 63, 3609, 64, 94, 576, 560, 67, 1881, 68, 2639, + 830, 992, 2640, 70, 72, 807, 3246, 830, 80, 84, + 85, 86, 1386, 97, 543, 100, 2253, 576, 101, 102, + 3806, 543, 3114, 3809, 1561, 2360, 1857, 3410, 1857, 1669, + 2363, 833, 2333, 1004, 1643, 2118, 1797, 34, 833, 1290, + 2197, 3110, 2254, 2768, 2124, 839, 2701, 2644, 2645, 36, + 3563, 1670, 839, 3536, 3658, 1018, 3031, 1958, 3499, 3659, + 3606, 1857, 1537, 3432, 1540, 1671, 3503, 841, 2755, 2198, + 1547, 1102, 38, 2197, 841, 2756, 39, 2611, 1692, 1011, + 577, 577, 1798, 576, 2690, 1012, 1758, 1871, 2612, 2644, + 2645, 1686, 111, 2760, 1854, 1019, 1854, 1872, 2490, 3034, + 951, 3280, 2198, 112, 1024, 2728, 3281, 2729, 2491, 1103, + 41, 1662, 1663, 2015, 2016, 2017, 2018, 2019, 2020, 963, + 1797, 44, 2803, 2514, 1775, 1538, -213, 3940, 2811, 1854, + 2646, 1763, 2791, 2647, 1765, 1006, 1105, 2730, 3288, 45, + 113, 1014, 1785, 1786, 1015, 1792, 1442, 3698, 576, 576, + 1055, 1264, 1029, 3504, 1958, 1482, 1857, 879, 970, 970, + 1023, 970, 1638, 46, 1287, 2879, 1798, 1847, 3907, 2469, + 1288, 2648, 3290, 2473, 1857, 2647, 2475, 874, 1850, 1506, + 1030, -716, 3505, 565, 1021, 1050, 1669, 2956, 2199, 879, + 1843, 2635, 114, 2392, 3681, -716, 1033, 2957, 2201, 577, + -716, 1102, 879, 988, 2571, 1800, 1562, 989, 1670, 1231, + -2204, -2204, 569, 2648, 2649, 1472, 1473, 2956, 3660, 879, + 3469, 2199, 1673, 879, 1854, 1034, 2200, 3263, 1891, 3661, + 1266, 2201, 3470, 1264, 1287, 1035, -784, 1799, 1265, 1103, + 1288, -784, 1854, 1531, 2968, 1969, 2969, -2205, -2205, 1971, + 1137, 3744, 1638, -716, 1137, 1546, 2649, 2693, 1913, 2970, + 2971, 1555, 1137, 3554, 1036, 1559, 1105, 3181, 3038, 1109, + 1801, 1882, 1698, 2034, -716, 2036, 2037, 1289, 2864, 2605, + 1267, 2871, 1701, 1037, 3666, 1907, 2044, 879, 1539, 1800, + 3668, 2045, 988, 1007, 879, 1008, 1693, 1791, 1914, 578, + 1751, 3506, 1951, 1924, 1432, 772, 3507, 1433, 1948, 1757, + 1926, 3508, 1266, 1047, 1927, -784, 1928, 849, 1039, 3039, + 2785, 1067, 3888, 1039, -716, 576, 576, 3889, 576, 1039, + 2229, 891, 891, -716, 2230, 3405, 2149, 3040, 1476, 1477, + 988, 2737, -1434, 2739, 989, 3756, 1974, 1289, 1016, 3757, + 1220, 1221, 1068, 1223, 1801, 3112, 1561, 2202, 1766, -2206, + -2206, 1767, 1267, 94, 1069, -784, 1964, 2704, 2203, 1965, + 3058, 2083, 1070, 1136, 2084, 807, 2003, 1009, 1059, 1010, + 2004, 2005, 3127, 3051, 2006, 2007, 2008, 1916, 2107, 2400, + 2202, 2108, 2401, 1071, 3015, 2464, 1077, 979, 2465, 1109, + 2502, 2203, 1526, 2503, 2901, 2902, 2062, 1506, 1506, 2064, + -2209, -2209, 23, 1506, 2068, 537, 1075, 2071, 1539, 3050, + 1078, 3059, 2075, 1017, 2548, 1557, 1080, 2549, 1092, 543, + 576, 2046, 3137, 2551, 1287, 1645, 2549, 874, 879, 1290, + 1288, 830, 3041, 2743, 830, 1686, 2744, 2749, 1079, 830, + 2750, 3042, 830, -2210, -2210, 543, 1287, 830, 543, 576, + 839, 576, 1288, 543, 3591, 2814, 543, 2431, 2084, 2432, + 3509, 543, 833, 1638, 2887, 833, 2890, 2892, 2893, 1081, + 833, 3510, 841, 833, 2889, 2891, 839, 1082, 833, 839, + -716, 1687, 2888, 1287, 839, 2876, 1083, 839, 2549, 1288, + 118, 1291, 839, 2877, 554, 1292, 2108, 1084, 841, 1290, + 1136, 841, 771, 2003, -2211, -2211, 841, 2004, 2005, 841, + 3592, 2006, 2007, 2008, 841, 1913, 1089, 860, 2526, 3593, + 2527, 873, 2880, 1253, 1973, 2881, 1118, 1293, 1562, 3533, + 2882, 1124, 3637, 2881, 3638, 1121, 3766, 1289, 3930, 1129, + 3877, 1464, 1465, 3594, 1130, 2992, 577, 577, 2993, 559, + 988, 27, 28, 29, 989, 1914, 2528, 1638, 2529, 1289, + 2148, 1317, 94, 1132, 3915, 1292, 3916, 1131, 2110, 3153, + 1379, 2158, 2401, 3169, 2116, 3898, 2465, 2111, 1224, 1387, + 2740, 2112, 2742, 2010, 1228, 2115, 1393, 1395, 1398, 1400, + 3174, 3260, 1915, 3175, 3261, 2822, 1289, 1318, -2212, -2212, + 2185, 1294, 1408, 1239, 3305, 3306, 3307, 3308, 3309, 3310, + 1039, 1245, 1472, 1473, 2169, 560, 1287, -2214, -2214, 34, + 3595, 2114, 1288, 1249, 3182, 1055, 2946, 3183, 1246, 3956, + 2948, 2949, 2950, 3596, 3237, 3433, 1248, 2108, 2108, 3840, + -2215, -2215, 3434, 1501, 1916, 2549, 3464, 3471, 3537, 2108, + 2084, 3538, 3947, 3570, 1254, 2011, 2401, 2245, 39, 879, + 3371, 879, 1250, 3955, 3574, 2281, 3616, 2465, 1251, 2108, + 3671, 1294, 3727, 3672, 1255, 2465, 879, 2269, 3014, 3732, + 3016, 970, 3733, 3335, 3782, 3801, 1262, 3783, 3802, 1506, + 3058, 3841, 41, 1282, 2108, 1638, -716, 2009, 3852, 1290, + 1281, 3733, 1236, 44, 3893, 1284, 2690, 2108, 3133, 3164, + -716, 1126, 1127, 1128, 879, -716, 576, -2216, -2216, 3913, + 2010, 1290, 3733, 577, 577, 3938, 577, 1285, 3939, 1289, + 1843, 576, 1286, 3148, 3953, 1476, 1477, 3802, 2345, 1298, + 2349, 576, 2335, 576, 2339, 2087, 576, 1299, 3388, 3008, + 2238, 1384, 576, 3967, 576, 1261, 1423, 1263, 1290, 874, + 1316, 1321, 3248, -2217, -2217, 1292, 1039, 576, -716, -2218, + -2218, 1039, 576, -2219, -2219, 1320, 576, 576, 576, 576, + 1324, 576, 576, 2320, -2220, -2220, 1325, 1292, 1378, -716, + 1381, 23, 2011, -2221, -2221, -2223, -2223, 1322, 2397, -2224, + -2224, -2225, -2225, 565, 1382, 1050, 1388, 879, 879, 879, + 879, 1402, -2226, -2226, 1390, 879, 3173, -2227, -2227, 1293, + 2366, 3460, -2228, -2228, 1292, -2230, -2230, 1391, 577, 2424, + 1404, 960, 569, 2244, -2232, -2232, -2234, -2234, 1406, -716, + 11, 3597, 1416, 1638, 3598, -785, 2448, 1407, -716, 1415, + -785, 1026, 1422, 1835, 1425, 1638, 2367, 2076, 1426, 2080, + 1901, 1902, 2300, 2301, 1431, 3615, 1862, 559, 14, 15, + 1449, 1294, -835, -835, 1450, 2012, 2013, 2014, 3489, 2015, + 2016, 2017, 2018, 2019, 2020, 1638, 1453, 1887, 3533, -839, + -839, 1290, 1638, 1294, -1501, -838, -838, 1506, 1506, 1506, + 1506, 1506, 1506, 961, 1525, 1506, 1506, 1506, 1506, 1506, + 1506, 1506, 1506, 1506, 1506, 1456, 23, 1512, 2435, 1474, + 1475, 2538, 1476, 1477, -785, 3331, 3332, 2541, 1638, 1527, + 1294, 1535, 1638, 560, 1528, 576, 3885, 3886, 1638, 1541, + 27, 28, 29, 2644, 2645, 3925, 3926, 879, 1542, 1761, + 1762, 1912, 1549, 2373, 1548, 1554, 830, 1292, 1931, 1560, + 1638, 1641, 830, 1642, 1558, 2378, 3363, 576, 1644, -1011, + 543, 3876, 576, -1018, -785, 3878, 543, 3112, 2394, 2394, + 1653, 2557, 2557, 962, 874, 1657, -860, 833, 2416, 2374, + -861, 1667, 1668, 833, -1008, -1009, -1012, -1010, 1678, 1697, + 1699, 839, 1691, 1744, 1746, -716, 1748, 839, 34, 1760, + 1769, 1770, 2012, 2013, 2014, 3219, 2015, 2016, 2017, 2018, + 2019, 2020, 1774, 841, 1783, 1300, 1784, 1265, 1300, 841, + 1267, 1819, 1823, 1834, 3568, 1821, 1852, 1853, 1854, 1686, + 1859, 1860, 1861, 3455, 1874, 1301, 1046, 39, 1301, 1442, + 576, 1878, 1888, 115, 2593, 2468, 1866, 3372, 3373, 576, + 1873, 1894, 1904, 1294, 1905, 27, 28, 29, 1906, 1910, + 3941, 993, 1922, 1918, 3031, 988, 1923, 1932, 1249, 989, + 3032, 41, 1506, 1506, 1935, 1936, 1938, 1942, 1939, 1941, + 1944, 1302, 44, 3033, 1302, 3052, 1945, 994, 1953, 2148, + 1954, 1958, 2058, 1966, 1992, 3053, 951, 1994, 2690, 1995, + 45, 1997, 2000, 2023, 3615, 2063, 2032, 3034, 2031, 3035, + 2039, 565, 2060, 1050, 577, 2042, 2069, 2072, 1775, 2073, + 2074, 2082, 830, 34, 46, 2079, 2085, 1647, 1654, 577, + 963, 2987, 1659, 2086, 576, 36, 543, 568, 874, 577, + 569, 577, 2088, 2091, 577, 2120, 2090, 830, 1137, 2153, + 577, 2269, 577, 833, 891, 995, 3054, 2089, 38, 3615, + 2119, 543, 39, 2154, 3349, 577, 1705, 839, 2162, 3700, + 577, 3631, 2159, 2165, 577, 577, 577, 577, 833, 577, + 577, 1303, 2164, 40, 1303, 2166, 996, 2167, 23, 841, + 2187, 576, 839, 2194, 1506, 2205, 41, 576, 2206, 2208, + 2232, 3036, 2233, 2239, 2251, 2256, 2264, 44, 2252, 2280, + 961, 2289, 2290, 1907, 841, 2277, 2345, 2345, 2345, 2291, + 2292, 2293, 2316, 2294, 2315, 45, 2311, 2319, 2326, 2322, + 997, 1304, 2327, 2328, 1304, 2398, 962, 2402, 3615, 2418, + 2407, 1305, 2414, 2421, 1305, 2420, 3557, 2422, 2436, 46, + 2439, 2442, 2437, 1306, 1704, 2443, 1306, 1705, 2444, 3055, + 2445, 1706, 1707, 874, 2447, 2449, 1638, 2446, 2466, 2453, + 2028, 3037, 2474, 2504, 2003, 2027, 3038, 2511, 2512, 2513, + 2542, 2517, 2523, 2535, 1907, 1136, 1307, 2524, 2003, 1307, + 879, 2540, 2004, 2005, 1715, 2553, 2006, 2007, 2008, 2555, + 1924, -2235, 2560, 1907, 879, 879, 879, 1926, 2561, 2564, + 2562, 1927, 2565, 1928, 2566, 2567, 2569, 576, 2570, 879, + 951, 1974, 879, 2246, 2988, 2249, 1402, 3039, 1717, 2580, + 879, 1055, 2577, 577, 2578, 2585, 1039, 27, 28, 29, + 2266, 1974, 2581, 1309, 2583, 3040, 1309, 2582, 2584, 2586, + 2587, 2588, 2598, 2606, 1907, 1907, 2599, 1907, 2601, 2613, + 2622, 998, 2630, 2623, 2628, 2544, 2655, 2629, 1310, 3112, + 2080, 1310, 999, 2641, 2642, 2672, 2675, 23, 2303, 2677, + 2678, 2683, 2685, -841, 2686, 3633, 537, 2696, 2699, 1312, + 2697, 2700, 1312, 2703, 3056, 2708, 2604, 3057, 2711, 1638, + 543, 2707, 2713, 2709, 1881, 34, 2850, 2714, 2717, 1000, + 2736, 2738, 2745, 2751, 879, 879, 879, 2769, 2757, 2758, + 2770, 2771, 3500, 576, 2784, 1506, 576, -2235, 2772, 2783, + 2790, 839, 576, 1001, 2759, 2788, 2801, 2800, 2804, 2870, + 2808, 2805, 2812, 2819, 39, 2829, -2235, 2837, 577, 2840, + 3041, -2235, 2843, 841, 2846, 1638, 2860, 1687, 2169, 3042, + 2847, 1002, 2935, 2848, 2777, 2148, 2861, 2872, 2849, 2873, + 2878, 2408, 2409, 2411, 2412, 2897, 2886, 2894, 41, 2415, + 2903, 2909, 2314, 2792, 2917, 3630, 2919, 2923, 2920, 44, + -2235, 2932, 951, 1099, 2938, 2933, 2980, 2940, 2982, 1100, + 1506, 1506, 2944, 2965, 3620, 2010, 3622, 45, 3005, 1854, + 3013, 891, 3001, 3046, 3062, 1775, 2960, 3143, 3156, 3160, + 2999, 3171, 2960, 1099, 1442, 951, 27, 28, 29, 1100, + 3019, 46, 2827, 3026, 2828, 3003, 3632, 3020, 2833, 3635, + 2836, 3130, 577, 3131, 3139, 2989, 1726, 3178, 3132, 3144, + 3136, 3151, 3184, 94, 3155, 1506, 3152, 2401, 1101, 2110, + 2984, 3179, 3204, 3206, 3210, 2116, 2269, 3215, 2111, 3780, + 3750, 3225, 2112, 3226, 3229, 3228, 2115, 2011, 3249, 3256, + 3259, 3265, 879, 3271, 3826, 3270, 576, 3273, 1101, 1638, + 576, 576, 576, 3274, 34, 3312, 1907, 1843, 1907, 577, + 1948, 3315, 3313, 3322, 3324, 2706, 3328, 3007, 3329, 3330, + 3336, 2530, 2114, 3337, 3338, 3342, 3346, 3347, 3784, 576, + 2345, 3064, 3348, 3356, 3115, 3359, 2349, 3361, 3379, 3362, + 3366, 3380, 1102, 39, 576, 576, 576, 576, 576, 576, + 576, 576, 576, 576, 3381, -2203, -2204, -2205, -2206, 2991, + 3395, 3385, -2235, -2207, 3399, -2208, -2209, 3406, -2210, 3420, + -2211, 3424, 1102, -2212, -2214, 3382, 2424, 41, 3745, -2215, + 1103, 879, 1275, -2216, 879, 3426, -2217, 3422, 44, -2218, + -2219, -2220, -2221, 1924, 1843, 1638, 1104, -2223, -2224, 1961, + 1926, 1962, 3407, -2225, 1927, -2226, 1928, 1105, -2227, -2228, + 1103, -2229, 1948, 559, -2230, -2231, -2232, -2233, 3435, -2234, + -1451, -1453, 1907, 3383, 3386, 3400, 1104, 3393, 3447, 3425, + 3436, 3429, 3439, 1506, 3441, 577, 3450, 1105, 3453, 576, + -1501, 1106, 3443, 2133, 874, 3449, 879, 879, 879, 879, + 2134, 2135, 3454, 3456, 2136, 2137, 2138, 3459, 1506, 3463, + 3485, 1506, 3280, 2065, 3141, 576, 1039, 3488, 3497, 3512, + 3534, 1106, 1638, -2235, 3223, 2870, 3514, 951, 3539, 560, + 1733, 1734, 1735, 1736, 1737, 1738, 3535, 3542, 3545, 3559, + 1107, 3547, 3165, 1276, 3560, 3167, -1450, 1108, 1534, 3569, + 3567, 3230, 3578, 3577, 3583, 3586, 3587, 2012, 2013, 2014, + 3588, 2015, 2016, 2017, 2018, 2019, 2020, 3601, 3603, 3617, + 1107, 3618, 3106, 3602, 3621, 3624, 3625, 1108, 3627, 3639, + 3634, 3253, 3644, 830, 1049, 2956, 3655, 3651, 3662, 3670, + 1109, 577, 3355, 3693, 577, 3689, 3695, 543, 3696, 3713, + 2076, 3715, 3699, 3723, 3724, 2777, 3717, 3725, 3735, 1110, + 3730, 3737, 3739, 3252, 833, 3742, 1506, 1506, 1506, 1506, + 1109, 3749, 3814, 3743, 3755, 3758, 3764, 1704, 839, 3765, + 1705, 1287, 3319, 3774, 1706, 1707, 2269, 1288, 3747, 1110, + 3748, 3777, 2148, 3779, 3781, 3786, 1300, 3791, 3797, 3798, + 841, 951, 3799, 3800, 3803, 3810, 1843, 3805, 3811, 3812, + 3850, 3863, 1907, 3820, 1638, 564, 1301, 1715, 3860, 3822, + 3824, 3865, 3825, 3868, -2235, 1039, 576, 1506, 3887, 3891, + 3899, 1111, 3871, 879, 3873, 3861, 2066, 3910, 3862, 1630, + 3892, 551, 3918, 3923, 3931, 1751, 551, 3936, 1638, 739, + 3370, 1717, 551, 3934, 3942, 3950, 3949, 3958, 551, 551, + 3959, 1111, 1302, 551, 551, 551, 1277, 565, 551, 1050, + 3968, 551, 551, 3961, 2781, 551, 3963, 3061, 551, 551, + 947, 3369, 2353, 990, 3065, 2734, 1252, 567, 2796, 2797, + 2799, 2248, 1890, 568, 1289, 2761, 569, 2396, 2780, 1065, + 2826, 3430, 3138, 2810, 577, 3795, 2813, 3906, 577, 577, + 577, 3555, 3859, 3866, 2820, 3900, 1844, 3600, 2741, 3258, + 2716, 3159, 3857, 3030, 3864, 2712, 3116, 3855, 1917, 3387, + 1974, 1638, 1907, 2821, 2995, 2689, 2455, 577, 551, 1968, + 3728, 3676, 2994, 551, 551, 551, 551, 551, 2424, 3818, + -2235, 1956, 577, 577, 577, 577, 577, 577, 577, 577, + 577, 577, 1303, 3776, 3427, 1990, 3929, 3705, 3969, -2235, + 3973, 1506, 3974, 3576, -2235, 1638, 3960, 3948, 3870, 3937, + 1704, 3972, 3775, 1705, 2958, 2670, 1072, 1706, 1707, 3650, + 2671, -2235, -2235, -2235, 3753, 3965, 3478, 3444, 2857, 2858, + 2859, 3927, 2967, 576, 14, 15, 951, 3928, 2945, 2702, + 1771, 576, 1304, -2235, 2325, 1630, 2688, 2318, 1816, 1815, + 1715, 2851, 1305, 3823, 2334, 2698, 2337, 1716, 2286, 2348, + 1532, 1533, 1638, 3738, 1306, 2352, 3412, 2354, 3623, 1820, + 2317, 834, 2674, 2545, 1632, 3473, 23, 2076, 3213, 3458, + 2361, 1499, 23, 1088, 1717, 2364, 1290, 2845, 1074, 2369, + 2370, 2371, 2372, 2844, 2376, 2377, 3561, 1307, 2875, 1726, + 2559, 3741, 1483, 2544, 1506, 1506, 1506, 1506, 1506, 1506, + 1506, 1485, 2463, 1039, 1506, 1506, 3740, 1489, 1490, 1506, + 2596, 2574, 1506, 2899, 1491, 1506, 1506, 1506, 1506, 1506, + 1506, 1506, 1506, 1506, 1506, 1630, 2051, 1633, 2691, 3314, + 2597, 1492, 1493, 2911, 976, 1494, 0, 2247, 1308, 2552, + 0, 576, 1292, 0, 1309, 0, 576, 3408, 0, 0, + 0, 1638, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1310, + 1442, 0, 576, 1718, 1311, 2139, 2140, 2141, 0, 2142, + 2143, 2144, 2145, 2146, 2147, 3575, 3002, 0, 0, 0, + 1312, 0, 1719, 576, 576, -2235, 0, 1720, 0, 0, + 0, 0, 3674, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 879, 0, 27, 28, 29, 879, 0, + 1843, 27, 28, 29, 576, 0, 0, 1635, 0, 0, + 0, 1974, 0, 0, 0, 0, 1723, 0, 0, 879, + 1632, 0, 3612, 0, 0, 0, 0, 0, 1294, 0, + 0, 3476, 0, 0, 577, 0, 543, 0, 0, 0, + 0, 0, 1506, 0, 0, 0, 576, 1092, 0, 0, + 1092, 0, 0, 0, 0, 3145, 0, 0, 3150, 0, + 0, 0, 0, 34, 0, 0, 0, 839, 0, 34, + 0, 0, 1726, 0, 0, 3572, 3573, 0, 0, 0, + 0, 36, 0, 1633, 0, 0, -2235, 0, 0, 841, + 0, 1506, 1506, 1733, 1734, 1735, 1736, 1737, 1738, 0, + 0, 0, 39, 0, 38, 1447, 0, 1506, 39, 1506, + 1632, 1506, 0, 0, 0, 0, 0, 0, 0, 0, + 3186, 3187, 3188, 3189, 0, 0, 1630, 0, 0, 0, + 0, 3319, 0, 3682, 0, 0, 41, 0, 879, 0, + 0, 0, 41, 0, 0, 0, 3710, 44, 0, 3714, + 0, 0, 0, 44, 3106, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, + 0, 45, 1507, 1633, 0, 0, 0, 0, 1728, 879, + 0, 2434, 0, 1635, 0, 0, 0, 0, 0, 46, + 0, 551, 0, 0, 0, 46, 0, 551, 0, 0, + 551, 23, 0, 874, 0, 0, 0, 0, 551, 874, + 0, 3452, 0, 0, 1638, 3673, 0, 3675, 3444, 2544, + 1630, 0, 0, 0, 0, 0, 0, 1961, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1506, 0, 0, + 0, 1702, 0, 0, 1506, 739, 0, 1506, 1506, 0, + 0, 0, 0, 1636, 0, 0, 1506, 0, 1506, 1506, + 0, 0, 1637, 1506, 0, 0, 0, 3719, 1447, 0, + 0, 3612, 0, 1635, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3722, 0, 543, 0, 3726, 0, 1729, + 0, 0, -2235, -2235, -2235, 0, 1733, 1734, 1735, 1736, + 1737, 1738, 0, 0, 0, 0, 0, 3357, 879, 0, + 1843, 0, 0, 0, 0, 0, 839, 1638, 0, 0, + 0, 0, 0, 1039, 1039, 0, 3612, 1039, 0, 577, + 0, 1632, 0, 1638, 577, 2046, 0, 0, 841, 0, + 543, 0, 0, 0, 3701, 1447, 0, 0, 1447, 1447, + 27, 28, 29, 1506, 1506, 0, 0, 1506, 1630, 0, + 577, 1506, 0, 0, 1506, 1506, 3869, 879, 3710, 3682, + 576, 839, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 577, 577, 0, 1704, 0, 0, 1705, 0, 0, + 0, 1706, 1707, 841, 1633, 1710, 1711, 1712, 1843, 0, + 0, 551, 551, 551, 0, 3612, 0, 0, 0, 1054, + 2807, 0, 577, 1713, 0, 0, 0, 0, 34, 543, + 0, 0, 0, 0, 1715, 1632, 0, 0, 0, 1636, + 0, 1716, 0, 0, 0, 0, 1506, 1506, 1637, 3911, + 1506, 0, 551, 551, 551, 0, 0, 0, 0, 0, + 839, 0, 551, 0, 577, 0, 0, 39, 1717, 0, + 0, 879, 0, 0, 0, 551, 551, 0, 1039, 0, + 551, 551, 841, 0, 0, 0, 3710, 0, 3867, 0, + 0, 0, 1970, 1972, 551, 551, 551, 0, 1633, 0, + 0, 41, 2269, 0, 1635, 0, 0, 0, 551, 551, + 0, 551, 44, 0, 0, 3954, 1630, 0, 0, 0, + 0, 0, 0, 0, 0, 551, 0, 0, 1630, 1636, + 45, 551, 0, 0, 0, 0, 0, 879, 1637, 0, + 3897, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 879, 0, 0, 1630, 0, + 0, 0, 0, 0, 576, 1630, 3106, 1718, 874, 0, + 0, 0, 879, 1632, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1719, 0, 0, 0, + 0, 1720, 0, 0, 0, 0, 0, 0, 1635, 551, + 0, 1630, 551, 0, 0, 1630, 0, 2001, 2002, 3476, + 0, 1630, 0, 2022, 1721, 1722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 656, 0, 0, 0, 909, 0, 1981, 1982, 1983, 0, - 1984, 1985, 1986, 1987, 1988, 1989, 0, 0, 556, 0, - 0, 907, 0, 694, 0, 1799, 0, 906, 0, 1063, - 0, 0, 0, 0, 1226, 0, 0, 913, 913, 0, - 3497, 913, 3186, 0, 526, 0, 0, 0, 0, 2015, - 904, 0, 0, 0, 656, 0, 0, 0, 0, 0, - -1898, 3187, 0, 3586, 0, 0, 3188, 1551, 1551, 0, - 0, 1551, 0, 0, 3565, 1551, 0, 0, 1551, 1551, - 3752, 694, 3595, 0, 555, 0, 0, 0, 0, 0, - 654, 0, 25, 26, 27, 0, 0, 904, 526, 0, - 1249, 0, 0, 0, 0, 3191, 0, 0, 0, 904, - 0, 0, 1799, 0, 3603, 1658, 0, 0, 1659, 3497, - 1250, 0, 1660, 1661, 0, 0, 0, 0, 1658, 0, - 0, 1659, 3750, 656, 0, 1660, 1661, 0, 0, 904, - 0, 0, 0, 0, 654, 556, 904, 0, 556, 1551, - 1551, 0, 3793, 1551, 2045, 1669, 0, 0, 32, 1980, - -1898, 0, -2163, 0, 1251, 534, 0, 0, 1669, 0, - 534, 0, 0, 534, 694, -2163, 0, 526, 0, 0, - 534, 913, 904, 3779, 0, 0, 904, 1671, 3595, 1930, - 906, 1931, 904, 0, 907, 0, 0, 37, 909, 0, - 1671, 0, 0, 0, 2204, 0, 0, 893, -1898, 534, - 534, 534, 0, 3828, 0, 0, 0, 1006, 0, 0, - 906, 906, -1898, 654, 0, 0, 0, -1898, 0, 0, - 39, 0, -1898, 0, 2961, 694, 906, 0, 0, 0, - 0, 42, 3688, -1898, 0, 0, 0, 0, -1898, 694, - 534, 534, 534, 2529, 0, 0, 555, 43, 0, 0, - 534, 3195, 1252, 0, 694, 0, 2539, 0, 0, 0, - 0, 0, 3013, 534, 534, 0, 0, 0, 534, 534, - -1898, 44, 0, 0, -2163, 556, 0, 0, 0, 556, - 556, 556, 534, 534, 534, 689, 0, -2163, 0, 0, - 3731, -1898, 0, -2163, 0, 0, 534, 534, -2163, 534, - 0, 0, 1253, 0, 0, 3363, -2163, 0, 556, 0, - 1254, -2163, 0, 534, 0, 0, 3301, 0, 0, 534, - 0, 0, 1255, 556, 556, 556, 556, 556, 556, 556, - 556, 556, 556, 0, 0, 0, 21, -2163, 0, -1898, - 0, 0, -1898, 0, 0, 0, 0, 907, -1898, 0, - -2163, 0, 0, 0, 1256, 0, 0, 0, 0, 3196, - 0, 909, -2163, -2163, -2163, 0, 3200, 3201, 3202, 3203, - 3204, 3205, 0, 0, 0, 0, 0, 907, 907, 0, - 0, 0, 0, 3047, 0, 0, 534, 0, 0, 534, - -1898, 1680, 0, 907, 0, 2894, 0, 0, 0, 0, - 0, 0, 0, 0, 1680, 0, 0, 0, 0, 0, - 1258, 0, 0, 0, -1898, 0, 0, -1912, 1354, 0, - 2045, 1396, 0, 0, 0, 0, 0, 906, 0, 534, - 0, 0, 0, 1259, 0, 0, 534, 534, 534, 534, - 1249, 0, 0, 0, 3047, 0, 2492, 0, 0, 0, - 0, 534, 21, 0, 1261, 0, 0, 0, 3836, 0, - 1250, 0, 1658, 0, 0, 1659, 0, 0, 0, 1660, - 1661, 0, 696, 3842, 0, 0, 2260, 0, 904, 0, - 0, 25, 26, 27, 0, 0, 2269, 0, 2272, 0, - 0, 2283, 0, -2163, 0, 0, 0, 2287, 893, 2289, - -1898, 0, 1669, 0, 1251, 2959, -2163, 0, 0, -2163, - -1898, 2296, 0, 2960, 0, 0, 2299, -1912, 0, 0, - 2304, 2305, 2306, 2307, 909, 2311, 2312, 0, 0, -1898, - 0, -1898, -1898, 0, 1671, 0, 0, 1396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 32, 1088, 0, - 0, 3175, 0, 0, 909, 909, 3176, 0, 0, 3179, - 3180, 3181, 0, 0, 0, -1912, 0, 906, -1898, 0, - 909, -1898, -1898, -1898, 2961, 0, 0, 0, 0, -1912, - 0, 0, 0, 0, -1912, 2895, 37, 556, 3183, -1912, - 0, 0, 0, 0, 907, 3184, 0, 25, 26, 27, - -1912, -2163, 1252, 0, 0, -1912, 0, 0, 1687, 1688, - 1689, 1690, 1691, 1692, -2163, 0, 0, 0, 0, 39, - 3185, 1687, 1688, 1689, 1690, 1691, 1692, 0, 0, 1006, - 42, -2163, 0, 0, 0, 0, 0, -1912, 0, 762, - 0, 534, 534, 0, 534, 0, 43, 0, 0, 0, - -2163, 0, 1253, 534, 534, -2163, 0, 0, -1912, 534, - 1254, 0, 0, 32, 0, 904, 0, 0, 0, 0, - 44, 0, 1255, 0, 0, 2962, 0, 0, 0, 0, - 0, 906, 534, 0, 689, 0, 0, 0, 0, 534, - 1006, 1396, 893, 0, -2163, 0, 0, 0, 0, 534, - 0, 0, 37, 0, 1256, 0, -1912, 0, 0, -1912, - 0, 0, 0, 0, 0, -1912, 0, 3186, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 906, 0, - 0, 0, 0, 0, 907, 39, 3187, 0, 0, 0, - 906, 3188, 0, 0, 0, 0, 42, 534, 1680, 1354, - 0, 0, 0, 0, 0, 0, 0, -1912, 0, 3341, - 1258, 0, 43, 0, -2163, -2163, 0, 2492, 0, 0, - 906, 909, 0, 0, 0, 0, 0, 906, 0, 0, - 3191, -1912, 0, 1259, 0, 0, 44, 0, 0, 0, - 0, 0, 1006, 1006, 534, 0, 0, 534, 0, 904, - 2896, 0, 0, 0, 1261, 0, 2963, 0, 0, 2964, - 0, 534, 534, 906, 762, 0, 0, 906, 1088, 534, - -2163, 1972, 0, 906, 0, 1973, 1974, 0, 0, 1975, - 1976, 1977, 0, 0, 1980, 0, 0, 0, 0, 696, - 0, 0, 0, 0, 0, 0, 1088, 3135, 907, 1972, - -2163, 534, 534, 1973, 1974, 0, 0, 1975, 1976, 1977, - 0, 0, 0, 0, 534, 893, 0, -1912, 1930, 0, - 556, 0, 904, 0, 0, 556, 0, -1912, 0, 0, - 0, 534, 0, 0, 0, 534, 0, 0, 0, 534, - 0, 0, 0, 0, 0, 907, -1912, 904, -1912, -1912, - 0, 556, 0, 0, 0, 0, 0, 907, 0, 0, - 0, 909, 0, 0, 3171, 3172, 3173, 3174, 1810, 0, - 0, 556, 556, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -1912, 3195, 907, -1912, -1912, - -1912, 0, 0, 0, 907, 0, 0, 0, 556, 0, - 0, 0, 0, 3714, 904, 0, 0, 0, -2163, 0, - 0, 0, 0, 0, 0, 1687, 1688, 1689, 1690, 1691, - 1692, 0, 0, 0, 0, 0, 1396, 0, 0, 21, - 907, 0, 0, 0, 907, 1396, 0, 0, 0, 556, - 907, 1658, 0, 0, 1659, 0, 0, 0, 1660, 1661, - 1464, 1465, -2163, -2163, -2163, 0, 0, 0, 0, 1396, + 1723, 0, 739, 1630, 0, 1369, 1633, 0, 0, 0, + 0, 0, 0, 0, 0, 1136, 551, 551, 2003, 0, + 0, 0, 2004, 2005, 0, 551, 2006, 2007, 2008, 0, + 0, 0, 551, 551, 551, 551, 551, 0, 0, 1724, + 0, 0, 1725, 0, 2914, 0, 0, 3145, 551, 0, + 551, 0, 3585, 0, 0, 0, 1726, 0, 0, 1727, + 1369, 0, 0, 0, 3010, 3011, 0, 0, 0, 0, + 0, 0, 0, 3610, 1054, 0, 0, 0, 0, 0, + 0, 3411, 0, 2125, 947, 0, 551, 551, 0, 551, + 0, 1632, 3063, 0, 0, 2155, 0, 2156, 551, 551, + 0, 23, 0, 1632, 551, 0, 1635, 3117, 3118, 3119, + 3120, 3121, 3122, 3123, 3124, 3125, 3126, 0, 1099, 0, + 1636, 0, 0, 2171, 1100, 0, 0, 551, 0, 1637, + 0, 0, 0, 1632, 551, 0, 1369, 1622, 0, 0, + 1632, 0, 0, 0, 551, 0, 0, 1099, 0, 0, + 0, 0, 0, 1100, 1633, 0, 1136, 0, 577, 2003, + 0, 0, 1728, 2004, 2005, 0, 1633, 2006, 2007, 2008, + 0, 0, 0, 0, 0, 0, 1632, 0, 0, 0, + 1632, 1704, 0, 1101, 1705, 2915, 1632, 0, 1706, 1707, + 0, 0, 3680, 551, 0, 739, 1633, 0, 0, 0, + 0, 0, 0, 1633, 0, 0, 0, 0, 1632, 0, + 0, 0, 1101, 0, 1636, 0, 0, 0, 0, 0, + 0, 1715, 0, 1637, 0, 0, 0, 0, -2235, 0, + 0, 2298, 2298, 3718, 0, 2010, 0, 0, 0, 1633, + 0, 551, 0, 1633, 551, 0, 0, 0, 0, 1633, + 27, 28, 29, 0, 1635, 1717, 0, 1102, 551, 551, + 0, 947, 0, 0, 0, 0, 1635, 551, 0, 0, + 0, 1633, 0, 1729, 0, 0, 1730, 1731, 1732, 0, + 1733, 1734, 1735, 1736, 1737, 1738, 1102, 0, 0, 0, + 0, 1447, 0, 0, 0, 1103, 1635, 0, 0, 551, + 551, 1447, 0, 1635, 1447, 0, 0, 2011, 0, 0, + 0, 1104, 551, 1622, 0, 0, 0, 0, 34, 1630, + 0, 0, 1105, 2614, 1103, 0, 0, 0, 0, 551, + 0, 0, 0, 551, 0, 0, 0, 0, 551, 1635, + 1104, 0, 577, 1635, 0, 0, 1369, 0, 0, 1635, + 0, 1105, 1636, 0, -2235, 1369, 1106, 39, 0, 0, + 0, 1637, 3804, 0, 0, 0, 0, 0, 0, 0, + 0, 1635, 0, -2235, 0, 0, 2010, 0, -2235, 1369, + 0, 0, 0, 0, 0, 1106, 0, 0, 0, 3350, + 0, 41, 0, 0, 0, 551, 0, 551, 1447, 0, + 0, 0, 44, 1622, 551, 1107, 0, 1278, 0, 0, + 0, 0, 1108, 0, 0, 0, 0, -2235, 551, 739, + 45, 3848, 0, 0, 0, 0, 0, 0, 551, 739, + 0, 0, 0, 551, 1107, 551, 551, 0, 551, 551, + 0, 1108, 0, 0, 46, 1300, 1054, 0, 2011, 0, + 0, 0, 1630, 0, 0, 1109, 0, 0, 874, 0, + 0, 0, 0, 739, 0, 1301, 551, 0, 0, 0, + 0, 0, 0, 1726, 1110, 0, 0, 2483, 2484, 2485, + 2486, 2487, 2488, 0, 1109, 2492, 2493, 2494, 2495, 2496, + 2497, 2498, 2499, 2500, 2501, 3276, 3277, 3278, 3279, 0, + 1636, 0, 0, 1110, 0, 0, 0, 0, 1630, 1637, + 0, 1302, 1636, 0, 0, 3145, 0, 2563, 0, 0, + 0, 1637, 0, 0, 1632, 0, 0, 2012, 2013, 2014, + 0, 2015, 2016, 2017, 2018, 2019, 2020, 0, 551, 0, + 551, 551, 1636, 0, 0, 0, 1111, 0, 551, 1636, + 0, 1637, 0, 0, 0, 0, 0, 0, 1637, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, + 0, 551, 0, 0, 0, 1111, 0, 0, 0, -2235, + 0, 3145, 0, 3054, 0, 1636, 0, 1633, 0, 1636, + 0, 0, 0, 0, 1637, 1636, 0, 0, 1637, 3964, + 0, 0, 0, 0, 1637, 0, 0, 0, 0, 0, + 0, 1303, 0, 0, 0, 0, 3970, 1636, 0, 0, + 0, 0, 0, 0, 1622, 0, 1637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 0, 534, 0, 909, 0, 0, 893, 534, - 0, 1669, 0, 0, 1979, 0, 0, 0, 1670, 0, - 534, 0, 0, 2727, 3196, 0, 0, 3197, 3198, 3199, - 0, 3200, 3201, 3202, 3203, 3204, 3205, 0, 893, 893, - 0, 0, 1979, 1671, 0, 0, 0, 0, 0, 0, - 0, 534, 909, 0, 893, 0, 534, 0, 0, 0, - 0, 0, 1466, 1467, 909, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 904, 1088, 0, 0, - 3175, 0, 0, 0, 1980, 3176, 0, 534, 1354, 0, - 534, 0, 534, 534, 909, 534, 534, 0, 0, 906, - 0, 909, 1006, 0, 25, 26, 27, 0, 0, 0, - 904, 0, 1980, 0, 0, 0, 0, 3183, 0, 1354, - 0, 0, 534, 0, -2163, 0, 0, 1468, 1469, 1470, - 1471, 1472, 1473, 0, 0, 1474, 1475, 909, 0, 0, - 1672, 909, 0, 0, 0, 0, 0, 909, 0, 3185, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1673, - 0, 0, 0, 0, 1674, 0, 534, 0, 534, 534, - 32, 0, 0, 0, 0, 0, 534, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 904, 0, - 3377, 3378, 3379, 3380, 3381, 3382, 3383, 534, 0, 534, - 3388, 3389, 0, 1677, 0, 3398, 0, 0, 3400, 37, - 0, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, - 3416, 0, 0, 0, 534, 1088, 0, 0, 1972, 534, - 0, 0, 1973, 1974, 0, 0, 1975, 1976, 1977, 0, - 0, 0, 39, 0, 1354, 0, -2163, 0, 0, 0, - 0, 1476, 1477, 42, 3644, 893, 0, 1680, 0, 0, - 0, 0, 0, 0, 1354, -2163, 907, 534, 0, 43, - -2163, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 904, 0, 0, 0, 906, 0, 556, 0, - 0, 0, 0, 44, 0, 2917, 2918, 1981, 1982, 1983, - 1396, 1984, 1985, 1986, 1987, 1988, 1989, 689, 0, -2163, - 0, 0, 0, 0, 0, 0, 534, 0, 534, 0, - 534, 0, 0, 2970, 0, 1981, 1982, 1983, 0, 1984, - 1985, 1986, 1987, 1988, 1989, 534, 534, 0, 3024, 3025, - 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1682, - 0, 0, 0, 1980, 0, 0, 0, 0, 0, 0, - 0, 1478, 1479, 534, 0, 534, 0, 0, 0, 0, - 904, 1520, 0, 0, 0, 0, 0, 0, 0, 534, - 534, 1480, 0, 0, 0, 893, 0, 0, 0, 0, - 534, 534, 534, 534, 1354, 534, 1354, 0, 0, 0, - 0, 534, 0, 534, 0, 3549, 0, 3552, 0, 3554, - 906, 0, 0, 0, 534, 534, 0, 0, 0, 534, - 534, 0, 0, 0, 534, 534, 534, 534, 0, 534, - 534, 1979, 1520, 909, 0, 0, 0, 0, 1396, 0, - 0, 0, 0, 907, 0, 0, 0, 0, 0, 0, - 556, 534, 534, 534, 534, -2163, 0, 1683, 534, 0, - -2163, -2163, -2163, 0, 1687, 1688, 1689, 1690, 1691, 1692, - 0, 0, 534, 0, 0, 0, 0, 1658, 1396, 0, - 1659, 0, 0, 906, 1660, 1661, 0, 0, 1664, 1665, - 1666, 0, 0, 0, 0, 0, 0, 0, 0, 893, - 0, 1980, 0, 0, 0, 1656, 0, 0, 906, 0, - 0, 0, 0, 1354, 0, 0, 0, 1669, 0, 0, - 1396, 0, 0, 0, 1670, 0, 0, 0, 0, 1006, - 0, 0, 1520, 0, 1520, 1520, 0, 0, 0, 0, - 3643, 0, 0, 3646, 3647, 21, 893, 0, 0, 1671, - 0, 0, 3651, 0, 0, 0, 0, 0, 893, 3657, - 0, 0, 0, -2163, 0, 906, 0, 0, 0, 0, - 3200, 3201, 3202, 3203, 3204, 3205, 0, 907, 0, 0, - 0, 0, 0, 0, 0, 0, 1658, 0, 893, 1659, - 0, 0, 3245, 1660, 1661, 893, 0, 534, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1520, 534, - 1088, 1520, 1520, 1972, 0, 0, 0, 1973, 1974, 0, - 909, 1975, 1976, 1977, 0, 0, 1669, 0, 0, 534, - 0, 893, 0, -2163, 534, 893, 0, 1006, 0, 1396, - 0, 893, 0, 0, 904, 0, 1672, 0, 3720, 3721, - 907, 0, 3722, 0, 0, 0, 3725, 0, 1671, 3728, - 3729, 0, 0, 0, 0, 1673, 0, 0, 0, 0, - 1674, 0, 0, 0, 0, 907, 0, 0, 3559, 534, - 0, 0, 0, 534, 0, 0, 0, 0, 534, 0, - 25, 26, 27, -2163, -2163, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 906, 0, 1677, - 0, 0, 0, 0, 1981, 1982, 1983, 0, 1984, 1985, - 1986, 1987, 1988, 1989, 2831, 0, 0, 534, 0, 0, - 3776, 3777, 907, 0, 3778, 1658, 0, 0, 1659, 0, - 0, 906, 1660, 1661, 0, 0, 904, 0, 0, -2163, - 0, 1354, 0, 0, 909, -2163, 32, 0, 0, 1051, - 0, 0, 904, 1680, 0, 1052, 0, 0, 0, 0, - 0, 0, 534, 0, -2163, 1669, 0, 0, 0, -2163, - 0, 0, -2163, 762, 0, 0, 0, 0, 0, 534, - 0, 0, 0, 0, 0, 37, 0, 0, 1902, 0, - 0, 0, 0, 0, 0, 0, 0, 1671, 0, 1911, - 0, 1912, 0, 0, 0, 0, 0, 0, -2163, 906, - 0, 1919, 1053, 0, 0, 0, 1979, 909, 39, 534, - 0, 0, 0, 0, 0, 534, 0, 0, 1920, 42, + 1136, 0, 1630, 2003, 0, 0, 0, 2004, 2005, 0, + 0, 2006, 2007, 2008, 0, 0, 0, 1632, 0, 0, + 0, 1304, 2602, 2603, 0, 0, 0, 2637, 2012, 2013, + 2014, 1305, 2015, 2016, 2017, 2018, 2019, 2020, 0, 0, + 551, 1136, 0, 1306, 3280, 0, 0, 1635, 0, 3281, + -2235, 551, -2235, -2235, -2235, 0, 0, 1733, 1734, 1735, + 1736, 1737, 1738, 0, 0, 0, 739, 0, 2694, 2694, + 0, 1136, 0, 1632, 3280, 3558, 1307, 0, 1622, 3281, + 1633, 3288, 0, 1977, 0, 0, 0, 739, 3289, 0, + 551, 0, 0, 0, 0, 0, 3565, 3566, 1630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 909, 0, 0, 43, 0, 0, 0, 0, - 0, 1354, 1354, 1354, 0, 1682, 0, 0, 0, 1939, - 1941, 0, 1680, 2834, 907, 1088, 0, 0, 1972, 44, - 0, 0, 1973, 1974, 0, 0, -2163, -2163, -2163, 0, - 0, 0, 0, 689, 1054, 0, 1980, 0, 0, 0, - 0, 0, 0, 0, -2163, 1396, 3445, 0, 907, 909, - 0, 0, 0, 906, 0, 534, 0, 0, 0, 0, - 0, 534, 0, -2163, 0, 0, 3452, 3453, -2163, 0, - 0, 0, 1055, 534, 534, 534, 534, 893, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 534, 1056, 534, - 0, 0, 534, 3475, 0, 0, 0, 534, 0, 1057, - 0, 0, 0, 0, 0, 0, 0, -2163, 0, 0, - 534, 0, 0, 1683, -2163, 0, 1684, 1685, 1686, 0, - 1687, 1688, 1689, 1690, 1691, 1692, 907, 534, 0, 0, - 0, 1058, 0, 1006, 0, 0, 0, 0, 0, 1354, - 0, -45, 0, 0, 0, 534, 534, 0, 534, 0, - 0, 906, 0, 2034, 0, 0, 0, 0, 0, 0, - 0, 1680, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, 3, 4, 1059, 0, - 0, 0, 0, 0, 0, 1060, 0, 0, 0, 0, - 5, 909, 0, 0, 0, 6, 0, 534, 0, 0, - 1088, 0, 0, 3175, 7, 534, 534, 534, 3176, 0, - 0, 0, 0, 0, 534, 0, 8, 534, 0, 0, - 907, 0, -2163, 534, 0, 909, 0, 9, 1061, 1687, - 1688, 1689, 1690, 1691, 1692, 0, 0, 0, 534, 10, - 3183, 11, 0, 0, 0, 1062, 0, -2163, 0, 1981, - 1982, 1983, 12, 1984, 1985, 1986, 1987, 1988, 1989, 0, - 0, 2233, 2233, -2163, 893, 0, 13, 0, 14, 0, - 0, 0, 3185, 0, 0, 0, 0, 15, 0, 0, - 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 18, 19, 0, 0, 0, - 0, 1980, 0, 909, 0, 0, 0, 0, 0, 20, - 762, 762, 0, 21, 0, 0, 1063, 762, 907, 0, - 1520, 2035, 0, 0, 0, 0, 0, 0, 534, 0, - 1520, 0, 0, 1520, 534, 0, 0, 0, 3548, 0, - 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, - 534, 0, 0, 0, 534, 0, 0, 23, 534, 534, - 534, 0, 0, 0, 534, 534, 534, 0, 534, -2163, - 0, -2163, 0, 0, 0, 0, 0, 0, 1687, 1688, - 1689, 1690, 1691, 1692, 24, 0, 0, 534, -2163, 534, - 0, 0, 0, -2163, 0, 1354, 0, 909, 3016, 1354, - 0, 1354, 534, 534, 534, 534, 534, 534, 534, 534, - 534, 534, 0, 0, 0, 2386, 2388, 0, 0, 0, - 0, 0, 0, 0, 0, 906, 0, 0, 0, 0, - 534, 0, -2163, 0, 534, 0, 0, 534, 0, 0, - 0, 1520, 0, 0, 0, 0, 0, 534, 0, 0, - 0, 0, 0, 3734, 0, 0, 0, 0, 25, 26, - 27, 0, 0, 534, 0, 1658, 28, 0, 1659, 29, - 0, 893, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, - 0, 0, 534, 0, 0, 0, 1980, 0, 0, 0, - 0, 0, 0, 0, 1667, 909, 893, 0, 0, 534, - 0, 30, 0, 0, 0, 1669, 534, 534, 534, 534, - 31, 0, 1670, 0, -2163, -2163, -2163, 0, 1984, 1985, - 1986, 1987, 1988, 1989, 32, 534, 534, 906, 0, 0, - 0, 33, 0, 0, 0, 0, 34, 1671, 0, 0, - 0, 534, 0, 906, 0, 0, 0, 35, 0, 1520, - 0, 0, 0, 893, 0, 0, 0, 0, 0, 36, - 0, 0, 0, 37, 0, 0, 1396, 0, 0, 0, - 0, 534, 0, 0, 1088, 0, 0, 1972, 0, 0, - 0, 1973, 1974, 38, 0, 1975, 1976, 1977, -2163, 535, - 0, 0, 907, 535, 0, 0, 39, 0, 535, 40, - 0, 0, 41, 3645, 535, 535, 0, 42, 0, 535, - 535, 535, 0, 0, 535, 0, 0, 535, 535, 0, - 0, 535, 534, 43, 535, 535, 534, 0, 0, 0, - 0, 0, 534, 0, 1672, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 534, 44, 0, 0, - 0, 0, 534, 1673, 0, 0, 0, 0, 1674, 0, - 0, 45, 0, 0, -45, 534, 534, 0, 0, 0, - 0, 0, 0, 534, 0, 0, 2562, 0, 0, 0, - 535, 1675, 1676, 0, 0, 535, 535, 535, 535, 535, - 534, 0, 0, 0, 907, 893, -2163, 1677, 0, 0, - 0, 0, 0, 3200, 3201, 3202, 3203, 3204, 3205, 0, - 907, 0, 0, 0, 0, 0, 0, 2619, 2619, 1088, - 0, 0, 1972, 0, 0, 0, 1973, 1974, 0, 3016, - 1975, 1976, 1977, 0, 1678, 0, 0, 1679, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3726, 0, - 0, 1680, 0, 0, 1681, 0, 0, 1464, 1465, 0, - 0, 0, 0, 0, 1658, 0, 0, 1659, 534, 909, - 0, 1660, 1661, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, - 1979, 0, 0, 0, 0, 560, 0, 534, 0, 0, - 0, 0, 0, 1006, 1669, 0, 0, 893, 0, 1657, - 0, -2163, 0, 0, 1658, 0, 0, 1659, 0, 0, - 0, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, 0, - 0, 0, 534, 0, 0, 0, 1671, 0, 534, 1466, - 1467, 0, 1396, 1667, 0, 0, 534, 0, 1668, 0, - 0, 0, 561, 1682, 1669, 0, 0, 0, 0, 0, - 1980, 1670, 0, 0, 0, 0, 0, 0, 562, 0, - 0, 909, 0, 534, 0, 2741, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1671, 909, 0, 0, - 762, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 893, 2835, 0, 1468, 1469, 1470, 1471, 1472, 1473, - 0, 534, 1474, 1475, 0, 0, 0, 0, 563, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 564, 0, - 0, 0, 0, -2163, 0, 1979, 0, 0, 0, 0, - 565, 0, 0, 0, 0, 566, 0, 0, 0, 534, - 0, 0, -2163, 0, 534, 0, 0, -2163, 0, 0, - 0, 1683, 0, 0, 1684, 1685, 1686, 0, 1687, 1688, - 1689, 1690, 1691, 1692, 0, 0, 567, 0, 0, 0, - 534, 1965, 0, 1672, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -2163, 0, 0, 3016, - 534, 534, 1673, 0, 0, 1980, 0, 1674, 0, 0, - 0, 0, 0, 0, 0, 762, 534, 0, 0, 0, - 568, 534, 0, 534, 569, 0, 0, 534, 1476, 1477, - 1675, 1676, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 0, 0, 0, 0, 1677, 0, 0, 0, - 1680, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, - 0, 0, 534, 1981, 1982, 1983, 0, 1984, 1985, 1986, - 1987, 1988, 1989, 1678, 0, 0, 1679, 0, 0, 0, - 0, 0, 0, 570, 762, 762, 0, 0, 0, 0, - 1680, 0, 0, 1681, 0, 0, 0, 0, 0, 571, - 572, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 535, 0, 0, 0, 0, 535, 0, 0, 535, 0, - 0, 0, 0, 0, 0, 535, 0, 0, 0, 0, - 0, 0, 0, 0, 573, 0, 0, 574, 1478, 1479, - 0, 534, -2163, 0, 0, 0, 575, 0, 534, 576, - 1354, 0, 895, 0, 535, 535, 535, 0, 0, 0, - 1520, 0, 1008, 0, 0, 0, 0, 0, 0, 577, + 0, 3288, 0, 0, 0, 3290, 0, 0, -2235, 0, + 0, 0, 0, 1369, 0, 0, 0, 3589, 0, 0, + 1978, 0, 0, 1309, 559, 0, 1633, 551, 0, 551, + 0, 551, 0, 0, 0, 3290, 0, 0, 0, 0, + 0, 1979, 0, 0, 0, 0, 551, 551, 1310, 0, + 0, -1501, 0, 3490, 3491, 3492, 3493, 3494, 3495, 3496, + 0, 0, 1980, 3501, 3502, 1630, 1981, 0, 3511, 1312, + 1635, 3513, 0, 0, 3520, 3521, 3522, 3523, 3524, 3525, + 3526, 3527, 3528, 3529, 551, 0, 551, 0, 1982, 0, + 560, 1983, 0, 0, 0, 0, 0, 1632, 0, 0, + 551, 551, 0, 3654, 3291, 0, 1622, 0, 0, 1984, + -2235, 551, 551, 551, 551, 739, 551, 739, 0, 0, + 0, 0, 551, 3292, 551, 0, 1635, 0, 3293, 0, + 0, 0, 0, 0, -2235, 0, 551, 551, 0, 0, + 0, 551, 551, 0, 0, 561, 551, 551, 551, 551, + 0, 551, 551, -2235, 0, 0, 0, 0, -2235, 0, + 1633, 1369, 0, 0, 0, 0, 562, 3296, 551, 0, + 0, 0, 0, 0, 0, 0, 0, 551, 551, 551, + 551, 551, 2011, 1636, 0, 551, 0, 0, 563, 0, + 0, 0, 1637, 1632, 0, 0, 0, -2235, 0, 551, + 0, 0, 0, 0, 1985, 1369, 0, 1630, 0, 0, + 0, 0, 1986, 0, 0, 0, 551, 0, 0, 0, + 0, 739, 0, 2011, 0, 0, 564, 0, 1369, 0, + 0, 0, 0, -212, 1987, 2883, 2885, 1054, 0, 0, + 0, 1630, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2011, 1622, 0, 1633, 0, 0, 0, + 1635, 0, 0, 0, 0, 1988, 1622, 0, 0, 0, + 1632, 0, 0, 0, 0, 0, 0, 0, 565, 0, + 566, 0, 0, 0, 0, 0, 3664, 0, 3667, 0, + 3669, 0, 0, 0, 0, 0, 1622, 0, 567, 0, + 0, 0, 0, 1622, 568, 551, 0, 569, 0, 0, + 0, 0, 0, 0, 0, 1704, 1636, 551, 1705, 0, + 0, 0, 1706, 1707, 1630, 1637, 0, 0, 0, 3300, + 0, 0, 0, 1633, 0, 0, 0, 551, 0, 1622, + 2925, 2926, 551, 1622, 0, 0, 0, 1369, 0, 1622, + 0, 551, 551, 0, 0, 1715, 1635, 0, 0, -2235, + 0, 0, -2235, 0, 0, 0, 0, 88, 1630, 0, + 0, 1622, 1636, 0, 0, 0, 0, 0, 0, 0, + 0, 1637, 0, 3851, 0, 0, 0, 88, 0, 1717, + 832, 0, 0, 0, 0, 0, -1967, 0, 0, 0, + 0, 0, 2012, 2013, 2014, 88, 2015, 2016, 2017, 2018, + 2019, 2020, 1632, 0, 950, 0, 0, 0, 0, 0, + 551, 1447, 0, 3759, 551, 1630, 3762, 3763, 0, 551, + 0, 0, 0, 1635, 0, 3767, 0, 0, 0, 0, + 3301, 0, 3773, -2235, -2235, -2235, 1632, 3305, 3306, 3307, + 3308, 3309, 3310, 0, 0, 0, 0, 2924, 0, 832, + 832, 968, 0, 0, 0, 0, 0, 0, 0, 551, + -2235, 0, 88, 0, 0, 1633, 0, 3305, 3306, 3307, + 3308, 3309, 3310, 0, 0, 0, 0, 0, -2235, 0, + 0, 0, 0, 739, 0, 0, 0, 0, -1967, 0, + 0, 0, 0, 0, 0, 0, 1636, -2235, 0, 1633, + 0, 0, -2235, 0, 551, 1637, 0, 0, 0, 0, + 0, 0, 0, 0, 1630, 947, 0, 0, 0, 1632, + 0, 551, 3837, 3838, 0, 0, 3839, 0, 0, 0, + 3842, 0, 0, 3845, 3846, 0, 0, 0, -1967, 0, + 0, -2235, 3221, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1967, 3177, 0, 0, 0, -1967, 0, 0, + 0, 551, -1967, 1632, 0, 1635, 0, 551, 0, 0, + 0, 0, 0, -1967, 0, 0, 0, 0, -1967, 0, + 0, 0, 1633, 551, 0, 0, 0, 0, 0, 0, + 0, 0, 1636, 739, 739, 739, 0, 1726, 0, 1635, + 0, 1637, 0, 0, 0, 3894, 3895, 0, 0, 3896, + -1967, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1632, 0, 0, 0, 0, 0, 1633, 0, 0, 0, + 0, -1967, 0, 0, 0, 0, 0, 0, 1369, 1704, + 0, 0, 1705, 0, 0, 0, 1706, 1707, 0, 0, + 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, + 551, 0, 0, 0, 0, 0, 0, 0, 0, 1636, + 0, 0, 0, 551, 551, 551, 551, 1622, 1637, 1715, + 0, -1967, 1635, 1633, -1967, 0, -2235, 551, 0, 551, + -1967, 0, 551, 0, 0, 0, 551, 0, 739, 0, + 551, 0, 0, -2235, 0, 0, 551, 0, 0, 0, + 0, 0, 1054, 1717, 0, 1447, 0, 0, 739, 1632, + 1447, 0, 0, 0, 551, 551, 1635, 551, 0, 0, + 0, 0, 0, 0, -1967, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3351, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -1967, 0, + 0, 0, 0, 0, 0, 0, 0, 1970, 1972, 0, + 0, 0, 0, 0, 0, 0, 551, 0, 0, 0, + 0, 2927, 1633, 1635, 551, 551, 551, 0, 0, 0, + 0, 0, 0, 551, 0, 0, 551, 1630, 0, 0, + 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, + 1622, 1636, -2235, 0, -2235, 0, 0, 0, 881, 0, + 1637, 1733, 1734, 1735, 1736, 1737, 1738, 0, 0, 0, + 0, -2235, 0, 0, 0, 551, -2235, 0, 0, 0, + 0, 0, 0, 0, 0, 1636, 0, -1967, 0, 0, + 0, 0, 0, 0, 1637, 0, 0, -1967, 0, 0, + 0, 0, 0, 0, 0, 0, 1622, 0, 0, 0, + 0, 0, 0, 0, 0, -2235, 0, 0, -1967, 0, + -1967, -1967, 1635, 0, 0, 0, 0, 0, 0, 0, + 0, 3431, 0, 0, 0, 0, 0, 0, 0, 0, + 1630, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 947, 947, 88, 0, 1630, -1967, 0, 947, + -1967, -1967, -1967, 0, 0, 0, 0, 0, 1636, 0, + 551, 1726, 0, 0, 0, 0, 551, 1637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 762, 578, 0, 762, 0, 0, 534, 0, - 579, 0, 1682, 0, 0, 535, 535, 535, 0, 0, - 580, 0, 0, 0, 0, 535, 581, 0, 1981, 1982, - 1983, 0, 1984, 1985, 1986, 1987, 1988, 1989, 535, 535, - 0, 0, 0, 535, 535, 0, 534, 0, 0, 0, - 0, 0, 0, 0, 582, 0, 0, 535, 535, 535, + 0, 0, 551, 0, 0, 0, 551, 0, 0, 0, + 551, 551, 551, 0, 0, 0, 551, 551, 551, 0, + 551, 0, 1636, 0, 0, 0, 0, 0, 0, 0, + 0, 1637, 0, 0, 0, 0, 0, 0, 0, 551, + 0, 551, 0, 0, 0, 0, 0, 739, 0, 0, + 3109, 739, 1632, 739, 551, 551, 551, 551, 551, 551, + 551, 551, 551, 551, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1636, + 0, 1970, 1972, 0, 0, 0, 551, -2235, 1637, 0, + 0, 551, 0, 1447, 551, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1633, 0, 0, 0, 0, + 0, 0, 551, 0, 0, 0, 1136, 0, 0, 2003, + 0, 0, 551, 2004, 2005, 0, 0, 2006, 2007, 2008, + 0, 0, 0, 0, 0, 0, 1622, 0, 0, 551, + 0, 0, 0, 0, 0, 1632, 551, 551, 551, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -2163, 535, 535, 0, 535, 0, 0, 1687, 1688, 1689, - 1690, 1691, 1692, 893, 0, 0, 0, 0, 535, 0, - 0, 0, 1088, 0, 535, 1972, 0, 0, 0, 1973, - 1974, 0, 0, 1975, 1976, 1977, 0, 0, 0, 0, + 0, 1632, 0, 0, 0, 551, 551, 0, 1636, 0, + 0, 0, 88, 950, 551, 0, 0, 1637, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -2235, 0, + 0, 0, 0, 0, 0, 1733, 1734, 1735, 1736, 1737, + 1738, 551, 0, 0, 0, 1635, 0, 1136, 1633, 0, + 3280, 0, 0, 1622, 1073, 3281, 0, 0, 0, 0, + 0, 0, 0, 0, 1633, 1085, 1369, 3831, 0, 0, + 0, 551, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -1982, 3288, 0, 0, + 0, 3652, 3653, 0, -2235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1683, 3727, 0, 1684, 1685, 1686, 0, 1687, 1688, 1689, - 1690, 1691, 1692, 0, 0, 0, 534, 0, 534, 0, + 0, 950, 0, 0, 968, 0, 0, 0, 0, 0, + 552, 3290, 551, 0, 0, 552, 551, 0, 742, 0, + 0, 552, 551, 0, 0, 0, 0, 552, 552, 0, + 0, 0, 552, 552, 552, 0, 551, 552, 1635, 0, + 552, 552, 551, 0, 552, 0, 0, 552, 552, 0, + 0, 0, 0, 0, 1635, 551, 551, 0, 0, 0, + 0, 0, 1704, 551, 0, 1705, 2010, 0, 0, 1706, + 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, -1982, 3663, + 551, 88, 0, 0, 0, 1622, 0, 0, 0, 0, + 0, 1713, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1715, 0, 0, 0, 0, 552, 0, 1716, + -2235, 0, 552, 552, 552, 552, 552, 0, 0, 3109, + 0, 0, 0, 0, 0, 0, 0, 3754, -1982, -2235, + 0, 0, 0, 0, -2235, 0, 1717, 1704, 2011, 0, + 1705, 0, -1982, 0, 1706, 1707, 0, -1982, 3769, 3770, + 0, 0, -1982, 0, 0, 0, 0, 0, 0, 551, + 0, 0, 551, -1982, 0, 0, 0, 739, -1982, 0, + 0, 0, 0, -2235, 0, 0, 0, 1715, 551, 0, + 0, 1636, 0, 0, -2235, 0, 0, 0, 0, 88, + 1637, 0, 0, 0, 551, 0, 0, 0, 1054, 0, + -1982, 1136, 1622, 0, 2003, 0, 0, 0, 2004, 2005, + 0, 1717, 2006, 2007, 2008, 1447, 0, 0, 0, 1458, + 1459, -1982, 0, 0, 832, 0, 0, 551, 0, 2011, + 3239, 832, 0, 551, 0, 1718, 0, 1369, 0, 0, + 0, 551, 0, 0, 0, 0, 1622, 0, 0, 0, + 0, 0, 0, 0, 1719, 0, 0, 0, 0, 1720, + 1460, 1461, 0, 0, 1462, 1463, 1646, 0, 0, 0, + 0, -1982, 0, 0, -1982, 551, 0, 0, 1658, 2928, + -1982, 0, 1721, 1722, 1636, 0, 0, 0, 0, 0, + 0, 0, 947, 1637, 0, 0, 0, 0, 1723, 0, + 1636, 0, 0, 1622, 0, 1684, 0, 0, 0, 1637, + -2235, 0, 0, 551, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1982, 0, 0, 0, 0, -2235, + 0, 0, 0, 0, -2235, -2235, 0, 1724, 0, 0, + 1725, 0, 0, 0, 1464, 1465, 0, 0, -1982, 0, + 0, 551, 0, 0, 1726, 0, 551, 1727, 2012, 2013, + 2014, 0, 2015, 2016, 2017, 2018, 2019, 2020, 0, 0, + 0, 0, 0, -2235, 0, 0, 0, 0, 0, 0, + 0, 0, 551, 0, 0, 0, 0, 968, 968, 0, + 968, 0, 1704, 0, 0, 1705, 0, 0, 0, 1706, + 1707, 0, 3109, 551, 551, 0, 0, 0, 881, 1466, + 1467, 1468, 1469, 1470, 1471, 1472, 1473, 0, 0, 1474, + 1475, 2010, 947, 551, 0, 0, 0, 0, 551, 1726, + 551, 0, 1715, 0, 551, 0, 0, -1982, 0, -2235, + 0, 0, 0, 0, 0, 0, -2235, -1982, 739, 551, + 0, 0, 0, 3305, 3306, 3307, 3308, 3309, 3310, 0, + 1728, 0, 0, 0, 0, 0, 1717, 0, -1982, 0, + -1982, -1982, 0, 0, 0, 0, 551, 551, 0, 0, + 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2011, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 947, 947, 0, -1982, 0, 0, + -1982, -1982, -1982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 534, 534, 0, 0, 534, 0, 0, 0, 0, 0, - 0, 535, 534, 0, 535, 0, 0, 0, 0, 0, - 1088, 0, 0, 3175, 0, 0, 762, 762, 3176, 3177, - 3178, 3179, 3180, 3181, 0, 893, 0, 0, 0, 0, - 0, 0, 0, 1357, 534, 0, 1398, 534, 0, 3182, - 0, 3016, 0, 1354, 535, 0, 0, 0, 0, 0, - 3183, 535, 535, 535, 535, 0, 0, 3184, 0, 0, - 762, 1658, 762, 0, 1659, 534, 535, 0, 1660, 1661, - 1662, 1663, 1664, 1665, 1666, 0, 0, 0, 83, 0, - 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, - 1667, 0, 0, 0, 0, 2815, 83, 0, 0, 647, - 0, 1669, 0, 0, 0, 0, 1520, 0, 1670, 0, - 0, 1520, 0, 895, 83, 0, 0, 0, 0, 0, - 0, 0, 0, 765, 0, 0, 0, 534, 0, 0, - 0, 0, 762, 1671, 534, 0, 0, 0, 0, 0, - 0, 0, 0, 1088, 0, 0, 3175, 0, 1979, 762, - 762, 3176, 1398, 0, 0, 0, 0, 534, 1939, 1941, - 0, 0, 0, 0, 0, 647, 647, 782, 762, 0, - 0, 0, 0, 0, 0, 0, 0, 83, 0, 3186, - 0, 0, 0, 3183, 0, 0, 0, 0, 534, 0, - -2163, 1088, 0, 762, 3175, 0, 0, 0, 3187, 3176, - 0, 0, 534, 3188, 0, 0, 0, 0, 0, 534, - 0, 0, 0, 0, 0, 3185, 0, 534, 1980, 0, - 0, 0, 0, 0, 0, 0, 3189, 3190, 0, 0, - 1672, 3183, 0, 0, 0, 0, 0, 0, -2163, 0, - 0, 0, 3191, 0, 1008, 0, 0, 0, 0, 1673, - 0, 0, 0, 0, 1674, 0, 535, 535, 0, 535, - 0, 0, 0, 3185, 0, 0, 0, 0, 535, 535, - 0, 0, 0, 0, 535, 0, 0, 1675, 1676, 3192, - 0, 3652, 3193, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1677, 0, 0, 1980, 535, 0, 3194, - 0, 0, 0, 0, 535, 1008, 1398, 895, 0, 0, - 0, 0, -2163, 0, 535, 0, 0, 0, 0, 1658, - 0, 0, 1659, 0, 0, 0, 1660, 1661, 0, 3655, - 1678, -2163, 0, 1679, 0, 0, -2163, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1680, 0, 0, - 1681, 0, 0, 0, 0, 1051, 0, 0, 0, 1669, - -2163, 1052, 535, 0, 1357, 0, -2163, 0, 0, 0, - 0, 0, 0, 0, 0, -2163, 0, 0, 0, -2163, - 0, 0, 0, 0, -2163, 0, 0, 0, 0, 0, - 0, 1671, 0, 0, 0, 0, 0, 0, 3195, 0, - 0, 0, 0, 0, 0, 0, 0, 1008, 1008, 535, - 1939, 1941, 535, 0, 0, 0, 0, 0, 1053, 0, - 0, 1520, 0, -2163, 0, 0, 535, 535, 0, 1980, - 0, 1981, 1982, 1983, 535, 1984, 1985, 1986, 1987, 1988, - 1989, 0, 0, 0, 0, 0, 0, 0, 0, 1682, - 0, 0, 0, 0, 0, 0, 0, 3138, 0, 0, - 0, 1088, 0, 0, 1972, 0, 535, 535, 1973, 1974, - 0, 0, 1975, 1976, 1977, 0, 0, 1980, 0, 535, - 895, 0, 0, 0, 0, 0, 0, 0, -2163, 0, - 1054, 0, 0, 0, 0, 0, 535, 0, 0, 0, - 535, 0, 0, 0, 535, 0, 3196, -2163, 0, 3197, - 3198, 3199, -2163, 3200, 3201, 3202, 3203, 3204, 3205, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1055, 0, - 0, -2163, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1056, 0, 0, 0, 0, 0, - 0, -2163, 0, 0, 0, 1057, 0, 1683, 0, 0, - 1684, 1685, 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, - 0, 0, 0, 0, 2099, 0, 0, 0, 0, -2163, - 0, 0, 0, 0, 0, 0, 0, 1058, 0, 0, - 0, 1398, 0, 0, 0, 0, 0, 0, 0, 0, - 1398, 0, 0, 0, 0, 1680, 0, 0, 0, 1227, - 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, - 0, 0, 0, 0, 1398, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1059, 0, 535, 0, 535, -2163, - 0, 1060, 0, 895, 535, 0, 3200, 3201, 3202, 3203, - 3204, 3205, 0, 0, 0, 535, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 765, - 0, 0, 0, 895, 895, 0, 0, -2163, 0, 0, - 0, 0, 0, 0, 1061, 0, 535, -2163, 0, 895, - 0, 535, 0, 0, 3200, 3201, 3202, 3203, 3204, 3205, - 0, 1062, 0, 0, 0, 1658, 0, -2163, 1659, 0, - 1025, 0, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, - 0, 1037, 535, 1357, 0, 535, 0, 535, 535, 0, - 535, 535, 0, 0, 1667, 0, 0, 1008, 0, 0, - 1088, 0, 0, 3175, 0, 1669, 0, 1980, 3176, 0, - 0, 0, 1670, 0, 1357, 0, 0, 535, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 765, 0, 0, - 782, 0, 1063, 0, 0, 0, 0, 1671, 0, 0, - 3183, 0, 0, 0, 0, 0, 0, -2163, 0, 0, + 0, 0, 0, 0, 3243, -2235, 0, 0, 1476, 1477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 535, 0, 535, 535, 0, 0, 0, 0, 0, - 0, 535, 3185, 1520, 0, -2163, 0, 0, 0, 0, - 0, 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, 0, - 0, 0, 535, 0, 535, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, - 0, 0, 0, 0, 535, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1672, 0, 0, 0, 3656, 1357, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, + 552, 551, 0, 0, 0, -2235, 552, 0, 551, 552, + 739, 1729, 0, 0, 1730, 1731, 1732, 552, 1733, 1734, + 1735, 1736, 1737, 1738, -2235, 0, 0, 0, 0, -2235, + 0, 0, 0, 0, 0, 0, 0, 0, 2579, 0, + 0, 0, 0, 947, 0, 0, 947, 0, 0, 551, + 0, 0, 0, 0, 742, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -2235, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1478, 1479, + 0, 0, 0, 0, 0, 0, -2235, 0, 551, 0, + 0, 0, 0, 1733, 1734, 1735, 1736, 1737, 1738, 0, + 0, 0, 1480, 1481, 0, 832, 0, 0, 832, 0, + 0, 0, 0, 832, -48, 0, 832, 0, 0, 0, + 0, 832, 2093, 0, 1726, 1622, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, + 4, 0, 0, 2012, 2013, 2014, 0, 2015, 2016, 2017, + 2018, 2019, 2020, 5, 0, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, 0, 7, 551, 0, + 551, 0, 0, 0, 1136, 0, 0, 3280, 0, 0, + 0, 8, 3281, 551, 551, 0, 0, 551, 0, 0, + 9, 0, 10, 0, 0, 551, 0, 0, 88, 0, + 552, 552, 552, 0, 11, 0, 12, 0, 1056, 947, + 947, 0, 0, 0, 3288, 0, 0, 13, 1622, 0, + -2235, -2235, 0, 0, 0, 0, 0, 551, 0, 0, + 551, 0, 14, 15, 3109, 16, 739, 0, 0, 0, + 0, 552, 552, 552, 17, 0, 0, 0, 3290, 0, + 0, 552, 18, 947, 0, 947, 0, 0, 551, 0, + 19, 0, 20, 21, 552, 552, 0, 0, 0, 552, + 552, 0, 0, 0, 0, 0, 22, 2195, 0, 0, + 23, 0, 0, 552, 552, 552, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 552, 552, 0, + 552, 0, 0, 0, 0, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 552, 0, 3768, 0, 0, 0, + 552, 551, 0, 0, 25, 0, 947, 0, 551, 0, + 0, -2235, 0, 0, 0, 0, 0, 0, 1733, 1734, + 1735, 1736, 1737, 1738, 947, 947, 0, -2235, 0, 0, + 968, 26, 551, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 947, 0, 0, -2235, 0, 0, 0, + 0, -2235, 1136, 0, 0, 3280, 0, 0, 0, 0, + 3281, 0, 0, 0, 0, 0, 0, 551, 552, 0, + 0, 552, 947, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, + -2235, 0, 3288, 0, 551, 0, 0, 0, 0, -2235, + 0, 742, 551, 0, 1371, 0, 0, 0, 0, 27, + 28, 29, 0, 0, 0, 552, 552, 30, 0, 0, + 31, 0, 0, 0, 552, 0, 3290, 0, 0, 0, + 0, 552, 552, 552, 552, 552, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2011, 552, 0, 552, + 0, 0, 32, 0, 0, 1136, 0, 0, 3280, 1371, + 0, 33, 0, 3281, 0, 0, 2419, 0, 0, 0, + 0, 0, 0, 1056, 0, 88, 0, 34, 0, 0, + 0, 0, 0, 0, 35, 552, 552, 0, 552, 36, + 0, 0, 0, 0, 3771, 3288, 0, 552, 552, 0, + 37, 0, -2235, 552, 0, 0, 0, 0, 0, 0, + 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, + 0, 0, 0, 0, 0, -2235, 552, 0, 0, 3290, + 0, 0, 0, 552, 0, 1371, 1624, 40, 0, 0, + 0, 0, 0, 552, -2235, 0, 0, 0, 0, -2235, + 41, 0, -2235, 42, 0, 0, 43, 0, 0, 0, + 0, 44, 0, 0, 1136, 0, 0, 2003, 0, 0, + 0, 2004, 2005, 0, 0, 2006, 2007, 2008, 0, 45, + 0, 0, 0, 0, 0, 0, 0, 0, -2235, 0, + 0, 0, 552, 3240, 742, 0, 0, 3772, 0, 0, + 832, 0, 0, 46, 0, 0, 832, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, + -48, 0, 1704, 0, 0, 1705, 0, 0, -2235, 1706, + 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, 0, 0, + 552, 0, 0, 552, 2011, 0, 0, -2235, 0, 0, + 0, 1713, -2235, 0, 0, 0, 0, 552, 552, 0, + 0, 0, 1715, -2235, 0, 0, 552, 0, 0, 1716, + 3305, 3306, 3307, 3308, 3309, 3310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 895, 0, 0, 1673, 0, 0, 0, 0, 1674, 1357, - 0, 0, 535, 0, 0, 0, 0, 0, 0, -2163, - 0, 0, 0, 0, 0, 0, 1088, 0, 0, 3175, - 0, 1675, 1676, 0, 3176, 0, 0, 0, -2163, 0, - 0, 0, 0, -2163, 0, 1398, 0, 1677, 0, 0, + 0, -2235, 0, 0, 0, 0, 1717, 0, 552, 552, + 0, 1703, 0, 0, 0, 0, 1704, 0, 0, 1705, + 0, 552, 1624, 1706, 1707, 1708, 1709, 1710, 1711, 1712, + 0, 0, 0, 0, 0, 0, 0, 0, 552, 0, + 0, 1684, 552, 0, 0, 1713, 0, 552, 0, 0, + 1714, 0, 0, 0, 0, 1371, 1715, 2011, 0, 2195, + -2235, 0, 0, 1716, 1371, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2624, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 832, 0, 1371, 0, + 1717, 0, 0, 0, 2010, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 552, 1718, 552, 0, 0, 0, + 0, 832, 1624, 552, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1719, 0, 0, 552, 742, 1720, + 0, 0, 0, 0, 0, 0, 0, 552, 742, 0, + 0, 0, 552, 0, 552, 552, 0, 552, 552, 0, + 0, 0, 1721, 1722, 0, 1056, 0, 0, 0, 0, + 0, 0, 0, -2235, 0, 0, 2011, 0, 1723, 0, + 0, -2235, 742, 0, 0, 552, 0, 0, 3305, 3306, + 3307, 3308, 3309, 3310, 0, 0, 0, 0, 1704, 1718, + 0, 1705, 0, 0, 0, 1706, 1707, 1708, 1709, 1710, + 1711, 1712, 0, 0, 0, 0, 0, 1724, 1719, 0, + 1725, 0, 0, 1720, 0, 0, 0, 1713, 0, 0, + 0, 0, 2908, 0, 1726, 0, 1136, 1727, 1715, 3280, + 0, 0, 0, 0, 3281, 1716, 1721, 1722, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 552, 0, 552, + 552, 0, 1723, 0, 0, 0, 0, 552, 0, 0, + 0, 0, 1717, 0, 0, 950, 3288, 0, 0, 0, + 0, 0, 0, -2235, -2235, 0, 0, 0, 552, 0, + 552, 3305, 3306, 3307, 3308, 3309, 3310, 0, 0, 0, + 0, 1724, 0, 0, 1725, 0, 0, 0, 0, 0, + 3290, 0, 0, 0, 0, 0, 0, 0, 1726, 0, + 0, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 535, 0, 535, 0, 535, 3183, 0, 0, 0, - 1981, 1982, 1983, -2163, 1984, 1985, 1986, 1987, 1988, 1989, - 535, 535, -2163, 0, 1678, 0, 0, 1679, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3185, 0, - 0, 1680, 0, 0, 1681, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 535, 0, - 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 535, 535, 1980, 0, 0, 0, - 895, 0, 0, 0, 0, 535, 535, 535, 535, 1357, - 535, 1357, 0, 0, 0, 0, 535, 0, 535, 0, - 0, 0, 0, 0, 3730, 0, 0, 0, 0, 535, - 535, 0, 0, 0, 535, 535, 0, 0, 0, 535, - 535, 535, 535, 0, 535, 535, 0, 0, 0, 0, - 0, 0, 0, 1398, 0, -2163, 0, 0, 0, 0, - 0, 0, 83, 1682, 0, 0, 535, 535, 535, 535, - 0, 0, 0, 535, -2163, 0, 0, 0, 0, -2163, - 0, 0, 0, 0, 0, 0, 0, 535, 0, 0, - 0, 0, 0, 1398, 0, 0, 0, 647, -2163, 0, - 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 895, 0, 0, 0, -2163, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1357, 0, - 1236, 0, 0, 0, 0, 1398, 1237, 0, 0, 1621, - 0, 0, 0, 0, 1008, 1249, 0, 0, 0, 0, - 1625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 895, 0, 0, 0, 1250, 0, 0, 0, 0, - 0, 1683, 1980, 895, 1684, 1685, 1686, 1639, 1687, 1688, - 1689, 1690, 1691, 1692, 0, 0, 0, 0, 2099, 0, + 1728, 1136, 0, 1624, 2003, 0, 0, 0, 2004, 2005, + 0, 0, 2006, 2007, 2008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 895, 0, 0, -2163, 0, 0, 1251, - 895, 0, 535, 3200, 3201, 3202, 3203, 3204, 3205, 0, - 0, 0, 0, 0, 535, 0, 0, 0, 0, 1553, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238, - 0, 0, 0, 0, 535, 0, 895, 0, 0, 535, - 895, 0, 1008, 0, 1398, 0, 895, 782, 782, 0, - 782, 0, 0, 0, 0, 0, 0, 0, 1658, 0, - 0, 1659, 0, 0, -2163, 1660, 1661, 1662, 1663, 1664, - 1665, 1666, 0, 0, 0, 0, 0, 0, 0, 560, - 0, 0, 0, 0, 535, 0, 0, 1667, 535, 0, - 0, 0, 0, 535, 0, 0, 0, 1252, 1669, 0, - 0, 1658, 0, 0, 1659, 1670, 0, 0, 1660, 1661, - 0, 0, 1664, 1665, 1666, 0, 0, 0, 0, 0, + 3760, 1718, 0, 0, 0, 0, 0, 0, 3847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1671, 0, 535, 0, 0, 0, 561, 0, 0, 0, - 0, 1669, 0, 0, 0, 0, 0, 1253, 1670, 0, - 0, 0, 562, 0, 0, 1254, 1357, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1255, 0, 0, - 0, 0, -2163, 1671, 0, 0, 0, 535, 0, 3200, - 3201, 3202, 3203, 3204, 3205, 0, 0, 0, 0, 1239, - 0, 0, 0, 0, 535, 0, 0, 0, 0, 1256, - 0, 0, 563, 0, 1768, 0, 0, 0, 0, 0, - 0, 0, 564, 1553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 565, 0, 0, 1672, 0, 566, - 0, 0, 0, 0, 535, 0, 0, 0, 0, 0, - 535, 0, 0, 0, 0, 0, 1673, 0, 0, 1257, - 0, 1674, 0, 1241, 0, 1258, 535, 0, 0, 0, - 567, 0, 0, 0, 0, 0, 1357, 1357, 1357, 0, - 1672, 0, 0, 0, 1675, 1676, 0, 0, 1259, 0, - 0, 0, 0, 1260, 0, 0, 0, 0, 0, 1673, - 1677, 0, 0, 0, 1674, 0, 0, 0, 0, 1261, - 0, 0, 0, 0, 568, 0, 0, 0, 569, 0, - 1398, 0, 0, 0, 0, 0, 0, 1675, 1676, 0, - 535, 0, 0, 0, 0, 0, 535, 1678, 0, 0, - 1679, 0, 0, 1677, 0, 0, 0, 0, 535, 535, - 535, 535, 895, 83, 1680, 0, 0, 1681, 0, 0, - 0, 0, 535, 0, 535, 0, 1243, 535, 0, 0, - 0, 0, 535, 0, 0, 0, 0, 0, 0, 0, - 1678, 0, 0, 1679, 0, 535, 0, 570, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1680, 0, 0, - 0, 0, 535, 0, 572, 0, 0, 0, 1008, 0, - 0, 0, 0, 0, 1357, 0, 0, 0, 0, 0, - 535, 535, 0, 535, 0, 0, 0, 0, 0, 0, - 0, 647, 0, 0, 647, 0, 0, 0, 573, 647, - 0, 574, 647, 0, 0, 0, 0, 647, 0, 0, - 575, 0, 0, 576, 0, 0, 1682, 0, 0, 0, - 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, - 0, 0, 535, 577, 0, 0, 0, 0, 0, 0, - 535, 535, 535, 0, 0, 0, 0, 578, 0, 535, - 0, 0, 535, 0, 579, 0, 0, 0, 535, 1682, - 0, 0, 0, 0, 580, 0, 0, 0, 0, 0, - 581, 0, 0, 535, 0, 0, 0, 0, 0, 0, - 0, 0, 2130, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 582, 895, - 0, 0, 0, 0, 0, 0, 0, 1553, 1553, 0, - 0, 0, 0, 1553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1683, 0, 0, 1684, 1685, 1686, - 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, 0, 0, - 0, 2425, 0, 0, 0, 0, 0, 1236, 0, 0, - 0, 0, 0, 1237, 0, 0, 0, 782, 0, 0, - 0, 0, 1249, 535, 0, 0, 0, 1683, 0, 535, - 1684, 1685, 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, - 0, 0, 1250, 0, 0, 535, 0, 0, 0, 535, - 0, 0, 0, 535, 535, 535, 0, 0, 0, 535, - 535, 535, 0, 535, 0, 0, 0, 0, 0, 0, + 1719, 0, 0, 0, 0, 1720, 2012, 2013, 2014, 552, + 2015, 2016, 2017, 2018, 2019, 2020, 0, 0, 0, -2235, + 552, 0, 0, 0, 0, 0, 0, 0, 1721, 1722, + 0, 0, 0, 0, 1728, 742, 0, 0, -2235, 0, + 0, 0, 0, -2235, 1723, 0, 0, 1624, 0, 0, + 0, 0, 0, 0, 0, 0, 742, 1684, 0, 552, + 0, 1729, 0, 0, 1730, 1731, 1732, 0, 1733, 1734, + 1735, 1736, 1737, 1738, 0, 0, 0, 0, 0, 0, + 0, 1996, -2235, 1724, 0, 0, 1725, 0, 0, 0, + 1684, 0, 1371, 0, 0, 0, 0, 0, 0, 0, + 1726, 0, 0, 1727, 0, 0, 552, 0, 552, 88, + 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 552, 552, 0, 1136, 0, + 0, 2003, 0, 0, 0, 2004, 2005, 0, 2011, -2235, + -2235, -2235, 0, 0, 0, 1729, 88, 0, 1730, 1731, + 1732, 0, 1733, 1734, 1735, 1736, 1737, 1738, 0, 0, + 0, 0, 0, 552, 0, 552, 0, 0, 0, 0, + 0, 2010, 3006, 0, 0, 0, 0, 0, 0, 552, + 552, 0, 0, 0, 0, 1624, 0, 0, 0, 0, + 552, 552, 552, 552, 742, 552, 742, 0, 0, 0, + 0, 552, 0, 552, 0, 0, 1728, 0, 0, 0, + 0, 0, 0, 0, 0, 552, 552, 0, 0, 0, + 552, 552, 0, 0, 0, 552, 552, 552, 552, 0, + 552, 552, 0, 0, 0, 0, 0, 0, 0, 0, + 1371, 0, 0, 2011, -2235, 0, 0, 552, 0, 0, + 0, 88, 0, 0, 0, 0, 552, 552, 552, 552, + 552, 0, 0, 0, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 552, 88, + 0, 0, 88, 0, 1371, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, + 742, 0, 0, 0, 0, 0, 0, 1371, 0, 0, + 0, 0, 0, 0, 0, 0, 1056, 1729, 0, 0, + 1730, 1731, 1732, 0, 1733, 1734, 1735, 1736, 1737, 1738, + 0, 0, 1684, 1624, 2163, 0, 0, 0, 0, 0, + 1704, 0, 0, 1705, 0, 1624, 0, 1706, 1707, 1708, + 1709, 1710, 1711, 1712, 0, -2235, 0, 0, 0, 0, + 0, 0, 3305, 3306, 3307, 3308, 3309, 3310, 0, 1713, + 0, 0, 0, 0, 0, 1624, 0, 0, 0, 0, + 1715, 0, 1624, 0, 552, 1136, 0, 1716, 3280, 0, + 0, 0, 0, 3281, 0, 0, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, + 0, 0, 0, 0, 1717, 0, 552, 0, 1624, 0, + 2011, 552, 1624, 0, 0, 3288, 1371, 0, 1624, 0, + 552, 552, -2235, 1704, 0, 0, 1705, 0, 0, 0, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, 0, + 1624, 0, 0, 0, 0, 0, 950, 0, 0, 3290, + 0, 0, 1713, 2012, 2013, 2014, 0, 2015, 2016, 2017, + 2018, 2019, 2020, 1715, 0, 0, 0, 0, 1704, 0, + 1716, 1705, 0, 0, 0, 1706, 1707, 0, 1508, 1710, + 1711, 1712, 0, 0, 0, 0, 0, 0, 0, 552, + 0, 0, 0, 552, 0, 0, 0, 1717, 552, 0, + 0, 0, 0, 1718, 0, 0, 1136, 0, 1715, 2003, + 0, 0, 0, 2004, 2005, 1716, 0, 2006, 2007, 2008, + 0, 0, 1719, 0, 0, 0, 0, 1720, 0, 0, + 0, 0, 0, 0, 0, 3761, 0, 0, 552, 0, + 0, 0, 1717, 0, 0, 0, 0, 0, -2235, 0, + 1721, 1722, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 742, 0, 0, 0, 1723, -2235, 0, 0, + 0, 0, -2235, 0, 0, 0, 0, 0, 0, 0, + 0, 1136, 0, 552, 2003, 0, 0, 0, 2004, 2005, + 0, 0, 2006, 2007, 2008, 0, 1718, 0, 0, 0, + 552, 0, 0, 0, 0, 1724, 0, 0, 1725, 0, + 3843, -2235, 0, 88, 0, 1719, 0, 0, 0, 0, + 1720, 0, 1726, 0, 0, 1727, 0, 0, 0, 0, + -2235, -2235, -2235, 0, 2015, 2016, 2017, 2018, 2019, 2020, + 552, 1718, 0, 1721, 1722, 0, 552, 0, 0, 0, + 0, 1684, 0, 0, 0, 0, 0, 0, 0, 1723, + 1719, 0, 552, 0, 0, 1720, 1812, 2011, 0, 0, + 0, 0, 742, 742, 742, 1508, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1721, 1722, + 0, 0, 0, 0, 0, 0, 0, 0, 1724, 0, + 0, 1725, 0, 0, 1723, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1726, 0, 1371, 1727, 0, + 0, 0, 0, 0, 0, 0, 2010, 0, 1728, 0, + 0, 0, 0, 552, 0, 0, 0, 0, 0, 552, + 0, 0, 0, 1724, 0, 0, 1725, 0, 0, 0, + 2195, 0, 552, 552, 552, 552, 1624, 0, 0, 0, + 1726, 0, 0, 0, 0, 0, 552, 0, 552, 0, + 0, 552, 0, -2235, 0, 552, 0, 742, 0, 552, + 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, + 0, 1056, 0, 0, 0, 0, 0, 742, 2011, 0, + 0, 2010, 0, 552, 552, 0, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1728, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1729, + 0, 0, 1730, 1731, 1732, 0, 1733, 1734, 1735, 1736, + 1737, 1738, 88, 88, 0, 552, 2163, 0, 0, 0, + 0, 0, 0, 552, 552, 552, 1728, 0, 0, 0, + 0, 0, 552, 2011, 0, 552, 0, 0, 0, 0, + 0, 552, 0, 0, -2235, 0, 0, 0, 0, 1624, + 0, 3305, 3306, 3307, 3308, 3309, 3310, 0, 0, 0, + 0, 0, 0, 1508, 1508, 0, 0, 0, 0, 1508, + 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 535, 0, 535, 0, 1251, 0, 0, 0, - 1357, 0, 0, 3018, 1357, 0, 1357, 535, 535, 535, - 535, 535, 535, 535, 535, 535, 535, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1238, 0, 0, 0, - 0, 0, 0, 0, 0, 535, 0, 0, 0, 535, - 0, 0, 535, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 535, 0, 0, 0, 0, 2346, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 0, 535, 0, - 0, 0, 0, 0, 0, 0, 895, 0, 0, 0, - 2223, 0, 0, 0, 0, 0, 0, 535, 0, 0, - 0, 0, 0, 0, 1252, 0, 0, 0, 0, 0, - 0, 895, 0, 0, 535, 0, 0, 0, 0, 0, - 0, 535, 535, 535, 535, 0, 0, 0, 0, 0, + 0, 0, 1729, 0, 0, 1730, 1731, 1732, 0, 1733, + 1734, 1735, 1736, 1737, 1738, 1624, 0, 0, 0, 2477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 535, 535, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1253, 0, 535, 0, 0, 0, - 0, 0, 1254, 0, 0, 0, 0, 0, 895, 0, - 0, 0, 0, 0, 1255, 0, 0, 0, 0, 0, - 0, 1398, 0, 0, 0, 0, 535, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1256, 0, 0, 0, - 0, 1658, 0, 0, 1659, 0, 0, 0, 1660, 1661, - 647, 0, 1664, 1665, 1666, 0, 647, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 535, 0, 0, - 1667, 535, 0, 0, 0, 0, 0, 535, 0, 0, - 0, 1669, 0, 0, 0, 0, 2290, 0, 1670, 0, - 1241, 535, 1258, 0, 0, 0, 0, 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 535, 535, 0, 1671, 0, 1259, 0, 0, 535, 0, - 2291, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 535, 1261, 0, 0, 0, - 895, 1553, 1553, 1553, 1553, 1553, 1553, 1639, 0, 1553, - 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 0, - 0, 0, 0, 0, 0, 2130, 1191, 0, 0, 0, - 0, 0, 0, 0, 3018, 0, 0, 0, 0, 0, - 0, 2549, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 647, 1243, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2195, 0, 0, 1729, 0, 0, + 1730, 1731, 1732, 0, 1733, 1734, 1735, 1736, 1737, 1738, + 0, 0, 88, 0, 88, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, + 0, 0, 0, 0, 0, 552, 0, 0, 2012, 2013, + 2014, 0, 2015, 2016, 2017, 2018, 2019, 2020, 0, 0, + 0, 552, 0, 0, 0, 552, 0, 0, 0, 552, + 552, 552, 0, 0, 88, 552, 552, 552, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1672, 0, 0, 535, 0, 0, 0, 647, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 535, 1673, - 0, 0, 0, 0, 1674, 0, 0, 0, 0, 0, - 0, 0, 535, 0, 0, 0, 0, 0, 1008, 0, - 0, 0, 895, 0, 0, 0, 0, 1675, 1676, 0, - 0, 0, 0, 0, 0, 1275, 0, 0, 0, 1399, - 0, 0, 0, 1677, 0, 0, 0, 535, 0, 0, - 0, 0, 0, 535, 0, 0, 0, 1398, 0, 0, - 0, 535, 1553, 1553, 0, 0, 0, 0, 0, 0, + 88, 0, 1241, 0, 88, 0, 0, 0, 552, 0, + 552, 0, 0, 0, 0, 0, 742, 0, 0, 3111, + 742, 0, 742, 552, 552, 552, 552, 552, 552, 552, + 552, 552, 552, 2012, 2013, 2014, 0, 2015, 2016, 2017, + 2018, 2019, 2020, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, + 552, 0, 0, 552, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 552, 0, 0, 0, 1136, 0, 0, + 2003, 0, 0, 0, 2004, 2005, 0, 0, 2006, 2007, + 2008, 552, 0, 0, 0, 0, 0, 0, 0, 743, + 0, 552, 0, 1327, 0, 0, 3844, 1372, 1377, 0, + 0, 0, 0, 0, 0, 1624, 0, 0, 552, 0, + 0, 0, 0, 0, 0, 552, 552, 552, 552, 0, + 0, 0, 743, 0, 0, 2288, 0, 0, 0, 0, + 0, 0, 0, 0, 552, 552, 0, 0, 0, 0, + 0, 0, 0, 552, 0, 0, 0, 0, 744, 0, + 0, 0, 1429, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 745, 0, 0, 0, 0, 0, + 552, 0, 1454, 1241, 0, 0, 0, 0, 0, 0, + 1500, 744, 1624, 1502, 0, 88, 1513, 1516, 1521, 1524, + 0, 0, 0, 0, 0, 1371, 0, 745, 0, 0, + 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 747, 1564, 1372, 0, + 0, 0, 0, 0, 0, 0, 0, 88, 748, 0, + 0, 0, 0, 749, 0, 0, 0, 0, 1649, 746, + 0, 552, 0, 0, 0, 552, 0, 0, 0, 747, + 0, 552, 0, 0, 0, 0, 0, 1665, 0, 0, + 0, 748, 0, 0, 750, 552, 749, 0, 1675, 1676, + 1677, 552, 1681, 1685, 0, 0, 0, 2010, 0, 0, + 0, 0, 0, 0, 552, 552, 0, 0, 0, 0, + 0, 0, 552, 0, 0, 0, 0, 750, 0, 0, + 0, 0, 0, 0, 1747, 0, 0, 0, 751, 552, + 0, 0, 752, 0, 1624, 0, 0, 0, 0, 0, + 0, 1564, 1564, 1508, 1508, 1508, 1508, 1508, 1508, 0, + 0, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, + 1508, 751, 0, 0, 0, 752, 0, 0, 3111, 2011, + 0, 0, 0, 0, 0, 0, 0, 1790, 0, 0, + 0, 1806, 1811, 0, 0, 0, 0, 0, 0, 0, + 1704, 0, 0, 1705, 0, 0, 1241, 1706, 1707, 1708, + 1709, 1710, 1711, 1712, 0, 753, 0, 0, 552, 0, + 0, 552, 0, 0, 0, 0, 742, 0, 0, 1713, + 0, 0, 755, 0, 0, 0, 0, 552, 0, 0, + 1715, 0, 562, 0, 0, 0, 0, 1716, 753, 0, + 0, 0, 0, 552, 0, 0, 0, 1056, 1372, 0, + 0, 1624, 0, 0, 754, 755, 756, 1372, 0, 757, + 0, 0, 0, 0, 1717, 0, 0, 0, 0, 0, + 758, 0, 0, 759, 0, 0, 552, 0, 0, 0, + 0, 1372, 552, 0, 0, 0, 1371, 0, 0, 756, + 552, 0, 757, 760, 0, 1624, 0, 0, 0, 0, + 0, 0, 0, 758, 0, 0, 759, 761, 0, 0, + 0, 0, 0, 0, 763, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 552, 764, 760, 0, 1508, 1508, + 0, 765, 0, 0, 0, 0, 0, 0, 0, 0, + 761, 0, 0, 0, 0, 0, 762, 763, 0, 0, + 0, 0, 1624, 0, 0, 0, 0, 0, 764, 766, + 0, 0, 552, 1718, 765, 0, 0, 0, 0, 0, + 0, 1993, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1719, 0, 0, 0, 0, 1720, 0, 2012, + 2013, 2014, 766, 2015, 2016, 2017, 2018, 2019, 2020, 0, + 552, 0, 0, 0, 0, 552, 0, 0, 0, 0, + 1721, 1722, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1723, 0, 0, 0, + 0, 552, 1521, 1241, 1521, 1521, 0, 0, 0, 1287, + 0, 0, 0, 0, 0, 1288, 0, 0, 0, 0, + 1508, 3111, 552, 552, 1300, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1724, 0, 0, 1725, 0, + 0, 0, 552, 0, 1301, 0, 0, 552, 0, 552, + 0, 0, 1726, 552, 0, 1727, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 742, 552, 1704, + 0, 0, 1705, 0, 0, 0, 1706, 1707, 1708, 1709, + 1710, 1711, 1712, 0, 0, 0, 0, 0, 0, 0, + 1302, 0, 0, 0, 0, 552, 552, 0, 1713, 552, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1715, + 0, 0, 0, 0, 0, 0, 1716, 0, 1458, 1459, + 0, 0, 1289, 0, 0, 0, 0, 0, 0, 1241, + 1241, 0, 0, 0, 0, 0, 0, 0, 2123, 1241, + 0, 0, 0, 1717, 0, 0, 2126, 0, 0, 0, + 0, 0, 0, 1241, 0, 0, 0, 0, 1728, 1460, + 1461, 0, 0, 1462, 1463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1678, 0, 0, 1679, 0, 0, 0, 0, 535, 0, - 0, 0, 0, 0, 0, 0, 0, 1680, 0, 0, - 1681, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 895, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 535, 0, 0, 0, - 0, 0, 0, 765, 0, 0, 0, 0, 0, 0, + 552, 0, 1241, 0, 0, 2172, 0, 552, 0, 742, + 1303, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 0, + 0, 0, 0, 2192, 2193, 0, 0, 0, 2204, 0, + 0, 0, 2207, 0, 0, 2215, 2216, 2217, 2218, 2219, + 2220, 2221, 2222, 2223, 0, 0, 2224, 0, 552, 1457, + 0, 843, 0, 0, 0, 1372, 0, 0, 0, 0, + 1304, 0, 1718, 1464, 1465, 0, 0, 0, 0, 0, + 1305, 0, 0, 0, 2250, 0, 0, 0, 0, 0, + 0, 1719, 1306, 0, 0, 0, 1720, 552, 0, 1729, + 0, 0, 1730, 1731, 1732, 0, 1733, 1734, 1735, 1736, + 1737, 1738, 0, 0, 1290, 0, 2576, 0, 0, 1721, + 1722, 0, 1676, 1677, 0, 1307, 1458, 1459, 0, 0, + 0, 0, 0, 0, 1624, 1723, 0, 0, 1466, 1467, + 1468, 1469, 1470, 1471, 1472, 1473, 0, 0, 1474, 1475, + 0, 0, 1704, 0, 0, 1705, 1508, 1508, 0, 1706, + 1707, 1708, 1709, 1710, 1711, 1712, 0, 1460, 1461, 0, + 0, 1462, 1463, 0, 1724, 0, 2355, 1725, 0, 0, + 1292, 1713, 1309, 0, 0, 0, 0, 552, 0, 552, + 0, 1726, 1715, 0, 1727, 0, 0, 0, 0, 1716, + 0, 0, 552, 552, 0, 0, 552, 1310, 0, 2380, + 0, 2978, 2356, 1372, 552, 0, 2390, 2391, 0, 0, + 0, 0, 0, 0, 0, 0, 1717, 0, 1312, 0, + 0, 0, 0, 0, 0, 0, 0, 1624, 0, 0, + 0, 0, 0, 0, 0, 0, 552, 0, 0, 552, + 0, 1464, 1465, 3111, 0, 742, 0, 1372, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1476, 1477, 0, + 0, 0, 0, 0, 0, 0, 0, 552, 0, 0, + 1429, 2456, 0, 0, 0, 0, 1294, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1503, 0, 0, 0, 0, - 0, 0, 0, 0, 535, 0, 0, 0, 0, 535, + 2478, 2479, 0, 2480, 0, 0, 1466, 1467, 1468, 1469, + 1470, 1471, 1472, 1473, 0, 1718, 1474, 1475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1553, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 535, 0, 0, 0, 1682, + 552, 0, 2506, 2507, 1719, 0, 2250, 552, 0, 1720, + 0, 1509, 0, 1241, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1478, 1479, 0, + 0, 552, 1721, 1722, 0, 2534, 0, 0, 0, 1508, + 2539, 0, 0, 0, 0, 0, 0, 0, 1723, 0, + 0, 1480, 1481, 0, 0, 0, 0, 1564, 0, 1372, + 0, 0, 0, 0, 3207, 0, 552, 0, 1729, 0, + 0, 1730, 1731, 1732, 0, 1733, 1734, 1735, 1736, 1737, + 1738, 0, 0, 0, 552, 2600, 0, 1724, 0, 0, + 1725, 0, 0, 552, 1241, 2572, 0, 1510, 0, 0, + 0, 552, 0, 0, 1726, 1476, 1477, 1727, 3232, 0, + 0, 0, 0, 0, 0, 0, 1704, 0, 0, 1705, + 0, 0, 0, 1706, 1707, 1708, 1709, 1710, 1711, 1712, + 0, 0, 0, 0, 2591, 0, 0, 0, 0, 2594, + 2595, 0, 0, 0, 0, 1713, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1715, 0, 0, 0, + 0, 0, 0, 1716, 0, 0, 0, 0, 0, 1241, + 0, 0, 2978, 2978, 2978, 2978, 0, 0, 0, 0, + 0, 0, 0, 2616, 0, 0, 2619, 0, 2621, 0, + 1717, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2625, 1478, 1479, 0, 1509, 0, + 1728, 1241, 0, 0, 0, 0, 1741, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1480, + 1481, 0, 0, 1508, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1704, 0, 0, 1705, 0, 0, 0, + 1706, 1707, 1790, 0, 1710, 1711, 1712, 0, 0, 1741, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, + 2222, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1715, 0, 0, 0, 0, 0, 1718, + 1716, 0, 0, 0, 1510, 0, 0, 2710, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1719, 0, + 0, 0, 0, 1720, 0, 0, 0, 1717, 0, 0, + 0, 1729, 0, 0, 1730, 1731, 1732, 0, 1733, 1734, + 1735, 1736, 1737, 1738, 0, 0, 1721, 1722, 2838, 0, + 0, 0, 0, 0, 0, 1741, 0, 0, 0, 0, + 0, 0, 1723, 0, 1677, 0, 0, 0, 0, 0, + 1372, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1658, 0, 0, 1659, 3018, 535, 535, 1660, 1661, 1662, - 1663, 1664, 1665, 1666, 0, 0, 0, 0, 0, 0, - 0, 535, 0, 0, 0, 0, 535, 0, 535, 1667, - 0, 0, 535, 0, 0, 0, 0, 0, 0, 0, - 1669, 0, 0, 1527, 1191, 0, 535, 1670, 0, 0, - 0, 1545, 0, 0, 1547, 0, 0, 1558, 1561, 1566, - 1569, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1671, 535, 535, 0, 0, 535, 0, 0, + 1741, 1724, 0, 0, 1725, 1741, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1726, 0, + 0, 1727, 0, 0, 0, 0, 1718, 2816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1639, 0, 0, 1683, 0, 1399, - 1684, 1685, 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1622, - 0, 0, 0, 0, 0, 0, 1639, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1627, 0, 0, - 0, 0, 0, 0, 0, 83, 0, 0, 1630, 1631, - 1632, 0, 1636, 1640, 0, 0, 535, 0, 0, 0, - 0, 0, 0, 535, 0, 1357, 0, 0, 0, 1672, + 0, 0, 0, 0, 0, 1719, 1509, 1509, 0, 0, + 1720, 0, 1509, 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 83, 1701, 0, 0, 0, 0, 1673, 0, - 0, 0, 0, 1674, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 535, 0, 0, 0, 0, 2913, 0, - 0, 0, 0, 0, 0, 0, 1675, 1676, 0, 0, + 0, 0, 0, -2235, -2235, 0, 0, 0, 0, 0, + 0, 0, 1741, 0, 0, 0, 0, 0, 0, 1723, + 2978, 2978, 2978, 2978, 2978, 2978, 2978, 0, 0, 0, + 2978, 2978, 0, 0, 0, 2978, 0, 0, 2978, 0, + 0, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, 2978, + 2978, 0, 0, 0, 1728, 0, 0, 0, 1741, 0, + 1741, -2235, 1510, 1510, 0, 2021, 0, 0, 1510, 0, + 0, 1741, 0, 0, 1741, 1726, 0, 0, 0, 1741, + 0, 0, 1741, 0, 0, 0, 0, 0, 2896, 0, + 0, 0, 0, 0, 2898, 2126, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2904, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2913, 0, 0, 2916, + 0, 2918, 1741, 0, 0, 0, 0, 0, 0, 2922, + 0, 0, 0, 0, 0, 0, 0, 2929, 2930, 0, + 0, 0, 0, 0, 2937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1677, 0, 0, 1746, 0, 0, 0, 1762, - 1767, 535, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1658, 0, 1191, 1659, 0, 0, 0, 1660, - 1661, 1662, 1663, 1664, 1665, 1666, 0, 0, 0, 1678, - 1553, 1553, 1679, 0, 0, 0, 0, 0, 895, 0, - 0, 1667, 0, 83, 0, 0, 1680, 0, 0, 1681, - 0, 0, 1669, 0, 0, 0, 0, 0, 0, 1670, + 0, 0, 0, 0, 0, 1729, 0, 0, 1730, 1731, + 1732, 0, 1733, 1734, 1735, 1736, 1737, 1738, 0, 0, + 0, 1728, 2910, 0, 0, 0, 0, 0, 3629, 0, + 2981, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2996, 0, 0, 0, 0, 0, 0, 1741, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2237, 0, + 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1741, 1741, 1741, 0, 1508, 1508, 1741, + 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2978, 0, 2978, 0, 2978, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1509, 0, + 0, 0, 0, 0, 0, 0, 0, 2380, 0, 2380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 0, 0, 83, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1671, 2885, 0, 0, 0, 1658, - 0, 535, 1659, 535, 0, 0, 1660, 1661, 1662, 1663, - 1664, 1665, 1666, 0, 0, 535, 535, 0, 0, 535, - 0, 0, 0, 0, 0, 0, 0, 535, 1667, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1669, - 1639, 0, 0, 0, 0, 0, 1670, 0, 0, 0, - 895, 0, 0, 0, 1399, 0, 0, 0, 1682, 535, - 0, 0, 535, 1399, 0, 0, 3018, 0, 1357, 0, - 0, 1671, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1399, 0, 0, - 535, 1672, 0, 0, 0, 647, 0, 0, 0, 0, + 0, 0, 1729, 0, 0, 1730, 1731, 1732, 0, 1733, + 1734, 1735, 1736, 1737, 1738, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1673, 0, 0, 0, 0, 1674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1191, 0, 0, 0, 0, 0, 0, 0, 1675, 1676, - 0, 0, 0, 0, 765, 0, 0, 0, 0, 0, - 0, 0, 535, 0, 1677, 0, 0, 0, 0, 535, - 0, 0, 0, 0, 0, 1553, 1683, 0, 1672, 1684, - 1685, 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, - 0, 0, 535, 2508, 0, 0, 0, 1673, 0, 0, - 3109, 1678, 1674, 0, 1679, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1680, 0, - 0, 1681, 0, 535, 3127, 1675, 1676, 0, 0, 0, - 0, 0, 0, 1962, 0, 0, 0, 535, 0, 0, - 0, 1677, 0, 0, 535, 0, 0, 0, 0, 0, - 0, 0, 535, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1566, 1191, 1566, 1566, - 0, 0, 0, 0, 0, 0, 0, 0, 1678, 0, - 0, 1679, 0, 0, 0, 0, 0, 0, 2885, 2885, - 2885, 2885, 0, 0, 0, 1680, 0, 0, 1681, 0, + 0, 0, 0, 1704, 0, 0, 1705, 0, 0, 0, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, - 1682, 0, 0, 1191, 1191, 0, 0, 0, 2067, 0, - 2068, 0, 0, 1191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1553, - 0, 0, 0, 0, 1639, 0, 1191, 0, 2107, 0, - 0, 0, 0, 0, 2111, 2112, 2113, 2114, 2115, 2116, - 2117, 2118, 0, 0, 0, 0, 2127, 2128, 0, 0, - 0, 2139, 0, 0, 0, 2142, 0, 0, 2150, 2151, - 2152, 2153, 2154, 2155, 2156, 2157, 2158, 1682, 0, 2159, - 0, 0, 0, 0, 0, 0, 0, 0, 1399, 0, + 0, 0, 1713, 0, 1741, 0, 0, 0, 0, 1741, + 0, 0, 0, 1715, 0, 3202, 3203, 0, 0, 0, + 1716, 0, 0, 1508, 0, 0, 2021, 0, 0, 0, + 2978, 0, 0, 2978, 2978, 0, 0, 0, 0, 0, + 0, 0, 2978, 0, 1508, 1508, 0, 1717, 0, 2978, + 3227, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3231, 0, 0, 0, 0, 3233, + 3234, 0, 0, 0, 3235, 0, 0, 0, 0, 3238, + 0, 0, 3241, 3242, 0, 0, 0, 2380, 1372, 0, + 0, 3250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1683, 2185, - 0, 1684, 1685, 1686, 0, 1687, 1688, 1689, 1690, 1691, - 1692, 0, 0, 0, 0, 2525, 2130, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1509, 1509, 1509, 1509, + 1509, 1509, 0, 0, 1509, 1509, 1509, 1509, 1509, 1509, + 1509, 1509, 1509, 1509, 0, 0, 0, 0, 0, 2978, + 2978, 0, 0, 2978, 0, 0, 1718, 2978, 0, 0, + 2978, 2978, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1719, 0, 0, 0, 0, + 1720, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1741, 0, 1721, 1722, 0, 0, 0, 0, 2021, + 2021, 0, 1510, 1510, 1510, 1510, 1510, 1510, 3364, 1723, + 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, + 2021, 0, 2978, 2978, 0, 0, 2978, 0, 0, 0, + 0, 0, 0, 1704, 0, 0, 1705, 0, 0, 0, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 1724, 0, + 0, 1725, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1713, 0, 0, 1726, 0, 0, 1727, 0, + 0, 0, 0, 1715, 0, 0, 0, 0, 0, 0, + 1716, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3397, 0, + 0, 1509, 1509, 0, 0, 0, 0, 1717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1631, 1632, 0, + 0, 1741, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1555, 0, 0, 0, 0, 0, 0, 1553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1683, 0, 0, 1684, 1685, - 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, 0, - 0, 0, 2765, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1372, + 1741, 1728, 0, 0, 1741, 1741, 1741, 1741, 1741, 1741, + 1741, 1741, 0, 2591, 0, 0, 0, 1510, 1510, 0, + 1741, 1741, 0, 0, 3465, 3466, 0, 0, 3467, 0, + 1677, 0, 1741, 0, 0, 1741, 1718, 0, 0, 0, + 0, 0, 0, 1741, 1741, 1741, 1741, 1741, 1741, 1741, + 1741, 1741, 1741, 1509, 0, 1719, 0, 0, 0, 0, + 1720, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1741, 0, + 0, 0, 0, 1721, 1722, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1723, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3541, + 0, 0, 1729, 0, 0, 1730, 1731, 1732, 0, 1733, + 1734, 1735, 1736, 1737, 1738, 0, 0, 0, 0, 3012, + 0, 0, 0, 3553, 0, 0, 0, 0, 1724, 1510, + 0, 1725, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1726, 0, 0, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 83, 0, 0, 0, 0, - 0, 0, 2314, 0, 0, 0, 1399, 0, 0, 2324, - 2325, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1704, 0, 0, 1705, 0, 0, 0, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2885, 2885, 2885, 2885, 2885, 2885, - 2885, 0, 0, 0, 2885, 2885, 1399, 0, 1695, 2885, - 0, 0, 2885, 0, 1191, 2885, 2885, 2885, 2885, 2885, - 2885, 2885, 2885, 2885, 2885, 0, 0, 0, 0, 1658, - 0, 0, 1659, 0, 0, 0, 1660, 1661, 1662, 1663, - 1664, 1665, 1666, 0, 0, 0, 0, 0, 1503, 2404, - 0, 1695, 0, 0, 0, 0, 0, 0, 1667, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1669, - 0, 0, 2130, 0, 0, 0, 1670, 0, 2426, 2427, - 0, 2428, 0, 0, 0, 1555, 0, 0, 0, 0, - 83, 0, 83, 0, 0, 0, 0, 0, 0, 0, - 0, 1671, 0, 0, 0, 0, 0, 0, 0, 0, - 2454, 2455, 0, 0, 2185, 0, 0, 0, 0, 0, - 0, 1191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1695, 0, 0, 0, 0, - 0, 83, 0, 2482, 0, 0, 0, 0, 2487, 0, - 0, 0, 0, 0, 0, 0, 3514, 83, 0, 0, - 0, 83, 0, 0, 0, 0, 0, 1399, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2504, 0, + 0, 0, 1713, 0, 0, 0, 0, 0, 1741, 3608, + 0, 0, 0, 1715, 0, 0, 0, 0, 1741, 1741, + 1716, 0, 0, 0, 1241, 0, 1241, 0, 3202, 0, + 0, 0, 3626, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1717, 3636, 0, + 0, 0, 0, 2380, 0, 2380, 0, 0, 0, 0, + 0, 1728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1672, 0, - 0, 0, 0, 1553, 1553, 0, 0, 0, 0, 2517, - 0, 0, 0, 0, 2520, 2521, 0, 1673, 0, 2885, - 0, 2885, 1674, 2885, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1191, 0, 1675, 1676, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2541, 0, 1695, - 2544, 1677, 2546, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2550, 0, - 0, 0, 0, 0, 0, 1191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1678, 0, - 0, 1679, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1680, 0, 0, 1681, 0, - 0, 0, 0, 0, 0, 0, 1746, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1741, 1741, 1741, 0, + 0, 2021, 2021, 2021, 2021, 2021, 2021, 0, 0, 0, + 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, + 0, 0, 0, 0, 1741, 1741, 0, 3691, 0, 0, + 0, 0, 0, 0, 0, 0, 1718, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1509, + 1509, 0, 1741, 0, 0, 1719, 0, 1741, 0, 0, + 1720, 0, 1729, 0, 0, 1730, 1731, 1732, 0, 1733, + 1734, 1735, 1736, 1737, 1738, 0, 0, 0, 0, 3244, + 0, 0, 0, 1721, 1722, 0, 3729, 0, 0, 0, + 1741, 0, 0, 0, 0, 0, 3202, 0, 0, 1723, + 0, 0, 0, 0, 2979, 0, 0, 0, 0, 1741, + 0, 0, 1741, 1741, 0, 0, 0, 0, 0, 0, + 2021, 2021, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1741, 1510, 1510, 1741, 1724, 1741, + 0, 1725, 0, 1741, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1726, 0, 0, 1727, 0, + 0, 0, 0, 0, 0, 0, 0, 1704, 0, 0, + 1705, 3796, 0, 0, 1706, 1707, 1708, 1709, 1710, 1711, + 1712, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1713, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1715, 0, 0, + 0, 0, 0, 0, 1716, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1241, 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1767, 2157, 0, 0, 1553, 0, 0, - 83, 0, 0, 0, 2885, 0, 0, 2885, 2885, 0, - 0, 0, 0, 1695, 0, 0, 2885, 0, 1553, 1553, - 0, 2635, 0, 2885, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1695, 0, 0, + 0, 1717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 83, 0, 0, 0, 1695, 0, 1695, 0, 1555, - 1555, 0, 1990, 0, 0, 1555, 0, 1682, 1695, 0, - 0, 1695, 0, 0, 0, 0, 1695, 1632, 0, 1695, - 0, 0, 0, 1399, 0, 0, 0, 0, 0, 0, + 0, 1728, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1509, 0, 0, + 0, 0, 3882, 3882, 3882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2885, 2885, 0, 0, 2885, 0, 0, 0, - 2885, 0, 0, 2885, 2885, 0, 0, 0, 0, 0, - 0, 0, 1695, 2736, 0, 0, 0, 1695, 0, 0, - 1695, 1695, 1695, 0, 0, 0, 1695, 0, 0, 0, - 1695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1683, 0, 0, 1684, 1685, - 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, 0, - 0, 0, 2817, 0, 2885, 2885, 0, 0, 2885, 0, - 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, - 0, 1695, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, + 1718, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3882, 0, 0, 0, 1510, 1719, + 0, 0, 0, 0, 1720, 0, 0, 0, 0, 0, + 0, 0, 1729, 0, 0, 1730, 1731, 1732, 0, 1733, + 1734, 1735, 1736, 1737, 1738, 0, 0, 1721, 1722, 3251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1723, 0, 2979, 2979, 2979, 2979, 0, + 0, 0, 0, 0, 1741, 0, 1741, 3882, 0, 0, + 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, + 0, 1741, 0, 0, 1741, 0, 1741, 0, 0, 0, + 1741, 0, 1724, 2021, 2021, 1725, 0, 1741, 1741, 0, + 0, 0, 0, 0, 0, 1741, 0, 0, 0, 1726, + 0, 0, 1727, 0, 0, 0, 1509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1658, 0, 0, 1659, 0, 0, 0, 1660, 1661, - 1662, 1663, 1664, 1665, 1666, 0, 1695, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2805, - 1667, 0, 1695, 2807, 2068, 0, 0, 1695, 0, 0, - 2811, 1669, 0, 0, 0, 0, 0, 0, 1670, 0, - 2820, 0, 0, 2823, 1990, 2825, 0, 0, 0, 0, - 0, 0, 0, 2829, 0, 0, 0, 0, 0, 0, - 0, 2836, 2837, 1671, 0, 0, 0, 0, 2844, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3311, 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1658, 0, 0, - 1659, 0, 0, 0, 1660, 1661, 1662, 1663, 1664, 1665, - 1666, 0, 0, 0, 2888, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2903, 0, 1667, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1669, 0, 0, - 0, 0, 0, 0, 1670, 0, 0, 0, 1554, 0, + 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1672, 0, 0, 0, 0, 0, 0, 0, 0, 1671, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1673, - 0, 0, 0, 0, 1674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2314, 0, 2314, 0, 0, 0, 0, 1675, 1676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1695, 1677, 0, 0, 0, 0, 0, 0, - 1990, 1990, 0, 1555, 1555, 1555, 1555, 1555, 1555, 0, - 0, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, - 1555, 1990, 0, 0, 0, 0, 0, 0, 0, 0, - 1678, 0, 0, 1679, 0, 0, 1672, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1680, 0, 0, - 1681, 0, 0, 0, 0, 1673, 0, 0, 0, 0, - 1674, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3104, 3105, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1675, 1676, 0, 0, 0, 3122, 0, - 0, 0, 0, 0, 0, 0, 0, 1695, 1695, 1677, - 3126, 0, 0, 0, 0, 3128, 3129, 0, 0, 0, - 3130, 0, 0, 0, 0, 3133, 0, 0, 3136, 3137, - 0, 0, 0, 2314, 1399, 0, 0, 3145, 0, 0, - 0, 0, 0, 0, 0, 0, 1678, 1695, 0, 1679, - 0, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1682, - 0, 0, 0, 1680, 1555, 1555, 1681, 1695, 1695, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1695, - 0, 0, 1695, 0, 0, 0, 0, 0, 0, 0, - 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, + 0, 0, 1510, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1695, 0, 3240, 0, 0, + 0, 0, 1704, 0, 0, 1705, 0, 0, 0, 1706, + 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, 0, 0, + 1509, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1713, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1715, 0, 0, 0, 0, 0, 0, 1716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1554, 1554, 3259, 0, 0, 0, 1554, 0, - 0, 0, 0, 0, 0, 1682, 0, 1683, 0, 0, - 1684, 1685, 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, - 0, 0, 0, 0, 2919, 0, 1555, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1717, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1729, 0, 0, 1730, + 1731, 1732, 0, 1733, 1734, 1735, 1736, 1737, 1738, 0, + 0, 0, 0, 3472, 0, 2021, 1510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2979, 2979, 2979, 2979, 2979, 2979, 2979, + 1741, 1741, 0, 2979, 2979, 0, 0, 0, 2979, 0, + 0, 2979, 0, 0, 2979, 2979, 2979, 2979, 2979, 2979, + 2979, 2979, 2979, 2979, 3530, 1741, 0, 0, 0, 1741, + 0, 1741, 1741, 1741, 0, 0, 1741, 0, 0, 1741, + 1741, 0, 0, 0, 0, 1718, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1719, 0, 0, 0, 0, 1720, + 0, 0, 0, 0, 3311, 3311, 3311, 3311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1721, 1722, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3288, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1695, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1695, 1695, 0, 0, 0, 0, - 0, 0, 0, 1683, 0, 0, 1684, 1685, 1686, 0, - 1687, 1688, 1689, 1690, 1691, 1692, 0, 0, 1847, 0, - 1640, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2172, 0, 0, 0, 0, 0, 0, - 1399, 0, 0, 0, 0, 0, 0, 2517, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3352, 3353, - 0, 0, 3354, 0, 1632, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1695, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1554, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1695, 1695, 1695, 0, - 0, 1990, 1990, 1990, 1990, 1990, 1990, 0, 0, 0, - 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, - 0, 0, 0, 0, 1695, 1695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3428, 0, 0, 0, 0, 0, 0, - 0, 0, 1695, 0, 0, 0, 0, 1695, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3440, 0, 0, - 0, 0, 0, 0, 1695, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1695, 0, 0, - 1695, 1695, 0, 1658, 0, 0, 1659, 1990, 1990, 0, - 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, 0, 0, - 0, 1695, 1555, 1555, 1695, 0, 1695, 0, 0, 0, - 1695, 0, 1667, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1669, 0, 0, 0, 0, 3494, 0, - 1670, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1191, 0, 1191, 0, 3104, 0, 0, 0, - 3511, 0, 0, 0, 0, 1671, 0, 0, 0, 0, - 0, 0, 0, 0, 3521, 0, 0, 0, 0, 2314, - 0, 2314, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1741, 0, 0, 0, 1724, 0, 2021, + 1725, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1509, 1741, 0, 1726, 0, 0, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1695, 1554, 1554, 1554, 1554, - 1554, 1554, 0, 0, 1554, 1554, 1554, 1554, 1554, 1554, - 1554, 1554, 1554, 1554, 0, 0, 0, 1658, 0, 0, - 1659, 0, 0, 0, 1660, 1661, 1662, 1663, 1664, 1665, - 1666, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1667, 0, 0, 0, - 0, 0, 1672, 3576, 0, 0, 0, 1669, 0, 0, - 0, 0, 0, 0, 1670, 0, 0, 0, 0, 0, - 0, 1673, 0, 0, 0, 0, 1674, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1671, - 0, 0, 0, 0, 0, 0, 1695, 0, 0, 1675, - 1676, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3613, 0, 0, 0, 0, 1677, 0, 0, 0, 0, - 3104, 0, 0, 0, 0, 0, 1088, 1555, 0, 3175, - 0, 0, 0, 0, 3176, 0, 0, 3179, 3180, 3181, - 0, 0, 0, 0, 0, 0, 0, 1554, 1554, 0, - 0, 0, 1678, 0, 0, 1679, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1695, 3183, 1695, 0, 1680, - 0, 1695, 1681, 3184, 0, 0, 0, 0, 0, 0, - 1695, 0, 0, 1695, 0, 1695, 1672, 0, 0, 1695, - 0, 0, 1990, 1990, 0, 3680, 1695, 1695, 3185, 0, - 0, 0, 0, 0, 1695, 1673, 0, 0, 0, 0, - 1674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1675, 1676, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3206, 0, 0, 1191, 1695, 1677, + 0, 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1695, 0, 0, 0, 0, 0, 1554, - 0, 1682, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1678, 0, 0, 1679, - 0, 0, 0, 0, 0, 3186, 0, 0, 0, 0, - 0, 1555, 0, 1680, 0, 0, 1681, 0, 0, 0, - 0, 0, 0, 0, 3187, 0, 0, 0, 0, 3188, - 0, 0, 0, 0, 0, 3765, 3765, 0, 0, 0, + 1509, 1509, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2979, 0, 2979, 2021, + 2979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3189, 3190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3765, 0, 0, 1683, - 0, 0, 1684, 1685, 1686, 0, 1687, 1688, 1689, 1690, - 1691, 1692, 0, 0, 0, 3192, 3139, 0, 3193, 0, - 0, 0, 0, 0, 0, 1682, 0, 0, 0, 0, - 0, 0, 1980, 0, 0, 0, 0, 0, 0, 1658, - 0, 0, 1659, 0, 0, 0, 1660, 1661, 1662, 1663, - 1664, 1665, 1666, 0, 3765, 0, 0, 0, 0, 1990, - 1555, 0, 0, 0, 0, 0, 0, 0, 1667, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1669, - 0, 0, 0, 0, 1695, 1695, 1670, 0, 0, 0, + 0, 0, 0, 1741, 1741, 1741, 0, 0, 0, 0, + 1728, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3311, 3311, + 3311, 3311, 3311, 3311, 3311, 0, 1510, 1510, 0, 3311, + 3311, 0, 0, 0, 0, 0, 0, 0, 0, 3311, + 0, 3311, 0, 0, 0, 0, 0, 0, 3311, 3311, + 3311, 3311, 3311, 3311, 3311, 3311, 3311, 3311, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1695, 0, 0, 0, 1695, 0, 1695, 1695, - 1695, 1671, 0, 1695, 0, 0, 1695, 1695, 0, 0, - 0, 0, 0, 0, 0, 1695, 0, 0, 0, 0, - 0, 0, 0, 1683, 3195, 0, 1684, 1685, 1686, 0, - 1687, 1688, 1689, 1690, 1691, 1692, 0, 0, 0, 0, - 3146, 3206, 3206, 3206, 3206, 0, 0, 0, 0, 0, + 0, 1741, 0, 0, 0, 0, 1509, 0, 0, 0, + 0, 0, 0, 2979, 0, 0, 2979, 2979, 0, 0, + 0, 0, 0, 0, 0, 2979, 0, 1509, 1509, 0, + 0, 1729, 2979, 0, 1730, 1731, 1732, 0, 1733, 1734, + 1735, 1736, 1737, 1738, 0, 0, 0, 0, 3550, 0, + 0, 0, 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, + 0, 0, 1510, 0, 0, 0, 0, 0, 0, 0, + 2021, 2021, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3311, 1510, 1510, 3311, 0, 3311, 0, 0, + 0, 0, 2979, 2979, 0, 0, 2979, 0, 0, 0, + 2979, 0, 0, 2979, 2979, 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1554, 1554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1695, 0, 0, 0, 0, 0, 1990, 1673, 0, 0, - 0, 0, 1674, 0, 0, 0, 0, 0, 0, 1695, - 2886, 0, 3196, 0, 0, 3197, 3198, 3199, 0, 3200, - 3201, 3202, 3203, 3204, 3205, 1675, 1676, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1695, 0, - 0, 1677, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1990, 0, 0, 0, 0, 0, 0, 0, 1678, 0, - 0, 1679, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1680, 0, 0, 1681, 0, - 0, 0, 1695, 1695, 1695, 0, 0, 0, 0, 0, + 0, 0, 2021, 0, 0, 2979, 2979, 3311, 0, 2979, + 3311, 3311, 0, 0, 0, 3311, 0, 2021, 2021, 0, + 0, 3311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3206, 3206, 3206, - 3206, 3206, 3206, 3206, 0, 1555, 1555, 0, 3206, 3206, - 0, 0, 0, 0, 0, 0, 0, 0, 3206, 0, - 3206, 0, 0, 0, 0, 0, 0, 3206, 3206, 3206, - 3206, 3206, 3206, 3206, 3206, 3206, 3206, 0, 0, 0, - 0, 0, 0, 0, 1658, 0, 0, 1659, 1695, 0, - 1554, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, 0, - 1695, 0, 0, 0, 0, 0, 0, 1682, 0, 0, - 0, 0, 0, 1667, 0, 1554, 0, 0, 0, 0, - 0, 0, 0, 0, 1669, 0, 0, 0, 0, 0, - 1658, 1670, 0, 1659, 0, 0, 0, 1660, 1661, 1662, - 1663, 1664, 1665, 1666, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1695, 0, 1671, 0, 0, 1667, + 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1669, 1695, 0, 0, 0, 0, 0, 1670, 0, 0, - 0, 1695, 0, 0, 0, 0, 0, 0, 0, 1555, - 0, 0, 0, 0, 0, 0, 0, 1990, 1990, 0, - 0, 0, 1671, 2886, 2886, 2886, 2886, 0, 0, 3206, - 1555, 1555, 3206, 0, 3206, 1683, 0, 0, 1684, 1685, - 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, 0, - 0, 0, 3359, 0, 0, 0, 1695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1672, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, - 0, 0, 1673, 1695, 0, 0, 0, 1674, 0, 0, - 1658, 0, 0, 1659, 0, 0, 0, 1660, 1661, 1662, - 1663, 1664, 1665, 1666, 0, 0, 0, 0, 1990, 1672, - 1675, 1676, 0, 3206, 0, 0, 3206, 3206, 0, 1667, - 0, 3206, 0, 1990, 1990, 0, 1677, 3206, 1673, 0, - 1669, 0, 0, 1674, 0, 0, 0, 1670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1695, 0, 0, 0, 0, 0, 1675, 1676, 0, 0, - 0, 0, 1671, 1678, 0, 0, 1679, 0, 0, 0, - 0, 0, 1677, 0, 0, 0, 0, 0, 0, 0, - 1680, 0, 0, 1681, 0, 0, 0, 0, 0, 0, - 3206, 3206, 3206, 0, 1658, 3206, 0, 1659, 3206, 3206, - 0, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, 1678, - 0, 0, 1679, 1554, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1667, 0, 0, 1680, 0, 0, 1681, - 0, 0, 0, 0, 1669, 1695, 0, 0, 0, 0, - 0, 1670, 0, 0, 0, 0, 3206, 3206, 3206, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1672, - 0, 0, 0, 0, 0, 0, 1671, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1673, 0, - 0, 0, 1682, 1674, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3311, 3311, 3311, 0, 0, + 3311, 0, 0, 3311, 3311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1675, 1676, 0, 2886, - 2886, 2886, 2886, 2886, 2886, 2886, 0, 0, 0, 2886, - 2886, 0, 1677, 0, 2886, 0, 0, 2886, 1682, 0, - 2886, 2886, 2886, 2886, 2886, 2886, 2886, 2886, 2886, 2886, - 3417, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1678, - 0, 0, 1679, 1672, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1680, 0, 0, 1681, - 0, 0, 1673, 0, 0, 0, 0, 1674, 0, 0, - 1683, 0, 0, 1684, 1685, 1686, 0, 1687, 1688, 1689, - 1690, 1691, 1692, 0, 0, 0, 0, 3437, 0, 0, - 1675, 1676, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1677, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1683, 0, 0, 1684, - 1685, 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, - 0, 0, 0, 3577, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1678, 0, 0, 1679, 0, 0, 0, - 0, 1554, 0, 0, 0, 0, 0, 0, 1682, 0, - 1680, 0, 0, 1681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1554, 1554, + 1741, 119, 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, + 0, 0, 3311, 3311, 3311, 0, 0, 0, 0, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 0, 0, 132, 1139, + 0, 0, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 143, 1140, 145, 1141, 1142, 0, 148, + 149, 150, 151, 152, 153, 1143, 812, 154, 155, 156, + 157, 1144, 1145, 160, 0, 161, 162, 163, 164, 813, + 0, 814, 0, 1146, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 1147, 195, 196, 1148, 198, 1149, 199, 0, + 200, 201, 202, 203, 204, 205, 14, 15, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 1150, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 1151, 229, 230, 231, 232, + 233, 815, 1152, 235, 0, 236, 237, 1153, 239, 0, + 240, 0, 241, 242, 23, 243, 244, 245, 246, 247, + 248, 0, 249, 250, 0, 0, 1154, 1155, 253, 254, + 0, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 275, 276, 277, 278, 279, 280, 281, + 1156, 1157, 0, 1158, 0, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 1159, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 1160, 331, 1161, 333, 334, 335, 336, + 337, 1162, 338, 339, 340, 341, 1163, 818, 343, 1164, + 345, 346, 347, 0, 348, 349, 0, 0, 1165, 351, + 352, 0, 0, 353, 354, 355, 356, 357, 358, 820, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 27, 28, 29, 0, 373, 374, 821, + 376, 377, 378, 379, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 1166, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 415, 416, 417, 418, 1167, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 34, 0, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 36, 443, 444, 445, 1168, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 823, 38, 0, 464, 465, + 39, 466, 467, 468, 469, 470, 471, 472, 0, 473, + 1169, 1170, 0, 476, 0, 477, 478, 824, 480, 825, + 1171, 482, 483, 826, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 41, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 827, 1172, 0, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 45, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 1173, 0, 46, 0, 0, + 0, 0, 1174, 1175, 1176, 0, 0, 0, 0, 1177, + 0, 1178, 3442, 0, 0, 0, 0, 1179, 1180, 0, + 0, 0, 0, 1181, 1182, 119, 1133, 843, 1134, 1135, + 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 0, 129, 130, 131, 0, 0, 0, + 0, 0, 132, 1139, 0, 0, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 143, 1140, 145, + 1141, 1142, 0, 148, 149, 150, 151, 152, 153, 1143, + 812, 154, 155, 156, 157, 1144, 1145, 160, 0, 161, + 162, 163, 164, 813, 0, 814, 0, 1146, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 0, 177, 178, + 179, 180, 181, 182, 0, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 1147, 195, 196, 1148, + 198, 1149, 199, 0, 200, 201, 202, 203, 204, 205, + 14, 15, 206, 207, 208, 209, 210, 0, 0, 211, + 212, 1150, 214, 215, 216, 217, 0, 218, 219, 220, + 0, 221, 222, 223, 0, 224, 225, 226, 227, 1151, + 229, 230, 231, 232, 233, 815, 1152, 235, 0, 236, + 237, 1153, 239, 0, 240, 0, 241, 242, 23, 243, + 244, 245, 246, 247, 248, 0, 249, 250, 0, 0, + 1154, 1155, 253, 254, 0, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 0, 267, 268, + 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, + 278, 279, 280, 281, 1156, 1157, 0, 1158, 0, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 1159, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 1160, 331, 1161, + 333, 334, 335, 336, 337, 1162, 338, 339, 340, 341, + 1163, 818, 343, 1164, 345, 346, 347, 0, 348, 349, + 0, 0, 1165, 351, 352, 0, 0, 353, 354, 355, + 356, 357, 358, 820, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 27, 28, 29, + 0, 373, 374, 821, 376, 377, 378, 379, 380, 381, + 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, + 0, 391, 392, 393, 1166, 395, 396, 397, 398, 0, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 0, 413, 414, 415, 416, 417, + 418, 1167, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 34, 0, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 36, 443, 444, + 445, 1168, 447, 0, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 823, + 38, 0, 464, 465, 39, 466, 467, 468, 469, 470, + 471, 472, 0, 473, 1169, 1170, 0, 476, 0, 477, + 478, 824, 480, 825, 1171, 482, 483, 826, 485, 486, + 487, 488, 489, 0, 0, 490, 491, 492, 41, 493, + 494, 495, 496, 0, 497, 498, 499, 500, 501, 827, + 1172, 0, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 0, 0, 515, 0, 45, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 1173, + 0, 46, 0, 0, 0, 0, 1174, 1175, 1176, 0, + 0, 0, 0, 1177, 0, 1178, 0, 0, 0, 0, + 0, 1179, 1180, 0, 0, 0, 0, 1181, 1182, 119, + 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 0, 0, 132, 1139, 0, 0, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 143, 1140, 145, 1141, 1142, 0, 148, 149, 150, + 151, 152, 153, 1143, 812, 154, 155, 156, 157, 1144, + 1145, 160, 0, 161, 162, 163, 164, 813, 0, 814, + 0, 1146, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 1147, 195, 196, 1148, 198, 1149, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 1150, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 1151, 229, 230, 231, 232, 233, 815, + 1152, 235, 0, 236, 237, 1153, 239, 0, 240, 0, + 241, 242, 23, 243, 244, 245, 246, 247, 248, 0, + 249, 250, 0, 0, 1154, 1155, 253, 254, 0, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 275, 276, 277, 278, 279, 280, 281, 1156, 1157, + 0, 1158, 0, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, + 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 1159, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 1160, 331, 1161, 333, 334, 335, 336, 337, 1162, + 338, 339, 340, 341, 1163, 818, 343, 1164, 345, 346, + 347, 0, 348, 349, 0, 0, 1165, 351, 352, 0, + 0, 353, 354, 355, 356, 357, 358, 820, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 27, 28, 29, 0, 373, 374, 821, 376, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 1166, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 415, 416, 417, 418, 1167, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 34, + 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 0, 443, 444, 445, 1168, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 823, 0, 0, 464, 465, 39, 466, + 467, 468, 469, 470, 471, 472, 0, 473, 1169, 1170, + 0, 476, 0, 477, 478, 824, 480, 825, 1171, 482, + 483, 826, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 41, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 827, 1172, 0, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 0, 515, + 0, 45, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 1173, 0, 46, 0, 0, 0, 0, + 1174, 1175, 1176, 0, 0, 0, 0, 1177, 0, 1178, + 0, 0, 0, 0, 0, 1179, 1180, 0, 0, 0, + 0, 1181, 1182, 1332, 1133, 843, 1134, 1135, 1136, 1137, + 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 1333, 129, 130, 131, 0, 0, 0, 1334, 0, + 132, 1139, 0, 0, 1335, 134, 135, 0, 136, 137, + 138, 1336, 140, 141, 142, 143, 1140, 1337, 1141, 1142, + 0, 148, 149, 150, 151, 152, 153, 1143, 812, 154, + 155, 156, 157, 1144, 1145, 160, 0, 161, 162, 163, + 164, 813, 0, 1338, 0, 1339, 168, 169, 170, 171, + 172, 1340, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 182, 0, 1341, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 1147, 195, 196, 1148, 198, 1149, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 1342, 0, 211, 212, 1150, + 214, 215, 216, 217, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 1151, 229, 230, + 231, 232, 233, 815, 1152, 235, 0, 236, 237, 1153, + 239, 0, 240, 0, 241, 1343, 0, 1344, 244, 245, + 1345, 1346, 248, 0, 249, 250, 0, 0, 1154, 1155, + 253, 254, 0, 255, 256, 257, 258, 259, 260, 261, + 1347, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 1348, 276, 277, 278, 279, + 280, 281, 1156, 1157, 0, 1158, 0, 285, 1349, 1350, + 288, 1351, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 297, 1352, 299, 1353, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 1354, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 1160, 1355, 1161, 333, 334, + 335, 336, 337, 1162, 338, 339, 1356, 341, 1163, 818, + 343, 1164, 345, 346, 347, 0, 348, 349, 0, 0, + 1165, 351, 352, 0, 0, 353, 354, 355, 1357, 357, + 1358, 820, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 0, 0, 0, 0, 373, + 374, 821, 1359, 377, 378, 379, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, + 392, 393, 1166, 395, 396, 397, 398, 0, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 1360, 416, 417, 418, 1167, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 0, 1361, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 0, 1362, 444, 445, 1168, + 447, 0, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 1363, 462, 823, 0, 0, + 464, 465, 0, 466, 1364, 468, 469, 470, 471, 472, + 0, 473, 1169, 1170, 0, 476, 0, 477, 478, 824, + 480, 825, 1171, 482, 483, 1365, 485, 486, 487, 488, + 489, 0, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 502, 1172, 1366, + 504, 1367, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 0, 0, 515, 0, 0, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 1173, 0, 0, + 0, 0, 0, 0, 1174, 1175, 1176, 0, 0, 0, + 0, 1177, 0, 1178, 1368, 0, 0, 0, 0, 1179, + 1180, 0, 0, 0, 0, 1181, 1182, 119, 1133, 843, + 1134, 1135, 0, 1137, 1138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 0, 129, 130, 131, 0, + 0, 0, 0, 0, 132, 1139, 0, 0, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 143, + 1140, 145, 1141, 1142, 0, 148, 149, 150, 151, 152, + 153, 1143, 812, 154, 155, 156, 157, 1144, 1145, 160, + 0, 161, 162, 163, 164, 813, 0, 814, 0, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 0, + 177, 178, 179, 180, 181, 182, 0, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 1147, 195, + 196, 1148, 198, 0, 199, 0, 200, 201, 202, 203, + 204, 205, 14, 15, 206, 207, 208, 209, 210, 0, + 0, 211, 212, 1150, 214, 215, 216, 217, 0, 218, + 219, 220, 0, 221, 222, 223, 0, 224, 225, 226, + 227, 1151, 229, 230, 231, 232, 233, 815, 1152, 235, + 0, 236, 237, 1153, 239, 0, 240, 0, 241, 242, + 23, 243, 244, 245, 246, 247, 248, 0, 249, 250, + 0, 0, 1154, 1155, 253, 254, 0, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 0, + 267, 268, 269, 270, 271, 272, 273, 0, 274, 275, + 276, 277, 278, 279, 280, 281, 1156, 1157, 0, 1158, + 0, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 297, 298, 299, 300, 0, + 301, 302, 303, 304, 305, 306, 307, 308, 1159, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 1160, + 331, 1161, 333, 334, 335, 336, 337, 0, 338, 339, + 340, 341, 1163, 818, 343, 1164, 345, 346, 347, 0, + 348, 349, 0, 0, 350, 351, 352, 0, 0, 353, + 354, 355, 356, 357, 358, 820, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 27, + 28, 29, 0, 373, 374, 821, 376, 377, 378, 379, + 380, 381, 382, 0, 383, 384, 385, 386, 387, 388, + 389, 390, 0, 391, 392, 393, 1166, 395, 396, 397, + 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 0, 413, 414, 415, + 416, 417, 418, 1167, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 34, 0, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 36, + 443, 444, 445, 1168, 447, 0, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 823, 38, 0, 464, 465, 39, 466, 467, 468, + 469, 470, 471, 472, 0, 473, 1169, 1170, 0, 476, + 0, 477, 478, 824, 480, 825, 1171, 482, 483, 826, + 485, 486, 487, 488, 489, 0, 0, 490, 491, 492, + 41, 493, 494, 495, 496, 0, 497, 498, 499, 500, + 501, 827, 1172, 0, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 0, 0, 515, 0, 45, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 0, 0, 46, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1177, 0, 1178, 0, 0, + 0, 0, 0, 1179, 1180, 0, 0, 0, 0, 1181, + 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2886, 0, 2886, 0, 2886, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 0, 0, 132, 1139, + 0, 0, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 143, 1140, 145, 1141, 1142, 1517, 148, + 149, 150, 151, 152, 153, 1143, 812, 154, 155, 156, + 157, 1144, 1145, 160, 0, 161, 162, 163, 164, 813, + 0, 814, 0, 1146, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 1147, 195, 196, 1148, 198, 1149, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 1150, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 1151, 229, 230, 231, 232, + 233, 815, 1152, 235, 0, 236, 237, 1153, 239, 0, + 240, 0, 241, 242, 1518, 243, 244, 245, 246, 247, + 248, 0, 249, 250, 0, 0, 1154, 1155, 253, 254, + 0, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 275, 276, 277, 278, 279, 280, 281, + 1156, 1157, 0, 1158, 0, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 1519, 297, + 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 1159, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 1160, 331, 1161, 333, 334, 335, 336, + 337, 1162, 338, 339, 340, 341, 1163, 818, 343, 1164, + 345, 346, 347, 0, 348, 349, 0, 0, 1165, 351, + 352, 0, 0, 353, 354, 355, 356, 357, 358, 820, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 821, + 376, 377, 378, 379, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 1166, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 415, 416, 417, 418, 1167, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 0, 443, 444, 445, 1168, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 823, 0, 0, 464, 465, + 0, 466, 467, 468, 469, 470, 471, 472, 0, 473, + 1169, 1170, 0, 476, 1520, 477, 478, 824, 480, 825, + 1171, 482, 483, 826, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 502, 1172, 0, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 1173, 0, 0, 0, 0, + 0, 0, 1174, 1175, 1176, 0, 0, 0, 0, 1177, + 0, 1178, 0, 0, 0, 0, 0, 1179, 1180, 0, + 0, 0, 0, 1181, 1182, 1332, 1133, 843, 1134, 1135, + 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 0, 129, 130, 131, 0, 0, 0, + 1334, 0, 132, 1139, 0, 0, 1335, 134, 135, 0, + 136, 137, 138, 1336, 140, 141, 142, 143, 1140, 1337, + 1141, 1142, 0, 148, 149, 150, 151, 152, 153, 1143, + 812, 154, 155, 156, 157, 1144, 1145, 160, 0, 161, + 162, 163, 164, 813, 0, 1338, 0, 1339, 168, 169, + 170, 171, 172, 1340, 174, 175, 176, 0, 177, 178, + 179, 180, 181, 182, 0, 1341, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 1147, 195, 196, 1148, + 198, 1149, 199, 0, 200, 201, 202, 203, 204, 205, + 0, 0, 206, 207, 208, 209, 210, 0, 0, 211, + 212, 1150, 214, 215, 216, 217, 0, 218, 219, 220, + 0, 221, 222, 223, 0, 224, 225, 226, 227, 1151, + 229, 230, 231, 232, 233, 815, 1152, 235, 0, 236, + 237, 1153, 239, 0, 240, 0, 241, 1343, 0, 1344, + 244, 245, 1345, 1346, 248, 0, 249, 250, 0, 0, + 1154, 1155, 253, 254, 0, 255, 256, 257, 258, 259, + 260, 261, 1347, 263, 264, 265, 266, 0, 267, 268, + 269, 270, 271, 272, 273, 0, 274, 1348, 276, 277, + 278, 279, 280, 281, 1156, 1157, 0, 1158, 0, 285, + 1349, 1350, 288, 1351, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 297, 1352, 299, 1353, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 1354, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 1160, 1355, 1161, + 333, 334, 335, 336, 337, 1162, 338, 339, 1356, 341, + 1163, 818, 343, 1164, 345, 346, 347, 0, 348, 349, + 0, 0, 1165, 351, 352, 0, 0, 353, 354, 355, + 1357, 357, 1358, 820, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 0, 0, 0, + 0, 373, 374, 821, 1359, 377, 378, 379, 380, 381, + 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, + 0, 391, 392, 393, 1166, 395, 396, 397, 398, 0, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 0, 413, 414, 1360, 416, 417, + 418, 1167, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 0, 1361, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 0, 1362, 444, + 445, 1168, 447, 0, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 1363, 462, 823, + 0, 0, 464, 465, 0, 466, 1364, 468, 469, 470, + 471, 472, 0, 473, 1169, 1170, 0, 476, 0, 477, + 478, 824, 480, 825, 1171, 482, 483, 1365, 485, 486, + 487, 488, 489, 0, 0, 490, 491, 492, 0, 493, + 494, 495, 496, 0, 497, 498, 499, 500, 501, 502, + 1172, 2385, 504, 1367, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 0, 0, 515, 0, 0, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 1173, + 0, 0, 0, 0, 0, 0, 1174, 1175, 1176, 0, + 0, 0, 0, 1177, 0, 1178, 0, 0, 0, 0, + 0, 1179, 1180, 0, 0, 0, 0, 1181, 1182, 1332, + 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 1334, 0, 132, 1139, 0, 0, + 1335, 134, 135, 0, 136, 137, 138, 1336, 140, 141, + 142, 143, 1140, 1337, 1141, 1142, 0, 148, 149, 150, + 151, 152, 153, 1143, 812, 154, 155, 156, 157, 1144, + 1145, 160, 0, 161, 162, 163, 164, 813, 0, 1338, + 0, 1339, 168, 169, 170, 171, 172, 1340, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 1341, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 1147, 195, 196, 1148, 198, 1149, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 1150, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 1151, 229, 230, 231, 232, 233, 815, + 1152, 235, 0, 236, 237, 1153, 239, 0, 240, 0, + 241, 1343, 0, 1344, 244, 245, 1345, 1346, 248, 0, + 249, 250, 0, 0, 1154, 1155, 253, 254, 0, 255, + 256, 257, 258, 259, 260, 261, 1347, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 1348, 276, 277, 278, 279, 280, 281, 1156, 1157, + 0, 1158, 0, 285, 1349, 1350, 288, 1351, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 1352, 299, + 1353, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 1354, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 1160, 1355, 1161, 333, 334, 335, 336, 337, 1162, + 338, 339, 1356, 341, 1163, 818, 343, 1164, 345, 346, + 347, 0, 348, 349, 0, 0, 1165, 351, 352, 0, + 0, 353, 354, 355, 1357, 357, 1358, 820, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 0, 0, 0, 0, 373, 374, 821, 1359, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 1166, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 1360, 416, 417, 418, 1167, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, + 1361, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 0, 1362, 444, 445, 1168, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 1363, 462, 823, 0, 0, 464, 465, 0, 466, + 1364, 468, 469, 470, 471, 472, 0, 473, 1169, 1170, + 0, 476, 0, 477, 478, 824, 480, 825, 1171, 482, + 483, 1365, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 0, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 502, 1172, 0, 504, 1367, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 0, 515, + 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 1173, 0, 0, 0, 0, 0, 0, + 1174, 1175, 1176, 0, 0, 0, 0, 1177, 0, 1178, + 2440, 0, 0, 0, 0, 1179, 1180, 0, 0, 0, + 0, 1181, 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, + 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, -1299, 129, 130, 131, 0, 0, 0, 0, -1299, + 132, 1139, 0, 0, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 143, 1140, 145, 1141, 1142, + 0, 148, 149, 150, 151, 152, 153, 1143, 812, 154, + 155, 156, 157, 1144, 1145, 160, 0, 161, 162, 163, + 164, 813, 0, 814, 0, 1146, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 182, 0, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 1147, 195, 196, 1148, 198, 1149, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 0, 0, 211, 212, 1150, + 214, 215, 216, 217, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 1151, 229, 230, + 231, 232, 233, 815, 1152, 235, 0, 236, 237, 1153, + 239, 0, 240, 0, 241, 242, 0, 243, 244, 245, + 246, 247, 248, 0, 249, 250, 0, 0, 1154, 1155, + 253, 254, 0, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 275, 276, 277, 278, 279, + 280, 281, 1156, 1157, 0, 1158, 0, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 297, 298, 299, 300, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 1159, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 1160, 331, 1161, 333, 334, + 335, 336, 337, 1162, 338, 339, 340, 341, 1163, 818, + 343, 1164, 345, 346, 347, 0, 348, 349, 0, 0, + 1165, 351, 352, 0, 0, 353, 354, 355, 356, 357, + 358, 820, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 0, 0, 0, 0, 373, + 374, 821, 376, 377, 378, 379, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, + 392, 393, 1166, 395, 396, 397, 398, 0, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 415, 416, 417, 418, 1167, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 0, 443, 444, 445, 1168, + 447, -1299, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 823, 0, 0, + 464, 465, 0, 466, 467, 468, 469, 470, 471, 472, + 0, 473, 1169, 1170, 0, 476, 0, 477, 478, 824, + 480, 825, 1171, 482, 483, 826, 485, 486, 487, 488, + 489, 0, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 502, 1172, 0, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 0, 0, 515, 0, 0, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 1173, 0, 0, + 0, 0, 0, 0, 1174, 1175, 1176, 0, 0, 0, + 0, 1177, 0, 1178, 0, 0, 0, 0, 0, 1179, + 1180, 0, 0, 0, 0, 1181, 1182, 1332, 1133, 843, + 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 0, 129, 130, 131, 0, + 0, 0, 1334, 0, 132, 1139, 0, 0, 1335, 134, + 135, 0, 136, 137, 138, 1336, 140, 141, 142, 143, + 1140, 1337, 1141, 1142, 0, 148, 149, 150, 151, 152, + 153, 1143, 812, 154, 155, 156, 157, 1144, 1145, 160, + 0, 161, 162, 163, 164, 813, 0, 1338, 0, 1339, + 168, 169, 170, 171, 172, 1340, 174, 175, 176, 0, + 177, 178, 179, 180, 181, 182, 0, 1341, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 1147, 195, + 196, 1148, 198, 1149, 199, 0, 200, 201, 202, 203, + 204, 205, 0, 0, 206, 207, 208, 209, 210, 0, + 0, 211, 212, 1150, 214, 215, 216, 217, 0, 218, + 219, 220, 0, 221, 222, 223, 0, 224, 225, 226, + 227, 1151, 229, 230, 231, 232, 233, 815, 1152, 235, + 0, 236, 237, 1153, 239, 0, 240, 0, 241, 1343, + 0, 1344, 244, 245, 1345, 1346, 248, 0, 249, 250, + 0, 0, 1154, 1155, 253, 254, 0, 255, 256, 257, + 258, 259, 260, 261, 1347, 263, 264, 265, 266, 0, + 267, 268, 269, 270, 271, 272, 273, 0, 274, 1348, + 276, 277, 278, 279, 280, 281, 1156, 1157, 0, 1158, + 0, 285, 1349, 1350, 288, 1351, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 297, 1352, 299, 1353, 0, + 301, 302, 303, 304, 305, 306, 307, 308, 1354, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 1160, + 1355, 1161, 333, 334, 335, 336, 337, 1162, 338, 339, + 1356, 341, 1163, 818, 343, 1164, 345, 346, 347, 0, + 348, 349, 0, 0, 1165, 351, 352, 0, 0, 353, + 354, 355, 1357, 357, 1358, 820, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 0, + 0, 0, 0, 373, 374, 821, 1359, 377, 378, 379, + 380, 381, 382, 0, 383, 384, 385, 386, 387, 388, + 389, 390, 0, 391, 392, 393, 1166, 395, 396, 397, + 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 0, 413, 414, 1360, + 416, 417, 418, 1167, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 0, 1361, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 0, + 1362, 444, 445, 1168, 447, 0, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 1363, + 462, 823, 0, 0, 464, 465, 0, 466, 1364, 468, + 469, 470, 471, 472, 0, 473, 1169, 1170, 0, 476, + 0, 477, 478, 824, 480, 825, 1171, 482, 483, 1365, + 485, 486, 487, 488, 489, 0, 0, 490, 491, 492, + 0, 493, 494, 495, 496, 0, 497, 498, 499, 500, + 501, 502, 1172, 0, 504, 1367, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 0, 0, 515, 0, 0, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 1173, 0, 0, 0, 0, 0, 0, 1174, 1175, + 1176, 0, 0, 0, 0, 1177, 0, 1178, 3247, 0, + 0, 0, 0, 1179, 1180, 0, 0, 0, 0, 1181, + 1182, 1332, 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 1334, 0, 132, 1139, + 0, 0, 1335, 134, 135, 0, 136, 137, 138, 1336, + 140, 141, 142, 143, 1140, 1337, 1141, 1142, 0, 148, + 149, 150, 151, 152, 153, 1143, 812, 154, 155, 156, + 157, 1144, 1145, 160, 0, 161, 162, 163, 164, 813, + 0, 1338, 0, 1339, 168, 169, 170, 171, 172, 1340, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 1341, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 1147, 195, 196, 1148, 198, 1149, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 1150, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 1151, 229, 230, 231, 232, + 233, 815, 1152, 235, 0, 236, 237, 1153, 239, 0, + 240, 0, 241, 1343, 0, 1344, 244, 245, 1345, 1346, + 248, 0, 249, 250, 0, 0, 1154, 1155, 253, 254, + 0, 255, 256, 257, 258, 259, 260, 261, 1347, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 1348, 276, 277, 278, 279, 280, 281, + 1156, 1157, 0, 1158, 0, 285, 1349, 1350, 288, 1351, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 1352, 299, 1353, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 1354, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 1160, 1355, 1161, 333, 334, 335, 336, + 337, 1162, 338, 339, 1356, 341, 1163, 818, 343, 1164, + 345, 346, 347, 0, 348, 349, 0, 0, 1165, 351, + 352, 0, 0, 353, 354, 355, 1357, 357, 1358, 820, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 821, + 1359, 377, 378, 379, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 1166, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 1360, 416, 417, 418, 1167, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 1361, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 0, 1362, 444, 445, 1168, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 1363, 462, 823, 0, 0, 464, 465, + 0, 466, 1364, 468, 469, 470, 471, 472, 0, 473, + 1169, 1170, 0, 476, 0, 477, 478, 824, 480, 825, + 1171, 482, 483, 1365, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 502, 1172, 0, 504, 1367, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 1173, 0, 0, 0, 0, + 0, 0, 1174, 1175, 1176, 0, 0, 0, 0, 1177, + 0, 1178, 0, 0, 0, 0, 0, 1179, 1180, 0, + 0, 0, 0, 1181, 1182, 119, 1133, 843, 1134, 1135, + 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 1787, 129, 130, 131, 0, 0, 0, + 0, 0, 132, 1139, 0, 0, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 143, 1140, 145, + 1141, 1142, 0, 148, 149, 150, 151, 152, 153, 1143, + 812, 154, 155, 156, 157, 1144, 1145, 160, 0, 161, + 162, 163, 164, 813, 0, 814, 0, 1146, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 0, 177, 178, + 179, 180, 181, 182, 0, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 1147, 195, 196, 1148, + 198, 1149, 199, 0, 200, 201, 202, 203, 204, 205, + 0, 0, 206, 207, 208, 209, 210, 0, 0, 211, + 212, 1150, 214, 215, 216, 217, 0, 218, 219, 220, + 0, 221, 222, 223, 0, 224, 225, 226, 227, 1151, + 229, 230, 231, 232, 233, 815, 1152, 235, 0, 236, + 237, 1153, 239, 0, 240, 0, 241, 242, 0, 243, + 244, 245, 246, 247, 248, 0, 249, 250, 0, 0, + 1154, 1155, 253, 254, 0, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 0, 267, 268, + 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, + 278, 279, 280, 281, 1156, 1157, 0, 1158, 0, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 1159, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 1160, 331, 1161, + 333, 334, 335, 336, 337, 1162, 338, 339, 340, 341, + 1163, 818, 343, 1164, 345, 346, 347, 0, 348, 349, + 0, 0, 1165, 351, 352, 0, 0, 353, 354, 355, + 356, 357, 358, 820, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 0, 0, 0, + 0, 373, 374, 821, 376, 377, 378, 379, 380, 381, + 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, + 0, 391, 392, 393, 1166, 395, 396, 397, 398, 0, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 0, 413, 414, 415, 416, 417, + 418, 1167, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 0, 443, 444, + 445, 1168, 447, 0, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 823, + 0, 0, 464, 465, 0, 466, 467, 468, 469, 470, + 471, 472, 0, 473, 1169, 1170, 0, 476, 0, 477, + 478, 824, 480, 825, 1171, 482, 483, 826, 485, 486, + 487, 488, 489, 0, 0, 490, 491, 492, 0, 493, + 494, 495, 496, 0, 497, 498, 499, 500, 501, 502, + 1172, 0, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 0, 0, 515, 0, 0, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 1173, + 0, 0, 0, 0, 0, 0, 1174, 1175, 1176, 0, + 0, 0, 0, 1177, 0, 1178, 0, 0, 0, 0, + 0, 1179, 1180, 0, 0, 0, 0, 1181, 1182, 119, + 1802, 843, 1134, 1135, 1136, 1803, 1138, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 1804, 129, 130, + 131, 0, 0, 0, 0, 0, 132, 1139, 0, 0, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 143, 1140, 145, 1141, 1142, 0, 148, 149, 150, + 151, 152, 153, 1143, 812, 154, 155, 156, 157, 1144, + 1145, 160, 0, 161, 162, 163, 164, 813, 0, 814, + 0, 1146, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 1147, 195, 196, 1148, 198, 1149, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 1150, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 1151, 229, 230, 231, 232, 233, 815, + 1152, 235, 0, 236, 237, 1153, 239, 0, 240, 0, + 241, 242, 0, 243, 244, 245, 246, 247, 248, 0, + 249, 250, 0, 0, 1154, 1155, 253, 254, 0, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 275, 276, 277, 278, 279, 280, 281, 1156, 1157, + 0, 1158, 0, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, + 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 1159, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 1160, 331, 1161, 333, 334, 335, 336, 337, 1162, + 338, 339, 340, 341, 1163, 818, 343, 1164, 345, 346, + 347, 0, 348, 349, 0, 0, 1165, 351, 352, 0, + 0, 353, 354, 355, 356, 357, 358, 820, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 0, 0, 0, 0, 373, 374, 821, 376, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 1166, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 415, 416, 417, 418, 1167, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, + 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 0, 443, 444, 445, 1168, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 823, 0, 0, 464, 465, 0, 466, + 467, 468, 469, 470, 471, 472, 0, 473, 1169, 1170, + 0, 476, 0, 477, 478, 824, 480, 825, 1171, 482, + 483, 826, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 0, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 502, 1172, 0, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 0, 515, + 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 1173, 0, 0, 0, 0, 0, 0, + 1174, 1175, 1176, 0, 0, 0, 0, 1177, 0, 1178, + 0, 0, 0, 0, 0, 1179, 1180, 0, 0, 0, + 0, 1181, 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, + 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 0, 129, 130, 131, 0, 0, 0, 0, 0, + 132, 1139, 0, 0, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 143, 1140, 145, 1141, 1142, + 0, 148, 149, 150, 151, 152, 153, 1143, 812, 154, + 155, 156, 157, 1144, 1145, 160, 0, 161, 162, 163, + 164, 813, 0, 814, 0, 1146, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 182, 0, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 1147, 195, 196, 1148, 198, 1149, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 0, 0, 211, 212, 1150, + 214, 215, 216, 217, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 1151, 229, 230, + 231, 232, 233, 815, 1152, 235, 0, 236, 237, 1153, + 239, 0, 240, 0, 241, 242, 1518, 243, 244, 245, + 246, 247, 248, 0, 249, 250, 0, 0, 1154, 1155, + 253, 254, 0, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 275, 276, 277, 278, 279, + 280, 281, 1156, 1157, 0, 1158, 0, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 297, 298, 299, 300, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 1159, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 1160, 331, 1161, 333, 334, + 335, 336, 337, 1162, 338, 339, 340, 341, 1163, 818, + 343, 1164, 345, 346, 347, 0, 348, 349, 0, 0, + 1165, 351, 352, 0, 0, 353, 354, 355, 356, 357, + 358, 820, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 0, 0, 0, 0, 373, + 374, 821, 376, 377, 378, 379, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, + 392, 393, 1166, 395, 396, 397, 398, 0, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 415, 416, 417, 418, 1167, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 0, 443, 444, 445, 1168, + 447, 0, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 823, 0, 0, + 464, 465, 0, 466, 467, 468, 469, 470, 471, 472, + 0, 473, 1169, 1170, 0, 476, 0, 477, 478, 824, + 480, 825, 1171, 482, 483, 826, 485, 486, 487, 488, + 489, 0, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 502, 1172, 0, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 0, 0, 515, 0, 0, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 1173, 0, 0, + 0, 0, 0, 0, 1174, 1175, 1176, 0, 0, 0, + 0, 1177, 0, 1178, 0, 0, 0, 0, 0, 1179, + 1180, 0, 0, 0, 0, 1181, 1182, 119, 1133, 843, + 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 0, 129, 130, 131, 0, + 0, 0, 0, 0, 132, 1139, 0, 0, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 143, + 1140, 145, 1141, 1142, 0, 148, 149, 150, 151, 152, + 153, 1143, 812, 154, 155, 156, 157, 1144, 1145, 160, + 0, 161, 162, 163, 164, 813, 0, 814, 0, 1146, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 0, + 177, 178, 179, 180, 181, 182, 0, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 1147, 195, + 196, 1148, 198, 1149, 199, 0, 200, 201, 202, 203, + 204, 205, 0, 0, 206, 207, 208, 209, 210, 0, + 0, 211, 212, 1150, 214, 215, 216, 217, 0, 218, + 219, 220, 0, 221, 222, 223, 0, 224, 225, 226, + 227, 1151, 229, 230, 231, 232, 233, 815, 1152, 235, + 0, 236, 237, 1153, 239, 0, 240, 0, 241, 242, + 0, 243, 244, 245, 246, 247, 248, 0, 249, 250, + 0, 0, 1154, 1155, 253, 254, 0, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 0, + 267, 268, 269, 270, 271, 272, 273, 0, 274, 275, + 276, 277, 278, 279, 280, 281, 1156, 1157, 0, 1158, + 0, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 297, 298, 299, 300, 0, + 301, 302, 303, 304, 305, 306, 307, 308, 1159, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 1160, + 331, 1161, 333, 334, 335, 336, 337, 1162, 338, 339, + 340, 341, 1163, 818, 343, 1164, 345, 346, 347, 0, + 348, 349, 0, 0, 1165, 351, 352, 0, 0, 353, + 354, 355, 356, 357, 358, 820, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 0, + 0, 0, 0, 373, 374, 821, 376, 377, 378, 379, + 380, 381, 382, 0, 383, 384, 385, 386, 387, 388, + 389, 390, 0, 391, 392, 393, 1166, 395, 396, 397, + 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 0, 413, 414, 415, + 416, 417, 418, 1167, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 0, + 443, 444, 445, 1168, 447, 0, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 823, 0, 0, 464, 465, 0, 466, 467, 468, + 469, 470, 471, 472, 0, 473, 1169, 1170, 0, 476, + 0, 477, 478, 824, 480, 825, 1171, 482, 483, 826, + 485, 486, 487, 488, 489, 0, 0, 490, 491, 492, + 0, 493, 494, 495, 496, 0, 497, 498, 499, 500, + 501, 502, 1172, 0, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 0, 0, 515, 0, 0, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 1173, 0, 0, 0, 0, 0, 0, 1174, 1175, + 1176, 0, 0, 0, 0, 1177, 0, 1178, 2151, 0, + 0, 0, 0, 1179, 1180, 0, 0, 0, 0, 1181, + 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 0, 0, 132, 1139, + 0, 0, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 143, 1140, 145, 1141, 1142, 0, 148, + 149, 150, 151, 152, 153, 1143, 812, 154, 155, 156, + 157, 1144, 1145, 160, 0, 161, 162, 163, 164, 813, + 0, 814, 0, 1146, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 1147, 195, 196, 1148, 198, 1149, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 1150, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 1151, 229, 230, 231, 232, + 233, 815, 1152, 235, 0, 236, 237, 1153, 239, 0, + 240, 0, 241, 242, 0, 243, 244, 245, 246, 247, + 248, 0, 249, 250, 0, 0, 1154, 1155, 253, 254, + 0, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 275, 276, 277, 278, 279, 280, 281, + 1156, 1157, 0, 1158, 0, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 1159, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 1160, 331, 1161, 333, 334, 335, 336, + 337, 1162, 338, 339, 340, 341, 1163, 818, 343, 1164, + 345, 346, 347, 0, 348, 349, 0, 0, 1165, 351, + 352, 0, 0, 353, 354, 355, 356, 357, 358, 820, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 821, + 376, 377, 378, 379, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 1166, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 415, 416, 417, 418, 1167, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 0, 443, 444, 445, 1168, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 823, 0, 0, 464, 465, + 0, 466, 467, 468, 469, 470, 471, 472, 0, 473, + 1169, 1170, 0, 476, 0, 477, 478, 824, 480, 825, + 1171, 482, 483, 826, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 502, 1172, 0, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 1173, 0, 0, 0, 0, + 0, 0, 1174, 1175, 1176, 0, 0, 0, 0, 1177, + 0, 1178, 0, 0, 0, 0, 0, 1179, 1180, 0, + 0, 0, 2762, 1181, 1182, 119, 1133, 843, 1134, 1135, + 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 0, 129, 130, 131, 0, 0, 0, + 0, 0, 132, 1139, 0, 0, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 143, 1140, 145, + 1141, 1142, 0, 148, 149, 150, 151, 152, 153, 1143, + 812, 154, 155, 156, 157, 1144, 1145, 160, 0, 161, + 162, 163, 164, 813, 0, 814, 0, 1146, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 0, 177, 178, + 179, 180, 181, 182, 0, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 1147, 195, 196, 1148, + 198, 1149, 199, 0, 200, 201, 202, 203, 204, 205, + 0, 0, 206, 207, 208, 209, 210, 0, 0, 211, + 212, 1150, 214, 215, 216, 217, 0, 218, 219, 220, + 0, 221, 222, 223, 0, 224, 225, 226, 227, 1151, + 229, 230, 231, 232, 233, 815, 1152, 235, 0, 236, + 237, 1153, 239, 0, 240, 0, 241, 242, 0, 243, + 244, 245, 246, 247, 248, 0, 249, 250, 0, 0, + 1154, 1155, 253, 254, 0, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 0, 267, 268, + 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, + 278, 279, 280, 281, 1156, 1157, 0, 1158, 0, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 1159, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 1160, 331, 1161, + 333, 334, 335, 336, 337, 1162, 338, 339, 340, 341, + 1163, 818, 343, 1164, 345, 346, 347, 0, 348, 349, + 0, 0, 1165, 351, 352, 0, 0, 353, 354, 355, + 356, 357, 358, 820, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 0, 0, 0, + 0, 373, 374, 821, 376, 377, 378, 379, 380, 381, + 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, + 0, 391, 392, 393, 1166, 395, 396, 397, 398, 0, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 0, 413, 414, 415, 416, 417, + 418, 1167, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 0, 443, 444, + 445, 1168, 447, 0, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 823, + 0, 0, 464, 465, 2815, 466, 467, 468, 469, 470, + 471, 472, 0, 473, 1169, 1170, 0, 476, 0, 477, + 478, 824, 480, 825, 1171, 482, 483, 826, 485, 486, + 487, 488, 489, 0, 0, 490, 491, 492, 0, 493, + 494, 495, 496, 0, 497, 498, 499, 500, 501, 502, + 1172, 0, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 0, 0, 515, 0, 0, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 1173, + 0, 0, 0, 0, 0, 0, 1174, 1175, 1176, 0, + 0, 0, 0, 1177, 0, 1178, 0, 0, 0, 0, + 0, 1179, 1180, 0, 0, 0, 0, 1181, 1182, 119, + 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 0, 0, 132, 1139, 0, 0, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 143, 1140, 145, 1141, 1142, 0, 148, 149, 150, + 151, 152, 153, 1143, 812, 154, 155, 156, 157, 1144, + 1145, 160, 0, 161, 162, 163, 164, 813, 0, 814, + 0, 1146, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 1147, 195, 196, 1148, 198, 1149, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 1150, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 1151, 229, 230, 231, 232, 233, 815, + 1152, 235, 0, 236, 237, 1153, 239, 0, 240, 0, + 241, 242, 0, 243, 244, 245, 246, 247, 248, 0, + 249, 250, 0, 0, 1154, 1155, 253, 254, 0, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 275, 276, 277, 278, 279, 280, 281, 1156, 1157, + 0, 1158, 0, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, + 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 1159, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 1160, 331, 1161, 333, 334, 335, 336, 337, 1162, + 338, 339, 340, 341, 1163, 818, 343, 1164, 345, 346, + 347, 0, 348, 349, 0, 0, 1165, 351, 352, 0, + 0, 353, 354, 355, 356, 357, 358, 820, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 0, 0, 0, 0, 373, 374, 821, 376, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 1166, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 415, 416, 417, 418, 1167, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, + 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 0, 443, 444, 445, 1168, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 823, 0, 0, 464, 465, 0, 466, + 467, 468, 469, 470, 471, 472, 0, 473, 1169, 1170, + 0, 476, 0, 477, 478, 824, 480, 825, 1171, 482, + 483, 826, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 0, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 502, 1172, 0, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 2936, 515, + 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 1173, 0, 0, 0, 0, 0, 0, + 1174, 1175, 1176, 0, 0, 0, 0, 1177, 0, 1178, + 0, 0, 0, 0, 0, 1179, 1180, 0, 0, 0, + 0, 1181, 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, + 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 3190, 129, 130, 131, 0, 0, 0, 0, 0, + 132, 1139, 0, 0, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 143, 1140, 145, 1141, 1142, + 0, 148, 149, 150, 151, 152, 153, 1143, 812, 154, + 155, 156, 157, 1144, 1145, 160, 0, 161, 162, 163, + 164, 813, 0, 814, 0, 1146, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 182, 0, 183, 184, 3191, 186, 187, 188, 189, + 190, 191, 192, 193, 1147, 195, 196, 1148, 198, 1149, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 0, 0, 211, 212, 1150, + 214, 215, 216, 217, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 1151, 229, 230, + 231, 232, 233, 815, 1152, 235, 0, 236, 237, 1153, + 239, 0, 240, 0, 241, 242, 0, 243, 244, 245, + 246, 247, 248, 0, 249, 250, 0, 0, 3192, 1155, + 253, 254, 0, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 275, 276, 277, 278, 279, + 280, 281, 1156, 1157, 0, 1158, 0, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 297, 298, 299, 300, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 1159, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 1160, 331, 1161, 333, 334, + 335, 336, 337, 1162, 338, 339, 340, 341, 1163, 818, + 343, 1164, 345, 346, 347, 0, 348, 349, 0, 0, + 1165, 351, 352, 0, 0, 353, 354, 355, 356, 357, + 358, 820, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 0, 0, 0, 0, 373, + 374, 821, 376, 377, 378, 379, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, + 392, 393, 1166, 395, 396, 397, 398, 0, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 415, 416, 417, 3193, 1167, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 0, 443, 444, 445, 1168, + 447, 0, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 823, 0, 0, + 464, 465, 0, 466, 467, 468, 469, 470, 471, 472, + 0, 473, 1169, 1170, 0, 476, 0, 477, 478, 824, + 480, 825, 1171, 482, 483, 826, 485, 486, 487, 488, + 489, 0, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 502, 1172, 0, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 0, 0, 515, 0, 0, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 1173, 0, 0, + 0, 0, 0, 0, 1174, 1175, 1176, 0, 0, 0, + 0, 1177, 0, 3194, 0, 0, 0, 0, 0, 1179, + 1180, 0, 0, 0, 0, 1181, 1182, 119, 1133, 843, + 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 0, 129, 130, 131, 0, + 0, 0, 0, 0, 132, 1139, 0, 0, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 143, + 1140, 145, 1141, 1142, 0, 148, 149, 150, 151, 152, + 153, 1143, 812, 154, 155, 156, 157, 1144, 1145, 160, + 0, 161, 162, 163, 164, 813, 0, 814, 0, 1146, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 0, + 177, 178, 179, 180, 181, 182, 0, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 1147, 195, + 196, 1148, 198, 1149, 199, 0, 200, 201, 202, 203, + 204, 205, 0, 0, 206, 207, 208, 209, 210, 0, + 0, 211, 212, 1150, 214, 215, 216, 217, 0, 218, + 219, 220, 0, 221, 222, 223, 0, 224, 225, 226, + 227, 1151, 229, 230, 231, 232, 233, 815, 1152, 235, + 0, 236, 237, 1153, 239, 0, 240, 0, 241, 242, + 0, 243, 244, 245, 246, 247, 248, 0, 249, 250, + 0, 0, 1154, 1155, 253, 254, 0, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 0, + 267, 268, 269, 270, 271, 272, 273, 0, 274, 275, + 276, 277, 278, 279, 280, 281, 1156, 1157, 0, 1158, + 0, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 297, 298, 299, 300, 0, + 301, 302, 303, 304, 305, 306, 307, 308, 1159, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 1160, + 331, 1161, 333, 334, 335, 336, 337, 1162, 338, 339, + 340, 341, 1163, 818, 343, 1164, 345, 346, 347, 0, + 348, 349, 0, 0, 1165, 351, 352, 0, 0, 353, + 354, 355, 356, 357, 358, 820, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 0, + 0, 0, 0, 373, 374, 821, 376, 377, 378, 379, + 380, 381, 382, 0, 383, 384, 385, 386, 387, 388, + 389, 390, 0, 391, 392, 393, 1166, 395, 396, 397, + 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 0, 413, 414, 415, + 416, 417, 418, 1167, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 0, + 443, 444, 445, 1168, 447, 0, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 823, 0, 0, 464, 465, 3396, 466, 467, 468, + 469, 470, 471, 472, 0, 473, 1169, 1170, 0, 476, + 0, 477, 478, 824, 480, 825, 1171, 482, 483, 826, + 485, 486, 487, 488, 489, 0, 0, 490, 491, 492, + 0, 493, 494, 495, 496, 0, 497, 498, 499, 500, + 501, 502, 1172, 0, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 0, 0, 515, 0, 0, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 1173, 0, 0, 0, 0, 0, 0, 1174, 1175, + 1176, 0, 0, 0, 0, 1177, 0, 1178, 0, 0, + 0, 0, 0, 1179, 1180, 0, 0, 0, 0, 1181, + 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 0, 0, 132, 1139, + 0, 0, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 143, 1140, 145, 1141, 1142, 0, 148, + 149, 150, 151, 152, 153, 1143, 812, 154, 155, 156, + 157, 1144, 1145, 160, 0, 161, 162, 163, 164, 813, + 0, 814, 0, 1146, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 1147, 195, 196, 1148, 198, 1149, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 1150, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 1151, 229, 230, 231, 232, + 233, 815, 1152, 235, 0, 236, 237, 1153, 239, 0, + 240, 0, 241, 242, 0, 243, 244, 245, 246, 247, + 248, 0, 249, 250, 0, 0, 1154, 1155, 253, 254, + 0, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 275, 276, 277, 278, 279, 280, 281, + 1156, 1157, 0, 1158, 0, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 1159, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 1160, 331, 1161, 333, 334, 335, 336, + 337, 1162, 338, 339, 340, 341, 1163, 818, 343, 1164, + 345, 346, 347, 0, 348, 349, 0, 0, 1165, 351, + 352, 0, 0, 353, 354, 355, 356, 357, 358, 820, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 821, + 376, 377, 378, 379, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 1166, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 415, 416, 417, 418, 1167, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 0, 443, 444, 445, 1168, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 823, 0, 0, 464, 465, + 0, 466, 467, 468, 469, 470, 471, 472, 0, 473, + 1169, 1170, 0, 476, 0, 477, 478, 824, 480, 825, + 1171, 482, 483, 826, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 502, 1172, 0, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 1173, 0, 0, 0, 0, + 0, 0, 1174, 1175, 1176, 0, 0, 0, 0, 1177, + 0, 1178, 0, 0, 0, 0, 0, 1179, 1180, 0, + 0, 0, 3468, 1181, 1182, 119, 1133, 843, 1134, 1135, + 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 0, 129, 130, 131, 0, 0, 0, + 0, 0, 132, 1139, 0, 0, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 143, 1140, 145, + 1141, 1142, 0, 148, 149, 150, 151, 152, 153, 1143, + 812, 154, 155, 156, 157, 1144, 1145, 160, 0, 161, + 162, 163, 164, 813, 0, 814, 0, 1146, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 0, 177, 178, + 179, 180, 181, 182, 0, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 1147, 195, 196, 1148, + 198, 1149, 199, 0, 200, 201, 202, 203, 204, 205, + 0, 0, 206, 207, 208, 209, 210, 0, 0, 211, + 212, 1150, 214, 215, 216, 217, 0, 218, 219, 220, + 0, 221, 222, 223, 0, 224, 225, 226, 227, 1151, + 229, 230, 231, 232, 233, 815, 1152, 235, 0, 236, + 237, 1153, 239, 0, 240, 0, 241, 242, 0, 243, + 244, 245, 246, 247, 248, 0, 249, 250, 0, 0, + 1154, 1155, 253, 254, 0, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 0, 267, 268, + 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, + 278, 279, 280, 281, 1156, 1157, 0, 1158, 0, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 1159, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 1160, 331, 1161, + 333, 334, 335, 336, 337, 1162, 338, 339, 340, 341, + 1163, 818, 343, 1164, 345, 346, 347, 0, 348, 349, + 0, 0, 1165, 351, 352, 0, 0, 353, 354, 355, + 356, 357, 358, 820, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 0, 0, 0, + 0, 373, 374, 821, 376, 377, 378, 379, 380, 381, + 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, + 0, 391, 392, 393, 1166, 395, 396, 397, 398, 0, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 0, 413, 414, 415, 416, 417, + 418, 1167, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 0, 443, 444, + 445, 1168, 447, 0, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 823, + 0, 0, 464, 465, 3607, 466, 467, 468, 469, 470, + 471, 472, 0, 473, 1169, 1170, 0, 476, 0, 477, + 478, 824, 480, 825, 1171, 482, 483, 826, 485, 486, + 487, 488, 489, 0, 0, 490, 491, 492, 0, 493, + 494, 495, 496, 0, 497, 498, 499, 500, 501, 502, + 1172, 0, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 0, 0, 515, 0, 0, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 1173, + 0, 0, 0, 0, 0, 0, 1174, 1175, 1176, 0, + 0, 0, 0, 1177, 0, 1178, 0, 0, 0, 0, + 0, 1179, 1180, 0, 0, 0, 0, 1181, 1182, 119, + 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 0, 0, 132, 1139, 0, 0, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 143, 1140, 145, 1141, 1142, 0, 148, 149, 150, + 151, 152, 153, 1143, 812, 154, 155, 156, 157, 1144, + 1145, 160, 0, 161, 162, 163, 164, 813, 0, 814, + 0, 1146, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 1147, 195, 196, 1148, 198, 1149, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 1150, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 1151, 229, 230, 231, 232, 233, 815, + 1152, 235, 0, 236, 237, 1153, 239, 0, 240, 0, + 241, 242, 0, 243, 244, 245, 246, 247, 248, 0, + 249, 250, 0, 0, 1154, 1155, 253, 254, 0, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 275, 276, 277, 278, 279, 280, 281, 1156, 1157, + 0, 1158, 0, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, + 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 1159, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 1160, 331, 1161, 333, 334, 335, 336, 337, 1162, + 338, 339, 340, 341, 1163, 818, 343, 1164, 345, 346, + 347, 0, 348, 349, 0, 0, 1165, 351, 352, 0, + 0, 353, 354, 355, 356, 357, 358, 820, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 0, 0, 0, 0, 373, 374, 821, 376, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 1166, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 415, 416, 417, 418, 1167, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, + 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 0, 443, 444, 445, 1168, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 823, 0, 0, 464, 465, 0, 466, + 467, 468, 469, 470, 471, 472, 0, 473, 1169, 1170, + 0, 476, 0, 477, 478, 824, 480, 825, 1171, 482, + 483, 826, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 0, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 502, 1172, 0, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 0, 515, + 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 1173, 0, 0, 0, 0, 0, 0, + 1174, 1175, 1176, 0, 0, 0, 0, 1177, 0, 1178, + 0, 0, 0, 0, 0, 1179, 1180, 0, 0, 0, + 0, 1181, 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, + 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 0, 129, 130, 131, 0, 0, 0, 0, 0, + 132, 1139, 0, 0, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 143, 1140, 145, 1141, 1142, + 0, 148, 149, 150, 151, 152, 153, 1143, 812, 154, + 155, 156, 157, 1144, 1145, 160, 0, 161, 162, 163, + 164, 813, 0, 814, 0, 1146, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 182, 0, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 1147, 195, 196, 1148, 198, 1149, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 0, 0, 211, 212, 1150, + 214, 215, 216, 217, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 1151, 229, 230, + 231, 232, 233, 815, 1152, 235, 0, 236, 237, 1153, + 239, 0, 240, 0, 241, 242, 0, 243, 244, 245, + 246, 247, 248, 0, 249, 250, 0, 0, 1154, 1155, + 253, 254, 0, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 275, 276, 277, 278, 279, + 280, 281, 1156, 1157, 0, 1158, 0, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 297, 298, 299, 300, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 1159, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 1160, 331, 1161, 333, 334, + 335, 336, 337, 1162, 338, 339, 340, 341, 1163, 818, + 343, 1164, 345, 346, 347, 0, 348, 349, 0, 0, + 1165, 351, 352, 0, 0, 353, 354, 355, 356, 357, + 358, 820, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 0, 0, 0, 0, 373, + 374, 821, 376, 377, 378, 379, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, + 392, 393, 1166, 395, 396, 397, 398, 0, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 415, 416, 417, 418, 1167, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 0, 443, 444, 445, 1168, + 447, 0, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 823, 0, 0, + 464, 465, 0, 466, 467, 468, 469, 470, 471, 472, + 0, 473, 1169, 1170, 0, 476, 0, 477, 478, 824, + 480, 825, 1171, 482, 483, 826, 485, 486, 487, 488, + 489, 0, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 502, 1172, 0, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 0, 0, 515, 0, 0, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 1173, 0, 0, + 0, 0, 0, 0, 1807, 1808, 1176, 0, 0, 0, + 0, 1177, 0, 1178, 0, 0, 0, 0, 0, 1179, + 1180, 0, 0, 0, 0, 1181, 1182, 119, 2296, 843, + 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 0, 129, 130, 131, 0, + 0, 0, 0, 0, 132, 1139, 0, 0, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 143, + 1140, 145, 1141, 1142, 0, 148, 149, 150, 151, 152, + 153, 1143, 812, 154, 155, 156, 157, 1144, 1145, 160, + 0, 161, 162, 163, 164, 813, 0, 814, 0, 1146, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 0, + 177, 178, 179, 180, 181, 182, 0, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 1147, 195, + 196, 1148, 198, 1149, 199, 0, 200, 201, 202, 203, + 204, 205, 0, 0, 206, 207, 208, 209, 210, 0, + 0, 211, 212, 1150, 214, 215, 216, 217, 0, 218, + 219, 220, 0, 221, 222, 223, 0, 224, 225, 226, + 227, 1151, 229, 230, 231, 232, 233, 815, 1152, 235, + 0, 236, 237, 1153, 239, 0, 240, 0, 241, 242, + 0, 243, 244, 245, 246, 247, 248, 0, 249, 250, + 0, 0, 1154, 1155, 253, 254, 0, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 0, + 267, 268, 269, 270, 271, 272, 273, 0, 274, 275, + 276, 277, 278, 279, 280, 281, 1156, 1157, 0, 1158, + 0, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 297, 298, 299, 300, 0, + 301, 302, 303, 304, 305, 306, 307, 308, 1159, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 1160, + 331, 1161, 333, 334, 335, 336, 337, 1162, 338, 339, + 340, 341, 1163, 818, 343, 1164, 345, 346, 347, 0, + 348, 349, 0, 0, 1165, 351, 352, 0, 0, 353, + 354, 355, 356, 357, 358, 820, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 0, + 0, 0, 0, 373, 374, 821, 376, 377, 378, 379, + 380, 381, 382, 0, 383, 384, 385, 386, 387, 388, + 389, 390, 0, 391, 392, 393, 1166, 395, 396, 397, + 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 0, 413, 414, 415, + 416, 417, 418, 1167, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 0, + 443, 444, 445, 1168, 447, 0, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 823, 0, 0, 464, 465, 0, 466, 467, 468, + 469, 470, 471, 472, 0, 473, 1169, 1170, 0, 476, + 0, 477, 478, 824, 480, 825, 1171, 482, 483, 826, + 485, 486, 487, 488, 489, 0, 0, 490, 491, 492, + 0, 493, 494, 495, 496, 0, 497, 498, 499, 500, + 501, 502, 1172, 0, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 0, 0, 515, 0, 0, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 1173, 0, 0, 0, 0, 0, 0, 1174, 1175, + 1176, 0, 0, 0, 0, 1177, 0, 1178, 0, 0, + 0, 0, 0, 1179, 1180, 0, 0, 0, 0, 1181, + 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1682, 0, 0, 0, 1683, 0, 0, 1684, - 1685, 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, - 0, 0, 0, 3669, 0, 0, 0, 0, 0, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 0, 0, 132, 1139, + 0, 0, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 143, 1140, 145, 1141, 1142, 0, 148, + 149, 150, 151, 152, 153, 1143, 812, 154, 155, 156, + 157, 1144, 1145, 160, 0, 161, 162, 163, 164, 813, + 0, 814, 0, 1146, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 1147, 195, 196, 1148, 198, 1149, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 1150, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 1151, 229, 230, 231, 232, + 233, 815, 1152, 235, 0, 236, 237, 1153, 239, 0, + 240, 0, 241, 242, 0, 243, 244, 245, 246, 247, + 248, 0, 249, 250, 0, 0, 1154, 1155, 253, 254, + 0, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 275, 276, 277, 278, 279, 280, 281, + 1156, 1157, 0, 1158, 0, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 1159, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 1160, 331, 1161, 333, 334, 335, 336, + 337, 1162, 338, 339, 340, 341, 1163, 818, 343, 1164, + 345, 346, 347, 0, 348, 349, 0, 0, 1165, 351, + 352, 0, 0, 353, 354, 355, 356, 357, 358, 820, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 821, + 376, 377, 378, 379, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 1166, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 415, 416, 417, 418, 1167, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 0, 443, 444, 445, 1168, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 823, 0, 0, 464, 465, + 0, 466, 467, 468, 469, 470, 471, 472, 0, 473, + 1169, 1170, 0, 476, 0, 477, 478, 824, 480, 825, + 1171, 482, 483, 826, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 502, 1172, 0, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 1173, 0, 0, 0, 0, + 0, 0, 1174, 2379, 1176, 0, 0, 0, 0, 1177, + 0, 1178, 0, 0, 0, 0, 0, 1179, 1180, 0, + 0, 0, 0, 1181, 1182, 119, 1133, 843, 1134, 1135, + 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 0, 129, 130, 131, 0, 0, 0, + 0, 0, 132, 1139, 0, 0, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 143, 1140, 145, + 1141, 1142, 0, 148, 149, 150, 151, 152, 153, 1143, + 812, 154, 155, 156, 157, 1144, 1145, 160, 0, 161, + 162, 163, 164, 813, 0, 814, 0, 1146, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 0, 177, 178, + 179, 180, 181, 182, 0, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 1147, 195, 196, 1148, + 198, 1149, 199, 0, 200, 201, 202, 203, 204, 205, + 0, 0, 206, 207, 208, 209, 210, 0, 0, 211, + 212, 1150, 214, 215, 216, 217, 0, 218, 219, 220, + 0, 221, 222, 223, 0, 224, 225, 226, 227, 1151, + 229, 230, 231, 232, 233, 815, 1152, 235, 0, 236, + 237, 1153, 239, 0, 240, 0, 241, 242, 0, 243, + 244, 245, 246, 247, 248, 0, 249, 250, 0, 0, + 1154, 1155, 253, 254, 0, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 0, 267, 268, + 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, + 278, 279, 280, 281, 1156, 1157, 0, 1158, 0, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 1159, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 1160, 331, 1161, + 333, 334, 335, 336, 337, 1162, 338, 339, 340, 341, + 1163, 818, 343, 1164, 345, 346, 347, 0, 348, 349, + 0, 0, 1165, 351, 352, 0, 0, 353, 354, 355, + 356, 357, 358, 820, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 0, 0, 0, + 0, 373, 374, 821, 376, 377, 378, 379, 380, 381, + 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, + 0, 391, 392, 393, 1166, 395, 396, 397, 398, 0, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 0, 413, 414, 415, 416, 417, + 418, 1167, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 0, 443, 444, + 445, 1168, 447, 0, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 823, + 0, 0, 464, 465, 0, 466, 467, 468, 469, 470, + 471, 472, 0, 473, 1169, 1170, 0, 476, 0, 477, + 478, 824, 480, 825, 1171, 482, 483, 826, 485, 486, + 487, 488, 489, 0, 0, 490, 491, 492, 0, 493, + 494, 495, 496, 0, 497, 498, 499, 500, 501, 502, + 1172, 0, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 0, 0, 515, 0, 0, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 1173, + 0, 0, 0, 0, 0, 0, 1174, 1175, 1176, 0, + 0, 0, 0, 1177, 0, 2590, 0, 0, 0, 0, + 0, 1179, 1180, 0, 0, 0, 0, 1181, 1182, 119, + 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 0, 0, 132, 1139, 0, 0, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 143, 1140, 145, 1141, 1142, 0, 148, 149, 150, + 151, 152, 153, 1143, 812, 154, 155, 156, 157, 1144, + 1145, 160, 0, 161, 162, 163, 164, 813, 0, 814, + 0, 1146, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 1147, 195, 196, 1148, 198, 1149, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 1150, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 1151, 229, 230, 231, 232, 233, 815, + 1152, 235, 0, 236, 237, 1153, 239, 0, 240, 0, + 241, 242, 0, 243, 244, 245, 246, 247, 248, 0, + 249, 250, 0, 0, 1154, 1155, 253, 254, 0, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 275, 276, 277, 278, 279, 280, 281, 1156, 1157, + 0, 1158, 0, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, + 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 1159, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 1160, 331, 1161, 333, 334, 335, 336, 337, 1162, + 338, 339, 340, 341, 1163, 818, 343, 1164, 345, 346, + 347, 0, 348, 349, 0, 0, 1165, 351, 352, 0, + 0, 353, 354, 355, 356, 357, 358, 820, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 0, 0, 0, 0, 373, 374, 821, 376, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 1166, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 415, 416, 417, 418, 1167, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, + 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 0, 443, 444, 445, 1168, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 823, 0, 0, 464, 465, 0, 466, + 467, 468, 469, 470, 471, 472, 0, 473, 1169, 1170, + 0, 476, 0, 477, 478, 824, 480, 825, 1171, 482, + 483, 826, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 0, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 502, 1172, 0, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 0, 515, + 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 1173, 0, 0, 0, 0, 0, 0, + 1174, 3245, 1176, 0, 0, 0, 0, 1177, 0, 1178, + 0, 0, 0, 0, 0, 1179, 1180, 0, 0, 0, + 0, 1181, 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, + 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 0, 129, 130, 131, 0, 0, 0, 0, 0, + 132, 1139, 0, 0, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, 143, 1140, 145, 1141, 1142, + 0, 148, 149, 150, 151, 152, 153, 1143, 812, 154, + 155, 156, 157, 1144, 1145, 160, 0, 161, 162, 163, + 164, 813, 0, 814, 0, 1146, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 182, 0, 183, 184, 3191, 186, 187, 188, 189, + 190, 191, 192, 193, 1147, 195, 196, 1148, 198, 1149, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 0, 0, 211, 212, 1150, + 214, 215, 216, 217, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 1151, 229, 230, + 231, 232, 233, 815, 1152, 235, 0, 236, 237, 1153, + 239, 0, 240, 0, 241, 242, 0, 243, 244, 245, + 246, 247, 248, 0, 249, 250, 0, 0, 3192, 1155, + 253, 254, 0, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 275, 276, 277, 278, 279, + 280, 281, 1156, 1157, 0, 1158, 0, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 297, 298, 299, 300, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 1159, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 1160, 331, 1161, 333, 334, + 335, 336, 337, 1162, 338, 339, 340, 341, 1163, 818, + 343, 1164, 345, 346, 347, 0, 348, 349, 0, 0, + 1165, 351, 352, 0, 0, 353, 354, 355, 356, 357, + 358, 820, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 0, 0, 0, 0, 373, + 374, 821, 376, 377, 378, 379, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, + 392, 393, 1166, 395, 396, 397, 398, 0, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 415, 416, 417, 3193, 1167, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 0, 443, 444, 445, 1168, + 447, 0, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 823, 0, 0, + 464, 465, 0, 466, 467, 468, 469, 470, 471, 472, + 0, 473, 1169, 1170, 0, 476, 0, 477, 478, 824, + 480, 825, 1171, 482, 483, 826, 485, 486, 487, 488, + 489, 0, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 502, 1172, 0, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 0, 0, 515, 0, 0, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 1173, 0, 0, + 0, 0, 0, 0, 1174, 1175, 1176, 0, 0, 0, + 0, 1177, 0, 3194, 0, 0, 0, 0, 0, 1179, + 1180, 0, 0, 0, 0, 1181, 1182, 119, 1133, 843, + 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 0, 129, 130, 131, 0, + 0, 0, 0, 0, 132, 1139, 0, 0, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 3879, + 1140, 145, 1141, 1142, 0, 148, 149, 150, 151, 152, + 153, 1143, 812, 154, 155, 156, 157, 1144, 1145, 160, + 0, 161, 162, 163, 164, 813, 0, 814, 0, 1146, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 0, + 177, 178, 179, 180, 181, 182, 0, 183, 184, 185, + 3880, 187, 188, 189, 190, 191, 192, 193, 1147, 195, + 196, 1148, 198, 1149, 199, 0, 200, 201, 202, 203, + 204, 205, 0, 0, 206, 207, 208, 209, 210, 0, + 0, 211, 212, 1150, 214, 215, 216, 217, 0, 218, + 219, 220, 0, 221, 222, 223, 0, 224, 225, 226, + 227, 1151, 229, 230, 231, 232, 233, 815, 1152, 235, + 0, 236, 237, 1153, 239, 0, 240, 0, 241, 242, + 0, 243, 244, 245, 246, 247, 248, 0, 249, 250, + 0, 0, 1154, 1155, 253, 254, 0, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 0, + 267, 268, 269, 270, 271, 272, 273, 0, 274, 275, + 276, 277, 278, 279, 280, 281, 1156, 1157, 0, 1158, + 0, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 297, 298, 299, 300, 0, + 301, 302, 303, 304, 305, 306, 307, 308, 1159, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 1160, + 331, 1161, 333, 334, 335, 336, 337, 1162, 338, 339, + 340, 341, 1163, 818, 343, 1164, 345, 346, 347, 0, + 348, 349, 0, 0, 1165, 351, 352, 0, 0, 353, + 354, 355, 356, 357, 358, 820, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 0, + 0, 0, 0, 373, 374, 821, 376, 377, 378, 379, + 380, 381, 382, 0, 383, 384, 385, 386, 387, 388, + 389, 390, 0, 391, 392, 393, 1166, 395, 396, 397, + 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 0, 413, 414, 415, + 416, 417, 418, 1167, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 0, + 443, 444, 445, 1168, 447, 0, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 823, 0, 0, 464, 465, 0, 466, 467, 468, + 469, 470, 471, 472, 0, 473, 1169, 1170, 0, 476, + 0, 477, 478, 824, 480, 825, 1171, 482, 483, 826, + 485, 486, 3881, 488, 489, 0, 0, 490, 491, 492, + 0, 493, 494, 495, 496, 0, 497, 498, 499, 500, + 501, 502, 1172, 0, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 0, 0, 515, 0, 0, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 1173, 0, 0, 0, 0, 0, 0, 1174, 1175, + 1176, 0, 0, 0, 0, 1177, 0, 1178, 0, 0, + 0, 0, 0, 1179, 1180, 0, 0, 0, 0, 1181, + 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 0, 0, 132, 1139, + 0, 0, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 143, 1140, 145, 1141, 1142, 0, 148, + 149, 150, 151, 152, 153, 1143, 812, 154, 155, 156, + 157, 1144, 1145, 160, 0, 161, 162, 163, 164, 813, + 0, 814, 0, 1146, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 183, 184, 185, 3880, 187, 188, 189, 190, 191, + 192, 193, 1147, 195, 196, 1148, 198, 1149, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 1150, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 1151, 229, 230, 231, 232, + 233, 815, 1152, 235, 0, 236, 237, 1153, 239, 0, + 240, 0, 241, 242, 0, 243, 244, 245, 246, 247, + 248, 0, 249, 250, 0, 0, 1154, 1155, 253, 254, + 0, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 275, 276, 277, 278, 279, 280, 281, + 1156, 1157, 0, 1158, 0, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 1159, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 1160, 331, 1161, 333, 334, 335, 336, + 337, 1162, 338, 339, 340, 341, 1163, 818, 343, 1164, + 345, 346, 347, 0, 348, 349, 0, 0, 1165, 351, + 352, 0, 0, 353, 354, 355, 356, 357, 358, 820, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 821, + 376, 377, 378, 379, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 1166, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 415, 416, 417, 418, 1167, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 0, 443, 444, 445, 1168, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 823, 0, 0, 464, 465, + 0, 466, 467, 468, 469, 470, 471, 472, 0, 473, + 1169, 1170, 0, 476, 0, 477, 478, 824, 480, 825, + 1171, 482, 483, 826, 485, 486, 3881, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 502, 1172, 0, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 1173, 0, 0, 0, 0, + 0, 0, 1174, 1175, 1176, 0, 0, 0, 0, 1177, + 0, 1178, 0, 0, 0, 0, 0, 1179, 1180, 0, + 0, 0, 0, 1181, 1182, 119, 1133, 843, 1134, 1135, + 0, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 0, 129, 130, 131, 0, 0, 0, + 0, 0, 132, 1139, 0, 0, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 143, 1140, 145, + 1141, 1142, 0, 148, 149, 150, 151, 152, 153, 1143, + 812, 154, 155, 156, 157, 1144, 1145, 160, 0, 161, + 162, 163, 164, 813, 0, 814, 0, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 0, 177, 178, + 179, 180, 181, 182, 0, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 1147, 195, 196, 1148, + 198, 0, 199, 0, 200, 201, 202, 203, 204, 205, + 0, 0, 206, 207, 208, 209, 210, 0, 0, 211, + 212, 1150, 214, 215, 216, 217, 0, 218, 219, 220, + 0, 221, 222, 223, 0, 224, 225, 226, 227, 1151, + 229, 230, 231, 232, 233, 815, 1152, 235, 0, 236, + 237, 1153, 239, 0, 240, 0, 241, 242, 0, 243, + 244, 245, 246, 247, 248, 0, 249, 250, 0, 0, + 1154, 1155, 253, 254, 0, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 0, 267, 268, + 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, + 278, 279, 280, 281, 1156, 1157, 0, 1158, 0, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 1159, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 1160, 331, 1161, + 333, 334, 335, 336, 337, 2973, 338, 339, 340, 341, + 1163, 818, 343, 1164, 345, 346, 347, 0, 348, 349, + 0, 0, 350, 351, 352, 0, 0, 353, 354, 355, + 356, 357, 358, 820, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 0, 0, 0, + 0, 373, 374, 821, 376, 377, 378, 379, 380, 381, + 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, + 0, 391, 392, 393, 1166, 395, 396, 397, 398, 0, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 0, 413, 414, 415, 416, 417, + 418, 1167, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 0, 443, 444, + 445, 1168, 447, 0, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 823, + 0, 0, 464, 465, 0, 466, 467, 468, 469, 470, + 471, 472, 0, 473, 1169, 1170, 0, 476, 0, 477, + 478, 824, 480, 825, 1171, 482, 483, 826, 485, 486, + 487, 488, 489, 0, 0, 490, 491, 492, 0, 493, + 494, 495, 496, 0, 497, 498, 499, 500, 501, 502, + 1172, 0, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 0, 0, 515, 0, 0, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 2974, + 0, 0, 0, 0, 0, 0, 2975, 2976, 0, 0, + 0, 0, 0, 1177, 0, 1178, 0, 0, 0, 0, + 0, 1179, 1180, 0, 0, 0, 0, 1181, 1182, 119, + 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 0, 0, 132, 1139, 0, 0, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 143, 1140, 145, 1141, 1142, 0, 148, 149, 150, + 151, 152, 153, 1143, 812, 154, 155, 156, 157, 1144, + 1145, 160, 0, 161, 162, 163, 164, 813, 0, 814, + 0, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 1147, 195, 196, 1148, 198, 0, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 1150, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 1151, 229, 230, 231, 232, 233, 815, + 1152, 235, 0, 236, 237, 1153, 239, 0, 240, 0, + 241, 242, 0, 243, 244, 245, 246, 247, 248, 0, + 249, 250, 0, 0, 1154, 1155, 253, 254, 0, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 275, 276, 277, 278, 279, 280, 281, 1156, 1157, + 0, 1158, 0, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, + 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 1159, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 1160, 331, 1161, 333, 334, 335, 336, 337, 0, + 338, 339, 340, 341, 1163, 818, 343, 1164, 345, 346, + 347, 0, 348, 349, 0, 0, 1165, 351, 352, 0, + 0, 353, 354, 355, 356, 357, 358, 820, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 0, 0, 0, 0, 373, 374, 821, 376, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 1166, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 415, 416, 417, 418, 1167, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, + 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 0, 443, 444, 445, 1168, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 823, 0, 0, 464, 465, 0, 466, + 467, 468, 469, 470, 471, 472, 0, 473, 1169, 1170, + 0, 476, 0, 477, 478, 824, 480, 825, 1171, 482, + 483, 826, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 0, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 502, 1172, 0, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 0, 515, + 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 1504, 1505, 0, 0, 0, 0, 0, 1177, 0, 1178, + 0, 0, 0, 0, 0, 1179, 1180, 0, 0, 0, + 0, 1181, 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, + 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 0, 129, 130, 131, 0, 0, 0, 0, 0, + 132, 1139, 0, 0, 133, 134, 135, 0, 136, 137, + 138, 139, 140, 141, 142, -2235, 1140, 145, 1141, 1142, + 0, 148, 149, 150, 151, 152, 153, 1143, 812, 154, + 155, 156, 157, 1144, 1145, 160, 0, 161, 162, 163, + 164, 813, 0, 814, 0, 1146, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 182, 0, 183, 184, 185, 3880, 187, 188, 189, + 190, 191, 192, 193, 1147, 195, 196, 1148, 198, 1149, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 0, 0, 211, 212, 1150, + 214, 215, 216, 217, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 1151, 229, 230, + 231, 232, 233, 815, 1152, 235, 0, 236, 237, 1153, + 239, 0, 240, 0, 241, 242, 0, 243, 244, 245, + 246, -2235, 248, 0, 249, 250, 0, 0, 1154, 1155, + 253, 254, 0, 255, 256, 257, 258, 259, 260, 261, + -2235, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 275, 276, 277, 278, 279, + 280, 281, 1156, 1157, 0, 1158, 0, 285, 0, 0, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 297, 298, 299, -2235, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 1159, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 1160, 331, 1161, 333, 334, + 335, 336, 337, 0, 338, 339, 0, 341, 1163, 818, + 343, 1164, 345, 346, 347, 0, 348, 349, 0, 0, + 1165, 351, 352, 0, 0, 353, 354, 355, 356, 357, + 358, 820, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 0, 0, 0, 0, 373, + 374, 821, 376, 377, 378, 379, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, + 392, 393, 1166, 395, 396, 397, 398, 0, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 415, 416, 417, 418, 1167, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 0, -2235, 444, 445, 1168, + 447, 0, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 823, 0, 0, + 464, 465, 0, 466, 467, 468, 469, 470, 471, 472, + 0, 473, 1169, 1170, 0, 476, 0, 477, 478, 824, + 480, 825, 1171, 482, 483, 826, 485, 486, 3881, 488, + 489, 0, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 502, 1172, 0, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 0, 0, 515, 0, 0, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, -2235, 0, 0, + 0, 0, 0, 0, 1174, 1175, 1176, 0, 0, 0, + 0, 1177, 0, 1178, 0, 0, 0, 0, 0, 1179, + 1180, 0, 0, 0, 0, 1181, 1182, 119, 1133, 843, + 1134, 1135, 0, 1137, 1138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 0, 129, 130, 131, 0, + 0, 0, 0, 0, 132, 1139, 0, 0, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 143, + 1140, 145, 1141, 1142, 0, 148, 149, 150, 151, 152, + 153, 1143, 812, 154, 155, 156, 157, 1144, 1145, 160, + 0, 161, 162, 163, 164, 813, 0, 814, 0, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 0, + 177, 178, 179, 180, 181, 182, 0, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 1147, 195, + 196, 1148, 198, 0, 199, 0, 200, 201, 202, 203, + 204, 205, 0, 0, 206, 207, 208, 209, 210, 0, + 0, 211, 212, 1150, 214, 215, 216, 217, 0, 218, + 219, 220, 0, 221, 222, 223, 0, 224, 225, 226, + 227, 1151, 229, 230, 231, 232, 233, 815, 1152, 235, + 0, 236, 237, 1153, 239, 0, 240, 0, 241, 242, + 0, 243, 244, 245, 246, 247, 248, 0, 249, 250, + 0, 0, 1154, 1155, 253, 254, 0, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 0, + 267, 268, 269, 270, 271, 272, 273, 0, 274, 275, + 276, 277, 278, 279, 280, 281, 1156, 1157, 0, 1158, + 0, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 297, 298, 299, 300, 0, + 301, 302, 303, 304, 305, 306, 307, 308, 1159, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 1160, + 331, 1161, 333, 334, 335, 336, 337, 0, 338, 339, + 340, 341, 1163, 818, 343, 1164, 345, 346, 347, 0, + 348, 349, 0, 0, 350, 351, 352, 0, 0, 353, + 354, 355, 356, 357, 358, 820, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 0, + 0, 0, 0, 373, 374, 821, 376, 377, 378, 379, + 380, 381, 382, 0, 383, 384, 385, 386, 387, 388, + 389, 390, 0, 391, 392, 393, 1166, 395, 396, 397, + 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 0, 413, 414, 415, + 416, 417, 418, 2282, 2283, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 0, + 443, 444, 445, 1168, 447, 0, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 823, 0, 0, 464, 465, 0, 466, 467, 468, + 469, 470, 471, 472, 0, 473, 1169, 1170, 0, 476, + 0, 477, 478, 824, 480, 825, 1171, 482, 483, 826, + 485, 486, 487, 488, 489, 0, 0, 490, 491, 492, + 0, 493, 494, 495, 496, 0, 497, 498, 499, 500, + 501, 502, 1172, 0, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 0, 0, 515, 0, 0, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 0, 0, 0, 0, 0, 0, 0, 2284, 2285, + 0, 0, 0, 0, 0, 1177, 0, 1178, 0, 0, + 0, 0, 0, 1179, 1180, 0, 0, 0, 0, 1181, + 1182, 119, 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 0, 0, 132, 1139, + 0, 0, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 143, 1140, 145, 1141, 1142, 0, 148, + 149, 150, 151, 152, 153, 1143, 812, 154, 155, 156, + 157, 1144, 1145, 160, 0, 161, 162, 163, 164, 813, + 0, 814, 0, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 1147, 195, 196, 1148, 198, 0, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 1150, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 1151, 229, 230, 231, 232, + 233, 815, 1152, 235, 0, 236, 237, 1153, 239, 0, + 240, 0, 241, 242, 0, 243, 244, 245, 246, 247, + 248, 0, 249, 250, 0, 0, 1154, 1155, 253, 254, + 0, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 275, 276, 277, 278, 279, 280, 281, + 1156, 1157, 0, 1158, 0, 285, 0, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 1159, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 1160, 331, 1161, 333, 334, 335, 336, + 337, 0, 338, 339, 340, 341, 1163, 818, 343, 1164, + 345, 346, 347, 0, 348, 349, 0, 0, 1165, 351, + 352, 0, 0, 353, 354, 355, 356, 357, 358, 820, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 821, + 376, 377, 378, 379, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 1166, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 415, 416, 417, 418, 1167, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 0, 443, 444, 445, 1168, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 823, 0, 0, 464, 465, + 0, 466, 467, 468, 469, 470, 471, 472, 0, 473, + 1169, 1170, 0, 476, 0, 477, 478, 824, 480, 825, + 1171, 482, 483, 826, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 502, 1172, 0, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 0, 0, 0, 0, 0, + 0, 0, 1504, 1505, 0, 0, 0, 0, 0, 1177, + 0, 1178, 0, 0, 0, 0, 0, 1179, 1180, 0, + 0, 0, 0, 1181, 1182, 119, 1133, 843, 1134, 1135, + 0, 1137, 1138, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 0, 129, 130, 131, 0, 0, 0, + 0, 0, 132, 1139, 0, 0, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 143, 1140, 145, + 1141, 1142, 0, 148, 149, 150, 151, 152, 153, 1143, + 812, 154, 155, 156, 157, 1144, 1145, 160, 0, 161, + 162, 163, 164, 813, 0, 814, 0, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 0, 177, 178, + 179, 180, 181, 182, 0, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 1147, 195, 196, 1148, + 198, 0, 199, 0, 200, 201, 202, 203, 204, 205, + 0, 0, 206, 207, 208, 209, 210, 0, 0, 211, + 212, 1150, 214, 215, 216, 217, 0, 218, 219, 220, + 0, 221, 222, 223, 0, 224, 225, 226, 227, 1151, + 229, 230, 231, 232, 233, 815, 1152, 235, 0, 236, + 237, 1153, 239, 0, 240, 0, 241, 242, 0, 243, + 244, 245, 246, 247, 248, 0, 249, 250, 0, 0, + 1154, 1155, 253, 254, 0, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 0, 267, 268, + 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, + 278, 279, 280, 281, 1156, 1157, 0, 1158, 0, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 1159, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 1160, 331, 1161, + 333, 334, 335, 336, 337, 0, 338, 339, 340, 341, + 1163, 818, 343, 1164, 345, 346, 347, 0, 348, 349, + 0, 0, 350, 351, 352, 0, 0, 353, 354, 355, + 356, 357, 358, 820, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 0, 0, 0, + 0, 373, 374, 821, 376, 377, 378, 379, 380, 381, + 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, + 0, 391, 392, 393, 1166, 395, 396, 397, 398, 0, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 0, 413, 414, 415, 416, 417, + 418, 1167, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 0, 443, 444, + 445, 1168, 447, 0, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 823, + 0, 0, 464, 465, 0, 466, 467, 468, 469, 470, + 471, 472, 0, 473, 1169, 1170, 0, 476, 0, 477, + 478, 824, 480, 825, 1171, 482, 483, 826, 485, 486, + 487, 488, 489, 0, 0, 490, 491, 492, 0, 493, + 494, 495, 496, 0, 497, 498, 499, 500, 501, 502, + 1172, 0, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 0, 0, 515, 0, 0, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1177, 0, 1178, 0, 0, 0, 0, + 0, 1179, 1180, 0, 0, 0, 0, 1181, 1182, 119, + 1133, 843, 1134, 1135, 0, 1137, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 0, 0, 132, 1139, 0, 0, + 133, 134, 135, 0, 136, 137, 138, 139, 140, 141, + 142, 143, 1140, 145, 1141, 1142, 0, 148, 149, 150, + 151, 152, 153, 1143, 0, 154, 155, 156, 157, 1144, + 1145, 160, 0, 161, 162, 163, 164, 165, 0, 166, + 0, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 1147, 195, 196, 1148, 198, 0, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 1150, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 1151, 229, 230, 231, 232, 233, 234, + 1152, 235, 0, 236, 237, 1153, 239, 0, 240, 0, + 241, 242, 0, 243, 244, 245, 246, 247, 248, 0, + 249, 250, 0, 3211, 1154, 1155, 253, 254, 0, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 275, 276, 277, 278, 279, 280, 281, 1156, 1157, + 0, 1158, 0, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 298, 299, + 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 1160, 331, 1161, 333, 334, 335, 336, 337, 0, + 338, 339, 340, 341, 1163, 342, 343, 1164, 345, 346, + 347, 0, 348, 349, 0, 0, 350, 351, 352, 0, + 0, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 0, 0, 0, 0, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 1166, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, + 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 0, 443, 444, 445, 1168, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 0, 0, 464, 465, 0, 466, + 467, 468, 469, 470, 471, 472, 0, 473, 1169, 1170, + 0, 476, 0, 477, 478, 479, 480, 481, 1171, 482, + 483, 484, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 0, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 502, 1172, 0, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 0, 515, + 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1177, 0, 2865, + 119, 1133, 843, 1134, 1135, 1136, 1137, 1138, 0, 0, + 0, 1181, 1182, 0, 0, 0, 0, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 0, 0, 0, 0, 0, 132, 1139, 0, + 0, 133, 134, 135, 0, 136, 137, 138, 139, 140, + 141, 142, 0, 1140, 145, 1141, 1142, 0, 148, 149, + 150, 151, 152, 153, 1143, 812, 154, 155, 156, 157, + 1144, 1145, 160, 0, 161, 162, 163, 164, 813, 0, + 814, 0, 1146, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 1147, 195, 196, 1148, 198, 1149, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 1150, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 0, 223, 0, + 224, 225, 226, 227, 1151, 229, 230, 231, 232, 233, + 815, 1152, 235, 0, 236, 237, 1153, 239, 0, 240, + 0, 241, 242, 0, 243, 244, 245, 246, 0, 248, + 0, 249, 250, 0, 0, 1154, 1155, 253, 254, 0, + 255, 256, 257, 258, 259, 260, 261, 0, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 275, 276, 277, 278, 279, 280, 281, 1156, + 1157, 0, 1158, 0, 285, 0, 0, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 298, + 299, 0, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 1159, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 1160, 331, 1161, 333, 334, 335, 336, 337, + 0, 338, 339, 0, 341, 1163, 818, 343, 1164, 345, + 346, 347, 0, 348, 349, 0, 0, 1165, 351, 352, + 0, 0, 353, 354, 355, 356, 357, 358, 820, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 821, 376, + 377, 378, 379, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 392, 393, 1166, + 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 415, 416, 417, 418, 1167, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 0, 0, 444, 445, 1168, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 823, 0, 0, 464, 465, 0, + 466, 467, 468, 469, 470, 471, 472, 0, 473, 1169, + 1170, 0, 476, 0, 477, 478, 824, 480, 825, 1171, + 482, 483, 826, 485, 486, 487, 488, 489, 0, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 502, 1172, 0, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 0, 0, 0, 0, 0, 0, + 0, 1174, 1175, 1176, 0, 0, 0, 0, 1177, 0, + 1178, 0, 0, 0, 0, 0, 1179, 1180, 0, 0, + 0, 0, 1181, 1182, 119, 1133, 843, 1134, 1135, 0, + 1137, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 0, 129, 130, 131, 0, 0, 0, 0, + 0, 132, 1139, 0, 0, 133, 134, 135, 0, 136, + 137, 138, 139, 140, 141, 142, 143, 1140, 145, 1141, + 1142, 0, 148, 149, 150, 151, 152, 153, 1143, 0, + 154, 155, 156, 157, 1144, 1145, 160, 0, 161, 162, + 163, 164, 165, 0, 166, 0, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 1147, 195, 196, 1148, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 1150, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 1151, 229, + 230, 231, 232, 233, 234, 1152, 235, 0, 236, 237, + 1153, 239, 0, 240, 0, 241, 242, 0, 243, 244, + 245, 246, 247, 248, 0, 249, 250, 0, 0, 1154, + 1155, 253, 254, 0, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, + 279, 280, 281, 1156, 1157, 0, 1158, 0, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 298, 299, 300, 0, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 1160, 331, 1161, 333, + 334, 335, 336, 337, 0, 338, 339, 340, 341, 1163, + 342, 343, 1164, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, + 391, 392, 393, 1166, 395, 396, 397, 398, 0, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 0, 443, 444, 445, + 1168, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 0, + 0, 464, 465, 0, 466, 467, 468, 469, 470, 471, + 472, 0, 473, 1169, 1170, 0, 476, 0, 477, 478, + 479, 480, 481, 1171, 482, 483, 484, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 492, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 502, 1172, + 0, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 893, + 0, 0, 1177, 0, 2865, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1181, 1182, 120, 121, + 122, 123, 0, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 134, 135, 0, 136, 137, 138, 0, 140, 141, + 142, 894, 895, 0, 896, 897, 0, 148, 149, 150, + 151, 152, 153, 0, 0, 154, 155, 156, 157, 898, + 899, 160, 0, 161, 162, 163, 164, 900, 0, 0, + 0, 0, 168, 169, 170, 171, 172, 0, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 0, 0, 0, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 901, 195, 196, 902, 198, 0, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 0, 207, 208, 209, + 210, 0, 0, 211, 212, 213, 214, 215, 0, 0, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 903, 229, 230, 231, 232, 233, 904, + 0, 235, 0, 236, 237, 905, 239, 0, 240, 0, + 241, 0, 0, 0, 244, 245, 906, 0, 248, 0, + 249, 0, 0, 0, 907, 908, 0, 254, 0, 255, + 256, 257, 258, 259, 260, 261, 0, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 0, 909, 277, 278, 279, 280, 281, 910, 911, + 0, 912, 0, 285, 0, 0, 288, 0, 290, 0, + 292, 293, 294, 295, 296, 0, 0, 297, 0, 299, + 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 913, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 914, 0, 915, 333, 334, 335, 0, 916, 0, + 338, 339, 0, 341, 0, 917, 343, 918, 345, 346, + 347, 0, 348, 349, 0, 0, 350, 351, 352, 0, + 0, 353, 354, 919, 0, 357, 0, 920, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 0, 0, 371, + 372, 0, 0, 0, 0, 373, 374, 921, 0, 377, + 378, 922, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 0, 0, 390, 0, 391, 392, 393, 923, 395, + 396, 397, 398, 0, 399, 400, 401, 0, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 0, 416, 417, 418, 924, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, + 0, 433, 434, 435, 436, 437, 438, 925, 440, 441, + 0, 0, 0, 0, 445, 926, 447, 0, 0, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 927, 462, 928, 0, 0, 464, 465, 0, 466, + 0, 468, 469, 470, 471, 472, 0, 473, 929, 930, + 0, 0, 0, 477, 478, 931, 480, 932, 0, 482, + 483, 933, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 0, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 1497, 935, 0, 504, 0, 506, 0, + 508, 509, 510, 511, 0, 513, 514, 0, 0, 515, + 0, 0, 516, 517, 518, 519, 520, 521, 936, 937, + 938, 939, 940, 941, 942, 943, 944, 945, 946, 533, + 534, 535, 536, 0, 0, 0, 0, 0, 0, 0, + 0, 1052, 1434, 843, 0, 0, 0, 1137, 0, 3481, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3482, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 584, 0, 132, 0, + 0, 0, 589, 134, 135, 0, 136, 137, 138, 591, + 140, 141, 142, 592, 593, 594, 595, 596, 0, 148, + 149, 150, 151, 152, 153, 0, 0, 154, 155, 156, + 157, 600, 601, 160, 0, 161, 162, 163, 164, 603, + 0, 605, 0, 607, 168, 169, 170, 171, 172, 608, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 611, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 613, 195, 196, 614, 198, 0, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 213, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 624, 229, 230, 231, 232, + 233, 625, 1435, 235, 0, 236, 237, 628, 239, 0, + 240, 0, 241, 631, 0, 633, 244, 245, 634, 635, + 248, 0, 249, 250, 0, 0, 639, 640, 253, 254, + 0, 255, 256, 257, 258, 259, 260, 261, 642, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 645, 646, 277, 278, 279, 280, 281, + 647, 648, 0, 650, 0, 285, 652, 653, 288, 654, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 657, 299, 658, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 660, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 661, 662, 663, 333, 334, 335, 336, + 664, 0, 338, 339, 666, 341, 0, 668, 343, 669, + 345, 346, 347, 0, 348, 349, 1436, 0, 350, 351, + 352, 0, 0, 353, 354, 675, 676, 357, 677, 678, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 683, + 684, 377, 378, 685, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 688, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 691, 416, 417, 418, 692, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 694, 433, 434, 435, 436, 437, 438, 695, + 440, 441, 442, 0, 697, 444, 445, 698, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 700, 462, 701, 0, 0, 464, 465, + 0, 466, 705, 468, 469, 470, 471, 472, 0, 473, + 707, 708, 0, 476, 0, 477, 478, 711, 480, 712, + 1437, 482, 483, 714, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 719, 720, 0, 504, 722, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 533, 534, 535, 536, 0, 0, 0, 0, 0, + 545, 0, 1438, 1439, 2458, 0, 0, 0, 0, 0, + 0, 2459, 0, 0, 0, 0, 0, 0, 1180, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 0, 0, 0, 0, 0, 132, 0, 1091, + 0, 0, 134, 135, 0, 136, 137, 138, 0, 140, + 141, 142, 143, 144, 0, 146, 147, 0, 148, 149, + 150, 151, 152, 153, 0, 0, 154, 155, 156, 157, + 158, 159, 160, 0, 161, 162, 163, 164, 165, 0, + 0, 0, 167, 168, 169, 170, 171, 172, 0, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 0, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 213, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 222, 223, -716, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 0, 235, -716, 236, 237, 238, 239, -716, 240, + 0, 241, 0, 0, 0, 244, 245, 546, 0, 248, + 0, 249, 250, 0, 0, 251, 252, 253, 254, 0, + 255, 256, 257, 258, 259, 260, 261, 0, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 0, 276, 277, 278, 279, 280, 281, 282, + 283, -716, 284, 0, 285, 0, 0, 288, 0, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 0, + 299, 0, -716, 301, 302, 303, 304, 305, 306, 307, + 308, 547, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 332, 333, 334, 335, 336, 337, + 0, 338, 339, 0, 341, 0, 342, 343, 344, 345, + 346, 347, -716, 348, 349, 0, 0, 350, 351, 352, + 0, -716, 353, 354, 355, 0, 357, 0, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 375, 0, + 377, 378, 379, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 392, 393, 394, + 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 0, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 0, 0, 444, 445, 446, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 548, 462, 463, 0, 0, 464, 465, 0, + 466, 0, 468, 469, 470, 471, 472, 0, 473, 474, + 475, 0, 476, 0, 477, 478, 479, 480, 481, 0, + 482, 483, 484, 485, 486, 487, 488, 489, -716, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 502, 503, 0, 504, 0, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1249, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 0, 129, 130, 131, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 134, 135, 0, 136, + 137, 138, 0, 140, 141, 142, 143, 144, 0, 146, + 147, 0, 148, 149, 150, 151, 152, 153, 0, 0, + 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, + 163, 164, 165, 0, 0, 0, 167, 168, 169, 170, + 171, 172, 0, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 0, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 213, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 0, 235, 0, 236, 237, + 238, 239, 0, 240, 0, 241, 0, 0, 0, 244, + 245, 546, 0, 248, 0, 249, 250, 0, 0, 251, + 252, 253, 254, 0, 255, 256, 257, 258, 259, 260, + 261, 0, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 0, 276, 277, 278, + 279, 280, 281, 282, 283, 0, 284, 0, 285, 0, + 0, 288, 0, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 0, 299, 0, 0, 301, 302, 303, + 304, 305, 306, 307, 308, 547, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 332, 333, + 334, 335, 336, 337, 0, 338, 339, 0, 341, 0, + 342, 343, 344, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 355, 0, + 357, 0, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 375, 0, 377, 378, 379, 380, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, + 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 0, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 0, 0, 444, 445, + 446, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 548, 462, 463, 0, + 0, 464, 465, 0, 466, 0, 468, 469, 470, 471, + 472, 0, 473, 474, 475, 0, 476, 0, 477, 478, + 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 492, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 502, 503, + 0, 504, 0, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 119, 0, + 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2543, 3457, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 0, 129, 130, 131, + 0, 0, 0, 0, 0, 132, 0, 0, 0, 133, + 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 0, 148, 149, 150, 151, + 152, 153, 0, 812, 154, 155, 156, 157, 158, 159, + 160, 0, 161, 162, 163, 164, 813, 0, 814, 0, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 0, 177, 178, 179, 180, 181, 182, 0, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 0, 199, 0, 200, 201, 202, + 203, 204, 205, 14, 15, 206, 207, 208, 209, 210, + 0, 0, 211, 212, 213, 214, 215, 216, 217, 0, + 218, 219, 220, 0, 221, 222, 223, 0, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 815, 0, + 235, 0, 236, 237, 238, 239, 0, 240, 0, 241, + 242, 23, 243, 244, 245, 246, 247, 248, 0, 249, + 250, 816, 0, 251, 252, 253, 254, 0, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 0, 267, 268, 269, 270, 271, 272, 273, 0, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 0, + 284, 0, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 817, 0, 297, 298, 299, 300, + 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 0, 338, + 339, 340, 341, 0, 818, 343, 344, 345, 346, 347, + 0, 348, 349, 0, 819, 350, 351, 352, 0, 0, + 353, 354, 355, 356, 357, 358, 820, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 27, 28, 29, 0, 373, 374, 821, 376, 377, 378, + 379, 380, 381, 382, 0, 383, 384, 385, 386, 387, + 388, 389, 390, 0, 391, 392, 393, 394, 395, 396, + 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 0, 413, 414, + 415, 416, 417, 418, 419, 822, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 34, 0, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 36, 443, 444, 445, 446, 447, 0, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 823, 38, 0, 464, 465, 39, 466, 467, + 468, 469, 470, 471, 472, 0, 473, 474, 475, 0, + 476, 0, 477, 478, 824, 480, 825, 0, 482, 483, + 826, 485, 486, 487, 488, 489, 0, 0, 490, 491, + 492, 41, 493, 494, 495, 496, 0, 497, 498, 499, + 500, 501, 827, 503, 0, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 0, 0, 515, 0, + 45, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 1052, 0, 46, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 828, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 3, 4, 0, 584, 0, 132, + 0, 0, 0, 589, 134, 135, 0, 136, 137, 138, + 591, 140, 141, 142, 592, 593, 594, 595, 596, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 600, 601, 160, 0, 161, 162, 163, 164, + 603, 0, 605, 0, 607, 168, 169, 170, 171, 172, + 608, 174, 175, 176, 0, 177, 178, 179, 180, 181, + 182, 0, 611, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 613, 195, 196, 614, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 14, 15, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 213, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 221, 222, + 223, 0, 224, 225, 226, 227, 624, 229, 230, 231, + 232, 233, 625, 0, 235, 0, 236, 237, 628, 239, + 0, 240, 0, 241, 631, 23, 633, 244, 245, 634, + 635, 248, 0, 249, 250, 0, 0, 639, 640, 253, + 254, 0, 255, 256, 257, 258, 259, 260, 261, 642, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 645, 646, 277, 278, 279, 280, + 281, 647, 648, 0, 650, 0, 285, 652, 653, 288, + 654, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 657, 299, 658, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 660, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 661, 662, 663, 333, 334, 335, + 336, 664, 0, 338, 339, 666, 341, 0, 668, 343, + 669, 345, 346, 347, 0, 348, 349, 0, 0, 350, + 351, 352, 0, 0, 353, 354, 675, 676, 357, 677, + 678, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 27, 28, 29, 0, 373, 374, + 683, 684, 377, 378, 685, 380, 381, 382, 0, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, + 393, 688, 395, 396, 397, 398, 0, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 0, 413, 414, 691, 416, 417, 418, 692, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 34, 694, 433, 434, 435, 436, 437, 438, + 695, 440, 441, 442, 36, 697, 444, 445, 698, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 700, 462, 701, 38, 0, 464, + 465, 39, 466, 705, 468, 469, 470, 471, 472, 0, + 473, 707, 708, 0, 476, 0, 477, 478, 711, 480, + 712, 0, 482, 483, 714, 485, 486, 487, 488, 489, + 0, 0, 490, 491, 492, 41, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 1053, 720, 0, 504, + 722, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 45, 516, 517, 518, 519, 520, + 521, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 533, 534, 535, 536, 0, 119, 46, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1554, 0, 0, 0, 0, 0, 0, 2886, - 0, 0, 2886, 2886, 0, 0, 0, 0, 0, 0, - 0, 2886, 0, 1554, 1554, 0, 0, 0, 2886, 0, - 1683, 0, 0, 1684, 1685, 1686, 0, 1687, 1688, 1689, - 1690, 1691, 1692, 0, 0, 0, 0, 3697, 0, 0, + 0, 0, 874, 0, 0, 0, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 0, 129, 130, 131, 0, + 0, 0, 0, 0, 132, 0, 0, 0, 133, 134, + 135, 0, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 0, 148, 149, 150, 151, 152, + 153, 0, 812, 154, 155, 156, 157, 158, 159, 160, + 0, 161, 162, 163, 164, 813, 0, 814, 0, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 0, + 177, 178, 179, 180, 181, 182, 0, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 0, 199, 0, 200, 201, 202, 203, + 204, 205, 0, 0, 206, 207, 208, 209, 210, 0, + 0, 211, 212, 213, 214, 215, 216, 217, 0, 218, + 219, 220, 0, 221, 222, 223, 0, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 815, 0, 235, + 0, 236, 237, 238, 239, 0, 240, 0, 241, 242, + 0, 243, 244, 245, 246, 247, 248, 0, 249, 250, + 816, 0, 251, 252, 253, 254, 0, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 0, + 267, 268, 269, 270, 271, 272, 273, 0, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 0, 284, + 0, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 817, 0, 297, 298, 299, 300, 0, + 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 0, 338, 339, + 340, 341, 0, 818, 343, 344, 345, 346, 347, 0, + 348, 349, 0, 819, 350, 351, 352, 0, 0, 353, + 354, 355, 356, 357, 358, 820, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 0, + 0, 0, 0, 373, 374, 821, 376, 377, 378, 379, + 380, 381, 382, 0, 383, 384, 385, 386, 387, 388, + 389, 390, 0, 391, 392, 393, 394, 395, 396, 397, + 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 0, 413, 414, 415, + 416, 417, 418, 419, 822, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 0, + 443, 444, 445, 446, 447, 0, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 823, 0, 0, 464, 465, 0, 466, 467, 468, + 469, 470, 471, 472, 0, 473, 474, 475, 0, 476, + 0, 477, 478, 824, 480, 825, 0, 482, 483, 826, + 485, 486, 487, 488, 489, 0, 0, 490, 491, 492, + 0, 493, 494, 495, 496, 0, 497, 498, 499, 500, + 501, 827, 503, 0, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 0, 0, 515, 0, 0, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 119, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 828, 0, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 0, 0, 132, 0, + 0, 0, 133, 134, 135, 0, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 0, 148, + 149, 150, 151, 152, 153, 0, 812, 154, 155, 156, + 157, 158, 159, 160, 0, 161, 162, 163, 164, 813, + 0, 814, 0, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 0, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 213, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 815, 0, 235, 0, 236, 237, 238, 239, 0, + 240, 0, 241, 242, 0, 243, 244, 245, 246, 247, + 248, 0, 249, 250, 0, 0, 251, 252, 253, 254, + 0, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 0, 284, 0, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 0, 338, 339, 340, 341, 0, 818, 343, 344, + 345, 346, 347, 0, 348, 349, 0, 0, 350, 351, + 352, 0, 0, 353, 354, 355, 356, 357, 358, 820, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 821, + 376, 377, 378, 379, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 394, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 415, 416, 417, 418, 419, 822, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 0, 443, 444, 445, 446, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 823, 0, 0, 464, 465, + 0, 466, 467, 468, 469, 470, 471, 472, 0, 473, + 474, 475, 0, 476, 0, 477, 478, 824, 480, 825, + 0, 482, 483, 826, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 502, 503, 0, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 874, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 0, 129, 130, 131, 0, 0, 0, + 0, 0, 132, 0, 0, 0, 133, 134, 135, 0, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 0, 148, 149, 150, 151, 152, 153, 0, + 812, 154, 155, 156, 157, 158, 159, 160, 0, 161, + 162, 163, 164, 813, 0, 814, 0, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 0, 177, 178, + 179, 180, 181, 182, 0, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 0, 199, 0, 200, 201, 202, 203, 204, 205, + 0, 0, 206, 207, 208, 209, 210, 0, 0, 211, + 212, 213, 214, 215, 216, 217, 0, 218, 219, 220, + 0, 221, 222, 223, 0, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 815, 0, 235, 0, 236, + 237, 238, 239, 0, 240, 0, 241, 242, 0, 243, + 244, 245, 246, 247, 248, 0, 249, 250, 0, 0, + 251, 252, 253, 254, 0, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 0, 267, 268, + 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 0, 284, 0, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 297, 298, 299, 300, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 0, 338, 339, 340, 341, + 0, 818, 343, 344, 345, 346, 347, 0, 348, 349, + 0, 0, 350, 351, 352, 0, 0, 353, 354, 355, + 356, 357, 358, 820, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 0, 0, 0, + 0, 373, 374, 821, 376, 377, 378, 379, 380, 381, + 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, + 0, 391, 392, 393, 394, 395, 396, 397, 398, 0, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 0, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 0, 443, 444, + 445, 446, 447, 0, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 823, + 0, 0, 464, 465, 0, 466, 467, 468, 469, 470, + 471, 472, 0, 473, 474, 475, 0, 476, 0, 477, + 478, 824, 480, 825, 0, 482, 483, 826, 485, 486, + 487, 488, 489, 0, 0, 490, 491, 492, 0, 493, + 494, 495, 496, 0, 497, 498, 499, 500, 501, 502, + 503, 0, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 0, 0, 515, 0, 0, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3611, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 0, 0, 132, 0, 0, 0, + 0, 134, 135, 0, 136, 137, 138, 0, 140, 141, + 142, 143, 144, 0, 146, 147, 0, 148, 149, 150, + 151, 152, 153, 0, 0, 154, 155, 156, 157, 158, + 159, 160, 0, 161, 162, 163, 164, 165, 0, 0, + 0, 167, 168, 169, 170, 171, 172, 0, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 0, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 0, 199, 0, 200, 201, + 202, 203, 204, 205, 14, 15, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 213, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 0, 235, 0, 236, 237, 238, 239, 0, 240, 0, + 241, 0, 23, 0, 244, 245, 546, 0, 248, 0, + 249, 250, 0, 0, 251, 252, 253, 254, 0, 255, + 256, 257, 258, 259, 260, 261, 0, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 0, 276, 277, 278, 279, 280, 281, 282, 283, + 0, 284, 0, 285, 0, 0, 288, 0, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 0, 299, + 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 547, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 332, 333, 334, 335, 336, 337, 0, + 338, 339, 0, 341, 0, 342, 343, 344, 345, 346, + 347, 0, 348, 349, 0, 0, 350, 351, 352, 0, + 0, 353, 354, 355, 0, 357, 0, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 27, 28, 29, 0, 373, 374, 375, 0, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 394, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 0, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 34, + 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 36, 0, 444, 445, 446, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 548, 462, 463, 38, 0, 464, 465, 39, 466, + 0, 468, 469, 470, 471, 472, 0, 473, 474, 475, + 0, 476, 0, 477, 478, 479, 480, 481, 0, 482, + 483, 484, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 41, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 827, 503, 0, 504, 0, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 0, 515, + 0, 45, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 545, 0, 46, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 874, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 972, 129, 130, 131, 0, 0, 0, 0, 0, + 132, 0, 0, 0, 0, 134, 135, 0, 136, 137, + 138, 0, 140, 141, 142, 143, 144, 0, 146, 147, + 0, 148, 149, 150, 151, 152, 153, 0, 0, 154, + 155, 156, 157, 158, 159, 160, 0, 161, 162, 163, + 164, 165, 0, 0, 0, 167, 168, 169, 170, 171, + 172, 0, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 182, 0, 0, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 0, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 0, 0, 211, 212, 213, + 214, 215, 216, 217, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 0, 235, 0, 236, 237, 238, + 239, 0, 240, 0, 241, 0, 23, 0, 244, 245, + 546, 0, 248, 0, 249, 250, 0, 0, 251, 252, + 253, 254, 0, 255, 256, 257, 258, 259, 260, 261, + 0, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 0, 276, 277, 278, 279, + 280, 281, 282, 283, 0, 284, 0, 285, 0, 0, + 288, 0, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 297, 0, 299, 0, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 547, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 332, 333, 334, + 335, 336, 337, 0, 338, 339, 0, 341, 0, 342, + 343, 344, 345, 346, 347, 0, 348, 349, 0, 0, + 350, 351, 352, 0, 0, 353, 354, 355, 0, 357, + 0, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 27, 28, 29, 0, 373, + 374, 375, 0, 377, 378, 379, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, + 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 0, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 34, 0, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 0, 0, 444, 445, 446, + 447, 0, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 548, 462, 463, 0, 0, + 464, 465, 39, 466, 0, 468, 469, 470, 471, 472, + 0, 473, 973, 475, 0, 476, 0, 974, 478, 479, + 480, 481, 0, 482, 483, 484, 485, 486, 487, 488, + 489, 0, 0, 490, 491, 492, 41, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 827, 503, 0, + 504, 0, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 0, 0, 515, 0, 45, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 545, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 874, 0, 0, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 0, 129, 130, 131, 0, + 0, 0, 0, 0, 132, 0, 0, 0, 0, 134, + 135, 0, 136, 137, 138, 0, 140, 141, 142, 143, + 144, 0, 146, 147, 0, 148, 149, 150, 151, 152, + 153, 0, 0, 154, 155, 156, 157, 158, 159, 160, + 0, 161, 162, 163, 164, 165, 0, 0, 0, 167, + 168, 169, 170, 171, 172, 0, 174, 175, 176, 0, + 177, 178, 179, 180, 181, 182, 0, 0, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 0, 199, 0, 200, 201, 202, 203, + 204, 205, 0, 0, 206, 207, 208, 209, 210, 0, + 0, 211, 212, 213, 214, 215, 216, 217, 0, 218, + 219, 220, 0, 221, 222, 223, 0, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 0, 235, + 0, 236, 237, 238, 239, 0, 240, 0, 241, 0, + 23, 0, 244, 245, 546, 0, 248, 0, 249, 250, + 0, 0, 251, 252, 253, 254, 0, 255, 256, 257, + 258, 259, 260, 261, 0, 263, 264, 265, 266, 0, + 267, 268, 269, 270, 271, 272, 273, 0, 274, 0, + 276, 277, 278, 279, 280, 281, 282, 283, 0, 284, + 0, 285, 0, 0, 288, 0, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 297, 0, 299, 0, 0, + 301, 302, 303, 304, 305, 306, 307, 308, 547, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 332, 333, 334, 335, 336, 337, 0, 338, 339, + 0, 341, 0, 342, 343, 344, 345, 346, 347, 0, + 348, 349, 0, 0, 350, 351, 352, 0, 0, 353, + 354, 355, 0, 357, 0, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 27, + 28, 29, 0, 373, 374, 375, 0, 377, 378, 379, + 380, 381, 382, 0, 383, 384, 385, 386, 387, 388, + 389, 390, 0, 391, 392, 393, 394, 395, 396, 397, + 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 0, 413, 414, 0, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 34, 0, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 0, + 0, 444, 445, 446, 447, 0, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 548, + 462, 463, 0, 0, 464, 465, 39, 466, 0, 468, + 469, 470, 471, 472, 0, 473, 474, 475, 0, 476, + 0, 477, 478, 479, 480, 481, 0, 482, 483, 484, + 485, 486, 487, 488, 489, 0, 0, 490, 491, 492, + 41, 493, 494, 495, 496, 0, 497, 498, 499, 500, + 501, 827, 503, 0, 504, 0, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 0, 0, 515, 0, 45, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 0, 545, 46, 573, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 874, 0, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 0, 0, 0, 0, 0, 132, + 0, 0, 0, 0, 134, 135, 0, 136, 137, 138, + 0, 140, 141, 142, 143, 144, 0, 146, 147, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 158, 159, 160, 0, 161, 162, 163, 164, + 165, 0, 0, 0, 167, 168, 169, 170, 171, 172, + 0, 174, 175, 176, 0, 177, 178, 179, 180, 181, + 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 0, 0, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 213, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 221, 222, + 223, 0, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 0, 235, 0, 236, 237, 238, 239, + 0, 240, 0, 241, 0, 0, 0, 244, 245, 546, + 0, 248, 0, 249, 250, 0, 0, 251, 252, 253, + 254, 0, 255, 256, 257, 258, 259, 260, 261, 0, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 0, 276, 277, 278, 279, 280, + 281, 282, 283, 0, 284, 0, 285, 0, 0, 288, + 0, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 0, 299, 0, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 547, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 332, 333, 334, 335, + 336, 337, 0, 338, 339, 0, 341, 0, 342, 343, + 344, 345, 346, 347, 0, 348, 349, 0, 0, 350, + 351, 352, 0, 0, 353, 354, 355, 0, 357, 0, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 0, 0, 0, 0, 373, 374, + 375, 0, 377, 378, 379, 380, 381, 382, 0, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, + 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 0, 413, 414, 0, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 0, 0, 444, 445, 446, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 548, 462, 463, 0, 0, 464, + 465, 0, 466, 0, 468, 469, 470, 471, 472, 0, + 473, 474, 475, 0, 476, 0, 477, 478, 479, 480, + 481, 0, 482, 483, 484, 485, 486, 487, 488, 489, + 0, 0, 490, 491, 492, 0, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 502, 503, 0, 504, + 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 0, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1076, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 0, 129, 130, 131, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 134, 135, + 0, 136, 137, 138, 0, 140, 141, 142, 143, 144, + 0, 146, 147, 0, 148, 149, 150, 151, 152, 153, + 0, 0, 154, 155, 156, 157, 158, 159, 160, 0, + 161, 162, 163, 164, 165, 0, 0, 0, 167, 168, + 169, 170, 171, 172, 0, 174, 175, 176, 0, 177, + 178, 179, 180, 181, 182, 0, 0, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 0, 199, 0, 200, 201, 202, 203, 204, + 205, 0, 0, 206, 207, 208, 209, 210, 0, 0, + 211, 212, 213, 214, 215, 216, 217, 0, 218, 219, + 220, 0, 221, 222, 223, 0, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 0, 235, 0, + 236, 237, 238, 239, 0, 240, 0, 241, 0, 0, + 0, 244, 245, 546, 0, 248, 0, 249, 250, 0, + 0, 251, 252, 253, 254, 0, 255, 256, 257, 258, + 259, 260, 261, 0, 263, 264, 265, 266, 0, 267, + 268, 269, 270, 271, 272, 273, 0, 274, 0, 276, + 277, 278, 279, 280, 281, 282, 283, 0, 284, 0, + 285, 0, 0, 288, 0, 290, 291, 292, 293, 294, + 295, 296, 0, 0, 297, 0, 299, 0, 0, 301, + 302, 303, 304, 305, 306, 307, 308, 547, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 332, 333, 334, 335, 336, 337, 0, 338, 339, 0, + 341, 0, 342, 343, 344, 345, 346, 347, 0, 348, + 349, 0, 0, 350, 351, 352, 0, 0, 353, 354, + 355, 0, 357, 0, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 0, 0, + 0, 0, 373, 374, 375, 0, 377, 378, 379, 380, + 381, 382, 0, 383, 384, 385, 386, 387, 388, 389, + 390, 0, 391, 392, 393, 394, 395, 396, 397, 398, + 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 0, 413, 414, 0, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 0, 0, + 444, 445, 446, 447, 0, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 548, 462, + 463, 0, 0, 464, 465, 0, 466, 0, 468, 469, + 470, 471, 472, 0, 473, 474, 475, 0, 476, 0, + 477, 478, 479, 480, 481, 0, 482, 483, 484, 485, + 486, 487, 488, 489, 0, 0, 490, 491, 492, 0, + 493, 494, 495, 496, 0, 497, 498, 499, 500, 501, + 502, 503, 0, 504, 0, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 0, 0, 515, 0, 0, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1556, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 134, 135, 0, 136, 137, 138, 0, 140, + 141, 142, 143, 144, 0, 146, 147, 0, 148, 149, + 150, 151, 152, 153, 0, 0, 154, 155, 156, 157, + 158, 159, 160, 0, 161, 162, 163, 164, 165, 0, + 0, 0, 167, 168, 169, 170, 171, 172, 0, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 0, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 213, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 222, 223, 0, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 0, 235, 0, 236, 237, 238, 239, 0, 240, + 0, 241, 0, 0, 0, 244, 245, 546, 0, 248, + 0, 249, 250, 0, 0, 251, 252, 253, 254, 0, + 255, 256, 257, 258, 259, 260, 261, 0, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 0, 276, 277, 278, 279, 280, 281, 282, + 283, 0, 284, 0, 285, 0, 0, 288, 0, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 0, + 299, 0, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 547, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 332, 333, 334, 335, 336, 337, + 0, 338, 339, 0, 341, 0, 342, 343, 344, 345, + 346, 347, 0, 348, 349, 0, 0, 350, 351, 352, + 0, 0, 353, 354, 355, 0, 357, 0, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 375, 0, + 377, 378, 379, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 392, 393, 394, + 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 0, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 0, 0, 444, 445, 446, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 548, 462, 463, 0, 0, 464, 465, 0, + 466, 0, 468, 469, 470, 471, 472, 0, 473, 474, + 475, 0, 476, 0, 477, 478, 479, 480, 481, 0, + 482, 483, 484, 485, 486, 487, 488, 489, 0, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 502, 503, 0, 504, 0, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2308, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 0, 129, 130, 131, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 134, 135, 0, 136, + 137, 138, 0, 140, 141, 142, 143, 144, 0, 146, + 147, 0, 148, 149, 150, 151, 152, 153, 0, 0, + 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, + 163, 164, 165, 0, 0, 0, 167, 168, 169, 170, + 171, 172, 0, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 0, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 213, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 0, 235, 0, 236, 237, + 238, 239, 0, 240, 0, 241, 0, 0, 0, 244, + 245, 546, 0, 248, 0, 249, 250, 0, 0, 251, + 252, 253, 254, 0, 255, 256, 257, 258, 259, 260, + 261, 0, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 0, 276, 277, 278, + 279, 280, 281, 282, 283, 0, 284, 0, 285, 0, + 0, 288, 0, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 0, 299, 0, 0, 301, 302, 303, + 304, 305, 306, 307, 308, 547, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 332, 333, + 334, 335, 336, 337, 0, 338, 339, 0, 341, 0, + 342, 343, 344, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 355, 0, + 357, 0, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 375, 0, 377, 378, 379, 380, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, + 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 0, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 0, 0, 444, 445, + 446, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 548, 462, 463, 0, + 0, 464, 465, 0, 466, 0, 468, 469, 470, 471, + 472, 0, 473, 474, 475, 0, 476, 0, 477, 478, + 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 492, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 502, 503, + 0, 504, 0, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 545, 0, + 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2543, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 0, 129, 130, 131, + 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, + 134, 135, 0, 136, 137, 138, 0, 140, 141, 142, + 143, 144, 0, 146, 147, 0, 148, 149, 150, 151, + 152, 153, 0, 0, 154, 155, 156, 157, 158, 159, + 160, 0, 161, 162, 163, 164, 165, 0, 0, 0, + 167, 168, 169, 170, 171, 172, 0, 174, 175, 176, + 0, 177, 178, 179, 180, 181, 182, 0, 0, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 0, 199, 0, 200, 201, 202, + 203, 204, 205, 0, 0, 206, 207, 208, 209, 210, + 0, 0, 211, 212, 213, 214, 215, 216, 217, 0, + 218, 219, 220, 0, 221, 222, 223, 0, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 0, + 235, 0, 236, 237, 238, 239, 0, 240, 0, 241, + 0, 0, 0, 244, 245, 546, 0, 248, 0, 249, + 250, 0, 0, 251, 252, 253, 254, 0, 255, 256, + 257, 258, 259, 260, 261, 0, 263, 264, 265, 266, + 0, 267, 268, 269, 270, 271, 272, 273, 0, 274, + 0, 276, 277, 278, 279, 280, 281, 282, 283, 0, + 284, 0, 285, 0, 0, 288, 0, 290, 291, 292, + 293, 294, 295, 296, 0, 0, 297, 0, 299, 0, + 0, 301, 302, 303, 304, 305, 306, 307, 308, 547, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 332, 333, 334, 335, 336, 337, 0, 338, + 339, 0, 341, 0, 342, 343, 344, 345, 346, 347, + 0, 348, 349, 0, 0, 350, 351, 352, 0, 0, + 353, 354, 355, 0, 357, 0, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 0, 0, 0, 0, 373, 374, 375, 0, 377, 378, + 379, 380, 381, 382, 0, 383, 384, 385, 386, 387, + 388, 389, 390, 0, 391, 392, 393, 394, 395, 396, + 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 0, 413, 414, + 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 0, 0, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 0, 0, 444, 445, 446, 447, 0, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 548, 462, 463, 0, 0, 464, 465, 0, 466, 0, + 468, 469, 470, 471, 472, 0, 473, 474, 475, 0, + 476, 0, 477, 478, 479, 480, 481, 0, 482, 483, + 484, 485, 486, 487, 488, 489, 0, 0, 490, 491, + 492, 0, 493, 494, 495, 496, 0, 497, 498, 499, + 500, 501, 502, 503, 0, 504, 0, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 0, 0, 515, 0, + 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2705, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 0, 0, 0, 0, 0, 132, + 0, 0, 0, 0, 134, 135, 0, 136, 137, 138, + 0, 140, 141, 142, 143, 144, 0, 146, 147, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 158, 159, 160, 0, 161, 162, 163, 164, + 165, 0, 0, 0, 167, 168, 169, 170, 171, 172, + 0, 174, 175, 176, 0, 177, 178, 179, 180, 181, + 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 0, 0, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 213, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 221, 222, + 223, 0, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 0, 235, 0, 236, 237, 238, 239, + 0, 240, 0, 241, 0, 0, 0, 244, 245, 546, + 0, 248, 0, 249, 250, 0, 0, 251, 252, 253, + 254, 0, 255, 256, 257, 258, 259, 260, 261, 0, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 0, 276, 277, 278, 279, 280, + 281, 282, 283, 0, 284, 0, 285, 0, 0, 288, + 0, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 0, 299, 0, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 547, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 332, 333, 334, 335, + 336, 337, 0, 338, 339, 0, 341, 0, 342, 343, + 344, 345, 346, 347, 0, 348, 349, 0, 0, 350, + 351, 352, 0, 0, 353, 354, 355, 0, 357, 0, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 0, 0, 0, 0, 373, 374, + 375, 0, 377, 378, 379, 380, 381, 382, 0, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, + 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 0, 413, 414, 0, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 0, 0, 444, 445, 446, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 548, 462, 463, 0, 0, 464, + 465, 0, 466, 0, 468, 469, 470, 471, 472, 0, + 473, 474, 475, 0, 476, 0, 477, 478, 479, 480, + 481, 0, 482, 483, 484, 485, 486, 487, 488, 489, + 0, 0, 490, 491, 492, 0, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 502, 503, 0, 504, + 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 0, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2886, 2886, 0, - 0, 2886, 0, 0, 0, 2886, 0, 0, 2886, 2886, + 0, 0, 3451, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 0, 129, 130, 131, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 134, 135, + 0, 136, 137, 138, 0, 140, 141, 142, 143, 144, + 0, 146, 147, 0, 148, 149, 150, 151, 152, 153, + 0, 0, 154, 155, 156, 157, 158, 159, 160, 0, + 161, 162, 163, 164, 165, 0, 0, 0, 167, 168, + 169, 170, 171, 172, 0, 174, 175, 176, 0, 177, + 178, 179, 180, 181, 182, 0, 0, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 0, 199, 0, 200, 201, 202, 203, 204, + 205, 0, 0, 206, 207, 208, 209, 210, 0, 0, + 211, 212, 213, 214, 215, 216, 217, 0, 218, 219, + 220, 0, 221, 222, 223, 0, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 0, 235, 0, + 236, 237, 238, 239, 0, 240, 0, 241, 0, 0, + 0, 244, 245, 546, 0, 248, 0, 249, 250, 0, + 0, 251, 252, 253, 254, 0, 255, 256, 257, 258, + 259, 260, 261, 0, 263, 264, 265, 266, 0, 267, + 268, 269, 270, 271, 272, 273, 0, 274, 0, 276, + 277, 278, 279, 280, 281, 282, 283, 0, 284, 0, + 285, 0, 0, 288, 0, 290, 291, 292, 293, 294, + 295, 296, 0, 0, 297, 0, 299, 0, 0, 301, + 302, 303, 304, 305, 306, 307, 308, 547, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 332, 333, 334, 335, 336, 337, 0, 338, 339, 0, + 341, 0, 342, 343, 344, 345, 346, 347, 0, 348, + 349, 0, 0, 350, 351, 352, 0, 0, 353, 354, + 355, 0, 357, 0, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 0, 0, + 0, 0, 373, 374, 375, 0, 377, 378, 379, 380, + 381, 382, 0, 383, 384, 385, 386, 387, 388, 389, + 390, 0, 391, 392, 393, 394, 395, 396, 397, 398, + 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 0, 413, 414, 0, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 0, 0, + 444, 445, 446, 447, 0, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 548, 462, + 463, 0, 0, 464, 465, 0, 466, 0, 468, 469, + 470, 471, 472, 0, 473, 474, 475, 0, 476, 0, + 477, 478, 479, 480, 481, 0, 482, 483, 484, 485, + 486, 487, 488, 489, 0, 0, 490, 491, 492, 0, + 493, 494, 495, 496, 0, 497, 498, 499, 500, 501, + 502, 503, 0, 504, 0, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 0, 0, 515, 0, 0, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2157, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 134, 135, 0, 136, 137, 138, 0, 140, + 141, 142, 143, 144, 0, 146, 147, 0, 148, 149, + 150, 151, 152, 153, 0, 0, 154, 155, 156, 157, + 158, 159, 160, 0, 161, 162, 163, 164, 165, 0, + 0, 0, 167, 168, 169, 170, 171, 172, 0, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 0, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 213, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 222, 223, 0, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 0, 235, 0, 236, 237, 238, 239, 0, 240, + 0, 241, 0, 0, 0, 244, 245, 546, 0, 248, + 0, 249, 250, 0, 0, 251, 252, 253, 254, 0, + 255, 256, 257, 258, 259, 260, 261, 0, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 0, 276, 277, 278, 279, 280, 281, 282, + 283, 0, 284, 0, 285, 0, 0, 288, 0, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 0, + 299, 0, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 547, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 332, 333, 334, 335, 336, 337, + 0, 338, 339, 0, 341, 0, 342, 343, 344, 345, + 346, 347, 0, 348, 349, 0, 0, 350, 351, 352, + 0, 0, 353, 354, 355, 0, 357, 0, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 375, 0, + 377, 378, 379, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 392, 393, 394, + 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 0, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 0, 0, 444, 445, 446, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 548, 462, 463, 0, 0, 464, 465, 0, + 466, 0, 468, 469, 470, 471, 472, 0, 473, 474, + 475, 0, 476, 0, 477, 478, 479, 480, 481, 0, + 482, 483, 484, 485, 486, 487, 488, 489, 0, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 502, 503, 0, 504, 0, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2268, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 0, 129, 130, 131, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 134, 135, 0, 136, + 137, 138, 0, 140, 141, 142, 143, 144, 0, 146, + 147, 0, 148, 149, 150, 151, 152, 153, 0, 0, + 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, + 163, 164, 165, 0, 0, 0, 167, 168, 169, 170, + 171, 172, 0, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 0, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 213, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 0, 235, 0, 236, 237, + 238, 239, 0, 240, 0, 241, 0, 0, 0, 244, + 245, 546, 0, 248, 0, 249, 250, 0, 0, 251, + 252, 253, 254, 0, 255, 256, 257, 258, 259, 260, + 261, 0, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 0, 276, 277, 278, + 279, 280, 281, 282, 283, 0, 284, 0, 285, 0, + 0, 288, 0, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 0, 299, 0, 0, 301, 302, 303, + 304, 305, 306, 307, 308, 547, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 332, 333, + 334, 335, 336, 337, 0, 338, 339, 0, 341, 0, + 342, 343, 344, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 355, 0, + 357, 0, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 375, 0, 377, 378, 379, 380, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, + 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 0, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 0, 0, 444, 445, + 446, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 548, 462, 463, 0, + 0, 464, 465, 0, 466, 0, 468, 469, 470, 471, + 472, 0, 473, 474, 475, 0, 476, 0, 477, 478, + 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 492, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 502, 503, + 0, 504, 0, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3252, 0, 0, 120, 121, 122, + 123, 0, 125, 126, 127, 128, 0, 129, 130, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 112, 1085, 658, 1086, 1087, 1088, - 1089, 1090, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 122, 123, 124, 0, 0, 0, 2886, - 2886, 125, 1091, 2886, 0, 126, 127, 128, 0, 129, - 130, 131, 132, 133, 134, 135, 136, 1092, 138, 1093, - 1094, 0, 141, 142, 143, 144, 145, 146, 1095, 627, - 147, 148, 1096, 1097, 151, 0, 152, 153, 154, 155, - 628, 0, 629, 0, 1098, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 1099, 1100, 187, 1101, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 853, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 1102, 219, 220, 221, 222, 223, - 630, 1103, 225, 0, 226, 227, 1104, 229, 0, 230, - 0, 231, 232, 21, 233, 234, 235, 236, 237, 238, - 0, 239, 240, 0, 0, 1105, 1106, 243, 244, 0, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 265, 266, 267, 268, 269, 270, 271, 1107, - 1108, 0, 1109, 0, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, - 289, 290, 0, 291, 292, 293, 294, 295, 296, 297, - 298, 1110, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 1111, 319, 1112, 321, 322, 323, 324, 325, 1113, 326, - 327, 328, 329, 1114, 633, 331, 1115, 333, 334, 335, - 0, 336, 337, 0, 0, 1116, 339, 340, 0, 0, - 341, 342, 343, 344, 345, 635, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 25, 26, - 27, 0, 359, 360, 636, 362, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 1117, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 401, 402, - 403, 404, 1118, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 32, 0, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 1119, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 638, 449, - 0, 450, 451, 37, 452, 453, 454, 455, 456, 457, - 458, 0, 1120, 1121, 0, 461, 0, 462, 463, 639, - 465, 640, 1122, 467, 468, 641, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 39, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 642, 1123, 0, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 43, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 1124, 0, 44, 0, 0, - 0, 0, 1125, 1126, 1127, 0, 0, 0, 0, 1128, - 0, 1129, 3331, 0, 0, 0, 0, 1130, 1131, 0, - 0, 0, 0, 1132, 1133, 112, 1085, 658, 1086, 1087, - 1088, 1089, 1090, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 0, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 1091, 0, 0, 126, 127, 128, 0, - 129, 130, 131, 132, 133, 134, 135, 136, 1092, 138, - 1093, 1094, 0, 141, 142, 143, 144, 145, 146, 1095, - 627, 147, 148, 1096, 1097, 151, 0, 152, 153, 154, - 155, 628, 0, 629, 0, 1098, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 1099, 1100, 187, 1101, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 853, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 1102, 219, 220, 221, 222, - 223, 630, 1103, 225, 0, 226, 227, 1104, 229, 0, - 230, 0, 231, 232, 21, 233, 234, 235, 236, 237, - 238, 0, 239, 240, 0, 0, 1105, 1106, 243, 244, - 0, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 265, 266, 267, 268, 269, 270, 271, - 1107, 1108, 0, 1109, 0, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 1110, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 1111, 319, 1112, 321, 322, 323, 324, 325, 1113, - 326, 327, 328, 329, 1114, 633, 331, 1115, 333, 334, - 335, 0, 336, 337, 0, 0, 1116, 339, 340, 0, - 0, 341, 342, 343, 344, 345, 635, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 25, - 26, 27, 0, 359, 360, 636, 362, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 1117, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, + 134, 135, 0, 136, 137, 138, 0, 140, 141, 142, + 894, 895, 0, 896, 897, 0, 148, 149, 150, 151, + 152, 153, 0, 0, 154, 155, 156, 157, 898, 899, + 160, 0, 161, 162, 163, 164, 900, 0, 0, 0, + 0, 168, 169, 170, 171, 172, 0, 174, 175, 176, + 0, 177, 178, 179, 180, 181, 0, 0, 0, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 901, + 195, 196, 902, 198, 0, 199, 0, 200, 201, 202, + 203, 204, 205, 14, 15, 0, 207, 208, 209, 210, + 0, 0, 211, 212, 213, 214, 215, 0, 0, 0, + 218, 219, 220, 0, 221, 222, 223, 0, 224, 225, + 226, 227, 903, 229, 230, 231, 232, 233, 904, 0, + 235, 0, 236, 237, 905, 239, 0, 240, 0, 241, + 0, 23, 0, 244, 245, 906, 0, 248, 0, 249, + 0, 0, 0, 907, 908, 0, 254, 0, 255, 256, + 257, 258, 259, 260, 261, 0, 263, 264, 265, 266, + 0, 267, 268, 269, 270, 271, 272, 273, 0, 274, + 0, 909, 277, 278, 279, 280, 281, 910, 911, 0, + 912, 0, 285, 0, 0, 288, 0, 290, 0, 292, + 293, 294, 295, 296, 0, 0, 297, 0, 299, 0, + 0, 301, 302, 303, 304, 305, 306, 307, 308, 913, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 914, 0, 915, 333, 334, 335, 0, 916, 0, 338, + 339, 0, 341, 0, 917, 343, 918, 345, 346, 347, + 0, 348, 349, 0, 0, 350, 351, 352, 0, 0, + 353, 354, 919, 0, 357, 0, 920, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 0, 0, 371, 372, + 27, 28, 29, 0, 373, 374, 921, 0, 377, 378, + 922, 380, 381, 382, 0, 383, 384, 385, 386, 387, + 0, 0, 390, 0, 391, 392, 393, 923, 395, 396, + 397, 398, 0, 399, 400, 401, 0, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 0, 413, 414, + 0, 416, 417, 418, 924, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 34, 0, + 433, 434, 435, 436, 437, 438, 925, 440, 441, 0, + 36, 0, 0, 445, 926, 447, 0, 0, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 927, 462, 928, 38, 0, 464, 465, 39, 466, 0, + 468, 469, 470, 471, 472, 0, 473, 929, 930, 0, + 0, 0, 477, 478, 931, 480, 932, 0, 482, 483, + 933, 485, 486, 487, 488, 489, 0, 0, 490, 491, + 492, 41, 493, 494, 495, 496, 0, 497, 498, 499, + 500, 501, 934, 935, 0, 504, 0, 506, 0, 508, + 509, 510, 511, 0, 513, 514, 0, 0, 515, 0, + 45, 516, 517, 518, 519, 520, 521, 936, 937, 938, + 939, 940, 941, 942, 943, 944, 945, 946, 533, 534, + 535, 536, 0, 0, 46, 0, 0, 3066, 1434, 843, + 0, 0, 2133, 1137, 0, 0, 0, 0, 874, 2134, + 2135, 0, 0, 2136, 2137, 2138, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 580, 129, 130, 131, 581, + 582, 583, 3067, 585, 132, 586, 587, 588, 3068, 134, + 135, 590, 136, 137, 138, 3069, 140, 141, 142, 0, + 1572, 3070, 1574, 1575, 597, 148, 149, 150, 151, 152, + 153, 598, 599, 154, 155, 156, 157, 1576, 1577, 160, + 602, 161, 162, 163, 164, 0, 604, 3071, 606, 3072, + 168, 169, 170, 171, 172, 3073, 174, 175, 176, 609, + 177, 178, 179, 180, 181, 182, 610, 3074, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 1582, 195, + 196, 1583, 198, 615, 199, 616, 200, 201, 202, 203, + 204, 205, 617, 618, 206, 207, 208, 209, 210, 619, + 620, 211, 212, 1150, 214, 215, 216, 217, 621, 218, + 219, 220, 622, 221, 222, 223, 623, 224, 225, 226, + 227, 0, 229, 230, 231, 232, 233, 0, 626, 235, + 627, 236, 237, 1584, 239, 629, 240, 630, 241, 3075, + 632, 3076, 244, 245, 3077, 3078, 248, 636, 249, 250, + 637, 638, 0, 0, 253, 254, 641, 255, 256, 257, + 258, 259, 260, 261, 3079, 263, 264, 265, 266, 643, + 267, 268, 269, 270, 271, 272, 273, 644, 274, 3080, + 0, 277, 278, 279, 280, 281, 1590, 1591, 649, 1592, + 651, 285, 3081, 3082, 288, 3083, 290, 291, 292, 293, + 294, 295, 296, 655, 656, 297, 3084, 299, 3085, 659, + 301, 302, 303, 304, 305, 306, 307, 308, 3086, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 1599, + 3087, 1601, 333, 334, 335, 336, 3088, 665, 338, 339, + 3089, 341, 667, 0, 343, 1603, 345, 346, 347, 670, + 348, 349, 671, 672, 3090, 351, 352, 673, 674, 353, + 354, 0, 3091, 357, 3092, 0, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 679, + 680, 681, 682, 373, 374, 0, 3093, 377, 378, 0, + 380, 381, 382, 686, 383, 384, 385, 386, 387, 388, + 389, 390, 687, 391, 392, 393, 1607, 395, 396, 397, + 398, 689, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 690, 413, 414, 3094, + 416, 417, 418, 1609, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 693, 3095, 433, + 434, 435, 436, 437, 438, 3096, 440, 441, 442, 696, + 3097, 444, 445, 1613, 447, 699, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 3098, + 462, 0, 702, 703, 464, 465, 704, 466, 3099, 468, + 469, 470, 471, 472, 706, 473, 1616, 1617, 709, 476, + 710, 477, 478, 0, 480, 0, 713, 482, 483, 3100, + 485, 486, 487, 488, 489, 3101, 716, 490, 491, 492, + 717, 493, 494, 495, 496, 718, 497, 498, 499, 500, + 501, 0, 1620, 721, 504, 3102, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 723, 724, 515, 725, 726, + 516, 517, 518, 519, 520, 521, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 533, 534, 535, + 536, 0, 545, 0, 2139, 2140, 2141, 2133, 3103, 3104, + 2144, 2145, 2146, 2147, 2134, 2135, 0, 0, 2136, 2137, + 2138, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 0, 0, 0, 0, 0, 132, + 0, 0, 0, 0, 134, 135, 0, 136, 137, 138, + 0, 140, 141, 142, 143, 144, 0, 146, 147, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 158, 159, 160, 0, 161, 162, 163, 164, + 165, 0, 0, 0, 167, 168, 169, 170, 171, 172, + 0, 174, 175, 176, 0, 177, 178, 179, 180, 181, + 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 0, 0, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 213, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 221, 222, + 223, 0, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 0, 235, 0, 236, 237, 238, 239, + 0, 240, 0, 241, 0, 0, 0, 244, 245, 546, + 0, 248, 0, 249, 250, 0, 0, 251, 252, 253, + 254, 0, 255, 256, 257, 258, 259, 260, 261, 0, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 0, 276, 277, 278, 279, 280, + 281, 282, 283, 0, 284, 0, 285, 0, 0, 288, + 0, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 0, 299, 0, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 547, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 332, 333, 334, 335, + 336, 337, 0, 338, 339, 0, 341, 0, 342, 343, + 344, 345, 346, 347, 0, 348, 349, 0, 0, 350, + 351, 352, 0, 0, 353, 354, 355, 0, 357, 0, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 0, 0, 0, 0, 373, 374, + 375, 0, 377, 378, 379, 380, 381, 382, 0, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, - 402, 403, 404, 1118, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 32, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 1119, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 638, - 449, 0, 450, 451, 37, 452, 453, 454, 455, 456, - 457, 458, 0, 1120, 1121, 0, 461, 0, 462, 463, - 639, 465, 640, 1122, 467, 468, 641, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 39, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 642, 1123, - 0, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 43, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 1124, 0, 44, 0, - 0, 0, 0, 1125, 1126, 1127, 0, 0, 0, 0, - 1128, 0, 1129, 0, 0, 0, 0, 0, 1130, 1131, - 0, 0, 0, 0, 1132, 1133, 1359, 1085, 658, 1086, - 1087, 1088, 1089, 1090, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 1360, 122, 123, 124, 0, 0, - 0, 1361, 0, 125, 1091, 0, 0, 1362, 127, 128, - 0, 129, 130, 131, 1363, 133, 134, 135, 136, 1092, - 1364, 1093, 1094, 0, 141, 142, 143, 144, 145, 146, - 1095, 627, 147, 148, 1096, 1097, 151, 0, 152, 153, - 154, 155, 628, 0, 1365, 0, 1366, 159, 160, 161, - 162, 163, 1367, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 1368, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 1099, 1100, 187, 1101, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 1369, 0, 201, 202, 853, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 1102, 219, 220, 221, - 222, 223, 630, 1103, 225, 0, 226, 227, 1104, 229, - 0, 230, 0, 231, 1370, 0, 1371, 234, 235, 1372, - 1373, 238, 0, 239, 240, 0, 0, 1105, 1106, 243, - 244, 0, 245, 246, 247, 248, 249, 250, 251, 1374, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 1375, 266, 267, 268, 269, 270, - 271, 1107, 1108, 0, 1109, 0, 275, 1376, 1377, 278, - 1378, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 1379, 289, 1380, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 1381, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 1111, 1382, 1112, 321, 322, 323, 324, 325, - 1113, 326, 327, 1383, 329, 1114, 633, 331, 1115, 333, - 334, 335, 0, 336, 337, 0, 0, 1116, 339, 340, - 0, 0, 341, 342, 1384, 344, 1385, 635, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 636, 1386, 363, 364, - 365, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 1117, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 1387, 402, 403, 404, 1118, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 0, 1388, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 1389, - 429, 430, 1119, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 1390, 447, - 638, 449, 0, 450, 451, 0, 452, 1391, 454, 455, - 456, 457, 458, 0, 1120, 1121, 0, 461, 0, 462, - 463, 639, 465, 640, 1122, 467, 468, 1392, 470, 471, - 472, 473, 474, 0, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, - 1123, 1393, 489, 1394, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 1124, 0, 0, - 0, 0, 0, 0, 1125, 1126, 1127, 0, 0, 0, - 0, 1128, 0, 1129, 1395, 0, 0, 0, 0, 1130, - 1131, 0, 0, 0, 0, 1132, 1133, 112, 1085, 658, - 1086, 1087, 1088, 1089, 1090, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 0, 0, 125, 1091, 0, 0, 126, 127, - 128, 0, 129, 130, 131, 132, 133, 134, 135, 136, - 1092, 138, 1093, 1094, 1562, 141, 142, 143, 144, 145, - 146, 1095, 627, 147, 148, 1096, 1097, 151, 0, 152, - 153, 154, 155, 628, 0, 629, 0, 1098, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 1099, 1100, 187, 1101, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 853, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 1102, 219, 220, - 221, 222, 223, 630, 1103, 225, 0, 226, 227, 1104, - 229, 0, 230, 0, 231, 232, 1563, 233, 234, 235, - 236, 237, 238, 0, 239, 240, 0, 0, 1105, 1106, - 243, 244, 0, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 265, 266, 267, 268, 269, - 270, 271, 1107, 1108, 0, 1109, 0, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, - 1564, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 297, 298, 1110, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 1111, 319, 1112, 321, 322, 323, 324, - 325, 1113, 326, 327, 328, 329, 1114, 633, 331, 1115, - 333, 334, 335, 0, 336, 337, 0, 0, 1116, 339, - 340, 0, 0, 341, 342, 343, 344, 345, 635, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 636, 362, 363, - 364, 365, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 1117, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 401, 402, 403, 404, 1118, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 0, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 1119, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 638, 449, 0, 450, 451, 0, 452, 453, 454, - 455, 456, 457, 458, 0, 1120, 1121, 0, 461, 1565, - 462, 463, 639, 465, 640, 1122, 467, 468, 641, 470, - 471, 472, 473, 474, 0, 0, 475, 476, 477, 0, - 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 487, 1123, 0, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 1124, 0, - 0, 0, 0, 0, 0, 1125, 1126, 1127, 0, 0, - 0, 0, 1128, 0, 1129, 0, 0, 0, 0, 0, - 1130, 1131, 0, 0, 0, 0, 1132, 1133, 1359, 1085, - 658, 1086, 1087, 1088, 1089, 1090, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 1361, 0, 125, 1091, 0, 0, 1362, - 127, 128, 0, 129, 130, 131, 1363, 133, 134, 135, - 136, 1092, 1364, 1093, 1094, 0, 141, 142, 143, 144, - 145, 146, 1095, 627, 147, 148, 1096, 1097, 151, 0, - 152, 153, 154, 155, 628, 0, 1365, 0, 1366, 159, - 160, 161, 162, 163, 1367, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 1368, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 1099, 1100, 187, - 1101, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 853, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 212, 213, 0, 214, 215, 216, 217, 1102, 219, - 220, 221, 222, 223, 630, 1103, 225, 0, 226, 227, - 1104, 229, 0, 230, 0, 231, 1370, 0, 1371, 234, - 235, 1372, 1373, 238, 0, 239, 240, 0, 0, 1105, - 1106, 243, 244, 0, 245, 246, 247, 248, 249, 250, - 251, 1374, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 1375, 266, 267, 268, - 269, 270, 271, 1107, 1108, 0, 1109, 0, 275, 1376, - 1377, 278, 1378, 280, 281, 282, 283, 284, 285, 286, - 0, 0, 287, 1379, 289, 1380, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 1381, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 1111, 1382, 1112, 321, 322, 323, - 324, 325, 1113, 326, 327, 1383, 329, 1114, 633, 331, - 1115, 333, 334, 335, 0, 336, 337, 0, 0, 1116, - 339, 340, 0, 0, 341, 342, 1384, 344, 1385, 635, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 0, 0, 0, 0, 359, 360, 636, 1386, - 363, 364, 365, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 1117, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 1387, 402, 403, 404, 1118, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 0, 1388, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 1389, 429, 430, 1119, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 1390, 447, 638, 449, 0, 450, 451, 0, 452, 1391, - 454, 455, 456, 457, 458, 0, 1120, 1121, 0, 461, - 0, 462, 463, 639, 465, 640, 1122, 467, 468, 1392, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 487, 1123, 2319, 489, 1394, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 0, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 1124, - 0, 0, 0, 0, 0, 0, 1125, 1126, 1127, 0, - 0, 0, 0, 1128, 0, 1129, 0, 0, 0, 0, - 0, 1130, 1131, 0, 0, 0, 0, 1132, 1133, 1359, - 1085, 658, 1086, 1087, 1088, 1089, 1090, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 0, 0, 0, 1361, 0, 125, 1091, 0, 0, - 1362, 127, 128, 0, 129, 130, 131, 1363, 133, 134, - 135, 136, 1092, 1364, 1093, 1094, 0, 141, 142, 143, - 144, 145, 146, 1095, 627, 147, 148, 1096, 1097, 151, - 0, 152, 153, 154, 155, 628, 0, 1365, 0, 1366, - 159, 160, 161, 162, 163, 1367, 165, 166, 167, 0, - 168, 169, 170, 171, 172, 173, 0, 1368, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 1099, 1100, - 187, 1101, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 853, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 1102, - 219, 220, 221, 222, 223, 630, 1103, 225, 0, 226, - 227, 1104, 229, 0, 230, 0, 231, 1370, 0, 1371, - 234, 235, 1372, 1373, 238, 0, 239, 240, 0, 0, - 1105, 1106, 243, 244, 0, 245, 246, 247, 248, 249, - 250, 251, 1374, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 1375, 266, 267, - 268, 269, 270, 271, 1107, 1108, 0, 1109, 0, 275, - 1376, 1377, 278, 1378, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 1379, 289, 1380, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 1381, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 1111, 1382, 1112, 321, 322, - 323, 324, 325, 1113, 326, 327, 1383, 329, 1114, 633, - 331, 1115, 333, 334, 335, 0, 336, 337, 0, 0, - 1116, 339, 340, 0, 0, 341, 342, 1384, 344, 1385, - 635, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 0, 0, 0, 0, 359, 360, 636, - 1386, 363, 364, 365, 366, 367, 368, 0, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 1117, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 1387, 402, 403, 404, 1118, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, - 1388, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 1389, 429, 430, 1119, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 1390, 447, 638, 449, 0, 450, 451, 0, 452, - 1391, 454, 455, 456, 457, 458, 0, 1120, 1121, 0, - 461, 0, 462, 463, 639, 465, 640, 1122, 467, 468, - 1392, 470, 471, 472, 473, 474, 0, 0, 475, 476, - 477, 0, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 487, 1123, 0, 489, 1394, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 0, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 1124, 0, 0, 0, 0, 0, 0, 1125, 1126, 1127, - 0, 0, 0, 0, 1128, 0, 1129, 2367, 0, 0, - 0, 0, 1130, 1131, 0, 0, 0, 0, 1132, 1133, - 112, 1085, 658, 1086, 1087, 1088, 1089, 1090, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, - 114, 115, 116, 117, 118, 119, 120, 121, -1257, 122, - 123, 124, 0, 0, 0, 0, -1257, 125, 1091, 0, - 0, 126, 127, 128, 0, 129, 130, 131, 132, 133, - 134, 135, 136, 1092, 138, 1093, 1094, 0, 141, 142, - 143, 144, 145, 146, 1095, 627, 147, 148, 1096, 1097, - 151, 0, 152, 153, 154, 155, 628, 0, 629, 0, - 1098, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 0, 168, 169, 170, 171, 172, 173, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 1099, - 1100, 187, 1101, 188, 0, 189, 190, 191, 192, 193, - 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, - 201, 202, 853, 204, 205, 206, 207, 0, 208, 209, - 210, 0, 211, 212, 213, 0, 214, 215, 216, 217, - 1102, 219, 220, 221, 222, 223, 630, 1103, 225, 0, - 226, 227, 1104, 229, 0, 230, 0, 231, 232, 0, - 233, 234, 235, 236, 237, 238, 0, 239, 240, 0, - 0, 1105, 1106, 243, 244, 0, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 0, 257, - 258, 259, 260, 261, 262, 263, 0, 264, 265, 266, - 267, 268, 269, 270, 271, 1107, 1108, 0, 1109, 0, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 0, 0, 287, 288, 289, 290, 0, 291, - 292, 293, 294, 295, 296, 297, 298, 1110, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 1111, 319, 1112, 321, - 322, 323, 324, 325, 1113, 326, 327, 328, 329, 1114, - 633, 331, 1115, 333, 334, 335, 0, 336, 337, 0, - 0, 1116, 339, 340, 0, 0, 341, 342, 343, 344, - 345, 635, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 0, 0, 0, 0, 359, 360, - 636, 362, 363, 364, 365, 366, 367, 368, 0, 369, - 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, - 379, 1117, 381, 382, 383, 384, 0, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 399, 400, 401, 402, 403, 404, 1118, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 0, 0, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 1119, 432, -1257, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 638, 449, 0, 450, 451, 0, - 452, 453, 454, 455, 456, 457, 458, 0, 1120, 1121, - 0, 461, 0, 462, 463, 639, 465, 640, 1122, 467, - 468, 641, 470, 471, 472, 473, 474, 0, 0, 475, - 476, 477, 0, 478, 479, 480, 481, 0, 482, 483, - 484, 485, 486, 487, 1123, 0, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 0, 0, 498, 0, 0, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 1124, 0, 0, 0, 0, 0, 0, 1125, 1126, - 1127, 0, 0, 0, 0, 1128, 0, 1129, 0, 0, - 0, 0, 0, 1130, 1131, 0, 0, 0, 0, 1132, - 1133, 1359, 1085, 658, 1086, 1087, 1088, 1089, 1090, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, - 122, 123, 124, 0, 0, 0, 1361, 0, 125, 1091, - 0, 0, 1362, 127, 128, 0, 129, 130, 131, 1363, - 133, 134, 135, 136, 1092, 1364, 1093, 1094, 0, 141, - 142, 143, 144, 145, 146, 1095, 627, 147, 148, 1096, - 1097, 151, 0, 152, 153, 154, 155, 628, 0, 1365, - 0, 1366, 159, 160, 161, 162, 163, 1367, 165, 166, - 167, 0, 168, 169, 170, 171, 172, 173, 0, 1368, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 1099, 1100, 187, 1101, 188, 0, 189, 190, 191, 192, - 193, 194, 0, 195, 196, 197, 198, 199, 200, 0, - 0, 201, 202, 853, 204, 205, 206, 207, 0, 208, - 209, 210, 0, 211, 212, 213, 0, 214, 215, 216, - 217, 1102, 219, 220, 221, 222, 223, 630, 1103, 225, - 0, 226, 227, 1104, 229, 0, 230, 0, 231, 1370, - 0, 1371, 234, 235, 1372, 1373, 238, 0, 239, 240, - 0, 0, 1105, 1106, 243, 244, 0, 245, 246, 247, - 248, 249, 250, 251, 1374, 253, 254, 255, 256, 0, - 257, 258, 259, 260, 261, 262, 263, 0, 264, 1375, - 266, 267, 268, 269, 270, 271, 1107, 1108, 0, 1109, - 0, 275, 1376, 1377, 278, 1378, 280, 281, 282, 283, - 284, 285, 286, 0, 0, 287, 1379, 289, 1380, 0, - 291, 292, 293, 294, 295, 296, 297, 298, 1381, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 1111, 1382, 1112, - 321, 322, 323, 324, 325, 1113, 326, 327, 1383, 329, - 1114, 633, 331, 1115, 333, 334, 335, 0, 336, 337, - 0, 0, 1116, 339, 340, 0, 0, 341, 342, 1384, - 344, 1385, 635, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 0, 0, 0, 0, 359, - 360, 636, 1386, 363, 364, 365, 366, 367, 368, 0, - 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, - 378, 379, 1117, 381, 382, 383, 384, 0, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 399, 400, 1387, 402, 403, 404, 1118, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 0, 1388, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 1389, 429, 430, 1119, 432, 0, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 1390, 447, 638, 449, 0, 450, 451, - 0, 452, 1391, 454, 455, 456, 457, 458, 0, 1120, - 1121, 0, 461, 0, 462, 463, 639, 465, 640, 1122, - 467, 468, 1392, 470, 471, 472, 473, 474, 0, 0, - 475, 476, 477, 0, 478, 479, 480, 481, 0, 482, - 483, 484, 485, 486, 487, 1123, 0, 489, 1394, 491, - 492, 493, 494, 495, 496, 497, 0, 0, 498, 0, - 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 1124, 0, 0, 0, 0, 0, 0, 1125, - 1126, 1127, 0, 0, 0, 0, 1128, 0, 1129, 3142, - 0, 0, 0, 0, 1130, 1131, 0, 0, 0, 0, - 1132, 1133, 1359, 1085, 658, 1086, 1087, 1088, 1089, 1090, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 0, 122, 123, 124, 0, 0, 0, 1361, 0, 125, - 1091, 0, 0, 1362, 127, 128, 0, 129, 130, 131, - 1363, 133, 134, 135, 136, 1092, 1364, 1093, 1094, 0, - 141, 142, 143, 144, 145, 146, 1095, 627, 147, 148, - 1096, 1097, 151, 0, 152, 153, 154, 155, 628, 0, - 1365, 0, 1366, 159, 160, 161, 162, 163, 1367, 165, - 166, 167, 0, 168, 169, 170, 171, 172, 173, 0, - 1368, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 1099, 1100, 187, 1101, 188, 0, 189, 190, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, - 0, 0, 201, 202, 853, 204, 205, 206, 207, 0, - 208, 209, 210, 0, 211, 212, 213, 0, 214, 215, - 216, 217, 1102, 219, 220, 221, 222, 223, 630, 1103, - 225, 0, 226, 227, 1104, 229, 0, 230, 0, 231, - 1370, 0, 1371, 234, 235, 1372, 1373, 238, 0, 239, - 240, 0, 0, 1105, 1106, 243, 244, 0, 245, 246, - 247, 248, 249, 250, 251, 1374, 253, 254, 255, 256, - 0, 257, 258, 259, 260, 261, 262, 263, 0, 264, - 1375, 266, 267, 268, 269, 270, 271, 1107, 1108, 0, - 1109, 0, 275, 1376, 1377, 278, 1378, 280, 281, 282, - 283, 284, 285, 286, 0, 0, 287, 1379, 289, 1380, - 0, 291, 292, 293, 294, 295, 296, 297, 298, 1381, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 1111, 1382, - 1112, 321, 322, 323, 324, 325, 1113, 326, 327, 1383, - 329, 1114, 633, 331, 1115, 333, 334, 335, 0, 336, - 337, 0, 0, 1116, 339, 340, 0, 0, 341, 342, - 1384, 344, 1385, 635, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 0, 0, 0, 0, - 359, 360, 636, 1386, 363, 364, 365, 366, 367, 368, - 0, 369, 370, 371, 372, 373, 374, 375, 376, 0, - 377, 378, 379, 1117, 381, 382, 383, 384, 0, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 399, 400, 1387, 402, 403, 404, - 1118, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 0, 1388, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 1389, 429, 430, 1119, 432, - 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 1390, 447, 638, 449, 0, 450, - 451, 0, 452, 1391, 454, 455, 456, 457, 458, 0, - 1120, 1121, 0, 461, 0, 462, 463, 639, 465, 640, - 1122, 467, 468, 1392, 470, 471, 472, 473, 474, 0, - 0, 475, 476, 477, 0, 478, 479, 480, 481, 0, - 482, 483, 484, 485, 486, 487, 1123, 0, 489, 1394, - 491, 492, 493, 494, 495, 496, 497, 0, 0, 498, - 0, 0, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 1124, 0, 0, 0, 0, 0, 0, - 1125, 1126, 1127, 0, 0, 0, 0, 1128, 0, 1129, - 0, 0, 0, 0, 0, 1130, 1131, 0, 0, 0, - 0, 1132, 1133, 112, 1085, 658, 1086, 1087, 0, 1089, - 1090, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 0, 0, 0, 0, 0, - 125, 1091, 0, 0, 126, 127, 128, 0, 129, 130, - 131, 132, 133, 134, 135, 136, 1092, 138, 1093, 1094, - 0, 141, 142, 143, 144, 145, 146, 1095, 627, 147, - 148, 1096, 1097, 151, 0, 152, 153, 154, 155, 628, - 0, 629, 0, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 0, 168, 169, 170, 171, 172, 173, - 0, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 1099, 1100, 187, 0, 188, 0, 189, 190, - 191, 192, 193, 194, 0, 195, 196, 197, 198, 199, - 200, 0, 0, 201, 202, 853, 204, 205, 206, 207, - 0, 208, 209, 210, 0, 211, 212, 213, 0, 214, - 215, 216, 217, 1102, 219, 220, 221, 222, 223, 630, - 1103, 225, 0, 226, 227, 1104, 229, 0, 230, 0, - 231, 232, 21, 233, 234, 235, 236, 237, 238, 0, - 239, 240, 0, 0, 1105, 1106, 243, 244, 0, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 257, 258, 259, 260, 261, 262, 263, 0, - 264, 265, 266, 267, 268, 269, 270, 271, 1107, 1108, - 0, 1109, 0, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 297, 298, - 1110, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 1111, - 319, 1112, 321, 322, 323, 324, 325, 0, 326, 327, - 328, 329, 1114, 633, 331, 1115, 333, 334, 335, 0, - 336, 337, 0, 0, 338, 339, 340, 0, 0, 341, - 342, 343, 344, 345, 635, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 25, 26, 27, - 0, 359, 360, 636, 362, 363, 364, 365, 366, 367, - 368, 0, 369, 370, 371, 372, 373, 374, 375, 376, - 0, 377, 378, 379, 1117, 381, 382, 383, 384, 0, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, - 404, 1118, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 32, 0, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 1119, - 432, 0, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 447, 638, 449, 0, - 450, 451, 37, 452, 453, 454, 455, 456, 457, 458, - 0, 1120, 1121, 0, 461, 0, 462, 463, 639, 465, - 640, 1122, 467, 468, 641, 470, 471, 472, 473, 474, - 0, 0, 475, 476, 477, 39, 478, 479, 480, 481, - 0, 482, 483, 484, 485, 486, 642, 1123, 0, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, - 498, 0, 43, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 0, 0, 44, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1128, 0, - 1129, 0, 0, 0, 0, 0, 1130, 1131, 0, 0, - 0, 0, 1132, 1133, 112, 1085, 658, 1086, 1087, 1088, - 1089, 1090, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 1743, 122, 123, 124, 0, 0, 0, 0, - 0, 125, 1091, 0, 0, 126, 127, 128, 0, 129, - 130, 131, 132, 133, 134, 135, 136, 1092, 138, 1093, - 1094, 0, 141, 142, 143, 144, 145, 146, 1095, 627, - 147, 148, 1096, 1097, 151, 0, 152, 153, 154, 155, - 628, 0, 629, 0, 1098, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 1099, 1100, 187, 1101, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 853, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 1102, 219, 220, 221, 222, 223, - 630, 1103, 225, 0, 226, 227, 1104, 229, 0, 230, - 0, 231, 232, 0, 233, 234, 235, 236, 237, 238, - 0, 239, 240, 0, 0, 1105, 1106, 243, 244, 0, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 265, 266, 267, 268, 269, 270, 271, 1107, - 1108, 0, 1109, 0, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, - 289, 290, 0, 291, 292, 293, 294, 295, 296, 297, - 298, 1110, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 1111, 319, 1112, 321, 322, 323, 324, 325, 1113, 326, - 327, 328, 329, 1114, 633, 331, 1115, 333, 334, 335, - 0, 336, 337, 0, 0, 1116, 339, 340, 0, 0, - 341, 342, 343, 344, 345, 635, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 0, 0, - 0, 0, 359, 360, 636, 362, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 1117, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 401, 402, - 403, 404, 1118, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 0, 0, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 1119, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 638, 449, - 0, 450, 451, 0, 452, 453, 454, 455, 456, 457, - 458, 0, 1120, 1121, 0, 461, 0, 462, 463, 639, - 465, 640, 1122, 467, 468, 641, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 0, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 487, 1123, 0, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 0, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 1124, 0, 0, 0, 0, - 0, 0, 1125, 1126, 1127, 0, 0, 0, 0, 1128, - 0, 1129, 0, 0, 0, 0, 0, 1130, 1131, 0, - 0, 0, 0, 1132, 1133, 112, 1758, 658, 1086, 1087, - 1088, 1759, 1090, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 1760, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 1091, 0, 0, 126, 127, 128, 0, - 129, 130, 131, 132, 133, 134, 135, 136, 1092, 138, - 1093, 1094, 0, 141, 142, 143, 144, 145, 146, 1095, - 627, 147, 148, 1096, 1097, 151, 0, 152, 153, 154, - 155, 628, 0, 629, 0, 1098, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 1099, 1100, 187, 1101, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 853, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 1102, 219, 220, 221, 222, - 223, 630, 1103, 225, 0, 226, 227, 1104, 229, 0, - 230, 0, 231, 232, 0, 233, 234, 235, 236, 237, - 238, 0, 239, 240, 0, 0, 1105, 1106, 243, 244, - 0, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 265, 266, 267, 268, 269, 270, 271, - 1107, 1108, 0, 1109, 0, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 1110, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 1111, 319, 1112, 321, 322, 323, 324, 325, 1113, - 326, 327, 328, 329, 1114, 633, 331, 1115, 333, 334, - 335, 0, 336, 337, 0, 0, 1116, 339, 340, 0, - 0, 341, 342, 343, 344, 345, 635, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 0, - 0, 0, 0, 359, 360, 636, 362, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 1117, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, - 402, 403, 404, 1118, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 0, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 1119, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 638, - 449, 0, 450, 451, 0, 452, 453, 454, 455, 456, - 457, 458, 0, 1120, 1121, 0, 461, 0, 462, 463, - 639, 465, 640, 1122, 467, 468, 641, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 0, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 487, 1123, - 0, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 0, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 1124, 0, 0, 0, - 0, 0, 0, 1125, 1126, 1127, 0, 0, 0, 0, - 1128, 0, 1129, 0, 0, 0, 0, 0, 1130, 1131, - 0, 0, 0, 0, 1132, 1133, 112, 1085, 658, 1086, - 1087, 1088, 1089, 1090, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 0, 122, 123, 124, 0, 0, - 0, 0, 0, 125, 1091, 0, 0, 126, 127, 128, - 0, 129, 130, 131, 132, 133, 134, 135, 136, 1092, - 138, 1093, 1094, 0, 141, 142, 143, 144, 145, 146, - 1095, 627, 147, 148, 1096, 1097, 151, 0, 152, 153, - 154, 155, 628, 0, 629, 0, 1098, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 1099, 1100, 187, 1101, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 0, 0, 201, 202, 853, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 1102, 219, 220, 221, - 222, 223, 630, 1103, 225, 0, 226, 227, 1104, 229, - 0, 230, 0, 231, 232, 1563, 233, 234, 235, 236, - 237, 238, 0, 239, 240, 0, 0, 1105, 1106, 243, - 244, 0, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 265, 266, 267, 268, 269, 270, - 271, 1107, 1108, 0, 1109, 0, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 288, 289, 290, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 1110, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 1111, 319, 1112, 321, 322, 323, 324, 325, - 1113, 326, 327, 328, 329, 1114, 633, 331, 1115, 333, - 334, 335, 0, 336, 337, 0, 0, 1116, 339, 340, - 0, 0, 341, 342, 343, 344, 345, 635, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 636, 362, 363, 364, - 365, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 1117, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 401, 402, 403, 404, 1118, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 0, 0, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 1119, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 638, 449, 0, 450, 451, 0, 452, 453, 454, 455, - 456, 457, 458, 0, 1120, 1121, 0, 461, 0, 462, - 463, 639, 465, 640, 1122, 467, 468, 641, 470, 471, - 472, 473, 474, 0, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, - 1123, 0, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 1124, 0, 0, - 0, 0, 0, 0, 1125, 1126, 1127, 0, 0, 0, - 0, 1128, 0, 1129, 0, 0, 0, 0, 0, 1130, - 1131, 0, 0, 0, 0, 1132, 1133, 112, 1085, 658, - 1086, 1087, 1088, 1089, 1090, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 0, 0, 125, 1091, 0, 0, 126, 127, - 128, 0, 129, 130, 131, 132, 133, 134, 135, 136, - 1092, 138, 1093, 1094, 0, 141, 142, 143, 144, 145, - 146, 1095, 627, 147, 148, 1096, 1097, 151, 0, 152, - 153, 154, 155, 628, 0, 629, 0, 1098, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 1099, 1100, 187, 1101, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 853, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 1102, 219, 220, - 221, 222, 223, 630, 1103, 225, 0, 226, 227, 1104, - 229, 0, 230, 0, 231, 232, 0, 233, 234, 235, - 236, 237, 238, 0, 239, 240, 0, 0, 1105, 1106, - 243, 244, 0, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 265, 266, 267, 268, 269, - 270, 271, 1107, 1108, 0, 1109, 0, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, - 0, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 297, 298, 1110, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 1111, 319, 1112, 321, 322, 323, 324, - 325, 1113, 326, 327, 328, 329, 1114, 633, 331, 1115, - 333, 334, 335, 0, 336, 337, 0, 0, 1116, 339, - 340, 0, 0, 341, 342, 343, 344, 345, 635, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 636, 362, 363, - 364, 365, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 1117, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 401, 402, 403, 404, 1118, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 0, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 1119, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 638, 449, 0, 450, 451, 0, 452, 453, 454, - 455, 456, 457, 458, 0, 1120, 1121, 0, 461, 0, - 462, 463, 639, 465, 640, 1122, 467, 468, 641, 470, - 471, 472, 473, 474, 0, 0, 475, 476, 477, 0, - 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 487, 1123, 0, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 1124, 0, - 0, 0, 0, 0, 0, 1125, 1126, 1127, 0, 0, - 0, 0, 1128, 0, 1129, 2091, 0, 0, 0, 0, - 1130, 1131, 0, 0, 0, 0, 1132, 1133, 112, 1085, - 658, 1086, 1087, 1088, 1089, 1090, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 0, 0, 125, 1091, 0, 0, 126, - 127, 128, 0, 129, 130, 131, 132, 133, 134, 135, - 136, 1092, 138, 1093, 1094, 0, 141, 142, 143, 144, - 145, 146, 1095, 627, 147, 148, 1096, 1097, 151, 0, - 152, 153, 154, 155, 628, 0, 629, 0, 1098, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 1099, 1100, 187, - 1101, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 853, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 212, 213, 0, 214, 215, 216, 217, 1102, 219, - 220, 221, 222, 223, 630, 1103, 225, 0, 226, 227, - 1104, 229, 0, 230, 0, 231, 232, 0, 233, 234, - 235, 236, 237, 238, 0, 239, 240, 0, 0, 1105, - 1106, 243, 244, 0, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 265, 266, 267, 268, - 269, 270, 271, 1107, 1108, 0, 1109, 0, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 0, 0, 287, 288, 289, 290, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 1110, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 1111, 319, 1112, 321, 322, 323, - 324, 325, 1113, 326, 327, 328, 329, 1114, 633, 331, - 1115, 333, 334, 335, 0, 336, 337, 0, 0, 1116, - 339, 340, 0, 0, 341, 342, 343, 344, 345, 635, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 0, 0, 0, 0, 359, 360, 636, 362, - 363, 364, 365, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 1117, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 401, 402, 403, 404, 1118, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 0, 0, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 1119, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 638, 449, 0, 450, 451, 0, 452, 453, - 454, 455, 456, 457, 458, 0, 1120, 1121, 0, 461, - 0, 462, 463, 639, 465, 640, 1122, 467, 468, 641, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 487, 1123, 0, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 0, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 1124, - 0, 0, 0, 0, 0, 0, 1125, 1126, 1127, 0, - 0, 0, 0, 1128, 0, 1129, 0, 0, 0, 0, - 0, 1130, 1131, 0, 0, 0, 2686, 1132, 1133, 112, - 1085, 658, 1086, 1087, 1088, 1089, 1090, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 0, 0, 0, 0, 0, 125, 1091, 0, 0, - 126, 127, 128, 0, 129, 130, 131, 132, 133, 134, - 135, 136, 1092, 138, 1093, 1094, 0, 141, 142, 143, - 144, 145, 146, 1095, 627, 147, 148, 1096, 1097, 151, - 0, 152, 153, 154, 155, 628, 0, 629, 0, 1098, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 0, - 168, 169, 170, 171, 172, 173, 0, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 1099, 1100, - 187, 1101, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 853, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 1102, - 219, 220, 221, 222, 223, 630, 1103, 225, 0, 226, - 227, 1104, 229, 0, 230, 0, 231, 232, 0, 233, - 234, 235, 236, 237, 238, 0, 239, 240, 0, 0, - 1105, 1106, 243, 244, 0, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 265, 266, 267, - 268, 269, 270, 271, 1107, 1108, 0, 1109, 0, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 1110, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 1111, 319, 1112, 321, 322, - 323, 324, 325, 1113, 326, 327, 328, 329, 1114, 633, - 331, 1115, 333, 334, 335, 0, 336, 337, 0, 0, - 1116, 339, 340, 0, 0, 341, 342, 343, 344, 345, - 635, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 0, 0, 0, 0, 359, 360, 636, - 362, 363, 364, 365, 366, 367, 368, 0, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 1117, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 401, 402, 403, 404, 1118, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, - 0, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 1119, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 638, 449, 0, 450, 451, 2735, 452, - 453, 454, 455, 456, 457, 458, 0, 1120, 1121, 0, - 461, 0, 462, 463, 639, 465, 640, 1122, 467, 468, - 641, 470, 471, 472, 473, 474, 0, 0, 475, 476, - 477, 0, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 487, 1123, 0, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 0, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 1124, 0, 0, 0, 0, 0, 0, 1125, 1126, 1127, - 0, 0, 0, 0, 1128, 0, 1129, 0, 0, 0, - 0, 0, 1130, 1131, 0, 0, 0, 0, 1132, 1133, - 112, 1085, 658, 1086, 1087, 1088, 1089, 1090, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 0, 122, - 123, 124, 0, 0, 0, 0, 0, 125, 1091, 0, - 0, 126, 127, 128, 0, 129, 130, 131, 132, 133, - 134, 135, 136, 1092, 138, 1093, 1094, 0, 141, 142, - 143, 144, 145, 146, 1095, 627, 147, 148, 1096, 1097, - 151, 0, 152, 153, 154, 155, 628, 0, 629, 0, - 1098, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 0, 168, 169, 170, 171, 172, 173, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 1099, - 1100, 187, 1101, 188, 0, 189, 190, 191, 192, 193, - 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, - 201, 202, 853, 204, 205, 206, 207, 0, 208, 209, - 210, 0, 211, 212, 213, 0, 214, 215, 216, 217, - 1102, 219, 220, 221, 222, 223, 630, 1103, 225, 0, - 226, 227, 1104, 229, 0, 230, 0, 231, 232, 0, - 233, 234, 235, 236, 237, 238, 0, 239, 240, 0, - 0, 1105, 1106, 243, 244, 0, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 0, 257, - 258, 259, 260, 261, 262, 263, 0, 264, 265, 266, - 267, 268, 269, 270, 271, 1107, 1108, 0, 1109, 0, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 0, 0, 287, 288, 289, 290, 0, 291, - 292, 293, 294, 295, 296, 297, 298, 1110, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 1111, 319, 1112, 321, - 322, 323, 324, 325, 1113, 326, 327, 328, 329, 1114, - 633, 331, 1115, 333, 334, 335, 0, 336, 337, 0, - 0, 1116, 339, 340, 0, 0, 341, 342, 343, 344, - 345, 635, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 0, 0, 0, 0, 359, 360, - 636, 362, 363, 364, 365, 366, 367, 368, 0, 369, - 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, - 379, 1117, 381, 382, 383, 384, 0, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 399, 400, 401, 402, 403, 404, 1118, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 0, 0, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 1119, 432, 0, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 638, 449, 0, 450, 451, 0, - 452, 453, 454, 455, 456, 457, 458, 0, 1120, 1121, - 0, 461, 0, 462, 463, 639, 465, 640, 1122, 467, - 468, 641, 470, 471, 472, 473, 474, 0, 0, 475, - 476, 477, 0, 478, 479, 480, 481, 0, 482, 483, - 484, 485, 486, 487, 1123, 0, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 0, 2843, 498, 0, 0, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 1124, 0, 0, 0, 0, 0, 0, 1125, 1126, - 1127, 0, 0, 0, 0, 1128, 0, 1129, 0, 0, - 0, 0, 0, 1130, 1131, 0, 0, 0, 0, 1132, - 1133, 112, 1085, 658, 1086, 1087, 1088, 1089, 1090, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 3092, - 122, 123, 124, 0, 0, 0, 0, 0, 125, 1091, - 0, 0, 126, 127, 128, 0, 129, 130, 131, 132, - 133, 134, 135, 136, 1092, 138, 1093, 1094, 0, 141, - 142, 143, 144, 145, 146, 1095, 627, 147, 148, 1096, - 1097, 151, 0, 152, 153, 154, 155, 628, 0, 629, - 0, 1098, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 0, 168, 169, 170, 171, 172, 173, 0, 174, - 175, 3093, 177, 178, 179, 180, 181, 182, 183, 184, - 1099, 1100, 187, 1101, 188, 0, 189, 190, 191, 192, - 193, 194, 0, 195, 196, 197, 198, 199, 200, 0, - 0, 201, 202, 853, 204, 205, 206, 207, 0, 208, - 209, 210, 0, 211, 212, 213, 0, 214, 215, 216, - 217, 1102, 219, 220, 221, 222, 223, 630, 1103, 225, - 0, 226, 227, 1104, 229, 0, 230, 0, 231, 232, - 0, 233, 234, 235, 236, 237, 238, 0, 239, 240, - 0, 0, 3094, 1106, 243, 244, 0, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 257, 258, 259, 260, 261, 262, 263, 0, 264, 265, - 266, 267, 268, 269, 270, 271, 1107, 1108, 0, 1109, - 0, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 0, 0, 287, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 297, 298, 1110, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 1111, 319, 1112, - 321, 322, 323, 324, 325, 1113, 326, 327, 328, 329, - 1114, 633, 331, 1115, 333, 334, 335, 0, 336, 337, - 0, 0, 1116, 339, 340, 0, 0, 341, 342, 343, - 344, 345, 635, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 0, 0, 0, 0, 359, - 360, 636, 362, 363, 364, 365, 366, 367, 368, 0, - 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, - 378, 379, 1117, 381, 382, 383, 384, 0, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 399, 400, 401, 402, 403, 3095, 1118, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 0, 0, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 1119, 432, 0, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 446, 447, 638, 449, 0, 450, 451, - 0, 452, 453, 454, 455, 456, 457, 458, 0, 1120, - 1121, 0, 461, 0, 462, 463, 639, 465, 640, 1122, - 467, 468, 641, 470, 471, 472, 473, 474, 0, 0, - 475, 476, 477, 0, 478, 479, 480, 481, 0, 482, - 483, 484, 485, 486, 487, 1123, 0, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 0, 0, 498, 0, - 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 1124, 0, 0, 0, 0, 0, 0, 1125, - 1126, 1127, 0, 0, 0, 0, 1128, 0, 3096, 0, - 0, 0, 0, 0, 1130, 1131, 0, 0, 0, 0, - 1132, 1133, 112, 1085, 658, 1086, 1087, 1088, 1089, 1090, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 0, 122, 123, 124, 0, 0, 0, 0, 0, 125, - 1091, 0, 0, 126, 127, 128, 0, 129, 130, 131, - 132, 133, 134, 135, 136, 1092, 138, 1093, 1094, 0, - 141, 142, 143, 144, 145, 146, 1095, 627, 147, 148, - 1096, 1097, 151, 0, 152, 153, 154, 155, 628, 0, - 629, 0, 1098, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 0, 168, 169, 170, 171, 172, 173, 0, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 1099, 1100, 187, 1101, 188, 0, 189, 190, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, - 0, 0, 201, 202, 853, 204, 205, 206, 207, 0, - 208, 209, 210, 0, 211, 212, 213, 0, 214, 215, - 216, 217, 1102, 219, 220, 221, 222, 223, 630, 1103, - 225, 0, 226, 227, 1104, 229, 0, 230, 0, 231, - 232, 0, 233, 234, 235, 236, 237, 238, 0, 239, - 240, 0, 0, 1105, 1106, 243, 244, 0, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 0, 257, 258, 259, 260, 261, 262, 263, 0, 264, - 265, 266, 267, 268, 269, 270, 271, 1107, 1108, 0, - 1109, 0, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 297, 298, 1110, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 1111, 319, - 1112, 321, 322, 323, 324, 325, 1113, 326, 327, 328, - 329, 1114, 633, 331, 1115, 333, 334, 335, 0, 336, - 337, 0, 0, 1116, 339, 340, 0, 0, 341, 342, - 343, 344, 345, 635, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 0, 0, 0, 0, - 359, 360, 636, 362, 363, 364, 365, 366, 367, 368, - 0, 369, 370, 371, 372, 373, 374, 375, 376, 0, - 377, 378, 379, 1117, 381, 382, 383, 384, 0, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, - 1118, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 0, 0, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 1119, 432, - 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 638, 449, 0, 450, - 451, 3287, 452, 453, 454, 455, 456, 457, 458, 0, - 1120, 1121, 0, 461, 0, 462, 463, 639, 465, 640, - 1122, 467, 468, 641, 470, 471, 472, 473, 474, 0, - 0, 475, 476, 477, 0, 478, 479, 480, 481, 0, - 482, 483, 484, 485, 486, 487, 1123, 0, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 0, 0, 498, - 0, 0, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 1124, 0, 0, 0, 0, 0, 0, - 1125, 1126, 1127, 0, 0, 0, 0, 1128, 0, 1129, - 0, 0, 0, 0, 0, 1130, 1131, 0, 0, 0, - 0, 1132, 1133, 112, 1085, 658, 1086, 1087, 1088, 1089, - 1090, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 0, 0, 0, 0, 0, - 125, 1091, 0, 0, 126, 127, 128, 0, 129, 130, - 131, 132, 133, 134, 135, 136, 1092, 138, 1093, 1094, - 0, 141, 142, 143, 144, 145, 146, 1095, 627, 147, - 148, 1096, 1097, 151, 0, 152, 153, 154, 155, 628, - 0, 629, 0, 1098, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 0, 168, 169, 170, 171, 172, 173, - 0, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 1099, 1100, 187, 1101, 188, 0, 189, 190, - 191, 192, 193, 194, 0, 195, 196, 197, 198, 199, - 200, 0, 0, 201, 202, 853, 204, 205, 206, 207, - 0, 208, 209, 210, 0, 211, 212, 213, 0, 214, - 215, 216, 217, 1102, 219, 220, 221, 222, 223, 630, - 1103, 225, 0, 226, 227, 1104, 229, 0, 230, 0, - 231, 232, 0, 233, 234, 235, 236, 237, 238, 0, - 239, 240, 0, 0, 1105, 1106, 243, 244, 0, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 257, 258, 259, 260, 261, 262, 263, 0, - 264, 265, 266, 267, 268, 269, 270, 271, 1107, 1108, - 0, 1109, 0, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 297, 298, - 1110, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 1111, - 319, 1112, 321, 322, 323, 324, 325, 1113, 326, 327, - 328, 329, 1114, 633, 331, 1115, 333, 334, 335, 0, - 336, 337, 0, 0, 1116, 339, 340, 0, 0, 341, - 342, 343, 344, 345, 635, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 0, 0, 0, - 0, 359, 360, 636, 362, 363, 364, 365, 366, 367, - 368, 0, 369, 370, 371, 372, 373, 374, 375, 376, - 0, 377, 378, 379, 1117, 381, 382, 383, 384, 0, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, - 404, 1118, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 0, 0, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 1119, - 432, 0, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 447, 638, 449, 0, - 450, 451, 0, 452, 453, 454, 455, 456, 457, 458, - 0, 1120, 1121, 0, 461, 0, 462, 463, 639, 465, - 640, 1122, 467, 468, 641, 470, 471, 472, 473, 474, - 0, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 0, 482, 483, 484, 485, 486, 487, 1123, 0, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, - 498, 0, 0, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 1124, 0, 0, 0, 0, 0, - 0, 1125, 1126, 1127, 0, 0, 0, 0, 1128, 0, - 1129, 0, 0, 0, 0, 0, 1130, 1131, 0, 0, - 0, 3355, 1132, 1133, 112, 1085, 658, 1086, 1087, 1088, - 1089, 1090, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 122, 123, 124, 0, 0, 0, 0, - 0, 125, 1091, 0, 0, 126, 127, 128, 0, 129, - 130, 131, 132, 133, 134, 135, 136, 1092, 138, 1093, - 1094, 0, 141, 142, 143, 144, 145, 146, 1095, 627, - 147, 148, 1096, 1097, 151, 0, 152, 153, 154, 155, - 628, 0, 629, 0, 1098, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 1099, 1100, 187, 1101, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 853, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 1102, 219, 220, 221, 222, 223, - 630, 1103, 225, 0, 226, 227, 1104, 229, 0, 230, - 0, 231, 232, 0, 233, 234, 235, 236, 237, 238, - 0, 239, 240, 0, 0, 1105, 1106, 243, 244, 0, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 265, 266, 267, 268, 269, 270, 271, 1107, - 1108, 0, 1109, 0, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, - 289, 290, 0, 291, 292, 293, 294, 295, 296, 297, - 298, 1110, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 1111, 319, 1112, 321, 322, 323, 324, 325, 1113, 326, - 327, 328, 329, 1114, 633, 331, 1115, 333, 334, 335, - 0, 336, 337, 0, 0, 1116, 339, 340, 0, 0, - 341, 342, 343, 344, 345, 635, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 0, 0, - 0, 0, 359, 360, 636, 362, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 1117, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 401, 402, - 403, 404, 1118, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 0, 0, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 1119, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 638, 449, - 0, 450, 451, 3493, 452, 453, 454, 455, 456, 457, - 458, 0, 1120, 1121, 0, 461, 0, 462, 463, 639, - 465, 640, 1122, 467, 468, 641, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 0, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 487, 1123, 0, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 0, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 1124, 0, 0, 0, 0, - 0, 0, 1125, 1126, 1127, 0, 0, 0, 0, 1128, - 0, 1129, 0, 0, 0, 0, 0, 1130, 1131, 0, - 0, 0, 0, 1132, 1133, 112, 1085, 658, 1086, 1087, - 1088, 1089, 1090, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 0, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 1091, 0, 0, 126, 127, 128, 0, - 129, 130, 131, 132, 133, 134, 135, 136, 1092, 138, - 1093, 1094, 0, 141, 142, 143, 144, 145, 146, 1095, - 627, 147, 148, 1096, 1097, 151, 0, 152, 153, 154, - 155, 628, 0, 629, 0, 1098, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 1099, 1100, 187, 1101, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 853, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 1102, 219, 220, 221, 222, - 223, 630, 1103, 225, 0, 226, 227, 1104, 229, 0, - 230, 0, 231, 232, 0, 233, 234, 235, 236, 237, - 238, 0, 239, 240, 0, 0, 1105, 1106, 243, 244, - 0, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 265, 266, 267, 268, 269, 270, 271, - 1107, 1108, 0, 1109, 0, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 1110, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 1111, 319, 1112, 321, 322, 323, 324, 325, 1113, - 326, 327, 328, 329, 1114, 633, 331, 1115, 333, 334, - 335, 0, 336, 337, 0, 0, 1116, 339, 340, 0, - 0, 341, 342, 343, 344, 345, 635, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 0, - 0, 0, 0, 359, 360, 636, 362, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 1117, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, - 402, 403, 404, 1118, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 0, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 1119, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 638, - 449, 0, 450, 451, 0, 452, 453, 454, 455, 456, - 457, 458, 0, 1120, 1121, 0, 461, 0, 462, 463, - 639, 465, 640, 1122, 467, 468, 641, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 0, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 487, 1123, - 0, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 0, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 1124, 0, 0, 0, - 0, 0, 0, 1125, 1126, 1127, 0, 0, 0, 0, - 1128, 0, 1129, 0, 0, 0, 0, 0, 1130, 1131, - 0, 0, 0, 0, 1132, 1133, 112, 1085, 658, 1086, - 1087, 1088, 1089, 1090, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 0, 122, 123, 124, 0, 0, - 0, 0, 0, 125, 1091, 0, 0, 126, 127, 128, - 0, 129, 130, 131, 132, 133, 134, 135, 136, 1092, - 138, 1093, 1094, 0, 141, 142, 143, 144, 145, 146, - 1095, 627, 147, 148, 1096, 1097, 151, 0, 152, 153, - 154, 155, 628, 0, 629, 0, 1098, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 1099, 1100, 187, 1101, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 0, 0, 201, 202, 853, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 1102, 219, 220, 221, - 222, 223, 630, 1103, 225, 0, 226, 227, 1104, 229, - 0, 230, 0, 231, 232, 0, 233, 234, 235, 236, - 237, 238, 0, 239, 240, 0, 0, 1105, 1106, 243, - 244, 0, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 265, 266, 267, 268, 269, 270, - 271, 1107, 1108, 0, 1109, 0, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 288, 289, 290, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 1110, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 1111, 319, 1112, 321, 322, 323, 324, 325, - 1113, 326, 327, 328, 329, 1114, 633, 331, 1115, 333, - 334, 335, 0, 336, 337, 0, 0, 1116, 339, 340, - 0, 0, 341, 342, 343, 344, 345, 635, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 636, 362, 363, 364, - 365, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 1117, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 401, 402, 403, 404, 1118, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 0, 0, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 1119, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 638, 449, 0, 450, 451, 0, 452, 453, 454, 455, - 456, 457, 458, 0, 1120, 1121, 0, 461, 0, 462, - 463, 639, 465, 640, 1122, 467, 468, 641, 470, 471, - 472, 473, 474, 0, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, - 1123, 0, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 1124, 0, 0, - 0, 0, 0, 0, 1763, 1764, 1127, 0, 0, 0, - 0, 1128, 0, 1129, 0, 0, 0, 0, 0, 1130, - 1131, 0, 0, 0, 0, 1132, 1133, 112, 2231, 658, - 1086, 1087, 1088, 1089, 1090, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 0, 0, 125, 1091, 0, 0, 126, 127, - 128, 0, 129, 130, 131, 132, 133, 134, 135, 136, - 1092, 138, 1093, 1094, 0, 141, 142, 143, 144, 145, - 146, 1095, 627, 147, 148, 1096, 1097, 151, 0, 152, - 153, 154, 155, 628, 0, 629, 0, 1098, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 1099, 1100, 187, 1101, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 853, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 1102, 219, 220, - 221, 222, 223, 630, 1103, 225, 0, 226, 227, 1104, - 229, 0, 230, 0, 231, 232, 0, 233, 234, 235, - 236, 237, 238, 0, 239, 240, 0, 0, 1105, 1106, - 243, 244, 0, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 265, 266, 267, 268, 269, - 270, 271, 1107, 1108, 0, 1109, 0, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, - 0, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 297, 298, 1110, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 1111, 319, 1112, 321, 322, 323, 324, - 325, 1113, 326, 327, 328, 329, 1114, 633, 331, 1115, - 333, 334, 335, 0, 336, 337, 0, 0, 1116, 339, - 340, 0, 0, 341, 342, 343, 344, 345, 635, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 636, 362, 363, - 364, 365, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 1117, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 401, 402, 403, 404, 1118, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 0, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 1119, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 638, 449, 0, 450, 451, 0, 452, 453, 454, - 455, 456, 457, 458, 0, 1120, 1121, 0, 461, 0, - 462, 463, 639, 465, 640, 1122, 467, 468, 641, 470, - 471, 472, 473, 474, 0, 0, 475, 476, 477, 0, - 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 487, 1123, 0, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 1124, 0, - 0, 0, 0, 0, 0, 1125, 1126, 1127, 0, 0, - 0, 0, 1128, 0, 1129, 0, 0, 0, 0, 0, - 1130, 1131, 0, 0, 0, 0, 1132, 1133, 112, 1085, - 658, 1086, 1087, 1088, 1089, 1090, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 0, 0, 125, 1091, 0, 0, 126, - 127, 128, 0, 129, 130, 131, 132, 133, 134, 135, - 136, 1092, 138, 1093, 1094, 0, 141, 142, 143, 144, - 145, 146, 1095, 627, 147, 148, 1096, 1097, 151, 0, - 152, 153, 154, 155, 628, 0, 629, 0, 1098, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 1099, 1100, 187, - 1101, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 853, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 212, 213, 0, 214, 215, 216, 217, 1102, 219, - 220, 221, 222, 223, 630, 1103, 225, 0, 226, 227, - 1104, 229, 0, 230, 0, 231, 232, 0, 233, 234, - 235, 236, 237, 238, 0, 239, 240, 0, 0, 1105, - 1106, 243, 244, 0, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 265, 266, 267, 268, - 269, 270, 271, 1107, 1108, 0, 1109, 0, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 0, 0, 287, 288, 289, 290, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 1110, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 1111, 319, 1112, 321, 322, 323, - 324, 325, 1113, 326, 327, 328, 329, 1114, 633, 331, - 1115, 333, 334, 335, 0, 336, 337, 0, 0, 1116, - 339, 340, 0, 0, 341, 342, 343, 344, 345, 635, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 0, 0, 0, 0, 359, 360, 636, 362, - 363, 364, 365, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 1117, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 401, 402, 403, 404, 1118, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 0, 0, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 1119, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 638, 449, 0, 450, 451, 0, 452, 453, - 454, 455, 456, 457, 458, 0, 1120, 1121, 0, 461, - 0, 462, 463, 639, 465, 640, 1122, 467, 468, 641, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 487, 1123, 0, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 0, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 1124, - 0, 0, 0, 0, 0, 0, 1125, 2313, 1127, 0, - 0, 0, 0, 1128, 0, 1129, 0, 0, 0, 0, - 0, 1130, 1131, 0, 0, 0, 0, 1132, 1133, 112, - 1085, 658, 1086, 1087, 1088, 1089, 1090, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 0, 0, 0, 0, 0, 125, 1091, 0, 0, - 126, 127, 128, 0, 129, 130, 131, 132, 133, 134, - 135, 136, 1092, 138, 1093, 1094, 0, 141, 142, 143, - 144, 145, 146, 1095, 627, 147, 148, 1096, 1097, 151, - 0, 152, 153, 154, 155, 628, 0, 629, 0, 1098, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 0, - 168, 169, 170, 171, 172, 173, 0, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 1099, 1100, - 187, 1101, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 853, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 1102, - 219, 220, 221, 222, 223, 630, 1103, 225, 0, 226, - 227, 1104, 229, 0, 230, 0, 231, 232, 0, 233, - 234, 235, 236, 237, 238, 0, 239, 240, 0, 0, - 1105, 1106, 243, 244, 0, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 265, 266, 267, - 268, 269, 270, 271, 1107, 1108, 0, 1109, 0, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 1110, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 1111, 319, 1112, 321, 322, - 323, 324, 325, 1113, 326, 327, 328, 329, 1114, 633, - 331, 1115, 333, 334, 335, 0, 336, 337, 0, 0, - 1116, 339, 340, 0, 0, 341, 342, 343, 344, 345, - 635, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 0, 0, 0, 0, 359, 360, 636, - 362, 363, 364, 365, 366, 367, 368, 0, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 1117, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 401, 402, 403, 404, 1118, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, - 0, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 1119, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 638, 449, 0, 450, 451, 0, 452, - 453, 454, 455, 456, 457, 458, 0, 1120, 1121, 0, - 461, 0, 462, 463, 639, 465, 640, 1122, 467, 468, - 641, 470, 471, 472, 473, 474, 0, 0, 475, 476, - 477, 0, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 487, 1123, 0, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 0, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 1124, 0, 0, 0, 0, 0, 0, 1125, 1126, 1127, - 0, 0, 0, 0, 1128, 0, 2516, 0, 0, 0, - 0, 0, 1130, 1131, 0, 0, 0, 0, 1132, 1133, - 112, 1085, 658, 1086, 1087, 1088, 1089, 1090, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 0, 122, - 123, 124, 0, 0, 0, 0, 0, 125, 1091, 0, - 0, 126, 127, 128, 0, 129, 130, 131, 132, 133, - 134, 135, 136, 1092, 138, 1093, 1094, 0, 141, 142, - 143, 144, 145, 146, 1095, 627, 147, 148, 1096, 1097, - 151, 0, 152, 153, 154, 155, 628, 0, 629, 0, - 1098, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 0, 168, 169, 170, 171, 172, 173, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 1099, - 1100, 187, 1101, 188, 0, 189, 190, 191, 192, 193, - 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, - 201, 202, 853, 204, 205, 206, 207, 0, 208, 209, - 210, 0, 211, 212, 213, 0, 214, 215, 216, 217, - 1102, 219, 220, 221, 222, 223, 630, 1103, 225, 0, - 226, 227, 1104, 229, 0, 230, 0, 231, 232, 0, - 233, 234, 235, 236, 237, 238, 0, 239, 240, 0, - 0, 1105, 1106, 243, 244, 0, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 0, 257, - 258, 259, 260, 261, 262, 263, 0, 264, 265, 266, - 267, 268, 269, 270, 271, 1107, 1108, 0, 1109, 0, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 0, 0, 287, 288, 289, 290, 0, 291, - 292, 293, 294, 295, 296, 297, 298, 1110, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 1111, 319, 1112, 321, - 322, 323, 324, 325, 1113, 326, 327, 328, 329, 1114, - 633, 331, 1115, 333, 334, 335, 0, 336, 337, 0, - 0, 1116, 339, 340, 0, 0, 341, 342, 343, 344, - 345, 635, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 0, 0, 0, 0, 359, 360, - 636, 362, 363, 364, 365, 366, 367, 368, 0, 369, - 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, - 379, 1117, 381, 382, 383, 384, 0, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 399, 400, 401, 402, 403, 404, 1118, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 0, 0, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 1119, 432, 0, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 638, 449, 0, 450, 451, 0, - 452, 453, 454, 455, 456, 457, 458, 0, 1120, 1121, - 0, 461, 0, 462, 463, 639, 465, 640, 1122, 467, - 468, 641, 470, 471, 472, 473, 474, 0, 0, 475, - 476, 477, 0, 478, 479, 480, 481, 0, 482, 483, - 484, 485, 486, 487, 1123, 0, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 0, 0, 498, 0, 0, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 1124, 0, 0, 0, 0, 0, 0, 1125, 3140, - 1127, 0, 0, 0, 0, 1128, 0, 1129, 0, 0, - 0, 0, 0, 1130, 1131, 0, 0, 0, 0, 1132, - 1133, 112, 1085, 658, 1086, 1087, 1088, 1089, 1090, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, - 122, 123, 124, 0, 0, 0, 0, 0, 125, 1091, - 0, 0, 126, 127, 128, 0, 129, 130, 131, 132, - 133, 134, 135, 136, 1092, 138, 1093, 1094, 0, 141, - 142, 143, 144, 145, 146, 1095, 627, 147, 148, 1096, - 1097, 151, 0, 152, 153, 154, 155, 628, 0, 629, - 0, 1098, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 0, 168, 169, 170, 171, 172, 173, 0, 174, - 175, 3093, 177, 178, 179, 180, 181, 182, 183, 184, - 1099, 1100, 187, 1101, 188, 0, 189, 190, 191, 192, - 193, 194, 0, 195, 196, 197, 198, 199, 200, 0, - 0, 201, 202, 853, 204, 205, 206, 207, 0, 208, - 209, 210, 0, 211, 212, 213, 0, 214, 215, 216, - 217, 1102, 219, 220, 221, 222, 223, 630, 1103, 225, - 0, 226, 227, 1104, 229, 0, 230, 0, 231, 232, - 0, 233, 234, 235, 236, 237, 238, 0, 239, 240, - 0, 0, 3094, 1106, 243, 244, 0, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 257, 258, 259, 260, 261, 262, 263, 0, 264, 265, - 266, 267, 268, 269, 270, 271, 1107, 1108, 0, 1109, - 0, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 0, 0, 287, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 297, 298, 1110, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 1111, 319, 1112, - 321, 322, 323, 324, 325, 1113, 326, 327, 328, 329, - 1114, 633, 331, 1115, 333, 334, 335, 0, 336, 337, - 0, 0, 1116, 339, 340, 0, 0, 341, 342, 343, - 344, 345, 635, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 0, 0, 0, 0, 359, - 360, 636, 362, 363, 364, 365, 366, 367, 368, 0, - 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, - 378, 379, 1117, 381, 382, 383, 384, 0, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 399, 400, 401, 402, 403, 3095, 1118, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 0, 0, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 1119, 432, 0, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 446, 447, 638, 449, 0, 450, 451, - 0, 452, 453, 454, 455, 456, 457, 458, 0, 1120, - 1121, 0, 461, 0, 462, 463, 639, 465, 640, 1122, - 467, 468, 641, 470, 471, 472, 473, 474, 0, 0, - 475, 476, 477, 0, 478, 479, 480, 481, 0, 482, - 483, 484, 485, 486, 487, 1123, 0, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 0, 0, 498, 0, - 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 1124, 0, 0, 0, 0, 0, 0, 1125, - 1126, 1127, 0, 0, 0, 0, 1128, 0, 3096, 0, - 0, 0, 0, 0, 1130, 1131, 0, 0, 0, 0, - 1132, 1133, 112, 1085, 658, 1086, 1087, 1088, 1089, 1090, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 0, 122, 123, 124, 0, 0, 0, 0, 0, 125, - 1091, 0, 0, 126, 127, 128, 0, 129, 130, 131, - 132, 133, 134, 135, 3762, 1092, 138, 1093, 1094, 0, - 141, 142, 143, 144, 145, 146, 1095, 627, 147, 148, - 1096, 1097, 151, 0, 152, 153, 154, 155, 628, 0, - 629, 0, 1098, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 0, 168, 169, 170, 171, 172, 173, 0, - 174, 175, 176, 3763, 178, 179, 180, 181, 182, 183, - 184, 1099, 1100, 187, 1101, 188, 0, 189, 190, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, - 0, 0, 201, 202, 853, 204, 205, 206, 207, 0, - 208, 209, 210, 0, 211, 212, 213, 0, 214, 215, - 216, 217, 1102, 219, 220, 221, 222, 223, 630, 1103, - 225, 0, 226, 227, 1104, 229, 0, 230, 0, 231, - 232, 0, 233, 234, 235, 236, 237, 238, 0, 239, - 240, 0, 0, 1105, 1106, 243, 244, 0, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 0, 257, 258, 259, 260, 261, 262, 263, 0, 264, - 265, 266, 267, 268, 269, 270, 271, 1107, 1108, 0, - 1109, 0, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 297, 298, 1110, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 1111, 319, - 1112, 321, 322, 323, 324, 325, 1113, 326, 327, 328, - 329, 1114, 633, 331, 1115, 333, 334, 335, 0, 336, - 337, 0, 0, 1116, 339, 340, 0, 0, 341, 342, - 343, 344, 345, 635, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 0, 0, 0, 0, - 359, 360, 636, 362, 363, 364, 365, 366, 367, 368, - 0, 369, 370, 371, 372, 373, 374, 375, 376, 0, - 377, 378, 379, 1117, 381, 382, 383, 384, 0, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, - 1118, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 0, 0, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 1119, 432, - 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 638, 449, 0, 450, - 451, 0, 452, 453, 454, 455, 456, 457, 458, 0, - 1120, 1121, 0, 461, 0, 462, 463, 639, 465, 640, - 1122, 467, 468, 641, 470, 471, 3764, 473, 474, 0, - 0, 475, 476, 477, 0, 478, 479, 480, 481, 0, - 482, 483, 484, 485, 486, 487, 1123, 0, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 0, 0, 498, - 0, 0, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 1124, 0, 0, 0, 0, 0, 0, - 1125, 1126, 1127, 0, 0, 0, 0, 1128, 0, 1129, - 0, 0, 0, 0, 0, 1130, 1131, 0, 0, 0, - 0, 1132, 1133, 112, 1085, 658, 1086, 1087, 1088, 1089, - 1090, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 0, 0, 0, 0, 0, - 125, 1091, 0, 0, 126, 127, 128, 0, 129, 130, - 131, 132, 133, 134, 135, 136, 1092, 138, 1093, 1094, - 0, 141, 142, 143, 144, 145, 146, 1095, 627, 147, - 148, 1096, 1097, 151, 0, 152, 153, 154, 155, 628, - 0, 629, 0, 1098, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 0, 168, 169, 170, 171, 172, 173, - 0, 174, 175, 176, 3763, 178, 179, 180, 181, 182, - 183, 184, 1099, 1100, 187, 1101, 188, 0, 189, 190, - 191, 192, 193, 194, 0, 195, 196, 197, 198, 199, - 200, 0, 0, 201, 202, 853, 204, 205, 206, 207, - 0, 208, 209, 210, 0, 211, 212, 213, 0, 214, - 215, 216, 217, 1102, 219, 220, 221, 222, 223, 630, - 1103, 225, 0, 226, 227, 1104, 229, 0, 230, 0, - 231, 232, 0, 233, 234, 235, 236, 237, 238, 0, - 239, 240, 0, 0, 1105, 1106, 243, 244, 0, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 257, 258, 259, 260, 261, 262, 263, 0, - 264, 265, 266, 267, 268, 269, 270, 271, 1107, 1108, - 0, 1109, 0, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 297, 298, - 1110, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 1111, - 319, 1112, 321, 322, 323, 324, 325, 1113, 326, 327, - 328, 329, 1114, 633, 331, 1115, 333, 334, 335, 0, - 336, 337, 0, 0, 1116, 339, 340, 0, 0, 341, - 342, 343, 344, 345, 635, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 0, 0, 0, - 0, 359, 360, 636, 362, 363, 364, 365, 366, 367, - 368, 0, 369, 370, 371, 372, 373, 374, 375, 376, - 0, 377, 378, 379, 1117, 381, 382, 383, 384, 0, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, - 404, 1118, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 0, 0, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 1119, - 432, 0, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 447, 638, 449, 0, - 450, 451, 0, 452, 453, 454, 455, 456, 457, 458, - 0, 1120, 1121, 0, 461, 0, 462, 463, 639, 465, - 640, 1122, 467, 468, 641, 470, 471, 3764, 473, 474, - 0, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 0, 482, 483, 484, 485, 486, 487, 1123, 0, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, - 498, 0, 0, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 1124, 0, 0, 0, 0, 0, - 0, 1125, 1126, 1127, 0, 0, 0, 0, 1128, 0, - 1129, 0, 0, 0, 0, 0, 1130, 1131, 0, 0, - 0, 0, 1132, 1133, 112, 1085, 658, 1086, 1087, 0, - 1089, 1090, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 122, 123, 124, 0, 0, 0, 0, - 0, 125, 1091, 0, 0, 126, 127, 128, 0, 129, - 130, 131, 132, 133, 134, 135, 136, 1092, 138, 1093, - 1094, 0, 141, 142, 143, 144, 145, 146, 1095, 627, - 147, 148, 1096, 1097, 151, 0, 152, 153, 154, 155, - 628, 0, 629, 0, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 1099, 1100, 187, 0, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 853, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 1102, 219, 220, 221, 222, 223, - 630, 1103, 225, 0, 226, 227, 1104, 229, 0, 230, - 0, 231, 232, 0, 233, 234, 235, 236, 237, 238, - 0, 239, 240, 0, 0, 1105, 1106, 243, 244, 0, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 265, 266, 267, 268, 269, 270, 271, 1107, - 1108, 0, 1109, 0, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 288, - 289, 290, 0, 291, 292, 293, 294, 295, 296, 297, - 298, 1110, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 1111, 319, 1112, 321, 322, 323, 324, 325, 2880, 326, - 327, 328, 329, 1114, 633, 331, 1115, 333, 334, 335, - 0, 336, 337, 0, 0, 338, 339, 340, 0, 0, - 341, 342, 343, 344, 345, 635, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 0, 0, - 0, 0, 359, 360, 636, 362, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 1117, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 401, 402, - 403, 404, 1118, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 0, 0, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 1119, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 638, 449, - 0, 450, 451, 0, 452, 453, 454, 455, 456, 457, - 458, 0, 1120, 1121, 0, 461, 0, 462, 463, 639, - 465, 640, 1122, 467, 468, 641, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 0, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 487, 1123, 0, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 0, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 2881, 0, 0, 0, 0, - 0, 0, 2882, 2883, 0, 0, 0, 0, 0, 1128, - 0, 1129, 0, 0, 0, 0, 0, 1130, 1131, 0, - 0, 0, 0, 1132, 1133, 112, 1085, 658, 1086, 1087, - 1088, 1089, 1090, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 0, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 1091, 0, 0, 126, 127, 128, 0, - 129, 130, 131, 132, 133, 134, 135, 136, 1092, 138, - 1093, 1094, 0, 141, 142, 143, 144, 145, 146, 1095, - 627, 147, 148, 1096, 1097, 151, 0, 152, 153, 154, - 155, 628, 0, 629, 0, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 1099, 1100, 187, 0, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 853, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 1102, 219, 220, 221, 222, - 223, 630, 1103, 225, 0, 226, 227, 1104, 229, 0, - 230, 0, 231, 232, 0, 233, 234, 235, 236, 237, - 238, 0, 239, 240, 0, 0, 1105, 1106, 243, 244, - 0, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 265, 266, 267, 268, 269, 270, 271, - 1107, 1108, 0, 1109, 0, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 1110, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 1111, 319, 1112, 321, 322, 323, 324, 325, 0, - 326, 327, 328, 329, 1114, 633, 331, 1115, 333, 334, - 335, 0, 336, 337, 0, 0, 1116, 339, 340, 0, - 0, 341, 342, 343, 344, 345, 635, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 0, - 0, 0, 0, 359, 360, 636, 362, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 1117, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, - 402, 403, 404, 1118, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 0, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 1119, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 638, - 449, 0, 450, 451, 0, 452, 453, 454, 455, 456, - 457, 458, 0, 1120, 1121, 0, 461, 0, 462, 463, - 639, 465, 640, 1122, 467, 468, 641, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 0, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 487, 1123, - 0, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 0, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 0, 0, 0, 0, - 0, 0, 0, 1549, 1550, 0, 0, 0, 0, 0, - 1128, 0, 1129, 0, 0, 0, 0, 0, 1130, 1131, - 0, 0, 0, 0, 1132, 1133, 112, 1085, 658, 1086, - 1087, 1088, 1089, 1090, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 0, 122, 123, 124, 0, 0, - 0, 0, 0, 125, 1091, 0, 0, 126, 127, 128, - 0, 129, 130, 131, 132, 133, 134, 135, -2163, 1092, - 138, 1093, 1094, 0, 141, 142, 143, 144, 145, 146, - 1095, 627, 147, 148, 1096, 1097, 151, 0, 152, 153, - 154, 155, 628, 0, 629, 0, 1098, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 174, 175, 176, 3763, 178, 179, - 180, 181, 182, 183, 184, 1099, 1100, 187, 1101, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 0, 0, 201, 202, 853, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 1102, 219, 220, 221, - 222, 223, 630, 1103, 225, 0, 226, 227, 1104, 229, - 0, 230, 0, 231, 232, 0, 233, 234, 235, 236, - -2163, 238, 0, 239, 240, 0, 0, 1105, 1106, 243, - 244, 0, 245, 246, 247, 248, 249, 250, 251, -2163, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 265, 266, 267, 268, 269, 270, - 271, 1107, 1108, 0, 1109, 0, 275, 0, 0, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 288, 289, -2163, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 1110, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 1111, 319, 1112, 321, 322, 323, 324, 325, - 0, 326, 327, 0, 329, 1114, 633, 331, 1115, 333, - 334, 335, 0, 336, 337, 0, 0, 1116, 339, 340, - 0, 0, 341, 342, 343, 344, 345, 635, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 636, 362, 363, 364, - 365, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 1117, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 401, 402, 403, 404, 1118, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 0, 0, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, -2163, - 429, 430, 1119, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 638, 449, 0, 450, 451, 0, 452, 453, 454, 455, - 456, 457, 458, 0, 1120, 1121, 0, 461, 0, 462, - 463, 639, 465, 640, 1122, 467, 468, 641, 470, 471, - 3764, 473, 474, 0, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, - 1123, 0, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, -2163, 0, 0, - 0, 0, 0, 0, 1125, 1126, 1127, 0, 0, 0, - 0, 1128, 0, 1129, 0, 0, 0, 0, 0, 1130, - 1131, 0, 0, 0, 0, 1132, 1133, 112, 1085, 658, - 1086, 1087, 0, 1089, 1090, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 0, 0, 125, 1091, 0, 0, 126, 127, - 128, 0, 129, 130, 131, 132, 133, 134, 135, 136, - 1092, 138, 1093, 1094, 0, 141, 142, 143, 144, 145, - 146, 1095, 627, 147, 148, 1096, 1097, 151, 0, 152, - 153, 154, 155, 628, 0, 629, 0, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 1099, 1100, 187, 0, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 853, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 1102, 219, 220, - 221, 222, 223, 630, 1103, 225, 0, 226, 227, 1104, - 229, 0, 230, 0, 231, 232, 0, 233, 234, 235, - 236, 237, 238, 0, 239, 240, 0, 0, 1105, 1106, - 243, 244, 0, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 265, 266, 267, 268, 269, - 270, 271, 1107, 1108, 0, 1109, 0, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, - 0, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 297, 298, 1110, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 1111, 319, 1112, 321, 322, 323, 324, - 325, 0, 326, 327, 328, 329, 1114, 633, 331, 1115, - 333, 334, 335, 0, 336, 337, 0, 0, 338, 339, - 340, 0, 0, 341, 342, 343, 344, 345, 635, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 636, 362, 363, - 364, 365, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 1117, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 401, 402, 403, 404, 2217, 2218, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 0, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 1119, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 638, 449, 0, 450, 451, 0, 452, 453, 454, - 455, 456, 457, 458, 0, 1120, 1121, 0, 461, 0, - 462, 463, 639, 465, 640, 1122, 467, 468, 641, 470, - 471, 472, 473, 474, 0, 0, 475, 476, 477, 0, - 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 487, 1123, 0, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 0, 0, - 0, 0, 0, 0, 0, 2219, 2220, 0, 0, 0, - 0, 0, 1128, 0, 1129, 0, 0, 0, 0, 0, - 1130, 1131, 0, 0, 0, 0, 1132, 1133, 112, 1085, - 658, 1086, 1087, 1088, 1089, 1090, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 0, 0, 125, 1091, 0, 0, 126, - 127, 128, 0, 129, 130, 131, 132, 133, 134, 135, - 136, 1092, 138, 1093, 1094, 0, 141, 142, 143, 144, - 145, 146, 1095, 627, 147, 148, 1096, 1097, 151, 0, - 152, 153, 154, 155, 628, 0, 629, 0, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 1099, 1100, 187, - 0, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 853, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 212, 213, 0, 214, 215, 216, 217, 1102, 219, - 220, 221, 222, 223, 630, 1103, 225, 0, 226, 227, - 1104, 229, 0, 230, 0, 231, 232, 0, 233, 234, - 235, 236, 237, 238, 0, 239, 240, 0, 0, 1105, - 1106, 243, 244, 0, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 265, 266, 267, 268, - 269, 270, 271, 1107, 1108, 0, 1109, 0, 275, 0, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 0, 0, 287, 288, 289, 290, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 1110, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 1111, 319, 1112, 321, 322, 323, - 324, 325, 0, 326, 327, 328, 329, 1114, 633, 331, - 1115, 333, 334, 335, 0, 336, 337, 0, 0, 1116, - 339, 340, 0, 0, 341, 342, 343, 344, 345, 635, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 0, 0, 0, 0, 359, 360, 636, 362, - 363, 364, 365, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 1117, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 401, 402, 403, 404, 1118, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 0, 0, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 1119, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 638, 449, 0, 450, 451, 0, 452, 453, - 454, 455, 456, 457, 458, 0, 1120, 1121, 0, 461, - 0, 462, 463, 639, 465, 640, 1122, 467, 468, 641, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 487, 1123, 0, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 0, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, - 0, 0, 0, 0, 0, 0, 1549, 1550, 0, 0, - 0, 0, 0, 1128, 0, 1129, 0, 0, 0, 0, - 0, 1130, 1131, 0, 0, 0, 0, 1132, 1133, 112, - 1085, 658, 1086, 1087, 0, 1089, 1090, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 0, 0, 0, 0, 0, 125, 1091, 0, 0, - 126, 127, 128, 0, 129, 130, 131, 132, 133, 134, - 135, 136, 1092, 138, 1093, 1094, 0, 141, 142, 143, - 144, 145, 146, 1095, 627, 147, 148, 1096, 1097, 151, - 0, 152, 153, 154, 155, 628, 0, 629, 0, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 0, - 168, 169, 170, 171, 172, 173, 0, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 1099, 1100, - 187, 0, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 853, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 1102, - 219, 220, 221, 222, 223, 630, 1103, 225, 0, 226, - 227, 1104, 229, 0, 230, 0, 231, 232, 0, 233, - 234, 235, 236, 237, 238, 0, 239, 240, 0, 0, - 1105, 1106, 243, 244, 0, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 265, 266, 267, - 268, 269, 270, 271, 1107, 1108, 0, 1109, 0, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 1110, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 1111, 319, 1112, 321, 322, - 323, 324, 325, 0, 326, 327, 328, 329, 1114, 633, - 331, 1115, 333, 334, 335, 0, 336, 337, 0, 0, - 338, 339, 340, 0, 0, 341, 342, 343, 344, 345, - 635, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 0, 0, 0, 0, 359, 360, 636, - 362, 363, 364, 365, 366, 367, 368, 0, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 1117, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 401, 402, 403, 404, 1118, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, - 0, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 1119, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 638, 449, 0, 450, 451, 0, 452, - 453, 454, 455, 456, 457, 458, 0, 1120, 1121, 0, - 461, 0, 462, 463, 639, 465, 640, 1122, 467, 468, - 641, 470, 471, 472, 473, 474, 0, 0, 475, 476, - 477, 0, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 487, 1123, 0, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 0, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1128, 0, 1129, 0, 0, 0, - 0, 0, 1130, 1131, 0, 0, 0, 0, 1132, 1133, - 112, 1085, 658, 1086, 1087, 0, 1089, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 0, 122, - 123, 124, 0, 0, 0, 0, 0, 125, 1091, 0, - 0, 126, 127, 128, 0, 129, 130, 131, 132, 133, - 134, 135, 136, 1092, 138, 1093, 1094, 0, 141, 142, - 143, 144, 145, 146, 1095, 0, 147, 148, 1096, 1097, - 151, 0, 152, 153, 154, 155, 156, 0, 157, 0, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 0, 168, 169, 170, 171, 172, 173, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 1099, - 1100, 187, 0, 188, 0, 189, 190, 191, 192, 193, - 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, - 201, 202, 853, 204, 205, 206, 207, 0, 208, 209, - 210, 0, 211, 212, 213, 0, 214, 215, 216, 217, - 1102, 219, 220, 221, 222, 223, 224, 1103, 225, 0, - 226, 227, 1104, 229, 0, 230, 0, 231, 232, 0, - 233, 234, 235, 236, 237, 238, 0, 239, 240, 0, - 3113, 1105, 1106, 243, 244, 0, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 0, 257, - 258, 259, 260, 261, 262, 263, 0, 264, 265, 266, - 267, 268, 269, 270, 271, 1107, 1108, 0, 1109, 0, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 0, 0, 287, 288, 289, 290, 0, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 1111, 319, 1112, 321, - 322, 323, 324, 325, 0, 326, 327, 328, 329, 1114, - 330, 331, 1115, 333, 334, 335, 0, 336, 337, 0, - 0, 338, 339, 340, 0, 0, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 0, 0, 0, 0, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 0, 369, - 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, - 379, 1117, 381, 382, 383, 384, 0, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 0, 0, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 1119, 432, 0, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 448, 449, 0, 450, 451, 0, - 452, 453, 454, 455, 456, 457, 458, 0, 1120, 1121, - 0, 461, 0, 462, 463, 464, 465, 466, 1122, 467, - 468, 469, 470, 471, 472, 473, 474, 0, 0, 475, - 476, 477, 0, 478, 479, 480, 481, 0, 482, 483, - 484, 485, 486, 487, 1123, 0, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 0, 0, 498, 0, 0, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1128, 0, 2792, 112, 1085, - 658, 1086, 1087, 1088, 1089, 1090, 0, 0, 0, 1132, - 1133, 0, 0, 0, 0, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 0, 0, 125, 1091, 0, 0, 126, - 127, 128, 0, 129, 130, 131, 132, 133, 134, 135, - 0, 1092, 138, 1093, 1094, 0, 141, 142, 143, 144, - 145, 146, 1095, 627, 147, 148, 1096, 1097, 151, 0, - 152, 153, 154, 155, 628, 0, 629, 0, 1098, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 1099, 1100, 187, - 1101, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 853, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 0, 213, 0, 214, 215, 216, 217, 1102, 219, - 220, 221, 222, 223, 630, 1103, 225, 0, 226, 227, - 1104, 229, 0, 230, 0, 231, 232, 0, 233, 234, - 235, 236, 0, 238, 0, 239, 240, 0, 0, 1105, - 1106, 243, 244, 0, 245, 246, 247, 248, 249, 250, - 251, 0, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 265, 266, 267, 268, - 269, 270, 271, 1107, 1108, 0, 1109, 0, 275, 0, - 0, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 0, 0, 287, 288, 289, 0, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 1110, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 1111, 319, 1112, 321, 322, 323, - 324, 325, 0, 326, 327, 0, 329, 1114, 633, 331, - 1115, 333, 334, 335, 0, 336, 337, 0, 0, 1116, - 339, 340, 0, 0, 341, 342, 343, 344, 345, 635, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 0, 0, 0, 0, 359, 360, 636, 362, - 363, 364, 365, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 1117, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 401, 402, 403, 404, 1118, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 0, 0, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 0, 429, 430, 1119, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 638, 449, 0, 450, 451, 0, 452, 453, - 454, 455, 456, 457, 458, 0, 1120, 1121, 0, 461, - 0, 462, 463, 639, 465, 640, 1122, 467, 468, 641, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 487, 1123, 0, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 0, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, - 0, 0, 0, 0, 0, 0, 1125, 1126, 1127, 0, - 0, 0, 0, 1128, 0, 1129, 0, 0, 0, 0, - 0, 1130, 1131, 0, 0, 0, 0, 1132, 1133, 112, - 1085, 658, 1086, 1087, 0, 1089, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 0, 0, 0, 0, 0, 125, 1091, 0, 0, - 126, 127, 128, 0, 129, 130, 131, 132, 133, 134, - 135, 136, 1092, 138, 1093, 1094, 0, 141, 142, 143, - 144, 145, 146, 1095, 0, 147, 148, 1096, 1097, 151, - 0, 152, 153, 154, 155, 156, 0, 157, 0, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 0, - 168, 169, 170, 171, 172, 173, 0, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 1099, 1100, - 187, 0, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 853, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 1102, - 219, 220, 221, 222, 223, 224, 1103, 225, 0, 226, - 227, 1104, 229, 0, 230, 0, 231, 232, 0, 233, - 234, 235, 236, 237, 238, 0, 239, 240, 0, 0, - 1105, 1106, 243, 244, 0, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 265, 266, 267, - 268, 269, 270, 271, 1107, 1108, 0, 1109, 0, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 1111, 319, 1112, 321, 322, - 323, 324, 325, 0, 326, 327, 328, 329, 1114, 330, - 331, 1115, 333, 334, 335, 0, 336, 337, 0, 0, - 338, 339, 340, 0, 0, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 0, 0, 0, 0, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 0, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 1117, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, - 0, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 1119, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 0, 450, 451, 0, 452, - 453, 454, 455, 456, 457, 458, 0, 1120, 1121, 0, - 461, 0, 462, 463, 464, 465, 466, 1122, 467, 468, - 469, 470, 471, 472, 473, 474, 0, 0, 475, 476, - 477, 0, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 487, 1123, 0, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 0, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 708, 0, 0, 1128, 0, 2792, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1132, 1133, - 113, 114, 115, 116, 0, 118, 119, 120, 121, 0, - 122, 123, 124, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 127, 128, 0, 129, 130, 131, 0, - 133, 134, 135, 709, 710, 0, 711, 712, 0, 141, - 142, 143, 144, 145, 146, 0, 0, 147, 148, 713, - 714, 151, 0, 152, 153, 154, 155, 715, 0, 0, - 0, 0, 159, 160, 161, 162, 163, 0, 165, 166, - 167, 0, 168, 169, 170, 171, 172, 0, 0, 0, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 716, 717, 187, 0, 188, 0, 189, 190, 191, 192, - 193, 194, 0, 195, 0, 197, 198, 199, 200, 0, - 0, 201, 202, 203, 204, 205, 0, 0, 0, 208, - 209, 210, 0, 211, 212, 213, 0, 214, 215, 216, - 217, 718, 219, 220, 221, 222, 223, 719, 0, 225, - 0, 226, 227, 720, 229, 0, 230, 0, 231, 0, - 0, 0, 234, 235, 721, 0, 238, 0, 239, 0, - 0, 0, 722, 723, 0, 244, 0, 245, 246, 247, - 248, 249, 250, 251, 0, 253, 254, 255, 256, 0, - 257, 258, 259, 260, 261, 262, 263, 0, 264, 0, - 724, 267, 268, 269, 270, 271, 725, 726, 0, 727, - 0, 275, 0, 0, 278, 0, 280, 0, 282, 283, - 284, 285, 286, 0, 0, 287, 0, 289, 0, 0, - 291, 292, 293, 294, 295, 296, 297, 298, 728, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 729, 0, 730, - 321, 322, 323, 0, 731, 0, 326, 327, 0, 329, - 0, 732, 331, 733, 333, 334, 335, 0, 336, 337, - 0, 0, 338, 339, 340, 0, 0, 341, 734, 0, - 344, 0, 735, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 0, 0, 358, 0, 0, 0, 0, 359, - 360, 736, 0, 363, 364, 737, 366, 367, 368, 0, - 369, 370, 371, 372, 373, 0, 0, 376, 0, 377, - 378, 379, 738, 381, 382, 383, 384, 0, 385, 386, - 387, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 399, 400, 0, 402, 403, 404, 739, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 0, 0, 417, 418, 419, 420, 421, 422, 740, - 424, 425, 0, 427, 0, 0, 430, 741, 432, 0, - 0, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 742, 447, 743, 449, 0, 450, 451, - 0, 452, 0, 454, 455, 456, 457, 458, 0, 744, - 745, 0, 0, 0, 462, 463, 746, 465, 747, 0, - 467, 468, 748, 470, 471, 472, 473, 474, 0, 0, - 475, 476, 477, 0, 478, 479, 480, 481, 0, 482, - 483, 484, 485, 486, 1542, 750, 0, 489, 0, 491, - 0, 493, 494, 495, 496, 0, 0, 0, 498, 0, - 0, 499, 500, 501, 502, 503, 504, 751, 752, 753, - 754, 755, 756, 757, 758, 759, 760, 761, 516, 517, - 518, 519, 0, 0, 0, 0, 0, 0, 0, 0, - 924, 1507, 658, 0, 0, 0, 1089, 0, 3368, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3369, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 0, 122, - 123, 124, 0, 0, 0, 925, 0, 125, 0, 0, - 0, 926, 127, 128, 0, 129, 130, 131, 927, 133, - 134, 135, 928, 929, 930, 931, 932, 0, 141, 142, - 143, 144, 145, 146, 0, 0, 147, 148, 933, 934, - 151, 0, 152, 153, 154, 155, 935, 0, 936, 0, - 937, 159, 160, 161, 162, 163, 938, 165, 166, 167, - 0, 168, 169, 170, 171, 172, 173, 0, 939, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 940, - 941, 187, 0, 188, 0, 189, 190, 191, 192, 193, - 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, - 201, 202, 203, 204, 205, 206, 207, 0, 208, 209, - 210, 0, 211, 212, 213, 0, 214, 215, 216, 217, - 942, 219, 220, 221, 222, 223, 943, 1508, 225, 0, - 226, 227, 944, 229, 0, 230, 0, 231, 945, 0, - 946, 234, 235, 947, 948, 238, 0, 239, 240, 0, - 0, 949, 950, 243, 244, 0, 245, 246, 247, 248, - 249, 250, 251, 951, 253, 254, 255, 256, 0, 257, - 258, 259, 260, 261, 262, 263, 0, 264, 952, 953, - 267, 268, 269, 270, 271, 954, 955, 0, 956, 0, - 275, 957, 958, 278, 959, 280, 281, 282, 283, 284, - 285, 286, 0, 0, 287, 960, 289, 961, 0, 291, - 292, 293, 294, 295, 296, 297, 298, 962, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 963, 964, 965, 321, - 322, 323, 324, 966, 0, 326, 327, 967, 329, 0, - 968, 331, 969, 333, 334, 335, 0, 336, 337, 1509, - 0, 338, 339, 340, 0, 0, 341, 970, 971, 344, - 972, 973, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 0, 0, 0, 0, 359, 360, - 974, 975, 363, 364, 976, 366, 367, 368, 0, 369, - 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, - 379, 977, 381, 382, 383, 384, 0, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 399, 400, 978, 402, 403, 404, 979, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 0, 980, 417, 418, 419, 420, 421, 422, 981, 424, - 425, 426, 427, 982, 429, 430, 983, 432, 0, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 984, 447, 985, 449, 0, 450, 451, 0, - 452, 986, 454, 455, 456, 457, 458, 0, 987, 988, - 0, 461, 0, 462, 463, 989, 465, 990, 1510, 467, - 468, 991, 470, 471, 472, 473, 474, 0, 0, 475, - 476, 477, 0, 478, 479, 480, 481, 0, 482, 483, - 484, 485, 486, 1346, 993, 0, 489, 994, 491, 492, - 493, 494, 495, 496, 497, 0, 0, 498, 0, 0, - 499, 500, 501, 502, 503, 504, 995, 996, 997, 998, - 999, 1000, 1001, 1002, 1003, 1004, 1005, 516, 517, 518, - 519, 0, 0, 0, 0, 0, 528, 0, 1511, 1512, - 2406, 0, 0, 0, 0, 0, 0, 2407, 0, 0, - 0, 0, 0, 0, 1131, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 0, 122, 123, 124, 0, 0, - 0, 0, 0, 125, 0, 1043, 0, 0, 127, 128, - 0, 129, 130, 131, 0, 133, 134, 135, 136, 137, - 0, 139, 140, 0, 141, 142, 143, 144, 145, 146, - 0, 0, 147, 148, 149, 150, 151, 0, 152, 153, - 154, 155, 156, 0, 0, 0, 158, 159, 160, 161, - 162, 163, 0, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 0, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 0, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 0, 0, 201, 202, 203, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, -695, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 0, 225, -695, 226, 227, 228, 229, - -695, 230, 0, 231, 0, 0, 0, 234, 235, 529, - 0, 238, 0, 239, 240, 0, 0, 241, 242, 243, - 244, 0, 245, 246, 247, 248, 249, 250, 251, 0, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 0, 266, 267, 268, 269, 270, - 271, 272, 273, -695, 274, 0, 275, 0, 0, 278, - 0, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 0, 289, 0, -695, 291, 292, 293, 294, 295, - 296, 297, 298, 530, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 0, 320, 321, 322, 323, 324, 325, - 0, 326, 327, 0, 329, 0, 330, 331, 332, 333, - 334, 335, -695, 336, 337, 0, 0, 338, 339, 340, - 0, -695, 341, 342, 0, 344, 0, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 361, 0, 363, 364, - 365, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 0, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 0, 0, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 0, - 429, 430, 431, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 531, 447, - 448, 449, 0, 450, 451, 0, 452, 0, 454, 455, - 456, 457, 458, 0, 459, 460, 0, 461, 0, 462, - 463, 464, 465, 466, 0, 467, 468, 469, 470, 471, - 472, 473, 474, -695, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, - 488, 0, 489, 0, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 528, 0, 552, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1199, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 0, 0, 125, 0, 0, 0, 0, 127, - 128, 0, 129, 130, 131, 0, 133, 134, 135, 136, - 137, 0, 139, 140, 0, 141, 142, 143, 144, 145, - 146, 0, 0, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 0, 158, 159, 160, - 161, 162, 163, 0, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 0, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 0, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 203, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 0, 225, 0, 226, 227, 228, - 229, 0, 230, 0, 231, 0, 0, 0, 234, 235, - 529, 0, 238, 0, 239, 240, 0, 0, 241, 242, - 243, 244, 0, 245, 246, 247, 248, 249, 250, 251, - 0, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 0, 266, 267, 268, 269, - 270, 271, 272, 273, 0, 274, 0, 275, 0, 0, - 278, 0, 280, 281, 282, 283, 284, 285, 286, 0, - 0, 287, 0, 289, 0, 0, 291, 292, 293, 294, - 295, 296, 297, 298, 530, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 0, 320, 321, 322, 323, 324, - 325, 0, 326, 327, 0, 329, 0, 330, 331, 332, - 333, 334, 335, 0, 336, 337, 0, 0, 338, 339, - 340, 0, 0, 341, 342, 0, 344, 0, 346, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 361, 0, 363, - 364, 365, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 0, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 0, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 0, 429, 430, 431, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 531, - 447, 448, 449, 0, 450, 451, 0, 452, 0, 454, - 455, 456, 457, 458, 0, 459, 460, 0, 461, 0, - 462, 463, 464, 465, 466, 0, 467, 468, 469, 470, - 471, 472, 473, 474, 0, 0, 475, 476, 477, 0, - 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 487, 488, 0, 489, 0, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 112, 0, - 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2491, 3346, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 0, 0, 125, 0, 0, 0, 126, - 127, 128, 0, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 0, 141, 142, 143, 144, - 145, 146, 0, 627, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 628, 0, 629, 0, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 0, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 203, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 212, 213, 0, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 630, 0, 225, 0, 226, 227, - 228, 229, 0, 230, 0, 231, 232, 21, 233, 234, - 235, 236, 237, 238, 0, 239, 240, 631, 0, 241, - 242, 243, 244, 0, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 0, 274, 0, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 632, 0, 287, 288, 289, 290, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 0, 326, 327, 328, 329, 0, 633, 331, - 332, 333, 334, 335, 0, 336, 337, 0, 634, 338, - 339, 340, 0, 0, 341, 342, 343, 344, 345, 635, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 25, 26, 27, 0, 359, 360, 636, 362, - 363, 364, 365, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 401, 402, 403, 404, 405, 637, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 32, 0, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 638, 449, 0, 450, 451, 37, 452, 453, - 454, 455, 456, 457, 458, 0, 459, 460, 0, 461, - 0, 462, 463, 639, 465, 640, 0, 467, 468, 641, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 39, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 642, 488, 0, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 43, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 924, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 643, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 3, 4, 0, 925, 0, 125, 0, 0, 0, - 926, 127, 128, 0, 129, 130, 131, 927, 133, 134, - 135, 928, 929, 930, 931, 932, 0, 141, 142, 143, - 144, 145, 146, 0, 0, 147, 148, 933, 934, 151, - 0, 152, 153, 154, 155, 935, 0, 936, 0, 937, - 159, 160, 161, 162, 163, 938, 165, 166, 167, 0, - 168, 169, 170, 171, 172, 173, 0, 939, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 940, 941, - 187, 0, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 203, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 942, - 219, 220, 221, 222, 223, 943, 0, 225, 0, 226, - 227, 944, 229, 0, 230, 0, 231, 945, 21, 946, - 234, 235, 947, 948, 238, 0, 239, 240, 0, 0, - 949, 950, 243, 244, 0, 245, 246, 247, 248, 249, - 250, 251, 951, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 952, 953, 267, - 268, 269, 270, 271, 954, 955, 0, 956, 0, 275, - 957, 958, 278, 959, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 960, 289, 961, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 962, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 963, 964, 965, 321, 322, - 323, 324, 966, 0, 326, 327, 967, 329, 0, 968, - 331, 969, 333, 334, 335, 0, 336, 337, 0, 0, - 338, 339, 340, 0, 0, 341, 970, 971, 344, 972, - 973, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 25, 26, 27, 0, 359, 360, 974, - 975, 363, 364, 976, 366, 367, 368, 0, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 977, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 978, 402, 403, 404, 979, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 32, - 980, 417, 418, 419, 420, 421, 422, 981, 424, 425, - 426, 427, 982, 429, 430, 983, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 984, 447, 985, 449, 0, 450, 451, 37, 452, - 986, 454, 455, 456, 457, 458, 0, 987, 988, 0, - 461, 0, 462, 463, 989, 465, 990, 0, 467, 468, - 991, 470, 471, 472, 473, 474, 0, 0, 475, 476, - 477, 39, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 992, 993, 0, 489, 994, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 43, 499, - 500, 501, 502, 503, 504, 995, 996, 997, 998, 999, - 1000, 1001, 1002, 1003, 1004, 1005, 516, 517, 518, 519, - 0, 112, 44, 552, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 689, 0, 0, 0, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, - 122, 123, 124, 0, 0, 0, 0, 0, 125, 0, - 0, 0, 126, 127, 128, 0, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 0, 141, - 142, 143, 144, 145, 146, 0, 627, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 628, 0, 629, - 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 0, 168, 169, 170, 171, 172, 173, 0, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 0, 188, 0, 189, 190, 191, 192, - 193, 194, 0, 195, 196, 197, 198, 199, 200, 0, - 0, 201, 202, 203, 204, 205, 206, 207, 0, 208, - 209, 210, 0, 211, 212, 213, 0, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 630, 0, 225, - 0, 226, 227, 228, 229, 0, 230, 0, 231, 232, - 0, 233, 234, 235, 236, 237, 238, 0, 239, 240, - 631, 0, 241, 242, 243, 244, 0, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 257, 258, 259, 260, 261, 262, 263, 0, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 0, 274, - 0, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 632, 0, 287, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 0, 326, 327, 328, 329, - 0, 633, 331, 332, 333, 334, 335, 0, 336, 337, - 0, 634, 338, 339, 340, 0, 0, 341, 342, 343, - 344, 345, 635, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 0, 0, 0, 0, 359, - 360, 636, 362, 363, 364, 365, 366, 367, 368, 0, - 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, - 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, - 637, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 0, 0, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 446, 447, 638, 449, 0, 450, 451, - 0, 452, 453, 454, 455, 456, 457, 458, 0, 459, - 460, 0, 461, 0, 462, 463, 639, 465, 640, 0, - 467, 468, 641, 470, 471, 472, 473, 474, 0, 0, - 475, 476, 477, 0, 478, 479, 480, 481, 0, 482, - 483, 484, 485, 486, 642, 488, 0, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 0, 0, 498, 0, - 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 112, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, - 0, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 0, 122, 123, 124, 0, 0, 0, 0, 0, 125, - 0, 0, 0, 126, 127, 128, 0, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 0, - 141, 142, 143, 144, 145, 146, 0, 627, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 628, 0, - 629, 0, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 0, 168, 169, 170, 171, 172, 173, 0, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 0, 188, 0, 189, 190, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, - 0, 0, 201, 202, 203, 204, 205, 206, 207, 0, - 208, 209, 210, 0, 211, 212, 213, 0, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 630, 0, - 225, 0, 226, 227, 228, 229, 0, 230, 0, 231, - 232, 0, 233, 234, 235, 236, 237, 238, 0, 239, - 240, 0, 0, 241, 242, 243, 244, 0, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 0, 257, 258, 259, 260, 261, 262, 263, 0, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 0, - 274, 0, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 0, 0, 287, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 0, 326, 327, 328, - 329, 0, 633, 331, 332, 333, 334, 335, 0, 336, - 337, 0, 0, 338, 339, 340, 0, 0, 341, 342, - 343, 344, 345, 635, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 0, 0, 0, 0, - 359, 360, 636, 362, 363, 364, 365, 366, 367, 368, - 0, 369, 370, 371, 372, 373, 374, 375, 376, 0, - 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, - 405, 637, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 0, 0, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 638, 449, 0, 450, - 451, 0, 452, 453, 454, 455, 456, 457, 458, 0, - 459, 460, 0, 461, 0, 462, 463, 639, 465, 640, - 0, 467, 468, 641, 470, 471, 472, 473, 474, 0, - 0, 475, 476, 477, 0, 478, 479, 480, 481, 0, - 482, 483, 484, 485, 486, 487, 488, 0, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 0, 0, 498, - 0, 0, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 112, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 689, - 0, 0, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 0, 0, 0, 0, 0, - 125, 0, 0, 0, 126, 127, 128, 0, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 0, 141, 142, 143, 144, 145, 146, 0, 627, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 628, - 0, 629, 0, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 0, 168, 169, 170, 171, 172, 173, - 0, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 0, 188, 0, 189, 190, - 191, 192, 193, 194, 0, 195, 196, 197, 198, 199, - 200, 0, 0, 201, 202, 203, 204, 205, 206, 207, - 0, 208, 209, 210, 0, 211, 212, 213, 0, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 630, - 0, 225, 0, 226, 227, 228, 229, 0, 230, 0, - 231, 232, 0, 233, 234, 235, 236, 237, 238, 0, - 239, 240, 0, 0, 241, 242, 243, 244, 0, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 257, 258, 259, 260, 261, 262, 263, 0, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 0, 274, 0, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 0, 0, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 0, 326, 327, - 328, 329, 0, 633, 331, 332, 333, 334, 335, 0, - 336, 337, 0, 0, 338, 339, 340, 0, 0, 341, - 342, 343, 344, 345, 635, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 0, 0, 0, - 0, 359, 360, 636, 362, 363, 364, 365, 366, 367, - 368, 0, 369, 370, 371, 372, 373, 374, 375, 376, - 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 0, 0, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 0, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 447, 638, 449, 0, - 450, 451, 0, 452, 453, 454, 455, 456, 457, 458, - 0, 459, 460, 0, 461, 0, 462, 463, 639, 465, - 640, 0, 467, 468, 641, 470, 471, 472, 473, 474, - 0, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 0, 482, 483, 484, 485, 486, 487, 488, 0, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, - 498, 0, 0, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 528, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3496, 0, 0, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 786, 122, 123, 124, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 0, 127, 128, 0, 129, - 130, 131, 0, 133, 134, 135, 136, 137, 0, 139, - 140, 0, 141, 142, 143, 144, 145, 146, 0, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 158, 159, 160, 161, 162, 163, - 0, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 0, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 0, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 0, 225, 0, 226, 227, 228, 229, 0, 230, - 0, 231, 0, 21, 0, 234, 235, 529, 0, 238, - 0, 239, 240, 0, 0, 241, 242, 243, 244, 0, - 245, 246, 247, 248, 249, 250, 251, 0, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 0, 266, 267, 268, 269, 270, 271, 272, - 273, 0, 274, 0, 275, 0, 0, 278, 0, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 0, - 289, 0, 0, 291, 292, 293, 294, 295, 296, 297, - 298, 530, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 0, 320, 321, 322, 323, 324, 325, 0, 326, - 327, 0, 329, 0, 330, 331, 332, 333, 334, 335, - 0, 336, 337, 0, 0, 338, 339, 340, 0, 0, - 341, 342, 0, 344, 0, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 25, 26, - 27, 0, 359, 360, 361, 0, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 0, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 32, 0, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 0, 429, 430, - 431, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 531, 447, 448, 449, - 0, 450, 451, 37, 452, 0, 454, 455, 456, 457, - 458, 0, 787, 460, 0, 461, 0, 788, 463, 464, - 465, 466, 0, 467, 468, 469, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 39, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 642, 488, 0, - 489, 0, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 43, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 528, 0, 44, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 689, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 0, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 0, 0, 0, 0, 127, 128, 0, - 129, 130, 131, 0, 133, 134, 135, 136, 137, 0, - 139, 140, 0, 141, 142, 143, 144, 145, 146, 0, - 0, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 0, 0, 0, 158, 159, 160, 161, 162, - 163, 0, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 0, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 0, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 0, 225, 0, 226, 227, 228, 229, 0, - 230, 0, 231, 0, 21, 0, 234, 235, 529, 0, - 238, 0, 239, 240, 0, 0, 241, 242, 243, 244, - 0, 245, 246, 247, 248, 249, 250, 251, 0, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 0, 266, 267, 268, 269, 270, 271, - 272, 273, 0, 274, 0, 275, 0, 0, 278, 0, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 0, 289, 0, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 530, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 0, 320, 321, 322, 323, 324, 325, 0, - 326, 327, 0, 329, 0, 330, 331, 332, 333, 334, - 335, 0, 336, 337, 0, 0, 338, 339, 340, 0, - 0, 341, 342, 0, 344, 0, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 25, - 26, 27, 0, 359, 360, 361, 0, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 0, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 32, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 0, 429, - 430, 431, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 531, 447, 448, - 449, 0, 450, 451, 37, 452, 0, 454, 455, 456, - 457, 458, 0, 459, 460, 0, 461, 0, 462, 463, - 464, 465, 466, 0, 467, 468, 469, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 39, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 642, 488, - 0, 489, 0, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 43, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 0, 528, 44, 552, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 689, 0, 0, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 0, 0, 125, 0, 0, 0, 0, 127, - 128, 0, 129, 130, 131, 0, 133, 134, 135, 136, - 137, 0, 139, 140, 0, 141, 142, 143, 144, 145, - 146, 0, 0, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 0, 158, 159, 160, - 161, 162, 163, 0, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 0, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 0, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 203, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 0, 225, 0, 226, 227, 228, - 229, 0, 230, 0, 231, 0, 0, 0, 234, 235, - 529, 0, 238, 0, 239, 240, 0, 0, 241, 242, - 243, 244, 0, 245, 246, 247, 248, 249, 250, 251, - 0, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 0, 266, 267, 268, 269, - 270, 271, 272, 273, 0, 274, 0, 275, 0, 0, - 278, 0, 280, 281, 282, 283, 284, 285, 286, 0, - 0, 287, 0, 289, 0, 0, 291, 292, 293, 294, - 295, 296, 297, 298, 530, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 0, 320, 321, 322, 323, 324, - 325, 0, 326, 327, 0, 329, 0, 330, 331, 332, - 333, 334, 335, 0, 336, 337, 0, 0, 338, 339, - 340, 0, 0, 341, 342, 0, 344, 0, 346, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 361, 0, 363, - 364, 365, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 0, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 0, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 0, 429, 430, 431, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 531, - 447, 448, 449, 0, 450, 451, 0, 452, 0, 454, - 455, 456, 457, 458, 0, 459, 460, 0, 461, 0, - 462, 463, 464, 465, 466, 0, 467, 468, 469, 470, - 471, 472, 473, 474, 0, 0, 475, 476, 477, 0, - 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 487, 488, 0, 489, 0, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 528, 0, - 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1028, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, - 127, 128, 0, 129, 130, 131, 0, 133, 134, 135, - 136, 137, 0, 139, 140, 0, 141, 142, 143, 144, - 145, 146, 0, 0, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 0, 158, 159, - 160, 161, 162, 163, 0, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 0, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 0, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 203, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 212, 213, 0, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 0, 225, 0, 226, 227, - 228, 229, 0, 230, 0, 231, 0, 0, 0, 234, - 235, 529, 0, 238, 0, 239, 240, 0, 0, 241, - 242, 243, 244, 0, 245, 246, 247, 248, 249, 250, - 251, 0, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 0, 266, 267, 268, - 269, 270, 271, 272, 273, 0, 274, 0, 275, 0, - 0, 278, 0, 280, 281, 282, 283, 284, 285, 286, - 0, 0, 287, 0, 289, 0, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 530, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 0, 320, 321, 322, 323, - 324, 325, 0, 326, 327, 0, 329, 0, 330, 331, - 332, 333, 334, 335, 0, 336, 337, 0, 0, 338, - 339, 340, 0, 0, 341, 342, 0, 344, 0, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 0, 0, 0, 0, 359, 360, 361, 0, - 363, 364, 365, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 0, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 0, 0, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 0, 429, 430, 431, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 531, 447, 448, 449, 0, 450, 451, 0, 452, 0, - 454, 455, 456, 457, 458, 0, 459, 460, 0, 461, - 0, 462, 463, 464, 465, 466, 0, 467, 468, 469, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 487, 488, 0, 489, 0, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 0, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 528, - 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1601, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 0, 0, 0, 0, 0, 125, 0, 0, 0, - 0, 127, 128, 0, 129, 130, 131, 0, 133, 134, - 135, 136, 137, 0, 139, 140, 0, 141, 142, 143, - 144, 145, 146, 0, 0, 147, 148, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 0, 0, 0, 158, - 159, 160, 161, 162, 163, 0, 165, 166, 167, 0, - 168, 169, 170, 171, 172, 173, 0, 0, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 0, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 203, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 0, 225, 0, 226, - 227, 228, 229, 0, 230, 0, 231, 0, 0, 0, - 234, 235, 529, 0, 238, 0, 239, 240, 0, 0, - 241, 242, 243, 244, 0, 245, 246, 247, 248, 249, - 250, 251, 0, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 0, 266, 267, - 268, 269, 270, 271, 272, 273, 0, 274, 0, 275, - 0, 0, 278, 0, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 0, 289, 0, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 530, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 0, 320, 321, 322, - 323, 324, 325, 0, 326, 327, 0, 329, 0, 330, - 331, 332, 333, 334, 335, 0, 336, 337, 0, 0, - 338, 339, 340, 0, 0, 341, 342, 0, 344, 0, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 0, 0, 0, 0, 359, 360, 361, - 0, 363, 364, 365, 366, 367, 368, 0, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 0, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, - 0, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 0, 429, 430, 431, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 531, 447, 448, 449, 0, 450, 451, 0, 452, - 0, 454, 455, 456, 457, 458, 0, 459, 460, 0, - 461, 0, 462, 463, 464, 465, 466, 0, 467, 468, - 469, 470, 471, 472, 473, 474, 0, 0, 475, 476, - 477, 0, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 487, 488, 0, 489, 0, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 0, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 528, 0, 552, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2243, 0, 0, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 0, 122, - 123, 124, 0, 0, 0, 0, 0, 125, 0, 0, - 0, 0, 127, 128, 0, 129, 130, 131, 0, 133, - 134, 135, 136, 137, 0, 139, 140, 0, 141, 142, - 143, 144, 145, 146, 0, 0, 147, 148, 149, 150, - 151, 0, 152, 153, 154, 155, 156, 0, 0, 0, - 158, 159, 160, 161, 162, 163, 0, 165, 166, 167, - 0, 168, 169, 170, 171, 172, 173, 0, 0, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 0, 188, 0, 189, 190, 191, 192, 193, - 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, - 201, 202, 203, 204, 205, 206, 207, 0, 208, 209, - 210, 0, 211, 212, 213, 0, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 0, 225, 0, - 226, 227, 228, 229, 0, 230, 0, 231, 0, 0, - 0, 234, 235, 529, 0, 238, 0, 239, 240, 0, - 0, 241, 242, 243, 244, 0, 245, 246, 247, 248, - 249, 250, 251, 0, 253, 254, 255, 256, 0, 257, - 258, 259, 260, 261, 262, 263, 0, 264, 0, 266, - 267, 268, 269, 270, 271, 272, 273, 0, 274, 0, - 275, 0, 0, 278, 0, 280, 281, 282, 283, 284, - 285, 286, 0, 0, 287, 0, 289, 0, 0, 291, - 292, 293, 294, 295, 296, 297, 298, 530, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 0, 320, 321, - 322, 323, 324, 325, 0, 326, 327, 0, 329, 0, - 330, 331, 332, 333, 334, 335, 0, 336, 337, 0, - 0, 338, 339, 340, 0, 0, 341, 342, 0, 344, - 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 0, 0, 0, 0, 359, 360, - 361, 0, 363, 364, 365, 366, 367, 368, 0, 369, - 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, - 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 399, 400, 0, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 0, 0, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 0, 429, 430, 431, 432, 0, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 531, 447, 448, 449, 0, 450, 451, 0, - 452, 0, 454, 455, 456, 457, 458, 0, 459, 460, - 0, 461, 0, 462, 463, 464, 465, 466, 0, 467, - 468, 469, 470, 471, 472, 473, 474, 0, 0, 475, - 476, 477, 0, 478, 479, 480, 481, 0, 482, 483, - 484, 485, 486, 487, 488, 0, 489, 0, 491, 492, - 493, 494, 495, 496, 497, 0, 0, 498, 0, 0, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 528, 0, 552, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2491, 0, 0, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, - 122, 123, 124, 0, 0, 0, 0, 0, 125, 0, - 0, 0, 0, 127, 128, 0, 129, 130, 131, 0, - 133, 134, 135, 136, 137, 0, 139, 140, 0, 141, - 142, 143, 144, 145, 146, 0, 0, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, - 0, 158, 159, 160, 161, 162, 163, 0, 165, 166, - 167, 0, 168, 169, 170, 171, 172, 173, 0, 0, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 0, 188, 0, 189, 190, 191, 192, - 193, 194, 0, 195, 196, 197, 198, 199, 200, 0, - 0, 201, 202, 203, 204, 205, 206, 207, 0, 208, - 209, 210, 0, 211, 212, 213, 0, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 0, 225, - 0, 226, 227, 228, 229, 0, 230, 0, 231, 0, - 0, 0, 234, 235, 529, 0, 238, 0, 239, 240, - 0, 0, 241, 242, 243, 244, 0, 245, 246, 247, - 248, 249, 250, 251, 0, 253, 254, 255, 256, 0, - 257, 258, 259, 260, 261, 262, 263, 0, 264, 0, - 266, 267, 268, 269, 270, 271, 272, 273, 0, 274, - 0, 275, 0, 0, 278, 0, 280, 281, 282, 283, - 284, 285, 286, 0, 0, 287, 0, 289, 0, 0, - 291, 292, 293, 294, 295, 296, 297, 298, 530, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 0, 320, - 321, 322, 323, 324, 325, 0, 326, 327, 0, 329, - 0, 330, 331, 332, 333, 334, 335, 0, 336, 337, - 0, 0, 338, 339, 340, 0, 0, 341, 342, 0, - 344, 0, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 0, 0, 0, 0, 359, - 360, 361, 0, 363, 364, 365, 366, 367, 368, 0, - 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, - 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 399, 400, 0, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 0, 0, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 0, 429, 430, 431, 432, 0, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 531, 447, 448, 449, 0, 450, 451, - 0, 452, 0, 454, 455, 456, 457, 458, 0, 459, - 460, 0, 461, 0, 462, 463, 464, 465, 466, 0, - 467, 468, 469, 470, 471, 472, 473, 474, 0, 0, - 475, 476, 477, 0, 478, 479, 480, 481, 0, 482, - 483, 484, 485, 486, 487, 488, 0, 489, 0, 491, - 492, 493, 494, 495, 496, 497, 0, 0, 498, 0, - 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 528, 0, 552, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2630, 0, - 0, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 0, 122, 123, 124, 0, 0, 0, 0, 0, 125, - 0, 0, 0, 0, 127, 128, 0, 129, 130, 131, - 0, 133, 134, 135, 136, 137, 0, 139, 140, 0, - 141, 142, 143, 144, 145, 146, 0, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 0, 158, 159, 160, 161, 162, 163, 0, 165, - 166, 167, 0, 168, 169, 170, 171, 172, 173, 0, - 0, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 0, 188, 0, 189, 190, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, - 0, 0, 201, 202, 203, 204, 205, 206, 207, 0, - 208, 209, 210, 0, 211, 212, 213, 0, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 0, - 225, 0, 226, 227, 228, 229, 0, 230, 0, 231, - 0, 0, 0, 234, 235, 529, 0, 238, 0, 239, - 240, 0, 0, 241, 242, 243, 244, 0, 245, 246, - 247, 248, 249, 250, 251, 0, 253, 254, 255, 256, - 0, 257, 258, 259, 260, 261, 262, 263, 0, 264, - 0, 266, 267, 268, 269, 270, 271, 272, 273, 0, - 274, 0, 275, 0, 0, 278, 0, 280, 281, 282, - 283, 284, 285, 286, 0, 0, 287, 0, 289, 0, - 0, 291, 292, 293, 294, 295, 296, 297, 298, 530, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 0, - 320, 321, 322, 323, 324, 325, 0, 326, 327, 0, - 329, 0, 330, 331, 332, 333, 334, 335, 0, 336, - 337, 0, 0, 338, 339, 340, 0, 0, 341, 342, - 0, 344, 0, 346, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 0, 0, 0, 0, - 359, 360, 361, 0, 363, 364, 365, 366, 367, 368, - 0, 369, 370, 371, 372, 373, 374, 375, 376, 0, - 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 399, 400, 0, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 0, 0, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 0, 429, 430, 431, 432, - 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 531, 447, 448, 449, 0, 450, - 451, 0, 452, 0, 454, 455, 456, 457, 458, 0, - 459, 460, 0, 461, 0, 462, 463, 464, 465, 466, - 0, 467, 468, 469, 470, 471, 472, 473, 474, 0, - 0, 475, 476, 477, 0, 478, 479, 480, 481, 0, - 482, 483, 484, 485, 486, 487, 488, 0, 489, 0, - 491, 492, 493, 494, 495, 496, 497, 0, 0, 498, - 0, 0, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 528, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3340, - 0, 0, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 0, 0, 0, 0, 0, - 125, 0, 0, 0, 0, 127, 128, 0, 129, 130, - 131, 0, 133, 134, 135, 136, 137, 0, 139, 140, - 0, 141, 142, 143, 144, 145, 146, 0, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 0, 158, 159, 160, 161, 162, 163, 0, - 165, 166, 167, 0, 168, 169, 170, 171, 172, 173, - 0, 0, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 0, 188, 0, 189, 190, - 191, 192, 193, 194, 0, 195, 196, 197, 198, 199, - 200, 0, 0, 201, 202, 203, 204, 205, 206, 207, - 0, 208, 209, 210, 0, 211, 212, 213, 0, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 0, 225, 0, 226, 227, 228, 229, 0, 230, 0, - 231, 0, 0, 0, 234, 235, 529, 0, 238, 0, - 239, 240, 0, 0, 241, 242, 243, 244, 0, 245, - 246, 247, 248, 249, 250, 251, 0, 253, 254, 255, - 256, 0, 257, 258, 259, 260, 261, 262, 263, 0, - 264, 0, 266, 267, 268, 269, 270, 271, 272, 273, - 0, 274, 0, 275, 0, 0, 278, 0, 280, 281, - 282, 283, 284, 285, 286, 0, 0, 287, 0, 289, - 0, 0, 291, 292, 293, 294, 295, 296, 297, 298, - 530, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 0, 320, 321, 322, 323, 324, 325, 0, 326, 327, - 0, 329, 0, 330, 331, 332, 333, 334, 335, 0, - 336, 337, 0, 0, 338, 339, 340, 0, 0, 341, - 342, 0, 344, 0, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 0, 0, 0, - 0, 359, 360, 361, 0, 363, 364, 365, 366, 367, - 368, 0, 369, 370, 371, 372, 373, 374, 375, 376, - 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 399, 400, 0, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 0, 0, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 0, 429, 430, 431, - 432, 0, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 531, 447, 448, 449, 0, - 450, 451, 0, 452, 0, 454, 455, 456, 457, 458, - 0, 459, 460, 0, 461, 0, 462, 463, 464, 465, - 466, 0, 467, 468, 469, 470, 471, 472, 473, 474, - 0, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 0, 482, 483, 484, 485, 486, 487, 488, 0, 489, - 0, 491, 492, 493, 494, 495, 496, 497, 0, 0, - 498, 0, 0, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 528, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2093, 0, 0, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 122, 123, 124, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 0, 127, 128, 0, 129, - 130, 131, 0, 133, 134, 135, 136, 137, 0, 139, - 140, 0, 141, 142, 143, 144, 145, 146, 0, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 158, 159, 160, 161, 162, 163, - 0, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 0, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 0, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 0, 225, 0, 226, 227, 228, 229, 0, 230, - 0, 231, 0, 0, 0, 234, 235, 529, 0, 238, - 0, 239, 240, 0, 0, 241, 242, 243, 244, 0, - 245, 246, 247, 248, 249, 250, 251, 0, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 0, 266, 267, 268, 269, 270, 271, 272, - 273, 0, 274, 0, 275, 0, 0, 278, 0, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 0, - 289, 0, 0, 291, 292, 293, 294, 295, 296, 297, - 298, 530, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 0, 320, 321, 322, 323, 324, 325, 0, 326, - 327, 0, 329, 0, 330, 331, 332, 333, 334, 335, - 0, 336, 337, 0, 0, 338, 339, 340, 0, 0, - 341, 342, 0, 344, 0, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 0, 0, - 0, 0, 359, 360, 361, 0, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 0, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 0, 0, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 0, 429, 430, - 431, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 531, 447, 448, 449, - 0, 450, 451, 0, 452, 0, 454, 455, 456, 457, - 458, 0, 459, 460, 0, 461, 0, 462, 463, 464, - 465, 466, 0, 467, 468, 469, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 0, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 487, 488, 0, - 489, 0, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 0, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 528, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2203, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 0, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 0, 0, 0, 0, 127, 128, 0, - 129, 130, 131, 0, 133, 134, 135, 136, 137, 0, - 139, 140, 0, 141, 142, 143, 144, 145, 146, 0, - 0, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 0, 0, 0, 158, 159, 160, 161, 162, - 163, 0, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 0, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 0, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 0, 225, 0, 226, 227, 228, 229, 0, - 230, 0, 231, 0, 0, 0, 234, 235, 529, 0, - 238, 0, 239, 240, 0, 0, 241, 242, 243, 244, - 0, 245, 246, 247, 248, 249, 250, 251, 0, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 0, 266, 267, 268, 269, 270, 271, - 272, 273, 0, 274, 0, 275, 0, 0, 278, 0, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 0, 289, 0, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 530, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 0, 320, 321, 322, 323, 324, 325, 0, - 326, 327, 0, 329, 0, 330, 331, 332, 333, 334, - 335, 0, 336, 337, 0, 0, 338, 339, 340, 0, - 0, 341, 342, 0, 344, 0, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 0, - 0, 0, 0, 359, 360, 361, 0, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 0, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 0, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 0, 429, - 430, 431, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 531, 447, 448, - 449, 0, 450, 451, 0, 452, 0, 454, 455, 456, - 457, 458, 0, 459, 460, 0, 461, 0, 462, 463, - 464, 465, 466, 0, 467, 468, 469, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 0, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 487, 488, - 0, 489, 0, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 0, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 708, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3147, 0, 0, 113, 114, 115, 116, 0, - 118, 119, 120, 121, 0, 122, 123, 124, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, - 0, 129, 130, 131, 0, 133, 134, 135, 709, 710, - 0, 711, 712, 0, 141, 142, 143, 144, 145, 146, - 0, 0, 147, 148, 713, 714, 151, 0, 152, 153, - 154, 155, 715, 0, 0, 0, 0, 159, 160, 161, - 162, 163, 0, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 0, 0, 0, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 716, 717, 187, 0, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 0, - 197, 198, 199, 200, 0, 0, 201, 202, 203, 204, - 205, 0, 0, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 718, 219, 220, 221, - 222, 223, 719, 0, 225, 0, 226, 227, 720, 229, - 0, 230, 0, 231, 0, 21, 0, 234, 235, 721, - 0, 238, 0, 239, 0, 0, 0, 722, 723, 0, - 244, 0, 245, 246, 247, 248, 249, 250, 251, 0, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 0, 724, 267, 268, 269, 270, - 271, 725, 726, 0, 727, 0, 275, 0, 0, 278, - 0, 280, 0, 282, 283, 284, 285, 286, 0, 0, - 287, 0, 289, 0, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 728, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 729, 0, 730, 321, 322, 323, 0, 731, - 0, 326, 327, 0, 329, 0, 732, 331, 733, 333, - 334, 335, 0, 336, 337, 0, 0, 338, 339, 340, - 0, 0, 341, 734, 0, 344, 0, 735, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 0, 0, 358, - 25, 26, 27, 0, 359, 360, 736, 0, 363, 364, - 737, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 0, 0, 376, 0, 377, 378, 379, 738, 381, 382, - 383, 384, 0, 385, 386, 387, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 0, 402, 403, 404, 739, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 32, 0, 417, 418, - 419, 420, 421, 422, 740, 424, 425, 0, 427, 0, - 0, 430, 741, 432, 0, 0, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 742, 447, - 743, 449, 0, 450, 451, 37, 452, 0, 454, 455, - 456, 457, 458, 0, 744, 745, 0, 0, 0, 462, - 463, 746, 465, 747, 0, 467, 468, 748, 470, 471, - 472, 473, 474, 0, 0, 475, 476, 477, 39, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 749, - 750, 0, 489, 0, 491, 0, 493, 494, 495, 496, - 0, 0, 0, 498, 0, 43, 499, 500, 501, 502, - 503, 504, 751, 752, 753, 754, 755, 756, 757, 758, - 759, 760, 761, 516, 517, 518, 519, 0, 0, 44, - 0, 0, 2973, 1507, 658, 0, 0, 2073, 1089, 0, - 0, 0, 0, 689, 2074, 2075, 0, 0, 2076, 2077, - 2078, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 1278, 122, 123, 124, 1279, 1280, 1281, 2974, 1282, 125, - 1283, 1284, 1285, 2975, 127, 128, 1286, 129, 130, 131, - 2976, 133, 134, 135, 0, 841, 2977, 843, 844, 1287, - 141, 142, 143, 144, 145, 146, 1288, 1289, 147, 148, - 845, 846, 151, 1290, 152, 153, 154, 155, 0, 1291, - 2978, 1292, 2979, 159, 160, 161, 162, 163, 2980, 165, - 166, 167, 1293, 168, 169, 170, 171, 172, 173, 1294, - 2981, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 851, 852, 187, 1295, 188, 1296, 189, 190, 191, - 192, 193, 194, 1297, 195, 196, 197, 198, 199, 200, - 1298, 1299, 201, 202, 853, 204, 205, 206, 207, 1300, - 208, 209, 210, 1301, 211, 212, 213, 1302, 214, 215, - 216, 217, 0, 219, 220, 221, 222, 223, 0, 1303, - 225, 1304, 226, 227, 854, 229, 1305, 230, 1306, 231, - 2982, 1307, 2983, 234, 235, 2984, 2985, 238, 1308, 239, - 240, 1309, 1310, 0, 0, 243, 244, 1311, 245, 246, - 247, 248, 249, 250, 251, 2986, 253, 254, 255, 256, - 1312, 257, 258, 259, 260, 261, 262, 263, 1313, 264, - 2987, 0, 267, 268, 269, 270, 271, 861, 862, 1314, - 863, 1315, 275, 2988, 2989, 278, 2990, 280, 281, 282, - 283, 284, 285, 286, 1316, 1317, 287, 2991, 289, 2992, - 1318, 291, 292, 293, 294, 295, 296, 297, 298, 2993, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 870, 2994, - 872, 321, 322, 323, 324, 2995, 1319, 326, 327, 2996, - 329, 1320, 0, 331, 874, 333, 334, 335, 1321, 336, - 337, 1322, 1323, 2997, 339, 340, 1324, 1325, 341, 0, - 2998, 344, 2999, 0, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 1326, 1327, 1328, 1329, - 359, 360, 0, 3000, 363, 364, 0, 366, 367, 368, - 1330, 369, 370, 371, 372, 373, 374, 375, 376, 1331, - 377, 378, 379, 878, 381, 382, 383, 384, 1332, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 1333, 399, 400, 3001, 402, 403, 404, - 880, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 1334, 3002, 417, 418, 419, 420, 421, 422, - 3003, 424, 425, 426, 427, 3004, 429, 430, 884, 432, - 1335, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 3005, 447, 0, 449, 1336, 450, - 451, 1337, 452, 3006, 454, 455, 456, 457, 458, 1338, - 887, 888, 1339, 461, 1340, 462, 463, 0, 465, 0, - 1341, 467, 468, 3007, 470, 471, 472, 473, 474, 3008, - 1343, 475, 476, 477, 1344, 478, 479, 480, 481, 1345, - 482, 483, 484, 485, 486, 0, 891, 1347, 489, 3009, - 491, 492, 493, 494, 495, 496, 497, 1348, 1349, 498, - 1350, 1351, 499, 500, 501, 502, 503, 504, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, - 517, 518, 519, 0, 528, 0, 2079, 2080, 2081, 2073, - 3010, 3011, 2084, 2085, 2086, 2087, 2074, 2075, 0, 0, - 2076, 2077, 2078, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 122, 123, 124, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 0, 127, 128, 0, 129, - 130, 131, 0, 133, 134, 135, 136, 137, 0, 139, - 140, 0, 141, 142, 143, 144, 145, 146, 0, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 158, 159, 160, 161, 162, 163, - 0, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 0, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 0, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 0, 225, 0, 226, 227, 228, 229, 0, 230, - 0, 231, 0, 0, 0, 234, 235, 529, 0, 238, - 0, 239, 240, 0, 0, 241, 242, 243, 244, 0, - 245, 246, 247, 248, 249, 250, 251, 0, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 0, 266, 267, 268, 269, 270, 271, 272, - 273, 0, 274, 0, 275, 0, 0, 278, 0, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 0, - 289, 0, 0, 291, 292, 293, 294, 295, 296, 297, - 298, 530, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 0, 320, 321, 322, 323, 324, 325, 0, 326, - 327, 0, 329, 0, 330, 331, 332, 333, 334, 335, - 0, 336, 337, 0, 0, 338, 339, 340, 0, 0, - 341, 342, 0, 344, 0, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 0, 0, - 0, 0, 359, 360, 361, 0, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 0, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 0, 0, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 0, 429, 430, - 431, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 531, 447, 448, 449, - 0, 450, 451, 0, 452, 0, 454, 455, 456, 457, - 458, 0, 459, 460, 0, 461, 0, 462, 463, 464, - 465, 466, 0, 467, 468, 469, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 0, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 487, 488, 0, - 489, 0, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 0, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 0, 0, 0, 2079, 2080, - 2081, 0, 2082, 2083, 2084, 2085, 2086, 2087, 1658, 0, - 0, 1659, 0, 0, 0, 1660, 1661, 1662, 1663, 1664, - 1665, 1666, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1667, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1669, 1658, - 0, 0, 1659, 0, 0, 1670, 1660, 1661, 1662, 1663, - 1664, 1665, 1666, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1667, 0, - 1671, 0, 0, 0, 0, 0, 0, 0, 0, 1669, - 1658, 0, 0, 1659, 0, 0, 1670, 1660, 1661, 1662, - 1663, 1664, 1665, 1666, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1667, - 0, 1671, 0, 0, 0, 0, 0, 0, 0, 0, - 1669, 0, 0, 0, 0, 0, 0, 1670, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1671, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1672, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1673, 0, 0, 0, - 0, 1674, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1672, 0, - 0, 0, 0, 0, 1675, 1676, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1673, 0, 0, - 1677, 0, 1674, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1672, - 0, 0, 0, 0, 0, 1675, 1676, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1678, 1673, 0, - 1679, 1677, 0, 1674, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1680, 0, 0, 1681, 0, 0, - 0, 0, 0, 0, 0, 0, 1675, 1676, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1678, 0, - 0, 1679, 1677, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1680, 0, 0, 1681, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1678, - 0, 0, 1679, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1680, 0, 0, 1681, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1682, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1682, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 412, 0, 413, 414, 0, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 0, 0, 444, 445, 446, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 548, 462, 463, 0, 0, 464, + 465, 0, 466, 0, 468, 469, 470, 471, 472, 0, + 473, 474, 475, 0, 476, 0, 477, 478, 479, 480, + 481, 0, 482, 483, 484, 485, 486, 487, 488, 489, + 0, 0, 490, 491, 492, 0, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 502, 503, 0, 504, + 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 0, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 0, 0, 0, 2139, + 2140, 2141, 0, 2142, 2143, 2144, 2145, 2146, 2147, 1704, + 0, 0, 1705, 0, 0, 0, 1706, 1707, 1708, 1709, + 1710, 1711, 1712, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1704, 0, 0, 1705, 1713, 0, + 0, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 1715, + 0, 0, 0, 0, 0, 0, 1716, 0, 0, 1704, + 0, 0, 1705, 1713, 0, 0, 1706, 1707, 1708, 1709, + 1710, 1711, 1712, 0, 1715, 0, 0, 0, 0, 0, + 0, 1716, 0, 1717, 0, 0, 0, 0, 1713, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1715, + 0, 0, 1704, 0, 0, 1705, 1716, 0, 1717, 1706, + 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1682, 0, + 0, 1713, 0, 1717, 0, 0, 0, 0, 0, 0, + 0, 0, 1715, 1704, 0, 0, 1705, 0, 0, 1716, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1713, 0, 0, 0, 1717, 0, 0, 0, + 0, 0, 1718, 1715, 0, 0, 0, 0, 0, 0, + 1716, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1719, 0, 0, 0, 0, 1720, 1718, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1717, 0, 0, + 0, 0, 0, 0, 0, 0, 1719, 0, 0, 1721, + 1722, 1720, 1718, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1723, 0, 0, 0, 0, + 0, 1719, 0, 0, 1721, 1722, 1720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1683, 0, 0, 1684, 1685, 1686, - 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, 0, 2838, + 1723, 0, 0, 0, 0, 1718, 0, 0, 1136, 1721, + 1722, 3280, 0, 0, 1724, 0, 3281, 1725, 0, 3284, + 3285, 3286, 0, 0, 1719, 1723, 0, 0, 0, 1720, + 0, 1726, 0, 0, 1727, 0, 0, 0, 0, 1724, + 0, 0, 1725, 0, 0, 0, 1718, 0, 3288, 0, + 0, 0, 1721, 1722, 0, 3289, 1726, 0, 0, 1727, + 0, 0, 0, 0, 1724, 1719, 0, 1725, 1723, 0, + 1720, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1726, 3290, 0, 1727, 0, 0, 0, 0, 0, + 0, 0, 0, 1721, 1722, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1724, 0, 1723, + 1725, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1726, 0, 0, 1727, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1728, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1724, 0, + 0, 1725, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1728, 1704, 0, 1726, 1705, 0, 1727, 0, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, 0, + 0, 3291, 0, 0, 0, 0, 0, 1728, 0, 0, + 0, 0, 1713, 0, 0, 0, 0, 0, 0, 0, + 3292, 0, 0, 1715, 0, 3293, 0, 0, 0, 0, + 1716, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1136, 0, 0, 3280, 0, -2235, -2235, + 1728, 3281, 0, 0, 3284, 3285, 3286, 1717, 0, 0, + 0, 0, 0, 0, 3296, 0, 0, 0, 1729, 0, + 0, 1730, 1731, 1732, 0, 1733, 1734, 1735, 1736, 1737, + 1738, 0, 0, 3288, 0, 3692, 0, 0, 0, 0, + 3289, 1728, 0, 1729, 0, 0, 1730, 1731, 1732, 0, + 1733, 1734, 1735, 1736, 1737, 1738, -2235, 0, 0, 0, + 3785, 0, 0, 0, 0, 0, 0, 3290, 1729, 0, + 2011, 1730, 1731, 1732, 0, 1733, 1734, 1735, 1736, 1737, + 1738, 0, 0, 0, 1704, 3813, 0, 1705, 0, 0, + 0, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, + 0, 0, 0, 0, 0, 0, 1718, 0, 0, 0, + 0, 1729, 0, 1713, 1730, 1731, 1732, 0, 1733, 1734, + 1735, 1736, 1737, 1738, 1715, 1719, 1893, 0, 0, 0, + 1720, 1716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1729, 1721, 1722, 1730, 1731, 1732, 1717, 1733, + 1734, 1735, 1736, 1737, 1738, 0, 3291, 2931, 0, 1723, + 0, 0, 0, 0, 0, 0, 3300, 0, 0, 0, + 0, 0, 0, 0, 0, 3292, 0, 0, 0, 0, + 3293, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1724, 0, + 0, 1725, 0, 3294, 3295, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1726, 0, 0, 1727, 3296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1683, 0, 0, 1684, 1685, - 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, 0, - 3349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1277, 0, 0, 1683, 0, 0, 1684, - 1685, 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, - 0, 3630, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 1278, 122, 123, 124, 1279, 1280, 1281, 925, 1282, - 125, 1283, 1284, 1285, 926, 127, 128, 1286, 129, 130, - 131, 927, 133, 134, 135, 928, 929, 930, 931, 932, - 1287, 141, 142, 143, 144, 145, 146, 1288, 1289, 147, - 148, 933, 934, 151, 1290, 152, 153, 154, 155, 935, - 1291, 936, 1292, 937, 159, 160, 161, 162, 163, 938, - 165, 166, 167, 1293, 168, 169, 170, 171, 172, 173, - 1294, 939, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 940, 941, 187, 1295, 188, 1296, 189, 190, - 191, 192, 193, 194, 1297, 195, 196, 197, 198, 199, - 200, 1298, 1299, 201, 202, 203, 204, 205, 206, 207, - 1300, 208, 209, 210, 1301, 211, 212, 213, 1302, 214, - 215, 216, 217, 942, 219, 220, 221, 222, 223, 943, - 1303, 225, 1304, 226, 227, 944, 229, 1305, 230, 1306, - 231, 945, 1307, 946, 234, 235, 947, 948, 238, 1308, - 239, 240, 1309, 1310, 949, 950, 243, 244, 1311, 245, - 246, 247, 248, 249, 250, 251, 951, 253, 254, 255, - 256, 1312, 257, 258, 259, 260, 261, 262, 263, 1313, - 264, 952, 953, 267, 268, 269, 270, 271, 954, 955, - 1314, 956, 1315, 275, 957, 958, 278, 959, 280, 281, - 282, 283, 284, 285, 286, 1316, 1317, 287, 960, 289, - 961, 1318, 291, 292, 293, 294, 295, 296, 297, 298, - 962, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 963, - 964, 965, 321, 322, 323, 324, 966, 1319, 326, 327, - 967, 329, 1320, 968, 331, 969, 333, 334, 335, 1321, - 336, 337, 1322, 1323, 338, 339, 340, 1324, 1325, 341, - 970, 971, 344, 972, 973, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 1326, 1327, 1328, - 1329, 359, 360, 974, 975, 363, 364, 976, 366, 367, - 368, 1330, 369, 370, 371, 372, 373, 374, 375, 376, - 1331, 377, 378, 379, 977, 381, 382, 383, 384, 1332, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 1333, 399, 400, 978, 402, 403, - 404, 979, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 1334, 980, 417, 418, 419, 420, 421, - 422, 981, 424, 425, 426, 427, 982, 429, 430, 983, - 432, 1335, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 984, 447, 985, 449, 1336, - 450, 451, 1337, 452, 986, 454, 455, 456, 457, 458, - 1338, 987, 988, 1339, 461, 1340, 462, 463, 989, 465, - 990, 1341, 467, 468, 991, 470, 471, 472, 473, 474, - 1342, 1343, 475, 476, 477, 1344, 478, 479, 480, 481, - 1345, 482, 483, 484, 485, 486, 1346, 993, 1347, 489, - 994, 491, 492, 493, 494, 495, 496, 497, 1348, 1349, - 498, 1350, 1351, 499, 500, 501, 502, 503, 504, 995, - 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, - 516, 517, 518, 519, 528, 0, 0, 0, 0, 0, - 0, 0, 0, 2104, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 122, 123, 124, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 0, 127, 128, 0, 129, - 130, 131, 0, 133, 134, 135, 136, 137, 0, 139, - 140, 0, 141, 142, 143, 144, 145, 146, 0, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 158, 159, 160, 161, 162, 163, - 0, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 0, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 0, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 0, 225, 0, 226, 227, 228, 229, 0, 230, - 0, 231, 0, 0, 0, 234, 235, 529, 0, 238, - 0, 239, 240, 0, 0, 241, 242, 243, 244, 0, - 245, 246, 247, 248, 249, 250, 251, 0, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 0, 266, 267, 268, 269, 270, 271, 272, - 273, 0, 274, 0, 275, 0, 0, 278, 0, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 0, - 289, 0, 0, 291, 292, 293, 294, 295, 296, 297, - 298, 530, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 0, 320, 321, 322, 323, 324, 325, 0, 326, - 327, 0, 329, 0, 330, 331, 332, 333, 334, 335, - 0, 336, 337, 0, 0, 338, 339, 340, 0, 0, - 341, 342, 0, 344, 0, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 0, 0, - 0, 0, 359, 360, 361, 0, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 0, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 0, 0, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 0, 429, 430, - 431, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 531, 447, 448, 449, - 0, 450, 451, 0, 452, 0, 454, 455, 456, 457, - 458, 0, 459, 460, 0, 461, 0, 462, 463, 464, - 465, 466, 0, 467, 468, 469, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 0, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 487, 488, 0, - 489, 0, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 0, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 528, 0, 0, 0, 0, - 0, 0, 0, 0, 2758, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 0, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 0, 0, 0, 0, 127, 128, 0, - 129, 130, 131, 0, 133, 134, 135, 136, 137, 0, - 139, 140, 0, 141, 142, 143, 144, 145, 146, 0, - 0, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 0, 0, 0, 158, 159, 160, 161, 162, - 163, 0, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 0, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 0, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 0, 225, 0, 226, 227, 228, 229, 0, - 230, 0, 231, 0, 0, 0, 234, 235, 529, 0, - 238, 0, 239, 240, 0, 0, 241, 242, 243, 244, - 0, 245, 246, 247, 248, 249, 250, 251, 0, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 0, 266, 267, 268, 269, 270, 271, - 272, 273, 0, 274, 0, 275, 0, 0, 278, 0, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 0, 289, 0, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 530, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 0, 320, 321, 322, 323, 324, 325, 0, - 326, 327, 0, 329, 0, 330, 331, 332, 333, 334, - 335, 0, 336, 337, 0, 0, 338, 339, 340, 0, - 0, 341, 342, 0, 344, 0, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 0, - 0, 0, 0, 359, 360, 361, 0, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 0, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 0, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 0, 429, - 430, 431, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 531, 447, 448, - 449, 0, 450, 451, 0, 452, 0, 454, 455, 456, - 457, 458, 0, 459, 460, 0, 461, 0, 462, 463, - 464, 465, 466, 0, 467, 468, 469, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 0, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 487, 488, - 0, 489, 0, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 0, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 924, 1507, 658, 0, - 0, 0, 1089, 0, 0, 2761, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 0, 122, 123, 124, 0, 0, - 0, 925, 0, 125, 0, 0, 0, 926, 127, 128, - 0, 129, 130, 131, 927, 133, 134, 135, 928, 929, - 930, 931, 932, 0, 141, 142, 143, 144, 145, 146, - 0, 0, 147, 148, 933, 934, 151, 0, 152, 153, - 154, 155, 935, 0, 936, 0, 937, 159, 160, 161, - 162, 163, 938, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 939, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 940, 941, 187, 1715, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 0, 0, 201, 202, 203, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 942, 219, 220, 221, - 222, 223, 943, 1508, 225, 0, 226, 227, 944, 229, - 0, 230, 0, 231, 945, 0, 946, 234, 235, 947, - 948, 238, 0, 239, 240, 0, 0, 949, 950, 243, - 244, 0, 245, 246, 247, 248, 249, 250, 251, 951, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 952, 953, 267, 268, 269, 270, - 271, 954, 955, 0, 956, 0, 275, 957, 958, 278, - 959, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 960, 289, 961, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 962, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 963, 964, 965, 321, 322, 323, 324, 966, - 0, 326, 327, 967, 329, 0, 968, 331, 969, 333, - 334, 335, 0, 336, 337, 1509, 0, 338, 339, 340, - 0, 0, 341, 970, 971, 344, 972, 973, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 974, 975, 363, 364, - 976, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 977, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 978, 402, 403, 404, 979, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 0, 980, 417, 418, - 419, 420, 421, 422, 981, 424, 425, 426, 427, 982, - 429, 430, 983, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 984, 447, - 985, 449, 0, 450, 451, 0, 452, 986, 454, 455, - 456, 457, 458, 0, 987, 988, 0, 461, 0, 462, - 463, 989, 465, 990, 1510, 467, 468, 991, 470, 471, - 472, 473, 474, 0, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 1346, - 993, 0, 489, 994, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 995, 996, 997, 998, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 516, 517, 518, 519, 924, 1507, 658, - 0, 0, 0, 1089, 1511, 1512, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 925, 0, 125, 0, 0, 0, 926, 127, - 128, 0, 129, 130, 131, 927, 133, 134, 135, 928, - 929, 930, 931, 932, 0, 141, 142, 143, 144, 145, - 146, 0, 0, 147, 148, 933, 934, 151, 0, 152, - 153, 154, 155, 935, 0, 936, 0, 937, 159, 160, - 161, 162, 163, 938, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 939, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 940, 941, 187, 1717, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 203, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 942, 219, 220, - 221, 222, 223, 943, 1508, 225, 0, 226, 227, 944, - 229, 0, 230, 0, 231, 945, 0, 946, 234, 235, - 947, 948, 238, 0, 239, 240, 0, 0, 949, 950, - 243, 244, 0, 245, 246, 247, 248, 249, 250, 251, - 951, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 952, 953, 267, 268, 269, - 270, 271, 954, 955, 0, 956, 0, 275, 957, 958, - 278, 959, 280, 281, 282, 283, 284, 285, 286, 0, - 0, 287, 960, 289, 961, 0, 291, 292, 293, 294, - 295, 296, 297, 298, 962, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 963, 964, 965, 321, 322, 323, 324, - 966, 0, 326, 327, 967, 329, 0, 968, 331, 969, - 333, 334, 335, 0, 336, 337, 1509, 0, 338, 339, - 340, 0, 0, 341, 970, 971, 344, 972, 973, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 974, 975, 363, - 364, 976, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 977, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 978, 402, 403, 404, 979, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 980, 417, - 418, 419, 420, 421, 422, 981, 424, 425, 426, 427, - 982, 429, 430, 983, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 984, - 447, 985, 449, 0, 450, 451, 0, 452, 986, 454, - 455, 456, 457, 458, 0, 987, 988, 0, 461, 0, - 462, 463, 989, 465, 990, 1510, 467, 468, 991, 470, - 471, 472, 473, 474, 0, 0, 475, 476, 477, 0, - 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 1346, 993, 0, 489, 994, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 995, 996, 997, 998, 999, 1000, 1001, - 1002, 1003, 1004, 1005, 516, 517, 518, 519, 924, 1507, - 658, 0, 0, 0, 1089, 1511, 1512, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 925, 0, 125, 0, 0, 0, 926, - 127, 128, 0, 129, 130, 131, 927, 133, 134, 135, - 928, 929, 930, 931, 932, 0, 141, 142, 143, 144, - 145, 146, 0, 0, 147, 148, 933, 934, 151, 0, - 152, 153, 154, 155, 935, 0, 936, 0, 937, 159, - 160, 161, 162, 163, 938, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 939, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 940, 941, 187, - 0, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 203, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 212, 213, 0, 214, 215, 216, 217, 942, 219, - 220, 221, 222, 223, 943, 1508, 225, 0, 226, 227, - 944, 229, 0, 230, 0, 231, 945, 0, 946, 234, - 235, 947, 948, 238, 0, 239, 240, 0, 0, 949, - 950, 243, 244, 0, 245, 246, 247, 248, 249, 250, - 251, 951, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 952, 953, 267, 268, - 269, 270, 271, 954, 955, 0, 956, 0, 275, 957, - 958, 278, 959, 280, 281, 282, 283, 284, 285, 286, - 0, 0, 287, 960, 289, 961, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 962, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 963, 964, 965, 321, 322, 323, - 324, 966, 0, 326, 327, 967, 329, 0, 968, 331, - 969, 333, 334, 335, 0, 336, 337, 1509, 0, 338, - 339, 340, 0, 0, 341, 970, 971, 344, 972, 973, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 0, 0, 0, 0, 359, 360, 974, 975, - 363, 364, 976, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 977, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 978, 402, 403, 404, 979, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 0, 980, - 417, 418, 419, 420, 421, 422, 981, 424, 425, 426, - 427, 982, 429, 430, 983, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 984, 447, 985, 449, 0, 450, 451, 0, 452, 986, - 454, 455, 456, 457, 458, 0, 987, 988, 0, 461, - 0, 462, 463, 989, 465, 990, 1510, 467, 468, 991, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 1346, 993, 0, 489, 994, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 0, 499, 500, - 501, 502, 503, 504, 995, 996, 997, 998, 999, 1000, - 1001, 1002, 1003, 1004, 1005, 516, 517, 518, 519, 0, - 0, 1658, 0, 0, 1659, 0, 1511, 1512, 1660, 1661, - 1662, 1663, 1664, 1665, 1666, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1718, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3297, 0, + 0, 3298, 0, 0, 0, 0, 1719, 0, 0, 0, + 0, 1720, 0, 0, 0, 2011, 0, 3301, 0, 0, + 3302, 3303, 3304, 0, 3305, 3306, 3307, 3308, 3309, 3310, + 0, 0, 0, 0, 1721, 1722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1667, 0, 0, 0, 0, 0, 2209, 0, 0, 0, - 0, 1669, 1658, 0, 0, 1659, 0, 0, 1670, 1660, - 1661, 1662, 1663, 1664, 1665, 1666, 0, 0, 0, 0, + 1723, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1667, 0, 1671, 0, 0, 0, 0, 0, 0, - 0, 0, 1669, 1658, 0, 0, 1659, 0, 0, 1670, - 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1724, + 0, 0, 1725, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1726, 0, 0, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1667, 0, 1671, 0, 0, 2210, 0, 0, - 0, 0, 0, 1669, 1658, 0, 0, 1659, 0, 0, - 1670, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, 0, + 0, 3300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1667, 0, 1671, 0, 0, 1960, 0, - 0, 0, 0, 0, 1669, 0, 0, 0, 0, 0, - 1672, 1670, 0, 0, 1658, 0, 0, 1659, 0, 0, - 0, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, 1673, - 0, 0, 0, 0, 1674, 0, 1671, 0, 0, 0, - 0, 1996, 0, 1667, 0, 0, 1997, 0, 0, 0, - 0, 1672, 0, 0, 1669, 0, 0, 1675, 1676, 0, - 0, 1670, 0, 0, 0, 0, 0, 0, 0, 0, - 1673, 0, 0, 1677, 0, 1674, 0, 0, 0, 0, - 0, 3803, 0, 0, 0, 0, 1671, 0, 0, 0, - 0, 0, 1672, 0, 0, 0, 0, 0, 1675, 1676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1678, 1673, 0, 1679, 1677, 0, 1674, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1680, 0, 0, - 1681, 0, 0, 1672, 0, 0, 0, 0, 0, 1675, - 1676, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1678, 1673, 0, 1679, 1677, 0, 1674, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1680, 0, - 0, 1681, 0, 0, 0, 0, 0, 0, 0, 0, - 1675, 1676, 0, 1672, 0, 0, 0, 0, 0, 0, - 0, 0, 1678, 0, 0, 1679, 1677, 0, 0, 0, - 0, 0, 1673, 0, 0, 0, 0, 1674, 0, 1680, - 0, 0, 1681, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1682, - 1675, 1676, 0, 1678, 0, 0, 1679, 0, 0, 0, - 0, 3804, 0, 0, 0, 0, 1677, 0, 0, 0, - 1680, 0, 0, 1681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1682, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1678, 0, 0, 1679, 0, 0, 0, - 0, 0, 0, 2213, 0, 0, 0, 0, 0, 0, - 1680, 0, 0, 1681, 0, 0, 0, 0, 0, 0, - 0, 1682, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1967, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1683, 0, 0, - 1684, 1685, 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, - 0, 0, 1682, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1658, 0, 0, 1659, 0, 0, 0, - 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, 1683, 0, - 0, 1684, 1685, 1686, 0, 1687, 1688, 1689, 1690, 1691, - 1692, 0, 1667, 0, 0, 0, 0, 2002, 0, 0, - 0, 0, 1682, 1669, 1658, 0, 0, 1659, 0, 0, - 1670, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, 1683, - 0, 0, 1684, 1685, 1686, 0, 1687, 1688, 1689, 1690, - 1691, 1692, 0, 1667, 0, 1671, 0, 0, 0, 0, - 0, 0, 0, 0, 1669, 0, 0, 0, 0, 0, - 0, 1670, 0, 0, 0, 0, 0, 0, 0, 0, - 1683, 0, 0, 1684, 1685, 1686, 0, 1687, 1688, 1689, - 1690, 1691, 1692, 0, 0, 0, 1671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1658, 0, 0, 1659, 0, 0, - 0, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, 0, - 1683, 0, 0, 1684, 1685, 1686, 0, 1687, 1688, 1689, - 1690, 1691, 1692, 1667, 0, 0, 0, 0, 2009, 0, - 0, 0, 1672, 0, 1669, 0, 1658, 0, 0, 1659, - 0, 1670, 0, 1660, 1661, 1662, 1663, 1664, 1665, 1666, - 0, 1673, 0, 0, 0, 0, 1674, 0, 0, 0, - 0, 0, 0, 0, 0, 1667, 1671, 0, 2007, 0, - 0, 0, 0, 1672, 0, 0, 1669, 0, 0, 1675, - 1676, 0, 0, 1670, 0, 0, 0, 0, 0, 0, - 0, 0, 1673, 0, 0, 1677, 0, 1674, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1671, 0, + 0, 0, 1729, 0, 0, 1730, 1731, 1732, 0, 1733, + 1734, 1735, 1736, 1737, 1738, 0, 0, 3462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1675, 1676, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1678, 0, 0, 1679, 1677, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1680, - 0, 0, 1681, 0, 0, 0, 0, 0, 0, 1658, - 0, 0, 1659, 1672, 0, 0, 1660, 1661, 1662, 1663, - 1664, 1665, 1666, 1678, 0, 0, 1679, 0, 0, 0, - 0, 0, 1673, 0, 0, 0, 0, 1674, 1667, 0, - 1680, 0, 0, 1681, 0, 2097, 0, 0, 0, 1669, - 0, 0, 0, 0, 0, 1672, 1670, 0, 0, 0, - 1675, 1676, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1673, 0, 1677, 0, 0, 1674, - 0, 1671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1682, 1675, 1676, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1678, 0, 0, 1679, 0, 1677, 0, + 0, 0, 1728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1680, 0, 0, 1681, 0, 0, 0, 0, 0, 0, - 0, 0, 1682, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1678, 0, 0, 1679, 0, + 0, 0, 3301, 0, 0, 3302, 3303, 3304, 0, 3305, + 3306, 3307, 3308, 3309, 3310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1680, 0, 0, 1681, 0, 0, 1672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1673, 0, 0, - 0, 0, 1674, 0, 0, 0, 0, 0, 0, 1683, - 0, 0, 1684, 1685, 1686, 0, 1687, 1688, 1689, 1690, - 1691, 1692, 0, 0, 0, 1675, 1676, 0, 0, 0, - 0, 0, 1682, 0, 0, 1658, 0, 0, 1659, 0, - 0, 1677, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, - 1683, 0, 0, 1684, 1685, 1686, 0, 1687, 1688, 1689, - 1690, 1691, 1692, 0, 1667, 0, 0, 0, 0, 2815, - 0, 0, 0, 0, 1682, 1669, 0, 0, 1678, 0, - 0, 1679, 1670, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1680, 0, 0, 1681, 0, - 0, 0, 0, 0, 0, 0, 1658, 1671, 0, 1659, - 0, 0, 0, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1667, 0, 0, 0, 0, - 1683, 0, 0, 1684, 1685, 1686, 1669, 1687, 1688, 1689, - 1690, 1691, 1692, 1670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1671, 0, - 0, 0, 1683, 0, 0, 1684, 1685, 1686, 0, 1687, - 1688, 1689, 1690, 1691, 1692, 0, 0, 1682, 1658, 0, - 0, 1659, 0, 0, 1672, 1660, 1661, 1662, 1663, 1664, - 1665, 1666, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1673, 0, 0, 0, 1667, 1674, 1658, - 0, 2804, 1659, 0, 0, 0, 1660, 1661, 1669, 0, - 1664, 1665, 1666, 0, 0, 1670, 0, 0, 0, 0, - 0, 1675, 1676, 0, 0, 0, 0, 0, 1667, 0, - 0, 0, 0, 0, 0, 0, 0, 1677, 0, 1669, - 1671, 0, 0, 0, 0, 1672, 1670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1673, 0, 0, 0, 0, 1674, - 0, 1671, 0, 0, 1678, 1683, 0, 1679, 1684, 1685, - 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, 0, 0, - 0, 1680, 1675, 1676, 1681, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1088, 0, 0, 3175, 0, 0, 0, 1672, 3176, 0, - 0, 3179, 3180, 3181, 0, 1678, 0, 0, 1679, 0, - 0, 0, 0, 0, 0, 0, 1673, 0, 0, 3182, - 0, 1674, 1680, 0, 0, 1681, 0, 0, 1672, 0, - 3183, 0, 0, 0, 0, 0, 0, 3184, 0, 0, - 0, 0, 0, 0, 1675, 1676, 0, 1673, 0, 0, - 0, 0, 1674, 1682, 0, 0, 0, 0, 0, 0, - 1677, 0, 3185, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1675, 1676, 0, 0, 0, - 0, 0, 1088, 0, 0, 3175, 0, 0, 0, 0, - 3176, 1677, 0, 3179, 3180, 3181, 0, 1678, 0, 0, - 1679, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3182, 0, 0, 1680, 0, 0, 1681, 0, 0, - 0, 0, 3183, 0, 1682, 0, 0, 0, 1678, 3184, - 0, 1679, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1680, 0, 0, 0, 0, - 0, 0, 0, 0, 3185, 0, 0, 0, 0, 3186, - 0, 1683, 0, 0, 1684, 1685, 1686, 0, 1687, 1688, - 1689, 1690, 1691, 1692, 0, 0, 0, 0, 3187, 0, - 0, 0, 0, 3188, 0, 0, 0, 0, 0, 0, + 579, 0, 0, 1729, 0, 0, 1730, 1731, 1732, 0, + 1733, 1734, 1735, 1736, 1737, 1738, 0, 0, 3746, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 580, 129, + 130, 131, 581, 582, 583, 584, 585, 132, 586, 587, + 588, 589, 134, 135, 590, 136, 137, 138, 591, 140, + 141, 142, 592, 593, 594, 595, 596, 597, 148, 149, + 150, 151, 152, 153, 598, 599, 154, 155, 156, 157, + 600, 601, 160, 602, 161, 162, 163, 164, 603, 604, + 605, 606, 607, 168, 169, 170, 171, 172, 608, 174, + 175, 176, 609, 177, 178, 179, 180, 181, 182, 610, + 611, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 613, 195, 196, 614, 198, 615, 199, 616, 200, + 201, 202, 203, 204, 205, 617, 618, 206, 207, 208, + 209, 210, 619, 620, 211, 212, 213, 214, 215, 216, + 217, 621, 218, 219, 220, 622, 221, 222, 223, 623, + 224, 225, 226, 227, 624, 229, 230, 231, 232, 233, + 625, 626, 235, 627, 236, 237, 628, 239, 629, 240, + 630, 241, 631, 632, 633, 244, 245, 634, 635, 248, + 636, 249, 250, 637, 638, 639, 640, 253, 254, 641, + 255, 256, 257, 258, 259, 260, 261, 642, 263, 264, + 265, 266, 643, 267, 268, 269, 270, 271, 272, 273, + 644, 274, 645, 646, 277, 278, 279, 280, 281, 647, + 648, 649, 650, 651, 285, 652, 653, 288, 654, 290, + 291, 292, 293, 294, 295, 296, 655, 656, 297, 657, + 299, 658, 659, 301, 302, 303, 304, 305, 306, 307, + 308, 660, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 661, 662, 663, 333, 334, 335, 336, 664, + 665, 338, 339, 666, 341, 667, 668, 343, 669, 345, + 346, 347, 670, 348, 349, 671, 672, 350, 351, 352, + 673, 674, 353, 354, 675, 676, 357, 677, 678, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 679, 680, 681, 682, 373, 374, 683, 684, + 377, 378, 685, 380, 381, 382, 686, 383, 384, 385, + 386, 387, 388, 389, 390, 687, 391, 392, 393, 688, + 395, 396, 397, 398, 689, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 690, + 413, 414, 691, 416, 417, 418, 692, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 693, 694, 433, 434, 435, 436, 437, 438, 695, 440, + 441, 442, 696, 697, 444, 445, 698, 447, 699, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 700, 462, 701, 702, 703, 464, 465, 704, + 466, 705, 468, 469, 470, 471, 472, 706, 473, 707, + 708, 709, 476, 710, 477, 478, 711, 480, 712, 713, + 482, 483, 714, 485, 486, 487, 488, 489, 715, 716, + 490, 491, 492, 717, 493, 494, 495, 496, 718, 497, + 498, 499, 500, 501, 719, 720, 721, 504, 722, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 723, 724, + 515, 725, 726, 516, 517, 518, 519, 520, 521, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, + 0, 0, 0, 2168, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 0, 129, 130, 131, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 134, 135, 0, 136, + 137, 138, 0, 140, 141, 142, 143, 144, 0, 146, + 147, 0, 148, 149, 150, 151, 152, 153, 0, 0, + 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, + 163, 164, 165, 0, 0, 0, 167, 168, 169, 170, + 171, 172, 0, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 0, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 213, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 0, 235, 0, 236, 237, + 238, 239, 0, 240, 0, 241, 0, 0, 0, 244, + 245, 546, 0, 248, 0, 249, 250, 0, 0, 251, + 252, 253, 254, 0, 255, 256, 257, 258, 259, 260, + 261, 0, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 0, 276, 277, 278, + 279, 280, 281, 282, 283, 0, 284, 0, 285, 0, + 0, 288, 0, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 0, 299, 0, 0, 301, 302, 303, + 304, 305, 306, 307, 308, 547, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 332, 333, + 334, 335, 336, 337, 0, 338, 339, 0, 341, 0, + 342, 343, 344, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 355, 0, + 357, 0, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 375, 0, 377, 378, 379, 380, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, + 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 0, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 0, 0, 444, 445, + 446, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 548, 462, 463, 0, + 0, 464, 465, 0, 466, 0, 468, 469, 470, 471, + 472, 0, 473, 474, 475, 0, 476, 0, 477, 478, + 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 492, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 502, 503, + 0, 504, 0, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 545, 0, + 0, 0, 0, 0, 0, 0, 0, 2831, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 0, 129, 130, 131, + 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, + 134, 135, 0, 136, 137, 138, 0, 140, 141, 142, + 143, 144, 0, 146, 147, 0, 148, 149, 150, 151, + 152, 153, 0, 0, 154, 155, 156, 157, 158, 159, + 160, 0, 161, 162, 163, 164, 165, 0, 0, 0, + 167, 168, 169, 170, 171, 172, 0, 174, 175, 176, + 0, 177, 178, 179, 180, 181, 182, 0, 0, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 0, 199, 0, 200, 201, 202, + 203, 204, 205, 0, 0, 206, 207, 208, 209, 210, + 0, 0, 211, 212, 213, 214, 215, 216, 217, 0, + 218, 219, 220, 0, 221, 222, 223, 0, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 0, + 235, 0, 236, 237, 238, 239, 0, 240, 0, 241, + 0, 0, 0, 244, 245, 546, 0, 248, 0, 249, + 250, 0, 0, 251, 252, 253, 254, 0, 255, 256, + 257, 258, 259, 260, 261, 0, 263, 264, 265, 266, + 0, 267, 268, 269, 270, 271, 272, 273, 0, 274, + 0, 276, 277, 278, 279, 280, 281, 282, 283, 0, + 284, 0, 285, 0, 0, 288, 0, 290, 291, 292, + 293, 294, 295, 296, 0, 0, 297, 0, 299, 0, + 0, 301, 302, 303, 304, 305, 306, 307, 308, 547, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 332, 333, 334, 335, 336, 337, 0, 338, + 339, 0, 341, 0, 342, 343, 344, 345, 346, 347, + 0, 348, 349, 0, 0, 350, 351, 352, 0, 0, + 353, 354, 355, 0, 357, 0, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 0, 0, 0, 0, 373, 374, 375, 0, 377, 378, + 379, 380, 381, 382, 0, 383, 384, 385, 386, 387, + 388, 389, 390, 0, 391, 392, 393, 394, 395, 396, + 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 0, 413, 414, + 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 0, 0, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 0, 0, 444, 445, 446, 447, 0, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 548, 462, 463, 0, 0, 464, 465, 0, 466, 0, + 468, 469, 470, 471, 472, 0, 473, 474, 475, 0, + 476, 0, 477, 478, 479, 480, 481, 0, 482, 483, + 484, 485, 486, 487, 488, 489, 0, 0, 490, 491, + 492, 0, 493, 494, 495, 496, 0, 497, 498, 499, + 500, 501, 502, 503, 0, 504, 0, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 0, 0, 515, 0, + 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 1052, 1434, 843, 0, 0, 0, 1137, 0, + 0, 2834, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 0, 0, 0, 584, 0, 132, + 0, 0, 0, 589, 134, 135, 0, 136, 137, 138, + 591, 140, 141, 142, 592, 593, 594, 595, 596, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 600, 601, 160, 0, 161, 162, 163, 164, + 603, 0, 605, 0, 607, 168, 169, 170, 171, 172, + 608, 174, 175, 176, 0, 177, 178, 179, 180, 181, + 182, 0, 611, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 613, 195, 196, 614, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 0, 0, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 213, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 221, 222, + 223, 0, 224, 225, 226, 227, 624, 229, 230, 231, + 232, 233, 625, 1435, 235, 0, 236, 237, 628, 239, + 0, 240, 0, 241, 631, 0, 633, 244, 245, 634, + 635, 248, 0, 249, 250, 0, 0, 639, 640, 253, + 254, 0, 255, 256, 257, 258, 259, 260, 261, 642, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 645, 646, 277, 278, 279, 280, + 281, 647, 648, 0, 650, 0, 285, 652, 653, 288, + 654, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 657, 299, 658, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 660, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 661, 662, 663, 333, 334, 335, + 336, 664, 0, 338, 339, 666, 341, 0, 668, 343, + 669, 345, 346, 347, 0, 348, 349, 1436, 0, 350, + 351, 352, 0, 0, 353, 354, 675, 676, 357, 677, + 678, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 0, 0, 0, 0, 373, 374, + 683, 684, 377, 378, 685, 380, 381, 382, 0, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, + 393, 688, 395, 396, 397, 398, 0, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 0, 413, 414, 691, 416, 417, 418, 692, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 0, 694, 433, 434, 435, 436, 437, 438, + 695, 440, 441, 442, 0, 697, 444, 445, 698, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 700, 462, 701, 0, 0, 464, + 465, 0, 466, 705, 468, 469, 470, 471, 472, 0, + 473, 707, 708, 0, 476, 0, 477, 478, 711, 480, + 712, 1437, 482, 483, 714, 485, 486, 487, 488, 489, + 0, 0, 490, 491, 492, 0, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 719, 720, 0, 504, + 722, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 0, 516, 517, 518, 519, 520, + 521, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 533, 534, 535, 536, 0, 0, 1704, 0, + 0, 1705, 0, 1438, 1439, 1706, 1707, 1708, 1709, 1710, + 1711, 1712, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1713, 0, 0, + 0, 0, 0, 2274, 0, 0, 0, 0, 1715, 1704, + 0, 0, 1705, 0, 0, 1716, 1706, 1707, 1708, 1709, + 1710, 1711, 1712, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1713, 0, + 0, 0, 1717, 0, 0, 0, 0, 0, 0, 1715, + 1704, 0, 0, 1705, 0, 0, 1716, 1706, 1707, 1708, + 1709, 1710, 1711, 1712, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1713, + 0, 0, 0, 1717, 0, 0, 0, 0, 2275, 0, + 1715, 0, 0, 1704, 0, 0, 1705, 1716, 0, 0, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3189, 3190, 0, 0, - 0, 0, 0, 0, 0, 0, 1682, 0, 0, 0, - 0, 0, 3191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1683, 0, 0, 1684, 1685, 1686, 0, 1687, - 1688, 1689, 1690, 1691, 1692, 0, 0, 1682, 0, 0, - 0, 3186, 0, 0, 0, 0, 0, 0, 0, 3192, - 0, 0, 3193, 0, 0, 0, 0, 0, 0, 0, - 3187, 0, 0, 0, 0, 3188, 1980, 0, 0, 3194, + 0, 0, 1713, 0, 1717, 0, 0, 1991, 0, 0, + 0, 0, 0, 1715, 0, 0, 0, 0, 0, 0, + 1716, 1718, 0, 0, 1704, 0, 0, 1705, 0, 0, + 0, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, + 1719, 0, 0, 0, 0, 1720, 0, 1717, 0, 0, + 0, 0, 2027, 1713, 0, 0, 0, 2028, 0, 0, + 0, 0, 1718, 0, 1715, 0, 0, 0, 1721, 1722, + 0, 1716, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1719, 0, 0, 1723, 0, 1720, 0, 0, 0, + 0, 0, 3921, 0, 0, 0, 0, 0, 1717, 0, + 0, 0, 0, 1718, 0, 0, 0, 0, 0, 1721, + 1722, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1719, 1724, 0, 1723, 1725, 1720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3189, 3190, + 1726, 0, 0, 1727, 0, 0, 1718, 0, 0, 0, + 1721, 1722, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1724, 1719, 1723, 1725, 0, 0, + 1720, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1726, 0, 0, 1727, 0, 0, 0, 0, 0, + 0, 0, 0, 1721, 1722, 0, 0, 1718, 0, 0, + 0, 0, 0, 0, 0, 1724, 0, 0, 1725, 1723, + 0, 0, 0, 0, 0, 0, 1719, 0, 0, 0, + 0, 1720, 1726, 0, 0, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1683, 0, 0, 1684, 1685, 1686, - 0, 1687, 1688, 1689, 1690, 2230, 1692, 0, 0, 0, + 0, 0, 0, 0, 1721, 1722, 1728, 0, 1724, 0, + 0, 1725, 0, 0, 0, 0, 3922, 0, 0, 0, + 1723, 0, 0, 0, 0, 1726, 0, 0, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3192, 0, 0, 3193, 1683, 0, 0, 1684, 1685, - 1686, 0, 1687, 1688, 1689, 1690, 1691, 1692, 1980, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3195, 0, + 0, 0, 0, 0, 0, 0, 0, 1728, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1724, + 0, 0, 1725, 0, 0, 0, 0, 0, 0, 0, + 0, 2278, 0, 0, 0, 0, 1726, 0, 0, 1727, + 0, 0, 0, 0, 0, 0, 0, 0, 1728, 0, + 1704, 0, 0, 1705, 0, 0, 0, 1706, 1707, 1708, + 1709, 1710, 1711, 1712, 1998, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1729, 0, 1713, + 1730, 1731, 1732, 0, 1733, 1734, 1735, 1736, 1737, 1738, + 1715, 1728, 0, 0, 0, 0, 0, 1716, 0, 0, + 0, 0, 0, 1704, 0, 0, 1705, 0, 0, 0, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 1729, 0, + 0, 1730, 1731, 1732, 1717, 1733, 1734, 1735, 1736, 1737, + 1738, 0, 1713, 0, 0, 0, 0, 2033, 0, 0, + 0, 0, 1728, 1715, 0, 0, 0, 0, 0, 0, + 1716, 0, 0, 0, 0, 0, 0, 0, 0, 1729, + 0, 0, 1730, 1731, 1732, 0, 1733, 1734, 1735, 1736, + 1737, 1738, 0, 0, 0, 0, 0, 1717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1729, 0, 0, 1730, 1731, 1732, 0, 1733, + 1734, 1735, 1736, 1737, 1738, 0, 0, 0, 2038, 0, + 0, 0, 0, 1718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1719, 0, 0, 0, 0, 1720, 0, 0, + 0, 0, 0, 1729, 0, 0, 1730, 1731, 1732, 0, + 1733, 1734, 1735, 1736, 1737, 1738, 0, 0, 0, 0, + 1721, 1722, 0, 0, 0, 0, 1718, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1723, 0, 0, 0, + 0, 0, 0, 0, 0, 1719, 0, 0, 0, 0, + 1720, 1704, 0, 0, 1705, 0, 0, 0, 1706, 1707, + 1708, 1709, 1710, 1711, 1712, 0, 0, 0, 0, 0, + 0, 0, 0, 1721, 1722, 1724, 0, 0, 1725, 0, + 1713, 0, 0, 0, 0, 2040, 0, 0, 0, 1723, + 0, 1715, 1726, 0, 0, 1727, 0, 0, 1716, 0, + 0, 0, 0, 1704, 0, 0, 1705, 0, 0, 0, + 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, 0, 0, + 0, 0, 0, 0, 0, 1717, 0, 0, 1724, 0, + 0, 1725, 1713, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1715, 0, 1726, 0, 0, 1727, 0, + 1716, 0, 0, 0, 0, 1704, 0, 0, 1705, 0, + 0, 0, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, + 0, 0, 0, 0, 0, 0, 0, 1717, 0, 0, + 0, 0, 0, 0, 1713, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1715, 0, 0, 1728, 0, + 0, 0, 1716, 0, 0, 0, 0, 1704, 0, 0, + 1705, 0, 0, 0, 1706, 1707, 1708, 1709, 1710, 1711, + 1712, 0, 0, 0, 1718, 0, 0, 0, 0, 1717, + 0, 0, 0, 0, 0, 0, 1713, 0, 0, 0, + 0, 2908, 0, 1719, 0, 0, 0, 1715, 1720, 0, + 0, 1728, 0, 0, 1716, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2161, 0, 0, 0, + 0, 1721, 1722, 0, 0, 0, 1718, 0, 0, 0, + 0, 1717, 0, 0, 0, 0, 0, 1723, 0, 0, + 0, 0, 0, 0, 0, 1719, 0, 0, 0, 0, + 1720, 0, 0, 0, 0, 0, 0, 0, 0, 1729, + 0, 0, 1730, 1731, 1732, 0, 1733, 1734, 1735, 1736, + 1737, 1738, 0, 1721, 1722, 0, 1724, 0, 1718, 1725, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1723, + 0, 0, 0, 1726, 0, 0, 1727, 1719, 0, 0, + 0, 0, 1720, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1729, 0, 0, 1730, 1731, 1732, 0, 1733, + 1734, 1735, 1736, 1737, 1738, 1721, 1722, 0, 1724, 0, + 1718, 1725, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1723, 0, 0, 0, 1726, 0, 0, 1727, 1719, + 0, 0, 0, 0, 1720, 1704, 0, 0, 1705, 0, + 0, 0, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 0, + 0, 0, 0, 0, 0, 0, 0, 1721, 1722, 0, + 1724, 0, 0, 1725, 1713, 0, 0, 0, 0, 0, + 0, 0, 0, 1723, 0, 1715, 0, 1726, 0, 1728, + 1727, 0, 1716, 0, 0, 0, 0, 1704, 0, 0, + 1705, 0, 0, 0, 1706, 1707, 1708, 1709, 1710, 1711, + 1712, 0, 0, 0, 0, 0, 0, 0, 0, 1717, + 0, 0, 1724, 0, 0, 1725, 1713, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1715, 0, 1726, + 0, 1728, 1727, 0, 1716, 0, 0, 0, 0, 1704, + 0, 0, 1705, 0, 0, 0, 1706, 1707, 1708, 1709, + 1710, 1711, 1712, 0, 0, 0, 0, 0, 0, 0, + 0, 1717, 0, 0, 0, 0, 0, 0, 1713, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1715, + 0, 0, 0, 1728, 0, 0, 1716, 0, 0, 0, + 1729, 0, 0, 1730, 1731, 1732, 0, 1733, 1734, 1735, + 1736, 1737, 1738, 0, 0, 0, 0, 0, 1718, 0, + 0, 0, 0, 1717, 0, 0, 0, 2895, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1719, 0, 0, + 0, 0, 1720, 0, 0, 1728, 0, 0, 0, 0, + 0, 0, 1729, 0, 0, 1730, 1731, 1732, 0, 1733, + 1734, 1735, 1736, 1737, 1738, 1721, 1722, 0, 0, 0, + 1718, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1723, 0, 0, 0, 0, 0, 0, 0, 1719, + 0, 0, 0, 0, 1720, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1729, 0, 0, 1730, 1731, 1732, + 0, 1733, 1734, 1735, 1736, 1737, 1738, 1903, 1722, 0, + 1724, 0, 1718, 1725, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1723, 0, 0, 0, 1726, 0, 0, + 1727, 1719, 0, 0, 0, 0, 1720, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1729, 0, 0, 1730, + 1731, 1732, 0, 1733, 1734, 1735, 1736, 1737, 1738, 1721, + 1722, 0, 1724, 0, 0, 1725, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1723, 0, 0, 0, 1726, + 0, 0, 1727, 0, 0, 0, 0, 0, 0, 1136, + 0, 0, 3280, 0, 0, 0, 0, 3281, 3282, 3283, + 3284, 3285, 3286, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1724, 0, 0, 1725, 3287, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3288, + 0, 1726, 0, 1728, 1727, 0, 3289, 0, 0, 0, + 0, 1704, 0, 0, 1705, 0, 0, 0, 1706, 1707, + 0, 0, 1710, 1711, 1712, 0, 0, 0, 0, 0, + 0, 0, 0, 3290, 0, 0, 0, 0, 0, 0, + 1713, 1136, 0, 0, 3280, 0, 0, 0, 0, 3281, + 0, 1715, 3284, 3285, 3286, 1728, 0, 0, 1716, 0, + 0, 0, 0, 1136, 0, 0, 3280, 0, 0, 0, + 3287, 3281, 0, 0, 3284, 3285, 3286, 0, 0, 0, + 0, 3288, 0, 0, 0, 1717, 0, 0, 3289, 0, + 0, 0, 3287, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3288, 0, 0, 0, 1728, 0, 0, + 3289, 0, 0, 0, 1729, 3290, 0, 1730, 1731, 1732, + 0, 1733, 1734, 1735, 1736, 1737, 1738, 0, 0, 0, + 0, 0, 3291, 0, 0, 0, 0, 3290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3292, 0, 0, 0, 0, 3293, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1729, 0, 0, 1730, + 1731, 1732, 0, 1733, 1734, 1735, 1736, 1737, 1738, 3294, + 3295, 0, 0, 0, 1718, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3296, 0, 0, 0, 0, + 0, 0, 0, 1719, 0, 0, 0, 0, 1720, 0, + 0, 0, 0, 0, 3291, 0, 0, 0, 1729, 0, + 0, 1730, 1731, 1732, 0, 1733, 1734, 1735, 1736, 2295, + 1738, 1721, 1722, 3292, 3297, 0, 3291, 3298, 3293, 0, + 0, 0, 0, 0, 0, 0, 0, 1723, 0, 0, + 0, 2011, 0, 0, 3299, 3292, 0, 0, 0, 0, + 3293, 3294, 3295, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3296, 0, 0, + 0, 0, 0, 3294, 3295, 0, 1724, 0, 0, 1725, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3296, + 0, 0, 0, 1726, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3297, 0, 0, 3298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2011, 0, 0, 3299, 0, 3297, 0, + 0, 3298, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2011, 0, 3300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3195, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3196, 0, 0, 3197, - 3198, 3199, 0, 3200, 3201, 3202, 3203, 3204, 3205, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3300, 0, 0, 0, 0, 0, 0, 3301, 0, + 0, 3302, 3303, 3304, 0, 3305, 3306, 3307, 3308, 3309, + 3310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1277, 0, 2119, 0, 0, 0, 3196, 0, - 0, 3197, 3198, 3199, 0, 3200, 3201, 3202, 3203, 3204, - 3205, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 1278, 122, 123, 124, 1279, 1280, 1281, 925, 1282, 125, - 1283, 1284, 1285, 926, 127, 128, 1286, 129, 130, 131, - 927, 133, 134, 135, 928, 929, 930, 931, 932, 1287, - 141, 142, 143, 144, 145, 146, 1288, 1289, 147, 148, - 933, 934, 151, 1290, 152, 153, 154, 155, 935, 1291, - 936, 1292, 937, 159, 160, 161, 162, 163, 938, 165, - 166, 167, 1293, 168, 169, 170, 171, 172, 173, 1294, - 939, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 940, 941, 187, 1295, 188, 1296, 189, 190, 191, - 192, 193, 194, 1297, 195, 196, 197, 198, 199, 200, - 1298, 1299, 201, 202, 203, 204, 205, 206, 207, 1300, - 208, 209, 210, 1301, 211, 212, 213, 1302, 214, 215, - 216, 217, 942, 219, 220, 221, 222, 223, 943, 1303, - 225, 1304, 226, 227, 944, 229, 1305, 230, 1306, 231, - 945, 1307, 946, 234, 235, 947, 948, 238, 1308, 239, - 240, 1309, 1310, 949, 950, 243, 244, 1311, 245, 246, - 247, 248, 249, 250, 251, 951, 253, 254, 255, 256, - 1312, 257, 258, 259, 260, 261, 262, 263, 1313, 264, - 952, 953, 267, 268, 269, 270, 271, 954, 955, 1314, - 956, 1315, 275, 957, 958, 278, 959, 280, 281, 282, - 283, 284, 285, 286, 1316, 1317, 287, 960, 289, 961, - 1318, 291, 292, 293, 294, 295, 296, 297, 298, 962, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 963, 964, - 965, 321, 322, 323, 324, 966, 1319, 326, 327, 967, - 329, 1320, 968, 331, 969, 333, 334, 335, 1321, 336, - 337, 1322, 1323, 338, 339, 340, 1324, 1325, 341, 970, - 971, 344, 972, 973, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 1326, 1327, 1328, 1329, - 359, 360, 974, 975, 363, 364, 976, 366, 367, 368, - 1330, 369, 370, 371, 372, 373, 374, 375, 376, 1331, - 377, 378, 379, 977, 381, 382, 383, 384, 1332, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 1333, 399, 400, 978, 402, 403, 404, - 979, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 1334, 980, 417, 418, 419, 420, 421, 422, - 981, 424, 425, 426, 427, 982, 429, 430, 983, 432, - 1335, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 984, 447, 985, 449, 1336, 450, - 451, 1337, 452, 986, 454, 455, 456, 457, 458, 1338, - 987, 988, 1339, 461, 1340, 462, 463, 989, 465, 990, - 1341, 467, 468, 991, 470, 471, 472, 473, 474, 1342, - 1343, 475, 476, 477, 1344, 478, 479, 480, 481, 1345, - 482, 483, 484, 485, 486, 1346, 993, 1347, 489, 994, - 491, 492, 493, 494, 495, 496, 497, 1348, 1349, 498, - 1350, 1351, 499, 500, 501, 502, 503, 504, 995, 996, - 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 516, - 517, 518, 519, 1277, 0, 0, 0, 0, 0, 0, + 1729, 0, 0, 1730, 1731, 1732, 0, 1733, 1734, 1735, + 1736, 1737, 1738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 1278, 122, 123, 124, 1279, 1280, 1281, 925, 1282, - 125, 1283, 1284, 1285, 926, 127, 128, 1286, 129, 130, - 131, 927, 133, 134, 135, 928, 929, 930, 931, 932, - 1287, 141, 142, 143, 144, 145, 146, 1288, 1289, 147, - 148, 933, 934, 151, 1290, 152, 153, 154, 155, 935, - 1291, 936, 1292, 937, 159, 160, 161, 162, 163, 938, - 165, 166, 167, 1293, 168, 169, 170, 171, 172, 173, - 1294, 939, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 940, 941, 187, 1295, 188, 1296, 189, 190, - 191, 192, 193, 194, 1297, 195, 196, 197, 198, 199, - 200, 1298, 1299, 201, 202, 203, 204, 205, 206, 207, - 1300, 208, 209, 210, 1301, 211, 212, 213, 1302, 214, - 215, 216, 217, 942, 219, 220, 221, 222, 223, 943, - 1303, 225, 1304, 226, 227, 944, 229, 1305, 230, 1306, - 231, 945, 1307, 946, 234, 235, 947, 948, 238, 1308, - 239, 240, 1309, 1310, 949, 950, 243, 244, 1311, 245, - 246, 247, 248, 249, 250, 251, 951, 253, 254, 255, - 256, 1312, 257, 258, 259, 260, 261, 262, 263, 1313, - 264, 952, 953, 267, 268, 269, 270, 271, 954, 955, - 1314, 956, 1315, 275, 957, 958, 278, 959, 280, 281, - 282, 283, 284, 285, 286, 1316, 1317, 287, 960, 289, - 961, 1318, 291, 292, 293, 294, 295, 296, 297, 298, - 962, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 963, - 964, 965, 321, 322, 323, 324, 966, 1319, 326, 327, - 967, 329, 1320, 968, 331, 969, 333, 334, 335, 1321, - 336, 337, 1322, 1323, 338, 339, 340, 1324, 1325, 341, - 970, 971, 344, 972, 973, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 1326, 1327, 1328, - 1329, 359, 360, 974, 975, 363, 364, 976, 366, 367, - 368, 1330, 369, 370, 371, 372, 373, 374, 375, 376, - 1331, 377, 378, 379, 977, 381, 382, 383, 384, 1332, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 1333, 399, 400, 978, 402, 403, - 404, 979, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 1334, 980, 417, 418, 419, 420, 421, - 422, 981, 424, 425, 426, 427, 982, 429, 430, 983, - 432, 1335, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 984, 447, 985, 449, 1336, - 450, 451, 1337, 452, 986, 454, 455, 456, 457, 458, - 1338, 987, 988, 1339, 461, 1340, 462, 463, 989, 465, - 990, 1341, 467, 468, 991, 470, 471, 472, 473, 474, - 1342, 1343, 475, 476, 477, 1344, 478, 479, 480, 481, - 1345, 482, 483, 484, 485, 486, 1346, 993, 1347, 489, - 994, 491, 492, 493, 494, 495, 496, 497, 1348, 1349, - 498, 1350, 1351, 499, 500, 501, 502, 503, 504, 995, - 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, - 516, 517, 518, 519, 1277, 0, 0, 0, 0, 0, + 3301, 0, 0, 3302, 3303, 3304, 0, 3305, 3306, 3307, + 3308, 3309, 3310, 0, 0, 0, 579, 0, 2184, 0, + 0, 0, 3301, 0, 0, 3302, 3303, 3304, 0, 3305, + 3306, 3307, 3308, 3309, 3310, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 580, 129, 130, 131, 581, 582, + 583, 584, 585, 132, 586, 587, 588, 589, 134, 135, + 590, 136, 137, 138, 591, 140, 141, 142, 592, 593, + 594, 595, 596, 597, 148, 149, 150, 151, 152, 153, + 598, 599, 154, 155, 156, 157, 600, 601, 160, 602, + 161, 162, 163, 164, 603, 604, 605, 606, 607, 168, + 169, 170, 171, 172, 608, 174, 175, 176, 609, 177, + 178, 179, 180, 181, 182, 610, 611, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 613, 195, 196, + 614, 198, 615, 199, 616, 200, 201, 202, 203, 204, + 205, 617, 618, 206, 207, 208, 209, 210, 619, 620, + 211, 212, 213, 214, 215, 216, 217, 621, 218, 219, + 220, 622, 221, 222, 223, 623, 224, 225, 226, 227, + 624, 229, 230, 231, 232, 233, 625, 626, 235, 627, + 236, 237, 628, 239, 629, 240, 630, 241, 631, 632, + 633, 244, 245, 634, 635, 248, 636, 249, 250, 637, + 638, 639, 640, 253, 254, 641, 255, 256, 257, 258, + 259, 260, 261, 642, 263, 264, 265, 266, 643, 267, + 268, 269, 270, 271, 272, 273, 644, 274, 645, 646, + 277, 278, 279, 280, 281, 647, 648, 649, 650, 651, + 285, 652, 653, 288, 654, 290, 291, 292, 293, 294, + 295, 296, 655, 656, 297, 657, 299, 658, 659, 301, + 302, 303, 304, 305, 306, 307, 308, 660, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 661, 662, + 663, 333, 334, 335, 336, 664, 665, 338, 339, 666, + 341, 667, 668, 343, 669, 345, 346, 347, 670, 348, + 349, 671, 672, 350, 351, 352, 673, 674, 353, 354, + 675, 676, 357, 677, 678, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 679, 680, + 681, 682, 373, 374, 683, 684, 377, 378, 685, 380, + 381, 382, 686, 383, 384, 385, 386, 387, 388, 389, + 390, 687, 391, 392, 393, 688, 395, 396, 397, 398, + 689, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 690, 413, 414, 691, 416, + 417, 418, 692, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 693, 694, 433, 434, + 435, 436, 437, 438, 695, 440, 441, 442, 696, 697, + 444, 445, 698, 447, 699, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 700, 462, + 701, 702, 703, 464, 465, 704, 466, 705, 468, 469, + 470, 471, 472, 706, 473, 707, 708, 709, 476, 710, + 477, 478, 711, 480, 712, 713, 482, 483, 714, 485, + 486, 487, 488, 489, 715, 716, 490, 491, 492, 717, + 493, 494, 495, 496, 718, 497, 498, 499, 500, 501, + 719, 720, 721, 504, 722, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 723, 724, 515, 725, 726, 516, + 517, 518, 519, 520, 521, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 533, 534, 535, 536, + 579, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 580, 129, + 130, 131, 581, 582, 583, 584, 585, 132, 586, 587, + 588, 589, 134, 135, 590, 136, 137, 138, 591, 140, + 141, 142, 592, 593, 594, 595, 596, 597, 148, 149, + 150, 151, 152, 153, 598, 599, 154, 155, 156, 157, + 600, 601, 160, 602, 161, 162, 163, 164, 603, 604, + 605, 606, 607, 168, 169, 170, 171, 172, 608, 174, + 175, 176, 609, 177, 178, 179, 180, 181, 182, 610, + 611, 184, 185, 186, 187, 188, 189, 612, 191, 192, + 193, 613, 195, 196, 614, 198, 615, 199, 616, 200, + 201, 202, 203, 204, 205, 617, 618, 206, 207, 208, + 209, 210, 619, 620, 211, 212, 213, 214, 215, 216, + 217, 621, 218, 219, 220, 622, 221, 222, 223, 623, + 224, 225, 226, 227, 624, 229, 230, 231, 232, 233, + 625, 626, 235, 627, 236, 237, 628, 239, 629, 240, + 630, 241, 631, 632, 633, 244, 245, 634, 635, 248, + 636, 249, 250, 637, 638, 639, 640, 253, 254, 641, + 255, 256, 257, 258, 259, 260, 261, 642, 263, 264, + 265, 266, 643, 267, 268, 269, 270, 271, 272, 273, + 644, 274, 645, 646, 277, 278, 279, 280, 281, 647, + 648, 649, 650, 651, 285, 652, 653, 288, 654, 290, + 291, 292, 293, 294, 295, 296, 655, 656, 297, 657, + 299, 658, 659, 301, 302, 303, 304, 305, 306, 307, + 308, 660, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 661, 662, 663, 333, 334, 335, 336, 664, + 665, 338, 339, 666, 341, 667, 668, 343, 669, 345, + 346, 347, 670, 348, 349, 671, 672, 350, 351, 352, + 673, 674, 353, 354, 675, 676, 357, 677, 678, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 679, 680, 681, 682, 373, 374, 683, 684, + 377, 378, 685, 380, 381, 382, 686, 383, 384, 385, + 386, 387, 388, 389, 390, 687, 391, 392, 393, 688, + 395, 396, 397, 398, 689, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 690, + 413, 414, 691, 416, 417, 418, 692, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 693, 694, 433, 434, 435, 436, 437, 438, 695, 440, + 441, 442, 696, 697, 444, 445, 698, 447, 699, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 700, 462, 701, 702, 703, 464, 465, 704, + 466, 705, 468, 469, 470, 471, 472, 706, 473, 707, + 708, 709, 476, 710, 477, 478, 711, 480, 712, 713, + 482, 483, 714, 485, 486, 487, 488, 489, 715, 716, + 490, 491, 492, 717, 493, 494, 495, 496, 718, 497, + 498, 499, 500, 501, 719, 720, 721, 504, 722, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 723, 724, + 515, 725, 726, 516, 517, 518, 519, 520, 521, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 533, 534, 535, 536, 579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 113, 114, 115, 116, 117, 2275, 119, - 120, 121, 1278, 122, 123, 124, 1279, 1280, 1281, 925, - 1282, 125, 1283, 1284, 1285, 926, 127, 128, 1286, 129, - 130, 131, 927, 133, 134, 135, 928, 929, 930, 931, - 932, 1287, 141, 142, 143, 144, 145, 146, 1288, 1289, - 147, 148, 933, 934, 151, 1290, 152, 153, 154, 155, - 935, 1291, 936, 1292, 937, 159, 160, 161, 162, 163, - 938, 165, 166, 167, 1293, 168, 169, 170, 171, 172, - 173, 1294, 939, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 940, 941, 187, 1295, 188, 1296, 189, - 190, 191, 192, 193, 194, 1297, 195, 196, 197, 198, - 199, 200, 1298, 1299, 201, 202, 203, 2276, 205, 206, - 207, 1300, 208, 209, 210, 1301, 211, 212, 213, 1302, - 214, 215, 216, 217, 942, 219, 220, 221, 222, 223, - 943, 1303, 225, 1304, 226, 227, 944, 229, 1305, 230, - 1306, 231, 945, 1307, 946, 234, 235, 947, 948, 238, - 1308, 239, 240, 1309, 1310, 949, 950, 243, 244, 1311, - 245, 246, 247, 248, 249, 250, 251, 951, 253, 254, - 255, 256, 1312, 257, 258, 259, 260, 261, 262, 263, - 1313, 264, 952, 953, 267, 268, 269, 270, 271, 954, - 955, 1314, 956, 1315, 275, 957, 958, 278, 959, 280, - 281, 282, 283, 284, 285, 286, 1316, 1317, 287, 960, - 289, 961, 1318, 291, 292, 293, 294, 295, 296, 297, - 298, 962, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 963, 964, 965, 321, 322, 323, 324, 966, 1319, 326, - 327, 967, 329, 1320, 968, 331, 969, 333, 334, 335, - 1321, 336, 337, 1322, 1323, 338, 339, 340, 1324, 1325, - 341, 970, 971, 344, 972, 973, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 1326, 1327, - 1328, 1329, 359, 360, 974, 975, 363, 364, 976, 366, - 367, 368, 1330, 369, 370, 371, 372, 373, 374, 375, - 376, 1331, 377, 378, 379, 977, 381, 382, 383, 384, - 1332, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 1333, 399, 400, 978, 402, - 403, 404, 979, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 1334, 980, 417, 418, 419, 420, - 421, 2277, 981, 424, 425, 426, 427, 982, 429, 430, - 983, 432, 1335, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 984, 447, 985, 449, - 1336, 450, 451, 1337, 452, 986, 454, 455, 456, 457, - 458, 1338, 987, 988, 1339, 461, 1340, 462, 463, 989, - 465, 990, 1341, 467, 468, 991, 470, 471, 472, 473, - 474, 1342, 1343, 475, 476, 477, 1344, 478, 479, 480, - 481, 1345, 482, 483, 484, 485, 486, 1346, 993, 1347, - 489, 994, 491, 492, 493, 494, 495, 496, 497, 1348, - 1349, 498, 1350, 1351, 499, 500, 501, 502, 503, 504, - 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, - 1005, 516, 517, 518, 519, 924, 0, 658, 0, 0, + 0, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 580, 129, 130, 131, 581, 582, 583, 584, + 585, 132, 586, 587, 588, 589, 134, 135, 590, 136, + 137, 138, 591, 140, 141, 142, 592, 593, 594, 595, + 596, 597, 148, 149, 150, 151, 152, 153, 598, 599, + 154, 155, 156, 157, 600, 601, 160, 602, 161, 162, + 163, 164, 603, 604, 605, 606, 607, 168, 169, 170, + 171, 172, 608, 174, 175, 176, 609, 177, 178, 179, + 180, 181, 182, 610, 611, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 613, 195, 196, 614, 198, + 615, 199, 616, 200, 201, 202, 203, 204, 205, 617, + 618, 206, 207, 208, 209, 210, 619, 620, 211, 212, + 213, 214, 215, 216, 217, 621, 218, 219, 220, 622, + 221, 222, 223, 623, 224, 225, 226, 227, 624, 229, + 230, 231, 232, 233, 625, 626, 235, 627, 236, 237, + 628, 239, 629, 240, 630, 241, 631, 632, 633, 244, + 245, 634, 635, 248, 636, 249, 250, 637, 638, 639, + 640, 253, 254, 641, 255, 256, 257, 258, 259, 1027, + 261, 642, 263, 264, 265, 266, 643, 267, 268, 269, + 270, 271, 272, 273, 644, 274, 645, 646, 277, 278, + 279, 280, 281, 647, 648, 649, 650, 651, 285, 652, + 653, 288, 654, 290, 291, 292, 293, 294, 295, 296, + 655, 656, 297, 657, 299, 658, 659, 301, 302, 303, + 304, 305, 306, 307, 308, 660, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 661, 662, 663, 333, + 334, 335, 336, 664, 665, 338, 339, 666, 341, 667, + 668, 343, 669, 345, 346, 347, 670, 348, 349, 671, + 672, 350, 351, 352, 673, 674, 353, 354, 675, 676, + 357, 677, 678, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 679, 680, 681, 682, + 373, 374, 683, 684, 377, 378, 685, 380, 381, 382, + 686, 383, 384, 385, 386, 387, 388, 389, 390, 687, + 391, 392, 393, 688, 395, 396, 397, 398, 689, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 690, 413, 414, 691, 416, 417, 418, + 692, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 693, 694, 433, 434, 435, 436, + 437, 438, 695, 440, 441, 442, 696, 697, 444, 445, + 698, 447, 699, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 700, 462, 701, 702, + 703, 464, 465, 704, 466, 705, 468, 469, 470, 471, + 472, 706, 473, 707, 708, 709, 476, 710, 477, 478, + 711, 480, 712, 713, 482, 483, 714, 485, 486, 487, + 488, 489, 715, 716, 490, 491, 492, 717, 493, 494, + 495, 496, 718, 497, 498, 499, 500, 501, 719, 720, + 721, 504, 722, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 723, 724, 515, 725, 726, 516, 517, 518, + 519, 520, 521, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 533, 534, 535, 536, 579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 0, 122, 123, 124, 0, 0, 0, - 925, 0, 125, 0, 0, 0, 926, 127, 128, 0, - 129, 130, 131, 927, 133, 134, 135, 928, 929, 930, - 931, 932, 0, 141, 142, 143, 144, 145, 146, 0, - 0, 147, 148, 933, 934, 151, 0, 152, 153, 154, - 155, 935, 0, 936, 0, 937, 159, 160, 161, 162, - 163, 938, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 939, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 940, 941, 187, 0, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 942, 219, 220, 221, 222, - 223, 943, 1508, 225, 0, 226, 227, 944, 229, 0, - 230, 0, 231, 945, 0, 946, 234, 235, 947, 948, - 238, 0, 239, 240, 0, 0, 949, 950, 243, 244, - 0, 245, 246, 247, 248, 249, 250, 251, 951, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 952, 953, 267, 268, 269, 270, 271, - 954, 955, 0, 956, 0, 275, 957, 958, 278, 959, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 960, 289, 961, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 962, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 963, 964, 965, 321, 322, 323, 324, 966, 0, - 326, 327, 967, 329, 0, 968, 331, 969, 333, 334, - 335, 0, 336, 337, 1509, 0, 338, 339, 340, 0, - 0, 341, 970, 971, 344, 972, 973, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 0, - 0, 0, 0, 359, 360, 974, 975, 363, 364, 976, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 977, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 978, - 402, 403, 404, 979, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 0, 980, 417, 418, 419, - 420, 421, 422, 981, 424, 425, 426, 427, 982, 429, - 430, 983, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 984, 447, 985, - 449, 0, 450, 451, 0, 452, 986, 454, 455, 456, - 457, 458, 0, 987, 988, 0, 461, 0, 462, 463, - 989, 465, 990, 1510, 467, 468, 991, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 0, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 1346, 993, - 0, 489, 994, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 0, 499, 500, 501, 502, 503, - 504, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 516, 517, 518, 519, 924, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 580, 129, 130, 131, + 581, 582, 583, 584, 585, 132, 586, 587, 588, 589, + 134, 135, 590, 136, 137, 138, 591, 140, 141, 142, + 592, 593, 594, 595, 596, 597, 148, 149, 150, 151, + 152, 153, 598, 599, 154, 155, 156, 157, 600, 601, + 160, 602, 161, 162, 163, 164, 603, 604, 605, 606, + 607, 168, 169, 170, 171, 172, 608, 174, 175, 176, + 609, 177, 178, 179, 180, 181, 182, 610, 611, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 613, + 195, 196, 614, 198, 615, 199, 616, 200, 201, 202, + 203, 204, 205, 617, 618, 206, 207, 208, 209, 210, + 619, 620, 211, 212, 213, 214, 215, 216, 217, 621, + 218, 219, 220, 622, 221, 222, 223, 623, 224, 225, + 226, 227, 624, 229, 230, 231, 232, 233, 625, 626, + 235, 627, 236, 237, 628, 239, 629, 240, 630, 241, + 631, 632, 633, 244, 245, 634, 635, 248, 636, 249, + 250, 637, 638, 639, 640, 253, 254, 641, 255, 256, + 257, 258, 259, 260, 261, 642, 263, 264, 265, 266, + 643, 267, 268, 269, 270, 271, 272, 273, 644, 274, + 645, 646, 277, 278, 279, 280, 281, 647, 648, 649, + 650, 651, 285, 652, 653, 288, 654, 290, 291, 292, + 293, 294, 295, 296, 655, 656, 297, 657, 299, 658, + 659, 301, 302, 303, 304, 305, 306, 307, 308, 660, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 661, 662, 663, 333, 334, 335, 336, 664, 665, 338, + 339, 666, 341, 667, 668, 343, 669, 345, 346, 347, + 670, 348, 349, 671, 672, 350, 351, 352, 673, 674, + 353, 354, 675, 676, 357, 677, 678, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 679, 680, 681, 682, 373, 374, 683, 684, 377, 378, + 685, 380, 381, 382, 686, 383, 384, 385, 386, 387, + 388, 389, 390, 687, 391, 392, 393, 688, 395, 396, + 397, 398, 689, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 690, 413, 414, + 691, 416, 417, 418, 692, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 693, 694, + 433, 434, 435, 436, 437, 438, 695, 440, 441, 442, + 696, 697, 444, 445, 698, 447, 699, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 700, 462, 701, 702, 703, 464, 465, 704, 466, 705, + 468, 469, 470, 471, 472, 706, 473, 707, 708, 709, + 476, 710, 477, 478, 711, 480, 712, 713, 482, 483, + 714, 485, 486, 487, 488, 489, 715, 716, 490, 491, + 492, 717, 493, 494, 495, 496, 718, 497, 498, 499, + 500, 501, 719, 720, 721, 504, 722, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 723, 724, 515, 725, + 726, 516, 517, 518, 519, 520, 521, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 533, 534, + 535, 536, 579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 0, 122, 123, 124, 3, 4, - 0, 925, 0, 125, 0, 0, 0, 926, 127, 128, - 0, 129, 130, 131, 927, 133, 134, 135, 928, 929, - 930, 931, 932, 0, 141, 142, 143, 144, 145, 146, - 0, 0, 147, 148, 933, 934, 151, 0, 152, 153, - 154, 155, 935, 0, 936, 0, 937, 159, 160, 161, - 162, 163, 938, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 939, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 940, 941, 187, 0, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 0, 0, 201, 202, 203, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 942, 219, 220, 221, - 222, 223, 943, 0, 225, 0, 226, 227, 944, 229, - 0, 230, 0, 231, 945, 0, 946, 234, 235, 947, - 948, 238, 0, 239, 240, 0, 0, 949, 950, 243, - 244, 0, 245, 246, 247, 248, 249, 250, 251, 951, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 952, 953, 267, 268, 269, 270, - 271, 954, 955, 0, 956, 0, 275, 957, 958, 278, - 959, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 960, 289, 961, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 962, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 963, 964, 965, 321, 322, 323, 324, 966, - 0, 326, 327, 967, 329, 0, 968, 331, 969, 333, - 334, 335, 0, 336, 337, 0, 0, 338, 339, 340, - 0, 0, 341, 970, 971, 344, 972, 973, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 974, 975, 363, 364, - 976, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 977, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 978, 402, 403, 404, 979, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 0, 980, 417, 418, - 419, 420, 421, 422, 981, 424, 425, 426, 427, 982, - 429, 430, 983, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 984, 447, - 985, 449, 0, 450, 451, 0, 452, 986, 454, 455, - 456, 457, 458, 0, 987, 988, 0, 461, 0, 462, - 463, 989, 465, 990, 0, 467, 468, 991, 470, 471, - 472, 473, 474, 0, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 1346, - 993, 0, 489, 994, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 995, 996, 997, 998, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 516, 517, 518, 519, 112, 0, 0, + 0, 120, 121, 122, 123, 124, 2340, 126, 127, 128, + 580, 129, 130, 131, 581, 582, 583, 584, 585, 132, + 586, 587, 588, 589, 134, 135, 590, 136, 137, 138, + 591, 140, 141, 142, 592, 593, 594, 595, 596, 597, + 148, 149, 150, 151, 152, 153, 598, 599, 154, 155, + 156, 157, 600, 601, 160, 602, 161, 162, 163, 164, + 603, 604, 605, 606, 607, 168, 169, 170, 171, 172, + 608, 174, 175, 176, 609, 177, 178, 179, 180, 181, + 182, 610, 611, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 613, 195, 196, 614, 198, 615, 199, + 616, 200, 201, 202, 203, 204, 205, 617, 618, 206, + 207, 208, 209, 210, 619, 620, 211, 212, 213, 2341, + 215, 216, 217, 621, 218, 219, 220, 622, 221, 222, + 223, 623, 224, 225, 226, 227, 624, 229, 230, 231, + 232, 233, 625, 626, 235, 627, 236, 237, 628, 239, + 629, 240, 630, 241, 631, 632, 633, 244, 245, 634, + 635, 248, 636, 249, 250, 637, 638, 639, 640, 253, + 254, 641, 255, 256, 257, 258, 259, 260, 261, 642, + 263, 264, 265, 266, 643, 267, 268, 269, 270, 271, + 272, 273, 644, 274, 645, 646, 277, 278, 279, 280, + 281, 647, 648, 649, 650, 651, 285, 652, 653, 288, + 654, 290, 291, 292, 293, 294, 295, 296, 655, 656, + 297, 657, 299, 658, 659, 301, 302, 303, 304, 305, + 306, 307, 308, 660, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 661, 662, 663, 333, 334, 335, + 336, 664, 665, 338, 339, 666, 341, 667, 668, 343, + 669, 345, 346, 347, 670, 348, 349, 671, 672, 350, + 351, 352, 673, 674, 353, 354, 675, 676, 357, 677, + 678, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 679, 680, 681, 682, 373, 374, + 683, 684, 377, 378, 685, 380, 381, 382, 686, 383, + 384, 385, 386, 387, 388, 389, 390, 687, 391, 392, + 393, 688, 395, 396, 397, 398, 689, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 690, 413, 414, 691, 416, 417, 418, 692, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 693, 694, 433, 434, 435, 436, 437, 2342, + 695, 440, 441, 442, 696, 697, 444, 445, 698, 447, + 699, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 700, 462, 701, 702, 703, 464, + 465, 704, 466, 705, 468, 469, 470, 471, 472, 706, + 473, 707, 708, 709, 476, 710, 477, 478, 711, 480, + 712, 713, 482, 483, 714, 485, 486, 487, 488, 489, + 715, 716, 490, 491, 492, 717, 493, 494, 495, 496, + 718, 497, 498, 499, 500, 501, 719, 720, 721, 504, + 722, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 723, 724, 515, 725, 726, 516, 517, 518, 519, 520, + 521, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 533, 534, 535, 536, 1052, 0, 843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 0, 0, 125, 0, 0, 0, 126, 127, - 128, 0, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 0, 141, 142, 143, 144, 145, - 146, 0, 627, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 628, 0, 629, 0, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 0, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 203, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 630, 0, 225, 0, 226, 227, 228, - 229, 0, 230, 0, 231, 232, 0, 233, 234, 235, - 236, 237, 238, 0, 239, 240, 0, 0, 241, 242, - 243, 244, 0, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 0, 274, 0, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 0, - 0, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 0, 326, 327, 328, 329, 0, 633, 331, 332, - 333, 334, 335, 0, 336, 337, 0, 0, 338, 339, - 340, 0, 0, 341, 342, 343, 344, 345, 635, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 636, 362, 363, - 364, 365, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 0, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 638, 449, 0, 450, 451, 0, 452, 453, 454, - 455, 456, 457, 458, 0, 459, 460, 0, 461, 0, - 462, 463, 639, 465, 640, 0, 467, 468, 641, 470, - 471, 472, 473, 474, 0, 0, 475, 476, 477, 0, - 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 487, 488, 0, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 112, 0, + 0, 0, 0, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 0, 129, 130, 131, 0, 0, + 0, 584, 0, 132, 0, 0, 0, 589, 134, 135, + 0, 136, 137, 138, 591, 140, 141, 142, 592, 593, + 594, 595, 596, 0, 148, 149, 150, 151, 152, 153, + 0, 0, 154, 155, 156, 157, 600, 601, 160, 0, + 161, 162, 163, 164, 603, 0, 605, 0, 607, 168, + 169, 170, 171, 172, 608, 174, 175, 176, 0, 177, + 178, 179, 180, 181, 182, 0, 611, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 613, 195, 196, + 614, 198, 0, 199, 0, 200, 201, 202, 203, 204, + 205, 0, 0, 206, 207, 208, 209, 210, 0, 0, + 211, 212, 213, 214, 215, 216, 217, 0, 218, 219, + 220, 0, 221, 222, 223, 0, 224, 225, 226, 227, + 624, 229, 230, 231, 232, 233, 625, 1435, 235, 0, + 236, 237, 628, 239, 0, 240, 0, 241, 631, 0, + 633, 244, 245, 634, 635, 248, 0, 249, 250, 0, + 0, 639, 640, 253, 254, 0, 255, 256, 257, 258, + 259, 260, 261, 642, 263, 264, 265, 266, 0, 267, + 268, 269, 270, 271, 272, 273, 0, 274, 645, 646, + 277, 278, 279, 280, 281, 647, 648, 0, 650, 0, + 285, 652, 653, 288, 654, 290, 291, 292, 293, 294, + 295, 296, 0, 0, 297, 657, 299, 658, 0, 301, + 302, 303, 304, 305, 306, 307, 308, 660, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 661, 662, + 663, 333, 334, 335, 336, 664, 0, 338, 339, 666, + 341, 0, 668, 343, 669, 345, 346, 347, 0, 348, + 349, 1436, 0, 350, 351, 352, 0, 0, 353, 354, + 675, 676, 357, 677, 678, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 0, 0, + 0, 0, 373, 374, 683, 684, 377, 378, 685, 380, + 381, 382, 0, 383, 384, 385, 386, 387, 388, 389, + 390, 0, 391, 392, 393, 688, 395, 396, 397, 398, + 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 0, 413, 414, 691, 416, + 417, 418, 692, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 0, 694, 433, 434, + 435, 436, 437, 438, 695, 440, 441, 442, 0, 697, + 444, 445, 698, 447, 0, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 700, 462, + 701, 0, 0, 464, 465, 0, 466, 705, 468, 469, + 470, 471, 472, 0, 473, 707, 708, 0, 476, 0, + 477, 478, 711, 480, 712, 1437, 482, 483, 714, 485, + 486, 487, 488, 489, 0, 0, 490, 491, 492, 0, + 493, 494, 495, 496, 0, 497, 498, 499, 500, 501, + 719, 720, 0, 504, 722, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 0, 0, 515, 0, 0, 516, + 517, 518, 519, 520, 521, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 533, 534, 535, 536, + 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 3, 4, 0, 584, 0, 132, 0, 0, + 0, 589, 134, 135, 0, 136, 137, 138, 591, 140, + 141, 142, 592, 593, 594, 595, 596, 0, 148, 149, + 150, 151, 152, 153, 0, 0, 154, 155, 156, 157, + 600, 601, 160, 0, 161, 162, 163, 164, 603, 0, + 605, 0, 607, 168, 169, 170, 171, 172, 608, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 611, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 613, 195, 196, 614, 198, 0, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 213, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 222, 223, 0, + 224, 225, 226, 227, 624, 229, 230, 231, 232, 233, + 625, 0, 235, 0, 236, 237, 628, 239, 0, 240, + 0, 241, 631, 0, 633, 244, 245, 634, 635, 248, + 0, 249, 250, 0, 0, 639, 640, 253, 254, 0, + 255, 256, 257, 258, 259, 260, 261, 642, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 645, 646, 277, 278, 279, 280, 281, 647, + 648, 0, 650, 0, 285, 652, 653, 288, 654, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 657, + 299, 658, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 660, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 661, 662, 663, 333, 334, 335, 336, 664, + 0, 338, 339, 666, 341, 0, 668, 343, 669, 345, + 346, 347, 0, 348, 349, 0, 0, 350, 351, 352, + 0, 0, 353, 354, 675, 676, 357, 677, 678, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 683, 684, + 377, 378, 685, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 392, 393, 688, + 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 691, 416, 417, 418, 692, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 694, 433, 434, 435, 436, 437, 438, 695, 440, + 441, 442, 0, 697, 444, 445, 698, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 700, 462, 701, 0, 0, 464, 465, 0, + 466, 705, 468, 469, 470, 471, 472, 0, 473, 707, + 708, 0, 476, 0, 477, 478, 711, 480, 712, 0, + 482, 483, 714, 485, 486, 487, 488, 489, 0, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 719, 720, 0, 504, 722, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 533, 534, 535, 536, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 0, 0, 125, 0, 0, 0, 126, - 127, 128, 0, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 0, 141, 142, 143, 144, - 145, 146, 0, 0, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 157, 0, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 0, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 203, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 212, 213, 0, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 0, 225, 0, 226, 227, - 228, 229, 0, 230, 0, 231, 232, 0, 233, 234, - 235, 236, 237, 238, 0, 239, 240, 0, 0, 241, - 242, 243, 244, 0, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 0, 274, 0, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 0, 0, 287, 288, 289, 290, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 0, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 0, 129, 130, 131, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 133, 134, 135, 0, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 0, 148, 149, 150, 151, 152, 153, 0, 812, + 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, + 163, 164, 813, 0, 814, 0, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 213, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 815, 0, 235, 0, 236, 237, + 238, 239, 0, 240, 0, 241, 242, 0, 243, 244, + 245, 246, 247, 248, 0, 249, 250, 0, 0, 251, + 252, 253, 254, 0, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 0, 284, 0, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 298, 299, 300, 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 0, 326, 327, 328, 329, 0, 330, 331, - 332, 333, 334, 335, 0, 336, 337, 0, 0, 338, - 339, 340, 0, 0, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 0, 0, 0, 0, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 0, 0, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 448, 449, 0, 450, 451, 0, 452, 453, - 454, 455, 456, 457, 458, 0, 459, 460, 0, 461, - 0, 462, 463, 464, 465, 466, 0, 467, 468, 469, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 487, 488, 0, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 0, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 528, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 0, 0, 0, 0, 0, 125, 0, 0, 0, - 0, 127, 128, 0, 129, 130, 131, 0, 133, 134, - 135, 136, 137, 0, 139, 140, 0, 141, 142, 143, - 144, 145, 146, 0, 0, 147, 148, 149, 150, 151, - 1792, 152, 153, 154, 155, 156, 0, 0, 1793, 158, - 159, 160, 161, 162, 163, 0, 165, 166, 167, 1794, - 168, 169, 170, 171, 172, 173, 0, 0, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 0, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 203, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 0, 225, 0, 226, - 227, 228, 229, 0, 230, 1795, 231, 0, 0, 0, - 234, 235, 529, 0, 238, 0, 239, 240, 0, 0, - 241, 242, 243, 244, 0, 245, 246, 247, 248, 249, - 1796, 251, 0, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 0, 266, 267, - 268, 269, 270, 271, 272, 273, 0, 274, 0, 275, - 0, 0, 278, 0, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 0, 289, 0, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 530, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 0, 320, 321, 322, - 323, 324, 325, 0, 326, 327, 0, 329, 0, 330, - 331, 332, 333, 334, 335, 0, 336, 337, 0, 0, - 338, 339, 340, 0, 0, 341, 342, 0, 344, 0, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 0, 0, 0, 0, 359, 360, 361, - 0, 363, 364, 365, 366, 367, 368, 1797, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 0, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, - 0, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 0, 429, 430, 431, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 531, 447, 448, 449, 0, 450, 451, 0, 452, - 0, 454, 455, 456, 457, 458, 0, 459, 460, 0, - 461, 0, 462, 463, 464, 465, 466, 0, 467, 468, - 469, 470, 471, 472, 473, 474, 0, 1798, 475, 476, - 477, 0, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 487, 488, 0, 489, 0, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 0, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 528, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 0, 122, - 123, 124, 0, 0, 0, 0, 0, 125, 0, 0, - 0, 0, 127, 128, 0, 129, 130, 131, 0, 133, - 134, 135, 136, 137, 0, 139, 140, 0, 141, 142, - 143, 144, 145, 146, 0, 0, 147, 148, 149, 150, - 151, 1792, 152, 153, 154, 155, 156, 0, 0, 0, - 158, 159, 160, 161, 162, 163, 0, 165, 166, 167, - 1794, 168, 169, 170, 171, 172, 173, 0, 0, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 0, 188, 0, 189, 190, 191, 192, 193, - 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, - 201, 202, 203, 204, 205, 206, 207, 0, 208, 209, - 210, 0, 211, 212, 213, 0, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 0, 225, 0, - 226, 227, 228, 229, 0, 230, 1795, 231, 0, 0, - 0, 234, 235, 529, 0, 238, 0, 239, 240, 0, - 0, 241, 242, 243, 244, 0, 245, 246, 247, 248, - 249, 250, 251, 0, 253, 254, 255, 256, 0, 257, - 258, 259, 260, 261, 262, 263, 0, 264, 0, 266, - 267, 268, 269, 270, 271, 272, 273, 0, 274, 0, - 275, 0, 0, 278, 0, 280, 281, 282, 283, 284, - 285, 286, 0, 0, 287, 0, 289, 2350, 0, 291, - 292, 293, 294, 295, 296, 297, 298, 530, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 0, 320, 321, - 322, 323, 324, 325, 0, 326, 327, 0, 329, 0, - 330, 331, 332, 333, 334, 335, 0, 336, 337, 0, - 0, 338, 339, 340, 0, 0, 341, 342, 0, 344, - 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 0, 0, 0, 0, 359, 360, - 361, 0, 363, 364, 365, 366, 367, 368, 1797, 369, - 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, - 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 399, 400, 0, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 0, 0, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 0, 429, 430, 431, 432, 0, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 531, 447, 448, 449, 0, 450, 451, 0, - 452, 0, 454, 455, 456, 457, 458, 0, 459, 460, - 0, 461, 0, 462, 463, 464, 465, 466, 0, 467, - 468, 469, 470, 471, 472, 473, 474, 0, 1798, 475, - 476, 477, 0, 478, 479, 480, 481, 0, 482, 483, - 484, 485, 486, 487, 488, 0, 489, 0, 491, 492, - 493, 494, 495, 496, 497, 0, 0, 498, 0, 0, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 528, 0, 552, 0, 0, 0, 0, 0, 0, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 0, 338, 339, 340, 341, 0, + 818, 343, 344, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 355, 356, + 357, 358, 820, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 821, 376, 377, 378, 379, 380, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, + 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 0, 443, 444, 445, + 446, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 823, 0, + 0, 464, 465, 0, 466, 467, 468, 469, 470, 471, + 472, 0, 473, 474, 475, 0, 476, 0, 477, 478, + 824, 480, 825, 0, 482, 483, 826, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 492, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 502, 503, + 0, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, - 122, 123, 124, 3, 4, 0, 0, 0, 125, 0, - 0, 0, 0, 127, 128, 0, 129, 130, 131, 0, - 133, 134, 135, 136, 137, 0, 139, 140, 0, 141, - 142, 143, 144, 145, 146, 0, 0, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, - 0, 158, 159, 160, 161, 162, 163, 0, 165, 166, - 167, 0, 168, 169, 170, 171, 172, 173, 0, 0, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 0, 188, 0, 189, 190, 191, 192, - 193, 194, 0, 195, 196, 197, 198, 199, 200, 0, - 0, 201, 202, 203, 204, 205, 206, 207, 0, 208, - 209, 210, 0, 211, 212, 213, 0, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 0, 225, - 0, 226, 227, 228, 229, 0, 230, 0, 231, 0, - 0, 0, 234, 235, 529, 0, 238, 0, 239, 240, - 0, 0, 241, 242, 243, 244, 0, 245, 246, 247, - 248, 249, 250, 251, 0, 253, 254, 255, 256, 0, - 257, 258, 259, 260, 261, 262, 263, 0, 264, 0, - 266, 267, 268, 269, 270, 271, 272, 273, 0, 274, - 0, 275, 0, 0, 278, 0, 280, 281, 282, 283, - 284, 285, 286, 0, 0, 287, 0, 289, 0, 0, - 291, 292, 293, 294, 295, 296, 297, 298, 530, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 0, 320, - 321, 322, 323, 324, 325, 0, 326, 327, 0, 329, - 0, 330, 331, 332, 333, 334, 335, 0, 336, 337, - 0, 0, 338, 339, 340, 0, 0, 341, 342, 0, - 344, 0, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 0, 0, 0, 0, 359, - 360, 361, 0, 363, 364, 365, 366, 367, 368, 0, - 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, - 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 399, 400, 0, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 0, 0, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 0, 429, 430, 431, 432, 0, + 0, 0, 0, 0, 0, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 0, 129, 130, 131, + 0, 0, 0, 0, 0, 132, 0, 0, 0, 133, + 134, 135, 0, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 0, 148, 149, 150, 151, + 152, 153, 0, 0, 154, 155, 156, 157, 158, 159, + 160, 0, 161, 162, 163, 164, 165, 0, 166, 0, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 0, 177, 178, 179, 180, 181, 182, 0, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 0, 199, 0, 200, 201, 202, + 203, 204, 205, 0, 0, 206, 207, 208, 209, 210, + 0, 0, 211, 212, 213, 214, 215, 216, 217, 0, + 218, 219, 220, 0, 221, 222, 223, 0, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 0, + 235, 0, 236, 237, 238, 239, 0, 240, 0, 241, + 242, 0, 243, 244, 245, 246, 247, 248, 0, 249, + 250, 0, 0, 251, 252, 253, 254, 0, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 0, 267, 268, 269, 270, 271, 272, 273, 0, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 0, + 284, 0, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 0, 0, 297, 298, 299, 300, + 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 0, 338, + 339, 340, 341, 0, 342, 343, 344, 345, 346, 347, + 0, 348, 349, 0, 0, 350, 351, 352, 0, 0, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 0, 0, 0, 0, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 0, 383, 384, 385, 386, 387, + 388, 389, 390, 0, 391, 392, 393, 394, 395, 396, + 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 0, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 531, 447, 448, 449, 0, 450, 451, - 0, 452, 0, 454, 455, 456, 457, 458, 0, 459, - 460, 0, 461, 0, 462, 463, 464, 465, 466, 0, - 467, 468, 469, 470, 471, 472, 473, 474, 0, 0, - 475, 476, 477, 0, 478, 479, 480, 481, 0, 482, - 483, 484, 485, 486, 487, 488, 0, 489, 0, 491, - 492, 493, 494, 495, 496, 497, 0, 0, 498, 0, - 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 528, 0, 552, 0, 0, 0, 0, 0, + 0, 443, 444, 445, 446, 447, 0, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 0, 0, 464, 465, 0, 466, 467, + 468, 469, 470, 471, 472, 0, 473, 474, 475, 0, + 476, 0, 477, 478, 479, 480, 481, 0, 482, 483, + 484, 485, 486, 487, 488, 489, 0, 0, 490, 491, + 492, 0, 493, 494, 495, 496, 0, 497, 498, 499, + 500, 501, 502, 503, 0, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 0, 0, 515, 0, + 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 553, 122, 123, 124, 0, 0, 0, 0, 0, 125, - 0, 0, 0, 0, 127, 128, 0, 129, 130, 131, - 0, 133, 134, 135, 136, 137, 0, 139, 140, 0, - 141, 142, 143, 144, 145, 146, 0, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 0, 158, 159, 160, 161, 162, 163, 0, 165, - 166, 167, 0, 168, 169, 170, 171, 172, 173, 0, - 0, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 0, 188, 0, 189, 190, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, - 0, 0, 201, 202, 203, 204, 205, 206, 207, 0, - 208, 209, 210, 0, 211, 212, 213, 0, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 0, - 225, 0, 226, 227, 228, 229, 0, 230, 0, 231, - 0, 0, 0, 234, 235, 529, 0, 238, 0, 239, - 240, 0, 0, 241, 242, 243, 244, 0, 245, 246, - 247, 248, 249, 250, 251, 0, 253, 254, 255, 256, - 0, 257, 258, 259, 260, 261, 262, 263, 0, 264, - 0, 266, 267, 268, 269, 270, 271, 272, 273, 0, - 274, 0, 275, 0, 0, 278, 0, 280, 281, 282, - 283, 284, 285, 286, 0, 0, 287, 0, 289, 0, - 0, 291, 292, 293, 294, 295, 296, 297, 298, 530, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 0, - 320, 321, 322, 323, 324, 325, 0, 326, 327, 0, - 329, 0, 330, 331, 332, 333, 334, 335, 0, 336, - 337, 0, 0, 338, 339, 340, 0, 0, 341, 342, - 0, 344, 0, 346, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 0, 0, 0, 0, - 359, 360, 361, 0, 363, 364, 365, 554, 367, 368, - 0, 369, 370, 371, 372, 373, 374, 375, 376, 0, - 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 399, 400, 0, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 0, 0, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 0, 429, 430, 431, 432, - 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 531, 447, 448, 449, 0, 450, - 451, 0, 452, 0, 454, 455, 456, 457, 458, 0, - 459, 460, 0, 461, 0, 462, 463, 464, 465, 466, - 0, 467, 468, 469, 470, 471, 472, 473, 474, 0, - 0, 475, 476, 477, 0, 478, 479, 480, 481, 0, - 482, 483, 484, 485, 486, 487, 488, 0, 489, 0, - 491, 492, 493, 494, 495, 496, 497, 0, 0, 498, - 0, 0, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 528, 0, 552, 0, 0, 0, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 0, 0, 0, 0, 0, 132, + 0, 0, 0, 0, 134, 135, 0, 136, 137, 138, + 0, 140, 141, 142, 143, 144, 0, 146, 147, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 158, 159, 160, 1836, 161, 162, 163, 164, + 165, 0, 0, 1837, 167, 168, 169, 170, 171, 172, + 0, 174, 175, 176, 1838, 177, 178, 179, 180, 181, + 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 0, 0, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 213, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 221, 222, + 223, 0, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 0, 235, 0, 236, 237, 238, 239, + 0, 240, 1839, 241, 0, 0, 0, 244, 245, 546, + 0, 248, 0, 249, 250, 0, 0, 251, 252, 253, + 254, 0, 255, 256, 257, 258, 259, 1840, 261, 0, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 0, 276, 277, 278, 279, 280, + 281, 282, 283, 0, 284, 0, 285, 0, 0, 288, + 0, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 0, 299, 0, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 547, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 332, 333, 334, 335, + 336, 337, 0, 338, 339, 0, 341, 0, 342, 343, + 344, 345, 346, 347, 0, 348, 349, 0, 0, 350, + 351, 352, 0, 0, 353, 354, 355, 0, 357, 0, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 0, 0, 0, 0, 373, 374, + 375, 0, 377, 378, 379, 380, 381, 382, 1841, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, + 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 0, 413, 414, 0, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 0, 0, 444, 445, 446, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 548, 462, 463, 0, 0, 464, + 465, 0, 466, 0, 468, 469, 470, 471, 472, 0, + 473, 474, 475, 0, 476, 0, 477, 478, 479, 480, + 481, 0, 482, 483, 484, 485, 486, 487, 488, 489, + 0, 1842, 490, 491, 492, 0, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 502, 503, 0, 504, + 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 0, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 0, 0, 0, 0, 0, - 125, 0, 0, 0, 0, 127, 128, 0, 129, 130, - 131, 0, 133, 134, 135, 136, 137, 0, 139, 140, - 0, 141, 142, 143, 144, 145, 146, 0, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 0, 158, 159, 160, 161, 162, 163, 0, - 165, 166, 167, 0, 168, 169, 170, 171, 172, 173, - 0, 0, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 0, 188, 0, 189, 190, - 191, 192, 193, 194, 0, 195, 196, 197, 198, 199, - 200, 0, 0, 201, 202, 203, 204, 205, 206, 207, - 0, 208, 209, 210, 0, 211, 212, 213, 0, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 0, 225, 0, 226, 227, 228, 229, 0, 230, 0, - 231, 0, 0, 0, 234, 235, 529, 0, 238, 0, - 239, 240, 0, 0, 241, 242, 243, 244, 0, 245, - 246, 247, 248, 249, 250, 251, 0, 253, 254, 255, - 256, 0, 257, 258, 259, 260, 261, 262, 263, 0, - 264, 0, 266, 267, 268, 269, 270, 271, 272, 273, - 0, 274, 0, 275, 0, 0, 278, 0, 280, 281, - 282, 283, 284, 285, 286, 0, 0, 287, 0, 289, - 0, 0, 291, 292, 293, 294, 295, 296, 297, 298, - 530, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 0, 320, 321, 322, 323, 324, 325, 0, 326, 327, - 0, 329, 0, 330, 331, 332, 333, 334, 335, 0, - 336, 337, 0, 634, 338, 339, 340, 0, 0, 341, - 342, 0, 344, 0, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 0, 0, 0, - 0, 359, 360, 361, 0, 363, 364, 365, 366, 367, - 368, 0, 369, 370, 371, 372, 373, 374, 375, 376, - 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 399, 400, 0, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 0, 0, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 0, 429, 430, 431, - 432, 0, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 531, 447, 448, 449, 0, - 450, 451, 0, 452, 0, 454, 455, 456, 457, 458, - 0, 459, 460, 0, 461, 0, 462, 463, 464, 465, - 466, 0, 467, 468, 469, 470, 471, 472, 473, 474, - 0, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 0, 482, 483, 484, 485, 486, 487, 488, 0, 489, - 0, 491, 492, 493, 494, 495, 496, 497, 0, 0, - 498, 0, 0, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 528, 0, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 0, 129, 130, 131, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 134, 135, + 0, 136, 137, 138, 0, 140, 141, 142, 143, 144, + 0, 146, 147, 0, 148, 149, 150, 151, 152, 153, + 0, 0, 154, 155, 156, 157, 158, 159, 160, 1836, + 161, 162, 163, 164, 165, 0, 0, 0, 167, 168, + 169, 170, 171, 172, 0, 174, 175, 176, 1838, 177, + 178, 179, 180, 181, 182, 0, 0, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 0, 199, 0, 200, 201, 202, 203, 204, + 205, 0, 0, 206, 207, 208, 209, 210, 0, 0, + 211, 212, 213, 214, 215, 216, 217, 0, 218, 219, + 220, 0, 221, 222, 223, 0, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 0, 235, 0, + 236, 237, 238, 239, 0, 240, 1839, 241, 0, 0, + 0, 244, 245, 546, 0, 248, 0, 249, 250, 0, + 0, 251, 252, 253, 254, 0, 255, 256, 257, 258, + 259, 260, 261, 0, 263, 264, 265, 266, 0, 267, + 268, 269, 270, 271, 272, 273, 0, 274, 0, 276, + 277, 278, 279, 280, 281, 282, 283, 0, 284, 0, + 285, 0, 0, 288, 0, 290, 291, 292, 293, 294, + 295, 296, 0, 0, 297, 0, 299, 2423, 0, 301, + 302, 303, 304, 305, 306, 307, 308, 547, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 332, 333, 334, 335, 336, 337, 0, 338, 339, 0, + 341, 0, 342, 343, 344, 345, 346, 347, 0, 348, + 349, 0, 0, 350, 351, 352, 0, 0, 353, 354, + 355, 0, 357, 0, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 0, 0, + 0, 0, 373, 374, 375, 0, 377, 378, 379, 380, + 381, 382, 1841, 383, 384, 385, 386, 387, 388, 389, + 390, 0, 391, 392, 393, 394, 395, 396, 397, 398, + 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 0, 413, 414, 0, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 0, 0, + 444, 445, 446, 447, 0, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 548, 462, + 463, 0, 0, 464, 465, 0, 466, 0, 468, 469, + 470, 471, 472, 0, 473, 474, 475, 0, 476, 0, + 477, 478, 479, 480, 481, 0, 482, 483, 484, 485, + 486, 487, 488, 489, 0, 1842, 490, 491, 492, 0, + 493, 494, 495, 496, 0, 497, 498, 499, 500, 501, + 502, 503, 0, 504, 0, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 0, 0, 515, 0, 0, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 3, 4, 0, 0, 0, 132, 0, 0, + 0, 0, 134, 135, 0, 136, 137, 138, 0, 140, + 141, 142, 143, 144, 0, 146, 147, 0, 148, 149, + 150, 151, 152, 153, 0, 0, 154, 155, 156, 157, + 158, 159, 160, 0, 161, 162, 163, 164, 165, 0, + 0, 0, 167, 168, 169, 170, 171, 172, 0, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 0, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 213, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 222, 223, 0, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 0, 235, 0, 236, 237, 238, 239, 0, 240, + 0, 241, 0, 0, 0, 244, 245, 546, 0, 248, + 0, 249, 250, 0, 0, 251, 252, 253, 254, 0, + 255, 256, 257, 258, 259, 260, 261, 0, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 0, 276, 277, 278, 279, 280, 281, 282, + 283, 0, 284, 0, 285, 0, 0, 288, 0, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 0, + 299, 0, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 547, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 332, 333, 334, 335, 336, 337, + 0, 338, 339, 0, 341, 0, 342, 343, 344, 345, + 346, 347, 0, 348, 349, 0, 0, 350, 351, 352, + 0, 0, 353, 354, 355, 0, 357, 0, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 375, 0, + 377, 378, 379, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 392, 393, 394, + 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 0, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 0, 0, 444, 445, 446, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 548, 462, 463, 0, 0, 464, 465, 0, + 466, 0, 468, 469, 470, 471, 472, 0, 473, 474, + 475, 0, 476, 0, 477, 478, 479, 480, 481, 0, + 482, 483, 484, 485, 486, 487, 488, 489, 0, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 502, 503, 0, 504, 0, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 122, 123, 124, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 0, 127, 128, 0, 129, - 130, 131, 0, 133, 134, 135, 136, 137, 0, 139, - 140, 0, 141, 142, 143, 144, 145, 146, 0, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 158, 159, 160, 161, 162, 163, - 0, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 0, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 0, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 0, 225, 0, 226, 227, 228, 229, 0, 230, - 0, 231, 0, 0, 0, 234, 235, 529, 0, 238, - 0, 239, 240, 0, 0, 241, 242, 243, 244, 0, - 245, 246, 247, 248, 249, 796, 251, 0, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 0, 266, 267, 268, 269, 270, 271, 272, - 273, 0, 274, 0, 275, 0, 0, 278, 0, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 0, - 289, 0, 0, 291, 292, 293, 294, 295, 296, 297, - 298, 530, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 0, 320, 321, 322, 323, 324, 325, 0, 326, - 327, 0, 329, 0, 330, 331, 332, 333, 334, 335, - 0, 336, 337, 0, 634, 338, 339, 340, 0, 0, - 341, 342, 0, 344, 0, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 0, 0, - 0, 0, 359, 360, 361, 0, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 0, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 0, 0, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 0, 429, 430, - 431, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 531, 447, 448, 449, - 0, 450, 451, 0, 452, 0, 454, 455, 456, 457, - 458, 0, 459, 460, 0, 461, 0, 462, 463, 464, - 465, 466, 0, 467, 468, 469, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 0, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 487, 488, 0, - 489, 0, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 0, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 528, 0, 552, 0, 0, + 0, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 574, 129, 130, 131, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 134, 135, 0, 136, + 137, 138, 0, 140, 141, 142, 143, 144, 0, 146, + 147, 0, 148, 149, 150, 151, 152, 153, 0, 0, + 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, + 163, 164, 165, 0, 0, 0, 167, 168, 169, 170, + 171, 172, 0, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 0, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 213, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 0, 235, 0, 236, 237, + 238, 239, 0, 240, 0, 241, 0, 0, 0, 244, + 245, 546, 0, 248, 0, 249, 250, 0, 0, 251, + 252, 253, 254, 0, 255, 256, 257, 258, 259, 260, + 261, 0, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 0, 276, 277, 278, + 279, 280, 281, 282, 283, 0, 284, 0, 285, 0, + 0, 288, 0, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 0, 299, 0, 0, 301, 302, 303, + 304, 305, 306, 307, 308, 547, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 332, 333, + 334, 335, 336, 337, 0, 338, 339, 0, 341, 0, + 342, 343, 344, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 355, 0, + 357, 0, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 375, 0, 377, 378, 379, 575, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, + 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 0, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 0, 0, 444, 445, + 446, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 548, 462, 463, 0, + 0, 464, 465, 0, 466, 0, 468, 469, 470, 471, + 472, 0, 473, 474, 475, 0, 476, 0, 477, 478, + 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 492, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 502, 503, + 0, 504, 0, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 545, 0, + 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 0, 129, 130, 131, + 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, + 134, 135, 0, 136, 137, 138, 0, 140, 141, 142, + 143, 144, 0, 146, 147, 0, 148, 149, 150, 151, + 152, 153, 0, 0, 154, 155, 156, 157, 158, 159, + 160, 0, 161, 162, 163, 164, 165, 0, 0, 0, + 167, 168, 169, 170, 171, 172, 0, 174, 175, 176, + 0, 177, 178, 179, 180, 181, 182, 0, 0, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 0, 199, 0, 200, 201, 202, + 203, 204, 205, 0, 0, 206, 207, 208, 209, 210, + 0, 0, 211, 212, 213, 214, 215, 216, 217, 0, + 218, 219, 220, 0, 221, 222, 223, 0, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 0, + 235, 0, 236, 237, 238, 239, 0, 240, 0, 241, + 0, 0, 0, 244, 245, 546, 0, 248, 0, 249, + 250, 0, 0, 251, 252, 253, 254, 0, 255, 256, + 257, 258, 259, 260, 261, 0, 263, 264, 265, 266, + 0, 267, 268, 269, 270, 271, 272, 273, 0, 274, + 0, 276, 277, 278, 279, 280, 281, 282, 283, 0, + 284, 0, 285, 0, 0, 288, 0, 290, 291, 292, + 293, 294, 295, 296, 0, 0, 297, 0, 299, 0, + 0, 301, 302, 303, 304, 305, 306, 307, 308, 547, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 332, 333, 334, 335, 336, 337, 0, 338, + 339, 0, 341, 0, 342, 343, 344, 345, 346, 347, + 0, 348, 349, 0, 819, 350, 351, 352, 0, 0, + 353, 354, 355, 0, 357, 0, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 0, 0, 0, 0, 373, 374, 375, 0, 377, 378, + 379, 380, 381, 382, 0, 383, 384, 385, 386, 387, + 388, 389, 390, 0, 391, 392, 393, 394, 395, 396, + 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 0, 413, 414, + 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 0, 0, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 0, 0, 444, 445, 446, 447, 0, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 548, 462, 463, 0, 0, 464, 465, 0, 466, 0, + 468, 469, 470, 471, 472, 0, 473, 474, 475, 0, + 476, 0, 477, 478, 479, 480, 481, 0, 482, 483, + 484, 485, 486, 487, 488, 489, 0, 0, 490, 491, + 492, 0, 493, 494, 495, 496, 0, 497, 498, 499, + 500, 501, 502, 503, 0, 504, 0, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 0, 0, 515, 0, + 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 825, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 0, 0, 0, 0, 127, 128, 0, - 129, 130, 131, 0, 133, 134, 135, 136, 137, 0, - 139, 140, 0, 141, 142, 143, 144, 145, 146, 0, - 0, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 0, 0, 0, 158, 159, 160, 161, 162, - 163, 0, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 0, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 0, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 0, 225, 0, 226, 227, 228, 229, 0, - 230, 0, 231, 0, 0, 0, 234, 235, 529, 0, - 238, 0, 239, 240, 0, 0, 241, 242, 243, 244, - 0, 245, 246, 247, 248, 249, 250, 251, 0, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 0, 266, 267, 268, 269, 270, 271, - 272, 273, 0, 274, 0, 275, 0, 0, 278, 0, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 0, 289, 0, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 530, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 0, 320, 321, 322, 323, 324, 325, 0, - 326, 327, 0, 329, 0, 330, 331, 332, 333, 334, - 335, 0, 336, 337, 0, 0, 338, 339, 340, 0, - 0, 341, 342, 0, 344, 0, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 0, - 0, 0, 0, 359, 360, 361, 0, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 0, 0, 0, 0, 0, 132, + 0, 0, 0, 0, 134, 135, 0, 136, 137, 138, + 0, 140, 141, 142, 143, 144, 0, 146, 147, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 158, 159, 160, 0, 161, 162, 163, 164, + 165, 0, 0, 0, 167, 168, 169, 170, 171, 172, + 0, 174, 175, 176, 0, 177, 178, 179, 180, 181, + 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 0, 0, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 213, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 221, 222, + 223, 0, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 0, 235, 0, 236, 237, 238, 239, + 0, 240, 0, 241, 0, 0, 0, 244, 245, 546, + 0, 248, 0, 249, 250, 0, 0, 251, 252, 253, + 254, 0, 255, 256, 257, 258, 259, 982, 261, 0, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 0, 276, 277, 278, 279, 280, + 281, 282, 283, 0, 284, 0, 285, 0, 0, 288, + 0, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 0, 299, 0, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 547, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 332, 333, 334, 335, + 336, 337, 0, 338, 339, 0, 341, 0, 342, 343, + 344, 345, 346, 347, 0, 348, 349, 0, 819, 350, + 351, 352, 0, 0, 353, 354, 355, 0, 357, 0, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 0, 0, 0, 0, 373, 374, + 375, 0, 377, 378, 379, 380, 381, 382, 0, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, + 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 0, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 0, 429, - 430, 431, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 531, 447, 448, - 449, 0, 450, 451, 0, 452, 0, 454, 455, 456, - 457, 458, 0, 459, 460, 0, 461, 0, 462, 463, - 464, 465, 466, 0, 467, 468, 469, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 0, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 487, 488, - 0, 489, 0, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 0, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 528, 2013, 0, 0, - 0, 0, 2014, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 0, 122, 123, 124, 0, 0, - 0, 0, 0, 125, 0, 0, 0, 0, 127, 128, - 0, 129, 130, 131, 0, 133, 134, 135, 136, 137, - 0, 139, 140, 0, 141, 142, 143, 144, 145, 146, - 0, 0, 147, 148, 149, 150, 151, 0, 152, 153, - 154, 155, 156, 0, 0, 0, 158, 159, 160, 161, - 162, 163, 0, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 0, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 0, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 0, 0, 201, 202, 203, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, - 0, 230, 0, 231, 0, 0, 0, 234, 235, 529, - 0, 238, 0, 239, 240, 0, 0, 241, 242, 243, - 244, 0, 245, 246, 247, 248, 249, 250, 251, 0, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 0, 266, 267, 268, 269, 270, - 271, 272, 273, 0, 274, 0, 275, 0, 0, 278, - 0, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 0, 289, 0, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 530, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 0, 320, 321, 322, 323, 324, 325, - 0, 326, 327, 0, 329, 0, 330, 331, 332, 333, - 334, 335, 0, 336, 337, 0, 0, 338, 339, 340, - 0, 0, 341, 342, 0, 344, 0, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 361, 0, 363, 364, - 365, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 0, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 0, 0, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 0, - 429, 430, 431, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 531, 447, - 448, 449, 0, 450, 451, 0, 452, 0, 454, 455, - 456, 457, 458, 0, 459, 460, 0, 461, 0, 462, - 463, 464, 465, 466, 0, 467, 468, 469, 470, 471, - 472, 473, 474, 0, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, - 488, 0, 489, 0, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 528, 0, 552, + 412, 0, 413, 414, 0, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 0, 0, 444, 445, 446, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 548, 462, 463, 0, 0, 464, + 465, 0, 466, 0, 468, 469, 470, 471, 472, 0, + 473, 474, 475, 0, 476, 0, 477, 478, 479, 480, + 481, 0, 482, 483, 484, 485, 486, 487, 488, 489, + 0, 0, 490, 491, 492, 0, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 502, 503, 0, 504, + 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 0, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 0, 0, 125, 0, 0, 0, 0, 127, - 128, 0, 129, 130, 131, 0, 133, 134, 135, 136, - 137, 0, 139, 140, 0, 141, 142, 143, 144, 145, - 146, 0, 0, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 0, 158, 159, 160, - 161, 162, 163, 0, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 0, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 0, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 203, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 0, 225, 0, 226, 227, 228, - 229, 0, 230, 0, 231, 0, 0, 0, 234, 235, - 529, 0, 2021, 0, 239, 240, 0, 0, 241, 242, - 243, 244, 0, 245, 246, 247, 248, 249, 250, 251, - 0, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 0, 266, 267, 268, 269, - 270, 271, 272, 273, 0, 274, 0, 275, 0, 0, - 278, 0, 280, 281, 282, 283, 284, 285, 286, 0, - 0, 287, 0, 289, 0, 0, 291, 292, 2022, 294, - 295, 296, 297, 298, 530, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 0, 320, 321, 322, 323, 324, - 325, 0, 326, 327, 0, 329, 0, 330, 331, 332, - 333, 334, 335, 0, 336, 337, 0, 0, 338, 339, - 340, 0, 0, 341, 342, 0, 344, 0, 346, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 361, 0, 363, - 364, 365, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 0, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 0, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 0, 429, 430, 431, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 531, - 447, 448, 449, 0, 450, 451, 2023, 452, 0, 454, - 2024, 456, 2025, 458, 0, 459, 460, 0, 461, 0, - 462, 463, 464, 465, 466, 0, 467, 468, 469, 470, - 471, 472, 473, 474, 0, 0, 475, 476, 2026, 0, - 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 487, 488, 0, 489, 0, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 528, 0, - 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, - 127, 128, 0, 129, 130, 131, 0, 133, 134, 135, - 136, 137, 0, 139, 140, 0, 141, 142, 143, 144, - 145, 146, 0, 0, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 0, 158, 159, - 160, 161, 162, 163, 0, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 0, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 0, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 203, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 212, 213, 0, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 0, 225, 0, 226, 227, - 228, 229, 0, 230, 0, 231, 0, 0, 0, 234, - 235, 529, 0, 238, 0, 239, 240, 0, 0, 241, - 242, 243, 244, 0, 245, 246, 247, 248, 249, 250, - 251, 0, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 0, 266, 267, 268, - 269, 270, 271, 272, 273, 0, 274, 0, 275, 0, - 0, 278, 0, 280, 281, 282, 283, 284, 285, 286, - 0, 0, 287, 0, 289, 0, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 530, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 0, 320, 321, 322, 323, - 324, 325, 0, 326, 327, 0, 329, 0, 330, 331, - 332, 333, 334, 335, 0, 336, 337, 0, 0, 338, - 339, 340, 0, 0, 341, 342, 0, 344, 0, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 0, 0, 0, 0, 359, 360, 361, 0, - 363, 364, 365, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 0, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 0, 0, + 0, 0, 0, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 1025, 129, 130, 131, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 134, 135, + 0, 136, 137, 138, 0, 140, 141, 142, 143, 144, + 0, 146, 147, 0, 148, 149, 150, 151, 152, 153, + 0, 0, 154, 155, 156, 157, 158, 159, 160, 0, + 161, 162, 163, 164, 165, 0, 0, 0, 167, 168, + 169, 170, 171, 172, 0, 174, 175, 176, 0, 177, + 178, 179, 180, 181, 182, 0, 0, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 0, 199, 0, 200, 201, 202, 203, 204, + 205, 0, 0, 206, 207, 208, 209, 210, 0, 0, + 211, 212, 213, 214, 215, 216, 217, 0, 218, 219, + 220, 0, 221, 222, 223, 0, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 0, 235, 0, + 236, 237, 238, 239, 0, 240, 0, 241, 0, 0, + 0, 244, 245, 546, 0, 248, 0, 249, 250, 0, + 0, 251, 252, 253, 254, 0, 255, 256, 257, 258, + 259, 260, 261, 0, 263, 264, 265, 266, 0, 267, + 268, 269, 270, 271, 272, 273, 0, 274, 0, 276, + 277, 278, 279, 280, 281, 282, 283, 0, 284, 0, + 285, 0, 0, 288, 0, 290, 291, 292, 293, 294, + 295, 296, 0, 0, 297, 0, 299, 0, 0, 301, + 302, 303, 304, 305, 306, 307, 308, 547, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 332, 333, 334, 335, 336, 337, 0, 338, 339, 0, + 341, 0, 342, 343, 344, 345, 346, 347, 0, 348, + 349, 0, 0, 350, 351, 352, 0, 0, 353, 354, + 355, 0, 357, 0, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 0, 0, + 0, 0, 373, 374, 375, 0, 377, 378, 379, 380, + 381, 382, 0, 383, 384, 385, 386, 387, 388, 389, + 390, 0, 391, 392, 393, 394, 395, 396, 397, 398, + 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 0, 413, 414, 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 0, 429, 430, 431, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 531, 447, 448, 449, 0, 450, 451, 0, 452, 0, - 454, 455, 456, 457, 458, 0, 459, 460, 0, 461, - 0, 462, 463, 464, 465, 466, 0, 467, 468, 469, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 487, 488, 0, 489, 0, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 0, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 528, - 0, 658, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 0, 0, 0, 0, 0, 125, 0, 0, 0, - 0, 127, 128, 0, 129, 130, 131, 0, 133, 134, - 135, 136, 137, 0, 139, 140, 0, 141, 142, 143, - 144, 145, 146, 0, 0, 147, 148, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 0, 0, 0, 158, - 159, 160, 161, 162, 163, 0, 165, 166, 167, 0, - 168, 169, 170, 171, 172, 173, 0, 0, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 0, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 203, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 0, 225, 0, 226, - 227, 228, 229, 0, 230, 0, 231, 0, 0, 0, - 234, 235, 529, 0, 238, 0, 239, 240, 0, 0, - 241, 242, 243, 244, 0, 245, 246, 247, 248, 249, - 250, 251, 0, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 0, 266, 267, - 268, 269, 270, 271, 272, 273, 0, 274, 0, 275, - 0, 0, 278, 0, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 0, 289, 0, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 530, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 0, 320, 321, 322, - 323, 324, 325, 0, 326, 327, 0, 329, 0, 330, - 331, 332, 333, 334, 335, 0, 336, 337, 0, 0, - 338, 339, 340, 0, 0, 341, 342, 0, 344, 0, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 0, 0, 0, 0, 359, 360, 361, - 0, 363, 364, 365, 366, 367, 368, 0, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 0, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, - 0, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 0, 429, 430, 431, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 531, 447, 448, 449, 0, 450, 451, 0, 452, - 0, 454, 455, 456, 457, 458, 0, 459, 460, 0, - 461, 0, 462, 463, 464, 465, 466, 0, 467, 468, - 469, 470, 471, 472, 473, 474, 0, 0, 475, 476, - 477, 0, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 487, 488, 0, 489, 0, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 0, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 528, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 665, 122, - 123, 124, 0, 0, 0, 0, 0, 125, 0, 0, - 0, 0, 127, 128, 0, 129, 130, 131, 0, 133, - 134, 135, 136, 137, 0, 139, 140, 0, 141, 142, - 143, 144, 145, 146, 0, 0, 147, 148, 149, 150, - 151, 0, 152, 153, 154, 155, 156, 0, 0, 0, - 158, 159, 160, 161, 162, 163, 0, 165, 166, 167, - 0, 168, 169, 170, 171, 172, 173, 0, 0, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 0, 188, 0, 189, 190, 191, 192, 193, - 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, - 201, 202, 203, 204, 205, 206, 207, 0, 208, 209, - 210, 0, 211, 212, 213, 0, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 0, 225, 0, - 226, 227, 228, 229, 0, 230, 0, 231, 0, 0, - 0, 234, 235, 529, 0, 666, 0, 239, 240, 0, - 0, 241, 242, 243, 244, 0, 245, 246, 247, 248, - 249, 250, 251, 0, 253, 254, 255, 256, 0, 257, - 258, 259, 260, 261, 262, 263, 0, 264, 0, 266, - 267, 268, 269, 270, 271, 272, 273, 0, 274, 0, - 275, 0, 0, 278, 0, 280, 281, 282, 283, 284, - 285, 286, 0, 0, 287, 0, 289, 0, 0, 291, - 292, 667, 294, 295, 296, 297, 298, 530, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 0, 320, 321, - 322, 323, 324, 325, 0, 326, 327, 0, 329, 0, - 330, 331, 332, 333, 334, 335, 0, 336, 337, 0, - 0, 338, 339, 340, 0, 0, 341, 342, 0, 344, - 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 0, 0, 0, 0, 359, 360, - 361, 0, 363, 364, 365, 366, 367, 368, 0, 369, - 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, - 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 399, 400, 0, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 0, 0, 417, 418, 419, 420, 668, 422, 423, 424, - 425, 426, 427, 0, 429, 430, 431, 432, 0, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 531, 447, 448, 449, 0, 450, 451, 0, - 452, 0, 454, 455, 456, 457, 458, 0, 669, 460, - 0, 461, 0, 670, 463, 464, 465, 466, 0, 467, - 468, 469, 470, 471, 472, 473, 474, 0, 0, 475, - 476, 477, 0, 478, 479, 480, 481, 0, 482, 483, - 484, 485, 486, 487, 488, 0, 489, 0, 491, 492, - 493, 494, 495, 496, 497, 0, 0, 498, 0, 0, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 528, 0, 552, 0, 0, 0, 0, 0, 0, + 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 0, 0, + 444, 445, 446, 447, 0, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 548, 462, + 463, 0, 0, 464, 465, 0, 466, 0, 468, 469, + 470, 471, 472, 0, 473, 474, 475, 0, 476, 0, + 477, 478, 479, 480, 481, 0, 482, 483, 484, 485, + 486, 487, 488, 489, 0, 0, 490, 491, 492, 0, + 493, 494, 495, 496, 0, 497, 498, 499, 500, 501, + 502, 503, 0, 504, 0, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 0, 0, 515, 0, 0, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 545, 2044, 0, 0, 0, 0, 2045, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 134, 135, 0, 136, 137, 138, 0, 140, + 141, 142, 143, 144, 0, 146, 147, 0, 148, 149, + 150, 151, 152, 153, 0, 0, 154, 155, 156, 157, + 158, 159, 160, 0, 161, 162, 163, 164, 165, 0, + 0, 0, 167, 168, 169, 170, 171, 172, 0, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 0, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 213, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 222, 223, 0, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 0, 235, 0, 236, 237, 238, 239, 0, 240, + 0, 241, 0, 0, 0, 244, 245, 546, 0, 248, + 0, 249, 250, 0, 0, 251, 252, 253, 254, 0, + 255, 256, 257, 258, 259, 260, 261, 0, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 0, 276, 277, 278, 279, 280, 281, 282, + 283, 0, 284, 0, 285, 0, 0, 288, 0, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 0, + 299, 0, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 547, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 332, 333, 334, 335, 336, 337, + 0, 338, 339, 0, 341, 0, 342, 343, 344, 345, + 346, 347, 0, 348, 349, 0, 0, 350, 351, 352, + 0, 0, 353, 354, 355, 0, 357, 0, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 375, 0, + 377, 378, 379, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 392, 393, 394, + 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 0, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 0, 0, 444, 445, 446, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 548, 462, 463, 0, 0, 464, 465, 0, + 466, 0, 468, 469, 470, 471, 472, 0, 473, 474, + 475, 0, 476, 0, 477, 478, 479, 480, 481, 0, + 482, 483, 484, 485, 486, 487, 488, 489, 0, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 502, 503, 0, 504, 0, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, - 122, 123, 124, 0, 0, 0, 0, 0, 125, 0, - 0, 0, 0, 127, 128, 0, 129, 130, 131, 0, - 133, 134, 135, 136, 137, 0, 139, 140, 0, 141, - 142, 143, 144, 145, 146, 0, 0, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, - 0, 158, 159, 160, 161, 162, 163, 0, 165, 166, - 167, 0, 168, 169, 170, 171, 172, 173, 0, 0, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 0, 188, 0, 189, 190, 191, 192, - 193, 194, 0, 195, 196, 197, 198, 199, 200, 0, - 0, 201, 202, 203, 204, 205, 206, 207, 0, 208, - 209, 210, 0, 211, 212, 213, 0, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 0, 225, - 0, 226, 227, 228, 229, 0, 230, 0, 231, 0, - 0, 0, 234, 235, 529, 0, 238, 0, 239, 240, - 0, 0, 241, 242, 243, 244, 0, 245, 246, 247, - 248, 249, 250, 251, 0, 253, 254, 255, 256, 0, - 257, 258, 259, 260, 261, 262, 263, 0, 264, 0, - 266, 267, 268, 269, 270, 271, 272, 273, 0, 274, - 0, 275, 0, 0, 278, 0, 280, 281, 282, 283, - 284, 285, 286, 0, 0, 287, 0, 289, 0, 0, - 291, 292, 293, 294, 295, 296, 297, 298, 530, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 0, 320, - 321, 322, 323, 324, 325, 0, 326, 327, 0, 329, - 0, 330, 331, 332, 333, 334, 335, 0, 336, 337, - 0, 0, 338, 339, 340, 0, 0, 341, 342, 0, - 344, 0, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 0, 0, 0, 0, 359, - 360, 361, 0, 363, 364, 365, 366, 367, 368, 0, - 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, - 378, 379, 380, 381, 382, 703, 384, 0, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 399, 400, 0, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 0, 0, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 0, 429, 430, 431, 432, 0, + 0, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 0, 129, 130, 131, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 134, 135, 0, 136, + 137, 138, 0, 140, 141, 142, 143, 144, 0, 146, + 147, 0, 148, 149, 150, 151, 152, 153, 0, 0, + 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, + 163, 164, 165, 0, 0, 0, 167, 168, 169, 170, + 171, 172, 0, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 0, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 213, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 0, 235, 0, 236, 237, + 238, 239, 0, 240, 0, 241, 0, 0, 0, 244, + 245, 546, 0, 2052, 0, 249, 250, 0, 0, 251, + 252, 253, 254, 0, 255, 256, 257, 258, 259, 260, + 261, 0, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 0, 276, 277, 278, + 279, 280, 281, 282, 283, 0, 284, 0, 285, 0, + 0, 288, 0, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 0, 299, 0, 0, 301, 302, 2053, + 304, 305, 306, 307, 308, 547, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 332, 333, + 334, 335, 336, 337, 0, 338, 339, 0, 341, 0, + 342, 343, 344, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 355, 0, + 357, 0, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 375, 0, 377, 378, 379, 380, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, + 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 0, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 0, 0, 444, 445, + 446, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 548, 462, 463, 0, + 0, 464, 465, 2054, 466, 0, 468, 2055, 470, 2056, + 472, 0, 473, 474, 475, 0, 476, 0, 477, 478, + 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 2057, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 502, 503, + 0, 504, 0, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 545, 0, + 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 0, 129, 130, 131, + 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, + 134, 135, 0, 136, 137, 138, 0, 140, 141, 142, + 143, 144, 0, 146, 147, 0, 148, 149, 150, 151, + 152, 153, 0, 0, 154, 155, 156, 157, 158, 159, + 160, 0, 161, 162, 163, 164, 165, 0, 0, 0, + 167, 168, 169, 170, 171, 172, 0, 174, 175, 176, + 0, 177, 178, 179, 180, 181, 182, 0, 0, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 0, 199, 0, 200, 201, 202, + 203, 204, 205, 0, 0, 206, 207, 208, 209, 210, + 0, 0, 211, 212, 213, 214, 215, 216, 217, 0, + 218, 219, 220, 0, 221, 222, 223, 0, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 0, + 235, 0, 236, 237, 238, 239, 0, 240, 0, 241, + 0, 0, 0, 244, 245, 546, 0, 248, 0, 249, + 250, 0, 0, 251, 252, 253, 254, 0, 255, 256, + 257, 258, 259, 260, 261, 0, 263, 264, 265, 266, + 0, 267, 268, 269, 270, 271, 272, 273, 0, 274, + 0, 276, 277, 278, 279, 280, 281, 282, 283, 0, + 284, 0, 285, 0, 0, 288, 0, 290, 291, 292, + 293, 294, 295, 296, 0, 0, 297, 0, 299, 0, + 0, 301, 302, 303, 304, 305, 306, 307, 308, 547, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 332, 333, 334, 335, 336, 337, 0, 338, + 339, 0, 341, 0, 342, 343, 344, 345, 346, 347, + 0, 348, 349, 0, 0, 350, 351, 352, 0, 0, + 353, 354, 355, 0, 357, 0, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 0, 0, 0, 0, 373, 374, 375, 0, 377, 378, + 379, 380, 381, 382, 0, 383, 384, 385, 386, 387, + 388, 389, 390, 0, 391, 392, 393, 394, 395, 396, + 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 0, 413, 414, + 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 531, 447, 448, 449, 0, 450, 451, - 0, 452, 0, 454, 455, 456, 457, 458, 0, 459, - 460, 0, 461, 0, 462, 463, 464, 465, 466, 0, - 467, 468, 469, 470, 471, 472, 473, 474, 0, 0, - 475, 476, 477, 0, 478, 479, 480, 481, 0, 482, - 483, 484, 485, 486, 487, 488, 0, 489, 0, 491, - 492, 493, 494, 495, 496, 497, 0, 0, 498, 0, - 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 528, 0, 552, 0, 0, 0, 0, 0, + 0, 0, 444, 445, 446, 447, 0, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 548, 462, 463, 0, 0, 464, 465, 0, 466, 0, + 468, 469, 470, 471, 472, 0, 473, 474, 475, 0, + 476, 0, 477, 478, 479, 480, 481, 0, 482, 483, + 484, 485, 486, 487, 488, 489, 0, 0, 490, 491, + 492, 0, 493, 494, 495, 496, 0, 497, 498, 499, + 500, 501, 502, 503, 0, 504, 0, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 0, 0, 515, 0, + 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 545, 0, 843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 0, 122, 123, 124, 0, 0, 0, 0, 0, 125, - 0, 0, 0, 0, 127, 128, 0, 129, 130, 131, - 0, 133, 134, 135, 136, 137, 0, 139, 140, 0, - 141, 142, 143, 144, 145, 146, 0, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 0, 158, 159, 160, 161, 162, 163, 0, 165, - 166, 167, 0, 168, 169, 170, 171, 172, 173, 0, - 0, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 0, 188, 0, 189, 190, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, - 0, 0, 201, 202, 203, 204, 205, 206, 207, 0, - 208, 209, 210, 0, 211, 212, 213, 0, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 0, - 225, 0, 226, 227, 228, 229, 0, 230, 0, 231, - 0, 0, 0, 234, 235, 529, 0, 238, 0, 239, - 240, 0, 0, 241, 242, 243, 244, 0, 245, 246, - 247, 248, 249, 791, 251, 0, 253, 254, 255, 256, - 0, 257, 258, 259, 260, 261, 262, 263, 0, 264, - 0, 266, 267, 268, 269, 270, 271, 272, 273, 0, - 274, 0, 275, 0, 0, 278, 0, 280, 281, 282, - 283, 284, 285, 286, 0, 0, 287, 0, 289, 0, - 0, 291, 292, 293, 294, 295, 296, 297, 298, 530, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 0, - 320, 321, 322, 323, 324, 325, 0, 326, 327, 0, - 329, 0, 330, 331, 332, 333, 334, 335, 0, 336, - 337, 0, 0, 338, 339, 340, 0, 0, 341, 342, - 0, 344, 0, 346, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 0, 0, 0, 0, - 359, 360, 361, 0, 363, 364, 365, 366, 367, 368, - 0, 369, 370, 371, 372, 373, 374, 375, 376, 0, - 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 399, 400, 0, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 0, 0, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 0, 429, 430, 431, 432, - 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 531, 447, 448, 449, 0, 450, - 451, 0, 452, 0, 454, 455, 456, 457, 458, 0, - 459, 460, 0, 461, 0, 462, 463, 464, 465, 466, - 0, 467, 468, 469, 470, 471, 472, 473, 474, 0, - 0, 475, 476, 477, 0, 478, 479, 480, 481, 0, - 482, 483, 484, 485, 486, 487, 488, 0, 489, 0, - 491, 492, 493, 494, 495, 496, 497, 0, 0, 498, - 0, 0, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 528, 0, 552, 0, 0, 0, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 0, 0, 0, 0, 0, 132, + 0, 0, 0, 0, 134, 135, 0, 136, 137, 138, + 0, 140, 141, 142, 143, 144, 0, 146, 147, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 158, 159, 160, 0, 161, 162, 163, 164, + 165, 0, 0, 0, 167, 168, 169, 170, 171, 172, + 0, 174, 175, 176, 0, 177, 178, 179, 180, 181, + 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 0, 0, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 213, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 221, 222, + 223, 0, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 0, 235, 0, 236, 237, 238, 239, + 0, 240, 0, 241, 0, 0, 0, 244, 245, 546, + 0, 248, 0, 249, 250, 0, 0, 251, 252, 253, + 254, 0, 255, 256, 257, 258, 259, 260, 261, 0, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 0, 276, 277, 278, 279, 280, + 281, 282, 283, 0, 284, 0, 285, 0, 0, 288, + 0, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 0, 299, 0, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 547, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 332, 333, 334, 335, + 336, 337, 0, 338, 339, 0, 341, 0, 342, 343, + 344, 345, 346, 347, 0, 348, 349, 0, 0, 350, + 351, 352, 0, 0, 353, 354, 355, 0, 357, 0, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 0, 0, 0, 0, 373, 374, + 375, 0, 377, 378, 379, 380, 381, 382, 0, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, + 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 0, 413, 414, 0, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 0, 0, 444, 445, 446, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 548, 462, 463, 0, 0, 464, + 465, 0, 466, 0, 468, 469, 470, 471, 472, 0, + 473, 474, 475, 0, 476, 0, 477, 478, 479, 480, + 481, 0, 482, 483, 484, 485, 486, 487, 488, 489, + 0, 0, 490, 491, 492, 0, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 502, 503, 0, 504, + 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 0, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 0, 0, 0, 0, 0, - 125, 0, 0, 0, 0, 127, 128, 0, 129, 130, - 131, 0, 133, 134, 135, 136, 137, 0, 139, 140, - 0, 141, 142, 143, 144, 145, 146, 0, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 0, 158, 159, 160, 161, 162, 163, 0, - 165, 166, 167, 0, 168, 169, 170, 171, 172, 173, - 0, 0, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 0, 188, 0, 189, 190, - 191, 192, 193, 194, 0, 195, 196, 197, 198, 199, - 200, 0, 0, 201, 202, 203, 204, 205, 206, 207, - 0, 208, 209, 210, 0, 211, 212, 213, 0, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 0, 225, 0, 226, 227, 228, 229, 0, 230, 0, - 231, 0, 0, 0, 234, 235, 529, 0, 238, 0, - 239, 240, 0, 0, 241, 242, 243, 244, 0, 245, - 246, 247, 248, 249, 794, 251, 0, 253, 254, 255, - 256, 0, 257, 258, 259, 260, 261, 262, 263, 0, - 264, 0, 266, 267, 268, 269, 270, 271, 272, 273, - 0, 274, 0, 275, 0, 0, 278, 0, 280, 281, - 282, 283, 284, 285, 286, 0, 0, 287, 0, 289, - 0, 0, 291, 292, 293, 294, 295, 296, 297, 298, - 530, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 0, 320, 321, 322, 323, 324, 325, 0, 326, 327, - 0, 329, 0, 330, 331, 332, 333, 334, 335, 0, - 336, 337, 0, 0, 338, 339, 340, 0, 0, 341, - 342, 0, 344, 0, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 0, 0, 0, - 0, 359, 360, 361, 0, 363, 364, 365, 366, 367, - 368, 0, 369, 370, 371, 372, 373, 374, 375, 376, - 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 399, 400, 0, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 0, 0, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 0, 429, 430, 431, - 432, 0, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 531, 447, 448, 449, 0, - 450, 451, 0, 452, 0, 454, 455, 456, 457, 458, - 0, 459, 460, 0, 461, 0, 462, 463, 464, 465, - 466, 0, 467, 468, 469, 470, 471, 472, 473, 474, - 0, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 0, 482, 483, 484, 485, 486, 487, 488, 0, 489, - 0, 491, 492, 493, 494, 495, 496, 497, 0, 0, - 498, 0, 0, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 528, 0, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 850, 129, 130, 131, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 134, 135, + 0, 136, 137, 138, 0, 140, 141, 142, 143, 144, + 0, 146, 147, 0, 148, 149, 150, 151, 152, 153, + 0, 0, 154, 155, 156, 157, 158, 159, 160, 0, + 161, 162, 163, 164, 165, 0, 0, 0, 167, 168, + 169, 170, 171, 172, 0, 174, 175, 176, 0, 177, + 178, 179, 180, 181, 182, 0, 0, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 0, 199, 0, 200, 201, 202, 203, 204, + 205, 0, 0, 206, 207, 208, 209, 210, 0, 0, + 211, 212, 213, 214, 215, 216, 217, 0, 218, 219, + 220, 0, 221, 222, 223, 0, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 0, 235, 0, + 236, 237, 238, 239, 0, 240, 0, 241, 0, 0, + 0, 244, 245, 546, 0, 851, 0, 249, 250, 0, + 0, 251, 252, 253, 254, 0, 255, 256, 257, 258, + 259, 260, 261, 0, 263, 264, 265, 266, 0, 267, + 268, 269, 270, 271, 272, 273, 0, 274, 0, 276, + 277, 278, 279, 280, 281, 282, 283, 0, 284, 0, + 285, 0, 0, 288, 0, 290, 291, 292, 293, 294, + 295, 296, 0, 0, 297, 0, 299, 0, 0, 301, + 302, 852, 304, 305, 306, 307, 308, 547, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 332, 333, 334, 335, 336, 337, 0, 338, 339, 0, + 341, 0, 342, 343, 344, 345, 346, 347, 0, 348, + 349, 0, 0, 350, 351, 352, 0, 0, 353, 354, + 355, 0, 357, 0, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 0, 0, + 0, 0, 373, 374, 375, 0, 377, 378, 379, 380, + 381, 382, 0, 383, 384, 385, 386, 387, 388, 389, + 390, 0, 391, 392, 393, 394, 395, 396, 397, 398, + 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 0, 413, 414, 0, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, + 435, 436, 853, 438, 439, 440, 441, 442, 0, 0, + 444, 445, 446, 447, 0, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 548, 462, + 463, 0, 0, 464, 465, 0, 466, 0, 468, 469, + 470, 471, 472, 0, 473, 854, 475, 0, 476, 0, + 855, 478, 479, 480, 481, 0, 482, 483, 484, 485, + 486, 487, 488, 489, 0, 0, 490, 491, 492, 0, + 493, 494, 495, 496, 0, 497, 498, 499, 500, 501, + 502, 503, 0, 504, 0, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 0, 0, 515, 0, 0, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 134, 135, 0, 136, 137, 138, 0, 140, + 141, 142, 143, 144, 0, 146, 147, 0, 148, 149, + 150, 151, 152, 153, 0, 0, 154, 155, 156, 157, + 158, 159, 160, 0, 161, 162, 163, 164, 165, 0, + 0, 0, 167, 168, 169, 170, 171, 172, 0, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 0, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 213, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 222, 223, 0, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 0, 235, 0, 236, 237, 238, 239, 0, 240, + 0, 241, 0, 0, 0, 244, 245, 546, 0, 248, + 0, 249, 250, 0, 0, 251, 252, 253, 254, 0, + 255, 256, 257, 258, 259, 260, 261, 0, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 0, 276, 277, 278, 279, 280, 281, 282, + 283, 0, 284, 0, 285, 0, 0, 288, 0, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 0, + 299, 0, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 547, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 332, 333, 334, 335, 336, 337, + 0, 338, 339, 0, 341, 0, 342, 343, 344, 345, + 346, 347, 0, 348, 349, 0, 0, 350, 351, 352, + 0, 0, 353, 354, 355, 0, 357, 0, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 375, 0, + 377, 378, 379, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 392, 393, 394, + 395, 396, 888, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 0, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 0, 0, 444, 445, 446, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 548, 462, 463, 0, 0, 464, 465, 0, + 466, 0, 468, 469, 470, 471, 472, 0, 473, 474, + 475, 0, 476, 0, 477, 478, 479, 480, 481, 0, + 482, 483, 484, 485, 486, 487, 488, 489, 0, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 502, 503, 0, 504, 0, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 122, 123, 124, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 0, 127, 128, 0, 129, - 130, 131, 0, 133, 134, 135, 136, 137, 0, 139, - 140, 0, 141, 142, 143, 144, 145, 146, 0, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 158, 159, 160, 161, 162, 163, - 0, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 0, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 0, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 0, 225, 0, 226, 227, 228, 229, 0, 230, - 0, 231, 0, 0, 0, 234, 235, 529, 0, 238, - 0, 239, 240, 0, 0, 241, 242, 243, 244, 0, - 245, 246, 247, 248, 249, 798, 251, 0, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 0, 266, 267, 268, 269, 270, 271, 272, - 273, 0, 274, 0, 275, 0, 0, 278, 0, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 0, - 289, 0, 0, 291, 292, 293, 294, 295, 296, 297, - 298, 530, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 0, 320, 321, 322, 323, 324, 325, 0, 326, - 327, 0, 329, 0, 330, 331, 332, 333, 334, 335, - 0, 336, 337, 0, 0, 338, 339, 340, 0, 0, - 341, 342, 0, 344, 0, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 0, 0, - 0, 0, 359, 360, 361, 0, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 0, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 0, 0, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 0, 429, 430, - 431, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 531, 447, 448, 449, - 0, 450, 451, 0, 452, 0, 454, 455, 456, 457, - 458, 0, 459, 460, 0, 461, 0, 462, 463, 464, - 465, 466, 0, 467, 468, 469, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 0, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 487, 488, 0, - 489, 0, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 0, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 528, 0, 552, 0, 0, + 0, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 0, 129, 130, 131, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 134, 135, 0, 136, + 137, 138, 0, 140, 141, 142, 143, 144, 0, 146, + 147, 0, 148, 149, 150, 151, 152, 153, 0, 0, + 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, + 163, 164, 165, 0, 0, 0, 167, 168, 169, 170, + 171, 172, 0, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 0, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 213, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 0, 235, 0, 236, 237, + 238, 239, 0, 240, 0, 241, 0, 0, 0, 244, + 245, 546, 0, 248, 0, 249, 250, 0, 0, 251, + 252, 253, 254, 0, 255, 256, 257, 258, 259, 977, + 261, 0, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 0, 276, 277, 278, + 279, 280, 281, 282, 283, 0, 284, 0, 285, 0, + 0, 288, 0, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 0, 299, 0, 0, 301, 302, 303, + 304, 305, 306, 307, 308, 547, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 332, 333, + 334, 335, 336, 337, 0, 338, 339, 0, 341, 0, + 342, 343, 344, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 355, 0, + 357, 0, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 375, 0, 377, 378, 379, 380, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, + 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 0, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 0, 0, 444, 445, + 446, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 548, 462, 463, 0, + 0, 464, 465, 0, 466, 0, 468, 469, 470, 471, + 472, 0, 473, 474, 475, 0, 476, 0, 477, 478, + 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 492, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 502, 503, + 0, 504, 0, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 545, 0, + 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 0, 129, 130, 131, + 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, + 134, 135, 0, 136, 137, 138, 0, 140, 141, 142, + 143, 144, 0, 146, 147, 0, 148, 149, 150, 151, + 152, 153, 0, 0, 154, 155, 156, 157, 158, 159, + 160, 0, 161, 162, 163, 164, 165, 0, 0, 0, + 167, 168, 169, 170, 171, 172, 0, 174, 175, 176, + 0, 177, 178, 179, 180, 181, 182, 0, 0, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 0, 199, 0, 200, 201, 202, + 203, 204, 205, 0, 0, 206, 207, 208, 209, 210, + 0, 0, 211, 212, 213, 214, 215, 216, 217, 0, + 218, 219, 220, 0, 221, 222, 223, 0, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 0, + 235, 0, 236, 237, 238, 239, 0, 240, 0, 241, + 0, 0, 0, 244, 245, 546, 0, 248, 0, 249, + 250, 0, 0, 251, 252, 253, 254, 0, 255, 256, + 257, 258, 259, 980, 261, 0, 263, 264, 265, 266, + 0, 267, 268, 269, 270, 271, 272, 273, 0, 274, + 0, 276, 277, 278, 279, 280, 281, 282, 283, 0, + 284, 0, 285, 0, 0, 288, 0, 290, 291, 292, + 293, 294, 295, 296, 0, 0, 297, 0, 299, 0, + 0, 301, 302, 303, 304, 305, 306, 307, 308, 547, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 332, 333, 334, 335, 336, 337, 0, 338, + 339, 0, 341, 0, 342, 343, 344, 345, 346, 347, + 0, 348, 349, 0, 0, 350, 351, 352, 0, 0, + 353, 354, 355, 0, 357, 0, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 0, 0, 0, 0, 373, 374, 375, 0, 377, 378, + 379, 380, 381, 382, 0, 383, 384, 385, 386, 387, + 388, 389, 390, 0, 391, 392, 393, 394, 395, 396, + 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 0, 413, 414, + 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 0, 0, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 0, 0, 444, 445, 446, 447, 0, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 548, 462, 463, 0, 0, 464, 465, 0, 466, 0, + 468, 469, 470, 471, 472, 0, 473, 474, 475, 0, + 476, 0, 477, 478, 479, 480, 481, 0, 482, 483, + 484, 485, 486, 487, 488, 489, 0, 0, 490, 491, + 492, 0, 493, 494, 495, 496, 0, 497, 498, 499, + 500, 501, 502, 503, 0, 504, 0, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 0, 0, 515, 0, + 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 0, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 0, 0, 0, 0, 127, 128, 0, - 129, 130, 131, 0, 133, 134, 135, 136, 137, 0, - 139, 140, 0, 141, 142, 143, 144, 145, 146, 0, - 0, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 0, 0, 0, 158, 159, 160, 161, 162, - 163, 0, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 0, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 0, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 0, 225, 0, 226, 227, 228, 229, 0, - 230, 0, 231, 0, 0, 0, 234, 235, 529, 0, - 238, 0, 239, 240, 0, 0, 241, 242, 243, 244, - 0, 245, 246, 247, 248, 249, 814, 251, 0, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 0, 266, 267, 268, 269, 270, 271, - 272, 273, 0, 274, 0, 275, 0, 0, 278, 0, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 0, 289, 0, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 530, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 0, 320, 321, 322, 323, 324, 325, 0, - 326, 327, 0, 329, 0, 330, 331, 332, 333, 334, - 335, 0, 336, 337, 0, 0, 338, 339, 340, 0, - 0, 341, 342, 0, 344, 0, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 0, - 0, 0, 0, 359, 360, 361, 0, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 0, 0, 0, 0, 0, 132, + 0, 0, 0, 0, 134, 135, 0, 136, 137, 138, + 0, 140, 141, 142, 143, 144, 0, 146, 147, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 158, 159, 160, 0, 161, 162, 163, 164, + 165, 0, 0, 0, 167, 168, 169, 170, 171, 172, + 0, 174, 175, 176, 0, 177, 178, 179, 180, 181, + 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 0, 0, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 213, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 221, 222, + 223, 0, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 0, 235, 0, 236, 237, 238, 239, + 0, 240, 0, 241, 0, 0, 0, 244, 245, 546, + 0, 248, 0, 249, 250, 0, 0, 251, 252, 253, + 254, 0, 255, 256, 257, 258, 259, 984, 261, 0, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 0, 276, 277, 278, 279, 280, + 281, 282, 283, 0, 284, 0, 285, 0, 0, 288, + 0, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 0, 299, 0, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 547, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 332, 333, 334, 335, + 336, 337, 0, 338, 339, 0, 341, 0, 342, 343, + 344, 345, 346, 347, 0, 348, 349, 0, 0, 350, + 351, 352, 0, 0, 353, 354, 355, 0, 357, 0, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 0, 0, 0, 0, 373, 374, + 375, 0, 377, 378, 379, 380, 381, 382, 0, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, + 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 0, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 0, 429, - 430, 431, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 531, 447, 448, - 449, 0, 450, 451, 0, 452, 0, 454, 455, 456, - 457, 458, 0, 459, 460, 0, 461, 0, 462, 463, - 464, 465, 466, 0, 467, 468, 469, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 0, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 487, 488, - 0, 489, 0, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 0, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 528, 0, 552, 0, + 412, 0, 413, 414, 0, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 0, 0, 444, 445, 446, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 548, 462, 463, 0, 0, 464, + 465, 0, 466, 0, 468, 469, 470, 471, 472, 0, + 473, 474, 475, 0, 476, 0, 477, 478, 479, 480, + 481, 0, 482, 483, 484, 485, 486, 487, 488, 489, + 0, 0, 490, 491, 492, 0, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 502, 503, 0, 504, + 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 0, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 0, 122, 123, 124, 0, 0, - 0, 0, 0, 125, 0, 0, 0, 0, 127, 128, - 0, 129, 130, 131, 0, 133, 134, 135, 136, 137, - 0, 139, 140, 0, 141, 142, 143, 144, 145, 146, - 0, 0, 147, 148, 149, 150, 151, 0, 152, 153, - 154, 155, 156, 0, 0, 0, 158, 159, 160, 161, - 162, 163, 0, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 0, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 0, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 0, 0, 201, 202, 203, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, - 0, 230, 0, 231, 0, 0, 0, 234, 235, 529, - 0, 238, 0, 239, 240, 0, 0, 241, 242, 243, - 244, 0, 245, 246, 247, 248, 249, 916, 251, 0, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 0, 266, 267, 268, 269, 270, - 271, 272, 273, 0, 274, 0, 275, 0, 0, 278, - 0, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 0, 289, 0, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 530, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 0, 320, 321, 322, 323, 324, 325, - 0, 326, 327, 0, 329, 0, 330, 331, 332, 333, - 334, 335, 0, 336, 337, 0, 0, 338, 339, 340, - 0, 0, 341, 342, 0, 344, 0, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 361, 0, 363, 364, - 365, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 0, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 0, 0, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 0, - 429, 430, 431, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 531, 447, - 448, 449, 0, 450, 451, 0, 452, 0, 454, 455, - 456, 457, 458, 0, 459, 460, 0, 461, 0, 462, - 463, 464, 465, 466, 0, 467, 468, 469, 470, 471, - 472, 473, 474, 0, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, - 488, 0, 489, 0, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 528, 0, 552, + 0, 0, 0, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 0, 129, 130, 131, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 134, 135, + 0, 136, 137, 138, 0, 140, 141, 142, 143, 144, + 0, 146, 147, 0, 148, 149, 150, 151, 152, 153, + 0, 0, 154, 155, 156, 157, 158, 159, 160, 0, + 161, 162, 163, 164, 165, 0, 0, 0, 167, 168, + 169, 170, 171, 172, 0, 174, 175, 176, 0, 177, + 178, 179, 180, 181, 182, 0, 0, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 0, 199, 0, 200, 201, 202, 203, 204, + 205, 0, 0, 206, 207, 208, 209, 210, 0, 0, + 211, 212, 213, 214, 215, 216, 217, 0, 218, 219, + 220, 0, 221, 222, 223, 0, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 0, 235, 0, + 236, 237, 238, 239, 0, 240, 0, 241, 0, 0, + 0, 244, 245, 546, 0, 248, 0, 249, 250, 0, + 0, 251, 252, 253, 254, 0, 255, 256, 257, 258, + 259, 1013, 261, 0, 263, 264, 265, 266, 0, 267, + 268, 269, 270, 271, 272, 273, 0, 274, 0, 276, + 277, 278, 279, 280, 281, 282, 283, 0, 284, 0, + 285, 0, 0, 288, 0, 290, 291, 292, 293, 294, + 295, 296, 0, 0, 297, 0, 299, 0, 0, 301, + 302, 303, 304, 305, 306, 307, 308, 547, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 332, 333, 334, 335, 336, 337, 0, 338, 339, 0, + 341, 0, 342, 343, 344, 345, 346, 347, 0, 348, + 349, 0, 0, 350, 351, 352, 0, 0, 353, 354, + 355, 0, 357, 0, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 0, 0, + 0, 0, 373, 374, 375, 0, 377, 378, 379, 380, + 381, 382, 0, 383, 384, 385, 386, 387, 388, 389, + 390, 0, 391, 392, 393, 394, 395, 396, 397, 398, + 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 0, 413, 414, 0, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 0, 0, + 444, 445, 446, 447, 0, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 548, 462, + 463, 0, 0, 464, 465, 0, 466, 0, 468, 469, + 470, 471, 472, 0, 473, 474, 475, 0, 476, 0, + 477, 478, 479, 480, 481, 0, 482, 483, 484, 485, + 486, 487, 488, 489, 0, 0, 490, 491, 492, 0, + 493, 494, 495, 496, 0, 497, 498, 499, 500, 501, + 502, 503, 0, 504, 0, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 0, 0, 515, 0, 0, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 134, 135, 0, 136, 137, 138, 0, 140, + 141, 142, 143, 144, 0, 146, 147, 0, 148, 149, + 150, 151, 152, 153, 0, 0, 154, 155, 156, 157, + 158, 159, 160, 0, 161, 162, 163, 164, 165, 0, + 0, 0, 167, 168, 169, 170, 171, 172, 0, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 0, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 213, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 222, 223, 0, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 0, 235, 0, 236, 237, 238, 239, 0, 240, + 0, 241, 0, 0, 0, 244, 245, 546, 0, 248, + 0, 249, 250, 0, 0, 251, 252, 253, 254, 0, + 255, 256, 257, 258, 259, 1042, 261, 0, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 0, 276, 277, 278, 279, 280, 281, 282, + 283, 0, 284, 0, 285, 0, 0, 288, 0, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 0, + 299, 0, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 547, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 332, 333, 334, 335, 336, 337, + 0, 338, 339, 0, 341, 0, 342, 343, 344, 345, + 346, 347, 0, 348, 349, 0, 0, 350, 351, 352, + 0, 0, 353, 354, 355, 0, 357, 0, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 375, 0, + 377, 378, 379, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 392, 393, 394, + 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 0, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 0, 0, 444, 445, 446, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 548, 462, 463, 0, 0, 464, 465, 0, + 466, 0, 468, 469, 470, 471, 472, 0, 473, 474, + 475, 0, 476, 0, 477, 478, 479, 480, 481, 0, + 482, 483, 484, 485, 486, 487, 488, 489, 0, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 502, 503, 0, 504, 0, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 0, 0, 125, 0, 0, 0, 0, 127, - 128, 0, 129, 130, 131, 0, 133, 134, 135, 136, - 137, 0, 139, 140, 0, 141, 142, 143, 144, 145, - 146, 0, 0, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 0, 158, 159, 160, - 161, 162, 163, 0, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 0, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 0, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 203, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 0, 225, 0, 226, 227, 228, - 229, 0, 230, 0, 231, 0, 0, 0, 234, 235, - 529, 0, 238, 0, 239, 240, 0, 0, 241, 242, - 243, 244, 0, 245, 246, 247, 248, 249, 919, 251, - 0, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 0, 266, 267, 268, 269, - 270, 271, 272, 273, 0, 274, 0, 275, 0, 0, - 278, 0, 280, 281, 282, 283, 284, 285, 286, 0, - 0, 287, 0, 289, 0, 0, 291, 292, 293, 294, - 295, 296, 297, 298, 530, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 0, 320, 321, 322, 323, 324, - 325, 0, 326, 327, 0, 329, 0, 330, 331, 332, - 333, 334, 335, 0, 336, 337, 0, 0, 338, 339, - 340, 0, 0, 341, 342, 0, 344, 0, 346, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 361, 0, 363, - 364, 365, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 0, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 0, 129, 130, 131, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 134, 135, 0, 136, + 137, 138, 0, 140, 141, 142, 143, 144, 0, 146, + 147, 0, 148, 149, 150, 151, 152, 153, 0, 0, + 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, + 163, 164, 165, 0, 0, 0, 167, 168, 169, 170, + 171, 172, 0, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 0, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 213, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 0, 235, 0, 236, 237, + 238, 239, 0, 240, 0, 241, 0, 0, 0, 244, + 245, 546, 0, 248, 0, 249, 250, 0, 0, 251, + 252, 253, 254, 0, 255, 256, 257, 258, 259, 1045, + 261, 0, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 0, 276, 277, 278, + 279, 280, 281, 282, 283, 0, 284, 0, 285, 0, + 0, 288, 0, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 0, 299, 0, 0, 301, 302, 303, + 304, 305, 306, 307, 308, 547, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 332, 333, + 334, 335, 336, 337, 0, 338, 339, 0, 341, 0, + 342, 343, 344, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 355, 0, + 357, 0, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 375, 0, 377, 378, 379, 380, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 0, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 0, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 0, 429, 430, 431, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 531, - 447, 448, 449, 0, 450, 451, 0, 452, 0, 454, - 455, 456, 457, 458, 0, 459, 460, 0, 461, 0, - 462, 463, 464, 465, 466, 0, 467, 468, 469, 470, - 471, 472, 473, 474, 0, 0, 475, 476, 477, 0, - 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 487, 488, 0, 489, 0, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 528, 0, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 0, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 0, 0, 444, 445, + 446, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 548, 462, 463, 0, + 0, 464, 465, 0, 466, 0, 468, 469, 470, 471, + 472, 0, 473, 474, 475, 0, 476, 0, 477, 478, + 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 492, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 502, 503, + 0, 504, 0, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 0, 0, 125, 0, 1043, 0, 0, - 127, 128, 0, 129, 130, 131, 0, 133, 134, 135, - 136, 137, 0, 139, 140, 0, 141, 142, 143, 144, - 145, 146, 0, 0, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 0, 158, 159, - 160, 161, 162, 163, 0, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 0, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 0, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 203, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 212, 213, 0, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 0, 225, 0, 226, 227, - 228, 229, 0, 230, 0, 231, 0, 0, 0, 234, - 235, 529, 0, 238, 0, 239, 240, 0, 0, 241, - 242, 243, 244, 0, 245, 246, 247, 248, 249, 250, - 251, 0, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 0, 266, 267, 268, - 269, 270, 271, 272, 273, 0, 274, 0, 275, 0, - 0, 278, 0, 280, 281, 282, 283, 284, 285, 286, - 0, 0, 287, 0, 289, 0, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 530, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 0, 320, 321, 322, 323, - 324, 325, 0, 326, 327, 0, 329, 0, 330, 331, - 332, 333, 334, 335, 0, 336, 337, 0, 0, 338, - 339, 340, 0, 0, 341, 342, 0, 344, 0, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 0, 0, 0, 0, 359, 360, 361, 0, - 363, 364, 365, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 0, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 0, 0, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 0, 429, 430, 431, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 531, 447, 448, 449, 0, 450, 451, 0, 452, 0, - 454, 455, 456, 457, 458, 0, 459, 460, 0, 461, - 0, 462, 463, 464, 465, 466, 0, 467, 468, 469, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 487, 488, 0, 489, 0, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 0, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 528, + 0, 0, 0, 0, 0, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 0, 129, 130, 131, + 0, 0, 0, 0, 0, 132, 0, 1091, 0, 0, + 134, 135, 0, 136, 137, 138, 0, 140, 141, 142, + 143, 144, 0, 146, 147, 0, 148, 149, 150, 151, + 152, 153, 0, 0, 154, 155, 156, 157, 158, 159, + 160, 0, 161, 162, 163, 164, 165, 0, 0, 0, + 167, 168, 169, 170, 171, 172, 0, 174, 175, 176, + 0, 177, 178, 179, 180, 181, 182, 0, 0, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 0, 199, 0, 200, 201, 202, + 203, 204, 205, 0, 0, 206, 207, 208, 209, 210, + 0, 0, 211, 212, 213, 214, 215, 216, 217, 0, + 218, 219, 220, 0, 221, 222, 223, 0, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 0, + 235, 0, 236, 237, 238, 239, 0, 240, 0, 241, + 0, 0, 0, 244, 245, 546, 0, 248, 0, 249, + 250, 0, 0, 251, 252, 253, 254, 0, 255, 256, + 257, 258, 259, 260, 261, 0, 263, 264, 265, 266, + 0, 267, 268, 269, 270, 271, 272, 273, 0, 274, + 0, 276, 277, 278, 279, 280, 281, 282, 283, 0, + 284, 0, 285, 0, 0, 288, 0, 290, 291, 292, + 293, 294, 295, 296, 0, 0, 297, 0, 299, 0, + 0, 301, 302, 303, 304, 305, 306, 307, 308, 547, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 332, 333, 334, 335, 336, 337, 0, 338, + 339, 0, 341, 0, 342, 343, 344, 345, 346, 347, + 0, 348, 349, 0, 0, 350, 351, 352, 0, 0, + 353, 354, 355, 0, 357, 0, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 0, 0, 0, 0, 373, 374, 375, 0, 377, 378, + 379, 380, 381, 382, 0, 383, 384, 385, 386, 387, + 388, 389, 390, 0, 391, 392, 393, 394, 395, 396, + 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 0, 413, 414, + 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 0, 0, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 0, 0, 444, 445, 446, 447, 0, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 548, 462, 463, 0, 0, 464, 465, 0, 466, 0, + 468, 469, 470, 471, 472, 0, 473, 474, 475, 0, + 476, 0, 477, 478, 479, 480, 481, 0, 482, 483, + 484, 485, 486, 487, 488, 489, 0, 0, 490, 491, + 492, 0, 493, 494, 495, 496, 0, 497, 498, 499, + 500, 501, 502, 503, 0, 504, 0, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 0, 0, 515, 0, + 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 0, 0, 0, 0, 0, 125, 0, 1066, 0, - 0, 127, 128, 0, 129, 130, 131, 0, 133, 134, - 135, 136, 137, 0, 139, 140, 0, 141, 142, 143, - 144, 145, 146, 0, 0, 147, 148, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 0, 0, 0, 158, - 159, 160, 161, 162, 163, 0, 165, 166, 167, 0, - 168, 169, 170, 171, 172, 173, 0, 0, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 0, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 203, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 0, 225, 0, 226, - 227, 228, 229, 0, 230, 0, 231, 0, 0, 0, - 234, 235, 529, 0, 238, 0, 239, 240, 0, 0, - 241, 242, 243, 244, 0, 245, 246, 247, 248, 249, - 250, 251, 0, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 0, 266, 267, - 268, 269, 270, 271, 272, 273, 0, 274, 0, 275, - 0, 0, 278, 0, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 0, 289, 0, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 530, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 0, 320, 321, 322, - 323, 324, 325, 0, 326, 327, 0, 329, 0, 330, - 331, 332, 333, 334, 335, 0, 336, 337, 0, 0, - 338, 339, 340, 0, 0, 341, 342, 0, 344, 0, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 0, 0, 0, 0, 359, 360, 361, - 0, 363, 364, 365, 366, 367, 368, 0, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 0, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, - 0, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 0, 429, 430, 431, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 531, 447, 448, 449, 0, 450, 451, 0, 452, - 0, 454, 455, 456, 457, 458, 0, 459, 460, 0, - 461, 0, 462, 463, 464, 465, 466, 0, 467, 468, - 469, 470, 471, 472, 473, 474, 0, 0, 475, 476, - 477, 0, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 487, 488, 0, 489, 0, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 0, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 528, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 665, 122, - 123, 124, 0, 0, 0, 0, 0, 125, 0, 0, - 0, 0, 127, 128, 0, 129, 130, 131, 0, 133, - 134, 135, 136, 137, 0, 139, 140, 0, 141, 142, - 143, 144, 145, 146, 0, 0, 147, 148, 149, 150, - 151, 0, 152, 153, 154, 155, 156, 0, 0, 0, - 158, 159, 160, 161, 162, 163, 0, 165, 166, 167, - 0, 168, 169, 170, 171, 172, 173, 0, 0, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 0, 188, 0, 189, 190, 191, 192, 193, - 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, - 201, 202, 203, 204, 205, 206, 207, 0, 208, 209, - 210, 0, 211, 212, 213, 0, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 0, 225, 0, - 226, 227, 228, 229, 0, 230, 0, 231, 0, 0, - 0, 234, 235, 529, 0, 238, 0, 239, 240, 0, - 0, 241, 242, 243, 244, 0, 245, 246, 247, 248, - 249, 250, 251, 0, 253, 254, 255, 256, 0, 257, - 258, 259, 260, 261, 262, 263, 0, 264, 0, 266, - 267, 268, 269, 270, 271, 272, 273, 0, 274, 0, - 275, 0, 0, 278, 0, 280, 281, 282, 283, 284, - 285, 286, 0, 0, 287, 0, 289, 0, 0, 291, - 292, 293, 294, 295, 296, 297, 298, 530, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 0, 320, 321, - 322, 323, 324, 325, 0, 326, 327, 0, 329, 0, - 330, 331, 332, 333, 334, 335, 0, 336, 337, 0, - 0, 338, 339, 340, 0, 0, 341, 342, 0, 344, - 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 0, 0, 0, 0, 359, 360, - 361, 0, 363, 364, 365, 366, 367, 368, 0, 369, - 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, - 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 399, 400, 0, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 0, 0, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 0, 429, 430, 431, 432, 0, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 531, 447, 448, 449, 0, 450, 451, 0, - 452, 0, 454, 455, 456, 457, 458, 0, 669, 460, - 0, 461, 0, 670, 463, 464, 465, 466, 0, 467, - 468, 469, 470, 471, 472, 473, 474, 0, 0, 475, - 476, 477, 0, 478, 479, 480, 481, 0, 482, 483, - 484, 485, 486, 487, 488, 0, 489, 0, 491, 492, - 493, 494, 495, 496, 497, 0, 0, 498, 0, 0, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 528, 0, 552, 0, 0, 0, 0, 0, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 0, 0, 0, 0, 0, 132, + 0, 1114, 0, 0, 134, 135, 0, 136, 137, 138, + 0, 140, 141, 142, 143, 144, 0, 146, 147, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 158, 159, 160, 0, 161, 162, 163, 164, + 165, 0, 0, 0, 167, 168, 169, 170, 171, 172, + 0, 174, 175, 176, 0, 177, 178, 179, 180, 181, + 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 0, 0, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 213, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 221, 222, + 223, 0, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 0, 235, 0, 236, 237, 238, 239, + 0, 240, 0, 241, 0, 0, 0, 244, 245, 546, + 0, 248, 0, 249, 250, 0, 0, 251, 252, 253, + 254, 0, 255, 256, 257, 258, 259, 260, 261, 0, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 0, 276, 277, 278, 279, 280, + 281, 282, 283, 0, 284, 0, 285, 0, 0, 288, + 0, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 0, 299, 0, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 547, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 332, 333, 334, 335, + 336, 337, 0, 338, 339, 0, 341, 0, 342, 343, + 344, 345, 346, 347, 0, 348, 349, 0, 0, 350, + 351, 352, 0, 0, 353, 354, 355, 0, 357, 0, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 0, 0, 0, 0, 373, 374, + 375, 0, 377, 378, 379, 380, 381, 382, 0, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, + 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 0, 413, 414, 0, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 0, 0, 444, 445, 446, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 548, 462, 463, 0, 0, 464, + 465, 0, 466, 0, 468, 469, 470, 471, 472, 0, + 473, 474, 475, 0, 476, 0, 477, 478, 479, 480, + 481, 0, 482, 483, 484, 485, 486, 487, 488, 489, + 0, 0, 490, 491, 492, 0, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 502, 503, 0, 504, + 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 0, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 545, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 850, 129, 130, 131, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 134, 135, + 0, 136, 137, 138, 0, 140, 141, 142, 143, 144, + 0, 146, 147, 0, 148, 149, 150, 151, 152, 153, + 0, 0, 154, 155, 156, 157, 158, 159, 160, 0, + 161, 162, 163, 164, 165, 0, 0, 0, 167, 168, + 169, 170, 171, 172, 0, 174, 175, 176, 0, 177, + 178, 179, 180, 181, 182, 0, 0, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 0, 199, 0, 200, 201, 202, 203, 204, + 205, 0, 0, 206, 207, 208, 209, 210, 0, 0, + 211, 212, 213, 214, 215, 216, 217, 0, 218, 219, + 220, 0, 221, 222, 223, 0, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 0, 235, 0, + 236, 237, 238, 239, 0, 240, 0, 241, 0, 0, + 0, 244, 245, 546, 0, 248, 0, 249, 250, 0, + 0, 251, 252, 253, 254, 0, 255, 256, 257, 258, + 259, 260, 261, 0, 263, 264, 265, 266, 0, 267, + 268, 269, 270, 271, 272, 273, 0, 274, 0, 276, + 277, 278, 279, 280, 281, 282, 283, 0, 284, 0, + 285, 0, 0, 288, 0, 290, 291, 292, 293, 294, + 295, 296, 0, 0, 297, 0, 299, 0, 0, 301, + 302, 303, 304, 305, 306, 307, 308, 547, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 332, 333, 334, 335, 336, 337, 0, 338, 339, 0, + 341, 0, 342, 343, 344, 345, 346, 347, 0, 348, + 349, 0, 0, 350, 351, 352, 0, 0, 353, 354, + 355, 0, 357, 0, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 0, 0, + 0, 0, 373, 374, 375, 0, 377, 378, 379, 380, + 381, 382, 0, 383, 384, 385, 386, 387, 388, 389, + 390, 0, 391, 392, 393, 394, 395, 396, 397, 398, + 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 0, 413, 414, 0, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 0, 0, + 444, 445, 446, 447, 0, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 548, 462, + 463, 0, 0, 464, 465, 0, 466, 0, 468, 469, + 470, 471, 472, 0, 473, 854, 475, 0, 476, 0, + 855, 478, 479, 480, 481, 0, 482, 483, 484, 485, + 486, 487, 488, 489, 0, 0, 490, 491, 492, 0, + 493, 494, 495, 496, 0, 497, 498, 499, 500, 501, + 502, 503, 0, 504, 0, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 0, 0, 515, 0, 0, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 134, 135, 0, 136, 137, 138, 0, 140, + 141, 142, 143, 144, 0, 146, 147, 0, 148, 149, + 150, 151, 152, 153, 0, 0, 154, 155, 156, 157, + 158, 159, 160, 0, 161, 162, 163, 164, 165, 0, + 0, 0, 167, 168, 169, 170, 171, 172, 0, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 0, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 213, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 222, 223, 0, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 0, 235, 0, 236, 237, 238, 239, 0, 240, + 0, 241, 0, 0, 0, 244, 245, 546, 0, 248, + 0, 249, 250, 0, 0, 251, 252, 253, 254, 0, + 255, 256, 257, 258, 259, 1392, 261, 0, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 0, 276, 277, 278, 279, 280, 281, 282, + 283, 0, 284, 0, 285, 0, 0, 288, 0, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 0, + 299, 0, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 547, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 332, 333, 334, 335, 336, 337, + 0, 338, 339, 0, 341, 0, 342, 343, 344, 345, + 346, 347, 0, 348, 349, 0, 0, 350, 351, 352, + 0, 0, 353, 354, 355, 0, 357, 0, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 375, 0, + 377, 378, 379, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 392, 393, 394, + 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 0, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 0, 0, 444, 445, 446, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 548, 462, 463, 0, 0, 464, 465, 0, + 466, 0, 468, 469, 470, 471, 472, 0, 473, 474, + 475, 0, 476, 0, 477, 478, 479, 480, 481, 0, + 482, 483, 484, 485, 486, 487, 488, 489, 0, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 502, 503, 0, 504, 0, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, - 122, 123, 124, 0, 0, 0, 0, 0, 125, 0, - 0, 0, 0, 127, 128, 0, 129, 130, 131, 0, - 133, 134, 135, 136, 137, 0, 139, 140, 0, 141, - 142, 143, 144, 145, 146, 0, 0, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, - 0, 158, 159, 160, 161, 162, 163, 0, 165, 166, - 167, 0, 168, 169, 170, 171, 172, 173, 0, 0, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 0, 188, 0, 189, 190, 191, 192, - 193, 194, 0, 195, 196, 197, 198, 199, 200, 0, - 0, 201, 202, 203, 204, 205, 206, 207, 0, 208, - 209, 210, 0, 211, 212, 213, 0, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 0, 225, - 0, 226, 227, 228, 229, 0, 230, 0, 231, 0, - 0, 0, 234, 235, 529, 0, 238, 0, 239, 240, - 0, 0, 241, 242, 243, 244, 0, 245, 246, 247, - 248, 249, 1414, 251, 0, 253, 254, 255, 256, 0, - 257, 258, 259, 260, 261, 262, 263, 0, 264, 0, - 266, 267, 268, 269, 270, 271, 272, 273, 0, 274, - 0, 275, 0, 0, 278, 0, 280, 281, 282, 283, - 284, 285, 286, 0, 0, 287, 0, 289, 0, 0, - 291, 292, 293, 294, 295, 296, 297, 298, 530, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 0, 320, - 321, 322, 323, 324, 325, 0, 326, 327, 0, 329, - 0, 330, 331, 332, 333, 334, 335, 0, 336, 337, - 0, 0, 338, 339, 340, 0, 0, 341, 342, 0, - 344, 0, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 0, 0, 0, 0, 359, - 360, 361, 0, 363, 364, 365, 366, 367, 368, 0, - 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, - 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 399, 400, 0, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 0, 0, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 0, 429, 430, 431, 432, 0, + 0, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 0, 129, 130, 131, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 134, 135, 0, 136, + 137, 138, 0, 140, 141, 142, 143, 144, 0, 146, + 147, 0, 148, 149, 150, 151, 152, 153, 0, 0, + 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, + 163, 164, 165, 0, 0, 0, 167, 168, 169, 170, + 171, 172, 0, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 0, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 213, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 0, 235, 0, 236, 237, + 238, 239, 0, 240, 0, 241, 0, 0, 0, 244, + 245, 546, 0, 248, 0, 249, 250, 0, 0, 251, + 252, 253, 254, 0, 255, 256, 257, 258, 259, 1394, + 261, 0, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 0, 276, 277, 278, + 279, 280, 281, 282, 283, 0, 284, 0, 285, 0, + 0, 288, 0, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 0, 299, 0, 0, 301, 302, 303, + 304, 305, 306, 307, 308, 547, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 0, 332, 333, + 334, 335, 336, 337, 0, 338, 339, 0, 341, 0, + 342, 343, 344, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 355, 0, + 357, 0, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 375, 0, 377, 378, 379, 380, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, + 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 0, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 0, 0, 444, 445, + 446, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 548, 462, 463, 0, + 0, 464, 465, 0, 466, 0, 468, 469, 470, 471, + 472, 0, 473, 474, 475, 0, 476, 0, 477, 478, + 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 492, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 502, 503, + 0, 504, 0, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 545, 0, + 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 0, 129, 130, 131, + 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, + 134, 135, 0, 136, 137, 138, 0, 140, 141, 142, + 143, 144, 0, 146, 147, 0, 148, 149, 150, 151, + 152, 153, 0, 0, 154, 155, 156, 157, 158, 159, + 160, 0, 161, 162, 163, 164, 165, 0, 0, 0, + 167, 168, 169, 170, 171, 172, 0, 174, 175, 176, + 0, 177, 178, 179, 180, 181, 182, 0, 0, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 0, 199, 0, 200, 201, 202, + 203, 204, 205, 0, 0, 206, 207, 208, 209, 210, + 0, 0, 211, 212, 213, 214, 215, 216, 217, 0, + 218, 219, 220, 0, 221, 222, 223, 0, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 0, + 235, 0, 236, 237, 238, 239, 0, 240, 0, 241, + 0, 0, 0, 244, 245, 546, 0, 248, 0, 249, + 250, 0, 0, 251, 252, 253, 254, 0, 255, 256, + 257, 258, 259, 1397, 261, 0, 263, 264, 265, 266, + 0, 267, 268, 269, 270, 271, 272, 273, 0, 274, + 0, 276, 277, 278, 279, 280, 281, 282, 283, 0, + 284, 0, 285, 0, 0, 288, 0, 290, 291, 292, + 293, 294, 295, 296, 0, 0, 297, 0, 299, 0, + 0, 301, 302, 303, 304, 305, 306, 307, 308, 547, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 0, 332, 333, 334, 335, 336, 337, 0, 338, + 339, 0, 341, 0, 342, 343, 344, 345, 346, 347, + 0, 348, 349, 0, 0, 350, 351, 352, 0, 0, + 353, 354, 355, 0, 357, 0, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 0, 0, 0, 0, 373, 374, 375, 0, 377, 378, + 379, 380, 381, 382, 0, 383, 384, 385, 386, 387, + 388, 389, 390, 0, 391, 392, 393, 394, 395, 396, + 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 0, 413, 414, + 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 531, 447, 448, 449, 0, 450, 451, - 0, 452, 0, 454, 455, 456, 457, 458, 0, 459, - 460, 0, 461, 0, 462, 463, 464, 465, 466, 0, - 467, 468, 469, 470, 471, 472, 473, 474, 0, 0, - 475, 476, 477, 0, 478, 479, 480, 481, 0, 482, - 483, 484, 485, 486, 487, 488, 0, 489, 0, 491, - 492, 493, 494, 495, 496, 497, 0, 0, 498, 0, - 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 528, 0, 552, 0, 0, 0, 0, 0, + 0, 0, 444, 445, 446, 447, 0, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 548, 462, 463, 0, 0, 464, 465, 0, 466, 0, + 468, 469, 470, 471, 472, 0, 473, 474, 475, 0, + 476, 0, 477, 478, 479, 480, 481, 0, 482, 483, + 484, 485, 486, 487, 488, 489, 0, 0, 490, 491, + 492, 0, 493, 494, 495, 496, 0, 497, 498, 499, + 500, 501, 502, 503, 0, 504, 0, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 0, 0, 515, 0, + 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 545, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 0, 122, 123, 124, 0, 0, 0, 0, 0, 125, - 0, 0, 0, 0, 127, 128, 0, 129, 130, 131, - 0, 133, 134, 135, 136, 137, 0, 139, 140, 0, - 141, 142, 143, 144, 145, 146, 0, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 0, 158, 159, 160, 161, 162, 163, 0, 165, - 166, 167, 0, 168, 169, 170, 171, 172, 173, 0, - 0, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 0, 188, 0, 189, 190, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, - 0, 0, 201, 202, 203, 204, 205, 206, 207, 0, - 208, 209, 210, 0, 211, 212, 213, 0, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 0, - 225, 0, 226, 227, 228, 229, 0, 230, 0, 231, - 0, 0, 0, 234, 235, 529, 0, 238, 0, 239, - 240, 0, 0, 241, 242, 243, 244, 0, 245, 246, - 247, 248, 249, 1416, 251, 0, 253, 254, 255, 256, - 0, 257, 258, 259, 260, 261, 262, 263, 0, 264, - 0, 266, 267, 268, 269, 270, 271, 272, 273, 0, - 274, 0, 275, 0, 0, 278, 0, 280, 281, 282, - 283, 284, 285, 286, 0, 0, 287, 0, 289, 0, - 0, 291, 292, 293, 294, 295, 296, 297, 298, 530, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 0, - 320, 321, 322, 323, 324, 325, 0, 326, 327, 0, - 329, 0, 330, 331, 332, 333, 334, 335, 0, 336, - 337, 0, 0, 338, 339, 340, 0, 0, 341, 342, - 0, 344, 0, 346, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 0, 0, 0, 0, - 359, 360, 361, 0, 363, 364, 365, 366, 367, 368, - 0, 369, 370, 371, 372, 373, 374, 375, 376, 0, - 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 399, 400, 0, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 0, 0, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 0, 429, 430, 431, 432, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 0, 0, 0, 0, 0, 132, + 0, 0, 0, 0, 134, 135, 0, 136, 137, 138, + 0, 140, 141, 142, 143, 144, 0, 146, 147, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 158, 159, 160, 0, 161, 162, 163, 164, + 165, 0, 0, 0, 167, 168, 169, 170, 171, 172, + 0, 174, 175, 176, 0, 177, 178, 179, 180, 181, + 182, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 0, 0, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 213, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 221, 222, + 223, 0, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 0, 235, 0, 236, 237, 238, 239, + 0, 240, 0, 241, 0, 0, 0, 244, 245, 546, + 0, 248, 0, 249, 250, 0, 0, 251, 252, 253, + 254, 0, 255, 256, 257, 258, 259, 1399, 261, 0, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 0, 276, 277, 278, 279, 280, + 281, 282, 283, 0, 284, 0, 285, 0, 0, 288, + 0, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 0, 299, 0, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 547, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 0, 332, 333, 334, 335, + 336, 337, 0, 338, 339, 0, 341, 0, 342, 343, + 344, 345, 346, 347, 0, 348, 349, 0, 0, 350, + 351, 352, 0, 0, 353, 354, 355, 0, 357, 0, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 0, 0, 0, 0, 373, 374, + 375, 0, 377, 378, 379, 380, 381, 382, 0, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, + 393, 394, 395, 396, 397, 398, 0, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 0, 413, 414, 0, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 0, 0, 444, 445, 446, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 548, 462, 463, 0, 0, 464, + 465, 0, 466, 0, 468, 469, 470, 471, 472, 0, + 473, 474, 475, 0, 476, 0, 477, 478, 479, 480, + 481, 0, 482, 483, 484, 485, 486, 487, 488, 489, + 0, 0, 490, 491, 492, 0, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 502, 503, 0, 504, + 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 0, 516, 517, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 545, 0, 573, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 0, 129, 130, 131, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 134, 135, + 0, 136, 137, 138, 0, 140, 141, 142, 143, 144, + 0, 146, 147, 0, 148, 149, 150, 151, 152, 153, + 0, 0, 154, 155, 156, 157, 158, 159, 160, 0, + 161, 162, 163, 164, 165, 0, 0, 0, 167, 168, + 169, 170, 171, 172, 0, 174, 175, 176, 0, 177, + 178, 179, 180, 181, 182, 0, 0, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 0, 199, 0, 200, 201, 202, 203, 204, + 205, 0, 0, 206, 207, 208, 209, 210, 0, 0, + 211, 212, 213, 214, 215, 216, 217, 0, 218, 219, + 220, 0, 221, 222, 223, 0, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 0, 235, 0, + 236, 237, 238, 239, 0, 240, 0, 241, 0, 0, + 0, 244, 245, 546, 0, 248, 0, 249, 250, 0, + 0, 251, 252, 253, 254, 0, 255, 256, 257, 258, + 259, 2336, 261, 0, 263, 264, 265, 266, 0, 267, + 268, 269, 270, 271, 272, 273, 0, 274, 0, 276, + 277, 278, 279, 280, 281, 282, 283, 0, 284, 0, + 285, 0, 0, 288, 0, 290, 291, 292, 293, 294, + 295, 296, 0, 0, 297, 0, 299, 0, 0, 301, + 302, 303, 304, 305, 306, 307, 308, 547, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 0, + 332, 333, 334, 335, 336, 337, 0, 338, 339, 0, + 341, 0, 342, 343, 344, 345, 346, 347, 0, 348, + 349, 0, 0, 350, 351, 352, 0, 0, 353, 354, + 355, 0, 357, 0, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 0, 0, + 0, 0, 373, 374, 375, 0, 377, 378, 379, 380, + 381, 382, 0, 383, 384, 385, 386, 387, 388, 389, + 390, 0, 391, 392, 393, 394, 395, 396, 397, 398, + 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 0, 413, 414, 0, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 0, 0, + 444, 445, 446, 447, 0, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 548, 462, + 463, 0, 0, 464, 465, 0, 466, 0, 468, 469, + 470, 471, 472, 0, 473, 474, 475, 0, 476, 0, + 477, 478, 479, 480, 481, 0, 482, 483, 484, 485, + 486, 487, 488, 489, 0, 0, 490, 491, 492, 0, + 493, 494, 495, 496, 0, 497, 498, 499, 500, 501, + 502, 503, 0, 504, 0, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 0, 0, 515, 0, 0, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 1568, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 0, 0, 0, 1569, 0, 132, 0, -978, + 0, 1570, 134, 135, 0, 136, 137, 138, 1571, 140, + 141, 142, 0, 1572, 1573, 1574, 1575, 0, 148, 149, + 150, 151, 152, 153, 0, 0, 154, 155, 156, 157, + 1576, 1577, 160, 0, 161, 162, 163, 164, 0, 0, + 1578, 0, 1579, 168, 169, 170, 171, 172, 1580, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 1581, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 1582, 195, 196, 1583, 198, 0, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 1150, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 222, 223, 0, + 224, 225, 226, 227, 0, 229, 230, 231, 232, 233, + 0, 0, 235, 0, 236, 237, 1584, 239, 0, 240, + 0, 241, 1585, 0, 1586, 244, 245, -978, 1587, 248, + 0, 249, 250, 0, 0, 0, 0, 253, 254, 0, + 255, 256, 257, 258, 259, 260, 261, 1588, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 1589, 0, 277, 278, 279, 280, 281, 1590, + 1591, 0, 1592, 0, 285, 1593, 1594, 288, 1595, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 1596, + 299, 1597, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 1598, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 1599, 1600, 1601, 333, 334, 335, 336, 0, + 0, 338, 339, 1602, 341, 0, 0, 343, 1603, 345, + 346, 347, 0, 348, 349, 0, 0, 350, 351, 352, + 0, 0, 353, 354, 0, 1604, 357, 1605, 0, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 0, 1606, + 377, 378, 0, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 392, 393, 1607, + 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 1608, 416, 417, 418, 1609, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 1610, 433, 434, 435, 436, 437, 438, 1611, 440, + 441, 442, 0, 1612, 444, 445, 1613, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 1614, 462, 0, 0, 0, 464, 465, 0, + 466, 1615, 468, 469, 470, 471, 472, 0, 473, 1616, + 1617, 0, 476, 0, 477, 478, 0, 480, 0, 0, + 482, 483, 1618, 485, 486, 487, 488, 489, 1619, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 0, 1620, 0, 504, 1621, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 545, + 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, + 533, 534, 535, 536, 0, 0, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 0, 0, 132, 0, 0, 0, + 0, 134, 135, 0, 136, 137, 138, 0, 140, 141, + 142, 143, 144, 0, 146, 147, 0, 148, 149, 150, + 151, 152, 153, 0, 0, 154, 155, 156, 157, 158, + 159, 160, 0, 161, 162, 163, 164, 165, 0, 0, + 0, 167, 168, 169, 170, 171, 172, 0, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 0, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 0, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 213, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 0, 235, 0, 236, 237, 238, 239, 0, 240, 0, + 241, 0, 0, 0, 244, 245, 546, 0, 248, 0, + 249, 250, 0, 0, 251, 252, 253, 254, 0, 255, + 256, 257, 258, 259, 3149, 261, 0, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 0, 276, 277, 278, 279, 280, 281, 282, 283, + 0, 284, 0, 285, 0, 0, 288, 0, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 0, 299, + 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 547, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 332, 333, 334, 335, 336, 337, 0, + 338, 339, 0, 341, 0, 342, 343, 344, 345, 346, + 347, 0, 348, 349, 0, 0, 350, 351, 352, 0, + 0, 353, 354, 355, 0, 357, 0, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 0, 0, 0, 0, 373, 374, 375, 0, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 394, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 0, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 531, 447, 448, 449, 0, 450, - 451, 0, 452, 0, 454, 455, 456, 457, 458, 0, - 459, 460, 0, 461, 0, 462, 463, 464, 465, 466, - 0, 467, 468, 469, 470, 471, 472, 473, 474, 0, - 0, 475, 476, 477, 0, 478, 479, 480, 481, 0, - 482, 483, 484, 485, 486, 487, 488, 0, 489, 0, - 491, 492, 493, 494, 495, 496, 497, 0, 0, 498, - 0, 0, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 528, 0, 552, 0, 0, 0, 0, + 442, 0, 0, 444, 445, 446, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 548, 462, 463, 0, 0, 464, 465, 0, 466, + 0, 468, 469, 470, 471, 472, 0, 473, 474, 475, + 0, 476, 0, 477, 478, 479, 480, 481, 0, 482, + 483, 484, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 0, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 502, 503, 0, 504, 0, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 0, 515, + 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 0, 0, 0, 0, 0, - 125, 0, 0, 0, 0, 127, 128, 0, 129, 130, - 131, 0, 133, 134, 135, 136, 137, 0, 139, 140, - 0, 141, 142, 143, 144, 145, 146, 0, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 0, 158, 159, 160, 161, 162, 163, 0, - 165, 166, 167, 0, 168, 169, 170, 171, 172, 173, - 0, 0, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 0, 188, 0, 189, 190, - 191, 192, 193, 194, 0, 195, 196, 197, 198, 199, - 200, 0, 0, 201, 202, 203, 204, 205, 206, 207, - 0, 208, 209, 210, 0, 211, 212, 213, 0, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 0, 225, 0, 226, 227, 228, 229, 0, 230, 0, - 231, 0, 0, 0, 234, 235, 529, 0, 238, 0, - 239, 240, 0, 0, 241, 242, 243, 244, 0, 245, - 246, 247, 248, 249, 1419, 251, 0, 253, 254, 255, - 256, 0, 257, 258, 259, 260, 261, 262, 263, 0, - 264, 0, 266, 267, 268, 269, 270, 271, 272, 273, - 0, 274, 0, 275, 0, 0, 278, 0, 280, 281, - 282, 283, 284, 285, 286, 0, 0, 287, 0, 289, - 0, 0, 291, 292, 293, 294, 295, 296, 297, 298, - 530, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 0, 320, 321, 322, 323, 324, 325, 0, 326, 327, - 0, 329, 0, 330, 331, 332, 333, 334, 335, 0, - 336, 337, 0, 0, 338, 339, 340, 0, 0, 341, - 342, 0, 344, 0, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 0, 0, 0, - 0, 359, 360, 361, 0, 363, 364, 365, 366, 367, - 368, 0, 369, 370, 371, 372, 373, 374, 375, 376, - 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 399, 400, 0, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 0, 0, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 0, 429, 430, 431, - 432, 0, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 531, 447, 448, 449, 0, - 450, 451, 0, 452, 0, 454, 455, 456, 457, 458, - 0, 459, 460, 0, 461, 0, 462, 463, 464, 465, - 466, 0, 467, 468, 469, 470, 471, 472, 473, 474, - 0, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 0, 482, 483, 484, 485, 486, 487, 488, 0, 489, - 0, 491, 492, 493, 494, 495, 496, 497, 0, 0, - 498, 0, 0, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 528, 0, 552, 0, 0, 0, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 0, 129, 130, 131, 0, 0, 0, 0, 0, + 132, 0, 0, 0, 0, 134, 135, 0, 136, 137, + 138, 0, 140, 141, 142, 143, 144, 0, 146, 147, + 0, 148, 149, 150, 151, 152, 153, 0, 0, 154, + 155, 156, 157, 158, 159, 160, 0, 161, 162, 163, + 164, 165, 0, 0, 0, 167, 168, 169, 170, 171, + 172, 0, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 182, 0, 0, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 0, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 0, 0, 211, 212, 213, + 214, 215, 216, 217, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 0, 235, 0, 236, 237, 238, + 239, 0, 240, 0, 241, 0, 0, 0, 244, 245, + 546, 0, 248, 0, 249, 250, 0, 0, 251, 252, + 253, 254, 0, 255, 256, 257, 258, 259, 260, 261, + 0, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 0, 276, 277, 278, 279, + 280, 281, 282, 283, 0, 284, 0, 285, 0, 0, + 288, 0, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 297, 0, 299, 0, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 547, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 332, 333, 334, + 335, 336, 337, 0, 338, 339, 0, 341, 0, 342, + 343, 344, 345, 346, 347, 0, 348, 349, 0, 0, + 350, 351, 352, 0, 0, 353, 354, 355, 0, 357, + 0, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 0, 0, 0, 0, 373, + 374, 375, 0, 377, 378, 379, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, + 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 0, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 0, 0, 444, 445, 446, + 447, 0, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 548, 462, 463, 0, 0, + 464, 465, 0, 466, 0, 468, 469, 470, 471, 472, + 0, 473, 474, 475, 0, 476, 0, 477, 478, 479, + 480, 481, 0, 482, 483, 484, 485, 486, 487, 488, + 489, 0, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 502, 503, 0, + 504, 0, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 0, 0, 515, 0, 0, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 122, 123, 124, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 0, 127, 128, 0, 129, - 130, 131, 0, 133, 134, 135, 136, 137, 0, 139, - 140, 0, 141, 142, 143, 144, 145, 146, 0, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 158, 159, 160, 161, 162, 163, - 0, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 0, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 0, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 0, 225, 0, 226, 227, 228, 229, 0, 230, - 0, 231, 0, 0, 0, 234, 235, 529, 0, 238, - 0, 239, 240, 0, 0, 241, 242, 243, 244, 0, - 245, 246, 247, 248, 249, 1421, 251, 0, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 0, 266, 267, 268, 269, 270, 271, 272, - 273, 0, 274, 0, 275, 0, 0, 278, 0, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 0, - 289, 0, 0, 291, 292, 293, 294, 295, 296, 297, - 298, 530, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 0, 320, 321, 322, 323, 324, 325, 0, 326, - 327, 0, 329, 0, 330, 331, 332, 333, 334, 335, - 0, 336, 337, 0, 0, 338, 339, 340, 0, 0, - 341, 342, 0, 344, 0, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 0, 0, - 0, 0, 359, 360, 361, 0, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 0, 402, + 0, 0, 0, 0, 0, 0, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 0, 129, 130, 131, 0, + 0, 0, 0, 0, 132, 0, 0, 0, 0, 134, + 135, 0, 136, 137, 138, 0, 140, 141, 142, 143, + 144, 0, 146, 147, 0, 148, 149, 150, 151, 152, + 153, 0, 0, 154, 155, 156, 157, 158, 159, 160, + 0, 161, 162, 163, 164, 165, 0, 0, 0, 167, + 168, 169, 170, 171, 172, 0, 174, 175, 176, 0, + 177, 178, 179, 180, 181, 182, 0, 0, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 0, 199, 0, 200, 201, 202, 203, + 204, 205, 0, 0, 206, 207, 208, 209, 210, 0, + 0, 211, 212, 213, 214, 215, 216, 217, 0, 218, + 219, 220, 0, 221, 222, 223, 0, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 0, 235, + 0, 236, 237, 238, 239, 0, 240, 0, 241, 0, + 0, 0, 244, 245, 546, 0, 865, 0, 249, 250, + 0, 0, 251, 252, 253, 254, 0, 255, 256, 257, + 258, 259, 260, 261, 0, 263, 264, 265, 266, 0, + 267, 268, 269, 270, 271, 272, 273, 0, 274, 0, + 276, 277, 278, 279, 280, 281, 282, 283, 0, 284, + 0, 285, 0, 0, 288, 0, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 297, 0, 299, 0, 0, + 301, 302, 866, 304, 305, 306, 307, 308, 547, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 332, 333, 334, 335, 336, 337, 0, 338, 339, + 0, 341, 0, 342, 343, 344, 345, 346, 347, 0, + 348, 349, 0, 0, 350, 351, 352, 0, 0, 353, + 354, 355, 0, 357, 0, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 0, + 0, 0, 0, 373, 374, 375, 0, 377, 378, 379, + 380, 381, 382, 0, 383, 384, 385, 386, 387, 388, + 389, 390, 0, 391, 392, 393, 394, 395, 396, 397, + 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 0, 413, 414, 0, + 416, 417, 418, 419, 420, 421, 422, 423, 867, 425, + 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, + 434, 435, 436, 868, 438, 439, 440, 441, 442, 0, + 0, 444, 445, 446, 447, 0, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 548, + 462, 463, 0, 0, 464, 465, 0, 466, 0, 468, + 469, 470, 471, 472, 0, 473, 869, 475, 0, 476, + 0, 477, 478, 479, 480, 481, 0, 482, 483, 484, + 485, 486, 487, 488, 489, 0, 0, 490, 491, 492, + 0, 493, 494, 495, 496, 0, 497, 498, 499, 500, + 501, 502, 503, 0, 504, 0, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 0, 0, 515, 0, 0, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 0, 0, 132, 0, + 0, 0, 0, 134, 135, 0, 136, 137, 138, 0, + 140, 141, 142, 143, 144, 0, 146, 147, 0, 148, + 149, 150, 151, 152, 153, 0, 0, 154, 155, 156, + 157, 158, 159, 160, 0, 161, 162, 163, 164, 165, + 0, 0, 0, 167, 168, 169, 170, 171, 172, 0, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 0, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 0, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 213, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 0, 235, 0, 236, 237, 238, 239, 0, + 240, 0, 241, 0, 0, 0, 244, 245, 546, 0, + 248, 0, 249, 250, 0, 0, 251, 252, 253, 254, + 0, 255, 256, 257, 258, 259, 1038, 261, 0, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 0, 276, 277, 278, 279, 280, 281, + 282, 283, 0, 284, 0, 285, 0, 0, 288, 0, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 0, 299, 0, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 547, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 332, 333, 334, 335, 336, + 337, 0, 338, 339, 0, 341, 0, 342, 343, 344, + 345, 346, 347, 0, 348, 349, 0, 0, 350, 351, + 352, 0, 0, 353, 354, 355, 0, 357, 0, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 375, + 0, 377, 378, 379, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 394, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 0, 0, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 0, 429, 430, - 431, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 531, 447, 448, 449, - 0, 450, 451, 0, 452, 0, 454, 455, 456, 457, - 458, 0, 459, 460, 0, 461, 0, 462, 463, 464, - 465, 466, 0, 467, 468, 469, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 0, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 487, 488, 0, - 489, 0, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 0, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 528, 0, 552, 0, 0, + 0, 413, 414, 0, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 0, 0, 444, 445, 446, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 548, 462, 463, 0, 0, 464, 465, + 0, 466, 0, 468, 469, 470, 471, 472, 0, 473, + 474, 475, 0, 476, 0, 477, 478, 479, 480, 481, + 0, 482, 483, 484, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 502, 503, 0, 504, 0, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 0, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 0, 0, 0, 0, 127, 128, 0, - 129, 130, 131, 0, 133, 134, 135, 136, 137, 0, - 139, 140, 0, 141, 142, 143, 144, 145, 146, 0, - 0, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 0, 0, 0, 158, 159, 160, 161, 162, - 163, 0, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 0, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 0, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 0, 225, 0, 226, 227, 228, 229, 0, - 230, 0, 231, 0, 0, 0, 234, 235, 529, 0, - 238, 0, 239, 240, 0, 0, 241, 242, 243, 244, - 0, 245, 246, 247, 248, 249, 2271, 251, 0, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 0, 266, 267, 268, 269, 270, 271, - 272, 273, 0, 274, 0, 275, 0, 0, 278, 0, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 0, 289, 0, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 530, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 0, 320, 321, 322, 323, 324, 325, 0, - 326, 327, 0, 329, 0, 330, 331, 332, 333, 334, - 335, 0, 336, 337, 0, 0, 338, 339, 340, 0, - 0, 341, 342, 0, 344, 0, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 0, - 0, 0, 0, 359, 360, 361, 0, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 0, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 0, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 0, 429, - 430, 431, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 531, 447, 448, - 449, 0, 450, 451, 0, 452, 0, 454, 455, 456, - 457, 458, 0, 459, 460, 0, 461, 0, 462, 463, - 464, 465, 466, 0, 467, 468, 469, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 0, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 487, 488, - 0, 489, 0, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 0, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 837, 0, 0, 0, + 0, 0, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 0, 129, 130, 131, 0, 0, 0, + 0, 0, 132, 0, 0, 0, 0, 134, 135, 0, + 136, 137, 138, 0, 140, 141, 142, 143, 144, 0, + 146, 147, 0, 148, 149, 150, 151, 152, 153, 0, + 0, 154, 155, 156, 157, 158, 159, 160, 0, 161, + 162, 163, 164, 165, 0, 0, 0, 167, 168, 169, + 170, 171, 172, 0, 174, 175, 176, 0, 177, 178, + 179, 180, 181, 182, 0, 0, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 0, 199, 0, 200, 201, 202, 203, 204, 205, + 0, 0, 206, 207, 208, 209, 210, 0, 0, 211, + 212, 213, 214, 215, 216, 217, 0, 218, 219, 220, + 0, 221, 222, 223, 0, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 0, 235, 0, 236, + 237, 238, 239, 0, 240, 0, 241, 0, 0, 0, + 244, 245, 546, 0, 248, 0, 249, 250, 0, 0, + 251, 252, 253, 254, 0, 255, 256, 257, 258, 259, + 260, 261, 0, 263, 264, 265, 266, 0, 267, 268, + 269, 270, 271, 272, 273, 0, 274, 0, 276, 277, + 278, 279, 280, 281, 282, 283, 0, 284, 0, 285, + 0, 0, 288, 0, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 297, 0, 299, 0, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 547, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 332, + 333, 334, 335, 336, 337, 0, 338, 339, 0, 341, + 0, 342, 343, 344, 345, 346, 347, 0, 348, 349, + 0, 0, 350, 351, 352, 0, 0, 353, 354, 355, + 0, 357, 0, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 0, 0, 0, + 0, 373, 374, 375, 0, 377, 378, 379, 380, 381, + 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, + 0, 391, 392, 393, 394, 395, 396, 397, 398, 0, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 0, 413, 414, 0, 416, 417, + 418, 419, 420, 421, 422, 423, 867, 425, 426, 427, + 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 0, 0, 444, + 445, 446, 447, 0, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 548, 462, 463, + 0, 0, 464, 465, 0, 466, 0, 468, 469, 470, + 471, 472, 0, 473, 869, 475, 0, 476, 0, 477, + 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, + 487, 488, 489, 0, 0, 490, 491, 492, 0, 493, + 494, 495, 496, 0, 497, 498, 499, 500, 501, 502, + 503, 0, 504, 0, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 0, 0, 515, 0, 0, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 0, 122, 123, 124, 0, 0, - 0, 838, 0, 125, 0, -957, 0, 839, 127, 128, - 0, 129, 130, 131, 840, 133, 134, 135, 0, 841, - 842, 843, 844, 0, 141, 142, 143, 144, 145, 146, - 0, 0, 147, 148, 845, 846, 151, 0, 152, 153, - 154, 155, 0, 0, 847, 0, 848, 159, 160, 161, - 162, 163, 849, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 850, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 851, 852, 187, 0, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 0, 0, 201, 202, 853, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 0, 219, 220, 221, - 222, 223, 0, 0, 225, 0, 226, 227, 854, 229, - 0, 230, 0, 231, 855, 0, 856, 234, 235, -957, - 857, 238, 0, 239, 240, 0, 0, 0, 0, 243, - 244, 0, 245, 246, 247, 248, 249, 250, 251, 859, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 860, 0, 267, 268, 269, 270, - 271, 861, 862, 0, 863, 0, 275, 864, 865, 278, - 866, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 867, 289, 868, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 869, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 870, 871, 872, 321, 322, 323, 324, 0, - 0, 326, 327, 873, 329, 0, 0, 331, 874, 333, - 334, 335, 0, 336, 337, 0, 0, 338, 339, 340, - 0, 0, 341, 0, 875, 344, 876, 0, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 0, 877, 363, 364, - 0, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 878, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 879, 402, 403, 404, 880, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 0, 881, 417, 418, - 419, 420, 421, 422, 882, 424, 425, 426, 427, 883, - 429, 430, 884, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 885, 447, - 0, 449, 0, 450, 451, 0, 452, 886, 454, 455, - 456, 457, 458, 0, 887, 888, 0, 461, 0, 462, - 463, 0, 465, 0, 0, 467, 468, 889, 470, 471, - 472, 473, 474, 890, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 0, - 891, 0, 489, 892, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 528, 0, 552, 0, 0, 0, 0, 0, - 0, 0, 0, 516, 517, 518, 519, 0, 0, 0, - 0, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 0, 122, 123, 124, 0, 0, 0, 0, 0, 125, - 0, 0, 0, 0, 127, 128, 0, 129, 130, 131, - 0, 133, 134, 135, 136, 137, 0, 139, 140, 0, - 141, 142, 143, 144, 145, 146, 0, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 0, 158, 159, 160, 161, 162, 163, 0, 165, - 166, 167, 0, 168, 169, 170, 171, 172, 173, 0, - 0, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 0, 188, 0, 189, 190, 191, - 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, - 0, 0, 201, 202, 203, 204, 205, 206, 207, 0, - 208, 209, 210, 0, 211, 212, 213, 0, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 0, - 225, 0, 226, 227, 228, 229, 0, 230, 0, 231, - 0, 0, 0, 234, 235, 529, 0, 238, 0, 239, - 240, 0, 0, 241, 242, 243, 244, 0, 245, 246, - 247, 248, 249, 3051, 251, 0, 253, 254, 255, 256, - 0, 257, 258, 259, 260, 261, 262, 263, 0, 264, - 0, 266, 267, 268, 269, 270, 271, 272, 273, 0, - 274, 0, 275, 0, 0, 278, 0, 280, 281, 282, - 283, 284, 285, 286, 0, 0, 287, 0, 289, 0, - 0, 291, 292, 293, 294, 295, 296, 297, 298, 530, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 0, - 320, 321, 322, 323, 324, 325, 0, 326, 327, 0, - 329, 0, 330, 331, 332, 333, 334, 335, 0, 336, - 337, 0, 0, 338, 339, 340, 0, 0, 341, 342, - 0, 344, 0, 346, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 0, 0, 0, 0, - 359, 360, 361, 0, 363, 364, 365, 366, 367, 368, - 0, 369, 370, 371, 372, 373, 374, 375, 376, 0, - 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 399, 400, 0, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 0, 0, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 0, 429, 430, 431, 432, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 0, 0, 132, 0, 0, 0, + 0, 134, 135, 0, 136, 137, 138, 0, 140, 141, + 142, 143, 144, 0, 146, 147, 0, 148, 149, 150, + 151, 152, 153, 0, 0, 154, 155, 156, 157, 158, + 159, 160, 0, 161, 162, 163, 164, 165, 0, 0, + 0, 167, 168, 169, 170, 171, 172, 0, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 0, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 0, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 213, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 0, 235, 0, 236, 237, 238, 239, 0, 240, 0, + 241, 0, 0, 0, 244, 245, 546, 0, 248, 0, + 249, 250, 0, 0, 251, 252, 253, 254, 0, 255, + 256, 257, 258, 259, 1401, 261, 0, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 0, 276, 277, 278, 279, 280, 281, 282, 283, + 0, 284, 0, 285, 0, 0, 288, 0, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 0, 299, + 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 547, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 332, 333, 334, 335, 336, 337, 0, + 338, 339, 0, 341, 0, 342, 343, 344, 345, 346, + 347, 0, 348, 349, 0, 0, 350, 351, 352, 0, + 0, 353, 354, 355, 0, 357, 0, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 0, 0, 0, 0, 373, 374, 375, 0, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 394, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 0, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 531, 447, 448, 449, 0, 450, - 451, 0, 452, 0, 454, 455, 456, 457, 458, 0, - 459, 460, 0, 461, 0, 462, 463, 464, 465, 466, - 0, 467, 468, 469, 470, 471, 472, 473, 474, 0, - 0, 475, 476, 477, 0, 478, 479, 480, 481, 0, - 482, 483, 484, 485, 486, 487, 488, 0, 489, 0, - 491, 492, 493, 494, 495, 496, 497, 0, 0, 498, - 0, 0, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 528, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 0, 0, 0, 0, 0, - 125, 0, 0, 0, 0, 127, 128, 0, 129, 130, - 131, 0, 133, 134, 135, 136, 137, 0, 139, 140, - 0, 141, 142, 143, 144, 145, 146, 0, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 0, 158, 159, 160, 161, 162, 163, 0, - 165, 166, 167, 0, 168, 169, 170, 171, 172, 173, - 0, 0, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 0, 188, 0, 189, 190, - 191, 192, 193, 194, 0, 195, 196, 197, 198, 199, - 200, 0, 0, 201, 202, 203, 204, 205, 206, 207, - 0, 208, 209, 210, 0, 211, 212, 213, 0, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 0, 225, 0, 226, 227, 228, 229, 0, 230, 0, - 231, 0, 0, 0, 234, 235, 529, 0, 238, 0, - 239, 240, 0, 0, 241, 242, 243, 244, 0, 245, - 246, 247, 248, 249, 250, 251, 0, 253, 254, 255, - 256, 0, 257, 258, 259, 260, 261, 262, 263, 0, - 264, 0, 266, 267, 268, 269, 270, 271, 272, 273, - 0, 274, 0, 275, 0, 0, 278, 0, 280, 281, - 282, 283, 284, 285, 286, 0, 0, 287, 0, 289, - 0, 0, 291, 292, 293, 294, 295, 296, 297, 298, - 530, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 0, 320, 321, 322, 323, 324, 325, 0, 326, 327, - 0, 329, 0, 330, 331, 332, 333, 334, 335, 0, - 336, 337, 0, 0, 338, 339, 340, 0, 0, 341, - 342, 0, 344, 0, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 0, 0, 0, - 0, 359, 360, 361, 0, 363, 364, 365, 366, 367, - 368, 0, 369, 370, 371, 372, 373, 374, 375, 376, - 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 399, 400, 0, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 0, 0, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 0, 429, 430, 431, - 432, 0, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 531, 447, 448, 449, 0, - 450, 451, 0, 452, 0, 454, 455, 456, 457, 458, - 0, 459, 460, 0, 461, 0, 462, 463, 464, 465, - 466, 0, 467, 468, 469, 470, 471, 472, 473, 474, - 0, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 0, 482, 483, 484, 485, 486, 487, 488, 0, 489, - 0, 491, 492, 493, 494, 495, 496, 497, 0, 0, - 498, 0, 0, 499, 500, 501, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 528, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 122, 123, 124, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 0, 127, 128, 0, 129, - 130, 131, 0, 133, 134, 135, 136, 137, 0, 139, - 140, 0, 141, 142, 143, 144, 145, 146, 0, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 158, 159, 160, 161, 162, 163, - 0, 165, 166, 167, 0, 168, 169, 170, 171, 172, - 173, 0, 0, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 0, 188, 0, 189, - 190, 191, 192, 193, 194, 0, 195, 196, 197, 198, - 199, 200, 0, 0, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 209, 210, 0, 211, 212, 213, 0, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 0, 225, 0, 226, 227, 228, 229, 0, 230, - 0, 231, 0, 0, 0, 234, 235, 529, 0, 680, - 0, 239, 240, 0, 0, 241, 242, 243, 244, 0, - 245, 246, 247, 248, 249, 250, 251, 0, 253, 254, - 255, 256, 0, 257, 258, 259, 260, 261, 262, 263, - 0, 264, 0, 266, 267, 268, 269, 270, 271, 272, - 273, 0, 274, 0, 275, 0, 0, 278, 0, 280, - 281, 282, 283, 284, 285, 286, 0, 0, 287, 0, - 289, 0, 0, 291, 292, 681, 294, 295, 296, 297, - 298, 530, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 0, 320, 321, 322, 323, 324, 325, 0, 326, - 327, 0, 329, 0, 330, 331, 332, 333, 334, 335, - 0, 336, 337, 0, 0, 338, 339, 340, 0, 0, - 341, 342, 0, 344, 0, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 0, 0, - 0, 0, 359, 360, 361, 0, 363, 364, 365, 366, - 367, 368, 0, 369, 370, 371, 372, 373, 374, 375, - 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, - 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 399, 400, 0, 402, - 403, 404, 405, 406, 407, 408, 409, 682, 411, 412, - 413, 414, 415, 416, 0, 0, 417, 418, 419, 420, - 683, 422, 423, 424, 425, 426, 427, 0, 429, 430, - 431, 432, 0, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 531, 447, 448, 449, - 0, 450, 451, 0, 452, 0, 454, 455, 456, 457, - 458, 0, 684, 460, 0, 461, 0, 462, 463, 464, - 465, 466, 0, 467, 468, 469, 470, 471, 472, 473, - 474, 0, 0, 475, 476, 477, 0, 478, 479, 480, - 481, 0, 482, 483, 484, 485, 486, 487, 488, 0, - 489, 0, 491, 492, 493, 494, 495, 496, 497, 0, - 0, 498, 0, 0, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 528, 0, 0, 0, 0, + 442, 0, 0, 444, 445, 446, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 548, 462, 463, 0, 0, 464, 465, 0, 466, + 0, 468, 469, 470, 471, 472, 0, 473, 474, 475, + 0, 476, 0, 477, 478, 479, 480, 481, 0, 482, + 483, 484, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 0, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 502, 503, 0, 504, 0, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 0, 515, + 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 0, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 0, 0, 0, 0, 127, 128, 0, - 129, 130, 131, 0, 133, 134, 135, 136, 137, 0, - 139, 140, 0, 141, 142, 143, 144, 145, 146, 0, - 0, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 0, 0, 0, 158, 159, 160, 161, 162, - 163, 0, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 0, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 0, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 0, 225, 0, 226, 227, 228, 229, 0, - 230, 0, 231, 0, 0, 0, 234, 235, 529, 0, - 238, 0, 239, 240, 0, 0, 241, 242, 243, 244, - 0, 245, 246, 247, 248, 249, 912, 251, 0, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 0, 266, 267, 268, 269, 270, 271, - 272, 273, 0, 274, 0, 275, 0, 0, 278, 0, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 0, 289, 0, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 530, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 0, 320, 321, 322, 323, 324, 325, 0, - 326, 327, 0, 329, 0, 330, 331, 332, 333, 334, - 335, 0, 336, 337, 0, 0, 338, 339, 340, 0, - 0, 341, 342, 0, 344, 0, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 0, - 0, 0, 0, 359, 360, 361, 0, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 0, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 0, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 0, 429, - 430, 431, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 531, 447, 448, - 449, 0, 450, 451, 0, 452, 0, 454, 455, 456, - 457, 458, 0, 459, 460, 0, 461, 0, 462, 463, - 464, 465, 466, 0, 467, 468, 469, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 0, 478, 479, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 0, 129, 130, 131, 0, 0, 0, 0, 0, + 132, 0, 0, 0, 0, 134, 135, 0, 136, 137, + 138, 0, 140, 141, 142, 143, 144, 0, 146, 147, + 0, 148, 149, 150, 151, 152, 153, 0, 0, 154, + 155, 156, 157, 158, 159, 160, 0, 161, 162, 163, + 164, 165, 0, 0, 0, 167, 168, 169, 170, 171, + 172, 0, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 182, 0, 0, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 0, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 0, 0, 211, 212, 213, + 214, 215, 216, 217, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 0, 235, 0, 236, 237, 238, + 239, 0, 240, 0, 241, 0, 0, 0, 244, 245, + 546, 0, 248, 0, 249, 250, 0, 0, 251, 252, + 253, 254, 0, 255, 256, 257, 258, 259, 1413, 261, + 0, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 0, 276, 277, 278, 279, + 280, 281, 282, 283, 0, 284, 0, 285, 0, 0, + 288, 0, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 297, 0, 299, 0, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 547, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 0, 332, 333, 334, + 335, 336, 337, 0, 338, 339, 0, 341, 0, 342, + 343, 344, 345, 346, 347, 0, 348, 349, 0, 0, + 350, 351, 352, 0, 0, 353, 354, 355, 0, 357, + 0, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 0, 0, 0, 0, 373, + 374, 375, 0, 377, 378, 379, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, + 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 0, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 0, 0, 444, 445, 446, + 447, 0, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 548, 462, 463, 0, 0, + 464, 465, 0, 466, 0, 468, 469, 470, 471, 472, + 0, 473, 474, 475, 0, 476, 0, 477, 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, 488, - 0, 489, 0, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 0, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 528, 0, 0, 0, + 489, 0, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 502, 503, 0, + 504, 0, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 0, 0, 515, 0, 0, 516, 517, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 0, 122, 123, 124, 0, 0, - 0, 0, 0, 125, 0, 0, 0, 0, 127, 128, - 0, 129, 130, 131, 0, 133, 134, 135, 136, 137, - 0, 139, 140, 0, 141, 142, 143, 144, 145, 146, - 0, 0, 147, 148, 149, 150, 151, 0, 152, 153, - 154, 155, 156, 0, 0, 0, 158, 159, 160, 161, - 162, 163, 0, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 0, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 0, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 0, 0, 201, 202, 203, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 0, 225, 0, 226, 227, 228, 229, - 0, 230, 0, 231, 0, 0, 0, 234, 235, 529, - 0, 238, 0, 239, 240, 0, 0, 241, 242, 243, - 244, 0, 245, 246, 247, 248, 249, 250, 251, 0, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 0, 266, 267, 268, 269, 270, - 271, 272, 273, 0, 274, 0, 275, 0, 0, 278, - 0, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 0, 289, 0, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 530, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 0, 320, 321, 322, 323, 324, 325, - 0, 326, 327, 0, 329, 0, 330, 331, 332, 333, - 334, 335, 0, 336, 337, 0, 0, 338, 339, 340, - 0, 0, 341, 342, 0, 344, 0, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 361, 0, 363, 364, - 365, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 0, 402, 403, 404, 405, 406, 407, 408, 409, 682, - 411, 412, 413, 414, 415, 416, 0, 0, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 0, - 429, 430, 431, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 531, 447, - 448, 449, 0, 450, 451, 0, 452, 0, 454, 455, - 456, 457, 458, 0, 684, 460, 0, 461, 0, 462, - 463, 464, 465, 466, 0, 467, 468, 469, 470, 471, - 472, 473, 474, 0, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 487, - 488, 0, 489, 0, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 528, 0, 0, + 0, 0, 0, 0, 0, 0, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 0, 129, 130, 131, 0, + 0, 0, 0, 0, 132, 0, 1764, 0, 0, 134, + 135, 0, 136, 137, 138, 0, 140, 141, 142, 143, + 144, 0, 146, 147, 0, 148, 149, 150, 151, 152, + 153, 0, 0, 154, 155, 156, 157, 158, 159, 160, + 0, 161, 162, 163, 164, 165, 0, 0, 0, 167, + 168, 169, 170, 171, 172, 0, 174, 175, 176, 0, + 177, 178, 179, 180, 181, 182, 0, 0, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 0, 199, 0, 200, 201, 202, 203, + 204, 205, 0, 0, 206, 207, 208, 209, 210, 0, + 0, 211, 212, 213, 214, 215, 216, 217, 0, 218, + 219, 220, 0, 221, 222, 223, 0, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 0, 235, + 0, 236, 237, 238, 239, 0, 240, 0, 241, 0, + 0, 0, 244, 245, 546, 0, 248, 0, 249, 250, + 0, 0, 251, 252, 253, 254, 0, 255, 256, 257, + 258, 259, 260, 261, 0, 263, 264, 265, 266, 0, + 267, 268, 269, 270, 271, 272, 273, 0, 274, 0, + 276, 277, 278, 279, 280, 281, 282, 283, 0, 284, + 0, 285, 0, 0, 288, 0, 290, 291, 292, 293, + 294, 295, 296, 0, 0, 297, 0, 299, 0, 0, + 301, 302, 303, 304, 305, 306, 307, 308, 547, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 0, 332, 333, 334, 335, 336, 337, 0, 338, 339, + 0, 341, 0, 342, 343, 344, 345, 346, 347, 0, + 348, 349, 0, 0, 350, 351, 352, 0, 0, 353, + 354, 355, 0, 357, 0, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 0, + 0, 0, 0, 373, 374, 375, 0, 377, 378, 379, + 380, 381, 382, 0, 383, 384, 385, 386, 387, 388, + 389, 390, 0, 391, 392, 393, 394, 395, 396, 397, + 398, 0, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 0, 413, 414, 0, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 0, 0, 433, + 434, 435, 436, 437, 0, 439, 440, 441, 442, 0, + 0, 444, 445, 446, 447, 0, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 548, + 462, 463, 0, 0, 464, 465, 0, 466, 0, 468, + 469, 470, 471, 472, 0, 473, 474, 475, 0, 476, + 0, 477, 478, 479, 480, 481, 0, 482, 483, 484, + 485, 486, 487, 488, 489, 0, 0, 490, 491, 492, + 0, 493, 494, 495, 496, 0, 497, 498, 499, 500, + 501, 502, 503, 0, 504, 0, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 0, 0, 515, 0, 0, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 0, 0, 125, 0, 1720, 0, 0, 127, - 128, 0, 129, 130, 131, 0, 133, 134, 135, 136, - 137, 0, 139, 140, 0, 141, 142, 143, 144, 145, - 146, 0, 0, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 0, 158, 159, 160, - 161, 162, 163, 0, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 0, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 0, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 203, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 0, 225, 0, 226, 227, 228, - 229, 0, 230, 0, 231, 0, 0, 0, 234, 235, - 529, 0, 238, 0, 239, 240, 0, 0, 241, 242, - 243, 244, 0, 245, 246, 247, 248, 249, 250, 251, - 0, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 0, 266, 267, 268, 269, - 270, 271, 272, 273, 0, 274, 0, 275, 0, 0, - 278, 0, 280, 281, 282, 283, 284, 285, 286, 0, - 0, 287, 0, 289, 0, 0, 291, 292, 293, 294, - 295, 296, 297, 298, 530, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 0, 320, 321, 322, 323, 324, - 325, 0, 326, 327, 0, 329, 0, 330, 331, 332, - 333, 334, 335, 0, 336, 337, 0, 0, 338, 339, - 340, 0, 0, 341, 342, 0, 344, 0, 346, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 361, 0, 363, - 364, 365, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 0, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 0, 417, - 418, 419, 420, 421, 0, 423, 424, 425, 426, 427, - 0, 429, 430, 431, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 531, - 447, 448, 449, 0, 450, 451, 0, 452, 0, 454, - 455, 456, 457, 458, 0, 459, 460, 0, 461, 0, - 462, 463, 464, 465, 466, 0, 467, 468, 469, 470, - 471, 472, 473, 474, 0, 0, 475, 476, 477, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 0, 0, 132, 0, + 0, 0, 0, 134, 135, 0, 136, 137, 138, 0, + 140, 141, 142, 143, 144, 0, 146, 147, 0, 148, + 149, 150, 151, 152, 153, 0, 0, 154, 155, 156, + 157, 158, 159, 160, 0, 161, 162, 163, 164, 165, + 0, 0, 0, 167, 168, 169, 170, 171, 172, 0, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 0, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 0, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 213, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 0, 235, 0, 236, 237, 238, 239, 0, + 240, 0, 241, 0, 0, 0, 244, 245, 546, 0, + 248, 0, 249, 250, 0, 0, 251, 252, 253, 254, + 0, 255, 256, 257, 258, 259, 1947, 261, 0, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 0, 276, 277, 278, 279, 280, 281, + 282, 283, 0, 284, 0, 285, 0, 0, 288, 0, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 0, 299, 0, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 547, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 0, 332, 333, 334, 335, 336, + 337, 0, 338, 339, 0, 341, 0, 342, 343, 344, + 345, 346, 347, 0, 348, 349, 0, 0, 350, 351, + 352, 0, 0, 353, 354, 355, 0, 357, 0, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 375, + 0, 377, 378, 379, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 394, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 0, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 0, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 0, 0, 444, 445, 446, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 548, 462, 463, 0, 0, 464, 465, + 0, 466, 0, 468, 469, 470, 471, 472, 0, 473, + 474, 475, 0, 476, 0, 477, 478, 479, 480, 481, + 0, 482, 483, 484, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 502, 503, 0, 504, 0, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 545, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 0, 129, 130, 131, 0, 0, 0, + 0, 0, 132, 0, 0, 0, 0, 134, 135, 0, + 136, 137, 138, 0, 140, 141, 142, 143, 144, 0, + 146, 147, 0, 148, 149, 150, 151, 152, 153, 0, + 0, 154, 155, 156, 157, 158, 159, 160, 0, 161, + 162, 163, 164, 165, 0, 0, 0, 167, 168, 169, + 170, 171, 172, 0, 174, 175, 176, 0, 177, 178, + 179, 180, 181, 182, 0, 0, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 0, 199, 0, 200, 201, 202, 203, 204, 205, + 0, 0, 206, 207, 208, 209, 210, 0, 0, 211, + 212, 213, 214, 215, 216, 217, 0, 218, 219, 220, + 0, 221, 222, 223, 0, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 0, 235, 0, 236, + 237, 238, 239, 0, 240, 0, 241, 0, 0, 0, + 244, 245, 546, 0, 248, 0, 249, 250, 0, 0, + 251, 252, 253, 254, 0, 255, 256, 257, 258, 259, + 2323, 261, 0, 263, 264, 265, 266, 0, 267, 268, + 269, 270, 271, 272, 273, 0, 274, 0, 276, 277, + 278, 279, 280, 281, 282, 283, 0, 284, 0, 285, + 0, 0, 288, 0, 290, 291, 292, 293, 294, 295, + 296, 0, 0, 297, 0, 299, 0, 0, 301, 302, + 303, 304, 305, 306, 307, 308, 547, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 0, 332, + 333, 334, 335, 336, 337, 0, 338, 339, 0, 341, + 0, 342, 343, 344, 345, 346, 347, 0, 348, 349, + 0, 0, 350, 351, 352, 0, 0, 353, 354, 355, + 0, 357, 0, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 0, 0, 0, + 0, 373, 374, 375, 0, 377, 378, 379, 380, 381, + 382, 0, 383, 384, 385, 386, 387, 388, 389, 390, + 0, 391, 392, 393, 394, 395, 396, 397, 398, 0, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 0, 413, 414, 0, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 0, 0, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 0, 0, 444, + 445, 446, 447, 0, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 548, 462, 463, + 0, 0, 464, 465, 0, 466, 0, 468, 469, 470, + 471, 472, 0, 473, 474, 475, 0, 476, 0, 477, 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 487, 488, 0, 489, 0, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 528, 0, + 487, 488, 489, 0, 0, 490, 491, 492, 0, 493, + 494, 495, 496, 0, 497, 498, 499, 500, 501, 502, + 503, 0, 504, 0, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 0, 0, 515, 0, 0, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 0, 122, 123, 124, - 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, - 127, 128, 0, 129, 130, 131, 0, 133, 134, 135, - 136, 137, 0, 139, 140, 0, 141, 142, 143, 144, - 145, 146, 0, 0, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 0, 158, 159, - 160, 161, 162, 163, 0, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 0, 0, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 0, 188, 0, 189, 190, 191, 192, 193, 194, 0, - 195, 196, 197, 198, 199, 200, 0, 0, 201, 202, - 203, 204, 205, 206, 207, 0, 208, 209, 210, 0, - 211, 212, 213, 0, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 0, 225, 0, 226, 227, - 228, 229, 0, 230, 0, 231, 0, 0, 0, 234, - 235, 529, 0, 238, 0, 239, 240, 0, 0, 241, - 242, 243, 244, 0, 245, 246, 247, 248, 249, 1894, - 251, 0, 253, 254, 255, 256, 0, 257, 258, 259, - 260, 261, 262, 263, 0, 264, 0, 266, 267, 268, - 269, 270, 271, 272, 273, 0, 274, 0, 275, 0, - 0, 278, 0, 280, 281, 282, 283, 284, 285, 286, - 0, 0, 287, 0, 289, 0, 0, 291, 292, 293, - 294, 295, 296, 297, 298, 530, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 0, 320, 321, 322, 323, - 324, 325, 0, 326, 327, 0, 329, 0, 330, 331, - 332, 333, 334, 335, 0, 336, 337, 0, 0, 338, - 339, 340, 0, 0, 341, 342, 0, 344, 0, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 0, 0, 0, 0, 359, 360, 361, 0, - 363, 364, 365, 366, 367, 368, 0, 369, 370, 371, - 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, - 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 399, 400, 0, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 0, 0, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 0, 429, 430, 431, 432, 0, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 531, 447, 448, 449, 0, 450, 451, 0, 452, 0, - 454, 455, 456, 457, 458, 0, 459, 460, 0, 461, - 0, 462, 463, 464, 465, 466, 0, 467, 468, 469, - 470, 471, 472, 473, 474, 0, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 0, 482, 483, 484, 485, - 486, 487, 488, 0, 489, 0, 491, 492, 493, 494, - 495, 496, 497, 0, 0, 498, 0, 0, 499, 500, - 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 528, + 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 0, 129, 130, + 131, 0, 0, 0, 0, 0, 132, 0, 0, 0, + 0, 134, 135, 0, 136, 137, 138, 0, 140, 141, + 142, 143, 144, 0, 146, 147, 0, 148, 149, 150, + 151, 152, 153, 0, 0, 154, 155, 156, 157, 158, + 159, 160, 0, 161, 162, 163, 164, 165, 0, 0, + 0, 167, 168, 169, 170, 171, 172, 0, 174, 175, + 176, 0, 177, 178, 179, 180, 181, 182, 0, 0, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 0, 199, 0, 200, 201, + 202, 203, 204, 205, 0, 0, 206, 207, 208, 209, + 210, 0, 0, 211, 212, 213, 214, 215, 216, 217, + 0, 218, 219, 220, 0, 221, 222, 223, 0, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 0, 235, 0, 236, 237, 238, 239, 0, 240, 0, + 241, 0, 0, 0, 244, 245, 546, 0, 248, 0, + 249, 250, 0, 0, 251, 252, 253, 254, 0, 255, + 256, 257, 258, 259, 2338, 261, 0, 263, 264, 265, + 266, 0, 267, 268, 269, 270, 271, 272, 273, 0, + 274, 0, 276, 277, 278, 279, 280, 281, 282, 283, + 0, 284, 0, 285, 0, 0, 288, 0, 290, 291, + 292, 293, 294, 295, 296, 0, 0, 297, 0, 299, + 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, + 547, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 0, 332, 333, 334, 335, 336, 337, 0, + 338, 339, 0, 341, 0, 342, 343, 344, 345, 346, + 347, 0, 348, 349, 0, 0, 350, 351, 352, 0, + 0, 353, 354, 355, 0, 357, 0, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 0, 0, 0, 0, 373, 374, 375, 0, 377, + 378, 379, 380, 381, 382, 0, 383, 384, 385, 386, + 387, 388, 389, 390, 0, 391, 392, 393, 394, 395, + 396, 397, 398, 0, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 0, 413, + 414, 0, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 0, + 0, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 0, 0, 444, 445, 446, 447, 0, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 548, 462, 463, 0, 0, 464, 465, 0, 466, + 0, 468, 469, 470, 471, 472, 0, 473, 474, 475, + 0, 476, 0, 477, 478, 479, 480, 481, 0, 482, + 483, 484, 485, 486, 487, 488, 489, 0, 0, 490, + 491, 492, 0, 493, 494, 495, 496, 0, 497, 498, + 499, 500, 501, 502, 503, 0, 504, 0, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 0, 0, 515, + 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 1568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 0, 0, 0, 0, 0, 125, 0, 0, 0, - 0, 127, 128, 0, 129, 130, 131, 0, 133, 134, - 135, 136, 137, 0, 139, 140, 0, 141, 142, 143, - 144, 145, 146, 0, 0, 147, 148, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 0, 0, 0, 158, - 159, 160, 161, 162, 163, 0, 165, 166, 167, 0, - 168, 169, 170, 171, 172, 173, 0, 0, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 0, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 203, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 0, 225, 0, 226, - 227, 228, 229, 0, 230, 0, 231, 0, 0, 0, - 234, 235, 529, 0, 238, 0, 239, 240, 0, 0, - 241, 242, 243, 244, 0, 245, 246, 247, 248, 249, - 2258, 251, 0, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 0, 266, 267, - 268, 269, 270, 271, 272, 273, 0, 274, 0, 275, - 0, 0, 278, 0, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 0, 289, 0, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 530, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 0, 320, 321, 322, - 323, 324, 325, 0, 326, 327, 0, 329, 0, 330, - 331, 332, 333, 334, 335, 0, 336, 337, 0, 0, - 338, 339, 340, 0, 0, 341, 342, 0, 344, 0, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 0, 0, 0, 0, 359, 360, 361, - 0, 363, 364, 365, 366, 367, 368, 0, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 0, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, - 0, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 0, 429, 430, 431, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 531, 447, 448, 449, 0, 450, 451, 0, 452, - 0, 454, 455, 456, 457, 458, 0, 459, 460, 0, - 461, 0, 462, 463, 464, 465, 466, 0, 467, 468, - 469, 470, 471, 472, 473, 474, 0, 0, 475, 476, - 477, 0, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 487, 488, 0, 489, 0, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 0, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 528, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 0, 122, - 123, 124, 0, 0, 0, 0, 0, 125, 0, 0, - 0, 0, 127, 128, 0, 129, 130, 131, 0, 133, - 134, 135, 136, 137, 0, 139, 140, 0, 141, 142, - 143, 144, 145, 146, 0, 0, 147, 148, 149, 150, - 151, 0, 152, 153, 154, 155, 156, 0, 0, 0, - 158, 159, 160, 161, 162, 163, 0, 165, 166, 167, - 0, 168, 169, 170, 171, 172, 173, 0, 0, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 0, 188, 0, 189, 190, 191, 192, 193, - 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, - 201, 202, 203, 204, 205, 206, 207, 0, 208, 209, - 210, 0, 211, 212, 213, 0, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 0, 225, 0, - 226, 227, 228, 229, 0, 230, 0, 231, 0, 0, - 0, 234, 235, 529, 0, 238, 0, 239, 240, 0, - 0, 241, 242, 243, 244, 0, 245, 246, 247, 248, - 249, 2273, 251, 0, 253, 254, 255, 256, 0, 257, - 258, 259, 260, 261, 262, 263, 0, 264, 0, 266, - 267, 268, 269, 270, 271, 272, 273, 0, 274, 0, - 275, 0, 0, 278, 0, 280, 281, 282, 283, 284, - 285, 286, 0, 0, 287, 0, 289, 0, 0, 291, - 292, 293, 294, 295, 296, 297, 298, 530, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 0, 320, 321, - 322, 323, 324, 325, 0, 326, 327, 0, 329, 0, - 330, 331, 332, 333, 334, 335, 0, 336, 337, 0, - 0, 338, 339, 340, 0, 0, 341, 342, 0, 344, - 0, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 0, 0, 0, 0, 359, 360, - 361, 0, 363, 364, 365, 366, 367, 368, 0, 369, - 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, - 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 399, 400, 0, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 0, 0, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 0, 429, 430, 431, 432, 0, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 531, 447, 448, 449, 0, 450, 451, 0, - 452, 0, 454, 455, 456, 457, 458, 0, 459, 460, - 0, 461, 0, 462, 463, 464, 465, 466, 0, 467, - 468, 469, 470, 471, 472, 473, 474, 0, 0, 475, - 476, 477, 0, 478, 479, 480, 481, 0, 482, 483, - 484, 485, 486, 487, 488, 0, 489, 0, 491, 492, - 493, 494, 495, 496, 497, 0, 0, 498, 0, 0, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 837, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 0, 129, 130, 131, 0, 0, 0, 1569, 0, + 132, 0, 0, 0, 1570, 134, 135, 0, 136, 137, + 138, 1571, 140, 141, 142, 0, 1572, 1573, 1574, 1575, + 0, 148, 149, 150, 151, 152, 153, 0, 0, 154, + 155, 156, 157, 1576, 1577, 160, 0, 161, 162, 163, + 164, 0, 0, 1578, 0, 1579, 168, 169, 170, 171, + 172, 1580, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 182, 0, 1581, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 1582, 195, 196, 1583, 198, 0, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 0, 0, 211, 212, 1150, + 214, 215, 216, 217, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 0, 229, 230, + 231, 232, 233, 0, 0, 235, 0, 236, 237, 1584, + 239, 0, 240, 0, 241, 1585, 0, 1586, 244, 245, + 0, 1587, 248, 0, 249, 250, 0, 0, 0, 0, + 253, 254, 0, 255, 256, 257, 258, 259, 260, 261, + 1588, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 1589, 0, 277, 278, 279, + 280, 281, 1590, 1591, 0, 1592, 0, 285, 1593, 1594, + 288, 1595, 290, 291, 292, 293, 294, 295, 296, 0, + 0, 297, 1596, 299, 1597, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 1598, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 1599, 1600, 1601, 333, 334, + 335, 336, 0, 0, 338, 339, 1602, 341, 0, 0, + 343, 1603, 345, 346, 347, 0, 348, 349, 0, 0, + 350, 351, 352, 0, 0, 353, 354, 0, 1604, 357, + 1605, 0, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 0, 0, 0, 0, 373, + 374, 0, 1606, 377, 378, 0, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 388, 389, 390, 0, 391, + 392, 393, 1607, 395, 396, 397, 398, 0, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 1608, 416, 417, 418, 1609, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 0, 1610, 433, 434, 435, 436, 437, + 438, 1611, 440, 441, 442, 0, 1612, 444, 445, 1613, + 447, 0, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 1614, 462, 0, 0, 0, + 464, 465, 0, 466, 1615, 468, 469, 470, 471, 472, + 0, 473, 1616, 1617, 0, 476, 0, 477, 478, 0, + 480, 0, 0, 482, 483, 1618, 485, 486, 487, 488, + 489, 1619, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 0, 1620, 0, + 504, 1621, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 0, 0, 515, 0, 0, 516, 517, 518, 519, + 520, 521, 1568, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 533, 534, 535, 536, 0, 0, 0, + 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 0, 129, 130, 131, 0, 0, 0, 1569, 0, 132, + 0, 0, 0, 1570, 134, 135, 0, 136, 137, 138, + 1571, 140, 141, 142, 0, 1572, 1573, 1574, 1575, 0, + 148, 149, 150, 151, 152, 153, 0, 0, 154, 155, + 156, 157, 1576, 1577, 160, 0, 161, 162, 163, 164, + 0, 0, 1578, 0, 1579, 168, 169, 170, 171, 172, + 1580, 174, 175, 176, 0, 177, 178, 179, 180, 181, + 182, 0, 1581, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 1582, 195, 196, 1583, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 0, 0, 206, + 207, 208, 209, 210, 0, 0, 211, 212, 1150, 214, + 215, 216, 217, 0, 218, 219, 220, 0, 1929, 222, + 223, 0, 224, 225, 226, 227, 0, 229, 230, 231, + 232, 233, 0, 0, 235, 0, 236, 237, 1584, 239, + 0, 240, 0, 241, 1585, 0, 1586, 244, 245, 0, + 1587, 248, 0, 249, 250, 0, 0, 0, 0, 253, + 254, 0, 255, 256, 257, 258, 259, 260, 261, 1588, + 263, 264, 265, 266, 0, 267, 268, 269, 270, 271, + 272, 273, 0, 274, 1589, 0, 277, 278, 279, 280, + 281, 1590, 1591, 0, 1592, 0, 285, 1593, 1594, 288, + 1595, 290, 291, 292, 293, 294, 295, 296, 0, 0, + 297, 1596, 299, 1597, 0, 301, 302, 303, 304, 305, + 306, 307, 308, 1598, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 1599, 1600, 1601, 333, 334, 335, + 336, 0, 0, 338, 339, 1602, 341, 0, 0, 343, + 1603, 345, 346, 347, 0, 348, 349, 0, 0, 350, + 351, 352, 0, 0, 353, 354, 0, 1604, 357, 1605, + 0, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 0, 0, 0, 0, 373, 374, + 0, 1606, 377, 378, 0, 380, 381, 382, 0, 383, + 384, 385, 386, 387, 388, 389, 390, 0, 391, 392, + 393, 1607, 395, 396, 397, 398, 0, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 0, 413, 414, 1608, 416, 417, 418, 1609, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 0, 1610, 433, 434, 435, 436, 437, 438, + 1611, 440, 441, 442, 0, 1612, 444, 445, 1613, 447, + 0, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 1614, 462, 0, 0, 0, 464, + 465, 0, 466, 1615, 468, 469, 470, 471, 472, 0, + 473, 1616, 1617, 0, 476, 0, 477, 478, 0, 480, + 0, 0, 482, 483, 1618, 485, 486, 487, 488, 489, + 1619, 0, 490, 491, 492, 0, 493, 494, 495, 496, + 0, 497, 498, 499, 500, 501, 0, 1620, 0, 504, + 1621, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 0, 0, 515, 0, 0, 516, 517, 518, 519, 520, + 521, 3374, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 533, 534, 535, 536, 0, 0, 0, 0, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 0, + 129, 130, 131, 0, 0, 0, 3067, 0, 132, 0, + 0, 0, 3068, 134, 135, 0, 136, 137, 138, 3069, + 140, 141, 142, 0, 1572, 3070, 1574, 1575, 0, 148, + 149, 150, 151, 152, 153, 0, 0, 154, 155, 156, + 157, 1576, 1577, 160, 0, 161, 162, 163, 164, 0, + 0, 3071, 0, 3072, 168, 169, 170, 171, 172, 3073, + 174, 175, 176, 0, 177, 178, 179, 180, 181, 182, + 0, 3074, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 1582, 195, 196, 1583, 198, 0, 199, 0, + 200, 201, 202, 203, 204, 205, 0, 0, 206, 207, + 208, 209, 210, 0, 0, 211, 212, 1150, 214, 215, + 216, 217, 0, 218, 219, 220, 0, 221, 222, 223, + 0, 224, 225, 226, 227, 0, 229, 230, 231, 232, + 233, 0, 0, 235, 0, 236, 237, 1584, 239, 0, + 240, 0, 241, 3075, 0, 3076, 244, 245, 3077, 3078, + 248, 0, 249, 250, 0, 0, 0, 0, 253, 254, + 0, 255, 256, 257, 258, 259, 260, 261, 3079, 263, + 264, 265, 266, 0, 267, 268, 269, 270, 271, 272, + 273, 0, 274, 3080, 0, 277, 278, 279, 280, 281, + 1590, 1591, 0, 1592, 0, 285, 3081, 3082, 288, 3083, + 290, 291, 292, 293, 294, 295, 296, 0, 0, 297, + 3084, 299, 3085, 0, 301, 302, 303, 304, 305, 306, + 307, 308, 3375, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 1599, 3087, 1601, 333, 334, 335, 336, + 0, 0, 338, 339, 3089, 341, 0, 0, 343, 1603, + 345, 346, 347, 0, 348, 349, 0, 0, 350, 351, + 352, 0, 0, 353, 354, 0, 3091, 357, 3092, 0, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 0, 0, 0, 0, 373, 374, 0, + 3093, 377, 378, 0, 380, 381, 382, 0, 383, 384, + 385, 386, 387, 388, 389, 390, 0, 391, 392, 393, + 1607, 395, 396, 397, 398, 0, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 413, 414, 3094, 416, 417, 418, 0, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 0, 3095, 433, 434, 435, 436, 437, 438, 0, + 440, 441, 442, 0, 3097, 444, 445, 1613, 447, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 3376, 462, 0, 0, 0, 464, 465, + 0, 466, 3099, 468, 469, 470, 471, 472, 0, 473, + 1616, 1617, 0, 476, 0, 477, 478, 0, 480, 0, + 0, 482, 483, 3100, 485, 486, 487, 488, 489, 0, + 0, 490, 491, 492, 0, 493, 494, 495, 496, 0, + 497, 498, 499, 500, 501, 0, 1620, 0, 504, 3102, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, + 0, 515, 0, 0, 516, 517, 518, 519, 520, 521, + 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 533, 534, 535, 536, 0, 0, 0, 0, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 0, 129, + 130, 131, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 134, 135, 0, 136, 137, 138, 0, 140, + 141, 142, 143, 144, 0, 146, 147, 0, 148, 149, + 150, 151, 152, 153, 0, 0, 154, 155, 156, 157, + 158, 159, 160, 0, 161, 162, 163, 164, 165, 0, + 0, 0, 167, 168, 169, 170, 171, 172, 0, 174, + 175, 176, 0, 177, 178, 179, 180, 181, 182, 0, + 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 0, 199, 0, 200, + 201, 202, 203, 204, 205, 0, 0, 206, 207, 208, + 209, 210, 0, 0, 211, 212, 213, 214, 215, 216, + 217, 0, 218, 219, 220, 0, 221, 222, 223, 0, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 0, 235, 0, 236, 237, 238, 239, 0, 240, + 0, 241, 0, 0, 0, 244, 245, 546, 0, 248, + 0, 249, 250, 0, 0, 251, 252, 0, 254, 0, + 255, 256, 257, 258, 259, 260, 261, 0, 263, 264, + 265, 266, 0, 267, 268, 269, 270, 271, 272, 273, + 0, 274, 0, 276, 277, 278, 279, 280, 281, 282, + 283, 0, 284, 0, 285, 0, 0, 288, 0, 290, + 291, 292, 293, 294, 295, 296, 0, 0, 297, 0, + 299, 0, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 547, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 0, 332, 333, 334, 335, 336, 337, + 0, 338, 339, 0, 341, 0, 342, 343, 344, 345, + 346, 347, 0, 348, 349, 0, 0, 350, 351, 352, + 0, 0, 353, 354, 355, 0, 357, 0, 359, 360, + 361, 362, 363, 364, 365, 0, 367, 368, 369, 370, + 371, 372, 0, 0, 0, 0, 373, 374, 375, 0, + 377, 378, 379, 380, 381, 382, 0, 383, 384, 385, + 386, 387, 388, 389, 390, 0, 391, 0, 393, 394, + 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 0, + 413, 414, 0, 416, 417, 418, 419, 0, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 0, 0, 433, 434, 435, 436, 437, 438, 439, 440, + 441, 442, 0, 0, 444, 445, 446, 447, 0, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 548, 462, 463, 0, 0, 464, 465, 0, + 466, 0, 468, 469, 470, 471, 472, 0, 473, 474, + 475, 0, 476, 0, 477, 478, 479, 480, 481, 0, + 482, 483, 484, 485, 486, 487, 488, 489, 0, 0, + 490, 491, 492, 0, 493, 494, 495, 496, 0, 497, + 498, 499, 500, 501, 502, 503, 0, 504, 0, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 0, 0, + 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 1863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, - 122, 123, 124, 0, 0, 0, 838, 0, 125, 0, - 0, 0, 839, 127, 128, 0, 129, 130, 131, 840, - 133, 134, 135, 0, 841, 842, 843, 844, 0, 141, - 142, 143, 144, 145, 146, 0, 0, 147, 148, 845, - 846, 151, 0, 152, 153, 154, 155, 0, 0, 847, - 0, 848, 159, 160, 161, 162, 163, 849, 165, 166, - 167, 0, 168, 169, 170, 171, 172, 173, 0, 850, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 851, 852, 187, 0, 188, 0, 189, 190, 191, 192, - 193, 194, 0, 195, 196, 197, 198, 199, 200, 0, - 0, 201, 202, 853, 204, 205, 206, 207, 0, 208, - 209, 210, 0, 211, 212, 213, 0, 214, 215, 216, - 217, 0, 219, 220, 221, 222, 223, 0, 0, 225, - 0, 226, 227, 854, 229, 0, 230, 0, 231, 855, - 0, 856, 234, 235, 0, 857, 238, 0, 239, 240, - 0, 0, 0, 0, 243, 244, 0, 245, 246, 247, - 248, 249, 858, 251, 859, 253, 254, 255, 256, 0, - 257, 258, 259, 260, 261, 262, 263, 0, 264, 860, - 0, 267, 268, 269, 270, 271, 861, 862, 0, 863, - 0, 275, 864, 865, 278, 866, 280, 281, 282, 283, - 284, 285, 286, 0, 0, 287, 867, 289, 868, 0, - 291, 292, 293, 294, 295, 296, 297, 298, 869, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 870, 871, 872, - 321, 322, 323, 324, 0, 0, 326, 327, 873, 329, - 0, 0, 331, 874, 333, 334, 335, 0, 336, 337, - 0, 0, 338, 339, 340, 0, 0, 341, 0, 875, - 344, 876, 0, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 0, 0, 0, 0, 359, - 360, 0, 877, 363, 364, 0, 366, 367, 368, 0, - 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, - 378, 379, 878, 381, 382, 383, 384, 0, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 399, 400, 879, 402, 403, 404, 880, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 0, 881, 417, 418, 419, 420, 421, 422, 882, - 424, 425, 426, 427, 883, 429, 430, 884, 432, 0, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 885, 447, 0, 449, 0, 450, 451, - 0, 452, 886, 454, 455, 456, 457, 458, 0, 887, - 888, 0, 461, 0, 462, 463, 0, 465, 0, 0, - 467, 468, 889, 470, 471, 472, 473, 474, 890, 0, - 475, 476, 477, 0, 478, 479, 480, 481, 0, 482, - 483, 484, 485, 486, 0, 891, 0, 489, 892, 491, - 492, 493, 494, 495, 496, 497, 0, 0, 498, 0, - 0, 499, 500, 501, 502, 503, 504, 837, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, - 518, 519, 0, 0, 0, 0, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 0, 122, 123, 124, 0, - 0, 0, 838, 0, 125, 0, 0, 0, 839, 127, - 128, 0, 129, 130, 131, 840, 133, 134, 135, 0, - 841, 842, 843, 844, 0, 141, 142, 143, 144, 145, - 146, 0, 0, 147, 148, 845, 846, 151, 0, 152, - 153, 154, 155, 0, 0, 847, 0, 848, 159, 160, - 161, 162, 163, 849, 165, 166, 167, 0, 168, 169, - 170, 171, 172, 173, 0, 850, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 851, 852, 187, 0, - 188, 0, 189, 190, 191, 192, 193, 194, 0, 195, - 196, 197, 198, 199, 200, 0, 0, 201, 202, 853, - 204, 205, 206, 207, 0, 208, 209, 210, 0, 211, - 212, 213, 0, 214, 215, 216, 217, 0, 219, 220, - 221, 222, 223, 0, 0, 225, 0, 226, 227, 854, - 229, 0, 230, 0, 231, 855, 0, 856, 234, 235, - 0, 857, 238, 0, 239, 240, 0, 0, 0, 0, - 243, 244, 0, 245, 246, 247, 248, 249, 250, 251, - 859, 253, 254, 255, 256, 0, 257, 258, 259, 260, - 261, 262, 263, 0, 264, 860, 0, 267, 268, 269, - 270, 271, 861, 862, 0, 863, 0, 275, 864, 865, - 278, 866, 280, 281, 282, 283, 284, 285, 286, 0, - 0, 287, 867, 289, 868, 0, 291, 292, 293, 294, - 295, 296, 297, 298, 869, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 870, 871, 872, 321, 322, 323, 324, - 0, 0, 326, 327, 873, 329, 0, 0, 331, 874, - 333, 334, 335, 0, 336, 337, 0, 0, 338, 339, - 340, 0, 0, 341, 0, 875, 344, 876, 0, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 0, 0, 0, 0, 359, 360, 0, 877, 363, - 364, 0, 366, 367, 368, 0, 369, 370, 371, 372, - 373, 374, 375, 376, 0, 377, 378, 379, 878, 381, - 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 399, - 400, 879, 402, 403, 404, 880, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 0, 881, 417, - 418, 419, 420, 421, 422, 882, 424, 425, 426, 427, - 883, 429, 430, 884, 432, 0, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 885, - 447, 0, 449, 0, 450, 451, 0, 452, 886, 454, - 455, 456, 457, 458, 0, 887, 888, 0, 461, 0, - 462, 463, 0, 465, 0, 0, 467, 468, 889, 470, - 471, 472, 473, 474, 890, 0, 475, 476, 477, 0, - 478, 479, 480, 481, 0, 482, 483, 484, 485, 486, - 0, 891, 0, 489, 892, 491, 492, 493, 494, 495, - 496, 497, 0, 0, 498, 0, 0, 499, 500, 501, - 502, 503, 504, 837, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 516, 517, 518, 519, 0, 0, - 0, 0, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 0, 122, 123, 124, 0, 0, 0, 838, 0, - 125, 0, 0, 0, 839, 127, 128, 0, 129, 130, - 131, 840, 133, 134, 135, 0, 841, 842, 843, 844, - 0, 141, 142, 143, 144, 145, 146, 0, 0, 147, - 148, 845, 846, 151, 0, 152, 153, 154, 155, 0, - 0, 847, 0, 848, 159, 160, 161, 162, 163, 849, - 165, 166, 167, 0, 168, 169, 170, 171, 172, 173, - 0, 850, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 851, 852, 187, 0, 188, 0, 189, 190, - 191, 192, 193, 194, 0, 195, 196, 197, 198, 199, - 200, 0, 0, 201, 202, 853, 204, 205, 206, 207, - 0, 208, 209, 210, 0, 1879, 212, 213, 0, 214, - 215, 216, 217, 0, 219, 220, 221, 222, 223, 0, - 0, 225, 0, 226, 227, 854, 229, 0, 230, 0, - 231, 855, 0, 856, 234, 235, 0, 857, 238, 0, - 239, 240, 0, 0, 0, 0, 243, 244, 0, 245, - 246, 247, 248, 249, 250, 251, 859, 253, 254, 255, - 256, 0, 257, 258, 259, 260, 261, 262, 263, 0, - 264, 860, 0, 267, 268, 269, 270, 271, 861, 862, - 0, 863, 0, 275, 864, 865, 278, 866, 280, 281, - 282, 283, 284, 285, 286, 0, 0, 287, 867, 289, - 868, 0, 291, 292, 293, 294, 295, 296, 297, 298, - 869, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 870, - 871, 872, 321, 322, 323, 324, 0, 0, 326, 327, - 873, 329, 0, 0, 331, 874, 333, 334, 335, 0, - 336, 337, 0, 0, 338, 339, 340, 0, 0, 341, - 0, 875, 344, 876, 0, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 0, 0, 0, - 0, 359, 360, 0, 877, 363, 364, 0, 366, 367, - 368, 0, 369, 370, 371, 372, 373, 374, 375, 376, - 0, 377, 378, 379, 878, 381, 382, 383, 384, 0, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 399, 400, 879, 402, 403, - 404, 880, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 0, 881, 417, 418, 419, 420, 421, - 422, 882, 424, 425, 426, 427, 883, 429, 430, 884, - 432, 0, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 885, 447, 0, 449, 0, - 450, 451, 0, 452, 886, 454, 455, 456, 457, 458, - 0, 887, 888, 0, 461, 0, 462, 463, 0, 465, - 0, 0, 467, 468, 889, 470, 471, 472, 473, 474, - 890, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 0, 482, 483, 484, 485, 486, 0, 891, 0, 489, - 892, 491, 492, 493, 494, 495, 496, 497, 0, 0, - 498, 0, 0, 499, 500, 501, 502, 503, 504, 2973, + 0, 0, 0, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 0, 129, 130, 131, 0, 0, 0, 1569, + 0, 132, 0, 0, 0, 1570, 134, 135, 0, 136, + 137, 138, 1571, 140, 141, 142, 0, 1572, 1573, 1574, + 1575, 0, 148, 149, 150, 151, 152, 153, 0, 0, + 154, 155, 156, 157, 1576, 1577, 160, 0, 161, 162, + 163, 164, 0, 0, 1578, 0, 1579, 168, 169, 170, + 171, 172, 1580, 174, 175, 176, 0, 177, 178, 179, + 180, 181, 182, 0, 1581, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 1582, 195, 196, 1583, 198, + 0, 199, 0, 200, 201, 202, 203, 204, 205, 0, + 0, 206, 207, 208, 209, 210, 0, 0, 211, 212, + 1150, 214, 215, 216, 217, 0, 218, 219, 220, 0, + 221, 222, 223, 0, 224, 225, 226, 227, 0, 229, + 230, 231, 232, 233, 0, 0, 235, 0, 236, 237, + 1584, 239, 0, 240, 0, 241, 1585, 0, 1586, 244, + 245, 0, 1587, 248, 0, 249, 250, 0, 0, 0, + 0, 253, 254, 0, 255, 256, 257, 258, 259, 260, + 261, 1588, 263, 264, 265, 266, 0, 267, 268, 269, + 270, 271, 272, 273, 0, 274, 1589, 0, 277, 278, + 279, 280, 281, 1590, 1591, 0, 1592, 0, 285, 1593, + 1594, 288, 1595, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 1596, 299, 1597, 0, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 1599, 1600, 1601, 333, + 334, 335, 336, 0, 0, 338, 339, 1602, 341, 0, + 0, 343, 1603, 345, 346, 347, 0, 348, 349, 0, + 0, 350, 351, 352, 0, 0, 353, 354, 0, 1604, + 357, 1605, 0, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 0, 0, 0, 0, + 373, 374, 0, 1606, 377, 378, 0, 380, 381, 382, + 0, 383, 384, 385, 386, 387, 388, 389, 390, 0, + 391, 392, 393, 1607, 395, 396, 397, 398, 0, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 0, 413, 414, 1608, 416, 417, 418, + 0, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 0, 1610, 433, 434, 435, 436, + 437, 438, 0, 440, 441, 442, 0, 1612, 444, 445, + 1613, 447, 0, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 0, 462, 0, 0, + 0, 464, 465, 0, 466, 1615, 468, 469, 470, 471, + 472, 0, 473, 1616, 1617, 0, 476, 0, 477, 478, + 0, 480, 0, 0, 482, 483, 1618, 485, 486, 487, + 488, 489, 0, 0, 490, 491, 492, 0, 493, 494, + 495, 496, 0, 497, 498, 499, 500, 501, 0, 1620, + 0, 504, 1621, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 0, 0, 515, 0, 0, 516, 517, 518, + 519, 520, 521, 893, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 533, 534, 535, 536, 0, 0, + 0, 0, 120, 121, 122, 123, 0, 125, 126, 127, + 128, 0, 129, 130, 131, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 134, 135, 0, 136, 137, + 138, 0, 140, 141, 142, 894, 895, 0, 896, 897, + 0, 148, 149, 150, 151, 152, 153, 0, 0, 154, + 155, 156, 157, 898, 899, 160, 0, 161, 162, 163, + 164, 900, 0, 0, 0, 0, 168, 169, 170, 171, + 172, 0, 174, 175, 176, 0, 177, 178, 179, 180, + 181, 0, 0, 0, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 901, 195, 196, 902, 198, 0, + 199, 0, 200, 201, 202, 203, 204, 205, 0, 0, + 0, 207, 208, 209, 210, 0, 0, 211, 212, 213, + 214, 215, 0, 0, 0, 218, 219, 220, 0, 221, + 222, 223, 0, 224, 225, 226, 227, 903, 229, 230, + 231, 232, 233, 904, 0, 235, 0, 236, 237, 905, + 239, 0, 240, 0, 241, 0, 0, 0, 244, 245, + 906, 0, 248, 0, 249, 0, 0, 0, 907, 908, + 0, 254, 0, 255, 256, 257, 258, 259, 260, 261, + 0, 263, 264, 265, 266, 0, 267, 268, 269, 270, + 271, 272, 273, 0, 274, 0, 909, 277, 278, 279, + 280, 281, 910, 911, 0, 912, 0, 285, 0, 0, + 288, 0, 290, 0, 292, 293, 294, 295, 296, 0, + 0, 297, 0, 299, 0, 0, 301, 302, 303, 304, + 305, 306, 307, 308, 913, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 914, 0, 915, 333, 334, + 335, 0, 916, 0, 338, 339, 0, 341, 0, 917, + 343, 918, 345, 346, 347, 0, 348, 349, 0, 0, + 350, 351, 352, 0, 0, 353, 354, 919, 0, 357, + 0, 920, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 0, 0, 371, 372, 0, 0, 0, 0, 373, + 374, 921, 0, 377, 378, 922, 380, 381, 382, 0, + 383, 384, 385, 386, 387, 0, 0, 390, 0, 391, + 392, 393, 923, 395, 396, 397, 398, 0, 399, 400, + 401, 0, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 0, 413, 414, 0, 416, 417, 418, 924, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 0, 0, 433, 434, 435, 436, 437, + 438, 925, 440, 441, 0, 0, 0, 0, 445, 926, + 447, 0, 0, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 927, 462, 928, 0, 0, + 464, 465, 0, 466, 0, 468, 469, 470, 471, 472, + 0, 473, 929, 930, 0, 0, 0, 477, 478, 931, + 480, 932, 0, 482, 483, 933, 485, 486, 487, 488, + 489, 0, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 0, 497, 498, 499, 500, 501, 1497, 935, 0, + 504, 0, 506, 0, 508, 509, 510, 511, 0, 513, + 514, 0, 0, 515, 0, 0, 516, 517, 518, 519, + 520, 521, 936, 937, 938, 939, 940, 941, 942, 943, + 944, 945, 946, 533, 534, 535, 536, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, + 3, 4, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, + 0, 0, 8, 0, 0, 7, 0, 0, 0, 0, + 0, 0, 0, 10, 0, 0, 0, 0, 0, 8, + 0, 0, 0, 0, 0, 11, 0, 773, 0, 0, + 10, 0, 0, 0, 0, 0, 0, 0, 13, 0, + 0, 0, 11, 0, 773, 0, 0, 0, 0, 0, + 0, 0, 0, 14, 15, 13, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 774, 0, 0, 0, 0, + 14, 15, 0, 18, 0, 0, 0, 0, 0, 0, + 0, 19, 774, 0, 0, 0, 0, 0, 0, 0, + 18, 0, 0, 0, 0, 0, 0, 22, 19, 0, + 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 516, 517, 518, 519, 0, 0, 0, 0, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 0, 122, 123, - 124, 0, 0, 0, 2974, 0, 125, 0, 0, 0, - 2975, 127, 128, 0, 129, 130, 131, 2976, 133, 134, - 135, 0, 841, 2977, 843, 844, 0, 141, 142, 143, - 144, 145, 146, 0, 0, 147, 148, 845, 846, 151, - 0, 152, 153, 154, 155, 0, 0, 2978, 0, 2979, - 159, 160, 161, 162, 163, 2980, 165, 166, 167, 0, - 168, 169, 170, 171, 172, 173, 0, 2981, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 851, 852, - 187, 0, 188, 0, 189, 190, 191, 192, 193, 194, - 0, 195, 196, 197, 198, 199, 200, 0, 0, 201, - 202, 853, 204, 205, 206, 207, 0, 208, 209, 210, - 0, 211, 212, 213, 0, 214, 215, 216, 217, 0, - 219, 220, 221, 222, 223, 0, 0, 225, 0, 226, - 227, 854, 229, 0, 230, 0, 231, 2982, 0, 2983, - 234, 235, 2984, 2985, 238, 0, 239, 240, 0, 0, - 0, 0, 243, 244, 0, 245, 246, 247, 248, 249, - 250, 251, 2986, 253, 254, 255, 256, 0, 257, 258, - 259, 260, 261, 262, 263, 0, 264, 2987, 0, 267, - 268, 269, 270, 271, 861, 862, 0, 863, 0, 275, - 2988, 2989, 278, 2990, 280, 281, 282, 283, 284, 285, - 286, 0, 0, 287, 2991, 289, 2992, 0, 291, 292, - 293, 294, 295, 296, 297, 298, 3269, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 870, 2994, 872, 321, 322, - 323, 324, 0, 0, 326, 327, 2996, 329, 0, 0, - 331, 874, 333, 334, 335, 0, 336, 337, 0, 0, - 338, 339, 340, 0, 0, 341, 0, 2998, 344, 2999, - 0, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 0, 0, 0, 0, 359, 360, 0, - 3000, 363, 364, 0, 366, 367, 368, 0, 369, 370, - 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, - 878, 381, 382, 383, 384, 0, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 399, 400, 3001, 402, 403, 404, 0, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, - 3002, 417, 418, 419, 420, 421, 422, 0, 424, 425, - 426, 427, 3004, 429, 430, 884, 432, 0, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 3270, 447, 0, 449, 0, 450, 451, 0, 452, - 3006, 454, 455, 456, 457, 458, 0, 887, 888, 0, - 461, 0, 462, 463, 0, 465, 0, 0, 467, 468, - 3007, 470, 471, 472, 473, 474, 0, 0, 475, 476, - 477, 0, 478, 479, 480, 481, 0, 482, 483, 484, - 485, 486, 0, 891, 0, 489, 3009, 491, 492, 493, - 494, 495, 496, 497, 0, 0, 498, 0, 0, 499, - 500, 501, 502, 503, 504, 528, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 516, 517, 518, 519, - 0, 0, 0, 0, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 0, 122, 123, 124, 0, 0, 0, - 0, 0, 125, 0, 0, 0, 0, 127, 128, 0, - 129, 130, 131, 0, 133, 134, 135, 136, 137, 0, - 139, 140, 0, 141, 142, 143, 144, 145, 146, 0, - 0, 147, 148, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 0, 0, 0, 158, 159, 160, 161, 162, - 163, 0, 165, 166, 167, 0, 168, 169, 170, 171, - 172, 173, 0, 0, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 0, 188, 0, - 189, 190, 191, 192, 193, 194, 0, 195, 196, 197, - 198, 199, 200, 0, 0, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 209, 210, 0, 211, 212, 213, - 0, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 0, 225, 0, 226, 227, 228, 229, 0, - 230, 0, 231, 0, 0, 0, 234, 235, 529, 0, - 238, 0, 239, 240, 0, 0, 241, 242, 243, 244, - 0, 245, 246, 247, 248, 249, 250, 251, 0, 253, - 254, 255, 256, 0, 257, 258, 259, 260, 261, 262, - 263, 0, 264, 0, 266, 267, 268, 269, 270, 271, - 272, 273, 0, 274, 0, 275, 0, 0, 278, 0, - 280, 281, 282, 283, 284, 285, 286, 0, 0, 287, - 0, 289, 0, 0, 291, 292, 293, 294, 295, 296, - 297, 298, 530, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 0, 320, 321, 322, 323, 324, 325, 0, - 326, 327, 0, 329, 0, 330, 331, 332, 333, 334, - 335, 0, 336, 337, 0, 0, 338, 339, 340, 0, - 0, 341, 342, 0, 344, 0, 346, 347, 348, 349, - 350, 351, 352, 0, 354, 355, 356, 357, 358, 0, - 0, 0, 0, 359, 360, 361, 0, 363, 364, 365, - 366, 367, 368, 0, 369, 370, 371, 372, 373, 374, - 375, 376, 0, 377, 0, 379, 380, 381, 382, 383, - 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 399, 400, 0, - 402, 403, 404, 405, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 0, 0, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 0, 429, - 430, 431, 432, 0, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 531, 447, 448, - 449, 0, 450, 451, 0, 452, 0, 454, 455, 456, - 457, 458, 0, 459, 460, 0, 461, 0, 462, 463, - 464, 465, 466, 0, 467, 468, 469, 470, 471, 472, - 473, 474, 0, 0, 475, 476, 477, 0, 478, 479, - 480, 481, 0, 482, 483, 484, 485, 486, 487, 488, - 0, 489, 0, 491, 492, 493, 494, 495, 496, 497, - 0, 0, 498, 0, 0, 499, 500, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 0, 122, 123, 124, 0, 0, - 0, 838, 0, 125, 0, 0, 0, 839, 127, 128, - 0, 129, 130, 131, 840, 133, 134, 135, 0, 841, - 842, 843, 844, 0, 141, 142, 143, 144, 145, 146, - 0, 0, 147, 148, 845, 846, 151, 0, 152, 153, - 154, 155, 0, 0, 847, 0, 848, 159, 160, 161, - 162, 163, 849, 165, 166, 167, 0, 168, 169, 170, - 171, 172, 173, 0, 850, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 851, 852, 187, 0, 188, - 0, 189, 190, 191, 192, 193, 194, 0, 195, 196, - 197, 198, 199, 200, 0, 0, 201, 202, 853, 204, - 205, 206, 207, 0, 208, 209, 210, 0, 211, 212, - 213, 0, 214, 215, 216, 217, 0, 219, 220, 221, - 222, 223, 0, 0, 225, 0, 226, 227, 854, 229, - 0, 230, 0, 231, 855, 0, 856, 234, 235, 0, - 857, 238, 0, 239, 240, 0, 0, 0, 0, 243, - 244, 0, 245, 246, 247, 248, 249, 250, 251, 859, - 253, 254, 255, 256, 0, 257, 258, 259, 260, 261, - 262, 263, 0, 264, 860, 0, 267, 268, 269, 270, - 271, 861, 862, 0, 863, 0, 275, 864, 865, 278, - 866, 280, 281, 282, 283, 284, 285, 286, 0, 0, - 287, 867, 289, 868, 0, 291, 292, 293, 294, 295, - 296, 297, 298, 0, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 870, 871, 872, 321, 322, 323, 324, 0, - 0, 326, 327, 873, 329, 0, 0, 331, 874, 333, - 334, 335, 0, 336, 337, 0, 0, 338, 339, 340, - 0, 0, 341, 0, 875, 344, 876, 0, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 0, 0, 0, 0, 359, 360, 0, 877, 363, 364, - 0, 366, 367, 368, 0, 369, 370, 371, 372, 373, - 374, 375, 376, 0, 377, 378, 379, 878, 381, 382, - 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 399, 400, - 879, 402, 403, 404, 0, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 0, 881, 417, 418, - 419, 420, 421, 422, 0, 424, 425, 426, 427, 883, - 429, 430, 884, 432, 0, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 0, 447, - 0, 449, 0, 450, 451, 0, 452, 886, 454, 455, - 456, 457, 458, 0, 887, 888, 0, 461, 0, 462, - 463, 0, 465, 0, 0, 467, 468, 889, 470, 471, - 472, 473, 474, 0, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 0, 482, 483, 484, 485, 486, 0, - 891, 0, 489, 892, 491, 492, 493, 494, 495, 496, - 497, 0, 0, 498, 0, 0, 499, 500, 501, 502, - 503, 504, 708, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 516, 517, 518, 519, 0, 0, 0, - 0, 113, 114, 115, 116, 0, 118, 119, 120, 121, - 0, 122, 123, 124, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 128, 0, 129, 130, 131, - 0, 133, 134, 135, 709, 710, 0, 711, 712, 0, - 141, 142, 143, 144, 145, 146, 0, 0, 147, 148, - 713, 714, 151, 0, 152, 153, 154, 155, 715, 0, - 0, 0, 0, 159, 160, 161, 162, 163, 0, 165, - 166, 167, 0, 168, 169, 170, 171, 172, 0, 0, - 0, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 716, 717, 187, 0, 188, 0, 189, 190, 191, - 192, 193, 194, 0, 195, 0, 197, 198, 199, 200, - 0, 0, 201, 202, 203, 204, 205, 0, 0, 0, - 208, 209, 210, 0, 211, 212, 213, 0, 214, 215, - 216, 217, 718, 219, 220, 221, 222, 223, 719, 0, - 225, 0, 226, 227, 720, 229, 0, 230, 0, 231, - 0, 0, 0, 234, 235, 721, 0, 238, 0, 239, - 0, 0, 0, 722, 723, 0, 244, 0, 245, 246, - 247, 248, 249, 250, 251, 0, 253, 254, 255, 256, - 0, 257, 258, 259, 260, 261, 262, 263, 0, 264, - 0, 724, 267, 268, 269, 270, 271, 725, 726, 0, - 727, 0, 275, 0, 0, 278, 0, 280, 0, 282, - 283, 284, 285, 286, 0, 0, 287, 0, 289, 0, - 0, 291, 292, 293, 294, 295, 296, 297, 298, 728, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 729, 0, - 730, 321, 322, 323, 0, 731, 0, 326, 327, 0, - 329, 0, 732, 331, 733, 333, 334, 335, 0, 336, - 337, 0, 0, 338, 339, 340, 0, 0, 341, 734, - 0, 344, 0, 735, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 0, 0, 358, 0, 0, 0, 0, - 359, 360, 736, 0, 363, 364, 737, 366, 367, 368, - 0, 369, 370, 371, 372, 373, 0, 0, 376, 0, - 377, 378, 379, 738, 381, 382, 383, 384, 0, 385, - 386, 387, 0, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 399, 400, 0, 402, 403, 404, - 739, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 0, 0, 417, 418, 419, 420, 421, 422, - 740, 424, 425, 0, 427, 0, 0, 430, 741, 432, - 0, 0, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 742, 447, 743, 449, 0, 450, - 451, 0, 452, 0, 454, 455, 456, 457, 458, 0, - 744, 745, 0, 0, 0, 462, 463, 746, 465, 747, - 0, 467, 468, 748, 470, 471, 472, 473, 474, 0, - 0, 475, 476, 477, 0, 478, 479, 480, 481, 0, - 482, 483, 484, 485, 486, 1542, 750, 0, 489, 0, - 491, 0, 493, 494, 495, 496, 0, 0, 0, 498, - 0, 0, 499, 500, 501, 502, 503, 504, 751, 752, - 753, 754, 755, 756, 757, 758, 759, 760, 761, 516, - 517, 518, 519, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, 3, 4, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, - 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, - 0, 7, 0, 0, 0, 0, 0, 9, 0, 0, - 0, 0, 0, 8, 0, 0, 0, 0, 0, 10, - 0, 588, 0, 0, 9, 0, 0, 0, 0, 0, - 0, 0, 12, 0, 0, 0, 10, 0, 588, 0, - 0, 0, 0, 0, 0, 0, 13, 0, 0, 12, - 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, - 0, 0, 0, 13, 0, 16, 0, 0, 0, 0, - 0, 0, 0, 17, 589, 0, 0, 0, 0, 0, - 0, 0, 16, 0, 0, 0, 0, 0, 0, 20, - 17, 0, 0, 21, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, - 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, + 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, - 27, 0, 0, 0, 0, 0, 28, 0, 0, 29, - 0, 0, 0, 0, 0, 25, 26, 27, 0, 0, - 0, 0, 0, 28, 0, 0, 29, 0, 0, 0, + 27, 28, 29, 0, 0, 0, 0, 0, 30, 0, + 0, 31, 0, 0, 0, 0, 0, 27, 28, 29, + 0, 0, 0, 0, 0, 30, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, - 31, 0, 0, 0, 0, 0, 0, 0, 30, 0, - 0, 0, 0, 0, 32, 0, 0, 31, 0, 0, - 0, 33, 0, 0, 0, 0, 34, 0, 0, 0, - 0, 32, 0, 0, 0, 0, 0, 35, 33, 0, - 0, 0, 0, 34, 0, 0, 0, 0, 0, 36, - 0, 0, 0, 37, 35, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, - 38, 0, 41, 0, 0, 0, 0, 42, 0, 0, - 0, 590, 0, 39, 0, 0, 0, 0, 0, 41, - 0, 0, 0, 43, 42, 0, 0, 0, 0, 0, + 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 34, 33, + 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, + 36, 0, 0, 0, 0, 34, 0, 0, 0, 0, + 0, 37, 35, 0, 0, 0, 0, 36, 0, 0, + 0, 0, 0, 38, 0, 0, 0, 39, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 43, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 38, 0, 0, 0, 39, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 591, 0, 0, 44, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 689 + 0, 41, 0, 0, 0, 40, 0, 43, 0, 0, + 0, 0, 44, 0, 0, 0, 775, 0, 41, 0, + 0, 0, 0, 0, 43, 0, 0, 0, 0, 44, + 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, + 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 776, 0, + 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 874 }; static const yytype_int16 yycheck[] = { - 7, 8, 584, 807, 678, 12, 520, 591, 87, 88, - 17, 45, 0, 0, 21, 795, 23, 24, 0, 0, - 0, 28, 29, 30, 652, 803, 33, 0, 21, 36, - 37, 882, 583, 40, 702, 45, 43, 44, 783, 0, - 0, 1033, 21, 1013, 0, 85, 1746, 812, 1031, 581, - 1262, 1274, 0, 1075, 581, 1443, 36, 18, 7, 888, - 2147, 1261, 2269, 1702, 1557, 1236, 1196, 1603, 2706, 1133, - 2144, 921, 21, 581, 89, 1238, 2204, 2214, 1013, 1202, - 87, 88, 37, 18, 1628, 2672, 89, 2316, 2317, 2318, - 1848, 1241, 99, 0, 87, 88, 2672, 104, 105, 106, - 107, 108, 1393, 1266, 7, 2175, 0, 2177, 87, 88, - 1022, 2704, 2265, 795, 590, 797, 1022, 799, 21, 99, - 1448, 1022, 1022, 648, 591, 1163, 0, 2141, 653, 0, - 1168, 645, 0, 0, 0, 2727, 2720, 1129, 87, 88, - 0, 0, 2203, 1655, 1656, 0, 44, 2516, 1492, 0, - 33, 24, 107, 0, 3164, 0, 0, 0, 2329, 0, - 9, 0, 2582, 3044, 0, 0, 609, 914, 0, 0, - 917, 3060, 845, 846, 2628, 1866, 5, 5, 2632, 65, - 694, 9, 3063, 5, 87, 88, 5, 1706, 13, 14, - 17, 13, 14, 1764, 2347, 65, 1863, 778, 5, 872, - 23, 24, 1766, 8, 1174, 57, 11, 65, 5, 5, - 15, 16, 17, 18, 19, 20, 21, 1998, 5, 5, - 2340, 5, 5, 5, 9, 2336, 9, 13, 14, 13, - 14, 778, 37, 773, 5, 47, 3273, 5, 13, 14, - 31, 40, 5, 48, 140, 13, 14, 122, 39, 47, - 55, 173, 40, 74, 47, 117, 581, 193, 5, 2031, - 5, 5, 5, 5, 1042, 17, 2419, 2420, 0, 2422, - 13, 14, 2044, 2902, 31, 80, 65, 5, 5, 5, - 1250, 5, 39, 1253, 1254, 13, 14, 110, 0, 5, - 80, 107, 1121, 183, 11, 224, 2490, 11, 90, 16, - 120, 229, 16, 248, 3160, 3021, 47, 2848, 292, 2850, - 275, 3500, 11, 290, 120, 248, 104, 16, 106, 1436, - 108, 31, 298, 4, 3, 4, 5, 3163, 9, 39, - 9, 2560, 278, 9, 48, 138, 128, 107, 1360, 173, - 11, 117, 82, 2642, 15, 16, 4, 1369, 169, 48, - 882, 9, 1020, 93, 172, 882, 2586, 2587, 3368, 3369, - 3, 230, 195, 66, 82, 17, 80, 106, 100, 120, - 131, 74, 177, 298, 882, 93, 43, 48, 5, 3618, - 3150, 80, 3152, 164, 293, 136, 371, 164, 100, 3563, - 162, 196, 35, 36, 31, 215, 201, 1025, 1249, 166, - 131, 1179, 31, 2473, 115, 274, 2164, 3762, 422, 80, - 75, 42, 118, 11, 31, 316, 3003, 3055, 118, 224, - 225, 3302, 39, 1096, 1097, 2024, 2025, 2026, 3066, 1013, - 267, 376, 13, 14, 2641, 240, 115, 519, 2737, 1112, - 518, 484, 1572, 11, 522, 392, 195, 15, 16, 531, - 48, 11, 362, 234, 460, 15, 16, 124, 11, 1523, - 1128, 115, 11, 506, 3057, 3820, 3362, 16, 3364, 241, - 274, 372, 277, 1603, 343, 280, 310, 363, 3836, 2616, - 390, 520, 80, 383, 3842, 2638, 323, 2640, 48, 294, - 1074, 197, 297, 363, 131, 48, 273, 197, 2512, 48, - 42, 1026, 131, 1620, 274, 363, 282, 472, 3697, 454, - 331, 457, 2048, 1038, 520, 254, 277, 309, 3374, 3758, - 80, 454, 3696, 262, 393, 358, 287, 80, 171, 3365, - 173, 80, 539, 337, 26, 520, 520, 544, 1014, 193, - 547, 244, 221, 520, 1076, 176, 3087, 554, 524, 1076, - 353, 216, 1226, 1227, 2948, 3271, 287, 3327, 538, 326, - 292, 1852, 1230, 397, 643, 244, 1549, 1550, 1076, 3458, - 460, 282, 1555, 520, 363, 520, 583, 584, 585, 330, - 292, 591, 478, 1927, 520, 460, 167, 520, 457, 3218, - 11, 396, 1176, 1177, 15, 16, 524, 2141, 520, 524, - 462, 2795, 531, 2756, 1668, 2716, 422, 419, 3504, 394, - 401, 520, 361, 2733, 515, 433, 1420, 624, 625, 626, - 1134, 419, 1793, 277, 524, 632, 419, 634, 3665, 590, - 451, 3641, 364, 643, 176, 427, 643, 457, 524, 632, - 647, 648, 1174, 2873, 401, 652, 653, 1228, 2429, 2220, - 643, 457, 364, 108, 524, 1400, 591, 2221, 2349, 666, - 667, 668, 5, 1203, 643, 484, 524, 2179, 520, 2213, - 519, 1883, 469, 680, 681, 2342, 683, 692, 419, 689, - 1427, 1228, 1704, 632, 394, 512, 3273, 506, 2207, 692, - 697, 520, 520, 433, 643, 520, 703, 3273, 520, 504, - 3284, 520, 507, 508, 509, 527, 511, 512, 513, 514, - 515, 516, 2919, 520, 2486, 433, 3605, 1249, 519, 1942, - 527, 520, 1249, 520, 520, 3606, 531, 412, 518, 632, - 531, 518, 522, 520, 520, 522, 520, 520, 520, 484, - 643, 1249, 697, 783, 1808, 520, 1810, 1190, 3168, 520, - 482, 539, 520, 626, 3123, 2926, 544, 520, 316, 547, - 512, 506, 2053, 770, 3774, 700, 773, 281, 1436, 3223, - 482, 1444, 1445, 520, 3228, 520, 520, 520, 520, 162, - 768, 768, 409, 410, 401, 172, 768, 768, 768, 521, - 475, 523, 520, 520, 520, 768, 520, 680, 681, 516, - 683, 624, 516, 626, 520, 703, 813, 768, 768, 521, - 3039, 523, 768, 820, 821, 822, 823, 516, 773, 3457, - 768, 2165, 314, 315, 482, 230, 3751, 470, 835, 172, - 511, 512, 511, 512, 657, 511, 512, 34, 3232, 2900, - 511, 512, 513, 514, 515, 516, 634, 2559, 506, 2561, - 421, 65, 1822, 511, 512, 507, 26, 3251, 241, 682, - 512, 768, 1832, 436, 61, 1835, 518, 149, 520, 274, - 1892, 1649, 1650, 1651, 768, 2474, 2475, 2476, 2477, 521, - 1412, 2011, 524, 3475, 398, 1412, 150, 3812, 459, 3042, - 3474, 11, 2906, 11, 768, 1563, 426, 768, 428, 460, - 768, 768, 768, 1577, 1412, 397, 289, 1968, 768, 768, - 1442, 1443, 485, 768, 1496, 1442, 1443, 768, 2048, 1593, - 202, 768, 1506, 768, 768, 768, 1458, 768, 2686, 768, - 2688, 1458, 768, 768, 1442, 1443, 768, 768, 1999, 203, - 1491, 521, 434, 1494, 524, 513, 514, 515, 516, 1500, - 1458, 1619, 1620, 513, 514, 515, 516, 515, 2451, 520, - 80, 1629, 80, 2093, 513, 514, 515, 516, 2512, 108, - 1049, 3526, 3527, 1943, 317, 318, 319, 1056, 3616, 148, - 55, 2019, 770, 518, 1652, 477, 509, 522, 393, 1023, - 1973, 1974, 1975, 1976, 1977, 1978, 342, 520, 1981, 1982, - 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1943, 3602, - 1922, 1923, 1924, 2525, 3459, 248, 1922, 1923, 1025, 1026, - 1921, 1028, 1922, 117, 1031, 813, 372, 3234, 2319, 1505, - 1037, 1038, 820, 821, 822, 823, 1043, 1551, 1818, 1506, - 383, 61, 1049, 82, 1052, 1570, 433, 835, 2376, 1056, - 1058, 220, 457, 1014, 93, 2383, 1049, 2385, 2181, 1066, - 274, 2184, 108, 1056, 27, 3620, 1073, 2779, 178, 509, - 1049, 108, 174, 248, 55, 484, 1083, 1056, 3665, 422, - 2292, 2839, 522, 511, 1934, 513, 3214, 1412, 0, 3665, - 511, 512, 513, 514, 515, 516, 3689, 506, 526, 527, - 1049, 3188, 177, 38, 1849, 1850, 1851, 1056, 1873, 1791, - 3184, 520, 455, 2243, 426, 209, 428, 1442, 31, 1129, - 1671, 196, 509, 466, 1131, 27, 201, 1659, 2672, 298, - 482, 33, 1659, 1458, 244, 522, 1818, 253, 2301, 482, - 38, 2124, 2125, 376, 314, 315, 1049, 249, 523, 363, - 2538, 1659, 172, 1056, 506, 1837, 1903, 3795, 82, 3604, - 1842, 277, 3607, 506, 1198, 240, 191, 192, 518, 93, - 520, 1178, 85, 136, 1181, 131, 390, 520, 1925, 2171, - 274, 94, 1929, 277, 2571, 1932, 470, 131, 1195, 1196, - 1013, 2578, 2579, 2580, 1209, 1210, 1203, 1212, 518, 1022, - 520, 376, 522, 116, 160, 11, 1209, 1210, 2358, 1212, - 16, 2275, 2276, 2277, 2364, 196, 160, 524, 1225, 518, - 201, 454, 5, 522, 394, 162, 3433, 397, 1235, 1236, - 167, 174, 1900, 484, 136, 260, 261, 2773, 173, 12, - 1028, 1248, 48, 852, 17, 347, 2953, 482, 1203, 484, - 1073, 1074, 260, 261, 2961, 506, 29, 131, 1265, 240, - 71, 72, 1269, 277, 434, 874, 1273, 1799, 282, 520, - 43, 44, 1799, 520, 80, 173, 211, 1828, 1047, 454, - 193, 450, 1833, 385, 508, 205, 160, 520, 515, 3518, - 358, 1799, 227, 206, 518, 522, 1065, 317, 318, 319, - 1069, 508, 911, 238, 241, 3750, 249, 477, 248, 521, - 1265, 518, 524, 211, 162, 1138, 426, 3404, 428, 167, - 422, 396, 521, 248, 1147, 524, 282, 341, 3402, 227, - 515, 287, 105, 296, 1659, 13, 14, 522, 282, 2007, - 238, 27, 1165, 287, 454, 520, 525, 33, 181, 2413, - 529, 1174, 289, 1176, 1177, 380, 381, 194, 2488, 1943, - 2568, 2491, 2906, 383, 2572, 2573, 2574, 8, 13, 14, - 11, 473, 380, 381, 15, 16, 205, 8, 19, 20, - 21, 1913, 2770, 74, 15, 16, 1913, 4, 19, 20, - 21, 178, 9, 241, 296, 3, 37, 360, 1405, 362, - 1407, 255, 422, 277, 347, 1913, 1413, 1950, 282, 680, - 681, 1954, 683, 287, 1957, 396, 4, 1424, 1057, 422, - 4, 9, 1061, 1411, 115, 9, 131, 390, 1960, 1411, - 1411, 2176, 367, 1960, 6, 455, 376, 9, 1411, 2827, - 1972, 289, 385, 2655, 16, 1972, 466, 1235, 1455, 384, - 136, 376, 1960, 1460, 2654, 160, 376, 244, 360, 31, - 1248, 2129, 439, 35, 1972, 385, 4, 2051, 2639, 367, - 2002, 9, 2407, 521, 1799, 2002, 524, 2009, 2865, 422, - 521, 1269, 2009, 524, 1491, 441, 384, 1494, 390, 1496, - 1497, 1100, 1499, 1500, 2002, 408, 452, 441, 411, 2699, - 520, 2009, 422, 2653, 1583, 2655, 1115, 1586, 452, 13, - 14, 4, 1591, 2045, 454, 1594, 9, 2049, 2045, 1526, - 1599, 248, 2049, 2055, 2516, 2272, 181, 2274, 2055, 454, - 473, 1562, 473, 1564, 1565, 2339, 521, 2045, 426, 524, - 428, 2049, 1549, 1550, 1505, 167, 521, 2055, 1555, 524, - 1557, 2380, 2381, 473, 521, 521, 379, 524, 524, 2542, - 2543, 463, 520, 1570, 1557, 1572, 1573, 441, 426, 3208, - 428, 1506, 277, 1580, 2248, 3782, 1583, 282, 452, 1586, - 520, 520, 287, 224, 1591, 172, 277, 1594, 1913, 376, - 1583, 282, 1599, 1586, 1601, 520, 1603, 3355, 1591, 3357, - 521, 1594, 520, 524, 1583, 2669, 1599, 1586, 1557, 2673, - 296, 2675, 1591, 521, 347, 1594, 524, 13, 14, 1407, - 1599, 1628, 3759, 520, 3761, 1413, 1633, 521, 520, 1616, - 524, 3701, 27, 520, 1583, 1960, 1616, 1586, 33, 426, - 331, 428, 1591, 521, 172, 1594, 524, 1972, 521, 376, - 1599, 524, 385, 294, 1557, 1616, 1616, 520, 349, 521, - 1616, 520, 524, 294, 1671, 3735, 521, 454, 1616, 524, - 356, 2275, 521, 2277, 360, 524, 521, 2002, 42, 524, - 1583, 347, 3819, 1586, 2009, 520, 27, 521, 1591, 422, - 524, 1594, 33, 3081, 27, 27, 1599, 513, 62, 1522, - 33, 33, 2672, 1526, 390, 511, 512, 513, 514, 515, - 516, 521, 520, 1720, 524, 1722, 74, 1724, 521, 385, - 2045, 524, 80, 183, 2049, 521, 186, 454, 524, 3273, - 2055, 520, 1739, 1740, 1749, 93, 441, 3807, 27, 520, - 473, 136, 106, 172, 33, 1752, 1749, 452, 3818, 2920, - 521, 521, 506, 524, 524, 2967, 422, 115, 521, 117, - 451, 524, 521, 521, 521, 524, 524, 524, 521, 460, - 1777, 524, 1779, 521, 503, 521, 524, 463, 524, 226, - 521, 554, 3421, 524, 2767, 520, 1793, 1794, 1723, 317, - 318, 319, 1580, 520, 2638, 136, 2640, 1804, 1805, 1806, - 1807, 522, 1809, 136, 136, 292, 521, 473, 1815, 524, - 1817, 584, 585, 521, 13, 14, 524, 3040, 2840, 2351, - 522, 1828, 1829, 2407, 2351, 3318, 1833, 1834, 775, 2607, - 777, 1838, 1839, 1840, 1841, 171, 1843, 1844, 521, 521, - 204, 524, 524, 2351, 503, 521, 521, 136, 524, 524, - 2401, 209, 524, 521, 252, 383, 524, 520, 1865, 1866, - 1867, 1868, 666, 667, 668, 1872, 507, 508, 509, 521, - 511, 512, 513, 514, 515, 516, 507, 508, 509, 1886, - 511, 512, 513, 514, 515, 516, 13, 14, 521, 1712, - 254, 172, 8, 297, 422, 11, 13, 14, 262, 15, - 16, 296, 61, 19, 20, 21, 13, 14, 1888, 520, - 274, 13, 14, 13, 14, 13, 14, 423, 3557, 277, - 503, 178, 13, 14, 282, 226, 2730, 455, 13, 14, - 703, 13, 14, 153, 1722, 178, 1724, 356, 466, 13, - 14, 153, 306, 13, 14, 2710, 153, 2692, 205, 13, - 14, 1739, 153, 2032, 42, 296, 2630, 521, 2941, 2038, - 520, 356, 205, 296, 296, 360, 1973, 1974, 1975, 1976, - 1977, 1978, 277, 331, 1981, 1982, 1983, 1984, 1985, 1986, - 1987, 1988, 1989, 1990, 13, 14, 42, 244, 2958, 1777, - 473, 349, 520, 13, 14, 390, 13, 14, 362, 3699, - 89, 244, 2749, 3703, 2011, 153, 2538, 296, 13, 14, - 0, 2538, 13, 14, 486, 356, 2023, 13, 14, 360, - 469, 385, 520, 356, 356, 2032, 2351, 360, 360, 327, - 2538, 2038, 13, 14, 13, 14, 2043, 371, 372, 2032, - 297, 2048, 406, 42, 520, 2038, 371, 372, 153, 390, - 264, 265, 520, 2032, 297, 371, 372, 390, 390, 2038, - 380, 381, 520, 62, 371, 372, 520, 356, 463, 41, - 3563, 360, 314, 315, 465, 466, 520, 1865, 1866, 1867, - 1868, 3281, 153, 2032, 1872, 201, 2093, 1176, 1177, 2038, - 2097, 522, 38, 451, 3116, 2102, 3796, 3080, 44, 153, - 153, 390, 460, 292, 3096, 433, 520, 106, 224, 172, - 100, 520, 520, 424, 521, 520, 222, 2124, 2125, 2129, - 1943, 3665, 463, 227, 3617, 301, 1949, 520, 227, 2032, - 463, 463, 227, 376, 2141, 2038, 520, 299, 42, 520, - 2672, 5, 3077, 239, 5, 2672, 520, 520, 520, 520, - 5, 5, 3003, 520, 5, 101, 5, 521, 148, 3547, - 520, 149, 9, 2197, 2672, 520, 483, 2174, 303, 426, - 524, 428, 162, 104, 463, 524, 521, 167, 294, 2186, - 42, 2174, 172, 426, 222, 428, 390, 167, 289, 167, - 287, 61, 2199, 183, 451, 2174, 2203, 454, 188, 239, - 433, 520, 445, 3696, 93, 204, 2199, 520, 451, 524, - 433, 454, 3342, 2745, 433, 61, 61, 267, 2745, 531, - 2199, 482, 433, 2970, 2971, 2174, 153, 173, 2051, 100, - 220, 433, 3455, 277, 277, 2023, 2243, 2745, 2770, 2246, - 148, 520, 2249, 2770, 42, 277, 277, 520, 3, 2800, - 2199, 241, 520, 9, 162, 254, 41, 431, 2265, 167, - 431, 3649, 2770, 262, 148, 211, 518, 518, 433, 433, - 1043, 2174, 433, 433, 12, 274, 522, 13, 162, 17, - 521, 227, 521, 167, 172, 521, 521, 521, 581, 521, - 521, 29, 238, 1066, 524, 2827, 2199, 479, 520, 289, - 2827, 227, 292, 3273, 227, 43, 44, 306, 298, 284, - 284, 520, 220, 148, 520, 478, 524, 11, 8, 2827, - 431, 11, 2329, 358, 270, 15, 16, 162, 2335, 19, - 20, 21, 167, 241, 519, 2345, 220, 524, 531, 520, - 2347, 2348, 2349, 2350, 524, 528, 2334, 2672, 282, 433, - 340, 520, 2334, 2334, 2361, 183, 2363, 241, 1131, 2366, - 163, 2334, 172, 362, 2371, 521, 524, 105, 509, 524, - 3434, 317, 220, 460, 364, 267, 293, 2384, 324, 393, - 230, 289, 524, 316, 316, 220, 385, 524, 2939, 183, - 298, 507, 508, 509, 2401, 511, 512, 513, 514, 515, - 516, 222, 3385, 3386, 230, 289, 241, 406, 521, 277, - 520, 230, 2419, 2420, 298, 2422, 298, 336, 290, 423, - 2745, 367, 1195, 1196, 473, 153, 520, 520, 153, 153, - 482, 153, 422, 42, 277, 292, 503, 2969, 384, 518, - 521, 521, 2969, 503, 2451, 521, 521, 42, 3252, 521, - 292, 61, 521, 172, 289, 11, 3668, 42, 2451, 2282, - 450, 2969, 167, 298, 2471, 183, 521, 167, 172, 520, - 460, 3003, 2479, 2480, 2481, 521, 3003, 524, 433, 521, - 521, 2488, 521, 2490, 2491, 522, 520, 520, 503, 479, - 2497, 481, 482, 3077, 519, 3003, 156, 521, 528, 521, - 521, 520, 2451, 253, 2327, 2512, 2516, 520, 520, 455, - 520, 201, 520, 2553, 9, 479, 479, 42, 61, 505, - 509, 524, 2345, 293, 293, 61, 524, 457, 518, 61, - 247, 521, 522, 523, 224, 2542, 2543, 267, 2548, 433, - 277, 2490, 450, 520, 205, 153, 3529, 2335, 2451, 3081, - 2584, 2585, 153, 153, 3081, 433, 433, 2591, 433, 433, - 2348, 2349, 2350, 284, 284, 521, 450, 3550, 3551, 520, - 42, 520, 358, 3081, 521, 2363, 524, 290, 2366, 482, - 2567, 292, 42, 2371, 2407, 153, 521, 2567, 172, 882, - 2597, 519, 2415, 282, 2417, 2602, 521, 519, 2421, 3344, - 2423, 2608, 520, 3667, 294, 520, 2567, 2567, 521, 521, - 518, 2567, 521, 521, 522, 450, 61, 2624, 188, 2567, - 2630, 2628, 167, 80, 2604, 2632, 2633, 2634, 144, 201, - 521, 2638, 2639, 2640, 3185, 2642, 521, 172, 521, 520, - 302, 3633, 521, 3175, 2969, 3423, 83, 520, 3175, 525, - 364, 531, 293, 520, 2661, 524, 2663, 183, 521, 153, - 3328, 520, 3330, 521, 524, 176, 3340, 3175, 445, 2676, - 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 42, - 521, 521, 521, 518, 520, 42, 524, 522, 521, 520, - 86, 2479, 2480, 2481, 460, 3665, 519, 2704, 172, 524, - 520, 2708, 481, 521, 2711, 521, 521, 524, 201, 521, - 521, 511, 521, 521, 2721, 3343, 521, 519, 3346, 9, - 519, 2709, 303, 1496, 1497, 2705, 1499, 2709, 2709, 520, - 2737, 466, 178, 292, 509, 61, 2709, 521, 521, 521, - 521, 3273, 482, 207, 115, 42, 3273, 520, 230, 2756, - 88, 194, 2732, 282, 282, 2735, 433, 522, 522, 205, - 2767, 3565, 522, 522, 522, 3273, 2773, 509, 2847, 522, - 522, 522, 519, 2780, 2781, 2782, 2783, 522, 522, 522, - 3525, 522, 2792, 1076, 433, 2792, 42, 521, 2795, 522, - 522, 522, 2799, 2800, 3574, 522, 522, 42, 244, 1572, - 277, 524, 107, 482, 42, 292, 522, 522, 2815, 9, - 522, 357, 522, 522, 522, 522, 554, 507, 508, 509, - 522, 511, 512, 513, 514, 515, 516, 522, 1601, 522, - 1603, 522, 524, 519, 522, 522, 2624, 522, 2845, 522, - 2847, 522, 520, 340, 520, 3519, 2795, 585, 520, 2672, - 3175, 297, 520, 8, 2847, 524, 11, 521, 57, 61, - 15, 16, 521, 194, 19, 20, 21, 201, 2847, 8, - 525, 524, 11, 2880, 2881, 2882, 2883, 16, 2701, 11, - 431, 282, 37, 433, 524, 465, 2896, 91, 521, 2896, - 349, 520, 338, 2900, 42, 153, 521, 122, 2847, 2906, - 521, 337, 231, 102, 153, 42, 521, 372, 42, 48, - 372, 42, 524, 2920, 521, 520, 55, 520, 460, 2926, - 2708, 520, 121, 2711, 311, 99, 508, 503, 172, 581, - 376, 520, 2939, 2940, 2941, 433, 282, 520, 252, 193, - 2947, 80, 98, 142, 2847, 460, 445, 146, 3273, 31, - 201, 520, 74, 295, 74, 80, 1249, 2964, 9, 521, - 521, 374, 520, 61, 521, 703, 519, 519, 528, 168, - 93, 172, 171, 521, 2797, 132, 520, 292, 509, 274, - 426, 521, 428, 3497, 445, 42, 42, 83, 423, 295, - 189, 295, 2780, 2781, 2782, 2783, 520, 520, 465, 445, - 521, 521, 521, 521, 207, 451, 1779, 146, 454, 292, - 292, 520, 148, 520, 390, 3547, 172, 521, 120, 525, - 3547, 1794, 371, 3, 529, 5, 457, 25, 2851, 520, - 402, 1804, 524, 1806, 37, 3042, 1809, 521, 177, 3547, - 230, 520, 1815, 126, 1817, 2963, 349, 1816, 2656, 2669, - 3057, 2270, 14, 1724, 625, 2333, 1829, 196, 2413, 3077, - 2701, 1834, 201, 3614, 3071, 1838, 1839, 1840, 1841, 224, - 1843, 1844, 768, 3080, 3580, 3745, 3245, 8, 3058, 3669, - 11, 3678, 3738, 282, 15, 16, 3096, 1236, 19, 20, - 21, 290, 3304, 2276, 3667, 2263, 581, 2721, 2648, 3106, - 3676, 240, 2260, 2675, 3664, 3112, 37, 2609, 1408, 1491, - 1934, 1442, 311, 3120, 1506, 3495, 3425, 3649, 2608, 1412, - 3617, 3559, 3649, 3781, 1526, 3462, 3840, 3844, 3290, 109, - 110, 3822, 3845, 3665, 3812, 3792, 3686, 3843, 3665, 294, - 3147, 3649, 341, 631, 3557, 2584, 2196, 3375, 2197, 1442, - 1443, 3528, 3773, 2591, 3159, 294, 3774, 3665, 2246, 2947, - 2567, 317, 318, 319, 1788, 1458, 2472, 1195, 2212, 3176, - 3177, 3178, 3179, 3180, 3181, 3182, 3626, 2229, 3185, 3186, - 3187, 1752, 38, 1048, 3191, 3506, 3332, 3194, 44, 1787, - 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, - 21, 1219, 1218, 2199, 8, 2795, 3120, 2043, 12, 643, - 1221, 191, 192, 17, 1048, 632, 3223, 2451, 2450, 23, - 24, 3228, 1026, 2497, 28, 29, 30, 383, 3266, 33, - 882, 3054, 36, 37, 1460, 1022, 40, 1943, 2011, 43, - 44, 45, 1022, 3510, 1022, 101, 1022, 3254, 3509, 3712, - 2102, 3833, 2510, 2213, 3077, 3289, 2065, 396, 2104, 2889, - 1578, 2523, 1723, 2051, 99, -1, 422, 3274, 3275, -1, - 2043, -1, -1, 581, -1, 2048, 256, 257, 258, 259, - 260, 261, -1, 3290, 264, 265, 442, -1, 3295, -1, - 3297, -1, -1, 224, 3301, 99, -1, -1, -1, 455, - 104, 105, 106, 107, 108, -1, 3286, 3287, 3315, -1, - 466, 3318, -1, -1, -1, -1, -1, 173, -1, -1, - 2093, -1, -1, -1, -1, 3318, 482, 183, 3151, 2102, - -1, 3338, -1, -1, -1, 3342, 3343, -1, -1, 3346, - 3665, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 506, -1, 507, 508, 509, 211, 511, 512, 513, 514, - 515, 516, -1, 294, 520, 504, 1659, -1, -1, 3318, - -1, 227, 511, 512, 513, 514, 515, 516, 3385, 3386, - -1, -1, 238, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3401, -1, 3403, 882, 3405, -1, - 380, 381, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2186, 270, 3318, -1, -1, 3425, -1, - -1, -1, -1, -1, 1076, 3432, -1, -1, -1, -1, - -1, -1, 3466, -1, -1, 3469, 292, -1, -1, -1, - -1, -1, 3422, 8, 3424, -1, 11, -1, -1, -1, - 3273, 16, -1, -1, 19, 20, 21, 1195, -1, -1, - -1, 317, -1, -1, -1, 3472, -1, -1, 324, -1, - 2243, -1, -1, -1, -1, -1, 2249, -1, -1, -1, - -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, - 55, -1, -1, 3473, -1, -1, -1, 152, -1, -1, - -1, -1, 3290, 3510, -1, -1, 1799, 3295, -1, 3489, - -1, 367, -1, 3493, -1, 80, -1, 172, -1, -1, - 500, 501, 3529, -1, -1, -1, -1, 3315, 384, 3536, - -1, -1, 3539, 3540, -1, -1, -1, -1, -1, -1, - -1, 3548, -1, 3550, 3551, -1, -1, -1, 3555, -1, - -1, -1, -1, -1, -1, -1, 3563, -1, -1, -1, + 7, 8, 16, 769, 0, 1006, 13, 863, 537, 969, + 768, 0, 19, 47, 7, 0, 23, 0, 25, 26, + 981, 0, 990, 30, 31, 32, 1081, 0, 35, 837, + 23, 38, 39, 0, 90, 42, 0, 1326, 45, 46, + 0, 20, 776, 1313, 0, 7, 1790, 23, 1512, 1300, + 92, 93, 1123, 20, 1011, 20, 1312, 1287, 1894, 47, + 2086, 23, 887, 2240, 1748, 2242, 94, 2279, 2209, 1558, + 1070, 1070, 2334, 1292, 1246, 2212, 1061, 1170, 2747, 1070, + 0, 1289, 94, 23, 39, 92, 93, 1070, 1390, 2785, + 2382, 2383, 2384, 2269, 1667, 2783, 1253, 2747, 105, 92, + 93, 2445, 0, 110, 111, 112, 113, 114, 17, 1317, + 0, 0, 1061, 1047, 1366, 46, 92, 93, 38, 0, + 0, 0, 1090, 1178, 1701, 1702, 0, 2800, 0, 1416, + 92, 93, 0, 1213, 0, 2330, 2807, 1043, 1218, 0, + 0, 2206, 2268, 2657, 0, 0, 0, 0, 26, 0, + 775, 0, 92, 93, 0, 0, 776, 981, 113, 983, + 2087, 985, 35, 2590, 833, 2401, 0, 2703, 3141, 838, + 3269, 2707, 3158, 1918, 9, 5, 0, 1912, 5, 17, + 0, 1915, 1808, 0, 1752, 105, 13, 14, 3161, 1148, + 5, 2029, 794, 5, 5, 5, 5, 1810, 40, 2413, + 25, 26, 5, 13, 14, 1164, 3379, 5, 5, 9, + 13, 14, 5, 5, 5, 5, 13, 14, 5, 9, + 13, 14, 13, 14, 5, 2420, 5, 5, 9, 5, + 5, 2412, 5, 13, 14, 176, 5, 5, 5, 1224, + 5, 2408, 144, 1068, 177, 76, 47, 124, 3, 4, + 5, 4, 197, 47, 9, 11, 9, 121, 47, 17, + 16, 1229, 1333, 47, 2995, 1073, 92, 2542, 102, 13, + 14, 1342, 109, 11, 126, 57, 2471, 2472, 16, 2474, + 2062, 124, 102, 9, 3041, 102, 228, 959, 187, 84, + 964, 65, 117, 2075, 4, 42, 82, 3, 11, 9, + 95, 830, 964, 16, 65, 176, 132, 298, 65, 31, + 48, 2661, 2662, 5, 233, 62, 1301, 39, 106, 1304, + 1305, 11, 299, 182, 65, 15, 16, 1061, 296, 35, + 36, 2941, 152, 2943, 3268, 48, 84, 199, 304, 3265, + 252, 304, 173, 2635, 82, 323, 166, 95, 2525, 323, + 879, 171, 1177, 119, 177, 1527, 176, 121, 48, 178, + 1611, 108, 121, 170, 119, 3615, 109, 187, 2634, 82, + 2636, 393, 192, 3114, 284, 17, 219, 109, 3, 402, + 5, 55, 3481, 3482, 287, 135, 1558, 13, 14, 248, + 1144, 1145, 82, 2229, 176, 379, 2717, 1398, 119, 187, + 3641, 3642, 380, 1705, 224, 1074, 11, 1161, 142, 422, + 31, 16, 166, 1373, 13, 11, 43, 1086, 39, 31, + 19, 1277, 1278, 3734, 11, 245, 77, 3096, 15, 16, + 3868, 447, 31, 55, 253, 122, 31, 1062, 11, 3412, + 281, 273, 495, 48, 522, 3046, 45, 46, 298, 213, + 522, 84, 48, 3054, 2716, 533, 1281, 3153, 2055, 2056, + 2057, 208, 95, 535, 298, 324, 519, 3155, 3164, 175, + 225, 177, 384, 486, 1431, 295, 197, 82, 298, 2691, + 31, 298, 498, 3255, 304, 3257, 82, 190, 39, 31, + 316, 245, 280, 248, 317, 3736, 3934, 39, 2819, 331, + 199, 128, 1408, 444, 366, 408, 280, 27, 339, 82, + 533, 258, 111, 33, 201, 537, 280, 2582, 2713, 283, + 2715, 268, 288, 135, 1617, 384, 200, 334, 348, 288, + 11, 205, 391, 280, 15, 16, 355, 280, 372, 2646, + 135, 1843, 533, 293, 3478, 171, 2653, 2654, 2655, 533, + 528, 558, 372, 465, 528, 372, 533, 564, 468, 181, + 567, 3487, 283, 3813, 3875, 533, 313, 48, 575, 220, + 244, 537, 471, 444, 537, 3185, 395, 436, 200, 438, + 3337, 522, 1254, 205, 407, 3571, 2852, 2613, 533, 491, + 2079, 468, 3323, 2868, 535, 432, 288, 371, 612, 3356, + 533, 82, 544, 2817, 404, 1279, 465, 1837, 3781, 473, + 371, 437, 432, 432, 371, 252, 2966, 1279, 537, 471, + 140, 533, 244, 370, 1583, 468, 400, 361, 429, 2796, + 371, 462, 2813, 2206, 2829, 429, 3377, 557, 1240, 124, + 429, 461, 483, 2481, 1603, 429, 1898, 350, 395, 444, + 480, 471, 384, 441, 1183, 140, 1422, 1415, 3757, 2285, + 1105, 495, 1420, 1933, 1109, 484, 3438, 2244, 1426, 416, + 369, 1958, 492, 2286, 494, 495, 1532, 380, 495, 1750, + 2415, 1640, 404, 110, 1973, 497, 497, 525, 2422, 1991, + 11, 533, 1548, 1518, 15, 16, 444, 532, 2443, 1433, + 534, 2003, 536, 533, 2272, 2278, 533, 519, 519, 42, + 3379, 531, 536, 540, 534, 535, 536, 534, 533, 536, + 3393, 533, 533, 533, 533, 540, 1694, 1695, 1696, 3379, + 533, 2033, 406, 531, 3720, 533, 533, 535, 2040, 5, + 533, 533, 533, 533, 432, 531, 533, 384, 3721, 535, + 3012, 533, 533, 533, 533, 533, 2538, 533, 533, 3273, + 533, 768, 769, 770, 533, 533, 533, 525, 533, 524, + 525, 524, 525, 529, 2076, 481, 537, 110, 2080, 112, + 537, 114, 302, 3019, 406, 495, 828, 534, 776, 533, + 411, 529, 3328, 3892, 419, 420, 775, 3333, 524, 525, + 3144, 3228, 809, 810, 811, 168, 2108, 1432, 775, 519, + 817, 776, 819, 1433, 524, 525, 529, 2843, 42, 1644, + 1645, 828, 1576, 1577, 817, 832, 833, 3678, 465, 1654, + 837, 838, 2084, 122, 168, 828, 526, 527, 528, 529, + 828, 3133, 26, 1668, 851, 852, 853, 1601, 368, 877, + 135, 2958, 828, 338, 27, 817, 1525, 110, 865, 866, + 411, 868, 128, 129, 42, 877, 828, 2993, 370, 411, + 2042, 1942, 1697, 110, 3570, 882, 11, 817, 520, 164, + 400, 888, 1867, 525, 26, 283, 874, 533, 828, 531, + 288, 533, 1877, 153, 2920, 1880, 533, 3475, 400, 3477, + 152, 1862, 471, 252, 238, 252, 0, 2079, 1662, 1663, + 176, 11, 201, 969, 280, 3588, 279, 3879, 3589, 3964, + 885, 526, 527, 528, 529, 3970, 2762, 882, 2764, 2526, + 2527, 2528, 2529, 811, 2999, 1895, 1896, 1897, 252, 526, + 527, 528, 529, 2230, 3139, 198, 206, 82, 48, 956, + 2877, 349, 959, 2880, 474, 2882, 180, 888, 954, 1717, + 431, 3812, 471, 3572, 533, 954, 1923, 140, 66, 954, + 2050, 954, 224, 154, 536, 954, 575, 1506, 76, 345, + 3942, 954, 82, 34, 809, 2157, 811, 954, 481, 1974, + 954, 135, 865, 866, 954, 868, 1003, 1004, 954, 470, + 5, 1999, 180, 288, 959, 1012, 532, 209, 293, 2582, + 61, 1835, 1019, 1020, 1021, 1022, 1023, 842, 544, 182, + 164, 537, 38, 2600, 533, 1974, 207, 108, 1035, 3717, + 1037, 1965, 2030, 252, 954, 384, 3732, 1071, 1862, 2503, + 135, 3619, 867, 524, 525, 526, 527, 528, 529, 497, + 1956, 252, 304, 283, 1960, 1097, 954, 1963, 1882, 325, + 326, 327, 1104, 1887, 954, 954, 1073, 1074, 5, 1076, + 384, 519, 1079, 954, 954, 954, 1124, 3339, 1085, 1086, + 954, 3425, 954, 1062, 1091, 248, 954, 2357, 954, 2246, + 1097, 533, 2249, 954, 954, 1062, 2932, 1104, 954, 954, + 954, 954, 1011, 954, 1097, 954, 257, 1114, 954, 954, + 3719, 1104, 3781, 3722, 1121, 1873, 465, 3805, 465, 497, + 1878, 1097, 2424, 110, 1131, 1645, 234, 393, 1104, 302, + 135, 3781, 283, 2385, 1654, 1097, 2308, 321, 322, 405, + 528, 519, 1104, 3319, 288, 355, 76, 535, 3289, 293, + 248, 465, 38, 3179, 1100, 533, 3293, 1097, 2366, 164, + 1106, 177, 428, 135, 1104, 384, 432, 452, 1182, 366, + 769, 770, 280, 1180, 2747, 185, 1224, 258, 463, 321, + 322, 2236, 384, 384, 533, 395, 533, 268, 283, 119, + 1178, 11, 164, 395, 209, 368, 16, 370, 293, 215, + 466, 73, 74, 524, 525, 526, 527, 528, 529, 461, + 234, 477, 2431, 2038, 1248, 231, 391, 3913, 2437, 533, + 404, 1228, 432, 407, 1231, 558, 242, 400, 48, 495, + 432, 564, 1260, 1261, 567, 1263, 1061, 528, 1245, 1246, + 1974, 166, 259, 135, 535, 1070, 465, 1254, 1260, 1261, + 391, 1263, 1300, 519, 27, 2557, 280, 84, 3867, 1981, + 33, 445, 82, 1985, 465, 407, 1988, 533, 95, 1276, + 450, 152, 164, 436, 484, 438, 497, 521, 283, 1286, + 1287, 2241, 484, 288, 3546, 166, 432, 531, 293, 888, + 171, 177, 1299, 531, 2119, 403, 1121, 535, 519, 1254, + 13, 14, 465, 445, 488, 266, 267, 521, 452, 1316, + 532, 283, 533, 1320, 533, 484, 288, 531, 1325, 463, + 245, 293, 544, 166, 27, 185, 166, 351, 171, 215, + 33, 171, 533, 1095, 524, 4, 526, 13, 14, 4, + 9, 3633, 1390, 224, 9, 231, 488, 4, 355, 539, + 540, 1113, 9, 283, 388, 1117, 242, 2846, 288, 375, + 468, 1316, 1187, 1517, 245, 1519, 1520, 140, 2540, 2194, + 295, 2543, 1197, 391, 3515, 1382, 4, 1384, 394, 403, + 3517, 9, 531, 436, 1391, 438, 535, 61, 395, 13, + 1215, 283, 1406, 1389, 534, 19, 288, 537, 1405, 1224, + 1389, 293, 245, 533, 1389, 245, 1389, 31, 1415, 339, + 2411, 533, 4, 1420, 295, 1422, 1423, 9, 1425, 1426, + 531, 45, 46, 304, 535, 432, 2999, 357, 389, 390, + 531, 2337, 533, 2339, 535, 538, 1450, 140, 178, 542, + 865, 866, 533, 868, 468, 2747, 1453, 452, 534, 13, + 14, 537, 295, 1432, 171, 295, 534, 2313, 463, 537, + 2730, 534, 533, 8, 537, 1432, 11, 436, 1433, 438, + 15, 16, 2761, 2729, 19, 20, 21, 484, 534, 534, + 452, 537, 537, 533, 2714, 534, 819, 111, 537, 375, + 534, 463, 1091, 537, 2587, 2588, 1538, 1504, 1505, 1541, + 13, 14, 176, 1510, 1546, 1512, 533, 1549, 394, 2728, + 533, 2730, 1554, 253, 534, 1114, 176, 537, 1525, 1512, + 1527, 1528, 2778, 534, 27, 531, 537, 533, 1535, 302, + 33, 1538, 462, 534, 1541, 2590, 537, 534, 533, 1546, + 537, 471, 1549, 13, 14, 1538, 27, 1554, 1541, 1556, + 1512, 1558, 33, 1546, 31, 534, 1549, 495, 537, 497, + 452, 1554, 1538, 1611, 2564, 1541, 2565, 2566, 2567, 533, + 1546, 463, 1512, 1549, 2565, 2566, 1538, 533, 1554, 1541, + 461, 1180, 2565, 27, 1546, 534, 533, 1549, 537, 33, + 6, 364, 1554, 534, 10, 368, 537, 533, 1538, 302, + 8, 1541, 18, 11, 13, 14, 1546, 15, 16, 1549, + 87, 19, 20, 21, 1554, 355, 526, 33, 436, 96, + 438, 37, 534, 956, 1449, 537, 519, 400, 1453, 3313, + 534, 533, 3468, 537, 3470, 176, 3662, 140, 3900, 516, + 3817, 195, 196, 120, 230, 534, 1245, 1246, 537, 182, + 531, 325, 326, 327, 535, 395, 436, 1705, 438, 140, + 1667, 364, 1641, 298, 3876, 368, 3878, 535, 1641, 534, + 1003, 1678, 537, 534, 1641, 3852, 537, 1641, 516, 1012, + 2340, 1641, 2342, 228, 535, 1641, 1019, 1020, 1021, 1022, + 534, 187, 432, 537, 190, 2453, 140, 400, 13, 14, + 1714, 474, 1035, 175, 524, 525, 526, 527, 528, 529, + 1717, 537, 266, 267, 2682, 248, 27, 13, 14, 393, + 197, 1641, 33, 534, 534, 2459, 2643, 537, 533, 3941, + 2647, 2648, 2649, 210, 534, 534, 256, 537, 537, 3765, + 13, 14, 534, 1076, 484, 537, 534, 534, 534, 537, + 537, 537, 3929, 534, 176, 300, 537, 1764, 432, 1766, + 3062, 1768, 534, 3940, 534, 1793, 534, 537, 534, 537, + 534, 474, 534, 537, 303, 537, 1783, 1784, 2713, 534, + 2715, 1793, 537, 3013, 534, 534, 61, 537, 537, 1796, + 3060, 534, 466, 433, 537, 1843, 152, 205, 534, 302, + 533, 537, 1767, 477, 534, 516, 3379, 537, 2768, 2810, + 166, 851, 852, 853, 1821, 171, 1823, 13, 14, 534, + 228, 302, 537, 1422, 1423, 534, 1425, 230, 537, 140, + 1837, 1838, 157, 2790, 534, 389, 390, 537, 1852, 364, + 1854, 1848, 1849, 1850, 1851, 3096, 1853, 157, 3137, 2705, + 3534, 384, 1859, 534, 1861, 961, 537, 963, 302, 533, + 157, 364, 2933, 13, 14, 368, 1873, 1874, 224, 13, + 14, 1878, 1879, 13, 14, 157, 1883, 1884, 1885, 1886, + 157, 1888, 1889, 364, 13, 14, 42, 368, 432, 245, + 534, 176, 300, 13, 14, 13, 14, 400, 1905, 13, + 14, 13, 14, 436, 533, 438, 283, 1914, 1915, 1916, + 1917, 1918, 13, 14, 42, 1922, 2822, 13, 14, 400, + 364, 3223, 13, 14, 368, 13, 14, 484, 1527, 1936, + 91, 152, 465, 1758, 13, 14, 13, 14, 157, 295, + 100, 418, 535, 1991, 421, 166, 1953, 499, 304, 157, + 171, 575, 157, 1286, 157, 2003, 400, 1556, 298, 1558, + 13, 14, 379, 380, 366, 3429, 1299, 182, 128, 129, + 444, 474, 379, 380, 533, 520, 521, 522, 3280, 524, + 525, 526, 527, 528, 529, 2033, 176, 1320, 3672, 379, + 380, 302, 2040, 474, 209, 379, 380, 2004, 2005, 2006, + 2007, 2008, 2009, 224, 534, 2012, 2013, 2014, 2015, 2016, + 2017, 2018, 2019, 2020, 2021, 533, 176, 533, 1938, 270, + 271, 2063, 389, 390, 245, 476, 477, 2069, 2076, 533, + 474, 226, 2080, 248, 434, 2042, 3828, 3829, 2086, 231, + 325, 326, 327, 321, 322, 3885, 3886, 2054, 308, 1226, + 1227, 1384, 231, 364, 533, 231, 2063, 368, 1391, 305, + 2108, 42, 2069, 243, 533, 1890, 3051, 2074, 533, 5, + 2063, 3815, 2079, 5, 295, 3819, 2069, 3379, 1903, 1904, + 533, 2088, 2089, 304, 533, 335, 533, 2063, 303, 400, + 533, 533, 533, 2069, 5, 5, 5, 5, 153, 533, + 533, 2063, 9, 496, 310, 461, 537, 2069, 393, 106, + 537, 534, 520, 521, 522, 2873, 524, 525, 526, 527, + 528, 529, 42, 2063, 226, 42, 400, 171, 42, 2069, + 295, 171, 61, 243, 3390, 293, 533, 444, 533, 3194, + 95, 537, 444, 3214, 444, 62, 770, 432, 62, 1974, + 2157, 273, 444, 110, 2161, 1980, 61, 3063, 3064, 2166, + 61, 544, 228, 474, 444, 325, 326, 327, 444, 495, + 3914, 84, 157, 391, 76, 531, 102, 283, 534, 535, + 82, 466, 2189, 2190, 283, 533, 42, 533, 283, 283, + 283, 108, 477, 95, 108, 109, 205, 110, 157, 2206, + 176, 535, 1535, 13, 534, 119, 2194, 534, 3781, 176, + 495, 534, 534, 534, 3678, 231, 534, 119, 537, 121, + 534, 436, 492, 438, 1823, 533, 231, 290, 2262, 290, + 533, 537, 2239, 393, 519, 533, 535, 480, 533, 1838, + 461, 119, 533, 533, 2251, 405, 2239, 462, 533, 1848, + 465, 1850, 533, 41, 1853, 491, 535, 2264, 9, 442, + 1859, 2268, 1861, 2239, 888, 178, 180, 533, 428, 3733, + 533, 2264, 432, 442, 3032, 1874, 11, 2239, 532, 3568, + 1879, 3453, 366, 544, 1883, 1884, 1885, 1886, 2264, 1888, + 1889, 208, 537, 453, 208, 537, 209, 541, 176, 2239, + 442, 2308, 2264, 533, 2311, 288, 466, 2314, 533, 444, + 187, 213, 167, 176, 537, 522, 471, 477, 534, 273, + 224, 403, 234, 2330, 2264, 537, 2340, 2341, 2342, 299, + 323, 323, 226, 537, 187, 495, 537, 534, 234, 533, + 253, 258, 283, 234, 258, 344, 304, 296, 3812, 533, + 484, 268, 433, 157, 268, 533, 3357, 157, 157, 519, + 157, 42, 495, 280, 8, 157, 280, 11, 3, 283, + 533, 15, 16, 533, 298, 3, 2424, 283, 42, 298, + 176, 283, 61, 42, 11, 171, 288, 534, 534, 534, + 171, 534, 533, 187, 2401, 8, 313, 533, 11, 313, + 2407, 533, 15, 16, 48, 3, 19, 20, 21, 41, + 2406, 55, 3, 2420, 2421, 2422, 2423, 2406, 531, 444, + 531, 2406, 444, 2406, 444, 444, 534, 2434, 532, 2436, + 2418, 2445, 2439, 1766, 312, 1768, 2443, 339, 82, 537, + 2447, 3175, 534, 2042, 534, 516, 2453, 325, 326, 327, + 1783, 2465, 541, 370, 534, 357, 370, 535, 534, 516, + 534, 534, 534, 176, 2471, 2472, 534, 2474, 516, 533, + 444, 384, 160, 533, 533, 2074, 9, 533, 395, 3781, + 2079, 395, 395, 257, 533, 492, 492, 176, 1821, 42, + 61, 537, 522, 299, 518, 3455, 2503, 299, 537, 416, + 468, 251, 416, 61, 418, 273, 150, 421, 283, 2557, + 2503, 61, 533, 444, 3784, 393, 2523, 157, 209, 432, + 157, 157, 2347, 444, 2531, 2532, 2533, 290, 444, 444, + 290, 534, 3290, 2540, 42, 2542, 2543, 181, 533, 533, + 366, 2503, 2549, 456, 444, 533, 537, 534, 296, 2542, + 495, 298, 42, 157, 432, 288, 200, 534, 2157, 176, + 462, 205, 533, 2503, 533, 2613, 61, 2166, 3536, 471, + 534, 484, 2628, 534, 2399, 2582, 192, 171, 534, 82, + 531, 1914, 1915, 1916, 1917, 148, 534, 534, 466, 1922, + 534, 205, 205, 2418, 534, 3451, 176, 534, 533, 477, + 244, 544, 2590, 38, 309, 533, 85, 537, 372, 44, + 2617, 2618, 534, 538, 3439, 228, 3441, 495, 187, 533, + 157, 1245, 299, 180, 456, 2659, 2660, 42, 42, 88, + 533, 471, 2666, 38, 2459, 2623, 325, 326, 327, 44, + 537, 519, 2467, 533, 2469, 534, 3454, 534, 2473, 3457, + 2475, 534, 2251, 534, 533, 533, 300, 176, 534, 533, + 535, 534, 534, 2642, 533, 2672, 537, 537, 103, 2642, + 2677, 533, 494, 534, 205, 2642, 2683, 534, 2642, 3680, + 3640, 532, 2642, 532, 534, 537, 2642, 300, 534, 534, + 534, 532, 2699, 524, 3749, 534, 2703, 532, 103, 2747, + 2707, 2708, 2709, 9, 393, 310, 2713, 2714, 2715, 2308, + 2717, 477, 533, 298, 522, 2314, 61, 2705, 534, 534, + 534, 2054, 2642, 534, 495, 211, 119, 42, 3689, 2736, + 2744, 2738, 533, 234, 2748, 90, 2750, 198, 522, 288, + 288, 444, 177, 432, 2751, 2752, 2753, 2754, 2755, 2756, + 2757, 2758, 2759, 2760, 444, 535, 535, 535, 535, 2679, + 42, 534, 406, 535, 42, 535, 535, 283, 535, 109, + 535, 42, 177, 535, 535, 532, 2783, 466, 3634, 535, + 215, 2788, 187, 535, 2791, 298, 535, 495, 477, 535, + 535, 535, 535, 2789, 2801, 2843, 231, 535, 535, 1423, + 2789, 1425, 533, 535, 2789, 535, 2789, 242, 535, 535, + 215, 535, 2819, 182, 535, 535, 535, 535, 9, 535, + 535, 535, 2829, 532, 534, 537, 231, 534, 348, 533, + 365, 533, 533, 2840, 533, 2434, 534, 242, 61, 2846, + 209, 276, 537, 8, 533, 537, 2853, 2854, 2855, 2856, + 15, 16, 534, 205, 19, 20, 21, 532, 2865, 198, + 538, 2868, 11, 298, 2784, 2872, 2873, 537, 442, 288, + 537, 276, 2920, 517, 2881, 2868, 444, 2865, 93, 248, + 524, 525, 526, 527, 528, 529, 476, 534, 357, 42, + 325, 533, 2812, 298, 157, 2815, 535, 332, 2940, 126, + 534, 2908, 345, 534, 235, 157, 42, 520, 521, 522, + 534, 524, 525, 526, 527, 528, 529, 380, 42, 534, + 325, 533, 2747, 380, 533, 42, 537, 332, 471, 318, + 533, 2938, 101, 2940, 303, 521, 176, 516, 533, 444, + 375, 2540, 288, 256, 2543, 533, 197, 2940, 471, 31, + 2549, 205, 456, 76, 301, 2780, 533, 76, 9, 394, + 82, 534, 534, 533, 2940, 382, 2973, 2974, 2975, 2976, + 375, 61, 3730, 534, 534, 541, 176, 8, 2940, 533, + 11, 27, 2989, 534, 15, 16, 2993, 33, 532, 394, + 532, 95, 2999, 136, 522, 280, 42, 298, 456, 42, + 2940, 2989, 433, 42, 85, 301, 3013, 533, 301, 533, + 476, 298, 3019, 534, 3062, 384, 62, 48, 211, 534, + 534, 298, 534, 533, 55, 3032, 3033, 3034, 534, 538, + 400, 466, 152, 3040, 533, 124, 471, 533, 468, 1124, + 542, 8, 379, 153, 25, 2870, 13, 412, 3096, 16, + 3057, 82, 19, 537, 37, 234, 534, 379, 25, 26, + 306, 466, 108, 30, 31, 32, 471, 436, 35, 438, + 130, 38, 39, 533, 2407, 42, 357, 2731, 45, 46, + 47, 3056, 1860, 3612, 2744, 2335, 954, 456, 2421, 2422, + 2423, 1768, 1324, 462, 140, 2378, 465, 1904, 2405, 810, + 2465, 3175, 2780, 2436, 2703, 3695, 2439, 3862, 2707, 2708, + 2709, 3350, 3785, 3794, 2447, 3855, 1287, 3414, 2341, 2944, + 2328, 2801, 3783, 2723, 3792, 2325, 2750, 3780, 1385, 3136, + 3144, 3179, 3139, 2448, 2684, 300, 1965, 2736, 105, 1433, + 3610, 3538, 2683, 110, 111, 112, 113, 114, 3155, 3733, + 181, 1415, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, + 2759, 2760, 208, 3674, 3171, 1453, 3899, 3576, 3968, 200, + 3972, 3178, 3973, 3400, 205, 3223, 3948, 3934, 3802, 3910, + 8, 3971, 3672, 11, 2659, 2261, 816, 15, 16, 3488, + 2262, 19, 20, 21, 3643, 3961, 3264, 3204, 2531, 2532, + 2533, 3891, 2666, 3210, 128, 129, 3194, 3892, 2642, 2311, + 1245, 3218, 258, 244, 1838, 1300, 2277, 1832, 1270, 1269, + 48, 2524, 268, 3742, 1848, 2294, 1850, 55, 1796, 1853, + 1096, 1096, 3280, 3621, 280, 1859, 3156, 1861, 3443, 1272, + 1831, 23, 2264, 2074, 1124, 3252, 176, 2846, 2868, 3218, + 1874, 1074, 176, 828, 82, 1879, 302, 2503, 817, 1883, + 1884, 1885, 1886, 2502, 1888, 1889, 3371, 313, 2549, 300, + 2089, 3625, 1070, 2872, 3281, 3282, 3283, 3284, 3285, 3286, + 3287, 1070, 1974, 3290, 3291, 3292, 3624, 1070, 1070, 3296, + 2166, 2121, 3299, 2580, 1070, 3302, 3303, 3304, 3305, 3306, + 3307, 3308, 3309, 3310, 3311, 1390, 1533, 1124, 2278, 2982, + 2168, 1070, 1070, 2597, 105, 1070, -1, 1767, 364, 2082, + -1, 3328, 368, -1, 370, -1, 3333, 3152, -1, -1, + -1, 3379, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 395, + 3175, -1, 3359, 181, 400, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, 3399, 2699, -1, -1, -1, + 416, -1, 200, 3380, 3381, 406, -1, 205, -1, -1, + -1, -1, 312, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3400, -1, 325, 326, 327, 3405, -1, + 3407, 325, 326, 327, 3411, -1, -1, 1124, -1, -1, + -1, 3425, -1, -1, -1, -1, 244, -1, -1, 3426, + 1300, -1, 3429, -1, -1, -1, -1, -1, 474, -1, + -1, 3256, -1, -1, 3033, -1, 3429, -1, -1, -1, + -1, -1, 3449, -1, -1, -1, 3453, 3454, -1, -1, + 3457, -1, -1, -1, -1, 2788, -1, -1, 2791, -1, + -1, -1, -1, 393, -1, -1, -1, 3429, -1, 393, + -1, -1, 300, -1, -1, 3395, 3396, -1, -1, -1, + -1, 405, -1, 1300, -1, -1, 517, -1, -1, 3429, + -1, 3498, 3499, 524, 525, 526, 527, 528, 529, -1, + -1, -1, 432, -1, 428, 1061, -1, 3514, 432, 3516, + 1390, 3518, -1, -1, -1, -1, -1, -1, -1, -1, + 2853, 2854, 2855, 2856, -1, -1, 1611, -1, -1, -1, + -1, 3538, -1, 3547, -1, -1, 466, -1, 3545, -1, + -1, -1, 466, -1, -1, -1, 3580, 477, -1, 3583, + -1, -1, -1, 477, 3379, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 495, -1, -1, -1, -1, + -1, 495, 1079, 1390, -1, -1, -1, -1, 406, 3586, + -1, 156, -1, 1300, -1, -1, -1, -1, -1, 519, + -1, 558, -1, -1, -1, 519, -1, 564, -1, -1, + 567, 176, -1, 533, -1, -1, -1, -1, 575, 533, + -1, 3210, -1, -1, 3662, 3535, -1, 3537, 3625, 3218, + 1705, -1, -1, -1, -1, -1, -1, 2251, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3644, -1, -1, + -1, 1197, -1, -1, 3651, 612, -1, 3654, 3655, -1, + -1, -1, -1, 1124, -1, -1, 3663, -1, 3665, 3666, + -1, -1, 1124, 3670, -1, -1, -1, 3587, 1224, -1, + -1, 3678, -1, 1390, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3603, -1, 3678, -1, 3607, -1, 517, + -1, -1, 520, 521, 522, -1, 524, 525, 526, 527, + 528, 529, -1, -1, -1, -1, -1, 3040, 3715, -1, + 3717, -1, -1, -1, -1, -1, 3678, 3765, -1, -1, + -1, -1, -1, 3730, 3731, -1, 3733, 3734, -1, 3328, + -1, 1611, -1, 3781, 3333, 3742, -1, -1, 3678, -1, + 3733, -1, -1, -1, 3569, 1301, -1, -1, 1304, 1305, + 325, 326, 327, 3760, 3761, -1, -1, 3764, 1843, -1, + 3359, 3768, -1, -1, 3771, 3772, 3800, 3774, 3802, 3783, + 3777, 3733, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3380, 3381, -1, 8, -1, -1, 11, -1, -1, + -1, 15, 16, 3733, 1611, 19, 20, 21, 3805, -1, + -1, 768, 769, 770, -1, 3812, -1, -1, -1, 776, + 2434, -1, 3411, 37, -1, -1, -1, -1, 393, 3812, + -1, -1, -1, -1, 48, 1705, -1, -1, -1, 1300, + -1, 55, -1, -1, -1, -1, 3843, 3844, 1300, 3873, + 3847, -1, 809, 810, 811, -1, -1, -1, -1, -1, + 3812, -1, 819, -1, 3453, -1, -1, 432, 82, -1, + -1, 3868, -1, -1, -1, 832, 833, -1, 3875, -1, + 837, 838, 3812, -1, -1, -1, 3910, -1, 3798, -1, + -1, -1, 1438, 1439, 851, 852, 853, -1, 1705, -1, + -1, 466, 3899, -1, 1611, -1, -1, -1, 865, 866, + -1, 868, 477, -1, -1, 3939, 1991, -1, -1, -1, + -1, -1, -1, -1, -1, 882, -1, -1, 2003, 1390, + 495, 888, -1, -1, -1, -1, -1, 3934, 1390, -1, + 3850, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 519, 3952, -1, -1, 2033, -1, + -1, -1, -1, -1, 3961, 2040, 3781, 181, 533, -1, + -1, -1, 3969, 1843, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 200, -1, -1, -1, + -1, 205, -1, -1, -1, -1, -1, -1, 1705, 956, + -1, 2076, 959, -1, -1, 2080, -1, 1504, 1505, 3824, + -1, 2086, -1, 1510, 228, 229, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3563, -1, -1, -1, 882, -1, 507, 508, 509, -1, - 511, 512, 513, 514, 515, 516, -1, -1, 2361, -1, - -1, 1076, -1, 3600, -1, 3602, -1, 1249, -1, 455, - -1, -1, -1, -1, 460, -1, -1, 3614, 3615, -1, - 3617, 3618, 177, -1, 3563, -1, -1, -1, -1, 3626, - 1913, -1, -1, -1, 3617, -1, -1, -1, -1, -1, - 0, 196, -1, 3456, -1, -1, 201, 3644, 3645, -1, - -1, 3648, -1, -1, 3432, 3652, -1, -1, 3655, 3656, - 3684, 3658, 3686, -1, 3661, -1, -1, -1, -1, -1, - 3563, -1, 317, 318, 319, -1, -1, 1960, 3617, -1, - 42, -1, -1, -1, -1, 240, -1, -1, -1, 1972, - -1, -1, 3689, -1, 3472, 8, -1, -1, 11, 3696, - 62, -1, 15, 16, -1, -1, -1, -1, 8, -1, - -1, 11, 3682, 3696, -1, 15, 16, -1, -1, 2002, - -1, -1, -1, -1, 3617, 2488, 2009, -1, 2491, 3726, - 3727, -1, 3756, 3730, 2497, 48, -1, -1, 383, 294, - 100, -1, 55, -1, 106, 539, -1, -1, 48, -1, - 544, -1, -1, 547, 3751, 55, -1, 3696, -1, -1, - 554, 3758, 2045, 3733, -1, -1, 2049, 80, 3792, 1497, - 1412, 1499, 2055, -1, 1249, -1, -1, 422, 1076, -1, - 80, -1, -1, -1, 3781, -1, -1, 581, 148, 583, - 584, 585, -1, 3817, -1, -1, -1, 591, -1, -1, - 1442, 1443, 162, 3696, -1, -1, -1, 167, -1, -1, - 455, -1, 172, -1, 176, 3812, 1458, -1, -1, -1, - -1, 466, 3600, 183, -1, -1, -1, -1, 188, 3826, - 624, 625, 626, 146, -1, -1, 3833, 482, -1, -1, - 634, 396, 204, -1, 3841, -1, 146, -1, -1, -1, - -1, -1, 3665, 647, 648, -1, -1, -1, 652, 653, - 220, 506, -1, -1, 177, 2628, -1, -1, -1, 2632, - 2633, 2634, 666, 667, 668, 520, -1, 177, -1, -1, - 3658, 241, -1, 196, -1, -1, 680, 681, 201, 683, - -1, -1, 254, -1, -1, 3708, 196, -1, 2661, -1, - 262, 201, -1, 697, -1, -1, 152, -1, -1, 703, - -1, -1, 274, 2676, 2677, 2678, 2679, 2680, 2681, 2682, - 2683, 2684, 2685, -1, -1, -1, 172, 240, -1, 289, - -1, -1, 292, -1, -1, -1, -1, 1412, 298, -1, - 240, -1, -1, -1, 306, -1, -1, -1, -1, 504, - -1, 1249, 507, 508, 509, -1, 511, 512, 513, 514, - 515, 516, -1, -1, -1, -1, -1, 1442, 1443, -1, - -1, -1, -1, 3751, -1, -1, 770, -1, -1, 773, - 340, 294, -1, 1458, -1, 115, -1, -1, -1, -1, - -1, -1, -1, -1, 294, -1, -1, -1, -1, -1, - 362, -1, -1, -1, 364, -1, -1, 0, 802, -1, - 2773, 805, -1, -1, -1, -1, -1, 1659, -1, 813, - -1, -1, -1, 385, -1, -1, 820, 821, 822, 823, - 42, -1, -1, -1, 3812, -1, 2799, -1, -1, -1, - -1, 835, 172, -1, 406, -1, -1, -1, 3826, -1, - 62, -1, 8, -1, -1, 11, -1, -1, -1, 15, - 16, -1, 422, 3841, -1, -1, 1794, -1, 2351, -1, - -1, 317, 318, 319, -1, -1, 1804, -1, 1806, -1, - -1, 1809, -1, 396, -1, -1, -1, 1815, 882, 1817, - 450, -1, 48, -1, 106, 107, 396, -1, -1, 55, - 460, 1829, -1, 115, -1, -1, 1834, 100, -1, -1, - 1838, 1839, 1840, 1841, 1412, 1843, 1844, -1, -1, 479, - -1, 481, 482, -1, 80, -1, -1, 921, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 383, 8, -1, - -1, 11, -1, -1, 1442, 1443, 16, -1, -1, 19, - 20, 21, -1, -1, -1, 148, -1, 1799, 518, -1, - 1458, 521, 522, 523, 176, -1, -1, -1, -1, 162, - -1, -1, -1, -1, 167, 305, 422, 2940, 48, 172, - -1, -1, -1, -1, 1659, 55, -1, 317, 318, 319, - 183, 504, 204, -1, -1, 188, -1, -1, 511, 512, - 513, 514, 515, 516, 504, -1, -1, -1, -1, 455, - 80, 511, 512, 513, 514, 515, 516, -1, -1, 1013, - 466, 177, -1, -1, -1, -1, -1, 220, -1, 1023, - -1, 1025, 1026, -1, 1028, -1, 482, -1, -1, -1, - 196, -1, 254, 1037, 1038, 201, -1, -1, 241, 1043, - 262, -1, -1, 383, -1, 2538, -1, -1, -1, -1, - 506, -1, 274, -1, -1, 277, -1, -1, -1, -1, - -1, 1913, 1066, -1, 520, -1, -1, -1, -1, 1073, - 1074, 1075, 1076, -1, 240, -1, -1, -1, -1, 1083, - -1, -1, 422, -1, 306, -1, 289, -1, -1, 292, - -1, -1, -1, -1, -1, 298, -1, 177, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1960, -1, - -1, -1, -1, -1, 1799, 455, 196, -1, -1, -1, - 1972, 201, -1, -1, -1, -1, 466, 1131, 294, 1133, - -1, -1, -1, -1, -1, -1, -1, 340, -1, 3112, - 362, -1, 482, -1, 224, 225, -1, 3120, -1, -1, - 2002, 1659, -1, -1, -1, -1, -1, 2009, -1, -1, - 240, 364, -1, 385, -1, -1, 506, -1, -1, -1, - -1, -1, 1176, 1177, 1178, -1, -1, 1181, -1, 2672, - 520, -1, -1, -1, 406, -1, 408, -1, -1, 411, - -1, 1195, 1196, 2045, 1198, -1, -1, 2049, 8, 1203, - 280, 11, -1, 2055, -1, 15, 16, -1, -1, 19, - 20, 21, -1, -1, 294, -1, -1, -1, -1, 422, - -1, -1, -1, -1, -1, -1, 8, 37, 1913, 11, - 396, 1235, 1236, 15, 16, -1, -1, 19, 20, 21, - -1, -1, -1, -1, 1248, 1249, -1, 450, 2186, -1, - 3223, -1, 2745, -1, -1, 3228, -1, 460, -1, -1, - -1, 1265, -1, -1, -1, 1269, -1, -1, -1, 1273, - -1, -1, -1, -1, -1, 1960, 479, 2770, 481, 482, - -1, 3254, -1, -1, -1, -1, -1, 1972, -1, -1, - -1, 1799, -1, -1, 2880, 2881, 2882, 2883, 520, -1, - -1, 3274, 3275, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 518, 396, 2002, 521, 522, - 523, -1, -1, -1, 2009, -1, -1, -1, 3301, -1, - -1, -1, -1, 115, 2827, -1, -1, -1, 504, -1, - -1, -1, -1, -1, -1, 511, 512, 513, 514, 515, - 516, -1, -1, -1, -1, -1, 1360, -1, -1, 172, - 2045, -1, -1, -1, 2049, 1369, -1, -1, -1, 3342, - 2055, 8, -1, -1, 11, -1, -1, -1, 15, 16, - 109, 110, 19, 20, 21, -1, -1, -1, -1, 1393, + 244, -1, 989, 2108, -1, 992, 1843, -1, -1, -1, + -1, -1, -1, -1, -1, 8, 1003, 1004, 11, -1, + -1, -1, 15, 16, -1, 1012, 19, 20, 21, -1, + -1, -1, 1019, 1020, 1021, 1022, 1023, -1, -1, 283, + -1, -1, 286, -1, 37, -1, -1, 3400, 1035, -1, + 1037, -1, 3405, -1, -1, -1, 300, -1, -1, 303, + 1047, -1, -1, -1, 2708, 2709, -1, -1, -1, -1, + -1, -1, -1, 3426, 1061, -1, -1, -1, -1, -1, + -1, 156, -1, 1659, 1071, -1, 1073, 1074, -1, 1076, + -1, 1991, 2736, -1, -1, 1671, -1, 1673, 1085, 1086, + -1, 176, -1, 2003, 1091, -1, 1843, 2751, 2752, 2753, + 2754, 2755, 2756, 2757, 2758, 2759, 2760, -1, 38, -1, + 1611, -1, -1, 1699, 44, -1, -1, 1114, -1, 1611, + -1, -1, -1, 2033, 1121, -1, 1123, 1124, -1, -1, + 2040, -1, -1, -1, 1131, -1, -1, 38, -1, -1, + -1, -1, -1, 44, 1991, -1, 8, -1, 3777, 11, + -1, -1, 406, 15, 16, -1, 2003, 19, 20, 21, + -1, -1, -1, -1, -1, -1, 2076, -1, -1, -1, + 2080, 8, -1, 103, 11, 37, 2086, -1, 15, 16, + -1, -1, 3545, 1180, -1, 1182, 2033, -1, -1, -1, + -1, -1, -1, 2040, -1, -1, -1, -1, 2108, -1, + -1, -1, 103, -1, 1705, -1, -1, -1, -1, -1, + -1, 48, -1, 1705, -1, -1, -1, -1, 55, -1, + -1, 1807, 1808, 3586, -1, 228, -1, -1, -1, 2076, + -1, 1228, -1, 2080, 1231, -1, -1, -1, -1, 2086, + 325, 326, 327, -1, 1991, 82, -1, 177, 1245, 1246, + -1, 1248, -1, -1, -1, -1, 2003, 1254, -1, -1, + -1, 2108, -1, 517, -1, -1, 520, 521, 522, -1, + 524, 525, 526, 527, 528, 529, 177, -1, -1, -1, + -1, 1867, -1, -1, -1, 215, 2033, -1, -1, 1286, + 1287, 1877, -1, 2040, 1880, -1, -1, 300, -1, -1, + -1, 231, 1299, 1300, -1, -1, -1, -1, 393, 2424, + -1, -1, 242, 150, 215, -1, -1, -1, -1, 1316, + -1, -1, -1, 1320, -1, -1, -1, -1, 1325, 2076, + 231, -1, 3961, 2080, -1, -1, 1333, -1, -1, 2086, + -1, 242, 1843, -1, 181, 1342, 276, 432, -1, -1, + -1, 1843, 3715, -1, -1, -1, -1, -1, -1, -1, + -1, 2108, -1, 200, -1, -1, 228, -1, 205, 1366, + -1, -1, -1, -1, -1, 276, -1, -1, -1, 3033, + -1, 466, -1, -1, -1, 1382, -1, 1384, 1974, -1, + -1, -1, 477, 1390, 1391, 325, -1, 298, -1, -1, + -1, -1, 332, -1, -1, -1, -1, 244, 1405, 1406, + 495, 3774, -1, -1, -1, -1, -1, -1, 1415, 1416, + -1, -1, -1, 1420, 325, 1422, 1423, -1, 1425, 1426, + -1, 332, -1, -1, 519, 42, 1433, -1, 300, -1, + -1, -1, 2557, -1, -1, 375, -1, -1, 533, -1, + -1, -1, -1, 1450, -1, 62, 1453, -1, -1, -1, + -1, -1, -1, 300, 394, -1, -1, 2004, 2005, 2006, + 2007, 2008, 2009, -1, 375, 2012, 2013, 2014, 2015, 2016, + 2017, 2018, 2019, 2020, 2021, 2973, 2974, 2975, 2976, -1, + 1991, -1, -1, 394, -1, -1, -1, -1, 2613, 1991, + -1, 108, 2003, -1, -1, 3868, -1, 2093, -1, -1, + -1, 2003, -1, -1, 2424, -1, -1, 520, 521, 522, + -1, 524, 525, 526, 527, 528, 529, -1, 1525, -1, + 1527, 1528, 2033, -1, -1, -1, 466, -1, 1535, 2040, + -1, 2033, -1, -1, -1, -1, -1, -1, 2040, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1556, + -1, 1558, -1, -1, -1, 466, -1, -1, -1, 406, + -1, 3934, -1, 180, -1, 2076, -1, 2424, -1, 2080, + -1, -1, -1, -1, 2076, 2086, -1, -1, 2080, 3952, + -1, -1, -1, -1, 2086, -1, -1, -1, -1, -1, + -1, 208, -1, -1, -1, -1, 3969, 2108, -1, -1, + -1, -1, -1, -1, 1611, -1, 2108, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1405, -1, 1407, -1, 1913, -1, -1, 1412, 1413, - -1, 48, -1, -1, 224, -1, -1, -1, 55, -1, - 1424, -1, -1, 2361, 504, -1, -1, 507, 508, 509, - -1, 511, 512, 513, 514, 515, 516, -1, 1442, 1443, - -1, -1, 224, 80, -1, -1, -1, -1, -1, -1, - -1, 1455, 1960, -1, 1458, -1, 1460, -1, -1, -1, - -1, -1, 191, 192, 1972, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 2969, 8, -1, -1, - 11, -1, -1, -1, 294, 16, -1, 1491, 1492, -1, - 1494, -1, 1496, 1497, 2002, 1499, 1500, -1, -1, 2351, - -1, 2009, 1506, -1, 317, 318, 319, -1, -1, -1, - 3003, -1, 294, -1, -1, -1, -1, 48, -1, 1523, - -1, -1, 1526, -1, 55, -1, -1, 256, 257, 258, - 259, 260, 261, -1, -1, 264, 265, 2045, -1, -1, - 177, 2049, -1, -1, -1, -1, -1, 2055, -1, 80, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 196, - -1, -1, -1, -1, 201, -1, 1570, -1, 1572, 1573, - 383, -1, -1, -1, -1, -1, 1580, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3081, -1, - 3176, 3177, 3178, 3179, 3180, 3181, 3182, 1601, -1, 1603, - 3186, 3187, -1, 240, -1, 3191, -1, -1, 3194, 422, - -1, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, - 3206, -1, -1, -1, 1628, 8, -1, -1, 11, 1633, - -1, -1, 15, 16, -1, -1, 19, 20, 21, -1, - -1, -1, 455, -1, 1648, -1, 177, -1, -1, -1, - -1, 380, 381, 466, 37, 1659, -1, 294, -1, -1, - -1, -1, -1, -1, 1668, 196, 2351, 1671, -1, 482, - 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3175, -1, -1, -1, 2538, -1, 3661, -1, - -1, -1, -1, 506, -1, 2633, 2634, 507, 508, 509, - 1704, 511, 512, 513, 514, 515, 516, 520, -1, 240, - -1, -1, -1, -1, -1, -1, 1720, -1, 1722, -1, - 1724, -1, -1, 2661, -1, 507, 508, 509, -1, 511, - 512, 513, 514, 515, 516, 1739, 1740, -1, 2676, 2677, - 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 396, - -1, -1, -1, 294, -1, -1, -1, -1, -1, -1, - -1, 500, 501, 1777, -1, 1779, -1, -1, -1, -1, - 3273, 1013, -1, -1, -1, -1, -1, -1, -1, 1793, - 1794, 520, -1, -1, -1, 1799, -1, -1, -1, -1, - 1804, 1805, 1806, 1807, 1808, 1809, 1810, -1, -1, -1, - -1, 1815, -1, 1817, -1, 3401, -1, 3403, -1, 3405, - 2672, -1, -1, -1, 1828, 1829, -1, -1, -1, 1833, - 1834, -1, -1, -1, 1838, 1839, 1840, 1841, -1, 1843, - 1844, 224, 1074, 2351, -1, -1, -1, -1, 1852, -1, - -1, -1, -1, 2538, -1, -1, -1, -1, -1, -1, - 3833, 1865, 1866, 1867, 1868, 396, -1, 504, 1872, -1, - 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, - -1, -1, 1886, -1, -1, -1, -1, 8, 1892, -1, - 11, -1, -1, 2745, 15, 16, -1, -1, 19, 20, - 21, -1, -1, -1, -1, -1, -1, -1, -1, 1913, - -1, 294, -1, -1, -1, 1147, -1, -1, 2770, -1, - -1, -1, -1, 1927, -1, -1, -1, 48, -1, -1, - 1934, -1, -1, -1, 55, -1, -1, -1, -1, 1943, - -1, -1, 1174, -1, 1176, 1177, -1, -1, -1, -1, - 3536, -1, -1, 3539, 3540, 172, 1960, -1, -1, 80, - -1, -1, 3548, -1, -1, -1, -1, -1, 1972, 3555, - -1, -1, -1, 504, -1, 2827, -1, -1, -1, -1, - 511, 512, 513, 514, 515, 516, -1, 2672, -1, -1, - -1, -1, -1, -1, -1, -1, 8, -1, 2002, 11, - -1, -1, 2940, 15, 16, 2009, -1, 2011, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1250, 2023, - 8, 1253, 1254, 11, -1, -1, -1, 15, 16, -1, - 2538, 19, 20, 21, -1, -1, 48, -1, -1, 2043, - -1, 2045, -1, 55, 2048, 2049, -1, 2051, -1, 2053, - -1, 2055, -1, -1, 3547, -1, 177, -1, 3644, 3645, - 2745, -1, 3648, -1, -1, -1, 3652, -1, 80, 3655, - 3656, -1, -1, -1, -1, 196, -1, -1, -1, -1, - 201, -1, -1, -1, -1, 2770, -1, -1, 305, 2093, - -1, -1, -1, 2097, -1, -1, -1, -1, 2102, -1, - 317, 318, 319, 224, 225, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2969, -1, 240, - -1, -1, -1, -1, 507, 508, 509, -1, 511, 512, - 513, 514, 515, 516, 146, -1, -1, 2141, -1, -1, - 3726, 3727, 2827, -1, 3730, 8, -1, -1, 11, -1, - -1, 3003, 15, 16, -1, -1, 3649, -1, -1, 280, - -1, 2165, -1, -1, 2672, 177, 383, -1, -1, 38, - -1, -1, 3665, 294, -1, 44, -1, -1, -1, -1, - -1, -1, 2186, -1, 196, 48, -1, -1, -1, 201, - -1, -1, 55, 2197, -1, -1, -1, -1, -1, 2203, - -1, -1, -1, -1, -1, 422, -1, -1, 1440, -1, - -1, -1, -1, -1, -1, -1, -1, 80, -1, 1451, - -1, 1453, -1, -1, -1, -1, -1, -1, 240, 3081, - -1, 1463, 101, -1, -1, -1, 224, 2745, 455, 2243, - -1, -1, -1, -1, -1, 2249, -1, -1, 1480, 466, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 2265, 2770, -1, -1, 482, -1, -1, -1, -1, - -1, 2275, 2276, 2277, -1, 396, -1, -1, -1, 1511, - 1512, -1, 294, 146, 2969, 8, -1, -1, 11, 506, - -1, -1, 15, 16, -1, -1, 19, 20, 21, -1, - -1, -1, -1, 520, 173, -1, 294, -1, -1, -1, - -1, -1, -1, -1, 177, 2319, 3254, -1, 3003, 2827, - -1, -1, -1, 3175, -1, 2329, -1, -1, -1, -1, - -1, 2335, -1, 196, -1, -1, 3274, 3275, 201, -1, - -1, -1, 211, 2347, 2348, 2349, 2350, 2351, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2361, 227, 2363, - -1, -1, 2366, 3301, -1, -1, -1, 2371, -1, 238, - -1, -1, -1, -1, -1, -1, -1, 240, -1, -1, - 2384, -1, -1, 504, 396, -1, 507, 508, 509, -1, - 511, 512, 513, 514, 515, 516, 3081, 2401, -1, -1, - -1, 270, -1, 2407, -1, -1, -1, -1, -1, 2413, - -1, 0, -1, -1, -1, 2419, 2420, -1, 2422, -1, - -1, 3273, -1, 292, -1, -1, -1, -1, -1, -1, - -1, 294, -1, 22, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, -1, 35, 36, 317, -1, - -1, -1, -1, -1, -1, 324, -1, -1, -1, -1, - 49, 2969, -1, -1, -1, 54, -1, 2471, -1, -1, - 8, -1, -1, 11, 63, 2479, 2480, 2481, 16, -1, - -1, -1, -1, -1, 2488, -1, 75, 2491, -1, -1, - 3175, -1, 504, 2497, -1, 3003, -1, 86, 367, 511, - 512, 513, 514, 515, 516, -1, -1, -1, 2512, 98, - 48, 100, -1, -1, -1, 384, -1, 55, -1, 507, - 508, 509, 111, 511, 512, 513, 514, 515, 516, -1, - -1, 1763, 1764, 396, 2538, -1, 125, -1, 127, -1, - -1, -1, 80, -1, -1, -1, -1, 136, -1, -1, - -1, -1, -1, -1, -1, 144, -1, -1, -1, -1, - -1, -1, -1, 152, -1, 154, 155, -1, -1, -1, - -1, 294, -1, 3081, -1, -1, -1, -1, -1, 168, - 2584, 2585, -1, 172, -1, -1, 455, 2591, 3273, -1, - 1822, 460, -1, -1, -1, -1, -1, -1, 2602, -1, - 1832, -1, -1, 1835, 2608, -1, -1, -1, 146, -1, - -1, 200, -1, -1, -1, -1, -1, -1, -1, -1, - 2624, -1, -1, -1, 2628, -1, -1, 216, 2632, 2633, - 2634, -1, -1, -1, 2638, 2639, 2640, -1, 2642, 177, - -1, 504, -1, -1, -1, -1, -1, -1, 511, 512, - 513, 514, 515, 516, 243, -1, -1, 2661, 196, 2663, - -1, -1, -1, 201, -1, 2669, -1, 3175, 2672, 2673, - -1, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, - 2684, 2685, -1, -1, -1, 1917, 1918, -1, -1, -1, - -1, -1, -1, -1, -1, 3547, -1, -1, -1, -1, - 2704, -1, 240, -1, 2708, -1, -1, 2711, -1, -1, - -1, 1943, -1, -1, -1, -1, -1, 2721, -1, -1, - -1, -1, -1, 3661, -1, -1, -1, -1, 317, 318, - 319, -1, -1, 2737, -1, 8, 325, -1, 11, 328, - -1, 2745, 15, 16, 17, 18, 19, 20, 21, -1, - -1, -1, 2756, -1, -1, -1, 294, -1, -1, -1, - -1, -1, -1, -1, 37, 3273, 2770, -1, -1, 2773, - -1, 360, -1, -1, -1, 48, 2780, 2781, 2782, 2783, - 369, -1, 55, -1, 507, 508, 509, -1, 511, 512, - 513, 514, 515, 516, 383, 2799, 2800, 3649, -1, -1, - -1, 390, -1, -1, -1, -1, 395, 80, -1, -1, - -1, 2815, -1, 3665, -1, -1, -1, 406, -1, 2051, - -1, -1, -1, 2827, -1, -1, -1, -1, -1, 418, - -1, -1, -1, 422, -1, -1, 2840, -1, -1, -1, - -1, 2845, -1, -1, 8, -1, -1, 11, -1, -1, - -1, 15, 16, 442, -1, 19, 20, 21, 396, 8, - -1, -1, 3547, 12, -1, -1, 455, -1, 17, 458, - -1, -1, 461, 37, 23, 24, -1, 466, -1, 28, - 29, 30, -1, -1, 33, -1, -1, 36, 37, -1, - -1, 40, 2896, 482, 43, 44, 2900, -1, -1, -1, - -1, -1, 2906, -1, 177, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 2920, 506, -1, -1, - -1, -1, 2926, 196, -1, -1, -1, -1, 201, -1, - -1, 520, -1, -1, 523, 2939, 2940, -1, -1, -1, - -1, -1, -1, 2947, -1, -1, 2178, -1, -1, -1, - 99, 224, 225, -1, -1, 104, 105, 106, 107, 108, - 2964, -1, -1, -1, 3649, 2969, 504, 240, -1, -1, - -1, -1, -1, 511, 512, 513, 514, 515, 516, -1, - 3665, -1, -1, -1, -1, -1, -1, 2219, 2220, 8, - -1, -1, 11, -1, -1, -1, 15, 16, -1, 3003, - 19, 20, 21, -1, 277, -1, -1, 280, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, - -1, 294, -1, -1, 297, -1, -1, 109, 110, -1, - -1, -1, -1, -1, 8, -1, -1, 11, 3042, 3547, - -1, 15, 16, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3057, -1, -1, -1, -1, -1, -1, - 224, -1, -1, -1, -1, 24, -1, 3071, -1, -1, - -1, -1, -1, 3077, 48, -1, -1, 3081, -1, 3, - -1, 55, -1, -1, 8, -1, -1, 11, -1, -1, - -1, 15, 16, 17, 18, 19, 20, 21, -1, -1, - -1, -1, 3106, -1, -1, -1, 80, -1, 3112, 191, - 192, -1, 3116, 37, -1, -1, 3120, -1, 42, -1, - -1, -1, 81, 396, 48, -1, -1, -1, -1, -1, - 294, 55, -1, -1, -1, -1, -1, -1, 97, -1, - -1, 3649, -1, 3147, -1, 2377, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 80, 3665, -1, -1, - 3164, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3175, 146, -1, 256, 257, 258, 259, 260, 261, - -1, 3185, 264, 265, -1, -1, -1, -1, 147, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 157, -1, - -1, -1, -1, 177, -1, 224, -1, -1, -1, -1, - 169, -1, -1, -1, -1, 174, -1, -1, -1, 3223, - -1, -1, 196, -1, 3228, -1, -1, 201, -1, -1, - -1, 504, -1, -1, 507, 508, 509, -1, 511, 512, - 513, 514, 515, 516, -1, -1, 205, -1, -1, -1, - 3254, 524, -1, 177, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 240, -1, -1, 3273, - 3274, 3275, 196, -1, -1, 294, -1, 201, -1, -1, - -1, -1, -1, -1, -1, 3289, 3290, -1, -1, -1, - 249, 3295, -1, 3297, 253, -1, -1, 3301, 380, 381, - 224, 225, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3315, -1, -1, -1, -1, 240, -1, -1, -1, - 294, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3342, 3343, - -1, -1, 3346, 507, 508, 509, -1, 511, 512, 513, - 514, 515, 516, 277, -1, -1, 280, -1, -1, -1, - -1, -1, -1, 322, 3368, 3369, -1, -1, -1, -1, - 294, -1, -1, 297, -1, -1, -1, -1, -1, 338, - 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 539, -1, -1, -1, -1, 544, -1, -1, 547, -1, - -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, - -1, -1, -1, -1, 373, -1, -1, 376, 500, 501, - -1, 3425, 396, -1, -1, -1, 385, -1, 3432, 388, - 3434, -1, 581, -1, 583, 584, 585, -1, -1, -1, - 2672, -1, 591, -1, -1, -1, -1, -1, -1, 408, + 8, -1, 2747, 11, -1, -1, -1, 15, 16, -1, + -1, 19, 20, 21, -1, -1, -1, 2557, -1, -1, + -1, 258, 2189, 2190, -1, -1, -1, 2243, 520, 521, + 522, 268, 524, 525, 526, 527, 528, 529, -1, -1, + 1667, 8, -1, 280, 11, -1, -1, 2424, -1, 16, + 517, 1678, 19, 20, 21, -1, -1, 524, 525, 526, + 527, 528, 529, -1, -1, -1, 1693, -1, 2284, 2285, + -1, 8, -1, 2613, 11, 3359, 313, -1, 1705, 16, + 2557, 48, -1, 57, -1, -1, -1, 1714, 55, -1, + 1717, -1, -1, -1, -1, -1, 3380, 3381, 2843, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3466, 422, -1, 3469, -1, -1, 3472, -1, - 429, -1, 396, -1, -1, 624, 625, 626, -1, -1, - 439, -1, -1, -1, -1, 634, 445, -1, 507, 508, - 509, -1, 511, 512, 513, 514, 515, 516, 647, 648, - -1, -1, -1, 652, 653, -1, 3510, -1, -1, -1, - -1, -1, -1, -1, 473, -1, -1, 666, 667, 668, + -1, 48, -1, -1, -1, 82, -1, -1, 55, -1, + -1, -1, -1, 1750, -1, -1, -1, 3411, -1, -1, + 104, -1, -1, 370, 182, -1, 2613, 1764, -1, 1766, + -1, 1768, -1, -1, -1, 82, -1, -1, -1, -1, + -1, 125, -1, -1, -1, -1, 1783, 1784, 395, -1, + -1, 209, -1, 3281, 3282, 3283, 3284, 3285, 3286, 3287, + -1, -1, 146, 3291, 3292, 2920, 150, -1, 3296, 416, + 2557, 3299, -1, -1, 3302, 3303, 3304, 3305, 3306, 3307, + 3308, 3309, 3310, 3311, 1821, -1, 1823, -1, 172, -1, + 248, 175, -1, -1, -1, -1, -1, 2747, -1, -1, + 1837, 1838, -1, 150, 181, -1, 1843, -1, -1, 193, + 228, 1848, 1849, 1850, 1851, 1852, 1853, 1854, -1, -1, + -1, -1, 1859, 200, 1861, -1, 2613, -1, 205, -1, + -1, -1, -1, -1, 181, -1, 1873, 1874, -1, -1, + -1, 1878, 1879, -1, -1, 303, 1883, 1884, 1885, 1886, + -1, 1888, 1889, 200, -1, -1, -1, -1, 205, -1, + 2747, 1898, -1, -1, -1, -1, 324, 244, 1905, -1, + -1, -1, -1, -1, -1, -1, -1, 1914, 1915, 1916, + 1917, 1918, 300, 2424, -1, 1922, -1, -1, 346, -1, + -1, -1, 2424, 2843, -1, -1, -1, 244, -1, 1936, + -1, -1, -1, -1, 288, 1942, -1, 3062, -1, -1, + -1, -1, 296, -1, -1, -1, 1953, -1, -1, -1, + -1, 1958, -1, 300, -1, -1, 384, -1, 1965, -1, + -1, -1, -1, 391, 318, 2561, 2562, 1974, -1, -1, + -1, 3096, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 300, 1991, -1, 2843, -1, -1, -1, + 2747, -1, -1, -1, -1, 349, 2003, -1, -1, -1, + 2920, -1, -1, -1, -1, -1, -1, -1, 436, -1, + 438, -1, -1, -1, -1, -1, 3514, -1, 3516, -1, + 3518, -1, -1, -1, -1, -1, 2033, -1, 456, -1, + -1, -1, -1, 2040, 462, 2042, -1, 465, -1, -1, + -1, -1, -1, -1, -1, 8, 2557, 2054, 11, -1, + -1, -1, 15, 16, 3179, 2557, -1, -1, -1, 406, + -1, -1, -1, 2920, -1, -1, -1, 2074, -1, 2076, + 2617, 2618, 2079, 2080, -1, -1, -1, 2084, -1, 2086, + -1, 2088, 2089, -1, -1, 48, 2843, -1, -1, 406, + -1, -1, 55, -1, -1, -1, -1, 0, 3223, -1, + -1, 2108, 2613, -1, -1, -1, -1, -1, -1, -1, + -1, 2613, -1, 3777, -1, -1, -1, 20, -1, 82, + 23, -1, -1, -1, -1, -1, 0, -1, -1, -1, + -1, -1, 520, 521, 522, 38, 524, 525, 526, 527, + 528, 529, 3062, -1, 47, -1, -1, -1, -1, -1, + 2157, 2747, -1, 3651, 2161, 3280, 3654, 3655, -1, 2166, + -1, -1, -1, 2920, -1, 3663, -1, -1, -1, -1, + 517, -1, 3670, 520, 521, 522, 3096, 524, 525, 526, + 527, 528, 529, -1, -1, -1, -1, 150, -1, 92, + 93, 94, -1, -1, -1, -1, -1, -1, -1, 2206, + 517, -1, 105, -1, -1, 3062, -1, 524, 525, 526, + 527, 528, 529, -1, -1, -1, -1, -1, 181, -1, + -1, -1, -1, 2230, -1, -1, -1, -1, 102, -1, + -1, -1, -1, -1, -1, -1, 2747, 200, -1, 3096, + -1, -1, 205, -1, 2251, 2747, -1, -1, -1, -1, + -1, -1, -1, -1, 3379, 2262, -1, -1, -1, 3179, + -1, 2268, 3760, 3761, -1, -1, 3764, -1, -1, -1, + 3768, -1, -1, 3771, 3772, -1, -1, -1, 152, -1, + -1, 244, 2878, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 166, 2840, -1, -1, -1, 171, -1, -1, + -1, 2308, 176, 3223, -1, 3062, -1, 2314, -1, -1, + -1, -1, -1, 187, -1, -1, -1, -1, 192, -1, + -1, -1, 3179, 2330, -1, -1, -1, -1, -1, -1, + -1, -1, 2843, 2340, 2341, 2342, -1, 300, -1, 3096, + -1, 2843, -1, -1, -1, 3843, 3844, -1, -1, 3847, + 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3280, -1, -1, -1, -1, -1, 3223, -1, -1, -1, + -1, 245, -1, -1, -1, -1, -1, -1, 2385, 8, + -1, -1, 11, -1, -1, -1, 15, 16, -1, -1, + -1, -1, -1, -1, 2401, -1, -1, -1, -1, -1, + 2407, -1, -1, -1, -1, -1, -1, -1, -1, 2920, + -1, -1, -1, 2420, 2421, 2422, 2423, 2424, 2920, 48, + -1, 295, 3179, 3280, 298, -1, 55, 2434, -1, 2436, + 304, -1, 2439, -1, -1, -1, 2443, -1, 2445, -1, + 2447, -1, -1, 406, -1, -1, 2453, -1, -1, -1, + -1, -1, 2459, 82, -1, 3051, -1, -1, 2465, 3379, + 3056, -1, -1, -1, 2471, 2472, 3223, 2474, -1, -1, + -1, -1, -1, -1, 348, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3034, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 372, -1, + -1, -1, -1, -1, -1, -1, -1, 3103, 3104, -1, + -1, -1, -1, -1, -1, -1, 2523, -1, -1, -1, + -1, 150, 3379, 3280, 2531, 2532, 2533, -1, -1, -1, + -1, -1, -1, 2540, -1, -1, 2543, 3662, -1, -1, + -1, -1, 2549, -1, -1, -1, -1, -1, -1, -1, + 2557, 3062, 181, -1, 517, -1, -1, -1, 432, -1, + 3062, 524, 525, 526, 527, 528, 529, -1, -1, -1, + -1, 200, -1, -1, -1, 2582, 205, -1, -1, -1, + -1, -1, -1, -1, -1, 3096, -1, 461, -1, -1, + -1, -1, -1, -1, 3096, -1, -1, 471, -1, -1, + -1, -1, -1, -1, -1, -1, 2613, -1, -1, -1, + -1, -1, -1, -1, -1, 244, -1, -1, 492, -1, + 494, 495, 3379, -1, -1, -1, -1, -1, -1, -1, + -1, 3178, -1, -1, -1, -1, -1, -1, -1, -1, + 3765, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 2659, 2660, 557, -1, 3781, 531, -1, 2666, + 534, 535, 536, -1, -1, -1, -1, -1, 3179, -1, + 2677, 300, -1, -1, -1, -1, 2683, 3179, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 504, 680, 681, -1, 683, -1, -1, 511, 512, 513, - 514, 515, 516, 3547, -1, -1, -1, -1, 697, -1, - -1, -1, 8, -1, 703, 11, -1, -1, -1, 15, - 16, -1, -1, 19, 20, 21, -1, -1, -1, -1, + -1, -1, 2699, -1, -1, -1, 2703, -1, -1, -1, + 2707, 2708, 2709, -1, -1, -1, 2713, 2714, 2715, -1, + 2717, -1, 3223, -1, -1, -1, -1, -1, -1, -1, + -1, 3223, -1, -1, -1, -1, -1, -1, -1, 2736, + -1, 2738, -1, -1, -1, -1, -1, 2744, -1, -1, + 2747, 2748, 3662, 2750, 2751, 2752, 2753, 2754, 2755, 2756, + 2757, 2758, 2759, 2760, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3280, + -1, 3367, 3368, -1, -1, -1, 2783, 406, 3280, -1, + -1, 2788, -1, 3379, 2791, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2801, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3662, -1, -1, -1, -1, + -1, -1, 2819, -1, -1, -1, 8, -1, -1, 11, + -1, -1, 2829, 15, 16, -1, -1, 19, 20, 21, + -1, -1, -1, -1, -1, -1, 2843, -1, -1, 2846, + -1, -1, -1, -1, -1, 3765, 2853, 2854, 2855, 2856, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 504, 37, -1, 507, 508, 509, -1, 511, 512, 513, - 514, 515, 516, -1, -1, -1, 3600, -1, 3602, -1, + -1, 3781, -1, -1, -1, 2872, 2873, -1, 3379, -1, + -1, -1, 775, 776, 2881, -1, -1, 3379, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 517, -1, + -1, -1, -1, -1, -1, 524, 525, 526, 527, 528, + 529, 2908, -1, -1, -1, 3662, -1, 8, 3765, -1, + 11, -1, -1, 2920, 817, 16, -1, -1, -1, -1, + -1, -1, -1, -1, 3781, 828, 2933, 119, -1, -1, + -1, 2938, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 0, 48, -1, -1, + -1, 3498, 3499, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3614, 3615, -1, -1, 3618, -1, -1, -1, -1, -1, - -1, 770, 3626, -1, 773, -1, -1, -1, -1, -1, - 8, -1, -1, 11, -1, -1, 3640, 3641, 16, 17, - 18, 19, 20, 21, -1, 3649, -1, -1, -1, -1, - -1, -1, -1, 802, 3658, -1, 805, 3661, -1, 37, - -1, 3665, -1, 3667, 813, -1, -1, -1, -1, -1, - 48, 820, 821, 822, 823, -1, -1, 55, -1, -1, - 3684, 8, 3686, -1, 11, 3689, 835, -1, 15, 16, - 17, 18, 19, 20, 21, -1, -1, -1, 0, -1, - -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, - 37, -1, -1, -1, -1, 42, 18, -1, -1, 21, - -1, 48, -1, -1, -1, -1, 2958, -1, 55, -1, - -1, 2963, -1, 882, 36, -1, -1, -1, -1, -1, - -1, -1, -1, 45, -1, -1, -1, 3751, -1, -1, - -1, -1, 3756, 80, 3758, -1, -1, -1, -1, -1, - -1, -1, -1, 8, -1, -1, 11, -1, 224, 3773, - 3774, 16, 921, -1, -1, -1, -1, 3781, 3010, 3011, - -1, -1, -1, -1, -1, 87, 88, 89, 3792, -1, - -1, -1, -1, -1, -1, -1, -1, 99, -1, 177, - -1, -1, -1, 48, -1, -1, -1, -1, 3812, -1, - 55, 8, -1, 3817, 11, -1, -1, -1, 196, 16, - -1, -1, 3826, 201, -1, -1, -1, -1, -1, 3833, - -1, -1, -1, -1, -1, 80, -1, 3841, 294, -1, - -1, -1, -1, -1, -1, -1, 224, 225, -1, -1, - 177, 48, -1, -1, -1, -1, -1, -1, 55, -1, - -1, -1, 240, -1, 1013, -1, -1, -1, -1, 196, - -1, -1, -1, -1, 201, -1, 1025, 1026, -1, 1028, - -1, -1, -1, 80, -1, -1, -1, -1, 1037, 1038, - -1, -1, -1, -1, 1043, -1, -1, 224, 225, 277, - -1, 146, 280, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 240, -1, -1, 294, 1066, -1, 297, - -1, -1, -1, -1, 1073, 1074, 1075, 1076, -1, -1, - -1, -1, 177, -1, 1083, -1, -1, -1, -1, 8, - -1, -1, 11, -1, -1, -1, 15, 16, -1, 146, - 277, 196, -1, 280, -1, -1, 201, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 294, -1, -1, - 297, -1, -1, -1, -1, 38, -1, -1, -1, 48, - 177, 44, 1131, -1, 1133, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, 240, -1, -1, -1, 196, - -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, - -1, 80, -1, -1, -1, -1, -1, -1, 396, -1, - -1, -1, -1, -1, -1, -1, -1, 1176, 1177, 1178, - 3262, 3263, 1181, -1, -1, -1, -1, -1, 101, -1, - -1, 3273, -1, 240, -1, -1, 1195, 1196, -1, 294, - -1, 507, 508, 509, 1203, 511, 512, 513, 514, 515, - 516, -1, -1, -1, -1, -1, -1, -1, -1, 396, - -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, - -1, 8, -1, -1, 11, -1, 1235, 1236, 15, 16, - -1, -1, 19, 20, 21, -1, -1, 294, -1, 1248, - 1249, -1, -1, -1, -1, -1, -1, -1, 177, -1, - 173, -1, -1, -1, -1, -1, 1265, -1, -1, -1, - 1269, -1, -1, -1, 1273, -1, 504, 196, -1, 507, - 508, 509, 201, 511, 512, 513, 514, 515, 516, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, - -1, 396, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 227, -1, -1, -1, -1, -1, - -1, 240, -1, -1, -1, 238, -1, 504, -1, -1, - 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, - -1, -1, -1, -1, 521, -1, -1, -1, -1, 396, - -1, -1, -1, -1, -1, -1, -1, 270, -1, -1, - -1, 1360, -1, -1, -1, -1, -1, -1, -1, -1, - 1369, -1, -1, -1, -1, 294, -1, -1, -1, 292, - -1, -1, -1, -1, -1, -1, 538, -1, -1, -1, - -1, -1, -1, -1, 1393, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 317, -1, 1405, -1, 1407, 504, - -1, 324, -1, 1412, 1413, -1, 511, 512, 513, 514, - 515, 516, -1, -1, -1, 1424, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 590, 591, - -1, -1, -1, 1442, 1443, -1, -1, 224, -1, -1, - -1, -1, -1, -1, 367, -1, 1455, 504, -1, 1458, - -1, 1460, -1, -1, 511, 512, 513, 514, 515, 516, - -1, 384, -1, -1, -1, 8, -1, 396, 11, -1, - 632, -1, 15, 16, 17, 18, 19, 20, 21, -1, - -1, 643, 1491, 1492, -1, 1494, -1, 1496, 1497, -1, - 1499, 1500, -1, -1, 37, -1, -1, 1506, -1, -1, - 8, -1, -1, 11, -1, 48, -1, 294, 16, -1, - -1, -1, 55, -1, 1523, -1, -1, 1526, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 689, -1, -1, - 692, -1, 455, -1, -1, -1, -1, 80, -1, -1, - 48, -1, -1, -1, -1, -1, -1, 55, -1, -1, + -1, 874, -1, -1, 877, -1, -1, -1, -1, -1, + 8, 82, 2989, -1, -1, 13, 2993, -1, 16, -1, + -1, 19, 2999, -1, -1, -1, -1, 25, 26, -1, + -1, -1, 30, 31, 32, -1, 3013, 35, 3765, -1, + 38, 39, 3019, -1, 42, -1, -1, 45, 46, -1, + -1, -1, -1, -1, 3781, 3032, 3033, -1, -1, -1, + -1, -1, 8, 3040, -1, 11, 228, -1, -1, 15, + 16, 17, 18, 19, 20, 21, -1, -1, 102, 150, + 3057, 954, -1, -1, -1, 3062, -1, -1, -1, -1, + -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 48, -1, -1, -1, -1, 105, -1, 55, + 181, -1, 110, 111, 112, 113, 114, -1, -1, 3096, + -1, -1, -1, -1, -1, -1, -1, 3644, 152, 200, + -1, -1, -1, -1, 205, -1, 82, 8, 300, -1, + 11, -1, 166, -1, 15, 16, -1, 171, 3665, 3666, + -1, -1, 176, -1, -1, -1, -1, -1, -1, 3136, + -1, -1, 3139, 187, -1, -1, -1, 3144, 192, -1, + -1, -1, -1, 244, -1, -1, -1, 48, 3155, -1, + -1, 3662, -1, -1, 55, -1, -1, -1, -1, 1062, + 3662, -1, -1, -1, 3171, -1, -1, -1, 3175, -1, + 224, 8, 3179, -1, 11, -1, -1, -1, 15, 16, + -1, 82, 19, 20, 21, 3781, -1, -1, -1, 70, + 71, 245, -1, -1, 1097, -1, -1, 3204, -1, 300, + 37, 1104, -1, 3210, -1, 181, -1, 3214, -1, -1, + -1, 3218, -1, -1, -1, -1, 3223, -1, -1, -1, + -1, -1, -1, -1, 200, -1, -1, -1, -1, 205, + 111, 112, -1, -1, 115, 116, 1139, -1, -1, -1, + -1, 295, -1, -1, 298, 3252, -1, -1, 1151, 150, + 304, -1, 228, 229, 3765, -1, -1, -1, -1, -1, + -1, -1, 3269, 3765, -1, -1, -1, -1, 244, -1, + 3781, -1, -1, 3280, -1, 1178, -1, -1, -1, 3781, + 181, -1, -1, 3290, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 348, -1, -1, -1, -1, 200, + -1, -1, -1, -1, 205, 406, -1, 283, -1, -1, + 286, -1, -1, -1, 195, 196, -1, -1, 372, -1, + -1, 3328, -1, -1, 300, -1, 3333, 303, 520, 521, + 522, -1, 524, 525, 526, 527, 528, 529, -1, -1, + -1, -1, -1, 244, -1, -1, -1, -1, -1, -1, + -1, -1, 3359, -1, -1, -1, -1, 1260, 1261, -1, + 1263, -1, 8, -1, -1, 11, -1, -1, -1, 15, + 16, -1, 3379, 3380, 3381, -1, -1, -1, 432, 260, + 261, 262, 263, 264, 265, 266, 267, -1, -1, 270, + 271, 228, 3399, 3400, -1, -1, -1, -1, 3405, 300, + 3407, -1, 48, -1, 3411, -1, -1, 461, -1, 55, + -1, -1, -1, -1, -1, -1, 517, 471, 3425, 3426, + -1, -1, -1, 524, 525, 526, 527, 528, 529, -1, + 406, -1, -1, -1, -1, -1, 82, -1, 492, -1, + 494, 495, -1, -1, -1, -1, 3453, 3454, -1, -1, + 3457, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 300, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3481, 3482, -1, 531, -1, -1, + 534, 535, 536, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1570, -1, 1572, 1573, -1, -1, -1, -1, -1, - -1, 1580, 80, 3665, -1, 504, -1, -1, -1, -1, - -1, -1, 511, 512, 513, 514, 515, 516, -1, -1, - -1, -1, 1601, -1, 1603, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 768, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1628, - -1, -1, -1, -1, 1633, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 177, -1, -1, -1, 146, 1648, + -1, -1, -1, -1, 150, 406, -1, -1, 389, 390, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1659, -1, -1, 196, -1, -1, -1, -1, 201, 1668, - -1, -1, 1671, -1, -1, -1, -1, -1, -1, 177, - -1, -1, -1, -1, -1, -1, 8, -1, -1, 11, - -1, 224, 225, -1, 16, -1, -1, -1, 196, -1, - -1, -1, -1, 201, -1, 1704, -1, 240, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1432, + 558, 3538, -1, -1, -1, 181, 564, -1, 3545, 567, + 3547, 517, -1, -1, 520, 521, 522, 575, 524, 525, + 526, 527, 528, 529, 200, -1, -1, -1, -1, 205, + -1, -1, -1, -1, -1, -1, -1, -1, 544, -1, + -1, -1, -1, 3580, -1, -1, 3583, -1, -1, 3586, + -1, -1, -1, -1, 612, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 244, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 489, 490, + -1, -1, -1, -1, -1, -1, 517, -1, 3625, -1, + -1, -1, -1, 524, 525, 526, 527, 528, 529, -1, + -1, -1, 513, 514, -1, 1538, -1, -1, 1541, -1, + -1, -1, -1, 1546, 0, -1, 1549, -1, -1, -1, + -1, 1554, 533, -1, 300, 3662, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 33, -1, 35, + 36, -1, -1, 520, 521, 522, -1, 524, 525, 526, + 527, 528, 529, 49, -1, -1, -1, -1, 54, -1, + -1, -1, -1, -1, -1, -1, -1, 63, 3715, -1, + 3717, -1, -1, -1, 8, -1, -1, 11, -1, -1, + -1, 77, 16, 3730, 3731, -1, -1, 3734, -1, -1, + 86, -1, 88, -1, -1, 3742, -1, -1, 1641, -1, + 768, 769, 770, -1, 100, -1, 102, -1, 776, 3756, + 3757, -1, -1, -1, 48, -1, -1, 113, 3765, -1, + 406, 55, -1, -1, -1, -1, -1, 3774, -1, -1, + 3777, -1, 128, 129, 3781, 131, 3783, -1, -1, -1, + -1, 809, 810, 811, 140, -1, -1, -1, 82, -1, + -1, 819, 148, 3800, -1, 3802, -1, -1, 3805, -1, + 156, -1, 158, 159, 832, 833, -1, -1, -1, 837, + 838, -1, -1, -1, -1, -1, 172, 1720, -1, -1, + 176, -1, -1, 851, 852, 853, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 865, 866, -1, + 868, -1, -1, -1, -1, -1, -1, -1, 204, -1, + -1, -1, -1, -1, 882, -1, 150, -1, -1, -1, + 888, 3868, -1, -1, 220, -1, 3873, -1, 3875, -1, + -1, 517, -1, -1, -1, -1, -1, -1, 524, 525, + 526, 527, 528, 529, 3891, 3892, -1, 181, -1, -1, + 1793, 247, 3899, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3910, -1, -1, 200, -1, -1, -1, + -1, 205, 8, -1, -1, 11, -1, -1, -1, -1, + 16, -1, -1, -1, -1, -1, -1, 3934, 956, -1, + -1, 959, 3939, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3952, -1, -1, -1, -1, + 244, -1, 48, -1, 3961, -1, -1, -1, -1, 55, + -1, 989, 3969, -1, 992, -1, -1, -1, -1, 325, + 326, 327, -1, -1, -1, 1003, 1004, 333, -1, -1, + 336, -1, -1, -1, 1012, -1, 82, -1, -1, -1, + -1, 1019, 1020, 1021, 1022, 1023, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 300, 1035, -1, 1037, + -1, -1, 368, -1, -1, 8, -1, -1, 11, 1047, + -1, 377, -1, 16, -1, -1, 1929, -1, -1, -1, + -1, -1, -1, 1061, -1, 1938, -1, 393, -1, -1, + -1, -1, -1, -1, 400, 1073, 1074, -1, 1076, 405, + -1, -1, -1, -1, 150, 48, -1, 1085, 1086, -1, + 416, -1, 55, 1091, -1, -1, -1, -1, -1, -1, + -1, -1, 428, -1, -1, -1, 432, -1, -1, -1, + -1, -1, -1, -1, -1, 181, 1114, -1, -1, 82, + -1, -1, -1, 1121, -1, 1123, 1124, 453, -1, -1, + -1, -1, -1, 1131, 200, -1, -1, -1, -1, 205, + 466, -1, 406, 469, -1, -1, 472, -1, -1, -1, + -1, 477, -1, -1, 8, -1, -1, 11, -1, -1, + -1, 15, 16, -1, -1, 19, 20, 21, -1, 495, + -1, -1, -1, -1, -1, -1, -1, -1, 244, -1, + -1, -1, 1180, 37, 1182, -1, -1, 150, -1, -1, + 2063, -1, -1, 519, -1, -1, 2069, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 533, -1, -1, + 536, -1, 8, -1, -1, 11, -1, -1, 181, 15, + 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, + 1228, -1, -1, 1231, 300, -1, -1, 200, -1, -1, + -1, 37, 205, -1, -1, -1, -1, 1245, 1246, -1, + -1, -1, 48, 517, -1, -1, 1254, -1, -1, 55, + 524, 525, 526, 527, 528, 529, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1720, -1, 1722, -1, 1724, 48, -1, -1, -1, - 507, 508, 509, 55, 511, 512, 513, 514, 515, 516, - 1739, 1740, 240, -1, 277, -1, -1, 280, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, - -1, 294, -1, -1, 297, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1777, -1, - 1779, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1793, 1794, 294, -1, -1, -1, - 1799, -1, -1, -1, -1, 1804, 1805, 1806, 1807, 1808, - 1809, 1810, -1, -1, -1, -1, 1815, -1, 1817, -1, - -1, -1, -1, -1, 146, -1, -1, -1, -1, 1828, - 1829, -1, -1, -1, 1833, 1834, -1, -1, -1, 1838, - 1839, 1840, 1841, -1, 1843, 1844, -1, -1, -1, -1, - -1, -1, -1, 1852, -1, 177, -1, -1, -1, -1, - -1, -1, 1014, 396, -1, -1, 1865, 1866, 1867, 1868, - -1, -1, -1, 1872, 196, -1, -1, -1, -1, 201, - -1, -1, -1, -1, -1, -1, -1, 1886, -1, -1, - -1, -1, -1, 1892, -1, -1, -1, 1049, 396, -1, - -1, -1, -1, -1, 1056, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1913, -1, -1, -1, 240, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1927, -1, - 27, -1, -1, -1, -1, 1934, 33, -1, -1, 1091, - -1, -1, -1, -1, 1943, 42, -1, -1, -1, -1, - 1102, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1960, -1, -1, -1, 62, -1, -1, -1, -1, - -1, 504, 294, 1972, 507, 508, 509, 1129, 511, 512, - 513, 514, 515, 516, -1, -1, -1, -1, 521, -1, + -1, 244, -1, -1, -1, -1, 82, -1, 1286, 1287, + -1, 3, -1, -1, -1, -1, 8, -1, -1, 11, + -1, 1299, 1300, 15, 16, 17, 18, 19, 20, 21, + -1, -1, -1, -1, -1, -1, -1, -1, 1316, -1, + -1, 2194, 1320, -1, -1, 37, -1, 1325, -1, -1, + 42, -1, -1, -1, -1, 1333, 48, 300, -1, 2212, + 406, -1, -1, 55, 1342, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2228, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2239, -1, 1366, -1, + 82, -1, -1, -1, 228, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1382, 181, 1384, -1, -1, -1, + -1, 2264, 1390, 1391, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 200, -1, -1, 1405, 1406, 205, + -1, -1, -1, -1, -1, -1, -1, 1415, 1416, -1, + -1, -1, 1420, -1, 1422, 1423, -1, 1425, 1426, -1, + -1, -1, 228, 229, -1, 1433, -1, -1, -1, -1, + -1, -1, -1, 406, -1, -1, 300, -1, 244, -1, + -1, 517, 1450, -1, -1, 1453, -1, -1, 524, 525, + 526, 527, 528, 529, -1, -1, -1, -1, 8, 181, + -1, 11, -1, -1, -1, 15, 16, 17, 18, 19, + 20, 21, -1, -1, -1, -1, -1, 283, 200, -1, + 286, -1, -1, 205, -1, -1, -1, 37, -1, -1, + -1, -1, 42, -1, 300, -1, 8, 303, 48, 11, + -1, -1, -1, -1, 16, 55, 228, 229, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1525, -1, 1527, + 1528, -1, 244, -1, -1, -1, -1, 1535, -1, -1, + -1, -1, 82, -1, -1, 2418, 48, -1, -1, -1, + -1, -1, -1, 55, 517, -1, -1, -1, 1556, -1, + 1558, 524, 525, 526, 527, 528, 529, -1, -1, -1, + -1, 283, -1, -1, 286, -1, -1, -1, -1, -1, + 82, -1, -1, -1, -1, -1, -1, -1, 300, -1, + -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2002, -1, -1, 504, -1, -1, 106, - 2009, -1, 2011, 511, 512, 513, 514, 515, 516, -1, - -1, -1, -1, -1, 2023, -1, -1, -1, -1, 1031, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, - -1, -1, -1, -1, 2043, -1, 2045, -1, -1, 2048, - 2049, -1, 2051, -1, 2053, -1, 2055, 1209, 1210, -1, - 1212, -1, -1, -1, -1, -1, -1, -1, 8, -1, - -1, 11, -1, -1, 396, 15, 16, 17, 18, 19, - 20, 21, -1, -1, -1, -1, -1, -1, -1, 24, - -1, -1, -1, -1, 2093, -1, -1, 37, 2097, -1, - -1, -1, -1, 2102, -1, -1, -1, 204, 48, -1, - -1, 8, -1, -1, 11, 55, -1, -1, 15, 16, + 406, 8, -1, 1611, 11, -1, -1, -1, 15, 16, -1, -1, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 80, -1, 2141, -1, -1, -1, 81, -1, -1, -1, - -1, 48, -1, -1, -1, -1, -1, 254, 55, -1, - -1, -1, 97, -1, -1, 262, 2165, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 274, -1, -1, - -1, -1, 504, 80, -1, -1, -1, 2186, -1, 511, - 512, 513, 514, 515, 516, -1, -1, -1, -1, 296, - -1, -1, -1, -1, 2203, -1, -1, -1, -1, 306, - -1, -1, 147, -1, 1216, -1, -1, -1, -1, -1, - -1, -1, 157, 1225, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 169, -1, -1, 177, -1, 174, - -1, -1, -1, -1, 2243, -1, -1, -1, -1, -1, - 2249, -1, -1, -1, -1, -1, 196, -1, -1, 356, - -1, 201, -1, 360, -1, 362, 2265, -1, -1, -1, - 205, -1, -1, -1, -1, -1, 2275, 2276, 2277, -1, - 177, -1, -1, -1, 224, 225, -1, -1, 385, -1, - -1, -1, -1, 390, -1, -1, -1, -1, -1, 196, - 240, -1, -1, -1, 201, -1, -1, -1, -1, 406, - -1, -1, -1, -1, 249, -1, -1, -1, 253, -1, - 2319, -1, -1, -1, -1, -1, -1, 224, 225, -1, - 2329, -1, -1, -1, -1, -1, 2335, 277, -1, -1, - 280, -1, -1, 240, -1, -1, -1, -1, 2347, 2348, - 2349, 2350, 2351, 1505, 294, -1, -1, 297, -1, -1, - -1, -1, 2361, -1, 2363, -1, 463, 2366, -1, -1, - -1, -1, 2371, -1, -1, -1, -1, -1, -1, -1, - 277, -1, -1, 280, -1, 2384, -1, 322, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 294, -1, -1, - -1, -1, 2401, -1, 339, -1, -1, -1, 2407, -1, - -1, -1, -1, -1, 2413, -1, -1, -1, -1, -1, - 2419, 2420, -1, 2422, -1, -1, -1, -1, -1, -1, - -1, 1583, -1, -1, 1586, -1, -1, -1, 373, 1591, - -1, 376, 1594, -1, -1, -1, -1, 1599, -1, -1, - 385, -1, -1, 388, -1, -1, 396, -1, -1, -1, - -1, -1, -1, -1, 1616, -1, -1, -1, -1, -1, - -1, -1, 2471, 408, -1, -1, -1, -1, -1, -1, - 2479, 2480, 2481, -1, -1, -1, -1, 422, -1, 2488, - -1, -1, 2491, -1, 429, -1, -1, -1, 2497, 396, - -1, -1, -1, -1, 439, -1, -1, -1, -1, -1, - 445, -1, -1, 2512, -1, -1, -1, -1, -1, -1, - -1, -1, 1674, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 473, 2538, - -1, -1, -1, -1, -1, -1, -1, 1549, 1550, -1, - -1, -1, -1, 1555, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 504, -1, -1, 507, 508, 509, - -1, 511, 512, 513, 514, 515, 516, -1, -1, -1, - -1, 521, -1, -1, -1, -1, -1, 27, -1, -1, - -1, -1, -1, 33, -1, -1, -1, 1749, -1, -1, - -1, -1, 42, 2602, -1, -1, -1, 504, -1, 2608, - 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, - -1, -1, 62, -1, -1, 2624, -1, -1, -1, 2628, - -1, -1, -1, 2632, 2633, 2634, -1, -1, -1, 2638, - 2639, 2640, -1, 2642, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2661, -1, 2663, -1, 106, -1, -1, -1, - 2669, -1, -1, 2672, 2673, -1, 2675, 2676, 2677, 2678, - 2679, 2680, 2681, 2682, 2683, 2684, 2685, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 136, -1, -1, -1, - -1, -1, -1, -1, -1, 2704, -1, -1, -1, 2708, - -1, -1, 2711, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2721, -1, -1, -1, -1, 1879, -1, -1, - -1, -1, -1, -1, -1, -1, 1888, -1, 2737, -1, - -1, -1, -1, -1, -1, -1, 2745, -1, -1, -1, - 1752, -1, -1, -1, -1, -1, -1, 2756, -1, -1, - -1, -1, -1, -1, 204, -1, -1, -1, -1, -1, - -1, 2770, -1, -1, 2773, -1, -1, -1, -1, -1, - -1, 2780, 2781, 2782, 2783, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2799, 2800, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 254, -1, 2815, -1, -1, -1, - -1, -1, 262, -1, -1, -1, -1, -1, 2827, -1, - -1, -1, -1, -1, 274, -1, -1, -1, -1, -1, - -1, 2840, -1, -1, -1, -1, 2845, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 296, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 306, -1, -1, -1, - -1, 8, -1, -1, 11, -1, -1, -1, 15, 16, - 2032, -1, 19, 20, 21, -1, 2038, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2896, -1, -1, - 37, 2900, -1, -1, -1, -1, -1, 2906, -1, -1, - -1, 48, -1, -1, -1, -1, 356, -1, 55, -1, - 360, 2920, 362, -1, -1, -1, -1, 2926, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2939, 2940, -1, 80, -1, 385, -1, -1, 2947, -1, - 390, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2964, 406, -1, -1, -1, - 2969, 1973, 1974, 1975, 1976, 1977, 1978, 2129, -1, 1981, - 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, -1, - -1, -1, -1, -1, -1, 2147, 702, -1, -1, -1, - -1, -1, -1, -1, 3003, -1, -1, -1, -1, -1, - -1, 2163, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2174, 463, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 177, -1, -1, 3042, -1, -1, -1, 2199, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3057, 196, - -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, - -1, -1, 3071, -1, -1, -1, -1, -1, 3077, -1, - -1, -1, 3081, -1, -1, -1, -1, 224, 225, -1, - -1, -1, -1, -1, -1, 801, -1, -1, -1, 805, - -1, -1, -1, 240, -1, -1, -1, 3106, -1, -1, - -1, -1, -1, 3112, -1, -1, -1, 3116, -1, -1, - -1, 3120, 2124, 2125, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 277, -1, -1, 280, -1, -1, -1, -1, 3147, -1, - -1, -1, -1, -1, -1, -1, -1, 294, -1, -1, - 297, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3175, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3185, -1, -1, -1, - -1, -1, -1, 2345, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 921, -1, -1, -1, -1, - -1, -1, -1, -1, 3223, -1, -1, -1, -1, 3228, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2246, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 3254, -1, -1, -1, 396, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 8, -1, -1, 11, 3273, 3274, 3275, 15, 16, 17, - 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, - -1, 3290, -1, -1, -1, -1, 3295, -1, 3297, 37, - -1, -1, 3301, -1, -1, -1, -1, -1, -1, -1, - 48, -1, -1, 1019, 1020, -1, 3315, 55, -1, -1, - -1, 1027, -1, -1, 1030, -1, -1, 1033, 1034, 1035, - 1036, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 80, 3342, 3343, -1, -1, 3346, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2516, -1, -1, 504, -1, 1075, - 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1095, - -1, -1, -1, -1, -1, -1, 2548, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1113, -1, -1, - -1, -1, -1, -1, -1, 2567, -1, -1, 1124, 1125, - 1126, -1, 1128, 1129, -1, -1, 3425, -1, -1, -1, - -1, -1, -1, 3432, -1, 3434, -1, -1, -1, 177, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2604, 1159, -1, -1, -1, -1, 196, -1, - -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3472, -1, -1, -1, -1, 2630, -1, - -1, -1, -1, -1, -1, -1, 224, 225, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 240, -1, -1, 1211, -1, -1, -1, 1215, - 1216, 3510, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 8, -1, 1230, 11, -1, -1, -1, 15, - 16, 17, 18, 19, 20, 21, -1, -1, -1, 277, - 2542, 2543, 280, -1, -1, -1, -1, -1, 3547, -1, - -1, 37, -1, 2705, -1, -1, 294, -1, -1, 297, - -1, -1, 48, -1, -1, -1, -1, -1, -1, 55, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2732, -1, -1, 2735, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 80, 2597, -1, -1, -1, 8, - -1, 3600, 11, 3602, -1, -1, 15, 16, 17, 18, - 19, 20, 21, -1, -1, 3614, 3615, -1, -1, 3618, - -1, -1, -1, -1, -1, -1, -1, 3626, 37, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, - 2792, -1, -1, -1, -1, -1, 55, -1, -1, -1, - 3649, -1, -1, -1, 1360, -1, -1, -1, 396, 3658, - -1, -1, 3661, 1369, -1, -1, 3665, -1, 3667, -1, - -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1393, -1, -1, - 3689, 177, -1, -1, -1, 2847, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 196, -1, -1, -1, -1, 201, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1436, -1, -1, -1, -1, -1, -1, -1, 224, 225, - -1, -1, -1, -1, 2896, -1, -1, -1, -1, -1, - -1, -1, 3751, -1, 240, -1, -1, -1, -1, 3758, - -1, -1, -1, -1, -1, 2767, 504, -1, 177, 507, - 508, 509, -1, 511, 512, 513, 514, 515, 516, -1, - -1, -1, 3781, 521, -1, -1, -1, 196, -1, -1, - 2792, 277, 201, -1, 280, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 294, -1, - -1, 297, -1, 3812, 2816, 224, 225, -1, -1, -1, - -1, -1, -1, 1529, -1, -1, -1, 3826, -1, -1, - -1, 240, -1, -1, 3833, -1, -1, -1, -1, -1, - -1, -1, 3841, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1562, 1563, 1564, 1565, - -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, - -1, 280, -1, -1, -1, -1, -1, -1, 2880, 2881, - 2882, 2883, -1, -1, -1, 294, -1, -1, 297, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3058, -1, -1, -1, - 396, -1, -1, 1619, 1620, -1, -1, -1, 1624, -1, - 1626, -1, -1, 1629, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2941, - -1, -1, -1, -1, 3096, -1, 1652, -1, 1654, -1, - -1, -1, -1, -1, 1660, 1661, 1662, 1663, 1664, 1665, - 1666, 1667, -1, -1, -1, -1, 1672, 1673, -1, -1, - -1, 1677, -1, -1, -1, 1681, -1, -1, 1684, 1685, - 1686, 1687, 1688, 1689, 1690, 1691, 1692, 396, -1, 1695, - -1, -1, -1, -1, -1, -1, -1, -1, 1704, -1, + 37, 181, -1, -1, -1, -1, -1, -1, 150, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 504, 1725, - -1, 507, 508, 509, -1, 511, 512, 513, 514, 515, - 516, -1, -1, -1, -1, 521, 3188, -1, -1, -1, + 200, -1, -1, -1, -1, 205, 520, 521, 522, 1667, + 524, 525, 526, 527, 528, 529, -1, -1, -1, 181, + 1678, -1, -1, -1, -1, -1, -1, -1, 228, 229, + -1, -1, -1, -1, 406, 1693, -1, -1, 200, -1, + -1, -1, -1, 205, 244, -1, -1, 1705, -1, -1, + -1, -1, -1, -1, -1, -1, 1714, 2590, -1, 1717, + -1, 517, -1, -1, 520, 521, 522, -1, 524, 525, + 526, 527, 528, 529, -1, -1, -1, -1, -1, -1, + -1, 537, 244, 283, -1, -1, 286, -1, -1, -1, + 2623, -1, 1750, -1, -1, -1, -1, -1, -1, -1, + 300, -1, -1, 303, -1, -1, 1764, -1, 1766, 2642, + 1768, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1783, 1784, -1, 8, -1, + -1, 11, -1, -1, -1, 15, 16, -1, 300, 19, + 20, 21, -1, -1, -1, 517, 2679, -1, 520, 521, + 522, -1, 524, 525, 526, 527, 528, 529, -1, -1, + -1, -1, -1, 1821, -1, 1823, -1, -1, -1, -1, + -1, 228, 2705, -1, -1, -1, -1, -1, -1, 1837, + 1838, -1, -1, -1, -1, 1843, -1, -1, -1, -1, + 1848, 1849, 1850, 1851, 1852, 1853, 1854, -1, -1, -1, + -1, 1859, -1, 1861, -1, -1, 406, -1, -1, -1, + -1, -1, -1, -1, -1, 1873, 1874, -1, -1, -1, + 1878, 1879, -1, -1, -1, 1883, 1884, 1885, 1886, -1, + 1888, 1889, -1, -1, -1, -1, -1, -1, -1, -1, + 1898, -1, -1, 300, 406, -1, -1, 1905, -1, -1, + -1, 2784, -1, -1, -1, -1, 1914, 1915, 1916, 1917, + 1918, -1, -1, -1, 1922, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1936, 2812, + -1, -1, 2815, -1, 1942, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1953, -1, -1, -1, -1, + 1958, -1, -1, -1, -1, -1, -1, 1965, -1, -1, + -1, -1, -1, -1, -1, -1, 1974, 517, -1, -1, + 520, 521, 522, -1, 524, 525, 526, 527, 528, 529, + -1, -1, 2865, 1991, 534, -1, -1, -1, -1, -1, + 8, -1, -1, 11, -1, 2003, -1, 15, 16, 17, + 18, 19, 20, 21, -1, 517, -1, -1, -1, -1, + -1, -1, 524, 525, 526, 527, 528, 529, -1, 37, + -1, -1, -1, -1, -1, 2033, -1, -1, -1, -1, + 48, -1, 2040, -1, 2042, 8, -1, 55, 11, -1, + -1, -1, -1, 16, -1, -1, 2054, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2940, -1, -1, + -1, -1, -1, -1, 82, -1, 2074, -1, 2076, -1, + 300, 2079, 2080, -1, -1, 48, 2084, -1, 2086, -1, + 2088, 2089, 55, 8, -1, -1, 11, -1, -1, -1, + 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, + 2108, -1, -1, -1, -1, -1, 2989, -1, -1, 82, + -1, -1, 37, 520, 521, 522, -1, 524, 525, 526, + 527, 528, 529, 48, -1, -1, -1, -1, 8, -1, + 55, 11, -1, -1, -1, 15, 16, -1, 1079, 19, + 20, 21, -1, -1, -1, -1, -1, -1, -1, 2157, + -1, -1, -1, 2161, -1, -1, -1, 82, 2166, -1, + -1, -1, -1, 181, -1, -1, 8, -1, 48, 11, + -1, -1, -1, 15, 16, 55, -1, 19, 20, 21, + -1, -1, 200, -1, -1, -1, -1, 205, -1, -1, + -1, -1, -1, -1, -1, 37, -1, -1, 2206, -1, + -1, -1, 82, -1, -1, -1, -1, -1, 181, -1, + 228, 229, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 2230, -1, -1, -1, 244, 200, -1, -1, + -1, -1, 205, -1, -1, -1, -1, -1, -1, -1, + -1, 8, -1, 2251, 11, -1, -1, -1, 15, 16, + -1, -1, 19, 20, 21, -1, 181, -1, -1, -1, + 2268, -1, -1, -1, -1, 283, -1, -1, 286, -1, + 37, 244, -1, 3156, -1, 200, -1, -1, -1, -1, + 205, -1, 300, -1, -1, 303, -1, -1, -1, -1, + 520, 521, 522, -1, 524, 525, 526, 527, 528, 529, + 2308, 181, -1, 228, 229, -1, 2314, -1, -1, -1, + -1, 3194, -1, -1, -1, -1, -1, -1, -1, 244, + 200, -1, 2330, -1, -1, 205, 1267, 300, -1, -1, + -1, -1, 2340, 2341, 2342, 1276, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 228, 229, + -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, + -1, 286, -1, -1, 244, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 300, -1, 2385, 303, -1, + -1, -1, -1, -1, -1, -1, 228, -1, 406, -1, + -1, -1, -1, 2401, -1, -1, -1, -1, -1, 2407, + -1, -1, -1, 283, -1, -1, 286, -1, -1, -1, + 3293, -1, 2420, 2421, 2422, 2423, 2424, -1, -1, -1, + 300, -1, -1, -1, -1, -1, 2434, -1, 2436, -1, + -1, 2439, -1, 406, -1, 2443, -1, 2445, -1, 2447, + -1, -1, -1, -1, -1, 2453, -1, -1, -1, -1, + -1, 2459, -1, -1, -1, -1, -1, 2465, 300, -1, + -1, 228, -1, 2471, 2472, -1, 2474, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1763, 1764, -1, + -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, + -1, -1, 520, 521, 522, -1, 524, 525, 526, 527, + 528, 529, 3395, 3396, -1, 2523, 534, -1, -1, -1, + -1, -1, -1, 2531, 2532, 2533, 406, -1, -1, -1, + -1, -1, 2540, 300, -1, 2543, -1, -1, -1, -1, + -1, 2549, -1, -1, 517, -1, -1, -1, -1, 2557, + -1, 524, 525, 526, 527, 528, 529, -1, -1, -1, + -1, -1, -1, 1504, 1505, -1, -1, -1, -1, 1510, + -1, -1, -1, -1, 2582, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1031, -1, -1, -1, -1, -1, -1, 3080, -1, + -1, -1, 517, -1, -1, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, 2613, -1, -1, -1, 534, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 504, -1, -1, 507, 508, - 509, -1, 511, 512, 513, 514, 515, 516, -1, -1, - -1, -1, 521, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3286, 3287, -1, -1, -1, -1, - -1, -1, 1848, -1, -1, -1, 1852, -1, -1, 1855, - 1856, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3517, -1, -1, 517, -1, -1, + 520, 521, 522, -1, 524, 525, 526, 527, 528, 529, + -1, -1, 3535, -1, 3537, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 2677, + -1, -1, -1, -1, -1, 2683, -1, -1, 520, 521, + 522, -1, 524, 525, 526, 527, 528, 529, -1, -1, + -1, 2699, -1, -1, -1, 2703, -1, -1, -1, 2707, + 2708, 2709, -1, -1, 3587, 2713, 2714, 2715, -1, 2717, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3176, 3177, 3178, 3179, 3180, 3181, - 3182, -1, -1, -1, 3186, 3187, 1892, -1, 1148, 3191, - -1, -1, 3194, -1, 1900, 3197, 3198, 3199, 3200, 3201, - 3202, 3203, 3204, 3205, 3206, -1, -1, -1, -1, 8, + 3603, -1, 887, -1, 3607, -1, -1, -1, 2736, -1, + 2738, -1, -1, -1, -1, -1, 2744, -1, -1, 2747, + 2748, -1, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, + 2758, 2759, 2760, 520, 521, 522, -1, 524, 525, 526, + 527, 528, 529, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2783, -1, -1, -1, -1, + 2788, -1, -1, 2791, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 2801, -1, -1, -1, 8, -1, -1, + 11, -1, -1, -1, 15, 16, -1, -1, 19, 20, + 21, 2819, -1, -1, -1, -1, -1, -1, -1, 24, + -1, 2829, -1, 988, -1, -1, 37, 992, 993, -1, + -1, -1, -1, -1, -1, 2843, -1, -1, 2846, -1, + -1, -1, -1, -1, -1, 2853, 2854, 2855, 2856, -1, + -1, -1, 24, -1, -1, 1796, -1, -1, -1, -1, + -1, -1, -1, -1, 2872, 2873, -1, -1, -1, -1, + -1, -1, -1, 2881, -1, -1, -1, -1, 83, -1, + -1, -1, 1047, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, + 2908, -1, 1067, 1068, -1, -1, -1, -1, -1, -1, + 1075, 83, 2920, 1078, -1, 3798, 1081, 1082, 1083, 1084, + -1, -1, -1, -1, -1, 2933, -1, 99, -1, -1, + 2938, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 151, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 161, 1122, 1123, -1, + -1, -1, -1, -1, -1, -1, -1, 3850, 173, -1, + -1, -1, -1, 178, -1, -1, -1, -1, 1143, 151, + -1, 2989, -1, -1, -1, 2993, -1, -1, -1, 161, + -1, 2999, -1, -1, -1, -1, -1, 1162, -1, -1, + -1, 173, -1, -1, 209, 3013, 178, -1, 1173, 1174, + 1175, 3019, 1177, 1178, -1, -1, -1, 228, -1, -1, + -1, -1, -1, -1, 3032, 3033, -1, -1, -1, -1, + -1, -1, 3040, -1, -1, -1, -1, 209, -1, -1, + -1, -1, -1, -1, 1209, -1, -1, -1, 253, 3057, + -1, -1, 257, -1, 3062, -1, -1, -1, -1, -1, + -1, 1226, 1227, 2004, 2005, 2006, 2007, 2008, 2009, -1, + -1, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, + 2021, 253, -1, -1, -1, 257, -1, -1, 3096, 300, + -1, -1, -1, -1, -1, -1, -1, 1262, -1, -1, + -1, 1266, 1267, -1, -1, -1, -1, -1, -1, -1, + 8, -1, -1, 11, -1, -1, 1281, 15, 16, 17, + 18, 19, 20, 21, -1, 330, -1, -1, 3136, -1, + -1, 3139, -1, -1, -1, -1, 3144, -1, -1, 37, + -1, -1, 347, -1, -1, -1, -1, 3155, -1, -1, + 48, -1, 324, -1, -1, -1, -1, 55, 330, -1, + -1, -1, -1, 3171, -1, -1, -1, 3175, 1333, -1, + -1, 3179, -1, -1, 346, 347, 381, 1342, -1, 384, + -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, + 395, -1, -1, 398, -1, -1, 3204, -1, -1, -1, + -1, 1366, 3210, -1, -1, -1, 3214, -1, -1, 381, + 3218, -1, 384, 418, -1, 3223, -1, -1, -1, -1, + -1, -1, -1, 395, -1, -1, 398, 432, -1, -1, + -1, -1, -1, -1, 439, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3252, 450, 418, -1, 2189, 2190, + -1, 456, -1, -1, -1, -1, -1, -1, -1, -1, + 432, -1, -1, -1, -1, -1, 438, 439, -1, -1, + -1, -1, 3280, -1, -1, -1, -1, -1, 450, 484, + -1, -1, 3290, 181, 456, -1, -1, -1, -1, -1, + -1, 1456, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 200, -1, -1, -1, -1, 205, -1, 520, + 521, 522, 484, 524, 525, 526, 527, 528, 529, -1, + 3328, -1, -1, -1, -1, 3333, -1, -1, -1, -1, + 228, 229, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 244, -1, -1, -1, + -1, 3359, 1517, 1518, 1519, 1520, -1, -1, -1, 27, + -1, -1, -1, -1, -1, 33, -1, -1, -1, -1, + 2311, 3379, 3380, 3381, 42, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 283, -1, -1, 286, -1, + -1, -1, 3400, -1, 62, -1, -1, 3405, -1, 3407, + -1, -1, 300, 3411, -1, 303, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3425, 3426, 8, -1, -1, 11, -1, -1, -1, 15, 16, 17, 18, - 19, 20, 21, -1, -1, -1, -1, -1, 1934, 1935, - -1, 1191, -1, -1, -1, -1, -1, -1, 37, -1, + 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, + 108, -1, -1, -1, -1, 3453, 3454, -1, 37, 3457, -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, - -1, -1, 3404, -1, -1, -1, 55, -1, 1964, 1965, - -1, 1967, -1, -1, -1, 1225, -1, -1, -1, -1, - 3422, -1, 3424, -1, -1, -1, -1, -1, -1, -1, - -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, - 1996, 1997, -1, -1, 2000, -1, -1, -1, -1, -1, - -1, 2007, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1275, -1, -1, -1, -1, - -1, 3473, -1, 2029, -1, -1, -1, -1, 2034, -1, - -1, -1, -1, -1, -1, -1, 3338, 3489, -1, -1, - -1, 3493, -1, -1, -1, -1, -1, 2053, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 2064, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, - -1, -1, -1, 3385, 3386, -1, -1, -1, -1, 2095, - -1, -1, -1, -1, 2100, 2101, -1, 196, -1, 3401, - -1, 3403, 201, 3405, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 55, -1, 70, 71, + -1, -1, 140, -1, -1, -1, -1, -1, -1, 1644, + 1645, -1, -1, -1, -1, -1, -1, -1, 1653, 1654, + -1, -1, -1, 82, -1, -1, 1661, -1, -1, -1, + -1, -1, -1, 1668, -1, -1, -1, -1, 406, 111, + 112, -1, -1, 115, 116, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2129, -1, 224, 225, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2143, -1, 1399, - 2146, 240, 2148, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 2164, -1, - -1, -1, -1, -1, -1, 2171, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, - -1, 280, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 294, -1, -1, 297, -1, - -1, -1, -1, -1, -1, -1, 2212, -1, -1, -1, + 3538, -1, 1697, -1, -1, 1700, -1, 3545, -1, 3547, + 208, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, -1, + -1, -1, -1, 1718, 1719, -1, -1, -1, 1723, -1, + -1, -1, 1727, -1, -1, 1730, 1731, 1732, 1733, 1734, + 1735, 1736, 1737, 1738, -1, -1, 1741, -1, 3586, 3, + -1, 5, -1, -1, -1, 1750, -1, -1, -1, -1, + 258, -1, 181, 195, 196, -1, -1, -1, -1, -1, + 268, -1, -1, -1, 1769, -1, -1, -1, -1, -1, + -1, 200, 280, -1, -1, -1, 205, 3625, -1, 517, + -1, -1, 520, 521, 522, -1, 524, 525, 526, 527, + 528, 529, -1, -1, 302, -1, 534, -1, -1, 228, + 229, -1, 1807, 1808, -1, 313, 70, 71, -1, -1, + -1, -1, -1, -1, 3662, 244, -1, -1, 260, 261, + 262, 263, 264, 265, 266, 267, -1, -1, 270, 271, + -1, -1, 8, -1, -1, 11, 2617, 2618, -1, 15, + 16, 17, 18, 19, 20, 21, -1, 111, 112, -1, + -1, 115, 116, -1, 283, -1, 364, 286, -1, -1, + 368, 37, 370, -1, -1, -1, -1, 3715, -1, 3717, + -1, 300, 48, -1, 303, -1, -1, -1, -1, 55, + -1, -1, 3730, 3731, -1, -1, 3734, 395, -1, 1894, + -1, 2672, 400, 1898, 3742, -1, 1901, 1902, -1, -1, + -1, -1, -1, -1, -1, -1, 82, -1, 416, -1, + -1, -1, -1, -1, -1, -1, -1, 3765, -1, -1, + -1, -1, -1, -1, -1, -1, 3774, -1, -1, 3777, + -1, 195, 196, 3781, -1, 3783, -1, 1942, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 389, 390, -1, + -1, -1, -1, -1, -1, -1, -1, 3805, -1, -1, + 1965, 1966, -1, -1, -1, -1, 474, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2229, 2230, -1, -1, 3529, -1, -1, - 3682, -1, -1, -1, 3536, -1, -1, 3539, 3540, -1, - -1, -1, -1, 1503, -1, -1, 3548, -1, 3550, 3551, - -1, 2257, -1, 3555, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1527, -1, -1, + 1995, 1996, -1, 1998, -1, -1, 260, 261, 262, 263, + 264, 265, 266, 267, -1, 181, 270, 271, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3733, -1, -1, -1, 1545, -1, 1547, -1, 1549, - 1550, -1, 1552, -1, -1, 1555, -1, 396, 1558, -1, - -1, 1561, -1, -1, -1, -1, 1566, 2313, -1, 1569, - -1, -1, -1, 2319, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3644, 3645, -1, -1, 3648, -1, -1, -1, - 3652, -1, -1, 3655, 3656, -1, -1, -1, -1, -1, - -1, -1, 1622, 2369, -1, -1, -1, 1627, -1, -1, - 1630, 1631, 1632, -1, -1, -1, 1636, -1, -1, -1, - 1640, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 504, -1, -1, 507, 508, - 509, -1, 511, 512, 513, 514, 515, 516, -1, -1, - -1, -1, 521, -1, 3726, 3727, -1, -1, 3730, -1, - -1, -1, -1, -1, 1031, -1, -1, -1, -1, -1, - -1, 1701, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 8, -1, -1, 11, -1, -1, -1, 15, 16, - 17, 18, 19, 20, 21, -1, 1746, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2505, - 37, -1, 1762, 2509, 2510, -1, -1, 1767, -1, -1, - 2516, 48, -1, -1, -1, -1, -1, -1, 55, -1, - 2526, -1, -1, 2529, 1784, 2531, -1, -1, -1, -1, - -1, -1, -1, 2539, -1, -1, -1, -1, -1, -1, - -1, 2547, 2548, 80, -1, -1, -1, -1, 2554, -1, + 3868, -1, 2027, 2028, 200, -1, 2031, 3875, -1, 205, + -1, 1079, -1, 2038, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 489, 490, -1, + -1, 3899, 228, 229, -1, 2060, -1, -1, -1, 2840, + 2065, -1, -1, -1, -1, -1, -1, -1, 244, -1, + -1, 513, 514, -1, -1, -1, -1, 2082, -1, 2084, + -1, -1, -1, -1, 2865, -1, 3934, -1, 517, -1, + -1, 520, 521, 522, -1, 524, 525, 526, 527, 528, + 529, -1, -1, -1, 3952, 534, -1, 283, -1, -1, + 286, -1, -1, 3961, 2119, 2120, -1, 1079, -1, -1, + -1, 3969, -1, -1, 300, 389, 390, 303, 2909, -1, + -1, -1, -1, -1, -1, -1, 8, -1, -1, 11, + -1, -1, -1, 15, 16, 17, 18, 19, 20, 21, + -1, -1, -1, -1, 2159, -1, -1, -1, -1, 2164, + 2165, -1, -1, -1, -1, 37, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 48, -1, -1, -1, + -1, -1, -1, 55, -1, -1, -1, -1, -1, 2194, + -1, -1, 2973, 2974, 2975, 2976, -1, -1, -1, -1, + -1, -1, -1, 2208, -1, -1, 2211, -1, 2213, -1, + 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2229, 489, 490, -1, 1276, -1, + 406, 2236, -1, -1, -1, -1, 1198, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 513, + 514, -1, -1, 3034, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 8, -1, -1, 11, -1, -1, -1, + 15, 16, 2277, -1, 19, 20, 21, -1, -1, 1241, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 2294, + 2295, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 48, -1, -1, -1, -1, -1, 181, + 55, -1, -1, -1, 1276, -1, -1, 2322, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 200, -1, + -1, -1, -1, 205, -1, -1, -1, 82, -1, -1, + -1, 517, -1, -1, 520, 521, 522, -1, 524, 525, + 526, 527, 528, 529, -1, -1, 228, 229, 534, -1, + -1, -1, -1, -1, -1, 1327, -1, -1, -1, -1, + -1, -1, 244, -1, 2379, -1, -1, -1, -1, -1, + 2385, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1372, 283, -1, -1, 286, 1377, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 300, -1, + -1, 303, -1, -1, -1, -1, 181, 2442, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, - 11, -1, -1, -1, 15, 16, 17, 18, 19, 20, - 21, -1, -1, -1, 2600, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2610, -1, 37, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 48, -1, -1, - -1, -1, -1, -1, 55, -1, -1, -1, 1225, -1, + -1, -1, -1, -1, -1, 200, 1504, 1505, -1, -1, + 205, -1, 1510, -1, -1, -1, -1, 1429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 177, -1, -1, -1, -1, -1, -1, -1, -1, 80, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 196, - -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, + -1, -1, -1, 228, 229, -1, -1, -1, -1, -1, + -1, -1, 1454, -1, -1, -1, -1, -1, -1, 244, + 3281, 3282, 3283, 3284, 3285, 3286, 3287, -1, -1, -1, + 3291, 3292, -1, -1, -1, 3296, -1, -1, 3299, -1, + -1, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, + 3311, -1, -1, -1, 406, -1, -1, -1, 1500, -1, + 1502, 286, 1504, 1505, -1, 1507, -1, -1, 1510, -1, + -1, 1513, -1, -1, 1516, 300, -1, -1, -1, 1521, + -1, -1, 1524, -1, -1, -1, -1, -1, 2573, -1, + -1, -1, -1, -1, 2579, 2580, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2590, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2601, -1, -1, 2604, + -1, 2606, 1564, -1, -1, -1, -1, -1, -1, 2614, + -1, -1, -1, -1, -1, -1, -1, 2622, 2623, -1, + -1, -1, -1, -1, 2629, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2686, -1, 2688, -1, -1, -1, -1, 224, 225, -1, + -1, -1, -1, -1, -1, 517, -1, -1, 520, 521, + 522, -1, 524, 525, 526, 527, 528, 529, -1, -1, + -1, 406, 534, -1, -1, -1, -1, -1, 3449, -1, + 2675, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2685, -1, -1, -1, -1, -1, -1, 1649, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1746, -1, + -1, -1, -1, 1665, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1675, 1676, 1677, -1, 3498, 3499, 1681, + -1, -1, -1, 1685, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3514, -1, 3516, -1, 3518, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1796, -1, + -1, -1, -1, -1, -1, -1, -1, 2762, -1, 2764, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1962, 240, -1, -1, -1, -1, -1, -1, - 1970, 1971, -1, 1973, 1974, 1975, 1976, 1977, 1978, -1, - -1, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, - 1990, 1991, -1, -1, -1, -1, -1, -1, -1, -1, - 277, -1, -1, 280, -1, -1, 177, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 294, -1, -1, - 297, -1, -1, -1, -1, 196, -1, -1, -1, -1, - 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 2787, 2788, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 224, 225, -1, -1, -1, 2804, -1, - -1, -1, -1, -1, -1, -1, -1, 2067, 2068, 240, - 2816, -1, -1, -1, -1, 2821, 2822, -1, -1, -1, - 2826, -1, -1, -1, -1, 2831, -1, -1, 2834, 2835, - -1, -1, -1, 2839, 2840, -1, -1, 2843, -1, -1, - -1, -1, -1, -1, -1, -1, 277, 2107, -1, 280, - -1, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 396, - -1, -1, -1, 294, 2124, 2125, 297, 2127, 2128, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2139, - -1, -1, 2142, -1, -1, -1, -1, -1, -1, -1, - 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, + -1, -1, 517, -1, -1, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, 1747, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2185, -1, 2933, -1, -1, + -1, -1, -1, 8, -1, -1, 11, -1, -1, -1, + 15, 16, 17, 18, 19, 20, 21, -1, 1790, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, -1, 1806, -1, -1, -1, -1, 1811, + -1, -1, -1, 48, -1, 2860, 2861, -1, -1, -1, + 55, -1, -1, 3644, -1, -1, 1828, -1, -1, -1, + 3651, -1, -1, 3654, 3655, -1, -1, -1, -1, -1, + -1, -1, 3663, -1, 3665, 3666, -1, 82, -1, 3670, + 2895, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2909, -1, -1, -1, -1, 2914, + 2915, -1, -1, -1, 2919, -1, -1, -1, -1, 2924, + -1, -1, 2927, 2928, -1, -1, -1, 2932, 2933, -1, + -1, 2936, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1549, 1550, 2960, -1, -1, -1, 1555, -1, - -1, -1, -1, -1, -1, 396, -1, 504, -1, -1, - 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, - -1, -1, -1, -1, 521, -1, 2246, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2004, 2005, 2006, 2007, + 2008, 2009, -1, -1, 2012, 2013, 2014, 2015, 2016, 2017, + 2018, 2019, 2020, 2021, -1, -1, -1, -1, -1, 3760, + 3761, -1, -1, 3764, -1, -1, 181, 3768, -1, -1, + 3771, 3772, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 200, -1, -1, -1, -1, + 205, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3026, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1993, -1, 228, 229, -1, -1, -1, -1, 2001, + 2002, -1, 2004, 2005, 2006, 2007, 2008, 2009, 3053, 244, + 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, + 2022, -1, 3843, 3844, -1, -1, 3847, -1, -1, -1, + -1, -1, -1, 8, -1, -1, 11, -1, -1, -1, + 15, 16, 17, 18, 19, 20, 21, -1, 283, -1, + -1, 286, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, -1, -1, 300, -1, -1, 303, -1, + -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3143, -1, + -1, 2189, 2190, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2123, -1, -1, 2126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3194, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3214, + 2172, 406, -1, -1, 2176, 2177, 2178, 2179, 2180, 2181, + 2182, 2183, -1, 3228, -1, -1, -1, 2189, 2190, -1, + 2192, 2193, -1, -1, 3239, 3240, -1, -1, 3243, -1, + 3245, -1, 2204, -1, -1, 2207, 181, -1, -1, -1, + -1, -1, -1, 2215, 2216, 2217, 2218, 2219, 2220, 2221, + 2222, 2223, 2224, 2311, -1, 200, -1, -1, -1, -1, + 205, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 2250, -1, + -1, -1, -1, 228, 229, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 244, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3324, + -1, -1, 517, -1, -1, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, -1, -1, -1, -1, 534, + -1, -1, -1, 3348, -1, -1, -1, -1, 283, 2311, + -1, 286, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 300, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 8, -1, -1, 11, -1, -1, -1, + 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3046, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2314, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2324, 2325, -1, -1, -1, -1, - -1, -1, -1, 504, -1, -1, 507, 508, 509, -1, - 511, 512, 513, 514, 515, 516, -1, -1, 519, -1, - 3096, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1700, -1, -1, -1, -1, -1, -1, - 3116, -1, -1, -1, -1, -1, -1, 3123, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3134, 3135, - -1, -1, 3138, -1, 3140, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2404, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1752, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 2426, 2427, 2428, -1, - -1, 2431, 2432, 2433, 2434, 2435, 2436, -1, -1, -1, - 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, - -1, -1, -1, -1, 2454, 2455, -1, -1, -1, -1, + -1, -1, 37, -1, -1, -1, -1, -1, 2380, 3424, + -1, -1, -1, 48, -1, -1, -1, -1, 2390, 2391, + 55, -1, -1, -1, 3439, -1, 3441, -1, 3443, -1, + -1, -1, 3447, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 3463, -1, + -1, -1, -1, 3468, -1, 3470, -1, -1, -1, -1, + -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3219, -1, -1, -1, -1, -1, -1, - -1, -1, 2482, -1, -1, -1, -1, 2487, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3243, -1, -1, - -1, -1, -1, -1, 2504, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2517, -1, -1, - 2520, 2521, -1, 8, -1, -1, 11, 2527, 2528, -1, - 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, - -1, 2541, 2542, 2543, 2544, -1, 2546, -1, -1, -1, - 2550, -1, 37, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 48, -1, -1, -1, -1, 3314, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3328, -1, 3330, -1, 3332, -1, -1, -1, - 3336, -1, -1, -1, -1, 80, -1, -1, -1, -1, - -1, -1, -1, -1, 3350, -1, -1, -1, -1, 3355, - -1, 3357, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2456, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2635, 1973, 1974, 1975, 1976, - 1977, 1978, -1, -1, 1981, 1982, 1983, 1984, 1985, 1986, - 1987, 1988, 1989, 1990, -1, -1, -1, 8, -1, -1, - 11, -1, -1, -1, 15, 16, 17, 18, 19, 20, + -1, -1, -1, -1, -1, -1, 2478, 2479, 2480, -1, + -1, 2483, 2484, 2485, 2486, 2487, 2488, -1, -1, -1, + 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, + -1, -1, -1, -1, 2506, 2507, -1, 3552, -1, -1, + -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 2617, + 2618, -1, 2534, -1, -1, 200, -1, 2539, -1, -1, + 205, -1, 517, -1, -1, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, -1, -1, -1, -1, 534, + -1, -1, -1, 228, 229, -1, 3611, -1, -1, -1, + 2572, -1, -1, -1, -1, -1, 3621, -1, -1, 244, + -1, -1, -1, -1, 2672, -1, -1, -1, -1, 2591, + -1, -1, 2594, 2595, -1, -1, -1, -1, -1, -1, + 2602, 2603, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2616, 2617, 2618, 2619, 283, 2621, + -1, 286, -1, 2625, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 300, -1, -1, 303, -1, + -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, + 11, 3696, -1, -1, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, - -1, -1, 177, 3439, -1, -1, -1, 48, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, - -1, 196, -1, -1, -1, -1, 201, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, - -1, -1, -1, -1, -1, -1, 2736, -1, -1, 224, - 225, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3496, -1, -1, -1, -1, 240, -1, -1, -1, -1, - 3506, -1, -1, -1, -1, -1, 8, 2767, -1, 11, - -1, -1, -1, -1, 16, -1, -1, 19, 20, 21, - -1, -1, -1, -1, -1, -1, -1, 2124, 2125, -1, - -1, -1, 277, -1, -1, 280, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2805, 48, 2807, -1, 294, - -1, 2811, 297, 55, -1, -1, -1, -1, -1, -1, - 2820, -1, -1, 2823, -1, 2825, 177, -1, -1, 2829, - -1, -1, 2832, 2833, -1, 3581, 2836, 2837, 80, -1, - -1, -1, -1, -1, 2844, 196, -1, -1, -1, -1, - 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 224, 225, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2884, -1, -1, 3633, 2888, 240, + -1, -1, -1, -1, 3749, -1, -1, -1, 2710, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2903, -1, -1, -1, -1, -1, 2246, - -1, 396, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 277, -1, -1, 280, - -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, - -1, 2941, -1, 294, -1, -1, 297, -1, -1, -1, - -1, -1, -1, -1, 196, -1, -1, -1, -1, 201, - -1, -1, -1, -1, -1, 3711, 3712, -1, -1, -1, + -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 224, 225, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 240, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3762, -1, -1, 504, - -1, -1, 507, 508, 509, -1, 511, 512, 513, 514, - 515, 516, -1, -1, -1, 277, 521, -1, 280, -1, - -1, -1, -1, -1, -1, 396, -1, -1, -1, -1, - -1, -1, 294, -1, -1, -1, -1, -1, -1, 8, - -1, -1, 11, -1, -1, -1, 15, 16, 17, 18, - 19, 20, 21, -1, 3820, -1, -1, -1, -1, 3079, - 3080, -1, -1, -1, -1, -1, -1, -1, 37, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, - -1, -1, -1, -1, 3104, 3105, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3122, -1, -1, -1, 3126, -1, 3128, 3129, - 3130, 80, -1, 3133, -1, -1, 3136, 3137, -1, -1, - -1, -1, -1, -1, -1, 3145, -1, -1, -1, -1, - -1, -1, -1, 504, 396, -1, 507, 508, 509, -1, - 511, 512, 513, 514, 515, 516, -1, -1, -1, -1, - 521, 3171, 3172, 3173, 3174, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2542, 2543, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3240, -1, -1, -1, -1, -1, 3246, 196, -1, -1, - -1, -1, 201, -1, -1, -1, -1, -1, -1, 3259, - 2597, -1, 504, -1, -1, 507, 508, 509, -1, 511, - 512, 513, 514, 515, 516, 224, 225, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3288, -1, - -1, 240, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 2840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2865, -1, -1, + -1, -1, 3827, 3828, 3829, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3320, -1, -1, -1, -1, -1, -1, -1, 277, -1, - -1, 280, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 294, -1, -1, 297, -1, - -1, -1, 3352, 3353, 3354, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3377, 3378, 3379, - 3380, 3381, 3382, 3383, -1, 3385, 3386, -1, 3388, 3389, - -1, -1, -1, -1, -1, -1, -1, -1, 3398, -1, - 3400, -1, -1, -1, -1, -1, -1, 3407, 3408, 3409, - 3410, 3411, 3412, 3413, 3414, 3415, 3416, -1, -1, -1, - -1, -1, -1, -1, 8, -1, -1, 11, 3428, -1, - 2767, 15, 16, 17, 18, 19, 20, 21, -1, -1, - 3440, -1, -1, -1, -1, -1, -1, 396, -1, -1, - -1, -1, -1, 37, -1, 2792, -1, -1, -1, -1, - -1, -1, -1, -1, 48, -1, -1, -1, -1, -1, - 8, 55, -1, 11, -1, -1, -1, 15, 16, 17, - 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3494, -1, 80, -1, -1, 37, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 48, 3511, -1, -1, -1, -1, -1, 55, -1, -1, - -1, 3521, -1, -1, -1, -1, -1, -1, -1, 3529, - -1, -1, -1, -1, -1, -1, -1, 3537, 3538, -1, - -1, -1, 80, 2880, 2881, 2882, 2883, -1, -1, 3549, - 3550, 3551, 3552, -1, 3554, 504, -1, -1, 507, 508, - 509, -1, 511, 512, 513, 514, 515, 516, -1, -1, - -1, -1, 521, -1, -1, -1, 3576, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2941, -1, -1, -1, -1, -1, - -1, -1, 196, 3613, -1, -1, -1, 201, -1, -1, - 8, -1, -1, 11, -1, -1, -1, 15, 16, 17, - 18, 19, 20, 21, -1, -1, -1, -1, 3638, 177, - 224, 225, -1, 3643, -1, -1, 3646, 3647, -1, 37, - -1, 3651, -1, 3653, 3654, -1, 240, 3657, 196, -1, - 48, -1, -1, 201, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, 2816, -1, -1, -1, -1, -1, + 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3879, -1, -1, -1, 2840, 200, + -1, -1, -1, -1, 205, -1, -1, -1, -1, -1, + -1, -1, 517, -1, -1, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, -1, -1, 228, 229, 534, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3680, -1, -1, -1, -1, -1, 224, 225, -1, -1, - -1, -1, 80, 277, -1, -1, 280, -1, -1, -1, - -1, -1, 240, -1, -1, -1, -1, -1, -1, -1, - 294, -1, -1, 297, -1, -1, -1, -1, -1, -1, - 3720, 3721, 3722, -1, 8, 3725, -1, 11, 3728, 3729, - -1, 15, 16, 17, 18, 19, 20, 21, -1, 277, - -1, -1, 280, 3080, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, -1, -1, 294, -1, -1, 297, - -1, -1, -1, -1, 48, 3765, -1, -1, -1, -1, - -1, 55, -1, -1, -1, -1, 3776, 3777, 3778, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, - -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 196, -1, - -1, -1, 396, 201, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 244, -1, 2973, 2974, 2975, 2976, -1, + -1, -1, -1, -1, 2896, -1, 2898, 3942, -1, -1, + -1, -1, 2904, -1, -1, -1, -1, -1, -1, -1, + -1, 2913, -1, -1, 2916, -1, 2918, -1, -1, -1, + 2922, -1, 283, 2925, 2926, 286, -1, 2929, 2930, -1, + -1, -1, -1, -1, -1, 2937, -1, -1, -1, 300, + -1, -1, 303, -1, -1, -1, 3034, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 224, 225, -1, 3176, - 3177, 3178, 3179, 3180, 3181, 3182, -1, -1, -1, 3186, - 3187, -1, 240, -1, 3191, -1, -1, 3194, 396, -1, - 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, - 3207, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 277, - -1, -1, 280, 177, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 294, -1, -1, 297, - -1, -1, 196, -1, -1, -1, -1, 201, -1, -1, - 504, -1, -1, 507, 508, 509, -1, 511, 512, 513, - 514, 515, 516, -1, -1, -1, -1, 521, -1, -1, - 224, 225, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 240, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 504, -1, -1, 507, - 508, 509, -1, 511, 512, 513, 514, 515, 516, -1, - -1, -1, -1, 521, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 277, -1, -1, 280, -1, -1, -1, - -1, 3338, -1, -1, -1, -1, -1, -1, 396, -1, - 294, -1, -1, 297, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2977, -1, -1, -1, 2981, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3385, 3386, + -1, -1, -1, -1, 2996, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3401, -1, 3403, -1, 3405, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3034, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 396, -1, -1, -1, 504, -1, -1, 507, - 508, 509, -1, 511, 512, 513, 514, 515, 516, -1, - -1, -1, -1, 521, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 8, -1, -1, 11, -1, -1, -1, 15, + 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, + 3178, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 48, -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 517, -1, -1, 520, + 521, 522, -1, 524, 525, 526, 527, 528, 529, -1, + -1, -1, -1, 534, -1, 3177, 3178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3529, -1, -1, -1, -1, -1, -1, 3536, - -1, -1, 3539, 3540, -1, -1, -1, -1, -1, -1, - -1, 3548, -1, 3550, 3551, -1, -1, -1, 3555, -1, - 504, -1, -1, 507, 508, 509, -1, 511, 512, 513, - 514, 515, 516, -1, -1, -1, -1, 521, -1, -1, + -1, -1, -1, 3281, 3282, 3283, 3284, 3285, 3286, 3287, + 3202, 3203, -1, 3291, 3292, -1, -1, -1, 3296, -1, + -1, 3299, -1, -1, 3302, 3303, 3304, 3305, 3306, 3307, + 3308, 3309, 3310, 3311, 3312, 3227, -1, -1, -1, 3231, + -1, 3233, 3234, 3235, -1, -1, 3238, -1, -1, 3241, + 3242, -1, -1, -1, -1, 181, -1, -1, 3250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 200, -1, -1, -1, -1, 205, + -1, -1, -1, -1, 3276, 3277, 3278, 3279, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 228, 229, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3345, -1, -1, -1, 283, -1, 3351, + 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3449, 3364, -1, 300, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3644, 3645, -1, - -1, 3648, -1, -1, -1, 3652, -1, -1, 3655, 3656, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3397, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3498, 3499, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3514, -1, 3516, 3431, + 3518, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, - 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, -1, 32, 33, 34, -1, -1, -1, 3726, - 3727, 40, 41, 3730, -1, 44, 45, 46, -1, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, -1, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, 171, 172, 173, 174, 175, 176, 177, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, 238, - 239, 240, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, -1, 294, 295, 296, -1, -1, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, -1, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, 383, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, 455, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, 470, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, -1, 506, -1, -1, - -1, -1, 511, 512, 513, -1, -1, -1, -1, 518, - -1, 520, 521, -1, -1, -1, -1, 526, 527, -1, - -1, -1, -1, 532, 533, 3, 4, 5, 6, 7, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3465, 3466, 3467, -1, -1, -1, -1, + 406, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3490, 3491, + 3492, 3493, 3494, 3495, 3496, -1, 3498, 3499, -1, 3501, + 3502, -1, -1, -1, -1, -1, -1, -1, -1, 3511, + -1, 3513, -1, -1, -1, -1, -1, -1, 3520, 3521, + 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3541, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3553, -1, -1, -1, -1, 3644, -1, -1, -1, + -1, -1, -1, 3651, -1, -1, 3654, 3655, -1, -1, + -1, -1, -1, -1, -1, 3663, -1, 3665, 3666, -1, + -1, 517, 3670, -1, 520, 521, 522, -1, 524, 525, + 526, 527, 528, 529, -1, -1, -1, -1, 534, -1, + -1, -1, -1, -1, -1, -1, 3608, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3626, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3636, -1, -1, -1, -1, -1, + -1, -1, 3644, -1, -1, -1, -1, -1, -1, -1, + 3652, 3653, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3664, 3665, 3666, 3667, -1, 3669, -1, -1, + -1, -1, 3760, 3761, -1, -1, 3764, -1, -1, -1, + 3768, -1, -1, 3771, 3772, -1, -1, -1, -1, 3691, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3729, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3754, -1, -1, 3843, 3844, 3759, -1, 3847, + 3762, 3763, -1, -1, -1, 3767, -1, 3769, 3770, -1, + -1, 3773, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3796, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3837, 3838, 3839, -1, -1, + 3842, -1, -1, 3845, 3846, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3882, 3, 4, 5, 6, 7, 8, 9, 10, -1, + -1, -1, 3894, 3895, 3896, -1, -1, -1, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, + -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, 83, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, + 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, 175, 176, 177, 178, 179, 180, 181, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, -1, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, -1, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, -1, 430, 431, + 432, 433, 434, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, 466, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, -1, 519, -1, -1, + -1, -1, 524, 525, 526, -1, -1, -1, -1, 531, + -1, 533, 534, -1, -1, -1, -1, 539, 540, -1, + -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, 171, 172, 173, 174, 175, 176, 177, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - 238, 239, 240, -1, 242, 243, 244, 245, 246, 247, + 68, 69, 70, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, 81, -1, 83, -1, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, -1, 96, 97, + 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, + -1, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, -1, 172, -1, 174, 175, 176, 177, + 178, 179, 180, 181, 182, -1, 184, 185, -1, -1, + 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, -1, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, -1, 225, -1, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 288, 289, 290, 291, 292, 293, 294, -1, 296, 297, + -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, -1, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, 383, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, 455, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, 470, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, -1, 506, -1, - -1, -1, -1, 511, 512, 513, -1, -1, -1, -1, - 518, -1, 520, -1, -1, -1, -1, -1, 526, 527, - -1, -1, -1, -1, 532, 533, 3, 4, 5, 6, - 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, - -1, 38, -1, 40, 41, -1, -1, 44, 45, 46, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, 171, -1, 173, 174, 175, 176, - 177, 178, -1, 180, 181, -1, -1, 184, 185, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, 238, 239, 240, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, -1, 290, 291, -1, -1, 294, 295, 296, - -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 448, 449, -1, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, -1, -1, - -1, -1, -1, -1, 511, 512, 513, -1, -1, -1, - -1, 518, -1, 520, 521, -1, -1, -1, -1, 526, - 527, -1, -1, -1, -1, 532, 533, 3, 4, 5, - 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + -1, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, -1, 340, 341, 342, 343, 344, 345, 346, 347, + -1, 349, 350, 351, 352, 353, 354, 355, 356, -1, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, -1, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, -1, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, -1, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, -1, 441, 442, 443, -1, 445, -1, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, -1, -1, 463, 464, 465, 466, 467, + 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, + 478, -1, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, -1, 493, -1, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + -1, 519, -1, -1, -1, -1, 524, 525, 526, -1, + -1, -1, -1, 531, -1, 533, -1, -1, -1, -1, + -1, 539, 540, -1, -1, -1, -1, 545, 546, 3, + 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, + 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, -1, 77, 78, 79, 80, 81, -1, 83, + -1, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, 175, 176, 177, 178, 179, 180, 181, 182, -1, + 184, 185, -1, -1, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, 242, 243, + 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, -1, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, -1, 406, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, -1, 493, + -1, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, -1, 519, -1, -1, -1, -1, + 524, 525, 526, -1, -1, -1, -1, 531, -1, 533, + -1, -1, -1, -1, -1, 539, 540, -1, -1, -1, + -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, + 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, -1, -1, -1, 38, -1, + 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, 81, -1, 83, -1, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, 96, 97, 98, 99, + 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + 130, 131, 132, 133, 134, 135, -1, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, 175, -1, 177, 178, 179, + 180, 181, 182, -1, 184, 185, -1, -1, 188, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, -1, + -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, -1, -1, -1, -1, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, -1, + 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, + 410, -1, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, -1, -1, + 430, 431, -1, 433, 434, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, 445, -1, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, -1, -1, 463, 464, 465, -1, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, -1, 493, -1, -1, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, -1, -1, + -1, -1, -1, -1, 524, 525, 526, -1, -1, -1, + -1, 531, -1, 533, 534, -1, -1, -1, -1, 539, + 540, -1, -1, -1, -1, 545, 546, 3, 4, 5, + 6, 7, -1, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, + 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + -1, 77, 78, 79, 80, 81, -1, 83, -1, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, 171, 172, 173, 174, 175, - 176, 177, 178, -1, 180, 181, -1, -1, 184, 185, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, -1, - 236, 237, 238, 239, 240, -1, 242, 243, 244, 245, + 116, 117, 118, -1, 120, -1, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, -1, + -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, 147, -1, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, -1, 172, -1, 174, 175, + 176, 177, 178, 179, 180, 181, 182, -1, 184, 185, + -1, -1, 188, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, -1, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, -1, 290, 291, -1, -1, 294, 295, - 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, + 276, 277, 278, 279, 280, 281, 282, -1, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, -1, + 296, 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, -1, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 448, 449, -1, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - 466, 467, -1, 469, 470, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, -1, - -1, -1, -1, -1, -1, 511, 512, 513, -1, -1, - -1, -1, 518, -1, 520, -1, -1, -1, -1, -1, - 526, 527, -1, -1, -1, -1, 532, 533, 3, 4, - 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, - -1, -1, -1, 38, -1, 40, 41, -1, -1, 44, - 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, 171, -1, 173, 174, - 175, 176, 177, 178, -1, 180, 181, -1, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - -1, -1, 237, 238, 239, 240, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, -1, 290, 291, -1, -1, 294, - 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, -1, -1, -1, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, -1, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, -1, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, -1, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - -1, -1, -1, -1, -1, -1, 511, 512, 513, -1, - -1, -1, -1, 518, -1, 520, -1, -1, -1, -1, - -1, 526, 527, -1, -1, -1, -1, 532, 533, 3, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, -1, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, + 346, 347, -1, 349, 350, 351, 352, 353, 354, 355, + 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, -1, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, -1, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, -1, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, -1, 430, 431, 432, 433, 434, 435, + 436, 437, 438, 439, -1, 441, 442, 443, -1, 445, + -1, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, -1, -1, 463, 464, 465, + 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, + 476, 477, 478, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, -1, 493, -1, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, -1, -1, 519, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 531, -1, 533, -1, -1, + -1, -1, -1, 539, 540, -1, -1, -1, -1, 545, + 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, + -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, 83, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, + 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, 175, 176, 177, 178, 179, 180, 181, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, -1, 240, 241, + 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, -1, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, -1, 406, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, -1, -1, 430, 431, + -1, 433, 434, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, -1, -1, -1, -1, + -1, -1, 524, 525, 526, -1, -1, -1, -1, 531, + -1, 533, -1, -1, -1, -1, -1, 539, 540, -1, + -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, + 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + 38, -1, 40, 41, -1, -1, 44, 45, 46, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, 81, -1, 83, -1, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, -1, 96, 97, + 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, 122, 123, 124, 125, 126, 127, + -1, -1, 130, 131, 132, 133, 134, -1, -1, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, + -1, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, -1, 172, -1, 174, 175, -1, 177, + 178, 179, 180, 181, 182, -1, 184, 185, -1, -1, + 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, -1, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, -1, 225, -1, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, -1, 296, 297, + -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, -1, -1, -1, + -1, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, -1, 340, 341, 342, 343, 344, 345, 346, 347, + -1, 349, 350, 351, 352, 353, 354, 355, 356, -1, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, -1, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, + 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + -1, -1, 430, 431, -1, 433, 434, 435, 436, 437, + 438, 439, -1, 441, 442, 443, -1, 445, -1, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, -1, -1, 463, 464, 465, -1, 467, + 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, -1, 493, -1, -1, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + -1, -1, -1, -1, -1, -1, 524, 525, 526, -1, + -1, -1, -1, 531, -1, 533, -1, -1, -1, -1, + -1, 539, 540, -1, -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, @@ -12473,530 +12907,543 @@ static const yytype_int16 yycheck[] = 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, + 74, 75, -1, 77, 78, 79, 80, 81, -1, 83, + -1, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, 163, - 164, 165, 166, -1, 168, -1, 170, 171, -1, 173, - 174, 175, 176, 177, 178, -1, 180, 181, -1, -1, - 184, 185, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, 238, 239, 240, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, 175, -1, 177, 178, 179, 180, 181, 182, -1, + 184, 185, -1, -1, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, 242, 243, + 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, -1, -1, -1, -1, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, -1, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, - 424, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 448, 449, -1, -1, 452, 453, - 454, -1, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, 466, 467, -1, 469, 470, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, -1, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, -1, -1, -1, -1, -1, -1, 511, 512, 513, - -1, -1, -1, -1, 518, -1, 520, 521, -1, -1, - -1, -1, 526, 527, -1, -1, -1, -1, 532, 533, - 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, -1, -1, -1, -1, 39, 40, 41, -1, - -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, - 123, -1, 125, 126, 127, 128, 129, 130, -1, -1, - 133, 134, 135, 136, 137, 138, 139, -1, 141, 142, - 143, -1, 145, 146, 147, -1, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - 163, 164, 165, 166, -1, 168, -1, 170, 171, -1, - 173, 174, 175, 176, 177, 178, -1, 180, 181, -1, - -1, 184, 185, 186, 187, -1, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, -1, 221, -1, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, -1, -1, 237, 238, 239, 240, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, -1, 290, 291, -1, - -1, 294, 295, 296, -1, -1, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, -1, -1, -1, -1, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, -1, 332, - 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, - 343, 344, 345, 346, 347, 348, -1, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, -1, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - -1, -1, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, - 423, 424, 425, 426, 427, 428, 429, -1, 431, 432, - -1, 434, -1, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 446, 447, 448, 449, -1, -1, 452, - 453, 454, -1, 456, 457, 458, 459, -1, 461, 462, - 463, 464, 465, 466, 467, -1, 469, 470, 471, 472, - 473, 474, 475, 476, 477, -1, -1, 480, -1, -1, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, -1, -1, -1, -1, -1, -1, 511, 512, - 513, -1, -1, -1, -1, 518, -1, 520, -1, -1, - -1, -1, -1, 526, 527, -1, -1, -1, -1, 532, - 533, 3, 4, 5, 6, 7, 8, 9, 10, -1, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, -1, -1, -1, -1, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, -1, 406, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, -1, 433, + 434, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, -1, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, -1, 493, + -1, -1, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, -1, -1, -1, -1, -1, -1, + 524, 525, 526, -1, -1, -1, -1, 531, -1, 533, + 534, -1, -1, -1, -1, 539, 540, -1, -1, -1, + -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, + 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, -1, -1, -1, -1, 39, + 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, 81, -1, 83, -1, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, 96, 97, 98, 99, + 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, 175, -1, 177, 178, 179, + 180, 181, 182, -1, 184, 185, -1, -1, 188, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, -1, + -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, -1, -1, -1, -1, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, -1, + 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, -1, -1, + 430, 431, -1, 433, 434, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, 445, -1, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, -1, -1, 463, 464, 465, -1, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, 477, 478, -1, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, -1, 493, -1, -1, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, -1, -1, + -1, -1, -1, -1, 524, 525, 526, -1, -1, -1, + -1, 531, -1, 533, -1, -1, -1, -1, -1, 539, + 540, -1, -1, -1, -1, 545, 546, 3, 4, 5, + 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, + -1, -1, 38, -1, 40, 41, -1, -1, 44, 45, + 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + -1, 77, 78, 79, 80, 81, -1, 83, -1, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, + 126, 127, -1, -1, 130, 131, 132, 133, 134, -1, + -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, 147, -1, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, -1, 172, -1, 174, 175, + -1, 177, 178, 179, 180, 181, 182, -1, 184, 185, + -1, -1, 188, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, -1, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, -1, -1, 241, 242, 243, 244, -1, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, -1, + 296, 297, -1, -1, 300, 301, 302, -1, -1, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, + -1, -1, -1, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, + 346, 347, -1, 349, 350, 351, 352, 353, 354, 355, + 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, -1, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, + 406, 407, 408, 409, 410, -1, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, -1, -1, 430, 431, -1, 433, 434, 435, + 436, 437, 438, 439, -1, 441, 442, 443, -1, 445, + -1, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, -1, -1, 463, 464, 465, + -1, 467, 468, 469, 470, -1, 472, 473, 474, 475, + 476, 477, 478, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, -1, 493, -1, -1, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, -1, -1, -1, -1, -1, -1, 524, 525, + 526, -1, -1, -1, -1, 531, -1, 533, 534, -1, + -1, -1, -1, 539, 540, -1, -1, -1, -1, 545, + 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, 38, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, -1, 118, 119, 120, 121, - 122, 123, -1, 125, 126, 127, 128, 129, 130, -1, - -1, 133, 134, 135, 136, 137, 138, 139, -1, 141, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, 83, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, 164, 165, 166, -1, 168, -1, 170, 171, - -1, 173, 174, 175, 176, 177, 178, -1, 180, 181, - -1, -1, 184, 185, 186, 187, -1, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, -1, 221, - -1, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, -1, -1, 237, 238, 239, 240, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, 175, -1, 177, 178, 179, 180, 181, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, -1, 290, 291, - -1, -1, 294, 295, 296, -1, -1, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, -1, -1, -1, -1, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, -1, - 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, - 342, 343, 344, 345, 346, 347, 348, -1, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, -1, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, -1, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, -1, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, - -1, 423, 424, 425, 426, 427, 428, 429, -1, 431, - 432, -1, 434, -1, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 448, 449, -1, -1, - 452, 453, 454, -1, 456, 457, 458, 459, -1, 461, - 462, 463, 464, 465, 466, 467, -1, 469, 470, 471, - 472, 473, 474, 475, 476, 477, -1, -1, 480, -1, - -1, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, -1, -1, -1, -1, -1, -1, 511, - 512, 513, -1, -1, -1, -1, 518, -1, 520, 521, - -1, -1, -1, -1, 526, 527, -1, -1, -1, -1, - 532, 533, 3, 4, 5, 6, 7, 8, 9, 10, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - -1, 32, 33, 34, -1, -1, -1, 38, -1, 40, - 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, -1, 118, 119, 120, - 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, - -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, - 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, 163, 164, 165, 166, -1, 168, -1, 170, - 171, -1, 173, 174, 175, 176, 177, 178, -1, 180, - 181, -1, -1, 184, 185, 186, 187, -1, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - -1, 202, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, -1, - 221, -1, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, -1, -1, 237, 238, 239, 240, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, -1, 290, - 291, -1, -1, 294, 295, 296, -1, -1, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -1, -1, -1, -1, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - -1, 332, 333, 334, 335, 336, 337, 338, 339, -1, - 341, 342, 343, 344, 345, 346, 347, 348, -1, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, -1, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, -1, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, - 421, -1, 423, 424, 425, 426, 427, 428, 429, -1, - 431, 432, -1, 434, -1, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 447, 448, 449, -1, - -1, 452, 453, 454, -1, 456, 457, 458, 459, -1, - 461, 462, 463, 464, 465, 466, 467, -1, 469, 470, - 471, 472, 473, 474, 475, 476, 477, -1, -1, 480, - -1, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, -1, -1, -1, -1, -1, -1, - 511, 512, 513, -1, -1, -1, -1, 518, -1, 520, - -1, -1, -1, -1, -1, 526, 527, -1, -1, -1, - -1, 532, 533, 3, 4, 5, 6, 7, -1, 9, - 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, - 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, -1, 116, -1, 118, 119, - 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, - 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, - -1, 141, 142, 143, -1, 145, 146, 147, -1, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, 163, 164, 165, 166, -1, 168, -1, - 170, 171, 172, 173, 174, 175, 176, 177, 178, -1, - 180, 181, -1, -1, 184, 185, 186, 187, -1, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, -1, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - -1, 221, -1, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, -1, -1, 237, 238, 239, - 240, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, -1, - 290, 291, -1, -1, 294, 295, 296, -1, -1, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - -1, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, -1, 332, 333, 334, 335, 336, 337, 338, 339, - -1, 341, 342, 343, 344, 345, 346, 347, 348, -1, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, -1, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, -1, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - -1, 431, 432, -1, 434, -1, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - -1, -1, 452, 453, 454, 455, 456, 457, 458, 459, - -1, 461, 462, 463, 464, 465, 466, 467, -1, 469, - 470, 471, 472, 473, 474, 475, 476, 477, -1, -1, - 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, -1, -1, 506, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 518, -1, - 520, -1, -1, -1, -1, -1, 526, 527, -1, -1, - -1, -1, 532, 533, 3, 4, 5, 6, 7, 8, - 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, - -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, -1, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, 171, -1, 173, 174, 175, 176, 177, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, 238, - 239, 240, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, -1, 294, 295, 296, -1, -1, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, - -1, -1, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, -1, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, -1, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, 470, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, -1, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, -1, -1, -1, -1, - -1, -1, 511, 512, 513, -1, -1, -1, -1, 518, - -1, 520, -1, -1, -1, -1, -1, 526, 527, -1, - -1, -1, -1, 532, 533, 3, 4, 5, 6, 7, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, -1, 406, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, -1, -1, 430, 431, + -1, 433, 434, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, -1, -1, -1, -1, + -1, -1, 524, 525, 526, -1, -1, -1, -1, 531, + -1, 533, -1, -1, -1, -1, -1, 539, 540, -1, + -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, 171, -1, 173, 174, 175, 176, 177, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - 238, 239, 240, -1, 242, 243, 244, 245, 246, 247, + 68, 69, 70, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, 81, -1, 83, -1, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, -1, 96, 97, + 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, 122, 123, 124, 125, 126, 127, + -1, -1, 130, 131, 132, 133, 134, -1, -1, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, + -1, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, -1, 172, -1, 174, 175, -1, 177, + 178, 179, 180, 181, 182, -1, 184, 185, -1, -1, + 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, -1, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, -1, 225, -1, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, -1, - -1, -1, -1, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, -1, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, -1, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, 470, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, -1, -1, -1, - -1, -1, -1, 511, 512, 513, -1, -1, -1, -1, - 518, -1, 520, -1, -1, -1, -1, -1, 526, 527, - -1, -1, -1, -1, 532, 533, 3, 4, 5, 6, - 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, 171, 172, 173, 174, 175, 176, - 177, 178, -1, 180, 181, -1, -1, 184, 185, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, 238, 239, 240, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, -1, 290, 291, -1, -1, 294, 295, 296, - -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, -1, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 448, 449, -1, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, 466, - 467, -1, 469, 470, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, -1, -1, - -1, -1, -1, -1, 511, 512, 513, -1, -1, -1, - -1, 518, -1, 520, -1, -1, -1, -1, -1, 526, - 527, -1, -1, -1, -1, 532, 533, 3, 4, 5, + 288, 289, 290, 291, 292, 293, 294, -1, 296, 297, + -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, -1, -1, -1, + -1, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, -1, 340, 341, 342, 343, 344, 345, 346, 347, + -1, 349, 350, 351, 352, 353, 354, 355, 356, -1, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, -1, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, + 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + -1, -1, 430, 431, -1, 433, 434, 435, 436, 437, + 438, 439, -1, 441, 442, 443, -1, 445, -1, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, -1, -1, 463, 464, 465, -1, 467, + 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, + 478, -1, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, -1, 493, -1, -1, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + -1, -1, -1, -1, -1, -1, 524, 525, 526, -1, + -1, -1, -1, 531, -1, 533, -1, -1, -1, -1, + -1, 539, 540, -1, -1, -1, -1, 545, 546, 3, + 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, + 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, -1, 77, 78, 79, 80, 81, -1, 83, + -1, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, 175, -1, 177, 178, 179, 180, 181, 182, -1, + 184, 185, -1, -1, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, 242, 243, + 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, -1, -1, -1, -1, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, -1, 406, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, -1, 433, + 434, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, -1, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, -1, 493, + -1, -1, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, -1, -1, -1, -1, -1, -1, + 524, 525, 526, -1, -1, -1, -1, 531, -1, 533, + -1, -1, -1, -1, -1, 539, 540, -1, -1, -1, + -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, + 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, 81, -1, 83, -1, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, 96, 97, 98, 99, + 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, 175, 176, 177, 178, 179, + 180, 181, 182, -1, 184, 185, -1, -1, 188, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, -1, + -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, -1, -1, -1, -1, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, -1, + 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, + 410, -1, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, -1, -1, + 430, 431, -1, 433, 434, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, 445, -1, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, -1, -1, 463, 464, 465, -1, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, 477, 478, -1, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, -1, 493, -1, -1, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, -1, -1, + -1, -1, -1, -1, 524, 525, 526, -1, -1, -1, + -1, 531, -1, 533, -1, -1, -1, -1, -1, 539, + 540, -1, -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + -1, 77, 78, 79, 80, 81, -1, 83, -1, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, 171, -1, 173, 174, 175, - 176, 177, 178, -1, 180, 181, -1, -1, 184, 185, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, -1, - -1, 237, 238, 239, 240, -1, 242, 243, 244, 245, + 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, + 126, 127, -1, -1, 130, 131, 132, 133, 134, -1, + -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, 147, -1, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, -1, 172, -1, 174, 175, + -1, 177, 178, 179, 180, 181, 182, -1, 184, 185, + -1, -1, 188, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, -1, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, -1, 290, 291, -1, -1, 294, 295, - 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, + 286, 287, 288, 289, 290, 291, 292, 293, 294, -1, + 296, 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, -1, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, -1, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 448, 449, -1, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - 466, 467, -1, 469, 470, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, -1, - -1, -1, -1, -1, -1, 511, 512, 513, -1, -1, - -1, -1, 518, -1, 520, 521, -1, -1, -1, -1, - 526, 527, -1, -1, -1, -1, 532, 533, 3, 4, - 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, - -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, - 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, 171, -1, 173, 174, - 175, 176, 177, 178, -1, 180, 181, -1, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - -1, -1, 237, 238, 239, 240, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, -1, 290, 291, -1, -1, 294, - 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, -1, -1, -1, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, -1, -1, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, -1, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, -1, 469, 470, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, -1, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - -1, -1, -1, -1, -1, -1, 511, 512, 513, -1, - -1, -1, -1, 518, -1, 520, -1, -1, -1, -1, - -1, 526, 527, -1, -1, -1, 531, 532, 533, 3, + 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, + -1, -1, -1, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, + 346, 347, -1, 349, 350, 351, 352, 353, 354, 355, + 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, -1, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, + 406, 407, 408, 409, 410, -1, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, -1, -1, 430, 431, -1, 433, 434, 435, + 436, 437, 438, 439, -1, 441, 442, 443, -1, 445, + -1, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, -1, -1, 463, 464, 465, + -1, 467, 468, 469, 470, -1, 472, 473, 474, 475, + 476, 477, 478, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, -1, 493, -1, -1, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, -1, -1, -1, -1, -1, -1, 524, 525, + 526, -1, -1, -1, -1, 531, -1, 533, 534, -1, + -1, -1, -1, 539, 540, -1, -1, -1, -1, 545, + 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, + -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, 83, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, + 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, 175, -1, 177, 178, 179, 180, 181, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, -1, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, -1, 406, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, -1, -1, 430, 431, + -1, 433, 434, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, -1, -1, -1, -1, + -1, -1, 524, 525, 526, -1, -1, -1, -1, 531, + -1, 533, -1, -1, -1, -1, -1, 539, 540, -1, + -1, -1, 544, 545, 546, 3, 4, 5, 6, 7, + 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, 81, -1, 83, -1, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, -1, 96, 97, + 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, 122, 123, 124, 125, 126, 127, + -1, -1, 130, 131, 132, 133, 134, -1, -1, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, + -1, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, -1, 172, -1, 174, 175, -1, 177, + 178, 179, 180, 181, 182, -1, 184, 185, -1, -1, + 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, -1, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, -1, 225, -1, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, -1, 296, 297, + -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, -1, -1, -1, + -1, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, -1, 340, 341, 342, 343, 344, 345, 346, 347, + -1, 349, 350, 351, 352, 353, 354, 355, 356, -1, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, -1, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, + 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + -1, -1, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, -1, 441, 442, 443, -1, 445, -1, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, -1, -1, 463, 464, 465, -1, 467, + 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, + 478, -1, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, -1, 493, -1, -1, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + -1, -1, -1, -1, -1, -1, 524, 525, 526, -1, + -1, -1, -1, 531, -1, 533, -1, -1, -1, -1, + -1, 539, 540, -1, -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, @@ -13004,1219 +13451,1087 @@ static const yytype_int16 yycheck[] = 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, + 74, 75, -1, 77, 78, 79, 80, 81, -1, 83, + -1, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, 163, - 164, 165, 166, -1, 168, -1, 170, 171, -1, 173, - 174, 175, 176, 177, 178, -1, 180, 181, -1, -1, - 184, 185, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, 238, 239, 240, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, 175, -1, 177, 178, 179, 180, 181, 182, -1, + 184, 185, -1, -1, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, 242, 243, + 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, -1, -1, -1, -1, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, -1, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, - -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 448, 449, -1, -1, 452, 453, - 454, -1, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, 466, 467, -1, 469, 470, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, -1, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, -1, -1, -1, -1, -1, -1, 511, 512, 513, - -1, -1, -1, -1, 518, -1, 520, -1, -1, -1, - -1, -1, 526, 527, -1, -1, -1, -1, 532, 533, - 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, - -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, - 123, -1, 125, 126, 127, 128, 129, 130, -1, -1, - 133, 134, 135, 136, 137, 138, 139, -1, 141, 142, - 143, -1, 145, 146, 147, -1, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - 163, 164, 165, 166, -1, 168, -1, 170, 171, -1, - 173, 174, 175, 176, 177, 178, -1, 180, 181, -1, - -1, 184, 185, 186, 187, -1, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, -1, 221, -1, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, -1, -1, 237, 238, 239, 240, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, -1, 290, 291, -1, - -1, 294, 295, 296, -1, -1, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, -1, -1, -1, -1, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, -1, 332, - 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, - 343, 344, 345, 346, 347, 348, -1, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, -1, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - -1, -1, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, -1, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, - 423, 424, 425, 426, 427, 428, 429, -1, 431, 432, - -1, 434, -1, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 446, 447, 448, 449, -1, -1, 452, - 453, 454, -1, 456, 457, 458, 459, -1, 461, 462, - 463, 464, 465, 466, 467, -1, 469, 470, 471, 472, - 473, 474, 475, 476, 477, -1, 479, 480, -1, -1, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, -1, -1, -1, -1, -1, -1, 511, 512, - 513, -1, -1, -1, -1, 518, -1, 520, -1, -1, - -1, -1, -1, 526, 527, -1, -1, -1, -1, 532, - 533, 3, 4, 5, 6, 7, 8, 9, 10, -1, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, -1, -1, -1, -1, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, -1, 406, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, -1, 433, + 434, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, -1, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, 492, 493, + -1, -1, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, -1, -1, -1, -1, -1, -1, + 524, 525, 526, -1, -1, -1, -1, 531, -1, 533, + -1, -1, -1, -1, -1, 539, 540, -1, -1, -1, + -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, + 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, + 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, 81, -1, 83, -1, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, 96, 97, 98, 99, + 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, 175, -1, 177, 178, 179, + 180, 181, 182, -1, 184, 185, -1, -1, 188, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, -1, + -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, -1, -1, -1, -1, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, -1, + 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, + 410, -1, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, -1, -1, + 430, 431, -1, 433, 434, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, 445, -1, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, -1, -1, 463, 464, 465, -1, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, 477, 478, -1, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, -1, 493, -1, -1, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, -1, -1, + -1, -1, -1, -1, 524, 525, 526, -1, -1, -1, + -1, 531, -1, 533, -1, -1, -1, -1, -1, 539, + 540, -1, -1, -1, -1, 545, 546, 3, 4, 5, + 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, + -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, + 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + -1, 77, 78, 79, 80, 81, -1, 83, -1, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, + 126, 127, -1, -1, 130, 131, 132, 133, 134, -1, + -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, 147, -1, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, -1, 172, -1, 174, 175, + -1, 177, 178, 179, 180, 181, 182, -1, 184, 185, + -1, -1, 188, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, -1, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, -1, -1, 241, 242, 243, 244, -1, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, -1, + 296, 297, -1, -1, 300, 301, 302, -1, -1, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, + -1, -1, -1, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, + 346, 347, -1, 349, 350, 351, 352, 353, 354, 355, + 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, -1, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, + 406, 407, 408, 409, 410, -1, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, -1, -1, 430, 431, 432, 433, 434, 435, + 436, 437, 438, 439, -1, 441, 442, 443, -1, 445, + -1, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, -1, -1, 463, 464, 465, + -1, 467, 468, 469, 470, -1, 472, 473, 474, 475, + 476, 477, 478, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, -1, 493, -1, -1, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, -1, -1, -1, -1, -1, -1, 524, 525, + 526, -1, -1, -1, -1, 531, -1, 533, -1, -1, + -1, -1, -1, 539, 540, -1, -1, -1, -1, 545, + 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, -1, 118, 119, 120, 121, - 122, 123, -1, 125, 126, 127, 128, 129, 130, -1, - -1, 133, 134, 135, 136, 137, 138, 139, -1, 141, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, 83, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, 164, 165, 166, -1, 168, -1, 170, 171, - -1, 173, 174, 175, 176, 177, 178, -1, 180, 181, - -1, -1, 184, 185, 186, 187, -1, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, -1, 221, - -1, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, -1, -1, 237, 238, 239, 240, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, 175, -1, 177, 178, 179, 180, 181, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, -1, 290, 291, - -1, -1, 294, 295, 296, -1, -1, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, -1, -1, -1, -1, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, -1, - 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, - 342, 343, 344, 345, 346, 347, 348, -1, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, -1, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, -1, -1, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, -1, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, - -1, 423, 424, 425, 426, 427, 428, 429, -1, 431, - 432, -1, 434, -1, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 448, 449, -1, -1, - 452, 453, 454, -1, 456, 457, 458, 459, -1, 461, - 462, 463, 464, 465, 466, 467, -1, 469, 470, 471, - 472, 473, 474, 475, 476, 477, -1, -1, 480, -1, - -1, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, -1, -1, -1, -1, -1, -1, 511, - 512, 513, -1, -1, -1, -1, 518, -1, 520, -1, - -1, -1, -1, -1, 526, 527, -1, -1, -1, -1, - 532, 533, 3, 4, 5, 6, 7, 8, 9, 10, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, - 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, -1, 118, 119, 120, - 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, - -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, - 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, 163, 164, 165, 166, -1, 168, -1, 170, - 171, -1, 173, 174, 175, 176, 177, 178, -1, 180, - 181, -1, -1, 184, 185, 186, 187, -1, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - -1, 202, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, -1, - 221, -1, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, -1, -1, 237, 238, 239, 240, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, -1, 290, - 291, -1, -1, 294, 295, 296, -1, -1, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -1, -1, -1, -1, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - -1, 332, 333, 334, 335, 336, 337, 338, 339, -1, - 341, 342, 343, 344, 345, 346, 347, 348, -1, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, -1, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, -1, -1, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, -1, - 431, 432, -1, 434, -1, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 447, 448, 449, -1, - -1, 452, 453, 454, -1, 456, 457, 458, 459, -1, - 461, 462, 463, 464, 465, 466, 467, -1, 469, 470, - 471, 472, 473, 474, 475, 476, 477, -1, -1, 480, - -1, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, -1, -1, -1, -1, -1, -1, - 511, 512, 513, -1, -1, -1, -1, 518, -1, 520, - -1, -1, -1, -1, -1, 526, 527, -1, -1, -1, - -1, 532, 533, 3, 4, 5, 6, 7, 8, 9, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, -1, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, -1, 406, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, -1, -1, 430, 431, + -1, 433, 434, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, -1, -1, -1, -1, + -1, -1, 524, 525, 526, -1, -1, -1, -1, 531, + -1, 533, -1, -1, -1, -1, -1, 539, 540, -1, + -1, -1, 544, 545, 546, 3, 4, 5, 6, 7, + 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, 81, -1, 83, -1, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, -1, 96, 97, + 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, 122, 123, 124, 125, 126, 127, + -1, -1, 130, 131, 132, 133, 134, -1, -1, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, + -1, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, -1, 172, -1, 174, 175, -1, 177, + 178, 179, 180, 181, 182, -1, 184, 185, -1, -1, + 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, -1, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, -1, 225, -1, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, -1, 296, 297, + -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, -1, -1, -1, + -1, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, -1, 340, 341, 342, 343, 344, 345, 346, 347, + -1, 349, 350, 351, 352, 353, 354, 355, 356, -1, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, -1, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, + 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + -1, -1, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, -1, 441, 442, 443, -1, 445, -1, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, -1, -1, 463, 464, 465, -1, 467, + 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, + 478, -1, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, -1, 493, -1, -1, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + -1, -1, -1, -1, -1, -1, 524, 525, 526, -1, + -1, -1, -1, 531, -1, 533, -1, -1, -1, -1, + -1, 539, 540, -1, -1, -1, -1, 545, 546, 3, + 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, + 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, -1, 77, 78, 79, 80, 81, -1, 83, + -1, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, 175, -1, 177, 178, 179, 180, 181, 182, -1, + 184, 185, -1, -1, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, 242, 243, + 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, -1, -1, -1, -1, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, -1, 406, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, -1, 433, + 434, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, -1, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, -1, 493, + -1, -1, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, -1, -1, -1, -1, -1, -1, + 524, 525, 526, -1, -1, -1, -1, 531, -1, 533, + -1, -1, -1, -1, -1, 539, 540, -1, -1, -1, + -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, -1, 118, 119, - 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, - 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, - -1, 141, 142, 143, -1, 145, 146, 147, -1, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, 163, 164, 165, 166, -1, 168, -1, - 170, 171, -1, 173, 174, 175, 176, 177, 178, -1, - 180, 181, -1, -1, 184, 185, 186, 187, -1, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, -1, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - -1, 221, -1, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, -1, -1, 237, 238, 239, - 240, -1, 242, 243, 244, 245, 246, 247, 248, 249, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, 81, -1, 83, -1, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, 96, 97, 98, 99, + 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, 175, -1, 177, 178, 179, + 180, 181, 182, -1, 184, 185, -1, -1, 188, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, -1, + -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, -1, - 290, 291, -1, -1, 294, 295, 296, -1, -1, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, -1, -1, -1, - -1, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, -1, 332, 333, 334, 335, 336, 337, 338, 339, - -1, 341, 342, 343, 344, 345, 346, 347, 348, -1, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, -1, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, -1, -1, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, - 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, - -1, 431, 432, -1, 434, -1, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - -1, -1, 452, 453, 454, -1, 456, 457, 458, 459, - -1, 461, 462, 463, 464, 465, 466, 467, -1, 469, - 470, 471, 472, 473, 474, 475, 476, 477, -1, -1, - 480, -1, -1, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, -1, -1, -1, -1, -1, - -1, 511, 512, 513, -1, -1, -1, -1, 518, -1, - 520, -1, -1, -1, -1, -1, 526, 527, -1, -1, - -1, 531, 532, 533, 3, 4, 5, 6, 7, 8, - 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, - -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, -1, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, 171, -1, 173, 174, 175, 176, 177, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, 238, - 239, 240, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, -1, 294, 295, 296, -1, -1, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, - -1, -1, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, -1, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, -1, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, 470, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, -1, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, -1, -1, -1, -1, - -1, -1, 511, 512, 513, -1, -1, -1, -1, 518, - -1, 520, -1, -1, -1, -1, -1, 526, 527, -1, - -1, -1, -1, 532, 533, 3, 4, 5, 6, 7, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, -1, -1, -1, -1, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, -1, + 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, + 410, -1, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, -1, -1, + 430, 431, -1, 433, 434, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, 445, -1, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, -1, -1, 463, 464, 465, -1, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, 477, 478, -1, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, -1, 493, -1, -1, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, -1, -1, + -1, -1, -1, -1, 524, 525, 526, -1, -1, -1, + -1, 531, -1, 533, -1, -1, -1, -1, -1, 539, + 540, -1, -1, -1, -1, 545, 546, 3, 4, 5, + 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, + -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, + 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + -1, 77, 78, 79, 80, 81, -1, 83, -1, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, + 126, 127, -1, -1, 130, 131, 132, 133, 134, -1, + -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, 147, -1, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, -1, 172, -1, 174, 175, + -1, 177, 178, 179, 180, 181, 182, -1, 184, 185, + -1, -1, 188, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, -1, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, -1, -1, 241, 242, 243, 244, -1, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, -1, + 296, 297, -1, -1, 300, 301, 302, -1, -1, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, + -1, -1, -1, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, + 346, 347, -1, 349, 350, 351, 352, 353, 354, 355, + 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, -1, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, + 406, 407, 408, 409, 410, -1, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, -1, -1, 430, 431, -1, 433, 434, 435, + 436, 437, 438, 439, -1, 441, 442, 443, -1, 445, + -1, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, -1, -1, 463, 464, 465, + -1, 467, 468, 469, 470, -1, 472, 473, 474, 475, + 476, 477, 478, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, -1, 493, -1, -1, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, -1, -1, -1, -1, -1, -1, 524, 525, + 526, -1, -1, -1, -1, 531, -1, 533, -1, -1, + -1, -1, -1, 539, 540, -1, -1, -1, -1, 545, + 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, + -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, 83, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, + 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, 175, -1, 177, 178, 179, 180, 181, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, -1, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, -1, 406, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, -1, -1, 430, 431, + -1, 433, 434, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, -1, -1, -1, -1, + -1, -1, 524, 525, 526, -1, -1, -1, -1, 531, + -1, 533, -1, -1, -1, -1, -1, 539, 540, -1, + -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, 171, -1, 173, 174, 175, 176, 177, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - 238, 239, 240, -1, 242, 243, 244, 245, 246, 247, + 68, 69, 70, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, 81, -1, 83, -1, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, -1, 96, 97, + 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, -1, 122, 123, 124, 125, 126, 127, + -1, -1, 130, 131, 132, 133, 134, -1, -1, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, + -1, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, -1, 172, -1, 174, 175, -1, 177, + 178, 179, 180, 181, 182, -1, 184, 185, -1, -1, + 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, -1, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, -1, 225, -1, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, -1, - -1, -1, -1, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, -1, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, -1, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, 470, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, -1, -1, -1, - -1, -1, -1, 511, 512, 513, -1, -1, -1, -1, - 518, -1, 520, -1, -1, -1, -1, -1, 526, 527, - -1, -1, -1, -1, 532, 533, 3, 4, 5, 6, - 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, 171, -1, 173, 174, 175, 176, - 177, 178, -1, 180, 181, -1, -1, 184, 185, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, 238, 239, 240, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, -1, 290, 291, -1, -1, 294, 295, 296, - -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, -1, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 448, 449, -1, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, 466, - 467, -1, 469, 470, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, -1, -1, - -1, -1, -1, -1, 511, 512, 513, -1, -1, -1, - -1, 518, -1, 520, -1, -1, -1, -1, -1, 526, - 527, -1, -1, -1, -1, 532, 533, 3, 4, 5, + 288, 289, 290, 291, 292, 293, 294, -1, 296, 297, + -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, -1, -1, -1, + -1, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, -1, 340, 341, 342, 343, 344, 345, 346, 347, + -1, 349, 350, 351, 352, 353, 354, 355, 356, -1, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, -1, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, + 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + -1, -1, 430, 431, -1, 433, 434, 435, 436, 437, + 438, 439, -1, 441, 442, 443, -1, 445, -1, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, -1, -1, 463, 464, 465, -1, 467, + 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, + 478, -1, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, -1, 493, -1, -1, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + -1, -1, -1, -1, -1, -1, 524, 525, 526, -1, + -1, -1, -1, 531, -1, 533, -1, -1, -1, -1, + -1, 539, 540, -1, -1, -1, -1, 545, 546, 3, + 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, + 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, -1, 77, 78, 79, 80, 81, -1, 83, + -1, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, 175, -1, 177, 178, 179, 180, 181, 182, -1, + 184, 185, -1, -1, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, 242, 243, + 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, -1, -1, -1, -1, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, -1, 406, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, -1, 433, + 434, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, -1, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, -1, 493, + -1, -1, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, -1, -1, -1, -1, -1, -1, + 524, 525, 526, -1, -1, -1, -1, 531, -1, 533, + -1, -1, -1, -1, -1, 539, 540, -1, -1, -1, + -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, + 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, 81, -1, 83, -1, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, 96, 97, 98, 99, + 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, 175, -1, 177, 178, 179, + 180, 181, 182, -1, 184, 185, -1, -1, 188, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, -1, + -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, -1, -1, -1, -1, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, -1, + 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, + 410, -1, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, -1, -1, + 430, 431, -1, 433, 434, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, 445, -1, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, -1, -1, 463, 464, 465, -1, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, 477, 478, -1, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, -1, 493, -1, -1, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, -1, -1, + -1, -1, -1, -1, 524, 525, 526, -1, -1, -1, + -1, 531, -1, 533, -1, -1, -1, -1, -1, 539, + 540, -1, -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + -1, 77, 78, 79, 80, 81, -1, 83, -1, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, 171, -1, 173, 174, 175, - 176, 177, 178, -1, 180, 181, -1, -1, 184, 185, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, -1, - -1, 237, 238, 239, 240, -1, 242, 243, 244, 245, + 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, + 126, 127, -1, -1, 130, 131, 132, 133, 134, -1, + -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, 147, -1, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, -1, 172, -1, 174, 175, + -1, 177, 178, 179, 180, 181, 182, -1, 184, 185, + -1, -1, 188, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, -1, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, -1, 290, 291, -1, -1, 294, 295, - 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, + 286, 287, 288, 289, 290, 291, 292, 293, 294, -1, + 296, 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, -1, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, -1, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 448, 449, -1, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - 466, 467, -1, 469, 470, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, -1, - -1, -1, -1, -1, -1, 511, 512, 513, -1, -1, - -1, -1, 518, -1, 520, -1, -1, -1, -1, -1, - 526, 527, -1, -1, -1, -1, 532, 533, 3, 4, - 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, - -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, - 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, 171, -1, 173, 174, - 175, 176, 177, 178, -1, 180, 181, -1, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - -1, -1, 237, 238, 239, 240, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, -1, 290, 291, -1, -1, 294, - 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, -1, -1, -1, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, -1, -1, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, -1, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, -1, 469, 470, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, -1, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - -1, -1, -1, -1, -1, -1, 511, 512, 513, -1, - -1, -1, -1, 518, -1, 520, -1, -1, -1, -1, - -1, 526, 527, -1, -1, -1, -1, 532, 533, 3, - 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, - 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, 163, - 164, 165, 166, -1, 168, -1, 170, 171, -1, 173, - 174, 175, 176, 177, 178, -1, 180, 181, -1, -1, - 184, 185, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, 238, 239, 240, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, -1, -1, -1, -1, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, -1, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, - -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, - 424, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 448, 449, -1, -1, 452, 453, - 454, -1, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, 466, 467, -1, 469, 470, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, -1, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, -1, -1, -1, -1, -1, -1, 511, 512, 513, - -1, -1, -1, -1, 518, -1, 520, -1, -1, -1, - -1, -1, 526, 527, -1, -1, -1, -1, 532, 533, - 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, - -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, - 123, -1, 125, 126, 127, 128, 129, 130, -1, -1, - 133, 134, 135, 136, 137, 138, 139, -1, 141, 142, - 143, -1, 145, 146, 147, -1, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - 163, 164, 165, 166, -1, 168, -1, 170, 171, -1, - 173, 174, 175, 176, 177, 178, -1, 180, 181, -1, - -1, 184, 185, 186, 187, -1, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, -1, 221, -1, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, -1, -1, 237, 238, 239, 240, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, -1, 290, 291, -1, - -1, 294, 295, 296, -1, -1, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, -1, -1, -1, -1, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, -1, 332, - 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, - 343, 344, 345, 346, 347, 348, -1, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, -1, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - -1, -1, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, -1, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, - 423, 424, 425, 426, 427, 428, 429, -1, 431, 432, - -1, 434, -1, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 446, 447, 448, 449, -1, -1, 452, - 453, 454, -1, 456, 457, 458, 459, -1, 461, 462, - 463, 464, 465, 466, 467, -1, 469, 470, 471, 472, - 473, 474, 475, 476, 477, -1, -1, 480, -1, -1, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, -1, -1, -1, -1, -1, -1, 511, 512, - 513, -1, -1, -1, -1, 518, -1, 520, -1, -1, - -1, -1, -1, 526, 527, -1, -1, -1, -1, 532, - 533, 3, 4, 5, 6, 7, 8, 9, 10, -1, + 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, + -1, -1, -1, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, + 346, 347, -1, 349, 350, 351, 352, 353, 354, 355, + 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, -1, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, + 406, 407, 408, 409, 410, -1, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, -1, -1, 430, 431, -1, 433, 434, 435, + 436, 437, 438, 439, -1, 441, 442, 443, -1, 445, + -1, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, -1, -1, 463, 464, 465, + -1, 467, 468, 469, 470, -1, 472, 473, 474, 475, + 476, 477, 478, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, -1, 493, -1, -1, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, -1, -1, -1, -1, -1, -1, 524, 525, + 526, -1, -1, -1, -1, 531, -1, 533, -1, -1, + -1, -1, -1, 539, 540, -1, -1, -1, -1, 545, + 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, -1, 118, 119, 120, 121, - 122, 123, -1, 125, 126, 127, 128, 129, 130, -1, - -1, 133, 134, 135, 136, 137, 138, 139, -1, 141, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, 83, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, 164, 165, 166, -1, 168, -1, 170, 171, - -1, 173, 174, 175, 176, 177, 178, -1, 180, 181, - -1, -1, 184, 185, 186, 187, -1, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, -1, 221, - -1, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, -1, -1, 237, 238, 239, 240, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, 175, -1, 177, 178, 179, 180, 181, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, -1, 290, 291, - -1, -1, 294, 295, 296, -1, -1, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, -1, -1, -1, -1, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, -1, - 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, - 342, 343, 344, 345, 346, 347, 348, -1, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, -1, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, -1, -1, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, -1, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, - -1, 423, 424, 425, 426, 427, 428, 429, -1, 431, - 432, -1, 434, -1, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 448, 449, -1, -1, - 452, 453, 454, -1, 456, 457, 458, 459, -1, 461, - 462, 463, 464, 465, 466, 467, -1, 469, 470, 471, - 472, 473, 474, 475, 476, 477, -1, -1, 480, -1, - -1, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, -1, -1, -1, -1, -1, -1, 511, - 512, 513, -1, -1, -1, -1, 518, -1, 520, -1, - -1, -1, -1, -1, 526, 527, -1, -1, -1, -1, - 532, 533, 3, 4, 5, 6, 7, 8, 9, 10, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, - 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, -1, 118, 119, 120, - 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, - -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, - 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, 163, 164, 165, 166, -1, 168, -1, 170, - 171, -1, 173, 174, 175, 176, 177, 178, -1, 180, - 181, -1, -1, 184, 185, 186, 187, -1, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - -1, 202, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, -1, - 221, -1, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, -1, -1, 237, 238, 239, 240, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, -1, 290, - 291, -1, -1, 294, 295, 296, -1, -1, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -1, -1, -1, -1, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - -1, 332, 333, 334, 335, 336, 337, 338, 339, -1, - 341, 342, 343, 344, 345, 346, 347, 348, -1, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, -1, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, -1, -1, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, - 421, -1, 423, 424, 425, 426, 427, 428, 429, -1, - 431, 432, -1, 434, -1, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 447, 448, 449, -1, - -1, 452, 453, 454, -1, 456, 457, 458, 459, -1, - 461, 462, 463, 464, 465, 466, 467, -1, 469, 470, - 471, 472, 473, 474, 475, 476, 477, -1, -1, 480, - -1, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, -1, -1, -1, -1, -1, -1, - 511, 512, 513, -1, -1, -1, -1, 518, -1, 520, - -1, -1, -1, -1, -1, 526, 527, -1, -1, -1, - -1, 532, 533, 3, 4, 5, 6, 7, 8, 9, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, -1, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, -1, 406, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, -1, -1, 430, 431, + -1, 433, 434, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, -1, -1, -1, -1, + -1, -1, 524, 525, 526, -1, -1, -1, -1, 531, + -1, 533, -1, -1, -1, -1, -1, 539, 540, -1, + -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, + -1, 9, 10, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, 81, -1, 83, -1, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, -1, 96, 97, + 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, -1, 120, -1, 122, 123, 124, 125, 126, 127, + -1, -1, 130, 131, 132, 133, 134, -1, -1, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, + -1, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, -1, 172, -1, 174, 175, -1, 177, + 178, 179, 180, 181, 182, -1, 184, 185, -1, -1, + 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, -1, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, -1, 225, -1, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, -1, 296, 297, + -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, -1, -1, -1, + -1, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, -1, 340, 341, 342, 343, 344, 345, 346, 347, + -1, 349, 350, 351, 352, 353, 354, 355, 356, -1, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, -1, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, + 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + -1, -1, 430, 431, -1, 433, 434, 435, 436, 437, + 438, 439, -1, 441, 442, 443, -1, 445, -1, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, -1, -1, 463, 464, 465, -1, 467, + 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, + 478, -1, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, -1, 493, -1, -1, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + -1, -1, -1, -1, -1, -1, 524, 525, -1, -1, + -1, -1, -1, 531, -1, 533, -1, -1, -1, -1, + -1, 539, 540, -1, -1, -1, -1, 545, 546, 3, + 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, + 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, -1, 77, 78, 79, 80, 81, -1, 83, + -1, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, -1, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, 175, -1, 177, 178, 179, 180, 181, 182, -1, + 184, 185, -1, -1, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, 242, 243, + 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, -1, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, -1, -1, -1, -1, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, -1, 406, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, -1, 433, + 434, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, -1, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, -1, 493, + -1, -1, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, -1, -1, -1, -1, -1, -1, -1, + 524, 525, -1, -1, -1, -1, -1, 531, -1, 533, + -1, -1, -1, -1, -1, 539, 540, -1, -1, -1, + -1, 545, 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, -1, 118, 119, - 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, - 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, - -1, 141, 142, 143, -1, 145, 146, 147, -1, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, 163, 164, 165, 166, -1, 168, -1, - 170, 171, -1, 173, 174, 175, 176, 177, 178, -1, - 180, 181, -1, -1, 184, 185, 186, 187, -1, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, -1, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - -1, 221, -1, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, -1, -1, 237, 238, 239, - 240, -1, 242, 243, 244, 245, 246, 247, 248, 249, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, 81, -1, 83, -1, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, 96, 97, 98, 99, + 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, 175, -1, 177, 178, 179, + 180, 181, 182, -1, 184, 185, -1, -1, 188, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, -1, -1, + 230, 231, 232, 233, 234, 235, 236, 237, 238, -1, + -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, -1, - 290, 291, -1, -1, 294, 295, 296, -1, -1, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, -1, -1, -1, - -1, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, -1, 332, 333, 334, 335, 336, 337, 338, 339, - -1, 341, 342, 343, 344, 345, 346, 347, 348, -1, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, -1, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, -1, -1, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, - 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, - -1, 431, 432, -1, 434, -1, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - -1, -1, 452, 453, 454, -1, 456, 457, 458, 459, - -1, 461, 462, 463, 464, 465, 466, 467, -1, 469, - 470, 471, 472, 473, 474, 475, 476, 477, -1, -1, - 480, -1, -1, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, -1, -1, -1, -1, -1, - -1, 511, 512, 513, -1, -1, -1, -1, 518, -1, - 520, -1, -1, -1, -1, -1, 526, 527, -1, -1, - -1, -1, 532, 533, 3, 4, 5, 6, 7, -1, - 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, - -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, -1, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, -1, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, 171, -1, 173, 174, 175, 176, 177, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, 238, - 239, 240, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, -1, 294, 295, 296, -1, -1, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, - -1, -1, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, -1, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, -1, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, 470, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, -1, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, -1, -1, -1, -1, - -1, -1, 511, 512, -1, -1, -1, -1, -1, 518, - -1, 520, -1, -1, -1, -1, -1, 526, 527, -1, - -1, -1, -1, 532, 533, 3, 4, 5, 6, 7, - 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, -1, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, 171, -1, 173, 174, 175, 176, 177, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - 238, 239, 240, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, -1, - -1, -1, -1, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, -1, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, -1, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, 470, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, -1, -1, -1, -1, - -1, -1, -1, 511, 512, -1, -1, -1, -1, -1, - 518, -1, 520, -1, -1, -1, -1, -1, 526, 527, - -1, -1, -1, -1, 532, 533, 3, 4, 5, 6, - 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, 171, -1, 173, 174, 175, 176, - 177, 178, -1, 180, 181, -1, -1, 184, 185, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, -1, -1, 226, - 227, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, 238, 239, 240, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - -1, 278, 279, -1, 281, 282, 283, 284, 285, 286, - 287, 288, -1, 290, 291, -1, -1, 294, 295, 296, - -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, -1, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 448, 449, -1, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, 466, - 467, -1, 469, 470, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, -1, -1, - -1, -1, -1, -1, 511, 512, 513, -1, -1, -1, - -1, 518, -1, 520, -1, -1, -1, -1, -1, 526, - 527, -1, -1, -1, -1, 532, 533, 3, 4, 5, + 280, 281, 282, -1, 284, 285, -1, 287, 288, 289, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, -1, -1, -1, -1, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, -1, + 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, + 410, -1, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, -1, -1, + 430, 431, -1, 433, 434, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, 445, -1, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, -1, -1, 463, 464, 465, -1, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, 477, 478, -1, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, -1, 493, -1, -1, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, -1, -1, + -1, -1, -1, -1, 524, 525, 526, -1, -1, -1, + -1, 531, -1, 533, -1, -1, -1, -1, -1, 539, + 540, -1, -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, -1, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, 171, -1, 173, 174, 175, - 176, 177, 178, -1, 180, 181, -1, -1, 184, 185, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, -1, - -1, 237, 238, 239, 240, -1, 242, 243, 244, 245, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + -1, 77, 78, 79, 80, 81, -1, 83, -1, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, -1, 120, -1, 122, 123, 124, 125, + 126, 127, -1, -1, 130, 131, 132, 133, 134, -1, + -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, 147, -1, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + -1, 167, 168, 169, 170, -1, 172, -1, 174, 175, + -1, 177, 178, 179, 180, 181, 182, -1, 184, 185, + -1, -1, 188, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, -1, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, -1, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, -1, 290, 291, -1, -1, 294, 295, - 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, + 276, 277, 278, 279, 280, 281, 282, -1, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, -1, + 296, 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, -1, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, -1, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 448, 449, -1, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - 466, 467, -1, 469, 470, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, -1, -1, - -1, -1, -1, -1, -1, 511, 512, -1, -1, -1, - -1, -1, 518, -1, 520, -1, -1, -1, -1, -1, - 526, 527, -1, -1, -1, -1, 532, 533, 3, 4, - 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, - -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, - 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - -1, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, 171, -1, 173, 174, - 175, 176, 177, 178, -1, 180, 181, -1, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, -1, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - -1, -1, 237, 238, 239, 240, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, -1, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, -1, 290, 291, -1, -1, 294, - 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, -1, -1, -1, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, -1, -1, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, -1, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, -1, 469, 470, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, -1, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, -1, - -1, -1, -1, -1, -1, -1, 511, 512, -1, -1, - -1, -1, -1, 518, -1, 520, -1, -1, -1, -1, - -1, 526, 527, -1, -1, -1, -1, 532, 533, 3, - 4, 5, 6, 7, -1, 9, 10, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, 40, 41, -1, -1, - 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, -1, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, 163, - 164, 165, 166, -1, 168, -1, 170, 171, -1, 173, - 174, 175, 176, 177, 178, -1, 180, 181, -1, -1, - 184, 185, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, 238, 239, 240, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, -1, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, -1, -1, -1, -1, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, -1, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, - -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, - 424, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 448, 449, -1, -1, 452, 453, - 454, -1, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, 466, 467, -1, 469, 470, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, -1, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, + -1, -1, -1, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, + 346, 347, -1, 349, 350, 351, 352, 353, 354, 355, + 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, -1, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, + 406, 407, 408, 409, 410, -1, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, -1, -1, 430, 431, -1, 433, 434, 435, + 436, 437, 438, 439, -1, 441, 442, 443, -1, 445, + -1, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, -1, -1, 463, 464, 465, + -1, 467, 468, 469, 470, -1, 472, 473, 474, 475, + 476, 477, 478, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, -1, 493, -1, -1, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, -1, -1, -1, -1, -1, -1, -1, 524, 525, + -1, -1, -1, -1, -1, 531, -1, 533, -1, -1, + -1, -1, -1, 539, 540, -1, -1, -1, -1, 545, + 546, 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 518, -1, 520, -1, -1, -1, - -1, -1, 526, 527, -1, -1, -1, -1, 532, 533, - 3, 4, 5, 6, 7, -1, 9, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, - -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, - 63, 64, 65, 66, 67, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, -1, 116, -1, 118, 119, 120, 121, 122, - 123, -1, 125, 126, 127, 128, 129, 130, -1, -1, - 133, 134, 135, 136, 137, 138, 139, -1, 141, 142, - 143, -1, 145, 146, 147, -1, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - 163, 164, 165, 166, -1, 168, -1, 170, 171, -1, - 173, 174, 175, 176, 177, 178, -1, 180, 181, -1, - 183, 184, 185, 186, 187, -1, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, -1, 221, -1, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, -1, -1, 237, 238, 239, 240, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, -1, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, -1, 290, 291, -1, - -1, 294, 295, 296, -1, -1, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, -1, -1, -1, -1, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, -1, 332, - 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, - 343, 344, 345, 346, 347, 348, -1, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, -1, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - -1, -1, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, -1, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, - 423, 424, 425, 426, 427, 428, 429, -1, 431, 432, - -1, 434, -1, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 446, 447, 448, 449, -1, -1, 452, - 453, 454, -1, 456, 457, 458, 459, -1, 461, 462, - 463, 464, 465, 466, 467, -1, 469, 470, 471, 472, - 473, 474, 475, 476, 477, -1, -1, 480, -1, -1, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 518, -1, 520, 3, 4, - 5, 6, 7, 8, 9, 10, -1, -1, -1, 532, - 533, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, - -1, -1, -1, -1, -1, 40, 41, -1, -1, 44, - 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, - -1, 56, 57, 58, 59, -1, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, -1, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, 171, -1, 173, 174, - 175, 176, -1, 178, -1, 180, 181, -1, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, -1, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, -1, - -1, 226, 227, 228, 229, 230, 231, 232, 233, 234, - -1, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, -1, 278, 279, -1, 281, 282, 283, 284, - 285, 286, 287, 288, -1, 290, 291, -1, -1, 294, - 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, -1, -1, -1, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, -1, -1, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, -1, 397, 398, 399, 400, -1, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, -1, 469, 470, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, -1, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, -1, - -1, -1, -1, -1, -1, -1, 511, 512, 513, -1, - -1, -1, -1, 518, -1, 520, -1, -1, -1, -1, - -1, 526, 527, -1, -1, -1, -1, 532, 533, 3, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, + -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, 83, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, + 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, 175, -1, 177, 178, 179, 180, 181, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, -1, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, -1, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, -1, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, -1, 406, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, -1, -1, 430, 431, + -1, 433, 434, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, -1, -1, -1, -1, -1, + -1, -1, 524, 525, -1, -1, -1, -1, -1, 531, + -1, 533, -1, -1, -1, -1, -1, 539, 540, -1, + -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, + -1, 9, 10, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + -1, -1, 40, 41, -1, -1, 44, 45, 46, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, 81, -1, 83, -1, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, -1, 96, 97, + 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, -1, 120, -1, 122, 123, 124, 125, 126, 127, + -1, -1, 130, 131, 132, 133, 134, -1, -1, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, + -1, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, -1, 167, + 168, 169, 170, -1, 172, -1, 174, 175, -1, 177, + 178, 179, 180, 181, 182, -1, 184, 185, -1, -1, + 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, -1, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, -1, 225, -1, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, -1, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, -1, 296, 297, + -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, -1, -1, -1, + -1, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, -1, 340, 341, 342, 343, 344, 345, 346, 347, + -1, 349, 350, 351, 352, 353, 354, 355, 356, -1, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, -1, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, + 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + -1, -1, 430, 431, -1, 433, 434, 435, 436, 437, + 438, 439, -1, 441, 442, 443, -1, 445, -1, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, -1, -1, 463, 464, 465, -1, 467, + 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, + 478, -1, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, -1, 493, -1, -1, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 531, -1, 533, -1, -1, -1, -1, + -1, 539, 540, -1, -1, -1, -1, 545, 546, 3, 4, 5, 6, 7, -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, @@ -14224,1762 +14539,2123 @@ static const yytype_int16 yycheck[] = 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, 67, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, + 74, 75, -1, 77, 78, 79, 80, 81, -1, 83, + -1, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, -1, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, 163, - 164, 165, 166, -1, 168, -1, 170, 171, -1, 173, - 174, 175, 176, 177, 178, -1, 180, 181, -1, -1, - 184, 185, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, 238, 239, 240, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 114, 115, 116, 117, 118, -1, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, 175, -1, 177, 178, 179, 180, 181, 182, -1, + 184, 185, -1, 187, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, 242, 243, + 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, -1, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, -1, -1, -1, -1, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, -1, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, - -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, - 424, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 448, 449, -1, -1, 452, 453, - 454, -1, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, 466, 467, -1, 469, 470, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, -1, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3, -1, -1, 518, -1, 520, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 532, 533, - 22, 23, 24, 25, -1, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, - 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, + 274, 275, 276, 277, 278, 279, 280, 281, 282, -1, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, -1, -1, -1, -1, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, -1, 406, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, -1, 433, + 434, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, -1, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, -1, 493, + -1, -1, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 531, -1, 533, + 3, 4, 5, 6, 7, 8, 9, 10, -1, -1, + -1, 545, 546, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, 40, 41, -1, + -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, + 53, 54, -1, 56, 57, 58, 59, -1, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, -1, 77, 78, 79, 80, 81, -1, + 83, -1, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, + 143, -1, 145, 146, 147, -1, 149, -1, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, -1, 167, 168, 169, 170, -1, 172, + -1, 174, 175, -1, 177, 178, 179, 180, -1, 182, + -1, 184, 185, -1, -1, 188, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, -1, 225, -1, 227, -1, -1, 230, 231, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, 242, + 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + -1, 284, 285, -1, 287, 288, 289, 290, 291, 292, + 293, 294, -1, 296, 297, -1, -1, 300, 301, 302, + -1, -1, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, -1, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, -1, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, -1, -1, 430, 431, -1, + 433, 434, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, -1, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, 477, 478, -1, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, -1, -1, -1, -1, -1, -1, + -1, 524, 525, 526, -1, -1, -1, -1, 531, -1, + 533, -1, -1, -1, -1, -1, 539, 540, -1, -1, + -1, -1, 545, 546, 3, 4, 5, 6, 7, -1, + 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, 41, -1, -1, 44, 45, 46, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, -1, 61, 62, 63, 64, 65, 66, 67, -1, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, 81, -1, 83, -1, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, 175, -1, 177, 178, + 179, 180, 181, 182, -1, 184, 185, -1, -1, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + -1, -1, 241, 242, 243, 244, -1, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, -1, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, -1, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, + -1, 430, 431, -1, 433, 434, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, + -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, + -1, -1, 531, -1, 533, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 545, 546, 22, 23, + 24, 25, -1, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, + 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + 74, 75, -1, 77, 78, 79, 80, 81, -1, -1, + -1, -1, 86, 87, 88, 89, 90, -1, 92, 93, + 94, -1, 96, 97, 98, 99, 100, -1, -1, -1, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, -1, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, -1, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, -1, -1, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + -1, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, -1, -1, -1, 178, 179, 180, -1, 182, -1, + 184, -1, -1, -1, 188, 189, -1, 191, -1, 193, + 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, -1, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, -1, -1, 230, -1, 232, -1, + 234, 235, 236, 237, 238, -1, -1, 241, -1, 243, + -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, -1, 277, 278, 279, 280, -1, 282, -1, + 284, 285, -1, 287, -1, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, -1, 309, -1, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, -1, -1, 323, + 324, -1, -1, -1, -1, 329, 330, 331, -1, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, -1, -1, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, -1, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, -1, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + -1, -1, -1, -1, 408, 409, 410, -1, -1, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, -1, 433, + -1, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, -1, -1, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, -1, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, -1, 482, -1, + 484, 485, 486, 487, -1, 489, 490, -1, -1, 493, + -1, -1, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, -1, -1, -1, -1, -1, -1, -1, + -1, 3, 4, 5, -1, -1, -1, 9, -1, 533, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 543, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, 38, -1, 40, -1, + -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, -1, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, -1, -1, -1, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, -1, 116, -1, 118, 119, 120, 121, - 122, 123, -1, 125, -1, 127, 128, 129, 130, -1, - -1, 133, 134, 135, 136, 137, -1, -1, -1, 141, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, 83, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, - -1, 163, 164, 165, 166, -1, 168, -1, 170, -1, - -1, -1, 174, 175, 176, -1, 178, -1, 180, -1, - -1, -1, 184, 185, -1, 187, -1, 189, 190, 191, - 192, 193, 194, 195, -1, 197, 198, 199, 200, -1, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, 219, -1, 221, - -1, 223, -1, -1, 226, -1, 228, -1, 230, 231, - 232, 233, 234, -1, -1, 237, -1, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, 175, -1, 177, 178, 179, 180, 181, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, -1, 276, -1, 278, 279, -1, 281, - -1, 283, 284, 285, 286, 287, 288, -1, 290, 291, - -1, -1, 294, 295, 296, -1, -1, 299, 300, -1, - 302, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, -1, -1, 316, -1, -1, -1, -1, 321, - 322, 323, -1, 325, 326, 327, 328, 329, 330, -1, - 332, 333, 334, 335, 336, -1, -1, 339, -1, 341, - 342, 343, 344, 345, 346, 347, 348, -1, 350, 351, - 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, -1, 365, 366, -1, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, -1, -1, 385, 386, 387, 388, 389, 390, 391, - 392, 393, -1, 395, -1, -1, 398, 399, 400, -1, - -1, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, - -1, 423, -1, 425, 426, 427, 428, 429, -1, 431, - 432, -1, -1, -1, 436, 437, 438, 439, 440, -1, - 442, 443, 444, 445, 446, 447, 448, 449, -1, -1, - 452, 453, 454, -1, 456, 457, 458, 459, -1, 461, - 462, 463, 464, 465, 466, 467, -1, 469, -1, 471, - -1, 473, 474, 475, 476, -1, -1, -1, 480, -1, - -1, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, -1, -1, -1, -1, -1, -1, -1, -1, - 3, 4, 5, -1, -1, -1, 9, -1, 520, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 530, 22, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, -1, 284, 285, 286, 287, -1, 289, 290, 291, + 292, 293, 294, -1, 296, 297, 298, -1, 300, 301, + 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, -1, 406, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, -1, -1, 430, 431, + -1, 433, 434, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, -1, -1, -1, -1, -1, + 3, -1, 524, 525, 526, -1, -1, -1, -1, -1, + -1, 533, -1, -1, -1, -1, -1, -1, 540, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, 38, -1, 40, -1, -1, - -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, + 33, 34, -1, -1, -1, -1, -1, 40, -1, 42, + -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, + 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, -1, 116, -1, 118, 119, 120, 121, 122, - 123, -1, 125, 126, 127, 128, 129, 130, -1, -1, - 133, 134, 135, 136, 137, 138, 139, -1, 141, 142, + 73, 74, 75, -1, 77, 78, 79, 80, 81, -1, + -1, -1, 85, 86, 87, 88, 89, 90, -1, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - 163, 164, 165, 166, -1, 168, -1, 170, 171, -1, - 173, 174, 175, 176, 177, 178, -1, 180, 181, -1, - -1, 184, 185, 186, 187, -1, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, -1, 221, -1, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, -1, -1, 237, 238, 239, 240, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, 166, 167, 168, 169, 170, 171, 172, + -1, 174, -1, -1, -1, 178, 179, 180, -1, 182, + -1, 184, 185, -1, -1, 188, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, -1, 227, -1, -1, 230, -1, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, -1, + 243, -1, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, -1, 278, 279, 280, 281, -1, - 283, 284, 285, 286, 287, 288, -1, 290, 291, 292, - -1, 294, 295, 296, -1, -1, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, -1, -1, -1, -1, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, -1, 332, - 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, - 343, 344, 345, 346, 347, 348, -1, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, -1, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - -1, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, -1, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, - 423, 424, 425, 426, 427, 428, 429, -1, 431, 432, - -1, 434, -1, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 446, 447, 448, 449, -1, -1, 452, - 453, 454, -1, 456, 457, 458, 459, -1, 461, 462, - 463, 464, 465, 466, 467, -1, 469, 470, 471, 472, - 473, 474, 475, 476, 477, -1, -1, 480, -1, -1, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, -1, -1, -1, -1, -1, 3, -1, 511, 512, - 513, -1, -1, -1, -1, -1, -1, 520, -1, -1, - -1, -1, -1, -1, 527, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, -1, -1, 40, -1, 42, -1, -1, 45, 46, - -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, - -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, -1, -1, 83, 84, 85, 86, - 87, 88, -1, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, -1, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, -1, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, - 167, 168, -1, 170, -1, -1, -1, 174, 175, 176, - -1, 178, -1, 180, 181, -1, -1, 184, 185, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, -1, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, -1, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, -1, 223, -1, -1, 226, - -1, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, -1, 239, -1, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, -1, 271, 272, 273, 274, 275, 276, - -1, 278, 279, -1, 281, -1, 283, 284, 285, 286, - 287, 288, 289, 290, 291, -1, -1, 294, 295, 296, - -1, 298, 299, 300, -1, 302, -1, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, 323, -1, 325, 326, - 327, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - -1, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, -1, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, -1, 420, 421, -1, 423, -1, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, - 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, - 447, 448, 449, 450, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, 466, - 467, -1, 469, -1, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 3, -1, 5, + 273, 274, 275, -1, 277, 278, 279, 280, 281, 282, + -1, 284, 285, -1, 287, -1, 289, 290, 291, 292, + 293, 294, 295, 296, 297, -1, -1, 300, 301, 302, + -1, 304, 305, 306, 307, -1, 309, -1, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, 331, -1, + 333, 334, 335, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, -1, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, -1, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, -1, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, -1, -1, 430, 431, -1, + 433, -1, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 521, -1, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, - 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, - 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - 86, 87, 88, -1, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, -1, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, -1, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, -1, -1, -1, 174, 175, - 176, -1, 178, -1, 180, 181, -1, -1, 184, 185, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - -1, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, -1, 212, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, -1, -1, - 226, -1, 228, 229, 230, 231, 232, 233, 234, -1, - -1, 237, -1, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, -1, 271, 272, 273, 274, 275, - 276, -1, 278, 279, -1, 281, -1, 283, 284, 285, - 286, 287, 288, -1, 290, 291, -1, -1, 294, 295, - 296, -1, -1, 299, 300, -1, 302, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, 323, -1, 325, - 326, 327, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, -1, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, -1, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - -1, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, -1, 420, 421, -1, 423, -1, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, -1, - 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, - 446, 447, 448, 449, -1, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - 466, 467, -1, 469, -1, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 3, -1, + -1, 534, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, + 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, + 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, 81, -1, -1, -1, 85, 86, 87, 88, + 89, 90, -1, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, -1, -1, -1, 178, + 179, 180, -1, 182, -1, 184, 185, -1, -1, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, -1, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, -1, 216, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, -1, + -1, 230, -1, 232, 233, 234, 235, 236, 237, 238, + -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, -1, 277, 278, + 279, 280, 281, 282, -1, 284, 285, -1, 287, -1, + 289, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, 307, -1, + 309, -1, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, + 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, -1, 373, 374, -1, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, -1, -1, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, + -1, 430, 431, -1, 433, -1, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 520, 521, -1, 22, 23, 24, + -1, -1, -1, -1, 533, 534, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, - 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, + 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, + 75, -1, 77, 78, 79, 80, 81, -1, 83, -1, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + -1, 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - -1, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, -1, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, 171, 172, 173, 174, - 175, 176, 177, 178, -1, 180, 181, 182, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, -1, 237, 238, 239, 240, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 115, 116, 117, 118, -1, 120, -1, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, + 145, 146, 147, -1, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, 167, 168, 169, 170, -1, 172, -1, 174, + 175, 176, 177, 178, 179, 180, 181, 182, -1, 184, + 185, 186, -1, 188, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + -1, 206, 207, 208, 209, 210, 211, 212, -1, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, -1, + 225, -1, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, -1, 241, 242, 243, 244, + -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, -1, 278, 279, 280, 281, -1, 283, 284, - 285, 286, 287, 288, -1, 290, 291, -1, 293, 294, - 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, + 275, 276, 277, 278, 279, 280, 281, 282, -1, 284, + 285, 286, 287, -1, 289, 290, 291, 292, 293, 294, + -1, 296, 297, -1, 299, 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, -1, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, -1, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, -1, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, -1, 469, 470, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 3, - -1, 506, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 520, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, - 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, - 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, -1, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, -1, 161, -1, 163, - 164, 165, 166, -1, 168, -1, 170, 171, 172, 173, - 174, 175, 176, 177, 178, -1, 180, 181, -1, -1, - 184, 185, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, 238, 239, 240, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, -1, 278, 279, 280, 281, -1, 283, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, -1, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, -1, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, - 444, 445, 446, 447, 448, 449, -1, -1, 452, 453, - 454, 455, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, 466, 467, -1, 469, 470, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - -1, 3, 506, 5, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 520, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, - -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, - 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, -1, 116, -1, 118, 119, 120, 121, - 122, 123, -1, 125, 126, 127, 128, 129, 130, -1, - -1, 133, 134, 135, 136, 137, 138, 139, -1, 141, - 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, - -1, 163, 164, 165, 166, -1, 168, -1, 170, 171, - -1, 173, 174, 175, 176, 177, 178, -1, 180, 181, - 182, -1, 184, 185, 186, 187, -1, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, -1, 221, - -1, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, -1, 278, 279, 280, 281, - -1, 283, 284, 285, 286, 287, 288, -1, 290, 291, - -1, 293, 294, 295, 296, -1, -1, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, -1, -1, -1, -1, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, -1, - 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, - 342, 343, 344, 345, 346, 347, 348, -1, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, -1, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, -1, -1, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, -1, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, - -1, 423, 424, 425, 426, 427, 428, 429, -1, 431, - 432, -1, 434, -1, 436, 437, 438, 439, 440, -1, - 442, 443, 444, 445, 446, 447, 448, 449, -1, -1, - 452, 453, 454, -1, 456, 457, 458, 459, -1, 461, - 462, 463, 464, 465, 466, 467, -1, 469, 470, 471, - 472, 473, 474, 475, 476, 477, -1, -1, 480, -1, - -1, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 520, -1, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, -1, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, + 345, 346, 347, -1, 349, 350, 351, 352, 353, 354, + 355, 356, -1, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, -1, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, -1, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, -1, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, -1, 441, 442, 443, -1, + 445, -1, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, -1, -1, 463, 464, + 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, + 475, 476, 477, 478, -1, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, -1, 493, -1, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 3, -1, 519, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 533, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, + -1, 32, 33, 34, 35, 36, -1, 38, -1, 40, -1, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, - 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, -1, 116, -1, 118, 119, 120, - 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, - -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, + 81, -1, 83, -1, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, -1, 96, 97, 98, 99, 100, + 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, - 161, -1, 163, 164, 165, 166, -1, 168, -1, 170, - 171, -1, 173, 174, 175, 176, 177, 178, -1, 180, - 181, -1, -1, 184, 185, 186, 187, -1, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - -1, 202, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, -1, - 221, -1, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, -1, -1, 237, 238, 239, 240, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, -1, 167, 168, 169, 170, + -1, 172, -1, 174, 175, 176, 177, 178, 179, 180, + 181, 182, -1, 184, 185, -1, -1, 188, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, - 281, -1, 283, 284, 285, 286, 287, 288, -1, 290, - 291, -1, -1, 294, 295, 296, -1, -1, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -1, -1, -1, -1, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - -1, 332, 333, 334, 335, 336, 337, 338, 339, -1, - 341, 342, 343, 344, 345, 346, 347, 348, -1, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, -1, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, -1, -1, 385, 386, 387, 388, 389, 390, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, -1, 284, 285, 286, 287, -1, 289, 290, + 291, 292, 293, 294, -1, 296, 297, -1, -1, 300, + 301, 302, -1, -1, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, -1, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, -1, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, -1, 373, 374, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, - 421, -1, 423, 424, 425, 426, 427, 428, 429, -1, - 431, 432, -1, 434, -1, 436, 437, 438, 439, 440, - -1, 442, 443, 444, 445, 446, 447, 448, 449, -1, - -1, 452, 453, 454, -1, 456, 457, 458, 459, -1, - 461, 462, 463, 464, 465, 466, 467, -1, 469, 470, - 471, 472, 473, 474, 475, 476, 477, -1, -1, 480, - -1, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 3, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 520, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, -1, 44, 45, 46, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - -1, 61, 62, 63, 64, 65, 66, -1, 68, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, -1, 116, -1, 118, 119, - 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, - 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, - -1, 141, 142, 143, -1, 145, 146, 147, -1, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - -1, 161, -1, 163, 164, 165, 166, -1, 168, -1, - 170, 171, -1, 173, 174, 175, 176, 177, 178, -1, - 180, 181, -1, -1, 184, 185, 186, 187, -1, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, -1, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - -1, 221, -1, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, -1, -1, 237, 238, 239, - 240, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, - 280, 281, -1, 283, 284, 285, 286, 287, 288, -1, - 290, 291, -1, -1, 294, 295, 296, -1, -1, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, -1, -1, -1, - -1, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, -1, 332, 333, 334, 335, 336, 337, 338, 339, - -1, 341, 342, 343, 344, 345, 346, 347, 348, -1, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, -1, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, -1, -1, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, - 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, - -1, 431, 432, -1, 434, -1, 436, 437, 438, 439, - 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, - -1, -1, 452, 453, 454, -1, 456, 457, 458, 459, - -1, 461, 462, 463, 464, 465, 466, 467, -1, 469, - 470, 471, 472, 473, 474, 475, 476, 477, -1, -1, - 480, -1, -1, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 3, -1, -1, -1, -1, -1, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, -1, 430, + 431, 432, 433, 434, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + -1, -1, 463, 464, 465, 466, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, 477, 478, -1, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, -1, 3, 519, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 520, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, - -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, - 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, - 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, - -1, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, -1, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, -1, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, -1, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, -1, 172, -1, 174, 175, 176, -1, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, -1, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, -1, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, -1, -1, 226, -1, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, -1, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, -1, 271, 272, 273, 274, 275, 276, -1, 278, - 279, -1, 281, -1, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, -1, 294, 295, 296, -1, -1, - 299, 300, -1, 302, -1, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, -1, 321, 322, 323, -1, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, -1, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, 383, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, 422, 423, -1, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, 455, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, -1, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 3, -1, 506, -1, -1, + -1, -1, 533, -1, -1, -1, 22, 23, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, + -1, -1, -1, -1, 40, -1, -1, -1, 44, 45, + 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, + 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, + -1, 77, 78, 79, 80, 81, -1, 83, -1, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, -1, 120, -1, 122, 123, 124, 125, + 126, 127, -1, -1, 130, 131, 132, 133, 134, -1, + -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, 147, -1, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, -1, 165, + -1, 167, 168, 169, 170, -1, 172, -1, 174, 175, + -1, 177, 178, 179, 180, 181, 182, -1, 184, 185, + 186, -1, 188, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, -1, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, -1, 241, 242, 243, 244, -1, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, -1, 284, 285, + 286, 287, -1, 289, 290, 291, 292, 293, 294, -1, + 296, 297, -1, 299, 300, 301, 302, -1, -1, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, + -1, -1, -1, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, + 346, 347, -1, 349, 350, 351, 352, 353, 354, 355, + 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, -1, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, + 406, 407, 408, 409, 410, -1, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, -1, -1, 430, 431, -1, 433, 434, 435, + 436, 437, 438, 439, -1, 441, 442, 443, -1, 445, + -1, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, -1, -1, 463, 464, 465, + -1, 467, 468, 469, 470, -1, 472, 473, 474, 475, + 476, 477, 478, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, -1, 493, -1, -1, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 533, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, + -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, + 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, 83, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, + 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, -1, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, 175, -1, 177, 178, 179, 180, 181, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, 215, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, -1, 284, 285, 286, 287, -1, 289, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, 375, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, -1, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, -1, 406, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, -1, -1, 430, 431, + -1, 433, 434, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 520, -1, -1, 22, 23, 24, 25, 26, 27, + -1, 533, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, - 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, + -1, -1, 40, -1, -1, -1, 44, 45, 46, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, - 88, -1, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, -1, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, -1, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, -1, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, -1, 172, -1, 174, 175, 176, -1, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, -1, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, -1, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, -1, -1, 226, -1, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - -1, 239, -1, -1, 242, 243, 244, 245, 246, 247, + 68, 69, 70, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, 81, -1, 83, -1, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, -1, 96, 97, + 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, -1, 120, -1, 122, 123, 124, 125, 126, 127, + -1, -1, 130, 131, 132, 133, 134, -1, -1, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, + -1, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, -1, 165, -1, 167, + 168, 169, 170, -1, 172, -1, 174, 175, -1, 177, + 178, 179, 180, 181, 182, -1, 184, 185, -1, -1, + 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, -1, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, -1, 225, -1, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, -1, -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, -1, 271, 272, 273, 274, 275, 276, -1, - 278, 279, -1, 281, -1, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, -1, 302, -1, 304, 305, 306, 307, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, -1, 284, 285, 286, 287, + -1, 289, 290, 291, 292, 293, 294, -1, 296, 297, + -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, -1, 321, 322, 323, -1, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, -1, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, 383, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, 422, 423, -1, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, 455, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, -1, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, -1, 3, 506, 5, + 318, 319, 320, 321, 322, 323, 324, -1, -1, -1, + -1, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, -1, 340, 341, 342, 343, 344, 345, 346, 347, + -1, 349, 350, 351, 352, 353, 354, 355, 356, -1, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, -1, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, + 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + -1, -1, 430, 431, -1, 433, 434, 435, 436, 437, + 438, 439, -1, 441, 442, 443, -1, 445, -1, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, -1, -1, 463, 464, 465, -1, 467, + 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, + 478, -1, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, -1, 493, -1, -1, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 533, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, + -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, + 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + 74, 75, -1, 77, 78, 79, 80, 81, -1, -1, + -1, 85, 86, 87, 88, 89, 90, -1, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, -1, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, -1, 120, -1, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + -1, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, -1, 176, -1, 178, 179, 180, -1, 182, -1, + 184, 185, -1, -1, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, -1, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, -1, -1, 230, -1, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, -1, 243, + -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, -1, 277, 278, 279, 280, 281, 282, -1, + 284, 285, -1, 287, -1, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, -1, 309, -1, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, -1, 329, 330, 331, -1, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, -1, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, -1, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, -1, 430, 431, 432, 433, + -1, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, -1, 493, + -1, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 3, -1, 519, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 533, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, + 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, + 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, + -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, 81, -1, -1, -1, 85, 86, 87, 88, 89, + 90, -1, 92, 93, 94, -1, 96, 97, 98, 99, + 100, 101, -1, -1, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, -1, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, -1, 176, -1, 178, 179, + 180, -1, 182, -1, 184, 185, -1, -1, 188, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + -1, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, -1, 216, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, -1, -1, + 230, -1, 232, 233, 234, 235, 236, 237, 238, -1, + -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, -1, 277, 278, 279, + 280, 281, 282, -1, 284, 285, -1, 287, -1, 289, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, 307, -1, 309, + -1, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, -1, 329, + 330, 331, -1, 333, 334, 335, 336, 337, 338, -1, + 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, -1, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, -1, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, -1, -1, 407, 408, 409, + 410, -1, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, -1, -1, + 430, 431, 432, 433, -1, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, 445, -1, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, -1, -1, 463, 464, 465, 466, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, 477, 478, -1, + 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, -1, 493, -1, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 3, -1, 519, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 533, -1, -1, 22, 23, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, + -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, + 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, + 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, + 66, -1, -1, 69, 70, 71, 72, 73, 74, 75, + -1, 77, 78, 79, 80, 81, -1, -1, -1, 85, + 86, 87, 88, 89, 90, -1, 92, 93, 94, -1, + 96, 97, 98, 99, 100, 101, -1, -1, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, -1, 120, -1, 122, 123, 124, 125, + 126, 127, -1, -1, 130, 131, 132, 133, 134, -1, + -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, 147, -1, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, -1, 165, + -1, 167, 168, 169, 170, -1, 172, -1, 174, -1, + 176, -1, 178, 179, 180, -1, 182, -1, 184, 185, + -1, -1, 188, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, -1, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, -1, 214, -1, + 216, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 227, -1, -1, 230, -1, 232, 233, 234, 235, + 236, 237, 238, -1, -1, 241, -1, 243, -1, -1, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + -1, 277, 278, 279, 280, 281, 282, -1, 284, 285, + -1, 287, -1, 289, 290, 291, 292, 293, 294, -1, + 296, 297, -1, -1, 300, 301, 302, -1, -1, 305, + 306, 307, -1, 309, -1, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, -1, 329, 330, 331, -1, 333, 334, 335, + 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, + 346, 347, -1, 349, 350, 351, 352, 353, 354, 355, + 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, -1, 373, 374, -1, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, -1, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, + -1, 407, 408, 409, 410, -1, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, -1, -1, 430, 431, 432, 433, -1, 435, + 436, 437, 438, 439, -1, 441, 442, 443, -1, 445, + -1, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, -1, -1, 463, 464, 465, + 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, + 476, 477, 478, -1, 480, -1, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, -1, 493, -1, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, -1, 3, 519, 5, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 533, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, + -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, + 81, -1, -1, -1, 85, 86, 87, 88, 89, 90, + -1, 92, 93, 94, -1, 96, 97, 98, 99, 100, + 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, -1, -1, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, + 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, -1, 167, 168, 169, 170, + -1, 172, -1, 174, -1, -1, -1, 178, 179, 180, + -1, 182, -1, 184, 185, -1, -1, 188, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, -1, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, -1, 216, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, -1, -1, 230, + -1, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, -1, 277, 278, 279, 280, + 281, 282, -1, 284, 285, -1, 287, -1, 289, 290, + 291, 292, 293, 294, -1, 296, 297, -1, -1, 300, + 301, 302, -1, -1, 305, 306, 307, -1, 309, -1, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, + 331, -1, 333, 334, 335, 336, 337, 338, -1, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, -1, 373, 374, -1, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, -1, -1, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, -1, -1, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, -1, -1, 430, + 431, -1, 433, -1, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + -1, -1, 463, 464, 465, -1, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, -1, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 3, -1, 5, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 533, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, + -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, + -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, 74, 75, -1, + 77, 78, 79, 80, 81, -1, -1, -1, 85, 86, + 87, 88, 89, 90, -1, 92, 93, 94, -1, 96, + 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, -1, 120, -1, 122, 123, 124, 125, 126, + 127, -1, -1, 130, 131, 132, 133, 134, -1, -1, + 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, + 147, -1, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, -1, 165, -1, + 167, 168, 169, 170, -1, 172, -1, 174, -1, -1, + -1, 178, 179, 180, -1, 182, -1, 184, 185, -1, + -1, 188, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, -1, 201, 202, 203, 204, -1, 206, + 207, 208, 209, 210, 211, 212, -1, 214, -1, 216, + 217, 218, 219, 220, 221, 222, 223, -1, 225, -1, + 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, + 237, 238, -1, -1, 241, -1, 243, -1, -1, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, + 277, 278, 279, 280, 281, 282, -1, 284, 285, -1, + 287, -1, 289, 290, 291, 292, 293, 294, -1, 296, + 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, + 307, -1, 309, -1, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, + -1, -1, 329, 330, 331, -1, 333, 334, 335, 336, + 337, 338, -1, 340, 341, 342, 343, 344, 345, 346, + 347, -1, 349, 350, 351, 352, 353, 354, 355, 356, + -1, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, -1, 373, 374, -1, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, -1, -1, + 407, 408, 409, 410, -1, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, -1, -1, 430, 431, -1, 433, -1, 435, 436, + 437, 438, 439, -1, 441, 442, 443, -1, 445, -1, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, -1, -1, 463, 464, 465, -1, + 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, -1, 493, -1, -1, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 533, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, + 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, 75, -1, 77, 78, 79, 80, 81, -1, + -1, -1, 85, 86, 87, 88, 89, 90, -1, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, + 143, -1, 145, 146, 147, -1, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, -1, 167, 168, 169, 170, -1, 172, + -1, 174, -1, -1, -1, 178, 179, 180, -1, 182, + -1, 184, 185, -1, -1, 188, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, + 223, -1, 225, -1, 227, -1, -1, 230, -1, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, -1, + 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, -1, 277, 278, 279, 280, 281, 282, + -1, 284, 285, -1, 287, -1, 289, 290, 291, 292, + 293, 294, -1, 296, 297, -1, -1, 300, 301, 302, + -1, -1, 305, 306, 307, -1, 309, -1, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, 331, -1, + 333, 334, 335, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, -1, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, -1, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, -1, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, -1, -1, 430, 431, -1, + 433, -1, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, -1, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 520, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, - 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, - 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - 86, 87, 88, -1, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, -1, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, -1, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, -1, -1, -1, 174, 175, - 176, -1, 178, -1, 180, 181, -1, -1, 184, 185, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - -1, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, -1, 212, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, -1, -1, - 226, -1, 228, 229, 230, 231, 232, 233, 234, -1, - -1, 237, -1, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, -1, 271, 272, 273, 274, 275, - 276, -1, 278, 279, -1, 281, -1, 283, 284, 285, - 286, 287, 288, -1, 290, 291, -1, -1, 294, 295, - 296, -1, -1, 299, 300, -1, 302, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, 323, -1, 325, - 326, 327, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, -1, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, -1, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - -1, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, -1, 420, 421, -1, 423, -1, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, -1, - 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, - 446, 447, 448, 449, -1, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - 466, 467, -1, 469, -1, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 3, -1, + 533, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, + 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, + 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, 81, -1, -1, -1, 85, 86, 87, 88, + 89, 90, -1, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, -1, -1, -1, 178, + 179, 180, -1, 182, -1, 184, 185, -1, -1, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, -1, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, -1, 216, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, -1, + -1, 230, -1, 232, 233, 234, 235, 236, 237, 238, + -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, -1, 277, 278, + 279, 280, 281, 282, -1, 284, 285, -1, 287, -1, + 289, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, 307, -1, + 309, -1, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, + 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, -1, 373, 374, -1, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, -1, -1, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, + -1, 430, 431, -1, 433, -1, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 520, -1, -1, 22, 23, 24, + -1, -1, -1, -1, 533, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, - 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, - 85, 86, 87, 88, -1, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, -1, 102, 103, 104, + 65, 66, -1, -1, 69, 70, 71, 72, 73, 74, + 75, -1, 77, 78, 79, 80, 81, -1, -1, -1, + 85, 86, 87, 88, 89, 90, -1, 92, 93, 94, + -1, 96, 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - -1, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, -1, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, -1, -1, -1, 174, - 175, 176, -1, 178, -1, 180, 181, -1, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, -1, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, -1, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, -1, - -1, 226, -1, 228, 229, 230, 231, 232, 233, 234, - -1, -1, 237, -1, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 115, 116, 117, 118, -1, 120, -1, 122, 123, 124, + 125, 126, 127, -1, -1, 130, 131, 132, 133, 134, + -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, + 145, 146, 147, -1, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, 167, 168, 169, 170, -1, 172, -1, 174, + -1, -1, -1, 178, 179, 180, -1, 182, -1, 184, + 185, -1, -1, 188, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, -1, 201, 202, 203, 204, + -1, 206, 207, 208, 209, 210, 211, 212, -1, 214, + -1, 216, 217, 218, 219, 220, 221, 222, 223, -1, + 225, -1, 227, -1, -1, 230, -1, 232, 233, 234, + 235, 236, 237, 238, -1, -1, 241, -1, 243, -1, + -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, -1, 271, 272, 273, 274, - 275, 276, -1, 278, 279, -1, 281, -1, 283, 284, - 285, 286, 287, 288, -1, 290, 291, -1, -1, 294, - 295, 296, -1, -1, 299, 300, -1, 302, -1, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, -1, -1, -1, 321, 322, 323, -1, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, - 365, 366, -1, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, -1, -1, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, -1, 397, 398, 399, 400, -1, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, -1, 423, -1, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, -1, 469, -1, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, -1, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 3, - -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 520, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, - -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, - 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, - 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, - 84, 85, 86, 87, 88, -1, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, -1, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, -1, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, -1, 161, -1, 163, - 164, 165, 166, -1, 168, -1, 170, -1, -1, -1, - 174, 175, 176, -1, 178, -1, 180, 181, -1, -1, - 184, 185, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, -1, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, -1, 212, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - -1, -1, 226, -1, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, -1, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, -1, 271, 272, 273, - 274, 275, 276, -1, 278, 279, -1, 281, -1, 283, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, -1, -1, -1, -1, 321, 322, 323, - -1, 325, 326, 327, 328, 329, 330, -1, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, -1, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, - -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, -1, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, - -1, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, - 444, 445, 446, 447, 448, 449, -1, -1, 452, 453, - 454, -1, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, 466, 467, -1, 469, -1, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, -1, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 520, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, - -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, - 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, -1, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, -1, 116, -1, 118, 119, 120, 121, 122, - 123, -1, 125, 126, 127, 128, 129, 130, -1, -1, - 133, 134, 135, 136, 137, 138, 139, -1, 141, 142, - 143, -1, 145, 146, 147, -1, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, -1, 161, -1, - 163, 164, 165, 166, -1, 168, -1, 170, -1, -1, - -1, 174, 175, 176, -1, 178, -1, 180, 181, -1, - -1, 184, 185, 186, 187, -1, 189, 190, 191, 192, - 193, 194, 195, -1, 197, 198, 199, 200, -1, 202, - 203, 204, 205, 206, 207, 208, -1, 210, -1, 212, - 213, 214, 215, 216, 217, 218, 219, -1, 221, -1, - 223, -1, -1, 226, -1, 228, 229, 230, 231, 232, - 233, 234, -1, -1, 237, -1, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, -1, 271, 272, - 273, 274, 275, 276, -1, 278, 279, -1, 281, -1, - 283, 284, 285, 286, 287, 288, -1, 290, 291, -1, - -1, 294, 295, 296, -1, -1, 299, 300, -1, 302, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, -1, -1, -1, -1, 321, 322, - 323, -1, 325, 326, 327, 328, 329, 330, -1, 332, - 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, - 343, 344, 345, 346, 347, 348, -1, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, -1, 365, 366, -1, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - -1, -1, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, -1, 397, 398, 399, 400, -1, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, - 423, -1, 425, 426, 427, 428, 429, -1, 431, 432, - -1, 434, -1, 436, 437, 438, 439, 440, -1, 442, - 443, 444, 445, 446, 447, 448, 449, -1, -1, 452, - 453, 454, -1, 456, 457, 458, 459, -1, 461, 462, - 463, 464, 465, 466, 467, -1, 469, -1, 471, 472, - 473, 474, 475, 476, 477, -1, -1, 480, -1, -1, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 3, -1, 5, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 520, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, - -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, - 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, -1, 116, -1, 118, 119, 120, 121, - 122, 123, -1, 125, 126, 127, 128, 129, 130, -1, - -1, 133, 134, 135, 136, 137, 138, 139, -1, 141, - 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, - -1, 163, 164, 165, 166, -1, 168, -1, 170, -1, - -1, -1, 174, 175, 176, -1, 178, -1, 180, 181, - -1, -1, 184, 185, 186, 187, -1, 189, 190, 191, - 192, 193, 194, 195, -1, 197, 198, 199, 200, -1, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, 219, -1, 221, - -1, 223, -1, -1, 226, -1, 228, 229, 230, 231, - 232, 233, 234, -1, -1, 237, -1, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, -1, 278, 279, -1, 281, - -1, 283, 284, 285, 286, 287, 288, -1, 290, 291, - -1, -1, 294, 295, 296, -1, -1, 299, 300, -1, - 302, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, -1, -1, -1, -1, 321, - 322, 323, -1, 325, 326, 327, 328, 329, 330, -1, - 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, - 342, 343, 344, 345, 346, 347, 348, -1, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, -1, 365, 366, -1, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, -1, -1, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, -1, 397, 398, 399, 400, -1, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, - -1, 423, -1, 425, 426, 427, 428, 429, -1, 431, - 432, -1, 434, -1, 436, 437, 438, 439, 440, -1, - 442, 443, 444, 445, 446, 447, 448, 449, -1, -1, - 452, 453, 454, -1, 456, 457, 458, 459, -1, 461, - 462, 463, 464, 465, 466, 467, -1, 469, -1, 471, - 472, 473, 474, 475, 476, 477, -1, -1, 480, -1, - -1, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 3, -1, 5, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 520, -1, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, -1, 277, 278, 279, 280, 281, 282, -1, 284, + 285, -1, 287, -1, 289, 290, 291, 292, 293, 294, + -1, 296, 297, -1, -1, 300, 301, 302, -1, -1, + 305, 306, 307, -1, 309, -1, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + -1, -1, -1, -1, 329, 330, 331, -1, 333, 334, + 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, + 345, 346, 347, -1, 349, 350, 351, 352, 353, 354, + 355, 356, -1, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, -1, 373, 374, + -1, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + -1, -1, 407, 408, 409, 410, -1, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, -1, -1, 430, 431, -1, 433, -1, + 435, 436, 437, 438, 439, -1, 441, 442, 443, -1, + 445, -1, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, -1, -1, 463, 464, + 465, -1, 467, 468, 469, 470, -1, 472, 473, 474, + 475, 476, 477, 478, -1, 480, -1, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, -1, 493, -1, + -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 533, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - -1, -1, 83, 84, 85, 86, 87, 88, -1, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, -1, 116, -1, 118, 119, 120, - 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, - -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, + 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, + 81, -1, -1, -1, 85, 86, 87, 88, 89, 90, + -1, 92, 93, 94, -1, 96, 97, 98, 99, 100, + 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, -1, -1, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, - 161, -1, 163, 164, 165, 166, -1, 168, -1, 170, - -1, -1, -1, 174, 175, 176, -1, 178, -1, 180, - 181, -1, -1, 184, 185, 186, 187, -1, 189, 190, - 191, 192, 193, 194, 195, -1, 197, 198, 199, 200, - -1, 202, 203, 204, 205, 206, 207, 208, -1, 210, - -1, 212, 213, 214, 215, 216, 217, 218, 219, -1, - 221, -1, 223, -1, -1, 226, -1, 228, 229, 230, - 231, 232, 233, 234, -1, -1, 237, -1, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, -1, 167, 168, 169, 170, + -1, 172, -1, 174, -1, -1, -1, 178, 179, 180, + -1, 182, -1, 184, 185, -1, -1, 188, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, -1, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, -1, 216, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, -1, -1, 230, + -1, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, - 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, - 281, -1, 283, 284, 285, 286, 287, 288, -1, 290, - 291, -1, -1, 294, 295, 296, -1, -1, 299, 300, - -1, 302, -1, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -1, -1, -1, -1, - 321, 322, 323, -1, 325, 326, 327, 328, 329, 330, - -1, 332, 333, 334, 335, 336, 337, 338, 339, -1, - 341, 342, 343, 344, 345, 346, 347, 348, -1, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, -1, 365, 366, -1, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, -1, -1, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, - -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, - 421, -1, 423, -1, 425, 426, 427, 428, 429, -1, - 431, 432, -1, 434, -1, 436, 437, 438, 439, 440, - -1, 442, 443, 444, 445, 446, 447, 448, 449, -1, - -1, 452, 453, 454, -1, 456, 457, 458, 459, -1, - 461, 462, 463, 464, 465, 466, 467, -1, 469, -1, - 471, 472, 473, 474, 475, 476, 477, -1, -1, 480, - -1, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 3, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 520, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, - 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, - -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, -1, 116, -1, 118, 119, - 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, - 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, - -1, 141, 142, 143, -1, 145, 146, 147, -1, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - -1, 161, -1, 163, 164, 165, 166, -1, 168, -1, - 170, -1, -1, -1, 174, 175, 176, -1, 178, -1, - 180, 181, -1, -1, 184, 185, 186, 187, -1, 189, - 190, 191, 192, 193, 194, 195, -1, 197, 198, 199, - 200, -1, 202, 203, 204, 205, 206, 207, 208, -1, - 210, -1, 212, 213, 214, 215, 216, 217, 218, 219, - -1, 221, -1, 223, -1, -1, 226, -1, 228, 229, - 230, 231, 232, 233, 234, -1, -1, 237, -1, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - -1, 271, 272, 273, 274, 275, 276, -1, 278, 279, - -1, 281, -1, 283, 284, 285, 286, 287, 288, -1, - 290, 291, -1, -1, 294, 295, 296, -1, -1, 299, - 300, -1, 302, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, -1, -1, -1, - -1, 321, 322, 323, -1, 325, 326, 327, 328, 329, - 330, -1, 332, 333, 334, 335, 336, 337, 338, 339, - -1, 341, 342, 343, 344, 345, 346, 347, 348, -1, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, -1, 365, 366, -1, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, -1, -1, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, - 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, - 420, 421, -1, 423, -1, 425, 426, 427, 428, 429, - -1, 431, 432, -1, 434, -1, 436, 437, 438, 439, - 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, - -1, -1, 452, 453, 454, -1, 456, 457, 458, 459, - -1, 461, 462, 463, 464, 465, 466, 467, -1, 469, - -1, 471, 472, 473, 474, 475, 476, 477, -1, -1, - 480, -1, -1, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 3, -1, -1, -1, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, -1, 277, 278, 279, 280, + 281, 282, -1, 284, 285, -1, 287, -1, 289, 290, + 291, 292, 293, 294, -1, 296, 297, -1, -1, 300, + 301, 302, -1, -1, 305, 306, 307, -1, 309, -1, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, + 331, -1, 333, 334, 335, 336, 337, 338, -1, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, -1, 373, 374, -1, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, -1, -1, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, -1, -1, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, -1, -1, 430, + 431, -1, 433, -1, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + -1, -1, 463, 464, 465, -1, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, -1, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 533, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, + -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, + -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, 74, 75, -1, + 77, 78, 79, 80, 81, -1, -1, -1, 85, 86, + 87, 88, 89, 90, -1, 92, 93, 94, -1, 96, + 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, -1, 120, -1, 122, 123, 124, 125, 126, + 127, -1, -1, 130, 131, 132, 133, 134, -1, -1, + 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, + 147, -1, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, -1, 165, -1, + 167, 168, 169, 170, -1, 172, -1, 174, -1, -1, + -1, 178, 179, 180, -1, 182, -1, 184, 185, -1, + -1, 188, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, -1, 201, 202, 203, 204, -1, 206, + 207, 208, 209, 210, 211, 212, -1, 214, -1, 216, + 217, 218, 219, 220, 221, 222, 223, -1, 225, -1, + 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, + 237, 238, -1, -1, 241, -1, 243, -1, -1, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, + 277, 278, 279, 280, 281, 282, -1, 284, 285, -1, + 287, -1, 289, 290, 291, 292, 293, 294, -1, 296, + 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, + 307, -1, 309, -1, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, + -1, -1, 329, 330, 331, -1, 333, 334, 335, 336, + 337, 338, -1, 340, 341, 342, 343, 344, 345, 346, + 347, -1, 349, 350, 351, 352, 353, 354, 355, 356, + -1, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, -1, 373, 374, -1, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, -1, -1, + 407, 408, 409, 410, -1, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, -1, -1, 430, 431, -1, 433, -1, 435, 436, + 437, 438, 439, -1, 441, 442, 443, -1, 445, -1, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, -1, -1, 463, 464, 465, -1, + 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, -1, 493, -1, -1, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 533, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, + 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, 75, -1, 77, 78, 79, 80, 81, -1, + -1, -1, 85, 86, 87, 88, 89, 90, -1, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, + 143, -1, 145, 146, 147, -1, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, -1, 167, 168, 169, 170, -1, 172, + -1, 174, -1, -1, -1, 178, 179, 180, -1, 182, + -1, 184, 185, -1, -1, 188, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, + 223, -1, 225, -1, 227, -1, -1, 230, -1, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, -1, + 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, -1, 277, 278, 279, 280, 281, 282, + -1, 284, 285, -1, 287, -1, 289, 290, 291, 292, + 293, 294, -1, 296, 297, -1, -1, 300, 301, 302, + -1, -1, 305, 306, 307, -1, 309, -1, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, 331, -1, + 333, 334, 335, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, -1, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, -1, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, -1, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, -1, -1, 430, 431, -1, + 433, -1, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, -1, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 520, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 533, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, - -1, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, -1, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, -1, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, -1, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, -1, -1, -1, 174, 175, 176, -1, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, -1, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, -1, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, -1, -1, 226, -1, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, -1, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, 81, -1, -1, -1, 85, 86, 87, 88, + 89, 90, -1, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, -1, -1, -1, 178, + 179, 180, -1, 182, -1, 184, 185, -1, -1, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, -1, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, -1, 216, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, -1, + -1, 230, -1, 232, 233, 234, 235, 236, 237, 238, + -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, -1, 271, 272, 273, 274, 275, 276, -1, 278, - 279, -1, 281, -1, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, -1, 294, 295, 296, -1, -1, - 299, 300, -1, 302, -1, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, - -1, -1, 321, 322, 323, -1, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, -1, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, -1, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, -1, 423, -1, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, -1, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, -1, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, -1, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 3, -1, -1, -1, -1, + 269, 270, 271, 272, 273, 274, 275, -1, 277, 278, + 279, 280, 281, 282, -1, 284, 285, -1, 287, -1, + 289, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, 307, -1, + 309, -1, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, + 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, -1, 373, 374, -1, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, -1, -1, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, + -1, 430, 431, -1, 433, -1, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 520, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, - 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, - 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, - 88, -1, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, -1, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, -1, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, -1, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, -1, -1, -1, 174, 175, 176, -1, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, -1, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, -1, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, -1, -1, 226, -1, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - -1, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, -1, 271, 272, 273, 274, 275, 276, -1, - 278, 279, -1, 281, -1, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, -1, 302, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, -1, - -1, -1, -1, 321, 322, 323, -1, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, -1, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, -1, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, -1, 423, -1, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, -1, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, -1, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 3, -1, -1, -1, + -1, -1, -1, -1, 533, -1, -1, 22, 23, 24, + 25, -1, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 520, -1, -1, 22, 23, 24, 25, -1, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 45, 46, - -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, - -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, -1, -1, -1, 84, 85, 86, - 87, 88, -1, 90, 91, 92, -1, 94, 95, 96, - 97, 98, -1, -1, -1, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, -1, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, -1, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, -1, -1, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, -1, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, -1, 172, -1, 174, 175, 176, - -1, 178, -1, 180, -1, -1, -1, 184, 185, -1, - 187, -1, 189, 190, 191, 192, 193, 194, 195, -1, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, -1, 212, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, -1, -1, 226, - -1, 228, -1, 230, 231, 232, 233, 234, -1, -1, - 237, -1, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, -1, 271, 272, 273, 274, -1, 276, - -1, 278, 279, -1, 281, -1, 283, 284, 285, 286, - 287, 288, -1, 290, 291, -1, -1, 294, 295, 296, - -1, -1, 299, 300, -1, 302, -1, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, -1, -1, 316, - 317, 318, 319, -1, 321, 322, 323, -1, 325, 326, - 327, 328, 329, 330, -1, 332, 333, 334, 335, 336, - -1, -1, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, -1, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - -1, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, 383, -1, 385, 386, - 387, 388, 389, 390, 391, 392, 393, -1, 395, -1, - -1, 398, 399, 400, -1, -1, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, -1, 420, 421, 422, 423, -1, 425, 426, - 427, 428, 429, -1, 431, 432, -1, -1, -1, 436, - 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, - 447, 448, 449, -1, -1, 452, 453, 454, 455, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, 466, - 467, -1, 469, -1, 471, -1, 473, 474, 475, 476, - -1, -1, -1, 480, -1, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, -1, -1, 506, - -1, -1, 3, 4, 5, -1, -1, 8, 9, -1, - -1, -1, -1, 520, 15, 16, -1, -1, 19, 20, + 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, + 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, + 65, 66, -1, -1, 69, 70, 71, 72, 73, 74, + 75, -1, 77, 78, 79, 80, 81, -1, -1, -1, + -1, 86, 87, 88, 89, 90, -1, 92, 93, 94, + -1, 96, 97, 98, 99, 100, -1, -1, -1, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, -1, 120, -1, 122, 123, 124, + 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, + -1, -1, 137, 138, 139, 140, 141, -1, -1, -1, + 145, 146, 147, -1, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, 167, 168, 169, 170, -1, 172, -1, 174, + -1, 176, -1, 178, 179, 180, -1, 182, -1, 184, + -1, -1, -1, 188, 189, -1, 191, -1, 193, 194, + 195, 196, 197, 198, 199, -1, 201, 202, 203, 204, + -1, 206, 207, 208, 209, 210, 211, 212, -1, 214, + -1, 216, 217, 218, 219, 220, 221, 222, 223, -1, + 225, -1, 227, -1, -1, 230, -1, 232, -1, 234, + 235, 236, 237, 238, -1, -1, 241, -1, 243, -1, + -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, -1, 277, 278, 279, 280, -1, 282, -1, 284, + 285, -1, 287, -1, 289, 290, 291, 292, 293, 294, + -1, 296, 297, -1, -1, 300, 301, 302, -1, -1, + 305, 306, 307, -1, 309, -1, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, -1, -1, 323, 324, + 325, 326, 327, -1, 329, 330, 331, -1, 333, 334, + 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, + -1, -1, 347, -1, 349, 350, 351, 352, 353, 354, + 355, 356, -1, 358, 359, 360, -1, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, -1, 373, 374, + -1, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, -1, + 405, -1, -1, 408, 409, 410, -1, -1, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, -1, 430, 431, 432, 433, -1, + 435, 436, 437, 438, 439, -1, 441, 442, 443, -1, + -1, -1, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, -1, -1, 463, 464, + 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, + 475, 476, 477, 478, -1, 480, -1, 482, -1, 484, + 485, 486, 487, -1, 489, 490, -1, -1, 493, -1, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, -1, -1, 519, -1, -1, 3, 4, 5, + -1, -1, 8, 9, -1, -1, -1, -1, 533, 15, + 16, -1, -1, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, -1, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, -1, 158, 159, 160, 161, 162, -1, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, -1, -1, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + -1, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, -1, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, -1, 308, 309, 310, -1, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, -1, 332, 333, 334, -1, + 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, -1, 428, 429, 430, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, -1, 450, -1, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, + 476, -1, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 513, 514, 515, + 516, -1, 3, -1, 520, 521, 522, 8, 524, 525, + 526, 527, 528, 529, 15, 16, -1, -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, -1, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, -1, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, -1, 154, 155, 156, 157, 158, -1, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, -1, -1, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, + -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, + 81, -1, -1, -1, 85, 86, 87, 88, 89, 90, + -1, 92, 93, 94, -1, 96, 97, 98, 99, 100, + 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, -1, -1, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, + 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, -1, 167, 168, 169, 170, + -1, 172, -1, 174, -1, -1, -1, 178, 179, 180, + -1, 182, -1, 184, 185, -1, -1, 188, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, -1, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, -1, 216, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, -1, -1, 230, + -1, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, -1, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, -1, - 301, 302, 303, -1, 305, 306, 307, 308, 309, 310, + 271, 272, 273, 274, 275, -1, 277, 278, 279, 280, + 281, 282, -1, 284, 285, -1, 287, -1, 289, 290, + 291, 292, 293, 294, -1, 296, 297, -1, -1, 300, + 301, 302, -1, -1, 305, 306, 307, -1, 309, -1, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, -1, 324, 325, 326, -1, 328, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, + 331, -1, 333, 334, 335, 336, 337, 338, -1, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, + 371, -1, 373, 374, -1, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, -1, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, -1, 439, -1, - 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, - 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, - 461, 462, 463, 464, 465, -1, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 500, - 501, 502, 503, -1, 3, -1, 507, 508, 509, 8, - 511, 512, 513, 514, 515, 516, 15, 16, -1, -1, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 391, 392, -1, -1, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, -1, -1, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, -1, -1, 430, + 431, -1, 433, -1, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + -1, -1, 463, 464, 465, -1, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, -1, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, -1, -1, -1, 520, + 521, 522, -1, 524, 525, 526, 527, 528, 529, 8, + -1, -1, 11, -1, -1, -1, 15, 16, 17, 18, + 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 8, -1, -1, 11, 37, -1, + -1, 15, 16, 17, 18, 19, 20, 21, -1, 48, + -1, -1, -1, -1, -1, -1, 55, -1, -1, 8, + -1, -1, 11, 37, -1, -1, 15, 16, 17, 18, + 19, 20, 21, -1, 48, -1, -1, -1, -1, -1, + -1, 55, -1, 82, -1, -1, -1, -1, 37, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, + -1, -1, 8, -1, -1, 11, 55, -1, 82, 15, + 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 37, -1, 82, -1, -1, -1, -1, -1, -1, + -1, -1, 48, 8, -1, -1, 11, -1, -1, 55, + 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, -1, -1, -1, 82, -1, -1, -1, + -1, -1, 181, 48, -1, -1, -1, -1, -1, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 200, -1, -1, -1, -1, 205, 181, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, + -1, -1, -1, -1, -1, -1, 200, -1, -1, 228, + 229, 205, 181, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 244, -1, -1, -1, -1, + -1, 200, -1, -1, 228, 229, 205, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 244, -1, -1, -1, -1, 181, -1, -1, 8, 228, + 229, 11, -1, -1, 283, -1, 16, 286, -1, 19, + 20, 21, -1, -1, 200, 244, -1, -1, -1, 205, + -1, 300, -1, -1, 303, -1, -1, -1, -1, 283, + -1, -1, 286, -1, -1, -1, 181, -1, 48, -1, + -1, -1, 228, 229, -1, 55, 300, -1, -1, 303, + -1, -1, -1, -1, 283, 200, -1, 286, 244, -1, + 205, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 300, 82, -1, 303, -1, -1, -1, -1, -1, + -1, -1, -1, 228, 229, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 283, -1, 244, + 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 300, -1, -1, 303, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 406, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, + -1, 286, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 406, 8, -1, 300, 11, -1, 303, -1, + 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, + -1, 181, -1, -1, -1, -1, -1, 406, -1, -1, + -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, + 200, -1, -1, 48, -1, 205, -1, -1, -1, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 8, -1, -1, 11, -1, 228, 229, + 406, 16, -1, -1, 19, 20, 21, 82, -1, -1, + -1, -1, -1, -1, 244, -1, -1, -1, 517, -1, + -1, 520, 521, 522, -1, 524, 525, 526, 527, 528, + 529, -1, -1, 48, -1, 534, -1, -1, -1, -1, + 55, 406, -1, 517, -1, -1, 520, 521, 522, -1, + 524, 525, 526, 527, 528, 529, 286, -1, -1, -1, + 534, -1, -1, -1, -1, -1, -1, 82, 517, -1, + 300, 520, 521, 522, -1, 524, 525, 526, 527, 528, + 529, -1, -1, -1, 8, 534, -1, 11, -1, -1, + -1, 15, 16, 17, 18, 19, 20, 21, -1, -1, + -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, + -1, 517, -1, 37, 520, 521, 522, -1, 524, 525, + 526, 527, 528, 529, 48, 200, 532, -1, -1, -1, + 205, 55, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 517, 228, 229, 520, 521, 522, 82, 524, + 525, 526, 527, 528, 529, -1, 181, 532, -1, 244, + -1, -1, -1, -1, -1, -1, 406, -1, -1, -1, + -1, -1, -1, -1, -1, 200, -1, -1, -1, -1, + 205, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, + -1, 286, -1, 228, 229, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 300, -1, -1, 303, 244, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 181, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, + -1, 286, -1, -1, -1, -1, 200, -1, -1, -1, + -1, 205, -1, -1, -1, 300, -1, 517, -1, -1, + 520, 521, 522, -1, 524, 525, 526, 527, 528, 529, + -1, -1, -1, -1, 228, 229, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 244, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 283, + -1, -1, 286, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 300, -1, -1, 303, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 517, -1, -1, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, -1, -1, 532, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 406, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 517, -1, -1, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3, -1, -1, 517, -1, -1, 520, 521, 522, -1, + 524, 525, 526, 527, 528, 529, -1, -1, 532, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 526, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, - -1, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, -1, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, -1, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, -1, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, -1, -1, -1, 174, 175, 176, -1, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, -1, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, -1, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, -1, -1, 226, -1, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, -1, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, 81, -1, -1, -1, 85, 86, 87, 88, + 89, 90, -1, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, -1, -1, -1, 178, + 179, 180, -1, 182, -1, 184, 185, -1, -1, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, -1, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, -1, 216, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, -1, + -1, 230, -1, 232, 233, 234, 235, 236, 237, 238, + -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, -1, 271, 272, 273, 274, 275, 276, -1, 278, - 279, -1, 281, -1, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, -1, 294, 295, 296, -1, -1, - 299, 300, -1, 302, -1, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, - -1, -1, 321, 322, 323, -1, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, -1, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, -1, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, -1, 423, -1, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, -1, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, -1, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, -1, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, -1, -1, -1, 507, 508, - 509, -1, 511, 512, 513, 514, 515, 516, 8, -1, - -1, 11, -1, -1, -1, 15, 16, 17, 18, 19, + 269, 270, 271, 272, 273, 274, 275, -1, 277, 278, + 279, 280, 281, 282, -1, 284, 285, -1, 287, -1, + 289, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, 307, -1, + 309, -1, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, + 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, -1, 373, 374, -1, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, -1, -1, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, + -1, 430, 431, -1, 433, -1, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, + -1, -1, -1, -1, -1, -1, -1, 526, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, + 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, + 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, + 65, 66, -1, -1, 69, 70, 71, 72, 73, 74, + 75, -1, 77, 78, 79, 80, 81, -1, -1, -1, + 85, 86, 87, 88, 89, 90, -1, 92, 93, 94, + -1, 96, 97, 98, 99, 100, 101, -1, -1, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, -1, 120, -1, 122, 123, 124, + 125, 126, 127, -1, -1, 130, 131, 132, 133, 134, + -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, + 145, 146, 147, -1, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, 167, 168, 169, 170, -1, 172, -1, 174, + -1, -1, -1, 178, 179, 180, -1, 182, -1, 184, + 185, -1, -1, 188, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, -1, 201, 202, 203, 204, + -1, 206, 207, 208, 209, 210, 211, 212, -1, 214, + -1, 216, 217, 218, 219, 220, 221, 222, 223, -1, + 225, -1, 227, -1, -1, 230, -1, 232, 233, 234, + 235, 236, 237, 238, -1, -1, 241, -1, 243, -1, + -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, -1, 277, 278, 279, 280, 281, 282, -1, 284, + 285, -1, 287, -1, 289, 290, 291, 292, 293, 294, + -1, 296, 297, -1, -1, 300, 301, 302, -1, -1, + 305, 306, 307, -1, 309, -1, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + -1, -1, -1, -1, 329, 330, 331, -1, 333, 334, + 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, + 345, 346, 347, -1, 349, 350, 351, 352, 353, 354, + 355, 356, -1, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, -1, 373, 374, + -1, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + -1, -1, 407, 408, 409, 410, -1, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, -1, -1, 430, 431, -1, 433, -1, + 435, 436, 437, 438, 439, -1, 441, 442, 443, -1, + 445, -1, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, -1, -1, 463, 464, + 465, -1, 467, 468, 469, 470, -1, 472, 473, 474, + 475, 476, 477, 478, -1, 480, -1, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, -1, 493, -1, + -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 3, 4, 5, -1, -1, -1, 9, -1, + -1, 526, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, 38, -1, 40, + -1, -1, -1, 44, 45, 46, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, + 81, -1, 83, -1, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, -1, 96, 97, 98, 99, 100, + 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, -1, -1, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, + 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, -1, 167, 168, 169, 170, + -1, 172, -1, 174, 175, -1, 177, 178, 179, 180, + 181, 182, -1, 184, 185, -1, -1, 188, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, -1, 284, 285, 286, 287, -1, 289, 290, + 291, 292, 293, 294, -1, 296, 297, 298, -1, 300, + 301, 302, -1, -1, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, + 331, 332, 333, 334, 335, 336, 337, 338, -1, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, -1, 373, 374, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, -1, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, -1, -1, 430, + 431, -1, 433, 434, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + -1, -1, 463, 464, 465, -1, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, 477, 478, -1, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, -1, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, -1, -1, 8, -1, + -1, 11, -1, 524, 525, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 8, + -1, -1, -1, 43, -1, -1, -1, -1, 48, 8, -1, -1, 11, -1, -1, 55, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, - 80, -1, -1, -1, -1, -1, -1, -1, -1, 48, + -1, -1, 82, -1, -1, -1, -1, -1, -1, 48, 8, -1, -1, 11, -1, -1, 55, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, - -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, - 48, -1, -1, -1, -1, -1, -1, 55, -1, -1, + -1, -1, -1, 82, -1, -1, -1, -1, 128, -1, + 48, -1, -1, 8, -1, -1, 11, 55, -1, -1, + 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, -1, 82, -1, -1, 42, -1, -1, + -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, + 55, 181, -1, -1, 8, -1, -1, 11, -1, -1, + -1, 15, 16, 17, 18, 19, 20, 21, -1, -1, + 200, -1, -1, -1, -1, 205, -1, 82, -1, -1, + -1, -1, 171, 37, -1, -1, -1, 176, -1, -1, + -1, -1, 181, -1, 48, -1, -1, -1, 228, 229, + -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 200, -1, -1, 244, -1, 205, -1, -1, -1, + -1, -1, 170, -1, -1, -1, -1, -1, 82, -1, + -1, -1, -1, 181, -1, -1, -1, -1, -1, 228, + 229, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 200, 283, -1, 244, 286, 205, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, + 300, -1, -1, 303, -1, -1, 181, -1, -1, -1, + 228, 229, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 283, 200, 244, 286, -1, -1, + 205, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 300, -1, -1, 303, -1, -1, -1, -1, -1, + -1, -1, -1, 228, 229, -1, -1, 181, -1, -1, + -1, -1, -1, -1, -1, 283, -1, -1, 286, 244, + -1, -1, -1, -1, -1, -1, 200, -1, -1, -1, + -1, 205, 300, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 196, -1, -1, -1, - -1, 201, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, - -1, -1, -1, -1, 224, 225, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 196, -1, -1, - 240, -1, 201, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, - -1, -1, -1, -1, -1, 224, 225, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 277, 196, -1, - 280, 240, -1, 201, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 294, -1, -1, 297, -1, -1, - -1, -1, -1, -1, -1, -1, 224, 225, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, - -1, 280, 240, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 294, -1, -1, 297, -1, + -1, -1, -1, -1, 228, 229, 406, -1, 283, -1, + -1, 286, -1, -1, -1, -1, 334, -1, -1, -1, + 244, -1, -1, -1, -1, 300, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 277, - -1, -1, 280, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 294, -1, -1, 297, + -1, -1, -1, -1, -1, -1, -1, 406, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 283, + -1, -1, 286, -1, -1, -1, -1, -1, -1, -1, + -1, 471, -1, -1, -1, -1, 300, -1, -1, 303, + -1, -1, -1, -1, -1, -1, -1, -1, 406, -1, + 8, -1, -1, 11, -1, -1, -1, 15, 16, 17, + 18, 19, 20, 21, 328, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 517, -1, 37, + 520, 521, 522, -1, 524, 525, 526, 527, 528, 529, + 48, 406, -1, -1, -1, -1, -1, 55, -1, -1, + -1, -1, -1, 8, -1, -1, 11, -1, -1, -1, + 15, 16, 17, 18, 19, 20, 21, -1, 517, -1, + -1, 520, 521, 522, 82, 524, 525, 526, 527, 528, + 529, -1, 37, -1, -1, -1, -1, 42, -1, -1, + -1, -1, 406, 48, -1, -1, -1, -1, -1, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, 517, + -1, -1, 520, 521, 522, -1, 524, 525, 526, 527, + 528, 529, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 396, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 517, -1, -1, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, -1, -1, -1, 176, -1, + -1, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 200, -1, -1, -1, -1, 205, -1, -1, + -1, -1, -1, 517, -1, -1, 520, 521, 522, -1, + 524, 525, 526, 527, 528, 529, -1, -1, -1, -1, + 228, 229, -1, -1, -1, -1, 181, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 244, -1, -1, -1, + -1, -1, -1, -1, -1, 200, -1, -1, -1, -1, + 205, 8, -1, -1, 11, -1, -1, -1, 15, 16, + 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, + -1, -1, -1, 228, 229, 283, -1, -1, 286, -1, + 37, -1, -1, -1, -1, 42, -1, -1, -1, 244, + -1, 48, 300, -1, -1, 303, -1, -1, 55, -1, + -1, -1, -1, 8, -1, -1, 11, -1, -1, -1, + 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, + -1, -1, -1, -1, -1, 82, -1, -1, 283, -1, + -1, 286, 37, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 48, -1, 300, -1, -1, 303, -1, + 55, -1, -1, -1, -1, 8, -1, -1, 11, -1, + -1, -1, 15, 16, 17, 18, 19, 20, 21, -1, + -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, + -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 48, -1, -1, 406, -1, + -1, -1, 55, -1, -1, -1, -1, 8, -1, -1, + 11, -1, -1, -1, 15, 16, 17, 18, 19, 20, + 21, -1, -1, -1, 181, -1, -1, -1, -1, 82, + -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, + -1, 42, -1, 200, -1, -1, -1, 48, 205, -1, + -1, 406, -1, -1, 55, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 171, -1, -1, -1, + -1, 228, 229, -1, -1, -1, 181, -1, -1, -1, + -1, 82, -1, -1, -1, -1, -1, 244, -1, -1, + -1, -1, -1, -1, -1, 200, -1, -1, -1, -1, + 205, -1, -1, -1, -1, -1, -1, -1, -1, 517, + -1, -1, 520, 521, 522, -1, 524, 525, 526, 527, + 528, 529, -1, 228, 229, -1, 283, -1, 181, 286, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 244, + -1, -1, -1, 300, -1, -1, 303, 200, -1, -1, + -1, -1, 205, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 517, -1, -1, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, 228, 229, -1, 283, -1, + 181, 286, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 244, -1, -1, -1, 300, -1, -1, 303, 200, + -1, -1, -1, -1, 205, 8, -1, -1, 11, -1, + -1, -1, 15, 16, 17, 18, 19, 20, 21, -1, + -1, -1, -1, -1, -1, -1, -1, 228, 229, -1, + 283, -1, -1, 286, 37, -1, -1, -1, -1, -1, + -1, -1, -1, 244, -1, 48, -1, 300, -1, 406, + 303, -1, 55, -1, -1, -1, -1, 8, -1, -1, + 11, -1, -1, -1, 15, 16, 17, 18, 19, 20, + 21, -1, -1, -1, -1, -1, -1, -1, -1, 82, + -1, -1, 283, -1, -1, 286, 37, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 48, -1, 300, + -1, 406, 303, -1, 55, -1, -1, -1, -1, 8, + -1, -1, 11, -1, -1, -1, 15, 16, 17, 18, + 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, + -1, 82, -1, -1, -1, -1, -1, -1, 37, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, + -1, -1, -1, 406, -1, -1, 55, -1, -1, -1, + 517, -1, -1, 520, 521, 522, -1, 524, 525, 526, + 527, 528, 529, -1, -1, -1, -1, -1, 181, -1, + -1, -1, -1, 82, -1, -1, -1, 440, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 200, -1, -1, + -1, -1, 205, -1, -1, 406, -1, -1, -1, -1, + -1, -1, 517, -1, -1, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, 228, 229, -1, -1, -1, + 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 244, -1, -1, -1, -1, -1, -1, -1, 200, + -1, -1, -1, -1, 205, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 517, -1, -1, 520, 521, 522, + -1, 524, 525, 526, 527, 528, 529, 228, 229, -1, + 283, -1, 181, 286, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 244, -1, -1, -1, 300, -1, -1, + 303, 200, -1, -1, -1, -1, 205, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 517, -1, -1, 520, + 521, 522, -1, 524, 525, 526, 527, 528, 529, 228, + 229, -1, 283, -1, -1, 286, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 244, -1, -1, -1, 300, + -1, -1, 303, -1, -1, -1, -1, -1, -1, 8, + -1, -1, 11, -1, -1, -1, -1, 16, 17, 18, + 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 283, -1, -1, 286, 37, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, + -1, 300, -1, 406, 303, -1, 55, -1, -1, -1, + -1, 8, -1, -1, 11, -1, -1, -1, 15, 16, + -1, -1, 19, 20, 21, -1, -1, -1, -1, -1, + -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, + 37, 8, -1, -1, 11, -1, -1, -1, -1, 16, + -1, 48, 19, 20, 21, 406, -1, -1, 55, -1, + -1, -1, -1, 8, -1, -1, 11, -1, -1, -1, + 37, 16, -1, -1, 19, 20, 21, -1, -1, -1, + -1, 48, -1, -1, -1, 82, -1, -1, 55, -1, + -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 48, -1, -1, -1, 406, -1, -1, + 55, -1, -1, -1, 517, 82, -1, 520, 521, 522, + -1, 524, 525, 526, 527, 528, 529, -1, -1, -1, + -1, -1, 181, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 396, -1, -1, + -1, 200, -1, -1, -1, -1, 205, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 517, -1, -1, 520, + 521, 522, -1, 524, 525, 526, 527, 528, 529, 228, + 229, -1, -1, -1, 181, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 244, -1, -1, -1, -1, + -1, -1, -1, 200, -1, -1, -1, -1, 205, -1, + -1, -1, -1, -1, 181, -1, -1, -1, 517, -1, + -1, 520, 521, 522, -1, 524, 525, 526, 527, 528, + 529, 228, 229, 200, 283, -1, 181, 286, 205, -1, + -1, -1, -1, -1, -1, -1, -1, 244, -1, -1, + -1, 300, -1, -1, 303, 200, -1, -1, -1, -1, + 205, 228, 229, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 244, -1, -1, + -1, -1, -1, 228, 229, -1, 283, -1, -1, 286, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 244, + -1, -1, -1, 300, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 283, -1, -1, 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 300, -1, -1, 303, -1, 283, -1, + -1, 286, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 300, -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 396, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 504, -1, -1, 507, 508, 509, - -1, 511, 512, 513, 514, 515, 516, -1, -1, 519, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 504, -1, -1, 507, 508, - 509, -1, 511, 512, 513, 514, 515, 516, -1, -1, - 519, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3, -1, -1, 504, -1, -1, 507, - 508, 509, -1, 511, 512, 513, 514, 515, 516, -1, - -1, 519, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 3, -1, -1, -1, -1, -1, - -1, -1, -1, 513, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, - -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, - 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, - 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, - -1, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, -1, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, -1, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, -1, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, -1, -1, -1, 174, 175, 176, -1, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, -1, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, -1, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, -1, -1, 226, -1, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, -1, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, -1, 271, 272, 273, 274, 275, 276, -1, 278, - 279, -1, 281, -1, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, -1, 294, 295, 296, -1, -1, - 299, 300, -1, 302, -1, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, - -1, -1, 321, 322, 323, -1, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, -1, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, -1, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, -1, 423, -1, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, -1, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, -1, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, -1, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 3, -1, -1, -1, -1, - -1, -1, -1, -1, 513, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, - 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, - 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, - 88, -1, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, -1, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, -1, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, -1, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, -1, -1, -1, 174, 175, 176, -1, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, -1, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, -1, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, -1, -1, 226, -1, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - -1, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, -1, 271, 272, 273, 274, 275, 276, -1, - 278, 279, -1, 281, -1, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, -1, 302, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, -1, - -1, -1, -1, 321, 322, 323, -1, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, -1, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, -1, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, -1, 423, -1, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, -1, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, -1, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 3, 4, 5, -1, - -1, -1, 9, -1, -1, 513, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, 38, -1, 40, -1, -1, -1, 44, 45, 46, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 406, -1, -1, -1, -1, -1, -1, 517, -1, + -1, 520, 521, 522, -1, 524, 525, 526, 527, 528, + 529, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 517, -1, -1, 520, 521, 522, -1, 524, 525, 526, + 527, 528, 529, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 517, -1, -1, 520, 521, 522, -1, 524, 525, 526, + 527, 528, 529, -1, -1, -1, 3, -1, 5, -1, + -1, -1, 517, -1, -1, 520, 521, 522, -1, 524, + 525, 526, 527, 528, 529, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, 171, -1, 173, 174, 175, 176, - 177, 178, -1, 180, 181, -1, -1, 184, 185, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, 238, 239, 240, -1, 242, 243, 244, 245, 246, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - -1, 278, 279, 280, 281, -1, 283, 284, 285, 286, - 287, 288, -1, 290, 291, 292, -1, 294, 295, 296, - -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, 384, 385, 386, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 448, 449, -1, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, 466, - 467, -1, 469, 470, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 3, 4, 5, - -1, -1, -1, 9, 511, 512, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, 38, -1, 40, -1, -1, -1, 44, 45, - 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, 171, -1, 173, 174, 175, - 176, 177, 178, -1, 180, 181, -1, -1, 184, 185, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, -1, - -1, 237, 238, 239, 240, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, -1, 278, 279, 280, 281, -1, 283, 284, 285, - 286, 287, 288, -1, 290, 291, 292, -1, 294, 295, - 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, -1, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 448, 449, -1, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - 466, 467, -1, 469, 470, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 3, 4, - 5, -1, -1, -1, 9, 511, 512, -1, -1, -1, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, - -1, -1, -1, 38, -1, 40, -1, -1, -1, 44, - 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, - 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - -1, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, 171, -1, 173, 174, - 175, 176, 177, 178, -1, 180, 181, -1, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, 224, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - -1, -1, 237, 238, 239, 240, -1, 242, 243, 244, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, -1, 278, 279, 280, 281, -1, 283, 284, - 285, 286, 287, 288, -1, 290, 291, 292, -1, 294, - 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, -1, -1, -1, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, -1, 384, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, -1, 402, 403, 404, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, -1, 469, 470, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, -1, 483, 484, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, -1, - -1, 8, -1, -1, 11, -1, 511, 512, 15, 16, - 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 37, -1, -1, -1, -1, -1, 43, -1, -1, -1, - -1, 48, 8, -1, -1, 11, -1, -1, 55, 15, - 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 37, -1, 80, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 8, -1, -1, 11, -1, -1, 55, - 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, -1, 80, -1, -1, 124, -1, -1, - -1, -1, -1, 48, 8, -1, -1, 11, -1, -1, - 55, 15, 16, 17, 18, 19, 20, 21, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, -1, 80, -1, -1, 42, -1, - -1, -1, -1, -1, 48, -1, -1, -1, -1, -1, - 177, 55, -1, -1, 8, -1, -1, 11, -1, -1, - -1, 15, 16, 17, 18, 19, 20, 21, -1, 196, - -1, -1, -1, -1, 201, -1, 80, -1, -1, -1, - -1, 167, -1, 37, -1, -1, 172, -1, -1, -1, - -1, 177, -1, -1, 48, -1, -1, 224, 225, -1, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - 196, -1, -1, 240, -1, 201, -1, -1, -1, -1, - -1, 166, -1, -1, -1, -1, 80, -1, -1, -1, - -1, -1, 177, -1, -1, -1, -1, -1, 224, 225, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 277, 196, -1, 280, 240, -1, 201, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 294, -1, -1, - 297, -1, -1, 177, -1, -1, -1, -1, -1, 224, - 225, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 277, 196, -1, 280, 240, -1, 201, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 294, -1, - -1, 297, -1, -1, -1, -1, -1, -1, -1, -1, - 224, 225, -1, 177, -1, -1, -1, -1, -1, -1, - -1, -1, 277, -1, -1, 280, 240, -1, -1, -1, - -1, -1, 196, -1, -1, -1, -1, 201, -1, 294, - -1, -1, 297, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 396, - 224, 225, -1, 277, -1, -1, 280, -1, -1, -1, - -1, 326, -1, -1, -1, -1, 240, -1, -1, -1, - 294, -1, -1, 297, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 396, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 277, -1, -1, 280, -1, -1, -1, - -1, -1, -1, 460, -1, -1, -1, -1, -1, -1, - 294, -1, -1, 297, -1, -1, -1, -1, -1, -1, - -1, 396, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 320, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, - 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, - -1, -1, 396, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 8, -1, -1, 11, -1, -1, -1, - 15, 16, 17, 18, 19, 20, 21, -1, 504, -1, - -1, 507, 508, 509, -1, 511, 512, 513, 514, 515, - 516, -1, 37, -1, -1, -1, -1, 42, -1, -1, - -1, -1, 396, 48, 8, -1, -1, 11, -1, -1, - 55, 15, 16, 17, 18, 19, 20, 21, -1, 504, - -1, -1, 507, 508, 509, -1, 511, 512, 513, 514, - 515, 516, -1, 37, -1, 80, -1, -1, -1, -1, - -1, -1, -1, -1, 48, -1, -1, -1, -1, -1, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - 504, -1, -1, 507, 508, 509, -1, 511, 512, 513, - 514, 515, 516, -1, -1, -1, 80, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 8, -1, -1, 11, -1, -1, - -1, 15, 16, 17, 18, 19, 20, 21, -1, -1, - 504, -1, -1, 507, 508, 509, -1, 511, 512, 513, - 514, 515, 516, 37, -1, -1, -1, -1, 42, -1, - -1, -1, 177, -1, 48, -1, 8, -1, -1, 11, - -1, 55, -1, 15, 16, 17, 18, 19, 20, 21, - -1, 196, -1, -1, -1, -1, 201, -1, -1, -1, - -1, -1, -1, -1, -1, 37, 80, -1, 172, -1, - -1, -1, -1, 177, -1, -1, 48, -1, -1, 224, - 225, -1, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, 196, -1, -1, 240, -1, 201, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 224, 225, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 277, -1, -1, 280, 240, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 294, - -1, -1, 297, -1, -1, -1, -1, -1, -1, 8, - -1, -1, 11, 177, -1, -1, 15, 16, 17, 18, - 19, 20, 21, 277, -1, -1, 280, -1, -1, -1, - -1, -1, 196, -1, -1, -1, -1, 201, 37, -1, - 294, -1, -1, 297, -1, 167, -1, -1, -1, 48, - -1, -1, -1, -1, -1, 177, 55, -1, -1, -1, - 224, 225, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 196, -1, 240, -1, -1, 201, - -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 396, 224, 225, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 277, -1, -1, 280, -1, 240, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 294, -1, -1, 297, -1, -1, -1, -1, -1, -1, - -1, -1, 396, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 277, -1, -1, 280, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 294, -1, -1, 297, -1, -1, 177, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 196, -1, -1, - -1, -1, 201, -1, -1, -1, -1, -1, -1, 504, - -1, -1, 507, 508, 509, -1, 511, 512, 513, 514, - 515, 516, -1, -1, -1, 224, 225, -1, -1, -1, - -1, -1, 396, -1, -1, 8, -1, -1, 11, -1, - -1, 240, 15, 16, 17, 18, 19, 20, 21, -1, - 504, -1, -1, 507, 508, 509, -1, 511, 512, 513, - 514, 515, 516, -1, 37, -1, -1, -1, -1, 42, - -1, -1, -1, -1, 396, 48, -1, -1, 277, -1, - -1, 280, 55, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 294, -1, -1, 297, -1, - -1, -1, -1, -1, -1, -1, 8, 80, -1, 11, - -1, -1, -1, 15, 16, 17, 18, 19, 20, 21, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, - 504, -1, -1, 507, 508, 509, 48, 511, 512, 513, - 514, 515, 516, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, - -1, -1, 504, -1, -1, 507, 508, 509, -1, 511, - 512, 513, 514, 515, 516, -1, -1, 396, 8, -1, - -1, 11, -1, -1, 177, 15, 16, 17, 18, 19, - 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 196, -1, -1, -1, 37, 201, 8, - -1, 430, 11, -1, -1, -1, 15, 16, 48, -1, - 19, 20, 21, -1, -1, 55, -1, -1, -1, -1, - -1, 224, 225, -1, -1, -1, -1, -1, 37, -1, - -1, -1, -1, -1, -1, -1, -1, 240, -1, 48, - 80, -1, -1, -1, -1, 177, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 196, -1, -1, -1, -1, 201, - -1, 80, -1, -1, 277, 504, -1, 280, 507, 508, - 509, -1, 511, 512, 513, 514, 515, 516, -1, -1, - -1, 294, 224, 225, 297, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 240, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 8, -1, -1, 11, -1, -1, -1, 177, 16, -1, - -1, 19, 20, 21, -1, 277, -1, -1, 280, -1, - -1, -1, -1, -1, -1, -1, 196, -1, -1, 37, - -1, 201, 294, -1, -1, 297, -1, -1, 177, -1, - 48, -1, -1, -1, -1, -1, -1, 55, -1, -1, - -1, -1, -1, -1, 224, 225, -1, 196, -1, -1, - -1, -1, 201, 396, -1, -1, -1, -1, -1, -1, - 240, -1, 80, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 224, 225, -1, -1, -1, - -1, -1, 8, -1, -1, 11, -1, -1, -1, -1, - 16, 240, -1, 19, 20, 21, -1, 277, -1, -1, - 280, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 37, -1, -1, 294, -1, -1, 297, -1, -1, - -1, -1, 48, -1, 396, -1, -1, -1, 277, 55, - -1, 280, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 294, -1, -1, -1, -1, - -1, -1, -1, -1, 80, -1, -1, -1, -1, 177, - -1, 504, -1, -1, 507, 508, 509, -1, 511, 512, - 513, 514, 515, 516, -1, -1, -1, -1, 196, -1, - -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 224, 225, -1, -1, - -1, -1, -1, -1, -1, -1, 396, -1, -1, -1, - -1, -1, 240, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 504, -1, -1, 507, 508, 509, -1, 511, - 512, 513, 514, 515, 516, -1, -1, 396, -1, -1, - -1, 177, -1, -1, -1, -1, -1, -1, -1, 277, - -1, -1, 280, -1, -1, -1, -1, -1, -1, -1, - 196, -1, -1, -1, -1, 201, 294, -1, -1, 297, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 224, 225, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 240, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 504, -1, -1, 507, 508, 509, - -1, 511, 512, 513, 514, 515, 516, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 277, -1, -1, 280, 504, -1, -1, 507, 508, - 509, -1, 511, 512, 513, 514, 515, 516, 294, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 396, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 396, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 504, -1, -1, 507, - 508, 509, -1, 511, 512, 513, 514, 515, 516, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3, -1, 5, -1, -1, -1, 504, -1, - -1, 507, 508, 509, -1, 511, 512, 513, 514, 515, - 516, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, @@ -16027,2059 +16703,2165 @@ static const yytype_int16 yycheck[] = 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 3, -1, -1, -1, -1, -1, -1, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, 38, -1, 40, -1, -1, -1, 44, 45, 46, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, 74, 75, -1, + 77, 78, 79, 80, 81, -1, 83, -1, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, -1, 96, + 97, 98, 99, 100, 101, -1, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, -1, 120, -1, 122, 123, 124, 125, 126, + 127, -1, -1, 130, 131, 132, 133, 134, -1, -1, + 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, + 147, -1, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, -1, + 167, 168, 169, 170, -1, 172, -1, 174, 175, -1, + 177, 178, 179, 180, 181, 182, -1, 184, 185, -1, + -1, 188, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, -1, 206, + 207, 208, 209, 210, 211, 212, -1, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, -1, 225, -1, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, -1, -1, 241, 242, 243, 244, -1, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, -1, 284, 285, 286, + 287, -1, 289, 290, 291, 292, 293, 294, -1, 296, + 297, 298, -1, 300, 301, 302, -1, -1, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, + -1, -1, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, -1, 340, 341, 342, 343, 344, 345, 346, + 347, -1, 349, 350, 351, 352, 353, 354, 355, 356, + -1, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, -1, 373, 374, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, + 407, 408, 409, 410, -1, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, -1, -1, 430, 431, -1, 433, 434, 435, 436, + 437, 438, 439, -1, 441, 442, 443, -1, 445, -1, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, -1, -1, 463, 464, 465, -1, + 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, + 477, 478, -1, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, -1, 493, -1, -1, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, 35, 36, -1, 38, -1, 40, -1, -1, + -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, 75, -1, 77, 78, 79, 80, 81, -1, + 83, -1, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, + 143, -1, 145, 146, 147, -1, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, -1, 167, 168, 169, 170, -1, 172, + -1, 174, 175, -1, 177, 178, 179, 180, 181, 182, + -1, 184, 185, -1, -1, 188, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, -1, 225, -1, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, 242, + 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + -1, 284, 285, 286, 287, -1, 289, 290, 291, 292, + 293, 294, -1, 296, 297, -1, -1, 300, 301, 302, + -1, -1, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, 406, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, -1, -1, 430, 431, -1, + 433, 434, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, -1, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, 477, 478, -1, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 59, -1, 61, 62, 63, 64, 65, 66, -1, 68, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, 81, -1, 83, -1, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, 175, -1, 177, 178, + 179, 180, 181, 182, -1, 184, 185, -1, -1, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + -1, -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 279, 280, 281, 282, -1, 284, 285, 286, 287, -1, + 289, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 369, 370, 371, -1, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, - 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 3, -1, 5, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - 38, -1, 40, -1, -1, -1, 44, 45, 46, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, -1, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, 171, -1, 173, 174, 175, 176, 177, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - 238, 239, 240, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, - 278, 279, 280, 281, -1, 283, 284, 285, 286, 287, - 288, -1, 290, 291, 292, -1, 294, 295, 296, -1, - -1, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, -1, - -1, -1, -1, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, -1, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, -1, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, 470, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 3, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, 35, 36, - -1, 38, -1, 40, -1, -1, -1, 44, 45, 46, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, -1, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, -1, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, 171, -1, 173, 174, 175, 176, - 177, 178, -1, 180, 181, -1, -1, 184, 185, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, 238, 239, 240, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - -1, 278, 279, 280, 281, -1, 283, 284, 285, 286, - 287, 288, -1, 290, 291, -1, -1, 294, 295, 296, - -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, - 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, - 447, 448, 449, -1, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, 466, - 467, -1, 469, 470, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, 40, -1, -1, -1, 44, 45, - 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, - 66, -1, 68, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, -1, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, 171, -1, 173, 174, 175, - 176, 177, 178, -1, 180, 181, -1, -1, 184, 185, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, -1, - -1, 237, 238, 239, 240, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, -1, 278, 279, 280, 281, -1, 283, 284, 285, - 286, 287, 288, -1, 290, 291, -1, -1, 294, 295, - 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, -1, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, -1, - 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, - 446, 447, 448, 449, -1, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - 466, 467, -1, 469, 470, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 3, -1, + 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, + -1, 430, 431, -1, 433, 434, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, + -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, 61, 62, 63, 64, - 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, + 65, 66, -1, -1, 69, 70, 71, 72, 73, 74, + 75, -1, 77, 78, 79, 80, 81, -1, 83, -1, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + -1, 96, 97, 98, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - -1, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, -1, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, 171, -1, 173, 174, - 175, 176, 177, 178, -1, 180, 181, -1, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - -1, -1, 237, 238, 239, 240, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 115, 116, 117, 118, -1, 120, -1, 122, 123, 124, + 125, 126, 127, -1, -1, 130, 131, 132, 133, 134, + -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, + 145, 146, 147, -1, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, 167, 168, 169, 170, -1, 172, -1, 174, + 175, -1, 177, 178, 179, 180, 181, 182, -1, 184, + 185, -1, -1, 188, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + -1, 206, 207, 208, 209, 210, 211, 212, -1, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, -1, + 225, -1, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, -1, -1, 241, 242, 243, 244, + -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, -1, 278, 279, 280, 281, -1, 283, 284, - 285, 286, 287, 288, -1, 290, 291, -1, -1, 294, - 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, + 275, 276, 277, 278, 279, 280, 281, 282, -1, 284, + 285, 286, 287, -1, 289, 290, 291, 292, 293, 294, + -1, 296, 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, -1, -1, -1, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, -1, -1, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, -1, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, -1, 469, 470, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, -1, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 3, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, - -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, - 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, - 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, -1, -1, 82, 83, - 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, -1, -1, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, -1, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, -1, 161, -1, 163, - 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, - 174, 175, 176, -1, 178, -1, 180, 181, -1, -1, - 184, 185, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, -1, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, -1, 212, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - -1, -1, 226, -1, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, -1, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, -1, 271, 272, 273, - 274, 275, 276, -1, 278, 279, -1, 281, -1, 283, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, -1, -1, -1, -1, 321, 322, 323, - -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, -1, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, - -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, -1, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, - -1, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, - 444, 445, 446, 447, 448, 449, -1, 451, 452, 453, - 454, -1, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, 466, 467, -1, 469, -1, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, -1, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, - -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, - 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, -1, -1, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, -1, 116, -1, 118, 119, 120, 121, 122, - 123, -1, 125, 126, 127, 128, 129, 130, -1, -1, - 133, 134, 135, 136, 137, 138, 139, -1, 141, 142, - 143, -1, 145, 146, 147, -1, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, -1, 161, -1, - 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, - -1, 174, 175, 176, -1, 178, -1, 180, 181, -1, - -1, 184, 185, 186, 187, -1, 189, 190, 191, 192, - 193, 194, 195, -1, 197, 198, 199, 200, -1, 202, - 203, 204, 205, 206, 207, 208, -1, 210, -1, 212, - 213, 214, 215, 216, 217, 218, 219, -1, 221, -1, - 223, -1, -1, 226, -1, 228, 229, 230, 231, 232, - 233, 234, -1, -1, 237, -1, 239, 240, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, -1, 271, 272, - 273, 274, 275, 276, -1, 278, 279, -1, 281, -1, - 283, 284, 285, 286, 287, 288, -1, 290, 291, -1, - -1, 294, 295, 296, -1, -1, 299, 300, -1, 302, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, -1, -1, -1, -1, 321, 322, - 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, - 343, 344, 345, 346, 347, 348, -1, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, -1, 365, 366, -1, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - -1, -1, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, -1, 397, 398, 399, 400, -1, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, - 423, -1, 425, 426, 427, 428, 429, -1, 431, 432, - -1, 434, -1, 436, 437, 438, 439, 440, -1, 442, - 443, 444, 445, 446, 447, 448, 449, -1, 451, 452, - 453, 454, -1, 456, 457, 458, 459, -1, 461, 462, - 463, 464, 465, 466, 467, -1, 469, -1, 471, 472, - 473, 474, 475, 476, 477, -1, -1, 480, -1, -1, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 3, -1, 5, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, 35, 36, -1, -1, -1, 40, -1, - -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, - 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, -1, 116, -1, 118, 119, 120, 121, - 122, 123, -1, 125, 126, 127, 128, 129, 130, -1, - -1, 133, 134, 135, 136, 137, 138, 139, -1, 141, - 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, - -1, 163, 164, 165, 166, -1, 168, -1, 170, -1, - -1, -1, 174, 175, 176, -1, 178, -1, 180, 181, - -1, -1, 184, 185, 186, 187, -1, 189, 190, 191, - 192, 193, 194, 195, -1, 197, 198, 199, 200, -1, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, 219, -1, 221, - -1, 223, -1, -1, 226, -1, 228, 229, 230, 231, - 232, 233, 234, -1, -1, 237, -1, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, -1, 278, 279, -1, 281, - -1, 283, 284, 285, 286, 287, 288, -1, 290, 291, - -1, -1, 294, 295, 296, -1, -1, 299, 300, -1, - 302, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, -1, -1, -1, -1, 321, - 322, 323, -1, 325, 326, 327, 328, 329, 330, -1, - 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, - 342, 343, 344, 345, 346, 347, 348, -1, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, -1, 365, 366, -1, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, -1, -1, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, -1, 397, 398, 399, 400, -1, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, - -1, 423, -1, 425, 426, 427, 428, 429, -1, 431, - 432, -1, 434, -1, 436, 437, 438, 439, 440, -1, - 442, 443, 444, 445, 446, 447, 448, 449, -1, -1, - 452, 453, 454, -1, 456, 457, 458, 459, -1, 461, - 462, 463, 464, 465, 466, 467, -1, 469, -1, 471, - 472, 473, 474, 475, 476, 477, -1, -1, 480, -1, - -1, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 3, -1, 5, -1, -1, -1, -1, -1, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + -1, -1, -1, -1, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, + 345, 346, 347, -1, 349, 350, 351, 352, 353, 354, + 355, 356, -1, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, -1, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + -1, 406, 407, 408, 409, 410, -1, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, -1, -1, 430, 431, -1, 433, 434, + 435, 436, 437, 438, 439, -1, 441, 442, 443, -1, + 445, -1, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, -1, -1, 463, 464, + 465, -1, 467, 468, 469, 470, -1, 472, 473, 474, + 475, 476, 477, 478, -1, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, -1, 493, -1, + -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, -1, -1, -1, -1, -1, 40, + -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - -1, -1, 83, 84, 85, 86, 87, 88, -1, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, -1, 116, -1, 118, 119, 120, - 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, - -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, + -1, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, -1, -1, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, - 161, -1, 163, 164, 165, 166, -1, 168, -1, 170, - -1, -1, -1, 174, 175, 176, -1, 178, -1, 180, - 181, -1, -1, 184, 185, 186, 187, -1, 189, 190, - 191, 192, 193, 194, 195, -1, 197, 198, 199, 200, - -1, 202, 203, 204, 205, 206, 207, 208, -1, 210, - -1, 212, 213, 214, 215, 216, 217, 218, 219, -1, - 221, -1, 223, -1, -1, 226, -1, 228, 229, 230, - 231, 232, 233, 234, -1, -1, 237, -1, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, -1, 167, 168, 169, 170, + -1, 172, 173, 174, -1, -1, -1, 178, 179, 180, + -1, 182, -1, 184, 185, -1, -1, 188, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, -1, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, -1, 216, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, -1, -1, 230, + -1, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, - 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, - 281, -1, 283, 284, 285, 286, 287, 288, -1, 290, - 291, -1, -1, 294, 295, 296, -1, -1, 299, 300, - -1, 302, -1, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -1, -1, -1, -1, - 321, 322, 323, -1, 325, 326, 327, 328, 329, 330, - -1, 332, 333, 334, 335, 336, 337, 338, 339, -1, - 341, 342, 343, 344, 345, 346, 347, 348, -1, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, -1, 365, 366, -1, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, -1, -1, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, - -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, - 421, -1, 423, -1, 425, 426, 427, 428, 429, -1, - 431, 432, -1, 434, -1, 436, 437, 438, 439, 440, - -1, 442, 443, 444, 445, 446, 447, 448, 449, -1, - -1, 452, 453, 454, -1, 456, 457, 458, 459, -1, - 461, 462, 463, 464, 465, 466, 467, -1, 469, -1, - 471, 472, 473, 474, 475, 476, 477, -1, -1, 480, - -1, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 3, -1, 5, -1, -1, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, -1, 277, 278, 279, 280, + 281, 282, -1, 284, 285, -1, 287, -1, 289, 290, + 291, 292, 293, 294, -1, 296, 297, -1, -1, 300, + 301, 302, -1, -1, 305, 306, 307, -1, 309, -1, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, + 331, -1, 333, 334, 335, 336, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, -1, 373, 374, -1, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, -1, -1, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, -1, -1, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, -1, -1, 430, + 431, -1, 433, -1, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + -1, 462, 463, 464, 465, -1, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, -1, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, - 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, - -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, -1, 116, -1, 118, 119, - 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, - 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, - -1, 141, 142, 143, -1, 145, 146, 147, -1, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - -1, 161, -1, 163, 164, 165, 166, -1, 168, -1, - 170, -1, -1, -1, 174, 175, 176, -1, 178, -1, - 180, 181, -1, -1, 184, 185, 186, 187, -1, 189, - 190, 191, 192, 193, 194, 195, -1, 197, 198, 199, - 200, -1, 202, 203, 204, 205, 206, 207, 208, -1, - 210, -1, 212, 213, 214, 215, 216, 217, 218, 219, - -1, 221, -1, 223, -1, -1, 226, -1, 228, 229, - 230, 231, 232, 233, 234, -1, -1, 237, -1, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - -1, 271, 272, 273, 274, 275, 276, -1, 278, 279, - -1, 281, -1, 283, 284, 285, 286, 287, 288, -1, - 290, 291, -1, 293, 294, 295, 296, -1, -1, 299, - 300, -1, 302, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, -1, -1, -1, - -1, 321, 322, 323, -1, 325, 326, 327, 328, 329, - 330, -1, 332, 333, 334, 335, 336, 337, 338, 339, - -1, 341, 342, 343, 344, 345, 346, 347, 348, -1, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, -1, 365, 366, -1, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, -1, -1, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, - 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, - 420, 421, -1, 423, -1, 425, 426, 427, 428, 429, - -1, 431, 432, -1, 434, -1, 436, 437, 438, 439, - 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, - -1, -1, 452, 453, 454, -1, 456, 457, 458, 459, - -1, 461, 462, 463, 464, 465, 466, 467, -1, 469, - -1, 471, 472, 473, 474, 475, 476, 477, -1, -1, - 480, -1, -1, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 3, -1, 5, -1, -1, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, + -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, + -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, -1, -1, -1, 85, 86, + 87, 88, 89, 90, -1, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, -1, 120, -1, 122, 123, 124, 125, 126, + 127, -1, -1, 130, 131, 132, 133, 134, -1, -1, + 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, + 147, -1, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, -1, 165, -1, + 167, 168, 169, 170, -1, 172, 173, 174, -1, -1, + -1, 178, 179, 180, -1, 182, -1, 184, 185, -1, + -1, 188, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, -1, 201, 202, 203, 204, -1, 206, + 207, 208, 209, 210, 211, 212, -1, 214, -1, 216, + 217, 218, 219, 220, 221, 222, 223, -1, 225, -1, + 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, + 237, 238, -1, -1, 241, -1, 243, 244, -1, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, + 277, 278, 279, 280, 281, 282, -1, 284, 285, -1, + 287, -1, 289, 290, 291, 292, 293, 294, -1, 296, + 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, + 307, -1, 309, -1, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, + -1, -1, 329, 330, 331, -1, 333, 334, 335, 336, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 347, -1, 349, 350, 351, 352, 353, 354, 355, 356, + -1, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, -1, 373, 374, -1, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, -1, -1, + 407, 408, 409, 410, -1, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, -1, -1, 430, 431, -1, 433, -1, 435, 436, + 437, 438, 439, -1, 441, 442, 443, -1, 445, -1, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, -1, 462, 463, 464, 465, -1, + 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, -1, 493, -1, -1, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, + -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, + 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, 75, -1, 77, 78, 79, 80, 81, -1, + -1, -1, 85, 86, 87, 88, 89, 90, -1, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, + 143, -1, 145, 146, 147, -1, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, -1, 167, 168, 169, 170, -1, 172, + -1, 174, -1, -1, -1, 178, 179, 180, -1, 182, + -1, 184, 185, -1, -1, 188, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, + 223, -1, 225, -1, 227, -1, -1, 230, -1, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, -1, + 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, -1, 277, 278, 279, 280, 281, 282, + -1, 284, 285, -1, 287, -1, 289, 290, 291, 292, + 293, 294, -1, 296, 297, -1, -1, 300, 301, 302, + -1, -1, 305, 306, 307, -1, 309, -1, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, 331, -1, + 333, 334, 335, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, -1, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, -1, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, -1, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, -1, -1, 430, 431, -1, + 433, -1, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, -1, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, - -1, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, -1, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, -1, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, -1, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, -1, -1, -1, 174, 175, 176, -1, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, -1, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, -1, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, -1, -1, 226, -1, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, -1, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, 81, -1, -1, -1, 85, 86, 87, 88, + 89, 90, -1, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, -1, -1, -1, 178, + 179, 180, -1, 182, -1, 184, 185, -1, -1, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, -1, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, -1, 216, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, -1, + -1, 230, -1, 232, 233, 234, 235, 236, 237, 238, + -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, -1, 271, 272, 273, 274, 275, 276, -1, 278, - 279, -1, 281, -1, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, 293, 294, 295, 296, -1, -1, - 299, 300, -1, 302, -1, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, - -1, -1, 321, 322, 323, -1, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, -1, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, -1, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, -1, 423, -1, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, -1, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, -1, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, -1, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 3, -1, 5, -1, -1, + 269, 270, 271, 272, 273, 274, 275, -1, 277, 278, + 279, 280, 281, 282, -1, 284, 285, -1, 287, -1, + 289, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, 307, -1, + 309, -1, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, + 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, -1, 373, 374, -1, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, -1, -1, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, + -1, 430, 431, -1, 433, -1, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, + 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, + 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, + 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, + 65, 66, -1, -1, 69, 70, 71, 72, 73, 74, + 75, -1, 77, 78, 79, 80, 81, -1, -1, -1, + 85, 86, 87, 88, 89, 90, -1, 92, 93, 94, + -1, 96, 97, 98, 99, 100, 101, -1, -1, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, -1, 120, -1, 122, 123, 124, + 125, 126, 127, -1, -1, 130, 131, 132, 133, 134, + -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, + 145, 146, 147, -1, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, 167, 168, 169, 170, -1, 172, -1, 174, + -1, -1, -1, 178, 179, 180, -1, 182, -1, 184, + 185, -1, -1, 188, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, -1, 201, 202, 203, 204, + -1, 206, 207, 208, 209, 210, 211, 212, -1, 214, + -1, 216, 217, 218, 219, 220, 221, 222, 223, -1, + 225, -1, 227, -1, -1, 230, -1, 232, 233, 234, + 235, 236, 237, 238, -1, -1, 241, -1, 243, -1, + -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, -1, 277, 278, 279, 280, 281, 282, -1, 284, + 285, -1, 287, -1, 289, 290, 291, 292, 293, 294, + -1, 296, 297, -1, 299, 300, 301, 302, -1, -1, + 305, 306, 307, -1, 309, -1, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + -1, -1, -1, -1, 329, 330, 331, -1, 333, 334, + 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, + 345, 346, 347, -1, 349, 350, 351, 352, 353, 354, + 355, 356, -1, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, -1, 373, 374, + -1, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + -1, -1, 407, 408, 409, 410, -1, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, -1, -1, 430, 431, -1, 433, -1, + 435, 436, 437, 438, 439, -1, 441, 442, 443, -1, + 445, -1, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, -1, -1, 463, 464, + 465, -1, 467, 468, 469, 470, -1, 472, 473, 474, + 475, 476, 477, 478, -1, 480, -1, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, -1, 493, -1, + -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, + -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, + 81, -1, -1, -1, 85, 86, 87, 88, 89, 90, + -1, 92, 93, 94, -1, 96, 97, 98, 99, 100, + 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, -1, -1, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, + 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, -1, 167, 168, 169, 170, + -1, 172, -1, 174, -1, -1, -1, 178, 179, 180, + -1, 182, -1, 184, 185, -1, -1, 188, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, -1, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, -1, 216, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, -1, -1, 230, + -1, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, -1, 277, 278, 279, 280, + 281, 282, -1, 284, 285, -1, 287, -1, 289, 290, + 291, 292, 293, 294, -1, 296, 297, -1, 299, 300, + 301, 302, -1, -1, 305, 306, 307, -1, 309, -1, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, + 331, -1, 333, 334, 335, 336, 337, 338, -1, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, -1, 373, 374, -1, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, -1, -1, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, -1, -1, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, -1, -1, 430, + 431, -1, 433, -1, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + -1, -1, 463, 464, 465, -1, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, -1, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, - 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, - 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, - 88, -1, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, -1, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, -1, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, -1, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, -1, -1, -1, 174, 175, 176, -1, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, -1, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, -1, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, -1, -1, 226, -1, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - -1, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, -1, 271, 272, 273, 274, 275, 276, -1, - 278, 279, -1, 281, -1, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, -1, 302, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, -1, - -1, -1, -1, 321, 322, 323, -1, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, -1, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, -1, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, -1, 423, -1, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, -1, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, -1, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 3, 4, -1, -1, - -1, -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, -1, -1, 83, 84, 85, 86, - 87, 88, -1, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, -1, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, -1, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, -1, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, -1, -1, -1, 174, 175, 176, - -1, 178, -1, 180, 181, -1, -1, 184, 185, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, -1, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, -1, 212, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, -1, -1, 226, - -1, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, -1, 239, -1, -1, 242, 243, 244, 245, 246, + -1, -1, 69, 70, 71, 72, 73, 74, 75, -1, + 77, 78, 79, 80, 81, -1, -1, -1, 85, 86, + 87, 88, 89, 90, -1, 92, 93, 94, -1, 96, + 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, -1, 120, -1, 122, 123, 124, 125, 126, + 127, -1, -1, 130, 131, 132, 133, 134, -1, -1, + 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, + 147, -1, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, -1, 165, -1, + 167, 168, 169, 170, -1, 172, -1, 174, -1, -1, + -1, 178, 179, 180, -1, 182, -1, 184, 185, -1, + -1, 188, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, -1, 201, 202, 203, 204, -1, 206, + 207, 208, 209, 210, 211, 212, -1, 214, -1, 216, + 217, 218, 219, 220, 221, 222, 223, -1, 225, -1, + 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, + 237, 238, -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, -1, 271, 272, 273, 274, 275, 276, - -1, 278, 279, -1, 281, -1, 283, 284, 285, 286, - 287, 288, -1, 290, 291, -1, -1, 294, 295, 296, - -1, -1, 299, 300, -1, 302, -1, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, 323, -1, 325, 326, - 327, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - -1, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, -1, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, -1, 420, 421, -1, 423, -1, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, - 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, - 447, 448, 449, -1, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, 466, - 467, -1, 469, -1, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 3, -1, 5, + 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, + 277, 278, 279, 280, 281, 282, -1, 284, 285, -1, + 287, -1, 289, 290, 291, 292, 293, 294, -1, 296, + 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, + 307, -1, 309, -1, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, + -1, -1, 329, 330, 331, -1, 333, 334, 335, 336, + 337, 338, -1, 340, 341, 342, 343, 344, 345, 346, + 347, -1, 349, 350, 351, 352, 353, 354, 355, 356, + -1, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, -1, 373, 374, -1, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, -1, -1, + 407, 408, 409, 410, -1, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, -1, -1, 430, 431, -1, 433, -1, 435, 436, + 437, 438, 439, -1, 441, 442, 443, -1, 445, -1, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, -1, -1, 463, 464, 465, -1, + 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, -1, 493, -1, -1, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 3, 4, -1, -1, -1, -1, 9, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, + 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, 75, -1, 77, 78, 79, 80, 81, -1, + -1, -1, 85, 86, 87, 88, 89, 90, -1, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, + 143, -1, 145, 146, 147, -1, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, -1, 167, 168, 169, 170, -1, 172, + -1, 174, -1, -1, -1, 178, 179, 180, -1, 182, + -1, 184, 185, -1, -1, 188, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, + 223, -1, 225, -1, 227, -1, -1, 230, -1, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, -1, + 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, -1, 277, 278, 279, 280, 281, 282, + -1, 284, 285, -1, 287, -1, 289, 290, 291, 292, + 293, 294, -1, 296, 297, -1, -1, 300, 301, 302, + -1, -1, 305, 306, 307, -1, 309, -1, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, 331, -1, + 333, 334, 335, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, -1, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, -1, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, -1, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, -1, -1, 430, 431, -1, + 433, -1, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, -1, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, - 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, - 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - 86, 87, 88, -1, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, -1, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, -1, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, -1, -1, -1, 174, 175, - 176, -1, 178, -1, 180, 181, -1, -1, 184, 185, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - -1, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, -1, 212, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, -1, -1, - 226, -1, 228, 229, 230, 231, 232, 233, 234, -1, - -1, 237, -1, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, -1, 271, 272, 273, 274, 275, - 276, -1, 278, 279, -1, 281, -1, 283, 284, 285, - 286, 287, 288, -1, 290, 291, -1, -1, 294, 295, - 296, -1, -1, 299, 300, -1, 302, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, 323, -1, 325, - 326, 327, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, -1, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, -1, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - -1, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, -1, 420, 421, 422, 423, -1, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, -1, - 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, - 446, 447, 448, 449, -1, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - 466, 467, -1, 469, -1, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, + 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, + 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, 81, -1, -1, -1, 85, 86, 87, 88, + 89, 90, -1, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, -1, -1, -1, 178, + 179, 180, -1, 182, -1, 184, 185, -1, -1, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, -1, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, -1, 216, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, -1, + -1, 230, -1, 232, 233, 234, 235, 236, 237, 238, + -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, -1, 277, 278, + 279, 280, 281, 282, -1, 284, 285, -1, 287, -1, + 289, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, 307, -1, + 309, -1, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, + 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, -1, 373, 374, -1, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, -1, -1, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, + -1, 430, 431, 432, 433, -1, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, - 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, - 85, 86, 87, 88, -1, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, -1, 102, 103, 104, + 65, 66, -1, -1, 69, 70, 71, 72, 73, 74, + 75, -1, 77, 78, 79, 80, 81, -1, -1, -1, + 85, 86, 87, 88, 89, 90, -1, 92, 93, 94, + -1, 96, 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - -1, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, -1, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, -1, -1, -1, 174, - 175, 176, -1, 178, -1, 180, 181, -1, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, -1, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, -1, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, -1, - -1, 226, -1, 228, 229, 230, 231, 232, 233, 234, - -1, -1, 237, -1, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 115, 116, 117, 118, -1, 120, -1, 122, 123, 124, + 125, 126, 127, -1, -1, 130, 131, 132, 133, 134, + -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, + 145, 146, 147, -1, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, 167, 168, 169, 170, -1, 172, -1, 174, + -1, -1, -1, 178, 179, 180, -1, 182, -1, 184, + 185, -1, -1, 188, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, -1, 201, 202, 203, 204, + -1, 206, 207, 208, 209, 210, 211, 212, -1, 214, + -1, 216, 217, 218, 219, 220, 221, 222, 223, -1, + 225, -1, 227, -1, -1, 230, -1, 232, 233, 234, + 235, 236, 237, 238, -1, -1, 241, -1, 243, -1, + -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, -1, 271, 272, 273, 274, - 275, 276, -1, 278, 279, -1, 281, -1, 283, 284, - 285, 286, 287, 288, -1, 290, 291, -1, -1, 294, - 295, 296, -1, -1, 299, 300, -1, 302, -1, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, -1, -1, -1, 321, 322, 323, -1, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, - 365, 366, -1, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, -1, -1, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, -1, 397, 398, 399, 400, -1, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, -1, 423, -1, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, -1, 469, -1, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, -1, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 3, - -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, - -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, - 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, - 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, - 84, 85, 86, 87, 88, -1, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, -1, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, -1, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, -1, 161, -1, 163, - 164, 165, 166, -1, 168, -1, 170, -1, -1, -1, - 174, 175, 176, -1, 178, -1, 180, 181, -1, -1, - 184, 185, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, -1, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, -1, 212, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - -1, -1, 226, -1, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, -1, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, -1, 271, 272, 273, - 274, 275, 276, -1, 278, 279, -1, 281, -1, 283, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, -1, -1, -1, -1, 321, 322, 323, - -1, 325, 326, 327, 328, 329, 330, -1, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, -1, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, - -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, -1, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, - -1, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, - 444, 445, 446, 447, 448, 449, -1, -1, 452, 453, - 454, -1, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, 466, 467, -1, 469, -1, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, -1, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, - -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, - 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, -1, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, -1, 116, -1, 118, 119, 120, 121, 122, - 123, -1, 125, 126, 127, 128, 129, 130, -1, -1, - 133, 134, 135, 136, 137, 138, 139, -1, 141, 142, - 143, -1, 145, 146, 147, -1, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, -1, 161, -1, - 163, 164, 165, 166, -1, 168, -1, 170, -1, -1, - -1, 174, 175, 176, -1, 178, -1, 180, 181, -1, - -1, 184, 185, 186, 187, -1, 189, 190, 191, 192, - 193, 194, 195, -1, 197, 198, 199, 200, -1, 202, - 203, 204, 205, 206, 207, 208, -1, 210, -1, 212, - 213, 214, 215, 216, 217, 218, 219, -1, 221, -1, - 223, -1, -1, 226, -1, 228, 229, 230, 231, 232, - 233, 234, -1, -1, 237, -1, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, -1, 271, 272, - 273, 274, 275, 276, -1, 278, 279, -1, 281, -1, - 283, 284, 285, 286, 287, 288, -1, 290, 291, -1, - -1, 294, 295, 296, -1, -1, 299, 300, -1, 302, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, -1, -1, -1, -1, 321, 322, - 323, -1, 325, 326, 327, 328, 329, 330, -1, 332, - 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, - 343, 344, 345, 346, 347, 348, -1, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, -1, 365, 366, -1, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - -1, -1, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, -1, 397, 398, 399, 400, -1, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, - 423, -1, 425, 426, 427, 428, 429, -1, 431, 432, - -1, 434, -1, 436, 437, 438, 439, 440, -1, 442, - 443, 444, 445, 446, 447, 448, 449, -1, -1, 452, - 453, 454, -1, 456, 457, 458, 459, -1, 461, 462, - 463, 464, 465, 466, 467, -1, 469, -1, 471, 472, - 473, 474, 475, 476, 477, -1, -1, 480, -1, -1, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 3, -1, 5, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, - -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, - 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, -1, 116, -1, 118, 119, 120, 121, - 122, 123, -1, 125, 126, 127, 128, 129, 130, -1, - -1, 133, 134, 135, 136, 137, 138, 139, -1, 141, - 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, - -1, 163, 164, 165, 166, -1, 168, -1, 170, -1, - -1, -1, 174, 175, 176, -1, 178, -1, 180, 181, - -1, -1, 184, 185, 186, 187, -1, 189, 190, 191, - 192, 193, 194, 195, -1, 197, 198, 199, 200, -1, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, 219, -1, 221, - -1, 223, -1, -1, 226, -1, 228, 229, 230, 231, - 232, 233, 234, -1, -1, 237, -1, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, -1, 278, 279, -1, 281, - -1, 283, 284, 285, 286, 287, 288, -1, 290, 291, - -1, -1, 294, 295, 296, -1, -1, 299, 300, -1, - 302, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, -1, -1, -1, -1, 321, - 322, 323, -1, 325, 326, 327, 328, 329, 330, -1, - 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, - 342, 343, 344, 345, 346, 347, 348, -1, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, -1, 365, 366, -1, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, -1, -1, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, -1, 397, 398, 399, 400, -1, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, - -1, 423, -1, 425, 426, 427, 428, 429, -1, 431, - 432, -1, 434, -1, 436, 437, 438, 439, 440, -1, - 442, 443, 444, 445, 446, 447, 448, 449, -1, -1, - 452, 453, 454, -1, 456, 457, 458, 459, -1, 461, - 462, 463, 464, 465, 466, 467, -1, 469, -1, 471, - 472, 473, 474, 475, 476, 477, -1, -1, 480, -1, - -1, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 3, -1, 5, -1, -1, -1, -1, -1, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, -1, 277, 278, 279, 280, 281, 282, -1, 284, + 285, -1, 287, -1, 289, 290, 291, 292, 293, 294, + -1, 296, 297, -1, -1, 300, 301, 302, -1, -1, + 305, 306, 307, -1, 309, -1, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + -1, -1, -1, -1, 329, 330, 331, -1, 333, 334, + 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, + 345, 346, 347, -1, 349, 350, 351, 352, 353, 354, + 355, 356, -1, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, -1, 373, 374, + -1, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + -1, -1, 407, 408, 409, 410, -1, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, -1, -1, 430, 431, -1, 433, -1, + 435, 436, 437, 438, 439, -1, 441, 442, 443, -1, + 445, -1, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, -1, -1, 463, 464, + 465, -1, 467, 468, 469, 470, -1, 472, 473, 474, + 475, 476, 477, 478, -1, 480, -1, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, -1, 493, -1, + -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - -1, -1, 83, 84, 85, 86, 87, 88, -1, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, -1, 116, -1, 118, 119, 120, - 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, - -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, + 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, + 81, -1, -1, -1, 85, 86, 87, 88, 89, 90, + -1, 92, 93, 94, -1, 96, 97, 98, 99, 100, + 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, -1, -1, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, - 161, -1, 163, 164, 165, 166, -1, 168, -1, 170, - -1, -1, -1, 174, 175, 176, -1, 178, -1, 180, - 181, -1, -1, 184, 185, 186, 187, -1, 189, 190, - 191, 192, 193, 194, 195, -1, 197, 198, 199, 200, - -1, 202, 203, 204, 205, 206, 207, 208, -1, 210, - -1, 212, 213, 214, 215, 216, 217, 218, 219, -1, - 221, -1, 223, -1, -1, 226, -1, 228, 229, 230, - 231, 232, 233, 234, -1, -1, 237, -1, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, -1, 167, 168, 169, 170, + -1, 172, -1, 174, -1, -1, -1, 178, 179, 180, + -1, 182, -1, 184, 185, -1, -1, 188, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, -1, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, -1, 216, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, -1, -1, 230, + -1, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, - 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, - 281, -1, 283, 284, 285, 286, 287, 288, -1, 290, - 291, -1, -1, 294, 295, 296, -1, -1, 299, 300, - -1, 302, -1, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -1, -1, -1, -1, - 321, 322, 323, -1, 325, 326, 327, 328, 329, 330, - -1, 332, 333, 334, 335, 336, 337, 338, 339, -1, - 341, 342, 343, 344, 345, 346, 347, 348, -1, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, -1, 365, 366, -1, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, -1, -1, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, - -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, - 421, -1, 423, -1, 425, 426, 427, 428, 429, -1, - 431, 432, -1, 434, -1, 436, 437, 438, 439, 440, - -1, 442, 443, 444, 445, 446, 447, 448, 449, -1, - -1, 452, 453, 454, -1, 456, 457, 458, 459, -1, - 461, 462, 463, 464, 465, 466, 467, -1, 469, -1, - 471, 472, 473, 474, 475, 476, 477, -1, -1, 480, - -1, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 3, -1, 5, -1, -1, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, -1, 277, 278, 279, 280, + 281, 282, -1, 284, 285, -1, 287, -1, 289, 290, + 291, 292, 293, 294, -1, 296, 297, -1, -1, 300, + 301, 302, -1, -1, 305, 306, 307, -1, 309, -1, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, + 331, -1, 333, 334, 335, 336, 337, 338, -1, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, -1, 373, 374, -1, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, -1, -1, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, -1, -1, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, -1, -1, 430, + 431, -1, 433, -1, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + -1, -1, 463, 464, 465, -1, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, -1, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, - 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, - -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, -1, 116, -1, 118, 119, - 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, - 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, - -1, 141, 142, 143, -1, 145, 146, 147, -1, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - -1, 161, -1, 163, 164, 165, 166, -1, 168, -1, - 170, -1, -1, -1, 174, 175, 176, -1, 178, -1, - 180, 181, -1, -1, 184, 185, 186, 187, -1, 189, - 190, 191, 192, 193, 194, 195, -1, 197, 198, 199, - 200, -1, 202, 203, 204, 205, 206, 207, 208, -1, - 210, -1, 212, 213, 214, 215, 216, 217, 218, 219, - -1, 221, -1, 223, -1, -1, 226, -1, 228, 229, - 230, 231, 232, 233, 234, -1, -1, 237, -1, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - -1, 271, 272, 273, 274, 275, 276, -1, 278, 279, - -1, 281, -1, 283, 284, 285, 286, 287, 288, -1, - 290, 291, -1, -1, 294, 295, 296, -1, -1, 299, - 300, -1, 302, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, -1, -1, -1, - -1, 321, 322, 323, -1, 325, 326, 327, 328, 329, - 330, -1, 332, 333, 334, 335, 336, 337, 338, 339, - -1, 341, 342, 343, 344, 345, 346, 347, 348, -1, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, -1, 365, 366, -1, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, -1, -1, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, - 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, - 420, 421, -1, 423, -1, 425, 426, 427, 428, 429, - -1, 431, 432, -1, 434, -1, 436, 437, 438, 439, - 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, - -1, -1, 452, 453, 454, -1, 456, 457, 458, 459, - -1, 461, 462, 463, 464, 465, 466, 467, -1, 469, - -1, 471, 472, 473, 474, 475, 476, 477, -1, -1, - 480, -1, -1, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 3, -1, 5, -1, -1, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, + -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, + -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, + -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, 74, 75, -1, + 77, 78, 79, 80, 81, -1, -1, -1, 85, 86, + 87, 88, 89, 90, -1, 92, 93, 94, -1, 96, + 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, -1, 120, -1, 122, 123, 124, 125, 126, + 127, -1, -1, 130, 131, 132, 133, 134, -1, -1, + 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, + 147, -1, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, -1, 165, -1, + 167, 168, 169, 170, -1, 172, -1, 174, -1, -1, + -1, 178, 179, 180, -1, 182, -1, 184, 185, -1, + -1, 188, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, -1, 201, 202, 203, 204, -1, 206, + 207, 208, 209, 210, 211, 212, -1, 214, -1, 216, + 217, 218, 219, 220, 221, 222, 223, -1, 225, -1, + 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, + 237, 238, -1, -1, 241, -1, 243, -1, -1, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, + 277, 278, 279, 280, 281, 282, -1, 284, 285, -1, + 287, -1, 289, 290, 291, 292, 293, 294, -1, 296, + 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, + 307, -1, 309, -1, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, + -1, -1, 329, 330, 331, -1, 333, 334, 335, 336, + 337, 338, -1, 340, 341, 342, 343, 344, 345, 346, + 347, -1, 349, 350, 351, 352, 353, 354, 355, 356, + -1, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, -1, 373, 374, -1, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, -1, -1, + 407, 408, 409, 410, -1, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, -1, -1, 430, 431, -1, 433, -1, 435, 436, + 437, 438, 439, -1, 441, 442, 443, -1, 445, -1, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, -1, -1, 463, 464, 465, -1, + 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, -1, 493, -1, -1, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, + 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, 75, -1, 77, 78, 79, 80, 81, -1, + -1, -1, 85, 86, 87, 88, 89, 90, -1, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, + 143, -1, 145, 146, 147, -1, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, -1, 167, 168, 169, 170, -1, 172, + -1, 174, -1, -1, -1, 178, 179, 180, -1, 182, + -1, 184, 185, -1, -1, 188, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, + 223, -1, 225, -1, 227, -1, -1, 230, -1, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, -1, + 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, -1, 277, 278, 279, 280, 281, 282, + -1, 284, 285, -1, 287, -1, 289, 290, 291, 292, + 293, 294, -1, 296, 297, -1, -1, 300, 301, 302, + -1, -1, 305, 306, 307, -1, 309, -1, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, 331, -1, + 333, 334, 335, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, -1, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, -1, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, -1, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, -1, -1, 430, 431, -1, + 433, -1, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, -1, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, - -1, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, -1, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, -1, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, -1, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, -1, -1, -1, 174, 175, 176, -1, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, -1, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, -1, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, -1, -1, 226, -1, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, -1, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, 81, -1, -1, -1, 85, 86, 87, 88, + 89, 90, -1, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, -1, -1, -1, 178, + 179, 180, -1, 182, -1, 184, 185, -1, -1, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, -1, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, -1, 216, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, -1, + -1, 230, -1, 232, 233, 234, 235, 236, 237, 238, + -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, -1, 271, 272, 273, 274, 275, 276, -1, 278, - 279, -1, 281, -1, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, -1, 294, 295, 296, -1, -1, - 299, 300, -1, 302, -1, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, - -1, -1, 321, 322, 323, -1, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, -1, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, -1, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, -1, 423, -1, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, -1, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, -1, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, -1, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 3, -1, 5, -1, -1, + 269, 270, 271, 272, 273, 274, 275, -1, 277, 278, + 279, 280, 281, 282, -1, 284, 285, -1, 287, -1, + 289, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, 307, -1, + 309, -1, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, + 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, -1, 373, 374, -1, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, -1, -1, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, + -1, 430, 431, -1, 433, -1, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, + 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, + 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, + 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, + 65, 66, -1, -1, 69, 70, 71, 72, 73, 74, + 75, -1, 77, 78, 79, 80, 81, -1, -1, -1, + 85, 86, 87, 88, 89, 90, -1, 92, 93, 94, + -1, 96, 97, 98, 99, 100, 101, -1, -1, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, -1, 120, -1, 122, 123, 124, + 125, 126, 127, -1, -1, 130, 131, 132, 133, 134, + -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, + 145, 146, 147, -1, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, 167, 168, 169, 170, -1, 172, -1, 174, + -1, -1, -1, 178, 179, 180, -1, 182, -1, 184, + 185, -1, -1, 188, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, -1, 201, 202, 203, 204, + -1, 206, 207, 208, 209, 210, 211, 212, -1, 214, + -1, 216, 217, 218, 219, 220, 221, 222, 223, -1, + 225, -1, 227, -1, -1, 230, -1, 232, 233, 234, + 235, 236, 237, 238, -1, -1, 241, -1, 243, -1, + -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, -1, 277, 278, 279, 280, 281, 282, -1, 284, + 285, -1, 287, -1, 289, 290, 291, 292, 293, 294, + -1, 296, 297, -1, -1, 300, 301, 302, -1, -1, + 305, 306, 307, -1, 309, -1, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + -1, -1, -1, -1, 329, 330, 331, -1, 333, 334, + 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, + 345, 346, 347, -1, 349, 350, 351, 352, 353, 354, + 355, 356, -1, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, -1, 373, 374, + -1, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + -1, -1, 407, 408, 409, 410, -1, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, -1, -1, 430, 431, -1, 433, -1, + 435, 436, 437, 438, 439, -1, 441, 442, 443, -1, + 445, -1, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, -1, -1, 463, 464, + 465, -1, 467, 468, 469, 470, -1, 472, 473, 474, + 475, 476, 477, 478, -1, 480, -1, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, -1, 493, -1, + -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, - 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, - 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, - 88, -1, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, -1, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, -1, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, -1, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, -1, -1, -1, 174, 175, 176, -1, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, -1, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, -1, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, -1, -1, 226, -1, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - -1, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, -1, 271, 272, 273, 274, 275, 276, -1, - 278, 279, -1, 281, -1, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, -1, 302, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, -1, - -1, -1, -1, 321, 322, 323, -1, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, -1, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, -1, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, -1, 423, -1, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, -1, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, -1, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 3, -1, 5, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, + -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, + 81, -1, -1, -1, 85, 86, 87, 88, 89, 90, + -1, 92, 93, 94, -1, 96, 97, 98, 99, 100, + 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, -1, -1, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, + 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, -1, 167, 168, 169, 170, + -1, 172, -1, 174, -1, -1, -1, 178, 179, 180, + -1, 182, -1, 184, 185, -1, -1, 188, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, -1, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, -1, 216, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, -1, -1, 230, + -1, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, -1, 277, 278, 279, 280, + 281, 282, -1, 284, 285, -1, 287, -1, 289, 290, + 291, 292, 293, 294, -1, 296, 297, -1, -1, 300, + 301, 302, -1, -1, 305, 306, 307, -1, 309, -1, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, + 331, -1, 333, 334, 335, 336, 337, 338, -1, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, -1, 373, 374, -1, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, -1, -1, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, -1, -1, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, -1, -1, 430, + 431, -1, 433, -1, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + -1, -1, 463, 464, 465, -1, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, -1, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, -1, -1, 83, 84, 85, 86, - 87, 88, -1, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, -1, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, -1, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, -1, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, -1, -1, -1, 174, 175, 176, - -1, 178, -1, 180, 181, -1, -1, 184, 185, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, -1, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, -1, 212, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, -1, -1, 226, - -1, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, -1, 239, -1, -1, 242, 243, 244, 245, 246, + -1, -1, 69, 70, 71, 72, 73, 74, 75, -1, + 77, 78, 79, 80, 81, -1, -1, -1, 85, 86, + 87, 88, 89, 90, -1, 92, 93, 94, -1, 96, + 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, -1, 120, -1, 122, 123, 124, 125, 126, + 127, -1, -1, 130, 131, 132, 133, 134, -1, -1, + 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, + 147, -1, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, -1, 165, -1, + 167, 168, 169, 170, -1, 172, -1, 174, -1, -1, + -1, 178, 179, 180, -1, 182, -1, 184, 185, -1, + -1, 188, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, -1, 201, 202, 203, 204, -1, 206, + 207, 208, 209, 210, 211, 212, -1, 214, -1, 216, + 217, 218, 219, 220, 221, 222, 223, -1, 225, -1, + 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, + 237, 238, -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, -1, 271, 272, 273, 274, 275, 276, - -1, 278, 279, -1, 281, -1, 283, 284, 285, 286, - 287, 288, -1, 290, 291, -1, -1, 294, 295, 296, - -1, -1, 299, 300, -1, 302, -1, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, 323, -1, 325, 326, - 327, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - -1, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, -1, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, -1, 420, 421, -1, 423, -1, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, - 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, - 447, 448, 449, -1, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, 466, - 467, -1, 469, -1, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 3, -1, 5, + 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, + 277, 278, 279, 280, 281, 282, -1, 284, 285, -1, + 287, -1, 289, 290, 291, 292, 293, 294, -1, 296, + 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, + 307, -1, 309, -1, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, + -1, -1, 329, 330, 331, -1, 333, 334, 335, 336, + 337, 338, -1, 340, 341, 342, 343, 344, 345, 346, + 347, -1, 349, 350, 351, 352, 353, 354, 355, 356, + -1, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, -1, 373, 374, -1, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, -1, -1, + 407, 408, 409, 410, -1, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, -1, -1, 430, 431, -1, 433, -1, 435, 436, + 437, 438, 439, -1, 441, 442, 443, -1, 445, -1, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, -1, -1, 463, 464, 465, -1, + 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, -1, 493, -1, -1, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, + 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, 75, -1, 77, 78, 79, 80, 81, -1, + -1, -1, 85, 86, 87, 88, 89, 90, -1, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, + 143, -1, 145, 146, 147, -1, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, -1, 167, 168, 169, 170, -1, 172, + -1, 174, -1, -1, -1, 178, 179, 180, -1, 182, + -1, 184, 185, -1, -1, 188, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, + 223, -1, 225, -1, 227, -1, -1, 230, -1, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, -1, + 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, -1, 277, 278, 279, 280, 281, 282, + -1, 284, 285, -1, 287, -1, 289, 290, 291, 292, + 293, 294, -1, 296, 297, -1, -1, 300, 301, 302, + -1, -1, 305, 306, 307, -1, 309, -1, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, 331, -1, + 333, 334, 335, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, -1, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, -1, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, -1, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, -1, -1, 430, 431, -1, + 433, -1, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, -1, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, - 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, - 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - 86, 87, 88, -1, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, -1, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, -1, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, -1, -1, -1, 174, 175, - 176, -1, 178, -1, 180, 181, -1, -1, 184, 185, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - -1, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, -1, 212, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, -1, -1, - 226, -1, 228, 229, 230, 231, 232, 233, 234, -1, - -1, 237, -1, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, -1, 271, 272, 273, 274, 275, - 276, -1, 278, 279, -1, 281, -1, 283, 284, 285, - 286, 287, 288, -1, 290, 291, -1, -1, 294, 295, - 296, -1, -1, 299, 300, -1, 302, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, 323, -1, 325, - 326, 327, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, -1, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, -1, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - -1, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, -1, 420, 421, -1, 423, -1, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, -1, - 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, - 446, 447, 448, 449, -1, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - 466, 467, -1, 469, -1, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, + 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, + 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, 81, -1, -1, -1, 85, 86, 87, 88, + 89, 90, -1, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, -1, -1, -1, 178, + 179, 180, -1, 182, -1, 184, 185, -1, -1, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, -1, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, -1, 216, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, -1, + -1, 230, -1, 232, 233, 234, 235, 236, 237, 238, + -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, -1, 277, 278, + 279, 280, 281, 282, -1, 284, 285, -1, 287, -1, + 289, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, 307, -1, + 309, -1, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, + 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, -1, 373, 374, -1, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, -1, -1, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, + -1, 430, 431, -1, 433, -1, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, 42, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, - 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, - 85, 86, 87, 88, -1, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, -1, 102, 103, 104, + 65, 66, -1, -1, 69, 70, 71, 72, 73, 74, + 75, -1, 77, 78, 79, 80, 81, -1, -1, -1, + 85, 86, 87, 88, 89, 90, -1, 92, 93, 94, + -1, 96, 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - -1, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, -1, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, -1, -1, -1, 174, - 175, 176, -1, 178, -1, 180, 181, -1, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, -1, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, -1, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, -1, - -1, 226, -1, 228, 229, 230, 231, 232, 233, 234, - -1, -1, 237, -1, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 115, 116, 117, 118, -1, 120, -1, 122, 123, 124, + 125, 126, 127, -1, -1, 130, 131, 132, 133, 134, + -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, + 145, 146, 147, -1, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, 167, 168, 169, 170, -1, 172, -1, 174, + -1, -1, -1, 178, 179, 180, -1, 182, -1, 184, + 185, -1, -1, 188, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, -1, 201, 202, 203, 204, + -1, 206, 207, 208, 209, 210, 211, 212, -1, 214, + -1, 216, 217, 218, 219, 220, 221, 222, 223, -1, + 225, -1, 227, -1, -1, 230, -1, 232, 233, 234, + 235, 236, 237, 238, -1, -1, 241, -1, 243, -1, + -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, -1, 271, 272, 273, 274, - 275, 276, -1, 278, 279, -1, 281, -1, 283, 284, - 285, 286, 287, 288, -1, 290, 291, -1, -1, 294, - 295, 296, -1, -1, 299, 300, -1, 302, -1, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, -1, -1, -1, 321, 322, 323, -1, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, - 365, 366, -1, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, -1, -1, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, -1, 397, 398, 399, 400, -1, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, -1, 423, -1, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, -1, 469, -1, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, -1, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 3, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, 40, -1, 42, -1, - -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, - 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, - 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, - 84, 85, 86, 87, 88, -1, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, -1, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, -1, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, -1, 161, -1, 163, - 164, 165, 166, -1, 168, -1, 170, -1, -1, -1, - 174, 175, 176, -1, 178, -1, 180, 181, -1, -1, - 184, 185, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, -1, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, -1, 212, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - -1, -1, 226, -1, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, -1, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, -1, 271, 272, 273, - 274, 275, 276, -1, 278, 279, -1, 281, -1, 283, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, -1, -1, -1, -1, 321, 322, 323, - -1, 325, 326, 327, 328, 329, 330, -1, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, -1, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, - -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, -1, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, - -1, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, - 444, 445, 446, 447, 448, 449, -1, -1, 452, 453, - 454, -1, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, 466, 467, -1, 469, -1, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, -1, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, - -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, - 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, -1, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, -1, 116, -1, 118, 119, 120, 121, 122, - 123, -1, 125, 126, 127, 128, 129, 130, -1, -1, - 133, 134, 135, 136, 137, 138, 139, -1, 141, 142, - 143, -1, 145, 146, 147, -1, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, -1, 161, -1, - 163, 164, 165, 166, -1, 168, -1, 170, -1, -1, - -1, 174, 175, 176, -1, 178, -1, 180, 181, -1, - -1, 184, 185, 186, 187, -1, 189, 190, 191, 192, - 193, 194, 195, -1, 197, 198, 199, 200, -1, 202, - 203, 204, 205, 206, 207, 208, -1, 210, -1, 212, - 213, 214, 215, 216, 217, 218, 219, -1, 221, -1, - 223, -1, -1, 226, -1, 228, 229, 230, 231, 232, - 233, 234, -1, -1, 237, -1, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, -1, 271, 272, - 273, 274, 275, 276, -1, 278, 279, -1, 281, -1, - 283, 284, 285, 286, 287, 288, -1, 290, 291, -1, - -1, 294, 295, 296, -1, -1, 299, 300, -1, 302, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, -1, -1, -1, -1, 321, 322, - 323, -1, 325, 326, 327, 328, 329, 330, -1, 332, - 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, - 343, 344, 345, 346, 347, 348, -1, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, -1, 365, 366, -1, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - -1, -1, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, -1, 397, 398, 399, 400, -1, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, - 423, -1, 425, 426, 427, 428, 429, -1, 431, 432, - -1, 434, -1, 436, 437, 438, 439, 440, -1, 442, - 443, 444, 445, 446, 447, 448, 449, -1, -1, 452, - 453, 454, -1, 456, 457, 458, 459, -1, 461, 462, - 463, 464, 465, 466, 467, -1, 469, -1, 471, 472, - 473, 474, 475, 476, 477, -1, -1, 480, -1, -1, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 3, -1, 5, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, - -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, - 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, -1, 116, -1, 118, 119, 120, 121, - 122, 123, -1, 125, 126, 127, 128, 129, 130, -1, - -1, 133, 134, 135, 136, 137, 138, 139, -1, 141, - 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, - -1, 163, 164, 165, 166, -1, 168, -1, 170, -1, - -1, -1, 174, 175, 176, -1, 178, -1, 180, 181, - -1, -1, 184, 185, 186, 187, -1, 189, 190, 191, - 192, 193, 194, 195, -1, 197, 198, 199, 200, -1, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, 219, -1, 221, - -1, 223, -1, -1, 226, -1, 228, 229, 230, 231, - 232, 233, 234, -1, -1, 237, -1, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, -1, 278, 279, -1, 281, - -1, 283, 284, 285, 286, 287, 288, -1, 290, 291, - -1, -1, 294, 295, 296, -1, -1, 299, 300, -1, - 302, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, -1, -1, -1, -1, 321, - 322, 323, -1, 325, 326, 327, 328, 329, 330, -1, - 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, - 342, 343, 344, 345, 346, 347, 348, -1, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, -1, 365, 366, -1, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, -1, -1, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, -1, 397, 398, 399, 400, -1, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, - -1, 423, -1, 425, 426, 427, 428, 429, -1, 431, - 432, -1, 434, -1, 436, 437, 438, 439, 440, -1, - 442, 443, 444, 445, 446, 447, 448, 449, -1, -1, - 452, 453, 454, -1, 456, 457, 458, 459, -1, 461, - 462, 463, 464, 465, 466, 467, -1, 469, -1, 471, - 472, 473, 474, 475, 476, 477, -1, -1, 480, -1, - -1, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 3, -1, 5, -1, -1, -1, -1, -1, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, -1, 277, 278, 279, 280, 281, 282, -1, 284, + 285, -1, 287, -1, 289, 290, 291, 292, 293, 294, + -1, 296, 297, -1, -1, 300, 301, 302, -1, -1, + 305, 306, 307, -1, 309, -1, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + -1, -1, -1, -1, 329, 330, 331, -1, 333, 334, + 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, + 345, 346, 347, -1, 349, 350, 351, 352, 353, 354, + 355, 356, -1, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, -1, 373, 374, + -1, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + -1, -1, 407, 408, 409, 410, -1, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, -1, -1, 430, 431, -1, 433, -1, + 435, 436, 437, 438, 439, -1, 441, 442, 443, -1, + 445, -1, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, -1, -1, 463, 464, + 465, -1, 467, 468, 469, 470, -1, 472, 473, 474, + 475, 476, 477, 478, -1, 480, -1, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, -1, 493, -1, + -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, - -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, + -1, 42, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - -1, -1, 83, 84, 85, 86, 87, 88, -1, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, -1, 116, -1, 118, 119, 120, - 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, - -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, + 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, + 81, -1, -1, -1, 85, 86, 87, 88, 89, 90, + -1, 92, 93, 94, -1, 96, 97, 98, 99, 100, + 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, -1, -1, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, - 161, -1, 163, 164, 165, 166, -1, 168, -1, 170, - -1, -1, -1, 174, 175, 176, -1, 178, -1, 180, - 181, -1, -1, 184, 185, 186, 187, -1, 189, 190, - 191, 192, 193, 194, 195, -1, 197, 198, 199, 200, - -1, 202, 203, 204, 205, 206, 207, 208, -1, 210, - -1, 212, 213, 214, 215, 216, 217, 218, 219, -1, - 221, -1, 223, -1, -1, 226, -1, 228, 229, 230, - 231, 232, 233, 234, -1, -1, 237, -1, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, -1, 167, 168, 169, 170, + -1, 172, -1, 174, -1, -1, -1, 178, 179, 180, + -1, 182, -1, 184, 185, -1, -1, 188, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, -1, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, -1, 216, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, -1, -1, 230, + -1, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, - 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, - 281, -1, 283, 284, 285, 286, 287, 288, -1, 290, - 291, -1, -1, 294, 295, 296, -1, -1, 299, 300, - -1, 302, -1, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -1, -1, -1, -1, - 321, 322, 323, -1, 325, 326, 327, 328, 329, 330, - -1, 332, 333, 334, 335, 336, 337, 338, 339, -1, - 341, 342, 343, 344, 345, 346, 347, 348, -1, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, -1, 365, 366, -1, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, -1, -1, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, - -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, - 421, -1, 423, -1, 425, 426, 427, 428, 429, -1, - 431, 432, -1, 434, -1, 436, 437, 438, 439, 440, - -1, 442, 443, 444, 445, 446, 447, 448, 449, -1, - -1, 452, 453, 454, -1, 456, 457, 458, 459, -1, - 461, 462, 463, 464, 465, 466, 467, -1, 469, -1, - 471, 472, 473, 474, 475, 476, 477, -1, -1, 480, - -1, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 3, -1, 5, -1, -1, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, -1, 277, 278, 279, 280, + 281, 282, -1, 284, 285, -1, 287, -1, 289, 290, + 291, 292, 293, 294, -1, 296, 297, -1, -1, 300, + 301, 302, -1, -1, 305, 306, 307, -1, 309, -1, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, + 331, -1, 333, 334, 335, 336, 337, 338, -1, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, -1, 373, 374, -1, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, -1, -1, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, -1, -1, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, -1, -1, 430, + 431, -1, 433, -1, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + -1, -1, 463, 464, 465, -1, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, -1, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, - 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, - 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, - -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, -1, 116, -1, 118, 119, - 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, - 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, - -1, 141, 142, 143, -1, 145, 146, 147, -1, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - -1, 161, -1, 163, 164, 165, 166, -1, 168, -1, - 170, -1, -1, -1, 174, 175, 176, -1, 178, -1, - 180, 181, -1, -1, 184, 185, 186, 187, -1, 189, - 190, 191, 192, 193, 194, 195, -1, 197, 198, 199, - 200, -1, 202, 203, 204, 205, 206, 207, 208, -1, - 210, -1, 212, 213, 214, 215, 216, 217, 218, 219, - -1, 221, -1, 223, -1, -1, 226, -1, 228, 229, - 230, 231, 232, 233, 234, -1, -1, 237, -1, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - -1, 271, 272, 273, 274, 275, 276, -1, 278, 279, - -1, 281, -1, 283, 284, 285, 286, 287, 288, -1, - 290, 291, -1, -1, 294, 295, 296, -1, -1, 299, - 300, -1, 302, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, -1, -1, -1, - -1, 321, 322, 323, -1, 325, 326, 327, 328, 329, - 330, -1, 332, 333, 334, 335, 336, 337, 338, 339, - -1, 341, 342, 343, 344, 345, 346, 347, 348, -1, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, -1, 365, 366, -1, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, -1, -1, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, - 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, - 420, 421, -1, 423, -1, 425, 426, 427, 428, 429, - -1, 431, 432, -1, 434, -1, 436, 437, 438, 439, - 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, - -1, -1, 452, 453, 454, -1, 456, 457, 458, 459, - -1, 461, 462, 463, 464, 465, 466, 467, -1, 469, - -1, 471, 472, 473, 474, 475, 476, 477, -1, -1, - 480, -1, -1, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 3, -1, 5, -1, -1, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, + -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, + -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, + -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, 74, 75, -1, + 77, 78, 79, 80, 81, -1, -1, -1, 85, 86, + 87, 88, 89, 90, -1, 92, 93, 94, -1, 96, + 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, -1, 120, -1, 122, 123, 124, 125, 126, + 127, -1, -1, 130, 131, 132, 133, 134, -1, -1, + 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, + 147, -1, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, -1, 165, -1, + 167, 168, 169, 170, -1, 172, -1, 174, -1, -1, + -1, 178, 179, 180, -1, 182, -1, 184, 185, -1, + -1, 188, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, -1, 201, 202, 203, 204, -1, 206, + 207, 208, 209, 210, 211, 212, -1, 214, -1, 216, + 217, 218, 219, 220, 221, 222, 223, -1, 225, -1, + 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, + 237, 238, -1, -1, 241, -1, 243, -1, -1, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, + 277, 278, 279, 280, 281, 282, -1, 284, 285, -1, + 287, -1, 289, 290, 291, 292, 293, 294, -1, 296, + 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, + 307, -1, 309, -1, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, + -1, -1, 329, 330, 331, -1, 333, 334, 335, 336, + 337, 338, -1, 340, 341, 342, 343, 344, 345, 346, + 347, -1, 349, 350, 351, 352, 353, 354, 355, 356, + -1, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, -1, 373, 374, -1, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, -1, -1, + 407, 408, 409, 410, -1, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, -1, -1, 430, 431, -1, 433, -1, 435, 436, + 437, 438, 439, -1, 441, 442, 443, -1, 445, -1, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, -1, -1, 463, 464, 465, -1, + 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, -1, 493, -1, -1, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, + 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, 75, -1, 77, 78, 79, 80, 81, -1, + -1, -1, 85, 86, 87, 88, 89, 90, -1, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, + 143, -1, 145, 146, 147, -1, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, -1, 167, 168, 169, 170, -1, 172, + -1, 174, -1, -1, -1, 178, 179, 180, -1, 182, + -1, 184, 185, -1, -1, 188, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, + 223, -1, 225, -1, 227, -1, -1, 230, -1, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, -1, + 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, -1, 277, 278, 279, 280, 281, 282, + -1, 284, 285, -1, 287, -1, 289, 290, 291, 292, + 293, 294, -1, 296, 297, -1, -1, 300, 301, 302, + -1, -1, 305, 306, 307, -1, 309, -1, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, 331, -1, + 333, 334, 335, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, -1, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, -1, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, -1, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, -1, -1, 430, 431, -1, + 433, -1, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, -1, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, - -1, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, -1, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, -1, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, -1, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, -1, -1, -1, 174, 175, 176, -1, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, -1, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, -1, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, -1, -1, 226, -1, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, -1, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, 81, -1, -1, -1, 85, 86, 87, 88, + 89, 90, -1, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, -1, -1, -1, 178, + 179, 180, -1, 182, -1, 184, 185, -1, -1, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, -1, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, -1, 216, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, -1, + -1, 230, -1, 232, 233, 234, 235, 236, 237, 238, + -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, -1, 271, 272, 273, 274, 275, 276, -1, 278, - 279, -1, 281, -1, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, -1, 294, 295, 296, -1, -1, - 299, 300, -1, 302, -1, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, - -1, -1, 321, 322, 323, -1, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, -1, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, -1, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, -1, 423, -1, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, -1, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, -1, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, -1, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 3, -1, 5, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, - 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, - 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, - 88, -1, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, -1, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, -1, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, -1, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, -1, -1, -1, 174, 175, 176, -1, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, -1, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, -1, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, -1, -1, 226, -1, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - -1, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, -1, 271, 272, 273, 274, 275, 276, -1, - 278, 279, -1, 281, -1, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, -1, 302, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, -1, - -1, -1, -1, 321, 322, 323, -1, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, -1, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, -1, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, -1, 423, -1, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, -1, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, -1, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 3, -1, -1, -1, + 269, 270, 271, 272, 273, 274, 275, -1, 277, 278, + 279, 280, 281, 282, -1, 284, 285, -1, 287, -1, + 289, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, 307, -1, + 309, -1, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, + 329, 330, 331, -1, 333, 334, 335, 336, 337, 338, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, -1, 373, 374, -1, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, -1, -1, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, + -1, 430, 431, -1, 433, -1, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + 449, 450, 451, -1, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, + 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, + 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, + 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, + 65, 66, -1, -1, 69, 70, 71, 72, 73, 74, + 75, -1, 77, 78, 79, 80, 81, -1, -1, -1, + 85, 86, 87, 88, 89, 90, -1, 92, 93, 94, + -1, 96, 97, 98, 99, 100, 101, -1, -1, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, -1, 120, -1, 122, 123, 124, + 125, 126, 127, -1, -1, 130, 131, 132, 133, 134, + -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, + 145, 146, 147, -1, 149, 150, 151, -1, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, 167, 168, 169, 170, -1, 172, -1, 174, + -1, -1, -1, 178, 179, 180, -1, 182, -1, 184, + 185, -1, -1, 188, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, -1, 201, 202, 203, 204, + -1, 206, 207, 208, 209, 210, 211, 212, -1, 214, + -1, 216, 217, 218, 219, 220, 221, 222, 223, -1, + 225, -1, 227, -1, -1, 230, -1, 232, 233, 234, + 235, 236, 237, 238, -1, -1, 241, -1, 243, -1, + -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, -1, 277, 278, 279, 280, 281, 282, -1, 284, + 285, -1, 287, -1, 289, 290, 291, 292, 293, 294, + -1, 296, 297, -1, -1, 300, 301, 302, -1, -1, + 305, 306, 307, -1, 309, -1, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + -1, -1, -1, -1, 329, 330, 331, -1, 333, 334, + 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, + 345, 346, 347, -1, 349, 350, 351, 352, 353, 354, + 355, 356, -1, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, -1, 373, 374, + -1, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + -1, -1, 407, 408, 409, 410, -1, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, -1, -1, 430, 431, -1, 433, -1, + 435, 436, 437, 438, 439, -1, 441, 442, 443, -1, + 445, -1, 447, 448, 449, 450, 451, -1, 453, 454, + 455, 456, 457, 458, 459, 460, -1, -1, 463, 464, + 465, -1, 467, 468, 469, 470, -1, 472, 473, 474, + 475, 476, 477, 478, -1, 480, -1, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, -1, 493, -1, + -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, 38, -1, 40, -1, 42, -1, 44, 45, 46, - -1, 48, 49, 50, 51, 52, 53, 54, -1, 56, - 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, -1, -1, 81, -1, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, -1, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, -1, 154, 155, 156, - 157, 158, -1, -1, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, 171, -1, 173, 174, 175, 176, - 177, 178, -1, 180, 181, -1, -1, -1, -1, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, -1, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, 238, 239, 240, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, - -1, 278, 279, 280, 281, -1, -1, 284, 285, 286, - 287, 288, -1, 290, 291, -1, -1, 294, 295, 296, - -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, -1, 324, 325, 326, - -1, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - -1, 418, -1, 420, 421, -1, 423, 424, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, - 437, -1, 439, -1, -1, 442, 443, 444, 445, 446, - 447, 448, 449, 450, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, -1, - 467, -1, 469, 470, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, - 487, 488, 3, -1, 5, -1, -1, -1, -1, -1, - -1, -1, -1, 500, 501, 502, 503, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - -1, -1, 83, 84, 85, 86, 87, 88, -1, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, -1, 116, -1, 118, 119, 120, - 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, - -1, -1, 133, 134, 135, 136, 137, 138, 139, -1, + 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, + 81, -1, -1, -1, 85, 86, 87, 88, 89, 90, + -1, 92, 93, 94, -1, 96, 97, 98, 99, 100, + 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, -1, -1, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, - 161, -1, 163, 164, 165, 166, -1, 168, -1, 170, - -1, -1, -1, 174, 175, 176, -1, 178, -1, 180, - 181, -1, -1, 184, 185, 186, 187, -1, 189, 190, - 191, 192, 193, 194, 195, -1, 197, 198, 199, 200, - -1, 202, 203, 204, 205, 206, 207, 208, -1, 210, - -1, 212, 213, 214, 215, 216, 217, 218, 219, -1, - 221, -1, 223, -1, -1, 226, -1, 228, 229, 230, - 231, 232, 233, 234, -1, -1, 237, -1, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, -1, 167, 168, 169, 170, + -1, 172, -1, 174, -1, -1, -1, 178, 179, 180, + -1, 182, -1, 184, 185, -1, -1, 188, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, -1, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, -1, 216, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, -1, -1, 230, + -1, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, - 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, - 281, -1, 283, 284, 285, 286, 287, 288, -1, 290, - 291, -1, -1, 294, 295, 296, -1, -1, 299, 300, - -1, 302, -1, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, -1, -1, -1, -1, - 321, 322, 323, -1, 325, 326, 327, 328, 329, 330, - -1, 332, 333, 334, 335, 336, 337, 338, 339, -1, - 341, 342, 343, 344, 345, 346, 347, 348, -1, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, -1, 365, 366, -1, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, -1, -1, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, - -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, - 421, -1, 423, -1, 425, 426, 427, 428, 429, -1, - 431, 432, -1, 434, -1, 436, 437, 438, 439, 440, - -1, 442, 443, 444, 445, 446, 447, 448, 449, -1, - -1, 452, 453, 454, -1, 456, 457, 458, 459, -1, - 461, 462, 463, 464, 465, 466, 467, -1, 469, -1, - 471, 472, 473, 474, 475, 476, 477, -1, -1, 480, - -1, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 3, -1, -1, -1, -1, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, -1, 277, 278, 279, 280, + 281, 282, -1, 284, 285, -1, 287, -1, 289, 290, + 291, 292, 293, 294, -1, 296, 297, -1, -1, 300, + 301, 302, -1, -1, 305, 306, 307, -1, 309, -1, + 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, + 331, -1, 333, 334, 335, 336, 337, 338, -1, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, -1, 373, 374, -1, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, -1, -1, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, -1, -1, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, -1, -1, 430, + 431, -1, 433, -1, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 457, 458, 459, 460, + -1, -1, 463, 464, 465, -1, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, -1, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 3, -1, 5, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, + -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, + -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, 74, 75, -1, + 77, 78, 79, 80, 81, -1, -1, -1, 85, 86, + 87, 88, 89, 90, -1, 92, 93, 94, -1, 96, + 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, -1, 120, -1, 122, 123, 124, 125, 126, + 127, -1, -1, 130, 131, 132, 133, 134, -1, -1, + 137, 138, 139, 140, 141, 142, 143, -1, 145, 146, + 147, -1, 149, 150, 151, -1, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, -1, 165, -1, + 167, 168, 169, 170, -1, 172, -1, 174, -1, -1, + -1, 178, 179, 180, -1, 182, -1, 184, 185, -1, + -1, 188, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, -1, 201, 202, 203, 204, -1, 206, + 207, 208, 209, 210, 211, 212, -1, 214, -1, 216, + 217, 218, 219, 220, 221, 222, 223, -1, 225, -1, + 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, + 237, 238, -1, -1, 241, -1, 243, -1, -1, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, + 277, 278, 279, 280, 281, 282, -1, 284, 285, -1, + 287, -1, 289, 290, 291, 292, 293, 294, -1, 296, + 297, -1, -1, 300, 301, 302, -1, -1, 305, 306, + 307, -1, 309, -1, 311, 312, 313, 314, 315, 316, + 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, + -1, -1, 329, 330, 331, -1, 333, 334, 335, 336, + 337, 338, -1, 340, 341, 342, 343, 344, 345, 346, + 347, -1, 349, 350, 351, 352, 353, 354, 355, 356, + -1, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, -1, 373, 374, -1, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, -1, -1, + 407, 408, 409, 410, -1, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, -1, -1, 430, 431, -1, 433, -1, 435, 436, + 437, 438, 439, -1, 441, 442, 443, -1, 445, -1, + 447, 448, 449, 450, 451, -1, 453, 454, 455, 456, + 457, 458, 459, 460, -1, -1, 463, 464, 465, -1, + 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, -1, 493, -1, -1, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, 38, -1, 40, -1, 42, + -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, + 53, 54, -1, 56, 57, 58, 59, -1, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, 75, -1, 77, 78, 79, 80, -1, -1, + 83, -1, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, + 143, -1, 145, 146, 147, -1, 149, 150, 151, -1, + 153, 154, 155, 156, -1, 158, 159, 160, 161, 162, + -1, -1, 165, -1, 167, 168, 169, 170, -1, 172, + -1, 174, 175, -1, 177, 178, 179, 180, 181, 182, + -1, 184, 185, -1, -1, -1, -1, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, 215, -1, 217, 218, 219, 220, 221, 222, + 223, -1, 225, -1, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, 242, + 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, -1, + -1, 284, 285, 286, 287, -1, -1, 290, 291, 292, + 293, 294, -1, 296, 297, -1, -1, 300, 301, 302, + -1, -1, 305, 306, -1, 308, 309, 310, -1, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, -1, 332, + 333, 334, -1, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, 406, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, -1, -1, -1, 430, 431, -1, + 433, 434, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, -1, 450, -1, -1, + 453, 454, 455, 456, 457, 458, 459, 460, 461, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, -1, 478, -1, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 3, + -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, + 513, 514, 515, 516, -1, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, + -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, + 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + 74, 75, -1, 77, 78, 79, 80, 81, -1, -1, + -1, 85, 86, 87, 88, 89, 90, -1, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, -1, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, -1, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + -1, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, -1, -1, -1, 178, 179, 180, -1, 182, -1, + 184, 185, -1, -1, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, -1, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, -1, -1, 230, -1, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, -1, 243, + -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, -1, 277, 278, 279, 280, 281, 282, -1, + 284, 285, -1, 287, -1, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, -1, 309, -1, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, -1, -1, -1, -1, 329, 330, 331, -1, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, -1, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, -1, -1, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, -1, 433, + -1, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, -1, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, -1, 493, + -1, -1, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, -1, 116, -1, 118, 119, - 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, - 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, - -1, 141, 142, 143, -1, 145, 146, 147, -1, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - -1, 161, -1, 163, 164, 165, 166, -1, 168, -1, - 170, -1, -1, -1, 174, 175, 176, -1, 178, -1, - 180, 181, -1, -1, 184, 185, 186, 187, -1, 189, - 190, 191, 192, 193, 194, 195, -1, 197, 198, 199, - 200, -1, 202, 203, 204, 205, 206, 207, 208, -1, - 210, -1, 212, 213, 214, 215, 216, 217, 218, 219, - -1, 221, -1, 223, -1, -1, 226, -1, 228, 229, - 230, 231, 232, 233, 234, -1, -1, 237, -1, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, 81, -1, -1, -1, 85, 86, 87, 88, 89, + 90, -1, 92, 93, 94, -1, 96, 97, 98, 99, + 100, 101, -1, -1, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, -1, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, -1, -1, -1, 178, 179, + 180, -1, 182, -1, 184, 185, -1, -1, 188, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + -1, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, -1, 216, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, -1, -1, + 230, -1, 232, 233, 234, 235, 236, 237, 238, -1, + -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - -1, 271, 272, 273, 274, 275, 276, -1, 278, 279, - -1, 281, -1, 283, 284, 285, 286, 287, 288, -1, - 290, 291, -1, -1, 294, 295, 296, -1, -1, 299, - 300, -1, 302, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, -1, -1, -1, - -1, 321, 322, 323, -1, 325, 326, 327, 328, 329, - 330, -1, 332, 333, 334, 335, 336, 337, 338, 339, - -1, 341, 342, 343, 344, 345, 346, 347, 348, -1, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, -1, 365, 366, -1, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, -1, -1, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, - 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, - 420, 421, -1, 423, -1, 425, 426, 427, 428, 429, - -1, 431, 432, -1, 434, -1, 436, 437, 438, 439, - 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, - -1, -1, 452, 453, 454, -1, 456, 457, 458, 459, - -1, 461, 462, 463, 464, 465, 466, 467, -1, 469, - -1, 471, 472, 473, 474, 475, 476, 477, -1, -1, - 480, -1, -1, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 3, -1, -1, -1, -1, -1, + 270, 271, 272, 273, 274, 275, -1, 277, 278, 279, + 280, 281, 282, -1, 284, 285, -1, 287, -1, 289, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, 307, -1, 309, + -1, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, -1, -1, -1, -1, 329, + 330, 331, -1, 333, 334, 335, 336, 337, 338, -1, + 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, -1, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, -1, -1, 407, 408, 409, + 410, -1, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, -1, -1, + 430, 431, -1, 433, -1, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, 445, -1, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, -1, -1, 463, 464, 465, -1, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, 477, 478, -1, + 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, -1, 493, -1, -1, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, - -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, - 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, - 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, - -1, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, -1, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, -1, 116, -1, 118, - 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, - 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, - 139, -1, 141, 142, 143, -1, 145, 146, 147, -1, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, -1, 161, -1, 163, 164, 165, 166, -1, 168, - -1, 170, -1, -1, -1, 174, 175, 176, -1, 178, - -1, 180, 181, -1, -1, 184, 185, 186, 187, -1, - 189, 190, 191, 192, 193, 194, 195, -1, 197, 198, - 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, - -1, 210, -1, 212, 213, 214, 215, 216, 217, 218, - 219, -1, 221, -1, 223, -1, -1, 226, -1, 228, - 229, 230, 231, 232, 233, 234, -1, -1, 237, -1, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, -1, 271, 272, 273, 274, 275, 276, -1, 278, - 279, -1, 281, -1, 283, 284, 285, 286, 287, 288, - -1, 290, 291, -1, -1, 294, 295, 296, -1, -1, - 299, 300, -1, 302, -1, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, -1, -1, - -1, -1, 321, 322, 323, -1, 325, 326, 327, 328, - 329, 330, -1, 332, 333, 334, 335, 336, 337, 338, - 339, -1, 341, 342, 343, 344, 345, 346, 347, 348, - -1, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, -1, 365, 366, -1, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, -1, -1, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, - 399, 400, -1, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - -1, 420, 421, -1, 423, -1, 425, 426, 427, 428, - 429, -1, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, - 449, -1, -1, 452, 453, 454, -1, 456, 457, 458, - 459, -1, 461, 462, 463, 464, 465, 466, 467, -1, - 469, -1, 471, 472, 473, 474, 475, 476, 477, -1, - -1, 480, -1, -1, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 3, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, + -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, + 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, + 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, + 66, -1, -1, 69, 70, 71, 72, 73, 74, 75, + -1, 77, 78, 79, 80, 81, -1, -1, -1, 85, + 86, 87, 88, 89, 90, -1, 92, 93, 94, -1, + 96, 97, 98, 99, 100, 101, -1, -1, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, -1, 120, -1, 122, 123, 124, 125, + 126, 127, -1, -1, 130, 131, 132, 133, 134, -1, + -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, 147, -1, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, -1, 165, + -1, 167, 168, 169, 170, -1, 172, -1, 174, -1, + -1, -1, 178, 179, 180, -1, 182, -1, 184, 185, + -1, -1, 188, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, -1, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, -1, 214, -1, + 216, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 227, -1, -1, 230, -1, 232, 233, 234, 235, + 236, 237, 238, -1, -1, 241, -1, 243, -1, -1, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + -1, 277, 278, 279, 280, 281, 282, -1, 284, 285, + -1, 287, -1, 289, 290, 291, 292, 293, 294, -1, + 296, 297, -1, -1, 300, 301, 302, -1, -1, 305, + 306, 307, -1, 309, -1, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, + -1, -1, -1, 329, 330, 331, -1, 333, 334, 335, + 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, + 346, 347, -1, 349, 350, 351, 352, 353, 354, 355, + 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, -1, 373, 374, -1, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, + -1, 407, 408, 409, 410, -1, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, -1, -1, 430, 431, -1, 433, -1, 435, + 436, 437, 438, 439, -1, 441, 442, 443, -1, 445, + -1, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, -1, -1, 463, 464, 465, + -1, 467, 468, 469, 470, -1, 472, 473, 474, 475, + 476, 477, 478, -1, 480, -1, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, -1, 493, -1, -1, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, + -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, + 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, + 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, -1, -1, 85, 86, 87, 88, 89, 90, -1, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, -1, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, + 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, -1, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, -1, -1, -1, 178, 179, 180, -1, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, -1, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, -1, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, -1, -1, 230, -1, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, -1, 277, 278, 279, 280, 281, + 282, -1, 284, 285, -1, 287, -1, 289, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, 307, -1, 309, -1, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, + -1, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, -1, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, -1, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, -1, -1, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, -1, -1, 430, 431, + -1, 433, -1, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, - 88, -1, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, -1, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, -1, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, -1, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, -1, -1, -1, 174, 175, 176, -1, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, -1, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, -1, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, -1, -1, 226, -1, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - -1, 239, -1, -1, 242, 243, 244, 245, 246, 247, + -1, 69, 70, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, 81, -1, -1, -1, 85, 86, 87, + 88, 89, 90, -1, 92, 93, 94, -1, 96, 97, + 98, 99, 100, 101, -1, -1, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, -1, 120, -1, 122, 123, 124, 125, 126, 127, + -1, -1, 130, 131, 132, 133, 134, -1, -1, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, + -1, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, -1, 165, -1, 167, + 168, 169, 170, -1, 172, -1, 174, -1, -1, -1, + 178, 179, 180, -1, 182, -1, 184, 185, -1, -1, + 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, -1, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, -1, 214, -1, 216, 217, + 218, 219, 220, 221, 222, 223, -1, 225, -1, 227, + -1, -1, 230, -1, 232, 233, 234, 235, 236, 237, + 238, -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, -1, 271, 272, 273, 274, 275, 276, -1, - 278, 279, -1, 281, -1, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, -1, 302, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, -1, - -1, -1, -1, 321, 322, 323, -1, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, 342, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, -1, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, -1, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, -1, 423, -1, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, -1, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, -1, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 3, -1, -1, -1, + 268, 269, 270, 271, 272, 273, 274, 275, -1, 277, + 278, 279, 280, 281, 282, -1, 284, 285, -1, 287, + -1, 289, 290, 291, 292, 293, 294, -1, 296, 297, + -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, + -1, 309, -1, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, -1, -1, -1, + -1, 329, 330, 331, -1, 333, 334, 335, 336, 337, + 338, -1, 340, 341, 342, 343, 344, 345, 346, 347, + -1, 349, 350, 351, 352, 353, 354, 355, 356, -1, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, -1, 373, 374, -1, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, -1, -1, 407, + 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + -1, -1, 430, 431, -1, 433, -1, 435, 436, 437, + 438, 439, -1, 441, 442, 443, -1, 445, -1, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, -1, -1, 463, 464, 465, -1, 467, + 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, + 478, -1, 480, -1, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, -1, 493, -1, -1, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, -1, -1, 40, -1, -1, -1, -1, 45, 46, - -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, - -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, -1, -1, 83, 84, 85, 86, - 87, 88, -1, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, -1, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, -1, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, -1, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, -1, -1, -1, 174, 175, 176, - -1, 178, -1, 180, 181, -1, -1, 184, 185, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, -1, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, -1, 212, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, -1, -1, 226, - -1, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, -1, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, -1, 271, 272, 273, 274, 275, 276, - -1, 278, 279, -1, 281, -1, 283, 284, 285, 286, - 287, 288, -1, 290, 291, -1, -1, 294, 295, 296, - -1, -1, 299, 300, -1, 302, -1, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, 323, -1, 325, 326, - 327, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - -1, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, -1, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, -1, 420, 421, -1, 423, -1, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, - 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, - 447, 448, 449, -1, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, 466, - 467, -1, 469, -1, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 3, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, 40, -1, -1, -1, + -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, + 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + 74, 75, -1, 77, 78, 79, 80, 81, -1, -1, + -1, 85, 86, 87, 88, 89, 90, -1, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, -1, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, -1, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + -1, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, -1, -1, -1, 178, 179, 180, -1, 182, -1, + 184, 185, -1, -1, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, -1, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, -1, -1, 230, -1, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, -1, 243, + -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, -1, 277, 278, 279, 280, 281, 282, -1, + 284, 285, -1, 287, -1, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, -1, 309, -1, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, -1, -1, -1, -1, 329, 330, 331, -1, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, -1, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, -1, -1, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, -1, 433, + -1, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, -1, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, -1, 493, + -1, -1, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + 40, -1, -1, -1, -1, 45, 46, -1, 48, 49, + 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, + -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, 81, -1, -1, -1, 85, 86, 87, 88, 89, + 90, -1, 92, 93, 94, -1, 96, 97, 98, 99, + 100, 101, -1, -1, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, -1, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, -1, -1, -1, 178, 179, + 180, -1, 182, -1, 184, 185, -1, -1, 188, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + -1, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, -1, 216, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, -1, -1, + 230, -1, 232, 233, 234, 235, 236, 237, 238, -1, + -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, -1, 277, 278, 279, + 280, 281, 282, -1, 284, 285, -1, 287, -1, 289, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, 307, -1, 309, + -1, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, -1, -1, -1, -1, 329, + 330, 331, -1, 333, 334, 335, 336, 337, 338, -1, + 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, -1, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, -1, -1, 407, 408, 409, + 410, -1, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, -1, -1, + 430, 431, -1, 433, -1, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, 445, -1, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, -1, -1, 463, 464, 465, -1, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, 477, 478, -1, + 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, -1, 493, -1, -1, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, 42, -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - 86, 87, 88, -1, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, -1, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, -1, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, -1, -1, -1, 174, 175, - 176, -1, 178, -1, 180, 181, -1, -1, 184, 185, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - -1, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, -1, 212, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, -1, -1, - 226, -1, 228, 229, 230, 231, 232, 233, 234, -1, - -1, 237, -1, 239, -1, -1, 242, 243, 244, 245, + 66, -1, -1, 69, 70, 71, 72, 73, 74, 75, + -1, 77, 78, 79, 80, 81, -1, -1, -1, 85, + 86, 87, 88, 89, 90, -1, 92, 93, 94, -1, + 96, 97, 98, 99, 100, 101, -1, -1, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, -1, 120, -1, 122, 123, 124, 125, + 126, 127, -1, -1, 130, 131, 132, 133, 134, -1, + -1, 137, 138, 139, 140, 141, 142, 143, -1, 145, + 146, 147, -1, 149, 150, 151, -1, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, -1, 165, + -1, 167, 168, 169, 170, -1, 172, -1, 174, -1, + -1, -1, 178, 179, 180, -1, 182, -1, 184, 185, + -1, -1, 188, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, -1, 201, 202, 203, 204, -1, + 206, 207, 208, 209, 210, 211, 212, -1, 214, -1, + 216, 217, 218, 219, 220, 221, 222, 223, -1, 225, + -1, 227, -1, -1, 230, -1, 232, 233, 234, 235, + 236, 237, 238, -1, -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, -1, 271, 272, 273, 274, 275, - 276, -1, 278, 279, -1, 281, -1, 283, 284, 285, - 286, 287, 288, -1, 290, 291, -1, -1, 294, 295, - 296, -1, -1, 299, 300, -1, 302, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, 323, -1, 325, - 326, 327, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, -1, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, -1, 385, - 386, 387, 388, 389, -1, 391, 392, 393, 394, 395, - -1, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, -1, 420, 421, -1, 423, -1, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, -1, - 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, - 446, 447, 448, 449, -1, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - 466, 467, -1, 469, -1, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 3, -1, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + -1, 277, 278, 279, 280, 281, 282, -1, 284, 285, + -1, 287, -1, 289, 290, 291, 292, 293, 294, -1, + 296, 297, -1, -1, 300, 301, 302, -1, -1, 305, + 306, 307, -1, 309, -1, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, + -1, -1, -1, 329, 330, 331, -1, 333, 334, 335, + 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, + 346, 347, -1, 349, 350, 351, 352, 353, 354, 355, + 356, -1, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, -1, 373, 374, -1, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, + 396, 397, 398, 399, -1, 401, 402, 403, 404, -1, + -1, 407, 408, 409, 410, -1, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, -1, -1, 430, 431, -1, 433, -1, 435, + 436, 437, 438, 439, -1, 441, 442, 443, -1, 445, + -1, 447, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 457, 458, 459, 460, -1, -1, 463, 464, 465, + -1, 467, 468, 469, 470, -1, 472, 473, 474, 475, + 476, 477, 478, -1, 480, -1, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, -1, 493, -1, -1, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, - -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, - 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, - 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, - 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, - 85, 86, 87, 88, -1, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, -1, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - -1, 116, -1, 118, 119, 120, 121, 122, 123, -1, - 125, 126, 127, 128, 129, 130, -1, -1, 133, 134, - 135, 136, 137, 138, 139, -1, 141, 142, 143, -1, - 145, 146, 147, -1, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, -1, 161, -1, 163, 164, - 165, 166, -1, 168, -1, 170, -1, -1, -1, 174, - 175, 176, -1, 178, -1, 180, 181, -1, -1, 184, - 185, 186, 187, -1, 189, 190, 191, 192, 193, 194, - 195, -1, 197, 198, 199, 200, -1, 202, 203, 204, - 205, 206, 207, 208, -1, 210, -1, 212, 213, 214, - 215, 216, 217, 218, 219, -1, 221, -1, 223, -1, - -1, 226, -1, 228, 229, 230, 231, 232, 233, 234, - -1, -1, 237, -1, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, -1, 271, 272, 273, 274, - 275, 276, -1, 278, 279, -1, 281, -1, 283, 284, - 285, 286, 287, 288, -1, 290, 291, -1, -1, 294, - 295, 296, -1, -1, 299, 300, -1, 302, -1, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, -1, -1, -1, 321, 322, 323, -1, - 325, 326, 327, 328, 329, 330, -1, 332, 333, 334, - 335, 336, 337, 338, 339, -1, 341, 342, 343, 344, - 345, 346, 347, 348, -1, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, -1, - 365, 366, -1, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, -1, -1, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, -1, 397, 398, 399, 400, -1, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, -1, 420, 421, -1, 423, -1, - 425, 426, 427, 428, 429, -1, 431, 432, -1, 434, - -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, - 445, 446, 447, 448, 449, -1, -1, 452, 453, 454, - -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, - 465, 466, 467, -1, 469, -1, 471, 472, 473, 474, - 475, 476, 477, -1, -1, 480, -1, -1, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 3, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, + -1, -1, -1, 45, 46, -1, 48, 49, 50, -1, + 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, + 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, + 72, 73, 74, 75, -1, 77, 78, 79, 80, 81, + -1, -1, -1, 85, 86, 87, 88, 89, 90, -1, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, -1, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, + 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, -1, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, -1, -1, -1, 178, 179, 180, -1, + 182, -1, 184, 185, -1, -1, 188, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, -1, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, -1, 216, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, -1, -1, 230, -1, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, -1, 277, 278, 279, 280, 281, + 282, -1, 284, 285, -1, 287, -1, 289, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, 307, -1, 309, -1, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, 331, + -1, 333, 334, 335, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, -1, 376, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, -1, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, -1, -1, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, -1, -1, 430, 431, + -1, 433, -1, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, 449, 450, 451, + -1, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, + 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, + 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, + -1, 69, 70, 71, 72, 73, 74, 75, -1, 77, + 78, 79, 80, 81, -1, -1, -1, 85, 86, 87, + 88, 89, 90, -1, 92, 93, 94, -1, 96, 97, + 98, 99, 100, 101, -1, -1, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, -1, 120, -1, 122, 123, 124, 125, 126, 127, + -1, -1, 130, 131, 132, 133, 134, -1, -1, 137, + 138, 139, 140, 141, 142, 143, -1, 145, 146, 147, + -1, 149, 150, 151, -1, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, -1, 165, -1, 167, + 168, 169, 170, -1, 172, -1, 174, -1, -1, -1, + 178, 179, 180, -1, 182, -1, 184, 185, -1, -1, + 188, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, -1, 201, 202, 203, 204, -1, 206, 207, + 208, 209, 210, 211, 212, -1, 214, -1, 216, 217, + 218, 219, 220, 221, 222, 223, -1, 225, -1, 227, + -1, -1, 230, -1, 232, 233, 234, 235, 236, 237, + 238, -1, -1, 241, -1, 243, -1, -1, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, -1, 277, + 278, 279, 280, 281, 282, -1, 284, 285, -1, 287, + -1, 289, 290, 291, 292, 293, 294, -1, 296, 297, + -1, -1, 300, 301, 302, -1, -1, 305, 306, 307, + -1, 309, -1, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, -1, -1, -1, + -1, 329, 330, 331, -1, 333, 334, 335, 336, 337, + 338, -1, 340, 341, 342, 343, 344, 345, 346, 347, + -1, 349, 350, 351, 352, 353, 354, 355, 356, -1, + 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, -1, 373, 374, -1, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, + 398, 399, 400, 401, 402, 403, 404, -1, -1, 407, + 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + -1, -1, 430, 431, -1, 433, -1, 435, 436, 437, + 438, 439, -1, 441, 442, 443, -1, 445, -1, 447, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 457, + 458, 459, 460, -1, -1, 463, 464, 465, -1, 467, + 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, + 478, -1, 480, -1, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, -1, 493, -1, -1, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, @@ -18087,1121 +18869,1054 @@ static const yytype_int16 yycheck[] = -1, 45, 46, -1, 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, - 84, 85, 86, 87, 88, -1, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, -1, 102, 103, + 74, 75, -1, 77, 78, 79, 80, 81, -1, -1, + -1, 85, 86, 87, 88, 89, 90, -1, 92, 93, + 94, -1, 96, 97, 98, 99, 100, 101, -1, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, -1, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, -1, 161, -1, 163, - 164, 165, 166, -1, 168, -1, 170, -1, -1, -1, - 174, 175, 176, -1, 178, -1, 180, 181, -1, -1, - 184, 185, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, -1, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, -1, 212, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - -1, -1, 226, -1, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, -1, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 114, 115, 116, 117, 118, -1, 120, -1, 122, 123, + 124, 125, 126, 127, -1, -1, 130, 131, 132, 133, + 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, + -1, 145, 146, 147, -1, 149, 150, 151, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + -1, 165, -1, 167, 168, 169, 170, -1, 172, -1, + 174, -1, -1, -1, 178, 179, 180, -1, 182, -1, + 184, 185, -1, -1, 188, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, + 204, -1, 206, 207, 208, 209, 210, 211, 212, -1, + 214, -1, 216, 217, 218, 219, 220, 221, 222, 223, + -1, 225, -1, 227, -1, -1, 230, -1, 232, 233, + 234, 235, 236, 237, 238, -1, -1, 241, -1, 243, + -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, -1, 271, 272, 273, - 274, 275, 276, -1, 278, 279, -1, 281, -1, 283, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, -1, -1, -1, -1, 321, 322, 323, - -1, 325, 326, 327, 328, 329, 330, -1, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, -1, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, - -1, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, -1, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, - -1, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, - 444, 445, 446, 447, 448, 449, -1, -1, 452, 453, - 454, -1, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, 466, 467, -1, 469, -1, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, -1, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, - -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, - 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, -1, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, -1, 116, -1, 118, 119, 120, 121, 122, - 123, -1, 125, 126, 127, 128, 129, 130, -1, -1, - 133, 134, 135, 136, 137, 138, 139, -1, 141, 142, - 143, -1, 145, 146, 147, -1, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, -1, 161, -1, - 163, 164, 165, 166, -1, 168, -1, 170, -1, -1, - -1, 174, 175, 176, -1, 178, -1, 180, 181, -1, - -1, 184, 185, 186, 187, -1, 189, 190, 191, 192, - 193, 194, 195, -1, 197, 198, 199, 200, -1, 202, - 203, 204, 205, 206, 207, 208, -1, 210, -1, 212, - 213, 214, 215, 216, 217, 218, 219, -1, 221, -1, - 223, -1, -1, 226, -1, 228, 229, 230, 231, 232, - 233, 234, -1, -1, 237, -1, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, -1, 271, 272, - 273, 274, 275, 276, -1, 278, 279, -1, 281, -1, - 283, 284, 285, 286, 287, 288, -1, 290, 291, -1, - -1, 294, 295, 296, -1, -1, 299, 300, -1, 302, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, -1, -1, -1, -1, 321, 322, - 323, -1, 325, 326, 327, 328, 329, 330, -1, 332, - 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, - 343, 344, 345, 346, 347, 348, -1, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, -1, 365, 366, -1, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - -1, -1, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, -1, 397, 398, 399, 400, -1, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, - 423, -1, 425, 426, 427, 428, 429, -1, 431, 432, - -1, 434, -1, 436, 437, 438, 439, 440, -1, 442, - 443, 444, 445, 446, 447, 448, 449, -1, -1, 452, - 453, 454, -1, 456, 457, 458, 459, -1, 461, 462, - 463, 464, 465, 466, 467, -1, 469, -1, 471, 472, - 473, 474, 475, 476, 477, -1, -1, 480, -1, -1, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 3, -1, -1, -1, -1, -1, -1, -1, -1, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, -1, 277, 278, 279, 280, 281, 282, -1, + 284, 285, -1, 287, -1, 289, 290, 291, 292, 293, + 294, -1, 296, 297, -1, -1, 300, 301, 302, -1, + -1, 305, 306, 307, -1, 309, -1, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, -1, -1, -1, -1, 329, 330, 331, -1, 333, + 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, + 344, 345, 346, 347, -1, 349, 350, 351, 352, 353, + 354, 355, 356, -1, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, -1, 373, + 374, -1, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, + -1, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, -1, -1, 407, 408, 409, 410, -1, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, -1, -1, 430, 431, -1, 433, + -1, 435, 436, 437, 438, 439, -1, 441, 442, 443, + -1, 445, -1, 447, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 457, 458, 459, 460, -1, -1, 463, + 464, 465, -1, 467, 468, 469, 470, -1, 472, 473, + 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, -1, 493, + -1, -1, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, 38, -1, 40, -1, - -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, - 52, 53, 54, -1, 56, 57, 58, 59, -1, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, -1, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, -1, 116, -1, 118, 119, 120, 121, - 122, 123, -1, 125, 126, 127, 128, 129, 130, -1, - -1, 133, 134, 135, 136, 137, 138, 139, -1, 141, - 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, - 152, -1, 154, 155, 156, 157, 158, -1, -1, 161, - -1, 163, 164, 165, 166, -1, 168, -1, 170, 171, - -1, 173, 174, 175, -1, 177, 178, -1, 180, 181, - -1, -1, -1, -1, 186, 187, -1, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - -1, 213, 214, 215, 216, 217, 218, 219, -1, 221, - -1, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, -1, -1, 237, 238, 239, 240, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, -1, -1, 278, 279, 280, 281, - -1, -1, 284, 285, 286, 287, 288, -1, 290, 291, - -1, -1, 294, 295, 296, -1, -1, 299, -1, 301, - 302, 303, -1, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, -1, -1, -1, -1, 321, - 322, -1, 324, 325, 326, -1, 328, 329, 330, -1, - 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, - 342, 343, 344, 345, 346, 347, 348, -1, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, -1, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, -1, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, -1, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, -1, 418, -1, 420, 421, - -1, 423, 424, 425, 426, 427, 428, 429, -1, 431, - 432, -1, 434, -1, 436, 437, -1, 439, -1, -1, - 442, 443, 444, 445, 446, 447, 448, 449, 450, -1, - 452, 453, 454, -1, 456, 457, 458, 459, -1, 461, - 462, 463, 464, 465, -1, 467, -1, 469, 470, 471, - 472, 473, 474, 475, 476, 477, -1, -1, 480, -1, - -1, 483, 484, 485, 486, 487, 488, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 500, 501, - 502, 503, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, 38, -1, 40, -1, -1, -1, 44, 45, - 46, -1, 48, 49, 50, 51, 52, 53, 54, -1, - 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, -1, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, -1, - 116, -1, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 127, 128, 129, 130, -1, -1, 133, 134, 135, - 136, 137, 138, 139, -1, 141, 142, 143, -1, 145, - 146, 147, -1, 149, 150, 151, 152, -1, 154, 155, - 156, 157, 158, -1, -1, 161, -1, 163, 164, 165, - 166, -1, 168, -1, 170, 171, -1, 173, 174, 175, - -1, 177, 178, -1, 180, 181, -1, -1, -1, -1, - 186, 187, -1, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, -1, 213, 214, 215, - 216, 217, 218, 219, -1, 221, -1, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, -1, - -1, 237, 238, 239, 240, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - -1, -1, 278, 279, 280, 281, -1, -1, 284, 285, - 286, 287, 288, -1, 290, 291, -1, -1, 294, 295, - 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, -1, -1, -1, -1, 321, 322, -1, 324, 325, - 326, -1, 328, 329, 330, -1, 332, 333, 334, 335, - 336, 337, 338, 339, -1, 341, 342, 343, 344, 345, - 346, 347, 348, -1, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, -1, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, -1, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, -1, 418, -1, 420, 421, -1, 423, 424, 425, - 426, 427, 428, 429, -1, 431, 432, -1, 434, -1, - 436, 437, -1, 439, -1, -1, 442, 443, 444, 445, - 446, 447, 448, 449, 450, -1, 452, 453, 454, -1, - 456, 457, 458, 459, -1, 461, 462, 463, 464, 465, - -1, 467, -1, 469, 470, 471, 472, 473, 474, 475, - 476, 477, -1, -1, 480, -1, -1, 483, 484, 485, - 486, 487, 488, 3, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 500, 501, 502, 503, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, 38, -1, 40, -1, -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, -1, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, -1, 116, -1, 118, 119, - 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, - 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, - -1, 141, 142, 143, -1, 145, 146, 147, -1, 149, - 150, 151, 152, -1, 154, 155, 156, 157, 158, -1, - -1, 161, -1, 163, 164, 165, 166, -1, 168, -1, - 170, 171, -1, 173, 174, 175, -1, 177, 178, -1, - 180, 181, -1, -1, -1, -1, 186, 187, -1, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, -1, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, - -1, 221, -1, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, -1, -1, 237, 238, 239, - 240, -1, 242, 243, 244, 245, 246, 247, 248, 249, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, -1, -1, 83, -1, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, 96, 97, 98, 99, + 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, + 140, 141, 142, 143, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, -1, 158, 159, + 160, 161, 162, -1, -1, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, 175, -1, 177, 178, 179, + -1, 181, 182, -1, 184, 185, -1, -1, -1, -1, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, 215, -1, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, -1, + -1, 241, 242, 243, 244, -1, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, -1, -1, 284, 285, 286, 287, -1, -1, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, -1, 308, 309, + 310, -1, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, -1, -1, -1, -1, 329, + 330, -1, 332, 333, 334, -1, 336, 337, 338, -1, + 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, + 410, -1, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, -1, -1, -1, + 430, 431, -1, 433, 434, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, 445, -1, 447, 448, -1, + 450, -1, -1, 453, 454, 455, 456, 457, 458, 459, + 460, 461, -1, 463, 464, 465, -1, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, -1, 478, -1, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, -1, 493, -1, -1, 496, 497, 498, 499, + 500, 501, 3, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 513, 514, 515, 516, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, 38, -1, 40, + -1, -1, -1, 44, 45, 46, -1, 48, 49, 50, + 51, 52, 53, 54, -1, 56, 57, 58, 59, -1, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, 74, 75, -1, 77, 78, 79, 80, + -1, -1, 83, -1, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, -1, 96, 97, 98, 99, 100, + 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, + -1, 122, 123, 124, 125, 126, 127, -1, -1, 130, + 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, + 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, + 151, -1, 153, 154, 155, 156, -1, 158, 159, 160, + 161, 162, -1, -1, 165, -1, 167, 168, 169, 170, + -1, 172, -1, 174, 175, -1, 177, 178, 179, -1, + 181, 182, -1, 184, 185, -1, -1, -1, -1, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, + 211, 212, -1, 214, 215, -1, 217, 218, 219, 220, + 221, 222, 223, -1, 225, -1, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, -1, -1, + 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, -1, -1, 284, 285, 286, 287, -1, -1, 290, + 291, 292, 293, 294, -1, 296, 297, -1, -1, 300, + 301, 302, -1, -1, 305, 306, -1, 308, 309, 310, + -1, 312, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, -1, -1, -1, -1, 329, 330, + -1, 332, 333, 334, -1, 336, 337, 338, -1, 340, + 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, + 351, 352, 353, 354, 355, 356, -1, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, + 371, -1, 373, 374, 375, 376, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, -1, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, + -1, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, -1, -1, -1, 430, + 431, -1, 433, 434, 435, 436, 437, 438, 439, -1, + 441, 442, 443, -1, 445, -1, 447, 448, -1, 450, + -1, -1, 453, 454, 455, 456, 457, 458, 459, 460, + 461, -1, 463, 464, 465, -1, 467, 468, 469, 470, + -1, 472, 473, 474, 475, 476, -1, 478, -1, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, -1, 493, -1, -1, 496, 497, 498, 499, 500, + 501, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 513, 514, 515, 516, -1, -1, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, 38, -1, 40, -1, + -1, -1, 44, 45, 46, -1, 48, 49, 50, 51, + 52, 53, 54, -1, 56, 57, 58, 59, -1, 61, + 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, + 72, 73, 74, 75, -1, 77, 78, 79, 80, -1, + -1, 83, -1, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, + -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, -1, 120, -1, + 122, 123, 124, 125, 126, 127, -1, -1, 130, 131, + 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, + 142, 143, -1, 145, 146, 147, -1, 149, 150, 151, + -1, 153, 154, 155, 156, -1, 158, 159, 160, 161, + 162, -1, -1, 165, -1, 167, 168, 169, 170, -1, + 172, -1, 174, 175, -1, 177, 178, 179, 180, 181, + 182, -1, 184, 185, -1, -1, -1, -1, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, -1, 206, 207, 208, 209, 210, 211, + 212, -1, 214, 215, -1, 217, 218, 219, 220, 221, + 222, 223, -1, 225, -1, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, -1, -1, 241, + 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + -1, -1, 284, 285, 286, 287, -1, -1, 290, 291, + 292, 293, 294, -1, 296, 297, -1, -1, 300, 301, + 302, -1, -1, 305, 306, -1, 308, 309, 310, -1, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, -1, -1, -1, -1, 329, 330, -1, + 332, 333, 334, -1, 336, 337, 338, -1, 340, 341, + 342, 343, 344, 345, 346, 347, -1, 349, 350, 351, + 352, 353, 354, 355, 356, -1, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + -1, 373, 374, 375, 376, 377, 378, -1, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, -1, 394, 395, 396, 397, 398, 399, 400, -1, + 402, 403, 404, -1, 406, 407, 408, 409, 410, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, -1, -1, -1, 430, 431, + -1, 433, 434, 435, 436, 437, 438, 439, -1, 441, + 442, 443, -1, 445, -1, 447, 448, -1, 450, -1, + -1, 453, 454, 455, 456, 457, 458, 459, 460, -1, + -1, 463, 464, 465, -1, 467, 468, 469, 470, -1, + 472, 473, 474, 475, 476, -1, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + -1, 493, -1, -1, 496, 497, 498, 499, 500, 501, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 513, 514, 515, 516, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, 45, 46, -1, 48, 49, 50, -1, 52, + 53, 54, 55, 56, -1, 58, 59, -1, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, 74, 75, -1, 77, 78, 79, 80, 81, -1, + -1, -1, 85, 86, 87, 88, 89, 90, -1, 92, + 93, 94, -1, 96, 97, 98, 99, 100, 101, -1, + -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, -1, 120, -1, 122, + 123, 124, 125, 126, 127, -1, -1, 130, 131, 132, + 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, + 143, -1, 145, 146, 147, -1, 149, 150, 151, -1, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, -1, 167, 168, 169, 170, -1, 172, + -1, 174, -1, -1, -1, 178, 179, 180, -1, 182, + -1, 184, 185, -1, -1, 188, 189, -1, 191, -1, + 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, + 203, 204, -1, 206, 207, 208, 209, 210, 211, 212, + -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, + 223, -1, 225, -1, 227, -1, -1, 230, -1, 232, + 233, 234, 235, 236, 237, 238, -1, -1, 241, -1, + 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, -1, 277, 278, 279, 280, 281, 282, + -1, 284, 285, -1, 287, -1, 289, 290, 291, 292, + 293, 294, -1, 296, 297, -1, -1, 300, 301, 302, + -1, -1, 305, 306, 307, -1, 309, -1, 311, 312, + 313, 314, 315, 316, 317, -1, 319, 320, 321, 322, + 323, 324, -1, -1, -1, -1, 329, 330, 331, -1, + 333, 334, 335, 336, 337, 338, -1, 340, 341, 342, + 343, 344, 345, 346, 347, -1, 349, -1, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, -1, + 373, 374, -1, 376, 377, 378, 379, -1, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + -1, -1, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, -1, -1, 407, 408, 409, 410, -1, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, -1, -1, 430, 431, -1, + 433, -1, 435, 436, 437, 438, 439, -1, 441, 442, + 443, -1, 445, -1, 447, 448, 449, 450, 451, -1, + 453, 454, 455, 456, 457, 458, 459, 460, -1, -1, + 463, 464, 465, -1, 467, 468, 469, 470, -1, 472, + 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, -1, + 493, -1, -1, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, 38, + -1, 40, -1, -1, -1, 44, 45, 46, -1, 48, + 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, + 59, -1, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, 74, 75, -1, 77, 78, + 79, 80, -1, -1, 83, -1, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, -1, 96, 97, 98, + 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + -1, 120, -1, 122, 123, 124, 125, 126, 127, -1, + -1, 130, 131, 132, 133, 134, -1, -1, 137, 138, + 139, 140, 141, 142, 143, -1, 145, 146, 147, -1, + 149, 150, 151, -1, 153, 154, 155, 156, -1, 158, + 159, 160, 161, 162, -1, -1, 165, -1, 167, 168, + 169, 170, -1, 172, -1, 174, 175, -1, 177, 178, + 179, -1, 181, 182, -1, 184, 185, -1, -1, -1, + -1, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, -1, 206, 207, 208, + 209, 210, 211, 212, -1, 214, 215, -1, 217, 218, + 219, 220, 221, 222, 223, -1, 225, -1, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + -1, -1, 241, 242, 243, 244, -1, 246, 247, 248, + 249, 250, 251, 252, 253, -1, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, -1, -1, 284, 285, 286, 287, -1, + -1, 290, 291, 292, 293, 294, -1, 296, 297, -1, + -1, 300, 301, 302, -1, -1, 305, 306, -1, 308, + 309, 310, -1, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, -1, -1, -1, -1, + 329, 330, -1, 332, 333, 334, -1, 336, 337, 338, + -1, 340, 341, 342, 343, 344, 345, 346, 347, -1, + 349, 350, 351, 352, 353, 354, 355, 356, -1, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, -1, 373, 374, 375, 376, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, + 399, 400, -1, 402, 403, 404, -1, 406, 407, 408, + 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, -1, 426, -1, -1, + -1, 430, 431, -1, 433, 434, 435, 436, 437, 438, + 439, -1, 441, 442, 443, -1, 445, -1, 447, 448, + -1, 450, -1, -1, 453, 454, 455, 456, 457, 458, + 459, 460, -1, -1, 463, 464, 465, -1, 467, 468, + 469, 470, -1, 472, 473, 474, 475, 476, -1, 478, + -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, -1, 493, -1, -1, 496, 497, 498, + 499, 500, 501, 3, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 513, 514, 515, 516, -1, -1, + -1, -1, 22, 23, 24, 25, -1, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 45, 46, -1, 48, 49, + 50, -1, 52, 53, 54, 55, 56, -1, 58, 59, + -1, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, 74, 75, -1, 77, 78, 79, + 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, + 90, -1, 92, 93, 94, -1, 96, 97, 98, 99, + 100, -1, -1, -1, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, -1, + 120, -1, 122, 123, 124, 125, 126, 127, -1, -1, + -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, + 140, 141, -1, -1, -1, 145, 146, 147, -1, 149, + 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, -1, 165, -1, 167, 168, 169, + 170, -1, 172, -1, 174, -1, -1, -1, 178, 179, + 180, -1, 182, -1, 184, -1, -1, -1, 188, 189, + -1, 191, -1, 193, 194, 195, 196, 197, 198, 199, + -1, 201, 202, 203, 204, -1, 206, 207, 208, 209, + 210, 211, 212, -1, 214, -1, 216, 217, 218, 219, + 220, 221, 222, 223, -1, 225, -1, 227, -1, -1, + 230, -1, 232, -1, 234, 235, 236, 237, 238, -1, + -1, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, -1, -1, 278, 279, - 280, 281, -1, -1, 284, 285, 286, 287, 288, -1, - 290, 291, -1, -1, 294, 295, 296, -1, -1, 299, - -1, 301, 302, 303, -1, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, -1, -1, -1, - -1, 321, 322, -1, 324, 325, 326, -1, 328, 329, - 330, -1, 332, 333, 334, 335, 336, 337, 338, 339, - -1, 341, 342, 343, 344, 345, 346, 347, 348, -1, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, -1, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, -1, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, -1, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, -1, 418, -1, - 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, - -1, 431, 432, -1, 434, -1, 436, 437, -1, 439, - -1, -1, 442, 443, 444, 445, 446, 447, 448, 449, - 450, -1, 452, 453, 454, -1, 456, 457, 458, 459, - -1, 461, 462, 463, 464, 465, -1, 467, -1, 469, - 470, 471, 472, 473, 474, 475, 476, 477, -1, -1, - 480, -1, -1, 483, 484, 485, 486, 487, 488, 3, + 270, 271, 272, 273, 274, 275, -1, 277, 278, 279, + 280, -1, 282, -1, 284, 285, -1, 287, -1, 289, + 290, 291, 292, 293, 294, -1, 296, 297, -1, -1, + 300, 301, 302, -1, -1, 305, 306, 307, -1, 309, + -1, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, -1, -1, 323, 324, -1, -1, -1, -1, 329, + 330, 331, -1, 333, 334, 335, 336, 337, 338, -1, + 340, 341, 342, 343, 344, -1, -1, 347, -1, 349, + 350, 351, 352, 353, 354, 355, 356, -1, 358, 359, + 360, -1, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, -1, 373, 374, -1, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, + 400, 401, 402, 403, -1, -1, -1, -1, 408, 409, + 410, -1, -1, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, -1, -1, + 430, 431, -1, 433, -1, 435, 436, 437, 438, 439, + -1, 441, 442, 443, -1, -1, -1, 447, 448, 449, + 450, 451, -1, 453, 454, 455, 456, 457, 458, 459, + 460, -1, -1, 463, 464, 465, -1, 467, 468, 469, + 470, -1, 472, 473, 474, 475, 476, 477, 478, -1, + 480, -1, 482, -1, 484, 485, 486, 487, -1, 489, + 490, -1, -1, 493, -1, -1, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 22, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, + 35, 36, -1, -1, 22, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 33, -1, -1, -1, 54, + -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, + -1, -1, -1, -1, -1, -1, 54, -1, -1, -1, + -1, -1, 77, -1, -1, 63, -1, -1, -1, -1, + -1, -1, -1, 88, -1, -1, -1, -1, -1, 77, + -1, -1, -1, -1, -1, 100, -1, 102, -1, -1, + 88, -1, -1, -1, -1, -1, -1, -1, 113, -1, + -1, -1, 100, -1, 102, -1, -1, -1, -1, -1, + -1, -1, -1, 128, 129, 113, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 140, -1, -1, -1, -1, + 128, 129, -1, 148, -1, -1, -1, -1, -1, -1, + -1, 156, 140, -1, -1, -1, -1, -1, -1, -1, + 148, -1, -1, -1, -1, -1, -1, 172, 156, -1, + -1, 176, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 172, -1, -1, -1, 176, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 500, 501, 502, 503, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, 38, -1, 40, -1, -1, -1, - 44, 45, 46, -1, 48, 49, 50, 51, 52, 53, - 54, -1, 56, 57, 58, 59, -1, 61, 62, 63, - 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, -1, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, -1, 116, -1, 118, 119, 120, 121, 122, 123, - -1, 125, 126, 127, 128, 129, 130, -1, -1, 133, - 134, 135, 136, 137, 138, 139, -1, 141, 142, 143, - -1, 145, 146, 147, -1, 149, 150, 151, 152, -1, - 154, 155, 156, 157, 158, -1, -1, 161, -1, 163, - 164, 165, 166, -1, 168, -1, 170, 171, -1, 173, - 174, 175, 176, 177, 178, -1, 180, 181, -1, -1, - -1, -1, 186, 187, -1, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, -1, 213, - 214, 215, 216, 217, 218, 219, -1, 221, -1, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, -1, -1, 237, 238, 239, 240, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, -1, -1, 278, 279, 280, 281, -1, -1, - 284, 285, 286, 287, 288, -1, 290, 291, -1, -1, - 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, - -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, -1, -1, -1, -1, 321, 322, -1, - 324, 325, 326, -1, 328, 329, 330, -1, 332, 333, - 334, 335, 336, 337, 338, 339, -1, 341, 342, 343, - 344, 345, 346, 347, 348, -1, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - -1, 365, 366, 367, 368, 369, 370, -1, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, - 384, 385, 386, 387, 388, 389, 390, -1, 392, 393, - 394, 395, 396, 397, 398, 399, 400, -1, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, -1, 418, -1, 420, 421, -1, 423, - 424, 425, 426, 427, 428, 429, -1, 431, 432, -1, - 434, -1, 436, 437, -1, 439, -1, -1, 442, 443, - 444, 445, 446, 447, 448, 449, -1, -1, 452, 453, - 454, -1, 456, 457, 458, 459, -1, 461, 462, 463, - 464, 465, -1, 467, -1, 469, 470, 471, 472, 473, - 474, 475, 476, 477, -1, -1, 480, -1, -1, 483, - 484, 485, 486, 487, 488, 3, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 500, 501, 502, 503, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, -1, -1, 45, 46, -1, - 48, 49, 50, -1, 52, 53, 54, 55, 56, -1, - 58, 59, -1, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, - 88, -1, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, -1, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, -1, 116, -1, - 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, - 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, - 138, 139, -1, 141, 142, 143, -1, 145, 146, 147, - -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, -1, 161, -1, 163, 164, 165, 166, -1, - 168, -1, 170, -1, -1, -1, 174, 175, 176, -1, - 178, -1, 180, 181, -1, -1, 184, 185, 186, 187, - -1, 189, 190, 191, 192, 193, 194, 195, -1, 197, - 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, - 208, -1, 210, -1, 212, 213, 214, 215, 216, 217, - 218, 219, -1, 221, -1, 223, -1, -1, 226, -1, - 228, 229, 230, 231, 232, 233, 234, -1, -1, 237, - -1, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, -1, 271, 272, 273, 274, 275, 276, -1, - 278, 279, -1, 281, -1, 283, 284, 285, 286, 287, - 288, -1, 290, 291, -1, -1, 294, 295, 296, -1, - -1, 299, 300, -1, 302, -1, 304, 305, 306, 307, - 308, 309, 310, -1, 312, 313, 314, 315, 316, -1, - -1, -1, -1, 321, 322, 323, -1, 325, 326, 327, - 328, 329, 330, -1, 332, 333, 334, 335, 336, 337, - 338, 339, -1, 341, -1, 343, 344, 345, 346, 347, - 348, -1, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, -1, 365, 366, -1, - 368, 369, 370, 371, -1, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, -1, -1, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, - 398, 399, 400, -1, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, -1, 420, 421, -1, 423, -1, 425, 426, 427, - 428, 429, -1, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, - 448, 449, -1, -1, 452, 453, 454, -1, 456, 457, - 458, 459, -1, 461, 462, 463, 464, 465, 466, 467, - -1, 469, -1, 471, 472, 473, 474, 475, 476, 477, - -1, -1, 480, -1, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, 38, -1, 40, -1, -1, -1, 44, 45, 46, - -1, 48, 49, 50, 51, 52, 53, 54, -1, 56, - 57, 58, 59, -1, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, -1, -1, 81, -1, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, -1, 116, - -1, 118, 119, 120, 121, 122, 123, -1, 125, 126, - 127, 128, 129, 130, -1, -1, 133, 134, 135, 136, - 137, 138, 139, -1, 141, 142, 143, -1, 145, 146, - 147, -1, 149, 150, 151, 152, -1, 154, 155, 156, - 157, 158, -1, -1, 161, -1, 163, 164, 165, 166, - -1, 168, -1, 170, 171, -1, 173, 174, 175, -1, - 177, 178, -1, 180, 181, -1, -1, -1, -1, 186, - 187, -1, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, -1, 213, 214, 215, 216, - 217, 218, 219, -1, 221, -1, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, -1, -1, - 237, 238, 239, 240, -1, 242, 243, 244, 245, 246, - 247, 248, 249, -1, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, - -1, 278, 279, 280, 281, -1, -1, 284, 285, 286, - 287, 288, -1, 290, 291, -1, -1, 294, 295, 296, - -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - -1, -1, -1, -1, 321, 322, -1, 324, 325, 326, - -1, 328, 329, 330, -1, 332, 333, 334, 335, 336, - 337, 338, 339, -1, 341, 342, 343, 344, 345, 346, - 347, 348, -1, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, -1, 365, 366, - 367, 368, 369, 370, -1, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, -1, 384, 385, 386, - 387, 388, 389, 390, -1, 392, 393, 394, 395, 396, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, -1, 416, - -1, 418, -1, 420, 421, -1, 423, 424, 425, 426, - 427, 428, 429, -1, 431, 432, -1, 434, -1, 436, - 437, -1, 439, -1, -1, 442, 443, 444, 445, 446, - 447, 448, 449, -1, -1, 452, 453, 454, -1, 456, - 457, 458, 459, -1, 461, 462, 463, 464, 465, -1, - 467, -1, 469, 470, 471, 472, 473, 474, 475, 476, - 477, -1, -1, 480, -1, -1, 483, 484, 485, 486, - 487, 488, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 500, 501, 502, 503, -1, -1, -1, - -1, 22, 23, 24, 25, -1, 27, 28, 29, 30, - -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 45, 46, -1, 48, 49, 50, - -1, 52, 53, 54, 55, 56, -1, 58, 59, -1, - 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - -1, -1, -1, 84, 85, 86, 87, 88, -1, 90, - 91, 92, -1, 94, 95, 96, 97, 98, -1, -1, - -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, -1, 116, -1, 118, 119, 120, - 121, 122, 123, -1, 125, -1, 127, 128, 129, 130, - -1, -1, 133, 134, 135, 136, 137, -1, -1, -1, - 141, 142, 143, -1, 145, 146, 147, -1, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, - 161, -1, 163, 164, 165, 166, -1, 168, -1, 170, - -1, -1, -1, 174, 175, 176, -1, 178, -1, 180, - -1, -1, -1, 184, 185, -1, 187, -1, 189, 190, - 191, 192, 193, 194, 195, -1, 197, 198, 199, 200, - -1, 202, 203, 204, 205, 206, 207, 208, -1, 210, - -1, 212, 213, 214, 215, 216, 217, 218, 219, -1, - 221, -1, 223, -1, -1, 226, -1, 228, -1, 230, - 231, 232, 233, 234, -1, -1, 237, -1, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, - 271, 272, 273, 274, -1, 276, -1, 278, 279, -1, - 281, -1, 283, 284, 285, 286, 287, 288, -1, 290, - 291, -1, -1, 294, 295, 296, -1, -1, 299, 300, - -1, 302, -1, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, -1, -1, 316, -1, -1, -1, -1, - 321, 322, 323, -1, 325, 326, 327, 328, 329, 330, - -1, 332, 333, 334, 335, 336, -1, -1, 339, -1, - 341, 342, 343, 344, 345, 346, 347, 348, -1, 350, - 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, -1, 365, 366, -1, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, -1, -1, 385, 386, 387, 388, 389, 390, - 391, 392, 393, -1, 395, -1, -1, 398, 399, 400, - -1, -1, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, - 421, -1, 423, -1, 425, 426, 427, 428, 429, -1, - 431, 432, -1, -1, -1, 436, 437, 438, 439, 440, - -1, 442, 443, 444, 445, 446, 447, 448, 449, -1, - -1, 452, 453, 454, -1, 456, 457, 458, 459, -1, - 461, 462, 463, 464, 465, 466, 467, -1, 469, -1, - 471, -1, 473, 474, 475, 476, -1, -1, -1, 480, - -1, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 22, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, -1, 35, 36, -1, -1, - 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 33, -1, -1, -1, 54, -1, -1, -1, -1, - -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, - -1, -1, 54, -1, -1, -1, 75, -1, -1, -1, - -1, 63, -1, -1, -1, -1, -1, 86, -1, -1, - -1, -1, -1, 75, -1, -1, -1, -1, -1, 98, - -1, 100, -1, -1, 86, -1, -1, -1, -1, -1, - -1, -1, 111, -1, -1, -1, 98, -1, 100, -1, - -1, -1, -1, -1, -1, -1, 125, -1, -1, 111, - -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, - -1, -1, -1, 125, -1, 144, -1, -1, -1, -1, - -1, -1, -1, 152, 136, -1, -1, -1, -1, -1, - -1, -1, 144, -1, -1, -1, -1, -1, -1, 168, - 152, -1, -1, 172, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 168, -1, -1, -1, - 172, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 220, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, + -1, -1, 220, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 317, 318, - 319, -1, -1, -1, -1, -1, 325, -1, -1, 328, - -1, -1, -1, -1, -1, 317, 318, 319, -1, -1, - -1, -1, -1, 325, -1, -1, 328, -1, -1, -1, + 325, 326, 327, -1, -1, -1, -1, -1, 333, -1, + -1, 336, -1, -1, -1, -1, -1, 325, 326, 327, + -1, -1, -1, -1, -1, 333, -1, -1, 336, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 360, -1, -1, -1, -1, -1, -1, -1, -1, - 369, -1, -1, -1, -1, -1, -1, -1, 360, -1, - -1, -1, -1, -1, 383, -1, -1, 369, -1, -1, - -1, 390, -1, -1, -1, -1, 395, -1, -1, -1, - -1, 383, -1, -1, -1, -1, -1, 406, 390, -1, - -1, -1, -1, 395, -1, -1, -1, -1, -1, 418, - -1, -1, -1, 422, 406, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 418, -1, -1, -1, - 422, -1, -1, 442, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, - 442, -1, 461, -1, -1, -1, -1, 466, -1, -1, - -1, 470, -1, 455, -1, -1, -1, -1, -1, 461, - -1, -1, -1, 482, 466, -1, -1, -1, -1, -1, + -1, -1, -1, 368, -1, -1, -1, -1, -1, -1, + -1, -1, 377, -1, -1, -1, -1, -1, -1, -1, + 368, -1, -1, -1, -1, -1, -1, -1, 393, 377, + -1, -1, -1, -1, -1, 400, -1, -1, -1, -1, + 405, -1, -1, -1, -1, 393, -1, -1, -1, -1, + -1, 416, 400, -1, -1, -1, -1, 405, -1, -1, + -1, -1, -1, 428, -1, -1, -1, 432, 416, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 482, -1, -1, -1, -1, -1, -1, 506, -1, -1, + 428, -1, -1, -1, 432, -1, -1, -1, 453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 520, -1, -1, 506, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 520 + -1, 466, -1, -1, -1, 453, -1, 472, -1, -1, + -1, -1, 477, -1, -1, -1, 481, -1, 466, -1, + -1, -1, -1, -1, 472, -1, -1, -1, -1, 477, + 495, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 495, -1, -1, + -1, -1, -1, -1, 519, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 533, -1, + -1, 519, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 533 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 22, 33, 35, 36, 49, 54, 63, 75, 86, - 98, 100, 111, 125, 127, 136, 144, 152, 154, 155, - 168, 172, 200, 216, 243, 317, 318, 319, 325, 328, - 360, 369, 383, 390, 395, 406, 418, 422, 442, 455, - 458, 461, 466, 482, 506, 520, 535, 536, 537, 538, - 539, 546, 557, 558, 559, 562, 563, 573, 590, 638, - 650, 653, 656, 658, 661, 662, 666, 673, 677, 684, - 688, 689, 690, 697, 702, 718, 722, 726, 746, 783, - 784, 787, 789, 790, 791, 792, 794, 796, 797, 801, - 854, 855, 1015, 1017, 1018, 1019, 1024, 1027, 1033, 1034, - 1038, 436, 485, 1016, 205, 376, 385, 422, 473, 108, - 560, 1016, 3, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 32, 33, 34, 40, 44, 45, 46, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 61, 62, 63, 64, 65, 66, 69, 70, 71, - 72, 73, 75, 76, 77, 78, 79, 81, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, - 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 116, 118, - 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, - 130, 133, 134, 135, 136, 137, 138, 139, 141, 142, - 143, 145, 146, 147, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 161, 163, 164, 165, 166, - 168, 170, 171, 173, 174, 175, 176, 177, 178, 180, - 181, 184, 185, 186, 187, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 202, 203, 204, - 205, 206, 207, 208, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 221, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 237, 238, 239, - 240, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 278, 279, 280, 281, - 283, 284, 285, 286, 287, 288, 290, 291, 294, 295, - 296, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 332, - 333, 334, 335, 336, 337, 338, 339, 341, 342, 343, - 344, 345, 346, 347, 348, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 420, 421, 423, 424, 425, 426, 427, 428, 429, 431, - 432, 434, 436, 437, 438, 439, 440, 442, 443, 444, - 445, 446, 447, 448, 449, 452, 453, 454, 456, 457, - 458, 459, 461, 462, 463, 464, 465, 466, 467, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 480, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 566, 641, 642, 643, 648, 925, 1004, 1008, 3, 176, - 250, 415, 564, 566, 641, 648, 1016, 57, 520, 585, - 178, 244, 297, 338, 376, 426, 428, 445, 451, 454, - 636, 696, 5, 31, 328, 566, 567, 1003, 108, 560, - 24, 81, 97, 147, 157, 169, 174, 205, 249, 253, - 322, 338, 339, 373, 376, 385, 388, 408, 422, 429, - 439, 445, 473, 667, 668, 671, 1016, 1003, 100, 136, - 470, 520, 538, 539, 546, 562, 563, 573, 590, 638, - 650, 653, 656, 658, 661, 662, 666, 673, 680, 684, - 690, 697, 718, 783, 784, 787, 789, 1015, 1017, 1019, - 1024, 1027, 1033, 1038, 108, 75, 216, 68, 79, 81, - 159, 182, 235, 283, 293, 304, 323, 372, 417, 438, - 440, 444, 466, 520, 565, 566, 567, 790, 855, 857, - 859, 869, 876, 877, 925, 927, 928, 108, 5, 566, - 568, 719, 719, 566, 1003, 31, 178, 244, 389, 431, - 436, 566, 1025, 1026, 1036, 1016, 31, 131, 810, 811, - 178, 244, 376, 389, 431, 1028, 1029, 1036, 1016, 520, - 566, 789, 801, 1037, 566, 876, 422, 807, 565, 173, - 520, 1021, 520, 347, 802, 803, 1003, 802, 3, 55, - 56, 58, 59, 71, 72, 79, 112, 113, 153, 159, - 165, 176, 184, 185, 212, 218, 219, 221, 250, 269, - 271, 276, 283, 285, 300, 304, 323, 327, 344, 371, - 391, 399, 415, 417, 431, 432, 438, 440, 444, 466, - 467, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 641, 649, 721, 790, 791, 0, 523, 470, - 678, 120, 215, 457, 148, 220, 298, 450, 813, 814, - 859, 859, 790, 792, 794, 524, 31, 431, 436, 789, - 1037, 194, 565, 1003, 194, 565, 194, 876, 194, 565, - 568, 518, 522, 569, 570, 520, 789, 565, 426, 428, - 426, 428, 358, 181, 194, 565, 565, 174, 249, 347, - 385, 422, 473, 651, 205, 31, 1003, 194, 3, 255, - 439, 107, 422, 422, 473, 181, 379, 3, 38, 44, - 51, 56, 57, 58, 59, 71, 72, 81, 83, 89, - 101, 112, 113, 135, 165, 171, 173, 177, 194, 196, - 211, 218, 219, 221, 224, 225, 227, 238, 240, 250, - 269, 270, 271, 280, 285, 301, 303, 324, 344, 367, - 371, 384, 391, 396, 399, 415, 424, 431, 432, 444, - 450, 467, 470, 641, 644, 648, 672, 887, 889, 891, - 893, 895, 897, 899, 900, 901, 903, 904, 905, 907, - 908, 1009, 194, 566, 669, 1010, 194, 1000, 1003, 194, - 1003, 520, 676, 680, 3, 38, 44, 51, 55, 56, - 57, 58, 59, 71, 72, 79, 81, 83, 89, 101, - 112, 113, 153, 159, 165, 171, 173, 176, 177, 184, - 185, 196, 211, 212, 218, 219, 221, 224, 225, 227, - 238, 240, 250, 269, 270, 271, 276, 280, 283, 285, - 300, 301, 303, 304, 323, 324, 327, 344, 367, 371, - 384, 391, 396, 399, 415, 417, 424, 431, 432, 438, - 440, 444, 466, 467, 470, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 641, 645, 648, 681, - 683, 684, 686, 687, 678, 566, 568, 564, 719, 520, - 520, 167, 520, 520, 746, 790, 877, 520, 520, 565, - 520, 520, 172, 520, 520, 520, 520, 790, 855, 859, - 869, 513, 569, 42, 566, 870, 871, 870, 383, 524, - 793, 38, 44, 101, 173, 211, 227, 238, 270, 317, - 324, 367, 384, 455, 873, 871, 42, 566, 870, 872, - 506, 881, 568, 172, 509, 520, 520, 785, 1026, 1026, - 1026, 503, 226, 522, 292, 4, 6, 7, 8, 9, - 10, 41, 56, 58, 59, 67, 71, 72, 83, 112, - 113, 115, 153, 160, 165, 184, 185, 218, 219, 221, - 250, 269, 271, 277, 282, 285, 294, 344, 371, 399, - 431, 432, 441, 467, 504, 511, 512, 513, 518, 520, - 526, 527, 532, 533, 566, 568, 790, 844, 892, 895, - 898, 899, 900, 902, 903, 904, 907, 908, 919, 921, - 922, 923, 924, 925, 926, 928, 929, 943, 944, 955, - 977, 982, 990, 991, 992, 1004, 1005, 1006, 989, 991, - 1028, 1028, 568, 1028, 503, 172, 433, 509, 522, 569, - 663, 876, 3, 171, 173, 470, 684, 1020, 1022, 171, - 1023, 919, 961, 962, 802, 524, 520, 1012, 252, 521, - 521, 537, 565, 172, 297, 705, 663, 31, 131, 808, - 808, 61, 808, 162, 167, 241, 289, 819, 821, 822, - 847, 849, 850, 851, 183, 292, 460, 292, 813, 814, - 520, 423, 1035, 503, 226, 153, 27, 33, 136, 296, - 356, 360, 390, 463, 551, 554, 555, 356, 153, 42, - 62, 106, 204, 254, 262, 274, 306, 356, 362, 385, - 390, 406, 540, 543, 554, 153, 356, 390, 554, 153, - 356, 390, 554, 42, 561, 919, 983, 3, 31, 35, - 36, 37, 39, 41, 42, 43, 47, 60, 67, 68, - 74, 80, 82, 93, 100, 115, 117, 124, 131, 132, - 140, 144, 148, 160, 162, 167, 169, 172, 179, 182, - 183, 188, 201, 209, 220, 222, 235, 236, 241, 277, - 282, 289, 292, 293, 297, 298, 317, 318, 319, 320, - 331, 340, 349, 364, 383, 401, 419, 422, 430, 433, - 435, 441, 450, 451, 455, 460, 466, 468, 478, 479, - 481, 482, 571, 572, 641, 645, 647, 648, 570, 3, - 31, 38, 44, 51, 57, 81, 83, 89, 101, 131, - 171, 173, 176, 177, 196, 211, 224, 225, 227, 238, - 240, 250, 270, 280, 301, 303, 324, 367, 384, 396, - 415, 424, 444, 468, 470, 521, 641, 646, 648, 919, - 964, 965, 1007, 1013, 521, 520, 625, 376, 636, 565, - 277, 654, 42, 473, 194, 565, 194, 565, 640, 194, - 565, 194, 565, 89, 693, 153, 486, 565, 90, 128, - 309, 427, 469, 906, 906, 906, 520, 894, 894, 327, - 520, 896, 153, 520, 71, 72, 906, 894, 891, 484, - 506, 520, 909, 520, 909, 520, 65, 363, 524, 670, - 520, 41, 890, 520, 109, 110, 191, 192, 256, 257, - 258, 259, 260, 261, 264, 265, 380, 381, 500, 501, - 520, 910, 911, 912, 913, 914, 915, 916, 917, 918, - 894, 153, 522, 1011, 524, 670, 153, 524, 670, 153, - 292, 674, 675, 919, 1013, 521, 524, 4, 160, 292, - 441, 511, 512, 542, 545, 568, 679, 681, 682, 685, - 1006, 680, 433, 520, 580, 584, 172, 919, 962, 520, - 3, 568, 910, 911, 912, 913, 914, 915, 916, 917, - 967, 968, 466, 871, 872, 919, 565, 919, 969, 511, - 512, 566, 920, 921, 944, 955, 971, 520, 919, 961, - 972, 919, 60, 172, 236, 435, 919, 962, 975, 919, - 521, 567, 520, 424, 827, 828, 828, 810, 811, 859, - 222, 805, 38, 227, 384, 873, 227, 301, 874, 859, - 874, 227, 873, 520, 227, 874, 149, 202, 861, 227, - 828, 520, 567, 520, 828, 299, 566, 568, 720, 542, - 685, 1030, 1032, 964, 889, 966, 42, 239, 566, 520, - 518, 790, 919, 981, 520, 790, 527, 919, 520, 520, - 919, 919, 919, 149, 993, 994, 919, 962, 963, 790, - 919, 961, 567, 945, 946, 947, 9, 572, 522, 569, - 984, 569, 520, 568, 520, 568, 1006, 3, 8, 11, - 15, 16, 17, 18, 19, 20, 21, 37, 42, 48, - 55, 80, 177, 196, 201, 224, 225, 240, 277, 280, - 294, 297, 396, 504, 507, 508, 509, 511, 512, 513, - 514, 515, 516, 953, 954, 955, 957, 987, 483, 930, - 303, 919, 524, 805, 520, 568, 805, 3, 115, 244, - 542, 568, 908, 1031, 104, 115, 1032, 115, 1032, 566, - 42, 566, 521, 524, 678, 524, 521, 803, 1000, 1001, - 42, 721, 752, 756, 757, 1012, 663, 195, 358, 222, - 390, 792, 792, 31, 815, 816, 919, 61, 792, 809, - 164, 273, 835, 230, 274, 343, 393, 457, 4, 9, - 31, 830, 919, 511, 512, 831, 832, 919, 921, 847, - 848, 822, 821, 819, 820, 167, 850, 287, 852, 61, - 798, 799, 800, 862, 920, 991, 991, 819, 847, 962, - 239, 565, 74, 82, 93, 169, 194, 331, 451, 566, - 607, 617, 632, 82, 93, 788, 93, 788, 520, 433, - 520, 605, 248, 454, 605, 93, 524, 433, 565, 891, - 542, 61, 544, 542, 542, 106, 254, 262, 61, 433, - 482, 506, 541, 267, 376, 541, 543, 876, 93, 433, - 788, 376, 565, 433, 376, 566, 580, 519, 531, 964, - 964, 965, 524, 813, 814, 13, 14, 433, 566, 624, - 629, 482, 583, 565, 347, 385, 422, 473, 651, 275, - 472, 723, 153, 100, 590, 655, 656, 690, 1038, 145, - 889, 565, 277, 540, 657, 277, 520, 625, 42, 277, - 625, 277, 520, 652, 194, 566, 619, 694, 3, 670, - 520, 963, 1006, 672, 966, 906, 906, 41, 890, 431, - 431, 1006, 1006, 566, 886, 889, 886, 518, 518, 1006, - 1006, 433, 433, 433, 433, 669, 571, 522, 1010, 1000, - 1003, 1003, 1010, 521, 524, 13, 680, 686, 4, 1006, - 4, 1006, 568, 572, 582, 589, 57, 102, 121, 142, - 146, 168, 171, 189, 282, 290, 311, 341, 586, 720, - 42, 521, 919, 521, 172, 524, 521, 320, 970, 521, - 920, 920, 11, 15, 16, 19, 20, 21, 201, 224, - 294, 507, 508, 509, 511, 512, 513, 514, 515, 516, - 955, 920, 521, 878, 879, 927, 167, 172, 973, 974, - 524, 521, 42, 975, 962, 975, 975, 172, 521, 42, - 870, 520, 1001, 4, 9, 566, 823, 825, 826, 991, - 989, 178, 244, 422, 426, 428, 454, 565, 806, 479, - 882, 859, 227, 859, 292, 460, 875, 859, 227, 991, - 859, 284, 284, 520, 859, 567, 883, 884, 520, 567, - 883, 524, 521, 524, 521, 524, 573, 662, 697, 786, - 789, 1017, 962, 963, 478, 978, 979, 919, 919, 948, - 949, 950, 951, 8, 15, 16, 19, 20, 21, 507, - 508, 509, 511, 512, 513, 514, 515, 516, 566, 953, - 958, 521, 962, 520, 566, 358, 998, 167, 519, 521, - 524, 531, 524, 528, 513, 570, 962, 919, 918, 918, - 889, 919, 919, 919, 919, 919, 919, 919, 919, 5, - 572, 1014, 431, 47, 419, 988, 1010, 919, 919, 520, - 790, 976, 131, 160, 277, 282, 287, 441, 452, 919, - 282, 520, 919, 433, 55, 177, 196, 201, 240, 396, - 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, - 31, 39, 401, 952, 518, 522, 986, 183, 163, 931, - 371, 520, 944, 992, 172, 856, 964, 856, 520, 568, - 566, 565, 1020, 557, 565, 919, 524, 521, 253, 277, - 804, 509, 31, 39, 394, 755, 229, 524, 749, 460, - 665, 565, 699, 520, 566, 704, 714, 715, 717, 43, - 124, 817, 524, 460, 817, 267, 792, 371, 372, 511, - 512, 832, 834, 921, 393, 230, 293, 316, 316, 524, - 515, 4, 833, 1006, 833, 371, 372, 834, 565, 999, - 281, 398, 853, 520, 1001, 1002, 524, 183, 460, 201, - 183, 222, 848, 820, 521, 356, 554, 520, 194, 617, - 1003, 230, 277, 230, 460, 520, 610, 888, 889, 1003, - 566, 194, 1003, 194, 566, 27, 136, 390, 550, 553, - 572, 601, 615, 1003, 572, 609, 628, 1003, 551, 1003, - 356, 390, 540, 554, 542, 1010, 1003, 542, 1010, 1003, - 542, 356, 390, 554, 1003, 1003, 1003, 1003, 356, 390, - 554, 1003, 1003, 512, 919, 983, 813, 813, 813, 468, - 965, 195, 361, 812, 919, 919, 336, 579, 521, 524, - 290, 172, 433, 574, 654, 473, 565, 565, 640, 565, - 565, 423, 565, 297, 636, 520, 790, 520, 153, 153, - 240, 566, 607, 617, 620, 623, 633, 635, 482, 484, - 612, 152, 789, 153, 482, 695, 153, 521, 964, 42, - 277, 292, 962, 521, 521, 670, 521, 518, 503, 503, - 521, 521, 889, 521, 524, 521, 1006, 519, 1006, 521, - 521, 911, 913, 914, 915, 914, 915, 915, 670, 571, - 670, 292, 670, 674, 919, 580, 513, 520, 542, 581, - 685, 924, 521, 524, 42, 578, 568, 578, 277, 282, - 341, 578, 61, 578, 889, 521, 919, 919, 919, 973, - 889, 920, 920, 920, 920, 920, 920, 131, 277, 287, - 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, - 521, 524, 42, 880, 919, 919, 974, 973, 889, 521, - 521, 521, 962, 889, 1001, 521, 316, 515, 316, 372, - 515, 520, 520, 805, 426, 428, 426, 428, 565, 807, - 807, 807, 919, 183, 836, 875, 859, 919, 520, 859, - 167, 520, 567, 866, 875, 889, 521, 524, 883, 521, - 1030, 889, 521, 519, 919, 140, 979, 980, 521, 531, - 524, 528, 522, 521, 521, 1001, 520, 919, 995, 566, - 919, 919, 945, 994, 521, 521, 503, 920, 920, 146, - 962, 172, 131, 160, 282, 287, 441, 452, 520, 146, - 958, 919, 419, 988, 919, 976, 919, 433, 520, 790, - 919, 983, 571, 520, 520, 156, 932, 857, 858, 882, - 813, 882, 1006, 918, 1012, 1012, 253, 520, 26, 314, - 315, 394, 397, 434, 477, 750, 753, 9, 394, 754, - 9, 17, 507, 512, 518, 520, 765, 766, 767, 768, - 775, 776, 777, 780, 781, 755, 757, 479, 744, 858, - 479, 664, 42, 61, 700, 710, 717, 984, 524, 856, - 509, 505, 818, 816, 294, 953, 956, 818, 4, 1006, - 834, 293, 457, 831, 524, 247, 1001, 798, 61, 991, - 520, 567, 61, 267, 433, 919, 277, 632, 520, 153, - 520, 610, 205, 629, 630, 591, 42, 176, 600, 626, - 591, 27, 136, 360, 362, 390, 547, 548, 549, 555, - 556, 153, 670, 153, 670, 601, 615, 601, 521, 524, - 568, 594, 509, 522, 521, 524, 433, 376, 93, 433, - 788, 376, 433, 433, 433, 376, 531, 519, 531, 812, - 812, 812, 965, 284, 284, 521, 409, 410, 568, 588, - 624, 579, 565, 657, 520, 42, 625, 652, 520, 654, - 358, 422, 568, 659, 660, 629, 565, 565, 640, 565, - 521, 524, 290, 605, 290, 292, 604, 1003, 482, 639, - 565, 605, 42, 565, 521, 422, 919, 153, 565, 521, - 890, 1006, 909, 909, 890, 566, 890, 519, 519, 1010, - 576, 587, 685, 582, 568, 568, 282, 629, 513, 629, - 568, 513, 629, 568, 521, 521, 974, 172, 131, 287, - 520, 881, 878, 520, 521, 521, 521, 566, 823, 882, - 807, 807, 807, 807, 565, 565, 565, 61, 188, 845, - 875, 1001, 520, 863, 864, 865, 922, 1004, 1001, 167, - 80, 885, 884, 521, 430, 919, 144, 919, 948, 958, - 521, 919, 995, 996, 997, 42, 201, 521, 998, 918, - 919, 37, 37, 919, 521, 919, 172, 520, 966, 919, - 521, 146, 920, 920, 146, 146, 919, 919, 519, 531, - 520, 985, 814, 479, 919, 302, 936, 524, 836, 812, - 836, 521, 786, 750, 753, 750, 750, 750, 753, 753, - 753, 512, 775, 508, 518, 752, 764, 721, 778, 779, - 767, 767, 525, 758, 779, 511, 513, 526, 527, 760, - 277, 504, 511, 512, 782, 921, 944, 83, 919, 364, - 708, 566, 267, 323, 115, 305, 520, 698, 789, 521, - 524, 704, 664, 919, 164, 234, 520, 818, 293, 565, - 521, 1002, 183, 790, 791, 991, 1002, 1003, 1003, 521, - 153, 630, 617, 630, 591, 619, 524, 521, 117, 209, - 274, 277, 616, 520, 34, 61, 637, 626, 74, 80, - 93, 115, 117, 209, 277, 282, 331, 349, 451, 460, - 596, 597, 611, 176, 115, 193, 277, 605, 541, 107, - 115, 176, 277, 408, 411, 543, 605, 390, 549, 445, - 1003, 566, 553, 3, 38, 44, 51, 57, 81, 83, - 89, 101, 171, 173, 176, 177, 196, 211, 224, 225, - 227, 238, 240, 250, 270, 276, 280, 294, 301, 303, - 324, 367, 384, 391, 396, 415, 424, 444, 450, 470, - 511, 512, 542, 568, 592, 631, 641, 647, 648, 889, - 956, 1007, 572, 628, 1003, 1003, 1003, 1003, 1003, 1003, - 1003, 1003, 1003, 1003, 983, 983, 521, 521, 521, 813, - 541, 588, 520, 623, 789, 695, 42, 565, 734, 739, - 636, 194, 565, 521, 524, 521, 657, 520, 42, 614, - 612, 620, 86, 676, 107, 274, 625, 789, 652, 789, - 619, 460, 692, 519, 889, 670, 521, 524, 629, 920, - 172, 520, 966, 883, 521, 524, 521, 836, 565, 565, - 565, 565, 31, 103, 184, 370, 520, 837, 838, 839, - 840, 841, 842, 843, 919, 919, 481, 933, 521, 921, - 959, 960, 201, 183, 860, 864, 520, 521, 866, 867, - 868, 1010, 919, 524, 521, 566, 919, 921, 919, 919, - 919, 966, 521, 919, 37, 37, 919, 919, 146, 521, - 512, 983, 521, 964, 521, 919, 521, 520, 566, 937, - 845, 521, 845, 568, 521, 183, 186, 751, 518, 753, - 519, 224, 531, 773, 774, 521, 511, 767, 519, 9, - 759, 782, 782, 782, 782, 11, 16, 17, 18, 19, - 20, 21, 37, 48, 55, 80, 177, 196, 201, 224, - 225, 240, 277, 280, 297, 396, 504, 507, 508, 509, - 511, 512, 513, 514, 515, 516, 955, 303, 520, 990, - 466, 421, 459, 709, 566, 703, 713, 292, 706, 509, - 717, 708, 958, 61, 521, 521, 465, 466, 795, 591, - 617, 521, 521, 482, 622, 118, 197, 207, 117, 462, - 919, 115, 42, 520, 1010, 1003, 920, 118, 197, 117, - 282, 230, 565, 622, 88, 637, 194, 282, 542, 919, - 637, 282, 511, 512, 545, 566, 889, 670, 670, 250, - 415, 1007, 1011, 509, 433, 433, 519, 519, 812, 580, - 460, 575, 577, 629, 521, 639, 42, 422, 919, 42, - 524, 727, 274, 337, 743, 422, 277, 520, 568, 695, - 623, 152, 789, 150, 203, 604, 120, 136, 330, 639, - 107, 695, 482, 1039, 42, 292, 566, 691, 520, 587, - 920, 966, 521, 521, 9, 357, 829, 845, 520, 392, - 520, 521, 524, 566, 934, 935, 340, 846, 524, 521, - 520, 567, 61, 521, 964, 201, 521, 867, 995, 519, - 194, 521, 919, 919, 919, 531, 519, 531, 521, 521, - 566, 938, 933, 568, 933, 768, 760, 744, 520, 530, - 721, 772, 525, 512, 775, 524, 889, 782, 782, 782, - 782, 782, 782, 782, 431, 419, 988, 1010, 782, 782, - 976, 131, 160, 277, 282, 287, 441, 452, 782, 282, - 782, 433, 55, 196, 201, 240, 396, 782, 782, 782, - 782, 782, 782, 782, 782, 782, 782, 944, 747, 748, - 992, 524, 465, 984, 521, 524, 91, 708, 919, 521, - 1002, 1002, 349, 622, 520, 613, 591, 521, 193, 520, - 919, 277, 597, 622, 625, 1003, 42, 153, 885, 1011, - 515, 592, 1003, 1003, 521, 541, 122, 521, 612, 789, - 789, 721, 734, 521, 337, 40, 520, 737, 742, 231, - 732, 565, 153, 42, 521, 1003, 639, 31, 85, 94, - 116, 193, 206, 408, 411, 608, 608, 372, 372, 42, - 66, 74, 244, 422, 919, 565, 520, 566, 707, 716, - 927, 521, 521, 520, 933, 962, 520, 962, 839, 42, - 524, 919, 460, 824, 921, 991, 1001, 871, 813, 520, - 871, 919, 983, 983, 311, 939, 846, 846, 744, 99, - 763, 771, 772, 772, 760, 759, 503, 920, 920, 146, - 172, 131, 160, 282, 287, 441, 452, 520, 146, 782, - 419, 988, 782, 976, 782, 433, 521, 524, 789, 305, - 789, 703, 292, 520, 701, 565, 591, 572, 618, 621, - 412, 475, 598, 599, 520, 593, 919, 521, 252, 634, - 193, 460, 552, 515, 445, 580, 568, 695, 604, 1039, - 727, 138, 353, 724, 725, 721, 738, 740, 31, 721, - 201, 733, 520, 565, 789, 612, 676, 789, 74, 295, - 74, 789, 692, 919, 80, 711, 521, 524, 711, 9, - 846, 521, 838, 521, 937, 935, 374, 521, 812, 991, - 519, 519, 519, 61, 813, 824, 824, 763, 920, 521, - 525, 529, 528, 782, 37, 37, 782, 782, 172, 520, - 966, 782, 146, 920, 920, 146, 146, 782, 521, 747, - 709, 93, 716, 132, 625, 509, 521, 524, 540, 521, - 274, 606, 173, 310, 397, 292, 602, 603, 627, 593, - 919, 445, 42, 423, 42, 521, 524, 83, 565, 520, - 1039, 604, 639, 1039, 295, 295, 520, 521, 1010, 712, - 1010, 695, 707, 712, 521, 824, 521, 826, 521, 521, - 961, 342, 372, 940, 115, 762, 769, 772, 770, 772, - 782, 782, 782, 966, 521, 782, 37, 37, 782, 782, - 146, 565, 745, 465, 1003, 521, 278, 457, 634, 592, - 621, 521, 599, 207, 120, 457, 292, 627, 292, 602, - 789, 520, 721, 738, 148, 741, 520, 716, 711, 817, - 882, 817, 55, 104, 447, 919, 941, 942, 941, 521, - 4, 9, 761, 525, 529, 521, 782, 782, 782, 789, - 882, 390, 603, 65, 274, 363, 390, 595, 595, 1039, - 736, 739, 520, 721, 731, 521, 712, 818, 818, 942, - 371, 166, 326, 166, 326, 769, 770, 715, 591, 25, - 115, 282, 524, 735, 402, 740, 521, 524, 695, 817, - 37, 882, 736, 521, 230, 729, 730, 521, 721, 882, - 818, 942, 735, 520, 728, 349, 565, 1000, 728, 521, - 126, 730, 565, 728, 743, 732, 733 + 0, 22, 33, 35, 36, 49, 54, 63, 77, 86, + 88, 100, 102, 113, 128, 129, 131, 140, 148, 156, + 158, 159, 172, 176, 204, 220, 247, 325, 326, 327, + 333, 336, 368, 377, 393, 400, 405, 416, 428, 432, + 453, 466, 469, 472, 477, 495, 519, 533, 548, 549, + 550, 551, 552, 559, 570, 571, 572, 575, 576, 578, + 589, 607, 655, 667, 670, 673, 677, 679, 682, 683, + 687, 693, 695, 699, 706, 710, 711, 712, 719, 724, + 740, 744, 748, 768, 805, 806, 809, 811, 812, 813, + 814, 816, 818, 819, 823, 876, 877, 1043, 1045, 1046, + 1047, 1052, 1055, 1061, 1062, 1063, 1067, 447, 498, 1044, + 209, 384, 395, 432, 484, 110, 198, 573, 1044, 3, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, + 33, 34, 40, 44, 45, 46, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, + 63, 64, 65, 66, 69, 70, 71, 72, 73, 74, + 75, 77, 78, 79, 80, 81, 83, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, + 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, + 122, 123, 124, 125, 126, 127, 130, 131, 132, 133, + 134, 137, 138, 139, 140, 141, 142, 143, 145, 146, + 147, 149, 150, 151, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 165, 167, 168, 169, 170, + 172, 174, 175, 177, 178, 179, 180, 181, 182, 184, + 185, 188, 189, 190, 191, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, + 209, 210, 211, 212, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 225, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 241, 242, 243, + 244, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 284, 285, + 286, 287, 289, 290, 291, 292, 293, 294, 296, 297, + 300, 301, 302, 305, 306, 307, 308, 309, 310, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 340, 341, 342, 343, 344, 345, 346, + 347, 349, 350, 351, 352, 353, 354, 355, 356, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 406, 407, 408, 409, 410, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 430, 431, 433, 434, 435, 436, + 437, 438, 439, 441, 442, 443, 445, 447, 448, 449, + 450, 451, 453, 454, 455, 456, 457, 458, 459, 460, + 463, 464, 465, 467, 468, 469, 470, 472, 473, 474, + 475, 476, 477, 478, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 493, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 582, 658, 659, + 660, 665, 952, 1032, 1036, 3, 180, 254, 425, 577, + 582, 658, 665, 298, 1044, 57, 176, 533, 602, 182, + 248, 303, 324, 346, 384, 436, 438, 456, 462, 465, + 653, 675, 718, 5, 31, 336, 582, 583, 1031, 3, + 31, 35, 36, 37, 38, 39, 41, 42, 43, 44, + 47, 51, 55, 56, 57, 58, 59, 60, 67, 68, + 73, 74, 76, 81, 82, 83, 84, 85, 91, 95, + 102, 103, 110, 114, 117, 119, 121, 128, 129, 135, + 136, 144, 148, 152, 157, 163, 164, 166, 169, 171, + 173, 175, 176, 177, 180, 181, 183, 186, 187, 188, + 189, 192, 200, 205, 213, 215, 216, 222, 223, 224, + 225, 226, 228, 229, 231, 239, 240, 242, 244, 245, + 254, 275, 276, 277, 282, 283, 286, 288, 289, 291, + 295, 298, 299, 303, 304, 307, 308, 310, 311, 325, + 326, 327, 328, 331, 332, 335, 339, 348, 352, 357, + 372, 375, 379, 393, 394, 401, 405, 406, 409, 411, + 425, 427, 428, 429, 432, 434, 440, 442, 443, 444, + 446, 449, 451, 452, 455, 461, 462, 466, 471, 477, + 478, 479, 481, 491, 492, 494, 495, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 588, 658, + 662, 664, 665, 24, 83, 99, 151, 161, 173, 178, + 209, 253, 257, 330, 346, 347, 381, 384, 395, 398, + 418, 432, 438, 439, 450, 456, 484, 675, 688, 689, + 692, 1044, 1031, 102, 140, 481, 533, 551, 552, 559, + 575, 576, 589, 607, 655, 667, 670, 677, 679, 682, + 683, 687, 695, 702, 706, 712, 719, 740, 805, 806, + 809, 811, 1043, 1045, 1047, 1052, 1055, 1061, 1067, 110, + 77, 220, 68, 81, 83, 163, 186, 239, 289, 299, + 311, 331, 380, 427, 449, 451, 455, 477, 533, 581, + 582, 583, 812, 877, 879, 881, 891, 898, 899, 952, + 954, 955, 110, 5, 582, 584, 741, 741, 582, 1031, + 31, 182, 248, 399, 442, 447, 582, 1053, 1054, 1065, + 1044, 31, 135, 832, 833, 182, 248, 384, 399, 442, + 1056, 1057, 1065, 1044, 533, 582, 811, 823, 1066, 582, + 898, 432, 829, 581, 177, 533, 1049, 533, 355, 824, + 825, 1031, 824, 3, 55, 56, 58, 59, 73, 74, + 81, 114, 117, 157, 163, 169, 180, 188, 189, 216, + 222, 223, 225, 254, 275, 277, 282, 289, 291, 307, + 311, 331, 335, 352, 379, 401, 409, 425, 427, 442, + 443, 449, 451, 455, 477, 478, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 658, 666, 743, + 812, 813, 1061, 0, 536, 481, 700, 124, 219, 468, + 152, 224, 304, 461, 835, 836, 881, 881, 812, 814, + 816, 537, 31, 442, 447, 811, 1066, 198, 581, 1031, + 198, 581, 198, 898, 198, 581, 283, 584, 531, 535, + 585, 586, 533, 84, 110, 178, 209, 253, 384, 395, + 432, 456, 484, 580, 110, 811, 581, 436, 438, 436, + 438, 366, 185, 198, 581, 581, 178, 253, 355, 395, + 432, 484, 668, 391, 209, 31, 1031, 198, 588, 259, + 450, 109, 432, 432, 484, 185, 388, 391, 198, 582, + 690, 1038, 198, 1028, 1031, 198, 1031, 533, 698, 303, + 438, 702, 3, 477, 658, 662, 665, 703, 705, 706, + 708, 709, 700, 582, 584, 577, 741, 533, 533, 171, + 533, 533, 768, 812, 899, 533, 533, 581, 533, 533, + 176, 533, 533, 533, 533, 812, 877, 881, 891, 526, + 585, 42, 582, 892, 893, 892, 393, 537, 815, 38, + 44, 103, 177, 215, 231, 242, 276, 325, 332, 375, + 394, 466, 895, 893, 42, 582, 892, 894, 519, 903, + 584, 176, 522, 533, 533, 807, 1054, 1054, 1054, 516, + 230, 535, 298, 4, 6, 7, 8, 9, 10, 41, + 56, 58, 59, 67, 73, 74, 85, 114, 117, 119, + 139, 157, 164, 169, 188, 189, 222, 223, 225, 254, + 275, 277, 283, 288, 291, 300, 352, 379, 409, 442, + 443, 452, 478, 517, 524, 525, 526, 531, 533, 539, + 540, 545, 546, 582, 584, 812, 866, 915, 918, 921, + 922, 923, 925, 926, 927, 928, 930, 931, 946, 948, + 949, 950, 951, 952, 953, 955, 956, 971, 972, 983, + 1005, 1010, 1018, 1019, 1020, 1032, 1033, 1034, 1017, 1019, + 1056, 1056, 584, 1056, 516, 176, 444, 522, 535, 585, + 684, 898, 3, 175, 177, 481, 706, 1048, 1050, 175, + 1051, 946, 989, 990, 824, 537, 533, 1040, 256, 534, + 534, 534, 550, 581, 176, 303, 727, 684, 31, 135, + 830, 830, 61, 830, 166, 171, 245, 295, 841, 843, + 844, 869, 871, 872, 873, 187, 298, 471, 298, 835, + 836, 533, 433, 1064, 516, 230, 157, 27, 33, 140, + 302, 364, 368, 400, 474, 564, 567, 568, 364, 157, + 42, 62, 108, 208, 258, 268, 280, 313, 364, 370, + 395, 400, 416, 553, 556, 567, 157, 364, 400, 567, + 157, 364, 400, 567, 157, 42, 574, 946, 1011, 587, + 588, 586, 3, 31, 38, 44, 51, 57, 83, 85, + 91, 103, 135, 175, 177, 180, 181, 200, 215, 228, + 229, 231, 242, 244, 254, 276, 286, 308, 310, 332, + 375, 394, 406, 425, 434, 455, 479, 481, 534, 658, + 663, 665, 946, 992, 993, 1035, 1041, 946, 432, 581, + 582, 534, 533, 642, 384, 653, 675, 581, 283, 671, + 42, 484, 198, 581, 198, 581, 657, 198, 581, 198, + 581, 198, 582, 674, 91, 715, 157, 499, 581, 92, + 132, 316, 437, 198, 582, 157, 535, 1039, 65, 371, + 537, 691, 157, 537, 691, 157, 298, 696, 697, 946, + 1041, 366, 534, 537, 4, 164, 298, 452, 524, 525, + 555, 558, 584, 701, 703, 704, 707, 1034, 702, 444, + 533, 597, 601, 176, 946, 990, 533, 3, 70, 71, + 111, 112, 115, 116, 195, 196, 260, 261, 262, 263, + 264, 265, 266, 267, 270, 271, 389, 390, 489, 490, + 513, 514, 584, 933, 934, 935, 936, 937, 938, 939, + 940, 941, 942, 943, 944, 995, 996, 477, 893, 894, + 946, 581, 946, 997, 524, 525, 582, 947, 948, 972, + 983, 999, 533, 946, 989, 1000, 946, 60, 176, 240, + 446, 946, 990, 1003, 946, 534, 583, 533, 434, 849, + 850, 850, 832, 833, 881, 226, 827, 38, 231, 394, + 895, 231, 308, 896, 881, 896, 231, 895, 533, 231, + 896, 153, 206, 883, 231, 850, 533, 583, 533, 850, + 305, 582, 584, 742, 946, 1058, 1060, 992, 3, 38, + 44, 51, 56, 57, 58, 59, 73, 74, 83, 85, + 91, 103, 114, 117, 169, 175, 177, 181, 200, 215, + 222, 223, 225, 228, 229, 231, 242, 244, 254, 275, + 276, 277, 286, 291, 308, 310, 332, 352, 375, 379, + 394, 401, 406, 409, 425, 434, 442, 443, 455, 461, + 478, 481, 658, 661, 665, 909, 911, 912, 914, 916, + 918, 920, 922, 923, 924, 926, 927, 930, 931, 994, + 1037, 42, 243, 582, 533, 531, 812, 480, 929, 946, + 1009, 929, 929, 533, 533, 917, 917, 335, 812, 533, + 919, 540, 73, 74, 929, 946, 917, 533, 533, 497, + 519, 533, 932, 533, 932, 946, 946, 946, 153, 1021, + 1022, 946, 990, 991, 812, 946, 989, 583, 973, 974, + 975, 9, 588, 535, 585, 1012, 585, 533, 584, 533, + 533, 584, 1034, 3, 8, 11, 15, 16, 17, 18, + 19, 20, 21, 37, 42, 48, 55, 82, 181, 200, + 205, 228, 229, 244, 283, 286, 300, 303, 406, 517, + 520, 521, 522, 524, 525, 526, 527, 528, 529, 981, + 982, 983, 985, 1015, 496, 957, 310, 946, 537, 827, + 533, 584, 827, 3, 119, 248, 555, 584, 931, 1059, + 106, 1060, 1060, 582, 42, 582, 534, 537, 700, 537, + 534, 825, 1028, 1029, 42, 743, 774, 778, 779, 1040, + 684, 199, 366, 226, 400, 814, 814, 31, 837, 838, + 946, 61, 814, 831, 168, 279, 857, 234, 280, 351, + 403, 468, 4, 9, 31, 852, 946, 524, 525, 853, + 854, 946, 948, 869, 870, 844, 843, 841, 842, 171, + 872, 293, 874, 61, 820, 821, 822, 884, 947, 1019, + 1019, 841, 869, 990, 243, 581, 76, 84, 95, 173, + 198, 339, 462, 582, 624, 634, 649, 84, 95, 810, + 95, 810, 533, 444, 533, 622, 252, 465, 622, 95, + 537, 444, 581, 3, 914, 555, 61, 557, 555, 555, + 108, 258, 268, 61, 444, 495, 519, 554, 273, 384, + 554, 556, 898, 95, 444, 810, 384, 581, 444, 384, + 573, 582, 597, 532, 544, 992, 992, 993, 537, 835, + 836, 13, 14, 228, 228, 444, 444, 582, 641, 646, + 495, 600, 581, 355, 395, 432, 484, 668, 391, 281, + 483, 745, 157, 102, 607, 672, 677, 712, 1067, 149, + 911, 581, 283, 553, 678, 283, 533, 642, 42, 283, + 642, 283, 533, 669, 283, 205, 676, 198, 582, 636, + 716, 588, 691, 157, 176, 694, 690, 587, 535, 1038, + 1028, 1031, 1031, 1038, 534, 537, 13, 702, 708, 4, + 1034, 4, 1034, 584, 588, 599, 606, 57, 104, 125, + 146, 150, 172, 175, 193, 288, 296, 318, 349, 603, + 742, 42, 534, 946, 534, 176, 537, 534, 328, 998, + 534, 947, 947, 11, 15, 16, 19, 20, 21, 205, + 228, 300, 520, 521, 522, 524, 525, 526, 527, 528, + 529, 983, 947, 534, 900, 901, 954, 171, 176, 1001, + 1002, 537, 534, 42, 1003, 990, 1003, 1003, 176, 534, + 42, 892, 533, 1029, 4, 9, 582, 845, 847, 848, + 1019, 1017, 182, 248, 432, 436, 438, 465, 581, 828, + 492, 904, 881, 231, 881, 298, 471, 897, 881, 231, + 1019, 881, 290, 290, 533, 881, 583, 905, 906, 533, + 583, 905, 537, 534, 537, 535, 533, 914, 533, 533, + 535, 41, 913, 533, 933, 934, 935, 936, 937, 938, + 939, 940, 941, 942, 943, 944, 945, 534, 537, 917, + 589, 683, 719, 808, 811, 1045, 1061, 990, 991, 533, + 491, 1006, 1007, 946, 991, 1034, 946, 976, 977, 978, + 979, 929, 929, 8, 15, 16, 19, 20, 21, 520, + 521, 522, 524, 525, 526, 527, 528, 529, 582, 981, + 986, 534, 990, 442, 442, 1034, 1034, 533, 582, 366, + 1026, 171, 532, 534, 537, 544, 537, 541, 526, 586, + 990, 1034, 946, 945, 945, 911, 946, 946, 946, 946, + 946, 946, 946, 946, 5, 588, 1042, 442, 47, 429, + 1016, 1038, 946, 946, 533, 812, 1004, 135, 164, 283, + 288, 293, 452, 463, 946, 288, 533, 946, 444, 55, + 181, 200, 205, 244, 406, 946, 946, 946, 946, 946, + 946, 946, 946, 946, 946, 31, 39, 411, 980, 531, + 535, 1014, 187, 167, 958, 379, 533, 972, 1020, 176, + 878, 992, 878, 533, 584, 582, 581, 1048, 570, 581, + 946, 537, 534, 257, 283, 826, 522, 31, 39, 404, + 777, 233, 537, 771, 471, 686, 581, 721, 533, 582, + 726, 736, 737, 739, 43, 128, 839, 537, 471, 839, + 273, 814, 379, 380, 524, 525, 854, 856, 948, 403, + 234, 299, 323, 323, 537, 528, 4, 855, 1034, 855, + 379, 380, 856, 581, 1027, 287, 408, 875, 533, 1029, + 1030, 537, 187, 471, 205, 187, 226, 870, 842, 534, + 364, 567, 533, 198, 634, 1031, 234, 283, 234, 471, + 533, 627, 910, 911, 1031, 582, 198, 1031, 198, 582, + 27, 140, 400, 563, 566, 588, 618, 632, 1031, 588, + 626, 645, 1031, 564, 1031, 364, 400, 553, 567, 555, + 1038, 1031, 555, 1038, 1031, 555, 364, 400, 567, 1031, + 1031, 1031, 1031, 364, 400, 567, 1031, 1031, 584, 525, + 946, 1011, 835, 835, 835, 479, 993, 199, 369, 834, + 946, 946, 288, 579, 584, 288, 579, 582, 344, 596, + 534, 537, 296, 176, 444, 591, 671, 484, 581, 581, + 657, 581, 581, 674, 433, 581, 303, 653, 533, 812, + 533, 157, 157, 244, 582, 624, 634, 637, 640, 650, + 652, 495, 497, 629, 156, 811, 157, 495, 717, 157, + 534, 992, 42, 157, 3, 533, 283, 298, 582, 3, + 691, 587, 691, 298, 691, 696, 946, 597, 526, 533, + 555, 598, 707, 951, 534, 537, 42, 595, 584, 595, + 283, 288, 349, 595, 61, 595, 911, 534, 946, 946, + 946, 1001, 911, 947, 947, 947, 947, 947, 947, 135, + 283, 293, 947, 947, 947, 947, 947, 947, 947, 947, + 947, 947, 534, 537, 42, 902, 946, 946, 1002, 1001, + 911, 534, 534, 534, 990, 911, 1029, 534, 323, 528, + 323, 380, 528, 533, 533, 827, 436, 438, 436, 438, + 581, 829, 829, 829, 946, 187, 858, 897, 881, 946, + 533, 881, 171, 533, 583, 888, 897, 911, 534, 537, + 905, 534, 1058, 3, 994, 41, 913, 582, 908, 908, + 3, 531, 531, 1034, 444, 444, 444, 444, 911, 534, + 532, 990, 946, 144, 1007, 1008, 534, 534, 534, 544, + 537, 541, 535, 534, 534, 516, 516, 534, 534, 1029, + 533, 946, 1023, 582, 946, 946, 973, 1022, 534, 534, + 534, 516, 947, 947, 150, 990, 176, 135, 164, 288, + 293, 452, 463, 533, 150, 986, 946, 429, 1016, 946, + 1004, 946, 444, 533, 812, 946, 1011, 587, 533, 533, + 160, 959, 879, 880, 904, 835, 904, 1034, 945, 1040, + 1040, 257, 533, 26, 321, 322, 404, 407, 445, 488, + 772, 775, 9, 404, 776, 9, 17, 520, 525, 531, + 533, 787, 788, 789, 790, 797, 798, 799, 802, 803, + 777, 779, 492, 766, 880, 492, 685, 42, 61, 722, + 732, 739, 1012, 537, 878, 522, 518, 840, 838, 300, + 981, 984, 840, 4, 1034, 856, 299, 468, 853, 537, + 251, 1029, 820, 61, 1019, 533, 583, 61, 273, 444, + 946, 283, 649, 533, 157, 533, 627, 209, 646, 647, + 608, 42, 180, 617, 643, 608, 27, 140, 368, 370, + 400, 560, 561, 562, 568, 569, 157, 691, 157, 691, + 618, 632, 618, 534, 537, 584, 611, 522, 535, 534, + 537, 444, 384, 95, 444, 810, 384, 444, 444, 444, + 384, 574, 544, 532, 544, 834, 834, 834, 993, 290, + 290, 534, 533, 590, 3, 419, 420, 584, 605, 641, + 596, 581, 678, 533, 42, 642, 669, 676, 533, 671, + 366, 432, 584, 680, 681, 646, 581, 581, 657, 581, + 534, 537, 296, 622, 296, 298, 621, 1031, 495, 656, + 581, 622, 42, 581, 534, 432, 946, 674, 606, 157, + 581, 694, 1038, 593, 604, 707, 599, 584, 584, 288, + 646, 526, 646, 584, 526, 646, 584, 534, 534, 1002, + 176, 135, 293, 533, 903, 900, 533, 534, 534, 534, + 582, 845, 904, 829, 829, 829, 829, 581, 581, 581, + 61, 192, 867, 897, 1029, 533, 885, 886, 887, 949, + 1032, 1029, 171, 82, 907, 906, 534, 534, 531, 911, + 534, 537, 534, 1034, 532, 1034, 534, 934, 936, 937, + 938, 937, 938, 938, 534, 440, 946, 148, 946, 976, + 986, 932, 932, 534, 946, 1023, 1024, 1025, 42, 205, + 534, 1026, 945, 946, 37, 37, 946, 534, 946, 176, + 533, 994, 946, 534, 150, 947, 947, 150, 150, 946, + 946, 532, 544, 533, 1013, 836, 492, 946, 309, 963, + 537, 858, 834, 858, 534, 808, 772, 775, 772, 772, + 772, 775, 775, 775, 525, 797, 521, 531, 774, 786, + 743, 800, 801, 789, 789, 538, 780, 801, 524, 526, + 539, 540, 782, 283, 517, 524, 525, 804, 948, 972, + 85, 946, 372, 730, 582, 273, 331, 119, 312, 533, + 720, 811, 534, 537, 726, 685, 946, 168, 238, 533, + 840, 299, 581, 534, 1030, 187, 812, 813, 1019, 1030, + 1031, 1031, 534, 157, 647, 634, 647, 608, 636, 537, + 534, 121, 213, 280, 283, 633, 533, 34, 61, 654, + 643, 76, 82, 95, 119, 121, 213, 283, 288, 339, + 357, 462, 471, 613, 614, 628, 180, 119, 197, 283, + 622, 554, 109, 119, 180, 283, 418, 421, 556, 622, + 400, 562, 456, 1031, 582, 566, 3, 38, 44, 51, + 57, 83, 85, 91, 103, 175, 177, 180, 181, 200, + 215, 228, 229, 231, 242, 244, 254, 276, 282, 286, + 300, 308, 310, 332, 375, 394, 401, 406, 425, 434, + 455, 461, 481, 524, 525, 555, 584, 609, 648, 658, + 664, 665, 911, 984, 1035, 588, 645, 1031, 1031, 1031, + 1031, 1031, 1031, 1031, 1031, 1031, 1031, 597, 1011, 1011, + 534, 534, 534, 835, 109, 384, 535, 554, 605, 533, + 640, 811, 717, 42, 533, 581, 756, 761, 653, 198, + 581, 534, 537, 534, 678, 533, 42, 631, 629, 637, + 88, 698, 109, 280, 642, 811, 669, 811, 676, 534, + 636, 471, 714, 691, 534, 537, 646, 947, 176, 533, + 994, 905, 534, 537, 534, 858, 581, 581, 581, 581, + 31, 105, 188, 378, 533, 859, 860, 861, 862, 863, + 864, 865, 946, 946, 494, 960, 534, 948, 987, 988, + 205, 187, 882, 886, 533, 534, 888, 889, 890, 1038, + 913, 1034, 913, 582, 913, 532, 532, 946, 537, 534, + 582, 946, 948, 946, 946, 946, 994, 534, 946, 37, + 37, 946, 946, 150, 534, 525, 1011, 534, 992, 534, + 946, 534, 533, 582, 964, 867, 534, 867, 584, 534, + 187, 190, 773, 531, 775, 532, 228, 544, 795, 796, + 534, 524, 789, 532, 9, 781, 804, 804, 804, 804, + 11, 16, 17, 18, 19, 20, 21, 37, 48, 55, + 82, 181, 200, 205, 228, 229, 244, 283, 286, 303, + 406, 517, 520, 521, 522, 524, 525, 526, 527, 528, + 529, 983, 310, 533, 1018, 477, 431, 470, 731, 582, + 725, 735, 298, 728, 522, 739, 730, 986, 61, 534, + 534, 476, 477, 817, 608, 634, 534, 534, 495, 639, + 122, 201, 211, 121, 473, 946, 119, 42, 533, 1038, + 1031, 947, 122, 201, 121, 288, 234, 581, 639, 90, + 654, 198, 288, 555, 946, 654, 288, 524, 525, 558, + 582, 911, 691, 691, 3, 254, 425, 1035, 1039, 522, + 444, 444, 532, 532, 834, 534, 534, 582, 597, 471, + 592, 594, 646, 534, 656, 42, 432, 946, 606, 42, + 537, 749, 280, 345, 765, 432, 283, 533, 584, 717, + 640, 156, 811, 154, 207, 621, 124, 140, 338, 656, + 109, 717, 495, 1068, 42, 533, 298, 582, 713, 533, + 604, 947, 994, 534, 534, 9, 365, 851, 867, 533, + 402, 533, 534, 537, 582, 961, 962, 348, 868, 537, + 534, 533, 583, 61, 534, 992, 205, 534, 889, 532, + 911, 1023, 532, 198, 534, 946, 946, 946, 544, 532, + 544, 534, 534, 582, 965, 960, 584, 960, 790, 782, + 766, 533, 543, 743, 794, 538, 525, 797, 537, 911, + 804, 804, 804, 804, 804, 804, 804, 442, 429, 1016, + 1038, 804, 804, 1004, 135, 164, 283, 288, 293, 452, + 463, 804, 288, 804, 444, 55, 200, 205, 244, 406, + 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, + 972, 769, 770, 1020, 537, 476, 1012, 534, 537, 93, + 730, 946, 534, 1030, 1030, 357, 639, 533, 630, 608, + 534, 197, 533, 946, 283, 614, 639, 642, 1031, 42, + 157, 907, 1039, 528, 609, 1031, 1031, 534, 554, 126, + 534, 629, 811, 811, 534, 743, 756, 534, 345, 40, + 533, 759, 764, 235, 754, 581, 157, 42, 534, 1031, + 656, 31, 87, 96, 120, 197, 210, 418, 421, 625, + 625, 380, 380, 42, 66, 76, 248, 432, 946, 606, + 581, 533, 582, 729, 738, 954, 534, 534, 533, 960, + 990, 533, 990, 861, 42, 537, 946, 471, 846, 948, + 1019, 1029, 893, 835, 533, 893, 946, 1011, 1011, 318, + 966, 868, 868, 766, 101, 785, 793, 794, 794, 782, + 781, 516, 947, 947, 150, 176, 135, 164, 288, 293, + 452, 463, 533, 150, 804, 429, 1016, 804, 1004, 804, + 444, 534, 537, 811, 312, 811, 725, 298, 533, 723, + 581, 608, 588, 635, 638, 422, 486, 615, 616, 533, + 610, 946, 534, 256, 651, 197, 471, 565, 528, 456, + 597, 584, 717, 621, 1068, 749, 142, 361, 746, 747, + 743, 760, 762, 31, 743, 205, 755, 533, 581, 811, + 629, 698, 811, 76, 301, 76, 811, 534, 714, 946, + 82, 733, 534, 537, 733, 9, 868, 534, 860, 534, + 964, 962, 382, 534, 834, 1019, 532, 532, 532, 61, + 835, 846, 846, 785, 947, 534, 538, 542, 541, 804, + 37, 37, 804, 804, 176, 533, 994, 804, 150, 947, + 947, 150, 150, 804, 534, 769, 731, 95, 738, 136, + 642, 522, 534, 537, 553, 534, 280, 623, 177, 317, + 407, 298, 619, 620, 644, 610, 946, 456, 42, 433, + 42, 534, 537, 85, 581, 533, 1068, 621, 656, 1068, + 301, 301, 533, 534, 1038, 734, 1038, 717, 729, 734, + 534, 846, 534, 848, 534, 534, 989, 190, 350, 380, + 967, 119, 784, 791, 794, 792, 794, 804, 804, 804, + 994, 534, 804, 37, 37, 804, 804, 150, 581, 767, + 476, 1031, 534, 284, 468, 651, 609, 638, 534, 616, + 211, 124, 468, 298, 644, 298, 619, 811, 533, 743, + 760, 152, 763, 533, 738, 733, 839, 904, 839, 55, + 106, 458, 946, 968, 969, 968, 968, 534, 4, 9, + 783, 538, 542, 534, 804, 804, 804, 811, 904, 400, + 620, 65, 280, 371, 400, 612, 612, 1068, 758, 761, + 533, 743, 753, 534, 734, 840, 840, 969, 379, 170, + 334, 170, 334, 153, 970, 970, 970, 791, 792, 737, + 608, 25, 119, 288, 537, 757, 412, 762, 534, 537, + 717, 839, 37, 106, 187, 280, 441, 904, 758, 534, + 234, 751, 752, 534, 743, 904, 840, 969, 379, 306, + 757, 533, 750, 357, 581, 1028, 750, 534, 130, 752, + 581, 750, 765, 754, 755 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { - 0, 534, 535, 536, 536, 537, 537, 537, 537, 537, - 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, - 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, - 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, - 537, 537, 537, 537, 537, 537, 546, 546, 546, 546, - 546, 546, 546, 546, 547, 547, 548, 548, 549, 549, - 549, 549, 550, 550, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 552, 552, 553, 553, 553, 553, 554, - 554, 555, 556, 556, 556, 661, 661, 661, 661, 565, - 565, 566, 566, 566, 566, 567, 567, 568, 569, 569, - 570, 571, 572, 572, 572, 572, 572, 787, 787, 787, - 787, 787, 787, 787, 787, 787, 787, 787, 787, 787, - 788, 788, 697, 698, 698, 698, 698, 698, 699, 699, - 700, 700, 700, 701, 701, 701, 702, 702, 703, 704, - 704, 705, 705, 705, 706, 706, 706, 707, 707, 707, - 708, 708, 709, 709, 710, 710, 711, 711, 712, 712, - 713, 713, 714, 714, 715, 715, 716, 716, 717, 658, - 658, 658, 659, 659, 660, 660, 783, 783, 783, 656, - 656, 656, 657, 657, 673, 673, 673, 674, 674, 675, - 675, 676, 676, 539, 539, 540, 540, 541, 541, 541, - 542, 542, 542, 542, 543, 543, 543, 543, 543, 543, - 543, 543, 543, 543, 543, 543, 543, 543, 544, 544, - 545, 545, 545, 1015, 1015, 1015, 1015, 1015, 1015, 1016, - 1016, 1016, 1018, 721, 721, 721, 722, 723, 723, 724, - 724, 725, 725, 726, 727, 727, 728, 729, 730, 731, - 731, 732, 732, 733, 733, 734, 735, 735, 736, 737, - 737, 738, 738, 739, 739, 740, 740, 741, 741, 742, - 742, 743, 743, 743, 744, 744, 745, 745, 746, 747, - 748, 748, 749, 749, 750, 750, 750, 751, 751, 751, - 752, 752, 753, 753, 753, 753, 753, 754, 754, 755, - 755, 755, 755, 755, 755, 756, 756, 757, 758, 758, - 759, 759, 760, 760, 760, 760, 760, 761, 761, 762, - 762, 763, 763, 764, 765, 766, 766, 767, 767, 767, - 768, 768, 769, 769, 770, 770, 771, 771, 771, 772, - 772, 772, 773, 773, 774, 774, 775, 775, 775, 776, - 776, 777, 777, 778, 778, 779, 780, 780, 781, 782, - 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, - 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, - 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, - 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, - 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, - 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, - 590, 590, 590, 591, 591, 592, 592, 592, 592, 592, - 592, 593, 593, 594, 595, 595, 595, 595, 595, 596, - 596, 596, 596, 597, 597, 597, 597, 597, 597, 597, - 597, 598, 598, 599, 599, 600, 600, 600, 601, 602, - 603, 603, 603, 603, 603, 604, 604, 604, 604, 605, - 606, 606, 607, 607, 608, 608, 608, 608, 608, 608, - 608, 608, 609, 609, 610, 611, 611, 611, 611, 612, - 612, 612, 612, 613, 614, 614, 614, 615, 616, 616, - 616, 616, 616, 616, 617, 617, 618, 618, 619, 620, - 620, 620, 621, 621, 622, 622, 623, 623, 623, 624, - 625, 625, 626, 626, 627, 628, 628, 628, 628, 629, - 629, 630, 630, 631, 631, 631, 632, 632, 632, 632, - 632, 632, 633, 633, 634, 634, 634, 634, 635, 636, - 636, 636, 636, 636, 636, 636, 636, 637, 637, 666, - 666, 666, 666, 666, 666, 666, 666, 667, 667, 667, - 667, 667, 667, 667, 667, 667, 667, 667, 667, 667, - 667, 667, 667, 667, 668, 668, 668, 668, 668, 668, - 669, 669, 670, 670, 670, 671, 671, 671, 672, 672, - 650, 650, 650, 650, 650, 650, 651, 651, 652, 652, - 1017, 573, 573, 574, 574, 575, 575, 576, 576, 577, - 577, 578, 578, 579, 579, 580, 580, 581, 581, 581, - 581, 581, 581, 582, 583, 583, 584, 584, 585, 585, - 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, - 586, 586, 586, 586, 586, 586, 587, 588, 588, 588, - 589, 589, 789, 789, 790, 790, 791, 791, 791, 791, - 791, 791, 791, 791, 792, 792, 793, 793, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 795, 795, 796, - 796, 797, 797, 798, 798, 798, 799, 799, 800, 800, - 801, 801, 801, 802, 802, 803, 804, 804, 804, 805, - 805, 806, 806, 806, 806, 806, 806, 806, 806, 806, - 807, 807, 808, 808, 808, 809, 810, 810, 811, 811, - 812, 812, 812, 813, 813, 814, 814, 815, 815, 816, - 816, 817, 817, 817, 818, 818, 818, 819, 819, 819, - 819, 820, 820, 821, 821, 821, 821, 822, 822, 823, - 823, 823, 823, 823, 823, 824, 824, 825, 825, 826, - 826, 826, 826, 827, 828, 828, 829, 829, 830, 830, - 830, 830, 830, 831, 832, 832, 832, 833, 833, 834, - 834, 835, 835, 836, 836, 836, 837, 837, 838, 838, - 839, 839, 839, 839, 839, 840, 841, 842, 843, 844, - 844, 845, 845, 846, 846, 847, 847, 848, 848, 849, - 849, 850, 851, 851, 851, 851, 852, 852, 853, 853, - 853, 854, 854, 855, 855, 856, 856, 857, 857, 858, - 858, 859, 859, 859, 859, 859, 859, 859, 859, 859, - 859, 859, 860, 860, 861, 861, 861, 862, 862, 863, - 863, 864, 864, 865, 865, 866, 866, 867, 868, 868, - 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, - 869, 870, 870, 870, 870, 871, 871, 872, 872, 872, - 872, 872, 873, 873, 873, 873, 873, 873, 874, 874, - 875, 875, 876, 876, 876, 876, 877, 877, 878, 879, - 879, 880, 880, 881, 881, 882, 882, 883, 883, 884, - 885, 885, 886, 886, 887, 887, 888, 888, 889, 889, - 889, 889, 889, 889, 889, 889, 889, 890, 890, 890, - 891, 891, 891, 891, 891, 891, 891, 892, 892, 892, - 892, 893, 894, 894, 895, 895, 895, 895, 895, 895, - 895, 895, 895, 895, 895, 896, 896, 897, 897, 898, - 898, 899, 900, 901, 901, 902, 902, 903, 904, 905, - 905, 905, 905, 905, 905, 906, 906, 907, 907, 907, - 907, 908, 909, 909, 909, 910, 910, 911, 911, 912, - 912, 913, 913, 914, 914, 915, 915, 916, 916, 917, - 917, 918, 918, 918, 918, 918, 918, 918, 918, 918, - 918, 918, 918, 918, 918, 918, 918, 919, 919, 919, - 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, - 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, - 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, - 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, - 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, - 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, - 919, 919, 919, 919, 919, 919, 919, 920, 920, 920, - 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, - 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, - 920, 920, 921, 921, 921, 922, 922, 922, 922, 922, - 922, 922, 922, 922, 922, 922, 922, 922, 923, 923, - 923, 923, 923, 923, 924, 925, 925, 925, 925, 925, - 925, 926, 926, 927, 927, 928, 928, 928, 928, 928, - 928, 928, 928, 928, 928, 928, 928, 928, 928, 929, - 929, 930, 930, 931, 931, 931, 932, 932, 933, 933, - 934, 934, 935, 936, 936, 936, 937, 938, 938, 939, - 939, 940, 940, 940, 941, 941, 942, 942, 942, 942, - 942, 943, 943, 944, 944, 945, 946, 946, 947, 947, - 948, 949, 949, 950, 950, 951, 951, 952, 952, 952, - 953, 953, 954, 954, 954, 954, 954, 954, 954, 954, - 954, 954, 954, 954, 954, 954, 955, 955, 956, 956, - 957, 957, 957, 957, 957, 957, 957, 957, 958, 958, - 959, 959, 960, 960, 961, 961, 962, 962, 963, 963, - 964, 964, 965, 965, 965, 966, 966, 967, 967, 968, - 968, 968, 968, 968, 968, 968, 968, 968, 968, 969, - 969, 970, 971, 971, 972, 972, 972, 972, 972, 972, - 973, 974, 975, 975, 975, 976, 976, 977, 978, 978, - 979, 980, 980, 981, 981, 982, 982, 570, 570, 570, - 570, 983, 983, 984, 984, 985, 985, 985, 986, 986, - 986, 986, 986, 987, 987, 988, 988, 989, 989, 990, - 990, 991, 991, 992, 992, 992, 993, 993, 994, 994, - 995, 996, 996, 997, 997, 998, 998, 998, 999, 999, - 1000, 1000, 1001, 1001, 1002, 1002, 1003, 1004, 1004, 1005, - 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - 1005, 1005, 1005, 1006, 1007, 1007, 1007, 1007, 1008, 1008, - 1008, 1008, 1009, 1009, 1009, 1009, 1010, 1010, 1011, 1011, - 1012, 1012, 1013, 1014, 1014, 784, 785, 785, 786, 786, - 786, 786, 786, 653, 653, 653, 654, 654, 655, 655, - 655, 655, 690, 690, 691, 692, 692, 693, 693, 694, - 694, 695, 695, 696, 696, 538, 538, 538, 538, 538, - 538, 563, 563, 564, 564, 688, 688, 689, 677, 677, - 677, 677, 678, 678, 679, 679, 679, 680, 680, 680, - 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, - 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, - 680, 680, 680, 680, 680, 680, 680, 681, 681, 681, - 681, 682, 682, 683, 683, 684, 684, 685, 685, 685, - 685, 686, 687, 687, 1027, 1027, 1027, 1027, 1028, 1028, - 1028, 1028, 1029, 1029, 1029, 1029, 1030, 1030, 1031, 1031, - 1031, 1031, 1031, 1031, 1031, 1032, 1032, 718, 718, 718, - 718, 718, 719, 719, 720, 720, 1019, 1019, 1019, 1019, - 1019, 1020, 1020, 1020, 1020, 1020, 1021, 1021, 1022, 1022, - 1023, 1023, 662, 662, 663, 663, 663, 664, 664, 665, - 665, 557, 557, 558, 559, 559, 560, 560, 561, 561, - 1024, 1024, 1024, 1024, 1025, 1025, 1026, 1026, 1026, 1033, - 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1034, 1034, 1035, - 1035, 1036, 1036, 1037, 1037, 562, 1038, 1038, 1038, 1038, - 1038, 1039, 1039, 1039, 1039, 638, 638, 638, 639, 639, - 639, 640, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 642, - 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, - 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, - 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, - 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, - 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, - 642, 642, 642, 643, 643, 643, 643, 643, 643, 643, - 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, - 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, - 643, 644, 644, 644, 644, 644, 644, 644, 644, 644, - 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, - 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, - 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, - 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, - 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, - 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, - 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, - 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, - 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, - 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, - 645, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 647, 647, 647, 647, 647, 647, 647, - 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, - 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, - 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, - 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, - 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, - 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, - 647, 647, 647, 647, 647, 647, 648, 648, 648, 648, - 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, - 648, 648, 648, 648, 648, 648, 648, 649, 649, 649, - 649, 649, 649, 649, 649, 649, 649, 649, 649, 649, - 649, 649, 649, 649, 649, 649, 649, 649, 649, 649, - 649, 649, 649, 649, 649, 649, 649, 649, 649, 649, - 649, 649, 649, 649, 649, 649, 649, 649, 649, 649, - 649, 649, 649, 649, 649, 649, 649, 649, 649, 649 + 0, 547, 548, 549, 549, 550, 550, 550, 550, 550, + 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, + 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, + 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, + 550, 550, 550, 550, 550, 550, 550, 550, 550, 559, + 559, 559, 559, 559, 559, 559, 559, 560, 560, 561, + 561, 562, 562, 562, 562, 563, 563, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 565, 565, 566, 566, + 566, 566, 567, 567, 568, 569, 569, 569, 682, 682, + 682, 682, 581, 581, 582, 582, 582, 582, 583, 583, + 584, 585, 585, 586, 587, 588, 588, 588, 588, 588, + 809, 809, 809, 809, 809, 809, 809, 809, 809, 809, + 809, 809, 809, 810, 810, 719, 720, 720, 720, 720, + 720, 721, 721, 722, 722, 722, 723, 723, 723, 724, + 724, 725, 726, 726, 727, 727, 727, 728, 728, 728, + 729, 729, 729, 730, 730, 731, 731, 732, 732, 733, + 733, 734, 734, 735, 735, 736, 736, 737, 737, 738, + 738, 739, 679, 679, 679, 680, 680, 681, 681, 805, + 805, 805, 677, 677, 677, 678, 678, 673, 673, 673, + 674, 674, 675, 675, 675, 676, 676, 695, 695, 695, + 696, 696, 697, 697, 698, 698, 552, 552, 553, 553, + 554, 554, 554, 555, 555, 555, 555, 556, 556, 556, + 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, + 556, 557, 557, 558, 558, 558, 693, 693, 694, 694, + 1043, 1043, 1043, 1043, 1043, 1043, 1044, 1044, 1044, 1046, + 743, 743, 743, 744, 745, 745, 746, 746, 747, 747, + 748, 749, 749, 750, 751, 752, 753, 753, 754, 754, + 755, 755, 756, 757, 757, 758, 759, 759, 760, 760, + 761, 761, 762, 762, 763, 763, 764, 764, 765, 765, + 765, 766, 766, 767, 767, 768, 769, 770, 770, 771, + 771, 772, 772, 772, 773, 773, 773, 774, 774, 775, + 775, 775, 775, 775, 776, 776, 777, 777, 777, 777, + 777, 777, 778, 778, 779, 780, 780, 781, 781, 782, + 782, 782, 782, 782, 783, 783, 784, 784, 785, 785, + 786, 787, 788, 788, 789, 789, 789, 790, 790, 791, + 791, 792, 792, 793, 793, 793, 794, 794, 794, 795, + 795, 796, 796, 797, 797, 797, 798, 798, 799, 799, + 800, 800, 801, 802, 802, 803, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 804, 607, 607, 607, + 608, 608, 609, 609, 609, 609, 609, 609, 610, 610, + 611, 612, 612, 612, 612, 612, 613, 613, 613, 613, + 614, 614, 614, 614, 614, 614, 614, 614, 615, 615, + 616, 616, 617, 617, 617, 618, 619, 620, 620, 620, + 620, 620, 621, 621, 621, 621, 622, 623, 623, 624, + 624, 625, 625, 625, 625, 625, 625, 625, 625, 626, + 626, 627, 628, 628, 628, 628, 629, 629, 629, 629, + 630, 631, 631, 631, 632, 633, 633, 633, 633, 633, + 633, 634, 634, 635, 635, 636, 637, 637, 637, 638, + 638, 639, 639, 640, 640, 640, 641, 642, 642, 643, + 643, 644, 645, 645, 645, 645, 646, 646, 647, 647, + 648, 648, 648, 649, 649, 649, 649, 649, 649, 650, + 650, 651, 651, 651, 651, 652, 653, 653, 653, 653, + 653, 653, 653, 653, 654, 654, 687, 687, 687, 687, + 687, 687, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 689, 689, 689, 689, 689, 689, 690, 690, 691, 691, + 691, 692, 692, 692, 667, 667, 667, 667, 667, 667, + 668, 668, 669, 669, 1045, 589, 589, 589, 590, 590, + 590, 591, 591, 592, 592, 593, 593, 594, 594, 595, + 595, 596, 596, 597, 597, 598, 598, 598, 598, 598, + 598, 599, 600, 600, 601, 601, 602, 602, 603, 603, + 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, + 603, 603, 603, 603, 604, 605, 605, 605, 605, 605, + 606, 606, 811, 811, 812, 812, 812, 813, 813, 813, + 813, 813, 813, 813, 813, 814, 814, 815, 815, 816, + 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, + 816, 816, 816, 816, 816, 816, 816, 816, 817, 817, + 818, 818, 819, 819, 820, 820, 820, 821, 821, 822, + 822, 823, 823, 823, 824, 824, 825, 826, 826, 826, + 827, 827, 828, 828, 828, 828, 828, 828, 828, 828, + 828, 829, 829, 830, 830, 830, 831, 832, 832, 833, + 833, 834, 834, 834, 835, 835, 836, 836, 837, 837, + 838, 838, 839, 839, 839, 840, 840, 840, 841, 841, + 841, 841, 842, 842, 843, 843, 843, 843, 844, 844, + 845, 845, 845, 845, 845, 845, 846, 846, 847, 847, + 848, 848, 848, 848, 849, 850, 850, 851, 851, 852, + 852, 852, 852, 852, 853, 854, 854, 854, 855, 855, + 856, 856, 857, 857, 858, 858, 858, 859, 859, 860, + 860, 861, 861, 861, 861, 861, 862, 863, 864, 865, + 866, 866, 867, 867, 868, 868, 869, 869, 870, 870, + 871, 871, 872, 873, 873, 873, 873, 874, 874, 875, + 875, 875, 876, 876, 877, 877, 878, 878, 879, 879, + 880, 880, 881, 881, 881, 881, 881, 881, 881, 881, + 881, 881, 881, 882, 882, 883, 883, 883, 884, 884, + 885, 885, 886, 886, 887, 887, 888, 888, 889, 890, + 890, 891, 891, 891, 891, 891, 891, 891, 891, 891, + 891, 891, 892, 892, 892, 892, 893, 893, 894, 894, + 894, 894, 894, 895, 895, 895, 895, 895, 895, 896, + 896, 897, 897, 898, 898, 898, 898, 899, 899, 900, + 901, 901, 902, 902, 903, 903, 904, 904, 905, 905, + 906, 907, 907, 908, 908, 909, 909, 910, 910, 911, + 911, 911, 911, 911, 911, 911, 911, 911, 911, 912, + 912, 913, 913, 913, 914, 914, 914, 914, 914, 914, + 914, 915, 915, 915, 915, 916, 917, 917, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 919, + 919, 920, 920, 921, 921, 922, 923, 924, 924, 925, + 925, 926, 927, 928, 928, 928, 928, 928, 928, 929, + 929, 930, 930, 930, 930, 931, 932, 932, 932, 933, + 933, 934, 934, 935, 935, 936, 936, 937, 937, 938, + 938, 939, 939, 940, 940, 941, 941, 942, 942, 943, + 943, 944, 944, 945, 945, 945, 945, 945, 945, 945, + 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, + 945, 945, 945, 946, 946, 946, 946, 946, 946, 946, + 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, + 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, + 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, + 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, + 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, + 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, + 946, 946, 946, 947, 947, 947, 947, 947, 947, 947, + 947, 947, 947, 947, 947, 947, 947, 947, 947, 947, + 947, 947, 947, 947, 947, 947, 947, 947, 948, 948, + 948, 949, 949, 949, 949, 949, 949, 949, 949, 949, + 949, 949, 949, 949, 950, 950, 950, 950, 950, 950, + 951, 952, 952, 952, 952, 952, 952, 953, 953, 954, + 954, 955, 955, 955, 955, 955, 955, 955, 955, 955, + 955, 955, 955, 955, 955, 956, 956, 957, 957, 958, + 958, 958, 959, 959, 960, 960, 961, 961, 962, 963, + 963, 963, 964, 965, 965, 966, 966, 967, 967, 967, + 967, 968, 968, 969, 969, 969, 969, 969, 970, 970, + 970, 970, 970, 971, 971, 972, 972, 973, 974, 974, + 975, 975, 976, 977, 977, 978, 978, 979, 979, 980, + 980, 980, 981, 981, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 983, 983, + 984, 984, 985, 985, 985, 985, 985, 985, 985, 985, + 986, 986, 987, 987, 988, 988, 989, 989, 990, 990, + 991, 991, 992, 992, 993, 993, 993, 994, 994, 995, + 995, 996, 996, 996, 996, 996, 996, 996, 996, 996, + 996, 996, 996, 996, 996, 997, 997, 998, 999, 999, + 1000, 1000, 1000, 1000, 1000, 1000, 1001, 1002, 1003, 1003, + 1003, 1004, 1004, 1005, 1006, 1006, 1007, 1008, 1008, 1009, + 1009, 1010, 1010, 586, 586, 586, 586, 1011, 1011, 1012, + 1012, 1013, 1013, 1013, 1014, 1014, 1014, 1014, 1014, 1015, + 1015, 1016, 1016, 1017, 1017, 1018, 1018, 1019, 1019, 1020, + 1020, 1020, 1021, 1021, 1022, 1022, 1023, 1024, 1024, 1025, + 1025, 1026, 1026, 1026, 1027, 1027, 1028, 1028, 1029, 1029, + 1030, 1030, 1031, 1032, 1032, 1033, 1033, 1033, 1033, 1033, + 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1034, + 1035, 1035, 1035, 1035, 1036, 1036, 1036, 1036, 1037, 1037, + 1037, 1037, 1038, 1038, 1039, 1039, 1040, 1040, 1041, 1042, + 1042, 806, 807, 807, 808, 808, 808, 808, 808, 808, + 670, 670, 670, 671, 671, 672, 672, 672, 672, 712, + 712, 713, 714, 714, 715, 715, 716, 716, 717, 717, + 718, 718, 551, 551, 551, 551, 551, 551, 576, 576, + 577, 577, 578, 578, 579, 579, 580, 580, 580, 580, + 580, 580, 580, 580, 580, 580, 710, 710, 711, 699, + 699, 699, 699, 700, 700, 701, 701, 701, 702, 702, + 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, + 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, + 702, 702, 702, 702, 702, 702, 702, 702, 703, 703, + 703, 703, 704, 704, 705, 705, 706, 706, 707, 707, + 707, 707, 708, 709, 709, 1055, 1055, 1055, 1055, 1056, + 1056, 1056, 1056, 1057, 1057, 1058, 1059, 1059, 1059, 1059, + 1059, 1059, 1059, 1060, 1060, 740, 740, 740, 740, 740, + 741, 741, 742, 742, 1047, 1047, 1047, 1047, 1047, 1048, + 1048, 1048, 1048, 1048, 1049, 1049, 1050, 1050, 1051, 1051, + 683, 683, 684, 684, 684, 685, 685, 686, 686, 570, + 570, 571, 571, 572, 572, 572, 573, 573, 574, 574, + 1052, 1052, 1052, 1052, 1053, 1053, 1054, 1054, 1054, 1061, + 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1062, 1062, 1063, + 1063, 1064, 1064, 1065, 1065, 1066, 1066, 575, 1067, 1067, + 1067, 1067, 1067, 1068, 1068, 1068, 1068, 655, 655, 655, + 656, 656, 656, 657, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 659, 659, 659, 659, 659, 659, 659, 659, 659, + 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, + 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, + 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, + 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, + 659, 659, 659, 659, 659, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 661, 661, 661, 661, 661, 661, 661, + 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, + 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, + 661, 661, 662, 662, 662, 662, 662, 662, 662, 662, + 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, + 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, + 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, + 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, + 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, + 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, + 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, + 662, 662, 662, 663, 663, 663, 663, 663, 663, 663, + 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, + 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, + 663, 663, 663, 663, 663, 664, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 665, 665, 665, 665, 665, 665, 665, 665, 665, + 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, + 665, 665, 666, 666, 666, 666, 666, 666, 666, 666, + 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, + 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, + 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, + 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, + 666, 666, 666, 666, 666 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -19211,166 +19926,172 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 6, 4, 6, - 4, 6, 4, 6, 1, 2, 3, 2, 1, 3, - 2, 3, 1, 3, 2, 5, 3, 6, 4, 6, - 6, 6, 5, 5, 6, 9, 4, 5, 7, 6, - 4, 8, 4, 2, 4, 3, 6, 4, 2, 2, - 2, 2, 1, 2, 0, 1, 2, 2, 2, 1, - 3, 4, 2, 1, 0, 2, 3, 2, 3, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 1, 1, 1, 1, 1, 1, 6, 6, 8, - 6, 8, 6, 8, 6, 8, 8, 10, 8, 10, - 1, 0, 9, 1, 4, 4, 7, 2, 1, 3, - 2, 2, 0, 4, 3, 0, 1, 0, 2, 3, - 5, 2, 2, 0, 8, 5, 0, 5, 5, 7, - 2, 0, 1, 1, 1, 3, 2, 0, 1, 0, - 1, 3, 1, 3, 1, 2, 1, 3, 2, 6, - 8, 5, 1, 0, 1, 3, 2, 4, 5, 5, - 8, 7, 1, 0, 3, 9, 12, 1, 3, 1, - 3, 3, 0, 4, 6, 1, 2, 1, 1, 0, - 1, 2, 2, 1, 2, 2, 1, 2, 3, 2, - 2, 2, 2, 3, 3, 3, 1, 3, 1, 0, - 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, - 1, 0, 2, 1, 1, 1, 5, 1, 1, 1, - 1, 6, 0, 11, 3, 0, 3, 2, 2, 1, - 3, 2, 0, 5, 0, 4, 3, 0, 12, 1, - 0, 1, 3, 1, 3, 1, 3, 4, 0, 4, - 3, 2, 2, 0, 2, 0, 1, 0, 12, 1, - 1, 3, 2, 0, 1, 1, 0, 1, 1, 0, - 2, 0, 2, 2, 2, 2, 1, 1, 0, 3, - 4, 3, 2, 3, 0, 1, 3, 3, 1, 3, - 1, 0, 1, 1, 1, 5, 0, 1, 1, 2, - 0, 3, 0, 5, 4, 1, 1, 2, 2, 0, - 1, 3, 1, 3, 1, 3, 1, 3, 3, 1, - 2, 3, 2, 0, 1, 1, 1, 2, 1, 2, - 3, 2, 1, 1, 0, 4, 2, 5, 3, 1, - 3, 3, 5, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 2, 2, 3, 3, 5, 4, 6, 3, 5, - 4, 6, 4, 6, 5, 7, 3, 2, 4, 3, - 2, 3, 3, 3, 3, 4, 3, 4, 3, 4, - 5, 6, 6, 7, 6, 7, 6, 7, 3, 4, - 9, 12, 11, 0, 2, 1, 1, 1, 1, 1, - 1, 3, 0, 1, 2, 1, 1, 2, 2, 3, - 1, 1, 2, 2, 1, 2, 3, 5, 3, 2, - 5, 1, 1, 1, 0, 5, 7, 5, 2, 3, - 1, 1, 2, 2, 0, 3, 4, 4, 0, 3, - 2, 0, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 3, 1, 2, 2, 2, 2, - 2, 2, 0, 3, 3, 3, 0, 1, 2, 1, - 2, 2, 2, 2, 3, 4, 1, 3, 1, 1, - 1, 1, 3, 1, 2, 0, 1, 2, 0, 1, - 3, 0, 2, 0, 3, 3, 1, 5, 3, 1, - 3, 1, 2, 1, 4, 5, 5, 6, 3, 7, - 4, 11, 1, 3, 2, 2, 2, 0, 3, 1, - 1, 2, 2, 2, 2, 1, 0, 1, 2, 6, - 4, 6, 4, 6, 8, 4, 6, 1, 1, 1, - 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, - 3, 3, 3, 3, 2, 2, 1, 3, 1, 1, - 1, 3, 1, 1, 0, 1, 1, 1, 1, 3, - 8, 11, 10, 7, 10, 9, 1, 1, 2, 3, - 8, 11, 9, 1, 1, 3, 0, 1, 3, 1, - 0, 1, 0, 1, 0, 1, 3, 1, 1, 1, - 3, 1, 0, 2, 2, 0, 2, 0, 1, 0, - 1, 1, 1, 3, 3, 1, 1, 3, 3, 3, - 3, 3, 3, 4, 3, 2, 1, 1, 1, 1, - 1, 3, 1, 1, 3, 3, 1, 2, 4, 4, - 2, 3, 5, 5, 1, 1, 3, 0, 11, 11, - 10, 12, 1, 2, 5, 4, 4, 4, 4, 7, - 5, 4, 7, 6, 9, 9, 4, 1, 1, 1, - 1, 1, 1, 1, 5, 1, 1, 3, 1, 2, - 2, 2, 3, 1, 3, 7, 1, 2, 0, 2, - 0, 3, 3, 4, 4, 4, 4, 3, 2, 1, - 1, 0, 1, 1, 0, 2, 1, 5, 1, 0, - 2, 2, 0, 1, 0, 3, 5, 1, 3, 4, - 3, 1, 1, 0, 2, 2, 0, 2, 2, 1, - 1, 1, 0, 2, 4, 5, 4, 2, 3, 2, - 2, 2, 2, 1, 2, 3, 0, 1, 0, 5, - 1, 4, 6, 2, 1, 0, 4, 0, 1, 1, - 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, - 1, 1, 1, 3, 3, 0, 1, 3, 1, 2, - 1, 1, 1, 1, 1, 2, 4, 4, 5, 1, - 1, 2, 0, 2, 0, 1, 3, 1, 0, 1, - 2, 3, 2, 4, 2, 3, 2, 0, 1, 2, - 0, 4, 5, 1, 2, 2, 0, 1, 3, 1, - 2, 3, 3, 3, 3, 3, 3, 1, 4, 2, - 9, 9, 3, 0, 2, 2, 0, 5, 3, 1, - 3, 5, 3, 1, 2, 1, 3, 5, 1, 2, - 3, 4, 5, 4, 5, 4, 6, 5, 4, 5, - 5, 5, 2, 4, 1, 1, 0, 1, 4, 5, - 4, 0, 2, 2, 2, 1, 1, 1, 1, 0, - 4, 2, 1, 2, 2, 4, 2, 6, 2, 1, - 3, 4, 0, 2, 0, 2, 0, 1, 3, 3, - 2, 0, 2, 4, 1, 1, 1, 0, 2, 3, - 5, 6, 2, 3, 5, 5, 5, 3, 4, 0, - 1, 1, 1, 1, 1, 2, 4, 1, 1, 1, - 1, 2, 3, 0, 1, 1, 1, 1, 1, 2, - 2, 2, 2, 2, 1, 3, 0, 1, 1, 1, - 1, 5, 2, 1, 1, 1, 1, 4, 1, 2, - 2, 1, 3, 3, 2, 1, 0, 5, 2, 5, - 2, 1, 3, 3, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 3, 3, 3, 3, 3, 3, 0, 1, 3, 3, - 5, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 6, 4, 6, 4, 6, 4, 6, 1, 2, 3, + 2, 1, 3, 2, 3, 1, 3, 2, 5, 3, + 6, 4, 6, 6, 6, 5, 5, 6, 9, 4, + 5, 7, 6, 4, 8, 4, 2, 4, 3, 6, + 4, 2, 2, 2, 2, 1, 2, 0, 1, 2, + 2, 2, 1, 3, 4, 2, 1, 0, 2, 3, + 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, + 6, 6, 8, 6, 8, 6, 8, 6, 8, 8, + 10, 8, 10, 1, 0, 9, 1, 4, 4, 7, + 2, 1, 3, 2, 2, 0, 4, 3, 0, 1, + 0, 2, 3, 5, 2, 2, 0, 8, 5, 0, + 5, 5, 7, 2, 0, 1, 1, 1, 3, 2, + 0, 1, 0, 1, 3, 1, 3, 1, 2, 1, + 3, 2, 6, 8, 5, 1, 0, 1, 3, 2, + 4, 5, 5, 8, 7, 1, 0, 8, 11, 10, + 0, 1, 0, 1, 1, 0, 2, 3, 9, 12, + 1, 3, 1, 3, 3, 0, 4, 6, 1, 2, + 1, 1, 0, 1, 2, 2, 1, 2, 2, 1, + 2, 3, 2, 2, 2, 2, 3, 3, 3, 1, + 3, 1, 0, 1, 2, 2, 5, 7, 0, 2, + 2, 2, 2, 2, 2, 2, 1, 1, 0, 2, + 1, 1, 1, 5, 1, 1, 1, 1, 6, 0, + 11, 3, 0, 3, 2, 2, 1, 3, 2, 0, + 5, 0, 4, 3, 0, 12, 1, 0, 1, 3, + 1, 3, 1, 3, 4, 0, 4, 3, 2, 2, + 0, 2, 0, 1, 0, 12, 1, 1, 3, 2, + 0, 1, 1, 0, 1, 1, 0, 2, 0, 2, + 2, 2, 2, 1, 1, 0, 3, 4, 3, 2, + 3, 0, 1, 3, 3, 1, 3, 1, 0, 1, + 1, 1, 5, 0, 1, 1, 2, 0, 3, 0, + 5, 4, 1, 1, 2, 2, 0, 1, 3, 1, + 3, 1, 3, 1, 3, 3, 1, 2, 3, 2, + 0, 1, 1, 1, 2, 1, 2, 3, 2, 1, + 1, 0, 4, 2, 5, 3, 1, 3, 3, 5, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 3, 3, 2, 2, 3, 3, 5, 4, 6, 3, - 5, 4, 6, 4, 6, 5, 7, 3, 2, 4, - 3, 2, 3, 3, 3, 3, 4, 3, 4, 3, - 4, 5, 6, 6, 7, 6, 7, 6, 7, 3, - 4, 4, 6, 1, 4, 3, 5, 1, 3, 2, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 5, 6, - 6, 7, 1, 1, 2, 1, 1, 2, 2, 3, - 1, 2, 4, 1, 1, 2, 2, 4, 1, 1, - 3, 1, 4, 1, 3, 3, 6, 7, 9, 7, - 7, 5, 1, 1, 1, 5, 6, 6, 4, 4, - 4, 4, 6, 5, 5, 5, 4, 6, 4, 7, - 9, 5, 0, 5, 4, 0, 1, 0, 2, 0, - 1, 3, 3, 2, 2, 0, 6, 1, 0, 3, - 0, 2, 2, 0, 1, 4, 2, 2, 2, 2, - 2, 4, 3, 1, 5, 3, 1, 3, 1, 2, - 3, 1, 3, 1, 2, 1, 0, 1, 1, 1, + 3, 3, 5, 4, 6, 3, 5, 4, 6, 4, + 6, 5, 7, 3, 2, 4, 3, 2, 3, 3, + 3, 3, 4, 3, 4, 3, 4, 5, 6, 6, + 7, 6, 7, 6, 7, 3, 4, 9, 12, 11, + 0, 2, 1, 1, 1, 1, 1, 1, 3, 0, + 1, 2, 1, 1, 2, 2, 3, 1, 1, 2, + 2, 1, 2, 3, 5, 3, 2, 5, 1, 1, + 1, 0, 5, 7, 5, 2, 3, 1, 1, 2, + 2, 0, 3, 4, 4, 0, 3, 2, 0, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 3, 1, 2, 2, 2, 2, 2, 2, 0, + 3, 3, 3, 0, 1, 2, 1, 2, 2, 2, + 2, 3, 4, 1, 3, 1, 1, 1, 1, 3, + 1, 2, 0, 1, 2, 0, 1, 3, 0, 2, + 0, 3, 3, 1, 5, 3, 1, 3, 1, 2, + 1, 4, 5, 5, 6, 3, 7, 4, 11, 1, + 3, 2, 2, 2, 0, 3, 1, 1, 2, 2, + 2, 2, 1, 0, 1, 2, 6, 4, 6, 4, + 6, 8, 1, 1, 1, 1, 2, 1, 2, 1, + 2, 1, 1, 1, 1, 3, 3, 3, 3, 1, + 2, 2, 1, 3, 1, 1, 1, 3, 1, 1, + 0, 1, 1, 1, 8, 11, 10, 7, 10, 9, + 1, 1, 2, 3, 8, 11, 9, 7, 0, 3, + 3, 1, 1, 3, 0, 1, 3, 1, 0, 1, + 0, 1, 0, 1, 3, 1, 1, 1, 3, 1, + 0, 2, 2, 0, 2, 0, 1, 0, 1, 1, + 1, 3, 3, 1, 1, 3, 3, 3, 3, 3, + 3, 4, 3, 2, 1, 1, 1, 1, 3, 1, + 1, 3, 1, 1, 3, 3, 3, 1, 2, 4, + 4, 2, 3, 5, 5, 1, 1, 3, 0, 11, + 11, 10, 12, 1, 2, 5, 4, 4, 4, 4, + 7, 5, 4, 7, 6, 9, 9, 4, 1, 1, + 1, 1, 1, 1, 1, 5, 1, 1, 3, 1, + 2, 2, 2, 3, 1, 3, 7, 1, 2, 0, + 2, 0, 3, 3, 4, 4, 4, 4, 3, 2, + 1, 1, 0, 1, 1, 0, 2, 1, 5, 1, + 0, 2, 2, 0, 1, 0, 3, 5, 1, 3, + 4, 3, 1, 1, 0, 2, 2, 0, 2, 2, + 1, 1, 1, 0, 2, 4, 5, 4, 2, 3, + 2, 2, 2, 2, 1, 2, 3, 0, 1, 0, + 5, 1, 4, 6, 2, 1, 0, 4, 0, 1, + 1, 2, 2, 2, 1, 1, 2, 2, 1, 1, + 1, 1, 1, 1, 3, 3, 0, 1, 3, 1, + 2, 1, 1, 1, 1, 1, 2, 4, 4, 5, + 1, 1, 2, 0, 2, 0, 1, 3, 1, 0, + 1, 2, 3, 2, 4, 2, 3, 2, 0, 1, + 2, 0, 4, 5, 1, 2, 2, 0, 1, 3, + 1, 2, 3, 3, 3, 3, 3, 3, 1, 4, + 2, 9, 9, 3, 0, 2, 2, 0, 5, 3, + 1, 3, 5, 3, 1, 2, 1, 3, 5, 1, + 2, 3, 4, 5, 4, 5, 4, 6, 5, 4, + 5, 5, 5, 2, 4, 1, 1, 0, 1, 4, + 5, 4, 0, 2, 2, 2, 1, 1, 1, 1, + 0, 4, 2, 1, 2, 2, 4, 2, 6, 2, + 1, 3, 4, 0, 2, 0, 2, 0, 1, 3, + 3, 2, 0, 2, 4, 1, 1, 1, 0, 2, + 3, 5, 6, 2, 3, 1, 5, 5, 5, 3, + 3, 3, 4, 0, 1, 1, 1, 1, 1, 2, + 4, 1, 1, 1, 1, 2, 3, 0, 1, 1, + 1, 1, 1, 2, 2, 2, 2, 2, 1, 3, + 0, 1, 1, 1, 1, 5, 2, 1, 1, 1, + 1, 4, 1, 2, 2, 1, 3, 3, 2, 1, + 0, 5, 2, 5, 2, 1, 3, 3, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, + 3, 3, 0, 1, 3, 3, 5, 2, 2, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 2, 2, 3, 3, 2, 2, + 3, 3, 5, 4, 6, 3, 5, 4, 6, 4, + 6, 5, 7, 3, 2, 4, 3, 2, 3, 3, + 3, 3, 4, 3, 4, 3, 4, 5, 6, 6, + 7, 6, 7, 6, 7, 3, 4, 4, 6, 1, + 4, 3, 5, 1, 3, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 2, 2, 5, 6, 6, 7, 1, 1, + 2, 1, 1, 2, 2, 3, 1, 2, 4, 1, + 1, 2, 2, 4, 1, 1, 3, 1, 4, 1, + 3, 3, 6, 7, 9, 7, 7, 5, 1, 1, + 1, 5, 6, 6, 4, 4, 4, 4, 6, 5, + 5, 5, 4, 6, 4, 7, 9, 5, 0, 5, + 4, 0, 1, 0, 2, 0, 1, 3, 3, 2, + 2, 0, 6, 1, 0, 3, 0, 3, 3, 3, + 0, 1, 4, 2, 2, 2, 2, 2, 3, 2, + 2, 3, 0, 4, 3, 1, 5, 3, 1, 3, + 1, 2, 3, 1, 3, 1, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 4, 1, 4, - 1, 4, 1, 2, 1, 2, 1, 2, 1, 3, - 1, 3, 1, 2, 1, 3, 1, 2, 1, 0, - 1, 3, 1, 3, 3, 1, 3, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, - 3, 2, 3, 0, 3, 3, 2, 2, 1, 0, - 2, 2, 3, 2, 1, 1, 3, 5, 1, 2, - 4, 2, 0, 1, 0, 1, 2, 3, 5, 7, - 7, 1, 0, 0, 2, 0, 2, 3, 3, 3, - 5, 7, 7, 0, 2, 1, 0, 1, 0, 1, - 3, 1, 2, 3, 2, 1, 4, 2, 1, 0, - 3, 1, 3, 1, 2, 4, 2, 0, 1, 3, - 1, 3, 1, 2, 1, 3, 1, 1, 2, 1, - 1, 2, 1, 1, 2, 7, 2, 5, 3, 3, + 1, 4, 1, 4, 1, 2, 1, 2, 1, 2, + 1, 3, 1, 3, 1, 2, 1, 3, 1, 2, + 1, 0, 1, 3, 1, 3, 3, 1, 3, 3, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 4, 3, 2, 3, 0, + 3, 3, 2, 2, 1, 0, 2, 2, 3, 2, + 1, 1, 3, 5, 1, 2, 4, 2, 0, 1, + 0, 1, 2, 3, 5, 7, 7, 1, 0, 0, + 2, 0, 2, 3, 3, 3, 5, 7, 7, 0, + 2, 1, 0, 1, 0, 1, 3, 1, 2, 3, + 2, 1, 4, 2, 1, 0, 3, 1, 3, 1, + 2, 4, 2, 0, 1, 3, 1, 3, 1, 2, + 1, 3, 1, 1, 2, 1, 1, 2, 1, 1, + 2, 7, 2, 5, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, - 3, 0, 1, 1, 1, 5, 3, 0, 1, 1, - 1, 1, 1, 4, 7, 6, 2, 0, 1, 1, - 1, 1, 13, 16, 1, 2, 0, 1, 0, 1, - 0, 2, 0, 1, 0, 6, 8, 6, 8, 6, - 8, 3, 2, 1, 0, 4, 6, 3, 2, 4, - 3, 5, 1, 0, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 2, 2, 3, 3, 0, 1, 1, + 1, 5, 3, 0, 1, 1, 1, 1, 1, 1, + 4, 7, 6, 2, 0, 1, 1, 1, 1, 13, + 16, 1, 2, 0, 1, 0, 1, 0, 2, 0, + 1, 0, 6, 8, 6, 8, 6, 8, 3, 2, + 1, 0, 6, 6, 1, 1, 1, 1, 1, 1, + 2, 1, 1, 1, 1, 1, 4, 6, 3, 2, + 4, 3, 5, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 2, 3, 3, 3, 1, 3, - 3, 2, 3, 3, 3, 3, 1, 1, 1, 1, - 3, 5, 1, 1, 1, 1, 3, 2, 2, 3, - 4, 5, 1, 1, 1, 1, 4, 6, 5, 4, - 6, 1, 1, 1, 1, 1, 1, 0, 1, 3, - 1, 0, 7, 3, 1, 2, 3, 2, 0, 2, - 0, 2, 4, 5, 3, 5, 1, 0, 2, 0, + 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, + 1, 1, 2, 1, 1, 2, 3, 3, 3, 1, + 3, 3, 2, 3, 3, 1, 1, 1, 3, 5, + 1, 1, 1, 1, 3, 2, 2, 3, 4, 5, + 1, 1, 1, 1, 4, 6, 5, 4, 6, 1, + 1, 1, 1, 1, 1, 0, 1, 3, 1, 0, + 7, 3, 1, 2, 3, 2, 0, 2, 0, 2, + 4, 5, 8, 2, 3, 5, 1, 0, 2, 0, 2, 3, 3, 3, 1, 1, 1, 2, 3, 2, 2, 2, 2, 3, 4, 3, 1, 1, 1, 1, - 0, 1, 3, 1, 3, 2, 9, 12, 11, 12, - 14, 3, 4, 4, 0, 7, 10, 9, 2, 3, - 0, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 1, 3, 1, 3, 2, 9, 12, + 11, 12, 14, 3, 4, 4, 0, 7, 10, 9, + 2, 3, 0, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -19437,7 +20158,9 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1 }; @@ -20024,15 +20747,15 @@ YYLTYPE yylloc = yyloc_default; switch (yyn) { case 2: /* stmtblock: stmtmulti */ -#line 553 "third_party/libpg_query/grammar/grammar.y" +#line 561 "third_party/libpg_query/grammar/grammar.y" { pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list); } -#line 20032 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20755 "third_party/libpg_query/grammar/grammar_out.cpp" break; case 3: /* stmtmulti: stmtmulti ';' stmt */ -#line 569 "third_party/libpg_query/grammar/grammar.y" +#line 577 "third_party/libpg_query/grammar/grammar.y" { if ((yyvsp[-2].list) != NIL) { @@ -20044,27 +20767,27 @@ YYLTYPE yylloc = yyloc_default; else (yyval.list) = (yyvsp[-2].list); } -#line 20048 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20771 "third_party/libpg_query/grammar/grammar_out.cpp" break; case 4: /* stmtmulti: stmt */ -#line 581 "third_party/libpg_query/grammar/grammar.y" +#line 589 "third_party/libpg_query/grammar/grammar.y" { if ((yyvsp[0].node) != NULL) (yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0)); else (yyval.list) = NIL; } -#line 20059 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20782 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 45: /* stmt: %empty */ -#line 630 "third_party/libpg_query/grammar/grammar.y" + case 48: /* stmt: %empty */ +#line 641 "third_party/libpg_query/grammar/grammar.y" { (yyval.node) = NULL; } -#line 20065 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20788 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 46: /* AlterTableStmt: ALTER TABLE relation_expr alter_table_cmds */ + case 49: /* AlterTableStmt: ALTER TABLE relation_expr alter_table_cmds */ #line 10 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableStmt *n = makeNode(PGAlterTableStmt); @@ -20074,10 +20797,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20078 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20801 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 47: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr alter_table_cmds */ + case 50: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr alter_table_cmds */ #line 19 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableStmt *n = makeNode(PGAlterTableStmt); @@ -20087,10 +20810,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20091 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20814 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 48: /* AlterTableStmt: ALTER INDEX qualified_name alter_table_cmds */ + case 51: /* AlterTableStmt: ALTER INDEX qualified_name alter_table_cmds */ #line 28 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableStmt *n = makeNode(PGAlterTableStmt); @@ -20100,10 +20823,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20104 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20827 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 49: /* AlterTableStmt: ALTER INDEX IF_P EXISTS qualified_name alter_table_cmds */ + case 52: /* AlterTableStmt: ALTER INDEX IF_P EXISTS qualified_name alter_table_cmds */ #line 37 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableStmt *n = makeNode(PGAlterTableStmt); @@ -20113,10 +20836,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20117 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20840 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 50: /* AlterTableStmt: ALTER SEQUENCE qualified_name alter_table_cmds */ + case 53: /* AlterTableStmt: ALTER SEQUENCE qualified_name alter_table_cmds */ #line 46 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableStmt *n = makeNode(PGAlterTableStmt); @@ -20126,10 +20849,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20130 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20853 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 51: /* AlterTableStmt: ALTER SEQUENCE IF_P EXISTS qualified_name alter_table_cmds */ + case 54: /* AlterTableStmt: ALTER SEQUENCE IF_P EXISTS qualified_name alter_table_cmds */ #line 55 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableStmt *n = makeNode(PGAlterTableStmt); @@ -20139,10 +20862,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20143 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20866 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 52: /* AlterTableStmt: ALTER VIEW qualified_name alter_table_cmds */ + case 55: /* AlterTableStmt: ALTER VIEW qualified_name alter_table_cmds */ #line 64 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableStmt *n = makeNode(PGAlterTableStmt); @@ -20152,10 +20875,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20156 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20879 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 53: /* AlterTableStmt: ALTER VIEW IF_P EXISTS qualified_name alter_table_cmds */ + case 56: /* AlterTableStmt: ALTER VIEW IF_P EXISTS qualified_name alter_table_cmds */ #line 73 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableStmt *n = makeNode(PGAlterTableStmt); @@ -20165,50 +20888,50 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20169 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20892 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 54: /* alter_identity_column_option_list: alter_identity_column_option */ + case 57: /* alter_identity_column_option_list: alter_identity_column_option */ #line 86 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.list) = list_make1((yyvsp[0].defelt)); } -#line 20175 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20898 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 55: /* alter_identity_column_option_list: alter_identity_column_option_list alter_identity_column_option */ + case 58: /* alter_identity_column_option_list: alter_identity_column_option_list alter_identity_column_option */ #line 88 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); } -#line 20181 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20904 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 56: /* alter_column_default: SET DEFAULT a_expr */ + case 59: /* alter_column_default: SET DEFAULT a_expr */ #line 93 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.node) = (yyvsp[0].node); } -#line 20187 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20910 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 57: /* alter_column_default: DROP DEFAULT */ + case 60: /* alter_column_default: DROP DEFAULT */ #line 94 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.node) = NULL; } -#line 20193 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20916 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 58: /* alter_identity_column_option: RESTART */ + case 61: /* alter_identity_column_option: RESTART */ #line 100 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0])); } -#line 20201 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20924 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 59: /* alter_identity_column_option: RESTART opt_with NumericOnly */ + case 62: /* alter_identity_column_option: RESTART opt_with NumericOnly */ #line 104 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.defelt) = makeDefElem("restart", (PGNode *)(yyvsp[0].value), (yylsp[-2])); } -#line 20209 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20932 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 60: /* alter_identity_column_option: SET SeqOptElem */ + case 63: /* alter_identity_column_option: SET SeqOptElem */ #line 108 "third_party/libpg_query/grammar/statements/alter_table.y" { if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 || @@ -20220,34 +20943,34 @@ YYLTYPE yylloc = yyloc_default; parser_errposition((yylsp[0])))); (yyval.defelt) = (yyvsp[0].defelt); } -#line 20224 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20947 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 61: /* alter_identity_column_option: SET GENERATED generated_when */ + case 64: /* alter_identity_column_option: SET GENERATED generated_when */ #line 119 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.defelt) = makeDefElem("generated", (PGNode *) makeInteger((yyvsp[0].ival)), (yylsp[-2])); } -#line 20232 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20955 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 62: /* alter_generic_option_list: alter_generic_option_elem */ + case 65: /* alter_generic_option_list: alter_generic_option_elem */ #line 127 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.list) = list_make1((yyvsp[0].defelt)); } -#line 20240 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20963 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 63: /* alter_generic_option_list: alter_generic_option_list ',' alter_generic_option_elem */ + case 66: /* alter_generic_option_list: alter_generic_option_list ',' alter_generic_option_elem */ #line 131 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); } -#line 20248 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20971 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 64: /* alter_table_cmd: ADD_P columnDef */ + case 67: /* alter_table_cmd: ADD_P columnDef */ #line 140 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20256,10 +20979,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20260 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20983 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 65: /* alter_table_cmd: ADD_P IF_P NOT EXISTS columnDef */ + case 68: /* alter_table_cmd: ADD_P IF_P NOT EXISTS columnDef */ #line 149 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20268,10 +20991,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20272 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 20995 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 66: /* alter_table_cmd: ADD_P COLUMN columnDef */ + case 69: /* alter_table_cmd: ADD_P COLUMN columnDef */ #line 158 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20280,10 +21003,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20284 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21007 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 67: /* alter_table_cmd: ADD_P COLUMN IF_P NOT EXISTS columnDef */ + case 70: /* alter_table_cmd: ADD_P COLUMN IF_P NOT EXISTS columnDef */ #line 167 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20292,10 +21015,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20296 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21019 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 68: /* alter_table_cmd: ALTER opt_column ColId alter_column_default */ + case 71: /* alter_table_cmd: ALTER opt_column ColId alter_column_default */ #line 176 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20304,10 +21027,10 @@ YYLTYPE yylloc = yyloc_default; n->def = (yyvsp[0].node); (yyval.node) = (PGNode *)n; } -#line 20308 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21031 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 69: /* alter_table_cmd: ALTER opt_column ColId DROP NOT NULL_P */ + case 72: /* alter_table_cmd: ALTER opt_column ColId DROP NOT NULL_P */ #line 185 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20315,10 +21038,10 @@ YYLTYPE yylloc = yyloc_default; n->name = (yyvsp[-3].str); (yyval.node) = (PGNode *)n; } -#line 20319 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21042 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 70: /* alter_table_cmd: ALTER opt_column ColId SET NOT NULL_P */ + case 73: /* alter_table_cmd: ALTER opt_column ColId SET NOT NULL_P */ #line 193 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20326,10 +21049,10 @@ YYLTYPE yylloc = yyloc_default; n->name = (yyvsp[-3].str); (yyval.node) = (PGNode *)n; } -#line 20330 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21053 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 71: /* alter_table_cmd: ALTER opt_column ColId SET STATISTICS SignedIconst */ + case 74: /* alter_table_cmd: ALTER opt_column ColId SET STATISTICS SignedIconst */ #line 201 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20338,10 +21061,10 @@ YYLTYPE yylloc = yyloc_default; n->def = (PGNode *) makeInteger((yyvsp[0].ival)); (yyval.node) = (PGNode *)n; } -#line 20342 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21065 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 72: /* alter_table_cmd: ALTER opt_column ColId SET reloptions */ + case 75: /* alter_table_cmd: ALTER opt_column ColId SET reloptions */ #line 210 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20350,10 +21073,10 @@ YYLTYPE yylloc = yyloc_default; n->def = (PGNode *) (yyvsp[0].list); (yyval.node) = (PGNode *)n; } -#line 20354 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21077 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 73: /* alter_table_cmd: ALTER opt_column ColId RESET reloptions */ + case 76: /* alter_table_cmd: ALTER opt_column ColId RESET reloptions */ #line 219 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20362,10 +21085,10 @@ YYLTYPE yylloc = yyloc_default; n->def = (PGNode *) (yyvsp[0].list); (yyval.node) = (PGNode *)n; } -#line 20366 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21089 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 74: /* alter_table_cmd: ALTER opt_column ColId SET STORAGE ColId */ + case 77: /* alter_table_cmd: ALTER opt_column ColId SET STORAGE ColId */ #line 228 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20374,10 +21097,10 @@ YYLTYPE yylloc = yyloc_default; n->def = (PGNode *) makeString((yyvsp[0].str)); (yyval.node) = (PGNode *)n; } -#line 20378 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21101 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 75: /* alter_table_cmd: ALTER opt_column ColId ADD_P GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */ + case 78: /* alter_table_cmd: ALTER opt_column ColId ADD_P GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */ #line 237 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20394,10 +21117,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *)n; } -#line 20398 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21121 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 76: /* alter_table_cmd: ALTER opt_column ColId alter_identity_column_option_list */ + case 79: /* alter_table_cmd: ALTER opt_column ColId alter_identity_column_option_list */ #line 254 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20406,10 +21129,10 @@ YYLTYPE yylloc = yyloc_default; n->def = (PGNode *) (yyvsp[0].list); (yyval.node) = (PGNode *)n; } -#line 20410 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21133 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 77: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P */ + case 80: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P */ #line 263 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20418,10 +21141,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20422 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21145 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 78: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P IF_P EXISTS */ + case 81: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P IF_P EXISTS */ #line 272 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20430,10 +21153,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20434 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21157 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 79: /* alter_table_cmd: DROP opt_column IF_P EXISTS ColId opt_drop_behavior */ + case 82: /* alter_table_cmd: DROP opt_column IF_P EXISTS ColId opt_drop_behavior */ #line 281 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20443,10 +21166,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20447 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21170 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 80: /* alter_table_cmd: DROP opt_column ColId opt_drop_behavior */ + case 83: /* alter_table_cmd: DROP opt_column ColId opt_drop_behavior */ #line 291 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20456,10 +21179,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20460 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21183 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 81: /* alter_table_cmd: ALTER opt_column ColId opt_set_data TYPE_P Typename opt_collate_clause alter_using */ + case 84: /* alter_table_cmd: ALTER opt_column ColId opt_set_data TYPE_P Typename opt_collate_clause alter_using */ #line 304 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20474,10 +21197,10 @@ YYLTYPE yylloc = yyloc_default; def->location = (yylsp[-5]); (yyval.node) = (PGNode *)n; } -#line 20478 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21201 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 82: /* alter_table_cmd: ALTER opt_column ColId alter_generic_options */ + case 85: /* alter_table_cmd: ALTER opt_column ColId alter_generic_options */ #line 319 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20486,10 +21209,10 @@ YYLTYPE yylloc = yyloc_default; n->def = (PGNode *) (yyvsp[0].list); (yyval.node) = (PGNode *)n; } -#line 20490 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21213 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 83: /* alter_table_cmd: ADD_P TableConstraint */ + case 86: /* alter_table_cmd: ADD_P TableConstraint */ #line 328 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20497,10 +21220,10 @@ YYLTYPE yylloc = yyloc_default; n->def = (yyvsp[0].node); (yyval.node) = (PGNode *)n; } -#line 20501 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21224 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 84: /* alter_table_cmd: ALTER CONSTRAINT name ConstraintAttributeSpec */ + case 87: /* alter_table_cmd: ALTER CONSTRAINT name ConstraintAttributeSpec */ #line 336 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20515,10 +21238,10 @@ YYLTYPE yylloc = yyloc_default; NULL, NULL, yyscanner); (yyval.node) = (PGNode *)n; } -#line 20519 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21242 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 85: /* alter_table_cmd: VALIDATE CONSTRAINT name */ + case 88: /* alter_table_cmd: VALIDATE CONSTRAINT name */ #line 351 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20526,10 +21249,10 @@ YYLTYPE yylloc = yyloc_default; n->name = (yyvsp[0].str); (yyval.node) = (PGNode *)n; } -#line 20530 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21253 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 86: /* alter_table_cmd: DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior */ + case 89: /* alter_table_cmd: DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior */ #line 359 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20539,10 +21262,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20543 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21266 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 87: /* alter_table_cmd: DROP CONSTRAINT name opt_drop_behavior */ + case 90: /* alter_table_cmd: DROP CONSTRAINT name opt_drop_behavior */ #line 369 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20552,30 +21275,30 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20556 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21279 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 88: /* alter_table_cmd: SET LOGGED */ + case 91: /* alter_table_cmd: SET LOGGED */ #line 379 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); n->subtype = PG_AT_SetLogged; (yyval.node) = (PGNode *)n; } -#line 20566 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21289 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 89: /* alter_table_cmd: SET UNLOGGED */ + case 92: /* alter_table_cmd: SET UNLOGGED */ #line 386 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); n->subtype = PG_AT_SetUnLogged; (yyval.node) = (PGNode *)n; } -#line 20576 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21299 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 90: /* alter_table_cmd: SET reloptions */ + case 93: /* alter_table_cmd: SET reloptions */ #line 393 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20583,10 +21306,10 @@ YYLTYPE yylloc = yyloc_default; n->def = (PGNode *)(yyvsp[0].list); (yyval.node) = (PGNode *)n; } -#line 20587 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21310 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 91: /* alter_table_cmd: RESET reloptions */ + case 94: /* alter_table_cmd: RESET reloptions */ #line 401 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20594,10 +21317,10 @@ YYLTYPE yylloc = yyloc_default; n->def = (PGNode *)(yyvsp[0].list); (yyval.node) = (PGNode *)n; } -#line 20598 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21321 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 92: /* alter_table_cmd: alter_generic_options */ + case 95: /* alter_table_cmd: alter_generic_options */ #line 408 "third_party/libpg_query/grammar/statements/alter_table.y" { PGAlterTableCmd *n = makeNode(PGAlterTableCmd); @@ -20605,140 +21328,140 @@ YYLTYPE yylloc = yyloc_default; n->def = (PGNode *)(yyvsp[0].list); (yyval.node) = (PGNode *) n; } -#line 20609 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21332 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 93: /* alter_using: USING a_expr */ + case 96: /* alter_using: USING a_expr */ #line 418 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.node) = (yyvsp[0].node); } -#line 20615 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21338 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 94: /* alter_using: %empty */ + case 97: /* alter_using: %empty */ #line 419 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.node) = NULL; } -#line 20621 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21344 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 95: /* alter_generic_option_elem: generic_option_elem */ + case 98: /* alter_generic_option_elem: generic_option_elem */ #line 425 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.defelt) = (yyvsp[0].defelt); } -#line 20629 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21352 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 96: /* alter_generic_option_elem: SET generic_option_elem */ + case 99: /* alter_generic_option_elem: SET generic_option_elem */ #line 429 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.defelt) = (yyvsp[0].defelt); (yyval.defelt)->defaction = PG_DEFELEM_SET; } -#line 20638 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21361 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 97: /* alter_generic_option_elem: ADD_P generic_option_elem */ + case 100: /* alter_generic_option_elem: ADD_P generic_option_elem */ #line 434 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.defelt) = (yyvsp[0].defelt); (yyval.defelt)->defaction = PG_DEFELEM_ADD; } -#line 20647 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21370 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 98: /* alter_generic_option_elem: DROP generic_option_name */ + case 101: /* alter_generic_option_elem: DROP generic_option_name */ #line 439 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0])); } -#line 20655 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21378 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 99: /* alter_table_cmds: alter_table_cmd */ + case 102: /* alter_table_cmds: alter_table_cmd */ #line 446 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 20661 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21384 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 100: /* alter_table_cmds: alter_table_cmds ',' alter_table_cmd */ + case 103: /* alter_table_cmds: alter_table_cmds ',' alter_table_cmd */ #line 447 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 20667 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21390 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 101: /* alter_generic_options: OPTIONS '(' alter_generic_option_list ')' */ + case 104: /* alter_generic_options: OPTIONS '(' alter_generic_option_list ')' */ #line 452 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.list) = (yyvsp[-1].list); } -#line 20673 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21396 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 102: /* opt_set_data: SET DATA_P */ + case 105: /* opt_set_data: SET DATA_P */ #line 456 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.ival) = 1; } -#line 20679 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21402 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 103: /* opt_set_data: SET */ + case 106: /* opt_set_data: SET */ #line 457 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.ival) = 0; } -#line 20685 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21408 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 104: /* opt_set_data: %empty */ + case 107: /* opt_set_data: %empty */ #line 458 "third_party/libpg_query/grammar/statements/alter_table.y" { (yyval.ival) = 0; } -#line 20691 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21414 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 105: /* DeallocateStmt: DEALLOCATE name */ + case 108: /* DeallocateStmt: DEALLOCATE name */ #line 8 "third_party/libpg_query/grammar/statements/deallocate.y" { PGDeallocateStmt *n = makeNode(PGDeallocateStmt); n->name = (yyvsp[0].str); (yyval.node) = (PGNode *) n; } -#line 20701 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21424 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 106: /* DeallocateStmt: DEALLOCATE PREPARE name */ + case 109: /* DeallocateStmt: DEALLOCATE PREPARE name */ #line 14 "third_party/libpg_query/grammar/statements/deallocate.y" { PGDeallocateStmt *n = makeNode(PGDeallocateStmt); n->name = (yyvsp[0].str); (yyval.node) = (PGNode *) n; } -#line 20711 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21434 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 107: /* DeallocateStmt: DEALLOCATE ALL */ + case 110: /* DeallocateStmt: DEALLOCATE ALL */ #line 20 "third_party/libpg_query/grammar/statements/deallocate.y" { PGDeallocateStmt *n = makeNode(PGDeallocateStmt); n->name = NULL; (yyval.node) = (PGNode *) n; } -#line 20721 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21444 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 108: /* DeallocateStmt: DEALLOCATE PREPARE ALL */ + case 111: /* DeallocateStmt: DEALLOCATE PREPARE ALL */ #line 26 "third_party/libpg_query/grammar/statements/deallocate.y" { PGDeallocateStmt *n = makeNode(PGDeallocateStmt); n->name = NULL; (yyval.node) = (PGNode *) n; } -#line 20731 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21454 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 109: /* qualified_name: ColIdOrString */ + case 112: /* qualified_name: ColIdOrString */ #line 10 "third_party/libpg_query/grammar/statements/common.y" { (yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0])); } -#line 20739 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21462 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 110: /* qualified_name: ColId indirection */ + case 113: /* qualified_name: ColId indirection */ #line 14 "third_party/libpg_query/grammar/statements/common.y" { check_qualified_name((yyvsp[0].list), yyscanner); @@ -20765,108 +21488,108 @@ YYLTYPE yylloc = yyloc_default; break; } } -#line 20769 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21492 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 111: /* ColId: IDENT */ + case 114: /* ColId: IDENT */ #line 44 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = (yyvsp[0].str); } -#line 20775 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21498 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 112: /* ColId: unreserved_keyword */ + case 115: /* ColId: unreserved_keyword */ #line 45 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 20781 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21504 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 113: /* ColId: col_name_keyword */ + case 116: /* ColId: col_name_keyword */ #line 46 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 20787 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21510 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 114: /* ColId: pgq_unreserved_keyword */ + case 117: /* ColId: pgq_unreserved_keyword */ #line 47 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 20793 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21516 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 115: /* ColIdOrString: ColId */ + case 118: /* ColIdOrString: ColId */ #line 51 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = (yyvsp[0].str); } -#line 20799 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21522 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 116: /* ColIdOrString: SCONST */ + case 119: /* ColIdOrString: SCONST */ #line 52 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = (yyvsp[0].str); } -#line 20805 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21528 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 117: /* Sconst: SCONST */ + case 120: /* Sconst: SCONST */ #line 56 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = (yyvsp[0].str); } -#line 20811 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21534 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 118: /* indirection: indirection_el */ + case 121: /* indirection: indirection_el */ #line 60 "third_party/libpg_query/grammar/statements/common.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 20817 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21540 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 119: /* indirection: indirection indirection_el */ + case 122: /* indirection: indirection indirection_el */ #line 61 "third_party/libpg_query/grammar/statements/common.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } -#line 20823 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21546 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 120: /* indirection_el: '.' attr_name */ + case 123: /* indirection_el: '.' attr_name */ #line 66 "third_party/libpg_query/grammar/statements/common.y" { (yyval.node) = (PGNode *) makeString((yyvsp[0].str)); } -#line 20831 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21554 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 121: /* attr_name: ColLabel */ + case 124: /* attr_name: ColLabel */ #line 71 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = (yyvsp[0].str); } -#line 20837 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21560 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 122: /* ColLabel: IDENT */ + case 125: /* ColLabel: IDENT */ #line 76 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = (yyvsp[0].str); } -#line 20843 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21566 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 123: /* ColLabel: other_keyword */ + case 126: /* ColLabel: other_keyword */ #line 77 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 20849 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21572 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 124: /* ColLabel: unreserved_keyword */ + case 127: /* ColLabel: unreserved_keyword */ #line 78 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 20855 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21578 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 125: /* ColLabel: reserved_keyword */ + case 128: /* ColLabel: reserved_keyword */ #line 79 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 20861 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21584 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 126: /* ColLabel: pgq_unreserved_keyword */ + case 129: /* ColLabel: pgq_unreserved_keyword */ #line 80 "third_party/libpg_query/grammar/statements/common.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 20867 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21590 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 127: /* RenameStmt: ALTER SCHEMA name RENAME TO name */ + case 130: /* RenameStmt: ALTER SCHEMA name RENAME TO name */ #line 7 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -20876,10 +21599,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20880 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21603 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 128: /* RenameStmt: ALTER TABLE relation_expr RENAME TO name */ + case 131: /* RenameStmt: ALTER TABLE relation_expr RENAME TO name */ #line 16 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -20890,10 +21613,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20894 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21617 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 129: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME TO name */ + case 132: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME TO name */ #line 26 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -20904,10 +21627,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20908 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21631 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 130: /* RenameStmt: ALTER SEQUENCE qualified_name RENAME TO name */ + case 133: /* RenameStmt: ALTER SEQUENCE qualified_name RENAME TO name */ #line 36 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -20918,10 +21641,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20922 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21645 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 131: /* RenameStmt: ALTER SEQUENCE IF_P EXISTS qualified_name RENAME TO name */ + case 134: /* RenameStmt: ALTER SEQUENCE IF_P EXISTS qualified_name RENAME TO name */ #line 46 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -20932,10 +21655,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20936 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21659 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 132: /* RenameStmt: ALTER VIEW qualified_name RENAME TO name */ + case 135: /* RenameStmt: ALTER VIEW qualified_name RENAME TO name */ #line 56 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -20946,10 +21669,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20950 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21673 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 133: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME TO name */ + case 136: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME TO name */ #line 66 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -20960,10 +21683,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20964 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21687 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 134: /* RenameStmt: ALTER INDEX qualified_name RENAME TO name */ + case 137: /* RenameStmt: ALTER INDEX qualified_name RENAME TO name */ #line 76 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -20974,10 +21697,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 20978 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21701 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 135: /* RenameStmt: ALTER INDEX IF_P EXISTS qualified_name RENAME TO name */ + case 138: /* RenameStmt: ALTER INDEX IF_P EXISTS qualified_name RENAME TO name */ #line 86 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -20988,10 +21711,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 20992 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21715 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 136: /* RenameStmt: ALTER TABLE relation_expr RENAME opt_column name TO name */ + case 139: /* RenameStmt: ALTER TABLE relation_expr RENAME opt_column name TO name */ #line 96 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -21003,10 +21726,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 21007 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21730 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 137: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name */ + case 140: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name */ #line 107 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -21018,10 +21741,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 21022 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21745 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 138: /* RenameStmt: ALTER TABLE relation_expr RENAME CONSTRAINT name TO name */ + case 141: /* RenameStmt: ALTER TABLE relation_expr RENAME CONSTRAINT name TO name */ #line 118 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -21032,10 +21755,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 21036 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21759 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 139: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name */ + case 142: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name */ #line 128 "third_party/libpg_query/grammar/statements/rename.y" { PGRenameStmt *n = makeNode(PGRenameStmt); @@ -21046,22 +21769,22 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 21050 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21773 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 140: /* opt_column: COLUMN */ + case 143: /* opt_column: COLUMN */ #line 140 "third_party/libpg_query/grammar/statements/rename.y" { (yyval.ival) = COLUMN; } -#line 21056 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21779 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 141: /* opt_column: %empty */ + case 144: /* opt_column: %empty */ #line 141 "third_party/libpg_query/grammar/statements/rename.y" { (yyval.ival) = 0; } -#line 21062 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21785 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 142: /* InsertStmt: opt_with_clause INSERT opt_or_action INTO insert_target opt_by_name_or_position insert_rest opt_on_conflict returning_clause */ + case 145: /* InsertStmt: opt_with_clause INSERT opt_or_action INTO insert_target opt_by_name_or_position insert_rest opt_on_conflict returning_clause */ #line 11 "third_party/libpg_query/grammar/statements/insert.y" { (yyvsp[-2].istmt)->relation = (yyvsp[-4].range); @@ -21072,20 +21795,20 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-2].istmt)->insert_column_order = (yyvsp[-3].bynameorposition); (yyval.node) = (PGNode *) (yyvsp[-2].istmt); } -#line 21076 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21799 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 143: /* insert_rest: SelectStmt */ + case 146: /* insert_rest: SelectStmt */ #line 24 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.istmt) = makeNode(PGInsertStmt); (yyval.istmt)->cols = NIL; (yyval.istmt)->selectStmt = (yyvsp[0].node); } -#line 21086 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21809 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 144: /* insert_rest: OVERRIDING override_kind VALUE_P SelectStmt */ + case 147: /* insert_rest: OVERRIDING override_kind VALUE_P SelectStmt */ #line 30 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.istmt) = makeNode(PGInsertStmt); @@ -21093,20 +21816,20 @@ YYLTYPE yylloc = yyloc_default; (yyval.istmt)->override = (yyvsp[-2].override); (yyval.istmt)->selectStmt = (yyvsp[0].node); } -#line 21097 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21820 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 145: /* insert_rest: '(' insert_column_list ')' SelectStmt */ + case 148: /* insert_rest: '(' insert_column_list ')' SelectStmt */ #line 37 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.istmt) = makeNode(PGInsertStmt); (yyval.istmt)->cols = (yyvsp[-2].list); (yyval.istmt)->selectStmt = (yyvsp[0].node); } -#line 21107 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21830 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 146: /* insert_rest: '(' insert_column_list ')' OVERRIDING override_kind VALUE_P SelectStmt */ + case 149: /* insert_rest: '(' insert_column_list ')' OVERRIDING override_kind VALUE_P SelectStmt */ #line 43 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.istmt) = makeNode(PGInsertStmt); @@ -21114,55 +21837,55 @@ YYLTYPE yylloc = yyloc_default; (yyval.istmt)->override = (yyvsp[-2].override); (yyval.istmt)->selectStmt = (yyvsp[0].node); } -#line 21118 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21841 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 147: /* insert_rest: DEFAULT VALUES */ + case 150: /* insert_rest: DEFAULT VALUES */ #line 50 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.istmt) = makeNode(PGInsertStmt); (yyval.istmt)->cols = NIL; (yyval.istmt)->selectStmt = NULL; } -#line 21128 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21851 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 148: /* insert_target: qualified_name */ + case 151: /* insert_target: qualified_name */ #line 60 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.range) = (yyvsp[0].range); } -#line 21136 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21859 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 149: /* insert_target: qualified_name AS ColId */ + case 152: /* insert_target: qualified_name AS ColId */ #line 64 "third_party/libpg_query/grammar/statements/insert.y" { (yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL); (yyval.range) = (yyvsp[-2].range); } -#line 21145 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21868 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 150: /* opt_by_name_or_position: BY NAME_P */ + case 153: /* opt_by_name_or_position: BY NAME_P */ #line 71 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.bynameorposition) = PG_INSERT_BY_NAME; } -#line 21151 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21874 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 151: /* opt_by_name_or_position: BY POSITION */ + case 154: /* opt_by_name_or_position: BY POSITION */ #line 72 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.bynameorposition) = PG_INSERT_BY_POSITION; } -#line 21157 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21880 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 152: /* opt_by_name_or_position: %empty */ + case 155: /* opt_by_name_or_position: %empty */ #line 73 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.bynameorposition) = PG_INSERT_BY_POSITION; } -#line 21163 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21886 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 153: /* opt_conf_expr: '(' index_params ')' where_clause */ + case 156: /* opt_conf_expr: '(' index_params ')' where_clause */ #line 78 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.infer) = makeNode(PGInferClause); @@ -21171,10 +21894,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.infer)->conname = NULL; (yyval.infer)->location = (yylsp[-3]); } -#line 21175 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21898 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 154: /* opt_conf_expr: ON CONSTRAINT name */ + case 157: /* opt_conf_expr: ON CONSTRAINT name */ #line 87 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.infer) = makeNode(PGInferClause); @@ -21183,30 +21906,30 @@ YYLTYPE yylloc = yyloc_default; (yyval.infer)->conname = (yyvsp[0].str); (yyval.infer)->location = (yylsp[-2]); } -#line 21187 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21910 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 155: /* opt_conf_expr: %empty */ + case 158: /* opt_conf_expr: %empty */ #line 95 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.infer) = NULL; } -#line 21195 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21918 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 156: /* opt_with_clause: with_clause */ + case 159: /* opt_with_clause: with_clause */ #line 102 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.with) = (yyvsp[0].with); } -#line 21201 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21924 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 157: /* opt_with_clause: %empty */ + case 160: /* opt_with_clause: %empty */ #line 103 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.with) = NULL; } -#line 21207 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21930 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 158: /* insert_column_item: ColId opt_indirection */ + case 161: /* insert_column_item: ColId opt_indirection */ #line 109 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.target) = makeNode(PGResTarget); @@ -21215,19 +21938,19 @@ YYLTYPE yylloc = yyloc_default; (yyval.target)->val = NULL; (yyval.target)->location = (yylsp[-1]); } -#line 21219 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21942 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 159: /* set_clause: set_target '=' a_expr */ + case 162: /* set_clause: set_target '=' a_expr */ #line 121 "third_party/libpg_query/grammar/statements/insert.y" { (yyvsp[-2].target)->val = (PGNode *) (yyvsp[0].node); (yyval.list) = list_make1((yyvsp[-2].target)); } -#line 21228 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21951 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 160: /* set_clause: '(' set_target_list ')' '=' a_expr */ + case 163: /* set_clause: '(' set_target_list ')' '=' a_expr */ #line 126 "third_party/libpg_query/grammar/statements/insert.y" { int ncolumns = list_length((yyvsp[-3].list)); @@ -21249,34 +21972,34 @@ YYLTYPE yylloc = yyloc_default; (yyval.list) = (yyvsp[-3].list); } -#line 21253 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21976 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 161: /* opt_or_action: OR REPLACE */ + case 164: /* opt_or_action: OR REPLACE */ #line 151 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.onconflictshorthand) = PG_ONCONFLICT_ALIAS_REPLACE; } -#line 21261 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21984 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 162: /* opt_or_action: OR IGNORE_P */ + case 165: /* opt_or_action: OR IGNORE_P */ #line 156 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.onconflictshorthand) = PG_ONCONFLICT_ALIAS_IGNORE; } -#line 21269 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 21992 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 163: /* opt_or_action: %empty */ + case 166: /* opt_or_action: %empty */ #line 160 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.onconflictshorthand) = PG_ONCONFLICT_ALIAS_NONE; } -#line 21277 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22000 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 164: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list_opt_comma where_clause */ + case 167: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list_opt_comma where_clause */ #line 167 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.onconflict) = makeNode(PGOnConflictClause); @@ -21286,10 +22009,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.onconflict)->whereClause = (yyvsp[0].node); (yyval.onconflict)->location = (yylsp[-7]); } -#line 21290 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22013 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 165: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO NOTHING */ + case 168: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO NOTHING */ #line 177 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.onconflict) = makeNode(PGOnConflictClause); @@ -21299,18 +22022,18 @@ YYLTYPE yylloc = yyloc_default; (yyval.onconflict)->whereClause = NULL; (yyval.onconflict)->location = (yylsp[-4]); } -#line 21303 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22026 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 166: /* opt_on_conflict: %empty */ + case 169: /* opt_on_conflict: %empty */ #line 186 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.onconflict) = NULL; } -#line 21311 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22034 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 167: /* index_elem: ColId opt_collate opt_class opt_asc_desc opt_nulls_order */ + case 170: /* index_elem: ColId opt_collate opt_class opt_asc_desc opt_nulls_order */ #line 193 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.ielem) = makeNode(PGIndexElem); @@ -21322,10 +22045,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.ielem)->ordering = (yyvsp[-1].sortorder); (yyval.ielem)->nulls_ordering = (yyvsp[0].nullorder); } -#line 21326 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22049 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 168: /* index_elem: func_expr_windowless opt_collate opt_class opt_asc_desc opt_nulls_order */ + case 171: /* index_elem: func_expr_windowless opt_collate opt_class opt_asc_desc opt_nulls_order */ #line 204 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.ielem) = makeNode(PGIndexElem); @@ -21337,10 +22060,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.ielem)->ordering = (yyvsp[-1].sortorder); (yyval.ielem)->nulls_ordering = (yyvsp[0].nullorder); } -#line 21341 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22064 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 169: /* index_elem: '(' a_expr ')' opt_collate opt_class opt_asc_desc opt_nulls_order */ + case 172: /* index_elem: '(' a_expr ')' opt_collate opt_class opt_asc_desc opt_nulls_order */ #line 215 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.ielem) = makeNode(PGIndexElem); @@ -21352,118 +22075,118 @@ YYLTYPE yylloc = yyloc_default; (yyval.ielem)->ordering = (yyvsp[-1].sortorder); (yyval.ielem)->nulls_ordering = (yyvsp[0].nullorder); } -#line 21356 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22079 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 170: /* returning_clause: RETURNING target_list */ + case 173: /* returning_clause: RETURNING target_list */ #line 229 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = (yyvsp[0].list); } -#line 21362 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22085 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 171: /* returning_clause: %empty */ + case 174: /* returning_clause: %empty */ #line 230 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = NIL; } -#line 21368 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22091 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 172: /* override_kind: USER */ + case 175: /* override_kind: USER */ #line 236 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.override) = PG_OVERRIDING_USER_VALUE; } -#line 21374 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22097 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 173: /* override_kind: SYSTEM_P */ + case 176: /* override_kind: SYSTEM_P */ #line 237 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.override) = OVERRIDING_SYSTEM_VALUE; } -#line 21380 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22103 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 174: /* set_target_list: set_target */ + case 177: /* set_target_list: set_target */ #line 242 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = list_make1((yyvsp[0].target)); } -#line 21386 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22109 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 175: /* set_target_list: set_target_list ',' set_target */ + case 178: /* set_target_list: set_target_list ',' set_target */ #line 243 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); } -#line 21392 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22115 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 176: /* opt_collate: COLLATE any_name */ + case 179: /* opt_collate: COLLATE any_name */ #line 249 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = (yyvsp[0].list); } -#line 21398 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22121 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 177: /* opt_collate: %empty */ + case 180: /* opt_collate: %empty */ #line 250 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = NIL; } -#line 21404 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22127 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 178: /* opt_class: any_name */ + case 181: /* opt_class: any_name */ #line 254 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = (yyvsp[0].list); } -#line 21410 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22133 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 179: /* opt_class: %empty */ + case 182: /* opt_class: %empty */ #line 255 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = NIL; } -#line 21416 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22139 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 180: /* insert_column_list: insert_column_item */ + case 183: /* insert_column_list: insert_column_item */ #line 261 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = list_make1((yyvsp[0].target)); } -#line 21422 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22145 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 181: /* insert_column_list: insert_column_list ',' insert_column_item */ + case 184: /* insert_column_list: insert_column_list ',' insert_column_item */ #line 263 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); } -#line 21428 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22151 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 182: /* set_clause_list: set_clause */ + case 185: /* set_clause_list: set_clause */ #line 268 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = (yyvsp[0].list); } -#line 21434 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22157 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 183: /* set_clause_list: set_clause_list ',' set_clause */ + case 186: /* set_clause_list: set_clause_list ',' set_clause */ #line 269 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); } -#line 21440 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22163 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 184: /* set_clause_list_opt_comma: set_clause_list */ + case 187: /* set_clause_list_opt_comma: set_clause_list */ #line 273 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = (yyvsp[0].list); } -#line 21446 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22169 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 185: /* set_clause_list_opt_comma: set_clause_list ',' */ + case 188: /* set_clause_list_opt_comma: set_clause_list ',' */ #line 274 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = (yyvsp[-1].list); } -#line 21452 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22175 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 186: /* index_params: index_elem */ + case 189: /* index_params: index_elem */ #line 277 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = list_make1((yyvsp[0].ielem)); } -#line 21458 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22181 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 187: /* index_params: index_params ',' index_elem */ + case 190: /* index_params: index_params ',' index_elem */ #line 278 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); } -#line 21464 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22187 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 188: /* set_target: ColId opt_indirection */ + case 191: /* set_target: ColId opt_indirection */ #line 284 "third_party/libpg_query/grammar/statements/insert.y" { (yyval.target) = makeNode(PGResTarget); @@ -21472,10 +22195,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.target)->val = NULL; /* upper production sets this */ (yyval.target)->location = (yylsp[-1]); } -#line 21476 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22199 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 189: /* CreateTypeStmt: CREATE_P TYPE_P qualified_name AS ENUM_P select_with_parens */ + case 192: /* CreateTypeStmt: CREATE_P TYPE_P qualified_name AS ENUM_P select_with_parens */ #line 8 "third_party/libpg_query/grammar/statements/create_type.y" { PGCreateTypeStmt *n = makeNode(PGCreateTypeStmt); @@ -21485,10 +22208,10 @@ YYLTYPE yylloc = yyloc_default; n->vals = NULL; (yyval.node) = (PGNode *)n; } -#line 21489 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22212 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 190: /* CreateTypeStmt: CREATE_P TYPE_P qualified_name AS ENUM_P '(' opt_enum_val_list ')' */ + case 193: /* CreateTypeStmt: CREATE_P TYPE_P qualified_name AS ENUM_P '(' opt_enum_val_list ')' */ #line 17 "third_party/libpg_query/grammar/statements/create_type.y" { PGCreateTypeStmt *n = makeNode(PGCreateTypeStmt); @@ -21498,10 +22221,10 @@ YYLTYPE yylloc = yyloc_default; n->query = NULL; (yyval.node) = (PGNode *)n; } -#line 21502 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22225 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 191: /* CreateTypeStmt: CREATE_P TYPE_P qualified_name AS Typename */ + case 194: /* CreateTypeStmt: CREATE_P TYPE_P qualified_name AS Typename */ #line 26 "third_party/libpg_query/grammar/statements/create_type.y" { PGCreateTypeStmt *n = makeNode(PGCreateTypeStmt); @@ -21517,38 +22240,38 @@ YYLTYPE yylloc = yyloc_default; } (yyval.node) = (PGNode *)n; } -#line 21521 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22244 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 192: /* opt_enum_val_list: enum_val_list */ + case 195: /* opt_enum_val_list: enum_val_list */ #line 46 "third_party/libpg_query/grammar/statements/create_type.y" { (yyval.list) = (yyvsp[0].list);} -#line 21527 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22250 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 193: /* opt_enum_val_list: %empty */ + case 196: /* opt_enum_val_list: %empty */ #line 47 "third_party/libpg_query/grammar/statements/create_type.y" {(yyval.list) = NIL;} -#line 21533 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22256 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 194: /* enum_val_list: Sconst */ + case 197: /* enum_val_list: Sconst */ #line 51 "third_party/libpg_query/grammar/statements/create_type.y" { (yyval.list) = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0]))); } -#line 21541 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22264 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 195: /* enum_val_list: enum_val_list ',' Sconst */ + case 198: /* enum_val_list: enum_val_list ',' Sconst */ #line 55 "third_party/libpg_query/grammar/statements/create_type.y" { (yyval.list) = lappend((yyvsp[-2].list), makeStringConst((yyvsp[0].str), (yylsp[0]))); } -#line 21549 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22272 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 196: /* PragmaStmt: PRAGMA_P ColId */ + case 199: /* PragmaStmt: PRAGMA_P ColId */ #line 8 "third_party/libpg_query/grammar/statements/pragma.y" { PGPragmaStmt *n = makeNode(PGPragmaStmt); @@ -21556,10 +22279,10 @@ YYLTYPE yylloc = yyloc_default; n->name = (yyvsp[0].str); (yyval.node) = (PGNode *)n; } -#line 21560 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22283 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 197: /* PragmaStmt: PRAGMA_P ColId '=' var_list */ + case 200: /* PragmaStmt: PRAGMA_P ColId '=' var_list */ #line 15 "third_party/libpg_query/grammar/statements/pragma.y" { PGPragmaStmt *n = makeNode(PGPragmaStmt); @@ -21568,10 +22291,10 @@ YYLTYPE yylloc = yyloc_default; n->args = (yyvsp[0].list); (yyval.node) = (PGNode *)n; } -#line 21572 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22295 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 198: /* PragmaStmt: PRAGMA_P ColId '(' func_arg_list ')' */ + case 201: /* PragmaStmt: PRAGMA_P ColId '(' func_arg_list ')' */ #line 23 "third_party/libpg_query/grammar/statements/pragma.y" { PGPragmaStmt *n = makeNode(PGPragmaStmt); @@ -21580,10 +22303,10 @@ YYLTYPE yylloc = yyloc_default; n->args = (yyvsp[-1].list); (yyval.node) = (PGNode *)n; } -#line 21584 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22307 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 199: /* CreateSeqStmt: CREATE_P OptTemp SEQUENCE qualified_name OptSeqOptList */ + case 202: /* CreateSeqStmt: CREATE_P OptTemp SEQUENCE qualified_name OptSeqOptList */ #line 10 "third_party/libpg_query/grammar/statements/create_sequence.y" { PGCreateSeqStmt *n = makeNode(PGCreateSeqStmt); @@ -21594,10 +22317,10 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_ERROR_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 21598 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22321 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 200: /* CreateSeqStmt: CREATE_P OptTemp SEQUENCE IF_P NOT EXISTS qualified_name OptSeqOptList */ + case 203: /* CreateSeqStmt: CREATE_P OptTemp SEQUENCE IF_P NOT EXISTS qualified_name OptSeqOptList */ #line 20 "third_party/libpg_query/grammar/statements/create_sequence.y" { PGCreateSeqStmt *n = makeNode(PGCreateSeqStmt); @@ -21608,10 +22331,10 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_IGNORE_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 21612 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22335 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 201: /* CreateSeqStmt: CREATE_P OR REPLACE OptTemp SEQUENCE qualified_name OptSeqOptList */ + case 204: /* CreateSeqStmt: CREATE_P OR REPLACE OptTemp SEQUENCE qualified_name OptSeqOptList */ #line 30 "third_party/libpg_query/grammar/statements/create_sequence.y" { PGCreateSeqStmt *n = makeNode(PGCreateSeqStmt); @@ -21622,22 +22345,106 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_REPLACE_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 21626 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22349 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 202: /* OptSeqOptList: SeqOptList */ + case 205: /* OptSeqOptList: SeqOptList */ #line 42 "third_party/libpg_query/grammar/statements/create_sequence.y" { (yyval.list) = (yyvsp[0].list); } -#line 21632 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22355 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 203: /* OptSeqOptList: %empty */ + case 206: /* OptSeqOptList: %empty */ #line 43 "third_party/libpg_query/grammar/statements/create_sequence.y" { (yyval.list) = NIL; } -#line 21638 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22361 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 207: /* CreateSecretStmt: CREATE_P opt_persist SECRET opt_secret_name opt_storage_specifier '(' copy_generic_opt_list ')' */ +#line 8 "third_party/libpg_query/grammar/statements/create_secret.y" + { + PGCreateSecretStmt *n = makeNode(PGCreateSecretStmt); + n->persist_type = (yyvsp[-6].str); + n->secret_name = (yyvsp[-4].str); + n->secret_storage = (yyvsp[-3].str); + n->options = (yyvsp[-1].list); + n->onconflict = PG_ERROR_ON_CONFLICT; + (yyval.node) = (PGNode *)n; + } +#line 22375 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 208: /* CreateSecretStmt: CREATE_P opt_persist SECRET IF_P NOT EXISTS opt_secret_name opt_storage_specifier '(' copy_generic_opt_list ')' */ +#line 18 "third_party/libpg_query/grammar/statements/create_secret.y" + { + PGCreateSecretStmt *n = makeNode(PGCreateSecretStmt); + n->persist_type = (yyvsp[-9].str); + n->secret_name = (yyvsp[-4].str); + n->secret_storage = (yyvsp[-3].str); + n->options = (yyvsp[-1].list); + n->onconflict = PG_IGNORE_ON_CONFLICT; + (yyval.node) = (PGNode *)n; + } +#line 22389 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 209: /* CreateSecretStmt: CREATE_P OR REPLACE opt_persist SECRET opt_secret_name opt_storage_specifier '(' copy_generic_opt_list ')' */ +#line 28 "third_party/libpg_query/grammar/statements/create_secret.y" + { + PGCreateSecretStmt *n = makeNode(PGCreateSecretStmt); + n->persist_type = (yyvsp[-6].str); + n->secret_name = (yyvsp[-4].str); + n->secret_storage = (yyvsp[-3].str); + n->options = (yyvsp[-1].list); + n->onconflict = PG_REPLACE_ON_CONFLICT; + (yyval.node) = (PGNode *)n; + } +#line 22403 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 210: /* opt_secret_name: %empty */ +#line 40 "third_party/libpg_query/grammar/statements/create_secret.y" + { (yyval.str) = NULL; } +#line 22409 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 204: /* ExecuteStmt: EXECUTE name execute_param_clause */ + case 211: /* opt_secret_name: ColId */ +#line 41 "third_party/libpg_query/grammar/statements/create_secret.y" + { (yyval.str) = (yyvsp[0].str); } +#line 22415 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 212: /* opt_persist: %empty */ +#line 45 "third_party/libpg_query/grammar/statements/create_secret.y" + { (yyval.str) = pstrdup("default"); } +#line 22421 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 213: /* opt_persist: TEMPORARY */ +#line 46 "third_party/libpg_query/grammar/statements/create_secret.y" + { (yyval.str) = pstrdup("temporary"); } +#line 22427 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 214: /* opt_persist: PERSISTENT */ +#line 47 "third_party/libpg_query/grammar/statements/create_secret.y" + { (yyval.str) = pstrdup("persistent"); } +#line 22433 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 215: /* opt_storage_specifier: %empty */ +#line 51 "third_party/libpg_query/grammar/statements/create_secret.y" + { (yyval.str) = pstrdup(""); } +#line 22439 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 216: /* opt_storage_specifier: IN_P IDENT */ +#line 52 "third_party/libpg_query/grammar/statements/create_secret.y" + { (yyval.str) = (yyvsp[0].str); } +#line 22445 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 217: /* ExecuteStmt: EXECUTE name execute_param_clause */ #line 8 "third_party/libpg_query/grammar/statements/execute.y" { PGExecuteStmt *n = makeNode(PGExecuteStmt); @@ -21645,10 +22452,10 @@ YYLTYPE yylloc = yyloc_default; n->params = (yyvsp[0].list); (yyval.node) = (PGNode *) n; } -#line 21649 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22456 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 205: /* ExecuteStmt: CREATE_P OptTemp TABLE create_as_target AS EXECUTE name execute_param_clause opt_with_data */ + case 218: /* ExecuteStmt: CREATE_P OptTemp TABLE create_as_target AS EXECUTE name execute_param_clause opt_with_data */ #line 16 "third_party/libpg_query/grammar/statements/execute.y" { PGCreateTableAsStmt *ctas = makeNode(PGCreateTableAsStmt); @@ -21665,10 +22472,10 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean)); (yyval.node) = (PGNode *) ctas; } -#line 21669 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22476 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 206: /* ExecuteStmt: CREATE_P OptTemp TABLE IF_P NOT EXISTS create_as_target AS EXECUTE name execute_param_clause opt_with_data */ + case 219: /* ExecuteStmt: CREATE_P OptTemp TABLE IF_P NOT EXISTS create_as_target AS EXECUTE name execute_param_clause opt_with_data */ #line 33 "third_party/libpg_query/grammar/statements/execute.y" { PGCreateTableAsStmt *ctas = makeNode(PGCreateTableAsStmt); @@ -21685,18 +22492,18 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean)); (yyval.node) = (PGNode *) ctas; } -#line 21689 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22496 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 207: /* execute_param_expr: a_expr */ + case 220: /* execute_param_expr: a_expr */ #line 52 "third_party/libpg_query/grammar/statements/execute.y" { (yyval.node) = (yyvsp[0].node); } -#line 21697 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22504 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 208: /* execute_param_expr: param_name COLON_EQUALS a_expr */ + case 221: /* execute_param_expr: param_name COLON_EQUALS a_expr */ #line 56 "third_party/libpg_query/grammar/statements/execute.y" { PGNamedArgExpr *na = makeNode(PGNamedArgExpr); @@ -21706,38 +22513,38 @@ YYLTYPE yylloc = yyloc_default; na->location = (yylsp[-2]); (yyval.node) = (PGNode *) na; } -#line 21710 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22517 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 209: /* execute_param_list: execute_param_expr */ + case 222: /* execute_param_list: execute_param_expr */ #line 66 "third_party/libpg_query/grammar/statements/execute.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 21718 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22525 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 210: /* execute_param_list: execute_param_list ',' execute_param_expr */ + case 223: /* execute_param_list: execute_param_list ',' execute_param_expr */ #line 70 "third_party/libpg_query/grammar/statements/execute.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 21726 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22533 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 211: /* execute_param_clause: '(' execute_param_list ')' */ + case 224: /* execute_param_clause: '(' execute_param_list ')' */ #line 75 "third_party/libpg_query/grammar/statements/execute.y" { (yyval.list) = (yyvsp[-1].list); } -#line 21732 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22539 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 212: /* execute_param_clause: %empty */ + case 225: /* execute_param_clause: %empty */ #line 76 "third_party/libpg_query/grammar/statements/execute.y" { (yyval.list) = NIL; } -#line 21738 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22545 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 213: /* AlterSeqStmt: ALTER SEQUENCE qualified_name SeqOptList */ + case 226: /* AlterSeqStmt: ALTER SEQUENCE qualified_name SeqOptList */ #line 10 "third_party/libpg_query/grammar/statements/alter_sequence.y" { PGAlterSeqStmt *n = makeNode(PGAlterSeqStmt); @@ -21746,10 +22553,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 21750 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22557 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 214: /* AlterSeqStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SeqOptList */ + case 227: /* AlterSeqStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SeqOptList */ #line 18 "third_party/libpg_query/grammar/statements/alter_sequence.y" { PGAlterSeqStmt *n = makeNode(PGAlterSeqStmt); @@ -21758,210 +22565,248 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 21762 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22569 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 215: /* SeqOptList: SeqOptElem */ + case 228: /* SeqOptList: SeqOptElem */ #line 29 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.list) = list_make1((yyvsp[0].defelt)); } -#line 21768 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22575 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 216: /* SeqOptList: SeqOptList SeqOptElem */ + case 229: /* SeqOptList: SeqOptList SeqOptElem */ #line 30 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); } -#line 21774 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22581 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 217: /* opt_with: WITH */ + case 230: /* opt_with: WITH */ #line 34 "third_party/libpg_query/grammar/statements/alter_sequence.y" {} -#line 21780 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22587 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 218: /* opt_with: WITH_LA */ + case 231: /* opt_with: WITH_LA */ #line 35 "third_party/libpg_query/grammar/statements/alter_sequence.y" {} -#line 21786 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22593 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 219: /* opt_with: %empty */ + case 232: /* opt_with: %empty */ #line 36 "third_party/libpg_query/grammar/statements/alter_sequence.y" {} -#line 21792 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22599 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 220: /* NumericOnly: FCONST */ + case 233: /* NumericOnly: FCONST */ #line 41 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.value) = makeFloat((yyvsp[0].str)); } -#line 21798 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22605 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 221: /* NumericOnly: '+' FCONST */ + case 234: /* NumericOnly: '+' FCONST */ #line 42 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.value) = makeFloat((yyvsp[0].str)); } -#line 21804 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22611 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 222: /* NumericOnly: '-' FCONST */ + case 235: /* NumericOnly: '-' FCONST */ #line 44 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.value) = makeFloat((yyvsp[0].str)); doNegateFloat((yyval.value)); } -#line 21813 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22620 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 223: /* NumericOnly: SignedIconst */ + case 236: /* NumericOnly: SignedIconst */ #line 48 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.value) = makeInteger((yyvsp[0].ival)); } -#line 21819 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22626 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 224: /* SeqOptElem: AS SimpleTypename */ + case 237: /* SeqOptElem: AS SimpleTypename */ #line 53 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("as", (PGNode *)(yyvsp[0].typnam), (yylsp[-1])); } -#line 21827 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22634 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 225: /* SeqOptElem: CACHE NumericOnly */ + case 238: /* SeqOptElem: CACHE NumericOnly */ #line 57 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("cache", (PGNode *)(yyvsp[0].value), (yylsp[-1])); } -#line 21835 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22642 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 226: /* SeqOptElem: CYCLE */ + case 239: /* SeqOptElem: CYCLE */ #line 61 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("cycle", (PGNode *)makeInteger(true), (yylsp[0])); } -#line 21843 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22650 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 227: /* SeqOptElem: NO CYCLE */ + case 240: /* SeqOptElem: NO CYCLE */ #line 65 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("cycle", (PGNode *)makeInteger(false), (yylsp[-1])); } -#line 21851 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22658 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 228: /* SeqOptElem: INCREMENT opt_by NumericOnly */ + case 241: /* SeqOptElem: INCREMENT opt_by NumericOnly */ #line 69 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("increment", (PGNode *)(yyvsp[0].value), (yylsp[-2])); } -#line 21859 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22666 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 229: /* SeqOptElem: MAXVALUE NumericOnly */ + case 242: /* SeqOptElem: MAXVALUE NumericOnly */ #line 73 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("maxvalue", (PGNode *)(yyvsp[0].value), (yylsp[-1])); } -#line 21867 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22674 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 230: /* SeqOptElem: MINVALUE NumericOnly */ + case 243: /* SeqOptElem: MINVALUE NumericOnly */ #line 77 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("minvalue", (PGNode *)(yyvsp[0].value), (yylsp[-1])); } -#line 21875 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22682 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 231: /* SeqOptElem: NO MAXVALUE */ + case 244: /* SeqOptElem: NO MAXVALUE */ #line 81 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1])); } -#line 21883 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22690 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 232: /* SeqOptElem: NO MINVALUE */ + case 245: /* SeqOptElem: NO MINVALUE */ #line 85 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1])); } -#line 21891 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22698 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 233: /* SeqOptElem: OWNED BY any_name */ + case 246: /* SeqOptElem: OWNED BY any_name */ #line 89 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("owned_by", (PGNode *)(yyvsp[0].list), (yylsp[-2])); } -#line 21899 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22706 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 234: /* SeqOptElem: SEQUENCE NAME_P any_name */ + case 247: /* SeqOptElem: SEQUENCE NAME_P any_name */ #line 93 "third_party/libpg_query/grammar/statements/alter_sequence.y" { /* not documented, only used by pg_dump */ (yyval.defelt) = makeDefElem("sequence_name", (PGNode *)(yyvsp[0].list), (yylsp[-2])); } -#line 21908 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22715 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 235: /* SeqOptElem: START opt_with NumericOnly */ + case 248: /* SeqOptElem: START opt_with NumericOnly */ #line 98 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("start", (PGNode *)(yyvsp[0].value), (yylsp[-2])); } -#line 21916 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22723 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 236: /* SeqOptElem: RESTART */ + case 249: /* SeqOptElem: RESTART */ #line 102 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0])); } -#line 21924 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22731 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 237: /* SeqOptElem: RESTART opt_with NumericOnly */ + case 250: /* SeqOptElem: RESTART opt_with NumericOnly */ #line 106 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.defelt) = makeDefElem("restart", (PGNode *)(yyvsp[0].value), (yylsp[-2])); } -#line 21932 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22739 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 238: /* opt_by: BY */ + case 251: /* opt_by: BY */ #line 112 "third_party/libpg_query/grammar/statements/alter_sequence.y" {} -#line 21938 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22745 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 239: /* opt_by: %empty */ + case 252: /* opt_by: %empty */ #line 113 "third_party/libpg_query/grammar/statements/alter_sequence.y" {} -#line 21944 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22751 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 240: /* SignedIconst: Iconst */ + case 253: /* SignedIconst: Iconst */ #line 117 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.ival) = (yyvsp[0].ival); } -#line 21950 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22757 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 241: /* SignedIconst: '+' Iconst */ + case 254: /* SignedIconst: '+' Iconst */ #line 118 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.ival) = + (yyvsp[0].ival); } -#line 21956 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22763 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 242: /* SignedIconst: '-' Iconst */ + case 255: /* SignedIconst: '-' Iconst */ #line 119 "third_party/libpg_query/grammar/statements/alter_sequence.y" { (yyval.ival) = - (yyvsp[0].ival); } -#line 21962 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22769 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 256: /* DropSecretStmt: DROP opt_persist SECRET ColId opt_storage_drop_specifier */ +#line 8 "third_party/libpg_query/grammar/statements/drop_secret.y" + { + PGDropSecretStmt *n = makeNode(PGDropSecretStmt); + n->persist_type = (yyvsp[-3].str); + n->secret_name = (yyvsp[-1].str); + n->secret_storage = (yyvsp[0].str); + n->missing_ok = false; + (yyval.node) = (PGNode *)n; + } +#line 22782 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 257: /* DropSecretStmt: DROP opt_persist SECRET IF_P EXISTS ColId opt_storage_drop_specifier */ +#line 17 "third_party/libpg_query/grammar/statements/drop_secret.y" + { + PGDropSecretStmt *n = makeNode(PGDropSecretStmt); + n->persist_type = (yyvsp[-5].str); + n->secret_name = (yyvsp[-1].str); + n->secret_storage = (yyvsp[0].str); + n->missing_ok = true; + (yyval.node) = (PGNode *)n; + } +#line 22795 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 258: /* opt_storage_drop_specifier: %empty */ +#line 28 "third_party/libpg_query/grammar/statements/drop_secret.y" + { (yyval.str) = pstrdup(""); } +#line 22801 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 259: /* opt_storage_drop_specifier: FROM IDENT */ +#line 29 "third_party/libpg_query/grammar/statements/drop_secret.y" + { (yyval.str) = (yyvsp[0].str); } +#line 22807 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 243: /* TransactionStmt: ABORT_P opt_transaction */ + case 260: /* TransactionStmt: ABORT_P opt_transaction */ #line 3 "third_party/libpg_query/grammar/statements/transaction.y" { PGTransactionStmt *n = makeNode(PGTransactionStmt); @@ -21969,30 +22814,30 @@ YYLTYPE yylloc = yyloc_default; n->options = NIL; (yyval.node) = (PGNode *)n; } -#line 21973 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22818 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 244: /* TransactionStmt: BEGIN_P opt_transaction */ + case 261: /* TransactionStmt: BEGIN_P opt_transaction */ #line 10 "third_party/libpg_query/grammar/statements/transaction.y" { PGTransactionStmt *n = makeNode(PGTransactionStmt); n->kind = PG_TRANS_STMT_BEGIN; (yyval.node) = (PGNode *)n; } -#line 21983 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22828 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 245: /* TransactionStmt: START opt_transaction */ + case 262: /* TransactionStmt: START opt_transaction */ #line 16 "third_party/libpg_query/grammar/statements/transaction.y" { PGTransactionStmt *n = makeNode(PGTransactionStmt); n->kind = PG_TRANS_STMT_START; (yyval.node) = (PGNode *)n; } -#line 21993 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22838 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 246: /* TransactionStmt: COMMIT opt_transaction */ + case 263: /* TransactionStmt: COMMIT opt_transaction */ #line 22 "third_party/libpg_query/grammar/statements/transaction.y" { PGTransactionStmt *n = makeNode(PGTransactionStmt); @@ -22000,10 +22845,10 @@ YYLTYPE yylloc = yyloc_default; n->options = NIL; (yyval.node) = (PGNode *)n; } -#line 22004 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22849 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 247: /* TransactionStmt: END_P opt_transaction */ + case 264: /* TransactionStmt: END_P opt_transaction */ #line 29 "third_party/libpg_query/grammar/statements/transaction.y" { PGTransactionStmt *n = makeNode(PGTransactionStmt); @@ -22011,10 +22856,10 @@ YYLTYPE yylloc = yyloc_default; n->options = NIL; (yyval.node) = (PGNode *)n; } -#line 22015 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22860 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 248: /* TransactionStmt: ROLLBACK opt_transaction */ + case 265: /* TransactionStmt: ROLLBACK opt_transaction */ #line 36 "third_party/libpg_query/grammar/statements/transaction.y" { PGTransactionStmt *n = makeNode(PGTransactionStmt); @@ -22022,56 +22867,56 @@ YYLTYPE yylloc = yyloc_default; n->options = NIL; (yyval.node) = (PGNode *)n; } -#line 22026 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22871 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 249: /* opt_transaction: WORK */ + case 266: /* opt_transaction: WORK */ #line 45 "third_party/libpg_query/grammar/statements/transaction.y" {} -#line 22032 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22877 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 250: /* opt_transaction: TRANSACTION */ + case 267: /* opt_transaction: TRANSACTION */ #line 46 "third_party/libpg_query/grammar/statements/transaction.y" {} -#line 22038 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22883 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 251: /* opt_transaction: %empty */ + case 268: /* opt_transaction: %empty */ #line 47 "third_party/libpg_query/grammar/statements/transaction.y" {} -#line 22044 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22889 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 252: /* UseStmt: USE_P qualified_name */ + case 269: /* UseStmt: USE_P qualified_name */ #line 3 "third_party/libpg_query/grammar/statements/use.y" { PGUseStmt *n = makeNode(PGUseStmt); n->name = (yyvsp[0].range); (yyval.node) = (PGNode *) n; } -#line 22054 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22899 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 253: /* PGQ_IDENT: IDENT */ + case 270: /* PGQ_IDENT: IDENT */ #line 40 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = (yyvsp[0].str); } -#line 22060 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22905 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 254: /* PGQ_IDENT: unreserved_keyword */ + case 271: /* PGQ_IDENT: unreserved_keyword */ #line 41 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 22066 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22911 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 255: /* PGQ_IDENT: pgq_col_name_keyword */ + case 272: /* PGQ_IDENT: pgq_col_name_keyword */ #line 42 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 22072 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22917 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 256: /* DropPropertyGraphStmt: DROP PROPERTY GRAPH qualified_name opt_drop_behavior */ + case 273: /* DropPropertyGraphStmt: DROP PROPERTY GRAPH qualified_name opt_drop_behavior */ #line 51 "third_party/libpg_query/grammar/statements/pgq.y" { PGDropPropertyGraphStmt *n = makeNode(PGDropPropertyGraphStmt); @@ -22079,22 +22924,22 @@ YYLTYPE yylloc = yyloc_default; n->behavior = (yyvsp[0].dbehavior); (yyval.node) = (PGNode *)n; } -#line 22083 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22928 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 261: /* EdgeTablesClauseOptional: EdgeOrRelationship TABLES '(' EdgeTableDefinition EdgeTableDefinitionList ')' */ + case 278: /* EdgeTablesClauseOptional: EdgeOrRelationship TABLES '(' EdgeTableDefinition EdgeTableDefinitionList ')' */ #line 76 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[-1].list)?lappend((yyvsp[-1].list),(yyvsp[-2].node)):list_make1((yyvsp[-2].node)); } -#line 22089 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22934 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 262: /* EdgeTablesClauseOptional: %empty */ + case 279: /* EdgeTablesClauseOptional: %empty */ #line 78 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = NULL; } -#line 22095 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22940 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 263: /* CreatePropertyGraphStmt: CREATE_P PROPERTY GRAPH qualified_name VertexOrNode TABLES '(' VertexTableDefinition VertexTableDefinitionList ')' EdgeTablesClauseOptional */ + case 280: /* CreatePropertyGraphStmt: CREATE_P PROPERTY GRAPH qualified_name VertexOrNode TABLES '(' VertexTableDefinition VertexTableDefinitionList ')' EdgeTablesClauseOptional */ #line 85 "third_party/libpg_query/grammar/statements/pgq.y" { PGCreatePropertyGraphStmt *n = makeNode(PGCreatePropertyGraphStmt); @@ -22103,64 +22948,64 @@ YYLTYPE yylloc = yyloc_default; n->edge_tables = (yyvsp[0].list); (yyval.node) = (PGNode *)n; } -#line 22107 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22952 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 264: /* VertexTableDefinitionList: ',' VertexTableDefinition VertexTableDefinitionList */ + case 281: /* VertexTableDefinitionList: ',' VertexTableDefinition VertexTableDefinitionList */ #line 96 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[0].list)?lappend((yyvsp[0].list),(yyvsp[-1].node)):list_make1((yyvsp[-1].node)); } -#line 22113 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22958 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 265: /* VertexTableDefinitionList: %empty */ + case 282: /* VertexTableDefinitionList: %empty */ #line 98 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = NULL; } -#line 22119 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22964 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 266: /* KeySpecification: '(' name_list ')' */ + case 283: /* KeySpecification: '(' name_list ')' */ #line 102 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[-1].list); } -#line 22125 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22970 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 267: /* KeyDefinition: KEY KeySpecification */ + case 284: /* KeyDefinition: KEY KeySpecification */ #line 106 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[0].list); } -#line 22131 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22976 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 268: /* KeyReference: KeyDefinition REFERENCES */ + case 285: /* KeyReference: KeyDefinition REFERENCES */ #line 110 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[-1].list); } -#line 22137 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22982 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 269: /* LabelList: PGQ_IDENT */ + case 286: /* LabelList: PGQ_IDENT */ #line 114 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } -#line 22143 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22988 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 270: /* LabelList: LabelList ',' PGQ_IDENT */ + case 287: /* LabelList: LabelList ',' PGQ_IDENT */ #line 115 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); } -#line 22149 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 22994 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 271: /* LabelOptional: LABEL PGQ_IDENT */ + case 288: /* LabelOptional: LABEL PGQ_IDENT */ #line 119 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = (yyvsp[0].str); } -#line 22155 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23000 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 272: /* LabelOptional: %empty */ + case 289: /* LabelOptional: %empty */ #line 120 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = NULL; } -#line 22161 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23006 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 273: /* Discriminator: IN_P qualified_name '(' LabelList ')' */ + case 290: /* Discriminator: IN_P qualified_name '(' LabelList ')' */ #line 125 "third_party/libpg_query/grammar/statements/pgq.y" { PGPropertyGraphTable *n = makeNode(PGPropertyGraphTable); @@ -22168,10 +23013,10 @@ YYLTYPE yylloc = yyloc_default; n->labels = (yyvsp[-1].list); /* there is a list of up to 64 labels */ (yyval.node) = (PGNode*) n; } -#line 22172 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23017 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 274: /* Discriminator: %empty */ + case 291: /* Discriminator: %empty */ #line 133 "third_party/libpg_query/grammar/statements/pgq.y" { PGPropertyGraphTable *n = makeNode(PGPropertyGraphTable); @@ -22179,10 +23024,10 @@ YYLTYPE yylloc = yyloc_default; n->labels = NULL; /* no list, just the single staring PGQ_IDENT */ (yyval.node) = (PGNode*) n; } -#line 22183 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23028 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 275: /* VertexTableDefinition: QualifiednameOptionalAs PropertiesClause LabelOptional Discriminator */ + case 292: /* VertexTableDefinition: QualifiednameOptionalAs PropertiesClause LabelOptional Discriminator */ #line 144 "third_party/libpg_query/grammar/statements/pgq.y" { PGPropertyGraphTable *n = (PGPropertyGraphTable*) (yyvsp[0].node); @@ -22194,22 +23039,22 @@ YYLTYPE yylloc = yyloc_default; n->is_vertex_table = true; (yyval.node) = (PGNode *) n; } -#line 22198 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23043 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 276: /* EdgeTableDefinitionList: ',' EdgeTableDefinition EdgeTableDefinitionList */ + case 293: /* EdgeTableDefinitionList: ',' EdgeTableDefinition EdgeTableDefinitionList */ #line 158 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[0].list)?lappend((yyvsp[0].list),(yyvsp[-1].node)):list_make1((yyvsp[-1].node)); } -#line 22204 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23049 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 277: /* EdgeTableDefinitionList: %empty */ + case 294: /* EdgeTableDefinitionList: %empty */ #line 160 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = NULL; } -#line 22210 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23055 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 278: /* EdgeTableDefinition: QualifiednameOptionalAs SOURCE KeyReference qualified_name KeySpecification DESTINATION KeyReference qualified_name KeySpecification PropertiesClause LabelOptional Discriminator */ + case 295: /* EdgeTableDefinition: QualifiednameOptionalAs SOURCE KeyReference qualified_name KeySpecification DESTINATION KeyReference qualified_name KeySpecification PropertiesClause LabelOptional Discriminator */ #line 168 "third_party/libpg_query/grammar/statements/pgq.y" { PGPropertyGraphTable *n = (PGPropertyGraphTable*) (yyvsp[0].node); @@ -22227,115 +23072,115 @@ YYLTYPE yylloc = yyloc_default; else n->labels = list_make1(makeString((yyvsp[-1].str))); (yyval.node) = (PGNode *) n; } -#line 22231 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23076 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 281: /* IdentOptionalAs: PGQ_IDENT */ + case 298: /* IdentOptionalAs: PGQ_IDENT */ #line 193 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = list_make2(makeString((yyvsp[0].str)), makeString((yyvsp[0].str))); } -#line 22237 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23082 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 282: /* IdentOptionalAs: PGQ_IDENT AS PGQ_IDENT */ + case 299: /* IdentOptionalAs: PGQ_IDENT AS PGQ_IDENT */ #line 195 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str))); } -#line 22243 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23088 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 283: /* QualifiednameOptionalAs: qualified_name */ + case 300: /* QualifiednameOptionalAs: qualified_name */ #line 199 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = list_make2((yyvsp[0].range), makeString("")); } -#line 22249 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23094 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 284: /* QualifiednameOptionalAs: qualified_name AS PGQ_IDENT */ + case 301: /* QualifiednameOptionalAs: qualified_name AS PGQ_IDENT */ #line 201 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = list_make2((yyvsp[-2].range), makeString((yyvsp[0].str))); } -#line 22255 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23100 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 285: /* PropertiesList: IdentOptionalAs */ + case 302: /* PropertiesList: IdentOptionalAs */ #line 205 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = list_make1((yyvsp[0].list)); } -#line 22261 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23106 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 286: /* PropertiesList: PropertiesList ',' IdentOptionalAs */ + case 303: /* PropertiesList: PropertiesList ',' IdentOptionalAs */ #line 208 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); } -#line 22267 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23112 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 287: /* ExceptOptional: EXCEPT '(' PropertiesList ')' */ + case 304: /* ExceptOptional: EXCEPT '(' PropertiesList ')' */ #line 213 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[-1].list); } -#line 22273 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23118 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 288: /* ExceptOptional: %empty */ + case 305: /* ExceptOptional: %empty */ #line 215 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = NULL; } -#line 22279 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23124 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 289: /* PropertiesSpec: AreOptional ALL COLUMNS ExceptOptional */ + case 306: /* PropertiesSpec: AreOptional ALL COLUMNS ExceptOptional */ #line 220 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = list_make1(list_make2(makeString("*"), makeString("*"))); if ((yyvsp[0].list)) (yyval.list) = list_concat((yyval.list),(yyvsp[0].list)); } -#line 22288 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23133 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 290: /* PropertiesSpec: '(' PropertiesList ')' */ + case 307: /* PropertiesSpec: '(' PropertiesList ')' */ #line 225 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[-1].list); } -#line 22294 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23139 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 291: /* PropertiesClause: NO PROPERTIES */ + case 308: /* PropertiesClause: NO PROPERTIES */ #line 229 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = NULL; } -#line 22300 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23145 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 292: /* PropertiesClause: PROPERTIES PropertiesSpec */ + case 309: /* PropertiesClause: PROPERTIES PropertiesSpec */ #line 232 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[0].list); } -#line 22306 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23151 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 293: /* PropertiesClause: %empty */ + case 310: /* PropertiesClause: %empty */ #line 234 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = list_make1(list_make2(makeString("*"), makeString("*"))); } -#line 22312 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23157 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 294: /* GraphTableWhereOptional: WHERE pgq_expr */ + case 311: /* GraphTableWhereOptional: WHERE pgq_expr */ #line 243 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (yyvsp[0].node); } -#line 22318 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23163 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 295: /* GraphTableWhereOptional: %empty */ + case 312: /* GraphTableWhereOptional: %empty */ #line 245 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = NULL; } -#line 22324 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23169 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 296: /* GraphTableNameOptional: qualified_name */ + case 313: /* GraphTableNameOptional: qualified_name */ #line 249 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.range) = (yyvsp[0].range); } -#line 22330 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23175 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 297: /* GraphTableNameOptional: %empty */ + case 314: /* GraphTableNameOptional: %empty */ #line 251 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.range) = NULL; } -#line 22336 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23181 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 298: /* GraphTableStmt: '(' PGQ_IDENT MATCH PathPatternList KeepOptional GraphTableWhereOptional COLUMNS '(' ColumnList ')' ')' GraphTableNameOptional */ + case 315: /* GraphTableStmt: '(' PGQ_IDENT MATCH PathPatternList KeepOptional GraphTableWhereOptional COLUMNS '(' ColumnList ')' ')' GraphTableNameOptional */ #line 257 "third_party/libpg_query/grammar/statements/pgq.y" { PGMatchClause *n = makeNode(PGMatchClause); @@ -22358,112 +23203,112 @@ YYLTYPE yylloc = yyloc_default; n->graph_table = (yyvsp[0].range); (yyval.node) = (PGNode *) n; } -#line 22362 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23207 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 299: /* ColumnSpec: target_el */ + case 316: /* ColumnSpec: target_el */ #line 281 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = list_make2(makeInteger(PG_COLUMNSPEC_EXPR), (yyvsp[0].target)); } -#line 22368 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23213 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 300: /* ColumnList: ColumnSpec */ + case 317: /* ColumnList: ColumnSpec */ #line 285 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = list_make1((yyvsp[0].list)); } -#line 22374 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23219 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 301: /* ColumnList: ColumnList ',' ColumnSpec */ + case 318: /* ColumnList: ColumnList ',' ColumnSpec */ #line 287 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); } -#line 22380 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23225 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 302: /* KeepOptional: KEEP PathPrefix */ + case 319: /* KeepOptional: KEEP PathPrefix */ #line 291 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (yyvsp[0].node); } -#line 22386 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23231 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 303: /* KeepOptional: %empty */ + case 320: /* KeepOptional: %empty */ #line 293 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = NULL; } -#line 22392 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23237 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 307: /* GroupOrGroupsOptional: GROUP_P */ + case 324: /* GroupOrGroupsOptional: GROUP_P */ #line 301 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = 1; } -#line 22398 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23243 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 308: /* GroupOrGroupsOptional: GROUPS */ + case 325: /* GroupOrGroupsOptional: GROUPS */ #line 303 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = 1; } -#line 22404 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23249 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 309: /* GroupOrGroupsOptional: %empty */ + case 326: /* GroupOrGroupsOptional: %empty */ #line 305 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = 0; } -#line 22410 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23255 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 310: /* PathVariableOptional: PGQ_IDENT '=' */ + case 327: /* PathVariableOptional: PGQ_IDENT '=' */ #line 309 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.keyword) = (yyvsp[-1].str); } -#line 22416 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23261 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 311: /* PathVariableOptional: %empty */ + case 328: /* PathVariableOptional: %empty */ #line 311 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.keyword) = NULL;} -#line 22422 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23267 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 312: /* PathModeOptional: WALK PathOrPathsOptional */ + case 329: /* PathModeOptional: WALK PathOrPathsOptional */ #line 315 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = PG_PATHMODE_WALK; } -#line 22428 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23273 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 313: /* PathModeOptional: TRAIL PathOrPathsOptional */ + case 330: /* PathModeOptional: TRAIL PathOrPathsOptional */ #line 317 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = PG_PATHMODE_TRAIL; } -#line 22434 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23279 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 314: /* PathModeOptional: SIMPLE PathOrPathsOptional */ + case 331: /* PathModeOptional: SIMPLE PathOrPathsOptional */ #line 319 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = PG_PATHMODE_SIMPLE; } -#line 22440 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23285 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 315: /* PathModeOptional: ACYCLIC PathOrPathsOptional */ + case 332: /* PathModeOptional: ACYCLIC PathOrPathsOptional */ #line 321 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = PG_PATHMODE_ACYCLIC; } -#line 22446 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23291 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 316: /* PathModeOptional: PathOrPathsOptional */ + case 333: /* PathModeOptional: PathOrPathsOptional */ #line 323 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = PG_PATHMODE_WALK; } -#line 22452 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23297 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 317: /* TopKOptional: ICONST */ + case 334: /* TopKOptional: ICONST */ #line 327 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = (yyvsp[0].ival); } -#line 22458 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23303 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 318: /* TopKOptional: %empty */ + case 335: /* TopKOptional: %empty */ #line 329 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = 0; } -#line 22464 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23309 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 319: /* PathPrefix: ANY SHORTEST PathModeOptional */ + case 336: /* PathPrefix: ANY SHORTEST PathModeOptional */ #line 334 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathPattern *n = makeNode(PGPathPattern); @@ -22475,10 +23320,10 @@ YYLTYPE yylloc = yyloc_default; n->topk = 1; (yyval.node) = (PGNode*) n; } -#line 22479 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23324 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 320: /* PathPrefix: SHORTEST ICONST PathModeOptional GroupOrGroupsOptional */ + case 337: /* PathPrefix: SHORTEST ICONST PathModeOptional GroupOrGroupsOptional */ #line 346 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathPattern *n = makeNode(PGPathPattern); @@ -22490,10 +23335,10 @@ YYLTYPE yylloc = yyloc_default; n->topk = (yyvsp[-2].ival); (yyval.node) = (PGNode*) n; } -#line 22494 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23339 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 321: /* PathPrefix: ALL SHORTEST PathModeOptional */ + case 338: /* PathPrefix: ALL SHORTEST PathModeOptional */ #line 358 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathPattern *n = makeNode(PGPathPattern); @@ -22505,10 +23350,10 @@ YYLTYPE yylloc = yyloc_default; n->topk = 0; (yyval.node) = (PGNode*) n; } -#line 22509 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23354 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 322: /* PathPrefix: ALL PathModeOptional */ + case 339: /* PathPrefix: ALL PathModeOptional */ #line 370 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathPattern *n = makeNode(PGPathPattern); @@ -22520,10 +23365,10 @@ YYLTYPE yylloc = yyloc_default; n->topk = 0; (yyval.node) = (PGNode*) n; } -#line 22524 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23369 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 323: /* PathPrefix: ANY TopKOptional PathModeOptional */ + case 340: /* PathPrefix: ANY TopKOptional PathModeOptional */ #line 382 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathPattern *n = makeNode(PGPathPattern); @@ -22535,10 +23380,10 @@ YYLTYPE yylloc = yyloc_default; n->topk = (yyvsp[-1].ival); (yyval.node) = (PGNode*) n; } -#line 22539 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23384 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 324: /* PathPrefix: %empty */ + case 341: /* PathPrefix: %empty */ #line 394 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathPattern *n = makeNode(PGPathPattern); @@ -22550,22 +23395,22 @@ YYLTYPE yylloc = yyloc_default; n->topk = 0; (yyval.node) = (PGNode*) n; } -#line 22554 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23399 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 325: /* PathPatternList: PathPattern */ + case 342: /* PathPatternList: PathPattern */ #line 408 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 22560 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23405 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 326: /* PathPatternList: PathPatternList ',' PathPattern */ + case 343: /* PathPatternList: PathPatternList ',' PathPattern */ #line 411 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 22566 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23411 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 327: /* PathPattern: PathVariableOptional PathPrefix PathConcatenation */ + case 344: /* PathPattern: PathVariableOptional PathPrefix PathConcatenation */ #line 416 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathPattern *n = (PGPathPattern*) (yyvsp[-1].node); @@ -22588,34 +23433,34 @@ YYLTYPE yylloc = yyloc_default; n->path = list_make1(p); } } -#line 22592 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23437 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 328: /* PatternUnion: '|' */ + case 345: /* PatternUnion: '|' */ #line 440 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = 0; } -#line 22598 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23443 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 329: /* PatternUnion: '|' '+' '|' */ + case 346: /* PatternUnion: '|' '+' '|' */ #line 442 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = 1; } -#line 22604 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23449 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 330: /* KleeneQuantifierOptional: ICONST */ + case 347: /* KleeneQuantifierOptional: ICONST */ #line 446 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = (yyvsp[0].ival); } -#line 22610 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23455 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 331: /* KleeneQuantifierOptional: %empty */ + case 348: /* KleeneQuantifierOptional: %empty */ #line 448 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = -1; } -#line 22616 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23461 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 332: /* KleeneOptional: '*' */ + case 349: /* KleeneOptional: '*' */ #line 454 "third_party/libpg_query/grammar/statements/pgq.y" { PGSubPath *n = makeNode(PGSubPath); @@ -22624,10 +23469,10 @@ YYLTYPE yylloc = yyloc_default; n->upper = (1<<30); (yyval.node) = (PGNode*) n; } -#line 22628 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23473 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 333: /* KleeneOptional: '+' */ + case 350: /* KleeneOptional: '+' */ #line 463 "third_party/libpg_query/grammar/statements/pgq.y" { PGSubPath *n = makeNode(PGSubPath); @@ -22636,10 +23481,10 @@ YYLTYPE yylloc = yyloc_default; n->upper = (1<<30); (yyval.node) = (PGNode*) n; } -#line 22640 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23485 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 334: /* KleeneOptional: '?' */ + case 351: /* KleeneOptional: '?' */ #line 472 "third_party/libpg_query/grammar/statements/pgq.y" { PGSubPath *n = makeNode(PGSubPath); @@ -22648,10 +23493,10 @@ YYLTYPE yylloc = yyloc_default; n->upper = 1; (yyval.node) = (PGNode*) n; } -#line 22652 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23497 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 335: /* KleeneOptional: '{' KleeneQuantifierOptional ',' KleeneQuantifierOptional '}' */ + case 352: /* KleeneOptional: '{' KleeneQuantifierOptional ',' KleeneQuantifierOptional '}' */ #line 481 "third_party/libpg_query/grammar/statements/pgq.y" { PGSubPath *n = makeNode(PGSubPath); @@ -22660,10 +23505,10 @@ YYLTYPE yylloc = yyloc_default; n->upper = ((yyvsp[-1].ival)>=0)?(yyvsp[-1].ival):(1<<30); (yyval.node) = (PGNode*) n; } -#line 22664 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23509 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 336: /* KleeneOptional: %empty */ + case 353: /* KleeneOptional: %empty */ #line 490 "third_party/libpg_query/grammar/statements/pgq.y" { PGSubPath *n = makeNode(PGSubPath); @@ -22672,34 +23517,34 @@ YYLTYPE yylloc = yyloc_default; n->upper = 1; (yyval.node) = (PGNode*) n; } -#line 22676 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23521 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 337: /* CostNum: ICONST */ + case 354: /* CostNum: ICONST */ #line 500 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = (yyvsp[0].ival); } -#line 22682 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23527 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 338: /* CostNum: FCONST */ + case 355: /* CostNum: FCONST */ #line 502 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = atof((yyvsp[0].str)); } -#line 22688 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23533 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 339: /* CostDefault: DEFAULT CostNum */ + case 356: /* CostDefault: DEFAULT CostNum */ #line 506 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = (yyvsp[0].ival); } -#line 22694 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23539 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 340: /* CostDefault: %empty */ + case 357: /* CostDefault: %empty */ #line 508 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.ival) = NULL; } -#line 22700 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23545 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 341: /* CostOptional: COST b_expr CostDefault */ + case 358: /* CostOptional: COST b_expr CostDefault */ #line 513 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathInfo *n = makeNode(PGPathInfo); @@ -22709,10 +23554,10 @@ YYLTYPE yylloc = yyloc_default; ((double) d->val.val.ival):strtod(d->val.val.str,NULL)):1; (yyval.node) = (PGNode*) n; } -#line 22713 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23558 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 342: /* CostOptional: %empty */ + case 359: /* CostOptional: %empty */ #line 523 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathInfo *n = makeNode(PGPathInfo); @@ -22720,10 +23565,10 @@ YYLTYPE yylloc = yyloc_default; n->default_value = 1; (yyval.node) = (PGNode*) n; } -#line 22724 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23569 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 343: /* SubPath: PathVariableOptional PathModeOptional PathConcatenation GraphTableWhereOptional CostOptional */ + case 360: /* SubPath: PathVariableOptional PathModeOptional PathConcatenation GraphTableWhereOptional CostOptional */ #line 533 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathInfo *n = (PGPathInfo*) (yyvsp[0].node); @@ -22733,32 +23578,32 @@ YYLTYPE yylloc = yyloc_default; n->where_clause = (yyvsp[-1].node); (yyval.node) = (PGNode*) n; } -#line 22737 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23582 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 344: /* EnclosedSubPath: '[' SubPath ']' KleeneOptional */ + case 361: /* EnclosedSubPath: '[' SubPath ']' KleeneOptional */ #line 545 "third_party/libpg_query/grammar/statements/pgq.y" { PGSubPath *p = (PGSubPath*) (yyvsp[0].node); p->path = list_make1((yyvsp[-2].node)); (yyval.node) = (PGNode*) p; } -#line 22747 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23592 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 345: /* PathElement: VertexPattern */ + case 362: /* PathElement: VertexPattern */ #line 553 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[0].list); } -#line 22753 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23598 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 346: /* PathElement: EdgePattern */ + case 363: /* PathElement: EdgePattern */ #line 555 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[0].list); } -#line 22759 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23604 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 347: /* PathSequence: EnclosedSubPath PathSequence */ + case 364: /* PathSequence: EnclosedSubPath PathSequence */ #line 560 "third_party/libpg_query/grammar/statements/pgq.y" { PGSubPath *n = (PGSubPath*) (yyvsp[-1].node); @@ -22781,28 +23626,28 @@ YYLTYPE yylloc = yyloc_default; if ((yyvsp[0].list)) (yyval.list) = list_concat((yyval.list),(yyvsp[0].list)); } } -#line 22785 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23630 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 348: /* PathSequence: PathElement PathSequence */ + case 365: /* PathSequence: PathElement PathSequence */ #line 582 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[-1].list)?list_concat((yyvsp[-1].list),(yyvsp[0].list)):(yyvsp[0].list); } -#line 22791 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23636 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 349: /* PathSequence: %empty */ + case 366: /* PathSequence: %empty */ #line 584 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = NULL; } -#line 22797 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23642 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 350: /* PathConcatenation: PathSequence */ + case 367: /* PathConcatenation: PathSequence */ #line 588 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.list) = (yyvsp[0].list); } -#line 22803 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23648 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 351: /* PathConcatenation: PathSequence PatternUnion PathSequence */ + case 368: /* PathConcatenation: PathSequence PatternUnion PathSequence */ #line 591 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathUnion *n = makeNode(PGPathUnion); @@ -22811,16 +23656,16 @@ YYLTYPE yylloc = yyloc_default; n->path2 = (yyvsp[0].list); (yyval.list) = list_make1(n); } -#line 22815 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23660 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 352: /* OrLabelExpression: LabelExpression */ + case 369: /* OrLabelExpression: LabelExpression */ #line 601 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (yyvsp[0].node); } -#line 22821 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23666 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 353: /* OrLabelExpression: LabelExpression '|' OrLabelExpression */ + case 370: /* OrLabelExpression: LabelExpression '|' OrLabelExpression */ #line 604 "third_party/libpg_query/grammar/statements/pgq.y" { PGLabelTest *n = makeNode(PGLabelTest); @@ -22829,16 +23674,16 @@ YYLTYPE yylloc = yyloc_default; n->right = (PGLabelTest*) (yyvsp[0].node); (yyval.node) = (PGNode*) n; } -#line 22833 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23678 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 354: /* AndLabelExpression: LabelExpression */ + case 371: /* AndLabelExpression: LabelExpression */ #line 614 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (yyvsp[0].node); } -#line 22839 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23684 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 355: /* AndLabelExpression: LabelExpression '&' AndLabelExpression */ + case 372: /* AndLabelExpression: LabelExpression '&' AndLabelExpression */ #line 617 "third_party/libpg_query/grammar/statements/pgq.y" { PGLabelTest *n = makeNode(PGLabelTest); @@ -22847,16 +23692,16 @@ YYLTYPE yylloc = yyloc_default; n->right = (PGLabelTest*) (yyvsp[0].node); (yyval.node) = (PGNode*) n; } -#line 22851 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23696 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 356: /* ComposedLabelExpression: LabelExpression */ + case 373: /* ComposedLabelExpression: LabelExpression */ #line 627 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (yyvsp[0].node); } -#line 22857 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23702 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 357: /* ComposedLabelExpression: LabelExpression '|' OrLabelExpression */ + case 374: /* ComposedLabelExpression: LabelExpression '|' OrLabelExpression */ #line 630 "third_party/libpg_query/grammar/statements/pgq.y" { PGLabelTest *n = makeNode(PGLabelTest); @@ -22865,10 +23710,10 @@ YYLTYPE yylloc = yyloc_default; n->right = (PGLabelTest*) (yyvsp[0].node); (yyval.node) = (PGNode*) n; } -#line 22869 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23714 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 358: /* ComposedLabelExpression: LabelExpression '&' AndLabelExpression */ + case 375: /* ComposedLabelExpression: LabelExpression '&' AndLabelExpression */ #line 639 "third_party/libpg_query/grammar/statements/pgq.y" { PGLabelTest *n = makeNode(PGLabelTest); @@ -22877,10 +23722,10 @@ YYLTYPE yylloc = yyloc_default; n->right = (PGLabelTest*) (yyvsp[0].node); (yyval.node) = (PGNode*) n; } -#line 22881 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23726 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 359: /* LabelExpression: PGQ_IDENT */ + case 376: /* LabelExpression: PGQ_IDENT */ #line 650 "third_party/libpg_query/grammar/statements/pgq.y" { PGLabelTest *n = makeNode(PGLabelTest); @@ -22888,10 +23733,10 @@ YYLTYPE yylloc = yyloc_default; n->left = n->right = NULL; (yyval.node) = (PGNode*) n; } -#line 22892 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23737 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 360: /* LabelExpression: '!' LabelExpression */ + case 377: /* LabelExpression: '!' LabelExpression */ #line 658 "third_party/libpg_query/grammar/statements/pgq.y" { PGLabelTest *n = makeNode(PGLabelTest); @@ -22900,88 +23745,88 @@ YYLTYPE yylloc = yyloc_default; n->right = NULL; (yyval.node) = (PGNode*) n; } -#line 22904 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23749 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 361: /* LabelExpression: '(' ComposedLabelExpression ')' */ + case 378: /* LabelExpression: '(' ComposedLabelExpression ')' */ #line 666 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (yyvsp[-1].node); } -#line 22910 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23755 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 362: /* LabelExpressionOptional: IsOrColon LabelExpression */ + case 379: /* LabelExpressionOptional: IsOrColon LabelExpression */ #line 670 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (yyvsp[0].node); } -#line 22916 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23761 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 363: /* LabelExpressionOptional: %empty */ + case 380: /* LabelExpressionOptional: %empty */ #line 672 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = NULL; } -#line 22922 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23767 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 366: /* ArrowRight: '-' */ + case 383: /* ArrowRight: '-' */ #line 684 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = "-"; } -#line 22928 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23773 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 367: /* ArrowRight: '-' '>' */ + case 384: /* ArrowRight: '-' '>' */ #line 686 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = "->"; } -#line 22934 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23779 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 368: /* ArrowRight: LAMBDA_ARROW */ + case 385: /* ArrowRight: LAMBDA_ARROW */ #line 688 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = "->"; } -#line 22940 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23785 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 369: /* ArrowLeftBracket: '-' '[' */ + case 386: /* ArrowLeftBracket: '-' '[' */ #line 692 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = "-"; } -#line 22946 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23791 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 370: /* ArrowLeftBracket: '<' '-' '[' */ + case 387: /* ArrowLeftBracket: '<' '-' '[' */ #line 694 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = "<-"; } -#line 22952 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23797 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 371: /* AbbreviatedEdge: '<' ArrowRight */ + case 388: /* AbbreviatedEdge: '<' ArrowRight */ #line 699 "third_party/libpg_query/grammar/statements/pgq.y" { char* dir = (yyvsp[0].str); (yyval.ival) = (dir[1] == '>')?PG_MATCH_EDGE_LEFT_RIGHT:PG_MATCH_EDGE_LEFT; } -#line 22961 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23806 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 372: /* AbbreviatedEdge: ArrowRight */ + case 389: /* AbbreviatedEdge: ArrowRight */ #line 705 "third_party/libpg_query/grammar/statements/pgq.y" { char* dir = (yyvsp[0].str); (yyval.ival) = (dir[1] == '>')?PG_MATCH_EDGE_RIGHT:PG_MATCH_EDGE_ANY; } -#line 22970 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23815 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 373: /* VariableOptional: PGQ_IDENT */ + case 390: /* VariableOptional: PGQ_IDENT */ #line 712 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = (yyvsp[0].str); } -#line 22976 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23821 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 374: /* VariableOptional: %empty */ + case 391: /* VariableOptional: %empty */ #line 714 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.str) = NULL;} -#line 22982 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23827 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 375: /* FullElementSpec: VariableOptional LabelExpressionOptional GraphTableWhereOptional CostOptional */ + case 392: /* FullElementSpec: VariableOptional LabelExpressionOptional GraphTableWhereOptional CostOptional */ #line 719 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathInfo *n = (PGPathInfo*) (yyvsp[0].node); @@ -22990,10 +23835,10 @@ YYLTYPE yylloc = yyloc_default; n->label_expr = (PGLabelTest*) (yyvsp[-2].node); (yyval.node) = (PGNode*) n; } -#line 22994 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23839 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 376: /* EdgePattern: AbbreviatedEdge KleeneOptional */ + case 393: /* EdgePattern: AbbreviatedEdge KleeneOptional */ #line 730 "third_party/libpg_query/grammar/statements/pgq.y" { PGSubPath *p = (PGSubPath*) (yyvsp[0].node); @@ -23009,10 +23854,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.list) = list_make1(p); } } -#line 23013 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23858 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 377: /* EdgePattern: ArrowLeftBracket FullElementSpec ']' ArrowRight KleeneOptional */ + case 394: /* EdgePattern: ArrowLeftBracket FullElementSpec ']' ArrowRight KleeneOptional */ #line 746 "third_party/libpg_query/grammar/statements/pgq.y" { char *left = (yyvsp[-4].str), *right = (yyvsp[-1].str); @@ -23037,10 +23882,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.list) = list_make1(p); } } -#line 23041 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23886 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 378: /* VertexPattern: '(' FullElementSpec ')' */ + case 395: /* VertexPattern: '(' FullElementSpec ')' */ #line 773 "third_party/libpg_query/grammar/statements/pgq.y" { PGPathElement *n = makeNode(PGPathElement); @@ -23062,22 +23907,22 @@ YYLTYPE yylloc = yyloc_default; (yyval.list) = list_make1(p); } } -#line 23066 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23911 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 379: /* pgq_expr: c_expr */ + case 396: /* pgq_expr: c_expr */ #line 805 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (yyvsp[0].node); } -#line 23072 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23917 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 380: /* pgq_expr: pgq_expr TYPECAST Typename */ + case 397: /* pgq_expr: pgq_expr TYPECAST Typename */ #line 807 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), 0, (yylsp[-1])); } -#line 23078 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23923 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 381: /* pgq_expr: pgq_expr COLLATE any_name */ + case 398: /* pgq_expr: pgq_expr COLLATE any_name */ #line 809 "third_party/libpg_query/grammar/statements/pgq.y" { PGCollateClause *n = makeNode(PGCollateClause); @@ -23086,158 +23931,158 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *) n; } -#line 23090 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23935 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 382: /* pgq_expr: pgq_expr AT TIME ZONE pgq_expr */ + case 399: /* pgq_expr: pgq_expr AT TIME ZONE pgq_expr */ #line 817 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("timezone"), list_make2((yyvsp[0].node), (yyvsp[-4].node)), (yylsp[-3])); } -#line 23100 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23945 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 383: /* pgq_expr: '+' pgq_expr */ + case 400: /* pgq_expr: '+' pgq_expr */ #line 832 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); } -#line 23106 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23951 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 384: /* pgq_expr: '-' pgq_expr */ + case 401: /* pgq_expr: '-' pgq_expr */ #line 834 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); } -#line 23112 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23957 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 385: /* pgq_expr: pgq_expr '+' pgq_expr */ + case 402: /* pgq_expr: pgq_expr '+' pgq_expr */ #line 836 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23118 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23963 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 386: /* pgq_expr: pgq_expr '-' pgq_expr */ + case 403: /* pgq_expr: pgq_expr '-' pgq_expr */ #line 838 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23124 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23969 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 387: /* pgq_expr: pgq_expr '*' pgq_expr */ + case 404: /* pgq_expr: pgq_expr '*' pgq_expr */ #line 840 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23130 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23975 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 388: /* pgq_expr: pgq_expr '/' pgq_expr */ + case 405: /* pgq_expr: pgq_expr '/' pgq_expr */ #line 842 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23136 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23981 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 389: /* pgq_expr: pgq_expr '%' pgq_expr */ + case 406: /* pgq_expr: pgq_expr '%' pgq_expr */ #line 844 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23142 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23987 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 390: /* pgq_expr: pgq_expr '^' pgq_expr */ + case 407: /* pgq_expr: pgq_expr '^' pgq_expr */ #line 846 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23148 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23993 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 391: /* pgq_expr: pgq_expr POWER_OF pgq_expr */ + case 408: /* pgq_expr: pgq_expr POWER_OF pgq_expr */ #line 848 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "**", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23154 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 23999 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 392: /* pgq_expr: pgq_expr '<' pgq_expr */ + case 409: /* pgq_expr: pgq_expr '<' pgq_expr */ #line 850 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23160 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24005 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 393: /* pgq_expr: pgq_expr '>' pgq_expr */ + case 410: /* pgq_expr: pgq_expr '>' pgq_expr */ #line 852 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23166 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24011 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 394: /* pgq_expr: pgq_expr '=' pgq_expr */ + case 411: /* pgq_expr: pgq_expr '=' pgq_expr */ #line 854 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23172 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24017 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 395: /* pgq_expr: pgq_expr LESS_EQUALS pgq_expr */ + case 412: /* pgq_expr: pgq_expr LESS_EQUALS pgq_expr */ #line 856 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23178 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24023 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 396: /* pgq_expr: pgq_expr GREATER_EQUALS pgq_expr */ + case 413: /* pgq_expr: pgq_expr GREATER_EQUALS pgq_expr */ #line 858 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23184 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24029 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 397: /* pgq_expr: pgq_expr NOT_EQUALS pgq_expr */ + case 414: /* pgq_expr: pgq_expr NOT_EQUALS pgq_expr */ #line 860 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23190 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24035 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 398: /* pgq_expr: pgq_expr qual_Op pgq_expr */ + case 415: /* pgq_expr: pgq_expr qual_Op pgq_expr */ #line 863 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23196 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24041 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 399: /* pgq_expr: pgq_expr AND pgq_expr */ + case 416: /* pgq_expr: pgq_expr AND pgq_expr */ #line 865 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23202 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24047 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 400: /* pgq_expr: pgq_expr OR pgq_expr */ + case 417: /* pgq_expr: pgq_expr OR pgq_expr */ #line 867 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23208 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24053 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 401: /* pgq_expr: NOT pgq_expr */ + case 418: /* pgq_expr: NOT pgq_expr */ #line 869 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); } -#line 23214 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24059 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 402: /* pgq_expr: NOT_LA pgq_expr */ + case 419: /* pgq_expr: NOT_LA pgq_expr */ #line 871 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); } -#line 23220 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24065 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 403: /* pgq_expr: pgq_expr GLOB pgq_expr */ + case 420: /* pgq_expr: pgq_expr GLOB pgq_expr */ #line 873 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_GLOB, "~~~", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23229 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24074 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 404: /* pgq_expr: pgq_expr LIKE pgq_expr */ + case 421: /* pgq_expr: pgq_expr LIKE pgq_expr */ #line 878 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_LIKE, "~~", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23238 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24083 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 405: /* pgq_expr: pgq_expr LIKE pgq_expr ESCAPE pgq_expr */ + case 422: /* pgq_expr: pgq_expr LIKE pgq_expr ESCAPE pgq_expr */ #line 883 "third_party/libpg_query/grammar/statements/pgq.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("like_escape"), @@ -23245,19 +24090,19 @@ YYLTYPE yylloc = yyloc_default; (yylsp[-3])); (yyval.node) = (PGNode *) n; } -#line 23249 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24094 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 406: /* pgq_expr: pgq_expr NOT_LA LIKE pgq_expr */ + case 423: /* pgq_expr: pgq_expr NOT_LA LIKE pgq_expr */ #line 890 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_LIKE, "!~~", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2])); } -#line 23258 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24103 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 407: /* pgq_expr: pgq_expr NOT_LA LIKE pgq_expr ESCAPE pgq_expr */ + case 424: /* pgq_expr: pgq_expr NOT_LA LIKE pgq_expr ESCAPE pgq_expr */ #line 895 "third_party/libpg_query/grammar/statements/pgq.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("not_like_escape"), @@ -23265,19 +24110,19 @@ YYLTYPE yylloc = yyloc_default; (yylsp[-4])); (yyval.node) = (PGNode *) n; } -#line 23269 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24114 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 408: /* pgq_expr: pgq_expr ILIKE pgq_expr */ + case 425: /* pgq_expr: pgq_expr ILIKE pgq_expr */ #line 902 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_ILIKE, "~~*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23278 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24123 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 409: /* pgq_expr: pgq_expr ILIKE pgq_expr ESCAPE pgq_expr */ + case 426: /* pgq_expr: pgq_expr ILIKE pgq_expr ESCAPE pgq_expr */ #line 907 "third_party/libpg_query/grammar/statements/pgq.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("ilike_escape"), @@ -23285,19 +24130,19 @@ YYLTYPE yylloc = yyloc_default; (yylsp[-3])); (yyval.node) = (PGNode *) n; } -#line 23289 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24134 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 410: /* pgq_expr: pgq_expr NOT_LA ILIKE pgq_expr */ + case 427: /* pgq_expr: pgq_expr NOT_LA ILIKE pgq_expr */ #line 914 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_ILIKE, "!~~*", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2])); } -#line 23298 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24143 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 411: /* pgq_expr: pgq_expr NOT_LA ILIKE pgq_expr ESCAPE pgq_expr */ + case 428: /* pgq_expr: pgq_expr NOT_LA ILIKE pgq_expr ESCAPE pgq_expr */ #line 919 "third_party/libpg_query/grammar/statements/pgq.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("not_ilike_escape"), @@ -23305,10 +24150,10 @@ YYLTYPE yylloc = yyloc_default; (yylsp[-4])); (yyval.node) = (PGNode *) n; } -#line 23309 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24154 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 412: /* pgq_expr: pgq_expr SIMILAR TO pgq_expr */ + case 429: /* pgq_expr: pgq_expr SIMILAR TO pgq_expr */ #line 927 "third_party/libpg_query/grammar/statements/pgq.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"), @@ -23317,10 +24162,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_SIMILAR, "~", (yyvsp[-3].node), (PGNode *) n, (yylsp[-2])); } -#line 23321 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24166 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 413: /* pgq_expr: pgq_expr SIMILAR TO pgq_expr ESCAPE pgq_expr */ + case 430: /* pgq_expr: pgq_expr SIMILAR TO pgq_expr ESCAPE pgq_expr */ #line 935 "third_party/libpg_query/grammar/statements/pgq.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"), @@ -23329,10 +24174,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_SIMILAR, "~", (yyvsp[-5].node), (PGNode *) n, (yylsp[-4])); } -#line 23333 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24178 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 414: /* pgq_expr: pgq_expr NOT_LA SIMILAR TO pgq_expr */ + case 431: /* pgq_expr: pgq_expr NOT_LA SIMILAR TO pgq_expr */ #line 943 "third_party/libpg_query/grammar/statements/pgq.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"), @@ -23341,10 +24186,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_SIMILAR, "!~", (yyvsp[-4].node), (PGNode *) n, (yylsp[-3])); } -#line 23345 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24190 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 415: /* pgq_expr: pgq_expr NOT_LA SIMILAR TO pgq_expr ESCAPE pgq_expr */ + case 432: /* pgq_expr: pgq_expr NOT_LA SIMILAR TO pgq_expr ESCAPE pgq_expr */ #line 951 "third_party/libpg_query/grammar/statements/pgq.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"), @@ -23353,10 +24198,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_SIMILAR, "!~", (yyvsp[-6].node), (PGNode *) n, (yylsp[-5])); } -#line 23357 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24202 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 416: /* pgq_expr: pgq_expr IS NULL_P */ + case 433: /* pgq_expr: pgq_expr IS NULL_P */ #line 969 "third_party/libpg_query/grammar/statements/pgq.y" { PGNullTest *n = makeNode(PGNullTest); @@ -23365,10 +24210,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *)n; } -#line 23369 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24214 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 417: /* pgq_expr: pgq_expr ISNULL */ + case 434: /* pgq_expr: pgq_expr ISNULL */ #line 977 "third_party/libpg_query/grammar/statements/pgq.y" { PGNullTest *n = makeNode(PGNullTest); @@ -23377,10 +24222,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[0]); (yyval.node) = (PGNode *)n; } -#line 23381 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24226 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 418: /* pgq_expr: pgq_expr IS NOT NULL_P */ + case 435: /* pgq_expr: pgq_expr IS NOT NULL_P */ #line 985 "third_party/libpg_query/grammar/statements/pgq.y" { PGNullTest *n = makeNode(PGNullTest); @@ -23389,10 +24234,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-2]); (yyval.node) = (PGNode *)n; } -#line 23393 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24238 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 419: /* pgq_expr: pgq_expr NOT NULL_P */ + case 436: /* pgq_expr: pgq_expr NOT NULL_P */ #line 993 "third_party/libpg_query/grammar/statements/pgq.y" { PGNullTest *n = makeNode(PGNullTest); @@ -23401,10 +24246,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *)n; } -#line 23405 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24250 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 420: /* pgq_expr: pgq_expr NOTNULL */ + case 437: /* pgq_expr: pgq_expr NOTNULL */ #line 1001 "third_party/libpg_query/grammar/statements/pgq.y" { PGNullTest *n = makeNode(PGNullTest); @@ -23413,10 +24258,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[0]); (yyval.node) = (PGNode *)n; } -#line 23417 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24262 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 421: /* pgq_expr: pgq_expr LAMBDA_ARROW pgq_expr */ + case 438: /* pgq_expr: pgq_expr LAMBDA_ARROW pgq_expr */ #line 1009 "third_party/libpg_query/grammar/statements/pgq.y" { PGLambdaFunction *n = makeNode(PGLambdaFunction); @@ -23425,18 +24270,18 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *) n; } -#line 23429 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24274 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 422: /* pgq_expr: pgq_expr DOUBLE_ARROW pgq_expr */ + case 439: /* pgq_expr: pgq_expr DOUBLE_ARROW pgq_expr */ #line 1017 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "->>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 23437 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24282 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 423: /* pgq_expr: row OVERLAPS row */ + case 440: /* pgq_expr: row OVERLAPS row */ #line 1021 "third_party/libpg_query/grammar/statements/pgq.y" { if (list_length((yyvsp[-2].list)) != 2) @@ -23453,10 +24298,10 @@ YYLTYPE yylloc = yyloc_default; list_concat((yyvsp[-2].list), (yyvsp[0].list)), (yylsp[-1])); } -#line 23457 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24302 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 424: /* pgq_expr: pgq_expr IS TRUE_P */ + case 441: /* pgq_expr: pgq_expr IS TRUE_P */ #line 1037 "third_party/libpg_query/grammar/statements/pgq.y" { PGBooleanTest *b = makeNode(PGBooleanTest); @@ -23465,10 +24310,10 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-1]); (yyval.node) = (PGNode *)b; } -#line 23469 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24314 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 425: /* pgq_expr: pgq_expr IS NOT TRUE_P */ + case 442: /* pgq_expr: pgq_expr IS NOT TRUE_P */ #line 1045 "third_party/libpg_query/grammar/statements/pgq.y" { PGBooleanTest *b = makeNode(PGBooleanTest); @@ -23477,10 +24322,10 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-2]); (yyval.node) = (PGNode *)b; } -#line 23481 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24326 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 426: /* pgq_expr: pgq_expr IS FALSE_P */ + case 443: /* pgq_expr: pgq_expr IS FALSE_P */ #line 1053 "third_party/libpg_query/grammar/statements/pgq.y" { PGBooleanTest *b = makeNode(PGBooleanTest); @@ -23489,10 +24334,10 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-1]); (yyval.node) = (PGNode *)b; } -#line 23493 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24338 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 427: /* pgq_expr: pgq_expr IS NOT FALSE_P */ + case 444: /* pgq_expr: pgq_expr IS NOT FALSE_P */ #line 1061 "third_party/libpg_query/grammar/statements/pgq.y" { PGBooleanTest *b = makeNode(PGBooleanTest); @@ -23501,10 +24346,10 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-2]); (yyval.node) = (PGNode *)b; } -#line 23505 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24350 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 428: /* pgq_expr: pgq_expr IS UNKNOWN */ + case 445: /* pgq_expr: pgq_expr IS UNKNOWN */ #line 1069 "third_party/libpg_query/grammar/statements/pgq.y" { PGBooleanTest *b = makeNode(PGBooleanTest); @@ -23513,10 +24358,10 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-1]); (yyval.node) = (PGNode *)b; } -#line 23517 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24362 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 429: /* pgq_expr: pgq_expr IS NOT UNKNOWN */ + case 446: /* pgq_expr: pgq_expr IS NOT UNKNOWN */ #line 1077 "third_party/libpg_query/grammar/statements/pgq.y" { PGBooleanTest *b = makeNode(PGBooleanTest); @@ -23525,42 +24370,42 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-2]); (yyval.node) = (PGNode *)b; } -#line 23529 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24374 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 430: /* pgq_expr: pgq_expr IS DISTINCT FROM pgq_expr */ + case 447: /* pgq_expr: pgq_expr IS DISTINCT FROM pgq_expr */ #line 1085 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3])); } -#line 23537 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24382 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 431: /* pgq_expr: pgq_expr IS NOT DISTINCT FROM pgq_expr */ + case 448: /* pgq_expr: pgq_expr IS NOT DISTINCT FROM pgq_expr */ #line 1089 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4])); } -#line 23545 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24390 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 432: /* pgq_expr: pgq_expr IS OF '(' type_list ')' */ + case 449: /* pgq_expr: pgq_expr IS OF '(' type_list ')' */ #line 1093 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OF, "=", (yyvsp[-5].node), (PGNode *) (yyvsp[-1].list), (yylsp[-4])); } -#line 23553 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24398 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 433: /* pgq_expr: pgq_expr IS NOT OF '(' type_list ')' */ + case 450: /* pgq_expr: pgq_expr IS NOT OF '(' type_list ')' */ #line 1097 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OF, "<>", (yyvsp[-6].node), (PGNode *) (yyvsp[-1].list), (yylsp[-5])); } -#line 23561 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24406 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 434: /* pgq_expr: pgq_expr BETWEEN opt_asymmetric b_expr AND pgq_expr */ + case 451: /* pgq_expr: pgq_expr BETWEEN opt_asymmetric b_expr AND pgq_expr */ #line 1101 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_BETWEEN, @@ -23569,10 +24414,10 @@ YYLTYPE yylloc = yyloc_default; (PGNode *) list_make2((yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-4])); } -#line 23573 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24418 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 435: /* pgq_expr: pgq_expr NOT_LA BETWEEN opt_asymmetric b_expr AND pgq_expr */ + case 452: /* pgq_expr: pgq_expr NOT_LA BETWEEN opt_asymmetric b_expr AND pgq_expr */ #line 1109 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NOT_BETWEEN, @@ -23581,10 +24426,10 @@ YYLTYPE yylloc = yyloc_default; (PGNode *) list_make2((yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-5])); } -#line 23585 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24430 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 436: /* pgq_expr: pgq_expr BETWEEN SYMMETRIC b_expr AND pgq_expr */ + case 453: /* pgq_expr: pgq_expr BETWEEN SYMMETRIC b_expr AND pgq_expr */ #line 1117 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_BETWEEN_SYM, @@ -23593,10 +24438,10 @@ YYLTYPE yylloc = yyloc_default; (PGNode *) list_make2((yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-4])); } -#line 23597 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24442 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 437: /* pgq_expr: pgq_expr NOT_LA BETWEEN SYMMETRIC b_expr AND pgq_expr */ + case 454: /* pgq_expr: pgq_expr NOT_LA BETWEEN SYMMETRIC b_expr AND pgq_expr */ #line 1125 "third_party/libpg_query/grammar/statements/pgq.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NOT_BETWEEN_SYM, @@ -23605,10 +24450,10 @@ YYLTYPE yylloc = yyloc_default; (PGNode *) list_make2((yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-5])); } -#line 23609 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24454 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 438: /* pgq_expr: pgq_expr IN_P in_expr */ + case 455: /* pgq_expr: pgq_expr IN_P in_expr */ #line 1133 "third_party/libpg_query/grammar/statements/pgq.y" { /* in_expr returns a PGSubLink or a list of pgq_exprs */ @@ -23629,10 +24474,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } } -#line 23633 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24478 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 439: /* pgq_expr: pgq_expr NOT_LA IN_P in_expr */ + case 456: /* pgq_expr: pgq_expr NOT_LA IN_P in_expr */ #line 1153 "third_party/libpg_query/grammar/statements/pgq.y" { /* in_expr returns a PGSubLink or a list of pgq_exprs */ @@ -23655,10 +24500,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2])); } } -#line 23659 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24504 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 440: /* CreateStmt: CREATE_P OptTemp TABLE qualified_name '(' OptTableElementList ')' OptWith OnCommitOption */ + case 457: /* CreateStmt: CREATE_P OptTemp TABLE qualified_name '(' OptTableElementList ')' OptWith OnCommitOption */ #line 9 "third_party/libpg_query/grammar/statements/create.y" { PGCreateStmt *n = makeNode(PGCreateStmt); @@ -23672,10 +24517,10 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_ERROR_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 23676 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24521 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 441: /* CreateStmt: CREATE_P OptTemp TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptWith OnCommitOption */ + case 458: /* CreateStmt: CREATE_P OptTemp TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptWith OnCommitOption */ #line 24 "third_party/libpg_query/grammar/statements/create.y" { PGCreateStmt *n = makeNode(PGCreateStmt); @@ -23689,10 +24534,10 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_IGNORE_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 23693 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24538 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 442: /* CreateStmt: CREATE_P OR REPLACE OptTemp TABLE qualified_name '(' OptTableElementList ')' OptWith OnCommitOption */ + case 459: /* CreateStmt: CREATE_P OR REPLACE OptTemp TABLE qualified_name '(' OptTableElementList ')' OptWith OnCommitOption */ #line 39 "third_party/libpg_query/grammar/statements/create.y" { PGCreateStmt *n = makeNode(PGCreateStmt); @@ -23706,16 +24551,16 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_REPLACE_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 23710 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24555 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 443: /* ConstraintAttributeSpec: %empty */ + case 460: /* ConstraintAttributeSpec: %empty */ #line 56 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = 0; } -#line 23716 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24561 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 444: /* ConstraintAttributeSpec: ConstraintAttributeSpec ConstraintAttributeElem */ + case 461: /* ConstraintAttributeSpec: ConstraintAttributeSpec ConstraintAttributeElem */ #line 58 "third_party/libpg_query/grammar/statements/create.y" { /* @@ -23740,94 +24585,94 @@ YYLTYPE yylloc = yyloc_default; parser_errposition((yylsp[0])))); (yyval.ival) = newspec; } -#line 23744 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24589 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 445: /* def_arg: func_type */ + case 462: /* def_arg: func_type */ #line 84 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (PGNode *)(yyvsp[0].typnam); } -#line 23750 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24595 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 446: /* def_arg: reserved_keyword */ + case 463: /* def_arg: reserved_keyword */ #line 85 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (PGNode *)makeString(pstrdup((yyvsp[0].keyword))); } -#line 23756 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24601 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 447: /* def_arg: qual_all_Op */ + case 464: /* def_arg: qual_all_Op */ #line 86 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (PGNode *)(yyvsp[0].list); } -#line 23762 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24607 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 448: /* def_arg: NumericOnly */ + case 465: /* def_arg: NumericOnly */ #line 87 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (PGNode *)(yyvsp[0].value); } -#line 23768 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24613 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 449: /* def_arg: Sconst */ + case 466: /* def_arg: Sconst */ #line 88 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (PGNode *)makeString((yyvsp[0].str)); } -#line 23774 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24619 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 450: /* def_arg: NONE */ + case 467: /* def_arg: NONE */ #line 89 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (PGNode *)makeString(pstrdup((yyvsp[0].keyword))); } -#line 23780 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24625 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 451: /* OptParenthesizedSeqOptList: '(' SeqOptList ')' */ + case 468: /* OptParenthesizedSeqOptList: '(' SeqOptList ')' */ #line 93 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = (yyvsp[-1].list); } -#line 23786 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24631 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 452: /* OptParenthesizedSeqOptList: %empty */ + case 469: /* OptParenthesizedSeqOptList: %empty */ #line 94 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = NIL; } -#line 23792 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24637 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 453: /* generic_option_arg: Sconst */ + case 470: /* generic_option_arg: Sconst */ #line 99 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (PGNode *) makeString((yyvsp[0].str)); } -#line 23798 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24643 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 454: /* key_action: NO ACTION */ + case 471: /* key_action: NO ACTION */ #line 104 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_FKCONSTR_ACTION_NOACTION; } -#line 23804 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24649 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 455: /* key_action: RESTRICT */ + case 472: /* key_action: RESTRICT */ #line 105 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_FKCONSTR_ACTION_RESTRICT; } -#line 23810 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24655 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 456: /* key_action: CASCADE */ + case 473: /* key_action: CASCADE */ #line 106 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_FKCONSTR_ACTION_CASCADE; } -#line 23816 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24661 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 457: /* key_action: SET NULL_P */ + case 474: /* key_action: SET NULL_P */ #line 107 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_FKCONSTR_ACTION_SETNULL; } -#line 23822 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24667 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 458: /* key_action: SET DEFAULT */ + case 475: /* key_action: SET DEFAULT */ #line 108 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_FKCONSTR_ACTION_SETDEFAULT; } -#line 23828 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24673 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 459: /* ColConstraint: CONSTRAINT name ColConstraintElem */ + case 476: /* ColConstraint: CONSTRAINT name ColConstraintElem */ #line 114 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = castNode(PGConstraint, (yyvsp[0].node)); @@ -23835,22 +24680,22 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-2]); (yyval.node) = (PGNode *) n; } -#line 23839 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24684 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 460: /* ColConstraint: ColConstraintElem */ + case 477: /* ColConstraint: ColConstraintElem */ #line 120 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (yyvsp[0].node); } -#line 23845 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24690 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 461: /* ColConstraint: ConstraintAttr */ + case 478: /* ColConstraint: ConstraintAttr */ #line 121 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (yyvsp[0].node); } -#line 23851 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24696 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 462: /* ColConstraint: COLLATE any_name */ + case 479: /* ColConstraint: COLLATE any_name */ #line 123 "third_party/libpg_query/grammar/statements/create.y" { /* @@ -23864,10 +24709,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *) n; } -#line 23868 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24713 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 463: /* ColConstraintElem: NOT NULL_P */ + case 480: /* ColConstraintElem: NOT NULL_P */ #line 140 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -23875,10 +24720,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *)n; } -#line 23879 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24724 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 464: /* ColConstraintElem: NULL_P */ + case 481: /* ColConstraintElem: NULL_P */ #line 147 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -23886,10 +24731,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[0]); (yyval.node) = (PGNode *)n; } -#line 23890 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24735 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 465: /* ColConstraintElem: UNIQUE opt_definition */ + case 482: /* ColConstraintElem: UNIQUE opt_definition */ #line 154 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -23900,10 +24745,10 @@ YYLTYPE yylloc = yyloc_default; n->indexname = NULL; (yyval.node) = (PGNode *)n; } -#line 23904 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24749 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 466: /* ColConstraintElem: PRIMARY KEY opt_definition */ + case 483: /* ColConstraintElem: PRIMARY KEY opt_definition */ #line 164 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -23914,10 +24759,10 @@ YYLTYPE yylloc = yyloc_default; n->indexname = NULL; (yyval.node) = (PGNode *)n; } -#line 23918 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24763 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 467: /* ColConstraintElem: CHECK_P '(' a_expr ')' opt_no_inherit */ + case 484: /* ColConstraintElem: CHECK_P '(' a_expr ')' opt_no_inherit */ #line 174 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -23930,10 +24775,10 @@ YYLTYPE yylloc = yyloc_default; n->initially_valid = true; (yyval.node) = (PGNode *)n; } -#line 23934 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24779 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 468: /* ColConstraintElem: USING COMPRESSION name */ + case 485: /* ColConstraintElem: USING COMPRESSION name */ #line 186 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -23942,10 +24787,10 @@ YYLTYPE yylloc = yyloc_default; n->compression_name = (yyvsp[0].str); (yyval.node) = (PGNode *)n; } -#line 23946 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24791 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 469: /* ColConstraintElem: DEFAULT b_expr */ + case 486: /* ColConstraintElem: DEFAULT b_expr */ #line 194 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -23955,10 +24800,10 @@ YYLTYPE yylloc = yyloc_default; n->cooked_expr = NULL; (yyval.node) = (PGNode *)n; } -#line 23959 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24804 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 470: /* ColConstraintElem: REFERENCES qualified_name opt_column_list key_match key_actions */ + case 487: /* ColConstraintElem: REFERENCES qualified_name opt_column_list key_match key_actions */ #line 203 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -23974,34 +24819,34 @@ YYLTYPE yylloc = yyloc_default; n->initially_valid = true; (yyval.node) = (PGNode *)n; } -#line 23978 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24823 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 471: /* GeneratedColumnType: VIRTUAL */ + case 488: /* GeneratedColumnType: VIRTUAL */ #line 220 "third_party/libpg_query/grammar/statements/create.y" { (yyval.constr) = PG_CONSTR_GENERATED_VIRTUAL; } -#line 23984 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24829 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 472: /* GeneratedColumnType: STORED */ + case 489: /* GeneratedColumnType: STORED */ #line 221 "third_party/libpg_query/grammar/statements/create.y" { (yyval.constr) = PG_CONSTR_GENERATED_STORED; } -#line 23990 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24835 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 473: /* opt_GeneratedColumnType: GeneratedColumnType */ + case 490: /* opt_GeneratedColumnType: GeneratedColumnType */ #line 225 "third_party/libpg_query/grammar/statements/create.y" { (yyval.constr) = (yyvsp[0].constr); } -#line 23996 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24841 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 474: /* opt_GeneratedColumnType: %empty */ + case 491: /* opt_GeneratedColumnType: %empty */ #line 226 "third_party/libpg_query/grammar/statements/create.y" { (yyval.constr) = PG_CONSTR_GENERATED_VIRTUAL; } -#line 24002 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24847 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 475: /* GeneratedConstraintElem: GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */ + case 492: /* GeneratedConstraintElem: GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */ #line 231 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24011,10 +24856,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-4]); (yyval.node) = (PGNode *)n; } -#line 24015 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24860 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 476: /* GeneratedConstraintElem: GENERATED generated_when AS '(' a_expr ')' opt_GeneratedColumnType */ + case 493: /* GeneratedConstraintElem: GENERATED generated_when AS '(' a_expr ')' opt_GeneratedColumnType */ #line 240 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24038,10 +24883,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *)n; } -#line 24042 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24887 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 477: /* GeneratedConstraintElem: AS '(' a_expr ')' opt_GeneratedColumnType */ + case 494: /* GeneratedConstraintElem: AS '(' a_expr ')' opt_GeneratedColumnType */ #line 263 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24052,96 +24897,96 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-4]); (yyval.node) = (PGNode *)n; } -#line 24056 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24901 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 478: /* generic_option_elem: generic_option_name generic_option_arg */ + case 495: /* generic_option_elem: generic_option_name generic_option_arg */ #line 277 "third_party/libpg_query/grammar/statements/create.y" { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); } -#line 24064 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24909 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 479: /* key_update: ON UPDATE key_action */ + case 496: /* key_update: ON UPDATE key_action */ #line 283 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = (yyvsp[0].ival); } -#line 24070 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24915 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 480: /* key_actions: key_update */ + case 497: /* key_actions: key_update */ #line 289 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = ((yyvsp[0].ival) << 8) | (PG_FKCONSTR_ACTION_NOACTION & 0xFF); } -#line 24076 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24921 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 481: /* key_actions: key_delete */ + case 498: /* key_actions: key_delete */ #line 291 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = (PG_FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); } -#line 24082 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24927 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 482: /* key_actions: key_update key_delete */ + case 499: /* key_actions: key_update key_delete */ #line 293 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); } -#line 24088 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24933 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 483: /* key_actions: key_delete key_update */ + case 500: /* key_actions: key_delete key_update */ #line 295 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); } -#line 24094 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24939 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 484: /* key_actions: %empty */ + case 501: /* key_actions: %empty */ #line 297 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = (PG_FKCONSTR_ACTION_NOACTION << 8) | (PG_FKCONSTR_ACTION_NOACTION & 0xFF); } -#line 24100 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24945 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 485: /* OnCommitOption: ON COMMIT DROP */ + case 502: /* OnCommitOption: ON COMMIT DROP */ #line 300 "third_party/libpg_query/grammar/statements/create.y" { (yyval.oncommit) = ONCOMMIT_DROP; } -#line 24106 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24951 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 486: /* OnCommitOption: ON COMMIT DELETE_P ROWS */ + case 503: /* OnCommitOption: ON COMMIT DELETE_P ROWS */ #line 301 "third_party/libpg_query/grammar/statements/create.y" { (yyval.oncommit) = PG_ONCOMMIT_DELETE_ROWS; } -#line 24112 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24957 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 487: /* OnCommitOption: ON COMMIT PRESERVE ROWS */ + case 504: /* OnCommitOption: ON COMMIT PRESERVE ROWS */ #line 302 "third_party/libpg_query/grammar/statements/create.y" { (yyval.oncommit) = PG_ONCOMMIT_PRESERVE_ROWS; } -#line 24118 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24963 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 488: /* OnCommitOption: %empty */ + case 505: /* OnCommitOption: %empty */ #line 303 "third_party/libpg_query/grammar/statements/create.y" { (yyval.oncommit) = PG_ONCOMMIT_NOOP; } -#line 24124 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24969 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 489: /* reloptions: '(' reloption_list ')' */ + case 506: /* reloptions: '(' reloption_list ')' */ #line 308 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = (yyvsp[-1].list); } -#line 24130 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24975 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 490: /* opt_no_inherit: NO INHERIT */ + case 507: /* opt_no_inherit: NO INHERIT */ #line 312 "third_party/libpg_query/grammar/statements/create.y" { (yyval.boolean) = true; } -#line 24136 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24981 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 491: /* opt_no_inherit: %empty */ + case 508: /* opt_no_inherit: %empty */ #line 313 "third_party/libpg_query/grammar/statements/create.y" { (yyval.boolean) = false; } -#line 24142 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24987 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 492: /* TableConstraint: CONSTRAINT name ConstraintElem */ + case 509: /* TableConstraint: CONSTRAINT name ConstraintElem */ #line 319 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = castNode(PGConstraint, (yyvsp[0].node)); @@ -24149,82 +24994,82 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-2]); (yyval.node) = (PGNode *) n; } -#line 24153 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 24998 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 493: /* TableConstraint: ConstraintElem */ + case 510: /* TableConstraint: ConstraintElem */ #line 325 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (yyvsp[0].node); } -#line 24159 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25004 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 494: /* TableLikeOption: COMMENTS */ + case 511: /* TableLikeOption: COMMENTS */ #line 330 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_CREATE_TABLE_LIKE_COMMENTS; } -#line 24165 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25010 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 495: /* TableLikeOption: CONSTRAINTS */ + case 512: /* TableLikeOption: CONSTRAINTS */ #line 331 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_CREATE_TABLE_LIKE_CONSTRAINTS; } -#line 24171 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25016 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 496: /* TableLikeOption: DEFAULTS */ + case 513: /* TableLikeOption: DEFAULTS */ #line 332 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_CREATE_TABLE_LIKE_DEFAULTS; } -#line 24177 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25022 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 497: /* TableLikeOption: IDENTITY_P */ + case 514: /* TableLikeOption: IDENTITY_P */ #line 333 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_CREATE_TABLE_LIKE_IDENTITY; } -#line 24183 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25028 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 498: /* TableLikeOption: INDEXES */ + case 515: /* TableLikeOption: INDEXES */ #line 334 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_CREATE_TABLE_LIKE_INDEXES; } -#line 24189 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25034 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 499: /* TableLikeOption: STATISTICS */ + case 516: /* TableLikeOption: STATISTICS */ #line 335 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_CREATE_TABLE_LIKE_STATISTICS; } -#line 24195 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25040 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 500: /* TableLikeOption: STORAGE */ + case 517: /* TableLikeOption: STORAGE */ #line 336 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_CREATE_TABLE_LIKE_STORAGE; } -#line 24201 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25046 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 501: /* TableLikeOption: ALL */ + case 518: /* TableLikeOption: ALL */ #line 337 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_CREATE_TABLE_LIKE_ALL; } -#line 24207 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25052 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 502: /* reloption_list: reloption_elem */ + case 519: /* reloption_list: reloption_elem */ #line 343 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = list_make1((yyvsp[0].defelt)); } -#line 24213 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25058 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 503: /* reloption_list: reloption_list ',' reloption_elem */ + case 520: /* reloption_list: reloption_list ',' reloption_elem */ #line 344 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); } -#line 24219 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25064 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 504: /* ExistingIndex: USING INDEX index_name */ + case 521: /* ExistingIndex: USING INDEX index_name */ #line 348 "third_party/libpg_query/grammar/statements/create.y" { (yyval.str) = (yyvsp[0].str); } -#line 24225 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25070 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 505: /* ConstraintAttr: DEFERRABLE */ + case 522: /* ConstraintAttr: DEFERRABLE */ #line 354 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24232,10 +25077,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[0]); (yyval.node) = (PGNode *)n; } -#line 24236 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25081 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 506: /* ConstraintAttr: NOT DEFERRABLE */ + case 523: /* ConstraintAttr: NOT DEFERRABLE */ #line 361 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24243,10 +25088,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *)n; } -#line 24247 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25092 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 507: /* ConstraintAttr: INITIALLY DEFERRED */ + case 524: /* ConstraintAttr: INITIALLY DEFERRED */ #line 368 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24254,10 +25099,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *)n; } -#line 24258 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25103 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 508: /* ConstraintAttr: INITIALLY IMMEDIATE */ + case 525: /* ConstraintAttr: INITIALLY IMMEDIATE */ #line 375 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24265,100 +25110,100 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *)n; } -#line 24269 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25114 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 509: /* OptWith: WITH reloptions */ + case 526: /* OptWith: WITH reloptions */ #line 386 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = (yyvsp[0].list); } -#line 24275 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25120 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 510: /* OptWith: WITH OIDS */ + case 527: /* OptWith: WITH OIDS */ #line 387 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = list_make1(makeDefElem("oids", (PGNode *) makeInteger(true), (yylsp[-1]))); } -#line 24281 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25126 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 511: /* OptWith: WITHOUT OIDS */ + case 528: /* OptWith: WITHOUT OIDS */ #line 388 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = list_make1(makeDefElem("oids", (PGNode *) makeInteger(false), (yylsp[-1]))); } -#line 24287 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25132 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 512: /* OptWith: %empty */ + case 529: /* OptWith: %empty */ #line 389 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = NIL; } -#line 24293 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25138 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 513: /* definition: '(' def_list ')' */ + case 530: /* definition: '(' def_list ')' */ #line 393 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = (yyvsp[-1].list); } -#line 24299 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25144 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 514: /* TableLikeOptionList: TableLikeOptionList INCLUDING TableLikeOption */ + case 531: /* TableLikeOptionList: TableLikeOptionList INCLUDING TableLikeOption */ #line 398 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); } -#line 24305 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25150 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 515: /* TableLikeOptionList: TableLikeOptionList EXCLUDING TableLikeOption */ + case 532: /* TableLikeOptionList: TableLikeOptionList EXCLUDING TableLikeOption */ #line 399 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); } -#line 24311 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25156 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 516: /* TableLikeOptionList: %empty */ + case 533: /* TableLikeOptionList: %empty */ #line 400 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = 0; } -#line 24317 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25162 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 517: /* generic_option_name: ColLabel */ + case 534: /* generic_option_name: ColLabel */ #line 405 "third_party/libpg_query/grammar/statements/create.y" { (yyval.str) = (yyvsp[0].str); } -#line 24323 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25168 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 518: /* ConstraintAttributeElem: NOT DEFERRABLE */ + case 535: /* ConstraintAttributeElem: NOT DEFERRABLE */ #line 410 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = CAS_NOT_DEFERRABLE; } -#line 24329 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25174 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 519: /* ConstraintAttributeElem: DEFERRABLE */ + case 536: /* ConstraintAttributeElem: DEFERRABLE */ #line 411 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = CAS_DEFERRABLE; } -#line 24335 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25180 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 520: /* ConstraintAttributeElem: INITIALLY IMMEDIATE */ + case 537: /* ConstraintAttributeElem: INITIALLY IMMEDIATE */ #line 412 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; } -#line 24341 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25186 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 521: /* ConstraintAttributeElem: INITIALLY DEFERRED */ + case 538: /* ConstraintAttributeElem: INITIALLY DEFERRED */ #line 413 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = CAS_INITIALLY_DEFERRED; } -#line 24347 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25192 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 522: /* ConstraintAttributeElem: NOT VALID */ + case 539: /* ConstraintAttributeElem: NOT VALID */ #line 414 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = CAS_NOT_VALID; } -#line 24353 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25198 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 523: /* ConstraintAttributeElem: NO INHERIT */ + case 540: /* ConstraintAttributeElem: NO INHERIT */ #line 415 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = CAS_NO_INHERIT; } -#line 24359 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25204 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 524: /* columnDef: ColId Typename ColQualList */ + case 541: /* columnDef: ColId Typename ColQualList */ #line 421 "third_party/libpg_query/grammar/statements/create.y" { PGColumnDef *n = makeNode(PGColumnDef); @@ -24378,10 +25223,10 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-2]); (yyval.node) = (PGNode *)n; } -#line 24382 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25227 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 525: /* columnDef: ColId opt_Typename GeneratedConstraintElem ColQualList */ + case 542: /* columnDef: ColId opt_Typename GeneratedConstraintElem ColQualList */ #line 441 "third_party/libpg_query/grammar/statements/create.y" { PGColumnDef *n = makeNode(PGColumnDef); @@ -24408,203 +25253,203 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-3]); (yyval.node) = (PGNode *)n; } -#line 24412 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25257 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 526: /* def_list: def_elem */ + case 543: /* def_list: def_elem */ #line 469 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = list_make1((yyvsp[0].defelt)); } -#line 24418 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25263 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 527: /* def_list: def_list ',' def_elem */ + case 544: /* def_list: def_list ',' def_elem */ #line 470 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); } -#line 24424 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25269 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 528: /* index_name: ColId */ + case 545: /* index_name: ColId */ #line 474 "third_party/libpg_query/grammar/statements/create.y" { (yyval.str) = (yyvsp[0].str); } -#line 24430 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25275 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 529: /* TableElement: columnDef */ + case 546: /* TableElement: columnDef */ #line 478 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (yyvsp[0].node); } -#line 24436 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25281 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 530: /* TableElement: TableLikeClause */ + case 547: /* TableElement: TableLikeClause */ #line 479 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (yyvsp[0].node); } -#line 24442 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25287 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 531: /* TableElement: TableConstraint */ + case 548: /* TableElement: TableConstraint */ #line 480 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (yyvsp[0].node); } -#line 24448 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25293 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 532: /* def_elem: ColLabel '=' def_arg */ + case 549: /* def_elem: ColLabel '=' def_arg */ #line 485 "third_party/libpg_query/grammar/statements/create.y" { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (PGNode *) (yyvsp[0].node), (yylsp[-2])); } -#line 24456 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25301 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 533: /* def_elem: ColLabel */ + case 550: /* def_elem: ColLabel */ #line 489 "third_party/libpg_query/grammar/statements/create.y" { (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0])); } -#line 24464 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25309 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 534: /* opt_definition: WITH definition */ + case 551: /* opt_definition: WITH definition */ #line 496 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = (yyvsp[0].list); } -#line 24470 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25315 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 535: /* opt_definition: %empty */ + case 552: /* opt_definition: %empty */ #line 497 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = NIL; } -#line 24476 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25321 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 536: /* OptTableElementList: TableElementList */ + case 553: /* OptTableElementList: TableElementList */ #line 502 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = (yyvsp[0].list); } -#line 24482 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25327 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 537: /* OptTableElementList: TableElementList ',' */ + case 554: /* OptTableElementList: TableElementList ',' */ #line 503 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = (yyvsp[-1].list); } -#line 24488 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25333 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 538: /* OptTableElementList: %empty */ + case 555: /* OptTableElementList: %empty */ #line 504 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = NIL; } -#line 24494 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25339 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 539: /* columnElem: ColId */ + case 556: /* columnElem: ColId */ #line 509 "third_party/libpg_query/grammar/statements/create.y" { (yyval.node) = (PGNode *) makeString((yyvsp[0].str)); } -#line 24502 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25347 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 540: /* opt_column_list: '(' columnList ')' */ + case 557: /* opt_column_list: '(' columnList ')' */ #line 516 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = (yyvsp[-1].list); } -#line 24508 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25353 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 541: /* opt_column_list: %empty */ + case 558: /* opt_column_list: %empty */ #line 517 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = NIL; } -#line 24514 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25359 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 542: /* ColQualList: ColQualList ColConstraint */ + case 559: /* ColQualList: ColQualList ColConstraint */ #line 522 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } -#line 24520 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25365 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 543: /* ColQualList: %empty */ + case 560: /* ColQualList: %empty */ #line 523 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = NIL; } -#line 24526 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25371 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 544: /* key_delete: ON DELETE_P key_action */ + case 561: /* key_delete: ON DELETE_P key_action */ #line 527 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = (yyvsp[0].ival); } -#line 24532 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25377 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 545: /* reloption_elem: ColLabel '=' def_arg */ + case 562: /* reloption_elem: ColLabel '=' def_arg */ #line 533 "third_party/libpg_query/grammar/statements/create.y" { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (PGNode *) (yyvsp[0].node), (yylsp[-2])); } -#line 24540 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25385 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 546: /* reloption_elem: ColLabel */ + case 563: /* reloption_elem: ColLabel */ #line 537 "third_party/libpg_query/grammar/statements/create.y" { (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0])); } -#line 24548 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25393 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 547: /* reloption_elem: ColLabel '.' ColLabel '=' def_arg */ + case 564: /* reloption_elem: ColLabel '.' ColLabel '=' def_arg */ #line 541 "third_party/libpg_query/grammar/statements/create.y" { (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (PGNode *) (yyvsp[0].node), PG_DEFELEM_UNSPEC, (yylsp[-4])); } -#line 24557 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25402 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 548: /* reloption_elem: ColLabel '.' ColLabel */ + case 565: /* reloption_elem: ColLabel '.' ColLabel */ #line 546 "third_party/libpg_query/grammar/statements/create.y" { (yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, PG_DEFELEM_UNSPEC, (yylsp[-2])); } -#line 24565 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25410 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 549: /* columnList: columnElem */ + case 566: /* columnList: columnElem */ #line 553 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 24571 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25416 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 550: /* columnList: columnList ',' columnElem */ + case 567: /* columnList: columnList ',' columnElem */ #line 554 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 24577 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25422 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 551: /* columnList_opt_comma: columnList */ + case 568: /* columnList_opt_comma: columnList */ #line 558 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = (yyvsp[0].list); } -#line 24583 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25428 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 552: /* columnList_opt_comma: columnList ',' */ + case 569: /* columnList_opt_comma: columnList ',' */ #line 559 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = (yyvsp[-1].list); } -#line 24589 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25434 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 553: /* func_type: Typename */ + case 570: /* func_type: Typename */ #line 563 "third_party/libpg_query/grammar/statements/create.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 24595 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25440 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 554: /* func_type: type_function_name attrs '%' TYPE_P */ + case 571: /* func_type: type_function_name attrs '%' TYPE_P */ #line 565 "third_party/libpg_query/grammar/statements/create.y" { (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list))); (yyval.typnam)->pct_type = true; (yyval.typnam)->location = (yylsp[-3]); } -#line 24605 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25450 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 555: /* func_type: SETOF type_function_name attrs '%' TYPE_P */ + case 572: /* func_type: SETOF type_function_name attrs '%' TYPE_P */ #line 571 "third_party/libpg_query/grammar/statements/create.y" { (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list))); @@ -24612,10 +25457,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.typnam)->setof = true; (yyval.typnam)->location = (yylsp[-3]); } -#line 24616 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25461 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 556: /* ConstraintElem: CHECK_P '(' a_expr ')' ConstraintAttributeSpec */ + case 573: /* ConstraintElem: CHECK_P '(' a_expr ')' ConstraintAttributeSpec */ #line 582 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24629,10 +25474,10 @@ YYLTYPE yylloc = yyloc_default; n->initially_valid = !n->skip_validation; (yyval.node) = (PGNode *)n; } -#line 24633 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25478 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 557: /* ConstraintElem: UNIQUE '(' columnList_opt_comma ')' opt_definition ConstraintAttributeSpec */ + case 574: /* ConstraintElem: UNIQUE '(' columnList_opt_comma ')' opt_definition ConstraintAttributeSpec */ #line 596 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24646,10 +25491,10 @@ YYLTYPE yylloc = yyloc_default; NULL, yyscanner); (yyval.node) = (PGNode *)n; } -#line 24650 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25495 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 558: /* ConstraintElem: UNIQUE ExistingIndex ConstraintAttributeSpec */ + case 575: /* ConstraintElem: UNIQUE ExistingIndex ConstraintAttributeSpec */ #line 609 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24664,10 +25509,10 @@ YYLTYPE yylloc = yyloc_default; NULL, yyscanner); (yyval.node) = (PGNode *)n; } -#line 24668 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25513 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 559: /* ConstraintElem: PRIMARY KEY '(' columnList_opt_comma ')' opt_definition ConstraintAttributeSpec */ + case 576: /* ConstraintElem: PRIMARY KEY '(' columnList_opt_comma ')' opt_definition ConstraintAttributeSpec */ #line 624 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24681,10 +25526,10 @@ YYLTYPE yylloc = yyloc_default; NULL, yyscanner); (yyval.node) = (PGNode *)n; } -#line 24685 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25530 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 560: /* ConstraintElem: PRIMARY KEY ExistingIndex ConstraintAttributeSpec */ + case 577: /* ConstraintElem: PRIMARY KEY ExistingIndex ConstraintAttributeSpec */ #line 637 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24699,10 +25544,10 @@ YYLTYPE yylloc = yyloc_default; NULL, yyscanner); (yyval.node) = (PGNode *)n; } -#line 24703 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25548 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 561: /* ConstraintElem: FOREIGN KEY '(' columnList_opt_comma ')' REFERENCES qualified_name opt_column_list key_match key_actions ConstraintAttributeSpec */ + case 578: /* ConstraintElem: FOREIGN KEY '(' columnList_opt_comma ')' REFERENCES qualified_name opt_column_list key_match key_actions ConstraintAttributeSpec */ #line 652 "third_party/libpg_query/grammar/statements/create.y" { PGConstraint *n = makeNode(PGConstraint); @@ -24721,34 +25566,34 @@ YYLTYPE yylloc = yyloc_default; n->initially_valid = !n->skip_validation; (yyval.node) = (PGNode *)n; } -#line 24725 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25570 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 562: /* TableElementList: TableElement */ + case 579: /* TableElementList: TableElement */ #line 674 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 24733 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25578 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 563: /* TableElementList: TableElementList ',' TableElement */ + case 580: /* TableElementList: TableElementList ',' TableElement */ #line 678 "third_party/libpg_query/grammar/statements/create.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 24741 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25586 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 564: /* key_match: MATCH FULL */ + case 581: /* key_match: MATCH FULL */ #line 685 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_FKCONSTR_MATCH_FULL; } -#line 24749 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25594 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 565: /* key_match: MATCH PARTIAL */ + case 582: /* key_match: MATCH PARTIAL */ #line 689 "third_party/libpg_query/grammar/statements/create.y" { ereport(ERROR, @@ -24757,26 +25602,26 @@ YYLTYPE yylloc = yyloc_default; parser_errposition((yylsp[-1])))); (yyval.ival) = PG_FKCONSTR_MATCH_PARTIAL; } -#line 24761 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25606 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 566: /* key_match: MATCH SIMPLE */ + case 583: /* key_match: MATCH SIMPLE */ #line 697 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_FKCONSTR_MATCH_SIMPLE; } -#line 24769 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25614 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 567: /* key_match: %empty */ + case 584: /* key_match: %empty */ #line 701 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_FKCONSTR_MATCH_SIMPLE; } -#line 24777 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25622 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 568: /* TableLikeClause: LIKE qualified_name TableLikeOptionList */ + case 585: /* TableLikeClause: LIKE qualified_name TableLikeOptionList */ #line 709 "third_party/libpg_query/grammar/statements/create.y" { PGTableLikeClause *n = makeNode(PGTableLikeClause); @@ -24784,34 +25629,34 @@ YYLTYPE yylloc = yyloc_default; n->options = (yyvsp[0].ival); (yyval.node) = (PGNode *)n; } -#line 24788 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25633 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 569: /* OptTemp: TEMPORARY */ + case 586: /* OptTemp: TEMPORARY */ #line 718 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_RELPERSISTENCE_TEMP; } -#line 24794 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25639 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 570: /* OptTemp: TEMP */ + case 587: /* OptTemp: TEMP */ #line 719 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_RELPERSISTENCE_TEMP; } -#line 24800 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25645 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 571: /* OptTemp: LOCAL TEMPORARY */ + case 588: /* OptTemp: LOCAL TEMPORARY */ #line 720 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_RELPERSISTENCE_TEMP; } -#line 24806 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25651 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 572: /* OptTemp: LOCAL TEMP */ + case 589: /* OptTemp: LOCAL TEMP */ #line 721 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_RELPERSISTENCE_TEMP; } -#line 24812 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25657 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 573: /* OptTemp: GLOBAL TEMPORARY */ + case 590: /* OptTemp: GLOBAL TEMPORARY */ #line 723 "third_party/libpg_query/grammar/statements/create.y" { ereport(PGWARNING, @@ -24819,10 +25664,10 @@ YYLTYPE yylloc = yyloc_default; parser_errposition((yylsp[-1])))); (yyval.ival) = PG_RELPERSISTENCE_TEMP; } -#line 24823 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25668 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 574: /* OptTemp: GLOBAL TEMP */ + case 591: /* OptTemp: GLOBAL TEMP */ #line 730 "third_party/libpg_query/grammar/statements/create.y" { ereport(PGWARNING, @@ -24830,34 +25675,34 @@ YYLTYPE yylloc = yyloc_default; parser_errposition((yylsp[-1])))); (yyval.ival) = PG_RELPERSISTENCE_TEMP; } -#line 24834 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25679 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 575: /* OptTemp: UNLOGGED */ + case 592: /* OptTemp: UNLOGGED */ #line 736 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_RELPERSISTENCE_UNLOGGED; } -#line 24840 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25685 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 576: /* OptTemp: %empty */ + case 593: /* OptTemp: %empty */ #line 737 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = RELPERSISTENCE_PERMANENT; } -#line 24846 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25691 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 577: /* generated_when: ALWAYS */ + case 594: /* generated_when: ALWAYS */ #line 742 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = PG_ATTRIBUTE_IDENTITY_ALWAYS; } -#line 24852 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25697 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 578: /* generated_when: BY DEFAULT */ + case 595: /* generated_when: BY DEFAULT */ #line 743 "third_party/libpg_query/grammar/statements/create.y" { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; } -#line 24858 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25703 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 579: /* DropStmt: DROP drop_type_any_name IF_P EXISTS any_name_list opt_drop_behavior */ + case 596: /* DropStmt: DROP drop_type_any_name IF_P EXISTS any_name_list opt_drop_behavior */ #line 10 "third_party/libpg_query/grammar/statements/drop.y" { PGDropStmt *n = makeNode(PGDropStmt); @@ -24868,10 +25713,10 @@ YYLTYPE yylloc = yyloc_default; n->concurrent = false; (yyval.node) = (PGNode *)n; } -#line 24872 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25717 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 580: /* DropStmt: DROP drop_type_any_name any_name_list opt_drop_behavior */ + case 597: /* DropStmt: DROP drop_type_any_name any_name_list opt_drop_behavior */ #line 20 "third_party/libpg_query/grammar/statements/drop.y" { PGDropStmt *n = makeNode(PGDropStmt); @@ -24882,10 +25727,10 @@ YYLTYPE yylloc = yyloc_default; n->concurrent = false; (yyval.node) = (PGNode *)n; } -#line 24886 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25731 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 581: /* DropStmt: DROP drop_type_name IF_P EXISTS name_list opt_drop_behavior */ + case 598: /* DropStmt: DROP drop_type_name IF_P EXISTS name_list opt_drop_behavior */ #line 30 "third_party/libpg_query/grammar/statements/drop.y" { PGDropStmt *n = makeNode(PGDropStmt); @@ -24896,278 +25741,244 @@ YYLTYPE yylloc = yyloc_default; n->concurrent = false; (yyval.node) = (PGNode *)n; } -#line 24900 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25745 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 582: /* DropStmt: DROP drop_type_name name_list opt_drop_behavior */ + case 599: /* DropStmt: DROP drop_type_name name_list opt_drop_behavior */ #line 40 "third_party/libpg_query/grammar/statements/drop.y" { PGDropStmt *n = makeNode(PGDropStmt); n->removeType = (yyvsp[-2].objtype); - n->missing_ok = false; - n->objects = (yyvsp[-1].list); - n->behavior = (yyvsp[0].dbehavior); - n->concurrent = false; - (yyval.node) = (PGNode *)n; - } -#line 24914 "third_party/libpg_query/grammar/grammar_out.cpp" - break; - - case 583: /* DropStmt: DROP drop_type_name_on_any_name name ON any_name opt_drop_behavior */ -#line 50 "third_party/libpg_query/grammar/statements/drop.y" - { - PGDropStmt *n = makeNode(PGDropStmt); - n->removeType = (yyvsp[-4].objtype); - n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str)))); - n->behavior = (yyvsp[0].dbehavior); - n->missing_ok = false; - n->concurrent = false; - (yyval.node) = (PGNode *) n; - } -#line 24928 "third_party/libpg_query/grammar/grammar_out.cpp" - break; - - case 584: /* DropStmt: DROP drop_type_name_on_any_name IF_P EXISTS name ON any_name opt_drop_behavior */ -#line 60 "third_party/libpg_query/grammar/statements/drop.y" - { - PGDropStmt *n = makeNode(PGDropStmt); - n->removeType = (yyvsp[-6].objtype); - n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str)))); + n->missing_ok = false; + n->objects = (yyvsp[-1].list); n->behavior = (yyvsp[0].dbehavior); - n->missing_ok = true; n->concurrent = false; - (yyval.node) = (PGNode *) n; + (yyval.node) = (PGNode *)n; } -#line 24942 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25759 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 585: /* DropStmt: DROP TYPE_P type_name_list opt_drop_behavior */ -#line 70 "third_party/libpg_query/grammar/statements/drop.y" + case 600: /* DropStmt: DROP drop_type_name_on_any_name name ON any_name opt_drop_behavior */ +#line 50 "third_party/libpg_query/grammar/statements/drop.y" { PGDropStmt *n = makeNode(PGDropStmt); - n->removeType = PG_OBJECT_TYPE; - n->missing_ok = false; - n->objects = (yyvsp[-1].list); + n->removeType = (yyvsp[-4].objtype); + n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str)))); n->behavior = (yyvsp[0].dbehavior); + n->missing_ok = false; n->concurrent = false; (yyval.node) = (PGNode *) n; } -#line 24956 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25773 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 586: /* DropStmt: DROP TYPE_P IF_P EXISTS type_name_list opt_drop_behavior */ -#line 80 "third_party/libpg_query/grammar/statements/drop.y" + case 601: /* DropStmt: DROP drop_type_name_on_any_name IF_P EXISTS name ON any_name opt_drop_behavior */ +#line 60 "third_party/libpg_query/grammar/statements/drop.y" { PGDropStmt *n = makeNode(PGDropStmt); - n->removeType = PG_OBJECT_TYPE; - n->missing_ok = true; - n->objects = (yyvsp[-1].list); + n->removeType = (yyvsp[-6].objtype); + n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str)))); n->behavior = (yyvsp[0].dbehavior); + n->missing_ok = true; n->concurrent = false; (yyval.node) = (PGNode *) n; } -#line 24970 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25787 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 587: /* drop_type_any_name: TABLE */ -#line 93 "third_party/libpg_query/grammar/statements/drop.y" + case 602: /* drop_type_any_name: TABLE */ +#line 73 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_TABLE; } -#line 24976 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25793 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 588: /* drop_type_any_name: SEQUENCE */ -#line 94 "third_party/libpg_query/grammar/statements/drop.y" + case 603: /* drop_type_any_name: SEQUENCE */ +#line 74 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_SEQUENCE; } -#line 24982 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25799 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 589: /* drop_type_any_name: FUNCTION */ -#line 95 "third_party/libpg_query/grammar/statements/drop.y" + case 604: /* drop_type_any_name: FUNCTION */ +#line 75 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_FUNCTION; } -#line 24988 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25805 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 590: /* drop_type_any_name: MACRO */ -#line 96 "third_party/libpg_query/grammar/statements/drop.y" + case 605: /* drop_type_any_name: MACRO */ +#line 76 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_FUNCTION; } -#line 24994 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25811 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 591: /* drop_type_any_name: MACRO TABLE */ -#line 97 "third_party/libpg_query/grammar/statements/drop.y" + case 606: /* drop_type_any_name: MACRO TABLE */ +#line 77 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_TABLE_MACRO; } -#line 25000 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25817 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 592: /* drop_type_any_name: VIEW */ -#line 98 "third_party/libpg_query/grammar/statements/drop.y" + case 607: /* drop_type_any_name: VIEW */ +#line 78 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_VIEW; } -#line 25006 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25823 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 593: /* drop_type_any_name: MATERIALIZED VIEW */ -#line 99 "third_party/libpg_query/grammar/statements/drop.y" + case 608: /* drop_type_any_name: MATERIALIZED VIEW */ +#line 79 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_MATVIEW; } -#line 25012 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25829 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 594: /* drop_type_any_name: INDEX */ -#line 100 "third_party/libpg_query/grammar/statements/drop.y" + case 609: /* drop_type_any_name: INDEX */ +#line 80 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_INDEX; } -#line 25018 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25835 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 595: /* drop_type_any_name: FOREIGN TABLE */ -#line 101 "third_party/libpg_query/grammar/statements/drop.y" + case 610: /* drop_type_any_name: FOREIGN TABLE */ +#line 81 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_FOREIGN_TABLE; } -#line 25024 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25841 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 596: /* drop_type_any_name: COLLATION */ -#line 102 "third_party/libpg_query/grammar/statements/drop.y" + case 611: /* drop_type_any_name: COLLATION */ +#line 82 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_COLLATION; } -#line 25030 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25847 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 597: /* drop_type_any_name: CONVERSION_P */ -#line 103 "third_party/libpg_query/grammar/statements/drop.y" + case 612: /* drop_type_any_name: CONVERSION_P */ +#line 83 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_CONVERSION; } -#line 25036 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25853 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 598: /* drop_type_any_name: SCHEMA */ -#line 104 "third_party/libpg_query/grammar/statements/drop.y" + case 613: /* drop_type_any_name: SCHEMA */ +#line 84 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_SCHEMA; } -#line 25042 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25859 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 599: /* drop_type_any_name: STATISTICS */ -#line 105 "third_party/libpg_query/grammar/statements/drop.y" + case 614: /* drop_type_any_name: STATISTICS */ +#line 85 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_STATISTIC_EXT; } -#line 25048 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25865 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 600: /* drop_type_any_name: TEXT_P SEARCH PARSER */ -#line 106 "third_party/libpg_query/grammar/statements/drop.y" + case 615: /* drop_type_any_name: TEXT_P SEARCH PARSER */ +#line 86 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_TSPARSER; } -#line 25054 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25871 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 601: /* drop_type_any_name: TEXT_P SEARCH DICTIONARY */ -#line 107 "third_party/libpg_query/grammar/statements/drop.y" + case 616: /* drop_type_any_name: TEXT_P SEARCH DICTIONARY */ +#line 87 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_TSDICTIONARY; } -#line 25060 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25877 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 602: /* drop_type_any_name: TEXT_P SEARCH TEMPLATE */ -#line 108 "third_party/libpg_query/grammar/statements/drop.y" + case 617: /* drop_type_any_name: TEXT_P SEARCH TEMPLATE */ +#line 88 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_TSTEMPLATE; } -#line 25066 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25883 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 603: /* drop_type_any_name: TEXT_P SEARCH CONFIGURATION */ -#line 109 "third_party/libpg_query/grammar/statements/drop.y" + case 618: /* drop_type_any_name: TEXT_P SEARCH CONFIGURATION */ +#line 89 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_TSCONFIGURATION; } -#line 25072 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25889 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 619: /* drop_type_any_name: TYPE_P */ +#line 90 "third_party/libpg_query/grammar/statements/drop.y" + { (yyval.objtype) = PG_OBJECT_TYPE; } +#line 25895 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 604: /* drop_type_name: ACCESS METHOD */ -#line 114 "third_party/libpg_query/grammar/statements/drop.y" + case 620: /* drop_type_name: ACCESS METHOD */ +#line 95 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_ACCESS_METHOD; } -#line 25078 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25901 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 605: /* drop_type_name: EVENT TRIGGER */ -#line 115 "third_party/libpg_query/grammar/statements/drop.y" + case 621: /* drop_type_name: EVENT TRIGGER */ +#line 96 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_EVENT_TRIGGER; } -#line 25084 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25907 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 606: /* drop_type_name: EXTENSION */ -#line 116 "third_party/libpg_query/grammar/statements/drop.y" + case 622: /* drop_type_name: EXTENSION */ +#line 97 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_EXTENSION; } -#line 25090 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25913 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 607: /* drop_type_name: FOREIGN DATA_P WRAPPER */ -#line 117 "third_party/libpg_query/grammar/statements/drop.y" + case 623: /* drop_type_name: FOREIGN DATA_P WRAPPER */ +#line 98 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_FDW; } -#line 25096 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25919 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 608: /* drop_type_name: PUBLICATION */ -#line 118 "third_party/libpg_query/grammar/statements/drop.y" + case 624: /* drop_type_name: PUBLICATION */ +#line 99 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_PUBLICATION; } -#line 25102 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25925 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 609: /* drop_type_name: SERVER */ -#line 119 "third_party/libpg_query/grammar/statements/drop.y" + case 625: /* drop_type_name: SERVER */ +#line 100 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_FOREIGN_SERVER; } -#line 25108 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25931 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 610: /* any_name_list: any_name */ -#line 124 "third_party/libpg_query/grammar/statements/drop.y" + case 626: /* any_name_list: any_name */ +#line 105 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.list) = list_make1((yyvsp[0].list)); } -#line 25114 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25937 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 611: /* any_name_list: any_name_list ',' any_name */ -#line 125 "third_party/libpg_query/grammar/statements/drop.y" + case 627: /* any_name_list: any_name_list ',' any_name */ +#line 106 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); } -#line 25120 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25943 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 612: /* opt_drop_behavior: CASCADE */ -#line 130 "third_party/libpg_query/grammar/statements/drop.y" + case 628: /* opt_drop_behavior: CASCADE */ +#line 111 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.dbehavior) = PG_DROP_CASCADE; } -#line 25126 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25949 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 613: /* opt_drop_behavior: RESTRICT */ -#line 131 "third_party/libpg_query/grammar/statements/drop.y" + case 629: /* opt_drop_behavior: RESTRICT */ +#line 112 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.dbehavior) = PG_DROP_RESTRICT; } -#line 25132 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25955 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 614: /* opt_drop_behavior: %empty */ -#line 132 "third_party/libpg_query/grammar/statements/drop.y" + case 630: /* opt_drop_behavior: %empty */ +#line 113 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.dbehavior) = PG_DROP_RESTRICT; /* default */ } -#line 25138 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25961 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 615: /* drop_type_name_on_any_name: POLICY */ -#line 137 "third_party/libpg_query/grammar/statements/drop.y" + case 631: /* drop_type_name_on_any_name: POLICY */ +#line 118 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_POLICY; } -#line 25144 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25967 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 616: /* drop_type_name_on_any_name: RULE */ -#line 138 "third_party/libpg_query/grammar/statements/drop.y" + case 632: /* drop_type_name_on_any_name: RULE */ +#line 119 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_RULE; } -#line 25150 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25973 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 617: /* drop_type_name_on_any_name: TRIGGER */ -#line 139 "third_party/libpg_query/grammar/statements/drop.y" + case 633: /* drop_type_name_on_any_name: TRIGGER */ +#line 120 "third_party/libpg_query/grammar/statements/drop.y" { (yyval.objtype) = PG_OBJECT_TRIGGER; } -#line 25156 "third_party/libpg_query/grammar/grammar_out.cpp" - break; - - case 618: /* type_name_list: Typename */ -#line 142 "third_party/libpg_query/grammar/statements/drop.y" - { (yyval.list) = list_make1((yyvsp[0].typnam)); } -#line 25162 "third_party/libpg_query/grammar/grammar_out.cpp" - break; - - case 619: /* type_name_list: type_name_list ',' Typename */ -#line 143 "third_party/libpg_query/grammar/statements/drop.y" - { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); } -#line 25168 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25979 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 620: /* CreateFunctionStmt: CREATE_P OptTemp macro_alias qualified_name param_list AS TABLE SelectStmt */ + case 634: /* CreateFunctionStmt: CREATE_P OptTemp macro_alias qualified_name param_list AS TABLE SelectStmt */ #line 9 "third_party/libpg_query/grammar/statements/create_function.y" { PGCreateFunctionStmt *n = makeNode(PGCreateFunctionStmt); @@ -25179,10 +25990,10 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_ERROR_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 25183 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 25994 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 621: /* CreateFunctionStmt: CREATE_P OptTemp macro_alias IF_P NOT EXISTS qualified_name param_list AS TABLE SelectStmt */ + case 635: /* CreateFunctionStmt: CREATE_P OptTemp macro_alias IF_P NOT EXISTS qualified_name param_list AS TABLE SelectStmt */ #line 21 "third_party/libpg_query/grammar/statements/create_function.y" { PGCreateFunctionStmt *n = makeNode(PGCreateFunctionStmt); @@ -25195,10 +26006,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *)n; } -#line 25199 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26010 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 622: /* CreateFunctionStmt: CREATE_P OR REPLACE OptTemp macro_alias qualified_name param_list AS TABLE SelectStmt */ + case 636: /* CreateFunctionStmt: CREATE_P OR REPLACE OptTemp macro_alias qualified_name param_list AS TABLE SelectStmt */ #line 34 "third_party/libpg_query/grammar/statements/create_function.y" { PGCreateFunctionStmt *n = makeNode(PGCreateFunctionStmt); @@ -25211,10 +26022,10 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *)n; } -#line 25215 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26026 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 623: /* CreateFunctionStmt: CREATE_P OptTemp macro_alias qualified_name param_list AS a_expr */ + case 637: /* CreateFunctionStmt: CREATE_P OptTemp macro_alias qualified_name param_list AS a_expr */ #line 47 "third_party/libpg_query/grammar/statements/create_function.y" { PGCreateFunctionStmt *n = makeNode(PGCreateFunctionStmt); @@ -25226,10 +26037,10 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_ERROR_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 25230 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26041 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 624: /* CreateFunctionStmt: CREATE_P OptTemp macro_alias IF_P NOT EXISTS qualified_name param_list AS a_expr */ + case 638: /* CreateFunctionStmt: CREATE_P OptTemp macro_alias IF_P NOT EXISTS qualified_name param_list AS a_expr */ #line 59 "third_party/libpg_query/grammar/statements/create_function.y" { PGCreateFunctionStmt *n = makeNode(PGCreateFunctionStmt); @@ -25241,10 +26052,10 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_IGNORE_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 25245 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26056 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 625: /* CreateFunctionStmt: CREATE_P OR REPLACE OptTemp macro_alias qualified_name param_list AS a_expr */ + case 639: /* CreateFunctionStmt: CREATE_P OR REPLACE OptTemp macro_alias qualified_name param_list AS a_expr */ #line 71 "third_party/libpg_query/grammar/statements/create_function.y" { PGCreateFunctionStmt *n = makeNode(PGCreateFunctionStmt); @@ -25256,26 +26067,26 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_REPLACE_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 25260 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26071 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 628: /* param_list: '(' ')' */ + case 642: /* param_list: '(' ')' */ #line 92 "third_party/libpg_query/grammar/statements/create_function.y" { (yyval.list) = NIL; } -#line 25268 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26079 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 629: /* param_list: '(' func_arg_list ')' */ + case 643: /* param_list: '(' func_arg_list ')' */ #line 96 "third_party/libpg_query/grammar/statements/create_function.y" { (yyval.list) = (yyvsp[-1].list); } -#line 25276 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26087 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 630: /* UpdateStmt: opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list_opt_comma from_clause where_or_current_clause returning_clause */ + case 644: /* UpdateStmt: opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list_opt_comma from_clause where_or_current_clause returning_clause */ #line 12 "third_party/libpg_query/grammar/statements/update.y" { PGUpdateStmt *n = makeNode(PGUpdateStmt); @@ -25287,10 +26098,10 @@ YYLTYPE yylloc = yyloc_default; n->withClause = (yyvsp[-7].with); (yyval.node) = (PGNode *)n; } -#line 25291 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26102 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 631: /* CopyStmt: COPY opt_binary qualified_name opt_column_list opt_oids copy_from opt_program copy_file_name copy_delimiter opt_with copy_options */ + case 645: /* CopyStmt: COPY opt_binary qualified_name opt_column_list opt_oids copy_from opt_program copy_file_name copy_delimiter opt_with copy_options */ #line 3 "third_party/libpg_query/grammar/statements/copy.y" { PGCopyStmt *n = makeNode(PGCopyStmt); @@ -25319,10 +26130,10 @@ YYLTYPE yylloc = yyloc_default; n->options = list_concat(n->options, (yyvsp[0].list)); (yyval.node) = (PGNode *)n; } -#line 25323 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26134 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 632: /* CopyStmt: COPY '(' SelectStmt ')' TO opt_program copy_file_name opt_with copy_options */ + case 646: /* CopyStmt: COPY '(' SelectStmt ')' TO opt_program copy_file_name opt_with copy_options */ #line 31 "third_party/libpg_query/grammar/statements/copy.y" { PGCopyStmt *n = makeNode(PGCopyStmt); @@ -25342,382 +26153,432 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *)n; } -#line 25346 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26157 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 647: /* CopyStmt: COPY FROM DATABASE ColId TO ColId copy_database_flag */ +#line 50 "third_party/libpg_query/grammar/statements/copy.y" + { + PGCopyDatabaseStmt *n = makeNode(PGCopyDatabaseStmt); + n->from_database = (yyvsp[-3].str); + n->to_database = (yyvsp[-1].str); + n->copy_database_flag = (yyvsp[0].conststr); + (yyval.node) = (PGNode *)n; + } +#line 26169 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 648: /* copy_database_flag: %empty */ +#line 61 "third_party/libpg_query/grammar/statements/copy.y" + { (yyval.conststr) = NULL; } +#line 26175 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 649: /* copy_database_flag: '(' SCHEMA ')' */ +#line 62 "third_party/libpg_query/grammar/statements/copy.y" + { (yyval.conststr) = "schema"; } +#line 26181 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 633: /* copy_from: FROM */ -#line 53 "third_party/libpg_query/grammar/statements/copy.y" + case 650: /* copy_database_flag: '(' DATA_P ')' */ +#line 63 "third_party/libpg_query/grammar/statements/copy.y" + { (yyval.conststr) = "data"; } +#line 26187 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 651: /* copy_from: FROM */ +#line 67 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.boolean) = true; } -#line 25352 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26193 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 634: /* copy_from: TO */ -#line 54 "third_party/libpg_query/grammar/statements/copy.y" + case 652: /* copy_from: TO */ +#line 68 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.boolean) = false; } -#line 25358 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26199 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 635: /* copy_delimiter: opt_using DELIMITERS Sconst */ -#line 60 "third_party/libpg_query/grammar/statements/copy.y" + case 653: /* copy_delimiter: opt_using DELIMITERS Sconst */ +#line 74 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("delimiter", (PGNode *)makeString((yyvsp[0].str)), (yylsp[-1])); } -#line 25366 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26207 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 636: /* copy_delimiter: %empty */ -#line 63 "third_party/libpg_query/grammar/statements/copy.y" + case 654: /* copy_delimiter: %empty */ +#line 77 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = NULL; } -#line 25372 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26213 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 637: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list_item */ -#line 69 "third_party/libpg_query/grammar/statements/copy.y" + case 655: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list_item */ +#line 83 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 25380 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26221 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 638: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list ',' copy_generic_opt_arg_list_item */ -#line 73 "third_party/libpg_query/grammar/statements/copy.y" + case 656: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list ',' copy_generic_opt_arg_list_item */ +#line 87 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 25388 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26229 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 639: /* opt_using: USING */ -#line 80 "third_party/libpg_query/grammar/statements/copy.y" + case 657: /* opt_using: USING */ +#line 94 "third_party/libpg_query/grammar/statements/copy.y" {} -#line 25394 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26235 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 640: /* opt_using: %empty */ -#line 81 "third_party/libpg_query/grammar/statements/copy.y" + case 658: /* opt_using: %empty */ +#line 95 "third_party/libpg_query/grammar/statements/copy.y" {} -#line 25400 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26241 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 641: /* opt_as: AS */ -#line 85 "third_party/libpg_query/grammar/statements/copy.y" + case 659: /* opt_as: AS */ +#line 99 "third_party/libpg_query/grammar/statements/copy.y" {} -#line 25406 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26247 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 642: /* opt_as: %empty */ -#line 86 "third_party/libpg_query/grammar/statements/copy.y" + case 660: /* opt_as: %empty */ +#line 100 "third_party/libpg_query/grammar/statements/copy.y" {} -#line 25412 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26253 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 643: /* opt_program: PROGRAM */ -#line 91 "third_party/libpg_query/grammar/statements/copy.y" + case 661: /* opt_program: PROGRAM */ +#line 105 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.boolean) = true; } -#line 25418 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26259 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 644: /* opt_program: %empty */ -#line 92 "third_party/libpg_query/grammar/statements/copy.y" + case 662: /* opt_program: %empty */ +#line 106 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.boolean) = false; } -#line 25424 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26265 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 645: /* copy_options: copy_opt_list */ -#line 96 "third_party/libpg_query/grammar/statements/copy.y" + case 663: /* copy_options: copy_opt_list */ +#line 110 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.list) = (yyvsp[0].list); } -#line 25430 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26271 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 646: /* copy_options: '(' copy_generic_opt_list ')' */ -#line 97 "third_party/libpg_query/grammar/statements/copy.y" + case 664: /* copy_options: '(' copy_generic_opt_list ')' */ +#line 111 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.list) = (yyvsp[-1].list); } -#line 25436 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26277 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 647: /* copy_generic_opt_arg: opt_boolean_or_string */ -#line 102 "third_party/libpg_query/grammar/statements/copy.y" + case 665: /* copy_generic_opt_arg: opt_boolean_or_string */ +#line 116 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.node) = (PGNode *) makeString((yyvsp[0].str)); } -#line 25442 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26283 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 648: /* copy_generic_opt_arg: NumericOnly */ -#line 103 "third_party/libpg_query/grammar/statements/copy.y" + case 666: /* copy_generic_opt_arg: NumericOnly */ +#line 117 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.node) = (PGNode *) (yyvsp[0].value); } -#line 25448 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26289 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 649: /* copy_generic_opt_arg: '*' */ -#line 104 "third_party/libpg_query/grammar/statements/copy.y" + case 667: /* copy_generic_opt_arg: '*' */ +#line 118 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.node) = (PGNode *) makeNode(PGAStar); } -#line 25454 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26295 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 650: /* copy_generic_opt_arg: '(' copy_generic_opt_arg_list ')' */ -#line 105 "third_party/libpg_query/grammar/statements/copy.y" + case 668: /* copy_generic_opt_arg: '(' copy_generic_opt_arg_list ')' */ +#line 119 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.node) = (PGNode *) (yyvsp[-1].list); } -#line 25460 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26301 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 651: /* copy_generic_opt_arg: struct_expr */ -#line 106 "third_party/libpg_query/grammar/statements/copy.y" + case 669: /* copy_generic_opt_arg: struct_expr */ +#line 120 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.node) = (PGNode *) (yyvsp[0].node); } -#line 25466 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26307 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 652: /* copy_generic_opt_arg: %empty */ -#line 107 "third_party/libpg_query/grammar/statements/copy.y" + case 670: /* copy_generic_opt_arg: %empty */ +#line 121 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.node) = NULL; } -#line 25472 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26313 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 653: /* copy_generic_opt_elem: ColLabel copy_generic_opt_arg */ -#line 113 "third_party/libpg_query/grammar/statements/copy.y" + case 671: /* copy_generic_opt_elem: ColLabel copy_generic_opt_arg */ +#line 127 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); } -#line 25480 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26321 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 654: /* opt_oids: WITH OIDS */ -#line 121 "third_party/libpg_query/grammar/statements/copy.y" + case 672: /* opt_oids: WITH OIDS */ +#line 135 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("oids", (PGNode *)makeInteger(true), (yylsp[-1])); } -#line 25488 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26329 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 655: /* opt_oids: %empty */ -#line 124 "third_party/libpg_query/grammar/statements/copy.y" + case 673: /* opt_oids: %empty */ +#line 138 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = NULL; } -#line 25494 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26335 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 656: /* copy_opt_list: copy_opt_list copy_opt_item */ -#line 129 "third_party/libpg_query/grammar/statements/copy.y" + case 674: /* copy_opt_list: copy_opt_list copy_opt_item */ +#line 143 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); } -#line 25500 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26341 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 657: /* copy_opt_list: %empty */ -#line 130 "third_party/libpg_query/grammar/statements/copy.y" + case 675: /* copy_opt_list: %empty */ +#line 144 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.list) = NIL; } -#line 25506 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26347 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 658: /* opt_binary: BINARY */ -#line 136 "third_party/libpg_query/grammar/statements/copy.y" + case 676: /* opt_binary: BINARY */ +#line 150 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("format", (PGNode *)makeString("binary"), (yylsp[0])); } -#line 25514 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26355 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 659: /* opt_binary: %empty */ -#line 139 "third_party/libpg_query/grammar/statements/copy.y" + case 677: /* opt_binary: %empty */ +#line 153 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = NULL; } -#line 25520 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26361 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 660: /* copy_opt_item: BINARY */ -#line 145 "third_party/libpg_query/grammar/statements/copy.y" + case 678: /* copy_opt_item: BINARY */ +#line 159 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("format", (PGNode *)makeString("binary"), (yylsp[0])); } -#line 25528 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26369 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 661: /* copy_opt_item: OIDS */ -#line 149 "third_party/libpg_query/grammar/statements/copy.y" + case 679: /* copy_opt_item: OIDS */ +#line 163 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("oids", (PGNode *)makeInteger(true), (yylsp[0])); } -#line 25536 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26377 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 662: /* copy_opt_item: FREEZE */ -#line 153 "third_party/libpg_query/grammar/statements/copy.y" + case 680: /* copy_opt_item: FREEZE */ +#line 167 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("freeze", (PGNode *)makeInteger(true), (yylsp[0])); } -#line 25544 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26385 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 663: /* copy_opt_item: DELIMITER opt_as Sconst */ -#line 157 "third_party/libpg_query/grammar/statements/copy.y" + case 681: /* copy_opt_item: DELIMITER opt_as Sconst */ +#line 171 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("delimiter", (PGNode *)makeString((yyvsp[0].str)), (yylsp[-2])); } -#line 25552 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26393 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 664: /* copy_opt_item: NULL_P opt_as Sconst */ -#line 161 "third_party/libpg_query/grammar/statements/copy.y" + case 682: /* copy_opt_item: NULL_P opt_as Sconst */ +#line 175 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("null", (PGNode *)makeString((yyvsp[0].str)), (yylsp[-2])); } -#line 25560 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26401 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 665: /* copy_opt_item: CSV */ -#line 165 "third_party/libpg_query/grammar/statements/copy.y" + case 683: /* copy_opt_item: CSV */ +#line 179 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("format", (PGNode *)makeString("csv"), (yylsp[0])); } -#line 25568 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26409 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 666: /* copy_opt_item: HEADER_P */ -#line 169 "third_party/libpg_query/grammar/statements/copy.y" + case 684: /* copy_opt_item: HEADER_P */ +#line 183 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("header", (PGNode *)makeInteger(true), (yylsp[0])); } -#line 25576 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26417 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 667: /* copy_opt_item: QUOTE opt_as Sconst */ -#line 173 "third_party/libpg_query/grammar/statements/copy.y" + case 685: /* copy_opt_item: QUOTE opt_as Sconst */ +#line 187 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("quote", (PGNode *)makeString((yyvsp[0].str)), (yylsp[-2])); } -#line 25584 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26425 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 668: /* copy_opt_item: ESCAPE opt_as Sconst */ -#line 177 "third_party/libpg_query/grammar/statements/copy.y" + case 686: /* copy_opt_item: ESCAPE opt_as Sconst */ +#line 191 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("escape", (PGNode *)makeString((yyvsp[0].str)), (yylsp[-2])); } -#line 25592 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26433 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 669: /* copy_opt_item: FORCE QUOTE columnList */ -#line 181 "third_party/libpg_query/grammar/statements/copy.y" + case 687: /* copy_opt_item: FORCE QUOTE columnList */ +#line 195 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("force_quote", (PGNode *)(yyvsp[0].list), (yylsp[-2])); } -#line 25600 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26441 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 670: /* copy_opt_item: FORCE QUOTE '*' */ -#line 185 "third_party/libpg_query/grammar/statements/copy.y" + case 688: /* copy_opt_item: FORCE QUOTE '*' */ +#line 199 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("force_quote", (PGNode *)makeNode(PGAStar), (yylsp[-2])); } -#line 25608 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26449 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 671: /* copy_opt_item: PARTITION BY columnList */ -#line 189 "third_party/libpg_query/grammar/statements/copy.y" + case 689: /* copy_opt_item: PARTITION BY columnList */ +#line 203 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("partition_by", (PGNode *)(yyvsp[0].list), (yylsp[-2])); } -#line 25616 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26457 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 672: /* copy_opt_item: PARTITION BY '*' */ -#line 193 "third_party/libpg_query/grammar/statements/copy.y" + case 690: /* copy_opt_item: PARTITION BY '*' */ +#line 207 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("partition_by", (PGNode *)makeNode(PGAStar), (yylsp[-2])); } -#line 25624 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26465 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 673: /* copy_opt_item: FORCE NOT NULL_P columnList */ -#line 197 "third_party/libpg_query/grammar/statements/copy.y" + case 691: /* copy_opt_item: FORCE NOT NULL_P columnList */ +#line 211 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("force_not_null", (PGNode *)(yyvsp[0].list), (yylsp[-3])); } -#line 25632 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26473 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 674: /* copy_opt_item: FORCE NULL_P columnList */ -#line 201 "third_party/libpg_query/grammar/statements/copy.y" + case 692: /* copy_opt_item: FORCE NULL_P columnList */ +#line 215 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("force_null", (PGNode *)(yyvsp[0].list), (yylsp[-2])); } -#line 25640 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26481 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 675: /* copy_opt_item: ENCODING Sconst */ -#line 205 "third_party/libpg_query/grammar/statements/copy.y" + case 693: /* copy_opt_item: ENCODING Sconst */ +#line 219 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.defelt) = makeDefElem("encoding", (PGNode *)makeString((yyvsp[0].str)), (yylsp[-1])); } -#line 25648 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26489 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 676: /* copy_generic_opt_arg_list_item: opt_boolean_or_string */ -#line 212 "third_party/libpg_query/grammar/statements/copy.y" + case 694: /* copy_generic_opt_arg_list_item: opt_boolean_or_string */ +#line 226 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.node) = (PGNode *) makeString((yyvsp[0].str)); } -#line 25654 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26495 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 677: /* copy_file_name: Sconst */ -#line 218 "third_party/libpg_query/grammar/statements/copy.y" + case 695: /* copy_file_name: Sconst */ +#line 231 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.str) = (yyvsp[0].str); } -#line 25660 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26501 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 678: /* copy_file_name: STDIN */ -#line 219 "third_party/libpg_query/grammar/statements/copy.y" + case 696: /* copy_file_name: STDIN */ +#line 232 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.str) = NULL; } -#line 25666 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26507 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 679: /* copy_file_name: STDOUT */ -#line 220 "third_party/libpg_query/grammar/statements/copy.y" + case 697: /* copy_file_name: STDOUT */ +#line 233 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.str) = NULL; } -#line 25672 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26513 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 680: /* copy_generic_opt_list: copy_generic_opt_elem */ -#line 226 "third_party/libpg_query/grammar/statements/copy.y" + case 698: /* copy_file_name: IDENT '.' ColId */ +#line 234 "third_party/libpg_query/grammar/statements/copy.y" + { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); } +#line 26519 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 699: /* copy_file_name: IDENT */ +#line 235 "third_party/libpg_query/grammar/statements/copy.y" + { (yyval.str) = (yyvsp[0].str); } +#line 26525 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 700: /* copy_generic_opt_list: copy_generic_opt_elem */ +#line 242 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.list) = list_make1((yyvsp[0].defelt)); } -#line 25680 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26533 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 681: /* copy_generic_opt_list: copy_generic_opt_list ',' copy_generic_opt_elem */ -#line 230 "third_party/libpg_query/grammar/statements/copy.y" + case 701: /* copy_generic_opt_list: copy_generic_opt_list ',' copy_generic_opt_elem */ +#line 246 "third_party/libpg_query/grammar/statements/copy.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); } -#line 25688 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26541 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 684: /* select_with_parens: '(' select_no_parens ')' */ + case 704: /* select_with_parens: '(' select_no_parens ')' */ #line 52 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[-1].node); } -#line 25694 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26547 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 685: /* select_with_parens: '(' select_with_parens ')' */ + case 705: /* select_with_parens: '(' select_with_parens ')' */ #line 53 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[-1].node); } -#line 25700 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26553 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 706: /* select_with_parens: '(' VariableShowStmt ')' */ +#line 55 "third_party/libpg_query/grammar/statements/select.y" + { + (yyval.node) = (yyvsp[-1].node); + } +#line 26561 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 686: /* select_no_parens: simple_select */ -#line 68 "third_party/libpg_query/grammar/statements/select.y" + case 707: /* select_no_parens: simple_select */ +#line 72 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 25706 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26567 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 687: /* select_no_parens: select_clause sort_clause */ -#line 70 "third_party/libpg_query/grammar/statements/select.y" + case 708: /* select_no_parens: select_clause sort_clause */ +#line 74 "third_party/libpg_query/grammar/statements/select.y" { insertSelectOptions((PGSelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL, NULL, NULL, NULL, yyscanner); (yyval.node) = (yyvsp[-1].node); } -#line 25717 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26578 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 688: /* select_no_parens: select_clause opt_sort_clause for_locking_clause opt_select_limit */ -#line 77 "third_party/libpg_query/grammar/statements/select.y" + case 709: /* select_no_parens: select_clause opt_sort_clause for_locking_clause opt_select_limit */ +#line 81 "third_party/libpg_query/grammar/statements/select.y" { insertSelectOptions((PGSelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list), (PGNode*) list_nth((yyvsp[0].list), 0), (PGNode*) list_nth((yyvsp[0].list), 1), @@ -25725,11 +26586,11 @@ YYLTYPE yylloc = yyloc_default; yyscanner); (yyval.node) = (yyvsp[-3].node); } -#line 25729 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26590 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 689: /* select_no_parens: select_clause opt_sort_clause select_limit opt_for_locking_clause */ -#line 85 "third_party/libpg_query/grammar/statements/select.y" + case 710: /* select_no_parens: select_clause opt_sort_clause select_limit opt_for_locking_clause */ +#line 89 "third_party/libpg_query/grammar/statements/select.y" { insertSelectOptions((PGSelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list), (PGNode*) list_nth((yyvsp[-1].list), 0), (PGNode*) list_nth((yyvsp[-1].list), 1), @@ -25737,11 +26598,11 @@ YYLTYPE yylloc = yyloc_default; yyscanner); (yyval.node) = (yyvsp[-3].node); } -#line 25741 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26602 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 690: /* select_no_parens: with_clause select_clause */ -#line 93 "third_party/libpg_query/grammar/statements/select.y" + case 711: /* select_no_parens: with_clause select_clause */ +#line 97 "third_party/libpg_query/grammar/statements/select.y" { insertSelectOptions((PGSelectStmt *) (yyvsp[0].node), NULL, NIL, NULL, NULL, @@ -25749,11 +26610,11 @@ YYLTYPE yylloc = yyloc_default; yyscanner); (yyval.node) = (yyvsp[0].node); } -#line 25753 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26614 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 691: /* select_no_parens: with_clause select_clause sort_clause */ -#line 101 "third_party/libpg_query/grammar/statements/select.y" + case 712: /* select_no_parens: with_clause select_clause sort_clause */ +#line 105 "third_party/libpg_query/grammar/statements/select.y" { insertSelectOptions((PGSelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL, NULL, NULL, @@ -25761,11 +26622,11 @@ YYLTYPE yylloc = yyloc_default; yyscanner); (yyval.node) = (yyvsp[-1].node); } -#line 25765 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26626 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 692: /* select_no_parens: with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit */ -#line 109 "third_party/libpg_query/grammar/statements/select.y" + case 713: /* select_no_parens: with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit */ +#line 113 "third_party/libpg_query/grammar/statements/select.y" { insertSelectOptions((PGSelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list), (PGNode*) list_nth((yyvsp[0].list), 0), (PGNode*) list_nth((yyvsp[0].list), 1), @@ -25773,11 +26634,11 @@ YYLTYPE yylloc = yyloc_default; yyscanner); (yyval.node) = (yyvsp[-3].node); } -#line 25777 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26638 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 693: /* select_no_parens: with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause */ -#line 117 "third_party/libpg_query/grammar/statements/select.y" + case 714: /* select_no_parens: with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause */ +#line 121 "third_party/libpg_query/grammar/statements/select.y" { insertSelectOptions((PGSelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list), (PGNode*) list_nth((yyvsp[-1].list), 0), (PGNode*) list_nth((yyvsp[-1].list), 1), @@ -25785,40 +26646,40 @@ YYLTYPE yylloc = yyloc_default; yyscanner); (yyval.node) = (yyvsp[-3].node); } -#line 25789 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26650 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 694: /* select_clause: simple_select */ -#line 127 "third_party/libpg_query/grammar/statements/select.y" + case 715: /* select_clause: simple_select */ +#line 131 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 25795 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26656 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 695: /* select_clause: select_with_parens */ -#line 128 "third_party/libpg_query/grammar/statements/select.y" + case 716: /* select_clause: select_with_parens */ +#line 132 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 25801 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26662 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 696: /* opt_select: SELECT opt_all_clause opt_target_list_opt_comma */ -#line 156 "third_party/libpg_query/grammar/statements/select.y" + case 717: /* opt_select: SELECT opt_all_clause opt_target_list_opt_comma */ +#line 160 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 25809 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26670 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 697: /* opt_select: %empty */ -#line 160 "third_party/libpg_query/grammar/statements/select.y" + case 718: /* opt_select: %empty */ +#line 164 "third_party/libpg_query/grammar/statements/select.y" { PGAStar *star = makeNode(PGAStar); (yyval.list) = list_make1(star); } -#line 25818 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26679 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 698: /* simple_select: SELECT opt_all_clause opt_target_list_opt_comma into_clause from_clause where_clause group_clause having_clause window_clause qualify_clause sample_clause */ -#line 171 "third_party/libpg_query/grammar/statements/select.y" + case 719: /* simple_select: SELECT opt_all_clause opt_target_list_opt_comma into_clause from_clause where_clause group_clause having_clause window_clause qualify_clause sample_clause */ +#line 175 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *n = makeNode(PGSelectStmt); n->targetList = (yyvsp[-8].list); @@ -25832,11 +26693,11 @@ YYLTYPE yylloc = yyloc_default; n->sampleOptions = (yyvsp[0].node); (yyval.node) = (PGNode *)n; } -#line 25836 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26697 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 699: /* simple_select: SELECT distinct_clause target_list_opt_comma into_clause from_clause where_clause group_clause having_clause window_clause qualify_clause sample_clause */ -#line 187 "third_party/libpg_query/grammar/statements/select.y" + case 720: /* simple_select: SELECT distinct_clause target_list_opt_comma into_clause from_clause where_clause group_clause having_clause window_clause qualify_clause sample_clause */ +#line 191 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *n = makeNode(PGSelectStmt); n->distinctClause = (yyvsp[-9].list); @@ -25851,11 +26712,11 @@ YYLTYPE yylloc = yyloc_default; n->sampleOptions = (yyvsp[0].node); (yyval.node) = (PGNode *)n; } -#line 25855 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26716 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 700: /* simple_select: FROM from_list opt_select into_clause where_clause group_clause having_clause window_clause qualify_clause sample_clause */ -#line 204 "third_party/libpg_query/grammar/statements/select.y" + case 721: /* simple_select: FROM from_list opt_select into_clause where_clause group_clause having_clause window_clause qualify_clause sample_clause */ +#line 208 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *n = makeNode(PGSelectStmt); n->targetList = (yyvsp[-7].list); @@ -25869,11 +26730,11 @@ YYLTYPE yylloc = yyloc_default; n->sampleOptions = (yyvsp[0].node); (yyval.node) = (PGNode *)n; } -#line 25873 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26734 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 701: /* simple_select: FROM from_list SELECT distinct_clause target_list_opt_comma into_clause where_clause group_clause having_clause window_clause qualify_clause sample_clause */ -#line 221 "third_party/libpg_query/grammar/statements/select.y" + case 722: /* simple_select: FROM from_list SELECT distinct_clause target_list_opt_comma into_clause where_clause group_clause having_clause window_clause qualify_clause sample_clause */ +#line 225 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *n = makeNode(PGSelectStmt); n->targetList = (yyvsp[-7].list); @@ -25888,17 +26749,17 @@ YYLTYPE yylloc = yyloc_default; n->sampleOptions = (yyvsp[0].node); (yyval.node) = (PGNode *)n; } -#line 25892 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26753 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 702: /* simple_select: values_clause_opt_comma */ -#line 235 "third_party/libpg_query/grammar/statements/select.y" + case 723: /* simple_select: values_clause_opt_comma */ +#line 239 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 25898 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26759 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 703: /* simple_select: TABLE relation_expr */ -#line 237 "third_party/libpg_query/grammar/statements/select.y" + case 724: /* simple_select: TABLE relation_expr */ +#line 241 "third_party/libpg_query/grammar/statements/select.y" { /* same as SELECT * FROM relation_expr */ PGColumnRef *cr = makeNode(PGColumnRef); @@ -25917,43 +26778,43 @@ YYLTYPE yylloc = yyloc_default; n->fromClause = list_make1((yyvsp[0].range)); (yyval.node) = (PGNode *)n; } -#line 25921 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26782 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 704: /* simple_select: select_clause UNION all_or_distinct by_name select_clause */ -#line 256 "third_party/libpg_query/grammar/statements/select.y" + case 725: /* simple_select: select_clause UNION all_or_distinct by_name select_clause */ +#line 260 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSetOp(PG_SETOP_UNION_BY_NAME, (yyvsp[-2].boolean), (yyvsp[-4].node), (yyvsp[0].node)); } -#line 25929 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26790 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 705: /* simple_select: select_clause UNION all_or_distinct select_clause */ -#line 260 "third_party/libpg_query/grammar/statements/select.y" + case 726: /* simple_select: select_clause UNION all_or_distinct select_clause */ +#line 264 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSetOp(PG_SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node)); } -#line 25937 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26798 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 706: /* simple_select: select_clause INTERSECT all_or_distinct select_clause */ -#line 264 "third_party/libpg_query/grammar/statements/select.y" + case 727: /* simple_select: select_clause INTERSECT all_or_distinct select_clause */ +#line 268 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSetOp(PG_SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node)); } -#line 25945 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26806 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 707: /* simple_select: select_clause EXCEPT all_or_distinct select_clause */ -#line 268 "third_party/libpg_query/grammar/statements/select.y" + case 728: /* simple_select: select_clause EXCEPT all_or_distinct select_clause */ +#line 272 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSetOp(PG_SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node)); } -#line 25953 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26814 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 708: /* simple_select: pivot_keyword table_ref USING target_list_opt_comma */ -#line 272 "third_party/libpg_query/grammar/statements/select.y" + case 729: /* simple_select: pivot_keyword table_ref USING target_list_opt_comma */ +#line 276 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *res = makeNode(PGSelectStmt); PGPivotStmt *n = makeNode(PGPivotStmt); @@ -25962,11 +26823,11 @@ YYLTYPE yylloc = yyloc_default; res->pivot = n; (yyval.node) = (PGNode *)res; } -#line 25966 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26827 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 709: /* simple_select: pivot_keyword table_ref USING target_list_opt_comma GROUP_P BY name_list_opt_comma_opt_bracket */ -#line 281 "third_party/libpg_query/grammar/statements/select.y" + case 730: /* simple_select: pivot_keyword table_ref USING target_list_opt_comma GROUP_P BY name_list_opt_comma_opt_bracket */ +#line 285 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *res = makeNode(PGSelectStmt); PGPivotStmt *n = makeNode(PGPivotStmt); @@ -25976,11 +26837,11 @@ YYLTYPE yylloc = yyloc_default; res->pivot = n; (yyval.node) = (PGNode *)res; } -#line 25980 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26841 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 710: /* simple_select: pivot_keyword table_ref GROUP_P BY name_list_opt_comma_opt_bracket */ -#line 291 "third_party/libpg_query/grammar/statements/select.y" + case 731: /* simple_select: pivot_keyword table_ref GROUP_P BY name_list_opt_comma_opt_bracket */ +#line 295 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *res = makeNode(PGSelectStmt); PGPivotStmt *n = makeNode(PGPivotStmt); @@ -25989,11 +26850,11 @@ YYLTYPE yylloc = yyloc_default; res->pivot = n; (yyval.node) = (PGNode *)res; } -#line 25993 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26854 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 711: /* simple_select: pivot_keyword table_ref ON pivot_column_list */ -#line 300 "third_party/libpg_query/grammar/statements/select.y" + case 732: /* simple_select: pivot_keyword table_ref ON pivot_column_list */ +#line 304 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *res = makeNode(PGSelectStmt); PGPivotStmt *n = makeNode(PGPivotStmt); @@ -26002,11 +26863,11 @@ YYLTYPE yylloc = yyloc_default; res->pivot = n; (yyval.node) = (PGNode *)res; } -#line 26006 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26867 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 712: /* simple_select: pivot_keyword table_ref ON pivot_column_list GROUP_P BY name_list_opt_comma_opt_bracket */ -#line 309 "third_party/libpg_query/grammar/statements/select.y" + case 733: /* simple_select: pivot_keyword table_ref ON pivot_column_list GROUP_P BY name_list_opt_comma_opt_bracket */ +#line 313 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *res = makeNode(PGSelectStmt); PGPivotStmt *n = makeNode(PGPivotStmt); @@ -26016,11 +26877,11 @@ YYLTYPE yylloc = yyloc_default; res->pivot = n; (yyval.node) = (PGNode *)res; } -#line 26020 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26881 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 713: /* simple_select: pivot_keyword table_ref ON pivot_column_list USING target_list_opt_comma */ -#line 319 "third_party/libpg_query/grammar/statements/select.y" + case 734: /* simple_select: pivot_keyword table_ref ON pivot_column_list USING target_list_opt_comma */ +#line 323 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *res = makeNode(PGSelectStmt); PGPivotStmt *n = makeNode(PGPivotStmt); @@ -26030,11 +26891,11 @@ YYLTYPE yylloc = yyloc_default; res->pivot = n; (yyval.node) = (PGNode *)res; } -#line 26034 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26895 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 714: /* simple_select: pivot_keyword table_ref ON pivot_column_list USING target_list_opt_comma GROUP_P BY name_list_opt_comma_opt_bracket */ -#line 329 "third_party/libpg_query/grammar/statements/select.y" + case 735: /* simple_select: pivot_keyword table_ref ON pivot_column_list USING target_list_opt_comma GROUP_P BY name_list_opt_comma_opt_bracket */ +#line 333 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *res = makeNode(PGSelectStmt); PGPivotStmt *n = makeNode(PGPivotStmt); @@ -26045,11 +26906,11 @@ YYLTYPE yylloc = yyloc_default; res->pivot = n; (yyval.node) = (PGNode *)res; } -#line 26049 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26910 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 715: /* simple_select: unpivot_keyword table_ref ON target_list_opt_comma INTO NAME_P name value_or_values name_list_opt_comma_opt_bracket */ -#line 340 "third_party/libpg_query/grammar/statements/select.y" + case 736: /* simple_select: unpivot_keyword table_ref ON target_list_opt_comma INTO NAME_P name value_or_values name_list_opt_comma_opt_bracket */ +#line 344 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *res = makeNode(PGSelectStmt); PGPivotStmt *n = makeNode(PGPivotStmt); @@ -26063,11 +26924,11 @@ YYLTYPE yylloc = yyloc_default; res->pivot = n; (yyval.node) = (PGNode *)res; } -#line 26067 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26928 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 716: /* simple_select: unpivot_keyword table_ref ON target_list_opt_comma */ -#line 354 "third_party/libpg_query/grammar/statements/select.y" + case 737: /* simple_select: unpivot_keyword table_ref ON target_list_opt_comma */ +#line 358 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *res = makeNode(PGSelectStmt); PGPivotStmt *n = makeNode(PGPivotStmt); @@ -26081,107 +26942,107 @@ YYLTYPE yylloc = yyloc_default; res->pivot = n; (yyval.node) = (PGNode *)res; } -#line 26085 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26946 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 723: /* pivot_column_entry: b_expr */ -#line 383 "third_party/libpg_query/grammar/statements/select.y" + case 744: /* pivot_column_entry: b_expr */ +#line 387 "third_party/libpg_query/grammar/statements/select.y" { PGPivot *n = makeNode(PGPivot); n->pivot_columns = list_make1((yyvsp[0].node)); (yyval.node) = (PGNode *) n; } -#line 26095 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26956 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 724: /* pivot_column_entry: b_expr IN_P '(' select_no_parens ')' */ -#line 389 "third_party/libpg_query/grammar/statements/select.y" + case 745: /* pivot_column_entry: b_expr IN_P '(' select_no_parens ')' */ +#line 393 "third_party/libpg_query/grammar/statements/select.y" { PGPivot *n = makeNode(PGPivot); n->pivot_columns = list_make1((yyvsp[-4].node)); n->subquery = (yyvsp[-1].node); (yyval.node) = (PGNode *) n; } -#line 26106 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26967 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 725: /* pivot_column_entry: single_pivot_value */ -#line 395 "third_party/libpg_query/grammar/statements/select.y" + case 746: /* pivot_column_entry: single_pivot_value */ +#line 399 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26112 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26973 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 726: /* pivot_column_list_internal: pivot_column_entry */ -#line 399 "third_party/libpg_query/grammar/statements/select.y" + case 747: /* pivot_column_list_internal: pivot_column_entry */ +#line 403 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 26118 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26979 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 727: /* pivot_column_list_internal: pivot_column_list_internal ',' pivot_column_entry */ -#line 400 "third_party/libpg_query/grammar/statements/select.y" + case 748: /* pivot_column_list_internal: pivot_column_list_internal ',' pivot_column_entry */ +#line 404 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 26124 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26985 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 728: /* pivot_column_list: pivot_column_list_internal */ -#line 404 "third_party/libpg_query/grammar/statements/select.y" + case 749: /* pivot_column_list: pivot_column_list_internal */ +#line 408 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 26130 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26991 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 729: /* pivot_column_list: pivot_column_list_internal ',' */ -#line 405 "third_party/libpg_query/grammar/statements/select.y" + case 750: /* pivot_column_list: pivot_column_list_internal ',' */ +#line 409 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 26136 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 26997 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 730: /* with_clause: WITH cte_list */ -#line 420 "third_party/libpg_query/grammar/statements/select.y" + case 751: /* with_clause: WITH cte_list */ +#line 424 "third_party/libpg_query/grammar/statements/select.y" { (yyval.with) = makeNode(PGWithClause); (yyval.with)->ctes = (yyvsp[0].list); (yyval.with)->recursive = false; (yyval.with)->location = (yylsp[-1]); } -#line 26147 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27008 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 731: /* with_clause: WITH_LA cte_list */ -#line 427 "third_party/libpg_query/grammar/statements/select.y" + case 752: /* with_clause: WITH_LA cte_list */ +#line 431 "third_party/libpg_query/grammar/statements/select.y" { (yyval.with) = makeNode(PGWithClause); (yyval.with)->ctes = (yyvsp[0].list); (yyval.with)->recursive = false; (yyval.with)->location = (yylsp[-1]); } -#line 26158 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27019 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 732: /* with_clause: WITH RECURSIVE cte_list */ -#line 434 "third_party/libpg_query/grammar/statements/select.y" + case 753: /* with_clause: WITH RECURSIVE cte_list */ +#line 438 "third_party/libpg_query/grammar/statements/select.y" { (yyval.with) = makeNode(PGWithClause); (yyval.with)->ctes = (yyvsp[0].list); (yyval.with)->recursive = true; (yyval.with)->location = (yylsp[-2]); } -#line 26169 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27030 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 733: /* cte_list: common_table_expr */ -#line 443 "third_party/libpg_query/grammar/statements/select.y" + case 754: /* cte_list: common_table_expr */ +#line 447 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 26175 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27036 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 734: /* cte_list: cte_list ',' common_table_expr */ -#line 444 "third_party/libpg_query/grammar/statements/select.y" + case 755: /* cte_list: cte_list ',' common_table_expr */ +#line 448 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 26181 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27042 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 735: /* common_table_expr: name opt_name_list AS opt_materialized '(' PreparableStmt ')' */ -#line 448 "third_party/libpg_query/grammar/statements/select.y" + case 756: /* common_table_expr: name opt_name_list AS opt_materialized '(' PreparableStmt ')' */ +#line 452 "third_party/libpg_query/grammar/statements/select.y" { PGCommonTableExpr *n = makeNode(PGCommonTableExpr); n->ctename = (yyvsp[-6].str); @@ -26191,29 +27052,29 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-6]); (yyval.node) = (PGNode *) n; } -#line 26195 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27056 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 736: /* opt_materialized: MATERIALIZED */ -#line 460 "third_party/libpg_query/grammar/statements/select.y" + case 757: /* opt_materialized: MATERIALIZED */ +#line 464 "third_party/libpg_query/grammar/statements/select.y" { (yyval.ctematerialize) = PGCTEMaterializeAlways; } -#line 26201 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27062 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 737: /* opt_materialized: NOT MATERIALIZED */ -#line 461 "third_party/libpg_query/grammar/statements/select.y" + case 758: /* opt_materialized: NOT MATERIALIZED */ +#line 465 "third_party/libpg_query/grammar/statements/select.y" { (yyval.ctematerialize) = PGCTEMaterializeNever; } -#line 26207 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27068 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 738: /* opt_materialized: %empty */ -#line 462 "third_party/libpg_query/grammar/statements/select.y" + case 759: /* opt_materialized: %empty */ +#line 466 "third_party/libpg_query/grammar/statements/select.y" { (yyval.ctematerialize) = PGCTEMaterializeDefault; } -#line 26213 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27074 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 739: /* into_clause: INTO OptTempTableName */ -#line 467 "third_party/libpg_query/grammar/statements/select.y" + case 760: /* into_clause: INTO OptTempTableName */ +#line 471 "third_party/libpg_query/grammar/statements/select.y" { (yyval.into) = makeNode(PGIntoClause); (yyval.into)->rel = (yyvsp[0].range); @@ -26223,53 +27084,53 @@ YYLTYPE yylloc = yyloc_default; (yyval.into)->viewQuery = NULL; (yyval.into)->skipData = false; } -#line 26227 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27088 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 740: /* into_clause: %empty */ -#line 477 "third_party/libpg_query/grammar/statements/select.y" + case 761: /* into_clause: %empty */ +#line 481 "third_party/libpg_query/grammar/statements/select.y" { (yyval.into) = NULL; } -#line 26233 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27094 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 741: /* OptTempTableName: TEMPORARY opt_table qualified_name */ -#line 486 "third_party/libpg_query/grammar/statements/select.y" + case 762: /* OptTempTableName: TEMPORARY opt_table qualified_name */ +#line 490 "third_party/libpg_query/grammar/statements/select.y" { (yyval.range) = (yyvsp[0].range); (yyval.range)->relpersistence = PG_RELPERSISTENCE_TEMP; } -#line 26242 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27103 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 742: /* OptTempTableName: TEMP opt_table qualified_name */ -#line 491 "third_party/libpg_query/grammar/statements/select.y" + case 763: /* OptTempTableName: TEMP opt_table qualified_name */ +#line 495 "third_party/libpg_query/grammar/statements/select.y" { (yyval.range) = (yyvsp[0].range); (yyval.range)->relpersistence = PG_RELPERSISTENCE_TEMP; } -#line 26251 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27112 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 743: /* OptTempTableName: LOCAL TEMPORARY opt_table qualified_name */ -#line 496 "third_party/libpg_query/grammar/statements/select.y" + case 764: /* OptTempTableName: LOCAL TEMPORARY opt_table qualified_name */ +#line 500 "third_party/libpg_query/grammar/statements/select.y" { (yyval.range) = (yyvsp[0].range); (yyval.range)->relpersistence = PG_RELPERSISTENCE_TEMP; } -#line 26260 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27121 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 744: /* OptTempTableName: LOCAL TEMP opt_table qualified_name */ -#line 501 "third_party/libpg_query/grammar/statements/select.y" + case 765: /* OptTempTableName: LOCAL TEMP opt_table qualified_name */ +#line 505 "third_party/libpg_query/grammar/statements/select.y" { (yyval.range) = (yyvsp[0].range); (yyval.range)->relpersistence = PG_RELPERSISTENCE_TEMP; } -#line 26269 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27130 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 745: /* OptTempTableName: GLOBAL TEMPORARY opt_table qualified_name */ -#line 506 "third_party/libpg_query/grammar/statements/select.y" + case 766: /* OptTempTableName: GLOBAL TEMPORARY opt_table qualified_name */ +#line 510 "third_party/libpg_query/grammar/statements/select.y" { ereport(PGWARNING, (errmsg("GLOBAL is deprecated in temporary table creation"), @@ -26277,11 +27138,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.range) = (yyvsp[0].range); (yyval.range)->relpersistence = PG_RELPERSISTENCE_TEMP; } -#line 26281 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27142 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 746: /* OptTempTableName: GLOBAL TEMP opt_table qualified_name */ -#line 514 "third_party/libpg_query/grammar/statements/select.y" + case 767: /* OptTempTableName: GLOBAL TEMP opt_table qualified_name */ +#line 518 "third_party/libpg_query/grammar/statements/select.y" { ereport(PGWARNING, (errmsg("GLOBAL is deprecated in temporary table creation"), @@ -26289,134 +27150,134 @@ YYLTYPE yylloc = yyloc_default; (yyval.range) = (yyvsp[0].range); (yyval.range)->relpersistence = PG_RELPERSISTENCE_TEMP; } -#line 26293 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27154 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 747: /* OptTempTableName: UNLOGGED opt_table qualified_name */ -#line 522 "third_party/libpg_query/grammar/statements/select.y" + case 768: /* OptTempTableName: UNLOGGED opt_table qualified_name */ +#line 526 "third_party/libpg_query/grammar/statements/select.y" { (yyval.range) = (yyvsp[0].range); (yyval.range)->relpersistence = PG_RELPERSISTENCE_UNLOGGED; } -#line 26302 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27163 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 748: /* OptTempTableName: TABLE qualified_name */ -#line 527 "third_party/libpg_query/grammar/statements/select.y" + case 769: /* OptTempTableName: TABLE qualified_name */ +#line 531 "third_party/libpg_query/grammar/statements/select.y" { (yyval.range) = (yyvsp[0].range); (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT; } -#line 26311 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27172 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 749: /* OptTempTableName: qualified_name */ -#line 532 "third_party/libpg_query/grammar/statements/select.y" + case 770: /* OptTempTableName: qualified_name */ +#line 536 "third_party/libpg_query/grammar/statements/select.y" { (yyval.range) = (yyvsp[0].range); (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT; } -#line 26320 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27181 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 750: /* opt_table: TABLE */ -#line 538 "third_party/libpg_query/grammar/statements/select.y" + case 771: /* opt_table: TABLE */ +#line 542 "third_party/libpg_query/grammar/statements/select.y" {} -#line 26326 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27187 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 751: /* opt_table: %empty */ -#line 539 "third_party/libpg_query/grammar/statements/select.y" + case 772: /* opt_table: %empty */ +#line 543 "third_party/libpg_query/grammar/statements/select.y" {} -#line 26332 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27193 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 752: /* all_or_distinct: ALL */ -#line 543 "third_party/libpg_query/grammar/statements/select.y" + case 773: /* all_or_distinct: ALL */ +#line 547 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = true; } -#line 26338 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27199 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 753: /* all_or_distinct: DISTINCT */ -#line 544 "third_party/libpg_query/grammar/statements/select.y" + case 774: /* all_or_distinct: DISTINCT */ +#line 548 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = false; } -#line 26344 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27205 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 754: /* all_or_distinct: %empty */ -#line 545 "third_party/libpg_query/grammar/statements/select.y" + case 775: /* all_or_distinct: %empty */ +#line 549 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = false; } -#line 26350 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27211 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 755: /* by_name: BY NAME_P */ -#line 549 "third_party/libpg_query/grammar/statements/select.y" + case 776: /* by_name: BY NAME_P */ +#line 553 "third_party/libpg_query/grammar/statements/select.y" { } -#line 26356 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27217 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 756: /* distinct_clause: DISTINCT */ -#line 556 "third_party/libpg_query/grammar/statements/select.y" + case 777: /* distinct_clause: DISTINCT */ +#line 560 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(NIL); } -#line 26362 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27223 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 757: /* distinct_clause: DISTINCT ON '(' expr_list_opt_comma ')' */ -#line 557 "third_party/libpg_query/grammar/statements/select.y" + case 778: /* distinct_clause: DISTINCT ON '(' expr_list_opt_comma ')' */ +#line 561 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 26368 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27229 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 758: /* opt_all_clause: ALL */ -#line 561 "third_party/libpg_query/grammar/statements/select.y" + case 779: /* opt_all_clause: ALL */ +#line 565 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL;} -#line 26374 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27235 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 759: /* opt_all_clause: %empty */ -#line 562 "third_party/libpg_query/grammar/statements/select.y" + case 780: /* opt_all_clause: %empty */ +#line 566 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 26380 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27241 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 760: /* opt_ignore_nulls: IGNORE_P NULLS_P */ -#line 566 "third_party/libpg_query/grammar/statements/select.y" + case 781: /* opt_ignore_nulls: IGNORE_P NULLS_P */ +#line 570 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = true;} -#line 26386 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27247 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 761: /* opt_ignore_nulls: RESPECT_P NULLS_P */ -#line 567 "third_party/libpg_query/grammar/statements/select.y" + case 782: /* opt_ignore_nulls: RESPECT_P NULLS_P */ +#line 571 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = false;} -#line 26392 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27253 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 762: /* opt_ignore_nulls: %empty */ -#line 568 "third_party/libpg_query/grammar/statements/select.y" + case 783: /* opt_ignore_nulls: %empty */ +#line 572 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = false; } -#line 26398 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27259 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 763: /* opt_sort_clause: sort_clause */ -#line 572 "third_party/libpg_query/grammar/statements/select.y" + case 784: /* opt_sort_clause: sort_clause */ +#line 576 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list);} -#line 26404 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27265 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 764: /* opt_sort_clause: %empty */ -#line 573 "third_party/libpg_query/grammar/statements/select.y" + case 785: /* opt_sort_clause: %empty */ +#line 577 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 26410 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27271 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 765: /* sort_clause: ORDER BY sortby_list */ -#line 577 "third_party/libpg_query/grammar/statements/select.y" + case 786: /* sort_clause: ORDER BY sortby_list */ +#line 581 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 26416 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27277 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 766: /* sort_clause: ORDER BY ALL opt_asc_desc opt_nulls_order */ -#line 579 "third_party/libpg_query/grammar/statements/select.y" + case 787: /* sort_clause: ORDER BY ALL opt_asc_desc opt_nulls_order */ +#line 583 "third_party/libpg_query/grammar/statements/select.y" { PGSortBy *sort = makeNode(PGSortBy); PGAStar *star = makeNode(PGAStar); @@ -26429,23 +27290,23 @@ YYLTYPE yylloc = yyloc_default; sort->location = -1; /* no operator */ (yyval.list) = list_make1(sort); } -#line 26433 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27294 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 767: /* sortby_list: sortby */ -#line 594 "third_party/libpg_query/grammar/statements/select.y" + case 788: /* sortby_list: sortby */ +#line 598 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].sortby)); } -#line 26439 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27300 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 768: /* sortby_list: sortby_list ',' sortby */ -#line 595 "third_party/libpg_query/grammar/statements/select.y" + case 789: /* sortby_list: sortby_list ',' sortby */ +#line 599 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); } -#line 26445 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27306 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 769: /* sortby: a_expr USING qual_all_Op opt_nulls_order */ -#line 599 "third_party/libpg_query/grammar/statements/select.y" + case 790: /* sortby: a_expr USING qual_all_Op opt_nulls_order */ +#line 603 "third_party/libpg_query/grammar/statements/select.y" { (yyval.sortby) = makeNode(PGSortBy); (yyval.sortby)->node = (yyvsp[-3].node); @@ -26454,11 +27315,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.sortby)->useOp = (yyvsp[-1].list); (yyval.sortby)->location = (yylsp[-1]); } -#line 26458 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27319 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 770: /* sortby: a_expr opt_asc_desc opt_nulls_order */ -#line 608 "third_party/libpg_query/grammar/statements/select.y" + case 791: /* sortby: a_expr opt_asc_desc opt_nulls_order */ +#line 612 "third_party/libpg_query/grammar/statements/select.y" { (yyval.sortby) = makeNode(PGSortBy); (yyval.sortby)->node = (yyvsp[-2].node); @@ -26467,89 +27328,89 @@ YYLTYPE yylloc = yyloc_default; (yyval.sortby)->useOp = NIL; (yyval.sortby)->location = -1; /* no operator */ } -#line 26471 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27332 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 771: /* opt_asc_desc: ASC_P */ -#line 618 "third_party/libpg_query/grammar/statements/select.y" + case 792: /* opt_asc_desc: ASC_P */ +#line 622 "third_party/libpg_query/grammar/statements/select.y" { (yyval.sortorder) = PG_SORTBY_ASC; } -#line 26477 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27338 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 772: /* opt_asc_desc: DESC_P */ -#line 619 "third_party/libpg_query/grammar/statements/select.y" + case 793: /* opt_asc_desc: DESC_P */ +#line 623 "third_party/libpg_query/grammar/statements/select.y" { (yyval.sortorder) = PG_SORTBY_DESC; } -#line 26483 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27344 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 773: /* opt_asc_desc: %empty */ -#line 620 "third_party/libpg_query/grammar/statements/select.y" + case 794: /* opt_asc_desc: %empty */ +#line 624 "third_party/libpg_query/grammar/statements/select.y" { (yyval.sortorder) = PG_SORTBY_DEFAULT; } -#line 26489 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27350 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 774: /* opt_nulls_order: NULLS_LA FIRST_P */ -#line 623 "third_party/libpg_query/grammar/statements/select.y" + case 795: /* opt_nulls_order: NULLS_LA FIRST_P */ +#line 627 "third_party/libpg_query/grammar/statements/select.y" { (yyval.nullorder) = PG_SORTBY_NULLS_FIRST; } -#line 26495 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27356 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 775: /* opt_nulls_order: NULLS_LA LAST_P */ -#line 624 "third_party/libpg_query/grammar/statements/select.y" + case 796: /* opt_nulls_order: NULLS_LA LAST_P */ +#line 628 "third_party/libpg_query/grammar/statements/select.y" { (yyval.nullorder) = PG_SORTBY_NULLS_LAST; } -#line 26501 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27362 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 776: /* opt_nulls_order: %empty */ -#line 625 "third_party/libpg_query/grammar/statements/select.y" + case 797: /* opt_nulls_order: %empty */ +#line 629 "third_party/libpg_query/grammar/statements/select.y" { (yyval.nullorder) = PG_SORTBY_NULLS_DEFAULT; } -#line 26507 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27368 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 777: /* select_limit: limit_clause offset_clause */ -#line 629 "third_party/libpg_query/grammar/statements/select.y" + case 798: /* select_limit: limit_clause offset_clause */ +#line 633 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-1].node)); } -#line 26513 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27374 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 778: /* select_limit: offset_clause limit_clause */ -#line 630 "third_party/libpg_query/grammar/statements/select.y" + case 799: /* select_limit: offset_clause limit_clause */ +#line 634 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); } -#line 26519 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27380 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 779: /* select_limit: limit_clause */ -#line 631 "third_party/libpg_query/grammar/statements/select.y" + case 800: /* select_limit: limit_clause */ +#line 635 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2(NULL, (yyvsp[0].node)); } -#line 26525 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27386 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 780: /* select_limit: offset_clause */ -#line 632 "third_party/libpg_query/grammar/statements/select.y" + case 801: /* select_limit: offset_clause */ +#line 636 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2((yyvsp[0].node), NULL); } -#line 26531 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27392 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 781: /* opt_select_limit: select_limit */ -#line 636 "third_party/libpg_query/grammar/statements/select.y" + case 802: /* opt_select_limit: select_limit */ +#line 640 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 26537 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27398 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 782: /* opt_select_limit: %empty */ -#line 637 "third_party/libpg_query/grammar/statements/select.y" + case 803: /* opt_select_limit: %empty */ +#line 641 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2(NULL,NULL); } -#line 26543 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27404 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 783: /* limit_clause: LIMIT select_limit_value */ -#line 642 "third_party/libpg_query/grammar/statements/select.y" + case 804: /* limit_clause: LIMIT select_limit_value */ +#line 646 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26549 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27410 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 784: /* limit_clause: LIMIT select_limit_value ',' select_offset_value */ -#line 644 "third_party/libpg_query/grammar/statements/select.y" + case 805: /* limit_clause: LIMIT select_limit_value ',' select_offset_value */ +#line 648 "third_party/libpg_query/grammar/statements/select.y" { /* Disabled because it was too confusing, bjm 2002-02-18 */ ereport(ERROR, @@ -26558,447 +27419,447 @@ YYLTYPE yylloc = yyloc_default; errhint("Use separate LIMIT and OFFSET clauses."), parser_errposition((yylsp[-3])))); } -#line 26562 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27423 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 785: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows ONLY */ -#line 660 "third_party/libpg_query/grammar/statements/select.y" + case 806: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows ONLY */ +#line 664 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[-2].node); } -#line 26568 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27429 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 786: /* limit_clause: FETCH first_or_next row_or_rows ONLY */ -#line 662 "third_party/libpg_query/grammar/statements/select.y" + case 807: /* limit_clause: FETCH first_or_next row_or_rows ONLY */ +#line 666 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeIntConst(1, -1); } -#line 26574 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27435 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 787: /* offset_clause: OFFSET select_offset_value */ -#line 667 "third_party/libpg_query/grammar/statements/select.y" + case 808: /* offset_clause: OFFSET select_offset_value */ +#line 671 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26580 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27441 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 788: /* offset_clause: OFFSET select_fetch_first_value row_or_rows */ -#line 670 "third_party/libpg_query/grammar/statements/select.y" + case 809: /* offset_clause: OFFSET select_fetch_first_value row_or_rows */ +#line 674 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[-1].node); } -#line 26586 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27447 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 789: /* sample_count: FCONST '%' */ -#line 678 "third_party/libpg_query/grammar/statements/select.y" + case 810: /* sample_count: FCONST '%' */ +#line 682 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSampleSize(makeFloat((yyvsp[-1].str)), true); } -#line 26594 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27455 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 790: /* sample_count: ICONST '%' */ -#line 682 "third_party/libpg_query/grammar/statements/select.y" + case 811: /* sample_count: ICONST '%' */ +#line 686 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSampleSize(makeInteger((yyvsp[-1].ival)), true); } -#line 26602 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27463 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 791: /* sample_count: FCONST PERCENT */ -#line 686 "third_party/libpg_query/grammar/statements/select.y" + case 812: /* sample_count: FCONST PERCENT */ +#line 690 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSampleSize(makeFloat((yyvsp[-1].str)), true); } -#line 26610 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27471 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 792: /* sample_count: ICONST PERCENT */ -#line 690 "third_party/libpg_query/grammar/statements/select.y" + case 813: /* sample_count: ICONST PERCENT */ +#line 694 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSampleSize(makeInteger((yyvsp[-1].ival)), true); } -#line 26618 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27479 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 793: /* sample_count: ICONST */ -#line 694 "third_party/libpg_query/grammar/statements/select.y" + case 814: /* sample_count: ICONST */ +#line 698 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSampleSize(makeInteger((yyvsp[0].ival)), false); } -#line 26626 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27487 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 794: /* sample_count: ICONST ROWS */ -#line 698 "third_party/libpg_query/grammar/statements/select.y" + case 815: /* sample_count: ICONST ROWS */ +#line 702 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSampleSize(makeInteger((yyvsp[-1].ival)), false); } -#line 26634 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27495 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 795: /* sample_clause: USING SAMPLE tablesample_entry */ -#line 705 "third_party/libpg_query/grammar/statements/select.y" + case 816: /* sample_clause: USING SAMPLE tablesample_entry */ +#line 709 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26642 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27503 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 796: /* sample_clause: %empty */ -#line 709 "third_party/libpg_query/grammar/statements/select.y" + case 817: /* sample_clause: %empty */ +#line 713 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 26648 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27509 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 797: /* opt_sample_func: ColId */ -#line 716 "third_party/libpg_query/grammar/statements/select.y" + case 818: /* opt_sample_func: ColId */ +#line 720 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (yyvsp[0].str); } -#line 26654 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27515 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 798: /* opt_sample_func: %empty */ -#line 717 "third_party/libpg_query/grammar/statements/select.y" + case 819: /* opt_sample_func: %empty */ +#line 721 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = NULL; } -#line 26660 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27521 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 799: /* tablesample_entry: opt_sample_func '(' sample_count ')' opt_repeatable_clause */ -#line 722 "third_party/libpg_query/grammar/statements/select.y" + case 820: /* tablesample_entry: opt_sample_func '(' sample_count ')' opt_repeatable_clause */ +#line 726 "third_party/libpg_query/grammar/statements/select.y" { int seed = (yyvsp[0].ival); (yyval.node) = makeSampleOptions((yyvsp[-2].node), (yyvsp[-4].str), &seed, (yylsp[-4])); } -#line 26669 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27530 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 800: /* tablesample_entry: sample_count */ -#line 727 "third_party/libpg_query/grammar/statements/select.y" + case 821: /* tablesample_entry: sample_count */ +#line 731 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSampleOptions((yyvsp[0].node), NULL, NULL, (yylsp[0])); } -#line 26677 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27538 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 801: /* tablesample_entry: sample_count '(' ColId ')' */ -#line 731 "third_party/libpg_query/grammar/statements/select.y" + case 822: /* tablesample_entry: sample_count '(' ColId ')' */ +#line 735 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeSampleOptions((yyvsp[-3].node), (yyvsp[-1].str), NULL, (yylsp[-3])); } -#line 26685 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27546 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 802: /* tablesample_entry: sample_count '(' ColId ',' ICONST ')' */ -#line 735 "third_party/libpg_query/grammar/statements/select.y" + case 823: /* tablesample_entry: sample_count '(' ColId ',' ICONST ')' */ +#line 739 "third_party/libpg_query/grammar/statements/select.y" { int seed = (yyvsp[-1].ival); (yyval.node) = makeSampleOptions((yyvsp[-5].node), (yyvsp[-3].str), &seed, (yylsp[-5])); } -#line 26694 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27555 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 803: /* tablesample_clause: TABLESAMPLE tablesample_entry */ -#line 743 "third_party/libpg_query/grammar/statements/select.y" + case 824: /* tablesample_clause: TABLESAMPLE tablesample_entry */ +#line 747 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26702 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27563 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 804: /* opt_tablesample_clause: tablesample_clause */ -#line 749 "third_party/libpg_query/grammar/statements/select.y" + case 825: /* opt_tablesample_clause: tablesample_clause */ +#line 753 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26708 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27569 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 805: /* opt_tablesample_clause: %empty */ -#line 750 "third_party/libpg_query/grammar/statements/select.y" + case 826: /* opt_tablesample_clause: %empty */ +#line 754 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 26714 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27575 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 806: /* opt_repeatable_clause: REPEATABLE '(' ICONST ')' */ -#line 755 "third_party/libpg_query/grammar/statements/select.y" + case 827: /* opt_repeatable_clause: REPEATABLE '(' ICONST ')' */ +#line 759 "third_party/libpg_query/grammar/statements/select.y" { (yyval.ival) = (yyvsp[-1].ival); } -#line 26720 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27581 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 807: /* opt_repeatable_clause: %empty */ -#line 756 "third_party/libpg_query/grammar/statements/select.y" + case 828: /* opt_repeatable_clause: %empty */ +#line 760 "third_party/libpg_query/grammar/statements/select.y" { (yyval.ival) = -1; } -#line 26726 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27587 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 808: /* select_limit_value: a_expr */ -#line 760 "third_party/libpg_query/grammar/statements/select.y" + case 829: /* select_limit_value: a_expr */ +#line 764 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26732 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27593 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 809: /* select_limit_value: ALL */ -#line 762 "third_party/libpg_query/grammar/statements/select.y" + case 830: /* select_limit_value: ALL */ +#line 766 "third_party/libpg_query/grammar/statements/select.y" { /* LIMIT ALL is represented as a NULL constant */ (yyval.node) = makeNullAConst((yylsp[0])); } -#line 26741 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27602 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 810: /* select_limit_value: a_expr '%' */ -#line 767 "third_party/libpg_query/grammar/statements/select.y" + case 831: /* select_limit_value: a_expr '%' */ +#line 771 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeLimitPercent((yyvsp[-1].node)); } -#line 26747 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27608 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 811: /* select_limit_value: FCONST PERCENT */ -#line 769 "third_party/libpg_query/grammar/statements/select.y" + case 832: /* select_limit_value: FCONST PERCENT */ +#line 773 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeLimitPercent(makeFloatConst((yyvsp[-1].str),(yylsp[-1]))); } -#line 26753 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27614 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 812: /* select_limit_value: ICONST PERCENT */ -#line 771 "third_party/libpg_query/grammar/statements/select.y" + case 833: /* select_limit_value: ICONST PERCENT */ +#line 775 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeLimitPercent(makeIntConst((yyvsp[-1].ival),(yylsp[-1]))); } -#line 26759 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27620 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 813: /* select_offset_value: a_expr */ -#line 775 "third_party/libpg_query/grammar/statements/select.y" + case 834: /* select_offset_value: a_expr */ +#line 779 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26765 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27626 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 814: /* select_fetch_first_value: c_expr */ -#line 795 "third_party/libpg_query/grammar/statements/select.y" + case 835: /* select_fetch_first_value: c_expr */ +#line 799 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26771 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27632 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 815: /* select_fetch_first_value: '+' I_or_F_const */ -#line 797 "third_party/libpg_query/grammar/statements/select.y" + case 836: /* select_fetch_first_value: '+' I_or_F_const */ +#line 801 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); } -#line 26777 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27638 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 816: /* select_fetch_first_value: '-' I_or_F_const */ -#line 799 "third_party/libpg_query/grammar/statements/select.y" + case 837: /* select_fetch_first_value: '-' I_or_F_const */ +#line 803 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); } -#line 26783 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27644 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 817: /* I_or_F_const: Iconst */ -#line 803 "third_party/libpg_query/grammar/statements/select.y" + case 838: /* I_or_F_const: Iconst */ +#line 807 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); } -#line 26789 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27650 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 818: /* I_or_F_const: FCONST */ -#line 804 "third_party/libpg_query/grammar/statements/select.y" + case 839: /* I_or_F_const: FCONST */ +#line 808 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); } -#line 26795 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27656 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 819: /* row_or_rows: ROW */ -#line 808 "third_party/libpg_query/grammar/statements/select.y" + case 840: /* row_or_rows: ROW */ +#line 812 "third_party/libpg_query/grammar/statements/select.y" { (yyval.ival) = 0; } -#line 26801 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27662 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 820: /* row_or_rows: ROWS */ -#line 809 "third_party/libpg_query/grammar/statements/select.y" + case 841: /* row_or_rows: ROWS */ +#line 813 "third_party/libpg_query/grammar/statements/select.y" { (yyval.ival) = 0; } -#line 26807 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27668 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 821: /* first_or_next: FIRST_P */ -#line 812 "third_party/libpg_query/grammar/statements/select.y" + case 842: /* first_or_next: FIRST_P */ +#line 816 "third_party/libpg_query/grammar/statements/select.y" { (yyval.ival) = 0; } -#line 26813 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27674 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 822: /* first_or_next: NEXT */ -#line 813 "third_party/libpg_query/grammar/statements/select.y" + case 843: /* first_or_next: NEXT */ +#line 817 "third_party/libpg_query/grammar/statements/select.y" { (yyval.ival) = 0; } -#line 26819 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27680 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 823: /* group_clause: GROUP_P BY group_by_list_opt_comma */ -#line 838 "third_party/libpg_query/grammar/statements/select.y" + case 844: /* group_clause: GROUP_P BY group_by_list_opt_comma */ +#line 842 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 26825 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27686 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 824: /* group_clause: GROUP_P BY ALL */ -#line 840 "third_party/libpg_query/grammar/statements/select.y" + case 845: /* group_clause: GROUP_P BY ALL */ +#line 844 "third_party/libpg_query/grammar/statements/select.y" { PGNode *node = (PGNode *) makeGroupingSet(GROUPING_SET_ALL, NIL, (yylsp[0])); (yyval.list) = list_make1(node); } -#line 26834 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27695 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 825: /* group_clause: %empty */ -#line 844 "third_party/libpg_query/grammar/statements/select.y" + case 846: /* group_clause: %empty */ +#line 848 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 26840 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27701 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 826: /* group_by_list: group_by_item */ -#line 848 "third_party/libpg_query/grammar/statements/select.y" + case 847: /* group_by_list: group_by_item */ +#line 852 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 26846 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27707 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 827: /* group_by_list: group_by_list ',' group_by_item */ -#line 849 "third_party/libpg_query/grammar/statements/select.y" + case 848: /* group_by_list: group_by_list ',' group_by_item */ +#line 853 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); } -#line 26852 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27713 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 828: /* group_by_list_opt_comma: group_by_list */ -#line 853 "third_party/libpg_query/grammar/statements/select.y" + case 849: /* group_by_list_opt_comma: group_by_list */ +#line 857 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 26858 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27719 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 829: /* group_by_list_opt_comma: group_by_list ',' */ -#line 854 "third_party/libpg_query/grammar/statements/select.y" + case 850: /* group_by_list_opt_comma: group_by_list ',' */ +#line 858 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 26864 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27725 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 830: /* group_by_item: a_expr */ -#line 858 "third_party/libpg_query/grammar/statements/select.y" + case 851: /* group_by_item: a_expr */ +#line 862 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26870 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27731 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 831: /* group_by_item: empty_grouping_set */ -#line 859 "third_party/libpg_query/grammar/statements/select.y" + case 852: /* group_by_item: empty_grouping_set */ +#line 863 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26876 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27737 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 832: /* group_by_item: cube_clause */ -#line 860 "third_party/libpg_query/grammar/statements/select.y" + case 853: /* group_by_item: cube_clause */ +#line 864 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26882 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27743 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 833: /* group_by_item: rollup_clause */ -#line 861 "third_party/libpg_query/grammar/statements/select.y" + case 854: /* group_by_item: rollup_clause */ +#line 865 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26888 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27749 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 834: /* group_by_item: grouping_sets_clause */ -#line 862 "third_party/libpg_query/grammar/statements/select.y" + case 855: /* group_by_item: grouping_sets_clause */ +#line 866 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26894 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27755 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 835: /* empty_grouping_set: '(' ')' */ -#line 867 "third_party/libpg_query/grammar/statements/select.y" + case 856: /* empty_grouping_set: '(' ')' */ +#line 871 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1])); } -#line 26902 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27763 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 836: /* rollup_clause: ROLLUP '(' expr_list_opt_comma ')' */ -#line 880 "third_party/libpg_query/grammar/statements/select.y" + case 857: /* rollup_clause: ROLLUP '(' expr_list_opt_comma ')' */ +#line 884 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3])); } -#line 26910 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27771 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 837: /* cube_clause: CUBE '(' expr_list_opt_comma ')' */ -#line 887 "third_party/libpg_query/grammar/statements/select.y" + case 858: /* cube_clause: CUBE '(' expr_list_opt_comma ')' */ +#line 891 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3])); } -#line 26918 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27779 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 838: /* grouping_sets_clause: GROUPING SETS '(' group_by_list_opt_comma ')' */ -#line 894 "third_party/libpg_query/grammar/statements/select.y" + case 859: /* grouping_sets_clause: GROUPING SETS '(' group_by_list_opt_comma ')' */ +#line 898 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4])); } -#line 26926 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27787 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 839: /* grouping_or_grouping_id: GROUPING */ -#line 900 "third_party/libpg_query/grammar/statements/select.y" + case 860: /* grouping_or_grouping_id: GROUPING */ +#line 904 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 26932 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27793 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 840: /* grouping_or_grouping_id: GROUPING_ID */ -#line 901 "third_party/libpg_query/grammar/statements/select.y" + case 861: /* grouping_or_grouping_id: GROUPING_ID */ +#line 905 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 26938 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27799 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 841: /* having_clause: HAVING a_expr */ -#line 905 "third_party/libpg_query/grammar/statements/select.y" + case 862: /* having_clause: HAVING a_expr */ +#line 909 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26944 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27805 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 842: /* having_clause: %empty */ -#line 906 "third_party/libpg_query/grammar/statements/select.y" + case 863: /* having_clause: %empty */ +#line 910 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 26950 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27811 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 843: /* qualify_clause: QUALIFY a_expr */ -#line 910 "third_party/libpg_query/grammar/statements/select.y" + case 864: /* qualify_clause: QUALIFY a_expr */ +#line 914 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 26956 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27817 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 844: /* qualify_clause: %empty */ -#line 911 "third_party/libpg_query/grammar/statements/select.y" + case 865: /* qualify_clause: %empty */ +#line 915 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 26962 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27823 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 845: /* for_locking_clause: for_locking_items */ -#line 915 "third_party/libpg_query/grammar/statements/select.y" + case 866: /* for_locking_clause: for_locking_items */ +#line 919 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 26968 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27829 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 846: /* for_locking_clause: FOR READ_P ONLY */ -#line 916 "third_party/libpg_query/grammar/statements/select.y" + case 867: /* for_locking_clause: FOR READ_P ONLY */ +#line 920 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 26974 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27835 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 847: /* opt_for_locking_clause: for_locking_clause */ -#line 920 "third_party/libpg_query/grammar/statements/select.y" + case 868: /* opt_for_locking_clause: for_locking_clause */ +#line 924 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 26980 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27841 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 848: /* opt_for_locking_clause: %empty */ -#line 921 "third_party/libpg_query/grammar/statements/select.y" + case 869: /* opt_for_locking_clause: %empty */ +#line 925 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 26986 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27847 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 849: /* for_locking_items: for_locking_item */ -#line 925 "third_party/libpg_query/grammar/statements/select.y" + case 870: /* for_locking_items: for_locking_item */ +#line 929 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 26992 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27853 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 850: /* for_locking_items: for_locking_items for_locking_item */ -#line 926 "third_party/libpg_query/grammar/statements/select.y" + case 871: /* for_locking_items: for_locking_items for_locking_item */ +#line 930 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } -#line 26998 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27859 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 851: /* for_locking_item: for_locking_strength locked_rels_list opt_nowait_or_skip */ -#line 931 "third_party/libpg_query/grammar/statements/select.y" + case 872: /* for_locking_item: for_locking_strength locked_rels_list opt_nowait_or_skip */ +#line 935 "third_party/libpg_query/grammar/statements/select.y" { PGLockingClause *n = makeNode(PGLockingClause); n->lockedRels = (yyvsp[-1].list); @@ -27006,143 +27867,143 @@ YYLTYPE yylloc = yyloc_default; n->waitPolicy = (yyvsp[0].lockwaitpolicy); (yyval.node) = (PGNode *) n; } -#line 27010 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27871 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 852: /* for_locking_strength: FOR UPDATE */ -#line 941 "third_party/libpg_query/grammar/statements/select.y" + case 873: /* for_locking_strength: FOR UPDATE */ +#line 945 "third_party/libpg_query/grammar/statements/select.y" { (yyval.lockstrength) = LCS_FORUPDATE; } -#line 27016 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27877 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 853: /* for_locking_strength: FOR NO KEY UPDATE */ -#line 942 "third_party/libpg_query/grammar/statements/select.y" + case 874: /* for_locking_strength: FOR NO KEY UPDATE */ +#line 946 "third_party/libpg_query/grammar/statements/select.y" { (yyval.lockstrength) = PG_LCS_FORNOKEYUPDATE; } -#line 27022 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27883 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 854: /* for_locking_strength: FOR SHARE */ -#line 943 "third_party/libpg_query/grammar/statements/select.y" + case 875: /* for_locking_strength: FOR SHARE */ +#line 947 "third_party/libpg_query/grammar/statements/select.y" { (yyval.lockstrength) = PG_LCS_FORSHARE; } -#line 27028 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27889 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 855: /* for_locking_strength: FOR KEY SHARE */ -#line 944 "third_party/libpg_query/grammar/statements/select.y" + case 876: /* for_locking_strength: FOR KEY SHARE */ +#line 948 "third_party/libpg_query/grammar/statements/select.y" { (yyval.lockstrength) = PG_LCS_FORKEYSHARE; } -#line 27034 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27895 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 856: /* locked_rels_list: OF qualified_name_list */ -#line 948 "third_party/libpg_query/grammar/statements/select.y" + case 877: /* locked_rels_list: OF qualified_name_list */ +#line 952 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 27040 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27901 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 857: /* locked_rels_list: %empty */ -#line 949 "third_party/libpg_query/grammar/statements/select.y" + case 878: /* locked_rels_list: %empty */ +#line 953 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 27046 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27907 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 858: /* opt_nowait_or_skip: NOWAIT */ -#line 954 "third_party/libpg_query/grammar/statements/select.y" + case 879: /* opt_nowait_or_skip: NOWAIT */ +#line 958 "third_party/libpg_query/grammar/statements/select.y" { (yyval.lockwaitpolicy) = LockWaitError; } -#line 27052 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27913 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 859: /* opt_nowait_or_skip: SKIP LOCKED */ -#line 955 "third_party/libpg_query/grammar/statements/select.y" + case 880: /* opt_nowait_or_skip: SKIP LOCKED */ +#line 959 "third_party/libpg_query/grammar/statements/select.y" { (yyval.lockwaitpolicy) = PGLockWaitSkip; } -#line 27058 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27919 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 860: /* opt_nowait_or_skip: %empty */ -#line 956 "third_party/libpg_query/grammar/statements/select.y" + case 881: /* opt_nowait_or_skip: %empty */ +#line 960 "third_party/libpg_query/grammar/statements/select.y" { (yyval.lockwaitpolicy) = PGLockWaitBlock; } -#line 27064 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27925 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 861: /* values_clause: VALUES '(' expr_list_opt_comma ')' */ -#line 966 "third_party/libpg_query/grammar/statements/select.y" + case 882: /* values_clause: VALUES '(' expr_list_opt_comma ')' */ +#line 970 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *n = makeNode(PGSelectStmt); n->valuesLists = list_make1((yyvsp[-1].list)); (yyval.node) = (PGNode *) n; } -#line 27074 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27935 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 862: /* values_clause: values_clause ',' '(' expr_list_opt_comma ')' */ -#line 972 "third_party/libpg_query/grammar/statements/select.y" + case 883: /* values_clause: values_clause ',' '(' expr_list_opt_comma ')' */ +#line 976 "third_party/libpg_query/grammar/statements/select.y" { PGSelectStmt *n = (PGSelectStmt *) (yyvsp[-4].node); n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list)); (yyval.node) = (PGNode *) n; } -#line 27084 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27945 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 863: /* values_clause_opt_comma: values_clause */ -#line 980 "third_party/libpg_query/grammar/statements/select.y" + case 884: /* values_clause_opt_comma: values_clause */ +#line 984 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 27090 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27951 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 864: /* values_clause_opt_comma: values_clause ',' */ -#line 981 "third_party/libpg_query/grammar/statements/select.y" + case 885: /* values_clause_opt_comma: values_clause ',' */ +#line 985 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[-1].node); } -#line 27096 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27957 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 865: /* from_clause: FROM from_list_opt_comma */ -#line 994 "third_party/libpg_query/grammar/statements/select.y" + case 886: /* from_clause: FROM from_list_opt_comma */ +#line 998 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 27102 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27963 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 866: /* from_clause: %empty */ -#line 995 "third_party/libpg_query/grammar/statements/select.y" + case 887: /* from_clause: %empty */ +#line 999 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 27108 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27969 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 867: /* from_list: table_ref */ -#line 999 "third_party/libpg_query/grammar/statements/select.y" + case 888: /* from_list: table_ref */ +#line 1003 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 27114 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27975 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 868: /* from_list: from_list ',' table_ref */ -#line 1000 "third_party/libpg_query/grammar/statements/select.y" + case 889: /* from_list: from_list ',' table_ref */ +#line 1004 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 27120 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27981 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 869: /* from_list_opt_comma: from_list */ -#line 1004 "third_party/libpg_query/grammar/statements/select.y" + case 890: /* from_list_opt_comma: from_list */ +#line 1008 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 27126 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27987 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 870: /* from_list_opt_comma: from_list ',' */ -#line 1005 "third_party/libpg_query/grammar/statements/select.y" + case 891: /* from_list_opt_comma: from_list ',' */ +#line 1009 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 27132 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 27993 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 871: /* table_ref: relation_expr opt_alias_clause opt_tablesample_clause */ -#line 1012 "third_party/libpg_query/grammar/statements/select.y" + case 892: /* table_ref: relation_expr opt_alias_clause opt_tablesample_clause */ +#line 1016 "third_party/libpg_query/grammar/statements/select.y" { (yyvsp[-2].range)->alias = (yyvsp[-1].alias); (yyvsp[-2].range)->sample = (yyvsp[0].node); (yyval.node) = (PGNode *) (yyvsp[-2].range); } -#line 27142 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28003 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 872: /* table_ref: func_table func_alias_clause opt_tablesample_clause */ -#line 1018 "third_party/libpg_query/grammar/statements/select.y" + case 893: /* table_ref: func_table func_alias_clause opt_tablesample_clause */ +#line 1022 "third_party/libpg_query/grammar/statements/select.y" { PGRangeFunction *n = (PGRangeFunction *) (yyvsp[-2].node); n->alias = (PGAlias*) linitial((yyvsp[-1].list)); @@ -27150,11 +28011,11 @@ YYLTYPE yylloc = yyloc_default; n->sample = (yyvsp[0].node); (yyval.node) = (PGNode *) n; } -#line 27154 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28015 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 873: /* table_ref: values_clause_opt_comma alias_clause opt_tablesample_clause */ -#line 1026 "third_party/libpg_query/grammar/statements/select.y" + case 894: /* table_ref: values_clause_opt_comma alias_clause opt_tablesample_clause */ +#line 1030 "third_party/libpg_query/grammar/statements/select.y" { PGRangeSubselect *n = makeNode(PGRangeSubselect); n->lateral = false; @@ -27163,11 +28024,11 @@ YYLTYPE yylloc = yyloc_default; n->sample = (yyvsp[0].node); (yyval.node) = (PGNode *) n; } -#line 27167 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28028 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 874: /* table_ref: LATERAL_P func_table func_alias_clause */ -#line 1035 "third_party/libpg_query/grammar/statements/select.y" + case 895: /* table_ref: LATERAL_P func_table func_alias_clause */ +#line 1039 "third_party/libpg_query/grammar/statements/select.y" { PGRangeFunction *n = (PGRangeFunction *) (yyvsp[-1].node); n->lateral = true; @@ -27175,11 +28036,11 @@ YYLTYPE yylloc = yyloc_default; n->coldeflist = (PGList*) lsecond((yyvsp[0].list)); (yyval.node) = (PGNode *) n; } -#line 27179 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28040 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 875: /* table_ref: select_with_parens opt_alias_clause opt_tablesample_clause */ -#line 1043 "third_party/libpg_query/grammar/statements/select.y" + case 896: /* table_ref: select_with_parens opt_alias_clause opt_tablesample_clause */ +#line 1047 "third_party/libpg_query/grammar/statements/select.y" { PGRangeSubselect *n = makeNode(PGRangeSubselect); n->lateral = false; @@ -27188,11 +28049,11 @@ YYLTYPE yylloc = yyloc_default; n->sample = (yyvsp[0].node); (yyval.node) = (PGNode *) n; } -#line 27192 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28053 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 876: /* table_ref: LATERAL_P select_with_parens opt_alias_clause */ -#line 1052 "third_party/libpg_query/grammar/statements/select.y" + case 897: /* table_ref: LATERAL_P select_with_parens opt_alias_clause */ +#line 1056 "third_party/libpg_query/grammar/statements/select.y" { PGRangeSubselect *n = makeNode(PGRangeSubselect); n->lateral = true; @@ -27201,36 +28062,36 @@ YYLTYPE yylloc = yyloc_default; n->sample = NULL; (yyval.node) = (PGNode *) n; } -#line 27205 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28066 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 877: /* table_ref: joined_table */ -#line 1061 "third_party/libpg_query/grammar/statements/select.y" + case 898: /* table_ref: joined_table */ +#line 1065 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) (yyvsp[0].jexpr); } -#line 27213 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28074 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 878: /* table_ref: '(' joined_table ')' alias_clause */ -#line 1065 "third_party/libpg_query/grammar/statements/select.y" + case 899: /* table_ref: '(' joined_table ')' alias_clause */ +#line 1069 "third_party/libpg_query/grammar/statements/select.y" { (yyvsp[-2].jexpr)->alias = (yyvsp[0].alias); (yyval.node) = (PGNode *) (yyvsp[-2].jexpr); } -#line 27222 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28083 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 879: /* table_ref: GRAPH_TABLE GraphTableStmt */ -#line 1070 "third_party/libpg_query/grammar/statements/select.y" + case 900: /* table_ref: GRAPH_TABLE GraphTableStmt */ +#line 1074 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) (yyvsp[0].node); } -#line 27230 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28091 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 880: /* table_ref: table_ref PIVOT '(' target_list_opt_comma FOR pivot_value_list opt_pivot_group_by ')' opt_alias_clause */ -#line 1074 "third_party/libpg_query/grammar/statements/select.y" + case 901: /* table_ref: table_ref PIVOT '(' target_list_opt_comma FOR pivot_value_list opt_pivot_group_by ')' opt_alias_clause */ +#line 1078 "third_party/libpg_query/grammar/statements/select.y" { PGPivotExpr *n = makeNode(PGPivotExpr); n->source = (yyvsp[-8].node); @@ -27240,11 +28101,11 @@ YYLTYPE yylloc = yyloc_default; n->alias = (yyvsp[0].alias); (yyval.node) = (PGNode *) n; } -#line 27244 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28105 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 881: /* table_ref: table_ref UNPIVOT opt_include_nulls '(' unpivot_header FOR unpivot_value_list ')' opt_alias_clause */ -#line 1084 "third_party/libpg_query/grammar/statements/select.y" + case 902: /* table_ref: table_ref UNPIVOT opt_include_nulls '(' unpivot_header FOR unpivot_value_list ')' opt_alias_clause */ +#line 1088 "third_party/libpg_query/grammar/statements/select.y" { PGPivotExpr *n = makeNode(PGPivotExpr); n->source = (yyvsp[-8].node); @@ -27254,160 +28115,160 @@ YYLTYPE yylloc = yyloc_default; n->alias = (yyvsp[0].alias); (yyval.node) = (PGNode *) n; } -#line 27258 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28119 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 882: /* opt_pivot_group_by: GROUP_P BY name_list_opt_comma */ -#line 1096 "third_party/libpg_query/grammar/statements/select.y" + case 903: /* opt_pivot_group_by: GROUP_P BY name_list_opt_comma */ +#line 1100 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 27264 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28125 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 883: /* opt_pivot_group_by: %empty */ -#line 1097 "third_party/libpg_query/grammar/statements/select.y" + case 904: /* opt_pivot_group_by: %empty */ +#line 1101 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NULL; } -#line 27270 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28131 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 884: /* opt_include_nulls: INCLUDE_P NULLS_P */ -#line 1100 "third_party/libpg_query/grammar/statements/select.y" + case 905: /* opt_include_nulls: INCLUDE_P NULLS_P */ +#line 1104 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = true; } -#line 27276 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28137 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 885: /* opt_include_nulls: EXCLUDE NULLS_P */ -#line 1101 "third_party/libpg_query/grammar/statements/select.y" + case 906: /* opt_include_nulls: EXCLUDE NULLS_P */ +#line 1105 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = false; } -#line 27282 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28143 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 886: /* opt_include_nulls: %empty */ -#line 1102 "third_party/libpg_query/grammar/statements/select.y" + case 907: /* opt_include_nulls: %empty */ +#line 1106 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = false; } -#line 27288 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28149 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 887: /* single_pivot_value: b_expr IN_P '(' target_list_opt_comma ')' */ -#line 1106 "third_party/libpg_query/grammar/statements/select.y" + case 908: /* single_pivot_value: b_expr IN_P '(' target_list_opt_comma ')' */ +#line 1110 "third_party/libpg_query/grammar/statements/select.y" { PGPivot *n = makeNode(PGPivot); n->pivot_columns = list_make1((yyvsp[-4].node)); n->pivot_value = (yyvsp[-1].list); (yyval.node) = (PGNode *) n; } -#line 27299 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28160 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 888: /* single_pivot_value: b_expr IN_P ColIdOrString */ -#line 1114 "third_party/libpg_query/grammar/statements/select.y" + case 909: /* single_pivot_value: b_expr IN_P ColIdOrString */ +#line 1118 "third_party/libpg_query/grammar/statements/select.y" { PGPivot *n = makeNode(PGPivot); n->pivot_columns = list_make1((yyvsp[-2].node)); n->pivot_enum = (yyvsp[0].str); (yyval.node) = (PGNode *) n; } -#line 27310 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28171 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 889: /* pivot_header: d_expr */ -#line 1123 "third_party/libpg_query/grammar/statements/select.y" + case 910: /* pivot_header: d_expr */ +#line 1127 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 27316 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28177 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 890: /* pivot_header: '(' c_expr_list_opt_comma ')' */ -#line 1124 "third_party/libpg_query/grammar/statements/select.y" + case 911: /* pivot_header: '(' c_expr_list_opt_comma ')' */ +#line 1128 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 27322 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28183 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 891: /* pivot_value: pivot_header IN_P '(' target_list_opt_comma ')' */ -#line 1128 "third_party/libpg_query/grammar/statements/select.y" + case 912: /* pivot_value: pivot_header IN_P '(' target_list_opt_comma ')' */ +#line 1132 "third_party/libpg_query/grammar/statements/select.y" { PGPivot *n = makeNode(PGPivot); n->pivot_columns = (yyvsp[-4].list); n->pivot_value = (yyvsp[-1].list); (yyval.node) = (PGNode *) n; } -#line 27333 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28194 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 892: /* pivot_value: pivot_header IN_P ColIdOrString */ -#line 1136 "third_party/libpg_query/grammar/statements/select.y" + case 913: /* pivot_value: pivot_header IN_P ColIdOrString */ +#line 1140 "third_party/libpg_query/grammar/statements/select.y" { PGPivot *n = makeNode(PGPivot); n->pivot_columns = (yyvsp[-2].list); n->pivot_enum = (yyvsp[0].str); (yyval.node) = (PGNode *) n; } -#line 27344 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28205 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 893: /* pivot_value_list: pivot_value */ -#line 1145 "third_party/libpg_query/grammar/statements/select.y" + case 914: /* pivot_value_list: pivot_value */ +#line 1149 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 27352 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28213 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 894: /* pivot_value_list: pivot_value_list pivot_value */ -#line 1149 "third_party/libpg_query/grammar/statements/select.y" + case 915: /* pivot_value_list: pivot_value_list pivot_value */ +#line 1153 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } -#line 27360 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28221 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 895: /* unpivot_header: ColIdOrString */ -#line 1155 "third_party/libpg_query/grammar/statements/select.y" + case 916: /* unpivot_header: ColIdOrString */ +#line 1159 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } -#line 27366 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28227 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 896: /* unpivot_header: '(' name_list_opt_comma ')' */ -#line 1156 "third_party/libpg_query/grammar/statements/select.y" + case 917: /* unpivot_header: '(' name_list_opt_comma ')' */ +#line 1160 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 27372 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28233 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 897: /* unpivot_value: unpivot_header IN_P '(' target_list_opt_comma ')' */ -#line 1161 "third_party/libpg_query/grammar/statements/select.y" + case 918: /* unpivot_value: unpivot_header IN_P '(' target_list_opt_comma ')' */ +#line 1165 "third_party/libpg_query/grammar/statements/select.y" { PGPivot *n = makeNode(PGPivot); n->unpivot_columns = (yyvsp[-4].list); n->pivot_value = (yyvsp[-1].list); (yyval.node) = (PGNode *) n; } -#line 27383 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28244 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 898: /* unpivot_value_list: unpivot_value */ -#line 1170 "third_party/libpg_query/grammar/statements/select.y" + case 919: /* unpivot_value_list: unpivot_value */ +#line 1174 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 27391 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28252 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 899: /* unpivot_value_list: unpivot_value_list unpivot_value */ -#line 1174 "third_party/libpg_query/grammar/statements/select.y" + case 920: /* unpivot_value_list: unpivot_value_list unpivot_value */ +#line 1178 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } -#line 27399 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28260 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 900: /* joined_table: '(' joined_table ')' */ -#line 1199 "third_party/libpg_query/grammar/statements/select.y" + case 921: /* joined_table: '(' joined_table ')' */ +#line 1203 "third_party/libpg_query/grammar/statements/select.y" { (yyval.jexpr) = (yyvsp[-1].jexpr); } -#line 27407 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28268 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 901: /* joined_table: table_ref CROSS JOIN table_ref */ -#line 1203 "third_party/libpg_query/grammar/statements/select.y" + case 922: /* joined_table: table_ref CROSS JOIN table_ref */ +#line 1207 "third_party/libpg_query/grammar/statements/select.y" { /* CROSS JOIN is same as unqualified inner join */ PGJoinExpr *n = makeNode(PGJoinExpr); @@ -27420,11 +28281,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-2]); (yyval.jexpr) = n; } -#line 27424 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28285 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 902: /* joined_table: table_ref join_type JOIN table_ref join_qual */ -#line 1216 "third_party/libpg_query/grammar/statements/select.y" + case 923: /* joined_table: table_ref join_type JOIN table_ref join_qual */ +#line 1220 "third_party/libpg_query/grammar/statements/select.y" { PGJoinExpr *n = makeNode(PGJoinExpr); n->jointype = (yyvsp[-3].jtype); @@ -27438,11 +28299,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-3]); (yyval.jexpr) = n; } -#line 27442 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28303 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 903: /* joined_table: table_ref JOIN table_ref join_qual */ -#line 1230 "third_party/libpg_query/grammar/statements/select.y" + case 924: /* joined_table: table_ref JOIN table_ref join_qual */ +#line 1234 "third_party/libpg_query/grammar/statements/select.y" { /* letting join_type reduce to empty doesn't work */ PGJoinExpr *n = makeNode(PGJoinExpr); @@ -27457,11 +28318,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-2]); (yyval.jexpr) = n; } -#line 27461 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28322 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 904: /* joined_table: table_ref NATURAL join_type JOIN table_ref */ -#line 1245 "third_party/libpg_query/grammar/statements/select.y" + case 925: /* joined_table: table_ref NATURAL join_type JOIN table_ref */ +#line 1249 "third_party/libpg_query/grammar/statements/select.y" { PGJoinExpr *n = makeNode(PGJoinExpr); n->jointype = (yyvsp[-2].jtype); @@ -27473,11 +28334,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-3]); (yyval.jexpr) = n; } -#line 27477 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28338 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 905: /* joined_table: table_ref NATURAL JOIN table_ref */ -#line 1257 "third_party/libpg_query/grammar/statements/select.y" + case 926: /* joined_table: table_ref NATURAL JOIN table_ref */ +#line 1261 "third_party/libpg_query/grammar/statements/select.y" { /* letting join_type reduce to empty doesn't work */ PGJoinExpr *n = makeNode(PGJoinExpr); @@ -27490,11 +28351,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-2]); (yyval.jexpr) = n; } -#line 27494 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28355 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 906: /* joined_table: table_ref ASOF join_type JOIN table_ref join_qual */ -#line 1270 "third_party/libpg_query/grammar/statements/select.y" + case 927: /* joined_table: table_ref ASOF join_type JOIN table_ref join_qual */ +#line 1274 "third_party/libpg_query/grammar/statements/select.y" { PGJoinExpr *n = makeNode(PGJoinExpr); n->jointype = (yyvsp[-3].jtype); @@ -27508,11 +28369,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-4]); (yyval.jexpr) = n; } -#line 27512 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28373 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 907: /* joined_table: table_ref ASOF JOIN table_ref join_qual */ -#line 1284 "third_party/libpg_query/grammar/statements/select.y" + case 928: /* joined_table: table_ref ASOF JOIN table_ref join_qual */ +#line 1288 "third_party/libpg_query/grammar/statements/select.y" { PGJoinExpr *n = makeNode(PGJoinExpr); n->jointype = PG_JOIN_INNER; @@ -27526,11 +28387,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-3]); (yyval.jexpr) = n; } -#line 27530 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28391 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 908: /* joined_table: table_ref POSITIONAL JOIN table_ref */ -#line 1298 "third_party/libpg_query/grammar/statements/select.y" + case 929: /* joined_table: table_ref POSITIONAL JOIN table_ref */ +#line 1302 "third_party/libpg_query/grammar/statements/select.y" { /* POSITIONAL JOIN is a coordinated scan */ PGJoinExpr *n = makeNode(PGJoinExpr); @@ -27543,11 +28404,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-2]); (yyval.jexpr) = n; } -#line 27547 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28408 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 909: /* joined_table: table_ref ANTI JOIN table_ref join_qual */ -#line 1311 "third_party/libpg_query/grammar/statements/select.y" + case 930: /* joined_table: table_ref ANTI JOIN table_ref join_qual */ +#line 1315 "third_party/libpg_query/grammar/statements/select.y" { /* ANTI JOIN is a filter */ PGJoinExpr *n = makeNode(PGJoinExpr); @@ -27562,11 +28423,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-3]); (yyval.jexpr) = n; } -#line 27566 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28427 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 910: /* joined_table: table_ref SEMI JOIN table_ref join_qual */ -#line 1326 "third_party/libpg_query/grammar/statements/select.y" + case 931: /* joined_table: table_ref SEMI JOIN table_ref join_qual */ +#line 1330 "third_party/libpg_query/grammar/statements/select.y" { /* SEMI JOIN is also a filter */ PGJoinExpr *n = makeNode(PGJoinExpr); @@ -27582,209 +28443,209 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-3]); (yyval.jexpr) = n; } -#line 27586 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28447 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 911: /* alias_clause: AS ColIdOrString '(' name_list_opt_comma ')' */ -#line 1345 "third_party/libpg_query/grammar/statements/select.y" + case 932: /* alias_clause: AS ColIdOrString '(' name_list_opt_comma ')' */ +#line 1349 "third_party/libpg_query/grammar/statements/select.y" { (yyval.alias) = makeNode(PGAlias); (yyval.alias)->aliasname = (yyvsp[-3].str); (yyval.alias)->colnames = (yyvsp[-1].list); } -#line 27596 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28457 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 912: /* alias_clause: AS ColIdOrString */ -#line 1351 "third_party/libpg_query/grammar/statements/select.y" + case 933: /* alias_clause: AS ColIdOrString */ +#line 1355 "third_party/libpg_query/grammar/statements/select.y" { (yyval.alias) = makeNode(PGAlias); (yyval.alias)->aliasname = (yyvsp[0].str); } -#line 27605 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28466 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 913: /* alias_clause: ColId '(' name_list_opt_comma ')' */ -#line 1356 "third_party/libpg_query/grammar/statements/select.y" + case 934: /* alias_clause: ColId '(' name_list_opt_comma ')' */ +#line 1360 "third_party/libpg_query/grammar/statements/select.y" { (yyval.alias) = makeNode(PGAlias); (yyval.alias)->aliasname = (yyvsp[-3].str); (yyval.alias)->colnames = (yyvsp[-1].list); } -#line 27615 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28476 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 914: /* alias_clause: ColId */ -#line 1362 "third_party/libpg_query/grammar/statements/select.y" + case 935: /* alias_clause: ColId */ +#line 1366 "third_party/libpg_query/grammar/statements/select.y" { (yyval.alias) = makeNode(PGAlias); (yyval.alias)->aliasname = (yyvsp[0].str); } -#line 27624 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28485 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 915: /* opt_alias_clause: alias_clause */ -#line 1368 "third_party/libpg_query/grammar/statements/select.y" + case 936: /* opt_alias_clause: alias_clause */ +#line 1372 "third_party/libpg_query/grammar/statements/select.y" { (yyval.alias) = (yyvsp[0].alias); } -#line 27630 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28491 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 916: /* opt_alias_clause: %empty */ -#line 1369 "third_party/libpg_query/grammar/statements/select.y" + case 937: /* opt_alias_clause: %empty */ +#line 1373 "third_party/libpg_query/grammar/statements/select.y" { (yyval.alias) = NULL; } -#line 27636 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28497 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 917: /* func_alias_clause: alias_clause */ -#line 1378 "third_party/libpg_query/grammar/statements/select.y" + case 938: /* func_alias_clause: alias_clause */ +#line 1382 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2((yyvsp[0].alias), NIL); } -#line 27644 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28505 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 918: /* func_alias_clause: AS '(' TableFuncElementList ')' */ -#line 1382 "third_party/libpg_query/grammar/statements/select.y" + case 939: /* func_alias_clause: AS '(' TableFuncElementList ')' */ +#line 1386 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2(NULL, (yyvsp[-1].list)); } -#line 27652 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28513 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 919: /* func_alias_clause: AS ColIdOrString '(' TableFuncElementList ')' */ -#line 1386 "third_party/libpg_query/grammar/statements/select.y" + case 940: /* func_alias_clause: AS ColIdOrString '(' TableFuncElementList ')' */ +#line 1390 "third_party/libpg_query/grammar/statements/select.y" { PGAlias *a = makeNode(PGAlias); a->aliasname = (yyvsp[-3].str); (yyval.list) = list_make2(a, (yyvsp[-1].list)); } -#line 27662 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28523 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 920: /* func_alias_clause: ColId '(' TableFuncElementList ')' */ -#line 1392 "third_party/libpg_query/grammar/statements/select.y" + case 941: /* func_alias_clause: ColId '(' TableFuncElementList ')' */ +#line 1396 "third_party/libpg_query/grammar/statements/select.y" { PGAlias *a = makeNode(PGAlias); a->aliasname = (yyvsp[-3].str); (yyval.list) = list_make2(a, (yyvsp[-1].list)); } -#line 27672 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28533 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 921: /* func_alias_clause: %empty */ -#line 1398 "third_party/libpg_query/grammar/statements/select.y" + case 942: /* func_alias_clause: %empty */ +#line 1402 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2(NULL, NIL); } -#line 27680 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28541 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 922: /* join_type: FULL join_outer */ -#line 1403 "third_party/libpg_query/grammar/statements/select.y" + case 943: /* join_type: FULL join_outer */ +#line 1407 "third_party/libpg_query/grammar/statements/select.y" { (yyval.jtype) = PG_JOIN_FULL; } -#line 27686 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28547 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 923: /* join_type: LEFT join_outer */ -#line 1404 "third_party/libpg_query/grammar/statements/select.y" + case 944: /* join_type: LEFT join_outer */ +#line 1408 "third_party/libpg_query/grammar/statements/select.y" { (yyval.jtype) = PG_JOIN_LEFT; } -#line 27692 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28553 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 924: /* join_type: RIGHT join_outer */ -#line 1405 "third_party/libpg_query/grammar/statements/select.y" + case 945: /* join_type: RIGHT join_outer */ +#line 1409 "third_party/libpg_query/grammar/statements/select.y" { (yyval.jtype) = PG_JOIN_RIGHT; } -#line 27698 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28559 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 925: /* join_type: SEMI */ -#line 1406 "third_party/libpg_query/grammar/statements/select.y" + case 946: /* join_type: SEMI */ +#line 1410 "third_party/libpg_query/grammar/statements/select.y" { (yyval.jtype) = PG_JOIN_SEMI; } -#line 27704 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28565 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 926: /* join_type: ANTI */ -#line 1407 "third_party/libpg_query/grammar/statements/select.y" + case 947: /* join_type: ANTI */ +#line 1411 "third_party/libpg_query/grammar/statements/select.y" { (yyval.jtype) = PG_JOIN_ANTI; } -#line 27710 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28571 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 927: /* join_type: INNER_P */ -#line 1408 "third_party/libpg_query/grammar/statements/select.y" + case 948: /* join_type: INNER_P */ +#line 1412 "third_party/libpg_query/grammar/statements/select.y" { (yyval.jtype) = PG_JOIN_INNER; } -#line 27716 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28577 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 928: /* join_outer: OUTER_P */ -#line 1412 "third_party/libpg_query/grammar/statements/select.y" + case 949: /* join_outer: OUTER_P */ +#line 1416 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 27722 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28583 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 929: /* join_outer: %empty */ -#line 1413 "third_party/libpg_query/grammar/statements/select.y" + case 950: /* join_outer: %empty */ +#line 1417 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 27728 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28589 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 930: /* join_qual: USING '(' name_list_opt_comma ')' */ -#line 1425 "third_party/libpg_query/grammar/statements/select.y" + case 951: /* join_qual: USING '(' name_list_opt_comma ')' */ +#line 1429 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) (yyvsp[-1].list); } -#line 27734 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28595 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 931: /* join_qual: ON a_expr */ -#line 1426 "third_party/libpg_query/grammar/statements/select.y" + case 952: /* join_qual: ON a_expr */ +#line 1430 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 27740 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28601 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 932: /* relation_expr: qualified_name */ -#line 1432 "third_party/libpg_query/grammar/statements/select.y" + case 953: /* relation_expr: qualified_name */ +#line 1436 "third_party/libpg_query/grammar/statements/select.y" { /* inheritance query, implicitly */ (yyval.range) = (yyvsp[0].range); (yyval.range)->inh = true; (yyval.range)->alias = NULL; } -#line 27751 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28612 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 933: /* relation_expr: qualified_name '*' */ -#line 1439 "third_party/libpg_query/grammar/statements/select.y" + case 954: /* relation_expr: qualified_name '*' */ +#line 1443 "third_party/libpg_query/grammar/statements/select.y" { /* inheritance query, explicitly */ (yyval.range) = (yyvsp[-1].range); (yyval.range)->inh = true; (yyval.range)->alias = NULL; } -#line 27762 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28623 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 934: /* relation_expr: ONLY qualified_name */ -#line 1446 "third_party/libpg_query/grammar/statements/select.y" + case 955: /* relation_expr: ONLY qualified_name */ +#line 1450 "third_party/libpg_query/grammar/statements/select.y" { /* no inheritance */ (yyval.range) = (yyvsp[0].range); (yyval.range)->inh = false; (yyval.range)->alias = NULL; } -#line 27773 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28634 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 935: /* relation_expr: ONLY '(' qualified_name ')' */ -#line 1453 "third_party/libpg_query/grammar/statements/select.y" + case 956: /* relation_expr: ONLY '(' qualified_name ')' */ +#line 1457 "third_party/libpg_query/grammar/statements/select.y" { /* no inheritance, SQL99-style syntax */ (yyval.range) = (yyvsp[-1].range); (yyval.range)->inh = false; (yyval.range)->alias = NULL; } -#line 27784 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28645 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 936: /* func_table: func_expr_windowless opt_ordinality */ -#line 1485 "third_party/libpg_query/grammar/statements/select.y" + case 957: /* func_table: func_expr_windowless opt_ordinality */ +#line 1489 "third_party/libpg_query/grammar/statements/select.y" { PGRangeFunction *n = makeNode(PGRangeFunction); n->lateral = false; @@ -27795,11 +28656,11 @@ YYLTYPE yylloc = yyloc_default; /* alias and coldeflist are set by table_ref production */ (yyval.node) = (PGNode *) n; } -#line 27799 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28660 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 937: /* func_table: ROWS FROM '(' rowsfrom_list ')' opt_ordinality */ -#line 1496 "third_party/libpg_query/grammar/statements/select.y" + case 958: /* func_table: ROWS FROM '(' rowsfrom_list ')' opt_ordinality */ +#line 1500 "third_party/libpg_query/grammar/statements/select.y" { PGRangeFunction *n = makeNode(PGRangeFunction); n->lateral = false; @@ -27810,81 +28671,81 @@ YYLTYPE yylloc = yyloc_default; /* alias and coldeflist are set by table_ref production */ (yyval.node) = (PGNode *) n; } -#line 27814 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28675 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 938: /* rowsfrom_item: func_expr_windowless opt_col_def_list */ -#line 1509 "third_party/libpg_query/grammar/statements/select.y" + case 959: /* rowsfrom_item: func_expr_windowless opt_col_def_list */ +#line 1513 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); } -#line 27820 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28681 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 939: /* rowsfrom_list: rowsfrom_item */ -#line 1513 "third_party/libpg_query/grammar/statements/select.y" + case 960: /* rowsfrom_list: rowsfrom_item */ +#line 1517 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].list)); } -#line 27826 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28687 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 940: /* rowsfrom_list: rowsfrom_list ',' rowsfrom_item */ -#line 1514 "third_party/libpg_query/grammar/statements/select.y" + case 961: /* rowsfrom_list: rowsfrom_list ',' rowsfrom_item */ +#line 1518 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); } -#line 27832 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28693 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 941: /* opt_col_def_list: AS '(' TableFuncElementList ')' */ -#line 1517 "third_party/libpg_query/grammar/statements/select.y" + case 962: /* opt_col_def_list: AS '(' TableFuncElementList ')' */ +#line 1521 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 27838 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28699 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 942: /* opt_col_def_list: %empty */ -#line 1518 "third_party/libpg_query/grammar/statements/select.y" + case 963: /* opt_col_def_list: %empty */ +#line 1522 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 27844 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28705 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 943: /* opt_ordinality: WITH_LA ORDINALITY */ -#line 1521 "third_party/libpg_query/grammar/statements/select.y" + case 964: /* opt_ordinality: WITH_LA ORDINALITY */ +#line 1525 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = true; } -#line 27850 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28711 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 944: /* opt_ordinality: %empty */ -#line 1522 "third_party/libpg_query/grammar/statements/select.y" + case 965: /* opt_ordinality: %empty */ +#line 1526 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = false; } -#line 27856 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28717 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 945: /* where_clause: WHERE a_expr */ -#line 1527 "third_party/libpg_query/grammar/statements/select.y" + case 966: /* where_clause: WHERE a_expr */ +#line 1531 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 27862 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28723 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 946: /* where_clause: %empty */ -#line 1528 "third_party/libpg_query/grammar/statements/select.y" + case 967: /* where_clause: %empty */ +#line 1532 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 27868 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28729 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 947: /* TableFuncElementList: TableFuncElement */ -#line 1534 "third_party/libpg_query/grammar/statements/select.y" + case 968: /* TableFuncElementList: TableFuncElement */ +#line 1538 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 27876 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28737 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 948: /* TableFuncElementList: TableFuncElementList ',' TableFuncElement */ -#line 1538 "third_party/libpg_query/grammar/statements/select.y" + case 969: /* TableFuncElementList: TableFuncElementList ',' TableFuncElement */ +#line 1542 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 27884 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28745 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 949: /* TableFuncElement: ColIdOrString Typename opt_collate_clause */ -#line 1544 "third_party/libpg_query/grammar/statements/select.y" + case 970: /* TableFuncElement: ColIdOrString Typename opt_collate_clause */ +#line 1548 "third_party/libpg_query/grammar/statements/select.y" { PGColumnDef *n = makeNode(PGColumnDef); n->colname = (yyvsp[-2].str); @@ -27902,11 +28763,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-2]); (yyval.node) = (PGNode *)n; } -#line 27906 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28767 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 950: /* opt_collate_clause: COLLATE any_name */ -#line 1565 "third_party/libpg_query/grammar/statements/select.y" + case 971: /* opt_collate_clause: COLLATE any_name */ +#line 1569 "third_party/libpg_query/grammar/statements/select.y" { PGCollateClause *n = makeNode(PGCollateClause); n->arg = NULL; @@ -27914,350 +28775,370 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *) n; } -#line 27918 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28779 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 951: /* opt_collate_clause: %empty */ -#line 1572 "third_party/libpg_query/grammar/statements/select.y" + case 972: /* opt_collate_clause: %empty */ +#line 1576 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 27924 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28785 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 952: /* colid_type_list: ColId Typename */ -#line 1585 "third_party/libpg_query/grammar/statements/select.y" + case 973: /* colid_type_list: ColId Typename */ +#line 1589 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(list_make2(makeString((yyvsp[-1].str)), (yyvsp[0].typnam))); } -#line 27932 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28793 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 953: /* colid_type_list: colid_type_list ',' ColId Typename */ -#line 1588 "third_party/libpg_query/grammar/statements/select.y" + case 974: /* colid_type_list: colid_type_list ',' ColId Typename */ +#line 1592 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-3].list), list_make2(makeString((yyvsp[-1].str)), (yyvsp[0].typnam))); } -#line 27940 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28801 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 956: /* opt_Typename: Typename */ -#line 1595 "third_party/libpg_query/grammar/statements/select.y" + case 977: /* opt_Typename: Typename */ +#line 1599 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 27946 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28807 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 957: /* opt_Typename: %empty */ -#line 1596 "third_party/libpg_query/grammar/statements/select.y" + case 978: /* opt_Typename: %empty */ +#line 1600 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = NULL; } -#line 27952 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28813 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 958: /* Typename: SimpleTypename opt_array_bounds */ -#line 1599 "third_party/libpg_query/grammar/statements/select.y" + case 979: /* Typename: SimpleTypename opt_array_bounds */ +#line 1603 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[-1].typnam); (yyval.typnam)->arrayBounds = (yyvsp[0].list); } -#line 27961 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28822 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 959: /* Typename: SETOF SimpleTypename opt_array_bounds */ -#line 1604 "third_party/libpg_query/grammar/statements/select.y" + case 980: /* Typename: SETOF SimpleTypename opt_array_bounds */ +#line 1608 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[-1].typnam); (yyval.typnam)->arrayBounds = (yyvsp[0].list); (yyval.typnam)->setof = true; } -#line 27971 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28832 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 960: /* Typename: SimpleTypename ARRAY '[' Iconst ']' */ -#line 1611 "third_party/libpg_query/grammar/statements/select.y" + case 981: /* Typename: SimpleTypename ARRAY '[' Iconst ']' */ +#line 1615 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[-4].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival))); } -#line 27980 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28841 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 961: /* Typename: SETOF SimpleTypename ARRAY '[' Iconst ']' */ -#line 1616 "third_party/libpg_query/grammar/statements/select.y" + case 982: /* Typename: SETOF SimpleTypename ARRAY '[' Iconst ']' */ +#line 1620 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[-4].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival))); (yyval.typnam)->setof = true; } -#line 27990 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28851 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 962: /* Typename: SimpleTypename ARRAY */ -#line 1622 "third_party/libpg_query/grammar/statements/select.y" + case 983: /* Typename: SimpleTypename ARRAY */ +#line 1626 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[-1].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1)); } -#line 27999 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28860 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 963: /* Typename: SETOF SimpleTypename ARRAY */ -#line 1627 "third_party/libpg_query/grammar/statements/select.y" + case 984: /* Typename: SETOF SimpleTypename ARRAY */ +#line 1631 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[-1].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1)); (yyval.typnam)->setof = true; } -#line 28009 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28870 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 985: /* Typename: qualified_typename */ +#line 1637 "third_party/libpg_query/grammar/statements/select.y" + { + (yyval.typnam) = makeTypeNameFromNameList((yyvsp[0].list)); + } +#line 28878 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 964: /* Typename: RowOrStruct '(' colid_type_list ')' opt_array_bounds */ -#line 1632 "third_party/libpg_query/grammar/statements/select.y" - { - (yyval.typnam) = SystemTypeName("struct"); - (yyval.typnam)->arrayBounds = (yyvsp[0].list); - (yyval.typnam)->typmods = (yyvsp[-2].list); - (yyval.typnam)->location = (yylsp[-4]); + case 986: /* Typename: RowOrStruct '(' colid_type_list ')' opt_array_bounds */ +#line 1641 "third_party/libpg_query/grammar/statements/select.y" + { + (yyval.typnam) = SystemTypeName("struct"); + (yyval.typnam)->arrayBounds = (yyvsp[0].list); + (yyval.typnam)->typmods = (yyvsp[-2].list); + (yyval.typnam)->location = (yylsp[-4]); } -#line 28020 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28889 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 965: /* Typename: MAP '(' type_list ')' opt_array_bounds */ -#line 1638 "third_party/libpg_query/grammar/statements/select.y" - { - (yyval.typnam) = SystemTypeName("map"); - (yyval.typnam)->arrayBounds = (yyvsp[0].list); - (yyval.typnam)->typmods = (yyvsp[-2].list); - (yyval.typnam)->location = (yylsp[-4]); - } -#line 28031 "third_party/libpg_query/grammar/grammar_out.cpp" + case 987: /* Typename: MAP '(' type_list ')' opt_array_bounds */ +#line 1648 "third_party/libpg_query/grammar/statements/select.y" + { + (yyval.typnam) = SystemTypeName("map"); + (yyval.typnam)->arrayBounds = (yyvsp[0].list); + (yyval.typnam)->typmods = (yyvsp[-2].list); + (yyval.typnam)->location = (yylsp[-4]); + } +#line 28900 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 966: /* Typename: UNION '(' colid_type_list ')' opt_array_bounds */ -#line 1644 "third_party/libpg_query/grammar/statements/select.y" - { - (yyval.typnam) = SystemTypeName("union"); - (yyval.typnam)->arrayBounds = (yyvsp[0].list); - (yyval.typnam)->typmods = (yyvsp[-2].list); - (yyval.typnam)->location = (yylsp[-4]); - } -#line 28042 "third_party/libpg_query/grammar/grammar_out.cpp" + case 988: /* Typename: UNION '(' colid_type_list ')' opt_array_bounds */ +#line 1655 "third_party/libpg_query/grammar/statements/select.y" + { + (yyval.typnam) = SystemTypeName("union"); + (yyval.typnam)->arrayBounds = (yyvsp[0].list); + (yyval.typnam)->typmods = (yyvsp[-2].list); + (yyval.typnam)->location = (yylsp[-4]); + } +#line 28911 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 989: /* qualified_typename: IDENT '.' IDENT */ +#line 1664 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str))); } +#line 28917 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 967: /* opt_array_bounds: opt_array_bounds '[' ']' */ -#line 1654 "third_party/libpg_query/grammar/statements/select.y" + case 990: /* qualified_typename: qualified_typename '.' IDENT */ +#line 1665 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); } +#line 28923 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 991: /* opt_array_bounds: opt_array_bounds '[' ']' */ +#line 1670 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); } -#line 28048 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28929 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 968: /* opt_array_bounds: opt_array_bounds '[' Iconst ']' */ -#line 1656 "third_party/libpg_query/grammar/statements/select.y" + case 992: /* opt_array_bounds: opt_array_bounds '[' Iconst ']' */ +#line 1672 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); } -#line 28054 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28935 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 969: /* opt_array_bounds: %empty */ -#line 1658 "third_party/libpg_query/grammar/statements/select.y" + case 993: /* opt_array_bounds: %empty */ +#line 1674 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 28060 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28941 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 970: /* SimpleTypename: GenericType */ -#line 1662 "third_party/libpg_query/grammar/statements/select.y" + case 994: /* SimpleTypename: GenericType */ +#line 1678 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28066 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28947 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 971: /* SimpleTypename: Numeric */ -#line 1663 "third_party/libpg_query/grammar/statements/select.y" + case 995: /* SimpleTypename: Numeric */ +#line 1679 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28072 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28953 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 972: /* SimpleTypename: Bit */ -#line 1664 "third_party/libpg_query/grammar/statements/select.y" + case 996: /* SimpleTypename: Bit */ +#line 1680 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28078 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28959 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 973: /* SimpleTypename: Character */ -#line 1665 "third_party/libpg_query/grammar/statements/select.y" + case 997: /* SimpleTypename: Character */ +#line 1681 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28084 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28965 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 974: /* SimpleTypename: ConstDatetime */ -#line 1666 "third_party/libpg_query/grammar/statements/select.y" + case 998: /* SimpleTypename: ConstDatetime */ +#line 1682 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28090 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28971 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 975: /* SimpleTypename: ConstInterval opt_interval */ -#line 1668 "third_party/libpg_query/grammar/statements/select.y" + case 999: /* SimpleTypename: ConstInterval opt_interval */ +#line 1684 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[-1].typnam); (yyval.typnam)->typmods = (yyvsp[0].list); } -#line 28099 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28980 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 976: /* SimpleTypename: ConstInterval '(' Iconst ')' */ -#line 1673 "third_party/libpg_query/grammar/statements/select.y" + case 1000: /* SimpleTypename: ConstInterval '(' Iconst ')' */ +#line 1689 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[-3].typnam); (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1), makeIntConst((yyvsp[-1].ival), (yylsp[-1]))); } -#line 28109 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28990 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 977: /* ConstTypename: Numeric */ -#line 1692 "third_party/libpg_query/grammar/statements/select.y" + case 1001: /* ConstTypename: Numeric */ +#line 1708 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28115 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 28996 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 978: /* ConstTypename: ConstBit */ -#line 1693 "third_party/libpg_query/grammar/statements/select.y" + case 1002: /* ConstTypename: ConstBit */ +#line 1709 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28121 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29002 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 979: /* ConstTypename: ConstCharacter */ -#line 1694 "third_party/libpg_query/grammar/statements/select.y" + case 1003: /* ConstTypename: ConstCharacter */ +#line 1710 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28127 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29008 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 980: /* ConstTypename: ConstDatetime */ -#line 1695 "third_party/libpg_query/grammar/statements/select.y" + case 1004: /* ConstTypename: ConstDatetime */ +#line 1711 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28133 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29014 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 981: /* GenericType: type_name_token opt_type_modifiers */ -#line 1707 "third_party/libpg_query/grammar/statements/select.y" + case 1005: /* GenericType: type_name_token opt_type_modifiers */ +#line 1723 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = makeTypeName((yyvsp[-1].str)); (yyval.typnam)->typmods = (yyvsp[0].list); (yyval.typnam)->location = (yylsp[-1]); } -#line 28143 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29024 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 982: /* opt_type_modifiers: '(' opt_expr_list_opt_comma ')' */ -#line 1720 "third_party/libpg_query/grammar/statements/select.y" + case 1006: /* opt_type_modifiers: '(' opt_expr_list_opt_comma ')' */ +#line 1736 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 28149 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29030 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 983: /* opt_type_modifiers: %empty */ -#line 1721 "third_party/libpg_query/grammar/statements/select.y" + case 1007: /* opt_type_modifiers: %empty */ +#line 1737 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 28155 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29036 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 984: /* Numeric: INT_P */ -#line 1728 "third_party/libpg_query/grammar/statements/select.y" + case 1008: /* Numeric: INT_P */ +#line 1744 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("int4"); (yyval.typnam)->location = (yylsp[0]); } -#line 28164 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29045 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 985: /* Numeric: INTEGER */ -#line 1733 "third_party/libpg_query/grammar/statements/select.y" + case 1009: /* Numeric: INTEGER */ +#line 1749 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("int4"); (yyval.typnam)->location = (yylsp[0]); } -#line 28173 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29054 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 986: /* Numeric: SMALLINT */ -#line 1738 "third_party/libpg_query/grammar/statements/select.y" + case 1010: /* Numeric: SMALLINT */ +#line 1754 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("int2"); (yyval.typnam)->location = (yylsp[0]); } -#line 28182 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29063 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 987: /* Numeric: BIGINT */ -#line 1743 "third_party/libpg_query/grammar/statements/select.y" + case 1011: /* Numeric: BIGINT */ +#line 1759 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("int8"); (yyval.typnam)->location = (yylsp[0]); } -#line 28191 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29072 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 988: /* Numeric: REAL */ -#line 1748 "third_party/libpg_query/grammar/statements/select.y" + case 1012: /* Numeric: REAL */ +#line 1764 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("float4"); (yyval.typnam)->location = (yylsp[0]); } -#line 28200 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29081 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 989: /* Numeric: FLOAT_P opt_float */ -#line 1753 "third_party/libpg_query/grammar/statements/select.y" + case 1013: /* Numeric: FLOAT_P opt_float */ +#line 1769 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); (yyval.typnam)->location = (yylsp[-1]); } -#line 28209 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29090 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 990: /* Numeric: DOUBLE_P PRECISION */ -#line 1758 "third_party/libpg_query/grammar/statements/select.y" + case 1014: /* Numeric: DOUBLE_P PRECISION */ +#line 1774 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("float8"); (yyval.typnam)->location = (yylsp[-1]); } -#line 28218 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29099 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 991: /* Numeric: DECIMAL_P opt_type_modifiers */ -#line 1763 "third_party/libpg_query/grammar/statements/select.y" + case 1015: /* Numeric: DECIMAL_P opt_type_modifiers */ +#line 1779 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("numeric"); (yyval.typnam)->typmods = (yyvsp[0].list); (yyval.typnam)->location = (yylsp[-1]); } -#line 28228 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29109 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 992: /* Numeric: DEC opt_type_modifiers */ -#line 1769 "third_party/libpg_query/grammar/statements/select.y" + case 1016: /* Numeric: DEC opt_type_modifiers */ +#line 1785 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("numeric"); (yyval.typnam)->typmods = (yyvsp[0].list); (yyval.typnam)->location = (yylsp[-1]); } -#line 28238 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29119 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 993: /* Numeric: NUMERIC opt_type_modifiers */ -#line 1775 "third_party/libpg_query/grammar/statements/select.y" + case 1017: /* Numeric: NUMERIC opt_type_modifiers */ +#line 1791 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("numeric"); (yyval.typnam)->typmods = (yyvsp[0].list); (yyval.typnam)->location = (yylsp[-1]); } -#line 28248 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29129 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 994: /* Numeric: BOOLEAN_P */ -#line 1781 "third_party/libpg_query/grammar/statements/select.y" + case 1018: /* Numeric: BOOLEAN_P */ +#line 1797 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("bool"); (yyval.typnam)->location = (yylsp[0]); } -#line 28257 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29138 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 995: /* opt_float: '(' Iconst ')' */ -#line 1788 "third_party/libpg_query/grammar/statements/select.y" + case 1019: /* opt_float: '(' Iconst ')' */ +#line 1804 "third_party/libpg_query/grammar/statements/select.y" { /* * Check FLOAT() precision limits assuming IEEE floating @@ -28278,52 +29159,52 @@ YYLTYPE yylloc = yyloc_default; errmsg("precision for type float must be less than 54 bits"), parser_errposition((yylsp[-1])))); } -#line 28282 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29163 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 996: /* opt_float: %empty */ -#line 1809 "third_party/libpg_query/grammar/statements/select.y" + case 1020: /* opt_float: %empty */ +#line 1825 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("float4"); } -#line 28290 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29171 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 997: /* Bit: BitWithLength */ -#line 1819 "third_party/libpg_query/grammar/statements/select.y" + case 1021: /* Bit: BitWithLength */ +#line 1835 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28298 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29179 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 998: /* Bit: BitWithoutLength */ -#line 1823 "third_party/libpg_query/grammar/statements/select.y" + case 1022: /* Bit: BitWithoutLength */ +#line 1839 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28306 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29187 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 999: /* ConstBit: BitWithLength */ -#line 1831 "third_party/libpg_query/grammar/statements/select.y" + case 1023: /* ConstBit: BitWithLength */ +#line 1847 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28314 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29195 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1000: /* ConstBit: BitWithoutLength */ -#line 1835 "third_party/libpg_query/grammar/statements/select.y" + case 1024: /* ConstBit: BitWithoutLength */ +#line 1851 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); (yyval.typnam)->typmods = NIL; } -#line 28323 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29204 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1001: /* BitWithLength: BIT opt_varying '(' expr_list_opt_comma ')' */ -#line 1843 "third_party/libpg_query/grammar/statements/select.y" + case 1025: /* BitWithLength: BIT opt_varying '(' expr_list_opt_comma ')' */ +#line 1859 "third_party/libpg_query/grammar/statements/select.y" { const char *typname; @@ -28332,11 +29213,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.typnam)->typmods = (yyvsp[-1].list); (yyval.typnam)->location = (yylsp[-4]); } -#line 28336 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29217 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1002: /* BitWithoutLength: BIT opt_varying */ -#line 1855 "third_party/libpg_query/grammar/statements/select.y" + case 1026: /* BitWithoutLength: BIT opt_varying */ +#line 1871 "third_party/libpg_query/grammar/statements/select.y" { /* bit defaults to bit(1), varbit to no limit */ if ((yyvsp[0].boolean)) @@ -28350,35 +29231,35 @@ YYLTYPE yylloc = yyloc_default; } (yyval.typnam)->location = (yylsp[-1]); } -#line 28354 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29235 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1003: /* Character: CharacterWithLength */ -#line 1876 "third_party/libpg_query/grammar/statements/select.y" + case 1027: /* Character: CharacterWithLength */ +#line 1892 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28362 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29243 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1004: /* Character: CharacterWithoutLength */ -#line 1880 "third_party/libpg_query/grammar/statements/select.y" + case 1028: /* Character: CharacterWithoutLength */ +#line 1896 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28370 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29251 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1005: /* ConstCharacter: CharacterWithLength */ -#line 1886 "third_party/libpg_query/grammar/statements/select.y" + case 1029: /* ConstCharacter: CharacterWithLength */ +#line 1902 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = (yyvsp[0].typnam); } -#line 28378 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29259 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1006: /* ConstCharacter: CharacterWithoutLength */ -#line 1890 "third_party/libpg_query/grammar/statements/select.y" + case 1030: /* ConstCharacter: CharacterWithoutLength */ +#line 1906 "third_party/libpg_query/grammar/statements/select.y" { /* Length was not specified so allow to be unrestricted. * This handles problems with fixed-length (bpchar) strings @@ -28389,21 +29270,21 @@ YYLTYPE yylloc = yyloc_default; (yyval.typnam) = (yyvsp[0].typnam); (yyval.typnam)->typmods = NIL; } -#line 28393 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29274 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1007: /* CharacterWithLength: character '(' Iconst ')' */ -#line 1903 "third_party/libpg_query/grammar/statements/select.y" + case 1031: /* CharacterWithLength: character '(' Iconst ')' */ +#line 1919 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName((yyvsp[-3].conststr)); (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1]))); (yyval.typnam)->location = (yylsp[-3]); } -#line 28403 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29284 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1008: /* CharacterWithoutLength: character */ -#line 1911 "third_party/libpg_query/grammar/statements/select.y" + case 1032: /* CharacterWithoutLength: character */ +#line 1927 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName((yyvsp[0].conststr)); /* char defaults to char(1), varchar to no limit */ @@ -28411,59 +29292,59 @@ YYLTYPE yylloc = yyloc_default; (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1)); (yyval.typnam)->location = (yylsp[0]); } -#line 28415 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29296 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1009: /* character: CHARACTER opt_varying */ -#line 1921 "third_party/libpg_query/grammar/statements/select.y" + case 1033: /* character: CHARACTER opt_varying */ +#line 1937 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = (yyvsp[0].boolean) ? "varchar": "bpchar"; } -#line 28421 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29302 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1010: /* character: CHAR_P opt_varying */ -#line 1923 "third_party/libpg_query/grammar/statements/select.y" + case 1034: /* character: CHAR_P opt_varying */ +#line 1939 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = (yyvsp[0].boolean) ? "varchar": "bpchar"; } -#line 28427 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29308 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1011: /* character: VARCHAR */ -#line 1925 "third_party/libpg_query/grammar/statements/select.y" + case 1035: /* character: VARCHAR */ +#line 1941 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "varchar"; } -#line 28433 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29314 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1012: /* character: NATIONAL CHARACTER opt_varying */ -#line 1927 "third_party/libpg_query/grammar/statements/select.y" + case 1036: /* character: NATIONAL CHARACTER opt_varying */ +#line 1943 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = (yyvsp[0].boolean) ? "varchar": "bpchar"; } -#line 28439 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29320 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1013: /* character: NATIONAL CHAR_P opt_varying */ -#line 1929 "third_party/libpg_query/grammar/statements/select.y" + case 1037: /* character: NATIONAL CHAR_P opt_varying */ +#line 1945 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = (yyvsp[0].boolean) ? "varchar": "bpchar"; } -#line 28445 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29326 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1014: /* character: NCHAR opt_varying */ -#line 1931 "third_party/libpg_query/grammar/statements/select.y" + case 1038: /* character: NCHAR opt_varying */ +#line 1947 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = (yyvsp[0].boolean) ? "varchar": "bpchar"; } -#line 28451 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29332 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1015: /* opt_varying: VARYING */ -#line 1935 "third_party/libpg_query/grammar/statements/select.y" + case 1039: /* opt_varying: VARYING */ +#line 1951 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = true; } -#line 28457 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29338 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1016: /* opt_varying: %empty */ -#line 1936 "third_party/libpg_query/grammar/statements/select.y" + case 1040: /* opt_varying: %empty */ +#line 1952 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = false; } -#line 28463 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29344 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1017: /* ConstDatetime: TIMESTAMP '(' Iconst ')' opt_timezone */ -#line 1944 "third_party/libpg_query/grammar/statements/select.y" + case 1041: /* ConstDatetime: TIMESTAMP '(' Iconst ')' opt_timezone */ +#line 1960 "third_party/libpg_query/grammar/statements/select.y" { if ((yyvsp[0].boolean)) (yyval.typnam) = SystemTypeName("timestamptz"); @@ -28472,11 +29353,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2]))); (yyval.typnam)->location = (yylsp[-4]); } -#line 28476 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29357 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1018: /* ConstDatetime: TIMESTAMP opt_timezone */ -#line 1953 "third_party/libpg_query/grammar/statements/select.y" + case 1042: /* ConstDatetime: TIMESTAMP opt_timezone */ +#line 1969 "third_party/libpg_query/grammar/statements/select.y" { if ((yyvsp[0].boolean)) (yyval.typnam) = SystemTypeName("timestamptz"); @@ -28484,11 +29365,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.typnam) = SystemTypeName("timestamp"); (yyval.typnam)->location = (yylsp[-1]); } -#line 28488 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29369 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1019: /* ConstDatetime: TIME '(' Iconst ')' opt_timezone */ -#line 1961 "third_party/libpg_query/grammar/statements/select.y" + case 1043: /* ConstDatetime: TIME '(' Iconst ')' opt_timezone */ +#line 1977 "third_party/libpg_query/grammar/statements/select.y" { if ((yyvsp[0].boolean)) (yyval.typnam) = SystemTypeName("timetz"); @@ -28497,11 +29378,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2]))); (yyval.typnam)->location = (yylsp[-4]); } -#line 28501 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29382 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1020: /* ConstDatetime: TIME opt_timezone */ -#line 1970 "third_party/libpg_query/grammar/statements/select.y" + case 1044: /* ConstDatetime: TIME opt_timezone */ +#line 1986 "third_party/libpg_query/grammar/statements/select.y" { if ((yyvsp[0].boolean)) (yyval.typnam) = SystemTypeName("timetz"); @@ -28509,171 +29390,195 @@ YYLTYPE yylloc = yyloc_default; (yyval.typnam) = SystemTypeName("time"); (yyval.typnam)->location = (yylsp[-1]); } -#line 28513 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29394 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1021: /* ConstInterval: INTERVAL */ -#line 1981 "third_party/libpg_query/grammar/statements/select.y" + case 1045: /* ConstInterval: INTERVAL */ +#line 1997 "third_party/libpg_query/grammar/statements/select.y" { (yyval.typnam) = SystemTypeName("interval"); (yyval.typnam)->location = (yylsp[0]); } -#line 28522 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29403 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1022: /* opt_timezone: WITH_LA TIME ZONE */ -#line 1988 "third_party/libpg_query/grammar/statements/select.y" + case 1046: /* opt_timezone: WITH_LA TIME ZONE */ +#line 2004 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = true; } -#line 28528 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29409 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1023: /* opt_timezone: WITHOUT TIME ZONE */ -#line 1989 "third_party/libpg_query/grammar/statements/select.y" + case 1047: /* opt_timezone: WITHOUT TIME ZONE */ +#line 2005 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = false; } -#line 28534 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29415 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1024: /* opt_timezone: %empty */ -#line 1990 "third_party/libpg_query/grammar/statements/select.y" + case 1048: /* opt_timezone: %empty */ +#line 2006 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = false; } -#line 28540 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29421 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1041: /* opt_interval: year_keyword */ -#line 2019 "third_party/libpg_query/grammar/statements/select.y" + case 1073: /* opt_interval: year_keyword */ +#line 2047 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); } -#line 28546 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29427 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1042: /* opt_interval: month_keyword */ -#line 2021 "third_party/libpg_query/grammar/statements/select.y" + case 1074: /* opt_interval: month_keyword */ +#line 2049 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); } -#line 28552 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29433 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1043: /* opt_interval: day_keyword */ -#line 2023 "third_party/libpg_query/grammar/statements/select.y" + case 1075: /* opt_interval: day_keyword */ +#line 2051 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); } -#line 28558 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29439 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1044: /* opt_interval: hour_keyword */ -#line 2025 "third_party/libpg_query/grammar/statements/select.y" + case 1076: /* opt_interval: hour_keyword */ +#line 2053 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); } -#line 28564 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29445 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1045: /* opt_interval: minute_keyword */ -#line 2027 "third_party/libpg_query/grammar/statements/select.y" + case 1077: /* opt_interval: minute_keyword */ +#line 2055 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); } -#line 28570 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29451 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1046: /* opt_interval: second_keyword */ -#line 2029 "third_party/libpg_query/grammar/statements/select.y" + case 1078: /* opt_interval: second_keyword */ +#line 2057 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0]))); } -#line 28576 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29457 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1047: /* opt_interval: millisecond_keyword */ -#line 2031 "third_party/libpg_query/grammar/statements/select.y" + case 1079: /* opt_interval: millisecond_keyword */ +#line 2059 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MILLISECOND), (yylsp[0]))); } -#line 28582 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29463 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1048: /* opt_interval: microsecond_keyword */ -#line 2033 "third_party/libpg_query/grammar/statements/select.y" + case 1080: /* opt_interval: microsecond_keyword */ +#line 2061 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MICROSECOND), (yylsp[0]))); } -#line 28588 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29469 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1049: /* opt_interval: year_keyword TO month_keyword */ -#line 2035 "third_party/libpg_query/grammar/statements/select.y" + case 1081: /* opt_interval: week_keyword */ +#line 2063 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(WEEK), (yylsp[0]))); } +#line 29475 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1082: /* opt_interval: decade_keyword */ +#line 2065 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DECADE), (yylsp[0]))); } +#line 29481 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1083: /* opt_interval: century_keyword */ +#line 2067 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(CENTURY), (yylsp[0]))); } +#line 29487 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1084: /* opt_interval: millennium_keyword */ +#line 2069 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MILLENNIUM), (yylsp[0]))); } +#line 29493 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1085: /* opt_interval: year_keyword TO month_keyword */ +#line 2071 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) | INTERVAL_MASK(MONTH), (yylsp[-2]))); } -#line 28597 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29502 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1050: /* opt_interval: day_keyword TO hour_keyword */ -#line 2040 "third_party/libpg_query/grammar/statements/select.y" + case 1086: /* opt_interval: day_keyword TO hour_keyword */ +#line 2076 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR), (yylsp[-2]))); } -#line 28606 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29511 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1051: /* opt_interval: day_keyword TO minute_keyword */ -#line 2045 "third_party/libpg_query/grammar/statements/select.y" + case 1087: /* opt_interval: day_keyword TO minute_keyword */ +#line 2081 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE), (yylsp[-2]))); } -#line 28616 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29521 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1052: /* opt_interval: day_keyword TO second_keyword */ -#line 2051 "third_party/libpg_query/grammar/statements/select.y" + case 1088: /* opt_interval: day_keyword TO second_keyword */ +#line 2087 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND), (yylsp[-2]))); } -#line 28627 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29532 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1053: /* opt_interval: hour_keyword TO minute_keyword */ -#line 2058 "third_party/libpg_query/grammar/statements/select.y" + case 1089: /* opt_interval: hour_keyword TO minute_keyword */ +#line 2094 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE), (yylsp[-2]))); } -#line 28636 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29541 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1054: /* opt_interval: hour_keyword TO second_keyword */ -#line 2063 "third_party/libpg_query/grammar/statements/select.y" + case 1090: /* opt_interval: hour_keyword TO second_keyword */ +#line 2099 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND), (yylsp[-2]))); } -#line 28646 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29551 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1055: /* opt_interval: minute_keyword TO second_keyword */ -#line 2069 "third_party/libpg_query/grammar/statements/select.y" + case 1091: /* opt_interval: minute_keyword TO second_keyword */ +#line 2105 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND), (yylsp[-2]))); } -#line 28655 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29560 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1056: /* opt_interval: %empty */ -#line 2074 "third_party/libpg_query/grammar/statements/select.y" + case 1092: /* opt_interval: %empty */ +#line 2110 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 28661 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29566 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1057: /* a_expr: c_expr */ -#line 2105 "third_party/libpg_query/grammar/statements/select.y" + case 1093: /* a_expr: c_expr */ +#line 2141 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 28667 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29572 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1058: /* a_expr: a_expr TYPECAST Typename */ -#line 2108 "third_party/libpg_query/grammar/statements/select.y" + case 1094: /* a_expr: a_expr TYPECAST Typename */ +#line 2144 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), 0, (yylsp[-1])); } -#line 28673 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29578 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1059: /* a_expr: a_expr COLLATE any_name */ -#line 2110 "third_party/libpg_query/grammar/statements/select.y" + case 1095: /* a_expr: a_expr COLLATE any_name */ +#line 2146 "third_party/libpg_query/grammar/statements/select.y" { PGCollateClause *n = makeNode(PGCollateClause); n->arg = (yyvsp[-2].node); @@ -28681,248 +29586,248 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *) n; } -#line 28685 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29590 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1060: /* a_expr: a_expr AT TIME ZONE a_expr */ -#line 2118 "third_party/libpg_query/grammar/statements/select.y" + case 1096: /* a_expr: a_expr AT TIME ZONE a_expr */ +#line 2154 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("timezone"), list_make2((yyvsp[0].node), (yyvsp[-4].node)), (yylsp[-3])); } -#line 28695 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29600 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1061: /* a_expr: '+' a_expr */ -#line 2133 "third_party/libpg_query/grammar/statements/select.y" + case 1097: /* a_expr: '+' a_expr */ +#line 2169 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); } -#line 28701 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29606 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1062: /* a_expr: '-' a_expr */ -#line 2135 "third_party/libpg_query/grammar/statements/select.y" + case 1098: /* a_expr: '-' a_expr */ +#line 2171 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); } -#line 28707 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29612 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1063: /* a_expr: a_expr '+' a_expr */ -#line 2137 "third_party/libpg_query/grammar/statements/select.y" + case 1099: /* a_expr: a_expr '+' a_expr */ +#line 2173 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28713 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29618 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1064: /* a_expr: a_expr '-' a_expr */ -#line 2139 "third_party/libpg_query/grammar/statements/select.y" + case 1100: /* a_expr: a_expr '-' a_expr */ +#line 2175 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28719 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29624 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1065: /* a_expr: a_expr '*' a_expr */ -#line 2141 "third_party/libpg_query/grammar/statements/select.y" + case 1101: /* a_expr: a_expr '*' a_expr */ +#line 2177 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28725 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29630 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1066: /* a_expr: a_expr '/' a_expr */ -#line 2143 "third_party/libpg_query/grammar/statements/select.y" + case 1102: /* a_expr: a_expr '/' a_expr */ +#line 2179 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28731 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29636 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1067: /* a_expr: a_expr INTEGER_DIVISION a_expr */ -#line 2145 "third_party/libpg_query/grammar/statements/select.y" + case 1103: /* a_expr: a_expr INTEGER_DIVISION a_expr */ +#line 2181 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "//", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28737 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29642 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1068: /* a_expr: a_expr '%' a_expr */ -#line 2147 "third_party/libpg_query/grammar/statements/select.y" + case 1104: /* a_expr: a_expr '%' a_expr */ +#line 2183 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28743 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29648 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1069: /* a_expr: a_expr '^' a_expr */ -#line 2149 "third_party/libpg_query/grammar/statements/select.y" + case 1105: /* a_expr: a_expr '^' a_expr */ +#line 2185 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28749 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29654 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1070: /* a_expr: a_expr POWER_OF a_expr */ -#line 2151 "third_party/libpg_query/grammar/statements/select.y" + case 1106: /* a_expr: a_expr POWER_OF a_expr */ +#line 2187 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "**", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28755 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29660 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1071: /* a_expr: a_expr '<' a_expr */ -#line 2153 "third_party/libpg_query/grammar/statements/select.y" + case 1107: /* a_expr: a_expr '<' a_expr */ +#line 2189 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28761 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29666 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1072: /* a_expr: a_expr '>' a_expr */ -#line 2155 "third_party/libpg_query/grammar/statements/select.y" + case 1108: /* a_expr: a_expr '>' a_expr */ +#line 2191 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28767 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29672 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1073: /* a_expr: a_expr '=' a_expr */ -#line 2157 "third_party/libpg_query/grammar/statements/select.y" + case 1109: /* a_expr: a_expr '=' a_expr */ +#line 2193 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28773 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29678 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1074: /* a_expr: a_expr LESS_EQUALS a_expr */ -#line 2159 "third_party/libpg_query/grammar/statements/select.y" + case 1110: /* a_expr: a_expr LESS_EQUALS a_expr */ +#line 2195 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28779 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29684 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1075: /* a_expr: a_expr GREATER_EQUALS a_expr */ -#line 2161 "third_party/libpg_query/grammar/statements/select.y" + case 1111: /* a_expr: a_expr GREATER_EQUALS a_expr */ +#line 2197 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28785 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29690 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1076: /* a_expr: a_expr NOT_EQUALS a_expr */ -#line 2163 "third_party/libpg_query/grammar/statements/select.y" + case 1112: /* a_expr: a_expr NOT_EQUALS a_expr */ +#line 2199 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28791 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29696 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1077: /* a_expr: a_expr qual_Op a_expr */ -#line 2166 "third_party/libpg_query/grammar/statements/select.y" + case 1113: /* a_expr: a_expr qual_Op a_expr */ +#line 2202 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28797 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29702 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1078: /* a_expr: qual_Op a_expr */ -#line 2168 "third_party/libpg_query/grammar/statements/select.y" + case 1114: /* a_expr: qual_Op a_expr */ +#line 2204 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); } -#line 28803 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29708 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1079: /* a_expr: a_expr qual_Op */ -#line 2170 "third_party/libpg_query/grammar/statements/select.y" + case 1115: /* a_expr: a_expr qual_Op */ +#line 2206 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); } -#line 28809 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29714 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1080: /* a_expr: a_expr AND a_expr */ -#line 2173 "third_party/libpg_query/grammar/statements/select.y" + case 1116: /* a_expr: a_expr AND a_expr */ +#line 2209 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28815 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29720 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1081: /* a_expr: a_expr OR a_expr */ -#line 2175 "third_party/libpg_query/grammar/statements/select.y" + case 1117: /* a_expr: a_expr OR a_expr */ +#line 2211 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28821 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29726 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1082: /* a_expr: NOT a_expr */ -#line 2177 "third_party/libpg_query/grammar/statements/select.y" + case 1118: /* a_expr: NOT a_expr */ +#line 2213 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); } -#line 28827 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29732 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1083: /* a_expr: NOT_LA a_expr */ -#line 2179 "third_party/libpg_query/grammar/statements/select.y" + case 1119: /* a_expr: NOT_LA a_expr */ +#line 2215 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); } -#line 28833 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29738 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1084: /* a_expr: a_expr GLOB a_expr */ -#line 2181 "third_party/libpg_query/grammar/statements/select.y" + case 1120: /* a_expr: a_expr GLOB a_expr */ +#line 2217 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_GLOB, "~~~", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28842 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29747 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1085: /* a_expr: a_expr LIKE a_expr */ -#line 2186 "third_party/libpg_query/grammar/statements/select.y" + case 1121: /* a_expr: a_expr LIKE a_expr */ +#line 2222 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_LIKE, "~~", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28851 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29756 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1086: /* a_expr: a_expr LIKE a_expr ESCAPE a_expr */ -#line 2191 "third_party/libpg_query/grammar/statements/select.y" + case 1122: /* a_expr: a_expr LIKE a_expr ESCAPE a_expr */ +#line 2227 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("like_escape"), list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-3])); (yyval.node) = (PGNode *) n; } -#line 28862 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29767 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1087: /* a_expr: a_expr NOT_LA LIKE a_expr */ -#line 2198 "third_party/libpg_query/grammar/statements/select.y" + case 1123: /* a_expr: a_expr NOT_LA LIKE a_expr */ +#line 2234 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_LIKE, "!~~", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2])); } -#line 28871 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29776 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1088: /* a_expr: a_expr NOT_LA LIKE a_expr ESCAPE a_expr */ -#line 2203 "third_party/libpg_query/grammar/statements/select.y" + case 1124: /* a_expr: a_expr NOT_LA LIKE a_expr ESCAPE a_expr */ +#line 2239 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("not_like_escape"), list_make3((yyvsp[-5].node), (yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-4])); (yyval.node) = (PGNode *) n; } -#line 28882 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29787 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1089: /* a_expr: a_expr ILIKE a_expr */ -#line 2210 "third_party/libpg_query/grammar/statements/select.y" + case 1125: /* a_expr: a_expr ILIKE a_expr */ +#line 2246 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_ILIKE, "~~*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 28891 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29796 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1090: /* a_expr: a_expr ILIKE a_expr ESCAPE a_expr */ -#line 2215 "third_party/libpg_query/grammar/statements/select.y" + case 1126: /* a_expr: a_expr ILIKE a_expr ESCAPE a_expr */ +#line 2251 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("ilike_escape"), list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-3])); (yyval.node) = (PGNode *) n; } -#line 28902 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29807 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1091: /* a_expr: a_expr NOT_LA ILIKE a_expr */ -#line 2222 "third_party/libpg_query/grammar/statements/select.y" + case 1127: /* a_expr: a_expr NOT_LA ILIKE a_expr */ +#line 2258 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_ILIKE, "!~~*", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2])); } -#line 28911 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29816 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1092: /* a_expr: a_expr NOT_LA ILIKE a_expr ESCAPE a_expr */ -#line 2227 "third_party/libpg_query/grammar/statements/select.y" + case 1128: /* a_expr: a_expr NOT_LA ILIKE a_expr ESCAPE a_expr */ +#line 2263 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("not_ilike_escape"), list_make3((yyvsp[-5].node), (yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-4])); (yyval.node) = (PGNode *) n; } -#line 28922 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29827 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1093: /* a_expr: a_expr SIMILAR TO a_expr */ -#line 2235 "third_party/libpg_query/grammar/statements/select.y" + case 1129: /* a_expr: a_expr SIMILAR TO a_expr */ +#line 2271 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"), list_make2((yyvsp[0].node), makeNullAConst(-1)), @@ -28930,11 +29835,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_SIMILAR, "~", (yyvsp[-3].node), (PGNode *) n, (yylsp[-2])); } -#line 28934 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29839 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1094: /* a_expr: a_expr SIMILAR TO a_expr ESCAPE a_expr */ -#line 2243 "third_party/libpg_query/grammar/statements/select.y" + case 1130: /* a_expr: a_expr SIMILAR TO a_expr ESCAPE a_expr */ +#line 2279 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"), list_make2((yyvsp[-2].node), (yyvsp[0].node)), @@ -28942,11 +29847,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_SIMILAR, "~", (yyvsp[-5].node), (PGNode *) n, (yylsp[-4])); } -#line 28946 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29851 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1095: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr */ -#line 2251 "third_party/libpg_query/grammar/statements/select.y" + case 1131: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr */ +#line 2287 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"), list_make2((yyvsp[0].node), makeNullAConst(-1)), @@ -28954,11 +29859,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_SIMILAR, "!~", (yyvsp[-4].node), (PGNode *) n, (yylsp[-3])); } -#line 28958 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29863 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1096: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr ESCAPE a_expr */ -#line 2259 "third_party/libpg_query/grammar/statements/select.y" + case 1132: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr ESCAPE a_expr */ +#line 2295 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"), list_make2((yyvsp[-2].node), (yyvsp[0].node)), @@ -28966,11 +29871,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_SIMILAR, "!~", (yyvsp[-6].node), (PGNode *) n, (yylsp[-5])); } -#line 28970 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29875 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1097: /* a_expr: a_expr IS NULL_P */ -#line 2277 "third_party/libpg_query/grammar/statements/select.y" + case 1133: /* a_expr: a_expr IS NULL_P */ +#line 2313 "third_party/libpg_query/grammar/statements/select.y" { PGNullTest *n = makeNode(PGNullTest); n->arg = (PGExpr *) (yyvsp[-2].node); @@ -28978,11 +29883,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *)n; } -#line 28982 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29887 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1098: /* a_expr: a_expr ISNULL */ -#line 2285 "third_party/libpg_query/grammar/statements/select.y" + case 1134: /* a_expr: a_expr ISNULL */ +#line 2321 "third_party/libpg_query/grammar/statements/select.y" { PGNullTest *n = makeNode(PGNullTest); n->arg = (PGExpr *) (yyvsp[-1].node); @@ -28990,11 +29895,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[0]); (yyval.node) = (PGNode *)n; } -#line 28994 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29899 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1099: /* a_expr: a_expr IS NOT NULL_P */ -#line 2293 "third_party/libpg_query/grammar/statements/select.y" + case 1135: /* a_expr: a_expr IS NOT NULL_P */ +#line 2329 "third_party/libpg_query/grammar/statements/select.y" { PGNullTest *n = makeNode(PGNullTest); n->arg = (PGExpr *) (yyvsp[-3].node); @@ -29002,11 +29907,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-2]); (yyval.node) = (PGNode *)n; } -#line 29006 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29911 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1100: /* a_expr: a_expr NOT NULL_P */ -#line 2301 "third_party/libpg_query/grammar/statements/select.y" + case 1136: /* a_expr: a_expr NOT NULL_P */ +#line 2337 "third_party/libpg_query/grammar/statements/select.y" { PGNullTest *n = makeNode(PGNullTest); n->arg = (PGExpr *) (yyvsp[-2].node); @@ -29014,11 +29919,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *)n; } -#line 29018 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29923 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1101: /* a_expr: a_expr NOTNULL */ -#line 2309 "third_party/libpg_query/grammar/statements/select.y" + case 1137: /* a_expr: a_expr NOTNULL */ +#line 2345 "third_party/libpg_query/grammar/statements/select.y" { PGNullTest *n = makeNode(PGNullTest); n->arg = (PGExpr *) (yyvsp[-1].node); @@ -29026,11 +29931,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[0]); (yyval.node) = (PGNode *)n; } -#line 29030 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29935 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1102: /* a_expr: a_expr LAMBDA_ARROW a_expr */ -#line 2317 "third_party/libpg_query/grammar/statements/select.y" + case 1138: /* a_expr: a_expr LAMBDA_ARROW a_expr */ +#line 2353 "third_party/libpg_query/grammar/statements/select.y" { PGLambdaFunction *n = makeNode(PGLambdaFunction); n->lhs = (yyvsp[-2].node); @@ -29038,19 +29943,19 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *) n; } -#line 29042 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29947 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1103: /* a_expr: a_expr DOUBLE_ARROW a_expr */ -#line 2325 "third_party/libpg_query/grammar/statements/select.y" + case 1139: /* a_expr: a_expr DOUBLE_ARROW a_expr */ +#line 2361 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "->>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29050 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29955 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1104: /* a_expr: row OVERLAPS row */ -#line 2329 "third_party/libpg_query/grammar/statements/select.y" + case 1140: /* a_expr: row OVERLAPS row */ +#line 2365 "third_party/libpg_query/grammar/statements/select.y" { if (list_length((yyvsp[-2].list)) != 2) ereport(ERROR, @@ -29066,11 +29971,11 @@ YYLTYPE yylloc = yyloc_default; list_concat((yyvsp[-2].list), (yyvsp[0].list)), (yylsp[-1])); } -#line 29070 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29975 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1105: /* a_expr: a_expr IS TRUE_P */ -#line 2345 "third_party/libpg_query/grammar/statements/select.y" + case 1141: /* a_expr: a_expr IS TRUE_P */ +#line 2381 "third_party/libpg_query/grammar/statements/select.y" { PGBooleanTest *b = makeNode(PGBooleanTest); b->arg = (PGExpr *) (yyvsp[-2].node); @@ -29078,11 +29983,11 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-1]); (yyval.node) = (PGNode *)b; } -#line 29082 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29987 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1106: /* a_expr: a_expr IS NOT TRUE_P */ -#line 2353 "third_party/libpg_query/grammar/statements/select.y" + case 1142: /* a_expr: a_expr IS NOT TRUE_P */ +#line 2389 "third_party/libpg_query/grammar/statements/select.y" { PGBooleanTest *b = makeNode(PGBooleanTest); b->arg = (PGExpr *) (yyvsp[-3].node); @@ -29090,11 +29995,11 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-2]); (yyval.node) = (PGNode *)b; } -#line 29094 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 29999 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1107: /* a_expr: a_expr IS FALSE_P */ -#line 2361 "third_party/libpg_query/grammar/statements/select.y" + case 1143: /* a_expr: a_expr IS FALSE_P */ +#line 2397 "third_party/libpg_query/grammar/statements/select.y" { PGBooleanTest *b = makeNode(PGBooleanTest); b->arg = (PGExpr *) (yyvsp[-2].node); @@ -29102,11 +30007,11 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-1]); (yyval.node) = (PGNode *)b; } -#line 29106 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30011 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1108: /* a_expr: a_expr IS NOT FALSE_P */ -#line 2369 "third_party/libpg_query/grammar/statements/select.y" + case 1144: /* a_expr: a_expr IS NOT FALSE_P */ +#line 2405 "third_party/libpg_query/grammar/statements/select.y" { PGBooleanTest *b = makeNode(PGBooleanTest); b->arg = (PGExpr *) (yyvsp[-3].node); @@ -29114,11 +30019,11 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-2]); (yyval.node) = (PGNode *)b; } -#line 29118 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30023 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1109: /* a_expr: a_expr IS UNKNOWN */ -#line 2377 "third_party/libpg_query/grammar/statements/select.y" + case 1145: /* a_expr: a_expr IS UNKNOWN */ +#line 2413 "third_party/libpg_query/grammar/statements/select.y" { PGBooleanTest *b = makeNode(PGBooleanTest); b->arg = (PGExpr *) (yyvsp[-2].node); @@ -29126,11 +30031,11 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-1]); (yyval.node) = (PGNode *)b; } -#line 29130 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30035 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1110: /* a_expr: a_expr IS NOT UNKNOWN */ -#line 2385 "third_party/libpg_query/grammar/statements/select.y" + case 1146: /* a_expr: a_expr IS NOT UNKNOWN */ +#line 2421 "third_party/libpg_query/grammar/statements/select.y" { PGBooleanTest *b = makeNode(PGBooleanTest); b->arg = (PGExpr *) (yyvsp[-3].node); @@ -29138,43 +30043,43 @@ YYLTYPE yylloc = yyloc_default; b->location = (yylsp[-2]); (yyval.node) = (PGNode *)b; } -#line 29142 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30047 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1111: /* a_expr: a_expr IS DISTINCT FROM a_expr */ -#line 2393 "third_party/libpg_query/grammar/statements/select.y" + case 1147: /* a_expr: a_expr IS DISTINCT FROM a_expr */ +#line 2429 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3])); } -#line 29150 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30055 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1112: /* a_expr: a_expr IS NOT DISTINCT FROM a_expr */ -#line 2397 "third_party/libpg_query/grammar/statements/select.y" + case 1148: /* a_expr: a_expr IS NOT DISTINCT FROM a_expr */ +#line 2433 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4])); } -#line 29158 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30063 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1113: /* a_expr: a_expr IS OF '(' type_list ')' */ -#line 2401 "third_party/libpg_query/grammar/statements/select.y" + case 1149: /* a_expr: a_expr IS OF '(' type_list ')' */ +#line 2437 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OF, "=", (yyvsp[-5].node), (PGNode *) (yyvsp[-1].list), (yylsp[-4])); } -#line 29166 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30071 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1114: /* a_expr: a_expr IS NOT OF '(' type_list ')' */ -#line 2405 "third_party/libpg_query/grammar/statements/select.y" + case 1150: /* a_expr: a_expr IS NOT OF '(' type_list ')' */ +#line 2441 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OF, "<>", (yyvsp[-6].node), (PGNode *) (yyvsp[-1].list), (yylsp[-5])); } -#line 29174 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30079 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1115: /* a_expr: a_expr BETWEEN opt_asymmetric b_expr AND a_expr */ -#line 2409 "third_party/libpg_query/grammar/statements/select.y" + case 1151: /* a_expr: a_expr BETWEEN opt_asymmetric b_expr AND a_expr */ +#line 2445 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_BETWEEN, "BETWEEN", @@ -29182,11 +30087,11 @@ YYLTYPE yylloc = yyloc_default; (PGNode *) list_make2((yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-4])); } -#line 29186 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30091 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1116: /* a_expr: a_expr NOT_LA BETWEEN opt_asymmetric b_expr AND a_expr */ -#line 2417 "third_party/libpg_query/grammar/statements/select.y" + case 1152: /* a_expr: a_expr NOT_LA BETWEEN opt_asymmetric b_expr AND a_expr */ +#line 2453 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NOT_BETWEEN, "NOT BETWEEN", @@ -29194,11 +30099,11 @@ YYLTYPE yylloc = yyloc_default; (PGNode *) list_make2((yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-5])); } -#line 29198 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30103 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1117: /* a_expr: a_expr BETWEEN SYMMETRIC b_expr AND a_expr */ -#line 2425 "third_party/libpg_query/grammar/statements/select.y" + case 1153: /* a_expr: a_expr BETWEEN SYMMETRIC b_expr AND a_expr */ +#line 2461 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_BETWEEN_SYM, "BETWEEN SYMMETRIC", @@ -29206,11 +30111,11 @@ YYLTYPE yylloc = yyloc_default; (PGNode *) list_make2((yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-4])); } -#line 29210 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30115 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1118: /* a_expr: a_expr NOT_LA BETWEEN SYMMETRIC b_expr AND a_expr */ -#line 2433 "third_party/libpg_query/grammar/statements/select.y" + case 1154: /* a_expr: a_expr NOT_LA BETWEEN SYMMETRIC b_expr AND a_expr */ +#line 2469 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NOT_BETWEEN_SYM, "NOT BETWEEN SYMMETRIC", @@ -29218,11 +30123,11 @@ YYLTYPE yylloc = yyloc_default; (PGNode *) list_make2((yyvsp[-2].node), (yyvsp[0].node)), (yylsp[-5])); } -#line 29222 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30127 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1119: /* a_expr: a_expr IN_P in_expr */ -#line 2441 "third_party/libpg_query/grammar/statements/select.y" + case 1155: /* a_expr: a_expr IN_P in_expr */ +#line 2477 "third_party/libpg_query/grammar/statements/select.y" { /* in_expr returns a PGSubLink or a list of a_exprs */ if (IsA((yyvsp[0].node), PGSubLink)) @@ -29242,11 +30147,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } } -#line 29246 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30151 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1120: /* a_expr: a_expr NOT_LA IN_P in_expr */ -#line 2461 "third_party/libpg_query/grammar/statements/select.y" + case 1156: /* a_expr: a_expr NOT_LA IN_P in_expr */ +#line 2497 "third_party/libpg_query/grammar/statements/select.y" { /* in_expr returns a PGSubLink or a list of a_exprs */ if (IsA((yyvsp[0].node), PGSubLink)) @@ -29268,11 +30173,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2])); } } -#line 29272 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30177 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1121: /* a_expr: a_expr subquery_Op sub_type select_with_parens */ -#line 2483 "third_party/libpg_query/grammar/statements/select.y" + case 1157: /* a_expr: a_expr subquery_Op sub_type select_with_parens */ +#line 2519 "third_party/libpg_query/grammar/statements/select.y" { PGSubLink *n = makeNode(PGSubLink); n->subLinkType = (yyvsp[-1].subquerytype); @@ -29283,22 +30188,22 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-2]); (yyval.node) = (PGNode *)n; } -#line 29287 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30192 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1122: /* a_expr: a_expr subquery_Op sub_type '(' a_expr ')' */ -#line 2494 "third_party/libpg_query/grammar/statements/select.y" + case 1158: /* a_expr: a_expr subquery_Op sub_type '(' a_expr ')' */ +#line 2530 "third_party/libpg_query/grammar/statements/select.y" { if ((yyvsp[-3].subquerytype) == PG_ANY_SUBLINK) (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4])); else (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4])); } -#line 29298 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30203 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1123: /* a_expr: DEFAULT */ -#line 2501 "third_party/libpg_query/grammar/statements/select.y" + case 1159: /* a_expr: DEFAULT */ +#line 2537 "third_party/libpg_query/grammar/statements/select.y" { /* * The SQL spec only allows DEFAULT in "contextually typed @@ -29312,11 +30217,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[0]); (yyval.node) = (PGNode *)n; } -#line 29316 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30221 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1124: /* a_expr: COLUMNS '(' a_expr ')' */ -#line 2515 "third_party/libpg_query/grammar/statements/select.y" + case 1160: /* a_expr: COLUMNS '(' a_expr ')' */ +#line 2551 "third_party/libpg_query/grammar/statements/select.y" { PGAStar *star = makeNode(PGAStar); star->expr = (yyvsp[-1].node); @@ -29324,11 +30229,11 @@ YYLTYPE yylloc = yyloc_default; star->location = (yylsp[-3]); (yyval.node) = (PGNode *) star; } -#line 29328 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30233 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1125: /* a_expr: '*' opt_except_list opt_replace_list */ -#line 2523 "third_party/libpg_query/grammar/statements/select.y" + case 1161: /* a_expr: '*' opt_except_list opt_replace_list */ +#line 2559 "third_party/libpg_query/grammar/statements/select.y" { PGAStar *star = makeNode(PGAStar); star->except_list = (yyvsp[-1].list); @@ -29336,11 +30241,11 @@ YYLTYPE yylloc = yyloc_default; star->location = (yylsp[-2]); (yyval.node) = (PGNode *) star; } -#line 29340 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30245 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1126: /* a_expr: ColId '.' '*' opt_except_list opt_replace_list */ -#line 2531 "third_party/libpg_query/grammar/statements/select.y" + case 1162: /* a_expr: ColId '.' '*' opt_except_list opt_replace_list */ +#line 2567 "third_party/libpg_query/grammar/statements/select.y" { PGAStar *star = makeNode(PGAStar); star->relation = (yyvsp[-4].str); @@ -29349,178 +30254,178 @@ YYLTYPE yylloc = yyloc_default; star->location = (yylsp[-4]); (yyval.node) = (PGNode *) star; } -#line 29353 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30258 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1127: /* b_expr: c_expr */ -#line 2551 "third_party/libpg_query/grammar/statements/select.y" + case 1163: /* b_expr: c_expr */ +#line 2587 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 29359 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30264 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1128: /* b_expr: b_expr TYPECAST Typename */ -#line 2553 "third_party/libpg_query/grammar/statements/select.y" + case 1164: /* b_expr: b_expr TYPECAST Typename */ +#line 2589 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), 0, (yylsp[-1])); } -#line 29365 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30270 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1129: /* b_expr: '+' b_expr */ -#line 2555 "third_party/libpg_query/grammar/statements/select.y" + case 1165: /* b_expr: '+' b_expr */ +#line 2591 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); } -#line 29371 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30276 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1130: /* b_expr: '-' b_expr */ -#line 2557 "third_party/libpg_query/grammar/statements/select.y" + case 1166: /* b_expr: '-' b_expr */ +#line 2593 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); } -#line 29377 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30282 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1131: /* b_expr: b_expr '+' b_expr */ -#line 2559 "third_party/libpg_query/grammar/statements/select.y" + case 1167: /* b_expr: b_expr '+' b_expr */ +#line 2595 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29383 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30288 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1132: /* b_expr: b_expr '-' b_expr */ -#line 2561 "third_party/libpg_query/grammar/statements/select.y" + case 1168: /* b_expr: b_expr '-' b_expr */ +#line 2597 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29389 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30294 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1133: /* b_expr: b_expr '*' b_expr */ -#line 2563 "third_party/libpg_query/grammar/statements/select.y" + case 1169: /* b_expr: b_expr '*' b_expr */ +#line 2599 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29395 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30300 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1134: /* b_expr: b_expr '/' b_expr */ -#line 2565 "third_party/libpg_query/grammar/statements/select.y" + case 1170: /* b_expr: b_expr '/' b_expr */ +#line 2601 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29401 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30306 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1135: /* b_expr: b_expr INTEGER_DIVISION b_expr */ -#line 2567 "third_party/libpg_query/grammar/statements/select.y" + case 1171: /* b_expr: b_expr INTEGER_DIVISION b_expr */ +#line 2603 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "//", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29407 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30312 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1136: /* b_expr: b_expr '%' b_expr */ -#line 2569 "third_party/libpg_query/grammar/statements/select.y" + case 1172: /* b_expr: b_expr '%' b_expr */ +#line 2605 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29413 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30318 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1137: /* b_expr: b_expr '^' b_expr */ -#line 2571 "third_party/libpg_query/grammar/statements/select.y" + case 1173: /* b_expr: b_expr '^' b_expr */ +#line 2607 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29419 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30324 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1138: /* b_expr: b_expr POWER_OF b_expr */ -#line 2573 "third_party/libpg_query/grammar/statements/select.y" + case 1174: /* b_expr: b_expr POWER_OF b_expr */ +#line 2609 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "**", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29425 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30330 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1139: /* b_expr: b_expr '<' b_expr */ -#line 2575 "third_party/libpg_query/grammar/statements/select.y" + case 1175: /* b_expr: b_expr '<' b_expr */ +#line 2611 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29431 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30336 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1140: /* b_expr: b_expr '>' b_expr */ -#line 2577 "third_party/libpg_query/grammar/statements/select.y" + case 1176: /* b_expr: b_expr '>' b_expr */ +#line 2613 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29437 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30342 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1141: /* b_expr: b_expr '=' b_expr */ -#line 2579 "third_party/libpg_query/grammar/statements/select.y" + case 1177: /* b_expr: b_expr '=' b_expr */ +#line 2615 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29443 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30348 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1142: /* b_expr: b_expr LESS_EQUALS b_expr */ -#line 2581 "third_party/libpg_query/grammar/statements/select.y" + case 1178: /* b_expr: b_expr LESS_EQUALS b_expr */ +#line 2617 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29449 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30354 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1143: /* b_expr: b_expr GREATER_EQUALS b_expr */ -#line 2583 "third_party/libpg_query/grammar/statements/select.y" + case 1179: /* b_expr: b_expr GREATER_EQUALS b_expr */ +#line 2619 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29455 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30360 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1144: /* b_expr: b_expr NOT_EQUALS b_expr */ -#line 2585 "third_party/libpg_query/grammar/statements/select.y" + case 1180: /* b_expr: b_expr NOT_EQUALS b_expr */ +#line 2621 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29461 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30366 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1145: /* b_expr: b_expr qual_Op b_expr */ -#line 2587 "third_party/libpg_query/grammar/statements/select.y" + case 1181: /* b_expr: b_expr qual_Op b_expr */ +#line 2623 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); } -#line 29467 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30372 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1146: /* b_expr: qual_Op b_expr */ -#line 2589 "third_party/libpg_query/grammar/statements/select.y" + case 1182: /* b_expr: qual_Op b_expr */ +#line 2625 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); } -#line 29473 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30378 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1147: /* b_expr: b_expr qual_Op */ -#line 2591 "third_party/libpg_query/grammar/statements/select.y" + case 1183: /* b_expr: b_expr qual_Op */ +#line 2627 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); } -#line 29479 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30384 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1148: /* b_expr: b_expr IS DISTINCT FROM b_expr */ -#line 2593 "third_party/libpg_query/grammar/statements/select.y" + case 1184: /* b_expr: b_expr IS DISTINCT FROM b_expr */ +#line 2629 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3])); } -#line 29487 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30392 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1149: /* b_expr: b_expr IS NOT DISTINCT FROM b_expr */ -#line 2597 "third_party/libpg_query/grammar/statements/select.y" + case 1185: /* b_expr: b_expr IS NOT DISTINCT FROM b_expr */ +#line 2633 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4])); } -#line 29495 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30400 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1150: /* b_expr: b_expr IS OF '(' type_list ')' */ -#line 2601 "third_party/libpg_query/grammar/statements/select.y" + case 1186: /* b_expr: b_expr IS OF '(' type_list ')' */ +#line 2637 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OF, "=", (yyvsp[-5].node), (PGNode *) (yyvsp[-1].list), (yylsp[-4])); } -#line 29503 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30408 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1151: /* b_expr: b_expr IS NOT OF '(' type_list ')' */ -#line 2605 "third_party/libpg_query/grammar/statements/select.y" + case 1187: /* b_expr: b_expr IS NOT OF '(' type_list ')' */ +#line 2641 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OF, "<>", (yyvsp[-6].node), (PGNode *) (yyvsp[-1].list), (yylsp[-5])); } -#line 29511 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30416 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1153: /* c_expr: row */ -#line 2619 "third_party/libpg_query/grammar/statements/select.y" + case 1189: /* c_expr: row */ +#line 2655 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("row"), (yyvsp[0].list), (yylsp[0])); (yyval.node) = (PGNode *) n; } -#line 29520 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30425 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1154: /* c_expr: indirection_expr opt_extended_indirection */ -#line 2624 "third_party/libpg_query/grammar/statements/select.y" + case 1190: /* c_expr: indirection_expr opt_extended_indirection */ +#line 2660 "third_party/libpg_query/grammar/statements/select.y" { if ((yyvsp[0].list)) { @@ -29532,59 +30437,59 @@ YYLTYPE yylloc = yyloc_default; else (yyval.node) = (PGNode *) (yyvsp[-1].node); } -#line 29536 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30441 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1155: /* d_expr: columnref */ -#line 2637 "third_party/libpg_query/grammar/statements/select.y" + case 1191: /* d_expr: columnref */ +#line 2673 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 29542 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30447 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1156: /* d_expr: AexprConst */ -#line 2638 "third_party/libpg_query/grammar/statements/select.y" + case 1192: /* d_expr: AexprConst */ +#line 2674 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 29548 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30453 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1157: /* d_expr: '#' ICONST */ -#line 2640 "third_party/libpg_query/grammar/statements/select.y" + case 1193: /* d_expr: '#' ICONST */ +#line 2676 "third_party/libpg_query/grammar/statements/select.y" { PGPositionalReference *n = makeNode(PGPositionalReference); n->position = (yyvsp[0].ival); n->location = (yylsp[-1]); (yyval.node) = (PGNode *) n; } -#line 29559 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30464 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1158: /* d_expr: '$' ColLabel */ -#line 2647 "third_party/libpg_query/grammar/statements/select.y" + case 1194: /* d_expr: '$' ColLabel */ +#line 2683 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeNamedParamRef((yyvsp[0].str), (yylsp[-1])); } -#line 29567 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30472 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1159: /* d_expr: '[' opt_expr_list_opt_comma ']' */ -#line 2650 "third_party/libpg_query/grammar/statements/select.y" + case 1195: /* d_expr: '[' opt_expr_list_opt_comma ']' */ +#line 2686 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall(SystemFuncName("list_value"), (yyvsp[-1].list), (yylsp[-1])); (yyval.node) = (PGNode *) n; } -#line 29576 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30481 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1160: /* d_expr: list_comprehension */ -#line 2654 "third_party/libpg_query/grammar/statements/select.y" + case 1196: /* d_expr: list_comprehension */ +#line 2690 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 29584 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30489 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1161: /* d_expr: ARRAY select_with_parens */ -#line 2658 "third_party/libpg_query/grammar/statements/select.y" + case 1197: /* d_expr: ARRAY select_with_parens */ +#line 2694 "third_party/libpg_query/grammar/statements/select.y" { PGSubLink *n = makeNode(PGSubLink); n->subLinkType = PG_ARRAY_SUBLINK; @@ -29595,27 +30500,27 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[0]); (yyval.node) = (PGNode *)n; } -#line 29599 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30504 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1162: /* d_expr: ARRAY '[' opt_expr_list_opt_comma ']' */ -#line 2668 "third_party/libpg_query/grammar/statements/select.y" + case 1198: /* d_expr: ARRAY '[' opt_expr_list_opt_comma ']' */ +#line 2704 "third_party/libpg_query/grammar/statements/select.y" { PGList *func_name = list_make1(makeString("construct_array")); PGFuncCall *n = makeFuncCall(func_name, (yyvsp[-1].list), (yylsp[-3])); (yyval.node) = (PGNode *) n; } -#line 29609 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30514 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1163: /* d_expr: case_expr */ -#line 2674 "third_party/libpg_query/grammar/statements/select.y" + case 1199: /* d_expr: case_expr */ +#line 2710 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 29615 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30520 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1164: /* d_expr: select_with_parens */ -#line 2676 "third_party/libpg_query/grammar/statements/select.y" + case 1200: /* d_expr: select_with_parens */ +#line 2712 "third_party/libpg_query/grammar/statements/select.y" { PGSubLink *n = makeNode(PGSubLink); n->subLinkType = PG_EXPR_SUBLINK; @@ -29626,11 +30531,11 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[0]); (yyval.node) = (PGNode *)n; } -#line 29630 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30535 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1165: /* d_expr: select_with_parens indirection */ -#line 2687 "third_party/libpg_query/grammar/statements/select.y" + case 1201: /* d_expr: select_with_parens indirection */ +#line 2723 "third_party/libpg_query/grammar/statements/select.y" { /* * Because the select_with_parens nonterminal is designed @@ -29654,11 +30559,11 @@ YYLTYPE yylloc = yyloc_default; a->indirection = check_indirection((yyvsp[0].list), yyscanner); (yyval.node) = (PGNode *)a; } -#line 29658 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30563 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1166: /* d_expr: EXISTS select_with_parens */ -#line 2711 "third_party/libpg_query/grammar/statements/select.y" + case 1202: /* d_expr: EXISTS select_with_parens */ +#line 2747 "third_party/libpg_query/grammar/statements/select.y" { PGSubLink *n = makeNode(PGSubLink); n->subLinkType = PG_EXISTS_SUBLINK; @@ -29669,57 +30574,57 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-1]); (yyval.node) = (PGNode *)n; } -#line 29673 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30578 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1167: /* d_expr: grouping_or_grouping_id '(' expr_list_opt_comma ')' */ -#line 2722 "third_party/libpg_query/grammar/statements/select.y" + case 1203: /* d_expr: grouping_or_grouping_id '(' expr_list_opt_comma ')' */ +#line 2758 "third_party/libpg_query/grammar/statements/select.y" { PGGroupingFunc *g = makeNode(PGGroupingFunc); g->args = (yyvsp[-1].list); g->location = (yylsp[-3]); (yyval.node) = (PGNode *)g; } -#line 29684 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30589 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1168: /* indirection_expr: '?' */ -#line 2733 "third_party/libpg_query/grammar/statements/select.y" + case 1204: /* indirection_expr: '?' */ +#line 2769 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeParamRef(0, (yylsp[0])); } -#line 29692 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30597 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1169: /* indirection_expr: PARAM */ -#line 2737 "third_party/libpg_query/grammar/statements/select.y" + case 1205: /* indirection_expr: PARAM */ +#line 2773 "third_party/libpg_query/grammar/statements/select.y" { PGParamRef *p = makeNode(PGParamRef); p->number = (yyvsp[0].ival); p->location = (yylsp[0]); (yyval.node) = (PGNode *) p; } -#line 29703 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30608 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1170: /* indirection_expr: '(' a_expr ')' */ -#line 2744 "third_party/libpg_query/grammar/statements/select.y" + case 1206: /* indirection_expr: '(' a_expr ')' */ +#line 2780 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[-1].node); } -#line 29711 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30616 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1171: /* indirection_expr: struct_expr */ -#line 2748 "third_party/libpg_query/grammar/statements/select.y" + case 1207: /* indirection_expr: struct_expr */ +#line 2784 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 29719 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30624 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1172: /* indirection_expr: MAP '{' opt_map_arguments_opt_comma '}' */ -#line 2752 "third_party/libpg_query/grammar/statements/select.y" + case 1208: /* indirection_expr: MAP '{' opt_map_arguments_opt_comma '}' */ +#line 2788 "third_party/libpg_query/grammar/statements/select.y" { PGList *key_list = NULL; PGList *value_list = NULL; @@ -29736,47 +30641,47 @@ YYLTYPE yylloc = yyloc_default; PGFuncCall *f = makeFuncCall(SystemFuncName("map"), list_make2(keys, values), (yylsp[-1])); (yyval.node) = (PGNode *) f; } -#line 29740 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30645 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1173: /* indirection_expr: func_expr */ -#line 2769 "third_party/libpg_query/grammar/statements/select.y" + case 1209: /* indirection_expr: func_expr */ +#line 2805 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 29748 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30653 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1174: /* struct_expr: '{' dict_arguments_opt_comma '}' */ -#line 2777 "third_party/libpg_query/grammar/statements/select.y" + case 1210: /* struct_expr: '{' dict_arguments_opt_comma '}' */ +#line 2813 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *f = makeFuncCall(SystemFuncName("struct_pack"), (yyvsp[-1].list), (yylsp[-1])); (yyval.node) = (PGNode *) f; } -#line 29757 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30662 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1175: /* func_application: func_name '(' ')' */ -#line 2786 "third_party/libpg_query/grammar/statements/select.y" + case 1211: /* func_application: func_name '(' ')' */ +#line 2822 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2])); } -#line 29765 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30670 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1176: /* func_application: func_name '(' func_arg_list opt_sort_clause opt_ignore_nulls ')' */ -#line 2790 "third_party/libpg_query/grammar/statements/select.y" + case 1212: /* func_application: func_name '(' func_arg_list opt_sort_clause opt_ignore_nulls ')' */ +#line 2826 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-3].list), (yylsp[-5])); n->agg_order = (yyvsp[-2].list); n->agg_ignore_nulls = (yyvsp[-1].boolean); (yyval.node) = (PGNode *)n; } -#line 29776 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30681 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1177: /* func_application: func_name '(' VARIADIC func_arg_expr opt_sort_clause opt_ignore_nulls ')' */ -#line 2797 "third_party/libpg_query/grammar/statements/select.y" + case 1213: /* func_application: func_name '(' VARIADIC func_arg_expr opt_sort_clause opt_ignore_nulls ')' */ +#line 2833 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall((yyvsp[-6].list), list_make1((yyvsp[-3].node)), (yylsp[-6])); n->func_variadic = true; @@ -29784,11 +30689,11 @@ YYLTYPE yylloc = yyloc_default; n->agg_ignore_nulls = (yyvsp[-1].boolean); (yyval.node) = (PGNode *)n; } -#line 29788 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30693 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1178: /* func_application: func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause opt_ignore_nulls ')' */ -#line 2805 "third_party/libpg_query/grammar/statements/select.y" + case 1214: /* func_application: func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause opt_ignore_nulls ')' */ +#line 2841 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall((yyvsp[-8].list), lappend((yyvsp[-6].list), (yyvsp[-3].node)), (yylsp[-8])); n->func_variadic = true; @@ -29796,11 +30701,11 @@ YYLTYPE yylloc = yyloc_default; n->agg_ignore_nulls = (yyvsp[-1].boolean); (yyval.node) = (PGNode *)n; } -#line 29800 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30705 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1179: /* func_application: func_name '(' ALL func_arg_list opt_sort_clause opt_ignore_nulls ')' */ -#line 2813 "third_party/libpg_query/grammar/statements/select.y" + case 1215: /* func_application: func_name '(' ALL func_arg_list opt_sort_clause opt_ignore_nulls ')' */ +#line 2849 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall((yyvsp[-6].list), (yyvsp[-3].list), (yylsp[-6])); n->agg_order = (yyvsp[-2].list); @@ -29811,11 +30716,11 @@ YYLTYPE yylloc = yyloc_default; */ (yyval.node) = (PGNode *)n; } -#line 29815 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30720 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1180: /* func_application: func_name '(' DISTINCT func_arg_list opt_sort_clause opt_ignore_nulls ')' */ -#line 2824 "third_party/libpg_query/grammar/statements/select.y" + case 1216: /* func_application: func_name '(' DISTINCT func_arg_list opt_sort_clause opt_ignore_nulls ')' */ +#line 2860 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = makeFuncCall((yyvsp[-6].list), (yyvsp[-3].list), (yylsp[-6])); n->agg_order = (yyvsp[-2].list); @@ -29823,11 +30728,11 @@ YYLTYPE yylloc = yyloc_default; n->agg_distinct = true; (yyval.node) = (PGNode *)n; } -#line 29827 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30732 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1181: /* func_expr: func_application within_group_clause filter_clause export_clause over_clause */ -#line 2844 "third_party/libpg_query/grammar/statements/select.y" + case 1217: /* func_expr: func_application within_group_clause filter_clause export_clause over_clause */ +#line 2880 "third_party/libpg_query/grammar/statements/select.y" { PGFuncCall *n = (PGFuncCall *) (yyvsp[-4].node); /* @@ -29863,59 +30768,59 @@ YYLTYPE yylloc = yyloc_default; n->over = (yyvsp[0].windef); (yyval.node) = (PGNode *) n; } -#line 29867 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30772 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1182: /* func_expr: func_expr_common_subexpr */ -#line 2880 "third_party/libpg_query/grammar/statements/select.y" + case 1218: /* func_expr: func_expr_common_subexpr */ +#line 2916 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 29873 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30778 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1183: /* func_expr_windowless: func_application */ -#line 2890 "third_party/libpg_query/grammar/statements/select.y" + case 1219: /* func_expr_windowless: func_application */ +#line 2926 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 29879 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30784 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1184: /* func_expr_windowless: func_expr_common_subexpr */ -#line 2891 "third_party/libpg_query/grammar/statements/select.y" + case 1220: /* func_expr_windowless: func_expr_common_subexpr */ +#line 2927 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 29885 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30790 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1185: /* func_expr_common_subexpr: COLLATION FOR '(' a_expr ')' */ -#line 2899 "third_party/libpg_query/grammar/statements/select.y" + case 1221: /* func_expr_common_subexpr: COLLATION FOR '(' a_expr ')' */ +#line 2935 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("pg_collation_for"), list_make1((yyvsp[-1].node)), (yylsp[-4])); } -#line 29895 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30800 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1186: /* func_expr_common_subexpr: CAST '(' a_expr AS Typename ')' */ -#line 2905 "third_party/libpg_query/grammar/statements/select.y" + case 1222: /* func_expr_common_subexpr: CAST '(' a_expr AS Typename ')' */ +#line 2941 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), 0, (yylsp[-5])); } -#line 29901 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30806 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1187: /* func_expr_common_subexpr: TRY_CAST '(' a_expr AS Typename ')' */ -#line 2907 "third_party/libpg_query/grammar/statements/select.y" + case 1223: /* func_expr_common_subexpr: TRY_CAST '(' a_expr AS Typename ')' */ +#line 2943 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), 1, (yylsp[-5])); } -#line 29907 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30812 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1188: /* func_expr_common_subexpr: EXTRACT '(' extract_list ')' */ -#line 2909 "third_party/libpg_query/grammar/statements/select.y" + case 1224: /* func_expr_common_subexpr: EXTRACT '(' extract_list ')' */ +#line 2945 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3])); } -#line 29915 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30820 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1189: /* func_expr_common_subexpr: OVERLAY '(' overlay_list ')' */ -#line 2913 "third_party/libpg_query/grammar/statements/select.y" + case 1225: /* func_expr_common_subexpr: OVERLAY '(' overlay_list ')' */ +#line 2949 "third_party/libpg_query/grammar/statements/select.y" { /* overlay(A PLACING B FROM C FOR D) is converted to * overlay(A, B, C, D) @@ -29924,31 +30829,31 @@ YYLTYPE yylloc = yyloc_default; */ (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[-1].list), (yylsp[-3])); } -#line 29928 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30833 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1190: /* func_expr_common_subexpr: POSITION '(' position_list ')' */ -#line 2922 "third_party/libpg_query/grammar/statements/select.y" + case 1226: /* func_expr_common_subexpr: POSITION '(' position_list ')' */ +#line 2958 "third_party/libpg_query/grammar/statements/select.y" { /* position(A in B) is converted to position(B, A) */ (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3])); } -#line 29937 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30842 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1191: /* func_expr_common_subexpr: SUBSTRING '(' substr_list ')' */ -#line 2927 "third_party/libpg_query/grammar/statements/select.y" + case 1227: /* func_expr_common_subexpr: SUBSTRING '(' substr_list ')' */ +#line 2963 "third_party/libpg_query/grammar/statements/select.y" { /* substring(A from B for C) is converted to * substring(A, B, C) - thomas 2000-11-28 */ (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("substring"), (yyvsp[-1].list), (yylsp[-3])); } -#line 29948 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30853 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1192: /* func_expr_common_subexpr: TREAT '(' a_expr AS Typename ')' */ -#line 2934 "third_party/libpg_query/grammar/statements/select.y" + case 1228: /* func_expr_common_subexpr: TREAT '(' a_expr AS Typename ')' */ +#line 2970 "third_party/libpg_query/grammar/statements/select.y" { /* TREAT(expr AS target) converts expr of a particular type to target, * which is defined to be a subtype of the original expression. @@ -29963,65 +30868,65 @@ YYLTYPE yylloc = yyloc_default; list_make1((yyvsp[-3].node)), (yylsp[-5])); } -#line 29967 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30872 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1193: /* func_expr_common_subexpr: TRIM '(' BOTH trim_list ')' */ -#line 2949 "third_party/libpg_query/grammar/statements/select.y" + case 1229: /* func_expr_common_subexpr: TRIM '(' BOTH trim_list ')' */ +#line 2985 "third_party/libpg_query/grammar/statements/select.y" { /* various trim expressions are defined in SQL * - thomas 1997-07-19 */ (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("trim"), (yyvsp[-1].list), (yylsp[-4])); } -#line 29978 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30883 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1194: /* func_expr_common_subexpr: TRIM '(' LEADING trim_list ')' */ -#line 2956 "third_party/libpg_query/grammar/statements/select.y" + case 1230: /* func_expr_common_subexpr: TRIM '(' LEADING trim_list ')' */ +#line 2992 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4])); } -#line 29986 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30891 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1195: /* func_expr_common_subexpr: TRIM '(' TRAILING trim_list ')' */ -#line 2960 "third_party/libpg_query/grammar/statements/select.y" + case 1231: /* func_expr_common_subexpr: TRIM '(' TRAILING trim_list ')' */ +#line 2996 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4])); } -#line 29994 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30899 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1196: /* func_expr_common_subexpr: TRIM '(' trim_list ')' */ -#line 2964 "third_party/libpg_query/grammar/statements/select.y" + case 1232: /* func_expr_common_subexpr: TRIM '(' trim_list ')' */ +#line 3000 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("trim"), (yyvsp[-1].list), (yylsp[-3])); } -#line 30002 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30907 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1197: /* func_expr_common_subexpr: NULLIF '(' a_expr ',' a_expr ')' */ -#line 2968 "third_party/libpg_query/grammar/statements/select.y" + case 1233: /* func_expr_common_subexpr: NULLIF '(' a_expr ',' a_expr ')' */ +#line 3004 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5])); } -#line 30010 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30915 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1198: /* func_expr_common_subexpr: COALESCE '(' expr_list_opt_comma ')' */ -#line 2972 "third_party/libpg_query/grammar/statements/select.y" + case 1234: /* func_expr_common_subexpr: COALESCE '(' expr_list_opt_comma ')' */ +#line 3008 "third_party/libpg_query/grammar/statements/select.y" { PGCoalesceExpr *c = makeNode(PGCoalesceExpr); c->args = (yyvsp[-1].list); c->location = (yylsp[-3]); (yyval.node) = (PGNode *)c; } -#line 30021 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30926 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1199: /* list_comprehension: '[' a_expr FOR ColId IN_P a_expr ']' */ -#line 2982 "third_party/libpg_query/grammar/statements/select.y" + case 1235: /* list_comprehension: '[' a_expr FOR ColId IN_P a_expr ']' */ +#line 3018 "third_party/libpg_query/grammar/statements/select.y" { PGLambdaFunction *lambda = makeNode(PGLambdaFunction); lambda->lhs = makeColumnRef((yyvsp[-3].str), NIL, (yylsp[-3]), yyscanner); @@ -30030,11 +30935,11 @@ YYLTYPE yylloc = yyloc_default; PGFuncCall *n = makeFuncCall(SystemFuncName("list_apply"), list_make2((yyvsp[-1].node), lambda), (yylsp[-6])); (yyval.node) = (PGNode *) n; } -#line 30034 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30939 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1200: /* list_comprehension: '[' a_expr FOR ColId IN_P c_expr IF_P a_expr ']' */ -#line 2991 "third_party/libpg_query/grammar/statements/select.y" + case 1236: /* list_comprehension: '[' a_expr FOR ColId IN_P c_expr IF_P a_expr ']' */ +#line 3027 "third_party/libpg_query/grammar/statements/select.y" { PGLambdaFunction *lambda = makeNode(PGLambdaFunction); lambda->lhs = makeColumnRef((yyvsp[-5].str), NIL, (yylsp[-5]), yyscanner); @@ -30049,93 +30954,93 @@ YYLTYPE yylloc = yyloc_default; PGFuncCall *n = makeFuncCall(SystemFuncName("list_apply"), list_make2(filter, lambda), (yylsp[-8])); (yyval.node) = (PGNode *) n; } -#line 30053 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30958 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1201: /* within_group_clause: WITHIN GROUP_P '(' sort_clause ')' */ -#line 3012 "third_party/libpg_query/grammar/statements/select.y" + case 1237: /* within_group_clause: WITHIN GROUP_P '(' sort_clause ')' */ +#line 3048 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 30059 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30964 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1202: /* within_group_clause: %empty */ -#line 3013 "third_party/libpg_query/grammar/statements/select.y" + case 1238: /* within_group_clause: %empty */ +#line 3049 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 30065 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30970 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1203: /* filter_clause: FILTER '(' WHERE a_expr ')' */ -#line 3017 "third_party/libpg_query/grammar/statements/select.y" + case 1239: /* filter_clause: FILTER '(' WHERE a_expr ')' */ +#line 3053 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[-1].node); } -#line 30071 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30976 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1204: /* filter_clause: FILTER '(' a_expr ')' */ -#line 3018 "third_party/libpg_query/grammar/statements/select.y" + case 1240: /* filter_clause: FILTER '(' a_expr ')' */ +#line 3054 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[-1].node); } -#line 30077 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30982 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1205: /* filter_clause: %empty */ -#line 3019 "third_party/libpg_query/grammar/statements/select.y" + case 1241: /* filter_clause: %empty */ +#line 3055 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 30083 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30988 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1206: /* export_clause: EXPORT_STATE */ -#line 3023 "third_party/libpg_query/grammar/statements/select.y" + case 1242: /* export_clause: EXPORT_STATE */ +#line 3059 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = true; } -#line 30089 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 30994 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1207: /* export_clause: %empty */ -#line 3024 "third_party/libpg_query/grammar/statements/select.y" + case 1243: /* export_clause: %empty */ +#line 3060 "third_party/libpg_query/grammar/statements/select.y" { (yyval.boolean) = false; } -#line 30095 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31000 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1208: /* window_clause: WINDOW window_definition_list */ -#line 3031 "third_party/libpg_query/grammar/statements/select.y" + case 1244: /* window_clause: WINDOW window_definition_list */ +#line 3067 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 30101 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31006 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1209: /* window_clause: %empty */ -#line 3032 "third_party/libpg_query/grammar/statements/select.y" + case 1245: /* window_clause: %empty */ +#line 3068 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 30107 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31012 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1210: /* window_definition_list: window_definition */ -#line 3036 "third_party/libpg_query/grammar/statements/select.y" + case 1246: /* window_definition_list: window_definition */ +#line 3072 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].windef)); } -#line 30113 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31018 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1211: /* window_definition_list: window_definition_list ',' window_definition */ -#line 3038 "third_party/libpg_query/grammar/statements/select.y" + case 1247: /* window_definition_list: window_definition_list ',' window_definition */ +#line 3074 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); } -#line 30119 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31024 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1212: /* window_definition: ColId AS window_specification */ -#line 3043 "third_party/libpg_query/grammar/statements/select.y" + case 1248: /* window_definition: ColId AS window_specification */ +#line 3079 "third_party/libpg_query/grammar/statements/select.y" { PGWindowDef *n = (yyvsp[0].windef); n->name = (yyvsp[-2].str); (yyval.windef) = n; } -#line 30129 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31034 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1213: /* over_clause: OVER window_specification */ -#line 3051 "third_party/libpg_query/grammar/statements/select.y" + case 1249: /* over_clause: OVER window_specification */ +#line 3087 "third_party/libpg_query/grammar/statements/select.y" { (yyval.windef) = (yyvsp[0].windef); } -#line 30135 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31040 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1214: /* over_clause: OVER ColId */ -#line 3053 "third_party/libpg_query/grammar/statements/select.y" + case 1250: /* over_clause: OVER ColId */ +#line 3089 "third_party/libpg_query/grammar/statements/select.y" { PGWindowDef *n = makeNode(PGWindowDef); n->name = (yyvsp[0].str); @@ -30148,17 +31053,17 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[0]); (yyval.windef) = n; } -#line 30152 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31057 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1215: /* over_clause: %empty */ -#line 3066 "third_party/libpg_query/grammar/statements/select.y" + case 1251: /* over_clause: %empty */ +#line 3102 "third_party/libpg_query/grammar/statements/select.y" { (yyval.windef) = NULL; } -#line 30158 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31063 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1216: /* window_specification: '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')' */ -#line 3071 "third_party/libpg_query/grammar/statements/select.y" + case 1252: /* window_specification: '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')' */ +#line 3107 "third_party/libpg_query/grammar/statements/select.y" { PGWindowDef *n = makeNode(PGWindowDef); n->name = NULL; @@ -30172,76 +31077,94 @@ YYLTYPE yylloc = yyloc_default; n->location = (yylsp[-5]); (yyval.windef) = n; } -#line 30176 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31081 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1217: /* opt_existing_window_name: ColId */ -#line 3096 "third_party/libpg_query/grammar/statements/select.y" + case 1253: /* opt_existing_window_name: ColId */ +#line 3132 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (yyvsp[0].str); } -#line 30182 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31087 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1218: /* opt_existing_window_name: %empty */ -#line 3097 "third_party/libpg_query/grammar/statements/select.y" + case 1254: /* opt_existing_window_name: %empty */ +#line 3133 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = NULL; } -#line 30188 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31093 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1219: /* opt_partition_clause: PARTITION BY expr_list */ -#line 3100 "third_party/libpg_query/grammar/statements/select.y" + case 1255: /* opt_partition_clause: PARTITION BY expr_list */ +#line 3136 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 30194 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31099 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1220: /* opt_partition_clause: %empty */ -#line 3101 "third_party/libpg_query/grammar/statements/select.y" + case 1256: /* opt_partition_clause: %empty */ +#line 3137 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 30200 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31105 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1221: /* opt_frame_clause: RANGE frame_extent */ -#line 3113 "third_party/libpg_query/grammar/statements/select.y" + case 1257: /* opt_frame_clause: RANGE frame_extent opt_window_exclusion_clause */ +#line 3146 "third_party/libpg_query/grammar/statements/select.y" { - PGWindowDef *n = (yyvsp[0].windef); + PGWindowDef *n = (yyvsp[-1].windef); + n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE; + n->frameOptions |= (yyvsp[0].ival); (yyval.windef) = n; } -#line 30210 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31117 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1222: /* opt_frame_clause: ROWS frame_extent */ -#line 3119 "third_party/libpg_query/grammar/statements/select.y" + case 1258: /* opt_frame_clause: ROWS frame_extent opt_window_exclusion_clause */ +#line 3154 "third_party/libpg_query/grammar/statements/select.y" { - PGWindowDef *n = (yyvsp[0].windef); + PGWindowDef *n = (yyvsp[-1].windef); + n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS; + n->frameOptions |= (yyvsp[0].ival); + (yyval.windef) = n; + } +#line 31129 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1259: /* opt_frame_clause: GROUPS frame_extent opt_window_exclusion_clause */ +#line 3162 "third_party/libpg_query/grammar/statements/select.y" + { + PGWindowDef *n = (yyvsp[-1].windef); + + n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS; + n->frameOptions |= (yyvsp[0].ival); (yyval.windef) = n; } -#line 30220 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31141 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1223: /* opt_frame_clause: %empty */ -#line 3125 "third_party/libpg_query/grammar/statements/select.y" + case 1260: /* opt_frame_clause: %empty */ +#line 3170 "third_party/libpg_query/grammar/statements/select.y" { PGWindowDef *n = makeNode(PGWindowDef); + n->frameOptions = FRAMEOPTION_DEFAULTS; n->startOffset = NULL; n->endOffset = NULL; (yyval.windef) = n; } -#line 30232 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31154 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1224: /* frame_extent: frame_bound */ -#line 3135 "third_party/libpg_query/grammar/statements/select.y" + case 1261: /* frame_extent: frame_bound */ +#line 3181 "third_party/libpg_query/grammar/statements/select.y" { PGWindowDef *n = (yyvsp[0].windef); + /* reject invalid cases */ if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) ereport(ERROR, (errcode(PG_ERRCODE_WINDOWING_ERROR), errmsg("frame start cannot be UNBOUNDED FOLLOWING"), parser_errposition((yylsp[0])))); - if (n->frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING) + if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) ereport(ERROR, (errcode(PG_ERRCODE_WINDOWING_ERROR), errmsg("frame starting from following row cannot end with current row"), @@ -30249,14 +31172,15 @@ YYLTYPE yylloc = yyloc_default; n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW; (yyval.windef) = n; } -#line 30253 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31176 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1225: /* frame_extent: BETWEEN frame_bound AND frame_bound */ -#line 3152 "third_party/libpg_query/grammar/statements/select.y" + case 1262: /* frame_extent: BETWEEN frame_bound AND frame_bound */ +#line 3199 "third_party/libpg_query/grammar/statements/select.y" { PGWindowDef *n1 = (yyvsp[-2].windef); PGWindowDef *n2 = (yyvsp[0].windef); + /* form merged options */ int frameOptions = n1->frameOptions; /* shift converts START_ options to END_ options */ @@ -30274,13 +31198,13 @@ YYLTYPE yylloc = yyloc_default; errmsg("frame end cannot be UNBOUNDED PRECEDING"), parser_errposition((yylsp[0])))); if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) && - (frameOptions & FRAMEOPTION_END_VALUE_PRECEDING)) + (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING)) ereport(ERROR, (errcode(PG_ERRCODE_WINDOWING_ERROR), errmsg("frame starting from current row cannot have preceding rows"), parser_errposition((yylsp[0])))); - if ((frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING) && - (frameOptions & (FRAMEOPTION_END_VALUE_PRECEDING | + if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) && + (frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING | FRAMEOPTION_END_CURRENT_ROW))) ereport(ERROR, (errcode(PG_ERRCODE_WINDOWING_ERROR), @@ -30290,95 +31214,130 @@ YYLTYPE yylloc = yyloc_default; n1->endOffset = n2->startOffset; (yyval.windef) = n1; } -#line 30294 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31218 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1226: /* frame_bound: UNBOUNDED PRECEDING */ -#line 3197 "third_party/libpg_query/grammar/statements/select.y" + case 1263: /* frame_bound: UNBOUNDED PRECEDING */ +#line 3245 "third_party/libpg_query/grammar/statements/select.y" { PGWindowDef *n = makeNode(PGWindowDef); + n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING; n->startOffset = NULL; n->endOffset = NULL; (yyval.windef) = n; } -#line 30306 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31231 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1227: /* frame_bound: UNBOUNDED FOLLOWING */ -#line 3205 "third_party/libpg_query/grammar/statements/select.y" + case 1264: /* frame_bound: UNBOUNDED FOLLOWING */ +#line 3254 "third_party/libpg_query/grammar/statements/select.y" { PGWindowDef *n = makeNode(PGWindowDef); + n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING; n->startOffset = NULL; n->endOffset = NULL; (yyval.windef) = n; } -#line 30318 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31244 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1228: /* frame_bound: CURRENT_P ROW */ -#line 3213 "third_party/libpg_query/grammar/statements/select.y" + case 1265: /* frame_bound: CURRENT_P ROW */ +#line 3263 "third_party/libpg_query/grammar/statements/select.y" { PGWindowDef *n = makeNode(PGWindowDef); + n->frameOptions = FRAMEOPTION_START_CURRENT_ROW; n->startOffset = NULL; n->endOffset = NULL; (yyval.windef) = n; } -#line 30330 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31257 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1229: /* frame_bound: a_expr PRECEDING */ -#line 3221 "third_party/libpg_query/grammar/statements/select.y" + case 1266: /* frame_bound: a_expr PRECEDING */ +#line 3272 "third_party/libpg_query/grammar/statements/select.y" { PGWindowDef *n = makeNode(PGWindowDef); - n->frameOptions = FRAMEOPTION_START_VALUE_PRECEDING; + + n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING; n->startOffset = (yyvsp[-1].node); n->endOffset = NULL; (yyval.windef) = n; } -#line 30342 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31270 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1230: /* frame_bound: a_expr FOLLOWING */ -#line 3229 "third_party/libpg_query/grammar/statements/select.y" + case 1267: /* frame_bound: a_expr FOLLOWING */ +#line 3281 "third_party/libpg_query/grammar/statements/select.y" { PGWindowDef *n = makeNode(PGWindowDef); - n->frameOptions = FRAMEOPTION_START_VALUE_FOLLOWING; + + n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING; n->startOffset = (yyvsp[-1].node); n->endOffset = NULL; (yyval.windef) = n; } -#line 30354 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31283 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1268: /* opt_window_exclusion_clause: EXCLUDE CURRENT_P ROW */ +#line 3292 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; } +#line 31289 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1269: /* opt_window_exclusion_clause: EXCLUDE GROUP_P */ +#line 3293 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; } +#line 31295 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1231: /* qualified_row: ROW '(' expr_list_opt_comma ')' */ -#line 3249 "third_party/libpg_query/grammar/statements/select.y" + case 1270: /* opt_window_exclusion_clause: EXCLUDE TIES */ +#line 3294 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; } +#line 31301 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1271: /* opt_window_exclusion_clause: EXCLUDE NO OTHERS */ +#line 3295 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.ival) = 0; } +#line 31307 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1272: /* opt_window_exclusion_clause: %empty */ +#line 3296 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.ival) = 0; } +#line 31313 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1273: /* qualified_row: ROW '(' expr_list_opt_comma ')' */ +#line 3310 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 30360 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31319 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1232: /* qualified_row: ROW '(' ')' */ -#line 3250 "third_party/libpg_query/grammar/statements/select.y" + case 1274: /* qualified_row: ROW '(' ')' */ +#line 3311 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 30366 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31325 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1233: /* row: qualified_row */ -#line 3253 "third_party/libpg_query/grammar/statements/select.y" + case 1275: /* row: qualified_row */ +#line 3314 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list);} -#line 30372 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31331 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1234: /* row: '(' expr_list ',' a_expr ')' */ -#line 3254 "third_party/libpg_query/grammar/statements/select.y" + case 1276: /* row: '(' expr_list ',' a_expr ')' */ +#line 3315 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); } -#line 30378 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31337 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1235: /* dict_arg: ColIdOrString ':' a_expr */ -#line 3258 "third_party/libpg_query/grammar/statements/select.y" + case 1277: /* dict_arg: ColIdOrString ':' a_expr */ +#line 3319 "third_party/libpg_query/grammar/statements/select.y" { PGNamedArgExpr *na = makeNode(PGNamedArgExpr); na->name = (yyvsp[-2].str); @@ -30387,381 +31346,381 @@ YYLTYPE yylloc = yyloc_default; na->location = (yylsp[-2]); (yyval.node) = (PGNode *) na; } -#line 30391 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31350 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1236: /* dict_arguments: dict_arg */ -#line 3268 "third_party/libpg_query/grammar/statements/select.y" + case 1278: /* dict_arguments: dict_arg */ +#line 3329 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 30397 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31356 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1237: /* dict_arguments: dict_arguments ',' dict_arg */ -#line 3269 "third_party/libpg_query/grammar/statements/select.y" + case 1279: /* dict_arguments: dict_arguments ',' dict_arg */ +#line 3330 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 30403 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31362 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1238: /* dict_arguments_opt_comma: dict_arguments */ -#line 3273 "third_party/libpg_query/grammar/statements/select.y" + case 1280: /* dict_arguments_opt_comma: dict_arguments */ +#line 3334 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 30409 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31368 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1239: /* dict_arguments_opt_comma: dict_arguments ',' */ -#line 3274 "third_party/libpg_query/grammar/statements/select.y" + case 1281: /* dict_arguments_opt_comma: dict_arguments ',' */ +#line 3335 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 30415 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31374 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1240: /* map_arg: a_expr ':' a_expr */ -#line 3279 "third_party/libpg_query/grammar/statements/select.y" + case 1282: /* map_arg: a_expr ':' a_expr */ +#line 3340 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2((yyvsp[-2].node), (yyvsp[0].node)); } -#line 30423 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31382 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1241: /* map_arguments: map_arg */ -#line 3285 "third_party/libpg_query/grammar/statements/select.y" + case 1283: /* map_arguments: map_arg */ +#line 3346 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].list)); } -#line 30429 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31388 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1242: /* map_arguments: map_arguments ',' map_arg */ -#line 3286 "third_party/libpg_query/grammar/statements/select.y" + case 1284: /* map_arguments: map_arguments ',' map_arg */ +#line 3347 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); } -#line 30435 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31394 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1243: /* map_arguments_opt_comma: map_arguments */ -#line 3291 "third_party/libpg_query/grammar/statements/select.y" + case 1285: /* map_arguments_opt_comma: map_arguments */ +#line 3352 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 30441 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31400 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1244: /* map_arguments_opt_comma: map_arguments ',' */ -#line 3292 "third_party/libpg_query/grammar/statements/select.y" + case 1286: /* map_arguments_opt_comma: map_arguments ',' */ +#line 3353 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 30447 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31406 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1245: /* opt_map_arguments_opt_comma: map_arguments_opt_comma */ -#line 3297 "third_party/libpg_query/grammar/statements/select.y" + case 1287: /* opt_map_arguments_opt_comma: map_arguments_opt_comma */ +#line 3358 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 30453 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31412 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1246: /* opt_map_arguments_opt_comma: %empty */ -#line 3298 "third_party/libpg_query/grammar/statements/select.y" + case 1288: /* opt_map_arguments_opt_comma: %empty */ +#line 3359 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NULL; } -#line 30459 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31418 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1247: /* sub_type: ANY */ -#line 3301 "third_party/libpg_query/grammar/statements/select.y" + case 1289: /* sub_type: ANY */ +#line 3362 "third_party/libpg_query/grammar/statements/select.y" { (yyval.subquerytype) = PG_ANY_SUBLINK; } -#line 30465 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31424 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1248: /* sub_type: SOME */ -#line 3302 "third_party/libpg_query/grammar/statements/select.y" + case 1290: /* sub_type: SOME */ +#line 3363 "third_party/libpg_query/grammar/statements/select.y" { (yyval.subquerytype) = PG_ANY_SUBLINK; } -#line 30471 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31430 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1249: /* sub_type: ALL */ -#line 3303 "third_party/libpg_query/grammar/statements/select.y" + case 1291: /* sub_type: ALL */ +#line 3364 "third_party/libpg_query/grammar/statements/select.y" { (yyval.subquerytype) = PG_ALL_SUBLINK; } -#line 30477 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31436 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1250: /* all_Op: Op */ -#line 3306 "third_party/libpg_query/grammar/statements/select.y" + case 1292: /* all_Op: Op */ +#line 3367 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (yyvsp[0].str); } -#line 30483 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31442 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1251: /* all_Op: MathOp */ -#line 3307 "third_party/libpg_query/grammar/statements/select.y" + case 1293: /* all_Op: MathOp */ +#line 3368 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (char*) (yyvsp[0].conststr); } -#line 30489 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31448 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1252: /* MathOp: '+' */ -#line 3310 "third_party/libpg_query/grammar/statements/select.y" + case 1294: /* MathOp: '+' */ +#line 3371 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "+"; } -#line 30495 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31454 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1253: /* MathOp: '-' */ -#line 3311 "third_party/libpg_query/grammar/statements/select.y" + case 1295: /* MathOp: '-' */ +#line 3372 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "-"; } -#line 30501 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31460 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1254: /* MathOp: '*' */ -#line 3312 "third_party/libpg_query/grammar/statements/select.y" + case 1296: /* MathOp: '*' */ +#line 3373 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "*"; } -#line 30507 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31466 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1255: /* MathOp: '/' */ -#line 3313 "third_party/libpg_query/grammar/statements/select.y" + case 1297: /* MathOp: '/' */ +#line 3374 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "/"; } -#line 30513 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31472 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1256: /* MathOp: INTEGER_DIVISION */ -#line 3314 "third_party/libpg_query/grammar/statements/select.y" + case 1298: /* MathOp: INTEGER_DIVISION */ +#line 3375 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "//"; } -#line 30519 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31478 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1257: /* MathOp: '%' */ -#line 3315 "third_party/libpg_query/grammar/statements/select.y" + case 1299: /* MathOp: '%' */ +#line 3376 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "%"; } -#line 30525 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31484 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1258: /* MathOp: '^' */ -#line 3316 "third_party/libpg_query/grammar/statements/select.y" + case 1300: /* MathOp: '^' */ +#line 3377 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "^"; } -#line 30531 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31490 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1259: /* MathOp: POWER_OF */ -#line 3317 "third_party/libpg_query/grammar/statements/select.y" + case 1301: /* MathOp: POWER_OF */ +#line 3378 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "**"; } -#line 30537 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31496 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1260: /* MathOp: '<' */ -#line 3318 "third_party/libpg_query/grammar/statements/select.y" + case 1302: /* MathOp: '<' */ +#line 3379 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "<"; } -#line 30543 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31502 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1261: /* MathOp: '>' */ -#line 3319 "third_party/libpg_query/grammar/statements/select.y" + case 1303: /* MathOp: '>' */ +#line 3380 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = ">"; } -#line 30549 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31508 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1262: /* MathOp: '=' */ -#line 3320 "third_party/libpg_query/grammar/statements/select.y" + case 1304: /* MathOp: '=' */ +#line 3381 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "="; } -#line 30555 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31514 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1263: /* MathOp: LESS_EQUALS */ -#line 3321 "third_party/libpg_query/grammar/statements/select.y" + case 1305: /* MathOp: LESS_EQUALS */ +#line 3382 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "<="; } -#line 30561 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31520 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1264: /* MathOp: GREATER_EQUALS */ -#line 3322 "third_party/libpg_query/grammar/statements/select.y" + case 1306: /* MathOp: GREATER_EQUALS */ +#line 3383 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = ">="; } -#line 30567 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31526 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1265: /* MathOp: NOT_EQUALS */ -#line 3323 "third_party/libpg_query/grammar/statements/select.y" + case 1307: /* MathOp: NOT_EQUALS */ +#line 3384 "third_party/libpg_query/grammar/statements/select.y" { (yyval.conststr) = "<>"; } -#line 30573 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31532 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1266: /* qual_Op: Op */ -#line 3327 "third_party/libpg_query/grammar/statements/select.y" + case 1308: /* qual_Op: Op */ +#line 3388 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } -#line 30579 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31538 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1267: /* qual_Op: OPERATOR '(' any_operator ')' */ -#line 3329 "third_party/libpg_query/grammar/statements/select.y" + case 1309: /* qual_Op: OPERATOR '(' any_operator ')' */ +#line 3390 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 30585 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31544 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1268: /* qual_all_Op: all_Op */ -#line 3334 "third_party/libpg_query/grammar/statements/select.y" + case 1310: /* qual_all_Op: all_Op */ +#line 3395 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } -#line 30591 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31550 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1269: /* qual_all_Op: OPERATOR '(' any_operator ')' */ -#line 3336 "third_party/libpg_query/grammar/statements/select.y" + case 1311: /* qual_all_Op: OPERATOR '(' any_operator ')' */ +#line 3397 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 30597 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31556 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1270: /* subquery_Op: all_Op */ -#line 3341 "third_party/libpg_query/grammar/statements/select.y" + case 1312: /* subquery_Op: all_Op */ +#line 3402 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } -#line 30603 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31562 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1271: /* subquery_Op: OPERATOR '(' any_operator ')' */ -#line 3343 "third_party/libpg_query/grammar/statements/select.y" + case 1313: /* subquery_Op: OPERATOR '(' any_operator ')' */ +#line 3404 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 30609 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31568 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1272: /* subquery_Op: LIKE */ -#line 3345 "third_party/libpg_query/grammar/statements/select.y" + case 1314: /* subquery_Op: LIKE */ +#line 3406 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString("~~")); } -#line 30615 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31574 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1273: /* subquery_Op: NOT_LA LIKE */ -#line 3347 "third_party/libpg_query/grammar/statements/select.y" + case 1315: /* subquery_Op: NOT_LA LIKE */ +#line 3408 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString("!~~")); } -#line 30621 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31580 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1274: /* subquery_Op: GLOB */ -#line 3349 "third_party/libpg_query/grammar/statements/select.y" + case 1316: /* subquery_Op: GLOB */ +#line 3410 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString("~~~")); } -#line 30627 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31586 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1275: /* subquery_Op: NOT_LA GLOB */ -#line 3351 "third_party/libpg_query/grammar/statements/select.y" + case 1317: /* subquery_Op: NOT_LA GLOB */ +#line 3412 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString("!~~~")); } -#line 30633 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31592 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1276: /* subquery_Op: ILIKE */ -#line 3353 "third_party/libpg_query/grammar/statements/select.y" + case 1318: /* subquery_Op: ILIKE */ +#line 3414 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString("~~*")); } -#line 30639 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31598 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1277: /* subquery_Op: NOT_LA ILIKE */ -#line 3355 "third_party/libpg_query/grammar/statements/select.y" + case 1319: /* subquery_Op: NOT_LA ILIKE */ +#line 3416 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString("!~~*")); } -#line 30645 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31604 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1278: /* any_operator: all_Op */ -#line 3369 "third_party/libpg_query/grammar/statements/select.y" + case 1320: /* any_operator: all_Op */ +#line 3430 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } -#line 30651 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31610 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1279: /* any_operator: ColId '.' any_operator */ -#line 3371 "third_party/libpg_query/grammar/statements/select.y" + case 1321: /* any_operator: ColId '.' any_operator */ +#line 3432 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); } -#line 30657 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31616 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1280: /* c_expr_list: c_expr */ -#line 3376 "third_party/libpg_query/grammar/statements/select.y" + case 1322: /* c_expr_list: c_expr */ +#line 3437 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 30665 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31624 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1281: /* c_expr_list: c_expr_list ',' c_expr */ -#line 3380 "third_party/libpg_query/grammar/statements/select.y" + case 1323: /* c_expr_list: c_expr_list ',' c_expr */ +#line 3441 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 30673 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31632 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1282: /* c_expr_list_opt_comma: c_expr_list */ -#line 3387 "third_party/libpg_query/grammar/statements/select.y" + case 1324: /* c_expr_list_opt_comma: c_expr_list */ +#line 3448 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 30681 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31640 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1283: /* c_expr_list_opt_comma: c_expr_list ',' */ -#line 3392 "third_party/libpg_query/grammar/statements/select.y" + case 1325: /* c_expr_list_opt_comma: c_expr_list ',' */ +#line 3453 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 30689 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31648 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1284: /* expr_list: a_expr */ -#line 3398 "third_party/libpg_query/grammar/statements/select.y" + case 1326: /* expr_list: a_expr */ +#line 3459 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 30697 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31656 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1285: /* expr_list: expr_list ',' a_expr */ -#line 3402 "third_party/libpg_query/grammar/statements/select.y" + case 1327: /* expr_list: expr_list ',' a_expr */ +#line 3463 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 30705 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31664 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1286: /* expr_list_opt_comma: expr_list */ -#line 3409 "third_party/libpg_query/grammar/statements/select.y" + case 1328: /* expr_list_opt_comma: expr_list */ +#line 3470 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 30713 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31672 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1287: /* expr_list_opt_comma: expr_list ',' */ -#line 3414 "third_party/libpg_query/grammar/statements/select.y" + case 1329: /* expr_list_opt_comma: expr_list ',' */ +#line 3475 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 30721 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31680 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1288: /* opt_expr_list_opt_comma: expr_list_opt_comma */ -#line 3421 "third_party/libpg_query/grammar/statements/select.y" + case 1330: /* opt_expr_list_opt_comma: expr_list_opt_comma */ +#line 3482 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 30729 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31688 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1289: /* opt_expr_list_opt_comma: %empty */ -#line 3425 "third_party/libpg_query/grammar/statements/select.y" + case 1331: /* opt_expr_list_opt_comma: %empty */ +#line 3486 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NULL; } -#line 30737 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31696 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1290: /* func_arg_list: func_arg_expr */ -#line 3434 "third_party/libpg_query/grammar/statements/select.y" + case 1332: /* func_arg_list: func_arg_expr */ +#line 3495 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 30745 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31704 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1291: /* func_arg_list: func_arg_list ',' func_arg_expr */ -#line 3438 "third_party/libpg_query/grammar/statements/select.y" + case 1333: /* func_arg_list: func_arg_list ',' func_arg_expr */ +#line 3499 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 30753 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31712 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1292: /* func_arg_expr: a_expr */ -#line 3444 "third_party/libpg_query/grammar/statements/select.y" + case 1334: /* func_arg_expr: a_expr */ +#line 3505 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 30761 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31720 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1293: /* func_arg_expr: param_name COLON_EQUALS a_expr */ -#line 3448 "third_party/libpg_query/grammar/statements/select.y" + case 1335: /* func_arg_expr: param_name COLON_EQUALS a_expr */ +#line 3509 "third_party/libpg_query/grammar/statements/select.y" { PGNamedArgExpr *na = makeNode(PGNamedArgExpr); na->name = (yyvsp[-2].str); @@ -30770,11 +31729,11 @@ YYLTYPE yylloc = yyloc_default; na->location = (yylsp[-2]); (yyval.node) = (PGNode *) na; } -#line 30774 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31733 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1294: /* func_arg_expr: param_name EQUALS_GREATER a_expr */ -#line 3457 "third_party/libpg_query/grammar/statements/select.y" + case 1336: /* func_arg_expr: param_name EQUALS_GREATER a_expr */ +#line 3518 "third_party/libpg_query/grammar/statements/select.y" { PGNamedArgExpr *na = makeNode(PGNamedArgExpr); na->name = (yyvsp[-2].str); @@ -30783,156 +31742,180 @@ YYLTYPE yylloc = yyloc_default; na->location = (yylsp[-2]); (yyval.node) = (PGNode *) na; } -#line 30787 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31746 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1295: /* type_list: Typename */ -#line 3467 "third_party/libpg_query/grammar/statements/select.y" + case 1337: /* type_list: Typename */ +#line 3528 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].typnam)); } -#line 30793 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31752 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1296: /* type_list: type_list ',' Typename */ -#line 3468 "third_party/libpg_query/grammar/statements/select.y" + case 1338: /* type_list: type_list ',' Typename */ +#line 3529 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); } -#line 30799 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31758 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1297: /* extract_list: extract_arg FROM a_expr */ -#line 3473 "third_party/libpg_query/grammar/statements/select.y" + case 1339: /* extract_list: extract_arg FROM a_expr */ +#line 3534 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node)); } -#line 30807 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31766 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1298: /* extract_list: %empty */ -#line 3476 "third_party/libpg_query/grammar/statements/select.y" + case 1340: /* extract_list: %empty */ +#line 3537 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 30813 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31772 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1299: /* extract_arg: IDENT */ -#line 3483 "third_party/libpg_query/grammar/statements/select.y" + case 1341: /* extract_arg: IDENT */ +#line 3544 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (yyvsp[0].str); } -#line 30819 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31778 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1300: /* extract_arg: year_keyword */ -#line 3484 "third_party/libpg_query/grammar/statements/select.y" + case 1342: /* extract_arg: year_keyword */ +#line 3545 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (char*) "year"; } -#line 30825 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31784 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1301: /* extract_arg: month_keyword */ -#line 3485 "third_party/libpg_query/grammar/statements/select.y" + case 1343: /* extract_arg: month_keyword */ +#line 3546 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (char*) "month"; } -#line 30831 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31790 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1302: /* extract_arg: day_keyword */ -#line 3486 "third_party/libpg_query/grammar/statements/select.y" + case 1344: /* extract_arg: day_keyword */ +#line 3547 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (char*) "day"; } -#line 30837 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31796 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1303: /* extract_arg: hour_keyword */ -#line 3487 "third_party/libpg_query/grammar/statements/select.y" + case 1345: /* extract_arg: hour_keyword */ +#line 3548 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (char*) "hour"; } -#line 30843 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31802 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1304: /* extract_arg: minute_keyword */ -#line 3488 "third_party/libpg_query/grammar/statements/select.y" + case 1346: /* extract_arg: minute_keyword */ +#line 3549 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (char*) "minute"; } -#line 30849 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31808 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1305: /* extract_arg: second_keyword */ -#line 3489 "third_party/libpg_query/grammar/statements/select.y" + case 1347: /* extract_arg: second_keyword */ +#line 3550 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (char*) "second"; } -#line 30855 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31814 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1306: /* extract_arg: millisecond_keyword */ -#line 3490 "third_party/libpg_query/grammar/statements/select.y" + case 1348: /* extract_arg: millisecond_keyword */ +#line 3551 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (char*) "millisecond"; } -#line 30861 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31820 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1307: /* extract_arg: microsecond_keyword */ -#line 3491 "third_party/libpg_query/grammar/statements/select.y" + case 1349: /* extract_arg: microsecond_keyword */ +#line 3552 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (char*) "microsecond"; } -#line 30867 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31826 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1308: /* extract_arg: Sconst */ -#line 3492 "third_party/libpg_query/grammar/statements/select.y" + case 1350: /* extract_arg: week_keyword */ +#line 3553 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.str) = (char*) "week"; } +#line 31832 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1351: /* extract_arg: decade_keyword */ +#line 3554 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.str) = (char*) "decade"; } +#line 31838 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1352: /* extract_arg: century_keyword */ +#line 3555 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.str) = (char*) "century"; } +#line 31844 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1353: /* extract_arg: millennium_keyword */ +#line 3556 "third_party/libpg_query/grammar/statements/select.y" + { (yyval.str) = (char*) "millennium"; } +#line 31850 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1354: /* extract_arg: Sconst */ +#line 3557 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (yyvsp[0].str); } -#line 30873 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31856 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1309: /* overlay_list: a_expr overlay_placing substr_from substr_for */ -#line 3503 "third_party/libpg_query/grammar/statements/select.y" + case 1355: /* overlay_list: a_expr overlay_placing substr_from substr_for */ +#line 3568 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); } -#line 30881 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31864 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1310: /* overlay_list: a_expr overlay_placing substr_from */ -#line 3507 "third_party/libpg_query/grammar/statements/select.y" + case 1356: /* overlay_list: a_expr overlay_placing substr_from */ +#line 3572 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); } -#line 30889 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31872 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1311: /* overlay_placing: PLACING a_expr */ -#line 3514 "third_party/libpg_query/grammar/statements/select.y" + case 1357: /* overlay_placing: PLACING a_expr */ +#line 3579 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 30895 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31878 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1312: /* position_list: b_expr IN_P b_expr */ -#line 3520 "third_party/libpg_query/grammar/statements/select.y" + case 1358: /* position_list: b_expr IN_P b_expr */ +#line 3585 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); } -#line 30901 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31884 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1313: /* position_list: %empty */ -#line 3521 "third_party/libpg_query/grammar/statements/select.y" + case 1359: /* position_list: %empty */ +#line 3586 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 30907 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31890 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1314: /* substr_list: a_expr substr_from substr_for */ -#line 3538 "third_party/libpg_query/grammar/statements/select.y" + case 1360: /* substr_list: a_expr substr_from substr_for */ +#line 3603 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); } -#line 30915 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31898 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1315: /* substr_list: a_expr substr_for substr_from */ -#line 3542 "third_party/libpg_query/grammar/statements/select.y" + case 1361: /* substr_list: a_expr substr_for substr_from */ +#line 3607 "third_party/libpg_query/grammar/statements/select.y" { /* not legal per SQL99, but might as well allow it */ (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node)); } -#line 30924 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31907 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1316: /* substr_list: a_expr substr_from */ -#line 3547 "third_party/libpg_query/grammar/statements/select.y" + case 1362: /* substr_list: a_expr substr_from */ +#line 3612 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); } -#line 30932 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31915 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1317: /* substr_list: a_expr substr_for */ -#line 3551 "third_party/libpg_query/grammar/statements/select.y" + case 1363: /* substr_list: a_expr substr_for */ +#line 3616 "third_party/libpg_query/grammar/statements/select.y" { /* * Since there are no cases where this syntax allows @@ -30947,72 +31930,72 @@ YYLTYPE yylloc = yyloc_default; makeTypeCast((yyvsp[0].node), SystemTypeName("int4"), 0, -1)); } -#line 30951 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31934 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1318: /* substr_list: expr_list */ -#line 3566 "third_party/libpg_query/grammar/statements/select.y" + case 1364: /* substr_list: expr_list */ +#line 3631 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 30959 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31942 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1319: /* substr_list: %empty */ -#line 3570 "third_party/libpg_query/grammar/statements/select.y" + case 1365: /* substr_list: %empty */ +#line 3635 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 30965 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31948 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1320: /* substr_from: FROM a_expr */ -#line 3574 "third_party/libpg_query/grammar/statements/select.y" + case 1366: /* substr_from: FROM a_expr */ +#line 3639 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 30971 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31954 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1321: /* substr_for: FOR a_expr */ -#line 3577 "third_party/libpg_query/grammar/statements/select.y" + case 1367: /* substr_for: FOR a_expr */ +#line 3642 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 30977 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31960 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1322: /* trim_list: a_expr FROM expr_list_opt_comma */ -#line 3580 "third_party/libpg_query/grammar/statements/select.y" + case 1368: /* trim_list: a_expr FROM expr_list_opt_comma */ +#line 3645 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); } -#line 30983 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31966 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1323: /* trim_list: FROM expr_list_opt_comma */ -#line 3581 "third_party/libpg_query/grammar/statements/select.y" + case 1369: /* trim_list: FROM expr_list_opt_comma */ +#line 3646 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 30989 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31972 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1324: /* trim_list: expr_list_opt_comma */ -#line 3582 "third_party/libpg_query/grammar/statements/select.y" + case 1370: /* trim_list: expr_list_opt_comma */ +#line 3647 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 30995 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31978 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1325: /* in_expr: select_with_parens */ -#line 3586 "third_party/libpg_query/grammar/statements/select.y" + case 1371: /* in_expr: select_with_parens */ +#line 3651 "third_party/libpg_query/grammar/statements/select.y" { PGSubLink *n = makeNode(PGSubLink); n->subselect = (yyvsp[0].node); /* other fields will be filled later */ (yyval.node) = (PGNode *)n; } -#line 31006 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31989 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1326: /* in_expr: '(' expr_list_opt_comma ')' */ -#line 3592 "third_party/libpg_query/grammar/statements/select.y" + case 1372: /* in_expr: '(' expr_list_opt_comma ')' */ +#line 3657 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (PGNode *)(yyvsp[-1].list); } -#line 31012 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 31995 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1327: /* case_expr: CASE case_arg when_clause_list case_default END_P */ -#line 3603 "third_party/libpg_query/grammar/statements/select.y" + case 1373: /* case_expr: CASE case_arg when_clause_list case_default END_P */ +#line 3668 "third_party/libpg_query/grammar/statements/select.y" { PGCaseExpr *c = makeNode(PGCaseExpr); c->casetype = InvalidOid; /* not analyzed yet */ @@ -31022,23 +32005,23 @@ YYLTYPE yylloc = yyloc_default; c->location = (yylsp[-4]); (yyval.node) = (PGNode *)c; } -#line 31026 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32009 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1328: /* when_clause_list: when_clause */ -#line 3616 "third_party/libpg_query/grammar/statements/select.y" + case 1374: /* when_clause_list: when_clause */ +#line 3681 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 31032 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32015 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1329: /* when_clause_list: when_clause_list when_clause */ -#line 3617 "third_party/libpg_query/grammar/statements/select.y" + case 1375: /* when_clause_list: when_clause_list when_clause */ +#line 3682 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } -#line 31038 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32021 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1330: /* when_clause: WHEN a_expr THEN a_expr */ -#line 3622 "third_party/libpg_query/grammar/statements/select.y" + case 1376: /* when_clause: WHEN a_expr THEN a_expr */ +#line 3687 "third_party/libpg_query/grammar/statements/select.y" { PGCaseWhen *w = makeNode(PGCaseWhen); w->expr = (PGExpr *) (yyvsp[-2].node); @@ -31046,51 +32029,51 @@ YYLTYPE yylloc = yyloc_default; w->location = (yylsp[-3]); (yyval.node) = (PGNode *)w; } -#line 31050 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32033 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1331: /* case_default: ELSE a_expr */ -#line 3632 "third_party/libpg_query/grammar/statements/select.y" + case 1377: /* case_default: ELSE a_expr */ +#line 3697 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 31056 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32039 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1332: /* case_default: %empty */ -#line 3633 "third_party/libpg_query/grammar/statements/select.y" + case 1378: /* case_default: %empty */ +#line 3698 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 31062 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32045 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1333: /* case_arg: a_expr */ -#line 3636 "third_party/libpg_query/grammar/statements/select.y" + case 1379: /* case_arg: a_expr */ +#line 3701 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 31068 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32051 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1334: /* case_arg: %empty */ -#line 3637 "third_party/libpg_query/grammar/statements/select.y" + case 1380: /* case_arg: %empty */ +#line 3702 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 31074 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32057 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1335: /* columnref: ColId */ -#line 3641 "third_party/libpg_query/grammar/statements/select.y" + case 1381: /* columnref: ColId */ +#line 3706 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner); } -#line 31082 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32065 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1336: /* columnref: ColId indirection */ -#line 3645 "third_party/libpg_query/grammar/statements/select.y" + case 1382: /* columnref: ColId indirection */ +#line 3710 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner); } -#line 31090 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32073 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1337: /* indirection_el: '[' a_expr ']' */ -#line 3652 "third_party/libpg_query/grammar/statements/select.y" + case 1383: /* indirection_el: '[' a_expr ']' */ +#line 3717 "third_party/libpg_query/grammar/statements/select.y" { PGAIndices *ai = makeNode(PGAIndices); ai->is_slice = false; @@ -31098,11 +32081,11 @@ YYLTYPE yylloc = yyloc_default; ai->uidx = (yyvsp[-1].node); (yyval.node) = (PGNode *) ai; } -#line 31102 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32085 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1338: /* indirection_el: '[' opt_slice_bound ':' opt_slice_bound ']' */ -#line 3660 "third_party/libpg_query/grammar/statements/select.y" + case 1384: /* indirection_el: '[' opt_slice_bound ':' opt_slice_bound ']' */ +#line 3725 "third_party/libpg_query/grammar/statements/select.y" { PGAIndices *ai = makeNode(PGAIndices); ai->is_slice = true; @@ -31110,11 +32093,11 @@ YYLTYPE yylloc = yyloc_default; ai->uidx = (yyvsp[-1].node); (yyval.node) = (PGNode *) ai; } -#line 31114 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32097 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1339: /* indirection_el: '[' opt_slice_bound ':' opt_slice_bound ':' opt_slice_bound ']' */ -#line 3667 "third_party/libpg_query/grammar/statements/select.y" + case 1385: /* indirection_el: '[' opt_slice_bound ':' opt_slice_bound ':' opt_slice_bound ']' */ +#line 3732 "third_party/libpg_query/grammar/statements/select.y" { PGAIndices *ai = makeNode(PGAIndices); ai->is_slice = true; @@ -31123,11 +32106,11 @@ YYLTYPE yylloc = yyloc_default; ai->step = (yyvsp[-1].node); (yyval.node) = (PGNode *) ai; } -#line 31127 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32110 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1340: /* indirection_el: '[' opt_slice_bound ':' '-' ':' opt_slice_bound ']' */ -#line 3675 "third_party/libpg_query/grammar/statements/select.y" + case 1386: /* indirection_el: '[' opt_slice_bound ':' '-' ':' opt_slice_bound ']' */ +#line 3740 "third_party/libpg_query/grammar/statements/select.y" { PGAIndices *ai = makeNode(PGAIndices); ai->is_slice = true; @@ -31135,53 +32118,53 @@ YYLTYPE yylloc = yyloc_default; ai->step = (yyvsp[-1].node); (yyval.node) = (PGNode *) ai; } -#line 31139 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32122 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1341: /* opt_slice_bound: a_expr */ -#line 3685 "third_party/libpg_query/grammar/statements/select.y" + case 1387: /* opt_slice_bound: a_expr */ +#line 3750 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = (yyvsp[0].node); } -#line 31145 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32128 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1342: /* opt_slice_bound: %empty */ -#line 3686 "third_party/libpg_query/grammar/statements/select.y" + case 1388: /* opt_slice_bound: %empty */ +#line 3751 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = NULL; } -#line 31151 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32134 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1343: /* opt_indirection: %empty */ -#line 3691 "third_party/libpg_query/grammar/statements/select.y" + case 1389: /* opt_indirection: %empty */ +#line 3756 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 31157 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32140 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1344: /* opt_indirection: opt_indirection indirection_el */ -#line 3692 "third_party/libpg_query/grammar/statements/select.y" + case 1390: /* opt_indirection: opt_indirection indirection_el */ +#line 3757 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } -#line 31163 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32146 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1345: /* opt_func_arguments: %empty */ -#line 3696 "third_party/libpg_query/grammar/statements/select.y" + case 1391: /* opt_func_arguments: %empty */ +#line 3761 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NULL; } -#line 31169 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32152 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1346: /* opt_func_arguments: '(' ')' */ -#line 3697 "third_party/libpg_query/grammar/statements/select.y" + case 1392: /* opt_func_arguments: '(' ')' */ +#line 3762 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(NULL); } -#line 31175 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32158 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1347: /* opt_func_arguments: '(' func_arg_list ')' */ -#line 3698 "third_party/libpg_query/grammar/statements/select.y" + case 1393: /* opt_func_arguments: '(' func_arg_list ')' */ +#line 3763 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 31181 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32164 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1348: /* extended_indirection_el: '.' attr_name opt_func_arguments */ -#line 3703 "third_party/libpg_query/grammar/statements/select.y" + case 1394: /* extended_indirection_el: '.' attr_name opt_func_arguments */ +#line 3768 "third_party/libpg_query/grammar/statements/select.y" { if ((yyvsp[0].list)) { PGFuncCall *n = makeFuncCall(list_make1(makeString((yyvsp[-1].str))), (yyvsp[0].list)->head->data.ptr_value ? (yyvsp[0].list) : NULL, (yylsp[-1])); @@ -31190,11 +32173,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.node) = (PGNode *) makeString((yyvsp[-1].str)); } } -#line 31194 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32177 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1349: /* extended_indirection_el: '[' a_expr ']' */ -#line 3712 "third_party/libpg_query/grammar/statements/select.y" + case 1395: /* extended_indirection_el: '[' a_expr ']' */ +#line 3777 "third_party/libpg_query/grammar/statements/select.y" { PGAIndices *ai = makeNode(PGAIndices); ai->is_slice = false; @@ -31202,11 +32185,11 @@ YYLTYPE yylloc = yyloc_default; ai->uidx = (yyvsp[-1].node); (yyval.node) = (PGNode *) ai; } -#line 31206 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32189 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1350: /* extended_indirection_el: '[' opt_slice_bound ':' opt_slice_bound ']' */ -#line 3720 "third_party/libpg_query/grammar/statements/select.y" + case 1396: /* extended_indirection_el: '[' opt_slice_bound ':' opt_slice_bound ']' */ +#line 3785 "third_party/libpg_query/grammar/statements/select.y" { PGAIndices *ai = makeNode(PGAIndices); ai->is_slice = true; @@ -31214,11 +32197,11 @@ YYLTYPE yylloc = yyloc_default; ai->uidx = (yyvsp[-1].node); (yyval.node) = (PGNode *) ai; } -#line 31218 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32201 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1351: /* extended_indirection_el: '[' opt_slice_bound ':' opt_slice_bound ':' opt_slice_bound ']' */ -#line 3727 "third_party/libpg_query/grammar/statements/select.y" + case 1397: /* extended_indirection_el: '[' opt_slice_bound ':' opt_slice_bound ':' opt_slice_bound ']' */ +#line 3792 "third_party/libpg_query/grammar/statements/select.y" { PGAIndices *ai = makeNode(PGAIndices); ai->is_slice = true; @@ -31227,11 +32210,11 @@ YYLTYPE yylloc = yyloc_default; ai->step = (yyvsp[-1].node); (yyval.node) = (PGNode *) ai; } -#line 31231 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32214 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1352: /* extended_indirection_el: '[' opt_slice_bound ':' '-' ':' opt_slice_bound ']' */ -#line 3736 "third_party/libpg_query/grammar/statements/select.y" + case 1398: /* extended_indirection_el: '[' opt_slice_bound ':' '-' ':' opt_slice_bound ']' */ +#line 3801 "third_party/libpg_query/grammar/statements/select.y" { PGAIndices *ai = makeNode(PGAIndices); ai->is_slice = true; @@ -31239,59 +32222,59 @@ YYLTYPE yylloc = yyloc_default; ai->step = (yyvsp[-1].node); (yyval.node) = (PGNode *) ai; } -#line 31243 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32226 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1353: /* opt_extended_indirection: %empty */ -#line 3751 "third_party/libpg_query/grammar/statements/select.y" + case 1399: /* opt_extended_indirection: %empty */ +#line 3816 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 31249 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32232 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1354: /* opt_extended_indirection: opt_extended_indirection extended_indirection_el */ -#line 3752 "third_party/libpg_query/grammar/statements/select.y" + case 1400: /* opt_extended_indirection: opt_extended_indirection extended_indirection_el */ +#line 3817 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } -#line 31255 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32238 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1357: /* opt_target_list_opt_comma: target_list_opt_comma */ -#line 3768 "third_party/libpg_query/grammar/statements/select.y" + case 1403: /* opt_target_list_opt_comma: target_list_opt_comma */ +#line 3833 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 31261 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32244 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1358: /* opt_target_list_opt_comma: %empty */ -#line 3769 "third_party/libpg_query/grammar/statements/select.y" + case 1404: /* opt_target_list_opt_comma: %empty */ +#line 3834 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 31267 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32250 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1359: /* target_list: target_el */ -#line 3773 "third_party/libpg_query/grammar/statements/select.y" + case 1405: /* target_list: target_el */ +#line 3838 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].target)); } -#line 31273 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32256 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1360: /* target_list: target_list ',' target_el */ -#line 3774 "third_party/libpg_query/grammar/statements/select.y" + case 1406: /* target_list: target_list ',' target_el */ +#line 3839 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); } -#line 31279 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32262 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1361: /* target_list_opt_comma: target_list */ -#line 3778 "third_party/libpg_query/grammar/statements/select.y" + case 1407: /* target_list_opt_comma: target_list */ +#line 3843 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 31285 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32268 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1362: /* target_list_opt_comma: target_list ',' */ -#line 3779 "third_party/libpg_query/grammar/statements/select.y" + case 1408: /* target_list_opt_comma: target_list ',' */ +#line 3844 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 31291 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32274 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1363: /* target_el: a_expr AS ColLabelOrString */ -#line 3783 "third_party/libpg_query/grammar/statements/select.y" + case 1409: /* target_el: a_expr AS ColLabelOrString */ +#line 3848 "third_party/libpg_query/grammar/statements/select.y" { (yyval.target) = makeNode(PGResTarget); (yyval.target)->name = (yyvsp[0].str); @@ -31299,11 +32282,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.target)->val = (PGNode *)(yyvsp[-2].node); (yyval.target)->location = (yylsp[-2]); } -#line 31303 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32286 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1364: /* target_el: a_expr IDENT */ -#line 3799 "third_party/libpg_query/grammar/statements/select.y" + case 1410: /* target_el: a_expr IDENT */ +#line 3864 "third_party/libpg_query/grammar/statements/select.y" { (yyval.target) = makeNode(PGResTarget); (yyval.target)->name = (yyvsp[0].str); @@ -31311,11 +32294,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.target)->val = (PGNode *)(yyvsp[-1].node); (yyval.target)->location = (yylsp[-1]); } -#line 31315 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32298 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1365: /* target_el: a_expr */ -#line 3807 "third_party/libpg_query/grammar/statements/select.y" + case 1411: /* target_el: a_expr */ +#line 3872 "third_party/libpg_query/grammar/statements/select.y" { (yyval.target) = makeNode(PGResTarget); (yyval.target)->name = NULL; @@ -31323,168 +32306,168 @@ YYLTYPE yylloc = yyloc_default; (yyval.target)->val = (PGNode *)(yyvsp[0].node); (yyval.target)->location = (yylsp[0]); } -#line 31327 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32310 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1366: /* except_list: EXCLUDE '(' name_list_opt_comma ')' */ -#line 3816 "third_party/libpg_query/grammar/statements/select.y" + case 1412: /* except_list: EXCLUDE '(' name_list_opt_comma ')' */ +#line 3881 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 31333 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32316 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1367: /* except_list: EXCLUDE ColId */ -#line 3817 "third_party/libpg_query/grammar/statements/select.y" + case 1413: /* except_list: EXCLUDE ColId */ +#line 3882 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } -#line 31339 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32322 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1368: /* opt_except_list: except_list */ -#line 3820 "third_party/libpg_query/grammar/statements/select.y" + case 1414: /* opt_except_list: except_list */ +#line 3885 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 31345 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32328 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1369: /* opt_except_list: %empty */ -#line 3821 "third_party/libpg_query/grammar/statements/select.y" + case 1415: /* opt_except_list: %empty */ +#line 3886 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NULL; } -#line 31351 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32334 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1370: /* replace_list_el: a_expr AS ColId */ -#line 3824 "third_party/libpg_query/grammar/statements/select.y" + case 1416: /* replace_list_el: a_expr AS ColId */ +#line 3889 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make2((yyvsp[-2].node), makeString((yyvsp[0].str))); } -#line 31357 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32340 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1371: /* replace_list: replace_list_el */ -#line 3828 "third_party/libpg_query/grammar/statements/select.y" + case 1417: /* replace_list: replace_list_el */ +#line 3893 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].list)); } -#line 31363 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32346 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1372: /* replace_list: replace_list ',' replace_list_el */ -#line 3829 "third_party/libpg_query/grammar/statements/select.y" + case 1418: /* replace_list: replace_list ',' replace_list_el */ +#line 3894 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); } -#line 31369 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32352 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1373: /* replace_list_opt_comma: replace_list */ -#line 3833 "third_party/libpg_query/grammar/statements/select.y" + case 1419: /* replace_list_opt_comma: replace_list */ +#line 3898 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 31375 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32358 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1374: /* replace_list_opt_comma: replace_list ',' */ -#line 3834 "third_party/libpg_query/grammar/statements/select.y" + case 1420: /* replace_list_opt_comma: replace_list ',' */ +#line 3899 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 31381 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32364 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1375: /* opt_replace_list: REPLACE '(' replace_list_opt_comma ')' */ -#line 3837 "third_party/libpg_query/grammar/statements/select.y" + case 1421: /* opt_replace_list: REPLACE '(' replace_list_opt_comma ')' */ +#line 3902 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 31387 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32370 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1376: /* opt_replace_list: REPLACE replace_list_el */ -#line 3838 "third_party/libpg_query/grammar/statements/select.y" + case 1422: /* opt_replace_list: REPLACE replace_list_el */ +#line 3903 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].list)); } -#line 31393 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32376 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1377: /* opt_replace_list: %empty */ -#line 3839 "third_party/libpg_query/grammar/statements/select.y" + case 1423: /* opt_replace_list: %empty */ +#line 3904 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NULL; } -#line 31399 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32382 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1378: /* qualified_name_list: qualified_name */ -#line 3849 "third_party/libpg_query/grammar/statements/select.y" + case 1424: /* qualified_name_list: qualified_name */ +#line 3914 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1((yyvsp[0].range)); } -#line 31405 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32388 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1379: /* qualified_name_list: qualified_name_list ',' qualified_name */ -#line 3850 "third_party/libpg_query/grammar/statements/select.y" + case 1425: /* qualified_name_list: qualified_name_list ',' qualified_name */ +#line 3915 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); } -#line 31411 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32394 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1380: /* name_list: name */ -#line 3855 "third_party/libpg_query/grammar/statements/select.y" + case 1426: /* name_list: name */ +#line 3920 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } -#line 31417 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32400 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1381: /* name_list: name_list ',' name */ -#line 3857 "third_party/libpg_query/grammar/statements/select.y" + case 1427: /* name_list: name_list ',' name */ +#line 3922 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); } -#line 31423 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32406 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1382: /* name_list_opt_comma: name_list */ -#line 3862 "third_party/libpg_query/grammar/statements/select.y" + case 1428: /* name_list_opt_comma: name_list */ +#line 3927 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 31429 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32412 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1383: /* name_list_opt_comma: name_list ',' */ -#line 3863 "third_party/libpg_query/grammar/statements/select.y" + case 1429: /* name_list_opt_comma: name_list ',' */ +#line 3928 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 31435 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32418 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1384: /* name_list_opt_comma_opt_bracket: name_list_opt_comma */ -#line 3867 "third_party/libpg_query/grammar/statements/select.y" + case 1430: /* name_list_opt_comma_opt_bracket: name_list_opt_comma */ +#line 3932 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[0].list); } -#line 31441 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32424 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1385: /* name_list_opt_comma_opt_bracket: '(' name_list_opt_comma ')' */ -#line 3868 "third_party/libpg_query/grammar/statements/select.y" + case 1431: /* name_list_opt_comma_opt_bracket: '(' name_list_opt_comma ')' */ +#line 3933 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 31447 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32430 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1386: /* name: ColIdOrString */ -#line 3871 "third_party/libpg_query/grammar/statements/select.y" + case 1432: /* name: ColIdOrString */ +#line 3936 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (yyvsp[0].str); } -#line 31453 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32436 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1387: /* func_name: function_name_token */ -#line 3883 "third_party/libpg_query/grammar/statements/select.y" + case 1433: /* func_name: function_name_token */ +#line 3948 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } -#line 31459 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32442 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1388: /* func_name: ColId indirection */ -#line 3886 "third_party/libpg_query/grammar/statements/select.y" + case 1434: /* func_name: ColId indirection */ +#line 3951 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)), yyscanner); } -#line 31468 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32451 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1389: /* AexprConst: Iconst */ -#line 3897 "third_party/libpg_query/grammar/statements/select.y" + case 1435: /* AexprConst: Iconst */ +#line 3962 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0])); } -#line 31476 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32459 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1390: /* AexprConst: FCONST */ -#line 3901 "third_party/libpg_query/grammar/statements/select.y" + case 1436: /* AexprConst: FCONST */ +#line 3966 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0])); } -#line 31484 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32467 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1391: /* AexprConst: Sconst opt_indirection */ -#line 3905 "third_party/libpg_query/grammar/statements/select.y" + case 1437: /* AexprConst: Sconst opt_indirection */ +#line 3970 "third_party/libpg_query/grammar/statements/select.y" { if ((yyvsp[0].list)) { @@ -31496,19 +32479,19 @@ YYLTYPE yylloc = yyloc_default; else (yyval.node) = makeStringConst((yyvsp[-1].str), (yylsp[-1])); } -#line 31500 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32483 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1392: /* AexprConst: BCONST */ -#line 3917 "third_party/libpg_query/grammar/statements/select.y" + case 1438: /* AexprConst: BCONST */ +#line 3982 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0])); } -#line 31508 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32491 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1393: /* AexprConst: XCONST */ -#line 3921 "third_party/libpg_query/grammar/statements/select.y" + case 1439: /* AexprConst: XCONST */ +#line 3986 "third_party/libpg_query/grammar/statements/select.y" { /* This is a bit constant per SQL99: * Without Feature F511, "BIT data type", @@ -31517,22 +32500,22 @@ YYLTYPE yylloc = yyloc_default; */ (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0])); } -#line 31521 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32504 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1394: /* AexprConst: func_name Sconst */ -#line 3930 "third_party/libpg_query/grammar/statements/select.y" + case 1440: /* AexprConst: func_name Sconst */ +#line 3995 "third_party/libpg_query/grammar/statements/select.y" { /* generic type 'literal' syntax */ PGTypeName *t = makeTypeNameFromNameList((yyvsp[-1].list)); t->location = (yylsp[-1]); (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t); } -#line 31532 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32515 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1395: /* AexprConst: func_name '(' func_arg_list opt_sort_clause opt_ignore_nulls ')' Sconst */ -#line 3937 "third_party/libpg_query/grammar/statements/select.y" + case 1441: /* AexprConst: func_name '(' func_arg_list opt_sort_clause opt_ignore_nulls ')' Sconst */ +#line 4002 "third_party/libpg_query/grammar/statements/select.y" { /* generic syntax with a type modifier */ PGTypeName *t = makeTypeNameFromNameList((yyvsp[-6].list)); @@ -31570,192 +32553,192 @@ YYLTYPE yylloc = yyloc_default; t->location = (yylsp[-6]); (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t); } -#line 31574 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32557 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1396: /* AexprConst: ConstTypename Sconst */ -#line 3975 "third_party/libpg_query/grammar/statements/select.y" + case 1442: /* AexprConst: ConstTypename Sconst */ +#line 4040 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam)); } -#line 31582 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32565 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1397: /* AexprConst: ConstInterval '(' a_expr ')' opt_interval */ -#line 3979 "third_party/libpg_query/grammar/statements/select.y" + case 1443: /* AexprConst: ConstInterval '(' a_expr ')' opt_interval */ +#line 4044 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeIntervalNode((yyvsp[-2].node), (yylsp[-2]), (yyvsp[0].list)); } -#line 31590 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32573 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1398: /* AexprConst: ConstInterval Iconst opt_interval */ -#line 3983 "third_party/libpg_query/grammar/statements/select.y" + case 1444: /* AexprConst: ConstInterval Iconst opt_interval */ +#line 4048 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeIntervalNode((yyvsp[-1].ival), (yylsp[-1]), (yyvsp[0].list)); } -#line 31598 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32581 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1399: /* AexprConst: ConstInterval Sconst opt_interval */ -#line 3987 "third_party/libpg_query/grammar/statements/select.y" + case 1445: /* AexprConst: ConstInterval Sconst opt_interval */ +#line 4052 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeIntervalNode((yyvsp[-1].str), (yylsp[-1]), (yyvsp[0].list)); } -#line 31606 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32589 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1400: /* AexprConst: TRUE_P */ -#line 3991 "third_party/libpg_query/grammar/statements/select.y" + case 1446: /* AexprConst: TRUE_P */ +#line 4056 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeBoolAConst(true, (yylsp[0])); } -#line 31614 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32597 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1401: /* AexprConst: FALSE_P */ -#line 3995 "third_party/libpg_query/grammar/statements/select.y" + case 1447: /* AexprConst: FALSE_P */ +#line 4060 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeBoolAConst(false, (yylsp[0])); } -#line 31622 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32605 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1402: /* AexprConst: NULL_P */ -#line 3999 "third_party/libpg_query/grammar/statements/select.y" + case 1448: /* AexprConst: NULL_P */ +#line 4064 "third_party/libpg_query/grammar/statements/select.y" { (yyval.node) = makeNullAConst((yylsp[0])); } -#line 31630 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32613 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1403: /* Iconst: ICONST */ -#line 4004 "third_party/libpg_query/grammar/statements/select.y" + case 1449: /* Iconst: ICONST */ +#line 4069 "third_party/libpg_query/grammar/statements/select.y" { (yyval.ival) = (yyvsp[0].ival); } -#line 31636 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32619 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1404: /* type_function_name: IDENT */ -#line 4021 "third_party/libpg_query/grammar/statements/select.y" + case 1450: /* type_function_name: IDENT */ +#line 4086 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (yyvsp[0].str); } -#line 31642 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32625 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1405: /* type_function_name: unreserved_keyword */ -#line 4022 "third_party/libpg_query/grammar/statements/select.y" + case 1451: /* type_function_name: unreserved_keyword */ +#line 4087 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 31648 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32631 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1406: /* type_function_name: type_func_name_keyword */ -#line 4023 "third_party/libpg_query/grammar/statements/select.y" + case 1452: /* type_function_name: type_func_name_keyword */ +#line 4088 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 31654 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32637 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1407: /* type_function_name: pgq_unreserved_keyword */ -#line 4024 "third_party/libpg_query/grammar/statements/select.y" + case 1453: /* type_function_name: pgq_unreserved_keyword */ +#line 4089 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 31660 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32643 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1408: /* function_name_token: IDENT */ -#line 4028 "third_party/libpg_query/grammar/statements/select.y" + case 1454: /* function_name_token: IDENT */ +#line 4093 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (yyvsp[0].str); } -#line 31666 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32649 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1409: /* function_name_token: unreserved_keyword */ -#line 4029 "third_party/libpg_query/grammar/statements/select.y" + case 1455: /* function_name_token: unreserved_keyword */ +#line 4094 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 31672 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32655 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1410: /* function_name_token: func_name_keyword */ -#line 4030 "third_party/libpg_query/grammar/statements/select.y" + case 1456: /* function_name_token: func_name_keyword */ +#line 4095 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 31678 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32661 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1411: /* function_name_token: pgq_unreserved_keyword */ -#line 4031 "third_party/libpg_query/grammar/statements/select.y" + case 1457: /* function_name_token: pgq_unreserved_keyword */ +#line 4096 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 31684 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32667 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1412: /* type_name_token: IDENT */ -#line 4035 "third_party/libpg_query/grammar/statements/select.y" + case 1458: /* type_name_token: IDENT */ +#line 4100 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (yyvsp[0].str); } -#line 31690 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32673 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1413: /* type_name_token: unreserved_keyword */ -#line 4036 "third_party/libpg_query/grammar/statements/select.y" + case 1459: /* type_name_token: unreserved_keyword */ +#line 4101 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 31696 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32679 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1414: /* type_name_token: type_name_keyword */ -#line 4037 "third_party/libpg_query/grammar/statements/select.y" + case 1460: /* type_name_token: type_name_keyword */ +#line 4102 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 31702 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32685 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1415: /* type_name_token: pgq_unreserved_keyword */ -#line 4038 "third_party/libpg_query/grammar/statements/select.y" + case 1461: /* type_name_token: pgq_unreserved_keyword */ +#line 4103 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 31708 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32691 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1416: /* any_name: ColId */ -#line 4042 "third_party/libpg_query/grammar/statements/select.y" + case 1462: /* any_name: ColId */ +#line 4107 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } -#line 31714 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32697 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1417: /* any_name: ColId attrs */ -#line 4043 "third_party/libpg_query/grammar/statements/select.y" + case 1463: /* any_name: ColId attrs */ +#line 4108 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); } -#line 31720 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32703 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1418: /* attrs: '.' attr_name */ -#line 4047 "third_party/libpg_query/grammar/statements/select.y" + case 1464: /* attrs: '.' attr_name */ +#line 4112 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = list_make1(makeString((yyvsp[0].str))); } -#line 31726 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32709 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1419: /* attrs: attrs '.' attr_name */ -#line 4049 "third_party/libpg_query/grammar/statements/select.y" + case 1465: /* attrs: attrs '.' attr_name */ +#line 4114 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); } -#line 31732 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32715 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1420: /* opt_name_list: '(' name_list_opt_comma ')' */ -#line 4053 "third_party/libpg_query/grammar/statements/select.y" + case 1466: /* opt_name_list: '(' name_list_opt_comma ')' */ +#line 4118 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = (yyvsp[-1].list); } -#line 31738 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32721 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1421: /* opt_name_list: %empty */ -#line 4054 "third_party/libpg_query/grammar/statements/select.y" + case 1467: /* opt_name_list: %empty */ +#line 4119 "third_party/libpg_query/grammar/statements/select.y" { (yyval.list) = NIL; } -#line 31744 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32727 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1423: /* ColLabelOrString: ColLabel */ -#line 4061 "third_party/libpg_query/grammar/statements/select.y" + case 1469: /* ColLabelOrString: ColLabel */ +#line 4126 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (yyvsp[0].str); } -#line 31750 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32733 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1424: /* ColLabelOrString: SCONST */ -#line 4062 "third_party/libpg_query/grammar/statements/select.y" + case 1470: /* ColLabelOrString: SCONST */ +#line 4127 "third_party/libpg_query/grammar/statements/select.y" { (yyval.str) = (yyvsp[0].str); } -#line 31756 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32739 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1425: /* PrepareStmt: PREPARE name prep_type_clause AS PreparableStmt */ + case 1471: /* PrepareStmt: PREPARE name prep_type_clause AS PreparableStmt */ #line 8 "third_party/libpg_query/grammar/statements/prepare.y" { PGPrepareStmt *n = makeNode(PGPrepareStmt); @@ -31764,22 +32747,22 @@ YYLTYPE yylloc = yyloc_default; n->query = (yyvsp[0].node); (yyval.node) = (PGNode *) n; } -#line 31768 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32751 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1426: /* prep_type_clause: '(' type_list ')' */ + case 1472: /* prep_type_clause: '(' type_list ')' */ #line 18 "third_party/libpg_query/grammar/statements/prepare.y" { (yyval.list) = (yyvsp[-1].list); } -#line 31774 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32757 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1427: /* prep_type_clause: %empty */ + case 1473: /* prep_type_clause: %empty */ #line 19 "third_party/libpg_query/grammar/statements/prepare.y" { (yyval.list) = NIL; } -#line 31780 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32763 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1433: /* CreateSchemaStmt: CREATE_P SCHEMA qualified_name OptSchemaEltList */ + case 1480: /* CreateSchemaStmt: CREATE_P SCHEMA qualified_name OptSchemaEltList */ #line 8 "third_party/libpg_query/grammar/statements/create_schema.y" { PGCreateSchemaStmt *n = makeNode(PGCreateSchemaStmt); @@ -31799,10 +32782,10 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_ERROR_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 31803 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32786 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1434: /* CreateSchemaStmt: CREATE_P SCHEMA IF_P NOT EXISTS qualified_name OptSchemaEltList */ + case 1481: /* CreateSchemaStmt: CREATE_P SCHEMA IF_P NOT EXISTS qualified_name OptSchemaEltList */ #line 27 "third_party/libpg_query/grammar/statements/create_schema.y" { PGCreateSchemaStmt *n = makeNode(PGCreateSchemaStmt); @@ -31827,10 +32810,10 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_IGNORE_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 31831 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32814 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1435: /* CreateSchemaStmt: CREATE_P OR REPLACE SCHEMA qualified_name OptSchemaEltList */ + case 1482: /* CreateSchemaStmt: CREATE_P OR REPLACE SCHEMA qualified_name OptSchemaEltList */ #line 51 "third_party/libpg_query/grammar/statements/create_schema.y" { PGCreateSchemaStmt *n = makeNode(PGCreateSchemaStmt); @@ -31850,26 +32833,26 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_REPLACE_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 31854 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32837 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1436: /* OptSchemaEltList: OptSchemaEltList schema_stmt */ + case 1483: /* OptSchemaEltList: OptSchemaEltList schema_stmt */ #line 74 "third_party/libpg_query/grammar/statements/create_schema.y" { if ((yyloc) < 0) /* see comments for YYLLOC_DEFAULT */ (yyloc) = (yylsp[0]); (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); } -#line 31864 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32847 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1437: /* OptSchemaEltList: %empty */ + case 1484: /* OptSchemaEltList: %empty */ #line 80 "third_party/libpg_query/grammar/statements/create_schema.y" { (yyval.list) = NIL; } -#line 31870 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32853 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1442: /* IndexStmt: CREATE_P opt_unique INDEX opt_concurrently opt_index_name ON qualified_name access_method_clause '(' index_params ')' opt_reloptions where_clause */ + case 1489: /* IndexStmt: CREATE_P opt_unique INDEX opt_concurrently opt_index_name ON qualified_name access_method_clause '(' index_params ')' opt_reloptions where_clause */ #line 11 "third_party/libpg_query/grammar/statements/index.y" { PGIndexStmt *n = makeNode(PGIndexStmt); @@ -31893,10 +32876,10 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_ERROR_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 31897 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32880 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1443: /* IndexStmt: CREATE_P opt_unique INDEX opt_concurrently IF_P NOT EXISTS index_name ON qualified_name access_method_clause '(' index_params ')' opt_reloptions where_clause */ + case 1490: /* IndexStmt: CREATE_P opt_unique INDEX opt_concurrently IF_P NOT EXISTS index_name ON qualified_name access_method_clause '(' index_params ')' opt_reloptions where_clause */ #line 36 "third_party/libpg_query/grammar/statements/index.y" { PGIndexStmt *n = makeNode(PGIndexStmt); @@ -31920,76 +32903,76 @@ YYLTYPE yylloc = yyloc_default; n->onconflict = PG_IGNORE_ON_CONFLICT; (yyval.node) = (PGNode *)n; } -#line 31924 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32907 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1444: /* access_method: ColId */ + case 1491: /* access_method: ColId */ #line 62 "third_party/libpg_query/grammar/statements/index.y" { (yyval.str) = (yyvsp[0].str); } -#line 31930 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32913 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1445: /* access_method_clause: USING access_method */ + case 1492: /* access_method_clause: USING access_method */ #line 66 "third_party/libpg_query/grammar/statements/index.y" { (yyval.str) = (yyvsp[0].str); } -#line 31936 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32919 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1446: /* access_method_clause: %empty */ + case 1493: /* access_method_clause: %empty */ #line 67 "third_party/libpg_query/grammar/statements/index.y" { (yyval.str) = (char*) DEFAULT_INDEX_TYPE; } -#line 31942 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32925 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1447: /* opt_concurrently: CONCURRENTLY */ + case 1494: /* opt_concurrently: CONCURRENTLY */ #line 72 "third_party/libpg_query/grammar/statements/index.y" { (yyval.boolean) = true; } -#line 31948 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32931 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1448: /* opt_concurrently: %empty */ + case 1495: /* opt_concurrently: %empty */ #line 73 "third_party/libpg_query/grammar/statements/index.y" { (yyval.boolean) = false; } -#line 31954 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32937 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1449: /* opt_index_name: index_name */ + case 1496: /* opt_index_name: index_name */ #line 78 "third_party/libpg_query/grammar/statements/index.y" { (yyval.str) = (yyvsp[0].str); } -#line 31960 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32943 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1450: /* opt_index_name: %empty */ + case 1497: /* opt_index_name: %empty */ #line 79 "third_party/libpg_query/grammar/statements/index.y" { (yyval.str) = NULL; } -#line 31966 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32949 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1451: /* opt_reloptions: WITH reloptions */ + case 1498: /* opt_reloptions: WITH reloptions */ #line 83 "third_party/libpg_query/grammar/statements/index.y" { (yyval.list) = (yyvsp[0].list); } -#line 31972 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32955 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1452: /* opt_reloptions: %empty */ + case 1499: /* opt_reloptions: %empty */ #line 84 "third_party/libpg_query/grammar/statements/index.y" { (yyval.list) = NIL; } -#line 31978 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32961 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1453: /* opt_unique: UNIQUE */ + case 1500: /* opt_unique: UNIQUE */ #line 89 "third_party/libpg_query/grammar/statements/index.y" { (yyval.boolean) = true; } -#line 31984 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32967 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1454: /* opt_unique: %empty */ + case 1501: /* opt_unique: %empty */ #line 90 "third_party/libpg_query/grammar/statements/index.y" { (yyval.boolean) = false; } -#line 31990 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32973 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1455: /* AlterObjectSchemaStmt: ALTER TABLE relation_expr SET SCHEMA name */ + case 1502: /* AlterObjectSchemaStmt: ALTER TABLE relation_expr SET SCHEMA name */ #line 8 "third_party/libpg_query/grammar/statements/alter_schema.y" { PGAlterObjectSchemaStmt *n = makeNode(PGAlterObjectSchemaStmt); @@ -31999,10 +32982,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 32003 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32986 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1456: /* AlterObjectSchemaStmt: ALTER TABLE IF_P EXISTS relation_expr SET SCHEMA name */ + case 1503: /* AlterObjectSchemaStmt: ALTER TABLE IF_P EXISTS relation_expr SET SCHEMA name */ #line 17 "third_party/libpg_query/grammar/statements/alter_schema.y" { PGAlterObjectSchemaStmt *n = makeNode(PGAlterObjectSchemaStmt); @@ -32012,10 +32995,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 32016 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 32999 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1457: /* AlterObjectSchemaStmt: ALTER SEQUENCE qualified_name SET SCHEMA name */ + case 1504: /* AlterObjectSchemaStmt: ALTER SEQUENCE qualified_name SET SCHEMA name */ #line 26 "third_party/libpg_query/grammar/statements/alter_schema.y" { PGAlterObjectSchemaStmt *n = makeNode(PGAlterObjectSchemaStmt); @@ -32025,10 +33008,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 32029 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33012 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1458: /* AlterObjectSchemaStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SET SCHEMA name */ + case 1505: /* AlterObjectSchemaStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SET SCHEMA name */ #line 35 "third_party/libpg_query/grammar/statements/alter_schema.y" { PGAlterObjectSchemaStmt *n = makeNode(PGAlterObjectSchemaStmt); @@ -32038,10 +33021,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 32042 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33025 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1459: /* AlterObjectSchemaStmt: ALTER VIEW qualified_name SET SCHEMA name */ + case 1506: /* AlterObjectSchemaStmt: ALTER VIEW qualified_name SET SCHEMA name */ #line 44 "third_party/libpg_query/grammar/statements/alter_schema.y" { PGAlterObjectSchemaStmt *n = makeNode(PGAlterObjectSchemaStmt); @@ -32051,10 +33034,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = false; (yyval.node) = (PGNode *)n; } -#line 32055 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33038 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1460: /* AlterObjectSchemaStmt: ALTER VIEW IF_P EXISTS qualified_name SET SCHEMA name */ + case 1507: /* AlterObjectSchemaStmt: ALTER VIEW IF_P EXISTS qualified_name SET SCHEMA name */ #line 53 "third_party/libpg_query/grammar/statements/alter_schema.y" { PGAlterObjectSchemaStmt *n = makeNode(PGAlterObjectSchemaStmt); @@ -32064,10 +33047,10 @@ YYLTYPE yylloc = yyloc_default; n->missing_ok = true; (yyval.node) = (PGNode *)n; } -#line 32068 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33051 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1461: /* CheckPointStmt: FORCE CHECKPOINT opt_col_id */ + case 1508: /* CheckPointStmt: FORCE CHECKPOINT opt_col_id */ #line 6 "third_party/libpg_query/grammar/statements/checkpoint.y" { PGCheckPointStmt *n = makeNode(PGCheckPointStmt); @@ -32075,10 +33058,10 @@ YYLTYPE yylloc = yyloc_default; n->name = (yyvsp[0].str); (yyval.node) = (PGNode *)n; } -#line 32079 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33062 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1462: /* CheckPointStmt: CHECKPOINT opt_col_id */ + case 1509: /* CheckPointStmt: CHECKPOINT opt_col_id */ #line 13 "third_party/libpg_query/grammar/statements/checkpoint.y" { PGCheckPointStmt *n = makeNode(PGCheckPointStmt); @@ -32086,22 +33069,118 @@ YYLTYPE yylloc = yyloc_default; n->name = (yyvsp[0].str); (yyval.node) = (PGNode *)n; } -#line 32090 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33073 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1463: /* opt_col_id: ColId */ + case 1510: /* opt_col_id: ColId */ #line 22 "third_party/libpg_query/grammar/statements/checkpoint.y" { (yyval.str) = (yyvsp[0].str); } -#line 32096 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33079 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1464: /* opt_col_id: %empty */ + case 1511: /* opt_col_id: %empty */ #line 23 "third_party/libpg_query/grammar/statements/checkpoint.y" { (yyval.str) = NULL; } -#line 32102 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33085 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1512: /* CommentOnStmt: COMMENT ON comment_on_type_any_name qualified_name IS comment_value */ +#line 8 "third_party/libpg_query/grammar/statements/comment_on.y" + { + PGCommentOnStmt *n = makeNode(PGCommentOnStmt); + n->object_type = (yyvsp[-3].objtype); + n->name = (yyvsp[-2].range); + n->value = (yyvsp[0].node); + (yyval.node) = (PGNode *)n; + } +#line 33097 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1513: /* CommentOnStmt: COMMENT ON COLUMN a_expr IS comment_value */ +#line 16 "third_party/libpg_query/grammar/statements/comment_on.y" + { + PGCommentOnStmt *n = makeNode(PGCommentOnStmt); + n->object_type = PG_OBJECT_COLUMN; + n->column_expr = (yyvsp[-2].node); + n->value = (yyvsp[0].node); + (yyval.node) = (PGNode *)n; + } +#line 33109 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1514: /* comment_value: Sconst */ +#line 26 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); } +#line 33115 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1515: /* comment_value: NULL_P */ +#line 27 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.node) = makeNullAConst((yylsp[0])); } +#line 33121 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1516: /* comment_on_type_any_name: TABLE */ +#line 30 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.objtype) = PG_OBJECT_TABLE; } +#line 33127 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1517: /* comment_on_type_any_name: SEQUENCE */ +#line 31 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.objtype) = PG_OBJECT_SEQUENCE; } +#line 33133 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1518: /* comment_on_type_any_name: FUNCTION */ +#line 32 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.objtype) = PG_OBJECT_FUNCTION; } +#line 33139 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1519: /* comment_on_type_any_name: MACRO */ +#line 33 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.objtype) = PG_OBJECT_FUNCTION; } +#line 33145 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1520: /* comment_on_type_any_name: MACRO TABLE */ +#line 34 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.objtype) = PG_OBJECT_TABLE_MACRO; } +#line 33151 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1521: /* comment_on_type_any_name: VIEW */ +#line 35 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.objtype) = PG_OBJECT_VIEW; } +#line 33157 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1522: /* comment_on_type_any_name: DATABASE */ +#line 36 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.objtype) = PG_OBJECT_DATABASE; } +#line 33163 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1523: /* comment_on_type_any_name: INDEX */ +#line 37 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.objtype) = PG_OBJECT_INDEX; } +#line 33169 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1524: /* comment_on_type_any_name: SCHEMA */ +#line 38 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.objtype) = PG_OBJECT_SCHEMA; } +#line 33175 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1525: /* comment_on_type_any_name: TYPE_P */ +#line 39 "third_party/libpg_query/grammar/statements/comment_on.y" + { (yyval.objtype) = PG_OBJECT_TYPE; } +#line 33181 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1465: /* ExportStmt: EXPORT_P DATABASE Sconst copy_options */ + case 1526: /* ExportStmt: EXPORT_P DATABASE Sconst copy_options */ #line 8 "third_party/libpg_query/grammar/statements/export.y" { PGExportStmt *n = makeNode(PGExportStmt); @@ -32113,10 +33192,10 @@ YYLTYPE yylloc = yyloc_default; } (yyval.node) = (PGNode *)n; } -#line 32117 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33196 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1466: /* ExportStmt: EXPORT_P DATABASE ColId TO Sconst copy_options */ + case 1527: /* ExportStmt: EXPORT_P DATABASE ColId TO Sconst copy_options */ #line 20 "third_party/libpg_query/grammar/statements/export.y" { PGExportStmt *n = makeNode(PGExportStmt); @@ -32128,20 +33207,20 @@ YYLTYPE yylloc = yyloc_default; } (yyval.node) = (PGNode *)n; } -#line 32132 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33211 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1467: /* ImportStmt: IMPORT_P DATABASE Sconst */ + case 1528: /* ImportStmt: IMPORT_P DATABASE Sconst */ #line 34 "third_party/libpg_query/grammar/statements/export.y" { PGImportStmt *n = makeNode(PGImportStmt); n->filename = (yyvsp[0].str); (yyval.node) = (PGNode *)n; } -#line 32142 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33221 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1468: /* ExplainStmt: EXPLAIN ExplainableStmt */ + case 1529: /* ExplainStmt: EXPLAIN ExplainableStmt */ #line 10 "third_party/libpg_query/grammar/statements/explain.y" { PGExplainStmt *n = makeNode(PGExplainStmt); @@ -32149,10 +33228,10 @@ YYLTYPE yylloc = yyloc_default; n->options = NIL; (yyval.node) = (PGNode *) n; } -#line 32153 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33232 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1469: /* ExplainStmt: EXPLAIN analyze_keyword opt_verbose ExplainableStmt */ + case 1530: /* ExplainStmt: EXPLAIN analyze_keyword opt_verbose ExplainableStmt */ #line 17 "third_party/libpg_query/grammar/statements/explain.y" { PGExplainStmt *n = makeNode(PGExplainStmt); @@ -32163,10 +33242,10 @@ YYLTYPE yylloc = yyloc_default; makeDefElem("verbose", NULL, (yylsp[-1]))); (yyval.node) = (PGNode *) n; } -#line 32167 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33246 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1470: /* ExplainStmt: EXPLAIN VERBOSE ExplainableStmt */ + case 1531: /* ExplainStmt: EXPLAIN VERBOSE ExplainableStmt */ #line 27 "third_party/libpg_query/grammar/statements/explain.y" { PGExplainStmt *n = makeNode(PGExplainStmt); @@ -32174,10 +33253,10 @@ YYLTYPE yylloc = yyloc_default; n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1]))); (yyval.node) = (PGNode *) n; } -#line 32178 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33257 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1471: /* ExplainStmt: EXPLAIN '(' explain_option_list ')' ExplainableStmt */ + case 1532: /* ExplainStmt: EXPLAIN '(' explain_option_list ')' ExplainableStmt */ #line 34 "third_party/libpg_query/grammar/statements/explain.y" { PGExplainStmt *n = makeNode(PGExplainStmt); @@ -32185,194 +33264,194 @@ YYLTYPE yylloc = yyloc_default; n->options = (yyvsp[-2].list); (yyval.node) = (PGNode *) n; } -#line 32189 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33268 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1472: /* opt_verbose: VERBOSE */ + case 1533: /* opt_verbose: VERBOSE */ #line 44 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.boolean) = true; } -#line 32195 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33274 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1473: /* opt_verbose: %empty */ + case 1534: /* opt_verbose: %empty */ #line 45 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.boolean) = false; } -#line 32201 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33280 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1474: /* explain_option_arg: opt_boolean_or_string */ + case 1535: /* explain_option_arg: opt_boolean_or_string */ #line 50 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.node) = (PGNode *) makeString((yyvsp[0].str)); } -#line 32207 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33286 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1475: /* explain_option_arg: NumericOnly */ + case 1536: /* explain_option_arg: NumericOnly */ #line 51 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.node) = (PGNode *) (yyvsp[0].value); } -#line 32213 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33292 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1476: /* explain_option_arg: %empty */ + case 1537: /* explain_option_arg: %empty */ #line 52 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.node) = NULL; } -#line 32219 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33298 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1507: /* NonReservedWord: IDENT */ + case 1568: /* NonReservedWord: IDENT */ #line 90 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = (yyvsp[0].str); } -#line 32225 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33304 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1508: /* NonReservedWord: unreserved_keyword */ + case 1569: /* NonReservedWord: unreserved_keyword */ #line 91 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 32231 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33310 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1509: /* NonReservedWord: other_keyword */ + case 1570: /* NonReservedWord: other_keyword */ #line 92 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 32237 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33316 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1510: /* NonReservedWord: pgq_unreserved_keyword */ + case 1571: /* NonReservedWord: pgq_unreserved_keyword */ #line 93 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 32243 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33322 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1511: /* NonReservedWord_or_Sconst: NonReservedWord */ + case 1572: /* NonReservedWord_or_Sconst: NonReservedWord */ #line 98 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = (yyvsp[0].str); } -#line 32249 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33328 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1512: /* NonReservedWord_or_Sconst: Sconst */ + case 1573: /* NonReservedWord_or_Sconst: Sconst */ #line 99 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = (yyvsp[0].str); } -#line 32255 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33334 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1513: /* explain_option_list: explain_option_elem */ + case 1574: /* explain_option_list: explain_option_elem */ #line 105 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.list) = list_make1((yyvsp[0].defelt)); } -#line 32263 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33342 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1514: /* explain_option_list: explain_option_list ',' explain_option_elem */ + case 1575: /* explain_option_list: explain_option_list ',' explain_option_elem */ #line 109 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); } -#line 32271 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33350 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1515: /* analyze_keyword: ANALYZE */ + case 1576: /* analyze_keyword: ANALYZE */ #line 116 "third_party/libpg_query/grammar/statements/explain.y" {} -#line 32277 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33356 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1516: /* analyze_keyword: ANALYSE */ + case 1577: /* analyze_keyword: ANALYSE */ #line 117 "third_party/libpg_query/grammar/statements/explain.y" {} -#line 32283 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33362 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1517: /* opt_boolean_or_string: TRUE_P */ + case 1578: /* opt_boolean_or_string: TRUE_P */ #line 122 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = (char*) "true"; } -#line 32289 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33368 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1518: /* opt_boolean_or_string: FALSE_P */ + case 1579: /* opt_boolean_or_string: FALSE_P */ #line 123 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = (char*) "false"; } -#line 32295 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33374 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1519: /* opt_boolean_or_string: ON */ + case 1580: /* opt_boolean_or_string: ON */ #line 124 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = (char*) "on"; } -#line 32301 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33380 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1520: /* opt_boolean_or_string: NonReservedWord_or_Sconst */ + case 1581: /* opt_boolean_or_string: NonReservedWord_or_Sconst */ #line 130 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = (yyvsp[0].str); } -#line 32307 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33386 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1521: /* explain_option_elem: explain_option_name explain_option_arg */ + case 1582: /* explain_option_elem: explain_option_name explain_option_arg */ #line 136 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); } -#line 32315 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33394 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1522: /* explain_option_name: NonReservedWord */ + case 1583: /* explain_option_name: NonReservedWord */ #line 143 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = (yyvsp[0].str); } -#line 32321 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33400 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1523: /* explain_option_name: analyze_keyword */ + case 1584: /* explain_option_name: analyze_keyword */ #line 144 "third_party/libpg_query/grammar/statements/explain.y" { (yyval.str) = (char*) "analyze"; } -#line 32327 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33406 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1524: /* VariableSetStmt: SET set_rest */ + case 1585: /* VariableSetStmt: SET set_rest */ #line 11 "third_party/libpg_query/grammar/statements/variable_set.y" { PGVariableSetStmt *n = (yyvsp[0].vsetstmt); n->scope = VAR_SET_SCOPE_DEFAULT; (yyval.node) = (PGNode *) n; } -#line 32337 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33416 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1525: /* VariableSetStmt: SET LOCAL set_rest */ + case 1586: /* VariableSetStmt: SET LOCAL set_rest */ #line 17 "third_party/libpg_query/grammar/statements/variable_set.y" { PGVariableSetStmt *n = (yyvsp[0].vsetstmt); n->scope = VAR_SET_SCOPE_LOCAL; (yyval.node) = (PGNode *) n; } -#line 32347 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33426 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1526: /* VariableSetStmt: SET SESSION set_rest */ + case 1587: /* VariableSetStmt: SET SESSION set_rest */ #line 23 "third_party/libpg_query/grammar/statements/variable_set.y" { PGVariableSetStmt *n = (yyvsp[0].vsetstmt); n->scope = VAR_SET_SCOPE_SESSION; (yyval.node) = (PGNode *) n; } -#line 32357 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33436 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1527: /* VariableSetStmt: SET GLOBAL set_rest */ + case 1588: /* VariableSetStmt: SET GLOBAL set_rest */ #line 29 "third_party/libpg_query/grammar/statements/variable_set.y" { PGVariableSetStmt *n = (yyvsp[0].vsetstmt); n->scope = VAR_SET_SCOPE_GLOBAL; (yyval.node) = (PGNode *) n; } -#line 32367 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33446 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1528: /* set_rest: generic_set */ + case 1589: /* set_rest: generic_set */ #line 38 "third_party/libpg_query/grammar/statements/variable_set.y" {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);} -#line 32373 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33452 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1529: /* set_rest: var_name FROM CURRENT_P */ + case 1590: /* set_rest: var_name FROM CURRENT_P */ #line 40 "third_party/libpg_query/grammar/statements/variable_set.y" { PGVariableSetStmt *n = makeNode(PGVariableSetStmt); @@ -32380,10 +33459,10 @@ YYLTYPE yylloc = yyloc_default; n->name = (yyvsp[-2].str); (yyval.vsetstmt) = n; } -#line 32384 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33463 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1530: /* set_rest: TIME ZONE zone_value */ + case 1591: /* set_rest: TIME ZONE zone_value */ #line 48 "third_party/libpg_query/grammar/statements/variable_set.y" { PGVariableSetStmt *n = makeNode(PGVariableSetStmt); @@ -32395,10 +33474,10 @@ YYLTYPE yylloc = yyloc_default; n->kind = VAR_SET_DEFAULT; (yyval.vsetstmt) = n; } -#line 32399 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33478 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1531: /* set_rest: SCHEMA Sconst */ + case 1592: /* set_rest: SCHEMA Sconst */ #line 59 "third_party/libpg_query/grammar/statements/variable_set.y" { PGVariableSetStmt *n = makeNode(PGVariableSetStmt); @@ -32407,10 +33486,10 @@ YYLTYPE yylloc = yyloc_default; n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0]))); (yyval.vsetstmt) = n; } -#line 32411 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33490 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1532: /* generic_set: var_name TO var_list */ + case 1593: /* generic_set: var_name TO var_list */ #line 71 "third_party/libpg_query/grammar/statements/variable_set.y" { PGVariableSetStmt *n = makeNode(PGVariableSetStmt); @@ -32419,10 +33498,10 @@ YYLTYPE yylloc = yyloc_default; n->args = (yyvsp[0].list); (yyval.vsetstmt) = n; } -#line 32423 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33502 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1533: /* generic_set: var_name '=' var_list */ + case 1594: /* generic_set: var_name '=' var_list */ #line 79 "third_party/libpg_query/grammar/statements/variable_set.y" { PGVariableSetStmt *n = makeNode(PGVariableSetStmt); @@ -32431,61 +33510,33 @@ YYLTYPE yylloc = yyloc_default; n->args = (yyvsp[0].list); (yyval.vsetstmt) = n; } -#line 32435 "third_party/libpg_query/grammar/grammar_out.cpp" - break; - - case 1534: /* generic_set: var_name TO DEFAULT */ -#line 87 "third_party/libpg_query/grammar/statements/variable_set.y" - { - PGVariableSetStmt *n = makeNode(PGVariableSetStmt); - n->kind = VAR_SET_DEFAULT; - n->name = (yyvsp[-2].str); - (yyval.vsetstmt) = n; - } -#line 32446 "third_party/libpg_query/grammar/grammar_out.cpp" - break; - - case 1535: /* generic_set: var_name '=' DEFAULT */ -#line 94 "third_party/libpg_query/grammar/statements/variable_set.y" - { - PGVariableSetStmt *n = makeNode(PGVariableSetStmt); - n->kind = VAR_SET_DEFAULT; - n->name = (yyvsp[-2].str); - (yyval.vsetstmt) = n; - } -#line 32457 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33514 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1536: /* var_value: opt_boolean_or_string */ -#line 104 "third_party/libpg_query/grammar/statements/variable_set.y" - { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); } -#line 32463 "third_party/libpg_query/grammar/grammar_out.cpp" - break; - - case 1537: /* var_value: NumericOnly */ -#line 106 "third_party/libpg_query/grammar/statements/variable_set.y" - { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); } -#line 32469 "third_party/libpg_query/grammar/grammar_out.cpp" + case 1595: /* var_value: a_expr */ +#line 90 "third_party/libpg_query/grammar/statements/variable_set.y" + { (yyval.node) = (yyvsp[0].node); } +#line 33520 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1538: /* zone_value: Sconst */ -#line 112 "third_party/libpg_query/grammar/statements/variable_set.y" + case 1596: /* zone_value: Sconst */ +#line 96 "third_party/libpg_query/grammar/statements/variable_set.y" { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); } -#line 32477 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33528 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1539: /* zone_value: IDENT */ -#line 116 "third_party/libpg_query/grammar/statements/variable_set.y" + case 1597: /* zone_value: IDENT */ +#line 100 "third_party/libpg_query/grammar/statements/variable_set.y" { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); } -#line 32485 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33536 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1540: /* zone_value: ConstInterval Sconst opt_interval */ -#line 120 "third_party/libpg_query/grammar/statements/variable_set.y" + case 1598: /* zone_value: ConstInterval Sconst opt_interval */ +#line 104 "third_party/libpg_query/grammar/statements/variable_set.y" { PGTypeName *t = (yyvsp[-2].typnam); if ((yyvsp[0].list) != NIL) @@ -32500,51 +33551,51 @@ YYLTYPE yylloc = yyloc_default; t->typmods = (yyvsp[0].list); (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t); } -#line 32504 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33555 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1541: /* zone_value: ConstInterval '(' Iconst ')' Sconst */ -#line 135 "third_party/libpg_query/grammar/statements/variable_set.y" + case 1599: /* zone_value: ConstInterval '(' Iconst ')' Sconst */ +#line 119 "third_party/libpg_query/grammar/statements/variable_set.y" { PGTypeName *t = (yyvsp[-4].typnam); t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1), makeIntConst((yyvsp[-2].ival), (yylsp[-2]))); (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t); } -#line 32515 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33566 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1542: /* zone_value: NumericOnly */ -#line 141 "third_party/libpg_query/grammar/statements/variable_set.y" + case 1600: /* zone_value: NumericOnly */ +#line 125 "third_party/libpg_query/grammar/statements/variable_set.y" { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); } -#line 32521 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33572 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1543: /* zone_value: DEFAULT */ -#line 142 "third_party/libpg_query/grammar/statements/variable_set.y" + case 1601: /* zone_value: DEFAULT */ +#line 126 "third_party/libpg_query/grammar/statements/variable_set.y" { (yyval.node) = NULL; } -#line 32527 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33578 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1544: /* zone_value: LOCAL */ -#line 143 "third_party/libpg_query/grammar/statements/variable_set.y" + case 1602: /* zone_value: LOCAL */ +#line 127 "third_party/libpg_query/grammar/statements/variable_set.y" { (yyval.node) = NULL; } -#line 32533 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33584 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1545: /* var_list: var_value */ -#line 147 "third_party/libpg_query/grammar/statements/variable_set.y" + case 1603: /* var_list: var_value */ +#line 131 "third_party/libpg_query/grammar/statements/variable_set.y" { (yyval.list) = list_make1((yyvsp[0].node)); } -#line 32539 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33590 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1546: /* var_list: var_list ',' var_value */ -#line 148 "third_party/libpg_query/grammar/statements/variable_set.y" + case 1604: /* var_list: var_list ',' var_value */ +#line 132 "third_party/libpg_query/grammar/statements/variable_set.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); } -#line 32545 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33596 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1547: /* LoadStmt: LOAD file_name */ + case 1605: /* LoadStmt: LOAD file_name */ #line 8 "third_party/libpg_query/grammar/statements/load.y" { PGLoadStmt *n = makeNode(PGLoadStmt); @@ -32553,10 +33604,10 @@ YYLTYPE yylloc = yyloc_default; n->load_type = PG_LOAD_TYPE_LOAD; (yyval.node) = (PGNode *)n; } -#line 32557 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33608 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1548: /* LoadStmt: INSTALL file_name */ + case 1606: /* LoadStmt: INSTALL file_name */ #line 15 "third_party/libpg_query/grammar/statements/load.y" { PGLoadStmt *n = makeNode(PGLoadStmt); @@ -32565,10 +33616,10 @@ YYLTYPE yylloc = yyloc_default; n->load_type = PG_LOAD_TYPE_INSTALL; (yyval.node) = (PGNode *)n; } -#line 32569 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33620 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1549: /* LoadStmt: FORCE INSTALL file_name */ + case 1607: /* LoadStmt: FORCE INSTALL file_name */ #line 22 "third_party/libpg_query/grammar/statements/load.y" { PGLoadStmt *n = makeNode(PGLoadStmt); @@ -32577,10 +33628,10 @@ YYLTYPE yylloc = yyloc_default; n->load_type = PG_LOAD_TYPE_FORCE_INSTALL; (yyval.node) = (PGNode *)n; } -#line 32581 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33632 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1550: /* LoadStmt: INSTALL file_name FROM repo_path */ + case 1608: /* LoadStmt: INSTALL file_name FROM repo_path */ #line 29 "third_party/libpg_query/grammar/statements/load.y" { PGLoadStmt *n = makeNode(PGLoadStmt); @@ -32589,10 +33640,10 @@ YYLTYPE yylloc = yyloc_default; n->load_type = PG_LOAD_TYPE_INSTALL; (yyval.node) = (PGNode *)n; } -#line 32593 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33644 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1551: /* LoadStmt: FORCE INSTALL file_name FROM repo_path */ + case 1609: /* LoadStmt: FORCE INSTALL file_name FROM repo_path */ #line 36 "third_party/libpg_query/grammar/statements/load.y" { PGLoadStmt *n = makeNode(PGLoadStmt); @@ -32601,34 +33652,34 @@ YYLTYPE yylloc = yyloc_default; n->load_type = PG_LOAD_TYPE_FORCE_INSTALL; (yyval.node) = (PGNode *)n; } -#line 32605 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33656 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1552: /* file_name: Sconst */ + case 1610: /* file_name: Sconst */ #line 45 "third_party/libpg_query/grammar/statements/load.y" { (yyval.str) = (yyvsp[0].str); } -#line 32611 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33662 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1553: /* file_name: ColId */ + case 1611: /* file_name: ColId */ #line 46 "third_party/libpg_query/grammar/statements/load.y" { (yyval.str) = (yyvsp[0].str); } -#line 32617 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33668 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1554: /* repo_path: Sconst */ + case 1612: /* repo_path: Sconst */ #line 48 "third_party/libpg_query/grammar/statements/load.y" { (yyval.str) = (yyvsp[0].str); } -#line 32623 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33674 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1555: /* repo_path: ColId */ + case 1613: /* repo_path: ColId */ #line 49 "third_party/libpg_query/grammar/statements/load.y" { (yyval.str) = (yyvsp[0].str); } -#line 32629 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33680 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1556: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose */ + case 1614: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose */ #line 9 "third_party/libpg_query/grammar/statements/vacuum.y" { PGVacuumStmt *n = makeNode(PGVacuumStmt); @@ -32643,10 +33694,10 @@ YYLTYPE yylloc = yyloc_default; n->va_cols = NIL; (yyval.node) = (PGNode *)n; } -#line 32647 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33698 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1557: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose qualified_name opt_name_list */ + case 1615: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose qualified_name opt_name_list */ #line 23 "third_party/libpg_query/grammar/statements/vacuum.y" { PGVacuumStmt *n = makeNode(PGVacuumStmt); @@ -32661,10 +33712,10 @@ YYLTYPE yylloc = yyloc_default; n->va_cols = (yyvsp[0].list); (yyval.node) = (PGNode *)n; } -#line 32665 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33716 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1558: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose AnalyzeStmt */ + case 1616: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose AnalyzeStmt */ #line 37 "third_party/libpg_query/grammar/statements/vacuum.y" { PGVacuumStmt *n = (PGVacuumStmt *) (yyvsp[0].node); @@ -32677,10 +33728,10 @@ YYLTYPE yylloc = yyloc_default; n->options |= PG_VACOPT_VERBOSE; (yyval.node) = (PGNode *)n; } -#line 32681 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33732 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1559: /* VacuumStmt: VACUUM '(' vacuum_option_list ')' */ + case 1617: /* VacuumStmt: VACUUM '(' vacuum_option_list ')' */ #line 49 "third_party/libpg_query/grammar/statements/vacuum.y" { PGVacuumStmt *n = makeNode(PGVacuumStmt); @@ -32689,10 +33740,10 @@ YYLTYPE yylloc = yyloc_default; n->va_cols = NIL; (yyval.node) = (PGNode *) n; } -#line 32693 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33744 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1560: /* VacuumStmt: VACUUM '(' vacuum_option_list ')' qualified_name opt_name_list */ + case 1618: /* VacuumStmt: VACUUM '(' vacuum_option_list ')' qualified_name opt_name_list */ #line 57 "third_party/libpg_query/grammar/statements/vacuum.y" { PGVacuumStmt *n = makeNode(PGVacuumStmt); @@ -32703,34 +33754,34 @@ YYLTYPE yylloc = yyloc_default; n->options |= PG_VACOPT_ANALYZE; (yyval.node) = (PGNode *) n; } -#line 32707 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33758 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1561: /* vacuum_option_elem: analyze_keyword */ + case 1619: /* vacuum_option_elem: analyze_keyword */ #line 70 "third_party/libpg_query/grammar/statements/vacuum.y" { (yyval.ival) = PG_VACOPT_ANALYZE; } -#line 32713 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33764 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1562: /* vacuum_option_elem: VERBOSE */ + case 1620: /* vacuum_option_elem: VERBOSE */ #line 71 "third_party/libpg_query/grammar/statements/vacuum.y" { (yyval.ival) = PG_VACOPT_VERBOSE; } -#line 32719 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33770 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1563: /* vacuum_option_elem: FREEZE */ + case 1621: /* vacuum_option_elem: FREEZE */ #line 72 "third_party/libpg_query/grammar/statements/vacuum.y" { (yyval.ival) = PG_VACOPT_FREEZE; } -#line 32725 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33776 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1564: /* vacuum_option_elem: FULL */ + case 1622: /* vacuum_option_elem: FULL */ #line 73 "third_party/libpg_query/grammar/statements/vacuum.y" { (yyval.ival) = PG_VACOPT_FULL; } -#line 32731 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33782 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1565: /* vacuum_option_elem: IDENT */ + case 1623: /* vacuum_option_elem: IDENT */ #line 75 "third_party/libpg_query/grammar/statements/vacuum.y" { if (strcmp((yyvsp[0].str), "disable_page_skipping") == 0) @@ -32741,46 +33792,46 @@ YYLTYPE yylloc = yyloc_default; errmsg("unrecognized VACUUM option \"%s\"", (yyvsp[0].str)), parser_errposition((yylsp[0])))); } -#line 32745 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33796 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1566: /* opt_full: FULL */ + case 1624: /* opt_full: FULL */ #line 87 "third_party/libpg_query/grammar/statements/vacuum.y" { (yyval.boolean) = true; } -#line 32751 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33802 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1567: /* opt_full: %empty */ + case 1625: /* opt_full: %empty */ #line 88 "third_party/libpg_query/grammar/statements/vacuum.y" { (yyval.boolean) = false; } -#line 32757 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33808 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1568: /* vacuum_option_list: vacuum_option_elem */ + case 1626: /* vacuum_option_list: vacuum_option_elem */ #line 93 "third_party/libpg_query/grammar/statements/vacuum.y" { (yyval.ival) = (yyvsp[0].ival); } -#line 32763 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33814 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1569: /* vacuum_option_list: vacuum_option_list ',' vacuum_option_elem */ + case 1627: /* vacuum_option_list: vacuum_option_list ',' vacuum_option_elem */ #line 94 "third_party/libpg_query/grammar/statements/vacuum.y" { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); } -#line 32769 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33820 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1570: /* opt_freeze: FREEZE */ + case 1628: /* opt_freeze: FREEZE */ #line 98 "third_party/libpg_query/grammar/statements/vacuum.y" { (yyval.boolean) = true; } -#line 32775 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33826 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1571: /* opt_freeze: %empty */ + case 1629: /* opt_freeze: %empty */ #line 99 "third_party/libpg_query/grammar/statements/vacuum.y" { (yyval.boolean) = false; } -#line 32781 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33832 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1572: /* DeleteStmt: opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause */ + case 1630: /* DeleteStmt: opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause */ #line 9 "third_party/libpg_query/grammar/statements/delete.y" { PGDeleteStmt *n = makeNode(PGDeleteStmt); @@ -32791,10 +33842,10 @@ YYLTYPE yylloc = yyloc_default; n->withClause = (yyvsp[-6].with); (yyval.node) = (PGNode *)n; } -#line 32795 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33846 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1573: /* DeleteStmt: TRUNCATE opt_table relation_expr_opt_alias */ + case 1631: /* DeleteStmt: TRUNCATE opt_table relation_expr_opt_alias */ #line 19 "third_party/libpg_query/grammar/statements/delete.y" { PGDeleteStmt *n = makeNode(PGDeleteStmt); @@ -32805,18 +33856,18 @@ YYLTYPE yylloc = yyloc_default; n->withClause = NULL; (yyval.node) = (PGNode *)n; } -#line 32809 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33860 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1574: /* relation_expr_opt_alias: relation_expr */ + case 1632: /* relation_expr_opt_alias: relation_expr */ #line 32 "third_party/libpg_query/grammar/statements/delete.y" { (yyval.range) = (yyvsp[0].range); } -#line 32817 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33868 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1575: /* relation_expr_opt_alias: relation_expr ColId */ + case 1633: /* relation_expr_opt_alias: relation_expr ColId */ #line 36 "third_party/libpg_query/grammar/statements/delete.y" { PGAlias *alias = makeNode(PGAlias); @@ -32824,10 +33875,10 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-1].range)->alias = alias; (yyval.range) = (yyvsp[-1].range); } -#line 32828 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33879 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1576: /* relation_expr_opt_alias: relation_expr AS ColId */ + case 1634: /* relation_expr_opt_alias: relation_expr AS ColId */ #line 43 "third_party/libpg_query/grammar/statements/delete.y" { PGAlias *alias = makeNode(PGAlias); @@ -32835,34 +33886,34 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-2].range)->alias = alias; (yyval.range) = (yyvsp[-2].range); } -#line 32839 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33890 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1577: /* where_or_current_clause: WHERE a_expr */ + case 1635: /* where_or_current_clause: WHERE a_expr */ #line 53 "third_party/libpg_query/grammar/statements/delete.y" { (yyval.node) = (yyvsp[0].node); } -#line 32845 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33896 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1578: /* where_or_current_clause: %empty */ + case 1636: /* where_or_current_clause: %empty */ #line 54 "third_party/libpg_query/grammar/statements/delete.y" { (yyval.node) = NULL; } -#line 32851 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33902 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1579: /* using_clause: USING from_list_opt_comma */ + case 1637: /* using_clause: USING from_list_opt_comma */ #line 60 "third_party/libpg_query/grammar/statements/delete.y" { (yyval.list) = (yyvsp[0].list); } -#line 32857 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33908 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1580: /* using_clause: %empty */ + case 1638: /* using_clause: %empty */ #line 61 "third_party/libpg_query/grammar/statements/delete.y" { (yyval.list) = NIL; } -#line 32863 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33914 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1581: /* AnalyzeStmt: analyze_keyword opt_verbose */ + case 1639: /* AnalyzeStmt: analyze_keyword opt_verbose */ #line 10 "third_party/libpg_query/grammar/statements/analyze.y" { PGVacuumStmt *n = makeNode(PGVacuumStmt); @@ -32873,10 +33924,10 @@ YYLTYPE yylloc = yyloc_default; n->va_cols = NIL; (yyval.node) = (PGNode *)n; } -#line 32877 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33928 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1582: /* AnalyzeStmt: analyze_keyword opt_verbose qualified_name opt_name_list */ + case 1640: /* AnalyzeStmt: analyze_keyword opt_verbose qualified_name opt_name_list */ #line 20 "third_party/libpg_query/grammar/statements/analyze.y" { PGVacuumStmt *n = makeNode(PGVacuumStmt); @@ -32887,104 +33938,129 @@ YYLTYPE yylloc = yyloc_default; n->va_cols = (yyvsp[0].list); (yyval.node) = (PGNode *)n; } -#line 32891 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33942 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1583: /* AttachStmt: ATTACH opt_database Sconst opt_database_alias copy_options */ + case 1641: /* AttachStmt: ATTACH opt_database Sconst opt_database_alias copy_options */ #line 8 "third_party/libpg_query/grammar/statements/attach.y" { PGAttachStmt *n = makeNode(PGAttachStmt); n->path = (yyvsp[-2].str); n->name = (yyvsp[-1].str); n->options = (yyvsp[0].list); + n->onconflict = PG_ERROR_ON_CONFLICT; + (yyval.node) = (PGNode *)n; + } +#line 33955 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1642: /* AttachStmt: ATTACH IF_P NOT EXISTS opt_database Sconst opt_database_alias copy_options */ +#line 17 "third_party/libpg_query/grammar/statements/attach.y" + { + PGAttachStmt *n = makeNode(PGAttachStmt); + n->path = (yyvsp[-2].str); + n->name = (yyvsp[-1].str); + n->options = (yyvsp[0].list); + n->onconflict = PG_IGNORE_ON_CONFLICT; + (yyval.node) = (PGNode *)n; + } +#line 33968 "third_party/libpg_query/grammar/grammar_out.cpp" + break; + + case 1643: /* DetachStmt: DETACH ColLabel */ +#line 29 "third_party/libpg_query/grammar/statements/attach.y" + { + PGDetachStmt *n = makeNode(PGDetachStmt); + n->missing_ok = false; + n->db_name = (yyvsp[0].str); (yyval.node) = (PGNode *)n; } -#line 32903 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33979 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1584: /* DetachStmt: DETACH opt_database IDENT */ -#line 19 "third_party/libpg_query/grammar/statements/attach.y" + case 1644: /* DetachStmt: DETACH DATABASE ColLabel */ +#line 36 "third_party/libpg_query/grammar/statements/attach.y" { PGDetachStmt *n = makeNode(PGDetachStmt); n->missing_ok = false; n->db_name = (yyvsp[0].str); (yyval.node) = (PGNode *)n; } -#line 32914 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 33990 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1585: /* DetachStmt: DETACH DATABASE IF_P EXISTS IDENT */ -#line 26 "third_party/libpg_query/grammar/statements/attach.y" + case 1645: /* DetachStmt: DETACH DATABASE IF_P EXISTS ColLabel */ +#line 43 "third_party/libpg_query/grammar/statements/attach.y" { PGDetachStmt *n = makeNode(PGDetachStmt); n->missing_ok = true; n->db_name = (yyvsp[0].str); (yyval.node) = (PGNode *)n; } -#line 32925 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34001 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1586: /* opt_database: DATABASE */ -#line 34 "third_party/libpg_query/grammar/statements/attach.y" + case 1646: /* opt_database: DATABASE */ +#line 51 "third_party/libpg_query/grammar/statements/attach.y" {} -#line 32931 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34007 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1587: /* opt_database: %empty */ -#line 35 "third_party/libpg_query/grammar/statements/attach.y" + case 1647: /* opt_database: %empty */ +#line 52 "third_party/libpg_query/grammar/statements/attach.y" {} -#line 32937 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34013 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1588: /* opt_database_alias: AS ColId */ -#line 39 "third_party/libpg_query/grammar/statements/attach.y" + case 1648: /* opt_database_alias: AS ColId */ +#line 56 "third_party/libpg_query/grammar/statements/attach.y" { (yyval.str) = (yyvsp[0].str); } -#line 32943 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34019 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1589: /* opt_database_alias: %empty */ -#line 40 "third_party/libpg_query/grammar/statements/attach.y" + case 1649: /* opt_database_alias: %empty */ +#line 57 "third_party/libpg_query/grammar/statements/attach.y" { (yyval.str) = NULL; } -#line 32949 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34025 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1590: /* VariableResetStmt: RESET reset_rest */ + case 1650: /* VariableResetStmt: RESET reset_rest */ #line 3 "third_party/libpg_query/grammar/statements/variable_reset.y" { (yyvsp[0].vsetstmt)->scope = VAR_SET_SCOPE_DEFAULT; (yyval.node) = (PGNode *) (yyvsp[0].vsetstmt); } -#line 32958 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34034 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1591: /* VariableResetStmt: RESET LOCAL reset_rest */ + case 1651: /* VariableResetStmt: RESET LOCAL reset_rest */ #line 8 "third_party/libpg_query/grammar/statements/variable_reset.y" { (yyvsp[0].vsetstmt)->scope = VAR_SET_SCOPE_LOCAL; (yyval.node) = (PGNode *) (yyvsp[0].vsetstmt); } -#line 32967 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34043 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1592: /* VariableResetStmt: RESET SESSION reset_rest */ + case 1652: /* VariableResetStmt: RESET SESSION reset_rest */ #line 13 "third_party/libpg_query/grammar/statements/variable_reset.y" { (yyvsp[0].vsetstmt)->scope = VAR_SET_SCOPE_SESSION; (yyval.node) = (PGNode *) (yyvsp[0].vsetstmt); } -#line 32976 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34052 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1593: /* VariableResetStmt: RESET GLOBAL reset_rest */ + case 1653: /* VariableResetStmt: RESET GLOBAL reset_rest */ #line 18 "third_party/libpg_query/grammar/statements/variable_reset.y" { (yyvsp[0].vsetstmt)->scope = VAR_SET_SCOPE_GLOBAL; (yyval.node) = (PGNode *) (yyvsp[0].vsetstmt); } -#line 32985 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34061 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1594: /* generic_reset: var_name */ + case 1654: /* generic_reset: var_name */ #line 27 "third_party/libpg_query/grammar/statements/variable_reset.y" { PGVariableSetStmt *n = makeNode(PGVariableSetStmt); @@ -32992,26 +34068,26 @@ YYLTYPE yylloc = yyloc_default; n->name = (yyvsp[0].str); (yyval.vsetstmt) = n; } -#line 32996 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34072 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1595: /* generic_reset: ALL */ + case 1655: /* generic_reset: ALL */ #line 34 "third_party/libpg_query/grammar/statements/variable_reset.y" { PGVariableSetStmt *n = makeNode(PGVariableSetStmt); n->kind = VAR_RESET_ALL; (yyval.vsetstmt) = n; } -#line 33006 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34082 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1596: /* reset_rest: generic_reset */ + case 1656: /* reset_rest: generic_reset */ #line 43 "third_party/libpg_query/grammar/statements/variable_reset.y" { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); } -#line 33012 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34088 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1597: /* reset_rest: TIME ZONE */ + case 1657: /* reset_rest: TIME ZONE */ #line 45 "third_party/libpg_query/grammar/statements/variable_reset.y" { PGVariableSetStmt *n = makeNode(PGVariableSetStmt); @@ -33019,10 +34095,10 @@ YYLTYPE yylloc = yyloc_default; n->name = (char*) "timezone"; (yyval.vsetstmt) = n; } -#line 33023 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34099 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1598: /* reset_rest: TRANSACTION ISOLATION LEVEL */ + case 1658: /* reset_rest: TRANSACTION ISOLATION LEVEL */ #line 52 "third_party/libpg_query/grammar/statements/variable_reset.y" { PGVariableSetStmt *n = makeNode(PGVariableSetStmt); @@ -33030,10 +34106,10 @@ YYLTYPE yylloc = yyloc_default; n->name = (char*) "transaction_isolation"; (yyval.vsetstmt) = n; } -#line 33034 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34110 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1599: /* VariableShowStmt: show_or_describe SelectStmt */ + case 1659: /* VariableShowStmt: show_or_describe SelectStmt */ #line 3 "third_party/libpg_query/grammar/statements/variable_show.y" { PGVariableShowSelectStmt *n = makeNode(PGVariableShowSelectStmt); @@ -33042,10 +34118,10 @@ YYLTYPE yylloc = yyloc_default; n->is_summary = 0; (yyval.node) = (PGNode *) n; } -#line 33046 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34122 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1600: /* VariableShowStmt: SUMMARIZE SelectStmt */ + case 1660: /* VariableShowStmt: SUMMARIZE SelectStmt */ #line 10 "third_party/libpg_query/grammar/statements/variable_show.y" { PGVariableShowSelectStmt *n = makeNode(PGVariableShowSelectStmt); @@ -33054,10 +34130,10 @@ YYLTYPE yylloc = yyloc_default; n->is_summary = 1; (yyval.node) = (PGNode *) n; } -#line 33058 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34134 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1601: /* VariableShowStmt: SUMMARIZE table_id */ + case 1661: /* VariableShowStmt: SUMMARIZE table_id */ #line 18 "third_party/libpg_query/grammar/statements/variable_show.y" { PGVariableShowStmt *n = makeNode(PGVariableShowStmt); @@ -33065,10 +34141,10 @@ YYLTYPE yylloc = yyloc_default; n->is_summary = 1; (yyval.node) = (PGNode *) n; } -#line 33069 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34145 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1602: /* VariableShowStmt: show_or_describe table_id */ + case 1662: /* VariableShowStmt: show_or_describe table_id */ #line 25 "third_party/libpg_query/grammar/statements/variable_show.y" { PGVariableShowStmt *n = makeNode(PGVariableShowStmt); @@ -33076,10 +34152,10 @@ YYLTYPE yylloc = yyloc_default; n->is_summary = 0; (yyval.node) = (PGNode *) n; } -#line 33080 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34156 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1603: /* VariableShowStmt: show_or_describe TIME ZONE */ + case 1663: /* VariableShowStmt: show_or_describe TIME ZONE */ #line 32 "third_party/libpg_query/grammar/statements/variable_show.y" { PGVariableShowStmt *n = makeNode(PGVariableShowStmt); @@ -33087,10 +34163,10 @@ YYLTYPE yylloc = yyloc_default; n->is_summary = 0; (yyval.node) = (PGNode *) n; } -#line 33091 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34167 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1604: /* VariableShowStmt: show_or_describe TRANSACTION ISOLATION LEVEL */ + case 1664: /* VariableShowStmt: show_or_describe TRANSACTION ISOLATION LEVEL */ #line 39 "third_party/libpg_query/grammar/statements/variable_show.y" { PGVariableShowStmt *n = makeNode(PGVariableShowStmt); @@ -33098,10 +34174,10 @@ YYLTYPE yylloc = yyloc_default; n->is_summary = 0; (yyval.node) = (PGNode *) n; } -#line 33102 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34178 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1605: /* VariableShowStmt: show_or_describe ALL opt_tables */ + case 1665: /* VariableShowStmt: show_or_describe ALL opt_tables */ #line 46 "third_party/libpg_query/grammar/statements/variable_show.y" { PGVariableShowStmt *n = makeNode(PGVariableShowStmt); @@ -33109,10 +34185,10 @@ YYLTYPE yylloc = yyloc_default; n->is_summary = 0; (yyval.node) = (PGNode *) n; } -#line 33113 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34189 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1606: /* VariableShowStmt: show_or_describe */ + case 1666: /* VariableShowStmt: show_or_describe */ #line 53 "third_party/libpg_query/grammar/statements/variable_show.y" { PGVariableShowStmt *n = makeNode(PGVariableShowStmt); @@ -33120,44 +34196,44 @@ YYLTYPE yylloc = yyloc_default; n->is_summary = 0; (yyval.node) = (PGNode *) n; } -#line 33124 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34200 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1611: /* var_name: ColId */ -#line 65 "third_party/libpg_query/grammar/statements/variable_show.y" + case 1673: /* var_name: ColId */ +#line 67 "third_party/libpg_query/grammar/statements/variable_show.y" { (yyval.str) = (yyvsp[0].str); } -#line 33130 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34206 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1612: /* var_name: var_name '.' ColId */ -#line 67 "third_party/libpg_query/grammar/statements/variable_show.y" + case 1674: /* var_name: var_name '.' ColId */ +#line 69 "third_party/libpg_query/grammar/statements/variable_show.y" { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); } -#line 33136 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34212 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1613: /* table_id: ColId */ -#line 70 "third_party/libpg_query/grammar/statements/variable_show.y" + case 1675: /* table_id: ColId */ +#line 72 "third_party/libpg_query/grammar/statements/variable_show.y" { (yyval.str) = psprintf("\"%s\"", (yyvsp[0].str)); } -#line 33142 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34218 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1614: /* table_id: table_id '.' ColId */ -#line 72 "third_party/libpg_query/grammar/statements/variable_show.y" + case 1676: /* table_id: table_id '.' ColId */ +#line 74 "third_party/libpg_query/grammar/statements/variable_show.y" { (yyval.str) = psprintf("%s.\"%s\"", (yyvsp[-2].str), (yyvsp[0].str)); } -#line 33148 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34224 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1615: /* CallStmt: CALL_P func_application */ + case 1677: /* CallStmt: CALL_P func_application */ #line 7 "third_party/libpg_query/grammar/statements/call.y" { PGCallStmt *n = makeNode(PGCallStmt); n->func = (yyvsp[0].node); (yyval.node) = (PGNode *) n; } -#line 33158 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34234 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1616: /* ViewStmt: CREATE_P OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ + case 1678: /* ViewStmt: CREATE_P OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ #line 10 "third_party/libpg_query/grammar/statements/view.y" { PGViewStmt *n = makeNode(PGViewStmt); @@ -33170,10 +34246,10 @@ YYLTYPE yylloc = yyloc_default; n->withCheckOption = (yyvsp[0].viewcheckoption); (yyval.node) = (PGNode *) n; } -#line 33174 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34250 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1617: /* ViewStmt: CREATE_P OptTemp VIEW IF_P NOT EXISTS qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ + case 1679: /* ViewStmt: CREATE_P OptTemp VIEW IF_P NOT EXISTS qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ #line 23 "third_party/libpg_query/grammar/statements/view.y" { PGViewStmt *n = makeNode(PGViewStmt); @@ -33186,10 +34262,10 @@ YYLTYPE yylloc = yyloc_default; n->withCheckOption = (yyvsp[0].viewcheckoption); (yyval.node) = (PGNode *) n; } -#line 33190 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34266 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1618: /* ViewStmt: CREATE_P OR REPLACE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ + case 1680: /* ViewStmt: CREATE_P OR REPLACE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ #line 36 "third_party/libpg_query/grammar/statements/view.y" { PGViewStmt *n = makeNode(PGViewStmt); @@ -33202,10 +34278,10 @@ YYLTYPE yylloc = yyloc_default; n->withCheckOption = (yyvsp[0].viewcheckoption); (yyval.node) = (PGNode *) n; } -#line 33206 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34282 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1619: /* ViewStmt: CREATE_P OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */ + case 1681: /* ViewStmt: CREATE_P OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */ #line 49 "third_party/libpg_query/grammar/statements/view.y" { PGViewStmt *n = makeNode(PGViewStmt); @@ -33223,10 +34299,10 @@ YYLTYPE yylloc = yyloc_default; parser_errposition((yylsp[0])))); (yyval.node) = (PGNode *) n; } -#line 33227 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34303 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1620: /* ViewStmt: CREATE_P OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */ + case 1682: /* ViewStmt: CREATE_P OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */ #line 67 "third_party/libpg_query/grammar/statements/view.y" { PGViewStmt *n = makeNode(PGViewStmt); @@ -33244,34 +34320,34 @@ YYLTYPE yylloc = yyloc_default; parser_errposition((yylsp[0])))); (yyval.node) = (PGNode *) n; } -#line 33248 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34324 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1621: /* opt_check_option: WITH CHECK_P OPTION */ + case 1683: /* opt_check_option: WITH CHECK_P OPTION */ #line 87 "third_party/libpg_query/grammar/statements/view.y" { (yyval.viewcheckoption) = CASCADED_CHECK_OPTION; } -#line 33254 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34330 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1622: /* opt_check_option: WITH CASCADED CHECK_P OPTION */ + case 1684: /* opt_check_option: WITH CASCADED CHECK_P OPTION */ #line 88 "third_party/libpg_query/grammar/statements/view.y" { (yyval.viewcheckoption) = CASCADED_CHECK_OPTION; } -#line 33260 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34336 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1623: /* opt_check_option: WITH LOCAL CHECK_P OPTION */ + case 1685: /* opt_check_option: WITH LOCAL CHECK_P OPTION */ #line 89 "third_party/libpg_query/grammar/statements/view.y" { (yyval.viewcheckoption) = PG_LOCAL_CHECK_OPTION; } -#line 33266 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34342 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1624: /* opt_check_option: %empty */ + case 1686: /* opt_check_option: %empty */ #line 90 "third_party/libpg_query/grammar/statements/view.y" { (yyval.viewcheckoption) = PG_NO_CHECK_OPTION; } -#line 33272 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34348 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1625: /* CreateAsStmt: CREATE_P OptTemp TABLE create_as_target AS SelectStmt opt_with_data */ + case 1687: /* CreateAsStmt: CREATE_P OptTemp TABLE create_as_target AS SelectStmt opt_with_data */ #line 12 "third_party/libpg_query/grammar/statements/create_as.y" { PGCreateTableAsStmt *ctas = makeNode(PGCreateTableAsStmt); @@ -33285,10 +34361,10 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean)); (yyval.node) = (PGNode *) ctas; } -#line 33289 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34365 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1626: /* CreateAsStmt: CREATE_P OptTemp TABLE IF_P NOT EXISTS create_as_target AS SelectStmt opt_with_data */ + case 1688: /* CreateAsStmt: CREATE_P OptTemp TABLE IF_P NOT EXISTS create_as_target AS SelectStmt opt_with_data */ #line 25 "third_party/libpg_query/grammar/statements/create_as.y" { PGCreateTableAsStmt *ctas = makeNode(PGCreateTableAsStmt); @@ -33302,10 +34378,10 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean)); (yyval.node) = (PGNode *) ctas; } -#line 33306 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34382 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1627: /* CreateAsStmt: CREATE_P OR REPLACE OptTemp TABLE create_as_target AS SelectStmt opt_with_data */ + case 1689: /* CreateAsStmt: CREATE_P OR REPLACE OptTemp TABLE create_as_target AS SelectStmt opt_with_data */ #line 38 "third_party/libpg_query/grammar/statements/create_as.y" { PGCreateTableAsStmt *ctas = makeNode(PGCreateTableAsStmt); @@ -33319,28 +34395,28 @@ YYLTYPE yylloc = yyloc_default; (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean)); (yyval.node) = (PGNode *) ctas; } -#line 33323 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34399 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1628: /* opt_with_data: WITH DATA_P */ + case 1690: /* opt_with_data: WITH DATA_P */ #line 54 "third_party/libpg_query/grammar/statements/create_as.y" { (yyval.boolean) = true; } -#line 33329 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34405 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1629: /* opt_with_data: WITH NO DATA_P */ + case 1691: /* opt_with_data: WITH NO DATA_P */ #line 55 "third_party/libpg_query/grammar/statements/create_as.y" { (yyval.boolean) = false; } -#line 33335 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34411 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1630: /* opt_with_data: %empty */ + case 1692: /* opt_with_data: %empty */ #line 56 "third_party/libpg_query/grammar/statements/create_as.y" { (yyval.boolean) = true; } -#line 33341 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34417 "third_party/libpg_query/grammar/grammar_out.cpp" break; - case 1631: /* create_as_target: qualified_name opt_column_list OptWith OnCommitOption */ + case 1693: /* create_as_target: qualified_name opt_column_list OptWith OnCommitOption */ #line 62 "third_party/libpg_query/grammar/statements/create_as.y" { (yyval.into) = makeNode(PGIntoClause); @@ -33351,11 +34427,11 @@ YYLTYPE yylloc = yyloc_default; (yyval.into)->viewQuery = NULL; (yyval.into)->skipData = false; /* might get changed later */ } -#line 33355 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34431 "third_party/libpg_query/grammar/grammar_out.cpp" break; -#line 33359 "third_party/libpg_query/grammar/grammar_out.cpp" +#line 34435 "third_party/libpg_query/grammar/grammar_out.cpp" default: break; } @@ -33929,6 +35005,12 @@ insertSelectOptions(PGSelectStmt *stmt, PGWithClause *withClause, core_yyscan_t yyscanner) { + if (stmt->type != T_PGSelectStmt) { + ereport(ERROR, + (errcode(PG_ERRCODE_SYNTAX_ERROR), + errmsg("DESCRIBE/SHOW/SUMMARIZE with CTE/ORDER BY/... not allowed - wrap the statement in a subquery instead"), + parser_errposition(exprLocation((PGNode *) stmt)))); + } Assert(IsA(stmt, PGSelectStmt)); /* @@ -34005,8 +35087,7 @@ SystemFuncName(const char *name) PGTypeName * SystemTypeName(const char *name) { - return makeTypeNameFromNameList(list_make2(makeString(DEFAULT_SCHEMA), - makeString(name))); + return makeTypeNameFromNameList(list_make1(makeString(name))); } /* doNegate() diff --git a/third_party/libpg_query/src_backend_parser_scan.cpp b/third_party/libpg_query/src_backend_parser_scan.cpp index e9c913804569..3786374364f0 100644 --- a/third_party/libpg_query/src_backend_parser_scan.cpp +++ b/third_party/libpg_query/src_backend_parser_scan.cpp @@ -624,7 +624,7 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[297] = +static const flex_int16_t yy_accept[309] = { 0, 0, 0, 12, 12, 0, 0, 0, 0, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 55, 55, @@ -637,28 +637,29 @@ static const flex_int16_t yy_accept[297] = 26, 26, 27, 27, 35, 36, 35, 1, 73, 71, 43, 74, 44, 65, 1, 63, 61, 77, 2, 66, - 77, 76, 80, 60, 62, 68, 70, 67, 69, 75, - 82, 8, 20, 18, 59, 15, 12, 9, 9, 10, - 5, 7, 4, 3, 58, 57, 11, 16, 16, 17, - 32, 22, 22, 30, 23, 38, 39, 37, 37, 38, - 31, 46, 45, 47, 53, 53, 55, 24, 24, 25, - 26, 26, 28, 37, 37, 44, 1, 1, 64, 2, - 78, 77, 81, 79, 50, 21, 9, 14, 10, 9, - 3, 16, 13, 17, 16, 22, 41, 23, 22, 39, - 37, 37, 40, 47, 53, 55, 24, 25, 24, 26, - 28, 37, 37, 9, 9, 9, 9, 16, 16, 16, - - 16, 22, 22, 22, 22, 39, 37, 37, 40, 55, - 24, 24, 24, 24, 28, 37, 37, 9, 9, 9, - 9, 9, 16, 16, 16, 16, 16, 22, 22, 22, - 22, 22, 37, 37, 55, 24, 24, 24, 24, 24, - 28, 37, 37, 9, 16, 22, 37, 33, 55, 24, - 28, 37, 34, 37, 55, 28, 37, 37, 55, 55, - 55, 28, 28, 28, 37, 37, 55, 55, 28, 28, - 37, 56, 55, 55, 55, 55, 29, 28, 28, 28, - 28, 55, 55, 55, 55, 55, 28, 28, 28, 28, - 28, 55, 55, 28, 28, 0 - + 77, 76, 80, 0, 60, 62, 68, 70, 67, 69, + 75, 82, 8, 20, 18, 59, 15, 12, 9, 9, + 10, 5, 7, 4, 3, 58, 57, 11, 16, 16, + 17, 32, 22, 22, 30, 23, 38, 39, 37, 37, + 38, 31, 46, 45, 47, 53, 53, 55, 24, 24, + 25, 26, 26, 28, 37, 37, 74, 0, 44, 1, + 1, 64, 77, 0, 2, 78, 77, 81, 79, 76, + 75, 0, 50, 21, 9, 14, 10, 9, 3, 16, + 13, 17, 16, 22, 41, 23, 22, 39, 37, 37, + 40, 47, 53, 55, 24, 25, 24, 26, 28, 37, + + 37, 77, 0, 79, 0, 9, 9, 9, 9, 16, + 16, 16, 16, 22, 22, 22, 22, 39, 37, 37, + 40, 55, 24, 24, 24, 24, 28, 37, 37, 9, + 9, 9, 9, 9, 16, 16, 16, 16, 16, 22, + 22, 22, 22, 22, 37, 37, 55, 24, 24, 24, + 24, 24, 28, 37, 37, 9, 16, 22, 37, 33, + 55, 24, 28, 37, 34, 37, 55, 28, 37, 37, + 55, 55, 55, 28, 28, 28, 37, 37, 55, 55, + 28, 28, 37, 56, 55, 55, 55, 55, 29, 28, + 28, 28, 28, 55, 55, 55, 55, 55, 28, 28, + + 28, 28, 28, 55, 55, 28, 28, 0 } ; static const YY_CHAR yy_ec[256] = @@ -672,10 +673,10 @@ static const YY_CHAR yy_ec[256] = 21, 22, 23, 24, 25, 26, 27, 28, 29, 28, 30, 30, 30, 30, 30, 30, 30, 31, 30, 32, 30, 30, 33, 30, 34, 30, 30, 35, 30, 30, - 11, 36, 11, 8, 30, 24, 25, 26, 27, 28, + 11, 36, 11, 8, 37, 24, 25, 26, 27, 28, 29, 28, 30, 30, 30, 30, 30, 30, 30, 31, - 30, 32, 30, 30, 33, 30, 37, 30, 30, 38, + 30, 32, 30, 30, 33, 30, 38, 30, 30, 39, 30, 30, 1, 24, 1, 24, 1, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, @@ -693,384 +694,392 @@ static const YY_CHAR yy_ec[256] = 30, 30, 30, 30, 30 } ; -static const YY_CHAR yy_meta[39] = +static const YY_CHAR yy_meta[40] = { 0, 1, 1, 2, 2, 3, 4, 5, 3, 3, 6, 1, 7, 3, 3, 1, 7, 8, 8, 1, 3, 3, 3, 1, 3, 9, 9, 9, 9, 9, 10, - 10, 10, 10, 10, 10, 11, 10, 10 + 10, 10, 10, 10, 10, 11, 10, 10, 10 } ; -static const flex_int16_t yy_base[364] = +static const flex_int16_t yy_base[376] = { 0, - 0, 0, 415, 409, 34, 54, 412, 400, 395, 393, - 41, 50, 392, 380, 38, 54, 383, 378, 85, 121, - 373, 367, 157, 193, 37, 46, 376, 1215, 77, 81, - 343, 1215, 83, 0, 0, 1215, 1215, 351, 50, 76, - 53, 80, 83, 84, 339, 339, 90, 0, 338, 337, - 332, 332, 324, 0, 112, 0, 0, 80, 315, 0, - 315, 0, 125, 0, 0, 128, 103, 0, 142, 0, - 0, 312, 312, 1215, 108, 145, 297, 275, 160, 1215, - 163, 173, 283, 260, 1215, 1215, 84, 176, 0, 0, - 1215, 116, 278, 0, 226, 262, 1215, 155, 0, 0, - - 170, 175, 188, 1215, 1215, 0, 0, 0, 0, 133, - 0, 1215, 1215, 1215, 107, 1215, 0, 206, 209, 267, - 0, 141, 1215, 0, 0, 1215, 0, 212, 241, 266, - 0, 250, 255, 1215, 259, 1215, 254, 0, 0, 0, - 0, 0, 1215, 263, 179, 0, 230, 258, 264, 242, - 273, 0, 216, 0, 0, 234, 0, 274, 0, 0, - 1215, 200, 151, 204, 1215, 1215, 289, 1215, 223, 298, - 0, 303, 1215, 222, 306, 312, 1215, 219, 321, 215, - 0, 0, 0, 221, 0, 198, 326, 210, 329, 0, - 176, 0, 0, 335, 342, 348, 351, 355, 364, 368, - - 371, 377, 384, 390, 393, 1215, 0, 0, 1215, 175, - 397, 406, 410, 413, 173, 0, 0, 419, 426, 432, - 435, 441, 448, 454, 457, 461, 470, 474, 477, 483, - 492, 496, 0, 0, 157, 499, 505, 512, 521, 525, - 154, 0, 0, 528, 534, 541, 0, 1215, 125, 547, - 114, 0, 1215, 0, 550, 555, 0, 0, 564, 0, - 122, 569, 0, 89, 0, 0, 61, 578, 42, 583, - 0, 1215, 592, 597, 606, 611, 1215, 620, 625, 634, - 639, 648, 653, 662, 667, 676, 681, 690, 695, 704, - 709, 718, 0, 723, 0, 1215, 737, 748, 759, 770, - - 781, 792, 803, 814, 825, 836, 845, 848, 854, 864, - 875, 886, 897, 908, 918, 929, 940, 947, 953, 963, - 972, 977, 977, 979, 981, 986, 996, 1007, 1011, 1013, - 1022, 1033, 1044, 1048, 1050, 1052, 1061, 1065, 1067, 1076, - 1087, 1098, 1102, 1104, 1113, 1117, 1119, 1121, 1123, 1125, - 1127, 1129, 1131, 1133, 1135, 1137, 1146, 1157, 1161, 1170, - 1181, 1192, 1203 + 0, 0, 486, 484, 35, 55, 483, 475, 466, 465, + 42, 51, 458, 450, 39, 55, 449, 448, 86, 123, + 442, 437, 160, 197, 38, 47, 439, 1250, 78, 82, + 413, 1250, 84, 0, 0, 1250, 1250, 421, 51, 77, + 54, 81, 84, 85, 409, 405, 91, 0, 408, 403, + 402, 401, 395, 0, 109, 0, 0, 81, 385, 0, + 386, 0, 126, 0, 0, 129, 117, 0, 144, 0, + 0, 384, 370, 1250, 112, 163, 361, 338, 166, 1250, + 169, 175, 348, 326, 1250, 1250, 83, 179, 0, 0, + 1250, 167, 342, 0, 231, 325, 1250, 173, 0, 0, + + 178, 188, 195, 118, 1250, 1250, 0, 0, 0, 0, + 197, 0, 1250, 1250, 1250, 132, 1250, 0, 216, 219, + 332, 0, 129, 1250, 0, 0, 1250, 0, 224, 246, + 326, 0, 255, 260, 1250, 325, 1250, 297, 0, 0, + 0, 0, 0, 1250, 297, 184, 0, 269, 263, 269, + 284, 278, 0, 263, 0, 0, 224, 132, 287, 0, + 279, 0, 268, 135, 0, 1250, 289, 142, 272, 293, + 295, 258, 1250, 1250, 313, 1250, 264, 317, 0, 331, + 1250, 254, 334, 340, 1250, 240, 349, 229, 0, 0, + 0, 230, 0, 205, 354, 210, 357, 0, 189, 0, + + 0, 348, 307, 352, 311, 370, 376, 379, 384, 392, + 397, 400, 405, 413, 418, 421, 426, 1250, 0, 0, + 1250, 172, 434, 439, 442, 447, 167, 0, 0, 455, + 460, 463, 468, 476, 481, 484, 489, 498, 502, 505, + 511, 518, 527, 531, 0, 0, 157, 534, 540, 547, + 556, 560, 143, 0, 0, 563, 569, 576, 0, 1250, + 115, 582, 93, 0, 1250, 0, 585, 590, 0, 0, + 599, 0, 105, 604, 0, 90, 0, 0, 62, 613, + 43, 618, 0, 1250, 627, 632, 641, 646, 1250, 655, + 660, 669, 674, 683, 688, 697, 702, 711, 716, 725, + + 730, 739, 744, 753, 0, 758, 0, 1250, 772, 783, + 794, 805, 816, 827, 838, 849, 860, 871, 880, 883, + 889, 899, 910, 921, 932, 943, 953, 964, 975, 982, + 988, 998, 1007, 1012, 1012, 1014, 1016, 1021, 1031, 1042, + 1046, 1048, 1057, 1068, 1079, 1083, 1085, 1087, 1096, 1100, + 1102, 1111, 1122, 1133, 1137, 1139, 1148, 1152, 1154, 1156, + 1158, 1160, 1162, 1164, 1166, 1168, 1170, 1172, 1181, 1192, + 1196, 1205, 1216, 1227, 1238 } ; -static const flex_int16_t yy_def[364] = +static const flex_int16_t yy_def[376] = { 0, - 296, 1, 297, 297, 298, 298, 299, 299, 300, 300, - 301, 301, 302, 302, 303, 303, 299, 299, 304, 304, - 302, 302, 305, 305, 306, 306, 296, 296, 296, 296, - 307, 296, 308, 307, 307, 296, 296, 307, 307, 296, - 307, 296, 296, 307, 307, 307, 296, 309, 309, 309, - 309, 309, 309, 310, 296, 311, 311, 296, 296, 312, - 296, 313, 296, 314, 314, 296, 315, 316, 296, 317, - 317, 318, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 307, 307, - 296, 296, 319, 307, 320, 307, 296, 296, 321, 307, - - 296, 296, 296, 296, 296, 307, 307, 307, 307, 296, - 309, 296, 296, 296, 296, 296, 310, 296, 296, 296, - 311, 296, 296, 322, 312, 296, 313, 296, 296, 296, - 314, 296, 296, 296, 296, 296, 296, 323, 324, 325, - 316, 317, 296, 326, 296, 327, 296, 296, 296, 296, - 296, 328, 296, 329, 330, 319, 320, 320, 307, 321, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 331, - 322, 296, 296, 296, 332, 296, 296, 296, 333, 296, - 334, 335, 336, 326, 327, 296, 296, 296, 337, 328, - 296, 338, 339, 340, 331, 331, 331, 341, 332, 332, - - 332, 342, 333, 333, 333, 296, 343, 344, 296, 296, - 345, 337, 337, 337, 296, 346, 347, 340, 340, 296, - 340, 331, 341, 341, 296, 341, 332, 342, 342, 296, - 342, 333, 348, 349, 296, 345, 345, 296, 345, 337, - 296, 350, 351, 340, 341, 342, 352, 296, 296, 345, - 296, 353, 296, 354, 296, 296, 355, 356, 296, 357, - 296, 296, 358, 296, 359, 349, 296, 360, 296, 361, - 351, 296, 360, 360, 362, 360, 296, 361, 361, 363, - 361, 360, 360, 296, 360, 360, 361, 361, 296, 361, - 361, 362, 357, 363, 358, 0, 296, 296, 296, 296, - - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296 + 308, 1, 309, 309, 310, 310, 311, 311, 312, 312, + 313, 313, 314, 314, 315, 315, 311, 311, 316, 316, + 314, 314, 317, 317, 318, 318, 308, 308, 308, 308, + 319, 308, 320, 319, 319, 308, 308, 319, 319, 308, + 319, 308, 308, 319, 319, 319, 308, 321, 321, 321, + 321, 321, 321, 322, 308, 323, 323, 308, 308, 324, + 308, 325, 308, 326, 326, 308, 327, 328, 308, 329, + 329, 330, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 319, 319, + 308, 308, 331, 319, 332, 319, 308, 308, 333, 319, + + 308, 308, 308, 308, 308, 308, 319, 319, 319, 319, + 308, 321, 308, 308, 308, 308, 308, 322, 308, 308, + 308, 323, 308, 308, 334, 324, 308, 325, 308, 308, + 308, 326, 308, 308, 308, 308, 308, 308, 335, 336, + 337, 328, 329, 308, 338, 308, 339, 308, 308, 308, + 308, 308, 340, 308, 341, 342, 308, 308, 331, 332, + 332, 319, 308, 308, 333, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 343, 334, 308, + 308, 308, 344, 308, 308, 308, 345, 308, 346, 347, + 348, 338, 339, 308, 308, 308, 349, 340, 308, 350, + + 351, 308, 308, 308, 308, 352, 343, 343, 343, 353, + 344, 344, 344, 354, 345, 345, 345, 308, 355, 356, + 308, 308, 357, 349, 349, 349, 308, 358, 359, 352, + 352, 308, 352, 343, 353, 353, 308, 353, 344, 354, + 354, 308, 354, 345, 360, 361, 308, 357, 357, 308, + 357, 349, 308, 362, 363, 352, 353, 354, 364, 308, + 308, 357, 308, 365, 308, 366, 308, 308, 367, 368, + 308, 369, 308, 308, 370, 308, 371, 361, 308, 372, + 308, 373, 363, 308, 372, 372, 374, 372, 308, 373, + 373, 375, 373, 372, 372, 308, 372, 372, 373, 373, + + 308, 373, 373, 374, 369, 375, 370, 0, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308 } ; -static const flex_int16_t yy_nxt[1254] = +static const flex_int16_t yy_nxt[1290] = { 0, 28, 29, 30, 29, 31, 32, 33, 34, 35, 36, 37, 38, 34, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 35, 48, 49, 48, 48, 50, 48, - 51, 48, 48, 52, 53, 28, 52, 53, 57, 86, - 71, 57, 57, 65, 72, 58, 57, 57, 86, 59, - 66, 277, 65, 57, 57, 57, 71, 57, 57, 66, - 72, 57, 57, 95, 99, 58, 57, 57, 100, 59, - 272, 96, 87, 57, 57, 57, 67, 57, 88, 88, - 88, 87, 88, 88, 88, 67, 75, 76, 75, 91, - 97, 122, 98, 98, 101, 123, 102, 102, 77, 92, - - 92, 104, 270, 105, 106, 107, 110, 110, 103, 145, - 145, 145, 165, 118, 119, 119, 166, 154, 78, 137, - 155, 78, 75, 76, 75, 120, 128, 129, 129, 132, - 133, 133, 92, 92, 77, 268, 138, 134, 130, 139, - 140, 135, 256, 132, 133, 133, 145, 145, 145, 110, - 110, 134, 122, 255, 78, 135, 123, 78, 81, 82, - 81, 148, 149, 149, 151, 151, 151, 164, 164, 134, - 83, 98, 98, 150, 151, 151, 151, 88, 88, 88, - 145, 145, 145, 103, 161, 251, 162, 162, 249, 101, - 84, 102, 102, 84, 81, 82, 81, 241, 103, 235, - - 163, 163, 215, 103, 164, 164, 83, 118, 119, 119, - 167, 167, 167, 128, 129, 129, 162, 162, 168, 120, - 164, 164, 169, 211, 210, 130, 84, 143, 103, 84, - 158, 206, 202, 158, 158, 198, 194, 158, 158, 158, - 91, 158, 172, 172, 172, 158, 158, 158, 191, 158, - 173, 132, 133, 133, 174, 189, 176, 176, 176, 148, - 149, 149, 186, 135, 177, 187, 187, 187, 178, 143, - 180, 150, 179, 177, 151, 151, 151, 188, 158, 175, - 170, 158, 158, 159, 91, 158, 158, 158, 153, 158, - 167, 167, 167, 158, 158, 158, 152, 158, 168, 196, - - 119, 119, 169, 147, 172, 172, 172, 200, 129, 129, - 146, 197, 173, 176, 176, 176, 174, 126, 143, 201, - 126, 177, 204, 133, 133, 178, 124, 187, 187, 187, - 213, 149, 149, 116, 205, 177, 219, 220, 220, 188, - 115, 114, 214, 196, 119, 119, 113, 112, 221, 196, - 119, 119, 196, 119, 119, 197, 224, 225, 225, 109, - 108, 197, 94, 90, 222, 200, 129, 129, 226, 200, - 129, 129, 200, 129, 129, 296, 79, 201, 229, 230, - 230, 201, 79, 73, 227, 204, 133, 133, 73, 69, - 231, 204, 133, 133, 204, 133, 133, 205, 237, 238, - - 238, 69, 63, 205, 63, 61, 232, 213, 149, 149, - 239, 213, 149, 149, 213, 149, 149, 61, 55, 214, - 219, 220, 220, 214, 55, 296, 240, 219, 220, 220, - 296, 296, 221, 167, 167, 167, 219, 220, 220, 221, - 296, 168, 196, 119, 119, 169, 296, 296, 244, 224, - 225, 225, 296, 296, 222, 224, 225, 225, 172, 172, - 172, 226, 224, 225, 225, 296, 173, 226, 296, 296, - 174, 200, 129, 129, 245, 229, 230, 230, 229, 230, - 230, 296, 296, 227, 176, 176, 176, 231, 296, 296, - 231, 296, 177, 229, 230, 230, 178, 204, 133, 133, - - 237, 238, 238, 296, 296, 246, 237, 238, 238, 232, - 296, 296, 239, 187, 187, 187, 296, 296, 239, 296, - 296, 177, 237, 238, 238, 188, 213, 149, 149, 219, - 220, 220, 296, 296, 250, 224, 225, 225, 240, 296, - 296, 244, 229, 230, 230, 296, 296, 245, 237, 238, - 238, 259, 259, 259, 246, 296, 262, 262, 262, 260, - 250, 296, 296, 261, 263, 259, 259, 259, 264, 296, - 262, 262, 262, 260, 296, 296, 296, 261, 263, 274, - 259, 259, 264, 296, 279, 262, 262, 275, 296, 296, - 296, 276, 280, 274, 259, 259, 281, 296, 274, 259, - - 259, 275, 296, 296, 296, 276, 275, 283, 284, 284, - 276, 296, 274, 259, 259, 275, 296, 296, 296, 285, - 275, 279, 262, 262, 286, 296, 279, 262, 262, 280, - 296, 296, 296, 281, 280, 288, 289, 289, 281, 296, - 279, 262, 262, 280, 296, 296, 296, 290, 280, 274, - 259, 259, 291, 296, 274, 259, 259, 292, 296, 296, - 296, 276, 292, 259, 259, 259, 276, 296, 274, 259, - 259, 293, 296, 296, 296, 261, 292, 274, 259, 259, - 286, 296, 279, 262, 262, 275, 296, 296, 296, 286, - 294, 279, 262, 262, 281, 296, 262, 262, 262, 294, - - 296, 296, 296, 281, 295, 279, 262, 262, 264, 296, - 279, 262, 262, 294, 296, 296, 296, 291, 280, 283, - 284, 284, 291, 296, 288, 289, 289, 275, 296, 296, - 296, 285, 280, 296, 296, 296, 290, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 68, 68, 68, 68, 68, 68, 68, 68, - - 68, 68, 68, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 89, 296, 296, - 296, 89, 93, 296, 296, 93, 93, 93, 111, 296, - 296, 111, 111, 111, 117, 117, 117, 117, 117, 296, - 117, 117, 117, 117, 117, 121, 121, 121, 121, 121, - 121, 296, 121, 121, 121, 121, 125, 125, 125, 296, - 125, 125, 125, 125, 125, 125, 125, 127, 127, 127, - - 127, 127, 296, 127, 127, 127, 127, 127, 131, 131, - 131, 131, 131, 296, 131, 131, 131, 131, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 141, - 141, 141, 141, 141, 296, 141, 141, 141, 141, 141, - 142, 142, 142, 142, 296, 142, 142, 142, 142, 142, - 142, 144, 296, 296, 296, 144, 144, 156, 296, 296, - 156, 156, 156, 157, 296, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 160, 296, 296, 296, 160, 171, - 296, 296, 296, 171, 181, 181, 182, 182, 183, 183, - 184, 296, 296, 184, 184, 184, 185, 296, 185, 185, - - 185, 185, 185, 185, 185, 185, 185, 190, 296, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 192, 192, - 193, 193, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 207, 207, 208, 208, 209, - 209, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 216, 216, 217, 217, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 223, 223, 223, - 223, 223, 223, 223, 223, 223, 223, 223, 228, 228, - - 228, 228, 228, 228, 228, 228, 228, 228, 228, 233, - 233, 234, 234, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 242, 242, 243, 243, 247, 247, - 248, 248, 252, 252, 253, 253, 254, 254, 257, 257, - 258, 258, 265, 265, 266, 266, 267, 267, 267, 267, - 267, 296, 267, 267, 267, 267, 267, 269, 269, 269, - 269, 269, 296, 269, 269, 269, 269, 269, 271, 271, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 282, 282, 282, 282, 282, 282, 282, 282, - - 282, 282, 282, 287, 287, 287, 287, 287, 287, 287, - 287, 287, 287, 287, 27, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296 + 51, 48, 48, 52, 53, 28, 48, 52, 53, 57, + 86, 71, 57, 57, 65, 72, 58, 57, 57, 86, + 59, 66, 289, 65, 57, 57, 57, 71, 57, 57, + 66, 72, 57, 57, 95, 99, 58, 57, 57, 100, + 59, 284, 96, 87, 57, 57, 57, 67, 57, 88, + 88, 88, 87, 88, 88, 88, 67, 75, 76, 75, + 91, 97, 123, 98, 98, 101, 124, 102, 102, 77, + + 92, 92, 105, 282, 106, 107, 108, 111, 111, 103, + 119, 120, 120, 146, 146, 146, 155, 104, 280, 78, + 156, 268, 121, 78, 75, 76, 75, 129, 130, 130, + 133, 134, 134, 138, 170, 170, 77, 173, 135, 131, + 123, 174, 136, 267, 124, 133, 134, 134, 157, 157, + 139, 163, 163, 135, 140, 141, 78, 136, 169, 169, + 78, 81, 82, 81, 146, 146, 146, 149, 150, 150, + 152, 152, 152, 83, 263, 135, 152, 152, 152, 151, + 88, 88, 88, 157, 157, 146, 146, 146, 261, 163, + 163, 253, 166, 84, 167, 167, 247, 84, 81, 82, + + 81, 103, 101, 158, 102, 102, 103, 168, 168, 164, + 83, 169, 169, 171, 171, 227, 103, 119, 120, 120, + 175, 175, 175, 223, 104, 129, 130, 130, 176, 121, + 84, 222, 177, 172, 84, 161, 144, 131, 161, 161, + 157, 157, 161, 161, 161, 218, 161, 180, 180, 180, + 161, 161, 161, 214, 161, 181, 133, 134, 134, 182, + 158, 184, 184, 184, 149, 150, 150, 210, 136, 185, + 195, 195, 195, 186, 171, 171, 151, 206, 185, 152, + 152, 152, 196, 161, 163, 163, 161, 161, 204, 204, + 161, 161, 161, 91, 161, 199, 103, 197, 161, 161, + + 161, 194, 161, 144, 164, 202, 202, 101, 205, 102, + 102, 171, 171, 188, 175, 175, 175, 103, 208, 120, + 120, 103, 176, 202, 202, 203, 177, 204, 204, 104, + 209, 172, 180, 180, 180, 212, 130, 130, 187, 183, + 181, 184, 184, 184, 182, 178, 162, 213, 91, 185, + 216, 134, 134, 186, 154, 195, 195, 195, 225, 150, + 150, 153, 217, 185, 202, 202, 148, 196, 204, 204, + 226, 231, 232, 232, 147, 127, 103, 208, 120, 120, + 208, 120, 120, 233, 203, 208, 120, 120, 205, 209, + 144, 127, 209, 236, 237, 237, 125, 234, 212, 130, + + 130, 212, 130, 130, 117, 238, 212, 130, 130, 116, + 213, 115, 114, 213, 241, 242, 242, 113, 239, 216, + 134, 134, 216, 134, 134, 110, 243, 216, 134, 134, + 109, 217, 94, 90, 217, 249, 250, 250, 308, 244, + 225, 150, 150, 225, 150, 150, 79, 251, 225, 150, + 150, 79, 226, 73, 73, 226, 231, 232, 232, 69, + 252, 231, 232, 232, 175, 175, 175, 69, 233, 231, + 232, 232, 176, 233, 63, 63, 177, 208, 120, 120, + 61, 256, 236, 237, 237, 236, 237, 237, 61, 234, + 180, 180, 180, 55, 238, 55, 308, 238, 181, 236, + + 237, 237, 182, 212, 130, 130, 241, 242, 242, 308, + 308, 257, 241, 242, 242, 239, 308, 308, 243, 184, + 184, 184, 308, 308, 243, 308, 308, 185, 241, 242, + 242, 186, 216, 134, 134, 249, 250, 250, 308, 308, + 258, 249, 250, 250, 244, 308, 308, 251, 195, 195, + 195, 308, 308, 251, 308, 308, 185, 249, 250, 250, + 196, 225, 150, 150, 231, 232, 232, 308, 308, 262, + 236, 237, 237, 252, 308, 308, 256, 241, 242, 242, + 308, 308, 257, 249, 250, 250, 271, 271, 271, 258, + 308, 274, 274, 274, 272, 262, 308, 308, 273, 275, + + 271, 271, 271, 276, 308, 274, 274, 274, 272, 308, + 308, 308, 273, 275, 286, 271, 271, 276, 308, 291, + 274, 274, 287, 308, 308, 308, 288, 292, 286, 271, + 271, 293, 308, 286, 271, 271, 287, 308, 308, 308, + 288, 287, 295, 296, 296, 288, 308, 286, 271, 271, + 287, 308, 308, 308, 297, 287, 291, 274, 274, 298, + 308, 291, 274, 274, 292, 308, 308, 308, 293, 292, + 300, 301, 301, 293, 308, 291, 274, 274, 292, 308, + 308, 308, 302, 292, 286, 271, 271, 303, 308, 286, + 271, 271, 304, 308, 308, 308, 288, 304, 271, 271, + + 271, 288, 308, 286, 271, 271, 305, 308, 308, 308, + 273, 304, 286, 271, 271, 298, 308, 291, 274, 274, + 287, 308, 308, 308, 298, 306, 291, 274, 274, 293, + 308, 274, 274, 274, 306, 308, 308, 308, 293, 307, + 291, 274, 274, 276, 308, 291, 274, 274, 306, 308, + 308, 308, 303, 292, 295, 296, 296, 303, 308, 300, + 301, 301, 287, 308, 308, 308, 297, 292, 308, 308, + 308, 302, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 60, 60, 60, 60, 60, 60, + + 60, 60, 60, 60, 60, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, 70, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 89, 308, 308, 308, 89, 93, 308, 308, + 93, 93, 93, 112, 308, 308, 112, 112, 112, 118, + + 118, 118, 118, 118, 308, 118, 118, 118, 118, 118, + 122, 122, 122, 122, 122, 122, 308, 122, 122, 122, + 122, 126, 126, 126, 308, 126, 126, 126, 126, 126, + 126, 126, 128, 128, 128, 128, 128, 308, 128, 128, + 128, 128, 128, 132, 132, 132, 132, 132, 308, 132, + 132, 132, 132, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 142, 142, 142, 142, 142, 308, + 142, 142, 142, 142, 142, 143, 143, 143, 143, 308, + 143, 143, 143, 143, 143, 143, 145, 308, 308, 308, + 145, 145, 159, 308, 308, 159, 159, 159, 160, 308, + + 160, 160, 160, 160, 160, 160, 160, 160, 160, 165, + 308, 308, 308, 165, 179, 308, 308, 308, 179, 189, + 189, 190, 190, 191, 191, 192, 308, 308, 192, 192, + 192, 193, 308, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 198, 308, 198, 198, 198, 198, 198, 198, + 198, 198, 198, 200, 200, 201, 201, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 215, + 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, + 219, 219, 220, 220, 221, 221, 224, 224, 224, 224, + + 224, 224, 224, 224, 224, 224, 224, 228, 228, 229, + 229, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 235, 235, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 245, 245, 246, 246, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 254, + 254, 255, 255, 259, 259, 260, 260, 264, 264, 265, + 265, 266, 266, 269, 269, 270, 270, 277, 277, 278, + 278, 279, 279, 279, 279, 279, 308, 279, 279, 279, + 279, 279, 281, 281, 281, 281, 281, 308, 281, 281, + + 281, 281, 281, 283, 283, 285, 285, 285, 285, 285, + 285, 285, 285, 285, 285, 285, 290, 290, 290, 290, + 290, 290, 290, 290, 290, 290, 290, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 299, 299, + 299, 299, 299, 299, 299, 299, 299, 299, 299, 27, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308 } ; -static const flex_int16_t yy_chk[1254] = +static const flex_int16_t yy_chk[1290] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 5, 25, - 15, 5, 5, 11, 15, 5, 5, 5, 26, 5, - 11, 269, 12, 5, 5, 5, 16, 5, 6, 12, - 16, 6, 6, 39, 41, 6, 6, 6, 41, 6, - 267, 39, 25, 6, 6, 6, 11, 6, 29, 29, - 29, 26, 30, 30, 30, 12, 19, 19, 19, 33, - 40, 58, 40, 40, 42, 58, 42, 42, 19, 33, - - 33, 43, 264, 43, 44, 44, 47, 47, 42, 75, - 75, 75, 115, 55, 55, 55, 115, 87, 19, 67, - 87, 19, 20, 20, 20, 55, 63, 63, 63, 66, - 66, 66, 92, 92, 20, 261, 67, 66, 63, 67, - 67, 66, 251, 69, 69, 69, 76, 76, 76, 110, - 110, 69, 122, 249, 20, 69, 122, 20, 23, 23, - 23, 79, 79, 79, 81, 81, 81, 163, 163, 79, - 23, 98, 98, 79, 82, 82, 82, 88, 88, 88, - 145, 145, 145, 98, 101, 241, 101, 101, 235, 102, - 23, 102, 102, 23, 24, 24, 24, 215, 101, 210, - - 103, 103, 191, 102, 103, 103, 24, 118, 118, 118, - 119, 119, 119, 128, 128, 128, 162, 162, 119, 118, - 164, 164, 119, 188, 186, 128, 24, 184, 162, 24, - 95, 180, 178, 95, 95, 174, 169, 95, 95, 95, - 156, 95, 129, 129, 129, 95, 95, 95, 153, 95, - 129, 132, 132, 132, 129, 150, 133, 133, 133, 148, - 148, 148, 147, 132, 133, 149, 149, 149, 133, 144, - 137, 148, 135, 149, 151, 151, 151, 149, 158, 130, - 120, 158, 158, 96, 93, 158, 158, 158, 84, 158, - 167, 167, 167, 158, 158, 158, 83, 158, 167, 170, - - 170, 170, 167, 78, 172, 172, 172, 175, 175, 175, - 77, 170, 172, 176, 176, 176, 172, 73, 72, 175, - 61, 176, 179, 179, 179, 176, 59, 187, 187, 187, - 189, 189, 189, 53, 179, 187, 194, 194, 194, 187, - 52, 51, 189, 195, 195, 195, 50, 49, 194, 196, - 196, 196, 197, 197, 197, 195, 198, 198, 198, 46, - 45, 196, 38, 31, 197, 199, 199, 199, 198, 200, - 200, 200, 201, 201, 201, 27, 22, 199, 202, 202, - 202, 200, 21, 18, 201, 203, 203, 203, 17, 14, - 202, 204, 204, 204, 205, 205, 205, 203, 211, 211, - - 211, 13, 10, 204, 9, 8, 205, 212, 212, 212, - 211, 213, 213, 213, 214, 214, 214, 7, 4, 212, - 218, 218, 218, 213, 3, 0, 214, 219, 219, 219, - 0, 0, 218, 220, 220, 220, 221, 221, 221, 219, - 0, 220, 222, 222, 222, 220, 0, 0, 221, 223, - 223, 223, 0, 0, 222, 224, 224, 224, 225, 225, - 225, 223, 226, 226, 226, 0, 225, 224, 0, 0, - 225, 227, 227, 227, 226, 228, 228, 228, 229, 229, - 229, 0, 0, 227, 230, 230, 230, 228, 0, 0, - 229, 0, 230, 231, 231, 231, 230, 232, 232, 232, - - 236, 236, 236, 0, 0, 231, 237, 237, 237, 232, - 0, 0, 236, 238, 238, 238, 0, 0, 237, 0, - 0, 238, 239, 239, 239, 238, 240, 240, 240, 244, - 244, 244, 0, 0, 239, 245, 245, 245, 240, 0, - 0, 244, 246, 246, 246, 0, 0, 245, 250, 250, - 250, 255, 255, 255, 246, 0, 256, 256, 256, 255, - 250, 0, 0, 255, 256, 259, 259, 259, 256, 0, - 262, 262, 262, 259, 0, 0, 0, 259, 262, 268, - 268, 268, 262, 0, 270, 270, 270, 268, 0, 0, - 0, 268, 270, 273, 273, 273, 270, 0, 274, 274, - - 274, 273, 0, 0, 0, 273, 274, 275, 275, 275, - 274, 0, 276, 276, 276, 275, 0, 0, 0, 275, - 276, 278, 278, 278, 276, 0, 279, 279, 279, 278, - 0, 0, 0, 278, 279, 280, 280, 280, 279, 0, - 281, 281, 281, 280, 0, 0, 0, 280, 281, 282, - 282, 282, 281, 0, 283, 283, 283, 282, 0, 0, - 0, 282, 283, 284, 284, 284, 283, 0, 285, 285, - 285, 284, 0, 0, 0, 284, 285, 286, 286, 286, - 285, 0, 287, 287, 287, 286, 0, 0, 0, 286, - 287, 288, 288, 288, 287, 0, 289, 289, 289, 288, - - 0, 0, 0, 288, 289, 290, 290, 290, 289, 0, - 291, 291, 291, 290, 0, 0, 0, 290, 291, 292, - 292, 292, 291, 0, 294, 294, 294, 292, 0, 0, - 0, 292, 294, 0, 0, 0, 294, 297, 297, 297, - 297, 297, 297, 297, 297, 297, 297, 297, 298, 298, - 298, 298, 298, 298, 298, 298, 298, 298, 298, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, - 300, 301, 301, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 302, 302, 302, 302, 302, 302, 302, 302, - - 302, 302, 302, 303, 303, 303, 303, 303, 303, 303, - 303, 303, 303, 303, 304, 304, 304, 304, 304, 304, - 304, 304, 304, 304, 304, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 307, 0, 0, - 0, 307, 308, 0, 0, 308, 308, 308, 309, 0, - 0, 309, 309, 309, 310, 310, 310, 310, 310, 0, - 310, 310, 310, 310, 310, 311, 311, 311, 311, 311, - 311, 0, 311, 311, 311, 311, 312, 312, 312, 0, - 312, 312, 312, 312, 312, 312, 312, 313, 313, 313, - - 313, 313, 0, 313, 313, 313, 313, 313, 314, 314, - 314, 314, 314, 0, 314, 314, 314, 314, 315, 315, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, + 25, 15, 5, 5, 11, 15, 5, 5, 5, 26, + 5, 11, 281, 12, 5, 5, 5, 16, 5, 6, + 12, 16, 6, 6, 39, 41, 6, 6, 6, 41, + 6, 279, 39, 25, 6, 6, 6, 11, 6, 29, + 29, 29, 26, 30, 30, 30, 12, 19, 19, 19, + 33, 40, 58, 40, 40, 42, 58, 42, 42, 19, + + 33, 33, 43, 276, 43, 44, 44, 47, 47, 42, + 55, 55, 55, 75, 75, 75, 87, 42, 273, 19, + 87, 263, 55, 19, 20, 20, 20, 63, 63, 63, + 66, 66, 66, 67, 104, 104, 20, 116, 66, 63, + 123, 116, 66, 261, 123, 69, 69, 69, 158, 158, + 67, 164, 164, 69, 67, 67, 20, 69, 168, 168, + 20, 23, 23, 23, 76, 76, 76, 79, 79, 79, + 81, 81, 81, 23, 253, 79, 82, 82, 82, 79, + 88, 88, 88, 92, 92, 146, 146, 146, 247, 98, + 98, 227, 101, 23, 101, 101, 222, 23, 24, 24, + + 24, 98, 102, 92, 102, 102, 101, 103, 103, 98, + 24, 103, 103, 111, 111, 199, 102, 119, 119, 119, + 120, 120, 120, 196, 102, 129, 129, 129, 120, 119, + 24, 194, 120, 111, 24, 95, 192, 129, 95, 95, + 157, 157, 95, 95, 95, 188, 95, 130, 130, 130, + 95, 95, 95, 186, 95, 130, 133, 133, 133, 130, + 157, 134, 134, 134, 149, 149, 149, 182, 133, 134, + 150, 150, 150, 134, 172, 172, 149, 177, 150, 152, + 152, 152, 150, 161, 163, 163, 161, 161, 169, 169, + 161, 161, 161, 159, 161, 154, 163, 151, 161, 161, + + 161, 148, 161, 145, 163, 167, 167, 170, 169, 170, + 170, 171, 171, 138, 175, 175, 175, 167, 178, 178, + 178, 170, 175, 203, 203, 167, 175, 205, 205, 170, + 178, 171, 180, 180, 180, 183, 183, 183, 136, 131, + 180, 184, 184, 184, 180, 121, 96, 183, 93, 184, + 187, 187, 187, 184, 84, 195, 195, 195, 197, 197, + 197, 83, 187, 195, 202, 202, 78, 195, 204, 204, + 197, 206, 206, 206, 77, 73, 202, 207, 207, 207, + 208, 208, 208, 206, 202, 209, 209, 209, 204, 207, + 72, 61, 208, 210, 210, 210, 59, 209, 211, 211, + + 211, 212, 212, 212, 53, 210, 213, 213, 213, 52, + 211, 51, 50, 212, 214, 214, 214, 49, 213, 215, + 215, 215, 216, 216, 216, 46, 214, 217, 217, 217, + 45, 215, 38, 31, 216, 223, 223, 223, 27, 217, + 224, 224, 224, 225, 225, 225, 22, 223, 226, 226, + 226, 21, 224, 18, 17, 225, 230, 230, 230, 14, + 226, 231, 231, 231, 232, 232, 232, 13, 230, 233, + 233, 233, 232, 231, 10, 9, 232, 234, 234, 234, + 8, 233, 235, 235, 235, 236, 236, 236, 7, 234, + 237, 237, 237, 4, 235, 3, 0, 236, 237, 238, + + 238, 238, 237, 239, 239, 239, 240, 240, 240, 0, + 0, 238, 241, 241, 241, 239, 0, 0, 240, 242, + 242, 242, 0, 0, 241, 0, 0, 242, 243, 243, + 243, 242, 244, 244, 244, 248, 248, 248, 0, 0, + 243, 249, 249, 249, 244, 0, 0, 248, 250, 250, + 250, 0, 0, 249, 0, 0, 250, 251, 251, 251, + 250, 252, 252, 252, 256, 256, 256, 0, 0, 251, + 257, 257, 257, 252, 0, 0, 256, 258, 258, 258, + 0, 0, 257, 262, 262, 262, 267, 267, 267, 258, + 0, 268, 268, 268, 267, 262, 0, 0, 267, 268, + + 271, 271, 271, 268, 0, 274, 274, 274, 271, 0, + 0, 0, 271, 274, 280, 280, 280, 274, 0, 282, + 282, 282, 280, 0, 0, 0, 280, 282, 285, 285, + 285, 282, 0, 286, 286, 286, 285, 0, 0, 0, + 285, 286, 287, 287, 287, 286, 0, 288, 288, 288, + 287, 0, 0, 0, 287, 288, 290, 290, 290, 288, + 0, 291, 291, 291, 290, 0, 0, 0, 290, 291, + 292, 292, 292, 291, 0, 293, 293, 293, 292, 0, + 0, 0, 292, 293, 294, 294, 294, 293, 0, 295, + 295, 295, 294, 0, 0, 0, 294, 295, 296, 296, + + 296, 295, 0, 297, 297, 297, 296, 0, 0, 0, + 296, 297, 298, 298, 298, 297, 0, 299, 299, 299, + 298, 0, 0, 0, 298, 299, 300, 300, 300, 299, + 0, 301, 301, 301, 300, 0, 0, 0, 300, 301, + 302, 302, 302, 301, 0, 303, 303, 303, 302, 0, + 0, 0, 302, 303, 304, 304, 304, 303, 0, 306, + 306, 306, 304, 0, 0, 0, 304, 306, 0, 0, + 0, 306, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 309, 309, 310, 310, 310, 310, 310, 310, 310, + 310, 310, 310, 310, 311, 311, 311, 311, 311, 311, + + 311, 311, 311, 311, 311, 312, 312, 312, 312, 312, + 312, 312, 312, 312, 312, 312, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 316, - 316, 316, 316, 316, 0, 316, 316, 316, 316, 316, - 317, 317, 317, 317, 0, 317, 317, 317, 317, 317, - 317, 318, 0, 0, 0, 318, 318, 319, 0, 0, - 319, 319, 319, 320, 0, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 321, 0, 0, 0, 321, 322, - 0, 0, 0, 322, 323, 323, 324, 324, 325, 325, - 326, 0, 0, 326, 326, 326, 327, 0, 327, 327, - - 327, 327, 327, 327, 327, 327, 327, 328, 0, 328, - 328, 328, 328, 328, 328, 328, 328, 328, 329, 329, - 330, 330, 331, 331, 331, 331, 331, 331, 331, 331, - 331, 331, 331, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 333, 333, 333, 333, 333, 333, - 333, 333, 333, 333, 333, 334, 334, 335, 335, 336, - 336, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 338, 338, 339, 339, 340, 340, 340, 340, - 340, 340, 340, 340, 340, 340, 340, 341, 341, 341, - 341, 341, 341, 341, 341, 341, 341, 341, 342, 342, - - 342, 342, 342, 342, 342, 342, 342, 342, 342, 343, - 343, 344, 344, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 346, 346, 347, 347, 348, 348, - 349, 349, 350, 350, 351, 351, 352, 352, 353, 353, - 354, 354, 355, 355, 356, 356, 357, 357, 357, 357, - 357, 0, 357, 357, 357, 357, 357, 358, 358, 358, - 358, 358, 0, 358, 358, 358, 358, 358, 359, 359, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 361, 361, 361, 361, 361, 361, 361, 361, 361, - 361, 361, 362, 362, 362, 362, 362, 362, 362, 362, - - 362, 362, 362, 363, 363, 363, 363, 363, 363, 363, - 363, 363, 363, 363, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296 + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, + 317, 318, 318, 318, 318, 318, 318, 318, 318, 318, + 318, 318, 319, 0, 0, 0, 319, 320, 0, 0, + 320, 320, 320, 321, 0, 0, 321, 321, 321, 322, + + 322, 322, 322, 322, 0, 322, 322, 322, 322, 322, + 323, 323, 323, 323, 323, 323, 0, 323, 323, 323, + 323, 324, 324, 324, 0, 324, 324, 324, 324, 324, + 324, 324, 325, 325, 325, 325, 325, 0, 325, 325, + 325, 325, 325, 326, 326, 326, 326, 326, 0, 326, + 326, 326, 326, 327, 327, 327, 327, 327, 327, 327, + 327, 327, 327, 327, 328, 328, 328, 328, 328, 0, + 328, 328, 328, 328, 328, 329, 329, 329, 329, 0, + 329, 329, 329, 329, 329, 329, 330, 0, 0, 0, + 330, 330, 331, 0, 0, 331, 331, 331, 332, 0, + + 332, 332, 332, 332, 332, 332, 332, 332, 332, 333, + 0, 0, 0, 333, 334, 0, 0, 0, 334, 335, + 335, 336, 336, 337, 337, 338, 0, 0, 338, 338, + 338, 339, 0, 339, 339, 339, 339, 339, 339, 339, + 339, 339, 340, 0, 340, 340, 340, 340, 340, 340, + 340, 340, 340, 341, 341, 342, 342, 343, 343, 343, + 343, 343, 343, 343, 343, 343, 343, 343, 344, 344, + 344, 344, 344, 344, 344, 344, 344, 344, 344, 345, + 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 347, 347, 348, 348, 349, 349, 349, 349, + + 349, 349, 349, 349, 349, 349, 349, 350, 350, 351, + 351, 352, 352, 352, 352, 352, 352, 352, 352, 352, + 352, 352, 353, 353, 353, 353, 353, 353, 353, 353, + 353, 353, 353, 354, 354, 354, 354, 354, 354, 354, + 354, 354, 354, 354, 355, 355, 356, 356, 357, 357, + 357, 357, 357, 357, 357, 357, 357, 357, 357, 358, + 358, 359, 359, 360, 360, 361, 361, 362, 362, 363, + 363, 364, 364, 365, 365, 366, 366, 367, 367, 368, + 368, 369, 369, 369, 369, 369, 0, 369, 369, 369, + 369, 369, 370, 370, 370, 370, 370, 0, 370, 370, + + 370, 370, 370, 371, 371, 372, 372, 372, 372, 372, + 372, 372, 372, 372, 372, 372, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 374, 374, 374, + 374, 374, 374, 374, 374, 374, 374, 374, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308 } ; /* The intent behind this definition is that it'll catch @@ -1151,7 +1160,7 @@ static void check_escape_warning(core_yyscan_t yyscanner); extern int core_yyget_column(yyscan_t yyscanner); extern void core_yyset_column(int column_no, yyscan_t yyscanner); -#line 1153 "third_party/libpg_query/src_backend_parser_scan.cpp" +#line 1162 "third_party/libpg_query/src_backend_parser_scan.cpp" #define YY_NO_INPUT 1 /* * OK, here is a short description of lex/flex rules behavior. @@ -1305,7 +1314,7 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner); * Note that xcstart must appear before operator, as explained above! * Also whitespace (comment) must appear before operator. */ -#line 1307 "third_party/libpg_query/src_backend_parser_scan.cpp" +#line 1316 "third_party/libpg_query/src_backend_parser_scan.cpp" #define INITIAL 0 #define xb 1 @@ -1587,7 +1596,7 @@ YY_DECL #line 404 "third_party/libpg_query/scan.l" -#line 1596 "third_party/libpg_query/src_backend_parser_scan.cpp" +#line 1605 "third_party/libpg_query/src_backend_parser_scan.cpp" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1614,13 +1623,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 297 ) + if ( yy_current_state >= 309 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 296 ); + while ( yy_current_state != 308 ); yy_cp = yyg->yy_last_accepting_cpos; yy_current_state = yyg->yy_last_accepting_state; @@ -2658,7 +2667,7 @@ YY_RULE_SETUP #line 1089 "third_party/libpg_query/scan.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 2667 "third_party/libpg_query/src_backend_parser_scan.cpp" +#line 2676 "third_party/libpg_query/src_backend_parser_scan.cpp" case YY_END_OF_BUFFER: { @@ -2956,7 +2965,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 297 ) + if ( yy_current_state >= 309 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -2985,11 +2994,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 297 ) + if ( yy_current_state >= 309 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 296); + yy_is_jam = (yy_current_state == 308); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -3983,6 +3992,28 @@ litbufdup(core_yyscan_t yyscanner) static int process_integer_literal(const char *token, YYSTYPE *lval) { + int underscores = 0; + int len = 0; + for(char* cursor = (char*)token; *cursor != '\0'; cursor++) + { + len++; + if(*cursor == '_') + underscores++; + } + + if(underscores != 0) + { + char* new_token = (char*)palloc(len - underscores + 1); + char* cursor = new_token; + for(char* old_cursor = (char*)token; *old_cursor != '\0'; old_cursor++) + { + if(*old_cursor != '_') + *cursor++ = *old_cursor; + } + *cursor = '\0'; + token = new_token; + } + long val; char *endptr; diff --git a/third_party/mbedtls/CMakeLists.txt b/third_party/mbedtls/CMakeLists.txt index 78eea4ae09eb..de93ef3f5460 100644 --- a/third_party/mbedtls/CMakeLists.txt +++ b/third_party/mbedtls/CMakeLists.txt @@ -6,11 +6,35 @@ include_directories(include) set(CMAKE_CXX_VISIBILITY_PRESET hidden) -add_library(duckdb_mbedtls STATIC mbedtls_wrapper.cpp library/sha256.cpp library/rsa.cpp library/rsa_alt_helpers.cpp library/md.cpp library/bignum.cpp library/oid.cpp library/constant_time.cpp library/platform_util.cpp library/base64.cpp library/pkparse.cpp library/pk.cpp library/pk_wrap.cpp library/asn1parse.cpp library/pem.cpp) +add_library(duckdb_mbedtls STATIC + mbedtls_wrapper.cpp + library/aes.cpp + library/aria.cpp + library/asn1parse.cpp + library/base64.cpp + library/bignum.cpp + library/camellia.cpp + library/cipher.cpp + library/cipher_wrap.cpp + library/constant_time.cpp + library/entropy.cpp + library/entropy_poll.cpp + library/gcm.cpp + library/md.cpp + library/oid.cpp + library/pem.cpp + library/pk.cpp + library/pk_wrap.cpp + library/pkparse.cpp + library/platform_util.cpp + library/rsa.cpp + library/rsa_alt_helpers.cpp + library/sha1.cpp + library/sha256.cpp + library/sha512.cpp) set_property(TARGET duckdb_mbedtls PROPERTY C_STANDARD 99) - install(TARGETS duckdb_mbedtls EXPORT "${DUCKDB_EXPORT_SET}" LIBRARY DESTINATION "${INSTALL_LIB_DIR}" diff --git a/third_party/mbedtls/include/mbedtls/aes.h b/third_party/mbedtls/include/mbedtls/aes.h index bfed62c256fa..63d7edb48872 100644 --- a/third_party/mbedtls/include/mbedtls/aes.h +++ b/third_party/mbedtls/include/mbedtls/aes.h @@ -1 +1,640 @@ -// dummy file to make amalgamantion happy \ No newline at end of file +/** +* \file aes.h +* +* \brief This file contains AES definitions and functions. +* +* The Advanced Encryption Standard (AES) specifies a FIPS-approved +* cryptographic algorithm that can be used to protect electronic +* data. +* +* The AES algorithm is a symmetric block cipher that can +* encrypt and decrypt information. For more information, see +* FIPS Publication 197: Advanced Encryption Standard and +* ISO/IEC 18033-2:2006: Information technology -- Security +* techniques -- Encryption algorithms -- Part 2: Asymmetric +* ciphers. +* +* The AES-XTS block mode is standardized by NIST SP 800-38E +* +* and described in detail by IEEE P1619 +* . +*/ + +/* +* Copyright The Mbed TLS Contributors +* SPDX-License-Identifier: Apache-2.0 +* +* Licensed under the Apache License, Version 2.0 (the "License"); you may +* not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#ifndef MBEDTLS_AES_H +#define MBEDTLS_AES_H +#include "mbedtls/private_access.h" + +#include "mbedtls/build_info.h" +#include "mbedtls/platform_util.h" + +#include +#include + +/* padlock.c and aesni.c rely on these values! */ +#define MBEDTLS_AES_ENCRYPT 1 /**< AES encryption. */ +#define MBEDTLS_AES_DECRYPT 0 /**< AES decryption. */ + +/* Error codes in range 0x0020-0x0022 */ +/** Invalid key length. */ +#define MBEDTLS_ERR_AES_INVALID_KEY_LENGTH -0x0020 +/** Invalid data input length. */ +#define MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH -0x0022 + +/* Error codes in range 0x0021-0x0025 */ +/** Invalid input data. */ +#define MBEDTLS_ERR_AES_BAD_INPUT_DATA -0x0021 + +#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ + !defined(inline) && !defined(__cplusplus) +#define inline __inline +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(MBEDTLS_AES_ALT) +// Regular implementation +// + +/** +* \brief The AES context-type definition. +*/ +typedef struct mbedtls_aes_context +{ + int MBEDTLS_PRIVATE(nr); /*!< The number of rounds. */ + uint32_t *MBEDTLS_PRIVATE(rk); /*!< AES round keys. */ + uint32_t MBEDTLS_PRIVATE(buf)[68]; /*!< Unaligned data buffer. This buffer can + hold 32 extra Bytes, which can be used for + one of the following purposes: +
  • Alignment if VIA padlock is + used.
  • +
  • Simplifying key expansion in the 256-bit + case by generating an extra round key. +
*/ +} +mbedtls_aes_context; + +#if defined(MBEDTLS_CIPHER_MODE_XTS) +/** +* \brief The AES XTS context-type definition. +*/ +typedef struct mbedtls_aes_xts_context +{ + mbedtls_aes_context MBEDTLS_PRIVATE(crypt); /*!< The AES context to use for AES block + encryption or decryption. */ + mbedtls_aes_context MBEDTLS_PRIVATE(tweak); /*!< The AES context used for tweak + computation. */ +} mbedtls_aes_xts_context; +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + +#else /* MBEDTLS_AES_ALT */ +#include "mbedtls/aes_alt.h" +#endif /* MBEDTLS_AES_ALT */ + +/** +* \brief This function initializes the specified AES context. +* +* It must be the first API called before using +* the context. +* +* \param ctx The AES context to initialize. This must not be \c NULL. +*/ +void mbedtls_aes_init( mbedtls_aes_context *ctx ); + +/** +* \brief This function releases and clears the specified AES context. +* +* \param ctx The AES context to clear. +* If this is \c NULL, this function does nothing. +* Otherwise, the context must have been at least initialized. +*/ +void mbedtls_aes_free( mbedtls_aes_context *ctx ); + +#if defined(MBEDTLS_CIPHER_MODE_XTS) +/** +* \brief This function initializes the specified AES XTS context. +* +* It must be the first API called before using +* the context. +* +* \param ctx The AES XTS context to initialize. This must not be \c NULL. +*/ +void mbedtls_aes_xts_init( mbedtls_aes_xts_context *ctx ); + +/** +* \brief This function releases and clears the specified AES XTS context. +* +* \param ctx The AES XTS context to clear. +* If this is \c NULL, this function does nothing. +* Otherwise, the context must have been at least initialized. +*/ +void mbedtls_aes_xts_free( mbedtls_aes_xts_context *ctx ); +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + +/** +* \brief This function sets the encryption key. +* +* \param ctx The AES context to which the key should be bound. +* It must be initialized. +* \param key The encryption key. +* This must be a readable buffer of size \p keybits bits. +* \param keybits The size of data passed in bits. Valid options are: +*
  • 128 bits
  • +*
  • 192 bits
  • +*
  • 256 bits
+* +* \return \c 0 on success. +* \return #MBEDTLS_ERR_AES_INVALID_KEY_LENGTH on failure. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_aes_setkey_enc( mbedtls_aes_context *ctx, const unsigned char *key, + unsigned int keybits ); + +/** +* \brief This function sets the decryption key. +* +* \param ctx The AES context to which the key should be bound. +* It must be initialized. +* \param key The decryption key. +* This must be a readable buffer of size \p keybits bits. +* \param keybits The size of data passed. Valid options are: +*
  • 128 bits
  • +*
  • 192 bits
  • +*
  • 256 bits
+* +* \return \c 0 on success. +* \return #MBEDTLS_ERR_AES_INVALID_KEY_LENGTH on failure. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_aes_setkey_dec( mbedtls_aes_context *ctx, const unsigned char *key, + unsigned int keybits ); + +#if defined(MBEDTLS_CIPHER_MODE_XTS) +/** +* \brief This function prepares an XTS context for encryption and +* sets the encryption key. +* +* \param ctx The AES XTS context to which the key should be bound. +* It must be initialized. +* \param key The encryption key. This is comprised of the XTS key1 +* concatenated with the XTS key2. +* This must be a readable buffer of size \p keybits bits. +* \param keybits The size of \p key passed in bits. Valid options are: +*
  • 256 bits (each of key1 and key2 is a 128-bit key)
  • +*
  • 512 bits (each of key1 and key2 is a 256-bit key)
+* +* \return \c 0 on success. +* \return #MBEDTLS_ERR_AES_INVALID_KEY_LENGTH on failure. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_aes_xts_setkey_enc( mbedtls_aes_xts_context *ctx, + const unsigned char *key, + unsigned int keybits ); + +/** +* \brief This function prepares an XTS context for decryption and +* sets the decryption key. +* +* \param ctx The AES XTS context to which the key should be bound. +* It must be initialized. +* \param key The decryption key. This is comprised of the XTS key1 +* concatenated with the XTS key2. +* This must be a readable buffer of size \p keybits bits. +* \param keybits The size of \p key passed in bits. Valid options are: +*
  • 256 bits (each of key1 and key2 is a 128-bit key)
  • +*
  • 512 bits (each of key1 and key2 is a 256-bit key)
+* +* \return \c 0 on success. +* \return #MBEDTLS_ERR_AES_INVALID_KEY_LENGTH on failure. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_aes_xts_setkey_dec( mbedtls_aes_xts_context *ctx, + const unsigned char *key, + unsigned int keybits ); +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + +/** +* \brief This function performs an AES single-block encryption or +* decryption operation. +* +* It performs the operation defined in the \p mode parameter +* (encrypt or decrypt), on the input data buffer defined in +* the \p input parameter. +* +* mbedtls_aes_init(), and either mbedtls_aes_setkey_enc() or +* mbedtls_aes_setkey_dec() must be called before the first +* call to this API with the same context. +* +* \param ctx The AES context to use for encryption or decryption. +* It must be initialized and bound to a key. +* \param mode The AES operation: #MBEDTLS_AES_ENCRYPT or +* #MBEDTLS_AES_DECRYPT. +* \param input The buffer holding the input data. +* It must be readable and at least \c 16 Bytes long. +* \param output The buffer where the output data will be written. +* It must be writeable and at least \c 16 Bytes long. + +* \return \c 0 on success. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_aes_crypt_ecb( mbedtls_aes_context *ctx, + int mode, + const unsigned char input[16], + unsigned char output[16] ); + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +/** +* \brief This function performs an AES-CBC encryption or decryption operation +* on full blocks. +* +* It performs the operation defined in the \p mode +* parameter (encrypt/decrypt), on the input data buffer defined in +* the \p input parameter. +* +* It can be called as many times as needed, until all the input +* data is processed. mbedtls_aes_init(), and either +* mbedtls_aes_setkey_enc() or mbedtls_aes_setkey_dec() must be called +* before the first call to this API with the same context. +* +* \note This function operates on full blocks, that is, the input size +* must be a multiple of the AES block size of \c 16 Bytes. +* +* \note Upon exit, the content of the IV is updated so that you can +* call the same function again on the next +* block(s) of data and get the same result as if it was +* encrypted in one call. This allows a "streaming" usage. +* If you need to retain the contents of the IV, you should +* either save it manually or use the cipher module instead. +* +* +* \param ctx The AES context to use for encryption or decryption. +* It must be initialized and bound to a key. +* \param mode The AES operation: #MBEDTLS_AES_ENCRYPT or +* #MBEDTLS_AES_DECRYPT. +* \param length The length of the input data in Bytes. This must be a +* multiple of the block size (\c 16 Bytes). +* \param iv Initialization vector (updated after use). +* It must be a readable and writeable buffer of \c 16 Bytes. +* \param input The buffer holding the input data. +* It must be readable and of size \p length Bytes. +* \param output The buffer holding the output data. +* It must be writeable and of size \p length Bytes. +* +* \return \c 0 on success. +* \return #MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH +* on failure. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_aes_crypt_cbc( mbedtls_aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_XTS) +/** +* \brief This function performs an AES-XTS encryption or decryption +* operation for an entire XTS data unit. +* +* AES-XTS encrypts or decrypts blocks based on their location as +* defined by a data unit number. The data unit number must be +* provided by \p data_unit. +* +* NIST SP 800-38E limits the maximum size of a data unit to 2^20 +* AES blocks. If the data unit is larger than this, this function +* returns #MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH. +* +* \param ctx The AES XTS context to use for AES XTS operations. +* It must be initialized and bound to a key. +* \param mode The AES operation: #MBEDTLS_AES_ENCRYPT or +* #MBEDTLS_AES_DECRYPT. +* \param length The length of a data unit in Bytes. This can be any +* length between 16 bytes and 2^24 bytes inclusive +* (between 1 and 2^20 block cipher blocks). +* \param data_unit The address of the data unit encoded as an array of 16 +* bytes in little-endian format. For disk encryption, this +* is typically the index of the block device sector that +* contains the data. +* \param input The buffer holding the input data (which is an entire +* data unit). This function reads \p length Bytes from \p +* input. +* \param output The buffer holding the output data (which is an entire +* data unit). This function writes \p length Bytes to \p +* output. +* +* \return \c 0 on success. +* \return #MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH if \p length is +* smaller than an AES block in size (16 Bytes) or if \p +* length is larger than 2^20 blocks (16 MiB). +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_aes_crypt_xts( mbedtls_aes_xts_context *ctx, + int mode, + size_t length, + const unsigned char data_unit[16], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +/** +* \brief This function performs an AES-CFB128 encryption or decryption +* operation. +* +* It performs the operation defined in the \p mode +* parameter (encrypt or decrypt), on the input data buffer +* defined in the \p input parameter. +* +* For CFB, you must set up the context with mbedtls_aes_setkey_enc(), +* regardless of whether you are performing an encryption or decryption +* operation, that is, regardless of the \p mode parameter. This is +* because CFB mode uses the same key schedule for encryption and +* decryption. +* +* \note Upon exit, the content of the IV is updated so that you can +* call the same function again on the next +* block(s) of data and get the same result as if it was +* encrypted in one call. This allows a "streaming" usage. +* If you need to retain the contents of the +* IV, you must either save it manually or use the cipher +* module instead. +* +* +* \param ctx The AES context to use for encryption or decryption. +* It must be initialized and bound to a key. +* \param mode The AES operation: #MBEDTLS_AES_ENCRYPT or +* #MBEDTLS_AES_DECRYPT. +* \param length The length of the input data in Bytes. +* \param iv_off The offset in IV (updated after use). +* It must point to a valid \c size_t. +* \param iv The initialization vector (updated after use). +* It must be a readable and writeable buffer of \c 16 Bytes. +* \param input The buffer holding the input data. +* It must be readable and of size \p length Bytes. +* \param output The buffer holding the output data. +* It must be writeable and of size \p length Bytes. +* +* \return \c 0 on success. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_aes_crypt_cfb128( mbedtls_aes_context *ctx, + int mode, + size_t length, + size_t *iv_off, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); + +/** +* \brief This function performs an AES-CFB8 encryption or decryption +* operation. +* +* It performs the operation defined in the \p mode +* parameter (encrypt/decrypt), on the input data buffer defined +* in the \p input parameter. +* +* Due to the nature of CFB, you must use the same key schedule for +* both encryption and decryption operations. Therefore, you must +* use the context initialized with mbedtls_aes_setkey_enc() for +* both #MBEDTLS_AES_ENCRYPT and #MBEDTLS_AES_DECRYPT. +* +* \note Upon exit, the content of the IV is updated so that you can +* call the same function again on the next +* block(s) of data and get the same result as if it was +* encrypted in one call. This allows a "streaming" usage. +* If you need to retain the contents of the +* IV, you should either save it manually or use the cipher +* module instead. +* +* +* \param ctx The AES context to use for encryption or decryption. +* It must be initialized and bound to a key. +* \param mode The AES operation: #MBEDTLS_AES_ENCRYPT or +* #MBEDTLS_AES_DECRYPT +* \param length The length of the input data. +* \param iv The initialization vector (updated after use). +* It must be a readable and writeable buffer of \c 16 Bytes. +* \param input The buffer holding the input data. +* It must be readable and of size \p length Bytes. +* \param output The buffer holding the output data. +* It must be writeable and of size \p length Bytes. +* +* \return \c 0 on success. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_aes_crypt_cfb8( mbedtls_aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); +#endif /*MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_OFB) +/** +* \brief This function performs an AES-OFB (Output Feedback Mode) +* encryption or decryption operation. +* +* For OFB, you must set up the context with +* mbedtls_aes_setkey_enc(), regardless of whether you are +* performing an encryption or decryption operation. This is +* because OFB mode uses the same key schedule for encryption and +* decryption. +* +* The OFB operation is identical for encryption or decryption, +* therefore no operation mode needs to be specified. +* +* \note Upon exit, the content of iv, the Initialisation Vector, is +* updated so that you can call the same function again on the next +* block(s) of data and get the same result as if it was encrypted +* in one call. This allows a "streaming" usage, by initialising +* iv_off to 0 before the first call, and preserving its value +* between calls. +* +* For non-streaming use, the iv should be initialised on each call +* to a unique value, and iv_off set to 0 on each call. +* +* If you need to retain the contents of the initialisation vector, +* you must either save it manually or use the cipher module +* instead. +* +* \warning For the OFB mode, the initialisation vector must be unique +* every encryption operation. Reuse of an initialisation vector +* will compromise security. +* +* \param ctx The AES context to use for encryption or decryption. +* It must be initialized and bound to a key. +* \param length The length of the input data. +* \param iv_off The offset in IV (updated after use). +* It must point to a valid \c size_t. +* \param iv The initialization vector (updated after use). +* It must be a readable and writeable buffer of \c 16 Bytes. +* \param input The buffer holding the input data. +* It must be readable and of size \p length Bytes. +* \param output The buffer holding the output data. +* It must be writeable and of size \p length Bytes. +* +* \return \c 0 on success. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_aes_crypt_ofb( mbedtls_aes_context *ctx, + size_t length, + size_t *iv_off, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); + +#endif /* MBEDTLS_CIPHER_MODE_OFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +/** +* \brief This function performs an AES-CTR encryption or decryption +* operation. +* +* Due to the nature of CTR, you must use the same key schedule +* for both encryption and decryption operations. Therefore, you +* must use the context initialized with mbedtls_aes_setkey_enc() +* for both #MBEDTLS_AES_ENCRYPT and #MBEDTLS_AES_DECRYPT. +* +* \warning You must never reuse a nonce value with the same key. Doing so +* would void the encryption for the two messages encrypted with +* the same nonce and key. +* +* There are two common strategies for managing nonces with CTR: +* +* 1. You can handle everything as a single message processed over +* successive calls to this function. In that case, you want to +* set \p nonce_counter and \p nc_off to 0 for the first call, and +* then preserve the values of \p nonce_counter, \p nc_off and \p +* stream_block across calls to this function as they will be +* updated by this function. +* +* With this strategy, you must not encrypt more than 2**128 +* blocks of data with the same key. +* +* 2. You can encrypt separate messages by dividing the \p +* nonce_counter buffer in two areas: the first one used for a +* per-message nonce, handled by yourself, and the second one +* updated by this function internally. +* +* For example, you might reserve the first 12 bytes for the +* per-message nonce, and the last 4 bytes for internal use. In that +* case, before calling this function on a new message you need to +* set the first 12 bytes of \p nonce_counter to your chosen nonce +* value, the last 4 to 0, and \p nc_off to 0 (which will cause \p +* stream_block to be ignored). That way, you can encrypt at most +* 2**96 messages of up to 2**32 blocks each with the same key. +* +* The per-message nonce (or information sufficient to reconstruct +* it) needs to be communicated with the ciphertext and must be unique. +* The recommended way to ensure uniqueness is to use a message +* counter. An alternative is to generate random nonces, but this +* limits the number of messages that can be securely encrypted: +* for example, with 96-bit random nonces, you should not encrypt +* more than 2**32 messages with the same key. +* +* Note that for both stategies, sizes are measured in blocks and +* that an AES block is 16 bytes. +* +* \warning Upon return, \p stream_block contains sensitive data. Its +* content must not be written to insecure storage and should be +* securely discarded as soon as it's no longer needed. +* +* \param ctx The AES context to use for encryption or decryption. +* It must be initialized and bound to a key. +* \param length The length of the input data. +* \param nc_off The offset in the current \p stream_block, for +* resuming within the current cipher stream. The +* offset pointer should be 0 at the start of a stream. +* It must point to a valid \c size_t. +* \param nonce_counter The 128-bit nonce and counter. +* It must be a readable-writeable buffer of \c 16 Bytes. +* \param stream_block The saved stream block for resuming. This is +* overwritten by the function. +* It must be a readable-writeable buffer of \c 16 Bytes. +* \param input The buffer holding the input data. +* It must be readable and of size \p length Bytes. +* \param output The buffer holding the output data. +* It must be writeable and of size \p length Bytes. +* +* \return \c 0 on success. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_aes_crypt_ctr( mbedtls_aes_context *ctx, + size_t length, + size_t *nc_off, + unsigned char nonce_counter[16], + unsigned char stream_block[16], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +/** +* \brief Internal AES block encryption function. This is only +* exposed to allow overriding it using +* \c MBEDTLS_AES_ENCRYPT_ALT. +* +* \param ctx The AES context to use for encryption. +* \param input The plaintext block. +* \param output The output (ciphertext) block. +* +* \return \c 0 on success. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_internal_aes_encrypt( mbedtls_aes_context *ctx, + const unsigned char input[16], + unsigned char output[16] ); + +/** +* \brief Internal AES block decryption function. This is only +* exposed to allow overriding it using see +* \c MBEDTLS_AES_DECRYPT_ALT. +* +* \param ctx The AES context to use for decryption. +* \param input The ciphertext block. +* \param output The output (plaintext) block. +* +* \return \c 0 on success. +*/ +MBEDTLS_CHECK_RETURN_TYPICAL +int mbedtls_internal_aes_decrypt( mbedtls_aes_context *ctx, + const unsigned char input[16], + unsigned char output[16] ); + +#if defined(MBEDTLS_SELF_TEST) +/** +* \brief Checkup routine. +* +* \return \c 0 on success. +* \return \c 1 on failure. +*/ +MBEDTLS_CHECK_RETURN_CRITICAL +int mbedtls_aes_self_test( int verbose ); + +#endif /* MBEDTLS_SELF_TEST */ + +#ifdef __cplusplus +} +#endif + +#endif /* aes.h */ diff --git a/third_party/mbedtls/include/mbedtls/aes_alt.h b/third_party/mbedtls/include/mbedtls/aes_alt.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/aes_alt.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/include/mbedtls/aria.h b/third_party/mbedtls/include/mbedtls/aria.h new file mode 100644 index 000000000000..4a2634fa8bcd --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/aria.h @@ -0,0 +1,358 @@ +/** + * \file aria.h + * + * \brief ARIA block cipher + * + * The ARIA algorithm is a symmetric block cipher that can encrypt and + * decrypt information. It is defined by the Korean Agency for + * Technology and Standards (KATS) in KS X 1213:2004 (in + * Korean, but see http://210.104.33.10/ARIA/index-e.html in English) + * and also described by the IETF in RFC 5794. + */ +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MBEDTLS_ARIA_H +#define MBEDTLS_ARIA_H +#include "mbedtls/private_access.h" + +#include "mbedtls/build_info.h" + +#include +#include + +#include "mbedtls/platform_util.h" + +#define MBEDTLS_ARIA_ENCRYPT 1 /**< ARIA encryption. */ +#define MBEDTLS_ARIA_DECRYPT 0 /**< ARIA decryption. */ + +#define MBEDTLS_ARIA_BLOCKSIZE 16 /**< ARIA block size in bytes. */ +#define MBEDTLS_ARIA_MAX_ROUNDS 16 /**< Maxiumum number of rounds in ARIA. */ +#define MBEDTLS_ARIA_MAX_KEYSIZE 32 /**< Maximum size of an ARIA key in bytes. */ + +/** Bad input data. */ +#define MBEDTLS_ERR_ARIA_BAD_INPUT_DATA -0x005C + +/** Invalid data input length. */ +#define MBEDTLS_ERR_ARIA_INVALID_INPUT_LENGTH -0x005E + +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(MBEDTLS_ARIA_ALT) +// Regular implementation +// + +/** + * \brief The ARIA context-type definition. + */ +typedef struct mbedtls_aria_context +{ + unsigned char MBEDTLS_PRIVATE(nr); /*!< The number of rounds (12, 14 or 16) */ + /*! The ARIA round keys. */ + uint32_t MBEDTLS_PRIVATE(rk)[MBEDTLS_ARIA_MAX_ROUNDS + 1][MBEDTLS_ARIA_BLOCKSIZE / 4]; +} +mbedtls_aria_context; + +#else /* MBEDTLS_ARIA_ALT */ +#include "mbedtls/aria_alt.h" +#endif /* MBEDTLS_ARIA_ALT */ + +/** + * \brief This function initializes the specified ARIA context. + * + * It must be the first API called before using + * the context. + * + * \param ctx The ARIA context to initialize. This must not be \c NULL. + */ +void mbedtls_aria_init( mbedtls_aria_context *ctx ); + +/** + * \brief This function releases and clears the specified ARIA context. + * + * \param ctx The ARIA context to clear. This may be \c NULL, in which + * case this function returns immediately. If it is not \c NULL, + * it must point to an initialized ARIA context. + */ +void mbedtls_aria_free( mbedtls_aria_context *ctx ); + +/** + * \brief This function sets the encryption key. + * + * \param ctx The ARIA context to which the key should be bound. + * This must be initialized. + * \param key The encryption key. This must be a readable buffer + * of size \p keybits Bits. + * \param keybits The size of \p key in Bits. Valid options are: + *
  • 128 bits
  • + *
  • 192 bits
  • + *
  • 256 bits
+ * + * \return \c 0 on success. + * \return A negative error code on failure. + */ +int mbedtls_aria_setkey_enc( mbedtls_aria_context *ctx, + const unsigned char *key, + unsigned int keybits ); + +/** + * \brief This function sets the decryption key. + * + * \param ctx The ARIA context to which the key should be bound. + * This must be initialized. + * \param key The decryption key. This must be a readable buffer + * of size \p keybits Bits. + * \param keybits The size of data passed. Valid options are: + *
  • 128 bits
  • + *
  • 192 bits
  • + *
  • 256 bits
+ * + * \return \c 0 on success. + * \return A negative error code on failure. + */ +int mbedtls_aria_setkey_dec( mbedtls_aria_context *ctx, + const unsigned char *key, + unsigned int keybits ); + +/** + * \brief This function performs an ARIA single-block encryption or + * decryption operation. + * + * It performs encryption or decryption (depending on whether + * the key was set for encryption on decryption) on the input + * data buffer defined in the \p input parameter. + * + * mbedtls_aria_init(), and either mbedtls_aria_setkey_enc() or + * mbedtls_aria_setkey_dec() must be called before the first + * call to this API with the same context. + * + * \param ctx The ARIA context to use for encryption or decryption. + * This must be initialized and bound to a key. + * \param input The 16-Byte buffer holding the input data. + * \param output The 16-Byte buffer holding the output data. + + * \return \c 0 on success. + * \return A negative error code on failure. + */ +int mbedtls_aria_crypt_ecb( mbedtls_aria_context *ctx, + const unsigned char input[MBEDTLS_ARIA_BLOCKSIZE], + unsigned char output[MBEDTLS_ARIA_BLOCKSIZE] ); + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +/** + * \brief This function performs an ARIA-CBC encryption or decryption operation + * on full blocks. + * + * It performs the operation defined in the \p mode + * parameter (encrypt/decrypt), on the input data buffer defined in + * the \p input parameter. + * + * It can be called as many times as needed, until all the input + * data is processed. mbedtls_aria_init(), and either + * mbedtls_aria_setkey_enc() or mbedtls_aria_setkey_dec() must be called + * before the first call to this API with the same context. + * + * \note This function operates on aligned blocks, that is, the input size + * must be a multiple of the ARIA block size of 16 Bytes. + * + * \note Upon exit, the content of the IV is updated so that you can + * call the same function again on the next + * block(s) of data and get the same result as if it was + * encrypted in one call. This allows a "streaming" usage. + * If you need to retain the contents of the IV, you should + * either save it manually or use the cipher module instead. + * + * + * \param ctx The ARIA context to use for encryption or decryption. + * This must be initialized and bound to a key. + * \param mode The mode of operation. This must be either + * #MBEDTLS_ARIA_ENCRYPT for encryption, or + * #MBEDTLS_ARIA_DECRYPT for decryption. + * \param length The length of the input data in Bytes. This must be a + * multiple of the block size (16 Bytes). + * \param iv Initialization vector (updated after use). + * This must be a readable buffer of size 16 Bytes. + * \param input The buffer holding the input data. This must + * be a readable buffer of length \p length Bytes. + * \param output The buffer holding the output data. This must + * be a writable buffer of length \p length Bytes. + * + * \return \c 0 on success. + * \return A negative error code on failure. + */ +int mbedtls_aria_crypt_cbc( mbedtls_aria_context *ctx, + int mode, + size_t length, + unsigned char iv[MBEDTLS_ARIA_BLOCKSIZE], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +/** + * \brief This function performs an ARIA-CFB128 encryption or decryption + * operation. + * + * It performs the operation defined in the \p mode + * parameter (encrypt or decrypt), on the input data buffer + * defined in the \p input parameter. + * + * For CFB, you must set up the context with mbedtls_aria_setkey_enc(), + * regardless of whether you are performing an encryption or decryption + * operation, that is, regardless of the \p mode parameter. This is + * because CFB mode uses the same key schedule for encryption and + * decryption. + * + * \note Upon exit, the content of the IV is updated so that you can + * call the same function again on the next + * block(s) of data and get the same result as if it was + * encrypted in one call. This allows a "streaming" usage. + * If you need to retain the contents of the + * IV, you must either save it manually or use the cipher + * module instead. + * + * + * \param ctx The ARIA context to use for encryption or decryption. + * This must be initialized and bound to a key. + * \param mode The mode of operation. This must be either + * #MBEDTLS_ARIA_ENCRYPT for encryption, or + * #MBEDTLS_ARIA_DECRYPT for decryption. + * \param length The length of the input data \p input in Bytes. + * \param iv_off The offset in IV (updated after use). + * This must not be larger than 15. + * \param iv The initialization vector (updated after use). + * This must be a readable buffer of size 16 Bytes. + * \param input The buffer holding the input data. This must + * be a readable buffer of length \p length Bytes. + * \param output The buffer holding the output data. This must + * be a writable buffer of length \p length Bytes. + * + * \return \c 0 on success. + * \return A negative error code on failure. + */ +int mbedtls_aria_crypt_cfb128( mbedtls_aria_context *ctx, + int mode, + size_t length, + size_t *iv_off, + unsigned char iv[MBEDTLS_ARIA_BLOCKSIZE], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +/** + * \brief This function performs an ARIA-CTR encryption or decryption + * operation. + * + * This function performs the operation defined in the \p mode + * parameter (encrypt/decrypt), on the input data buffer + * defined in the \p input parameter. + * + * Due to the nature of CTR, you must use the same key schedule + * for both encryption and decryption operations. Therefore, you + * must use the context initialized with mbedtls_aria_setkey_enc() + * for both #MBEDTLS_ARIA_ENCRYPT and #MBEDTLS_ARIA_DECRYPT. + * + * \warning You must never reuse a nonce value with the same key. Doing so + * would void the encryption for the two messages encrypted with + * the same nonce and key. + * + * There are two common strategies for managing nonces with CTR: + * + * 1. You can handle everything as a single message processed over + * successive calls to this function. In that case, you want to + * set \p nonce_counter and \p nc_off to 0 for the first call, and + * then preserve the values of \p nonce_counter, \p nc_off and \p + * stream_block across calls to this function as they will be + * updated by this function. + * + * With this strategy, you must not encrypt more than 2**128 + * blocks of data with the same key. + * + * 2. You can encrypt separate messages by dividing the \p + * nonce_counter buffer in two areas: the first one used for a + * per-message nonce, handled by yourself, and the second one + * updated by this function internally. + * + * For example, you might reserve the first 12 bytes for the + * per-message nonce, and the last 4 bytes for internal use. In that + * case, before calling this function on a new message you need to + * set the first 12 bytes of \p nonce_counter to your chosen nonce + * value, the last 4 to 0, and \p nc_off to 0 (which will cause \p + * stream_block to be ignored). That way, you can encrypt at most + * 2**96 messages of up to 2**32 blocks each with the same key. + * + * The per-message nonce (or information sufficient to reconstruct + * it) needs to be communicated with the ciphertext and must be unique. + * The recommended way to ensure uniqueness is to use a message + * counter. An alternative is to generate random nonces, but this + * limits the number of messages that can be securely encrypted: + * for example, with 96-bit random nonces, you should not encrypt + * more than 2**32 messages with the same key. + * + * Note that for both stategies, sizes are measured in blocks and + * that an ARIA block is 16 bytes. + * + * \warning Upon return, \p stream_block contains sensitive data. Its + * content must not be written to insecure storage and should be + * securely discarded as soon as it's no longer needed. + * + * \param ctx The ARIA context to use for encryption or decryption. + * This must be initialized and bound to a key. + * \param length The length of the input data \p input in Bytes. + * \param nc_off The offset in Bytes in the current \p stream_block, + * for resuming within the current cipher stream. The + * offset pointer should be \c 0 at the start of a + * stream. This must not be larger than \c 15 Bytes. + * \param nonce_counter The 128-bit nonce and counter. This must point to + * a read/write buffer of length \c 16 bytes. + * \param stream_block The saved stream block for resuming. This must + * point to a read/write buffer of length \c 16 bytes. + * This is overwritten by the function. + * \param input The buffer holding the input data. This must + * be a readable buffer of length \p length Bytes. + * \param output The buffer holding the output data. This must + * be a writable buffer of length \p length Bytes. + * + * \return \c 0 on success. + * \return A negative error code on failure. + */ +int mbedtls_aria_crypt_ctr( mbedtls_aria_context *ctx, + size_t length, + size_t *nc_off, + unsigned char nonce_counter[MBEDTLS_ARIA_BLOCKSIZE], + unsigned char stream_block[MBEDTLS_ARIA_BLOCKSIZE], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +#if defined(MBEDTLS_SELF_TEST) +/** + * \brief Checkup routine. + * + * \return \c 0 on success, or \c 1 on failure. + */ +int mbedtls_aria_self_test( int verbose ); +#endif /* MBEDTLS_SELF_TEST */ + +#ifdef __cplusplus +} +#endif + +#endif /* aria.h */ diff --git a/third_party/mbedtls/include/mbedtls/aria_alt.h b/third_party/mbedtls/include/mbedtls/aria_alt.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/aria_alt.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/include/mbedtls/camellia.h b/third_party/mbedtls/include/mbedtls/camellia.h new file mode 100644 index 000000000000..c74193171077 --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/camellia.h @@ -0,0 +1,316 @@ +/** + * \file camellia.h + * + * \brief Camellia block cipher + */ +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MBEDTLS_CAMELLIA_H +#define MBEDTLS_CAMELLIA_H +#include "mbedtls/private_access.h" + +#include "mbedtls/build_info.h" + +#include +#include + +#include "mbedtls/platform_util.h" + +#define MBEDTLS_CAMELLIA_ENCRYPT 1 +#define MBEDTLS_CAMELLIA_DECRYPT 0 + +/** Bad input data. */ +#define MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA -0x0024 + +/** Invalid data input length. */ +#define MBEDTLS_ERR_CAMELLIA_INVALID_INPUT_LENGTH -0x0026 + +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(MBEDTLS_CAMELLIA_ALT) +// Regular implementation +// + +/** + * \brief CAMELLIA context structure + */ +typedef struct mbedtls_camellia_context +{ + int MBEDTLS_PRIVATE(nr); /*!< number of rounds */ + uint32_t MBEDTLS_PRIVATE(rk)[68]; /*!< CAMELLIA round keys */ +} +mbedtls_camellia_context; + +#else /* MBEDTLS_CAMELLIA_ALT */ +#include "mbedtls/camellia_alt.h" +#endif /* MBEDTLS_CAMELLIA_ALT */ + +/** + * \brief Initialize a CAMELLIA context. + * + * \param ctx The CAMELLIA context to be initialized. + * This must not be \c NULL. + */ +void mbedtls_camellia_init( mbedtls_camellia_context *ctx ); + +/** + * \brief Clear a CAMELLIA context. + * + * \param ctx The CAMELLIA context to be cleared. This may be \c NULL, + * in which case this function returns immediately. If it is not + * \c NULL, it must be initialized. + */ +void mbedtls_camellia_free( mbedtls_camellia_context *ctx ); + +/** + * \brief Perform a CAMELLIA key schedule operation for encryption. + * + * \param ctx The CAMELLIA context to use. This must be initialized. + * \param key The encryption key to use. This must be a readable buffer + * of size \p keybits Bits. + * \param keybits The length of \p key in Bits. This must be either \c 128, + * \c 192 or \c 256. + * + * \return \c 0 if successful. + * \return A negative error code on failure. + */ +int mbedtls_camellia_setkey_enc( mbedtls_camellia_context *ctx, + const unsigned char *key, + unsigned int keybits ); + +/** + * \brief Perform a CAMELLIA key schedule operation for decryption. + * + * \param ctx The CAMELLIA context to use. This must be initialized. + * \param key The decryption key. This must be a readable buffer + * of size \p keybits Bits. + * \param keybits The length of \p key in Bits. This must be either \c 128, + * \c 192 or \c 256. + * + * \return \c 0 if successful. + * \return A negative error code on failure. + */ +int mbedtls_camellia_setkey_dec( mbedtls_camellia_context *ctx, + const unsigned char *key, + unsigned int keybits ); + +/** + * \brief Perform a CAMELLIA-ECB block encryption/decryption operation. + * + * \param ctx The CAMELLIA context to use. This must be initialized + * and bound to a key. + * \param mode The mode of operation. This must be either + * #MBEDTLS_CAMELLIA_ENCRYPT or #MBEDTLS_CAMELLIA_DECRYPT. + * \param input The input block. This must be a readable buffer + * of size \c 16 Bytes. + * \param output The output block. This must be a writable buffer + * of size \c 16 Bytes. + * + * \return \c 0 if successful. + * \return A negative error code on failure. + */ +int mbedtls_camellia_crypt_ecb( mbedtls_camellia_context *ctx, + int mode, + const unsigned char input[16], + unsigned char output[16] ); + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +/** + * \brief Perform a CAMELLIA-CBC buffer encryption/decryption operation. + * + * \note Upon exit, the content of the IV is updated so that you can + * call the function same function again on the following + * block(s) of data and get the same result as if it was + * encrypted in one call. This allows a "streaming" usage. + * If on the other hand you need to retain the contents of the + * IV, you should either save it manually or use the cipher + * module instead. + * + * \param ctx The CAMELLIA context to use. This must be initialized + * and bound to a key. + * \param mode The mode of operation. This must be either + * #MBEDTLS_CAMELLIA_ENCRYPT or #MBEDTLS_CAMELLIA_DECRYPT. + * \param length The length in Bytes of the input data \p input. + * This must be a multiple of \c 16 Bytes. + * \param iv The initialization vector. This must be a read/write buffer + * of length \c 16 Bytes. It is updated to allow streaming + * use as explained above. + * \param input The buffer holding the input data. This must point to a + * readable buffer of length \p length Bytes. + * \param output The buffer holding the output data. This must point to a + * writable buffer of length \p length Bytes. + * + * \return \c 0 if successful. + * \return A negative error code on failure. + */ +int mbedtls_camellia_crypt_cbc( mbedtls_camellia_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +/** + * \brief Perform a CAMELLIA-CFB128 buffer encryption/decryption + * operation. + * + * \note Due to the nature of CFB mode, you should use the same + * key for both encryption and decryption. In particular, calls + * to this function should be preceded by a key-schedule via + * mbedtls_camellia_setkey_enc() regardless of whether \p mode + * is #MBEDTLS_CAMELLIA_ENCRYPT or #MBEDTLS_CAMELLIA_DECRYPT. + * + * \note Upon exit, the content of the IV is updated so that you can + * call the function same function again on the following + * block(s) of data and get the same result as if it was + * encrypted in one call. This allows a "streaming" usage. + * If on the other hand you need to retain the contents of the + * IV, you should either save it manually or use the cipher + * module instead. + * + * \param ctx The CAMELLIA context to use. This must be initialized + * and bound to a key. + * \param mode The mode of operation. This must be either + * #MBEDTLS_CAMELLIA_ENCRYPT or #MBEDTLS_CAMELLIA_DECRYPT. + * \param length The length of the input data \p input. Any value is allowed. + * \param iv_off The current offset in the IV. This must be smaller + * than \c 16 Bytes. It is updated after this call to allow + * the aforementioned streaming usage. + * \param iv The initialization vector. This must be a read/write buffer + * of length \c 16 Bytes. It is updated after this call to + * allow the aforementioned streaming usage. + * \param input The buffer holding the input data. This must be a readable + * buffer of size \p length Bytes. + * \param output The buffer to hold the output data. This must be a writable + * buffer of length \p length Bytes. + * + * \return \c 0 if successful. + * \return A negative error code on failure. + */ +int mbedtls_camellia_crypt_cfb128( mbedtls_camellia_context *ctx, + int mode, + size_t length, + size_t *iv_off, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +/** + * \brief Perform a CAMELLIA-CTR buffer encryption/decryption operation. + * + * *note Due to the nature of CTR mode, you should use the same + * key for both encryption and decryption. In particular, calls + * to this function should be preceded by a key-schedule via + * mbedtls_camellia_setkey_enc() regardless of whether \p mode + * is #MBEDTLS_CAMELLIA_ENCRYPT or #MBEDTLS_CAMELLIA_DECRYPT. + * + * \warning You must never reuse a nonce value with the same key. Doing so + * would void the encryption for the two messages encrypted with + * the same nonce and key. + * + * There are two common strategies for managing nonces with CTR: + * + * 1. You can handle everything as a single message processed over + * successive calls to this function. In that case, you want to + * set \p nonce_counter and \p nc_off to 0 for the first call, and + * then preserve the values of \p nonce_counter, \p nc_off and \p + * stream_block across calls to this function as they will be + * updated by this function. + * + * With this strategy, you must not encrypt more than 2**128 + * blocks of data with the same key. + * + * 2. You can encrypt separate messages by dividing the \p + * nonce_counter buffer in two areas: the first one used for a + * per-message nonce, handled by yourself, and the second one + * updated by this function internally. + * + * For example, you might reserve the first \c 12 Bytes for the + * per-message nonce, and the last \c 4 Bytes for internal use. + * In that case, before calling this function on a new message you + * need to set the first \c 12 Bytes of \p nonce_counter to your + * chosen nonce value, the last four to \c 0, and \p nc_off to \c 0 + * (which will cause \p stream_block to be ignored). That way, you + * can encrypt at most \c 2**96 messages of up to \c 2**32 blocks + * each with the same key. + * + * The per-message nonce (or information sufficient to reconstruct + * it) needs to be communicated with the ciphertext and must be + * unique. The recommended way to ensure uniqueness is to use a + * message counter. An alternative is to generate random nonces, + * but this limits the number of messages that can be securely + * encrypted: for example, with 96-bit random nonces, you should + * not encrypt more than 2**32 messages with the same key. + * + * Note that for both stategies, sizes are measured in blocks and + * that a CAMELLIA block is \c 16 Bytes. + * + * \warning Upon return, \p stream_block contains sensitive data. Its + * content must not be written to insecure storage and should be + * securely discarded as soon as it's no longer needed. + * + * \param ctx The CAMELLIA context to use. This must be initialized + * and bound to a key. + * \param length The length of the input data \p input in Bytes. + * Any value is allowed. + * \param nc_off The offset in the current \p stream_block (for resuming + * within current cipher stream). The offset pointer to + * should be \c 0 at the start of a stream. It is updated + * at the end of this call. + * \param nonce_counter The 128-bit nonce and counter. This must be a read/write + * buffer of length \c 16 Bytes. + * \param stream_block The saved stream-block for resuming. This must be a + * read/write buffer of length \c 16 Bytes. + * \param input The input data stream. This must be a readable buffer of + * size \p length Bytes. + * \param output The output data stream. This must be a writable buffer + * of size \p length Bytes. + * + * \return \c 0 if successful. + * \return A negative error code on failure. + */ +int mbedtls_camellia_crypt_ctr( mbedtls_camellia_context *ctx, + size_t length, + size_t *nc_off, + unsigned char nonce_counter[16], + unsigned char stream_block[16], + const unsigned char *input, + unsigned char *output ); +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +#if defined(MBEDTLS_SELF_TEST) + +/** + * \brief Checkup routine + * + * \return 0 if successful, or 1 if the test failed + */ +int mbedtls_camellia_self_test( int verbose ); + +#endif /* MBEDTLS_SELF_TEST */ + +#ifdef __cplusplus +} +#endif + +#endif /* camellia.h */ diff --git a/third_party/mbedtls/include/mbedtls/camellia_alt.h b/third_party/mbedtls/include/mbedtls/camellia_alt.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/camellia_alt.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/include/mbedtls/ccm.h b/third_party/mbedtls/include/mbedtls/ccm.h index 1be1689df178..20245d938281 100644 --- a/third_party/mbedtls/include/mbedtls/ccm.h +++ b/third_party/mbedtls/include/mbedtls/ccm.h @@ -101,7 +101,7 @@ typedef struct mbedtls_ccm_context mbedtls_ccm_context; #else /* MBEDTLS_CCM_ALT */ -#include "ccm_alt.h" +#include "mbedtls/ccm_alt.h" #endif /* MBEDTLS_CCM_ALT */ /** diff --git a/third_party/mbedtls/include/mbedtls/ccm_alt.h b/third_party/mbedtls/include/mbedtls/ccm_alt.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/ccm_alt.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/include/mbedtls/chacha20.h b/third_party/mbedtls/include/mbedtls/chacha20.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/chacha20.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/include/mbedtls/chachapoly.h b/third_party/mbedtls/include/mbedtls/chachapoly.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/chachapoly.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/include/mbedtls/cipher.h b/third_party/mbedtls/include/mbedtls/cipher.h index c04097dad3e3..b02ab76c0d61 100644 --- a/third_party/mbedtls/include/mbedtls/cipher.h +++ b/third_party/mbedtls/include/mbedtls/cipher.h @@ -440,14 +440,14 @@ const mbedtls_cipher_info_t *mbedtls_cipher_info_from_values( const mbedtls_ciph * \return The full cipher identifier (\c MBEDTLS_CIPHER_xxx). * \return #MBEDTLS_CIPHER_NONE if \p info is \c NULL. */ -static inline mbedtls_cipher_type_t mbedtls_cipher_info_get_type( - const mbedtls_cipher_info_t *info ) -{ - if( info == NULL ) - return( MBEDTLS_CIPHER_NONE ); - else - return( info->MBEDTLS_PRIVATE(type) ); -} +//static inline mbedtls_cipher_type_t mbedtls_cipher_info_get_type( +// const mbedtls_cipher_info_t *info ) +//{ +// if( info == NULL ) +// return( MBEDTLS_CIPHER_NONE ); +// else +// return( info->MBEDTLS_PRIVATE(type) ); +//} /** * \brief Retrieve the operation mode for a cipher info structure. @@ -458,14 +458,14 @@ static inline mbedtls_cipher_type_t mbedtls_cipher_info_get_type( * \return The cipher mode (\c MBEDTLS_MODE_xxx). * \return #MBEDTLS_MODE_NONE if \p info is \c NULL. */ -static inline mbedtls_cipher_mode_t mbedtls_cipher_info_get_mode( - const mbedtls_cipher_info_t *info ) -{ - if( info == NULL ) - return( MBEDTLS_MODE_NONE ); - else - return( info->MBEDTLS_PRIVATE(mode) ); -} +//static inline mbedtls_cipher_mode_t mbedtls_cipher_info_get_mode( +// const mbedtls_cipher_info_t *info ) +//{ +// if( info == NULL ) +// return( MBEDTLS_MODE_NONE ); +// else +// return( info->MBEDTLS_PRIVATE(mode) ); +//} /** * \brief Retrieve the key size for a cipher info structure. @@ -478,14 +478,14 @@ static inline mbedtls_cipher_mode_t mbedtls_cipher_info_get_mode( * For DES, this includes the parity bits. * \return \c 0 if \p info is \c NULL. */ -static inline size_t mbedtls_cipher_info_get_key_bitlen( - const mbedtls_cipher_info_t *info ) -{ - if( info == NULL ) - return( 0 ); - else - return( info->MBEDTLS_PRIVATE(key_bitlen) ); -} +//static inline size_t mbedtls_cipher_info_get_key_bitlen( +// const mbedtls_cipher_info_t *info ) +//{ +// if( info == NULL ) +// return( 0 ); +// else +// return( info->MBEDTLS_PRIVATE(key_bitlen) ); +//} /** * \brief Retrieve the human-readable name for a @@ -498,14 +498,14 @@ static inline size_t mbedtls_cipher_info_get_key_bitlen( * with static storage duration. * \return \c NULL if \c info is \p NULL. */ -static inline const char *mbedtls_cipher_info_get_name( - const mbedtls_cipher_info_t *info ) -{ - if( info == NULL ) - return( NULL ); - else - return( info->MBEDTLS_PRIVATE(name) ); -} +//static inline const char *mbedtls_cipher_info_get_name( +// const mbedtls_cipher_info_t *info ) +//{ +// if( info == NULL ) +// return( NULL ); +// else +// return( info->MBEDTLS_PRIVATE(name) ); +//} /** * \brief This function returns the size of the IV or nonce @@ -517,14 +517,14 @@ static inline const char *mbedtls_cipher_info_get_name( * \return \c 0 for ciphers not using an IV or a nonce. * \return \c 0 if \p info is \c NULL. */ -static inline size_t mbedtls_cipher_info_get_iv_size( - const mbedtls_cipher_info_t *info ) -{ - if( info == NULL ) - return( 0 ); - - return( (size_t) info->MBEDTLS_PRIVATE(iv_size) ); -} +//static inline size_t mbedtls_cipher_info_get_iv_size( +// const mbedtls_cipher_info_t *info ) +//{ +// if( info == NULL ) +// return( 0 ); +// +// return( (size_t) info->MBEDTLS_PRIVATE(iv_size) ); +//} /** * \brief This function returns the block size of the given @@ -536,14 +536,14 @@ static inline size_t mbedtls_cipher_info_get_iv_size( * \return \c 1 if the cipher is a stream cipher. * \return \c 0 if \p info is \c NULL. */ -static inline size_t mbedtls_cipher_info_get_block_size( - const mbedtls_cipher_info_t *info ) -{ - if( info == NULL ) - return( 0 ); - - return( (size_t) info->MBEDTLS_PRIVATE(block_size) ); -} +//static inline size_t mbedtls_cipher_info_get_block_size( +// const mbedtls_cipher_info_t *info ) +//{ +// if( info == NULL ) +// return( 0 ); +// +// return( (size_t) info->MBEDTLS_PRIVATE(block_size) ); +//} /** * \brief This function returns a non-zero value if the key length for @@ -554,14 +554,14 @@ static inline size_t mbedtls_cipher_info_get_block_size( * \return Non-zero if the key length is variable, \c 0 otherwise. * \return \c 0 if the given pointer is \c NULL. */ -static inline int mbedtls_cipher_info_has_variable_key_bitlen( - const mbedtls_cipher_info_t *info ) -{ - if( info == NULL ) - return( 0 ); - - return( info->MBEDTLS_PRIVATE(flags) & MBEDTLS_CIPHER_VARIABLE_KEY_LEN ); -} +//static inline int mbedtls_cipher_info_has_variable_key_bitlen( +// const mbedtls_cipher_info_t *info ) +//{ +// if( info == NULL ) +// return( 0 ); +// +// return( info->MBEDTLS_PRIVATE(flags) & MBEDTLS_CIPHER_VARIABLE_KEY_LEN ); +//} /** * \brief This function returns a non-zero value if the IV size for @@ -572,14 +572,14 @@ static inline int mbedtls_cipher_info_has_variable_key_bitlen( * \return Non-zero if the IV size is variable, \c 0 otherwise. * \return \c 0 if the given pointer is \c NULL. */ -static inline int mbedtls_cipher_info_has_variable_iv_size( - const mbedtls_cipher_info_t *info ) -{ - if( info == NULL ) - return( 0 ); - - return( info->MBEDTLS_PRIVATE(flags) & MBEDTLS_CIPHER_VARIABLE_IV_LEN ); -} +//static inline int mbedtls_cipher_info_has_variable_iv_size( +// const mbedtls_cipher_info_t *info ) +//{ +// if( info == NULL ) +// return( 0 ); +// +// return( info->MBEDTLS_PRIVATE(flags) & MBEDTLS_CIPHER_VARIABLE_IV_LEN ); +//} /** * \brief This function initializes a \p cipher_context as NONE. @@ -685,15 +685,15 @@ static inline unsigned int mbedtls_cipher_get_block_size( * \return The mode of operation. * \return #MBEDTLS_MODE_NONE if \p ctx has not been initialized. */ -static inline mbedtls_cipher_mode_t mbedtls_cipher_get_cipher_mode( - const mbedtls_cipher_context_t *ctx ) -{ - MBEDTLS_INTERNAL_VALIDATE_RET( ctx != NULL, MBEDTLS_MODE_NONE ); - if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) - return MBEDTLS_MODE_NONE; - - return ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(mode); -} +//static inline mbedtls_cipher_mode_t mbedtls_cipher_get_cipher_mode( +// const mbedtls_cipher_context_t *ctx ) +//{ +// MBEDTLS_INTERNAL_VALIDATE_RET( ctx != NULL, MBEDTLS_MODE_NONE ); +// if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) +// return MBEDTLS_MODE_NONE; +// +// return ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(mode); +//} /** * \brief This function returns the size of the IV or nonce @@ -705,18 +705,18 @@ static inline mbedtls_cipher_mode_t mbedtls_cipher_get_cipher_mode( * \return \c 0 for ciphers not using an IV or a nonce. * \return The actual size if an IV has been set. */ -static inline int mbedtls_cipher_get_iv_size( - const mbedtls_cipher_context_t *ctx ) -{ - MBEDTLS_INTERNAL_VALIDATE_RET( ctx != NULL, 0 ); - if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) - return 0; - - if( ctx->MBEDTLS_PRIVATE(iv_size) != 0 ) - return (int) ctx->MBEDTLS_PRIVATE(iv_size); - - return (int) ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(iv_size); -} +//static inline int mbedtls_cipher_get_iv_size( +// const mbedtls_cipher_context_t *ctx ) +//{ +// MBEDTLS_INTERNAL_VALIDATE_RET( ctx != NULL, 0 ); +// if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) +// return 0; +// +// if( ctx->MBEDTLS_PRIVATE(iv_size) != 0 ) +// return (int) ctx->MBEDTLS_PRIVATE(iv_size); +// +// return (int) ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(iv_size); +//} /** * \brief This function returns the type of the given cipher. @@ -726,16 +726,16 @@ static inline int mbedtls_cipher_get_iv_size( * \return The type of the cipher. * \return #MBEDTLS_CIPHER_NONE if \p ctx has not been initialized. */ -static inline mbedtls_cipher_type_t mbedtls_cipher_get_type( - const mbedtls_cipher_context_t *ctx ) -{ - MBEDTLS_INTERNAL_VALIDATE_RET( - ctx != NULL, MBEDTLS_CIPHER_NONE ); - if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) - return MBEDTLS_CIPHER_NONE; - - return ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(type); -} +//static inline mbedtls_cipher_type_t mbedtls_cipher_get_type( +// const mbedtls_cipher_context_t *ctx ) +//{ +// MBEDTLS_INTERNAL_VALIDATE_RET( +// ctx != NULL, MBEDTLS_CIPHER_NONE ); +// if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) +// return MBEDTLS_CIPHER_NONE; +// +// return ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(type); +//} /** * \brief This function returns the name of the given cipher @@ -746,15 +746,15 @@ static inline mbedtls_cipher_type_t mbedtls_cipher_get_type( * \return The name of the cipher. * \return NULL if \p ctx has not been not initialized. */ -static inline const char *mbedtls_cipher_get_name( - const mbedtls_cipher_context_t *ctx ) -{ - MBEDTLS_INTERNAL_VALIDATE_RET( ctx != NULL, 0 ); - if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) - return 0; - - return ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(name); -} +//static inline const char *mbedtls_cipher_get_name( +// const mbedtls_cipher_context_t *ctx ) +//{ +// MBEDTLS_INTERNAL_VALIDATE_RET( ctx != NULL, 0 ); +// if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) +// return 0; +// +// return ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(name); +//} /** * \brief This function returns the key length of the cipher. @@ -765,16 +765,16 @@ static inline const char *mbedtls_cipher_get_name( * \return #MBEDTLS_KEY_LENGTH_NONE if ctx \p has not been * initialized. */ -static inline int mbedtls_cipher_get_key_bitlen( - const mbedtls_cipher_context_t *ctx ) -{ - MBEDTLS_INTERNAL_VALIDATE_RET( - ctx != NULL, MBEDTLS_KEY_LENGTH_NONE ); - if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) - return MBEDTLS_KEY_LENGTH_NONE; - - return (int) ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(key_bitlen); -} +//static inline int mbedtls_cipher_get_key_bitlen( +// const mbedtls_cipher_context_t *ctx ) +//{ +// MBEDTLS_INTERNAL_VALIDATE_RET( +// ctx != NULL, MBEDTLS_KEY_LENGTH_NONE ); +// if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) +// return MBEDTLS_KEY_LENGTH_NONE; +// +// return (int) ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(key_bitlen); +//} /** * \brief This function returns the operation of the given cipher. @@ -784,16 +784,16 @@ static inline int mbedtls_cipher_get_key_bitlen( * \return The type of operation: #MBEDTLS_ENCRYPT or #MBEDTLS_DECRYPT. * \return #MBEDTLS_OPERATION_NONE if \p ctx has not been initialized. */ -static inline mbedtls_operation_t mbedtls_cipher_get_operation( - const mbedtls_cipher_context_t *ctx ) -{ - MBEDTLS_INTERNAL_VALIDATE_RET( - ctx != NULL, MBEDTLS_OPERATION_NONE ); - if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) - return MBEDTLS_OPERATION_NONE; - - return ctx->MBEDTLS_PRIVATE(operation); -} +//static inline mbedtls_operation_t mbedtls_cipher_get_operation( +// const mbedtls_cipher_context_t *ctx ) +//{ +// MBEDTLS_INTERNAL_VALIDATE_RET( +// ctx != NULL, MBEDTLS_OPERATION_NONE ); +// if( ctx->MBEDTLS_PRIVATE(cipher_info) == NULL ) +// return MBEDTLS_OPERATION_NONE; +// +// return ctx->MBEDTLS_PRIVATE(operation); +//} /** * \brief This function sets the key to use with the given context. diff --git a/third_party/mbedtls/include/mbedtls/cmac.h b/third_party/mbedtls/include/mbedtls/cmac.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/cmac.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/include/mbedtls/entropy.h b/third_party/mbedtls/include/mbedtls/entropy.h new file mode 100644 index 000000000000..fede05ffa165 --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/entropy.h @@ -0,0 +1,293 @@ +/** + * \file entropy.h + * + * \brief Entropy accumulator implementation + */ +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MBEDTLS_ENTROPY_H +#define MBEDTLS_ENTROPY_H +#include "mbedtls/private_access.h" + +#include "mbedtls/build_info.h" + +#include + +#if defined(MBEDTLS_SHA512_C) && !defined(MBEDTLS_ENTROPY_FORCE_SHA256) +#include "mbedtls/sha512.h" +#define MBEDTLS_ENTROPY_SHA512_ACCUMULATOR +#else +#if defined(MBEDTLS_SHA256_C) +#define MBEDTLS_ENTROPY_SHA256_ACCUMULATOR +#include "mbedtls/sha256.h" +#endif +#endif + +#if defined(MBEDTLS_THREADING_C) +#include "mbedtls/threading.h" +#endif + + +/** Critical entropy source failure. */ +#define MBEDTLS_ERR_ENTROPY_SOURCE_FAILED -0x003C +/** No more sources can be added. */ +#define MBEDTLS_ERR_ENTROPY_MAX_SOURCES -0x003E +/** No sources have been added to poll. */ +#define MBEDTLS_ERR_ENTROPY_NO_SOURCES_DEFINED -0x0040 +/** No strong sources have been added to poll. */ +#define MBEDTLS_ERR_ENTROPY_NO_STRONG_SOURCE -0x003D +/** Read/write error in file. */ +#define MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR -0x003F + +/** + * \name SECTION: Module settings + * + * The configuration options you can set for this module are in this section. + * Either change them in mbedtls_config.h or define them on the compiler command line. + * \{ + */ + +#if !defined(MBEDTLS_ENTROPY_MAX_SOURCES) +#define MBEDTLS_ENTROPY_MAX_SOURCES 20 /**< Maximum number of sources supported */ +#endif + +#if !defined(MBEDTLS_ENTROPY_MAX_GATHER) +#define MBEDTLS_ENTROPY_MAX_GATHER 128 /**< Maximum amount requested from entropy sources */ +#endif + +/* \} name SECTION: Module settings */ + +#if defined(MBEDTLS_ENTROPY_SHA512_ACCUMULATOR) +#define MBEDTLS_ENTROPY_BLOCK_SIZE 64 /**< Block size of entropy accumulator (SHA-512) */ +#else +#define MBEDTLS_ENTROPY_BLOCK_SIZE 32 /**< Block size of entropy accumulator (SHA-256) */ +#endif + +#define MBEDTLS_ENTROPY_MAX_SEED_SIZE 1024 /**< Maximum size of seed we read from seed file */ +#define MBEDTLS_ENTROPY_SOURCE_MANUAL MBEDTLS_ENTROPY_MAX_SOURCES + +#define MBEDTLS_ENTROPY_SOURCE_STRONG 1 /**< Entropy source is strong */ +#define MBEDTLS_ENTROPY_SOURCE_WEAK 0 /**< Entropy source is weak */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Entropy poll callback pointer + * + * \param data Callback-specific data pointer + * \param output Data to fill + * \param len Maximum size to provide + * \param olen The actual amount of bytes put into the buffer (Can be 0) + * + * \return 0 if no critical failures occurred, + * MBEDTLS_ERR_ENTROPY_SOURCE_FAILED otherwise + */ +typedef int (*mbedtls_entropy_f_source_ptr)(void *data, unsigned char *output, size_t len, + size_t *olen); + +/** + * \brief Entropy source state + */ +typedef struct mbedtls_entropy_source_state +{ + mbedtls_entropy_f_source_ptr MBEDTLS_PRIVATE(f_source); /**< The entropy source callback */ + void * MBEDTLS_PRIVATE(p_source); /**< The callback data pointer */ + size_t MBEDTLS_PRIVATE(size); /**< Amount received in bytes */ + size_t MBEDTLS_PRIVATE(threshold); /**< Minimum bytes required before release */ + int MBEDTLS_PRIVATE(strong); /**< Is the source strong? */ +} +mbedtls_entropy_source_state; + +/** + * \brief Entropy context structure + */ +typedef struct mbedtls_entropy_context +{ + int MBEDTLS_PRIVATE(accumulator_started); /* 0 after init. + * 1 after the first update. + * -1 after free. */ +#if defined(MBEDTLS_ENTROPY_SHA512_ACCUMULATOR) + mbedtls_sha512_context MBEDTLS_PRIVATE(accumulator); +#elif defined(MBEDTLS_ENTROPY_SHA256_ACCUMULATOR) + mbedtls_sha256_context MBEDTLS_PRIVATE(accumulator); +#endif + int MBEDTLS_PRIVATE(source_count); /* Number of entries used in source. */ + mbedtls_entropy_source_state MBEDTLS_PRIVATE(source)[MBEDTLS_ENTROPY_MAX_SOURCES]; +#if defined(MBEDTLS_THREADING_C) + mbedtls_threading_mutex_t MBEDTLS_PRIVATE(mutex); /*!< mutex */ +#endif +#if defined(MBEDTLS_ENTROPY_NV_SEED) + int MBEDTLS_PRIVATE(initial_entropy_run); +#endif +} +mbedtls_entropy_context; + +#if !defined(MBEDTLS_NO_PLATFORM_ENTROPY) +/** + * \brief Platform-specific entropy poll callback + */ +int mbedtls_platform_entropy_poll( void *data, + unsigned char *output, size_t len, size_t *olen ); +#endif + +/** + * \brief Initialize the context + * + * \param ctx Entropy context to initialize + */ +void mbedtls_entropy_init( mbedtls_entropy_context *ctx ); + +/** + * \brief Free the data in the context + * + * \param ctx Entropy context to free + */ +void mbedtls_entropy_free( mbedtls_entropy_context *ctx ); + +/** + * \brief Adds an entropy source to poll + * (Thread-safe if MBEDTLS_THREADING_C is enabled) + * + * \param ctx Entropy context + * \param f_source Entropy function + * \param p_source Function data + * \param threshold Minimum required from source before entropy is released + * ( with mbedtls_entropy_func() ) (in bytes) + * \param strong MBEDTLS_ENTROPY_SOURCE_STRONG or + * MBEDTLS_ENTROPY_SOURCE_WEAK. + * At least one strong source needs to be added. + * Weaker sources (such as the cycle counter) can be used as + * a complement. + * + * \return 0 if successful or MBEDTLS_ERR_ENTROPY_MAX_SOURCES + */ +int mbedtls_entropy_add_source( mbedtls_entropy_context *ctx, + mbedtls_entropy_f_source_ptr f_source, void *p_source, + size_t threshold, int strong ); + +/** + * \brief Trigger an extra gather poll for the accumulator + * (Thread-safe if MBEDTLS_THREADING_C is enabled) + * + * \param ctx Entropy context + * + * \return 0 if successful, or MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + */ +int mbedtls_entropy_gather( mbedtls_entropy_context *ctx ); + +/** + * \brief Retrieve entropy from the accumulator + * (Maximum length: MBEDTLS_ENTROPY_BLOCK_SIZE) + * (Thread-safe if MBEDTLS_THREADING_C is enabled) + * + * \param data Entropy context + * \param output Buffer to fill + * \param len Number of bytes desired, must be at most MBEDTLS_ENTROPY_BLOCK_SIZE + * + * \return 0 if successful, or MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + */ +int mbedtls_entropy_func( void *data, unsigned char *output, size_t len ); + +/** + * \brief Add data to the accumulator manually + * (Thread-safe if MBEDTLS_THREADING_C is enabled) + * + * \param ctx Entropy context + * \param data Data to add + * \param len Length of data + * + * \return 0 if successful + */ +int mbedtls_entropy_update_manual( mbedtls_entropy_context *ctx, + const unsigned char *data, size_t len ); + +#if defined(MBEDTLS_ENTROPY_NV_SEED) +/** + * \brief Trigger an update of the seed file in NV by using the + * current entropy pool. + * + * \param ctx Entropy context + * + * \return 0 if successful + */ +int mbedtls_entropy_update_nv_seed( mbedtls_entropy_context *ctx ); +#endif /* MBEDTLS_ENTROPY_NV_SEED */ + +#if defined(MBEDTLS_FS_IO) +/** + * \brief Write a seed file + * + * \param ctx Entropy context + * \param path Name of the file + * + * \return 0 if successful, + * MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR on file error, or + * MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + */ +int mbedtls_entropy_write_seed_file( mbedtls_entropy_context *ctx, const char *path ); + +/** + * \brief Read and update a seed file. Seed is added to this + * instance. No more than MBEDTLS_ENTROPY_MAX_SEED_SIZE bytes are + * read from the seed file. The rest is ignored. + * + * \param ctx Entropy context + * \param path Name of the file + * + * \return 0 if successful, + * MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR on file error, + * MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + */ +int mbedtls_entropy_update_seed_file( mbedtls_entropy_context *ctx, const char *path ); +#endif /* MBEDTLS_FS_IO */ + +#if defined(MBEDTLS_SELF_TEST) +/** + * \brief Checkup routine + * + * This module self-test also calls the entropy self-test, + * mbedtls_entropy_source_self_test(); + * + * \return 0 if successful, or 1 if a test failed + */ +int mbedtls_entropy_self_test( int verbose ); + +#if defined(MBEDTLS_ENTROPY_HARDWARE_ALT) +/** + * \brief Checkup routine + * + * Verifies the integrity of the hardware entropy source + * provided by the function 'mbedtls_hardware_poll()'. + * + * Note this is the only hardware entropy source that is known + * at link time, and other entropy sources configured + * dynamically at runtime by the function + * mbedtls_entropy_add_source() will not be tested. + * + * \return 0 if successful, or 1 if a test failed + */ +int mbedtls_entropy_source_self_test( int verbose ); +#endif /* MBEDTLS_ENTROPY_HARDWARE_ALT */ +#endif /* MBEDTLS_SELF_TEST */ + +#ifdef __cplusplus +} +#endif + +#endif /* entropy.h */ diff --git a/third_party/mbedtls/include/mbedtls/gcm.h b/third_party/mbedtls/include/mbedtls/gcm.h new file mode 100644 index 000000000000..500b1ee6ef60 --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/gcm.h @@ -0,0 +1,383 @@ +/** + * \file gcm.h + * + * \brief This file contains GCM definitions and functions. + * + * The Galois/Counter Mode (GCM) for 128-bit block ciphers is defined + * in D. McGrew, J. Viega, The Galois/Counter Mode of Operation + * (GCM), Natl. Inst. Stand. Technol. + * + * For more information on GCM, see NIST SP 800-38D: Recommendation for + * Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC. + * + */ +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MBEDTLS_GCM_H +#define MBEDTLS_GCM_H +#include "mbedtls/private_access.h" + +#include "mbedtls/build_info.h" + +#include "mbedtls/cipher.h" + +#include + +#define MBEDTLS_GCM_ENCRYPT 1 +#define MBEDTLS_GCM_DECRYPT 0 + +/** Authenticated decryption failed. */ +#define MBEDTLS_ERR_GCM_AUTH_FAILED -0x0012 +/** Bad input parameters to function. */ +#define MBEDTLS_ERR_GCM_BAD_INPUT -0x0014 +/** An output buffer is too small. */ +#define MBEDTLS_ERR_GCM_BUFFER_TOO_SMALL -0x0016 + +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(MBEDTLS_GCM_ALT) + +/** + * \brief The GCM context structure. + */ +typedef struct mbedtls_gcm_context +{ + mbedtls_cipher_context_t MBEDTLS_PRIVATE(cipher_ctx); /*!< The cipher context used. */ + uint64_t MBEDTLS_PRIVATE(HL)[16]; /*!< Precalculated HTable low. */ + uint64_t MBEDTLS_PRIVATE(HH)[16]; /*!< Precalculated HTable high. */ + uint64_t MBEDTLS_PRIVATE(len); /*!< The total length of the encrypted data. */ + uint64_t MBEDTLS_PRIVATE(add_len); /*!< The total length of the additional data. */ + unsigned char MBEDTLS_PRIVATE(base_ectr)[16]; /*!< The first ECTR for tag. */ + unsigned char MBEDTLS_PRIVATE(y)[16]; /*!< The Y working value. */ + unsigned char MBEDTLS_PRIVATE(buf)[16]; /*!< The buf working value. */ + int MBEDTLS_PRIVATE(mode); /*!< The operation to perform: + #MBEDTLS_GCM_ENCRYPT or + #MBEDTLS_GCM_DECRYPT. */ +} +mbedtls_gcm_context; + +#else /* !MBEDTLS_GCM_ALT */ +#include "mbedtls/gcm_alt.h" +#endif /* !MBEDTLS_GCM_ALT */ + +/** + * \brief This function initializes the specified GCM context, + * to make references valid, and prepares the context + * for mbedtls_gcm_setkey() or mbedtls_gcm_free(). + * + * The function does not bind the GCM context to a particular + * cipher, nor set the key. For this purpose, use + * mbedtls_gcm_setkey(). + * + * \param ctx The GCM context to initialize. This must not be \c NULL. + */ +void mbedtls_gcm_init( mbedtls_gcm_context *ctx ); + +/** + * \brief This function associates a GCM context with a + * cipher algorithm and a key. + * + * \param ctx The GCM context. This must be initialized. + * \param cipher The 128-bit block cipher to use. + * \param key The encryption key. This must be a readable buffer of at + * least \p keybits bits. + * \param keybits The key size in bits. Valid options are: + *
  • 128 bits
  • + *
  • 192 bits
  • + *
  • 256 bits
+ * + * \return \c 0 on success. + * \return A cipher-specific error code on failure. + */ +int mbedtls_gcm_setkey( mbedtls_gcm_context *ctx, + mbedtls_cipher_id_t cipher, + const unsigned char *key, + unsigned int keybits ); + +/** + * \brief This function performs GCM encryption or decryption of a buffer. + * + * \note For encryption, the output buffer can be the same as the + * input buffer. For decryption, the output buffer cannot be + * the same as input buffer. If the buffers overlap, the output + * buffer must trail at least 8 Bytes behind the input buffer. + * + * \warning When this function performs a decryption, it outputs the + * authentication tag and does not verify that the data is + * authentic. You should use this function to perform encryption + * only. For decryption, use mbedtls_gcm_auth_decrypt() instead. + * + * \param ctx The GCM context to use for encryption or decryption. This + * must be initialized. + * \param mode The operation to perform: + * - #MBEDTLS_GCM_ENCRYPT to perform authenticated encryption. + * The ciphertext is written to \p output and the + * authentication tag is written to \p tag. + * - #MBEDTLS_GCM_DECRYPT to perform decryption. + * The plaintext is written to \p output and the + * authentication tag is written to \p tag. + * Note that this mode is not recommended, because it does + * not verify the authenticity of the data. For this reason, + * you should use mbedtls_gcm_auth_decrypt() instead of + * calling this function in decryption mode. + * \param length The length of the input data, which is equal to the length + * of the output data. + * \param iv The initialization vector. This must be a readable buffer of + * at least \p iv_len Bytes. + * \param iv_len The length of the IV. + * \param add The buffer holding the additional data. This must be of at + * least that size in Bytes. + * \param add_len The length of the additional data. + * \param input The buffer holding the input data. If \p length is greater + * than zero, this must be a readable buffer of at least that + * size in Bytes. + * \param output The buffer for holding the output data. If \p length is greater + * than zero, this must be a writable buffer of at least that + * size in Bytes. + * \param tag_len The length of the tag to generate. + * \param tag The buffer for holding the tag. This must be a writable + * buffer of at least \p tag_len Bytes. + * + * \return \c 0 if the encryption or decryption was performed + * successfully. Note that in #MBEDTLS_GCM_DECRYPT mode, + * this does not indicate that the data is authentic. + * \return #MBEDTLS_ERR_GCM_BAD_INPUT if the lengths or pointers are + * not valid or a cipher-specific error code if the encryption + * or decryption failed. + */ +int mbedtls_gcm_crypt_and_tag( mbedtls_gcm_context *ctx, + int mode, + size_t length, + const unsigned char *iv, + size_t iv_len, + const unsigned char *add, + size_t add_len, + const unsigned char *input, + unsigned char *output, + size_t tag_len, + unsigned char *tag ); + +/** + * \brief This function performs a GCM authenticated decryption of a + * buffer. + * + * \note For decryption, the output buffer cannot be the same as + * input buffer. If the buffers overlap, the output buffer + * must trail at least 8 Bytes behind the input buffer. + * + * \param ctx The GCM context. This must be initialized. + * \param length The length of the ciphertext to decrypt, which is also + * the length of the decrypted plaintext. + * \param iv The initialization vector. This must be a readable buffer + * of at least \p iv_len Bytes. + * \param iv_len The length of the IV. + * \param add The buffer holding the additional data. This must be of at + * least that size in Bytes. + * \param add_len The length of the additional data. + * \param tag The buffer holding the tag to verify. This must be a + * readable buffer of at least \p tag_len Bytes. + * \param tag_len The length of the tag to verify. + * \param input The buffer holding the ciphertext. If \p length is greater + * than zero, this must be a readable buffer of at least that + * size. + * \param output The buffer for holding the decrypted plaintext. If \p length + * is greater than zero, this must be a writable buffer of at + * least that size. + * + * \return \c 0 if successful and authenticated. + * \return #MBEDTLS_ERR_GCM_AUTH_FAILED if the tag does not match. + * \return #MBEDTLS_ERR_GCM_BAD_INPUT if the lengths or pointers are + * not valid or a cipher-specific error code if the decryption + * failed. + */ +int mbedtls_gcm_auth_decrypt( mbedtls_gcm_context *ctx, + size_t length, + const unsigned char *iv, + size_t iv_len, + const unsigned char *add, + size_t add_len, + const unsigned char *tag, + size_t tag_len, + const unsigned char *input, + unsigned char *output ); + +/** + * \brief This function starts a GCM encryption or decryption + * operation. + * + * \param ctx The GCM context. This must be initialized. + * \param mode The operation to perform: #MBEDTLS_GCM_ENCRYPT or + * #MBEDTLS_GCM_DECRYPT. + * \param iv The initialization vector. This must be a readable buffer of + * at least \p iv_len Bytes. + * \param iv_len The length of the IV. + * + * \return \c 0 on success. + */ +int mbedtls_gcm_starts( mbedtls_gcm_context *ctx, + int mode, + const unsigned char *iv, + size_t iv_len ); + +/** + * \brief This function feeds an input buffer as associated data + * (authenticated but not encrypted data) in a GCM + * encryption or decryption operation. + * + * Call this function after mbedtls_gcm_starts() to pass + * the associated data. If the associated data is empty, + * you do not need to call this function. You may not + * call this function after calling mbedtls_cipher_update(). + * + * \param ctx The GCM context. This must have been started with + * mbedtls_gcm_starts() and must not have yet received + * any input with mbedtls_gcm_update(). + * \param add The buffer holding the additional data, or \c NULL + * if \p add_len is \c 0. + * \param add_len The length of the additional data. If \c 0, + * \p add may be \c NULL. + * + * \return \c 0 on success. + */ +int mbedtls_gcm_update_ad( mbedtls_gcm_context *ctx, + const unsigned char *add, + size_t add_len ); + +/** + * \brief This function feeds an input buffer into an ongoing GCM + * encryption or decryption operation. + * + * You may call this function zero, one or more times + * to pass successive parts of the input: the plaintext to + * encrypt, or the ciphertext (not including the tag) to + * decrypt. After the last part of the input, call + * mbedtls_gcm_finish(). + * + * This function may produce output in one of the following + * ways: + * - Immediate output: the output length is always equal + * to the input length. + * - Buffered output: the output consists of a whole number + * of 16-byte blocks. If the total input length so far + * (not including associated data) is 16 \* *B* + *A* + * with *A* < 16 then the total output length is 16 \* *B*. + * + * In particular: + * - It is always correct to call this function with + * \p output_size >= \p input_length + 15. + * - If \p input_length is a multiple of 16 for all the calls + * to this function during an operation, then it is + * correct to use \p output_size = \p input_length. + * + * \note For decryption, the output buffer cannot be the same as + * input buffer. If the buffers overlap, the output buffer + * must trail at least 8 Bytes behind the input buffer. + * + * \param ctx The GCM context. This must be initialized. + * \param input The buffer holding the input data. If \p input_length + * is greater than zero, this must be a readable buffer + * of at least \p input_length bytes. + * \param input_length The length of the input data in bytes. + * \param output The buffer for the output data. If \p output_size + * is greater than zero, this must be a writable buffer of + * of at least \p output_size bytes. + * \param output_size The size of the output buffer in bytes. + * See the function description regarding the output size. + * \param output_length On success, \p *output_length contains the actual + * length of the output written in \p output. + * On failure, the content of \p *output_length is + * unspecified. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_GCM_BAD_INPUT on failure: + * total input length too long, + * unsupported input/output buffer overlap detected, + * or \p output_size too small. + */ +int mbedtls_gcm_update( mbedtls_gcm_context *ctx, + const unsigned char *input, size_t input_length, + unsigned char *output, size_t output_size, + size_t *output_length ); + +/** + * \brief This function finishes the GCM operation and generates + * the authentication tag. + * + * It wraps up the GCM stream, and generates the + * tag. The tag can have a maximum length of 16 Bytes. + * + * \param ctx The GCM context. This must be initialized. + * \param tag The buffer for holding the tag. This must be a writable + * buffer of at least \p tag_len Bytes. + * \param tag_len The length of the tag to generate. This must be at least + * four. + * \param output The buffer for the final output. + * If \p output_size is nonzero, this must be a writable + * buffer of at least \p output_size bytes. + * \param output_size The size of the \p output buffer in bytes. + * This must be large enough for the output that + * mbedtls_gcm_update() has not produced. In particular: + * - If mbedtls_gcm_update() produces immediate output, + * or if the total input size is a multiple of \c 16, + * then mbedtls_gcm_finish() never produces any output, + * so \p output_size can be \c 0. + * - \p output_size never needs to be more than \c 15. + * \param output_length On success, \p *output_length contains the actual + * length of the output written in \p output. + * On failure, the content of \p *output_length is + * unspecified. + * + * \return \c 0 on success. + * \return #MBEDTLS_ERR_GCM_BAD_INPUT on failure: + * invalid value of \p tag_len, + * or \p output_size too small. + */ +int mbedtls_gcm_finish( mbedtls_gcm_context *ctx, + unsigned char *output, size_t output_size, + size_t *output_length, + unsigned char *tag, size_t tag_len ); + +/** + * \brief This function clears a GCM context and the underlying + * cipher sub-context. + * + * \param ctx The GCM context to clear. If this is \c NULL, the call has + * no effect. Otherwise, this must be initialized. + */ +void mbedtls_gcm_free( mbedtls_gcm_context *ctx ); + +#if defined(MBEDTLS_SELF_TEST) + +/** + * \brief The GCM checkup routine. + * + * \return \c 0 on success. + * \return \c 1 on failure. + */ +int mbedtls_gcm_self_test( int verbose ); + +#endif /* MBEDTLS_SELF_TEST */ + +#ifdef __cplusplus +} +#endif + + +#endif /* gcm.h */ diff --git a/third_party/mbedtls/include/mbedtls/gcm_alt.h b/third_party/mbedtls/include/mbedtls/gcm_alt.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/gcm_alt.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/include/mbedtls/mbedtls_config.h b/third_party/mbedtls/include/mbedtls/mbedtls_config.h index b8cfcdcfeda7..25337be28999 100644 --- a/third_party/mbedtls/include/mbedtls/mbedtls_config.h +++ b/third_party/mbedtls/include/mbedtls/mbedtls_config.h @@ -11,3 +11,12 @@ #define MBEDTLS_PK_C #define MBEDTLS_PEM_PARSE_C #define MBEDTLS_PLATFORM_C +#define MBEDTLS_AES_C +#define MBEDTLS_CIPHER_C +#define MBEDTLS_CAMELLIA_C +#define MBEDTLS_ARIA_C +#define MBEDTLS_GCM_C +#define MBEDTLS_ENTROPY_C +#if defined(_WIN32) +#define MBEDTLS_NO_PLATFORM_ENTROPY +#endif diff --git a/third_party/mbedtls/include/mbedtls/nist_kw.h b/third_party/mbedtls/include/mbedtls/nist_kw.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/nist_kw.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/include/mbedtls/timing.h b/third_party/mbedtls/include/mbedtls/timing.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/include/mbedtls/timing.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/include/mbedtls_wrapper.hpp b/third_party/mbedtls/include/mbedtls_wrapper.hpp index 2c1f55aef739..fe4d5d4bd5a7 100644 --- a/third_party/mbedtls/include/mbedtls_wrapper.hpp +++ b/third_party/mbedtls/include/mbedtls_wrapper.hpp @@ -8,17 +8,24 @@ #pragma once +#include "duckdb/common/optional_ptr.hpp" +#include "duckdb/common/typedefs.hpp" + #include namespace duckdb_mbedtls { + class MbedTlsWrapper { public: - static void ComputeSha256Hash(const char* in, size_t in_len, char* out); - static std::string ComputeSha256Hash(const std::string& file_content); - static bool IsValidSha256Signature(const std::string& pubkey, const std::string& signature, const std::string& sha256_hash); - static void Hmac256(const char* key, size_t key_len, const char* message, size_t message_len, char* out); + static void ComputeSha256Hash(const char *in, size_t in_len, char *out); + static std::string ComputeSha256Hash(const std::string &file_content); + static bool IsValidSha256Signature(const std::string &pubkey, const std::string &signature, + const std::string &sha256_hash); + static void Hmac256(const char *key, size_t key_len, const char *message, size_t message_len, char *out); static void ToBase16(char *in, char *out, size_t len); + DUCKDB_API static void GenerateRandomData(duckdb::data_ptr_t data, duckdb::idx_t len); + static constexpr size_t SHA256_HASH_LENGTH_BYTES = 32; static constexpr size_t SHA256_HASH_LENGTH_TEXT = 64; @@ -26,11 +33,33 @@ class MbedTlsWrapper { public: SHA256State(); ~SHA256State(); - void AddString(const std::string & str); + void AddString(const std::string &str); std::string Finalize(); void FinishHex(char *out); + private: void *sha_context; }; + + class AESGCMState { + public: + DUCKDB_API AESGCMState(const std::string &key); + DUCKDB_API ~AESGCMState(); + + public: + DUCKDB_API static bool ValidKey(const std::string &key); + DUCKDB_API void InitializeEncryption(duckdb::const_data_ptr_t iv, duckdb::idx_t iv_len); + DUCKDB_API void InitializeDecryption(duckdb::const_data_ptr_t iv, duckdb::idx_t iv_len); + DUCKDB_API size_t Process(duckdb::const_data_ptr_t in, duckdb::idx_t in_len, duckdb::data_ptr_t out, + duckdb::idx_t out_len); + DUCKDB_API size_t Finalize(duckdb::data_ptr_t out, duckdb::idx_t out_len, duckdb::data_ptr_t tag, duckdb::idx_t tag_len); + + public: + static constexpr size_t BLOCK_SIZE = 16; + + private: + void *gcm_context; + }; }; -} + +} // namespace duckdb_mbedtls diff --git a/third_party/mbedtls/library/aes.cpp b/third_party/mbedtls/library/aes.cpp new file mode 100644 index 000000000000..4f772d631d19 --- /dev/null +++ b/third_party/mbedtls/library/aes.cpp @@ -0,0 +1,2171 @@ +/* +* FIPS-197 compliant AES implementation +* +* Copyright The Mbed TLS Contributors +* SPDX-License-Identifier: Apache-2.0 +* +* Licensed under the Apache License, Version 2.0 (the "License"); you may +* not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +/* +* The AES block cipher was designed by Vincent Rijmen and Joan Daemen. +* +* http://csrc.nist.gov/encryption/aes/rijndael/Rijndael.pdf +* http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf +*/ + +#include "common.h" + +#if defined(MBEDTLS_AES_C) + +#include + +#include "mbedtls/aes.h" +#include "mbedtls/platform.h" +#include "mbedtls/platform_util.h" +#include "mbedtls/error.h" +#if defined(MBEDTLS_PADLOCK_C) +#include "padlock.h" +#endif +#if defined(MBEDTLS_AESNI_C) +#include "aesni.h" +#endif + +#if defined(MBEDTLS_SELF_TEST) +//#if defined(MBEDTLS_PLATFORM_C) +//#include "mbedtls/platform.h" +//#else +//#include +//#define mbedtls_printf printf +//#endif /* MBEDTLS_PLATFORM_C */ +#endif /* MBEDTLS_SELF_TEST */ + +#if !defined(MBEDTLS_AES_ALT) + +/* Parameter validation macros based on platform_util.h */ +#define AES_VALIDATE_RET( cond ) \ + MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_AES_BAD_INPUT_DATA ) +#define AES_VALIDATE( cond ) \ + MBEDTLS_INTERNAL_VALIDATE( cond ) + +#if defined(MBEDTLS_PADLOCK_C) && \ + ( defined(MBEDTLS_HAVE_X86) || defined(MBEDTLS_PADLOCK_ALIGN16) ) +static int aes_padlock_ace = -1; +#endif + +#if defined(MBEDTLS_AES_ROM_TABLES) +/* +* Forward S-box +*/ +static const unsigned char AESFSb[256] = + { + 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, + 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, + 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, + 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, + 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, + 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, + 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, + 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75, + 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, + 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, + 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, + 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, + 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, + 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8, + 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, + 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, + 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, + 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, + 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, + 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, + 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, + 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, + 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, + 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, + 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, + 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, + 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, + 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, + 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, + 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, + 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, + 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16 +}; + +/* +* Forward tables +*/ +#define FT \ +\ + V(A5,63,63,C6), V(84,7C,7C,F8), V(99,77,77,EE), V(8D,7B,7B,F6), \ + V(0D,F2,F2,FF), V(BD,6B,6B,D6), V(B1,6F,6F,DE), V(54,C5,C5,91), \ + V(50,30,30,60), V(03,01,01,02), V(A9,67,67,CE), V(7D,2B,2B,56), \ + V(19,FE,FE,E7), V(62,D7,D7,B5), V(E6,AB,AB,4D), V(9A,76,76,EC), \ + V(45,CA,CA,8F), V(9D,82,82,1F), V(40,C9,C9,89), V(87,7D,7D,FA), \ + V(15,FA,FA,EF), V(EB,59,59,B2), V(C9,47,47,8E), V(0B,F0,F0,FB), \ + V(EC,AD,AD,41), V(67,D4,D4,B3), V(FD,A2,A2,5F), V(EA,AF,AF,45), \ + V(BF,9C,9C,23), V(F7,A4,A4,53), V(96,72,72,E4), V(5B,C0,C0,9B), \ + V(C2,B7,B7,75), V(1C,FD,FD,E1), V(AE,93,93,3D), V(6A,26,26,4C), \ + V(5A,36,36,6C), V(41,3F,3F,7E), V(02,F7,F7,F5), V(4F,CC,CC,83), \ + V(5C,34,34,68), V(F4,A5,A5,51), V(34,E5,E5,D1), V(08,F1,F1,F9), \ + V(93,71,71,E2), V(73,D8,D8,AB), V(53,31,31,62), V(3F,15,15,2A), \ + V(0C,04,04,08), V(52,C7,C7,95), V(65,23,23,46), V(5E,C3,C3,9D), \ + V(28,18,18,30), V(A1,96,96,37), V(0F,05,05,0A), V(B5,9A,9A,2F), \ + V(09,07,07,0E), V(36,12,12,24), V(9B,80,80,1B), V(3D,E2,E2,DF), \ + V(26,EB,EB,CD), V(69,27,27,4E), V(CD,B2,B2,7F), V(9F,75,75,EA), \ + V(1B,09,09,12), V(9E,83,83,1D), V(74,2C,2C,58), V(2E,1A,1A,34), \ + V(2D,1B,1B,36), V(B2,6E,6E,DC), V(EE,5A,5A,B4), V(FB,A0,A0,5B), \ + V(F6,52,52,A4), V(4D,3B,3B,76), V(61,D6,D6,B7), V(CE,B3,B3,7D), \ + V(7B,29,29,52), V(3E,E3,E3,DD), V(71,2F,2F,5E), V(97,84,84,13), \ + V(F5,53,53,A6), V(68,D1,D1,B9), V(00,00,00,00), V(2C,ED,ED,C1), \ + V(60,20,20,40), V(1F,FC,FC,E3), V(C8,B1,B1,79), V(ED,5B,5B,B6), \ + V(BE,6A,6A,D4), V(46,CB,CB,8D), V(D9,BE,BE,67), V(4B,39,39,72), \ + V(DE,4A,4A,94), V(D4,4C,4C,98), V(E8,58,58,B0), V(4A,CF,CF,85), \ + V(6B,D0,D0,BB), V(2A,EF,EF,C5), V(E5,AA,AA,4F), V(16,FB,FB,ED), \ + V(C5,43,43,86), V(D7,4D,4D,9A), V(55,33,33,66), V(94,85,85,11), \ + V(CF,45,45,8A), V(10,F9,F9,E9), V(06,02,02,04), V(81,7F,7F,FE), \ + V(F0,50,50,A0), V(44,3C,3C,78), V(BA,9F,9F,25), V(E3,A8,A8,4B), \ + V(F3,51,51,A2), V(FE,A3,A3,5D), V(C0,40,40,80), V(8A,8F,8F,05), \ + V(AD,92,92,3F), V(BC,9D,9D,21), V(48,38,38,70), V(04,F5,F5,F1), \ + V(DF,BC,BC,63), V(C1,B6,B6,77), V(75,DA,DA,AF), V(63,21,21,42), \ + V(30,10,10,20), V(1A,FF,FF,E5), V(0E,F3,F3,FD), V(6D,D2,D2,BF), \ + V(4C,CD,CD,81), V(14,0C,0C,18), V(35,13,13,26), V(2F,EC,EC,C3), \ + V(E1,5F,5F,BE), V(A2,97,97,35), V(CC,44,44,88), V(39,17,17,2E), \ + V(57,C4,C4,93), V(F2,A7,A7,55), V(82,7E,7E,FC), V(47,3D,3D,7A), \ + V(AC,64,64,C8), V(E7,5D,5D,BA), V(2B,19,19,32), V(95,73,73,E6), \ + V(A0,60,60,C0), V(98,81,81,19), V(D1,4F,4F,9E), V(7F,DC,DC,A3), \ + V(66,22,22,44), V(7E,2A,2A,54), V(AB,90,90,3B), V(83,88,88,0B), \ + V(CA,46,46,8C), V(29,EE,EE,C7), V(D3,B8,B8,6B), V(3C,14,14,28), \ + V(79,DE,DE,A7), V(E2,5E,5E,BC), V(1D,0B,0B,16), V(76,DB,DB,AD), \ + V(3B,E0,E0,DB), V(56,32,32,64), V(4E,3A,3A,74), V(1E,0A,0A,14), \ + V(DB,49,49,92), V(0A,06,06,0C), V(6C,24,24,48), V(E4,5C,5C,B8), \ + V(5D,C2,C2,9F), V(6E,D3,D3,BD), V(EF,AC,AC,43), V(A6,62,62,C4), \ + V(A8,91,91,39), V(A4,95,95,31), V(37,E4,E4,D3), V(8B,79,79,F2), \ + V(32,E7,E7,D5), V(43,C8,C8,8B), V(59,37,37,6E), V(B7,6D,6D,DA), \ + V(8C,8D,8D,01), V(64,D5,D5,B1), V(D2,4E,4E,9C), V(E0,A9,A9,49), \ + V(B4,6C,6C,D8), V(FA,56,56,AC), V(07,F4,F4,F3), V(25,EA,EA,CF), \ + V(AF,65,65,CA), V(8E,7A,7A,F4), V(E9,AE,AE,47), V(18,08,08,10), \ + V(D5,BA,BA,6F), V(88,78,78,F0), V(6F,25,25,4A), V(72,2E,2E,5C), \ + V(24,1C,1C,38), V(F1,A6,A6,57), V(C7,B4,B4,73), V(51,C6,C6,97), \ + V(23,E8,E8,CB), V(7C,DD,DD,A1), V(9C,74,74,E8), V(21,1F,1F,3E), \ + V(DD,4B,4B,96), V(DC,BD,BD,61), V(86,8B,8B,0D), V(85,8A,8A,0F), \ + V(90,70,70,E0), V(42,3E,3E,7C), V(C4,B5,B5,71), V(AA,66,66,CC), \ + V(D8,48,48,90), V(05,03,03,06), V(01,F6,F6,F7), V(12,0E,0E,1C), \ + V(A3,61,61,C2), V(5F,35,35,6A), V(F9,57,57,AE), V(D0,B9,B9,69), \ + V(91,86,86,17), V(58,C1,C1,99), V(27,1D,1D,3A), V(B9,9E,9E,27), \ + V(38,E1,E1,D9), V(13,F8,F8,EB), V(B3,98,98,2B), V(33,11,11,22), \ + V(BB,69,69,D2), V(70,D9,D9,A9), V(89,8E,8E,07), V(A7,94,94,33), \ + V(B6,9B,9B,2D), V(22,1E,1E,3C), V(92,87,87,15), V(20,E9,E9,C9), \ + V(49,CE,CE,87), V(FF,55,55,AA), V(78,28,28,50), V(7A,DF,DF,A5), \ + V(8F,8C,8C,03), V(F8,A1,A1,59), V(80,89,89,09), V(17,0D,0D,1A), \ + V(DA,BF,BF,65), V(31,E6,E6,D7), V(C6,42,42,84), V(B8,68,68,D0), \ + V(C3,41,41,82), V(B0,99,99,29), V(77,2D,2D,5A), V(11,0F,0F,1E), \ + V(CB,B0,B0,7B), V(FC,54,54,A8), V(D6,BB,BB,6D), V(3A,16,16,2C) + +#define V(a,b,c,d) 0x##a##b##c##d +static const uint32_t FT0[256] = { FT }; +#undef V + +#if !defined(MBEDTLS_AES_FEWER_TABLES) + +#define V(a,b,c,d) 0x##b##c##d##a +static const uint32_t FT1[256] = { FT }; +#undef V + +#define V(a,b,c,d) 0x##c##d##a##b +static const uint32_t FT2[256] = { FT }; +#undef V + +#define V(a,b,c,d) 0x##d##a##b##c +static const uint32_t FT3[256] = { FT }; +#undef V + +#endif /* !MBEDTLS_AES_FEWER_TABLES */ + +#undef FT + +/* +* Reverse S-box +*/ +static const unsigned char RSb[256] = + { + 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, + 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB, + 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, + 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, + 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, + 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, + 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, + 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25, + 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, + 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, + 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA, + 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, + 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, + 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06, + 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, + 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, + 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA, + 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, + 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, + 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E, + 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, + 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, + 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20, + 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, + 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, + 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F, + 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, + 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, + 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, + 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, + 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D +}; + +/* +* Reverse tables +*/ +#define RT \ +\ + V(50,A7,F4,51), V(53,65,41,7E), V(C3,A4,17,1A), V(96,5E,27,3A), \ + V(CB,6B,AB,3B), V(F1,45,9D,1F), V(AB,58,FA,AC), V(93,03,E3,4B), \ + V(55,FA,30,20), V(F6,6D,76,AD), V(91,76,CC,88), V(25,4C,02,F5), \ + V(FC,D7,E5,4F), V(D7,CB,2A,C5), V(80,44,35,26), V(8F,A3,62,B5), \ + V(49,5A,B1,DE), V(67,1B,BA,25), V(98,0E,EA,45), V(E1,C0,FE,5D), \ + V(02,75,2F,C3), V(12,F0,4C,81), V(A3,97,46,8D), V(C6,F9,D3,6B), \ + V(E7,5F,8F,03), V(95,9C,92,15), V(EB,7A,6D,BF), V(DA,59,52,95), \ + V(2D,83,BE,D4), V(D3,21,74,58), V(29,69,E0,49), V(44,C8,C9,8E), \ + V(6A,89,C2,75), V(78,79,8E,F4), V(6B,3E,58,99), V(DD,71,B9,27), \ + V(B6,4F,E1,BE), V(17,AD,88,F0), V(66,AC,20,C9), V(B4,3A,CE,7D), \ + V(18,4A,DF,63), V(82,31,1A,E5), V(60,33,51,97), V(45,7F,53,62), \ + V(E0,77,64,B1), V(84,AE,6B,BB), V(1C,A0,81,FE), V(94,2B,08,F9), \ + V(58,68,48,70), V(19,FD,45,8F), V(87,6C,DE,94), V(B7,F8,7B,52), \ + V(23,D3,73,AB), V(E2,02,4B,72), V(57,8F,1F,E3), V(2A,AB,55,66), \ + V(07,28,EB,B2), V(03,C2,B5,2F), V(9A,7B,C5,86), V(A5,08,37,D3), \ + V(F2,87,28,30), V(B2,A5,BF,23), V(BA,6A,03,02), V(5C,82,16,ED), \ + V(2B,1C,CF,8A), V(92,B4,79,A7), V(F0,F2,07,F3), V(A1,E2,69,4E), \ + V(CD,F4,DA,65), V(D5,BE,05,06), V(1F,62,34,D1), V(8A,FE,A6,C4), \ + V(9D,53,2E,34), V(A0,55,F3,A2), V(32,E1,8A,05), V(75,EB,F6,A4), \ + V(39,EC,83,0B), V(AA,EF,60,40), V(06,9F,71,5E), V(51,10,6E,BD), \ + V(F9,8A,21,3E), V(3D,06,DD,96), V(AE,05,3E,DD), V(46,BD,E6,4D), \ + V(B5,8D,54,91), V(05,5D,C4,71), V(6F,D4,06,04), V(FF,15,50,60), \ + V(24,FB,98,19), V(97,E9,BD,D6), V(CC,43,40,89), V(77,9E,D9,67), \ + V(BD,42,E8,B0), V(88,8B,89,07), V(38,5B,19,E7), V(DB,EE,C8,79), \ + V(47,0A,7C,A1), V(E9,0F,42,7C), V(C9,1E,84,F8), V(00,00,00,00), \ + V(83,86,80,09), V(48,ED,2B,32), V(AC,70,11,1E), V(4E,72,5A,6C), \ + V(FB,FF,0E,FD), V(56,38,85,0F), V(1E,D5,AE,3D), V(27,39,2D,36), \ + V(64,D9,0F,0A), V(21,A6,5C,68), V(D1,54,5B,9B), V(3A,2E,36,24), \ + V(B1,67,0A,0C), V(0F,E7,57,93), V(D2,96,EE,B4), V(9E,91,9B,1B), \ + V(4F,C5,C0,80), V(A2,20,DC,61), V(69,4B,77,5A), V(16,1A,12,1C), \ + V(0A,BA,93,E2), V(E5,2A,A0,C0), V(43,E0,22,3C), V(1D,17,1B,12), \ + V(0B,0D,09,0E), V(AD,C7,8B,F2), V(B9,A8,B6,2D), V(C8,A9,1E,14), \ + V(85,19,F1,57), V(4C,07,75,AF), V(BB,DD,99,EE), V(FD,60,7F,A3), \ + V(9F,26,01,F7), V(BC,F5,72,5C), V(C5,3B,66,44), V(34,7E,FB,5B), \ + V(76,29,43,8B), V(DC,C6,23,CB), V(68,FC,ED,B6), V(63,F1,E4,B8), \ + V(CA,DC,31,D7), V(10,85,63,42), V(40,22,97,13), V(20,11,C6,84), \ + V(7D,24,4A,85), V(F8,3D,BB,D2), V(11,32,F9,AE), V(6D,A1,29,C7), \ + V(4B,2F,9E,1D), V(F3,30,B2,DC), V(EC,52,86,0D), V(D0,E3,C1,77), \ + V(6C,16,B3,2B), V(99,B9,70,A9), V(FA,48,94,11), V(22,64,E9,47), \ + V(C4,8C,FC,A8), V(1A,3F,F0,A0), V(D8,2C,7D,56), V(EF,90,33,22), \ + V(C7,4E,49,87), V(C1,D1,38,D9), V(FE,A2,CA,8C), V(36,0B,D4,98), \ + V(CF,81,F5,A6), V(28,DE,7A,A5), V(26,8E,B7,DA), V(A4,BF,AD,3F), \ + V(E4,9D,3A,2C), V(0D,92,78,50), V(9B,CC,5F,6A), V(62,46,7E,54), \ + V(C2,13,8D,F6), V(E8,B8,D8,90), V(5E,F7,39,2E), V(F5,AF,C3,82), \ + V(BE,80,5D,9F), V(7C,93,D0,69), V(A9,2D,D5,6F), V(B3,12,25,CF), \ + V(3B,99,AC,C8), V(A7,7D,18,10), V(6E,63,9C,E8), V(7B,BB,3B,DB), \ + V(09,78,26,CD), V(F4,18,59,6E), V(01,B7,9A,EC), V(A8,9A,4F,83), \ + V(65,6E,95,E6), V(7E,E6,FF,AA), V(08,CF,BC,21), V(E6,E8,15,EF), \ + V(D9,9B,E7,BA), V(CE,36,6F,4A), V(D4,09,9F,EA), V(D6,7C,B0,29), \ + V(AF,B2,A4,31), V(31,23,3F,2A), V(30,94,A5,C6), V(C0,66,A2,35), \ + V(37,BC,4E,74), V(A6,CA,82,FC), V(B0,D0,90,E0), V(15,D8,A7,33), \ + V(4A,98,04,F1), V(F7,DA,EC,41), V(0E,50,CD,7F), V(2F,F6,91,17), \ + V(8D,D6,4D,76), V(4D,B0,EF,43), V(54,4D,AA,CC), V(DF,04,96,E4), \ + V(E3,B5,D1,9E), V(1B,88,6A,4C), V(B8,1F,2C,C1), V(7F,51,65,46), \ + V(04,EA,5E,9D), V(5D,35,8C,01), V(73,74,87,FA), V(2E,41,0B,FB), \ + V(5A,1D,67,B3), V(52,D2,DB,92), V(33,56,10,E9), V(13,47,D6,6D), \ + V(8C,61,D7,9A), V(7A,0C,A1,37), V(8E,14,F8,59), V(89,3C,13,EB), \ + V(EE,27,A9,CE), V(35,C9,61,B7), V(ED,E5,1C,E1), V(3C,B1,47,7A), \ + V(59,DF,D2,9C), V(3F,73,F2,55), V(79,CE,14,18), V(BF,37,C7,73), \ + V(EA,CD,F7,53), V(5B,AA,FD,5F), V(14,6F,3D,DF), V(86,DB,44,78), \ + V(81,F3,AF,CA), V(3E,C4,68,B9), V(2C,34,24,38), V(5F,40,A3,C2), \ + V(72,C3,1D,16), V(0C,25,E2,BC), V(8B,49,3C,28), V(41,95,0D,FF), \ + V(71,01,A8,39), V(DE,B3,0C,08), V(9C,E4,B4,D8), V(90,C1,56,64), \ + V(61,84,CB,7B), V(70,B6,32,D5), V(74,5C,6C,48), V(42,57,B8,D0) + +#define V(a,b,c,d) 0x##a##b##c##d +static const uint32_t RT0[256] = { RT }; +#undef V + +#if !defined(MBEDTLS_AES_FEWER_TABLES) + +#define V(a,b,c,d) 0x##b##c##d##a +static const uint32_t RT1[256] = { RT }; +#undef V + +#define V(a,b,c,d) 0x##c##d##a##b +static const uint32_t RT2[256] = { RT }; +#undef V + +#define V(a,b,c,d) 0x##d##a##b##c +static const uint32_t RT3[256] = { RT }; +#undef V + +#endif /* !MBEDTLS_AES_FEWER_TABLES */ + +#undef RT + +/* +* Round constants +*/ +static const uint32_t RCON[10] = + { + 0x00000001, 0x00000002, 0x00000004, 0x00000008, + 0x00000010, 0x00000020, 0x00000040, 0x00000080, + 0x0000001B, 0x00000036 +}; + +#else /* MBEDTLS_AES_ROM_TABLES */ + +/* +* Forward S-box & tables +*/ +static unsigned char AESFSb[256]; +static uint32_t FT0[256]; +#if !defined(MBEDTLS_AES_FEWER_TABLES) +static uint32_t FT1[256]; +static uint32_t FT2[256]; +static uint32_t FT3[256]; +#endif /* !MBEDTLS_AES_FEWER_TABLES */ + +/* +* Reverse S-box & tables +*/ +static unsigned char RSb[256]; +static uint32_t RT0[256]; +#if !defined(MBEDTLS_AES_FEWER_TABLES) +static uint32_t RT1[256]; +static uint32_t RT2[256]; +static uint32_t RT3[256]; +#endif /* !MBEDTLS_AES_FEWER_TABLES */ + +/* +* Round constants +*/ +static uint32_t RCON[10]; + +/* +* Tables generation code +*/ +#define ROTL8(x) ( ( (x) << 8 ) & 0xFFFFFFFF ) | ( (x) >> 24 ) +#define XTIME(x) ( ( (x) << 1 ) ^ ( ( (x) & 0x80 ) ? 0x1B : 0x00 ) ) +#define MUL(x,y) ( ( (x) && (y) ) ? pow[(log[(x)]+log[(y)]) % 255] : 0 ) + +static int aes_init_done = 0; + +static void aes_gen_tables( void ) +{ + int i, x, y, z; + int pow[256]; + int log[256]; + + /* + * compute pow and log tables over GF(2^8) + */ + for( i = 0, x = 1; i < 256; i++ ) + { + pow[i] = x; + log[x] = i; + x = MBEDTLS_BYTE_0( x ^ XTIME( x ) ); + } + + /* + * calculate the round constants + */ + for( i = 0, x = 1; i < 10; i++ ) + { + RCON[i] = (uint32_t) x; + x = MBEDTLS_BYTE_0( XTIME( x ) ); + } + + /* + * generate the forward and reverse S-boxes + */ + AESFSb[0x00] = 0x63; + RSb[0x63] = 0x00; + + for( i = 1; i < 256; i++ ) + { + x = pow[255 - log[i]]; + + y = x; y = MBEDTLS_BYTE_0( ( y << 1 ) | ( y >> 7 ) ); + x ^= y; y = MBEDTLS_BYTE_0( ( y << 1 ) | ( y >> 7 ) ); + x ^= y; y = MBEDTLS_BYTE_0( ( y << 1 ) | ( y >> 7 ) ); + x ^= y; y = MBEDTLS_BYTE_0( ( y << 1 ) | ( y >> 7 ) ); + x ^= y ^ 0x63; + + AESFSb[i] = (unsigned char) x; + RSb[x] = (unsigned char) i; + } + + /* + * generate the forward and reverse tables + */ + for( i = 0; i < 256; i++ ) + { + x = AESFSb[i]; + y = MBEDTLS_BYTE_0( XTIME( x ) ); + z = MBEDTLS_BYTE_0( y ^ x ); + + FT0[i] = ( (uint32_t) y ) ^ + ( (uint32_t) x << 8 ) ^ + ( (uint32_t) x << 16 ) ^ + ( (uint32_t) z << 24 ); + +#if !defined(MBEDTLS_AES_FEWER_TABLES) + FT1[i] = ROTL8( FT0[i] ); + FT2[i] = ROTL8( FT1[i] ); + FT3[i] = ROTL8( FT2[i] ); +#endif /* !MBEDTLS_AES_FEWER_TABLES */ + + x = RSb[i]; + + RT0[i] = ( (uint32_t) MUL( 0x0E, x ) ) ^ + ( (uint32_t) MUL( 0x09, x ) << 8 ) ^ + ( (uint32_t) MUL( 0x0D, x ) << 16 ) ^ + ( (uint32_t) MUL( 0x0B, x ) << 24 ); + +#if !defined(MBEDTLS_AES_FEWER_TABLES) + RT1[i] = ROTL8( RT0[i] ); + RT2[i] = ROTL8( RT1[i] ); + RT3[i] = ROTL8( RT2[i] ); +#endif /* !MBEDTLS_AES_FEWER_TABLES */ + } +} + +#undef ROTL8 + +#endif /* MBEDTLS_AES_ROM_TABLES */ + +#if defined(MBEDTLS_AES_FEWER_TABLES) + +#define ROTL8(x) ( (uint32_t)( ( x ) << 8 ) + (uint32_t)( ( x ) >> 24 ) ) +#define ROTL16(x) ( (uint32_t)( ( x ) << 16 ) + (uint32_t)( ( x ) >> 16 ) ) +#define ROTL24(x) ( (uint32_t)( ( x ) << 24 ) + (uint32_t)( ( x ) >> 8 ) ) + +#define AES_RT0(idx) RT0[idx] +#define AES_RT1(idx) ROTL8( RT0[idx] ) +#define AES_RT2(idx) ROTL16( RT0[idx] ) +#define AES_RT3(idx) ROTL24( RT0[idx] ) + +#define AES_FT0(idx) FT0[idx] +#define AES_FT1(idx) ROTL8( FT0[idx] ) +#define AES_FT2(idx) ROTL16( FT0[idx] ) +#define AES_FT3(idx) ROTL24( FT0[idx] ) + +#else /* MBEDTLS_AES_FEWER_TABLES */ + +#define AES_RT0(idx) RT0[idx] +#define AES_RT1(idx) RT1[idx] +#define AES_RT2(idx) RT2[idx] +#define AES_RT3(idx) RT3[idx] + +#define AES_FT0(idx) FT0[idx] +#define AES_FT1(idx) FT1[idx] +#define AES_FT2(idx) FT2[idx] +#define AES_FT3(idx) FT3[idx] + +#endif /* MBEDTLS_AES_FEWER_TABLES */ + +void mbedtls_aes_init( mbedtls_aes_context *ctx ) +{ + AES_VALIDATE( ctx != NULL ); + + memset( ctx, 0, sizeof( mbedtls_aes_context ) ); +} + +void mbedtls_aes_free( mbedtls_aes_context *ctx ) +{ + if( ctx == NULL ) + return; + + mbedtls_platform_zeroize( ctx, sizeof( mbedtls_aes_context ) ); +} + +#if defined(MBEDTLS_CIPHER_MODE_XTS) +void mbedtls_aes_xts_init( mbedtls_aes_xts_context *ctx ) +{ + AES_VALIDATE( ctx != NULL ); + + mbedtls_aes_init( &ctx->crypt ); + mbedtls_aes_init( &ctx->tweak ); +} + +void mbedtls_aes_xts_free( mbedtls_aes_xts_context *ctx ) +{ + if( ctx == NULL ) + return; + + mbedtls_aes_free( &ctx->crypt ); + mbedtls_aes_free( &ctx->tweak ); +} +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + +/* +* AES key schedule (encryption) +*/ +#if !defined(MBEDTLS_AES_SETKEY_ENC_ALT) +int mbedtls_aes_setkey_enc( mbedtls_aes_context *ctx, const unsigned char *key, + unsigned int keybits ) +{ + unsigned int i; + uint32_t *RK; + + AES_VALIDATE_RET( ctx != NULL ); + AES_VALIDATE_RET( key != NULL ); + + switch( keybits ) + { + case 128: ctx->nr = 10; break; + case 192: ctx->nr = 12; break; + case 256: ctx->nr = 14; break; + default : return( MBEDTLS_ERR_AES_INVALID_KEY_LENGTH ); + } + +#if !defined(MBEDTLS_AES_ROM_TABLES) + if( aes_init_done == 0 ) + { + aes_gen_tables(); + aes_init_done = 1; + } +#endif + +#if defined(MBEDTLS_PADLOCK_C) && defined(MBEDTLS_PADLOCK_ALIGN16) + if( aes_padlock_ace == -1 ) + aes_padlock_ace = mbedtls_padlock_has_support( MBEDTLS_PADLOCK_ACE ); + + if( aes_padlock_ace ) + ctx->rk = RK = MBEDTLS_PADLOCK_ALIGN16( ctx->buf ); + else +#endif + ctx->rk = RK = ctx->buf; + +#if defined(MBEDTLS_AESNI_C) && defined(MBEDTLS_HAVE_X86_64) + if( mbedtls_aesni_has_support( MBEDTLS_AESNI_AES ) ) + return( mbedtls_aesni_setkey_enc( (unsigned char *) ctx->rk, key, keybits ) ); +#endif + + for( i = 0; i < ( keybits >> 5 ); i++ ) + { + RK[i] = MBEDTLS_GET_UINT32_LE( key, i << 2 ); + } + + switch( ctx->nr ) + { + case 10: + + for( i = 0; i < 10; i++, RK += 4 ) + { + RK[4] = RK[0] ^ RCON[i] ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_1( RK[3] ) ] ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_2( RK[3] ) ] << 8 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_3( RK[3] ) ] << 16 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_0( RK[3] ) ] << 24 ); + + RK[5] = RK[1] ^ RK[4]; + RK[6] = RK[2] ^ RK[5]; + RK[7] = RK[3] ^ RK[6]; + } + break; + + case 12: + + for( i = 0; i < 8; i++, RK += 6 ) + { + RK[6] = RK[0] ^ RCON[i] ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_1( RK[5] ) ] ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_2( RK[5] ) ] << 8 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_3( RK[5] ) ] << 16 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_0( RK[5] ) ] << 24 ); + + RK[7] = RK[1] ^ RK[6]; + RK[8] = RK[2] ^ RK[7]; + RK[9] = RK[3] ^ RK[8]; + RK[10] = RK[4] ^ RK[9]; + RK[11] = RK[5] ^ RK[10]; + } + break; + + case 14: + + for( i = 0; i < 7; i++, RK += 8 ) + { + RK[8] = RK[0] ^ RCON[i] ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_1( RK[7] ) ] ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_2( RK[7] ) ] << 8 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_3( RK[7] ) ] << 16 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_0( RK[7] ) ] << 24 ); + + RK[9] = RK[1] ^ RK[8]; + RK[10] = RK[2] ^ RK[9]; + RK[11] = RK[3] ^ RK[10]; + + RK[12] = RK[4] ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_0( RK[11] ) ] ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_1( RK[11] ) ] << 8 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_2( RK[11] ) ] << 16 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_3( RK[11] ) ] << 24 ); + + RK[13] = RK[5] ^ RK[12]; + RK[14] = RK[6] ^ RK[13]; + RK[15] = RK[7] ^ RK[14]; + } + break; + } + + return( 0 ); +} +#endif /* !MBEDTLS_AES_SETKEY_ENC_ALT */ + +/* +* AES key schedule (decryption) +*/ +#if !defined(MBEDTLS_AES_SETKEY_DEC_ALT) +int mbedtls_aes_setkey_dec( mbedtls_aes_context *ctx, const unsigned char *key, + unsigned int keybits ) +{ + int i, j, ret; + mbedtls_aes_context cty; + uint32_t *RK; + uint32_t *SK; + + AES_VALIDATE_RET( ctx != NULL ); + AES_VALIDATE_RET( key != NULL ); + + mbedtls_aes_init( &cty ); + +#if defined(MBEDTLS_PADLOCK_C) && defined(MBEDTLS_PADLOCK_ALIGN16) + if( aes_padlock_ace == -1 ) + aes_padlock_ace = mbedtls_padlock_has_support( MBEDTLS_PADLOCK_ACE ); + + if( aes_padlock_ace ) + ctx->rk = RK = MBEDTLS_PADLOCK_ALIGN16( ctx->buf ); + else +#endif + ctx->rk = RK = ctx->buf; + + /* Also checks keybits */ + if( ( ret = mbedtls_aes_setkey_enc( &cty, key, keybits ) ) != 0 ) + goto exit; + + ctx->nr = cty.nr; + +#if defined(MBEDTLS_AESNI_C) && defined(MBEDTLS_HAVE_X86_64) + if( mbedtls_aesni_has_support( MBEDTLS_AESNI_AES ) ) + { + mbedtls_aesni_inverse_key( (unsigned char *) ctx->rk, + (const unsigned char *) cty.rk, ctx->nr ); + goto exit; + } +#endif + + SK = cty.rk + cty.nr * 4; + + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + + for( i = ctx->nr - 1, SK -= 8; i > 0; i--, SK -= 8 ) + { + for( j = 0; j < 4; j++, SK++ ) + { + *RK++ = AES_RT0( AESFSb[ MBEDTLS_BYTE_0( *SK ) ] ) ^ + AES_RT1( AESFSb[ MBEDTLS_BYTE_1( *SK ) ] ) ^ + AES_RT2( AESFSb[ MBEDTLS_BYTE_2( *SK ) ] ) ^ + AES_RT3( AESFSb[ MBEDTLS_BYTE_3( *SK ) ] ); + } + } + + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + +exit: + mbedtls_aes_free( &cty ); + + return( ret ); +} +#endif /* !MBEDTLS_AES_SETKEY_DEC_ALT */ + +#if defined(MBEDTLS_CIPHER_MODE_XTS) +static int mbedtls_aes_xts_decode_keys( const unsigned char *key, + unsigned int keybits, + const unsigned char **key1, + unsigned int *key1bits, + const unsigned char **key2, + unsigned int *key2bits ) +{ + const unsigned int half_keybits = keybits / 2; + const unsigned int half_keybytes = half_keybits / 8; + + switch( keybits ) + { + case 256: break; + case 512: break; + default : return( MBEDTLS_ERR_AES_INVALID_KEY_LENGTH ); + } + + *key1bits = half_keybits; + *key2bits = half_keybits; + *key1 = &key[0]; + *key2 = &key[half_keybytes]; + + return 0; +} + +int mbedtls_aes_xts_setkey_enc( mbedtls_aes_xts_context *ctx, + const unsigned char *key, + unsigned int keybits) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + const unsigned char *key1, *key2; + unsigned int key1bits, key2bits; + + AES_VALIDATE_RET( ctx != NULL ); + AES_VALIDATE_RET( key != NULL ); + + ret = mbedtls_aes_xts_decode_keys( key, keybits, &key1, &key1bits, + &key2, &key2bits ); + if( ret != 0 ) + return( ret ); + + /* Set the tweak key. Always set tweak key for the encryption mode. */ + ret = mbedtls_aes_setkey_enc( &ctx->tweak, key2, key2bits ); + if( ret != 0 ) + return( ret ); + + /* Set crypt key for encryption. */ + return mbedtls_aes_setkey_enc( &ctx->crypt, key1, key1bits ); +} + +int mbedtls_aes_xts_setkey_dec( mbedtls_aes_xts_context *ctx, + const unsigned char *key, + unsigned int keybits) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + const unsigned char *key1, *key2; + unsigned int key1bits, key2bits; + + AES_VALIDATE_RET( ctx != NULL ); + AES_VALIDATE_RET( key != NULL ); + + ret = mbedtls_aes_xts_decode_keys( key, keybits, &key1, &key1bits, + &key2, &key2bits ); + if( ret != 0 ) + return( ret ); + + /* Set the tweak key. Always set tweak key for encryption. */ + ret = mbedtls_aes_setkey_enc( &ctx->tweak, key2, key2bits ); + if( ret != 0 ) + return( ret ); + + /* Set crypt key for decryption. */ + return mbedtls_aes_setkey_dec( &ctx->crypt, key1, key1bits ); +} +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + +#define AES_FROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \ + do \ + { \ + (X0) = *RK++ ^ AES_FT0( MBEDTLS_BYTE_0( Y0 ) ) ^ \ + AES_FT1( MBEDTLS_BYTE_1( Y1 ) ) ^ \ + AES_FT2( MBEDTLS_BYTE_2( Y2 ) ) ^ \ + AES_FT3( MBEDTLS_BYTE_3( Y3 ) ); \ + \ + (X1) = *RK++ ^ AES_FT0( MBEDTLS_BYTE_0( Y1 ) ) ^ \ + AES_FT1( MBEDTLS_BYTE_1( Y2 ) ) ^ \ + AES_FT2( MBEDTLS_BYTE_2( Y3 ) ) ^ \ + AES_FT3( MBEDTLS_BYTE_3( Y0 ) ); \ + \ + (X2) = *RK++ ^ AES_FT0( MBEDTLS_BYTE_0( Y2 ) ) ^ \ + AES_FT1( MBEDTLS_BYTE_1( Y3 ) ) ^ \ + AES_FT2( MBEDTLS_BYTE_2( Y0 ) ) ^ \ + AES_FT3( MBEDTLS_BYTE_3( Y1 ) ); \ + \ + (X3) = *RK++ ^ AES_FT0( MBEDTLS_BYTE_0( Y3 ) ) ^ \ + AES_FT1( MBEDTLS_BYTE_1( Y0 ) ) ^ \ + AES_FT2( MBEDTLS_BYTE_2( Y1 ) ) ^ \ + AES_FT3( MBEDTLS_BYTE_3( Y2 ) ); \ + } while( 0 ) + +#define AES_RROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \ + do \ + { \ + (X0) = *RK++ ^ AES_RT0( MBEDTLS_BYTE_0( Y0 ) ) ^ \ + AES_RT1( MBEDTLS_BYTE_1( Y3 ) ) ^ \ + AES_RT2( MBEDTLS_BYTE_2( Y2 ) ) ^ \ + AES_RT3( MBEDTLS_BYTE_3( Y1 ) ); \ + \ + (X1) = *RK++ ^ AES_RT0( MBEDTLS_BYTE_0( Y1 ) ) ^ \ + AES_RT1( MBEDTLS_BYTE_1( Y0 ) ) ^ \ + AES_RT2( MBEDTLS_BYTE_2( Y3 ) ) ^ \ + AES_RT3( MBEDTLS_BYTE_3( Y2 ) ); \ + \ + (X2) = *RK++ ^ AES_RT0( MBEDTLS_BYTE_0( Y2 ) ) ^ \ + AES_RT1( MBEDTLS_BYTE_1( Y1 ) ) ^ \ + AES_RT2( MBEDTLS_BYTE_2( Y0 ) ) ^ \ + AES_RT3( MBEDTLS_BYTE_3( Y3 ) ); \ + \ + (X3) = *RK++ ^ AES_RT0( MBEDTLS_BYTE_0( Y3 ) ) ^ \ + AES_RT1( MBEDTLS_BYTE_1( Y2 ) ) ^ \ + AES_RT2( MBEDTLS_BYTE_2( Y1 ) ) ^ \ + AES_RT3( MBEDTLS_BYTE_3( Y0 ) ); \ + } while( 0 ) + +/* +* AES-ECB block encryption +*/ +#if !defined(MBEDTLS_AES_ENCRYPT_ALT) +int mbedtls_internal_aes_encrypt( mbedtls_aes_context *ctx, + const unsigned char input[16], + unsigned char output[16] ) +{ + int i; + uint32_t *RK = ctx->rk; + struct + { + uint32_t X[4]; + uint32_t Y[4]; + } t; + + t.X[0] = MBEDTLS_GET_UINT32_LE( input, 0 ); t.X[0] ^= *RK++; + t.X[1] = MBEDTLS_GET_UINT32_LE( input, 4 ); t.X[1] ^= *RK++; + t.X[2] = MBEDTLS_GET_UINT32_LE( input, 8 ); t.X[2] ^= *RK++; + t.X[3] = MBEDTLS_GET_UINT32_LE( input, 12 ); t.X[3] ^= *RK++; + + for( i = ( ctx->nr >> 1 ) - 1; i > 0; i-- ) + { + AES_FROUND( t.Y[0], t.Y[1], t.Y[2], t.Y[3], t.X[0], t.X[1], t.X[2], t.X[3] ); + AES_FROUND( t.X[0], t.X[1], t.X[2], t.X[3], t.Y[0], t.Y[1], t.Y[2], t.Y[3] ); + } + + AES_FROUND( t.Y[0], t.Y[1], t.Y[2], t.Y[3], t.X[0], t.X[1], t.X[2], t.X[3] ); + + t.X[0] = *RK++ ^ \ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_0( t.Y[0] ) ] ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_1( t.Y[1] ) ] << 8 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_2( t.Y[2] ) ] << 16 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_3( t.Y[3] ) ] << 24 ); + + t.X[1] = *RK++ ^ \ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_0( t.Y[1] ) ] ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_1( t.Y[2] ) ] << 8 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_2( t.Y[3] ) ] << 16 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_3( t.Y[0] ) ] << 24 ); + + t.X[2] = *RK++ ^ \ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_0( t.Y[2] ) ] ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_1( t.Y[3] ) ] << 8 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_2( t.Y[0] ) ] << 16 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_3( t.Y[1] ) ] << 24 ); + + t.X[3] = *RK++ ^ \ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_0( t.Y[3] ) ] ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_1( t.Y[0] ) ] << 8 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_2( t.Y[1] ) ] << 16 ) ^ + ( (uint32_t) AESFSb[ MBEDTLS_BYTE_3( t.Y[2] ) ] << 24 ); + + MBEDTLS_PUT_UINT32_LE( t.X[0], output, 0 ); + MBEDTLS_PUT_UINT32_LE( t.X[1], output, 4 ); + MBEDTLS_PUT_UINT32_LE( t.X[2], output, 8 ); + MBEDTLS_PUT_UINT32_LE( t.X[3], output, 12 ); + + mbedtls_platform_zeroize( &t, sizeof( t ) ); + + return( 0 ); +} +#endif /* !MBEDTLS_AES_ENCRYPT_ALT */ + +/* +* AES-ECB block decryption +*/ +#if !defined(MBEDTLS_AES_DECRYPT_ALT) +int mbedtls_internal_aes_decrypt( mbedtls_aes_context *ctx, + const unsigned char input[16], + unsigned char output[16] ) +{ + int i; + uint32_t *RK = ctx->rk; + struct + { + uint32_t X[4]; + uint32_t Y[4]; + } t; + + t.X[0] = MBEDTLS_GET_UINT32_LE( input, 0 ); t.X[0] ^= *RK++; + t.X[1] = MBEDTLS_GET_UINT32_LE( input, 4 ); t.X[1] ^= *RK++; + t.X[2] = MBEDTLS_GET_UINT32_LE( input, 8 ); t.X[2] ^= *RK++; + t.X[3] = MBEDTLS_GET_UINT32_LE( input, 12 ); t.X[3] ^= *RK++; + + for( i = ( ctx->nr >> 1 ) - 1; i > 0; i-- ) + { + AES_RROUND( t.Y[0], t.Y[1], t.Y[2], t.Y[3], t.X[0], t.X[1], t.X[2], t.X[3] ); + AES_RROUND( t.X[0], t.X[1], t.X[2], t.X[3], t.Y[0], t.Y[1], t.Y[2], t.Y[3] ); + } + + AES_RROUND( t.Y[0], t.Y[1], t.Y[2], t.Y[3], t.X[0], t.X[1], t.X[2], t.X[3] ); + + t.X[0] = *RK++ ^ \ + ( (uint32_t) RSb[ MBEDTLS_BYTE_0( t.Y[0] ) ] ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_1( t.Y[3] ) ] << 8 ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_2( t.Y[2] ) ] << 16 ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_3( t.Y[1] ) ] << 24 ); + + t.X[1] = *RK++ ^ \ + ( (uint32_t) RSb[ MBEDTLS_BYTE_0( t.Y[1] ) ] ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_1( t.Y[0] ) ] << 8 ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_2( t.Y[3] ) ] << 16 ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_3( t.Y[2] ) ] << 24 ); + + t.X[2] = *RK++ ^ \ + ( (uint32_t) RSb[ MBEDTLS_BYTE_0( t.Y[2] ) ] ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_1( t.Y[1] ) ] << 8 ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_2( t.Y[0] ) ] << 16 ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_3( t.Y[3] ) ] << 24 ); + + t.X[3] = *RK++ ^ \ + ( (uint32_t) RSb[ MBEDTLS_BYTE_0( t.Y[3] ) ] ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_1( t.Y[2] ) ] << 8 ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_2( t.Y[1] ) ] << 16 ) ^ + ( (uint32_t) RSb[ MBEDTLS_BYTE_3( t.Y[0] ) ] << 24 ); + + MBEDTLS_PUT_UINT32_LE( t.X[0], output, 0 ); + MBEDTLS_PUT_UINT32_LE( t.X[1], output, 4 ); + MBEDTLS_PUT_UINT32_LE( t.X[2], output, 8 ); + MBEDTLS_PUT_UINT32_LE( t.X[3], output, 12 ); + + mbedtls_platform_zeroize( &t, sizeof( t ) ); + + return( 0 ); +} +#endif /* !MBEDTLS_AES_DECRYPT_ALT */ + +/* +* AES-ECB block encryption/decryption +*/ +int mbedtls_aes_crypt_ecb( mbedtls_aes_context *ctx, + int mode, + const unsigned char input[16], + unsigned char output[16] ) +{ + AES_VALIDATE_RET( ctx != NULL ); + AES_VALIDATE_RET( input != NULL ); + AES_VALIDATE_RET( output != NULL ); + AES_VALIDATE_RET( mode == MBEDTLS_AES_ENCRYPT || + mode == MBEDTLS_AES_DECRYPT ); + +#if defined(MBEDTLS_AESNI_C) && defined(MBEDTLS_HAVE_X86_64) + if( mbedtls_aesni_has_support( MBEDTLS_AESNI_AES ) ) + return( mbedtls_aesni_crypt_ecb( ctx, mode, input, output ) ); +#endif + +#if defined(MBEDTLS_PADLOCK_C) && defined(MBEDTLS_HAVE_X86) + if( aes_padlock_ace > 0) + { + if( mbedtls_padlock_xcryptecb( ctx, mode, input, output ) == 0 ) + return( 0 ); + + // If padlock data misaligned, we just fall back to + // unaccelerated mode + // + } +#endif + + if( mode == MBEDTLS_AES_ENCRYPT ) + return( mbedtls_internal_aes_encrypt( ctx, input, output ) ); + else + return( mbedtls_internal_aes_decrypt( ctx, input, output ) ); +} + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +/* +* AES-CBC buffer encryption/decryption +*/ +int mbedtls_aes_crypt_cbc( mbedtls_aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + int i; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char temp[16]; + + AES_VALIDATE_RET( ctx != NULL ); + AES_VALIDATE_RET( mode == MBEDTLS_AES_ENCRYPT || + mode == MBEDTLS_AES_DECRYPT ); + AES_VALIDATE_RET( iv != NULL ); + AES_VALIDATE_RET( input != NULL ); + AES_VALIDATE_RET( output != NULL ); + + if( length % 16 ) + return( MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH ); + +#if defined(MBEDTLS_PADLOCK_C) && defined(MBEDTLS_HAVE_X86) + if( aes_padlock_ace > 0 ) + { + if( mbedtls_padlock_xcryptcbc( ctx, mode, length, iv, input, output ) == 0 ) + return( 0 ); + + // If padlock data misaligned, we just fall back to + // unaccelerated mode + // + } +#endif + + if( mode == MBEDTLS_AES_DECRYPT ) + { + while( length > 0 ) + { + memcpy( temp, input, 16 ); + ret = mbedtls_aes_crypt_ecb( ctx, mode, input, output ); + if( ret != 0 ) + goto exit; + + for( i = 0; i < 16; i++ ) + output[i] = (unsigned char)( output[i] ^ iv[i] ); + + memcpy( iv, temp, 16 ); + + input += 16; + output += 16; + length -= 16; + } + } + else + { + while( length > 0 ) + { + for( i = 0; i < 16; i++ ) + output[i] = (unsigned char)( input[i] ^ iv[i] ); + + ret = mbedtls_aes_crypt_ecb( ctx, mode, output, output ); + if( ret != 0 ) + goto exit; + memcpy( iv, output, 16 ); + + input += 16; + output += 16; + length -= 16; + } + } + ret = 0; + +exit: + return( ret ); +} +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_XTS) + +typedef unsigned char mbedtls_be128[16]; + +/* +* GF(2^128) multiplication function +* +* This function multiplies a field element by x in the polynomial field +* representation. It uses 64-bit word operations to gain speed but compensates +* for machine endianess and hence works correctly on both big and little +* endian machines. +*/ +static void mbedtls_gf128mul_x_ble( unsigned char r[16], + const unsigned char x[16] ) +{ + uint64_t a, b, ra, rb; + + a = MBEDTLS_GET_UINT64_LE( x, 0 ); + b = MBEDTLS_GET_UINT64_LE( x, 8 ); + + ra = ( a << 1 ) ^ 0x0087 >> ( 8 - ( ( b >> 63 ) << 3 ) ); + rb = ( a >> 63 ) | ( b << 1 ); + + MBEDTLS_PUT_UINT64_LE( ra, r, 0 ); + MBEDTLS_PUT_UINT64_LE( rb, r, 8 ); +} + +/* +* AES-XTS buffer encryption/decryption +*/ +int mbedtls_aes_crypt_xts( mbedtls_aes_xts_context *ctx, + int mode, + size_t length, + const unsigned char data_unit[16], + const unsigned char *input, + unsigned char *output ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + size_t blocks = length / 16; + size_t leftover = length % 16; + unsigned char tweak[16]; + unsigned char prev_tweak[16]; + unsigned char tmp[16]; + + AES_VALIDATE_RET( ctx != NULL ); + AES_VALIDATE_RET( mode == MBEDTLS_AES_ENCRYPT || + mode == MBEDTLS_AES_DECRYPT ); + AES_VALIDATE_RET( data_unit != NULL ); + AES_VALIDATE_RET( input != NULL ); + AES_VALIDATE_RET( output != NULL ); + + /* Data units must be at least 16 bytes long. */ + if( length < 16 ) + return MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH; + + /* NIST SP 800-38E disallows data units larger than 2**20 blocks. */ + if( length > ( 1 << 20 ) * 16 ) + return MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH; + + /* Compute the tweak. */ + ret = mbedtls_aes_crypt_ecb( &ctx->tweak, MBEDTLS_AES_ENCRYPT, + data_unit, tweak ); + if( ret != 0 ) + return( ret ); + + while( blocks-- ) + { + size_t i; + + if( leftover && ( mode == MBEDTLS_AES_DECRYPT ) && blocks == 0 ) + { + /* We are on the last block in a decrypt operation that has + * leftover bytes, so we need to use the next tweak for this block, + * and this tweak for the lefover bytes. Save the current tweak for + * the leftovers and then update the current tweak for use on this, + * the last full block. */ + memcpy( prev_tweak, tweak, sizeof( tweak ) ); + mbedtls_gf128mul_x_ble( tweak, tweak ); + } + + for( i = 0; i < 16; i++ ) + tmp[i] = input[i] ^ tweak[i]; + + ret = mbedtls_aes_crypt_ecb( &ctx->crypt, mode, tmp, tmp ); + if( ret != 0 ) + return( ret ); + + for( i = 0; i < 16; i++ ) + output[i] = tmp[i] ^ tweak[i]; + + /* Update the tweak for the next block. */ + mbedtls_gf128mul_x_ble( tweak, tweak ); + + output += 16; + input += 16; + } + + if( leftover ) + { + /* If we are on the leftover bytes in a decrypt operation, we need to + * use the previous tweak for these bytes (as saved in prev_tweak). */ + unsigned char *t = mode == MBEDTLS_AES_DECRYPT ? prev_tweak : tweak; + + /* We are now on the final part of the data unit, which doesn't divide + * evenly by 16. It's time for ciphertext stealing. */ + size_t i; + unsigned char *prev_output = output - 16; + + /* Copy ciphertext bytes from the previous block to our output for each + * byte of cyphertext we won't steal. At the same time, copy the + * remainder of the input for this final round (since the loop bounds + * are the same). */ + for( i = 0; i < leftover; i++ ) + { + output[i] = prev_output[i]; + tmp[i] = input[i] ^ t[i]; + } + + /* Copy ciphertext bytes from the previous block for input in this + * round. */ + for( ; i < 16; i++ ) + tmp[i] = prev_output[i] ^ t[i]; + + ret = mbedtls_aes_crypt_ecb( &ctx->crypt, mode, tmp, tmp ); + if( ret != 0 ) + return ret; + + /* Write the result back to the previous block, overriding the previous + * output we copied. */ + for( i = 0; i < 16; i++ ) + prev_output[i] = tmp[i] ^ t[i]; + } + + return( 0 ); +} +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +/* +* AES-CFB128 buffer encryption/decryption +*/ +int mbedtls_aes_crypt_cfb128( mbedtls_aes_context *ctx, + int mode, + size_t length, + size_t *iv_off, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + int c; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + size_t n; + + AES_VALIDATE_RET( ctx != NULL ); + AES_VALIDATE_RET( mode == MBEDTLS_AES_ENCRYPT || + mode == MBEDTLS_AES_DECRYPT ); + AES_VALIDATE_RET( iv_off != NULL ); + AES_VALIDATE_RET( iv != NULL ); + AES_VALIDATE_RET( input != NULL ); + AES_VALIDATE_RET( output != NULL ); + + n = *iv_off; + + if( n > 15 ) + return( MBEDTLS_ERR_AES_BAD_INPUT_DATA ); + + if( mode == MBEDTLS_AES_DECRYPT ) + { + while( length-- ) + { + if( n == 0 ) + { + ret = mbedtls_aes_crypt_ecb( ctx, MBEDTLS_AES_ENCRYPT, iv, iv ); + if( ret != 0 ) + goto exit; + } + + c = *input++; + *output++ = (unsigned char)( c ^ iv[n] ); + iv[n] = (unsigned char) c; + + n = ( n + 1 ) & 0x0F; + } + } + else + { + while( length-- ) + { + if( n == 0 ) + { + ret = mbedtls_aes_crypt_ecb( ctx, MBEDTLS_AES_ENCRYPT, iv, iv ); + if( ret != 0 ) + goto exit; + } + + iv[n] = *output++ = (unsigned char)( iv[n] ^ *input++ ); + + n = ( n + 1 ) & 0x0F; + } + } + + *iv_off = n; + ret = 0; + +exit: + return( ret ); +} + +/* +* AES-CFB8 buffer encryption/decryption +*/ +int mbedtls_aes_crypt_cfb8( mbedtls_aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char c; + unsigned char ov[17]; + + AES_VALIDATE_RET( ctx != NULL ); + AES_VALIDATE_RET( mode == MBEDTLS_AES_ENCRYPT || + mode == MBEDTLS_AES_DECRYPT ); + AES_VALIDATE_RET( iv != NULL ); + AES_VALIDATE_RET( input != NULL ); + AES_VALIDATE_RET( output != NULL ); + while( length-- ) + { + memcpy( ov, iv, 16 ); + ret = mbedtls_aes_crypt_ecb( ctx, MBEDTLS_AES_ENCRYPT, iv, iv ); + if( ret != 0 ) + goto exit; + + if( mode == MBEDTLS_AES_DECRYPT ) + ov[16] = *input; + + c = *output++ = (unsigned char)( iv[0] ^ *input++ ); + + if( mode == MBEDTLS_AES_ENCRYPT ) + ov[16] = c; + + memcpy( iv, ov + 1, 16 ); + } + ret = 0; + +exit: + return( ret ); +} +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_OFB) +/* +* AES-OFB (Output Feedback Mode) buffer encryption/decryption +*/ +int mbedtls_aes_crypt_ofb( mbedtls_aes_context *ctx, + size_t length, + size_t *iv_off, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + int ret = 0; + size_t n; + + AES_VALIDATE_RET( ctx != NULL ); + AES_VALIDATE_RET( iv_off != NULL ); + AES_VALIDATE_RET( iv != NULL ); + AES_VALIDATE_RET( input != NULL ); + AES_VALIDATE_RET( output != NULL ); + + n = *iv_off; + + if( n > 15 ) + return( MBEDTLS_ERR_AES_BAD_INPUT_DATA ); + + while( length-- ) + { + if( n == 0 ) + { + ret = mbedtls_aes_crypt_ecb( ctx, MBEDTLS_AES_ENCRYPT, iv, iv ); + if( ret != 0 ) + goto exit; + } + *output++ = *input++ ^ iv[n]; + + n = ( n + 1 ) & 0x0F; + } + + *iv_off = n; + +exit: + return( ret ); +} +#endif /* MBEDTLS_CIPHER_MODE_OFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +/* +* AES-CTR buffer encryption/decryption +*/ +int mbedtls_aes_crypt_ctr( mbedtls_aes_context *ctx, + size_t length, + size_t *nc_off, + unsigned char nonce_counter[16], + unsigned char stream_block[16], + const unsigned char *input, + unsigned char *output ) +{ + int c, i; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + size_t n; + + AES_VALIDATE_RET( ctx != NULL ); + AES_VALIDATE_RET( nc_off != NULL ); + AES_VALIDATE_RET( nonce_counter != NULL ); + AES_VALIDATE_RET( stream_block != NULL ); + AES_VALIDATE_RET( input != NULL ); + AES_VALIDATE_RET( output != NULL ); + + n = *nc_off; + + if ( n > 0x0F ) + return( MBEDTLS_ERR_AES_BAD_INPUT_DATA ); + + while( length-- ) + { + if( n == 0 ) { + ret = mbedtls_aes_crypt_ecb( ctx, MBEDTLS_AES_ENCRYPT, nonce_counter, stream_block ); + if( ret != 0 ) + goto exit; + + for( i = 16; i > 0; i-- ) + if( ++nonce_counter[i - 1] != 0 ) + break; + } + c = *input++; + *output++ = (unsigned char)( c ^ stream_block[n] ); + + n = ( n + 1 ) & 0x0F; + } + + *nc_off = n; + ret = 0; + +exit: + return( ret ); +} +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +#endif /* !MBEDTLS_AES_ALT */ + +#if defined(MBEDTLS_SELF_TEST) +/* +* AES test vectors from: +* +* http://csrc.nist.gov/archive/aes/rijndael/rijndael-vals.zip +*/ +static const unsigned char aes_test_ecb_dec[3][16] = + { + { 0x44, 0x41, 0x6A, 0xC2, 0xD1, 0xF5, 0x3C, 0x58, + 0x33, 0x03, 0x91, 0x7E, 0x6B, 0xE9, 0xEB, 0xE0 }, + { 0x48, 0xE3, 0x1E, 0x9E, 0x25, 0x67, 0x18, 0xF2, + 0x92, 0x29, 0x31, 0x9C, 0x19, 0xF1, 0x5B, 0xA4 }, + { 0x05, 0x8C, 0xCF, 0xFD, 0xBB, 0xCB, 0x38, 0x2D, + 0x1F, 0x6F, 0x56, 0x58, 0x5D, 0x8A, 0x4A, 0xDE } +}; + +static const unsigned char aes_test_ecb_enc[3][16] = + { + { 0xC3, 0x4C, 0x05, 0x2C, 0xC0, 0xDA, 0x8D, 0x73, + 0x45, 0x1A, 0xFE, 0x5F, 0x03, 0xBE, 0x29, 0x7F }, + { 0xF3, 0xF6, 0x75, 0x2A, 0xE8, 0xD7, 0x83, 0x11, + 0x38, 0xF0, 0x41, 0x56, 0x06, 0x31, 0xB1, 0x14 }, + { 0x8B, 0x79, 0xEE, 0xCC, 0x93, 0xA0, 0xEE, 0x5D, + 0xFF, 0x30, 0xB4, 0xEA, 0x21, 0x63, 0x6D, 0xA4 } +}; + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static const unsigned char aes_test_cbc_dec[3][16] = + { + { 0xFA, 0xCA, 0x37, 0xE0, 0xB0, 0xC8, 0x53, 0x73, + 0xDF, 0x70, 0x6E, 0x73, 0xF7, 0xC9, 0xAF, 0x86 }, + { 0x5D, 0xF6, 0x78, 0xDD, 0x17, 0xBA, 0x4E, 0x75, + 0xB6, 0x17, 0x68, 0xC6, 0xAD, 0xEF, 0x7C, 0x7B }, + { 0x48, 0x04, 0xE1, 0x81, 0x8F, 0xE6, 0x29, 0x75, + 0x19, 0xA3, 0xE8, 0x8C, 0x57, 0x31, 0x04, 0x13 } +}; + +static const unsigned char aes_test_cbc_enc[3][16] = + { + { 0x8A, 0x05, 0xFC, 0x5E, 0x09, 0x5A, 0xF4, 0x84, + 0x8A, 0x08, 0xD3, 0x28, 0xD3, 0x68, 0x8E, 0x3D }, + { 0x7B, 0xD9, 0x66, 0xD5, 0x3A, 0xD8, 0xC1, 0xBB, + 0x85, 0xD2, 0xAD, 0xFA, 0xE8, 0x7B, 0xB1, 0x04 }, + { 0xFE, 0x3C, 0x53, 0x65, 0x3E, 0x2F, 0x45, 0xB5, + 0x6F, 0xCD, 0x88, 0xB2, 0xCC, 0x89, 0x8F, 0xF0 } +}; +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +/* +* AES-CFB128 test vectors from: +* +* http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf +*/ +static const unsigned char aes_test_cfb128_key[3][32] = + { + { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, + 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }, + { 0x8E, 0x73, 0xB0, 0xF7, 0xDA, 0x0E, 0x64, 0x52, + 0xC8, 0x10, 0xF3, 0x2B, 0x80, 0x90, 0x79, 0xE5, + 0x62, 0xF8, 0xEA, 0xD2, 0x52, 0x2C, 0x6B, 0x7B }, + { 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE, + 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81, + 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7, + 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4 } +}; + +static const unsigned char aes_test_cfb128_iv[16] = + { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F +}; + +static const unsigned char aes_test_cfb128_pt[64] = + { + 0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96, + 0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A, + 0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C, + 0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51, + 0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11, + 0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF, + 0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17, + 0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10 +}; + +static const unsigned char aes_test_cfb128_ct[3][64] = + { + { 0x3B, 0x3F, 0xD9, 0x2E, 0xB7, 0x2D, 0xAD, 0x20, + 0x33, 0x34, 0x49, 0xF8, 0xE8, 0x3C, 0xFB, 0x4A, + 0xC8, 0xA6, 0x45, 0x37, 0xA0, 0xB3, 0xA9, 0x3F, + 0xCD, 0xE3, 0xCD, 0xAD, 0x9F, 0x1C, 0xE5, 0x8B, + 0x26, 0x75, 0x1F, 0x67, 0xA3, 0xCB, 0xB1, 0x40, + 0xB1, 0x80, 0x8C, 0xF1, 0x87, 0xA4, 0xF4, 0xDF, + 0xC0, 0x4B, 0x05, 0x35, 0x7C, 0x5D, 0x1C, 0x0E, + 0xEA, 0xC4, 0xC6, 0x6F, 0x9F, 0xF7, 0xF2, 0xE6 }, + { 0xCD, 0xC8, 0x0D, 0x6F, 0xDD, 0xF1, 0x8C, 0xAB, + 0x34, 0xC2, 0x59, 0x09, 0xC9, 0x9A, 0x41, 0x74, + 0x67, 0xCE, 0x7F, 0x7F, 0x81, 0x17, 0x36, 0x21, + 0x96, 0x1A, 0x2B, 0x70, 0x17, 0x1D, 0x3D, 0x7A, + 0x2E, 0x1E, 0x8A, 0x1D, 0xD5, 0x9B, 0x88, 0xB1, + 0xC8, 0xE6, 0x0F, 0xED, 0x1E, 0xFA, 0xC4, 0xC9, + 0xC0, 0x5F, 0x9F, 0x9C, 0xA9, 0x83, 0x4F, 0xA0, + 0x42, 0xAE, 0x8F, 0xBA, 0x58, 0x4B, 0x09, 0xFF }, + { 0xDC, 0x7E, 0x84, 0xBF, 0xDA, 0x79, 0x16, 0x4B, + 0x7E, 0xCD, 0x84, 0x86, 0x98, 0x5D, 0x38, 0x60, + 0x39, 0xFF, 0xED, 0x14, 0x3B, 0x28, 0xB1, 0xC8, + 0x32, 0x11, 0x3C, 0x63, 0x31, 0xE5, 0x40, 0x7B, + 0xDF, 0x10, 0x13, 0x24, 0x15, 0xE5, 0x4B, 0x92, + 0xA1, 0x3E, 0xD0, 0xA8, 0x26, 0x7A, 0xE2, 0xF9, + 0x75, 0xA3, 0x85, 0x74, 0x1A, 0xB9, 0xCE, 0xF8, + 0x20, 0x31, 0x62, 0x3D, 0x55, 0xB1, 0xE4, 0x71 } +}; +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_OFB) +/* +* AES-OFB test vectors from: +* +* https://csrc.nist.gov/publications/detail/sp/800-38a/final +*/ +static const unsigned char aes_test_ofb_key[3][32] = + { + { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, + 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }, + { 0x8E, 0x73, 0xB0, 0xF7, 0xDA, 0x0E, 0x64, 0x52, + 0xC8, 0x10, 0xF3, 0x2B, 0x80, 0x90, 0x79, 0xE5, + 0x62, 0xF8, 0xEA, 0xD2, 0x52, 0x2C, 0x6B, 0x7B }, + { 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE, + 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81, + 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7, + 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4 } +}; + +static const unsigned char aes_test_ofb_iv[16] = + { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F +}; + +static const unsigned char aes_test_ofb_pt[64] = + { + 0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96, + 0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A, + 0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C, + 0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51, + 0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11, + 0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF, + 0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17, + 0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10 +}; + +static const unsigned char aes_test_ofb_ct[3][64] = + { + { 0x3B, 0x3F, 0xD9, 0x2E, 0xB7, 0x2D, 0xAD, 0x20, + 0x33, 0x34, 0x49, 0xF8, 0xE8, 0x3C, 0xFB, 0x4A, + 0x77, 0x89, 0x50, 0x8d, 0x16, 0x91, 0x8f, 0x03, + 0xf5, 0x3c, 0x52, 0xda, 0xc5, 0x4e, 0xd8, 0x25, + 0x97, 0x40, 0x05, 0x1e, 0x9c, 0x5f, 0xec, 0xf6, + 0x43, 0x44, 0xf7, 0xa8, 0x22, 0x60, 0xed, 0xcc, + 0x30, 0x4c, 0x65, 0x28, 0xf6, 0x59, 0xc7, 0x78, + 0x66, 0xa5, 0x10, 0xd9, 0xc1, 0xd6, 0xae, 0x5e }, + { 0xCD, 0xC8, 0x0D, 0x6F, 0xDD, 0xF1, 0x8C, 0xAB, + 0x34, 0xC2, 0x59, 0x09, 0xC9, 0x9A, 0x41, 0x74, + 0xfc, 0xc2, 0x8b, 0x8d, 0x4c, 0x63, 0x83, 0x7c, + 0x09, 0xe8, 0x17, 0x00, 0xc1, 0x10, 0x04, 0x01, + 0x8d, 0x9a, 0x9a, 0xea, 0xc0, 0xf6, 0x59, 0x6f, + 0x55, 0x9c, 0x6d, 0x4d, 0xaf, 0x59, 0xa5, 0xf2, + 0x6d, 0x9f, 0x20, 0x08, 0x57, 0xca, 0x6c, 0x3e, + 0x9c, 0xac, 0x52, 0x4b, 0xd9, 0xac, 0xc9, 0x2a }, + { 0xDC, 0x7E, 0x84, 0xBF, 0xDA, 0x79, 0x16, 0x4B, + 0x7E, 0xCD, 0x84, 0x86, 0x98, 0x5D, 0x38, 0x60, + 0x4f, 0xeb, 0xdc, 0x67, 0x40, 0xd2, 0x0b, 0x3a, + 0xc8, 0x8f, 0x6a, 0xd8, 0x2a, 0x4f, 0xb0, 0x8d, + 0x71, 0xab, 0x47, 0xa0, 0x86, 0xe8, 0x6e, 0xed, + 0xf3, 0x9d, 0x1c, 0x5b, 0xba, 0x97, 0xc4, 0x08, + 0x01, 0x26, 0x14, 0x1d, 0x67, 0xf3, 0x7b, 0xe8, + 0x53, 0x8f, 0x5a, 0x8b, 0xe7, 0x40, 0xe4, 0x84 } +}; +#endif /* MBEDTLS_CIPHER_MODE_OFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +/* +* AES-CTR test vectors from: +* +* http://www.faqs.org/rfcs/rfc3686.html +*/ + +static const unsigned char aes_test_ctr_key[3][16] = + { + { 0xAE, 0x68, 0x52, 0xF8, 0x12, 0x10, 0x67, 0xCC, + 0x4B, 0xF7, 0xA5, 0x76, 0x55, 0x77, 0xF3, 0x9E }, + { 0x7E, 0x24, 0x06, 0x78, 0x17, 0xFA, 0xE0, 0xD7, + 0x43, 0xD6, 0xCE, 0x1F, 0x32, 0x53, 0x91, 0x63 }, + { 0x76, 0x91, 0xBE, 0x03, 0x5E, 0x50, 0x20, 0xA8, + 0xAC, 0x6E, 0x61, 0x85, 0x29, 0xF9, 0xA0, 0xDC } +}; + +static const unsigned char aes_test_ctr_nonce_counter[3][16] = + { + { 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }, + { 0x00, 0x6C, 0xB6, 0xDB, 0xC0, 0x54, 0x3B, 0x59, + 0xDA, 0x48, 0xD9, 0x0B, 0x00, 0x00, 0x00, 0x01 }, + { 0x00, 0xE0, 0x01, 0x7B, 0x27, 0x77, 0x7F, 0x3F, + 0x4A, 0x17, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x01 } +}; + +static const unsigned char aes_test_ctr_pt[3][48] = + { + { 0x53, 0x69, 0x6E, 0x67, 0x6C, 0x65, 0x20, 0x62, + 0x6C, 0x6F, 0x63, 0x6B, 0x20, 0x6D, 0x73, 0x67 }, + + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F }, + + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + 0x20, 0x21, 0x22, 0x23 } +}; + +static const unsigned char aes_test_ctr_ct[3][48] = + { + { 0xE4, 0x09, 0x5D, 0x4F, 0xB7, 0xA7, 0xB3, 0x79, + 0x2D, 0x61, 0x75, 0xA3, 0x26, 0x13, 0x11, 0xB8 }, + { 0x51, 0x04, 0xA1, 0x06, 0x16, 0x8A, 0x72, 0xD9, + 0x79, 0x0D, 0x41, 0xEE, 0x8E, 0xDA, 0xD3, 0x88, + 0xEB, 0x2E, 0x1E, 0xFC, 0x46, 0xDA, 0x57, 0xC8, + 0xFC, 0xE6, 0x30, 0xDF, 0x91, 0x41, 0xBE, 0x28 }, + { 0xC1, 0xCF, 0x48, 0xA8, 0x9F, 0x2F, 0xFD, 0xD9, + 0xCF, 0x46, 0x52, 0xE9, 0xEF, 0xDB, 0x72, 0xD7, + 0x45, 0x40, 0xA4, 0x2B, 0xDE, 0x6D, 0x78, 0x36, + 0xD5, 0x9A, 0x5C, 0xEA, 0xAE, 0xF3, 0x10, 0x53, + 0x25, 0xB2, 0x07, 0x2F } +}; + +static const int aes_test_ctr_len[3] = + { 16, 32, 36 }; +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +#if defined(MBEDTLS_CIPHER_MODE_XTS) +/* +* AES-XTS test vectors from: +* +* IEEE P1619/D16 Annex B +* https://web.archive.org/web/20150629024421/http://grouper.ieee.org/groups/1619/email/pdf00086.pdf +* (Archived from original at http://grouper.ieee.org/groups/1619/email/pdf00086.pdf) +*/ +static const unsigned char aes_test_xts_key[][32] = + { + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 }, + { 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, + 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 }, +}; + +static const unsigned char aes_test_xts_pt32[][32] = + { + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44 }, + { 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44 }, +}; + +static const unsigned char aes_test_xts_ct32[][32] = + { + { 0x91, 0x7c, 0xf6, 0x9e, 0xbd, 0x68, 0xb2, 0xec, + 0x9b, 0x9f, 0xe9, 0xa3, 0xea, 0xdd, 0xa6, 0x92, + 0xcd, 0x43, 0xd2, 0xf5, 0x95, 0x98, 0xed, 0x85, + 0x8c, 0x02, 0xc2, 0x65, 0x2f, 0xbf, 0x92, 0x2e }, + { 0xc4, 0x54, 0x18, 0x5e, 0x6a, 0x16, 0x93, 0x6e, + 0x39, 0x33, 0x40, 0x38, 0xac, 0xef, 0x83, 0x8b, + 0xfb, 0x18, 0x6f, 0xff, 0x74, 0x80, 0xad, 0xc4, + 0x28, 0x93, 0x82, 0xec, 0xd6, 0xd3, 0x94, 0xf0 }, + { 0xaf, 0x85, 0x33, 0x6b, 0x59, 0x7a, 0xfc, 0x1a, + 0x90, 0x0b, 0x2e, 0xb2, 0x1e, 0xc9, 0x49, 0xd2, + 0x92, 0xdf, 0x4c, 0x04, 0x7e, 0x0b, 0x21, 0x53, + 0x21, 0x86, 0xa5, 0x97, 0x1a, 0x22, 0x7a, 0x89 }, +}; + +static const unsigned char aes_test_xts_data_unit[][16] = + { + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x33, 0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x33, 0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, +}; + +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + +/* +* Checkup routine +*/ +int mbedtls_aes_self_test( int verbose ) +{ + int ret = 0, i, j, u, mode; + unsigned int keybits; + unsigned char key[32]; + unsigned char buf[64]; + const unsigned char *aes_tests; +#if defined(MBEDTLS_CIPHER_MODE_CBC) || defined(MBEDTLS_CIPHER_MODE_CFB) + unsigned char iv[16]; +#endif +#if defined(MBEDTLS_CIPHER_MODE_CBC) + unsigned char prv[16]; +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) || defined(MBEDTLS_CIPHER_MODE_CFB) || \ + defined(MBEDTLS_CIPHER_MODE_OFB) + size_t offset; +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) || defined(MBEDTLS_CIPHER_MODE_XTS) + int len; +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + unsigned char nonce_counter[16]; + unsigned char stream_block[16]; +#endif + mbedtls_aes_context ctx; + + memset( key, 0, 32 ); + mbedtls_aes_init( &ctx ); + + /* + * ECB mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + keybits = 128 + u * 64; + mode = i & 1; + + if( verbose != 0 ) + mbedtls_printf( " AES-ECB-%3u (%s): ", keybits, + ( mode == MBEDTLS_AES_DECRYPT ) ? "dec" : "enc" ); + + memset( buf, 0, 16 ); + + if( mode == MBEDTLS_AES_DECRYPT ) + { + ret = mbedtls_aes_setkey_dec( &ctx, key, keybits ); + aes_tests = aes_test_ecb_dec[u]; + } + else + { + ret = mbedtls_aes_setkey_enc( &ctx, key, keybits ); + aes_tests = aes_test_ecb_enc[u]; + } + + /* + * AES-192 is an optional feature that may be unavailable when + * there is an alternative underlying implementation i.e. when + * MBEDTLS_AES_ALT is defined. + */ + if( ret == MBEDTLS_ERR_PLATFORM_FEATURE_UNSUPPORTED && keybits == 192 ) + { + mbedtls_printf( "skipped\n" ); + continue; + } + else if( ret != 0 ) + { + goto exit; + } + + for( j = 0; j < 10000; j++ ) + { + ret = mbedtls_aes_crypt_ecb( &ctx, mode, buf, buf ); + if( ret != 0 ) + goto exit; + } + + if( memcmp( buf, aes_tests, 16 ) != 0 ) + { + ret = 1; + goto exit; + } + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + } + + if( verbose != 0 ) + mbedtls_printf( "\n" ); + +#if defined(MBEDTLS_CIPHER_MODE_CBC) + /* + * CBC mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + keybits = 128 + u * 64; + mode = i & 1; + + if( verbose != 0 ) + mbedtls_printf( " AES-CBC-%3u (%s): ", keybits, + ( mode == MBEDTLS_AES_DECRYPT ) ? "dec" : "enc" ); + + memset( iv , 0, 16 ); + memset( prv, 0, 16 ); + memset( buf, 0, 16 ); + + if( mode == MBEDTLS_AES_DECRYPT ) + { + ret = mbedtls_aes_setkey_dec( &ctx, key, keybits ); + aes_tests = aes_test_cbc_dec[u]; + } + else + { + ret = mbedtls_aes_setkey_enc( &ctx, key, keybits ); + aes_tests = aes_test_cbc_enc[u]; + } + + /* + * AES-192 is an optional feature that may be unavailable when + * there is an alternative underlying implementation i.e. when + * MBEDTLS_AES_ALT is defined. + */ + if( ret == MBEDTLS_ERR_PLATFORM_FEATURE_UNSUPPORTED && keybits == 192 ) + { + mbedtls_printf( "skipped\n" ); + continue; + } + else if( ret != 0 ) + { + goto exit; + } + + for( j = 0; j < 10000; j++ ) + { + if( mode == MBEDTLS_AES_ENCRYPT ) + { + unsigned char tmp[16]; + + memcpy( tmp, prv, 16 ); + memcpy( prv, buf, 16 ); + memcpy( buf, tmp, 16 ); + } + + ret = mbedtls_aes_crypt_cbc( &ctx, mode, 16, iv, buf, buf ); + if( ret != 0 ) + goto exit; + + } + + if( memcmp( buf, aes_tests, 16 ) != 0 ) + { + ret = 1; + goto exit; + } + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + } + + if( verbose != 0 ) + mbedtls_printf( "\n" ); +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) + /* + * CFB128 mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + keybits = 128 + u * 64; + mode = i & 1; + + if( verbose != 0 ) + mbedtls_printf( " AES-CFB128-%3u (%s): ", keybits, + ( mode == MBEDTLS_AES_DECRYPT ) ? "dec" : "enc" ); + + memcpy( iv, aes_test_cfb128_iv, 16 ); + memcpy( key, aes_test_cfb128_key[u], keybits / 8 ); + + offset = 0; + ret = mbedtls_aes_setkey_enc( &ctx, key, keybits ); + /* + * AES-192 is an optional feature that may be unavailable when + * there is an alternative underlying implementation i.e. when + * MBEDTLS_AES_ALT is defined. + */ + if( ret == MBEDTLS_ERR_PLATFORM_FEATURE_UNSUPPORTED && keybits == 192 ) + { + mbedtls_printf( "skipped\n" ); + continue; + } + else if( ret != 0 ) + { + goto exit; + } + + if( mode == MBEDTLS_AES_DECRYPT ) + { + memcpy( buf, aes_test_cfb128_ct[u], 64 ); + aes_tests = aes_test_cfb128_pt; + } + else + { + memcpy( buf, aes_test_cfb128_pt, 64 ); + aes_tests = aes_test_cfb128_ct[u]; + } + + ret = mbedtls_aes_crypt_cfb128( &ctx, mode, 64, &offset, iv, buf, buf ); + if( ret != 0 ) + goto exit; + + if( memcmp( buf, aes_tests, 64 ) != 0 ) + { + ret = 1; + goto exit; + } + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + } + + if( verbose != 0 ) + mbedtls_printf( "\n" ); +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_OFB) + /* + * OFB mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + keybits = 128 + u * 64; + mode = i & 1; + + if( verbose != 0 ) + mbedtls_printf( " AES-OFB-%3u (%s): ", keybits, + ( mode == MBEDTLS_AES_DECRYPT ) ? "dec" : "enc" ); + + memcpy( iv, aes_test_ofb_iv, 16 ); + memcpy( key, aes_test_ofb_key[u], keybits / 8 ); + + offset = 0; + ret = mbedtls_aes_setkey_enc( &ctx, key, keybits ); + /* + * AES-192 is an optional feature that may be unavailable when + * there is an alternative underlying implementation i.e. when + * MBEDTLS_AES_ALT is defined. + */ + if( ret == MBEDTLS_ERR_PLATFORM_FEATURE_UNSUPPORTED && keybits == 192 ) + { + mbedtls_printf( "skipped\n" ); + continue; + } + else if( ret != 0 ) + { + goto exit; + } + + if( mode == MBEDTLS_AES_DECRYPT ) + { + memcpy( buf, aes_test_ofb_ct[u], 64 ); + aes_tests = aes_test_ofb_pt; + } + else + { + memcpy( buf, aes_test_ofb_pt, 64 ); + aes_tests = aes_test_ofb_ct[u]; + } + + ret = mbedtls_aes_crypt_ofb( &ctx, 64, &offset, iv, buf, buf ); + if( ret != 0 ) + goto exit; + + if( memcmp( buf, aes_tests, 64 ) != 0 ) + { + ret = 1; + goto exit; + } + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + } + + if( verbose != 0 ) + mbedtls_printf( "\n" ); +#endif /* MBEDTLS_CIPHER_MODE_OFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) + /* + * CTR mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + mode = i & 1; + + if( verbose != 0 ) + mbedtls_printf( " AES-CTR-128 (%s): ", + ( mode == MBEDTLS_AES_DECRYPT ) ? "dec" : "enc" ); + + memcpy( nonce_counter, aes_test_ctr_nonce_counter[u], 16 ); + memcpy( key, aes_test_ctr_key[u], 16 ); + + offset = 0; + if( ( ret = mbedtls_aes_setkey_enc( &ctx, key, 128 ) ) != 0 ) + goto exit; + + len = aes_test_ctr_len[u]; + + if( mode == MBEDTLS_AES_DECRYPT ) + { + memcpy( buf, aes_test_ctr_ct[u], len ); + aes_tests = aes_test_ctr_pt[u]; + } + else + { + memcpy( buf, aes_test_ctr_pt[u], len ); + aes_tests = aes_test_ctr_ct[u]; + } + + ret = mbedtls_aes_crypt_ctr( &ctx, len, &offset, nonce_counter, + stream_block, buf, buf ); + if( ret != 0 ) + goto exit; + + if( memcmp( buf, aes_tests, len ) != 0 ) + { + ret = 1; + goto exit; + } + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + } + + if( verbose != 0 ) + mbedtls_printf( "\n" ); +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +#if defined(MBEDTLS_CIPHER_MODE_XTS) + { + static const int num_tests = + sizeof(aes_test_xts_key) / sizeof(*aes_test_xts_key); + mbedtls_aes_xts_context ctx_xts; + + /* + * XTS mode + */ + mbedtls_aes_xts_init( &ctx_xts ); + + for( i = 0; i < num_tests << 1; i++ ) + { + const unsigned char *data_unit; + u = i >> 1; + mode = i & 1; + + if( verbose != 0 ) + mbedtls_printf( " AES-XTS-128 (%s): ", + ( mode == MBEDTLS_AES_DECRYPT ) ? "dec" : "enc" ); + + memset( key, 0, sizeof( key ) ); + memcpy( key, aes_test_xts_key[u], 32 ); + data_unit = aes_test_xts_data_unit[u]; + + len = sizeof( *aes_test_xts_ct32 ); + + if( mode == MBEDTLS_AES_DECRYPT ) + { + ret = mbedtls_aes_xts_setkey_dec( &ctx_xts, key, 256 ); + if( ret != 0) + goto exit; + memcpy( buf, aes_test_xts_ct32[u], len ); + aes_tests = aes_test_xts_pt32[u]; + } + else + { + ret = mbedtls_aes_xts_setkey_enc( &ctx_xts, key, 256 ); + if( ret != 0) + goto exit; + memcpy( buf, aes_test_xts_pt32[u], len ); + aes_tests = aes_test_xts_ct32[u]; + } + + + ret = mbedtls_aes_crypt_xts( &ctx_xts, mode, len, data_unit, + buf, buf ); + if( ret != 0 ) + goto exit; + + if( memcmp( buf, aes_tests, len ) != 0 ) + { + ret = 1; + goto exit; + } + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + } + + if( verbose != 0 ) + mbedtls_printf( "\n" ); + + mbedtls_aes_xts_free( &ctx_xts ); + } +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + + ret = 0; + +exit: + if( ret != 0 && verbose != 0 ) + mbedtls_printf( "failed\n" ); + + mbedtls_aes_free( &ctx ); + + return( ret ); +} + +#endif /* MBEDTLS_SELF_TEST */ + +#endif /* MBEDTLS_AES_C */ diff --git a/third_party/mbedtls/library/aesni.h b/third_party/mbedtls/library/aesni.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/library/aesni.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/library/aria.cpp b/third_party/mbedtls/library/aria.cpp new file mode 100644 index 000000000000..bc05c4a31962 --- /dev/null +++ b/third_party/mbedtls/library/aria.cpp @@ -0,0 +1,1058 @@ +/* + * ARIA implementation + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This implementation is based on the following standards: + * [1] http://210.104.33.10/ARIA/doc/ARIA-specification-e.pdf + * [2] https://tools.ietf.org/html/rfc5794 + */ + +#include "common.h" + +#if defined(MBEDTLS_ARIA_C) + +#include "mbedtls/aria.h" + +#include + +#if defined(MBEDTLS_SELF_TEST) +#if defined(MBEDTLS_PLATFORM_C) +#include "mbedtls/platform.h" +#else +#include +#define mbedtls_printf printf +#endif /* MBEDTLS_PLATFORM_C */ +#endif /* MBEDTLS_SELF_TEST */ + +#if !defined(MBEDTLS_ARIA_ALT) + +#include "mbedtls/platform_util.h" + +#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ + !defined(inline) && !defined(__cplusplus) +#define inline __inline +#endif + +/* Parameter validation macros */ +#define ARIA_VALIDATE_RET( cond ) \ + MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_ARIA_BAD_INPUT_DATA ) +#define ARIA_VALIDATE( cond ) \ + MBEDTLS_INTERNAL_VALIDATE( cond ) + +/* + * modify byte order: ( A B C D ) -> ( B A D C ), i.e. swap pairs of bytes + * + * This is submatrix P1 in [1] Appendix B.1 + * + * Common compilers fail to translate this to minimal number of instructions, + * so let's provide asm versions for common platforms with C fallback. + */ +#if defined(MBEDTLS_HAVE_ASM) +#if defined(__arm__) /* rev16 available from v6 up */ +/* armcc5 --gnu defines __GNUC__ but doesn't support GNU's extended asm */ +#if defined(__GNUC__) && \ + ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) && \ + __ARM_ARCH >= 6 +static inline uint32_t aria_p1( uint32_t x ) +{ + uint32_t r; + __asm( "rev16 %0, %1" : "=l" (r) : "l" (x) ); + return( r ); +} +#define ARIA_P1 aria_p1 +#elif defined(__ARMCC_VERSION) && __ARMCC_VERSION < 6000000 && \ + ( __TARGET_ARCH_ARM >= 6 || __TARGET_ARCH_THUMB >= 3 ) +static inline uint32_t aria_p1( uint32_t x ) +{ + uint32_t r; + __asm( "rev16 r, x" ); + return( r ); +} +#define ARIA_P1 aria_p1 +#endif +#endif /* arm */ +#if defined(__GNUC__) && \ + defined(__i386__) || defined(__amd64__) || defined( __x86_64__) +/* I couldn't find an Intel equivalent of rev16, so two instructions */ +#define ARIA_P1(x) ARIA_P2( ARIA_P3( x ) ) +#endif /* x86 gnuc */ +#endif /* MBEDTLS_HAVE_ASM && GNUC */ +#if !defined(ARIA_P1) +#define ARIA_P1(x) ((((x) >> 8) & 0x00FF00FF) ^ (((x) & 0x00FF00FF) << 8)) +#endif + +/* + * modify byte order: ( A B C D ) -> ( C D A B ), i.e. rotate by 16 bits + * + * This is submatrix P2 in [1] Appendix B.1 + * + * Common compilers will translate this to a single instruction. + */ +#define ARIA_P2(x) (((x) >> 16) ^ ((x) << 16)) + +/* + * modify byte order: ( A B C D ) -> ( D C B A ), i.e. change endianness + * + * This is submatrix P3 in [1] Appendix B.1 + * + * Some compilers fail to translate this to a single instruction, + * so let's provide asm versions for common platforms with C fallback. + */ +#if defined(MBEDTLS_HAVE_ASM) +#if defined(__arm__) /* rev available from v6 up */ +/* armcc5 --gnu defines __GNUC__ but doesn't support GNU's extended asm */ +#if defined(__GNUC__) && \ + ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) && \ + __ARM_ARCH >= 6 +static inline uint32_t aria_p3( uint32_t x ) +{ + uint32_t r; + __asm( "rev %0, %1" : "=l" (r) : "l" (x) ); + return( r ); +} +#define ARIA_P3 aria_p3 +#elif defined(__ARMCC_VERSION) && __ARMCC_VERSION < 6000000 && \ + ( __TARGET_ARCH_ARM >= 6 || __TARGET_ARCH_THUMB >= 3 ) +static inline uint32_t aria_p3( uint32_t x ) +{ + uint32_t r; + __asm( "rev r, x" ); + return( r ); +} +#define ARIA_P3 aria_p3 +#endif +#endif /* arm */ +#if defined(__GNUC__) && \ + defined(__i386__) || defined(__amd64__) || defined( __x86_64__) +static inline uint32_t aria_p3( uint32_t x ) +{ + __asm( "bswap %0" : "=r" (x) : "0" (x) ); + return( x ); +} +#define ARIA_P3 aria_p3 +#endif /* x86 gnuc */ +#endif /* MBEDTLS_HAVE_ASM && GNUC */ +#if !defined(ARIA_P3) +#define ARIA_P3(x) ARIA_P2( ARIA_P1 ( x ) ) +#endif + +/* + * ARIA Affine Transform + * (a, b, c, d) = state in/out + * + * If we denote the first byte of input by 0, ..., the last byte by f, + * then inputs are: a = 0123, b = 4567, c = 89ab, d = cdef. + * + * Reading [1] 2.4 or [2] 2.4.3 in columns and performing simple + * rearrangements on adjacent pairs, output is: + * + * a = 3210 + 4545 + 6767 + 88aa + 99bb + dccd + effe + * = 3210 + 4567 + 6745 + 89ab + 98ba + dcfe + efcd + * b = 0101 + 2323 + 5476 + 8998 + baab + eecc + ffdd + * = 0123 + 2301 + 5476 + 89ab + ba98 + efcd + fedc + * c = 0022 + 1133 + 4554 + 7667 + ab89 + dcdc + fefe + * = 0123 + 1032 + 4567 + 7654 + ab89 + dcfe + fedc + * d = 1001 + 2332 + 6644 + 7755 + 9898 + baba + cdef + * = 1032 + 2301 + 6745 + 7654 + 98ba + ba98 + cdef + * + * Note: another presentation of the A transform can be found as the first + * half of App. B.1 in [1] in terms of 4-byte operators P1, P2, P3 and P4. + * The implementation below uses only P1 and P2 as they are sufficient. + */ +static inline void aria_a( uint32_t *a, uint32_t *b, + uint32_t *c, uint32_t *d ) +{ + uint32_t ta, tb, tc; + ta = *b; // 4567 + *b = *a; // 0123 + *a = ARIA_P2( ta ); // 6745 + tb = ARIA_P2( *d ); // efcd + *d = ARIA_P1( *c ); // 98ba + *c = ARIA_P1( tb ); // fedc + ta ^= *d; // 4567+98ba + tc = ARIA_P2( *b ); // 2301 + ta = ARIA_P1( ta ) ^ tc ^ *c; // 2301+5476+89ab+fedc + tb ^= ARIA_P2( *d ); // ba98+efcd + tc ^= ARIA_P1( *a ); // 2301+7654 + *b ^= ta ^ tb; // 0123+2301+5476+89ab+ba98+efcd+fedc OUT + tb = ARIA_P2( tb ) ^ ta; // 2301+5476+89ab+98ba+cdef+fedc + *a ^= ARIA_P1( tb ); // 3210+4567+6745+89ab+98ba+dcfe+efcd OUT + ta = ARIA_P2( ta ); // 0123+7654+ab89+dcfe + *d ^= ARIA_P1( ta ) ^ tc; // 1032+2301+6745+7654+98ba+ba98+cdef OUT + tc = ARIA_P2( tc ); // 0123+5476 + *c ^= ARIA_P1( tc ) ^ ta; // 0123+1032+4567+7654+ab89+dcfe+fedc OUT +} + +/* + * ARIA Substitution Layer SL1 / SL2 + * (a, b, c, d) = state in/out + * (sa, sb, sc, sd) = 256 8-bit S-Boxes (see below) + * + * By passing sb1, sb2, is1, is2 as S-Boxes you get SL1 + * By passing is1, is2, sb1, sb2 as S-Boxes you get SL2 + */ +static inline void aria_sl( uint32_t *a, uint32_t *b, + uint32_t *c, uint32_t *d, + const uint8_t sa[256], const uint8_t sb[256], + const uint8_t sc[256], const uint8_t sd[256] ) +{ + *a = ( (uint32_t) sa[ MBEDTLS_BYTE_0( *a ) ] ) ^ + (((uint32_t) sb[ MBEDTLS_BYTE_1( *a ) ]) << 8) ^ + (((uint32_t) sc[ MBEDTLS_BYTE_2( *a ) ]) << 16) ^ + (((uint32_t) sd[ MBEDTLS_BYTE_3( *a ) ]) << 24); + *b = ( (uint32_t) sa[ MBEDTLS_BYTE_0( *b ) ] ) ^ + (((uint32_t) sb[ MBEDTLS_BYTE_1( *b ) ]) << 8) ^ + (((uint32_t) sc[ MBEDTLS_BYTE_2( *b ) ]) << 16) ^ + (((uint32_t) sd[ MBEDTLS_BYTE_3( *b ) ]) << 24); + *c = ( (uint32_t) sa[ MBEDTLS_BYTE_0( *c ) ] ) ^ + (((uint32_t) sb[ MBEDTLS_BYTE_1( *c ) ]) << 8) ^ + (((uint32_t) sc[ MBEDTLS_BYTE_2( *c ) ]) << 16) ^ + (((uint32_t) sd[ MBEDTLS_BYTE_3( *c ) ]) << 24); + *d = ( (uint32_t) sa[ MBEDTLS_BYTE_0( *d ) ] ) ^ + (((uint32_t) sb[ MBEDTLS_BYTE_1( *d ) ]) << 8) ^ + (((uint32_t) sc[ MBEDTLS_BYTE_2( *d ) ]) << 16) ^ + (((uint32_t) sd[ MBEDTLS_BYTE_3( *d ) ]) << 24); +} + +/* + * S-Boxes + */ +static const uint8_t aria_sb1[256] = +{ + 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, + 0xFE, 0xD7, 0xAB, 0x76, 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, + 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, 0xB7, 0xFD, 0x93, 0x26, + 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, + 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, + 0xEB, 0x27, 0xB2, 0x75, 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, + 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, 0x53, 0xD1, 0x00, 0xED, + 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, + 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, + 0x50, 0x3C, 0x9F, 0xA8, 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, + 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, 0xCD, 0x0C, 0x13, 0xEC, + 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, + 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, + 0xDE, 0x5E, 0x0B, 0xDB, 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, + 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, 0xE7, 0xC8, 0x37, 0x6D, + 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, + 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, + 0x4B, 0xBD, 0x8B, 0x8A, 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, + 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, 0xE1, 0xF8, 0x98, 0x11, + 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, + 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, + 0xB0, 0x54, 0xBB, 0x16 +}; + +static const uint8_t aria_sb2[256] = +{ + 0xE2, 0x4E, 0x54, 0xFC, 0x94, 0xC2, 0x4A, 0xCC, 0x62, 0x0D, 0x6A, 0x46, + 0x3C, 0x4D, 0x8B, 0xD1, 0x5E, 0xFA, 0x64, 0xCB, 0xB4, 0x97, 0xBE, 0x2B, + 0xBC, 0x77, 0x2E, 0x03, 0xD3, 0x19, 0x59, 0xC1, 0x1D, 0x06, 0x41, 0x6B, + 0x55, 0xF0, 0x99, 0x69, 0xEA, 0x9C, 0x18, 0xAE, 0x63, 0xDF, 0xE7, 0xBB, + 0x00, 0x73, 0x66, 0xFB, 0x96, 0x4C, 0x85, 0xE4, 0x3A, 0x09, 0x45, 0xAA, + 0x0F, 0xEE, 0x10, 0xEB, 0x2D, 0x7F, 0xF4, 0x29, 0xAC, 0xCF, 0xAD, 0x91, + 0x8D, 0x78, 0xC8, 0x95, 0xF9, 0x2F, 0xCE, 0xCD, 0x08, 0x7A, 0x88, 0x38, + 0x5C, 0x83, 0x2A, 0x28, 0x47, 0xDB, 0xB8, 0xC7, 0x93, 0xA4, 0x12, 0x53, + 0xFF, 0x87, 0x0E, 0x31, 0x36, 0x21, 0x58, 0x48, 0x01, 0x8E, 0x37, 0x74, + 0x32, 0xCA, 0xE9, 0xB1, 0xB7, 0xAB, 0x0C, 0xD7, 0xC4, 0x56, 0x42, 0x26, + 0x07, 0x98, 0x60, 0xD9, 0xB6, 0xB9, 0x11, 0x40, 0xEC, 0x20, 0x8C, 0xBD, + 0xA0, 0xC9, 0x84, 0x04, 0x49, 0x23, 0xF1, 0x4F, 0x50, 0x1F, 0x13, 0xDC, + 0xD8, 0xC0, 0x9E, 0x57, 0xE3, 0xC3, 0x7B, 0x65, 0x3B, 0x02, 0x8F, 0x3E, + 0xE8, 0x25, 0x92, 0xE5, 0x15, 0xDD, 0xFD, 0x17, 0xA9, 0xBF, 0xD4, 0x9A, + 0x7E, 0xC5, 0x39, 0x67, 0xFE, 0x76, 0x9D, 0x43, 0xA7, 0xE1, 0xD0, 0xF5, + 0x68, 0xF2, 0x1B, 0x34, 0x70, 0x05, 0xA3, 0x8A, 0xD5, 0x79, 0x86, 0xA8, + 0x30, 0xC6, 0x51, 0x4B, 0x1E, 0xA6, 0x27, 0xF6, 0x35, 0xD2, 0x6E, 0x24, + 0x16, 0x82, 0x5F, 0xDA, 0xE6, 0x75, 0xA2, 0xEF, 0x2C, 0xB2, 0x1C, 0x9F, + 0x5D, 0x6F, 0x80, 0x0A, 0x72, 0x44, 0x9B, 0x6C, 0x90, 0x0B, 0x5B, 0x33, + 0x7D, 0x5A, 0x52, 0xF3, 0x61, 0xA1, 0xF7, 0xB0, 0xD6, 0x3F, 0x7C, 0x6D, + 0xED, 0x14, 0xE0, 0xA5, 0x3D, 0x22, 0xB3, 0xF8, 0x89, 0xDE, 0x71, 0x1A, + 0xAF, 0xBA, 0xB5, 0x81 +}; + +static const uint8_t aria_is1[256] = +{ + 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, + 0x81, 0xF3, 0xD7, 0xFB, 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, + 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, 0x54, 0x7B, 0x94, 0x32, + 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, + 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, 0x76, 0x5B, 0xA2, 0x49, + 0x6D, 0x8B, 0xD1, 0x25, 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, + 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, 0x6C, 0x70, 0x48, 0x50, + 0xFD, 0xED, 0xB9, 0xDA, 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, + 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, 0xF7, 0xE4, 0x58, 0x05, + 0xB8, 0xB3, 0x45, 0x06, 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, + 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, 0x3A, 0x91, 0x11, 0x41, + 0x4F, 0x67, 0xDC, 0xEA, 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, + 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, 0xE2, 0xF9, 0x37, 0xE8, + 0x1C, 0x75, 0xDF, 0x6E, 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, + 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, 0xFC, 0x56, 0x3E, 0x4B, + 0xC6, 0xD2, 0x79, 0x20, 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, + 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, 0xB1, 0x12, 0x10, 0x59, + 0x27, 0x80, 0xEC, 0x5F, 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, + 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, 0xA0, 0xE0, 0x3B, 0x4D, + 0xAE, 0x2A, 0xF5, 0xB0, 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, + 0x55, 0x21, 0x0C, 0x7D +}; + +static const uint8_t aria_is2[256] = +{ + 0x30, 0x68, 0x99, 0x1B, 0x87, 0xB9, 0x21, 0x78, 0x50, 0x39, 0xDB, 0xE1, + 0x72, 0x09, 0x62, 0x3C, 0x3E, 0x7E, 0x5E, 0x8E, 0xF1, 0xA0, 0xCC, 0xA3, + 0x2A, 0x1D, 0xFB, 0xB6, 0xD6, 0x20, 0xC4, 0x8D, 0x81, 0x65, 0xF5, 0x89, + 0xCB, 0x9D, 0x77, 0xC6, 0x57, 0x43, 0x56, 0x17, 0xD4, 0x40, 0x1A, 0x4D, + 0xC0, 0x63, 0x6C, 0xE3, 0xB7, 0xC8, 0x64, 0x6A, 0x53, 0xAA, 0x38, 0x98, + 0x0C, 0xF4, 0x9B, 0xED, 0x7F, 0x22, 0x76, 0xAF, 0xDD, 0x3A, 0x0B, 0x58, + 0x67, 0x88, 0x06, 0xC3, 0x35, 0x0D, 0x01, 0x8B, 0x8C, 0xC2, 0xE6, 0x5F, + 0x02, 0x24, 0x75, 0x93, 0x66, 0x1E, 0xE5, 0xE2, 0x54, 0xD8, 0x10, 0xCE, + 0x7A, 0xE8, 0x08, 0x2C, 0x12, 0x97, 0x32, 0xAB, 0xB4, 0x27, 0x0A, 0x23, + 0xDF, 0xEF, 0xCA, 0xD9, 0xB8, 0xFA, 0xDC, 0x31, 0x6B, 0xD1, 0xAD, 0x19, + 0x49, 0xBD, 0x51, 0x96, 0xEE, 0xE4, 0xA8, 0x41, 0xDA, 0xFF, 0xCD, 0x55, + 0x86, 0x36, 0xBE, 0x61, 0x52, 0xF8, 0xBB, 0x0E, 0x82, 0x48, 0x69, 0x9A, + 0xE0, 0x47, 0x9E, 0x5C, 0x04, 0x4B, 0x34, 0x15, 0x79, 0x26, 0xA7, 0xDE, + 0x29, 0xAE, 0x92, 0xD7, 0x84, 0xE9, 0xD2, 0xBA, 0x5D, 0xF3, 0xC5, 0xB0, + 0xBF, 0xA4, 0x3B, 0x71, 0x44, 0x46, 0x2B, 0xFC, 0xEB, 0x6F, 0xD5, 0xF6, + 0x14, 0xFE, 0x7C, 0x70, 0x5A, 0x7D, 0xFD, 0x2F, 0x18, 0x83, 0x16, 0xA5, + 0x91, 0x1F, 0x05, 0x95, 0x74, 0xA9, 0xC1, 0x5B, 0x4A, 0x85, 0x6D, 0x13, + 0x07, 0x4F, 0x4E, 0x45, 0xB2, 0x0F, 0xC9, 0x1C, 0xA6, 0xBC, 0xEC, 0x73, + 0x90, 0x7B, 0xCF, 0x59, 0x8F, 0xA1, 0xF9, 0x2D, 0xF2, 0xB1, 0x00, 0x94, + 0x37, 0x9F, 0xD0, 0x2E, 0x9C, 0x6E, 0x28, 0x3F, 0x80, 0xF0, 0x3D, 0xD3, + 0x25, 0x8A, 0xB5, 0xE7, 0x42, 0xB3, 0xC7, 0xEA, 0xF7, 0x4C, 0x11, 0x33, + 0x03, 0xA2, 0xAC, 0x60 +}; + +/* + * Helper for key schedule: r = FO( p, k ) ^ x + */ +static void aria_fo_xor( uint32_t r[4], const uint32_t p[4], + const uint32_t k[4], const uint32_t x[4] ) +{ + uint32_t a, b, c, d; + + a = p[0] ^ k[0]; + b = p[1] ^ k[1]; + c = p[2] ^ k[2]; + d = p[3] ^ k[3]; + + aria_sl( &a, &b, &c, &d, aria_sb1, aria_sb2, aria_is1, aria_is2 ); + aria_a( &a, &b, &c, &d ); + + r[0] = a ^ x[0]; + r[1] = b ^ x[1]; + r[2] = c ^ x[2]; + r[3] = d ^ x[3]; +} + +/* + * Helper for key schedule: r = FE( p, k ) ^ x + */ +static void aria_fe_xor( uint32_t r[4], const uint32_t p[4], + const uint32_t k[4], const uint32_t x[4] ) +{ + uint32_t a, b, c, d; + + a = p[0] ^ k[0]; + b = p[1] ^ k[1]; + c = p[2] ^ k[2]; + d = p[3] ^ k[3]; + + aria_sl( &a, &b, &c, &d, aria_is1, aria_is2, aria_sb1, aria_sb2 ); + aria_a( &a, &b, &c, &d ); + + r[0] = a ^ x[0]; + r[1] = b ^ x[1]; + r[2] = c ^ x[2]; + r[3] = d ^ x[3]; +} + +/* + * Big endian 128-bit rotation: r = a ^ (b <<< n), used only in key setup. + * + * We chose to store bytes into 32-bit words in little-endian format (see + * MBEDTLS_GET_UINT32_LE / MBEDTLS_PUT_UINT32_LE ) so we need to reverse + * bytes here. + */ +static void aria_rot128( uint32_t r[4], const uint32_t a[4], + const uint32_t b[4], uint8_t n ) +{ + uint8_t i, j; + uint32_t t, u; + + const uint8_t n1 = n % 32; // bit offset + const uint8_t n2 = n1 ? 32 - n1 : 0; // reverse bit offset + + j = ( n / 32 ) % 4; // initial word offset + t = ARIA_P3( b[j] ); // big endian + for( i = 0; i < 4; i++ ) + { + j = ( j + 1 ) % 4; // get next word, big endian + u = ARIA_P3( b[j] ); + t <<= n1; // rotate + t |= u >> n2; + t = ARIA_P3( t ); // back to little endian + r[i] = a[i] ^ t; // store + t = u; // move to next word + } +} + +/* + * Set encryption key + */ +int mbedtls_aria_setkey_enc( mbedtls_aria_context *ctx, + const unsigned char *key, unsigned int keybits ) +{ + /* round constant masks */ + const uint32_t rc[3][4] = + { + { 0xB7C17C51, 0x940A2227, 0xE8AB13FE, 0xE06E9AFA }, + { 0xCC4AB16D, 0x20C8219E, 0xD5B128FF, 0xB0E25DEF }, + { 0x1D3792DB, 0x70E92621, 0x75972403, 0x0EC9E804 } + }; + + int i; + uint32_t w[4][4], *w2; + ARIA_VALIDATE_RET( ctx != NULL ); + ARIA_VALIDATE_RET( key != NULL ); + + if( keybits != 128 && keybits != 192 && keybits != 256 ) + return( MBEDTLS_ERR_ARIA_BAD_INPUT_DATA ); + + /* Copy key to W0 (and potential remainder to W1) */ + w[0][0] = MBEDTLS_GET_UINT32_LE( key, 0 ); + w[0][1] = MBEDTLS_GET_UINT32_LE( key, 4 ); + w[0][2] = MBEDTLS_GET_UINT32_LE( key, 8 ); + w[0][3] = MBEDTLS_GET_UINT32_LE( key, 12 ); + + memset( w[1], 0, 16 ); + if( keybits >= 192 ) + { + w[1][0] = MBEDTLS_GET_UINT32_LE( key, 16 ); // 192 bit key + w[1][1] = MBEDTLS_GET_UINT32_LE( key, 20 ); + } + if( keybits == 256 ) + { + w[1][2] = MBEDTLS_GET_UINT32_LE( key, 24 ); // 256 bit key + w[1][3] = MBEDTLS_GET_UINT32_LE( key, 28 ); + } + + i = ( keybits - 128 ) >> 6; // index: 0, 1, 2 + ctx->nr = 12 + 2 * i; // no. rounds: 12, 14, 16 + + aria_fo_xor( w[1], w[0], rc[i], w[1] ); // W1 = FO(W0, CK1) ^ KR + i = i < 2 ? i + 1 : 0; + aria_fe_xor( w[2], w[1], rc[i], w[0] ); // W2 = FE(W1, CK2) ^ W0 + i = i < 2 ? i + 1 : 0; + aria_fo_xor( w[3], w[2], rc[i], w[1] ); // W3 = FO(W2, CK3) ^ W1 + + for( i = 0; i < 4; i++ ) // create round keys + { + w2 = w[(i + 1) & 3]; + aria_rot128( ctx->rk[i ], w[i], w2, 128 - 19 ); + aria_rot128( ctx->rk[i + 4], w[i], w2, 128 - 31 ); + aria_rot128( ctx->rk[i + 8], w[i], w2, 61 ); + aria_rot128( ctx->rk[i + 12], w[i], w2, 31 ); + } + aria_rot128( ctx->rk[16], w[0], w[1], 19 ); + + /* w holds enough info to reconstruct the round keys */ + mbedtls_platform_zeroize( w, sizeof( w ) ); + + return( 0 ); +} + +/* + * Set decryption key + */ +int mbedtls_aria_setkey_dec( mbedtls_aria_context *ctx, + const unsigned char *key, unsigned int keybits ) +{ + int i, j, k, ret; + ARIA_VALIDATE_RET( ctx != NULL ); + ARIA_VALIDATE_RET( key != NULL ); + + ret = mbedtls_aria_setkey_enc( ctx, key, keybits ); + if( ret != 0 ) + return( ret ); + + /* flip the order of round keys */ + for( i = 0, j = ctx->nr; i < j; i++, j-- ) + { + for( k = 0; k < 4; k++ ) + { + uint32_t t = ctx->rk[i][k]; + ctx->rk[i][k] = ctx->rk[j][k]; + ctx->rk[j][k] = t; + } + } + + /* apply affine transform to middle keys */ + for( i = 1; i < ctx->nr; i++ ) + { + aria_a( &ctx->rk[i][0], &ctx->rk[i][1], + &ctx->rk[i][2], &ctx->rk[i][3] ); + } + + return( 0 ); +} + +/* + * Encrypt a block + */ +int mbedtls_aria_crypt_ecb( mbedtls_aria_context *ctx, + const unsigned char input[MBEDTLS_ARIA_BLOCKSIZE], + unsigned char output[MBEDTLS_ARIA_BLOCKSIZE] ) +{ + int i; + + uint32_t a, b, c, d; + ARIA_VALIDATE_RET( ctx != NULL ); + ARIA_VALIDATE_RET( input != NULL ); + ARIA_VALIDATE_RET( output != NULL ); + + a = MBEDTLS_GET_UINT32_LE( input, 0 ); + b = MBEDTLS_GET_UINT32_LE( input, 4 ); + c = MBEDTLS_GET_UINT32_LE( input, 8 ); + d = MBEDTLS_GET_UINT32_LE( input, 12 ); + + i = 0; + while( 1 ) + { + a ^= ctx->rk[i][0]; + b ^= ctx->rk[i][1]; + c ^= ctx->rk[i][2]; + d ^= ctx->rk[i][3]; + i++; + + aria_sl( &a, &b, &c, &d, aria_sb1, aria_sb2, aria_is1, aria_is2 ); + aria_a( &a, &b, &c, &d ); + + a ^= ctx->rk[i][0]; + b ^= ctx->rk[i][1]; + c ^= ctx->rk[i][2]; + d ^= ctx->rk[i][3]; + i++; + + aria_sl( &a, &b, &c, &d, aria_is1, aria_is2, aria_sb1, aria_sb2 ); + if( i >= ctx->nr ) + break; + aria_a( &a, &b, &c, &d ); + } + + /* final key mixing */ + a ^= ctx->rk[i][0]; + b ^= ctx->rk[i][1]; + c ^= ctx->rk[i][2]; + d ^= ctx->rk[i][3]; + + MBEDTLS_PUT_UINT32_LE( a, output, 0 ); + MBEDTLS_PUT_UINT32_LE( b, output, 4 ); + MBEDTLS_PUT_UINT32_LE( c, output, 8 ); + MBEDTLS_PUT_UINT32_LE( d, output, 12 ); + + return( 0 ); +} + +/* Initialize context */ +void mbedtls_aria_init( mbedtls_aria_context *ctx ) +{ + ARIA_VALIDATE( ctx != NULL ); + memset( ctx, 0, sizeof( mbedtls_aria_context ) ); +} + +/* Clear context */ +void mbedtls_aria_free( mbedtls_aria_context *ctx ) +{ + if( ctx == NULL ) + return; + + mbedtls_platform_zeroize( ctx, sizeof( mbedtls_aria_context ) ); +} + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +/* + * ARIA-CBC buffer encryption/decryption + */ +int mbedtls_aria_crypt_cbc( mbedtls_aria_context *ctx, + int mode, + size_t length, + unsigned char iv[MBEDTLS_ARIA_BLOCKSIZE], + const unsigned char *input, + unsigned char *output ) +{ + int i; + unsigned char temp[MBEDTLS_ARIA_BLOCKSIZE]; + + ARIA_VALIDATE_RET( ctx != NULL ); + ARIA_VALIDATE_RET( mode == MBEDTLS_ARIA_ENCRYPT || + mode == MBEDTLS_ARIA_DECRYPT ); + ARIA_VALIDATE_RET( length == 0 || input != NULL ); + ARIA_VALIDATE_RET( length == 0 || output != NULL ); + ARIA_VALIDATE_RET( iv != NULL ); + + if( length % MBEDTLS_ARIA_BLOCKSIZE ) + return( MBEDTLS_ERR_ARIA_INVALID_INPUT_LENGTH ); + + if( mode == MBEDTLS_ARIA_DECRYPT ) + { + while( length > 0 ) + { + memcpy( temp, input, MBEDTLS_ARIA_BLOCKSIZE ); + mbedtls_aria_crypt_ecb( ctx, input, output ); + + for( i = 0; i < MBEDTLS_ARIA_BLOCKSIZE; i++ ) + output[i] = (unsigned char)( output[i] ^ iv[i] ); + + memcpy( iv, temp, MBEDTLS_ARIA_BLOCKSIZE ); + + input += MBEDTLS_ARIA_BLOCKSIZE; + output += MBEDTLS_ARIA_BLOCKSIZE; + length -= MBEDTLS_ARIA_BLOCKSIZE; + } + } + else + { + while( length > 0 ) + { + for( i = 0; i < MBEDTLS_ARIA_BLOCKSIZE; i++ ) + output[i] = (unsigned char)( input[i] ^ iv[i] ); + + mbedtls_aria_crypt_ecb( ctx, output, output ); + memcpy( iv, output, MBEDTLS_ARIA_BLOCKSIZE ); + + input += MBEDTLS_ARIA_BLOCKSIZE; + output += MBEDTLS_ARIA_BLOCKSIZE; + length -= MBEDTLS_ARIA_BLOCKSIZE; + } + } + + return( 0 ); +} +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +/* + * ARIA-CFB128 buffer encryption/decryption + */ +int mbedtls_aria_crypt_cfb128( mbedtls_aria_context *ctx, + int mode, + size_t length, + size_t *iv_off, + unsigned char iv[MBEDTLS_ARIA_BLOCKSIZE], + const unsigned char *input, + unsigned char *output ) +{ + unsigned char c; + size_t n; + + ARIA_VALIDATE_RET( ctx != NULL ); + ARIA_VALIDATE_RET( mode == MBEDTLS_ARIA_ENCRYPT || + mode == MBEDTLS_ARIA_DECRYPT ); + ARIA_VALIDATE_RET( length == 0 || input != NULL ); + ARIA_VALIDATE_RET( length == 0 || output != NULL ); + ARIA_VALIDATE_RET( iv != NULL ); + ARIA_VALIDATE_RET( iv_off != NULL ); + + n = *iv_off; + + /* An overly large value of n can lead to an unlimited + * buffer overflow. Therefore, guard against this + * outside of parameter validation. */ + if( n >= MBEDTLS_ARIA_BLOCKSIZE ) + return( MBEDTLS_ERR_ARIA_BAD_INPUT_DATA ); + + if( mode == MBEDTLS_ARIA_DECRYPT ) + { + while( length-- ) + { + if( n == 0 ) + mbedtls_aria_crypt_ecb( ctx, iv, iv ); + + c = *input++; + *output++ = c ^ iv[n]; + iv[n] = c; + + n = ( n + 1 ) & 0x0F; + } + } + else + { + while( length-- ) + { + if( n == 0 ) + mbedtls_aria_crypt_ecb( ctx, iv, iv ); + + iv[n] = *output++ = (unsigned char)( iv[n] ^ *input++ ); + + n = ( n + 1 ) & 0x0F; + } + } + + *iv_off = n; + + return( 0 ); +} +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +/* + * ARIA-CTR buffer encryption/decryption + */ +int mbedtls_aria_crypt_ctr( mbedtls_aria_context *ctx, + size_t length, + size_t *nc_off, + unsigned char nonce_counter[MBEDTLS_ARIA_BLOCKSIZE], + unsigned char stream_block[MBEDTLS_ARIA_BLOCKSIZE], + const unsigned char *input, + unsigned char *output ) +{ + int c, i; + size_t n; + + ARIA_VALIDATE_RET( ctx != NULL ); + ARIA_VALIDATE_RET( length == 0 || input != NULL ); + ARIA_VALIDATE_RET( length == 0 || output != NULL ); + ARIA_VALIDATE_RET( nonce_counter != NULL ); + ARIA_VALIDATE_RET( stream_block != NULL ); + ARIA_VALIDATE_RET( nc_off != NULL ); + + n = *nc_off; + /* An overly large value of n can lead to an unlimited + * buffer overflow. Therefore, guard against this + * outside of parameter validation. */ + if( n >= MBEDTLS_ARIA_BLOCKSIZE ) + return( MBEDTLS_ERR_ARIA_BAD_INPUT_DATA ); + + while( length-- ) + { + if( n == 0 ) { + mbedtls_aria_crypt_ecb( ctx, nonce_counter, + stream_block ); + + for( i = MBEDTLS_ARIA_BLOCKSIZE; i > 0; i-- ) + if( ++nonce_counter[i - 1] != 0 ) + break; + } + c = *input++; + *output++ = (unsigned char)( c ^ stream_block[n] ); + + n = ( n + 1 ) & 0x0F; + } + + *nc_off = n; + + return( 0 ); +} +#endif /* MBEDTLS_CIPHER_MODE_CTR */ +#endif /* !MBEDTLS_ARIA_ALT */ + +#if defined(MBEDTLS_SELF_TEST) + +/* + * Basic ARIA ECB test vectors from RFC 5794 + */ +static const uint8_t aria_test1_ecb_key[32] = // test key +{ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, // 128 bit + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, // 192 bit + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F // 256 bit +}; + +static const uint8_t aria_test1_ecb_pt[MBEDTLS_ARIA_BLOCKSIZE] = // plaintext +{ + 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, // same for all + 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF // key sizes +}; + +static const uint8_t aria_test1_ecb_ct[3][MBEDTLS_ARIA_BLOCKSIZE] = // ciphertext +{ + { 0xD7, 0x18, 0xFB, 0xD6, 0xAB, 0x64, 0x4C, 0x73, // 128 bit + 0x9D, 0xA9, 0x5F, 0x3B, 0xE6, 0x45, 0x17, 0x78 }, + { 0x26, 0x44, 0x9C, 0x18, 0x05, 0xDB, 0xE7, 0xAA, // 192 bit + 0x25, 0xA4, 0x68, 0xCE, 0x26, 0x3A, 0x9E, 0x79 }, + { 0xF9, 0x2B, 0xD7, 0xC7, 0x9F, 0xB7, 0x2E, 0x2F, // 256 bit + 0x2B, 0x8F, 0x80, 0xC1, 0x97, 0x2D, 0x24, 0xFC } +}; + +/* + * Mode tests from "Test Vectors for ARIA" Version 1.0 + * http://210.104.33.10/ARIA/doc/ARIA-testvector-e.pdf + */ +#if (defined(MBEDTLS_CIPHER_MODE_CBC) || defined(MBEDTLS_CIPHER_MODE_CFB) || \ + defined(MBEDTLS_CIPHER_MODE_CTR)) +static const uint8_t aria_test2_key[32] = +{ + 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, // 128 bit + 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, + 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, // 192 bit + 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff // 256 bit +}; + +static const uint8_t aria_test2_pt[48] = +{ + 0x11, 0x11, 0x11, 0x11, 0xaa, 0xaa, 0xaa, 0xaa, // same for all + 0x11, 0x11, 0x11, 0x11, 0xbb, 0xbb, 0xbb, 0xbb, + 0x11, 0x11, 0x11, 0x11, 0xcc, 0xcc, 0xcc, 0xcc, + 0x11, 0x11, 0x11, 0x11, 0xdd, 0xdd, 0xdd, 0xdd, + 0x22, 0x22, 0x22, 0x22, 0xaa, 0xaa, 0xaa, 0xaa, + 0x22, 0x22, 0x22, 0x22, 0xbb, 0xbb, 0xbb, 0xbb, +}; +#endif + +#if (defined(MBEDTLS_CIPHER_MODE_CBC) || defined(MBEDTLS_CIPHER_MODE_CFB)) +static const uint8_t aria_test2_iv[MBEDTLS_ARIA_BLOCKSIZE] = +{ + 0x0f, 0x1e, 0x2d, 0x3c, 0x4b, 0x5a, 0x69, 0x78, // same for CBC, CFB + 0x87, 0x96, 0xa5, 0xb4, 0xc3, 0xd2, 0xe1, 0xf0 // CTR has zero IV +}; +#endif + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static const uint8_t aria_test2_cbc_ct[3][48] = // CBC ciphertext +{ + { 0x49, 0xd6, 0x18, 0x60, 0xb1, 0x49, 0x09, 0x10, // 128-bit key + 0x9c, 0xef, 0x0d, 0x22, 0xa9, 0x26, 0x81, 0x34, + 0xfa, 0xdf, 0x9f, 0xb2, 0x31, 0x51, 0xe9, 0x64, + 0x5f, 0xba, 0x75, 0x01, 0x8b, 0xdb, 0x15, 0x38, + 0xb5, 0x33, 0x34, 0x63, 0x4b, 0xbf, 0x7d, 0x4c, + 0xd4, 0xb5, 0x37, 0x70, 0x33, 0x06, 0x0c, 0x15 }, + { 0xaf, 0xe6, 0xcf, 0x23, 0x97, 0x4b, 0x53, 0x3c, // 192-bit key + 0x67, 0x2a, 0x82, 0x62, 0x64, 0xea, 0x78, 0x5f, + 0x4e, 0x4f, 0x7f, 0x78, 0x0d, 0xc7, 0xf3, 0xf1, + 0xe0, 0x96, 0x2b, 0x80, 0x90, 0x23, 0x86, 0xd5, + 0x14, 0xe9, 0xc3, 0xe7, 0x72, 0x59, 0xde, 0x92, + 0xdd, 0x11, 0x02, 0xff, 0xab, 0x08, 0x6c, 0x1e }, + { 0x52, 0x3a, 0x8a, 0x80, 0x6a, 0xe6, 0x21, 0xf1, // 256-bit key + 0x55, 0xfd, 0xd2, 0x8d, 0xbc, 0x34, 0xe1, 0xab, + 0x7b, 0x9b, 0x42, 0x43, 0x2a, 0xd8, 0xb2, 0xef, + 0xb9, 0x6e, 0x23, 0xb1, 0x3f, 0x0a, 0x6e, 0x52, + 0xf3, 0x61, 0x85, 0xd5, 0x0a, 0xd0, 0x02, 0xc5, + 0xf6, 0x01, 0xbe, 0xe5, 0x49, 0x3f, 0x11, 0x8b } +}; +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +static const uint8_t aria_test2_cfb_ct[3][48] = // CFB ciphertext +{ + { 0x37, 0x20, 0xe5, 0x3b, 0xa7, 0xd6, 0x15, 0x38, // 128-bit key + 0x34, 0x06, 0xb0, 0x9f, 0x0a, 0x05, 0xa2, 0x00, + 0xc0, 0x7c, 0x21, 0xe6, 0x37, 0x0f, 0x41, 0x3a, + 0x5d, 0x13, 0x25, 0x00, 0xa6, 0x82, 0x85, 0x01, + 0x7c, 0x61, 0xb4, 0x34, 0xc7, 0xb7, 0xca, 0x96, + 0x85, 0xa5, 0x10, 0x71, 0x86, 0x1e, 0x4d, 0x4b }, + { 0x41, 0x71, 0xf7, 0x19, 0x2b, 0xf4, 0x49, 0x54, // 192-bit key + 0x94, 0xd2, 0x73, 0x61, 0x29, 0x64, 0x0f, 0x5c, + 0x4d, 0x87, 0xa9, 0xa2, 0x13, 0x66, 0x4c, 0x94, + 0x48, 0x47, 0x7c, 0x6e, 0xcc, 0x20, 0x13, 0x59, + 0x8d, 0x97, 0x66, 0x95, 0x2d, 0xd8, 0xc3, 0x86, + 0x8f, 0x17, 0xe3, 0x6e, 0xf6, 0x6f, 0xd8, 0x4b }, + { 0x26, 0x83, 0x47, 0x05, 0xb0, 0xf2, 0xc0, 0xe2, // 256-bit key + 0x58, 0x8d, 0x4a, 0x7f, 0x09, 0x00, 0x96, 0x35, + 0xf2, 0x8b, 0xb9, 0x3d, 0x8c, 0x31, 0xf8, 0x70, + 0xec, 0x1e, 0x0b, 0xdb, 0x08, 0x2b, 0x66, 0xfa, + 0x40, 0x2d, 0xd9, 0xc2, 0x02, 0xbe, 0x30, 0x0c, + 0x45, 0x17, 0xd1, 0x96, 0xb1, 0x4d, 0x4c, 0xe1 } +}; +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +static const uint8_t aria_test2_ctr_ct[3][48] = // CTR ciphertext +{ + { 0xac, 0x5d, 0x7d, 0xe8, 0x05, 0xa0, 0xbf, 0x1c, // 128-bit key + 0x57, 0xc8, 0x54, 0x50, 0x1a, 0xf6, 0x0f, 0xa1, + 0x14, 0x97, 0xe2, 0xa3, 0x45, 0x19, 0xde, 0xa1, + 0x56, 0x9e, 0x91, 0xe5, 0xb5, 0xcc, 0xae, 0x2f, + 0xf3, 0xbf, 0xa1, 0xbf, 0x97, 0x5f, 0x45, 0x71, + 0xf4, 0x8b, 0xe1, 0x91, 0x61, 0x35, 0x46, 0xc3 }, + { 0x08, 0x62, 0x5c, 0xa8, 0xfe, 0x56, 0x9c, 0x19, // 192-bit key + 0xba, 0x7a, 0xf3, 0x76, 0x0a, 0x6e, 0xd1, 0xce, + 0xf4, 0xd1, 0x99, 0x26, 0x3e, 0x99, 0x9d, 0xde, + 0x14, 0x08, 0x2d, 0xbb, 0xa7, 0x56, 0x0b, 0x79, + 0xa4, 0xc6, 0xb4, 0x56, 0xb8, 0x70, 0x7d, 0xce, + 0x75, 0x1f, 0x98, 0x54, 0xf1, 0x88, 0x93, 0xdf }, + { 0x30, 0x02, 0x6c, 0x32, 0x96, 0x66, 0x14, 0x17, // 256-bit key + 0x21, 0x17, 0x8b, 0x99, 0xc0, 0xa1, 0xf1, 0xb2, + 0xf0, 0x69, 0x40, 0x25, 0x3f, 0x7b, 0x30, 0x89, + 0xe2, 0xa3, 0x0e, 0xa8, 0x6a, 0xa3, 0xc8, 0x8f, + 0x59, 0x40, 0xf0, 0x5a, 0xd7, 0xee, 0x41, 0xd7, + 0x13, 0x47, 0xbb, 0x72, 0x61, 0xe3, 0x48, 0xf1 } +}; +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#define ARIA_SELF_TEST_IF_FAIL \ + { \ + if( verbose ) \ + mbedtls_printf( "failed\n" ); \ + goto exit; \ + } else { \ + if( verbose ) \ + mbedtls_printf( "passed\n" ); \ + } + +/* + * Checkup routine + */ +int mbedtls_aria_self_test( int verbose ) +{ + int i; + uint8_t blk[MBEDTLS_ARIA_BLOCKSIZE]; + mbedtls_aria_context ctx; + int ret = 1; + +#if (defined(MBEDTLS_CIPHER_MODE_CFB) || defined(MBEDTLS_CIPHER_MODE_CTR)) + size_t j; +#endif + +#if (defined(MBEDTLS_CIPHER_MODE_CBC) || \ + defined(MBEDTLS_CIPHER_MODE_CFB) || \ + defined(MBEDTLS_CIPHER_MODE_CTR)) + uint8_t buf[48], iv[MBEDTLS_ARIA_BLOCKSIZE]; +#endif + + mbedtls_aria_init( &ctx ); + + /* + * Test set 1 + */ + for( i = 0; i < 3; i++ ) + { + /* test ECB encryption */ + if( verbose ) + mbedtls_printf( " ARIA-ECB-%d (enc): ", 128 + 64 * i ); + mbedtls_aria_setkey_enc( &ctx, aria_test1_ecb_key, 128 + 64 * i ); + mbedtls_aria_crypt_ecb( &ctx, aria_test1_ecb_pt, blk ); + if( memcmp( blk, aria_test1_ecb_ct[i], MBEDTLS_ARIA_BLOCKSIZE ) != 0 ) + ARIA_SELF_TEST_IF_FAIL; + + /* test ECB decryption */ + if( verbose ) + mbedtls_printf( " ARIA-ECB-%d (dec): ", 128 + 64 * i ); + mbedtls_aria_setkey_dec( &ctx, aria_test1_ecb_key, 128 + 64 * i ); + mbedtls_aria_crypt_ecb( &ctx, aria_test1_ecb_ct[i], blk ); + if( memcmp( blk, aria_test1_ecb_pt, MBEDTLS_ARIA_BLOCKSIZE ) != 0 ) + ARIA_SELF_TEST_IF_FAIL; + } + if( verbose ) + mbedtls_printf( "\n" ); + + /* + * Test set 2 + */ +#if defined(MBEDTLS_CIPHER_MODE_CBC) + for( i = 0; i < 3; i++ ) + { + /* Test CBC encryption */ + if( verbose ) + mbedtls_printf( " ARIA-CBC-%d (enc): ", 128 + 64 * i ); + mbedtls_aria_setkey_enc( &ctx, aria_test2_key, 128 + 64 * i ); + memcpy( iv, aria_test2_iv, MBEDTLS_ARIA_BLOCKSIZE ); + memset( buf, 0x55, sizeof( buf ) ); + mbedtls_aria_crypt_cbc( &ctx, MBEDTLS_ARIA_ENCRYPT, 48, iv, + aria_test2_pt, buf ); + if( memcmp( buf, aria_test2_cbc_ct[i], 48 ) != 0 ) + ARIA_SELF_TEST_IF_FAIL; + + /* Test CBC decryption */ + if( verbose ) + mbedtls_printf( " ARIA-CBC-%d (dec): ", 128 + 64 * i ); + mbedtls_aria_setkey_dec( &ctx, aria_test2_key, 128 + 64 * i ); + memcpy( iv, aria_test2_iv, MBEDTLS_ARIA_BLOCKSIZE ); + memset( buf, 0xAA, sizeof( buf ) ); + mbedtls_aria_crypt_cbc( &ctx, MBEDTLS_ARIA_DECRYPT, 48, iv, + aria_test2_cbc_ct[i], buf ); + if( memcmp( buf, aria_test2_pt, 48 ) != 0 ) + ARIA_SELF_TEST_IF_FAIL; + } + if( verbose ) + mbedtls_printf( "\n" ); + +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) + for( i = 0; i < 3; i++ ) + { + /* Test CFB encryption */ + if( verbose ) + mbedtls_printf( " ARIA-CFB-%d (enc): ", 128 + 64 * i ); + mbedtls_aria_setkey_enc( &ctx, aria_test2_key, 128 + 64 * i ); + memcpy( iv, aria_test2_iv, MBEDTLS_ARIA_BLOCKSIZE ); + memset( buf, 0x55, sizeof( buf ) ); + j = 0; + mbedtls_aria_crypt_cfb128( &ctx, MBEDTLS_ARIA_ENCRYPT, 48, &j, iv, + aria_test2_pt, buf ); + if( memcmp( buf, aria_test2_cfb_ct[i], 48 ) != 0 ) + ARIA_SELF_TEST_IF_FAIL; + + /* Test CFB decryption */ + if( verbose ) + mbedtls_printf( " ARIA-CFB-%d (dec): ", 128 + 64 * i ); + mbedtls_aria_setkey_enc( &ctx, aria_test2_key, 128 + 64 * i ); + memcpy( iv, aria_test2_iv, MBEDTLS_ARIA_BLOCKSIZE ); + memset( buf, 0xAA, sizeof( buf ) ); + j = 0; + mbedtls_aria_crypt_cfb128( &ctx, MBEDTLS_ARIA_DECRYPT, 48, &j, + iv, aria_test2_cfb_ct[i], buf ); + if( memcmp( buf, aria_test2_pt, 48 ) != 0 ) + ARIA_SELF_TEST_IF_FAIL; + } + if( verbose ) + mbedtls_printf( "\n" ); +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) + for( i = 0; i < 3; i++ ) + { + /* Test CTR encryption */ + if( verbose ) + mbedtls_printf( " ARIA-CTR-%d (enc): ", 128 + 64 * i ); + mbedtls_aria_setkey_enc( &ctx, aria_test2_key, 128 + 64 * i ); + memset( iv, 0, MBEDTLS_ARIA_BLOCKSIZE ); // IV = 0 + memset( buf, 0x55, sizeof( buf ) ); + j = 0; + mbedtls_aria_crypt_ctr( &ctx, 48, &j, iv, blk, + aria_test2_pt, buf ); + if( memcmp( buf, aria_test2_ctr_ct[i], 48 ) != 0 ) + ARIA_SELF_TEST_IF_FAIL; + + /* Test CTR decryption */ + if( verbose ) + mbedtls_printf( " ARIA-CTR-%d (dec): ", 128 + 64 * i ); + mbedtls_aria_setkey_enc( &ctx, aria_test2_key, 128 + 64 * i ); + memset( iv, 0, MBEDTLS_ARIA_BLOCKSIZE ); // IV = 0 + memset( buf, 0xAA, sizeof( buf ) ); + j = 0; + mbedtls_aria_crypt_ctr( &ctx, 48, &j, iv, blk, + aria_test2_ctr_ct[i], buf ); + if( memcmp( buf, aria_test2_pt, 48 ) != 0 ) + ARIA_SELF_TEST_IF_FAIL; + } + if( verbose ) + mbedtls_printf( "\n" ); +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + + ret = 0; + +exit: + mbedtls_aria_free( &ctx ); + return( ret ); +} + +#endif /* MBEDTLS_SELF_TEST */ + +#endif /* MBEDTLS_ARIA_C */ diff --git a/third_party/mbedtls/library/camellia.cpp b/third_party/mbedtls/library/camellia.cpp new file mode 100644 index 000000000000..29d730ab5369 --- /dev/null +++ b/third_party/mbedtls/library/camellia.cpp @@ -0,0 +1,1087 @@ +/* + * Camellia implementation + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Camellia block cipher was designed by NTT and Mitsubishi Electric + * Corporation. + * + * http://info.isl.ntt.co.jp/crypt/eng/camellia/dl/01espec.pdf + */ + +#include "common.h" + +#if defined(MBEDTLS_CAMELLIA_C) + +#include "mbedtls/camellia.h" +#include "mbedtls/platform_util.h" + +#include + +#if defined(MBEDTLS_SELF_TEST) +#if defined(MBEDTLS_PLATFORM_C) +#include "mbedtls/platform.h" +#else +#include +#define mbedtls_printf printf +#endif /* MBEDTLS_PLATFORM_C */ +#endif /* MBEDTLS_SELF_TEST */ + +#if !defined(MBEDTLS_CAMELLIA_ALT) + +/* Parameter validation macros */ +#define CAMELLIA_VALIDATE_RET( cond ) \ + MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA ) +#define CAMELLIA_VALIDATE( cond ) \ + MBEDTLS_INTERNAL_VALIDATE( cond ) + +static const unsigned char SIGMA_CHARS[6][8] = +{ + { 0xa0, 0x9e, 0x66, 0x7f, 0x3b, 0xcc, 0x90, 0x8b }, + { 0xb6, 0x7a, 0xe8, 0x58, 0x4c, 0xaa, 0x73, 0xb2 }, + { 0xc6, 0xef, 0x37, 0x2f, 0xe9, 0x4f, 0x82, 0xbe }, + { 0x54, 0xff, 0x53, 0xa5, 0xf1, 0xd3, 0x6f, 0x1c }, + { 0x10, 0xe5, 0x27, 0xfa, 0xde, 0x68, 0x2d, 0x1d }, + { 0xb0, 0x56, 0x88, 0xc2, 0xb3, 0xe6, 0xc1, 0xfd } +}; + +#if defined(MBEDTLS_CAMELLIA_SMALL_MEMORY) + +static const unsigned char FSb[256] = +{ + 112,130, 44,236,179, 39,192,229,228,133, 87, 53,234, 12,174, 65, + 35,239,107,147, 69, 25,165, 33,237, 14, 79, 78, 29,101,146,189, + 134,184,175,143,124,235, 31,206, 62, 48,220, 95, 94,197, 11, 26, + 166,225, 57,202,213, 71, 93, 61,217, 1, 90,214, 81, 86,108, 77, + 139, 13,154,102,251,204,176, 45,116, 18, 43, 32,240,177,132,153, + 223, 76,203,194, 52,126,118, 5,109,183,169, 49,209, 23, 4,215, + 20, 88, 58, 97,222, 27, 17, 28, 50, 15,156, 22, 83, 24,242, 34, + 254, 68,207,178,195,181,122,145, 36, 8,232,168, 96,252,105, 80, + 170,208,160,125,161,137, 98,151, 84, 91, 30,149,224,255,100,210, + 16,196, 0, 72,163,247,117,219,138, 3,230,218, 9, 63,221,148, + 135, 92,131, 2,205, 74,144, 51,115,103,246,243,157,127,191,226, + 82,155,216, 38,200, 55,198, 59,129,150,111, 75, 19,190, 99, 46, + 233,121,167,140,159,110,188,142, 41,245,249,182, 47,253,180, 89, + 120,152, 6,106,231, 70,113,186,212, 37,171, 66,136,162,141,250, + 114, 7,185, 85,248,238,172, 10, 54, 73, 42,104, 60, 56,241,164, + 64, 40,211,123,187,201, 67,193, 21,227,173,244,119,199,128,158 +}; + +#define SBOX1(n) FSb[(n)] +#define SBOX2(n) (unsigned char)((FSb[(n)] >> 7 ^ FSb[(n)] << 1) & 0xff) +#define SBOX3(n) (unsigned char)((FSb[(n)] >> 1 ^ FSb[(n)] << 7) & 0xff) +#define SBOX4(n) FSb[((n) << 1 ^ (n) >> 7) &0xff] + +#else /* MBEDTLS_CAMELLIA_SMALL_MEMORY */ + +static const unsigned char FSb[256] = +{ + 112, 130, 44, 236, 179, 39, 192, 229, 228, 133, 87, 53, 234, 12, 174, 65, + 35, 239, 107, 147, 69, 25, 165, 33, 237, 14, 79, 78, 29, 101, 146, 189, + 134, 184, 175, 143, 124, 235, 31, 206, 62, 48, 220, 95, 94, 197, 11, 26, + 166, 225, 57, 202, 213, 71, 93, 61, 217, 1, 90, 214, 81, 86, 108, 77, + 139, 13, 154, 102, 251, 204, 176, 45, 116, 18, 43, 32, 240, 177, 132, 153, + 223, 76, 203, 194, 52, 126, 118, 5, 109, 183, 169, 49, 209, 23, 4, 215, + 20, 88, 58, 97, 222, 27, 17, 28, 50, 15, 156, 22, 83, 24, 242, 34, + 254, 68, 207, 178, 195, 181, 122, 145, 36, 8, 232, 168, 96, 252, 105, 80, + 170, 208, 160, 125, 161, 137, 98, 151, 84, 91, 30, 149, 224, 255, 100, 210, + 16, 196, 0, 72, 163, 247, 117, 219, 138, 3, 230, 218, 9, 63, 221, 148, + 135, 92, 131, 2, 205, 74, 144, 51, 115, 103, 246, 243, 157, 127, 191, 226, + 82, 155, 216, 38, 200, 55, 198, 59, 129, 150, 111, 75, 19, 190, 99, 46, + 233, 121, 167, 140, 159, 110, 188, 142, 41, 245, 249, 182, 47, 253, 180, 89, + 120, 152, 6, 106, 231, 70, 113, 186, 212, 37, 171, 66, 136, 162, 141, 250, + 114, 7, 185, 85, 248, 238, 172, 10, 54, 73, 42, 104, 60, 56, 241, 164, + 64, 40, 211, 123, 187, 201, 67, 193, 21, 227, 173, 244, 119, 199, 128, 158 +}; + +static const unsigned char FSb2[256] = +{ + 224, 5, 88, 217, 103, 78, 129, 203, 201, 11, 174, 106, 213, 24, 93, 130, + 70, 223, 214, 39, 138, 50, 75, 66, 219, 28, 158, 156, 58, 202, 37, 123, + 13, 113, 95, 31, 248, 215, 62, 157, 124, 96, 185, 190, 188, 139, 22, 52, + 77, 195, 114, 149, 171, 142, 186, 122, 179, 2, 180, 173, 162, 172, 216, 154, + 23, 26, 53, 204, 247, 153, 97, 90, 232, 36, 86, 64, 225, 99, 9, 51, + 191, 152, 151, 133, 104, 252, 236, 10, 218, 111, 83, 98, 163, 46, 8, 175, + 40, 176, 116, 194, 189, 54, 34, 56, 100, 30, 57, 44, 166, 48, 229, 68, + 253, 136, 159, 101, 135, 107, 244, 35, 72, 16, 209, 81, 192, 249, 210, 160, + 85, 161, 65, 250, 67, 19, 196, 47, 168, 182, 60, 43, 193, 255, 200, 165, + 32, 137, 0, 144, 71, 239, 234, 183, 21, 6, 205, 181, 18, 126, 187, 41, + 15, 184, 7, 4, 155, 148, 33, 102, 230, 206, 237, 231, 59, 254, 127, 197, + 164, 55, 177, 76, 145, 110, 141, 118, 3, 45, 222, 150, 38, 125, 198, 92, + 211, 242, 79, 25, 63, 220, 121, 29, 82, 235, 243, 109, 94, 251, 105, 178, + 240, 49, 12, 212, 207, 140, 226, 117, 169, 74, 87, 132, 17, 69, 27, 245, + 228, 14, 115, 170, 241, 221, 89, 20, 108, 146, 84, 208, 120, 112, 227, 73, + 128, 80, 167, 246, 119, 147, 134, 131, 42, 199, 91, 233, 238, 143, 1, 61 +}; + +static const unsigned char FSb3[256] = +{ + 56, 65, 22, 118, 217, 147, 96, 242, 114, 194, 171, 154, 117, 6, 87, 160, + 145, 247, 181, 201, 162, 140, 210, 144, 246, 7, 167, 39, 142, 178, 73, 222, + 67, 92, 215, 199, 62, 245, 143, 103, 31, 24, 110, 175, 47, 226, 133, 13, + 83, 240, 156, 101, 234, 163, 174, 158, 236, 128, 45, 107, 168, 43, 54, 166, + 197, 134, 77, 51, 253, 102, 88, 150, 58, 9, 149, 16, 120, 216, 66, 204, + 239, 38, 229, 97, 26, 63, 59, 130, 182, 219, 212, 152, 232, 139, 2, 235, + 10, 44, 29, 176, 111, 141, 136, 14, 25, 135, 78, 11, 169, 12, 121, 17, + 127, 34, 231, 89, 225, 218, 61, 200, 18, 4, 116, 84, 48, 126, 180, 40, + 85, 104, 80, 190, 208, 196, 49, 203, 42, 173, 15, 202, 112, 255, 50, 105, + 8, 98, 0, 36, 209, 251, 186, 237, 69, 129, 115, 109, 132, 159, 238, 74, + 195, 46, 193, 1, 230, 37, 72, 153, 185, 179, 123, 249, 206, 191, 223, 113, + 41, 205, 108, 19, 100, 155, 99, 157, 192, 75, 183, 165, 137, 95, 177, 23, + 244, 188, 211, 70, 207, 55, 94, 71, 148, 250, 252, 91, 151, 254, 90, 172, + 60, 76, 3, 53, 243, 35, 184, 93, 106, 146, 213, 33, 68, 81, 198, 125, + 57, 131, 220, 170, 124, 119, 86, 5, 27, 164, 21, 52, 30, 28, 248, 82, + 32, 20, 233, 189, 221, 228, 161, 224, 138, 241, 214, 122, 187, 227, 64, 79 +}; + +static const unsigned char FSb4[256] = +{ + 112, 44, 179, 192, 228, 87, 234, 174, 35, 107, 69, 165, 237, 79, 29, 146, + 134, 175, 124, 31, 62, 220, 94, 11, 166, 57, 213, 93, 217, 90, 81, 108, + 139, 154, 251, 176, 116, 43, 240, 132, 223, 203, 52, 118, 109, 169, 209, 4, + 20, 58, 222, 17, 50, 156, 83, 242, 254, 207, 195, 122, 36, 232, 96, 105, + 170, 160, 161, 98, 84, 30, 224, 100, 16, 0, 163, 117, 138, 230, 9, 221, + 135, 131, 205, 144, 115, 246, 157, 191, 82, 216, 200, 198, 129, 111, 19, 99, + 233, 167, 159, 188, 41, 249, 47, 180, 120, 6, 231, 113, 212, 171, 136, 141, + 114, 185, 248, 172, 54, 42, 60, 241, 64, 211, 187, 67, 21, 173, 119, 128, + 130, 236, 39, 229, 133, 53, 12, 65, 239, 147, 25, 33, 14, 78, 101, 189, + 184, 143, 235, 206, 48, 95, 197, 26, 225, 202, 71, 61, 1, 214, 86, 77, + 13, 102, 204, 45, 18, 32, 177, 153, 76, 194, 126, 5, 183, 49, 23, 215, + 88, 97, 27, 28, 15, 22, 24, 34, 68, 178, 181, 145, 8, 168, 252, 80, + 208, 125, 137, 151, 91, 149, 255, 210, 196, 72, 247, 219, 3, 218, 63, 148, + 92, 2, 74, 51, 103, 243, 127, 226, 155, 38, 55, 59, 150, 75, 190, 46, + 121, 140, 110, 142, 245, 182, 253, 89, 152, 106, 70, 186, 37, 66, 162, 250, + 7, 85, 238, 10, 73, 104, 56, 164, 40, 123, 201, 193, 227, 244, 199, 158 +}; + +#define SBOX1(n) FSb[(n)] +#define SBOX2(n) FSb2[(n)] +#define SBOX3(n) FSb3[(n)] +#define SBOX4(n) FSb4[(n)] + +#endif /* MBEDTLS_CAMELLIA_SMALL_MEMORY */ + +static const unsigned char shifts[2][4][4] = +{ + { + { 1, 1, 1, 1 }, /* KL */ + { 0, 0, 0, 0 }, /* KR */ + { 1, 1, 1, 1 }, /* KA */ + { 0, 0, 0, 0 } /* KB */ + }, + { + { 1, 0, 1, 1 }, /* KL */ + { 1, 1, 0, 1 }, /* KR */ + { 1, 1, 1, 0 }, /* KA */ + { 1, 1, 0, 1 } /* KB */ + } +}; + +static const signed char indexes[2][4][20] = +{ + { + { 0, 1, 2, 3, 8, 9, 10, 11, 38, 39, + 36, 37, 23, 20, 21, 22, 27, -1, -1, 26 }, /* KL -> RK */ + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, /* KR -> RK */ + { 4, 5, 6, 7, 12, 13, 14, 15, 16, 17, + 18, 19, -1, 24, 25, -1, 31, 28, 29, 30 }, /* KA -> RK */ + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 } /* KB -> RK */ + }, + { + { 0, 1, 2, 3, 61, 62, 63, 60, -1, -1, + -1, -1, 27, 24, 25, 26, 35, 32, 33, 34 }, /* KL -> RK */ + { -1, -1, -1, -1, 8, 9, 10, 11, 16, 17, + 18, 19, -1, -1, -1, -1, 39, 36, 37, 38 }, /* KR -> RK */ + { -1, -1, -1, -1, 12, 13, 14, 15, 58, 59, + 56, 57, 31, 28, 29, 30, -1, -1, -1, -1 }, /* KA -> RK */ + { 4, 5, 6, 7, 65, 66, 67, 64, 20, 21, + 22, 23, -1, -1, -1, -1, 43, 40, 41, 42 } /* KB -> RK */ + } +}; + +static const signed char transposes[2][20] = +{ + { + 21, 22, 23, 20, + -1, -1, -1, -1, + 18, 19, 16, 17, + 11, 8, 9, 10, + 15, 12, 13, 14 + }, + { + 25, 26, 27, 24, + 29, 30, 31, 28, + 18, 19, 16, 17, + -1, -1, -1, -1, + -1, -1, -1, -1 + } +}; + +/* Shift macro for 128 bit strings with rotation smaller than 32 bits (!) */ +#define ROTL(DEST, SRC, SHIFT) \ +{ \ + (DEST)[0] = (SRC)[0] << (SHIFT) ^ (SRC)[1] >> (32 - (SHIFT)); \ + (DEST)[1] = (SRC)[1] << (SHIFT) ^ (SRC)[2] >> (32 - (SHIFT)); \ + (DEST)[2] = (SRC)[2] << (SHIFT) ^ (SRC)[3] >> (32 - (SHIFT)); \ + (DEST)[3] = (SRC)[3] << (SHIFT) ^ (SRC)[0] >> (32 - (SHIFT)); \ +} + +#define FL(XL, XR, KL, KR) \ +{ \ + (XR) = ((((XL) & (KL)) << 1) | (((XL) & (KL)) >> 31)) ^ (XR); \ + (XL) = ((XR) | (KR)) ^ (XL); \ +} + +#define FLInv(YL, YR, KL, KR) \ +{ \ + (YL) = ((YR) | (KR)) ^ (YL); \ + (YR) = ((((YL) & (KL)) << 1) | (((YL) & (KL)) >> 31)) ^ (YR); \ +} + +#define SHIFT_AND_PLACE(INDEX, OFFSET) \ +{ \ + TK[0] = KC[(OFFSET) * 4 + 0]; \ + TK[1] = KC[(OFFSET) * 4 + 1]; \ + TK[2] = KC[(OFFSET) * 4 + 2]; \ + TK[3] = KC[(OFFSET) * 4 + 3]; \ + \ + for( i = 1; i <= 4; i++ ) \ + if( shifts[(INDEX)][(OFFSET)][i -1] ) \ + ROTL(TK + i * 4, TK, ( 15 * i ) % 32); \ + \ + for( i = 0; i < 20; i++ ) \ + if( indexes[(INDEX)][(OFFSET)][i] != -1 ) { \ + RK[indexes[(INDEX)][(OFFSET)][i]] = TK[ i ]; \ + } \ +} + +static void camellia_feistel( const uint32_t x[2], const uint32_t k[2], + uint32_t z[2]) +{ + uint32_t I0, I1; + I0 = x[0] ^ k[0]; + I1 = x[1] ^ k[1]; + + I0 = ((uint32_t) SBOX1( MBEDTLS_BYTE_3( I0 )) << 24) | + ((uint32_t) SBOX2( MBEDTLS_BYTE_2( I0 )) << 16) | + ((uint32_t) SBOX3( MBEDTLS_BYTE_1( I0 )) << 8) | + ((uint32_t) SBOX4( MBEDTLS_BYTE_0( I0 )) ); + I1 = ((uint32_t) SBOX2( MBEDTLS_BYTE_3( I1 )) << 24) | + ((uint32_t) SBOX3( MBEDTLS_BYTE_2( I1 )) << 16) | + ((uint32_t) SBOX4( MBEDTLS_BYTE_1( I1 )) << 8) | + ((uint32_t) SBOX1( MBEDTLS_BYTE_0( I1 )) ); + + I0 ^= (I1 << 8) | (I1 >> 24); + I1 ^= (I0 << 16) | (I0 >> 16); + I0 ^= (I1 >> 8) | (I1 << 24); + I1 ^= (I0 >> 8) | (I0 << 24); + + z[0] ^= I1; + z[1] ^= I0; +} + +void mbedtls_camellia_init( mbedtls_camellia_context *ctx ) +{ + CAMELLIA_VALIDATE( ctx != NULL ); + memset( ctx, 0, sizeof( mbedtls_camellia_context ) ); +} + +void mbedtls_camellia_free( mbedtls_camellia_context *ctx ) +{ + if( ctx == NULL ) + return; + + mbedtls_platform_zeroize( ctx, sizeof( mbedtls_camellia_context ) ); +} + +/* + * Camellia key schedule (encryption) + */ +int mbedtls_camellia_setkey_enc( mbedtls_camellia_context *ctx, + const unsigned char *key, + unsigned int keybits ) +{ + int idx; + size_t i; + uint32_t *RK; + unsigned char t[64]; + uint32_t SIGMA[6][2]; + uint32_t KC[16]; + uint32_t TK[20]; + + CAMELLIA_VALIDATE_RET( ctx != NULL ); + CAMELLIA_VALIDATE_RET( key != NULL ); + + RK = ctx->rk; + + memset( t, 0, 64 ); + memset( RK, 0, sizeof(ctx->rk) ); + + switch( keybits ) + { + case 128: ctx->nr = 3; idx = 0; break; + case 192: + case 256: ctx->nr = 4; idx = 1; break; + default : return( MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA ); + } + + for( i = 0; i < keybits / 8; ++i ) + t[i] = key[i]; + + if( keybits == 192 ) { + for( i = 0; i < 8; i++ ) + t[24 + i] = ~t[16 + i]; + } + + /* + * Prepare SIGMA values + */ + for( i = 0; i < 6; i++ ) { + SIGMA[i][0] = MBEDTLS_GET_UINT32_BE( SIGMA_CHARS[i], 0 ); + SIGMA[i][1] = MBEDTLS_GET_UINT32_BE( SIGMA_CHARS[i], 4 ); + } + + /* + * Key storage in KC + * Order: KL, KR, KA, KB + */ + memset( KC, 0, sizeof(KC) ); + + /* Store KL, KR */ + for( i = 0; i < 8; i++ ) + KC[i] = MBEDTLS_GET_UINT32_BE( t, i * 4 ); + + /* Generate KA */ + for( i = 0; i < 4; ++i ) + KC[8 + i] = KC[i] ^ KC[4 + i]; + + camellia_feistel( KC + 8, SIGMA[0], KC + 10 ); + camellia_feistel( KC + 10, SIGMA[1], KC + 8 ); + + for( i = 0; i < 4; ++i ) + KC[8 + i] ^= KC[i]; + + camellia_feistel( KC + 8, SIGMA[2], KC + 10 ); + camellia_feistel( KC + 10, SIGMA[3], KC + 8 ); + + if( keybits > 128 ) { + /* Generate KB */ + for( i = 0; i < 4; ++i ) + KC[12 + i] = KC[4 + i] ^ KC[8 + i]; + + camellia_feistel( KC + 12, SIGMA[4], KC + 14 ); + camellia_feistel( KC + 14, SIGMA[5], KC + 12 ); + } + + /* + * Generating subkeys + */ + + /* Manipulating KL */ + SHIFT_AND_PLACE( idx, 0 ); + + /* Manipulating KR */ + if( keybits > 128 ) { + SHIFT_AND_PLACE( idx, 1 ); + } + + /* Manipulating KA */ + SHIFT_AND_PLACE( idx, 2 ); + + /* Manipulating KB */ + if( keybits > 128 ) { + SHIFT_AND_PLACE( idx, 3 ); + } + + /* Do transpositions */ + for( i = 0; i < 20; i++ ) { + if( transposes[idx][i] != -1 ) { + RK[32 + 12 * idx + i] = RK[transposes[idx][i]]; + } + } + + return( 0 ); +} + +/* + * Camellia key schedule (decryption) + */ +int mbedtls_camellia_setkey_dec( mbedtls_camellia_context *ctx, + const unsigned char *key, + unsigned int keybits ) +{ + int idx, ret; + size_t i; + mbedtls_camellia_context cty; + uint32_t *RK; + uint32_t *SK; + CAMELLIA_VALIDATE_RET( ctx != NULL ); + CAMELLIA_VALIDATE_RET( key != NULL ); + + mbedtls_camellia_init( &cty ); + + /* Also checks keybits */ + if( ( ret = mbedtls_camellia_setkey_enc( &cty, key, keybits ) ) != 0 ) + goto exit; + + ctx->nr = cty.nr; + idx = ( ctx->nr == 4 ); + + RK = ctx->rk; + SK = cty.rk + 24 * 2 + 8 * idx * 2; + + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + + for( i = 22 + 8 * idx, SK -= 6; i > 0; i--, SK -= 4 ) + { + *RK++ = *SK++; + *RK++ = *SK++; + } + + SK -= 2; + + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + +exit: + mbedtls_camellia_free( &cty ); + + return( ret ); +} + +/* + * Camellia-ECB block encryption/decryption + */ +int mbedtls_camellia_crypt_ecb( mbedtls_camellia_context *ctx, + int mode, + const unsigned char input[16], + unsigned char output[16] ) +{ + int NR; + uint32_t *RK, X[4]; + CAMELLIA_VALIDATE_RET( ctx != NULL ); + CAMELLIA_VALIDATE_RET( mode == MBEDTLS_CAMELLIA_ENCRYPT || + mode == MBEDTLS_CAMELLIA_DECRYPT ); + CAMELLIA_VALIDATE_RET( input != NULL ); + CAMELLIA_VALIDATE_RET( output != NULL ); + + ( (void) mode ); + + NR = ctx->nr; + RK = ctx->rk; + + X[0] = MBEDTLS_GET_UINT32_BE( input, 0 ); + X[1] = MBEDTLS_GET_UINT32_BE( input, 4 ); + X[2] = MBEDTLS_GET_UINT32_BE( input, 8 ); + X[3] = MBEDTLS_GET_UINT32_BE( input, 12 ); + + X[0] ^= *RK++; + X[1] ^= *RK++; + X[2] ^= *RK++; + X[3] ^= *RK++; + + while( NR ) { + --NR; + camellia_feistel( X, RK, X + 2 ); + RK += 2; + camellia_feistel( X + 2, RK, X ); + RK += 2; + camellia_feistel( X, RK, X + 2 ); + RK += 2; + camellia_feistel( X + 2, RK, X ); + RK += 2; + camellia_feistel( X, RK, X + 2 ); + RK += 2; + camellia_feistel( X + 2, RK, X ); + RK += 2; + + if( NR ) { + FL(X[0], X[1], RK[0], RK[1]); + RK += 2; + FLInv(X[2], X[3], RK[0], RK[1]); + RK += 2; + } + } + + X[2] ^= *RK++; + X[3] ^= *RK++; + X[0] ^= *RK++; + X[1] ^= *RK++; + + MBEDTLS_PUT_UINT32_BE( X[2], output, 0 ); + MBEDTLS_PUT_UINT32_BE( X[3], output, 4 ); + MBEDTLS_PUT_UINT32_BE( X[0], output, 8 ); + MBEDTLS_PUT_UINT32_BE( X[1], output, 12 ); + + return( 0 ); +} + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +/* + * Camellia-CBC buffer encryption/decryption + */ +int mbedtls_camellia_crypt_cbc( mbedtls_camellia_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + int i; + unsigned char temp[16]; + CAMELLIA_VALIDATE_RET( ctx != NULL ); + CAMELLIA_VALIDATE_RET( mode == MBEDTLS_CAMELLIA_ENCRYPT || + mode == MBEDTLS_CAMELLIA_DECRYPT ); + CAMELLIA_VALIDATE_RET( iv != NULL ); + CAMELLIA_VALIDATE_RET( length == 0 || input != NULL ); + CAMELLIA_VALIDATE_RET( length == 0 || output != NULL ); + + if( length % 16 ) + return( MBEDTLS_ERR_CAMELLIA_INVALID_INPUT_LENGTH ); + + if( mode == MBEDTLS_CAMELLIA_DECRYPT ) + { + while( length > 0 ) + { + memcpy( temp, input, 16 ); + mbedtls_camellia_crypt_ecb( ctx, mode, input, output ); + + for( i = 0; i < 16; i++ ) + output[i] = (unsigned char)( output[i] ^ iv[i] ); + + memcpy( iv, temp, 16 ); + + input += 16; + output += 16; + length -= 16; + } + } + else + { + while( length > 0 ) + { + for( i = 0; i < 16; i++ ) + output[i] = (unsigned char)( input[i] ^ iv[i] ); + + mbedtls_camellia_crypt_ecb( ctx, mode, output, output ); + memcpy( iv, output, 16 ); + + input += 16; + output += 16; + length -= 16; + } + } + + return( 0 ); +} +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +/* + * Camellia-CFB128 buffer encryption/decryption + */ +int mbedtls_camellia_crypt_cfb128( mbedtls_camellia_context *ctx, + int mode, + size_t length, + size_t *iv_off, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + int c; + size_t n; + CAMELLIA_VALIDATE_RET( ctx != NULL ); + CAMELLIA_VALIDATE_RET( mode == MBEDTLS_CAMELLIA_ENCRYPT || + mode == MBEDTLS_CAMELLIA_DECRYPT ); + CAMELLIA_VALIDATE_RET( iv != NULL ); + CAMELLIA_VALIDATE_RET( iv_off != NULL ); + CAMELLIA_VALIDATE_RET( length == 0 || input != NULL ); + CAMELLIA_VALIDATE_RET( length == 0 || output != NULL ); + + n = *iv_off; + if( n >= 16 ) + return( MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA ); + + if( mode == MBEDTLS_CAMELLIA_DECRYPT ) + { + while( length-- ) + { + if( n == 0 ) + mbedtls_camellia_crypt_ecb( ctx, MBEDTLS_CAMELLIA_ENCRYPT, iv, iv ); + + c = *input++; + *output++ = (unsigned char)( c ^ iv[n] ); + iv[n] = (unsigned char) c; + + n = ( n + 1 ) & 0x0F; + } + } + else + { + while( length-- ) + { + if( n == 0 ) + mbedtls_camellia_crypt_ecb( ctx, MBEDTLS_CAMELLIA_ENCRYPT, iv, iv ); + + iv[n] = *output++ = (unsigned char)( iv[n] ^ *input++ ); + + n = ( n + 1 ) & 0x0F; + } + } + + *iv_off = n; + + return( 0 ); +} +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +/* + * Camellia-CTR buffer encryption/decryption + */ +int mbedtls_camellia_crypt_ctr( mbedtls_camellia_context *ctx, + size_t length, + size_t *nc_off, + unsigned char nonce_counter[16], + unsigned char stream_block[16], + const unsigned char *input, + unsigned char *output ) +{ + int c, i; + size_t n; + CAMELLIA_VALIDATE_RET( ctx != NULL ); + CAMELLIA_VALIDATE_RET( nonce_counter != NULL ); + CAMELLIA_VALIDATE_RET( stream_block != NULL ); + CAMELLIA_VALIDATE_RET( nc_off != NULL ); + CAMELLIA_VALIDATE_RET( length == 0 || input != NULL ); + CAMELLIA_VALIDATE_RET( length == 0 || output != NULL ); + + n = *nc_off; + if( n >= 16 ) + return( MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA ); + + while( length-- ) + { + if( n == 0 ) { + mbedtls_camellia_crypt_ecb( ctx, MBEDTLS_CAMELLIA_ENCRYPT, nonce_counter, + stream_block ); + + for( i = 16; i > 0; i-- ) + if( ++nonce_counter[i - 1] != 0 ) + break; + } + c = *input++; + *output++ = (unsigned char)( c ^ stream_block[n] ); + + n = ( n + 1 ) & 0x0F; + } + + *nc_off = n; + + return( 0 ); +} +#endif /* MBEDTLS_CIPHER_MODE_CTR */ +#endif /* !MBEDTLS_CAMELLIA_ALT */ + +#if defined(MBEDTLS_SELF_TEST) + +/* + * Camellia test vectors from: + * + * http://info.isl.ntt.co.jp/crypt/eng/camellia/technology.html: + * http://info.isl.ntt.co.jp/crypt/eng/camellia/dl/cryptrec/intermediate.txt + * http://info.isl.ntt.co.jp/crypt/eng/camellia/dl/cryptrec/t_camellia.txt + * (For each bitlength: Key 0, Nr 39) + */ +#define CAMELLIA_TESTS_ECB 2 + +static const unsigned char camellia_test_ecb_key[3][CAMELLIA_TESTS_ECB][32] = +{ + { + { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, + 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } + }, + { + { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, + 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10, + 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } + }, + { + { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, + 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10, + 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, + 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } + }, +}; + +static const unsigned char camellia_test_ecb_plain[CAMELLIA_TESTS_ECB][16] = +{ + { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, + 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10 }, + { 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } +}; + +static const unsigned char camellia_test_ecb_cipher[3][CAMELLIA_TESTS_ECB][16] = +{ + { + { 0x67, 0x67, 0x31, 0x38, 0x54, 0x96, 0x69, 0x73, + 0x08, 0x57, 0x06, 0x56, 0x48, 0xea, 0xbe, 0x43 }, + { 0x38, 0x3C, 0x6C, 0x2A, 0xAB, 0xEF, 0x7F, 0xDE, + 0x25, 0xCD, 0x47, 0x0B, 0xF7, 0x74, 0xA3, 0x31 } + }, + { + { 0xb4, 0x99, 0x34, 0x01, 0xb3, 0xe9, 0x96, 0xf8, + 0x4e, 0xe5, 0xce, 0xe7, 0xd7, 0x9b, 0x09, 0xb9 }, + { 0xD1, 0x76, 0x3F, 0xC0, 0x19, 0xD7, 0x7C, 0xC9, + 0x30, 0xBF, 0xF2, 0xA5, 0x6F, 0x7C, 0x93, 0x64 } + }, + { + { 0x9a, 0xcc, 0x23, 0x7d, 0xff, 0x16, 0xd7, 0x6c, + 0x20, 0xef, 0x7c, 0x91, 0x9e, 0x3a, 0x75, 0x09 }, + { 0x05, 0x03, 0xFB, 0x10, 0xAB, 0x24, 0x1E, 0x7C, + 0xF4, 0x5D, 0x8C, 0xDE, 0xEE, 0x47, 0x43, 0x35 } + } +}; + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +#define CAMELLIA_TESTS_CBC 3 + +static const unsigned char camellia_test_cbc_key[3][32] = +{ + { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, + 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C } + , + { 0x8E, 0x73, 0xB0, 0xF7, 0xDA, 0x0E, 0x64, 0x52, + 0xC8, 0x10, 0xF3, 0x2B, 0x80, 0x90, 0x79, 0xE5, + 0x62, 0xF8, 0xEA, 0xD2, 0x52, 0x2C, 0x6B, 0x7B } + , + { 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE, + 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81, + 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7, + 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4 } +}; + +static const unsigned char camellia_test_cbc_iv[16] = + + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F } +; + +static const unsigned char camellia_test_cbc_plain[CAMELLIA_TESTS_CBC][16] = +{ + { 0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96, + 0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A }, + { 0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C, + 0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51 }, + { 0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11, + 0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF } + +}; + +static const unsigned char camellia_test_cbc_cipher[3][CAMELLIA_TESTS_CBC][16] = +{ + { + { 0x16, 0x07, 0xCF, 0x49, 0x4B, 0x36, 0xBB, 0xF0, + 0x0D, 0xAE, 0xB0, 0xB5, 0x03, 0xC8, 0x31, 0xAB }, + { 0xA2, 0xF2, 0xCF, 0x67, 0x16, 0x29, 0xEF, 0x78, + 0x40, 0xC5, 0xA5, 0xDF, 0xB5, 0x07, 0x48, 0x87 }, + { 0x0F, 0x06, 0x16, 0x50, 0x08, 0xCF, 0x8B, 0x8B, + 0x5A, 0x63, 0x58, 0x63, 0x62, 0x54, 0x3E, 0x54 } + }, + { + { 0x2A, 0x48, 0x30, 0xAB, 0x5A, 0xC4, 0xA1, 0xA2, + 0x40, 0x59, 0x55, 0xFD, 0x21, 0x95, 0xCF, 0x93 }, + { 0x5D, 0x5A, 0x86, 0x9B, 0xD1, 0x4C, 0xE5, 0x42, + 0x64, 0xF8, 0x92, 0xA6, 0xDD, 0x2E, 0xC3, 0xD5 }, + { 0x37, 0xD3, 0x59, 0xC3, 0x34, 0x98, 0x36, 0xD8, + 0x84, 0xE3, 0x10, 0xAD, 0xDF, 0x68, 0xC4, 0x49 } + }, + { + { 0xE6, 0xCF, 0xA3, 0x5F, 0xC0, 0x2B, 0x13, 0x4A, + 0x4D, 0x2C, 0x0B, 0x67, 0x37, 0xAC, 0x3E, 0xDA }, + { 0x36, 0xCB, 0xEB, 0x73, 0xBD, 0x50, 0x4B, 0x40, + 0x70, 0xB1, 0xB7, 0xDE, 0x2B, 0x21, 0xEB, 0x50 }, + { 0xE3, 0x1A, 0x60, 0x55, 0x29, 0x7D, 0x96, 0xCA, + 0x33, 0x30, 0xCD, 0xF1, 0xB1, 0x86, 0x0A, 0x83 } + } +}; +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +/* + * Camellia-CTR test vectors from: + * + * http://www.faqs.org/rfcs/rfc5528.html + */ + +static const unsigned char camellia_test_ctr_key[3][16] = +{ + { 0xAE, 0x68, 0x52, 0xF8, 0x12, 0x10, 0x67, 0xCC, + 0x4B, 0xF7, 0xA5, 0x76, 0x55, 0x77, 0xF3, 0x9E }, + { 0x7E, 0x24, 0x06, 0x78, 0x17, 0xFA, 0xE0, 0xD7, + 0x43, 0xD6, 0xCE, 0x1F, 0x32, 0x53, 0x91, 0x63 }, + { 0x76, 0x91, 0xBE, 0x03, 0x5E, 0x50, 0x20, 0xA8, + 0xAC, 0x6E, 0x61, 0x85, 0x29, 0xF9, 0xA0, 0xDC } +}; + +static const unsigned char camellia_test_ctr_nonce_counter[3][16] = +{ + { 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }, + { 0x00, 0x6C, 0xB6, 0xDB, 0xC0, 0x54, 0x3B, 0x59, + 0xDA, 0x48, 0xD9, 0x0B, 0x00, 0x00, 0x00, 0x01 }, + { 0x00, 0xE0, 0x01, 0x7B, 0x27, 0x77, 0x7F, 0x3F, + 0x4A, 0x17, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x01 } +}; + +static const unsigned char camellia_test_ctr_pt[3][48] = +{ + { 0x53, 0x69, 0x6E, 0x67, 0x6C, 0x65, 0x20, 0x62, + 0x6C, 0x6F, 0x63, 0x6B, 0x20, 0x6D, 0x73, 0x67 }, + + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F }, + + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + 0x20, 0x21, 0x22, 0x23 } +}; + +static const unsigned char camellia_test_ctr_ct[3][48] = +{ + { 0xD0, 0x9D, 0xC2, 0x9A, 0x82, 0x14, 0x61, 0x9A, + 0x20, 0x87, 0x7C, 0x76, 0xDB, 0x1F, 0x0B, 0x3F }, + { 0xDB, 0xF3, 0xC7, 0x8D, 0xC0, 0x83, 0x96, 0xD4, + 0xDA, 0x7C, 0x90, 0x77, 0x65, 0xBB, 0xCB, 0x44, + 0x2B, 0x8E, 0x8E, 0x0F, 0x31, 0xF0, 0xDC, 0xA7, + 0x2C, 0x74, 0x17, 0xE3, 0x53, 0x60, 0xE0, 0x48 }, + { 0xB1, 0x9D, 0x1F, 0xCD, 0xCB, 0x75, 0xEB, 0x88, + 0x2F, 0x84, 0x9C, 0xE2, 0x4D, 0x85, 0xCF, 0x73, + 0x9C, 0xE6, 0x4B, 0x2B, 0x5C, 0x9D, 0x73, 0xF1, + 0x4F, 0x2D, 0x5D, 0x9D, 0xCE, 0x98, 0x89, 0xCD, + 0xDF, 0x50, 0x86, 0x96 } +}; + +static const int camellia_test_ctr_len[3] = + { 16, 32, 36 }; +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +/* + * Checkup routine + */ +int mbedtls_camellia_self_test( int verbose ) +{ + int i, j, u, v; + unsigned char key[32]; + unsigned char buf[64]; + unsigned char src[16]; + unsigned char dst[16]; +#if defined(MBEDTLS_CIPHER_MODE_CBC) + unsigned char iv[16]; +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + size_t offset, len; + unsigned char nonce_counter[16]; + unsigned char stream_block[16]; +#endif + int ret = 1; + + mbedtls_camellia_context ctx; + + mbedtls_camellia_init( &ctx ); + memset( key, 0, 32 ); + + for( j = 0; j < 6; j++ ) { + u = j >> 1; + v = j & 1; + + if( verbose != 0 ) + mbedtls_printf( " CAMELLIA-ECB-%3d (%s): ", 128 + u * 64, + (v == MBEDTLS_CAMELLIA_DECRYPT) ? "dec" : "enc"); + + for( i = 0; i < CAMELLIA_TESTS_ECB; i++ ) { + memcpy( key, camellia_test_ecb_key[u][i], 16 + 8 * u ); + + if( v == MBEDTLS_CAMELLIA_DECRYPT ) { + mbedtls_camellia_setkey_dec( &ctx, key, 128 + u * 64 ); + memcpy( src, camellia_test_ecb_cipher[u][i], 16 ); + memcpy( dst, camellia_test_ecb_plain[i], 16 ); + } else { /* MBEDTLS_CAMELLIA_ENCRYPT */ + mbedtls_camellia_setkey_enc( &ctx, key, 128 + u * 64 ); + memcpy( src, camellia_test_ecb_plain[i], 16 ); + memcpy( dst, camellia_test_ecb_cipher[u][i], 16 ); + } + + mbedtls_camellia_crypt_ecb( &ctx, v, src, buf ); + + if( memcmp( buf, dst, 16 ) != 0 ) + { + if( verbose != 0 ) + mbedtls_printf( "failed\n" ); + goto exit; + } + } + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + } + + if( verbose != 0 ) + mbedtls_printf( "\n" ); + +#if defined(MBEDTLS_CIPHER_MODE_CBC) + /* + * CBC mode + */ + for( j = 0; j < 6; j++ ) + { + u = j >> 1; + v = j & 1; + + if( verbose != 0 ) + mbedtls_printf( " CAMELLIA-CBC-%3d (%s): ", 128 + u * 64, + ( v == MBEDTLS_CAMELLIA_DECRYPT ) ? "dec" : "enc" ); + + memcpy( src, camellia_test_cbc_iv, 16 ); + memcpy( dst, camellia_test_cbc_iv, 16 ); + memcpy( key, camellia_test_cbc_key[u], 16 + 8 * u ); + + if( v == MBEDTLS_CAMELLIA_DECRYPT ) { + mbedtls_camellia_setkey_dec( &ctx, key, 128 + u * 64 ); + } else { + mbedtls_camellia_setkey_enc( &ctx, key, 128 + u * 64 ); + } + + for( i = 0; i < CAMELLIA_TESTS_CBC; i++ ) { + + if( v == MBEDTLS_CAMELLIA_DECRYPT ) { + memcpy( iv , src, 16 ); + memcpy( src, camellia_test_cbc_cipher[u][i], 16 ); + memcpy( dst, camellia_test_cbc_plain[i], 16 ); + } else { /* MBEDTLS_CAMELLIA_ENCRYPT */ + memcpy( iv , dst, 16 ); + memcpy( src, camellia_test_cbc_plain[i], 16 ); + memcpy( dst, camellia_test_cbc_cipher[u][i], 16 ); + } + + mbedtls_camellia_crypt_cbc( &ctx, v, 16, iv, src, buf ); + + if( memcmp( buf, dst, 16 ) != 0 ) + { + if( verbose != 0 ) + mbedtls_printf( "failed\n" ); + goto exit; + } + } + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + } +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + + if( verbose != 0 ) + mbedtls_printf( "\n" ); + +#if defined(MBEDTLS_CIPHER_MODE_CTR) + /* + * CTR mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + v = i & 1; + + if( verbose != 0 ) + mbedtls_printf( " CAMELLIA-CTR-128 (%s): ", + ( v == MBEDTLS_CAMELLIA_DECRYPT ) ? "dec" : "enc" ); + + memcpy( nonce_counter, camellia_test_ctr_nonce_counter[u], 16 ); + memcpy( key, camellia_test_ctr_key[u], 16 ); + + offset = 0; + mbedtls_camellia_setkey_enc( &ctx, key, 128 ); + + if( v == MBEDTLS_CAMELLIA_DECRYPT ) + { + len = camellia_test_ctr_len[u]; + memcpy( buf, camellia_test_ctr_ct[u], len ); + + mbedtls_camellia_crypt_ctr( &ctx, len, &offset, nonce_counter, stream_block, + buf, buf ); + + if( memcmp( buf, camellia_test_ctr_pt[u], len ) != 0 ) + { + if( verbose != 0 ) + mbedtls_printf( "failed\n" ); + goto exit; + } + } + else + { + len = camellia_test_ctr_len[u]; + memcpy( buf, camellia_test_ctr_pt[u], len ); + + mbedtls_camellia_crypt_ctr( &ctx, len, &offset, nonce_counter, stream_block, + buf, buf ); + + if( memcmp( buf, camellia_test_ctr_ct[u], len ) != 0 ) + { + if( verbose != 0 ) + mbedtls_printf( "failed\n" ); + goto exit; + } + } + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + } + + if( verbose != 0 ) + mbedtls_printf( "\n" ); +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + + ret = 0; + +exit: + mbedtls_camellia_free( &ctx ); + return( ret ); +} + +#endif /* MBEDTLS_SELF_TEST */ + +#endif /* MBEDTLS_CAMELLIA_C */ diff --git a/third_party/mbedtls/library/cipher.cpp b/third_party/mbedtls/library/cipher.cpp new file mode 100644 index 000000000000..b905e8556519 --- /dev/null +++ b/third_party/mbedtls/library/cipher.cpp @@ -0,0 +1,1633 @@ +/** + * \file cipher.c + * + * \brief Generic cipher wrapper for mbed TLS + * + * \author Adriaan de Jong + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "common.h" + +#if defined(MBEDTLS_CIPHER_C) + +#include "mbedtls/cipher.h" +#include "cipher_wrap.h" +#include "mbedtls/platform_util.h" +#include "mbedtls/error.h" +#include "mbedtls/constant_time.h" + +#include +#include + +#if defined(MBEDTLS_CHACHAPOLY_C) +#include "mbedtls/chachapoly.h" +#endif + +#if defined(MBEDTLS_GCM_C) +#include "mbedtls/gcm.h" +#endif + +#if defined(MBEDTLS_CCM_C) +#include "mbedtls/ccm.h" +#endif + +#if defined(MBEDTLS_CHACHA20_C) +#include "mbedtls/chacha20.h" +#endif + +#if defined(MBEDTLS_CMAC_C) +#include "mbedtls/cmac.h" +#endif + +#if defined(MBEDTLS_USE_PSA_CRYPTO) +#include "psa/crypto.h" +#include "mbedtls/psa_util.h" +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + +#if defined(MBEDTLS_NIST_KW_C) +#include "mbedtls/nist_kw.h" +#endif + +#if defined(MBEDTLS_PLATFORM_C) +#include "mbedtls/platform.h" +#else +#define mbedtls_calloc calloc +#define mbedtls_free free +#endif + +#define CIPHER_VALIDATE_RET( cond ) \ + MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ) +#define CIPHER_VALIDATE( cond ) \ + MBEDTLS_INTERNAL_VALIDATE( cond ) + +static int supported_init = 0; + +const int *mbedtls_cipher_list( void ) +{ + const mbedtls_cipher_definition_t *def; + int *type; + + if( ! supported_init ) + { + def = mbedtls_cipher_definitions; + type = mbedtls_cipher_supported; + + while( def->type != 0 ) + *type++ = (*def++).type; + + *type = 0; + + supported_init = 1; + } + + return( mbedtls_cipher_supported ); +} + +const mbedtls_cipher_info_t *mbedtls_cipher_info_from_type( + const mbedtls_cipher_type_t cipher_type ) +{ + const mbedtls_cipher_definition_t *def; + + for( def = mbedtls_cipher_definitions; def->info != NULL; def++ ) + if( def->type == cipher_type ) + return( def->info ); + + return( NULL ); +} + +const mbedtls_cipher_info_t *mbedtls_cipher_info_from_string( + const char *cipher_name ) +{ + const mbedtls_cipher_definition_t *def; + + if( NULL == cipher_name ) + return( NULL ); + + for( def = mbedtls_cipher_definitions; def->info != NULL; def++ ) + if( ! strcmp( def->info->name, cipher_name ) ) + return( def->info ); + + return( NULL ); +} + +const mbedtls_cipher_info_t *mbedtls_cipher_info_from_values( + const mbedtls_cipher_id_t cipher_id, + int key_bitlen, + const mbedtls_cipher_mode_t mode ) +{ + const mbedtls_cipher_definition_t *def; + + for( def = mbedtls_cipher_definitions; def->info != NULL; def++ ) + if( def->info->base->cipher == cipher_id && + def->info->key_bitlen == (unsigned) key_bitlen && + def->info->mode == mode ) + return( def->info ); + + return( NULL ); +} + +void mbedtls_cipher_init( mbedtls_cipher_context_t *ctx ) +{ + CIPHER_VALIDATE( ctx != NULL ); + memset( ctx, 0, sizeof( mbedtls_cipher_context_t ) ); +} + +void mbedtls_cipher_free( mbedtls_cipher_context_t *ctx ) +{ + if( ctx == NULL ) + return; + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + if( ctx->cipher_ctx != NULL ) + { + mbedtls_cipher_context_psa * const cipher_psa = + (mbedtls_cipher_context_psa *) ctx->cipher_ctx; + + if( cipher_psa->slot_state == MBEDTLS_CIPHER_PSA_KEY_OWNED ) + { + /* xxx_free() doesn't allow to return failures. */ + (void) psa_destroy_key( cipher_psa->slot ); + } + + mbedtls_platform_zeroize( cipher_psa, sizeof( *cipher_psa ) ); + mbedtls_free( cipher_psa ); + } + + mbedtls_platform_zeroize( ctx, sizeof(mbedtls_cipher_context_t) ); + return; + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + +#if defined(MBEDTLS_CMAC_C) + if( ctx->cmac_ctx ) + { + mbedtls_platform_zeroize( ctx->cmac_ctx, + sizeof( mbedtls_cmac_context_t ) ); + mbedtls_free( ctx->cmac_ctx ); + } +#endif + + if( ctx->cipher_ctx ) + ctx->cipher_info->base->ctx_free_func( ctx->cipher_ctx ); + + mbedtls_platform_zeroize( ctx, sizeof(mbedtls_cipher_context_t) ); +} + +int mbedtls_cipher_setup( mbedtls_cipher_context_t *ctx, + const mbedtls_cipher_info_t *cipher_info ) +{ + CIPHER_VALIDATE_RET( ctx != NULL ); + if( cipher_info == NULL ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + memset( ctx, 0, sizeof( mbedtls_cipher_context_t ) ); + + if( NULL == ( ctx->cipher_ctx = cipher_info->base->ctx_alloc_func() ) ) + return( MBEDTLS_ERR_CIPHER_ALLOC_FAILED ); + + ctx->cipher_info = cipher_info; + +#if defined(MBEDTLS_CIPHER_MODE_WITH_PADDING) + /* + * Ignore possible errors caused by a cipher mode that doesn't use padding + */ +#if defined(MBEDTLS_CIPHER_PADDING_PKCS7) + (void) mbedtls_cipher_set_padding_mode( ctx, MBEDTLS_PADDING_PKCS7 ); +#else + (void) mbedtls_cipher_set_padding_mode( ctx, MBEDTLS_PADDING_NONE ); +#endif +#endif /* MBEDTLS_CIPHER_MODE_WITH_PADDING */ + + return( 0 ); +} + +#if defined(MBEDTLS_USE_PSA_CRYPTO) +int mbedtls_cipher_setup_psa( mbedtls_cipher_context_t *ctx, + const mbedtls_cipher_info_t *cipher_info, + size_t taglen ) +{ + psa_algorithm_t alg; + mbedtls_cipher_context_psa *cipher_psa; + + if( NULL == cipher_info || NULL == ctx ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + /* Check that the underlying cipher mode and cipher type are + * supported by the underlying PSA Crypto implementation. */ + alg = mbedtls_psa_translate_cipher_mode( cipher_info->mode, taglen ); + if( alg == 0 ) + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + if( mbedtls_psa_translate_cipher_type( cipher_info->type ) == 0 ) + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + + memset( ctx, 0, sizeof( mbedtls_cipher_context_t ) ); + + cipher_psa = mbedtls_calloc( 1, sizeof(mbedtls_cipher_context_psa ) ); + if( cipher_psa == NULL ) + return( MBEDTLS_ERR_CIPHER_ALLOC_FAILED ); + cipher_psa->alg = alg; + ctx->cipher_ctx = cipher_psa; + ctx->cipher_info = cipher_info; + ctx->psa_enabled = 1; + return( 0 ); +} +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + +int mbedtls_cipher_setkey( mbedtls_cipher_context_t *ctx, + const unsigned char *key, + int key_bitlen, + const mbedtls_operation_t operation ) +{ + CIPHER_VALIDATE_RET( ctx != NULL ); + CIPHER_VALIDATE_RET( key != NULL ); + CIPHER_VALIDATE_RET( operation == MBEDTLS_ENCRYPT || + operation == MBEDTLS_DECRYPT ); + if( ctx->cipher_info == NULL ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + mbedtls_cipher_context_psa * const cipher_psa = + (mbedtls_cipher_context_psa *) ctx->cipher_ctx; + + size_t const key_bytelen = ( (size_t) key_bitlen + 7 ) / 8; + + psa_status_t status; + psa_key_type_t key_type; + psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; + + /* PSA Crypto API only accepts byte-aligned keys. */ + if( key_bitlen % 8 != 0 ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + /* Don't allow keys to be set multiple times. */ + if( cipher_psa->slot_state != MBEDTLS_CIPHER_PSA_KEY_UNSET ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + key_type = mbedtls_psa_translate_cipher_type( + ctx->cipher_info->type ); + if( key_type == 0 ) + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + psa_set_key_type( &attributes, key_type ); + + /* Mbed TLS' cipher layer doesn't enforce the mode of operation + * (encrypt vs. decrypt): it is possible to setup a key for encryption + * and use it for AEAD decryption. Until tests relying on this + * are changed, allow any usage in PSA. */ + psa_set_key_usage_flags( &attributes, + /* mbedtls_psa_translate_cipher_operation( operation ); */ + PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT ); + psa_set_key_algorithm( &attributes, cipher_psa->alg ); + + status = psa_import_key( &attributes, key, key_bytelen, + &cipher_psa->slot ); + switch( status ) + { + case PSA_SUCCESS: + break; + case PSA_ERROR_INSUFFICIENT_MEMORY: + return( MBEDTLS_ERR_CIPHER_ALLOC_FAILED ); + case PSA_ERROR_NOT_SUPPORTED: + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + default: + return( MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED ); + } + /* Indicate that we own the key slot and need to + * destroy it in mbedtls_cipher_free(). */ + cipher_psa->slot_state = MBEDTLS_CIPHER_PSA_KEY_OWNED; + + ctx->key_bitlen = key_bitlen; + ctx->operation = operation; + return( 0 ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + + if( ( ctx->cipher_info->flags & MBEDTLS_CIPHER_VARIABLE_KEY_LEN ) == 0 && + (int) ctx->cipher_info->key_bitlen != key_bitlen ) + { + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + } + + ctx->key_bitlen = key_bitlen; + ctx->operation = operation; + + /* + * For OFB, CFB and CTR mode always use the encryption key schedule + */ + if( MBEDTLS_ENCRYPT == operation || + MBEDTLS_MODE_CFB == ctx->cipher_info->mode || + MBEDTLS_MODE_OFB == ctx->cipher_info->mode || + MBEDTLS_MODE_CTR == ctx->cipher_info->mode ) + { + return( ctx->cipher_info->base->setkey_enc_func( ctx->cipher_ctx, key, + ctx->key_bitlen ) ); + } + + if( MBEDTLS_DECRYPT == operation ) + return( ctx->cipher_info->base->setkey_dec_func( ctx->cipher_ctx, key, + ctx->key_bitlen ) ); + + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); +} + +int mbedtls_cipher_set_iv( mbedtls_cipher_context_t *ctx, + const unsigned char *iv, + size_t iv_len ) +{ + size_t actual_iv_size; + + CIPHER_VALIDATE_RET( ctx != NULL ); + CIPHER_VALIDATE_RET( iv_len == 0 || iv != NULL ); + if( ctx->cipher_info == NULL ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + /* While PSA Crypto has an API for multipart + * operations, we currently don't make it + * accessible through the cipher layer. */ + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + + /* avoid buffer overflow in ctx->iv */ + if( iv_len > MBEDTLS_MAX_IV_LENGTH ) + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + + if( ( ctx->cipher_info->flags & MBEDTLS_CIPHER_VARIABLE_IV_LEN ) != 0 ) + actual_iv_size = iv_len; + else + { + actual_iv_size = ctx->cipher_info->iv_size; + + /* avoid reading past the end of input buffer */ + if( actual_iv_size > iv_len ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + } + +#if defined(MBEDTLS_CHACHA20_C) + if ( ctx->cipher_info->type == MBEDTLS_CIPHER_CHACHA20 ) + { + if ( 0 != mbedtls_chacha20_starts( (mbedtls_chacha20_context*)ctx->cipher_ctx, + iv, + 0U ) ) /* Initial counter value */ + { + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + } + } +#endif + +#if defined(MBEDTLS_GCM_C) + if( MBEDTLS_MODE_GCM == ctx->cipher_info->mode ) + { + return( mbedtls_gcm_starts( (mbedtls_gcm_context *) ctx->cipher_ctx, + ctx->operation, + iv, iv_len ) ); + } +#endif + +#if defined(MBEDTLS_CCM_C) + if( MBEDTLS_MODE_CCM_STAR_NO_TAG == ctx->cipher_info->mode ) + { + int set_lengths_result; + int ccm_star_mode; + + set_lengths_result = mbedtls_ccm_set_lengths( + (mbedtls_ccm_context *) ctx->cipher_ctx, + 0, 0, 0 ); + if( set_lengths_result != 0 ) + return set_lengths_result; + + if( ctx->operation == MBEDTLS_DECRYPT ) + ccm_star_mode = MBEDTLS_CCM_STAR_DECRYPT; + else if( ctx->operation == MBEDTLS_ENCRYPT ) + ccm_star_mode = MBEDTLS_CCM_STAR_ENCRYPT; + else + return MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA; + + return( mbedtls_ccm_starts( (mbedtls_ccm_context *) ctx->cipher_ctx, + ccm_star_mode, + iv, iv_len ) ); + } +#endif + + if ( actual_iv_size != 0 ) + { + memcpy( ctx->iv, iv, actual_iv_size ); + ctx->iv_size = actual_iv_size; + } + + return( 0 ); +} + +int mbedtls_cipher_reset( mbedtls_cipher_context_t *ctx ) +{ + CIPHER_VALIDATE_RET( ctx != NULL ); + if( ctx->cipher_info == NULL ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + /* We don't support resetting PSA-based + * cipher contexts, yet. */ + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + + ctx->unprocessed_len = 0; + + return( 0 ); +} + +#if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) +int mbedtls_cipher_update_ad( mbedtls_cipher_context_t *ctx, + const unsigned char *ad, size_t ad_len ) +{ + CIPHER_VALIDATE_RET( ctx != NULL ); + CIPHER_VALIDATE_RET( ad_len == 0 || ad != NULL ); + if( ctx->cipher_info == NULL ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + /* While PSA Crypto has an API for multipart + * operations, we currently don't make it + * accessible through the cipher layer. */ + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + +#if defined(MBEDTLS_GCM_C) + if( MBEDTLS_MODE_GCM == ctx->cipher_info->mode ) + { + return( mbedtls_gcm_update_ad( (mbedtls_gcm_context *) ctx->cipher_ctx, + ad, ad_len ) ); + } +#endif + +#if defined(MBEDTLS_CHACHAPOLY_C) + if (MBEDTLS_CIPHER_CHACHA20_POLY1305 == ctx->cipher_info->type ) + { + int result; + mbedtls_chachapoly_mode_t mode; + + mode = ( ctx->operation == MBEDTLS_ENCRYPT ) + ? MBEDTLS_CHACHAPOLY_ENCRYPT + : MBEDTLS_CHACHAPOLY_DECRYPT; + + result = mbedtls_chachapoly_starts( (mbedtls_chachapoly_context*) ctx->cipher_ctx, + ctx->iv, + mode ); + if ( result != 0 ) + return( result ); + + return( mbedtls_chachapoly_update_aad( (mbedtls_chachapoly_context*) ctx->cipher_ctx, + ad, ad_len ) ); + } +#endif + + return( 0 ); +} +#endif /* MBEDTLS_GCM_C || MBEDTLS_CHACHAPOLY_C */ + +int mbedtls_cipher_update( mbedtls_cipher_context_t *ctx, const unsigned char *input, + size_t ilen, unsigned char *output, size_t *olen ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + size_t block_size; + + CIPHER_VALIDATE_RET( ctx != NULL ); + CIPHER_VALIDATE_RET( ilen == 0 || input != NULL ); + CIPHER_VALIDATE_RET( output != NULL ); + CIPHER_VALIDATE_RET( olen != NULL ); + if( ctx->cipher_info == NULL ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + /* While PSA Crypto has an API for multipart + * operations, we currently don't make it + * accessible through the cipher layer. */ + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + + *olen = 0; + block_size = mbedtls_cipher_get_block_size( ctx ); + if ( 0 == block_size ) + { + return( MBEDTLS_ERR_CIPHER_INVALID_CONTEXT ); + } + + if( ctx->cipher_info->mode == MBEDTLS_MODE_ECB ) + { + if( ilen != block_size ) + return( MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED ); + + *olen = ilen; + + if( 0 != ( ret = ctx->cipher_info->base->ecb_func( ctx->cipher_ctx, + ctx->operation, input, output ) ) ) + { + return( ret ); + } + + return( 0 ); + } + +#if defined(MBEDTLS_GCM_C) + if( ctx->cipher_info->mode == MBEDTLS_MODE_GCM ) + { + return( mbedtls_gcm_update( (mbedtls_gcm_context *) ctx->cipher_ctx, + input, ilen, + output, ilen, olen ) ); + } +#endif + +#if defined(MBEDTLS_CCM_C) + if( ctx->cipher_info->mode == MBEDTLS_MODE_CCM_STAR_NO_TAG ) + { + return( mbedtls_ccm_update( (mbedtls_ccm_context *) ctx->cipher_ctx, + input, ilen, + output, ilen, olen ) ); + } +#endif + +#if defined(MBEDTLS_CHACHAPOLY_C) + if ( ctx->cipher_info->type == MBEDTLS_CIPHER_CHACHA20_POLY1305 ) + { + *olen = ilen; + return( mbedtls_chachapoly_update( (mbedtls_chachapoly_context*) ctx->cipher_ctx, + ilen, input, output ) ); + } +#endif + + if( input == output && + ( ctx->unprocessed_len != 0 || ilen % block_size ) ) + { + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + } + +#if defined(MBEDTLS_CIPHER_MODE_CBC) + if( ctx->cipher_info->mode == MBEDTLS_MODE_CBC ) + { + size_t copy_len = 0; + + /* + * If there is not enough data for a full block, cache it. + */ + if( ( ctx->operation == MBEDTLS_DECRYPT && NULL != ctx->add_padding && + ilen <= block_size - ctx->unprocessed_len ) || + ( ctx->operation == MBEDTLS_DECRYPT && NULL == ctx->add_padding && + ilen < block_size - ctx->unprocessed_len ) || + ( ctx->operation == MBEDTLS_ENCRYPT && + ilen < block_size - ctx->unprocessed_len ) ) + { + memcpy( &( ctx->unprocessed_data[ctx->unprocessed_len] ), input, + ilen ); + + ctx->unprocessed_len += ilen; + return( 0 ); + } + + /* + * Process cached data first + */ + if( 0 != ctx->unprocessed_len ) + { + copy_len = block_size - ctx->unprocessed_len; + + memcpy( &( ctx->unprocessed_data[ctx->unprocessed_len] ), input, + copy_len ); + + if( 0 != ( ret = ctx->cipher_info->base->cbc_func( ctx->cipher_ctx, + ctx->operation, block_size, ctx->iv, + ctx->unprocessed_data, output ) ) ) + { + return( ret ); + } + + *olen += block_size; + output += block_size; + ctx->unprocessed_len = 0; + + input += copy_len; + ilen -= copy_len; + } + + /* + * Cache final, incomplete block + */ + if( 0 != ilen ) + { + /* Encryption: only cache partial blocks + * Decryption w/ padding: always keep at least one whole block + * Decryption w/o padding: only cache partial blocks + */ + copy_len = ilen % block_size; + if( copy_len == 0 && + ctx->operation == MBEDTLS_DECRYPT && + NULL != ctx->add_padding) + { + copy_len = block_size; + } + + memcpy( ctx->unprocessed_data, &( input[ilen - copy_len] ), + copy_len ); + + ctx->unprocessed_len += copy_len; + ilen -= copy_len; + } + + /* + * Process remaining full blocks + */ + if( ilen ) + { + if( 0 != ( ret = ctx->cipher_info->base->cbc_func( ctx->cipher_ctx, + ctx->operation, ilen, ctx->iv, input, output ) ) ) + { + return( ret ); + } + + *olen += ilen; + } + + return( 0 ); + } +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) + if( ctx->cipher_info->mode == MBEDTLS_MODE_CFB ) + { + if( 0 != ( ret = ctx->cipher_info->base->cfb_func( ctx->cipher_ctx, + ctx->operation, ilen, &ctx->unprocessed_len, ctx->iv, + input, output ) ) ) + { + return( ret ); + } + + *olen = ilen; + + return( 0 ); + } +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_OFB) + if( ctx->cipher_info->mode == MBEDTLS_MODE_OFB ) + { + if( 0 != ( ret = ctx->cipher_info->base->ofb_func( ctx->cipher_ctx, + ilen, &ctx->unprocessed_len, ctx->iv, input, output ) ) ) + { + return( ret ); + } + + *olen = ilen; + + return( 0 ); + } +#endif /* MBEDTLS_CIPHER_MODE_OFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) + if( ctx->cipher_info->mode == MBEDTLS_MODE_CTR ) + { + if( 0 != ( ret = ctx->cipher_info->base->ctr_func( ctx->cipher_ctx, + ilen, &ctx->unprocessed_len, ctx->iv, + ctx->unprocessed_data, input, output ) ) ) + { + return( ret ); + } + + *olen = ilen; + + return( 0 ); + } +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +#if defined(MBEDTLS_CIPHER_MODE_XTS) + if( ctx->cipher_info->mode == MBEDTLS_MODE_XTS ) + { + if( ctx->unprocessed_len > 0 ) { + /* We can only process an entire data unit at a time. */ + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + } + + ret = ctx->cipher_info->base->xts_func( ctx->cipher_ctx, + ctx->operation, ilen, ctx->iv, input, output ); + if( ret != 0 ) + { + return( ret ); + } + + *olen = ilen; + + return( 0 ); + } +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + if( ctx->cipher_info->mode == MBEDTLS_MODE_STREAM ) + { + if( 0 != ( ret = ctx->cipher_info->base->stream_func( ctx->cipher_ctx, + ilen, input, output ) ) ) + { + return( ret ); + } + + *olen = ilen; + + return( 0 ); + } +#endif /* MBEDTLS_CIPHER_MODE_STREAM */ + + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); +} + +#if defined(MBEDTLS_CIPHER_MODE_WITH_PADDING) +#if defined(MBEDTLS_CIPHER_PADDING_PKCS7) +/* + * PKCS7 (and PKCS5) padding: fill with ll bytes, with ll = padding_len + */ +static void add_pkcs_padding( unsigned char *output, size_t output_len, + size_t data_len ) +{ + size_t padding_len = output_len - data_len; + unsigned char i; + + for( i = 0; i < padding_len; i++ ) + output[data_len + i] = (unsigned char) padding_len; +} + +static int get_pkcs_padding( unsigned char *input, size_t input_len, + size_t *data_len ) +{ + size_t i, pad_idx; + unsigned char padding_len, bad = 0; + + if( NULL == input || NULL == data_len ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + padding_len = input[input_len - 1]; + *data_len = input_len - padding_len; + + /* Avoid logical || since it results in a branch */ + bad |= padding_len > input_len; + bad |= padding_len == 0; + + /* The number of bytes checked must be independent of padding_len, + * so pick input_len, which is usually 8 or 16 (one block) */ + pad_idx = input_len - padding_len; + for( i = 0; i < input_len; i++ ) + bad |= ( input[i] ^ padding_len ) * ( i >= pad_idx ); + + return( MBEDTLS_ERR_CIPHER_INVALID_PADDING * ( bad != 0 ) ); +} +#endif /* MBEDTLS_CIPHER_PADDING_PKCS7 */ + +#if defined(MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS) +/* + * One and zeros padding: fill with 80 00 ... 00 + */ +static void add_one_and_zeros_padding( unsigned char *output, + size_t output_len, size_t data_len ) +{ + size_t padding_len = output_len - data_len; + unsigned char i = 0; + + output[data_len] = 0x80; + for( i = 1; i < padding_len; i++ ) + output[data_len + i] = 0x00; +} + +static int get_one_and_zeros_padding( unsigned char *input, size_t input_len, + size_t *data_len ) +{ + size_t i; + unsigned char done = 0, prev_done, bad; + + if( NULL == input || NULL == data_len ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + bad = 0x80; + *data_len = 0; + for( i = input_len; i > 0; i-- ) + { + prev_done = done; + done |= ( input[i - 1] != 0 ); + *data_len |= ( i - 1 ) * ( done != prev_done ); + bad ^= input[i - 1] * ( done != prev_done ); + } + + return( MBEDTLS_ERR_CIPHER_INVALID_PADDING * ( bad != 0 ) ); + +} +#endif /* MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS */ + +#if defined(MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN) +/* + * Zeros and len padding: fill with 00 ... 00 ll, where ll is padding length + */ +static void add_zeros_and_len_padding( unsigned char *output, + size_t output_len, size_t data_len ) +{ + size_t padding_len = output_len - data_len; + unsigned char i = 0; + + for( i = 1; i < padding_len; i++ ) + output[data_len + i - 1] = 0x00; + output[output_len - 1] = (unsigned char) padding_len; +} + +static int get_zeros_and_len_padding( unsigned char *input, size_t input_len, + size_t *data_len ) +{ + size_t i, pad_idx; + unsigned char padding_len, bad = 0; + + if( NULL == input || NULL == data_len ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + padding_len = input[input_len - 1]; + *data_len = input_len - padding_len; + + /* Avoid logical || since it results in a branch */ + bad |= padding_len > input_len; + bad |= padding_len == 0; + + /* The number of bytes checked must be independent of padding_len */ + pad_idx = input_len - padding_len; + for( i = 0; i < input_len - 1; i++ ) + bad |= input[i] * ( i >= pad_idx ); + + return( MBEDTLS_ERR_CIPHER_INVALID_PADDING * ( bad != 0 ) ); +} +#endif /* MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN */ + +#if defined(MBEDTLS_CIPHER_PADDING_ZEROS) +/* + * Zero padding: fill with 00 ... 00 + */ +static void add_zeros_padding( unsigned char *output, + size_t output_len, size_t data_len ) +{ + size_t i; + + for( i = data_len; i < output_len; i++ ) + output[i] = 0x00; +} + +static int get_zeros_padding( unsigned char *input, size_t input_len, + size_t *data_len ) +{ + size_t i; + unsigned char done = 0, prev_done; + + if( NULL == input || NULL == data_len ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + *data_len = 0; + for( i = input_len; i > 0; i-- ) + { + prev_done = done; + done |= ( input[i-1] != 0 ); + *data_len |= i * ( done != prev_done ); + } + + return( 0 ); +} +#endif /* MBEDTLS_CIPHER_PADDING_ZEROS */ + +/* + * No padding: don't pad :) + * + * There is no add_padding function (check for NULL in mbedtls_cipher_finish) + * but a trivial get_padding function + */ +static int get_no_padding( unsigned char *input, size_t input_len, + size_t *data_len ) +{ + if( NULL == input || NULL == data_len ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + *data_len = input_len; + + return( 0 ); +} +#endif /* MBEDTLS_CIPHER_MODE_WITH_PADDING */ + +int mbedtls_cipher_finish( mbedtls_cipher_context_t *ctx, + unsigned char *output, size_t *olen ) +{ + CIPHER_VALIDATE_RET( ctx != NULL ); + CIPHER_VALIDATE_RET( output != NULL ); + CIPHER_VALIDATE_RET( olen != NULL ); + if( ctx->cipher_info == NULL ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + /* While PSA Crypto has an API for multipart + * operations, we currently don't make it + * accessible through the cipher layer. */ + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + + *olen = 0; + + if( MBEDTLS_MODE_CFB == ctx->cipher_info->mode || + MBEDTLS_MODE_OFB == ctx->cipher_info->mode || + MBEDTLS_MODE_CTR == ctx->cipher_info->mode || + MBEDTLS_MODE_GCM == ctx->cipher_info->mode || + MBEDTLS_MODE_CCM_STAR_NO_TAG == ctx->cipher_info->mode || + MBEDTLS_MODE_XTS == ctx->cipher_info->mode || + MBEDTLS_MODE_STREAM == ctx->cipher_info->mode ) + { + return( 0 ); + } + + if ( ( MBEDTLS_CIPHER_CHACHA20 == ctx->cipher_info->type ) || + ( MBEDTLS_CIPHER_CHACHA20_POLY1305 == ctx->cipher_info->type ) ) + { + return( 0 ); + } + + if( MBEDTLS_MODE_ECB == ctx->cipher_info->mode ) + { + if( ctx->unprocessed_len != 0 ) + return( MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED ); + + return( 0 ); + } + +#if defined(MBEDTLS_CIPHER_MODE_CBC) + if( MBEDTLS_MODE_CBC == ctx->cipher_info->mode ) + { + int ret = 0; + + if( MBEDTLS_ENCRYPT == ctx->operation ) + { + /* check for 'no padding' mode */ + if( NULL == ctx->add_padding ) + { + if( 0 != ctx->unprocessed_len ) + return( MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED ); + + return( 0 ); + } + + ctx->add_padding( ctx->unprocessed_data, mbedtls_cipher_get_iv_size( ctx ), + ctx->unprocessed_len ); + } + else if( mbedtls_cipher_get_block_size( ctx ) != ctx->unprocessed_len ) + { + /* + * For decrypt operations, expect a full block, + * or an empty block if no padding + */ + if( NULL == ctx->add_padding && 0 == ctx->unprocessed_len ) + return( 0 ); + + return( MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED ); + } + + /* cipher block */ + if( 0 != ( ret = ctx->cipher_info->base->cbc_func( ctx->cipher_ctx, + ctx->operation, mbedtls_cipher_get_block_size( ctx ), ctx->iv, + ctx->unprocessed_data, output ) ) ) + { + return( ret ); + } + + /* Set output size for decryption */ + if( MBEDTLS_DECRYPT == ctx->operation ) + return( ctx->get_padding( output, mbedtls_cipher_get_block_size( ctx ), + olen ) ); + + /* Set output size for encryption */ + *olen = mbedtls_cipher_get_block_size( ctx ); + return( 0 ); + } +#else + ((void) output); +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); +} + +#if defined(MBEDTLS_CIPHER_MODE_WITH_PADDING) +int mbedtls_cipher_set_padding_mode( mbedtls_cipher_context_t *ctx, + mbedtls_cipher_padding_t mode ) +{ + CIPHER_VALIDATE_RET( ctx != NULL ); + + if( NULL == ctx->cipher_info || MBEDTLS_MODE_CBC != ctx->cipher_info->mode ) + { + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + } + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + /* While PSA Crypto knows about CBC padding + * schemes, we currently don't make them + * accessible through the cipher layer. */ + if( mode != MBEDTLS_PADDING_NONE ) + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + + return( 0 ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + + switch( mode ) + { +#if defined(MBEDTLS_CIPHER_PADDING_PKCS7) + case MBEDTLS_PADDING_PKCS7: + ctx->add_padding = add_pkcs_padding; + ctx->get_padding = get_pkcs_padding; + break; +#endif +#if defined(MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS) + case MBEDTLS_PADDING_ONE_AND_ZEROS: + ctx->add_padding = add_one_and_zeros_padding; + ctx->get_padding = get_one_and_zeros_padding; + break; +#endif +#if defined(MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN) + case MBEDTLS_PADDING_ZEROS_AND_LEN: + ctx->add_padding = add_zeros_and_len_padding; + ctx->get_padding = get_zeros_and_len_padding; + break; +#endif +#if defined(MBEDTLS_CIPHER_PADDING_ZEROS) + case MBEDTLS_PADDING_ZEROS: + ctx->add_padding = add_zeros_padding; + ctx->get_padding = get_zeros_padding; + break; +#endif + case MBEDTLS_PADDING_NONE: + ctx->add_padding = NULL; + ctx->get_padding = get_no_padding; + break; + + default: + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + } + + return( 0 ); +} +#endif /* MBEDTLS_CIPHER_MODE_WITH_PADDING */ + +#if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) +int mbedtls_cipher_write_tag( mbedtls_cipher_context_t *ctx, + unsigned char *tag, size_t tag_len ) +{ + CIPHER_VALIDATE_RET( ctx != NULL ); + CIPHER_VALIDATE_RET( tag_len == 0 || tag != NULL ); + if( ctx->cipher_info == NULL ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + if( MBEDTLS_ENCRYPT != ctx->operation ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + /* While PSA Crypto has an API for multipart + * operations, we currently don't make it + * accessible through the cipher layer. */ + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + +#if defined(MBEDTLS_GCM_C) + if( MBEDTLS_MODE_GCM == ctx->cipher_info->mode ) + { + size_t output_length; + /* The code here doesn't yet support alternative implementations + * that can delay up to a block of output. */ + return( mbedtls_gcm_finish( (mbedtls_gcm_context *) ctx->cipher_ctx, + NULL, 0, &output_length, + tag, tag_len ) ); + } +#endif + +#if defined(MBEDTLS_CHACHAPOLY_C) + if ( MBEDTLS_CIPHER_CHACHA20_POLY1305 == ctx->cipher_info->type ) + { + /* Don't allow truncated MAC for Poly1305 */ + if ( tag_len != 16U ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + return( mbedtls_chachapoly_finish( + (mbedtls_chachapoly_context*) ctx->cipher_ctx, tag ) ); + } +#endif + + return( 0 ); +} + +int mbedtls_cipher_check_tag( mbedtls_cipher_context_t *ctx, + const unsigned char *tag, size_t tag_len ) +{ + unsigned char check_tag[16]; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + CIPHER_VALIDATE_RET( ctx != NULL ); + CIPHER_VALIDATE_RET( tag_len == 0 || tag != NULL ); + if( ctx->cipher_info == NULL ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + if( MBEDTLS_DECRYPT != ctx->operation ) + { + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + } + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + /* While PSA Crypto has an API for multipart + * operations, we currently don't make it + * accessible through the cipher layer. */ + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + + /* Status to return on a non-authenticated algorithm. It would make sense + * to return MBEDTLS_ERR_CIPHER_INVALID_CONTEXT or perhaps + * MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA, but at the time I write this our + * unit tests assume 0. */ + ret = 0; + +#if defined(MBEDTLS_GCM_C) + if( MBEDTLS_MODE_GCM == ctx->cipher_info->mode ) + { + size_t output_length; + /* The code here doesn't yet support alternative implementations + * that can delay up to a block of output. */ + + if( tag_len > sizeof( check_tag ) ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + if( 0 != ( ret = mbedtls_gcm_finish( + (mbedtls_gcm_context *) ctx->cipher_ctx, + NULL, 0, &output_length, + check_tag, tag_len ) ) ) + { + return( ret ); + } + + /* Check the tag in "constant-time" */ + if( mbedtls_ct_memcmp( tag, check_tag, tag_len ) != 0 ) + { + ret = MBEDTLS_ERR_CIPHER_AUTH_FAILED; + goto exit; + } + } +#endif /* MBEDTLS_GCM_C */ + +#if defined(MBEDTLS_CHACHAPOLY_C) + if ( MBEDTLS_CIPHER_CHACHA20_POLY1305 == ctx->cipher_info->type ) + { + /* Don't allow truncated MAC for Poly1305 */ + if ( tag_len != sizeof( check_tag ) ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + ret = mbedtls_chachapoly_finish( + (mbedtls_chachapoly_context*) ctx->cipher_ctx, check_tag ); + if ( ret != 0 ) + { + return( ret ); + } + + /* Check the tag in "constant-time" */ + if( mbedtls_ct_memcmp( tag, check_tag, tag_len ) != 0 ) + { + ret = MBEDTLS_ERR_CIPHER_AUTH_FAILED; + goto exit; + } + } +#endif /* MBEDTLS_CHACHAPOLY_C */ + +exit: + mbedtls_platform_zeroize( check_tag, tag_len ); + return( ret ); +} +#endif /* MBEDTLS_GCM_C || MBEDTLS_CHACHAPOLY_C */ + +/* + * Packet-oriented wrapper for non-AEAD modes + */ +int mbedtls_cipher_crypt( mbedtls_cipher_context_t *ctx, + const unsigned char *iv, size_t iv_len, + const unsigned char *input, size_t ilen, + unsigned char *output, size_t *olen ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + size_t finish_olen; + + CIPHER_VALIDATE_RET( ctx != NULL ); + CIPHER_VALIDATE_RET( iv_len == 0 || iv != NULL ); + CIPHER_VALIDATE_RET( ilen == 0 || input != NULL ); + CIPHER_VALIDATE_RET( output != NULL ); + CIPHER_VALIDATE_RET( olen != NULL ); + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + /* As in the non-PSA case, we don't check that + * a key has been set. If not, the key slot will + * still be in its default state of 0, which is + * guaranteed to be invalid, hence the PSA-call + * below will gracefully fail. */ + mbedtls_cipher_context_psa * const cipher_psa = + (mbedtls_cipher_context_psa *) ctx->cipher_ctx; + + psa_status_t status; + psa_cipher_operation_t cipher_op = PSA_CIPHER_OPERATION_INIT; + size_t part_len; + + if( ctx->operation == MBEDTLS_DECRYPT ) + { + status = psa_cipher_decrypt_setup( &cipher_op, + cipher_psa->slot, + cipher_psa->alg ); + } + else if( ctx->operation == MBEDTLS_ENCRYPT ) + { + status = psa_cipher_encrypt_setup( &cipher_op, + cipher_psa->slot, + cipher_psa->alg ); + } + else + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + /* In the following, we can immediately return on an error, + * because the PSA Crypto API guarantees that cipher operations + * are terminated by unsuccessful calls to psa_cipher_update(), + * and by any call to psa_cipher_finish(). */ + if( status != PSA_SUCCESS ) + return( MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED ); + + if( ctx->cipher_info->mode != MBEDTLS_MODE_ECB ) + { + status = psa_cipher_set_iv( &cipher_op, iv, iv_len ); + if( status != PSA_SUCCESS ) + return( MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED ); + } + + status = psa_cipher_update( &cipher_op, + input, ilen, + output, ilen, olen ); + if( status != PSA_SUCCESS ) + return( MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED ); + + status = psa_cipher_finish( &cipher_op, + output + *olen, ilen - *olen, + &part_len ); + if( status != PSA_SUCCESS ) + return( MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED ); + + *olen += part_len; + return( 0 ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + + if( ( ret = mbedtls_cipher_set_iv( ctx, iv, iv_len ) ) != 0 ) + return( ret ); + + if( ( ret = mbedtls_cipher_reset( ctx ) ) != 0 ) + return( ret ); + + if( ( ret = mbedtls_cipher_update( ctx, input, ilen, + output, olen ) ) != 0 ) + return( ret ); + + if( ( ret = mbedtls_cipher_finish( ctx, output + *olen, + &finish_olen ) ) != 0 ) + return( ret ); + + *olen += finish_olen; + + return( 0 ); +} + +#if defined(MBEDTLS_CIPHER_MODE_AEAD) +/* + * Packet-oriented encryption for AEAD modes: internal function used by + * mbedtls_cipher_auth_encrypt_ext(). + */ +static int mbedtls_cipher_aead_encrypt( mbedtls_cipher_context_t *ctx, + const unsigned char *iv, size_t iv_len, + const unsigned char *ad, size_t ad_len, + const unsigned char *input, size_t ilen, + unsigned char *output, size_t *olen, + unsigned char *tag, size_t tag_len ) +{ +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + /* As in the non-PSA case, we don't check that + * a key has been set. If not, the key slot will + * still be in its default state of 0, which is + * guaranteed to be invalid, hence the PSA-call + * below will gracefully fail. */ + mbedtls_cipher_context_psa * const cipher_psa = + (mbedtls_cipher_context_psa *) ctx->cipher_ctx; + + psa_status_t status; + + /* PSA Crypto API always writes the authentication tag + * at the end of the encrypted message. */ + if( output == NULL || tag != output + ilen ) + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + + status = psa_aead_encrypt( cipher_psa->slot, + cipher_psa->alg, + iv, iv_len, + ad, ad_len, + input, ilen, + output, ilen + tag_len, olen ); + if( status != PSA_SUCCESS ) + return( MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED ); + + *olen -= tag_len; + return( 0 ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + +#if defined(MBEDTLS_GCM_C) + if( MBEDTLS_MODE_GCM == ctx->cipher_info->mode ) + { + *olen = ilen; + return( mbedtls_gcm_crypt_and_tag( (mbedtls_gcm_context *)ctx->cipher_ctx, MBEDTLS_GCM_ENCRYPT, + ilen, iv, iv_len, ad, ad_len, + input, output, tag_len, tag ) ); + } +#endif /* MBEDTLS_GCM_C */ +#if defined(MBEDTLS_CCM_C) + if( MBEDTLS_MODE_CCM == ctx->cipher_info->mode ) + { + *olen = ilen; + return( mbedtls_ccm_encrypt_and_tag( ctx->cipher_ctx, ilen, + iv, iv_len, ad, ad_len, input, output, + tag, tag_len ) ); + } +#endif /* MBEDTLS_CCM_C */ +#if defined(MBEDTLS_CHACHAPOLY_C) + if ( MBEDTLS_CIPHER_CHACHA20_POLY1305 == ctx->cipher_info->type ) + { + /* ChachaPoly has fixed length nonce and MAC (tag) */ + if ( ( iv_len != ctx->cipher_info->iv_size ) || + ( tag_len != 16U ) ) + { + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + } + + *olen = ilen; + return( mbedtls_chachapoly_encrypt_and_tag( ctx->cipher_ctx, + ilen, iv, ad, ad_len, input, output, tag ) ); + } +#endif /* MBEDTLS_CHACHAPOLY_C */ + + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); +} + +/* + * Packet-oriented encryption for AEAD modes: internal function used by + * mbedtls_cipher_auth_encrypt_ext(). + */ +static int mbedtls_cipher_aead_decrypt( mbedtls_cipher_context_t *ctx, + const unsigned char *iv, size_t iv_len, + const unsigned char *ad, size_t ad_len, + const unsigned char *input, size_t ilen, + unsigned char *output, size_t *olen, + const unsigned char *tag, size_t tag_len ) +{ +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ctx->psa_enabled == 1 ) + { + /* As in the non-PSA case, we don't check that + * a key has been set. If not, the key slot will + * still be in its default state of 0, which is + * guaranteed to be invalid, hence the PSA-call + * below will gracefully fail. */ + mbedtls_cipher_context_psa * const cipher_psa = + (mbedtls_cipher_context_psa *) ctx->cipher_ctx; + + psa_status_t status; + + /* PSA Crypto API always writes the authentication tag + * at the end of the encrypted message. */ + if( input == NULL || tag != input + ilen ) + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); + + status = psa_aead_decrypt( cipher_psa->slot, + cipher_psa->alg, + iv, iv_len, + ad, ad_len, + input, ilen + tag_len, + output, ilen, olen ); + if( status == PSA_ERROR_INVALID_SIGNATURE ) + return( MBEDTLS_ERR_CIPHER_AUTH_FAILED ); + else if( status != PSA_SUCCESS ) + return( MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED ); + + return( 0 ); + } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + +#if defined(MBEDTLS_GCM_C) + if( MBEDTLS_MODE_GCM == ctx->cipher_info->mode ) + { + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + *olen = ilen; + ret = mbedtls_gcm_auth_decrypt( (mbedtls_gcm_context *)ctx->cipher_ctx, ilen, + iv, iv_len, ad, ad_len, + tag, tag_len, input, output ); + + if( ret == MBEDTLS_ERR_GCM_AUTH_FAILED ) + ret = MBEDTLS_ERR_CIPHER_AUTH_FAILED; + + return( ret ); + } +#endif /* MBEDTLS_GCM_C */ +#if defined(MBEDTLS_CCM_C) + if( MBEDTLS_MODE_CCM == ctx->cipher_info->mode ) + { + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + *olen = ilen; + ret = mbedtls_ccm_auth_decrypt( ctx->cipher_ctx, ilen, + iv, iv_len, ad, ad_len, + input, output, tag, tag_len ); + + if( ret == MBEDTLS_ERR_CCM_AUTH_FAILED ) + ret = MBEDTLS_ERR_CIPHER_AUTH_FAILED; + + return( ret ); + } +#endif /* MBEDTLS_CCM_C */ +#if defined(MBEDTLS_CHACHAPOLY_C) + if ( MBEDTLS_CIPHER_CHACHA20_POLY1305 == ctx->cipher_info->type ) + { + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + /* ChachaPoly has fixed length nonce and MAC (tag) */ + if ( ( iv_len != ctx->cipher_info->iv_size ) || + ( tag_len != 16U ) ) + { + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + } + + *olen = ilen; + ret = mbedtls_chachapoly_auth_decrypt( ctx->cipher_ctx, ilen, + iv, ad, ad_len, tag, input, output ); + + if( ret == MBEDTLS_ERR_CHACHAPOLY_AUTH_FAILED ) + ret = MBEDTLS_ERR_CIPHER_AUTH_FAILED; + + return( ret ); + } +#endif /* MBEDTLS_CHACHAPOLY_C */ + + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); +} +#endif /* MBEDTLS_CIPHER_MODE_AEAD */ + +#if defined(MBEDTLS_CIPHER_MODE_AEAD) || defined(MBEDTLS_NIST_KW_C) +/* + * Packet-oriented encryption for AEAD/NIST_KW: public function. + */ +int mbedtls_cipher_auth_encrypt_ext( mbedtls_cipher_context_t *ctx, + const unsigned char *iv, size_t iv_len, + const unsigned char *ad, size_t ad_len, + const unsigned char *input, size_t ilen, + unsigned char *output, size_t output_len, + size_t *olen, size_t tag_len ) +{ + CIPHER_VALIDATE_RET( ctx != NULL ); + CIPHER_VALIDATE_RET( iv_len == 0 || iv != NULL ); + CIPHER_VALIDATE_RET( ad_len == 0 || ad != NULL ); + CIPHER_VALIDATE_RET( ilen == 0 || input != NULL ); + CIPHER_VALIDATE_RET( output != NULL ); + CIPHER_VALIDATE_RET( olen != NULL ); + +#if defined(MBEDTLS_NIST_KW_C) + if( +#if defined(MBEDTLS_USE_PSA_CRYPTO) + ctx->psa_enabled == 0 && +#endif + ( MBEDTLS_MODE_KW == ctx->cipher_info->mode || + MBEDTLS_MODE_KWP == ctx->cipher_info->mode ) ) + { + mbedtls_nist_kw_mode_t mode = ( MBEDTLS_MODE_KW == ctx->cipher_info->mode ) ? + MBEDTLS_KW_MODE_KW : MBEDTLS_KW_MODE_KWP; + + /* There is no iv, tag or ad associated with KW and KWP, + * so these length should be 0 as documented. */ + if( iv_len != 0 || tag_len != 0 || ad_len != 0 ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + (void) iv; + (void) ad; + + return( mbedtls_nist_kw_wrap( ctx->cipher_ctx, mode, input, ilen, + output, olen, output_len ) ); + } +#endif /* MBEDTLS_NIST_KW_C */ + +#if defined(MBEDTLS_CIPHER_MODE_AEAD) + /* AEAD case: check length before passing on to shared function */ + if( output_len < ilen + tag_len ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + int ret = mbedtls_cipher_aead_encrypt( ctx, iv, iv_len, ad, ad_len, + input, ilen, output, olen, + output + ilen, tag_len ); + *olen += tag_len; + return( ret ); +#else + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); +#endif /* MBEDTLS_CIPHER_MODE_AEAD */ +} + +/* + * Packet-oriented decryption for AEAD/NIST_KW: public function. + */ +int mbedtls_cipher_auth_decrypt_ext( mbedtls_cipher_context_t *ctx, + const unsigned char *iv, size_t iv_len, + const unsigned char *ad, size_t ad_len, + const unsigned char *input, size_t ilen, + unsigned char *output, size_t output_len, + size_t *olen, size_t tag_len ) +{ + CIPHER_VALIDATE_RET( ctx != NULL ); + CIPHER_VALIDATE_RET( iv_len == 0 || iv != NULL ); + CIPHER_VALIDATE_RET( ad_len == 0 || ad != NULL ); + CIPHER_VALIDATE_RET( ilen == 0 || input != NULL ); + CIPHER_VALIDATE_RET( output_len == 0 || output != NULL ); + CIPHER_VALIDATE_RET( olen != NULL ); + +#if defined(MBEDTLS_NIST_KW_C) + if( +#if defined(MBEDTLS_USE_PSA_CRYPTO) + ctx->psa_enabled == 0 && +#endif + ( MBEDTLS_MODE_KW == ctx->cipher_info->mode || + MBEDTLS_MODE_KWP == ctx->cipher_info->mode ) ) + { + mbedtls_nist_kw_mode_t mode = ( MBEDTLS_MODE_KW == ctx->cipher_info->mode ) ? + MBEDTLS_KW_MODE_KW : MBEDTLS_KW_MODE_KWP; + + /* There is no iv, tag or ad associated with KW and KWP, + * so these length should be 0 as documented. */ + if( iv_len != 0 || tag_len != 0 || ad_len != 0 ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + (void) iv; + (void) ad; + + return( mbedtls_nist_kw_unwrap( ctx->cipher_ctx, mode, input, ilen, + output, olen, output_len ) ); + } +#endif /* MBEDTLS_NIST_KW_C */ + +#if defined(MBEDTLS_CIPHER_MODE_AEAD) + /* AEAD case: check length before passing on to shared function */ + if( ilen < tag_len || output_len < ilen - tag_len ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + return( mbedtls_cipher_aead_decrypt( ctx, iv, iv_len, ad, ad_len, + input, ilen - tag_len, output, olen, + input + ilen - tag_len, tag_len ) ); +#else + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); +#endif /* MBEDTLS_CIPHER_MODE_AEAD */ +} +#endif /* MBEDTLS_CIPHER_MODE_AEAD || MBEDTLS_NIST_KW_C */ + +#endif /* MBEDTLS_CIPHER_C */ diff --git a/third_party/mbedtls/library/cipher_wrap.cpp b/third_party/mbedtls/library/cipher_wrap.cpp new file mode 100644 index 000000000000..d7b2a3ce7978 --- /dev/null +++ b/third_party/mbedtls/library/cipher_wrap.cpp @@ -0,0 +1,2270 @@ +/** + * \file cipher_wrap.c + * + * \brief Generic cipher wrapper for mbed TLS + * + * \author Adriaan de Jong + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "common.h" + +#if defined(MBEDTLS_CIPHER_C) + +#include "cipher_wrap.h" +#include "mbedtls/error.h" + +#if defined(MBEDTLS_CHACHAPOLY_C) +#include "mbedtls/chachapoly.h" +#endif + +#if defined(MBEDTLS_AES_C) +#include "mbedtls/aes.h" +#endif + +#if defined(MBEDTLS_CAMELLIA_C) +#include "mbedtls/camellia.h" +#endif + +#if defined(MBEDTLS_ARIA_C) +#include "mbedtls/aria.h" +#endif + +#if defined(MBEDTLS_DES_C) +#include "mbedtls/des.h" +#endif + +#if defined(MBEDTLS_CHACHA20_C) +#include "mbedtls/chacha20.h" +#endif + +#if defined(MBEDTLS_GCM_C) +#include "mbedtls/gcm.h" +#endif + +#if defined(MBEDTLS_CCM_C) +#include "mbedtls/ccm.h" +#endif + +#if defined(MBEDTLS_NIST_KW_C) +#include "mbedtls/nist_kw.h" +#endif + +#if defined(MBEDTLS_CIPHER_NULL_CIPHER) +#include +#endif + +#if defined(MBEDTLS_PLATFORM_C) +#include "mbedtls/platform.h" +#else +#include +#define mbedtls_calloc calloc +#define mbedtls_free free +#endif + +#if defined(MBEDTLS_GCM_C) +/* shared by all GCM ciphers */ +static void *gcm_ctx_alloc( void ) +{ + void *ctx = mbedtls_calloc( 1, sizeof( mbedtls_gcm_context ) ); + + if( ctx != NULL ) + mbedtls_gcm_init( (mbedtls_gcm_context *) ctx ); + + return( ctx ); +} + +static void gcm_ctx_free( void *ctx ) +{ + mbedtls_gcm_free( (mbedtls_gcm_context *)ctx ); + mbedtls_free( ctx ); +} +#endif /* MBEDTLS_GCM_C */ + +#if defined(MBEDTLS_CCM_C) +/* shared by all CCM ciphers */ +static void *ccm_ctx_alloc( void ) +{ + void *ctx = mbedtls_calloc( 1, sizeof( mbedtls_ccm_context ) ); + + if( ctx != NULL ) + mbedtls_ccm_init( (mbedtls_ccm_context *) ctx ); + + return( ctx ); +} + +static void ccm_ctx_free( void *ctx ) +{ + mbedtls_ccm_free( ctx ); + mbedtls_free( ctx ); +} +#endif /* MBEDTLS_CCM_C */ + +#if defined(MBEDTLS_AES_C) + +static int aes_crypt_ecb_wrap( void *ctx, mbedtls_operation_t operation, + const unsigned char *input, unsigned char *output ) +{ + return mbedtls_aes_crypt_ecb( (mbedtls_aes_context *) ctx, operation, input, output ); +} + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static int aes_crypt_cbc_wrap( void *ctx, mbedtls_operation_t operation, size_t length, + unsigned char *iv, const unsigned char *input, unsigned char *output ) +{ + return mbedtls_aes_crypt_cbc( (mbedtls_aes_context *) ctx, operation, length, iv, input, + output ); +} +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +static int aes_crypt_cfb128_wrap( void *ctx, mbedtls_operation_t operation, + size_t length, size_t *iv_off, unsigned char *iv, + const unsigned char *input, unsigned char *output ) +{ + return mbedtls_aes_crypt_cfb128( (mbedtls_aes_context *) ctx, operation, length, iv_off, iv, + input, output ); +} +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_OFB) +static int aes_crypt_ofb_wrap( void *ctx, size_t length, size_t *iv_off, + unsigned char *iv, const unsigned char *input, unsigned char *output ) +{ + return mbedtls_aes_crypt_ofb( (mbedtls_aes_context *) ctx, length, iv_off, + iv, input, output ); +} +#endif /* MBEDTLS_CIPHER_MODE_OFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +static int aes_crypt_ctr_wrap( void *ctx, size_t length, size_t *nc_off, + unsigned char *nonce_counter, unsigned char *stream_block, + const unsigned char *input, unsigned char *output ) +{ + return mbedtls_aes_crypt_ctr( (mbedtls_aes_context *) ctx, length, nc_off, nonce_counter, + stream_block, input, output ); +} +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +#if defined(MBEDTLS_CIPHER_MODE_XTS) +static int aes_crypt_xts_wrap( void *ctx, mbedtls_operation_t operation, + size_t length, + const unsigned char data_unit[16], + const unsigned char *input, + unsigned char *output ) +{ + mbedtls_aes_xts_context *xts_ctx = ctx; + int mode; + + switch( operation ) + { + case MBEDTLS_ENCRYPT: + mode = MBEDTLS_AES_ENCRYPT; + break; + case MBEDTLS_DECRYPT: + mode = MBEDTLS_AES_DECRYPT; + break; + default: + return MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA; + } + + return mbedtls_aes_crypt_xts( xts_ctx, mode, length, + data_unit, input, output ); +} +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + +static int aes_setkey_dec_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_aes_setkey_dec( (mbedtls_aes_context *) ctx, key, key_bitlen ); +} + +static int aes_setkey_enc_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_aes_setkey_enc( (mbedtls_aes_context *) ctx, key, key_bitlen ); +} + +static void * aes_ctx_alloc( void ) +{ + mbedtls_aes_context *aes = (mbedtls_aes_context *)mbedtls_calloc( 1, sizeof( mbedtls_aes_context ) ); + + if( aes == NULL ) + return( NULL ); + + mbedtls_aes_init( aes ); + + return( aes ); +} + +static void aes_ctx_free( void *ctx ) +{ + mbedtls_aes_free( (mbedtls_aes_context *) ctx ); + mbedtls_free( ctx ); +} + +static const mbedtls_cipher_base_t aes_info = { + MBEDTLS_CIPHER_ID_AES, + aes_crypt_ecb_wrap, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + aes_crypt_cbc_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + aes_crypt_cfb128_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + aes_crypt_ofb_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + aes_crypt_ctr_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + aes_setkey_enc_wrap, + aes_setkey_dec_wrap, + aes_ctx_alloc, + aes_ctx_free +}; + +static const mbedtls_cipher_info_t aes_128_ecb_info = { + MBEDTLS_CIPHER_AES_128_ECB, + MBEDTLS_MODE_ECB, + 128, + "AES-128-ECB", + 0, + 0, + 16, + &aes_info +}; + +static const mbedtls_cipher_info_t aes_192_ecb_info = { + MBEDTLS_CIPHER_AES_192_ECB, + MBEDTLS_MODE_ECB, + 192, + "AES-192-ECB", + 0, + 0, + 16, + &aes_info +}; + +static const mbedtls_cipher_info_t aes_256_ecb_info = { + MBEDTLS_CIPHER_AES_256_ECB, + MBEDTLS_MODE_ECB, + 256, + "AES-256-ECB", + 0, + 0, + 16, + &aes_info +}; + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static const mbedtls_cipher_info_t aes_128_cbc_info = { + MBEDTLS_CIPHER_AES_128_CBC, + MBEDTLS_MODE_CBC, + 128, + "AES-128-CBC", + 16, + 0, + 16, + &aes_info +}; + +static const mbedtls_cipher_info_t aes_192_cbc_info = { + MBEDTLS_CIPHER_AES_192_CBC, + MBEDTLS_MODE_CBC, + 192, + "AES-192-CBC", + 16, + 0, + 16, + &aes_info +}; + +static const mbedtls_cipher_info_t aes_256_cbc_info = { + MBEDTLS_CIPHER_AES_256_CBC, + MBEDTLS_MODE_CBC, + 256, + "AES-256-CBC", + 16, + 0, + 16, + &aes_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +static const mbedtls_cipher_info_t aes_128_cfb128_info = { + MBEDTLS_CIPHER_AES_128_CFB128, + MBEDTLS_MODE_CFB, + 128, + "AES-128-CFB128", + 16, + 0, + 16, + &aes_info +}; + +static const mbedtls_cipher_info_t aes_192_cfb128_info = { + MBEDTLS_CIPHER_AES_192_CFB128, + MBEDTLS_MODE_CFB, + 192, + "AES-192-CFB128", + 16, + 0, + 16, + &aes_info +}; + +static const mbedtls_cipher_info_t aes_256_cfb128_info = { + MBEDTLS_CIPHER_AES_256_CFB128, + MBEDTLS_MODE_CFB, + 256, + "AES-256-CFB128", + 16, + 0, + 16, + &aes_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_OFB) +static const mbedtls_cipher_info_t aes_128_ofb_info = { + MBEDTLS_CIPHER_AES_128_OFB, + MBEDTLS_MODE_OFB, + 128, + "AES-128-OFB", + 16, + 0, + 16, + &aes_info +}; + +static const mbedtls_cipher_info_t aes_192_ofb_info = { + MBEDTLS_CIPHER_AES_192_OFB, + MBEDTLS_MODE_OFB, + 192, + "AES-192-OFB", + 16, + 0, + 16, + &aes_info +}; + +static const mbedtls_cipher_info_t aes_256_ofb_info = { + MBEDTLS_CIPHER_AES_256_OFB, + MBEDTLS_MODE_OFB, + 256, + "AES-256-OFB", + 16, + 0, + 16, + &aes_info +}; +#endif /* MBEDTLS_CIPHER_MODE_OFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +static const mbedtls_cipher_info_t aes_128_ctr_info = { + MBEDTLS_CIPHER_AES_128_CTR, + MBEDTLS_MODE_CTR, + 128, + "AES-128-CTR", + 16, + 0, + 16, + &aes_info +}; + +static const mbedtls_cipher_info_t aes_192_ctr_info = { + MBEDTLS_CIPHER_AES_192_CTR, + MBEDTLS_MODE_CTR, + 192, + "AES-192-CTR", + 16, + 0, + 16, + &aes_info +}; + +static const mbedtls_cipher_info_t aes_256_ctr_info = { + MBEDTLS_CIPHER_AES_256_CTR, + MBEDTLS_MODE_CTR, + 256, + "AES-256-CTR", + 16, + 0, + 16, + &aes_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +#if defined(MBEDTLS_CIPHER_MODE_XTS) +static int xts_aes_setkey_enc_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + mbedtls_aes_xts_context *xts_ctx = ctx; + return( mbedtls_aes_xts_setkey_enc( xts_ctx, key, key_bitlen ) ); +} + +static int xts_aes_setkey_dec_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + mbedtls_aes_xts_context *xts_ctx = ctx; + return( mbedtls_aes_xts_setkey_dec( xts_ctx, key, key_bitlen ) ); +} + +static void *xts_aes_ctx_alloc( void ) +{ + mbedtls_aes_xts_context *xts_ctx = mbedtls_calloc( 1, sizeof( *xts_ctx ) ); + + if( xts_ctx != NULL ) + mbedtls_aes_xts_init( xts_ctx ); + + return( xts_ctx ); +} + +static void xts_aes_ctx_free( void *ctx ) +{ + mbedtls_aes_xts_context *xts_ctx = ctx; + + if( xts_ctx == NULL ) + return; + + mbedtls_aes_xts_free( xts_ctx ); + mbedtls_free( xts_ctx ); +} + +static const mbedtls_cipher_base_t xts_aes_info = { + MBEDTLS_CIPHER_ID_AES, + NULL, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + aes_crypt_xts_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + xts_aes_setkey_enc_wrap, + xts_aes_setkey_dec_wrap, + xts_aes_ctx_alloc, + xts_aes_ctx_free +}; + +static const mbedtls_cipher_info_t aes_128_xts_info = { + MBEDTLS_CIPHER_AES_128_XTS, + MBEDTLS_MODE_XTS, + 256, + "AES-128-XTS", + 16, + 0, + 16, + &xts_aes_info +}; + +static const mbedtls_cipher_info_t aes_256_xts_info = { + MBEDTLS_CIPHER_AES_256_XTS, + MBEDTLS_MODE_XTS, + 512, + "AES-256-XTS", + 16, + 0, + 16, + &xts_aes_info +}; +#endif /* MBEDTLS_CIPHER_MODE_XTS */ + +#if defined(MBEDTLS_GCM_C) +static int gcm_aes_setkey_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_gcm_setkey( (mbedtls_gcm_context *) ctx, MBEDTLS_CIPHER_ID_AES, + key, key_bitlen ); +} + +static const mbedtls_cipher_base_t gcm_aes_info = { + MBEDTLS_CIPHER_ID_AES, + NULL, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + gcm_aes_setkey_wrap, + gcm_aes_setkey_wrap, + gcm_ctx_alloc, + gcm_ctx_free, +}; + +static const mbedtls_cipher_info_t aes_128_gcm_info = { + MBEDTLS_CIPHER_AES_128_GCM, + MBEDTLS_MODE_GCM, + 128, + "AES-128-GCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &gcm_aes_info +}; + +static const mbedtls_cipher_info_t aes_192_gcm_info = { + MBEDTLS_CIPHER_AES_192_GCM, + MBEDTLS_MODE_GCM, + 192, + "AES-192-GCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &gcm_aes_info +}; + +static const mbedtls_cipher_info_t aes_256_gcm_info = { + MBEDTLS_CIPHER_AES_256_GCM, + MBEDTLS_MODE_GCM, + 256, + "AES-256-GCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &gcm_aes_info +}; +#endif /* MBEDTLS_GCM_C */ + +#if defined(MBEDTLS_CCM_C) +static int ccm_aes_setkey_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_ccm_setkey( (mbedtls_ccm_context *) ctx, MBEDTLS_CIPHER_ID_AES, + key, key_bitlen ); +} + +static const mbedtls_cipher_base_t ccm_aes_info = { + MBEDTLS_CIPHER_ID_AES, + NULL, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + ccm_aes_setkey_wrap, + ccm_aes_setkey_wrap, + ccm_ctx_alloc, + ccm_ctx_free, +}; + +static const mbedtls_cipher_info_t aes_128_ccm_info = { + MBEDTLS_CIPHER_AES_128_CCM, + MBEDTLS_MODE_CCM, + 128, + "AES-128-CCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aes_info +}; + +static const mbedtls_cipher_info_t aes_192_ccm_info = { + MBEDTLS_CIPHER_AES_192_CCM, + MBEDTLS_MODE_CCM, + 192, + "AES-192-CCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aes_info +}; + +static const mbedtls_cipher_info_t aes_256_ccm_info = { + MBEDTLS_CIPHER_AES_256_CCM, + MBEDTLS_MODE_CCM, + 256, + "AES-256-CCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aes_info +}; + +static const mbedtls_cipher_info_t aes_128_ccm_star_no_tag_info = { + MBEDTLS_CIPHER_AES_128_CCM_STAR_NO_TAG, + MBEDTLS_MODE_CCM_STAR_NO_TAG, + 128, + "AES-128-CCM*-NO-TAG", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aes_info +}; + +static const mbedtls_cipher_info_t aes_192_ccm_star_no_tag_info = { + MBEDTLS_CIPHER_AES_192_CCM_STAR_NO_TAG, + MBEDTLS_MODE_CCM_STAR_NO_TAG, + 192, + "AES-192-CCM*-NO-TAG", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aes_info +}; + +static const mbedtls_cipher_info_t aes_256_ccm_star_no_tag_info = { + MBEDTLS_CIPHER_AES_256_CCM_STAR_NO_TAG, + MBEDTLS_MODE_CCM_STAR_NO_TAG, + 256, + "AES-256-CCM*-NO-TAG", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aes_info +}; +#endif /* MBEDTLS_CCM_C */ + +#endif /* MBEDTLS_AES_C */ + +#if defined(MBEDTLS_CAMELLIA_C) + +static int camellia_crypt_ecb_wrap( void *ctx, mbedtls_operation_t operation, + const unsigned char *input, unsigned char *output ) +{ + return mbedtls_camellia_crypt_ecb( (mbedtls_camellia_context *) ctx, operation, input, + output ); +} + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static int camellia_crypt_cbc_wrap( void *ctx, mbedtls_operation_t operation, + size_t length, unsigned char *iv, + const unsigned char *input, unsigned char *output ) +{ + return mbedtls_camellia_crypt_cbc( (mbedtls_camellia_context *) ctx, operation, length, iv, + input, output ); +} +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +static int camellia_crypt_cfb128_wrap( void *ctx, mbedtls_operation_t operation, + size_t length, size_t *iv_off, unsigned char *iv, + const unsigned char *input, unsigned char *output ) +{ + return mbedtls_camellia_crypt_cfb128( (mbedtls_camellia_context *) ctx, operation, length, + iv_off, iv, input, output ); +} +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +static int camellia_crypt_ctr_wrap( void *ctx, size_t length, size_t *nc_off, + unsigned char *nonce_counter, unsigned char *stream_block, + const unsigned char *input, unsigned char *output ) +{ + return mbedtls_camellia_crypt_ctr( (mbedtls_camellia_context *) ctx, length, nc_off, + nonce_counter, stream_block, input, output ); +} +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +static int camellia_setkey_dec_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_camellia_setkey_dec( (mbedtls_camellia_context *) ctx, key, key_bitlen ); +} + +static int camellia_setkey_enc_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_camellia_setkey_enc( (mbedtls_camellia_context *) ctx, key, key_bitlen ); +} + +static void * camellia_ctx_alloc( void ) +{ + mbedtls_camellia_context *ctx; + ctx = (mbedtls_camellia_context *)mbedtls_calloc( 1, sizeof( mbedtls_camellia_context ) ); + + if( ctx == NULL ) + return( NULL ); + + mbedtls_camellia_init( ctx ); + + return( ctx ); +} + +static void camellia_ctx_free( void *ctx ) +{ + mbedtls_camellia_free( (mbedtls_camellia_context *) ctx ); + mbedtls_free( ctx ); +} + +static const mbedtls_cipher_base_t camellia_info = { + MBEDTLS_CIPHER_ID_CAMELLIA, + camellia_crypt_ecb_wrap, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + camellia_crypt_cbc_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + camellia_crypt_cfb128_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + camellia_crypt_ctr_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + camellia_setkey_enc_wrap, + camellia_setkey_dec_wrap, + camellia_ctx_alloc, + camellia_ctx_free +}; + +static const mbedtls_cipher_info_t camellia_128_ecb_info = { + MBEDTLS_CIPHER_CAMELLIA_128_ECB, + MBEDTLS_MODE_ECB, + 128, + "CAMELLIA-128-ECB", + 0, + 0, + 16, + &camellia_info +}; + +static const mbedtls_cipher_info_t camellia_192_ecb_info = { + MBEDTLS_CIPHER_CAMELLIA_192_ECB, + MBEDTLS_MODE_ECB, + 192, + "CAMELLIA-192-ECB", + 0, + 0, + 16, + &camellia_info +}; + +static const mbedtls_cipher_info_t camellia_256_ecb_info = { + MBEDTLS_CIPHER_CAMELLIA_256_ECB, + MBEDTLS_MODE_ECB, + 256, + "CAMELLIA-256-ECB", + 0, + 0, + 16, + &camellia_info +}; + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static const mbedtls_cipher_info_t camellia_128_cbc_info = { + MBEDTLS_CIPHER_CAMELLIA_128_CBC, + MBEDTLS_MODE_CBC, + 128, + "CAMELLIA-128-CBC", + 16, + 0, + 16, + &camellia_info +}; + +static const mbedtls_cipher_info_t camellia_192_cbc_info = { + MBEDTLS_CIPHER_CAMELLIA_192_CBC, + MBEDTLS_MODE_CBC, + 192, + "CAMELLIA-192-CBC", + 16, + 0, + 16, + &camellia_info +}; + +static const mbedtls_cipher_info_t camellia_256_cbc_info = { + MBEDTLS_CIPHER_CAMELLIA_256_CBC, + MBEDTLS_MODE_CBC, + 256, + "CAMELLIA-256-CBC", + 16, + 0, + 16, + &camellia_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +static const mbedtls_cipher_info_t camellia_128_cfb128_info = { + MBEDTLS_CIPHER_CAMELLIA_128_CFB128, + MBEDTLS_MODE_CFB, + 128, + "CAMELLIA-128-CFB128", + 16, + 0, + 16, + &camellia_info +}; + +static const mbedtls_cipher_info_t camellia_192_cfb128_info = { + MBEDTLS_CIPHER_CAMELLIA_192_CFB128, + MBEDTLS_MODE_CFB, + 192, + "CAMELLIA-192-CFB128", + 16, + 0, + 16, + &camellia_info +}; + +static const mbedtls_cipher_info_t camellia_256_cfb128_info = { + MBEDTLS_CIPHER_CAMELLIA_256_CFB128, + MBEDTLS_MODE_CFB, + 256, + "CAMELLIA-256-CFB128", + 16, + 0, + 16, + &camellia_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +static const mbedtls_cipher_info_t camellia_128_ctr_info = { + MBEDTLS_CIPHER_CAMELLIA_128_CTR, + MBEDTLS_MODE_CTR, + 128, + "CAMELLIA-128-CTR", + 16, + 0, + 16, + &camellia_info +}; + +static const mbedtls_cipher_info_t camellia_192_ctr_info = { + MBEDTLS_CIPHER_CAMELLIA_192_CTR, + MBEDTLS_MODE_CTR, + 192, + "CAMELLIA-192-CTR", + 16, + 0, + 16, + &camellia_info +}; + +static const mbedtls_cipher_info_t camellia_256_ctr_info = { + MBEDTLS_CIPHER_CAMELLIA_256_CTR, + MBEDTLS_MODE_CTR, + 256, + "CAMELLIA-256-CTR", + 16, + 0, + 16, + &camellia_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +#if defined(MBEDTLS_GCM_C) +static int gcm_camellia_setkey_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_gcm_setkey( (mbedtls_gcm_context *) ctx, MBEDTLS_CIPHER_ID_CAMELLIA, + key, key_bitlen ); +} + +static const mbedtls_cipher_base_t gcm_camellia_info = { + MBEDTLS_CIPHER_ID_CAMELLIA, + NULL, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + gcm_camellia_setkey_wrap, + gcm_camellia_setkey_wrap, + gcm_ctx_alloc, + gcm_ctx_free, +}; + +static const mbedtls_cipher_info_t camellia_128_gcm_info = { + MBEDTLS_CIPHER_CAMELLIA_128_GCM, + MBEDTLS_MODE_GCM, + 128, + "CAMELLIA-128-GCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &gcm_camellia_info +}; + +static const mbedtls_cipher_info_t camellia_192_gcm_info = { + MBEDTLS_CIPHER_CAMELLIA_192_GCM, + MBEDTLS_MODE_GCM, + 192, + "CAMELLIA-192-GCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &gcm_camellia_info +}; + +static const mbedtls_cipher_info_t camellia_256_gcm_info = { + MBEDTLS_CIPHER_CAMELLIA_256_GCM, + MBEDTLS_MODE_GCM, + 256, + "CAMELLIA-256-GCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &gcm_camellia_info +}; +#endif /* MBEDTLS_GCM_C */ + +#if defined(MBEDTLS_CCM_C) +static int ccm_camellia_setkey_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_ccm_setkey( (mbedtls_ccm_context *) ctx, MBEDTLS_CIPHER_ID_CAMELLIA, + key, key_bitlen ); +} + +static const mbedtls_cipher_base_t ccm_camellia_info = { + MBEDTLS_CIPHER_ID_CAMELLIA, + NULL, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + ccm_camellia_setkey_wrap, + ccm_camellia_setkey_wrap, + ccm_ctx_alloc, + ccm_ctx_free, +}; + +static const mbedtls_cipher_info_t camellia_128_ccm_info = { + MBEDTLS_CIPHER_CAMELLIA_128_CCM, + MBEDTLS_MODE_CCM, + 128, + "CAMELLIA-128-CCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_camellia_info +}; + +static const mbedtls_cipher_info_t camellia_192_ccm_info = { + MBEDTLS_CIPHER_CAMELLIA_192_CCM, + MBEDTLS_MODE_CCM, + 192, + "CAMELLIA-192-CCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_camellia_info +}; + +static const mbedtls_cipher_info_t camellia_256_ccm_info = { + MBEDTLS_CIPHER_CAMELLIA_256_CCM, + MBEDTLS_MODE_CCM, + 256, + "CAMELLIA-256-CCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_camellia_info +}; + +static const mbedtls_cipher_info_t camellia_128_ccm_star_no_tag_info = { + MBEDTLS_CIPHER_CAMELLIA_128_CCM_STAR_NO_TAG, + MBEDTLS_MODE_CCM_STAR_NO_TAG, + 128, + "CAMELLIA-128-CCM*-NO-TAG", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_camellia_info +}; + +static const mbedtls_cipher_info_t camellia_192_ccm_star_no_tag_info = { + MBEDTLS_CIPHER_CAMELLIA_192_CCM_STAR_NO_TAG, + MBEDTLS_MODE_CCM_STAR_NO_TAG, + 192, + "CAMELLIA-192-CCM*-NO-TAG", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_camellia_info +}; + +static const mbedtls_cipher_info_t camellia_256_ccm_star_no_tag_info = { + MBEDTLS_CIPHER_CAMELLIA_256_CCM_STAR_NO_TAG, + MBEDTLS_MODE_CCM_STAR_NO_TAG, + 256, + "CAMELLIA-256-CCM*-NO-TAG", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_camellia_info +}; +#endif /* MBEDTLS_CCM_C */ + +#endif /* MBEDTLS_CAMELLIA_C */ + +#if defined(MBEDTLS_ARIA_C) + +static int aria_crypt_ecb_wrap( void *ctx, mbedtls_operation_t operation, + const unsigned char *input, unsigned char *output ) +{ + (void) operation; + return mbedtls_aria_crypt_ecb( (mbedtls_aria_context *) ctx, input, + output ); +} + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static int aria_crypt_cbc_wrap( void *ctx, mbedtls_operation_t operation, + size_t length, unsigned char *iv, + const unsigned char *input, unsigned char *output ) +{ + return mbedtls_aria_crypt_cbc( (mbedtls_aria_context *) ctx, operation, length, iv, + input, output ); +} +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +static int aria_crypt_cfb128_wrap( void *ctx, mbedtls_operation_t operation, + size_t length, size_t *iv_off, unsigned char *iv, + const unsigned char *input, unsigned char *output ) +{ + return mbedtls_aria_crypt_cfb128( (mbedtls_aria_context *) ctx, operation, length, + iv_off, iv, input, output ); +} +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +static int aria_crypt_ctr_wrap( void *ctx, size_t length, size_t *nc_off, + unsigned char *nonce_counter, unsigned char *stream_block, + const unsigned char *input, unsigned char *output ) +{ + return mbedtls_aria_crypt_ctr( (mbedtls_aria_context *) ctx, length, nc_off, + nonce_counter, stream_block, input, output ); +} +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +static int aria_setkey_dec_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_aria_setkey_dec( (mbedtls_aria_context *) ctx, key, key_bitlen ); +} + +static int aria_setkey_enc_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_aria_setkey_enc( (mbedtls_aria_context *) ctx, key, key_bitlen ); +} + +static void * aria_ctx_alloc( void ) +{ + mbedtls_aria_context *ctx; + ctx = (mbedtls_aria_context *)mbedtls_calloc( 1, sizeof( mbedtls_aria_context ) ); + + if( ctx == NULL ) + return( NULL ); + + mbedtls_aria_init( ctx ); + + return( ctx ); +} + +static void aria_ctx_free( void *ctx ) +{ + mbedtls_aria_free( (mbedtls_aria_context *) ctx ); + mbedtls_free( ctx ); +} + +static const mbedtls_cipher_base_t aria_info = { + MBEDTLS_CIPHER_ID_ARIA, + aria_crypt_ecb_wrap, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + aria_crypt_cbc_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + aria_crypt_cfb128_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + aria_crypt_ctr_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + aria_setkey_enc_wrap, + aria_setkey_dec_wrap, + aria_ctx_alloc, + aria_ctx_free +}; + +static const mbedtls_cipher_info_t aria_128_ecb_info = { + MBEDTLS_CIPHER_ARIA_128_ECB, + MBEDTLS_MODE_ECB, + 128, + "ARIA-128-ECB", + 0, + 0, + 16, + &aria_info +}; + +static const mbedtls_cipher_info_t aria_192_ecb_info = { + MBEDTLS_CIPHER_ARIA_192_ECB, + MBEDTLS_MODE_ECB, + 192, + "ARIA-192-ECB", + 0, + 0, + 16, + &aria_info +}; + +static const mbedtls_cipher_info_t aria_256_ecb_info = { + MBEDTLS_CIPHER_ARIA_256_ECB, + MBEDTLS_MODE_ECB, + 256, + "ARIA-256-ECB", + 0, + 0, + 16, + &aria_info +}; + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static const mbedtls_cipher_info_t aria_128_cbc_info = { + MBEDTLS_CIPHER_ARIA_128_CBC, + MBEDTLS_MODE_CBC, + 128, + "ARIA-128-CBC", + 16, + 0, + 16, + &aria_info +}; + +static const mbedtls_cipher_info_t aria_192_cbc_info = { + MBEDTLS_CIPHER_ARIA_192_CBC, + MBEDTLS_MODE_CBC, + 192, + "ARIA-192-CBC", + 16, + 0, + 16, + &aria_info +}; + +static const mbedtls_cipher_info_t aria_256_cbc_info = { + MBEDTLS_CIPHER_ARIA_256_CBC, + MBEDTLS_MODE_CBC, + 256, + "ARIA-256-CBC", + 16, + 0, + 16, + &aria_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CFB) +static const mbedtls_cipher_info_t aria_128_cfb128_info = { + MBEDTLS_CIPHER_ARIA_128_CFB128, + MBEDTLS_MODE_CFB, + 128, + "ARIA-128-CFB128", + 16, + 0, + 16, + &aria_info +}; + +static const mbedtls_cipher_info_t aria_192_cfb128_info = { + MBEDTLS_CIPHER_ARIA_192_CFB128, + MBEDTLS_MODE_CFB, + 192, + "ARIA-192-CFB128", + 16, + 0, + 16, + &aria_info +}; + +static const mbedtls_cipher_info_t aria_256_cfb128_info = { + MBEDTLS_CIPHER_ARIA_256_CFB128, + MBEDTLS_MODE_CFB, + 256, + "ARIA-256-CFB128", + 16, + 0, + 16, + &aria_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CFB */ + +#if defined(MBEDTLS_CIPHER_MODE_CTR) +static const mbedtls_cipher_info_t aria_128_ctr_info = { + MBEDTLS_CIPHER_ARIA_128_CTR, + MBEDTLS_MODE_CTR, + 128, + "ARIA-128-CTR", + 16, + 0, + 16, + &aria_info +}; + +static const mbedtls_cipher_info_t aria_192_ctr_info = { + MBEDTLS_CIPHER_ARIA_192_CTR, + MBEDTLS_MODE_CTR, + 192, + "ARIA-192-CTR", + 16, + 0, + 16, + &aria_info +}; + +static const mbedtls_cipher_info_t aria_256_ctr_info = { + MBEDTLS_CIPHER_ARIA_256_CTR, + MBEDTLS_MODE_CTR, + 256, + "ARIA-256-CTR", + 16, + 0, + 16, + &aria_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CTR */ + +#if defined(MBEDTLS_GCM_C) +static int gcm_aria_setkey_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_gcm_setkey( (mbedtls_gcm_context *) ctx, MBEDTLS_CIPHER_ID_ARIA, + key, key_bitlen ); +} + +static const mbedtls_cipher_base_t gcm_aria_info = { + MBEDTLS_CIPHER_ID_ARIA, + NULL, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + gcm_aria_setkey_wrap, + gcm_aria_setkey_wrap, + gcm_ctx_alloc, + gcm_ctx_free, +}; + +static const mbedtls_cipher_info_t aria_128_gcm_info = { + MBEDTLS_CIPHER_ARIA_128_GCM, + MBEDTLS_MODE_GCM, + 128, + "ARIA-128-GCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &gcm_aria_info +}; + +static const mbedtls_cipher_info_t aria_192_gcm_info = { + MBEDTLS_CIPHER_ARIA_192_GCM, + MBEDTLS_MODE_GCM, + 192, + "ARIA-192-GCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &gcm_aria_info +}; + +static const mbedtls_cipher_info_t aria_256_gcm_info = { + MBEDTLS_CIPHER_ARIA_256_GCM, + MBEDTLS_MODE_GCM, + 256, + "ARIA-256-GCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &gcm_aria_info +}; +#endif /* MBEDTLS_GCM_C */ + +#if defined(MBEDTLS_CCM_C) +static int ccm_aria_setkey_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_ccm_setkey( (mbedtls_ccm_context *) ctx, MBEDTLS_CIPHER_ID_ARIA, + key, key_bitlen ); +} + +static const mbedtls_cipher_base_t ccm_aria_info = { + MBEDTLS_CIPHER_ID_ARIA, + NULL, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + ccm_aria_setkey_wrap, + ccm_aria_setkey_wrap, + ccm_ctx_alloc, + ccm_ctx_free, +}; + +static const mbedtls_cipher_info_t aria_128_ccm_info = { + MBEDTLS_CIPHER_ARIA_128_CCM, + MBEDTLS_MODE_CCM, + 128, + "ARIA-128-CCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aria_info +}; + +static const mbedtls_cipher_info_t aria_192_ccm_info = { + MBEDTLS_CIPHER_ARIA_192_CCM, + MBEDTLS_MODE_CCM, + 192, + "ARIA-192-CCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aria_info +}; + +static const mbedtls_cipher_info_t aria_256_ccm_info = { + MBEDTLS_CIPHER_ARIA_256_CCM, + MBEDTLS_MODE_CCM, + 256, + "ARIA-256-CCM", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aria_info +}; + +static const mbedtls_cipher_info_t aria_128_ccm_star_no_tag_info = { + MBEDTLS_CIPHER_ARIA_128_CCM_STAR_NO_TAG, + MBEDTLS_MODE_CCM_STAR_NO_TAG, + 128, + "ARIA-128-CCM*-NO-TAG", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aria_info +}; + +static const mbedtls_cipher_info_t aria_192_ccm_star_no_tag_info = { + MBEDTLS_CIPHER_ARIA_192_CCM_STAR_NO_TAG, + MBEDTLS_MODE_CCM_STAR_NO_TAG, + 192, + "ARIA-192-CCM*-NO-TAG", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aria_info +}; + +static const mbedtls_cipher_info_t aria_256_ccm_star_no_tag_info = { + MBEDTLS_CIPHER_ARIA_256_CCM_STAR_NO_TAG, + MBEDTLS_MODE_CCM_STAR_NO_TAG, + 256, + "ARIA-256-CCM*-NO-TAG", + 12, + MBEDTLS_CIPHER_VARIABLE_IV_LEN, + 16, + &ccm_aria_info +}; +#endif /* MBEDTLS_CCM_C */ + +#endif /* MBEDTLS_ARIA_C */ + +#if defined(MBEDTLS_DES_C) + +static int des_crypt_ecb_wrap( void *ctx, mbedtls_operation_t operation, + const unsigned char *input, unsigned char *output ) +{ + ((void) operation); + return mbedtls_des_crypt_ecb( (mbedtls_des_context *) ctx, input, output ); +} + +static int des3_crypt_ecb_wrap( void *ctx, mbedtls_operation_t operation, + const unsigned char *input, unsigned char *output ) +{ + ((void) operation); + return mbedtls_des3_crypt_ecb( (mbedtls_des3_context *) ctx, input, output ); +} + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static int des_crypt_cbc_wrap( void *ctx, mbedtls_operation_t operation, size_t length, + unsigned char *iv, const unsigned char *input, unsigned char *output ) +{ + return mbedtls_des_crypt_cbc( (mbedtls_des_context *) ctx, operation, length, iv, input, + output ); +} +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static int des3_crypt_cbc_wrap( void *ctx, mbedtls_operation_t operation, size_t length, + unsigned char *iv, const unsigned char *input, unsigned char *output ) +{ + return mbedtls_des3_crypt_cbc( (mbedtls_des3_context *) ctx, operation, length, iv, input, + output ); +} +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +static int des_setkey_dec_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + ((void) key_bitlen); + + return mbedtls_des_setkey_dec( (mbedtls_des_context *) ctx, key ); +} + +static int des_setkey_enc_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + ((void) key_bitlen); + + return mbedtls_des_setkey_enc( (mbedtls_des_context *) ctx, key ); +} + +static int des3_set2key_dec_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + ((void) key_bitlen); + + return mbedtls_des3_set2key_dec( (mbedtls_des3_context *) ctx, key ); +} + +static int des3_set2key_enc_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + ((void) key_bitlen); + + return mbedtls_des3_set2key_enc( (mbedtls_des3_context *) ctx, key ); +} + +static int des3_set3key_dec_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + ((void) key_bitlen); + + return mbedtls_des3_set3key_dec( (mbedtls_des3_context *) ctx, key ); +} + +static int des3_set3key_enc_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + ((void) key_bitlen); + + return mbedtls_des3_set3key_enc( (mbedtls_des3_context *) ctx, key ); +} + +static void * des_ctx_alloc( void ) +{ + mbedtls_des_context *des = mbedtls_calloc( 1, sizeof( mbedtls_des_context ) ); + + if( des == NULL ) + return( NULL ); + + mbedtls_des_init( des ); + + return( des ); +} + +static void des_ctx_free( void *ctx ) +{ + mbedtls_des_free( (mbedtls_des_context *) ctx ); + mbedtls_free( ctx ); +} + +static void * des3_ctx_alloc( void ) +{ + mbedtls_des3_context *des3; + des3 = mbedtls_calloc( 1, sizeof( mbedtls_des3_context ) ); + + if( des3 == NULL ) + return( NULL ); + + mbedtls_des3_init( des3 ); + + return( des3 ); +} + +static void des3_ctx_free( void *ctx ) +{ + mbedtls_des3_free( (mbedtls_des3_context *) ctx ); + mbedtls_free( ctx ); +} + +static const mbedtls_cipher_base_t des_info = { + MBEDTLS_CIPHER_ID_DES, + des_crypt_ecb_wrap, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + des_crypt_cbc_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + des_setkey_enc_wrap, + des_setkey_dec_wrap, + des_ctx_alloc, + des_ctx_free +}; + +static const mbedtls_cipher_info_t des_ecb_info = { + MBEDTLS_CIPHER_DES_ECB, + MBEDTLS_MODE_ECB, + MBEDTLS_KEY_LENGTH_DES, + "DES-ECB", + 0, + 0, + 8, + &des_info +}; + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static const mbedtls_cipher_info_t des_cbc_info = { + MBEDTLS_CIPHER_DES_CBC, + MBEDTLS_MODE_CBC, + MBEDTLS_KEY_LENGTH_DES, + "DES-CBC", + 8, + 0, + 8, + &des_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +static const mbedtls_cipher_base_t des_ede_info = { + MBEDTLS_CIPHER_ID_DES, + des3_crypt_ecb_wrap, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + des3_crypt_cbc_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + des3_set2key_enc_wrap, + des3_set2key_dec_wrap, + des3_ctx_alloc, + des3_ctx_free +}; + +static const mbedtls_cipher_info_t des_ede_ecb_info = { + MBEDTLS_CIPHER_DES_EDE_ECB, + MBEDTLS_MODE_ECB, + MBEDTLS_KEY_LENGTH_DES_EDE, + "DES-EDE-ECB", + 0, + 0, + 8, + &des_ede_info +}; + +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static const mbedtls_cipher_info_t des_ede_cbc_info = { + MBEDTLS_CIPHER_DES_EDE_CBC, + MBEDTLS_MODE_CBC, + MBEDTLS_KEY_LENGTH_DES_EDE, + "DES-EDE-CBC", + 8, + 0, + 8, + &des_ede_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CBC */ + +static const mbedtls_cipher_base_t des_ede3_info = { + MBEDTLS_CIPHER_ID_3DES, + des3_crypt_ecb_wrap, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + des3_crypt_cbc_wrap, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + des3_set3key_enc_wrap, + des3_set3key_dec_wrap, + des3_ctx_alloc, + des3_ctx_free +}; + +static const mbedtls_cipher_info_t des_ede3_ecb_info = { + MBEDTLS_CIPHER_DES_EDE3_ECB, + MBEDTLS_MODE_ECB, + MBEDTLS_KEY_LENGTH_DES_EDE3, + "DES-EDE3-ECB", + 0, + 0, + 8, + &des_ede3_info +}; +#if defined(MBEDTLS_CIPHER_MODE_CBC) +static const mbedtls_cipher_info_t des_ede3_cbc_info = { + MBEDTLS_CIPHER_DES_EDE3_CBC, + MBEDTLS_MODE_CBC, + MBEDTLS_KEY_LENGTH_DES_EDE3, + "DES-EDE3-CBC", + 8, + 0, + 8, + &des_ede3_info +}; +#endif /* MBEDTLS_CIPHER_MODE_CBC */ +#endif /* MBEDTLS_DES_C */ + +#if defined(MBEDTLS_CHACHA20_C) + +static int chacha20_setkey_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + if( key_bitlen != 256U ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + if ( 0 != mbedtls_chacha20_setkey( (mbedtls_chacha20_context*)ctx, key ) ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + return( 0 ); +} + +static int chacha20_stream_wrap( void *ctx, size_t length, + const unsigned char *input, + unsigned char *output ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + ret = mbedtls_chacha20_update( ctx, length, input, output ); + if( ret == MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + return( ret ); +} + +static void * chacha20_ctx_alloc( void ) +{ + mbedtls_chacha20_context *ctx; + ctx = mbedtls_calloc( 1, sizeof( mbedtls_chacha20_context ) ); + + if( ctx == NULL ) + return( NULL ); + + mbedtls_chacha20_init( ctx ); + + return( ctx ); +} + +static void chacha20_ctx_free( void *ctx ) +{ + mbedtls_chacha20_free( (mbedtls_chacha20_context *) ctx ); + mbedtls_free( ctx ); +} + +static const mbedtls_cipher_base_t chacha20_base_info = { + MBEDTLS_CIPHER_ID_CHACHA20, + NULL, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + chacha20_stream_wrap, +#endif + chacha20_setkey_wrap, + chacha20_setkey_wrap, + chacha20_ctx_alloc, + chacha20_ctx_free +}; +static const mbedtls_cipher_info_t chacha20_info = { + MBEDTLS_CIPHER_CHACHA20, + MBEDTLS_MODE_STREAM, + 256, + "CHACHA20", + 12, + 0, + 1, + &chacha20_base_info +}; +#endif /* MBEDTLS_CHACHA20_C */ + +#if defined(MBEDTLS_CHACHAPOLY_C) + +static int chachapoly_setkey_wrap( void *ctx, + const unsigned char *key, + unsigned int key_bitlen ) +{ + if( key_bitlen != 256U ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + if ( 0 != mbedtls_chachapoly_setkey( (mbedtls_chachapoly_context*)ctx, key ) ) + return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); + + return( 0 ); +} + +static void * chachapoly_ctx_alloc( void ) +{ + mbedtls_chachapoly_context *ctx; + ctx = mbedtls_calloc( 1, sizeof( mbedtls_chachapoly_context ) ); + + if( ctx == NULL ) + return( NULL ); + + mbedtls_chachapoly_init( ctx ); + + return( ctx ); +} + +static void chachapoly_ctx_free( void *ctx ) +{ + mbedtls_chachapoly_free( (mbedtls_chachapoly_context *) ctx ); + mbedtls_free( ctx ); +} + +static const mbedtls_cipher_base_t chachapoly_base_info = { + MBEDTLS_CIPHER_ID_CHACHA20, + NULL, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + chachapoly_setkey_wrap, + chachapoly_setkey_wrap, + chachapoly_ctx_alloc, + chachapoly_ctx_free +}; +static const mbedtls_cipher_info_t chachapoly_info = { + MBEDTLS_CIPHER_CHACHA20_POLY1305, + MBEDTLS_MODE_CHACHAPOLY, + 256, + "CHACHA20-POLY1305", + 12, + 0, + 1, + &chachapoly_base_info +}; +#endif /* MBEDTLS_CHACHAPOLY_C */ + +#if defined(MBEDTLS_CIPHER_NULL_CIPHER) +static int null_crypt_stream( void *ctx, size_t length, + const unsigned char *input, + unsigned char *output ) +{ + ((void) ctx); + memmove( output, input, length ); + return( 0 ); +} + +static int null_setkey( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + ((void) ctx); + ((void) key); + ((void) key_bitlen); + + return( 0 ); +} + +static void * null_ctx_alloc( void ) +{ + return( (void *) 1 ); +} + +static void null_ctx_free( void *ctx ) +{ + ((void) ctx); +} + +static const mbedtls_cipher_base_t null_base_info = { + MBEDTLS_CIPHER_ID_NULL, + NULL, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + null_crypt_stream, +#endif + null_setkey, + null_setkey, + null_ctx_alloc, + null_ctx_free +}; + +static const mbedtls_cipher_info_t null_cipher_info = { + MBEDTLS_CIPHER_NULL, + MBEDTLS_MODE_STREAM, + 0, + "NULL", + 0, + 0, + 1, + &null_base_info +}; +#endif /* defined(MBEDTLS_CIPHER_NULL_CIPHER) */ + +#if defined(MBEDTLS_NIST_KW_C) +static void *kw_ctx_alloc( void ) +{ + void *ctx = mbedtls_calloc( 1, sizeof( mbedtls_nist_kw_context ) ); + + if( ctx != NULL ) + mbedtls_nist_kw_init( (mbedtls_nist_kw_context *) ctx ); + + return( ctx ); +} + +static void kw_ctx_free( void *ctx ) +{ + mbedtls_nist_kw_free( ctx ); + mbedtls_free( ctx ); +} + +static int kw_aes_setkey_wrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_nist_kw_setkey( (mbedtls_nist_kw_context *) ctx, + MBEDTLS_CIPHER_ID_AES, key, key_bitlen, 1 ); +} + +static int kw_aes_setkey_unwrap( void *ctx, const unsigned char *key, + unsigned int key_bitlen ) +{ + return mbedtls_nist_kw_setkey( (mbedtls_nist_kw_context *) ctx, + MBEDTLS_CIPHER_ID_AES, key, key_bitlen, 0 ); +} + +static const mbedtls_cipher_base_t kw_aes_info = { + MBEDTLS_CIPHER_ID_AES, + NULL, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + NULL, +#endif +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + NULL, +#endif + kw_aes_setkey_wrap, + kw_aes_setkey_unwrap, + kw_ctx_alloc, + kw_ctx_free, +}; + +static const mbedtls_cipher_info_t aes_128_nist_kw_info = { + MBEDTLS_CIPHER_AES_128_KW, + MBEDTLS_MODE_KW, + 128, + "AES-128-KW", + 0, + 0, + 16, + &kw_aes_info +}; + +static const mbedtls_cipher_info_t aes_192_nist_kw_info = { + MBEDTLS_CIPHER_AES_192_KW, + MBEDTLS_MODE_KW, + 192, + "AES-192-KW", + 0, + 0, + 16, + &kw_aes_info +}; + +static const mbedtls_cipher_info_t aes_256_nist_kw_info = { + MBEDTLS_CIPHER_AES_256_KW, + MBEDTLS_MODE_KW, + 256, + "AES-256-KW", + 0, + 0, + 16, + &kw_aes_info +}; + +static const mbedtls_cipher_info_t aes_128_nist_kwp_info = { + MBEDTLS_CIPHER_AES_128_KWP, + MBEDTLS_MODE_KWP, + 128, + "AES-128-KWP", + 0, + 0, + 16, + &kw_aes_info +}; + +static const mbedtls_cipher_info_t aes_192_nist_kwp_info = { + MBEDTLS_CIPHER_AES_192_KWP, + MBEDTLS_MODE_KWP, + 192, + "AES-192-KWP", + 0, + 0, + 16, + &kw_aes_info +}; + +static const mbedtls_cipher_info_t aes_256_nist_kwp_info = { + MBEDTLS_CIPHER_AES_256_KWP, + MBEDTLS_MODE_KWP, + 256, + "AES-256-KWP", + 0, + 0, + 16, + &kw_aes_info +}; +#endif /* MBEDTLS_NIST_KW_C */ + +const mbedtls_cipher_definition_t mbedtls_cipher_definitions[] = +{ +#if defined(MBEDTLS_AES_C) + { MBEDTLS_CIPHER_AES_128_ECB, &aes_128_ecb_info }, + { MBEDTLS_CIPHER_AES_192_ECB, &aes_192_ecb_info }, + { MBEDTLS_CIPHER_AES_256_ECB, &aes_256_ecb_info }, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + { MBEDTLS_CIPHER_AES_128_CBC, &aes_128_cbc_info }, + { MBEDTLS_CIPHER_AES_192_CBC, &aes_192_cbc_info }, + { MBEDTLS_CIPHER_AES_256_CBC, &aes_256_cbc_info }, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + { MBEDTLS_CIPHER_AES_128_CFB128, &aes_128_cfb128_info }, + { MBEDTLS_CIPHER_AES_192_CFB128, &aes_192_cfb128_info }, + { MBEDTLS_CIPHER_AES_256_CFB128, &aes_256_cfb128_info }, +#endif +#if defined(MBEDTLS_CIPHER_MODE_OFB) + { MBEDTLS_CIPHER_AES_128_OFB, &aes_128_ofb_info }, + { MBEDTLS_CIPHER_AES_192_OFB, &aes_192_ofb_info }, + { MBEDTLS_CIPHER_AES_256_OFB, &aes_256_ofb_info }, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + { MBEDTLS_CIPHER_AES_128_CTR, &aes_128_ctr_info }, + { MBEDTLS_CIPHER_AES_192_CTR, &aes_192_ctr_info }, + { MBEDTLS_CIPHER_AES_256_CTR, &aes_256_ctr_info }, +#endif +#if defined(MBEDTLS_CIPHER_MODE_XTS) + { MBEDTLS_CIPHER_AES_128_XTS, &aes_128_xts_info }, + { MBEDTLS_CIPHER_AES_256_XTS, &aes_256_xts_info }, +#endif +#if defined(MBEDTLS_GCM_C) + { MBEDTLS_CIPHER_AES_128_GCM, &aes_128_gcm_info }, + { MBEDTLS_CIPHER_AES_192_GCM, &aes_192_gcm_info }, + { MBEDTLS_CIPHER_AES_256_GCM, &aes_256_gcm_info }, +#endif +#if defined(MBEDTLS_CCM_C) + { MBEDTLS_CIPHER_AES_128_CCM, &aes_128_ccm_info }, + { MBEDTLS_CIPHER_AES_192_CCM, &aes_192_ccm_info }, + { MBEDTLS_CIPHER_AES_256_CCM, &aes_256_ccm_info }, + { MBEDTLS_CIPHER_AES_128_CCM_STAR_NO_TAG, &aes_128_ccm_star_no_tag_info }, + { MBEDTLS_CIPHER_AES_192_CCM_STAR_NO_TAG, &aes_192_ccm_star_no_tag_info }, + { MBEDTLS_CIPHER_AES_256_CCM_STAR_NO_TAG, &aes_256_ccm_star_no_tag_info }, +#endif +#endif /* MBEDTLS_AES_C */ + +#if defined(MBEDTLS_CAMELLIA_C) + { MBEDTLS_CIPHER_CAMELLIA_128_ECB, &camellia_128_ecb_info }, + { MBEDTLS_CIPHER_CAMELLIA_192_ECB, &camellia_192_ecb_info }, + { MBEDTLS_CIPHER_CAMELLIA_256_ECB, &camellia_256_ecb_info }, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + { MBEDTLS_CIPHER_CAMELLIA_128_CBC, &camellia_128_cbc_info }, + { MBEDTLS_CIPHER_CAMELLIA_192_CBC, &camellia_192_cbc_info }, + { MBEDTLS_CIPHER_CAMELLIA_256_CBC, &camellia_256_cbc_info }, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + { MBEDTLS_CIPHER_CAMELLIA_128_CFB128, &camellia_128_cfb128_info }, + { MBEDTLS_CIPHER_CAMELLIA_192_CFB128, &camellia_192_cfb128_info }, + { MBEDTLS_CIPHER_CAMELLIA_256_CFB128, &camellia_256_cfb128_info }, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + { MBEDTLS_CIPHER_CAMELLIA_128_CTR, &camellia_128_ctr_info }, + { MBEDTLS_CIPHER_CAMELLIA_192_CTR, &camellia_192_ctr_info }, + { MBEDTLS_CIPHER_CAMELLIA_256_CTR, &camellia_256_ctr_info }, +#endif +#if defined(MBEDTLS_GCM_C) + { MBEDTLS_CIPHER_CAMELLIA_128_GCM, &camellia_128_gcm_info }, + { MBEDTLS_CIPHER_CAMELLIA_192_GCM, &camellia_192_gcm_info }, + { MBEDTLS_CIPHER_CAMELLIA_256_GCM, &camellia_256_gcm_info }, +#endif +#if defined(MBEDTLS_CCM_C) + { MBEDTLS_CIPHER_CAMELLIA_128_CCM, &camellia_128_ccm_info }, + { MBEDTLS_CIPHER_CAMELLIA_192_CCM, &camellia_192_ccm_info }, + { MBEDTLS_CIPHER_CAMELLIA_256_CCM, &camellia_256_ccm_info }, + { MBEDTLS_CIPHER_CAMELLIA_128_CCM_STAR_NO_TAG, &camellia_128_ccm_star_no_tag_info }, + { MBEDTLS_CIPHER_CAMELLIA_192_CCM_STAR_NO_TAG, &camellia_192_ccm_star_no_tag_info }, + { MBEDTLS_CIPHER_CAMELLIA_256_CCM_STAR_NO_TAG, &camellia_256_ccm_star_no_tag_info }, +#endif +#endif /* MBEDTLS_CAMELLIA_C */ + +#if defined(MBEDTLS_ARIA_C) + { MBEDTLS_CIPHER_ARIA_128_ECB, &aria_128_ecb_info }, + { MBEDTLS_CIPHER_ARIA_192_ECB, &aria_192_ecb_info }, + { MBEDTLS_CIPHER_ARIA_256_ECB, &aria_256_ecb_info }, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + { MBEDTLS_CIPHER_ARIA_128_CBC, &aria_128_cbc_info }, + { MBEDTLS_CIPHER_ARIA_192_CBC, &aria_192_cbc_info }, + { MBEDTLS_CIPHER_ARIA_256_CBC, &aria_256_cbc_info }, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CFB) + { MBEDTLS_CIPHER_ARIA_128_CFB128, &aria_128_cfb128_info }, + { MBEDTLS_CIPHER_ARIA_192_CFB128, &aria_192_cfb128_info }, + { MBEDTLS_CIPHER_ARIA_256_CFB128, &aria_256_cfb128_info }, +#endif +#if defined(MBEDTLS_CIPHER_MODE_CTR) + { MBEDTLS_CIPHER_ARIA_128_CTR, &aria_128_ctr_info }, + { MBEDTLS_CIPHER_ARIA_192_CTR, &aria_192_ctr_info }, + { MBEDTLS_CIPHER_ARIA_256_CTR, &aria_256_ctr_info }, +#endif +#if defined(MBEDTLS_GCM_C) + { MBEDTLS_CIPHER_ARIA_128_GCM, &aria_128_gcm_info }, + { MBEDTLS_CIPHER_ARIA_192_GCM, &aria_192_gcm_info }, + { MBEDTLS_CIPHER_ARIA_256_GCM, &aria_256_gcm_info }, +#endif +#if defined(MBEDTLS_CCM_C) + { MBEDTLS_CIPHER_ARIA_128_CCM, &aria_128_ccm_info }, + { MBEDTLS_CIPHER_ARIA_192_CCM, &aria_192_ccm_info }, + { MBEDTLS_CIPHER_ARIA_256_CCM, &aria_256_ccm_info }, + { MBEDTLS_CIPHER_ARIA_128_CCM_STAR_NO_TAG, &aria_128_ccm_star_no_tag_info }, + { MBEDTLS_CIPHER_ARIA_192_CCM_STAR_NO_TAG, &aria_192_ccm_star_no_tag_info }, + { MBEDTLS_CIPHER_ARIA_256_CCM_STAR_NO_TAG, &aria_256_ccm_star_no_tag_info }, +#endif +#endif /* MBEDTLS_ARIA_C */ + +#if defined(MBEDTLS_DES_C) + { MBEDTLS_CIPHER_DES_ECB, &des_ecb_info }, + { MBEDTLS_CIPHER_DES_EDE_ECB, &des_ede_ecb_info }, + { MBEDTLS_CIPHER_DES_EDE3_ECB, &des_ede3_ecb_info }, +#if defined(MBEDTLS_CIPHER_MODE_CBC) + { MBEDTLS_CIPHER_DES_CBC, &des_cbc_info }, + { MBEDTLS_CIPHER_DES_EDE_CBC, &des_ede_cbc_info }, + { MBEDTLS_CIPHER_DES_EDE3_CBC, &des_ede3_cbc_info }, +#endif +#endif /* MBEDTLS_DES_C */ + +#if defined(MBEDTLS_CHACHA20_C) + { MBEDTLS_CIPHER_CHACHA20, &chacha20_info }, +#endif + +#if defined(MBEDTLS_CHACHAPOLY_C) + { MBEDTLS_CIPHER_CHACHA20_POLY1305, &chachapoly_info }, +#endif + +#if defined(MBEDTLS_NIST_KW_C) + { MBEDTLS_CIPHER_AES_128_KW, &aes_128_nist_kw_info }, + { MBEDTLS_CIPHER_AES_192_KW, &aes_192_nist_kw_info }, + { MBEDTLS_CIPHER_AES_256_KW, &aes_256_nist_kw_info }, + { MBEDTLS_CIPHER_AES_128_KWP, &aes_128_nist_kwp_info }, + { MBEDTLS_CIPHER_AES_192_KWP, &aes_192_nist_kwp_info }, + { MBEDTLS_CIPHER_AES_256_KWP, &aes_256_nist_kwp_info }, +#endif + +#if defined(MBEDTLS_CIPHER_NULL_CIPHER) + { MBEDTLS_CIPHER_NULL, &null_cipher_info }, +#endif /* MBEDTLS_CIPHER_NULL_CIPHER */ + + { MBEDTLS_CIPHER_NONE, NULL } +}; + +#define NUM_CIPHERS ( sizeof(mbedtls_cipher_definitions) / \ + sizeof(mbedtls_cipher_definitions[0]) ) +int mbedtls_cipher_supported[NUM_CIPHERS]; + +#endif /* MBEDTLS_CIPHER_C */ diff --git a/third_party/mbedtls/library/cipher_wrap.h b/third_party/mbedtls/library/cipher_wrap.h new file mode 100644 index 000000000000..90563d85d087 --- /dev/null +++ b/third_party/mbedtls/library/cipher_wrap.h @@ -0,0 +1,146 @@ +/** + * \file cipher_wrap.h + * + * \brief Cipher wrappers. + * + * \author Adriaan de Jong + */ +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MBEDTLS_CIPHER_WRAP_H +#define MBEDTLS_CIPHER_WRAP_H + +#include "mbedtls/build_info.h" + +#include "mbedtls/cipher.h" + +#if defined(MBEDTLS_USE_PSA_CRYPTO) +#include "psa/crypto.h" +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Base cipher information. The non-mode specific functions and values. + */ +struct mbedtls_cipher_base_t +{ + /** Base Cipher type (e.g. MBEDTLS_CIPHER_ID_AES) */ + mbedtls_cipher_id_t cipher; + + /** Encrypt using ECB */ + int (*ecb_func)( void *ctx, mbedtls_operation_t mode, + const unsigned char *input, unsigned char *output ); + +#if defined(MBEDTLS_CIPHER_MODE_CBC) + /** Encrypt using CBC */ + int (*cbc_func)( void *ctx, mbedtls_operation_t mode, size_t length, + unsigned char *iv, const unsigned char *input, + unsigned char *output ); +#endif + +#if defined(MBEDTLS_CIPHER_MODE_CFB) + /** Encrypt using CFB (Full length) */ + int (*cfb_func)( void *ctx, mbedtls_operation_t mode, size_t length, size_t *iv_off, + unsigned char *iv, const unsigned char *input, + unsigned char *output ); +#endif + +#if defined(MBEDTLS_CIPHER_MODE_OFB) + /** Encrypt using OFB (Full length) */ + int (*ofb_func)( void *ctx, size_t length, size_t *iv_off, + unsigned char *iv, + const unsigned char *input, + unsigned char *output ); +#endif + +#if defined(MBEDTLS_CIPHER_MODE_CTR) + /** Encrypt using CTR */ + int (*ctr_func)( void *ctx, size_t length, size_t *nc_off, + unsigned char *nonce_counter, unsigned char *stream_block, + const unsigned char *input, unsigned char *output ); +#endif + +#if defined(MBEDTLS_CIPHER_MODE_XTS) + /** Encrypt or decrypt using XTS. */ + int (*xts_func)( void *ctx, mbedtls_operation_t mode, size_t length, + const unsigned char data_unit[16], + const unsigned char *input, unsigned char *output ); +#endif + +#if defined(MBEDTLS_CIPHER_MODE_STREAM) + /** Encrypt using STREAM */ + int (*stream_func)( void *ctx, size_t length, + const unsigned char *input, unsigned char *output ); +#endif + + /** Set key for encryption purposes */ + int (*setkey_enc_func)( void *ctx, const unsigned char *key, + unsigned int key_bitlen ); + + /** Set key for decryption purposes */ + int (*setkey_dec_func)( void *ctx, const unsigned char *key, + unsigned int key_bitlen); + + /** Allocate a new context */ + void * (*ctx_alloc_func)( void ); + + /** Free the given context */ + void (*ctx_free_func)( void *ctx ); + +}; + +typedef struct +{ + mbedtls_cipher_type_t type; + const mbedtls_cipher_info_t *info; +} mbedtls_cipher_definition_t; + +#if defined(MBEDTLS_USE_PSA_CRYPTO) +typedef enum +{ + MBEDTLS_CIPHER_PSA_KEY_UNSET = 0, + MBEDTLS_CIPHER_PSA_KEY_OWNED, /* Used for PSA-based cipher contexts which */ + /* use raw key material internally imported */ + /* as a volatile key, and which hence need */ + /* to destroy that key when the context is */ + /* freed. */ + MBEDTLS_CIPHER_PSA_KEY_NOT_OWNED, /* Used for PSA-based cipher contexts */ + /* which use a key provided by the */ + /* user, and which hence will not be */ + /* destroyed when the context is freed. */ +} mbedtls_cipher_psa_key_ownership; + +typedef struct +{ + psa_algorithm_t alg; + psa_key_id_t slot; + mbedtls_cipher_psa_key_ownership slot_state; +} mbedtls_cipher_context_psa; +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + +extern const mbedtls_cipher_definition_t mbedtls_cipher_definitions[]; + +extern int mbedtls_cipher_supported[]; + +#ifdef __cplusplus +} +#endif + +#endif /* MBEDTLS_CIPHER_WRAP_H */ diff --git a/third_party/mbedtls/library/entropy.cpp b/third_party/mbedtls/library/entropy.cpp new file mode 100644 index 000000000000..5e1f65f13473 --- /dev/null +++ b/third_party/mbedtls/library/entropy.cpp @@ -0,0 +1,701 @@ +/* + * Entropy accumulator implementation + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "common.h" + +#if defined(MBEDTLS_ENTROPY_C) + +#include "mbedtls/entropy.h" +#include "entropy_poll.h" +#include "mbedtls/platform_util.h" +#include "mbedtls/error.h" + +#include + +#if defined(MBEDTLS_FS_IO) +#include +#endif + +#if defined(MBEDTLS_ENTROPY_NV_SEED) +#include "mbedtls/platform.h" +#endif + +#if defined(MBEDTLS_SELF_TEST) +//#if defined(MBEDTLS_PLATFORM_C) +//#include "mbedtls/platform.h" +//#else +//#include +//#define mbedtls_printf printf +//#endif /* MBEDTLS_PLATFORM_C */ +#endif /* MBEDTLS_SELF_TEST */ + + +#define ENTROPY_MAX_LOOP 256 /**< Maximum amount to loop before error */ + +void mbedtls_entropy_init( mbedtls_entropy_context *ctx ) +{ + ctx->source_count = 0; + memset( ctx->source, 0, sizeof( ctx->source ) ); + +#if defined(MBEDTLS_THREADING_C) + mbedtls_mutex_init( &ctx->mutex ); +#endif + + ctx->accumulator_started = 0; +#if defined(MBEDTLS_ENTROPY_SHA512_ACCUMULATOR) + mbedtls_sha512_init( &ctx->accumulator ); +#else + mbedtls_sha256_init( &ctx->accumulator ); +#endif + + /* Reminder: Update ENTROPY_HAVE_STRONG in the test files + * when adding more strong entropy sources here. */ + +#if !defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES) +#if !defined(MBEDTLS_NO_PLATFORM_ENTROPY) + mbedtls_entropy_add_source( ctx, mbedtls_platform_entropy_poll, NULL, + MBEDTLS_ENTROPY_MIN_PLATFORM, + MBEDTLS_ENTROPY_SOURCE_STRONG ); +#endif +#if defined(MBEDTLS_ENTROPY_HARDWARE_ALT) + mbedtls_entropy_add_source( ctx, mbedtls_hardware_poll, NULL, + MBEDTLS_ENTROPY_MIN_HARDWARE, + MBEDTLS_ENTROPY_SOURCE_STRONG ); +#endif +#if defined(MBEDTLS_ENTROPY_NV_SEED) + mbedtls_entropy_add_source( ctx, mbedtls_nv_seed_poll, NULL, + MBEDTLS_ENTROPY_BLOCK_SIZE, + MBEDTLS_ENTROPY_SOURCE_STRONG ); + ctx->initial_entropy_run = 0; +#endif +#endif /* MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES */ +} + +void mbedtls_entropy_free( mbedtls_entropy_context *ctx ) +{ + /* If the context was already free, don't call free() again. + * This is important for mutexes which don't allow double-free. */ + if( ctx->accumulator_started == -1 ) + return; + +#if defined(MBEDTLS_THREADING_C) + mbedtls_mutex_free( &ctx->mutex ); +#endif +#if defined(MBEDTLS_ENTROPY_SHA512_ACCUMULATOR) + mbedtls_sha512_free( &ctx->accumulator ); +#else + mbedtls_sha256_free( &ctx->accumulator ); +#endif +#if defined(MBEDTLS_ENTROPY_NV_SEED) + ctx->initial_entropy_run = 0; +#endif + ctx->source_count = 0; + mbedtls_platform_zeroize( ctx->source, sizeof( ctx->source ) ); + ctx->accumulator_started = -1; +} + +int mbedtls_entropy_add_source( mbedtls_entropy_context *ctx, + mbedtls_entropy_f_source_ptr f_source, void *p_source, + size_t threshold, int strong ) +{ + int idx, ret = 0; + +#if defined(MBEDTLS_THREADING_C) + if( ( ret = mbedtls_mutex_lock( &ctx->mutex ) ) != 0 ) + return( ret ); +#endif + + idx = ctx->source_count; + if( idx >= MBEDTLS_ENTROPY_MAX_SOURCES ) + { + ret = MBEDTLS_ERR_ENTROPY_MAX_SOURCES; + goto exit; + } + + ctx->source[idx].f_source = f_source; + ctx->source[idx].p_source = p_source; + ctx->source[idx].threshold = threshold; + ctx->source[idx].strong = strong; + + ctx->source_count++; + +exit: +#if defined(MBEDTLS_THREADING_C) + if( mbedtls_mutex_unlock( &ctx->mutex ) != 0 ) + return( MBEDTLS_ERR_THREADING_MUTEX_ERROR ); +#endif + + return( ret ); +} + +/* + * Entropy accumulator update + */ +static int entropy_update( mbedtls_entropy_context *ctx, unsigned char source_id, + const unsigned char *data, size_t len ) +{ + unsigned char header[2]; + unsigned char tmp[MBEDTLS_ENTROPY_BLOCK_SIZE]; + size_t use_len = len; + const unsigned char *p = data; + int ret = 0; + + if( use_len > MBEDTLS_ENTROPY_BLOCK_SIZE ) + { +#if defined(MBEDTLS_ENTROPY_SHA512_ACCUMULATOR) + if( ( ret = mbedtls_sha512( data, len, tmp, 0 ) ) != 0 ) + goto cleanup; +#else + if( ( ret = mbedtls_sha256( data, len, tmp, 0 ) ) != 0 ) + goto cleanup; +#endif + p = tmp; + use_len = MBEDTLS_ENTROPY_BLOCK_SIZE; + } + + header[0] = source_id; + header[1] = use_len & 0xFF; + + /* + * Start the accumulator if this has not already happened. Note that + * it is sufficient to start the accumulator here only because all calls to + * gather entropy eventually execute this code. + */ +#if defined(MBEDTLS_ENTROPY_SHA512_ACCUMULATOR) + if( ctx->accumulator_started == 0 && + ( ret = mbedtls_sha512_starts( &ctx->accumulator, 0 ) ) != 0 ) + goto cleanup; + else + ctx->accumulator_started = 1; + if( ( ret = mbedtls_sha512_update( &ctx->accumulator, header, 2 ) ) != 0 ) + goto cleanup; + ret = mbedtls_sha512_update( &ctx->accumulator, p, use_len ); +#else + if( ctx->accumulator_started == 0 && + ( ret = mbedtls_sha256_starts( &ctx->accumulator, 0 ) ) != 0 ) + goto cleanup; + else + ctx->accumulator_started = 1; + if( ( ret = mbedtls_sha256_update( &ctx->accumulator, header, 2 ) ) != 0 ) + goto cleanup; + ret = mbedtls_sha256_update( &ctx->accumulator, p, use_len ); +#endif + +cleanup: + mbedtls_platform_zeroize( tmp, sizeof( tmp ) ); + + return( ret ); +} + +int mbedtls_entropy_update_manual( mbedtls_entropy_context *ctx, + const unsigned char *data, size_t len ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + +#if defined(MBEDTLS_THREADING_C) + if( ( ret = mbedtls_mutex_lock( &ctx->mutex ) ) != 0 ) + return( ret ); +#endif + + ret = entropy_update( ctx, MBEDTLS_ENTROPY_SOURCE_MANUAL, data, len ); + +#if defined(MBEDTLS_THREADING_C) + if( mbedtls_mutex_unlock( &ctx->mutex ) != 0 ) + return( MBEDTLS_ERR_THREADING_MUTEX_ERROR ); +#endif + + return( ret ); +} + +/* + * Run through the different sources to add entropy to our accumulator + */ +static int entropy_gather_internal( mbedtls_entropy_context *ctx ) +{ + int ret = MBEDTLS_ERR_ENTROPY_SOURCE_FAILED; + int i; + int have_one_strong = 0; + unsigned char buf[MBEDTLS_ENTROPY_MAX_GATHER]; + size_t olen; + + if( ctx->source_count == 0 ) + return( MBEDTLS_ERR_ENTROPY_NO_SOURCES_DEFINED ); + + /* + * Run through our entropy sources + */ + for( i = 0; i < ctx->source_count; i++ ) + { + if( ctx->source[i].strong == MBEDTLS_ENTROPY_SOURCE_STRONG ) + have_one_strong = 1; + + olen = 0; + if( ( ret = ctx->source[i].f_source( ctx->source[i].p_source, + buf, MBEDTLS_ENTROPY_MAX_GATHER, &olen ) ) != 0 ) + { + goto cleanup; + } + + /* + * Add if we actually gathered something + */ + if( olen > 0 ) + { + if( ( ret = entropy_update( ctx, (unsigned char) i, + buf, olen ) ) != 0 ) + return( ret ); + ctx->source[i].size += olen; + } + } + + if( have_one_strong == 0 ) + ret = MBEDTLS_ERR_ENTROPY_NO_STRONG_SOURCE; + +cleanup: + mbedtls_platform_zeroize( buf, sizeof( buf ) ); + + return( ret ); +} + +/* + * Thread-safe wrapper for entropy_gather_internal() + */ +int mbedtls_entropy_gather( mbedtls_entropy_context *ctx ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + +#if defined(MBEDTLS_THREADING_C) + if( ( ret = mbedtls_mutex_lock( &ctx->mutex ) ) != 0 ) + return( ret ); +#endif + + ret = entropy_gather_internal( ctx ); + +#if defined(MBEDTLS_THREADING_C) + if( mbedtls_mutex_unlock( &ctx->mutex ) != 0 ) + return( MBEDTLS_ERR_THREADING_MUTEX_ERROR ); +#endif + + return( ret ); +} + +int mbedtls_entropy_func( void *data, unsigned char *output, size_t len ) +{ + int ret, count = 0, i, thresholds_reached; + size_t strong_size; + mbedtls_entropy_context *ctx = (mbedtls_entropy_context *) data; + unsigned char buf[MBEDTLS_ENTROPY_BLOCK_SIZE]; + + if( len > MBEDTLS_ENTROPY_BLOCK_SIZE ) + return( MBEDTLS_ERR_ENTROPY_SOURCE_FAILED ); + +#if defined(MBEDTLS_ENTROPY_NV_SEED) + /* Update the NV entropy seed before generating any entropy for outside + * use. + */ + if( ctx->initial_entropy_run == 0 ) + { + ctx->initial_entropy_run = 1; + if( ( ret = mbedtls_entropy_update_nv_seed( ctx ) ) != 0 ) + return( ret ); + } +#endif + +#if defined(MBEDTLS_THREADING_C) + if( ( ret = mbedtls_mutex_lock( &ctx->mutex ) ) != 0 ) + return( ret ); +#endif + + /* + * Always gather extra entropy before a call + */ + do + { + if( count++ > ENTROPY_MAX_LOOP ) + { + ret = MBEDTLS_ERR_ENTROPY_SOURCE_FAILED; + goto exit; + } + + if( ( ret = entropy_gather_internal( ctx ) ) != 0 ) + goto exit; + + thresholds_reached = 1; + strong_size = 0; + for( i = 0; i < ctx->source_count; i++ ) + { + if( ctx->source[i].size < ctx->source[i].threshold ) + thresholds_reached = 0; + if( ctx->source[i].strong == MBEDTLS_ENTROPY_SOURCE_STRONG ) + strong_size += ctx->source[i].size; + } + } + while( ! thresholds_reached || strong_size < MBEDTLS_ENTROPY_BLOCK_SIZE ); + + memset( buf, 0, MBEDTLS_ENTROPY_BLOCK_SIZE ); + +#if defined(MBEDTLS_ENTROPY_SHA512_ACCUMULATOR) + /* + * Note that at this stage it is assumed that the accumulator was started + * in a previous call to entropy_update(). If this is not guaranteed, the + * code below will fail. + */ + if( ( ret = mbedtls_sha512_finish( &ctx->accumulator, buf ) ) != 0 ) + goto exit; + + /* + * Reset accumulator and counters and recycle existing entropy + */ + mbedtls_sha512_free( &ctx->accumulator ); + mbedtls_sha512_init( &ctx->accumulator ); + if( ( ret = mbedtls_sha512_starts( &ctx->accumulator, 0 ) ) != 0 ) + goto exit; + if( ( ret = mbedtls_sha512_update( &ctx->accumulator, buf, + MBEDTLS_ENTROPY_BLOCK_SIZE ) ) != 0 ) + goto exit; + + /* + * Perform second SHA-512 on entropy + */ + if( ( ret = mbedtls_sha512( buf, MBEDTLS_ENTROPY_BLOCK_SIZE, + buf, 0 ) ) != 0 ) + goto exit; +#else /* MBEDTLS_ENTROPY_SHA512_ACCUMULATOR */ + if( ( ret = mbedtls_sha256_finish( &ctx->accumulator, buf ) ) != 0 ) + goto exit; + + /* + * Reset accumulator and counters and recycle existing entropy + */ + mbedtls_sha256_free( &ctx->accumulator ); + mbedtls_sha256_init( &ctx->accumulator ); + if( ( ret = mbedtls_sha256_starts( &ctx->accumulator, 0 ) ) != 0 ) + goto exit; + if( ( ret = mbedtls_sha256_update( &ctx->accumulator, buf, + MBEDTLS_ENTROPY_BLOCK_SIZE ) ) != 0 ) + goto exit; + + /* + * Perform second SHA-256 on entropy + */ + if( ( ret = mbedtls_sha256( buf, MBEDTLS_ENTROPY_BLOCK_SIZE, + buf, 0 ) ) != 0 ) + goto exit; +#endif /* MBEDTLS_ENTROPY_SHA512_ACCUMULATOR */ + + for( i = 0; i < ctx->source_count; i++ ) + ctx->source[i].size = 0; + + memcpy( output, buf, len ); + + ret = 0; + +exit: + mbedtls_platform_zeroize( buf, sizeof( buf ) ); + +#if defined(MBEDTLS_THREADING_C) + if( mbedtls_mutex_unlock( &ctx->mutex ) != 0 ) + return( MBEDTLS_ERR_THREADING_MUTEX_ERROR ); +#endif + + return( ret ); +} + +#if defined(MBEDTLS_ENTROPY_NV_SEED) +int mbedtls_entropy_update_nv_seed( mbedtls_entropy_context *ctx ) +{ + int ret = MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR; + unsigned char buf[MBEDTLS_ENTROPY_BLOCK_SIZE]; + + /* Read new seed and write it to NV */ + if( ( ret = mbedtls_entropy_func( ctx, buf, MBEDTLS_ENTROPY_BLOCK_SIZE ) ) != 0 ) + return( ret ); + + if( mbedtls_nv_seed_write( buf, MBEDTLS_ENTROPY_BLOCK_SIZE ) < 0 ) + return( MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR ); + + /* Manually update the remaining stream with a separator value to diverge */ + memset( buf, 0, MBEDTLS_ENTROPY_BLOCK_SIZE ); + ret = mbedtls_entropy_update_manual( ctx, buf, MBEDTLS_ENTROPY_BLOCK_SIZE ); + + return( ret ); +} +#endif /* MBEDTLS_ENTROPY_NV_SEED */ + +#if defined(MBEDTLS_FS_IO) +int mbedtls_entropy_write_seed_file( mbedtls_entropy_context *ctx, const char *path ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + FILE *f = NULL; + unsigned char buf[MBEDTLS_ENTROPY_BLOCK_SIZE]; + + if( ( ret = mbedtls_entropy_func( ctx, buf, MBEDTLS_ENTROPY_BLOCK_SIZE ) ) != 0 ) + { + ret = MBEDTLS_ERR_ENTROPY_SOURCE_FAILED; + goto exit; + } + + if( ( f = fopen( path, "wb" ) ) == NULL ) + { + ret = MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR; + goto exit; + } + + if( fwrite( buf, 1, MBEDTLS_ENTROPY_BLOCK_SIZE, f ) != MBEDTLS_ENTROPY_BLOCK_SIZE ) + { + ret = MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR; + goto exit; + } + + ret = 0; + +exit: + mbedtls_platform_zeroize( buf, sizeof( buf ) ); + + if( f != NULL ) + fclose( f ); + + return( ret ); +} + +int mbedtls_entropy_update_seed_file( mbedtls_entropy_context *ctx, const char *path ) +{ + int ret = 0; + FILE *f; + size_t n; + unsigned char buf[ MBEDTLS_ENTROPY_MAX_SEED_SIZE ]; + + if( ( f = fopen( path, "rb" ) ) == NULL ) + return( MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR ); + + fseek( f, 0, SEEK_END ); + n = (size_t) ftell( f ); + fseek( f, 0, SEEK_SET ); + + if( n > MBEDTLS_ENTROPY_MAX_SEED_SIZE ) + n = MBEDTLS_ENTROPY_MAX_SEED_SIZE; + + if( fread( buf, 1, n, f ) != n ) + ret = MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR; + else + ret = mbedtls_entropy_update_manual( ctx, buf, n ); + + fclose( f ); + + mbedtls_platform_zeroize( buf, sizeof( buf ) ); + + if( ret != 0 ) + return( ret ); + + return( mbedtls_entropy_write_seed_file( ctx, path ) ); +} +#endif /* MBEDTLS_FS_IO */ + +#if defined(MBEDTLS_SELF_TEST) +/* + * Dummy source function + */ +static int entropy_dummy_source( void *data, unsigned char *output, + size_t len, size_t *olen ) +{ + ((void) data); + + memset( output, 0x2a, len ); + *olen = len; + + return( 0 ); +} + +#if defined(MBEDTLS_ENTROPY_HARDWARE_ALT) + +static int mbedtls_entropy_source_self_test_gather( unsigned char *buf, size_t buf_len ) +{ + int ret = 0; + size_t entropy_len = 0; + size_t olen = 0; + size_t attempts = buf_len; + + while( attempts > 0 && entropy_len < buf_len ) + { + if( ( ret = mbedtls_hardware_poll( NULL, buf + entropy_len, + buf_len - entropy_len, &olen ) ) != 0 ) + return( ret ); + + entropy_len += olen; + attempts--; + } + + if( entropy_len < buf_len ) + { + ret = 1; + } + + return( ret ); +} + + +static int mbedtls_entropy_source_self_test_check_bits( const unsigned char *buf, + size_t buf_len ) +{ + unsigned char set= 0xFF; + unsigned char unset = 0x00; + size_t i; + + for( i = 0; i < buf_len; i++ ) + { + set &= buf[i]; + unset |= buf[i]; + } + + return( set == 0xFF || unset == 0x00 ); +} + +/* + * A test to ensure hat the entropy sources are functioning correctly + * and there is no obvious failure. The test performs the following checks: + * - The entropy source is not providing only 0s (all bits unset) or 1s (all + * bits set). + * - The entropy source is not providing values in a pattern. Because the + * hardware could be providing data in an arbitrary length, this check polls + * the hardware entropy source twice and compares the result to ensure they + * are not equal. + * - The error code returned by the entropy source is not an error. + */ +int mbedtls_entropy_source_self_test( int verbose ) +{ + int ret = 0; + unsigned char buf0[2 * sizeof( unsigned long long int )]; + unsigned char buf1[2 * sizeof( unsigned long long int )]; + + if( verbose != 0 ) + mbedtls_printf( " ENTROPY_BIAS test: " ); + + memset( buf0, 0x00, sizeof( buf0 ) ); + memset( buf1, 0x00, sizeof( buf1 ) ); + + if( ( ret = mbedtls_entropy_source_self_test_gather( buf0, sizeof( buf0 ) ) ) != 0 ) + goto cleanup; + if( ( ret = mbedtls_entropy_source_self_test_gather( buf1, sizeof( buf1 ) ) ) != 0 ) + goto cleanup; + + /* Make sure that the returned values are not all 0 or 1 */ + if( ( ret = mbedtls_entropy_source_self_test_check_bits( buf0, sizeof( buf0 ) ) ) != 0 ) + goto cleanup; + if( ( ret = mbedtls_entropy_source_self_test_check_bits( buf1, sizeof( buf1 ) ) ) != 0 ) + goto cleanup; + + /* Make sure that the entropy source is not returning values in a + * pattern */ + ret = memcmp( buf0, buf1, sizeof( buf0 ) ) == 0; + +cleanup: + if( verbose != 0 ) + { + if( ret != 0 ) + mbedtls_printf( "failed\n" ); + else + mbedtls_printf( "passed\n" ); + + mbedtls_printf( "\n" ); + } + + return( ret != 0 ); +} + +#endif /* MBEDTLS_ENTROPY_HARDWARE_ALT */ + +/* + * The actual entropy quality is hard to test, but we can at least + * test that the functions don't cause errors and write the correct + * amount of data to buffers. + */ +int mbedtls_entropy_self_test( int verbose ) +{ + int ret = 1; + mbedtls_entropy_context ctx; + unsigned char buf[MBEDTLS_ENTROPY_BLOCK_SIZE] = { 0 }; + unsigned char acc[MBEDTLS_ENTROPY_BLOCK_SIZE] = { 0 }; + size_t i, j; + + if( verbose != 0 ) + mbedtls_printf( " ENTROPY test: " ); + + mbedtls_entropy_init( &ctx ); + + /* First do a gather to make sure we have default sources */ + if( ( ret = mbedtls_entropy_gather( &ctx ) ) != 0 ) + goto cleanup; + + ret = mbedtls_entropy_add_source( &ctx, entropy_dummy_source, NULL, 16, + MBEDTLS_ENTROPY_SOURCE_WEAK ); + if( ret != 0 ) + goto cleanup; + + if( ( ret = mbedtls_entropy_update_manual( &ctx, buf, sizeof buf ) ) != 0 ) + goto cleanup; + + /* + * To test that mbedtls_entropy_func writes correct number of bytes: + * - use the whole buffer and rely on ASan to detect overruns + * - collect entropy 8 times and OR the result in an accumulator: + * any byte should then be 0 with probably 2^(-64), so requiring + * each of the 32 or 64 bytes to be non-zero has a false failure rate + * of at most 2^(-58) which is acceptable. + */ + for( i = 0; i < 8; i++ ) + { + if( ( ret = mbedtls_entropy_func( &ctx, buf, sizeof( buf ) ) ) != 0 ) + goto cleanup; + + for( j = 0; j < sizeof( buf ); j++ ) + acc[j] |= buf[j]; + } + + for( j = 0; j < sizeof( buf ); j++ ) + { + if( acc[j] == 0 ) + { + ret = 1; + goto cleanup; + } + } + +#if defined(MBEDTLS_ENTROPY_HARDWARE_ALT) + if( ( ret = mbedtls_entropy_source_self_test( 0 ) ) != 0 ) + goto cleanup; +#endif + +cleanup: + mbedtls_entropy_free( &ctx ); + + if( verbose != 0 ) + { + if( ret != 0 ) + mbedtls_printf( "failed\n" ); + else + mbedtls_printf( "passed\n" ); + + mbedtls_printf( "\n" ); + } + + return( ret != 0 ); +} +#endif /* MBEDTLS_SELF_TEST */ + +#endif /* MBEDTLS_ENTROPY_C */ diff --git a/third_party/mbedtls/library/entropy_poll.cpp b/third_party/mbedtls/library/entropy_poll.cpp new file mode 100644 index 000000000000..c894fb6b3ed4 --- /dev/null +++ b/third_party/mbedtls/library/entropy_poll.cpp @@ -0,0 +1,237 @@ +/* + * Platform-specific and custom entropy polling functions + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined(__linux__) && !defined(_GNU_SOURCE) +/* Ensure that syscall() is available even when compiling with -std=c99 */ +#define _GNU_SOURCE +#endif + +#include "common.h" + +#include + +#if defined(MBEDTLS_ENTROPY_C) + +#include "mbedtls/entropy.h" +#include "entropy_poll.h" +#include "mbedtls/error.h" + +#if defined(MBEDTLS_TIMING_C) +#include "mbedtls/timing.h" +#endif +#if defined(MBEDTLS_ENTROPY_NV_SEED) +#include "mbedtls/platform.h" +#endif + +#if !defined(MBEDTLS_NO_PLATFORM_ENTROPY) + +#if !defined(unix) && !defined(__unix__) && !defined(__unix) && \ + !defined(__APPLE__) && !defined(_WIN32) && !defined(__QNXNTO__) && \ + !defined(__HAIKU__) && !defined(__midipix__) && !defined(__MVS__) +#error "Platform entropy sources only work on Unix and Windows, see MBEDTLS_NO_PLATFORM_ENTROPY in mbedtls_config.h" +#endif + +#if defined(_WIN32) && !defined(EFIX64) && !defined(EFI32) + +#if !defined(_WIN32_WINNT) +#define _WIN32_WINNT 0x0400 +#endif +#include +#include + +int mbedtls_platform_entropy_poll( void *data, unsigned char *output, size_t len, + size_t *olen ) +{ + HCRYPTPROV provider; + ((void) data); + *olen = 0; + + if( CryptAcquireContext( &provider, NULL, NULL, + PROV_RSA_FULL, CRYPT_VERIFYCONTEXT ) == FALSE ) + { + return( MBEDTLS_ERR_ENTROPY_SOURCE_FAILED ); + } + + if( CryptGenRandom( provider, (DWORD) len, output ) == FALSE ) + { + CryptReleaseContext( provider, 0 ); + return( MBEDTLS_ERR_ENTROPY_SOURCE_FAILED ); + } + + CryptReleaseContext( provider, 0 ); + *olen = len; + + return( 0 ); +} +#else /* _WIN32 && !EFIX64 && !EFI32 */ + +/* + * Test for Linux getrandom() support. + * Since there is no wrapper in the libc yet, use the generic syscall wrapper + * available in GNU libc and compatible libc's (eg uClibc). + */ +#if ((defined(__linux__) && defined(__GLIBC__)) || defined(__midipix__)) +#include +#include +#if defined(SYS_getrandom) +#define HAVE_GETRANDOM +#include + +static int getrandom_wrapper( void *buf, size_t buflen, unsigned int flags ) +{ + /* MemSan cannot understand that the syscall writes to the buffer */ +#if defined(__has_feature) +#if __has_feature(memory_sanitizer) + memset( buf, 0, buflen ); +#endif +#endif + return( syscall( SYS_getrandom, buf, buflen, flags ) ); +} +#endif /* SYS_getrandom */ +#endif /* __linux__ || __midipix__ */ + +#if defined(__FreeBSD__) || defined(__DragonFly__) +#include +#if (defined(__FreeBSD__) && __FreeBSD_version >= 1200000) || \ + (defined(__DragonFly__) && __DragonFly_version >= 500700) +#include +#include +#define HAVE_GETRANDOM +static int getrandom_wrapper( void *buf, size_t buflen, unsigned int flags ) +{ + return getrandom( buf, buflen, flags ); +} +#endif /* (__FreeBSD__ && __FreeBSD_version >= 1200000) || + (__DragonFly__ && __DragonFly_version >= 500700) */ +#endif /* __FreeBSD__ || __DragonFly__ */ + +/* + * Some BSD systems provide KERN_ARND. + * This is equivalent to reading from /dev/urandom, only it doesn't require an + * open file descriptor, and provides up to 256 bytes per call (basically the + * same as getentropy(), but with a longer history). + * + * Documentation: https://netbsd.gw.com/cgi-bin/man-cgi?sysctl+7 + */ +#if (defined(__FreeBSD__) || defined(__NetBSD__)) && !defined(HAVE_GETRANDOM) +#include +#include +#if defined(KERN_ARND) +#define HAVE_SYSCTL_ARND + +static int sysctl_arnd_wrapper( unsigned char *buf, size_t buflen ) +{ + int name[2]; + size_t len; + + name[0] = CTL_KERN; + name[1] = KERN_ARND; + + while( buflen > 0 ) + { + len = buflen > 256 ? 256 : buflen; + if( sysctl(name, 2, buf, &len, NULL, 0) == -1 ) + return( -1 ); + buflen -= len; + buf += len; + } + return( 0 ); +} +#endif /* KERN_ARND */ +#endif /* __FreeBSD__ || __NetBSD__ */ + +#include + +int mbedtls_platform_entropy_poll( void *data, + unsigned char *output, size_t len, size_t *olen ) +{ + FILE *file; + size_t read_len; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + ((void) data); + +#if defined(HAVE_GETRANDOM) + ret = getrandom_wrapper( output, len, 0 ); + if( ret >= 0 ) + { + *olen = ret; + return( 0 ); + } + else if( errno != ENOSYS ) + return( MBEDTLS_ERR_ENTROPY_SOURCE_FAILED ); + /* Fall through if the system call isn't known. */ +#else + ((void) ret); +#endif /* HAVE_GETRANDOM */ + +#if defined(HAVE_SYSCTL_ARND) + ((void) file); + ((void) read_len); + if( sysctl_arnd_wrapper( output, len ) == -1 ) + return( MBEDTLS_ERR_ENTROPY_SOURCE_FAILED ); + *olen = len; + return( 0 ); +#else + + *olen = 0; + + file = fopen( "/dev/urandom", "rb" ); + if( file == NULL ) + return( MBEDTLS_ERR_ENTROPY_SOURCE_FAILED ); + + read_len = fread( output, 1, len, file ); + if( read_len != len ) + { + fclose( file ); + return( MBEDTLS_ERR_ENTROPY_SOURCE_FAILED ); + } + + fclose( file ); + *olen = len; + + return( 0 ); +#endif /* HAVE_SYSCTL_ARND */ +} +#endif /* _WIN32 && !EFIX64 && !EFI32 */ +#endif /* !MBEDTLS_NO_PLATFORM_ENTROPY */ + +#if defined(MBEDTLS_ENTROPY_NV_SEED) +int mbedtls_nv_seed_poll( void *data, + unsigned char *output, size_t len, size_t *olen ) +{ + unsigned char buf[MBEDTLS_ENTROPY_BLOCK_SIZE]; + size_t use_len = MBEDTLS_ENTROPY_BLOCK_SIZE; + ((void) data); + + memset( buf, 0, MBEDTLS_ENTROPY_BLOCK_SIZE ); + + if( mbedtls_nv_seed_read( buf, MBEDTLS_ENTROPY_BLOCK_SIZE ) < 0 ) + return( MBEDTLS_ERR_ENTROPY_SOURCE_FAILED ); + + if( len < use_len ) + use_len = len; + + memcpy( output, buf, use_len ); + *olen = use_len; + + return( 0 ); +} +#endif /* MBEDTLS_ENTROPY_NV_SEED */ + +#endif /* MBEDTLS_ENTROPY_C */ diff --git a/third_party/mbedtls/library/entropy_poll.h b/third_party/mbedtls/library/entropy_poll.h new file mode 100644 index 000000000000..aef1a0977d41 --- /dev/null +++ b/third_party/mbedtls/library/entropy_poll.h @@ -0,0 +1,76 @@ +/** + * \file entropy_poll.h + * + * \brief Platform-specific and custom entropy polling functions + */ +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MBEDTLS_ENTROPY_POLL_H +#define MBEDTLS_ENTROPY_POLL_H + +#include "mbedtls/build_info.h" + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Default thresholds for built-in sources, in bytes + */ +#define MBEDTLS_ENTROPY_MIN_PLATFORM 32 /**< Minimum for platform source */ +#if !defined(MBEDTLS_ENTROPY_MIN_HARDWARE) +#define MBEDTLS_ENTROPY_MIN_HARDWARE 32 /**< Minimum for the hardware source */ +#endif + +#if !defined(MBEDTLS_NO_PLATFORM_ENTROPY) +/** + * \brief Platform-specific entropy poll callback + */ +int mbedtls_platform_entropy_poll( void *data, + unsigned char *output, size_t len, size_t *olen ); +#endif + +#if defined(MBEDTLS_ENTROPY_HARDWARE_ALT) +/** + * \brief Entropy poll callback for a hardware source + * + * \warning This is not provided by mbed TLS! + * See \c MBEDTLS_ENTROPY_HARDWARE_ALT in mbedtls_config.h. + * + * \note This must accept NULL as its first argument. + */ +int mbedtls_hardware_poll( void *data, + unsigned char *output, size_t len, size_t *olen ); +#endif + +#if defined(MBEDTLS_ENTROPY_NV_SEED) +/** + * \brief Entropy poll callback for a non-volatile seed file + * + * \note This must accept NULL as its first argument. + */ +int mbedtls_nv_seed_poll( void *data, + unsigned char *output, size_t len, size_t *olen ); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* entropy_poll.h */ diff --git a/third_party/mbedtls/library/gcm.cpp b/third_party/mbedtls/library/gcm.cpp new file mode 100644 index 000000000000..8505cf4e07b5 --- /dev/null +++ b/third_party/mbedtls/library/gcm.cpp @@ -0,0 +1,1161 @@ +/* + * NIST SP800-38D compliant GCM implementation + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf + * + * See also: + * [MGV] http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-revised-spec.pdf + * + * We use the algorithm described as Shoup's method with 4-bit tables in + * [MGV] 4.1, pp. 12-13, to enhance speed without using too much memory. + */ + +#include "common.h" + +#if defined(MBEDTLS_GCM_C) + +#include "mbedtls/gcm.h" +#include "mbedtls/platform_util.h" +#include "mbedtls/error.h" + +#include + +#if defined(MBEDTLS_AESNI_C) +#include "aesni.h" +#endif + +#if defined(MBEDTLS_SELF_TEST) && defined(MBEDTLS_AES_C) +#include "mbedtls/aes.h" +#include "mbedtls/platform.h" +#if !defined(MBEDTLS_PLATFORM_C) +#include +#define mbedtls_printf printf +#endif /* MBEDTLS_PLATFORM_C */ +#endif /* MBEDTLS_SELF_TEST && MBEDTLS_AES_C */ + +#if !defined(MBEDTLS_GCM_ALT) + +/* Parameter validation macros */ +#define GCM_VALIDATE_RET( cond ) \ + MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_GCM_BAD_INPUT ) +#define GCM_VALIDATE( cond ) \ + MBEDTLS_INTERNAL_VALIDATE( cond ) + +/* + * Initialize a context + */ +void mbedtls_gcm_init( mbedtls_gcm_context *ctx ) +{ + GCM_VALIDATE( ctx != NULL ); + memset( ctx, 0, sizeof( mbedtls_gcm_context ) ); +} + +/* + * Precompute small multiples of H, that is set + * HH[i] || HL[i] = H times i, + * where i is seen as a field element as in [MGV], ie high-order bits + * correspond to low powers of P. The result is stored in the same way, that + * is the high-order bit of HH corresponds to P^0 and the low-order bit of HL + * corresponds to P^127. + */ +static int gcm_gen_table( mbedtls_gcm_context *ctx ) +{ + int ret, i, j; + uint64_t hi, lo; + uint64_t vl, vh; + unsigned char h[16]; + size_t olen = 0; + + memset( h, 0, 16 ); + if( ( ret = mbedtls_cipher_update( &ctx->cipher_ctx, h, 16, h, &olen ) ) != 0 ) + return( ret ); + + /* pack h as two 64-bits ints, big-endian */ + hi = MBEDTLS_GET_UINT32_BE( h, 0 ); + lo = MBEDTLS_GET_UINT32_BE( h, 4 ); + vh = (uint64_t) hi << 32 | lo; + + hi = MBEDTLS_GET_UINT32_BE( h, 8 ); + lo = MBEDTLS_GET_UINT32_BE( h, 12 ); + vl = (uint64_t) hi << 32 | lo; + + /* 8 = 1000 corresponds to 1 in GF(2^128) */ + ctx->HL[8] = vl; + ctx->HH[8] = vh; + +#if defined(MBEDTLS_AESNI_C) && defined(MBEDTLS_HAVE_X86_64) + /* With CLMUL support, we need only h, not the rest of the table */ + if( mbedtls_aesni_has_support( MBEDTLS_AESNI_CLMUL ) ) + return( 0 ); +#endif + + /* 0 corresponds to 0 in GF(2^128) */ + ctx->HH[0] = 0; + ctx->HL[0] = 0; + + for( i = 4; i > 0; i >>= 1 ) + { + uint32_t T = ( vl & 1 ) * 0xe1000000U; + vl = ( vh << 63 ) | ( vl >> 1 ); + vh = ( vh >> 1 ) ^ ( (uint64_t) T << 32); + + ctx->HL[i] = vl; + ctx->HH[i] = vh; + } + + for( i = 2; i <= 8; i *= 2 ) + { + uint64_t *HiL = ctx->HL + i, *HiH = ctx->HH + i; + vh = *HiH; + vl = *HiL; + for( j = 1; j < i; j++ ) + { + HiH[j] = vh ^ ctx->HH[j]; + HiL[j] = vl ^ ctx->HL[j]; + } + } + + return( 0 ); +} + +int mbedtls_gcm_setkey( mbedtls_gcm_context *ctx, + mbedtls_cipher_id_t cipher, + const unsigned char *key, + unsigned int keybits ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + const mbedtls_cipher_info_t *cipher_info; + + GCM_VALIDATE_RET( ctx != NULL ); + GCM_VALIDATE_RET( key != NULL ); + GCM_VALIDATE_RET( keybits == 128 || keybits == 192 || keybits == 256 ); + + cipher_info = mbedtls_cipher_info_from_values( cipher, keybits, + MBEDTLS_MODE_ECB ); + if( cipher_info == NULL ) + return( MBEDTLS_ERR_GCM_BAD_INPUT ); + + if( cipher_info->block_size != 16 ) + return( MBEDTLS_ERR_GCM_BAD_INPUT ); + + mbedtls_cipher_free( &ctx->cipher_ctx ); + + if( ( ret = mbedtls_cipher_setup( &ctx->cipher_ctx, cipher_info ) ) != 0 ) + return( ret ); + + if( ( ret = mbedtls_cipher_setkey( &ctx->cipher_ctx, key, keybits, + MBEDTLS_ENCRYPT ) ) != 0 ) + { + return( ret ); + } + + if( ( ret = gcm_gen_table( ctx ) ) != 0 ) + return( ret ); + + return( 0 ); +} + +/* + * Shoup's method for multiplication use this table with + * last4[x] = x times P^128 + * where x and last4[x] are seen as elements of GF(2^128) as in [MGV] + */ +static const uint64_t last4[16] = +{ + 0x0000, 0x1c20, 0x3840, 0x2460, + 0x7080, 0x6ca0, 0x48c0, 0x54e0, + 0xe100, 0xfd20, 0xd940, 0xc560, + 0x9180, 0x8da0, 0xa9c0, 0xb5e0 +}; + +/* + * Sets output to x times H using the precomputed tables. + * x and output are seen as elements of GF(2^128) as in [MGV]. + */ +static void gcm_mult( mbedtls_gcm_context *ctx, const unsigned char x[16], + unsigned char output[16] ) +{ + int i = 0; + unsigned char lo, hi, rem; + uint64_t zh, zl; + +#if defined(MBEDTLS_AESNI_C) && defined(MBEDTLS_HAVE_X86_64) + if( mbedtls_aesni_has_support( MBEDTLS_AESNI_CLMUL ) ) { + unsigned char h[16]; + + MBEDTLS_PUT_UINT32_BE( ctx->HH[8] >> 32, h, 0 ); + MBEDTLS_PUT_UINT32_BE( ctx->HH[8], h, 4 ); + MBEDTLS_PUT_UINT32_BE( ctx->HL[8] >> 32, h, 8 ); + MBEDTLS_PUT_UINT32_BE( ctx->HL[8], h, 12 ); + + mbedtls_aesni_gcm_mult( output, x, h ); + return; + } +#endif /* MBEDTLS_AESNI_C && MBEDTLS_HAVE_X86_64 */ + + lo = x[15] & 0xf; + + zh = ctx->HH[lo]; + zl = ctx->HL[lo]; + + for( i = 15; i >= 0; i-- ) + { + lo = x[i] & 0xf; + hi = ( x[i] >> 4 ) & 0xf; + + if( i != 15 ) + { + rem = (unsigned char) zl & 0xf; + zl = ( zh << 60 ) | ( zl >> 4 ); + zh = ( zh >> 4 ); + zh ^= (uint64_t) last4[rem] << 48; + zh ^= ctx->HH[lo]; + zl ^= ctx->HL[lo]; + + } + + rem = (unsigned char) zl & 0xf; + zl = ( zh << 60 ) | ( zl >> 4 ); + zh = ( zh >> 4 ); + zh ^= (uint64_t) last4[rem] << 48; + zh ^= ctx->HH[hi]; + zl ^= ctx->HL[hi]; + } + + MBEDTLS_PUT_UINT32_BE( zh >> 32, output, 0 ); + MBEDTLS_PUT_UINT32_BE( zh, output, 4 ); + MBEDTLS_PUT_UINT32_BE( zl >> 32, output, 8 ); + MBEDTLS_PUT_UINT32_BE( zl, output, 12 ); +} + +int mbedtls_gcm_starts( mbedtls_gcm_context *ctx, + int mode, + const unsigned char *iv, size_t iv_len ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char work_buf[16]; + size_t i; + const unsigned char *p; + size_t use_len, olen = 0; + uint64_t iv_bits; + + GCM_VALIDATE_RET( ctx != NULL ); + GCM_VALIDATE_RET( iv != NULL ); + + /* IV is limited to 2^64 bits, so 2^61 bytes */ + /* IV is not allowed to be zero length */ + if( iv_len == 0 || (uint64_t) iv_len >> 61 != 0 ) + return( MBEDTLS_ERR_GCM_BAD_INPUT ); + + memset( ctx->y, 0x00, sizeof(ctx->y) ); + memset( ctx->buf, 0x00, sizeof(ctx->buf) ); + + ctx->mode = mode; + ctx->len = 0; + ctx->add_len = 0; + + if( iv_len == 12 ) + { + memcpy( ctx->y, iv, iv_len ); + ctx->y[15] = 1; + } + else + { + memset( work_buf, 0x00, 16 ); + iv_bits = (uint64_t)iv_len * 8; + MBEDTLS_PUT_UINT64_BE( iv_bits, work_buf, 8 ); + + p = iv; + while( iv_len > 0 ) + { + use_len = ( iv_len < 16 ) ? iv_len : 16; + + for( i = 0; i < use_len; i++ ) + ctx->y[i] ^= p[i]; + + gcm_mult( ctx, ctx->y, ctx->y ); + + iv_len -= use_len; + p += use_len; + } + + for( i = 0; i < 16; i++ ) + ctx->y[i] ^= work_buf[i]; + + gcm_mult( ctx, ctx->y, ctx->y ); + } + + if( ( ret = mbedtls_cipher_update( &ctx->cipher_ctx, ctx->y, 16, + ctx->base_ectr, &olen ) ) != 0 ) + { + return( ret ); + } + + return( 0 ); +} + +/** + * mbedtls_gcm_context::buf contains the partial state of the computation of + * the authentication tag. + * mbedtls_gcm_context::add_len and mbedtls_gcm_context::len indicate + * different stages of the computation: + * * len == 0 && add_len == 0: initial state + * * len == 0 && add_len % 16 != 0: the first `add_len % 16` bytes have + * a partial block of AD that has been + * xored in but not yet multiplied in. + * * len == 0 && add_len % 16 == 0: the authentication tag is correct if + * the data ends now. + * * len % 16 != 0: the first `len % 16` bytes have + * a partial block of ciphertext that has + * been xored in but not yet multiplied in. + * * len > 0 && len % 16 == 0: the authentication tag is correct if + * the data ends now. + */ +int mbedtls_gcm_update_ad( mbedtls_gcm_context *ctx, + const unsigned char *add, size_t add_len ) +{ + const unsigned char *p; + size_t use_len, i, offset; + + GCM_VALIDATE_RET( add_len == 0 || add != NULL ); + + /* IV is limited to 2^64 bits, so 2^61 bytes */ + if( (uint64_t) add_len >> 61 != 0 ) + return( MBEDTLS_ERR_GCM_BAD_INPUT ); + + offset = ctx->add_len % 16; + p = add; + + if( offset != 0 ) + { + use_len = 16 - offset; + if( use_len > add_len ) + use_len = add_len; + + for( i = 0; i < use_len; i++ ) + ctx->buf[i+offset] ^= p[i]; + + if( offset + use_len == 16 ) + gcm_mult( ctx, ctx->buf, ctx->buf ); + + ctx->add_len += use_len; + add_len -= use_len; + p += use_len; + } + + ctx->add_len += add_len; + + while( add_len >= 16 ) + { + for( i = 0; i < 16; i++ ) + ctx->buf[i] ^= p[i]; + + gcm_mult( ctx, ctx->buf, ctx->buf ); + + add_len -= 16; + p += 16; + } + + if( add_len > 0 ) + { + for( i = 0; i < add_len; i++ ) + ctx->buf[i] ^= p[i]; + } + + return( 0 ); +} + +/* Increment the counter. */ +static void gcm_incr( unsigned char y[16] ) +{ + size_t i; + for( i = 16; i > 12; i-- ) + if( ++y[i - 1] != 0 ) + break; +} + +/* Calculate and apply the encryption mask. Process use_len bytes of data, + * starting at position offset in the mask block. */ +static int gcm_mask( mbedtls_gcm_context *ctx, + unsigned char ectr[16], + size_t offset, size_t use_len, + const unsigned char *input, + unsigned char *output ) +{ + size_t i; + size_t olen = 0; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + if( ( ret = mbedtls_cipher_update( &ctx->cipher_ctx, ctx->y, 16, ectr, + &olen ) ) != 0 ) + { + mbedtls_platform_zeroize( ectr, 16 ); + return( ret ); + } + + for( i = 0; i < use_len; i++ ) + { + if( ctx->mode == MBEDTLS_GCM_DECRYPT ) + ctx->buf[offset + i] ^= input[i]; + output[i] = ectr[offset + i] ^ input[i]; + if( ctx->mode == MBEDTLS_GCM_ENCRYPT ) + ctx->buf[offset + i] ^= output[i]; + } + return( 0 ); +} + +int mbedtls_gcm_update( mbedtls_gcm_context *ctx, + const unsigned char *input, size_t input_length, + unsigned char *output, size_t output_size, + size_t *output_length ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + const unsigned char *p = input; + unsigned char *out_p = output; + size_t offset; + unsigned char ectr[16]; + + if( output_size < input_length ) + return( MBEDTLS_ERR_GCM_BUFFER_TOO_SMALL ); + GCM_VALIDATE_RET( output_length != NULL ); + *output_length = input_length; + + /* Exit early if input_length==0 so that we don't do any pointer arithmetic + * on a potentially null pointer. + * Returning early also means that the last partial block of AD remains + * untouched for mbedtls_gcm_finish */ + if( input_length == 0 ) + return( 0 ); + + GCM_VALIDATE_RET( ctx != NULL ); + GCM_VALIDATE_RET( input != NULL ); + GCM_VALIDATE_RET( output != NULL ); + + if( output > input && (size_t) ( output - input ) < input_length ) + return( MBEDTLS_ERR_GCM_BAD_INPUT ); + + /* Total length is restricted to 2^39 - 256 bits, ie 2^36 - 2^5 bytes + * Also check for possible overflow */ + if( ctx->len + input_length < ctx->len || + (uint64_t) ctx->len + input_length > 0xFFFFFFFE0ull ) + { + return( MBEDTLS_ERR_GCM_BAD_INPUT ); + } + + if( ctx->len == 0 && ctx->add_len % 16 != 0 ) + { + gcm_mult( ctx, ctx->buf, ctx->buf ); + } + + offset = ctx->len % 16; + if( offset != 0 ) + { + size_t use_len = 16 - offset; + if( use_len > input_length ) + use_len = input_length; + + if( ( ret = gcm_mask( ctx, ectr, offset, use_len, p, out_p ) ) != 0 ) + return( ret ); + + if( offset + use_len == 16 ) + gcm_mult( ctx, ctx->buf, ctx->buf ); + + ctx->len += use_len; + input_length -= use_len; + p += use_len; + out_p += use_len; + } + + ctx->len += input_length; + + while( input_length >= 16 ) + { + gcm_incr( ctx->y ); + if( ( ret = gcm_mask( ctx, ectr, 0, 16, p, out_p ) ) != 0 ) + return( ret ); + + gcm_mult( ctx, ctx->buf, ctx->buf ); + + input_length -= 16; + p += 16; + out_p += 16; + } + + if( input_length > 0 ) + { + gcm_incr( ctx->y ); + if( ( ret = gcm_mask( ctx, ectr, 0, input_length, p, out_p ) ) != 0 ) + return( ret ); + } + + mbedtls_platform_zeroize( ectr, sizeof( ectr ) ); + return( 0 ); +} + +int mbedtls_gcm_finish( mbedtls_gcm_context *ctx, + unsigned char *output, size_t output_size, + size_t *output_length, + unsigned char *tag, size_t tag_len ) +{ + unsigned char work_buf[16]; + size_t i; + uint64_t orig_len; + uint64_t orig_add_len; + + GCM_VALIDATE_RET( ctx != NULL ); + GCM_VALIDATE_RET( tag != NULL ); + + /* We never pass any output in finish(). The output parameter exists only + * for the sake of alternative implementations. */ + (void) output; + (void) output_size; + *output_length = 0; + + orig_len = ctx->len * 8; + orig_add_len = ctx->add_len * 8; + + if( ctx->len == 0 && ctx->add_len % 16 != 0 ) + { + gcm_mult( ctx, ctx->buf, ctx->buf ); + } + + if( tag_len > 16 || tag_len < 4 ) + return( MBEDTLS_ERR_GCM_BAD_INPUT ); + + if( ctx->len % 16 != 0 ) + gcm_mult( ctx, ctx->buf, ctx->buf ); + + memcpy( tag, ctx->base_ectr, tag_len ); + + if( orig_len || orig_add_len ) + { + memset( work_buf, 0x00, 16 ); + + MBEDTLS_PUT_UINT32_BE( ( orig_add_len >> 32 ), work_buf, 0 ); + MBEDTLS_PUT_UINT32_BE( ( orig_add_len ), work_buf, 4 ); + MBEDTLS_PUT_UINT32_BE( ( orig_len >> 32 ), work_buf, 8 ); + MBEDTLS_PUT_UINT32_BE( ( orig_len ), work_buf, 12 ); + + for( i = 0; i < 16; i++ ) + ctx->buf[i] ^= work_buf[i]; + + gcm_mult( ctx, ctx->buf, ctx->buf ); + + for( i = 0; i < tag_len; i++ ) + tag[i] ^= ctx->buf[i]; + } + + return( 0 ); +} + +int mbedtls_gcm_crypt_and_tag( mbedtls_gcm_context *ctx, + int mode, + size_t length, + const unsigned char *iv, + size_t iv_len, + const unsigned char *add, + size_t add_len, + const unsigned char *input, + unsigned char *output, + size_t tag_len, + unsigned char *tag ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + size_t olen; + + GCM_VALIDATE_RET( ctx != NULL ); + GCM_VALIDATE_RET( iv != NULL ); + GCM_VALIDATE_RET( add_len == 0 || add != NULL ); + GCM_VALIDATE_RET( length == 0 || input != NULL ); + GCM_VALIDATE_RET( length == 0 || output != NULL ); + GCM_VALIDATE_RET( tag != NULL ); + + if( ( ret = mbedtls_gcm_starts( ctx, mode, iv, iv_len ) ) != 0 ) + return( ret ); + + if( ( ret = mbedtls_gcm_update_ad( ctx, add, add_len ) ) != 0 ) + return( ret ); + + if( ( ret = mbedtls_gcm_update( ctx, input, length, + output, length, &olen ) ) != 0 ) + return( ret ); + + if( ( ret = mbedtls_gcm_finish( ctx, NULL, 0, &olen, tag, tag_len ) ) != 0 ) + return( ret ); + + return( 0 ); +} + +int mbedtls_gcm_auth_decrypt( mbedtls_gcm_context *ctx, + size_t length, + const unsigned char *iv, + size_t iv_len, + const unsigned char *add, + size_t add_len, + const unsigned char *tag, + size_t tag_len, + const unsigned char *input, + unsigned char *output ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char check_tag[16]; + size_t i; + int diff; + + GCM_VALIDATE_RET( ctx != NULL ); + GCM_VALIDATE_RET( iv != NULL ); + GCM_VALIDATE_RET( add_len == 0 || add != NULL ); + GCM_VALIDATE_RET( tag != NULL ); + GCM_VALIDATE_RET( length == 0 || input != NULL ); + GCM_VALIDATE_RET( length == 0 || output != NULL ); + + if( ( ret = mbedtls_gcm_crypt_and_tag( ctx, MBEDTLS_GCM_DECRYPT, length, + iv, iv_len, add, add_len, + input, output, tag_len, check_tag ) ) != 0 ) + { + return( ret ); + } + + /* Check tag in "constant-time" */ + for( diff = 0, i = 0; i < tag_len; i++ ) + diff |= tag[i] ^ check_tag[i]; + + if( diff != 0 ) + { + mbedtls_platform_zeroize( output, length ); + return( MBEDTLS_ERR_GCM_AUTH_FAILED ); + } + + return( 0 ); +} + +void mbedtls_gcm_free( mbedtls_gcm_context *ctx ) +{ + if( ctx == NULL ) + return; + mbedtls_cipher_free( &ctx->cipher_ctx ); + mbedtls_platform_zeroize( ctx, sizeof( mbedtls_gcm_context ) ); +} + +#endif /* !MBEDTLS_GCM_ALT */ + +#if defined(MBEDTLS_SELF_TEST) && defined(MBEDTLS_AES_C) +/* + * AES-GCM test vectors from: + * + * http://csrc.nist.gov/groups/STM/cavp/documents/mac/gcmtestvectors.zip + */ +#define MAX_TESTS 6 + +static const int key_index_test_data[MAX_TESTS] = + { 0, 0, 1, 1, 1, 1 }; + +static const unsigned char key_test_data[MAX_TESTS][32] = +{ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, + 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08, + 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, + 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 }, +}; + +static const size_t iv_len_test_data[MAX_TESTS] = + { 12, 12, 12, 12, 8, 60 }; + +static const int iv_index_test_data[MAX_TESTS] = + { 0, 0, 1, 1, 1, 2 }; + +static const unsigned char iv_test_data[MAX_TESTS][64] = +{ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }, + { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, + 0xde, 0xca, 0xf8, 0x88 }, + { 0x93, 0x13, 0x22, 0x5d, 0xf8, 0x84, 0x06, 0xe5, + 0x55, 0x90, 0x9c, 0x5a, 0xff, 0x52, 0x69, 0xaa, + 0x6a, 0x7a, 0x95, 0x38, 0x53, 0x4f, 0x7d, 0xa1, + 0xe4, 0xc3, 0x03, 0xd2, 0xa3, 0x18, 0xa7, 0x28, + 0xc3, 0xc0, 0xc9, 0x51, 0x56, 0x80, 0x95, 0x39, + 0xfc, 0xf0, 0xe2, 0x42, 0x9a, 0x6b, 0x52, 0x54, + 0x16, 0xae, 0xdb, 0xf5, 0xa0, 0xde, 0x6a, 0x57, + 0xa6, 0x37, 0xb3, 0x9b }, +}; + +static const size_t add_len_test_data[MAX_TESTS] = + { 0, 0, 0, 20, 20, 20 }; + +static const int add_index_test_data[MAX_TESTS] = + { 0, 0, 0, 1, 1, 1 }; + +static const unsigned char additional_test_data[MAX_TESTS][64] = +{ + { 0x00 }, + { 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xab, 0xad, 0xda, 0xd2 }, +}; + +static const size_t pt_len_test_data[MAX_TESTS] = + { 0, 16, 64, 60, 60, 60 }; + +static const int pt_index_test_data[MAX_TESTS] = + { 0, 0, 1, 1, 1, 1 }; + +static const unsigned char pt_test_data[MAX_TESTS][64] = +{ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, + 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, + 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, + 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, + 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 }, +}; + +static const unsigned char ct_test_data[MAX_TESTS * 3][64] = +{ + { 0x00 }, + { 0x03, 0x88, 0xda, 0xce, 0x60, 0xb6, 0xa3, 0x92, + 0xf3, 0x28, 0xc2, 0xb9, 0x71, 0xb2, 0xfe, 0x78 }, + { 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, + 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, + 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, + 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, + 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, + 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, + 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, + 0x3d, 0x58, 0xe0, 0x91, 0x47, 0x3f, 0x59, 0x85 }, + { 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, + 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, + 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, + 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, + 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, + 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, + 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, + 0x3d, 0x58, 0xe0, 0x91 }, + { 0x61, 0x35, 0x3b, 0x4c, 0x28, 0x06, 0x93, 0x4a, + 0x77, 0x7f, 0xf5, 0x1f, 0xa2, 0x2a, 0x47, 0x55, + 0x69, 0x9b, 0x2a, 0x71, 0x4f, 0xcd, 0xc6, 0xf8, + 0x37, 0x66, 0xe5, 0xf9, 0x7b, 0x6c, 0x74, 0x23, + 0x73, 0x80, 0x69, 0x00, 0xe4, 0x9f, 0x24, 0xb2, + 0x2b, 0x09, 0x75, 0x44, 0xd4, 0x89, 0x6b, 0x42, + 0x49, 0x89, 0xb5, 0xe1, 0xeb, 0xac, 0x0f, 0x07, + 0xc2, 0x3f, 0x45, 0x98 }, + { 0x8c, 0xe2, 0x49, 0x98, 0x62, 0x56, 0x15, 0xb6, + 0x03, 0xa0, 0x33, 0xac, 0xa1, 0x3f, 0xb8, 0x94, + 0xbe, 0x91, 0x12, 0xa5, 0xc3, 0xa2, 0x11, 0xa8, + 0xba, 0x26, 0x2a, 0x3c, 0xca, 0x7e, 0x2c, 0xa7, + 0x01, 0xe4, 0xa9, 0xa4, 0xfb, 0xa4, 0x3c, 0x90, + 0xcc, 0xdc, 0xb2, 0x81, 0xd4, 0x8c, 0x7c, 0x6f, + 0xd6, 0x28, 0x75, 0xd2, 0xac, 0xa4, 0x17, 0x03, + 0x4c, 0x34, 0xae, 0xe5 }, + { 0x00 }, + { 0x98, 0xe7, 0x24, 0x7c, 0x07, 0xf0, 0xfe, 0x41, + 0x1c, 0x26, 0x7e, 0x43, 0x84, 0xb0, 0xf6, 0x00 }, + { 0x39, 0x80, 0xca, 0x0b, 0x3c, 0x00, 0xe8, 0x41, + 0xeb, 0x06, 0xfa, 0xc4, 0x87, 0x2a, 0x27, 0x57, + 0x85, 0x9e, 0x1c, 0xea, 0xa6, 0xef, 0xd9, 0x84, + 0x62, 0x85, 0x93, 0xb4, 0x0c, 0xa1, 0xe1, 0x9c, + 0x7d, 0x77, 0x3d, 0x00, 0xc1, 0x44, 0xc5, 0x25, + 0xac, 0x61, 0x9d, 0x18, 0xc8, 0x4a, 0x3f, 0x47, + 0x18, 0xe2, 0x44, 0x8b, 0x2f, 0xe3, 0x24, 0xd9, + 0xcc, 0xda, 0x27, 0x10, 0xac, 0xad, 0xe2, 0x56 }, + { 0x39, 0x80, 0xca, 0x0b, 0x3c, 0x00, 0xe8, 0x41, + 0xeb, 0x06, 0xfa, 0xc4, 0x87, 0x2a, 0x27, 0x57, + 0x85, 0x9e, 0x1c, 0xea, 0xa6, 0xef, 0xd9, 0x84, + 0x62, 0x85, 0x93, 0xb4, 0x0c, 0xa1, 0xe1, 0x9c, + 0x7d, 0x77, 0x3d, 0x00, 0xc1, 0x44, 0xc5, 0x25, + 0xac, 0x61, 0x9d, 0x18, 0xc8, 0x4a, 0x3f, 0x47, + 0x18, 0xe2, 0x44, 0x8b, 0x2f, 0xe3, 0x24, 0xd9, + 0xcc, 0xda, 0x27, 0x10 }, + { 0x0f, 0x10, 0xf5, 0x99, 0xae, 0x14, 0xa1, 0x54, + 0xed, 0x24, 0xb3, 0x6e, 0x25, 0x32, 0x4d, 0xb8, + 0xc5, 0x66, 0x63, 0x2e, 0xf2, 0xbb, 0xb3, 0x4f, + 0x83, 0x47, 0x28, 0x0f, 0xc4, 0x50, 0x70, 0x57, + 0xfd, 0xdc, 0x29, 0xdf, 0x9a, 0x47, 0x1f, 0x75, + 0xc6, 0x65, 0x41, 0xd4, 0xd4, 0xda, 0xd1, 0xc9, + 0xe9, 0x3a, 0x19, 0xa5, 0x8e, 0x8b, 0x47, 0x3f, + 0xa0, 0xf0, 0x62, 0xf7 }, + { 0xd2, 0x7e, 0x88, 0x68, 0x1c, 0xe3, 0x24, 0x3c, + 0x48, 0x30, 0x16, 0x5a, 0x8f, 0xdc, 0xf9, 0xff, + 0x1d, 0xe9, 0xa1, 0xd8, 0xe6, 0xb4, 0x47, 0xef, + 0x6e, 0xf7, 0xb7, 0x98, 0x28, 0x66, 0x6e, 0x45, + 0x81, 0xe7, 0x90, 0x12, 0xaf, 0x34, 0xdd, 0xd9, + 0xe2, 0xf0, 0x37, 0x58, 0x9b, 0x29, 0x2d, 0xb3, + 0xe6, 0x7c, 0x03, 0x67, 0x45, 0xfa, 0x22, 0xe7, + 0xe9, 0xb7, 0x37, 0x3b }, + { 0x00 }, + { 0xce, 0xa7, 0x40, 0x3d, 0x4d, 0x60, 0x6b, 0x6e, + 0x07, 0x4e, 0xc5, 0xd3, 0xba, 0xf3, 0x9d, 0x18 }, + { 0x52, 0x2d, 0xc1, 0xf0, 0x99, 0x56, 0x7d, 0x07, + 0xf4, 0x7f, 0x37, 0xa3, 0x2a, 0x84, 0x42, 0x7d, + 0x64, 0x3a, 0x8c, 0xdc, 0xbf, 0xe5, 0xc0, 0xc9, + 0x75, 0x98, 0xa2, 0xbd, 0x25, 0x55, 0xd1, 0xaa, + 0x8c, 0xb0, 0x8e, 0x48, 0x59, 0x0d, 0xbb, 0x3d, + 0xa7, 0xb0, 0x8b, 0x10, 0x56, 0x82, 0x88, 0x38, + 0xc5, 0xf6, 0x1e, 0x63, 0x93, 0xba, 0x7a, 0x0a, + 0xbc, 0xc9, 0xf6, 0x62, 0x89, 0x80, 0x15, 0xad }, + { 0x52, 0x2d, 0xc1, 0xf0, 0x99, 0x56, 0x7d, 0x07, + 0xf4, 0x7f, 0x37, 0xa3, 0x2a, 0x84, 0x42, 0x7d, + 0x64, 0x3a, 0x8c, 0xdc, 0xbf, 0xe5, 0xc0, 0xc9, + 0x75, 0x98, 0xa2, 0xbd, 0x25, 0x55, 0xd1, 0xaa, + 0x8c, 0xb0, 0x8e, 0x48, 0x59, 0x0d, 0xbb, 0x3d, + 0xa7, 0xb0, 0x8b, 0x10, 0x56, 0x82, 0x88, 0x38, + 0xc5, 0xf6, 0x1e, 0x63, 0x93, 0xba, 0x7a, 0x0a, + 0xbc, 0xc9, 0xf6, 0x62 }, + { 0xc3, 0x76, 0x2d, 0xf1, 0xca, 0x78, 0x7d, 0x32, + 0xae, 0x47, 0xc1, 0x3b, 0xf1, 0x98, 0x44, 0xcb, + 0xaf, 0x1a, 0xe1, 0x4d, 0x0b, 0x97, 0x6a, 0xfa, + 0xc5, 0x2f, 0xf7, 0xd7, 0x9b, 0xba, 0x9d, 0xe0, + 0xfe, 0xb5, 0x82, 0xd3, 0x39, 0x34, 0xa4, 0xf0, + 0x95, 0x4c, 0xc2, 0x36, 0x3b, 0xc7, 0x3f, 0x78, + 0x62, 0xac, 0x43, 0x0e, 0x64, 0xab, 0xe4, 0x99, + 0xf4, 0x7c, 0x9b, 0x1f }, + { 0x5a, 0x8d, 0xef, 0x2f, 0x0c, 0x9e, 0x53, 0xf1, + 0xf7, 0x5d, 0x78, 0x53, 0x65, 0x9e, 0x2a, 0x20, + 0xee, 0xb2, 0xb2, 0x2a, 0xaf, 0xde, 0x64, 0x19, + 0xa0, 0x58, 0xab, 0x4f, 0x6f, 0x74, 0x6b, 0xf4, + 0x0f, 0xc0, 0xc3, 0xb7, 0x80, 0xf2, 0x44, 0x45, + 0x2d, 0xa3, 0xeb, 0xf1, 0xc5, 0xd8, 0x2c, 0xde, + 0xa2, 0x41, 0x89, 0x97, 0x20, 0x0e, 0xf8, 0x2e, + 0x44, 0xae, 0x7e, 0x3f }, +}; + +static const unsigned char tag_test_data[MAX_TESTS * 3][16] = +{ + { 0x58, 0xe2, 0xfc, 0xce, 0xfa, 0x7e, 0x30, 0x61, + 0x36, 0x7f, 0x1d, 0x57, 0xa4, 0xe7, 0x45, 0x5a }, + { 0xab, 0x6e, 0x47, 0xd4, 0x2c, 0xec, 0x13, 0xbd, + 0xf5, 0x3a, 0x67, 0xb2, 0x12, 0x57, 0xbd, 0xdf }, + { 0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6, + 0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4 }, + { 0x5b, 0xc9, 0x4f, 0xbc, 0x32, 0x21, 0xa5, 0xdb, + 0x94, 0xfa, 0xe9, 0x5a, 0xe7, 0x12, 0x1a, 0x47 }, + { 0x36, 0x12, 0xd2, 0xe7, 0x9e, 0x3b, 0x07, 0x85, + 0x56, 0x1b, 0xe1, 0x4a, 0xac, 0xa2, 0xfc, 0xcb }, + { 0x61, 0x9c, 0xc5, 0xae, 0xff, 0xfe, 0x0b, 0xfa, + 0x46, 0x2a, 0xf4, 0x3c, 0x16, 0x99, 0xd0, 0x50 }, + { 0xcd, 0x33, 0xb2, 0x8a, 0xc7, 0x73, 0xf7, 0x4b, + 0xa0, 0x0e, 0xd1, 0xf3, 0x12, 0x57, 0x24, 0x35 }, + { 0x2f, 0xf5, 0x8d, 0x80, 0x03, 0x39, 0x27, 0xab, + 0x8e, 0xf4, 0xd4, 0x58, 0x75, 0x14, 0xf0, 0xfb }, + { 0x99, 0x24, 0xa7, 0xc8, 0x58, 0x73, 0x36, 0xbf, + 0xb1, 0x18, 0x02, 0x4d, 0xb8, 0x67, 0x4a, 0x14 }, + { 0x25, 0x19, 0x49, 0x8e, 0x80, 0xf1, 0x47, 0x8f, + 0x37, 0xba, 0x55, 0xbd, 0x6d, 0x27, 0x61, 0x8c }, + { 0x65, 0xdc, 0xc5, 0x7f, 0xcf, 0x62, 0x3a, 0x24, + 0x09, 0x4f, 0xcc, 0xa4, 0x0d, 0x35, 0x33, 0xf8 }, + { 0xdc, 0xf5, 0x66, 0xff, 0x29, 0x1c, 0x25, 0xbb, + 0xb8, 0x56, 0x8f, 0xc3, 0xd3, 0x76, 0xa6, 0xd9 }, + { 0x53, 0x0f, 0x8a, 0xfb, 0xc7, 0x45, 0x36, 0xb9, + 0xa9, 0x63, 0xb4, 0xf1, 0xc4, 0xcb, 0x73, 0x8b }, + { 0xd0, 0xd1, 0xc8, 0xa7, 0x99, 0x99, 0x6b, 0xf0, + 0x26, 0x5b, 0x98, 0xb5, 0xd4, 0x8a, 0xb9, 0x19 }, + { 0xb0, 0x94, 0xda, 0xc5, 0xd9, 0x34, 0x71, 0xbd, + 0xec, 0x1a, 0x50, 0x22, 0x70, 0xe3, 0xcc, 0x6c }, + { 0x76, 0xfc, 0x6e, 0xce, 0x0f, 0x4e, 0x17, 0x68, + 0xcd, 0xdf, 0x88, 0x53, 0xbb, 0x2d, 0x55, 0x1b }, + { 0x3a, 0x33, 0x7d, 0xbf, 0x46, 0xa7, 0x92, 0xc4, + 0x5e, 0x45, 0x49, 0x13, 0xfe, 0x2e, 0xa8, 0xf2 }, + { 0xa4, 0x4a, 0x82, 0x66, 0xee, 0x1c, 0x8e, 0xb0, + 0xc8, 0xb5, 0xd4, 0xcf, 0x5a, 0xe9, 0xf1, 0x9a }, +}; + +int mbedtls_gcm_self_test( int verbose ) +{ + mbedtls_gcm_context ctx; + unsigned char buf[64]; + unsigned char tag_buf[16]; + int i, j, ret; + mbedtls_cipher_id_t cipher = MBEDTLS_CIPHER_ID_AES; + size_t olen; + + for( j = 0; j < 3; j++ ) + { + int key_len = 128 + 64 * j; + + for( i = 0; i < MAX_TESTS; i++ ) + { + mbedtls_gcm_init( &ctx ); + + if( verbose != 0 ) + mbedtls_printf( " AES-GCM-%3d #%d (%s): ", + key_len, i, "enc" ); + + ret = mbedtls_gcm_setkey( &ctx, cipher, + key_test_data[key_index_test_data[i]], + key_len ); + /* + * AES-192 is an optional feature that may be unavailable when + * there is an alternative underlying implementation i.e. when + * MBEDTLS_AES_ALT is defined. + */ + if( ret == MBEDTLS_ERR_PLATFORM_FEATURE_UNSUPPORTED && key_len == 192 ) + { + mbedtls_printf( "skipped\n" ); + break; + } + else if( ret != 0 ) + { + goto exit; + } + + ret = mbedtls_gcm_crypt_and_tag( &ctx, MBEDTLS_GCM_ENCRYPT, + pt_len_test_data[i], + iv_test_data[iv_index_test_data[i]], + iv_len_test_data[i], + additional_test_data[add_index_test_data[i]], + add_len_test_data[i], + pt_test_data[pt_index_test_data[i]], + buf, 16, tag_buf ); +#if defined(MBEDTLS_GCM_ALT) + /* Allow alternative implementations to only support 12-byte nonces. */ + if( ret == MBEDTLS_ERR_PLATFORM_FEATURE_UNSUPPORTED && + iv_len_test_data[i] != 12 ) + { + mbedtls_printf( "skipped\n" ); + break; + } +#endif /* defined(MBEDTLS_GCM_ALT) */ + if( ret != 0 ) + goto exit; + + if ( memcmp( buf, ct_test_data[j * 6 + i], + pt_len_test_data[i] ) != 0 || + memcmp( tag_buf, tag_test_data[j * 6 + i], 16 ) != 0 ) + { + ret = 1; + goto exit; + } + + mbedtls_gcm_free( &ctx ); + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + + mbedtls_gcm_init( &ctx ); + + if( verbose != 0 ) + mbedtls_printf( " AES-GCM-%3d #%d (%s): ", + key_len, i, "dec" ); + + ret = mbedtls_gcm_setkey( &ctx, cipher, + key_test_data[key_index_test_data[i]], + key_len ); + if( ret != 0 ) + goto exit; + + ret = mbedtls_gcm_crypt_and_tag( &ctx, MBEDTLS_GCM_DECRYPT, + pt_len_test_data[i], + iv_test_data[iv_index_test_data[i]], + iv_len_test_data[i], + additional_test_data[add_index_test_data[i]], + add_len_test_data[i], + ct_test_data[j * 6 + i], buf, 16, tag_buf ); + + if( ret != 0 ) + goto exit; + + if( memcmp( buf, pt_test_data[pt_index_test_data[i]], + pt_len_test_data[i] ) != 0 || + memcmp( tag_buf, tag_test_data[j * 6 + i], 16 ) != 0 ) + { + ret = 1; + goto exit; + } + + mbedtls_gcm_free( &ctx ); + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + + mbedtls_gcm_init( &ctx ); + + if( verbose != 0 ) + mbedtls_printf( " AES-GCM-%3d #%d split (%s): ", + key_len, i, "enc" ); + + ret = mbedtls_gcm_setkey( &ctx, cipher, + key_test_data[key_index_test_data[i]], + key_len ); + if( ret != 0 ) + goto exit; + + ret = mbedtls_gcm_starts( &ctx, MBEDTLS_GCM_ENCRYPT, + iv_test_data[iv_index_test_data[i]], + iv_len_test_data[i] ); + if( ret != 0 ) + goto exit; + + ret = mbedtls_gcm_update_ad( &ctx, + additional_test_data[add_index_test_data[i]], + add_len_test_data[i] ); + if( ret != 0 ) + goto exit; + + if( pt_len_test_data[i] > 32 ) + { + size_t rest_len = pt_len_test_data[i] - 32; + ret = mbedtls_gcm_update( &ctx, + pt_test_data[pt_index_test_data[i]], + 32, + buf, sizeof( buf ), &olen ); + if( ret != 0 ) + goto exit; + if( olen != 32 ) + goto exit; + + ret = mbedtls_gcm_update( &ctx, + pt_test_data[pt_index_test_data[i]] + 32, + rest_len, + buf + 32, sizeof( buf ) - 32, &olen ); + if( ret != 0 ) + goto exit; + if( olen != rest_len ) + goto exit; + } + else + { + ret = mbedtls_gcm_update( &ctx, + pt_test_data[pt_index_test_data[i]], + pt_len_test_data[i], + buf, sizeof( buf ), &olen ); + if( ret != 0 ) + goto exit; + if( olen != pt_len_test_data[i] ) + goto exit; + } + + ret = mbedtls_gcm_finish( &ctx, NULL, 0, &olen, tag_buf, 16 ); + if( ret != 0 ) + goto exit; + + if( memcmp( buf, ct_test_data[j * 6 + i], + pt_len_test_data[i] ) != 0 || + memcmp( tag_buf, tag_test_data[j * 6 + i], 16 ) != 0 ) + { + ret = 1; + goto exit; + } + + mbedtls_gcm_free( &ctx ); + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + + mbedtls_gcm_init( &ctx ); + + if( verbose != 0 ) + mbedtls_printf( " AES-GCM-%3d #%d split (%s): ", + key_len, i, "dec" ); + + ret = mbedtls_gcm_setkey( &ctx, cipher, + key_test_data[key_index_test_data[i]], + key_len ); + if( ret != 0 ) + goto exit; + + ret = mbedtls_gcm_starts( &ctx, MBEDTLS_GCM_DECRYPT, + iv_test_data[iv_index_test_data[i]], + iv_len_test_data[i] ); + if( ret != 0 ) + goto exit; + ret = mbedtls_gcm_update_ad( &ctx, + additional_test_data[add_index_test_data[i]], + add_len_test_data[i] ); + if( ret != 0 ) + goto exit; + + if( pt_len_test_data[i] > 32 ) + { + size_t rest_len = pt_len_test_data[i] - 32; + ret = mbedtls_gcm_update( &ctx, + ct_test_data[j * 6 + i], 32, + buf, sizeof( buf ), &olen ); + if( ret != 0 ) + goto exit; + if( olen != 32 ) + goto exit; + + ret = mbedtls_gcm_update( &ctx, + ct_test_data[j * 6 + i] + 32, + rest_len, + buf + 32, sizeof( buf ) - 32, &olen ); + if( ret != 0 ) + goto exit; + if( olen != rest_len ) + goto exit; + } + else + { + ret = mbedtls_gcm_update( &ctx, + ct_test_data[j * 6 + i], + pt_len_test_data[i], + buf, sizeof( buf ), &olen ); + if( ret != 0 ) + goto exit; + if( olen != pt_len_test_data[i] ) + goto exit; + } + + ret = mbedtls_gcm_finish( &ctx, NULL, 0, &olen, tag_buf, 16 ); + if( ret != 0 ) + goto exit; + + if( memcmp( buf, pt_test_data[pt_index_test_data[i]], + pt_len_test_data[i] ) != 0 || + memcmp( tag_buf, tag_test_data[j * 6 + i], 16 ) != 0 ) + { + ret = 1; + goto exit; + } + + mbedtls_gcm_free( &ctx ); + + if( verbose != 0 ) + mbedtls_printf( "passed\n" ); + } + } + + if( verbose != 0 ) + mbedtls_printf( "\n" ); + + ret = 0; + +exit: + if( ret != 0 ) + { + if( verbose != 0 ) + mbedtls_printf( "failed\n" ); + mbedtls_gcm_free( &ctx ); + } + + return( ret ); +} + +#endif /* MBEDTLS_SELF_TEST && MBEDTLS_AES_C */ + +#endif /* MBEDTLS_GCM_C */ diff --git a/third_party/mbedtls/library/padlock.h b/third_party/mbedtls/library/padlock.h new file mode 100644 index 000000000000..bfed62c256fa --- /dev/null +++ b/third_party/mbedtls/library/padlock.h @@ -0,0 +1 @@ +// dummy file to make amalgamantion happy \ No newline at end of file diff --git a/third_party/mbedtls/mbedtls_wrapper.cpp b/third_party/mbedtls/mbedtls_wrapper.cpp index 42842dbea336..d848c63a9e36 100644 --- a/third_party/mbedtls/mbedtls_wrapper.cpp +++ b/third_party/mbedtls/mbedtls_wrapper.cpp @@ -1,9 +1,18 @@ #include "mbedtls_wrapper.hpp" + // otherwise we have different definitions for mbedtls_pk_context / mbedtls_sha256_context #define MBEDTLS_ALLOW_PRIVATE_ACCESS -#include "mbedtls/sha256.h" +#include "duckdb/common/helper.hpp" +#include "mbedtls/entropy.h" +#include "mbedtls/gcm.h" #include "mbedtls/pk.h" +#include "mbedtls/sha256.h" + +#ifdef MBEDTLS_NO_ENTROPY_SOURCE +#include "duckdb/common/random_engine.hpp" +#include "duckdb/common/types/timestamp.hpp" +#endif #include @@ -25,49 +34,53 @@ openssl dgst -binary -sha256 dummy > hash openssl pkeyutl -sign -in hash -inkey private.pem -pkeyopt digest:sha256 -out dummy.sign */ - -void MbedTlsWrapper::ComputeSha256Hash(const char* in, size_t in_len, char* out) { +void MbedTlsWrapper::ComputeSha256Hash(const char *in, size_t in_len, char *out) { mbedtls_sha256_context sha_context; mbedtls_sha256_init(&sha_context); - if(mbedtls_sha256_starts(&sha_context, false) || mbedtls_sha256_update(&sha_context, (const unsigned char*) in, in_len) || mbedtls_sha256_finish(&sha_context, (unsigned char*)out)) { + if (mbedtls_sha256_starts(&sha_context, false) || + mbedtls_sha256_update(&sha_context, reinterpret_cast(in), in_len) || + mbedtls_sha256_finish(&sha_context, reinterpret_cast(out))) { throw runtime_error("SHA256 Error"); } mbedtls_sha256_free(&sha_context); } -string MbedTlsWrapper::ComputeSha256Hash(const string& file_content) { +string MbedTlsWrapper::ComputeSha256Hash(const string &file_content) { string hash; hash.resize(MbedTlsWrapper::SHA256_HASH_LENGTH_BYTES); - ComputeSha256Hash(file_content.data(), file_content.size(), (char*)hash.data()); + ComputeSha256Hash(file_content.data(), file_content.size(), (char *)hash.data()); return hash; } -bool MbedTlsWrapper::IsValidSha256Signature(const std::string &pubkey, const std::string &signature, const std::string &sha256_hash) { +bool MbedTlsWrapper::IsValidSha256Signature(const std::string &pubkey, const std::string &signature, + const std::string &sha256_hash) { if (signature.size() != 256 || sha256_hash.size() != 32) { - throw std::runtime_error("Invalid input lengths, expected signature length 256, got " + to_string(signature.size()) + ", hash length 32, got " + to_string(sha256_hash.size())); + throw std::runtime_error("Invalid input lengths, expected signature length 256, got " + + to_string(signature.size()) + ", hash length 32, got " + + to_string(sha256_hash.size())); } mbedtls_pk_context pk_context; mbedtls_pk_init(&pk_context); - if (mbedtls_pk_parse_public_key( &pk_context, - (const unsigned char*) pubkey.c_str(),pubkey.size() + 1 )) { + if (mbedtls_pk_parse_public_key(&pk_context, reinterpret_cast(pubkey.c_str()), + pubkey.size() + 1)) { throw runtime_error("RSA public key import error"); } // actually verify bool valid = mbedtls_pk_verify(&pk_context, MBEDTLS_MD_SHA256, - (const unsigned char*) sha256_hash.data(), sha256_hash.size(), - (const unsigned char*)signature.data(), signature.length()) == 0; + reinterpret_cast(sha256_hash.data()), sha256_hash.size(), + reinterpret_cast(signature.data()), signature.length()) == 0; mbedtls_pk_free(&pk_context); return valid; } // used in s3fs -void MbedTlsWrapper::Hmac256(const char* key, size_t key_len, const char* message, size_t message_len, char* out) { +void MbedTlsWrapper::Hmac256(const char *key, size_t key_len, const char *message, size_t message_len, char *out) { mbedtls_md_context_t hmac_ctx; const mbedtls_md_info_t *md_type = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); if (!md_type) { @@ -75,9 +88,9 @@ void MbedTlsWrapper::Hmac256(const char* key, size_t key_len, const char* messag } if (mbedtls_md_setup(&hmac_ctx, md_type, 1) || - mbedtls_md_hmac_starts(&hmac_ctx, (const unsigned char *) key, key_len) || - mbedtls_md_hmac_update(&hmac_ctx, (const unsigned char *)message, message_len) || - mbedtls_md_hmac_finish(&hmac_ctx, (unsigned char *) out)) { + mbedtls_md_hmac_starts(&hmac_ctx, reinterpret_cast(key), key_len) || + mbedtls_md_hmac_update(&hmac_ctx, reinterpret_cast(message), message_len) || + mbedtls_md_hmac_finish(&hmac_ctx, reinterpret_cast(out))) { throw runtime_error("HMAC256 Error"); } mbedtls_md_free(&hmac_ctx); @@ -94,30 +107,63 @@ void MbedTlsWrapper::ToBase16(char *in, char *out, size_t len) { } } +void MbedTlsWrapper::GenerateRandomData(duckdb::data_ptr_t data, duckdb::idx_t len) { +#ifdef MBEDTLS_NO_ENTROPY_SOURCE + duckdb::RandomEngine random_engine(duckdb::Timestamp::GetCurrentTimestamp().value); + while (len != 0) { + const auto random_integer = random_engine.NextRandomInteger(); + const auto next = duckdb::MinValue(len, sizeof(random_integer)); + memcpy(data, duckdb::const_data_ptr_cast(&random_integer), next); + data += next; + len -= next; + } +#else + duckdb::data_t buf[MBEDTLS_ENTROPY_BLOCK_SIZE]; + mbedtls_entropy_context entropy; + mbedtls_entropy_init(&entropy); + + while (len != 0) { + if (mbedtls_entropy_func(&entropy, buf, MBEDTLS_ENTROPY_BLOCK_SIZE) != 0) { + throw runtime_error("Unable to generate random data"); + } + const auto next = duckdb::MinValue(len, MBEDTLS_ENTROPY_BLOCK_SIZE); + memcpy(data, buf, next); + data += next; + len -= next; + } +#endif +} + MbedTlsWrapper::SHA256State::SHA256State() : sha_context(new mbedtls_sha256_context()) { - mbedtls_sha256_init((mbedtls_sha256_context*)sha_context); + auto context = reinterpret_cast(sha_context); + + mbedtls_sha256_init(context); - if (mbedtls_sha256_starts((mbedtls_sha256_context*)sha_context, false)) { + if (mbedtls_sha256_starts(context, false)) { throw std::runtime_error("SHA256 Error"); } } MbedTlsWrapper::SHA256State::~SHA256State() { - mbedtls_sha256_free((mbedtls_sha256_context*)sha_context); - delete (mbedtls_sha256_context*)sha_context; + auto context = reinterpret_cast(sha_context); + mbedtls_sha256_free(context); + delete context; } -void MbedTlsWrapper::SHA256State::AddString(const std::string & str) { - if (mbedtls_sha256_update((mbedtls_sha256_context*)sha_context, (unsigned char*)str.data(), str.size())) { +void MbedTlsWrapper::SHA256State::AddString(const std::string &str) { + auto context = reinterpret_cast(sha_context); + if (mbedtls_sha256_update(context, (unsigned char *)str.data(), str.size())) { throw std::runtime_error("SHA256 Error"); } } std::string MbedTlsWrapper::SHA256State::Finalize() { + auto context = reinterpret_cast(sha_context); + string hash; hash.resize(MbedTlsWrapper::SHA256_HASH_LENGTH_BYTES); - if (mbedtls_sha256_finish((mbedtls_sha256_context*)sha_context, (unsigned char*)hash.data())) { + if (mbedtls_sha256_finish(context, (unsigned char *)hash.data())) { throw std::runtime_error("SHA256 Error"); } @@ -125,12 +171,74 @@ std::string MbedTlsWrapper::SHA256State::Finalize() { } void MbedTlsWrapper::SHA256State::FinishHex(char *out) { + auto context = reinterpret_cast(sha_context); + string hash; hash.resize(MbedTlsWrapper::SHA256_HASH_LENGTH_BYTES); - if (mbedtls_sha256_finish((mbedtls_sha256_context *)sha_context, (unsigned char *)hash.data())) { + if (mbedtls_sha256_finish(context, (unsigned char *)hash.data())) { throw std::runtime_error("SHA256 Error"); } MbedTlsWrapper::ToBase16(const_cast(hash.c_str()), out, MbedTlsWrapper::SHA256_HASH_LENGTH_BYTES); } + +MbedTlsWrapper::AESGCMState::AESGCMState(const std::string &key) : gcm_context(new mbedtls_gcm_context()) { + auto context = reinterpret_cast(gcm_context); + mbedtls_gcm_init(context); + if (mbedtls_gcm_setkey(context, MBEDTLS_CIPHER_ID_AES, reinterpret_cast(key.c_str()), + key.length() * 8) != 0) { + throw runtime_error("Invalid AES key length"); + } +} + +MbedTlsWrapper::AESGCMState::~AESGCMState() { + auto context = reinterpret_cast(gcm_context); + mbedtls_gcm_free(context); + delete context; +} + +bool MbedTlsWrapper::AESGCMState::ValidKey(const std::string &key) { + switch (key.size()) { + case 16: + case 24: + case 32: + return true; + default: + return false; + } +} + +void MbedTlsWrapper::AESGCMState::InitializeEncryption(duckdb::const_data_ptr_t iv, duckdb::idx_t iv_len) { + auto context = reinterpret_cast(gcm_context); + if (mbedtls_gcm_starts(context, MBEDTLS_GCM_ENCRYPT, iv, iv_len) != 0) { + throw runtime_error("Unable to initialize AES encryption"); + } +} + +void MbedTlsWrapper::AESGCMState::InitializeDecryption(duckdb::const_data_ptr_t iv, duckdb::idx_t iv_len) { + auto context = reinterpret_cast(gcm_context); + if (mbedtls_gcm_starts(context, MBEDTLS_GCM_DECRYPT, iv, iv_len) != 0) { + throw runtime_error("Unable to initialize AES decryption"); + } +} + +size_t MbedTlsWrapper::AESGCMState::Process(duckdb::const_data_ptr_t in, duckdb::idx_t in_len, duckdb::data_ptr_t out, + duckdb::idx_t out_len) { + auto context = reinterpret_cast(gcm_context); + size_t result; + if (mbedtls_gcm_update(context, in, in_len, out, out_len, &result) != 0) { + throw runtime_error("Unable to process using AES"); + } + return result; +} + +size_t MbedTlsWrapper::AESGCMState::Finalize(duckdb::data_ptr_t out, duckdb::idx_t out_len, duckdb::data_ptr_t tag, + duckdb::idx_t tag_len) { + auto context = reinterpret_cast(gcm_context); + size_t result; + if (mbedtls_gcm_finish(context, out, out_len, &result, tag, tag_len) != 0) { + throw runtime_error("Unable to finalize AES"); + } + return result; +} diff --git a/third_party/pcg/pcg_uint128.hpp b/third_party/pcg/pcg_uint128.hpp index c085d0ee23e6..a29f77cbf668 100644 --- a/third_party/pcg/pcg_uint128.hpp +++ b/third_party/pcg/pcg_uint128.hpp @@ -67,7 +67,7 @@ #define PCG_LITTLE_ENDIAN 1 #elif __BIG_ENDIAN__ || _BIG_ENDIAN #define PCG_LITTLE_ENDIAN 0 - #elif __x86_64 || __x86_64__ || _M_X64 || __i386 || __i386__ || _M_IX86 + #elif __x86_64 || __x86_64__ || _M_X64 || __i386 || __i386__ || _M_IX86 || _M_ARM || _M_ARM64 #define PCG_LITTLE_ENDIAN 1 #elif __powerpc__ || __POWERPC__ || __ppc__ || __PPC__ \ || __m68k__ || __mc68000__ diff --git a/third_party/skiplist/CMakeLists.txt b/third_party/skiplist/CMakeLists.txt new file mode 100644 index 000000000000..1fa1e839122a --- /dev/null +++ b/third_party/skiplist/CMakeLists.txt @@ -0,0 +1,17 @@ +if(POLICY CMP0063) + cmake_policy(SET CMP0063 NEW) +endif() + +add_library(duckdb_skiplistlib STATIC SkipList.cpp) + +target_include_directories( + duckdb_skiplistlib + PUBLIC $) +set_target_properties(duckdb_skiplistlib PROPERTIES EXPORT_NAME duckdb_skiplistlib) + +install(TARGETS duckdb_skiplistlib + EXPORT "${DUCKDB_EXPORT_SET}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}") + +disable_target_warnings(duckdb_skiplistlib) diff --git a/third_party/skiplist/HeadNode.h b/third_party/skiplist/HeadNode.h new file mode 100755 index 000000000000..36cd866a48c8 --- /dev/null +++ b/third_party/skiplist/HeadNode.h @@ -0,0 +1,934 @@ +/** + * @file + * + * Project: skiplist + * + * Created by Paul Ross on 03/12/2015. + * + * Copyright (c) 2015-2023 Paul Ross. All rights reserved. + * + * @code + * MIT License + * + * Copyright (c) 2017-2023 Paul Ross + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * @endcode + */ + +#ifndef SkipList_HeadNode_h +#define SkipList_HeadNode_h + +#include +//#ifdef SKIPLIST_THREAD_SUPPORT +// #include +//#endif +#include + +#ifdef INCLUDE_METHODS_THAT_USE_STREAMS +#include +#endif // INCLUDE_METHODS_THAT_USE_STREAMS + +#include "IntegrityEnums.h" + +/** HeadNode + * + * @brief A HeadNode is a skip list. This is the single node leading to all other content Nodes. + * + * Example: + * + * @code + * OrderedStructs::SkipList::HeadNode sl; + * for (int i = 0; i < 100; ++i) { + * sl.insert(i * 22.0 / 7.0); + * } + * sl.size(); // 100 + * sl.at(50); // Value of 50 pi + * sl.remove(sl.at(50)); // Remove 50 pi + * @endcode + * + * Created by Paul Ross on 03/12/2015. + * + * Copyright (c) 2015-2023 Paul Ross. All rights reserved. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + */ +template > +class HeadNode { +public: + /** + * Constructor for and Empty Skip List. + * + * @param cmp The comparison function for comparing Node values. + */ + HeadNode(_Compare cmp=_Compare()) : _count(0), _compare(cmp), _pool(cmp) { +#ifdef INCLUDE_METHODS_THAT_USE_STREAMS + _dot_file_subgraph = 0; +#endif + } + // Const methods + // + // Returns true if the value is present in the skip list. + bool has(const T &value) const; + // Returns the value at the index in the skip list. + // Will throw an OrderedStructs::SkipList::IndexError if index out of range. + const T &at(size_t index) const; + // Find the value at index and write count values to dest. + // Will throw a SkipList::IndexError if any index out of range. + // This is useful for rolling median on even length lists where + // the caller might want to implement the mean of two values. + void at(size_t index, size_t count, std::vector &dest) const; + // Computes index of the first occurrence of a value + // Will throw a ValueError if the value does not exist in the skip list + size_t index(const T& value) const; + // Number of values in the skip list. + size_t size() const; + // Non-const methods + // + // Insert a value. + void insert(const T &value); + // Remove a value and return it. + // Will throw a ValueError is value not present. + T remove(const T &value); + + // Const methods that are mostly used for debugging and visualisation. + // + // Number of linked lists that are in the skip list. + size_t height() const; + // Number of linked lists that the node at index has. + // Will throw a SkipList::IndexError if idx out of range. + size_t height(size_t idx) const; + // The skip width of the node at index has. + // May throw a SkipList::IndexError + size_t width(size_t idx, size_t level) const; + +#ifdef INCLUDE_METHODS_THAT_USE_STREAMS + void dotFile(std::ostream &os) const; + void dotFileFinalise(std::ostream &os) const; +#endif // INCLUDE_METHODS_THAT_USE_STREAMS + + // Returns non-zero if the integrity of this data structure is compromised + // This is a thorough but expensive check! + IntegrityCheck lacksIntegrity() const; + // Estimate of the number of bytes used by the skip list + size_t size_of() const; + virtual ~HeadNode(); + +protected: + void _adjRemoveRefs(size_t level, Node *pNode); + const Node *_nodeAt(size_t idx) const; + +protected: + // Standardised way of throwing a ValueError + void _throwValueErrorNotFound(const T &value) const; + void _throwIfValueDoesNotCompare(const T &value) const; + // Internal integrity checks + IntegrityCheck _lacksIntegrityCyclicReferences() const; + IntegrityCheck _lacksIntegrityWidthAccumulation() const; + IntegrityCheck _lacksIntegrityNodeReferencesNotInList() const; + IntegrityCheck _lacksIntegrityOrder() const; +protected: + /// Number of nodes in the list. + size_t _count; + /// My node references, the size of this is the largest height in the list + SwappableNodeRefStack _nodeRefs; + /// Comparison function. + _Compare _compare; + typename Node::_Pool _pool; +#ifdef INCLUDE_METHODS_THAT_USE_STREAMS + /// Used to count how many sub-graphs have been plotted + mutable size_t _dot_file_subgraph; +#endif + +private: + /// Prevent cctor and operator= + HeadNode(const HeadNode &that); + HeadNode &operator=(const HeadNode &that) const; +}; + +/** + * Returns true if the value is present in the skip list. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param value Value to check if it is in the Skip List. + * @return true if in the Skip List. + */ +template +bool HeadNode::has(const T &value) const { + _throwIfValueDoesNotCompare(value); +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + for (size_t l = _nodeRefs.height(); l-- > 0;) { + assert(_nodeRefs[l].pNode); + if (_nodeRefs[l].pNode->has(value)) { + return true; + } + } + return false; +} + +/** + * Returns the value at a particular index. + * Will throw an OrderedStructs::SkipList::IndexError if index out of range. + * + * If @ref SKIPLIST_THREAD_SUPPORT is defined this will block. + * + * See _throw_exceeds_size() that does the throw. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param index The index. + * @return The value at that index. + */ +template +const T &HeadNode::at(size_t index) const { +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + const Node *pNode = _nodeAt(index); + assert(pNode); + return pNode->value(); +} + +/** + * Find the count number of value starting at index and write them to dest. + * + * Will throw a OrderedStructs::SkipList::IndexError if any index out of range. + * + * This is useful for rolling median on even length lists where the caller might want to implement the mean of two + * values. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param index The index. + * @param count The number of values to retrieve. + * @param dest The vector of values + */ +template +void HeadNode::at(size_t index, size_t count, + std::vector &dest) const { +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + dest.clear(); + const Node *pNode = _nodeAt(index); + // _nodeAt will (should) throw an IndexError so this + // assert should always be true + assert(pNode); + while (count) { + if (! pNode) { + _throw_exceeds_size(_count); + } + dest.push_back(pNode->value()); + pNode = pNode->next(); + --count; + } +} + +/** + * Computes index of the first occurrence of a value + * Will throw a OrderedStructs::SkipList::ValueError if the value does not exist in the skip list + * Will throw a OrderedStructs::SkipList::FailedComparison if the value is not comparable. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param value The value to search for. + * @return + */ +template +size_t HeadNode::index(const T& value) const { + _throwIfValueDoesNotCompare(value); + size_t idx; + +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + for (size_t l = _nodeRefs.height(); l-- > 0;) { + assert(_nodeRefs[l].pNode); + if (_nodeRefs[l].pNode->index(value, idx, l)) { + idx += _nodeRefs[l].width; + assert(idx > 0); + return idx - 1; + } + } + _throwValueErrorNotFound(value); + return 0; +} + +/** + * Return the number of values in the Skip List. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @return The number of values in the Skip List. + */ +template +size_t HeadNode::size() const { + return _count; +} + +template +size_t HeadNode::height() const { +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + size_t val = _nodeRefs.height(); + return val; +} + +/** + * Return the number of linked lists that the node at index has. + * + * Will throw a OrderedStructs::SkipList::IndexError if the index out of range. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param idx The index of the Skip List node. + * @return The number of linked lists that the node at the index has. + */ +template +size_t HeadNode::height(size_t idx) const { +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + const Node *pNode = _nodeAt(idx); + assert(pNode); + return pNode->height(); +} + +/** + * The skip width of the Node at index has at the given level. + * Will throw an IndexError if the index is out of range. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param idx The index. + * @param level The level. + * @return Width of Node. + */ +template +size_t HeadNode::width(size_t idx, size_t level) const { +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + // Will throw if out of range. + const Node *pNode = _nodeAt(idx); + assert(pNode); + if (level >= pNode->height()) { + _throw_exceeds_size(pNode->height()); + } + return pNode->nodeRefs()[level].width; +} + +/** + * Find the Node at the given index. + * Will throw an IndexError if the index is out of range. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param idx The index. + * @return The Node. + */ +template +const Node *HeadNode::_nodeAt(size_t idx) const { + if (idx < _count) { + for (size_t l = _nodeRefs.height(); l-- > 0;) { + if (_nodeRefs[l].pNode && _nodeRefs[l].width <= idx + 1) { + size_t new_index = idx + 1 - _nodeRefs[l].width; + const Node *pNode = _nodeRefs[l].pNode->at(new_index); + if (pNode) { + return pNode; + } + } + } + } + assert(idx >= _count); + _throw_exceeds_size(_count); + // Should not get here as _throw_exceeds_size() will always throw. + return NULL; +} + +/** + * Insert a value. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param value + */ +template +void HeadNode::insert(const T &value) { +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#ifdef SKIPLIST_THREAD_SUPPORT_TRACE + std::cout << "HeadNode insert() thread: " << std::this_thread::get_id() << std::endl; +#endif +#endif + Node *pNode = nullptr; + size_t level = _nodeRefs.height(); + + _throwIfValueDoesNotCompare(value); + while (level-- > 0) { + assert(_nodeRefs[level].pNode); + pNode = _nodeRefs[level].pNode->insert(value); + if (pNode) { + break; + } + } + if (! pNode) { + pNode = _pool.Allocate(value); + level = 0; + } + assert(pNode); + SwappableNodeRefStack &thatRefs = pNode->nodeRefs(); + if (thatRefs.canSwap()) { + // Expand this to that + while (_nodeRefs.height() < thatRefs.height()) { + _nodeRefs.push_back(nullptr, _count + 1); + } + if (level < thatRefs.swapLevel()) { + // Happens when we were originally, say 3 high (max height of any + // previously seen node). Then a node is created + // say 5 high. In that case this will be at level 2 and + // thatRefs.swapLevel() will be 3 + assert(level + 1 == thatRefs.swapLevel()); + thatRefs[thatRefs.swapLevel()].width += _nodeRefs[level].width; + ++level; + } + // Now swap + while (level < _nodeRefs.height() && thatRefs.canSwap()) { + assert(thatRefs.canSwap()); + assert(level == thatRefs.swapLevel()); + _nodeRefs[level].width -= thatRefs[level].width - 1; + thatRefs.swap(_nodeRefs); + if (thatRefs.canSwap()) { + assert(thatRefs[thatRefs.swapLevel()].width == 0); + thatRefs[thatRefs.swapLevel()].width = _nodeRefs[level].width; + } + ++level; + } + // Check all references swapped + assert(! thatRefs.canSwap()); + // Check that all 'this' pointers created on construction have been moved + assert(thatRefs.noNodePointerMatches(pNode)); + } + if (level < thatRefs.swapLevel()) { + // Happens when we are, say 5 high then a node is created + // and consumed by the next node say 3 high. In that case this will be + // at level 2 and thatRefs.swapLevel() will be 3 + assert(level + 1 == thatRefs.swapLevel()); + ++level; + } + // Increment my widths as my references are now going over the top of + // pNode. + while (level < _nodeRefs.height() && level >= thatRefs.height()) { + _nodeRefs[level++].width += 1; + } + ++_count; +#ifdef SKIPLIST_THREAD_SUPPORT +#ifdef SKIPLIST_THREAD_SUPPORT_TRACE + std::cout << "HeadNode insert() thread: " << std::this_thread::get_id() << " DONE" << std::endl; +#endif +#endif +} + +/** + * Adjust references >= level for removal of the node pNode. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param level Current level. + * @param pNode Node to swap references with. + */ +template +void HeadNode::_adjRemoveRefs(size_t level, + Node *pNode) { + assert(pNode); + SwappableNodeRefStack &thatRefs = pNode->nodeRefs(); + + // Swap all remaining levels + // This assertion checks that if swapping can take place we must be at the + // same level. + assert(! thatRefs.canSwap() || level == thatRefs.swapLevel()); + while (level < _nodeRefs.height() && thatRefs.canSwap()) { + assert(level == thatRefs.swapLevel()); + // Compute the new width for the new node + thatRefs[level].width += _nodeRefs[level].width - 1; + thatRefs.swap(_nodeRefs); + ++level; + if (! thatRefs.canSwap()) { + break; + } + } + assert(! thatRefs.canSwap()); + // Decrement my widths as my references are now going over the top of + // pNode. + while (level < _nodeRefs.height()) { + _nodeRefs[level++].width -= 1; + } + // Decrement my stack while top has a NULL pointer. + while (_nodeRefs.height() && ! _nodeRefs[_nodeRefs.height() - 1].pNode) { + _nodeRefs.pop_back(); + } +} + +/** + * Remove a Node with a value. + * May throw a ValueError if the value is not found. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param value The value in the Node to remove. + * @return The value removed. + */ +template +T HeadNode::remove(const T &value) { +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#ifdef SKIPLIST_THREAD_SUPPORT_TRACE + std::cout << "HeadNode remove() thread: " << std::this_thread::get_id() << std::endl; +#endif +#endif + Node *pNode = nullptr; + size_t level; + + _throwIfValueDoesNotCompare(value); + for (level = _nodeRefs.height(); level-- > 0;) { + assert(_nodeRefs[level].pNode); + pNode = _nodeRefs[level].pNode->remove(level, value); + if (pNode) { + break; + } + } + if (! pNode) { + _throwValueErrorNotFound(value); + } + // Take swap level as some swaps will have been dealt with by the remove() above. + _adjRemoveRefs(pNode->nodeRefs().swapLevel(), pNode); + --_count; + T ret_val = _pool.Release(pNode); +#ifdef SKIPLIST_THREAD_SUPPORT_TRACE + std::cout << "HeadNode remove() thread: " << std::this_thread::get_id() << " DONE" << std::endl; +#endif + return ret_val; +} + +/** + * Throw a ValueError in a consistent fashion. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param value The value to put into the ValueError. + */ +template +void HeadNode::_throwValueErrorNotFound(const T &value) const { +#ifdef INCLUDE_METHODS_THAT_USE_STREAMS + std::ostringstream oss; + oss << "Value " << value << " not found."; + std::string err_msg = oss.str(); +#else + std::string err_msg = "Value not found."; +#endif + throw ValueError(err_msg); +} + +/** + * Checks that the value == value. + * This will throw a FailedComparison if that is not the case, for example NaN. + * + * @note + * The Node class is (should be) not directly accessible by the user so we can just assert(value == value) in Node. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param value + */ +template +void HeadNode::_throwIfValueDoesNotCompare(const T &value) const { + if (value != value) { + throw FailedComparison( + "Can not work with something that does not compare equal to itself."); + } +} + +/** + * This tests that at every level >= 0 the sequence of node pointers + * at that level does not contain a cyclic reference. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @return An IntegrityCheck enum. + */ +template +IntegrityCheck HeadNode::_lacksIntegrityCyclicReferences() const { + assert(_nodeRefs.height()); + // Check for cyclic references at each level + for (size_t level = 0; level < _nodeRefs.height(); ++level) { + Node *p1 = _nodeRefs[level].pNode; + Node *p2 = _nodeRefs[level].pNode; + while (p1 && p2) { + p1 = p1->nodeRefs()[level].pNode; + if (p2->nodeRefs()[level].pNode) { + p2 = p2->nodeRefs()[level].pNode->nodeRefs()[level].pNode; + } else { + p2 = nullptr; + } + if (p1 && p2 && p1 == p2) { + return HEADNODE_DETECTS_CYCLIC_REFERENCE; + } + } + } + return INTEGRITY_SUCCESS; +} + +/** + * This tests that at every level > 0 the node to node width is the same + * as the accumulated node to node widths at level - 1. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @return An IntegrityCheck enum. + */ +template +IntegrityCheck HeadNode::_lacksIntegrityWidthAccumulation() const { + assert(_nodeRefs.height()); + for (size_t level = 1; level < _nodeRefs.height(); ++level) { + const Node *pl = _nodeRefs[level].pNode; + const Node *pl_1 = _nodeRefs[level - 1].pNode; + assert(pl && pl_1); // No nulls allowed in HeadNode + size_t wl = _nodeRefs[level].width; + size_t wl_1 = _nodeRefs[level - 1].width; + while (true) { + while (pl != pl_1) { + assert(pl_1); // Could only happen if a lower reference was NULL and the higher non-NULL. + wl_1 += pl_1->width(level - 1); + pl_1 = pl_1->pNode(level - 1); + } + if (wl != wl_1) { + return HEADNODE_LEVEL_WIDTHS_MISMATCH; + } + if (pl == nullptr && pl_1 == nullptr) { + break; + } + wl = pl->width(level); + wl_1 = pl_1->width(level - 1); + pl = pl->pNode(level); + pl_1 = pl_1->pNode(level - 1); + } + } + return INTEGRITY_SUCCESS; +} + +/** + * This tests the integrity of each Node. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @return An IntegrityCheck enum. + */ +template +IntegrityCheck HeadNode::_lacksIntegrityNodeReferencesNotInList() const { + assert(_nodeRefs.height()); + + IntegrityCheck result; + std::set*> nodeSet; + const Node *pNode = _nodeRefs[0].pNode; + assert(pNode); + + // First gather all nodes, slightly awkward code here is so that + // NULL is always included. + nodeSet.insert(pNode); + do { + pNode = pNode->next(); + nodeSet.insert(pNode); + } while (pNode); + assert(nodeSet.size() == _count + 1); // All nodes plus NULL + // Then test each node does not have pointers that are not in nodeSet + pNode = _nodeRefs[0].pNode; + while (pNode) { + result = pNode->lacksIntegrityRefsInSet(nodeSet); + if (result) { + return result; + } + pNode = pNode->next(); + } + return INTEGRITY_SUCCESS; +} + +/** + * Integrity check. Traverse the lowest level and check that the ordering + * is correct according to the compare function. The HeadNode checks that the + * Node(s) have correctly applied the compare function. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @return An IntegrityCheck enum. + */ +template +IntegrityCheck HeadNode::_lacksIntegrityOrder() const { + if (_nodeRefs.height()) { + // Traverse the lowest level list iteratively deleting as we go + // Doing this recursivley could be expensive as we are at level 0. + const Node *node = _nodeRefs[0].pNode; + const Node *next; + while (node) { + next = node->next(); + if (next && _compare(next->value(), node->value())) { + return HEADNODE_DETECTS_OUT_OF_ORDER; + } + node = next; + } + } + return INTEGRITY_SUCCESS; +} + +/** + * Full integrity check. + * This calls the other integrity check functions. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @return An IntegrityCheck enum. + */ +template +IntegrityCheck HeadNode::lacksIntegrity() const { +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + if (_nodeRefs.height()) { + IntegrityCheck result = _nodeRefs.lacksIntegrity(); + if (result) { + return result; + } + if (! _nodeRefs.noNodePointerMatches(nullptr)) { + return HEADNODE_CONTAINS_NULL; + } + // Check all nodes for integrity + const Node *pNode = _nodeRefs[0].pNode; + while (pNode) { + result = pNode->lacksIntegrity(_nodeRefs.height()); + if (result) { + return result; + } + pNode = pNode->next(); + } + // Check count against total number of nodes + pNode = _nodeRefs[0].pNode; + size_t total = 0; + while (pNode) { + total += pNode->nodeRefs()[0].width; + pNode = pNode->next(); + } + if (total != _count) { + return HEADNODE_COUNT_MISMATCH; + } + result = _lacksIntegrityWidthAccumulation(); + if (result) { + return result; + } + result = _lacksIntegrityCyclicReferences(); + if (result) { + return result; + } + result = _lacksIntegrityNodeReferencesNotInList(); + if (result) { + return result; + } + result = _lacksIntegrityOrder(); + if (result) { + return result; + } + } + return INTEGRITY_SUCCESS; +} + +/** + * Returns an estimate of the memory usage of an instance. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @return The size of the memory estimate. + */ +template +size_t HeadNode::size_of() const { +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + // sizeof(*this) includes the size of _nodeRefs but _nodeRefs.size_of() + // includes sizeof(_nodeRefs) so we need to subtract to avoid double counting + size_t ret_val = sizeof(*this) + _nodeRefs.size_of() - sizeof(_nodeRefs); + if (_nodeRefs.height()) { + const Node *node = _nodeRefs[0].pNode; + while (node) { + ret_val += node->size_of(); + node = node->next(); + } + } + return ret_val; +} + +/** + * Destructor. + * This deletes all Nodes. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + */ +template +HeadNode::~HeadNode() { + // Hmm could this deadlock? +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + if (_nodeRefs.height()) { + // Traverse the lowest level list iteratively deleting as we go + // Doing this recursivley could be expensive as we are at level 0. + const Node *node = _nodeRefs[0].pNode; + const Node *next; + while (node) { + next = node->next(); + delete node; + --_count; + node = next; + } + } + assert(_count == 0); +} + +#ifdef INCLUDE_METHODS_THAT_USE_STREAMS + +/** + * Create a DOT file of the internal representation. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param os Where to write the DOT file. + */ +template +void HeadNode::dotFile(std::ostream &os) const { +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + if (_dot_file_subgraph == 0) { + os << "digraph SkipList {" << std::endl; + os << "label = \"SkipList.\"" << std::endl; + os << "graph [rankdir = \"LR\"];" << std::endl; + os << "node [fontsize = \"12\" shape = \"ellipse\"];" << std::endl; + os << "edge [];" << std::endl; + os << std::endl; + } + os << "subgraph cluster" << _dot_file_subgraph << " {" << std::endl; + os << "style=dashed" << std::endl; + os << "label=\"Skip list iteration " << _dot_file_subgraph << "\"" << std::endl; + os << std::endl; + os << "\"HeadNode" << _dot_file_subgraph; + os << "\" [" << std::endl; + os << "label = \""; + // Write out the fields + if (_nodeRefs.height()) { + for (size_t level = _nodeRefs.height(); level-- > 0;) { + os << "{ " << _nodeRefs[level].width << " | "; + os << " "; + os << std::hex << _nodeRefs[level].pNode << std::dec; + os << "}"; + if (level > 0) { + os << " | "; + } + } + } else { + os << "Empty HeadNode"; + } + os << "\"" << std::endl; + os << "shape = \"record\"" << std::endl; + os << "];" << std::endl; + // Edges for head node + for (size_t level = 0; level < _nodeRefs.height(); ++level) { + os << "\"HeadNode"; + os << _dot_file_subgraph; + os << "\":f" << level + 1 << " -> "; + _nodeRefs[level].pNode->writeNode(os, _dot_file_subgraph); + os << ":w" << level + 1 << " [];" << std::endl; + } + os << std::endl; + // Now all nodes via level 0, if non-empty + if (_nodeRefs.height()) { + Node *pNode = this->_nodeRefs[0].pNode; + pNode->dotFile(os, _dot_file_subgraph); + } + os << std::endl; + // NULL, the sentinal node + if (_nodeRefs.height()) { + os << "\"node"; + os << _dot_file_subgraph; + os << "0x0\" [label = \""; + for (size_t level = _nodeRefs.height(); level-- > 0;) { + os << " NULL"; + if (level) { + os << " | "; + } + } + os << "\" shape = \"record\"];" << std::endl; + } + // End: "subgraph cluster1 {" + os << "}" << std::endl; + os << std::endl; + _dot_file_subgraph += 1; +} + +/** + * Finalise the DOT file of the internal representation. + * + * @tparam T Type of the values in the Skip List. + * @tparam _Compare Compare function. + * @param os Where to write the DOT file. + */ +template +void HeadNode::dotFileFinalise(std::ostream &os) const { +#ifdef SKIPLIST_THREAD_SUPPORT + std::lock_guard lock(gSkipListMutex); +#endif + if (_dot_file_subgraph > 0) { + // Link the nodes together with an invisible node. + // node0 [shape=record, label = " | | | | | | | | | ", + // style=invis, + // width=0.01]; + os << "node0 [shape=record, label = \""; + for (size_t i = 0; i < _dot_file_subgraph; ++i) { + os << " | "; + } + os << "\", style=invis, width=0.01];" << std::endl; + // Now: + // node0:f0 -> HeadNode [style=invis]; + // node0:f1 -> HeadNode1 [style=invis]; + for (size_t i = 0; i < _dot_file_subgraph; ++i) { + os << "node0:f" << i << " -> HeadNode" << i; + os << " [style=invis];" << std::endl; + } + _dot_file_subgraph = 0; + } + os << "}" << std::endl; +} + +#endif // INCLUDE_METHODS_THAT_USE_STREAMS + +/************************** END: HeadNode *******************************/ + +#endif // SkipList_HeadNode_h diff --git a/third_party/skiplist/IntegrityEnums.h b/third_party/skiplist/IntegrityEnums.h new file mode 100755 index 000000000000..143d0a3e7f00 --- /dev/null +++ b/third_party/skiplist/IntegrityEnums.h @@ -0,0 +1,62 @@ +#ifndef SkipList_IntegrityEnums_h +#define SkipList_IntegrityEnums_h + +/** + * @file + * + * Project: skiplist + * + * Integrity codes for structures in this code. + * + * Created by Paul Ross on 11/12/2015. + * + * Copyright (c) 2015-2023 Paul Ross. All rights reserved. + * + * @code + * MIT License + * + * Copyright (c) 2015-2023 Paul Ross + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * @endcode + */ + +/** + * Various integrity codes for structures in this code. + */ +enum IntegrityCheck { + INTEGRITY_SUCCESS = 0, + // SwappableNodeRefStack integrity checks + NODEREFS_WIDTH_ZERO_NOT_UNITY = 100, + NODEREFS_WIDTH_DECREASING, + // Node integrity checks + NODE_HEIGHT_ZERO = 200, + NODE_HEIGHT_EXCEEDS_HEADNODE, + NODE_NON_NULL_AFTER_NULL, + NODE_SELF_REFERENCE, + NODE_REFERENCES_NOT_IN_GLOBAL_SET, + // HeadNode integrity checks + HEADNODE_CONTAINS_NULL = 300, + HEADNODE_COUNT_MISMATCH, + HEADNODE_LEVEL_WIDTHS_MISMATCH, + HEADNODE_DETECTS_CYCLIC_REFERENCE, + HEADNODE_DETECTS_OUT_OF_ORDER, +}; + +#endif diff --git a/third_party/skiplist/LICENSE b/third_party/skiplist/LICENSE new file mode 100644 index 000000000000..cee9bac95d52 --- /dev/null +++ b/third_party/skiplist/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017-2023 Paul Ross + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/skiplist/Node.h b/third_party/skiplist/Node.h new file mode 100755 index 000000000000..93d495047263 --- /dev/null +++ b/third_party/skiplist/Node.h @@ -0,0 +1,641 @@ +/** + * @file + * + * Project: skiplist + * + * Concurrency Tests. + * + * Created by Paul Ross on 03/12/2015. + * + * Copyright (c) 2015-2023 Paul Ross. All rights reserved. + * + * @code + * MIT License + * + * Copyright (c) 2015-2023 Paul Ross + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * @endcode + */ + +#ifndef SkipList_Node_h +#define SkipList_Node_h + +#include "IntegrityEnums.h" + +#if __cplusplus < 201103L +#define nullptr NULL +#endif + +/**************************** Node *********************************/ + +/** + * @brief A single node in a Skip List containing a value and references to other downstream Node objects. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + */ +template +class Node { +public: + struct _Pool { + explicit _Pool(_Compare _cmp) : _compare(_cmp), cache(nullptr) { + } + ~_Pool() { + delete cache; + } + Node *Allocate(const T &value) { + if (cache) { + Node *result = cache; + cache = nullptr; + result->Initialize(value); + return result; + } + + return new Node(value, _compare, *this); + } + + T Release(Node *pNode) { + T result = pNode->value(); + std::swap(pNode, cache); + delete pNode; + return result; + } + + _Compare _compare; + Node* cache; + pcg32_fast prng; + }; + + Node(const T &value, _Compare _cmp, _Pool &pool); + // Const methods + // + /// Returns the node value + const T &value() const { return _value; } + // Returns true if the value is present in the skip list from this node onwards. + bool has(const T &value) const; + // Returns the value at the index in the skip list from this node onwards. + // Will return nullptr is not found. + const Node *at(size_t idx) const; + // Computes index of the first occurrence of a value + bool index(const T& value, size_t &idx, size_t level) const; + /// Number of linked lists that this node engages in, minimum 1. + size_t height() const { return _nodeRefs.height(); } + // Return the pointer to the next node at level 0 + const Node *next() const; + // Return the width at given level. + size_t width(size_t level) const; + // Return the node pointer at given level, only used for HeadNode + // integrity checks. + const Node *pNode(size_t level) const; + + // Non-const methods + /// Get a reference to the node references + SwappableNodeRefStack &nodeRefs() { return _nodeRefs; } + /// Get a reference to the node references + const SwappableNodeRefStack &nodeRefs() const { return _nodeRefs; } + // Insert a node + Node *insert(const T &value); + // Remove a node + Node *remove(size_t call_level, const T &value); + // An estimate of the number of bytes used by this node + size_t size_of() const; + +#ifdef INCLUDE_METHODS_THAT_USE_STREAMS + void dotFile(std::ostream &os, size_t suffix = 0) const; + void writeNode(std::ostream &os, size_t suffix = 0) const; +#endif // INCLUDE_METHODS_THAT_USE_STREAMS + + // Integrity checks, returns non-zero on failure + IntegrityCheck lacksIntegrity(size_t headnode_height) const; + IntegrityCheck lacksIntegrityRefsInSet(const std::set*> &nodeSet) const; + +protected: + Node *_adjRemoveRefs(size_t level, Node *pNode); + + void Initialize(const T &value) { + _value = value; + _nodeRefs.clear(); + do { + _nodeRefs.push_back(this, _nodeRefs.height() ? 0 : 1); + } while (_pool.prng() < _pool.prng.max() / 2); + } + +protected: + T _value; + SwappableNodeRefStack _nodeRefs; + // Comparison function + _Compare _compare; + _Pool &_pool; +private: + // Prevent cctor and operator= + Node(const Node &that); + Node &operator=(const Node &that) const; +}; + +/** + * Constructor. + * This also creates a SwappableNodeRefStack of random height by tossing a virtual coin. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param value The value of the Node. + * @param _cmp The comparison function. + */ +template +Node::Node(const T &value, _Compare _cmp, _Pool &pool) : \ + _value(value), _compare(_cmp), _pool(pool) { + Initialize(value); +} + +/** + * Returns true if the value is present in the skip list from this node onwards. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param value The value to look for. + * @return true if the value is present in the skip list from this node onwards. + */ +template +bool Node::has(const T &value) const { + assert(_nodeRefs.height()); + assert(value == value); // value can not be NaN for example + // Effectively: if (value > _value) { + if (_compare(_value, value)) { + for (size_t l = _nodeRefs.height(); l-- > 0;) { + if (_nodeRefs[l].pNode && _nodeRefs[l].pNode->has(value)) { + return true; + } + } + return false; + } + // Effectively: return value == _value; // false if value smaller + return !_compare(value, _value) && !_compare(_value, value); +} + +/** + * Return a pointer to the n'th node. + * Start (or continue) from the highest level, drop down a level if not found. + * Return nullptr if not found at level 0. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param idx The index from hereon. If zero return this. + * @return Pointer to the Node or nullptr. + */ +template +const Node *Node::at(size_t idx) const { + assert(_nodeRefs.height()); + if (idx == 0) { + return this; + } + for (size_t l = _nodeRefs.height(); l-- > 0;) { + if (_nodeRefs[l].pNode && _nodeRefs[l].width <= idx) { + return _nodeRefs[l].pNode->at(idx - _nodeRefs[l].width); + } + } + return nullptr; +} + +/** + * Computes index of the first occurrence of a value. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param value The value to find. + * @param idx The current index, this will be updated. + * @param level The current level to search from. + * @return true if found, false otherwise. + */ +template +bool Node::index(const T& value, size_t &idx, size_t level) const { + assert(_nodeRefs.height()); + assert(value == value); // value can not be NaN for example + assert(level < _nodeRefs.height()); + // Search has overshot, try again at a lower level. + //if (_value > value) { + if (_compare(value, _value)) { + return false; + } + // First check if we match but we have been approached at a high level + // as there may be an earlier node of the same value but with fewer + // node references. In that case this search has to fail and try at a + // lower level. + // If however the level is 0 and we match then set the idx to 0 to mark us. + // Effectively: if (_value == value) { + if (!_compare(value, _value) && !_compare(_value, value)) { + if (level > 0) { + return false; + } + idx = 0; + return true; + } + // Now work our way down + // NOTE: We initialise l as level + 1 because l-- > 0 will decrement it to + // the correct initial value + for (size_t l = level + 1; l-- > 0;) { + assert(l < _nodeRefs.height()); + if (_nodeRefs[l].pNode && _nodeRefs[l].pNode->index(value, idx, l)) { + idx += _nodeRefs[l].width; + return true; + } + } + return false; +} + +/** + * Return the pointer to the next node at level 0. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @return The next node at level 0. + */ +template +const Node *Node::next() const { + assert(_nodeRefs.height()); + return _nodeRefs[0].pNode; +} + +/** + * Return the width at given level. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param level The requested level. + * @return The width. + */ +template +size_t Node::width(size_t level) const { + assert(level < _nodeRefs.height()); + return _nodeRefs[level].width; +} + +/** + * Return the node pointer at given level, only used for HeadNode integrity checks. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param level The requested level. + * @return The Node. + */ +template +const Node *Node::pNode(size_t level) const { + assert(level < _nodeRefs.height()); + return _nodeRefs[level].pNode; +} + +/** + * Insert a new node with a value. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param value The value of the Node to insert. + * @return Pointer to the new Node or nullptr on failure. + */ +template +Node *Node::insert(const T &value) { + assert(_nodeRefs.height()); + assert(_nodeRefs.noNodePointerMatches(this)); + assert(! _nodeRefs.canSwap()); + assert(value == value); // NaN check for double + + // Effectively: if (value < _value) { + if (_compare(value, _value)) { + return nullptr; + } + // Recursive search for where to put the node + Node *pNode = nullptr; + size_t level = _nodeRefs.height(); + // Effectively: if (value >= _value) { + if (! _compare(value, _value)) { + for (level = _nodeRefs.height(); level-- > 0;) { + if (_nodeRefs[level].pNode) { + pNode = _nodeRefs[level].pNode->insert(value); + if (pNode) { + break; + } + } + } + } + // Effectively: if (! pNode && value >= _value) { + if (! pNode && !_compare(value, _value)) { + // Insert new node here + pNode = _pool.Allocate(value); + level = 0; + } + assert(pNode); // Should never get here unless a NaN has slipped through + // Adjust references by marching up and recursing back. + SwappableNodeRefStack &thatRefs = pNode->_nodeRefs; + if (! thatRefs.canSwap()) { + // Have an existing node or new node that is all swapped. + // All I need to do is adjust my overshooting nodes and return + // this for the caller to do the same. + level = thatRefs.height(); + while (level < _nodeRefs.height()) { + _nodeRefs[level].width += 1; + ++level; + } + // The caller just has to increment its references that overshoot this + assert(! _nodeRefs.canSwap()); + return this; + } + // March upwards + if (level < thatRefs.swapLevel()) { + assert(level == thatRefs.swapLevel() - 1); + // This will happen when say a 3 high node, A, finds a 2 high + // node, B, that creates a new 2+ high node. A will be at + // level 1 and the new node will have swapLevel == 2 after + // B has swapped. + // Add the level to the accumulator at the next level + thatRefs[thatRefs.swapLevel()].width += _nodeRefs[level].width; + ++level; + } + size_t min_height = std::min(_nodeRefs.height(), thatRefs.height()); + while (level < min_height) { + assert(thatRefs.canSwap()); + assert(level == thatRefs.swapLevel()); + assert(level < thatRefs.height()); + assert(_nodeRefs[level].width > 0); + assert(thatRefs[level].width > 0); + _nodeRefs[level].width -= thatRefs[level].width - 1; + assert(_nodeRefs[level].width > 0); + thatRefs.swap(_nodeRefs); + if (thatRefs.canSwap()) { + assert(thatRefs[thatRefs.swapLevel()].width == 0); + thatRefs[thatRefs.swapLevel()].width = _nodeRefs[level].width; + } + ++level; + } + // Upwards march complete, now recurse back ('left'). + if (! thatRefs.canSwap()) { + // All done with pNode locally. + assert(level == thatRefs.height()); + assert(thatRefs.height() <= _nodeRefs.height()); + assert(level == thatRefs.swapLevel()); + // Adjust my overshooting nodes + while (level < _nodeRefs.height()) { + _nodeRefs[level].width += 1; + ++level; + } + // The caller just has to increment its references that overshoot this + assert(! _nodeRefs.canSwap()); + pNode = this; + } + return pNode; +} + +/** + * Adjust the Node references. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param level The level of the caller's node. + * @param pNode The Node to swap references with. + * @return The Node with swapped references. + */ +template +Node *Node::_adjRemoveRefs(size_t level, Node *pNode) { + assert(pNode); + SwappableNodeRefStack &thatRefs = pNode->_nodeRefs; + + assert(pNode != this); + if (level < thatRefs.swapLevel()) { + assert(level == thatRefs.swapLevel() - 1); + ++level; + } + if (thatRefs.canSwap()) { + assert(level == thatRefs.swapLevel()); + while (level < _nodeRefs.height() && thatRefs.canSwap()) { + assert(level == thatRefs.swapLevel()); + // Compute the new width for the new node + thatRefs[level].width += _nodeRefs[level].width - 1; + thatRefs.swap(_nodeRefs); + ++level; + } + assert(thatRefs.canSwap() || thatRefs.allNodePointerMatch(pNode)); + } + // Decrement my widths as my refs are over the top of the missing pNode. + while (level < _nodeRefs.height()) { + _nodeRefs[level].width -= 1; + ++level; + thatRefs.incSwapLevel(); + } + assert(! _nodeRefs.canSwap()); + return pNode; +} + +/** + * Remove a Node with the given value to be removed. + * The return value must be deleted, the other Nodes have been adjusted as required. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param call_level Level the caller Node is at. + * @param value Value of the detached Node to remove. + * @return A pointer to the Node to be free'd or nullptr on failure. + */ +template +Node *Node::remove(size_t call_level, + const T &value) { + assert(_nodeRefs.height()); + assert(_nodeRefs.noNodePointerMatches(this)); + + Node *pNode = nullptr; + // Effectively: if (value >= _value) { + if (!_compare(value, _value)) { + for (size_t level = call_level + 1; level-- > 0;) { + if (_nodeRefs[level].pNode) { + // Make progress to the right + pNode = _nodeRefs[level].pNode->remove(level, value); + if (pNode) { + return _adjRemoveRefs(level, pNode); + } + } + // Make progress down + } + } + if (! pNode) { // Base case + // We only admit to being the node to remove if the caller is + // approaching us from level 0. It is entirely likely that + // the same (or an other) caller can see us at a higher level + // but the recursion stack will not have been set up in the correct + // step wise fashion so that the lower level references will + // not be swapped. + // Effectively: if (call_level == 0 && value == _value) { + if (call_level == 0 && !_compare(value, _value) && !_compare(_value, value)) { + _nodeRefs.resetSwapLevel(); + return this; + } + } + assert(pNode == nullptr); + return nullptr; +} + +/* + * This checks the internal concistency of a Node. It returns 0 + * if succesful, non-zero on error. The tests are: + * + * - Height must be >= 1 + * - Height must not exceed HeadNode height. + * - NULL pointer must not have a non-NULL above them. + * - Node pointers must not be self-referential. + */ +/** + * This checks the internal concistency of a Node. It returns 0 + * if succesful, non-zero on error. The tests are: + * + * - Height must be >= 1 + * - Height must not exceed HeadNode height. + * - NULL pointer must not have a non-NULL above them. + * - Node pointers must not be self-referential. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param headnode_height Height of HeadNode. + * @return An IntegrityCheck enum. + */ +template +IntegrityCheck Node::lacksIntegrity(size_t headnode_height) const { + IntegrityCheck result = _nodeRefs.lacksIntegrity(); + if (result) { + return result; + } + if (_nodeRefs.height() == 0) { + return NODE_HEIGHT_ZERO; + } + if (_nodeRefs.height() > headnode_height) { + return NODE_HEIGHT_EXCEEDS_HEADNODE; + } + // Test: All nodes above a nullprt must be nullptr + size_t level = 0; + while (level < _nodeRefs.height()) { + if (! _nodeRefs[level].pNode) { + break; + } + ++level; + } + while (level < _nodeRefs.height()) { + if (_nodeRefs[level].pNode) { + return NODE_NON_NULL_AFTER_NULL; + } + ++level; + } + // No reference should be to self. + if (! _nodeRefs.noNodePointerMatches(this)) { + return NODE_SELF_REFERENCE; + } + return INTEGRITY_SUCCESS; +} + +/** + * Checks that this Node is in the set held by the HeadNode. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param nodeSet Set of Nodes held by the HeadNode. + * @return An IntegrityCheck enum. + */ +template +IntegrityCheck Node::lacksIntegrityRefsInSet(const std::set*> &nodeSet) const { + size_t level = 0; + while (level < _nodeRefs.height()) { + if (nodeSet.count(_nodeRefs[level].pNode) == 0) { + return NODE_REFERENCES_NOT_IN_GLOBAL_SET; + } + ++level; + } + return INTEGRITY_SUCCESS; +} + +/** + * Returns an estimate of the memory usage of an instance. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @return The memory estimate of this Node. + */ +template +size_t Node::size_of() const { + // sizeof(*this) includes the size of _nodeRefs but _nodeRefs.size_of() + // includes sizeof(_nodeRefs) so we need to subtract to avoid double counting + return sizeof(*this) + _nodeRefs.size_of() - sizeof(_nodeRefs); +} + + +#ifdef INCLUDE_METHODS_THAT_USE_STREAMS + +/** + * Writes out this Node address. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param os Where to write. + * @param suffix The suffix (node number). + */ +template +void Node::writeNode(std::ostream &os, size_t suffix) const { + os << "\"node"; + os << suffix; + os << std::hex << this << std::dec << "\""; +} + +/** + * Writes out a fragment of a DOT file representing this Node. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param os Wheere to write. + * @param suffix The node number. + */ +template +void Node::dotFile(std::ostream &os, size_t suffix) const { + assert(_nodeRefs.height()); + writeNode(os, suffix); + os << " [" << std::endl; + os << "label = \""; + for (size_t level = _nodeRefs.height(); level-- > 0;) { + os << " { " << _nodeRefs[level].width; + os << " | "; + os << std::hex << _nodeRefs[level].pNode << std::dec; + os << " }"; + os << " |"; + } + os << " " << _value << "\"" << std::endl; + os << "shape = \"record\"" << std::endl; + os << "];" << std::endl; + // Now edges + for (size_t level = 0; level < _nodeRefs.height(); ++level) { + writeNode(os, suffix); + os << ":f" << level + 1 << " -> "; + _nodeRefs[level].pNode->writeNode(os, suffix); + // writeNode(os, suffix); + // os << ":f" << i + 1 << " [];" << std::endl; + os << ":w" << level + 1 << " [];" << std::endl; + } + assert(_nodeRefs.height()); + if (_nodeRefs[0].pNode) { + _nodeRefs[0].pNode->dotFile(os, suffix); + } +} + +#endif // INCLUDE_METHODS_THAT_USE_STREAMS + +/************************** END: Node *******************************/ + +#endif // SkipList_Node_h diff --git a/third_party/skiplist/NodeRefs.h b/third_party/skiplist/NodeRefs.h new file mode 100755 index 000000000000..839752e435db --- /dev/null +++ b/third_party/skiplist/NodeRefs.h @@ -0,0 +1,251 @@ +// +// NodeRefs.h +// SkipList +// +// Created by Paul Ross on 03/12/2015. +// Copyright (c) 2017 Paul Ross. All rights reserved. +// + +#ifndef SkipList_NodeRefs_h +#define SkipList_NodeRefs_h + +#include "IntegrityEnums.h" + +/// Forward reference +template +class Node; + +/** + * @brief A PoD struct that contains a pointer to a Node and a width that represents the coarser linked list span to the + * next Node. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + */ +template > +struct NodeRef { + Node *pNode; + size_t width; +}; + +/******************** SwappableNodeRefStack **********************/ + +/** + * @brief Class that represents a stack of references to other nodes. + * + * Each reference is a NodeRef so a pointer to a Node and a width. + * This just does simple bookkeeping on this stack. + * + * It also facilitates swapping references with another SwappableNodeRefStack when inserting or removing a Node. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + */ +template +class SwappableNodeRefStack { +public: + /** + * Constructor. Initialises the swap level to 0. + */ + SwappableNodeRefStack() : _swapLevel(0) {} + + // Const methods + // ------------- + // Subscript read/write + const NodeRef &operator[](size_t level) const; + + NodeRef &operator[](size_t level); + + /// Number of nodes referenced. + size_t height() const { + return _nodes.size(); + } + + /// The current swap level + size_t swapLevel() const { return _swapLevel; } + + /// true if a swap can take place _swapLevel < height() + bool canSwap() const { return _swapLevel < height(); } + + // Returns true if there is no record of p in my data that + // could lead to circular references + bool noNodePointerMatches(const Node *p) const; + + // Returns true if all pointers in my data are equal to p. + bool allNodePointerMatch(const Node *p) const; + + // Non-const methods + // ----------------- + /// Add a new reference + void push_back(Node *p, size_t w) { + struct NodeRef val = {p, w}; + _nodes.push_back(val); + } + + /// Remove top reference + void pop_back() { + _nodes.pop_back(); + } + + // Swap reference at current swap level with another SwappableNodeRefStack + void swap(SwappableNodeRefStack &val); + + /// Reset the swap level (for example before starting a remove). + void resetSwapLevel() { _swapLevel = 0; } + + /// Increment the swap level. + /// This is used when removing nodes where the parent node can record to what level it has made its adjustments + /// so the grand parent knows where to start. + /// + /// For this reason the _swapLevel can easily be >= _nodes.size(). + void incSwapLevel() { ++_swapLevel; } + + IntegrityCheck lacksIntegrity() const; + + // Returns an estimate of the memory usage of an instance + size_t size_of() const; + + // Resets to the construction state + void clear() { _swapLevel = 0; _nodes.clear(); } + +protected: + /// Stack of NodeRef node references. + std::vector > _nodes; + /// The current swap level. + size_t _swapLevel; + +private: + /// Prevent cctor + SwappableNodeRefStack(const SwappableNodeRefStack &that); + + /// Prevent operator= + SwappableNodeRefStack &operator=(const SwappableNodeRefStack &that) const; +}; + +/** + * The readable NodeRef at the given level. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param level The level. + * @return A reference to the Node. + */ +template +const NodeRef &SwappableNodeRefStack::operator[](size_t level) const { + // NOTE: No bounds checking on vector::operator[], so this assert will do + assert(level < _nodes.size()); + return _nodes[level]; +} + +/** + * The writeable NodeRef at the given level. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param level The level. + * @return A reference to the Node. + */ +template +NodeRef &SwappableNodeRefStack::operator[](size_t level) { + // NOTE: No bounds checking on vector::operator[], so this assert will do + assert(level < _nodes.size()); + return _nodes[level]; +} + +/** + * Whether all node references are swapped. + * Should be true after an insert operation. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param p The Node. + * @return true if all the Node references are swapped (none are referring to the given Node). + */ +template +bool SwappableNodeRefStack::noNodePointerMatches(const Node *p) const { + for (size_t level = height(); level-- > 0;) { + if (p == _nodes[level].pNode) { + return false; + } + } + return true; +} + +/** + * Returns true if all pointers in my data are equal to p. + * Should be true after a remove operation. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param p The Node. + * @return true if all the Node references are un-swapped (all are referring to the given Node). + */ +template +bool SwappableNodeRefStack::allNodePointerMatch(const Node *p) const { + for (size_t level = height(); level-- > 0;) { + if (p != _nodes[level].pNode) { + return false; + } + } + return true; +} + +/** + * Swap references with another SwappableNodeRefStack at the current swap level. + * This also increments the swap level. + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @param val The SwappableNodeRefStack. + */ +template +void SwappableNodeRefStack::swap(SwappableNodeRefStack &val) { + assert(_swapLevel < height()); + NodeRef temp = val[_swapLevel]; + val[_swapLevel] = _nodes[_swapLevel]; + _nodes[_swapLevel] = temp; + ++_swapLevel; +} + +/** + * This checks the internal consistency of the object. It returns + * INTEGRITY_SUCCESS [0] if successful or non-zero on error. + * The tests are: + * + * - Widths must all be >= 1 + * - Widths must be weakly increasing with increasing level + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @return An IntegrityCheck enum. + */ +template +IntegrityCheck SwappableNodeRefStack::lacksIntegrity() const { + if (height()) { + if (_nodes[0].width != 1) { + return NODEREFS_WIDTH_ZERO_NOT_UNITY; + } + for (size_t level = 1; level < height(); ++level) { + if (_nodes[level].width < _nodes[level - 1].width) { + return NODEREFS_WIDTH_DECREASING; + } + } + } + return INTEGRITY_SUCCESS; +} + +/** + * Returns an estimate of the memory usage of an instance + * + * @tparam T The type of the Skip List Node values. + * @tparam _Compare A comparison function for type T. + * @return The memory estimate. + */ +template +size_t SwappableNodeRefStack::size_of() const { + return sizeof(*this) + _nodes.capacity() * sizeof(struct NodeRef); +} + +/********************* END: SwappableNodeRefStack ****************************/ + +#endif // SkipList_NodeRefs_h diff --git a/third_party/skiplist/RollingMedian.h b/third_party/skiplist/RollingMedian.h new file mode 100755 index 000000000000..604a1f221c09 --- /dev/null +++ b/third_party/skiplist/RollingMedian.h @@ -0,0 +1,202 @@ +#ifndef __SkipList__RollingMedian__ +#define __SkipList__RollingMedian__ + +/** + * @file + * + * Project: skiplist + * + * Rolling Median. + * + * Created by Paul Ross on 18/12/2015. + * + * Copyright (c) 2015-2023 Paul Ross. All rights reserved. + * + * @code + * MIT License + * + * Copyright (c) 2015-2023 Paul Ross + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * @endcode + */ + +#include + +#include "SkipList.h" + +namespace OrderedStructs { + /** + * @brief Namespace for the C++ Rolling Median. + */ + namespace RollingMedian { + +/** + * Error codes. + */ + enum RollingMedianResult { + ROLLING_MEDIAN_SUCCESS = 0, + ROLLING_MEDIAN_SOURCE_STRIDE, + ROLLING_MEDIAN_DESTINATION_STRIDE, + ROLLING_MEDIAN_WIN_LENGTH, + }; + +/** + * Return an error code. + */ +#define ROLLING_MEDIAN_ERROR_CHECK \ + do { \ + if (src_stride == 0) { \ + return ROLLING_MEDIAN_SOURCE_STRIDE; \ + } \ + if (dest_stride == 0) { \ + return ROLLING_MEDIAN_DESTINATION_STRIDE; \ + } \ + if (win_length == 0) { \ + return ROLLING_MEDIAN_WIN_LENGTH; \ + } \ + } while (0) + +/* Helpers for the destination memory area. + * Iterating through the destination to see the replaced values is done thus: + * + * for (int i = 0; + * i < RollingMedian::dest_size(COUNT, WIN_LENGTH, DEST_STRIDE); + * i += DEST_STRIDE) { + * ... + * } + */ + +/** + * Returns the size of the destination array for a rolling median on an array + * of count values with a window of win_length and a destination stride. + * + * @param count Number of input values. + * @param win_length Window length. + * @return Number of destination values. + */ + size_t dest_count(size_t count, size_t win_length) { + return 1 + count - win_length; + } + +/** + * Returns the size of the destination array for a rolling median on an array + * of count values with a window of win_length and a destination stride. + * + * @param count Number of input values. + * @param win_length Window length. + * @param dest_stride The destination stride given a 2D array. + * @return Size of destination array. + */ + size_t dest_size(size_t count, + size_t win_length, + size_t dest_stride) { + return dest_count(count, win_length) * dest_stride; + } + +/** + * Rolling median where only the odd mid-index is considered. + * If the win_length is even then (win_length - 1) / 2 value is used. + * See even_odd_index() for a different treatment of even lengths. + * This is valid for all types T. + * It is up to the caller to ensure that there is enough space in dest for + * the results, use dest_size() for this. + * + * @tparam T Type of the value(s). + * @param src Source array of values. + * @param src_stride Source stride for 2D arrays. + * @param count Number of input values. + * @param win_length Window length. + * @param dest The destination array. + * @param dest_stride The destination stride given a 2D array. + * @return The result of the Rolling Median operation as a RollingMedianResult enum. + */ + template + RollingMedianResult odd_index(const T *src, size_t src_stride, + size_t count, size_t win_length, + T *dest, size_t dest_stride) { + SkipList::HeadNode sl; + const T *tail = src; + + ROLLING_MEDIAN_ERROR_CHECK; + for (size_t i = 0; i < count; ++i) { + sl.insert(*src); + if (i + 1 >= win_length) { + *dest = sl.at(win_length / 2); + dest += dest_stride; + sl.remove(*tail); + tail += src_stride; + } + src += src_stride; + } + return ROLLING_MEDIAN_SUCCESS; + } + +/* + */ +/** + * Rolling median where the mean of adjacent values is used + * when the window size is even length. + * This requires T / 2 to be meaningful. + * It is up to the caller to ensure that there is enough space in dest for + * the results, use dest_size() for this. + * + * @tparam T Type of the value(s). + * @param src Source array of values. + * @param src_stride Source stride for 2D arrays. + * @param count Number of input values. + * @param win_length Window length. + * @param dest The destination array. + * @param dest_stride The destination stride given a 2D array. + * @return The result of the Rolling Median operation as a RollingMedianResult enum. + */ + template + RollingMedianResult even_odd_index(const T *src, size_t src_stride, + size_t count, size_t win_length, + T *dest, size_t dest_stride) { + if (win_length % 2 == 1) { + return odd_index(src, src_stride, + count, win_length, + dest, dest_stride); + } else { + ROLLING_MEDIAN_ERROR_CHECK; + SkipList::HeadNode sl; + std::vector buffer; + + const T *tail = src; + for (size_t i = 0; i < count; ++i) { + sl.insert(*src); + if (i + 1 >= win_length) { + sl.at((win_length - 1) / 2, 2, buffer); + assert(buffer.size() == 2); + *dest = buffer[0] / 2 + buffer[1] / 2; + dest += dest_stride; + sl.remove(*tail); + tail += src_stride; + } + src += src_stride; + } + } + return ROLLING_MEDIAN_SUCCESS; + } + + } // namespace RollingMedian +} // namespace OrderedStructs + +#endif /* defined(__SkipList__RollingMedian__) */ diff --git a/third_party/skiplist/SkipList.cpp b/third_party/skiplist/SkipList.cpp new file mode 100755 index 000000000000..b53affd253b4 --- /dev/null +++ b/third_party/skiplist/SkipList.cpp @@ -0,0 +1,40 @@ +// +// SkipList.cpp +// SkipList +// +// Created by Paul Ross on 19/12/2015. +// Copyright (c) 2017 Paul Ross. All rights reserved. +// + +#include +#ifdef SKIPLIST_THREAD_SUPPORT +#include +#endif +#include + +#include "SkipList.h" + +namespace duckdb_skiplistlib { +namespace skip_list { + +// This throws an IndexError when the index value >= size. +// If possible the error will have an informative message. +#ifdef INCLUDE_METHODS_THAT_USE_STREAMS +void _throw_exceeds_size(size_t index) { + std::ostringstream oss; + oss << "Index out of range 0 <= index < " << index; + std::string err_msg = oss.str(); +#else +void _throw_exceeds_size(size_t /* index */) { + std::string err_msg = "Index out of range."; +#endif + throw IndexError(err_msg); +} + +#ifdef SKIPLIST_THREAD_SUPPORT + std::mutex gSkipListMutex; +#endif + + +} // namespace SkipList +} // namespace OrderedStructs diff --git a/third_party/skiplist/SkipList.h b/third_party/skiplist/SkipList.h new file mode 100755 index 000000000000..5cf27c2044e9 --- /dev/null +++ b/third_party/skiplist/SkipList.h @@ -0,0 +1,549 @@ +#ifndef __SkipList__SkipList__ +#define __SkipList__SkipList__ + +/** + * @file + * + * Project: skiplist + * + * Created by Paul Ross on 15/11/2015. + * + * Copyright (c) 2015-2023 Paul Ross. All rights reserved. + * + * @code + * MIT License + * + * Copyright (c) 2017-2023 Paul Ross + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * @endcode + */ + +/** @mainpage + * + * General + * ======= + * This is a generic skip list implementation for any type T. + * There only restriction on the size of this skip list is the available memory. + * + * A skip list is a singly linked list of ordered nodes with a series of other, coarser, lists that reference a subset + * of nodes in order. + * 'Level' is an size_t that specifies the coarseness of the linked list, level 0 is the linked list to every node. + * + * Typically: + * - The list at level 1 links (ideally) to every other node. + * - The list at level 2 links (ideally) to every fourth node and so on. + * + * In general the list at level n links (ideally) to every 2**n node. + * + * These additional lists allow rapid location, insertion and removal of nodes. + * These lists are created and updated in a probabilistic manner and this is achieved at node creation time by tossing a + * virtual coin. + * These lists are not explicit, they are implied by the references between Nodes at a particular level. + * + * Skip lists are alternatives to balanced trees for operations such as a rolling median. + * The disadvantages of skip lists are: + - Less space efficient than balanced trees (see 'Space Complexity' below). + - performance is similar to balanced trees except finding the mid-point which is @c O(log(N)) for a skip list + compared with @c O(1) for a balanced tree. + * + * The advantages claimed for skip lists are: + - The insert() and remove() logic is simpler (I do not subscribe to this). + * + * Examples of Usage + * ================= + * + * C++ + * --- + * @code + * #include "SkipList.h" + * + * OrderedStructs::SkipList::HeadNode sl; + * + * sl.insert(42.0); + * sl.insert(21.0); + * sl.insert(84.0); + * sl.has(42.0) // true + * sl.size() // 3 + * sl.at(1) // 42.0 + * @endcode + * + * Python + * ------ + * @code + * import orderedstructs + * + * sl = orderedstructs.SkipList(float) + * sl.insert(42.0) + * sl.insert(21.0) + * sl.insert(84.0) + * sl.has(42.0) # True + * sl.size() # 3 + * sl.at(1) # 42.0 + * @endcode + * + * Design + * ====== + * + * This skip list design has the coarser lists implemented as optional additional links between the nodes themselves. + * The drawing below shows a well formed skip list with a head node ('HED') linked to the ordered nodes A to H. + * + * @code + * + | 5 E |------------------------------------->| 4 0 |---------------------------->| NULL | + | 1 A |->| 2 C |---------->| 2 E |---------->| 2 G |---------->| 2 0 |---------->| NULL | + | 1 A |->| 1 B |->| 1 C |->| 1 D |->| 1 E |->| 1 F |->| 1 G |->| 1 H |->| 1 0 |->| NULL | + | HED | | A | | B | | C | | D | | E | | F | | G | | H | + * @endcode + * + * Each node has a stack of values that consist of a 'width' and a reference to another node (or NULL). + * At the lowest level is a singly linked list and all widths are 1. + * At level 1 the links are (ideally) to every other node and at level 2 the links are (ideally) to every fourth node. + * The 'widths' at each node/level specify how many level 0 nodes the node reference skips over. + * The widths are used to rapidly index into the skip list starting from the highest level and working down. + * + * To understand how the skip list is maintained, consider insertion; before inserting node 'E' the skip list would look + * like this: + * + * @code + * + | 1 A |->| 2 C |---------->| 3 G |------------------->| 2 0 |---------->| NULL | + | 1 A |->| 1 B |->| 1 C |->| 1 D |->| 1 F |->| 1 G |->| 1 H |->| 1 0 |->| NULL | + | HED | | A | | B | | C | | D | | F | | G | | H | + * + * @endcode + * + * Inserting 'E' means: + * - Finding where 'E' should be inserted (after 'D'). + * - Creating node 'E' with a random height (heads/heads/tails so 3 high). + * - Updating 'D' to refer to 'E' at level 0. + * - Updating 'C' to refer to 'E' at level 1 and decreasing C's width to 2, increasing 'E' width at level 1 to 2. + * - Expanding HED to level 2 with a reference to 'E' and a width of 5. + * - Updating 'E' with a reference to NULL and a width of 4. + * + * Recursive Search for the Node Position + * -------------------------------------- + * The first two operations are done by a recursive search. + * This creates the chain HED[1], A[1], C[1], C[0], D[0] thus E will be created at level 0 and inserted after D. + * + * Node Creation + * ------------- + * Node E is created with a stack containing a single pointer to the next node F. + * Then a virtual coin is tossed, for each 'head' and extra NULL reference is added to the stack. + * If a 'tail' is thrown the stack is complete. + * In the example above when creating Node E we have encountered tosses of 'head', 'head', 'tail'. + * + * Recursive Unwinding + * ------------------- + * The remaining operations are done as recursion unwinds: + * + * - D[0] and C[0] update E[1] with their cumulative width (2). + * - C[1] adds 1 to width (a new node is inserted) then subtracts E[1]. + * - Then C[1]/E[1] are swapped so that the pointers and widths are correct. + * - And so on until HED is reached, in this case a new level is added and HED[2] swapped with E[2]. + * + * A similar procedure will be followed, in reverse, when removing E to restore the state of the skip list to the + * picture above. + * + * Algorithms + * ========== + * There doesn't seem to be much literature that I could find about the algorithms used for a skip list so these have + * all been invented here. + * + * In these descriptions: + * + * - 'right' is used to mean move to a higher ordinal node. + * - 'left' means to move to a lower ordinal node. + * - 'up' means to move to a coarser grained list, 'top' is the highest. + * - 'down' means to move to a finer grained list, 'bottom' is the level 0. + * + * has(T &val) const; + * ------------------ + * This returns true/false is the skip list has the value val. + * Starting at the highest possible level search rightwards until a larger value is encountered, then drop down. + * At level 0 return true if the Node value is the supplied value. + * This is @c O(log(N)) for well formed skip lists. + * + * at(size_t index) const; + * ----------------------- + * This returns the value of type T at the given index. + * The algorithm is similar to has(T &val) but the search moves rightwards if the width is less than the index and + * decrementing the index by the width. + * + * If progress can not be made to the right, drop down a level. + * If the index is 0 return the node value. + * This is @c O(log(N)) for well formed skip lists. + * + * insert(T &val) + * -------------- + * Finding the place to insert a node follows the has(T &val) algorithm to find the place in the skip list to create a + * new node. + * A duplicate value is inserted after any existing duplicate values. + * + * - All nodes are inserted at level 0 even if the insertion point can be seen at a higher level. + * - The search for an insertion location creates a recursion stack that, when unwound, updates the traversed nodes + * {width, Node*} data. + * - Once an insert position is found a Node is created whose height is determined by repeatedly tossing a virtual coin + * until a 'tails' is thrown. + * - This node initially has all node references to be to itself (this), and the widths set to 1 for level 0 and 0 for + * the remaining levels, they will be used to sum the widths at one level down. + * - On recursion ('left') each node adds its width to the new node at the level above the current level. + * - On moving up a level the current node swaps its width and node pointer with the new node at that new level. + * + * remove(T &val) + * -------------- + * + * If there are duplicate values the last one is removed first, this is for symmetry with insert(). + * Essentially this is the same as insert() but once the node is found the insert() updating algorithm is reversed and + * the node deleted. + * + * Code Layout + * =========== + * There are three classes defined in their own .h files and these are all included into the SkipList.h file. + * + * The classes are: + * + * SwappableNodeRefStack + * + * This is simple bookkeeping class that has a vector of [{skip_width, Node*}, ...]. + * This vector can be expanded or contracted at will. + * Both HeadNode and Node classes have one of these to manage their references. + * + * Node + * + * This represents a single value in the skip list. + * The height of a Node is determined at construction by tossing a virtual coin, this determines how many coarser + * lists this node participates in. + * A Node has a SwappableNodeRefStack object and a value of type T. + * + * HeadNode + * + * There is one of these per skip list and this provides the API to the entire skip list. + * The height of the HeadNode expands and contracts as required when Nodes are inserted or removed (it is the height + * of the highest Node). + * A HeadNode has a SwappableNodeRefStack object and an independently maintained count of the number of Node objects + * in the skip list. + * + * A Node and HeadNode have specialised methods such as has(), at(), insert(), remove() that traverse the skip lis + * recursively. + * + * Other Files of Significance + * --------------------------- + * SkipList.cpp exposes the random number generator (rand()) and seeder (srand()) so that they can be accessed + * CPython for deterministic testing. + * + * cSkipList.h and cSkipList.cpp contains a CPython module with a SkipList implementation for a number of builtin + * Python types. + * + * IntegrityEnums.h has definitions of error codes that can be created by the skip list integrity checking functions. + * + * Code Idioms + * =========== + * + * Prevent Copying + * --------------- + * Copying operations are (mostly) prohibited for performance reasons. + * The only class that allows copying is struct NodeRef that contains fundamental types. + * All other classes declare their copying operation private and unimplemented (rather than using C++11 delete) for + * compatibility with older compilers. + * + * Reverse Loop of Unsigned int + * ---------------------------- + * In a lot of the code we have to count down from some value to 0 + * with a size_t (an unsigned integer type) The idiom used is this: + * + * @code + * + * for (size_t l = height(); l-- > 0;) { + * // ... + * } + * + * @endcode + * + * The "l-- > 0" means test l against 0 then decrement it. + * l will thus start at the value height() - 1 down to 0 then exit the loop. + * + * @note If l is declared before the loop it will have the maximum value of a size_t unless a break statement is + * encountered. + * + * Roads not Travelled + * =================== + * Certain designs were not explored, here they are and why. + * + * Key/Value Implementation + * ------------------------ + * Skip lists are commonly used for key/value dictionaries. Given things + * like map or unorderedmap I see no reason why a SkipList should be used + * as an alternative. + * + * Adversarial Users + * ----------------- + * If the user knows the behaviour of the random number generator it is possible that they can change the order of + * insertion to create a poor distribution of nodes which will make operations tend to O(N) rather than O(log(N)). + * + * Probability != 0.5 + * ------------------ + * This implementation uses a fair coin to decide the height of the node. + * + * Some literature suggests other values such as p = 0.25 might be more efficient. + * Some experiments seem to show that this is the case with this implementation. + * Here are some results when using a vector of 1 million doubles and a sliding window of 101 where each value is + * inserted and removed and the cental value recovered: + * + * @code + * + Probability calculation p Time compared to p = 0.5 + rand() < RAND_MAX / 16; 0.0625 90% + rand() < RAND_MAX / 8; 0.125 83% + rand() < RAND_MAX / 4; 0.25 80% + rand() < RAND_MAX / 2; 0.5 100% + rand() > RAND_MAX / 4; 0.75 143% + rand() > RAND_MAX / 8; 0.875 201% + * + * @endcode + * + * Optimisation: Re-index Nodes on Complete Traversal + * -------------------------------------------------- + * + * @todo Re-index Nodes on Complete Traversal ??? + * + * Optimisation: Reuse removed nodes for insert() + * ---------------------------------------------- + * @todo Reuse removed nodes for insert() ??? + * + * Reference Counting + * ------------------ + * Some time (and particularly space) improvement could be obtained by reference counting nodes so that duplicate + * values could be eliminated. + * Since the primary use case for this skip list is for computing the rolling median of doubles the chances of + * duplicates are slim. + * For int, long and string there is a higher probability so reference counting might be implemented in the future if + * these types become commonly used. + * + * Use and Array of {skip_width, Node*} rather than a vector + * ---------------------------------------------------------------------- + * + * Less space would be used for each Node if the SwappableNodeRefStack used a dynamically allocated array of + * [{skip_width, Node*}, ...] rather than a vector. + * + * Performance + * =========== + * + * Reference platform: Macbook Pro, 13" running OS X 10.9.5. LLVM version 6.0 targeting x86_64-apple-darwin13.4.0 + * Compiled with -Os (small fast). + * + * Performance of at() and has() + * ----------------------------- + * + * Performance is O(log(N)) where N is the position in the skip list. + * + * On the reference platform this tests as t = 200 log2(N) in nanoseconds for skip lists of doubles. + * This factor of 200 can be between 70 and 500 for the same data but different indices because of the probabilistic + * nature of a skip list. + * For example finding the mid value of 1M doubles takes 3 to 4 microseconds. + * + * @note + * On Linux RHEL5 with -O3 this is much faster with t = 12 log2(N) + * [main.cpp perf_at_in_one_million(), main.cpp perf_has_in_one_million()] + * + * Performance of insert() and remove() + * ------------------------------------ + * A test that inserts then removes a single value in an empty list takes 440 nanoseconds (around 2.3 million per + * second). + * This should be fast as the search space is small. + * + * @note + * Linux RHEL5 with -O3 this is 4.2 million per second. [main.cpp perf_single_insert_remove()] + * + * A test that inserts 1M doubles into a skip list (no removal) takes 0.9 seconds (around 1.1 million per second). + * + * @note + * Linux RHEL5 with -O3 this is similar. [main.cpp perf_large_skiplist_ins_only()] + * + * A test that inserts 1M doubles into a skip list then removes all of them takes 1.0 seconds (around 1 million per second). + * + * @note + * Linux RHEL5 with -O3 this is similar. [main.cpp perf_large_skiplist_ins_rem()] + * + * A test that creates a skip list of 1M doubles then times how long it takes to insert and remove a value at the + * mid-point takes 1.03 microseconds per item (around 1 million per second). + * + * @note + * Linux RHEL5 with -O3 this is around 0.8 million per second. [main.cpp perf_single_ins_rem_middle()] + * + * A test that creates a skip list of 1M doubles then times how long it takes to insert a value, find the value at the + * mid point then remove that value (using insert()/at()/remove()) takes 1.2 microseconds per item (around 0.84 million + * per second). + * + * @note + * Linux RHEL5 with -O3 this is around 0.7 million per second. [main.cpp perf_single_ins_at_rem_middle()] + * + * Performance of a rolling median + * ------------------------------- + * On the reference platform a rolling median (using insert()/at()/remove()) on 1M random values takes about 0.93 + * seconds. + * + * @note + * Linux RHEL5 with -O3 this is about 0.7 seconds. + * [main.cpp perf_1m_median_values(), main.cpp perf_1m_medians_1000_vectors(), main.cpp perf_simulate_real_use()] + * + * The window size makes little difference, a rolling median on 1m items with a window size of 1 takes 0.491 seconds, + * with a window size of 524288 it takes 1.03 seconds. + * + * @note + * Linux RHEL5 with -O3 this is about 0.5 seconds. [main.cpp perf_roll_med_odd_index_wins()] + * + * Space Complexity + * ---------------- + * Given: + * + * - t = sizeof(T) ~ typ. 8 bytes for a double + * - v = sizeof(std::vector>) ~ typ. 32 bytes + * - p = sizeof(Node*) ~ typ. 8 bytes + * - e = sizeof(struct NodeRef) ~ typ. 8 + p = 16 bytes + * + * Then each node: is t + v bytes. + * + * Linked list at level 0 is e bytes per node. + * + * Linked list at level 1 is, typically, e / 2 bytes per node and so on. + * + * So the totality of linked lists is about 2e bytes per node. + * + * The total is N * (t + v + 2 * e) which for T as a double is typically 72 bytes per item. + * + * In practice this has been measured on the reference platform as a bit larger at 86.0 Mb for 1024*1024 doubles. + * + ***************** END: SkipList Documentation *****************/ + +/// Defined if you want the SkipList to have methods that can output +/// to stream (for debugging for example). +/// Defining this will mean that classes grow methods that use streams. +/// Undef this if you want a smaller binary in production as using streams +/// adds typically around 30kb to the binary. +/// However you may loose useful information such as formatted +/// exception messages with extra data. +//#define INCLUDE_METHODS_THAT_USE_STREAMS +#undef INCLUDE_METHODS_THAT_USE_STREAMS + +#include +#include +#include // Used for HeadNode::_lacksIntegrityNodeReferencesNotInList() +#include // Used for class Exception +#include +#include "pcg_random.hpp" + +#ifdef DEBUG +#include +#else +#ifndef assert +#define assert(x) +#endif +#endif // DEBUG + +#ifdef INCLUDE_METHODS_THAT_USE_STREAMS + +#include +#include + +#endif // INCLUDE_METHODS_THAT_USE_STREAMS + +//#define SKIPLIST_THREAD_SUPPORT +//#define SKIPLIST_THREAD_SUPPORT_TRACE + +#ifdef SKIPLIST_THREAD_SUPPORT +#ifdef SKIPLIST_THREAD_SUPPORT_TRACE +#include +#endif +#include +#endif + +/** + * @brief Namespace for all the C++ ordered structures. + */ +namespace duckdb_skiplistlib { + /** + * @brief Namespace for the C++ Slip List. + */ + namespace skip_list { + +/************************ Exceptions ****************************/ + +/** + * @brief Base exception class for all exceptions in the OrderedStructs::SkipList namespace. + */ + class Exception : public std::exception { + public: + explicit Exception(const std::string &in_msg) : msg(in_msg) {} + + const std::string &message() const { return msg; } + + virtual ~Exception() throw() {} + + protected: + std::string msg; + }; + +/** + * @brief Specialised exception case for an index out of range error. + */ + class IndexError : public Exception { + public: + explicit IndexError(const std::string &in_msg) : Exception(in_msg) {} + }; + +/** + * @brief Specialised exception for an value error where the given value does not exist in the Skip List. + */ + class ValueError : public Exception { + public: + explicit ValueError(const std::string &in_msg) : Exception(in_msg) {} + }; + +/** @brief Specialised exception used for NaN detection where value != value (example NaNs). */ + class FailedComparison : public Exception { + public: + explicit FailedComparison(const std::string &in_msg) : Exception(in_msg) {} + }; + +/** + * This throws an IndexError when the index value >= the size of Skip List. + * If @ref INCLUDE_METHODS_THAT_USE_STREAMS is defined then the error will have an informative message. + * + * @param index The out of range index. + */ + void _throw_exceeds_size(size_t index); + +/************************ END: Exceptions ****************************/ + +#ifdef SKIPLIST_THREAD_SUPPORT + /** + * Mutex used in a multi-threaded environment. + */ + extern std::mutex gSkipListMutex; +#endif + +#include "NodeRefs.h" +#include "Node.h" +#include "HeadNode.h" + + } // namespace skip_list +} // namespace duckdb_skiplistlib + +#endif /* defined(__SkipList__SkipList__) */ diff --git a/third_party/thrift/thrift/thrift-config.h b/third_party/thrift/thrift/thrift-config.h index 19e473cf635b..e4761f8d1212 100755 --- a/third_party/thrift/thrift/thrift-config.h +++ b/third_party/thrift/thrift/thrift-config.h @@ -22,7 +22,7 @@ #ifdef _WIN32 -#if defined(_M_IX86) || defined(_M_X64) +#if defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM) || defined(_M_ARM64) #define ARITHMETIC_RIGHT_SHIFT 1 #define SIGNED_RIGHT_SHIFT_IS 1 #endif diff --git a/tools/jdbc/CMakeLists.txt b/tools/jdbc/CMakeLists.txt index d484fef76949..5be0deb773dc 100644 --- a/tools/jdbc/CMakeLists.txt +++ b/tools/jdbc/CMakeLists.txt @@ -10,13 +10,14 @@ endif() include(UseJava) project(DuckDBJDummy NONE) -file(GLOB JAVA_SRC_FILES src/main/java/org/duckdb/*.java) -file(GLOB JAVA_TEST_FILES src/test/java/org/duckdb/test/*.java) +file(GLOB_RECURSE JAVA_SRC_FILES src/main/java/org/duckdb/*.java) +file(GLOB_RECURSE JAVA_TEST_FILES src/test/java/org/duckdb/*.java) set(CMAKE_JAVA_COMPILE_FLAGS -source 1.8 -target 1.8 -encoding utf-8) -add_jar(duckdb_jdbc ${JAVA_SRC_FILES} ${JAVA_TEST_FILES} - META-INF/services/java.sql.Driver GENERATE_NATIVE_HEADERS duckdb-native) +add_jar(duckdb_jdbc ${JAVA_SRC_FILES} META-INF/services/java.sql.Driver + GENERATE_NATIVE_HEADERS duckdb-native) +add_jar(duckdb_jdbc_tests ${JAVA_TEST_FILES} INCLUDE_JARS duckdb_jdbc) include_directories(../../extension/parquet/include) @@ -36,7 +37,7 @@ set_target_properties(duckdb_java PROPERTIES PREFIX "lib") add_custom_command( OUTPUT dummy_jdbc_target - DEPENDS duckdb_java duckdb_jdbc + DEPENDS duckdb_java duckdb_jdbc duckdb_jdbc_tests COMMAND ${Java_JAR_EXECUTABLE} uf duckdb_jdbc.jar -C $ $) diff --git a/tools/jdbc/Makefile b/tools/jdbc/Makefile new file mode 100644 index 000000000000..b3760a3266ce --- /dev/null +++ b/tools/jdbc/Makefile @@ -0,0 +1,18 @@ +ifeq ($(OS),Windows_NT) + # windows is weird + SEP=";" + JARS=tools/jdbc +else + SEP=":" + JARS=build/debug/tools/jdbc +endif + +JAR=$(JARS)/duckdb_jdbc.jar +TEST_JAR=$(JARS)/duckdb_jdbc_tests.jar +CP=$(JAR)$(SEP)$(TEST_JAR) + +test_debug: ../../$(JAR) ../../$(TEST_JAR) + cd ../.. && java -cp $(CP) org.duckdb.TestDuckDBJDBC + +test_release: ../../$(subst debug,release,$(JAR)) ../../$(subst debug,release,$(TEST_JAR)) + cd ../.. && java -cp $(subst debug,release,$(CP)) org.duckdb.TestDuckDBJDBC diff --git a/tools/jdbc/README.md b/tools/jdbc/README.md index 9b5827079411..1ef19be422ef 100644 --- a/tools/jdbc/README.md +++ b/tools/jdbc/README.md @@ -8,3 +8,20 @@ export JAVA_AWT_LIBRARY=$JAVA_HOME/libexec/openjdk.jdk/Contents/Home/lib ``` because the [`FindJNI.cmake`](https://cmake.org/cmake/help/latest/module/FindJNI.html) module doesn't look there for the `awt` library. +### Development + +Be sure to build with `DISABLE_SANITIZER=1` and `BUILD_JDBC=1` enabled + +This will produce two jars in the build folder: +`build//tools/jdbc/duckdb_jdbc.jar` +`build//tools/jdbc/duckdb_jdbc_tests.jar` + +The tests can be ran using this command (taking a `debug` build for example) +``` +java -cp "build/debug/tools/jdbc/duckdb_jdbc_tests.jar:build/debug/tools/jdbc/duckdb_jdbc.jar" org/duckdb/TestDuckDBJDBC +``` + +This optionally takes an argument to only run a single test, for example: +``` +java -cp "build/debug/tools/jdbc/duckdb_jdbc_tests.jar:build/debug/tools/jdbc/duckdb_jdbc.jar" org/duckdb/TestDuckDBJDBC test_valid_but_local_config_throws_exception +``` diff --git a/tools/jdbc/duckdb_extension_config.cmake b/tools/jdbc/duckdb_extension_config.cmake index ba7c0b278241..c274e07970ce 100644 --- a/tools/jdbc/duckdb_extension_config.cmake +++ b/tools/jdbc/duckdb_extension_config.cmake @@ -4,6 +4,5 @@ # # This is the default extension configuration for JDBC builds. Basically it means that all these extensions are # "baked in" to the python binaries. -duckdb_extension_load(visualizer) duckdb_extension_load(parquet) duckdb_extension_load(icu) \ No newline at end of file diff --git a/tools/jdbc/src/jni/duckdb_java.cpp b/tools/jdbc/src/jni/duckdb_java.cpp index ae31569ba37e..d94b4b30862f 100644 --- a/tools/jdbc/src/jni/duckdb_java.cpp +++ b/tools/jdbc/src/jni/duckdb_java.cpp @@ -39,6 +39,7 @@ static jclass J_String; static jclass J_Timestamp; static jclass J_TimestampTZ; static jclass J_Decimal; +static jclass J_ByteArray; static jmethodID J_Bool_booleanValue; static jmethodID J_Byte_byteValue; @@ -78,11 +79,31 @@ static jmethodID J_Iterator_next; static jmethodID J_Entry_getKey; static jmethodID J_Entry_getValue; +static jclass J_UUID; +static jmethodID J_UUID_getMostSignificantBits; +static jmethodID J_UUID_getLeastSignificantBits; + +static jclass J_DuckDBDate; +static jmethodID J_DuckDBDate_getDaysSinceEpoch; + void ThrowJNI(JNIEnv *env, const char *message) { D_ASSERT(J_SQLException); env->ThrowNew(J_SQLException, message); } +static duckdb::vector toFree; + +static jclass GetClassRef(JNIEnv *env, const string &name) { + jclass tmpLocalRef; + tmpLocalRef = env->FindClass(name.c_str()); + D_ASSERT(tmpLocalRef); + jclass globalRef = (jclass)env->NewGlobalRef(tmpLocalRef); + D_ASSERT(globalRef); + toFree.emplace_back(globalRef); + env->DeleteLocalRef(tmpLocalRef); + return globalRef; +} + JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { // Get JNIEnv from vm JNIEnv *env; @@ -141,9 +162,17 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { tmpLocalRef = env->FindClass("org/duckdb/DuckDBTimestampTZ"); J_TimestampTZ = (jclass)env->NewGlobalRef(tmpLocalRef); env->DeleteLocalRef(tmpLocalRef); + + J_DuckDBDate = GetClassRef(env, "org/duckdb/DuckDBDate"); + J_DuckDBDate_getDaysSinceEpoch = env->GetMethodID(J_DuckDBDate, "getDaysSinceEpoch", "()J"); + D_ASSERT(J_DuckDBDate_getDaysSinceEpoch); + tmpLocalRef = env->FindClass("java/math/BigDecimal"); J_Decimal = (jclass)env->NewGlobalRef(tmpLocalRef); env->DeleteLocalRef(tmpLocalRef); + tmpLocalRef = env->FindClass("[B"); + J_ByteArray = (jclass)env->NewGlobalRef(tmpLocalRef); + env->DeleteLocalRef(tmpLocalRef); tmpLocalRef = env->FindClass("java/util/Map"); J_Map_entrySet = env->GetMethodID(tmpLocalRef, "entrySet", "()Ljava/util/Set;"); @@ -158,6 +187,12 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { J_Iterator_next = env->GetMethodID(tmpLocalRef, "next", "()Ljava/lang/Object;"); env->DeleteLocalRef(tmpLocalRef); + tmpLocalRef = env->FindClass("java/util/UUID"); + J_UUID = (jclass)env->NewGlobalRef(tmpLocalRef); + J_UUID_getMostSignificantBits = env->GetMethodID(J_UUID, "getMostSignificantBits", "()J"); + J_UUID_getLeastSignificantBits = env->GetMethodID(J_UUID, "getLeastSignificantBits", "()J"); + env->DeleteLocalRef(tmpLocalRef); + tmpLocalRef = env->FindClass("org/duckdb/DuckDBArray"); D_ASSERT(tmpLocalRef); J_DuckArray = (jclass)env->NewGlobalRef(tmpLocalRef); @@ -241,6 +276,10 @@ JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved) { env->DeleteGlobalRef(J_DuckResultSetMeta); env->DeleteGlobalRef(J_DuckVector); env->DeleteGlobalRef(J_ByteBuffer); + + for (auto &clazz : toFree) { + env->DeleteGlobalRef(clazz); + } } static string byte_array_to_string(JNIEnv *env, jbyteArray ba_j) { @@ -270,6 +309,38 @@ static jobject decode_charbuffer_to_jstring(JNIEnv *env, const char *d_str, idx_ return j_str; } +static Value create_value_from_bigdecimal(JNIEnv *env, jobject decimal) { + jint precision = env->CallIntMethod(decimal, J_Decimal_precision); + jint scale = env->CallIntMethod(decimal, J_Decimal_scale); + + // Java BigDecimal type can have scale that exceeds the precision + // Which our DECIMAL type does not support (assert(width >= scale)) + if (scale > precision) { + precision = scale; + } + + // DECIMAL scale is unsigned, so negative values are not supported + if (scale < 0) { + throw InvalidInputException("Converting from a BigDecimal with negative scale is not supported"); + } + + Value val; + + if (precision <= 18) { // normal sizes -> avoid string processing + jobject no_point_dec = env->CallObjectMethod(decimal, J_Decimal_scaleByPowTen, scale); + jlong result = env->CallLongMethod(no_point_dec, J_Decimal_longValue); + val = Value::DECIMAL((int64_t)result, (uint8_t)precision, (uint8_t)scale); + } else if (precision <= 38) { // larger than int64 -> get string and cast + jobject str_val = env->CallObjectMethod(decimal, J_Decimal_toPlainString); + auto *str_char = env->GetStringUTFChars((jstring)str_val, 0); + val = Value(str_char); + val = val.DefaultCastAs(LogicalType::DECIMAL(precision, scale)); + env->ReleaseStringUTFChars((jstring)str_val, str_char); + } + + return val; +} + /** * Associates a duckdb::Connection with a duckdb::DuckDB. The DB may be shared amongst many ConnectionHolders, but the * Connection is unique to this holder. Every Java DuckDBConnection has exactly 1 of these holders, and they are never @@ -334,8 +405,9 @@ jobject _duckdb_jdbc_startup(JNIEnv *env, jclass, jbyteArray database_j, jboolea try { config.SetOptionByName(key_str, Value(value_str)); - } catch (const Exception &e) { - throw CatalogException("Failed to set configuration option \"%s\"", key_str, e.what()); + } catch (const std::exception &e) { + ErrorData error(e); + throw CatalogException("Failed to set configuration option \"%s\", error: %s", key_str, error.RawMessage()); } } bool cache_instance = database != ":memory:" && !database.empty(); @@ -513,6 +585,10 @@ jobject _duckdb_jdbc_execute(JNIEnv *env, jclass, jobject stmt_ref_buf, jobjectA duckdb_params.push_back( Value::TIMESTAMPTZ((timestamp_t)env->CallLongMethod(param, J_TimestampTZ_getMicrosEpoch))); continue; + } else if (env->IsInstanceOf(param, J_DuckDBDate)) { + duckdb_params.push_back( + Value::DATE((date_t)env->CallLongMethod(param, J_DuckDBDate_getDaysSinceEpoch))); + } else if (env->IsInstanceOf(param, J_Timestamp)) { duckdb_params.push_back( Value::TIMESTAMP((timestamp_t)env->CallLongMethod(param, J_Timestamp_getMicrosEpoch))); @@ -524,37 +600,18 @@ jobject _duckdb_jdbc_execute(JNIEnv *env, jclass, jobject stmt_ref_buf, jobjectA duckdb_params.push_back(Value::DOUBLE(env->CallDoubleMethod(param, J_Double_doubleValue))); continue; } else if (env->IsInstanceOf(param, J_Decimal)) { - jint precision = env->CallIntMethod(param, J_Decimal_precision); - jint scale = env->CallIntMethod(param, J_Decimal_scale); - - // Java BigDecimal type can have scale that exceeds the precision - // Which our DECIMAL type does not support (assert(width >= scale)) - if (scale > precision) { - precision = scale; - } - - // DECIMAL scale is unsigned, so negative values are not supported - if (scale < 0) { - throw InvalidInputException("Converting from a BigDecimal with negative scale is not supported"); - } - - if (precision <= 18) { // normal sizes -> avoid string processing - jobject no_point_dec = env->CallObjectMethod(param, J_Decimal_scaleByPowTen, scale); - jlong result = env->CallLongMethod(no_point_dec, J_Decimal_longValue); - duckdb_params.push_back(Value::DECIMAL((int64_t)result, (uint8_t)precision, (uint8_t)scale)); - } else if (precision <= 38) { // larger than int64 -> get string and cast - jobject str_val = env->CallObjectMethod(param, J_Decimal_toPlainString); - auto *str_char = env->GetStringUTFChars((jstring)str_val, 0); - Value val = Value(str_char); - val = val.DefaultCastAs(LogicalType::DECIMAL(precision, scale)); - - duckdb_params.push_back(val); - env->ReleaseStringUTFChars((jstring)str_val, str_char); - } + Value val = create_value_from_bigdecimal(env, param); + duckdb_params.push_back(val); continue; } else if (env->IsInstanceOf(param, J_String)) { auto param_string = jstring_to_string(env, (jstring)param); duckdb_params.push_back(Value(param_string)); + } else if (env->IsInstanceOf(param, J_ByteArray)) { + duckdb_params.push_back(Value::BLOB_RAW(byte_array_to_string(env, (jbyteArray)param))); + } else if (env->IsInstanceOf(param, J_UUID)) { + auto most_significant = (jlong)env->CallObjectMethod(param, J_UUID_getMostSignificantBits); + auto least_significant = (jlong)env->CallObjectMethod(param, J_UUID_getLeastSignificantBits); + duckdb_params.push_back(Value::UUID(hugeint_t(most_significant, least_significant))); } else { throw InvalidInputException("Unsupported parameter type"); } @@ -757,6 +814,9 @@ jobject ProcessVector(JNIEnv *env, Connection *conn_ref, Vector &vec, idx_t row_ case LogicalTypeId::HUGEINT: constlen_data = env->NewDirectByteBuffer(FlatVector::GetData(vec), row_count * sizeof(hugeint_t)); break; + case LogicalTypeId::UHUGEINT: + constlen_data = env->NewDirectByteBuffer(FlatVector::GetData(vec), row_count * sizeof(uhugeint_t)); + break; case LogicalTypeId::FLOAT: constlen_data = env->NewDirectByteBuffer(FlatVector::GetData(vec), row_count * sizeof(float)); break; @@ -965,6 +1025,11 @@ void _duckdb_jdbc_appender_append_timestamp(JNIEnv *env, jclass, jobject appende get_appender(env, appender_ref_buf)->Append(Value::TIMESTAMP(timestamp)); } +void _duckdb_jdbc_appender_append_decimal(JNIEnv *env, jclass, jobject appender_ref_buf, jobject value) { + Value val = create_value_from_bigdecimal(env, value); + get_appender(env, appender_ref_buf)->Append(val); +} + void _duckdb_jdbc_appender_append_string(JNIEnv *env, jclass, jobject appender_ref_buf, jbyteArray value) { if (env->IsSameObject(value, NULL)) { get_appender(env, appender_ref_buf)->Append(nullptr); @@ -980,6 +1045,9 @@ void _duckdb_jdbc_appender_append_null(JNIEnv *env, jclass, jobject appender_ref } jlong _duckdb_jdbc_arrow_stream(JNIEnv *env, jclass, jobject res_ref_buf, jlong batch_size) { + if (!res_ref_buf) { + throw InvalidInputException("Invalid result set"); + } auto res_ref = (ResultHolder *)env->GetDirectBufferAddress(res_ref_buf); if (!res_ref || !res_ref->res || res_ref->res->HasError()) { throw InvalidInputException("Invalid result set"); diff --git a/tools/jdbc/src/jni/functions.cpp b/tools/jdbc/src/jni/functions.cpp index 1fc57e07d543..a3e998a19f33 100644 --- a/tools/jdbc/src/jni/functions.cpp +++ b/tools/jdbc/src/jni/functions.cpp @@ -10,7 +10,8 @@ JNIEXPORT jobject JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1startup(JNI try { return _duckdb_jdbc_startup(env, param0, param1, param2, param3); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return nullptr; } @@ -21,7 +22,8 @@ JNIEXPORT jobject JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1connect(JNI try { return _duckdb_jdbc_connect(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return nullptr; } @@ -32,7 +34,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1set_1auto_1com try { return _duckdb_jdbc_set_auto_commit(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -41,7 +44,8 @@ JNIEXPORT jboolean JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1get_1auto_ try { return _duckdb_jdbc_get_auto_commit(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return false; } @@ -52,7 +56,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1disconnect(JNI try { return _duckdb_jdbc_disconnect(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -61,7 +66,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1set_1schema(JN try { return _duckdb_jdbc_set_schema(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -70,7 +76,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1set_1catalog(J try { return _duckdb_jdbc_set_catalog(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -79,7 +86,8 @@ JNIEXPORT jstring JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1get_1schema try { return _duckdb_jdbc_get_schema(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return nullptr; } @@ -90,7 +98,8 @@ JNIEXPORT jstring JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1get_1catalo try { return _duckdb_jdbc_get_catalog(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return nullptr; } @@ -101,7 +110,8 @@ JNIEXPORT jobject JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1prepare(JNI try { return _duckdb_jdbc_prepare(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return nullptr; } @@ -111,7 +121,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1release(JNIEnv try { return _duckdb_jdbc_release(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -120,7 +131,8 @@ JNIEXPORT jobject JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1query_1resu try { return _duckdb_jdbc_query_result_meta(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return nullptr; } @@ -132,7 +144,8 @@ JNIEXPORT jobject JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1prepared_1s try { return _duckdb_jdbc_prepared_statement_meta(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return nullptr; } @@ -143,7 +156,8 @@ JNIEXPORT jobject JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1execute(JNI try { return _duckdb_jdbc_execute(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return nullptr; } @@ -154,7 +168,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1free_1result(J try { return _duckdb_jdbc_free_result(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -163,7 +178,8 @@ JNIEXPORT jobjectArray JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1fetch( try { return _duckdb_jdbc_fetch(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return nullptr; } @@ -173,7 +189,8 @@ JNIEXPORT jint JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1fetch_1size(JN try { return _duckdb_jdbc_fetch_size(env, param0); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return -1; } @@ -184,7 +201,8 @@ JNIEXPORT jlong JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1arrow_1stream try { return _duckdb_jdbc_arrow_stream(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return -1; } @@ -196,7 +214,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1arrow_1registe try { return _duckdb_jdbc_arrow_register(env, param0, param1, param2, param3); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -206,7 +225,8 @@ JNIEXPORT jobject JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1create_1app try { return _duckdb_jdbc_create_appender(env, param0, param1, param2, param3); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); return nullptr; } @@ -217,7 +237,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1begi try { return _duckdb_jdbc_appender_begin_row(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -226,7 +247,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1end_ try { return _duckdb_jdbc_appender_end_row(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -235,7 +257,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1flus try { return _duckdb_jdbc_appender_flush(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -244,7 +267,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1interrupt(JNIE try { return _duckdb_jdbc_interrupt(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -253,7 +277,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1clos try { return _duckdb_jdbc_appender_close(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -263,7 +288,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1appe try { return _duckdb_jdbc_appender_append_boolean(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -272,7 +298,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1appe try { return _duckdb_jdbc_appender_append_byte(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -282,7 +309,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1appe try { return _duckdb_jdbc_appender_append_short(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -291,7 +319,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1appe try { return _duckdb_jdbc_appender_append_int(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -300,7 +329,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1appe try { return _duckdb_jdbc_appender_append_long(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -310,7 +340,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1appe try { return _duckdb_jdbc_appender_append_float(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -320,7 +351,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1appe try { return _duckdb_jdbc_appender_append_double(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -330,7 +362,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1appe try { return _duckdb_jdbc_appender_append_string(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -341,7 +374,19 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1appe try { return _duckdb_jdbc_appender_append_timestamp(env, param0, param1, param2); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); + } +} + +JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1append_1decimal(JNIEnv *env, jclass param0, + jobject param1, + jobject param2) { + try { + return _duckdb_jdbc_appender_append_decimal(env, param0, param1, param2); + } catch (const std::exception &e) { + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -350,7 +395,8 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1appe try { return _duckdb_jdbc_appender_append_null(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } @@ -359,6 +405,7 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1create_1extens try { return _duckdb_jdbc_create_extension_type(env, param0, param1); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); } } diff --git a/tools/jdbc/src/jni/functions.cpp.template b/tools/jdbc/src/jni/functions.cpp.template index 5d43bb3b873f..b0ac760c9d08 100644 --- a/tools/jdbc/src/jni/functions.cpp.template +++ b/tools/jdbc/src/jni/functions.cpp.template @@ -9,7 +9,8 @@ JNIEXPORT {{ function.return_type or 'void' }} JNICALL {{function.name}}({{funct try { return {{function.short_name}}({{function.names}}); } catch (const std::exception &e) { - ThrowJNI(env, e.what()); + duckdb::ErrorData error(e); + ThrowJNI(env, error.Message().c_str()); {% if function.return_type == 'jboolean' %} return false; diff --git a/tools/jdbc/src/jni/functions.hpp b/tools/jdbc/src/jni/functions.hpp index 18a392bd10d9..6adb29890686 100644 --- a/tools/jdbc/src/jni/functions.hpp +++ b/tools/jdbc/src/jni/functions.hpp @@ -3,6 +3,7 @@ #pragma once #include "duckdb/common/assert.hpp" +#include "duckdb/common/error_data.hpp" #include "org_duckdb_DuckDBNative.h" #include @@ -186,6 +187,12 @@ JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1appe jobject param1, jlong param2); +void _duckdb_jdbc_appender_append_decimal(JNIEnv *env, jclass param0, jobject param1, jobject param2); + +JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1append_1decimal(JNIEnv *env, jclass param0, + jobject param1, + jobject param2); + void _duckdb_jdbc_appender_append_null(JNIEnv *env, jclass param0, jobject param1); JNIEXPORT void JNICALL Java_org_duckdb_DuckDBNative_duckdb_1jdbc_1appender_1append_1null(JNIEnv *env, jclass param0, diff --git a/tools/jdbc/src/jni/functions.hpp.template b/tools/jdbc/src/jni/functions.hpp.template index 9904e03d5655..990cf3e50ab6 100644 --- a/tools/jdbc/src/jni/functions.hpp.template +++ b/tools/jdbc/src/jni/functions.hpp.template @@ -3,6 +3,7 @@ #pragma once #include "duckdb/common/assert.hpp" +#include "duckdb/common/error_data.hpp" #include "org_duckdb_DuckDBNative.h" #include diff --git a/tools/jdbc/src/main/java/org/duckdb/DuckDBAppender.java b/tools/jdbc/src/main/java/org/duckdb/DuckDBAppender.java index 8ca328a29c4c..1a022b045cd4 100644 --- a/tools/jdbc/src/main/java/org/duckdb/DuckDBAppender.java +++ b/tools/jdbc/src/main/java/org/duckdb/DuckDBAppender.java @@ -4,6 +4,7 @@ import java.nio.charset.StandardCharsets; import java.sql.SQLException; import java.time.LocalDateTime; +import java.math.BigDecimal; import org.duckdb.DuckDBTimestamp; public class DuckDBAppender implements AutoCloseable { @@ -60,6 +61,14 @@ public void appendLocalDateTime(LocalDateTime value) throws SQLException { } } + public void appendBigDecimal(BigDecimal value) throws SQLException { + if (value == null) { + DuckDBNative.duckdb_jdbc_appender_append_null(appender_ref); + } else { + DuckDBNative.duckdb_jdbc_appender_append_decimal(appender_ref, value); + } + } + public void append(float value) throws SQLException { DuckDBNative.duckdb_jdbc_appender_append_float(appender_ref, value); } diff --git a/tools/jdbc/src/main/java/org/duckdb/DuckDBColumnType.java b/tools/jdbc/src/main/java/org/duckdb/DuckDBColumnType.java index 5bddb5540bf3..34a9c9c62dc6 100644 --- a/tools/jdbc/src/main/java/org/duckdb/DuckDBColumnType.java +++ b/tools/jdbc/src/main/java/org/duckdb/DuckDBColumnType.java @@ -11,6 +11,7 @@ public enum DuckDBColumnType { UINTEGER, UBIGINT, HUGEINT, + UHUGEINT, FLOAT, DOUBLE, DECIMAL, diff --git a/tools/jdbc/src/main/java/org/duckdb/DuckDBConnection.java b/tools/jdbc/src/main/java/org/duckdb/DuckDBConnection.java index 76480a8b6173..1a5b0e53a89d 100644 --- a/tools/jdbc/src/main/java/org/duckdb/DuckDBConnection.java +++ b/tools/jdbc/src/main/java/org/duckdb/DuckDBConnection.java @@ -37,7 +37,7 @@ public final class DuckDBConnection implements java.sql.Connection { public static DuckDBConnection newConnection(String url, boolean readOnly, Properties properties) throws SQLException { - if (!url.startsWith("jdbc:duckdb")) { + if (!url.startsWith("jdbc:duckdb:")) { throw new SQLException("DuckDB JDBC URL needs to start with 'jdbc:duckdb:'"); } String db_dir = url.substring("jdbc:duckdb:".length()).trim(); diff --git a/tools/jdbc/src/main/java/org/duckdb/DuckDBDatabaseMetaData.java b/tools/jdbc/src/main/java/org/duckdb/DuckDBDatabaseMetaData.java index a1f63079089a..55c0f054795e 100644 --- a/tools/jdbc/src/main/java/org/duckdb/DuckDBDatabaseMetaData.java +++ b/tools/jdbc/src/main/java/org/duckdb/DuckDBDatabaseMetaData.java @@ -1027,7 +1027,7 @@ public boolean insertsAreDetected(int type) throws SQLException { @Override public boolean supportsBatchUpdates() throws SQLException { - return false; + return true; } @Override diff --git a/tools/jdbc/src/main/java/org/duckdb/DuckDBDate.java b/tools/jdbc/src/main/java/org/duckdb/DuckDBDate.java new file mode 100644 index 000000000000..c1d111ed6b1e --- /dev/null +++ b/tools/jdbc/src/main/java/org/duckdb/DuckDBDate.java @@ -0,0 +1,17 @@ +package org.duckdb; + +import java.sql.Date; +import java.time.LocalDate; +import java.time.temporal.ChronoUnit; + +public class DuckDBDate { + private final long daysSinceEpoch; + + public DuckDBDate(Date date) { + this.daysSinceEpoch = LocalDate.ofEpochDay(0).until(date.toLocalDate(), ChronoUnit.DAYS); + } + + public long getDaysSinceEpoch() { + return daysSinceEpoch; + } +} diff --git a/tools/jdbc/src/main/java/org/duckdb/DuckDBNative.java b/tools/jdbc/src/main/java/org/duckdb/DuckDBNative.java index 85b91b33232a..1b02145b2f60 100644 --- a/tools/jdbc/src/main/java/org/duckdb/DuckDBNative.java +++ b/tools/jdbc/src/main/java/org/duckdb/DuckDBNative.java @@ -2,6 +2,7 @@ import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.net.URL; import java.nio.ByteBuffer; import java.nio.file.Files; @@ -10,8 +11,9 @@ import java.nio.file.StandardCopyOption; import java.sql.SQLException; import java.util.Properties; +import java.math.BigDecimal; -public class DuckDBNative { +class DuckDBNative { static { try { String os_name = ""; @@ -50,7 +52,9 @@ public class DuckDBNative { System.load( Paths.get("../../build/debug/tools/jdbc", lib_res_name).normalize().toAbsolutePath().toString()); } else { - Files.copy(lib_res.openStream(), lib_file, StandardCopyOption.REPLACE_EXISTING); + try (final InputStream lib_res_input_stream = lib_res.openStream()) { + Files.copy(lib_res_input_stream, lib_file, StandardCopyOption.REPLACE_EXISTING); + } new File(lib_file.toString()).deleteOnExit(); System.load(lib_file.toAbsolutePath().toString()); } @@ -154,6 +158,9 @@ protected static native void duckdb_jdbc_appender_append_string(ByteBuffer appen protected static native void duckdb_jdbc_appender_append_timestamp(ByteBuffer appender_ref, long value) throws SQLException; + protected static native void duckdb_jdbc_appender_append_decimal(ByteBuffer appender_ref, BigDecimal value) + throws SQLException; + protected static native void duckdb_jdbc_appender_append_null(ByteBuffer appender_ref) throws SQLException; protected static native void duckdb_jdbc_create_extension_type(ByteBuffer conn_ref) throws SQLException; diff --git a/tools/jdbc/src/main/java/org/duckdb/DuckDBPreparedStatement.java b/tools/jdbc/src/main/java/org/duckdb/DuckDBPreparedStatement.java index 43e4f7b037e8..d00bb2d26bda 100644 --- a/tools/jdbc/src/main/java/org/duckdb/DuckDBPreparedStatement.java +++ b/tools/jdbc/src/main/java/org/duckdb/DuckDBPreparedStatement.java @@ -1,6 +1,8 @@ package org.duckdb; import java.io.InputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; import java.io.Reader; import java.math.BigDecimal; import java.net.URL; @@ -26,7 +28,10 @@ import java.sql.Time; import java.sql.Timestamp; import java.sql.Types; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Calendar; +import java.util.List; import java.time.LocalDateTime; import java.time.OffsetDateTime; @@ -47,6 +52,10 @@ public class DuckDBPreparedStatement implements PreparedStatement { boolean closeOnCompletion = false; private Object[] params = new Object[0]; private DuckDBResultSetMetaData meta = null; + private final List batchedParams = new ArrayList<>(); + private final List batchedStatements = new ArrayList<>(); + private Boolean isBatch = false; + private Boolean isPreparedStatement = false; public DuckDBPreparedStatement(DuckDBConnection conn) throws SQLException { if (conn == null) { @@ -63,6 +72,7 @@ public DuckDBPreparedStatement(DuckDBConnection conn, String sql) throws SQLExce throw new SQLException("sql query parameter cannot be null"); } this.conn = conn; + this.isPreparedStatement = true; prepare(sql); } @@ -161,6 +171,7 @@ public boolean execute() throws SQLException { @Override public ResultSet executeQuery() throws SQLException { + requireNonBatch(); execute(); if (!returnsResultSet) { throw new SQLException("executeQuery() can only be used with queries that return a ResultSet"); @@ -170,6 +181,7 @@ public ResultSet executeQuery() throws SQLException { @Override public int executeUpdate() throws SQLException { + requireNonBatch(); execute(); if (!(returnsChangedRows || returnsNothing)) { throw new SQLException( @@ -180,6 +192,7 @@ public int executeUpdate() throws SQLException { @Override public boolean execute(String sql) throws SQLException { + requireNonBatch(); prepare(sql); return execute(); } @@ -233,6 +246,8 @@ public void setObject(int parameterIndex, Object x) throws SQLException { x = new DuckDBTimestamp((LocalDateTime) x); } else if (x instanceof OffsetDateTime) { x = new DuckDBTimestampTZ((OffsetDateTime) x); + } else if (x instanceof Date) { + x = new DuckDBDate((Date) x); } params[parameterIndex - 1] = x; } @@ -291,6 +306,7 @@ public void clearParameters() throws SQLException { public void close() throws SQLException { if (select_result != null) { select_result.close(); + select_result = null; } if (stmt_ref != null) { DuckDBNative.duckdb_jdbc_release(stmt_ref); @@ -444,17 +460,49 @@ public int getResultSetType() throws SQLException { @Override public void addBatch(String sql) throws SQLException { - throw new SQLFeatureNotSupportedException("addBatch"); + requireNonPreparedStatement(); + this.batchedStatements.add(sql); + this.isBatch = true; } @Override public void clearBatch() throws SQLException { - throw new SQLFeatureNotSupportedException("clearBatch"); + this.batchedParams.clear(); + this.batchedStatements.clear(); + this.isBatch = false; } @Override public int[] executeBatch() throws SQLException { - throw new SQLFeatureNotSupportedException("executeBatch"); + try { + if (this.isPreparedStatement) { + return executeBatchedPreparedStatement(); + } else { + return executeBatchedStatements(); + } + } finally { + clearBatch(); + } + } + + private int[] executeBatchedPreparedStatement() throws SQLException { + int[] updateCounts = new int[this.batchedParams.size()]; + for (int i = 0; i < this.batchedParams.size(); i++) { + params = this.batchedParams.get(i); + execute(); + updateCounts[i] = getUpdateCount(); + } + return updateCounts; + } + + private int[] executeBatchedStatements() throws SQLException { + int[] updateCounts = new int[this.batchedStatements.size()]; + for (int i = 0; i < this.batchedStatements.size(); i++) { + prepare(this.batchedStatements.get(i)); + execute(); + updateCounts[i] = getUpdateCount(); + } + return updateCounts; } @Override @@ -551,12 +599,12 @@ public boolean isWrapperFor(Class iface) { @Override public void setBytes(int parameterIndex, byte[] x) throws SQLException { - throw new SQLFeatureNotSupportedException("setBytes"); + setObject(parameterIndex, x); } @Override public void setDate(int parameterIndex, Date x) throws SQLException { - throw new SQLFeatureNotSupportedException("setDate"); + setObject(parameterIndex, x); } @Override @@ -722,7 +770,9 @@ public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQ @Override public void addBatch() throws SQLException { - throw new SQLFeatureNotSupportedException("addBatch"); + batchedParams.add(params); + clearParameters(); + this.isBatch = true; } @Override @@ -847,7 +897,11 @@ public void setAsciiStream(int parameterIndex, InputStream x) throws SQLExceptio @Override public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { - throw new SQLFeatureNotSupportedException("setBinaryStream"); + try { + setBytes(parameterIndex, JdbcUtils.readAllBytes(x)); + } catch (IOException ioe) { + throw new SQLException("Failed to read from InputStream", ioe); + } } @Override @@ -874,4 +928,16 @@ public void setBlob(int parameterIndex, InputStream inputStream) throws SQLExcep public void setNClob(int parameterIndex, Reader reader) throws SQLException { throw new SQLFeatureNotSupportedException("setNClob"); } + + private void requireNonBatch() throws SQLException { + if (this.isBatch) { + throw new SQLException("Batched queries must be executed with executeBatch."); + } + } + + private void requireNonPreparedStatement() throws SQLException { + if (this.isPreparedStatement) { + throw new SQLException("Cannot add batched SQL statement to PreparedStatement"); + } + } } diff --git a/tools/jdbc/src/main/java/org/duckdb/DuckDBResultSet.java b/tools/jdbc/src/main/java/org/duckdb/DuckDBResultSet.java index 5051bdf190ad..ebd29bb55cfb 100644 --- a/tools/jdbc/src/main/java/org/duckdb/DuckDBResultSet.java +++ b/tools/jdbc/src/main/java/org/duckdb/DuckDBResultSet.java @@ -72,7 +72,7 @@ public ResultSetMetaData getMetaData() throws SQLException { return meta; } - public boolean next() throws SQLException { + public synchronized boolean next() throws SQLException { if (isClosed()) { throw new SQLException("ResultSet was closed"); } @@ -109,7 +109,7 @@ protected void finalize() throws Throwable { close(); } - public boolean isClosed() throws SQLException { + public synchronized boolean isClosed() throws SQLException { return result_ref == null; } @@ -129,7 +129,8 @@ private void check(int columnIndex) throws SQLException { * @param arrow_batch_size batch size of arrow vectors to return * @return an instance of {@link org.apache.arrow.vector.ipc.ArrowReader} */ - public Object arrowExportStream(Object arrow_buffer_allocator, long arrow_batch_size) throws SQLException { + public synchronized Object arrowExportStream(Object arrow_buffer_allocator, long arrow_batch_size) + throws SQLException { if (isClosed()) { throw new SQLException("Result set is closed"); } @@ -284,6 +285,13 @@ public BigInteger getHugeint(int columnIndex) throws SQLException { return current_chunk[columnIndex - 1].getHugeint(chunk_idx - 1); } + public BigInteger getUhugeint(int columnIndex) throws SQLException { + if (check_and_null(columnIndex)) { + return BigInteger.ZERO; + } + return current_chunk[columnIndex - 1].getUhugeint(chunk_idx - 1); + } + public float getFloat(int columnIndex) throws SQLException { if (check_and_null(columnIndex)) { return Float.NaN; @@ -1243,6 +1251,8 @@ public T getObject(int columnIndex, Class type) throws SQLException { if (sqlType == DuckDBColumnType.HUGEINT) { throw new SQLException("Can't convert value to BigInteger " + type.toString()); // return type.cast(getLocalDateTime(columnIndex)); + } else if (sqlType == DuckDBColumnType.UHUGEINT) { + throw new SQLException("Can't convert value to BigInteger " + type.toString()); } else if (sqlType == DuckDBColumnType.UBIGINT) { throw new SQLException("Can't convert value to BigInteger " + type.toString()); // return type.cast(getLocalDateTime(columnIndex)); diff --git a/tools/jdbc/src/main/java/org/duckdb/DuckDBResultSetMetaData.java b/tools/jdbc/src/main/java/org/duckdb/DuckDBResultSetMetaData.java index 79e6f058a4de..6e5199bcbd8c 100644 --- a/tools/jdbc/src/main/java/org/duckdb/DuckDBResultSetMetaData.java +++ b/tools/jdbc/src/main/java/org/duckdb/DuckDBResultSetMetaData.java @@ -157,6 +157,7 @@ public String getColumnClassName(int column) throws SQLException { case UINTEGER: return Long.class.getName(); case HUGEINT: + case UHUGEINT: case UBIGINT: return BigInteger.class.getName(); case FLOAT: diff --git a/tools/jdbc/src/main/java/org/duckdb/DuckDBTimestamp.java b/tools/jdbc/src/main/java/org/duckdb/DuckDBTimestamp.java index c8bed562a6eb..b0b8f49298f0 100644 --- a/tools/jdbc/src/main/java/org/duckdb/DuckDBTimestamp.java +++ b/tools/jdbc/src/main/java/org/duckdb/DuckDBTimestamp.java @@ -51,8 +51,9 @@ public static LocalDateTime toLocalDateTime(long timeMicros) { public static OffsetTime toOffsetTime(long timeBits) { long timeMicros = timeBits >> 24; // High 40 bits are micros - long offset = timeBits & 0x0FFFFFF; // Low 24 bits are biased offset in seconds - offset -= 1559 * 60 * 60; + long offset = timeBits & 0x0FFFFFF; // Low 24 bits are inverted biased offset in seconds + long max_offset = 16 * 60 * 60 - 1; // ±15:59:59 + offset = max_offset - offset; int sign = (offset < 0) ? -1 : 1; offset = Math.abs(offset); @@ -62,7 +63,7 @@ public static OffsetTime toOffsetTime(long timeBits) { int mm = (int) offset % 60; int hh = (int) offset / 60; - if (hh > 18) { + if (hh > 15) { return OffsetTime.of(toLocalTime(timeMicros), ZoneOffset.UTC); } else { return OffsetTime.of(toLocalTime(timeMicros), diff --git a/tools/jdbc/src/main/java/org/duckdb/DuckDBVector.java b/tools/jdbc/src/main/java/org/duckdb/DuckDBVector.java index 6a35f5aedc9d..50f994f5348f 100644 --- a/tools/jdbc/src/main/java/org/duckdb/DuckDBVector.java +++ b/tools/jdbc/src/main/java/org/duckdb/DuckDBVector.java @@ -76,6 +76,8 @@ Object getObject(int idx) throws SQLException { return getLong(idx); case HUGEINT: return getHugeint(idx); + case UHUGEINT: + return getUhugeint(idx); case UTINYINT: return getUint8(idx); case USMALLINT: @@ -475,6 +477,24 @@ BigInteger getHugeint(int idx) throws SQLException { return new BigInteger(o.toString()); } + BigInteger getUhugeint(int idx) throws SQLException { + if (check_and_null(idx)) { + return BigInteger.ZERO; + } + if (isType(DuckDBColumnType.UHUGEINT)) { + byte[] buf = new byte[16]; + getbuf(idx, 16).get(buf); + for (int i = 0; i < 8; i++) { + byte keep = buf[i]; + buf[i] = buf[15 - i]; + buf[15 - i] = keep; + } + return new BigInteger(1, buf); + } + Object o = getObject(idx); + return new BigInteger(o.toString()); + } + float getFloat(int idx) throws SQLException { if (check_and_null(idx)) { return Float.NaN; diff --git a/tools/jdbc/src/main/java/org/duckdb/JdbcUtils.java b/tools/jdbc/src/main/java/org/duckdb/JdbcUtils.java index 5dfb3d8aaf37..0800fe2a8a84 100644 --- a/tools/jdbc/src/main/java/org/duckdb/JdbcUtils.java +++ b/tools/jdbc/src/main/java/org/duckdb/JdbcUtils.java @@ -1,6 +1,9 @@ package org.duckdb; import java.sql.SQLException; +import java.io.InputStream; +import java.io.IOException; +import java.io.ByteArrayOutputStream; final class JdbcUtils { @@ -12,6 +15,18 @@ static T unwrap(Object obj, Class iface) throws SQLException { return (T) obj; } + static byte[] readAllBytes(InputStream x) throws IOException { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + byte[] thing = new byte[256]; + int length; + int offset = 0; + while ((length = x.read(thing)) != -1) { + out.write(thing, offset, length); + offset += length; + } + return out.toByteArray(); + } + private JdbcUtils() { } } diff --git a/tools/jdbc/src/test/java/org/duckdb/test/TestDuckDBJDBC.java b/tools/jdbc/src/test/java/org/duckdb/TestDuckDBJDBC.java similarity index 86% rename from tools/jdbc/src/test/java/org/duckdb/test/TestDuckDBJDBC.java rename to tools/jdbc/src/test/java/org/duckdb/TestDuckDBJDBC.java index 1fd2f968387d..6bba6b174591 100644 --- a/tools/jdbc/src/test/java/org/duckdb/test/TestDuckDBJDBC.java +++ b/tools/jdbc/src/test/java/org/duckdb/TestDuckDBJDBC.java @@ -1,20 +1,8 @@ -package org.duckdb.test; - -import org.duckdb.DuckDBAppender; -import org.duckdb.DuckDBColumnType; -import org.duckdb.DuckDBConnection; -import org.duckdb.DuckDBDriver; -import org.duckdb.DuckDBNative; -import org.duckdb.DuckDBResultSet; -import org.duckdb.DuckDBResultSetMetaData; -import org.duckdb.DuckDBStruct; -import org.duckdb.DuckDBTimestamp; -import org.duckdb.JsonNode; +package org.duckdb; import javax.sql.rowset.CachedRowSet; import javax.sql.rowset.RowSetProvider; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; +import java.io.InputStream; import java.math.BigDecimal; import java.math.BigInteger; import java.nio.ByteBuffer; @@ -38,7 +26,6 @@ import java.sql.Time; import java.sql.Timestamp; import java.sql.Types; -import java.time.Duration; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; @@ -51,7 +38,6 @@ import java.time.format.ResolverStyle; import java.time.temporal.ChronoUnit; import java.util.ArrayList; -import java.util.Arrays; import java.util.Calendar; import java.util.Collections; import java.util.Comparator; @@ -62,7 +48,6 @@ import java.util.ListIterator; import java.util.Locale; import java.util.Map; -import java.util.Objects; import java.util.Properties; import java.util.TimeZone; import java.util.UUID; @@ -70,90 +55,65 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; -import java.util.function.Function; import java.util.logging.Logger; import static java.time.format.DateTimeFormatter.ISO_LOCAL_TIME; import static java.time.temporal.ChronoField.DAY_OF_MONTH; -import static java.time.temporal.ChronoField.MILLI_OF_SECOND; import static java.time.temporal.ChronoField.MONTH_OF_YEAR; import static java.time.temporal.ChronoField.OFFSET_SECONDS; import static java.time.temporal.ChronoField.YEAR_OF_ERA; import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; -import static java.util.stream.Collectors.toMap; import static org.duckdb.DuckDBDriver.DUCKDB_USER_AGENT_PROPERTY; import static org.duckdb.DuckDBDriver.JDBC_STREAM_RESULTS; +import static org.duckdb.test.Assertions.assertEquals; +import static org.duckdb.test.Assertions.assertFalse; +import static org.duckdb.test.Assertions.assertNotNull; +import static org.duckdb.test.Assertions.assertNull; +import static org.duckdb.test.Assertions.assertThrows; +import static org.duckdb.test.Assertions.assertThrowsMaybe; +import static org.duckdb.test.Assertions.assertTrue; +import static org.duckdb.test.Assertions.fail; +import static org.duckdb.test.Runner.runTests; public class TestDuckDBJDBC { - private static void assertTrue(boolean val) throws Exception { - assertTrue(val, null); - } + public static final String JDBC_URL = "jdbc:duckdb:"; - private static void assertTrue(boolean val, String message) throws Exception { - if (!val) { - throw new Exception(message); + private static void createTable(Connection conn) throws SQLException { + try (Statement createStmt = conn.createStatement()) { + createStmt.execute("CREATE TABLE foo as select * from range(1000000);"); } } - private static void assertFalse(boolean val) throws Exception { - assertTrue(!val); - } - - private static void assertEquals(Object actual, Object expected) throws Exception { - Function getClass = (Object a) -> a == null ? "null" : a.getClass().toString(); - - String message = String.format("\"%s\" (of %s) should equal \"%s\" (of %s)", actual, getClass.apply(actual), - expected, getClass.apply(expected)); - assertTrue(Objects.equals(actual, expected), message); - } - - private static void assertNotNull(Object a) throws Exception { - assertFalse(a == null); - } - - private static void assertNull(Object a) throws Exception { - assertEquals(a, null); - } - - private static void assertEquals(double a, double b, double epsilon) throws Exception { - assertTrue(Math.abs(a - b) < epsilon); - } - - private static void fail() throws Exception { - fail(null); - } - - private static void fail(String s) throws Exception { - throw new Exception(s); - } - - private static String assertThrows(Thrower thrower, Class exception) throws Exception { - return assertThrows(exception, thrower).getMessage(); - } + private static void executeStatementWithThread(Statement statement, ExecutorService executor_service) + throws InterruptedException { + executor_service.submit(() -> { + try (ResultSet resultSet = statement.executeQuery("SELECT * from foo")) { + assertThrowsMaybe(() -> { + DuckDBResultSet duckdb_result_set = resultSet.unwrap(DuckDBResultSet.class); + while (duckdb_result_set.next()) { + // do nothing with the results + } + }, SQLException.class); - private static Throwable assertThrows(Class exception, Thrower thrower) throws Exception { - try { - thrower.run(); - } catch (Throwable e) { - assertEquals(e.getClass(), exception); - return e; - } - throw new Exception("Expected to throw " + exception.getName()); - } + } catch (Exception e) { + System.out.println("Error executing query: " + e.getMessage()); + } + }); - static { + Thread.sleep(10); // wait for query to start running try { - Class.forName("org.duckdb.DuckDBDriver"); - } catch (ClassNotFoundException e) { + statement.cancel(); + statement.close(); + } catch (SQLException e) { e.printStackTrace(); } } public static void test_connection() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); assertTrue(conn.isValid(0)); assertFalse(conn.isClosed()); @@ -224,7 +184,7 @@ public static void test_connection() throws Exception { } public static void test_prepare_exception() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt = conn.createStatement(); @@ -237,7 +197,7 @@ public static void test_prepare_exception() throws Exception { } public static void test_execute_exception() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); assertThrows(() -> { @@ -247,7 +207,7 @@ public static void test_execute_exception() throws Exception { } public static void test_autocommit_off() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs; @@ -304,7 +264,7 @@ public static void test_autocommit_off() throws Exception { } public static void test_enum() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs; @@ -449,7 +409,7 @@ private static void assert_timestamp_match(String fetchSql, String expectedStrin try { TimeZone.setDefault(TimeZone.getTimeZone("UTC")); System.setProperty("user.timezone", "UTC"); - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(fetchSql); @@ -480,7 +440,7 @@ private static void assert_timestamp_match(String fetchSql, String expectedStrin } public static void test_timestamp_tz() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs; @@ -535,7 +495,7 @@ public static void test_timestamp_tz() throws Exception { } public static void test_timestamp_as_long() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs; @@ -556,7 +516,7 @@ public static void test_timestamp_as_long() throws Exception { } public static void test_timestamptz_as_long() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs; @@ -580,7 +540,7 @@ public static void test_timestamptz_as_long() throws Exception { public static void test_consecutive_timestamps() throws Exception { long expected = 986860800000L; - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); Statement stmt = conn.createStatement()) { + try (Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement()) { try (ResultSet rs = stmt.executeQuery( "select range from range(TIMESTAMP '2001-04-10', TIMESTAMP '2001-04-11', INTERVAL 30 MINUTE)")) { while (rs.next()) { @@ -593,7 +553,7 @@ public static void test_consecutive_timestamps() throws Exception { } public static void test_throw_wrong_datatype() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs; @@ -615,7 +575,7 @@ public static void test_throw_wrong_datatype() throws Exception { } public static void test_list_metadata() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); Statement stmt = conn.createStatement(); + try (Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT generate_series(2) as list");) { ResultSetMetaData meta = rs.getMetaData(); assertEquals(meta.getColumnCount(), 1); @@ -626,7 +586,7 @@ public static void test_list_metadata() throws Exception { } public static void test_struct_metadata() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); Statement stmt = conn.createStatement(); + try (Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT {'i': 42, 'j': 'a'} as struct")) { ResultSetMetaData meta = rs.getMetaData(); assertEquals(meta.getColumnCount(), 1); @@ -637,7 +597,7 @@ public static void test_struct_metadata() throws Exception { } public static void test_map_metadata() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); Statement stmt = conn.createStatement(); + try (Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT map([1,2],['a','b']) as map")) { ResultSetMetaData meta = rs.getMetaData(); assertEquals(meta.getColumnCount(), 1); @@ -648,7 +608,7 @@ public static void test_map_metadata() throws Exception { } public static void test_union_metadata() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); Statement stmt = conn.createStatement(); + try (Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT union_value(str := 'three') as union")) { ResultSetMetaData meta = rs.getMetaData(); assertEquals(meta.getColumnCount(), 1); @@ -659,7 +619,7 @@ public static void test_union_metadata() throws Exception { } public static void test_result() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs; @@ -733,7 +693,7 @@ public static void test_result() throws Exception { } public static void test_empty_table() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE a (i iNTEGER)"); @@ -748,7 +708,7 @@ public static void test_empty_table() throws Exception { } public static void test_broken_next() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE t0(c0 INT8, c1 VARCHAR)"); @@ -769,9 +729,9 @@ public static void test_broken_next() throws Exception { } public static void test_multiple_connections() throws Exception { - Connection conn1 = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn1 = DriverManager.getConnection(JDBC_URL); Statement stmt1 = conn1.createStatement(); - Connection conn2 = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn2 = DriverManager.getConnection(JDBC_URL); Statement stmt2 = conn2.createStatement(); Statement stmt3 = conn2.createStatement(); @@ -857,7 +817,7 @@ public static void test_duckdb_timestamp() throws Exception { } public static void duckdb_timestamp_test() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE a (ts TIMESTAMP)"); @@ -948,7 +908,7 @@ public static void duckdb_timestamp_test() throws Exception { } public static void test_duckdb_localdatetime() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE x (ts TIMESTAMP)"); @@ -973,17 +933,18 @@ public static void test_duckdb_localdatetime() throws Exception { } public static void test_duckdb_getObject_with_class() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE b (vchar VARCHAR, bo BOOLEAN, sint SMALLINT, nint INTEGER, bigi BIGINT," + " flt FLOAT, dbl DOUBLE, dte DATE, tme TIME, ts TIMESTAMP, dec16 DECIMAL(3,1)," + " dec32 DECIMAL(9,8), dec64 DECIMAL(16,1), dec128 DECIMAL(30,10), tint TINYINT, utint UTINYINT," - + " usint USMALLINT, uint UINTEGER, ubig UBIGINT, hin HUGEINT, blo BLOB)"); + + " usint USMALLINT, uint UINTEGER, ubig UBIGINT, hin HUGEINT, uhin UHUGEINT, blo BLOB)"); stmt.execute( "INSERT INTO b VALUES ('varchary', true, 6, 42, 666, 42.666, 666.42," + " '1970-01-02', '01:00:34', '1970-01-03 03:42:23', 42.2, 1.23456789, 987654321012345.6, 111112222233333.44444, " - + " -4, 200, 50001, 4000111222, 18446744073709551615, 18446744073709551616, 'yeah'::BLOB)"); + + " -4, 200, 50001, 4000111222, 18446744073709551615, 18446744073709551616, " + + " 170141183460469231731687303715884105728, 'yeah'::BLOB)"); PreparedStatement ps = conn.prepareStatement("SELECT * FROM b"); ResultSet rs = ps.executeQuery(); @@ -1056,7 +1017,7 @@ public static void test_duckdb_getObject_with_class() throws Exception { } public static void test_multiple_statements_execution() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("CREATE TABLE integers(i integer);\n" + "insert into integers select * from range(10);" @@ -1070,7 +1031,7 @@ public static void test_multiple_statements_execution() throws Exception { } public static void test_multiple_statements_exception() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); boolean succ = false; try { @@ -1085,7 +1046,7 @@ public static void test_multiple_statements_exception() throws Exception { } public static void test_bigdecimal() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute( "CREATE TABLE q (id DECIMAL(3,0), dec16 DECIMAL(4,1), dec32 DECIMAL(9,4), dec64 DECIMAL(18,7), dec128 DECIMAL(38,10))"); @@ -1198,7 +1159,7 @@ public static void test_bigdecimal() throws Exception { // Longer, resource intensive test - might be commented out for a quick test run public static void test_lots_of_timestamps() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE a (ts TIMESTAMP)"); @@ -1224,8 +1185,20 @@ public static void test_lots_of_timestamps() throws Exception { conn.close(); } + public static void test_set_date() throws Exception { + try (Connection conn = DriverManager.getConnection(JDBC_URL); + PreparedStatement stmt = conn.prepareStatement("SELECT ?")) { + Date date = Date.valueOf("1969-01-01"); + stmt.setDate(1, date); + ResultSet rs = stmt.executeQuery(); + while (rs.next()) { + assertEquals(rs.getDate(1), date); + } + } + } + public static void test_lots_of_decimals() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); // Create the table stmt.execute("CREATE TABLE q (id DECIMAL(4,0),dec32 DECIMAL(9,4),dec64 DECIMAL(18,7),dec128 DECIMAL(38,10))"); @@ -1304,7 +1277,7 @@ public static void test_lots_of_decimals() throws Exception { } public static void test_big_data() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); int rows = 10000; stmt.execute("CREATE TABLE a (i iNTEGER)"); @@ -1358,7 +1331,7 @@ public static void test_big_data() throws Exception { } public static void test_crash_bug496() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE t0(c0 BOOLEAN, c1 INT)"); @@ -1369,7 +1342,7 @@ public static void test_crash_bug496() throws Exception { } public static void test_tablepragma_bug491() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE t0(c0 INT)"); @@ -1392,7 +1365,7 @@ public static void test_tablepragma_bug491() throws Exception { } public static void test_nulltruth_bug489() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE t0(c0 INT)"); @@ -1420,7 +1393,7 @@ public static void test_empty_prepare_bug500() throws Exception { + "INSERT INTO t1(c0) VALUES (0), (1);\n" + "\n" + "SELECT t0.c0 FROM t0, t1;"; - Connection con = DriverManager.getConnection("jdbc:duckdb:"); + Connection con = DriverManager.getConnection(JDBC_URL); for (String s : fileContent.split("\n")) { Statement st = con.createStatement(); try { @@ -1433,7 +1406,7 @@ public static void test_empty_prepare_bug500() throws Exception { } public static void test_borked_string_bug539() throws Exception { - Connection con = DriverManager.getConnection("jdbc:duckdb:"); + Connection con = DriverManager.getConnection(JDBC_URL); Statement s = con.createStatement(); s.executeUpdate("CREATE TABLE t0 (c0 VARCHAR)"); String q = String.format("INSERT INTO t0 VALUES('%c')", 55995); @@ -1443,7 +1416,7 @@ public static void test_borked_string_bug539() throws Exception { } public static void test_prepare_types() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); PreparedStatement ps = conn.prepareStatement( "SELECT CAST(? AS BOOLEAN) c1, CAST(? AS TINYINT) c2, CAST(? AS SMALLINT) c3, CAST(? AS INTEGER) c4, CAST(? AS BIGINT) c5, CAST(? AS FLOAT) c6, CAST(? AS DOUBLE) c7, CAST(? AS STRING) c8"); @@ -1534,7 +1507,7 @@ public static void test_prepare_types() throws Exception { } public static void test_prepare_insert() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); conn.createStatement().executeUpdate( "create table ctstable1 (TYPE_ID int, TYPE_DESC varchar(32), primary key(TYPE_ID))"); @@ -1593,7 +1566,7 @@ public static void test_read_only() throws Exception { Path database_file = Files.createTempFile("duckdb-jdbc-test-", ".duckdb"); Files.deleteIfExists(database_file); - String jdbc_url = "jdbc:duckdb:" + database_file; + String jdbc_url = JDBC_URL + database_file; Properties ro_prop = new Properties(); ro_prop.setProperty("duckdb.read_only", "true"); @@ -1664,7 +1637,7 @@ public static void test_read_only() throws Exception { } public static void test_hugeint() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery( @@ -1687,7 +1660,7 @@ public static void test_hugeint() throws Exception { } public static void test_temporal_types() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery( @@ -1711,7 +1684,7 @@ public static void test_temporal_types() throws Exception { } public static void test_calendar_types() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); // Nail down the location for test portability. @@ -1733,7 +1706,7 @@ public static void test_calendar_types() throws Exception { } public static void test_temporal_nulls() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT NULL::timestamp ts, NULL::date dt, NULL::time te"); @@ -1754,7 +1727,7 @@ public static void test_temporal_nulls() throws Exception { } public static void test_evil_date() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT '5131-08-05 (BC)'::date d"); @@ -1769,7 +1742,7 @@ public static void test_evil_date() throws Exception { } public static void test_decimal() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT '1.23'::decimal(3,2) d"); @@ -1784,7 +1757,7 @@ public static void test_decimal() throws Exception { } public static void test_schema_reflection() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE a (i INTEGER)"); stmt.execute("CREATE VIEW b AS SELECT i::STRING AS j FROM a"); @@ -1964,7 +1937,7 @@ public static void test_schema_reflection() throws Exception { } public static void test_time_tz() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); Statement s = conn.createStatement()) { + try (Connection conn = DriverManager.getConnection(JDBC_URL); Statement s = conn.createStatement()) { s.executeUpdate("create table t (i time with time zone)"); try (ResultSet rs = conn.getMetaData().getColumns(null, "%", "t", "i");) { rs.next(); @@ -1973,7 +1946,8 @@ public static void test_time_tz() throws Exception { assertEquals(rs.getInt("DATA_TYPE"), Types.JAVA_OBJECT); } - s.execute("INSERT INTO t VALUES ('01:01:00'), ('01:02:03+12:30:45'), ('04:05:06-03:10'), ('07:08:09+20');"); + s.execute( + "INSERT INTO t VALUES ('01:01:00'), ('01:02:03+12:30:45'), ('04:05:06-03:10'), ('07:08:09+15:59:59');"); try (ResultSet rs = s.executeQuery("SELECT * FROM t")) { rs.next(); assertEquals(rs.getObject(1), OffsetTime.of(LocalTime.of(1, 1), ZoneOffset.UTC)); @@ -1984,14 +1958,15 @@ public static void test_time_tz() throws Exception { assertEquals(rs.getObject(1), OffsetTime.of(LocalTime.of(4, 5, 6), ZoneOffset.ofHoursMinutesSeconds(-3, -10, 0))); rs.next(); - assertEquals(rs.getObject(1), OffsetTime.of(LocalTime.of(7, 8, 9), ZoneOffset.UTC)); + assertEquals(rs.getObject(1), + OffsetTime.of(LocalTime.of(7, 8, 9), ZoneOffset.ofHoursMinutesSeconds(15, 59, 59))); } } } public static void test_get_tables_with_current_catalog() throws Exception { ResultSet resultSet = null; - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); final String currentCatalog = conn.getCatalog(); DatabaseMetaData databaseMetaData = conn.getMetaData(); @@ -2014,7 +1989,7 @@ public static void test_get_tables_with_current_catalog() throws Exception { } public static void test_get_tables_with_attached_catalog() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); final String currentCatalog = conn.getCatalog(); DatabaseMetaData databaseMetaData = conn.getMetaData(); Statement statement = conn.createStatement(); @@ -2071,7 +2046,7 @@ public static void test_get_tables_with_attached_catalog() throws Exception { } public static void test_get_tables_param_binding_for_table_types() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); DatabaseMetaData databaseMetaData = conn.getMetaData(); ResultSet rs = databaseMetaData.getTables(null, null, null, new String[] {"') UNION ALL " @@ -2095,7 +2070,7 @@ public static void test_get_table_types() throws Exception { List tableTypesList = new ArrayList<>(asList(tableTypesArray)); tableTypesList.sort(Comparator.naturalOrder()); - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); DatabaseMetaData databaseMetaData = conn.getMetaData(); ResultSet rs = databaseMetaData.getTableTypes(); @@ -2111,7 +2086,7 @@ public static void test_get_table_types() throws Exception { } public static void test_get_schemas_with_params() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); String inputCatalog = conn.getCatalog(); String inputSchema = conn.getSchema(); DatabaseMetaData databaseMetaData = conn.getMetaData(); @@ -2186,8 +2161,19 @@ public static void test_connect_wrong_url_bug848() throws Exception { assertNull(d.connect("jdbc:h2:", null)); } + public static void test_new_connection_wrong_url_bug10441() throws Exception { + assertThrows(() -> { + Connection connection = DuckDBConnection.newConnection("jdbc:duckdb@", false, new Properties()); + try { + connection.close(); + } catch (SQLException e) { + // ignored + } + }, SQLException.class); + } + public static void test_parquet_reader() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT COUNT(*) FROM parquet_scan('data/parquet-testing/userdata1.parquet')"); assertTrue(rs.next()); @@ -2198,7 +2184,7 @@ public static void test_parquet_reader() throws Exception { } public static void test_crash_autocommit_bug939() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); PreparedStatement stmt = conn.prepareStatement("CREATE TABLE ontime(flightdate DATE)"); conn.setAutoCommit(false); // The is the key to getting the crash to happen. stmt.executeUpdate(); @@ -2207,7 +2193,7 @@ public static void test_crash_autocommit_bug939() throws Exception { } public static void test_explain_bug958() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("EXPLAIN SELECT 42"); assertTrue(rs.next()); @@ -2220,7 +2206,7 @@ public static void test_explain_bug958() throws Exception { } public static void test_appender_numbers() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); // int8, int4, int2, int1, float8, float4 @@ -2267,7 +2253,7 @@ public static void test_appender_numbers() throws Exception { } public static void test_appender_date_and_time() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE date_and_time (id INT4, a TIMESTAMP)"); @@ -2319,10 +2305,178 @@ public static void test_appender_date_and_time() throws Exception { stmt.close(); conn.close(); } - public static void test_appender_int_string() throws Exception { + + public static void test_appender_decimal() throws Exception { + DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + Statement stmt = conn.createStatement(); + + stmt.execute( + "CREATE TABLE decimals (id INT4, a DECIMAL(4,2), b DECIMAL(8,4), c DECIMAL(18,6), d DECIMAL(38,20))"); + DuckDBAppender appender = conn.createAppender(DuckDBConnection.DEFAULT_SCHEMA, "decimals"); + + BigDecimal bigdec16 = new BigDecimal("12.34").setScale(2); + BigDecimal bigdec32 = new BigDecimal("1234.5678").setScale(4); + BigDecimal bigdec64 = new BigDecimal("123456789012.345678").setScale(6); + BigDecimal bigdec128 = new BigDecimal("123456789012345678.90123456789012345678").setScale(20); + BigDecimal negbigdec16 = new BigDecimal("-12.34").setScale(2); + BigDecimal negbigdec32 = new BigDecimal("-1234.5678").setScale(4); + BigDecimal negbigdec64 = new BigDecimal("-123456789012.345678").setScale(6); + BigDecimal negbigdec128 = new BigDecimal("-123456789012345678.90123456789012345678").setScale(20); + BigDecimal smallbigdec16 = new BigDecimal("-1.34").setScale(2); + BigDecimal smallbigdec32 = new BigDecimal("-123.5678").setScale(4); + BigDecimal smallbigdec64 = new BigDecimal("-12345678901.345678").setScale(6); + BigDecimal smallbigdec128 = new BigDecimal("-12345678901234567.90123456789012345678").setScale(20); + BigDecimal intbigdec16 = new BigDecimal("-1").setScale(2); + BigDecimal intbigdec32 = new BigDecimal("-123").setScale(4); + BigDecimal intbigdec64 = new BigDecimal("-12345678901").setScale(6); + BigDecimal intbigdec128 = new BigDecimal("-12345678901234567").setScale(20); + BigDecimal onebigdec16 = new BigDecimal("1").setScale(2); + BigDecimal onebigdec32 = new BigDecimal("1").setScale(4); + BigDecimal onebigdec64 = new BigDecimal("1").setScale(6); + BigDecimal onebigdec128 = new BigDecimal("1").setScale(20); + + appender.beginRow(); + appender.append(1); + appender.appendBigDecimal(bigdec16); + appender.appendBigDecimal(bigdec32); + appender.appendBigDecimal(bigdec64); + appender.appendBigDecimal(bigdec128); + appender.endRow(); + appender.beginRow(); + appender.append(2); + appender.appendBigDecimal(negbigdec16); + appender.appendBigDecimal(negbigdec32); + appender.appendBigDecimal(negbigdec64); + appender.appendBigDecimal(negbigdec128); + appender.endRow(); + appender.beginRow(); + appender.append(3); + appender.appendBigDecimal(smallbigdec16); + appender.appendBigDecimal(smallbigdec32); + appender.appendBigDecimal(smallbigdec64); + appender.appendBigDecimal(smallbigdec128); + appender.endRow(); + appender.beginRow(); + appender.append(4); + appender.appendBigDecimal(intbigdec16); + appender.appendBigDecimal(intbigdec32); + appender.appendBigDecimal(intbigdec64); + appender.appendBigDecimal(intbigdec128); + appender.endRow(); + appender.beginRow(); + appender.append(5); + appender.appendBigDecimal(onebigdec16); + appender.appendBigDecimal(onebigdec32); + appender.appendBigDecimal(onebigdec64); + appender.appendBigDecimal(onebigdec128); + appender.endRow(); + appender.close(); + + ResultSet rs = stmt.executeQuery("SELECT a,b,c,d FROM decimals ORDER BY id"); + assertFalse(rs.isClosed()); + assertTrue(rs.next()); + + BigDecimal rs1 = (BigDecimal) rs.getObject(1, BigDecimal.class); + BigDecimal rs2 = (BigDecimal) rs.getObject(2, BigDecimal.class); + BigDecimal rs3 = (BigDecimal) rs.getObject(3, BigDecimal.class); + BigDecimal rs4 = (BigDecimal) rs.getObject(4, BigDecimal.class); + + assertEquals(rs1, bigdec16); + assertEquals(rs2, bigdec32); + assertEquals(rs3, bigdec64); + assertEquals(rs4, bigdec128); + assertTrue(rs.next()); + + BigDecimal nrs1 = (BigDecimal) rs.getObject(1, BigDecimal.class); + BigDecimal nrs2 = (BigDecimal) rs.getObject(2, BigDecimal.class); + BigDecimal nrs3 = (BigDecimal) rs.getObject(3, BigDecimal.class); + BigDecimal nrs4 = (BigDecimal) rs.getObject(4, BigDecimal.class); + + assertEquals(nrs1, negbigdec16); + assertEquals(nrs2, negbigdec32); + assertEquals(nrs3, negbigdec64); + assertEquals(nrs4, negbigdec128); + assertTrue(rs.next()); + + BigDecimal srs1 = (BigDecimal) rs.getObject(1, BigDecimal.class); + BigDecimal srs2 = (BigDecimal) rs.getObject(2, BigDecimal.class); + BigDecimal srs3 = (BigDecimal) rs.getObject(3, BigDecimal.class); + BigDecimal srs4 = (BigDecimal) rs.getObject(4, BigDecimal.class); + + assertEquals(srs1, smallbigdec16); + assertEquals(srs2, smallbigdec32); + assertEquals(srs3, smallbigdec64); + assertEquals(srs4, smallbigdec128); + assertTrue(rs.next()); + + BigDecimal irs1 = (BigDecimal) rs.getObject(1, BigDecimal.class); + BigDecimal irs2 = (BigDecimal) rs.getObject(2, BigDecimal.class); + BigDecimal irs3 = (BigDecimal) rs.getObject(3, BigDecimal.class); + BigDecimal irs4 = (BigDecimal) rs.getObject(4, BigDecimal.class); + + assertEquals(irs1, intbigdec16); + assertEquals(irs2, intbigdec32); + assertEquals(irs3, intbigdec64); + assertEquals(irs4, intbigdec128); + assertTrue(rs.next()); + + BigDecimal oners1 = (BigDecimal) rs.getObject(1, BigDecimal.class); + BigDecimal oners2 = (BigDecimal) rs.getObject(2, BigDecimal.class); + BigDecimal oners3 = (BigDecimal) rs.getObject(3, BigDecimal.class); + BigDecimal oners4 = (BigDecimal) rs.getObject(4, BigDecimal.class); + + assertEquals(oners1, onebigdec16); + assertEquals(oners2, onebigdec32); + assertEquals(oners3, onebigdec64); + assertEquals(oners4, onebigdec128); + + rs.close(); + stmt.close(); + conn.close(); + } + + public static void test_appender_decimal_wrong_scale() throws Exception { DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); + stmt.execute( + "CREATE TABLE decimals (id INT4, a DECIMAL(4,2), b DECIMAL(8,4), c DECIMAL(18,6), d DECIMAL(38,20))"); + + assertThrows(() -> { + DuckDBAppender appender = conn.createAppender(DuckDBConnection.DEFAULT_SCHEMA, "decimals"); + appender = conn.createAppender(DuckDBConnection.DEFAULT_SCHEMA, "decimals"); + appender.append(1); + appender.beginRow(); + appender.appendBigDecimal(new BigDecimal("121.14").setScale(2)); + }, SQLException.class); + + assertThrows(() -> { + DuckDBAppender appender = conn.createAppender(DuckDBConnection.DEFAULT_SCHEMA, "decimals"); + appender = conn.createAppender(DuckDBConnection.DEFAULT_SCHEMA, "decimals"); + appender.beginRow(); + appender.append(2); + appender.appendBigDecimal(new BigDecimal("21.1").setScale(2)); + appender.appendBigDecimal(new BigDecimal("12111.1411").setScale(4)); + }, SQLException.class); + + assertThrows(() -> { + DuckDBAppender appender = conn.createAppender(DuckDBConnection.DEFAULT_SCHEMA, "decimals"); + appender = conn.createAppender(DuckDBConnection.DEFAULT_SCHEMA, "decimals"); + appender.beginRow(); + appender.append(3); + appender.appendBigDecimal(new BigDecimal("21.1").setScale(2)); + appender.appendBigDecimal(new BigDecimal("21.1").setScale(4)); + appender.appendBigDecimal(new BigDecimal("1234567890123.123456").setScale(6)); + }, SQLException.class); + + stmt.close(); + conn.close(); + } + + public static void test_appender_int_string() throws Exception { + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); + Statement stmt = conn.createStatement(); + stmt.execute("CREATE TABLE data (a INTEGER, s VARCHAR)"); DuckDBAppender appender = conn.createAppender(DuckDBConnection.DEFAULT_SCHEMA, "data"); @@ -2349,7 +2503,7 @@ public static void test_appender_int_string() throws Exception { } public static void test_appender_string_with_emoji() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE data (str_value VARCHAR(10))"); @@ -2373,7 +2527,7 @@ public static void test_appender_string_with_emoji() throws Exception { } public static void test_appender_table_does_not_exist() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); try { @@ -2388,7 +2542,7 @@ public static void test_appender_table_does_not_exist() throws Exception { } public static void test_appender_table_deleted() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE data (a INTEGER)"); @@ -2415,7 +2569,7 @@ public static void test_appender_table_deleted() throws Exception { } public static void test_appender_append_too_many_columns() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE data (a INTEGER)"); @@ -2434,7 +2588,7 @@ public static void test_appender_append_too_many_columns() throws Exception { } public static void test_appender_append_too_few_columns() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE data (a INTEGER, b INTEGER)"); @@ -2453,7 +2607,7 @@ public static void test_appender_append_too_few_columns() throws Exception { } public static void test_appender_type_mismatch() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE data (a INTEGER)"); @@ -2471,7 +2625,7 @@ public static void test_appender_type_mismatch() throws Exception { } public static void test_appender_null_integer() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE data (a INTEGER)"); @@ -2496,7 +2650,7 @@ public static void test_appender_null_integer() throws Exception { } public static void test_appender_null_varchar() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE data (a VARCHAR)"); @@ -2520,7 +2674,7 @@ public static void test_appender_null_varchar() throws Exception { } public static void test_get_catalog() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); ResultSet rs = conn.getMetaData().getCatalogs(); HashSet set = new HashSet(); while (rs.next()) { @@ -2533,7 +2687,7 @@ public static void test_get_catalog() throws Exception { } public static void test_set_catalog() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:")) { + try (Connection conn = DriverManager.getConnection(JDBC_URL)) { assertThrows(() -> conn.setCatalog("other"), SQLException.class); @@ -2547,7 +2701,7 @@ public static void test_set_catalog() throws Exception { } public static void test_get_table_types_bug1258() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE a1 (i INTEGER)"); stmt.execute("CREATE TABLE a2 (i INTEGER)"); @@ -2605,7 +2759,7 @@ public static void test_get_table_types_bug1258() throws Exception { } public static void test_utf_string_bug1271() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT 'Mühleisen', '🦆', '🦄ྀི123456789'"); @@ -2625,7 +2779,7 @@ public static void test_utf_string_bug1271() throws Exception { } public static void test_statement_creation_bug1268() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt; stmt = conn.createStatement(); @@ -2655,7 +2809,7 @@ private static String blob_to_string(Blob b) throws SQLException { } public static void test_blob_bug1090() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); String test_str1 = "asdf"; @@ -2691,7 +2845,7 @@ public static void test_uuid() throws Exception { // Generated by DuckDB String testUuid = "a0a34a0a-1794-47b6-b45c-0ac68cc03702"; - try (DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + try (DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); DuckDBResultSet rs = stmt.executeQuery("SELECT a, NULL::UUID b, a::VARCHAR c, '" + testUuid + "'::UUID d FROM (SELECT uuid() a)") @@ -2721,7 +2875,7 @@ public static void test_uuid() throws Exception { } public static void test_unsigned_integers() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery( @@ -2764,7 +2918,7 @@ public static void test_unsigned_integers() throws Exception { } public static void test_get_schema() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); assertEquals(conn.getSchema(), DuckDBConnection.DEFAULT_SCHEMA); @@ -2793,7 +2947,7 @@ public static void test_get_schema() throws Exception { */ public static void test_cached_row_set() throws Exception { CachedRowSet rowSet = RowSetProvider.newFactory().createCachedRowSet(); - rowSet.setUrl("jdbc:duckdb:"); + rowSet.setUrl(JDBC_URL); rowSet.setCommand("select 1"); rowSet.execute(); @@ -2802,7 +2956,7 @@ public static void test_cached_row_set() throws Exception { } public static void test_json() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); try (Statement stmt = conn.createStatement()) { ResultSet rs = stmt.executeQuery("select [1, 5]::JSON"); @@ -2834,14 +2988,14 @@ public static void test_json() throws Exception { } public static void test_bug4218_prepare_types() throws Exception { - DuckDBConnection conn = DriverManager.getConnection("jdbc:duckdb:").unwrap(DuckDBConnection.class); + DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class); String query = "SELECT ($1 || $2)"; conn.prepareStatement(query); assertTrue(true); } public static void test_bug532_timestamp() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs; @@ -2855,7 +3009,7 @@ public static void test_bug532_timestamp() throws Exception { } public static void test_bug966_typeof() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select typeof(1);"); @@ -2870,9 +3024,9 @@ public static void test_config() throws Exception { Properties info = new Properties(); info.put(memory_limit, "500MB"); info.put(threads, "5"); - Connection conn = DriverManager.getConnection("jdbc:duckdb:", info); + Connection conn = DriverManager.getConnection(JDBC_URL, info); - assertEquals("500.0MB", getSetting(conn, memory_limit)); + assertEquals("476.8 MiB", getSetting(conn, memory_limit)); assertEquals("5", getSetting(conn, threads)); } @@ -2880,7 +3034,7 @@ public static void test_invalid_config() throws Exception { Properties info = new Properties(); info.put("invalid config name", "true"); - String message = assertThrows(() -> DriverManager.getConnection("jdbc:duckdb:", info), SQLException.class); + String message = assertThrows(() -> DriverManager.getConnection(JDBC_URL, info), SQLException.class); assertTrue(message.contains("Unrecognized configuration property \"invalid config name\"")); } @@ -2889,9 +3043,9 @@ public static void test_valid_but_local_config_throws_exception() throws Excepti Properties info = new Properties(); info.put("ordered_aggregate_threshold", "123"); - String message = assertThrows(() -> DriverManager.getConnection("jdbc:duckdb:", info), SQLException.class); + String message = assertThrows(() -> DriverManager.getConnection(JDBC_URL, info), SQLException.class); - assertTrue(message.contains("Failed to set configuration option \"ordered_aggregate_threshold\"")); + assertTrue(message.contains("Could not set option \"ordered_aggregate_threshold\" as a global option")); } private static String getSetting(Connection conn, String settingName) throws Exception { @@ -2905,7 +3059,7 @@ private static String getSetting(Connection conn, String settingName) throws Exc } public static void test_describe() throws Exception { - Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + Connection conn = DriverManager.getConnection(JDBC_URL); try (Statement stmt = conn.createStatement()) { stmt.execute("CREATE TABLE TEST (COL INT DEFAULT 42)"); @@ -2922,7 +3076,7 @@ public static void test_describe() throws Exception { } public static void test_null_bytes_in_string() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:")) { + try (Connection conn = DriverManager.getConnection(JDBC_URL)) { try (PreparedStatement stmt = conn.prepareStatement("select ?::varchar")) { stmt.setObject(1, "bob\u0000r"); ResultSet rs = stmt.executeQuery(); @@ -2934,7 +3088,7 @@ public static void test_null_bytes_in_string() throws Exception { } public static void test_get_functions() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:")) { + try (Connection conn = DriverManager.getConnection(JDBC_URL)) { ResultSet functions = conn.getMetaData().getFunctions(null, DuckDBConnection.DEFAULT_SCHEMA, "string_split"); @@ -2965,7 +3119,7 @@ public static void test_get_functions() throws Exception { } public static void test_get_primary_keys() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); Statement stmt = conn.createStatement();) { + try (Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement();) { Object[][] testData = new Object[12][6]; int testDataIndex = 0; @@ -3083,7 +3237,7 @@ public static void test_instance_cache() throws Exception { Path database_file = Files.createTempFile("duckdb-instance-cache-test-", ".duckdb"); database_file.toFile().delete(); - String jdbc_url = "jdbc:duckdb:" + database_file.toString(); + String jdbc_url = JDBC_URL + database_file.toString(); Connection conn = DriverManager.getConnection(jdbc_url); Connection conn2 = DriverManager.getConnection(jdbc_url); @@ -3093,7 +3247,7 @@ public static void test_instance_cache() throws Exception { } public static void test_user_password() throws Exception { - String jdbc_url = "jdbc:duckdb:"; + String jdbc_url = JDBC_URL; Properties p = new Properties(); p.setProperty("user", "wilbur"); p.setProperty("password", "quack"); @@ -3110,7 +3264,7 @@ public static void test_user_password() throws Exception { public static void test_readonly_remains_bug5593() throws Exception { Path database_file = Files.createTempFile("duckdb-instance-cache-test-", ".duckdb"); database_file.toFile().delete(); - String jdbc_url = "jdbc:duckdb:" + database_file.toString(); + String jdbc_url = JDBC_URL + database_file.toString(); Properties p = new Properties(); p.setProperty("duckdb.read_only", "true"); @@ -3124,7 +3278,7 @@ public static void test_readonly_remains_bug5593() throws Exception { } public static void test_supportsLikeEscapeClause_shouldBe_true() throws Exception { - Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + Connection connection = DriverManager.getConnection(JDBC_URL); DatabaseMetaData databaseMetaData = connection.getMetaData(); assertTrue(databaseMetaData.supportsLikeEscapeClause(), "DatabaseMetaData.supportsLikeEscapeClause() should be true."); @@ -3138,7 +3292,7 @@ public static void test_supports_catalogs_in_table_definitions() throws Exceptio String.format("AND table_name = '%s'", TABLE_NAME); final String QUALIFIED_TABLE_NAME = CATALOG_NAME + "." + TABLE_NAME; ResultSet resultSet = null; - try (final Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + try (final Connection connection = DriverManager.getConnection(JDBC_URL); final Statement statement = connection.createStatement();) { final DatabaseMetaData databaseMetaData = connection.getMetaData(); statement.execute(String.format("ATTACH '' AS \"%s\"", CATALOG_NAME)); @@ -3184,7 +3338,7 @@ public static void test_supports_catalogs_in_data_manipulation() throws Exceptio final String QUALIFIED_TABLE_NAME = CATALOG_NAME + "." + TABLE_NAME; ResultSet resultSet = null; - try (final Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + try (final Connection connection = DriverManager.getConnection(JDBC_URL); final Statement statement = connection.createStatement();) { final DatabaseMetaData databaseMetaData = connection.getMetaData(); statement.execute(String.format("ATTACH '' AS \"%s\"", CATALOG_NAME)); @@ -3245,7 +3399,7 @@ public static void test_supports_catalogs_in_index_definitions() throws Exceptio final String QUALIFIED_INDEX_NAME = CATALOG_NAME + "." + INDEX_NAME; ResultSet resultSet = null; - try (final Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + try (final Connection connection = DriverManager.getConnection(JDBC_URL); final Statement statement = connection.createStatement();) { final DatabaseMetaData databaseMetaData = connection.getMetaData(); statement.execute(String.format("ATTACH '' AS \"%s\"", CATALOG_NAME)); @@ -3289,7 +3443,7 @@ public static void test_supports_catalogs_in_index_definitions() throws Exceptio } public static void test_structs() throws Exception { - try (Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + try (Connection connection = DriverManager.getConnection(JDBC_URL); PreparedStatement statement = connection.prepareStatement("select {\"a\": 1}")) { ResultSet resultSet = statement.executeQuery(); assertTrue(resultSet.next()); @@ -3300,7 +3454,7 @@ public static void test_structs() throws Exception { } public static void test_union() throws Exception { - try (Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + try (Connection connection = DriverManager.getConnection(JDBC_URL); Statement statement = connection.createStatement()) { statement.execute("CREATE TABLE tbl1(u UNION(num INT, str VARCHAR));"); statement.execute("INSERT INTO tbl1 values (1) , ('two') , (union_value(str := 'three'));"); @@ -3316,7 +3470,7 @@ public static void test_union() throws Exception { } public static void test_list() throws Exception { - try (Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + try (Connection connection = DriverManager.getConnection(JDBC_URL); Statement statement = connection.createStatement()) { try (ResultSet rs = statement.executeQuery("select [1]")) { assertTrue(rs.next()); @@ -3351,7 +3505,7 @@ public static void test_list() throws Exception { } public static void test_array_resultset() throws Exception { - try (Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + try (Connection connection = DriverManager.getConnection(JDBC_URL); Statement statement = connection.createStatement()) { try (ResultSet rs = statement.executeQuery("select [42, 69]")) { assertTrue(rs.next()); @@ -3484,7 +3638,7 @@ private static Object toJavaObject(Object t) { } public static void test_map() throws Exception { - try (Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + try (Connection connection = DriverManager.getConnection(JDBC_URL); PreparedStatement statement = connection.prepareStatement("select map([100, 5], ['a', 'b'])")) { ResultSet rs = statement.executeQuery(); assertTrue(rs.next()); @@ -3492,47 +3646,8 @@ public static void test_map() throws Exception { } } - public static void test_extension_type() throws Exception { - try (Connection connection = DriverManager.getConnection("jdbc:duckdb:"); - Statement stmt = connection.createStatement()) { - - DuckDBNative.duckdb_jdbc_create_extension_type((DuckDBConnection) connection); - - try (ResultSet rs = stmt.executeQuery( - "SELECT {\"hello\": 'foo', \"world\": 'bar'}::test_type, '\\xAA'::byte_test_type")) { - rs.next(); - assertEquals(rs.getObject(1), "{'hello': foo, 'world': bar}"); - assertEquals(rs.getObject(2), "\\xAA"); - } - } - } - - public static void test_extension_type_metadata() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); Statement stmt = conn.createStatement();) { - DuckDBNative.duckdb_jdbc_create_extension_type((DuckDBConnection) conn); - - stmt.execute("CREATE TABLE test (foo test_type, bar byte_test_type);"); - stmt.execute("INSERT INTO test VALUES ({\"hello\": 'foo', \"world\": 'bar'}, '\\xAA');"); - - try (ResultSet rs = stmt.executeQuery("SELECT * FROM test")) { - ResultSetMetaData meta = rs.getMetaData(); - assertEquals(meta.getColumnCount(), 2); - - assertEquals(meta.getColumnName(1), "foo"); - assertEquals(meta.getColumnTypeName(1), "test_type"); - assertEquals(meta.getColumnType(1), Types.JAVA_OBJECT); - assertEquals(meta.getColumnClassName(1), "java.lang.String"); - - assertEquals(meta.getColumnName(2), "bar"); - assertEquals(meta.getColumnTypeName(2), "byte_test_type"); - assertEquals(meta.getColumnType(2), Types.JAVA_OBJECT); - assertEquals(meta.getColumnClassName(2), "java.lang.String"); - } - } - } - public static void test_getColumnClassName() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); Statement s = conn.createStatement();) { + try (Connection conn = DriverManager.getConnection(JDBC_URL); Statement s = conn.createStatement();) { try (ResultSet rs = s.executeQuery("select * from test_all_types()")) { ResultSetMetaData rsmd = rs.getMetaData(); rs.next(); @@ -3546,7 +3661,7 @@ public static void test_getColumnClassName() throws Exception { } public static void test_update_count() throws Exception { - try (Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + try (Connection connection = DriverManager.getConnection(JDBC_URL); Statement s = connection.createStatement()) { s.execute("create table t (i int)"); assertEquals(s.getUpdateCount(), -1); @@ -3560,7 +3675,7 @@ public static void test_update_count() throws Exception { } public static void test_get_result_set() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:")) { + try (Connection conn = DriverManager.getConnection(JDBC_URL)) { try (PreparedStatement p = conn.prepareStatement("select 1")) { p.executeQuery(); try (ResultSet resultSet = p.getResultSet()) { @@ -3582,7 +3697,7 @@ public static void test_get_result_set() throws Exception { // https://github.com/duckdb/duckdb/issues/7218 public static void test_unknown_result_type() throws Exception { - try (Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + try (Connection connection = DriverManager.getConnection(JDBC_URL); PreparedStatement p = connection.prepareStatement( "select generate_series.generate_series from generate_series(?, ?) order by 1")) { p.setInt(1, 0); @@ -3665,8 +3780,10 @@ static Map mapOf(Object... pairs) { correct_answer_map.put("smallint", asList((short) -32768, (short) 32767, null)); correct_answer_map.put("int", asList(-2147483648, 2147483647, null)); correct_answer_map.put("bigint", asList(-9223372036854775808L, 9223372036854775807L, null)); - correct_answer_map.put("hugeint", asList(new BigInteger("-170141183460469231731687303715884105727"), + correct_answer_map.put("hugeint", asList(new BigInteger("-170141183460469231731687303715884105728"), new BigInteger("170141183460469231731687303715884105727"), null)); + correct_answer_map.put( + "uhugeint", asList(new BigInteger("0"), new BigInteger("340282366920938463463374607431768211455"), null)); correct_answer_map.put("utinyint", asList((short) 0, (short) 255, null)); correct_answer_map.put("usmallint", asList(0, 65535, null)); correct_answer_map.put("uint", asList(0L, 4294967295L, null)); @@ -3680,7 +3797,7 @@ static Map mapOf(Object... pairs) { "dec_18_6", asList(new BigDecimal("-999999999999.999999"), (new BigDecimal("999999999999.999999")), null)); correct_answer_map.put("dec38_10", asList(new BigDecimal("-9999999999999999999999999999.9999999999"), (new BigDecimal("9999999999999999999999999999.9999999999")), null)); - correct_answer_map.put("uuid", asList(UUID.fromString("00000000-0000-0000-0000-000000000001"), + correct_answer_map.put("uuid", asList(UUID.fromString("00000000-0000-0000-0000-000000000000"), (UUID.fromString("ffffffff-ffff-ffff-ffff-ffffffffffff")), null)); correct_answer_map.put("varchar", asList("🦆🦆🦆🦆🦆🦆", "goo\u0000se", null)); correct_answer_map.put("json", asList("🦆🦆🦆🦆🦆", "goose", null)); @@ -3696,7 +3813,7 @@ static Map mapOf(Object... pairs) { asList(mapOf(), mapOf("key1", "🦆🦆🦆🦆🦆🦆", "key2", "goose"), null)); correct_answer_map.put("union", asList("Frank", (short) 5, null)); correct_answer_map.put( - "time_tz", asList(OffsetTime.parse("00:00+00:00"), OffsetTime.parse("23:59:59.999999+00:00"), null)); + "time_tz", asList(OffsetTime.parse("00:00+15:59:59"), OffsetTime.parse("23:59:59.999999-15:59:59"), null)); correct_answer_map.put("interval", asList("00:00:00", "83 years 3 months 999 days 00:16:39.999999", null)); correct_answer_map.put("timestamp", asList(DuckDBTimestamp.toSqlTimestamp(-9223372022400000000L), DuckDBTimestamp.toSqlTimestamp(9223372036854775807L), null)); @@ -3713,14 +3830,20 @@ static Map mapOf(Object... pairs) { correct_answer_map.put( "timestamp_tz", asList(OffsetDateTime.of(LocalDateTime.of(-290308, 12, 22, 0, 0, 0), ZoneOffset.UTC), - OffsetDateTime.of(LocalDateTime.of(294247, 1, 10, 4, 0, 54, 776806000), ZoneOffset.UTC), null)); + OffsetDateTime.of(LocalDateTime.of(294247, 1, 10, 4, 0, 54, 775806000), ZoneOffset.UTC), null)); } public static void test_all_types() throws Exception { Logger logger = Logger.getAnonymousLogger(); + String sql = + "select * EXCLUDE(time, time_tz)" + + "\n , CASE WHEN time = '24:00:00'::TIME THEN '23:59:59.999999'::TIME ELSE time END AS time" + + + "\n , CASE WHEN time_tz = '24:00:00-15:59:59'::TIMETZ THEN '23:59:59.999999-15:59:59'::TIMETZ ELSE time_tz END AS time_tz" + + "\nfrom test_all_types()"; - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); - PreparedStatement stmt = conn.prepareStatement("select * from test_all_types()")) { + try (Connection conn = DriverManager.getConnection(JDBC_URL); + PreparedStatement stmt = conn.prepareStatement(sql)) { conn.createStatement().execute("set timezone = 'UTC'"); try (ResultSet rs = stmt.executeQuery()) { @@ -3737,9 +3860,6 @@ public static void test_all_types() throws Exception { if (actual instanceof Timestamp && expected instanceof Timestamp) { assertEquals(((Timestamp) actual).getTime(), ((Timestamp) expected).getTime(), 500); - } else if (actual instanceof OffsetDateTime && expected instanceof OffsetDateTime) { - assertEquals(((OffsetDateTime) actual).getLong(MILLI_OF_SECOND), - ((OffsetDateTime) expected).getLong(MILLI_OF_SECOND), 5000); } else if (actual instanceof List) { assertListsEqual((List) actual, (List) expected); } else { @@ -3772,7 +3892,7 @@ private static void assertListsEqual(List actual, List expected) throw public static void test_cancel() throws Exception { ExecutorService service = Executors.newFixedThreadPool(1); - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); Statement stmt = conn.createStatement()) { + try (Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement()) { Future thread = service.submit( () -> assertThrows(() @@ -3786,7 +3906,7 @@ public static void test_cancel() throws Exception { } public static void test_prepared_statement_metadata() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + try (Connection conn = DriverManager.getConnection(JDBC_URL); PreparedStatement stmt = conn.prepareStatement("SELECT 'hello' as world")) { ResultSetMetaData metadata = stmt.getMetaData(); assertEquals(metadata.getColumnCount(), 1); @@ -3796,7 +3916,7 @@ public static void test_prepared_statement_metadata() throws Exception { } public static void test_unbindable_query() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + try (Connection conn = DriverManager.getConnection(JDBC_URL); PreparedStatement stmt = conn.prepareStatement("SELECT ?, ?")) { stmt.setString(1, "word1"); stmt.setInt(2, 42); @@ -3828,7 +3948,7 @@ public static void test_unbindable_query() throws Exception { } public static void test_labels_with_prepped_statement() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:")) { + try (Connection conn = DriverManager.getConnection(JDBC_URL)) { try (PreparedStatement stmt = conn.prepareStatement("SELECT ? as result")) { stmt.setString(1, "Quack"); try (ResultSet rs = stmt.executeQuery()) { @@ -3841,7 +3961,7 @@ public static void test_labels_with_prepped_statement() throws Exception { } public static void test_execute_updated_on_prep_stmt() throws SQLException { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); Statement s = conn.createStatement()) { + try (Connection conn = DriverManager.getConnection(JDBC_URL); Statement s = conn.createStatement()) { s.executeUpdate("create table t (i int)"); try (PreparedStatement p = conn.prepareStatement("insert into t (i) select ?")) { @@ -3852,7 +3972,7 @@ public static void test_execute_updated_on_prep_stmt() throws SQLException { } public static void test_invalid_execute_calls() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:")) { + try (Connection conn = DriverManager.getConnection(JDBC_URL)) { try (Statement s = conn.createStatement()) { s.execute("create table test (id int)"); } @@ -3869,7 +3989,7 @@ public static void test_invalid_execute_calls() throws Exception { } public static void test_race() throws Exception { - try (Connection connection = DriverManager.getConnection("jdbc:duckdb:")) { + try (Connection connection = DriverManager.getConnection(JDBC_URL)) { ExecutorService executorService = Executors.newFixedThreadPool(10); List> tasks = Collections.nCopies(1000, () -> { @@ -3903,8 +4023,8 @@ public static void test_stream_multiple_open_results() throws Exception { props.setProperty(JDBC_STREAM_RESULTS, String.valueOf(true)); String QUERY = "SELECT * FROM range(100000)"; - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:", props); - Statement stmt1 = conn.createStatement(); Statement stmt2 = conn.createStatement()) { + try (Connection conn = DriverManager.getConnection(JDBC_URL, props); Statement stmt1 = conn.createStatement(); + Statement stmt2 = conn.createStatement()) { try (ResultSet rs1 = stmt1.executeQuery(QUERY); ResultSet ignored = stmt2.executeQuery(QUERY)) { assertThrows(rs1::next, SQLException.class); @@ -3913,7 +4033,7 @@ public static void test_stream_multiple_open_results() throws Exception { } public static void test_offset_limit() throws Exception { - try (Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + try (Connection connection = DriverManager.getConnection(JDBC_URL); Statement s = connection.createStatement()) { s.executeUpdate("create table t (i int not null)"); s.executeUpdate("insert into t values (1), (1), (2), (3), (3), (3)"); @@ -3934,11 +4054,20 @@ public static void test_offset_limit() throws Exception { } } + public static void test_UUID_binding() throws Exception { + try (Connection conn = DriverManager.getConnection(JDBC_URL); + PreparedStatement statement = conn.prepareStatement("select '0b17ce61-375c-4ad8-97b3-349d96d35ab1'::UUID"); + ResultSet resultSet = statement.executeQuery()) { + resultSet.next(); + assertEquals(UUID.fromString("0b17ce61-375c-4ad8-97b3-349d96d35ab1"), resultSet.getObject(1)); + } + } + public static void test_result_streaming() throws Exception { Properties props = new Properties(); props.setProperty(JDBC_STREAM_RESULTS, String.valueOf(true)); - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:", props); + try (Connection conn = DriverManager.getConnection(JDBC_URL, props); PreparedStatement stmt1 = conn.prepareStatement("SELECT * FROM range(100000)"); ResultSet rs = stmt1.executeQuery()) { while (rs.next()) { @@ -3950,7 +4079,7 @@ public static void test_result_streaming() throws Exception { public static void test_struct_use_after_free() throws Exception { Object struct, array; - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:"); + try (Connection conn = DriverManager.getConnection(JDBC_URL); PreparedStatement stmt = conn.prepareStatement("SELECT struct_pack(hello := 2), [42]"); ResultSet rs = stmt.executeQuery()) { rs.next(); @@ -3962,7 +4091,7 @@ public static void test_struct_use_after_free() throws Exception { } public static void test_user_agent_default() throws Exception { - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:")) { + try (Connection conn = DriverManager.getConnection(JDBC_URL)) { assertEquals(getSetting(conn, "custom_user_agent"), ""); try (PreparedStatement stmt1 = conn.prepareStatement("PRAGMA user_agent"); @@ -3977,7 +4106,7 @@ public static void test_user_agent_custom() throws Exception { Properties props = new Properties(); props.setProperty(DUCKDB_USER_AGENT_PROPERTY, "CUSTOM_STRING"); - try (Connection conn = DriverManager.getConnection("jdbc:duckdb:", props)) { + try (Connection conn = DriverManager.getConnection(JDBC_URL, props)) { assertEquals(getSetting(conn, "custom_user_agent"), "CUSTOM_STRING"); try (PreparedStatement stmt1 = conn.prepareStatement("PRAGMA user_agent"); @@ -3988,53 +4117,135 @@ public static void test_user_agent_custom() throws Exception { } } - public static void main(String[] args) throws Exception { - // Woo I can do reflection too, take this, JUnit! - Method[] methods = TestDuckDBJDBC.class.getMethods(); + public static void test_batch_prepared_statement() throws Exception { + try (Connection conn = DriverManager.getConnection(JDBC_URL)) { + try (Statement s = conn.createStatement()) { + s.execute("CREATE TABLE test (x INT, y INT, z INT)"); + } + try (PreparedStatement ps = conn.prepareStatement("INSERT INTO test (x, y, z) VALUES (?, ?, ?);")) { + ps.setObject(1, 1); + ps.setObject(2, 2); + ps.setObject(3, 3); + ps.addBatch(); + + ps.setObject(1, 4); + ps.setObject(2, 5); + ps.setObject(3, 6); + ps.addBatch(); + + ps.executeBatch(); + } + try (Statement s = conn.createStatement(); ResultSet rs = s.executeQuery("SELECT * FROM test ORDER BY x")) { + rs.next(); + assertEquals(rs.getInt(1), rs.getObject(1, Integer.class)); + assertEquals(rs.getObject(1, Integer.class), 1); + + assertEquals(rs.getInt(2), rs.getObject(2, Integer.class)); + assertEquals(rs.getObject(2, Integer.class), 2); - Arrays.sort(methods, new Comparator() { - @Override - public int compare(Method o1, Method o2) { - return o1.getName().compareTo(o2.getName()); + assertEquals(rs.getInt(3), rs.getObject(3, Integer.class)); + assertEquals(rs.getObject(3, Integer.class), 3); + + rs.next(); + assertEquals(rs.getInt(1), rs.getObject(1, Integer.class)); + assertEquals(rs.getObject(1, Integer.class), 4); + + assertEquals(rs.getInt(2), rs.getObject(2, Integer.class)); + assertEquals(rs.getObject(2, Integer.class), 5); + + assertEquals(rs.getInt(3), rs.getObject(3, Integer.class)); + assertEquals(rs.getObject(3, Integer.class), 6); } - }); + } + } + + public static void test_batch_statement() throws Exception { + try (Connection conn = DriverManager.getConnection(JDBC_URL)) { + try (Statement s = conn.createStatement()) { + s.execute("CREATE TABLE test (x INT, y INT, z INT)"); + + s.addBatch("INSERT INTO test (x, y, z) VALUES (1, 2, 3);"); + s.addBatch("INSERT INTO test (x, y, z) VALUES (4, 5, 6);"); + + s.executeBatch(); + } + try (Statement s2 = conn.createStatement(); + ResultSet rs = s2.executeQuery("SELECT * FROM test ORDER BY x")) { + rs.next(); + assertEquals(rs.getInt(1), rs.getObject(1, Integer.class)); + assertEquals(rs.getObject(1, Integer.class), 1); - String specific_test = null; - if (args.length >= 1) { - specific_test = args[0]; + assertEquals(rs.getInt(2), rs.getObject(2, Integer.class)); + assertEquals(rs.getObject(2, Integer.class), 2); + + assertEquals(rs.getInt(3), rs.getObject(3, Integer.class)); + assertEquals(rs.getObject(3, Integer.class), 3); + + rs.next(); + assertEquals(rs.getInt(1), rs.getObject(1, Integer.class)); + assertEquals(rs.getObject(1, Integer.class), 4); + + assertEquals(rs.getInt(2), rs.getObject(2, Integer.class)); + assertEquals(rs.getObject(2, Integer.class), 5); + + assertEquals(rs.getInt(3), rs.getObject(3, Integer.class)); + assertEquals(rs.getObject(3, Integer.class), 6); + } } + } - boolean anySucceeded = false; - boolean anyFailed = false; - for (Method m : methods) { - if (m.getName().startsWith("test_")) { - if (specific_test != null && !m.getName().contains(specific_test)) { - continue; - } - System.out.print(m.getName() + " "); + public static void test_execute_while_batch() throws Exception { + try (Connection conn = DriverManager.getConnection(JDBC_URL)) { + try (Statement s = conn.createStatement()) { + s.execute("CREATE TABLE test (id INT)"); + } + try (PreparedStatement ps = conn.prepareStatement("INSERT INTO test (id) VALUES (?)")) { + ps.setObject(1, 1); + ps.addBatch(); - LocalDateTime start = LocalDateTime.now(); - try { - m.invoke(null); - System.out.println("success in " + Duration.between(start, LocalDateTime.now()).getSeconds() + - " seconds"); - } catch (Throwable t) { - if (t instanceof InvocationTargetException) { - t = t.getCause(); - } - System.out.println("failed with " + t); - t.printStackTrace(System.out); - anyFailed = true; - } - anySucceeded = true; + String msg = + assertThrows(() -> { ps.execute("INSERT INTO test (id) VALUES (1);"); }, SQLException.class); + assertTrue(msg.contains("Batched queries must be executed with executeBatch.")); + + String msg2 = + assertThrows(() -> { ps.executeUpdate("INSERT INTO test (id) VALUES (1);"); }, SQLException.class); + assertTrue(msg2.contains("Batched queries must be executed with executeBatch.")); + + String msg3 = assertThrows(() -> { ps.executeQuery("SELECT * FROM test"); }, SQLException.class); + assertTrue(msg3.contains("Batched queries must be executed with executeBatch.")); } } - if (!anySucceeded) { - System.out.println("No tests found that match " + specific_test); - System.exit(1); + } + + public static void test_prepared_statement_batch_exception() throws Exception { + try (Connection conn = DriverManager.getConnection(JDBC_URL)) { + try (Statement s = conn.createStatement()) { + s.execute("CREATE TABLE test (id INT)"); + } + try (PreparedStatement ps = conn.prepareStatement("INSERT INTO test (id) VALUES (?)")) { + String msg = assertThrows(() -> { ps.addBatch("DUMMY SQL"); }, SQLException.class); + assertTrue(msg.contains("Cannot add batched SQL statement to PreparedStatement")); + } + } + } + + public static void test_get_binary_stream() throws Exception { + try (Connection connection = DriverManager.getConnection("jdbc:duckdb:"); + PreparedStatement s = connection.prepareStatement("select ?")) { + s.setObject(1, "YWJj".getBytes()); + String out = null; + + try (ResultSet rs = s.executeQuery()) { + while (rs.next()) { + out = blob_to_string(rs.getBlob(1)); + } + } + + assertEquals(out, "YWJj"); } - System.out.println(anyFailed ? "FAILED" : "OK"); + } - System.exit(anyFailed ? 1 : 0); + public static void main(String[] args) throws Exception { + System.exit(runTests(args, TestDuckDBJDBC.class, TestExtensionTypes.class)); } } diff --git a/tools/jdbc/src/test/java/org/duckdb/TestExtensionTypes.java b/tools/jdbc/src/test/java/org/duckdb/TestExtensionTypes.java new file mode 100644 index 000000000000..aa964dbede09 --- /dev/null +++ b/tools/jdbc/src/test/java/org/duckdb/TestExtensionTypes.java @@ -0,0 +1,53 @@ +package org.duckdb; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.Statement; +import java.sql.Types; + +import static org.duckdb.test.Assertions.assertEquals; +import static org.duckdb.TestDuckDBJDBC.JDBC_URL; + +public class TestExtensionTypes { + + public static void test_extension_type() throws Exception { + try (Connection connection = DriverManager.getConnection(JDBC_URL); + Statement stmt = connection.createStatement()) { + + DuckDBNative.duckdb_jdbc_create_extension_type((DuckDBConnection) connection); + + try (ResultSet rs = stmt.executeQuery( + "SELECT {\"hello\": 'foo', \"world\": 'bar'}::test_type, '\\xAA'::byte_test_type")) { + rs.next(); + assertEquals(rs.getObject(1), "{'hello': foo, 'world': bar}"); + assertEquals(rs.getObject(2), "\\xAA"); + } + } + } + + public static void test_extension_type_metadata() throws Exception { + try (Connection conn = DriverManager.getConnection(JDBC_URL); Statement stmt = conn.createStatement();) { + DuckDBNative.duckdb_jdbc_create_extension_type((DuckDBConnection) conn); + + stmt.execute("CREATE TABLE test (foo test_type, bar byte_test_type);"); + stmt.execute("INSERT INTO test VALUES ({\"hello\": 'foo', \"world\": 'bar'}, '\\xAA');"); + + try (ResultSet rs = stmt.executeQuery("SELECT * FROM test")) { + ResultSetMetaData meta = rs.getMetaData(); + assertEquals(meta.getColumnCount(), 2); + + assertEquals(meta.getColumnName(1), "foo"); + assertEquals(meta.getColumnTypeName(1), "test_type"); + assertEquals(meta.getColumnType(1), Types.JAVA_OBJECT); + assertEquals(meta.getColumnClassName(1), "java.lang.String"); + + assertEquals(meta.getColumnName(2), "bar"); + assertEquals(meta.getColumnTypeName(2), "byte_test_type"); + assertEquals(meta.getColumnType(2), Types.JAVA_OBJECT); + assertEquals(meta.getColumnClassName(2), "java.lang.String"); + } + } + } +} diff --git a/tools/jdbc/src/test/java/org/duckdb/test/Assertions.java b/tools/jdbc/src/test/java/org/duckdb/test/Assertions.java new file mode 100644 index 000000000000..af970d64d44d --- /dev/null +++ b/tools/jdbc/src/test/java/org/duckdb/test/Assertions.java @@ -0,0 +1,79 @@ +package org.duckdb.test; + +import org.duckdb.test.Thrower; + +import java.util.Objects; +import java.util.function.Function; + +public class Assertions { + public static void assertTrue(boolean val) throws Exception { + assertTrue(val, null); + } + + public static void assertTrue(boolean val, String message) throws Exception { + if (!val) { + throw new Exception(message); + } + } + + public static void assertFalse(boolean val) throws Exception { + assertTrue(!val); + } + + public static void assertEquals(Object actual, Object expected) throws Exception { + Function getClass = (Object a) -> a == null ? "null" : a.getClass().toString(); + + String message = String.format("\"%s\" (of %s) should equal \"%s\" (of %s)", actual, getClass.apply(actual), + expected, getClass.apply(expected)); + assertTrue(Objects.equals(actual, expected), message); + } + + public static void assertNotNull(Object a) throws Exception { + assertFalse(a == null); + } + + public static void assertNull(Object a) throws Exception { + assertEquals(a, null); + } + + public static void assertEquals(double a, double b, double epsilon) throws Exception { + assertTrue(Math.abs(a - b) < epsilon); + } + + public static void fail() throws Exception { + fail(null); + } + + public static void fail(String s) throws Exception { + throw new Exception(s); + } + + public static String assertThrows(Thrower thrower, Class exception) throws Exception { + return assertThrows(exception, thrower).getMessage(); + } + + private static Throwable assertThrows(Class exception, Thrower thrower) throws Exception { + try { + thrower.run(); + } catch (Throwable e) { + assertEquals(e.getClass(), exception); + return e; + } + throw new Exception("Expected to throw " + exception.getName()); + } + + // Asserts we are either throwing the correct exception, or not throwing at all + public static boolean assertThrowsMaybe(Thrower thrower, Class exception) + throws Exception { + try { + thrower.run(); + return true; + } catch (Throwable e) { + if (e.getClass().equals(exception)) { + return true; + } else { + throw new Exception("Unexpected exception: " + e.getClass().getName()); + } + } + } +} diff --git a/tools/jdbc/src/test/java/org/duckdb/test/Runner.java b/tools/jdbc/src/test/java/org/duckdb/test/Runner.java new file mode 100644 index 000000000000..adae889cbda1 --- /dev/null +++ b/tools/jdbc/src/test/java/org/duckdb/test/Runner.java @@ -0,0 +1,67 @@ +package org.duckdb.test; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.time.Duration; +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + +public class Runner { + static { + try { + Class.forName("org.duckdb.DuckDBDriver"); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + + public static int runTests(String[] args, Class... testClasses) { + // Woo I can do reflection too, take this, JUnit! + List methods = Arrays.stream(testClasses) + .flatMap(clazz -> Arrays.stream(clazz.getMethods())) + .sorted(Comparator.comparing(Method::getName)) + .collect(Collectors.toList()); + + String specific_test = null; + if (args.length >= 1) { + specific_test = args[0]; + } + + boolean anySucceeded = false; + boolean anyFailed = false; + for (Method m : methods) { + if (m.getName().startsWith("test_")) { + if (specific_test != null && !m.getName().contains(specific_test)) { + continue; + } + System.out.print(m.getDeclaringClass().getSimpleName() + "#" + m.getName() + " "); + + LocalDateTime start = LocalDateTime.now(); + try { + m.invoke(null); + System.out.println("success in " + Duration.between(start, LocalDateTime.now()).getSeconds() + + " seconds"); + } catch (Throwable t) { + if (t instanceof InvocationTargetException) { + t = t.getCause(); + } + System.out.println("failed with " + t); + t.printStackTrace(System.out); + anyFailed = true; + } + anySucceeded = true; + } + } + if (!anySucceeded) { + System.out.println("No tests found that match " + specific_test); + return 1; + } + System.out.println(anyFailed ? "FAILED" : "OK"); + + return anyFailed ? 1 : 0; + } +} diff --git a/tools/juliapkg/LICENSE b/tools/juliapkg/LICENSE index d8cd6e6e8508..43eec6098cdb 100644 --- a/tools/juliapkg/LICENSE +++ b/tools/juliapkg/LICENSE @@ -1,4 +1,4 @@ -Copyright 2018-2023 Stichting DuckDB Foundation +Copyright 2018-2024 Stichting DuckDB Foundation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/tools/juliapkg/Project.toml b/tools/juliapkg/Project.toml index b6fa05a97965..138d1e237e06 100644 --- a/tools/juliapkg/Project.toml +++ b/tools/juliapkg/Project.toml @@ -1,7 +1,7 @@ name = "DuckDB" uuid = "d2f5444f-75bc-4fdf-ac35-56f514c445e1" authors = ["Mark Raasveldt "] -version = "0.9.0" +version = "0.9.2" [deps] DBInterface = "a10d1c49-ce27-4219-8d33-6db1a4562965" @@ -14,8 +14,8 @@ WeakRefStrings = "ea10d353-3f73-51f8-a26c-33c1cb351aa5" [compat] DBInterface = "2.5" -DuckDB_jll = "0.9.1" -FixedPointDecimals = "0.4" +DuckDB_jll = "0.9.2" +FixedPointDecimals = "0.4, 0.5" Tables = "1.7" WeakRefStrings = "1.4" julia = "1.6" diff --git a/tools/juliapkg/README.md b/tools/juliapkg/README.md index 531c52ac07bc..c81f8bc2bde5 100644 --- a/tools/juliapkg/README.md +++ b/tools/juliapkg/README.md @@ -82,7 +82,11 @@ Specific test files can be run by adding the name of the file as an argument: ./test.sh test_connection.jl ``` -In order to run against a locally compiled version of DuckDB, you will can set the `JULIA_DUCKDB_LIBRARY` environment variable, e.g.: +### Development + +Build using `DISABLE_SANITIZER=1 make debug` + +To run against a locally compiled version of duckdb, you'll need to set the `JULIA_DUCKDB_LIBRARY` environment variable, e.g.: ```bash export JULIA_DUCKDB_LIBRARY="`pwd`/../../build/debug/src/libduckdb.dylib" @@ -94,6 +98,42 @@ Note that Julia pre-compilation caching might get in the way of changes to this rm -rf ~/.julia/compiled ``` +For development a few packages are required, these live in a Project.toml in the `test` directory, installed like so: + +```bash +cd tools/juliapkg +``` + +```julia +using Pkg +Pkg.activate("./test") +Pkg.instantiate() +``` + +#### Debugging using LLDB + +Julia's builtin version management system `juliaup` can get in the way of starting a process with lldb attached as it provides a shim for the `julia` binary. +The actual `julia` binaries live in `~/.julia/juliaup//bin/julia` + +`lldb -- julia ...` will likely not work and you'll need to provide the absolute path of the julia binary, e.g: +```bash +lldb -- ~/.julia/juliaup/julia-1.10.0+0.aarch64.apple.darwin14/bin/julia ... +``` + +#### Testing + +To run the test suite in it's entirety: +```bash +julia -e "import Pkg; Pkg.activate(\".\"); include(\"test/runtests.jl\")" +``` + +To run a specific test listed in `test/runtests.jl`, you can provide the name, e.g: +```bash +julia -e "import Pkg; Pkg.activate(\".\"); include(\"test/runtests.jl\")" "test_basic_queries.jl" +``` + +Just as mentioned before, to attach lldb to this, you'll have to replace the `julia` part with the absolute path. + ### Submitting a New Package The DuckDB Julia package depends on the [DuckDB_jll package](https://github.com/JuliaBinaryWrappers/DuckDB_jll.jl), which can be updated by sending a PR to [Yggdrassil](https://github.com/JuliaPackaging/Yggdrasil/pull/5049). diff --git a/tools/juliapkg/release.py b/tools/juliapkg/release.py index d5f7c46bc121..8781c00d0f8f 100644 --- a/tools/juliapkg/release.py +++ b/tools/juliapkg/release.py @@ -49,8 +49,8 @@ def run_syscall(syscall, ignore_failure=False): print('> Creating a PR to the Yggdrassil repository (https://github.com/JuliaPackaging/Yggdrasil)') os.chdir(args.yggdrassil) -run_syscall('git checkout main') -run_syscall('git pull upstream main') +run_syscall('git checkout master') +run_syscall('git pull upstream master') run_syscall(f'git branch -D {tag}', True) run_syscall(f'git checkout -b {tag}') tarball_build = os.path.join('D', 'DuckDB', 'build_tarballs.jl') diff --git a/tools/juliapkg/src/api.jl b/tools/juliapkg/src/api.jl index 42399c4ccb81..74fcb321b531 100644 --- a/tools/juliapkg/src/api.jl +++ b/tools/juliapkg/src/api.jl @@ -465,6 +465,21 @@ function duckdb_value_hugeint(result, col, row) ) end +""" + duckdb_value_uhugeint(result,col,row) + * returns: The duckdb_uhugeint value at the specified location, or 0 if the value cannot be converted. +""" +function duckdb_value_uhugeint(result, col, row) + return ccall( + (:duckdb_value_uhugeint, libduckdb), + UInt64, + (Ref{duckdb_result}, Int32, Int32), + result, + col - 1, + row - 1 + ) +end + """ duckdb_value_uint8(result,col,row) * returns: The uint8_t value at the specified location, or 0 if the value cannot be converted. @@ -761,6 +776,21 @@ end # function duckdb_from_timestamp(ts) # return ccall((:duckdb_from_timestamp, libduckdb), Ptr{Cvoid}, (Ptr{Cvoid},), ts) # end +# + +""" +Decompose a TIME_TZ objects into micros and a timezone offset. + +Use `duckdb_from_time` to further decompose the micros into hour, minute, second and microsecond. + +* micros: The time object, as obtained from a `DUCKDB_TYPE_TIME_TZ` column. +* out_micros: The microsecond component of the time. +* out_offset: The timezone offset component of the time. +""" +function duckdb_from_time_tz(val) + return ccall((:duckdb_from_time_tz, libduckdb), duckdb_time_tz, (UInt64,), val) +end + # # """ # duckdb_to_timestamp(ts) @@ -984,6 +1014,23 @@ function duckdb_bind_hugeint(prepared_statement, param_idx, val) ) end +""" +Binds an duckdb_uhugeint value to the prepared statement at the specified index. +*/ +DUCKDB_API duckdb_state duckdb_bind_hugeint(duckdb_prepared_statement prepared_statement, idx_t param_idx, + duckdb_uhugeint val); +""" +function duckdb_bind_uhugeint(prepared_statement, param_idx, val) + return ccall( + (:duckdb_bind_uhugeint, libduckdb), + duckdb_state, + (duckdb_prepared_statement, Int32, duckdb_uhugeint), + prepared_statement, + param_idx, + val + ) +end + """ Binds an uint8_t value to the prepared statement at the specified index. DUCKDB_API duckdb_state duckdb_bind_uint8(duckdb_prepared_statement prepared_statement, idx_t param_idx, uint8_t val); @@ -1289,6 +1336,28 @@ function duckdb_pending_prepared_streaming(prepared_statement, out_pending) ) end +""" +Checks the state of the execution, returning it. +The pending result represents an intermediate structure for a query that is not yet fully executed. + +If this returns DUCKDB_PENDING_RESULT_READY, the duckdb_execute_pending function can be called to obtain the result. +If this returns DUCKDB_PENDING_RESULT_NOT_READY, the duckdb_pending_execute_check_state function should be called again. +If this returns DUCKDB_PENDING_ERROR, an error occurred during execution. + +The error message can be obtained by calling duckdb_pending_error on the pending_result. + +* pending_result: The pending result to check the state of. +* returns: The state of the pending result. +""" +function duckdb_pending_execute_check_state(pending_result) + return ccall( + (:duckdb_pending_execute_check_state, libduckdb), + duckdb_pending_state, + (duckdb_pending_result,), + pending_result + ) +end + """ Closes the pending result and de-allocates all memory allocated for the result. @@ -1359,7 +1428,7 @@ DUCKDB_PENDING_RESULT_READY, this function will return true. * returns: Boolean indicating pending execution should be considered finished. """ function duckdb_pending_execution_is_finished(pending_state) - return ccall((:duckdb_execute_pending, libduckdb), Bool, (duckdb_pending_state,), pending_state) + return ccall((:duckdb_pending_execution_is_finished, libduckdb), Bool, (duckdb_pending_state,), pending_state) end #= @@ -2560,6 +2629,14 @@ function duckdb_append_hugeint(appender, value) return ccall((:duckdb_append_hugeint, libduckdb), duckdb_state, (duckdb_appender, Int64), appender, value) end +""" +Append a duckdb_uhugeint value to the appender. +DUCKDB_API duckdb_state duckdb_append_uhugeint(duckdb_appender appender, duckdb_uhugeint value); +""" +function duckdb_append_uhugeint(appender, value) + return ccall((:duckdb_append_uhugeint, libduckdb), duckdb_state, (duckdb_appender, UInt64), appender, value) +end + """ Append a uint8_t value to the appender. DUCKDB_API duckdb_state duckdb_append_uint8(duckdb_appender appender, uint8_t value); @@ -2621,7 +2698,7 @@ Append a duckdb_time value to the appender. DUCKDB_API duckdb_state duckdb_append_time(duckdb_appender appender, duckdb_time value); """ function duckdb_append_time(appender, value) - return ccall((:duckdb_append_time, libduckdb), duckdb_state, (duckdb_appender, Int32), appender, value) + return ccall((:duckdb_append_time, libduckdb), duckdb_state, (duckdb_appender, Int64), appender, value) end """ @@ -2629,7 +2706,7 @@ Append a duckdb_timestamp value to the appender. DUCKDB_API duckdb_state duckdb_append_timestamp(duckdb_appender appender, duckdb_timestamp value); """ function duckdb_append_timestamp(appender, value) - return ccall((:duckdb_append_timestamp, libduckdb), duckdb_state, (duckdb_appender, Int32), appender, value) + return ccall((:duckdb_append_timestamp, libduckdb), duckdb_state, (duckdb_appender, Int64), appender, value) end """ diff --git a/tools/juliapkg/src/appender.jl b/tools/juliapkg/src/appender.jl index 5ea0582d3ee6..edd190748733 100644 --- a/tools/juliapkg/src/appender.jl +++ b/tools/juliapkg/src/appender.jl @@ -1,6 +1,39 @@ +using Dates """ -An appender object that can be used to append to a table +An appender object that can be used to append rows to an existing table. + +* DateTime objects in Julia are stored in milliseconds since the Unix epoch but are converted to microseconds when stored in duckdb. +* Time objects in Julia are stored in nanoseconds since midnight but are converted to microseconds when stored in duckdb. +* Missing and Nothing are stored as NULL in duckdb, but will be converted to Missing when the data is queried back. + +# Example +```julia +using DuckDB, DataFrames, Dates +db = DuckDB.DB() + +# create a table +DBInterface.execute(db, "CREATE OR REPLACE TABLE data(id INT PRIMARY KEY, value FLOAT, timestamp TIMESTAMP, date DATE)") + +# data to insert +len = 100 +df = DataFrames.DataFrame(id=collect(1:len), + value=rand(len), + timestamp=Dates.now() + Dates.Second.(1:len), + date=Dates.today() + Dates.Day.(1:len)) + +# append data by row +appender = DuckDB.Appender(db, "data") +for i in eachrow(df) + for j in i + DuckDB.append(appender, j) + end + DuckDB.end_row(appender) +end +# flush the appender after all rows +DuckDB.flush(appender) +DuckDB.close(appender) +``` """ mutable struct Appender handle::duckdb_appender @@ -40,7 +73,7 @@ function close(appender::Appender) end append(appender::Appender, val::AbstractFloat) = duckdb_append_double(appender.handle, Float64(val)); -append(appender::Appender, val::Bool) = duckdb_append_boolean(appender.handle, val); +append(appender::Appender, val::Bool) = duckdb_append_bool(appender.handle, val); append(appender::Appender, val::Int8) = duckdb_append_int8(appender.handle, val); append(appender::Appender, val::Int16) = duckdb_append_int16(appender.handle, val); append(appender::Appender, val::Int32) = duckdb_append_int32(appender.handle, val); @@ -51,11 +84,18 @@ append(appender::Appender, val::UInt32) = duckdb_append_uint32(appender.handle, append(appender::Appender, val::UInt64) = duckdb_append_uint64(appender.handle, val); append(appender::Appender, val::Float32) = duckdb_append_float(appender.handle, val); append(appender::Appender, val::Float64) = duckdb_append_double(appender.handle, val); -append(appender::Appender, val::Missing) = duckdb_append_null(appender.handle); -append(appender::Appender, val::Nothing) = duckdb_append_null(appender.handle); +append(appender::Appender, val::Type{Missing}) = duckdb_append_null(appender.handle); +append(appender::Appender, val::Type{Nothing}) = duckdb_append_null(appender.handle); append(appender::Appender, val::AbstractString) = duckdb_append_varchar(appender.handle, val); append(appender::Appender, val::Vector{UInt8}) = duckdb_append_blob(appender.handle, val, sizeof(val)); -append(appender::Appender, val::WeakRefString{UInt8}) = duckdb_append_varchar(stmt.handle, i, val.ptr, val.len); +# append(appender::Appender, val::WeakRefString{UInt8}) = duckdb_append_varchar(stmt.handle, i, val.ptr, val.len); +append(appender::Appender, val::Date) = + duckdb_append_date(appender.handle, Dates.date2epochdays(val) - ROUNDING_EPOCH_TO_UNIX_EPOCH_DAYS); +# nanosecond to microseconds +append(appender::Appender, val::Time) = duckdb_append_time(appender.handle, Dates.value(val) / 1000); +# milliseconds to microseconds +append(appender::Appender, val::DateTime) = + duckdb_append_timestamp(appender.handle, (Dates.datetime2epochms(val) - ROUNDING_EPOCH_TO_UNIX_EPOCH_MS) * 1000); function append(appender::Appender, val::Any) println(val) @@ -72,4 +112,4 @@ function flush(appender::Appender) return end -DBInterface.close!(appender::Appender) = _close_appender(db) +DBInterface.close!(appender::Appender) = _close_appender(appender) diff --git a/tools/juliapkg/src/ctypes.jl b/tools/juliapkg/src/ctypes.jl index fbea2eff783e..cc4b7e4cd66c 100644 --- a/tools/juliapkg/src/ctypes.jl +++ b/tools/juliapkg/src/ctypes.jl @@ -4,7 +4,6 @@ const duckdb_config = Ptr{Cvoid} const duckdb_connection = Ptr{Cvoid} const duckdb_prepared_statement = Ptr{Cvoid} const duckdb_pending_result = Ptr{Cvoid} -const duckdb_logical_type = Ptr{Cvoid} const duckdb_data_chunk = Ptr{Cvoid} const duckdb_vector = Ptr{Cvoid} const duckdb_appender = Ptr{Cvoid} @@ -45,6 +44,7 @@ const DUCKDB_PENDING_NO_TASKS_AVAILABLE = 3; DUCKDB_TYPE_TIME DUCKDB_TYPE_INTERVAL DUCKDB_TYPE_HUGEINT + DUCKDB_TYPE_UHUGEINT DUCKDB_TYPE_VARCHAR DUCKDB_TYPE_BLOB DUCKDB_TYPE_DECIMAL @@ -58,6 +58,8 @@ const DUCKDB_PENDING_NO_TASKS_AVAILABLE = 3; DUCKDB_TYPE_UUID DUCKDB_TYPE_UNION DUCKDB_TYPE_BIT + DUCKDB_TYPE_TIME_TZ + DUCKDB_TYPE_TIMESTAMP_TZ end const DUCKDB_TYPE = DUCKDB_TYPE_ @@ -93,6 +95,11 @@ struct duckdb_time_struct micros::Int32 end +struct duckdb_time_tz + micros::Int64 + offset::Int32 +end + """ Timestamps are stored as microseconds since 1970-01-01\n Use the duckdb_from_timestamp/duckdb_to_timestamp function to extract individual information @@ -124,6 +131,11 @@ struct duckdb_hugeint upper::Int64 end +struct duckdb_uhugeint + lower::UInt64 + upper::UInt64 +end + struct duckdb_string_t length::UInt32 data::NTuple{12, UInt8} @@ -169,10 +181,13 @@ INTERNAL_TYPE_MAP = Dict( DUCKDB_TYPE_TIMESTAMP_S => Int64, DUCKDB_TYPE_TIMESTAMP_MS => Int64, DUCKDB_TYPE_TIMESTAMP_NS => Int64, + DUCKDB_TYPE_TIMESTAMP_TZ => Int64, DUCKDB_TYPE_DATE => Int32, DUCKDB_TYPE_TIME => Int64, + DUCKDB_TYPE_TIME_TZ => UInt64, DUCKDB_TYPE_INTERVAL => duckdb_interval, DUCKDB_TYPE_HUGEINT => duckdb_hugeint, + DUCKDB_TYPE_UHUGEINT => duckdb_uhugeint, DUCKDB_TYPE_UUID => duckdb_hugeint, DUCKDB_TYPE_VARCHAR => duckdb_string_t, DUCKDB_TYPE_BLOB => duckdb_string_t, @@ -192,6 +207,7 @@ JULIA_TYPE_MAP = Dict( DUCKDB_TYPE_INTEGER => Int32, DUCKDB_TYPE_BIGINT => Int64, DUCKDB_TYPE_HUGEINT => Int128, + DUCKDB_TYPE_UHUGEINT => UInt128, DUCKDB_TYPE_UTINYINT => UInt8, DUCKDB_TYPE_USMALLINT => UInt16, DUCKDB_TYPE_UINTEGER => UInt32, @@ -200,7 +216,9 @@ JULIA_TYPE_MAP = Dict( DUCKDB_TYPE_DOUBLE => Float64, DUCKDB_TYPE_DATE => Date, DUCKDB_TYPE_TIME => Time, + DUCKDB_TYPE_TIME_TZ => Time, DUCKDB_TYPE_TIMESTAMP => DateTime, + DUCKDB_TYPE_TIMESTAMP_TZ => DateTime, DUCKDB_TYPE_TIMESTAMP_S => DateTime, DUCKDB_TYPE_TIMESTAMP_MS => DateTime, DUCKDB_TYPE_TIMESTAMP_NS => DateTime, diff --git a/tools/juliapkg/src/database.jl b/tools/juliapkg/src/database.jl index c94d3dfef990..e9cc227b26eb 100644 --- a/tools/juliapkg/src/database.jl +++ b/tools/juliapkg/src/database.jl @@ -77,8 +77,8 @@ mutable struct DB <: DBInterface.Connection main_connection::Connection function DB(f::AbstractString, config::Config) - set_config(config, "threads", "1") - set_config(config, "external_threads", string(Threads.nthreads() - 1)) + set_config(config, "threads", string(Threads.nthreads())) + set_config(config, "external_threads", string(Threads.nthreads())) # all threads are external handle = DuckDBHandle(f, config) main_connection = Connection(handle) diff --git a/tools/juliapkg/src/result.jl b/tools/juliapkg/src/result.jl index b2df00e621bd..0dc015cccb57 100644 --- a/tools/juliapkg/src/result.jl +++ b/tools/juliapkg/src/result.jl @@ -89,6 +89,12 @@ function convert_time(column_data::ColumnConversionData, val::Int64)::Time return Dates.Time(Dates.Nanosecond(val * 1000)) end +function convert_time_tz(column_data::ColumnConversionData, val::UInt64)::Time + time_tz = duckdb_from_time_tz(val) + # TODO: how to preserve the offset? + return Dates.Time(Dates.Nanosecond(time_tz.micros * 1000)) +end + function convert_timestamp(column_data::ColumnConversionData, val::Int64)::DateTime return Dates.epochms2datetime((val ÷ 1000) + ROUNDING_EPOCH_TO_UNIX_EPOCH_MS) end @@ -113,11 +119,15 @@ function convert_hugeint(column_data::ColumnConversionData, val::duckdb_hugeint) return Int128(val.lower) + Int128(val.upper) << 64 end +function convert_uhugeint(column_data::ColumnConversionData, val::duckdb_uhugeint)::UInt128 + return UInt128(val.lower) + UInt128(val.upper) << 64 +end + function convert_uuid(column_data::ColumnConversionData, val::duckdb_hugeint)::UUID hugeint = convert_hugeint(column_data, val) base_value = Int128(170141183460469231731687303715884105727) if hugeint < 0 - return UUID(UInt128(hugeint + base_value) + 1) + return UUID(UInt128(hugeint + base_value + 1)) else return UUID(UInt128(hugeint) + base_value + 1) end @@ -494,7 +504,9 @@ function get_conversion_function(logical_type::LogicalType)::Function return convert_date elseif type == DUCKDB_TYPE_TIME return convert_time - elseif type == DUCKDB_TYPE_TIMESTAMP + elseif type == DUCKDB_TYPE_TIME_TZ + return convert_time_tz + elseif type == DUCKDB_TYPE_TIMESTAMP || type == DUCKDB_TYPE_TIMESTAMP_TZ return convert_timestamp elseif type == DUCKDB_TYPE_TIMESTAMP_S return convert_timestamp_s @@ -506,6 +518,8 @@ function get_conversion_function(logical_type::LogicalType)::Function return convert_interval elseif type == DUCKDB_TYPE_HUGEINT return convert_hugeint + elseif type == DUCKDB_TYPE_UHUGEINT + return convert_uhugeint elseif type == DUCKDB_TYPE_UUID return convert_uuid elseif type == DUCKDB_TYPE_DECIMAL @@ -645,6 +659,11 @@ function pending_execute_tasks(pending::PendingQueryResult)::Bool return ret != DUCKDB_PENDING_ERROR end +function pending_execute_check_state(pending::PendingQueryResult)::duckdb_pending_state + ret = duckdb_pending_execute_check_state(pending.handle) + return ret +end + # execute background tasks in a loop, until task execution is finished function execute_tasks(state::duckdb_task_state, con::Connection) while !duckdb_task_state_is_finished(state) @@ -694,7 +713,7 @@ function execute_singlethreaded(pending::PendingQueryResult)::Bool return success end -function execute_multithreaded(stmt::Stmt) +function execute_multithreaded(stmt::Stmt, pending::PendingQueryResult) # if multi-threading is enabled, launch background tasks task_state = duckdb_create_task_state(stmt.con.db.handle) @@ -706,6 +725,10 @@ function execute_multithreaded(stmt::Stmt) # When we have additional worker threads, don't execute using the main thread while duckdb_execution_is_finished(stmt.con.handle) == false + ret = pending_execute_check_state(pending) + if ret == DUCKDB_PENDING_RESULT_READY || ret == DUCKDB_PENDING_ERROR + break + end Base.yield() GC.safepoint() end @@ -732,7 +755,7 @@ function execute(stmt::Stmt, params::DBInterface.StatementParams = ()) throw(QueryException(get_error(stmt, pending))) end else - execute_multithreaded(stmt) + execute_multithreaded(stmt, pending) end handle = Ref{duckdb_result}() diff --git a/tools/juliapkg/test/test_all_types.jl b/tools/juliapkg/test/test_all_types.jl index 5ad2bceea262..ece579fd151b 100644 --- a/tools/juliapkg/test/test_all_types.jl +++ b/tools/juliapkg/test/test_all_types.jl @@ -6,7 +6,16 @@ db = DBInterface.connect(DuckDB.DB) con = DBInterface.connect(db) - df = DataFrame(DBInterface.execute(con, "SELECT * FROM test_all_types()")) + df = DataFrame( + DBInterface.execute( + con, + """SELECT * EXCLUDE(time, time_tz) + , CASE WHEN time = '24:00:00'::TIME THEN '23:59:59.999999'::TIME ELSE time END AS time + , CASE WHEN time_tz = '24:00:00-15:59:59'::TIMETZ THEN '23:59:59.999999-15:59:59'::TIMETZ ELSE time_tz END AS time_tz + FROM test_all_types() + """ + ) + ) #println(names(df)) # we can also use 'propertynames()' to get the column names as symbols, that might make for a better testing approach # If we add a dictionary that maps from the symbol to the expected result @@ -18,8 +27,9 @@ @test isequal(df.bigint, [-9223372036854775808, 9223372036854775807, missing]) @test isequal( df.hugeint, - [-170141183460469231731687303715884105727, 170141183460469231731687303715884105727, missing] + [-170141183460469231731687303715884105728, 170141183460469231731687303715884105727, missing] ) + @test isequal(df.uhugeint, [0, 340282366920938463463374607431768211455, missing]) @test isequal(df.utinyint, [0, 255, missing]) @test isequal(df.usmallint, [0, 65535, missing]) @test isequal(df.uint, [0, 4294967295, missing]) @@ -46,8 +56,7 @@ @test isequal(df.large_enum, ["enum_0", "enum_69999", missing]) @test isequal(df.date, [Dates.Date(-5877641, 6, 25), Dates.Date(5881580, 7, 10), missing]) @test isequal(df.time, [Dates.Time(0, 0, 0), Dates.Time(23, 59, 59, 999, 999), missing]) - # FIXME: TIMETZ <> TIME - # @test isequal(df.time_tz, [Dates.Time(0, 0, 0), Dates.Time(23, 59, 59, 999, 999), missing]) + @test isequal(df.time_tz, [Dates.Time(0, 0, 0), Dates.Time(23, 59, 59, 999, 999), missing]) @test isequal( df.timestamp, [Dates.DateTime(-290308, 12, 22, 0, 0, 0), Dates.DateTime(294247, 1, 10, 4, 0, 54, 775), missing] @@ -115,7 +124,7 @@ missing ] ) - @test isequal(df.uuid, [UUID(1), UUID(UInt128(340282366920938463463374607431768211455)), missing]) + @test isequal(df.uuid, [UUID(0), UUID(UInt128(340282366920938463463374607431768211455)), missing]) @test isequal(df.int_array, [[], [42, 999, missing, missing, -42], missing]) @test isequal(df.double_array, [[], [42, NaN, Inf, -Inf, missing, -42], missing]) @test isequal( diff --git a/tools/juliapkg/test/test_appender.jl b/tools/juliapkg/test/test_appender.jl index 0e7cf034f877..2ad522e97049 100644 --- a/tools/juliapkg/test/test_appender.jl +++ b/tools/juliapkg/test/test_appender.jl @@ -16,74 +16,104 @@ end DuckDB.close(appender) DuckDB.close(appender) + # close! + appender = DuckDB.Appender(db, "integers") + DBInterface.close!(appender) + appender = DuckDB.Appender(db, "integers") for i in 0:9 DuckDB.append(appender, i) DuckDB.end_row(appender) end DuckDB.flush(appender) + DuckDB.close(appender) results = DBInterface.execute(db, "SELECT * FROM integers") df = DataFrame(results) @test names(df) == ["i"] @test size(df, 1) == 10 @test df.i == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + # close the database + DuckDB.close(appender) end -# @testset "Appender API" begin -# # Open the database -# db = DuckDB.open(":memory:") -# con = DuckDB.connect(db) -# -# # Create the table the data is appended to -# DuckDB.execute(con, "CREATE TABLE dtypes(bol BOOLEAN, tint TINYINT, sint SMALLINT, int INTEGER, bint BIGINT, utint UTINYINT, usint USMALLINT, uint UINTEGER, ubint UBIGINT, float FLOAT, double DOUBLE, date DATE, time TIME, vchar VARCHAR, nullval INTEGER)") -# -# # Create the appender -# appender = DuckDB.appender_create(con, "dtypes") -# -# # Append the different data types -# DuckDB.duckdb_append_bool(appender, true) -# DuckDB.duckdb_append_int8(appender, 1) -# DuckDB.duckdb_append_int16(appender, 2) -# DuckDB.duckdb_append_int32(appender, 3) -# DuckDB.duckdb_append_int64(appender, 4) -# DuckDB.duckdb_append_uint8(appender, 1) -# DuckDB.duckdb_append_uint16(appender, 2) -# DuckDB.duckdb_append_uint32(appender, 3) -# DuckDB.duckdb_append_uint64(appender, 4) -# DuckDB.duckdb_append_float(appender, 1.0) -# DuckDB.duckdb_append_double(appender, 2.0) -# DuckDB.duckdb_append_date(appender, 100) -# DuckDB.duckdb_append_time(appender, 200) -# DuckDB.duckdb_append_varchar(appender, "Foo") -# DuckDB.duckdb_append_null(appender) -# # End the row of the appender -# DuckDB.duckdb_appender_end_row(appender) -# # Destroy the appender and flush the data -# DuckDB.duckdb_appender_destroy(appender) -# -# # Retrive the data from the table and store it in a vector -# df = DuckDB.toDataFrame(con, "select * from dtypes;") -# data = Matrix(df) -# -# # Test if the correct types have been appended to the table -# @test data[1] === true -# @test data[2] === Int8(1) -# @test data[3] === Int16(2) -# @test data[4] === Int32(3) -# @test data[5] === Int64(4) -# @test data[6] === UInt8(1) -# @test data[7] === UInt16(2) -# @test data[8] === UInt32(3) -# @test data[9] === UInt64(4) -# @test data[10] === Float32(1.0) -# @test data[11] === Float64(2.0) -# @test data[12] === Dates.Date("1970-04-11") -# @test data[13] === Dates.Time(0, 0, 0, 0, 200) -# @test data[14] === "Foo" -# @test data[15] === missing -# -# # Disconnect and close the database -# DuckDB.disconnect(con) -# DuckDB.close(db) -# end +@testset "Appender API" begin + # Open the database + db = DBInterface.connect(DuckDB.DB) + + # Create the table the data is appended to + DuckDB.execute( + db, + "CREATE TABLE dtypes( + bool BOOLEAN, + tint TINYINT, + sint SMALLINT, + int INTEGER, + bint BIGINT, + utint UTINYINT, + usint USMALLINT, + uint UINTEGER, + ubint UBIGINT, + float FLOAT, + double DOUBLE, + date DATE, + time TIME, + timestamp TIMESTAMP, + missingval INTEGER, + nothingval INTEGER, + varchar VARCHAR)" + ) + + # Create the appender + appender = DuckDB.Appender(db, "dtypes") + + # Append the different data types + DuckDB.append(appender, true) + DuckDB.append(appender, -1) + DuckDB.append(appender, -2) + DuckDB.append(appender, -3) + DuckDB.append(appender, -4) + DuckDB.append(appender, 1) + DuckDB.append(appender, 2) + DuckDB.append(appender, 3) + DuckDB.append(appender, 4) + DuckDB.append(appender, 1.0) + DuckDB.append(appender, 2.0) + DuckDB.append(appender, Dates.Date("1970-04-11")) + DuckDB.append(appender, Dates.Time(0, 0, 0, 0, 200)) + DuckDB.append(appender, Dates.DateTime("1970-01-02T01:23:45.678")) + DuckDB.append(appender, Missing) + DuckDB.append(appender, Nothing) + DuckDB.append(appender, "Foo") + # End the row of the appender + DuckDB.end_row(appender) + # Destroy the appender and flush the data + DuckDB.flush(appender) + DuckDB.close(appender) + + # Retrive the data from the table and store it in a vector + results = DBInterface.execute(db, "select * from dtypes;") + df = DataFrame(results) + + # Test if the correct types have been appended to the table + @test df.bool == [true] + @test df.tint == [Int8(-1)] + @test df.sint == [Int16(-2)] + @test df.int == [Int32(-3)] + @test df.bint == [Int64(-4)] + @test df.utint == [UInt8(1)] + @test df.usint == [UInt16(2)] + @test df.uint == [UInt32(3)] + @test df.ubint == [UInt64(4)] + @test df.float == [Float32(1.0)] + @test df.double == [Float64(2.0)] + @test df.date == [Dates.Date("1970-04-11")] + @test df.time == [Dates.Time(0, 0, 0, 0, 200)] + @test df.timestamp == [Dates.DateTime("1970-01-02T01:23:45.678")] + @test isequal(df.missingval, [missing]) + @test isequal(df.nothingval, [missing]) + @test df.varchar == ["Foo"] + + # close the database + DBInterface.close!(db) +end diff --git a/tools/juliapkg/test/test_basic_queries.jl b/tools/juliapkg/test/test_basic_queries.jl index 47b9e7d708fd..75cba901d7b0 100644 --- a/tools/juliapkg/test/test_basic_queries.jl +++ b/tools/juliapkg/test/test_basic_queries.jl @@ -72,15 +72,31 @@ SELECT '🦆🍞🦆' DBInterface.close!(con) end -@testset "DBInterface.execute errors" begin +@testset "DBInterface.execute - parser error" begin con = DBInterface.connect(DuckDB.DB) # parser error @test_throws DuckDB.QueryException DBInterface.execute(con, "SELEC") + DBInterface.close!(con) +end + +@testset "DBInterface.execute - binder error" begin + con = DBInterface.connect(DuckDB.DB) + # binder error @test_throws DuckDB.QueryException DBInterface.execute(con, "SELECT * FROM this_table_does_not_exist") + DBInterface.close!(con) +end + +@testset "DBInterface.execute - runtime error" begin + con = DBInterface.connect(DuckDB.DB) + + res = DBInterface.execute(con, "select current_setting('threads')") + df = DataFrame(res) + print(df) + # run-time error @test_throws DuckDB.QueryException DBInterface.execute( con, diff --git a/tools/juliapkg/test/test_big_nested.jl b/tools/juliapkg/test/test_big_nested.jl index 3c8f1e1cc62a..f697d979dca6 100644 --- a/tools/juliapkg/test/test_big_nested.jl +++ b/tools/juliapkg/test/test_big_nested.jl @@ -15,7 +15,7 @@ end DBInterface.execute(con, "CREATE TABLE bit_table (bits BIT);") # 131073 = 64 * 2048 + 1 - DBInterface.execute(con, "INSERT INTO bit_table VALUES (bitstring('1010'::BIT, 131073));") + DBInterface.execute(con, "INSERT INTO bit_table VALUES (bitstring('1010', 131073));") df = DataFrame(DBInterface.execute(con, "SELECT * FROM bit_table;")) # Currently mapped to Julia in an odd way. # Can reenable following https://github.com/duckdb/duckdb/issues/7065 diff --git a/tools/odbc/connection.cpp b/tools/odbc/connection.cpp index 4a6eea38731b..7e169d895554 100644 --- a/tools/odbc/connection.cpp +++ b/tools/odbc/connection.cpp @@ -1074,8 +1074,9 @@ SQLRETURN SQL_API SQLEndTran(SQLSMALLINT handle_type, SQLHANDLE handle, SQLSMALL try { dbc->conn->Rollback(); return SQL_SUCCESS; - } catch (duckdb::Exception &ex) { - return duckdb::SetDiagnosticRecord(dbc, SQL_ERROR, "SQLEndTran", std::string(ex.what()), + } catch (std::exception &ex) { + duckdb::ErrorData parsed_error(ex); + return duckdb::SetDiagnosticRecord(dbc, SQL_ERROR, "SQLEndTran", parsed_error.RawMessage(), SQLStateType::ST_HY115, dbc->GetDataSourceName()); } default: diff --git a/tools/odbc/odbc_fetch.cpp b/tools/odbc/odbc_fetch.cpp index 4212a90b3425..b7af680522da 100644 --- a/tools/odbc/odbc_fetch.cpp +++ b/tools/odbc/odbc_fetch.cpp @@ -86,7 +86,7 @@ SQLRETURN OdbcFetch::FetchNext(OdbcHandleStmt *hstmt) { } } catch (duckdb::Exception &e) { // TODO this is quite dirty, we should have separate error holder - hstmt->res->SetError(PreservedError(e)); + hstmt->res->SetError(ErrorData(e)); hstmt->open = false; return SetDiagnosticRecord(hstmt, SQL_ERROR, "FetchNext", hstmt->res->GetError(), duckdb::SQLStateType::ST_HY000, hstmt->dbc->GetDataSourceName()); diff --git a/tools/odbc/statement_functions.cpp b/tools/odbc/statement_functions.cpp index 44f953297f43..a9de5c66fdd5 100644 --- a/tools/odbc/statement_functions.cpp +++ b/tools/odbc/statement_functions.cpp @@ -179,8 +179,9 @@ static SQLRETURN GetInternalValue(duckdb::OdbcHandleStmt *hstmt, const duckdb::V *str_len_or_ind_ptr = sizeof(casted_value); } return SQL_SUCCESS; - } catch (duckdb::Exception &ex) { - return duckdb::SetDiagnosticRecord(hstmt, SQL_ERROR, "GetInternalValue", std::string(ex.what()), + } catch (std::exception &ex) { + duckdb::ErrorData parsed_error(ex); + return duckdb::SetDiagnosticRecord(hstmt, SQL_ERROR, "GetInternalValue", parsed_error.RawMessage(), SQLStateType::ST_07006, hstmt->dbc->GetDataSourceName()); } } @@ -192,8 +193,9 @@ static bool CastTimestampValue(duckdb::OdbcHandleStmt *hstmt, const duckdb::Valu timestamp_t timestamp = cast_timestamp_fun(val.GetValue()); target = CAST_OP::template Operation(timestamp); return true; - } catch (duckdb::Exception &ex) { - return duckdb::SetDiagnosticRecord(hstmt, SQL_ERROR, "CastTimestampValue", std::string(ex.what()), + } catch (std::exception &ex) { + duckdb::ErrorData parsed_error(ex); + return duckdb::SetDiagnosticRecord(hstmt, SQL_ERROR, "CastTimestampValue", parsed_error.RawMessage(), SQLStateType::ST_22007, hstmt->dbc->GetDataSourceName()); } } diff --git a/tools/pythonpkg/MANIFEST.in b/tools/pythonpkg/MANIFEST.in index bdc182fb2450..8370540ec3a2 100644 --- a/tools/pythonpkg/MANIFEST.in +++ b/tools/pythonpkg/MANIFEST.in @@ -4,4 +4,4 @@ include duckdb_python.cpp recursive-include src *.h *.hpp *.cpp recursive-include duckdb-stubs *.pyi recursive-include duckdb -include cibw.toml \ No newline at end of file +include pyproject.toml \ No newline at end of file diff --git a/tools/pythonpkg/README.md b/tools/pythonpkg/README.md index 14130738569d..f9a507ac2263 100644 --- a/tools/pythonpkg/README.md +++ b/tools/pythonpkg/README.md @@ -22,10 +22,10 @@ Note that this will override any existing DuckDB installation you might have. Yo source .venv/bin/activate BUILD_PYTHON=1 make -You can also directly invoke the setup.py script from the `tools/pythonpkg` environment. +You can also directly invoke pip from the `tools/pythonpkg` environment. cd tools/pythonpkg - python3 setup.py install + python3 -m pip install . Alternatively, using virtualenv and pip: @@ -49,9 +49,10 @@ storage from a notebook. First, get the repository based version number and extract the source distribution. + python3 -m pip install build # required for pep517 compliant source dists cd tools/pythonpkg - export SETUPTOOLS_SCM_PRETEND_VERSION=$(python setup.py --version) - python setup.py sdist + export SETUPTOOLS_SCM_PRETEND_VERSION=$(python3 -m setuptools_scm) + pyproject-build . --sdist cd ../.. Next, copy over the python package related files, and install the package. @@ -108,7 +109,7 @@ All the above should be done in a virtualenv. ## Clang-tidy and CMakeLists -The pythonpkg does not use the CMakeLists for compilation, for that it uses `setup.py` and `package_build.py` mostly. +The pythonpkg does not use the CMakeLists for compilation, for that it uses pip and `package_build.py` mostly. But we still have CMakeLists in the pythonpkg, for tidy-check and intellisense purposes. For this reason it might not be instantly apparent that the CMakeLists are incorrectly set up, and will only result in a very confusing CI failure of TidyCheck. diff --git a/tools/pythonpkg/duckdb-stubs/__init__.pyi b/tools/pythonpkg/duckdb-stubs/__init__.pyi index 79fa4df7ea9f..39c997782748 100644 --- a/tools/pythonpkg/duckdb-stubs/__init__.pyi +++ b/tools/pythonpkg/duckdb-stubs/__init__.pyi @@ -78,8 +78,6 @@ __jupyter__: bool class BinderException(ProgrammingError): ... -class CastException(DataError): ... - class CatalogException(ProgrammingError): ... class ConnectionException(OperationalError): ... @@ -298,9 +296,9 @@ class DuckDBPyConnection: self, name: str, func: Callable, - args: Optional[List[DuckDBPyType]] = None, + parameters: Optional[List[DuckDBPyType]] = None, return_type: Optional[DuckDBPyType] = None, - vectorized: Optional[bool] = False, + type: Optional[PythonUDFType] = PythonUDFType.NATIVE, null_handling: Optional[FunctionNullHandling] = FunctionNullHandling.DEFAULT, exception_handling: Optional[PythonExceptionHandling] = PythonExceptionHandling.DEFAULT, side_effects: Optional[bool] = False) -> DuckDBPyConnection: ... @@ -535,16 +533,12 @@ class SequenceException(Error): ... class SerializationException(OperationalError): ... -class StandardException(Error): ... - class SyntaxException(ProgrammingError): ... class TransactionException(OperationalError): ... class TypeMismatchException(DataError): ... -class ValueOutOfRangeException(DataError): ... - class Warning(Exception): ... class token_type: @@ -687,9 +681,9 @@ def remove_function(name: str, connection : DuckDBPyConnection = ...) -> DuckDBP def create_function( name: str, func: Callable, - args: Optional[List[DuckDBPyType]] = None, + parameters: Optional[List[DuckDBPyType]] = None, return_type: Optional[DuckDBPyType] = None, - vectorized: Optional[bool] = False, + type: Optional[PythonUDFType] = PythonUDFType.NATIVE, null_handling: Optional[FunctionNullHandling] = FunctionNullHandling.DEFAULT, exception_handling: Optional[PythonExceptionHandling] = PythonExceptionHandling.DEFAULT, side_effects: Optional[bool] = False, diff --git a/tools/pythonpkg/duckdb-stubs/typing/__init__.pyi b/tools/pythonpkg/duckdb-stubs/typing/__init__.pyi index 139ab13ce87c..ebf49d48364e 100644 --- a/tools/pythonpkg/duckdb-stubs/typing/__init__.pyi +++ b/tools/pythonpkg/duckdb-stubs/typing/__init__.pyi @@ -12,6 +12,7 @@ UINTEGER: DuckDBPyType BIGINT: DuckDBPyType UBIGINT: DuckDBPyType HUGEINT: DuckDBPyType +UHUGEINT: DuckDBPyType UUID: DuckDBPyType FLOAT: DuckDBPyType DOUBLE: DuckDBPyType diff --git a/tools/pythonpkg/duckdb/__init__.py b/tools/pythonpkg/duckdb/__init__.py index 440accf0e402..d5bf62b55f58 100644 --- a/tools/pythonpkg/duckdb/__init__.py +++ b/tools/pythonpkg/duckdb/__init__.py @@ -273,11 +273,9 @@ from .duckdb import ( Error, DataError, - CastException, ConversionException, OutOfRangeException, TypeMismatchException, - ValueOutOfRangeException, FatalException, IntegrityError, ConstraintException, @@ -302,17 +300,14 @@ ParserException, SyntaxException, SequenceException, - StandardException, Warning ) _exported_symbols.extend([ "Error", "DataError", - "CastException", "ConversionException", "OutOfRangeException", "TypeMismatchException", - "ValueOutOfRangeException", "FatalException", "IntegrityError", "ConstraintException", @@ -337,7 +332,6 @@ "ParserException", "SyntaxException", "SequenceException", - "StandardException", "Warning" ]) diff --git a/tools/pythonpkg/duckdb/experimental/spark/sql/catalog.py b/tools/pythonpkg/duckdb/experimental/spark/sql/catalog.py index c0d456760c19..ebedb1a127d3 100644 --- a/tools/pythonpkg/duckdb/experimental/spark/sql/catalog.py +++ b/tools/pythonpkg/duckdb/experimental/spark/sql/catalog.py @@ -37,7 +37,7 @@ def __init__(self, session: SparkSession): self._session = session def listDatabases(self) -> List[Database]: - res = self._session.conn.sql('select * from duckdb_databases()').fetchall() + res = self._session.conn.sql('select database_name from duckdb_databases()').fetchall() def transform_to_database(x) -> Database: return Database(name=x[0], description=None, locationUri='') @@ -46,24 +46,24 @@ def transform_to_database(x) -> Database: return databases def listTables(self) -> List[Table]: - res = self._session.conn.sql('select * from duckdb_tables()').fetchall() + res = self._session.conn.sql('select table_name, database_name, sql, temporary from duckdb_tables()').fetchall() def transform_to_table(x) -> Table: - return Table(name=x[4], database=x[0], description=x[13], tableType='', isTemporary=x[7]) + return Table(name=x[0], database=x[1], description=x[2], tableType='', isTemporary=x[3]) tables = [transform_to_table(x) for x in res] return tables def listColumns(self, tableName: str, dbName: Optional[str] = None) -> List[Column]: query = f""" - select * from duckdb_columns() where table_name = '{tableName}' + select column_name, data_type, is_nullable from duckdb_columns() where table_name = '{tableName}' """ if dbName: query += f" and database_name = '{dbName}'" res = self._session.conn.sql(query).fetchall() def transform_to_column(x) -> Column: - return Column(name=x[6], description=None, dataType=x[11], nullable=x[8], isPartition=False, isBucket=False) + return Column(name=x[0], description=None, dataType=x[1], nullable=x[2], isPartition=False, isBucket=False) columns = [transform_to_column(x) for x in res] return columns diff --git a/tools/pythonpkg/duckdb/experimental/spark/sql/dataframe.py b/tools/pythonpkg/duckdb/experimental/spark/sql/dataframe.py index 9e31b7b58eb0..631b75c95003 100644 --- a/tools/pythonpkg/duckdb/experimental/spark/sql/dataframe.py +++ b/tools/pythonpkg/duckdb/experimental/spark/sql/dataframe.py @@ -1,33 +1,52 @@ -from ..exception import ContributionsAcceptedError +from functools import reduce +from typing import ( + TYPE_CHECKING, + Any, + Callable, + Dict, + List, + Optional, + Sequence, + Tuple, + Union, + cast, + overload, +) -from typing import TYPE_CHECKING, List, Optional, Union, Tuple, overload, Sequence, Any, Dict, cast, Callable -from duckdb import StarExpression, ColumnExpression, Expression +import duckdb +from duckdb import ColumnExpression, Expression, StarExpression from ..errors import PySparkTypeError +from ..exception import ContributionsAcceptedError +from .column import Column from .readwriter import DataFrameWriter -from .types import Row, StructType from .type_utils import duckdb_to_spark_schema -from .column import Column -import duckdb -from functools import reduce +from .types import Row, StructType if TYPE_CHECKING: - from .session import SparkSession + from pandas.core.frame import DataFrame as PandasDataFrame + from .group import GroupedData, Grouping + from .session import SparkSession +from ..errors import PySparkValueError from .functions import _to_column -from ..errors import PySparkValueError class DataFrame: def __init__(self, relation: duckdb.DuckDBPyRelation, session: "SparkSession"): self.relation = relation self.session = session - self._schema = duckdb_to_spark_schema(self.relation.columns, self.relation.types) if self.relation else None + self._schema = None + if self.relation != None: + self._schema = duckdb_to_spark_schema(self.relation.columns, self.relation.types) def show(self, **kwargs) -> None: self.relation.show() + def toPandas(self) -> "PandasDataFrame": + return self.relation.df() + def createOrReplaceTempView(self, name: str) -> None: """Creates or replaces a local temporary view with this :class:`DataFrame`. @@ -94,7 +113,9 @@ def withColumn(self, columnName: str, col: Column) -> "DataFrame": rel = self.relation.select(*cols) return DataFrame(rel, self.session) - def transform(self, func: Callable[..., "DataFrame"], *args: Any, **kwargs: Any) -> "DataFrame": + def transform( + self, func: Callable[..., "DataFrame"], *args: Any, **kwargs: Any + ) -> "DataFrame": """Returns a new :class:`DataFrame`. Concise syntax for chaining custom transformations. .. versionadded:: 3.0.0 @@ -150,12 +171,15 @@ def transform(self, func: Callable[..., "DataFrame"], *args: Any, **kwargs: Any) +---+-----+ """ result = func(self, *args, **kwargs) - assert isinstance( - result, DataFrame - ), "Func returned an instance of type [%s], " "should have been DataFrame." % type(result) + assert isinstance(result, DataFrame), ( + "Func returned an instance of type [%s], " + "should have been DataFrame." % type(result) + ) return result - def sort(self, *cols: Union[str, Column, List[Union[str, Column]]], **kwargs: Any) -> "DataFrame": + def sort( + self, *cols: Union[str, Column, List[Union[str, Column]]], **kwargs: Any + ) -> "DataFrame": """Returns a new :class:`DataFrame` sorted by the specified column(s). Parameters @@ -314,9 +338,13 @@ def select(self, *cols) -> "DataFrame": if len(cols) == 1: cols = cols[0] if isinstance(cols, list): - projections = [x.expr if isinstance(x, Column) else ColumnExpression(x) for x in cols] + projections = [ + x.expr if isinstance(x, Column) else ColumnExpression(x) for x in cols + ] else: - projections = [cols.expr if isinstance(cols, Column) else ColumnExpression(cols)] + projections = [ + cols.expr if isinstance(cols, Column) else ColumnExpression(cols) + ] rel = self.relation.select(*projections) return DataFrame(rel, self.session) @@ -434,7 +462,9 @@ def join( on = [_to_column(x) for x in on] # & all the Expressions together to form one Expression - assert isinstance(on[0], Expression), "on should be Column or list of Column" + assert isinstance( + on[0], Expression + ), "on should be Column or list of Column" on = reduce(lambda x, y: x.__and__(y), cast(List[Expression], on)) if on is None and how is None: @@ -450,12 +480,12 @@ def join( def map_to_recognized_jointype(how): known_aliases = { - 'inner': [], - 'outer': ['full', 'fullouter', 'full_outer'], - 'left': ['leftouter', 'left_outer'], - 'right': ['rightouter', 'right_outer'], - 'anti': ['leftanti', 'left_anti'], - 'semi': ['leftsemi', 'left_semi'], + "inner": [], + "outer": ["full", "fullouter", "full_outer"], + "left": ["leftouter", "left_outer"], + "right": ["rightouter", "right_outer"], + "anti": ["leftanti", "left_anti"], + "semi": ["leftsemi", "left_semi"], } mapped_type = None for type, aliases in known_aliases.items(): @@ -586,7 +616,9 @@ def __getitem__(self, item: Union[int, str]) -> Column: def __getitem__(self, item: Union[Column, List, Tuple]) -> "DataFrame": ... - def __getitem__(self, item: Union[int, str, Column, List, Tuple]) -> Union[Column, "DataFrame"]: + def __getitem__( + self, item: Union[int, str, Column, List, Tuple] + ) -> Union[Column, "DataFrame"]: """Returns the column as a :class:`Column`. Examples @@ -621,7 +653,9 @@ def __getattr__(self, name: str) -> Column: [Row(age=2), Row(age=5)] """ if name not in self.relation.columns: - raise AttributeError("'%s' object has no attribute '%s'" % (self.__class__.__name__, name)) + raise AttributeError( + "'%s' object has no attribute '%s'" % (self.__class__.__name__, name) + ) return Column(duckdb.ColumnExpression(name)) @overload @@ -755,7 +789,9 @@ def union(self, other: "DataFrame") -> "DataFrame": unionAll = union - def unionByName(self, other: "DataFrame", allowMissingColumns: bool = False) -> "DataFrame": + def unionByName( + self, other: "DataFrame", allowMissingColumns: bool = False + ) -> "DataFrame": """Returns a new :class:`DataFrame` containing union of rows in this and another :class:`DataFrame`. @@ -919,9 +955,10 @@ def _cast_types(self, *types) -> "DataFrame": assert types_count == len(existing_columns) cast_expressions = [ - f'{existing}::{target_type} as {existing}' for existing, target_type in zip(existing_columns, types) + f"{existing}::{target_type} as {existing}" + for existing, target_type in zip(existing_columns, types) ] - cast_expressions = ', '.join(cast_expressions) + cast_expressions = ", ".join(cast_expressions) new_rel = self.relation.project(cast_expressions) return DataFrame(new_rel, self.session) @@ -934,17 +971,21 @@ def toDF(self, *cols) -> "DataFrame": ) existing_columns = [ColumnExpression(x) for x in existing_columns] - projections = [existing.alias(new) for existing, new in zip(existing_columns, cols)] + projections = [ + existing.alias(new) for existing, new in zip(existing_columns, cols) + ] new_rel = self.relation.project(*projections) return DataFrame(new_rel, self.session) def collect(self) -> List[Row]: columns = self.relation.columns result = self.relation.fetchall() + def construct_row(values, names) -> Row: row = tuple.__new__(Row, list(values)) row.__fields__ = list(names) return row + rows = [construct_row(x, columns) for x in result] return rows diff --git a/tools/pythonpkg/duckdb/experimental/spark/sql/functions.py b/tools/pythonpkg/duckdb/experimental/spark/sql/functions.py index 502e7388cb78..2d54383528c3 100644 --- a/tools/pythonpkg/duckdb/experimental/spark/sql/functions.py +++ b/tools/pythonpkg/duckdb/experimental/spark/sql/functions.py @@ -93,7 +93,7 @@ def regexp_replace(str: "ColumnOrName", pattern: str, replacement: str) -> Colum [Row(d='-----')] """ return _invoke_function( - "regexp_replace", _to_column(str), ConstantExpression(pattern), ConstantExpression(replacement) + "regexp_replace", _to_column(str), ConstantExpression(pattern), ConstantExpression(replacement), ConstantExpression('g') ) diff --git a/tools/pythonpkg/duckdb/experimental/spark/sql/readwriter.py b/tools/pythonpkg/duckdb/experimental/spark/sql/readwriter.py index cfc855758ce9..e2f6f2df719d 100644 --- a/tools/pythonpkg/duckdb/experimental/spark/sql/readwriter.py +++ b/tools/pythonpkg/duckdb/experimental/spark/sql/readwriter.py @@ -1,11 +1,12 @@ -from typing import TYPE_CHECKING, Iterable, Union, List, Optional, cast -from .types import StructType +from typing import TYPE_CHECKING, Iterable, List, Optional, Union, cast + from ..exception import ContributionsAcceptedError +from .types import StructType PrimitiveType = Union[bool, float, int, str] OptionalPrimitiveType = Optional[PrimitiveType] -from ..errors import PySparkTypeError, PySparkNotImplementedError +from ..errors import PySparkNotImplementedError, PySparkTypeError if TYPE_CHECKING: from duckdb.experimental.spark.sql.dataframe import DataFrame @@ -20,6 +21,71 @@ def saveAsTable(self, table_name: str) -> None: relation = self.dataframe.relation relation.create(table_name) + def parquet( + self, + path: str, + mode: Optional[str] = None, + partitionBy: Union[str, List[str], None] = None, + compression: Optional[str] = None, + ) -> None: + relation = self.dataframe.relation + if mode: + raise NotImplementedError + if partitionBy: + raise NotImplementedError + + relation.write_parquet(path, compression=compression) + + def csv( + self, + path: str, + mode: Optional[str] = None, + compression: Optional[str] = None, + sep: Optional[str] = None, + quote: Optional[str] = None, + escape: Optional[str] = None, + header: Optional[Union[bool, str]] = None, + nullValue: Optional[str] = None, + escapeQuotes: Optional[Union[bool, str]] = None, + quoteAll: Optional[Union[bool, str]] = None, + dateFormat: Optional[str] = None, + timestampFormat: Optional[str] = None, + ignoreLeadingWhiteSpace: Optional[Union[bool, str]] = None, + ignoreTrailingWhiteSpace: Optional[Union[bool, str]] = None, + charToEscapeQuoteEscaping: Optional[str] = None, + encoding: Optional[str] = None, + emptyValue: Optional[str] = None, + lineSep: Optional[str] = None, + ): + if mode not in (None, "overwrite"): + raise NotImplementedError + if escapeQuotes: + raise NotImplementedError + if ignoreLeadingWhiteSpace: + raise NotImplementedError + if ignoreTrailingWhiteSpace: + raise NotImplementedError + if charToEscapeQuoteEscaping: + raise NotImplementedError + if emptyValue: + raise NotImplementedError + if lineSep: + raise NotImplementedError + relation = self.dataframe.relation + relation.write_csv( + path, + sep=sep, + na_rep=nullValue, + quotechar=quote, + compression=compression, + escapechar=escape, + header=header if isinstance(header, bool) else header == "True", + encoding=encoding, + quoting=quoteAll, + date_format=dateFormat, + timestamp_format=timestampFormat, + ) + class DataFrameReader: def __init__(self, session: "SparkSession"): @@ -42,16 +108,16 @@ def load( rel = None if format: format = format.lower() - if format == 'csv' or format == 'tsv': + if format == "csv" or format == "tsv": rel = self.session.conn.read_csv(path) - elif format == 'json': + elif format == "json": rel = self.session.conn.read_json(path) - elif format == 'parquet': + elif format == "parquet": rel = self.session.conn.read_parquet(path) else: raise ContributionsAcceptedError else: - rel = self.session.conn.sql(f'select * from {path}') + rel = self.session.conn.sql(f"select * from {path}") df = DataFrame(rel, self.session) if schema: if not isinstance(schema, StructType): @@ -174,6 +240,7 @@ def csv( timestamp_format=timestampFormat, ) from ..sql.dataframe import DataFrame + df = DataFrame(rel, self.session) if names: df = df.toDF(*names) @@ -189,6 +256,7 @@ def parquet(self, *paths: str, **options: "OptionalPrimitiveType") -> "DataFrame path = input[0] rel = self.session.conn.read_parquet(path) from ..sql.dataframe import DataFrame + df = DataFrame(rel, self.session) return df @@ -272,61 +340,96 @@ def json( +---+------------+ """ - if (schema != None): + if schema != None: raise ContributionsAcceptedError("The 'schema' option is not supported") - if (primitivesAsString != None): - raise ContributionsAcceptedError("The 'primitivesAsString' option is not supported") - if (prefersDecimal != None): - raise ContributionsAcceptedError("The 'prefersDecimal' option is not supported") - if (allowComments != None): - raise ContributionsAcceptedError("The 'allowComments' option is not supported") - if (allowUnquotedFieldNames != None): - raise ContributionsAcceptedError("The 'allowUnquotedFieldNames' option is not supported") - if (allowSingleQuotes != None): - raise ContributionsAcceptedError("The 'allowSingleQuotes' option is not supported") - if (allowNumericLeadingZero != None): - raise ContributionsAcceptedError("The 'allowNumericLeadingZero' option is not supported") - if (allowBackslashEscapingAnyCharacter != None): - raise ContributionsAcceptedError("The 'allowBackslashEscapingAnyCharacter' option is not supported") - if (mode != None): + if primitivesAsString != None: + raise ContributionsAcceptedError( + "The 'primitivesAsString' option is not supported" + ) + if prefersDecimal != None: + raise ContributionsAcceptedError( + "The 'prefersDecimal' option is not supported" + ) + if allowComments != None: + raise ContributionsAcceptedError( + "The 'allowComments' option is not supported" + ) + if allowUnquotedFieldNames != None: + raise ContributionsAcceptedError( + "The 'allowUnquotedFieldNames' option is not supported" + ) + if allowSingleQuotes != None: + raise ContributionsAcceptedError( + "The 'allowSingleQuotes' option is not supported" + ) + if allowNumericLeadingZero != None: + raise ContributionsAcceptedError( + "The 'allowNumericLeadingZero' option is not supported" + ) + if allowBackslashEscapingAnyCharacter != None: + raise ContributionsAcceptedError( + "The 'allowBackslashEscapingAnyCharacter' option is not supported" + ) + if mode != None: raise ContributionsAcceptedError("The 'mode' option is not supported") - if (columnNameOfCorruptRecord != None): - raise ContributionsAcceptedError("The 'columnNameOfCorruptRecord' option is not supported") - if (dateFormat != None): + if columnNameOfCorruptRecord != None: + raise ContributionsAcceptedError( + "The 'columnNameOfCorruptRecord' option is not supported" + ) + if dateFormat != None: raise ContributionsAcceptedError("The 'dateFormat' option is not supported") - if (timestampFormat != None): - raise ContributionsAcceptedError("The 'timestampFormat' option is not supported") - if (multiLine != None): + if timestampFormat != None: + raise ContributionsAcceptedError( + "The 'timestampFormat' option is not supported" + ) + if multiLine != None: raise ContributionsAcceptedError("The 'multiLine' option is not supported") - if (allowUnquotedControlChars != None): - raise ContributionsAcceptedError("The 'allowUnquotedControlChars' option is not supported") - if (lineSep != None): + if allowUnquotedControlChars != None: + raise ContributionsAcceptedError( + "The 'allowUnquotedControlChars' option is not supported" + ) + if lineSep != None: raise ContributionsAcceptedError("The 'lineSep' option is not supported") - if (samplingRatio != None): - raise ContributionsAcceptedError("The 'samplingRatio' option is not supported") - if (dropFieldIfAllNull != None): - raise ContributionsAcceptedError("The 'dropFieldIfAllNull' option is not supported") - if (encoding != None): + if samplingRatio != None: + raise ContributionsAcceptedError( + "The 'samplingRatio' option is not supported" + ) + if dropFieldIfAllNull != None: + raise ContributionsAcceptedError( + "The 'dropFieldIfAllNull' option is not supported" + ) + if encoding != None: raise ContributionsAcceptedError("The 'encoding' option is not supported") - if (locale != None): + if locale != None: raise ContributionsAcceptedError("The 'locale' option is not supported") - if (pathGlobFilter != None): - raise ContributionsAcceptedError("The 'pathGlobFilter' option is not supported") - if (recursiveFileLookup != None): - raise ContributionsAcceptedError("The 'recursiveFileLookup' option is not supported") - if (modifiedBefore != None): - raise ContributionsAcceptedError("The 'modifiedBefore' option is not supported") - if (modifiedAfter != None): - raise ContributionsAcceptedError("The 'modifiedAfter' option is not supported") - if (allowNonNumericNumbers != None): - raise ContributionsAcceptedError("The 'allowNonNumericNumbers' option is not supported") + if pathGlobFilter != None: + raise ContributionsAcceptedError( + "The 'pathGlobFilter' option is not supported" + ) + if recursiveFileLookup != None: + raise ContributionsAcceptedError( + "The 'recursiveFileLookup' option is not supported" + ) + if modifiedBefore != None: + raise ContributionsAcceptedError( + "The 'modifiedBefore' option is not supported" + ) + if modifiedAfter != None: + raise ContributionsAcceptedError( + "The 'modifiedAfter' option is not supported" + ) + if allowNonNumericNumbers != None: + raise ContributionsAcceptedError( + "The 'allowNonNumericNumbers' option is not supported" + ) if isinstance(path, str): path = [path] if type(path) == list: - if (len(path) == 1): + if len(path) == 1: rel = self.session.conn.read_json(path[0]) from .dataframe import DataFrame + df = DataFrame(rel, self.session) return df raise PySparkNotImplementedError( @@ -341,4 +444,5 @@ def json( }, ) + __all__ = ["DataFrameWriter", "DataFrameReader"] diff --git a/tools/pythonpkg/duckdb/experimental/spark/sql/type_utils.py b/tools/pythonpkg/duckdb/experimental/spark/sql/type_utils.py index 6d10e4795d56..55f0963ccb2d 100644 --- a/tools/pythonpkg/duckdb/experimental/spark/sql/type_utils.py +++ b/tools/pythonpkg/duckdb/experimental/spark/sql/type_utils.py @@ -28,6 +28,7 @@ LongType, UnsignedLongType, HugeIntegerType, + UnsignedHugeIntegerType, DayTimeIntervalType, ArrayType, MapType, @@ -46,6 +47,7 @@ 'ubigint': UnsignedLongType, 'bigint': LongType, 'hugeint': HugeIntegerType, + 'uhugeint': UnsignedHugeIntegerType, 'varchar': StringType, 'blob': BinaryType, 'bit': BitstringType, diff --git a/tools/pythonpkg/duckdb/experimental/spark/sql/types.py b/tools/pythonpkg/duckdb/experimental/spark/sql/types.py index 67f7a47ecac5..3620bd721576 100644 --- a/tools/pythonpkg/duckdb/experimental/spark/sql/types.py +++ b/tools/pythonpkg/duckdb/experimental/spark/sql/types.py @@ -57,6 +57,7 @@ "LongType", "UnsignedLongType", "HugeIntegerType", + "UnsignedHugeIntegerType", "DayTimeIntervalType", "Row", "ArrayType", @@ -463,7 +464,7 @@ def simpleString(self) -> str: class HugeIntegerType(IntegralType): """Huge integer data type, i.e. a signed 128-bit integer. - If the values are beyond the range of [-170141183460469231731687303715884105727, 170141183460469231731687303715884105727], + If the values are beyond the range of [-170141183460469231731687303715884105728, 170141183460469231731687303715884105727], please use :class:`DecimalType`. """ @@ -474,6 +475,20 @@ def simpleString(self) -> str: return "hugeint" +class UnsignedHugeIntegerType(IntegralType): + """Unsigned huge integer data type, i.e. a unsigned 128-bit integer. + + If the values are beyond the range of [0, 340282366920938463463374607431768211455], + please use :class:`DecimalType`. + """ + + def __init__(self): + super().__init__(DuckDBPyType("UHUGEINT")) + + def simpleString(self) -> str: + return "uhugeint" + + class TimeType(IntegralType): """Time (datetime.time) data type.""" diff --git a/tools/pythonpkg/duckdb/typing/__init__.py b/tools/pythonpkg/duckdb/typing/__init__.py index 83a418c09a46..7aeccc8b00d9 100644 --- a/tools/pythonpkg/duckdb/typing/__init__.py +++ b/tools/pythonpkg/duckdb/typing/__init__.py @@ -8,6 +8,7 @@ DOUBLE, FLOAT, HUGEINT, + UHUGEINT, INTEGER, INTERVAL, SMALLINT, @@ -38,6 +39,7 @@ "DOUBLE", "FLOAT", "HUGEINT", + "UHUGEINT", "INTEGER", "INTERVAL", "SMALLINT", diff --git a/tools/pythonpkg/duckdb/value/constant.py b/tools/pythonpkg/duckdb/value/constant.py index 6b2c8a408cf0..da2004b9c5a2 100644 --- a/tools/pythonpkg/duckdb/value/constant.py +++ b/tools/pythonpkg/duckdb/value/constant.py @@ -9,6 +9,7 @@ DOUBLE, FLOAT, HUGEINT, + UHUGEINT, INTEGER, INTERVAL, SMALLINT, @@ -103,6 +104,11 @@ def __init__(self, object: Any): super().__init__(object, HUGEINT) +class UnsignedHugeIntegerValue(Value): + def __init__(self, object: Any): + super().__init__(object, UHUGEINT) + + # Fractional @@ -242,6 +248,7 @@ def __init__(self, object: Any, members: Dict[str, DuckDBPyType]): "IntegerValue", "LongValue", "HugeIntegerValue", + "UnsignedHugeIntegerValue", "FloatValue", "DoubleValue", "DecimalValue", diff --git a/tools/pythonpkg/duckdb_extension_config.cmake b/tools/pythonpkg/duckdb_extension_config.cmake index a142f9171d26..38622df8cc84 100644 --- a/tools/pythonpkg/duckdb_extension_config.cmake +++ b/tools/pythonpkg/duckdb_extension_config.cmake @@ -8,7 +8,6 @@ # TODO: unify this by making setup.py also use this configuration, making this the config for all python builds duckdb_extension_load(json) duckdb_extension_load(fts) -duckdb_extension_load(visualizer) duckdb_extension_load(tpcds) duckdb_extension_load(tpch) duckdb_extension_load(parquet) diff --git a/tools/pythonpkg/cibw.toml b/tools/pythonpkg/pyproject.toml similarity index 73% rename from tools/pythonpkg/cibw.toml rename to tools/pythonpkg/pyproject.toml index 507d6c6f9a3e..7b3e4adba95d 100644 --- a/tools/pythonpkg/cibw.toml +++ b/tools/pythonpkg/pyproject.toml @@ -1,10 +1,24 @@ -# Config for cibuildwheel, some values are overridden by env variables of specific jobs +[build-system] +requires = [ + "setuptools>=60", + "setuptools_scm>=6.4", + "pybind11>=2.6.0", + "wheel>=0.38.0" +] +build-backend = "setuptools.build_meta" + +[tool.setuptools_scm] +root = "../.." +local_scheme = "no-local-version" + +### CI Builwheel configurations ### # Default config runs all tests and requires at least one extension to be tested against [tool.cibuildwheel] +dependency-versions = "latest" environment = "PIP_CONSTRAINT='build-constraints.txt'" before-build = 'pip install oldest-supported-numpy' -before-test = 'pip install --prefer-binary pandas pytest-timeout mypy "psutil>=5.9.0" "requests>=2.26" fsspec && (pip install --prefer-binary "pyarrow>=8.0" || true) && (pip install --prefer-binary "torch" || true) && (pip install --prefer-binary "polars" || true) && (pip install --prefer-binary "adbc_driver_manager==0.6.0" || true) && (pip install --prefer-binary "tensorflow" || true)' +before-test = 'pip install --prefer-binary pandas pytest-timeout mypy "psutil>=5.9.0" "requests>=2.26" fsspec && (pip install --prefer-binary "pyarrow>=8.0" || true) && (pip install --prefer-binary "torch" || true) && (pip install --prefer-binary "polars" || true) && (pip install --prefer-binary "adbc_driver_manager" || true) && (pip install --prefer-binary "tensorflow" || true)' test-requires = 'pytest' test-command = 'DUCKDB_PYTHON_TEST_EXTENSION_PATH={project} DUCKDB_PYTHON_TEST_EXTENSION_REQUIRED=1 python -m pytest {project}/tests --verbose' @@ -24,4 +38,5 @@ select = "*aarch64*" test-command = "python -m pytest {project}/tests/fast --verbose" [tool.cibuildwheel.windows] +archs = ["AMD64"] test-command = "python -m pytest {project}/tests/fast --verbose" diff --git a/tools/pythonpkg/scripts/cache_data.json b/tools/pythonpkg/scripts/cache_data.json new file mode 100644 index 000000000000..b7f57409d67d --- /dev/null +++ b/tools/pythonpkg/scripts/cache_data.json @@ -0,0 +1,518 @@ +{ + "pyarrow": { + "type": "module", + "full_path": "pyarrow", + "name": "pyarrow", + "children": [ + "pyarrow.dataset", + "pyarrow.Table", + "pyarrow.RecordBatchReader" + ] + }, + "pyarrow.dataset": { + "type": "module", + "full_path": "pyarrow.dataset", + "name": "dataset", + "children": [ + "pyarrow.dataset.Scanner", + "pyarrow.dataset.Dataset" + ] + }, + "pyarrow.dataset.Scanner": { + "type": "attribute", + "full_path": "pyarrow.dataset.Scanner", + "name": "Scanner", + "children": [] + }, + "pyarrow.dataset.Dataset": { + "type": "attribute", + "full_path": "pyarrow.dataset.Dataset", + "name": "Dataset", + "children": [] + }, + "pyarrow.Table": { + "type": "attribute", + "full_path": "pyarrow.Table", + "name": "Table", + "children": [] + }, + "pyarrow.RecordBatchReader": { + "type": "attribute", + "full_path": "pyarrow.RecordBatchReader", + "name": "RecordBatchReader", + "children": [] + }, + "pandas": { + "type": "module", + "full_path": "pandas", + "name": "pandas", + "children": [ + "pandas.DataFrame", + "pandas.isnull", + "pandas.ArrowDtype", + "pandas.NaT", + "pandas.NA" + ], + "required": false + }, + "pandas.DataFrame": { + "type": "attribute", + "full_path": "pandas.DataFrame", + "name": "DataFrame", + "children": [] + }, + "pandas.NaT": { + "type": "attribute", + "full_path": "pandas.NaT", + "name": "NaT", + "children": [] + }, + "pandas.NA": { + "type": "attribute", + "full_path": "pandas.NA", + "name": "NA", + "children": [] + }, + "pandas.isnull": { + "type": "attribute", + "full_path": "pandas.isnull", + "name": "isnull", + "children": [] + }, + "pandas.ArrowDtype": { + "type": "attribute", + "full_path": "pandas.ArrowDtype", + "name": "ArrowDtype", + "children": [] + }, + "datetime": { + "type": "module", + "full_path": "datetime", + "name": "datetime", + "children": [ + "datetime.date", + "datetime.time", + "datetime.timedelta", + "datetime.datetime" + ] + }, + "datetime.date": { + "type": "attribute", + "full_path": "datetime.date", + "name": "date", + "children": [ + "datetime.date.max", + "datetime.date.min" + ] + }, + "datetime.date.max": { + "type": "attribute", + "full_path": "datetime.date.max", + "name": "max", + "children": [] + }, + "datetime.date.min": { + "type": "attribute", + "full_path": "datetime.date.min", + "name": "min", + "children": [] + }, + "datetime.time": { + "type": "attribute", + "full_path": "datetime.time", + "name": "time", + "children": [] + }, + "datetime.timedelta": { + "type": "attribute", + "full_path": "datetime.timedelta", + "name": "timedelta", + "children": [] + }, + "datetime.datetime": { + "type": "attribute", + "full_path": "datetime.datetime", + "name": "datetime", + "children": [ + "datetime.datetime.min", + "datetime.datetime.max" + ] + }, + "datetime.datetime.min": { + "type": "attribute", + "full_path": "datetime.datetime.min", + "name": "min", + "children": [] + }, + "datetime.datetime.max": { + "type": "attribute", + "full_path": "datetime.datetime.max", + "name": "max", + "children": [] + }, + "decimal": { + "type": "module", + "full_path": "decimal", + "name": "decimal", + "children": [ + "decimal.Decimal" + ] + }, + "decimal.Decimal": { + "type": "attribute", + "full_path": "decimal.Decimal", + "name": "Decimal", + "children": [] + }, + "IPython": { + "type": "module", + "full_path": "IPython", + "name": "IPython", + "children": [ + "IPython.get_ipython", + "IPython.display" + ], + "required": false + }, + "IPython.get_ipython": { + "type": "attribute", + "full_path": "IPython.get_ipython", + "name": "get_ipython", + "children": [] + }, + "IPython.display": { + "type": "attribute", + "full_path": "IPython.display", + "name": "display", + "children": [ + "IPython.display.display" + ] + }, + "IPython.display.display": { + "type": "attribute", + "full_path": "IPython.display.display", + "name": "display", + "children": [] + }, + "ipywidgets": { + "type": "module", + "full_path": "ipywidgets", + "name": "ipywidgets", + "children": [ + "ipywidgets.FloatProgress" + ], + "required": false + }, + "ipywidgets.FloatProgress": { + "type": "attribute", + "full_path": "ipywidgets.FloatProgress", + "name": "FloatProgress", + "children": [] + }, + "numpy": { + "type": "module", + "full_path": "numpy", + "name": "numpy", + "children": [ + "numpy.core", + "numpy.ndarray", + "numpy.datetime64", + "numpy.generic", + "numpy.int64", + "numpy.bool_", + "numpy.byte", + "numpy.ubyte", + "numpy.short", + "numpy.ushort", + "numpy.intc", + "numpy.uintc", + "numpy.int_", + "numpy.uint", + "numpy.longlong", + "numpy.ulonglong", + "numpy.half", + "numpy.float16", + "numpy.single", + "numpy.longdouble", + "numpy.csingle", + "numpy.cdouble", + "numpy.clongdouble" + ] + }, + "numpy.core": { + "type": "attribute", + "full_path": "numpy.core", + "name": "core", + "children": [ + "numpy.core.multiarray" + ] + }, + "numpy.core.multiarray": { + "type": "attribute", + "full_path": "numpy.core.multiarray", + "name": "multiarray", + "children": [] + }, + "numpy.ndarray": { + "type": "attribute", + "full_path": "numpy.ndarray", + "name": "ndarray", + "children": [] + }, + "numpy.datetime64": { + "type": "attribute", + "full_path": "numpy.datetime64", + "name": "datetime64", + "children": [] + }, + "numpy.generic": { + "type": "attribute", + "full_path": "numpy.generic", + "name": "generic", + "children": [] + }, + "numpy.int64": { + "type": "attribute", + "full_path": "numpy.int64", + "name": "int64", + "children": [] + }, + "numpy.bool_": { + "type": "attribute", + "full_path": "numpy.bool_", + "name": "bool_", + "children": [] + }, + "numpy.byte": { + "type": "attribute", + "full_path": "numpy.byte", + "name": "byte", + "children": [] + }, + "numpy.ubyte": { + "type": "attribute", + "full_path": "numpy.ubyte", + "name": "ubyte", + "children": [] + }, + "numpy.short": { + "type": "attribute", + "full_path": "numpy.short", + "name": "short", + "children": [] + }, + "numpy.ushort": { + "type": "attribute", + "full_path": "numpy.ushort", + "name": "ushort", + "children": [] + }, + "numpy.intc": { + "type": "attribute", + "full_path": "numpy.intc", + "name": "intc", + "children": [] + }, + "numpy.uintc": { + "type": "attribute", + "full_path": "numpy.uintc", + "name": "uintc", + "children": [] + }, + "numpy.int_": { + "type": "attribute", + "full_path": "numpy.int_", + "name": "int_", + "children": [] + }, + "numpy.uint": { + "type": "attribute", + "full_path": "numpy.uint", + "name": "uint", + "children": [] + }, + "numpy.longlong": { + "type": "attribute", + "full_path": "numpy.longlong", + "name": "longlong", + "children": [] + }, + "numpy.ulonglong": { + "type": "attribute", + "full_path": "numpy.ulonglong", + "name": "ulonglong", + "children": [] + }, + "numpy.half": { + "type": "attribute", + "full_path": "numpy.half", + "name": "half", + "children": [] + }, + "numpy.float16": { + "type": "attribute", + "full_path": "numpy.float16", + "name": "float16", + "children": [] + }, + "numpy.single": { + "type": "attribute", + "full_path": "numpy.single", + "name": "single", + "children": [] + }, + "numpy.longdouble": { + "type": "attribute", + "full_path": "numpy.longdouble", + "name": "longdouble", + "children": [] + }, + "numpy.csingle": { + "type": "attribute", + "full_path": "numpy.csingle", + "name": "csingle", + "children": [] + }, + "numpy.cdouble": { + "type": "attribute", + "full_path": "numpy.cdouble", + "name": "cdouble", + "children": [] + }, + "numpy.clongdouble": { + "type": "attribute", + "full_path": "numpy.clongdouble", + "name": "clongdouble", + "children": [] + }, + "pathlib": { + "type": "module", + "full_path": "pathlib", + "name": "pathlib", + "children": [ + "pathlib.Path" + ], + "required": false + }, + "pathlib.Path": { + "type": "attribute", + "full_path": "pathlib.Path", + "name": "Path", + "children": [] + }, + "polars": { + "type": "module", + "full_path": "polars", + "name": "polars", + "children": [ + "polars.DataFrame", + "polars.LazyFrame" + ], + "required": false + }, + "polars.DataFrame": { + "type": "attribute", + "full_path": "polars.DataFrame", + "name": "DataFrame", + "children": [] + }, + "polars.LazyFrame": { + "type": "attribute", + "full_path": "polars.LazyFrame", + "name": "LazyFrame", + "children": [] + }, + "duckdb": { + "type": "module", + "full_path": "duckdb", + "name": "duckdb", + "children": [ + "duckdb.filesystem", + "duckdb.Value" + ] + }, + "duckdb.filesystem": { + "type": "module", + "full_path": "duckdb.filesystem", + "name": "filesystem", + "children": [ + "duckdb.filesystem.ModifiedMemoryFileSystem" + ], + "required": false + }, + "duckdb.filesystem.ModifiedMemoryFileSystem": { + "type": "attribute", + "full_path": "duckdb.filesystem.ModifiedMemoryFileSystem", + "name": "ModifiedMemoryFileSystem", + "children": [] + }, + "duckdb.Value": { + "type": "attribute", + "full_path": "duckdb.Value", + "name": "Value", + "children": [] + }, + "pytz": { + "type": "module", + "full_path": "pytz", + "name": "pytz", + "children": [ + "pytz.timezone" + ] + }, + "pytz.timezone": { + "type": "attribute", + "full_path": "pytz.timezone", + "name": "timezone", + "children": [] + }, + "types": { + "type": "module", + "full_path": "types", + "name": "types", + "children": [ + "types.UnionType", + "types.GenericAlias" + ] + }, + "types.UnionType": { + "type": "attribute", + "full_path": "types.UnionType", + "name": "UnionType", + "children": [] + }, + "types.GenericAlias": { + "type": "attribute", + "full_path": "types.GenericAlias", + "name": "GenericAlias", + "children": [] + }, + "typing": { + "type": "module", + "full_path": "typing", + "name": "typing", + "children": [ + "typing._UnionGenericAlias" + ] + }, + "typing._UnionGenericAlias": { + "type": "attribute", + "full_path": "typing._UnionGenericAlias", + "name": "_UnionGenericAlias", + "children": [] + }, + "uuid": { + "type": "module", + "full_path": "uuid", + "name": "uuid", + "children": [ + "uuid.UUID" + ] + }, + "uuid.UUID": { + "type": "attribute", + "full_path": "uuid.UUID", + "name": "UUID", + "children": [] + } +} \ No newline at end of file diff --git a/tools/pythonpkg/scripts/generate_import_cache_cpp.py b/tools/pythonpkg/scripts/generate_import_cache_cpp.py new file mode 100644 index 000000000000..0ece41f5a7fd --- /dev/null +++ b/tools/pythonpkg/scripts/generate_import_cache_cpp.py @@ -0,0 +1,255 @@ +import os + +script_dir = os.path.dirname(__file__) +from typing import List, Dict, Union +import json + +# Load existing JSON data from a file if it exists +json_data = {} +json_cache_path = os.path.join(script_dir, "cache_data.json") +try: + with open(json_cache_path, "r") as file: + json_data = json.load(file) +except FileNotFoundError: + print("Please first use 'generate_import_cache_json.py' first to generate json") + pass + + +# deal with leaf nodes?? Those are just PythonImportCacheItem +def get_class_name(path: str) -> str: + parts: List[str] = path.replace('_', '').split('.') + parts = [x.title() for x in parts] + return ''.join(parts) + 'CacheItem' + + +def get_filename(name: str) -> str: + return name.replace('_', '').lower() + '_module.hpp' + + +def get_variable_name(name: str) -> str: + if name in ['short', 'ushort']: + return name + '_' + return name + + +def collect_items_of_module(module: dict, collection: Dict): + global json_data + children = module['children'] + collection[module['full_path']] = module + for child in children: + collect_items_of_module(json_data[child], collection) + + +class CacheItem: + def __init__(self, module: dict, items): + self.name = module['name'] + self.module = module + self.items = items + self.class_name = get_class_name(module['full_path']) + + def get_full_module_path(self): + if self.module['type'] != 'module': + return '' + full_path = self.module['full_path'] + return f""" +public: +\tstatic constexpr const char *Name = "{full_path}"; +""" + + def get_optionally_required(self): + if 'required' not in self.module: + return '' + string = f""" +protected: +\tbool IsRequired() const override final {{ +\t\treturn {str(self.module['required']).lower()}; +\t}} +""" + return string + + def get_variables(self): + variables = [] + for key in self.module['children']: + item = self.items[key] + name = item['name'] + var_name = get_variable_name(name) + if item['children'] == []: + class_name = 'PythonImportCacheItem' + else: + class_name = get_class_name(item['full_path']) + variables.append(f'\t{class_name} {var_name};') + return '\n'.join(variables) + + def get_initializer(self): + variables = [] + for key in self.module['children']: + item = self.items[key] + name = item['name'] + var_name = get_variable_name(name) + if item['children'] == []: + initialization = f'{var_name}("{name}", this)' + variables.append(initialization) + else: + if item['type'] == 'module': + arguments = '' + else: + arguments = 'this' + initialization = f'{var_name}({arguments})' + variables.append(initialization) + if self.module['type'] != 'module': + constructor_params = f'"{self.name}"' + constructor_params += ', parent' + else: + full_path = self.module['full_path'] + constructor_params = f'"{full_path}"' + return f'PythonImportCacheItem({constructor_params}), ' + ', '.join(variables) + '{}' + + def get_constructor(self): + if self.module['type'] == 'module': + return f'{self.class_name}()' + return f'{self.class_name}(optional_ptr parent)' + + def to_string(self): + return f""" +struct {self.class_name} : public PythonImportCacheItem {{ +{self.get_full_module_path()} +public: +\t{self.get_constructor()} : {self.get_initializer()} +\t~{self.class_name}() override {{}} + +{self.get_variables()} +{self.get_optionally_required()} +}}; +""" + + +def collect_classes(items: Dict) -> List: + output: List = [] + for item in items.values(): + if item['children'] == []: + continue + output.append(CacheItem(item, items)) + return output + + +class ModuleFile: + def __init__(self, module: dict): + self.module = module + self.file_name = get_filename(module['name']) + self.items = {} + collect_items_of_module(module, self.items) + self.classes = collect_classes(self.items) + self.classes.reverse() + + def get_classes(self): + classes = [] + for item in self.classes: + classes.append(item.to_string()) + return ''.join(classes) + + def to_string(self): + string = f""" +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb_python/import_cache/modules/{self.file_name} +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb_python/import_cache/python_import_cache_item.hpp" + +namespace duckdb {{ +{self.get_classes()} +}} // namespace duckdb +""" + return string + + +files: List[ModuleFile] = [] +for name, value in json_data.items(): + if value['full_path'] != value['name']: + continue + files.append(ModuleFile(value)) + +for file in files: + content = file.to_string() + path = f'src/include/duckdb_python/import_cache/modules/{file.file_name}' + import_cache_path = os.path.join(script_dir, '..', path) + with open(import_cache_path, "w") as f: + f.write(content) + + +def get_root_modules(files: List[ModuleFile]): + modules = [] + for file in files: + name = file.module['name'] + class_name = get_class_name(name) + modules.append(f'\t{class_name} {name};') + return '\n'.join(modules) + + +# Generate the python_import_cache.hpp file +# adding all the root modules with their 'name' +import_cache_file = f""" +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb_python/import_cache/python_import_cache.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb_python/pybind11/pybind_wrapper.hpp" +#include "duckdb.hpp" +#include "duckdb/common/vector.hpp" +#include "duckdb_python/import_cache/python_import_cache_modules.hpp" + +namespace duckdb {{ + +struct PythonImportCache {{ +public: + explicit PythonImportCache() {{ + }} + ~PythonImportCache(); + +public: +{get_root_modules(files)} + +public: + py::handle AddCache(py::object item); + +private: + vector owned_objects; +}}; + +}} // namespace duckdb + +""" + +import_cache_path = os.path.join(script_dir, '..', 'src/include/duckdb_python/import_cache/python_import_cache.hpp') +with open(import_cache_path, "w") as f: + f.write(import_cache_file) + + +def get_module_file_path_includes(files: List[ModuleFile]): + includes = [] + for file in files: + includes.append(f'#include "duckdb_python/import_cache/modules/{file.file_name}"') + return '\n'.join(includes) + + +module_includes = get_module_file_path_includes(files) + +modules_header = os.path.join( + script_dir, '..', 'src/include/duckdb_python/import_cache/python_import_cache_modules.hpp' +) +with open(modules_header, "w") as f: + f.write(module_includes) + +# Generate the python_import_cache_modules.hpp file +# listing all the generated header files diff --git a/tools/pythonpkg/scripts/generate_import_cache_json.py b/tools/pythonpkg/scripts/generate_import_cache_json.py new file mode 100644 index 000000000000..54426943d861 --- /dev/null +++ b/tools/pythonpkg/scripts/generate_import_cache_json.py @@ -0,0 +1,181 @@ +import os + +script_dir = os.path.dirname(__file__) +from typing import List, Dict, Union +import json + +lines: List[str] = [file for file in open(f'{script_dir}/imports.py').read().split('\n') if file != ''] + + +class ImportCacheAttribute: + def __init__(self, full_path: str): + parts = full_path.split('.') + self.type = "attribute" + self.name = parts[-1] + self.full_path = full_path + self.children: Dict[str, "ImportCacheAttribute"] = {} + + def has_item(self, item_name: str) -> bool: + return item_name in self.children + + def get_item(self, item_name: str) -> "ImportCacheAttribute": + assert item_name in self.children + return self.children[item_name] + + def add_item(self, item: "ImportCacheAttribute"): + assert not self.has_item(item.full_path) + self.children[item.full_path] = item + + def __repr__(self) -> str: + return str(self.children) + + def populate_json(self, json_data: dict): + json_data[self.full_path] = { + "type": self.type, + "full_path": self.full_path, + "name": self.name, + "children": list(self.children.keys()), + } + for item in self.children: + self.children[item].populate_json(json_data) + + +class ImportCacheModule: + def __init__(self, full_path): + parts = full_path.split('.') + self.type = "module" + self.name = parts[-1] + self.full_path = full_path + self.items: Dict[str, Union[ImportCacheAttribute, "ImportCacheModule"]] = {} + + def add_item(self, item: Union[ImportCacheAttribute, "ImportCacheModule"]): + assert self.full_path != item.full_path + assert not self.has_item(item.full_path) + self.items[item.full_path] = item + + def get_item(self, item_name: str) -> Union[ImportCacheAttribute, "ImportCacheModule"]: + assert self.has_item(item_name) + return self.items[item_name] + + def populate_json(self, json_data: dict): + json_data[self.full_path] = { + "type": self.type, + "full_path": self.full_path, + "name": self.name, + "children": list(self.items.keys()), + } + for key_name in self.items: + self.items[key_name].populate_json(json_data) + + def has_item(self, item_name: str) -> bool: + return item_name in self.items + + def __repr__(self) -> str: + return str(self.items) + + def root_module(self) -> bool: + return self.name == self.full_path + + +class ImportCacheGenerator: + def __init__(self): + self.modules: Dict[str, ImportCacheModule] = {} + + def add_module(self, path: str): + assert path.startswith('import') + path = path[7:] + module = ImportCacheModule(path) + self.modules[module.full_path] = module + + # Add it to the parent module if present + parts = path.split('.') + if len(parts) == 1: + return + + # This works back from the furthest child module to the top level module + child_module = module + for i in range(1, len(parts)): + parent_path = '.'.join(parts[: len(parts) - i]) + parent_module = self.add_or_get_module(parent_path) + parent_module.add_item(child_module) + child_module = parent_module + + def add_or_get_module(self, module_name: str) -> ImportCacheModule: + if module_name not in self.modules: + self.add_module(f'import {module_name}') + return self.get_module(module_name) + + def get_module(self, module_name: str) -> ImportCacheModule: + if module_name not in self.modules: + raise ValueError("Import the module before registering its attributes!") + return self.modules[module_name] + + def get_item(self, item_name: str) -> Union[ImportCacheModule, ImportCacheAttribute]: + parts = item_name.split('.') + if len(parts) == 1: + return self.get_module(item_name) + + parent = self.get_module(parts[0]) + for i in range(1, len(parts)): + child_path = '.'.join(parts[: i + 1]) + if parent.has_item(child_path): + parent = parent.get_item(child_path) + else: + attribute = ImportCacheAttribute(child_path) + parent.add_item(attribute) + parent = attribute + return parent + + def add_attribute(self, path: str): + assert not path.startswith('import') + parts = path.split('.') + assert len(parts) >= 2 + self.get_item(path) + + def populate_json(self, json_data: dict): + for module_name in self.modules: + self.modules[module_name].populate_json(json_data) + + def to_json(self): + json_data = {} + self.populate_json(json_data) + return json_data + + +generator = ImportCacheGenerator() + +for line in lines: + if line.startswith('#'): + continue + if line.startswith('import'): + generator.add_module(line) + else: + generator.add_attribute(line) + +# Load existing JSON data from a file if it exists +existing_json_data = {} +json_cache_path = os.path.join(script_dir, "cache_data.json") +try: + with open(json_cache_path, "r") as file: + existing_json_data = json.load(file) +except FileNotFoundError: + pass + + +def update_json(existing: dict, new: dict): + for item in new: + if item not in existing: + continue + object = new[item] + if isinstance(object, dict): + object.update(existing[item]) + update_json(object, existing[item]) + + +# Merge the existing JSON data with the new data +json_data = generator.to_json() +update_json(existing_json_data, json_data) + +# Save the merged JSON data back to the file +with open(json_cache_path, "w") as file: + json.dump(json_data, file, indent=4) diff --git a/tools/pythonpkg/scripts/imports.py b/tools/pythonpkg/scripts/imports.py new file mode 100644 index 000000000000..13b5f21aacf5 --- /dev/null +++ b/tools/pythonpkg/scripts/imports.py @@ -0,0 +1,99 @@ +import pyarrow +import pyarrow.dataset + +pyarrow.dataset.Scanner +pyarrow.dataset.Dataset +pyarrow.Table +pyarrow.RecordBatchReader + +import pandas + +pandas.DataFrame +pandas.NaT +pandas.NA +pandas.isnull +pandas.ArrowDtype + +import datetime + +datetime.date +datetime.date.max +datetime.date.min +datetime.time +datetime.timedelta +datetime.datetime +datetime.datetime.min +datetime.datetime.max + +import decimal + +decimal.Decimal + +import IPython + +IPython.get_ipython +IPython.display +IPython.display.display + + +import ipywidgets + +ipywidgets.FloatProgress + +import numpy + +numpy.core.multiarray +numpy.ndarray +numpy.datetime64 +numpy.generic +numpy.int64 +numpy.bool_ +numpy.byte +numpy.ubyte +numpy.short +numpy.ushort +numpy.intc +numpy.uintc +numpy.int_ +numpy.uint +numpy.longlong +numpy.ulonglong +numpy.half +numpy.float16 +numpy.single +numpy.longdouble +numpy.csingle +numpy.cdouble +numpy.clongdouble + +import pathlib + +pathlib.Path + +import polars + +polars.DataFrame +polars.LazyFrame + +import duckdb +import duckdb.filesystem + +duckdb.filesystem.ModifiedMemoryFileSystem +duckdb.Value + +import pytz + +pytz.timezone + +import types + +types.UnionType +types.GenericAlias + +import typing + +typing._UnionGenericAlias + +import uuid + +uuid.UUID diff --git a/tools/pythonpkg/setup.py b/tools/pythonpkg/setup.py index c836548928ae..506b6f7c2404 100644 --- a/tools/pythonpkg/setup.py +++ b/tools/pythonpkg/setup.py @@ -1,11 +1,14 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- - +import ctypes import os -import sys import platform -import multiprocessing.pool +import sys +import traceback +from functools import lru_cache from glob import glob +from os.path import exists +from typing import TextIO from setuptools import setup, Extension from setuptools.command.build_ext import build_ext as _build_ext @@ -42,15 +45,69 @@ def __setup(self): compiler_launcher = os.getenv("DISTUTILS_C_COMPILER_LAUNCHER") if compiler_launcher: - def spawn_with_compiler_launcher(cmd): + def spawn_with_compiler_launcher(cmd, **kwargs): + if platform.system() == 'Windows' and len(' '.join(cmd)) > 32766: + raise Exception("command too long: " + ' '.join(cmd)) + exclude_programs = ("link.exe",) if not cmd[0].endswith(exclude_programs): cmd = [compiler_launcher] + cmd - return original_spawn(cmd) + try: + return original_spawn(cmd, **kwargs) + except Exception: + traceback.print_exc() + raise original_spawn = self.compiler.spawn self.compiler.spawn = spawn_with_compiler_launcher + # for some reason, the copy of distutils included with setuptools (instead of the one that was previously + # part of the stdlib) pushes the link call over the maximum command line length on windows. + # We can fix this by using special windows short paths, of the form C:\Program ~1\... + + def link_with_short_paths( + target_desc, + objects, + *args, + **kwargs, + ): + return original_link(target_desc, [get_short_path(x) for x in objects], *args, **kwargs) + + original_link = self.compiler.link + self.compiler.link = link_with_short_paths + + +def get_short_path(long_name: str) -> str: + """ + Gets the short path name of a given long path. + http://stackoverflow.com/a/23598461/200291 + """ + + @lru_cache() + def get_short_path_name_w(): + from ctypes import wintypes + + kernel32 = ctypes.WinDLL('kernel32', use_last_error=True) + _GetShortPathNameW = kernel32.GetShortPathNameW + _GetShortPathNameW.argtypes = [wintypes.LPCWSTR, wintypes.LPWSTR, wintypes.DWORD] + _GetShortPathNameW.restype = wintypes.DWORD + return _GetShortPathNameW + + if platform.system() != 'Windows': + return long_name + + assert exists(long_name), long_name + gspn = get_short_path_name_w() + + output_buf_size = 0 + while True: + output_buf = ctypes.create_unicode_buffer(output_buf_size) + needed = gspn(long_name, output_buf, output_buf_size) + if output_buf_size >= needed: + return output_buf.value or long_name + else: + output_buf_size = needed + class build_ext(CompilerLauncherMixin, _build_ext): pass @@ -63,48 +120,28 @@ class build_ext(CompilerLauncherMixin, _build_ext): if platform.system() == 'Windows': extensions = ['parquet', 'icu', 'fts', 'tpch', 'json'] -if platform.system() == 'Linux' and platform.architecture()[0] == '64bit' and not hasattr(sys, 'getandroidapilevel'): +is_android = hasattr(sys, 'getandroidapilevel') +use_jemalloc = not is_android and platform.system() == 'Linux' and platform.architecture()[0] == '64bit' + +if use_jemalloc: extensions.append('jemalloc') unity_build = 0 if 'DUCKDB_BUILD_UNITY' in os.environ: unity_build = 16 - -def parallel_cpp_compile( - self, - sources, - output_dir=None, - macros=None, - include_dirs=None, - debug=0, - extra_preargs=None, - extra_postargs=None, - depends=None, -): - # Copied from distutils.ccompiler.CCompiler - macros, objects, extra_postargs, pp_opts, build = self._setup_compile( - output_dir, macros, include_dirs, sources, depends, extra_postargs - ) - - cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) - - def _single_compile(obj): - try: - src, ext = build[obj] - except KeyError: - return - self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) - - list(multiprocessing.pool.ThreadPool(multiprocessing.cpu_count()).imap(_single_compile, objects)) - return objects - +try: + import pybind11 +except ImportError: + raise Exception( + 'pybind11 could not be imported. This usually means you\'re calling setup.py directly, or using a version of pip that doesn\'t support PEP517' + ) from None # speed up compilation with: -j = cpu_number() on non Windows machines if os.name != 'nt' and os.environ.get('DUCKDB_DISABLE_PARALLEL_COMPILE', '') != '1': - import distutils.ccompiler + from pybind11.setup_helpers import ParallelCompile - distutils.ccompiler.CCompiler.compile = parallel_cpp_compile + ParallelCompile().install() def open_utf8(fpath, flags): @@ -131,50 +168,35 @@ def open_utf8(fpath, flags): sys.argv.append('--user') existing_duckdb_dir = '' -new_sys_args = [] libraries = [] -for i in range(len(sys.argv)): - if sys.argv[i].startswith("--binary-dir="): - existing_duckdb_dir = sys.argv[i].split('=', 1)[1] - elif sys.argv[i].startswith('--package_name='): - lib_name = sys.argv[i].split('=', 1)[1] - elif sys.argv[i].startswith("--compile-flags="): - # FIXME: this is overwriting the previously set toolchain_args ? - toolchain_args = ['-std=c++11'] + [ - x.strip() for x in sys.argv[i].split('=', 1)[1].split(' ') if len(x.strip()) > 0 - ] - elif sys.argv[i].startswith("--libs="): - libraries = [x.strip() for x in sys.argv[i].split('=', 1)[1].split(' ') if len(x.strip()) > 0] - else: - new_sys_args.append(sys.argv[i]) -sys.argv = new_sys_args -toolchain_args.append('-DDUCKDB_PYTHON_LIB_NAME=' + lib_name) +if 'DUCKDB_BINARY_DIR' in os.environ: + existing_duckdb_dir = os.environ['DUCKDB_BINARY_DIR'] +if 'DUCKDB_COMPILE_FLAGS' in os.environ: + # FIXME: this is overwriting the previously set toolchain_args ? + toolchain_args = ['-std=c++11'] + os.environ['DUCKDB_COMPILE_FLAGS'].split() +if 'DUCKDB_LIBS' in os.environ: + libraries = os.environ['DUCKDB_LIBS'].split(' ') + +define_macros = [('DUCKDB_PYTHON_LIB_NAME', lib_name)] if platform.system() == 'Darwin': toolchain_args.extend(['-stdlib=libc++', '-mmacosx-version-min=10.7']) if platform.system() == 'Windows': - toolchain_args.extend(['-DDUCKDB_BUILD_LIBRARY', '-DWIN32']) + define_macros.extend([('DUCKDB_BUILD_LIBRARY', None), ('WIN32', None)]) if 'BUILD_HTTPFS' in os.environ: libraries += ['crypto', 'ssl'] extensions += ['httpfs'] for ext in extensions: - toolchain_args.extend(['-DDUCKDB_EXTENSION_{}_LINKED'.format(ext.upper())]) - -toolchain_args.extend(['-DDUCKDB_EXTENSION_AUTOLOAD_DEFAULT=1', '-DDUCKDB_EXTENSION_AUTOINSTALL_DEFAULT=1']) - - -class get_pybind_include(object): - def __init__(self, user=False): - self.user = user + define_macros.append(('DUCKDB_EXTENSION_{}_LINKED'.format(ext.upper()), None)) - def __str__(self): - import pybind11 - - return pybind11.get_include(self.user) +define_macros.extend([('DUCKDB_EXTENSION_AUTOLOAD_DEFAULT', '1'), ('DUCKDB_EXTENSION_AUTOINSTALL_DEFAULT', '1')]) +linker_args = toolchain_args +if platform.system() == 'Windows': + linker_args.extend(['rstrtmgr.lib']) extra_files = [] header_files = [] @@ -189,10 +211,20 @@ def list_source_files(directory): main_include_path = os.path.join(script_path, 'src', 'include') main_source_path = os.path.join(script_path, 'src') main_source_files = ['duckdb_python.cpp'] + list_source_files(main_source_path) -include_directories = [main_include_path, get_pybind_include(), get_pybind_include(user=True)] + +include_directories = [main_include_path, pybind11.get_include(False), pybind11.get_include(True)] if 'BUILD_HTTPFS' in os.environ and 'OPENSSL_ROOT_DIR' in os.environ: include_directories += [os.path.join(os.environ['OPENSSL_ROOT_DIR'], 'include')] + +def exclude_extensions(f: TextIO): + files = [x for x in f.read().split('\n') if len(x) > 0] + if use_jemalloc: + return files + else: + return [x for x in files if 'jemalloc' not in x] + + if len(existing_duckdb_dir) == 0: # no existing library supplied: compile everything from source source_files = main_source_files @@ -237,14 +269,10 @@ def list_source_files(directory): # if amalgamation does not exist, we are in a package distribution # read the include files, source list and include files from the supplied lists with open_utf8('sources.list', 'r') as f: - duckdb_sources = [x for x in f.read().split('\n') if len(x) > 0] - if hasattr(sys, 'getandroidapilevel'): - duckdb_sources = [x for x in duckdb_sources if 'jemalloc' not in x] + duckdb_sources = exclude_extensions(f) with open_utf8('includes.list', 'r') as f: - duckdb_includes = [x for x in f.read().split('\n') if len(x) > 0] - if hasattr(sys, 'getandroidapilevel'): - duckdb_includes = [x for x in duckdb_includes if 'jemalloc' not in x] + duckdb_includes = exclude_extensions(f) source_files += duckdb_sources include_directories = duckdb_includes + include_directories @@ -254,9 +282,10 @@ def list_source_files(directory): include_dirs=include_directories, sources=source_files, extra_compile_args=toolchain_args, - extra_link_args=toolchain_args, + extra_link_args=linker_args, libraries=libraries, language='c++', + define_macros=define_macros, ) else: sys.path.append(os.path.join(script_path, '..', '..', 'scripts')) @@ -274,22 +303,13 @@ def list_source_files(directory): include_dirs=include_directories, sources=main_source_files, extra_compile_args=toolchain_args, - extra_link_args=toolchain_args, + extra_link_args=linker_args, libraries=libnames, library_dirs=library_dirs, language='c++', + define_macros=define_macros, ) -# Only include pytest-runner in setup_requires if we're invoking tests -if {'pytest', 'test', 'ptr'}.intersection(sys.argv): - setup_requires = ['pytest-runner'] -else: - setup_requires = [] - -setuptools_scm_conf = {"root": "../..", "relative_to": __file__} -if os.getenv('SETUPTOOLS_SCM_NO_LOCAL', 'no') != 'no': - setuptools_scm_conf['local_scheme'] = 'no-local-version' - # data files need to be formatted as [(directory, [files...]), (directory2, [files...])] # no clue why the setup script can't do this automatically, but hey @@ -325,10 +345,13 @@ def setup_data_files(data_files): 'duckdb-stubs', 'duckdb-stubs.functional', 'duckdb-stubs.typing', + 'duckdb-stubs.value', + 'duckdb-stubs.value.constant', 'adbc_driver_duckdb', ] spark_packages = [ + 'duckdb.experimental', 'duckdb.experimental.spark', 'duckdb.experimental.spark.sql', 'duckdb.experimental.spark.errors', @@ -339,7 +362,7 @@ def setup_data_files(data_files): setup( name=lib_name, - description='DuckDB embedded database', + description='DuckDB in-process database', keywords='DuckDB Database SQL OLAP', url="https://www.duckdb.org", long_description='See here for an introduction: https://duckdb.org/docs/api/python/overview', @@ -349,8 +372,6 @@ def setup_data_files(data_files): packages=packages, include_package_data=True, python_requires='>=3.7.0', - setup_requires=setup_requires + ["setuptools_scm<7.0.0", 'pybind11>=2.6.0'], - use_scm_version=setuptools_scm_conf, tests_require=['google-cloud-storage', 'mypy', 'pytest'], classifiers=[ 'Topic :: Database :: Database Engines/Servers', diff --git a/tools/pythonpkg/src/arrow/arrow_array_stream.cpp b/tools/pythonpkg/src/arrow/arrow_array_stream.cpp index f7093df8a126..8f8393b24984 100644 --- a/tools/pythonpkg/src/arrow/arrow_array_stream.cpp +++ b/tools/pythonpkg/src/arrow/arrow_array_stream.cpp @@ -6,6 +6,7 @@ #include "duckdb/main/client_config.hpp" #include "duckdb/planner/filter/conjunction_filter.hpp" #include "duckdb/planner/filter/constant_filter.hpp" +#include "duckdb/planner/filter/struct_filter.hpp" #include "duckdb/planner/table_filter.hpp" #include "duckdb_python/pyconnection/pyconnection.hpp" @@ -24,10 +25,7 @@ void TransformDuckToArrowChunk(ArrowSchema &arrow_schema, ArrowArray &data, py:: void VerifyArrowDatasetLoaded() { auto &import_cache = *DuckDBPyConnection::ImportCache(); - auto loaded = import_cache.arrow_dataset().IsLoaded(); - // Have to check 'ModuleIsLoaded' because it could be monkeypatched - // so we think it's loaded, but it's not present in the sys modules - if (!loaded || !ModuleIsLoaded()) { + if (!import_cache.pyarrow.dataset() || !ModuleIsLoaded()) { throw InvalidInputException("Optional module 'pyarrow.dataset' is required to perform this action"); } } @@ -35,16 +33,16 @@ void VerifyArrowDatasetLoaded() { PyArrowObjectType GetArrowType(const py::handle &obj) { auto &import_cache = *DuckDBPyConnection::ImportCache(); // First Verify Lib Types - auto table_class = import_cache.arrow_lib().Table(); - auto record_batch_reader_class = import_cache.arrow_lib().RecordBatchReader(); + auto table_class = import_cache.pyarrow.Table(); + auto record_batch_reader_class = import_cache.pyarrow.RecordBatchReader(); if (py::isinstance(obj, table_class)) { return PyArrowObjectType::Table; } else if (py::isinstance(obj, record_batch_reader_class)) { return PyArrowObjectType::RecordBatchReader; } // Then Verify dataset types - auto dataset_class = import_cache.arrow_dataset().Dataset(); - auto scanner_class = import_cache.arrow_dataset().Scanner(); + auto dataset_class = import_cache.pyarrow.dataset.Dataset(); + auto scanner_class = import_cache.pyarrow.dataset.Scanner(); if (py::isinstance(obj, scanner_class)) { return PyArrowObjectType::Scanner; @@ -95,10 +93,10 @@ unique_ptr PythonTableArrowArrayStreamFactory::Produce( auto &import_cache = *DuckDBPyConnection::ImportCache(); py::object scanner; - py::object arrow_batch_scanner = import_cache.arrow_dataset().Scanner().attr("from_batches"); + py::object arrow_batch_scanner = import_cache.pyarrow.dataset.Scanner().attr("from_batches"); switch (arrow_object_type) { case PyArrowObjectType::Table: { - auto arrow_dataset = import_cache.arrow_dataset()().attr("dataset"); + auto arrow_dataset = import_cache.pyarrow.dataset().attr("dataset"); auto dataset = arrow_dataset(arrow_obj_handle); py::object arrow_scanner = dataset.attr("__class__").attr("scanner"); scanner = ProduceScanner(arrow_scanner, dataset, parameters, factory->client_properties); @@ -145,7 +143,7 @@ void PythonTableArrowArrayStreamFactory::GetSchemaInternal(py::handle arrow_obj_ VerifyArrowDatasetLoaded(); auto &import_cache = *DuckDBPyConnection::ImportCache(); - auto scanner_class = import_cache.arrow_dataset().Scanner(); + auto scanner_class = import_cache.pyarrow.dataset.Scanner(); if (py::isinstance(arrow_obj_handle, scanner_class)) { auto obj_schema = arrow_obj_handle.attr("projected_schema"); @@ -199,7 +197,7 @@ int64_t ConvertTimestampTZValue(int64_t base_value, ArrowDateTimeType datetime_t py::object GetScalar(Value &constant, const string &timezone_config, const ArrowType &type) { py::object scalar = py::module_::import("pyarrow").attr("scalar"); auto &import_cache = *DuckDBPyConnection::ImportCache(); - py::object dataset_scalar = import_cache.arrow_dataset()().attr("scalar"); + py::object dataset_scalar = import_cache.pyarrow.dataset().attr("scalar"); py::object scalar_value; switch (constant.type().id()) { case LogicalTypeId::BOOLEAN: @@ -295,14 +293,14 @@ py::object GetScalar(Value &constant, const string &timezone_config, const Arrow } } -py::object TransformFilterRecursive(TableFilter *filter, const string &column_name, const string &timezone_config, +py::object TransformFilterRecursive(TableFilter *filter, vector &column_ref, const string &timezone_config, const ArrowType &type) { auto &import_cache = *DuckDBPyConnection::ImportCache(); - py::object field = import_cache.arrow_dataset()().attr("field"); + py::object field = import_cache.pyarrow.dataset().attr("field"); switch (filter->filter_type) { case TableFilterType::CONSTANT_COMPARISON: { auto &constant_filter = filter->Cast(); - auto constant_field = field(column_name); + auto constant_field = field(py::tuple(py::cast(column_ref))); auto constant_value = GetScalar(constant_filter.constant, timezone_config, type); switch (constant_filter.comparison_type) { case ExpressionType::COMPARE_EQUAL: { @@ -326,11 +324,11 @@ py::object TransformFilterRecursive(TableFilter *filter, const string &column_na } //! We do not pushdown is null yet case TableFilterType::IS_NULL: { - auto constant_field = field(column_name); + auto constant_field = field(py::tuple(py::cast(column_ref))); return constant_field.attr("is_null")(); } case TableFilterType::IS_NOT_NULL: { - auto constant_field = field(column_name); + auto constant_field = field(py::tuple(py::cast(column_ref))); return constant_field.attr("is_valid")(); } //! We do not pushdown or conjuctions yet @@ -339,10 +337,10 @@ py::object TransformFilterRecursive(TableFilter *filter, const string &column_na auto &or_filter = filter->Cast(); //! Get first non null filter type auto child_filter = or_filter.child_filters[i++].get(); - py::object expression = TransformFilterRecursive(child_filter, column_name, timezone_config, type); + py::object expression = TransformFilterRecursive(child_filter, column_ref, timezone_config, type); while (i < or_filter.child_filters.size()) { child_filter = or_filter.child_filters[i++].get(); - py::object child_expression = TransformFilterRecursive(child_filter, column_name, timezone_config, type); + py::object child_expression = TransformFilterRecursive(child_filter, column_ref, timezone_config, type); expression = expression.attr("__or__")(child_expression); } return expression; @@ -351,14 +349,26 @@ py::object TransformFilterRecursive(TableFilter *filter, const string &column_na idx_t i = 0; auto &and_filter = filter->Cast(); auto child_filter = and_filter.child_filters[i++].get(); - py::object expression = TransformFilterRecursive(child_filter, column_name, timezone_config, type); + py::object expression = TransformFilterRecursive(child_filter, column_ref, timezone_config, type); while (i < and_filter.child_filters.size()) { child_filter = and_filter.child_filters[i++].get(); - py::object child_expression = TransformFilterRecursive(child_filter, column_name, timezone_config, type); + py::object child_expression = TransformFilterRecursive(child_filter, column_ref, timezone_config, type); expression = expression.attr("__and__")(child_expression); } return expression; } + case TableFilterType::STRUCT_EXTRACT: { + auto &struct_filter = filter->Cast(); + auto &child_type = StructType::GetChildType(type.GetDuckType(), struct_filter.child_idx); + auto &child_name = struct_filter.child_name; + + column_ref.push_back(child_name); + auto child_expr = + TransformFilterRecursive(struct_filter.child_filter.get(), column_ref, timezone_config, child_type); + column_ref.pop_back(); + + return child_expr; + } default: throw NotImplementedException("Pushdown Filter Type not supported in Arrow Scans"); } @@ -373,11 +383,15 @@ py::object PythonTableArrowArrayStreamFactory::TransformFilter(TableFilterSet &f auto it = filters_map->begin(); D_ASSERT(columns.find(it->first) != columns.end()); auto &arrow_type = *arrow_table.GetColumns().at(filter_to_col.at(it->first)); - py::object expression = - TransformFilterRecursive(it->second.get(), columns[it->first], config.time_zone, arrow_type); + + vector column_ref; + column_ref.push_back(columns[it->first]); + py::object expression = TransformFilterRecursive(it->second.get(), column_ref, config.time_zone, arrow_type); while (it != filters_map->end()) { + column_ref.clear(); + column_ref.push_back(columns[it->first]); py::object child_expression = - TransformFilterRecursive(it->second.get(), columns[it->first], config.time_zone, arrow_type); + TransformFilterRecursive(it->second.get(), column_ref, config.time_zone, arrow_type); expression = expression.attr("__and__")(child_expression); it++; } diff --git a/tools/pythonpkg/src/common/exceptions.cpp b/tools/pythonpkg/src/common/exceptions.cpp index 2ac907f79833..338a8cd6797f 100644 --- a/tools/pythonpkg/src/common/exceptions.cpp +++ b/tools/pythonpkg/src/common/exceptions.cpp @@ -1,6 +1,9 @@ #include "duckdb_python/pybind11/exceptions.hpp" #include "duckdb/common/exception.hpp" +#include "duckdb/common/exception/list.hpp" +#include "duckdb/common/error_data.hpp" +#include "duckdb/common/string_util.hpp" #include "duckdb_python/pybind11/pybind_wrapper.hpp" namespace py = pybind11; @@ -8,64 +11,331 @@ namespace py = pybind11; namespace duckdb { class Warning : public std::exception {}; -class DatabaseError : public std::exception {}; -class DataError : public std::exception {}; -class OperationalError : public std::exception {}; -class IntegrityError : public std::exception {}; -class InternalError : public std::exception {}; -class ProgrammingError : public std::exception {}; -class NotSupportedError : public std::exception {}; + +// This is the error structure defined in the DBAPI spec +// StandardError +// |__ Warning +// |__ Error +// |__ InterfaceError +// |__ DatabaseError +// |__ DataError +// |__ OperationalError +// |__ IntegrityError +// |__ InternalError +// |__ ProgrammingError +// |__ NotSupportedError +//===--------------------------------------------------------------------===// +// Base Error +//===--------------------------------------------------------------------===// +class PyError : public std::runtime_error { +public: + explicit PyError(const string &err) : std::runtime_error(err) { + } +}; + +class DatabaseError : public PyError { +public: + explicit DatabaseError(const string &err) : PyError(err) { + } +}; + +//===--------------------------------------------------------------------===// +// Unknown Errors +//===--------------------------------------------------------------------===// +class PyFatalException : public DatabaseError { +public: + explicit PyFatalException(const string &err) : DatabaseError(err) { + } +}; + +class PyInterruptException : public DatabaseError { +public: + explicit PyInterruptException(const string &err) : DatabaseError(err) { + } +}; + +class PyPermissionException : public DatabaseError { +public: + explicit PyPermissionException(const string &err) : DatabaseError(err) { + } +}; + +class PySequenceException : public DatabaseError { +public: + explicit PySequenceException(const string &err) : DatabaseError(err) { + } +}; + +//===--------------------------------------------------------------------===// +// Data Error +//===--------------------------------------------------------------------===// +class DataError : public DatabaseError { +public: + explicit DataError(const string &err) : DatabaseError(err) { + } +}; + +class PyOutOfRangeException : public DataError { +public: + explicit PyOutOfRangeException(const string &err) : DataError(err) { + } +}; + +class PyConversionException : public DataError { +public: + explicit PyConversionException(const string &err) : DataError(err) { + } +}; + +class PyTypeMismatchException : public DataError { +public: + explicit PyTypeMismatchException(const string &err) : DataError(err) { + } +}; + +//===--------------------------------------------------------------------===// +// Operational Error +//===--------------------------------------------------------------------===// +class OperationalError : public DatabaseError { +public: + explicit OperationalError(const string &err) : DatabaseError(err) { + } +}; + +class PyTransactionException : public OperationalError { +public: + explicit PyTransactionException(const string &err) : OperationalError(err) { + } +}; + +class PyOutOfMemoryException : public OperationalError { +public: + explicit PyOutOfMemoryException(const string &err) : OperationalError(err) { + } +}; + +class PyConnectionException : public OperationalError { +public: + explicit PyConnectionException(const string &err) : OperationalError(err) { + } +}; + +class PySerializationException : public OperationalError { +public: + explicit PySerializationException(const string &err) : OperationalError(err) { + } +}; + +class PyIOException : public OperationalError { +public: + explicit PyIOException(const string &err) : OperationalError(err) { + } +}; + +class PyHTTPException : public PyIOException { +public: + explicit PyHTTPException(const string &err) : PyIOException(err) { + } +}; + +//===--------------------------------------------------------------------===// +// Integrity Error +//===--------------------------------------------------------------------===// +class IntegrityError : public DatabaseError { +public: + explicit IntegrityError(const string &err) : DatabaseError(err) { + } +}; + +class PyConstraintException : public IntegrityError { +public: + explicit PyConstraintException(const string &err) : IntegrityError(err) { + } +}; + +//===--------------------------------------------------------------------===// +// Internal Error +//===--------------------------------------------------------------------===// +class InternalError : public DatabaseError { +public: + explicit InternalError(const string &err) : DatabaseError(err) { + } +}; + +class PyInternalException : public InternalError { +public: + explicit PyInternalException(const string &err) : InternalError(err) { + } +}; + +//===--------------------------------------------------------------------===// +// Programming Error +//===--------------------------------------------------------------------===// +class ProgrammingError : public DatabaseError { +public: + explicit ProgrammingError(const string &err) : DatabaseError(err) { + } +}; + +class PyParserException : public ProgrammingError { +public: + explicit PyParserException(const string &err) : ProgrammingError(err) { + } +}; + +class PySyntaxException : public ProgrammingError { +public: + explicit PySyntaxException(const string &err) : ProgrammingError(err) { + } +}; + +class PyBinderException : public ProgrammingError { +public: + explicit PyBinderException(const string &err) : ProgrammingError(err) { + } +}; + +class PyInvalidInputException : public ProgrammingError { +public: + explicit PyInvalidInputException(const string &err) : ProgrammingError(err) { + } +}; + +class PyInvalidTypeException : public ProgrammingError { +public: + explicit PyInvalidTypeException(const string &err) : ProgrammingError(err) { + } +}; + +class PyCatalogException : public ProgrammingError { +public: + explicit PyCatalogException(const string &err) : ProgrammingError(err) { + } +}; + +//===--------------------------------------------------------------------===// +// Not Supported Error +//===--------------------------------------------------------------------===// +class NotSupportedError : public DatabaseError { +public: + explicit NotSupportedError(const string &err) : DatabaseError(err) { + } +}; + +class PyNotImplementedException : public NotSupportedError { +public: + explicit PyNotImplementedException(const string &err) : NotSupportedError(err) { + } +}; + +//===--------------------------------------------------------------------===// +// PyThrowException +//===--------------------------------------------------------------------===// +void PyThrowException(ErrorData &error, PyObject *http_exception) { + switch (error.Type()) { + case ExceptionType::HTTP: { + // construct exception object + auto e = py::handle(http_exception)(py::str(error.Message())); + + auto headers = py::dict(); + for (auto &entry : error.ExtraInfo()) { + if (entry.first == "status_code") { + e.attr("status_code") = std::stoi(entry.second); + } else if (entry.first == "response_body") { + e.attr("body") = entry.second; + } else if (entry.first == "reason") { + e.attr("reason") = entry.second; + } else if (StringUtil::StartsWith(entry.first, "header_")) { + headers[py::str(entry.first.substr(7))] = entry.second; + } + } + e.attr("headers") = std::move(headers); + + // "throw" exception object + PyErr_SetObject(http_exception, e.ptr()); + break; + } + case ExceptionType::CATALOG: + throw PyCatalogException(error.Message()); + case ExceptionType::FATAL: + throw PyFatalException(error.Message()); + case ExceptionType::INTERRUPT: + throw PyInterruptException(error.Message()); + case ExceptionType::PERMISSION: + throw PyPermissionException(error.Message()); + case ExceptionType::SEQUENCE: + throw PySequenceException(error.Message()); + case ExceptionType::OUT_OF_RANGE: + throw PyOutOfRangeException(error.Message()); + case ExceptionType::CONVERSION: + throw PyConversionException(error.Message()); + case ExceptionType::MISMATCH_TYPE: + throw PyTypeMismatchException(error.Message()); + case ExceptionType::TRANSACTION: + throw PyTransactionException(error.Message()); + case ExceptionType::OUT_OF_MEMORY: + throw PyOutOfMemoryException(error.Message()); + case ExceptionType::CONNECTION: + throw PyConnectionException(error.Message()); + case ExceptionType::SERIALIZATION: + throw PySerializationException(error.Message()); + case ExceptionType::CONSTRAINT: + throw PyConstraintException(error.Message()); + case ExceptionType::INTERNAL: + throw PyInternalException(error.Message()); + case ExceptionType::PARSER: + throw PyParserException(error.Message()); + case ExceptionType::SYNTAX: + throw PySyntaxException(error.Message()); + case ExceptionType::IO: + throw PyIOException(error.Message()); + case ExceptionType::BINDER: + throw PyBinderException(error.Message()); + case ExceptionType::INVALID_INPUT: + throw PyInvalidInputException(error.Message()); + case ExceptionType::INVALID_TYPE: + throw PyInvalidTypeException(error.Message()); + case ExceptionType::NOT_IMPLEMENTED: + throw PyNotImplementedException(error.Message()); + default: + throw PyError(error.RawMessage()); + } +} /** * @see https://peps.python.org/pep-0249/#exceptions */ void RegisterExceptions(const py::module &m) { - // This is the error structure defined in the DBAPI spec - // StandardError - // |__ Warning - // |__ Error - // |__ InterfaceError - // |__ DatabaseError - // |__ DataError - // |__ OperationalError - // |__ IntegrityError - // |__ InternalError - // |__ ProgrammingError - // |__ NotSupportedError // The base class is mapped to Error in python to somewhat match the DBAPI 2.0 specifications - auto warning_class = py::register_exception(m, "Warning").ptr(); - auto error = py::register_exception(m, "Error").ptr(); - // FIXME: missing DatabaseError + py::register_exception(m, "Warning"); + auto error = py::register_exception(m, "Error").ptr(); + auto db_error = py::register_exception(m, "DatabaseError", error).ptr(); // order of declaration matters, and this needs to be checked last - py::register_exception(m, "StandardException", error); // Unknown - py::register_exception(m, "FatalException", error); - py::register_exception(m, "InterruptException", error); - py::register_exception(m, "PermissionException", error); - py::register_exception(m, "SequenceException", error); + py::register_exception(m, "FatalException", db_error); + py::register_exception(m, "InterruptException", db_error); + py::register_exception(m, "PermissionException", db_error); + py::register_exception(m, "SequenceException", db_error); // DataError - auto data_error = py::register_exception(m, "DataError", error).ptr(); - py::register_exception(m, "OutOfRangeException", data_error); - py::register_exception(m, "CastException", data_error); - py::register_exception(m, "ConversionException", data_error); + auto data_error = py::register_exception(m, "DataError", db_error).ptr(); + py::register_exception(m, "OutOfRangeException", data_error); + py::register_exception(m, "ConversionException", data_error); // no unknown type error, or decimal type - py::register_exception(m, "TypeMismatchException", data_error); - // no divide by zero error - py::register_exception(m, "ValueOutOfRangeException", data_error); + py::register_exception(m, "TypeMismatchException", data_error); // OperationalError - auto operational_error = py::register_exception(m, "OperationalError", error).ptr(); - py::register_exception(m, "TransactionException", operational_error); - py::register_exception(m, "OutOfMemoryException", operational_error); - py::register_exception(m, "ConnectionException", operational_error); + auto operational_error = py::register_exception(m, "OperationalError", db_error).ptr(); + py::register_exception(m, "TransactionException", operational_error); + py::register_exception(m, "OutOfMemoryException", operational_error); + py::register_exception(m, "ConnectionException", operational_error); // no object size error // no null pointer errors - auto io_exception = py::register_exception(m, "IOException", operational_error); - py::register_exception(m, "SerializationException", operational_error); + auto io_exception = py::register_exception(m, "IOException", operational_error).ptr(); + py::register_exception(m, "SerializationException", operational_error); - static py::exception HTTP_EXCEPTION(m, "HTTPException", io_exception); + static py::exception HTTP_EXCEPTION(m, "HTTPException", io_exception); const auto string_type = py::type::of(py::str()); const auto Dict = py::module_::import("typing").attr("Dict"); HTTP_EXCEPTION.attr("__annotations__") = @@ -73,49 +343,47 @@ void RegisterExceptions(const py::module &m) { py::arg("reason") = string_type, py::arg("headers") = Dict[py::make_tuple(string_type, string_type)]); HTTP_EXCEPTION.doc() = "Thrown when an error occurs in the httpfs extension, or whilst downloading an extension."; - py::register_exception_translator([](std::exception_ptr p) { // NOLINT(performance-unnecessary-value-param) - try { - if (p) { - std::rethrow_exception(p); - } - } catch (const HTTPException &httpe) { - // construct exception object - auto e = py::handle(HTTP_EXCEPTION.ptr())(py::str(httpe.what())); - - e.attr("status_code") = httpe.GetStatusCode(); - e.attr("body") = py::str(httpe.GetResponseBody()); - e.attr("reason") = py::str(httpe.GetReason()); - auto headers = py::dict(); - for (const auto &item : httpe.GetHeaders()) { - headers[py::str(item.first)] = item.second; - } - e.attr("headers") = std::move(headers); - - // "throw" exception object - PyErr_SetObject(HTTP_EXCEPTION.ptr(), e.ptr()); - } - }); - // IntegrityError - auto integrity_error = py::register_exception(m, "IntegrityError", error).ptr(); - py::register_exception(m, "ConstraintException", integrity_error); + auto integrity_error = py::register_exception(m, "IntegrityError", db_error).ptr(); + py::register_exception(m, "ConstraintException", integrity_error); // InternalError - auto internal_error = py::register_exception(m, "InternalError", error).ptr(); - py::register_exception(m, "InternalException", internal_error); + auto internal_error = py::register_exception(m, "InternalError", db_error).ptr(); + py::register_exception(m, "InternalException", internal_error); //// ProgrammingError - auto programming_error = py::register_exception(m, "ProgrammingError", error).ptr(); - py::register_exception(m, "ParserException", programming_error); - py::register_exception(m, "SyntaxException", programming_error); - py::register_exception(m, "BinderException", programming_error); - py::register_exception(m, "InvalidInputException", programming_error); - py::register_exception(m, "InvalidTypeException", programming_error); + auto programming_error = py::register_exception(m, "ProgrammingError", db_error).ptr(); + py::register_exception(m, "ParserException", programming_error); + py::register_exception(m, "SyntaxException", programming_error); + py::register_exception(m, "BinderException", programming_error); + py::register_exception(m, "InvalidInputException", programming_error); + py::register_exception(m, "InvalidTypeException", programming_error); // no type for expression exceptions? - py::register_exception(m, "CatalogException", programming_error); + py::register_exception(m, "CatalogException", programming_error); // NotSupportedError - auto not_supported_error = py::register_exception(m, "NotSupportedError", error).ptr(); - py::register_exception(m, "NotImplementedException", not_supported_error); + auto not_supported_error = py::register_exception(m, "NotSupportedError", db_error).ptr(); + py::register_exception(m, "NotImplementedException", not_supported_error); + + py::register_exception_translator([](std::exception_ptr p) { // NOLINT(performance-unnecessary-value-param) + try { + if (p) { + std::rethrow_exception(p); + } + } catch (const duckdb::Exception &ex) { + duckdb::ErrorData error(ex); + PyThrowException(error, HTTP_EXCEPTION.ptr()); + } catch (const py::builtin_exception &ex) { + // These represent Python exceptions, we don't want to catch these + throw; + } catch (const std::exception &ex) { + duckdb::ErrorData error(ex); + if (error.Type() == ExceptionType::INVALID) { + // we need to pass non-DuckDB exceptions through as-is + throw; + } + PyThrowException(error, HTTP_EXCEPTION.ptr()); + } + }); } } // namespace duckdb diff --git a/tools/pythonpkg/src/dataframe.cpp b/tools/pythonpkg/src/dataframe.cpp index 21f41a2a1781..ec010aab8303 100644 --- a/tools/pythonpkg/src/dataframe.cpp +++ b/tools/pythonpkg/src/dataframe.cpp @@ -7,7 +7,7 @@ bool PolarsDataFrame::IsDataFrame(const py::handle &object) { return false; } auto &import_cache = *DuckDBPyConnection::ImportCache(); - return py::isinstance(object, import_cache.polars().DataFrame()); + return py::isinstance(object, import_cache.polars.DataFrame()); } bool PolarsDataFrame::IsLazyFrame(const py::handle &object) { @@ -15,7 +15,7 @@ bool PolarsDataFrame::IsLazyFrame(const py::handle &object) { return false; } auto &import_cache = *DuckDBPyConnection::ImportCache(); - return py::isinstance(object, import_cache.polars().LazyFrame()); + return py::isinstance(object, import_cache.polars.LazyFrame()); } bool PandasDataFrame::check_(const py::handle &object) { // NOLINT @@ -23,7 +23,7 @@ bool PandasDataFrame::check_(const py::handle &object) { // NOLINT return false; } auto &import_cache = *DuckDBPyConnection::ImportCache(); - return py::isinstance(object, import_cache.pandas().DataFrame()); + return py::isinstance(object, import_cache.pandas.DataFrame()); } bool PandasDataFrame::IsPyArrowBacked(const py::handle &df) { @@ -37,7 +37,7 @@ bool PandasDataFrame::IsPyArrowBacked(const py::handle &df) { return false; } - auto arrow_dtype = import_cache.pandas().ArrowDtype(); + auto arrow_dtype = import_cache.pandas.ArrowDtype(); for (auto &dtype : dtypes) { if (py::isinstance(dtype, arrow_dtype)) { return true; @@ -48,7 +48,7 @@ bool PandasDataFrame::IsPyArrowBacked(const py::handle &df) { bool PolarsDataFrame::check_(const py::handle &object) { // NOLINT auto &import_cache = *DuckDBPyConnection::ImportCache(); - return py::isinstance(object, import_cache.polars().DataFrame()); + return py::isinstance(object, import_cache.polars.DataFrame()); } } // namespace duckdb diff --git a/tools/pythonpkg/src/importer.cpp b/tools/pythonpkg/src/importer.cpp new file mode 100644 index 000000000000..8af9bb952280 --- /dev/null +++ b/tools/pythonpkg/src/importer.cpp @@ -0,0 +1,24 @@ +#include "duckdb_python/import_cache/importer.hpp" +#include "duckdb_python/import_cache/python_import_cache.hpp" +#include "duckdb_python/import_cache/python_import_cache_item.hpp" +#include "duckdb_python/pyconnection/pyconnection.hpp" + +namespace duckdb { + +py::handle PythonImporter::Import(stack> &hierarchy, bool load) { + auto &import_cache = *DuckDBPyConnection::ImportCache(); + py::handle source(nullptr); + while (!hierarchy.empty()) { + // From top to bottom, import them + auto &item = hierarchy.top(); + hierarchy.pop(); + source = item.get().Load(import_cache, source, load); + if (!source) { + // If load is false, or the module load fails and is not required, we return early + break; + } + } + return source; +} + +} // namespace duckdb diff --git a/tools/pythonpkg/src/include/duckdb_python/filesystem_object.hpp b/tools/pythonpkg/src/include/duckdb_python/filesystem_object.hpp index 807e36e09ce9..9a6beedf792d 100644 --- a/tools/pythonpkg/src/include/duckdb_python/filesystem_object.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/filesystem_object.hpp @@ -14,18 +14,19 @@ namespace duckdb { class FileSystemObject : public RegisteredObject { public: - explicit FileSystemObject(py::object fs, const string &filename) - : RegisteredObject(std::move(fs)), filename(filename) { + explicit FileSystemObject(py::object fs, vector filenames_p) + : RegisteredObject(std::move(fs)), filenames(std::move(filenames_p)) { } virtual ~FileSystemObject() { py::gil_scoped_acquire acquire; // Assert that the 'obj' is a filesystem - D_ASSERT( - py::isinstance(obj, DuckDBPyConnection::ImportCache()->pyduckdb().filesystem.modified_memory_filesystem())); - obj.attr("delete")(filename); + D_ASSERT(py::isinstance(obj, DuckDBPyConnection::ImportCache()->duckdb.filesystem.ModifiedMemoryFileSystem())); + for (auto &file : filenames) { + obj.attr("delete")(file); + } } - string filename; + vector filenames; }; } // namespace duckdb diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/importer.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/importer.hpp new file mode 100644 index 000000000000..08415f923671 --- /dev/null +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/importer.hpp @@ -0,0 +1,24 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb_python/import_cache/python_import_cache.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb_python/pybind11/pybind_wrapper.hpp" +#include "duckdb.hpp" +#include "duckdb/common/vector.hpp" +#include "duckdb_python/import_cache/python_import_cache_modules.hpp" +#include "duckdb/common/stack.hpp" + +namespace duckdb { + +struct PythonImporter { +public: + static py::handle Import(stack> &hierarchy, bool load = true); +}; + +} // namespace duckdb diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/arrow_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/arrow_module.hpp deleted file mode 100644 index c0565c61d2ca..000000000000 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/arrow_module.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb_python/import_cache/modules/arrow_module.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb_python/import_cache/python_import_cache_item.hpp" - -namespace duckdb { - -struct ArrowLibCacheItem : public PythonImportCacheItem { -public: - static constexpr const char *Name = "pyarrow"; - ~ArrowLibCacheItem() override { - } - void LoadSubtypes(PythonImportCache &cache) override { - Table.LoadAttribute("Table", cache, *this); - RecordBatchReader.LoadAttribute("RecordBatchReader", cache, *this); - } - -public: - PythonImportCacheItem Table; - PythonImportCacheItem RecordBatchReader; -}; - -struct ArrowDatasetCacheItem : public PythonImportCacheItem { -public: - static constexpr const char *Name = "pyarrow.dataset"; - ~ArrowDatasetCacheItem() override { - } - void LoadSubtypes(PythonImportCache &cache) override { - Dataset.LoadAttribute("Dataset", cache, *this); - Scanner.LoadAttribute("Scanner", cache, *this); - } - -public: - PythonImportCacheItem Dataset; - PythonImportCacheItem Scanner; - -protected: - bool IsRequired() const final { - return false; - } -}; - -} // namespace duckdb diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/datetime_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/datetime_module.hpp index 8fe2b79ebbef..c37855c5a085 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/datetime_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/datetime_module.hpp @@ -1,3 +1,4 @@ + //===----------------------------------------------------------------------===// // DuckDB // @@ -13,58 +14,48 @@ namespace duckdb { struct DatetimeDatetimeCacheItem : public PythonImportCacheItem { -public: - static constexpr const char *Name = "datetime.datetime"; public: - ~DatetimeDatetimeCacheItem() override { + DatetimeDatetimeCacheItem(optional_ptr parent) + : PythonImportCacheItem("datetime", parent), min("min", this), max("max", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - max.LoadAttribute("max", cache, *this); - min.LoadAttribute("min", cache, *this); + ~DatetimeDatetimeCacheItem() override { } -public: - PythonImportCacheItem max; PythonImportCacheItem min; + PythonImportCacheItem max; }; struct DatetimeDateCacheItem : public PythonImportCacheItem { -public: - static constexpr const char *Name = "datetime.date"; public: - ~DatetimeDateCacheItem() override { + DatetimeDateCacheItem(optional_ptr parent) + : PythonImportCacheItem("date", parent), max("max", this), min("min", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - max.LoadAttribute("max", cache, *this); - min.LoadAttribute("min", cache, *this); + ~DatetimeDateCacheItem() override { } -public: PythonImportCacheItem max; PythonImportCacheItem min; }; struct DatetimeCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "datetime"; public: - ~DatetimeCacheItem() override { + DatetimeCacheItem() + : PythonImportCacheItem("datetime"), date(this), time("time", this), timedelta("timedelta", this), + datetime(this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - datetime.LoadAttribute("datetime", cache, *this); - date.LoadAttribute("date", cache, *this); - time.LoadAttribute("time", cache, *this); - timedelta.LoadAttribute("timedelta", cache, *this); + ~DatetimeCacheItem() override { } -public: - DatetimeDatetimeCacheItem datetime; DatetimeDateCacheItem date; PythonImportCacheItem time; PythonImportCacheItem timedelta; + DatetimeDatetimeCacheItem datetime; }; } // namespace duckdb diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/decimal_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/decimal_module.hpp index 54adb42af972..becb2589f300 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/decimal_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/decimal_module.hpp @@ -1,3 +1,4 @@ + //===----------------------------------------------------------------------===// // DuckDB // @@ -13,18 +14,16 @@ namespace duckdb { struct DecimalCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "decimal"; public: - ~DecimalCacheItem() override { + DecimalCacheItem() : PythonImportCacheItem("decimal"), Decimal("Decimal", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - Decimal.LoadAttribute("Decimal", cache, *this); + ~DecimalCacheItem() override { } -public: - //! decimal.Decimal PythonImportCacheItem Decimal; }; diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/duckdb_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/duckdb_module.hpp new file mode 100644 index 000000000000..aa76f037d2a5 --- /dev/null +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/duckdb_module.hpp @@ -0,0 +1,51 @@ + +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb_python/import_cache/modules/duckdb_module.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb_python/import_cache/python_import_cache_item.hpp" + +namespace duckdb { + +struct DuckdbFilesystemCacheItem : public PythonImportCacheItem { + +public: + static constexpr const char *Name = "duckdb.filesystem"; + +public: + DuckdbFilesystemCacheItem() + : PythonImportCacheItem("duckdb.filesystem"), ModifiedMemoryFileSystem("ModifiedMemoryFileSystem", this) { + } + ~DuckdbFilesystemCacheItem() override { + } + + PythonImportCacheItem ModifiedMemoryFileSystem; + +protected: + bool IsRequired() const override final { + return false; + } +}; + +struct DuckdbCacheItem : public PythonImportCacheItem { + +public: + static constexpr const char *Name = "duckdb"; + +public: + DuckdbCacheItem() : PythonImportCacheItem("duckdb"), filesystem(), Value("Value", this) { + } + ~DuckdbCacheItem() override { + } + + DuckdbFilesystemCacheItem filesystem; + PythonImportCacheItem Value; +}; + +} // namespace duckdb diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/ipython_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/ipython_module.hpp index 5f0adbfb830d..cc8c1687ee2c 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/ipython_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/ipython_module.hpp @@ -1,3 +1,4 @@ + //===----------------------------------------------------------------------===// // DuckDB // @@ -12,33 +13,31 @@ namespace duckdb { -struct IPythonDisplayCacheItem : public PythonImportCacheItem { +struct IpythonDisplayCacheItem : public PythonImportCacheItem { + public: - ~IPythonDisplayCacheItem() override { + IpythonDisplayCacheItem(optional_ptr parent) + : PythonImportCacheItem("display", parent), display("display", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - display.LoadAttribute("display", cache, *this); + ~IpythonDisplayCacheItem() override { } -public: PythonImportCacheItem display; }; -struct IPythonCacheItem : public PythonImportCacheItem { +struct IpythonCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "IPython"; public: - ~IPythonCacheItem() override { + IpythonCacheItem() : PythonImportCacheItem("IPython"), get_ipython("get_ipython", this), display(this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - get_ipython.LoadAttribute("get_ipython", cache, *this); - display.LoadModule("IPython.display", cache); + ~IpythonCacheItem() override { } -public: PythonImportCacheItem get_ipython; - IPythonDisplayCacheItem display; + IpythonDisplayCacheItem display; protected: bool IsRequired() const override final { diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/ipywidgets_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/ipywidgets_module.hpp index 4316901ed409..30c02ceb99df 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/ipywidgets_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/ipywidgets_module.hpp @@ -1,7 +1,8 @@ + //===----------------------------------------------------------------------===// // DuckDB // -// duckdb_python/import_cache/modules/ipython_module.hpp +// duckdb_python/import_cache/modules/ipywidgets_module.hpp // // //===----------------------------------------------------------------------===// @@ -13,17 +14,16 @@ namespace duckdb { struct IpywidgetsCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "ipywidgets"; public: - ~IpywidgetsCacheItem() override { + IpywidgetsCacheItem() : PythonImportCacheItem("ipywidgets"), FloatProgress("FloatProgress", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - FloatProgress.LoadAttribute("FloatProgress", cache, *this); + ~IpywidgetsCacheItem() override { } -public: PythonImportCacheItem FloatProgress; protected: diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/numpy_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/numpy_module.hpp index 3268496eb384..733df11fae80 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/numpy_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/numpy_module.hpp @@ -1,3 +1,4 @@ + //===----------------------------------------------------------------------===// // DuckDB // @@ -12,43 +13,39 @@ namespace duckdb { +struct NumpyCoreCacheItem : public PythonImportCacheItem { + +public: + NumpyCoreCacheItem(optional_ptr parent) + : PythonImportCacheItem("core", parent), multiarray("multiarray", this) { + } + ~NumpyCoreCacheItem() override { + } + + PythonImportCacheItem multiarray; +}; + struct NumpyCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "numpy"; public: - ~NumpyCacheItem() override { + NumpyCacheItem() + : PythonImportCacheItem("numpy"), core(this), ndarray("ndarray", this), datetime64("datetime64", this), + generic("generic", this), int64("int64", this), bool_("bool_", this), byte("byte", this), + ubyte("ubyte", this), short_("short", this), ushort_("ushort", this), intc("intc", this), + uintc("uintc", this), int_("int_", this), uint("uint", this), longlong("longlong", this), + ulonglong("ulonglong", this), half("half", this), float16("float16", this), single("single", this), + longdouble("longdouble", this), csingle("csingle", this), cdouble("cdouble", this), + clongdouble("clongdouble", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - ndarray.LoadAttribute("ndarray", cache, *this); - datetime64.LoadAttribute("datetime64", cache, *this); - int64.LoadAttribute("int64", cache, *this); - generic.LoadAttribute("generic", cache, *this); - int64.LoadAttribute("int64", cache, *this); - bool_.LoadAttribute("bool_", cache, *this); - byte.LoadAttribute("byte", cache, *this); - ubyte.LoadAttribute("ubyte", cache, *this); - short_.LoadAttribute("short_", cache, *this); - ushort_.LoadAttribute("ushort_", cache, *this); - intc.LoadAttribute("intc", cache, *this); - uintc.LoadAttribute("uintc", cache, *this); - int_.LoadAttribute("int_", cache, *this); - uint.LoadAttribute("uint", cache, *this); - longlong.LoadAttribute("longlong", cache, *this); - ulonglong.LoadAttribute("ulonglong", cache, *this); - half.LoadAttribute("half", cache, *this); - float16.LoadAttribute("float16", cache, *this); - single.LoadAttribute("single", cache, *this); - longdouble.LoadAttribute("longdouble", cache, *this); - csingle.LoadAttribute("csingle", cache, *this); - cdouble.LoadAttribute("cdouble", cache, *this); - clongdouble.LoadAttribute("clongdouble", cache, *this); + ~NumpyCacheItem() override { } -public: + NumpyCoreCacheItem core; PythonImportCacheItem ndarray; PythonImportCacheItem datetime64; - PythonImportCacheItem generic; PythonImportCacheItem int64; PythonImportCacheItem bool_; diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pandas_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pandas_module.hpp index 21ea6fbd821c..30c36f691233 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pandas_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pandas_module.hpp @@ -1,3 +1,4 @@ + //===----------------------------------------------------------------------===// // DuckDB // @@ -12,44 +13,24 @@ namespace duckdb { -// pandas.libs -struct PandasLibsCacheItem : public PythonImportCacheItem { -public: - ~PandasLibsCacheItem() override { - } - virtual void LoadSubtypes(PythonImportCache &cache) override { - NAType.LoadAttribute("NAType", cache, *this); - } - -public: - PythonImportCacheItem NAType; - -protected: - bool IsRequired() const override final { - return false; - } -}; - struct PandasCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "pandas"; public: - ~PandasCacheItem() override { + PandasCacheItem() + : PythonImportCacheItem("pandas"), DataFrame("DataFrame", this), isnull("isnull", this), + ArrowDtype("ArrowDtype", this), NaT("NaT", this), NA("NA", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - DataFrame.LoadAttribute("DataFrame", cache, *this); - libs.LoadModule("pandas._libs.missing", cache); - isnull.LoadAttribute("isnull", cache, *this); - ArrowDtype.LoadAttribute("ArrowDtype", cache, *this); + ~PandasCacheItem() override { } -public: - //! pandas.DataFrame PythonImportCacheItem DataFrame; - PandasLibsCacheItem libs; PythonImportCacheItem isnull; PythonImportCacheItem ArrowDtype; + PythonImportCacheItem NaT; + PythonImportCacheItem NA; protected: bool IsRequired() const override final { diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pathlib_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pathlib_module.hpp index e3941430b244..d001f21ce93f 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pathlib_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pathlib_module.hpp @@ -1,3 +1,4 @@ + //===----------------------------------------------------------------------===// // DuckDB // @@ -12,18 +13,17 @@ namespace duckdb { -struct PathLibCacheItem : public PythonImportCacheItem { +struct PathlibCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "pathlib"; public: - ~PathLibCacheItem() override { + PathlibCacheItem() : PythonImportCacheItem("pathlib"), Path("Path", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - Path.LoadAttribute("Path", cache, *this); + ~PathlibCacheItem() override { } -public: PythonImportCacheItem Path; protected: diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/polars_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/polars_module.hpp index 6495fc350d40..ddb6870c158e 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/polars_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/polars_module.hpp @@ -1,3 +1,4 @@ + //===----------------------------------------------------------------------===// // DuckDB // @@ -13,19 +14,16 @@ namespace duckdb { struct PolarsCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "polars"; public: - ~PolarsCacheItem() override { + PolarsCacheItem() : PythonImportCacheItem("polars"), DataFrame("DataFrame", this), LazyFrame("LazyFrame", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - DataFrame.LoadAttribute("DataFrame", cache, *this); - LazyFrame.LoadAttribute("LazyFrame", cache, *this); + ~PolarsCacheItem() override { } -public: - //! pandas.DataFrame PythonImportCacheItem DataFrame; PythonImportCacheItem LazyFrame; diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pyarrow_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pyarrow_module.hpp new file mode 100644 index 000000000000..9a0272593ec1 --- /dev/null +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pyarrow_module.hpp @@ -0,0 +1,50 @@ + +//===----------------------------------------------------------------------===// +// DuckDB +// +// duckdb_python/import_cache/modules/pyarrow_module.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb_python/import_cache/python_import_cache_item.hpp" + +namespace duckdb { + +struct PyarrowDatasetCacheItem : public PythonImportCacheItem { + +public: + static constexpr const char *Name = "pyarrow.dataset"; + +public: + PyarrowDatasetCacheItem() + : PythonImportCacheItem("pyarrow.dataset"), Scanner("Scanner", this), Dataset("Dataset", this) { + } + ~PyarrowDatasetCacheItem() override { + } + + PythonImportCacheItem Scanner; + PythonImportCacheItem Dataset; +}; + +struct PyarrowCacheItem : public PythonImportCacheItem { + +public: + static constexpr const char *Name = "pyarrow"; + +public: + PyarrowCacheItem() + : PythonImportCacheItem("pyarrow"), dataset(), Table("Table", this), + RecordBatchReader("RecordBatchReader", this) { + } + ~PyarrowCacheItem() override { + } + + PyarrowDatasetCacheItem dataset; + PythonImportCacheItem Table; + PythonImportCacheItem RecordBatchReader; +}; + +} // namespace duckdb diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pyduckdb_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pyduckdb_module.hpp deleted file mode 100644 index 5410148785b3..000000000000 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pyduckdb_module.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//===----------------------------------------------------------------------===// -// DuckDB -// -// duckdb_python/import_cache/modules/numpy_module.hpp -// -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include "duckdb_python/import_cache/python_import_cache_item.hpp" - -namespace duckdb { - -struct PyDuckDBFileSystemCacheItem : public PythonImportCacheItem { - static constexpr const char *Name = "duckdb.filesystem"; - -public: - ~PyDuckDBFileSystemCacheItem() override { - } - virtual void LoadSubtypes(PythonImportCache &cache) override { - modified_memory_filesystem.LoadAttribute("ModifiedMemoryFileSystem", cache, *this); - } - -protected: - bool IsRequired() const override { - return false; - } - -public: - PythonImportCacheItem modified_memory_filesystem; -}; - -struct PyDuckDBCacheItem : public PythonImportCacheItem { -public: - static constexpr const char *Name = "duckdb"; - -public: - ~PyDuckDBCacheItem() override { - } - virtual void LoadSubtypes(PythonImportCache &cache) override { - filesystem.LoadModule("duckdb.filesystem", cache); - value.LoadAttribute("Value", cache, *this); - } - -public: - PyDuckDBFileSystemCacheItem filesystem; - PythonImportCacheItem value; -}; - -} // namespace duckdb diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pytz_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pytz_module.hpp index 2ebd4d0de717..b33b1d0c6e74 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pytz_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/pytz_module.hpp @@ -1,3 +1,4 @@ + //===----------------------------------------------------------------------===// // DuckDB // @@ -12,19 +13,17 @@ namespace duckdb { -struct PyTzCacheItem : public PythonImportCacheItem { +struct PytzCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "pytz"; public: - ~PyTzCacheItem() override { + PytzCacheItem() : PythonImportCacheItem("pytz"), timezone("timezone", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - timezone.LoadAttribute("timezone", cache, *this); + ~PytzCacheItem() override { } -public: - //! pytz.timezone PythonImportCacheItem timezone; }; diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/types_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/types_module.hpp index a0c1aa1d7120..4d4698061378 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/types_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/types_module.hpp @@ -1,3 +1,4 @@ + //===----------------------------------------------------------------------===// // DuckDB // @@ -13,18 +14,17 @@ namespace duckdb { struct TypesCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "types"; public: - ~TypesCacheItem() override { + TypesCacheItem() + : PythonImportCacheItem("types"), UnionType("UnionType", this), GenericAlias("GenericAlias", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - UnionType.LoadAttribute("UnionType", cache, *this); - GenericAlias.LoadAttribute("GenericAlias", cache, *this); + ~TypesCacheItem() override { } -public: PythonImportCacheItem UnionType; PythonImportCacheItem GenericAlias; }; diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/typing_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/typing_module.hpp index 5d0c35471deb..9c2e0724a1e0 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/typing_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/typing_module.hpp @@ -1,7 +1,8 @@ + //===----------------------------------------------------------------------===// // DuckDB // -// duckdb_python/import_cache/modules/types_module.hpp +// duckdb_python/import_cache/modules/typing_module.hpp // // //===----------------------------------------------------------------------===// @@ -13,17 +14,16 @@ namespace duckdb { struct TypingCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "typing"; public: - ~TypingCacheItem() override { + TypingCacheItem() : PythonImportCacheItem("typing"), _UnionGenericAlias("_UnionGenericAlias", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - _UnionGenericAlias.LoadAttribute("_UnionGenericAlias", cache, *this); + ~TypingCacheItem() override { } -public: PythonImportCacheItem _UnionGenericAlias; }; diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/uuid_module.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/uuid_module.hpp index d7e7e712baf9..834902b5c62b 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/uuid_module.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/modules/uuid_module.hpp @@ -1,3 +1,4 @@ + //===----------------------------------------------------------------------===// // DuckDB // @@ -12,19 +13,17 @@ namespace duckdb { -struct UUIDCacheItem : public PythonImportCacheItem { +struct UuidCacheItem : public PythonImportCacheItem { + public: static constexpr const char *Name = "uuid"; public: - ~UUIDCacheItem() override { + UuidCacheItem() : PythonImportCacheItem("uuid"), UUID("UUID", this) { } - virtual void LoadSubtypes(PythonImportCache &cache) override { - UUID.LoadAttribute("UUID", cache, *this); + ~UuidCacheItem() override { } -public: - //! uuid.UUID PythonImportCacheItem UUID; }; diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache.hpp index 4b0dd699071c..30a20c66cfab 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache.hpp @@ -1,3 +1,4 @@ + //===----------------------------------------------------------------------===// // DuckDB // @@ -22,77 +23,20 @@ struct PythonImportCache { ~PythonImportCache(); public: - template - T &LazyLoadModule(T &module) { - if (!module.LoadSucceeded()) { - module.LoadModule(T::Name, *this); - } - return module; - } - - NumpyCacheItem &numpy() { - return LazyLoadModule(numpy_module); - } - TypesCacheItem &types() { - return LazyLoadModule(types_module); - } - TypingCacheItem &typing() { - return LazyLoadModule(typing_module); - } - PyDuckDBCacheItem &pyduckdb() { - return LazyLoadModule(pyduckdb_module); - } - DatetimeCacheItem &datetime() { - return LazyLoadModule(datetime_module); - } - DecimalCacheItem &decimal() { - return LazyLoadModule(decimal_module); - } - PyTzCacheItem &pytz() { - return LazyLoadModule(pytz_module); - } - UUIDCacheItem &uuid() { - return LazyLoadModule(uuid_module); - } - PathLibCacheItem &pathlib() { - return LazyLoadModule(pathlib_module); - } - PandasCacheItem &pandas() { - return LazyLoadModule(pandas_module); - } - PolarsCacheItem &polars() { - return LazyLoadModule(polars_module); - } - ArrowLibCacheItem &arrow_lib() { - return LazyLoadModule(arrow_lib_module); - } - ArrowDatasetCacheItem &arrow_dataset() { - return LazyLoadModule(arrow_dataset_module); - } - IPythonCacheItem &IPython() { - return LazyLoadModule(IPython_module); - } - IpywidgetsCacheItem &ipywidgets() { - return LazyLoadModule(ipywidgets_module); - } - -private: - NumpyCacheItem numpy_module; - TypesCacheItem types_module; - TypingCacheItem typing_module; - PathLibCacheItem pathlib_module; - PyDuckDBCacheItem pyduckdb_module; - DatetimeCacheItem datetime_module; - DecimalCacheItem decimal_module; - PyTzCacheItem pytz_module; - UUIDCacheItem uuid_module; - PandasCacheItem pandas_module; - PolarsCacheItem polars_module; - ArrowDatasetCacheItem arrow_dataset_module; - ArrowLibCacheItem arrow_lib_module; - - IPythonCacheItem IPython_module; - IpywidgetsCacheItem ipywidgets_module; + PyarrowCacheItem pyarrow; + PandasCacheItem pandas; + DatetimeCacheItem datetime; + DecimalCacheItem decimal; + IpythonCacheItem IPython; + IpywidgetsCacheItem ipywidgets; + NumpyCacheItem numpy; + PathlibCacheItem pathlib; + PolarsCacheItem polars; + DuckdbCacheItem duckdb; + PytzCacheItem pytz; + TypesCacheItem types; + TypingCacheItem typing; + UuidCacheItem uuid; public: py::handle AddCache(py::object item); diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache_item.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache_item.hpp index 71713358ce9d..60244682b3e7 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache_item.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache_item.hpp @@ -18,19 +18,21 @@ struct PythonImportCache; struct PythonImportCacheItem { public: - PythonImportCacheItem() : load_succeeded(false), object(nullptr) { + PythonImportCacheItem(const string &name, optional_ptr parent) + : name(name), is_module(false), load_succeeded(false), parent(parent), object(nullptr) { } - virtual ~PythonImportCacheItem() { + PythonImportCacheItem(const string &name) + : name(name), is_module(true), load_succeeded(false), parent(nullptr), object(nullptr) { } - virtual void LoadSubtypes(PythonImportCache &cache) { + + virtual ~PythonImportCacheItem() { } public: bool LoadSucceeded() const; bool IsLoaded() const; - py::handle operator()(void) const; - void LoadModule(const string &name, PythonImportCache &cache); - void LoadAttribute(const string &name, PythonImportCache &cache, PythonImportCacheItem &source); + py::handle operator()(bool load = true); + py::handle Load(PythonImportCache &cache, py::handle source, bool load); protected: virtual bool IsRequired() const { @@ -39,10 +41,18 @@ struct PythonImportCacheItem { private: py::handle AddCache(PythonImportCache &cache, py::object object); + void LoadAttribute(PythonImportCache &cache, py::handle source); + void LoadModule(PythonImportCache &cache); private: - //! Whether or not we attempted to load the module + //! The name of the item + string name; + //! Whether the item is a module + bool is_module; + //! Whether or not we attempted to load the item bool load_succeeded; + //! The parent of this item (either a module or an attribute) + optional_ptr parent; //! The stored item py::handle object; }; diff --git a/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache_modules.hpp b/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache_modules.hpp index 7b0fd5bb47fd..7af7d9b4da1b 100644 --- a/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache_modules.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/import_cache/python_import_cache_modules.hpp @@ -1,14 +1,14 @@ -#include "duckdb_python/import_cache/modules/arrow_module.hpp" +#include "duckdb_python/import_cache/modules/pyarrow_module.hpp" +#include "duckdb_python/import_cache/modules/pandas_module.hpp" #include "duckdb_python/import_cache/modules/datetime_module.hpp" -#include "duckdb_python/import_cache/modules/types_module.hpp" -#include "duckdb_python/import_cache/modules/typing_module.hpp" #include "duckdb_python/import_cache/modules/decimal_module.hpp" #include "duckdb_python/import_cache/modules/ipython_module.hpp" #include "duckdb_python/import_cache/modules/ipywidgets_module.hpp" #include "duckdb_python/import_cache/modules/numpy_module.hpp" #include "duckdb_python/import_cache/modules/pathlib_module.hpp" -#include "duckdb_python/import_cache/modules/pyduckdb_module.hpp" -#include "duckdb_python/import_cache/modules/pandas_module.hpp" #include "duckdb_python/import_cache/modules/polars_module.hpp" +#include "duckdb_python/import_cache/modules/duckdb_module.hpp" #include "duckdb_python/import_cache/modules/pytz_module.hpp" +#include "duckdb_python/import_cache/modules/types_module.hpp" +#include "duckdb_python/import_cache/modules/typing_module.hpp" #include "duckdb_python/import_cache/modules/uuid_module.hpp" diff --git a/tools/pythonpkg/src/include/duckdb_python/path_like.hpp b/tools/pythonpkg/src/include/duckdb_python/path_like.hpp index b78eef480725..7d577b1a6aa5 100644 --- a/tools/pythonpkg/src/include/duckdb_python/path_like.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/path_like.hpp @@ -3,6 +3,7 @@ #include "duckdb/common/common.hpp" #include "duckdb_python/pybind11/pybind_wrapper.hpp" #include "duckdb/main/external_dependencies.hpp" +#include "duckdb/common/types/value.hpp" namespace duckdb { @@ -10,7 +11,8 @@ struct DuckDBPyConnection; struct PathLike { static PathLike Create(const py::object &object, DuckDBPyConnection &connection); - string str; + // The file(s) extracted from object + vector files; shared_ptr dependency; }; diff --git a/tools/pythonpkg/src/include/duckdb_python/pyconnection/pyconnection.hpp b/tools/pythonpkg/src/include/duckdb_python/pyconnection/pyconnection.hpp index 322311515861..87ce51f0130c 100644 --- a/tools/pythonpkg/src/include/duckdb_python/pyconnection/pyconnection.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/pyconnection/pyconnection.hpp @@ -16,7 +16,7 @@ #include "duckdb_python/pyrelation.hpp" #include "duckdb_python/pytype.hpp" #include "duckdb_python/path_like.hpp" -#include "duckdb/execution/operator/scan/csv/csv_reader_options.hpp" +#include "duckdb/execution/operator/csv_scanner/options/csv_reader_options.hpp" #include "duckdb_python/pyfilesystem.hpp" #include "duckdb_python/pybind11/registered_py_object.hpp" #include "duckdb/function/scalar_function.hpp" diff --git a/tools/pythonpkg/src/include/duckdb_python/pyfilesystem.hpp b/tools/pythonpkg/src/include/duckdb_python/pyfilesystem.hpp index 02f616b7e040..c6b96ca475bf 100644 --- a/tools/pythonpkg/src/include/duckdb_python/pyfilesystem.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/pyfilesystem.hpp @@ -16,7 +16,7 @@ class ModifiedMemoryFileSystem : public py::object { public: static bool check_(const py::handle &object) { - return py::isinstance(object, py::module::import("pyduckdb.filesystem").attr("ModifiedMemoryFileSystem")); + return py::isinstance(object, py::module::import("duckdb.filesystem").attr("ModifiedMemoryFileSystem")); } }; diff --git a/tools/pythonpkg/src/include/duckdb_python/pyrelation.hpp b/tools/pythonpkg/src/include/duckdb_python/pyrelation.hpp index f418f5ae9f25..9f351f115c9b 100644 --- a/tools/pythonpkg/src/include/duckdb_python/pyrelation.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/pyrelation.hpp @@ -212,6 +212,8 @@ struct DuckDBPyRelation { duckdb::pyarrow::Table ToArrowTable(idx_t batch_size); + duckdb::pyarrow::Table ToArrowTableInternal(idx_t batch_size, bool to_polars); + PolarsDataFrame ToPolars(idx_t batch_size); duckdb::pyarrow::RecordBatchReader ToRecordBatch(idx_t batch_size); @@ -261,6 +263,8 @@ struct DuckDBPyRelation { static bool IsRelation(const py::object &object); + bool CanBeRegisteredBy(Connection &con); + Relation &GetRel(); bool ContainsColumnByName(const string &name) const; diff --git a/tools/pythonpkg/src/include/duckdb_python/pyresult.hpp b/tools/pythonpkg/src/include/duckdb_python/pyresult.hpp index 46e844eb3af2..e2f1e2886e11 100644 --- a/tools/pythonpkg/src/include/duckdb_python/pyresult.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/pyresult.hpp @@ -34,7 +34,7 @@ struct DuckDBPyResult { PandasDataFrame FetchDF(bool date_as_object); - duckdb::pyarrow::Table FetchArrowTable(idx_t rows_per_batch); + duckdb::pyarrow::Table FetchArrowTable(idx_t rows_per_batch, bool to_polars); PandasDataFrame FetchDFChunk(idx_t vectors_per_chunk, bool date_as_object); @@ -56,11 +56,11 @@ struct DuckDBPyResult { const vector &GetTypes(); private: - py::list FetchAllArrowChunks(idx_t rows_per_batch); + py::list FetchAllArrowChunks(idx_t rows_per_batch, bool to_polars); void FillNumpy(py::dict &res, idx_t col_idx, NumpyResultConversion &conversion, const char *name); - bool FetchArrowChunk(ChunkScanState &scan_state, py::list &batches, idx_t rows_per_batch); + bool FetchArrowChunk(ChunkScanState &scan_state, py::list &batches, idx_t rows_per_batch, bool to_polars); PandasDataFrame FrameFromNumpy(bool date_as_object, const py::handle &o); diff --git a/tools/pythonpkg/src/include/duckdb_python/python_objects.hpp b/tools/pythonpkg/src/include/duckdb_python/python_objects.hpp index 4ad5cfe26232..9fbc2fcc733a 100644 --- a/tools/pythonpkg/src/include/duckdb_python/python_objects.hpp +++ b/tools/pythonpkg/src/include/duckdb_python/python_objects.hpp @@ -110,8 +110,8 @@ struct PyDecimal { struct PyTimeDelta { public: PyTimeDelta(py::handle &obj); - int64_t days; - int64_t seconds; + int32_t days; + int32_t seconds; int64_t microseconds; public: @@ -163,8 +163,6 @@ struct PyDateTime { date_t ToDate(); dtime_t ToDuckTime(); Value ToDuckValue(const LogicalType &target_type); - bool IsPositiveInfinity() const; - bool IsNegativeInfinity() const; public: static int32_t GetYears(py::handle &obj); @@ -186,8 +184,6 @@ struct PyDate { public: Value ToDuckValue(); - bool IsPositiveInfinity() const; - bool IsNegativeInfinity() const; }; struct PyTimezone { @@ -200,6 +196,7 @@ struct PyTimezone { struct PythonObject { static void Initialize(); + static py::object FromStruct(const Value &value, const LogicalType &id, const ClientProperties &client_properties); static py::object FromValue(const Value &value, const LogicalType &id, const ClientProperties &client_properties); }; diff --git a/tools/pythonpkg/src/jupyter/jupyter_progress_bar_display.cpp b/tools/pythonpkg/src/jupyter/jupyter_progress_bar_display.cpp index 474e353ca3f2..099632dbbb77 100644 --- a/tools/pythonpkg/src/jupyter/jupyter_progress_bar_display.cpp +++ b/tools/pythonpkg/src/jupyter/jupyter_progress_bar_display.cpp @@ -10,7 +10,7 @@ unique_ptr JupyterProgressBarDisplay::Create() { void JupyterProgressBarDisplay::Initialize() { auto &import_cache = *DuckDBPyConnection::ImportCache(); - auto float_progress_attr = import_cache.ipywidgets().FloatProgress(); + auto float_progress_attr = import_cache.ipywidgets.FloatProgress(); D_ASSERT(float_progress_attr.ptr() != nullptr); // Initialize the progress bar py::dict style; @@ -20,7 +20,7 @@ void JupyterProgressBarDisplay::Initialize() { progress_bar.attr("layout").attr("width") = "auto"; // Display the progress bar - auto display_attr = import_cache.IPython().display.display(); + auto display_attr = import_cache.IPython.display.display(); D_ASSERT(display_attr.ptr() != nullptr); display_attr(progress_bar); } diff --git a/tools/pythonpkg/src/native/python_conversion.cpp b/tools/pythonpkg/src/native/python_conversion.cpp index adf24e1f918e..cfee943ab438 100644 --- a/tools/pythonpkg/src/native/python_conversion.cpp +++ b/tools/pythonpkg/src/native/python_conversion.cpp @@ -5,6 +5,7 @@ #include "duckdb_python/pyconnection/pyconnection.hpp" #include "duckdb_python/pyresult.hpp" #include "duckdb/common/types.hpp" +#include "duckdb/common/exception/conversion_exception.hpp" #include "datetime.h" //From Python @@ -81,25 +82,31 @@ Value TransformDictionaryToStruct(const PyDictionary &dict, const LogicalType &t return Value::STRUCT(std::move(struct_values)); } -Value TransformStructFormatDictionaryToMap(const PyDictionary &dict) { +Value TransformStructFormatDictionaryToMap(const PyDictionary &dict, const LogicalType &target_type) { if (dict.len == 0) { return EmptyMapValue(); } + if (target_type.id() != LogicalTypeId::MAP) { + throw InvalidInputException("Please provide a valid target type for transform from Python to Value"); + } auto size = py::len(dict.keys); D_ASSERT(size == py::len(dict.values)); + auto key_target = MapType::KeyType(target_type); + auto value_target = MapType::ValueType(target_type); + LogicalType key_type = LogicalType::SQLNULL; LogicalType value_type = LogicalType::SQLNULL; vector elements; for (idx_t i = 0; i < size; i++) { - Value new_key = TransformPythonValue(dict.keys.attr("__getitem__")(i)); - Value new_value = TransformPythonValue(dict.values.attr("__getitem__")(i)); + Value new_key = TransformPythonValue(dict.keys.attr("__getitem__")(i), key_target); + Value new_value = TransformPythonValue(dict.values.attr("__getitem__")(i), value_target); - key_type = LogicalType::MaxLogicalType(key_type, new_key.type()); - value_type = LogicalType::MaxLogicalType(value_type, new_value.type()); + key_type = LogicalType::ForceMaxLogicalType(key_type, new_key.type()); + value_type = LogicalType::ForceMaxLogicalType(value_type, new_value.type()); child_list_t struct_values; struct_values.emplace_back(make_pair("key", std::move(new_key))); @@ -116,7 +123,7 @@ Value TransformStructFormatDictionaryToMap(const PyDictionary &dict) { Value TransformDictionaryToMap(const PyDictionary &dict, const LogicalType &target_type = LogicalType::UNKNOWN) { if (target_type.id() != LogicalTypeId::UNKNOWN && !DictionaryHasMapFormat(dict)) { // dict == { 'k1': v1, 'k2': v2, ..., 'kn': vn } - return TransformStructFormatDictionaryToMap(dict); + return TransformStructFormatDictionaryToMap(dict, target_type); } auto keys = dict.values.attr("__getitem__")(0); @@ -141,8 +148,8 @@ Value TransformDictionaryToMap(const PyDictionary &dict, const LogicalType &targ Value new_key = ListValue::GetChildren(key_list)[i]; Value new_value = ListValue::GetChildren(value_list)[i]; - key_type = LogicalType::MaxLogicalType(key_type, new_key.type()); - value_type = LogicalType::MaxLogicalType(value_type, new_value.type()); + key_type = LogicalType::ForceMaxLogicalType(key_type, new_key.type()); + value_type = LogicalType::ForceMaxLogicalType(value_type, new_value.type()); child_list_t struct_values; struct_values.emplace_back(make_pair("key", std::move(new_key))); @@ -196,7 +203,7 @@ Value TransformListValue(py::handle ele, const LogicalType &target_type = Logica for (idx_t i = 0; i < size; i++) { auto &child_type = list_target ? ListType::GetChildType(target_type) : LogicalType::UNKNOWN; Value new_value = TransformPythonValue(ele.attr("__getitem__")(i), child_type); - element_type = LogicalType::MaxLogicalType(element_type, new_value.type()); + element_type = LogicalType::ForceMaxLogicalType(element_type, new_value.type()); values.push_back(std::move(new_value)); } @@ -295,6 +302,13 @@ bool TryTransformPythonNumeric(Value &res, py::handle ele, const LogicalType &ta res = Value::HUGEINT(value); return true; } + case LogicalTypeId::UHUGEINT: { + if (value < 0) { + return false; + } + res = Value::UHUGEINT(value); + return true; + } case LogicalTypeId::BIGINT: { res = Value::BIGINT(value); return true; @@ -363,7 +377,9 @@ PythonObjectType GetPythonObjectType(py::handle &ele) { if (ele.is_none()) { return PythonObjectType::None; - } else if (py::isinstance(ele, import_cache.pandas().libs.NAType())) { + } else if (ele.is(import_cache.pandas.NaT())) { + return PythonObjectType::None; + } else if (ele.is(import_cache.pandas.NA())) { return PythonObjectType::None; } else if (py::isinstance(ele)) { return PythonObjectType::Bool; @@ -371,17 +387,17 @@ PythonObjectType GetPythonObjectType(py::handle &ele) { return PythonObjectType::Integer; } else if (py::isinstance(ele)) { return PythonObjectType::Float; - } else if (py::isinstance(ele, import_cache.decimal().Decimal())) { + } else if (py::isinstance(ele, import_cache.decimal.Decimal())) { return PythonObjectType::Decimal; - } else if (py::isinstance(ele, import_cache.uuid().UUID())) { + } else if (py::isinstance(ele, import_cache.uuid.UUID())) { return PythonObjectType::Uuid; - } else if (py::isinstance(ele, import_cache.datetime().datetime())) { + } else if (py::isinstance(ele, import_cache.datetime.datetime())) { return PythonObjectType::Datetime; - } else if (py::isinstance(ele, import_cache.datetime().time())) { + } else if (py::isinstance(ele, import_cache.datetime.time())) { return PythonObjectType::Time; - } else if (py::isinstance(ele, import_cache.datetime().date())) { + } else if (py::isinstance(ele, import_cache.datetime.date())) { return PythonObjectType::Date; - } else if (py::isinstance(ele, import_cache.datetime().timedelta())) { + } else if (py::isinstance(ele, import_cache.datetime.timedelta())) { return PythonObjectType::Timedelta; } else if (py::isinstance(ele)) { return PythonObjectType::String; @@ -397,11 +413,11 @@ PythonObjectType GetPythonObjectType(py::handle &ele) { return PythonObjectType::Tuple; } else if (py::isinstance(ele)) { return PythonObjectType::Dict; - } else if (py::isinstance(ele, import_cache.numpy().ndarray())) { + } else if (py::isinstance(ele, import_cache.numpy.ndarray())) { return PythonObjectType::NdArray; - } else if (py::isinstance(ele, import_cache.numpy().datetime64())) { + } else if (py::isinstance(ele, import_cache.numpy.datetime64())) { return PythonObjectType::NdDatetime; - } else if (py::isinstance(ele, import_cache.pyduckdb().value())) { + } else if (py::isinstance(ele, import_cache.duckdb.Value())) { return PythonObjectType::Value; } else { return PythonObjectType::Other; @@ -453,8 +469,8 @@ Value TransformPythonValue(py::handle ele, const LogicalType &target_type, bool case PythonObjectType::Datetime: { auto &import_cache = *DuckDBPyConnection::ImportCache(); bool is_nat = false; - if (import_cache.pandas().isnull.IsLoaded()) { - auto isnull_result = import_cache.pandas().isnull()(ele); + if (import_cache.pandas.isnull(false)) { + auto isnull_result = import_cache.pandas.isnull()(ele); is_nat = string(py::str(isnull_result)) == "True"; } if (is_nat) { diff --git a/tools/pythonpkg/src/native/python_objects.cpp b/tools/pythonpkg/src/native/python_objects.cpp index fc3e707774aa..9dab0174448e 100644 --- a/tools/pythonpkg/src/native/python_objects.cpp +++ b/tools/pythonpkg/src/native/python_objects.cpp @@ -7,6 +7,8 @@ #include "duckdb/common/types/cast_helpers.hpp" #include "duckdb/common/operator/cast_operators.hpp" #include "duckdb_python/pyconnection/pyconnection.hpp" +#include "duckdb/common/operator/add.hpp" +#include "duckdb/core_functions/to_interval.hpp" #include "datetime.h" // Python datetime initialize #1 @@ -26,19 +28,17 @@ PyTimeDelta::PyTimeDelta(py::handle &obj) { } interval_t PyTimeDelta::ToInterval() { - interval_t interval; + interval_t result; - // Timedelta stores any amount of seconds lower than a day only - D_ASSERT(seconds < Interval::SECS_PER_DAY); + auto micros_interval = Interval::FromMicro(microseconds); + auto days_interval = interval_t {/*months = */ 0, + /*days = */ days, + /*micros = */ 0}; + auto seconds_interval = ToSecondsOperator::Operation(seconds); - // Convert overflow of days to months - interval.months = days / Interval::DAYS_PER_MONTH; - days -= interval.months * Interval::DAYS_PER_MONTH; - - microseconds += seconds * Interval::MICROS_PER_SEC; - interval.days = days; - interval.micros = microseconds; - return interval; + result = AddOperator::Operation(micros_interval, days_interval); + result = AddOperator::Operation(result, seconds_interval); + return result; } int64_t PyTimeDelta::GetDays(py::handle &obj) { @@ -274,23 +274,7 @@ timestamp_t PyDateTime::ToTimestamp() { return Timestamp::FromDatetime(date, time); } -bool PyDateTime::IsPositiveInfinity() const { - return year == 9999 && month == 12 && day == 31 && hour == 23 && minute == 59 && second == 59 && micros == 999999; -} - -bool PyDateTime::IsNegativeInfinity() const { - return year == 1 && month == 1 && day == 1 && hour == 0 && minute == 0 && second == 0 && micros == 0; -} - Value PyDateTime::ToDuckValue(const LogicalType &target_type) { - if (IsPositiveInfinity()) { - // FIXME: respect the target_type ? - return Value::TIMESTAMP(timestamp_t::infinity()); - } - if (IsNegativeInfinity()) { - // FIXME: respect the target_type ? - return Value::TIMESTAMP(timestamp_t::ninfinity()); - } auto timestamp = ToTimestamp(); if (!py::none().is(tzone_obj)) { auto utc_offset = PyTimezone::GetUTCOffset(tzone_obj); @@ -363,21 +347,8 @@ PyDate::PyDate(py::handle &ele) { } Value PyDate::ToDuckValue() { - if (IsPositiveInfinity()) { - return Value::DATE(date_t::infinity()); - } - if (IsNegativeInfinity()) { - return Value::DATE(date_t::ninfinity()); - } - return Value::DATE(year, month, day); -} - -bool PyDate::IsPositiveInfinity() const { - return year == 9999 && month == 12 && day == 31; -} - -bool PyDate::IsNegativeInfinity() const { - return year == 1 && month == 1 && day == 1; + auto value = Value::DATE(year, month, day); + return value; } void PythonObject::Initialize() { @@ -396,6 +367,32 @@ InfinityType GetTimestampInfinityType(timestamp_t ×tamp) { return InfinityType::NONE; } +py::object PythonObject::FromStruct(const Value &val, const LogicalType &type, + const ClientProperties &client_properties) { + auto &struct_values = StructValue::GetChildren(val); + + auto &child_types = StructType::GetChildTypes(type); + if (StructType::IsUnnamed(type)) { + py::tuple py_tuple(struct_values.size()); + for (idx_t i = 0; i < struct_values.size(); i++) { + auto &child_entry = child_types[i]; + D_ASSERT(child_entry.first.empty()); + auto &child_type = child_entry.second; + py_tuple[i] = FromValue(struct_values[i], child_type, client_properties); + } + return std::move(py_tuple); + } else { + py::dict py_struct; + for (idx_t i = 0; i < struct_values.size(); i++) { + auto &child_entry = child_types[i]; + auto &child_name = child_entry.first; + auto &child_type = child_entry.second; + py_struct[child_name.c_str()] = FromValue(struct_values[i], child_type, client_properties); + } + return std::move(py_struct); + } +} + py::object PythonObject::FromValue(const Value &val, const LogicalType &type, const ClientProperties &client_properties) { auto &import_cache = *DuckDBPyConnection::ImportCache(); @@ -423,12 +420,14 @@ py::object PythonObject::FromValue(const Value &val, const LogicalType &type, return py::cast(val.GetValue()); case LogicalTypeId::HUGEINT: return py::reinterpret_steal(PyLong_FromString(val.GetValue().c_str(), nullptr, 10)); + case LogicalTypeId::UHUGEINT: + return py::reinterpret_steal(PyLong_FromString(val.GetValue().c_str(), nullptr, 10)); case LogicalTypeId::FLOAT: return py::cast(val.GetValue()); case LogicalTypeId::DOUBLE: return py::cast(val.GetValue()); case LogicalTypeId::DECIMAL: { - return import_cache.decimal().Decimal()(val.ToString()); + return import_cache.decimal.Decimal()(val.ToString()); } case LogicalTypeId::ENUM: return py::cast(EnumType::GetValue(val)); @@ -462,10 +461,10 @@ py::object PythonObject::FromValue(const Value &val, const LogicalType &type, // Deal with infinity switch (infinity) { case InfinityType::POSITIVE: { - return py::reinterpret_borrow(import_cache.datetime().datetime.max()); + return py::reinterpret_borrow(import_cache.datetime.datetime.max()); } case InfinityType::NEGATIVE: { - return py::reinterpret_borrow(import_cache.datetime().datetime.min()); + return py::reinterpret_borrow(import_cache.datetime.datetime.min()); } case InfinityType::NONE: break; @@ -480,9 +479,9 @@ py::object PythonObject::FromValue(const Value &val, const LogicalType &type, py::reinterpret_steal(PyDateTime_FromDateAndTime(year, month, day, hour, min, sec, micros)); if (type.id() == LogicalTypeId::TIMESTAMP_TZ) { // We have to add the timezone info - auto tz_utc = import_cache.pytz().timezone()("UTC"); + auto tz_utc = import_cache.pytz.timezone()("UTC"); auto timestamp_utc = tz_utc.attr("localize")(py_timestamp); - auto tz_info = import_cache.pytz().timezone()(client_properties.time_zone); + auto tz_info = import_cache.pytz.timezone()(client_properties.time_zone); return timestamp_utc.attr("astimezone")(tz_info); } return py_timestamp; @@ -500,9 +499,9 @@ py::object PythonObject::FromValue(const Value &val, const LogicalType &type, int32_t year, month, day; if (!duckdb::Date::IsFinite(date)) { if (date == date_t::infinity()) { - return py::reinterpret_borrow(import_cache.datetime().date.max()); + return py::reinterpret_borrow(import_cache.datetime.date.max()); } - return py::reinterpret_borrow(import_cache.datetime().date.min()); + return py::reinterpret_borrow(import_cache.datetime.date.min()); } duckdb::Date::Convert(date, year, month, day); return py::reinterpret_steal(PyDate_FromDate(year, month, day)); @@ -535,27 +534,17 @@ py::object PythonObject::FromValue(const Value &val, const LogicalType &type, return std::move(py_struct); } case LogicalTypeId::STRUCT: { - auto &struct_values = StructValue::GetChildren(val); - - py::dict py_struct; - auto &child_types = StructType::GetChildTypes(type); - for (idx_t i = 0; i < struct_values.size(); i++) { - auto &child_entry = child_types[i]; - auto &child_name = child_entry.first; - auto &child_type = child_entry.second; - py_struct[child_name.c_str()] = FromValue(struct_values[i], child_type, client_properties); - } - return std::move(py_struct); + return FromStruct(val, type, client_properties); } case LogicalTypeId::UUID: { auto uuid_value = val.GetValueUnsafe(); - return import_cache.uuid().UUID()(UUID::ToString(uuid_value)); + return import_cache.uuid.UUID()(UUID::ToString(uuid_value)); } case LogicalTypeId::INTERVAL: { auto interval_value = val.GetValueUnsafe(); - uint64_t days = duckdb::Interval::DAYS_PER_MONTH * interval_value.months + interval_value.days; - return import_cache.datetime().timedelta()(py::arg("days") = days, - py::arg("microseconds") = interval_value.micros); + int64_t days = duckdb::Interval::DAYS_PER_MONTH * interval_value.months + interval_value.days; + return import_cache.datetime.timedelta()(py::arg("days") = days, + py::arg("microseconds") = interval_value.micros); } default: diff --git a/tools/pythonpkg/src/numpy/array_wrapper.cpp b/tools/pythonpkg/src/numpy/array_wrapper.cpp index 3b1acbea84e1..cd049a488e71 100644 --- a/tools/pythonpkg/src/numpy/array_wrapper.cpp +++ b/tools/pythonpkg/src/numpy/array_wrapper.cpp @@ -253,7 +253,7 @@ struct UUIDConvert { template static PyObject *ConvertValue(hugeint_t val) { auto &import_cache = *DuckDBPyConnection::ImportCache(); - py::handle h = import_cache.uuid().UUID()(UUID::ToString(val)).release(); + py::handle h = import_cache.uuid.UUID()(UUID::ToString(val)).release(); return h.ptr(); } @@ -345,6 +345,13 @@ double IntegralConvert::ConvertValue(hugeint_t val) { return result; } +template <> +double IntegralConvert::ConvertValue(uhugeint_t val) { + double result; + Uhugeint::TryCast(val, result); + return result; +} + } // namespace duckdb_py_convert template @@ -602,6 +609,9 @@ void ArrayWrapper::Append(idx_t current_offset, Vector &input, idx_t count) { case LogicalTypeId::HUGEINT: may_have_null = ConvertColumn(append_data); break; + case LogicalTypeId::UHUGEINT: + may_have_null = ConvertColumn(append_data); + break; case LogicalTypeId::FLOAT: may_have_null = ConvertColumnRegular(append_data); break; diff --git a/tools/pythonpkg/src/numpy/numpy_scan.cpp b/tools/pythonpkg/src/numpy/numpy_scan.cpp index f7f21c671c88..e74540318844 100644 --- a/tools/pythonpkg/src/numpy/numpy_scan.cpp +++ b/tools/pythonpkg/src/numpy/numpy_scan.cpp @@ -340,11 +340,18 @@ void NumpyScan::Scan(PandasColumnBindData &bind_data, idx_t count, idx_t offset, out_mask.SetInvalid(row); continue; } - if (import_cache.pandas().libs.NAType.IsLoaded()) { - // If pandas is imported, check if the type is NAType - auto val_type = Py_TYPE(val); - auto na_type = reinterpret_cast(import_cache.pandas().libs.NAType().ptr()); - if (val_type == na_type) { + if (import_cache.pandas.NaT(false)) { + // If pandas is imported, check if this is pandas.NaT + py::handle value(val); + if (value.is(import_cache.pandas.NaT())) { + out_mask.SetInvalid(row); + continue; + } + } + if (import_cache.pandas.NA(false)) { + // If pandas is imported, check if this is pandas.NA + py::handle value(val); + if (value.is(import_cache.pandas.NA())) { out_mask.SetInvalid(row); continue; } @@ -399,10 +406,6 @@ void NumpyScan::Scan(PandasColumnBindData &bind_data, idx_t count, idx_t offset, throw NotImplementedException( "Unsupported typekind constant %d for Python Unicode Compact decode", kind); } - } else if (ascii_obj->state.kind == PyUnicode_WCHAR_KIND) { - throw InvalidInputException("Unsupported: decode not ready legacy string"); - } else if (!PyUtil::PyUnicodeIsCompact(unicode_obj) && ascii_obj->state.kind != PyUnicode_WCHAR_KIND) { - throw InvalidInputException("Unsupported: decode ready legacy string"); } else { throw InvalidInputException("Unsupported string type: no clue what this string is"); } diff --git a/tools/pythonpkg/src/pandas/analyzer.cpp b/tools/pythonpkg/src/pandas/analyzer.cpp index dafb5d05eaf8..6f5b4416cb18 100644 --- a/tools/pythonpkg/src/pandas/analyzer.cpp +++ b/tools/pythonpkg/src/pandas/analyzer.cpp @@ -139,7 +139,7 @@ static bool UpgradeType(LogicalType &left, const LogicalType &right) { } } // If one of the types is map, this will set the resulting type to map - left = LogicalType::MaxLogicalType(left, right); + left = LogicalType::ForceMaxLogicalType(left, right); return true; } @@ -363,6 +363,16 @@ uint64_t PandasAnalyzer::GetSampleIncrement(idx_t rows) { return rows / sample; } +static py::object FindFirstNonNull(const py::handle &row, idx_t offset, idx_t range) { + for (idx_t i = 0; i < range; i++) { + auto obj = row(offset + i); + if (!obj.is_none()) { + return obj; + } + } + return py::none(); +} + LogicalType PandasAnalyzer::InnerAnalyze(py::object column, bool &can_convert, bool sample, idx_t increment) { idx_t rows = py::len(column); @@ -380,18 +390,14 @@ LogicalType PandasAnalyzer::InnerAnalyze(py::object column, bool &can_convert, b } auto row = column.attr("__getitem__"); - vector types; - auto item_type = GetItemType(row(0), can_convert); - if (!can_convert) { - return item_type; - } - types.push_back(item_type); - if (sample) { increment = GetSampleIncrement(rows); } - for (idx_t i = increment; i < rows; i += increment) { - auto next_item_type = GetItemType(row(i), can_convert); + LogicalType item_type = LogicalType::SQLNULL; + vector types; + for (idx_t i = 0; i < rows; i += increment) { + auto obj = FindFirstNonNull(row, i, increment); + auto next_item_type = GetItemType(obj, can_convert); types.push_back(next_item_type); if (!can_convert || !UpgradeType(item_type, next_item_type)) { diff --git a/tools/pythonpkg/src/pandas/scan.cpp b/tools/pythonpkg/src/pandas/scan.cpp index 9b94fdeb5137..16ad8b4dd7cd 100644 --- a/tools/pythonpkg/src/pandas/scan.cpp +++ b/tools/pythonpkg/src/pandas/scan.cpp @@ -195,42 +195,14 @@ unique_ptr PandasScanFunction::PandasScanCardinality(ClientConte py::object PandasScanFunction::PandasReplaceCopiedNames(const py::object &original_df) { auto copy_df = original_df.attr("copy")(false); - unordered_map name_map; - unordered_set columns_seen; - py::list column_name_list; auto df_columns = py::list(original_df.attr("columns")); - - for (auto &column_name_py : df_columns) { - string column_name = py::str(column_name_py); - // put it all lower_case - auto column_name_low = StringUtil::Lower(column_name); - name_map[column_name_low] = 1; - } - for (auto &column_name_py : df_columns) { - const string column_name = py::str(column_name_py); - auto column_name_low = StringUtil::Lower(column_name); - if (columns_seen.find(column_name_low) == columns_seen.end()) { - // `column_name` has not been seen before -> It isn't a duplicate - column_name_list.append(column_name); - columns_seen.insert(column_name_low); - } else { - // `column_name` already seen. Deduplicate by with suffix _{x} where x starts at the repetition number of - // `column_name` If `column_name_{x}` already exists in `name_map`, increment x and try again. - string new_column_name = column_name + "_" + std::to_string(name_map[column_name_low]); - auto new_column_name_low = StringUtil::Lower(new_column_name); - while (name_map.find(new_column_name_low) != name_map.end()) { - // This name is already here due to a previous definition - name_map[column_name_low]++; - new_column_name = column_name + "_" + std::to_string(name_map[column_name_low]); - new_column_name_low = StringUtil::Lower(new_column_name); - } - column_name_list.append(new_column_name); - columns_seen.insert(new_column_name_low); - name_map[column_name_low]++; - } + vector columns; + for (const auto &str : df_columns) { + columns.push_back(string(py::str(str))); } + QueryResult::DeduplicateColumns(columns); - copy_df.attr("columns") = column_name_list; + copy_df.attr("columns") = columns; return copy_df; } diff --git a/tools/pythonpkg/src/path_like.cpp b/tools/pythonpkg/src/path_like.cpp index 5e600b845e2a..aa003a8fa8f5 100644 --- a/tools/pythonpkg/src/path_like.cpp +++ b/tools/pythonpkg/src/path_like.cpp @@ -4,26 +4,92 @@ #include "duckdb/common/string_util.hpp" #include "duckdb_python/pyfilesystem.hpp" #include "duckdb_python/filesystem_object.hpp" +#include "duckdb/common/optional_ptr.hpp" namespace duckdb { -PathLike PathLike::Create(const py::object &object, DuckDBPyConnection &connection) { - PathLike result; - auto &import_cache = *DuckDBPyConnection::ImportCache(); +struct PathLikeProcessor { +public: + PathLikeProcessor(DuckDBPyConnection &connection, PythonImportCache &import_cache) + : connection(connection), import_cache(import_cache) { + } + +public: + void AddFile(const py::object &object); + PathLike Finalize(); + +protected: + ModifiedMemoryFileSystem &GetFS() { + if (!object_store) { + object_store = &connection.GetObjectFileSystem(); + } + return *object_store; + } + +public: + DuckDBPyConnection &connection; + optional_ptr object_store; + PythonImportCache &import_cache; + // The list containing every file + vector all_files; + // The list of files that are registered in the object_store; + vector fs_files; +}; + +void PathLikeProcessor::AddFile(const py::object &object) { if (py::isinstance(object)) { - result.str = py::str(object); - return result; + all_files.push_back(std::string(py::str(object))); + return; + } + if (py::isinstance(object, import_cache.pathlib.Path())) { + all_files.push_back(std::string(py::str(object))); + return; + } + // This is (assumed to be) a file-like object + auto generated_name = + StringUtil::Format("%s://%s", "DUCKDB_INTERNAL_OBJECTSTORE", StringUtil::GenerateRandomName()); + all_files.push_back(generated_name); + fs_files.push_back(generated_name); + + auto &fs = GetFS(); + fs.attr("add_file")(object, generated_name); +} + +PathLike PathLikeProcessor::Finalize() { + PathLike result; + + if (all_files.empty()) { + throw InvalidInputException("Please provide a non-empty list of paths or file-like objects"); } - if (py::isinstance(object, import_cache.pathlib().Path())) { - result.str = py::str(object); + result.files = std::move(all_files); + + if (fs_files.empty()) { + // No file-like objects were registered in the filesystem + // no need to make a dependency return result; } - // Make sure that the object filesystem is initialized and registered - auto &fs = connection.GetObjectFileSystem(); - result.str = StringUtil::Format("%s://%s", "DUCKDB_INTERNAL_OBJECTSTORE", StringUtil::GenerateRandomName()); - fs.attr("add_file")(object, result.str); - result.dependency = make_uniq(make_uniq(fs, result.str)); + + // Create the dependency, which contains the logic to clean up the files in its destructor + auto &fs = GetFS(); + result.dependency = make_uniq(make_uniq(fs, std::move(fs_files))); return result; } +PathLike PathLike::Create(const py::object &object, DuckDBPyConnection &connection) { + auto &import_cache = *DuckDBPyConnection::ImportCache(); + + PathLikeProcessor processor(connection, import_cache); + if (py::isinstance(object)) { + auto list = py::list(object); + for (auto &item : list) { + processor.AddFile(py::reinterpret_borrow(item)); + } + } else { + // Single object + processor.AddFile(object); + } + + return processor.Finalize(); +} + } // namespace duckdb diff --git a/tools/pythonpkg/src/pyconnection.cpp b/tools/pythonpkg/src/pyconnection.cpp index a879dddbedf9..8731eb35d94d 100644 --- a/tools/pythonpkg/src/pyconnection.cpp +++ b/tools/pythonpkg/src/pyconnection.cpp @@ -48,6 +48,7 @@ #include "duckdb/parser/parsed_data/drop_info.hpp" #include "duckdb/catalog/catalog_entry/scalar_function_catalog_entry.hpp" #include "duckdb/main/pending_query_result.hpp" +#include "duckdb/parser/keyword_helper.hpp" #include @@ -67,13 +68,13 @@ void DuckDBPyConnection::DetectEnvironment() { return; } DuckDBPyConnection::environment = PythonEnvironmentType::INTERACTIVE; - if (!ModuleIsLoaded()) { + if (!ModuleIsLoaded()) { return; } // Check to see if we are in a Jupyter Notebook auto &import_cache_py = *DuckDBPyConnection::ImportCache(); - auto get_ipython = import_cache_py.IPython().get_ipython(); + auto get_ipython = import_cache_py.IPython.get_ipython(); if (get_ipython.ptr() == nullptr) { // Could either not load the IPython module, or it has no 'get_ipython' attribute return; @@ -122,7 +123,7 @@ static void InitializeConnectionMethods(py::class_ DuckDBPyConnection::ExecuteMany(const string &que return shared_from_this(); } +static std::function FinishedCondition(PendingQueryResult &pending_query) { + if (pending_query.AllowStreamResult()) { + return PendingQueryResult::IsFinishedOrBlocked; + } + return PendingQueryResult::IsFinished; +} + unique_ptr DuckDBPyConnection::CompletePendingQuery(PendingQueryResult &pending_query) { PendingExecutionResult execution_result; + auto is_finished = FinishedCondition(pending_query); do { execution_result = pending_query.ExecuteTask(); { @@ -388,7 +397,7 @@ unique_ptr DuckDBPyConnection::CompletePendingQuery(PendingQueryRes throw std::runtime_error("Query interrupted"); } } - } while (!PendingQueryResult::IsFinished(execution_result)); + } while (!is_finished(execution_result)); if (execution_result == PendingExecutionResult::EXECUTION_ERROR) { pending_query.ThrowError(); } @@ -610,6 +619,10 @@ shared_ptr DuckDBPyConnection::RegisterPythonObject(const st RegisterArrowObject(arrow_object, name); } else if (DuckDBPyRelation::IsRelation(python_object)) { auto pyrel = py::cast(python_object); + if (!pyrel->CanBeRegisteredBy(*connection)) { + throw InvalidInputException( + "The relation you are attempting to register was not made from this connection"); + } pyrel->CreateView(name, true); } else { auto py_object_type = string(py::str(python_object.get_type().attr("__name__"))); @@ -718,7 +731,7 @@ unique_ptr DuckDBPyConnection::ReadCSV( } CSVReaderOptions options; auto path_like = GetPathLike(name_p); - auto &name = path_like.str; + auto &name = path_like.files; auto file_like_object_wrapper = std::move(path_like.dependency); named_parameter_map_t bind_parameters; @@ -908,7 +921,7 @@ unique_ptr DuckDBPyConnection::ReadCSV( read_csv.extra_dependencies = std::move(file_like_object_wrapper); } - return make_uniq(read_csv_p->Alias(name)); + return make_uniq(read_csv_p->Alias(read_csv.alias)); } unique_ptr DuckDBPyConnection::RunQuery(const string &query, string alias, const py::object ¶ms) { @@ -969,7 +982,13 @@ unique_ptr DuckDBPyConnection::Table(const string &tname) { if (qualified_name.schema.empty()) { qualified_name.schema = DEFAULT_SCHEMA; } - return make_uniq(connection->Table(qualified_name.schema, qualified_name.name)); + try { + return make_uniq(connection->Table(qualified_name.schema, qualified_name.name)); + } catch (const CatalogException &e) { + // CatalogException will be of the type '... is not a table' + // Not a table in the database, make a query relation that can perform replacement scans + return RunQuery(StringUtil::Format("from %s", KeywordHelper::WriteOptionallyQuoted(tname)), tname); + } } unique_ptr DuckDBPyConnection::Values(py::object params) { @@ -1446,12 +1465,12 @@ static unique_ptr ScanReplacement(ClientContext &context, const string return nullptr; } -unordered_map TransformPyConfigDict(const py::dict &py_config_dict) { - unordered_map config_dict; +case_insensitive_map_t TransformPyConfigDict(const py::dict &py_config_dict) { + case_insensitive_map_t config_dict; for (auto &kv : py_config_dict) { auto key = py::str(kv.first); auto val = py::str(kv.second); - config_dict[key] = val; + config_dict[key] = Value(val); } return config_dict; } @@ -1459,6 +1478,9 @@ unordered_map TransformPyConfigDict(const py::dict &py_config_di void CreateNewInstance(DuckDBPyConnection &res, const string &database, DBConfig &config) { // We don't cache unnamed memory instances (i.e., :memory:) bool cache_instance = database != ":memory:" && !database.empty(); + if (config.options.enable_external_access) { + config.replacement_scans.emplace_back(ScanReplacement); + } res.database = instance_cache.CreateInstance(database, config, cache_instance); res.connection = make_uniq(*res.database); auto &context = *res.connection->context; @@ -1471,18 +1493,11 @@ void CreateNewInstance(DuckDBPyConnection &res, const string &database, DBConfig catalog.CreateTableFunction(context, &scan_info); catalog.CreateTableFunction(context, &map_info); context.transaction.Commit(); - auto &db_config = res.database->instance->config; - db_config.AddExtensionOption("pandas_analyze_sample", - "The maximum number of rows to sample when analyzing a pandas object column.", - LogicalType::UBIGINT, Value::UBIGINT(1000)); - if (db_config.options.enable_external_access) { - db_config.replacement_scans.emplace_back(ScanReplacement); - } } static bool HasJupyterProgressBarDependencies() { auto &import_cache = *DuckDBPyConnection::ImportCache(); - if (!import_cache.ipywidgets().IsLoaded()) { + if (!import_cache.ipywidgets()) { // ipywidgets not installed, needed to support the progress bar return false; } @@ -1525,7 +1540,7 @@ static shared_ptr FetchOrCreateInstance(const string &databa return res; } -bool IsDefaultConnectionString(const string &database, bool read_only, unordered_map &config) { +bool IsDefaultConnectionString(const string &database, bool read_only, case_insensitive_map_t &config) { bool is_default = StringUtil::CIEquals(database, ":default:"); if (!is_default) { return false; @@ -1544,8 +1559,13 @@ shared_ptr DuckDBPyConnection::Connect(const string &databas return DuckDBPyConnection::DefaultConnection(); } - DBConfig config(config_dict, read_only); - config.SetOptionByName("duckdb_api", "python"); + DBConfig config(read_only); + config.AddExtensionOption("pandas_analyze_sample", + "The maximum number of rows to sample when analyzing a pandas object column.", + LogicalType::UBIGINT, Value::UBIGINT(1000)); + config_dict["duckdb_api"] = Value("python"); + config.SetOptionsByName(config_dict); + auto res = FetchOrCreateInstance(database, config); auto &client_context = *res->connection->context; SetDefaultConfigArguments(client_context); @@ -1592,7 +1612,7 @@ ModifiedMemoryFileSystem &DuckDBPyConnection::GetObjectFileSystem() { if (!internal_object_filesystem) { D_ASSERT(!FileSystemIsRegistered("DUCKDB_INTERNAL_OBJECTSTORE")); auto &import_cache_py = *ImportCache(); - auto modified_memory_fs = import_cache_py.pyduckdb().filesystem.modified_memory_filesystem(); + auto modified_memory_fs = import_cache_py.duckdb.filesystem.ModifiedMemoryFileSystem(); if (modified_memory_fs.ptr() == nullptr) { throw InvalidInputException( "This operation could not be completed because required module 'fsspec' is not installed"); @@ -1632,7 +1652,7 @@ bool DuckDBPyConnection::IsPandasDataframe(const py::object &object) { return false; } auto &import_cache_py = *DuckDBPyConnection::ImportCache(); - return py::isinstance(object, import_cache_py.pandas().DataFrame()); + return py::isinstance(object, import_cache_py.pandas.DataFrame()); } bool DuckDBPyConnection::IsPolarsDataframe(const py::object &object) { @@ -1640,15 +1660,15 @@ bool DuckDBPyConnection::IsPolarsDataframe(const py::object &object) { return false; } auto &import_cache_py = *DuckDBPyConnection::ImportCache(); - return py::isinstance(object, import_cache_py.polars().DataFrame()) || - py::isinstance(object, import_cache_py.polars().LazyFrame()); + return py::isinstance(object, import_cache_py.polars.DataFrame()) || + py::isinstance(object, import_cache_py.polars.LazyFrame()); } bool IsValidNumpyDimensions(const py::handle &object, int &dim) { // check the dimensions of numpy arrays // should only be called by IsAcceptedNumpyObject auto &import_cache = *DuckDBPyConnection::ImportCache(); - if (!py::isinstance(object, import_cache.numpy().ndarray())) { + if (!py::isinstance(object, import_cache.numpy.ndarray())) { return false; } auto shape = (py::cast(object)).attr("shape"); @@ -1664,7 +1684,7 @@ NumpyObjectType DuckDBPyConnection::IsAcceptedNumpyObject(const py::object &obje return NumpyObjectType::INVALID; } auto &import_cache = *DuckDBPyConnection::ImportCache(); - if (py::isinstance(object, import_cache.numpy().ndarray())) { + if (py::isinstance(object, import_cache.numpy.ndarray())) { auto len = py::len((py::cast(object)).attr("shape")); switch (len) { case 1: @@ -1695,19 +1715,19 @@ NumpyObjectType DuckDBPyConnection::IsAcceptedNumpyObject(const py::object &obje } bool DuckDBPyConnection::IsAcceptedArrowObject(const py::object &object) { - if (!ModuleIsLoaded()) { + if (!ModuleIsLoaded()) { return false; } auto &import_cache_py = *DuckDBPyConnection::ImportCache(); - if (py::isinstance(object, import_cache_py.arrow_lib().Table()) || - py::isinstance(object, import_cache_py.arrow_lib().RecordBatchReader())) { + if (py::isinstance(object, import_cache_py.pyarrow.Table()) || + py::isinstance(object, import_cache_py.pyarrow.RecordBatchReader())) { return true; } - if (!ModuleIsLoaded()) { + if (!ModuleIsLoaded()) { return false; } - return (py::isinstance(object, import_cache_py.arrow_dataset().Dataset()) || - py::isinstance(object, import_cache_py.arrow_dataset().Scanner())); + return (py::isinstance(object, import_cache_py.pyarrow.dataset.Dataset()) || + py::isinstance(object, import_cache_py.pyarrow.dataset.Scanner())); } unique_lock DuckDBPyConnection::AcquireConnectionLock() { diff --git a/tools/pythonpkg/src/pyexpression.cpp b/tools/pythonpkg/src/pyexpression.cpp index 699c469cc96d..6578b77e1e8d 100644 --- a/tools/pythonpkg/src/pyexpression.cpp +++ b/tools/pythonpkg/src/pyexpression.cpp @@ -10,7 +10,7 @@ namespace duckdb { DuckDBPyExpression::DuckDBPyExpression(unique_ptr expr_p, OrderType order_type, OrderByNullType null_order) - : expression(std::move(expr_p)), order_type(order_type), null_order(null_order) { + : expression(std::move(expr_p)), null_order(null_order), order_type(order_type) { if (!expression) { throw InternalException("DuckDBPyExpression created without an expression"); } @@ -325,7 +325,7 @@ shared_ptr DuckDBPyExpression::CaseExpression(const DuckDBPy // Add NULL as default Else expression auto &internal_expression = reinterpret_cast(*case_expr->expression); internal_expression.else_expr = make_uniq(Value(LogicalTypeId::SQLNULL)); - return std::move(case_expr); + return case_expr; } shared_ptr DuckDBPyExpression::FunctionExpression(const string &function_name, diff --git a/tools/pythonpkg/src/pyrelation.cpp b/tools/pythonpkg/src/pyrelation.cpp index 1d121f0841c0..2332c7b3c2f6 100644 --- a/tools/pythonpkg/src/pyrelation.cpp +++ b/tools/pythonpkg/src/pyrelation.cpp @@ -34,6 +34,15 @@ DuckDBPyRelation::DuckDBPyRelation(shared_ptr rel_p) : rel(std::move(r } } +bool DuckDBPyRelation::CanBeRegisteredBy(Connection &con) { + if (!rel) { + // PyRelation without an internal relation can not be registered + return false; + } + auto context = rel->context.GetContext(); + return context == con.context; +} + DuckDBPyRelation::DuckDBPyRelation(unique_ptr result_p) : rel(nullptr), result(std::move(result_p)) { if (!result) { throw InternalException("DuckDBPyRelation created without a result"); @@ -735,6 +744,7 @@ unique_ptr DuckDBPyRelation::ExecuteInternal(bool stream_result) { } void DuckDBPyRelation::ExecuteOrThrow(bool stream_result) { + result.reset(); auto query_result = ExecuteInternal(stream_result); if (!query_result) { throw InternalException("ExecuteOrThrow - no query available to execute"); @@ -872,7 +882,7 @@ PandasDataFrame DuckDBPyRelation::FetchDFChunk(idx_t vectors_per_chunk, bool dat return result->FetchDFChunk(vectors_per_chunk, date_as_object); } -duckdb::pyarrow::Table DuckDBPyRelation::ToArrowTable(idx_t batch_size) { +duckdb::pyarrow::Table DuckDBPyRelation::ToArrowTableInternal(idx_t batch_size, bool to_polars) { if (!result) { if (!rel) { return py::none(); @@ -880,13 +890,17 @@ duckdb::pyarrow::Table DuckDBPyRelation::ToArrowTable(idx_t batch_size) { ExecuteOrThrow(); } AssertResultOpen(); - auto res = result->FetchArrowTable(batch_size); + auto res = result->FetchArrowTable(batch_size, to_polars); result = nullptr; return res; } +duckdb::pyarrow::Table DuckDBPyRelation::ToArrowTable(idx_t batch_size) { + return ToArrowTableInternal(batch_size, false); +} + PolarsDataFrame DuckDBPyRelation::ToPolars(idx_t batch_size) { - auto arrow = ToArrowTable(batch_size); + auto arrow = ToArrowTableInternal(batch_size, true); return py::cast(pybind11::module_::import("polars").attr("DataFrame")(arrow)); } @@ -1180,9 +1194,7 @@ unique_ptr DuckDBPyRelation::Query(const string &view_name, co make_shared(rel->context.GetContext(), std::move(select_statement), "query_relation"); return make_uniq(std::move(query_relation)); } else if (IsDescribeStatement(statement)) { - FunctionParameters parameters; - parameters.values.emplace_back(view_name); - auto query = PragmaShow(*rel->context.GetContext(), parameters); + auto query = PragmaShow(view_name); return Query(view_name, query); } { diff --git a/tools/pythonpkg/src/pyresult.cpp b/tools/pythonpkg/src/pyresult.cpp index aa4c316a1761..2dfee670ec4d 100644 --- a/tools/pythonpkg/src/pyresult.cpp +++ b/tools/pythonpkg/src/pyresult.cpp @@ -10,6 +10,7 @@ #include "duckdb/common/arrow/result_arrow_wrapper.hpp" #include "duckdb/common/types/date.hpp" #include "duckdb/common/types/hugeint.hpp" +#include "duckdb/common/types/uhugeint.hpp" #include "duckdb/common/types/time.hpp" #include "duckdb/common/types/timestamp.hpp" #include "duckdb/common/types/uuid.hpp" @@ -177,7 +178,7 @@ unique_ptr DuckDBPyResult::InitializeNumpyConversion(bool auto conversion = make_uniq(result->types, initial_capacity, result->client_properties, pandas); - return std::move(conversion); + return conversion; } py::dict DuckDBPyResult::FetchNumpyInternal(bool stream, idx_t vectors_per_chunk, @@ -224,39 +225,36 @@ py::dict DuckDBPyResult::FetchNumpyInternal(bool stream, idx_t vectors_per_chunk // now that we have materialized the result in contiguous arrays, construct the actual NumPy arrays or categorical // types py::dict res; - unordered_map names; - for (idx_t col_idx = 0; col_idx < result->types.size(); col_idx++) { - if (names[result->names[col_idx]]++ == 0) { - FillNumpy(res, col_idx, conversion, result->names[col_idx].c_str()); - } else { - auto name = result->names[col_idx] + "_" + to_string(names[result->names[col_idx]]); - while (names[name] > 0) { - // This entry already exists - name += "_" + to_string(names[name]); - } - names[name]++; - FillNumpy(res, col_idx, conversion, name.c_str()); - } + auto names = result->names; + QueryResult::DeduplicateColumns(names); + for (idx_t col_idx = 0; col_idx < result->names.size(); col_idx++) { + auto &name = names[col_idx]; + FillNumpy(res, col_idx, conversion, name.c_str()); } return res; } // TODO: unify these with an enum/flag to indicate which conversions to do void DuckDBPyResult::ChangeToTZType(PandasDataFrame &df) { + auto names = df.attr("columns").cast>(); + for (idx_t i = 0; i < result->ColumnCount(); i++) { if (result->types[i] == LogicalType::TIMESTAMP_TZ) { // first localize to UTC then convert to timezone_config - auto utc_local = df[result->names[i].c_str()].attr("dt").attr("tz_localize")("UTC"); - df[result->names[i].c_str()] = utc_local.attr("dt").attr("tz_convert")(result->client_properties.time_zone); + auto utc_local = df[names[i].c_str()].attr("dt").attr("tz_localize")("UTC"); + df.attr("__setitem__")(names[i].c_str(), + utc_local.attr("dt").attr("tz_convert")(result->client_properties.time_zone)); } } } // TODO: unify these with an enum/flag to indicate which conversions to perform void DuckDBPyResult::ChangeDateToDatetime(PandasDataFrame &df) { + auto names = df.attr("columns").cast>(); + for (idx_t i = 0; i < result->ColumnCount(); i++) { if (result->types[i] == LogicalType::DATE) { - df[result->names[i].c_str()] = df[result->names[i].c_str()].attr("dt").attr("date"); + df.attr("__setitem__")(names[i].c_str(), df[names[i].c_str()].attr("dt").attr("date")); } } } @@ -299,7 +297,8 @@ py::dict DuckDBPyResult::FetchTF() { return result_dict; } -bool DuckDBPyResult::FetchArrowChunk(ChunkScanState &scan_state, py::list &batches, idx_t rows_per_batch) { +bool DuckDBPyResult::FetchArrowChunk(ChunkScanState &scan_state, py::list &batches, idx_t rows_per_batch, + bool to_polars) { ArrowArray data; idx_t count; auto &query_result = *result.get(); @@ -311,13 +310,14 @@ bool DuckDBPyResult::FetchArrowChunk(ChunkScanState &scan_state, py::list &batch return false; } ArrowSchema arrow_schema; - ArrowConverter::ToArrowSchema(&arrow_schema, query_result.types, query_result.names, - query_result.client_properties); + auto names = query_result.names; + QueryResult::DeduplicateColumns(names); + ArrowConverter::ToArrowSchema(&arrow_schema, query_result.types, names, query_result.client_properties); TransformDuckToArrowChunk(arrow_schema, data, batches); return true; } -py::list DuckDBPyResult::FetchAllArrowChunks(idx_t rows_per_batch) { +py::list DuckDBPyResult::FetchAllArrowChunks(idx_t rows_per_batch, bool to_polars) { if (!result) { throw InvalidInputException("result closed"); } @@ -325,16 +325,20 @@ py::list DuckDBPyResult::FetchAllArrowChunks(idx_t rows_per_batch) { py::list batches; QueryResultChunkScanState scan_state(*result.get()); - while (FetchArrowChunk(scan_state, batches, rows_per_batch)) { + while (FetchArrowChunk(scan_state, batches, rows_per_batch, to_polars)) { } return batches; } -duckdb::pyarrow::Table DuckDBPyResult::FetchArrowTable(idx_t rows_per_batch) { +duckdb::pyarrow::Table DuckDBPyResult::FetchArrowTable(idx_t rows_per_batch, bool to_polars) { if (!result) { throw InvalidInputException("There is no query result"); } - return pyarrow::ToArrowTable(result->types, result->names, FetchAllArrowChunks(rows_per_batch), + auto names = result->names; + if (to_polars) { + QueryResult::DeduplicateColumns(names); + } + return pyarrow::ToArrowTable(result->types, names, FetchAllArrowChunks(rows_per_batch, to_polars), result->client_properties); } @@ -364,13 +368,19 @@ py::str GetTypeToPython(const LogicalType &type) { case LogicalTypeId::UINTEGER: case LogicalTypeId::UBIGINT: case LogicalTypeId::HUGEINT: + case LogicalTypeId::UHUGEINT: case LogicalTypeId::FLOAT: case LogicalTypeId::DOUBLE: case LogicalTypeId::DECIMAL: { return py::str("NUMBER"); } - case LogicalTypeId::VARCHAR: - return py::str("STRING"); + case LogicalTypeId::VARCHAR: { + if (type.HasAlias() && type.GetAlias() == "JSON") { + return py::str("JSON"); + } else { + return py::str("STRING"); + } + } case LogicalTypeId::BLOB: case LogicalTypeId::BIT: return py::str("BINARY"); diff --git a/tools/pythonpkg/src/python_import_cache.cpp b/tools/pythonpkg/src/python_import_cache.cpp index 3291e138888a..5ebb00594ad8 100644 --- a/tools/pythonpkg/src/python_import_cache.cpp +++ b/tools/pythonpkg/src/python_import_cache.cpp @@ -1,5 +1,7 @@ #include "duckdb_python/import_cache/python_import_cache.hpp" #include "duckdb_python/import_cache/python_import_cache_item.hpp" +#include "duckdb/common/stack.hpp" +#include "duckdb_python/import_cache/importer.hpp" namespace duckdb { @@ -7,8 +9,15 @@ namespace duckdb { // PythonImportCacheItem (SUPER CLASS) //===--------------------------------------------------------------------===// -py::handle PythonImportCacheItem::operator()(void) const { - return object; +py::handle PythonImportCacheItem::operator()(bool load) { + stack> hierarchy; + + optional_ptr item = this; + while (item) { + hierarchy.push(*item); + item = item->parent; + } + return PythonImporter::Import(hierarchy, load); } bool PythonImportCacheItem::LoadSucceeded() const { @@ -16,19 +25,14 @@ bool PythonImportCacheItem::LoadSucceeded() const { } bool PythonImportCacheItem::IsLoaded() const { - auto type = (*this)(); - bool loaded = type.ptr() != nullptr; - if (!loaded) { - return false; - } - return true; + return object.ptr() != nullptr; } py::handle PythonImportCacheItem::AddCache(PythonImportCache &cache, py::object object) { return cache.AddCache(std::move(object)); } -void PythonImportCacheItem::LoadModule(const string &name, PythonImportCache &cache) { +void PythonImportCacheItem::LoadModule(PythonImportCache &cache) { try { py::gil_assert(); object = AddCache(cache, std::move(py::module::import(name.c_str()))); @@ -38,20 +42,33 @@ void PythonImportCacheItem::LoadModule(const string &name, PythonImportCache &ca throw InvalidInputException( "Required module '%s' failed to import, due to the following Python exception:\n%s", name, e.what()); } + object = nullptr; return; } - LoadSubtypes(cache); } -void PythonImportCacheItem::LoadAttribute(const string &name, PythonImportCache &cache, PythonImportCacheItem &source) { - auto source_object = source(); - if (py::hasattr(source_object, name.c_str())) { - object = AddCache(cache, std::move(source_object.attr(name.c_str()))); +void PythonImportCacheItem::LoadAttribute(PythonImportCache &cache, py::handle source) { + if (py::hasattr(source, name.c_str())) { + object = AddCache(cache, std::move(source.attr(name.c_str()))); } else { object = nullptr; - return; } - LoadSubtypes(cache); +} + +py::handle PythonImportCacheItem::Load(PythonImportCache &cache, py::handle source, bool load) { + if (IsLoaded()) { + return object; + } + if (!load) { + // Don't load the item if it's not already loaded + return object; + } + if (is_module) { + LoadModule(cache); + } else { + LoadAttribute(cache, source); + } + return object; } //===--------------------------------------------------------------------===// diff --git a/tools/pythonpkg/src/python_udf.cpp b/tools/pythonpkg/src/python_udf.cpp index 54494aeb39af..26a2d5b90fc5 100644 --- a/tools/pythonpkg/src/python_udf.cpp +++ b/tools/pythonpkg/src/python_udf.cpp @@ -141,13 +141,17 @@ static scalar_function_t CreateVectorizedFunction(PyObject *function, PythonExce single_array[0] = python_object; single_name[0] = "c0"; - python_object = py::module_::import("pyarrow").attr("lib").attr("Table").attr("from_arrays")( - single_array, py::arg("names") = single_name); + try { + python_object = py::module_::import("pyarrow").attr("lib").attr("Table").attr("from_arrays")( + single_array, py::arg("names") = single_name); + } catch (py::error_already_set &ex) { + throw InvalidInputException("Could not convert the result into an Arrow Table"); + } } // Convert the pyarrow result back to a DuckDB datachunk ConvertPyArrowToDataChunk(python_object, result, state.GetContext(), count); - if (input.AllConstant()) { + if (input.size() == 1) { result.SetVectorType(VectorType::CONSTANT_VECTOR); } }; @@ -322,14 +326,19 @@ struct PythonUDFData { ScalarFunction GetFunction(const py::function &udf, PythonExceptionHandling exception_handling, bool side_effects, const ClientProperties &client_properties) { + + auto &import_cache = *DuckDBPyConnection::ImportCache(); + // Import this module, because importing this from a non-main thread causes a segfault + (void)import_cache.numpy.core.multiarray(); + scalar_function_t func; if (vectorized) { func = CreateVectorizedFunction(udf.ptr(), exception_handling); } else { func = CreateNativeFunction(udf.ptr(), exception_handling, client_properties); } - FunctionSideEffects function_side_effects = - side_effects ? FunctionSideEffects::HAS_SIDE_EFFECTS : FunctionSideEffects::NO_SIDE_EFFECTS; + FunctionStability function_side_effects = + side_effects ? FunctionStability::VOLATILE : FunctionStability::CONSISTENT; ScalarFunction scalar_function(name, std::move(parameters), return_type, func, nullptr, nullptr, nullptr, nullptr, varargs, function_side_effects, null_handling); return scalar_function; diff --git a/tools/pythonpkg/src/typing/pytype.cpp b/tools/pythonpkg/src/typing/pytype.cpp index dc4c206023f7..337be5f4aab1 100644 --- a/tools/pythonpkg/src/typing/pytype.cpp +++ b/tools/pythonpkg/src/typing/pytype.cpp @@ -14,7 +14,7 @@ bool PyGenericAlias::check_(const py::handle &object) { return false; } auto &import_cache = *DuckDBPyConnection::ImportCache(); - return py::isinstance(object, import_cache.types().GenericAlias()); + return py::isinstance(object, import_cache.types.GenericAlias()); } // NOLINTNEXTLINE(readability-identifier-naming) @@ -27,10 +27,10 @@ bool PyUnionType::check_(const py::handle &object) { } auto &import_cache = *DuckDBPyConnection::ImportCache(); - if (types_loaded && py::isinstance(object, import_cache.types().UnionType())) { + if (types_loaded && py::isinstance(object, import_cache.types.UnionType())) { return true; } - if (typing_loaded && py::isinstance(object, import_cache.typing()._UnionGenericAlias())) { + if (typing_loaded && py::isinstance(object, import_cache.typing._UnionGenericAlias())) { return true; } return false; @@ -199,10 +199,22 @@ static bool IsMapType(const py::tuple &args) { return true; } -static LogicalType FromUnionType(const py::object &obj) { +static py::tuple FilterNones(const py::tuple &args) { + py::list result; + + for (const auto &arg : args) { + py::object object = py::reinterpret_borrow(arg); + if (object.is(py::none().get_type())) { + continue; + } + result.append(object); + } + return py::tuple(result); +} + +static LogicalType FromUnionTypeInternal(const py::tuple &args) { idx_t index = 1; child_list_t members; - py::tuple args = obj.attr("__args__"); for (const auto &arg : args) { auto name = StringUtil::Format("u%d", index++); @@ -211,6 +223,19 @@ static LogicalType FromUnionType(const py::object &obj) { } return LogicalType::UNION(std::move(members)); +} + +static LogicalType FromUnionType(const py::object &obj) { + py::tuple args = obj.attr("__args__"); + + // Optional inserts NoneType into the Union + // all types are nullable in DuckDB so we just filter the Nones + auto filtered_args = FilterNones(args); + if (filtered_args.size() == 1) { + // If only a single type is left, dont construct a UNION + return FromObject(filtered_args[0]); + } + return FromUnionTypeInternal(filtered_args); }; static LogicalType FromGenericAlias(const py::object &obj) { diff --git a/tools/pythonpkg/src/typing/typing.cpp b/tools/pythonpkg/src/typing/typing.cpp index 8c6afc802887..0c1793ed703e 100644 --- a/tools/pythonpkg/src/typing/typing.cpp +++ b/tools/pythonpkg/src/typing/typing.cpp @@ -15,6 +15,7 @@ static void DefineBaseTypes(py::handle &m) { m.attr("BIGINT") = make_shared(LogicalType::BIGINT); m.attr("UBIGINT") = make_shared(LogicalType::UBIGINT); m.attr("HUGEINT") = make_shared(LogicalType::HUGEINT); + m.attr("UHUGEINT") = make_shared(LogicalType::UHUGEINT); m.attr("UUID") = make_shared(LogicalType::UUID); m.attr("FLOAT") = make_shared(LogicalType::FLOAT); m.attr("DOUBLE") = make_shared(LogicalType::DOUBLE); diff --git a/tools/pythonpkg/tests/conftest.py b/tools/pythonpkg/tests/conftest.py index 0e67a7d17929..fb73295ca250 100644 --- a/tools/pythonpkg/tests/conftest.py +++ b/tools/pythonpkg/tests/conftest.py @@ -4,12 +4,18 @@ from os.path import abspath, join, dirname, normpath import glob import duckdb +import warnings +from importlib import import_module try: - import pandas - - pyarrow_dtype = pandas.ArrowDtype -except: + # need to ignore warnings that might be thrown deep inside pandas's import tree (from dateutil in this case) + warnings.simplefilter(action='ignore', category=DeprecationWarning) + pandas = import_module('pandas') + warnings.resetwarnings() + + pyarrow_dtype = getattr(pandas, 'ArrowDtype', None) +except ImportError: + pandas = None pyarrow_dtype = None # Check if pandas has arrow dtypes enabled @@ -17,10 +23,17 @@ from pandas.compat import pa_version_under7p0 pyarrow_dtypes_enabled = not pa_version_under7p0 -except: +except ImportError: pyarrow_dtypes_enabled = False +def import_pandas(): + if pandas: + return pandas + else: + pytest.skip("Couldn't import pandas") + + # https://docs.pytest.org/en/latest/example/simple.html#control-skipping-of-tests-according-to-command-line-option # https://stackoverflow.com/a/47700320 def pytest_addoption(parser): @@ -55,27 +68,51 @@ def duckdb_empty_cursor(request): return cursor +def getTimeSeriesData(nper=None, freq: "Frequency" = "B"): + from pandas import DatetimeIndex, bdate_range, Series + from datetime import datetime + from pandas._typing import Frequency + import numpy as np + import string + + _N = 30 + _K = 4 + + def getCols(k) -> str: + return string.ascii_uppercase[:k] + + def makeDateIndex(k: int = 10, freq: Frequency = "B", name=None, **kwargs) -> DatetimeIndex: + dt = datetime(2000, 1, 1) + dr = bdate_range(dt, periods=k, freq=freq, name=name) + return DatetimeIndex(dr, name=name, **kwargs) + + def makeTimeSeries(nper=None, freq: Frequency = "B", name=None) -> Series: + if nper is None: + nper = _N + return Series(np.random.randn(nper), index=makeDateIndex(nper, freq=freq), name=name) + + return {c: makeTimeSeries(nper, freq) for c in getCols(_K)} + + def pandas_2_or_higher(): from packaging.version import Version - import pandas as pd - return Version(pd.__version__) >= Version('2.0.0') + return Version(import_pandas().__version__) >= Version('2.0.0') def pandas_supports_arrow_backend(): try: - from pandas.compat import pa_version_under7p0 + from pandas.compat import pa_version_under11p0 - if pa_version_under7p0 == True: + if pa_version_under11p0 == True: return False - except: + except ImportError: return False return pandas_2_or_higher() def numpy_pandas_df(*args, **kwargs): - pandas = pytest.importorskip("pandas") - return pandas.DataFrame(*args, **kwargs) + return import_pandas().DataFrame(*args, **kwargs) def arrow_pandas_df(*args, **kwargs): @@ -87,21 +124,19 @@ class NumpyPandas: def __init__(self): self.backend = 'numpy_nullable' self.DataFrame = numpy_pandas_df - self.pandas = pytest.importorskip("pandas") + self.pandas = import_pandas() - def __getattr__(self, __name: str): - item = eval(f'self.pandas.{__name}') - return item + def __getattr__(self, name: str): + return getattr(self.pandas, name) def convert_arrow_to_numpy_backend(df): - pandas = pytest.importorskip("pandas") names = df.columns df_content = {} for name in names: df_content[name] = df[name].array.__arrow_array__() # This should convert the pyarrow chunked arrays into numpy arrays - return pandas.DataFrame(df_content) + return import_pandas().DataFrame(df_content) def convert_to_numpy(df): @@ -117,17 +152,16 @@ def convert_to_numpy(df): def convert_and_equal(df1, df2, **kwargs): df1 = convert_to_numpy(df1) df2 = convert_to_numpy(df2) - pytest.importorskip("pandas").testing.assert_frame_equal(df1, df2, **kwargs) + import_pandas().testing.assert_frame_equal(df1, df2, **kwargs) class ArrowMockTesting: def __init__(self): - self.testing = pytest.importorskip("pandas").testing + self.testing = import_pandas().testing self.assert_frame_equal = convert_and_equal - def __getattr__(self, __name: str): - item = eval(f'self.testing.{__name}') - return item + def __getattr__(self, name: str): + return getattr(self.testing, name) # This converts dataframes constructed with 'DataFrame(...)' to pyarrow backed dataframes @@ -135,7 +169,7 @@ def __getattr__(self, __name: str): # this is done because we don't produce pyarrow backed dataframes yet class ArrowPandas: def __init__(self): - self.pandas = pytest.importorskip("pandas") + self.pandas = import_pandas() if pandas_2_or_higher() and pyarrow_dtypes_enabled: self.backend = 'pyarrow' self.DataFrame = arrow_pandas_df @@ -145,9 +179,8 @@ def __init__(self): self.DataFrame = self.pandas.DataFrame self.testing = ArrowMockTesting() - def __getattr__(self, __name: str): - item = eval(f'self.pandas.{__name}') - return item + def __getattr__(self, name: str): + return getattr(self.pandas, name) @pytest.fixture(scope="function") diff --git a/tools/pythonpkg/tests/extensions/test_extensions_loading.py b/tools/pythonpkg/tests/extensions/test_extensions_loading.py index c4b64262e437..a2f937d00430 100644 --- a/tools/pythonpkg/tests/extensions/test_extensions_loading.py +++ b/tools/pythonpkg/tests/extensions/test_extensions_loading.py @@ -2,6 +2,7 @@ import duckdb from pytest import raises +import pytest def test_extension_loading(require): @@ -17,9 +18,11 @@ def test_install_non_existent_extension(): conn = duckdb.connect() conn.execute("set custom_extension_repository = 'http://example.com'") - with raises(duckdb.HTTPException) as exc: + with raises(duckdb.IOException) as exc: conn.install_extension('non-existent') + if not isinstance(exc, duckdb.HTTPException): + pytest.skip(reason='This test does not throw an HTTPException, only an IOException') value = exc.value assert value.status_code == 404 diff --git a/tools/pythonpkg/tests/extensions/test_httpfs.py b/tools/pythonpkg/tests/extensions/test_httpfs.py index 6874daf5d56a..2ca4bb8847dd 100644 --- a/tools/pythonpkg/tests/extensions/test_httpfs.py +++ b/tools/pythonpkg/tests/extensions/test_httpfs.py @@ -43,7 +43,6 @@ def test_httpfs(self, require, pandas): ) pandas.testing.assert_frame_equal(result_df, exp_result) - @pytest.mark.skip(reason="To be fixed up given how we will be throwing IOException without payload") def test_http_exception(self, require): connection = require('httpfs') diff --git a/tools/pythonpkg/tests/fast/test_adbc.py b/tools/pythonpkg/tests/fast/adbc/test_adbc.py similarity index 97% rename from tools/pythonpkg/tests/fast/test_adbc.py rename to tools/pythonpkg/tests/fast/adbc/test_adbc.py index a70c07c6ec83..506049239c49 100644 --- a/tools/pythonpkg/tests/fast/test_adbc.py +++ b/tools/pythonpkg/tests/fast/adbc/test_adbc.py @@ -16,8 +16,6 @@ @pytest.fixture def duck_conn(): - if sys.platform.startswith("win"): - pytest.xfail("not supported on Windows") with adbc_driver_manager.connect(driver=driver_path, entrypoint="duckdb_adbc_init") as conn: yield conn @@ -62,8 +60,6 @@ def test_connection_get_objects(duck_conn): def test_commit(tmp_path): - if sys.platform.startswith("win"): - pytest.xfail("not supported on Windows") db = os.path.join(tmp_path, "tmp.db") if os.path.exists(db): os.remove(db) @@ -186,7 +182,7 @@ def test_insertion(duck_conn): def test_read(duck_conn): with duck_conn.cursor() as cursor: - filename = os.path.join(os.path.dirname(os.path.realpath(__file__)), "data", "category.csv") + filename = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..", "data", "category.csv") cursor.execute(f"SELECT * FROM '{filename}'") assert cursor.fetch_arrow_table().to_pydict() == { "CATEGORY_ID": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], diff --git a/tools/pythonpkg/tests/fast/adbc/test_connection_get_info.py b/tools/pythonpkg/tests/fast/adbc/test_connection_get_info.py index 84c4c75b4822..e50e9060642c 100644 --- a/tools/pythonpkg/tests/fast/adbc/test_connection_get_info.py +++ b/tools/pythonpkg/tests/fast/adbc/test_connection_get_info.py @@ -4,13 +4,14 @@ import pytest pa = pytest.importorskip("pyarrow") +adbc_driver_manager = pytest.importorskip("adbc_driver_manager") try: adbc_driver_duckdb = pytest.importorskip("adbc_driver_duckdb.dbapi") con = adbc_driver_duckdb.connect() -except: +except adbc_driver_manager.InternalError as e: pytest.skip( - "'duckdb_adbc_init' was not exported in this install, try running 'python3 setup.py install'.", + f"'duckdb_adbc_init' was not exported in this install, try running 'python3 setup.py install': {e}", allow_module_level=True, ) diff --git a/tools/pythonpkg/tests/fast/adbc/test_statement_bind.py b/tools/pythonpkg/tests/fast/adbc/test_statement_bind.py index 1bc12bc44cfa..b7c27ad6b5db 100644 --- a/tools/pythonpkg/tests/fast/adbc/test_statement_bind.py +++ b/tools/pythonpkg/tests/fast/adbc/test_statement_bind.py @@ -5,14 +5,8 @@ pa = pytest.importorskip("pyarrow") adbc_driver_manager = pytest.importorskip("adbc_driver_manager") -try: - adbc_driver_duckdb = pytest.importorskip("adbc_driver_duckdb.dbapi") - con = adbc_driver_duckdb.connect() -except: - pytest.skip( - "'duckdb_adbc_init' was not exported in this install, try running 'python3 setup.py install'.", - allow_module_level=True, - ) +adbc_driver_duckdb = pytest.importorskip("adbc_driver_duckdb.dbapi") +con = adbc_driver_duckdb.connect() def _import(handle): @@ -166,7 +160,10 @@ def test_too_many_parameters(self): data._export_to_c(array.address, schema.address) statement.bind(array, schema) - with pytest.raises(adbc_driver_manager.ProgrammingError, match="INVALID_ARGUMENT"): + with pytest.raises( + adbc_driver_manager.ProgrammingError, + match="Input data has more column than prepared statement has parameters", + ): res, _ = statement.execute_query() def test_not_enough_parameters(self): diff --git a/tools/pythonpkg/tests/fast/api/test_attribute_getter.py b/tools/pythonpkg/tests/fast/api/test_attribute_getter.py index 3ad1e027d66e..795e26e9c834 100644 --- a/tools/pythonpkg/tests/fast/api/test_attribute_getter.py +++ b/tools/pythonpkg/tests/fast/api/test_attribute_getter.py @@ -10,50 +10,50 @@ class TestGetAttribute(object): - def test_basic_getattr(self): - rel = duckdb.sql('select i as a, (i + 5) % 10 as b, (i + 2) % 3 as c from range(100) tbl(i)') + def test_basic_getattr(self, duckdb_cursor): + rel = duckdb_cursor.sql('select i as a, (i + 5) % 10 as b, (i + 2) % 3 as c from range(100) tbl(i)') assert rel.a.fetchmany(5) == [(0,), (1,), (2,), (3,), (4,)] assert rel.b.fetchmany(5) == [(5,), (6,), (7,), (8,), (9,)] assert rel.c.fetchmany(5) == [(2,), (0,), (1,), (2,), (0,)] - def test_basic_getitem(self): - rel = duckdb.sql('select i as a, (i + 5) % 10 as b, (i + 2) % 3 as c from range(100) tbl(i)') + def test_basic_getitem(self, duckdb_cursor): + rel = duckdb_cursor.sql('select i as a, (i + 5) % 10 as b, (i + 2) % 3 as c from range(100) tbl(i)') assert rel['a'].fetchmany(5) == [(0,), (1,), (2,), (3,), (4,)] assert rel['b'].fetchmany(5) == [(5,), (6,), (7,), (8,), (9,)] assert rel['c'].fetchmany(5) == [(2,), (0,), (1,), (2,), (0,)] - def test_getitem_nonexistant(self): - rel = duckdb.sql('select i as a, (i + 5) % 10 as b, (i + 2) % 3 as c from range(100) tbl(i)') + def test_getitem_nonexistant(self, duckdb_cursor): + rel = duckdb_cursor.sql('select i as a, (i + 5) % 10 as b, (i + 2) % 3 as c from range(100) tbl(i)') with pytest.raises(AttributeError): rel['d'] - def test_getattr_nonexistant(self): - rel = duckdb.sql('select i as a, (i + 5) % 10 as b, (i + 2) % 3 as c from range(100) tbl(i)') + def test_getattr_nonexistant(self, duckdb_cursor): + rel = duckdb_cursor.sql('select i as a, (i + 5) % 10 as b, (i + 2) % 3 as c from range(100) tbl(i)') with pytest.raises(AttributeError): rel.d - def test_getattr_collision(self): - rel = duckdb.sql('select i as df from range(100) tbl(i)') + def test_getattr_collision(self, duckdb_cursor): + rel = duckdb_cursor.sql('select i as df from range(100) tbl(i)') # 'df' also exists as a method on DuckDBPyRelation assert rel.df.__class__ != duckdb.DuckDBPyRelation - def test_getitem_collision(self): - rel = duckdb.sql('select i as df from range(100) tbl(i)') + def test_getitem_collision(self, duckdb_cursor): + rel = duckdb_cursor.sql('select i as df from range(100) tbl(i)') # this case is not an issue on __getitem__ assert rel['df'].__class__ == duckdb.DuckDBPyRelation - def test_getitem_struct(self): - rel = duckdb.sql("select {'a':5, 'b':6} as a, 5 as b") + def test_getitem_struct(self, duckdb_cursor): + rel = duckdb_cursor.sql("select {'a':5, 'b':6} as a, 5 as b") assert rel['a']['a'].fetchall()[0][0] == 5 assert rel['a']['b'].fetchall()[0][0] == 6 - def test_getattr_struct(self): - rel = duckdb.sql("select {'a':5, 'b':6} as a, 5 as b") + def test_getattr_struct(self, duckdb_cursor): + rel = duckdb_cursor.sql("select {'a':5, 'b':6} as a, 5 as b") assert rel.a.a.fetchall()[0][0] == 5 assert rel.a.b.fetchall()[0][0] == 6 - def test_getattr_spaces(self): - rel = duckdb.sql('select 42 as "hello world"') + def test_getattr_spaces(self, duckdb_cursor): + rel = duckdb_cursor.sql('select 42 as "hello world"') assert rel['hello world'].fetchall()[0][0] == 42 diff --git a/tools/pythonpkg/tests/fast/api/test_config.py b/tools/pythonpkg/tests/fast/api/test_config.py index 103b2af4ce61..ed0c9f549b7f 100644 --- a/tools/pythonpkg/tests/fast/api/test_config.py +++ b/tools/pythonpkg/tests/fast/api/test_config.py @@ -74,3 +74,8 @@ def test_user_agent_custom(self, duckdb_cursor): assert regex.match(con_regular.sql("PRAGMA user_agent").fetchone()[0]) is not None custom_user_agent = con_regular.sql("SELECT current_setting('custom_user_agent')").fetchone() assert custom_user_agent[0] == 'CUSTOM_STRING' + + def test_secret_manager_option(self, duckdb_cursor): + con = duckdb.connect(':memory:', config={'allow_persistent_secrets': False}) + result = con.execute('select count(*) from duckdb_secrets()').fetchall() + assert result == [(0,)] diff --git a/tools/pythonpkg/tests/fast/api/test_dbapi10.py b/tools/pythonpkg/tests/fast/api/test_dbapi10.py index 4e4c44360075..aec4b24a1f5d 100644 --- a/tools/pythonpkg/tests/fast/api/test_dbapi10.py +++ b/tools/pythonpkg/tests/fast/api/test_dbapi10.py @@ -14,7 +14,7 @@ class TestCursorDescription(object): ["SELECT {'x': 1, 'y': 2, 'z': 3} AS struct_col", "struct_col", "dict", dict], ["SELECT [1, 2, 3] AS list_col", "list_col", "list", list], ["SELECT 'Frank' AS str_col", "str_col", "STRING", str], - ["SELECT [1, 2, 3]::JSON AS json_col", "json_col", "STRING", str], + ["SELECT [1, 2, 3]::JSON AS json_col", "json_col", "JSON", str], ["SELECT union_value(tag := 1) AS union_col", "union_col", "UNION(tag INTEGER)", int], ], ) diff --git a/tools/pythonpkg/tests/fast/api/test_dbapi12.py b/tools/pythonpkg/tests/fast/api/test_dbapi12.py index 62bfa73e56bf..1685bb41aeba 100644 --- a/tools/pythonpkg/tests/fast/api/test_dbapi12.py +++ b/tools/pythonpkg/tests/fast/api/test_dbapi12.py @@ -60,7 +60,7 @@ def test_rel(rel, duckdb_cursor): def test_fromquery(self, duckdb_cursor): assert duckdb.from_query('select 42').fetchone()[0] == 42 - assert duckdb.query('select 43').fetchone()[0] == 43 + assert duckdb_cursor.query('select 43').fetchone()[0] == 43 # assert duckdb_cursor.from_query('select 44').execute().fetchone()[0] == 44 # assert duckdb_cursor.from_query('select 45').execute().fetchone()[0] == 45 diff --git a/tools/pythonpkg/tests/fast/api/test_dbapi_fetch.py b/tools/pythonpkg/tests/fast/api/test_dbapi_fetch.py index e43cd0558e7d..639cd22a6850 100644 --- a/tools/pythonpkg/tests/fast/api/test_dbapi_fetch.py +++ b/tools/pythonpkg/tests/fast/api/test_dbapi_fetch.py @@ -37,7 +37,8 @@ def test_multiple_fetch_arrow(self, duckdb_cursor): arrow = pytest.importorskip("pyarrow") con = duckdb.connect() c = con.execute('SELECT 42::BIGINT AS a') - df = c.arrow().to_pandas() + table = c.arrow() + df = table.to_pandas() pd.testing.assert_frame_equal(df, pd.DataFrame.from_dict({'a': [42]})) assert c.arrow() is None assert c.arrow() is None @@ -52,19 +53,19 @@ def test_multiple_close(self, duckdb_cursor): c.fetchall() def test_multiple_fetch_all_relation(self, duckdb_cursor): - res = duckdb.query('SELECT 42') + res = duckdb_cursor.query('SELECT 42') assert res.fetchall() == [(42,)] assert res.fetchall() == [(42,)] assert res.fetchall() == [(42,)] def test_multiple_fetch_many_relation(self, duckdb_cursor): - res = duckdb.query('SELECT 42') + res = duckdb_cursor.query('SELECT 42') assert res.fetchmany(10000) == [(42,)] assert res.fetchmany(10000) == [] assert res.fetchmany(10000) == [] def test_fetch_one_relation(self, duckdb_cursor): - res = duckdb.query('SELECT * FROM range(3)') + res = duckdb_cursor.query('SELECT * FROM range(3)') assert res.fetchone() == (0,) assert res.fetchone() == (1,) assert res.fetchone() == (2,) diff --git a/tools/pythonpkg/tests/fast/api/test_duckdb_connection.py b/tools/pythonpkg/tests/fast/api/test_duckdb_connection.py index d297b6558a0e..ce5b38ec7c10 100644 --- a/tools/pythonpkg/tests/fast/api/test_duckdb_connection.py +++ b/tools/pythonpkg/tests/fast/api/test_duckdb_connection.py @@ -277,3 +277,16 @@ def test_wrap_coverage(self): for method in filtered_methods: # Assert that every method of DuckDBPyConnection is wrapped by the 'duckdb' module assert method in dir(duckdb) + + def test_set_pandas_analyze_sample_size(self): + con = duckdb.connect(":memory:named", config={"pandas_analyze_sample": 0}) + res = con.sql("select current_setting('pandas_analyze_sample')").fetchone() + assert res == (0,) + + # Find the cached config + con2 = duckdb.connect(":memory:named", config={"pandas_analyze_sample": 0}) + con2.execute(f"SET GLOBAL pandas_analyze_sample=2") + + # This change is reflected in 'con' because the instance was cached + res = con.sql("select current_setting('pandas_analyze_sample')").fetchone() + assert res == (2,) diff --git a/tools/pythonpkg/tests/fast/api/test_duckdb_query.py b/tools/pythonpkg/tests/fast/api/test_duckdb_query.py index b714f1a610d4..1ced34502903 100644 --- a/tools/pythonpkg/tests/fast/api/test_duckdb_query.py +++ b/tools/pythonpkg/tests/fast/api/test_duckdb_query.py @@ -6,18 +6,18 @@ class TestDuckDBQuery(object): def test_duckdb_query(self, duckdb_cursor): - # we can use duckdb.query to run both DDL statements and select statements - duckdb.query('create view v1 as select 42 i') - rel = duckdb.query('select * from v1') + # we can use duckdb_cursor.sql to run both DDL statements and select statements + duckdb_cursor.sql('create view v1 as select 42 i') + rel = duckdb_cursor.sql('select * from v1') assert rel.fetchall()[0][0] == 42 # also multiple statements - duckdb.query('create view v2 as select i*2 j from v1; create view v3 as select j * 2 from v2;') - rel = duckdb.query('select * from v3') + duckdb_cursor.sql('create view v2 as select i*2 j from v1; create view v3 as select j * 2 from v2;') + rel = duckdb_cursor.sql('select * from v3') assert rel.fetchall()[0][0] == 168 # we can run multiple select statements - we get only the last result - res = duckdb.query('select 42; select 84;').fetchall() + res = duckdb_cursor.sql('select 42; select 84;').fetchall() assert res == [(84,)] @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) @@ -172,3 +172,18 @@ def test_conversion_from_tuple(self): # If we try to create anything other than a STRUCT or a LIST out of the tuple, we throw an error with pytest.raises(duckdb.InvalidInputException, match="Can't convert tuple to a Value of type VARCHAR"): result = con.execute("select $1", [Value((21, 42), str)]) + + def test_column_name_behavior(self, duckdb_cursor): + _ = pytest.importorskip("pandas") + + expected_names = ['one', 'ONE_1'] + + df = duckdb_cursor.execute('select 1 as one, 2 as "ONE"').fetchdf() + assert expected_names == list(df.columns) + + duckdb_cursor.register('tbl', df) + df = duckdb_cursor.execute("select * from tbl").fetchdf() + assert expected_names == list(df.columns) + + df = duckdb_cursor.execute('with t as (select 1 as one, 2 as "ONE") select * from t').fetchdf() + assert expected_names == list(df.columns) diff --git a/tools/pythonpkg/tests/fast/api/test_explain.py b/tools/pythonpkg/tests/fast/api/test_explain.py index 5fe73fd10d5a..a626c8965cc0 100644 --- a/tools/pythonpkg/tests/fast/api/test_explain.py +++ b/tools/pythonpkg/tests/fast/api/test_explain.py @@ -3,44 +3,44 @@ class TestExplain(object): - def test_explain_basic(self): - res = duckdb.sql('select 42').explain() + def test_explain_basic(self, duckdb_cursor): + res = duckdb_cursor.sql('select 42').explain() assert isinstance(res, str) - def test_explain_standard(self): - res = duckdb.sql('select 42').explain('standard') + def test_explain_standard(self, duckdb_cursor): + res = duckdb_cursor.sql('select 42').explain('standard') assert isinstance(res, str) - res = duckdb.sql('select 42').explain('STANDARD') + res = duckdb_cursor.sql('select 42').explain('STANDARD') assert isinstance(res, str) - res = duckdb.sql('select 42').explain(duckdb.STANDARD) + res = duckdb_cursor.sql('select 42').explain(duckdb.STANDARD) assert isinstance(res, str) - res = duckdb.sql('select 42').explain(duckdb.ExplainType.STANDARD) + res = duckdb_cursor.sql('select 42').explain(duckdb.ExplainType.STANDARD) assert isinstance(res, str) - res = duckdb.sql('select 42').explain(0) + res = duckdb_cursor.sql('select 42').explain(0) assert isinstance(res, str) - def test_explain_analyze(self): - res = duckdb.sql('select 42').explain('analyze') + def test_explain_analyze(self, duckdb_cursor): + res = duckdb_cursor.sql('select 42').explain('analyze') assert isinstance(res, str) - res = duckdb.sql('select 42').explain('ANALYZE') + res = duckdb_cursor.sql('select 42').explain('ANALYZE') assert isinstance(res, str) - res = duckdb.sql('select 42').explain(duckdb.ANALYZE) + res = duckdb_cursor.sql('select 42').explain(duckdb.ANALYZE) assert isinstance(res, str) - res = duckdb.sql('select 42').explain(duckdb.ExplainType.ANALYZE) + res = duckdb_cursor.sql('select 42').explain(duckdb.ExplainType.ANALYZE) assert isinstance(res, str) - res = duckdb.sql('select 42').explain(1) + res = duckdb_cursor.sql('select 42').explain(1) assert isinstance(res, str) - def test_explain_df(self): + def test_explain_df(self, duckdb_cursor): pd = pytest.importorskip("pandas") df = pd.DataFrame({'a': [42]}) - res = duckdb.sql('select * from df').explain('ANALYZE') + res = duckdb_cursor.sql('select * from df').explain('ANALYZE') assert isinstance(res, str) diff --git a/tools/pythonpkg/tests/fast/api/test_native_tz.py b/tools/pythonpkg/tests/fast/api/test_native_tz.py index 5235660afbe2..3973f3e84e05 100644 --- a/tools/pythonpkg/tests/fast/api/test_native_tz.py +++ b/tools/pythonpkg/tests/fast/api/test_native_tz.py @@ -2,71 +2,70 @@ import datetime import pytz import os -import pandas as pd import pytest +pd = pytest.importorskip("pandas") +pa = pytest.importorskip("pyarrow") +from packaging.version import Version + filename = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..', 'data', 'tz.parquet') class TestNativeTimeZone(object): - def test_native_python_timestamp_timezone(self): - con = duckdb.connect('') - con.execute("SET timezone='America/Los_Angeles';") - res = con.execute(f"select TimeRecStart as tz from '{filename}'").fetchone() + def test_native_python_timestamp_timezone(self, duckdb_cursor): + duckdb_cursor.execute("SET timezone='America/Los_Angeles';") + res = duckdb_cursor.execute(f"select TimeRecStart as tz from '{filename}'").fetchone() assert res[0].hour == 14 and res[0].minute == 52 assert res[0].tzinfo.zone == 'America/Los_Angeles' - res = con.execute(f"select TimeRecStart as tz from '{filename}'").fetchall()[0] + res = duckdb_cursor.execute(f"select TimeRecStart as tz from '{filename}'").fetchall()[0] assert res[0].hour == 14 and res[0].minute == 52 assert res[0].tzinfo.zone == 'America/Los_Angeles' - res = con.execute(f"select TimeRecStart as tz from '{filename}'").fetchmany(1)[0] + res = duckdb_cursor.execute(f"select TimeRecStart as tz from '{filename}'").fetchmany(1)[0] assert res[0].hour == 14 and res[0].minute == 52 assert res[0].tzinfo.zone == 'America/Los_Angeles' - con.execute("SET timezone='UTC';") - res = con.execute(f"select TimeRecStart as tz from '{filename}'").fetchone() + duckdb_cursor.execute("SET timezone='UTC';") + res = duckdb_cursor.execute(f"select TimeRecStart as tz from '{filename}'").fetchone() assert res[0].hour == 21 and res[0].minute == 52 assert res[0].tzinfo.zone == 'UTC' - def test_native_python_time_timezone(self): - con = duckdb.connect('') + def test_native_python_time_timezone(self, duckdb_cursor): with pytest.raises(duckdb.NotImplementedException, match="Not implemented Error: Unsupported type"): - con.execute(f"select TimeRecStart::TIMETZ as tz from '{filename}'").fetchone() + duckdb_cursor.execute(f"select TimeRecStart::TIMETZ as tz from '{filename}'").fetchone() - def test_pandas_timestamp_timezone(self): - con = duckdb.connect('') - res = con.execute("SET timezone='America/Los_Angeles';") - res = con.execute(f"select TimeRecStart as tz from '{filename}'").df() + def test_pandas_timestamp_timezone(self, duckdb_cursor): + res = duckdb_cursor.execute("SET timezone='America/Los_Angeles';") + res = duckdb_cursor.execute(f"select TimeRecStart as tz from '{filename}'").df() assert res.dtypes["tz"].tz.zone == 'America/Los_Angeles' assert res['tz'][0].hour == 14 and res['tz'][0].minute == 52 - con.execute("SET timezone='UTC';") - res = con.execute(f"select TimeRecStart as tz from '{filename}'").df() + duckdb_cursor.execute("SET timezone='UTC';") + res = duckdb_cursor.execute(f"select TimeRecStart as tz from '{filename}'").df() assert res['tz'][0].hour == 21 and res['tz'][0].minute == 52 - def test_pandas_timestamp_time(self): - con = duckdb.connect('') + def test_pandas_timestamp_time(self, duckdb_cursor): with pytest.raises( duckdb.NotImplementedException, match="Not implemented Error: Unsupported type \"TIME WITH TIME ZONE\"" ): - con.execute(f"select TimeRecStart::TIMETZ as tz from '{filename}'").df() + duckdb_cursor.execute(f"select TimeRecStart::TIMETZ as tz from '{filename}'").df() - def test_arrow_timestamp_timezone(self): - pa = pytest.importorskip('pyarrow') - con = duckdb.connect('') - res = con.execute("SET timezone='America/Los_Angeles';") - res = con.execute(f"select TimeRecStart as tz from '{filename}'").arrow().to_pandas() + @pytest.mark.skipif( + Version(pa.__version__) < Version('15.0.0'), reason="pyarrow 14.0.2 'to_pandas' causes a DeprecationWarning" + ) + def test_arrow_timestamp_timezone(self, duckdb_cursor): + res = duckdb_cursor.execute("SET timezone='America/Los_Angeles';") + table = duckdb_cursor.execute(f"select TimeRecStart as tz from '{filename}'").arrow() + res = table.to_pandas() assert res.dtypes["tz"].tz.zone == 'America/Los_Angeles' assert res['tz'][0].hour == 14 and res['tz'][0].minute == 52 - con.execute("SET timezone='UTC';") - res = con.execute(f"select TimeRecStart as tz from '{filename}'").arrow().to_pandas() + duckdb_cursor.execute("SET timezone='UTC';") + res = duckdb_cursor.execute(f"select TimeRecStart as tz from '{filename}'").arrow().to_pandas() assert res.dtypes["tz"].tz.zone == 'UTC' assert res['tz'][0].hour == 21 and res['tz'][0].minute == 52 - def test_arrow_timestamp_time(self): - pa = pytest.importorskip('pyarrow') - con = duckdb.connect('') + def test_arrow_timestamp_time(self, duckdb_cursor): with pytest.raises(duckdb.NotImplementedException, match="Unsupported Arrow type"): - con.execute(f"select TimeRecStart::TIMETZ as tz from '{filename}'").arrow() + duckdb_cursor.execute(f"select TimeRecStart::TIMETZ as tz from '{filename}'").arrow() diff --git a/tools/pythonpkg/tests/fast/api/test_read_csv.py b/tools/pythonpkg/tests/fast/api/test_read_csv.py index 949ec73219bd..0b54b55f356f 100644 --- a/tools/pythonpkg/tests/fast/api/test_read_csv.py +++ b/tools/pythonpkg/tests/fast/api/test_read_csv.py @@ -136,18 +136,6 @@ def test_encoding_correct(self, duckdb_cursor): print(res) assert res == (345, 'TEST6', 'text"2"text') - def test_parallel_true(self, duckdb_cursor): - rel = duckdb_cursor.read_csv(TestFile('category.csv'), parallel=True) - res = rel.fetchone() - print(res) - assert res == (1, 'Action', datetime.datetime(2006, 2, 15, 4, 46, 27)) - - def test_parallel_true(self, duckdb_cursor): - rel = duckdb_cursor.read_csv(TestFile('category.csv'), parallel=False) - res = rel.fetchone() - print(res) - assert res == (1, 'Action', datetime.datetime(2006, 2, 15, 4, 46, 27)) - def test_date_format_as_datetime(self, duckdb_cursor): rel = duckdb_cursor.read_csv(TestFile('datetime.csv')) res = rel.fetchone() @@ -173,10 +161,15 @@ def test_date_format_as_date(self, duckdb_cursor): ) def test_timestamp_format(self, duckdb_cursor): - rel = duckdb_cursor.read_csv(TestFile('datetime.csv'), timestamp_format='%m/%d/%Y') + rel = duckdb_cursor.read_csv(TestFile('datetime.csv'), timestamp_format='%Y-%m-%d %H:%M:%S') res = rel.fetchone() - print(res) - assert res == (123, 'TEST2', datetime.time(12, 12, 12), datetime.date(2000, 1, 1), '2000-01-01 12:12:00') + assert res == ( + 123, + 'TEST2', + datetime.time(12, 12, 12), + datetime.date(2000, 1, 1), + datetime.datetime(2000, 1, 1, 12, 12), + ) def test_sample_size_correct(self, duckdb_cursor): rel = duckdb_cursor.read_csv(TestFile('problematic.csv'), header=True, sample_size=-1) @@ -202,12 +195,7 @@ def test_null_padding(self, duckdb_cursor): rel = duckdb_cursor.read_csv(TestFile('nullpadding.csv'), null_padding=True) res = rel.fetchall() - assert res == [ - ('# this file has a bunch of gunk at the top', None, None, None), - ('one', 'two', 'three', 'four'), - ('1', 'a', 'alice', None), - ('2', 'b', 'bob', None), - ] + assert res == [('one', 'two', 'three', 'four'), ('1', 'a', 'alice', None), ('2', 'b', 'bob', None)] rel = duckdb.read_csv(TestFile('nullpadding.csv'), null_padding=False) res = rel.fetchall() @@ -220,12 +208,7 @@ def test_null_padding(self, duckdb_cursor): rel = duckdb.read_csv(TestFile('nullpadding.csv'), null_padding=True) res = rel.fetchall() - assert res == [ - ('# this file has a bunch of gunk at the top', None, None, None), - ('one', 'two', 'three', 'four'), - ('1', 'a', 'alice', None), - ('2', 'b', 'bob', None), - ] + assert res == [('one', 'two', 'three', 'four'), ('1', 'a', 'alice', None), ('2', 'b', 'bob', None)] rel = duckdb_cursor.from_csv_auto(TestFile('nullpadding.csv'), null_padding=False) res = rel.fetchall() @@ -239,25 +222,6 @@ def test_null_padding(self, duckdb_cursor): rel = duckdb_cursor.from_csv_auto(TestFile('nullpadding.csv'), null_padding=True) res = rel.fetchall() assert res == [ - ('# this file has a bunch of gunk at the top', None, None, None), - ('one', 'two', 'three', 'four'), - ('1', 'a', 'alice', None), - ('2', 'b', 'bob', None), - ] - - rel = duckdb.from_csv_auto(TestFile('nullpadding.csv'), null_padding=False) - res = rel.fetchall() - assert res == [ - ('# this file has a bunch of gunk at the top',), - ('one,two,three,four',), - ('1,a,alice',), - ('2,b,bob',), - ] - - rel = duckdb.from_csv_auto(TestFile('nullpadding.csv'), null_padding=True) - res = rel.fetchall() - assert res == [ - ('# this file has a bunch of gunk at the top', None, None, None), ('one', 'two', 'three', 'four'), ('1', 'a', 'alice', None), ('2', 'b', 'bob', None), @@ -459,7 +423,7 @@ def test_read_csv_glob(self, tmp_path, create_temp_csv): res = con.sql("select * from rel order by all").fetchall() assert res == [(1,), (2,), (3,), (4,), (5,), (6,)] - def test_read_csv_combined(self): + def test_read_csv_combined(self, duckdb_cursor): CSV_FILE = TestFile('stress_test.csv') COLUMNS = { 'result': 'VARCHAR', @@ -479,7 +443,7 @@ def test_read_csv_combined(self): ) res = rel.fetchall() - rel2 = duckdb.sql(rel.sql_query()) + rel2 = duckdb_cursor.sql(rel.sql_query()) res2 = rel2.fetchall() # Assert that the results are the same @@ -536,3 +500,43 @@ def test_read_csv_names_mixed_with_dtypes(self): 'f': str, }, ) + + def test_read_csv_multi_file(self): + con = duckdb.connect() + file1 = StringIO('one,two,three,four\n1,2,3,4\n1,2,3,4\n1,2,3,4') + file2 = StringIO('one,two,three,four\n5,6,7,8\n5,6,7,8\n5,6,7,8') + file3 = StringIO('one,two,three,four\n9,10,11,12\n9,10,11,12\n9,10,11,12') + files = [file1, file2, file3] + rel = con.read_csv(files) + res = rel.fetchall() + assert res == [ + (1, 2, 3, 4), + (1, 2, 3, 4), + (1, 2, 3, 4), + (5, 6, 7, 8), + (5, 6, 7, 8), + (5, 6, 7, 8), + (9, 10, 11, 12), + (9, 10, 11, 12), + (9, 10, 11, 12), + ] + + def test_read_csv_empty_list(self): + con = duckdb.connect() + files = [] + with pytest.raises( + duckdb.InvalidInputException, match='Please provide a non-empty list of paths or file-like objects' + ): + rel = con.read_csv(files) + res = rel.fetchall() + + def test_read_csv_list_invalid_path(self): + con = duckdb.connect() + files = [ + StringIO('one,two,three,four\n1,2,3,4\n1,2,3,4\n1,2,3,4'), + 'not_valid_path', + StringIO('one,two,three,four\n9,10,11,12\n9,10,11,12\n9,10,11,12'), + ] + with pytest.raises(duckdb.IOException, match='No files found that match the pattern "not_valid_path"'): + rel = con.read_csv(files) + res = rel.fetchall() diff --git a/tools/pythonpkg/tests/fast/api/test_relation_to_view.py b/tools/pythonpkg/tests/fast/api/test_relation_to_view.py new file mode 100644 index 000000000000..dbe09752c472 --- /dev/null +++ b/tools/pythonpkg/tests/fast/api/test_relation_to_view.py @@ -0,0 +1,44 @@ +import pytest +import duckdb + + +class TestRelationToView(object): + def test_values_to_view(self, duckdb_cursor): + rel = duckdb_cursor.values(['test', 'this is a long string']) + res = rel.fetchall() + assert res == [('test', 'this is a long string')] + + rel.to_view('vw1') + + view = duckdb_cursor.table('vw1') + res = view.fetchall() + assert res == [('test', 'this is a long string')] + + def test_relation_to_view(self, duckdb_cursor): + rel = duckdb_cursor.sql("select 'test', 'this is a long string'") + + res = rel.fetchall() + assert res == [('test', 'this is a long string')] + + rel.to_view('vw1') + + view = duckdb_cursor.table('vw1') + res = view.fetchall() + assert res == [('test', 'this is a long string')] + + def test_registered_relation(self, duckdb_cursor): + rel = duckdb_cursor.sql("select 'test', 'this is a long string'") + + con = duckdb.connect() + # Register on a different connection is not allowed + with pytest.raises( + duckdb.InvalidInputException, + match='The relation you are attempting to register was not made from this connection', + ): + con.register('cross_connection', rel) + + # Register on the same connection just creates a view + duckdb_cursor.register('same_connection', rel) + view = duckdb_cursor.table('same_connection') + res = view.fetchall() + assert res == [('test', 'this is a long string')] diff --git a/tools/pythonpkg/tests/fast/api/test_streaming_result.py b/tools/pythonpkg/tests/fast/api/test_streaming_result.py index 80c689a899a3..4e013e873ea7 100644 --- a/tools/pythonpkg/tests/fast/api/test_streaming_result.py +++ b/tools/pythonpkg/tests/fast/api/test_streaming_result.py @@ -3,9 +3,9 @@ class TestStreamingResult(object): - def test_fetch_one(self): + def test_fetch_one(self, duckdb_cursor): # fetch one - res = duckdb.sql('SELECT * FROM range(100000)') + res = duckdb_cursor.sql('SELECT * FROM range(100000)') result = [] while len(result) < 5000: tpl = res.fetchone() @@ -13,7 +13,7 @@ def test_fetch_one(self): assert result == list(range(5000)) # fetch one with error - res = duckdb.sql( + res = duckdb_cursor.sql( "SELECT CASE WHEN i < 10000 THEN i ELSE concat('hello', i::VARCHAR)::INT END FROM range(100000) t(i)" ) with pytest.raises(duckdb.ConversionException): @@ -22,9 +22,9 @@ def test_fetch_one(self): if tpl is None: break - def test_fetch_many(self): + def test_fetch_many(self, duckdb_cursor): # fetch many - res = duckdb.sql('SELECT * FROM range(100000)') + res = duckdb_cursor.sql('SELECT * FROM range(100000)') result = [] while len(result) < 5000: tpl = res.fetchmany(10) @@ -32,7 +32,7 @@ def test_fetch_many(self): assert result == list(range(5000)) # fetch many with error - res = duckdb.sql( + res = duckdb_cursor.sql( "SELECT CASE WHEN i < 10000 THEN i ELSE concat('hello', i::VARCHAR)::INT END FROM range(100000) t(i)" ) with pytest.raises(duckdb.ConversionException): @@ -41,11 +41,11 @@ def test_fetch_many(self): if tpl is None: break - def test_record_batch_reader(self): + def test_record_batch_reader(self, duckdb_cursor): pytest.importorskip("pyarrow") pytest.importorskip("pyarrow.dataset") # record batch reader - res = duckdb.sql('SELECT * FROM range(100000) t(i)') + res = duckdb_cursor.sql('SELECT * FROM range(100000) t(i)') reader = res.fetch_arrow_reader(batch_size=16_384) result = [] for batch in reader: @@ -53,7 +53,7 @@ def test_record_batch_reader(self): assert result == list(range(100000)) # record batch reader with error - res = duckdb.sql( + res = duckdb_cursor.sql( "SELECT CASE WHEN i < 10000 THEN i ELSE concat('hello', i::VARCHAR)::INT END FROM range(100000) t(i)" ) reader = res.fetch_arrow_reader(batch_size=16_384) @@ -61,3 +61,23 @@ def test_record_batch_reader(self): result = [] for batch in reader: result += batch.to_pydict()['i'] + + def test_9801(self, duckdb_cursor): + duckdb_cursor.execute('CREATE TABLE test(id INTEGER , name VARCHAR NOT NULL);') + + words = ['aaaaaaaaaaaaaaaaaaaaaaa', 'bbbb', 'ccccccccc', 'ííííííííí'] + lines = [(i, words[i % 4]) for i in range(1000)] + duckdb_cursor.executemany("INSERT INTO TEST (id, name) VALUES (?, ?)", lines) + + rel1 = duckdb_cursor.sql( + """ + SELECT id, name FROM test ORDER BY id ASC + """ + ) + result = rel1.fetchmany(size=5) + counter = 0 + while result != []: + for x in result: + assert x == (counter, words[counter % 4]) + counter += 1 + result = rel1.fetchmany(size=5) diff --git a/tools/pythonpkg/tests/fast/api/test_to_csv.py b/tools/pythonpkg/tests/fast/api/test_to_csv.py index 34fbe146c94b..7a65c4c187b5 100644 --- a/tools/pythonpkg/tests/fast/api/test_to_csv.py +++ b/tools/pythonpkg/tests/fast/api/test_to_csv.py @@ -5,7 +5,7 @@ import datetime import csv import pytest -from conftest import NumpyPandas, ArrowPandas +from conftest import NumpyPandas, ArrowPandas, getTimeSeriesData class TestToCSV(object): @@ -83,7 +83,7 @@ def test_to_csv_escapechar(self, pandas): @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) def test_to_csv_date_format(self, pandas): temp_file_name = os.path.join(tempfile.mkdtemp(), next(tempfile._get_candidate_names())) - df = pandas.DataFrame(tm.getTimeSeriesData()) + df = pandas.DataFrame(getTimeSeriesData()) dt_index = df.index df = pandas.DataFrame({"A": dt_index, "B": dt_index.shift(1)}, index=dt_index) rel = duckdb.from_df(df) diff --git a/tools/pythonpkg/tests/fast/arrow/test_7652.py b/tools/pythonpkg/tests/fast/arrow/test_7652.py index 60fce51a7b00..afe3b7387934 100644 --- a/tools/pythonpkg/tests/fast/arrow/test_7652.py +++ b/tools/pythonpkg/tests/fast/arrow/test_7652.py @@ -8,7 +8,7 @@ class Test7652(object): - def test_7652(self): + def test_7652(self, duckdb_cursor): temp_file_name = tempfile.NamedTemporaryFile(suffix='.parquet').name # Generate a list of values that aren't uniform in changes. generated_list = [1, 0, 2] @@ -36,7 +36,7 @@ def test_7652(self): # Attempt to perform the same thing with duckdb. print("Retrieving from duckdb") - duckdb_result = list(map(lambda v: v[0], duckdb.query(f"select * from '{temp_file_name}'").fetchall())) + duckdb_result = list(map(lambda v: v[0], duckdb_cursor.sql(f"select * from '{temp_file_name}'").fetchall())) print("DuckDB result:", duckdb_result) assert min(duckdb_result) == min(generated_list) diff --git a/tools/pythonpkg/tests/fast/arrow/test_7699.py b/tools/pythonpkg/tests/fast/arrow/test_7699.py index 36a7a47b336f..c8c234ef8c13 100644 --- a/tools/pythonpkg/tests/fast/arrow/test_7699.py +++ b/tools/pythonpkg/tests/fast/arrow/test_7699.py @@ -8,7 +8,7 @@ class Test7699(object): - def test_7699(self): + def test_7699(self, duckdb_cursor): pl_tbl = pl.DataFrame( { "col1": pl.Series([string.ascii_uppercase[ix + 10] for ix in list(range(2)) + list(range(3))]).cast( @@ -18,8 +18,8 @@ def test_7699(self): ) nickname = "df1234" - duckdb.register(nickname, pl_tbl) + duckdb_cursor.register(nickname, pl_tbl) - rel = duckdb.sql("select * from df1234") + rel = duckdb_cursor.sql("select * from df1234") res = rel.fetchall() assert res == [('K',), ('L',), ('K',), ('L',), ('M',)] diff --git a/tools/pythonpkg/tests/fast/arrow/test_8522.py b/tools/pythonpkg/tests/fast/arrow/test_8522.py index ef91b146e959..84aa125c5d03 100644 --- a/tools/pythonpkg/tests/fast/arrow/test_8522.py +++ b/tools/pythonpkg/tests/fast/arrow/test_8522.py @@ -10,7 +10,7 @@ # arrow supports timestamp_tz with different units than US, we only support US # so we have to convert ConstantValues back to their native unit when pushing the filter expression containing them down to pyarrow class Test8522(object): - def test_8522(self): + def test_8522(self, duckdb_cursor): t_us = pa.Table.from_arrays( arrays=[pa.array([dt.datetime(2022, 1, 1)])], schema=pa.schema([pa.field("time", pa.timestamp("us", tz="UTC"))]), @@ -21,8 +21,8 @@ def test_8522(self): schema=pa.schema([pa.field("time", pa.timestamp("ms", tz="UTC"))]), ) - expected = duckdb.sql("FROM t_us").filter("time>='2022-01-01'").fetchall() + expected = duckdb_cursor.sql("FROM t_us").filter("time>='2022-01-01'").fetchall() assert len(expected) == 1 - actual = duckdb.sql("FROM t_ms").filter("time>='2022-01-01'").fetchall() + actual = duckdb_cursor.sql("FROM t_ms").filter("time>='2022-01-01'").fetchall() assert actual == expected diff --git a/tools/pythonpkg/tests/fast/arrow/test_9443.py b/tools/pythonpkg/tests/fast/arrow/test_9443.py new file mode 100644 index 000000000000..206c07b8bc9b --- /dev/null +++ b/tools/pythonpkg/tests/fast/arrow/test_9443.py @@ -0,0 +1,28 @@ +import duckdb +import pytest + +pq = pytest.importorskip("pyarrow.parquet") +pa = pytest.importorskip("pyarrow") + +from datetime import time +from pathlib import PurePosixPath + + +class Test9443(object): + def test_9443(self, tmp_path, duckdb_cursor): + arrow_table = pa.Table.from_pylist( + [ + {"col1": time(1, 2, 3)}, + ] + ) # col1: time64[us] + + print(arrow_table) + + temp_file = str(PurePosixPath(tmp_path.as_posix()) / "test9443.parquet") + pq.write_table(arrow_table, temp_file) + + sql = f'SELECT * FROM "{temp_file}"' + + duckdb_cursor.execute(sql) + with pytest.raises(Exception, match='Unsupported Arrow type TIME WITH TIME ZONE'): + duckdb_cursor.fetch_record_batch() diff --git a/tools/pythonpkg/tests/fast/arrow/test_arrow_fetch_recordbatch.py b/tools/pythonpkg/tests/fast/arrow/test_arrow_fetch_recordbatch.py index 55e5120e6e9e..24d7c2c79b7a 100644 --- a/tools/pythonpkg/tests/fast/arrow/test_arrow_fetch_recordbatch.py +++ b/tools/pythonpkg/tests/fast/arrow/test_arrow_fetch_recordbatch.py @@ -249,9 +249,10 @@ def test_record_coverage(self, duckdb_cursor): def test_record_batch_query_error(self): duckdb_cursor = duckdb.connect() duckdb_cursor.execute("CREATE table t as select 'foo' as a;") - query = duckdb_cursor.execute("SELECT cast(a as double) FROM t") - record_batch_reader = query.fetch_record_batch(1024) - with pytest.raises(OSError, match='Conversion Error'): + with pytest.raises(duckdb.ConversionException, match='Conversion Error'): + # 'execute' materializes the result, causing the error directly + query = duckdb_cursor.execute("SELECT cast(a as double) FROM t") + record_batch_reader = query.fetch_record_batch(1024) record_batch_reader.read_next_batch() def test_many_list_batches(self): diff --git a/tools/pythonpkg/tests/fast/arrow/test_arrow_offsets.py b/tools/pythonpkg/tests/fast/arrow/test_arrow_offsets.py new file mode 100644 index 000000000000..e83c8c3794a1 --- /dev/null +++ b/tools/pythonpkg/tests/fast/arrow/test_arrow_offsets.py @@ -0,0 +1,673 @@ +import duckdb +import pytest +from pytest import mark +import datetime +import decimal +import pytz + +pa = pytest.importorskip("pyarrow") + +# This causes Arrow to output an array at the very end with an offset +# the parent struct will have an offset that needs to be used when scanning the child array +MAGIC_ARRAY_SIZE = 2**17 + 1 + + +def pa_time32(): + return pa.time32 + + +def pa_time64(): + return pa.time64 + + +def pa_date32(): + return pa.date32 + + +def pa_date64(): + return pa.date64 + + +def pa_timestamp(): + return pa.timestamp + + +def pa_duration(): + return pa.duration + + +def pa_month_day_nano_interval(): + return pa.month_day_nano_interval + + +def month_interval(months): + return (months, 0, 0) + + +def day_interval(days): + return (0, days, 0) + + +def nano_interval(nanos): + return (0, 0, nanos) + + +def increment_or_null(val: str, increment): + if not val: + return val + return str(int(val) + increment) + + +def decimal_value(value, precision, scale): + val = str(value) + actual_width = precision - scale + if len(val) > actual_width: + return decimal.Decimal('9' * actual_width) + return decimal.Decimal(val) + + +def expected_result(col1_null, col2_null, expected): + col1 = None if col1_null else expected + if col1_null or col2_null: + col2 = None + else: + col2 = expected + return [(col1, col2)] + + +test_nulls = lambda: mark.parametrize( + ['col1_null', 'col2_null'], [(False, True), (True, False), (True, True), (False, False)] +) + + +class TestArrowOffsets(object): + @test_nulls() + def test_struct_of_strings(self, duckdb_cursor, col1_null, col2_null): + col1 = [str(i) for i in range(0, MAGIC_ARRAY_SIZE)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": i} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", pa.string()), ("col2", pa.struct({"a": pa.string()}))]), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + assert res == expected_result(col1_null, col2_null, '131072') + + @test_nulls() + def test_struct_of_bools(self, duckdb_cursor, col1_null, col2_null): + tuples = [False for i in range(0, MAGIC_ARRAY_SIZE)] + tuples[-1] = True + + col1 = tuples + if col1_null: + col1[-1] = None + col2 = [{"a": i} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", pa.bool_()), ("col2", pa.struct({"a": pa.bool_()}))]), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + assert res == expected_result(col1_null, col2_null, True) + + @pytest.mark.parametrize( + ["constructor", "expected"], + [ + (pa_date32(), datetime.date(2328, 11, 12)), + (pa_date64(), datetime.date(1970, 1, 1)), + ], + ) + @test_nulls() + def test_struct_of_dates(self, duckdb_cursor, constructor, expected, col1_null, col2_null): + tuples = [i for i in range(0, MAGIC_ARRAY_SIZE)] + + col1 = tuples + if col1_null: + col1[-1] = None + col2 = [{"a": i} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", constructor()), ("col2", pa.struct({"a": constructor()}))]), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + assert res == expected_result(col1_null, col2_null, expected) + + @test_nulls() + def test_struct_of_enum(self, duckdb_cursor, col1_null, col2_null): + enum_type = pa.dictionary(pa.int64(), pa.utf8()) + + tuples = ['red' for i in range(MAGIC_ARRAY_SIZE)] + tuples[-1] = 'green' + if col1_null: + tuples[-1] = None + + struct_tuples = [{"a": x} for x in tuples] + if col2_null: + struct_tuples[-1] = None + + arrow_table = pa.Table.from_pydict( + {'col1': pa.array(tuples, enum_type), 'col2': pa.array(struct_tuples, pa.struct({"a": enum_type}))}, + schema=pa.schema([("col1", enum_type), ("col2", pa.struct({"a": enum_type}))]), + ) + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + assert res == expected_result(col1_null, col2_null, 'green') + + @test_nulls() + def test_struct_of_blobs(self, duckdb_cursor, col1_null, col2_null): + col1 = [str(i) for i in range(0, MAGIC_ARRAY_SIZE)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": i} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", pa.binary()), ("col2", pa.struct({"a": pa.binary()}))]), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + assert res == expected_result(col1_null, col2_null, b'131072') + + @test_nulls() + @pytest.mark.parametrize( + ["constructor", "unit", "expected"], + [ + (pa_time32(), 'ms', datetime.time(0, 2, 11, 72000)), + (pa_time32(), 's', datetime.time(23, 59, 59)), + (pa_time64(), 'ns', datetime.time(0, 0, 0, 131)), + (pa_time64(), 'us', datetime.time(0, 0, 0, 131072)), + ], + ) + def test_struct_of_time(self, duckdb_cursor, constructor, unit, expected, col1_null, col2_null): + size = MAGIC_ARRAY_SIZE + if unit == 's': + # FIXME: We limit the size because we don't support time values > 24 hours + size = 86400 # The amount of seconds in a day + + col1 = [i for i in range(0, size)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": i} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", constructor(unit)), ("col2", pa.struct({"a": constructor(unit)}))]), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {size-1} + """ + ).fetchall() + assert res == expected_result(col1_null, col2_null, expected) + + @test_nulls() + # NOTE: there is sadly no way to create a 'interval[months]' (tiM) type from pyarrow + @pytest.mark.parametrize( + ["constructor", "expected", "converter"], + [ + (pa_month_day_nano_interval(), datetime.timedelta(days=3932160), month_interval), + (pa_month_day_nano_interval(), datetime.timedelta(days=131072), day_interval), + (pa_month_day_nano_interval(), datetime.timedelta(microseconds=131), nano_interval), + ], + ) + def test_struct_of_interval(self, duckdb_cursor, constructor, expected, converter, col1_null, col2_null): + size = MAGIC_ARRAY_SIZE + + col1 = [converter(i) for i in range(0, size)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": i} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", constructor()), ("col2", pa.struct({"a": constructor()}))]), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {size-1} + """ + ).fetchall() + assert res == expected_result(col1_null, col2_null, expected) + + @test_nulls() + @pytest.mark.parametrize( + ["constructor", "unit", "expected"], + [ + (pa_duration(), 'ms', datetime.timedelta(seconds=131, microseconds=72000)), + (pa_duration(), 's', datetime.timedelta(days=1, seconds=44672)), + (pa_duration(), 'ns', datetime.timedelta(microseconds=131)), + (pa_duration(), 'us', datetime.timedelta(microseconds=131072)), + ], + ) + def test_struct_of_duration(self, duckdb_cursor, constructor, unit, expected, col1_null, col2_null): + size = MAGIC_ARRAY_SIZE + + col1 = [i for i in range(0, size)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": i} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", constructor(unit)), ("col2", pa.struct({"a": constructor(unit)}))]), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {size-1} + """ + ).fetchall() + assert res == expected_result(col1_null, col2_null, expected) + + @test_nulls() + @pytest.mark.parametrize( + ["constructor", "unit", "expected"], + [ + (pa_timestamp(), 'ms', datetime.datetime(1970, 1, 1, 0, 2, 11, 72000, tzinfo=pytz.utc)), + (pa_timestamp(), 's', datetime.datetime(1970, 1, 2, 12, 24, 32, 0, tzinfo=pytz.utc)), + (pa_timestamp(), 'ns', datetime.datetime(1970, 1, 1, 0, 0, 0, 131, tzinfo=pytz.utc)), + (pa_timestamp(), 'us', datetime.datetime(1970, 1, 1, 0, 0, 0, 131072, tzinfo=pytz.utc)), + ], + ) + def test_struct_of_timestamp_tz(self, duckdb_cursor, constructor, unit, expected, col1_null, col2_null): + size = MAGIC_ARRAY_SIZE + + duckdb_cursor.execute("set timezone='UTC'") + col1 = [i for i in range(0, size)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": i} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema( + [("col1", constructor(unit, 'UTC')), ("col2", pa.struct({"a": constructor(unit, 'UTC')}))] + ), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {size-1} + """ + ).fetchall() + assert res == expected_result(col1_null, col2_null, expected) + + @test_nulls() + def test_struct_of_large_blobs(self, duckdb_cursor, col1_null, col2_null): + col1 = [str(i) for i in range(0, MAGIC_ARRAY_SIZE)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": i} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", pa.large_binary()), ("col2", pa.struct({"a": pa.large_binary()}))]), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + assert res == expected_result(col1_null, col2_null, b'131072') + + @test_nulls() + @pytest.mark.parametrize( + ["precision_scale", "expected"], + [ + ((38, 37), decimal.Decimal('9.0000000000000000000000000000000000000')), + ((38, 24), decimal.Decimal('131072.000000000000000000000000')), + ((18, 14), decimal.Decimal('9999.00000000000000')), + ((18, 5), decimal.Decimal('131072.00000')), + ((9, 7), decimal.Decimal('99.0000000')), + ((9, 3), decimal.Decimal('131072.000')), + ((4, 2), decimal.Decimal('99.00')), + ((4, 0), decimal.Decimal('9999')), + ], + ) + def test_struct_of_decimal(self, duckdb_cursor, precision_scale, expected, col1_null, col2_null): + precision, scale = precision_scale + col1 = [decimal_value(i, precision, scale) for i in range(0, MAGIC_ARRAY_SIZE)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": i} for i in col1] + if col2_null: + col2[-1] = None + + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema( + [("col1", pa.decimal128(precision, scale)), ("col2", pa.struct({"a": pa.decimal128(precision, scale)}))] + ), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + assert res == expected_result(col1_null, col2_null, expected) + + @test_nulls() + def test_struct_of_small_list(self, duckdb_cursor, col1_null, col2_null): + col1 = [str(i) for i in range(0, MAGIC_ARRAY_SIZE)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": [i, i, i]} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", pa.string()), ("col2", pa.struct({"a": pa.list_(pa.string())}))]), + ) + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + res1 = None if col1_null else '131072' + if col2_null: + res2 = None + elif col1_null: + res2 = [None, None, None] + else: + res2 = ['131072', '131072', '131072'] + assert res == [(res1, res2)] + + @test_nulls() + def test_struct_of_fixed_size_list(self, duckdb_cursor, col1_null, col2_null): + col1 = [str(i) for i in range(0, MAGIC_ARRAY_SIZE)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": [i, i, i]} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", pa.string()), ("col2", pa.struct({"a": pa.list_(pa.string(), 3)}))]), + ) + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + res1 = None if col1_null else '131072' + if col2_null: + res2 = None + elif col1_null: + res2 = [None, None, None] + else: + res2 = ['131072', '131072', '131072'] + assert res == [(res1, res2)] + + @test_nulls() + def test_struct_of_fixed_size_blob(self, duckdb_cursor, col1_null, col2_null): + col1 = [str(i) for i in range(0, MAGIC_ARRAY_SIZE)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": [i, increment_or_null(i, 1), increment_or_null(i, 2)]} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", pa.binary()), ("col2", pa.struct({"a": pa.list_(pa.binary(), 3)}))]), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + res1 = None if col1_null else b'131072' + if col2_null: + res2 = None + elif col1_null: + res2 = [None, None, None] + else: + res2 = [b'131072', b'131073', b'131074'] + assert res == [(res1, res2)] + + @test_nulls() + def test_struct_of_list_of_blobs(self, duckdb_cursor, col1_null, col2_null): + col1 = [str(i) for i in range(0, MAGIC_ARRAY_SIZE)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": [i, increment_or_null(i, 1), increment_or_null(i, 2)]} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + schema=pa.schema([("col1", pa.binary()), ("col2", pa.struct({"a": pa.list_(pa.binary())}))]), + ) + + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + res1 = None if col1_null else b'131072' + if col2_null: + res2 = None + elif col1_null: + res2 = [None, None, None] + else: + res2 = [b'131072', b'131073', b'131074'] + assert res == [(res1, res2)] + + @test_nulls() + def test_struct_of_list_of_list(self, duckdb_cursor, col1_null, col2_null): + col1 = [i for i in range(0, MAGIC_ARRAY_SIZE)] + if col1_null: + col1[-1] = None + # "a" in the struct matches the value for col1 + col2 = [{"a": [[i, i, i], [], None, [i]]} for i in col1] + if col2_null: + col2[-1] = None + arrow_table = pa.Table.from_pydict( + {"col1": col1, "col2": col2}, + # thanks formatter + schema=pa.schema([("col1", pa.int32()), ("col2", pa.struct({"a": pa.list_(pa.list_(pa.int32()))}))]), + ) + res = duckdb_cursor.sql( + f""" + SELECT + col1, + col2.a + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + res1 = None if col1_null else 131072 + if col2_null: + res2 = None + elif col1_null: + res2 = [[None, None, None], [], None, [None]] + else: + res2 = [[131072, 131072, 131072], [], None, [131072]] + assert res == [(res1, res2)] + + @pytest.mark.parametrize('col1_null', [True, False]) + def test_list_of_struct(self, duckdb_cursor, col1_null): + # One single tuple containing a very big list + tuples = [{"a": i} for i in range(0, MAGIC_ARRAY_SIZE)] + if col1_null: + tuples[-1] = None + tuples = [tuples] + arrow_table = pa.Table.from_pydict( + {"col1": tuples}, + schema=pa.schema([("col1", pa.list_(pa.struct({"a": pa.int32()})))]), + ) + res = duckdb_cursor.sql( + f""" + SELECT + col1 + FROM arrow_table + """ + ).fetchall() + res = res[0][0] + for i, x in enumerate(res[:-1]): + assert x.__class__ == dict + assert x['a'] == i + if col1_null: + assert res[-1] == None + else: + assert res[-1]['a'] == len(res) - 1 + + @pytest.mark.parametrize(['outer_null', 'inner_null'], [(True, False), (False, True)]) + def test_list_of_list_of_struct(self, duckdb_cursor, outer_null, inner_null): + tuples = [[[{"a": str(i), "b": None, "c": [i]}]] for i in range(MAGIC_ARRAY_SIZE)] + if outer_null: + tuples[-1] = None + else: + inner = [[{"a": 'aaaaaaaaaaaaaaa', "b": 'test', "c": [1, 2, 3]}] for _ in range(MAGIC_ARRAY_SIZE)] + if inner_null: + inner[-1] = None + tuples[-1] = inner + + # MAGIC_ARRAY_SIZE tuples, all containing a single child list + # except the last tuple, the child list of which is also MAGIC_ARRAY_SIZE in length + arrow_table = pa.Table.from_pydict( + {"col1": tuples}, + schema=pa.schema( + [ + ( + "col1", + pa.list_( + pa.list_(pa.struct([("a", pa.string()), ("b", pa.string()), ("c", pa.list_(pa.int32()))])) + ), + ) + ] + ), + ) + res = duckdb_cursor.sql( + f""" + SELECT + col1 + FROM arrow_table OFFSET {MAGIC_ARRAY_SIZE-1} + """ + ).fetchall() + if outer_null: + assert res == [(None,)] + else: + if inner_null: + assert res[-1][-1][-1] == None + else: + assert res[-1][-1][-1] == 131072 + + @pytest.mark.parametrize('col1_null', [True, False]) + def test_struct_of_list(self, duckdb_cursor, col1_null): + # All elements are of size 1 + tuples = [{"a": [str(i)]} for i in range(MAGIC_ARRAY_SIZE)] + if col1_null: + tuples[-1] = None + else: + tuples[-1] = {"a": [str(x) for x in range(MAGIC_ARRAY_SIZE)]} + + # Except the very last element, which is big + + arrow_table = pa.Table.from_pydict( + {"col1": tuples}, schema=pa.schema([("col1", pa.struct({"a": pa.list_(pa.string())}))]) + ) + res = duckdb_cursor.sql( + f""" + SELECT + col1 + FROM arrow_table offset {MAGIC_ARRAY_SIZE-1} + """ + ).fetchone() + if col1_null: + assert res[0] == None + else: + assert res[0]['a'][-1] == '131072' diff --git a/tools/pythonpkg/tests/fast/arrow/test_arrow_run_end_encoding.py b/tools/pythonpkg/tests/fast/arrow/test_arrow_run_end_encoding.py new file mode 100644 index 000000000000..99be6ea2eea2 --- /dev/null +++ b/tools/pythonpkg/tests/fast/arrow/test_arrow_run_end_encoding.py @@ -0,0 +1,456 @@ +import duckdb +import pytest +import pandas as pd +import duckdb + +pa = pytest.importorskip("pyarrow", '14.0.0', reason="Needs pyarrow >= 14") +pc = pytest.importorskip("pyarrow.compute") + + +class TestArrowREE(object): + @pytest.mark.parametrize( + 'query', + [ + """ + select + CASE WHEN (i % 2 == 0) THEN NULL ELSE (i // {})::{} END as ree + from range({}) t(i); + """, + """ + select + (i // {})::{} as ree + from range({}) t(i); + """, + ], + ) + @pytest.mark.parametrize('run_length', [4, 1, 10, 1000, 2048, 3000]) + @pytest.mark.parametrize('size', [100, 10000]) + @pytest.mark.parametrize( + 'value_type', + ['UTINYINT', 'USMALLINT', 'UINTEGER', 'UBIGINT', 'TINYINT', 'SMALLINT', 'INTEGER', 'BIGINT', 'HUGEINT'], + ) + def test_arrow_run_end_encoding_numerics(self, duckdb_cursor, query, run_length, size, value_type): + if value_type == 'UTINYINT': + if size > 255: + size = 255 + if value_type == 'TINYINT': + if size > 127: + size = 127 + query = query.format(run_length, value_type, size) + rel = duckdb_cursor.sql(query) + array = rel.arrow()['ree'] + expected = rel.fetchall() + + encoded_array = pc.run_end_encode(array) + + schema = pa.schema([("ree", encoded_array.type)]) + tbl = pa.Table.from_arrays([encoded_array], schema=schema) + res = duckdb_cursor.sql("select * from tbl").fetchall() + assert res == expected + + @pytest.mark.parametrize( + ['dbtype', 'val1', 'val2'], + [ + ('TINYINT', '(-128)', '127'), + ('SMALLINT', '(-32768)', '32767'), + ('INTEGER', '(-2147483648)', '2147483647'), + ('BIGINT', '(-9223372036854775808)', '9223372036854775807'), + ('UTINYINT', '0', '255'), + ('USMALLINT', '0', '65535'), + ('UINTEGER', '0', '4294967295'), + ('UBIGINT', '0', '18446744073709551615'), + ('BOOL', 'true', 'false'), + ('VARCHAR', "'test'", "'this is a long string'"), + ('BLOB', "'\\xE0\\x9F\\x98\\x84'", "'\\xF0\\x9F\\xA6\\x86'"), + ('DATE', "'1992-03-27'", "'2204-11-01'"), + ('TIME', "'01:02:03'", "'23:41:35'"), + ('TIMESTAMP_S', "'1992-03-22 01:02:03'", "'2022-11-07 08:43:04.123456'"), + ('TIMESTAMP', "'1992-03-22 01:02:03'", "'2022-11-07 08:43:04.123456'"), + ('TIMESTAMP_MS', "'1992-03-22 01:02:03'", "'2022-11-07 08:43:04.123456'"), + ('TIMESTAMP_NS', "'1992-03-22 01:02:03'", "'2022-11-07 08:43:04.123456'"), + ('DECIMAL(4,2)', "'12.23'", "'99.99'"), + ('DECIMAL(7,6)', "'1.234234'", "'0.000001'"), + ('DECIMAL(14,7)', "'134523.234234'", "'999999.000001'"), + ('DECIMAL(28,1)', "'12345678910111234123456789.1'", "'999999999999999999999999999.9'"), + ('UUID', "'10acd298-15d7-417c-8b59-eabb5a2bacab'", "'eeccb8c5-9943-b2bb-bb5e-222f4e14b687'"), + ('BIT', "'01010101010000'", "'01010100010101010101010101111111111'"), + ], + ) + @pytest.mark.parametrize( + "filter", + [ + # "ree::VARCHAR == '5'", + "true" + ], + ) + def test_arrow_run_end_encoding(self, duckdb_cursor, dbtype, val1, val2, filter): + if dbtype in ['BIT', 'UUID']: + pytest.skip("BIT and UUID are currently broken (FIXME)") + projection = "a, b, ree" + query = """ + create table ree_tbl as select + case when ((i // 8) % 2 == 0) + then ( + case when ((i // 4) % 2 == 0) + then {}::{} + else {}::{} + end + ) else + NULL + end as ree, + i as a, + i // 5 as b + from range({}) t(i); + """ + # Create the table + query = query.format(val1, dbtype, val2, dbtype, 10000) + duckdb_cursor.execute(query) + + rel = duckdb_cursor.query("select * from ree_tbl") + expected = duckdb_cursor.query("select {} from ree_tbl where {}".format(projection, filter)).fetchall() + + # Create an Arrow Table from the table + arrow_conversion = rel.arrow() + arrays = { + 'ree': arrow_conversion['ree'], + 'a': arrow_conversion['a'], + 'b': arrow_conversion['b'], + } + + encoded_arrays = { + 'ree': pc.run_end_encode(arrays['ree']), + 'a': pc.run_end_encode(arrays['a']), + 'b': pc.run_end_encode(arrays['b']), + } + + schema = pa.schema( + [ + ("ree", encoded_arrays['ree'].type), + ("a", encoded_arrays['a'].type), + ("b", encoded_arrays['b'].type), + ] + ) + tbl = pa.Table.from_arrays([encoded_arrays['ree'], encoded_arrays['a'], encoded_arrays['b']], schema=schema) + + # Scan the Arrow Table and verify that the results are the same + res = duckdb_cursor.sql("select {} from tbl where {}".format(projection, filter)).fetchall() + assert res == expected + + def test_arrow_ree_empty_table(self, duckdb_cursor): + duckdb_cursor.query("create table tbl (ree integer)") + rel = duckdb_cursor.table('tbl') + array = rel.arrow()['ree'] + expected = rel.fetchall() + + encoded_array = pc.run_end_encode(array) + + schema = pa.schema([("ree", encoded_array.type)]) + pa_res = pa.Table.from_arrays([encoded_array], schema=schema) + res = duckdb_cursor.sql("select * from pa_res").fetchall() + assert res == expected + + @pytest.mark.parametrize('projection', ['*', 'a, c, b', 'ree, a, b, c', 'c, b, a, ree', 'c', 'b, ree, c, a']) + def test_arrow_ree_projections(self, duckdb_cursor, projection): + # Create the schema + duckdb_cursor.query( + """ + create table tbl ( + ree integer, + a int, + b bool, + c varchar + ) + """ + ) + + # Populate the table with data + duckdb_cursor.query( + """ + insert into tbl select + i // 4, + i, + i % 2 == 0, + i::VARCHAR + from range(100000) t(i) + """ + ) + + # Fetch the result as an Arrow Table + result = duckdb_cursor.table('tbl').arrow() + + # Turn 'ree' into a run-end-encoded array and reconstruct a table from it + arrays = { + 'ree': pc.run_end_encode(result['ree']), + 'a': result['a'], + 'b': result['b'], + 'c': result['c'], + } + + schema = pa.schema( + [ + ("ree", arrays['ree'].type), + ("a", arrays['a'].type), + ("b", arrays['b'].type), + ("c", arrays['c'].type), + ] + ) + arrow_tbl = pa.Table.from_arrays([arrays['ree'], arrays['a'], arrays['b'], arrays['c']], schema=schema) + + # Verify that the array is run end encoded + ar_type = arrow_tbl['ree'].type + assert pa.types.is_run_end_encoded(ar_type) == True + + # Scan the arrow table, making projections that don't cover the entire table + # This should be pushed down into arrow to only provide us with the necessary columns + + res = duckdb_cursor.query( + """ + select {} from arrow_tbl + """.format( + projection + ) + ).arrow() + + # Verify correctness by fetching from the original table and the constructed result + expected = duckdb_cursor.query("select {} from tbl".format(projection)).fetchall() + actual = duckdb_cursor.query("select {} from res".format(projection)).fetchall() + assert expected == actual + + def test_arrow_ree_list(self, duckdb_cursor): + size = 1000 + duckdb_cursor.query( + """ + create table tbl + as select + i // 4 as ree, + FROM range({}) t(i) + """.format( + size + ) + ) + + # Populate the table with data + unstructured = duckdb_cursor.query( + """ + select * from tbl + """ + ).arrow() + + columns = unstructured.columns + # Run-encode the first column ('ree') + columns[0] = pc.run_end_encode(columns[0]) + + # Create a (chunked) ListArray from the chunked arrays (columns) of the ArrowTable + structured_chunks = [] + for chunk in columns[0].iterchunks(): + ree = chunk + chunk_length = len(ree) + offsets = [] + offset = 0 + while chunk_length > 10: + offsets.append(offset) + offset += 10 + chunk_length -= 10 + + new_array = pa.ListArray.from_arrays(offsets, values=ree) + structured_chunks.append(new_array) + + structured = pa.chunked_array(structured_chunks) + + arrow_tbl = pa.Table.from_arrays([structured], names=['ree']) + result = duckdb_cursor.query("select * from arrow_tbl").arrow() + assert arrow_tbl.to_pylist() == result.to_pylist() + + def test_arrow_ree_struct(self, duckdb_cursor): + duckdb_cursor.query( + """ + create table tbl + as select + i // 4 as ree, + i as a, + i % 2 == 0 as b, + i::VARCHAR as c + FROM range(1000) t(i) + """ + ) + + # Populate the table with data + unstructured = duckdb_cursor.query( + """ + select * from tbl + """ + ).arrow() + + columns = unstructured.columns + # Run-encode the first column ('ree') + columns[0] = pc.run_end_encode(columns[0]) + + # Create a (chunked) StructArray from the chunked arrays (columns) of the ArrowTable + names = unstructured.column_names + iterables = [x.iterchunks() for x in columns] + zipped = zip(*iterables) + + structured_chunks = [pa.StructArray.from_arrays([y for y in x], names=names) for x in zipped] + structured = pa.chunked_array(structured_chunks) + + arrow_tbl = pa.Table.from_arrays([structured], names=['ree']) + result = duckdb_cursor.query("select * from arrow_tbl").arrow() + + expected = duckdb_cursor.query("select {'ree': ree, 'a': a, 'b': b, 'c': c} as s from tbl").fetchall() + actual = duckdb_cursor.query("select * from result").fetchall() + + assert expected == actual + + def test_arrow_ree_union(self, duckdb_cursor): + size = 1000 + + duckdb_cursor.query( + """ + create table tbl + as select + i // 4 as ree, + i as a, + i % 2 == 0 as b, + i::VARCHAR as c + FROM range({}) t(i) + """.format( + size + ) + ) + + # Populate the table with data + unstructured = duckdb_cursor.query( + """ + select * from tbl + """ + ).arrow() + + columns = unstructured.columns + # Run-encode the first column ('ree') + columns[0] = pc.run_end_encode(columns[0]) + + # Create a (chunked) UnionArray from the chunked arrays (columns) of the ArrowTable + names = unstructured.column_names + iterables = [x.iterchunks() for x in columns] + zipped = zip(*iterables) + + structured_chunks = [] + for chunk in zipped: + ree, a, b, c = chunk + chunk_length = len(ree) + new_array = pa.UnionArray.from_sparse( + pa.array([i % len(names) for i in range(chunk_length)], type=pa.int8()), [ree, a, b, c] + ) + structured_chunks.append(new_array) + + structured = pa.chunked_array(structured_chunks) + arrow_tbl = pa.Table.from_arrays([structured], names=['ree']) + result = duckdb_cursor.query("select * from arrow_tbl").arrow() + + # Recreate the same result set + expected = [] + for i in range(size): + if i % 4 == 0: + expected.append((i // 4,)) + elif i % 4 == 1: + expected.append((i,)) + elif i % 4 == 2: + expected.append((i % 2 == 0,)) + elif i % 4 == 3: + expected.append((str(i),)) + actual = duckdb_cursor.query("select * from result").fetchall() + assert expected == actual + + def test_arrow_ree_map(self, duckdb_cursor): + size = 1000 + + duckdb_cursor.query( + """ + create table tbl + as select + i // 4 as ree, + i as a, + FROM range({}) t(i) + """.format( + size + ) + ) + + # Populate the table with data + unstructured = duckdb_cursor.query( + """ + select * from tbl + """ + ).arrow() + + columns = unstructured.columns + # Run-encode the first column ('ree') + columns[0] = pc.run_end_encode(columns[0]) + + # Create a (chunked) MapArray from the chunked arrays (columns) of the ArrowTable + names = unstructured.column_names + iterables = [x.iterchunks() for x in columns] + zipped = zip(*iterables) + + structured_chunks = [] + for chunk in zipped: + ree, a = chunk + chunk_length = len(ree) + offsets = [] + offset = 0 + while chunk_length > 10: + offsets.append(offset) + offset += 10 + chunk_length -= 10 + + new_array = pa.MapArray.from_arrays(offsets, a, ree) + structured_chunks.append(new_array) + + structured = pa.chunked_array(structured_chunks) + arrow_tbl = pa.Table.from_arrays([structured], names=['ree']) + result = duckdb_cursor.query("select * from arrow_tbl").arrow() + + # Verify that the resulting scan is the same as the input + assert result.to_pylist() == arrow_tbl.to_pylist() + + def test_arrow_ree_dictionary(self, duckdb_cursor): + size = 1000 + + duckdb_cursor.query( + """ + create table tbl + as select + i // 4 as ree, + FROM range({}) t(i) + """.format( + size + ) + ) + + # Populate the table with data + unstructured = duckdb_cursor.query( + """ + select * from tbl + """ + ).arrow() + + columns = unstructured.columns + # Run-encode the first column ('ree') + columns[0] = pc.run_end_encode(columns[0]) + + # Create a (chunked) MapArray from the chunked arrays (columns) of the ArrowTable + structured_chunks = [] + for chunk in columns[0].iterchunks(): + ree = chunk + chunk_length = len(ree) + offsets = [i for i in reversed(range(chunk_length))] + + new_array = pa.DictionaryArray.from_arrays(indices=offsets, dictionary=ree) + structured_chunks.append(new_array) + + structured = pa.chunked_array(structured_chunks) + arrow_tbl = pa.Table.from_arrays([structured], names=['ree']) + result = duckdb_cursor.query("select * from arrow_tbl").arrow() + + # Verify that the resulting scan is the same as the input + assert result.to_pylist() == arrow_tbl.to_pylist() diff --git a/tools/pythonpkg/tests/fast/arrow/test_arrow_union.py b/tools/pythonpkg/tests/fast/arrow/test_arrow_union.py index eb6d195af4b5..2e317803f1ad 100644 --- a/tools/pythonpkg/tests/fast/arrow/test_arrow_union.py +++ b/tools/pythonpkg/tests/fast/arrow/test_arrow_union.py @@ -6,21 +6,21 @@ from pyarrow import scalar, string, large_string, list_, int32, types -def test_nested(): - res = run('select 42::UNION(name VARCHAR, attr UNION(age INT, veteran BOOL)) as res') +def test_nested(duckdb_cursor): + res = run(duckdb_cursor, 'select 42::UNION(name VARCHAR, attr UNION(age INT, veteran BOOL)) as res') assert types.is_union(res.type) assert res.value.value == scalar(42, type=int32()) -def test_union_contains_nested_data(): +def test_union_contains_nested_data(duckdb_cursor): _ = importorskip("pyarrow", minversion="11") - res = run("select ['hello']::UNION(first_name VARCHAR, middle_names VARCHAR[]) as res") + res = run(duckdb_cursor, "select ['hello']::UNION(first_name VARCHAR, middle_names VARCHAR[]) as res") assert types.is_union(res.type) assert res.value == scalar(['hello'], type=list_(string())) -def test_unions_inside_lists_structs_maps(): - res = run("select [union_value(name := 'Frank')] as res") +def test_unions_inside_lists_structs_maps(duckdb_cursor): + res = run(duckdb_cursor, "select [union_value(name := 'Frank')] as res") assert types.is_list(res.type) assert types.is_union(res.type.value_type) assert res[0].value == scalar('Frank', type=string()) @@ -47,5 +47,5 @@ def test_unions_with_struct(duckdb_cursor): assert res == [({'a': 42, 'b': True},)] -def run(query): - return duckdb.sql(query).arrow().columns[0][0] +def run(conn, query): + return conn.sql(query).arrow().columns[0][0] diff --git a/tools/pythonpkg/tests/fast/arrow/test_filter_pushdown.py b/tools/pythonpkg/tests/fast/arrow/test_filter_pushdown.py index 74630f4a74cf..cb61d4a4af16 100644 --- a/tools/pythonpkg/tests/fast/arrow/test_filter_pushdown.py +++ b/tools/pythonpkg/tests/fast/arrow/test_filter_pushdown.py @@ -4,6 +4,8 @@ import pytest import tempfile from conftest import pandas_supports_arrow_backend +import sys +from packaging.version import Version pa = pytest.importorskip("pyarrow") pq = pytest.importorskip("pyarrow.parquet") @@ -504,6 +506,9 @@ def test_filter_pushdown_integers(self, duckdb_cursor, data_type, value, create_ actual = duckdb_cursor.execute("select * from arrow_table where i = ?", (value,)).fetchall() assert expected == actual + @pytest.mark.skipif( + Version(pa.__version__) < Version('15.0.0'), reason="pyarrow 14.0.2 'to_pandas' causes a DeprecationWarning" + ) def test_9371(self, duckdb_cursor, tmp_path): import datetime import pathlib @@ -709,3 +714,156 @@ def test_filter_column_removal(self, duckdb_cursor, create_table): assert not match match = re.search("│ +b +│", query_res[0][1]) assert not match + + @pytest.mark.skipif(sys.version_info < (3, 9), reason="Requires python 3.9") + @pytest.mark.parametrize('create_table', [create_pyarrow_pandas, create_pyarrow_table]) + def test_struct_filter_pushdown(self, duckdb_cursor, create_table): + duckdb_cursor.execute( + """ + CREATE TABLE test_structs (s STRUCT(a integer, b bool)) + """ + ) + duckdb_cursor.execute( + """ + INSERT INTO test_structs VALUES + ({'a': 1, 'b': true}), + ({'a': 2, 'b': false}), + (NULL), + ({'a': 3, 'b': true}), + ({'a': NULL, 'b': NULL}); + """ + ) + + duck_tbl = duckdb_cursor.table("test_structs") + arrow_table = create_table(duck_tbl) + + # Ensure that the filter is pushed down + query_res = duckdb_cursor.execute( + """ + EXPLAIN SELECT * FROM arrow_table WHERE + s.a < 2 + """ + ).fetchall() + + input = query_res[0][1] + if 'PANDAS_SCAN' in input: + pytest.skip(reason="This version of pandas does not produce an Arrow object") + match = re.search(".*ARROW_SCAN.*Filters: s\\.a<2 AND s\\.a IS.*NOT NULL.*", input, flags=re.DOTALL) + assert match + + # Check that the filter is applied correctly + assert duckdb_cursor.execute("SELECT * FROM arrow_table WHERE s.a < 2").fetchone()[0] == {"a": 1, "b": True} + + query_res = duckdb_cursor.execute( + """ + EXPLAIN SELECT * FROM arrow_table WHERE s.a < 3 AND s.b = true + """ + ).fetchall() + + # the explain-output is pretty cramped, so just make sure we see both struct references. + match = re.search( + ".*ARROW_SCAN.*Filters: s\\.a<3 AND s\\.a IS.*NOT NULL AND s\\.b=true\\.\\.\\..*\\.b IS NOT NULL.*", + query_res[0][1], + flags=re.DOTALL, + ) + assert match + + # Check that the filter is applied correctly + assert duckdb_cursor.execute("SELECT COUNT(*) FROM arrow_table WHERE s.a < 3 AND s.b = true").fetchone()[0] == 1 + assert duckdb_cursor.execute("SELECT * FROM arrow_table WHERE s.a < 3 AND s.b = true").fetchone()[0] == { + "a": 1, + "b": True, + } + + # This should not produce a pushdown + query_res = duckdb_cursor.execute( + """ + EXPLAIN SELECT * FROM arrow_table WHERE + s.a IS NULL + """ + ).fetchall() + + match = re.search(".*ARROW_SCAN.*Filters: s\\.a IS NULL.*", query_res[0][1], flags=re.DOTALL) + assert not match + + @pytest.mark.skipif(sys.version_info < (3, 9), reason="Requires python 3.9") + @pytest.mark.parametrize('create_table', [create_pyarrow_pandas, create_pyarrow_table]) + def test_nested_struct_filter_pushdown(self, duckdb_cursor, create_table): + duckdb_cursor.execute( + """ + CREATE TABLE test_nested_structs(s STRUCT(a STRUCT(b integer, c bool), d STRUCT(e integer, f varchar))); + """ + ) + duckdb_cursor.execute( + """ + INSERT INTO test_nested_structs VALUES + ({'a': {'b': 1, 'c': false}, 'd': {'e': 2, 'f': 'foo'}}), + (NULL), + ({'a': {'b': 3, 'c': true}, 'd': {'e': 4, 'f': 'bar'}}), + ({'a': {'b': NULL, 'c': true}, 'd': {'e': 5, 'f': 'qux'}}), + ({'a': NULL, 'd': NULL}); + """ + ) + + duck_tbl = duckdb_cursor.table("test_nested_structs") + arrow_table = create_table(duck_tbl) + + # Ensure that the filter is pushed down + query_res = duckdb_cursor.execute( + """ + EXPLAIN SELECT * FROM arrow_table WHERE s.a.b < 2; + """ + ).fetchall() + + input = query_res[0][1] + if 'PANDAS_SCAN' in input: + pytest.skip(reason="This version of pandas does not produce an Arrow object") + match = re.search(".*ARROW_SCAN.*Filters: s\\.a\\.b<2 AND s\\.a\\.b.*IS NOT NULL.*", input, flags=re.DOTALL) + assert match + + # Check that the filter is applied correctly + assert duckdb_cursor.execute("SELECT * FROM arrow_table WHERE s.a.b < 2").fetchone()[0] == { + 'a': {'b': 1, 'c': False}, + 'd': {'e': 2, 'f': 'foo'}, + } + + query_res = duckdb_cursor.execute( + """ + EXPLAIN SELECT * FROM arrow_table WHERE s.a.c=true AND s.d.e=5 + """ + ).fetchall() + + # the explain-output is pretty cramped, so just make sure we see both struct references. + match = re.search( + ".*ARROW_SCAN.*Filters: s\\.a\\.c=true AND s\\.a.*\\.c IS NOT NULL.*AND s\\.d\\.e=5.*AND s\\.d\\.e.*IS NOT NULL.*", + query_res[0][1], + flags=re.DOTALL, + ) + assert match + + # Check that the filter is applied correctly + assert duckdb_cursor.execute("SELECT COUNT(*) FROM arrow_table WHERE s.a.c=true AND s.d.e=5").fetchone()[0] == 1 + assert duckdb_cursor.execute("SELECT * FROM arrow_table WHERE s.a.c=true AND s.d.e=5").fetchone()[0] == { + 'a': {'b': None, 'c': True}, + 'd': {'e': 5, 'f': 'qux'}, + } + + query_res = duckdb_cursor.execute( + """ + EXPLAIN SELECT * FROM arrow_table WHERE s.d.f = 'bar'; + """ + ) + + match = re.search( + ".*ARROW_SCAN.*Filters: s\\.d\\.f=bar AND s\\.d.*\\.f IS NOT NULL.*", + query_res.fetchone()[1], + flags=re.DOTALL, + ) + + assert match + + # Check that the filter is applied correctly + assert duckdb_cursor.execute("SELECT * FROM arrow_table WHERE s.d.f = 'bar'").fetchone()[0] == { + 'a': {'b': 3, 'c': True}, + 'd': {'e': 4, 'f': 'bar'}, + } diff --git a/tools/pythonpkg/tests/fast/arrow/test_integration.py b/tools/pythonpkg/tests/fast/arrow/test_integration.py index badff4ee899f..de4829697dc8 100644 --- a/tools/pythonpkg/tests/fast/arrow/test_integration.py +++ b/tools/pythonpkg/tests/fast/arrow/test_integration.py @@ -58,7 +58,7 @@ def test_unsigned_roundtrip(self, duckdb_cursor): con = duckdb.connect() con.execute( - "select NULL c_null, (c % 4 = 0)::bool c_bool, (c%128)::tinyint c_tinyint, c::smallint*1000 c_smallint, c::integer*100000 c_integer, c::bigint*1000000000000 c_bigint, c::float c_float, c::double c_double, 'c_' || c::string c_string from (select case when range % 2 == 0 then range else null end as c from range(-10000, 10000)) sq" + "select NULL c_null, (c % 4 = 0)::bool c_bool, (c%128)::tinyint c_tinyint, c::smallint*1000::INT c_smallint, c::integer*100000 c_integer, c::bigint*1000000000000 c_bigint, c::float c_float, c::double c_double, 'c_' || c::string c_string from (select case when range % 2 == 0 then range else null end as c from range(-10000, 10000)) sq" ) arrow_result = con.fetch_arrow_table() arrow_result.validate(full=True) @@ -193,7 +193,7 @@ def test_nested_interval_roundtrip(self, duckdb_cursor): assert duckdb_tbl_arrow[7].value == None # List - query = duckdb.query( + query = duckdb_cursor.sql( "SELECT a from (select list_value(INTERVAL 3 MONTHS, INTERVAL 5 DAYS, INTERVAL 10 SECONDS, NULL) as a) as t" ).arrow()['a'] assert query[0][0].value == pyarrow.MonthDayNano([3, 0, 0]) @@ -203,8 +203,8 @@ def test_nested_interval_roundtrip(self, duckdb_cursor): # Struct query = "SELECT a from (SELECT STRUCT_PACK(a := INTERVAL 1 MONTHS, b := INTERVAL 10 DAYS, c:= INTERVAL 20 SECONDS) as a) as t" - true_answer = duckdb.query(query).fetchall() - from_arrow = duckdb.from_arrow(duckdb.query(query).arrow()).fetchall() + true_answer = duckdb_cursor.sql(query).fetchall() + from_arrow = duckdb.from_arrow(duckdb_cursor.sql(query).arrow()).fetchall() assert true_answer[0][0]['a'] == from_arrow[0][0]['a'] assert true_answer[0][0]['b'] == from_arrow[0][0]['b'] assert true_answer[0][0]['c'] == from_arrow[0][0]['c'] diff --git a/tools/pythonpkg/tests/fast/arrow/test_nested_arrow.py b/tools/pythonpkg/tests/fast/arrow/test_nested_arrow.py index 8a89e3dd0bd0..113e3cc32fc5 100644 --- a/tools/pythonpkg/tests/fast/arrow/test_nested_arrow.py +++ b/tools/pythonpkg/tests/fast/arrow/test_nested_arrow.py @@ -12,14 +12,14 @@ can_run = False -def compare_results(query): - true_answer = duckdb.query(query).fetchall() - from_arrow = duckdb.from_arrow(duckdb.query(query).arrow()).fetchall() +def compare_results(duckdb_cursor, query): + true_answer = duckdb_cursor.query(query).fetchall() + from_arrow = duckdb.from_arrow(duckdb_cursor.query(query).arrow()).fetchall() assert true_answer == from_arrow -def arrow_to_pandas(query): - return duckdb.query(query).arrow().to_pandas()['a'].values.tolist() +def arrow_to_pandas(duckdb_cursor, query): + return duckdb_cursor.query(query).arrow().to_pandas()['a'].values.tolist() class TestArrowNested(object): @@ -28,17 +28,17 @@ def test_lists_basic(self, duckdb_cursor): return # Test Constant List - query = duckdb.query("SELECT a from (select list_value(3,5,10) as a) as t").arrow()['a'].to_numpy() + query = duckdb_cursor.query("SELECT a from (select list_value(3,5,10) as a) as t").arrow()['a'].to_numpy() assert query[0][0] == 3 assert query[0][1] == 5 assert query[0][2] == 10 # Empty List - query = duckdb.query("SELECT a from (select list_value() as a) as t").arrow()['a'].to_numpy() + query = duckdb_cursor.query("SELECT a from (select list_value() as a) as t").arrow()['a'].to_numpy() assert len(query[0]) == 0 # Test Constant List With Null - query = duckdb.query("SELECT a from (select list_value(3,NULL) as a) as t").arrow()['a'].to_numpy() + query = duckdb_cursor.query("SELECT a from (select list_value(3,NULL) as a) as t").arrow()['a'].to_numpy() assert query[0][0] == 3 assert np.isnan(query[0][1]) @@ -90,66 +90,85 @@ def test_lists_roundtrip(self, duckdb_cursor): if not can_run: return # Integers - compare_results("SELECT a from (select list_value(3,5,10) as a) as t") - compare_results("SELECT a from (select list_value(3,5,NULL) as a) as t") - compare_results("SELECT a from (select list_value(NULL,NULL,NULL) as a) as t") - compare_results("SELECT a from (select list_value() as a) as t") + compare_results(duckdb_cursor, "SELECT a from (select list_value(3,5,10) as a) as t") + compare_results(duckdb_cursor, "SELECT a from (select list_value(3,5,NULL) as a) as t") + compare_results(duckdb_cursor, "SELECT a from (select list_value(NULL,NULL,NULL) as a) as t") + compare_results(duckdb_cursor, "SELECT a from (select list_value() as a) as t") # Strings - compare_results("SELECT a from (select list_value('test','test_one','test_two') as a) as t") - compare_results("SELECT a from (select list_value('test','test_one',NULL) as a) as t") + compare_results(duckdb_cursor, "SELECT a from (select list_value('test','test_one','test_two') as a) as t") + compare_results(duckdb_cursor, "SELECT a from (select list_value('test','test_one',NULL) as a) as t") # Big Lists - compare_results("SELECT a from (SELECT LIST(i) as a FROM range(10000) tbl(i)) as t") + compare_results(duckdb_cursor, "SELECT a from (SELECT LIST(i) as a FROM range(10000) tbl(i)) as t") # Multiple Lists - compare_results("SELECT a from (SELECT LIST(i) as a FROM range(10000) tbl(i) group by i%10 order by all) as t") + compare_results( + duckdb_cursor, + "SELECT a from (SELECT LIST(i) as a FROM range(10000) tbl(i) group by i%10 order by all) as t", + ) # Unique Constants - compare_results("SELECT a from (SELECT list_value(1) as a FROM range(10) tbl(i)) as t") + compare_results(duckdb_cursor, "SELECT a from (SELECT list_value(1) as a FROM range(10) tbl(i)) as t") # Nested Lists compare_results( - "SELECT LIST(le order by le) FROM (SELECT LIST(i order by i) le from range(100) tbl(i) group by i%10) as t" + duckdb_cursor, + "SELECT LIST(le order by le) FROM (SELECT LIST(i order by i) le from range(100) tbl(i) group by i%10) as t", ) # LIST[LIST[LIST[LIST[LIST[INTEGER]]]]]] compare_results( - "SELECT list (lllle order by lllle) llllle from (SELECT list (llle order by llle) lllle from (SELECT list(lle order by lle) llle from (SELECT LIST(le order by le) lle FROM (SELECT LIST(i order by i) le from range(100) tbl(i) group by i%10) as t) as t1) as t2) as t3" + duckdb_cursor, + "SELECT list (lllle order by lllle) llllle from (SELECT list (llle order by llle) lllle from (SELECT list(lle order by lle) llle from (SELECT LIST(le order by le) lle FROM (SELECT LIST(i order by i) le from range(100) tbl(i) group by i%10) as t) as t1) as t2) as t3", ) compare_results( + duckdb_cursor, '''SELECT grp,lst,cs FROM (select grp, lst, case when grp>1 then lst else list_value(null) end as cs - from (SELECT a%4 as grp, list(a order by a) as lst FROM range(7) tbl(a) group by grp) as lst_tbl) as T order by all;''' + from (SELECT a%4 as grp, list(a order by a) as lst FROM range(7) tbl(a) group by grp) as lst_tbl) as T order by all;''', ) # Tests for converting multiple lists to/from Arrow with NULL values and/or strings compare_results( - "SELECT list(st order by st) from (select i, case when i%10 then NULL else i::VARCHAR end as st from range(1000) tbl(i)) as t group by i%5 order by all" + duckdb_cursor, + "SELECT list(st order by st) from (select i, case when i%10 then NULL else i::VARCHAR end as st from range(1000) tbl(i)) as t group by i%5 order by all", ) def test_struct_roundtrip(self, duckdb_cursor): if not can_run: return - compare_results("SELECT a from (SELECT STRUCT_PACK(a := 42, b := 43) as a) as t") - compare_results("SELECT a from (SELECT STRUCT_PACK(a := NULL, b := 43) as a) as t") - compare_results("SELECT a from (SELECT STRUCT_PACK(a := NULL) as a) as t") - compare_results("SELECT a from (SELECT STRUCT_PACK(a := i, b := i) as a FROM range(10000) tbl(i)) as t") + compare_results(duckdb_cursor, "SELECT a from (SELECT STRUCT_PACK(a := 42, b := 43) as a) as t") + compare_results(duckdb_cursor, "SELECT a from (SELECT STRUCT_PACK(a := NULL, b := 43) as a) as t") + compare_results(duckdb_cursor, "SELECT a from (SELECT STRUCT_PACK(a := NULL) as a) as t") + compare_results( + duckdb_cursor, "SELECT a from (SELECT STRUCT_PACK(a := i, b := i) as a FROM range(10000) tbl(i)) as t" + ) compare_results( - "SELECT a from (SELECT STRUCT_PACK(a := LIST_VALUE(1,2,3), b := i) as a FROM range(10000) tbl(i)) as t" + duckdb_cursor, + "SELECT a from (SELECT STRUCT_PACK(a := LIST_VALUE(1,2,3), b := i) as a FROM range(10000) tbl(i)) as t", ) def test_map_roundtrip(self, duckdb_cursor): if not can_run: return - compare_results("SELECT a from (select MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7)) as a) as t") + compare_results( + duckdb_cursor, "SELECT a from (select MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7)) as a) as t" + ) - compare_results("SELECT a from (select MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7)) as a) as t") + compare_results( + duckdb_cursor, "SELECT a from (select MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7)) as a) as t" + ) - compare_results("SELECT a from (select MAP(LIST_VALUE(),LIST_VALUE()) as a) as t") + compare_results(duckdb_cursor, "SELECT a from (select MAP(LIST_VALUE(),LIST_VALUE()) as a) as t") + compare_results( + duckdb_cursor, + "SELECT a from (select MAP(LIST_VALUE('Jon Lajoie', 'Backstreet Boys', 'Tenacious D'),LIST_VALUE(10,9,10)) as a) as t", + ) compare_results( - "SELECT a from (select MAP(LIST_VALUE('Jon Lajoie', 'Backstreet Boys', 'Tenacious D'),LIST_VALUE(10,9,10)) as a) as t" + duckdb_cursor, + "SELECT a from (select MAP(LIST_VALUE('Jon Lajoie','Tenacious D'),LIST_VALUE(10,10)) as a) as t", ) compare_results( - "SELECT a from (select MAP(LIST_VALUE('Jon Lajoie','Tenacious D'),LIST_VALUE(10,10)) as a) as t" + duckdb_cursor, "SELECT m from (select MAP(list_value(1), list_value(2)) from range(5) tbl(i)) tbl(m)" ) - compare_results("SELECT m from (select MAP(list_value(1), list_value(2)) from range(5) tbl(i)) tbl(m)") compare_results( - "SELECT m from (select MAP(lsta,lstb) as m from (SELECT list(i) as lsta, list(i) as lstb from range(10000) tbl(i) group by i%5 order by all) as lst_tbl) as T" + duckdb_cursor, + "SELECT m from (select MAP(lsta,lstb) as m from (SELECT list(i) as lsta, list(i) as lstb from range(10000) tbl(i) group by i%5 order by all) as lst_tbl) as T", ) def test_map_arrow_to_duckdb(self, duckdb_cursor): @@ -168,51 +187,58 @@ def test_map_arrow_to_pandas(self, duckdb_cursor): if not can_run: return assert arrow_to_pandas( - "SELECT a from (select MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7)) as a) as t" + duckdb_cursor, "SELECT a from (select MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7)) as a) as t" ) == [[(1, 10), (2, 9), (3, 8), (4, 7)]] - assert arrow_to_pandas("SELECT a from (select MAP(LIST_VALUE(),LIST_VALUE()) as a) as t") == [[]] + assert arrow_to_pandas(duckdb_cursor, "SELECT a from (select MAP(LIST_VALUE(),LIST_VALUE()) as a) as t") == [[]] assert arrow_to_pandas( - "SELECT a from (select MAP(LIST_VALUE('Jon Lajoie', 'Backstreet Boys', 'Tenacious D'),LIST_VALUE(10,9,10)) as a) as t" + duckdb_cursor, + "SELECT a from (select MAP(LIST_VALUE('Jon Lajoie', 'Backstreet Boys', 'Tenacious D'),LIST_VALUE(10,9,10)) as a) as t", ) == [[('Jon Lajoie', 10), ('Backstreet Boys', 9), ('Tenacious D', 10)]] assert arrow_to_pandas( - "SELECT a from (select MAP(list_value(1), list_value(2)) from range(5) tbl(i)) tbl(a)" + duckdb_cursor, "SELECT a from (select MAP(list_value(1), list_value(2)) from range(5) tbl(i)) tbl(a)" ) == [[(1, 2)], [(1, 2)], [(1, 2)], [(1, 2)], [(1, 2)]] assert arrow_to_pandas( - "SELECT MAP(LIST_VALUE({'i':1,'j':2},{'i':3,'j':4}),LIST_VALUE({'i':1,'j':2},{'i':3,'j':4})) as a" + duckdb_cursor, + "SELECT MAP(LIST_VALUE({'i':1,'j':2},{'i':3,'j':4}),LIST_VALUE({'i':1,'j':2},{'i':3,'j':4})) as a", ) == [[({'i': 1, 'j': 2}, {'i': 1, 'j': 2}), ({'i': 3, 'j': 4}, {'i': 3, 'j': 4})]] def test_frankstein_nested(self, duckdb_cursor): if not can_run: return # List of structs W/ Struct that is NULL entirely - compare_results("SELECT [{'i':1,'j':2},NULL,{'i':2,'j':NULL}]") + compare_results(duckdb_cursor, "SELECT [{'i':1,'j':2},NULL,{'i':2,'j':NULL}]") # Lists of structs with lists - compare_results("SELECT [{'i':1,'j':[2,3]},NULL]") + compare_results(duckdb_cursor, "SELECT [{'i':1,'j':[2,3]},NULL]") # Maps embedded in a struct compare_results( - "SELECT {'i':mp,'j':mp2} FROM (SELECT MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7)) as mp, MAP(LIST_VALUE(1, 2, 3, 5),LIST_VALUE(10, 9, 8, 7)) as mp2) as t" + duckdb_cursor, + "SELECT {'i':mp,'j':mp2} FROM (SELECT MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7)) as mp, MAP(LIST_VALUE(1, 2, 3, 5),LIST_VALUE(10, 9, 8, 7)) as mp2) as t", ) # List of maps compare_results( - "SELECT [mp,mp2] FROM (SELECT MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7)) as mp, MAP(LIST_VALUE(1, 2, 3, 5),LIST_VALUE(10, 9, 8, 7)) as mp2) as t" + duckdb_cursor, + "SELECT [mp,mp2] FROM (SELECT MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7)) as mp, MAP(LIST_VALUE(1, 2, 3, 5),LIST_VALUE(10, 9, 8, 7)) as mp2) as t", ) # Map with list as key and/or value - compare_results("SELECT MAP(LIST_VALUE([1,2],[3,4],[5,4]),LIST_VALUE([1,2],[3,4],[5,4]))") + compare_results(duckdb_cursor, "SELECT MAP(LIST_VALUE([1,2],[3,4],[5,4]),LIST_VALUE([1,2],[3,4],[5,4]))") # Map with struct as key and/or value - compare_results("SELECT MAP(LIST_VALUE({'i':1,'j':2},{'i':3,'j':4}),LIST_VALUE({'i':1,'j':2},{'i':3,'j':4}))") + compare_results( + duckdb_cursor, "SELECT MAP(LIST_VALUE({'i':1,'j':2},{'i':3,'j':4}),LIST_VALUE({'i':1,'j':2},{'i':3,'j':4}))" + ) # Struct that is NULL entirely - compare_results("SELECT * FROM (VALUES ({'i':1,'j':2}), (NULL), ({'i':1,'j':2}), (NULL)) as a") + compare_results(duckdb_cursor, "SELECT * FROM (VALUES ({'i':1,'j':2}), (NULL), ({'i':1,'j':2}), (NULL)) as a") # Null checks on lists with structs - compare_results("SELECT [{'i':1,'j':[2,3]},NULL,{'i':1,'j':[2,3]}]") + compare_results(duckdb_cursor, "SELECT [{'i':1,'j':[2,3]},NULL,{'i':1,'j':[2,3]}]") # MAP that is NULL entirely compare_results( - "SELECT * FROM (VALUES (MAP(LIST_VALUE(1,2),LIST_VALUE(3,4))),(NULL), (MAP(LIST_VALUE(1,2),LIST_VALUE(3,4))), (NULL)) as a" + duckdb_cursor, + "SELECT * FROM (VALUES (MAP(LIST_VALUE(1,2),LIST_VALUE(3,4))),(NULL), (MAP(LIST_VALUE(1,2),LIST_VALUE(3,4))), (NULL)) as a", ) diff --git a/tools/pythonpkg/tests/fast/arrow/test_polars.py b/tools/pythonpkg/tests/fast/arrow/test_polars.py index 991d356ed18c..9dc86de43d2a 100644 --- a/tools/pythonpkg/tests/fast/arrow/test_polars.py +++ b/tools/pythonpkg/tests/fast/arrow/test_polars.py @@ -17,12 +17,12 @@ def test_polars(self, duckdb_cursor): } ) # scan plus return a polars dataframe - polars_result = duckdb.sql('SELECT * FROM df').pl() + polars_result = duckdb_cursor.sql('SELECT * FROM df').pl() pl_testing.assert_frame_equal(df, polars_result) # now do the same for a lazy dataframe lazy_df = df.lazy() - lazy_result = duckdb.sql('SELECT * FROM lazy_df').pl() + lazy_result = duckdb_cursor.sql('SELECT * FROM lazy_df').pl() pl_testing.assert_frame_equal(df, lazy_result) con = duckdb.connect() diff --git a/tools/pythonpkg/tests/fast/numpy/test_numpy_new_path.py b/tools/pythonpkg/tests/fast/numpy/test_numpy_new_path.py index c557f7033191..b6e7b969dc8f 100644 --- a/tools/pythonpkg/tests/fast/numpy/test_numpy_new_path.py +++ b/tools/pythonpkg/tests/fast/numpy/test_numpy_new_path.py @@ -11,27 +11,27 @@ class TestScanNumpy(object): def test_scan_numpy(self, duckdb_cursor): z = np.array([1, 2, 3]) - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [(1,), (2,), (3,)] z = np.array([[1, 2, 3], [4, 5, 6]]) - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [(1, 4), (2, 5), (3, 6)] z = [np.array([1, 2, 3]), np.array([4, 5, 6])] - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [(1, 4), (2, 5), (3, 6)] z = {"z": np.array([1, 2, 3]), "x": np.array([4, 5, 6])} - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [(1, 4), (2, 5), (3, 6)] z = np.array(["zzz", "xxx"]) - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [('zzz',), ('xxx',)] z = [np.array(["zzz", "xxx"]), np.array([1, 2])] - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [('zzz', 1), ('xxx', 2)] # test ndarray with dtype = object (python dict) @@ -39,7 +39,7 @@ def test_scan_numpy(self, duckdb_cursor): for i in range(3): z.append({str(3 - i): i}) z = np.array(z) - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [ ({'key': ['3'], 'value': [0]},), ({'key': ['2'], 'value': [1]},), @@ -50,7 +50,7 @@ def test_scan_numpy(self, duckdb_cursor): delta = timedelta(days=50, seconds=27, microseconds=10, milliseconds=29000, minutes=5, hours=8, weeks=2) delta2 = timedelta(days=5, seconds=27, microseconds=10, milliseconds=29000, minutes=5, hours=8, weeks=2) z = np.array([delta, delta2]) - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [ (timedelta(days=64, seconds=29156, microseconds=10),), (timedelta(days=19, seconds=29156, microseconds=10),), @@ -58,27 +58,27 @@ def test_scan_numpy(self, duckdb_cursor): # np.empty z = np.empty((3,)) - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert len(res) == 3 # empty list z = np.array([]) - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [] # np.nan z = np.array([np.nan]) - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [(None,)] # dict of mixed types z = {"z": np.array([1, 2, 3]), "x": np.array(["z", "x", "c"])} - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [(1, 'z'), (2, 'x'), (3, 'c')] # list of mixed types z = [np.array([1, 2, 3]), np.array(["z", "x", "c"])] - res = duckdb.sql("select * from z").fetchall() + res = duckdb_cursor.sql("select * from z").fetchall() assert res == [(1, 'z'), (2, 'x'), (3, 'c')] # currently unsupported formats, will throw duckdb.InvalidInputException @@ -86,24 +86,24 @@ def test_scan_numpy(self, duckdb_cursor): # list of arrays with different length z = [np.array([1, 2]), np.array([3])] with pytest.raises(duckdb.InvalidInputException): - duckdb.sql("select * from z") + duckdb_cursor.sql("select * from z") # dict of ndarrays of different length z = {"z": np.array([1, 2]), "x": np.array([3])} with pytest.raises(duckdb.InvalidInputException): - duckdb.sql("select * from z") + duckdb_cursor.sql("select * from z") # high dimensional tensors z = np.array([[[1, 2]]]) with pytest.raises(duckdb.InvalidInputException): - duckdb.sql("select * from z") + duckdb_cursor.sql("select * from z") # list of ndarrys with len(shape) > 1 z = [np.array([[1, 2], [3, 4]])] with pytest.raises(duckdb.InvalidInputException): - duckdb.sql("select * from z") + duckdb_cursor.sql("select * from z") # dict of ndarrays with len(shape) > 1 z = {"x": np.array([[1, 2], [3, 4]])} with pytest.raises(duckdb.InvalidInputException): - duckdb.sql("select * from z") + duckdb_cursor.sql("select * from z") diff --git a/tools/pythonpkg/tests/fast/pandas/test_2304.py b/tools/pythonpkg/tests/fast/pandas/test_2304.py index 631cdd1aae60..6fc355e51e52 100644 --- a/tools/pythonpkg/tests/fast/pandas/test_2304.py +++ b/tools/pythonpkg/tests/fast/pandas/test_2304.py @@ -36,7 +36,19 @@ def test_2304(self, duckdb_cursor, pandas): result_df = con.execute(query).fetchdf() expected_result = con.execute(query).fetchall() con.register('result_df', result_df) - result = con.execute('select * from result_df order by id_1, agedate, age, v, id_1_2, agedate_2,v2').fetchall() + rel = con.sql( + """ + select * from result_df order by + id_1, + agedate, + age, + v, + id_1_1, + agedate_1, + v2 + """ + ) + result = rel.fetchall() assert result == expected_result @@ -58,8 +70,8 @@ def test_pd_names(self, duckdb_cursor, pandas): 'id_1': [1, 1, 2, 1, 1], 'id_3': [1, 1, 2, 1, 1], 'id_2': [1, 1, 2, 1, 1], - 'id_1_2': [1, 1, 2, 1, 1], - 'id_2_2': [1, 1, 1, 1, 1], + 'id_1_1': [1, 1, 2, 1, 1], + 'id_2_1': [1, 1, 1, 1, 1], } ) @@ -90,7 +102,7 @@ def test_repeat_name(self, duckdb_cursor, pandas): 'id': [1], 'id_1': [1], 'id_2': [1], - 'id_2_1': [1], + 'id_3': [1], } ) diff --git a/tools/pythonpkg/tests/fast/pandas/test_datetime_time.py b/tools/pythonpkg/tests/fast/pandas/test_datetime_time.py index ccbe7003c7a8..cda96e6b8302 100644 --- a/tools/pythonpkg/tests/fast/pandas/test_datetime_time.py +++ b/tools/pythonpkg/tests/fast/pandas/test_datetime_time.py @@ -10,7 +10,7 @@ class TestDateTimeTime(object): @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) def test_time_high(self, duckdb_cursor, pandas): - duckdb_time = duckdb.query("SELECT make_time(23, 1, 34.234345) AS '0'").df() + duckdb_time = duckdb_cursor.sql("SELECT make_time(23, 1, 34.234345) AS '0'").df() data = [time(hour=23, minute=1, second=34, microsecond=234345)] df_in = pandas.DataFrame({'0': pandas.Series(data=data, dtype='object')}) df_out = duckdb.query_df(df_in, "df", "select * from df").df() @@ -18,7 +18,7 @@ def test_time_high(self, duckdb_cursor, pandas): @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) def test_time_low(self, duckdb_cursor, pandas): - duckdb_time = duckdb.query("SELECT make_time(00, 01, 1.000) AS '0'").df() + duckdb_time = duckdb_cursor.sql("SELECT make_time(00, 01, 1.000) AS '0'").df() data = [time(hour=0, minute=1, second=1)] df_in = pandas.DataFrame({'0': pandas.Series(data=data, dtype='object')}) df_out = duckdb.query_df(df_in, "df", "select * from df").df() diff --git a/tools/pythonpkg/tests/fast/pandas/test_datetime_timestamp.py b/tools/pythonpkg/tests/fast/pandas/test_datetime_timestamp.py index a2592a886f44..523e0e9b0cc3 100644 --- a/tools/pythonpkg/tests/fast/pandas/test_datetime_timestamp.py +++ b/tools/pythonpkg/tests/fast/pandas/test_datetime_timestamp.py @@ -10,8 +10,8 @@ class TestDateTimeTimeStamp(object): @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_timestamp_high(self, pandas): - duckdb_time = duckdb.query("SELECT '2260-01-01 23:59:00'::TIMESTAMP AS '0'").df() + def test_timestamp_high(self, pandas, duckdb_cursor): + duckdb_time = duckdb_cursor.sql("SELECT '2260-01-01 23:59:00'::TIMESTAMP AS '0'").df() df_in = pandas.DataFrame( { 0: pandas.Series( @@ -20,12 +20,12 @@ def test_timestamp_high(self, pandas): ) } ) - df_out = duckdb.query_df(df_in, "df", "select * from df").df() + df_out = duckdb_cursor.sql("select * from df_in").df() pandas.testing.assert_frame_equal(df_out, duckdb_time) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_timestamp_low(self, pandas): - duckdb_time = duckdb.query( + def test_timestamp_low(self, pandas, duckdb_cursor): + duckdb_time = duckdb_cursor.sql( """ SELECT '1680-01-01 23:59:00.234243'::TIMESTAMP AS '0' """ @@ -45,7 +45,7 @@ def test_timestamp_low(self, pandas): ) print('original:', duckdb_time['0'].dtype) print('df_in:', df_in['0'].dtype) - df_out = duckdb.query_df(df_in, "df", "select * from df").df() + df_out = duckdb_cursor.sql("select * from df_in").df() print('df_out:', df_out['0'].dtype) pandas.testing.assert_frame_equal(df_out, duckdb_time) @@ -53,8 +53,8 @@ def test_timestamp_low(self, pandas): Version(pd.__version__) < Version('2.0.2'), reason="pandas < 2.0.2 does not properly convert timezones" ) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_timestamp_timezone_regular(self, pandas): - duckdb_time = duckdb.query( + def test_timestamp_timezone_regular(self, pandas, duckdb_cursor): + duckdb_time = duckdb_cursor.sql( """ SELECT timestamp '2022-01-01 12:00:00' AT TIME ZONE 'Pacific/Easter' as "0" """ @@ -69,7 +69,7 @@ def test_timestamp_timezone_regular(self, pandas): ) } ) - df_out = duckdb.query_df(df_in, "df", "select * from df").df() + df_out = duckdb_cursor.sql("select * from df_in").df() print(df_out) print(duckdb_time) pandas.testing.assert_frame_equal(df_out, duckdb_time) @@ -78,8 +78,8 @@ def test_timestamp_timezone_regular(self, pandas): Version(pd.__version__) < Version('2.0.2'), reason="pandas < 2.0.2 does not properly convert timezones" ) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_timestamp_timezone_negative_extreme(self, pandas): - duckdb_time = duckdb.query( + def test_timestamp_timezone_negative_extreme(self, pandas, duckdb_cursor): + duckdb_time = duckdb_cursor.sql( """ SELECT timestamp '2022-01-01 12:00:00' AT TIME ZONE 'Chile/EasterIsland' as "0" """ @@ -95,15 +95,15 @@ def test_timestamp_timezone_negative_extreme(self, pandas): ) } ) - df_out = duckdb.query_df(df_in, "df", "select * from df").df() + df_out = duckdb_cursor.sql("select * from df_in").df() pandas.testing.assert_frame_equal(df_out, duckdb_time) @pytest.mark.skipif( Version(pd.__version__) < Version('2.0.2'), reason="pandas < 2.0.2 does not properly convert timezones" ) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_timestamp_timezone_positive_extreme(self, pandas): - duckdb_time = duckdb.query( + def test_timestamp_timezone_positive_extreme(self, pandas, duckdb_cursor): + duckdb_time = duckdb_cursor.sql( """ SELECT timestamp '2021-12-31 23:00:00' AT TIME ZONE 'kea_CV' as "0" """ @@ -120,5 +120,5 @@ def test_timestamp_timezone_positive_extreme(self, pandas): ) } ) - df_out = duckdb.query_df(df_in, "df", """select * from df""").df() + df_out = duckdb_cursor.sql("""select * from df_in""").df() pandas.testing.assert_frame_equal(df_out, duckdb_time) diff --git a/tools/pythonpkg/tests/fast/pandas/test_df_object_resolution.py b/tools/pythonpkg/tests/fast/pandas/test_df_object_resolution.py index 79c8b1f7dacb..9c6834ff8d23 100644 --- a/tools/pythonpkg/tests/fast/pandas/test_df_object_resolution.py +++ b/tools/pythonpkg/tests/fast/pandas/test_df_object_resolution.py @@ -15,6 +15,19 @@ def create_generic_dataframe(data, pandas): return pandas.DataFrame({'0': pandas.Series(data=data, dtype='object')}) +def create_repeated_nulls(size): + data = [None, "a"] + n = size + data = data * n + return data + + +def create_trailing_non_null(size): + data = [None for _ in range(size - 1)] + data.append('this is a long string') + return data + + class IntString: def __init__(self, value: int): self.value = value @@ -36,25 +49,25 @@ def ConvertStringToDecimal(data: list, pandas): class TestResolveObjectColumns(object): # TODO: add support for ArrowPandas @pytest.mark.parametrize('pandas', [NumpyPandas()]) - def test_integers(self, pandas): + def test_integers(self, pandas, duckdb_cursor): data = [5, 0, 3] df_in = create_generic_dataframe(data, pandas) # These are float64 because pandas would force these to be float64 even if we set them to int8, int16, int32, int64 respectively df_expected_res = pandas.DataFrame({'0': pandas.Series(data=data, dtype='int32')}) - df_out = duckdb.query_df(df_in, "data", "SELECT * FROM data").df() + df_out = duckdb_cursor.sql("SELECT * FROM df_in").df() print(df_out) pandas.testing.assert_frame_equal(df_expected_res, df_out) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_struct_correct(self, pandas): + def test_struct_correct(self, pandas, duckdb_cursor): data = [{'a': 1, 'b': 3, 'c': 3, 'd': 7}] df = pandas.DataFrame({'0': pandas.Series(data=data)}) - duckdb_col = duckdb.query("SELECT {a: 1, b: 3, c: 3, d: 7} as '0'").df() - converted_col = duckdb.query_df(df, "data", "SELECT * FROM data").df() + duckdb_col = duckdb_cursor.sql("SELECT {a: 1, b: 3, c: 3, d: 7} as '0'").df() + converted_col = duckdb_cursor.sql("SELECT * FROM df").df() pandas.testing.assert_frame_equal(duckdb_col, converted_col) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_map_fallback_different_keys(self, pandas): + def test_map_fallback_different_keys(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ [{'a': 1, 'b': 3, 'c': 3, 'd': 7}], @@ -65,7 +78,7 @@ def test_map_fallback_different_keys(self, pandas): ] ) - converted_df = duckdb.query_df(x, "x", "SELECT * FROM x").df() + converted_df = duckdb_cursor.sql("SELECT * FROM x").df() y = pandas.DataFrame( [ [{'key': ['a', 'b', 'c', 'd'], 'value': [1, 3, 3, 7]}], @@ -75,11 +88,11 @@ def test_map_fallback_different_keys(self, pandas): [{'key': ['a', 'b', 'c', 'd'], 'value': [1, 3, 3, 7]}], ] ) - equal_df = duckdb.query_df(y, "y", "SELECT * FROM y").df() + equal_df = duckdb_cursor.sql("SELECT * FROM y").df() pandas.testing.assert_frame_equal(converted_df, equal_df) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_map_fallback_incorrect_amount_of_keys(self, pandas): + def test_map_fallback_incorrect_amount_of_keys(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ [{'a': 1, 'b': 3, 'c': 3, 'd': 7}], @@ -89,7 +102,7 @@ def test_map_fallback_incorrect_amount_of_keys(self, pandas): [{'a': 1, 'b': 3, 'c': 3, 'd': 7}], ] ) - converted_df = duckdb.query_df(x, "x", "SELECT * FROM x").df() + converted_df = duckdb_cursor.sql("SELECT * FROM x").df() y = pandas.DataFrame( [ [{'key': ['a', 'b', 'c', 'd'], 'value': [1, 3, 3, 7]}], @@ -99,11 +112,11 @@ def test_map_fallback_incorrect_amount_of_keys(self, pandas): [{'key': ['a', 'b', 'c', 'd'], 'value': [1, 3, 3, 7]}], ] ) - equal_df = duckdb.query_df(y, "y", "SELECT * FROM y").df() + equal_df = duckdb_cursor.sql("SELECT * FROM y").df() pandas.testing.assert_frame_equal(converted_df, equal_df) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_struct_value_upgrade(self, pandas): + def test_struct_value_upgrade(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ [{'a': 1, 'b': 3, 'c': 3, 'd': 'string'}], @@ -122,12 +135,12 @@ def test_struct_value_upgrade(self, pandas): [{'a': 1, 'b': 3, 'c': 3, 'd': '7'}], ] ) - converted_df = duckdb.query_df(x, "x", "SELECT * FROM x").df() - equal_df = duckdb.query_df(y, "y", "SELECT * FROM y").df() + converted_df = duckdb_cursor.sql("SELECT * FROM x").df() + equal_df = duckdb_cursor.sql("SELECT * FROM y").df() pandas.testing.assert_frame_equal(converted_df, equal_df) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_struct_null(self, pandas): + def test_struct_null(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ [None], @@ -146,12 +159,12 @@ def test_struct_null(self, pandas): [{'a': 1, 'b': 3, 'c': 3, 'd': 7}], ] ) - converted_df = duckdb.query_df(x, "x", "SELECT * FROM x").df() - equal_df = duckdb.query_df(y, "y", "SELECT * FROM y").df() + converted_df = duckdb_cursor.sql("SELECT * FROM x").df() + equal_df = duckdb_cursor.sql("SELECT * FROM y").df() pandas.testing.assert_frame_equal(converted_df, equal_df) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_map_fallback_value_upgrade(self, pandas): + def test_map_fallback_value_upgrade(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ [{'a': 1, 'b': 3, 'c': 3, 'd': 'test'}], @@ -170,13 +183,12 @@ def test_map_fallback_value_upgrade(self, pandas): [{'a': '1', 'b': '3', 'c': '3', 'd': '7'}], ] ) - converted_df = duckdb.query_df(x, "df", "SELECT * FROM df").df() - equal_df = duckdb.query_df(y, "df", "SELECT * FROM df").df() + converted_df = duckdb_cursor.sql("SELECT * FROM x").df() + equal_df = duckdb_cursor.sql("SELECT * FROM y").df() pandas.testing.assert_frame_equal(converted_df, equal_df) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_map_correct(self, pandas): - con = duckdb.connect() + def test_map_correct(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ [{'key': ['a', 'b', 'c', 'd'], 'value': [1, 3, 3, 7]}], @@ -187,8 +199,8 @@ def test_map_correct(self, pandas): ] ) x.rename(columns={0: 'a'}, inplace=True) - converted_col = duckdb.query_df(x, "x", "select * from x as 'a'", connection=con).df() - con.query( + converted_col = duckdb_cursor.sql("select * from x as 'a'").df() + duckdb_cursor.sql( """ CREATE TABLE tmp( a MAP(VARCHAR, INTEGER) @@ -196,19 +208,48 @@ def test_map_correct(self, pandas): """ ) for _ in range(5): - con.query( + duckdb_cursor.sql( """ INSERT INTO tmp VALUES (MAP(['a', 'b', 'c', 'd'], [1, 3, 3, 7])) """ ) - duckdb_col = con.query("select a from tmp AS '0'").df() + duckdb_col = duckdb_cursor.sql("select a from tmp AS '0'").df() print(duckdb_col.columns) print(converted_col.columns) pandas.testing.assert_frame_equal(converted_col, duckdb_col) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_map_value_upgrade(self, pandas): - con = duckdb.connect() + @pytest.mark.parametrize('sample_size', [1, 10]) + @pytest.mark.parametrize('fill', [1000, 10000]) + @pytest.mark.parametrize('get_data', [create_repeated_nulls, create_trailing_non_null]) + def test_analyzing_nulls(self, pandas, duckdb_cursor, fill, sample_size, get_data): + data = get_data(fill) + df1 = pandas.DataFrame(data={"col1": data}) + duckdb_cursor.execute(f"SET GLOBAL pandas_analyze_sample={sample_size}") + df = duckdb_cursor.execute("select * from df1").df() + + pandas.testing.assert_frame_equal(df1, df) + + @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) + def test_nested_map(self, pandas, duckdb_cursor): + df = pandas.DataFrame(data={'col1': [{'a': {'b': {'x': 'A', 'y': 'B'}}}, {'c': {'b': {'x': 'A'}}}]}) + + rel = duckdb_cursor.sql("select * from df") + expected_rel = duckdb_cursor.sql( + """ + select x::map(varchar, struct(b map(varchar, varchar))) col1 from (VALUES + ('{a={b: {x=A, y=B}}}'), + ('{c={b: {x=A}}}') + ) t(x) + """ + ) + + res = str(rel) + expected_res = str(expected_rel) + assert res == expected_res + + @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) + def test_map_value_upgrade(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ [{'key': ['a', 'b', 'c', 'd'], 'value': [1, 3, 3, 'test']}], @@ -219,64 +260,64 @@ def test_map_value_upgrade(self, pandas): ] ) x.rename(columns={0: 'a'}, inplace=True) - converted_col = duckdb.query_df(x, "x", "select * from x", connection=con).df() - con.query( + converted_col = duckdb_cursor.sql("select * from x").df() + duckdb_cursor.sql( """ CREATE TABLE tmp2( a MAP(VARCHAR, VARCHAR) ); """ ) - con.query( + duckdb_cursor.sql( """ INSERT INTO tmp2 VALUES (MAP(['a', 'b', 'c', 'd'], ['1', '3', '3', 'test'])) """ ) for _ in range(4): - con.query( + duckdb_cursor.sql( """ INSERT INTO tmp2 VALUES (MAP(['a', 'b', 'c', 'd'], ['1', '3', '3', '7'])) """ ) - duckdb_col = con.query("select a from tmp2 AS '0'").df() + duckdb_col = duckdb_cursor.sql("select a from tmp2 AS '0'").df() print(duckdb_col.columns) print(converted_col.columns) pandas.testing.assert_frame_equal(converted_col, duckdb_col) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_map_duplicate(self, pandas): + def test_map_duplicate(self, pandas, duckdb_cursor): x = pandas.DataFrame([[{'key': ['a', 'a', 'b'], 'value': [4, 0, 4]}]]) with pytest.raises( duckdb.InvalidInputException, match="Dict->Map conversion failed because 'key' list contains duplicates" ): - converted_col = duckdb.query_df(x, "x", "select * from x").df() + converted_col = duckdb_cursor.sql("select * from x").df() @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_map_nullkey(self, pandas): + def test_map_nullkey(self, pandas, duckdb_cursor): x = pandas.DataFrame([[{'key': [None, 'a', 'b'], 'value': [4, 0, 4]}]]) with pytest.raises( duckdb.InvalidInputException, match="Dict->Map conversion failed because 'key' list contains None" ): - converted_col = duckdb.query_df(x, "x", "select * from x").df() + converted_col = duckdb_cursor.sql("select * from x").df() @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_map_nullkeylist(self, pandas): + def test_map_nullkeylist(self, pandas, duckdb_cursor): x = pandas.DataFrame([[{'key': None, 'value': None}]]) # Isn't actually converted to MAP because isinstance(None, list) != True - converted_col = duckdb.query_df(x, "x", "select * from x").df() - duckdb_col = duckdb.query("SELECT {key: NULL, value: NULL} as '0'").df() + converted_col = duckdb_cursor.sql("select * from x").df() + duckdb_col = duckdb_cursor.sql("SELECT {key: NULL, value: NULL} as '0'").df() pandas.testing.assert_frame_equal(duckdb_col, converted_col) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_map_fallback_nullkey(self, pandas): + def test_map_fallback_nullkey(self, pandas, duckdb_cursor): x = pandas.DataFrame([[{'a': 4, None: 0, 'c': 4}], [{'a': 4, None: 0, 'd': 4}]]) with pytest.raises( duckdb.InvalidInputException, match="Dict->Map conversion failed because 'key' list contains None" ): - converted_col = duckdb.query_df(x, "x", "select * from x").df() + converted_col = duckdb_cursor.sql("select * from x").df() @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_map_fallback_nullkey_coverage(self, pandas): + def test_map_fallback_nullkey_coverage(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ [{'key': None, 'value': None}], @@ -286,55 +327,54 @@ def test_map_fallback_nullkey_coverage(self, pandas): with pytest.raises( duckdb.InvalidInputException, match="Dict->Map conversion failed because 'key' list contains None" ): - converted_col = duckdb.query_df(x, "x", "select * from x").df() + converted_col = duckdb_cursor.sql("select * from x").df() @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_struct_key_conversion(self, pandas): + def test_struct_key_conversion(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ [{IntString(5): 1, IntString(-25): 3, IntString(32): 3, IntString(32456): 7}], ] ) - duckdb_col = duckdb.query("select {'5':1, '-25':3, '32':3, '32456':7} as '0'").df() - converted_col = duckdb.query_df(x, "tbl", "select * from tbl").df() - duckdb.query("drop view if exists tbl") + duckdb_col = duckdb_cursor.sql("select {'5':1, '-25':3, '32':3, '32456':7} as '0'").df() + converted_col = duckdb_cursor.sql("select * from x").df() + duckdb_cursor.sql("drop view if exists tbl") pandas.testing.assert_frame_equal(duckdb_col, converted_col) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_list_correct(self, pandas): + def test_list_correct(self, pandas, duckdb_cursor): x = pandas.DataFrame([{'0': [[5], [34], [-245]]}]) - duckdb_col = duckdb.query("select [[5], [34], [-245]] as '0'").df() - converted_col = duckdb.query_df(x, "tbl", "select * from tbl").df() - duckdb.query("drop view if exists tbl") + duckdb_col = duckdb_cursor.sql("select [[5], [34], [-245]] as '0'").df() + converted_col = duckdb_cursor.sql("select * from x").df() + duckdb_cursor.sql("drop view if exists tbl") pandas.testing.assert_frame_equal(duckdb_col, converted_col) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_list_contains_null(self, pandas): + def test_list_contains_null(self, pandas, duckdb_cursor): x = pandas.DataFrame([{'0': [[5], None, [-245]]}]) - duckdb_col = duckdb.query("select [[5], NULL, [-245]] as '0'").df() - converted_col = duckdb.query_df(x, "tbl", "select * from tbl").df() - duckdb.query("drop view if exists tbl") + duckdb_col = duckdb_cursor.sql("select [[5], NULL, [-245]] as '0'").df() + converted_col = duckdb_cursor.sql("select * from x").df() + duckdb_cursor.sql("drop view if exists tbl") pandas.testing.assert_frame_equal(duckdb_col, converted_col) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_list_starts_with_null(self, pandas): + def test_list_starts_with_null(self, pandas, duckdb_cursor): x = pandas.DataFrame([{'0': [None, [5], [-245]]}]) - duckdb_col = duckdb.query("select [NULL, [5], [-245]] as '0'").df() - converted_col = duckdb.query_df(x, "tbl", "select * from tbl").df() - duckdb.query("drop view if exists tbl") + duckdb_col = duckdb_cursor.sql("select [NULL, [5], [-245]] as '0'").df() + converted_col = duckdb_cursor.sql("select * from x").df() + duckdb_cursor.sql("drop view if exists tbl") pandas.testing.assert_frame_equal(duckdb_col, converted_col) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_list_value_upgrade(self, pandas): + def test_list_value_upgrade(self, pandas, duckdb_cursor): x = pandas.DataFrame([{'0': [['5'], [34], [-245]]}]) - duckdb_col = duckdb.query("select [['5'], ['34'], ['-245']] as '0'").df() - converted_col = duckdb.query_df(x, "tbl", "select * from tbl").df() - duckdb.query("drop view if exists tbl") + duckdb_col = duckdb_cursor.sql("select [['5'], ['34'], ['-245']] as '0'").df() + converted_col = duckdb_cursor.sql("select * from x").df() + duckdb_cursor.sql("drop view if exists tbl") pandas.testing.assert_frame_equal(duckdb_col, converted_col) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_list_column_value_upgrade(self, pandas): - con = duckdb.connect() + def test_list_column_value_upgrade(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ [[1, 25, 300]], @@ -343,41 +383,41 @@ def test_list_column_value_upgrade(self, pandas): ] ) x.rename(columns={0: 'a'}, inplace=True) - converted_col = duckdb.query_df(x, "x", "select * from x", connection=con).df() - con.query( + converted_col = duckdb_cursor.sql("select * from x").df() + duckdb_cursor.sql( """ CREATE TABLE tmp3( a VARCHAR[] ); """ ) - con.query( + duckdb_cursor.sql( """ INSERT INTO tmp3 VALUES (['1', '25', '300']) """ ) - con.query( + duckdb_cursor.sql( """ INSERT INTO tmp3 VALUES (['500', '345', '30']) """ ) - con.query( + duckdb_cursor.sql( """ INSERT INTO tmp3 VALUES (['50', 'a', '67']) """ ) - duckdb_col = con.query("select a from tmp3 AS '0'").df() + duckdb_col = duckdb_cursor.sql("select a from tmp3 AS '0'").df() print(duckdb_col.columns) print(converted_col.columns) pandas.testing.assert_frame_equal(converted_col, duckdb_col) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_ubigint_object_conversion(self, pandas): + def test_ubigint_object_conversion(self, pandas, duckdb_cursor): # UBIGINT + TINYINT would result in HUGEINT, but conversion to HUGEINT is not supported yet from pandas->duckdb # So this instead becomes a DOUBLE data = [18446744073709551615, 0] x = pandas.DataFrame({'0': pandas.Series(data=data, dtype='object')}) - converted_col = duckdb.query_df(x, "x", "select * from x").df() + converted_col = duckdb_cursor.sql("select * from x").df() if pandas.backend == 'numpy_nullable': float64 = np.dtype('float64') assert isinstance(converted_col['0'].dtype, float64.__class__) == True @@ -386,16 +426,15 @@ def test_ubigint_object_conversion(self, pandas): assert isinstance(converted_col['0'].dtype, uint64.__class__) == True @pytest.mark.parametrize('pandas', [NumpyPandas()]) - def test_double_object_conversion(self, pandas): + def test_double_object_conversion(self, pandas, duckdb_cursor): data = [18446744073709551616, 0] x = pandas.DataFrame({'0': pandas.Series(data=data, dtype='object')}) - converted_col = duckdb.query_df(x, "x", "select * from x").df() + converted_col = duckdb_cursor.sql("select * from x").df() double_dtype = np.dtype('float64') assert isinstance(converted_col['0'].dtype, double_dtype.__class__) == True @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_numpy_object_with_stride(self, pandas): - con = duckdb.connect() + def test_numpy_object_with_stride(self, pandas, duckdb_cursor): df = pandas.DataFrame(columns=["idx", "evens", "zeros"]) df["idx"] = list(range(10)) @@ -407,7 +446,7 @@ def test_numpy_object_with_stride(self, pandas): df.loc[df["idx"] == i, "evens"] += counter counter += 2 - res = con.sql("select * from df").fetchall() + res = duckdb_cursor.sql("select * from df").fetchall() assert res == [ (0, 0, 0), (1, 2, 0), @@ -422,18 +461,17 @@ def test_numpy_object_with_stride(self, pandas): ] @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_numpy_stringliterals(self, pandas): - con = duckdb.connect() + def test_numpy_stringliterals(self, pandas, duckdb_cursor): df = pandas.DataFrame({"x": list(map(np.str_, range(3)))}) - res = con.execute("select * from df").fetchall() + res = duckdb_cursor.execute("select * from df").fetchall() assert res == [('0',), ('1',), ('2',)] @pytest.mark.parametrize('pandas', [NumpyPandas()]) - def test_integer_conversion_fail(self, pandas): + def test_integer_conversion_fail(self, pandas, duckdb_cursor): data = [2**10000, 0] x = pandas.DataFrame({'0': pandas.Series(data=data, dtype='object')}) - converted_col = duckdb.query_df(x, "x", "select * from x").df() + converted_col = duckdb_cursor.sql("select * from x").df() print(converted_col['0']) double_dtype = np.dtype('object') assert isinstance(converted_col['0'].dtype, double_dtype.__class__) == True @@ -442,7 +480,7 @@ def test_integer_conversion_fail(self, pandas): # But to support arbitrary precision, it can fall back to using an `int` internally @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) # Which we don't support yet - def test_numpy_datetime(self, pandas): + def test_numpy_datetime(self, pandas, duckdb_cursor): numpy = pytest.importorskip("numpy") data = [] @@ -451,11 +489,11 @@ def test_numpy_datetime(self, pandas): data += [numpy.datetime64('1974-06-05T13:12:01.000000')] * standard_vector_size data += [numpy.datetime64('2049-01-13T00:24:31.999999')] * standard_vector_size x = pandas.DataFrame({'dates': pandas.Series(data=data, dtype='object')}) - res = duckdb.query_df(x, "x", "select distinct * from x").df() + res = duckdb_cursor.sql("select distinct * from x").df() assert len(res['dates'].__array__()) == 4 @pytest.mark.parametrize('pandas', [NumpyPandas()]) - def test_numpy_datetime_int_internally(self, pandas): + def test_numpy_datetime_int_internally(self, pandas, duckdb_cursor): numpy = pytest.importorskip("numpy") data = [numpy.datetime64('2022-12-10T21:38:24.0000000000001')] @@ -467,7 +505,7 @@ def test_numpy_datetime_int_internally(self, pandas): rel = duckdb.query_df(x, "x", "create table dates as select dates::TIMESTAMP WITHOUT TIME ZONE from x") @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_fallthrough_object_conversion(self, pandas): + def test_fallthrough_object_conversion(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ [IntString(4)], @@ -475,14 +513,12 @@ def test_fallthrough_object_conversion(self, pandas): [IntString(0)], ] ) - duckdb_col = duckdb.query_df(x, "x", "select * from x").df() + duckdb_col = duckdb_cursor.sql("select * from x").df() df_expected_res = pandas.DataFrame({'0': pandas.Series(['4', '2', '0'])}) pandas.testing.assert_frame_equal(duckdb_col, df_expected_res) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_numeric_decimal(self, pandas): - duckdb_conn = duckdb.connect() - + def test_numeric_decimal(self, pandas, duckdb_cursor): # DuckDB uses DECIMAL where possible, so all the 'float' types here are actually DECIMAL reference_query = """ CREATE TABLE tbl AS SELECT * FROM ( @@ -495,7 +531,7 @@ def test_numeric_decimal(self, pandas): (1.234, -324234234, 1324234359) ) tbl(a, b, c); """ - duckdb_conn.execute(reference_query) + duckdb_cursor.execute(reference_query) # Because of this we need to wrap these native floats as DECIMAL for this test, to avoid these decimals being "upgraded" to DOUBLE x = pandas.DataFrame( { @@ -508,19 +544,17 @@ def test_numeric_decimal(self, pandas): ), } ) - reference = duckdb.query("select * from tbl", connection=duckdb_conn).fetchall() - conversion = duckdb.query_df(x, "x", "select * from x").fetchall() + reference = duckdb_cursor.sql("select * from tbl").fetchall() + conversion = duckdb_cursor.sql("select * from x").fetchall() assert conversion == reference @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_numeric_decimal_coverage(self, pandas): - duckdb_conn = duckdb.connect() - + def test_numeric_decimal_coverage(self, pandas, duckdb_cursor): x = pandas.DataFrame( {'0': [Decimal("nan"), Decimal("+nan"), Decimal("-nan"), Decimal("inf"), Decimal("+inf"), Decimal("-inf")]} ) - conversion = duckdb.query_df(x, "x", "select * from x").fetchall() + conversion = duckdb_cursor.sql("select * from x").fetchall() print(conversion[0][0].__class__) for item in conversion: assert isinstance(item[0], float) @@ -537,57 +571,82 @@ def test_numeric_decimal_coverage(self, pandas): @pytest.mark.parametrize( 'pandas', [NumpyPandas(), ArrowPandas()] ) # and that the same 2048 (STANDARD_VECTOR_SIZE) values are not being scanned over and over again - def test_multiple_chunks(self, pandas): + def test_multiple_chunks(self, pandas, duckdb_cursor): data = [] data += [datetime.date(2022, 9, 13) for x in range(standard_vector_size)] data += [datetime.date(2022, 9, 14) for x in range(standard_vector_size)] data += [datetime.date(2022, 9, 15) for x in range(standard_vector_size)] data += [datetime.date(2022, 9, 16) for x in range(standard_vector_size)] x = pandas.DataFrame({'dates': pandas.Series(data=data, dtype='object')}) - res = duckdb.query_df(x, "x", "select distinct * from x").df() + res = duckdb_cursor.sql("select distinct * from x").df() assert len(res['dates'].__array__()) == 4 @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_multiple_chunks_aggregate(self, pandas): - conn = duckdb.connect() - conn.execute( - "create table dates as select '2022-09-14'::DATE + INTERVAL (i::INTEGER) DAY as i from range(0, 4096) tbl(i);" + def test_multiple_chunks_aggregate(self, pandas, duckdb_cursor): + duckdb_cursor.execute(f"SET GLOBAL pandas_analyze_sample=4096") + duckdb_cursor.execute( + "create table dates as select '2022-09-14'::DATE + INTERVAL (i::INTEGER) DAY as i from range(4096) tbl(i);" ) - res = duckdb.query("select * from dates", connection=conn).df() + rel = duckdb_cursor.sql("select * from dates") + res = rel.df() date_df = res.copy() - # Convert the values to `datetime.date` values, and the dtype of the column to 'object' + + # Convert the dataframe to datetime date_df['i'] = pandas.to_datetime(res['i']).dt.date assert str(date_df['i'].dtype) == 'object' - expected_res = duckdb.query( - 'select avg(epoch(i)), min(epoch(i)), max(epoch(i)) from dates;', connection=conn - ).fetchall() - actual_res = duckdb.query_df( - date_df, 'x', 'select avg(epoch(i)), min(epoch(i)), max(epoch(i)) from x' - ).fetchall() - assert expected_res == actual_res - conn.execute('drop table dates') - # Now with nulls interleaved - for i in range(0, len(res['i']), 2): - res['i'][i] = None + expected_res = [ + ( + 1840017600.0, # Saturday, April 22, 2028 12:00:00 PM (avg) + 1663113600.0, # Wednesday, September 14, 2022 12:00:00 AM (min) + 2016921600.0, # Wednesday, November 30, 2033 12:00:00 AM (max) + ) + ] - date_view = conn.register("date_view", res) - date_view.execute('create table dates as select * from date_view') - expected_res = duckdb.query( - "select avg(epoch(i)), min(epoch(i)), max(epoch(i)) from dates", connection=conn - ).fetchall() + rel = duckdb_cursor.sql( + """ + select + avg(epoch(i)), + min(epoch(i)), + max(epoch(i)) + from date_df + """ + ) + actual_res = rel.fetchall() + assert expected_res == actual_res + # Now interleave nulls into the dataframe + duckdb_cursor.execute('drop table dates') + for i in range(0, len(res['i']), 2): + res.loc[i, 'i'] = None + duckdb_cursor.execute('create table dates as select * from res') + + expected_res = [ + ( + 1840060800.0, # Sunday, April 23, 2028 12:00:00 AM + 1663200000.0, # Thursday, September 15, 2022 12:00:00 AM + 2016921600.0, # Wednesday, November 30, 2033 12:00:00 AM + ) + ] + # Convert the dataframe to datetime date_df = res.copy() - # Convert the values to `datetime.date` values, and the dtype of the column to 'object' date_df['i'] = pandas.to_datetime(res['i']).dt.date assert str(date_df['i'].dtype) == 'object' - actual_res = duckdb.query_df( - date_df, 'x', 'select avg(epoch(i)), min(epoch(i)), max(epoch(i)) from x' + + actual_res = duckdb_cursor.sql( + """ + select + avg(epoch(i)), + min(epoch(i)), + max(epoch(i)) + from date_df + """ ).fetchall() + assert expected_res == actual_res @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_mixed_object_types(self, pandas): + def test_mixed_object_types(self, pandas, duckdb_cursor): x = pandas.DataFrame( { 'nested': pandas.Series( @@ -595,11 +654,11 @@ def test_mixed_object_types(self, pandas): ), } ) - res = duckdb.query_df(x, "x", "select * from x").df() + res = duckdb_cursor.sql("select * from x").df() assert res['nested'].dtype == np.dtype('object') @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_struct_deeply_nested_in_struct(self, pandas): + def test_struct_deeply_nested_in_struct(self, pandas, duckdb_cursor): x = pandas.DataFrame( [ { @@ -614,12 +673,11 @@ def test_struct_deeply_nested_in_struct(self, pandas): ) # The dataframe has incompatible struct schemas in the nested child # This gets upgraded to STRUCT(b MAP(VARCHAR, VARCHAR)) - con = duckdb.connect() - res = con.sql("select * from x").fetchall() + res = duckdb_cursor.sql("select * from x").fetchall() assert res == [({'b': {'key': ['x', 'y'], 'value': ['A', 'B']}},), ({'b': {'key': ['x'], 'value': ['A']}},)] @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_struct_deeply_nested_in_list(self, pandas): + def test_struct_deeply_nested_in_list(self, pandas, duckdb_cursor): x = pandas.DataFrame( { 'a': [ @@ -634,20 +692,18 @@ def test_struct_deeply_nested_in_list(self, pandas): ) # The dataframe has incompatible struct schemas in the nested child # This gets upgraded to STRUCT(b MAP(VARCHAR, VARCHAR)) - con = duckdb.connect() - res = con.sql("select * from x").fetchall() + res = duckdb_cursor.sql("select * from x").fetchall() assert res == [([{'key': ['x', 'y'], 'value': ['A', 'B']}, {'key': ['x'], 'value': ['A']}],)] @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_analyze_sample_too_small(self, pandas): + def test_analyze_sample_too_small(self, pandas, duckdb_cursor): data = [1 for _ in range(9)] + [[1, 2, 3]] + [1 for _ in range(9991)] x = pandas.DataFrame({'a': pandas.Series(data=data)}) with pytest.raises(duckdb.InvalidInputException, match="Failed to cast value: Unimplemented type for cast"): - res = duckdb.query_df(x, "x", "select * from x").df() + res = duckdb_cursor.sql("select * from x").df() @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_numeric_decimal_zero_fractional(self, pandas): - duckdb_conn = duckdb.connect() + def test_numeric_decimal_zero_fractional(self, pandas, duckdb_cursor): decimals = pandas.DataFrame( data={ "0": [ @@ -673,15 +729,14 @@ def test_numeric_decimal_zero_fractional(self, pandas): (321.00) ) tbl(a); """ - duckdb_conn.execute(reference_query) - reference = duckdb.query("select * from tbl", connection=duckdb_conn).fetchall() + duckdb_cursor.execute(reference_query) + reference = duckdb_cursor.sql("select * from tbl").fetchall() conversion = duckdb.query_df(decimals, "x", "select * from x").fetchall() assert conversion == reference @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_numeric_decimal_incompatible(self, pandas): - duckdb_conn = duckdb.connect() + def test_numeric_decimal_incompatible(self, pandas, duckdb_cursor): reference_query = """ CREATE TABLE tbl AS SELECT * FROM ( VALUES @@ -693,7 +748,7 @@ def test_numeric_decimal_incompatible(self, pandas): (1.234, -324234234, 1324234359) ) tbl(a, b, c); """ - duckdb_conn.execute(reference_query) + duckdb_cursor.execute(reference_query) x = pandas.DataFrame( { '0': ConvertStringToDecimal(['5', '12.0', '-123.0', '-234234.0', None, '1.234'], pandas), @@ -703,8 +758,8 @@ def test_numeric_decimal_incompatible(self, pandas): ), } ) - reference = duckdb.query("select * from tbl", connection=duckdb_conn).fetchall() - conversion = duckdb.query_df(x, "x", "select * from x").fetchall() + reference = duckdb_cursor.sql("select * from tbl").fetchall() + conversion = duckdb_cursor.sql("select * from x").fetchall() assert conversion == reference print(reference) @@ -713,8 +768,7 @@ def test_numeric_decimal_incompatible(self, pandas): @pytest.mark.parametrize( 'pandas', [NumpyPandas(), ArrowPandas()] ) # result: [('1E-28',), ('10000000000000000000000000.0',)] - def test_numeric_decimal_combined(self, pandas): - duckdb_conn = duckdb.connect() + def test_numeric_decimal_combined(self, pandas, duckdb_cursor): decimals = pandas.DataFrame( data={"0": [Decimal("0.0000000000000000000000000001"), Decimal("10000000000000000000000000.0")]} ) @@ -725,8 +779,8 @@ def test_numeric_decimal_combined(self, pandas): (10000000000000000000000000.0), ) tbl(a); """ - duckdb_conn.execute(reference_query) - reference = duckdb.query("select * from tbl", connection=duckdb_conn).fetchall() + duckdb_cursor.execute(reference_query) + reference = duckdb_cursor.sql("select * from tbl").fetchall() conversion = duckdb.query_df(decimals, "x", "select * from x").fetchall() assert conversion == reference print(reference) @@ -734,8 +788,7 @@ def test_numeric_decimal_combined(self, pandas): # result: [('1234.0',), ('123456789.0',), ('1234567890123456789.0',), ('0.1234567890123456789',)] @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_numeric_decimal_varying_sizes(self, pandas): - duckdb_conn = duckdb.connect() + def test_numeric_decimal_varying_sizes(self, pandas, duckdb_cursor): decimals = pandas.DataFrame( data={ "0": [ @@ -755,16 +808,15 @@ def test_numeric_decimal_varying_sizes(self, pandas): (0.1234567890123456789) ) tbl(a); """ - duckdb_conn.execute(reference_query) - reference = duckdb.query("select * from tbl", connection=duckdb_conn).fetchall() + duckdb_cursor.execute(reference_query) + reference = duckdb_cursor.sql("select * from tbl").fetchall() conversion = duckdb.query_df(decimals, "x", "select * from x").fetchall() assert conversion == reference print(reference) print(conversion) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_numeric_decimal_fallback_to_double(self, pandas): - duckdb_conn = duckdb.connect() + def test_numeric_decimal_fallback_to_double(self, pandas, duckdb_cursor): # The widths of these decimal values are bigger than the max supported width for DECIMAL data = [ Decimal("1.234567890123456789012345678901234567890123456789"), @@ -778,15 +830,14 @@ def test_numeric_decimal_fallback_to_double(self, pandas): (123456789012345678901234567890123456789012345678.0) ) tbl(a); """ - duckdb_conn.execute(reference_query) - reference = duckdb.query("select * from tbl", connection=duckdb_conn).fetchall() + duckdb_cursor.execute(reference_query) + reference = duckdb_cursor.sql("select * from tbl").fetchall() conversion = duckdb.query_df(decimals, "x", "select * from x").fetchall() assert conversion == reference assert isinstance(conversion[0][0], float) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_numeric_decimal_double_mixed(self, pandas): - duckdb_conn = duckdb.connect() + def test_numeric_decimal_double_mixed(self, pandas, duckdb_cursor): data = [ Decimal("1.234"), Decimal("1.234567891234567890123456789012345678901234567890123456789"), @@ -811,15 +862,14 @@ def test_numeric_decimal_double_mixed(self, pandas): (123.5e300) ) tbl(a); """ - duckdb_conn.execute(reference_query) - reference = duckdb.query("select * from tbl", connection=duckdb_conn).fetchall() - conversion = duckdb.query_df(decimals, "x", "select * from x").fetchall() + duckdb_cursor.execute(reference_query) + reference = duckdb_cursor.sql("select * from tbl").fetchall() + conversion = duckdb_cursor.sql("select * from decimals").fetchall() assert conversion == reference assert isinstance(conversion[0][0], float) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_numeric_decimal_out_of_range(self, pandas): - duckdb_conn = duckdb.connect() + def test_numeric_decimal_out_of_range(self, pandas, duckdb_cursor): data = [Decimal("1.234567890123456789012345678901234567"), Decimal("123456789012345678901234567890123456.0")] decimals = pandas.DataFrame(data={"0": data}) reference_query = """ @@ -829,7 +879,7 @@ def test_numeric_decimal_out_of_range(self, pandas): (123456789012345678901234567890123456.0) ) tbl(a); """ - duckdb_conn.execute(reference_query) - reference = duckdb.query("select * from tbl", connection=duckdb_conn).fetchall() - conversion = duckdb.query_df(decimals, "x", "select * from x").fetchall() + duckdb_cursor.execute(reference_query) + reference = duckdb_cursor.sql("select * from tbl").fetchall() + conversion = duckdb_cursor.sql("select * from decimals").fetchall() assert conversion == reference diff --git a/tools/pythonpkg/tests/fast/pandas/test_df_recursive_nested.py b/tools/pythonpkg/tests/fast/pandas/test_df_recursive_nested.py index 4ba24d63196e..01ad6e5cbffc 100644 --- a/tools/pythonpkg/tests/fast/pandas/test_df_recursive_nested.py +++ b/tools/pythonpkg/tests/fast/pandas/test_df_recursive_nested.py @@ -8,12 +8,12 @@ NULL = None -def check_equal(df, reference_query): +def check_equal(conn, df, reference_query): duckdb_conn = duckdb.connect() duckdb_conn.execute(reference_query) - res = duckdb.query('SELECT * FROM tbl', connection=duckdb_conn).fetchall() - df_res = duckdb.query('SELECT * FROM tbl', connection=duckdb_conn).df() - out = duckdb.query_df(df, 'x', "SELECT * FROM x").fetchall() + res = duckdb_conn.query('SELECT * FROM tbl').fetchall() + df_res = duckdb_conn.query('SELECT * FROM tbl').df() + out = conn.sql("SELECT * FROM df").fetchall() assert res == out @@ -28,7 +28,7 @@ def test_list_of_structs(self, duckdb_cursor, pandas): data = [[{'a': 5}, NULL, {'a': NULL}], NULL, [{'a': 5}, NULL, {'a': NULL}]] reference_query = create_reference_query(data) df = pandas.DataFrame([{'a': data}]) - check_equal(df, reference_query) + check_equal(duckdb_cursor, df, reference_query) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) def test_list_of_map(self, duckdb_cursor, pandas): @@ -38,9 +38,18 @@ def test_list_of_map(self, duckdb_cursor, pandas): NULL, [NULL, {'key': [3, 2, 4], 'value': [NULL, 'a', NULL]}, {'key': ['a', 'b', 'c'], 'value': [1, 2, 3]}], ] - reference_query = create_reference_query(data) + reference_data = [ + [{'key': ['5'], 'value': [NULL]}, NULL, {'key': [], 'value': []}], + NULL, + [ + NULL, + {'key': ['3', '2', '4'], 'value': [NULL, 'a', NULL]}, + {'key': ['a', 'b', 'c'], 'value': ['1', '2', '3']}, + ], + ] + reference_query = create_reference_query(reference_data) df = pandas.DataFrame([{'a': data}]) - check_equal(df, reference_query) + check_equal(duckdb_cursor, df, reference_query) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) def test_recursive_list(self, duckdb_cursor, pandas): @@ -48,7 +57,7 @@ def test_recursive_list(self, duckdb_cursor, pandas): data = [[[[3, NULL, 5], NULL], NULL, [[5, -20, NULL]]], NULL, [[[NULL]], [[]], NULL]] reference_query = create_reference_query(data) df = pandas.DataFrame([{'a': data}]) - check_equal(df, reference_query) + check_equal(duckdb_cursor, df, reference_query) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) def test_recursive_struct(self, duckdb_cursor, pandas): @@ -59,7 +68,7 @@ def test_recursive_struct(self, duckdb_cursor, pandas): } reference_query = create_reference_query(data) df = pandas.DataFrame([{'a': data}]) - check_equal(df, reference_query) + check_equal(duckdb_cursor, df, reference_query) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) def test_recursive_map(self, duckdb_cursor, pandas): @@ -79,7 +88,7 @@ def test_recursive_map(self, duckdb_cursor, pandas): } reference_query = create_reference_query(data) df = pandas.DataFrame([{'a': data}]) - check_equal(df, reference_query) + check_equal(duckdb_cursor, df, reference_query) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) def test_recursive_stresstest(self, duckdb_cursor, pandas): @@ -114,4 +123,4 @@ def test_recursive_stresstest(self, duckdb_cursor, pandas): ] reference_query = create_reference_query(data) df = pandas.DataFrame([{'a': data}]) - check_equal(df, reference_query) + check_equal(duckdb_cursor, df, reference_query) diff --git a/tools/pythonpkg/tests/fast/pandas/test_pandas_na.py b/tools/pythonpkg/tests/fast/pandas/test_pandas_na.py index f76fd98077dd..fb102f9bd1a0 100644 --- a/tools/pythonpkg/tests/fast/pandas/test_pandas_na.py +++ b/tools/pythonpkg/tests/fast/pandas/test_pandas_na.py @@ -18,15 +18,13 @@ def test_pandas_na(self, duckdb_cursor): # DataFrame containing a single pd.NA df = pd.DataFrame(pd.Series([pd.NA])) - conn = duckdb.connect() - - res = conn.execute("select * from df").fetchall() + res = duckdb_cursor.execute("select * from df").fetchall() assert res[0][0] == None # DataFrame containing multiple values, with a pd.NA mixed in null_index = 3 df = pd.DataFrame(pd.Series([3, 1, 2, pd.NA, 8, 6])) - res = conn.execute("select * from df").fetchall() + res = duckdb_cursor.execute("select * from df").fetchall() items = [x[0] for x in [y for y in res]] assert_nullness(items, [null_index]) @@ -62,13 +60,13 @@ def test_pandas_na(self, duckdb_cursor): assert str(nan_df['a'].dtype) == 'float64' assert str(na_df['a'].dtype) == 'object' # pd.NA values turn the column into 'object' - nan_result = conn.execute("select * from nan_df").df() - na_result = conn.execute("select * from na_df").df() + nan_result = duckdb_cursor.execute("select * from nan_df").df() + na_result = duckdb_cursor.execute("select * from na_df").df() pd.testing.assert_frame_equal(nan_result, na_result) # Mixed with stringified pd.NA values na_string_df = pd.DataFrame({'a': [str(pd.NA), str(pd.NA), pd.NA, str(pd.NA), pd.NA, pd.NA, pd.NA, str(pd.NA)]}) null_indices = [2, 4, 5, 6] - res = conn.execute("select * from na_string_df").fetchall() + res = duckdb_cursor.execute("select * from na_string_df").fetchall() items = [x[0] for x in [y for y in res]] assert_nullness(items, null_indices) diff --git a/tools/pythonpkg/tests/fast/pandas/test_pandas_object.py b/tools/pythonpkg/tests/fast/pandas/test_pandas_object.py index 35e20074d103..ebfd2e933088 100644 --- a/tools/pythonpkg/tests/fast/pandas/test_pandas_object.py +++ b/tools/pythonpkg/tests/fast/pandas/test_pandas_object.py @@ -37,7 +37,7 @@ def test_tuple_to_list(self, duckdb_cursor): def test_2273(self, duckdb_cursor): df_in = pd.DataFrame([[datetime.date(1992, 7, 30)]]) - assert duckdb.query("Select * from df_in").fetchall() == [(datetime.date(1992, 7, 30),)] + assert duckdb_cursor.query("Select * from df_in").fetchall() == [(datetime.date(1992, 7, 30),)] def test_object_to_string_with_stride(self, duckdb_cursor): data = np.array([["a", "b", "c"], [1, 2, 3], [1, 2, 3], [11, 22, 33]]) diff --git a/tools/pythonpkg/tests/fast/pandas/test_same_name.py b/tools/pythonpkg/tests/fast/pandas/test_same_name.py index 0ffbc2936a23..5c752630af7d 100644 --- a/tools/pythonpkg/tests/fast/pandas/test_same_name.py +++ b/tools/pythonpkg/tests/fast/pandas/test_same_name.py @@ -66,16 +66,18 @@ def test_minimally_rename(self, duckdb_cursor): ) con = duckdb.connect() con.register('df_view', df) - assert con.execute("DESCRIBE df_view;").fetchall() == [ + rel = con.sql("DESCRIBE df_view;") + res = rel.fetchall() + assert res == [ ('a_1', 'BIGINT', 'YES', None, None, None), ('a', 'BIGINT', 'YES', None, None, None), - ('a_3', 'BIGINT', 'YES', None, None, None), ('a_2', 'BIGINT', 'YES', None, None, None), + ('a_2_1', 'BIGINT', 'YES', None, None, None), ] assert con.execute("select a_1 from df_view;").fetchall() == [(1,), (2,), (3,), (4,)] assert con.execute("select a from df_view;").fetchall() == [(5,), (6,), (7,), (8,)] - assert con.execute("select a_3 from df_view;").fetchall() == [(9,), (10,), (11,), (12,)] - assert con.execute("select a_2 from df_view;").fetchall() == [(13,), (14,), (15,), (16,)] + assert con.execute("select a_2 from df_view;").fetchall() == [(9,), (10,), (11,), (12,)] + assert con.execute("select a_2_1 from df_view;").fetchall() == [(13,), (14,), (15,), (16,)] # Verify we are not changing original dataframe assert all(df.columns == ['a_1', 'a', 'a', 'a_2']), df.columns diff --git a/tools/pythonpkg/tests/fast/pandas/test_timedelta.py b/tools/pythonpkg/tests/fast/pandas/test_timedelta.py index 4737cfbe9b5f..843c47f2df64 100644 --- a/tools/pythonpkg/tests/fast/pandas/test_timedelta.py +++ b/tools/pythonpkg/tests/fast/pandas/test_timedelta.py @@ -7,28 +7,77 @@ class TestTimedelta(object): def test_timedelta_positive(self, duckdb_cursor): - duckdb_interval = duckdb.query( + duckdb_interval = duckdb_cursor.query( "SELECT '2290-01-01 23:59:00'::TIMESTAMP - '2000-01-01 23:59:00'::TIMESTAMP AS '0'" ).df() data = [datetime.timedelta(microseconds=9151574400000000)] df_in = pd.DataFrame({0: pd.Series(data=data, dtype='object')}) - df_out = duckdb.query_df(df_in, "df", "select * from df").df() + df_out = duckdb.query_df(df_in, "df", "select * from df", connection=duckdb_cursor).df() pd.testing.assert_frame_equal(df_out, duckdb_interval) - def test_timedelta_coverage(self, duckdb_cursor): - duckdb_interval = duckdb.query( + def test_timedelta_basic(self, duckdb_cursor): + duckdb_interval = duckdb_cursor.query( "SELECT '2290-08-30 23:53:40'::TIMESTAMP - '2000-02-01 01:56:00'::TIMESTAMP AS '0'" ).df() data = [datetime.timedelta(microseconds=9169797460000000)] df_in = pd.DataFrame({0: pd.Series(data=data, dtype='object')}) - df_out = duckdb.query_df(df_in, "df", "select * from df").df() + df_out = duckdb.query_df(df_in, "df", "select * from df", connection=duckdb_cursor).df() pd.testing.assert_frame_equal(df_out, duckdb_interval) def test_timedelta_negative(self, duckdb_cursor): - duckdb_interval = duckdb.query( + duckdb_interval = duckdb_cursor.query( "SELECT '2000-01-01 23:59:00'::TIMESTAMP - '2290-01-01 23:59:00'::TIMESTAMP AS '0'" ).df() data = [datetime.timedelta(microseconds=-9151574400000000)] df_in = pd.DataFrame({0: pd.Series(data=data, dtype='object')}) - df_out = duckdb.query_df(df_in, "df", "select * from df").df() + df_out = duckdb.query_df(df_in, "df", "select * from df", connection=duckdb_cursor).df() pd.testing.assert_frame_equal(df_out, duckdb_interval) + + @pytest.mark.parametrize('days', [1, 9999]) + @pytest.mark.parametrize('seconds', [0, 60]) + @pytest.mark.parametrize( + 'microseconds', + [ + 0, + 232493, + 999_999, + ], + ) + @pytest.mark.parametrize('milliseconds', [0, 999]) + @pytest.mark.parametrize('minutes', [0, 60]) + @pytest.mark.parametrize('hours', [0, 24]) + @pytest.mark.parametrize('weeks', [0, 51]) + def test_timedelta_coverage(self, duckdb_cursor, days, seconds, microseconds, milliseconds, minutes, hours, weeks): + def create_duck_interval(days, seconds, microseconds, milliseconds, minutes, hours, weeks) -> str: + instant = f""" + (INTERVAL {days + (weeks * 7)} DAYS + + INTERVAL {seconds} SECONDS + + INTERVAL {microseconds} MICROSECONDS + + INTERVAL {milliseconds} MILLISECONDS + + INTERVAL {minutes} MINUTE + + INTERVAL {hours} HOURS) + """ + return instant + + def create_python_interval( + days, seconds, microseconds, milliseconds, minutes, hours, weeks + ) -> datetime.timedelta: + return datetime.timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks) + + duck_interval = create_duck_interval(days, seconds, microseconds, milliseconds, minutes, hours, weeks) + + query = "select '1990/02/11'::DATE - {value}, '1990/02/11'::DATE - $1" + query = query.format(value=duck_interval) + + val = create_python_interval(days, seconds, microseconds, milliseconds, minutes, hours, weeks) + a, b = duckdb_cursor.execute(query, [val]).fetchone() + assert a == b + + equality = "select {value} = $1, {value}, $1" + equality = equality.format(value=duck_interval) + res, a, b = duckdb_cursor.execute(equality, [val]).fetchone() + if res != True: + # FIXME: in some cases intervals that are identical don't compare equal. + assert a == b + else: + assert res == True diff --git a/tools/pythonpkg/tests/fast/pandas/test_timestamp.py b/tools/pythonpkg/tests/fast/pandas/test_timestamp.py index be181396fdb3..51641e281a34 100644 --- a/tools/pythonpkg/tests/fast/pandas/test_timestamp.py +++ b/tools/pythonpkg/tests/fast/pandas/test_timestamp.py @@ -63,3 +63,14 @@ def test_timestamp_timedelta(self): ) df_from_duck = duckdb.from_df(df).df() assert df_from_duck.equals(df) + + def test_timestamp_timezone(self, duckdb_cursor): + rel = duckdb_cursor.query( + """ + SELECT + '2019-01-01 00:00:00+00'::TIMESTAMPTZ AS dateTime, + '2019-01-01 00:00:00+00'::TIMESTAMPTZ AS dateTime + """ + ) + res = rel.df() + assert res['dateTime'][0] == res['dateTime_1'][0] diff --git a/tools/pythonpkg/tests/fast/relational_api/test_rapi_description.py b/tools/pythonpkg/tests/fast/relational_api/test_rapi_description.py index 395ff2e0c09a..8738b30a9c26 100644 --- a/tools/pythonpkg/tests/fast/relational_api/test_rapi_description.py +++ b/tools/pythonpkg/tests/fast/relational_api/test_rapi_description.py @@ -3,25 +3,25 @@ class TestRAPIDescription(object): - def test_rapi_description(self): - res = duckdb.query('select 42::INT AS a, 84::BIGINT AS b') + def test_rapi_description(self, duckdb_cursor): + res = duckdb_cursor.query('select 42::INT AS a, 84::BIGINT AS b') desc = res.description names = [x[0] for x in desc] types = [x[1] for x in desc] assert names == ['a', 'b'] assert types == ['NUMBER', 'NUMBER'] - def test_rapi_describe(self): + def test_rapi_describe(self, duckdb_cursor): np = pytest.importorskip("numpy") pd = pytest.importorskip("pandas") - res = duckdb.query('select 42::INT AS a, 84::BIGINT AS b') + res = duckdb_cursor.query('select 42::INT AS a, 84::BIGINT AS b') duck_describe = res.describe().df() np.testing.assert_array_equal(duck_describe['aggr'], ['count', 'mean', 'stddev', 'min', 'max', 'median']) np.testing.assert_array_equal(duck_describe['a'], [1, 42, float('nan'), 42, 42, 42]) np.testing.assert_array_equal(duck_describe['b'], [1, 84, float('nan'), 84, 84, 84]) # now with more values - res = duckdb.query( + res = duckdb_cursor.query( 'select CASE WHEN i%2=0 THEN i ELSE NULL END AS i, i * 10 AS j, (i * 23 // 27)::DOUBLE AS k FROM range(10000) t(i)' ) duck_describe = res.describe().df() @@ -30,22 +30,22 @@ def test_rapi_describe(self): np.testing.assert_allclose(duck_describe['k'], [10000.0, 4258.3518, 2459.207430770227, 0.0, 8517.0, 4258.5]) # describe data with other (non-numeric) types - res = duckdb.query("select 'hello world' AS a, [1, 2, 3] AS b") + res = duckdb_cursor.query("select 'hello world' AS a, [1, 2, 3] AS b") duck_describe = res.describe().df() assert len(duck_describe) > 0 # describe mixed table - res = duckdb.query("select 42::INT AS a, 84::BIGINT AS b, 'hello world' AS c") + res = duckdb_cursor.query("select 42::INT AS a, 84::BIGINT AS b, 'hello world' AS c") duck_describe = res.describe().df() np.testing.assert_array_equal(duck_describe['a'], [1, 42, float('nan'), 42, 42, 42]) np.testing.assert_array_equal(duck_describe['b'], [1, 84, float('nan'), 84, 84, 84]) # timestamps - res = duckdb.query("select timestamp '1992-01-01', date '2000-01-01'") + res = duckdb_cursor.query("select timestamp '1992-01-01', date '2000-01-01'") duck_describe = res.describe().df() assert len(duck_describe) > 0 # describe empty result - res = duckdb.query("select 42 AS a LIMIT 0") + res = duckdb_cursor.query("select 42 AS a LIMIT 0") duck_describe = res.describe().df() assert len(duck_describe) > 0 diff --git a/tools/pythonpkg/tests/fast/relational_api/test_rapi_functions.py b/tools/pythonpkg/tests/fast/relational_api/test_rapi_functions.py index bb0dc4781b54..185364c8d151 100644 --- a/tools/pythonpkg/tests/fast/relational_api/test_rapi_functions.py +++ b/tools/pythonpkg/tests/fast/relational_api/test_rapi_functions.py @@ -2,8 +2,8 @@ class TestRAPIFunctions(object): - def test_rapi_str_print(self): - res = duckdb.query('select 42::INT AS a, 84::BIGINT AS b') + def test_rapi_str_print(self, duckdb_cursor): + res = duckdb_cursor.query('select 42::INT AS a, 84::BIGINT AS b') assert str(res) is not None res.show() diff --git a/tools/pythonpkg/tests/fast/relational_api/test_rapi_query.py b/tools/pythonpkg/tests/fast/relational_api/test_rapi_query.py index 5ad632d74bf3..5fdbae2f9f64 100644 --- a/tools/pythonpkg/tests/fast/relational_api/test_rapi_query.py +++ b/tools/pythonpkg/tests/fast/relational_api/test_rapi_query.py @@ -35,7 +35,7 @@ def test_query_table(self, tbl_table, input): result = rel.execute() assert result.fetchall() == [tuple([x]) for x in input] - def test_query_table_unrelated(self, tbl_table): + def test_query_table_basic(self, tbl_table): con = duckdb.default_connection rel = con.table("tbl") # Querying a table relation @@ -43,7 +43,7 @@ def test_query_table_unrelated(self, tbl_table): result = rel.execute() assert result.fetchall() == [(5,)] - def test_query_table_qualified(self): + def test_query_table_qualified(self, duckdb_cursor): con = duckdb.default_connection con.execute("create schema fff") @@ -58,18 +58,16 @@ def test_query_insert_into_relation(self, tbl_table): with pytest.raises(duckdb.InvalidInputException): rel.insert([5]) - def test_query_non_select(self): - con = duckdb.connect() - rel = con.query("select [1,2,3,4]") + def test_query_non_select(self, duckdb_cursor): + rel = duckdb_cursor.query("select [1,2,3,4]") rel.query("relation", "create table tbl as select * from relation") - result = con.execute("select * from tbl").fetchall() + result = duckdb_cursor.execute("select * from tbl").fetchall() assert result == [([1, 2, 3, 4],)] - def test_query_non_select_fail(self): - con = duckdb.connect() - rel = con.query("select [1,2,3,4]") - con.execute("create table tbl as select range(10)") + def test_query_non_select_fail(self, duckdb_cursor): + rel = duckdb_cursor.query("select [1,2,3,4]") + duckdb_cursor.execute("create table tbl as select range(10)") # Table already exists with pytest.raises(duckdb.CatalogException): rel.query("relation", "create table tbl as select * from relation") @@ -86,47 +84,46 @@ def test_query_table_unrelated(self, tbl_table): result = rel.execute() assert result.fetchall() == [(5,)] - def test_query_non_select_result(self): + def test_query_non_select_result(self, duckdb_cursor): with pytest.raises(duckdb.ParserException, match="syntax error"): - duckdb.query('selec 42') + duckdb_cursor.query('selec 42') - res = duckdb.query('explain select 42').fetchall() + res = duckdb_cursor.query('explain select 42').fetchall() assert len(res) > 0 - res = duckdb.query('describe select 42::INT AS column_name').fetchall() + res = duckdb_cursor.query('describe select 42::INT AS column_name').fetchall() assert res[0][0] == 'column_name' - res = duckdb.query('create or replace table tbl_non_select_result(i integer)') + res = duckdb_cursor.query('create or replace table tbl_non_select_result(i integer)') assert res is None - res = duckdb.query('insert into tbl_non_select_result values (42)') + res = duckdb_cursor.query('insert into tbl_non_select_result values (42)') assert res is None - res = duckdb.query('insert into tbl_non_select_result values (84) returning *').fetchall() + res = duckdb_cursor.query('insert into tbl_non_select_result values (84) returning *').fetchall() assert res == [(84,)] - res = duckdb.query('select * from tbl_non_select_result').fetchall() + res = duckdb_cursor.query('select * from tbl_non_select_result').fetchall() assert res == [(42,), (84,)] - res = duckdb.query('insert into tbl_non_select_result select * from range(10000) returning *').fetchall() + res = duckdb_cursor.query('insert into tbl_non_select_result select * from range(10000) returning *').fetchall() assert len(res) == 10000 - res = duckdb.query('show tables').fetchall() + res = duckdb_cursor.query('show tables').fetchall() assert len(res) > 0 - res = duckdb.query('drop table tbl_non_select_result') + res = duckdb_cursor.query('drop table tbl_non_select_result') assert res is None - def test_replacement_scan_recursion(self): - con = duckdb.connect() + def test_replacement_scan_recursion(self, duckdb_cursor): depth_limit = 1000 import sys if sys.platform.startswith('win'): # With the default we reach a stack overflow in the CI depth_limit = 250 - con.execute(f"SET max_expression_depth TO {depth_limit}") - rel = con.sql('select 42') - rel = con.sql('select * from rel') + duckdb_cursor.execute(f"SET max_expression_depth TO {depth_limit}") + rel = duckdb_cursor.sql('select 42') + rel = duckdb_cursor.sql('select * from rel') with pytest.raises(duckdb.BinderException, match=f'Max expression depth limit of {depth_limit} exceeded'): - con.sql('select * from rel') + duckdb_cursor.sql('select * from rel') diff --git a/tools/pythonpkg/tests/fast/spark/test_replace_column_value.py b/tools/pythonpkg/tests/fast/spark/test_replace_column_value.py index c8fa6e704e41..84e6fd395a04 100644 --- a/tools/pythonpkg/tests/fast/spark/test_replace_column_value.py +++ b/tools/pythonpkg/tests/fast/spark/test_replace_column_value.py @@ -36,3 +36,9 @@ def test_replace_value(self, spark): ] print(expected) assert res == expected + # Replace all substrings of the specified string value that match regexp with rep. + df3 = spark.createDataFrame([('100-200',)], ['str']) + res = df3.select(regexp_replace('str', r'(\d+)', '--').alias('d')).collect() + expected = [Row(d='-----')] + print(expected) + assert res == expected diff --git a/tools/pythonpkg/tests/fast/spark/test_spark_catalog.py b/tools/pythonpkg/tests/fast/spark/test_spark_catalog.py index 9f2bf572465c..7a8b637bc72a 100644 --- a/tools/pythonpkg/tests/fast/spark/test_spark_catalog.py +++ b/tools/pythonpkg/tests/fast/spark/test_spark_catalog.py @@ -34,8 +34,8 @@ def test_list_columns(self, spark): spark.sql('create table tbl(a varchar, b bool)') columns = spark.catalog.listColumns('tbl') assert columns == [ - Column(name='a', description=None, dataType='VARCHAR', nullable=False, isPartition=False, isBucket=False), - Column(name='b', description=None, dataType='BOOLEAN', nullable=False, isPartition=False, isBucket=False), + Column(name='a', description=None, dataType='VARCHAR', nullable=True, isPartition=False, isBucket=False), + Column(name='b', description=None, dataType='BOOLEAN', nullable=True, isPartition=False, isBucket=False), ] # FIXME: should this error instead? diff --git a/tools/pythonpkg/tests/fast/spark/test_spark_join.py b/tools/pythonpkg/tests/fast/spark/test_spark_join.py index 592770973ebf..e360507cbeb9 100644 --- a/tools/pythonpkg/tests/fast/spark/test_spark_join.py +++ b/tools/pythonpkg/tests/fast/spark/test_spark_join.py @@ -263,6 +263,7 @@ def test_right_join(self, dataframe_a, dataframe_b, how): @pytest.mark.parametrize('how', ['semi', 'leftsemi', 'left_semi']) def test_semi_join(self, dataframe_a, dataframe_b, how): df = dataframe_a.join(dataframe_b, dataframe_a.emp_dept_id == dataframe_b.dept_id, how) + df = df.orderBy(*df.columns) res = df.collect() assert res == [ Row( @@ -295,6 +296,7 @@ def test_semi_join(self, dataframe_a, dataframe_b, how): @pytest.mark.parametrize('how', ['anti', 'leftanti', 'left_anti']) def test_anti_join(self, dataframe_a, dataframe_b, how): df = dataframe_a.join(dataframe_b, dataframe_a.emp_dept_id == dataframe_b.dept_id, how) + df.orderBy(*df.columns) res = df.collect() assert res == [ Row(emp_id=6, name='Brown', superior_emp_id=2, year_joined='2010', emp_dept_id='50', gender='', salary=-1) @@ -313,6 +315,7 @@ def test_self_join(self, dataframe_a): col("emp2.name").alias("superior_emp_name"), ) ) + df = df.orderBy(*df.columns) res = df.collect() assert res == [ Row(emp_id=2, name='Rose', superior_emp_id=1, superior_emp_name='Smith'), diff --git a/tools/pythonpkg/tests/fast/spark/test_spark_pandas_dataframe.py b/tools/pythonpkg/tests/fast/spark/test_spark_pandas_dataframe.py index 7f4907cdf984..356b12d02ecb 100644 --- a/tools/pythonpkg/tests/fast/spark/test_spark_pandas_dataframe.py +++ b/tools/pythonpkg/tests/fast/spark/test_spark_pandas_dataframe.py @@ -18,6 +18,7 @@ from duckdb.experimental.spark.sql.functions import col, struct, when import duckdb import re +from pandas.testing import assert_frame_equal @pytest.fixture @@ -48,3 +49,8 @@ def test_pd_conversion_schema(self, spark, pandasDF): res = sparkDF.collect() expected = "[Row(First Name='Scott', Age=50), Row(First Name='Jeff', Age=45), Row(First Name='Thomas', Age=54), Row(First Name='Ann', Age=34)]" assert str(res) == expected + + def test_spark_to_pandas_dataframe(self, spark, pandasDF): + sparkDF = spark.createDataFrame(pandasDF) + res = sparkDF.toPandas() + assert_frame_equal(res, pandasDF) diff --git a/tools/pythonpkg/tests/fast/spark/test_spark_readjson.py b/tools/pythonpkg/tests/fast/spark/test_spark_readjson.py index 715c59ef31fe..e9019be68ad6 100644 --- a/tools/pythonpkg/tests/fast/spark/test_spark_readjson.py +++ b/tools/pythonpkg/tests/fast/spark/test_spark_readjson.py @@ -8,10 +8,10 @@ class TestSparkReadJson(object): - def test_read_json(self, spark, tmp_path): + def test_read_json(self, duckdb_cursor, spark, tmp_path): file_path = tmp_path / 'basic.parquet' file_path = file_path.as_posix() - duckdb.execute(f"COPY (select 42 a, true b, 'this is a long string' c) to '{file_path}' (FORMAT JSON)") + duckdb_cursor.execute(f"COPY (select 42 a, true b, 'this is a long string' c) to '{file_path}' (FORMAT JSON)") df = spark.read.json(file_path) res = df.collect() assert res == [Row(a=42, b=True, c='this is a long string')] diff --git a/tools/pythonpkg/tests/fast/spark/test_spark_readparquet.py b/tools/pythonpkg/tests/fast/spark/test_spark_readparquet.py index b30938dac2ce..6c8d68cd66a8 100644 --- a/tools/pythonpkg/tests/fast/spark/test_spark_readparquet.py +++ b/tools/pythonpkg/tests/fast/spark/test_spark_readparquet.py @@ -8,10 +8,12 @@ class TestSparkReadParquet(object): - def test_read_parquet(self, spark, tmp_path): + def test_read_parquet(self, duckdb_cursor, spark, tmp_path): file_path = tmp_path / 'basic.parquet' file_path = file_path.as_posix() - duckdb.execute(f"COPY (select 42 a, true b, 'this is a long string' c) to '{file_path}' (FORMAT PARQUET)") + duckdb_cursor.execute( + f"COPY (select 42 a, true b, 'this is a long string' c) to '{file_path}' (FORMAT PARQUET)" + ) df = spark.read.parquet(file_path) res = df.collect() assert res == [Row(a=42, b=True, c='this is a long string')] diff --git a/tools/pythonpkg/tests/fast/spark/test_spark_to_csv.py b/tools/pythonpkg/tests/fast/spark/test_spark_to_csv.py new file mode 100644 index 000000000000..12c7df5febe3 --- /dev/null +++ b/tools/pythonpkg/tests/fast/spark/test_spark_to_csv.py @@ -0,0 +1,196 @@ +import pytest +import tempfile + +import os + +_ = pytest.importorskip("duckdb.experimental.spark") + +from duckdb.experimental.spark.sql import SparkSession as session +from duckdb import connect, InvalidInputException, read_csv +from conftest import NumpyPandas, ArrowPandas, getTimeSeriesData +import pandas._testing as tm +import datetime +import csv + + +@pytest.fixture +def df(spark): + simpleData = ( + ("Java", 4000, 5), + ("Python", 4600, 10), + ("Scala", 4100, 15), + ("Scala", 4500, 15), + ("PHP", 3000, 20), + ) + columns = ["CourseName", "fee", "discount"] + dataframe = spark.createDataFrame(data=simpleData, schema=columns) + yield dataframe + + +@pytest.fixture(params=[NumpyPandas(), ArrowPandas()]) +def pandas_df_ints(request, spark): + pandas = request.param + dataframe = pandas.DataFrame({'a': [5, 3, 23, 2], 'b': [45, 234, 234, 2]}) + yield dataframe + + +@pytest.fixture(params=[NumpyPandas(), ArrowPandas()]) +def pandas_df_strings(request, spark): + pandas = request.param + dataframe = pandas.DataFrame({'a': ['string1', 'string2', 'string3']}) + yield dataframe + + +class TestSparkToCSV(object): + def test_basic_to_csv(self, pandas_df_ints, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + + df = spark.createDataFrame(pandas_df_ints) + + df.write.csv(temp_file_name, header=False) + + csv_rel = spark.read.csv(temp_file_name, header=False) + + assert df.collect() == csv_rel.collect() + + def test_to_csv_sep(self, pandas_df_ints, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + + df = spark.createDataFrame(pandas_df_ints) + + df.write.csv(temp_file_name, sep=',', header=False) + + csv_rel = spark.read.csv(temp_file_name, header=False, sep=',') + assert df.collect() == csv_rel.collect() + + @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) + def test_to_csv_na_rep(self, pandas, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + pandas_df = pandas.DataFrame({'a': [5, None, 23, 2], 'b': [45, 234, 234, 2]}) + + df = spark.createDataFrame(pandas_df) + + df.write.csv(temp_file_name, nullValue="test", header=False) + + csv_rel = spark.read.csv(temp_file_name, nullValue="test") + assert df.collect() == csv_rel.collect() + + @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) + def test_to_csv_header(self, pandas, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + pandas_df = pandas.DataFrame({'a': [5, None, 23, 2], 'b': [45, 234, 234, 2]}) + + df = spark.createDataFrame(pandas_df) + + df.write.csv(temp_file_name, header=True) + + csv_rel = spark.read.csv(temp_file_name, header=True) + assert df.collect() == csv_rel.collect() + + @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) + def test_to_csv_quotechar(self, pandas, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + + pandas_df = pandas.DataFrame({'a': ["\'a,b,c\'", None, "hello", "bye"], 'b': [45, 234, 234, 2]}) + + df = spark.createDataFrame(pandas_df) + + df.write.csv(temp_file_name, quote='\'', sep=',', header=False) + + csv_rel = spark.read.csv(temp_file_name, sep=',', quote='\'') + assert df.collect() == csv_rel.collect() + + @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) + def test_to_csv_escapechar(self, pandas, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + pandas_df = pandas.DataFrame( + { + "c_bool": [True, False], + "c_float": [1.0, 3.2], + "c_int": [42, None], + "c_string": ["a", "b,c"], + } + ) + + df = spark.createDataFrame(pandas_df) + + df.write.csv(temp_file_name, header=True, quote='"', escape='!') + csv_rel = spark.read.csv(temp_file_name, quote='"', escape='!', header=True) + assert df.collect() == csv_rel.collect() + + @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) + def test_to_csv_date_format(self, pandas, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + pandas_df = pandas.DataFrame(getTimeSeriesData()) + dt_index = pandas_df.index + pandas_df = pandas.DataFrame({"A": dt_index, "B": dt_index.shift(1)}, index=dt_index) + + df = spark.createDataFrame(pandas_df) + + df.write.csv(temp_file_name, dateFormat="%Y%m%d", header=False) + + csv_rel = spark.read.csv(temp_file_name, dateFormat="%Y%m%d") + + assert df.collect() == csv_rel.collect() + + @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) + def test_to_csv_timestamp_format(self, pandas, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + data = [datetime.time(hour=23, minute=1, second=34, microsecond=234345)] + pandas_df = pandas.DataFrame({'0': pandas.Series(data=data, dtype='object')}) + + df = spark.createDataFrame(pandas_df) + + df.write.csv(temp_file_name, timestampFormat='%m/%d/%Y', header=False) + + csv_rel = spark.read.csv(temp_file_name, timestampFormat='%m/%d/%Y') + + assert df.collect() == csv_rel.collect() + + def test_to_csv_quoting_off(self, pandas_df_strings, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + df = spark.createDataFrame(pandas_df_strings) + df.write.csv(temp_file_name, quoteAll=None, header=False) + + csv_rel = spark.read.csv(temp_file_name) + assert df.collect() == csv_rel.collect() + + def test_to_csv_quoting_on(self, pandas_df_strings, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + df = spark.createDataFrame(pandas_df_strings) + df.write.csv(temp_file_name, quoteAll="force", header=False) + + csv_rel = spark.read.csv(temp_file_name) + assert df.collect() == csv_rel.collect() + + def test_to_csv_quoting_quote_all(self, pandas_df_strings, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + df = spark.createDataFrame(pandas_df_strings) + df.write.csv(temp_file_name, quoteAll=csv.QUOTE_ALL, header=False) + + csv_rel = spark.read.csv(temp_file_name) + assert df.collect() == csv_rel.collect() + + def test_to_csv_encoding_incorrect(self, pandas_df_strings, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + df = spark.createDataFrame(pandas_df_strings) + with pytest.raises( + InvalidInputException, match="Invalid Input Error: The only supported encoding option is 'UTF8" + ): + df.write.csv(temp_file_name, encoding="nope", header=False) + + def test_to_csv_encoding_correct(self, pandas_df_strings, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + df = spark.createDataFrame(pandas_df_strings) + df.write.csv(temp_file_name, encoding="UTF-8", header=False) + csv_rel = spark.read.csv(temp_file_name) + assert df.collect() == csv_rel.collect() + + def test_compression_gzip(self, pandas_df_strings, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.csv") + df = spark.createDataFrame(pandas_df_strings) + df.write.csv(temp_file_name, compression="gzip", header=False) + + # slightly convoluted - pyspark .read.csv does not take a compression argument + csv_rel = spark.createDataFrame(read_csv(temp_file_name, compression="gzip").df()) + assert df.collect() == csv_rel.collect() diff --git a/tools/pythonpkg/tests/fast/spark/test_spark_to_parquet.py b/tools/pythonpkg/tests/fast/spark/test_spark_to_parquet.py new file mode 100644 index 000000000000..313bff391ea4 --- /dev/null +++ b/tools/pythonpkg/tests/fast/spark/test_spark_to_parquet.py @@ -0,0 +1,40 @@ +import pytest +import tempfile + +import os + +_ = pytest.importorskip("duckdb.experimental.spark") + + +@pytest.fixture +def df(spark): + simpleData = ( + ("Java", 4000, 5), + ("Python", 4600, 10), + ("Scala", 4100, 15), + ("Scala", 4500, 15), + ("PHP", 3000, 20), + ) + columns = ["CourseName", "fee", "discount"] + dataframe = spark.createDataFrame(data=simpleData, schema=columns) + yield dataframe + + +class TestSparkToParquet(object): + def test_basic_to_parquet(self, df, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.parquet") + + df.write.parquet(temp_file_name) + + csv_rel = spark.read.parquet(temp_file_name) + + assert df.collect() == csv_rel.collect() + + def test_compressed_to_parquet(self, df, spark, tmp_path): + temp_file_name = os.path.join(tmp_path, "temp_file.parquet") + + df.write.parquet(temp_file_name, compression="ZSTD") + + csv_rel = spark.read.parquet(temp_file_name) + + assert df.collect() == csv_rel.collect() diff --git a/tools/pythonpkg/tests/fast/spark/test_spark_types.py b/tools/pythonpkg/tests/fast/spark/test_spark_types.py index 52d62a3c3b05..f900820d4905 100644 --- a/tools/pythonpkg/tests/fast/spark/test_spark_types.py +++ b/tools/pythonpkg/tests/fast/spark/test_spark_types.py @@ -28,6 +28,7 @@ LongType, UnsignedLongType, HugeIntegerType, + UnsignedHugeIntegerType, DayTimeIntervalType, ArrayType, MapType, @@ -58,6 +59,7 @@ def test_all_types_schema(self, spark): StructField('int', IntegerType(), True), StructField('bigint', LongType(), True), StructField('hugeint', HugeIntegerType(), True), + StructField('uhugeint', UnsignedHugeIntegerType(), True), StructField('utinyint', UnsignedByteType(), True), StructField('usmallint', UnsignedShortType(), True), StructField('uint', UnsignedIntegerType(), True), diff --git a/tools/pythonpkg/tests/fast/sqlite/test_types.py b/tools/pythonpkg/tests/fast/sqlite/test_types.py index 58b404857c15..d4be447aee88 100644 --- a/tools/pythonpkg/tests/fast/sqlite/test_types.py +++ b/tools/pythonpkg/tests/fast/sqlite/test_types.py @@ -206,7 +206,7 @@ def test_CheckTimestamp(self): self.assertEqual(ts, ts2) def test_CheckSqlTimestamp(self): - now = datetime.datetime.utcnow() + now = datetime.datetime.now(datetime.UTC) if hasattr(datetime, 'UTC') else datetime.datetime.utcnow() self.cur.execute("insert into test(ts) values (current_timestamp)") self.cur.execute("select ts from test") ts = self.cur.fetchone()[0] diff --git a/tools/pythonpkg/tests/fast/test_all_types.py b/tools/pythonpkg/tests/fast/test_all_types.py index bd2ffda4bdc4..5b904fdfab7e 100644 --- a/tools/pythonpkg/tests/fast/test_all_types.py +++ b/tools/pythonpkg/tests/fast/test_all_types.py @@ -109,6 +109,10 @@ def test_fetchall(self, cur_type): 'timestamp_array': "[], ['1970-01-01'::TIMESTAMP, NULL, '0001-01-01'::TIMESTAMP, '9999-12-31 23:59:59.999999'::TIMESTAMP,], [NULL::TIMESTAMP,]", 'timestamptz_array': "[], ['1970-01-01 00:00:00Z'::TIMESTAMPTZ, NULL, '0001-01-01 00:00:00Z'::TIMESTAMPTZ, '9999-12-31 23:59:59.999999Z'::TIMESTAMPTZ,], [NULL::TIMESTAMPTZ,]", } + adjusted_values = { + 'time': """CASE WHEN "time" = '24:00:00'::TIME THEN '23:59:59.999999'::TIME ELSE "time" END AS "time" """, + 'time_tz': """CASE WHEN time_tz = '24:00:00-1559'::TIMETZ THEN '23:59:59.999999-1559'::TIMETZ ELSE time_tz END AS "time_tz" """, + } min_datetime = datetime.datetime.min min_datetime_with_utc = min_datetime.replace(tzinfo=pytz.UTC) max_datetime = datetime.datetime.max @@ -120,7 +124,7 @@ def test_fetchall(self, cur_type): 'int': [(-2147483648,), (2147483647,), (None,)], 'bigint': [(-9223372036854775808,), (9223372036854775807,), (None,)], 'hugeint': [ - (-170141183460469231731687303715884105727,), + (-170141183460469231731687303715884105728,), (170141183460469231731687303715884105727,), (None,), ], @@ -140,7 +144,7 @@ def test_fetchall(self, cur_type): (None,), ], 'uuid': [ - (UUID('00000000-0000-0000-0000-000000000001'),), + (UUID('00000000-0000-0000-0000-000000000000'),), (UUID('ffffffff-ffff-ffff-ffff-ffffffffffff'),), (None,), ], @@ -198,7 +202,11 @@ def test_fetchall(self, cur_type): (None,), ], 'array_of_structs': [([],), ([{'a': None, 'b': None}, {'a': 42, 'b': '🦆🦆🦆🦆🦆🦆'}, None],), (None,)], - 'map': [({'key': [], 'value': []},), ({'key': ['key1', 'key2'], 'value': ['🦆🦆🦆🦆🦆🦆', 'goose']},), (None,)], + 'map': [ + ({'key': [], 'value': []},), + ({'key': ['key1', 'key2'], 'value': ['🦆🦆🦆🦆🦆🦆', 'goose']},), + (None,), + ], 'time_tz': [(datetime.time(0, 0),), (datetime.time(23, 59, 59, 999999),), (None,)], 'interval': [ (datetime.timedelta(0),), @@ -215,7 +223,8 @@ def test_fetchall(self, cur_type): } if cur_type in replacement_values: result = conn.execute("select " + replacement_values[cur_type]).fetchall() - print(cur_type, result) + elif cur_type in adjusted_values: + result = conn.execute(f'select {adjusted_values[cur_type]} from test_all_types()').fetchall() else: result = conn.execute(f'select "{cur_type}" from test_all_types()').fetchall() correct_result = correct_answer_map[cur_type] @@ -293,7 +302,7 @@ def test_fetchnumpy(self, cur_type): ), 'uuid': np.ma.array( [ - UUID('00000000-0000-0000-0000-000000000001'), + UUID('00000000-0000-0000-0000-000000000000'), UUID('ffffffff-ffff-ffff-ffff-ffffffffffff'), UUID('00000000-0000-0000-0000-000000000042'), ], @@ -421,7 +430,7 @@ def test_fetchnumpy(self, cur_type): dtype=object, ), 'time': np.ma.array( - ['00:00:00', '23:59:59.999999', None], + ['00:00:00', '24:00:00', None], mask=[0, 0, 1], dtype=object, ), @@ -435,6 +444,7 @@ def test_fetchnumpy(self, cur_type): # The following types don't have a numpy equivalent, and are coerced to # floating point types by fetchnumpy(): + # - 'uhugeint' # - 'hugeint' # - 'dec_4_1' # - 'dec_9_4' @@ -480,6 +490,12 @@ def test_arrow(self, cur_type): replacement_values = {'interval': "INTERVAL '2 years'"} # We do not round trip enum types enum_types = {'small_enum', 'medium_enum', 'large_enum', 'double_array'} + + # uhugeint currently not supported by arrow + skip_types = {'uhugeint'} + if cur_type in skip_types: + return + conn = duckdb.connect() if cur_type in replacement_values: arrow_table = conn.execute("select " + replacement_values[cur_type]).arrow() @@ -509,10 +525,15 @@ def test_pandas(self, cur_type): 'timestamptz_array': "[], ['1970-01-01 00:00:00Z'::TIMESTAMPTZ, NULL, '0001-01-01 00:00:00Z'::TIMESTAMPTZ, '9999-12-31 23:59:59.999999Z'::TIMESTAMPTZ,], [NULL::TIMESTAMPTZ,]", } + adjusted_values = { + 'time': """CASE WHEN "time" = '24:00:00'::TIME THEN '23:59:59.999999'::TIME ELSE "time" END AS "time" """, + } conn = duckdb.connect() conn.execute("SET timezone = UTC") if cur_type in replacement_values: dataframe = conn.execute("select " + replacement_values[cur_type]).df() + elif cur_type in adjusted_values: + dataframe = conn.execute(f'select {adjusted_values[cur_type]} from test_all_types()').df() else: dataframe = conn.execute(f'select "{cur_type}" from test_all_types()').df() print(cur_type) diff --git a/tools/pythonpkg/tests/fast/test_expression.py b/tools/pythonpkg/tests/fast/test_expression.py index 9e0e73c2e348..7582697281ce 100644 --- a/tools/pythonpkg/tests/fast/test_expression.py +++ b/tools/pythonpkg/tests/fast/test_expression.py @@ -565,11 +565,10 @@ def test_implicit_constant_conversion(self): def test_numeric_overflow(self): con = duckdb.connect() rel = con.sql('select 3000::SHORT salary') - # If 100 is implicitly cast to TINYINT, the execution fails in an OverflowError - expr = ColumnExpression("salary") * 100 - rel2 = rel.select(expr) - res = rel2.fetchall() - assert res == [(300_000,)] + with pytest.raises(duckdb.OutOfRangeException, match="Overflow in multiplication of INT16"): + expr = ColumnExpression("salary") * 100 + rel2 = rel.select(expr) + res = rel2.fetchall() with pytest.raises(duckdb.OutOfRangeException, match="Overflow in multiplication of INT16"): val = duckdb.Value(100, duckdb.typing.TINYINT) diff --git a/tools/pythonpkg/tests/fast/test_memory_leaks.py b/tools/pythonpkg/tests/fast/test_memory_leaks.py index 4e4a8d637cf9..228a8eace273 100644 --- a/tools/pythonpkg/tests/fast/test_memory_leaks.py +++ b/tools/pythonpkg/tests/fast/test_memory_leaks.py @@ -20,9 +20,9 @@ def check_leaks(): class TestMemoryLeaks(object): - def test_fetchmany(self, check_leaks): + def test_fetchmany(self, duckdb_cursor, check_leaks): datetimes = ['1985-01-30T16:41:43' for _ in range(10000)] df = pd.DataFrame({'time': pd.Series(data=datetimes)}) for _ in range(100): - duckdb.sql('select time::TIMESTAMP from df').fetchmany(10000) + duckdb_cursor.sql('select time::TIMESTAMP from df').fetchmany(10000) diff --git a/tools/pythonpkg/tests/fast/test_multithread.py b/tools/pythonpkg/tests/fast/test_multithread.py index 62e4501861eb..195b1d1e4549 100644 --- a/tools/pythonpkg/tests/fast/test_multithread.py +++ b/tools/pythonpkg/tests/fast/test_multithread.py @@ -11,7 +11,7 @@ import pyarrow as pa can_run = True -except: +except ImportError: can_run = False diff --git a/tools/pythonpkg/tests/fast/test_non_default_conn.py b/tools/pythonpkg/tests/fast/test_non_default_conn.py index b994a6eceb52..0745f63d4e3e 100644 --- a/tools/pythonpkg/tests/fast/test_non_default_conn.py +++ b/tools/pythonpkg/tests/fast/test_non_default_conn.py @@ -7,50 +7,45 @@ class TestNonDefaultConn(object): def test_values(self, duckdb_cursor): - conn = duckdb.connect() - conn.execute("create table t (a integer)") - duckdb.values([1], conn).insert_into("t") - assert conn.execute("select count(*) from t").fetchall()[0] == (1,) + duckdb_cursor.execute("create table t (a integer)") + duckdb.values([1], duckdb_cursor).insert_into("t") + assert duckdb_cursor.execute("select count(*) from t").fetchall()[0] == (1,) def test_query(self, duckdb_cursor): - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1)") - assert duckdb.query("select count(*) from t", connection=conn).execute().fetchall()[0] == (1,) - assert duckdb.from_query("select count(*) from t", connection=conn).execute().fetchall()[0] == (1,) + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1)") + assert duckdb_cursor.query("select count(*) from t").execute().fetchall()[0] == (1,) + assert duckdb_cursor.from_query("select count(*) from t").execute().fetchall()[0] == (1,) def test_from_csv(self, duckdb_cursor): temp_file_name = os.path.join(tempfile.mkdtemp(), next(tempfile._get_candidate_names())) - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1)") + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1)") test_df = pd.DataFrame.from_dict({"i": [1, 2, 3, 4]}) test_df.to_csv(temp_file_name, index=False) - rel = duckdb.from_csv_auto(temp_file_name, conn) + rel = duckdb_cursor.from_csv_auto(temp_file_name) assert rel.query('t_2', 'select count(*) from t inner join t_2 on (a = i)').fetchall()[0] == (1,) def test_from_parquet(self, duckdb_cursor): try: import pyarrow as pa - except: + except ImportError: return temp_file_name = os.path.join(tempfile.mkdtemp(), next(tempfile._get_candidate_names())) - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1)") + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1)") test_df = pd.DataFrame.from_dict({"i": [1, 2, 3, 4]}) test_df.to_parquet(temp_file_name, index=False) - rel = duckdb.from_parquet(temp_file_name, connection=conn) + rel = duckdb_cursor.from_parquet(temp_file_name) assert rel.query('t_2', 'select count(*) from t inner join t_2 on (a = i)').fetchall()[0] == (1,) def test_from_df(self, duckdb_cursor): - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1)") + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1)") test_df = pd.DataFrame.from_dict({"i": [1, 2, 3, 4]}) - rel = duckdb.df(test_df, connection=conn) + rel = duckdb.df(test_df, connection=duckdb_cursor) assert rel.query('t_2', 'select count(*) from t inner join t_2 on (a = i)').fetchall()[0] == (1,) - rel = duckdb.from_df(test_df, connection=conn) + rel = duckdb_cursor.from_df(test_df) assert rel.query('t_2', 'select count(*) from t inner join t_2 on (a = i)').fetchall()[0] == (1,) def test_from_arrow(self, duckdb_cursor): @@ -59,68 +54,60 @@ def test_from_arrow(self, duckdb_cursor): except: return - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1)") + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1)") test_df = pd.DataFrame.from_dict({"i": [1, 2, 3, 4]}) test_arrow = pa.Table.from_pandas(test_df) - rel = duckdb.from_arrow(test_arrow, connection=conn) + rel = duckdb_cursor.from_arrow(test_arrow) assert rel.query('t_2', 'select count(*) from t inner join t_2 on (a = i)').fetchall()[0] == (1,) - rel = duckdb.arrow(test_arrow, connection=conn) + rel = duckdb.arrow(test_arrow, connection=duckdb_cursor) assert rel.query('t_2', 'select count(*) from t inner join t_2 on (a = i)').fetchall()[0] == (1,) def test_filter_df(self, duckdb_cursor): - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1), (4)") + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1), (4)") test_df = pd.DataFrame.from_dict({"i": [1, 2, 3, 4]}) - rel = duckdb.filter(test_df, "i < 2", connection=conn) + rel = duckdb.filter(test_df, "i < 2", connection=duckdb_cursor) assert rel.query('t_2', 'select count(*) from t inner join t_2 on (a = i)').fetchall()[0] == (1,) def test_project_df(self, duckdb_cursor): - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1), (4)") + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1), (4)") test_df = pd.DataFrame.from_dict({"i": [1, 2, 3, 4], "j": [1, 2, 3, 4]}) - rel = duckdb.project(test_df, "i", connection=conn) + rel = duckdb.project(test_df, "i", connection=duckdb_cursor) assert rel.query('t_2', 'select * from t inner join t_2 on (a = i)').fetchall()[0] == (1, 1) def test_agg_df(self, duckdb_cursor): - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1), (4)") + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1), (4)") test_df = pd.DataFrame.from_dict({"i": [1, 2, 3, 4], "j": [1, 2, 3, 4]}) - rel = duckdb.aggregate(test_df, "count(*) as i", connection=conn) + rel = duckdb.aggregate(test_df, "count(*) as i", connection=duckdb_cursor) assert rel.query('t_2', 'select * from t inner join t_2 on (a = i)').fetchall()[0] == (4, 4) def test_distinct_df(self, duckdb_cursor): - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1)") + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1)") test_df = pd.DataFrame.from_dict({"i": [1, 1, 2, 3, 4]}) - rel = duckdb.distinct(test_df, connection=conn) + rel = duckdb.distinct(test_df, connection=duckdb_cursor) assert rel.query('t_2', 'select * from t inner join t_2 on (a = i)').fetchall()[0] == (1, 1) def test_limit_df(self, duckdb_cursor): - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1),(4)") + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1),(4)") test_df = pd.DataFrame.from_dict({"i": [1, 2, 3, 4]}) - rel = duckdb.limit(test_df, 1, connection=conn) + rel = duckdb.limit(test_df, 1, connection=duckdb_cursor) assert rel.query('t_2', 'select * from t inner join t_2 on (a = i)').fetchall()[0] == (1, 1) def test_query_df(self, duckdb_cursor): - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1),(4)") + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1),(4)") test_df = pd.DataFrame.from_dict({"i": [1, 2, 3, 4]}) - rel = duckdb.query_df(test_df, 't_2', 'select * from t inner join t_2 on (a = i)', connection=conn) + rel = duckdb.query_df(test_df, 't_2', 'select * from t inner join t_2 on (a = i)', connection=duckdb_cursor) assert rel.fetchall()[0] == (1, 1) def test_query_order(self, duckdb_cursor): - conn = duckdb.connect() - conn.execute("create table t (a integer)") - conn.execute("insert into t values (1),(4)") + duckdb_cursor.execute("create table t (a integer)") + duckdb_cursor.execute("insert into t values (1),(4)") test_df = pd.DataFrame.from_dict({"i": [1, 2, 3, 4]}) - rel = duckdb.order(test_df, 'i', connection=conn) + rel = duckdb.order(test_df, 'i', connection=duckdb_cursor) assert rel.query('t_2', 'select * from t inner join t_2 on (a = i)').fetchall()[0] == (1, 1) diff --git a/tools/pythonpkg/tests/fast/test_relation_dependency_leak.py b/tools/pythonpkg/tests/fast/test_relation_dependency_leak.py index bb3502eff677..9763d486afd2 100644 --- a/tools/pythonpkg/tests/fast/test_relation_dependency_leak.py +++ b/tools/pythonpkg/tests/fast/test_relation_dependency_leak.py @@ -7,67 +7,67 @@ import pyarrow as pa can_run = True -except: +except ImportError: can_run = False from conftest import NumpyPandas, ArrowPandas -def check_memory(function_to_check, pandas): +def check_memory(function_to_check, pandas, duckdb_cursor): process = psutil.Process(os.getpid()) mem_usage = process.memory_info().rss / (10**9) for __ in range(100): - function_to_check(pandas) + function_to_check(pandas, duckdb_cursor) cur_mem_usage = process.memory_info().rss / (10**9) # This seems a good empirical value assert cur_mem_usage / 3 < mem_usage -def from_df(pandas): +def from_df(pandas, duckdb_cursor): df = pandas.DataFrame({"x": np.random.rand(1_000_000)}) - return duckdb.from_df(df) + return duckdb_cursor.from_df(df) -def from_arrow(pandas): +def from_arrow(pandas, duckdb_cursor): data = pa.array(np.random.rand(1_000_000), type=pa.float32()) arrow_table = pa.Table.from_arrays([data], ['a']) - duckdb.from_arrow(arrow_table) + duckdb_cursor.from_arrow(arrow_table) -def arrow_replacement(pandas): +def arrow_replacement(pandas, duckdb_cursor): data = pa.array(np.random.rand(1_000_000), type=pa.float32()) arrow_table = pa.Table.from_arrays([data], ['a']) - duckdb.query("select sum(a) from arrow_table").fetchall() + duckdb_cursor.query("select sum(a) from arrow_table").fetchall() -def pandas_replacement(pandas): +def pandas_replacement(pandas, duckdb_cursor): df = pandas.DataFrame({"x": np.random.rand(1_000_000)}) - duckdb.query("select sum(x) from df").fetchall() + duckdb_cursor.query("select sum(x) from df").fetchall() class TestRelationDependencyMemoryLeak(object): @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_from_arrow_leak(self, duckdb_cursor, pandas): + def test_from_arrow_leak(self, pandas, duckdb_cursor): if not can_run: return - check_memory(from_arrow, pandas) + check_memory(from_arrow, pandas, duckdb_cursor) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_from_df_leak(self, duckdb_cursor, pandas): - check_memory(from_df, pandas) + def test_from_df_leak(self, pandas, duckdb_cursor): + check_memory(from_df, pandas, duckdb_cursor) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_arrow_replacement_scan_leak(self, duckdb_cursor, pandas): + def test_arrow_replacement_scan_leak(self, pandas, duckdb_cursor): if not can_run: return - check_memory(arrow_replacement, pandas) + check_memory(arrow_replacement, pandas, duckdb_cursor) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_pandas_replacement_scan_leak(self, duckdb_cursor, pandas): - check_memory(pandas_replacement, pandas) + def test_pandas_replacement_scan_leak(self, pandas, duckdb_cursor): + check_memory(pandas_replacement, pandas, duckdb_cursor) @pytest.mark.parametrize('pandas', [NumpyPandas(), ArrowPandas()]) - def test_relation_view_leak(self, duckdb_cursor, pandas): - rel = from_df(pandas) + def test_relation_view_leak(self, pandas, duckdb_cursor): + rel = from_df(pandas, duckdb_cursor) rel.create_view("bla") - duckdb.default_connection.unregister("bla") + duckdb_cursor.unregister("bla") assert rel.query("bla", "select count(*) from bla").fetchone()[0] == 1_000_000 diff --git a/tools/pythonpkg/tests/fast/test_replacement_scan.py b/tools/pythonpkg/tests/fast/test_replacement_scan.py index 2aa52807624b..2ebb7f7b52b6 100644 --- a/tools/pythonpkg/tests/fast/test_replacement_scan.py +++ b/tools/pythonpkg/tests/fast/test_replacement_scan.py @@ -2,6 +2,48 @@ import os import pytest +pl = pytest.importorskip("polars") + + +def using_table(con, to_scan, object_name): + exec(f"{object_name} = to_scan") + return con.table(object_name) + + +def using_sql(con, to_scan, object_name): + exec(f"{object_name} = to_scan") + return con.sql(f"select * from to_scan") + + +# Fetch methods + + +def fetch_polars(rel): + return rel.pl() + + +def fetch_df(rel): + return rel.df() + + +def fetch_arrow(rel): + return rel.arrow() + + +def fetch_arrow_table(rel): + return rel.fetch_arrow_table() + + +def fetch_arrow_record_batch(rel): + # Note: this has to executed first, otherwise we'll create a deadlock + # Because it will try to execute the input at the same time as executing the relation + # On the same connection (that's the core of the issue) + return rel.execute().record_batch() + + +def fetch_relation(rel): + return rel + class TestReplacementScan(object): def test_csv_replacement(self): @@ -16,6 +58,21 @@ def test_parquet_replacement(self): res = con.execute("select count(*) from '%s'" % (filename)) assert res.fetchone()[0] == 3 + @pytest.mark.parametrize('get_relation', [using_table, using_sql]) + @pytest.mark.parametrize( + 'fetch_method', + [fetch_polars, fetch_df, fetch_arrow, fetch_arrow_table, fetch_arrow_record_batch, fetch_relation], + ) + @pytest.mark.parametrize('object_name', ['tbl', 'table', 'select', 'update']) + def test_table_replacement_scans(self, duckdb_cursor, get_relation, fetch_method, object_name): + base_rel = duckdb_cursor.values([1, 2, 3]) + to_scan = fetch_method(base_rel) + exec(f"{object_name} = to_scan") + + rel = get_relation(duckdb_cursor, to_scan, object_name) + res = rel.fetchall() + assert res == [(1, 2, 3)] + def test_replacement_scan_relapi(self): con = duckdb.connect() pyrel1 = con.query('from (values (42), (84), (120)) t(i)') diff --git a/tools/pythonpkg/tests/fast/test_type.py b/tools/pythonpkg/tests/fast/test_type.py index 081f62f05953..2655fabb0f71 100644 --- a/tools/pythonpkg/tests/fast/test_type.py +++ b/tools/pythonpkg/tests/fast/test_type.py @@ -2,7 +2,8 @@ import os import pandas as pd import pytest -from typing import Union +from typing import Union, Optional +import sys from duckdb.typing import ( SQLNULL, @@ -16,6 +17,7 @@ BIGINT, UBIGINT, HUGEINT, + UHUGEINT, UUID, FLOAT, DOUBLE, @@ -32,6 +34,7 @@ BIT, INTERVAL, ) +import duckdb.typing class TestType(object): @@ -51,6 +54,7 @@ def test_primitive_types(self): assert str(BIGINT) == 'BIGINT' assert str(UBIGINT) == 'UBIGINT' assert str(HUGEINT) == 'HUGEINT' + assert str(UHUGEINT) == 'UHUGEINT' assert str(UUID) == 'UUID' assert str(FLOAT) == 'FLOAT' assert str(DOUBLE) == 'DOUBLE' @@ -187,3 +191,28 @@ def test_attribute_accessor(self): child_type = type.v2.child assert str(child_type) == 'MAP(BLOB, BIT)' + + # NOTE: we can support this, but I don't think going through hoops for an outdated version of python is worth it + @pytest.mark.skipif(sys.version_info < (3, 9), reason="python3.7 does not store Optional[..] in a recognized way") + def test_optional(self): + type = duckdb.typing.DuckDBPyType(Optional[str]) + assert type == 'VARCHAR' + type = duckdb.typing.DuckDBPyType(Optional[Union[int, bool]]) + assert type == 'UNION(u1 BIGINT, u2 BOOLEAN)' + type = duckdb.typing.DuckDBPyType(Optional[list[int]]) + assert type == 'BIGINT[]' + type = duckdb.typing.DuckDBPyType(Optional[dict[int, str]]) + assert type == 'MAP(BIGINT, VARCHAR)' + type = duckdb.typing.DuckDBPyType(Optional[dict[Optional[int], Optional[str]]]) + assert type == 'MAP(BIGINT, VARCHAR)' + type = duckdb.typing.DuckDBPyType(Optional[dict[Optional[int], Optional[str]]]) + assert type == 'MAP(BIGINT, VARCHAR)' + type = duckdb.typing.DuckDBPyType(Optional[Union[Optional[str], Optional[bool]]]) + assert type == 'UNION(u1 VARCHAR, u2 BOOLEAN)' + type = duckdb.typing.DuckDBPyType(Union[str, None]) + assert type == 'VARCHAR' + + @pytest.mark.skipif(sys.version_info < (3, 10), reason="'str | None' syntax requires Python 3.10 or higher") + def test_optional_310(self): + type = duckdb.typing.DuckDBPyType(str | None) + assert type == 'VARCHAR' diff --git a/tools/pythonpkg/tests/fast/test_value.py b/tools/pythonpkg/tests/fast/test_value.py index 444f56eda404..4f74516ceecb 100644 --- a/tools/pythonpkg/tests/fast/test_value.py +++ b/tools/pythonpkg/tests/fast/test_value.py @@ -1,6 +1,6 @@ -from xmlrpc.client import DateTime import duckdb -import os +from pytest import raises +from duckdb import NotImplementedException, InvalidInputException from duckdb.value.constant import ( Value, NullValue, @@ -14,6 +14,7 @@ IntegerValue, LongValue, HugeIntegerValue, + UnsignedHugeIntegerValue, FloatValue, DoubleValue, DecimalValue, @@ -48,6 +49,7 @@ BIGINT, UBIGINT, HUGEINT, + UHUGEINT, UUID, FLOAT, DOUBLE, @@ -81,6 +83,7 @@ class TestValue(object): (INTEGER, IntegerValue(-1), -1), (BIGINT, LongValue(-1), -1), (HUGEINT, HugeIntegerValue(-1), -1), + (UHUGEINT, UnsignedHugeIntegerValue(24350352345), 24350352345), (FLOAT, FloatValue(1.8349000215530396), 1.8349000215530396), (DOUBLE, DoubleValue(0.23234234234), 0.23234234234), ( @@ -144,7 +147,7 @@ def test_timestamp_sec_not_supported(self, value): con.execute('select $1', [value]).fetchall() @pytest.mark.parametrize( - 'test', + 'target_type,test_value,expected_conversion_success', [ (TINYINT, 0, True), (TINYINT, 255, False), @@ -180,17 +183,15 @@ def test_timestamp_sec_not_supported(self, value): (HUGEINT, 12334214123, True), ], ) - def test_numeric_values(self, test): - target_type = test[0] - test_value = test[1] - expected_conversion_success = test[2] - + def test_numeric_values(self, target_type, test_value, expected_conversion_success): value = Value(test_value, target_type) con = duckdb.connect() - try: - res = con.execute('select typeof(a) from (select $1) tbl(a)', [value]).fetchall() - assert expected_conversion_success == True + work = lambda: con.execute('select typeof(a) from (select $1) tbl(a)', [value]).fetchall() + + if expected_conversion_success: + res = work() assert str(target_type) == res[0][0] - except: - assert expected_conversion_success == False + else: + with raises((NotImplementedException, InvalidInputException)): + work() diff --git a/tools/pythonpkg/tests/fast/test_version.py b/tools/pythonpkg/tests/fast/test_version.py new file mode 100644 index 000000000000..0038b7d5e51f --- /dev/null +++ b/tools/pythonpkg/tests/fast/test_version.py @@ -0,0 +1,5 @@ +import duckdb + + +def test_version(): + assert duckdb.__version__ != "0.0.0" diff --git a/tools/pythonpkg/tests/fast/types/test_datetime_date.py b/tools/pythonpkg/tests/fast/types/test_datetime_date.py index 83973be40224..9efb6bd1ee8f 100644 --- a/tools/pythonpkg/tests/fast/types/test_datetime_date.py +++ b/tools/pythonpkg/tests/fast/types/test_datetime_date.py @@ -22,9 +22,9 @@ def test_date_infinity_roundtrip(self): # positive infinity con.execute("select $1, $1 = 'infinity'::DATE", [datetime.date.max]) res = con.fetchall() - assert res == [(datetime.date.max, True)] + assert res == [(datetime.date.max, False)] # negative infinity con.execute("select $1, $1 = '-infinity'::DATE", [datetime.date.min]) res = con.fetchall() - assert res == [(datetime.date.min, True)] + assert res == [(datetime.date.min, False)] diff --git a/tools/pythonpkg/tests/fast/types/test_datetime_datetime.py b/tools/pythonpkg/tests/fast/types/test_datetime_datetime.py index 45aff1fca0fe..08a9953dd055 100644 --- a/tools/pythonpkg/tests/fast/types/test_datetime_datetime.py +++ b/tools/pythonpkg/tests/fast/types/test_datetime_datetime.py @@ -41,9 +41,15 @@ def test_timestamp_infinity_roundtrip(self): # positive infinity con.execute("select $1, $1 = 'infinity'::TIMESTAMP", [datetime.datetime.max]) res = con.fetchall() - assert res == [(datetime.datetime.max, True)] + assert res == [(datetime.datetime.max, False)] # negative infinity con.execute("select $1, $1 = '-infinity'::TIMESTAMP", [datetime.datetime.min]) res = con.fetchall() - assert res == [(datetime.datetime.min, True)] + assert res == [(datetime.datetime.min, False)] + + def test_convert_negative_interval(self, duckdb_cursor): + res = duckdb_cursor.execute( + "SELECT CAST('2023-07-22T11:28:07' AS TIMESTAMP) - CAST('2023-07-23T11:28:07' AS TIMESTAMP)" + ).fetchall() + assert res == [(datetime.timedelta(days=-1),)] diff --git a/tools/pythonpkg/tests/fast/types/test_nested.py b/tools/pythonpkg/tests/fast/types/test_nested.py index dcfc7dc71f30..efeacbeea042 100644 --- a/tools/pythonpkg/tests/fast/types/test_nested.py +++ b/tools/pythonpkg/tests/fast/types/test_nested.py @@ -3,47 +3,51 @@ class TestNested(object): def test_lists(self, duckdb_cursor): - duckdb_conn = duckdb.connect() - result = duckdb_conn.execute("SELECT LIST_VALUE(1, 2, 3, 4) ").fetchall() + result = duckdb_cursor.execute("SELECT LIST_VALUE(1, 2, 3, 4) ").fetchall() assert result == [([1, 2, 3, 4],)] - result = duckdb_conn.execute("SELECT LIST_VALUE() ").fetchall() + result = duckdb_cursor.execute("SELECT LIST_VALUE() ").fetchall() assert result == [([],)] - result = duckdb_conn.execute("SELECT LIST_VALUE(1, 2, 3, NULL) ").fetchall() + result = duckdb_cursor.execute("SELECT LIST_VALUE(1, 2, 3, NULL) ").fetchall() assert result == [([1, 2, 3, None],)] def test_nested_lists(self, duckdb_cursor): - duckdb_conn = duckdb.connect() - result = duckdb_conn.execute("SELECT LIST_VALUE(LIST_VALUE(1, 2, 3, 4), LIST_VALUE(1, 2, 3, 4)) ").fetchall() + result = duckdb_cursor.execute("SELECT LIST_VALUE(LIST_VALUE(1, 2, 3, 4), LIST_VALUE(1, 2, 3, 4)) ").fetchall() assert result == [([[1, 2, 3, 4], [1, 2, 3, 4]],)] - result = duckdb_conn.execute("SELECT LIST_VALUE(LIST_VALUE(1, 2, 3, 4), LIST_VALUE(1, 2, 3, NULL)) ").fetchall() + result = duckdb_cursor.execute( + "SELECT LIST_VALUE(LIST_VALUE(1, 2, 3, 4), LIST_VALUE(1, 2, 3, NULL)) " + ).fetchall() assert result == [([[1, 2, 3, 4], [1, 2, 3, None]],)] def test_struct(self, duckdb_cursor): - duckdb_conn = duckdb.connect() - result = duckdb_conn.execute("SELECT STRUCT_PACK(a := 42, b := 43)").fetchall() + result = duckdb_cursor.execute("SELECT STRUCT_PACK(a := 42, b := 43)").fetchall() assert result == [({'a': 42, 'b': 43},)] - result = duckdb_conn.execute("SELECT STRUCT_PACK(a := 42, b := NULL)").fetchall() + result = duckdb_cursor.execute("SELECT STRUCT_PACK(a := 42, b := NULL)").fetchall() assert result == [({'a': 42, 'b': None},)] + def test_unnamed_struct(self, duckdb_cursor): + result = duckdb_cursor.execute("SELECT row('aa','bb') AS x").fetchall() + assert result == [(('aa', 'bb'),)] + + result = duckdb_cursor.execute("SELECT row('aa',NULL) AS x").fetchall() + assert result == [(('aa', None),)] + def test_nested_struct(self, duckdb_cursor): - duckdb_conn = duckdb.connect() - result = duckdb_conn.execute("SELECT STRUCT_PACK(a := 42, b := LIST_VALUE(10, 9, 8, 7))").fetchall() + result = duckdb_cursor.execute("SELECT STRUCT_PACK(a := 42, b := LIST_VALUE(10, 9, 8, 7))").fetchall() assert result == [({'a': 42, 'b': [10, 9, 8, 7]},)] - result = duckdb_conn.execute("SELECT STRUCT_PACK(a := 42, b := LIST_VALUE(10, 9, 8, NULL))").fetchall() + result = duckdb_cursor.execute("SELECT STRUCT_PACK(a := 42, b := LIST_VALUE(10, 9, 8, NULL))").fetchall() assert result == [({'a': 42, 'b': [10, 9, 8, None]},)] def test_map(self, duckdb_cursor): - duckdb_conn = duckdb.connect() - result = duckdb_conn.execute("select MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7))").fetchall() + result = duckdb_cursor.execute("select MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, 7))").fetchall() assert result == [({'key': [1, 2, 3, 4], 'value': [10, 9, 8, 7]},)] - result = duckdb_conn.execute("select MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, NULL))").fetchall() + result = duckdb_cursor.execute("select MAP(LIST_VALUE(1, 2, 3, 4),LIST_VALUE(10, 9, 8, NULL))").fetchall() assert result == [({'key': [1, 2, 3, 4], 'value': [10, 9, 8, None]},)] - result = duckdb_conn.execute("SELECT MAP() ").fetchall() + result = duckdb_cursor.execute("SELECT MAP() ").fetchall() assert result == [({'key': [], 'value': []},)] diff --git a/tools/pythonpkg/tests/fast/udf/test_remove_function.py b/tools/pythonpkg/tests/fast/udf/test_remove_function.py index f73f793aee65..bb917400669a 100644 --- a/tools/pythonpkg/tests/fast/udf/test_remove_function.py +++ b/tools/pythonpkg/tests/fast/udf/test_remove_function.py @@ -62,24 +62,17 @@ def func(x: str) -> str: con = duckdb.connect() con.create_function('func', func) - rel1 = con.sql('select func(42)') - rel2 = con.sql("select func('test')") + + with pytest.raises(duckdb.BinderException, match='No function matches the given name'): + rel1 = con.sql('select func(42)') + rel2 = con.sql("select func('test'::VARCHAR)") con.remove_function('func') def also_func(x: int) -> int: return x con.create_function('func', also_func) - res = rel1.fetchall() - assert res[0][0] == 42 - """ - Error: Binder Error: No function matches the given name and argument types 'func(VARCHAR)'. You might need to add explicit type casts. - Candidate functions: - func(BIGINT) -> BIGINT - """ - with pytest.raises( - duckdb.InvalidInputException, match='Attempting to execute an unsuccessful or closed pending query result' - ): + with pytest.raises(duckdb.InvalidInputException, match='No function matches the given name'): res = rel2.fetchall() def test_overwrite_name(self): @@ -91,7 +84,7 @@ def func(x): con.create_function('func', func, [BIGINT], BIGINT) # create relation that uses the function - rel1 = con.sql('select func(3)') + rel1 = con.sql("select func('3')") def other_func(x): return x diff --git a/tools/pythonpkg/tests/fast/udf/test_scalar.py b/tools/pythonpkg/tests/fast/udf/test_scalar.py index 124cd48bf82a..b9556aeb225b 100644 --- a/tools/pythonpkg/tests/fast/udf/test_scalar.py +++ b/tools/pythonpkg/tests/fast/udf/test_scalar.py @@ -252,6 +252,7 @@ def return_math_nan(): UINTEGER, UBIGINT, HUGEINT, + UHUGEINT, VARCHAR, UUID, FLOAT, diff --git a/tools/pythonpkg/tests/fast/udf/test_scalar_arrow.py b/tools/pythonpkg/tests/fast/udf/test_scalar_arrow.py index c715ccce5d18..6eac008ab75c 100644 --- a/tools/pythonpkg/tests/fast/udf/test_scalar_arrow.py +++ b/tools/pythonpkg/tests/fast/udf/test_scalar_arrow.py @@ -101,7 +101,7 @@ def returns_none(col): con = duckdb.connect() con.create_function('will_crash', returns_none, [BIGINT], BIGINT, type='arrow') - with pytest.raises(duckdb.Error, match="""Invalid Error: TypeError: 'NoneType' object is not iterable"""): + with pytest.raises(duckdb.Error, match="""Could not convert the result into an Arrow Table"""): res = con.sql("""select will_crash(5)""").fetchall() def test_empty_result(self): @@ -124,6 +124,30 @@ def return_too_many(col): with pytest.raises(duckdb.InvalidInputException, match='Returned pyarrow table should have 1 tuples, found 5'): res = con.sql("""select too_many_tuples(5)""").fetchall() + def test_arrow_side_effects(self, duckdb_cursor): + import random as r + + def random_arrow(x): + if not hasattr(random_arrow, 'data'): + random_arrow.data = 0 + + input = x.to_pylist() + val = random_arrow.data + output = [val + i for i in range(len(input))] + random_arrow.data += len(input) + return output + + duckdb_cursor.create_function( + "random_arrow", + random_arrow, + [VARCHAR], + INTEGER, + side_effects=True, + type="arrow", + ) + res = duckdb_cursor.query("SELECT random_arrow('') FROM range(10)").fetchall() + assert res == [(0,), (1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)] + def test_return_struct(self): def return_struct(col): con = duckdb.connect() diff --git a/tools/pythonpkg/tests/fast/udf/test_scalar_native.py b/tools/pythonpkg/tests/fast/udf/test_scalar_native.py index 5c46521289e9..b11a479a0831 100644 --- a/tools/pythonpkg/tests/fast/udf/test_scalar_native.py +++ b/tools/pythonpkg/tests/fast/udf/test_scalar_native.py @@ -148,6 +148,8 @@ def five_if_null(x): (UBIGINT, 18446744073709551616), (HUGEINT, -170141183460469231731687303715884105729), (HUGEINT, 170141183460469231731687303715884105728), + (UHUGEINT, -1), + (UHUGEINT, 340282366920938463463374607431768211456), ], ) def test_return_overflow(self, pair): diff --git a/tools/shell/CMakeLists.txt b/tools/shell/CMakeLists.txt index 4f0441a090e7..4b749cfa9676 100644 --- a/tools/shell/CMakeLists.txt +++ b/tools/shell/CMakeLists.txt @@ -1,16 +1,16 @@ add_definitions(-DSQLITE_OMIT_LOAD_EXTENSION=1) -set(SHELL_SOURCES shell.c) +include_directories(../sqlite3_api_wrapper/include) if(NOT WIN32) + add_subdirectory(linenoise) add_definitions(-DHAVE_LINENOISE=1) - set(SHELL_SOURCES ${SHELL_SOURCES} linenoise.cpp) include_directories(../../third_party/utf8proc/include) + include_directories(linenoise/include) endif() +set(SHELL_SOURCES ${SHELL_SOURCES} shell.c) option(STATIC_LIBCPP "Statically link CLI to libc++" FALSE) -include_directories(include) -include_directories(../sqlite3_api_wrapper/include) add_executable(shell ${SHELL_SOURCES}) target_link_libraries(shell sqlite3_api_wrapper_static ${DUCKDB_EXTRA_LINK_FLAGS}) @@ -24,6 +24,44 @@ if(NOT AMALGAMATION_BUILD AND NOT WIN32) target_link_libraries(shell duckdb_utf8proc) endif() +function(ensure_variable_is_number INPUT_VERSION OUT_RESULT) + if(NOT "${${INPUT_VERSION}}" MATCHES "^[0-9]+$") + message( + WARNING + "VERSION PARAMETER ${INPUT_VERSION} \"${${INPUT_VERSION}}\" IS NOT A NUMBER - SETTING TO 0" + ) + set(${OUT_RESULT} + 0 + PARENT_SCOPE) + else() + set(${OUT_RESULT} + ${${INPUT_VERSION}} + PARENT_SCOPE) + endif() +endfunction() + +if(WIN32 AND NOT MINGW) + string(TIMESTAMP DUCKDB_COPYRIGHT_YEAR "%Y") + ensure_variable_is_number(DUCKDB_MAJOR_VERSION RC_MAJOR_VERSION) + ensure_variable_is_number(DUCKDB_MINOR_VERSION RC_MINOR_VERSION) + ensure_variable_is_number(DUCKDB_PATCH_VERSION RC_PATCH_VERSION) + ensure_variable_is_number(DUCKDB_DEV_ITERATION RC_DEV_ITERATION) + + set(CMAKE_RC_FLAGS + "${CMAKE_RC_FLAGS} -D DUCKDB_VERSION=\"${DUCKDB_VERSION}\"") + set(CMAKE_RC_FLAGS + "${CMAKE_RC_FLAGS} -D DUCKDB_MAJOR_VERSION=\"${RC_MAJOR_VERSION}\"") + set(CMAKE_RC_FLAGS + "${CMAKE_RC_FLAGS} -D DUCKDB_MINOR_VERSION=\"${RC_MINOR_VERSION}\"") + set(CMAKE_RC_FLAGS + "${CMAKE_RC_FLAGS} -D DUCKDB_PATCH_VERSION=\"${RC_PATCH_VERSION}\"") + set(CMAKE_RC_FLAGS + "${CMAKE_RC_FLAGS} -D DUCKDB_DEV_ITERATION=\"${RC_DEV_ITERATION}\"") + set(CMAKE_RC_FLAGS + "${CMAKE_RC_FLAGS} -D DUCKDB_COPYRIGHT_YEAR=\"${DUCKDB_COPYRIGHT_YEAR}\"") + target_sources(shell PRIVATE rc/duckdb.rc) +endif() + set_target_properties(shell PROPERTIES OUTPUT_NAME duckdb) set_target_properties(shell PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) diff --git a/tools/shell/linenoise.cpp b/tools/shell/linenoise.cpp deleted file mode 100644 index 2b07a0c88f26..000000000000 --- a/tools/shell/linenoise.cpp +++ /dev/null @@ -1,2084 +0,0 @@ -/* linenoise.c -- guerrilla line editing library against the idea that a - * line editing lib needs to be 20,000 lines of C code. - * - * You can find the latest source code at: - * - * http://github.com/antirez/linenoise - * - * Does a number of crazy assumptions that happen to be true in 99.9999% of - * the 2010 UNIX computers around. - * - * ------------------------------------------------------------------------ - * - * Copyright (c) 2010-2016, Salvatore Sanfilippo - * Copyright (c) 2010-2013, Pieter Noordhuis - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * ------------------------------------------------------------------------ - * - * References: - * - http://invisible-island.net/xterm/ctlseqs/ctlseqs.html - * - http://www.3waylabs.com/nw/WWW/products/wizcon/vt220.html - * - * Todo list: - * - Filter bogus Ctrl+ combinations. - * - Win32 support - * - * Bloat: - * - History search like Ctrl+r in readline? - * - * List of escape sequences used by this program, we do everything just - * with three sequences. In order to be so cheap we may have some - * flickering effect with some slow terminal, but the lesser sequences - * the more compatible. - * - * EL (Erase Line) - * Sequence: ESC [ n K - * Effect: if n is 0 or missing, clear from cursor to end of line - * Effect: if n is 1, clear from beginning of line to cursor - * Effect: if n is 2, clear entire line - * - * CUF (CUrsor Forward) - * Sequence: ESC [ n C - * Effect: moves cursor forward n chars - * - * CUB (CUrsor Backward) - * Sequence: ESC [ n D - * Effect: moves cursor backward n chars - * - * The following is used to get the terminal width if getting - * the width with the TIOCGWINSZ ioctl fails - * - * DSR (Device Status Report) - * Sequence: ESC [ 6 n - * Effect: reports the current cusor position as ESC [ n ; m R - * where n is the row and m is the column - * - * When multi line mode is enabled, we also use an additional escape - * sequence. However multi line editing is disabled by default. - * - * CUU (Cursor Up) - * Sequence: ESC [ n A - * Effect: moves cursor up of n chars. - * - * CUD (Cursor Down) - * Sequence: ESC [ n B - * Effect: moves cursor down of n chars. - * - * When linenoiseClearScreen() is called, two additional escape sequences - * are used in order to clear the screen and position the cursor at home - * position. - * - * CUP (Cursor position) - * Sequence: ESC [ H - * Effect: moves the cursor to upper left corner - * - * ED (Erase display) - * Sequence: ESC [ 2 J - * Effect: clear the whole screen - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "linenoise.h" -#include "utf8proc_wrapper.hpp" -#include -#include -#ifdef __MVS__ -#include -#include -#endif - -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -// disable highlighting on windows (for now?) -#define DISABLE_HIGHLIGHT -#endif - -#define LINENOISE_DEFAULT_HISTORY_MAX_LEN 100 -#define LINENOISE_MAX_LINE 20480 -static const char *unsupported_term[] = {"dumb", "cons25", "emacs", NULL}; -static linenoiseCompletionCallback *completionCallback = NULL; -static linenoiseHintsCallback *hintsCallback = NULL; -static linenoiseFreeHintsCallback *freeHintsCallback = NULL; - -static struct termios orig_termios; /* In order to restore at exit.*/ -static int rawmode = 0; /* For atexit() function to check if restore is needed*/ -static int mlmode = 0; /* Multi line mode. Default is single line. */ -static int atexit_registered = 0; /* Register atexit just 1 time. */ -static int history_max_len = LINENOISE_DEFAULT_HISTORY_MAX_LEN; -static int history_len = 0; -static char **history = NULL; -static char *history_file = NULL; -#ifndef DISABLE_HIGHLIGHT -#include - -static int enableHighlighting = 1; -struct Color { - const char *color_name; - const char *highlight; -}; -static Color terminal_colors[] = {{"red", "\033[31m"}, {"green", "\033[32m"}, - {"yellow", "\033[33m"}, {"blue", "\033[34m"}, - {"magenta", "\033[35m"}, {"cyan", "\033[36m"}, - {"white", "\033[37m"}, {"brightblack", "\033[90m"}, - {"brightred", "\033[91m"}, {"brightgreen", "\033[92m"}, - {"brightyellow", "\033[93m"}, {"brightblue", "\033[94m"}, - {"brightmagenta", "\033[95m"}, {"brightcyan", "\033[96m"}, - {"brightwhite", "\033[97m"}, {nullptr, nullptr}}; -static std::string bold = "\033[1m"; -static std::string underline = "\033[4m"; -static std::string keyword = "\033[32m\033[1m"; -static std::string constant = "\033[33m"; -static std::string reset = "\033[00m"; -#endif - -struct searchMatch { - size_t history_index; - size_t match_start; - size_t match_end; -}; - -/* The linenoiseState structure represents the state during line editing. - * We pass this state to functions implementing specific editing - * functionalities. */ -struct linenoiseState { - int ifd; /* Terminal stdin file descriptor. */ - int ofd; /* Terminal stdout file descriptor. */ - char *buf; /* Edited line buffer. */ - size_t buflen; /* Edited line buffer size. */ - const char *prompt; /* Prompt to display. */ - size_t plen; /* Prompt length. */ - size_t pos; /* Current cursor position. */ - size_t oldpos; /* Previous refresh cursor position. */ - size_t len; /* Current edited line length. */ - size_t cols; /* Number of columns in terminal. */ - size_t maxrows; /* Maximum num of rows used so far (multiline mode) */ - int history_index; /* The history index we are currently editing. */ - bool search; /* Whether or not we are searching our history */ - std::string search_buf; //! The search buffer - std::vector search_matches; //! The set of search matches in our history - size_t search_index; //! The current match index -}; - -enum KEY_ACTION { - KEY_NULL = 0, /* NULL */ - CTRL_A = 1, /* Ctrl+a */ - CTRL_B = 2, /* Ctrl-b */ - CTRL_C = 3, /* Ctrl-c */ - CTRL_D = 4, /* Ctrl-d */ - CTRL_E = 5, /* Ctrl-e */ - CTRL_F = 6, /* Ctrl-f */ - CTRL_G = 7, /* Ctrl-g */ - CTRL_H = 8, /* Ctrl-h */ - TAB = 9, /* Tab */ - CTRL_K = 11, /* Ctrl+k */ - CTRL_L = 12, /* Ctrl+l */ - ENTER = 13, /* Enter */ - CTRL_N = 14, /* Ctrl-n */ - CTRL_P = 16, /* Ctrl-p */ - CTRL_R = 18, /* Ctrl-r */ - CTRL_T = 20, /* Ctrl-t */ - CTRL_U = 21, /* Ctrl+u */ - CTRL_W = 23, /* Ctrl+w */ - ESC = 27, /* Escape */ - BACKSPACE = 127 /* Backspace */ -}; - -static void linenoiseAtExit(void); -int linenoiseHistoryAdd(const char *line); -static void refreshLine(struct linenoiseState *l); - -/* Debugging macro. */ -#if 0 -FILE *lndebug_fp = NULL; -#define lndebug(...) \ - do { \ - if (lndebug_fp == NULL) { \ - lndebug_fp = fopen("/tmp/lndebug.txt", "a"); \ - } \ - fprintf(lndebug_fp, ", " __VA_ARGS__); \ - fflush(lndebug_fp); \ - } while (0) -#else -#define lndebug(fmt, ...) -#endif - -/* ======================= Low level terminal handling ====================== */ - -/* Set if to use or not the multi line mode. */ -void linenoiseSetMultiLine(int ml) { - mlmode = ml; - if (ml) { - keyword = "\033[32m"; - } -} - -/* Return true if the terminal name is in the list of terminals we know are - * not able to understand basic escape sequences. */ -static int isUnsupportedTerm(void) { - char *term = getenv("TERM"); - int j; - - if (term == NULL) - return 0; - for (j = 0; unsupported_term[j]; j++) - if (!strcasecmp(term, unsupported_term[j])) - return 1; - return 0; -} - -/* Raw mode: 1960 magic shit. */ -static int enableRawMode(int fd) { - struct termios raw; - - if (!isatty(STDIN_FILENO)) - goto fatal; - if (!atexit_registered) { - atexit(linenoiseAtExit); - atexit_registered = 1; - } - if (tcgetattr(fd, &orig_termios) == -1) - goto fatal; - - raw = orig_termios; /* modify the original mode */ - /* input modes: no break, no CR to NL, no parity check, no strip char, - * no start/stop output control. */ - raw.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON); - /* output modes - disable post processing */ - raw.c_oflag &= ~(OPOST); - /* control modes - set 8 bit chars */ - raw.c_cflag |= (CS8); - /* local modes - choing off, canonical off, no extended functions, - * no signal chars (^Z,^C) */ - raw.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG); - /* control chars - set return condition: min number of bytes and timer. - * We want read to return every single byte, without timeout. */ - raw.c_cc[VMIN] = 1; - raw.c_cc[VTIME] = 0; /* 1 byte, no timer */ - - /* put terminal in raw mode after flushing */ - if (tcsetattr(fd, TCSADRAIN, &raw) < 0) - goto fatal; - rawmode = 1; - return 0; - -fatal: - errno = ENOTTY; - return -1; -} - -static void disableRawMode(int fd) { - /* Don't even check the return value as it's too late. */ - if (rawmode && tcsetattr(fd, TCSADRAIN, &orig_termios) != -1) - rawmode = 0; -} - -/* Use the ESC [6n escape sequence to query the horizontal cursor position - * and return it. On error -1 is returned, on success the position of the - * cursor. */ -static int getCursorPosition(int ifd, int ofd) { - char buf[32]; - int cols, rows; - unsigned int i = 0; - - /* Report cursor location */ - if (write(ofd, "\x1b[6n", 4) != 4) - return -1; - - /* Read the response: ESC [ rows ; cols R */ - while (i < sizeof(buf) - 1) { - if (read(ifd, buf + i, 1) != 1) - break; - if (buf[i] == 'R') - break; - i++; - } - buf[i] = '\0'; - - /* Parse it. */ - if (buf[0] != ESC || buf[1] != '[') - return -1; - if (sscanf(buf + 2, "%d;%d", &rows, &cols) != 2) - return -1; - return cols; -} - -/* Try to get the number of columns in the current terminal, or assume 80 - * if it fails. */ -static int getColumns(int ifd, int ofd) { - struct winsize ws; - - if (ioctl(1, TIOCGWINSZ, &ws) == -1 || ws.ws_col == 0) { - /* ioctl() failed. Try to query the terminal itself. */ - int start, cols; - - /* Get the initial position so we can restore it later. */ - start = getCursorPosition(ifd, ofd); - if (start == -1) - goto failed; - - /* Go to right margin and get position. */ - if (write(ofd, "\x1b[999C", 6) != 6) - goto failed; - cols = getCursorPosition(ifd, ofd); - if (cols == -1) - goto failed; - - /* Restore position. */ - if (cols > start) { - char seq[32]; - snprintf(seq, 32, "\x1b[%dD", cols - start); - if (write(ofd, seq, strlen(seq)) == -1) { - /* Can't recover... */ - } - } - return cols; - } else { - return ws.ws_col; - } - -failed: - return 80; -} - -/* Clear the screen. Used to handle ctrl+l */ -void linenoiseClearScreen(void) { - if (write(STDOUT_FILENO, "\x1b[H\x1b[2J", 7) <= 0) { - /* nothing to do, just to avoid warning. */ - } -} - -/* Beep, used for completion when there is nothing to complete or when all - * the choices were already shown. */ -static void linenoiseBeep(void) { - fprintf(stderr, "\x7"); - fflush(stderr); -} - -/* ============================== Completion ================================ */ - -/* Free a list of completion option populated by linenoiseAddCompletion(). */ -static void freeCompletions(linenoiseCompletions *lc) { - size_t i; - for (i = 0; i < lc->len; i++) - free(lc->cvec[i]); - if (lc->cvec != NULL) - free(lc->cvec); -} - -/* This is an helper function for linenoiseEdit() and is called when the - * user types the key in order to complete the string currently in the - * input. - * - * The state of the editing is encapsulated into the pointed linenoiseState - * structure as described in the structure definition. */ -static int completeLine(struct linenoiseState *ls) { - linenoiseCompletions lc = {0, NULL}; - int nread, nwritten; - char c = 0; - - completionCallback(ls->buf, &lc); - if (lc.len == 0) { - linenoiseBeep(); - } else { - size_t stop = 0, i = 0; - - while (!stop) { - /* Show completion or original buffer */ - if (i < lc.len) { - struct linenoiseState saved = *ls; - - ls->len = ls->pos = strlen(lc.cvec[i]); - ls->buf = lc.cvec[i]; - refreshLine(ls); - ls->len = saved.len; - ls->pos = saved.pos; - ls->buf = saved.buf; - } else { - refreshLine(ls); - } - - nread = read(ls->ifd, &c, 1); - if (nread <= 0) { - freeCompletions(&lc); - return -1; - } - - switch (c) { - case 9: /* tab */ - i = (i + 1) % (lc.len + 1); - if (i == lc.len) - linenoiseBeep(); - break; - case 27: /* escape */ - /* Re-show original buffer */ - if (i < lc.len) - refreshLine(ls); - stop = 1; - break; - default: - /* Update buffer and return */ - if (i < lc.len) { - nwritten = snprintf(ls->buf, ls->buflen, "%s", lc.cvec[i]); - ls->len = ls->pos = nwritten; - } - stop = 1; - break; - } - } - } - - freeCompletions(&lc); - return c; /* Return last read character */ -} - -/* Register a callback function to be called for tab-completion. */ -void linenoiseSetCompletionCallback(linenoiseCompletionCallback *fn) { - completionCallback = fn; -} - -/* Register a hits function to be called to show hits to the user at the - * right of the prompt. */ -void linenoiseSetHintsCallback(linenoiseHintsCallback *fn) { - hintsCallback = fn; -} - -/* Register a function to free the hints returned by the hints callback - * registered with linenoiseSetHintsCallback(). */ -void linenoiseSetFreeHintsCallback(linenoiseFreeHintsCallback *fn) { - freeHintsCallback = fn; -} - -/* This function is used by the callback function registered by the user - * in order to add completion options given the input string when the - * user typed . See the example.c source code for a very easy to - * understand example. */ -void linenoiseAddCompletion(linenoiseCompletions *lc, const char *str) { - size_t len = strlen(str); - char *copy, **cvec; - - copy = (char *)malloc(len + 1); - if (copy == NULL) - return; - memcpy(copy, str, len + 1); - cvec = (char **)realloc(lc->cvec, sizeof(char *) * (lc->len + 1)); - if (cvec == NULL) { - free(copy); - return; - } - lc->cvec = cvec; - lc->cvec[lc->len++] = copy; -} - -/* =========================== Line editing ================================= */ - -/* We define a very simple "append buffer" structure, that is an heap - * allocated string where we can append to. This is useful in order to - * write all the escape sequences in a buffer and flush them to the standard - * output in a single call, to avoid flickering effects. */ -struct abuf { - char *b; - int len; -}; - -static void abInit(struct abuf *ab) { - ab->b = NULL; - ab->len = 0; -} - -static void abAppend(struct abuf *ab, const char *s, int len) { - char *new_entry = (char *)realloc(ab->b, ab->len + len); - - if (new_entry == NULL) - return; - memcpy(new_entry + ab->len, s, len); - ab->b = new_entry; - ab->len += len; -} - -static void abFree(struct abuf *ab) { - free(ab->b); -} - -/* Helper of refreshSingleLine() and refreshMultiLine() to show hints - * to the right of the prompt. */ -void refreshShowHints(struct abuf *ab, struct linenoiseState *l, int plen) { - char seq[64]; - if (hintsCallback && plen + l->len < l->cols) { - int color = -1, bold = 0; - char *hint = hintsCallback(l->buf, &color, &bold); - if (hint) { - int hintlen = strlen(hint); - int hintmaxlen = l->cols - (plen + l->len); - if (hintlen > hintmaxlen) - hintlen = hintmaxlen; - if (bold == 1 && color == -1) - color = 37; - if (color != -1 || bold != 0) - snprintf(seq, 64, "\033[%d;%d;49m", bold, color); - else - seq[0] = '\0'; - abAppend(ab, seq, strlen(seq)); - abAppend(ab, hint, hintlen); - if (color != -1 || bold != 0) - abAppend(ab, "\033[0m", 4); - /* Call the function to free the hint returned. */ - if (freeHintsCallback) - freeHintsCallback(hint); - } - } -} - -size_t linenoiseComputeRenderWidth(const char *buf, size_t len) { - // utf8 in prompt, get render width - size_t cpos = 0; - size_t render_width = 0; - int sz; - while (cpos < len) { - if (duckdb::Utf8Proc::UTF8ToCodepoint(buf + cpos, sz) < 0) { - cpos++; - render_width++; - continue; - } - - size_t char_render_width = duckdb::Utf8Proc::RenderWidth(buf, len, cpos); - cpos = duckdb::Utf8Proc::NextGraphemeCluster(buf, len, cpos); - render_width += char_render_width; - } - return render_width; -} - -int linenoiseGetRenderPosition(const char *buf, size_t len, int max_width, int *n) { - if (duckdb::Utf8Proc::IsValid(buf, len)) { - // utf8 in prompt, get render width - size_t cpos = 0; - size_t render_width = 0; - while (cpos < len) { - size_t char_render_width = duckdb::Utf8Proc::RenderWidth(buf, len, cpos); - if (int(render_width + char_render_width) > max_width) { - *n = render_width; - return cpos; - } - cpos = duckdb::Utf8Proc::NextGraphemeCluster(buf, len, cpos); - render_width += char_render_width; - } - *n = render_width; - return len; - } else { - // invalid utf8, return -1 - return -1; - } -} - -#ifndef DISABLE_HIGHLIGHT -const char *getColorOption(const char *option) { - size_t index = 0; - while (terminal_colors[index].color_name) { - if (strcmp(terminal_colors[index].color_name, option) == 0) { - return terminal_colors[index].highlight; - } - index++; - } - return nullptr; -} -#endif - -int linenoiseParseOption(const char **azArg, int nArg, const char **out_error) { -#ifndef DISABLE_HIGHLIGHT - if (strcmp(azArg[0], "highlight") == 0) { - if (nArg == 2) { - if (strcmp(azArg[1], "off") == 0 || strcmp(azArg[1], "0") == 0) { - enableHighlighting = 0; - return 1; - } else if (strcmp(azArg[1], "on") == 0 || strcmp(azArg[1], "1") == 0) { - enableHighlighting = 1; - return 1; - } - } - *out_error = "Expected usage: .highlight [off|on]"; - return 1; - } else if (strcmp(azArg[0], "keyword") == 0) { - if (nArg == 2) { - const char *option = getColorOption(azArg[1]); - if (option) { - keyword = option; - return 1; - } - } - *out_error = "Expected usage: .keyword " - "[red|green|yellow|blue|magenta|cyan|white|brightblack|brightred|brightgreen|brightyellow|" - "brightblue|brightmagenta|brightcyan|brightwhite]"; - return 1; - } else if (strcmp(azArg[0], "constant") == 0) { - if (nArg == 2) { - const char *option = getColorOption(azArg[1]); - if (option) { - constant = option; - return 1; - } - } - *out_error = "Expected usage: .constant " - "[red|green|yellow|blue|magenta|cyan|white|brightblack|brightred|brightgreen|brightyellow|" - "brightblue|brightmagenta|brightcyan|brightwhite]"; - return 1; - } else if (strcmp(azArg[0], "keywordcode") == 0) { - if (nArg == 2) { - keyword = azArg[1]; - return 1; - } - *out_error = "Expected usage: .keywordcode [terminal_code]"; - return 1; - } else if (strcmp(azArg[0], "constantcode") == 0) { - if (nArg == 2) { - constant = azArg[1]; - return 1; - } - *out_error = "Expected usage: .constantcode [terminal_code]"; - return 1; - } else if (strcmp(azArg[0], "multiline") == 0) { - linenoiseSetMultiLine(1); - return 1; - } else if (strcmp(azArg[0], "singleline") == 0) { - linenoiseSetMultiLine(0); - return 1; - } -#endif - return 0; -} - -#ifndef DISABLE_HIGHLIGHT -#include -#include "duckdb/parser/parser.hpp" - -struct highlightToken { - duckdb::SimplifiedTokenType type; - size_t start = 0; - bool search_match = false; -}; - -std::string highlightText(char *buf, size_t len, size_t start_pos, size_t end_pos, searchMatch *match = nullptr) { - std::string sql(buf, len); - auto parseTokens = duckdb::Parser::Tokenize(sql); - std::stringstream ss; - std::vector tokens; - - for (auto &token : parseTokens) { - highlightToken new_token; - new_token.type = token.type; - new_token.start = token.start; - tokens.push_back(new_token); - } - - if (!tokens.empty() && tokens[0].start > 0) { - highlightToken new_token; - new_token.type = duckdb::SimplifiedTokenType::SIMPLIFIED_TOKEN_IDENTIFIER; - new_token.start = 0; - tokens.insert(tokens.begin(), new_token); - } - if (tokens.empty() && sql.size() > 0) { - highlightToken new_token; - new_token.type = duckdb::SimplifiedTokenType::SIMPLIFIED_TOKEN_IDENTIFIER; - new_token.start = 0; - tokens.push_back(new_token); - } - if (match) { - // we have a search match - insert it into the token list - // we want to insert a search token with start = match_start, end = match_end - // first figure out which token type we would have at match_end (if any) - for (size_t i = 0; i + 1 < tokens.size(); i++) { - if (tokens[i].start <= match->match_start && tokens[i + 1].start >= match->match_start) { - // this token begins after the search position, insert the token here - size_t token_position = i + 1; - duckdb::SimplifiedTokenType end_type = tokens[i].type; - if (tokens[i].start == match->match_start) { - // exact start: only set the search match - tokens[i].search_match = true; - } else { - // non-exact start: add a new token - highlightToken search_token; - search_token.type = tokens[i].type; - search_token.start = match->match_start; - search_token.search_match = true; - tokens.insert(tokens.begin() + token_position, search_token); - token_position++; - } - - // move forwards - while (token_position < tokens.size() && tokens[token_position].start < match->match_end) { - // this token is - // mark this token as a search token - end_type = tokens[token_position].type; - tokens[token_position].search_match = true; - token_position++; - } - if (token_position >= tokens.size() || tokens[token_position].start > match->match_end) { - // insert the token that marks the end of the search - highlightToken end_token; - end_token.type = end_type; - end_token.start = match->match_end; - tokens.insert(tokens.begin() + token_position, end_token); - token_position++; - } - break; - } - } - } - for (size_t i = 0; i < tokens.size(); i++) { - size_t next = i + 1 < tokens.size() ? tokens[i + 1].start : len; - if (next < start_pos) { - // this token is not rendered at all - continue; - } - - auto &token = tokens[i]; - size_t start = token.start > start_pos ? token.start : start_pos; - size_t end = next > end_pos ? end_pos : next; - if (end <= start) { - continue; - } - std::string text = std::string(buf + start, end - start); - if (token.search_match) { - ss << underline; - } - switch (token.type) { - case duckdb::SimplifiedTokenType::SIMPLIFIED_TOKEN_KEYWORD: - ss << keyword << text << reset; - break; - case duckdb::SimplifiedTokenType::SIMPLIFIED_TOKEN_NUMERIC_CONSTANT: - case duckdb::SimplifiedTokenType::SIMPLIFIED_TOKEN_STRING_CONSTANT: - ss << constant << text << reset; - break; - default: - ss << text; - if (token.search_match) { - ss << reset; - } - } - } - return ss.str(); -} -#endif - -static void renderText(size_t &render_pos, char *&buf, size_t &len, size_t pos, size_t cols, size_t plen, - std::string &highlight_buffer, bool highlight, searchMatch *match = nullptr) { - if (duckdb::Utf8Proc::IsValid(buf, len)) { - // utf8 in prompt, handle rendering - size_t remaining_render_width = cols - plen - 1; - size_t start_pos = 0; - size_t cpos = 0; - size_t prev_pos = 0; - size_t total_render_width = 0; - while (cpos < len) { - size_t char_render_width = duckdb::Utf8Proc::RenderWidth(buf, len, cpos); - prev_pos = cpos; - cpos = duckdb::Utf8Proc::NextGraphemeCluster(buf, len, cpos); - total_render_width += cpos - prev_pos; - if (total_render_width >= remaining_render_width) { - // character does not fit anymore! we need to figure something out - if (prev_pos >= pos) { - // we passed the cursor: break - cpos = prev_pos; - break; - } else { - // we did not pass the cursor yet! remove characters from the start until it fits again - while (total_render_width >= remaining_render_width) { - size_t start_char_width = duckdb::Utf8Proc::RenderWidth(buf, len, start_pos); - size_t new_start = duckdb::Utf8Proc::NextGraphemeCluster(buf, len, start_pos); - total_render_width -= new_start - start_pos; - start_pos = new_start; - render_pos -= start_char_width; - } - } - } - if (prev_pos < pos) { - render_pos += char_render_width; - } - } -#ifndef DISABLE_HIGHLIGHT - if (highlight) { - highlight_buffer = highlightText(buf, len, start_pos, cpos, match); - buf = (char *)highlight_buffer.c_str(); - len = highlight_buffer.size(); - } else -#endif - { - buf = buf + start_pos; - len = cpos - start_pos; - } - } else { - // invalid UTF8: fallback - while ((plen + pos) >= cols) { - buf++; - len--; - pos--; - } - while (plen + len > cols) { - len--; - } - render_pos = pos; - } -} - -/* Single line low level line refresh. - * - * Rewrite the currently edited line accordingly to the buffer content, - * cursor position, and number of columns of the terminal. */ -static void refreshSingleLine(struct linenoiseState *l) { - char seq[64]; - size_t plen = linenoiseComputeRenderWidth(l->prompt, strlen(l->prompt)); - int fd = l->ofd; - char *buf = l->buf; - size_t len = l->len; - struct abuf ab; - size_t render_pos = 0; - std::string highlight_buffer; - - renderText(render_pos, buf, len, l->pos, l->cols, plen, highlight_buffer, enableHighlighting); - - abInit(&ab); - /* Cursor to left edge */ - snprintf(seq, 64, "\r"); - abAppend(&ab, seq, strlen(seq)); - /* Write the prompt and the current buffer content */ - abAppend(&ab, l->prompt, strlen(l->prompt)); - abAppend(&ab, buf, len); - /* Show hits if any. */ - refreshShowHints(&ab, l, plen); - /* Erase to right */ - snprintf(seq, 64, "\x1b[0K"); - abAppend(&ab, seq, strlen(seq)); - /* Move cursor to original position. */ - snprintf(seq, 64, "\r\x1b[%dC", (int)(render_pos + plen)); - abAppend(&ab, seq, strlen(seq)); - if (write(fd, ab.b, ab.len) == -1) { - } /* Can't recover from write error. */ - abFree(&ab); -} - -static void refreshSearch(struct linenoiseState *l) { - std::string search_prompt; - static const size_t SEARCH_PROMPT_RENDER_SIZE = 28; - std::string no_matches_text = "(no matches)"; - bool no_matches = l->search_index >= l->search_matches.size(); - if (l->search_buf.empty()) { - search_prompt = "search" + std::string(SEARCH_PROMPT_RENDER_SIZE - 8, ' ') + "> "; - no_matches_text = "(type to search)"; - } else { - std::string search_text; - std::string matches_text; - search_text += l->search_buf; - if (!no_matches) { - matches_text += std::to_string(l->search_index + 1); - matches_text += "/" + std::to_string(l->search_matches.size()); - } - size_t search_text_length = linenoiseComputeRenderWidth(search_text.c_str(), search_text.size()); - size_t matches_text_length = linenoiseComputeRenderWidth(matches_text.c_str(), matches_text.size()); - size_t total_text_length = search_text_length + matches_text_length; - if (total_text_length < SEARCH_PROMPT_RENDER_SIZE - 2) { - // search text is short: we can render the entire search text - search_prompt = search_text; - search_prompt += std::string(SEARCH_PROMPT_RENDER_SIZE - 2 - total_text_length, ' '); - search_prompt += matches_text; - search_prompt += "> "; - } else { - // search text length is too long to fit: truncate - bool render_matches = matches_text_length < SEARCH_PROMPT_RENDER_SIZE - 8; - char *search_buf = (char *)search_text.c_str(); - size_t search_len = search_text.size(); - size_t search_render_pos = 0; - size_t max_render_size = SEARCH_PROMPT_RENDER_SIZE - 3; - if (render_matches) { - max_render_size -= matches_text_length; - } - std::string highlight_buffer; - renderText(search_render_pos, search_buf, search_len, search_len, max_render_size, 0, highlight_buffer, - false); - search_prompt = std::string(search_buf, search_len); - for (size_t i = search_render_pos; i < max_render_size; i++) { - search_prompt += " "; - } - if (render_matches) { - search_prompt += matches_text; - } - search_prompt += "> "; - } - } - - char seq[64]; - size_t plen = linenoiseComputeRenderWidth(search_prompt.c_str(), search_prompt.size()); - int fd = l->ofd; - char *buf; - size_t len; - size_t cols = l->cols; - struct abuf ab; - size_t render_pos = 0; - std::string highlight_buffer; - - if (!no_matches) { - // if there are matches render the current history item - auto search_match = l->search_matches[l->search_index]; - auto history_index = search_match.history_index; - auto cursor_position = search_match.match_end; - buf = history[history_index]; - len = strlen(history[history_index]); - renderText(render_pos, buf, len, cursor_position, cols, plen, highlight_buffer, enableHighlighting, - &search_match); - } - - abInit(&ab); - /* Cursor to left edge */ - snprintf(seq, 64, "\r"); - abAppend(&ab, seq, strlen(seq)); - /* Write the prompt and the current buffer content */ - abAppend(&ab, search_prompt.c_str(), search_prompt.size()); - if (no_matches) { - abAppend(&ab, no_matches_text.c_str(), no_matches_text.size()); - } else { - abAppend(&ab, buf, len); - } - /* Show hits if any. */ - refreshShowHints(&ab, l, plen); - /* Erase to right */ - snprintf(seq, 64, "\x1b[0K"); - abAppend(&ab, seq, strlen(seq)); - /* Move cursor to original position. */ - snprintf(seq, 64, "\r\x1b[%dC", (int)(render_pos + plen)); - abAppend(&ab, seq, strlen(seq)); - if (write(fd, ab.b, ab.len) == -1) { - } /* Can't recover from write error. */ - abFree(&ab); -} - -/* Multi line low level line refresh. - * - * Rewrite the currently edited line accordingly to the buffer content, - * cursor position, and number of columns of the terminal. */ -static void refreshMultiLine(struct linenoiseState *l) { - char seq[64]; - int plen = linenoiseComputeRenderWidth(l->prompt, strlen(l->prompt)); - int total_len = linenoiseComputeRenderWidth(l->buf, l->len); - int cursor_old_pos = linenoiseComputeRenderWidth(l->buf, l->oldpos); - int cursor_pos = linenoiseComputeRenderWidth(l->buf, l->pos); - int rows = (plen + total_len + l->cols - 1) / l->cols; /* rows used by current buf. */ - int rpos = (plen + cursor_old_pos + l->cols) / l->cols; /* cursor relative row. */ - int rpos2; /* rpos after refresh. */ - int col; /* colum position, zero-based. */ - int old_rows = l->maxrows; - int fd = l->ofd, j; - struct abuf ab; - std::string highlight_buffer; - auto buf = l->buf; - auto len = l->len; - - /* Update maxrows if needed. */ - if (rows > (int)l->maxrows) { - l->maxrows = rows; - } - - if (duckdb::Utf8Proc::IsValid(l->buf, l->len)) { -#ifndef DISABLE_HIGHLIGHT - if (enableHighlighting) { - highlight_buffer = highlightText(buf, len, 0, len); - buf = (char *)highlight_buffer.c_str(); - len = highlight_buffer.size(); - } -#endif - } - - /* First step: clear all the lines used before. To do so start by - * going to the last row. */ - abInit(&ab); - if (old_rows - rpos > 0) { - lndebug("go down %d", old_rows - rpos); - snprintf(seq, 64, "\x1b[%dB", old_rows - rpos); - abAppend(&ab, seq, strlen(seq)); - } - - /* Now for every row clear it, go up. */ - for (j = 0; j < old_rows - 1; j++) { - lndebug("clear+up", 0); - snprintf(seq, 64, "\r\x1b[0K\x1b[1A"); - abAppend(&ab, seq, strlen(seq)); - } - - /* Clean the top line. */ - lndebug("clear", 0); - snprintf(seq, 64, "\r\x1b[0K"); - abAppend(&ab, seq, strlen(seq)); - - /* Write the prompt and the current buffer content */ - abAppend(&ab, l->prompt, strlen(l->prompt)); - abAppend(&ab, buf, len); - - /* Show hints if any. */ - refreshShowHints(&ab, l, plen); - - /* If we are at the very end of the screen with our prompt, we need to - * emit a newline and move the prompt to the first column. */ - if (l->pos && l->pos == len && (cursor_pos + plen) % l->cols == 0) { - lndebug("", 0); - abAppend(&ab, "\n", 1); - snprintf(seq, 64, "\r"); - abAppend(&ab, seq, strlen(seq)); - rows++; - if (rows > (int)l->maxrows) - l->maxrows = rows; - } - - /* Move cursor to right position. */ - rpos2 = (plen + cursor_pos + l->cols) / l->cols; /* current cursor relative row. */ - lndebug("rpos2 %d", rpos2); - - /* Go up till we reach the expected positon. */ - if (rows - rpos2 > 0) { - lndebug("go-up %d", rows - rpos2); - snprintf(seq, 64, "\x1b[%dA", rows - rpos2); - abAppend(&ab, seq, strlen(seq)); - } - - /* Set column. */ - col = (plen + (int)cursor_pos) % (int)l->cols; - lndebug("set col %d", 1 + col); - if (col) - snprintf(seq, 64, "\r\x1b[%dC", col); - else - snprintf(seq, 64, "\r"); - abAppend(&ab, seq, strlen(seq)); - - lndebug("\n", 0); - l->oldpos = l->pos; - - if (write(fd, ab.b, ab.len) == -1) { - } /* Can't recover from write error. */ - abFree(&ab); -} - -/* Calls the two low level functions refreshSingleLine() or - * refreshMultiLine() according to the selected mode. */ -static void refreshLine(struct linenoiseState *l) { - if (mlmode) - refreshMultiLine(l); - else - refreshSingleLine(l); -} - -/* Insert the character 'c' at cursor current position. - * - * On error writing to the terminal -1 is returned, otherwise 0. */ -int linenoiseEditInsert(struct linenoiseState *l, char c) { - if (l->len < l->buflen) { - if (l->len == l->pos) { - l->buf[l->pos] = c; - l->pos++; - l->len++; - l->buf[l->len] = '\0'; - if ((!mlmode && l->plen + l->len < l->cols && !hintsCallback)) { - /* Avoid a full update of the line in the - * trivial case. */ - if (write(l->ofd, &c, 1) == -1) - return -1; - } else { - refreshLine(l); - } - } else { - memmove(l->buf + l->pos + 1, l->buf + l->pos, l->len - l->pos); - l->buf[l->pos] = c; - l->len++; - l->pos++; - l->buf[l->len] = '\0'; - refreshLine(l); - } - } - refreshLine(l); - return 0; -} - -static size_t prev_char(struct linenoiseState *l) { - return duckdb::Utf8Proc::PreviousGraphemeCluster(l->buf, l->len, l->pos); -} - -static size_t next_char(struct linenoiseState *l) { - return duckdb::Utf8Proc::NextGraphemeCluster(l->buf, l->len, l->pos); -} - -/* Move cursor on the left. */ -void linenoiseEditMoveLeft(struct linenoiseState *l) { - if (l->pos > 0) { - l->pos = prev_char(l); - refreshLine(l); - } -} - -/* Move cursor on the right. */ -void linenoiseEditMoveRight(struct linenoiseState *l) { - if (l->pos != l->len) { - l->pos = next_char(l); - refreshLine(l); - } -} - -bool characterIsWordBoundary(char c) { - if (c >= 'a' && c <= 'z') { - return false; - } - if (c >= 'A' && c <= 'Z') { - return false; - } - if (c >= '0' && c <= '9') { - return false; - } - return true; -} - -/* Move cursor to the next left word. */ -void linenoiseEditMoveWordLeft(struct linenoiseState *l) { - if (l->pos == 0) { - return; - } - do { - l->pos = prev_char(l); - } while (l->pos > 0 && !characterIsWordBoundary(l->buf[l->pos])); - refreshLine(l); -} - -/* Move cursor on the right. */ -void linenoiseEditMoveWordRight(struct linenoiseState *l) { - if (l->pos == l->len) { - return; - } - do { - l->pos = next_char(l); - } while (l->pos != l->len && !characterIsWordBoundary(l->buf[l->pos])); - refreshLine(l); -} - -/* Move cursor to the start of the line. */ -void linenoiseEditMoveHome(struct linenoiseState *l) { - if (l->pos != 0) { - l->pos = 0; - refreshLine(l); - } -} - -/* Move cursor to the end of the line. */ -void linenoiseEditMoveEnd(struct linenoiseState *l) { - if (l->pos != l->len) { - l->pos = l->len; - refreshLine(l); - } -} - -/* Substitute the currently edited line with the next or previous history - * entry as specified by 'dir'. */ -#define LINENOISE_HISTORY_NEXT 0 -#define LINENOISE_HISTORY_PREV 1 -void linenoiseEditHistoryNext(struct linenoiseState *l, int dir) { - if (history_len > 1) { - /* Update the current history entry before to - * overwrite it with the next one. */ - free(history[history_len - 1 - l->history_index]); - history[history_len - 1 - l->history_index] = strdup(l->buf); - /* Show the new entry */ - l->history_index += (dir == LINENOISE_HISTORY_PREV) ? 1 : -1; - if (l->history_index < 0) { - l->history_index = 0; - return; - } else if (l->history_index >= history_len) { - l->history_index = history_len - 1; - return; - } - strncpy(l->buf, history[history_len - 1 - l->history_index], l->buflen); - l->buf[l->buflen - 1] = '\0'; - l->len = l->pos = strlen(l->buf); - refreshLine(l); - } -} - -/* Delete the character at the right of the cursor without altering the cursor - * position. Basically this is what happens with the "Delete" keyboard key. */ -void linenoiseEditDelete(struct linenoiseState *l) { - if (l->len > 0 && l->pos < l->len) { - size_t new_pos = next_char(l); - size_t char_sz = new_pos - l->pos; - memmove(l->buf + l->pos, l->buf + new_pos, l->len - new_pos); - l->len -= char_sz; - l->buf[l->len] = '\0'; - refreshLine(l); - } -} - -/* Backspace implementation. */ -void linenoiseEditBackspace(struct linenoiseState *l) { - if (l->pos > 0 && l->len > 0) { - size_t new_pos = prev_char(l); - size_t char_sz = l->pos - new_pos; - memmove(l->buf + new_pos, l->buf + l->pos, l->len - l->pos); - l->len -= char_sz; - l->pos = new_pos; - l->buf[l->len] = '\0'; - refreshLine(l); - } -} - -/* Delete the previous word, maintaining the cursor at the start of the - * current word. */ -void linenoiseEditDeletePrevWord(struct linenoiseState *l) { - size_t old_pos = l->pos; - size_t diff; - - while (l->pos > 0 && l->buf[l->pos - 1] == ' ') - l->pos--; - while (l->pos > 0 && l->buf[l->pos - 1] != ' ') - l->pos--; - diff = old_pos - l->pos; - memmove(l->buf + l->pos, l->buf + old_pos, l->len - old_pos + 1); - l->len -= diff; - refreshLine(l); -} - -// returns true if there is more data available to read in a particular stream -static int hasMoreData(int fd) { - fd_set rfds; - FD_ZERO(&rfds); - FD_SET(fd, &rfds); - - // no timeout: return immediately - struct timeval tv; - tv.tv_sec = 0; - tv.tv_usec = 0; - return select(1, &rfds, NULL, NULL, &tv); -} - -static void cancelSearch(linenoiseState *l) { - l->search = false; - l->search_buf = std::string(); - l->search_matches.clear(); - l->search_index = 0; - refreshLine(l); -} - -static char acceptSearch(linenoiseState *l, char nextCommand) { - if (l->search_index < l->search_matches.size()) { - // if there is a match - copy it into the buffer - auto match = l->search_matches[l->search_index]; - auto history_entry = history[match.history_index]; - auto history_len = strlen(history_entry); - memcpy(l->buf, history_entry, history_len); - l->buf[history_len] = '\0'; - l->pos = match.match_end; - l->len = history_len; - } - cancelSearch(l); - return nextCommand; -} - -static void performSearch(linenoiseState *l) { - // we try to maintain the current match while searching - size_t current_match = history_len; - if (l->search_index < l->search_matches.size()) { - current_match = l->search_matches[l->search_index].history_index; - } - l->search_matches.clear(); - l->search_index = 0; - if (l->search_buf.empty()) { - return; - } - std::unordered_set matches; - auto lsearch = duckdb::StringUtil::Lower(l->search_buf); - for (size_t i = history_len; i > 0; i--) { - size_t history_index = i - 1; - auto lhistory = duckdb::StringUtil::Lower(history[history_index]); - if (matches.find(lhistory) != matches.end()) { - continue; - } - matches.insert(lhistory); - auto entry = lhistory.find(lsearch); - if (entry != duckdb::string::npos) { - if (history_index == current_match) { - l->search_index = l->search_matches.size(); - } - searchMatch match; - match.history_index = history_index; - match.match_start = entry; - match.match_end = entry + lsearch.size(); - l->search_matches.push_back(match); - } - } -} - -static void searchPrev(linenoiseState *l) { - if (l->search_index > 0) { - l->search_index--; - } else if (l->search_matches.size() > 0) { - l->search_index = l->search_matches.size() - 1; - } -} - -static void searchNext(linenoiseState *l) { - l->search_index += 1; - if (l->search_index >= l->search_matches.size()) { - l->search_index = 0; - } -} - -static char linenoiseSearch(linenoiseState *l, char c) { - char seq[64]; - - switch (c) { - case 10: - case ENTER: /* enter */ - // accept search and run - return acceptSearch(l, ENTER); - case CTRL_R: - // move to the next match index - searchNext(l); - break; - case ESC: /* escape sequence */ - /* Read the next two bytes representing the escape sequence. - * Use two calls to handle slow terminals returning the two - * chars at different times. */ - // note: in search mode we ignore almost all special commands - if (read(l->ifd, seq, 1) == -1) - break; - if (seq[0] == ESC) { - // double escape accepts search without any additional command - return acceptSearch(l, 0); - } - if (seq[0] == 'b' || seq[0] == 'f') { - break; - } - if (read(l->ifd, seq + 1, 1) == -1) - break; - - /* ESC [ sequences. */ - if (seq[0] == '[') { - if (seq[1] >= '0' && seq[1] <= '9') { - /* Extended escape, read additional byte. */ - if (read(l->ifd, seq + 2, 1) == -1) - break; - if (seq[2] == '~') { - switch (seq[1]) { - case '1': - return acceptSearch(l, CTRL_A); - case '4': - case '8': - return acceptSearch(l, CTRL_E); - default: - break; - } - } else if (seq[2] == ';') { - // read 2 extra bytes - if (read(l->ifd, seq + 3, 2) == -1) - break; - } - } else { - switch (seq[1]) { - case 'A': /* Up */ - searchPrev(l); - break; - case 'B': /* Down */ - searchNext(l); - break; - case 'D': /* Left */ - return acceptSearch(l, CTRL_B); - case 'C': /* Right */ - return acceptSearch(l, CTRL_F); - case 'H': /* Home */ - return acceptSearch(l, CTRL_A); - case 'F': /* End*/ - return acceptSearch(l, CTRL_E); - default: - break; - } - } - } - /* ESC O sequences. */ - else if (seq[0] == 'O') { - switch (seq[1]) { - case 'H': /* Home */ - return acceptSearch(l, CTRL_A); - case 'F': /* End*/ - return acceptSearch(l, CTRL_E); - default: - break; - } - } - break; - case CTRL_A: // accept search, move to start of line - return acceptSearch(l, CTRL_A); - case '\t': - case CTRL_E: // accept search - move to end of line - return acceptSearch(l, CTRL_E); - case CTRL_B: // accept search - move cursor left - return acceptSearch(l, CTRL_B); - case CTRL_F: // accept search - move cursor right - return acceptSearch(l, CTRL_F); - case CTRL_T: // accept search: swap character - return acceptSearch(l, CTRL_T); - case CTRL_U: // accept search, clear buffer - return acceptSearch(l, CTRL_U); - case CTRL_K: // accept search, clear after cursor - return acceptSearch(l, CTRL_K); - case CTRL_D: // accept saerch, delete a character - return acceptSearch(l, CTRL_D); - case CTRL_L: - linenoiseClearScreen(); - break; - case CTRL_P: - searchPrev(l); - break; - case CTRL_N: - searchNext(l); - break; - case CTRL_C: - case CTRL_G: - // abort search - cancelSearch(l); - return 0; - case BACKSPACE: /* backspace */ - case 8: /* ctrl-h */ - case CTRL_W: /* ctrl-w */ - // remove trailing UTF-8 bytes (if any) - while (!l->search_buf.empty() && ((l->search_buf.back() & 0xc0) == 0x80)) { - l->search_buf.pop_back(); - } - // finally remove the first UTF-8 byte - if (!l->search_buf.empty()) { - l->search_buf.pop_back(); - } - performSearch(l); - break; - default: - // add input to search buffer - l->search_buf += c; - // perform the search - performSearch(l); - break; - } - refreshSearch(l); - return 0; -} - -/* This function is the core of the line editing capability of linenoise. - * It expects 'fd' to be already in "raw mode" so that every key pressed - * will be returned ASAP to read(). - * - * The resulting string is put into 'buf' when the user type enter, or - * when ctrl+d is typed. - * - * The function returns the length of the current buffer. */ -static int linenoiseEdit(int stdin_fd, int stdout_fd, char *buf, size_t buflen, const char *prompt) { - struct linenoiseState l; - - /* Populate the linenoise state that we pass to functions implementing - * specific editing functionalities. */ - l.ifd = stdin_fd; - l.ofd = stdout_fd; - l.buf = buf; - l.buflen = buflen; - l.prompt = prompt; - l.plen = strlen(prompt); - l.oldpos = l.pos = 0; - l.len = 0; - l.cols = getColumns(stdin_fd, stdout_fd); - l.maxrows = 0; - l.history_index = 0; - l.search = false; - - /* Buffer starts empty. */ - l.buf[0] = '\0'; - l.buflen--; /* Make sure there is always space for the nulterm */ - - /* The latest history entry is always our current buffer, that - * initially is just an empty string. */ - linenoiseHistoryAdd(""); - - if (write(l.ofd, prompt, l.plen) == -1) - return -1; - while (1) { - char c; - int nread; - char seq[5]; - - nread = read(l.ifd, &c, 1); - if (nread <= 0) - return l.len; - - if (l.search) { - char ret = linenoiseSearch(&l, c); - if (l.search || ret == '\0') { - // still searching - continue searching - continue; - } - // run subsequent command - c = ret; - } - - /* Only autocomplete when the callback is set. It returns < 0 when - * there was an error reading from fd. Otherwise it will return the - * character that should be handled next. */ - if (c == 9 && completionCallback != NULL) { - if (hasMoreData(l.ifd)) { - // if there is more data, this tab character was added as part of copy-pasting data - continue; - } - c = completeLine(&l); - /* Return on errors */ - if (c < 0) - return l.len; - /* Read next character when 0 */ - if (c == 0) - continue; - } - - lndebug("%d\n", (int)c); - switch (c) { - case 10: - case ENTER: /* enter */ - history_len--; - free(history[history_len]); - if (mlmode) { - linenoiseEditMoveEnd(&l); - } - if (hintsCallback) { - /* Force a refresh without hints to leave the previous - * line as the user typed it after a newline. */ - linenoiseHintsCallback *hc = hintsCallback; - hintsCallback = NULL; - refreshLine(&l); - hintsCallback = hc; - } - return (int)l.len; - case CTRL_G: - case CTRL_C: /* ctrl-c */ { - l.buf[0] = '\3'; - // we keep track of whether or not the line was empty by writing \3 to the second position of the line - // this is because at a higher level we might want to know if we pressed ctrl c to clear the line - // or to exit the process - if (l.len > 0) { - l.buf[1] = '\3'; - l.buf[2] = '\0'; - l.pos = 2; - l.len = 2; - } else { - l.buf[1] = '\0'; - l.pos = 1; - l.len = 1; - } - return (int)l.len; - } - case BACKSPACE: /* backspace */ - case 8: /* ctrl-h */ - linenoiseEditBackspace(&l); - break; - case CTRL_D: /* ctrl-d, remove char at right of cursor, or if the - line is empty, act as end-of-file. */ - if (l.len > 0) { - linenoiseEditDelete(&l); - } else { - history_len--; - free(history[history_len]); - return -1; - } - break; - case CTRL_T: /* ctrl-t, swaps current character with previous. */ - if (l.pos > 0 && l.pos < l.len) { - char temp_buffer[128]; - int prev_pos = prev_char(&l); - int next_pos = next_char(&l); - int prev_char_size = l.pos - prev_pos; - int cur_char_size = next_pos - l.pos; - memcpy(temp_buffer, l.buf + prev_pos, prev_char_size); - memmove(l.buf + prev_pos, l.buf + l.pos, cur_char_size); - memcpy(l.buf + prev_pos + cur_char_size, temp_buffer, prev_char_size); - l.pos = next_pos; - refreshLine(&l); - } - break; - case CTRL_B: /* ctrl-b */ - linenoiseEditMoveLeft(&l); - break; - case CTRL_F: /* ctrl-f */ - linenoiseEditMoveRight(&l); - break; - case CTRL_P: /* ctrl-p */ - linenoiseEditHistoryNext(&l, LINENOISE_HISTORY_PREV); - break; - case CTRL_N: /* ctrl-n */ - linenoiseEditHistoryNext(&l, LINENOISE_HISTORY_NEXT); - break; - case CTRL_R: /* ctrl-r */ { - // initiate reverse search - l.search = true; - l.search_buf = std::string(); - l.search_matches.clear(); - l.search_index = 0; - refreshSearch(&l); - break; - } - case ESC: /* escape sequence */ - /* Read the next two bytes representing the escape sequence. - * Use two calls to handle slow terminals returning the two - * chars at different times. */ - if (read(l.ifd, seq, 1) == -1) - break; - if (seq[0] == 'b') { - linenoiseEditMoveWordLeft(&l); - break; - } else if (seq[0] == 'f') { - linenoiseEditMoveWordRight(&l); - break; - } - // lndebug("seq0: %d\n", seq[0]); - if (read(l.ifd, seq + 1, 1) == -1) - break; - // lndebug("seq1: %d\n", seq[1]); - - /* ESC [ sequences. */ - if (seq[0] == '[') { - if (seq[1] >= '0' && seq[1] <= '9') { - /* Extended escape, read additional byte. */ - if (read(l.ifd, seq + 2, 1) == -1) - break; - if (seq[2] == '~') { - switch (seq[1]) { - case '1': - linenoiseEditMoveHome(&l); - break; - case '3': /* Delete key. */ - linenoiseEditDelete(&l); - break; - case '4': - linenoiseEditMoveEnd(&l); - break; - case '8': - linenoiseEditMoveEnd(&l); - break; - default: - lndebug("unrecognized escape sequence (~) %d", seq[1]); - break; - } - } else if (seq[2] == ';') { - // read 2 extra bytes - if (read(l.ifd, seq + 3, 2) == -1) - break; - if (memcmp(seq, "[1;5C", 5) == 0) { - // [1;5C: move word right - linenoiseEditMoveWordRight(&l); - } else if (memcmp(seq, "[1;5D", 5) == 0) { - // [1;5D: move word left - linenoiseEditMoveWordLeft(&l); - } else { - lndebug("unrecognized escape sequence (;) %d", seq[1]); - } - } else if (seq[1] == '5' && seq[2] == 'C') { - linenoiseEditMoveWordRight(&l); - } else if (seq[1] == '5' && seq[2] == 'D') { - linenoiseEditMoveWordLeft(&l); - } - } else { - switch (seq[1]) { - case 'A': /* Up */ - linenoiseEditHistoryNext(&l, LINENOISE_HISTORY_PREV); - break; - case 'B': /* Down */ - linenoiseEditHistoryNext(&l, LINENOISE_HISTORY_NEXT); - break; - case 'C': /* Right */ - linenoiseEditMoveRight(&l); - break; - case 'D': /* Left */ - linenoiseEditMoveLeft(&l); - break; - case 'H': /* Home */ - linenoiseEditMoveHome(&l); - break; - case 'F': /* End*/ - linenoiseEditMoveEnd(&l); - break; - default: - lndebug("unrecognized escape sequence (seq[1]) %d", seq[1]); - break; - } - } - } - /* ESC O sequences. */ - else if (seq[0] == 'O') { - switch (seq[1]) { - case 'H': /* Home */ - linenoiseEditMoveHome(&l); - break; - case 'F': /* End*/ - linenoiseEditMoveEnd(&l); - break; - case 'c': - linenoiseEditMoveWordRight(&l); - break; - case 'd': - linenoiseEditMoveWordLeft(&l); - break; - default: - lndebug("unrecognized escape sequence (O) %d", seq[1]); - break; - } - } - break; - case CTRL_U: /* Ctrl+u, delete the whole line. */ - buf[0] = '\0'; - l.pos = l.len = 0; - refreshLine(&l); - break; - case CTRL_K: /* Ctrl+k, delete from current to end of line. */ - buf[l.pos] = '\0'; - l.len = l.pos; - refreshLine(&l); - break; - case CTRL_A: /* Ctrl+a, go to the start of the line */ - linenoiseEditMoveHome(&l); - break; - case CTRL_E: /* ctrl+e, go to the end of the line */ - linenoiseEditMoveEnd(&l); - break; - case CTRL_L: /* ctrl+l, clear screen */ - linenoiseClearScreen(); - refreshLine(&l); - break; - case CTRL_W: /* ctrl+w, delete previous word */ - linenoiseEditDeletePrevWord(&l); - break; - default: { - if (linenoiseEditInsert(&l, c)) { - return -1; - } - break; - } - } - } - return l.len; -} - -/* This special mode is used by linenoise in order to print scan codes - * on screen for debugging / development purposes. It is implemented - * by the linenoise_example program using the --keycodes option. */ -void linenoisePrintKeyCodes(void) { - char quit[4]; - - printf("Linenoise key codes debugging mode.\n" - "Press keys to see scan codes. Type 'quit' at any time to exit.\n"); - if (enableRawMode(STDIN_FILENO) == -1) - return; - memset(quit, ' ', 4); - while (1) { - char c; - int nread; - - nread = read(STDIN_FILENO, &c, 1); - if (nread <= 0) - continue; - memmove(quit, quit + 1, sizeof(quit) - 1); /* shift string to left. */ - quit[sizeof(quit) - 1] = c; /* Insert current char on the right. */ - if (memcmp(quit, "quit", sizeof(quit)) == 0) - break; - - printf("'%c' %02x (%d) (type quit to exit)\n", isprint(c) ? c : '?', (int)c, (int)c); - printf("\r"); /* Go left edge manually, we are in raw mode. */ - fflush(stdout); - } - disableRawMode(STDIN_FILENO); -} - -/* This function calls the line editing function linenoiseEdit() using - * the STDIN file descriptor set in raw mode. */ -static int linenoiseRaw(char *buf, size_t buflen, const char *prompt) { - int count; - - if (buflen == 0) { - errno = EINVAL; - return -1; - } - - if (enableRawMode(STDIN_FILENO) == -1) - return -1; - count = linenoiseEdit(STDIN_FILENO, STDOUT_FILENO, buf, buflen, prompt); - disableRawMode(STDIN_FILENO); - printf("\n"); - return count; -} - -/* This function is called when linenoise() is called with the standard - * input file descriptor not attached to a TTY. So for example when the - * program using linenoise is called in pipe or with a file redirected - * to its standard input. In this case, we want to be able to return the - * line regardless of its length (by default we are limited to 4k). */ -static char *linenoiseNoTTY(void) { - char *line = NULL; - size_t len = 0, maxlen = 0; - - while (1) { - if (len == maxlen) { - if (maxlen == 0) - maxlen = 16; - maxlen *= 2; - char *oldval = line; - line = (char *)realloc(line, maxlen); - if (line == NULL) { - if (oldval) - free(oldval); - return NULL; - } - } - int c = fgetc(stdin); - if (c == EOF || c == '\n') { - if (c == EOF && len == 0) { - free(line); - return NULL; - } else { - line[len] = '\0'; - return line; - } - } else { - line[len] = c; - len++; - } - } -} - -/* The high level function that is the main API of the linenoise library. - * This function checks if the terminal has basic capabilities, just checking - * for a blacklist of stupid terminals, and later either calls the line - * editing function or uses dummy fgets() so that you will be able to type - * something even in the most desperate of the conditions. */ -char *linenoise(const char *prompt) { - char buf[LINENOISE_MAX_LINE]; - int count; - - if (!isatty(STDIN_FILENO)) { - /* Not a tty: read from file / pipe. In this mode we don't want any - * limit to the line size, so we call a function to handle that. */ - return linenoiseNoTTY(); - } else if (isUnsupportedTerm()) { - size_t len; - - printf("%s", prompt); - fflush(stdout); - if (fgets(buf, LINENOISE_MAX_LINE, stdin) == NULL) - return NULL; - len = strlen(buf); - while (len && (buf[len - 1] == '\n' || buf[len - 1] == '\r')) { - len--; - buf[len] = '\0'; - } - return strdup(buf); - } else { - count = linenoiseRaw(buf, LINENOISE_MAX_LINE, prompt); - if (count == -1) - return NULL; - return strdup(buf); - } -} - -/* This is just a wrapper the user may want to call in order to make sure - * the linenoise returned buffer is freed with the same allocator it was - * created with. Useful when the main program is using an alternative - * allocator. */ -void linenoiseFree(void *ptr) { - free(ptr); -} - -/* ================================ History ================================= */ - -/* Free the history, but does not reset it. Only used when we have to - * exit() to avoid memory leaks are reported by valgrind & co. */ -static void freeHistory(void) { - if (history) { - int j; - - for (j = 0; j < history_len; j++) - free(history[j]); - free(history); - } -} - -/* At exit we'll try to fix the terminal to the initial conditions. */ -static void linenoiseAtExit(void) { - disableRawMode(STDIN_FILENO); - freeHistory(); -} - -/* This is the API call to add a new entry in the linenoise history. - * It uses a fixed array of char pointers that are shifted (memmoved) - * when the history max length is reached in order to remove the older - * entry and make room for the new one, so it is not exactly suitable for huge - * histories, but will work well for a few hundred of entries. - * - * Using a circular buffer is smarter, but a bit more complex to handle. */ -int linenoiseHistoryAdd(const char *line) { - char *linecopy; - - if (history_max_len == 0) - return 0; - - /* Initialization on first call. */ - if (history == NULL) { - history = (char **)malloc(sizeof(char *) * history_max_len); - if (history == NULL) - return 0; - memset(history, 0, (sizeof(char *) * history_max_len)); - } - - /* Don't add duplicated lines. */ - if (history_len && !strcmp(history[history_len - 1], line)) - return 0; - - /* Add an heap allocated copy of the line in the history. - * If we reached the max length, remove the older line. */ - linecopy = strdup(line); - if (!linecopy) - return 0; - // replace all newlines with spaces - for (auto ptr = linecopy; *ptr; ptr++) { - if (*ptr == '\n' || *ptr == '\r') { - *ptr = ' '; - } - } - if (history_len == history_max_len) { - free(history[0]); - memmove(history, history + 1, sizeof(char *) * (history_max_len - 1)); - history_len--; - } - history[history_len] = linecopy; - history_len++; - if (history_file && strlen(line) > 0) { - // if there is a history file that we loaded from - // append to the history - // this way we can recover history in case of a crash - FILE *fp; - - fp = fopen(history_file, "a"); - if (fp == NULL) { - return 1; - } - fprintf(fp, "%s\n", line); - fclose(fp); - } - return 1; -} - -/* Set the maximum length for the history. This function can be called even - * if there is already some history, the function will make sure to retain - * just the latest 'len' elements if the new history length value is smaller - * than the amount of items already inside the history. */ -int linenoiseHistorySetMaxLen(int len) { - char **new_entry; - - if (len < 1) - return 0; - if (history) { - int tocopy = history_len; - - new_entry = (char **)malloc(sizeof(char *) * len); - if (new_entry == NULL) - return 0; - - /* If we can't copy everything, free the elements we'll not use. */ - if (len < tocopy) { - int j; - - for (j = 0; j < tocopy - len; j++) - free(history[j]); - tocopy = len; - } - memset(new_entry, 0, sizeof(char *) * len); - memcpy(new_entry, history + (history_len - tocopy), sizeof(char *) * tocopy); - free(history); - history = new_entry; - } - history_max_len = len; - if (history_len > history_max_len) - history_len = history_max_len; - return 1; -} - -/* Save the history in the specified file. On success 0 is returned - * otherwise -1 is returned. */ -int linenoiseHistorySave(const char *filename) { - mode_t old_umask = umask(S_IXUSR | S_IRWXG | S_IRWXO); - FILE *fp; - int j; - - fp = fopen(filename, "w"); - umask(old_umask); - if (fp == NULL) - return -1; - chmod(filename, S_IRUSR | S_IWUSR); - for (j = 0; j < history_len; j++) - fprintf(fp, "%s\n", history[j]); - fclose(fp); - return 0; -} - -/* Load the history from the specified file. If the file does not exist - * zero is returned and no operation is performed. - * - * If the file exists and the operation succeeded 0 is returned, otherwise - * on error -1 is returned. */ -int linenoiseHistoryLoad(const char *filename) { - FILE *fp = fopen(filename, "r"); - char buf[LINENOISE_MAX_LINE]; - - if (fp == NULL) { - return -1; - } - - while (fgets(buf, LINENOISE_MAX_LINE, fp) != NULL) { - char *p; - - p = strchr(buf, '\r'); - if (!p) { - p = strchr(buf, '\n'); - } - if (p) { - *p = '\0'; - } - linenoiseHistoryAdd(buf); - } - fclose(fp); - - history_file = strdup(filename); - return 0; -} diff --git a/tools/shell/linenoise/CMakeLists.txt b/tools/shell/linenoise/CMakeLists.txt new file mode 100644 index 000000000000..bf3fef9fc6e9 --- /dev/null +++ b/tools/shell/linenoise/CMakeLists.txt @@ -0,0 +1,7 @@ +include_directories(include) + +add_library(duckdb_linenoise OBJECT highlighting.cpp history.cpp linenoise.cpp + linenoise-c.cpp rendering.cpp terminal.cpp) +set(SHELL_SOURCES + ${SHELL_SOURCES} $ + PARENT_SCOPE) diff --git a/tools/shell/linenoise_LICENSE b/tools/shell/linenoise/LICENSE similarity index 100% rename from tools/shell/linenoise_LICENSE rename to tools/shell/linenoise/LICENSE diff --git a/tools/shell/linenoise/highlighting.cpp b/tools/shell/linenoise/highlighting.cpp new file mode 100644 index 000000000000..c4127b16fc2f --- /dev/null +++ b/tools/shell/linenoise/highlighting.cpp @@ -0,0 +1,238 @@ +#include "linenoise.hpp" +#include "linenoise.h" +#include "highlighting.hpp" +#include +#include "duckdb/parser/parser.hpp" + +#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +// disable highlighting on windows (for now?) +#define DISABLE_HIGHLIGHT +#endif + +namespace duckdb { + +#ifdef DISABLE_HIGHLIGHT +static int enableHighlighting = 0; +#else +static int enableHighlighting = 1; +#endif +struct Color { + const char *color_name; + const char *highlight; +}; +static Color terminal_colors[] = {{"red", "\033[31m"}, {"green", "\033[32m"}, + {"yellow", "\033[33m"}, {"blue", "\033[34m"}, + {"magenta", "\033[35m"}, {"cyan", "\033[36m"}, + {"white", "\033[37m"}, {"brightblack", "\033[90m"}, + {"brightred", "\033[91m"}, {"brightgreen", "\033[92m"}, + {"brightyellow", "\033[93m"}, {"brightblue", "\033[94m"}, + {"brightmagenta", "\033[95m"}, {"brightcyan", "\033[96m"}, + {"brightwhite", "\033[97m"}, {nullptr, nullptr}}; +static std::string bold = "\033[1m"; +static std::string underline = "\033[4m"; +static std::string keyword = "\033[32m"; +static std::string continuation_selected = "\033[32m"; +static std::string constant = "\033[33m"; +static std::string continuation = "\033[90m"; +static std::string comment = "\033[90m"; +static std::string error = "\033[31m"; +static std::string reset = "\033[00m"; + +void Highlighting::Enable() { + enableHighlighting = 1; +} + +void Highlighting::Disable() { + enableHighlighting = 0; +} + +bool Highlighting::IsEnabled() { + return enableHighlighting; +} + +const char *Highlighting::GetColorOption(const char *option) { + size_t index = 0; + while (terminal_colors[index].color_name) { + if (strcmp(terminal_colors[index].color_name, option) == 0) { + return terminal_colors[index].highlight; + } + index++; + } + return nullptr; +} + +void Highlighting::SetHighlightingColor(HighlightingType type, const char *color) { + switch (type) { + case HighlightingType::KEYWORD: + keyword = color; + break; + case HighlightingType::CONSTANT: + constant = color; + break; + case HighlightingType::COMMENT: + comment = color; + break; + case HighlightingType::ERROR: + error = color; + break; + case HighlightingType::CONTINUATION: + continuation = color; + break; + case HighlightingType::CONTINUATION_SELECTED: + continuation_selected = color; + break; + } +} + +static tokenType convertToken(duckdb::SimplifiedTokenType token_type) { + switch (token_type) { + case duckdb::SimplifiedTokenType::SIMPLIFIED_TOKEN_IDENTIFIER: + return tokenType::TOKEN_IDENTIFIER; + case duckdb::SimplifiedTokenType::SIMPLIFIED_TOKEN_NUMERIC_CONSTANT: + return tokenType::TOKEN_NUMERIC_CONSTANT; + case duckdb::SimplifiedTokenType::SIMPLIFIED_TOKEN_STRING_CONSTANT: + return tokenType::TOKEN_STRING_CONSTANT; + case duckdb::SimplifiedTokenType::SIMPLIFIED_TOKEN_OPERATOR: + return tokenType::TOKEN_OPERATOR; + case duckdb::SimplifiedTokenType::SIMPLIFIED_TOKEN_KEYWORD: + return tokenType::TOKEN_KEYWORD; + case duckdb::SimplifiedTokenType::SIMPLIFIED_TOKEN_COMMENT: + return tokenType::TOKEN_COMMENT; + default: + throw duckdb::InternalException("Unrecognized token type"); + } +} + +vector Highlighting::Tokenize(char *buf, size_t len, searchMatch *match) { + string sql(buf, len); + auto parseTokens = duckdb::Parser::Tokenize(sql); + vector tokens; + + for (auto &token : parseTokens) { + highlightToken new_token; + new_token.type = convertToken(token.type); + new_token.start = token.start; + tokens.push_back(new_token); + } + + if (!tokens.empty() && tokens[0].start > 0) { + highlightToken new_token; + new_token.type = tokenType::TOKEN_IDENTIFIER; + new_token.start = 0; + tokens.insert(tokens.begin(), new_token); + } + if (tokens.empty() && sql.size() > 0) { + highlightToken new_token; + new_token.type = tokenType::TOKEN_IDENTIFIER; + new_token.start = 0; + tokens.push_back(new_token); + } + if (match) { + // we have a search match - insert it into the token list + // we want to insert a search token with start = match_start, end = match_end + // first figure out which token type we would have at match_end (if any) + for (size_t i = 0; i + 1 < tokens.size(); i++) { + if (tokens[i].start <= match->match_start && tokens[i + 1].start >= match->match_start) { + // this token begins after the search position, insert the token here + size_t token_position = i + 1; + auto end_type = tokens[i].type; + if (tokens[i].start == match->match_start) { + // exact start: only set the search match + tokens[i].search_match = true; + } else { + // non-exact start: add a new token + highlightToken search_token; + search_token.type = tokens[i].type; + search_token.start = match->match_start; + search_token.search_match = true; + tokens.insert(tokens.begin() + token_position, search_token); + token_position++; + } + + // move forwards + while (token_position < tokens.size() && tokens[token_position].start < match->match_end) { + // this token is + // mark this token as a search token + end_type = tokens[token_position].type; + tokens[token_position].search_match = true; + token_position++; + } + if (token_position >= tokens.size() || tokens[token_position].start > match->match_end) { + // insert the token that marks the end of the search + highlightToken end_token; + end_token.type = end_type; + end_token.start = match->match_end; + tokens.insert(tokens.begin() + token_position, end_token); + token_position++; + } + break; + } + } + } + return tokens; +} + +string Highlighting::HighlightText(char *buf, size_t len, size_t start_pos, size_t end_pos, + const vector &tokens) { + std::stringstream ss; + size_t prev_pos = 0; + for (size_t i = 0; i < tokens.size(); i++) { + size_t next = i + 1 < tokens.size() ? tokens[i + 1].start : len; + if (next < start_pos) { + // this token is not rendered at all + continue; + } + + auto &token = tokens[i]; + size_t start = token.start > start_pos ? token.start : start_pos; + size_t end = next > end_pos ? end_pos : next; + if (end <= start) { + continue; + } + if (prev_pos > start) { +#ifdef DEBUG + throw InternalException("ERROR - Rendering at position %llu after rendering at position %llu\n", start, + prev_pos); +#endif + Linenoise::Log("ERROR - Rendering at position %llu after rendering at position %llu\n", start, prev_pos); + continue; + } + prev_pos = start; + std::string text = std::string(buf + start, end - start); + if (token.search_match) { + ss << underline; + } + switch (token.type) { + case tokenType::TOKEN_KEYWORD: + ss << keyword << text << reset; + break; + case tokenType::TOKEN_NUMERIC_CONSTANT: + case tokenType::TOKEN_STRING_CONSTANT: + ss << constant << text << reset; + break; + case tokenType::TOKEN_CONTINUATION: + ss << continuation << text << reset; + break; + case tokenType::TOKEN_CONTINUATION_SELECTED: + ss << continuation_selected << text << reset; + break; + case tokenType::TOKEN_BRACKET: + ss << underline << text << reset; + break; + case tokenType::TOKEN_ERROR: + ss << error << text << reset; + break; + case tokenType::TOKEN_COMMENT: + ss << comment << text << reset; + break; + default: + ss << text; + if (token.search_match) { + ss << reset; + } + } + } + return ss.str(); +} + +} // namespace duckdb diff --git a/tools/shell/linenoise/history.cpp b/tools/shell/linenoise/history.cpp new file mode 100644 index 000000000000..25912b8b7bcd --- /dev/null +++ b/tools/shell/linenoise/history.cpp @@ -0,0 +1,205 @@ +#include "history.hpp" +#include "linenoise.hpp" +#include "terminal.hpp" +#include "duckdb_shell_wrapper.h" +#include "sqlite3.h" +#include + +namespace duckdb { +#define LINENOISE_DEFAULT_HISTORY_MAX_LEN 1000 +static idx_t history_max_len = LINENOISE_DEFAULT_HISTORY_MAX_LEN; +static idx_t history_len = 0; +static char **history = nullptr; +static char *history_file = nullptr; + +/* Free the history, but does not reset it. Only used when we have to + * exit() to avoid memory leaks are reported by valgrind & co. */ +void History::Free() { + if (history) { + for (idx_t j = 0; j < history_len; j++) { + free(history[j]); + } + free(history); + } +} + +idx_t History::GetLength() { + return history_len; +} + +const char *History::GetEntry(idx_t index) { + if (!history || index >= history_len) { + // FIXME: print debug message + return ""; + } + return history[index]; +} + +void History::Overwrite(idx_t index, const char *new_entry) { + if (!history || index >= history_len) { + // FIXME: print debug message + return; + } + + free(history[index]); + history[index] = strdup(new_entry); +} + +void History::RemoveLastEntry() { + history_len--; + free(history[history_len]); +} + +int History::Add(const char *line) { + char *linecopy; + + if (history_max_len == 0) { + return 0; + } + + /* Initialization on first call. */ + if (history == nullptr) { + history = (char **)malloc(sizeof(char *) * history_max_len); + if (history == nullptr) { + return 0; + } + memset(history, 0, (sizeof(char *) * history_max_len)); + } + + /* Don't add duplicated lines. */ + if (history_len && !strcmp(history[history_len - 1], line)) { + return 0; + } + + /* Add an heap allocated copy of the line in the history. + * If we reached the max length, remove the older line. */ + linecopy = strdup(line); + if (!linecopy) { + return 0; + } + if (!Terminal::IsMultiline()) { + // replace all newlines with spaces + for (auto ptr = linecopy; *ptr; ptr++) { + if (*ptr == '\n' || *ptr == '\r') { + *ptr = ' '; + } + } + } + if (history_len == history_max_len) { + free(history[0]); + memmove(history, history + 1, sizeof(char *) * (history_max_len - 1)); + history_len--; + } + history[history_len] = linecopy; + history_len++; + if (history_file && strlen(line) > 0) { + // if there is a history file that we loaded from + // append to the history + // this way we can recover history in case of a crash + FILE *fp; + + fp = fopen(history_file, "a"); + if (fp == nullptr) { + return 1; + } + fprintf(fp, "%s\n", line); + fclose(fp); + } + return 1; +} + +int History::SetMaxLength(idx_t len) { + char **new_entry; + + if (len < 1) { + return 0; + } + if (history) { + idx_t tocopy = history_len; + + new_entry = (char **)malloc(sizeof(char *) * len); + if (new_entry == nullptr) { + return 0; + } + + /* If we can't copy everything, free the elements we'll not use. */ + if (len < tocopy) { + for (idx_t j = 0; j < tocopy - len; j++) { + free(history[j]); + } + tocopy = len; + } + memset(new_entry, 0, sizeof(char *) * len); + memcpy(new_entry, history + (history_len - tocopy), sizeof(char *) * tocopy); + free(history); + history = new_entry; + } + history_max_len = len; + if (history_len > history_max_len) { + history_len = history_max_len; + } + return 1; +} + +int History::Save(const char *filename) { + mode_t old_umask = umask(S_IXUSR | S_IRWXG | S_IRWXO); + FILE *fp; + + fp = fopen(filename, "w"); + umask(old_umask); + if (fp == nullptr) { + return -1; + } + chmod(filename, S_IRUSR | S_IWUSR); + for (idx_t j = 0; j < history_len; j++) { + fprintf(fp, "%s\n", history[j]); + } + fclose(fp); + return 0; +} + +int History::Load(const char *filename) { + FILE *fp = fopen(filename, "r"); + char buf[LINENOISE_MAX_LINE + 1]; + buf[LINENOISE_MAX_LINE] = '\0'; + + if (fp == nullptr) { + return -1; + } + + std::string result; + while (fgets(buf, LINENOISE_MAX_LINE, fp) != nullptr) { + char *p; + + // strip the newline first + p = strchr(buf, '\r'); + if (!p) { + p = strchr(buf, '\n'); + } + if (p) { + *p = '\0'; + } + if (result.empty() && buf[0] == '.') { + // if the first character is a dot this is a dot command + // add the full line to the history + History::Add(buf); + continue; + } + // else we are parsing a SQL statement + result += buf; + if (sqlite3_complete(result.c_str())) { + // this line contains a full SQL statement - add it to the history + History::Add(result.c_str()); + result = std::string(); + continue; + } + // the result does not contain a full SQL statement - add a newline deliminator and move on to the next line + result += "\r\n"; + } + fclose(fp); + + history_file = strdup(filename); + return 0; +} + +} // namespace duckdb diff --git a/tools/shell/linenoise/include/highlighting.hpp b/tools/shell/linenoise/include/highlighting.hpp new file mode 100644 index 000000000000..e9583430f6f2 --- /dev/null +++ b/tools/shell/linenoise/include/highlighting.hpp @@ -0,0 +1,50 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// highlighting.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/common.hpp" + +namespace duckdb { +struct searchMatch; + +enum class tokenType : uint8_t { + TOKEN_IDENTIFIER, + TOKEN_NUMERIC_CONSTANT, + TOKEN_STRING_CONSTANT, + TOKEN_OPERATOR, + TOKEN_KEYWORD, + TOKEN_COMMENT, + TOKEN_CONTINUATION, + TOKEN_CONTINUATION_SELECTED, + TOKEN_BRACKET, + TOKEN_ERROR +}; + +enum class HighlightingType { KEYWORD, CONSTANT, COMMENT, ERROR, CONTINUATION, CONTINUATION_SELECTED }; + +struct highlightToken { + tokenType type; + size_t start = 0; + bool search_match = false; +}; + +class Highlighting { +public: + static void Enable(); + static void Disable(); + static bool IsEnabled(); + static const char *GetColorOption(const char *option); + static void SetHighlightingColor(HighlightingType type, const char *color); + + static vector Tokenize(char *buf, size_t len, searchMatch *match = nullptr); + static string HighlightText(char *buf, size_t len, size_t start_pos, size_t end_pos, + const vector &tokens); +}; + +} // namespace duckdb diff --git a/tools/shell/linenoise/include/history.hpp b/tools/shell/linenoise/include/history.hpp new file mode 100644 index 000000000000..c9a83cbd6d35 --- /dev/null +++ b/tools/shell/linenoise/include/history.hpp @@ -0,0 +1,28 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// history.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/common.hpp" + +namespace duckdb { + +class History { +public: + static void Free(); + static idx_t GetLength(); + static const char *GetEntry(idx_t index); + static void Overwrite(idx_t index, const char *new_entry); + static void RemoveLastEntry(); + static int Add(const char *line); + static int SetMaxLength(idx_t len); + static int Save(const char *filename); + static int Load(const char *filename); +}; + +} // namespace duckdb diff --git a/tools/shell/include/linenoise.h b/tools/shell/linenoise/include/linenoise.h similarity index 97% rename from tools/shell/include/linenoise.h rename to tools/shell/linenoise/include/linenoise.h index 3748fa787ab8..8a02b30202b4 100644 --- a/tools/shell/include/linenoise.h +++ b/tools/shell/linenoise/include/linenoise.h @@ -65,9 +65,9 @@ int linenoiseHistorySave(const char *filename); int linenoiseHistoryLoad(const char *filename); void linenoiseClearScreen(void); void linenoiseSetMultiLine(int ml); -void linenoisePrintKeyCodes(void); size_t linenoiseComputeRenderWidth(const char *buf, size_t len); int linenoiseGetRenderPosition(const char *buf, size_t len, int max_width, int *n); +void linenoiseSetPrompt(const char *continuation, const char *continuationSelected); #ifdef __cplusplus } diff --git a/tools/shell/linenoise/include/linenoise.hpp b/tools/shell/linenoise/include/linenoise.hpp new file mode 100644 index 000000000000..bfa6d81f69bc --- /dev/null +++ b/tools/shell/linenoise/include/linenoise.hpp @@ -0,0 +1,182 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// linenoise.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/common.hpp" +#include "duckdb/common/exception.hpp" +#include "terminal.hpp" +#include "linenoise.h" + +#define LINENOISE_MAX_LINE 204800 + +namespace duckdb { +struct highlightToken; +struct AppendBuffer; + +enum class HistoryScrollDirection : uint8_t { + LINENOISE_HISTORY_NEXT, + LINENOISE_HISTORY_PREV, + LINENOISE_HISTORY_START, + LINENOISE_HISTORY_END +}; +enum class Capitalization : uint8_t { CAPITALIZE, LOWERCASE, UPPERCASE }; + +struct searchMatch { + size_t history_index; + size_t match_start; + size_t match_end; +}; + +struct Completion { + string completion; + idx_t cursor_pos; +}; + +struct TabCompletion { + vector completions; +}; + +class Linenoise { +public: + Linenoise(int stdin_fd, int stdout_fd, char *buf, size_t buflen, const char *prompt); + +public: + int Edit(); + + static void SetCompletionCallback(linenoiseCompletionCallback *fn); + static void SetHintsCallback(linenoiseHintsCallback *fn); + static void SetFreeHintsCallback(linenoiseFreeHintsCallback *fn); + + static linenoiseHintsCallback *HintsCallback(); + static linenoiseFreeHintsCallback *FreeHintsCallback(); + + static void SetPrompt(const char *continuation, const char *continuationSelected); + static size_t ComputeRenderWidth(const char *buf, size_t len); + static int GetRenderPosition(const char *buf, size_t len, int max_width, int *n); + + static int ParseOption(const char **azArg, int nArg, const char **out_error); + + int GetPromptWidth() const; + + void RefreshLine(); + int CompleteLine(EscapeSequence ¤t_sequence); + void InsertCharacter(char c); + int EditInsert(char c); + int EditInsertMulti(const char *c); + void EditMoveLeft(); + void EditMoveRight(); + void EditMoveWordLeft(); + void EditMoveWordRight(); + bool EditMoveRowUp(); + bool EditMoveRowDown(); + void EditMoveHome(); + void EditMoveEnd(); + void EditMoveStartOfLine(); + void EditMoveEndOfLine(); + void EditHistoryNext(HistoryScrollDirection dir); + void EditHistorySetIndex(idx_t index); + void EditDelete(); + void EditBackspace(); + void EditDeletePrevWord(); + void EditDeleteNextWord(); + void EditDeleteAll(); + void EditCapitalizeNextWord(Capitalization capitalization); + void EditRemoveSpaces(); + void EditSwapCharacter(); + void EditSwapWord(); + + void StartSearch(); + void CancelSearch(); + char AcceptSearch(char nextCommand); + void PerformSearch(); + void SearchPrev(); + void SearchNext(); + + char Search(char c); + + void RefreshMultiLine(); + void RefreshSingleLine() const; + void RefreshSearch(); + void RefreshShowHints(AppendBuffer &append_buffer, int plen) const; + + size_t PrevChar() const; + size_t NextChar() const; + + void NextPosition(const char *buf, size_t len, size_t &cpos, int &rows, int &cols, int plen) const; + void PositionToColAndRow(size_t target_pos, int &out_row, int &out_col, int &rows, int &cols) const; + size_t ColAndRowToPosition(int target_row, int target_col) const; + + string AddContinuationMarkers(const char *buf, size_t len, int plen, int cursor_row, + vector &tokens) const; + void AddErrorHighlighting(idx_t render_start, idx_t render_end, vector &tokens) const; + + bool AddCompletionMarker(const char *buf, idx_t len, string &result_buffer, vector &tokens) const; + + static bool IsNewline(char c); + static bool IsWordBoundary(char c); + static bool AllWhitespace(const char *z); + + TabCompletion TabComplete() const; + + static void EnableCompletionRendering(); + static void DisableCompletionRendering(); + static void EnableErrorRendering(); + static void DisableErrorRendering(); + +public: + static void LogTokens(const vector &tokens); +#ifdef LINENOISE_LOGGING + // Logging + template + static void Log(const string &msg, Args... params) { + std::vector values; + LogMessageRecursive(msg, values, params...); + } + + static void LogMessageRecursive(const string &msg, std::vector &values); + + template + static void LogMessageRecursive(const string &msg, std::vector &values, T param, + Args... params) { + values.push_back(ExceptionFormatValue::CreateFormatValue(param)); + LogMessageRecursive(msg, values, params...); + } +#else + template + static void Log(const string &msg, Args... params) { + // nop + } +#endif + +public: + int ifd; /* Terminal stdin file descriptor. */ + int ofd; /* Terminal stdout file descriptor. */ + char *buf; /* Edited line buffer. */ + size_t buflen; /* Edited line buffer size. */ + const char *prompt; /* Prompt to display. */ + size_t plen; /* Prompt length. */ + size_t pos; /* Current cursor position. */ + size_t old_cursor_rows; /* Previous refresh cursor position. */ + size_t len; /* Current edited line length. */ + size_t y_scroll; /* The y scroll position (multiline mode) */ + TerminalSize ws; /* Terminal size */ + size_t maxrows; /* Maximum num of rows used so far (multiline mode) */ + idx_t history_index; /* The history index we are currently editing. */ + bool clear_screen; /* Whether we are clearing the screen */ + bool continuation_markers; /* Whether or not to render continuation markers */ + bool search; /* Whether or not we are searching our history */ + bool render; /* Whether or not to re-render */ + bool has_more_data; /* Whether or not there is more data available in the buffer (copy+paste)*/ + bool insert; /* Whether or not the last action was inserting a new character */ + std::string search_buf; //! The search buffer + std::vector search_matches; //! The set of search matches in our history + size_t search_index; //! The current match index +}; + +} // namespace duckdb diff --git a/tools/shell/linenoise/include/terminal.hpp b/tools/shell/linenoise/include/terminal.hpp new file mode 100644 index 000000000000..00414d683342 --- /dev/null +++ b/tools/shell/linenoise/include/terminal.hpp @@ -0,0 +1,122 @@ +//===----------------------------------------------------------------------===// +// DuckDB +// +// terminal.hpp +// +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include "duckdb/common/common.hpp" + +namespace duckdb { + +enum KEY_ACTION { + KEY_NULL = 0, /* NULL */ + CTRL_A = 1, /* Ctrl+a */ + CTRL_B = 2, /* Ctrl-b */ + CTRL_C = 3, /* Ctrl-c */ + CTRL_D = 4, /* Ctrl-d */ + CTRL_E = 5, /* Ctrl-e */ + CTRL_F = 6, /* Ctrl-f */ + CTRL_G = 7, /* Ctrl-g */ + CTRL_H = 8, /* Ctrl-h */ + TAB = 9, /* Tab */ + CTRL_J = 10, /* Ctrl+j*/ + CTRL_K = 11, /* Ctrl+k */ + CTRL_L = 12, /* Ctrl+l */ + ENTER = 13, /* Enter */ + CTRL_N = 14, /* Ctrl-n */ + CTRL_O = 15, /* Ctrl-O */ + CTRL_P = 16, /* Ctrl-p */ + CTRL_R = 18, /* Ctrl-r */ + CTRL_S = 19, /* Ctrl-s */ + CTRL_T = 20, /* Ctrl-t */ + CTRL_U = 21, /* Ctrl+u */ + CTRL_W = 23, /* Ctrl+w */ + CTRL_X = 24, /* Ctrl+x */ + CTRL_Y = 25, /* Ctrl+y */ + CTRL_Z = 26, /* Ctrl+z */ + ESC = 27, /* Escape */ + BACKSPACE = 127 /* Backspace */ +}; + +enum class EscapeSequence { + INVALID = 0, + UNKNOWN = 1, + CTRL_MOVE_BACKWARDS, + CTRL_MOVE_FORWARDS, + HOME, + END, + UP, + DOWN, + RIGHT, + LEFT, + DELETE, + SHIFT_TAB, + ESCAPE, + ALT_A, + ALT_B, + ALT_C, + ALT_D, + ALT_E, + ALT_F, + ALT_G, + ALT_H, + ALT_I, + ALT_J, + ALT_K, + ALT_L, + ALT_M, + ALT_N, + ALT_O, + ALT_P, + ALT_Q, + ALT_R, + ALT_S, + ALT_T, + ALT_U, + ALT_V, + ALT_W, + ALT_X, + ALT_Y, + ALT_Z, + ALT_BACKSPACE, + ALT_LEFT_ARROW, + ALT_RIGHT_ARROW, + ALT_BACKSLASH, +}; + +struct TerminalSize { + int ws_col = 0; + int ws_row = 0; +}; + +class Terminal { +public: + static int IsUnsupportedTerm(); + static int EnableRawMode(); + static void DisableRawMode(); + static bool IsMultiline(); + static void SetMultiLine(int ml); + + static void ClearScreen(); + static void Beep(); + + static bool IsAtty(); + static int HasMoreData(int fd); + static TerminalSize GetTerminalSize(); + + static char *EditNoTTY(); + static int EditRaw(char *buf, size_t buflen, const char *prompt); + + static EscapeSequence ReadEscapeSequence(int ifd); + +private: + static TerminalSize TryMeasureTerminalSize(); + static TerminalSize GetCursorPosition(); + static idx_t ReadEscapeSequence(int ifd, char sequence[]); +}; + +} // namespace duckdb diff --git a/tools/shell/linenoise/linenoise-c.cpp b/tools/shell/linenoise/linenoise-c.cpp new file mode 100644 index 000000000000..a5580994659b --- /dev/null +++ b/tools/shell/linenoise/linenoise-c.cpp @@ -0,0 +1,154 @@ +#include "linenoise.hpp" +#include "linenoise.h" +#include "history.hpp" +#include "terminal.hpp" + +using duckdb::History; +using duckdb::idx_t; +using duckdb::Linenoise; +using duckdb::Terminal; + +/* The high level function that is the main API of the linenoise library. + * This function checks if the terminal has basic capabilities, just checking + * for a blacklist of stupid terminals, and later either calls the line + * editing function or uses dummy fgets() so that you will be able to type + * something even in the most desperate of the conditions. */ +char *linenoise(const char *prompt) { + char buf[LINENOISE_MAX_LINE]; + int count; + + if (!Terminal::IsAtty()) { + /* Not a tty: read from file / pipe. In this mode we don't want any + * limit to the line size, so we call a function to handle that. */ + return Terminal::EditNoTTY(); + } else if (Terminal::IsUnsupportedTerm()) { + size_t len; + + printf("%s", prompt); + fflush(stdout); + if (fgets(buf, LINENOISE_MAX_LINE, stdin) == NULL) { + return NULL; + } + len = strlen(buf); + while (len && (buf[len - 1] == '\n' || buf[len - 1] == '\r')) { + len--; + buf[len] = '\0'; + } + return strdup(buf); + } else { + count = Terminal::EditRaw(buf, LINENOISE_MAX_LINE, prompt); + if (count == -1) { + return NULL; + } + return strdup(buf); + } +} + +/* This is just a wrapper the user may want to call in order to make sure + * the linenoise returned buffer is freed with the same allocator it was + * created with. Useful when the main program is using an alternative + * allocator. */ +void linenoiseFree(void *ptr) { + free(ptr); +} + +/* ================================ History ================================= */ + +/* This is the API call to add a new entry in the linenoise history. + * It uses a fixed array of char pointers that are shifted (memmoved) + * when the history max length is reached in order to remove the older + * entry and make room for the new one, so it is not exactly suitable for huge + * histories, but will work well for a few hundred of entries. + * + * Using a circular buffer is smarter, but a bit more complex to handle. */ +int linenoiseHistoryAdd(const char *line) { + return History::Add(line); +} + +/* Set the maximum length for the history. This function can be called even + * if there is already some history, the function will make sure to retain + * just the latest 'len' elements if the new history length value is smaller + * than the amount of items already inside the history. */ +int linenoiseHistorySetMaxLen(int len) { + if (len < 0) { + return 0; + } + return History::SetMaxLength(idx_t(len)); +} + +/* Save the history in the specified file. On success 0 is returned + * otherwise -1 is returned. */ +int linenoiseHistorySave(const char *filename) { + return History::Save(filename); +} + +/* Load the history from the specified file. If the file does not exist + * zero is returned and no operation is performed. + * + * If the file exists and the operation succeeded 0 is returned, otherwise + * on error -1 is returned. */ +int linenoiseHistoryLoad(const char *filename) { + return History::Load(filename); +} + +/* Register a callback function to be called for tab-completion. */ +void linenoiseSetCompletionCallback(linenoiseCompletionCallback *fn) { + Linenoise::SetCompletionCallback(fn); +} + +/* Register a hits function to be called to show hits to the user at the + * right of the prompt. */ +void linenoiseSetHintsCallback(linenoiseHintsCallback *fn) { + Linenoise::SetHintsCallback(fn); +} + +/* Register a function to free the hints returned by the hints callback + * registered with linenoiseSetHintsCallback(). */ +void linenoiseSetFreeHintsCallback(linenoiseFreeHintsCallback *fn) { + Linenoise::SetFreeHintsCallback(fn); +} + +void linenoiseSetMultiLine(int ml) { + Terminal::SetMultiLine(ml); +} + +void linenoiseSetPrompt(const char *continuation, const char *continuationSelected) { + Linenoise::SetPrompt(continuation, continuationSelected); +} + +/* This function is used by the callback function registered by the user + * in order to add completion options given the input string when the + * user typed . See the example.c source code for a very easy to + * understand example. */ +void linenoiseAddCompletion(linenoiseCompletions *lc, const char *str) { + size_t len = strlen(str); + char *copy, **cvec; + + copy = (char *)malloc(len + 1); + if (copy == NULL) + return; + memcpy(copy, str, len + 1); + cvec = (char **)realloc(lc->cvec, sizeof(char *) * (lc->len + 1)); + if (cvec == NULL) { + free(copy); + return; + } + lc->cvec = cvec; + lc->cvec[lc->len++] = copy; +} + +size_t linenoiseComputeRenderWidth(const char *buf, size_t len) { + return Linenoise::ComputeRenderWidth(buf, len); +} + +int linenoiseGetRenderPosition(const char *buf, size_t len, int max_width, int *n) { + return Linenoise::GetRenderPosition(buf, len, max_width, n); +} + +void linenoiseClearScreen(void) { + Terminal::ClearScreen(); +} + +int linenoiseParseOption(const char **azArg, int nArg, const char **out_error) { + return Linenoise::ParseOption(azArg, nArg, out_error); +} diff --git a/tools/shell/linenoise/linenoise.cpp b/tools/shell/linenoise/linenoise.cpp new file mode 100644 index 000000000000..1ea5384d9633 --- /dev/null +++ b/tools/shell/linenoise/linenoise.cpp @@ -0,0 +1,1413 @@ +#include +#include +#include +#include +#include +#include "linenoise.h" +#include "linenoise.hpp" +#include "history.hpp" +#include "highlighting.hpp" +#include "terminal.hpp" +#include "utf8proc_wrapper.hpp" +#include +#include +#include "duckdb_shell_wrapper.h" +#include +#include "sqlite3.h" +#include "duckdb/common/string_util.hpp" +#ifdef __MVS__ +#include +#include +#endif + +namespace duckdb { + +static linenoiseCompletionCallback *completionCallback = NULL; +static linenoiseHintsCallback *hintsCallback = NULL; +static linenoiseFreeHintsCallback *freeHintsCallback = NULL; + +int linenoiseHistoryAdd(const char *line); + +/* ============================== Completion ================================ */ + +/* Free a list of completion option populated by linenoiseAddCompletion(). */ +static void freeCompletions(linenoiseCompletions *lc) { + size_t i; + for (i = 0; i < lc->len; i++) { + free(lc->cvec[i]); + } + if (lc->cvec != nullptr) { + free(lc->cvec); + } +} + +/* Register a callback function to be called for tab-completion. */ +void Linenoise::SetCompletionCallback(linenoiseCompletionCallback *fn) { + completionCallback = fn; +} + +/* Register a hits function to be called to show hits to the user at the + * right of the prompt. */ +void Linenoise::SetHintsCallback(linenoiseHintsCallback *fn) { + hintsCallback = fn; +} + +/* Register a function to free the hints returned by the hints callback + * registered with linenoiseSetHintsCallback(). */ +void Linenoise::SetFreeHintsCallback(linenoiseFreeHintsCallback *fn) { + freeHintsCallback = fn; +} + +linenoiseHintsCallback *Linenoise::HintsCallback() { + return hintsCallback; +} + +linenoiseFreeHintsCallback *Linenoise::FreeHintsCallback() { + return freeHintsCallback; +} + +TabCompletion Linenoise::TabComplete() const { + TabCompletion result; + if (!completionCallback) { + return result; + } + linenoiseCompletions lc; + lc.cvec = nullptr; + lc.len = 0; + // complete based on the cursor position + auto prev_char = buf[pos]; + buf[pos] = '\0'; + completionCallback(buf, &lc); + buf[pos] = prev_char; + result.completions.reserve(lc.len); + for (idx_t i = 0; i < lc.len; i++) { + Completion c; + c.completion = lc.cvec[i]; + c.cursor_pos = c.completion.size(); + c.completion += buf + pos; + result.completions.emplace_back(std::move(c)); + } + freeCompletions(&lc); + return result; +} +/* This is an helper function for linenoiseEdit() and is called when the + * user types the key in order to complete the string currently in the + * input. + * + * The state of the editing is encapsulated into the pointed linenoiseState + * structure as described in the structure definition. */ +int Linenoise::CompleteLine(EscapeSequence ¤t_sequence) { + int nread, nwritten; + char c = 0; + + auto completion_list = TabComplete(); + auto &completions = completion_list.completions; + if (completions.empty()) { + Terminal::Beep(); + } else { + bool stop = false; + bool accept_completion = false; + idx_t i = 0; + + while (!stop) { + /* Show completion or original buffer */ + if (i < completions.size()) { + Linenoise saved = *this; + + len = completions[i].completion.size(); + pos = completions[i].cursor_pos; + buf = (char *)completions[i].completion.c_str(); + RefreshLine(); + len = saved.len; + pos = saved.pos; + buf = saved.buf; + } else { + RefreshLine(); + } + + nread = read(ifd, &c, 1); + if (nread <= 0) { + return -1; + } + + Linenoise::Log("\nComplete Character %d\n", (int)c); + switch (c) { + case TAB: /* tab */ + i = (i + 1) % (completions.size() + 1); + if (i == completions.size()) { + Terminal::Beep(); + } + break; + case ESC: { /* escape */ + auto escape = Terminal::ReadEscapeSequence(ifd); + switch (escape) { + case EscapeSequence::SHIFT_TAB: + // shift-tab: move backwards + if (i == 0) { + Terminal::Beep(); + } else { + i--; + } + break; + case EscapeSequence::ESCAPE: + /* Re-show original buffer */ + if (i < completions.size()) { + RefreshLine(); + } + current_sequence = escape; + stop = true; + break; + default: + current_sequence = escape; + accept_completion = true; + stop = true; + break; + } + break; + } + default: + accept_completion = true; + stop = true; + break; + } + if (stop && accept_completion && i < completions.size()) { + /* Update buffer and return */ + if (i < completions.size()) { + nwritten = snprintf(buf, buflen, "%s", completions[i].completion.c_str()); + pos = completions[i].cursor_pos; + len = nwritten; + } + } + } + } + return c; /* Return last read character */ +} + +size_t Linenoise::ComputeRenderWidth(const char *buf, size_t len) { + // utf8 in prompt, get render width + size_t cpos = 0; + size_t render_width = 0; + int sz; + while (cpos < len) { + if (duckdb::Utf8Proc::UTF8ToCodepoint(buf + cpos, sz) < 0) { + cpos++; + render_width++; + continue; + } + + size_t char_render_width = duckdb::Utf8Proc::RenderWidth(buf, len, cpos); + cpos = duckdb::Utf8Proc::NextGraphemeCluster(buf, len, cpos); + render_width += char_render_width; + } + return render_width; +} + +int Linenoise::GetPromptWidth() const { + return int(ComputeRenderWidth(prompt, strlen(prompt))); +} + +int Linenoise::GetRenderPosition(const char *buf, size_t len, int max_width, int *n) { + if (duckdb::Utf8Proc::IsValid(buf, len)) { + // utf8 in prompt, get render width + size_t cpos = 0; + size_t render_width = 0; + while (cpos < len) { + size_t char_render_width = duckdb::Utf8Proc::RenderWidth(buf, len, cpos); + if (int(render_width + char_render_width) > max_width) { + *n = render_width; + return cpos; + } + cpos = duckdb::Utf8Proc::NextGraphemeCluster(buf, len, cpos); + render_width += char_render_width; + } + *n = render_width; + return len; + } else { + // invalid utf8, return -1 + return -1; + } +} + +int Linenoise::ParseOption(const char **azArg, int nArg, const char **out_error) { + if (strcmp(azArg[0], "highlight") == 0) { + if (nArg == 2) { + if (strcmp(azArg[1], "off") == 0 || strcmp(azArg[1], "0") == 0) { + Highlighting::Disable(); + return 1; + } else if (strcmp(azArg[1], "on") == 0 || strcmp(azArg[1], "1") == 0) { + Highlighting::Enable(); + return 1; + } + } + *out_error = "Expected usage: .highlight [off|on]"; + return 1; + } else if (strcmp(azArg[0], "render_errors") == 0) { + if (nArg == 2) { + if (strcmp(azArg[1], "off") == 0 || strcmp(azArg[1], "0") == 0) { + Linenoise::DisableErrorRendering(); + return 1; + } else if (strcmp(azArg[1], "on") == 0 || strcmp(azArg[1], "1") == 0) { + Linenoise::EnableErrorRendering(); + return 1; + } + } + *out_error = "Expected usage: .render_errors [off|on]"; + return 1; + } else if (strcmp(azArg[0], "render_completion") == 0) { + if (nArg == 2) { + if (strcmp(azArg[1], "off") == 0 || strcmp(azArg[1], "0") == 0) { + Linenoise::DisableCompletionRendering(); + return 1; + } else if (strcmp(azArg[1], "on") == 0 || strcmp(azArg[1], "1") == 0) { + Linenoise::EnableCompletionRendering(); + return 1; + } + } + *out_error = "Expected usage: .render_completion [off|on]"; + return 1; + } else if (strcmp(azArg[0], "keyword") == 0 || strcmp(azArg[0], "constant") == 0 || + strcmp(azArg[0], "comment") == 0 || strcmp(azArg[0], "error") == 0 || strcmp(azArg[0], "cont") == 0 || + strcmp(azArg[0], "cont_sel") == 0) { + if (nArg == 2) { + const char *option = Highlighting::GetColorOption(azArg[1]); + if (option) { + HighlightingType type; + if (strcmp(azArg[0], "keyword") == 0) { + type = HighlightingType::KEYWORD; + } else if (strcmp(azArg[0], "constant") == 0) { + type = HighlightingType::CONSTANT; + } else if (strcmp(azArg[0], "comment") == 0) { + type = HighlightingType::COMMENT; + } else if (strcmp(azArg[0], "error") == 0) { + type = HighlightingType::ERROR; + } else if (strcmp(azArg[0], "cont") == 0) { + type = HighlightingType::CONTINUATION; + } else { + type = HighlightingType::CONTINUATION_SELECTED; + } + Highlighting::SetHighlightingColor(type, option); + return 1; + } + } + *out_error = "Expected usage: .[keyword|constant|comment|error|cont|cont_sel] " + "[red|green|yellow|blue|magenta|cyan|white|brightblack|brightred|brightgreen|brightyellow|" + "brightblue|brightmagenta|brightcyan|brightwhite]"; + return 1; + } else if (strcmp(azArg[0], "keywordcode") == 0 || strcmp(azArg[0], "constantcode") == 0 || + strcmp(azArg[0], "commentcode") == 0 || strcmp(azArg[0], "errorcode") == 0 || + strcmp(azArg[0], "contcode") == 0 || strcmp(azArg[0], "cont_selcode") == 0) { + if (nArg == 2) { + HighlightingType type; + if (strcmp(azArg[0], "keywordcode") == 0) { + type = HighlightingType::KEYWORD; + } else if (strcmp(azArg[0], "constantcode") == 0) { + type = HighlightingType::CONSTANT; + } else if (strcmp(azArg[0], "commentcode") == 0) { + type = HighlightingType::COMMENT; + } else if (strcmp(azArg[0], "errorcode") == 0) { + type = HighlightingType::ERROR; + } else if (strcmp(azArg[0], "contcode") == 0) { + type = HighlightingType::CONTINUATION; + } else { + type = HighlightingType::CONTINUATION_SELECTED; + } + Highlighting::SetHighlightingColor(type, azArg[1]); + return 1; + } + *out_error = + "Expected usage: .[keywordcode|constantcode|commentcode|errorcode|contcode|cont_selcode] [terminal_code]"; + return 1; + } else if (strcmp(azArg[0], "multiline") == 0) { + linenoiseSetMultiLine(1); + return 1; + } else if (strcmp(azArg[0], "singleline") == 0) { + linenoiseSetMultiLine(0); + return 1; + } + return 0; +} + +bool Linenoise::IsNewline(char c) { + return c == '\r' || c == '\n'; +} + +void Linenoise::NextPosition(const char *buf, size_t len, size_t &cpos, int &rows, int &cols, int plen) const { + if (IsNewline(buf[cpos])) { + // explicit newline! move to next line and insert a prompt + rows++; + cols = plen; + cpos++; + if (buf[cpos - 1] == '\r' && cpos < len && buf[cpos] == '\n') { + cpos++; + } + return; + } + int sz; + int char_render_width; + if (duckdb::Utf8Proc::UTF8ToCodepoint(buf + cpos, sz) < 0) { + char_render_width = 1; + cpos++; + } else { + char_render_width = (int)duckdb::Utf8Proc::RenderWidth(buf, len, cpos); + cpos = duckdb::Utf8Proc::NextGraphemeCluster(buf, len, cpos); + } + if (cols + char_render_width > ws.ws_col) { + // exceeded l->cols, move to next row + rows++; + cols = char_render_width; + } + cols += char_render_width; +} + +void Linenoise::PositionToColAndRow(size_t target_pos, int &out_row, int &out_col, int &rows, int &cols) const { + int plen = GetPromptWidth(); + out_row = -1; + out_col = 0; + rows = 1; + cols = plen; + size_t cpos = 0; + while (cpos < len) { + if (cols >= ws.ws_col && !IsNewline(buf[cpos])) { + // exceeded width - move to next line + rows++; + cols = 0; + } + if (out_row < 0 && cpos >= target_pos) { + out_row = rows; + out_col = cols; + } + NextPosition(buf, len, cpos, rows, cols, plen); + } + if (target_pos == len) { + out_row = rows; + out_col = cols; + } +} + +size_t Linenoise::ColAndRowToPosition(int target_row, int target_col) const { + int plen = GetPromptWidth(); + int rows = 1; + int cols = plen; + size_t last_cpos = 0; + size_t cpos = 0; + while (cpos < len) { + if (cols >= ws.ws_col) { + // exceeded width - move to next line + rows++; + cols = 0; + } + if (rows > target_row) { + // we have skipped our target row - that means "target_col" was out of range for this row + // return the last position within the target row + return last_cpos; + } + if (rows == target_row) { + last_cpos = cpos; + } + if (rows == target_row && cols == target_col) { + return cpos; + } + NextPosition(buf, len, cpos, rows, cols, plen); + } + return cpos; +} + +/* Insert the character 'c' at cursor current position. + * + * On error writing to the terminal -1 is returned, otherwise 0. */ +void Linenoise::InsertCharacter(char c) { + if (len < buflen) { + if (len == pos) { + buf[pos] = c; + pos++; + len++; + buf[len] = '\0'; + } else { + memmove(buf + pos + 1, buf + pos, len - pos); + buf[pos] = c; + len++; + pos++; + buf[len] = '\0'; + } + } +} + +int Linenoise::EditInsert(char c) { + if (has_more_data) { + render = false; + } + insert = true; + InsertCharacter(c); + RefreshLine(); + return 0; +} + +int Linenoise::EditInsertMulti(const char *c) { + for (size_t pos = 0; c[pos]; pos++) { + InsertCharacter(c[pos]); + } + RefreshLine(); + return 0; +} + +size_t Linenoise::PrevChar() const { + return duckdb::Utf8Proc::PreviousGraphemeCluster(buf, len, pos); +} + +size_t Linenoise::NextChar() const { + return duckdb::Utf8Proc::NextGraphemeCluster(buf, len, pos); +} + +/* Move cursor on the left. */ +void Linenoise::EditMoveLeft() { + if (pos > 0) { + pos = PrevChar(); + RefreshLine(); + } +} + +/* Move cursor on the right. */ +void Linenoise::EditMoveRight() { + if (pos != len) { + pos = NextChar(); + RefreshLine(); + } +} + +bool Linenoise::IsWordBoundary(char c) { + if (c >= 'a' && c <= 'z') { + return false; + } + if (c >= 'A' && c <= 'Z') { + return false; + } + if (c >= '0' && c <= '9') { + return false; + } + return true; +} + +/* Move cursor to the next left word. */ +void Linenoise::EditMoveWordLeft() { + if (pos == 0) { + return; + } + do { + pos = PrevChar(); + } while (pos > 0 && !IsWordBoundary(buf[pos])); + RefreshLine(); +} + +/* Move cursor on the right. */ +void Linenoise::EditMoveWordRight() { + if (pos == len) { + return; + } + do { + pos = NextChar(); + } while (pos != len && !IsWordBoundary(buf[pos])); + RefreshLine(); +} + +/* Move cursor one row up. */ +bool Linenoise::EditMoveRowUp() { + if (!Terminal::IsMultiline()) { + return false; + } + int rows, cols; + int cursor_row, cursor_col; + PositionToColAndRow(pos, cursor_row, cursor_col, rows, cols); + if (cursor_row <= 1) { + return false; + } + // we can move the cursor a line up + Linenoise::Log("source pos %d", pos); + Linenoise::Log("move from row %d to row %d", cursor_row, cursor_row - 1); + cursor_row--; + pos = ColAndRowToPosition(cursor_row, cursor_col); + Linenoise::Log("new pos %d", pos); + RefreshLine(); + return true; +} + +/* Move cursor one row down. */ +bool Linenoise::EditMoveRowDown() { + if (!Terminal::IsMultiline()) { + return false; + } + int rows, cols; + int cursor_row, cursor_col; + PositionToColAndRow(pos, cursor_row, cursor_col, rows, cols); + if (cursor_row >= rows) { + return false; + } + // we can move the cursor a line down + Linenoise::Log("source pos %d", pos); + Linenoise::Log("move from row %d to row %d", cursor_row, cursor_row + 1); + cursor_row++; + pos = ColAndRowToPosition(cursor_row, cursor_col); + Linenoise::Log("new pos %d", pos); + RefreshLine(); + return true; +} + +/* Move cursor to the start of the buffer. */ +void Linenoise::EditMoveHome() { + if (pos != 0) { + pos = 0; + RefreshLine(); + } +} + +/* Move cursor to the end of the buffer. */ +void Linenoise::EditMoveEnd() { + if (pos != len) { + pos = len; + RefreshLine(); + } +} + +/* Move cursor to the start of the line. */ +void Linenoise::EditMoveStartOfLine() { + while (pos > 0 && buf[pos] != '\n') { + pos--; + } + RefreshLine(); +} + +/* Move cursor to the end of the line. */ +void Linenoise::EditMoveEndOfLine() { + while (pos < len && buf[pos + 1] != '\n') { + pos++; + } + RefreshLine(); +} + +/* Substitute the currently edited line with the next or previous history + * entry as specified by 'dir'. */ +void Linenoise::EditHistoryNext(HistoryScrollDirection dir) { + auto history_len = History::GetLength(); + if (history_len > 1) { + /* Update the current history entry before to + * overwrite it with the next one. */ + History::Overwrite(history_len - 1 - history_index, buf); + /* Show the new entry */ + switch (dir) { + case HistoryScrollDirection::LINENOISE_HISTORY_PREV: + // scroll back + history_index++; + if (history_index >= history_len) { + history_index = history_len - 1; + return; + } + break; + case HistoryScrollDirection::LINENOISE_HISTORY_NEXT: + // scroll forwards + if (history_index == 0) { + return; + } + history_index--; + break; + case HistoryScrollDirection::LINENOISE_HISTORY_END: + history_index = 0; + break; + case HistoryScrollDirection::LINENOISE_HISTORY_START: + history_index = history_len - 1; + break; + } + strncpy(buf, History::GetEntry(history_len - 1 - history_index), buflen); + buf[buflen - 1] = '\0'; + len = pos = strlen(buf); + if (Terminal::IsMultiline() && dir == HistoryScrollDirection::LINENOISE_HISTORY_NEXT) { + pos = ColAndRowToPosition(1, len); + } + RefreshLine(); + } +} + +/* Delete the character at the right of the cursor without altering the cursor + * position. Basically this is what happens with the "Delete" keyboard key. */ +void Linenoise::EditDelete() { + if (len > 0 && pos < len) { + size_t new_pos = NextChar(); + size_t char_sz = new_pos - pos; + memmove(buf + pos, buf + new_pos, len - new_pos); + len -= char_sz; + buf[len] = '\0'; + RefreshLine(); + } +} + +/* Backspace implementation. */ +void Linenoise::EditBackspace() { + if (pos > 0 && len > 0) { + size_t new_pos = PrevChar(); + size_t char_sz = pos - new_pos; + memmove(buf + new_pos, buf + pos, len - pos); + len -= char_sz; + pos = new_pos; + buf[len] = '\0'; + RefreshLine(); + } +} + +static bool IsSpace(char c) { + switch (c) { + case ' ': + case '\r': + case '\n': + case '\t': + return true; + default: + return false; + } +} + +/* Delete the previous word, maintaining the cursor at the start of the + * current word. */ +void Linenoise::EditDeletePrevWord() { + size_t old_pos = pos; + size_t diff; + + while (pos > 0 && IsSpace(buf[pos - 1])) { + pos--; + } + while (pos > 0 && !IsSpace(buf[pos - 1])) { + pos--; + } + diff = old_pos - pos; + memmove(buf + pos, buf + old_pos, len - old_pos + 1); + len -= diff; + RefreshLine(); +} + +/* Delete the next word */ +void Linenoise::EditDeleteNextWord() { + size_t next_pos = pos; + size_t diff; + + while (next_pos < len && IsSpace(buf[next_pos])) { + next_pos++; + } + while (next_pos < len && !IsSpace(buf[next_pos])) { + next_pos++; + } + diff = next_pos - pos; + memmove(buf + pos, buf + next_pos, len - next_pos + 1); + len -= diff; + RefreshLine(); +} + +void Linenoise::EditRemoveSpaces() { + size_t start_pos = pos; + size_t end_pos = pos; + size_t diff; + + while (start_pos > 0 && buf[start_pos - 1] == ' ') { + start_pos--; + } + while (end_pos < len && buf[end_pos] == ' ') { + end_pos++; + } + diff = end_pos - start_pos; + memmove(buf + start_pos, buf + end_pos, len - end_pos + 1); + len -= diff; + pos = start_pos; + RefreshLine(); +} + +void Linenoise::EditSwapCharacter() { + if (pos == 0 || len < 2) { + return; + } + char temp_buffer[128]; + if (pos + 1 > len) { + pos = PrevChar(); + } + int prev_pos = PrevChar(); + int next_pos = NextChar(); + int prev_char_size = pos - prev_pos; + int cur_char_size = next_pos - pos; + memcpy(temp_buffer, buf + prev_pos, prev_char_size); + memmove(buf + prev_pos, buf + pos, cur_char_size); + memcpy(buf + prev_pos + cur_char_size, temp_buffer, prev_char_size); + pos = next_pos; + RefreshLine(); +} + +void Linenoise::EditSwapWord() { + idx_t current_pos = pos; + idx_t left_word_start, left_word_end; + idx_t right_word_start, right_word_end; + + // move to the end of the right word + idx_t end_pos = pos; + while (end_pos < len && IsSpace(buf[end_pos])) { + end_pos++; + } + while (end_pos < len && !IsSpace(buf[end_pos])) { + end_pos++; + } + current_pos = end_pos; + while (current_pos > 0 && IsSpace(buf[current_pos - 1])) { + current_pos--; + } + right_word_end = current_pos; + // move to the start of the right word + while (current_pos > 0 && !IsSpace(buf[current_pos - 1])) { + current_pos--; + } + right_word_start = current_pos; + + // move to the left of the left word + while (current_pos > 0 && IsSpace(buf[current_pos - 1])) { + current_pos--; + } + left_word_end = current_pos; + while (current_pos > 0 && !IsSpace(buf[current_pos - 1])) { + current_pos--; + } + left_word_start = current_pos; + if (left_word_start == right_word_start) { + // no words to swap + return; + } + idx_t left_len = left_word_end - left_word_start; + idx_t right_len = right_word_end - right_word_start; + if (left_len == 0 || right_len == 0) { + // one of the words has no length + return; + } + // now we need to swap [LEFT][RIGHT] to [RIGHT][LEFT] + // there's certainly some fancy way of doing this in-place + // but this is way easier + string left_word(buf + left_word_start, left_len); + string right_word(buf + right_word_start, right_len); + memset(buf + left_word_start, ' ', end_pos - left_word_start); + memcpy(buf + left_word_start, right_word.c_str(), right_word.size()); + memcpy(buf + end_pos - left_len, left_word.c_str(), left_word.size()); + pos = end_pos; + RefreshLine(); +} + +void Linenoise::EditDeleteAll() { + buf[0] = '\0'; + pos = len = 0; + RefreshLine(); +} + +void Linenoise::EditCapitalizeNextWord(Capitalization capitalization) { + size_t next_pos = pos; + + // find the next word + while (next_pos < len && IsSpace(buf[next_pos])) { + next_pos++; + } + bool first_char = true; + while (next_pos < len && !IsSpace(buf[next_pos])) { + switch (capitalization) { + case Capitalization::CAPITALIZE: { + if (first_char) { + first_char = false; + if (buf[next_pos] >= 'a' && buf[next_pos] <= 'z') { + buf[next_pos] -= 'a' - 'A'; + } + } + break; + } + case Capitalization::LOWERCASE: { + if (buf[next_pos] >= 'A' && buf[next_pos] <= 'Z') { + buf[next_pos] += 'a' - 'A'; + } + break; + } + case Capitalization::UPPERCASE: { + if (buf[next_pos] >= 'a' && buf[next_pos] <= 'z') { + buf[next_pos] -= 'a' - 'A'; + } + break; + } + default: + break; + } + next_pos++; + } + pos = next_pos; + RefreshLine(); +} + +void Linenoise::StartSearch() { + // initiate reverse search + search = true; + search_buf = std::string(); + search_matches.clear(); + search_index = 0; + RefreshSearch(); +} + +void Linenoise::CancelSearch() { + search = false; + search_buf = std::string(); + search_matches.clear(); + search_index = 0; + RefreshLine(); +} + +char Linenoise::AcceptSearch(char nextCommand) { + if (search_index < search_matches.size()) { + // if there is a match - copy it into the buffer + auto match = search_matches[search_index]; + auto history_entry = History::GetEntry(match.history_index); + auto history_len = strlen(history_entry); + memcpy(buf, history_entry, history_len); + buf[history_len] = '\0'; + pos = match.match_end; + len = history_len; + } + CancelSearch(); + return nextCommand; +} + +void Linenoise::PerformSearch() { + // we try to maintain the current match while searching + size_t current_match = History::GetLength(); + if (search_index < search_matches.size()) { + current_match = search_matches[search_index].history_index; + } + search_matches.clear(); + search_index = 0; + if (search_buf.empty()) { + return; + } + std::unordered_set matches; + auto lsearch = duckdb::StringUtil::Lower(search_buf); + for (size_t i = History::GetLength(); i > 0; i--) { + size_t history_index = i - 1; + auto lhistory = duckdb::StringUtil::Lower(History::GetEntry(history_index)); + if (matches.find(lhistory) != matches.end()) { + continue; + } + matches.insert(lhistory); + auto entry = lhistory.find(lsearch); + if (entry != duckdb::string::npos) { + if (history_index == current_match) { + search_index = search_matches.size(); + } + searchMatch match; + match.history_index = history_index; + match.match_start = entry; + match.match_end = entry + lsearch.size(); + search_matches.push_back(match); + } + } +} + +void Linenoise::SearchPrev() { + if (search_index > 0) { + search_index--; + } else if (search_matches.size() > 0) { + search_index = search_matches.size() - 1; + } +} + +void Linenoise::SearchNext() { + search_index += 1; + if (search_index >= search_matches.size()) { + search_index = 0; + } +} + +char Linenoise::Search(char c) { + switch (c) { + case CTRL_J: + case ENTER: /* enter */ + // accept search and run + return AcceptSearch(ENTER); + case CTRL_R: + case CTRL_S: + // move to the next match index + SearchNext(); + break; + case ESC: /* escape sequence */ { + auto escape = Terminal::ReadEscapeSequence(ifd); + switch (escape) { + case EscapeSequence::ESCAPE: + // double escape accepts search without any additional command + return AcceptSearch(0); + case EscapeSequence::UP: + SearchPrev(); + break; + case EscapeSequence::DOWN: + SearchNext(); + break; + case EscapeSequence::HOME: + return AcceptSearch(CTRL_A); + case EscapeSequence::END: + return AcceptSearch(CTRL_E); + case EscapeSequence::LEFT: + return AcceptSearch(CTRL_B); + case EscapeSequence::RIGHT: + return AcceptSearch(CTRL_F); + default: + break; + } + break; + } + case CTRL_A: // accept search, move to start of line + return AcceptSearch(CTRL_A); + case '\t': + case CTRL_E: // accept search - move to end of line + return AcceptSearch(CTRL_E); + case CTRL_B: // accept search - move cursor left + return AcceptSearch(CTRL_B); + case CTRL_F: // accept search - move cursor right + return AcceptSearch(CTRL_F); + case CTRL_T: // accept search: swap character + return AcceptSearch(CTRL_T); + case CTRL_U: // accept search, clear buffer + return AcceptSearch(CTRL_U); + case CTRL_K: // accept search, clear after cursor + return AcceptSearch(CTRL_K); + case CTRL_D: // accept search, delete a character + return AcceptSearch(CTRL_D); + case CTRL_L: + linenoiseClearScreen(); + break; + case CTRL_P: + SearchPrev(); + break; + case CTRL_N: + SearchNext(); + break; + case CTRL_C: + case CTRL_G: + // abort search + CancelSearch(); + return 0; + case BACKSPACE: /* backspace */ + case CTRL_H: /* ctrl-h */ + case CTRL_W: /* ctrl-w */ + // remove trailing UTF-8 bytes (if any) + while (!search_buf.empty() && ((search_buf.back() & 0xc0) == 0x80)) { + search_buf.pop_back(); + } + // finally remove the first UTF-8 byte + if (!search_buf.empty()) { + search_buf.pop_back(); + } + PerformSearch(); + break; + default: + // add input to search buffer + search_buf += c; + // perform the search + PerformSearch(); + break; + } + RefreshSearch(); + return 0; +} + +bool Linenoise::AllWhitespace(const char *z) { + for (; *z; z++) { + if (isspace((unsigned char)z[0])) + continue; + if (*z == '/' && z[1] == '*') { + z += 2; + while (*z && (*z != '*' || z[1] != '/')) { + z++; + } + if (*z == 0) { + return false; + } + z++; + continue; + } + if (*z == '-' && z[1] == '-') { + z += 2; + while (*z && *z != '\n') { + z++; + } + if (*z == 0) { + return true; + } + continue; + } + return false; + } + return true; +} + +Linenoise::Linenoise(int stdin_fd, int stdout_fd, char *buf, size_t buflen, const char *prompt) + : ifd(stdin_fd), ofd(stdout_fd), buf(buf), buflen(buflen), prompt(prompt), plen(strlen(prompt)) { + pos = 0; + old_cursor_rows = 1; + len = 0; + ws = Terminal::GetTerminalSize(); + maxrows = 0; + history_index = 0; + y_scroll = 0; + clear_screen = false; + search = false; + has_more_data = false; + render = true; + continuation_markers = true; + insert = false; + + /* Buffer starts empty. */ + buf[0] = '\0'; + buflen--; /* Make sure there is always space for the nulterm */ +} + +/* This function is the core of the line editing capability of linenoise. + * It expects 'fd' to be already in "raw mode" so that every key pressed + * will be returned ASAP to read(). + * + * The resulting string is put into 'buf' when the user type enter, or + * when ctrl+d is typed. + * + * The function returns the length of the current buffer. */ +int Linenoise::Edit() { + /* The latest history entry is always our current buffer, that + * initially is just an empty string. */ + History::Add(""); + + if (write(ofd, prompt, plen) == -1) { + return -1; + } + while (true) { + EscapeSequence current_sequence = EscapeSequence::INVALID; + char c; + int nread; + + nread = read(ifd, &c, 1); + if (nread <= 0) { + return len; + } + has_more_data = Terminal::HasMoreData(ifd); + render = true; + insert = false; + if (Terminal::IsMultiline() && !has_more_data) { + TerminalSize new_size = Terminal::GetTerminalSize(); + if (new_size.ws_col != ws.ws_col || new_size.ws_row != ws.ws_row) { + // terminal resize! re-compute max lines + ws = new_size; + int rows, cols; + int cursor_row, cursor_col; + PositionToColAndRow(pos, cursor_row, cursor_col, rows, cols); + old_cursor_rows = cursor_row; + maxrows = rows; + } + } + + if (search) { + char ret = Search(c); + if (search || ret == '\0') { + // still searching - continue searching + continue; + } + // run subsequent command + c = ret; + } + + /* Only autocomplete when the callback is set. It returns < 0 when + * there was an error reading from fd. Otherwise it will return the + * character that should be handled next. */ + if (c == TAB && completionCallback != NULL) { + if (has_more_data) { + // if there is more data, this tab character was added as part of copy-pasting data + continue; + } + c = CompleteLine(current_sequence); + /* Return on errors */ + if (c < 0) { + return len; + } + /* Read next character when 0 */ + if (c == 0) { + continue; + } + } + + Linenoise::Log("%d\n", (int)c); + switch (c) { + case CTRL_J: + case ENTER: /* enter */ + if (Terminal::IsMultiline() && len > 0) { + // check if this forms a complete SQL statement or not + buf[len] = '\0'; + if (buf[0] != '.' && !AllWhitespace(buf) && !sqlite3_complete(buf)) { + // not a complete SQL statement yet! continuation + // insert "\r\n" at the end + pos = len; + if (EditInsertMulti("\r\n")) { + return -1; + } + break; + } + } + // final refresh before returning control to the shell + continuation_markers = false; + History::RemoveLastEntry(); + if (Terminal::IsMultiline()) { + if (pos == len) { + // already at the end - only refresh + RefreshLine(); + } else { + EditMoveEnd(); + } + } + if (hintsCallback) { + /* Force a refresh without hints to leave the previous + * line as the user typed it after a newline. */ + linenoiseHintsCallback *hc = hintsCallback; + hintsCallback = NULL; + RefreshLine(); + hintsCallback = hc; + } + return (int)len; + case CTRL_O: + case CTRL_G: + case CTRL_C: /* ctrl-c */ { + if (Terminal::IsMultiline()) { + continuation_markers = false; + // force a refresh by setting pos to 0 + pos = 0; + EditMoveEnd(); + } + buf[0] = '\3'; + // we keep track of whether or not the line was empty by writing \3 to the second position of the line + // this is because at a higher level we might want to know if we pressed ctrl c to clear the line + // or to exit the process + if (len > 0) { + buf[1] = '\3'; + buf[2] = '\0'; + pos = 2; + len = 2; + } else { + buf[1] = '\0'; + pos = 1; + len = 1; + } + return (int)len; + } + case BACKSPACE: /* backspace */ + case CTRL_H: /* ctrl-h */ + EditBackspace(); + break; + case CTRL_D: /* ctrl-d, remove char at right of cursor, or if the + line is empty, act as end-of-file. */ + if (len > 0) { + EditDelete(); + } else { + History::RemoveLastEntry(); + return -1; + } + break; + case CTRL_Z: /* ctrl-z, suspends shell */ + Terminal::DisableRawMode(); + raise(SIGTSTP); + Terminal::EnableRawMode(); + RefreshLine(); + break; + case CTRL_T: /* ctrl-t, swaps current character with previous. */ + EditSwapCharacter(); + break; + case CTRL_B: /* ctrl-b */ + EditMoveLeft(); + break; + case CTRL_F: /* ctrl-f */ + EditMoveRight(); + break; + case CTRL_P: /* ctrl-p */ + EditHistoryNext(HistoryScrollDirection::LINENOISE_HISTORY_PREV); + break; + case CTRL_N: /* ctrl-n */ + EditHistoryNext(HistoryScrollDirection::LINENOISE_HISTORY_NEXT); + break; + case CTRL_S: + case CTRL_R: /* ctrl-r */ { + StartSearch(); + break; + } + case ESC: /* escape sequence */ { + EscapeSequence escape; + if (current_sequence == EscapeSequence::INVALID) { + // read escape sequence + escape = Terminal::ReadEscapeSequence(ifd); + } else { + // use stored sequence + escape = current_sequence; + current_sequence = EscapeSequence::INVALID; + } + switch (escape) { + case EscapeSequence::ALT_LEFT_ARROW: + EditHistoryNext(HistoryScrollDirection::LINENOISE_HISTORY_START); + break; + case EscapeSequence::ALT_RIGHT_ARROW: + EditHistoryNext(HistoryScrollDirection::LINENOISE_HISTORY_END); + break; + case EscapeSequence::CTRL_MOVE_BACKWARDS: + case EscapeSequence::ALT_B: + EditMoveWordLeft(); + break; + case EscapeSequence::CTRL_MOVE_FORWARDS: + case EscapeSequence::ALT_F: + EditMoveWordRight(); + break; + case EscapeSequence::ALT_D: + EditDeleteNextWord(); + break; + case EscapeSequence::ALT_C: + EditCapitalizeNextWord(Capitalization::CAPITALIZE); + break; + case EscapeSequence::ALT_L: + EditCapitalizeNextWord(Capitalization::LOWERCASE); + break; + case EscapeSequence::ALT_N: + case EscapeSequence::ALT_P: + StartSearch(); + break; + case EscapeSequence::ALT_T: + EditSwapWord(); + break; + case EscapeSequence::ALT_U: + EditCapitalizeNextWord(Capitalization::UPPERCASE); + break; + case EscapeSequence::ALT_R: + EditDeleteAll(); + break; + case EscapeSequence::ALT_BACKSPACE: + EditDeletePrevWord(); + break; + case EscapeSequence::ALT_BACKSLASH: + EditRemoveSpaces(); + break; + case EscapeSequence::HOME: + EditMoveHome(); + break; + case EscapeSequence::END: + EditMoveEnd(); + break; + case EscapeSequence::UP: + if (EditMoveRowUp()) { + break; + } + EditHistoryNext(HistoryScrollDirection::LINENOISE_HISTORY_PREV); + break; + case EscapeSequence::DOWN: + if (EditMoveRowDown()) { + break; + } + EditHistoryNext(HistoryScrollDirection::LINENOISE_HISTORY_NEXT); + break; + case EscapeSequence::RIGHT: + EditMoveRight(); + break; + case EscapeSequence::LEFT: + EditMoveLeft(); + break; + case EscapeSequence::DELETE: + EditDelete(); + break; + default: + Linenoise::Log("Unrecognized escape\n"); + break; + } + break; + } + case CTRL_U: /* Ctrl+u, delete the whole line. */ + EditDeleteAll(); + break; + case CTRL_K: /* Ctrl+k, delete from current to end of line. */ + buf[pos] = '\0'; + len = pos; + RefreshLine(); + break; + case CTRL_A: /* Ctrl+a, go to the start of the line */ + EditMoveHome(); + break; + case CTRL_E: /* ctrl+e, go to the end of the line */ + EditMoveEnd(); + break; + case CTRL_L: /* ctrl+l, clear screen */ + linenoiseClearScreen(); + clear_screen = true; + RefreshLine(); + break; + case CTRL_W: /* ctrl+w, delete previous word */ + EditDeletePrevWord(); + break; + case CTRL_X: /* ctrl+x, insert newline */ + EditInsertMulti("\r\n"); + break; + case CTRL_Y: + // unsupported + break; + default: { + if (EditInsert(c)) { + return -1; + } + break; + } + } + } + return len; +} + +#ifdef LINENOISE_LOGGING +void Linenoise::LogMessageRecursive(const string &msg, std::vector &values) { + static FILE *lndebug_fp = NULL; + if (!lndebug_fp) { + lndebug_fp = fopen("/tmp/lndebug.txt", "a"); + } + auto log_message = Exception::ConstructMessageRecursive(msg, values); + fprintf(lndebug_fp, "%s", log_message.c_str()); + fflush(lndebug_fp); +} +#endif + +void Linenoise::LogTokens(const vector &tokens) { +#ifdef LINENOISE_LOGGING + for (auto &token : tokens) { + const char *token_type_name = ""; + switch (token.type) { + case tokenType::TOKEN_IDENTIFIER: + token_type_name = "IDENTIFIER"; + break; + case tokenType::TOKEN_NUMERIC_CONSTANT: + token_type_name = "NUMERIC_CONSTANT"; + break; + case tokenType::TOKEN_STRING_CONSTANT: + token_type_name = "STRING_CONSTANT"; + break; + case tokenType::TOKEN_OPERATOR: + token_type_name = "OPERATOR"; + break; + case tokenType::TOKEN_KEYWORD: + token_type_name = "KEYWORD"; + break; + case tokenType::TOKEN_COMMENT: + token_type_name = "COMMENT"; + break; + case tokenType::TOKEN_CONTINUATION: + token_type_name = "CONTINUATION"; + break; + case tokenType::TOKEN_CONTINUATION_SELECTED: + token_type_name = "CONTINUATION_SELECTED"; + break; + case tokenType::TOKEN_BRACKET: + token_type_name = "BRACKET"; + break; + case tokenType::TOKEN_ERROR: + token_type_name = "ERROR"; + break; + default: + break; + } + Linenoise::Log("Token at position %d with type %s\n", token.start, token_type_name); + } +#endif +} + +} // namespace duckdb diff --git a/tools/shell/linenoise/rendering.cpp b/tools/shell/linenoise/rendering.cpp new file mode 100644 index 000000000000..b33fd85ab125 --- /dev/null +++ b/tools/shell/linenoise/rendering.cpp @@ -0,0 +1,862 @@ +#include "linenoise.hpp" +#include "highlighting.hpp" +#include "history.hpp" +#include "utf8proc_wrapper.hpp" +#include + +namespace duckdb { +static const char *continuationPrompt = "> "; +static const char *continuationSelectedPrompt = "> "; +static bool enableCompletionRendering = false; +static bool enableErrorRendering = true; + +void Linenoise::EnableCompletionRendering() { + enableCompletionRendering = true; +} + +void Linenoise::DisableCompletionRendering() { + enableCompletionRendering = false; +} + +void Linenoise::EnableErrorRendering() { + enableErrorRendering = true; +} + +void Linenoise::DisableErrorRendering() { + enableErrorRendering = false; +} + +/* =========================== Line editing ================================= */ + +/* We define a very simple "append buffer" structure, that is an heap + * allocated string where we can append to. This is useful in order to + * write all the escape sequences in a buffer and flush them to the standard + * output in a single call, to avoid flickering effects. */ +struct AppendBuffer { + void Append(const char *s, idx_t len) { + buffer.append(s, len); + } + void Append(const char *s) { + buffer.append(s); + } + + void Write(int fd) { + if (write(fd, buffer.c_str(), buffer.size()) == -1) { + /* Can't recover from write error. */ + Linenoise::Log("%s", "Failed to write buffer\n"); + } + } + +private: + std::string buffer; +}; + +void Linenoise::SetPrompt(const char *continuation, const char *continuationSelected) { + continuationPrompt = continuation; + continuationSelectedPrompt = continuationSelected; +} + +/* Helper of refreshSingleLine() and refreshMultiLine() to show hints + * to the right of the prompt. */ +void Linenoise::RefreshShowHints(AppendBuffer &append_buffer, int plen) const { + char seq[64]; + auto hints_callback = Linenoise::HintsCallback(); + if (hints_callback && plen + len < size_t(ws.ws_col)) { + int color = -1, bold = 0; + char *hint = hints_callback(buf, &color, &bold); + if (hint) { + int hintlen = strlen(hint); + int hintmaxlen = ws.ws_col - (plen + len); + if (hintlen > hintmaxlen) { + hintlen = hintmaxlen; + } + if (bold == 1 && color == -1) + color = 37; + if (color != -1 || bold != 0) { + snprintf(seq, 64, "\033[%d;%d;49m", bold, color); + } else { + seq[0] = '\0'; + } + append_buffer.Append(seq, strlen(seq)); + append_buffer.Append(hint, hintlen); + if (color != -1 || bold != 0) { + append_buffer.Append("\033[0m"); + } + /* Call the function to free the hint returned. */ + auto free_hints_callback = Linenoise::FreeHintsCallback(); + if (free_hints_callback) { + free_hints_callback(hint); + } + } + } +} + +static void renderText(size_t &render_pos, char *&buf, size_t &len, size_t pos, size_t cols, size_t plen, + std::string &highlight_buffer, bool highlight, searchMatch *match = nullptr) { + if (duckdb::Utf8Proc::IsValid(buf, len)) { + // utf8 in prompt, handle rendering + size_t remaining_render_width = cols - plen - 1; + size_t start_pos = 0; + size_t cpos = 0; + size_t prev_pos = 0; + size_t total_render_width = 0; + while (cpos < len) { + size_t char_render_width = duckdb::Utf8Proc::RenderWidth(buf, len, cpos); + prev_pos = cpos; + cpos = duckdb::Utf8Proc::NextGraphemeCluster(buf, len, cpos); + total_render_width += cpos - prev_pos; + if (total_render_width >= remaining_render_width) { + // character does not fit anymore! we need to figure something out + if (prev_pos >= pos) { + // we passed the cursor: break + cpos = prev_pos; + break; + } else { + // we did not pass the cursor yet! remove characters from the start until it fits again + while (total_render_width >= remaining_render_width) { + size_t start_char_width = duckdb::Utf8Proc::RenderWidth(buf, len, start_pos); + size_t new_start = duckdb::Utf8Proc::NextGraphemeCluster(buf, len, start_pos); + total_render_width -= new_start - start_pos; + start_pos = new_start; + render_pos -= start_char_width; + } + } + } + if (prev_pos < pos) { + render_pos += char_render_width; + } + } + if (highlight) { + auto tokens = Highlighting::Tokenize(buf, len, match); + highlight_buffer = Highlighting::HighlightText(buf, len, start_pos, cpos, tokens); + buf = (char *)highlight_buffer.c_str(); + len = highlight_buffer.size(); + } else { + buf = buf + start_pos; + len = cpos - start_pos; + } + } else { + // invalid UTF8: fallback + while ((plen + pos) >= cols) { + buf++; + len--; + pos--; + } + while (plen + len > cols) { + len--; + } + render_pos = pos; + } +} + +/* Single line low level line refresh. + * + * Rewrite the currently edited line accordingly to the buffer content, + * cursor position, and number of columns of the terminal. */ +void Linenoise::RefreshSingleLine() const { + char seq[64]; + size_t plen = GetPromptWidth(); + int fd = ofd; + char *render_buf = buf; + size_t render_len = len; + size_t render_pos = 0; + std::string highlight_buffer; + + renderText(render_pos, render_buf, render_len, pos, ws.ws_col, plen, highlight_buffer, Highlighting::IsEnabled()); + + AppendBuffer append_buffer; + /* Cursor to left edge */ + append_buffer.Append("\r"); + /* Write the prompt and the current buffer content */ + append_buffer.Append(prompt); + append_buffer.Append(render_buf, render_len); + /* Show hits if any. */ + RefreshShowHints(append_buffer, plen); + /* Erase to right */ + append_buffer.Append("\x1b[0K"); + /* Move cursor to original position. */ + snprintf(seq, 64, "\r\x1b[%dC", (int)(render_pos + plen)); + append_buffer.Append(seq); + append_buffer.Write(fd); +} + +void Linenoise::RefreshSearch() { + std::string search_prompt; + static const size_t SEARCH_PROMPT_RENDER_SIZE = 28; + std::string no_matches_text = "(no matches)"; + bool no_matches = search_index >= search_matches.size(); + if (search_buf.empty()) { + search_prompt = "search" + std::string(SEARCH_PROMPT_RENDER_SIZE - 8, ' ') + "> "; + no_matches_text = "(type to search)"; + } else { + std::string search_text; + std::string matches_text; + search_text += search_buf; + if (!no_matches) { + matches_text += std::to_string(search_index + 1); + matches_text += "/" + std::to_string(search_matches.size()); + } + size_t search_text_length = ComputeRenderWidth(search_text.c_str(), search_text.size()); + size_t matches_text_length = ComputeRenderWidth(matches_text.c_str(), matches_text.size()); + size_t total_text_length = search_text_length + matches_text_length; + if (total_text_length < SEARCH_PROMPT_RENDER_SIZE - 2) { + // search text is short: we can render the entire search text + search_prompt = search_text; + search_prompt += std::string(SEARCH_PROMPT_RENDER_SIZE - 2 - total_text_length, ' '); + search_prompt += matches_text; + search_prompt += "> "; + } else { + // search text length is too long to fit: truncate + bool render_matches = matches_text_length < SEARCH_PROMPT_RENDER_SIZE - 8; + char *search_buf = (char *)search_text.c_str(); + size_t search_len = search_text.size(); + size_t search_render_pos = 0; + size_t max_render_size = SEARCH_PROMPT_RENDER_SIZE - 3; + if (render_matches) { + max_render_size -= matches_text_length; + } + std::string highlight_buffer; + renderText(search_render_pos, search_buf, search_len, search_len, max_render_size, 0, highlight_buffer, + false); + search_prompt = std::string(search_buf, search_len); + for (size_t i = search_render_pos; i < max_render_size; i++) { + search_prompt += " "; + } + if (render_matches) { + search_prompt += matches_text; + } + search_prompt += "> "; + } + } + auto oldHighlighting = Highlighting::IsEnabled(); + Linenoise clone = *this; + prompt = search_prompt.c_str(); + plen = search_prompt.size(); + if (no_matches || search_buf.empty()) { + // if there are no matches render the no_matches_text + buf = (char *)no_matches_text.c_str(); + len = no_matches_text.size(); + pos = 0; + // don't highlight the "no_matches" text + Highlighting::Disable(); + } else { + // if there are matches render the current history item + auto search_match = search_matches[search_index]; + auto history_index = search_match.history_index; + auto cursor_position = search_match.match_end; + buf = (char *)History::GetEntry(history_index); + len = strlen(buf); + pos = cursor_position; + } + RefreshLine(); + + if (oldHighlighting) { + Highlighting::Enable(); + } + buf = clone.buf; + len = clone.len; + pos = clone.pos; + prompt = clone.prompt; + plen = clone.plen; +} + +string Linenoise::AddContinuationMarkers(const char *buf, size_t len, int plen, int cursor_row, + vector &tokens) const { + std::string result; + int rows = 1; + int cols = plen; + size_t cpos = 0; + size_t prev_pos = 0; + size_t extra_bytes = 0; // extra bytes introduced + size_t token_position = 0; // token position + vector new_tokens; + new_tokens.reserve(tokens.size()); + while (cpos < len) { + bool is_newline = IsNewline(buf[cpos]); + NextPosition(buf, len, cpos, rows, cols, plen); + for (; prev_pos < cpos; prev_pos++) { + result += buf[prev_pos]; + } + if (is_newline) { + bool is_cursor_row = rows == cursor_row; + const char *prompt = is_cursor_row ? continuationSelectedPrompt : continuationPrompt; + if (!continuation_markers) { + prompt = ""; + } + size_t continuationLen = strlen(prompt); + size_t continuationRender = ComputeRenderWidth(prompt, continuationLen); + // pad with spaces prior to prompt + for (int i = int(continuationRender); i < plen; i++) { + result += " "; + } + result += prompt; + size_t continuationBytes = plen - continuationRender + continuationLen; + if (token_position < tokens.size()) { + for (; token_position < tokens.size(); token_position++) { + if (tokens[token_position].start >= cpos) { + // not there yet + break; + } + tokens[token_position].start += extra_bytes; + new_tokens.push_back(tokens[token_position]); + } + tokenType prev_type = tokenType::TOKEN_IDENTIFIER; + if (token_position > 0 && token_position < tokens.size() + 1) { + prev_type = tokens[token_position - 1].type; + } + highlightToken token; + token.start = cpos + extra_bytes; + token.type = is_cursor_row ? tokenType::TOKEN_CONTINUATION_SELECTED : tokenType::TOKEN_CONTINUATION; + token.search_match = false; + new_tokens.push_back(token); + + token.start = cpos + extra_bytes + continuationBytes; + token.type = prev_type; + token.search_match = false; + new_tokens.push_back(token); + } + extra_bytes += continuationBytes; + } + } + for (; prev_pos < cpos; prev_pos++) { + result += buf[prev_pos]; + } + for (; token_position < tokens.size(); token_position++) { + tokens[token_position].start += extra_bytes; + new_tokens.push_back(tokens[token_position]); + } + tokens = std::move(new_tokens); + return result; +} + +// insert a token of length 1 of the specified type +void InsertToken(tokenType insert_type, idx_t insert_pos, vector &tokens) { + vector new_tokens; + new_tokens.reserve(tokens.size() + 1); + idx_t i; + bool found = false; + for (i = 0; i < tokens.size(); i++) { + // find the exact position where we need to insert the token + if (tokens[i].start == insert_pos) { + // this token is exactly at this render position + + // insert highlighting for the bracket + highlightToken token; + token.start = insert_pos; + token.type = insert_type; + token.search_match = false; + new_tokens.push_back(token); + + // now we need to insert the other token ONLY if the other token is not immediately following this one + if (i + 1 >= tokens.size() || tokens[i + 1].start > insert_pos + 1) { + token.start = insert_pos + 1; + token.type = tokens[i].type; + token.search_match = false; + new_tokens.push_back(token); + } + i++; + found = true; + break; + } else if (tokens[i].start > insert_pos) { + // the next token is AFTER the render position + // insert highlighting for the bracket + highlightToken token; + token.start = insert_pos; + token.type = insert_type; + token.search_match = false; + new_tokens.push_back(token); + + // now just insert the next token + new_tokens.push_back(tokens[i]); + i++; + found = true; + break; + } else { + // insert the token + new_tokens.push_back(tokens[i]); + } + } + // copy over the remaining tokens + for (; i < tokens.size(); i++) { + new_tokens.push_back(tokens[i]); + } + if (!found) { + // token was not added - add it to the end + highlightToken token; + token.start = insert_pos; + token.type = insert_type; + token.search_match = false; + new_tokens.push_back(token); + } + tokens = std::move(new_tokens); +} + +enum class ScanState { STANDARD, IN_SINGLE_QUOTE, IN_DOUBLE_QUOTE, IN_COMMENT }; + +void Linenoise::AddErrorHighlighting(idx_t render_start, idx_t render_end, vector &tokens) const { + static constexpr const idx_t MAX_ERROR_LENGTH = 2000; + if (!enableErrorRendering) { + return; + } + if (len >= MAX_ERROR_LENGTH) { + return; + } + // do a pass over the buffer to collect errors: + // * brackets without matching closing/opening bracket + // * single quotes without matching closing single quote + // * double quote without matching double quote + ScanState state = ScanState::STANDARD; + vector brackets; + vector errors; + vector cursor_brackets; + vector comment_start; + vector comment_end; + idx_t quote_pos = 0; + for (idx_t i = 0; i < len; i++) { + auto c = buf[i]; + switch (state) { + case ScanState::STANDARD: + switch (c) { + case '-': + if (i + 1 < len && buf[i + 1] == '-') { + // -- puts us in a comment + comment_start.push_back(i); + i++; + state = ScanState::IN_COMMENT; + break; + } + break; + case '\'': + state = ScanState::IN_SINGLE_QUOTE; + quote_pos = i; + break; + case '\"': + state = ScanState::IN_DOUBLE_QUOTE; + quote_pos = i; + break; + case '(': { + // check if the cursor is at this position + if (pos == i) { + // cursor is exactly on this position - always highlight this bracket + if (!cursor_brackets.empty()) { + cursor_brackets.clear(); + } + cursor_brackets.push_back(i); + } + if (cursor_brackets.empty() && ((i + 1) == pos || (pos + 1) == i)) { + // cursor is either BEFORE or AFTER this bracket and we don't have any highlighted bracket yet + // highlight this bracket + cursor_brackets.push_back(i); + } + brackets.push_back(i); + break; + } + case ')': + if (pos == i) { + // cursor is on this closing bracket + // clear any selected brackets - we always select this one + cursor_brackets.clear(); + } + if (brackets.empty()) { + // closing bracket without matching opening bracket + errors.push_back(i); + } else { + if (cursor_brackets.size() == 1) { + if (cursor_brackets.back() == brackets.back()) { + // this closing bracket matches the highlighted opening cursor bracket - highlight both + cursor_brackets.push_back(i); + } + } else if (cursor_brackets.empty() && (pos == i || (i + 1) == pos || (pos + 1) == i)) { + // no cursor bracket selected yet and cursor is BEFORE or AFTER this bracket + // add this bracket + cursor_brackets.push_back(i); + cursor_brackets.push_back(brackets.back()); + } + brackets.pop_back(); + } + break; + default: + break; + } + break; + case ScanState::IN_COMMENT: + // comment state - the only thing that will get us out is a newline + switch (c) { + case '\r': + case '\n': + // newline - left comment state + state = ScanState::STANDARD; + comment_end.push_back(i); + break; + default: + break; + } + break; + case ScanState::IN_SINGLE_QUOTE: + // single quote - all that will get us out is an unescaped single-quote + if (c == '\'') { + if (i + 1 < len && buf[i + 1] == '\'') { + // double single-quote means the quote is escaped - continue + i++; + break; + } else { + // otherwise revert to standard scan state + state = ScanState::STANDARD; + break; + } + } + break; + case ScanState::IN_DOUBLE_QUOTE: + // double quote - all that will get us out is an unescaped quote + if (c == '"') { + if (i + 1 < len && buf[i + 1] == '"') { + // double quote means the quote is escaped - continue + i++; + break; + } else { + // otherwise revert to standard scan state + state = ScanState::STANDARD; + break; + } + } + break; + default: + break; + } + } + if (state == ScanState::IN_DOUBLE_QUOTE || state == ScanState::IN_SINGLE_QUOTE) { + // quote is never closed + errors.push_back(quote_pos); + } + if (!brackets.empty()) { + // if there are unclosed brackets remaining not all brackets were closed + for (auto &bracket : brackets) { + errors.push_back(bracket); + } + } + // insert all the errors for highlighting + for (auto &error : errors) { + Linenoise::Log("Error found at position %llu\n", error); + if (error < render_start || error > render_end) { + continue; + } + auto render_error = error - render_start; + InsertToken(tokenType::TOKEN_ERROR, render_error, tokens); + } + if (cursor_brackets.size() != 2) { + // no matching cursor brackets found + cursor_brackets.clear(); + } + // insert bracket for highlighting + for (auto &bracket_position : cursor_brackets) { + Linenoise::Log("Highlight bracket at position %d\n", bracket_position); + if (bracket_position < render_start || bracket_position > render_end) { + continue; + } + + idx_t render_position = bracket_position - render_start; + InsertToken(tokenType::TOKEN_BRACKET, render_position, tokens); + } + // insert comments + if (!comment_start.empty()) { + vector new_tokens; + new_tokens.reserve(tokens.size()); + idx_t token_idx = 0; + for (idx_t c = 0; c < comment_start.size(); c++) { + auto c_start = comment_start[c]; + auto c_end = c < comment_end.size() ? comment_end[c] : len; + if (c_start < render_start || c_end > render_end) { + continue; + } + Linenoise::Log("Comment at position %d to %d\n", c_start, c_end); + c_start -= render_start; + c_end -= render_start; + bool inserted_comment = false; + + highlightToken comment_token; + comment_token.start = c_start; + comment_token.type = tokenType::TOKEN_COMMENT; + comment_token.search_match = false; + + for (; token_idx < tokens.size(); token_idx++) { + if (tokens[token_idx].start >= c_start) { + // insert the comment here + new_tokens.push_back(comment_token); + inserted_comment = true; + break; + } + new_tokens.push_back(tokens[token_idx]); + } + if (!inserted_comment) { + new_tokens.push_back(comment_token); + } else { + // skip all tokens until we exit the comment again + for (; token_idx < tokens.size(); token_idx++) { + if (tokens[token_idx].start > c_end) { + break; + } + } + } + } + for (; token_idx < tokens.size(); token_idx++) { + new_tokens.push_back(tokens[token_idx]); + } + tokens = std::move(new_tokens); + } +} + +bool IsCompletionCharacter(char c) { + if (c >= 'A' && c <= 'Z') { + return true; + } + if (c >= 'a' && c <= 'z') { + return true; + } + if (c == '_') { + return true; + } + return false; +} + +bool Linenoise::AddCompletionMarker(const char *buf, idx_t len, string &result_buffer, + vector &tokens) const { + if (!enableCompletionRendering) { + return false; + } + if (!continuation_markers) { + // don't render when pressing ctrl+c, only when editing + return false; + } + static constexpr const idx_t MAX_COMPLETION_LENGTH = 1000; + if (len >= MAX_COMPLETION_LENGTH) { + return false; + } + if (!insert || pos != len) { + // only show when inserting a character at the end + return false; + } + if (pos < 3) { + // we need at least 3 bytes + return false; + } + if (!tokens.empty() && tokens.back().type == tokenType::TOKEN_ERROR) { + // don't show auto-completion when we have errors + return false; + } + // we ONLY show completion if we have typed at least three characters that are supported for completion + // for now this is ONLY the characters a-z, A-Z and underscore (_) + for (idx_t i = pos - 3; i < pos; i++) { + if (!IsCompletionCharacter(buf[i])) { + return false; + } + } + auto completion = TabComplete(); + if (completion.completions.empty()) { + // no completions found + return false; + } + if (completion.completions[0].completion.size() <= len) { + // completion is not long enough + return false; + } + // we have stricter requirements for rendering completions - the completion must match exactly + for (idx_t i = pos; i > 0; i--) { + auto cpos = i - 1; + if (!IsCompletionCharacter(buf[cpos])) { + break; + } + if (completion.completions[0].completion[cpos] != buf[cpos]) { + return false; + } + } + // add the first completion found for rendering purposes + result_buffer = string(buf, len); + result_buffer += completion.completions[0].completion.substr(len); + + highlightToken completion_token; + completion_token.start = len; + completion_token.type = tokenType::TOKEN_COMMENT; + completion_token.search_match = true; + tokens.push_back(completion_token); + return true; +} + +/* Multi line low level line refresh. + * + * Rewrite the currently edited line accordingly to the buffer content, + * cursor position, and number of columns of the terminal. */ +void Linenoise::RefreshMultiLine() { + if (!render) { + return; + } + char seq[64]; + int plen = GetPromptWidth(); + // utf8 in prompt, get render width + int rows, cols; + int new_cursor_row, new_cursor_x; + PositionToColAndRow(pos, new_cursor_row, new_cursor_x, rows, cols); + int col; /* colum position, zero-based. */ + int old_rows = maxrows ? maxrows : 1; + int fd = ofd; + std::string highlight_buffer; + auto render_buf = this->buf; + auto render_len = this->len; + idx_t render_start = 0; + idx_t render_end = render_len; + if (clear_screen) { + old_cursor_rows = 0; + old_rows = 0; + clear_screen = false; + } + if (rows > ws.ws_row) { + // the text does not fit in the terminal (too many rows) + // enable scrolling mode + // check if, given the current y_scroll, the cursor is visible + // display range is [y_scroll, y_scroll + ws.ws_row] + if (new_cursor_row < int(y_scroll) + 1) { + y_scroll = new_cursor_row - 1; + } else if (new_cursor_row > int(y_scroll) + int(ws.ws_row)) { + y_scroll = new_cursor_row - ws.ws_row; + } + // display only characters up to the current scroll position + if (y_scroll == 0) { + render_start = 0; + } else { + render_start = ColAndRowToPosition(y_scroll, 0); + } + if (int(y_scroll) + int(ws.ws_row) >= rows) { + render_end = len; + } else { + render_end = ColAndRowToPosition(y_scroll + ws.ws_row, 99999); + } + new_cursor_row -= y_scroll; + render_buf += render_start; + render_len = render_end - render_start; + Linenoise::Log("truncate to rows %d - %d (render bytes %d to %d)", y_scroll, y_scroll + ws.ws_row, render_start, + render_end); + rows = ws.ws_row; + } else { + y_scroll = 0; + } + + /* Update maxrows if needed. */ + if (rows > (int)maxrows) { + maxrows = rows; + } + + vector tokens; + if (Highlighting::IsEnabled()) { + auto match = search_index < search_matches.size() ? &search_matches[search_index] : nullptr; + tokens = Highlighting::Tokenize(render_buf, render_len, match); + + // add error highlighting + AddErrorHighlighting(render_start, render_end, tokens); + + // add completion hint + if (AddCompletionMarker(render_buf, render_len, highlight_buffer, tokens)) { + render_buf = (char *)highlight_buffer.c_str(); + render_len = highlight_buffer.size(); + } + } + if (rows > 1) { + // add continuation markers + highlight_buffer = AddContinuationMarkers(render_buf, render_len, plen, + y_scroll > 0 ? new_cursor_row + 1 : new_cursor_row, tokens); + render_buf = (char *)highlight_buffer.c_str(); + render_len = highlight_buffer.size(); + } + if (duckdb::Utf8Proc::IsValid(render_buf, render_len)) { + if (Highlighting::IsEnabled()) { + highlight_buffer = Highlighting::HighlightText(render_buf, render_len, 0, render_len, tokens); + render_buf = (char *)highlight_buffer.c_str(); + render_len = highlight_buffer.size(); + } + } + + /* First step: clear all the lines used before. To do so start by + * going to the last row. */ + AppendBuffer append_buffer; + if (old_rows - old_cursor_rows > 0) { + Linenoise::Log("go down %d", old_rows - old_cursor_rows); + snprintf(seq, 64, "\x1b[%dB", old_rows - int(old_cursor_rows)); + append_buffer.Append(seq); + } + + /* Now for every row clear it, go up. */ + for (int j = 0; j < old_rows - 1; j++) { + Linenoise::Log("clear+up"); + append_buffer.Append("\r\x1b[0K\x1b[1A"); + } + + /* Clean the top line. */ + Linenoise::Log("clear"); + append_buffer.Append("\r\x1b[0K"); + + /* Write the prompt and the current buffer content */ + if (y_scroll == 0) { + append_buffer.Append(prompt); + } + append_buffer.Append(render_buf, render_len); + + /* Show hints if any. */ + RefreshShowHints(append_buffer, plen); + + /* If we are at the very end of the screen with our prompt, we need to + * emit a newline and move the prompt to the first column. */ + Linenoise::Log("pos > 0 %d", pos > 0 ? 1 : 0); + Linenoise::Log("pos == len %d", pos == len ? 1 : 0); + Linenoise::Log("new_cursor_x == cols %d", new_cursor_x == ws.ws_col ? 1 : 0); + if (pos > 0 && pos == len && new_cursor_x == ws.ws_col) { + Linenoise::Log("", 0); + append_buffer.Append("\n"); + append_buffer.Append("\r"); + rows++; + new_cursor_row++; + new_cursor_x = 0; + if (rows > (int)maxrows) { + maxrows = rows; + } + } + Linenoise::Log("render %d rows (old rows %d)", rows, old_rows); + + /* Move cursor to right position. */ + Linenoise::Log("new_cursor_row %d", new_cursor_row); + Linenoise::Log("new_cursor_x %d", new_cursor_x); + Linenoise::Log("len %d", len); + Linenoise::Log("old_cursor_rows %d", old_cursor_rows); + Linenoise::Log("pos %d", pos); + Linenoise::Log("max cols %d", ws.ws_col); + + /* Go up till we reach the expected positon. */ + if (rows - new_cursor_row > 0) { + Linenoise::Log("go-up %d", rows - new_cursor_row); + snprintf(seq, 64, "\x1b[%dA", rows - new_cursor_row); + append_buffer.Append(seq); + } + + /* Set column. */ + col = new_cursor_x; + Linenoise::Log("set col %d", 1 + col); + if (col) { + snprintf(seq, 64, "\r\x1b[%dC", col); + } else { + snprintf(seq, 64, "\r"); + } + append_buffer.Append(seq); + + Linenoise::Log("\n"); + old_cursor_rows = new_cursor_row; + append_buffer.Write(fd); +} + +/* Calls the two low level functions refreshSingleLine() or + * refreshMultiLine() according to the selected mode. */ +void Linenoise::RefreshLine() { + if (Terminal::IsMultiline()) { + RefreshMultiLine(); + } else { + RefreshSingleLine(); + } +} + +} // namespace duckdb diff --git a/tools/shell/linenoise/terminal.cpp b/tools/shell/linenoise/terminal.cpp new file mode 100644 index 000000000000..c91d0c2472d5 --- /dev/null +++ b/tools/shell/linenoise/terminal.cpp @@ -0,0 +1,494 @@ +#include "terminal.hpp" +#include "history.hpp" +#include "linenoise.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace duckdb { + +static int mlmode = 1; /* Multi line mode. Default is multi line. */ +static struct termios orig_termios; /* In order to restore at exit.*/ +static int atexit_registered = 0; /* Register atexit just 1 time. */ +static int rawmode = 0; /* For atexit() function to check if restore is needed*/ +static const char *unsupported_term[] = {"dumb", "cons25", "emacs", NULL}; + +/* At exit we'll try to fix the terminal to the initial conditions. */ +static void linenoiseAtExit(void) { + Terminal::DisableRawMode(); + History::Free(); +} + +/* Return true if the terminal name is in the list of terminals we know are + * not able to understand basic escape sequences. */ +int Terminal::IsUnsupportedTerm() { + char *term = getenv("TERM"); + int j; + + if (!term) { + return 0; + } + for (j = 0; unsupported_term[j]; j++) { + if (!strcasecmp(term, unsupported_term[j])) { + return 1; + } + } + return 0; +} + +/* Raw mode: 1960 magic shit. */ +int Terminal::EnableRawMode() { + int fd = STDIN_FILENO; + + if (!isatty(STDIN_FILENO)) { + errno = ENOTTY; + return -1; + } + if (!atexit_registered) { + atexit(linenoiseAtExit); + atexit_registered = 1; + } + if (tcgetattr(fd, &orig_termios) == -1) { + errno = ENOTTY; + return -1; + } + + auto raw = orig_termios; /* modify the original mode */ + /* input modes: no break, no CR to NL, no parity check, no strip char, + * no start/stop output control. */ + raw.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON); + /* output modes - disable post processing */ + raw.c_oflag &= ~(OPOST); +#ifndef __MVS__ + /* control modes - set 8 bit chars */ + raw.c_iflag |= IUTF8; +#endif + raw.c_cflag |= CS8; + /* local modes - choing off, canonical off, no extended functions, + * no signal chars (^Z,^C) */ + raw.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG); + /* control chars - set return condition: min number of bytes and timer. + * We want read to return every single byte, without timeout. */ + raw.c_cc[VMIN] = 1; + raw.c_cc[VTIME] = 0; /* 1 byte, no timer */ + + /* put terminal in raw mode after flushing */ + if (tcsetattr(fd, TCSADRAIN, &raw) < 0) { + errno = ENOTTY; + return -1; + } + rawmode = 1; + return 0; +} + +void Terminal::DisableRawMode() { + int fd = STDIN_FILENO; + /* Don't even check the return value as it's too late. */ + if (rawmode && tcsetattr(fd, TCSADRAIN, &orig_termios) != -1) { + rawmode = 0; + } +} + +bool Terminal::IsMultiline() { + return mlmode; +} + +bool Terminal::IsAtty() { + return isatty(STDIN_FILENO); +} + +/* This function is called when linenoise() is called with the standard + * input file descriptor not attached to a TTY. So for example when the + * program using linenoise is called in pipe or with a file redirected + * to its standard input. In this case, we want to be able to return the + * line regardless of its length (by default we are limited to 4k). */ +char *Terminal::EditNoTTY() { + char *line = NULL; + size_t len = 0, maxlen = 0; + + while (1) { + if (len == maxlen) { + if (maxlen == 0) + maxlen = 16; + maxlen *= 2; + char *oldval = line; + line = (char *)realloc(line, maxlen); + if (line == NULL) { + if (oldval) + free(oldval); + return NULL; + } + } + int c = fgetc(stdin); + if (c == EOF || c == '\n') { + if (c == EOF && len == 0) { + free(line); + return NULL; + } else { + line[len] = '\0'; + return line; + } + } else { + line[len] = c; + len++; + } + } +} + +/* This function calls the line editing function linenoiseEdit() using + * the STDIN file descriptor set in raw mode. */ +int Terminal::EditRaw(char *buf, size_t buflen, const char *prompt) { + int count; + + if (buflen == 0) { + errno = EINVAL; + return -1; + } + + if (Terminal::EnableRawMode() == -1) { + return -1; + } + Linenoise l(STDIN_FILENO, STDOUT_FILENO, buf, buflen, prompt); + count = l.Edit(); + Terminal::DisableRawMode(); + printf("\n"); + return count; +} + +// returns true if there is more data available to read in a particular stream +int Terminal::HasMoreData(int fd) { + fd_set rfds; + FD_ZERO(&rfds); + FD_SET(fd, &rfds); + + // no timeout: return immediately + struct timeval tv; + tv.tv_sec = 0; + tv.tv_usec = 0; + return select(1, &rfds, NULL, NULL, &tv); +} + +/* ======================= Low level terminal handling ====================== */ + +/* Set if to use or not the multi line mode. */ +void Terminal::SetMultiLine(int ml) { + mlmode = ml; +} + +static int parseInt(const char *s, int *offset = nullptr) { + int result = 0; + int idx; + for (idx = 0; s[idx]; idx++) { + char c = s[idx]; + if (c < '0' || c > '9') { + break; + } + result = result * 10 + c - '0'; + if (result > 1000000) { + result = 1000000; + } + } + if (offset) { + *offset = idx; + } + return result; +} + +static int tryParseEnv(const char *env_var) { + char *s; + s = getenv(env_var); + if (!s) { + return 0; + } + return parseInt(s); +} + +/* Use the ESC [6n escape sequence to query the cursor position + * and return it. On error -1 is returned, on success the position of the + * cursor. */ +TerminalSize Terminal::GetCursorPosition() { + int ifd = STDIN_FILENO; + int ofd = STDOUT_FILENO; + TerminalSize ws; + + char buf[32]; + unsigned int i = 0; + + /* Report cursor location */ + if (write(ofd, "\x1b[6n", 4) != 4) { + return ws; + } + + /* Read the response: ESC [ rows ; cols R */ + while (i < sizeof(buf) - 1) { + if (read(ifd, buf + i, 1) != 1) { + break; + } + if (buf[i] == 'R') { + break; + } + i++; + } + buf[i] = '\0'; + + /* Parse it. */ + if (buf[0] != ESC || buf[1] != '[') { + return ws; + } + int offset = 2; + int new_offset; + ws.ws_row = parseInt(buf + offset, &new_offset); + offset += new_offset; + if (buf[offset] != ';') { + return ws; + } + offset++; + ws.ws_col = parseInt(buf + offset); + return ws; +} + +TerminalSize Terminal::TryMeasureTerminalSize() { + int ofd = STDOUT_FILENO; + /* ioctl() failed. Try to query the terminal itself. */ + TerminalSize start, result; + + /* Get the initial position so we can restore it later. */ + start = GetCursorPosition(); + if (!start.ws_col) { + return result; + } + + /* Go to bottom-right margin */ + if (write(ofd, "\x1b[999;999f", 10) != 10) { + return result; + } + result = GetCursorPosition(); + if (!result.ws_col) { + return result; + } + + /* Restore position. */ + char seq[32]; + snprintf(seq, 32, "\x1b[%d;%df", start.ws_row, start.ws_col); + if (write(ofd, seq, strlen(seq)) == -1) { + /* Can't recover... */ + } + return result; +} + +/* Try to get the number of columns in the current terminal, or assume 80 + * if it fails. */ +TerminalSize Terminal::GetTerminalSize() { + TerminalSize result; + + // try ioctl first + { + struct winsize ws; + ioctl(1, TIOCGWINSZ, &ws); + result.ws_col = ws.ws_col; + result.ws_row = ws.ws_row; + } + // try ROWS and COLUMNS env variables + if (!result.ws_col) { + result.ws_col = tryParseEnv("COLUMNS"); + } + if (!result.ws_row) { + result.ws_row = tryParseEnv("ROWS"); + } + // if those fail measure the size by moving the cursor to the corner and fetching the position + if (!result.ws_col || !result.ws_row) { + TerminalSize measured_size = TryMeasureTerminalSize(); + Linenoise::Log("measured size col %d,row %d -- ", measured_size.ws_row, measured_size.ws_col); + if (measured_size.ws_row) { + result.ws_row = measured_size.ws_row; + } + if (measured_size.ws_col) { + result.ws_col = measured_size.ws_col; + } + } + // if all else fails use defaults (80,24) + if (!result.ws_col) { + result.ws_col = 80; + } + if (!result.ws_row) { + result.ws_row = 24; + } + return result; +} + +/* Clear the screen. Used to handle ctrl+l */ +void Terminal::ClearScreen() { + if (write(STDOUT_FILENO, "\x1b[H\x1b[2J", 7) <= 0) { + /* nothing to do, just to avoid warning. */ + } +} + +/* Beep, used for completion when there is nothing to complete or when all + * the choices were already shown. */ +void Terminal::Beep() { + fprintf(stderr, "\x7"); + fflush(stderr); +} + +EscapeSequence Terminal::ReadEscapeSequence(int ifd) { + char seq[5]; + idx_t length = ReadEscapeSequence(ifd, seq); + if (length == 0) { + return EscapeSequence::INVALID; + } + Linenoise::Log("escape of length %d\n", length); + switch (length) { + case 1: + if (seq[0] >= 'a' && seq[0] <= 'z') { + return EscapeSequence(idx_t(EscapeSequence::ALT_A) + (seq[0] - 'a')); + } + if (seq[0] >= 'A' && seq[0] <= 'Z') { + return EscapeSequence(idx_t(EscapeSequence::ALT_A) + (seq[0] - 'A')); + } + switch (seq[0]) { + case BACKSPACE: + return EscapeSequence::ALT_BACKSPACE; + case ESC: + return EscapeSequence::ESCAPE; + case '<': + return EscapeSequence::ALT_LEFT_ARROW; + case '>': + return EscapeSequence::ALT_RIGHT_ARROW; + case '\\': + return EscapeSequence::ALT_BACKSLASH; + default: + Linenoise::Log("unrecognized escape sequence of length 1 - %d\n", seq[0]); + break; + } + break; + case 2: + if (seq[0] == 'O') { + switch (seq[1]) { + case 'A': /* Up */ + return EscapeSequence::UP; + case 'B': /* Down */ + return EscapeSequence::DOWN; + case 'C': /* Right */ + return EscapeSequence::RIGHT; + case 'D': /* Left */ + return EscapeSequence::LEFT; + case 'H': /* Home */ + return EscapeSequence::HOME; + case 'F': /* End*/ + return EscapeSequence::END; + case 'c': + return EscapeSequence::ALT_F; + case 'd': + return EscapeSequence::ALT_B; + default: + Linenoise::Log("unrecognized escape sequence (O) %d\n", seq[1]); + break; + } + } else if (seq[0] == '[') { + switch (seq[1]) { + case 'A': /* Up */ + return EscapeSequence::UP; + case 'B': /* Down */ + return EscapeSequence::DOWN; + case 'C': /* Right */ + return EscapeSequence::RIGHT; + case 'D': /* Left */ + return EscapeSequence::LEFT; + case 'H': /* Home */ + return EscapeSequence::HOME; + case 'F': /* End*/ + return EscapeSequence::END; + case 'Z': /* Shift Tab */ + return EscapeSequence::SHIFT_TAB; + default: + Linenoise::Log("unrecognized escape sequence (seq[1]) %d\n", seq[1]); + break; + } + } else { + Linenoise::Log("unrecognized escape sequence of length %d (%d %d)\n", length, seq[0], seq[1]); + } + break; + case 3: + if (seq[2] == '~') { + switch (seq[1]) { + case '1': + return EscapeSequence::HOME; + case '3': /* Delete key. */ + return EscapeSequence::DELETE; + case '4': + case '8': + return EscapeSequence::END; + default: + Linenoise::Log("unrecognized escape sequence (~) %d\n", seq[1]); + break; + } + } else if (seq[1] == '5' && seq[2] == 'C') { + return EscapeSequence::ALT_F; + } else if (seq[1] == '5' && seq[2] == 'D') { + return EscapeSequence::ALT_B; + } else { + Linenoise::Log("unrecognized escape sequence of length %d\n", length); + } + break; + case 5: + if (memcmp(seq, "[1;5C", 5) == 0 || memcmp(seq, "[1;3C", 5) == 0) { + // [1;5C: move word right + return EscapeSequence::CTRL_MOVE_FORWARDS; + } else if (memcmp(seq, "[1;5D", 5) == 0 || memcmp(seq, "[1;3D", 5) == 0) { + // [1;5D: move word left + return EscapeSequence::CTRL_MOVE_BACKWARDS; + } else { + Linenoise::Log("unrecognized escape sequence (;) %d\n", seq[1]); + } + break; + default: + Linenoise::Log("unrecognized escape sequence of length %d\n", length); + break; + } + return EscapeSequence::UNKNOWN; +} + +idx_t Terminal::ReadEscapeSequence(int ifd, char seq[]) { + if (read(ifd, seq, 1) == -1) { + return 0; + } + switch (seq[0]) { + case 'O': + case '[': + // these characters have multiple bytes following them + break; + default: + return 1; + } + if (read(ifd, seq + 1, 1) == -1) { + return 0; + } + + if (seq[0] != '[') { + return 2; + } + if (seq[1] < '0' || seq[1] > '9') { + return 2; + } + /* Extended escape, read additional byte. */ + if (read(ifd, seq + 2, 1) == -1) { + return 0; + } + if (seq[2] == ';') { + // read 2 extra bytes + if (read(ifd, seq + 3, 2) == -1) { + return 0; + } + return 5; + } else { + return 3; + } +} + +} // namespace duckdb diff --git a/tools/shell/rc/duckdb.rc b/tools/shell/rc/duckdb.rc new file mode 100644 index 000000000000..2bce471a76e8 --- /dev/null +++ b/tools/shell/rc/duckdb.rc @@ -0,0 +1,40 @@ +#include + +#define Q(x) #x +#define QUOTE(x) Q(x) + +VS_VERSION_INFO VERSIONINFO + FILEVERSION DUCKDB_MAJOR_VERSION,DUCKDB_MINOR_VERSION,DUCKDB_PATCH_VERSION,DUCKDB_DEV_ITERATION + PRODUCTVERSION DUCKDB_MAJOR_VERSION,DUCKDB_MINOR_VERSION,DUCKDB_PATCH_VERSION,DUCKDB_DEV_ITERATION +#ifdef DEBUG + FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE +#else + FILEFLAGSMASK 0 +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "DuckDB shell" + VALUE "CompanyName", "DuckDB Labs" + + VALUE "FileDescription", "DuckDB shell" + VALUE "FileVersion", QUOTE(DUCKDB_VERSION) + VALUE "InternalName", "DuckDB shell" + VALUE "LegalCopyright", "Copyright 2018-" QUOTE(DUCKDB_COPYRIGHT_YEAR) " Stichting DuckDB Foundation" + + VALUE "OriginalFilename", "duckdb.exe" + VALUE "ProductName", "DuckDB" + VALUE "ProductVersion", QUOTE(DUCKDB_VERSION) + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +MAINICON ICON "../../../logo/DuckDB.ico" diff --git a/tools/shell/shell.c b/tools/shell/shell.c index 5c802935cf2b..f0e6f387110c 100644 --- a/tools/shell/shell.c +++ b/tools/shell/shell.c @@ -452,8 +452,9 @@ static char *Argv0; ** Prompt strings. Initialized in main. Settable with ** .prompt main continue */ -static char mainPrompt[20]; /* First line prompt. default: "sqlite> "*/ -static char continuePrompt[20]; /* Continuation prompt. default: " ...> " */ +static char mainPrompt[20]; /* First line prompt. default: "D "*/ +static char continuePrompt[20]; /* Continuation prompt. default: " ...> " */ +static char continuePromptSelected[20]; /* Selected continuation prompt. default: " ...> " */ /* ** Render output like fprintf(). Except, if the output is going to the @@ -11617,18 +11618,21 @@ static int shell_callback( if (nArg != 2) { break; } - utf8_printf(p->out, "\n┌─────────────────────────────┐\n"); - utf8_printf(p->out, "│┌───────────────────────────┐│\n"); - if (strcmp(azArg[0], "logical_plan") == 0) { - utf8_printf(p->out, "││ Unoptimized Logical Plan ││\n"); - } else if (strcmp(azArg[0], "logical_opt") == 0) { - utf8_printf(p->out, "││ Optimized Logical Plan ││\n"); - } else if (strcmp(azArg[0], "physical_plan") == 0) { - utf8_printf(p->out, "││ Physical Plan ││\n"); - + if (strcmp(azArg[0], "logical_plan") == 0 + || strcmp(azArg[0], "logical_opt") == 0 + || strcmp(azArg[0], "physical_plan") == 0) { + utf8_printf(p->out, "\n┌─────────────────────────────┐\n"); + utf8_printf(p->out, "│┌───────────────────────────┐│\n"); + if (strcmp(azArg[0], "logical_plan") == 0) { + utf8_printf(p->out, "││ Unoptimized Logical Plan ││\n"); + } else if (strcmp(azArg[0], "logical_opt") == 0) { + utf8_printf(p->out, "││ Optimized Logical Plan ││\n"); + } else if (strcmp(azArg[0], "physical_plan") == 0) { + utf8_printf(p->out, "││ Physical Plan ││\n"); + } + utf8_printf(p->out, "│└───────────────────────────┘│\n"); + utf8_printf(p->out, "└─────────────────────────────┘\n"); } - utf8_printf(p->out, "│└───────────────────────────┘│\n"); - utf8_printf(p->out, "└─────────────────────────────┘\n"); utf8_printf(p->out, "%s", azArg[1]); break; } @@ -11853,7 +11857,6 @@ static int shell_callback( if( (azArg[i]==0) || (aiType && aiType[i]==SQLITE_NULL) ){ fputs("null",p->out); }else if( aiType && aiType[i]==SQLITE_FLOAT ){ - char z[50]; double r = sqlite3_column_double(p->pStmt, i); sqlite3_uint64 ur; memcpy(&ur,&r,sizeof(r)); @@ -11862,8 +11865,7 @@ static int shell_callback( }else if( ur==0xfff0000000000000LL ){ raw_printf(p->out, "-1e999"); }else{ - sqlite3_snprintf(50,z,"%!.20g", r); - raw_printf(p->out, "%s", z); + utf8_printf(p->out, "%s", azArg[i]); } }else if( aiType && aiType[i]==SQLITE_BLOB && p->pStmt ){ const void *pBlob = sqlite3_column_blob(p->pStmt, i); @@ -12537,37 +12539,7 @@ static void bind_table_init(ShellState *p){ ** tables. The table must be in the TEMP schema. */ static void bind_prepared_stmt(ShellState *pArg, sqlite3_stmt *pStmt){ - int nVar; - int i; - int rc; - sqlite3_stmt *pQ = 0; - - nVar = sqlite3_bind_parameter_count(pStmt); - if( nVar==0 ) return; /* Nothing to do */ - if( sqlite3_table_column_metadata(pArg->db, "TEMP", "sqlite_parameters", - "key", 0, 0, 0, 0, 0)!=SQLITE_OK ){ - return; /* Parameter table does not exist */ - } - rc = sqlite3_prepare_v2(pArg->db, - "SELECT value FROM temp.sqlite_parameters" - " WHERE key=?1", -1, &pQ, 0); - if( rc || pQ==0 ) return; - for(i=1; i<=nVar; i++){ - char zNum[30]; - const char *zVar = sqlite3_bind_parameter_name(pStmt, i); - if( zVar==0 ){ - sqlite3_snprintf(sizeof(zNum),zNum,"?%d",i); - zVar = zNum; - } - sqlite3_bind_text(pQ, 1, zVar, -1, SQLITE_STATIC); - if( sqlite3_step(pQ)==SQLITE_ROW ){ - sqlite3_bind_value(pStmt, i, sqlite3_column_value(pQ, 0)); - }else{ - sqlite3_bind_null(pStmt, i); - } - sqlite3_reset(pQ); - } - sqlite3_finalize(pQ); + return; } /* @@ -18319,7 +18291,10 @@ static int do_meta_command(char *zLine, ShellState *p){ if( nArg >= 3) { strncpy(continuePrompt,azArg[2],(int)ArraySize(continuePrompt)-1); } - }else + if( nArg >= 4) { + strncpy(continuePromptSelected,azArg[3],(int)ArraySize(continuePromptSelected)-1); + } + } else if( c=='q' && strncmp(azArg[0], "quit", n)==0 ){ rc = 2; @@ -19950,6 +19925,7 @@ static const char zOptions[] = #endif " -stats print memory stats before each finalize\n" " -table set output mode to 'table'\n" + " -unredacted allow printing unredacted secrets\n" " -unsigned allow loading of unsigned extensions\n" " -version show DuckDB version\n" #ifdef SQLITE_HAVE_ZLIB @@ -19997,7 +19973,11 @@ static void main_init(ShellState *data) { sqlite3_config(SQLITE_CONFIG_LOG, shellLog, data); sqlite3_config(SQLITE_CONFIG_MULTITHREAD); sqlite3_snprintf(sizeof(mainPrompt), mainPrompt, "D "); - sqlite3_snprintf(sizeof(continuePrompt), continuePrompt, "> "); + sqlite3_snprintf(sizeof(continuePrompt), continuePrompt, "· "); + sqlite3_snprintf(sizeof(continuePromptSelected), continuePromptSelected, "‣ "); +#ifdef HAVE_LINENOISE + linenoiseSetPrompt(continuePrompt, continuePromptSelected); +#endif } /* @@ -20265,6 +20245,8 @@ int SQLITE_CDECL wmain(int argc, wchar_t **wargv){ data.openMode = SHELL_OPEN_READONLY; }else if( strcmp(z,"-nofollow")==0 ){ data.openFlags = SQLITE_OPEN_NOFOLLOW; + }else if( strcmp(z,"-unredacted")==0 ){ + data.openFlags |= DUCKDB_UNREDACTED_SECRETS; }else if( strcmp(z,"-unsigned")==0 ){ data.openFlags |= DUCKDB_UNSIGNED_EXTENSIONS; #if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_HAVE_ZLIB) @@ -20415,6 +20397,8 @@ int SQLITE_CDECL wmain(int argc, wchar_t **wargv){ data.scanstatsOn = 1; }else if( strcmp(z,"-unsigned")==0 ){ data.openFlags |= DUCKDB_UNSIGNED_EXTENSIONS; + }else if( strcmp(z,"-unredacted")==0 ){ + data.openFlags |= DUCKDB_UNREDACTED_SECRETS; }else if( strcmp(z,"-backslash")==0 ){ /* Undocumented command-line option: -backslash ** Causes C-style backslash escapes to be evaluated in SQL statements diff --git a/tools/shell/tests/conftest.py b/tools/shell/tests/conftest.py index e4f4746ce0fe..71a7cd50ac24 100644 --- a/tools/shell/tests/conftest.py +++ b/tools/shell/tests/conftest.py @@ -1,4 +1,8 @@ import pytest +import os +import subprocess +import sys +from typing import List, NamedTuple, Union def pytest_addoption(parser): @@ -20,11 +24,6 @@ def pytest_collection_modifyitems(config, items): item.add_marker(skipped) -import subprocess -import sys -from typing import List, NamedTuple, Union - - class TestResult: def __init__(self, stdout, stderr, status_code): self.stdout: Union[str, bytes] = stdout @@ -50,6 +49,7 @@ def __init__(self, shell): self.statements: List[str] = [] self.input = None self.output = None + self.environment = {} def add_argument(self, *args): self.arguments.extend(args) @@ -116,7 +116,11 @@ def run(self): input_data = self.get_input_data(statements) output_pipe = self.get_output_pipe() - res = subprocess.run(command, input=input_data, stdout=output_pipe, stderr=subprocess.PIPE) + my_env = os.environ.copy() + for key, val in self.environment.items(): + my_env[key] = val + + res = subprocess.run(command, input=input_data, stdout=output_pipe, stderr=subprocess.PIPE, env=my_env) stdout, stderr = self.get_output_data(res) return TestResult(stdout, stderr, res.returncode) diff --git a/tools/shell/tests/test_autocomplete.py b/tools/shell/tests/test_autocomplete.py index cb7bfc7cf4f5..fd068ecb1177 100644 --- a/tools/shell/tests/test_autocomplete.py +++ b/tools/shell/tests/test_autocomplete.py @@ -17,6 +17,14 @@ def test_autocomplete_select(shell, autocomplete_extension): result = test.run() result.check_stdout('SELECT') +def test_autocomplete_first_from(shell, autocomplete_extension): + test = ( + ShellTest(shell) + .statement("CALL sql_auto_complete('FRO')") + ) + result = test.run() + result.check_stdout('FROM') + def test_autocomplete_column(shell, autocomplete_extension): test = ( ShellTest(shell) diff --git a/tools/shell/tests/test_get_env.py b/tools/shell/tests/test_get_env.py new file mode 100644 index 000000000000..9d30b65d28ec --- /dev/null +++ b/tools/shell/tests/test_get_env.py @@ -0,0 +1,30 @@ +# fmt: off + +from conftest import ShellTest + +def test_get_env(shell): + test = ( + ShellTest(shell) + .statement('.null NULL') + .statement("SET default_null_order=getenv('DEFAULT_NULL_ORDER');") + .statement("SELECT * FROM (VALUES (42), (NULL)) ORDER BY 1 LIMIT 1;") + ) + test.environment['DEFAULT_NULL_ORDER'] = 'NULLS_FIRST' + result = test.run() + result.check_stdout('NULL') + + test.environment['DEFAULT_NULL_ORDER'] = 'NULLS_LAST' + result = test.run() + result.check_stdout('42') + +def test_get_env_permissions(shell): + test = ( + ShellTest(shell) + .statement('SET enable_external_access=false') + .statement("SELECT getenv('DEFAULT_NULL_ORDER');") + ) + test.environment['DEFAULT_NULL_ORDER'] = 'NULLS_FIRST' + result = test.run() + result.check_stderr('disabled through configuration') + +# fmt: on diff --git a/tools/shell/tests/test_read_from_stdin.py b/tools/shell/tests/test_read_from_stdin.py index 0b1b85b2831b..c75c3daa755d 100644 --- a/tools/shell/tests/test_read_from_stdin.py +++ b/tools/shell/tests/test_read_from_stdin.py @@ -203,8 +203,7 @@ def test_copy_csv_to_stdout(self, shell, alias): @pytest.mark.parametrize("alias", [ - "'/dev/stderr'", - 'stderr' + "'/dev/stderr'" ]) def test_copy_csv_to_stderr(self, shell, alias): test = ( diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt index 3fa416628b26..e29c33e54b41 100644 --- a/tools/sqlite3_api_wrapper/CMakeLists.txt +++ b/tools/sqlite3_api_wrapper/CMakeLists.txt @@ -16,7 +16,8 @@ if(DUCKDB_EXTENSION_AUTOCOMPLETE_SHOULD_LINK) ../../extension/autocomplete/autocomplete_extension.cpp) add_definitions(-DSHELL_INLINE_AUTOCOMPLETE) endif() -set(SQLITE_API_WRAPPER_FILES sqlite3_api_wrapper.cpp ${ALL_OBJECT_FILES}) +set(SQLITE_API_WRAPPER_FILES shell_extension.cpp sqlite3_api_wrapper.cpp + ${ALL_OBJECT_FILES}) add_library(sqlite3_api_wrapper_static STATIC ${SQLITE_API_WRAPPER_FILES}) target_link_libraries(sqlite3_api_wrapper_static duckdb_static) diff --git a/extension/visualizer/include/visualizer_extension.hpp b/tools/sqlite3_api_wrapper/include/shell_extension.hpp similarity index 82% rename from extension/visualizer/include/visualizer_extension.hpp rename to tools/sqlite3_api_wrapper/include/shell_extension.hpp index a46d9881dd09..429adbfd5279 100644 --- a/extension/visualizer/include/visualizer_extension.hpp +++ b/tools/sqlite3_api_wrapper/include/shell_extension.hpp @@ -1,7 +1,7 @@ //===----------------------------------------------------------------------===// // DuckDB // -// visualizer_extension.hpp +// shell_extension.hpp // // //===----------------------------------------------------------------------===// @@ -12,7 +12,7 @@ namespace duckdb { -class VisualizerExtension : public Extension { +class ShellExtension : public Extension { public: void Load(DuckDB &db) override; std::string Name() override; diff --git a/tools/sqlite3_api_wrapper/include/sqlite3.h b/tools/sqlite3_api_wrapper/include/sqlite3.h index 5fc2d6096938..254f44eed967 100644 --- a/tools/sqlite3_api_wrapper/include/sqlite3.h +++ b/tools/sqlite3_api_wrapper/include/sqlite3.h @@ -578,7 +578,7 @@ SQLITE_API int sqlite3_exec( // we need to somehow communicate this through open_v2 #define DUCKDB_UNSIGNED_EXTENSIONS 0x10000000 - +#define DUCKDB_UNREDACTED_SECRETS 0x20000000 /* ** CAPI3REF: Device Characteristics diff --git a/tools/sqlite3_api_wrapper/shell_extension.cpp b/tools/sqlite3_api_wrapper/shell_extension.cpp new file mode 100644 index 000000000000..9815e5aa44a6 --- /dev/null +++ b/tools/sqlite3_api_wrapper/shell_extension.cpp @@ -0,0 +1,39 @@ +#include "shell_extension.hpp" +#include "duckdb/main/extension_util.hpp" +#include "duckdb/common/vector_operations/unary_executor.hpp" +#include "duckdb/main/config.hpp" +#include +#include + +namespace duckdb { + +void GetEnvFunction(DataChunk &args, ExpressionState &state, Vector &result) { + UnaryExecutor::Execute(args.data[0], result, args.size(), [&](string_t input) { + string env_name = input.GetString(); + auto env_value = getenv(env_name.c_str()); + if (!env_value) { + return StringVector::AddString(result, string()); + } + return StringVector::AddString(result, env_value); + }); +} + +unique_ptr GetEnvBind(ClientContext &context, ScalarFunction &bound_function, + vector> &arguments) { + auto &config = DBConfig::GetConfig(context); + if (!config.options.enable_external_access) { + throw PermissionException("getenv is disabled through configuration"); + } + return nullptr; +} + +void ShellExtension::Load(DuckDB &db) { + ExtensionUtil::RegisterFunction(*db.instance, ScalarFunction("getenv", {LogicalType::VARCHAR}, LogicalType::VARCHAR, + GetEnvFunction, GetEnvBind)); +} + +std::string ShellExtension::Name() { + return "shell"; +} + +} // namespace duckdb diff --git a/tools/sqlite3_api_wrapper/sqlite3_api_wrapper.cpp b/tools/sqlite3_api_wrapper/sqlite3_api_wrapper.cpp index 999913485bcc..e9dc7990a914 100644 --- a/tools/sqlite3_api_wrapper/sqlite3_api_wrapper.cpp +++ b/tools/sqlite3_api_wrapper/sqlite3_api_wrapper.cpp @@ -11,13 +11,14 @@ #include "duckdb/main/client_context.hpp" #include "duckdb/common/types.hpp" #include "duckdb/common/operator/cast_operators.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb/main/error_manager.hpp" #include "utf8proc_wrapper.hpp" #include "duckdb/common/box_renderer.hpp" #ifdef SHELL_INLINE_AUTOCOMPLETE #include "autocomplete_extension.hpp" #endif +#include "shell_extension.hpp" #include #include @@ -103,6 +104,7 @@ int sqlite3_open_v2(const char *filename, /* Database filename (UTF-8) */ try { pDb = new sqlite3(); DBConfig config; + config.SetOptionByName("duckdb_api", "cli"); config.options.access_mode = AccessMode::AUTOMATIC; if (flags & SQLITE_OPEN_READONLY) { config.options.access_mode = AccessMode::READ_ONLY; @@ -110,6 +112,10 @@ int sqlite3_open_v2(const char *filename, /* Database filename (UTF-8) */ if (flags & DUCKDB_UNSIGNED_EXTENSIONS) { config.options.allow_unsigned_extensions = true; } + if (flags & DUCKDB_UNREDACTED_SECRETS) { + config.options.allow_unredacted_secrets = true; + } + config.error_manager->AddCustomError( ErrorType::UNSIGNED_EXTENSION, "Extension \"%s\" could not be loaded because its signature is either missing or invalid and unsigned " @@ -119,16 +125,17 @@ int sqlite3_open_v2(const char *filename, /* Database filename (UTF-8) */ #ifdef SHELL_INLINE_AUTOCOMPLETE pDb->db->LoadExtension(); #endif + pDb->db->LoadExtension(); pDb->con = make_uniq(*pDb->db); } catch (const Exception &ex) { if (pDb) { - pDb->last_error = PreservedError(ex); + pDb->last_error = ErrorData(ex); pDb->errCode = SQLITE_ERROR; } rc = SQLITE_ERROR; } catch (std::exception &ex) { if (pDb) { - pDb->last_error = PreservedError(ex); + pDb->last_error = ErrorData(ex); pDb->errCode = SQLITE_ERROR; } rc = SQLITE_ERROR; @@ -220,11 +227,9 @@ int sqlite3_prepare_v2(sqlite3 *db, /* Database handle */ *ppStmt = stmt.release(); return SQLITE_OK; - } catch (const Exception &ex) { - db->last_error = PreservedError(ex); - return SQLITE_ERROR; } catch (std::exception &ex) { - db->last_error = PreservedError(ex); + db->last_error = ErrorData(ex); + db->con->context->ProcessError(db->last_error, query); return SQLITE_ERROR; } } @@ -234,11 +239,11 @@ char *sqlite3_print_duckbox(sqlite3_stmt *pStmt, size_t max_rows, size_t max_wid return nullptr; } if (!pStmt->prepared) { - pStmt->db->last_error = PreservedError("Attempting sqlite3_step() on a non-successfully prepared statement"); + pStmt->db->last_error = ErrorData("Attempting sqlite3_step() on a non-successfully prepared statement"); return nullptr; } if (pStmt->result) { - pStmt->db->last_error = PreservedError("Statement has already been executed"); + pStmt->db->last_error = ErrorData("Statement has already been executed"); return nullptr; } pStmt->result = pStmt->prepared->Execute(pStmt->bound_values, false); @@ -285,7 +290,7 @@ int sqlite3_step(sqlite3_stmt *pStmt) { return SQLITE_MISUSE; } if (!pStmt->prepared) { - pStmt->db->last_error = PreservedError("Attempting sqlite3_step() on a non-successfully prepared statement"); + pStmt->db->last_error = ErrorData("Attempting sqlite3_step() on a non-successfully prepared statement"); return SQLITE_ERROR; } pStmt->current_text = nullptr; diff --git a/tools/sqlite3_api_wrapper/sqlite3_udf_api/include/udf_struct_sqlite3.h b/tools/sqlite3_api_wrapper/sqlite3_udf_api/include/udf_struct_sqlite3.h index ec792de70423..bfe15d355db6 100644 --- a/tools/sqlite3_api_wrapper/sqlite3_udf_api/include/udf_struct_sqlite3.h +++ b/tools/sqlite3_api_wrapper/sqlite3_udf_api/include/udf_struct_sqlite3.h @@ -3,7 +3,7 @@ #include "duckdb/common/types.hpp" #include "duckdb/common/types/string_type.hpp" #include "duckdb/common/types/string_heap.hpp" -#include "duckdb/common/preserved_error.hpp" +#include "duckdb/common/error_data.hpp" #include "duckdb.hpp" #include @@ -16,7 +16,7 @@ struct sqlite3 { duckdb::unique_ptr db; duckdb::unique_ptr con; - duckdb::PreservedError last_error; + duckdb::ErrorData last_error; int64_t last_changes = 0; int64_t total_changes = 0; int errCode; /* Most recent error code (SQLITE_*) */ diff --git a/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ContentView.swift b/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ContentView.swift index a9482f7e8519..2e4dc9739905 100644 --- a/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ContentView.swift +++ b/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ContentView.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ErrorView.swift b/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ErrorView.swift index ef9daec593b0..31dd7c498e47 100644 --- a/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ErrorView.swift +++ b/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ErrorView.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ExoplanetStore.swift b/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ExoplanetStore.swift index 714414a77a33..a60cc383b16e 100644 --- a/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ExoplanetStore.swift +++ b/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ExoplanetStore.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ExplorerApp.swift b/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ExplorerApp.swift index 28f1577ac401..bc2391becd77 100644 --- a/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ExplorerApp.swift +++ b/tools/swift/duckdb-swift/Examples/SwiftUI/ExoplanetExplorer/ExplorerApp.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/LICENSE b/tools/swift/duckdb-swift/LICENSE index d8cd6e6e8508..43eec6098cdb 100644 --- a/tools/swift/duckdb-swift/LICENSE +++ b/tools/swift/duckdb-swift/LICENSE @@ -1,4 +1,4 @@ -Copyright 2018-2023 Stichting DuckDB Foundation +Copyright 2018-2024 Stichting DuckDB Foundation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/tools/swift/duckdb-swift/README.md b/tools/swift/duckdb-swift/README.md index 594472ace84d..32cda63cd4b6 100644 --- a/tools/swift/duckdb-swift/README.md +++ b/tools/swift/duckdb-swift/README.md @@ -1,7 +1,7 @@
- +
-

 

+

@@ -27,18 +27,22 @@ DuckDB is a high-performance analytical database system. It is designed to be fa ## Installation To use DuckDB in your Swift based project: - 1. Add DuckDB to your `Swift.package` dependencies: - ```swift - .package(url: "https://github.com/duckdb/duckdb-swift", .upToNextMinor(from: .init(0, x, 0))), - ``` - 2. Add `DuckDB` as a dependency to your target: + +1. Add DuckDB to your `Swift.package` dependencies: + + ```swift + .package(url: "https://github.com/duckdb/duckdb-swift", .upToNextMinor(from: .init(0, x, 0))), + ``` + +2. Add `DuckDB` as a dependency to your target: + ```swift .target(name: "TargetName", dependencies: [ .product(name: "DuckDB", package: "duckdb-swift"), - ... + ... ]), ``` - + ## Source and file format stability DuckDB is in early release mode and API is subject to change between minor version updates. DuckDB's file format is also subject to change and – in the short-term – it is recommended to make use of [DuckDB's CSV import/export capabilities](https://duckdb.org/docs/csv_import.html) to ensure your data remains accessible between DuckDB version updates. @@ -64,4 +68,4 @@ Development is managed through [the main DuckDB repository](https://github.com/d ``` 4. Open the Xcode workspace at `tools/swift/duckdb-swift/DuckDB.xcworkspace` -Please also refer to our [Contribution Guide](https://github.com/duckdb/duckdb/CONTRIBUTING.md). +Please also refer to our [Contribution Guide](https://github.com/duckdb/duckdb/blob/main/CONTRIBUTING.md). diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Appender.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Appender.swift index d44851ff2348..c302580a0794 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Appender.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Appender.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -209,6 +209,20 @@ public extension Appender { guard let value = try unwrapValueOrAppendNull(value) else { return } try withThrowingCommand { duckdb_append_hugeint(ptr.pointee, .init(value)) } } + + /// Appends a value for the current row of the given type + /// + /// Appends are made in row-wise format. For every column, an `append(_:)` + /// call should be made, after which the row should be finished by calling + /// ``endRow()``. + /// + /// - Parameter value: the value to append + /// - Throws: ``DatabaseError/appenderFailedToAppendItem(reason:)`` + /// if a value of this type was not expected in the appender's current state + func append(_ value: UIntHuge?) throws { + guard let value = try unwrapValueOrAppendNull(value) else { return } + try withThrowingCommand { duckdb_append_uhugeint(ptr.pointee, .init(value)) } + } /// Appends a value for the current row of the given type /// diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/CodingUserInfoKeys.swift b/tools/swift/duckdb-swift/Sources/DuckDB/CodingUserInfoKeys.swift index 4fc308007be9..72e4748a3dd3 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/CodingUserInfoKeys.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/CodingUserInfoKeys.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Column.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Column.swift index 5058064d072e..ab537790eb87 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Column.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Column.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -205,6 +205,19 @@ public extension Column { return .init(result: result, columnIndex: columnIndex, itemAt: transformer) } + /// Casts the column to the given type + /// + /// A column cast always succeeds but if there is a type-mismatch between + /// the given type and the column's underlying database type, returned + /// elements will always be equal to `nil`. + /// + /// - Parameter type: the native Swift type to cast to + /// - Returns: a typed DuckDB result set ``Column`` + func cast(to type: UIntHuge.Type) -> Column { + let transformer = result.transformer(forColumn: columnIndex, to: type) + return .init(result: result, columnIndex: columnIndex, itemAt: transformer) + } + /// Casts the column to the given type /// /// A column cast always succeeds but if there is a type-mismatch between @@ -337,6 +350,19 @@ public extension Column { let transformer = result.transformer(forColumn: columnIndex, to: type) return .init(result: result, columnIndex: columnIndex, itemAt: transformer) } + + /// Casts the column to the given type + /// + /// A column cast always succeeds but if there is a type-mismatch between the + /// given type and the column's underlying database type, returned elements + /// will always be equal to `nil`. + /// + /// - Parameter type: the native Swift type to cast to + /// - Returns: a typed DuckDB result set ``Column`` + func cast(to type: TimeTz.Type) -> Column { + let transformer = result.transformer(forColumn: columnIndex, to: type) + return .init(result: result, columnIndex: columnIndex, itemAt: transformer) + } /// Casts the column to the given type /// diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Configuration.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Configuration.swift index dbe0aad85abc..4724ae351470 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Configuration.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Configuration.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Connection.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Connection.swift index 75a923f5f622..e5c3214917a7 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Connection.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Connection.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Database.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Database.swift index 542197315cd4..a2093de62dcd 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Database.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Database.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/DatabaseError.swift b/tools/swift/duckdb-swift/Sources/DuckDB/DatabaseError.swift index f943da4dccdc..5268b637113a 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/DatabaseError.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/DatabaseError.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/DatabaseType.swift b/tools/swift/duckdb-swift/Sources/DuckDB/DatabaseType.swift index 678aaf87b84c..f195b0a72dd6 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/DatabaseType.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/DatabaseType.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -58,6 +58,8 @@ public extension DatabaseType { static let bigint = DatabaseType(rawValue: DUCKDB_TYPE_BIGINT.rawValue) /// Integer type castable to `HugeInt` static let hugeint = DatabaseType(rawValue: DUCKDB_TYPE_HUGEINT.rawValue) + /// Integer type castable to `UHugeInt` + static let uhugeint = DatabaseType(rawValue: DUCKDB_TYPE_UHUGEINT.rawValue) /// Unsigned integer type castable to `UInt8` static let utinyint = DatabaseType(rawValue: DUCKDB_TYPE_UTINYINT.rawValue) /// Unsigned integer type castable to `UInt16` @@ -72,10 +74,14 @@ public extension DatabaseType { static let double = DatabaseType(rawValue: DUCKDB_TYPE_DOUBLE.rawValue) /// Timestamp type castable to `Timestamp` static let timestamp = DatabaseType(rawValue: DUCKDB_TYPE_TIMESTAMP.rawValue) + /// Timestamp(TZ) type castable to `Timestamp` + static let timestampTz = DatabaseType(rawValue: DUCKDB_TYPE_TIMESTAMP_TZ.rawValue) /// Date type castable to `Date` static let date = DatabaseType(rawValue: DUCKDB_TYPE_DATE.rawValue) /// Time type castable to `Time` static let time = DatabaseType(rawValue: DUCKDB_TYPE_TIME.rawValue) + /// Time(TZ) type castable to `Time` + static let timeTz = DatabaseType(rawValue: DUCKDB_TYPE_TIME_TZ.rawValue) /// Interval type castable to `Interval` static let interval = DatabaseType(rawValue: DUCKDB_TYPE_INTERVAL.rawValue) /// String type castable to `String` @@ -126,10 +132,13 @@ extension DatabaseType: CustomStringConvertible { case .float: return "\(Self.self).float" case .double: return "\(Self.self).double" case .timestamp: return "\(Self.self).timestamp" + case .timestampTz: return "\(Self.self).timestampTZ" case .date: return "\(Self.self).date" case .time: return "\(Self.self).time" + case .timeTz: return "\(Self.self).timeTZ" case .interval: return "\(Self.self).interval" case .hugeint: return "\(Self.self).hugeint" + case .uhugeint: return "\(Self.self).uhugeint" case .varchar: return "\(Self.self).varchar" case .blob: return "\(Self.self).blob" case .decimal: return "\(Self.self).decimal" diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Column+TabularData.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Column+TabularData.swift index 986d41b5f17a..d09c5baf04dc 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Column+TabularData.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Column+TabularData.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Date+Foundation.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Date+Foundation.swift index f21a58d32d4d..44d4df99a764 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Date+Foundation.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Date+Foundation.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Decimal+IntHuge.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Decimal+IntHuge.swift index 611cd2ec691c..6fa9e7a52daa 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Decimal+IntHuge.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Decimal+IntHuge.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Time+Foundation.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Time+Foundation.swift index ae53fe945621..bd06468254c2 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Time+Foundation.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Time+Foundation.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Timestamp+Foundation.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Timestamp+Foundation.swift index f7a6a8297371..b35e020faddb 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Timestamp+Foundation.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Extensions/Timestamp+Foundation.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/CTypeUtilities.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/CTypeUtilities.swift index 3f55b5b3112f..1a7eb3d90984 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/CTypeUtilities.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/CTypeUtilities.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -113,6 +113,17 @@ extension duckdb_hugeint { } } +// MARK: - Unsigned Huge Int + +extension duckdb_uhugeint { + + init(_ source: UIntHuge) { + self = duckdb_uhugeint(lower: source.low, upper: source.high) + } + + var asUIntHuge: UIntHuge { .init(high: upper, low: lower) } +} + // MARK: - Time extension duckdb_time { @@ -136,6 +147,13 @@ extension duckdb_time_struct { } } +extension duckdb_time_tz { + var asTime: TimeTz { + let res = duckdb_from_time_tz(self) + return TimeTz(time: Time(microseconds: res.time.micros), offset: res.offset) + } +} + // MARK: - Date extension duckdb_date { diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/DataChunk.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/DataChunk.swift index 35445b07ab9a..7a10db472d90 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/DataChunk.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/DataChunk.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/DecimalStorageType.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/DecimalStorageType.swift index 2d4e3e5e9968..06c3227cd2e6 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/DecimalStorageType.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/DecimalStorageType.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/Optional+CString.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/Optional+CString.swift index dfb3b299cb9b..e8235aa7baa1 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/Optional+CString.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/Optional+CString.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/PrimitiveDatabaseValue.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/PrimitiveDatabaseValue.swift index fadecb93d7c8..cb3329868ef0 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/PrimitiveDatabaseValue.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/PrimitiveDatabaseValue.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/Vector.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/Vector.swift index 09f289c5805f..a8f050adfff3 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/Vector.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/Vector.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -105,6 +105,11 @@ private extension Vector { return unsafelyUnwrapElement(as: duckdb_hugeint.self, at: index) { $0.asIntHuge } } + func unwrap(_ type: UIntHuge.Type, at index: Int) throws -> UIntHuge { + try assertNonNullTypeMatch(of: type, at: index, withColumnType: .uhugeint) + return unsafelyUnwrapElement(as: duckdb_uhugeint.self, at: index) { $0.asUIntHuge } + } + func unwrap(_ type: UUID.Type, at index: Int) throws -> UUID { try assertNonNullTypeMatch(of: type, at: index, withColumnType: .uuid) return unsafelyUnwrapElement(as: duckdb_hugeint.self, at: index) { $0.asUUID } @@ -115,6 +120,11 @@ private extension Vector { return unsafelyUnwrapElement(as: duckdb_time.self, at: index) { $0.asTime } } + func unwrap(_ type: TimeTz.Type, at index: Int) throws -> TimeTz { + try assertNonNullTypeMatch(of: type, at: index, withColumnType: .timeTz) + return unsafelyUnwrapElement(as: duckdb_time_tz.self, at: index) { $0.asTime } + } + func unwrap(_ type: Date.Type, at index: Int) throws -> Date { try assertNonNullTypeMatch(of: type, at: index, withColumnType: .date) return unsafelyUnwrapElement(as: duckdb_date.self, at: index) { $0.asDate } @@ -126,7 +136,7 @@ private extension Vector { } func unwrap(_ type: Timestamp.Type, at index: Int) throws -> Timestamp { - let columnTypes = [DatabaseType.timestampS, .timestampMS, .timestamp, .timestampNS] + let columnTypes = [DatabaseType.timestampS, .timestampMS, .timestamp, .timestampTz, .timestampNS] try assertNonNullTypeMatch(of: type, at: index, withColumnTypes: .init(columnTypes)) return unsafelyUnwrapElement(as: duckdb_timestamp.self, at: index) { ctimestamp in switch logicalType.dataType { @@ -264,6 +274,7 @@ extension Vector.Element { func unwrap(_ type: T.Type) throws -> T { try vector.unwrap(type, at: index) } func unwrap(_ type: String.Type) throws -> String { try vector.unwrap(type, at: index) } func unwrap(_ type: IntHuge.Type) throws -> IntHuge { try vector.unwrap(type, at: index) } + func unwrap(_ type: UIntHuge.Type) throws -> UIntHuge { try vector.unwrap(type, at: index) } func unwrap(_ type: UUID.Type) throws -> UUID { try vector.unwrap(type, at: index) } func unwrap(_ type: Time.Type) throws -> Time { try vector.unwrap(type, at: index) } func unwrap(_ type: Date.Type) throws -> Date { try vector.unwrap(type, at: index) } @@ -271,6 +282,7 @@ extension Vector.Element { func unwrap(_ type: Timestamp.Type) throws -> Timestamp { try vector.unwrap(type, at: index) } func unwrap(_ type: Data.Type) throws -> Data { try vector.unwrap(type, at: index) } func unwrap(_ type: Decimal.Type) throws -> Decimal { try vector.unwrap(type, at: index) } + func unwrap(_ type: TimeTz.Type) throws -> TimeTz { try vector.unwrap(type, at: index) } } // MARK: - Map Contents accessors diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/VectorElementDecoder.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/VectorElementDecoder.swift index 02e71ae27fc3..3fcc63c3608c 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Internal/VectorElementDecoder.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Internal/VectorElementDecoder.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -184,6 +184,10 @@ extension VectorElementDataDecoder { func decode(_ type: IntHuge.Type) throws -> IntHuge { try attemptDecode { try element.unwrap(type) } } + + func decode(_ type: UIntHuge.Type) throws -> UIntHuge { + try attemptDecode { try element.unwrap(type) } + } func decode(_ type: Decimal.Type) throws -> Decimal { try attemptDecode { try element.unwrap(type) } @@ -205,6 +209,10 @@ extension VectorElementDataDecoder { try attemptDecode { try element.unwrap(type) } } + func decode(_ type: TimeTz.Type) throws -> TimeTz { + try attemptDecode { try element.unwrap(type) } + } + func decode(_ type: Timestamp.Type) throws -> Timestamp { try attemptDecode { try element.unwrap(type) } } @@ -219,6 +227,8 @@ extension VectorElementDataDecoder { switch type { case is IntHuge.Type: return try decode(IntHuge.self) as! T + case is UIntHuge.Type: + return try decode(UIntHuge.self) as! T case is Decimal.Type: return try decode(Decimal.self) as! T case is Data.Type: @@ -233,6 +243,8 @@ extension VectorElementDataDecoder { return try decode(Timestamp.self) as! T case is Interval.Type: return try decode(Interval.self) as! T + case is TimeTz.Type: + return try decode(TimeTz.self) as! T default: return try T(from: decoder) } diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/LogicalType.swift b/tools/swift/duckdb-swift/Sources/DuckDB/LogicalType.swift index 9357bd8132d2..5cba8f305f5f 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/LogicalType.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/LogicalType.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/PreparedStatement.swift b/tools/swift/duckdb-swift/Sources/DuckDB/PreparedStatement.swift index e178a57194d6..aa4f9418b7dd 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/PreparedStatement.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/PreparedStatement.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -204,6 +204,21 @@ public extension PreparedStatement { guard let value = try unwrapValueOrBindNull(value, at: index) else { return } try withThrowingCommand { duckdb_bind_hugeint(ptr.pointee, .init(index), .init(value)) } } + + /// Binds a value of the given type at the specified parameter index + /// + /// Sets the value that will be used for the next call to ``execute()``. + /// + /// - Important: Prepared statement parameters use one-based indexing + /// - Parameter value: the value to bind + /// - Parameter index: the one-based parameter index + /// - Throws: ``DatabaseError/preparedStatementFailedToBindParameter(reason:)`` + /// if there is a type-mismatch between the value being bound and the + /// underlying column type + func bind(_ value: UIntHuge?, at index: Int) throws { + guard let value = try unwrapValueOrBindNull(value, at: index) else { return } + try withThrowingCommand { duckdb_bind_uhugeint(ptr.pointee, .init(index), .init(value)) } + } /// Binds a value of the given type at the specified parameter index /// diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/ResultSet.swift b/tools/swift/duckdb-swift/Sources/DuckDB/ResultSet.swift index d0934f559773..d00aa0f2ff36 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/ResultSet.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/ResultSet.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -165,6 +165,12 @@ extension ResultSet { ) -> @Sendable (DBInt) -> IntHuge? { transformer(forColumn: columnIndex, to: type, fromType: .hugeint) { try? $0.unwrap(type) } } + + func transformer( + forColumn columnIndex: DBInt, to type: UIntHuge.Type + ) -> @Sendable (DBInt) -> UIntHuge? { + transformer(forColumn: columnIndex, to: type, fromType: .uhugeint) { try? $0.unwrap(type) } + } func transformer( forColumn columnIndex: DBInt, to type: String.Type @@ -183,6 +189,12 @@ extension ResultSet { ) -> @Sendable (DBInt) -> Time? { transformer(forColumn: columnIndex, to: type, fromType: .time) { try? $0.unwrap(type) } } + + func transformer( + forColumn columnIndex: DBInt, to type: TimeTz.Type + ) -> @Sendable (DBInt) -> TimeTz? { + transformer(forColumn: columnIndex, to: type, fromType: .timeTz) { try? $0.unwrap(type) } + } func transformer( forColumn columnIndex: DBInt, to type: Date.Type @@ -193,7 +205,7 @@ extension ResultSet { func transformer( forColumn columnIndex: DBInt, to type: Timestamp.Type ) -> @Sendable (DBInt) -> Timestamp? { - let columnTypes = [DatabaseType.timestampS, .timestampMS, .timestamp, .timestampNS] + let columnTypes = [DatabaseType.timestampS, .timestampMS, .timestamp, .timestampTz, .timestampNS] return transformer( forColumn: columnIndex, to: type, fromTypes: .init(columnTypes) ) { try? $0.unwrap(type) } diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Types/Date.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Types/Date.swift index f76a5b8fc5ef..0a69329bacb4 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Types/Date.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Types/Date.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Types/Interval.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Types/Interval.swift index 8c5cb0cd8192..b14239815daf 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Types/Interval.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Types/Interval.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Types/Time.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Types/Time.swift index d87dc6ff0c7d..5cafa5a8d76d 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Types/Time.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Types/Time.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -69,3 +69,8 @@ private extension Time.Components { self = ctimestruct.asTimeComponents } } + +public struct TimeTz: Hashable, Equatable, Sendable { + public var time: Time + public var offset: Int32 +} diff --git a/tools/swift/duckdb-swift/Sources/DuckDB/Types/Timestamp.swift b/tools/swift/duckdb-swift/Sources/DuckDB/Types/Timestamp.swift index 3b700a5e6285..dd49976af526 100644 --- a/tools/swift/duckdb-swift/Sources/DuckDB/Types/Timestamp.swift +++ b/tools/swift/duckdb-swift/Sources/DuckDB/Types/Timestamp.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Tests/DuckDBTests/AppenderTests.swift b/tools/swift/duckdb-swift/Tests/DuckDBTests/AppenderTests.swift index 045536b6193e..1b8467bf6239 100644 --- a/tools/swift/duckdb-swift/Tests/DuckDBTests/AppenderTests.swift +++ b/tools/swift/duckdb-swift/Tests/DuckDBTests/AppenderTests.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -118,6 +118,15 @@ final class AppenderTests: XCTestCase { cast: { $0.cast(to: IntHuge.self) } ) } + + func test_uhugeint_round_trip() throws { + try roundTripTest( + dataType: "UHUGEINT", + expected: [UIntHuge.min, .max, nil], + append: { appender, item in try appender.append(item) }, + cast: { $0.cast(to: UIntHuge.self) } + ) + } func test_float_round_trip() throws { try roundTripTest( diff --git a/tools/swift/duckdb-swift/Tests/DuckDBTests/CodingUserInfoKeysTests.swift b/tools/swift/duckdb-swift/Tests/DuckDBTests/CodingUserInfoKeysTests.swift index dfd260fc9d87..cc05d79e4d0f 100644 --- a/tools/swift/duckdb-swift/Tests/DuckDBTests/CodingUserInfoKeysTests.swift +++ b/tools/swift/duckdb-swift/Tests/DuckDBTests/CodingUserInfoKeysTests.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Tests/DuckDBTests/DatabaseTests.swift b/tools/swift/duckdb-swift/Tests/DuckDBTests/DatabaseTests.swift index 5437899005bc..a845c419dce0 100644 --- a/tools/swift/duckdb-swift/Tests/DuckDBTests/DatabaseTests.swift +++ b/tools/swift/duckdb-swift/Tests/DuckDBTests/DatabaseTests.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Tests/DuckDBTests/DecimalUtilityTests.swift b/tools/swift/duckdb-swift/Tests/DuckDBTests/DecimalUtilityTests.swift index 467e06284a0e..a57f23a3732d 100644 --- a/tools/swift/duckdb-swift/Tests/DuckDBTests/DecimalUtilityTests.swift +++ b/tools/swift/duckdb-swift/Tests/DuckDBTests/DecimalUtilityTests.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Tests/DuckDBTests/ExtensionTests.swift b/tools/swift/duckdb-swift/Tests/DuckDBTests/ExtensionTests.swift index 2a9cceaee7bf..9080b9e21503 100644 --- a/tools/swift/duckdb-swift/Tests/DuckDBTests/ExtensionTests.swift +++ b/tools/swift/duckdb-swift/Tests/DuckDBTests/ExtensionTests.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to diff --git a/tools/swift/duckdb-swift/Tests/DuckDBTests/LogicalTypeTests.swift b/tools/swift/duckdb-swift/Tests/DuckDBTests/LogicalTypeTests.swift index b2039ecf0f13..b25fb421124f 100644 --- a/tools/swift/duckdb-swift/Tests/DuckDBTests/LogicalTypeTests.swift +++ b/tools/swift/duckdb-swift/Tests/DuckDBTests/LogicalTypeTests.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -94,6 +94,17 @@ final class LogicalTypeTests: XCTestCase { ) } + func test_uhugeint() throws { + try logicalTypeTest( + dataType: "UHUGEINT", + cast: { $0.cast(to: UIntHuge.self) }, + validate: { + XCTAssertEqual($0.dataType, .uhugeint) + XCTAssertEqual($0.underlyingDataType, .uhugeint) + } + ) + } + func test_utinyint() throws { try logicalTypeTest( dataType: "UTINYINT", diff --git a/tools/swift/duckdb-swift/Tests/DuckDBTests/PreparedStatementTests.swift b/tools/swift/duckdb-swift/Tests/DuckDBTests/PreparedStatementTests.swift index f25746726c33..51e9583e531e 100644 --- a/tools/swift/duckdb-swift/Tests/DuckDBTests/PreparedStatementTests.swift +++ b/tools/swift/duckdb-swift/Tests/DuckDBTests/PreparedStatementTests.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -119,6 +119,15 @@ final class PreparedStatementTests: XCTestCase { ) } + func test_uhugeint_round_trip() throws { + try roundTripTest( + dataType: "UHUGEINT", + expected: [UIntHuge.min, .max, nil], + bind: { statement, item in try statement.bind(item, at: 1) }, + cast: { $0.cast(to: UIntHuge.self) } + ) + } + func test_float_round_trip() throws { try roundTripTest( dataType: "FLOAT", diff --git a/tools/swift/duckdb-swift/Tests/DuckDBTests/TypeConversionTests.swift b/tools/swift/duckdb-swift/Tests/DuckDBTests/TypeConversionTests.swift index 05601486c745..652855eaa2fa 100644 --- a/tools/swift/duckdb-swift/Tests/DuckDBTests/TypeConversionTests.swift +++ b/tools/swift/duckdb-swift/Tests/DuckDBTests/TypeConversionTests.swift @@ -2,7 +2,7 @@ // DuckDB // https://github.com/duckdb/duckdb-swift // -// Copyright © 2018-2023 Stichting DuckDB Foundation +// Copyright © 2018-2024 Stichting DuckDB Foundation // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to @@ -75,10 +75,15 @@ final class TypeConversionTests: XCTestCase { } func test_extract_from_hugeint() throws { - let expected = [IntHuge.min + 1, IntHuge.max, nil] + let expected = [IntHuge.min, IntHuge.max, nil] try extractTest(testColumnName: "hugeint", expected: expected) { $0.cast(to: IntHuge.self) } } + func test_extract_from_uhugeint() throws { + let expected = [UIntHuge.min, UIntHuge.max, nil] + try extractTest(testColumnName: "uhugeint", expected: expected) { $0.cast(to: UIntHuge.self) } + } + func test_extract_from_float() throws { let expected = [-Float.greatestFiniteMagnitude, .greatestFiniteMagnitude, nil] try extractTest(testColumnName: "float", expected: expected) { $0.cast(to: Float.self) } @@ -96,7 +101,7 @@ final class TypeConversionTests: XCTestCase { func test_extract_from_uuid() throws { let expected = [ - UUID(uuidString: "00000000-0000-0000-0000-000000000001"), + UUID(uuidString: "00000000-0000-0000-0000-000000000000"), UUID(uuidString: "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"), nil ] @@ -106,22 +111,21 @@ final class TypeConversionTests: XCTestCase { func test_extract_from_time() throws { let expected = [ Time(components: .init(hour: 0, minute: 0, second: 0, microsecond: 0)), - Time(components: .init(hour: 23, minute: 59, second: 59, microsecond: 999_999)), + Time(components: .init(hour: 24, minute: 0, second: 0, microsecond: 0)), nil ] try extractTest(testColumnName: "time", expected: expected) { $0.cast(to: Time.self) } } -/* - FIXME: TIMETZ <> TIME + func test_extract_from_time_tz() throws { let expected = [ - Time(components: .init(hour: 0, minute: 0, second: 0, microsecond: 0)), - Time(components: .init(hour: 23, minute: 59, second: 59, microsecond: 999_999)), + TimeTz(time: Time(components: .init(hour: 0, minute: 0, second: 0, microsecond: 0)), offset: 57599), + TimeTz(time: Time(components: .init(hour: 24, minute: 0, second: 0, microsecond: 0)), offset: -57599), nil ] - try extractTest(testColumnName: "time_tz", expected: expected) { $0.cast(to: Time.self) } + try extractTest(testColumnName: "time_tz", expected: expected) { $0.cast(to: TimeTz.self) } } -*/ + func test_extract_from_date() throws { let expected = [ Date(components: .init(year: -5_877_641, month: 06, day: 25)), diff --git a/tools/utils/test_platform.cpp b/tools/utils/test_platform.cpp new file mode 100644 index 000000000000..af524785d949 --- /dev/null +++ b/tools/utils/test_platform.cpp @@ -0,0 +1,7 @@ +#include "duckdb/common/platform.h" +#include + +int main() { + std::cout << duckdb::DuckDBPlatform() << "\n"; + return 0; +}